diff --git a/.gitignore b/.gitignore index 9f10eb5b13..81813f5b8a 100644 --- a/.gitignore +++ b/.gitignore @@ -15,8 +15,8 @@ *.latfont *.hwjpnfont *.fwjpnfont -src/*.s -tools/* +sound/**/*.bin +tools/agbcc *.map *.ld *.bat diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..dda07ebb4d --- /dev/null +++ b/.travis.yml @@ -0,0 +1,28 @@ +language: generic +dist: trusty +sudo: false +env: + global: + - DEVKITARM=$HOME/devkitARM +addons: + apt: + packages: + - gcc-multilib + - linux-libc-dev +cache: + apt: true +install: + - pushd $HOME + - travis_retry wget http://download.sourceforge.net/devkitpro/devkitARM_r46-x86_64-linux.tar.bz2 + - tar xf devkitARM*.tar.bz2 + - travis_retry git clone https://github.com/pret/agbcc.git + - cd agbcc && ./build.sh && ./install.sh $TRAVIS_BUILD_DIR + - popd + +matrix: + include: + - os: linux + env: _="Build" + script: + - ./build_tools.sh + - make -j2 compare diff --git a/INSTALL.md b/INSTALL.md index 64c35d5edd..cd8f4b185b 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,13 +1,28 @@ -First, you must put a Pokémon Emerald (US) ROM in the root directory of the repository and name it `baserom.gba`. It should have a SHA1 checksum of `f3ae088181bf583e55daf962a92bb46f4f1d07b7`. Then, follow the OS-specific instructions below. +Follow the OS-specific instructions below. # Linux -TBD +Install [**devkitARM**](http://devkitpro.org/wiki/Getting_Started/devkitARM). + +Make sure that there is an environment variable called DEVKITARM with the path of the directory before the "bin" directory containing "arm-none-eabi-as", "arm-none-eabi-cpp", "arm-none-eabi-ld" and "arm-none-eabi-objcopy". + +Then get the compiler from https://github.com/pret/agbcc and run the following commands. + + ./build.sh + ./install.sh PATH_OF_POKEEMERALD_DIRECTORY + +Then in the pokeemerald directory, build the tools. + + ./build_tools.sh + +Finally, build the rom. + + make # Windows Install [**devkitARM**](http://devkitpro.org/wiki/Getting_Started/devkitARM). -Then get the compiled tools from https://github.com/YamaArashi/pokeruby-tools. Copy the "tools" folder over the "tools" folder in your pokeemerald directory. +Then get the compiled tools from https://github.com/pret/pokeruby-tools. Copy the `tools/` folder over the `tools/` folder in your pokeemerald directory. -You can then build pokeemerald using "make" in the MSYS environment provided with devkitARM. +You can then build pokeemerald using `make` in the MSYS environment provided with devkitARM. diff --git a/Makefile b/Makefile index 9dfc1dbeef..3062f50b7c 100644 --- a/Makefile +++ b/Makefile @@ -9,10 +9,12 @@ MAP = $(ROM:.gba=.map) C_SUBDIR = src ASM_SUBDIR = asm DATA_ASM_SUBDIR = data +SONG_SUBDIR = sound/songs C_BUILDDIR = $(OBJ_DIR)/$(C_SUBDIR) ASM_BUILDDIR = $(OBJ_DIR)/$(ASM_SUBDIR) DATA_ASM_BUILDDIR = $(OBJ_DIR)/$(DATA_ASM_SUBDIR) +SONG_BUILDDIR = $(OBJ_DIR)/$(SONG_SUBDIR) AS := $(DEVKITARM)/bin/arm-none-eabi-as ASFLAGS := -mcpu=arm7tdmi @@ -28,7 +30,11 @@ LDFLAGS = -Map ../../$(MAP) OBJCOPY := $(DEVKITARM)/bin/arm-none-eabi-objcopy -LIBGCC := tools/agbcc/lib/libgcc.a +ifeq ($(OS),Windows_NT) + LIB := ../../tools/agbcc/lib/libgcc.a ../../tools/agbcc/lib/libc.a +else + LIB := -L ../../tools/agbcc/lib -lgcc -lc +endif SHA1 := sha1sum -c @@ -39,17 +45,19 @@ SCANINC := tools/scaninc/scaninc PREPROC := tools/preproc/preproc RAMSCRGEN := tools/ramscrgen/ramscrgen -# Clear the default suffixes. +# Clear the default suffixes .SUFFIXES: +# Don't delete intermediate files +.SECONDARY: +# Delete files that weren't built properly +.DELETE_ON_ERROR: # Secondary expansion is required for dependency variables in object rules. .SECONDEXPANSION: -.PRECIOUS: %.1bpp %.4bpp %.8bpp %.gbapal %.lz %.rl - .PHONY: rom clean compare tidy -$(shell mkdir -p $(C_BUILDDIR) $(ASM_BUILDDIR) $(DATA_ASM_BUILDDIR)) +$(shell mkdir -p $(C_BUILDDIR) $(ASM_BUILDDIR) $(DATA_ASM_BUILDDIR) $(SONG_BUILDDIR)) C_SRCS := $(wildcard $(C_SUBDIR)/*.c) C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS)) @@ -60,7 +68,10 @@ ASM_OBJS := $(patsubst $(ASM_SUBDIR)/%.s,$(ASM_BUILDDIR)/%.o,$(ASM_SRCS)) DATA_ASM_SRCS := $(wildcard $(DATA_ASM_SUBDIR)/*.s) DATA_ASM_OBJS := $(patsubst $(DATA_ASM_SUBDIR)/%.s,$(DATA_ASM_BUILDDIR)/%.o,$(DATA_ASM_SRCS)) -OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) +SONG_SRCS := $(wildcard $(SONG_SUBDIR)/*.s) +SONG_OBJS := $(patsubst $(SONG_SUBDIR)/%.s,$(SONG_BUILDDIR)/%.o,$(SONG_SRCS)) + +OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS)) rom: $(ROM) @@ -70,6 +81,8 @@ compare: $(ROM) @$(SHA1) rom.sha1 clean: tidy + rm -f sound/direct_sound_samples/*.bin + rm -f $(SONG_OBJS) find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} + tidy: @@ -79,15 +92,21 @@ tidy: include graphics_file_rules.mk %.s: ; -%.bin: ; %.png: ; %.pal: ; +%.aif: ; + %.1bpp: %.png ; $(GFX) $< $@ %.4bpp: %.png ; $(GFX) $< $@ %.8bpp: %.png ; $(GFX) $< $@ %.gbapal: %.pal ; $(GFX) $< $@ +%.gbapal: %.png ; $(GFX) $< $@ %.lz: % ; $(GFX) $< $@ %.rl: % ; $(GFX) $< $@ +sound/direct_sound_samples/cry_%.bin: sound/direct_sound_samples/cry_%.aif ; $(AIF) $< $@ --compress +%.bin: %.aif ; $(AIF) $< $@ +sound/songs/%.s: sound/songs/%.mid + cd $(@D) && ../../$(MID) $( $@ @@ -143,10 +165,11 @@ $(OBJ_DIR)/sym_ewram.ld: sym_ewram.txt $(RAMSCRGEN) ewram_data $< ENGLISH > $@ $(OBJ_DIR)/ld_script.ld: ld_script.txt $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_common.ld $(OBJ_DIR)/sym_ewram.ld - cd $(OBJ_DIR) && sed -f ../../ld_script.sed ../../$< | sed "s#tools/#../../tools/#g" | sed "s#sound/#../../sound/#g" > ld_script.ld + cd $(OBJ_DIR) && sed -f ../../ld_script.sed ../../$< | sed "s#tools/#../../tools/#g" > ld_script.ld $(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS) - cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(OBJS_REL) ../../$(LIBGCC) + cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(OBJS_REL) $(LIB) $(ROM): $(ELF) $(OBJCOPY) -O binary --gap-fill 0xFF --pad-to 0x9000000 $< $@ + diff --git a/README.md b/README.md index 814ed48339..3ea6c26efc 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,38 @@ # Pokémon Emerald +[![Build Status][travis-badge]][travis] + This is a disassembly of Pokémon Emerald. It builds the following rom: * pokeemerald.gba `sha1: f3ae088181bf583e55daf962a92bb46f4f1d07b7` -To set up the repository, see [**INSTALL.md**](INSTALL.md). +To set up the repository, see [INSTALL.md](INSTALL.md). ## See also * Disassembly of [**Pokémon Red/Blue**][pokered] * Disassembly of [**Pokémon Yellow**][pokeyellow] +* Disassembly of [**Pokémon Gold**][pokegold] * Disassembly of [**Pokémon Crystal**][pokecrystal] * Disassembly of [**Pokémon Pinball**][pokepinball] * Disassembly of [**Pokémon TCG**][poketcg] * Disassembly of [**Pokémon Ruby**][pokeruby] +* Disassembly of [**Pokémon Fire Red**][pokefirered] * Discord: [**pret**][Discord] * irc: **irc.freenode.net** [**#pret**][irc] [pokered]: https://github.com/pret/pokered [pokeyellow]: https://github.com/pret/pokeyellow +[pokegold]: https://github.com/pret/pokegold [pokecrystal]: https://github.com/pret/pokecrystal [pokepinball]: https://github.com/pret/pokepinball [poketcg]: https://github.com/pret/poketcg [pokeruby]: https://github.com/pret/pokeruby +[pokefirered]: https://github.com/pret/pokefirered [Discord]: https://discord.gg/cJxDDVP [irc]: https://kiwiirc.com/client/irc.freenode.net/?#pret +[travis]: https://travis-ci.org/pret/pokeemerald +[travis-badge]: https://travis-ci.org/pret/pokeemerald.svg?branch=master diff --git a/asm/battle_1.s b/asm/battle_1.s deleted file mode 100644 index 9665b0d11b..0000000000 --- a/asm/battle_1.s +++ /dev/null @@ -1,3065 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8034C54 -sub_8034C54: @ 8034C54 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r5, =gUnknown_02022E10 - ldr r0, [r5] - cmp r0, 0 - beq _08034C64 - bl sub_8034CC8 -_08034C64: - movs r0, 0x8 - bl Alloc - str r0, [r5] - cmp r0, 0 - bne _08034C78 - movs r0, 0 - b _08034CC0 - .pool -_08034C78: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - bl Alloc - ldr r1, [r5] - str r0, [r1, 0x4] - cmp r0, 0 - bne _08034C94 - adds r0, r1, 0 - bl Free - movs r0, 0 - b _08034CC0 -_08034C94: - str r4, [r1] - movs r3, 0 - cmp r3, r4 - bcs _08034CBE - movs r7, 0 - movs r6, 0xFF - movs r2, 0 -_08034CA2: - ldr r0, [r5] - ldr r0, [r0, 0x4] - adds r0, r2, r0 - strb r7, [r0] - ldr r0, [r5] - ldr r1, [r0, 0x4] - adds r1, r2, r1 - ldrb r0, [r1, 0x1] - orrs r0, r6 - strb r0, [r1, 0x1] - adds r2, 0x1C - adds r3, 0x1 - cmp r3, r4 - bcc _08034CA2 -_08034CBE: - movs r0, 0x1 -_08034CC0: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8034C54 - - thumb_func_start sub_8034CC8 -sub_8034CC8: @ 8034CC8 - push {r4,r5,lr} - ldr r2, =gUnknown_02022E10 - ldr r1, [r2] - cmp r1, 0 - beq _08034D08 - ldr r0, [r1, 0x4] - cmp r0, 0 - beq _08034CFC - movs r4, 0 - ldr r0, [r1] - cmp r4, r0 - bcs _08034CF2 - adds r5, r2, 0 -_08034CE2: - adds r0, r4, 0 - bl sub_80353DC - adds r4, 0x1 - ldr r0, [r5] - ldr r0, [r0] - cmp r4, r0 - bcc _08034CE2 -_08034CF2: - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl Free -_08034CFC: - ldr r4, =gUnknown_02022E10 - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] -_08034D08: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8034CC8 - - thumb_func_start sub_8034D14 -sub_8034D14: @ 8034D14 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r8, r0 - mov r10, r1 - adds r5, r2, 0 - ldr r6, =gUnknown_02022E10 - ldr r0, [r6] - cmp r0, 0 - beq _08034DD4 - ldr r1, [r0, 0x4] - mov r0, r8 - lsls r2, r0, 3 - subs r0, r2, r0 - lsls r4, r0, 2 - adds r1, r4, r1 - ldrb r0, [r1] - mov r9, r2 - cmp r0, 0 - bne _08034DD4 - ldrb r0, [r5, 0x1] - bl sub_8035518 - ldr r1, [r6] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - strb r0, [r1, 0x1] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - ldrb r0, [r0, 0x1] - cmp r0, 0xFF - beq _08034DD4 - ldr r0, [r5, 0x8] - ldrh r0, [r0, 0x6] - bl GetSpriteTileStartByTag - ldr r2, [r6] - ldr r1, [r2, 0x4] - adds r1, r4, r1 - strh r0, [r1, 0xA] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldrh r1, [r0, 0xA] - ldr r7, =0xffff0000 - lsrs r0, r7, 16 - cmp r1, r0 - bne _08034DE0 - ldr r2, [r5, 0x8] - ldrh r0, [r2, 0x4] - adds r1, r2, 0 - cmp r0, 0 - beq _08034D94 - adds r0, r1, 0 - bl LoadSpriteSheet - b _08034DB4 - .pool -_08034D94: - ldr r0, [r2] - ldr r1, [r2, 0x4] - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, [r2] - bl sub_8034974 - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp, 0x4] - ands r1, r7 - orrs r1, r0 - str r1, [sp, 0x4] - mov r0, sp - bl LoadCompressedObjectPic -_08034DB4: - ldr r1, [r6] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - strh r0, [r1, 0xA] - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r1, [r0, 0x4] - mov r2, r9 - mov r3, r8 - subs r0, r2, r3 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0xA] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _08034DE0 -_08034DD4: - movs r0, 0 - b _08034EE8 - .pool -_08034DE0: - ldr r0, [r5, 0xC] - ldrh r0, [r0, 0x4] - bl IndexOfSpritePaletteTag - ldr r6, =gUnknown_02022E10 - ldr r1, [r6] - ldr r1, [r1, 0x4] - mov r4, r9 - mov r3, r8 - subs r2, r4, r3 - lsls r4, r2, 2 - adds r1, r4, r1 - strb r0, [r1, 0x4] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - ldrb r0, [r0, 0x4] - cmp r0, 0xFF - bne _08034E14 - ldr r0, [r5, 0xC] - bl LoadSpritePalette - ldr r1, [r6] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - strb r0, [r1, 0x4] -_08034E14: - ldr r0, [r6] - ldr r1, [r0, 0x4] - adds r1, r4, r1 - ldrb r0, [r5] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r1, 0x2] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - ldrb r1, [r5, 0x1] - strb r1, [r0, 0x3] - ldr r2, [r6] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldrh r1, [r5, 0x4] - strh r1, [r0, 0xC] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldrh r1, [r5, 0x6] - strh r1, [r0, 0xE] - ldr r1, [r2, 0x4] - adds r1, r4, r1 - ldrb r0, [r5] - lsls r0, 28 - lsrs r0, 30 - strb r0, [r1, 0x6] - ldr r0, [r6] - ldr r1, [r0, 0x4] - adds r1, r4, r1 - ldrb r0, [r5] - lsls r0, 26 - lsrs r0, 30 - strb r0, [r1, 0x5] - ldr r0, [r6] - ldr r1, [r0, 0x4] - adds r1, r4, r1 - ldrb r0, [r5] - lsrs r0, 6 - strb r0, [r1, 0x7] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - ldrb r1, [r5, 0x2] - strb r1, [r0, 0x8] - ldrb r1, [r5] - lsls r0, r1, 28 - lsrs r0, 30 - lsls r1, 26 - lsrs r1, 30 - bl sub_80355F8 - ldr r1, [r6] - ldr r1, [r1, 0x4] - adds r1, r4, r1 - strb r0, [r1, 0x9] - ldr r2, [r6] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldr r1, [r5, 0x8] - ldrh r1, [r1, 0x6] - strh r1, [r0, 0x10] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - ldr r1, [r5, 0xC] - ldrh r1, [r1, 0x4] - strh r1, [r0, 0x12] - ldr r0, [r2, 0x4] - adds r0, r4, r0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r0, r4, r0 - str r1, [r0, 0x14] - movs r3, 0x1 - ldrb r0, [r5, 0x1] - cmp r3, r0 - bcs _08034ECA -_08034EB2: - ldr r0, [r6] - ldr r2, [r0, 0x4] - adds r2, r4, r2 - ldr r1, [r2, 0x14] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - str r0, [r2, 0x14] - adds r3, 0x1 - ldrb r2, [r5, 0x1] - cmp r3, r2 - bcc _08034EB2 -_08034ECA: - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - mov r3, r9 - mov r4, r8 - subs r1, r3, r4 - lsls r1, 2 - ldr r0, [r0, 0x4] - adds r0, r1 - bl sub_8034EFC - mov r0, r8 - mov r1, r10 - bl sub_8035044 - movs r0, 0x1 -_08034EE8: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8034D14 - - thumb_func_start sub_8034EFC -sub_8034EFC: @ 8034EFC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r4, r0, 0 - ldrb r5, [r4, 0x1] - movs r0, 0xC - ldrsh r7, [r4, r0] - ldrb r0, [r4, 0x3] - adds r0, 0x1 - mov r8, r0 - mov r1, sp - movs r0, 0 - strh r0, [r1] - lsls r1, r5, 3 - ldr r2, =gUnknown_030022F8 - mov r9, r2 - add r1, r9 - mov r0, r8 - lsls r2, r0, 2 - movs r0, 0x80 - lsls r0, 17 - orrs r2, r0 - mov r0, sp - bl CpuSet - movs r6, 0 - ldrb r5, [r4, 0x1] - cmp r6, r8 - bcs _08034FCE - movs r1, 0x3F - mov r10, r1 - movs r2, 0xD - negs r2, r2 - mov r9, r2 -_08034F46: - lsls r0, r5, 3 - ldr r1, =gMain - adds r3, r0, r1 - ldrh r1, [r4, 0xE] - adds r0, r3, 0 - adds r0, 0x38 - strb r1, [r0] - ldr r2, =0x000001ff - adds r0, r2, 0 - adds r1, r7, 0 - ands r1, r0 - ldrh r2, [r3, 0x3A] - ldr r0, =0xfffffe00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x3A] - ldrb r1, [r4, 0x6] - movs r0, 0x39 - adds r0, r3 - mov r12, r0 - lsls r1, 6 - ldrb r2, [r0] - mov r0, r10 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrb r1, [r4, 0x5] - movs r2, 0x3B - adds r2, r3 - mov r12, r2 - lsls r1, 6 - ldrb r2, [r2] - mov r0, r10 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r4, 0xA] - ldr r1, =0x000003ff - ands r1, r0 - ldrh r2, [r3, 0x3C] - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x3C] - adds r3, 0x3D - movs r0, 0x3 - ldrb r1, [r4, 0x7] - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - mov r0, r9 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r2, [r4, 0x4] - lsls r2, 4 - movs r1, 0xF - ands r0, r1 - orrs r0, r2 - strb r0, [r3] - ldrb r0, [r4, 0x8] - adds r7, r0 - adds r6, 0x1 - adds r5, 0x1 - cmp r6, r8 - bcc _08034F46 -_08034FCE: - subs r5, 0x1 - ldr r0, =gMain - lsls r3, r5, 3 - adds r3, r0 - movs r2, 0xC - ldrsh r1, [r4, r2] - ldrb r0, [r4, 0x8] - subs r1, r0 - ldr r2, =0x000001ff - adds r0, r2, 0 - ands r1, r0 - ldrh r2, [r3, 0x3A] - ldr r0, =0xfffffe00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x3A] - adds r2, r3, 0 - adds r2, 0x39 - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4, 0x9] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 1 - ldrh r4, [r4, 0xA] - adds r1, r4 - ldr r2, =0x000003ff - adds r0, r2, 0 - ands r1, r0 - ldrh r2, [r3, 0x3C] - ldr r0, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x3C] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8034EFC - - thumb_func_start sub_8035044 -sub_8035044: @ 8035044 - push {r4-r6,lr} - adds r3, r0, 0 - adds r4, r1, 0 - ldr r0, =gUnknown_02022E10 - ldr r1, [r0] - adds r6, r0, 0 - cmp r1, 0 - beq _080350A8 - ldr r2, [r1, 0x4] - lsls r1, r3, 3 - subs r0, r1, r3 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2] - adds r5, r1, 0 - cmp r0, 0 - beq _080350A8 - str r4, [r2, 0x18] - cmp r4, 0 - bge _08035078 - movs r2, 0x1 - negs r4, r4 - b _0803507A - .pool -_08035078: - movs r2, 0 -_0803507A: - ldr r0, [r6] - ldr r1, [r0, 0x4] - subs r0, r5, r3 - lsls r0, 2 - adds r0, r1 - ldrb r3, [r0, 0x2] - cmp r3, 0x1 - beq _0803509A - cmp r3, 0x1 - ble _08035092 - cmp r3, 0x2 - beq _080350A2 -_08035092: - adds r1, r4, 0 - bl sub_80350B0 - b _080350A8 -_0803509A: - adds r1, r4, 0 - bl sub_8035164 - b _080350A8 -_080350A2: - adds r1, r4, 0 - bl sub_80352C0 -_080350A8: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8035044 - - thumb_func_start sub_80350B0 -sub_80350B0: @ 80350B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r8, r0 - mov r9, r1 - str r2, [sp] - ldr r5, [r0, 0x14] - ldrb r7, [r0, 0x1] - ldr r0, =gMain - mov r10, r0 - cmp r5, 0 - beq _0803511A - lsls r0, r7, 3 - adds r0, 0x3C - mov r1, r10 - adds r6, r0, r1 -_080350D6: - mov r0, r9 - adds r1, r5, 0 - bl __udivsi3 - adds r4, r0, 0 - adds r0, r4, 0 - muls r0, r5 - mov r2, r9 - subs r2, r0 - mov r9, r2 - adds r0, r5, 0 - movs r1, 0xA - bl __udivsi3 - adds r5, r0, 0 - mov r1, r8 - ldrb r0, [r1, 0x9] - adds r1, r4, 0 - muls r1, r0 - mov r2, r8 - ldrh r2, [r2, 0xA] - adds r1, r2 - ldr r2, =0x000003ff - adds r0, r2, 0 - ands r1, r0 - ldrh r0, [r6] - ldr r2, =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r6] - adds r6, 0x8 - adds r7, 0x1 - cmp r5, 0 - bne _080350D6 -_0803511A: - ldr r0, [sp] - cmp r0, 0 - beq _08035140 - lsls r0, r7, 3 - add r0, r10 - adds r0, 0x39 - ldrb r2, [r0] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - b _08035154 - .pool -_08035140: - lsls r2, r7, 3 - add r2, r10 - adds r2, 0x39 - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] -_08035154: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80350B0 - - thumb_func_start sub_8035164 -sub_8035164: @ 8035164 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r6, r0, 0 - mov r8, r1 - str r2, [sp] - ldr r5, [r6, 0x14] - ldr r3, =gUnknown_03000DD4 - ldrb r0, [r6, 0x1] - str r0, [r3] - ldr r2, =gUnknown_03000DD8 - movs r0, 0 - str r0, [r2] - ldr r1, =gUnknown_03000DDC - subs r0, 0x1 - str r0, [r1] - adds r7, r3, 0 - mov r10, r1 - ldr r0, =gMain - mov r9, r0 - cmp r5, 0 - beq _0803524C -_08035196: - mov r0, r8 - adds r1, r5, 0 - bl __udivsi3 - adds r4, r0, 0 - adds r0, r4, 0 - muls r0, r5 - mov r1, r8 - subs r1, r0 - mov r8, r1 - adds r0, r5, 0 - movs r1, 0xA - bl __udivsi3 - adds r5, r0, 0 - cmp r4, 0 - bne _080351C8 - mov r2, r10 - ldr r1, [r2] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080351C8 - cmp r5, 0 - bne _08035224 -_080351C8: - ldr r2, [r7] - lsls r2, 3 - add r2, r9 - ldrb r0, [r6, 0x9] - adds r3, r4, 0 - muls r3, r0 - ldrh r4, [r6, 0xA] - adds r3, r4 - ldr r1, =0x000003ff - adds r0, r1, 0 - ands r3, r0 - ldrh r0, [r2, 0x3C] - ldr r4, =0xfffffc00 - adds r1, r4, 0 - ands r0, r1 - orrs r0, r3 - strh r0, [r2, 0x3C] - adds r2, 0x39 - ldrb r0, [r2] - movs r1, 0x4 - negs r1, r1 - ands r0, r1 - strb r0, [r2] - mov r2, r10 - ldr r1, [r2] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0803523A - ldr r4, =gUnknown_03000DD8 - ldr r0, [r4] - str r0, [r2] - b _0803523A - .pool -_08035224: - ldr r0, [r7] - lsls r0, 3 - add r0, r9 - adds r0, 0x39 - ldrb r1, [r0] - movs r2, 0x4 - negs r2, r2 - ands r1, r2 - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] -_0803523A: - ldr r0, [r7] - adds r0, 0x1 - str r0, [r7] - ldr r4, =gUnknown_03000DD8 - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - cmp r5, 0 - bne _08035196 -_0803524C: - ldr r0, [sp] - cmp r0, 0 - beq _08035298 - ldr r1, [r7] - lsls r1, 3 - add r1, r9 - adds r1, 0x39 - ldrb r2, [r1] - movs r0, 0x4 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r3, [r7] - lsls r3, 3 - add r3, r9 - movs r1, 0xC - ldrsh r2, [r6, r1] - mov r4, r10 - ldr r0, [r4] - subs r0, 0x1 - ldrb r1, [r6, 0x8] - muls r0, r1 - adds r2, r0 - ldr r1, =0x000001ff - adds r0, r1, 0 - ands r2, r0 - ldrh r1, [r3, 0x3A] - ldr r0, =0xfffffe00 - ands r0, r1 - orrs r0, r2 - strh r0, [r3, 0x3A] - b _080352AE - .pool -_08035298: - ldr r0, [r7] - lsls r0, 3 - add r0, r9 - adds r0, 0x39 - ldrb r2, [r0] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] -_080352AE: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8035164 - - thumb_func_start sub_80352C0 -sub_80352C0: @ 80352C0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - mov r8, r0 - mov r10, r1 - str r2, [sp] - ldr r5, [r0, 0x14] - ldrb r3, [r0, 0x1] - movs r0, 0 - str r0, [sp, 0x4] - mov r9, r0 - cmp r5, 0 - beq _0803535A -_080352E0: - lsls r0, r3, 3 - adds r1, r0, 0 - adds r1, 0x39 - ldr r2, =gMain - adds r7, r1, r2 - adds r0, 0x3C - adds r6, r0, r2 -_080352EE: - mov r0, r10 - adds r1, r5, 0 - str r3, [sp, 0x8] - bl __udivsi3 - adds r4, r0, 0 - adds r0, r4, 0 - muls r0, r5 - mov r1, r10 - subs r1, r0 - mov r10, r1 - adds r0, r5, 0 - movs r1, 0xA - bl __udivsi3 - adds r5, r0, 0 - ldr r3, [sp, 0x8] - cmp r4, 0 - bne _0803531E - ldr r2, [sp, 0x4] - cmp r2, 0 - bne _0803531E - cmp r5, 0 - bne _080352E0 -_0803531E: - movs r0, 0x1 - str r0, [sp, 0x4] - mov r1, r8 - ldrb r0, [r1, 0x9] - adds r2, r4, 0 - muls r2, r0 - ldrh r4, [r1, 0xA] - adds r2, r4 - ldr r1, =0x000003ff - adds r0, r1, 0 - ands r2, r0 - ldrh r0, [r6] - ldr r4, =0xfffffc00 - adds r1, r4, 0 - ands r0, r1 - orrs r0, r2 - strh r0, [r6] - ldrb r0, [r7] - movs r2, 0x4 - negs r2, r2 - adds r1, r2, 0 - ands r0, r1 - strb r0, [r7] - adds r7, 0x8 - adds r6, 0x8 - adds r3, 0x1 - movs r4, 0x1 - add r9, r4 - cmp r5, 0 - bne _080352EE -_0803535A: - mov r0, r8 - ldrb r0, [r0, 0x3] - cmp r9, r0 - bge _0803538A - ldr r1, =gMain - movs r5, 0x4 - negs r5, r5 - movs r4, 0x2 - lsls r0, r3, 3 - adds r0, 0x39 - adds r2, r0, r1 -_08035370: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - orrs r0, r4 - strb r0, [r2] - adds r2, 0x8 - adds r3, 0x1 - movs r1, 0x1 - add r9, r1 - mov r0, r8 - ldrb r0, [r0, 0x3] - cmp r9, r0 - blt _08035370 -_0803538A: - ldr r1, [sp] - cmp r1, 0 - beq _080353B0 - lsls r0, r3, 3 - ldr r2, =gMain - adds r0, r2 - adds r0, 0x39 - ldrb r2, [r0] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - b _080353C6 - .pool -_080353B0: - lsls r2, r3, 3 - ldr r4, =gMain - adds r2, r4 - adds r2, 0x39 - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] -_080353C6: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80352C0 - - thumb_func_start sub_80353DC -sub_80353DC: @ 80353DC - push {r4-r7,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - cmp r0, 0 - beq _0803546E - ldr r2, [r0, 0x4] - lsls r1, r4, 3 - subs r0, r1, r4 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2] - adds r5, r1, 0 - cmp r0, 0 - beq _0803546E - ldrb r3, [r2, 0x3] - adds r0, r3, 0x1 - ldrb r2, [r2, 0x1] - cmp r0, 0 - beq _08035426 - ldr r1, =gMain - movs r7, 0x4 - negs r7, r7 - movs r6, 0x2 - adds r3, r0, 0 - lsls r0, r2, 3 - adds r0, 0x39 - adds r2, r0, r1 -_08035414: - ldrb r1, [r2] - adds r0, r7, 0 - ands r0, r1 - orrs r0, r6 - strb r0, [r2] - subs r3, 0x1 - adds r2, 0x8 - cmp r3, 0 - bne _08035414 -_08035426: - adds r0, r4, 0 - bl sub_8035570 - cmp r0, 0 - bne _08035442 - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r1, [r0, 0x4] - subs r0, r5, r4 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x10] - bl FreeSpriteTilesByTag -_08035442: - adds r0, r4, 0 - bl sub_80355B4 - cmp r0, 0 - bne _0803545E - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r1, [r0, 0x4] - subs r0, r5, r4 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x12] - bl FreeSpritePaletteByTag -_0803545E: - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r1, [r0, 0x4] - subs r0, r5, r4 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_0803546E: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80353DC - - thumb_func_start sub_803547C -sub_803547C: @ 803547C - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, =gUnknown_02022E10 - ldr r1, [r0] - adds r7, r0, 0 - cmp r1, 0 - beq _0803550C - ldr r2, [r1, 0x4] - lsls r1, r4, 3 - subs r0, r1, r4 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2] - adds r6, r1, 0 - cmp r0, 0 - beq _0803550C - ldrb r3, [r2, 0x3] - adds r1, r3, 0x1 - ldrb r0, [r2, 0x1] - cmp r5, 0 - beq _080354D8 - cmp r1, 0 - beq _0803550C - ldr r1, =gMain - movs r5, 0x4 - negs r5, r5 - movs r4, 0x2 - adds r3, 0x1 - lsls r0, 3 - adds r0, 0x39 - adds r2, r0, r1 -_080354BC: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - orrs r0, r4 - strb r0, [r2] - subs r3, 0x1 - adds r2, 0x8 - cmp r3, 0 - bne _080354BC - b _0803550C - .pool -_080354D8: - cmp r1, 0 - beq _080354FA - ldr r1, =gMain - movs r5, 0x4 - negs r5, r5 - adds r3, 0x1 - lsls r0, 3 - adds r0, 0x39 - adds r2, r0, r1 -_080354EA: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - strb r0, [r2] - subs r3, 0x1 - adds r2, 0x8 - cmp r3, 0 - bne _080354EA -_080354FA: - ldr r0, [r7] - ldr r1, [r0, 0x4] - subs r0, r6, r4 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0, 0x18] - adds r0, r4, 0 - bl sub_8035044 -_0803550C: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_803547C - - thumb_func_start sub_8035518 -sub_8035518: @ 8035518 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0x40 - movs r3, 0 - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r2, [r0] - cmp r3, r2 - bcs _0803555A - ldr r1, [r0, 0x4] -_0803552E: - ldrb r0, [r1] - cmp r0, 0 - bne _08035548 - ldrb r0, [r1, 0x1] - cmp r0, 0xFF - beq _08035552 - ldrb r0, [r1, 0x3] - cmp r0, r4 - bhi _08035552 - ldrb r0, [r1, 0x1] - b _0803556A - .pool -_08035548: - adds r0, r5, 0x1 - ldrb r5, [r1, 0x3] - adds r0, r5 - lsls r0, 16 - lsrs r5, r0, 16 -_08035552: - adds r1, 0x1C - adds r3, 0x1 - cmp r3, r2 - bcc _0803552E -_0803555A: - adds r0, r5, r4 - adds r0, 0x1 - cmp r0, 0x80 - bgt _08035568 - lsls r0, r5, 24 - lsrs r0, 24 - b _0803556A -_08035568: - movs r0, 0xFF -_0803556A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8035518 - - thumb_func_start sub_8035570 -sub_8035570: @ 8035570 - push {r4-r6,lr} - adds r3, r0, 0 - movs r2, 0 - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r4, [r0] - cmp r2, r4 - bcs _080355AC - ldr r1, [r0, 0x4] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r5, r0, r1 -_0803558A: - ldrb r0, [r1] - cmp r0, 0 - beq _080355A4 - cmp r2, r3 - beq _080355A4 - ldrh r0, [r1, 0x10] - ldrh r6, [r5, 0x10] - cmp r0, r6 - bne _080355A4 - movs r0, 0x1 - b _080355AE - .pool -_080355A4: - adds r1, 0x1C - adds r2, 0x1 - cmp r2, r4 - bcc _0803558A -_080355AC: - movs r0, 0 -_080355AE: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8035570 - - thumb_func_start sub_80355B4 -sub_80355B4: @ 80355B4 - push {r4-r6,lr} - adds r3, r0, 0 - movs r2, 0 - ldr r0, =gUnknown_02022E10 - ldr r0, [r0] - ldr r4, [r0] - cmp r2, r4 - bcs _080355F0 - ldr r1, [r0, 0x4] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r5, r0, r1 -_080355CE: - ldrb r0, [r1] - cmp r0, 0 - beq _080355E8 - cmp r2, r3 - beq _080355E8 - ldrh r0, [r1, 0x12] - ldrh r6, [r5, 0x12] - cmp r0, r6 - bne _080355E8 - movs r0, 0x1 - b _080355F2 - .pool -_080355E8: - adds r1, 0x1C - adds r2, 0x1 - cmp r2, r4 - bcc _080355CE -_080355F0: - movs r0, 0 -_080355F2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80355B4 - - thumb_func_start sub_80355F8 -sub_80355F8: @ 80355F8 - ldr r2, =gUnknown_082FF1C8 - lsls r0, 2 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - bx lr - .pool - thumb_func_end sub_80355F8 - - thumb_func_start sub_8035608 -sub_8035608: @ 8035608 - push {lr} - bl ResetSpriteData - ldr r0, =gUnknown_0831AC88 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r0, =sub_8035648 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8035608 - - thumb_func_start sub_8035648 -sub_8035648: @ 8035648 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - pop {r0} - bx r0 - thumb_func_end sub_8035648 - - thumb_func_start trs_config -trs_config: @ 8035658 - push {r4,lr} - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0831AA08 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 11 - ands r1, r0 - cmp r1, 0 - beq _080356A4 - ldr r0, =gBattleScripting - adds r0, 0x24 - movs r1, 0x1 - strb r1, [r0] - ldr r4, =gUnknown_02023060 - ldr r1, [r4] - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - movs r0, 0x2 - bl SetBgTilemapBuffer - b _080356AA - .pool -_080356A4: - ldr r0, =gBattleScripting - adds r0, 0x24 - strb r1, [r0] -_080356AA: - ldr r1, =gUnknown_0831ABA0 - ldr r0, =gBattleScripting - adds r0, 0x24 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl InitWindows - bl DeactivateAllTextPrinters - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end trs_config - - thumb_func_start sub_80356D0 -sub_80356D0: @ 80356D0 - push {lr} - movs r0, 0x2 - bl DisableInterrupts - movs r0, 0xC5 - bl EnableInterrupts - bl trs_config - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r1, =0x0000b040 - movs r0, 0 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_80356D0 - - thumb_func_start ApplyPlayerChosenFrameToBattleMenu -ApplyPlayerChosenFrameToBattleMenu: @ 803570C - push {lr} - movs r0, 0x2 - movs r1, 0x12 - movs r2, 0x10 - bl sub_809882C - movs r0, 0x2 - movs r1, 0x22 - movs r2, 0x10 - bl sub_809882C - ldr r0, =gUnknown_08D85600 - movs r1, 0x50 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 11 - ands r0, r1 - cmp r0, 0 - beq _0803575A - movs r0, 0x70 - bl sub_81978B0 - movs r0, 0 - movs r1, 0x30 - movs r2, 0x70 - bl copy_textbox_border_tile_patterns_to_vram - ldr r0, =gPlttBufferUnfaded - adds r0, 0xEC - movs r1, 0 - strh r1, [r0] - ldr r1, =gPlttBufferFaded + 0xEC - movs r2, 0x1 - bl CpuSet -_0803575A: - pop {r0} - bx r0 - .pool - thumb_func_end ApplyPlayerChosenFrameToBattleMenu - - thumb_func_start DrawMainBattleBackground -DrawMainBattleBackground: @ 8035770 - push {r4,r5,lr} - ldr r0, =gBattleTypeFlags - ldr r1, [r0] - ldr r0, =0x023f0902 - ands r0, r1 - cmp r0, 0 - beq _080357B0 - ldr r0, =gUnknown_08D7C440 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7CA28 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7C9EC - b _08035A52 - .pool -_080357B0: - movs r0, 0x80 - lsls r0, 21 - ands r0, r1 - cmp r0, 0 - beq _080357E4 - ldr r0, =gUnknown_08D7BB14 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7C154 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7DF30 - b _08035A52 - .pool -_080357E4: - movs r0, 0x80 - lsls r0, 22 - ands r0, r1 - cmp r0, 0 - beq _08035818 - ldr r0, =gUnknown_08D7A108 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7A720 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7DEF4 - b _08035A52 - .pool -_08035818: - movs r0, 0x80 - lsls r0, 23 - ands r0, r1 - cmp r0, 0 - beq _0803584C - ldr r0, =gUnknown_08D7D590 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7DC04 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7E234 - b _08035A52 - .pool -_0803584C: - movs r0, 0x8 - ands r1, r0 - cmp r1, 0 - beq _080358C4 - ldr r2, =gTrainers - ldr r0, =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x20 - bne _08035898 - ldr r0, =gUnknown_08D7C440 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7CA28 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7DFC4 - b _08035A52 - .pool -_08035898: - cmp r0, 0x26 - bne _080358C4 - ldr r0, =gUnknown_08D7CCD8 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7D2E0 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7E1F8 - b _08035A52 - .pool -_080358C4: - bl sav1_map_get_battletype - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8 - bhi _08035904 - lsls r0, 2 - ldr r1, =_080358E0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080358E0: - .4byte _08035904 - .4byte _08035950 - .4byte _08035978 - .4byte _080359A0 - .4byte _080359C8 - .4byte _080359F0 - .4byte _08035A18 - .4byte _08035A40 - .4byte _08035A70 -_08035904: - ldr r4, =gBattleTerrainTable - ldr r5, =gBattleTerrain - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - ldr r1, =0x06008000 - bl LZDecompressVram - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0x4 - adds r0, r1 - ldr r0, [r0] - ldr r1, =0x0600d000 - bl LZDecompressVram - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r4, 0x10 - adds r0, r4 - ldr r0, [r0] - b _08035A52 - .pool -_08035950: - ldr r0, =gUnknown_08D7C440 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7CA28 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7DF88 - b _08035A52 - .pool -_08035978: - ldr r0, =gUnknown_08D7CCD8 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7D2E0 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7E060 - b _08035A52 - .pool -_080359A0: - ldr r0, =gUnknown_08D7CCD8 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7D2E0 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7E000 - b _08035A52 - .pool -_080359C8: - ldr r0, =gUnknown_08D7CCD8 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7D2E0 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7E0CC - b _08035A52 - .pool -_080359F0: - ldr r0, =gUnknown_08D7CCD8 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7D2E0 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7E11C - b _08035A52 - .pool -_08035A18: - ldr r0, =gUnknown_08D7CCD8 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7D2E0 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7E164 - b _08035A52 - .pool -_08035A40: - ldr r0, =gUnknown_08D7CCD8 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7D2E0 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7E1A8 -_08035A52: - movs r1, 0x20 - movs r2, 0x60 - bl LoadCompressedPalette - b _08035A8A - .pool -_08035A70: - ldr r0, =gUnknown_08D7C440 - ldr r1, =0x06008000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7CA28 - ldr r1, =0x0600d000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7C9EC - movs r1, 0x20 - movs r2, 0x60 - bl LoadCompressedPalette -_08035A8A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end DrawMainBattleBackground - - thumb_func_start LoadBattleTextboxAndBackground -LoadBattleTextboxAndBackground: @ 8035AA4 - push {lr} - ldr r0, =gUnknown_08C00000 - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - ldr r1, =gUnknown_08C00524 - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, =gUnknown_08C004E0 - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - bl ApplyPlayerChosenFrameToBattleMenu - bl DrawMainBattleBackground - pop {r0} - bx r0 - .pool - thumb_func_end LoadBattleTextboxAndBackground - - thumb_func_start sub_8035AE4 -sub_8035AE4: @ 8035AE4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - ldr r4, [sp, 0x34] - lsls r0, 24 - lsrs r6, r0, 24 - adds r7, r6, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r3, 24 - mov r12, r3 - lsls r4, 24 - lsrs r4, 24 - mov r9, r4 - movs r4, 0 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08035BCC - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - movs r2, 0x12 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _08035B56 - cmp r5, 0x1 - beq _08035B7E - cmp r5, 0x1 - bgt _08035B44 - cmp r5, 0 - beq _08035B4E - b _08035B88 - .pool -_08035B44: - cmp r5, 0x2 - beq _08035B52 - cmp r5, 0x3 - beq _08035B72 - b _08035B88 -_08035B4E: - ldrh r0, [r1, 0xE] - b _08035B74 -_08035B52: - ldrh r1, [r1, 0xE] - b _08035B80 -_08035B56: - cmp r5, 0x1 - beq _08035B72 - cmp r5, 0x1 - bgt _08035B64 - cmp r5, 0 - beq _08035B6E - b _08035B88 -_08035B64: - cmp r5, 0x2 - beq _08035B7A - cmp r5, 0x3 - beq _08035B7E - b _08035B88 -_08035B6E: - ldrh r0, [r1, 0xE] - b _08035B74 -_08035B72: - ldrh r0, [r1, 0x10] -_08035B74: - movs r4, 0x3F - ands r4, r0 - b _08035B88 -_08035B7A: - ldrh r1, [r1, 0xE] - b _08035B80 -_08035B7E: - ldrh r1, [r1, 0x10] -_08035B80: - movs r0, 0xFC - lsls r0, 4 - ands r0, r1 - lsrs r4, r0, 6 -_08035B88: - movs r2, 0 - movs r6, 0x3 - ldr r0, =0x00006001 - adds r5, r0, 0 - add r3, sp, 0xC -_08035B92: - lsls r1, r2, 1 - adds r0, r6, 0 - lsls r0, r1 - ands r0, r4 - asrs r0, r1 - adds r0, r5 - strh r0, [r3] - adds r3, 0x2 - adds r2, 0x1 - cmp r2, 0x2 - ble _08035B92 - movs r0, 0x3 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - mov r0, r8 - add r1, sp, 0xC - mov r2, r12 - mov r3, r9 - bl CopyToBgTilemapBufferRect_ChangePalette - mov r0, r8 - bl CopyBgTilemapBufferToVram - b _08035C36 - .pool -_08035BCC: - ldr r0, =gBattleScripting - adds r0, 0x25 - ldrb r0, [r0] - cmp r5, r0 - bne _08035BEC - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldrh r4, [r0, 0xE] - b _08035BF8 - .pool -_08035BEC: - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrh r4, [r0, 0x10] -_08035BF8: - movs r2, 0 - movs r6, 0x3 - ldr r0, =0x00006001 - adds r5, r0, 0 - add r3, sp, 0xC -_08035C02: - lsls r1, r2, 1 - adds r0, r6, 0 - lsls r0, r1 - ands r0, r4 - asrs r0, r1 - adds r0, r5 - strh r0, [r3] - adds r3, 0x2 - adds r2, 0x1 - cmp r2, 0x5 - ble _08035C02 - movs r0, 0x6 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - mov r0, r8 - add r1, sp, 0xC - mov r2, r12 - mov r3, r9 - bl CopyToBgTilemapBufferRect_ChangePalette - mov r0, r8 - bl CopyBgTilemapBufferToVram -_08035C36: - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8035AE4 - - thumb_func_start sub_8035C4C -sub_8035C4C: @ 8035C4C - push {lr} - ldr r0, =gBattleOutcome - ldrb r2, [r0] - cmp r2, 0x3 - bne _08035C68 - ldr r0, =gText_Draw - movs r1, 0x15 - bl BattleHandleAddTextPrinter - b _08035D68 - .pool -_08035C68: - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08035CE2 - cmp r2, 0x1 - bne _08035CAE - ldr r2, =gLinkPlayers - ldr r0, =gBattleScripting - adds r0, 0x25 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x18] - cmp r0, 0x1 - beq _08035CFC - cmp r0, 0x1 - bgt _08035CA4 - cmp r0, 0 - beq _08035D36 - b _08035D68 - .pool -_08035CA4: - cmp r0, 0x2 - beq _08035D36 - cmp r0, 0x3 - bne _08035D68 - b _08035CFC -_08035CAE: - ldr r2, =gLinkPlayers - ldr r0, =gBattleScripting - adds r0, 0x25 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x18] - cmp r0, 0x1 - beq _08035D36 - cmp r0, 0x1 - bgt _08035CD8 - cmp r0, 0 - beq _08035CFC - b _08035D68 - .pool -_08035CD8: - cmp r0, 0x2 - beq _08035CFC - cmp r0, 0x3 - bne _08035D68 - b _08035D36 -_08035CE2: - cmp r2, 0x1 - bne _08035D20 - ldr r2, =gLinkPlayers - ldr r0, =gBattleScripting - adds r0, 0x25 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x18] - cmp r0, 0 - beq _08035D36 -_08035CFC: - ldr r0, =gText_Win - movs r1, 0x17 - bl BattleHandleAddTextPrinter - ldr r0, =gText_Loss - movs r1, 0x16 - bl BattleHandleAddTextPrinter - b _08035D68 - .pool -_08035D20: - ldr r2, =gLinkPlayers - ldr r0, =gBattleScripting - adds r0, 0x25 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x18] - cmp r0, 0 - beq _08035D58 -_08035D36: - ldr r0, =gText_Win - movs r1, 0x16 - bl BattleHandleAddTextPrinter - ldr r0, =gText_Loss - movs r1, 0x17 - bl BattleHandleAddTextPrinter - b _08035D68 - .pool -_08035D58: - ldr r0, =gText_Win - movs r1, 0x17 - bl BattleHandleAddTextPrinter - ldr r0, =gText_Loss - movs r1, 0x16 - bl BattleHandleAddTextPrinter -_08035D68: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8035C4C - - thumb_func_start task00_0800F6FC -task00_0800F6FC: @ 8035D74 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gTasks - lsls r0, r7, 2 - mov r8, r0 - adds r0, r7 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _08035D96 - b _08035EC4 -_08035D96: - cmp r0, 0x1 - bgt _08035DA4 - cmp r0, 0 - beq _08035DAC - b _08036138 - .pool -_08035DA4: - cmp r0, 0x2 - bne _08035DAA - b _08035F64 -_08035DAA: - b _08036138 -_08035DAC: - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08035E44 - movs r5, 0 - movs r6, 0x3 -_08035DBC: - ldr r0, =gLinkPlayers + 8 - adds r1, r5, r0 - subs r0, 0x8 - adds r4, r5, r0 - ldrh r0, [r4, 0x18] - cmp r0, 0x1 - beq _08035DF4 - cmp r0, 0x1 - bgt _08035DDC - cmp r0, 0 - beq _08035DE6 - b _08035E3A - .pool -_08035DDC: - cmp r0, 0x2 - beq _08035E08 - cmp r0, 0x3 - beq _08035E22 - b _08035E3A -_08035DE6: - adds r0, r1, 0 - movs r1, 0x11 - bl BattleHandleAddTextPrinter - ldrb r1, [r4, 0x18] - movs r0, 0x4 - b _08035E14 -_08035DF4: - adds r0, r1, 0 - movs r1, 0x12 - bl BattleHandleAddTextPrinter - ldrb r1, [r4, 0x18] - movs r0, 0x4 - str r0, [sp] - adds r0, r7, 0 - movs r2, 0x2 - b _08035E1A -_08035E08: - adds r0, r1, 0 - movs r1, 0x13 - bl BattleHandleAddTextPrinter - ldrb r1, [r4, 0x18] - movs r0, 0x8 -_08035E14: - str r0, [sp] - adds r0, r7, 0 - movs r2, 0x1 -_08035E1A: - movs r3, 0x2 - bl sub_8035AE4 - b _08035E3A -_08035E22: - adds r0, r1, 0 - movs r1, 0x14 - bl BattleHandleAddTextPrinter - ldrb r1, [r4, 0x18] - movs r0, 0x8 - str r0, [sp] - adds r0, r7, 0 - movs r2, 0x2 - movs r3, 0x2 - bl sub_8035AE4 -_08035E3A: - adds r5, 0x1C - subs r6, 0x1 - cmp r6, 0 - bge _08035DBC - b _08035EA6 -_08035E44: - ldr r0, =gBattleScripting - adds r0, 0x25 - ldrb r5, [r0] - movs r0, 0x1 - adds r6, r5, 0 - eors r6, r0 - adds r1, r6, 0 - ldr r4, =gLinkPlayers - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x18] - cmp r0, 0 - beq _08035E66 - adds r6, r5, 0 - adds r5, r1, 0 -_08035E66: - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - adds r4, 0x8 - adds r1, r0, r4 - adds r0, r1, 0 - movs r1, 0xF - bl BattleHandleAddTextPrinter - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r1, r0, r4 - adds r0, r1, 0 - movs r1, 0x10 - bl BattleHandleAddTextPrinter - movs r4, 0x7 - str r4, [sp] - adds r0, r7, 0 - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x2 - bl sub_8035AE4 - str r4, [sp] - adds r0, r7, 0 - adds r1, r6, 0 - movs r2, 0x2 - movs r3, 0x2 - bl sub_8035AE4 -_08035EA6: - ldr r0, =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08036138 - .pool -_08035EC4: - ldr r0, =0x00002710 - bl AllocSpritePalette - lsls r0, 24 - ldr r2, =gPlttBufferUnfaded - lsrs r0, 19 - ldr r3, =0x0000021e - adds r0, r3 - adds r2, r0, r2 - ldr r1, =gPlttBufferFaded - adds r0, r1 - ldr r1, =0x00007fff - strh r1, [r0] - strh r1, [r2] - ldr r0, =gUnknown_0831A9D0 - movs r1, 0x6F - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r4, =gBattleStruct - ldr r1, [r4] - adds r1, 0x7D - strb r0, [r1] - ldr r0, =gUnknown_0831A9E8 - movs r1, 0x81 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x7E - strb r0, [r1] - ldr r3, =gSprites - ldr r0, [r4] - adds r0, 0x7D - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x7E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _08036138 - .pool -_08035F64: - movs r1, 0x12 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08035FCC - ldr r4, =gBattle_BG1_X - ldrh r0, [r5, 0xA] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08035F7E - adds r0, 0x1F -_08035F7E: - asrs r1, r0, 5 - movs r2, 0x14 - negs r2, r2 - adds r0, r2, 0 - subs r0, r1 - strh r0, [r4] - ldr r4, =gBattle_BG2_X - ldrh r0, [r5, 0xC] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08035F9C - adds r0, 0x1F -_08035F9C: - asrs r1, r0, 5 - movs r3, 0x8C - negs r3, r3 - adds r0, r3, 0 - subs r0, r1 - strh r0, [r4] - ldr r0, =gBattle_BG1_Y - ldr r2, =0x0000ffdc - adds r1, r2, 0 - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - b _08036038 - .pool -_08035FCC: - ldr r4, =gBattle_BG1_X - ldrh r0, [r5, 0xA] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08035FDE - adds r0, 0x1F -_08035FDE: - asrs r1, r0, 5 - movs r3, 0x14 - negs r3, r3 - adds r0, r3, 0 - subs r0, r1 - strh r0, [r4] - ldr r4, =gBattle_BG1_Y - ldrh r0, [r5, 0xA] - bl Cos2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08035FFC - adds r0, 0x1F -_08035FFC: - asrs r0, 5 - subs r0, 0xA4 - strh r0, [r4] - ldr r4, =gBattle_BG2_X - ldrh r0, [r5, 0xC] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08036014 - adds r0, 0x1F -_08036014: - asrs r1, r0, 5 - movs r2, 0x8C - negs r2, r2 - adds r0, r2, 0 - subs r0, r1 - strh r0, [r4] - ldr r4, =gBattle_BG2_Y - ldrh r0, [r5, 0xC] - bl Cos2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08036032 - adds r0, 0x1F -_08036032: - asrs r0, 5 - subs r0, 0xA4 - strh r0, [r4] -_08036038: - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0xC] - movs r2, 0xC - ldrsh r3, [r1, r2] - mov r8, r3 - cmp r3, 0 - beq _08036070 - subs r0, 0x2 - strh r0, [r1, 0xC] - ldrh r0, [r1, 0xA] - adds r0, 0x2 - strh r0, [r1, 0xA] - b _08036138 - .pool -_08036070: - movs r3, 0x12 - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _0803607C - bl sub_8035C4C -_0803607C: - movs r0, 0x78 - bl PlaySE - adds r0, r7, 0 - bl DestroyTask - ldr r4, =gSprites - ldr r5, =gBattleStruct - ldr r0, [r5] - adds r0, 0x7D - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x7E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - ldr r5, [r5] - adds r6, r5, 0 - adds r6, 0x7E - ldrb r0, [r6] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x40 - ldr r7, =0x000003ff - adds r0, r7, 0 - ands r1, r0 - ldr r0, =0xfffffc00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, 0x4] - adds r5, 0x7D - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - mov r1, r8 - strh r1, [r0, 0x2E] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - strh r1, [r0, 0x2E] - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x20] - strh r1, [r0, 0x30] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x20] - strh r1, [r0, 0x30] - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - mov r2, r8 - strh r2, [r0, 0x32] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r2, [r0, 0x32] -_08036138: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end task00_0800F6FC - - thumb_func_start LoadBattleEntryBackground -LoadBattleEntryBackground: @ 8036154 - push {r4,r5,lr} - ldr r0, =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08036208 - ldr r0, =gUnknown_08D778F0 - ldr r1, =0x06004000 - bl LZDecompressVram - ldr r0, =gUnknown_08D77B0C - ldr r1, =0x06010000 - bl LZDecompressVram - ldr r0, =gUnknown_08D77AE4 - movs r1, 0x60 - movs r2, 0x20 - bl LoadCompressedPalette - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetBgAttribute - ldr r1, =0x00005c04 - movs r0, 0xA - bl SetGpuReg - ldr r4, =gUnknown_08D779D8 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x48 - movs r1, 0x36 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x36 - bl SetGpuReg - ldr r0, =gBattle_BG1_Y - ldr r2, =0x0000ff5c - adds r1, r2, 0 - strh r1, [r0] - ldr r0, =gBattle_BG2_Y - strh r1, [r0] - ldr r0, =gUnknown_0831AA00 - bl LoadCompressedObjectPicUsingHeap - b _080363AC - .pool -_08036208: - ldr r0, =0x023f0902 - ands r0, r1 - cmp r0, 0 - beq _0803628C - movs r0, 0x80 - lsls r0, 15 - ands r1, r0 - cmp r1, 0 - beq _08036224 - ldr r0, =gPartnerTrainerId - ldrh r1, [r0] - ldr r0, =0x00000c03 - cmp r1, r0 - bne _08036248 -_08036224: - ldr r0, =gUnknown_08D820D4 - ldr r1, =0x06004000 - bl LZDecompressVram - ldr r0, =gUnknown_08D824E4 - b _08036382 - .pool -_08036248: - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x2 - bl SetBgAttribute - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0x2 - bl SetBgAttribute - ldr r1, =gUnknown_08D857A8 - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r1, =gUnknown_08D85A1C - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - b _080363AC - .pool -_0803628C: - movs r0, 0x80 - lsls r0, 21 - ands r0, r1 - cmp r0, 0 - beq _080362B0 - ldr r0, =gUnknown_08D81610 - ldr r1, =0x06004000 - bl LZDecompressVram - ldr r0, =gUnknown_08D81E2C - b _08036382 - .pool -_080362B0: - movs r0, 0x80 - lsls r0, 22 - ands r0, r1 - cmp r0, 0 - beq _080362D4 - ldr r0, =gUnknown_08D7F9F8 - ldr r1, =0x06004000 - bl LZDecompressVram - ldr r0, =gUnknown_08D7FEC4 - b _08036382 - .pool -_080362D4: - movs r0, 0x80 - lsls r0, 23 - ands r0, r1 - cmp r0, 0 - beq _080362F8 - ldr r0, =gUnknown_08D82608 - ldr r1, =0x06004000 - bl LZDecompressVram - ldr r0, =gUnknown_08D82C70 - b _08036382 - .pool -_080362F8: - movs r0, 0x8 - ands r1, r0 - cmp r1, 0 - beq _08036350 - ldr r2, =gTrainers - ldr r0, =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x20 - bne _08036334 - ldr r0, =gUnknown_08D820D4 - ldr r1, =0x06004000 - bl LZDecompressVram - ldr r0, =gUnknown_08D824E4 - b _08036382 - .pool -_08036334: - cmp r0, 0x26 - bne _08036350 - ldr r0, =gUnknown_08D820D4 - ldr r1, =0x06004000 - bl LZDecompressVram - ldr r0, =gUnknown_08D824E4 - b _08036382 - .pool -_08036350: - bl sav1_map_get_battletype - lsls r0, 24 - cmp r0, 0 - bne _0803639C - ldr r4, =gBattleTerrainTable - ldr r5, =gBattleTerrain - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x8 - adds r0, r1 - ldr r0, [r0] - ldr r1, =0x06004000 - bl LZDecompressVram - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r4, 0xC - adds r0, r4 - ldr r0, [r0] -_08036382: - ldr r1, =0x0600e000 - bl LZDecompressVram - b _080363AC - .pool -_0803639C: - ldr r0, =gUnknown_08D820D4 - ldr r1, =0x06004000 - bl LZDecompressVram - ldr r0, =gUnknown_08D824E4 - ldr r1, =0x0600e000 - bl LZDecompressVram -_080363AC: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end LoadBattleEntryBackground - - thumb_func_start LoadChosenBattleElement -LoadChosenBattleElement: @ 80363C4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - movs r4, 0 - cmp r0, 0x6 - bls _080363D2 - b _08036756 -_080363D2: - lsls r0, 2 - ldr r1, =_080363E0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080363E0: - .4byte _080363FC - .4byte _0803640C - .4byte _08036424 - .4byte _08036434 - .4byte _0803652C - .4byte _08036638 - .4byte _08036750 -_080363FC: - ldr r0, =gUnknown_08C00000 - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - b _08036758 - .pool -_0803640C: - ldr r1, =gUnknown_08C00524 - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0 - bl CopyBgTilemapBufferToVram - b _08036758 - .pool -_08036424: - ldr r0, =gUnknown_08C004E0 - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - b _08036758 - .pool -_08036434: - ldr r0, =gBattleTypeFlags - ldr r1, [r0] - ldr r0, =0x023f0902 - ands r0, r1 - cmp r0, 0 - bne _08036518 - movs r0, 0x80 - lsls r0, 21 - ands r0, r1 - cmp r0, 0 - beq _0803645C - ldr r0, =gUnknown_08D7BB14 - b _0803651A - .pool -_0803645C: - movs r0, 0x8 - ands r1, r0 - cmp r1, 0 - beq _0803648C - ldr r2, =gTrainers - ldr r0, =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x20 - beq _08036518 - cmp r0, 0x26 - bne _0803648C - ldr r0, =gUnknown_08D7CCD8 - b _0803651A - .pool -_0803648C: - bl sav1_map_get_battletype - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8 - bhi _080364CC - lsls r0, 2 - ldr r1, =_080364A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080364A8: - .4byte _080364CC - .4byte _08036518 - .4byte _080364E8 - .4byte _080364F0 - .4byte _080364F8 - .4byte _08036500 - .4byte _08036508 - .4byte _08036510 - .4byte _08036518 -_080364CC: - ldr r2, =gBattleTerrainTable - ldr r0, =gBattleTerrain - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - b _0803651A - .pool -_080364E8: - ldr r0, =gUnknown_08D7CCD8 - b _0803651A - .pool -_080364F0: - ldr r0, =gUnknown_08D7CCD8 - b _0803651A - .pool -_080364F8: - ldr r0, =gUnknown_08D7CCD8 - b _0803651A - .pool -_08036500: - ldr r0, =gUnknown_08D7CCD8 - b _0803651A - .pool -_08036508: - ldr r0, =gUnknown_08D7CCD8 - b _0803651A - .pool -_08036510: - ldr r0, =gUnknown_08D7CCD8 - b _0803651A - .pool -_08036518: - ldr r0, =gUnknown_08D7C440 -_0803651A: - ldr r1, =0x06008000 - bl LZDecompressVram - b _08036758 - .pool -_0803652C: - ldr r0, =gBattleTypeFlags - ldr r1, [r0] - ldr r0, =0x023f0902 - ands r0, r1 - cmp r0, 0 - beq _0803653A - b _08036624 -_0803653A: - movs r0, 0x80 - lsls r0, 5 - ands r0, r1 - cmp r0, 0 - beq _08036568 - ldr r0, =gGameVersion - ldrb r0, [r0] - cmp r0, 0x2 - bne _08036560 - ldr r0, =gUnknown_08D7C154 - b _08036626 - .pool -_08036560: - ldr r0, =gUnknown_08D7A720 - b _08036626 - .pool -_08036568: - movs r0, 0x8 - ands r1, r0 - cmp r1, 0 - beq _08036598 - ldr r2, =gTrainers - ldr r0, =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x20 - beq _08036624 - cmp r0, 0x26 - bne _08036598 - ldr r0, =gUnknown_08D7D2E0 - b _08036626 - .pool -_08036598: - bl sav1_map_get_battletype - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8 - bhi _080365D8 - lsls r0, 2 - ldr r1, =_080365B4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080365B4: - .4byte _080365D8 - .4byte _08036624 - .4byte _080365F4 - .4byte _080365FC - .4byte _08036604 - .4byte _0803660C - .4byte _08036614 - .4byte _0803661C - .4byte _08036624 -_080365D8: - ldr r2, =gBattleTerrainTable - ldr r0, =gBattleTerrain - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, 0x4 - adds r0, r2 - ldr r0, [r0] - b _08036626 - .pool -_080365F4: - ldr r0, =gUnknown_08D7D2E0 - b _08036626 - .pool -_080365FC: - ldr r0, =gUnknown_08D7D2E0 - b _08036626 - .pool -_08036604: - ldr r0, =gUnknown_08D7D2E0 - b _08036626 - .pool -_0803660C: - ldr r0, =gUnknown_08D7D2E0 - b _08036626 - .pool -_08036614: - ldr r0, =gUnknown_08D7D2E0 - b _08036626 - .pool -_0803661C: - ldr r0, =gUnknown_08D7D2E0 - b _08036626 - .pool -_08036624: - ldr r0, =gUnknown_08D7CA28 -_08036626: - ldr r1, =0x0600d000 - bl LZDecompressVram - b _08036758 - .pool -_08036638: - ldr r0, =gBattleTypeFlags - ldr r1, [r0] - ldr r0, =0x023f0902 - ands r0, r1 - cmp r0, 0 - beq _08036646 - b _08036740 -_08036646: - movs r0, 0x80 - lsls r0, 5 - ands r0, r1 - cmp r0, 0 - beq _08036674 - ldr r0, =gGameVersion - ldrb r0, [r0] - cmp r0, 0x2 - bne _0803666C - ldr r0, =gUnknown_08D7DF30 - b _08036742 - .pool -_0803666C: - ldr r0, =gUnknown_08D7DEF4 - b _08036742 - .pool -_08036674: - movs r0, 0x8 - ands r1, r0 - cmp r1, 0 - beq _080366AC - ldr r2, =gTrainers - ldr r0, =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x20 - bne _080366A0 - ldr r0, =gUnknown_08D7DFC4 - b _08036742 - .pool -_080366A0: - cmp r0, 0x26 - bne _080366AC - ldr r0, =gUnknown_08D7E1F8 - b _08036742 - .pool -_080366AC: - bl sav1_map_get_battletype - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8 - bhi _080366EC - lsls r0, 2 - ldr r1, =_080366C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080366C8: - .4byte _080366EC - .4byte _08036708 - .4byte _08036710 - .4byte _08036718 - .4byte _08036720 - .4byte _08036728 - .4byte _08036730 - .4byte _08036738 - .4byte _08036740 -_080366EC: - ldr r2, =gBattleTerrainTable - ldr r0, =gBattleTerrain - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, 0x10 - adds r0, r2 - ldr r0, [r0] - b _08036742 - .pool -_08036708: - ldr r0, =gUnknown_08D7DF88 - b _08036742 - .pool -_08036710: - ldr r0, =gUnknown_08D7E060 - b _08036742 - .pool -_08036718: - ldr r0, =gUnknown_08D7E000 - b _08036742 - .pool -_08036720: - ldr r0, =gUnknown_08D7E0CC - b _08036742 - .pool -_08036728: - ldr r0, =gUnknown_08D7E11C - b _08036742 - .pool -_08036730: - ldr r0, =gUnknown_08D7E164 - b _08036742 - .pool -_08036738: - ldr r0, =gUnknown_08D7E1A8 - b _08036742 - .pool -_08036740: - ldr r0, =gUnknown_08D7C9EC -_08036742: - movs r1, 0x20 - movs r2, 0x60 - bl LoadCompressedPalette - b _08036758 - .pool -_08036750: - bl ApplyPlayerChosenFrameToBattleMenu - b _08036758 -_08036756: - movs r4, 0x1 -_08036758: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end LoadChosenBattleElement - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_5.s b/asm/battle_5.s deleted file mode 100644 index f2d6797f95..0000000000 --- a/asm/battle_5.s +++ /dev/null @@ -1,582 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start AllocateBattleResrouces -AllocateBattleResrouces: @ 8056F28 - push {r4-r6,lr} - ldr r5, =gBattleResources - ldr r6, =gBattleTypeFlags - ldr r0, [r6] - movs r1, 0x80 - lsls r1, 19 - ands r0, r1 - cmp r0, 0 - beq _08056F3E - bl sub_81D55D0 -_08056F3E: - ldr r4, =gBattleStruct - movs r0, 0xA9 - lsls r0, 2 - bl AllocZeroed - str r0, [r4] - movs r0, 0x20 - bl AllocZeroed - str r0, [r5] - movs r0, 0xA0 - bl AllocZeroed - ldr r1, [r5] - str r0, [r1] - movs r0, 0x10 - bl AllocZeroed - ldr r1, [r5] - str r0, [r1, 0x4] - movs r0, 0x24 - bl AllocZeroed - ldr r1, [r5] - str r0, [r1, 0x8] - movs r0, 0x24 - bl AllocZeroed - ldr r1, [r5] - str r0, [r1, 0xC] - movs r0, 0xC - bl AllocZeroed - ldr r1, [r5] - str r0, [r1, 0x10] - movs r0, 0x1C - bl AllocZeroed - ldr r1, [r5] - str r0, [r1, 0x14] - movs r0, 0x54 - bl AllocZeroed - ldr r1, [r5] - str r0, [r1, 0x18] - movs r0, 0x24 - bl AllocZeroed - ldr r1, [r5] - str r0, [r1, 0x1C] - ldr r4, =gLinkBattleSendBuffer - movs r5, 0x80 - lsls r5, 5 - adds r0, r5, 0 - bl AllocZeroed - str r0, [r4] - ldr r4, =gLinkBattleRecvBuffer - adds r0, r5, 0 - bl AllocZeroed - str r0, [r4] - ldr r4, =gUnknown_0202305C - movs r0, 0x80 - lsls r0, 6 - bl AllocZeroed - str r0, [r4] - ldr r4, =gUnknown_02023060 - adds r0, r5, 0 - bl AllocZeroed - str r0, [r4] - ldr r0, [r6] - movs r1, 0x80 - lsls r1, 20 - ands r0, r1 - cmp r0, 0 - beq _08056FFA - ldr r0, =0x00004054 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - ldr r2, =gSaveBlock1Ptr - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 5 - ldr r0, =0x00001a9c - adds r1, r0 - ldr r0, [r2] - adds r0, r1 - bl CreateSecretBaseEnemyParty -_08056FFA: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end AllocateBattleResrouces - - thumb_func_start FreeBattleResources -FreeBattleResources: @ 8057028 - push {r4-r6,lr} - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 19 - ands r0, r1 - cmp r0, 0 - beq _0805703C - bl sub_81D5694 -_0805703C: - ldr r6, =gBattleResources - ldr r0, [r6] - cmp r0, 0 - beq _080570D0 - ldr r4, =gBattleStruct - ldr r0, [r4] - bl Free - movs r5, 0 - str r5, [r4] - ldr r0, [r6] - ldr r0, [r0] - bl Free - ldr r0, [r6] - str r5, [r0] - ldr r0, [r0, 0x4] - bl Free - ldr r0, [r6] - str r5, [r0, 0x4] - ldr r0, [r0, 0x8] - bl Free - ldr r0, [r6] - str r5, [r0, 0x8] - ldr r0, [r0, 0xC] - bl Free - ldr r0, [r6] - str r5, [r0, 0xC] - ldr r0, [r0, 0x10] - bl Free - ldr r0, [r6] - str r5, [r0, 0x10] - ldr r0, [r0, 0x14] - bl Free - ldr r0, [r6] - str r5, [r0, 0x14] - ldr r0, [r0, 0x18] - bl Free - ldr r0, [r6] - str r5, [r0, 0x18] - ldr r0, [r0, 0x1C] - bl Free - ldr r0, [r6] - str r5, [r0, 0x1C] - bl Free - str r5, [r6] - ldr r4, =gLinkBattleSendBuffer - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gLinkBattleRecvBuffer - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_0202305C - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, =gUnknown_02023060 - ldr r0, [r4] - bl Free - str r5, [r4] -_080570D0: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end FreeBattleResources - - thumb_func_start AdjustFriendshipOnBattleFaint -AdjustFriendshipOnBattleFaint: @ 80570F4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08057140 - movs r0, 0x1 - bl GetBankByIdentity - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x3 - bl GetBankByIdentity - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gBattleMons - movs r0, 0x58 - adds r1, r3, 0 - muls r1, r0 - adds r1, r2 - adds r1, 0x2A - muls r0, r4 - adds r0, r2 - adds r0, 0x2A - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bls _0805714A - adds r4, r3, 0 - b _0805714A - .pool -_08057140: - movs r0, 0x1 - bl GetBankByIdentity - lsls r0, 24 - lsrs r4, r0, 24 -_0805714A: - ldr r2, =gBattleMons - movs r1, 0x58 - adds r0, r4, 0 - muls r0, r1 - adds r0, r2 - adds r3, r0, 0 - adds r3, 0x2A - adds r0, r5, 0 - muls r0, r1 - adds r0, r2 - adds r1, r0, 0 - adds r1, 0x2A - ldrb r0, [r3] - ldrb r2, [r1] - cmp r0, r2 - bls _080571B8 - ldrb r1, [r1] - subs r0, r1 - cmp r0, 0x1D - ble _08057198 - ldr r1, =gBattlePartyID - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x8 - bl AdjustFriendship - b _080571CE - .pool -_08057198: - ldr r1, =gBattlePartyID - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x6 - bl AdjustFriendship - b _080571CE - .pool -_080571B8: - ldr r1, =gBattlePartyID - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x6 - bl AdjustFriendship -_080571CE: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end AdjustFriendshipOnBattleFaint - - thumb_func_start sub_80571DC -sub_80571DC: @ 80571DC - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - adds r0, r4, 0 - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08057248 - movs r2, 0 - ldr r6, =gBattlePartyID - lsls r3, r4, 1 - ldr r5, =gUnknown_0203CF00 - ldr r4, =gBattleStruct -_080571FE: - adds r0, r2, r5 - ldr r1, [r4] - adds r1, r2, r1 - adds r1, 0x60 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x2 - ble _080571FE - adds r0, r3, r6 - ldrb r0, [r0] - bl pokemon_order_func - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r7, 0 - bl pokemon_order_func - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_81B8FB0 - movs r2, 0 - ldr r4, =gBattleStruct - ldr r3, =gUnknown_0203CF00 -_08057236: - ldr r0, [r4] - adds r0, r2, r0 - adds r0, 0x60 - adds r1, r2, r3 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x2 - ble _08057236 -_08057248: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80571DC - - thumb_func_start sub_805725C -sub_805725C: @ 805725C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r0, 0 - mov r8, r0 - ldr r1, =gBattleCommunication - mov r10, r1 - b _08057284 - .pool -_0805727C: - mov r2, r8 - cmp r2, 0 - beq _08057284 - b _08057406 -_08057284: - mov r1, r10 - ldrb r0, [r1] - cmp r0, 0x1 - bne _0805728E - b _08057390 -_0805728E: - cmp r0, 0x1 - ble _08057294 - b _080573FC -_08057294: - cmp r0, 0 - beq _0805729A - b _080573FC -_0805729A: - ldr r6, =gBattleMons - movs r0, 0x58 - mov r5, r9 - muls r5, r0 - adds r0, r6, 0 - adds r0, 0x4C - adds r4, r5, r0 - ldr r0, [r4] - movs r7, 0x7 - ands r0, r7 - cmp r0, 0 - beq _08057372 - mov r0, r9 - bl UproarWakeUpCheck - lsls r0, 24 - cmp r0, 0 - beq _080572FC - ldr r0, [r4] - movs r1, 0x8 - negs r1, r1 - ands r0, r1 - str r0, [r4] - adds r2, r6, 0 - adds r2, 0x50 - adds r2, r5, r2 - ldr r0, [r2] - ldr r1, =0xf7ffffff - ands r0, r1 - str r0, [r2] - bl BattleScriptPushCursor - movs r0, 0x1 - mov r2, r10 - strb r0, [r2, 0x5] - ldr r1, =gBattlescriptCurrInstr - ldr r0, =BattleScript_MoveUsedWokeUp - str r0, [r1] - movs r0, 0x2 - mov r8, r0 - b _08057372 - .pool -_080572FC: - adds r0, r5, r6 - adds r0, 0x20 - ldrb r0, [r0] - movs r2, 0x1 - cmp r0, 0x30 - bne _0805730A - movs r2, 0x2 -_0805730A: - ldr r1, [r4] - adds r0, r1, 0 - ands r0, r7 - cmp r0, r2 - bcs _0805731E - movs r0, 0x8 - negs r0, r0 - ands r1, r0 - str r1, [r4] - b _08057322 -_0805731E: - subs r0, r1, r2 - str r0, [r4] -_08057322: - ldr r2, =gBattleMons - movs r0, 0x58 - mov r1, r9 - muls r1, r0 - adds r0, r2, 0 - adds r0, 0x4C - adds r0, r1, r0 - ldr r4, [r0] - movs r0, 0x7 - ands r4, r0 - cmp r4, 0 - beq _08057354 - ldr r1, =gBattlescriptCurrInstr - ldr r0, =BattleScript_MoveUsedIsAsleep - str r0, [r1] - movs r1, 0x2 - mov r8, r1 - b _08057372 - .pool -_08057354: - adds r2, 0x50 - adds r2, r1, r2 - ldr r0, [r2] - ldr r1, =0xf7ffffff - ands r0, r1 - str r0, [r2] - bl BattleScriptPushCursor - ldr r0, =gBattleCommunication - strb r4, [r0, 0x5] - ldr r1, =gBattlescriptCurrInstr - ldr r0, =BattleScript_MoveUsedWokeUp - str r0, [r1] - movs r2, 0x2 - mov r8, r2 -_08057372: - ldr r1, =gBattleCommunication - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - mov r10, r1 - b _080573FC - .pool -_08057390: - ldr r1, =gBattleMons - movs r0, 0x58 - mov r2, r9 - muls r2, r0 - adds r0, r2, 0 - adds r1, 0x4C - adds r4, r0, r1 - ldr r0, [r4] - movs r1, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080573F4 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x5 - bl __umodsi3 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - beq _080573D4 - ldr r1, =gBattlescriptCurrInstr - ldr r0, =BattleScript_MoveUsedIsFrozen - str r0, [r1] - b _080573EC - .pool -_080573D4: - ldr r0, [r4] - movs r1, 0x21 - negs r1, r1 - ands r0, r1 - str r0, [r4] - bl BattleScriptPushCursor - ldr r1, =gBattlescriptCurrInstr - ldr r0, =BattleScript_MoveUsedUnfroze - str r0, [r1] - mov r0, r10 - strb r5, [r0, 0x5] -_080573EC: - movs r1, 0x2 - mov r8, r1 - ldr r2, =gBattleCommunication - mov r10, r2 -_080573F4: - mov r1, r10 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080573FC: - mov r2, r10 - ldrb r0, [r2] - cmp r0, 0x2 - beq _08057406 - b _0805727C -_08057406: - mov r0, r8 - cmp r0, 0x2 - bne _08057430 - ldr r4, =gActiveBank - mov r1, r9 - strb r1, [r4] - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - ldr r1, =gBattleMons + 0x4C - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl EmitSetMonData - ldrb r0, [r4] - bl MarkBufferBankForExecution -_08057430: - mov r0, r8 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_805725C - - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_7.s b/asm/battle_7.s deleted file mode 100644 index 94cc1ba8e7..0000000000 --- a/asm/battle_7.s +++ /dev/null @@ -1,3815 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start AllocateBattleSpritesData -AllocateBattleSpritesData: @ 805D118 - push {r4,lr} - ldr r4, =gBattleSpritesDataPtr - movs r0, 0x10 - bl AllocZeroed - str r0, [r4] - movs r0, 0x10 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1] - movs r0, 0x30 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x4] - movs r0, 0x10 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x8] - movs r0, 0x50 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0xC] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end AllocateBattleSpritesData - - thumb_func_start FreeBattleSpritesData -FreeBattleSpritesData: @ 805D158 - push {r4,r5,lr} - ldr r5, =gBattleSpritesDataPtr - ldr r0, [r5] - cmp r0, 0 - beq _0805D192 - ldr r0, [r0, 0xC] - bl Free - ldr r0, [r5] - movs r4, 0 - str r4, [r0, 0xC] - ldr r0, [r0, 0x8] - bl Free - ldr r0, [r5] - str r4, [r0, 0x8] - ldr r0, [r0, 0x4] - bl Free - ldr r0, [r5] - str r4, [r0, 0x4] - ldr r0, [r0] - bl Free - ldr r0, [r5] - str r4, [r0] - bl Free - str r4, [r5] -_0805D192: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end FreeBattleSpritesData - - thumb_func_start ChooseMoveAndTargetInBattlePalace -ChooseMoveAndTargetInBattlePalace: @ 805D19C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0x1 - negs r0, r0 - mov r9, r0 - ldr r4, =gActiveBank - ldrb r0, [r4] - lsls r2, r0, 9 - ldr r1, =gBattleBufferA + 4 - adds r2, r1 - mov r10, r2 - movs r1, 0 - movs r2, 0xFF - bl CheckMoveLimitations - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, =gBattleStruct - ldr r0, [r0] - adds r0, 0x92 - ldrb r1, [r0] - ldr r2, =gBitTable - ldrb r0, [r4] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - negs r0, r1 - orrs r0, r1 - asrs r4, r0, 31 - movs r0, 0x2 - ands r4, r0 - adds r6, r4, 0 - adds r5, r4, 0x2 - b _0805D20E - .pool -_0805D20C: - adds r4, 0x1 -_0805D20E: - cmp r4, r5 - bge _0805D234 - ldr r0, =gActiveBank - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - ldr r1, =gBattleMons + 0x48 - adds r0, r1 - ldr r0, [r0] - bl GetNatureFromPersonality - lsls r0, 24 - lsrs r0, 22 - adds r0, r4, r0 - ldr r2, =gUnknown_0831C494 - adds r0, r2 - ldrb r0, [r0] - cmp r0, r7 - ble _0805D20C -_0805D234: - subs r7, r4, r6 - cmp r4, r5 - bne _0805D23C - movs r7, 0x2 -_0805D23C: - movs r6, 0 - movs r4, 0 - mov r1, r10 - ldrh r0, [r1] - cmp r0, 0 - beq _0805D27C - mov r5, r10 -_0805D24A: - ldrh r0, [r5] - bl sub_805D4A8 - lsls r0, 24 - lsrs r0, 24 - cmp r7, r0 - bne _0805D26E - mov r0, r10 - adds r0, 0x8 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _0805D26E - ldr r0, =gBitTable - lsls r1, r4, 2 - adds r1, r0 - ldr r0, [r1] - orrs r6, r0 -_0805D26E: - adds r5, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - bgt _0805D27C - ldrh r0, [r5] - cmp r0, 0 - bne _0805D24A -_0805D27C: - cmp r6, 0 - beq _0805D2AC - ldr r3, =gBattleStruct - ldr r1, [r3] - adds r1, 0x92 - ldrb r2, [r1] - movs r0, 0xF - ands r0, r2 - strb r0, [r1] - ldr r1, [r3] - adds r1, 0x92 - lsls r0, r6, 4 - ldrb r2, [r1] - orrs r0, r2 - strb r0, [r1] - lsls r0, r6, 24 - lsrs r0, 24 - bl BattleAI_SetupAIData - bl BattleAI_ChooseMoveOrAction - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_0805D2AC: - movs r0, 0x1 - negs r0, r0 - cmp r9, r0 - beq _0805D2B6 - b _0805D40C -_0805D2B6: - mov r2, r8 - cmp r2, 0xF - bne _0805D2BE - b _0805D3EA -_0805D2BE: - movs r5, 0 - movs r6, 0 - ldr r7, =gBitTable - mov r4, r10 -_0805D2C6: - ldrh r0, [r4] - bl sub_805D4A8 - lsls r0, 24 - cmp r0, 0 - bne _0805D2DE - ldr r0, [r7] - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _0805D2DE - adds r5, 0x1 -_0805D2DE: - ldrh r0, [r4] - bl sub_805D4A8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0805D2F8 - ldr r0, [r7] - mov r2, r8 - ands r0, r2 - cmp r0, 0 - bne _0805D2F8 - adds r5, 0x10 -_0805D2F8: - ldrh r0, [r4] - bl sub_805D4A8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0805D316 - ldr r0, [r7] - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _0805D316 - movs r2, 0x80 - lsls r2, 1 - adds r5, r2 -_0805D316: - adds r7, 0x4 - adds r4, 0x2 - ldr r0, =gBitTable - adds r0, 0xC - cmp r7, r0 - ble _0805D2C6 - movs r1, 0xF - ands r1, r5 - cmp r1, 0x1 - ble _0805D32C - adds r6, 0x1 -_0805D32C: - movs r0, 0xF0 - ands r0, r5 - cmp r0, 0x1F - ble _0805D336 - adds r6, 0x1 -_0805D336: - ldr r2, =0x000001ff - cmp r0, r2 - ble _0805D33E - adds r6, 0x1 -_0805D33E: - cmp r6, 0x1 - bgt _0805D346 - cmp r6, 0 - bne _0805D388 -_0805D346: - ldr r5, =gBitTable -_0805D348: - bl Random - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - lsrs r4, r1, 16 - lsls r0, r4, 2 - adds r0, r5 - ldr r0, [r0] - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _0805D366 - mov r9, r4 -_0805D366: - movs r0, 0x1 - negs r0, r0 - cmp r9, r0 - beq _0805D348 - b _0805D3D4 - .pool -_0805D388: - cmp r1, 0x1 - ble _0805D38E - movs r6, 0 -_0805D38E: - cmp r0, 0x1F - ble _0805D394 - movs r6, 0x1 -_0805D394: - cmp r0, r2 - ble _0805D39A - movs r6, 0x2 -_0805D39A: - bl Random - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - lsrs r4, r1, 16 - ldr r1, =gBitTable - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - mov r2, r8 - ands r0, r2 - cmp r0, 0 - bne _0805D3CC - lsls r0, r4, 1 - add r0, r10 - ldrh r0, [r0] - bl sub_805D4A8 - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - bne _0805D3CC - mov r9, r4 -_0805D3CC: - movs r0, 0x1 - negs r0, r0 - cmp r9, r0 - beq _0805D39A -_0805D3D4: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bls _0805D40C -_0805D3EA: - ldr r2, =gProtectStructs - ldr r0, =gActiveBank - ldrb r1, [r0] - lsls r1, 4 - adds r1, r2 - ldrb r0, [r1, 0x2] - movs r2, 0x10 - orrs r0, r2 - strb r0, [r1, 0x2] - movs r0, 0 - b _0805D496 - .pool -_0805D40C: - mov r1, r9 - lsls r0, r1, 1 - mov r2, r10 - adds r1, r2, r0 - ldrh r0, [r1] - cmp r0, 0xAE - bne _0805D434 - ldrb r0, [r2, 0x12] - movs r5, 0 - cmp r0, 0x7 - beq _0805D442 - ldrb r1, [r2, 0x13] - movs r0, 0x7 - eors r1, r0 - negs r0, r1 - orrs r0, r1 - asrs r5, r0, 31 - movs r0, 0x10 - ands r5, r0 - b _0805D442 -_0805D434: - ldr r2, =gBattleMoves - ldrh r1, [r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r5, [r0, 0x6] -_0805D442: - movs r0, 0x10 - ands r0, r5 - cmp r0, 0 - beq _0805D45C - ldr r0, =gActiveBank - ldrb r0, [r0] - lsls r0, 8 - b _0805D48A - .pool -_0805D45C: - cmp r5, 0 - bne _0805D470 - bl sub_805D5F4 - lsls r0, 16 - lsrs r0, 16 - mov r2, r9 - orrs r2, r0 - mov r9, r2 - b _0805D490 -_0805D470: - ldr r0, =gActiveBank - ldrb r0, [r0] - bl GetBankIdentity - adds r1, r0, 0 - movs r2, 0x1 - movs r0, 0x1 - ands r0, r1 - eors r0, r2 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 16 -_0805D48A: - mov r1, r9 - orrs r1, r0 - mov r9, r1 -_0805D490: - mov r2, r9 - lsls r0, r2, 16 - lsrs r0, 16 -_0805D496: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end ChooseMoveAndTargetInBattlePalace - - thumb_func_start sub_805D4A8 -sub_805D4A8: @ 805D4A8 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - ldr r1, =gBattleMoves - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x6] - adds r3, r1, 0 - cmp r0, 0x40 - bls _0805D4C2 - b _0805D5EE -_0805D4C2: - lsls r0, 2 - ldr r1, =_0805D4D4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0805D4D4: - .4byte _0805D5D8 - .4byte _0805D5E6 - .4byte _0805D5D8 - .4byte _0805D5EE - .4byte _0805D5D8 - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5D8 - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EA - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5D8 - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5EE - .4byte _0805D5E6 -_0805D5D8: - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _0805D5EE -_0805D5E6: - movs r0, 0x2 - b _0805D5F0 -_0805D5EA: - movs r0, 0x1 - b _0805D5F0 -_0805D5EE: - movs r0, 0 -_0805D5F0: - pop {r1} - bx r1 - thumb_func_end sub_805D4A8 - - thumb_func_start sub_805D5F4 -sub_805D5F4: @ 805D5F4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0805D6FA - ldr r0, =gActiveBank - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0805D630 - movs r0, 0x1 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0x3 - b _0805D63E - .pool -_0805D630: - movs r0, 0 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0x2 -_0805D63E: - bl GetBankByIdentity - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gBattleMons - movs r2, 0x58 - mov r0, r8 - muls r0, r2 - adds r5, r0, r1 - adds r0, r7, 0 - muls r0, r2 - adds r6, r0, r1 - ldrh r0, [r5, 0x28] - ldrh r3, [r6, 0x28] - cmp r0, r3 - bne _0805D680 - bl Random - adds r3, r0, 0 - ldr r0, =gActiveBank - ldrb r1, [r0] - movs r2, 0x1 - movs r0, 0x1 - ands r0, r1 - eors r0, r2 - movs r1, 0x2 - ands r1, r3 - adds r0, r1 - b _0805D702 - .pool -_0805D680: - ldr r4, =gUnknown_0831C604 - ldr r0, =gActiveBank - mov r9, r0 - ldrb r0, [r0] - muls r0, r2 - adds r1, 0x48 - adds r0, r1 - ldr r0, [r0] - bl GetNatureFromPersonality - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - ldrb r4, [r0] - cmp r4, 0x1 - beq _0805D6CC - cmp r4, 0x1 - bgt _0805D6B4 - cmp r4, 0 - beq _0805D6BA - b _0805D6FA - .pool -_0805D6B4: - cmp r4, 0x2 - beq _0805D6DE - b _0805D6FA -_0805D6BA: - ldrh r0, [r5, 0x28] - ldrh r6, [r6, 0x28] - cmp r0, r6 - bls _0805D6C8 - mov r1, r8 - lsls r0, r1, 8 - b _0805D704 -_0805D6C8: - lsls r0, r7, 8 - b _0805D704 -_0805D6CC: - ldrh r0, [r5, 0x28] - ldrh r6, [r6, 0x28] - cmp r0, r6 - bcs _0805D6DA - mov r3, r8 - lsls r0, r3, 8 - b _0805D704 -_0805D6DA: - lsls r0, r7, 8 - b _0805D704 -_0805D6DE: - bl Random - adds r3, r0, 0 - mov r0, r9 - ldrb r1, [r0] - movs r2, 0x1 - movs r0, 0x1 - ands r0, r1 - eors r0, r2 - ands r4, r3 - adds r0, r4 - lsls r0, 24 - lsrs r0, 16 - b _0805D704 -_0805D6FA: - ldr r0, =gActiveBank - ldrb r1, [r0] - movs r0, 0x1 - eors r0, r1 -_0805D702: - lsls r0, 8 -_0805D704: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_805D5F4 - - thumb_func_start sub_805D714 -sub_805D714: @ 805D714 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r3, [r0] - lsls r0, r3, 26 - cmp r0, 0 - bge _0805D766 - adds r0, r1, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - blt _0805D766 - adds r2, r1, 0 - adds r2, 0x2C - ldrb r1, [r2] - lsls r0, r1, 25 - cmp r0, 0 - bge _0805D75C - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - b _0805D766 - .pool -_0805D75C: - lsls r0, r3, 27 - cmp r0, 0 - bge _0805D766 - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_0805D766: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_805D714 - - thumb_func_start sub_805D770 -sub_805D770: @ 805D770 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - adds r3, r4, 0 - adds r3, 0x2C - ldrb r0, [r3] - movs r2, 0x40 - orrs r0, r2 - strb r0, [r3] - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] - cmp r1, 0 - bne _0805D798 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - b _0805D7A0 - .pool -_0805D798: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_0805D7A0: - adds r0, r4, 0 - bl AnimateSprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_805D770 - - thumb_func_start sub_805D7AC -sub_805D7AC: @ 805D7AC - push {lr} - adds r2, r0, 0 - ldr r0, =gUnknown_020243FC - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0805D7E4 - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x24] - lsls r0, 16 - cmp r0, 0 - bne _0805D7E4 - movs r1, 0x26 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _0805D7E0 - ldr r0, =sub_805D7EC - b _0805D7E2 - .pool -_0805D7E0: - ldr r0, =SpriteCallbackDummy -_0805D7E2: - str r0, [r2, 0x1C] -_0805D7E4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_805D7AC - - thumb_func_start sub_805D7EC -sub_805D7EC: @ 805D7EC - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x26] - subs r0, 0x2 - strh r0, [r1, 0x26] - lsls r0, 16 - cmp r0, 0 - bne _0805D800 - ldr r0, =SpriteCallbackDummy - str r0, [r1, 0x1C] -_0805D800: - pop {r0} - bx r0 - .pool - thumb_func_end sub_805D7EC - - thumb_func_start DoStatusAnimation -DoStatusAnimation: @ 805D808 - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - ldr r6, =gBattleSpritesDataPtr - ldr r1, [r6] - ldr r5, =gActiveBank - ldrb r2, [r5] - ldr r3, [r1, 0x4] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - ldrb r2, [r1] - movs r3, 0x10 - orrs r2, r3 - strb r2, [r1] - cmp r0, 0 - bne _0805D888 - cmp r4, 0x20 - bne _0805D844 - ldrb r0, [r5] - movs r1, 0x6 - bl move_anim_start_t2 - b _0805D902 - .pool -_0805D844: - cmp r4, 0x8 - beq _0805D850 - movs r0, 0x80 - ands r0, r4 - cmp r0, 0 - beq _0805D85A -_0805D850: - ldrb r0, [r5] - movs r1, 0 - bl move_anim_start_t2 - b _0805D902 -_0805D85A: - cmp r4, 0x10 - bne _0805D868 - ldrb r0, [r5] - movs r1, 0x2 - bl move_anim_start_t2 - b _0805D902 -_0805D868: - movs r0, 0x7 - ands r0, r4 - cmp r0, 0 - beq _0805D87A - ldrb r0, [r5] - movs r1, 0x4 - bl move_anim_start_t2 - b _0805D902 -_0805D87A: - cmp r4, 0x40 - bne _0805D8EA - ldrb r0, [r5] - movs r1, 0x5 - bl move_anim_start_t2 - b _0805D902 -_0805D888: - movs r0, 0xF0 - lsls r0, 12 - ands r0, r4 - cmp r0, 0 - beq _0805D89C - ldrb r0, [r5] - movs r1, 0x3 - bl move_anim_start_t2 - b _0805D902 -_0805D89C: - movs r0, 0x7 - ands r0, r4 - cmp r0, 0 - beq _0805D8AE - ldrb r0, [r5] - movs r1, 0x1 - bl move_anim_start_t2 - b _0805D902 -_0805D8AE: - movs r0, 0x80 - lsls r0, 21 - ands r0, r4 - cmp r0, 0 - beq _0805D8C2 - ldrb r0, [r5] - movs r1, 0x7 - bl move_anim_start_t2 - b _0805D902 -_0805D8C2: - movs r0, 0x80 - lsls r0, 20 - ands r0, r4 - cmp r0, 0 - beq _0805D8D6 - ldrb r0, [r5] - movs r1, 0x8 - bl move_anim_start_t2 - b _0805D902 -_0805D8D6: - movs r0, 0xE0 - lsls r0, 8 - ands r0, r4 - cmp r0, 0 - beq _0805D8EA - ldrb r0, [r5] - movs r1, 0x9 - bl move_anim_start_t2 - b _0805D902 -_0805D8EA: - ldr r0, [r6] - ldrb r2, [r5] - ldr r0, [r0, 0x4] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - strb r0, [r1] -_0805D902: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end DoStatusAnimation - - thumb_func_start DoBattleAnimationFromTable -DoBattleAnimationFromTable: @ 805D908 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, [sp, 0x24] - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - lsls r3, 24 - lsrs r5, r3, 24 - lsls r4, 16 - lsrs r7, r4, 16 - cmp r5, 0 - bne _0805D950 - movs r0, 0x80 - ands r0, r7 - cmp r0, 0 - beq _0805D950 - ldr r0, =gBattleMonForms - adds r0, r6, r0 - movs r2, 0x7F - adds r1, r7, 0 - ands r1, r2 - strb r1, [r0] - movs r0, 0x1 - b _0805DA1E - .pool -_0805D950: - ldr r0, =gBattleSpritesDataPtr - mov r9, r0 - ldr r0, [r0] - ldr r0, [r0] - lsls r4, r6, 2 - adds r0, r4, r0 - ldrb r1, [r0] - movs r2, 0x4 - mov r8, r2 - mov r0, r8 - ands r0, r1 - cmp r0, 0 - beq _0805D9CC - adds r0, r5, 0 - bl sub_805DAA0 - lsls r0, 24 - cmp r0, 0 - bne _0805D980 - movs r0, 0x1 - b _0805DA1E - .pool -_0805D980: - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0] - adds r0, r4, r0 - ldrb r1, [r0] - mov r0, r8 - ands r0, r1 - cmp r0, 0 - beq _0805D9CC - cmp r5, 0x2 - bne _0805D9CC - ldr r1, =gSprites - ldr r0, =gBankSpriteIds - adds r0, r6, r0 - ldrb r2, [r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _0805D9CC - adds r0, r6, 0 - movs r1, 0x1 - bl refresh_graphics_maybe - adds r0, r6, 0 - bl sub_805E974 - movs r0, 0x1 - b _0805DA1E - .pool -_0805D9CC: - ldr r0, =gAnimBankAttacker - mov r2, r10 - strb r2, [r0] - ldr r0, =gAnimBankTarget - mov r1, sp - ldrb r1, [r1] - strb r1, [r0] - ldr r4, =gBattleSpritesDataPtr - ldr r0, [r4] - ldr r0, [r0, 0x8] - strh r7, [r0] - ldr r0, =gUnknown_082C9320 - adds r1, r5, 0 - movs r2, 0 - bl LaunchBattleAnimation - ldr r0, =task0A_0803415C - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r6, [r1, 0x8] - ldr r0, [r4] - movs r2, 0x8 - ldrsh r1, [r1, r2] - ldr r2, [r0, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - movs r0, 0 -_0805DA1E: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end DoBattleAnimationFromTable - - thumb_func_start task0A_0803415C -task0A_0803415C: @ 805DA48 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gAnimScriptCallback - ldr r0, [r0] - bl _call_via_r0 - ldr r0, =gAnimScriptActive - ldrb r0, [r0] - cmp r0, 0 - bne _0805DA8A - ldr r0, =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - ldr r2, [r2, 0x4] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1] - movs r0, 0x21 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_0805DA8A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task0A_0803415C - - thumb_func_start sub_805DAA0 -sub_805DAA0: @ 805DAA0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD - bgt _0805DAB4 - cmp r0, 0xA - bge _0805DAB8 - cmp r0, 0x2 - beq _0805DAB8 - b _0805DABC -_0805DAB4: - cmp r0, 0x11 - bne _0805DABC -_0805DAB8: - movs r0, 0x1 - b _0805DABE -_0805DABC: - movs r0, 0 -_0805DABE: - pop {r1} - bx r1 - thumb_func_end sub_805DAA0 - - thumb_func_start DoSpecialBattleAnimation -DoSpecialBattleAnimation: @ 805DAC4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =gAnimBankAttacker - strb r1, [r0] - ldr r0, =gAnimBankTarget - strb r2, [r0] - ldr r0, =gUnknown_082C937C - adds r1, r3, 0 - movs r2, 0 - bl LaunchBattleAnimation - ldr r0, =task0A_08034248 - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - movs r2, 0x8 - ldrsh r1, [r1, r2] - ldr r2, [r0, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end DoSpecialBattleAnimation - - thumb_func_start task0A_08034248 -task0A_08034248: @ 805DB34 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gAnimScriptCallback - ldr r0, [r0] - bl _call_via_r0 - ldr r0, =gAnimScriptActive - ldrb r0, [r0] - cmp r0, 0 - bne _0805DB76 - ldr r0, =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - ldr r2, [r2, 0x4] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1] - movs r0, 0x41 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_0805DB76: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task0A_08034248 - - thumb_func_start IsMoveWithoutAnimation -IsMoveWithoutAnimation: @ 805DB8C - movs r0, 0 - bx lr - thumb_func_end IsMoveWithoutAnimation - - thumb_func_start mplay_80342A4 -mplay_80342A4: @ 805DB90 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0 - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _0805DBD8 - ldr r2, =gBattleSpritesDataPtr - ldr r0, [r2] - ldr r1, [r0, 0x4] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x8] - adds r1, 0x1 - strb r1, [r0, 0x8] - ldr r2, [r2] - ldr r0, =gActiveBank - ldrb r1, [r0] - ldr r2, [r2, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x8] - cmp r0, 0x1D - bls _0805DBDC - ldr r0, =gMPlay_SE1 - bl m4aMPlayStop - ldr r0, =gMPlay_SE2 - bl m4aMPlayStop -_0805DBD8: - cmp r5, 0 - beq _0805DBF0 -_0805DBDC: - movs r0, 0x1 - b _0805DC02 - .pool -_0805DBF0: - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - strb r5, [r0, 0x8] - movs r0, 0 -_0805DC02: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end mplay_80342A4 - - thumb_func_start BattleLoadOpponentMonSpriteGfx -BattleLoadOpponentMonSpriteGfx: @ 805DC0C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - movs r1, 0 - bl GetMonData - str r0, [sp] - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - mov r2, r8 - lsls r1, r2, 2 - adds r2, r1, r0 - ldrh r0, [r2, 0x2] - cmp r0, 0 - bne _0805DC50 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - ldr r6, [sp] - b _0805DC58 - .pool -_0805DC50: - ldrh r5, [r2, 0x2] - ldr r0, =gTransformedPersonalities - adds r0, r1, r0 - ldr r6, [r0] -_0805DC58: - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - mov r10, r0 - mov r0, r8 - bl GetBankIdentity - lsls r0, 24 - lsls r2, r5, 3 - ldr r1, =gMonFrontPicTable - adds r2, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - lsrs r0, 22 - adds r1, 0x4 - adds r1, r0 - ldr r1, [r1] - adds r0, r2, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl HandleLoadSpecialPokePic_DontHandleDeoxys - mov r3, r8 - lsls r2, r3, 4 - movs r0, 0x80 - lsls r0, 1 - adds r7, r2, r0 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - lsls r1, r3, 2 - adds r0, r1, r0 - ldrh r0, [r0, 0x2] - str r1, [sp, 0x4] - mov r9, r2 - cmp r0, 0 - bne _0805DCBC - adds r0, r4, 0 - bl pokemon_get_pal - b _0805DCC6 - .pool -_0805DCBC: - adds r0, r5, 0 - mov r1, r10 - ldr r2, [sp] - bl species_and_otid_get_pal -_0805DCC6: - adds r6, r0, 0 - ldr r4, =0x0201c000 - adds r0, r6, 0 - adds r1, r4, 0 - bl LZDecompressWram - adds r0, r4, 0 - adds r1, r7, 0 - movs r2, 0x20 - bl LoadPalette - mov r1, r9 - adds r1, 0x80 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =0x00000181 - cmp r5, r0 - bne _0805DD1A - movs r7, 0x80 - lsls r7, 1 - add r7, r9 - ldr r5, =gBattleStruct - ldr r1, [r5] - movs r4, 0x80 - lsls r4, 1 - adds r1, r4 - adds r0, r6, 0 - bl LZDecompressWram - ldr r0, =gBattleMonForms - add r0, r8 - ldrb r1, [r0] - lsls r1, 5 - adds r1, r4 - ldr r0, [r5] - adds r0, r1 - adds r1, r7, 0 - movs r2, 0x20 - bl LoadPalette -_0805DD1A: - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - ldr r1, [sp, 0x4] - adds r0, r1, r0 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _0805DD46 - ldr r3, =0x00007fff - adds r0, r7, 0 - movs r1, 0x10 - movs r2, 0x6 - bl BlendPalette - lsls r1, r7, 1 - ldr r0, =gPlttBufferFaded - adds r0, r1, r0 - ldr r2, =gPlttBufferUnfaded - adds r1, r2 - ldr r2, =0x04000008 - bl CpuSet -_0805DD46: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end BattleLoadOpponentMonSpriteGfx - - thumb_func_start BattleLoadPlayerMonSpriteGfx -BattleLoadPlayerMonSpriteGfx: @ 805DD7C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r6, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - movs r1, 0 - bl GetMonData - str r0, [sp] - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - mov r2, r8 - lsls r1, r2, 2 - adds r2, r1, r0 - ldrh r0, [r2, 0x2] - cmp r0, 0 - bne _0805DDC0 - adds r0, r6, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - ldr r4, [sp] - b _0805DDC8 - .pool -_0805DDC0: - ldrh r5, [r2, 0x2] - ldr r0, =gTransformedPersonalities - adds r0, r1, r0 - ldr r4, [r0] -_0805DDC8: - adds r0, r6, 0 - movs r1, 0x1 - bl GetMonData - str r0, [sp, 0x4] - mov r0, r8 - bl GetBankIdentity - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0x1 - mov r1, r8 - bl sub_80688F8 - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - lsls r1, 2 - mov r10, r1 - cmp r0, 0x1 - beq _0805DE00 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - add r0, r10 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _0805DE2C -_0805DE00: - lsls r0, r5, 3 - ldr r1, =gMonBackPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - lsls r2, r7, 2 - adds r1, 0x4 - adds r1, r2 - ldr r1, [r1] - adds r2, r5, 0 - adds r3, r4, 0 - bl HandleLoadSpecialPokePic_DontHandleDeoxys - b _0805DE46 - .pool -_0805DE2C: - lsls r0, r5, 3 - ldr r1, =gMonBackPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - lsls r2, r7, 2 - adds r1, 0x4 - adds r1, r2 - ldr r1, [r1] - adds r2, r5, 0 - adds r3, r4, 0 - bl HandleLoadSpecialPokePic -_0805DE46: - mov r2, r8 - lsls r1, r2, 4 - movs r0, 0x80 - lsls r0, 1 - adds r7, r1, r0 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - add r0, r10 - ldrh r0, [r0, 0x2] - mov r9, r1 - cmp r0, 0 - bne _0805DE74 - adds r0, r6, 0 - bl pokemon_get_pal - b _0805DE7E - .pool -_0805DE74: - adds r0, r5, 0 - ldr r1, [sp, 0x4] - ldr r2, [sp] - bl species_and_otid_get_pal -_0805DE7E: - adds r6, r0, 0 - ldr r4, =0x0201c000 - adds r0, r6, 0 - adds r1, r4, 0 - bl LZDecompressWram - adds r0, r4, 0 - adds r1, r7, 0 - movs r2, 0x20 - bl LoadPalette - mov r1, r9 - adds r1, 0x80 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =0x00000181 - cmp r5, r0 - bne _0805DED2 - movs r7, 0x80 - lsls r7, 1 - add r7, r9 - ldr r5, =gBattleStruct - ldr r1, [r5] - movs r4, 0x80 - lsls r4, 1 - adds r1, r4 - adds r0, r6, 0 - bl LZDecompressWram - ldr r0, =gBattleMonForms - add r0, r8 - ldrb r1, [r0] - lsls r1, 5 - adds r1, r4 - ldr r0, [r5] - adds r0, r1 - adds r1, r7, 0 - movs r2, 0x20 - bl LoadPalette -_0805DED2: - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - add r0, r10 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _0805DEFC - ldr r3, =0x00007fff - adds r0, r7, 0 - movs r1, 0x10 - movs r2, 0x6 - bl BlendPalette - lsls r1, r7, 1 - ldr r0, =gPlttBufferFaded - adds r0, r1, r0 - ldr r2, =gPlttBufferUnfaded - adds r1, r2 - ldr r2, =0x04000008 - bl CpuSet -_0805DEFC: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end BattleLoadPlayerMonSpriteGfx - - thumb_func_start nullsub_23 -nullsub_23: @ 805DF30 - bx lr - thumb_func_end nullsub_23 - - thumb_func_start nullsub_24 -nullsub_24: @ 805DF34 - bx lr - thumb_func_end nullsub_24 - - thumb_func_start DecompressTrainerFrontPic -DecompressTrainerFrontPic: @ 805DF38 - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r0, 24 - lsrs r0, 24 - bl GetBankIdentity - lsls r0, 24 - lsls r4, 3 - ldr r2, =gTrainerFrontPicTable - adds r2, r4, r2 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - lsrs r0, 22 - adds r1, 0x4 - adds r1, r0 - ldr r1, [r1] - adds r0, r2, 0 - movs r2, 0 - bl DecompressPicFromTable_2 - ldr r0, =gTrainerFrontPicPaletteTable - adds r4, r0 - adds r0, r4, 0 - bl LoadCompressedObjectPalette - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end DecompressTrainerFrontPic - - thumb_func_start DecompressTrainerBackPic -DecompressTrainerBackPic: @ 805DF84 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl GetBankIdentity - lsls r0, 24 - lsls r5, 3 - ldr r2, =gTrainerBackPicTable - adds r2, r5, r2 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - lsrs r0, 22 - adds r1, 0x4 - adds r1, r0 - ldr r1, [r1] - adds r0, r2, 0 - movs r2, 0 - bl DecompressPicFromTable_2 - ldr r0, =gTrainerBackPicPaletteTable - adds r5, r0 - ldr r0, [r5] - lsls r4, 20 - movs r1, 0x80 - lsls r1, 17 - adds r4, r1 - lsrs r4, 16 - adds r1, r4, 0 - movs r2, 0x20 - bl LoadCompressedPalette - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end DecompressTrainerBackPic - - thumb_func_start nullsub_25 -nullsub_25: @ 805DFE0 - bx lr - thumb_func_end nullsub_25 - - thumb_func_start FreeTrainerFrontPicPalette -FreeTrainerFrontPicPalette: @ 805DFE4 - push {lr} - lsls r0, 16 - ldr r1, =gTrainerFrontPicPaletteTable - lsrs r0, 13 - adds r0, r1 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - pop {r0} - bx r0 - .pool - thumb_func_end FreeTrainerFrontPicPalette - - thumb_func_start sub_805DFFC -sub_805DFFC: @ 805DFFC - push {r4-r7,lr} - ldr r4, =gUnknown_0832C128 - adds r0, r4, 0 - bl LoadSpritePalette - adds r4, 0x8 - adds r0, r4, 0 - bl LoadSpritePalette - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _0805E034 - ldr r0, =gUnknown_0832C0D0 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0832C0D8 - bl LoadCompressedObjectPic - movs r5, 0x2 - b _0805E056 - .pool -_0805E034: - ldr r4, =gUnknown_0832C0E0 - adds r0, r4, 0 - bl LoadCompressedObjectPic - adds r4, 0x8 - adds r0, r4, 0 - bl LoadCompressedObjectPic - ldr r4, =gUnknown_0832C0F0 - adds r0, r4, 0 - bl LoadCompressedObjectPic - adds r4, 0x8 - adds r0, r4, 0 - bl LoadCompressedObjectPic - movs r5, 0x4 -_0805E056: - movs r4, 0 - cmp r4, r5 - bcs _0805E076 - ldr r7, =gBanksByIdentity - ldr r6, =gUnknown_0832C108 -_0805E060: - adds r0, r4, r7 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r6 - bl LoadCompressedObjectPic - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _0805E060 -_0805E076: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_805DFFC - - thumb_func_start BattleLoadAllHealthBoxesGfx -BattleLoadAllHealthBoxesGfx: @ 805E08C - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - movs r6, 0 - cmp r4, 0 - bne _0805E09C - b _0805E1AE -_0805E09C: - cmp r4, 0x1 - bne _0805E0B8 - ldr r4, =gUnknown_0832C128 - adds r0, r4, 0 - bl LoadSpritePalette - adds r4, 0x8 - adds r0, r4, 0 - bl LoadSpritePalette - b _0805E1AE - .pool -_0805E0B8: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _0805E120 - cmp r4, 0x2 - bne _0805E0F0 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0805E0E4 - ldr r0, =gUnknown_0832C100 - bl LoadCompressedObjectPic - b _0805E1AE - .pool -_0805E0E4: - ldr r0, =gUnknown_0832C0D0 - bl LoadCompressedObjectPic - b _0805E1AE - .pool -_0805E0F0: - cmp r4, 0x3 - bne _0805E100 - ldr r0, =gUnknown_0832C0D8 - bl LoadCompressedObjectPic - b _0805E1AE - .pool -_0805E100: - cmp r4, 0x4 - bne _0805E110 - ldr r0, =gBanksByIdentity - ldrb r0, [r0] - b _0805E198 - .pool -_0805E110: - cmp r4, 0x5 - bne _0805E1AC - ldr r0, =gBanksByIdentity - ldrb r0, [r0, 0x1] - b _0805E198 - .pool -_0805E120: - cmp r4, 0x2 - bne _0805E130 - ldr r0, =gUnknown_0832C0E0 - bl LoadCompressedObjectPic - b _0805E1AE - .pool -_0805E130: - cmp r4, 0x3 - bne _0805E140 - ldr r0, =gUnknown_0832C0E8 - bl LoadCompressedObjectPic - b _0805E1AE - .pool -_0805E140: - cmp r4, 0x4 - bne _0805E150 - ldr r0, =gUnknown_0832C0F0 - bl LoadCompressedObjectPic - b _0805E1AE - .pool -_0805E150: - cmp r4, 0x5 - bne _0805E160 - ldr r0, =gUnknown_0832C0F8 - bl LoadCompressedObjectPic - b _0805E1AE - .pool -_0805E160: - cmp r4, 0x6 - bne _0805E170 - ldr r0, =gBanksByIdentity - ldrb r0, [r0] - b _0805E198 - .pool -_0805E170: - cmp r4, 0x7 - bne _0805E180 - ldr r0, =gBanksByIdentity - ldrb r0, [r0, 0x1] - b _0805E198 - .pool -_0805E180: - cmp r4, 0x8 - bne _0805E190 - ldr r0, =gBanksByIdentity - ldrb r0, [r0, 0x2] - b _0805E198 - .pool -_0805E190: - cmp r5, 0x9 - bne _0805E1AC - ldr r0, =gBanksByIdentity - ldrb r0, [r0, 0x3] -_0805E198: - lsls r0, 3 - ldr r1, =gUnknown_0832C108 - adds r0, r1 - bl LoadCompressedObjectPic - b _0805E1AE - .pool -_0805E1AC: - movs r6, 0x1 -_0805E1AE: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end BattleLoadAllHealthBoxesGfx - - thumb_func_start LoadBattleBarGfx -LoadBattleBarGfx: @ 805E1B8 - push {lr} - ldr r0, =gUnknown_08C093F0 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - movs r2, 0xBA - lsls r2, 1 - adds r1, r2 - ldr r1, [r1] - bl LZDecompressWram - pop {r0} - bx r0 - .pool - thumb_func_end LoadBattleBarGfx - - thumb_func_start BattleInitAllSprites -BattleInitAllSprites: @ 805E1D8 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r6, 0 - ldrb r0, [r5] - cmp r0, 0x6 - bls _0805E1E8 - b _0805E346 -_0805E1E8: - lsls r0, 2 - ldr r1, =_0805E1F8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0805E1F8: - .4byte _0805E214 - .4byte _0805E21A - .4byte _0805E324 - .4byte _0805E230 - .4byte _0805E260 - .4byte _0805E29C - .4byte _0805E33C -_0805E214: - bl sub_805E378 - b _0805E324 -_0805E21A: - ldrb r0, [r4] - bl BattleLoadAllHealthBoxesGfx - lsls r0, 24 - cmp r0, 0 - beq _0805E228 - b _0805E320 -_0805E228: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0805E346 -_0805E230: - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0805E24C - ldrb r0, [r4] - cmp r0, 0 - bne _0805E24C - bl CreateSafariPlayerHealthboxSprites - b _0805E252 - .pool -_0805E24C: - ldrb r0, [r4] - bl CreateBankHealthboxSprites -_0805E252: - ldr r2, =gHealthBoxesIds - ldrb r1, [r4] - adds r1, r2 - strb r0, [r1] - b _0805E30E - .pool -_0805E260: - ldrb r0, [r4] - bl SetBankHealthboxSpritePos - ldr r0, =gBanksByIdentity - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - cmp r0, 0x1 - bhi _0805E288 - ldr r0, =gHealthBoxesIds - adds r0, r1, r0 - ldrb r0, [r0] - movs r1, 0 - bl DummyBattleInterfaceFunc - b _0805E30E - .pool -_0805E288: - ldr r0, =gHealthBoxesIds - adds r0, r1, r0 - ldrb r0, [r0] - movs r1, 0x1 - bl DummyBattleInterfaceFunc - b _0805E30E - .pool -_0805E29C: - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0805E2E4 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0805E302 - ldr r0, =gHealthBoxesIds - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - ldr r2, =gBattlePartyID - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, =gPlayerParty - adds r1, r2 - movs r2, 0 - bl UpdateHealthboxAttribute - b _0805E302 - .pool -_0805E2E4: - ldr r0, =gHealthBoxesIds - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - ldr r2, =gBattlePartyID - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, =gEnemyParty - adds r1, r2 - movs r2, 0 - bl UpdateHealthboxAttribute -_0805E302: - ldr r1, =gHealthBoxesIds - ldrb r0, [r4] - adds r0, r1 - ldrb r0, [r0] - bl SetHealthboxSpriteInvisible -_0805E30E: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - ldr r1, =gNoOfAllBanks - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bne _0805E346 -_0805E320: - movs r0, 0 - strb r0, [r4] -_0805E324: - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - b _0805E346 - .pool -_0805E33C: - bl LoadAndCreateEnemyShadowSprites - bl sub_81B8C68 - movs r6, 0x1 -_0805E346: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end BattleInitAllSprites - - thumb_func_start sub_805E350 -sub_805E350: @ 805E350 - push {r4,lr} - ldr r4, =gBattleSpritesDataPtr - ldr r0, [r4] - ldr r0, [r0, 0x4] - movs r1, 0 - movs r2, 0x30 - bl memset - ldr r0, [r4] - ldr r0, [r0, 0x8] - movs r1, 0 - movs r2, 0x10 - bl memset - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_805E350 - - thumb_func_start sub_805E378 -sub_805E378: @ 805E378 - push {lr} - bl sub_805E350 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - movs r1, 0 - movs r2, 0x10 - bl memset - pop {r0} - bx r0 - .pool - thumb_func_end sub_805E378 - - thumb_func_start sub_805E394 -sub_805E394: @ 805E394 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r4, 0 - ldr r5, =gNoOfAllBanks - ldrb r0, [r5] - cmp r4, r0 - bge _0805E3EA - ldr r0, =gSprites - mov r9, r0 - movs r0, 0x1 - mov r12, r0 - movs r0, 0x2 - negs r0, r0 - mov r8, r0 - ldr r7, =gBattleSpritesDataPtr - ldr r6, =gBankSpriteIds -_0805E3B8: - ldr r0, [r7] - ldr r0, [r0] - lsls r3, r4, 2 - adds r3, r0 - adds r0, r4, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - adds r0, 0x3E - ldrb r1, [r0] - lsls r1, 29 - lsrs r1, 31 - mov r0, r12 - ands r1, r0 - ldrb r2, [r3] - mov r0, r8 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - adds r4, 0x1 - ldrb r0, [r5] - cmp r4, r0 - blt _0805E3B8 -_0805E3EA: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_805E394 - - thumb_func_start CopyBattleSpriteInvisibility -CopyBattleSpriteInvisibility: @ 805E408 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gBattleSpritesDataPtr - ldr r1, [r1] - ldr r1, [r1] - lsls r3, r0, 2 - adds r3, r1 - ldr r2, =gSprites - ldr r1, =gBankSpriteIds - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - lsls r1, 29 - lsrs r1, 31 - ldrb r2, [r3] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - bx lr - .pool - thumb_func_end CopyBattleSpriteInvisibility - - thumb_func_start sub_805E448 -sub_805E448: @ 805E448 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - lsls r2, 24 - cmp r2, 0 - beq _0805E51C - ldr r0, =gBankSpriteIds - adds r5, r7, r0 - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - mov r8, r1 - add r0, r8 - ldr r4, =gBattleSpritesDataPtr - ldr r1, [r4] - ldr r1, [r1, 0x8] - ldrb r1, [r1] - bl StartSpriteAnim - lsls r0, r7, 20 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r6, r0, 16 - ldr r2, =gBattleStruct - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrh r1, [r0] - lsls r1, 5 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3 - ldr r0, [r2] - adds r0, r1 - adds r1, r6, 0 - movs r2, 0x20 - bl LoadPalette - ldr r1, =gBattleMonForms - adds r1, r7, r1 - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrh r0, [r0] - strb r0, [r1] - ldr r0, [r4] - ldr r1, [r0] - lsls r0, r7, 2 - adds r0, r1 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _0805E4DE - ldr r3, =0x00007fff - adds r0, r6, 0 - movs r1, 0x10 - movs r2, 0x6 - bl BlendPalette - lsls r1, r6, 1 - ldr r0, =gPlttBufferFaded - adds r0, r1, r0 - ldr r2, =gPlttBufferUnfaded - adds r1, r2 - ldr r2, =0x04000008 - bl CpuSet -_0805E4DE: - adds r0, r7, 0 - bl sub_80A6138 - ldrb r2, [r5] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - add r1, r8 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x22] - b _0805E77A - .pool -_0805E51C: - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0805E558 - movs r0, 0 - mov r10, r0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0x18] - ldrh r1, [r2, 0x2] - mov r8, r1 - ldr r3, [r2, 0x8] - mov r9, r3 - ldr r4, [r2, 0xC] - lsls r0, r1, 3 - ldr r1, =gMonBackPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x4] - ldr r3, [r2, 0x10] - b _0805E5FA - .pool -_0805E558: - adds r0, r7, 0 - bl GetBankIdentity - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, [sp] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0805E58C - ldr r1, =gBattlePartyID - ldr r2, [sp] - lsls r0, r2, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty - b _0805E59C - .pool -_0805E58C: - ldr r1, =gBattlePartyID - ldr r3, [sp] - lsls r0, r3, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty -_0805E59C: - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - adds r0, r7, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0805E618 - ldr r0, =gBattlePartyID - lsls r4, r7, 1 - adds r4, r0 - ldrh r0, [r4] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gPlayerParty - adds r0, r5 - movs r1, 0 - bl GetMonData - mov r9, r0 - ldrh r0, [r4] - muls r0, r6 - adds r0, r5 - movs r1, 0x1 - bl GetMonData - adds r4, r0, 0 - mov r1, r8 - lsls r0, r1, 3 - ldr r1, =gMonBackPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - mov r3, r10 - lsls r2, r3, 2 - adds r1, 0x4 - adds r1, r2 - ldr r1, [r1] - ldr r3, =gTransformedPersonalities - lsls r2, r7, 2 - adds r2, r3 - ldr r3, [r2] -_0805E5FA: - mov r2, r8 - bl HandleLoadSpecialPokePic_DontHandleDeoxys - b _0805E662 - .pool -_0805E618: - ldr r0, =gBattlePartyID - lsls r4, r7, 1 - adds r4, r0 - ldrh r0, [r4] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gEnemyParty - adds r0, r5 - movs r1, 0 - bl GetMonData - mov r9, r0 - ldrh r0, [r4] - muls r0, r6 - adds r0, r5 - movs r1, 0x1 - bl GetMonData - adds r4, r0, 0 - mov r1, r8 - lsls r0, r1, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - mov r3, r10 - lsls r2, r3, 2 - adds r1, 0x4 - adds r1, r2 - ldr r1, [r1] - ldr r3, =gTransformedPersonalities - lsls r2, r7, 2 - adds r2, r3 - ldr r3, [r2] - mov r2, r8 - bl HandleLoadSpecialPokePic_DontHandleDeoxys -_0805E662: - ldr r0, =gMonSpritesGfxPtr - ldr r0, [r0] - mov r2, r10 - lsls r1, r2, 2 - adds r0, 0x4 - adds r0, r1 - ldr r2, [r0] - ldr r0, =gBankSpriteIds - adds r0, r7 - mov r10, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r3, =gSprites - adds r0, r3 - ldrh r0, [r0, 0x4] - lsls r0, 22 - lsrs r0, 17 - ldr r1, =0x06010000 - adds r0, r1 - ldr r1, =0x040000d4 - str r2, [r1] - str r0, [r1, 0x4] - ldr r0, =0x84000200 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - lsls r0, r7, 20 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r6, r0, 16 - mov r0, r8 - adds r1, r4, 0 - mov r2, r9 - bl species_and_otid_get_pal - mov r9, r0 - ldr r4, =0x0201c000 - adds r1, r4, 0 - bl LZDecompressWram - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =0x00000181 - cmp r8, r0 - bne _0805E70A - mov r2, r10 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r1, 0x8 - adds r0, r1 - ldr r1, =gMonAnimationsSpriteAnimsPtrTable - mov r3, r8 - lsls r2, r3, 2 - adds r1, r2 - ldr r1, [r1] - str r1, [r0] - ldr r5, =gBattleStruct - ldr r1, [r5] - movs r4, 0x80 - lsls r4, 1 - adds r1, r4 - mov r0, r9 - bl LZDecompressWram - ldr r0, =gBattleMonForms - ldr r1, [sp] - adds r0, r1, r0 - ldrb r1, [r0] - lsls r1, 5 - adds r1, r4 - ldr r0, [r5] - adds r0, r1 - adds r1, r6, 0 - movs r2, 0x20 - bl LoadPalette -_0805E70A: - ldr r3, =0x00007fff - adds r0, r6, 0 - movs r1, 0x10 - movs r2, 0x6 - bl BlendPalette - lsls r1, r6, 1 - ldr r0, =gPlttBufferFaded - adds r0, r1, r0 - ldr r2, =gPlttBufferUnfaded - adds r1, r2 - ldr r2, =0x04000008 - bl CpuSet - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0805E74A - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r7, 2 - adds r0, r1 - mov r2, r8 - strh r2, [r0, 0x2] - ldr r0, =gBattleMonForms - adds r1, r7, r0 - ldr r3, [sp] - adds r0, r3, r0 - ldrb r0, [r0] - strb r0, [r1] -_0805E74A: - adds r0, r7, 0 - bl sub_80A6138 - mov r1, r10 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r2, =gSprites - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x22] - mov r3, r10 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =gBattleMonForms - adds r1, r7, r1 - ldrb r1, [r1] - bl StartSpriteAnim -_0805E77A: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_805E448 - - thumb_func_start BattleLoadSubstituteSpriteGfx -BattleLoadSubstituteSpriteGfx: @ 805E7DC - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - lsls r1, 24 - cmp r1, 0 - bne _0805E898 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0805E7F8 - movs r4, 0 - b _0805E802 -_0805E7F8: - adds r0, r4, 0 - bl GetBankIdentity - lsls r0, 24 - lsrs r4, r0, 24 -_0805E802: - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0805E814 - ldr r0, =gUnknown_08C2D120 - b _0805E822 - .pool -_0805E814: - adds r0, r5, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _0805E83C - ldr r0, =gUnknown_08C2CEE0 -_0805E822: - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - lsls r4, 2 - adds r1, 0x4 - adds r1, r4 - ldr r1, [r1] - bl LZDecompressVram - b _0805E84E - .pool -_0805E83C: - ldr r0, =gUnknown_08C2D120 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - lsls r4, 2 - adds r1, 0x4 - adds r1, r4 - ldr r1, [r1] - bl LZDecompressVram -_0805E84E: - movs r3, 0x1 - lsls r6, r5, 4 - ldr r7, =gUnknown_08C2CEBC - ldr r0, =gMonSpritesGfxPtr - ldr r0, [r0] - adds r0, 0x4 - adds r4, r0, r4 - ldr r2, =0x040000d4 - ldr r5, =0x84000200 -_0805E860: - ldr r0, [r4] - lsls r1, r3, 11 - adds r1, r0, r1 - str r0, [r2] - str r1, [r2, 0x4] - str r5, [r2, 0x8] - ldr r0, [r2, 0x8] - adds r3, 0x1 - cmp r3, 0x3 - ble _0805E860 - movs r0, 0x80 - lsls r0, 1 - adds r1, r6, r0 - adds r0, r7, 0 - movs r2, 0x20 - bl LoadCompressedPalette - b _0805E8E6 - .pool -_0805E898: - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0805E8E6 - adds r0, r4, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _0805E8D0 - ldr r1, =gBattlePartyID - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty - adds r0, r1 - adds r1, r4, 0 - bl BattleLoadOpponentMonSpriteGfx - b _0805E8E6 - .pool -_0805E8D0: - ldr r1, =gBattlePartyID - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - adds r1, r5, 0 - bl BattleLoadPlayerMonSpriteGfx -_0805E8E6: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end BattleLoadSubstituteSpriteGfx - - thumb_func_start refresh_graphics_maybe -refresh_graphics_maybe: @ 805E8F4 - push {r4-r6,lr} - adds r5, r1, 0 - adds r4, r2, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - adds r1, r5, 0 - bl BattleLoadSubstituteSpriteGfx - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, =gSprites - adds r4, r0, r1 - ldr r0, =gBattleMonForms - adds r0, r6, r0 - ldrb r1, [r0] - adds r0, r4, 0 - bl StartSpriteAnim - cmp r5, 0 - bne _0805E938 - adds r0, r6, 0 - bl sub_80A614C - b _0805E93E - .pool -_0805E938: - adds r0, r6, 0 - bl sub_80A6138 -_0805E93E: - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end refresh_graphics_maybe - - thumb_func_start TrySetBehindSubstituteSpriteBit -TrySetBehindSubstituteSpriteBit: @ 805E94C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xA4 - bne _0805E96C - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - lsls r1, r2, 2 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] -_0805E96C: - pop {r0} - bx r0 - .pool - thumb_func_end TrySetBehindSubstituteSpriteBit - - thumb_func_start sub_805E974 -sub_805E974: @ 805E974 - lsls r0, 24 - ldr r1, =gBattleSpritesDataPtr - ldr r1, [r1] - ldr r1, [r1] - lsrs r0, 22 - adds r0, r1 - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - bx lr - .pool - thumb_func_end sub_805E974 - - thumb_func_start sub_805E990 -sub_805E990: @ 805E990 - push {r4-r7,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - adds r7, r6, 0 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r4, 16 - asrs r4, 16 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl GetHPBarLevel - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0805EA08 - ldr r7, =gBattleSpritesDataPtr - ldr r0, [r7] - ldr r2, [r0] - lsls r4, r6, 2 - adds r0, r4, r2 - ldrb r1, [r0] - movs r5, 0x2 - movs r3, 0x2 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _0805EA5A - adds r0, r6, 0 - eors r0, r5 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _0805E9F6 - movs r0, 0x5A - bl PlaySE -_0805E9F6: - ldr r0, [r7] - ldr r1, [r0] - adds r1, r4, r1 - ldrb r0, [r1] - orrs r0, r5 - strb r0, [r1] - b _0805EA5A - .pool -_0805EA08: - ldr r4, =gBattleSpritesDataPtr - ldr r0, [r4] - ldr r0, [r0] - lsls r1, r6, 2 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _0805EA34 - movs r0, 0x5A - bl m4aSongNumStop - b _0805EA5A - .pool -_0805EA34: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0805EA5A - ldr r1, [r4] - movs r0, 0x2 - eors r7, r0 - ldr r1, [r1] - lsls r0, r7, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0805EA5A - movs r0, 0x5A - bl m4aSongNumStop -_0805EA5A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_805E990 - - thumb_func_start BattleMusicStop -BattleMusicStop: @ 805EA60 - push {r4-r6,lr} - movs r0, 0 - bl GetBankByIdentity - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, =gBattleSpritesDataPtr - ldr r0, [r5] - ldr r0, [r0] - lsls r1, r4, 2 - adds r1, r0 - ldrb r2, [r1] - movs r6, 0x3 - negs r6, r6 - adds r0, r6, 0 - ands r0, r2 - strb r0, [r1] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0805EAA2 - ldr r2, [r5] - movs r0, 0x2 - adds r1, r4, 0 - eors r1, r0 - ldr r0, [r2] - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1] - adds r0, r6, 0 - ands r0, r2 - strb r0, [r1] -_0805EAA2: - movs r0, 0x5A - bl m4aSongNumStop - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end BattleMusicStop - - thumb_func_start sub_805EAB4 -sub_805EAB4: @ 805EAB4 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r4, 16 - asrs r4, 16 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl GetHPBarLevel - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_805EAB4 - - thumb_func_start sub_805EAE8 -sub_805EAE8: @ 805EAE8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0805EB7E - movs r0, 0 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0x2 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r5, =gBattlePartyID - mov r1, r8 - lsls r0, r1, 1 - adds r0, r5 - ldrb r0, [r0] - bl pokemon_order_func - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r1, r9 - lsls r0, r1, 1 - adds r0, r5 - ldrb r0, [r0] - bl pokemon_order_func - lsls r0, 24 - lsrs r5, r0, 24 - movs r7, 0x64 - adds r0, r4, 0 - muls r0, r7 - ldr r6, =gPlayerParty - adds r4, r0, r6 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0805EB5A - adds r0, r4, 0 - mov r1, r8 - bl sub_805E990 -_0805EB5A: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0805EB7E - adds r0, r5, 0 - muls r0, r7 - adds r4, r0, r6 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0805EB7E - adds r0, r4, 0 - mov r1, r9 - bl sub_805E990 -_0805EB7E: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_805EAE8 - - thumb_func_start sub_805EB9C -sub_805EB9C: @ 805EB9C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r5, 0 - ldr r0, =gNoOfAllBanks - ldrb r0, [r0] - cmp r5, r0 - bge _0805EC6C - movs r0, 0x3 - mov r10, r8 - mov r1, r10 - ands r1, r0 - mov r10, r1 - movs r6, 0 - movs r2, 0x3F - negs r2, r2 - mov r9, r2 -_0805EBC8: - lsls r0, r5, 24 - lsrs r0, 24 - bl IsBankSpritePresent - lsls r0, 24 - cmp r0, 0 - beq _0805EC60 - ldr r4, =gSprites - ldr r0, =gBankSpriteIds - adds r3, r5, r0 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - movs r7, 0x4 - negs r7, r7 - adds r2, r7, 0 - ands r1, r2 - mov r2, r10 - orrs r1, r2 - strb r1, [r0, 0x1] - mov r7, r8 - cmp r7, 0 - bne _0805EC3C - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r2, [r0, 0x4] - adds r2, r6, r2 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - strb r0, [r2, 0x6] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x3] - mov r2, r9 - ands r1, r2 - strb r1, [r0, 0x3] - b _0805EC60 - .pool -_0805EC3C: - ldrb r0, [r3] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x4] - adds r0, r6, r0 - ldrb r1, [r0, 0x6] - movs r0, 0x1F - ands r1, r0 - lsls r1, 1 - ldrb r0, [r2, 0x3] - mov r3, r9 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x3] -_0805EC60: - adds r6, 0xC - adds r5, 0x1 - ldr r0, =gNoOfAllBanks - ldrb r0, [r0] - cmp r5, r0 - blt _0805EBC8 -_0805EC6C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_805EB9C - - thumb_func_start LoadAndCreateEnemyShadowSprites -LoadAndCreateEnemyShadowSprites: @ 805EC84 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, =gUnknown_0831C6A0 - bl LoadCompressedObjectPic - movs r0, 0x1 - bl GetBankByIdentity - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gUnknown_0831C6B0 - mov r8, r0 - adds r0, r5, 0 - movs r1, 0 - bl sub_80A5C6C - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80A5C6C - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 8 - movs r0, 0xE8 - lsls r0, 13 - adds r2, r0 - asrs r2, 16 - mov r0, r8 - adds r1, r4, 0 - movs r3, 0xC8 - bl CreateSprite - ldr r6, =gBattleSpritesDataPtr - ldr r1, [r6] - ldr r2, [r1, 0x4] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 2 - adds r2, r1, r2 - strb r0, [r2, 0x7] - ldr r7, =gSprites - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r1, r0 - ldrb r1, [r1, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r5, [r0, 0x2E] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0805ED56 - movs r0, 0x3 - bl GetBankByIdentity - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r5, 0 - movs r1, 0 - bl sub_80A5C6C - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80A5C6C - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 8 - movs r0, 0xE8 - lsls r0, 13 - adds r2, r0 - asrs r2, 16 - mov r0, r8 - adds r1, r4, 0 - movs r3, 0xC8 - bl CreateSprite - ldr r1, [r6] - ldr r2, [r1, 0x4] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 2 - adds r2, r1, r2 - strb r0, [r2, 0x7] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r1, r0 - ldrb r1, [r1, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r5, [r0, 0x2E] -_0805ED56: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end LoadAndCreateEnemyShadowSprites - - thumb_func_start sub_805ED70 -@ int sub_805ED70(obj *a1) -sub_805ED70: @ 805ED70 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - movs r0, 0 - mov r8, r0 - ldrh r0, [r5, 0x2E] - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gBankSpriteIds - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r7, r0, r1 - adds r6, r7, 0 - adds r6, 0x3E - ldrb r1, [r6] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0805EDAC - adds r0, r4, 0 - bl IsBankSpritePresent - lsls r0, 24 - cmp r0, 0 - bne _0805EDC0 -_0805EDAC: - ldr r0, =sub_805EE48 - str r0, [r5, 0x1C] - b _0805EE36 - .pool -_0805EDC0: - ldr r0, =gAnimScriptActive - ldrb r0, [r0] - cmp r0, 0 - bne _0805EDD2 - ldrb r1, [r6] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0805EDE4 -_0805EDD2: - movs r0, 0x1 - mov r8, r0 - ldr r2, =gBattleSpritesDataPtr - lsls r4, 2 - b _0805EE06 - .pool -_0805EDE4: - ldr r2, =gBattleSpritesDataPtr - ldr r0, [r2] - ldr r0, [r0] - lsls r1, r4, 2 - adds r3, r1, r0 - ldrh r0, [r3, 0x2] - adds r4, r1, 0 - cmp r0, 0 - beq _0805EE06 - ldr r0, =gEnemyMonElevation - ldrh r1, [r3, 0x2] - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - bne _0805EE06 - movs r0, 0x1 - mov r8, r0 -_0805EE06: - ldr r0, [r2] - ldr r0, [r0] - adds r0, r4, r0 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0805EE1A - movs r0, 0x1 - mov r8, r0 -_0805EE1A: - ldrh r0, [r7, 0x20] - strh r0, [r5, 0x20] - ldrh r0, [r7, 0x24] - strh r0, [r5, 0x24] - adds r2, r5, 0 - adds r2, 0x3E - mov r0, r8 - lsls r3, r0, 2 - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2] -_0805EE36: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_805ED70 - - thumb_func_start sub_805EE48 -sub_805EE48: @ 805EE48 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - bx lr - thumb_func_end sub_805EE48 - - thumb_func_start SetBankEnemyShadowSpriteCallback -SetBankEnemyShadowSpriteCallback: @ 805EE54 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - lsls r1, 16 - lsrs r5, r1, 16 - adds r0, r4, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _0805EED0 - ldr r0, =gBattleSpritesDataPtr - ldr r3, [r0] - ldr r1, [r3] - lsls r0, r4, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - beq _0805EE7E - adds r5, r0, 0 -_0805EE7E: - ldr r0, =gEnemyMonElevation - adds r0, r5, r0 - ldrb r0, [r0] - cmp r0, 0 - beq _0805EEB4 - ldr r2, =gSprites - ldr r1, [r3, 0x4] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_805ED70 - b _0805EECE - .pool -_0805EEB4: - ldr r2, =gSprites - ldr r1, [r3, 0x4] - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_805EE48 -_0805EECE: - str r1, [r0] -_0805EED0: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end SetBankEnemyShadowSpriteCallback - - thumb_func_start sub_805EEE0 -sub_805EEE0: @ 805EEE0 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - ldr r1, =gBattleSpritesDataPtr - ldr r1, [r1] - ldr r3, [r1, 0x4] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r1, [r1, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_805EE48 - str r1, [r0] - bx lr - .pool - thumb_func_end sub_805EEE0 - - thumb_func_start sub_805EF14 -sub_805EF14: @ 805EF14 - push {r4-r6,lr} - ldr r3, =0x06000240 - movs r0, 0 - movs r6, 0xF0 - lsls r6, 8 -_0805EF1E: - adds r5, r0, 0x1 - movs r4, 0xF -_0805EF22: - ldrh r1, [r3] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - bne _0805EF32 - adds r0, r6, 0 - orrs r0, r1 - strh r0, [r3] -_0805EF32: - ldrh r1, [r3] - movs r2, 0xF0 - lsls r2, 4 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _0805EF46 - adds r0, r2, 0 - orrs r0, r1 - strh r0, [r3] -_0805EF46: - ldrh r1, [r3] - movs r2, 0xF0 - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - bne _0805EF58 - adds r0, r1, 0 - orrs r0, r2 - strh r0, [r3] -_0805EF58: - ldrh r1, [r3] - movs r2, 0xF - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _0805EF6A - adds r0, r1, 0 - orrs r0, r2 - strh r0, [r3] -_0805EF6A: - adds r3, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _0805EF22 - adds r0, r5, 0 - cmp r0, 0x8 - ble _0805EF1E - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_805EF14 - - thumb_func_start ClearTemporarySpeciesSpriteData -ClearTemporarySpeciesSpriteData: @ 805EF84 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r2, [r0] - lsls r0, r4, 2 - adds r0, r2 - movs r3, 0 - movs r2, 0 - strh r2, [r0, 0x2] - ldr r0, =gBattleMonForms - adds r0, r4, r0 - strb r3, [r0] - cmp r1, 0 - bne _0805EFAC - adds r0, r4, 0 - bl sub_805E974 -_0805EFAC: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ClearTemporarySpeciesSpriteData - - thumb_func_start AllocateMonSpritesGfx -AllocateMonSpritesGfx: @ 805EFBC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r6, 0 - ldr r4, =gMonSpritesGfxPtr - str r6, [r4] - movs r0, 0xC0 - lsls r0, 1 - bl AllocZeroed - str r0, [r4] - movs r0, 0x80 - lsls r0, 8 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1] -_0805EFE2: - ldr r0, =gMonSpritesGfxPtr - ldr r1, [r0] - lsls r4, r6, 2 - adds r2, r1, 0x4 - adds r2, r4 - lsls r3, r6, 13 - ldr r0, [r1] - adds r0, r3 - str r0, [r2] - lsls r3, r6, 1 - adds r0, r3, r6 - lsls r0, 3 - adds r1, r0, r1 - ldr r2, =gUnknown_08329D98 - adds r1, 0x14 - adds r0, r2 - ldm r0!, {r2,r5,r7} - stm r1!, {r2,r5,r7} - ldm r0!, {r2,r5,r7} - stm r1!, {r2,r5,r7} - movs r5, 0 - mov r9, r3 - lsls r0, r6, 5 - mov r8, r0 - adds r1, r6, 0x1 - mov r10, r1 - mov r12, r8 - adds r7, r4, 0 -_0805F01A: - ldr r2, =gMonSpritesGfxPtr - ldr r1, [r2] - lsls r4, r5, 3 - add r4, r12 - adds r3, r1, 0 - adds r3, 0x74 - adds r3, r4 - adds r0, r1, 0x4 - adds r0, r7 - lsls r2, r5, 11 - ldr r0, [r0] - adds r0, r2 - str r0, [r3] - adds r1, r4 - adds r1, 0x78 - movs r0, 0x80 - lsls r0, 4 - strh r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _0805F01A - ldr r1, =gMonSpritesGfxPtr - ldr r2, [r1] - mov r5, r9 - adds r0, r5, r6 - lsls r0, 3 - adds r1, r2, 0 - adds r1, 0x20 - adds r1, r0 - mov r0, r8 - adds r0, 0x74 - adds r2, r0 - str r2, [r1] - mov r7, r10 - lsls r0, r7, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _0805EFE2 - movs r0, 0x80 - lsls r0, 5 - bl AllocZeroed - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - movs r2, 0xBA - lsls r2, 1 - adds r1, r2 - str r0, [r1] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end AllocateMonSpritesGfx - - thumb_func_start FreeMonSpritesGfx -FreeMonSpritesGfx: @ 805F094 - push {r4-r6,lr} - ldr r6, =gMonSpritesGfxPtr - ldr r0, [r6] - cmp r0, 0 - beq _0805F106 - movs r1, 0xBE - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _0805F0BA - bl Free - ldr r0, [r6] - movs r1, 0xBE - lsls r1, 1 - adds r0, r1 - movs r1, 0 - str r1, [r0] -_0805F0BA: - ldr r0, [r6] - movs r1, 0xBC - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _0805F0D8 - bl Free - ldr r0, [r6] - movs r1, 0xBC - lsls r1, 1 - adds r0, r1 - movs r1, 0 - str r1, [r0] -_0805F0D8: - ldr r0, [r6] - movs r5, 0xBA - lsls r5, 1 - adds r0, r5 - ldr r0, [r0] - bl Free - ldr r0, [r6] - adds r5, r0, r5 - movs r4, 0 - str r4, [r5] - ldr r0, [r0] - bl Free - ldr r0, [r6] - str r4, [r0] - str r4, [r0, 0x4] - str r4, [r0, 0x8] - str r4, [r0, 0xC] - str r4, [r0, 0x10] - bl Free - str r4, [r6] -_0805F106: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end FreeMonSpritesGfx - - thumb_func_start sub_805F110 -sub_805F110: @ 805F110 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x37 - bl GetMonData - ldr r1, =0x00000fff - ands r1, r0 - cmp r1, 0 - bne _0805F158 - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r4, 16 - asrs r4, 16 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl GetHPBarLevel - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - ble _0805F158 - movs r0, 0x1 - b _0805F15A - .pool -_0805F158: - movs r0, 0 -_0805F15A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_805F110 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_80A5C6C.s b/asm/battle_anim_80A5C6C.s index 705146ce58..a3be18667c 100644 --- a/asm/battle_anim_80A5C6C.s +++ b/asm/battle_anim_80A5C6C.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_80A5C6C -sub_80A5C6C: @ 80A5C6C + thumb_func_start GetBattlerSpriteCoord +GetBattlerSpriteCoord: @ 80A5C6C push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 @@ -40,7 +40,7 @@ _080A5C9C: _080A5CB0: ldr r4, =gUnknown_08525F58 adds r0, r5, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 22 ldr r1, =gBattleTypeFlags @@ -56,7 +56,7 @@ _080A5CB0: _080A5CD8: ldr r4, =gUnknown_08525F58 adds r0, r5, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 22 ldr r1, =gBattleTypeFlags @@ -90,7 +90,7 @@ _080A5D24: b _080A5D9A _080A5D28: adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A5D60 @@ -102,7 +102,7 @@ _080A5D28: ldrh r0, [r1, 0x2] cmp r0, 0 bne _080A5D98 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r5, 1 adds r0, r1 ldrh r1, [r0] @@ -120,7 +120,7 @@ _080A5D60: ldrh r0, [r1, 0x2] cmp r0, 0 bne _080A5D98 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r5, 1 adds r0, r1 ldrh r1, [r0] @@ -154,7 +154,7 @@ _080A5DB0: pop {r4,r5} pop {r1} bx r1 - thumb_func_end sub_80A5C6C + thumb_func_end GetBattlerSpriteCoord thumb_func_start sub_80A5DB8 sub_80A5DB8: @ 80A5DB8 @@ -164,7 +164,7 @@ sub_80A5DB8: @ 80A5DB8 lsls r1, 16 lsrs r5, r1, 16 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A5DDA @@ -203,7 +203,7 @@ _080A5E04: ldrh r0, [r0, 0x2] cmp r0, 0 bne _080A5E3C - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] @@ -293,7 +293,7 @@ _080A5EC8: ldrh r0, [r0, 0x2] cmp r0, 0 bne _080A5F04 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] @@ -394,7 +394,7 @@ sub_80A5FA0: @ 80A5FA0 adds r7, r4, 0 movs r5, 0 adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -445,7 +445,7 @@ sub_80A600C: @ 80A600C lsls r2, 24 lsrs r7, r2, 24 adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A6030 @@ -476,7 +476,7 @@ _080A603E: lsrs r4, r0, 16 _080A605C: adds r0, r6, 0 - bl GetBankIdentity + bl GetBattlerPosition ldr r3, =gUnknown_08525F58 lsls r0, 24 lsrs r0, 22 @@ -494,7 +494,7 @@ _080A605C: cmp r7, 0 beq _080A609C adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A6096 @@ -577,7 +577,7 @@ _080A611C: _080A6126: adds r0, r4, 0 adds r1, r5, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord _080A612E: lsls r0, 24 lsrs r0, 24 @@ -586,32 +586,32 @@ _080A612E: bx r1 thumb_func_end sub_80A60AC - thumb_func_start sub_80A6138 -sub_80A6138: @ 80A6138 + thumb_func_start GetBattlerSpriteDefault_Y +GetBattlerSpriteDefault_Y: @ 80A6138 push {lr} lsls r0, 24 lsrs r0, 24 movs r1, 0x4 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 pop {r1} bx r1 - thumb_func_end sub_80A6138 + thumb_func_end GetBattlerSpriteDefault_Y - thumb_func_start sub_80A614C -sub_80A614C: @ 80A614C + thumb_func_start GetSubstituteSpriteDefault_Y +GetSubstituteSpriteDefault_Y: @ 80A614C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A6170 adds r0, r4, 0 movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r1, 0x80 @@ -620,7 +620,7 @@ sub_80A614C: @ 80A614C _080A6170: adds r0, r4, 0 movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r1, 0x88 @@ -633,7 +633,7 @@ _080A6180: pop {r4} pop {r1} bx r1 - thumb_func_end sub_80A614C + thumb_func_end GetSubstituteSpriteDefault_Y thumb_func_start sub_80A6190 sub_80A6190: @ 80A6190 @@ -642,7 +642,7 @@ sub_80A6190: @ 80A6190 lsrs r5, r0, 24 adds r0, r5, 0 movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 bl IsContest @@ -650,7 +650,7 @@ sub_80A6190: @ 80A6190 cmp r0, 0 bne _080A6238 adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A61E4 @@ -662,7 +662,7 @@ sub_80A6190: @ 80A6190 ldrh r0, [r1, 0x2] cmp r0, 0 bne _080A621C - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r5, 1 adds r0, r1 ldrh r1, [r0] @@ -680,7 +680,7 @@ _080A61E4: ldrh r0, [r1, 0x2] cmp r0, 0 bne _080A621C - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r5, 1 adds r0, r1 ldrh r1, [r0] @@ -699,7 +699,7 @@ _080A621C: ldrh r4, [r1, 0x2] _080A621E: adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A6238 @@ -716,56 +716,56 @@ _080A6238: bx r1 thumb_func_end sub_80A6190 - thumb_func_start GetAnimBankSpriteId -GetAnimBankSpriteId: @ 80A6240 + thumb_func_start GetAnimBattlerSpriteId +GetAnimBattlerSpriteId: @ 80A6240 push {r4,r5,lr} lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 cmp r0, 0 bne _080A6268 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] - bl IsBankSpritePresent + bl IsBattlerSpritePresent lsls r0, 24 cmp r0, 0 beq _080A62B6 - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldrb r0, [r4] b _080A62C6 .pool _080A6268: cmp r0, 0x1 bne _080A6288 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] - bl IsBankSpritePresent + bl IsBattlerSpritePresent lsls r0, 24 cmp r0, 0 beq _080A62B6 - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldrb r0, [r4] b _080A62C6 .pool _080A6288: cmp r1, 0x2 bne _080A62A4 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r4, 0x2 eors r0, r4 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A62B6 b _080A62C0 .pool _080A62A4: - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r4, 0x2 eors r0, r4 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 bne _080A62C0 @@ -774,7 +774,7 @@ _080A62B6: b _080A62CA .pool _080A62C0: - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldrb r0, [r5] eors r0, r4 _080A62C6: @@ -785,7 +785,7 @@ _080A62CA: pop {r1} bx r1 .pool - thumb_func_end GetAnimBankSpriteId + thumb_func_end GetAnimBattlerSpriteId thumb_func_start StoreSpriteCallbackInData6 StoreSpriteCallbackInData6: @ 80A62D4 @@ -1242,16 +1242,16 @@ sub_80A65EC: @ 80A65EC ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x34] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -1439,16 +1439,16 @@ sub_80A6760: @ 80A6760 ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x34] - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -1547,16 +1547,16 @@ sub_80A6814: @ 80A6814 sub_80A6838: @ 80A6838 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -1575,16 +1575,16 @@ sub_80A6864: @ 80A6864 lsls r1, 16 lsrs r5, r1, 16 mov r8, r5 - ldr r7, =gAnimBankAttacker + ldr r7, =gBattleAnimAttacker ldrb r0, [r7] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 cmp r6, r0 @@ -1596,7 +1596,7 @@ sub_80A6864: @ 80A6864 .pool _080A68A4: ldrb r0, [r7] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A68BC @@ -1646,8 +1646,8 @@ sub_80A68D4: @ 80A68D4 bx r0 thumb_func_end sub_80A68D4 - thumb_func_start sub_80A6900 -sub_80A6900: @ 80A6900 + thumb_func_start AnimateBallThrow +AnimateBallThrow: @ 80A6900 push {r4,lr} adds r4, r0, 0 bl sub_80A6F3C @@ -1674,7 +1674,7 @@ _080A692E: pop {r4} pop {r1} bx r1 - thumb_func_end sub_80A6900 + thumb_func_end AnimateBallThrow thumb_func_start sub_80A6934 sub_80A6934: @ 80A6934 @@ -1729,7 +1729,7 @@ sub_80A6980: @ 80A6980 lsls r1, 24 cmp r1, 0 bne _080A69A8 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 bl sub_80A60AC @@ -1765,7 +1765,7 @@ sub_80A69CC: @ 80A69CC lsls r1, 24 cmp r1, 0 bne _080A69F0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 bl sub_80A60AC @@ -1777,7 +1777,7 @@ sub_80A69CC: @ 80A69CC b _080A6A04 .pool _080A69F0: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 bl sub_80A60AC @@ -1806,41 +1806,41 @@ _080A6A04: .pool thumb_func_end sub_80A69CC - thumb_func_start GetBankSide -GetBankSide: @ 80A6A30 + thumb_func_start GetBattlerSide +GetBattlerSide: @ 80A6A30 lsls r0, 24 lsrs r0, 24 - ldr r1, =gBanksByIdentity + ldr r1, =gBattlerPositions adds r0, r1 ldrb r1, [r0] movs r0, 0x1 ands r0, r1 bx lr .pool - thumb_func_end GetBankSide + thumb_func_end GetBattlerSide - thumb_func_start GetBankIdentity -GetBankIdentity: @ 80A6A44 + thumb_func_start GetBattlerPosition +GetBattlerPosition: @ 80A6A44 lsls r0, 24 lsrs r0, 24 - ldr r1, =gBanksByIdentity + ldr r1, =gBattlerPositions adds r0, r1 ldrb r0, [r0] bx lr .pool - thumb_func_end GetBankIdentity + thumb_func_end GetBattlerPosition - thumb_func_start GetBankByIdentity -GetBankByIdentity: @ 80A6A54 + thumb_func_start GetBattlerAtPosition +GetBattlerAtPosition: @ 80A6A54 push {r4,lr} lsls r0, 24 lsrs r3, r0, 24 movs r1, 0 - ldr r0, =gNoOfAllBanks + ldr r0, =gBattlersCount ldrb r2, [r0] cmp r1, r2 bcs _080A6A7E - ldr r4, =gBanksByIdentity + ldr r4, =gBattlerPositions ldrb r0, [r4] cmp r0, r3 beq _080A6A7E @@ -1860,10 +1860,10 @@ _080A6A7E: pop {r1} bx r1 .pool - thumb_func_end GetBankByIdentity + thumb_func_end GetBattlerAtPosition - thumb_func_start IsBankSpritePresent -IsBankSpritePresent: @ 80A6A90 + thumb_func_start IsBattlerSpritePresent +IsBattlerSpritePresent: @ 80A6A90 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 @@ -1872,28 +1872,28 @@ IsBankSpritePresent: @ 80A6A90 lsls r0, 24 cmp r0, 0 beq _080A6ABC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] cmp r0, r4 beq _080A6B0A - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] cmp r0, r4 beq _080A6B0A b _080A6B18 .pool _080A6ABC: - ldr r0, =gBanksByIdentity + ldr r0, =gBattlerPositions adds r0, r4, r0 ldrb r0, [r0] cmp r0, 0xFF beq _080A6B18 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A6AF0 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] @@ -1903,7 +1903,7 @@ _080A6ABC: b _080A6AFE .pool _080A6AF0: - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r5, 1 adds r0, r1 ldrh r1, [r0] @@ -1926,7 +1926,7 @@ _080A6B1A: pop {r4,r5} pop {r1} bx r1 - thumb_func_end IsBankSpritePresent + thumb_func_end IsBattlerSpritePresent thumb_func_start IsDoubleBattle IsDoubleBattle: @ 80A6B20 @@ -2061,7 +2061,7 @@ sub_80A6BFC: @ 80A6BFC b _080A6C60 .pool _080A6C30: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -2889,7 +2889,7 @@ sub_80A7238: @ 80A7238 beq _080A7268 ldr r4, =gSprites movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 lsls r1, r0, 4 @@ -2934,7 +2934,7 @@ sub_80A7270: @ 80A7270 cmp r0, 0 bne _080A72A6 adds r0, r7, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A72B4 @@ -3372,7 +3372,7 @@ _080A75F6: _080A7602: cmp r7, 0 beq _080A7614 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r1, r0, 0 adds r1, 0x10 @@ -3383,7 +3383,7 @@ _080A7614: mov r0, r8 cmp r0, 0 beq _080A7628 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r1, r0, 0 adds r1, 0x10 @@ -3394,11 +3394,11 @@ _080A7628: mov r0, r9 cmp r0, 0 beq _080A764E - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] movs r5, 0x2 eors r0, r5 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A764E @@ -3413,11 +3413,11 @@ _080A764E: mov r0, r10 cmp r0, 0 beq _080A7674 - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] movs r5, 0x2 eors r0, r5 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A7674 @@ -3496,15 +3496,15 @@ _080A76F2: cmp r5, 0 beq _080A771A movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A771A movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 adds r0, 0x10 @@ -3514,15 +3514,15 @@ _080A771A: cmp r6, 0 beq _080A7746 movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A7746 movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 @@ -3534,15 +3534,15 @@ _080A7746: cmp r7, 0 beq _080A7772 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A7772 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 @@ -3555,15 +3555,15 @@ _080A7772: cmp r0, 0 beq _080A77A0 movs r0, 0x3 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A77A0 movs r0, 0x3 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 @@ -3592,7 +3592,7 @@ sub_80A77B4: @ 80A77B4 push {lr} lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 pop {r1} @@ -3670,9 +3670,9 @@ _080A7838: _080A7842: adds r0, r5, 0 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A785C @@ -3682,10 +3682,10 @@ _080A7842: _080A785C: ldrh r0, [r6, 0x8] strh r0, [r5, 0x2E] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x4] @@ -3693,7 +3693,7 @@ _080A785C: strh r0, [r5, 0x32] ldrb r0, [r4] adds r1, r7, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x6] @@ -3716,9 +3716,9 @@ sub_80A78AC: @ 80A78AC adds r6, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A78CC @@ -3730,10 +3730,10 @@ _080A78CC: ldr r4, =gBattleAnimArgs ldrh r0, [r4, 0x8] strh r0, [r6, 0x2E] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -3741,7 +3741,7 @@ _080A78CC: strh r0, [r6, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x6] @@ -3763,7 +3763,7 @@ _080A78CC: sub_80A791C: @ 80A791C push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _080A7930 @@ -3799,19 +3799,19 @@ _080A7954: adds r0, r5, 0 adds r1, r4, 0 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _080A7976 .pool _080A796C: adds r0, r5, 0 adds r1, r4, 0 bl sub_80A6980 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _080A7976: ldrb r6, [r0] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A798E @@ -3828,7 +3828,7 @@ _080A798E: strh r0, [r5, 0x2E] adds r0, r6, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r2, [r4, 0x4] @@ -3836,7 +3836,7 @@ _080A798E: strh r0, [r5, 0x32] adds r0, r6, 0 adds r1, r7, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x6] @@ -3858,7 +3858,7 @@ duplicate_obj_of_side_rel2move_in_transparent_mode: @ 80A79E8 push {r4-r6,lr} lsls r0, 24 lsrs r0, 24 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0xFF @@ -4084,7 +4084,7 @@ sub_80A7B98: @ 80A7B98 lsrs r4, r0, 24 ldr r0, =gBattleAnimArgs ldrb r0, [r0] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r3, r0, 24 cmp r3, 0xFF @@ -4539,7 +4539,7 @@ sub_80A7F18: @ 80A7F18 lsls r0, 24 lsrs r5, r0, 24 movs r4, 0 - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldr r7, =0x00000181 ldr r0, =gBattleMonForms adds r6, r5, r0 @@ -4567,7 +4567,7 @@ _080A7F42: _080A7F78: lsls r0, r4, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A7FD8 @@ -4579,7 +4579,7 @@ _080A7F78: ldrh r0, [r1, 0x2] cmp r0, 0 bne _080A7FC0 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] @@ -4614,7 +4614,7 @@ _080A7FD8: ldrh r0, [r1, 0x2] cmp r0, 0 bne _080A8010 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] @@ -4837,14 +4837,14 @@ sub_80A8174: @ 80A8174 lsls r0, 24 lsrs r4, r0, 24 adds r7, r4, 0 - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A81B4 ldr r2, =gSprites - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldrb r0, [r6] adds r0, r1 ldrb r0, [r0] @@ -4863,15 +4863,15 @@ sub_80A8174: @ 80A8174 orrs r0, r2 strb r0, [r1, 0x5] _080A81B4: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker mov r8, r0 ldrb r0, [r0] - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A81EC ldr r2, =gSprites - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds mov r3, r8 ldrb r0, [r3] adds r0, r1 @@ -4894,12 +4894,12 @@ _080A81EC: ldrb r0, [r6] movs r5, 0x2 eors r0, r5 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A8224 ldr r2, =gSprites - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldrb r0, [r6] eors r0, r5 adds r0, r1 @@ -4922,12 +4922,12 @@ _080A8224: mov r1, r8 ldrb r0, [r1] eors r0, r5 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A825C ldr r2, =gSprites - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds mov r3, r8 ldrb r0, [r3] eors r0, r5 @@ -4959,7 +4959,7 @@ _080A825C: sub_80A8278: @ 80A8278 push {r4-r6,lr} movs r5, 0 - ldr r0, =gNoOfAllBanks + ldr r0, =gBattlersCount ldrb r0, [r0] cmp r5, r0 bge _080A82D2 @@ -4968,13 +4968,13 @@ _080A8286: lsls r0, r5, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A82C8 adds r0, r4, 0 bl sub_80A82E4 - ldr r3, =gBankSpriteIds + ldr r3, =gBattlerSpriteIds adds r3, r5, r3 ldrb r2, [r3] lsls r1, r2, 4 @@ -4998,7 +4998,7 @@ _080A8286: strb r2, [r0, 0x5] _080A82C8: adds r5, 0x1 - ldr r0, =gNoOfAllBanks + ldr r0, =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _080A8286 @@ -5027,7 +5027,7 @@ _080A82FC: b _080A8320 _080A8300: adds r0, r4, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 movs r1, 0x1E @@ -5053,7 +5053,7 @@ sub_80A8328: @ 80A8328 push {r4,lr} lsls r0, 24 lsrs r0, 24 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r4, r0, 24 bl IsContest @@ -5093,7 +5093,7 @@ sub_80A8364: @ 80A8364 cmp r0, 0 bne _080A838A adds r0, r4, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -5180,7 +5180,7 @@ _080A8412: adds r0, r6, 0 ldr r1, [sp, 0x3C] mov r2, r8 - bl species_and_otid_get_pal + bl GetFrontSpritePalFromSpeciesAndPersonality lsls r1, r5, 20 movs r2, 0x80 lsls r2, 17 @@ -5243,7 +5243,7 @@ _080A84B0: adds r0, r6, 0 ldr r1, [sp, 0x3C] mov r2, r8 - bl species_and_otid_get_pal + bl GetFrontSpritePalFromSpeciesAndPersonality lsls r1, r5, 20 movs r3, 0x80 lsls r3, 17 @@ -5486,7 +5486,7 @@ _080A86AC: .pool _080A86C4: mov r0, r8 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A8790 @@ -5499,7 +5499,7 @@ _080A86C4: ldrh r0, [r1, 0x2] cmp r0, 0 bne _080A871C - ldr r0, =gBattlePartyID + ldr r0, =gBattlerPartyIndexes mov r1, r8 lsls r4, r1, 1 adds r4, r0 @@ -5589,7 +5589,7 @@ _080A8790: ldrh r0, [r1, 0x2] cmp r0, 0 bne _080A87DC - ldr r0, =gBattlePartyID + ldr r0, =gBattlerPartyIndexes mov r1, r8 lsls r4, r1, 1 adds r4, r0 @@ -5713,7 +5713,7 @@ _080A88A6: _080A88AE: mov r0, r8 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrb r1, [r4] @@ -5722,7 +5722,7 @@ _080A88AE: _080A88C0: mov r0, r8 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrb r1, [r4] @@ -5731,7 +5731,7 @@ _080A88C0: _080A88D2: mov r0, r8 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrb r2, [r4] @@ -5744,7 +5744,7 @@ _080A88E4: _080A88EA: mov r0, r8 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrb r2, [r4] @@ -5757,7 +5757,7 @@ _080A88FC: _080A8902: mov r0, r8 movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x1F @@ -5798,13 +5798,13 @@ _080A8942: _080A8946: adds r0, r4, 0 adds r1, r5, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r8, r0 adds r0, r4, 0 adds r1, r6, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r7, r0, 24 bl IsDoubleBattle @@ -5819,12 +5819,12 @@ _080A8946: eors r4, r0 adds r0, r4, 0 adds r1, r5, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r5, r0, 24 adds r0, r4, 0 adds r1, r6, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r3, r0, 24 mov r0, r8 @@ -5941,9 +5941,9 @@ sub_80A8A6C: @ 80A8A6C push {r4,lr} adds r4, r0, 0 bl sub_80A6838 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A8AAC @@ -5998,9 +5998,9 @@ _080A8AB6: sub_80A8AEC: @ 80A8AEC push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A8B1C @@ -6054,9 +6054,9 @@ sub_80A8B64: @ 80A8B64 push {r4,lr} adds r4, r0, 0 bl sub_80A6838 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A8B90 @@ -6101,14 +6101,14 @@ sub_80A8BC4: @ 80A8BC4 ldr r0, =gTasks adds r5, r1, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 movs r6, 0 strh r0, [r5, 0x8] - ldr r7, =gAnimBankAttacker + ldr r7, =gBattleAnimAttacker ldrb r0, [r7] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r1, 0x8 cmp r0, 0 @@ -6389,21 +6389,21 @@ _080A8E26: sub_80A8E30: @ 80A8E30 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A8E68 @@ -6487,9 +6487,9 @@ sub_80A8EE4: @ 80A8EE4 ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x36] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A8F24 diff --git a/asm/battle_anim_80A9C70.s b/asm/battle_anim_80A9C70.s index 681802e121..7556531563 100644 --- a/asm/battle_anim_80A9C70.s +++ b/asm/battle_anim_80A9C70.s @@ -17,7 +17,7 @@ sub_80A9C70: @ 80A9C70 lsrs r4, 24 lsls r5, 24 lsrs r5, 24 - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r4, r0 ldrb r6, [r0] ldr r0, =sub_80A9DB4 @@ -331,10 +331,10 @@ sub_80A9EF4: @ 80A9EF4 push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 ldr r1, =0xffe00000 @@ -342,7 +342,7 @@ sub_80A9EF4: @ 80A9EF4 lsrs r5, r0, 16 ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 ldr r1, =0xffdc0000 @@ -855,19 +855,19 @@ _080AA352: .pool thumb_func_end sub_80AA18C - thumb_func_start move_anim_start_t2 -move_anim_start_t2: @ 80AA364 + thumb_func_start LaunchStatusAnimation +LaunchStatusAnimation: @ 80AA364 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 lsls r1, 24 lsrs r1, 24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker strb r4, [r0] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget strb r4, [r0] - ldr r0, =gUnknown_082C92FC + ldr r0, =gBattleAnims_Statuses movs r2, 0 bl LaunchBattleAnimation ldr r0, =task0A_80788BC @@ -885,7 +885,7 @@ move_anim_start_t2: @ 80AA364 pop {r0} bx r0 .pool - thumb_func_end move_anim_start_t2 + thumb_func_end LaunchStatusAnimation thumb_func_start task0A_80788BC task0A_80788BC: @ 80AA3B4 diff --git a/asm/battle_anim_80D51AC.s b/asm/battle_anim_80D51AC.s old mode 100755 new mode 100644 index 3ee1786ad5..3f36bb4a20 --- a/asm/battle_anim_80D51AC.s +++ b/asm/battle_anim_80D51AC.s @@ -12,7 +12,7 @@ sub_80D51AC: @ 80D51AC lsrs r5, r0, 24 ldr r4, =gBattleAnimArgs ldrb r0, [r4] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0xFF @@ -165,7 +165,7 @@ sub_80D52D0: @ 80D52D0 bgt _080D52FC lsls r0, 24 lsrs r0, 24 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r3, r0, 24 cmp r3, 0xFF @@ -200,23 +200,23 @@ _080D5320: _080D5324: movs r0, 0x3 _080D5326: - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 bne _080D533C movs r6, 0x1 _080D533C: - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r4, r0 b _080D5350 .pool _080D5348: - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 _080D5350: @@ -379,7 +379,7 @@ sub_80D5484: @ 80D5484 lsrs r5, r0, 24 ldr r4, =gBattleAnimArgs ldrb r0, [r4] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r3, r0, 24 cmp r3, 0xFF @@ -603,7 +603,7 @@ sub_80D5644: @ 80D5644 lsrs r4, 24 ldr r5, =gBattleAnimArgs ldrb r0, [r5] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 ldr r2, =gSprites @@ -723,7 +723,7 @@ sub_80D5738: @ 80D5738 movs r6, 0x1 ldr r4, =gBattleAnimArgs ldrb r0, [r4] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r7, r0, 24 movs r1, 0x8 @@ -842,9 +842,9 @@ sub_80D5830: @ 80D5830 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D584C @@ -871,9 +871,9 @@ sub_80D5860: @ 80D5860 movs r1, 0x4 orrs r0, r1 strb r0, [r2] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D5890 @@ -891,8 +891,8 @@ _080D5894: movs r0, 0 strh r2, [r4, 0x2E] strh r0, [r4, 0x32] - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -938,7 +938,7 @@ sub_80D58F8: @ 80D58F8 strb r0, [r2] ldr r5, =gBattleAnimArgs ldrb r0, [r5, 0x4] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 ldrh r2, [r5] @@ -987,13 +987,13 @@ sub_80D5968: @ 80D5968 ldrsh r0, [r0, r1] cmp r0, 0 bne _080D598C - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker b _080D5990 .pool _080D598C: - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankTarget + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimTarget _080D5990: ldrb r0, [r0] adds r0, r1 @@ -1133,18 +1133,18 @@ sub_80D5A94: @ 80D5A94 ldrsh r0, [r0, r1] cmp r0, 0 bne _080D5AB0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _080D5AB2 .pool _080D5AB0: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _080D5AB2: ldrb r2, [r0] - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r2, r0 ldrb r6, [r0] adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D5ADC @@ -1218,18 +1218,18 @@ sub_80D5B48: @ 80D5B48 ldrsh r0, [r0, r1] cmp r0, 0 bne _080D5B70 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _080D5B72 .pool _080D5B70: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _080D5B72: ldrb r1, [r0] - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r1, r0 ldrb r7, [r0] adds r0, r1, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D5B9C @@ -1338,9 +1338,9 @@ sub_80D5C50: @ 80D5C50 bl __divsi3 lsls r0, 16 lsrs r7, r0, 16 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D5C82 @@ -1352,7 +1352,7 @@ sub_80D5C50: @ 80D5C50 strh r0, [r5, 0xA] _080D5C82: ldrb r0, [r5] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r1, =gTasks lsls r4, r6, 2 adds r4, r6 @@ -1508,7 +1508,7 @@ sub_80D5DB0: @ 80D5DB0 cmp r0, 0 blt _080D5E10 ldrb r0, [r1] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r2, r0, 24 b _080D5E18 @@ -1518,20 +1518,20 @@ _080D5DD8: beq _080D5DE8 b _080D5E10 _080D5DDE: - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker b _080D5DEA .pool _080D5DE8: - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget _080D5DEA: ldrb r0, [r5] movs r4, 0x2 eors r0, r4 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080D5E10 - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldrb r0, [r5] eors r0, r4 adds r0, r1 @@ -1549,9 +1549,9 @@ _080D5E18: lsls r0, 3 adds r5, r0, r1 strh r2, [r5, 0x8] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D5E44 @@ -1622,9 +1622,9 @@ sub_80D5EB8: @ 80D5EB8 push {r4-r6,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D5ED4 @@ -1635,7 +1635,7 @@ sub_80D5EB8: @ 80D5EB8 _080D5ED4: ldr r4, =gBattleAnimArgs ldrb r0, [r4, 0x8] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 ldr r2, =gTasks @@ -1660,7 +1660,7 @@ _080D5ED4: b _080D5F18 .pool _080D5F14: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] _080D5F18: strh r0, [r2, 0x12] @@ -1722,7 +1722,7 @@ sub_80D5F3C: @ 80D5F3C .pool _080D5F94: ldrb r0, [r4, 0x12] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080D5FBC @@ -1836,7 +1836,7 @@ sub_80D6064: @ 80D6064 lsrs r4, 24 ldr r6, =gBattleAnimArgs ldrb r0, [r6, 0x6] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 @@ -1939,7 +1939,7 @@ sub_80D6134: @ 80D6134 lsrs r7, r0, 24 ldr r4, =gBattleAnimArgs ldrb r0, [r4, 0x4] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 mov r8, r0 @@ -1995,14 +1995,14 @@ _080D61B8: ldrsh r0, [r6, r1] cmp r0, 0 bne _080D61C8 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _080D61CA .pool _080D61C8: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _080D61CA: ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide movs r1, 0 lsls r0, 24 cmp r0, 0 @@ -2057,7 +2057,7 @@ sub_80D622C: @ 80D622C lsrs r5, r0, 24 ldr r4, =gBattleAnimArgs ldrb r0, [r4, 0x4] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 mov r8, r0 @@ -2076,14 +2076,14 @@ sub_80D622C: @ 80D622C ldrsh r0, [r4, r1] cmp r0, 0 bne _080D6274 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _080D6276 .pool _080D6274: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _080D6276: ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D6288 @@ -2290,7 +2290,7 @@ _080D63EE: ldrh r0, [r1, 0x8] strh r0, [r4, 0x1E] movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x16] diff --git a/asm/battle_anim_80FE840.s b/asm/battle_anim_80FE840.s index 315f884cf6..f5b9697afd 100644 --- a/asm/battle_anim_80FE840.s +++ b/asm/battle_anim_80FE840.s @@ -22,9 +22,9 @@ sub_80FE840: @ 80FE840 strh r0, [r4, 0x2E] ldrh r0, [r5, 0x6] strh r0, [r4, 0x30] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080FE87C @@ -96,16 +96,16 @@ sub_80FE8E0: @ 80FE8E0 ldr r0, =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r4, 0x2E] - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -132,16 +132,16 @@ sub_80FE930: @ 80FE930 bl StartSpriteAnim ldrh r0, [r5, 0x4] strh r0, [r4, 0x2E] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -167,10 +167,10 @@ sub_80FE988: @ 80FE988 strh r0, [r4, 0x2E] ldrh r0, [r4, 0x20] strh r0, [r4, 0x30] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -178,7 +178,7 @@ sub_80FE988: @ 80FE988 strh r0, [r4, 0x34] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -212,14 +212,14 @@ _080FE9FA: ldrsh r0, [r4, r1] cmp r0, 0x7F ble _080FEA14 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A82E4 adds r0, 0x1 b _080FEA1E .pool _080FEA14: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A82E4 adds r0, 0x6 @@ -287,7 +287,7 @@ sub_80FEA58: @ 80FEA58 strh r0, [r1, 0x4] strh r2, [r1, 0x6] ldr r4, =gUnknown_08592210 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A82E4 adds r3, r0, 0 @@ -321,16 +321,16 @@ sub_80FEAD8: @ 80FEAD8 ldr r6, =gBattleAnimArgs ldrh r0, [r6, 0x6] strh r0, [r4, 0x2E] - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -350,7 +350,7 @@ sub_80FEAD8: @ 80FEAD8 sub_80FEB28: @ 80FEB28 push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _080FEB3C @@ -374,21 +374,21 @@ sub_80FEB44: @ 80FEB44 ands r1, r0 adds r0, r5, 0 bl StartSpriteAnim - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080FEB90 @@ -410,10 +410,10 @@ _080FEB94: strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] strh r0, [r5, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] @@ -421,7 +421,7 @@ _080FEB94: strh r0, [r5, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -494,9 +494,9 @@ sub_80FEC48: @ 80FEC48 adds r6, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080FEC68 @@ -508,10 +508,10 @@ _080FEC68: ldr r4, =gBattleAnimArgs ldrh r0, [r4, 0x8] strh r0, [r6, 0x2E] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -519,7 +519,7 @@ _080FEC68: strh r0, [r6, 0x32] ldrb r0, [r5] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x6] @@ -541,7 +541,7 @@ _080FEC68: sub_80FECB8: @ 80FECB8 push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _080FECE2 @@ -655,7 +655,7 @@ sub_80FED74: @ 80FED74 lsrs r0, 16 cmp r0, 0x7F bhi _080FEDC8 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8328 movs r1, 0x3 @@ -669,7 +669,7 @@ sub_80FED74: @ 80FED74 b _080FEDEC .pool _080FEDC8: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8328 adds r0, 0x1 @@ -730,7 +730,7 @@ _080FEE36: bl DestroyAnimVisualTask b _080FEE70 _080FEE3E: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -771,10 +771,10 @@ sub_80FEE78: @ 80FEE78 strh r0, [r4, 0x32] ldrh r0, [r4, 0x22] strh r0, [r4, 0x34] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5, 0x4] @@ -823,14 +823,14 @@ sub_80FEECC: @ 80FEECC lsrs r0, 16 cmp r0, 0x7F bhi _080FEF18 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A82E4 subs r0, 0x1 b _080FEF22 .pool _080FEF18: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A82E4 adds r0, 0x1 @@ -868,10 +868,10 @@ sub_80FEF44: @ 80FEF44 strh r0, [r4, 0x32] ldrh r0, [r4, 0x22] strh r0, [r4, 0x34] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5, 0x4] @@ -950,16 +950,16 @@ _080FEFF6: sub_80FEFFC: @ 80FEFFC push {r4,r5,lr} adds r4, r0, 0 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -1026,9 +1026,9 @@ _080FF08C: sub_80FF090: @ 80FF090 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080FF0B4 @@ -1080,9 +1080,9 @@ sub_80FF0F4: @ 80FF0F4 adds r5, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080FF114 @@ -1098,10 +1098,10 @@ _080FF114: ldrsh r0, [r6, r1] cmp r0, 0 bne _080FF154 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x4] @@ -1109,7 +1109,7 @@ _080FF114: strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x6] @@ -1117,7 +1117,7 @@ _080FF114: b _080FF174 .pool _080FF154: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x32 @@ -1139,13 +1139,13 @@ _080FF174: strh r0, [r5, 0x38] adds r0, r5, 0 bl sub_80A68D4 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -1175,7 +1175,7 @@ sub_80FF1C0: @ 80FF1C0 movs r0, 0x1 strh r0, [r6, 0x2E] adds r0, r6, 0 - bl sub_80A6900 + bl AnimateBallThrow ldrh r0, [r6, 0x3C] strh r5, [r6, 0x2E] lsls r4, 16 @@ -1265,7 +1265,7 @@ sub_80FF268: @ 80FF268 lsrs r0, 24 cmp r0, 0x1 bne _080FF28A - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -1350,7 +1350,7 @@ _080FF2F8: ldrsh r0, [r4, r1] cmp r0, 0x7F bgt _080FF338 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8328 lsls r0, 24 @@ -1359,7 +1359,7 @@ _080FF2F8: b _080FF346 .pool _080FF338: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8328 lsls r0, 24 @@ -1434,7 +1434,7 @@ sub_80FF3B0: @ 80FF3B0 ands r0, r1 strb r0, [r2] movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId movs r0, 0x80 lsls r0, 1 strh r0, [r4, 0x2E] @@ -1452,7 +1452,7 @@ sub_80FF3EC: @ 80FF3EC push {r4,lr} adds r4, r0, 0 movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId movs r1, 0x32 ldrsh r0, [r4, r1] cmp r0, 0 @@ -1517,7 +1517,7 @@ sub_80FF458: @ 80FF458 lsls r0, 24 lsrs r4, r0, 24 movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r1, r0, 24 ldr r0, =gSprites @@ -1550,7 +1550,7 @@ _080FF498: lsls r0, 28 lsrs r0, 30 strh r0, [r6, 0x24] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget mov r9, r0 ldrb r0, [r0] bl sub_80A8328 @@ -1567,7 +1567,7 @@ _080FF498: orrs r0, r1 strb r0, [r7, 0x5] movs r0, 0x3 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r1, r0, 24 lsls r4, r1, 4 @@ -1618,7 +1618,7 @@ sub_80FF53C: @ 80FF53C lsls r4, 24 lsrs r4, 24 movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 adds r6, r0, 0 @@ -1639,9 +1639,9 @@ sub_80FF53C: @ 80FF53C lsls r1, 16 asrs r1, 24 strh r1, [r5, 0x24] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080FF586 @@ -1698,7 +1698,7 @@ sub_80FF5CC: @ 80FF5CC cmp r5, 0 bne _080FF674 movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -1723,7 +1723,7 @@ sub_80FF5CC: @ 80FF5CC orrs r0, r2 strb r0, [r1, 0x5] movs r0, 0x3 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 lsls r1, r0, 4 @@ -1785,9 +1785,9 @@ sub_80FF698: @ 80FF698 beq _080FF704 b _080FF756 _080FF6AA: - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080FF6C2 @@ -1799,7 +1799,7 @@ _080FF6AA: _080FF6C2: ldrb r0, [r6] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -1808,7 +1808,7 @@ _080FF6C2: strh r0, [r5, 0x20] ldrb r0, [r6] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x2] @@ -1845,16 +1845,16 @@ _080FF704: bl ChangeSpriteAffineAnim movs r0, 0x19 strh r0, [r5, 0x2E] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -1878,16 +1878,16 @@ sub_80FF768: @ 80FF768 ldrsh r0, [r5, r1] cmp r0, 0 bne _080FF7D4 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -1941,31 +1941,31 @@ sub_80FF7EC: @ 80FF7EC push {r4-r6} sub sp, 0x4 mov r9, r0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord mov r8, r0 mov r0, r8 lsls r0, 24 lsrs r0, 24 mov r8, r0 - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldrb r0, [r6] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r2, r0, 0 lsls r2, 24 subs r4, r5 @@ -2095,10 +2095,10 @@ sub_80FF934: @ 80FF934 ldrsh r0, [r6, r1] cmp r0, 0 bne _080FF974 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -2107,7 +2107,7 @@ sub_80FF934: @ 80FF934 strh r0, [r6, 0x20] ldrb r0, [r5] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x2] @@ -2349,18 +2349,18 @@ sub_80FFB18: @ 80FFB18 adds r5, r0, 0 movs r1, 0 bl sub_80A69CC - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r2, r0, 24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r1, [r0] movs r0, 0x2 eors r0, r1 @@ -2453,14 +2453,14 @@ _080FFBEC: sub_80FFBF4: @ 80FFBF4 push {r4-r6,lr} adds r5, r0, 0 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -2551,18 +2551,18 @@ sub_80FFCB4: @ 80FFCB4 adds r5, r0, 0 movs r1, 0 bl sub_80A6980 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r2, r0, 24 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r1, [r0] movs r0, 0x2 eors r0, r1 @@ -2954,7 +2954,7 @@ sub_80FFFC0: @ 80FFFC0 lsls r0, 3 ldr r1, =gTasks adds r5, r0, r1 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] bl sub_80A82E4 lsls r0, 24 @@ -2963,13 +2963,13 @@ sub_80FFFC0: @ 80FFFC0 strh r0, [r5, 0x10] ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x14] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x16] @@ -2982,7 +2982,7 @@ sub_80FFFC0: @ 80FFFC0 bl sub_80A861C strh r0, [r5, 0x1E] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 movs r2, 0x1 @@ -3161,7 +3161,7 @@ _08100180: adds r1, r2, 0 bl sub_8100524 adds r0, r4, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 bne _08100196 @@ -3190,7 +3190,7 @@ _081001B4: adds r1, r2, 0 bl sub_8100524 adds r0, r4, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 bne _081001CA @@ -3219,7 +3219,7 @@ _081001E6: adds r1, r2, 0 bl sub_8100524 adds r0, r4, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 bne _081001FC @@ -3272,7 +3272,7 @@ _08100254: adds r1, r2, 0 bl sub_8100524 adds r0, r4, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 bne _0810026A @@ -3403,7 +3403,7 @@ _08100362: adds r1, r2, 0 bl sub_8100524 adds r0, r4, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 bne _08100378 @@ -3514,7 +3514,7 @@ _08100448: adds r1, r2, 0 bl sub_8100524 adds r0, r4, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _081004FC @@ -3566,7 +3566,7 @@ _081004B6: adds r1, r2, 0 bl sub_8100524 adds r0, r4, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _081004FC @@ -3772,15 +3772,15 @@ sub_8100640: @ 8100640 ldrsh r0, [r0, r1] cmp r0, 0 bne _0810065C - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0810065E .pool _0810065C: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0810065E: ldrb r6, [r0] adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08100688 @@ -3837,7 +3837,7 @@ _081006CE: _081006D4: adds r0, r6, 0 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5] @@ -3857,17 +3857,17 @@ _081006E4: strb r0, [r4, 0x5] b _08100738 _08100700: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r7, [r7] adds r0, r7 strh r0, [r4, 0x22] movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId _0810071A: adds r0, r6, 0 bl sub_80A8328 @@ -4074,20 +4074,20 @@ _081008B4: ldrsh r0, [r1, r3] cmp r0, 0 bne _081008C4 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _081008C6 .pool _081008C4: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _081008C6: ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r5, r0, 24 ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r2, r0, 24 ldr r0, =gBattleAnimArgs @@ -4237,9 +4237,9 @@ _081009F2: sub_81009F8: @ 81009F8 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08100A20 @@ -4277,9 +4277,9 @@ _08100A2C: sub_8100A50: @ 8100A50 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08100A6A @@ -4343,21 +4343,21 @@ sub_8100A94: @ 8100A94 sub_8100AE0: @ 8100AE0 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08100B14 @@ -4439,12 +4439,12 @@ sub_8100B88: @ 8100B88 b _08100C24 .pool _08100BA8: - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r4, 0x2 eors r0, r4 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r7, r0, 24 ldrb r0, [r5] @@ -4453,15 +4453,15 @@ _08100BA8: b _08100C34 .pool _08100BC8: - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r7, r0, 24 ldrb r0, [r5] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r4, r0, 24 ldrb r0, [r5] @@ -4469,7 +4469,7 @@ _08100BC8: mov r8, r2 mov r1, r8 eors r0, r1 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08100C3E @@ -4477,7 +4477,7 @@ _08100BC8: mov r2, r8 eors r0, r2 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r7 @@ -4486,7 +4486,7 @@ _08100BC8: mov r1, r8 eors r0, r1 movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r4 @@ -4494,24 +4494,24 @@ _08100BC8: b _08100C3E .pool _08100C24: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r7, r0, 24 ldrb r0, [r4] _08100C34: movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r4, r0, 24 _08100C3E: strh r7, [r6, 0x20] strh r4, [r6, 0x22] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08100C56 @@ -4754,9 +4754,9 @@ sub_8100E1C: @ 8100E1C ldr r4, =gBattleAnimArgs ldrh r0, [r4, 0x4] strh r0, [r5, 0x2E] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08100E44 @@ -4866,7 +4866,7 @@ sub_8100EF0: @ 8100EF0 adds r0, 0x8 strh r0, [r1, 0x2] _08100F06: - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] movs r1, 0 bl sub_80A60AC @@ -4885,7 +4885,7 @@ _08100F06: adds r0, r4 strh r0, [r5, 0x22] ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08100F44 @@ -5090,17 +5090,17 @@ _081010C2: sub_81010CC: @ 81010CC push {r4-r6,lr} adds r4, r0, 0 - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r5, 0 strh r0, [r4, 0x20] ldrb r0, [r6] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r1, =0x0000ffe8 @@ -5426,11 +5426,11 @@ sub_810135C: @ 810135C ldrsh r0, [r0, r1] cmp r0, 0 bne _08101378 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0810137A .pool _08101378: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0810137A: ldrb r6, [r0] bl IsDoubleBattle @@ -5440,7 +5440,7 @@ _0810137A: movs r1, 0x2 adds r0, r6, 0 eors r0, r1 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _081013C4 @@ -5470,7 +5470,7 @@ _081013C4: bne _081013E8 adds r0, r6, 0 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] @@ -5481,14 +5481,14 @@ _081013C4: _081013E8: adds r0, r6, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] adds r0, r6, 0 movs r1, 0x3 _081013FA: - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x2] @@ -5523,9 +5523,9 @@ sub_8101440: @ 8101440 push {r4,lr} adds r4, r0, 0 bl sub_80A6838 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08101474 @@ -5611,9 +5611,9 @@ sub_81014F4: @ 81014F4 push {r4,lr} adds r4, r0, 0 bl sub_80A6838 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810152C @@ -5885,17 +5885,17 @@ _08101718: strh r1, [r5, 0x24] movs r0, 0x6 strh r0, [r5, 0x2E] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r7 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r6 @@ -6199,9 +6199,9 @@ sub_8101998: @ 8101998 adds r4, r0, 0 movs r0, 0x6 strh r0, [r4, 0x2E] - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r2, 0x2 negs r2, r2 @@ -6213,7 +6213,7 @@ _081019B6: strh r1, [r4, 0x30] movs r0, 0 strh r0, [r4, 0x32] - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldrb r0, [r5] adds r0, r1 ldrb r0, [r0] @@ -6237,8 +6237,8 @@ sub_81019E8: @ 81019E8 ldrsh r6, [r5, r0] cmp r6, 0 bne _08101A24 - ldr r1, =gBankSpriteIds - ldr r4, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] adds r0, r1 ldrb r0, [r0] @@ -6246,7 +6246,7 @@ sub_81019E8: @ 81019E8 movs r1, 0 bl sub_80A7270 ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x3A] @@ -6301,9 +6301,9 @@ sub_8101A74: @ 8101A74 adds r4, r0, 0 movs r0, 0x4 strh r0, [r4, 0x2E] - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r1, 0x3 cmp r0, 0 @@ -6315,7 +6315,7 @@ _08101A92: strh r1, [r4, 0x30] movs r0, 0 strh r0, [r4, 0x32] - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldrb r0, [r5] adds r0, r1 ldrb r0, [r0] @@ -6360,19 +6360,19 @@ sub_8101AE8: @ 8101AE8 ldrsh r0, [r5, r1] cmp r0, 0 bne _08101B38 - ldr r1, =gBankSpriteIds - ldr r4, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] adds r0, r1 ldrb r0, [r0] strh r0, [r5, 0x34] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x3A] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08101B2C @@ -6465,14 +6465,14 @@ _08101BB6: b _08101C8E _08101BBC: strh r5, [r4, 0x30] - ldr r1, =gBankSpriteIds - ldr r2, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r2, =gBattleAnimAttacker ldrb r0, [r2] adds r0, r1 ldrb r0, [r0] strh r0, [r4, 0x32] ldrb r0, [r2] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x34] @@ -6575,15 +6575,15 @@ sub_8101C94: @ 8101C94 adds r0, r6 lsls r0, 3 adds r5, r0, r1 - ldr r1, =gBankSpriteIds - ldr r2, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r2, =gBattleAnimAttacker ldrb r0, [r2] adds r0, r1 ldrb r0, [r0] movs r4, 0 strh r0, [r5, 0x8] ldrb r0, [r2] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r2, r0, 24 strh r2, [r5, 0xA] @@ -6922,15 +6922,15 @@ sub_8101F40: @ 8101F40 ldrsh r0, [r6, r1] cmp r0, 0 bne _08101F5C - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _08101F5E .pool _08101F5C: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _08101F5E: ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x2] @@ -6938,7 +6938,7 @@ _08101F5E: strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x4] @@ -6962,10 +6962,10 @@ _08101F5E: sub_8101FA8: @ 8101FA8 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r1, =0x0000ffd0 @@ -6973,7 +6973,7 @@ sub_8101FA8: @ 8101FA8 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -6992,10 +6992,10 @@ sub_8101FA8: @ 8101FA8 sub_8101FF0: @ 8101FF0 push {r4-r6,lr} adds r4, r0, 0 - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r1, =gBattleAnimArgs @@ -7007,7 +7007,7 @@ sub_8101FF0: @ 8101FF0 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -7115,15 +7115,15 @@ sub_81020D8: @ 81020D8 ldrsh r0, [r6, r1] cmp r0, 0 bne _081020F4 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _081020F6 .pool _081020F4: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _081020F6: ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x2] @@ -7131,7 +7131,7 @@ _081020F6: strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x4] @@ -7191,17 +7191,17 @@ _08102178: sub_810217C: @ 810217C push {r4-r6,lr} adds r4, r0, 0 - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r5, 0 strh r0, [r4, 0x20] ldrb r0, [r6] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 subs r0, 0xC @@ -7316,10 +7316,10 @@ sub_8102268: @ 8102268 ldrsh r0, [r6, r1] cmp r0, 0 bne _081022B2 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r5, =gBattleAnimArgs lsrs r0, 24 @@ -7328,7 +7328,7 @@ sub_8102268: @ 8102268 strh r0, [r6, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5, 0x2] @@ -7465,16 +7465,16 @@ _08102390: strb r0, [r2] movs r0, 0x1E strh r0, [r5, 0x2E] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -7539,19 +7539,19 @@ sub_8102434: @ 8102434 lsls r0, 24 lsrs r7, r0, 24 movs r4, 0 - ldr r0, =gNoOfAllBanks + ldr r0, =gBattlersCount ldrb r0, [r0] cmp r4, r0 bcs _08102490 ldr r6, =gBattleAnimArgs - ldr r5, =gHealthBoxesIds + ldr r5, =gHealthboxSpriteIds _08102448: movs r1, 0 ldrsh r0, [r6, r1] cmp r0, 0x1 bne _08102464 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08102464 @@ -7564,7 +7564,7 @@ _08102464: cmp r0, 0x1 bne _08102482 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -7576,7 +7576,7 @@ _08102482: adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gNoOfAllBanks + ldr r0, =gBattlersCount ldrb r0, [r0] cmp r4, r0 bcc _08102448 @@ -7597,7 +7597,7 @@ sub_81024A8: @ 81024A8 movs r4, 0 b _081024C2 _081024B2: - ldr r0, =gHealthBoxesIds + ldr r0, =gHealthboxSpriteIds adds r0, r4, r0 ldrb r0, [r0] bl SetHealthboxSpriteVisible @@ -7605,7 +7605,7 @@ _081024B2: lsls r0, 24 lsrs r4, r0, 24 _081024C2: - ldr r0, =gNoOfAllBanks + ldr r0, =gBattlersCount ldrb r0, [r0] cmp r4, r0 bcc _081024B2 @@ -7673,10 +7673,10 @@ _0810253A: sub_8102540: @ 8102540 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r2, =gBattleAnimArgs lsrs r0, 24 @@ -8068,10 +8068,10 @@ _08102862: strh r0, [r5, 0x2E] ldrh r0, [r6, 0x4] strh r0, [r5, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6] @@ -8079,7 +8079,7 @@ _08102862: strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x2] @@ -8113,9 +8113,9 @@ _08102862: b _081028FA .pool _081028D4: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810291C @@ -8237,7 +8237,7 @@ sub_81029B4: @ 81029B4 ldr r1, =gTasks adds r6, r0, r1 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x8] @@ -8333,7 +8333,7 @@ _08102A88: _08102A9A: ldr r0, =sub_8102AE0 str r0, [r6] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -8374,7 +8374,7 @@ sub_8102AE0: @ 8102AE0 ldrsh r0, [r0, r1] cmp r0, 0 bne _08102B32 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -8657,15 +8657,15 @@ _08102D10: b _08102D4E .pool _08102D34: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r3, r0, 24 _08102D4E: @@ -8855,9 +8855,9 @@ _08102EA6: sub_8102EB0: @ 8102EB0 push {r4-r7,lr} adds r6, r0, 0 - ldr r7, =gAnimBankAttacker + ldr r7, =gBattleAnimAttacker ldrb r0, [r7] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -8870,7 +8870,7 @@ sub_8102EB0: @ 8102EB0 _08102ECE: ldrb r0, [r7] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -8880,7 +8880,7 @@ _08102ECE: strh r0, [r6, 0x20] ldrb r0, [r7] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r2, [r4, 0x4] @@ -9002,17 +9002,17 @@ sub_8102FB8: @ 8102FB8 _08102FDC: ldr r6, =0x0000fff0 _08102FDE: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r6 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x8 @@ -9149,7 +9149,7 @@ sub_810310C: @ 810310C lsls r0, 24 lsrs r5, r0, 24 adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810312C @@ -9167,7 +9167,7 @@ _08103136: strh r0, [r6, 0x20] adds r0, r5, 0 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 adds r0, r5, 0 movs r1, 0 @@ -9197,18 +9197,18 @@ sub_8103164: @ 8103164 ldrsh r0, [r0, r1] cmp r0, 0 bne _08103180 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08103182 .pool _08103180: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08103182: ldrb r4, [r0] adds r0, r4, 0 adds r1, r5, 0 bl sub_810310C adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 negs r1, r0 @@ -9268,11 +9268,11 @@ sub_8103208: @ 8103208 ldrsh r0, [r0, r1] cmp r0, 0 bne _08103224 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08103226 .pool _08103224: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08103226: ldrb r0, [r0] adds r1, r4, 0 @@ -9325,16 +9325,16 @@ sub_8103284: @ 8103284 ldrsh r0, [r0, r1] cmp r0, 0 bne _081032A0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _081032A2 .pool _081032A0: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _081032A2: ldrb r5, [r0] adds r0, r5, 0 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r6, 0 @@ -9463,18 +9463,18 @@ sub_8103390: @ 8103390 ldrsh r0, [r0, r1] cmp r0, 0 bne _081033AC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _081033AE .pool _081033AC: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _081033AE: ldrb r4, [r0] adds r0, r4, 0 adds r1, r5, 0 bl sub_810310C adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _081033D4 @@ -9591,11 +9591,11 @@ sub_8103498: @ 8103498 ldrsh r0, [r0, r1] cmp r0, 0 bne _081034B4 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _081034B6 .pool _081034B4: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _081034B6: ldrb r0, [r0] adds r1, r4, 0 @@ -9716,26 +9716,26 @@ _0810357A: sub_810358C: @ 810358C push {r4-r6,lr} adds r5, r0, 0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankTarget + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 ldrb r6, [r0] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _081035E4 @@ -9846,8 +9846,8 @@ sub_81036A0: @ 81036A0 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -9871,12 +9871,12 @@ sub_81036DC: @ 81036DC push {r4-r6,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r1, r0, r1 ldrb r4, [r1] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08103718 @@ -9992,9 +9992,9 @@ sub_81037D8: @ 81037D8 push {r4,r5,lr} adds r4, r0, 0 bl sub_80A6838 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08103804 @@ -10018,9 +10018,9 @@ _08103810: ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x22] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810384C @@ -10117,9 +10117,9 @@ sub_81038C8: @ 81038C8 b _0810390E .pool _081038EC: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810390E @@ -10137,10 +10137,10 @@ _0810390E: adds r0, r5, 0 movs r1, 0x1 bl sub_80A69CC - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r6, =gBattleAnimArgs lsrs r0, 24 @@ -10151,7 +10151,7 @@ _0810390E: mov r8, r0 ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r2, [r6, 0x6] @@ -10676,8 +10676,8 @@ _08103D54: strh r0, [r3, 0x4] b _08103DB6 _08103D5C: - ldr r1, =gBanksByIdentity - ldr r0, =gAnimBankTarget + ldr r1, =gBattlerPositions + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -10716,10 +10716,10 @@ _08103DB0: _08103DB4: strh r0, [r2, 0x4] _08103DB6: - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord ldr r1, =gTasks mov r3, r8 adds r4, r3, r7 @@ -10731,7 +10731,7 @@ _08103DB6: adds r6, r0, 0 ldrb r0, [r5] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1C] @@ -10742,11 +10742,11 @@ _08103DB6: ands r0, r1 cmp r0, 0 beq _08103E20 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r1, [r4] movs r0, 0x2 eors r0, r1 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08103E20 @@ -10759,16 +10759,16 @@ _08103DB6: .pool _08103E20: mov r5, sp - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r1, r10 @@ -10897,7 +10897,7 @@ _08103F28: asrs r0, 16 cmp r0, 0x3F ble _08103FA0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A82E4 lsls r0, 24 @@ -10914,7 +10914,7 @@ _08103F78: asrs r0, 16 cmp r0, 0x3F ble _08103FA0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A82E4 lsls r0, 24 @@ -10927,7 +10927,7 @@ _08103F78: b _08103FB0 .pool _08103FA0: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A82E4 lsls r0, 24 @@ -11050,15 +11050,15 @@ sub_8104088: @ 8104088 adds r5, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -11066,9 +11066,9 @@ sub_8104088: @ 8104088 adds r0, r1 lsls r0, 16 lsrs r7, r0, 16 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _081040CC @@ -11145,9 +11145,9 @@ sub_8104154: @ 8104154 lsls r0, 16 asrs r0, 24 strh r0, [r4, 0x24] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08104178 @@ -11200,16 +11200,16 @@ sub_81041C4: @ 81041C4 bl sub_80A69CC movs r0, 0x14 strh r0, [r4, 0x2E] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -11352,9 +11352,9 @@ sub_8104304: @ 8104304 adds r4, r0, 0 movs r1, 0 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08104322 @@ -11423,17 +11423,17 @@ _08104390: strh r0, [r5, 0x22] movs r0, 0x6 strh r0, [r5, 0x2E] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 add r0, r8 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r6 @@ -11510,10 +11510,10 @@ _08104448: movs r0, 0x6 strh r0, [r5, 0x2E] strh r1, [r5, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 add r0, r9 @@ -11522,7 +11522,7 @@ _08104448: strh r0, [r5, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r6 @@ -11678,7 +11678,7 @@ sub_81045B0: @ 81045B0 lsls r5, 24 lsrs r5, 24 movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -11735,7 +11735,7 @@ sub_8104614: @ 8104614 cmp r1, r0 bne _08104664 movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -11771,7 +11771,7 @@ sub_8104674: @ 8104674 ldr r0, =gTasks adds r4, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 movs r5, 0 @@ -11786,7 +11786,7 @@ sub_8104674: @ 8104674 strh r0, [r4, 0x10] strh r5, [r4, 0x12] strh r5, [r4, 0x14] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A82E4 lsls r0, 24 @@ -12129,7 +12129,7 @@ sub_8104938: @ 8104938 .pool _08104964: ldrb r0, [r5] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -12303,7 +12303,7 @@ sub_8104AB4: @ 8104AB4 ldr r0, =gTasks adds r4, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -12345,9 +12345,9 @@ _08104B10: sub_8104B1C: @ 8104B1C push {r4,r5,lr} adds r4, r0, 0 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08104B50 @@ -12356,7 +12356,7 @@ sub_8104B1C: @ 8104B1C bl StartSpriteAnim ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x20 @@ -12370,7 +12370,7 @@ _08104B50: bl StartSpriteAnim ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 subs r0, 0x20 @@ -12378,10 +12378,10 @@ _08104B50: ldr r0, =0x0000ffc0 _08104B6A: strh r0, [r4, 0x30] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r1, 0 @@ -12411,15 +12411,15 @@ sub_8104BAC: @ 8104BAC ldrsh r0, [r0, r1] cmp r0, 0 bne _08104BC8 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08104BCA .pool _08104BC8: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08104BCA: ldrb r5, [r0] adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -12432,7 +12432,7 @@ _08104BCA: _08104BE4: adds r0, r5, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -12441,7 +12441,7 @@ _08104BE4: strh r0, [r6, 0x20] adds r0, r5, 0 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x4] @@ -12476,7 +12476,7 @@ sub_8104C38: @ 8104C38 ldr r0, =gTasks adds r4, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -12528,7 +12528,7 @@ sub_8104CA4: @ 8104CA4 ldr r0, =gTasks adds r4, r1, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 movs r2, 0 @@ -12559,9 +12559,9 @@ sub_8104CA4: @ 8104CA4 strh r2, [r4, 0x18] movs r0, 0x2 strh r0, [r4, 0x1A] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -12759,7 +12759,7 @@ sub_8104E74: @ 8104E74 lsls r1, 3 ldr r0, =gTasks adds r5, r1, r0 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] bl sub_80A6190 lsls r0, 24 @@ -12802,7 +12802,7 @@ _08104EDC: lsls r0, 16 cmp r2, r0 bgt _08104F1A - ldr r4, =gUnknown_02038C28 + ldr r4, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r4, r0 @@ -12839,7 +12839,7 @@ _08104F1A: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams ldr r0, =sub_8104F54 str r0, [r5] add sp, 0xC @@ -12919,7 +12919,7 @@ _08104FCC: ldrsh r0, [r3, r1] cmp r0, 0 blt _08104FF0 - ldr r2, =gUnknown_02038C28 + ldr r2, =gScanlineEffectRegBuffers lsls r0, 1 adds r0, r2 ldrh r1, [r3, 0x14] @@ -12943,7 +12943,7 @@ _08104FF0: ldrsh r1, [r3, r2] cmp r0, r1 blt _0810500E - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] adds r0, r4, 0 @@ -12959,10 +12959,10 @@ _0810500E: sub_810501C: @ 810501C push {r4-r6,lr} adds r4, r0, 0 - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 subs r0, 0x10 @@ -13194,11 +13194,11 @@ sub_81051C4: @ 81051C4 adds r1, r0, 0 cmp r2, 0 bne _081051F0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _081051F2 .pool _081051F0: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _081051F2: ldrb r5, [r0] ldrb r1, [r1, 0x6] @@ -13212,7 +13212,7 @@ _081051F2: movs r1, 0x2 adds r0, r5, 0 eors r0, r1 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810526A @@ -13231,11 +13231,11 @@ _08105230: adds r0, r5, 0 movs r1, 0x2 _08105234: - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r4, r0, 24 adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08105260 @@ -13305,15 +13305,15 @@ sub_81052A4: @ 81052A4 ldrsh r0, [r0, r2] cmp r0, 0 bne _081052DC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r7, [r0] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget b _081052E2 .pool _081052DC: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r7, [r0] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker _081052E2: ldrb r0, [r0] mov r8, r0 @@ -13335,13 +13335,13 @@ _08105308: str r3, [sp, 0x4] _08105310: adds r0, r7, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810536C adds r0, r7, 0 mov r1, r10 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r1, =gBattleAnimArgs lsrs r0, 24 @@ -13354,25 +13354,25 @@ _08105310: mov r4, r8 eors r4, r0 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810535C ldr r2, =gSprites - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r4, r0 b _081053EA .pool _0810535C: ldr r2, =gSprites - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds add r0, r8 b _081053EA .pool _0810536C: adds r0, r7, 0 mov r1, r10 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r1, =gBattleAnimArgs @@ -13389,12 +13389,12 @@ _0810536C: adds r4, r7, 0 eors r4, r0 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _081053E4 ldr r3, =gSprites - ldr r2, =gBankSpriteIds + ldr r2, =gBattlerSpriteIds adds r0, r7, r2 ldrb r1, [r0] lsls r0, r1, 4 @@ -13424,7 +13424,7 @@ _081053E0: b _081053F4 _081053E4: ldr r2, =gSprites - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r7, r0 _081053EA: ldrb r1, [r0] @@ -13442,7 +13442,7 @@ _081053FA: strb r0, [r1] adds r0, r7, 0 ldr r1, [sp, 0x4] - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -13457,7 +13457,7 @@ _081053FA: movs r1, 0x2 mov r0, r8 eors r0, r1 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810544C @@ -13473,20 +13473,20 @@ _0810544C: mov r4, sp mov r0, r8 mov r1, r10 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4] mov r0, r8 ldr r1, [sp, 0x4] - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r2, sp strh r0, [r2, 0x2] _0810546C: mov r0, r8 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08105490 @@ -13581,9 +13581,9 @@ sub_8105538: @ 8105538 adds r4, r0, 0 movs r1, 0 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r1, 0xA0 cmp r0, 0 @@ -13622,9 +13622,9 @@ sub_810557C: @ 810557C strh r0, [r4, 0x24] subs r2, 0x20 strh r2, [r4, 0x2E] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r1, 0xA0 cmp r0, 0 @@ -13873,7 +13873,7 @@ sub_810577C: @ 810577C ldr r0, =gTasks adds r4, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -13950,9 +13950,9 @@ sub_8105810: @ 8105810 strh r0, [r4, 0xE] movs r0, 0x3 strh r0, [r4, 0x20] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08105850 @@ -13968,7 +13968,7 @@ _08105850: _08105856: strh r0, [r4, 0x24] movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -14154,7 +14154,7 @@ sub_810599C: @ 810599C movs r0, 0x2 strh r0, [r4, 0x24] movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -14292,16 +14292,16 @@ sub_8105AAC: @ 8105AAC strh r0, [r4, 0x16] strh r0, [r4, 0x18] strh r0, [r4, 0x22] - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x24] ldrb r0, [r5] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -14567,7 +14567,7 @@ _08105CCC: lsls r2, 1 adds r0, r2 str r1, [r0] - ldr r0, =gUnknown_08C22610 + ldr r0, =gBattleAnimSpritePalette_206 bl LZDecompressWram movs r4, 0 _08105D00: @@ -14684,9 +14684,9 @@ sub_8105DE8: @ 8105DE8 adds r5, r0, 0 movs r1, 0 bl sub_80A69CC - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08105E08 @@ -14700,7 +14700,7 @@ _08105E08: strh r0, [r5, 0x2E] ldrb r0, [r6] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -14708,7 +14708,7 @@ _08105E08: strh r0, [r5, 0x32] ldrb r0, [r6] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x6] @@ -14939,7 +14939,7 @@ sub_8106020: @ 8106020 lsrs r0, 24 adds r6, r0, 0 movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r4, r0, 24 ldr r1, =gTasks @@ -14955,7 +14955,7 @@ sub_8106020: @ 8106020 cmp r0, 0x1 bne _0810607C movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -15004,7 +15004,7 @@ sub_81060B0: @ 81060B0 lsrs r0, 24 adds r6, r0, 0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r4, r0, 24 ldr r1, =gTasks @@ -15020,7 +15020,7 @@ sub_81060B0: @ 81060B0 cmp r0, 0x1 bne _0810610C movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -15072,10 +15072,10 @@ sub_8106140: @ 8106140 strh r0, [r4, 0x2E] ldrh r0, [r4, 0x20] strh r0, [r4, 0x30] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -15083,7 +15083,7 @@ sub_8106140: @ 8106140 strh r0, [r4, 0x34] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -15557,18 +15557,18 @@ _0810653A: lsls r0, 24 cmp r0, 0 beq _08106578 - ldr r1, =gUnknown_08D93960 + ldr r1, =gBattleAnimBackgroundTilemap_ScaryFaceContest b _0810658A .pool _08106578: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _0810659C - ldr r1, =gUnknown_08D93598 + ldr r1, =gBattleAnimBackgroundTilemap_ScaryFacePlayer _0810658A: mov r0, sp movs r2, 0 @@ -15576,7 +15576,7 @@ _0810658A: b _081065A6 .pool _0810659C: - ldr r1, =gUnknown_08D9377C + ldr r1, =gBattleAnimBackgroundTilemap_ScaryFaceOpponent mov r0, sp movs r2, 0 bl sub_80A6D60 @@ -15773,16 +15773,16 @@ _08106730: sub_810673C: @ 810673C push {r4,r5,lr} adds r4, r0, 0 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -15924,16 +15924,16 @@ _08106868: sub_8106878: @ 8106878 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -16029,16 +16029,16 @@ _08106940: sub_8106944: @ 8106944 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -16314,7 +16314,7 @@ sub_8106B54: @ 8106B54 adds r0, r4, 0 movs r1, 0 bl StartSpriteAnim - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A82E4 subs r0, 0x1 @@ -16505,21 +16505,21 @@ _08106CEC: ldrsh r0, [r1, r2] cmp r0, 0 bne _08106CFC - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _08106CFE .pool _08106CFC: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _08106CFE: ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -16593,7 +16593,7 @@ sub_8106D90: @ 8106D90 lsrs r5, 24 ldr r0, =gBattleAnimArgs ldrb r0, [r0] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -16645,15 +16645,15 @@ sub_8106E00: @ 8106E00 ldrsh r0, [r0, r1] cmp r0, 0 bne _08106E1C - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08106E1E .pool _08106E1C: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08106E1E: ldrb r6, [r0] adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -16666,7 +16666,7 @@ _08106E1E: _08106E38: adds r0, r6, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r7, =gBattleAnimArgs lsrs r0, 24 @@ -16676,7 +16676,7 @@ _08106E38: strh r0, [r5, 0x20] adds r0, r6, 0 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r7, 0x4] @@ -16992,11 +16992,11 @@ sub_81070AC: @ 81070AC ands r0, r1 cmp r0, 0 beq _081070F8 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r1, [r4] movs r0, 0x2 eors r0, r1 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _081070F8 @@ -17016,16 +17016,16 @@ sub_81070AC: @ 81070AC b _08107118 .pool _081070F8: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x28 @@ -17067,8 +17067,8 @@ sub_8107144: @ 8107144 .pool thumb_func_end sub_8107144 - thumb_func_start update_fury_cutter_counter_copy -update_fury_cutter_counter_copy: @ 8107168 + thumb_func_start sub_8107168 +sub_8107168: @ 8107168 push {lr} lsls r0, 24 lsrs r0, 24 @@ -17081,7 +17081,7 @@ update_fury_cutter_counter_copy: @ 8107168 pop {r0} bx r0 .pool - thumb_func_end update_fury_cutter_counter_copy + thumb_func_end sub_8107168 thumb_func_start sub_8107188 sub_8107188: @ 8107188 @@ -17196,15 +17196,15 @@ _0810725A: sub_8107260: @ 8107260 push {r4-r6,lr} adds r6, r0, 0 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08107290 ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r4, =gBattleAnimArgs @@ -17215,7 +17215,7 @@ sub_8107260: @ 8107260 _08107290: ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -17225,7 +17225,7 @@ _081072A2: strh r0, [r6, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x2] @@ -17237,9 +17237,9 @@ _081072A2: movs r1, 0x40 orrs r0, r1 strb r0, [r2] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _081072D8 @@ -17253,10 +17253,10 @@ _081072D8: strh r0, [r6, 0x2E] ldrh r0, [r6, 0x20] strh r0, [r6, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x32] @@ -17264,7 +17264,7 @@ _081072D8: strh r0, [r6, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x36] @@ -17422,9 +17422,9 @@ sub_810744C: @ 810744C adds r5, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810747C @@ -17445,10 +17445,10 @@ _08107482: strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] strh r0, [r5, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r6 @@ -17457,7 +17457,7 @@ _08107482: strh r0, [r5, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r7, [r7, 0x6] @@ -17621,10 +17621,10 @@ sub_81075EC: @ 81075EC strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] strh r0, [r5, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] @@ -17632,7 +17632,7 @@ sub_81075EC: @ 81075EC strh r0, [r5, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -17773,16 +17773,16 @@ _08107722: sub_8107730: @ 8107730 push {r4-r7,lr} adds r4, r0, 0 - ldr r7, =gAnimBankAttacker + ldr r7, =gBattleAnimAttacker ldrb r0, [r7] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r7] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -17797,7 +17797,7 @@ sub_8107730: @ 8107730 cmp r0, 0 bne _0810778A ldrb r0, [r7] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08107784 @@ -17846,13 +17846,13 @@ _081077BA: sub_81077C0: @ 81077C0 push {r4-r7,lr} adds r6, r0, 0 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -17863,12 +17863,12 @@ sub_81077C0: @ 81077C0 negs r0, r0 strh r0, [r4] ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 cmp r0, 0 beq _08107802 ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -17898,9 +17898,9 @@ _0810781E: _08107828: adds r0, r6, 0 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08107842 @@ -17910,10 +17910,10 @@ _08107828: _08107842: ldrh r0, [r5, 0x8] strh r0, [r6, 0x2E] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r5, 0x4] @@ -17921,7 +17921,7 @@ _08107842: strh r0, [r6, 0x32] ldrb r0, [r4] adds r1, r7, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5, 0x6] @@ -18069,9 +18069,9 @@ sub_8107954: @ 8107954 movs r1, 0x3 movs r2, 0x1 bl SetAnimBgAttribute - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -18097,7 +18097,7 @@ _081079E0: _081079EA: mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, =gUnknown_08D94AB8 + ldr r1, =gBattleAnimBackgroundImage_Surf mov r2, sp ldrh r2, [r2, 0xA] bl sub_80A6CC0 @@ -18106,7 +18106,7 @@ _081079EA: ldrsh r0, [r0, r1] cmp r0, 0 bne _08107A24 - ldr r0, =gUnknown_08D95DD8 + ldr r0, =gBattleAnimBackgroundPalette_Surf mov r1, sp ldrb r1, [r1, 0x8] lsls r1, 4 @@ -18115,7 +18115,7 @@ _081079EA: b _08107A32 .pool _08107A24: - ldr r0, =gUnknown_08D8FB9C + ldr r0, =gBattleAnimBackgroundImageMuddyWater_Pal mov r1, sp ldrb r1, [r1, 0x8] lsls r1, 4 @@ -18174,9 +18174,9 @@ _08107A32: b _08107B0E .pool _08107AB4: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0x1 @@ -18518,7 +18518,7 @@ _08107D8C: movs r3, 0 movs r2, 0x10 ldrsh r0, [r4, r2] - ldr r1, =gUnknown_02038C28 + ldr r1, =gScanlineEffectRegBuffers mov r12, r1 cmp r3, r0 bge _08107DCA @@ -18555,7 +18555,7 @@ _08107DCA: ldrsh r0, [r4, r3] cmp r1, r0 bge _08107E04 - ldr r5, =gUnknown_02038C28 + ldr r5, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r5, r0 @@ -18584,7 +18584,7 @@ _08107E04: asrs r0, r2, 16 cmp r0, 0x9F bgt _08107E3A - ldr r5, =gUnknown_02038C28 + ldr r5, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r5, r0 @@ -18652,7 +18652,7 @@ _08107E7A: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] @@ -18689,8 +18689,8 @@ _08107ED8: ldrsh r0, [r4, r1] cmp r3, r0 bge _08107F0C - ldr r6, =gUnknown_02038C28 - ldr r5, =gUnknown_02039B28 + ldr r6, =gScanlineEffectRegBuffers + ldr r5, =gScanlineEffect _08107EE6: lsls r1, r3, 16 asrs r1, 16 @@ -18719,8 +18719,8 @@ _08107F0C: ldrsh r0, [r4, r3] cmp r1, r0 bge _08107F40 - ldr r6, =gUnknown_02038C28 - ldr r5, =gUnknown_02039B28 + ldr r6, =gScanlineEffectRegBuffers + ldr r5, =gScanlineEffect _08107F1E: asrs r3, r2, 16 lsls r2, r3, 1 @@ -18745,8 +18745,8 @@ _08107F40: asrs r0, r1, 16 cmp r0, 0x9F bgt _08108022 - ldr r6, =gUnknown_02038C28 - ldr r5, =gUnknown_02039B28 + ldr r6, =gScanlineEffectRegBuffers + ldr r5, =gScanlineEffect _08107F4E: asrs r3, r1, 16 lsls r2, r3, 1 @@ -18771,8 +18771,8 @@ _08107F78: ldrsh r0, [r4, r1] cmp r3, r0 bge _08107FAC - ldr r6, =gUnknown_02038C28 - ldr r5, =gUnknown_02039B28 + ldr r6, =gScanlineEffectRegBuffers + ldr r5, =gScanlineEffect _08107F86: lsls r1, r3, 16 asrs r1, 16 @@ -18801,8 +18801,8 @@ _08107FAC: ldrsh r0, [r4, r3] cmp r1, r0 bge _08107FE0 - ldr r6, =gUnknown_02038C28 - ldr r5, =gUnknown_02039B28 + ldr r6, =gScanlineEffectRegBuffers + ldr r5, =gScanlineEffect _08107FBE: asrs r3, r2, 16 lsls r2, r3, 1 @@ -18827,8 +18827,8 @@ _08107FE0: asrs r0, r1, 16 cmp r0, 0x9F bgt _0810800C - ldr r6, =gUnknown_02038C28 - ldr r5, =gUnknown_02039B28 + ldr r6, =gScanlineEffectRegBuffers + ldr r5, =gScanlineEffect _08107FEE: asrs r3, r1, 16 lsls r2, r3, 1 @@ -18852,7 +18852,7 @@ _0810800C: negs r0, r0 cmp r1, r0 bne _08108022 - bl remove_some_task + bl ScanlineEffect_Stop adds r0, r7, 0 bl DestroyTask _08108022: @@ -18963,7 +18963,7 @@ sub_81080E4: @ 81080E4 ldr r0, =gTasks adds r4, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -19278,13 +19278,13 @@ _0810837A: thumb_func_start sub_8108384 sub_8108384: @ 8108384 push {r4,r5,lr} - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _081083B8 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -19298,7 +19298,7 @@ _081083B4: adds r0, r2, 0 b _081083FA _081083B8: - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -19350,16 +19350,16 @@ sub_8108408: @ 8108408 lsls r1, 24 lsrs r1, 24 str r1, [sp] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r8, r0 ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 movs r5, 0xAC @@ -19576,9 +19576,9 @@ sub_81085C8: @ 81085C8 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0xA] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08108600 @@ -19956,22 +19956,22 @@ sub_81088E4: @ 81088E4 lsls r1, 3 ldr r0, =gTasks adds r5, r1, r0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r6, 0 strh r0, [r5, 0xE] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x10] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r2, 0x1 negs r2, r2 @@ -20234,7 +20234,7 @@ _08108B1A: sub_8108B2C: @ 8108B2C push {r4-r6,lr} adds r6, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _08108B86 @@ -20283,7 +20283,7 @@ _08108B86: sub_8108B94: @ 8108B94 push {r4-r6,lr} adds r5, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _08108BD0 @@ -20418,16 +20418,16 @@ sub_8108C94: @ 8108C94 adds r4, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x30] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -20593,7 +20593,7 @@ _08108DE2: strh r0, [r4, 0x2E] mov r0, r9 strh r0, [r4, 0x30] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A82E4 subs r0, 0x1 @@ -20648,7 +20648,7 @@ _08108E58: strh r0, [r4, 0x2E] mov r0, r9 strh r0, [r4, 0x30] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A82E4 subs r0, 0x1 @@ -20746,9 +20746,9 @@ sub_8108F4C: @ 8108F4C push {r4,lr} adds r4, r0, 0 bl sub_80A6838 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08108F88 @@ -20798,9 +20798,9 @@ _08108F9E: sub_8108FBC: @ 8108FBC push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08108FF0 @@ -20886,9 +20886,9 @@ sub_8109064: @ 8109064 push {r4,lr} adds r4, r0, 0 bl sub_80A6838 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08109090 @@ -21037,26 +21037,26 @@ sub_810916C: @ 810916C sub_8109198: @ 8109198 push {r4-r6,lr} adds r6, r0, 0 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 bne _081091DE movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition ldrb r1, [r5] lsls r0, 24 lsrs r0, 24 cmp r1, r0 beq _081091D6 movs r0, 0x3 - bl GetBankByIdentity + bl GetBattlerAtPosition ldrb r1, [r5] lsls r0, 24 lsrs r0, 24 @@ -21128,10 +21128,10 @@ sub_8109244: @ 8109244 strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] strh r0, [r5, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] @@ -21139,7 +21139,7 @@ sub_8109244: @ 8109244 strh r0, [r5, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -21164,16 +21164,16 @@ sub_810929C: @ 810929C beq _081092E4 movs r4, 0 strh r4, [r6, 0x2E] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x22] @@ -21389,7 +21389,7 @@ sub_8109460: @ 8109460 ldr r0, =gTasks adds r4, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 movs r5, 0 @@ -21407,9 +21407,9 @@ sub_8109460: @ 8109460 adds r0, r2 ldrh r0, [r0, 0x22] strh r0, [r4, 0x10] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x12] @@ -21820,9 +21820,9 @@ sub_81097B4: @ 81097B4 lsls r0, 2 adds r0, r1 ldrh r4, [r0, 0x20] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810980C @@ -21992,9 +21992,9 @@ sub_8109930: @ 8109930 adds r0, r2 lsls r0, 16 lsrs r4, r0, 16 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08109970 @@ -22248,9 +22248,9 @@ _08109B18: bl StartSpriteAnim ldrh r0, [r4, 0x4] strh r0, [r5, 0x3C] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08109B48 @@ -22261,7 +22261,7 @@ _08109B48: ldr r0, =0x0000fffc _08109B4A: strh r0, [r5, 0x36] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8328 movs r1, 0x3 @@ -22279,9 +22279,9 @@ _08109B70: ldrh r0, [r5, 0x30] adds r0, 0xC0 strh r0, [r5, 0x30] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08109B94 @@ -22356,10 +22356,10 @@ _08109BCE: lsls r0, 1 strh r0, [r5, 0x2E] strh r1, [r5, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] @@ -22367,7 +22367,7 @@ _08109BCE: strh r0, [r5, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -22485,7 +22485,7 @@ _08109CC8: lsrs r0, 16 cmp r0, 0x83 bls _08109D3C - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8328 movs r1, 0x3 @@ -22500,7 +22500,7 @@ _08109CC8: b _08109D80 .pool _08109D3C: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8328 lsls r0, 24 @@ -22578,9 +22578,9 @@ sub_8109DBC: @ 8109DBC lsls r1, 3 ldr r0, =gTasks adds r4, r1, r0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r2, 0x1 negs r2, r2 @@ -22590,22 +22590,22 @@ sub_8109DBC: @ 8109DBC movs r1, 0x1 _08109DE2: strh r1, [r4, 0x20] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r1, [r0] movs r0, 0x2 eors r0, r1 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 lsrs r0, 24 adds r0, 0x1 strh r0, [r4, 0x22] movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x24] movs r0, 0x3 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -22973,8 +22973,8 @@ _0810A0CA: ldrh r0, [r2, 0x8] adds r0, 0x1 strh r0, [r2, 0x8] - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankTarget + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 ldrb r6, [r0] @@ -23075,9 +23075,9 @@ _0810A194: sub_810A1A8: @ 810A1A8 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810A1D0 @@ -23129,9 +23129,9 @@ _0810A20E: sub_810A214: @ 810A214 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810A23C @@ -23178,22 +23178,22 @@ _0810A26E: sub_810A274: @ 810A274 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810A2C4 @@ -23261,15 +23261,15 @@ _0810A324: beq _0810A35C b _0810A380 _0810A32E: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0810A382 .pool _0810A338: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r6, 0x2 eors r0, r6 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 bne _0810A354 @@ -23282,21 +23282,21 @@ _0810A354: eors r4, r0 b _0810A384 _0810A35C: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] movs r4, 0x2 eors r0, r4 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810A380 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] eors r4, r0 b _0810A384 .pool _0810A380: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0810A382: ldrb r4, [r0] _0810A384: @@ -23307,7 +23307,7 @@ _0810A384: bne _0810A3AC adds r0, r4, 0 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] @@ -23318,14 +23318,14 @@ _0810A384: _0810A3AC: adds r0, r4, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] adds r0, r4, 0 movs r1, 0x3 _0810A3BE: - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -23417,10 +23417,10 @@ sub_810A46C: @ 810A46C strh r0, [r4, 0x2E] ldrh r0, [r4, 0x20] strh r0, [r4, 0x30] - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -23428,7 +23428,7 @@ sub_810A46C: @ 810A46C strh r0, [r4, 0x34] ldrb r0, [r6] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -23576,9 +23576,9 @@ sub_810A5BC: @ 810A5BC lsls r0, 24 cmp r0, 0 bne _0810A5D8 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810A5E0 @@ -23588,10 +23588,10 @@ _0810A5D8: negs r0, r0 strh r0, [r1, 0x2] _0810A5E0: - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -23600,7 +23600,7 @@ _0810A5E0: strh r0, [r6, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -23633,11 +23633,11 @@ sub_810A628: @ 810A628 ands r0, r1 cmp r0, 0 beq _0810A64C - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget b _0810A64E .pool _0810A64C: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker _0810A64E: ldrb r6, [r0] bl IsContest @@ -23645,7 +23645,7 @@ _0810A64E: cmp r0, 0 bne _0810A666 adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810A66E @@ -23657,7 +23657,7 @@ _0810A666: _0810A66E: adds r0, r6, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -23666,7 +23666,7 @@ _0810A66E: strh r0, [r5, 0x20] adds r0, r6, 0 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x2] @@ -23827,10 +23827,10 @@ sub_810A7DC: @ 810A7DC adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord ldr r1, =gTasks lsls r4, r5, 2 adds r4, r5 @@ -23844,7 +23844,7 @@ sub_810A7DC: @ 810A7DC strh r0, [r4, 0x8] ldrb r0, [r6] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r5, 0x2] @@ -24220,21 +24220,21 @@ sub_810AAFC: @ 810AAFC ldrsh r0, [r0, r1] cmp r0, 0 bne _0810AB28 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _0810AB2A .pool _0810AB28: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _0810AB2A: ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x24] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x26] @@ -24440,21 +24440,21 @@ sub_810ACD8: @ 810ACD8 ldrsh r0, [r0, r1] cmp r0, 0 bne _0810ACF4 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _0810ACF6 .pool _0810ACF4: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _0810ACF6: ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -24478,21 +24478,21 @@ sub_810AD30: @ 810AD30 ldrsh r0, [r0, r1] cmp r0, 0 bne _0810AD4C - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _0810AD4E .pool _0810AD4C: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _0810AD4E: ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -24518,28 +24518,28 @@ sub_810AD98: @ 810AD98 adds r5, r0, 0 movs r1, 0x1 bl StartSpriteAffineAnim - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x3A] movs r0, 0x10 strh r0, [r5, 0x3C] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -24641,20 +24641,20 @@ _0810AE8E: b _0810AFC0 _0810AE90: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 movs r6, 0 strh r0, [r5, 0x26] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x24] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810AECC @@ -24820,9 +24820,9 @@ _0810AFF4: _0810AFFA: b _0810B14E _0810AFFC: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r2, 0x1 negs r2, r2 @@ -24855,13 +24855,13 @@ _0810B012: _0810B048: ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0xE] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x12] @@ -24878,16 +24878,16 @@ _0810B070: movs r0, 0x78 subs r0, r1 strh r0, [r5, 0xE] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x12] ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r2, 0xA @@ -25124,16 +25124,16 @@ sub_810B23C: @ 810B23C beq _0810B280 b _0810B294 _0810B24E: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -25191,25 +25191,25 @@ _0810B2C8: .4byte _0810B404 .4byte _0810B414 _0810B2DC: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x14] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x16] movs r0, 0x4 strh r0, [r5, 0x18] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x1C] @@ -25539,10 +25539,10 @@ _0810B584: beq _0810B600 b _0810B60E _0810B58A: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x20 @@ -25561,10 +25561,10 @@ _0810B5A4: bgt _0810B5A4 strh r1, [r5, 0x24] _0810B5B4: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -25721,29 +25721,29 @@ sub_810B6C4: @ 810B6C4 ands r0, r2 orrs r0, r1 strh r0, [r5, 0x4] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r9, r0 ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r8, r0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r3, r0, 24 ldrb r0, [r4] movs r1, 0x3 str r3, [sp] - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldr r1, =gBattleAnimArgs @@ -25976,16 +25976,16 @@ sub_810B8EC: @ 810B8EC adds r4, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810B92C @@ -26003,10 +26003,10 @@ _0810B92C: adds r0, r1 strh r0, [r4, 0x32] _0810B936: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r1, =gBattleAnimArgs lsrs r0, 24 @@ -26041,7 +26041,7 @@ sub_810B974: @ 810B974 b _0810B9C6 .pool _0810B990: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -26049,9 +26049,9 @@ _0810B990: adds r3, 0x22 movs r1, 0x1 bl sub_80A8924 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810B9B6 @@ -26130,16 +26130,16 @@ sub_810BA24: @ 810BA24 ldrsh r0, [r6, r1] cmp r0, 0 bne _0810BA74 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x6] @@ -26148,7 +26148,7 @@ sub_810BA24: @ 810BA24 b _0810BA86 .pool _0810BA74: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x32 @@ -26157,9 +26157,9 @@ _0810BA74: movs r1, 0x1 bl sub_80A8924 _0810BA86: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810BAAC @@ -26277,9 +26277,9 @@ sub_810BB60: @ 810BB60 strh r5, [r4, 0x24] movs r0, 0x80 strh r0, [r4, 0x2E] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldr r1, =0x0000ffec cmp r0, 0 @@ -26312,9 +26312,9 @@ _0810BB90: sub_810BBC8: @ 810BBC8 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldr r1, =0x0000ffec cmp r0, 0 @@ -26431,23 +26431,23 @@ sub_810BC94: @ 810BC94 ldrsh r0, [r1, r2] cmp r0, 0 bne _0810BCE0 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] b _0810BCF2 .pool _0810BCE0: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x32 @@ -26456,9 +26456,9 @@ _0810BCE0: movs r1, 0x1 bl sub_80A8924 _0810BCF2: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810BD1C @@ -26645,7 +26645,7 @@ sub_810BE48: @ 810BE48 b _0810BEA2 .pool _0810BE6C: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -26653,9 +26653,9 @@ _0810BE6C: adds r3, 0x22 movs r1, 0 bl sub_80A8924 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810BE92 @@ -26712,7 +26712,7 @@ sub_810BED0: @ 810BED0 b _0810BF32 .pool _0810BEF4: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] adds r2, r5, 0 adds r2, 0x20 @@ -26721,7 +26721,7 @@ _0810BEF4: movs r1, 0 bl sub_80A8924 ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810BF20 @@ -26742,7 +26742,7 @@ _0810BF26: adds r0, r1 strh r0, [r5, 0x22] _0810BF32: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0810BF90 .pool _0810BF40: @@ -26755,7 +26755,7 @@ _0810BF40: bl sub_80A6980 b _0810BF8E _0810BF52: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] adds r2, r5, 0 adds r2, 0x20 @@ -26764,7 +26764,7 @@ _0810BF52: movs r1, 0 bl sub_80A8924 ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810BF7C @@ -26785,7 +26785,7 @@ _0810BF82: adds r0, r1 strh r0, [r5, 0x22] _0810BF8E: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0810BF90: ldrb r0, [r0] strh r0, [r5, 0x3C] @@ -26806,9 +26806,9 @@ _0810BFB4: movs r0, 0x40 _0810BFB6: strh r0, [r5, 0x3A] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810BFCC @@ -26963,13 +26963,13 @@ _0810C0E2: bl sub_80A6B30 mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, =gUnknown_0854CAD0 + ldr r1, =gWeatherFog1Tiles movs r2, 0x80 lsls r2, 4 mov r3, sp ldrh r3, [r3, 0xA] bl LoadBgTiles - ldr r1, =gUnknown_08D932E0 + ldr r1, =gBattleAnimFogTilemap mov r0, sp movs r2, 0 bl sub_80A6D60 @@ -27179,16 +27179,16 @@ _0810C2DA: sub_810C2F0: @ 810C2F0 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -27245,13 +27245,13 @@ _0810C366: bl sub_80A6B30 mov r0, sp ldrb r0, [r0, 0x9] - ldr r1, =gUnknown_0854CAD0 + ldr r1, =gWeatherFog1Tiles movs r2, 0x80 lsls r2, 4 mov r3, sp ldrh r3, [r3, 0xA] bl LoadBgTiles - ldr r1, =gUnknown_08D932E0 + ldr r1, =gBattleAnimFogTilemap mov r0, sp movs r2, 0 bl sub_80A6D60 @@ -27456,16 +27456,16 @@ sub_810C560: @ 810C560 ldr r6, =gBattleAnimArgs ldrh r0, [r6] strh r0, [r5, 0x2E] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker mov r8, r0 ldrb r0, [r0] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 - ldr r7, =gAnimBankTarget + ldr r7, =gBattleAnimTarget ldrb r0, [r7] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -27474,7 +27474,7 @@ sub_810C560: @ 810C560 lsls r0, 8 strh r0, [r5, 0x3C] _0810C594: - ldr r3, =gBanksByIdentity + ldr r3, =gBattlerPositions ldrb r0, [r7] adds r0, r3 ldrb r1, [r0] @@ -27505,7 +27505,7 @@ _0810C594: cmp r0, 0 bne _0810C5F0 movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, =gSprites lsls r0, 24 lsrs r0, 24 @@ -27523,16 +27523,16 @@ _0810C5F0: movs r0, 0x1 strh r0, [r5, 0x3A] _0810C5F4: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -27545,10 +27545,10 @@ _0810C5F4: ldrh r1, [r5, 0x20] adds r0, r1 strh r0, [r5, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x6] @@ -27567,10 +27567,10 @@ _0810C65C: ldrh r1, [r5, 0x20] adds r0, r1 strh r0, [r5, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x6] @@ -27583,7 +27583,7 @@ _0810C65C: ldrb r0, [r4] movs r1, 0x1 _0810C684: - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x8] @@ -27676,10 +27676,10 @@ _0810C728: _0810C736: movs r5, 0x50 strh r5, [r4, 0x2E] - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] @@ -27699,7 +27699,7 @@ _0810C736: lsls r0, 24 cmp r0, 0 bne _0810C78C - ldr r1, =gBanksByIdentity + ldr r1, =gBattlerPositions ldrb r0, [r6] adds r0, r1 ldrb r1, [r0] @@ -27843,8 +27843,8 @@ _0810C85A: lsls r0, 24 cmp r0, 0 bne _0810C8B4 - ldr r1, =gBanksByIdentity - ldr r0, =gAnimBankTarget + ldr r1, =gBattlerPositions + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -28050,11 +28050,11 @@ sub_810C9E4: @ 810C9E4 ldrh r0, [r4, 0x2] lsls r0, 20 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r5, r0, 24 adds r0, r5, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810CAD0 @@ -28062,12 +28062,12 @@ sub_810C9E4: @ 810C9E4 str r0, [sp, 0x4] adds r0, r5, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r7, r0, 24 adds r0, r5, 0 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 mov r1, r8 @@ -28371,9 +28371,9 @@ _0810CCA6: ldr r6, =gBattleAnimArgs ldrh r0, [r6, 0x8] strh r0, [r5, 0x2E] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810CCCE @@ -28381,10 +28381,10 @@ _0810CCA6: negs r0, r0 strh r0, [r6, 0x4] _0810CCCE: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x4] @@ -28392,7 +28392,7 @@ _0810CCCE: strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x6] @@ -28414,7 +28414,7 @@ _0810CCCE: sub_810CD1C: @ 810CD1C push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _0810CD3E @@ -28581,9 +28581,9 @@ sub_810CE68: @ 810CE68 ldrsh r0, [r4, r1] cmp r0, 0x1 bne _0810CE90 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810CE90 @@ -28680,11 +28680,11 @@ sub_810CF30: @ 810CF30 mov r9, r0 cmp r1, 0 bne _0810CF54 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0810CF56 .pool _0810CF54: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0810CF56: ldrb r0, [r0] mov r8, r0 @@ -28705,13 +28705,13 @@ _0810CF74: bl StartSpriteAnim mov r0, r8 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] mov r0, r8 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -28771,7 +28771,7 @@ _0810D000: negs r0, r0 lsrs r4, r0, 16 _0810D012: - ldr r0, =gBanksByIdentity + ldr r0, =gBattlerPositions add r0, r8 ldrb r1, [r0] adds r0, r7, 0 @@ -28974,16 +28974,16 @@ _0810D1A4: sub_810D1B4: @ 810D1B4 push {r4-r6,lr} adds r6, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r1, [r0] movs r0, 0x2 - ldr r2, =gAnimBankTarget + ldr r2, =gBattleAnimTarget eors r0, r1 ldrb r1, [r2] cmp r0, r1 bne _0810D1E0 ldrb r0, [r2] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -28997,9 +28997,9 @@ _0810D1E0: adds r0, r6, 0 movs r1, 0x1 bl sub_80A6980 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810D1FE @@ -29146,16 +29146,16 @@ sub_810D308: @ 810D308 bne _0810D34C movs r0, 0x6 strh r0, [r5, 0x2E] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -29267,21 +29267,21 @@ sub_810D40C: @ 810D40C ldrsh r0, [r0, r1] cmp r0, 0 bne _0810D428 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _0810D42A .pool _0810D428: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _0810D42A: ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -29386,10 +29386,10 @@ sub_810D4F4: @ 810D4F4 ldrsh r0, [r6, r1] cmp r0, 0 bne _0810D520 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r2, [r6, 0x4] @@ -29397,10 +29397,10 @@ sub_810D4F4: @ 810D4F4 b _0810D532 .pool _0810D520: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x4] @@ -29409,7 +29409,7 @@ _0810D532: strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x6] @@ -29520,20 +29520,20 @@ sub_810D608: @ 810D608 ldrsh r0, [r0, r1] cmp r0, 0 bne _0810D664 - ldr r4, =gBankAttacker + ldr r4, =gBattlerAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8328 movs r1, 0x3 @@ -29545,11 +29545,11 @@ sub_810D608: @ 810D608 ands r0, r2 orrs r0, r1 strb r0, [r5, 0x5] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget b _0810D680 .pool _0810D664: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8328 movs r1, 0x3 @@ -29561,7 +29561,7 @@ _0810D664: ands r0, r2 orrs r0, r1 strb r0, [r5, 0x5] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker _0810D680: ldrb r0, [r0] strh r0, [r5, 0x3C] @@ -29601,7 +29601,7 @@ sub_810D6A8: @ 810D6A8 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -29611,7 +29611,7 @@ sub_810D6A8: @ 810D6A8 lsls r0, 24 lsrs r0, 24 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -29712,31 +29712,31 @@ _0810D7BA: strh r0, [r7, 0x2E] b _0810D818 _0810D7C2: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r6, r0, 0 lsls r6, 24 lsrs r6, 24 ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r2, =gAnimBankTarget + ldr r2, =gBattleAnimTarget mov r8, r2 ldrb r0, [r2] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 mov r1, r8 ldrb r0, [r1] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 subs r4, r6 strh r4, [r7, 0x2E] @@ -29808,28 +29808,28 @@ sub_810D874: @ 810D874 ldrsh r0, [r0, r1] cmp r0, 0 bne _0810D8B8 - ldr r4, =gBankAttacker + ldr r4, =gBattlerAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r4, [r0] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0810D8BE .pool _0810D8B8: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r4, [r0] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0810D8BE: ldrb r0, [r0] bl sub_80A8328 @@ -29857,7 +29857,7 @@ _0810D8BE: .pool _0810D8F8: adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810D918 @@ -29879,7 +29879,7 @@ _0810D918: strh r0, [r5, 0x30] adds r0, r4, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] @@ -29887,7 +29887,7 @@ _0810D918: strh r0, [r5, 0x34] adds r0, r4, 0 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -29929,16 +29929,16 @@ _0810D976: sub_810D984: @ 810D984 push {r4-r6,lr} adds r5, r0, 0 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -29954,7 +29954,7 @@ sub_810D984: @ 810D984 ldr r0, =gAnimMoveTurn ldrb r6, [r0] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810D9CE @@ -30018,9 +30018,9 @@ _0810DA34: bl StartSpriteAnim b _0810DA5E _0810DA48: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810DA5E @@ -30128,9 +30128,9 @@ _0810DB1A: ldrh r1, [r4, 0x1C] adds r0, r1 strh r0, [r4, 0x1C] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810DB50 @@ -30205,16 +30205,16 @@ _0810DBC2: bl sub_80A69CC ldrh r0, [r4, 0x4] strh r0, [r5, 0x2E] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -30234,7 +30234,7 @@ _0810DBC2: sub_810DC10: @ 810DC10 push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _0810DC24 @@ -30263,7 +30263,7 @@ _0810DC44: adds r0, r4, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] mov r6, sp adds r6, 0x2 @@ -30271,9 +30271,9 @@ _0810DC44: mov r2, sp adds r3, r6, 0 bl sub_80A8924 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810DC72 @@ -30309,7 +30309,7 @@ _0810DC72: sub_810DCB4: @ 810DCB4 push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _0810DCC8 @@ -30389,7 +30389,7 @@ _0810DD4A: sub_810DD50: @ 810DD50 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -30397,9 +30397,9 @@ sub_810DD50: @ 810DD50 adds r3, 0x22 movs r1, 0x1 bl sub_80A8924 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810DD7C @@ -30450,7 +30450,7 @@ sub_810DDC4: @ 810DDC4 b _0810DE16 .pool _0810DDE0: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -30458,9 +30458,9 @@ _0810DDE0: adds r3, 0x22 movs r1, 0x1 bl sub_80A8924 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810DE06 @@ -30680,9 +30680,9 @@ sub_810DFA8: @ 810DFA8 adds r6, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810DFC8 @@ -30696,10 +30696,10 @@ _0810DFC8: strh r0, [r6, 0x2E] ldrh r0, [r6, 0x20] strh r0, [r6, 0x30] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -30709,7 +30709,7 @@ _0810DFC8: strh r0, [r6, 0x34] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x6] @@ -30748,9 +30748,9 @@ _0810E03C: sub_810E044: @ 810E044 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810E070 @@ -30782,13 +30782,13 @@ _0810E070: _0810E088: ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r2, =gBattleAnimArgs ldrh r1, [r2] @@ -30805,23 +30805,23 @@ _0810E088: ldrsh r0, [r2, r3] cmp r0, 0 bne _0810E0EC - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] b _0810E0FE .pool _0810E0EC: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x32 @@ -30867,7 +30867,7 @@ sub_810E13C: @ 810E13C ldr r0, =sub_810E184 str r0, [r4, 0x1C] movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, =gSprites lsls r0, 24 lsrs r0, 24 @@ -30929,9 +30929,9 @@ _0810E1C2: sub_810E1C8: @ 810E1C8 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810E1F8 @@ -30955,10 +30955,10 @@ _0810E1FE: strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] strh r0, [r5, 0x30] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] @@ -30966,7 +30966,7 @@ _0810E1FE: strh r0, [r5, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -31021,7 +31021,7 @@ _0810E274: ble _0810E2BC _0810E296: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, =gSprites lsls r0, 24 lsrs r0, 24 @@ -31099,15 +31099,15 @@ sub_810E314: @ 810E314 ands r0, r1 cmp r0, 0 beq _0810E33C - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0810E33E .pool _0810E33C: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0810E33E: ldrb r6, [r0] adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810E354 @@ -31118,7 +31118,7 @@ _0810E33E: _0810E354: adds r0, r6, 0 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -31127,7 +31127,7 @@ _0810E354: strh r0, [r7, 0x20] adds r0, r6, 0 movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldrh r1, [r4, 0x2] lsrs r0, 24 @@ -32049,7 +32049,7 @@ _0810EA36: sub_810EA4C: @ 810EA4C push {r4,r5,lr} adds r4, r0, 0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8328 movs r1, 0x3 @@ -32061,16 +32061,16 @@ sub_810EA4C: @ 810EA4C ands r0, r2 orrs r0, r1 strb r0, [r4, 0x5] - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -32106,9 +32106,9 @@ _0810EAC4: ldrsh r0, [r4, r2] cmp r0, 0 bne _0810EADC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810EAF2 @@ -32117,9 +32117,9 @@ _0810EADC: ldrsh r0, [r4, r1] cmp r0, 0x1 bne _0810EAF8 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810EAF8 @@ -32237,16 +32237,16 @@ sub_810EB88: @ 810EB88 strh r0, [r4, 0x6] ldr r0, =gUnknown_085973E8 mov r8, r0 - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 @@ -32289,7 +32289,7 @@ _0810EC46: movs r1, 0x1 bl sub_80A69CC movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, =gSprites lsls r0, 24 lsrs r0, 24 @@ -32341,10 +32341,10 @@ _0810ECAA: beq _0810ECE0 b _0810ED1E _0810ECB0: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -32379,7 +32379,7 @@ _0810ECE0: cmp r0, r1 bge _0810ED1E movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, =gSprites lsls r0, 24 lsrs r0, 24 @@ -32416,7 +32416,7 @@ sub_810ED28: @ 810ED28 ldr r0, =sub_810ED70 str r0, [r4, 0x1C] movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, =gSprites lsls r0, 24 lsrs r0, 24 @@ -32545,21 +32545,21 @@ _0810EE28: ldrsh r0, [r0, r2] cmp r0, 0 bne _0810EE40 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _0810EE42 .pool _0810EE40: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _0810EE42: ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -32700,21 +32700,21 @@ _0810EF60: ldrsh r0, [r2, r1] cmp r0, 0 bne _0810EF74 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _0810EF76 .pool _0810EF74: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _0810EF76: ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x20 @@ -32861,17 +32861,17 @@ sub_810F084: @ 810F084 mov r8, r0 ldrh r4, [r0, 0x20] ldrh r5, [r0, 0x22] - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r1, r8 strh r0, [r1, 0x20] ldrb r0, [r6] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r6, r0, 0 lsls r6, 24 lsrs r6, 24 @@ -32989,7 +32989,7 @@ sub_810F184: @ 810F184 cmp r0, 0 bne _0810F1BC movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 ldr r2, =gSprites @@ -33005,7 +33005,7 @@ sub_810F184: @ 810F184 .pool _0810F1BC: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 ldr r2, =gSprites @@ -33038,9 +33038,9 @@ sub_810F1EC: @ 810F1EC lsls r0, 24 lsrs r0, 24 mov r8, r0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810F212 @@ -33064,7 +33064,7 @@ _0810F212: bne _0810F2B8 _0810F22E: movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 adds r7, r4, 0 @@ -33078,7 +33078,7 @@ _0810F22E: orrs r1, r0 lsrs r6, r1, 31 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810F264 @@ -33091,7 +33091,7 @@ _0810F264: adds r4, r0, 0 eors r4, r7 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810F284 @@ -33109,9 +33109,9 @@ _0810F284: lsls r0, 24 cmp r0, 0 beq _0810F2B8 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810F2B0 @@ -33126,9 +33126,9 @@ _0810F2B0: movs r0, 0x28 b _0810F2F2 _0810F2B8: - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810F2CE @@ -33139,7 +33139,7 @@ _0810F2B8: _0810F2CE: ldrb r0, [r6] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -33148,7 +33148,7 @@ _0810F2CE: strh r0, [r5, 0x20] ldrb r0, [r6] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x2] @@ -33193,7 +33193,7 @@ sub_810F340: @ 810F340 push {r4,r5,lr} adds r5, r0, 0 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 movs r1, 0x3C @@ -33205,12 +33205,12 @@ sub_810F340: @ 810F340 b _0810F3B6 _0810F35C: adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810F382 ldr r2, =gSprites - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r4, r0 ldrb r1, [r0] lsls r0, r1, 4 @@ -33226,12 +33226,12 @@ _0810F382: movs r0, 0x2 eors r4, r0 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810F3AC ldr r2, =gSprites - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r4, r0 ldrb r1, [r0] lsls r0, r1, 4 @@ -33370,17 +33370,17 @@ sub_810F46C: @ 810F46C cmp r0, 0 bne _0810F502 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 adds r6, r4, 0 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810F4D4 ldr r2, =gSprites - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r4, r0 ldrb r1, [r0] lsls r0, r1, 4 @@ -33398,12 +33398,12 @@ _0810F4D4: adds r4, r0, 0 eors r4, r6 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810F502 ldr r2, =gSprites - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r4, r0 ldrb r1, [r0] lsls r0, r1, 4 @@ -33441,7 +33441,7 @@ sub_810F524: @ 810F524 cmp r0, 0 bne _0810F57C movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 adds r4, r0, 0 @@ -33454,7 +33454,7 @@ sub_810F524: @ 810F524 orrs r1, r0 lsrs r5, r1, 31 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810F562 @@ -33464,7 +33464,7 @@ _0810F562: movs r0, 0x2 eors r4, r0 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0810F57C @@ -33505,9 +33505,9 @@ _0810F5A6: lsls r0, 24 cmp r0, 0 beq _0810F5EE - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0810F5E0 @@ -33568,21 +33568,21 @@ _0810F62C: sub_810F634: @ 810F634 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0810F684 @@ -33623,7 +33623,7 @@ _0810F692: sub_810F6B0: @ 810F6B0 push {r4-r7,lr} adds r5, r0, 0 - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] movs r1, 0x1 bl sub_80A861C @@ -33645,7 +33645,7 @@ sub_810F6B0: @ 810F6B0 lsls r1, 16 lsrs r7, r1, 16 ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -33656,14 +33656,14 @@ sub_810F6B0: @ 810F6B0 _0810F6F6: ldrb r0, [r6] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r4 strh r0, [r5, 0x20] ldrb r0, [r6] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r7 @@ -33774,7 +33774,7 @@ sub_810F7D4: @ 810F7D4 ldr r0, =gTasks adds r4, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -33824,16 +33824,16 @@ sub_810F83C: @ 810F83C ldr r0, =gTasks adds r4, r1, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 movs r1, 0 strh r0, [r4, 0x8] strh r1, [r4, 0xA] strh r1, [r4, 0xC] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r1, 0x8 cmp r0, 0 @@ -33952,16 +33952,16 @@ sub_810F940: @ 810F940 movs r0, 0x10 strh r0, [r5, 0xE] strh r1, [r5, 0x10] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x24] @@ -34260,16 +34260,16 @@ sub_810FBA8: @ 810FBA8 ldrsh r0, [r6, r1] cmp r0, 0 bne _0810FBD4 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -34305,7 +34305,7 @@ sub_810FBF0: @ 810FBF0 bne _0810FC60 ldr r0, =0x0000fff6 strh r0, [r5, 0x1C] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x5 bl sub_80A861C @@ -34316,7 +34316,7 @@ sub_810FBF0: @ 810FBF0 bl sub_80A861C adds r0, 0x8 strh r0, [r5, 0x20] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x5 bl sub_80A861C @@ -34331,7 +34331,7 @@ sub_810FBF0: @ 810FBF0 _0810FC60: movs r0, 0xA strh r0, [r5, 0x1C] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x4 bl sub_80A861C @@ -34342,7 +34342,7 @@ _0810FC60: bl sub_80A861C subs r0, 0x8 strh r0, [r5, 0x20] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x4 bl sub_80A861C @@ -34357,7 +34357,7 @@ _0810FC94: bne _0810FCE8 ldr r0, =0x0000fff6 strh r0, [r5, 0x1C] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x4 bl sub_80A861C @@ -34368,7 +34368,7 @@ _0810FC94: bl sub_80A861C adds r0, 0x8 strh r0, [r5, 0x20] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x4 bl sub_80A861C @@ -34383,7 +34383,7 @@ _0810FC94: _0810FCE8: movs r0, 0xA strh r0, [r5, 0x1C] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x5 bl sub_80A861C @@ -34394,7 +34394,7 @@ _0810FCE8: bl sub_80A861C subs r0, 0x8 strh r0, [r5, 0x20] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x5 bl sub_80A861C @@ -34508,7 +34508,7 @@ _0810FDE8: sub_810FDF0: @ 810FDF0 push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _0810FE0E @@ -34535,7 +34535,7 @@ sub_810FE14: @ 810FE14 lsls r1, 3 ldr r0, =gTasks adds r4, r1, r0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A6190 lsls r0, 24 @@ -34590,7 +34590,7 @@ _0810FE86: movs r0, 0 strh r0, [r4, 0x24] _0810FE92: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -34618,7 +34618,7 @@ _0810FEC0: adds r0, 0x40 cmp r1, r0 bgt _0810FEFA - ldr r5, =gUnknown_02038C28 + ldr r5, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r5, r0 @@ -34651,7 +34651,7 @@ _0810FEFA: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams ldr r0, =sub_810FF34 str r0, [r4] add sp, 0xC @@ -34700,7 +34700,7 @@ _0810FF66: ldr r0, =gSineTable mov r9, r0 movs r7, 0x3 - ldr r1, =gUnknown_02038C28 + ldr r1, =gScanlineEffectRegBuffers mov r12, r1 movs r2, 0xF0 lsls r2, 3 @@ -34775,7 +34775,7 @@ _0810FFFE: ble _08110026 b _08110014 _0811000E: - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _08110014: @@ -34891,7 +34891,7 @@ _08110094: bl CalcCenterToCornerVec ldr r1, =gBattleAnimArgs ldrb r0, [r1] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r7, 0x22] @@ -35062,16 +35062,16 @@ _08110256: beq _0811034A b _08110360 _08110260: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -35209,9 +35209,9 @@ sub_8110368: @ 8110368 b _081103C4 .pool _08110394: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _081103C4 @@ -35232,7 +35232,7 @@ _08110394: negs r0, r0 strh r0, [r1] _081103C4: - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_80A60AC @@ -35254,7 +35254,7 @@ _081103C4: strh r0, [r6, 0x2E] ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -35262,7 +35262,7 @@ _081103C4: strh r0, [r6, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x6] @@ -35297,9 +35297,9 @@ sub_8110438: @ 8110438 b _08110478 .pool _0811045C: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08110478 @@ -35311,7 +35311,7 @@ _0811045C: negs r1, r1 strh r1, [r0] _08110478: - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 bl sub_80A60AC @@ -35333,13 +35333,13 @@ _08110478: strh r0, [r6, 0x2E] ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x36] @@ -35384,23 +35384,23 @@ _08110500: ldrsh r0, [r1, r2] cmp r0, 0 bne _08110548 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] b _0811055A .pool _08110548: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x32 @@ -35457,7 +35457,7 @@ _081105AE: sub_81105B4: @ 81105B4 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r4, 0 adds r2, 0x20 @@ -35465,9 +35465,9 @@ sub_81105B4: @ 81105B4 adds r3, 0x22 movs r1, 0 bl sub_80A8924 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _081105F0 @@ -35490,9 +35490,9 @@ _081105FC: ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x22] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08110618 @@ -35655,9 +35655,9 @@ sub_8110720: @ 8110720 b _08110762 .pool _08110740: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08110762 @@ -35676,24 +35676,24 @@ _08110762: lsls r0, 24 cmp r0, 0 bne _081107B2 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 bne _081107B2 ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 cmp r0, 0 beq _081107A0 ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -35712,10 +35712,10 @@ _081107B2: adds r0, r7, 0 movs r1, 0x1 bl sub_80A69CC - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 ldr r6, =gBattleAnimArgs @@ -35726,7 +35726,7 @@ _081107B2: lsrs r4, 16 ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -35780,9 +35780,9 @@ sub_8110850: @ 8110850 adds r6, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08110870 @@ -35794,10 +35794,10 @@ _08110870: ldr r4, =gBattleAnimArgs ldrh r0, [r4, 0x8] strh r0, [r6, 0x2E] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -35805,7 +35805,7 @@ _08110870: strh r0, [r6, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x6] @@ -35844,7 +35844,7 @@ sub_81108CC: @ 81108CC ands r1, r0 strb r1, [r2] adds r0, r4, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _081108F8 @@ -35879,7 +35879,7 @@ _0811090E: lsls r0, 16 lsrs r6, r0, 16 adds r0, r4, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 bne _08110988 @@ -35941,21 +35941,21 @@ sub_8110994: @ 8110994 ldrsh r0, [r0, r1] cmp r0, 0 bne _081109B0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _081109B2 .pool _081109B0: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _081109B2: ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x12 @@ -35980,7 +35980,7 @@ sub_81109F0: @ 81109F0 ldrsh r0, [r6, r1] cmp r0, 0 beq _08110A10 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r2, r5, 0 adds r2, 0x20 @@ -36064,9 +36064,9 @@ sub_8110AB4: @ 8110AB4 bl StartSpriteAnim adds r0, r5, 0 bl AnimateSprite - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08110AE4 @@ -36243,7 +36243,7 @@ _08110C10: mov r0, sp movs r2, 0 bl sub_80A6D60 - ldr r0, =gUnknown_08D8DAB8 + ldr r0, =gBattleAnimSpritePalette_261 mov r1, sp ldrb r1, [r1, 0x8] lsls r1, 4 @@ -36254,9 +36254,9 @@ _08110C10: ldrsh r0, [r0, r1] cmp r0, 0 beq _08110C6E - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08110C6E @@ -36480,9 +36480,9 @@ sub_8110E4C: @ 8110E4C ldrsh r0, [r4, r2] cmp r0, 0 beq _08110E98 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08110E98 @@ -36620,32 +36620,32 @@ sub_8110F74: @ 8110F74 lsls r1, 3 ldr r0, =gTasks adds r6, r1, r0 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r9, r0 ldrb r0, [r5] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r1, 0xC0 lsls r1, 13 adds r0, r1 lsrs r7, r0, 16 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r10, r0 ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r2, 0xC0 @@ -36732,7 +36732,7 @@ _0811101E: strh r0, [r6, 0x24] strh r5, [r6, 0xA] movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x26] @@ -37059,7 +37059,7 @@ _08111304: sub_811131C: @ 811131C push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _0811134E @@ -37193,9 +37193,9 @@ _08111412: sub_8111418: @ 8111418 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -37216,16 +37216,16 @@ _08111434: sub_8111444: @ 8111444 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r2, =gBattleAnimArgs @@ -37443,10 +37443,10 @@ sub_811160C: @ 811160C strh r0, [r4, 0x2E] ldrh r0, [r4, 0x20] strh r0, [r4, 0x30] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -37454,7 +37454,7 @@ sub_811160C: @ 811160C strh r0, [r4, 0x34] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -37770,7 +37770,7 @@ sub_811188C: @ 811188C movs r0, 0x52 bl SetGpuReg movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -37881,7 +37881,7 @@ sub_811196C: @ 811196C .pool _08111994: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r1, r0, 24 ldrh r0, [r4, 0x8] @@ -37925,11 +37925,11 @@ sub_81119E0: @ 81119E0 adds r4, r0, 0 ldrh r5, [r4, 0x20] ldrh r6, [r4, 0x22] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker mov r8, r0 ldrb r0, [r0] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r1, 0 @@ -37938,7 +37938,7 @@ sub_81119E0: @ 81119E0 mov r1, r8 ldrb r0, [r1] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -38042,16 +38042,16 @@ _08111AD2: lsls r0, 16 cmp r0, 0 bgt _08111B96 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x30] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] @@ -38104,16 +38104,16 @@ _08111B3C: lsls r0, 16 cmp r0, 0 bgt _08111B96 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -38285,9 +38285,9 @@ _08111C80: adds r0, r4 movs r1, 0x50 strh r1, [r0, 0x2E] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08111CF4 @@ -38510,7 +38510,7 @@ sub_8111E78: @ 8111E78 lsls r0, 3 ldr r1, =gTasks adds r5, r0, r1 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -38604,7 +38604,7 @@ _08111F0C: adds r2, r4 ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] ldr r1, [r1] lsls r0, 2 @@ -38626,7 +38626,7 @@ _08111F0C: movs r0, 0x10 strh r0, [r5, 0xE] movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -38728,7 +38728,7 @@ _08112054: _0811206C: movs r2, 0x2 movs r3, 0x6 - bl sub_80BA384 + bl ScanlineEffect_InitWave lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x1C] @@ -38864,7 +38864,7 @@ sub_8112170: @ 8112170 lsls r0, 3 ldr r1, =gTasks adds r4, r0, r1 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -38884,11 +38884,11 @@ _081121A8: beq _081121F0 b _08112258 _081121AE: - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x24] @@ -38979,51 +38979,51 @@ sub_8112264: @ 8112264 ldrsh r0, [r0, r1] cmp r0, 0 bne _081122AC - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r2, 0xE0 lsls r2, 13 adds r0, r2 lsrs r5, r0, 16 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget b _081122D0 .pool _081122AC: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r2, 0xE0 lsls r2, 13 adds r0, r2 lsrs r5, r0, 16 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker _081122D0: ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r10, r0 ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r1, 0xE0 @@ -39166,10 +39166,10 @@ sub_81123C4: @ 81123C4 ldr r2, =gBattleAnimArgs ldrh r0, [r2] strh r0, [r1, 0x1C] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x4] @@ -39189,7 +39189,7 @@ _08112434: _08112436: lsls r1, r4, 16 asrs r3, r1, 16 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r2, [r0] str r1, [sp, 0x10] cmp r3, r2 @@ -39201,7 +39201,7 @@ _08112436: lsls r0, r4, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08112502 @@ -39221,7 +39221,7 @@ _08112436: beq _08112502 adds r0, r4, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r10, r0 @@ -39594,9 +39594,9 @@ sub_8112758: @ 8112758 movs r0, 0x54 movs r1, 0x10 bl SetGpuReg - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _081127A0 @@ -39869,9 +39869,9 @@ sub_81129F0: @ 81129F0 adds r4, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08112A24 @@ -40064,9 +40064,9 @@ sub_8112B78: @ 8112B78 movs r1, 0xC bl Sin strh r0, [r5, 0x24] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08112B9C @@ -40195,10 +40195,10 @@ sub_8112C6C: @ 8112C6C mov r8, r0 mov r0, r8 strh r0, [r4, 0xA] - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1A] @@ -40301,9 +40301,9 @@ _08112D56: lsls r0, 2 adds r5, r0, r1 strh r7, [r5, 0x2E] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide movs r1, 0 lsls r0, 24 cmp r0, 0 @@ -40561,8 +40561,8 @@ sub_8112F60: @ 8112F60 movs r2, 0x4 orrs r1, r2 strb r1, [r3] - ldr r2, =gBankSpriteIds - ldr r1, =gAnimBankAttacker + ldr r2, =gBattlerSpriteIds + ldr r1, =gBattleAnimAttacker ldrb r1, [r1] adds r1, r2 ldrb r1, [r1] @@ -40679,21 +40679,21 @@ _08113054: sub_8113064: @ 8113064 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _081130B4 @@ -40752,22 +40752,22 @@ sub_8113100: @ 8113100 push {r4,r5,lr} adds r5, r0, 0 bl sub_80A6838 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08113164 @@ -40834,21 +40834,21 @@ sub_81131B4: @ 81131B4 ldrsh r0, [r0, r1] cmp r0, 0 bne _081131D0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _081131D2 .pool _081131D0: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _081131D2: ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -40876,9 +40876,9 @@ _081131D2: sub_8113224: @ 8113224 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0811323E @@ -40898,17 +40898,17 @@ _0811323E: sub_8113250: @ 8113250 push {r4-r7,lr} adds r6, r0, 0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r5, 0 strh r0, [r6, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x22] @@ -40918,7 +40918,7 @@ sub_8113250: @ 8113250 ldr r0, =gBattleAnimArgs ldrh r0, [r0] strh r0, [r6, 0x3A] - ldr r4, =gBankAttacker + ldr r4, =gBattlerAttacker ldrb r0, [r4] movs r1, 0 bl sub_80A861C @@ -41106,7 +41106,7 @@ sub_81133E8: @ 81133E8 lsls r1, 3 ldr r0, =gTasks adds r4, r1, r0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -41133,7 +41133,7 @@ _0811342A: strb r0, [r1, 0x8] mov r0, sp strb r5, [r0, 0x9] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A6190 lsls r0, 24 @@ -41152,7 +41152,7 @@ _0811345A: ldrsh r0, [r4, r1] cmp r3, r0 bgt _08113488 - ldr r5, =gUnknown_02038C28 + ldr r5, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r5, r0 @@ -41175,7 +41175,7 @@ _08113488: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams ldr r0, =sub_81134B8 str r0, [r4] add sp, 0xC @@ -41264,7 +41264,7 @@ _0811354E: bl sub_8113574 b _0811356E _08113556: - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] ldrh r0, [r2, 0x8] @@ -41292,11 +41292,11 @@ sub_8113574: @ 8113574 ldrsh r0, [r5, r1] cmp r4, r0 bgt _081135CA - ldr r7, =gUnknown_02038C28 + ldr r7, =gScanlineEffectRegBuffers mov r12, r7 ldr r0, =gSineTable mov r8, r0 - ldr r6, =gUnknown_02039B28 + ldr r6, =gScanlineEffect _08113592: lsls r2, r4, 1 ldrb r1, [r6, 0x14] @@ -41354,18 +41354,18 @@ sub_81135EC: @ 81135EC movs r1, 0x5 bl __divsi3 adds r6, r0, 0 - ldr r1, =gAnimBankAttacker + ldr r1, =gBattleAnimAttacker mov r8, r1 ldrb r0, [r1] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] mov r2, r8 ldrb r0, [r2] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r3, [r5, 0x8] @@ -41473,7 +41473,7 @@ sub_81136E8: @ 81136E8 ldr r1, =gBattleAnimArgs ldrh r1, [r1] strh r1, [r0, 0x8] - ldr r1, =gAnimBankAttacker + ldr r1, =gBattleAnimAttacker ldrb r4, [r1] movs r1, 0x10 strh r1, [r0, 0xA] @@ -41544,8 +41544,8 @@ sub_811375C: @ 811375C cmp r4, 0x10 bne _081137DE ldr r2, =gSprites - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -41661,7 +41661,7 @@ sub_8113888: @ 8113888 lsls r1, 5 movs r0, 0x52 bl SetGpuReg - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -41690,29 +41690,29 @@ _081138C4: sub_81138D4: @ 81138D4 push {r4-r6,lr} adds r4, r0, 0 - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x30] - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r6] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x34] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -41918,11 +41918,11 @@ sub_8113A90: @ 8113A90 adds r3, r0, 0 cmp r1, 0 bne _08113AAC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08113AAE .pool _08113AAC: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08113AAE: ldrb r5, [r0] movs r6, 0x14 @@ -42031,7 +42031,7 @@ _08113B60: sub_8113B90: @ 8113B90 push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _08113BA4 @@ -42054,10 +42054,10 @@ sub_8113BAC: @ 8113BAC lsls r1, 3 ldr r0, =gTasks adds r5, r1, r0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x1F @@ -42076,7 +42076,7 @@ sub_8113BAC: @ 8113BAC strh r1, [r5, 0x22] ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 @@ -42085,7 +42085,7 @@ sub_8113BAC: @ 8113BAC adds r0, 0x20 strh r0, [r5, 0x26] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08113C1C @@ -42096,7 +42096,7 @@ _08113C1C: ldr r0, =0x0000ffc0 _08113C1E: strh r0, [r5, 0x18] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -42169,7 +42169,7 @@ _08113CB0: movs r0, 0x3 bl sub_8114374 movs r3, 0 - ldr r4, =gUnknown_02038C28 + ldr r4, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r4, r0 @@ -42189,7 +42189,7 @@ _08113CDC: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams movs r0, 0x3F eors r7, r0 movs r1, 0xFC @@ -42344,7 +42344,7 @@ _08113E3E: b _08113E5E .pool _08113E58: - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _08113E5E: @@ -42415,7 +42415,7 @@ _08113EBC: b _081140A6 .pool _08113EF8: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -42472,10 +42472,10 @@ _08113F78: b _08114044 .pool _08113F84: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x1F @@ -42492,7 +42492,7 @@ _08113F84: strh r1, [r5, 0x22] ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 subs r1, r0, 0x4 @@ -42500,7 +42500,7 @@ _08113F84: adds r0, 0x4 strh r0, [r5, 0x26] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08113FD8 @@ -42534,7 +42534,7 @@ _08114002: str r0, [sp, 0x10] movs r3, 0 add r4, sp, 0x10 - ldr r6, =gUnknown_02038C28 + ldr r6, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r7, r6, r0 @@ -42563,7 +42563,7 @@ _08114010: strb r2, [r4, 0x9] ldr r0, [sp, 0x10] ldr r2, [r4, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams _08114044: ldrh r0, [r5, 0x8] adds r0, 0x1 @@ -42772,7 +42772,7 @@ _081141DA: bne _08114232 b _08114204 _081141FE: - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _08114204: @@ -42827,9 +42827,9 @@ sub_8114244: @ 8114244 movs r4, 0 cmp r0, 0 ble _081142A4 - ldr r0, =gUnknown_02038C28 + ldr r0, =gScanlineEffectRegBuffers mov r12, r0 - ldr r7, =gUnknown_02039B28 + ldr r7, =gScanlineEffect _08114278: lsls r2, r4, 16 asrs r2, 16 @@ -42861,9 +42861,9 @@ _081142A4: ldrsh r0, [r6, r2] cmp r1, r0 bgt _081142EE - ldr r0, =gUnknown_02038C28 + ldr r0, =gScanlineEffectRegBuffers mov r12, r0 - ldr r7, =gUnknown_02039B28 + ldr r7, =gScanlineEffect _081142B8: asrs r4, r3, 16 cmp r4, 0 @@ -42904,8 +42904,8 @@ _081142EE: ldrsh r0, [r6, r3] cmp r1, r0 bge _08114366 - ldr r7, =gUnknown_02038C28 - ldr r4, =gUnknown_02039B28 + ldr r7, =gScanlineEffectRegBuffers + ldr r4, =gScanlineEffect _08114306: asrs r3, r2, 16 cmp r3, 0 @@ -42935,7 +42935,7 @@ _08114338: adds r5, r0, 0 adds r5, 0x9F movs r4, 0 - ldr r3, =gUnknown_02038C28 + ldr r3, =gScanlineEffectRegBuffers movs r2, 0xF0 lsls r2, 3 adds r6, r3, r2 @@ -42979,7 +42979,7 @@ sub_8114374: @ 8114374 _0811438A: lsls r0, r4, 24 lsrs r0, 24 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 cmp r0, 0xFF @@ -43014,7 +43014,7 @@ sub_81143C0: @ 81143C0 lsls r0, 24 lsrs r0, 24 mov r10, r0 - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] bl sub_80A8364 lsls r0, 24 @@ -43030,7 +43030,7 @@ sub_81143C0: @ 81143C0 bl sub_80A438C ldr r0, =gSprites mov r9, r0 - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds mov r8, r0 ldrb r0, [r6] add r0, r8 @@ -43049,7 +43049,7 @@ sub_81143C0: @ 81143C0 ldrb r0, [r6] movs r5, 0x2 eors r0, r5 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0811444E @@ -43091,7 +43091,7 @@ sub_8114470: @ 8114470 push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] bl sub_80A8364 lsls r0, 24 @@ -43106,7 +43106,7 @@ sub_8114470: @ 8114470 ldrb r1, [r4] movs r0, 0x2 eors r0, r1 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _081144AC @@ -43202,15 +43202,15 @@ _0811455C: lsls r0, 24 cmp r0, 0 bne _081145D6 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 beq _0811458C ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 cmp r0, 0 bne _081145D6 @@ -43218,13 +43218,13 @@ _0811458C: ldrb r0, [r4] movs r5, 0x2 eors r0, r5 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _081145D6 ldr r3, =gSprites - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldrb r0, [r4] eors r0, r5 adds r0, r1 @@ -43262,13 +43262,13 @@ _081145D6: b _0811465C .pool _08114614: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08114640 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -43279,7 +43279,7 @@ _08114614: b _08114650 .pool _08114640: - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -43295,11 +43295,11 @@ _08114650: lsrs r5, r0, 16 _0811465C: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r1, r4, 0 adds r2, r5, 0 @@ -43421,7 +43421,7 @@ _08114776: cmp r0, 0x2 bne _08114824 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 ldr r5, =gSprites @@ -43457,8 +43457,8 @@ _081147B8: ldrsh r0, [r4, r1] cmp r0, 0x1 bne _08114886 - ldr r2, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r2, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r1, [r0] movs r0, 0x2 eors r0, r1 @@ -43562,7 +43562,7 @@ _081148C4: .4byte _081148FC _081148E4: ldrb r0, [r2] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r2, r0, 24 b _08114902 @@ -43586,15 +43586,15 @@ _08114902: beq _0811492E _08114908: adds r0, r4, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0811492C - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r4, r0 ldrb r2, [r0] b _0811492E @@ -43655,31 +43655,31 @@ _08114980: sub_8114994: @ 8114994 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] movs r0, 0x14 strh r0, [r4, 0x2E] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -43699,7 +43699,7 @@ sub_8114994: @ 8114994 sub_81149FC: @ 81149FC push {r4,r5,lr} adds r5, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _08114A50 @@ -43716,16 +43716,16 @@ sub_81149FC: @ 81149FC strh r1, [r5, 0x24] movs r0, 0x14 strh r0, [r5, 0x2E] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -43746,7 +43746,7 @@ _08114A50: sub_8114A60: @ 8114A60 push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _08114A74 @@ -43764,9 +43764,9 @@ sub_8114A7C: @ 8114A7C adds r6, r0, 0 movs r1, 0x1 bl sub_80A6980 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08114A9C @@ -43778,10 +43778,10 @@ _08114A9C: ldr r4, =gBattleAnimArgs ldrh r0, [r4, 0x8] strh r0, [r6, 0x2E] - ldr r5, =gAnimBankTarget + ldr r5, =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -43789,7 +43789,7 @@ _08114A9C: strh r0, [r6, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x6] @@ -43814,7 +43814,7 @@ sub_8114AF0: @ 8114AF0 adds r6, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 bl sub_80A60AC @@ -43890,10 +43890,10 @@ sub_8114B80: @ 8114B80 ldrsh r0, [r6, r1] cmp r0, 0 bne _08114BF4 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r2, [r6, 0x2] @@ -43901,7 +43901,7 @@ sub_8114B80: @ 8114B80 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r3, [r6, 0x4] @@ -44092,11 +44092,11 @@ _08114D28: .4byte _08114E8C _08114D3C: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1C] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -44118,7 +44118,7 @@ _08114D70: _08114D78: ldrh r0, [r0] strh r0, [r4, 0x22] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A6190 lsls r0, 24 @@ -44235,7 +44235,7 @@ _08114E4E: b _08114E7E .pool _08114E78: - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _08114E7E: @@ -44272,7 +44272,7 @@ sub_8114EB4: @ 8114EB4 lsls r0, 24 lsrs r5, r0, 24 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 ldr r2, =gSprites @@ -44289,7 +44289,7 @@ sub_8114EB4: @ 8114EB4 movs r4, 0 strh r4, [r1, 0x24] strh r4, [r1, 0x26] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -44361,7 +44361,7 @@ sub_8114F54: @ 8114F54 .pool _08114F78: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1C] @@ -44438,11 +44438,11 @@ _08115004: .4byte _081150D4 _08115018: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1C] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -44458,7 +44458,7 @@ _08115044: _08115046: ldrh r0, [r0] strh r0, [r4, 0x20] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A6190 lsls r0, 24 @@ -44510,7 +44510,7 @@ _08115094: ldrsh r0, [r0, r1] cmp r0, 0 bne _081150DA - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _081150C2: @@ -44561,7 +44561,7 @@ _08115114: asrs r4, r0, 16 cmp r2, r0 bge _08115140 - ldr r5, =gUnknown_02038C28 + ldr r5, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r5, r0 @@ -44584,7 +44584,7 @@ _08115140: asrs r0, r1, 16 cmp r0, 0x9F bgt _0811516E - ldr r4, =gUnknown_02038C28 + ldr r4, =gScanlineEffectRegBuffers lsls r0, r3, 16 asrs r0, 16 adds r3, r0, 0 @@ -44616,7 +44616,7 @@ _0811516E: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams add sp, 0xC pop {r4-r6} pop {r0} @@ -44634,11 +44634,11 @@ sub_81151A0: @ 81151A0 adds r7, r0, 0 cmp r1, 0 bne _081151BC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _081151BE .pool _081151BC: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _081151BE: ldrb r4, [r0] movs r6, 0x18 @@ -44657,7 +44657,7 @@ _081151BE: _081151DA: adds r0, r4, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r6 @@ -44693,7 +44693,7 @@ _081151DA: sub_8115228: @ 8115228 push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _0811523C @@ -44714,16 +44714,16 @@ sub_8115244: @ 8115244 ldrsh r0, [r0, r1] cmp r0, 0 bne _08115260 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08115262 .pool _08115260: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08115262: ldrb r5, [r0] adds r0, r5, 0 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r2, =0x0000fff0 @@ -44818,7 +44818,7 @@ _08115340: _08115346: lsls r0, r5, 24 lsrs r0, 24 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08115370 @@ -44829,7 +44829,7 @@ _08115346: adds r1, r4, 0 adds r1, 0x8 adds r1, r0 - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r5, r0 ldrb r0, [r0] strh r0, [r1] @@ -44846,7 +44846,7 @@ _08115370: .pool _08115380: ldrb r0, [r6] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1A] @@ -45217,11 +45217,11 @@ sub_8115628: @ 8115628 adds r6, r2, 0 cmp r0, 0 beq _08115648 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget b _0811564A .pool _08115648: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker _0811564A: ldrb r0, [r0] adds r5, r0, 0 @@ -45244,7 +45244,7 @@ _0811565A: adds r4, r0 adds r0, r5, 0 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r1, 0x20 @@ -45255,7 +45255,7 @@ _0811565A: strh r1, [r4, 0xA] adds r0, r5, 0 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r1, 0x40 @@ -45333,9 +45333,9 @@ sub_811572C: @ 811572C strh r0, [r4, 0x22] ldrh r0, [r5, 0x4] strh r0, [r4, 0x2E] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0 @@ -45846,15 +45846,15 @@ sub_8115B0C: @ 8115B0C strh r1, [r0, 0x12] strh r5, [r0, 0x18] movs r4, 0 - ldr r0, =gNoOfAllBanks + ldr r0, =gBattlersCount ldrb r1, [r0] mov r9, r3 mov r8, r2 cmp r5, r1 bge _08115B74 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r3, [r0] - ldr r7, =gAnimBankTarget + ldr r7, =gBattleAnimTarget movs r0, 0x1 mov r12, r0 adds r2, r1, 0 @@ -46336,9 +46336,9 @@ sub_8115F10: @ 8115F10 lsrs r0, 24 mov r8, r0 movs r2, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r6, [r0] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r7, [r0] ldr r4, =gBattleAnimArgs ldrh r1, [r4] @@ -46429,10 +46429,10 @@ _08115FD6: ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] mov r9, r0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] mov r10, r0 ldrh r1, [r4, 0xC] @@ -46450,7 +46450,7 @@ _08115FF8: cmp r0, 0 beq _08116028 ldr r2, =gSprites - ldr r0, =gHealthBoxesIds + ldr r0, =gHealthboxSpriteIds add r0, r9 ldrb r1, [r0] lsls r0, r1, 4 @@ -46650,13 +46650,13 @@ _0811618A: cmp r0, 0x1 bhi _081161DC movs r4, 0 - ldr r5, =gNoOfAllBanks + ldr r5, =gBattlersCount ldrb r0, [r5] cmp r4, r0 bcs _081161DC ldr r2, =gSprites mov r12, r2 - ldr r6, =gBankSpriteIds + ldr r6, =gBattlerSpriteIds movs r7, 0x3 negs r7, r7 _081161BA: @@ -46691,8 +46691,8 @@ _081161E2: sub_81161F4: @ 81161F4 push {r4-r6,lr} ldr r6, =gSprites - ldr r4, =gBankSpriteIds - ldr r5, =gAnimBankAttacker + ldr r4, =gBattlerSpriteIds + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] adds r0, r4 ldrb r0, [r0] @@ -46707,7 +46707,7 @@ sub_81161F4: @ 81161F4 adds r0, r2, 0 ands r0, r3 strb r0, [r1] - ldr r3, =gAnimBankTarget + ldr r3, =gBattleAnimTarget ldrb r0, [r3] adds r0, r4 ldrb r1, [r0] @@ -46955,9 +46955,9 @@ _081163FC: sub_8116420: @ 8116420 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08116444 @@ -47048,7 +47048,7 @@ sub_81164F0: @ 81164F0 adds r4, r0, 0 ldr r5, =gBattleAnimArgs ldrb r0, [r5] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x2E] @@ -47256,14 +47256,14 @@ _081166B8: movs r5, 0 _081166BA: mov r0, sp - ldr r1, =gAnimBankAttacker + ldr r1, =gBattleAnimAttacker b _081166CA .pool _081166C4: movs r5, 0 _081166C6: mov r0, sp - ldr r1, =gAnimBankTarget + ldr r1, =gBattleAnimTarget _081166CA: ldrb r1, [r1] strb r1, [r0] @@ -47271,10 +47271,10 @@ _081166CA: .pool _081166D4: mov r1, sp - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] strb r0, [r1] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] strb r0, [r1, 0x1] b _0811670E @@ -47287,13 +47287,13 @@ _081166EC: _081166F4: movs r5, 0 mov r2, sp - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08116706 .pool _08116700: movs r5, 0 mov r2, sp - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08116706: ldrb r0, [r0] movs r1, 0x2 @@ -47310,7 +47310,7 @@ _08116712: cmp r4, r0 beq _0811673C adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0811673C @@ -47867,15 +47867,15 @@ _08116BA2: lsls r0, 24 cmp r0, 0 bne _08116C26 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 beq _08116BD2 ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 cmp r0, 0 bne _08116C26 @@ -47883,13 +47883,13 @@ _08116BD2: ldrb r0, [r5] movs r6, 0x2 eors r0, r6 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _08116C26 ldr r3, =gSprites - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldrb r0, [r5] eors r0, r6 adds r0, r1 @@ -47932,13 +47932,13 @@ _08116C26: b _08116CAC .pool _08116C64: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08116C90 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -47949,7 +47949,7 @@ _08116C64: b _08116CA0 .pool _08116C90: - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -47965,11 +47965,11 @@ _08116CA0: lsrs r5, r0, 16 _08116CAC: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r1, r4, 0 adds r2, r5, 0 @@ -48119,7 +48119,7 @@ _08116DF6: movs r1, 0 bl SetGpuReg movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r4, =gSprites movs r0, 0x8 ldrsh r1, [r5, r0] @@ -48137,8 +48137,8 @@ _08116DF6: ldrsh r0, [r5, r1] cmp r0, 0x1 bne _08116E7C - ldr r2, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r2, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r1, [r0] movs r0, 0x2 eors r0, r1 @@ -48223,11 +48223,11 @@ sub_8116F04: @ 8116F04 ldrsh r0, [r1, r2] cmp r0, 0 bne _08116F24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08116F26 .pool _08116F24: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08116F26: ldrb r0, [r0] strb r0, [r1] @@ -48247,7 +48247,7 @@ _08116F26: cmp r0, 0 beq _08116F5C ldrb r0, [r1, 0x1] - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 bne _08116F5C @@ -48306,27 +48306,27 @@ _08116FBA: cmp r0, 0 bne _08117036 ldrb r0, [r1] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 beq _08116FEC ldr r0, [r4] ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 cmp r0, 0 bne _08117036 _08116FEC: ldr r0, [r4] ldrb r0, [r0, 0x1] - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0x1 bne _08117036 ldr r3, =gSprites - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds ldr r0, [r4] ldrb r0, [r0, 0x1] adds r0, r1 @@ -48370,11 +48370,11 @@ _08117078: ldr r4, =gUnknown_0203A110 ldr r0, [r4] ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _081170A8 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes ldr r0, [r4] ldrb r0, [r0] lsls r0, 1 @@ -48386,7 +48386,7 @@ _08117078: b _081170BA .pool _081170A8: - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes ldr r0, [r4] ldrb r0, [r0] lsls r0, 1 @@ -48425,7 +48425,7 @@ sub_81170EC: @ 81170EC lsrs r5, r0, 24 movs r0, 0 mov r8, r0 - ldr r6, =gBankSpriteIds + ldr r6, =gBattlerSpriteIds ldr r4, =gUnknown_0203A110 ldr r2, [r4] ldrb r0, [r2] @@ -48601,7 +48601,7 @@ _08117280: strh r4, [r1, 0xE] ldrb r0, [r3, 0x2] strh r0, [r1, 0x14] - ldr r2, =gBankSpriteIds + ldr r2, =gBattlerSpriteIds ldrb r0, [r3, 0x1] adds r0, r2 ldrb r0, [r0] @@ -49044,7 +49044,7 @@ sub_8117610: @ 8117610 lsrs r6, r0, 24 movs r4, 0 movs r2, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r3, [r0] movs r5, 0x1 _08117620: @@ -49096,9 +49096,9 @@ sub_8117660: @ 8117660 ldrsh r0, [r4, r1] cmp r0, 0 beq _0811769C - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0811769C @@ -49196,9 +49196,9 @@ sub_8117754: @ 8117754 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide ldr r1, =gBattleAnimArgs lsls r0, 24 lsrs r0, 24 @@ -49217,9 +49217,9 @@ sub_8117780: @ 8117780 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide ldr r1, =gBattleAnimArgs lsls r0, 24 lsrs r0, 24 @@ -49239,10 +49239,10 @@ sub_81177AC: @ 81177AC lsrs r3, r0, 24 ldr r5, =gBattleAnimArgs movs r4, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r2, [r0] movs r0, 0x2 - ldr r1, =gAnimBankTarget + ldr r1, =gBattleAnimTarget eors r0, r2 ldrb r1, [r1] cmp r0, r1 @@ -49266,17 +49266,17 @@ sub_81177E4: @ 81177E4 movs r4, 0 ldr r6, =gSprites _081177EE: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] cmp r4, r0 beq _0811782C lsls r0, r4, 24 lsrs r0, 24 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0811782C - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds adds r0, r4, r0 ldrb r0, [r0] lsls r2, r0, 4 @@ -49355,7 +49355,7 @@ sub_8117854: @ 8117854 cmp r1, 0 beq _081178BA adds r0, r6, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 bne _081178BA @@ -49431,11 +49431,11 @@ _08117930: .pool _08117964: adds r0, r7, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08117988 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r7, 1 adds r0, r1 ldrh r1, [r0] @@ -49445,7 +49445,7 @@ _08117964: b _08117996 .pool _08117988: - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r7, 1 adds r0, r1 ldrh r1, [r0] @@ -49459,7 +49459,7 @@ _08117996: lsls r0, 16 lsrs r4, r0, 16 _081179A2: - ldr r5, =gBankSpriteIds + ldr r5, =gBattlerSpriteIds adds r0, r7, r5 ldrb r1, [r0] adds r0, r7, 0 @@ -49854,13 +49854,13 @@ _08117CD2: _08117CE4: cmp r0, 0x1 bne _08117CF0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08117CF6 .pool _08117CF0: cmp r0, 0x2 bne _08117CFC - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08117CF6: ldrb r0, [r0] adds r4, r0, 0 @@ -49929,13 +49929,13 @@ _08117D6E: _08117D80: cmp r0, 0x1 bne _08117D8C - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08117D92 .pool _08117D8C: cmp r0, 0x2 bne _08117D98 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08117D92: ldrb r0, [r0] adds r4, r0, 0 @@ -50004,13 +50004,13 @@ _08117E0A: _08117E1C: cmp r0, 0x1 bne _08117E28 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08117E2E .pool _08117E28: cmp r0, 0x2 bne _08117E34 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08117E2E: ldrb r0, [r0] adds r4, r0, 0 @@ -50064,12 +50064,12 @@ sub_8117E94: @ 8117E94 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, =gAnimBankAttacker - ldr r1, =gBankTarget + ldr r2, =gBattleAnimAttacker + ldr r1, =gBattlerTarget ldrb r1, [r1] strb r1, [r2] - ldr r2, =gAnimBankTarget - ldr r1, =gEffectBank + ldr r2, =gBattleAnimTarget + ldr r1, =gEffectBattler ldrb r1, [r1] strb r1, [r2] bl DestroyAnimVisualTask @@ -50083,13 +50083,13 @@ sub_8117EC4: @ 8117EC4 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -50116,8 +50116,8 @@ sub_8117F10: @ 8117F10 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, =gAnimBankTarget - ldr r1, =gBankTarget + ldr r2, =gBattleAnimTarget + ldr r1, =gBattlerTarget ldrb r1, [r1] strb r1, [r2] bl DestroyAnimVisualTask @@ -50131,12 +50131,12 @@ sub_8117F30: @ 8117F30 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, =gAnimBankAttacker - ldr r1, =gBankAttacker + ldr r2, =gBattleAnimAttacker + ldr r1, =gBattlerAttacker ldrb r1, [r1] strb r1, [r2] - ldr r2, =gAnimBankTarget - ldr r1, =gEffectBank + ldr r2, =gBattleAnimTarget + ldr r1, =gEffectBattler ldrb r1, [r1] strb r1, [r2] bl DestroyAnimVisualTask @@ -50165,7 +50165,7 @@ _08117F78: adds r3, r0 ldr r0, =gBattleSpritesDataPtr ldr r4, [r0] - ldr r2, =gAnimBankAttacker + ldr r2, =gBattleAnimAttacker ldrb r0, [r2] ldr r1, [r4] lsls r0, 2 @@ -50209,7 +50209,7 @@ sub_8117FD0: @ 8117FD0 bne _08118014 ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r3, [r0] ldr r0, [r1] lsls r3, 2 @@ -50670,7 +50670,7 @@ _081183B4: strh r0, [r1, 0xC] movs r0, 0x20 strh r0, [r1, 0xE] - ldr r2, =gUnknown_020243FC + ldr r2, =gIntroSlideFlags ldrh r1, [r2] ldr r0, =0x0000fffe ands r0, r1 @@ -50740,9 +50740,9 @@ _08118442: strh r0, [r1, 0xC] _0811845A: movs r3, 0 - ldr r5, =gUnknown_02039B28 + ldr r5, =gScanlineEffect mov r9, r5 - ldr r7, =gUnknown_02038C28 + ldr r7, =gScanlineEffectRegBuffers mov r6, r9 adds r5, r1, 0 _08118466: @@ -50760,8 +50760,8 @@ _08118466: ble _08118466 cmp r3, 0x9F bgt _081184AA - ldr r7, =gUnknown_02038C28 - ldr r6, =gUnknown_02039B28 + ldr r7, =gScanlineEffectRegBuffers + ldr r6, =gScanlineEffect ldr r1, =gTasks mov r2, r12 adds r0, r2, r4 @@ -51014,7 +51014,7 @@ _08118690: strh r0, [r1, 0xE] movs r0, 0x1 strh r0, [r1, 0x12] - ldr r2, =gUnknown_020243FC + ldr r2, =gIntroSlideFlags ldrh r1, [r2] ldr r0, =0x0000fffe ands r0, r1 @@ -51089,9 +51089,9 @@ _0811873C: strh r0, [r1, 0xC] _08118752: movs r3, 0 - ldr r0, =gUnknown_02039B28 + ldr r0, =gScanlineEffect mov r8, r0 - ldr r2, =gUnknown_02038C28 + ldr r2, =gScanlineEffectRegBuffers mov r12, r2 mov r7, r8 adds r4, r1, 0 @@ -51110,9 +51110,9 @@ _08118760: ble _08118760 cmp r3, 0x9F bgt _081187A4 - ldr r0, =gUnknown_02038C28 + ldr r0, =gScanlineEffectRegBuffers mov r12, r0 - ldr r7, =gUnknown_02039B28 + ldr r7, =gScanlineEffect ldr r1, =gTasks adds r0, r6, r5 lsls r0, 3 @@ -51315,7 +51315,7 @@ _08118934: strh r0, [r1, 0xE] movs r0, 0x1 strh r0, [r1, 0x12] - ldr r2, =gUnknown_020243FC + ldr r2, =gIntroSlideFlags ldrh r1, [r2] ldr r0, =0x0000fffe ands r0, r1 @@ -51378,9 +51378,9 @@ _081189BA: strh r0, [r1, 0xC] _081189D0: movs r3, 0 - ldr r6, =gUnknown_02039B28 + ldr r6, =gScanlineEffect mov r8, r6 - ldr r7, =gUnknown_02038C28 + ldr r7, =gScanlineEffectRegBuffers adds r4, r1, 0 _081189DA: lsls r2, r3, 1 @@ -51397,8 +51397,8 @@ _081189DA: ble _081189DA cmp r3, 0x9F bgt _08118A1E - ldr r7, =gUnknown_02038C28 - ldr r6, =gUnknown_02039B28 + ldr r7, =gScanlineEffectRegBuffers + ldr r6, =gScanlineEffect ldr r1, =gTasks mov r2, r12 adds r0, r2, r5 @@ -51675,7 +51675,7 @@ _08118C50: strh r0, [r1, 0xC] movs r0, 0x20 strh r0, [r1, 0xE] - ldr r2, =gUnknown_020243FC + ldr r2, =gIntroSlideFlags ldrh r1, [r2] ldr r0, =0x0000fffe ands r0, r1 @@ -51707,9 +51707,9 @@ _08118C90: strh r0, [r1, 0xC] _08118CA6: movs r3, 0 - ldr r0, =gUnknown_02039B28 + ldr r0, =gScanlineEffect mov r12, r0 - ldr r2, =gUnknown_02038C28 + ldr r2, =gScanlineEffectRegBuffers mov r8, r2 mov r7, r12 adds r4, r1, 0 @@ -51728,9 +51728,9 @@ _08118CB4: ble _08118CB4 cmp r3, 0x9F bgt _08118CF8 - ldr r0, =gUnknown_02038C28 + ldr r0, =gScanlineEffectRegBuffers mov r8, r0 - ldr r7, =gUnknown_02039B28 + ldr r7, =gScanlineEffect ldr r1, =gTasks adds r0, r5, r6 lsls r0, 3 @@ -51924,7 +51924,7 @@ _08118E7E: strh r0, [r1, 0x8] movs r0, 0xF0 strh r0, [r1, 0xC] - ldr r2, =gUnknown_020243FC + ldr r2, =gIntroSlideFlags ldrh r1, [r2] ldr r0, =0x0000fffe ands r0, r1 @@ -52025,7 +52025,7 @@ _08118F28: lsls r1, 7 movs r0, 0xC bl SetGpuReg - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] ldr r1, =gTasks @@ -52078,7 +52078,7 @@ sub_8118FBC: @ 8118FBC lsls r5, 16 lsrs r5, 16 adds r0, r4, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 ldr r1, =gMonSpritesGfxPtr diff --git a/asm/battle_anim_815A0D4.s b/asm/battle_anim_815A0D4.s old mode 100755 new mode 100644 index 69835bf4e3..6b894a0f11 --- a/asm/battle_anim_815A0D4.s +++ b/asm/battle_anim_815A0D4.s @@ -87,10 +87,10 @@ sub_815A160: @ 815A160 adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r6, =gAnimBankTarget + ldr r6, =gBattleAnimTarget ldrb r0, [r6] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 8 @@ -100,7 +100,7 @@ sub_815A160: @ 815A160 asrs r4, 16 ldrb r0, [r6] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r1, r0, 0 lsls r1, 24 lsrs r1, 8 @@ -207,16 +207,16 @@ sub_815A254: @ 815A254 push {r4-r7,lr} sub sp, 0x4 adds r5, r0, 0 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r7, r0, 0 ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r6, r0, 0 @@ -639,8 +639,8 @@ _0815A5AC: .pool thumb_func_end sub_815A52C - thumb_func_start c3_80DE6F0 -c3_80DE6F0: @ 815A5C8 + thumb_func_start sub_815A5C8 +sub_815A5C8: @ 815A5C8 lsls r0, 24 lsrs r0, 24 ldr r2, =gTasks @@ -656,7 +656,7 @@ c3_80DE6F0: @ 815A5C8 strb r0, [r1] bx lr .pool - thumb_func_end c3_80DE6F0 + thumb_func_end sub_815A5C8 thumb_func_start sub_815A5F0 sub_815A5F0: @ 815A5F0 @@ -768,7 +768,7 @@ sub_815A6C4: @ 815A6C4 adds r4, r0, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] mov r5, sp adds r5, 0x2 @@ -776,9 +776,9 @@ sub_815A6C4: @ 815A6C4 mov r2, sp adds r3, r5, 0 bl sub_80A8924 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0815A6F8 @@ -816,7 +816,7 @@ _0815A6F8: sub_815A73C: @ 815A73C push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _0815A75E @@ -919,9 +919,9 @@ sub_815A7EC: @ 815A7EC lsls r0, 24 cmp r0, 0 bne _0815A840 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815A830 @@ -1017,9 +1017,9 @@ sub_815A8C8: @ 815A8C8 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1251,16 +1251,16 @@ sub_815AAA4: @ 815AAA4 ldrsh r0, [r6, r1] cmp r0, 0 bne _0815AAD0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -1502,15 +1502,15 @@ sub_815ACD0: @ 815ACD0 ldrsh r0, [r6, r1] cmp r0, 0 bne _0815ACEC - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _0815ACEE .pool _0815ACEC: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _0815ACEE: ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x2] @@ -1518,7 +1518,7 @@ _0815ACEE: strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -1618,11 +1618,11 @@ sub_815ADB0: @ 815ADB0 ldrsh r0, [r0, r1] cmp r0, 0 bne _0815ADDC - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _0815ADDE .pool _0815ADDC: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _0815ADDE: ldrb r0, [r4] bl sub_80A6190 @@ -1689,7 +1689,7 @@ _0815AE58: ldrsh r0, [r5, r6] cmp r1, r0 bgt _0815AE8E - ldr r4, =gUnknown_02038C28 + ldr r4, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r0, r4 @@ -1729,7 +1729,7 @@ _0815AEA2: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams ldr r0, =sub_815AED8 str r0, [r5] add sp, 0xC @@ -1820,7 +1820,7 @@ _0815AF5C: ldrsh r0, [r4, r2] cmp r1, r0 bge _0815AF90 - ldr r5, =gUnknown_02038C28 + ldr r5, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r5, r0 @@ -1848,7 +1848,7 @@ _0815AF90: ldrsh r0, [r4, r2] cmp r1, r0 bgt _0815AFC4 - ldr r5, =gUnknown_02038C28 + ldr r5, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r5, r0 @@ -1877,7 +1877,7 @@ _0815AFC4: ldrsh r0, [r4, r1] cmp r0, 0 beq _0815AFDA - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _0815AFDA: @@ -1903,16 +1903,16 @@ sub_815AFF0: @ 815AFF0 movs r5, 0 strh r5, [r4, 0x8] strh r5, [r4, 0xA] - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0xC] ldrb r0, [r6] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0xE] @@ -1922,7 +1922,7 @@ sub_815AFF0: @ 815AFF0 strh r0, [r4, 0x12] strh r5, [r4, 0x14] movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -2278,16 +2278,16 @@ _0815B2D8: strh r1, [r5, 0x26] movs r0, 0x14 strh r0, [r5, 0x2E] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -2320,7 +2320,7 @@ sub_815B338: @ 815B338 .pool _0815B35C: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -2351,7 +2351,7 @@ sub_815B394: @ 815B394 push {r4-r6,lr} adds r5, r0, 0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r6, r0, 24 movs r1, 0x2E @@ -2370,16 +2370,16 @@ _0815B3B4: beq _0815B478 b _0815B496 _0815B3BE: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -2482,9 +2482,9 @@ _0815B496: sub_815B49C: @ 815B49C push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0815B4BC @@ -2513,9 +2513,9 @@ sub_815B4D4: @ 815B4D4 ldrh r0, [r4, 0x2E] adds r0, 0x48 strh r0, [r4, 0x2E] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0815B4F8 @@ -2728,7 +2728,7 @@ sub_815B65C: @ 815B65C cmp r0, 0 bne _0815B69C movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -2770,7 +2770,7 @@ sub_815B6B4: @ 815B6B4 cmp r0, 0 bne _0815B6F4 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -2814,10 +2814,10 @@ _0815B71E: movs r0, 0x90 lsls r0, 4 strh r0, [r4, 0x30] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -2868,7 +2868,7 @@ sub_815B778: @ 815B778 cmp r0, 0 bne _0815B7B8 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -2933,7 +2933,7 @@ _0815B81C: movs r0, 0x4C movs r1, 0 bl SetGpuReg - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -2996,9 +2996,9 @@ _0815B886: _0815B8A6: b _0815BA7A _0815B8A8: - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] - ldr r1, =gAnimBankTarget + ldr r1, =gBattleAnimTarget ldrb r1, [r1] mov r2, r8 lsls r4, r2, 2 @@ -3006,7 +3006,7 @@ _0815B8A8: lsls r2, 3 adds r2, r3 ldrb r2, [r2, 0x1C] - bl sub_805E448 + bl HandleSpeciesGfxDataChange ldrb r1, [r5] mov r0, sp bl sub_80A6BFC @@ -3020,7 +3020,7 @@ _0815B8A8: .pool _0815B8E0: ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r1, r0, 24 _0815B8EA: @@ -3030,7 +3030,7 @@ _0815B8EA: adds r2, 0x4 adds r2, r0 ldr r1, =gBattleMonForms - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -3122,8 +3122,8 @@ _0815B99C: cmp r0, 0 beq _0815B9EC ldr r3, =gSprites - ldr r4, =gBankSpriteIds - ldr r2, =gAnimBankAttacker + ldr r4, =gBattlerSpriteIds + ldr r2, =gBattleAnimAttacker ldrb r0, [r2] adds r0, r4 ldrb r1, [r0] @@ -3138,8 +3138,8 @@ _0815B99C: .pool _0815B9EC: ldr r3, =gSprites - ldr r4, =gBankSpriteIds - ldr r2, =gAnimBankAttacker + ldr r4, =gBattlerSpriteIds + ldr r2, =gBattleAnimAttacker ldrb r0, [r2] adds r0, r4 ldrb r1, [r0] @@ -3209,7 +3209,7 @@ _0815BA82: movs r0, 0x4C movs r1, 0 bl SetGpuReg - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -3232,9 +3232,9 @@ _0815BAB6: lsls r0, 24 cmp r0, 0 bne _0815BAF6 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -3256,7 +3256,7 @@ _0815BAB6: lsls r1, r0, 2 adds r1, r2 ldrh r1, [r1, 0x2] - bl SetBankEnemyShadowSpriteCallback + bl SetBattlerShadowSpriteCallback _0815BAF6: mov r0, r8 bl DestroyAnimVisualTask @@ -3271,15 +3271,15 @@ _0815BAFC: .pool thumb_func_end sub_815B7D0 - thumb_func_start c3_80DFBE4 -c3_80DFBE4: @ 815BB18 + thumb_func_start sub_815BB18 +sub_815BB18: @ 815BB18 push {r4,lr} lsls r0, 24 lsrs r0, 24 ldr r4, =gBattleAnimArgs ldr r3, =gSprites - ldr r2, =gBankSpriteIds - ldr r1, =gAnimBankAttacker + ldr r2, =gBattlerSpriteIds + ldr r1, =gBattleAnimAttacker ldrb r1, [r1] adds r1, r2 ldrb r2, [r1] @@ -3297,7 +3297,7 @@ c3_80DFBE4: @ 815BB18 pop {r0} bx r0 .pool - thumb_func_end c3_80DFBE4 + thumb_func_end sub_815BB18 thumb_func_start sub_815BB58 sub_815BB58: @ 815BB58 @@ -3305,12 +3305,12 @@ sub_815BB58: @ 815BB58 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - ldr r1, =gAnimBankTarget + ldr r1, =gBattleAnimTarget ldrb r1, [r1] movs r2, 0x1 - bl sub_805E448 + bl HandleSpeciesGfxDataChange adds r0, r4, 0 bl DestroyAnimVisualTask pop {r4} @@ -3390,9 +3390,9 @@ _0815BC02: b _0815BC5C .pool _0815BC34: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0815BC58 @@ -3621,17 +3621,17 @@ sub_815BE04: @ 815BE04 lsls r0, 16 lsrs r5, r0, 16 _0815BE2E: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r5 strh r0, [r7, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x20 @@ -3996,9 +3996,9 @@ _0815C124: b _0815C1CA .pool _0815C15C: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r4, r0, 24 bl IsDoubleBattle @@ -4085,9 +4085,9 @@ _0815C224: adds r5, r0, r1 movs r0, 0 strh r0, [r5, 0xE] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -4272,7 +4272,7 @@ sub_815C3A8: @ 815C3A8 cmp r0, 0 bne _0815C3E8 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -4325,9 +4325,9 @@ _0815C41E: ldrh r0, [r4, 0x32] adds r0, 0x80 strh r0, [r4, 0x32] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0815C450 @@ -4419,7 +4419,7 @@ _0815C4BC: subs r0, 0x1 strh r0, [r4, 0x14] ldrb r0, [r5] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -4427,14 +4427,14 @@ _0815C4BC: ldrsh r0, [r5, r1] cmp r0, 0 bne _0815C508 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0815C50A .pool _0815C508: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0815C50A: ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -4643,9 +4643,9 @@ _0815C6A8: sub_815C6B0: @ 815C6B0 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -4683,9 +4683,9 @@ sub_815C700: @ 815C700 ldrh r0, [r4, 0x2E] adds r0, 0x3 strh r0, [r4, 0x2E] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815C744 @@ -4758,7 +4758,7 @@ sub_815C770: @ 815C770 strh r0, [r4, 0x24] ldr r0, =gBattleAnimArgs ldrb r0, [r0] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -4991,16 +4991,16 @@ sub_815C95C: @ 815C95C ldrsh r0, [r6, r2] cmp r0, 0 bne _0815C990 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -5100,17 +5100,17 @@ sub_815CA20: @ 815CA20 mov r8, r0 cmp r1, 0 bne _0815CA5C - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0815CA5E .pool _0815CA5C: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0815CA5E: ldrb r0, [r0] strh r0, [r2, 0x1E] mov r1, r8 ldrb r0, [r1] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r5, r0, 24 ldr r1, =gTasks @@ -5172,7 +5172,7 @@ _0815CAD2: cmp r0, 0 bne _0815CAF8 ldrb r0, [r6, 0x1E] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsls r2, r5, 4 cmp r0, 0 @@ -5528,16 +5528,16 @@ _0815CDAA: sub_815CDB4: @ 815CDB4 push {r4,r5,lr} adds r4, r0, 0 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -5586,14 +5586,14 @@ sub_815CDFC: @ 815CDFC cmp r0, 0xC3 ble _0815CE48 _0815CE36: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A82E4 subs r0, 0x1 b _0815CE52 .pool _0815CE48: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A82E4 adds r0, 0x1 @@ -5674,7 +5674,7 @@ sub_815CED8: @ 815CED8 lsrs r0, 24 str r0, [sp, 0x18] movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId bl IsContest lsls r0, 24 cmp r0, 0 @@ -5693,16 +5693,16 @@ sub_815CED8: @ 815CED8 b _0815D058 .pool _0815CF18: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0815CFC4 movs r0, 0 str r0, [sp, 0x1C] - ldr r6, =gBattlePartyID - ldr r4, =gAnimBankTarget + ldr r6, =gBattlerPartyIndexes + ldr r4, =gBattleAnimTarget ldrb r0, [r4] lsls r0, 1 adds r0, r6 @@ -5733,7 +5733,7 @@ _0815CF18: cmp r0, 0 bne _0815CFBC adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815CF9C @@ -5769,8 +5769,8 @@ _0815CFBE: _0815CFC4: movs r2, 0x1 str r2, [sp, 0x1C] - ldr r6, =gBattlePartyID - ldr r4, =gAnimBankTarget + ldr r6, =gBattlerPartyIndexes + ldr r4, =gBattleAnimTarget ldrb r0, [r4] lsls r0, 1 adds r0, r6 @@ -5801,7 +5801,7 @@ _0815CFC4: cmp r0, 0 bne _0815D054 adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815D03C @@ -5834,21 +5834,21 @@ _0815D056: _0815D058: mov r10, r3 _0815D05A: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8328 lsls r0, 24 lsrs r7, r0, 24 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldrb r0, [r5] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 mov r2, r10 lsls r1, r2, 16 @@ -5864,7 +5864,7 @@ _0815D05A: str r3, [sp, 0x8] mov r0, r8 str r0, [sp, 0xC] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] str r0, [sp, 0x10] movs r0, 0x1 @@ -6072,11 +6072,11 @@ sub_815D240: @ 815D240 ldrsh r0, [r0, r1] cmp r0, 0 bne _0815D26C - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0815D26E .pool _0815D26C: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0815D26E: ldrb r5, [r0] movs r6, 0 @@ -6093,7 +6093,7 @@ _0815D26E: movs r0, 0x18 strh r0, [r4, 0x18] adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -6118,7 +6118,7 @@ _0815D2B4: strh r0, [r4, 0x24] ldr r0, =gBattleAnimArgs ldrb r0, [r0] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -6151,7 +6151,7 @@ _0815D316: ldrh r3, [r0] movs r7, 0 movs r2, 0 - ldr r6, =gUnknown_02038C28 + ldr r6, =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r0, r6 @@ -6192,7 +6192,7 @@ _0815D326: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams ldr r0, =sub_815D398 str r0, [r4] add sp, 0xC @@ -6304,7 +6304,7 @@ _0815D40E: ldrsh r0, [r6, r3] cmp r1, r0 ble _0815D52E - ldr r0, =gUnknown_02039B28 + ldr r0, =gScanlineEffect mov r10, r0 ldr r1, [sp, 0x4] lsls r0, r1, 16 @@ -6325,7 +6325,7 @@ _0815D47E: subs r0, r1 lsls r0, 7 adds r2, r0 - ldr r0, =gUnknown_02038C28 + ldr r0, =gScanlineEffectRegBuffers adds r2, r0 lsls r4, 16 asrs r4, 16 @@ -6343,7 +6343,7 @@ _0815D47E: subs r0, r1 lsls r0, 7 adds r3, r0 - ldr r1, =gUnknown_02038C28 + ldr r1, =gScanlineEffectRegBuffers adds r3, r1 lsls r1, r7, 16 asrs r1, 16 @@ -6407,7 +6407,7 @@ _0815D52E: lsls r1, r2, 17 cmp r1, 0 blt _0815D55A - ldr r4, =gUnknown_02038C28 + ldr r4, =gScanlineEffectRegBuffers ldr r7, [sp, 0x4] lsls r0, r7, 16 asrs r0, 16 @@ -6487,7 +6487,7 @@ _0815D5CC: asrs r0, 16 cmp r0, 0xC ble _0815D63C - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] movs r0, 0 @@ -6562,7 +6562,7 @@ sub_815D64C: @ 815D64C strh r0, [r4, 0x8] ldr r0, =gBattleAnimArgs ldrb r0, [r0] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -6827,9 +6827,9 @@ sub_815D870: @ 815D870 ldrb r1, [r6] adds r0, r5, 0 bl StartSpriteAffineAnim - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0815D896 @@ -6837,10 +6837,10 @@ sub_815D870: @ 815D870 negs r0, r0 strh r0, [r6, 0x2] _0815D896: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x2] @@ -6848,7 +6848,7 @@ _0815D896: strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x4] @@ -7237,8 +7237,8 @@ sub_815DB90: @ 815DB90 lsls r0, 3 mov r1, r8 adds r4, r0, r1 - ldr r1, =gBankSpriteIds - ldr r2, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r2, =gBattleAnimAttacker ldrb r0, [r2] adds r0, r1 ldrb r0, [r0] @@ -7261,7 +7261,7 @@ sub_815DB90: @ 815DB90 strh r0, [r4, 0x14] _0815DBD4: ldrb r0, [r2] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0815DC04 @@ -7373,22 +7373,22 @@ _0815DCC4: ldrsh r0, [r4, r1] cmp r0, 0 bne _0815DCE8 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0815DCEA .pool _0815DCE8: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0815DCEA: ldrb r4, [r0] adds r0, r4, 0 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x10] adds r0, r4, 0 movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x12] @@ -7399,7 +7399,7 @@ _0815DCEA: strh r0, [r5, 0x14] ldr r0, =gBattleAnimArgs ldrb r0, [r0] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -7661,7 +7661,7 @@ sub_815DF0C: @ 815DF0C ldrh r0, [r1, 0x2] strh r0, [r4, 0xA] ldrb r0, [r1] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 ldr r2, =gSprites @@ -7746,7 +7746,7 @@ sub_815DFCC: @ 815DFCC lsrs r0, 24 movs r2, 0xD0 lsls r2, 1 - ldr r1, =gAnimBankAttacker + ldr r1, =gBattleAnimAttacker ldrb r3, [r1] ldr r1, =gBattleAnimArgs ldrb r1, [r1] @@ -7775,9 +7775,9 @@ sub_815DFCC: @ 815DFCC sub_815E01C: @ 815E01C push {r4-r6,lr} adds r5, r0, 0 - ldr r6, =gAnimBankAttacker + ldr r6, =gBattleAnimAttacker ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -7789,7 +7789,7 @@ sub_815E01C: @ 815E01C _0815E038: ldrb r0, [r6] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, =gBattleAnimArgs lsrs r0, 24 @@ -7798,7 +7798,7 @@ _0815E038: strh r0, [r5, 0x20] ldrb r0, [r6] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x2] @@ -7837,9 +7837,9 @@ _0815E09A: lsls r0, 2 strh r0, [r5, 0x2E] _0815E0A8: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0815E0C8 @@ -7923,15 +7923,15 @@ _0815E144: strh r0, [r6, 0x14] strh r1, [r6, 0x16] _0815E14E: - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815E188 ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 ldrb r0, [r5] movs r1, 0 @@ -7951,7 +7951,7 @@ _0815E17C: _0815E188: ldrb r0, [r5] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 ldrb r0, [r5] movs r1, 0 @@ -7968,10 +7968,10 @@ _0815E1A8: subs r0, r4, r0 _0815E1AC: strh r0, [r6, 0x1E] - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 ldrb r0, [r5] movs r1, 0 @@ -7987,16 +7987,16 @@ _0815E1D0: asrs r0, 2 subs r0, r4, r0 strh r0, [r6, 0x20] - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x22] ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x24] @@ -8345,33 +8345,33 @@ sub_815E47C: @ 815E47C lsls r0, 3 ldr r1, =gTasks adds r7, r0, r1 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker mov r10, r0 ldrb r0, [r0] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r7, 0x1E] mov r1, r10 ldrb r0, [r1] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r7, 0x20] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget mov r8, r0 ldrb r0, [r0] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r7, 0x22] mov r1, r8 ldrb r0, [r1] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 mov r1, r8 ldrb r0, [r1] @@ -8451,7 +8451,7 @@ _0815E4EE: bl sub_80A68D4 mov r1, r10 ldrb r0, [r1] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -8524,7 +8524,7 @@ _0815E5FE: lsls r0, 2 ldr r1, =gSprites adds r0, r1 - bl sub_80A6900 + bl AnimateBallThrow ldrh r0, [r4, 0xC] adds r0, 0x1 strh r0, [r4, 0xC] @@ -8542,7 +8542,7 @@ _0815E634: lsls r0, 2 ldr r1, =gSprites adds r0, r1 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _0815E6D2 @@ -8626,11 +8626,11 @@ sub_815E6D8: @ 815E6D8 adds r6, r0, 0 cmp r1, 0 bne _0815E6F4 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0815E6F6 .pool _0815E6F4: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0815E6F6: ldrb r5, [r0] ldrh r2, [r4, 0x4] @@ -8659,7 +8659,7 @@ _0815E724: strh r1, [r4, 0x3C] adds r0, r5, 0 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -8827,7 +8827,7 @@ _0815E85C: ldrh r0, [r2, 0x2] strh r0, [r4, 0x8] ldrb r0, [r2] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -8942,15 +8942,15 @@ sub_815E954: @ 815E954 ldrsh r0, [r0, r1] cmp r0, 0 bne _0815E970 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker b _0815E972 .pool _0815E970: - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget _0815E972: ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] @@ -9326,7 +9326,7 @@ sub_815EC48: @ 815EC48 ldr r0, =gTasks adds r6, r1, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x26] @@ -9339,10 +9339,10 @@ sub_815EC48: @ 815EC48 lsrs r7, r0, 24 cmp r7, 0x1 bne _0815ECB4 - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -9350,7 +9350,7 @@ sub_815EC48: @ 815EC48 movs r0, 0x2 eors r0, r1 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 cmp r4, r0 @@ -9363,9 +9363,9 @@ _0815ECAC: b _0815ECD2 .pool _0815ECB4: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815ECD0 @@ -9606,18 +9606,18 @@ sub_815EE84: @ 815EE84 adds r0, r4, 0 movs r1, 0x1 bl sub_80A69CC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _0815EEAA .pool _0815EEA8: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _0815EEAA: ldrb r0, [r0] strh r0, [r4, 0x3C] ldrh r0, [r4, 0x3C] lsls r0, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -9771,14 +9771,14 @@ _0815EFEC: lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r5, r0, 24 ldrh r0, [r4, 0x3C] lsls r0, 24 lsrs r0, 24 movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r1, r0, 24 _0815F00C: @@ -9991,15 +9991,15 @@ _0815F17C: sub_815F18C: @ 815F18C push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord ldrb r0, [r4] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0815F1B8 @@ -10057,7 +10057,7 @@ sub_815F20C: @ 815F20C lsls r0, 24 lsrs r6, r0, 24 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r5, r0, 24 adds r2, r5, 0 @@ -10126,16 +10126,16 @@ _0815F2A0: b _0815F310 .pool _0815F2AC: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl refresh_graphics_maybe + bl LoadBattleMonGfxAndAnimate bl IsContest lsls r0, 24 cmp r0, 0 beq _0815F2EE ldr r3, =gSprites - ldr r2, =gBankSpriteIds + ldr r2, =gBattlerSpriteIds ldrb r0, [r4] adds r0, r2 ldrb r1, [r0] @@ -10191,7 +10191,7 @@ sub_815F330: @ 815F330 lsls r0, 24 lsrs r6, r0, 24 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r3, r0, 24 ldr r1, =gTasks @@ -10360,9 +10360,9 @@ _0815F482: sub_815F48C: @ 815F48C push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankTarget + ldr r4, =gBattleAnimTarget ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815F4B8 @@ -10384,10 +10384,10 @@ _0815F4B8: strb r0, [r1] ldr r4, =0x0000ffa0 _0815F4C8: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x3 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -10639,7 +10639,7 @@ _0815F67C: strh r1, [r0, 0x8] ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] ldr r1, [r1] lsls r0, 2 @@ -10764,7 +10764,7 @@ sub_815F7C4: @ 815F7C4 strh r0, [r4, 0x30] ldr r0, =gBattleSpritesDataPtr ldr r1, [r0] - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] ldr r1, [r1] lsls r0, 2 @@ -10943,7 +10943,7 @@ _0815F92C: .4byte _0815FD8C _0815F940: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r7, r0, 24 ldr r1, =gTasks @@ -10958,9 +10958,9 @@ _0815F940: ldrh r1, [r6, 0xA] adds r0, r1 strh r0, [r6, 0xA] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 mov r9, r4 cmp r0, 0 @@ -11036,7 +11036,7 @@ _0815F9F4: ldr r3, [r0, 0xC] mov r9, r3 ldrh r6, [r0] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A82E4 lsls r0, 24 @@ -11045,13 +11045,13 @@ _0815F9F4: b _0815FB4E .pool _0815FA28: - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815FAC8 - ldr r7, =gBattlePartyID + ldr r7, =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r7 @@ -11096,7 +11096,7 @@ _0815FA9C: ldrh r6, [r1, 0x2] _0815FA9E: movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, =gSprites lsls r0, 24 lsrs r0, 24 @@ -11115,7 +11115,7 @@ _0815FA9E: b _0815FB50 .pool _0815FAC8: - ldr r7, =gBattlePartyID + ldr r7, =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r7 @@ -11160,7 +11160,7 @@ _0815FB2C: ldrh r6, [r1, 0x2] _0815FB2E: movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, =gSprites lsls r0, 24 lsrs r0, 24 @@ -11177,10 +11177,10 @@ _0815FB2E: _0815FB4E: ldr r5, =0x0000ffe0 _0815FB50: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 lsls r3, r5, 16 @@ -11191,7 +11191,7 @@ _0815FB50: str r4, [sp, 0x8] mov r0, r9 str r0, [sp, 0xC] - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] str r0, [sp, 0x10] movs r0, 0 @@ -11253,9 +11253,9 @@ _0815FBE8: ldrh r2, [r6, 0xA] adds r0, r2 strh r0, [r6, 0xA] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 mov r9, r4 cmp r0, 0 @@ -11307,18 +11307,18 @@ _0815FC56: ldrsh r0, [r6, r1] cmp r0, 0 bne _0815FCD6 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815FCB4 lsls r4, r5, 16 asrs r4, 16 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 cmp r4, r0 @@ -11328,10 +11328,10 @@ _0815FC56: _0815FCB4: lsls r4, r5, 16 asrs r4, 16 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 cmp r4, r0 @@ -11365,7 +11365,7 @@ _0815FCE8: .pool _0815FD08: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r7, r0, 24 ldr r1, =gTasks @@ -11383,9 +11383,9 @@ _0815FD08: ldr r5, =gSprites adds r0, r5 bl sub_80A8610 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 mov r9, r4 cmp r0, 0 @@ -11425,7 +11425,7 @@ _0815FD7E: .pool _0815FD8C: movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r7, r0, 24 ldr r1, =gTasks @@ -11440,11 +11440,11 @@ _0815FD8C: ldrh r3, [r2, 0xA] adds r0, r3 strh r0, [r2, 0xA] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker mov r10, r0 ldrb r0, [r0] str r2, [sp, 0x18] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 mov r9, r4 ldr r2, [sp, 0x18] @@ -11469,7 +11469,7 @@ _0815FD8C: mov r1, r10 ldrb r0, [r1] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r3, r5, 0 @@ -11499,7 +11499,7 @@ _0815FE0C: mov r2, r10 ldrb r0, [r2] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r3, r5, 0 @@ -11563,10 +11563,10 @@ _0815FE92: asrs r1, 24 movs r0, 0x7A bl PlaySE12WithPanning - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x10 @@ -11583,9 +11583,9 @@ _0815FE92: negs r0, r0 ands r0, r1 strb r0, [r2] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -11595,7 +11595,7 @@ _0815FE92: cmp r0, 0 bne _0815FFBC movs r0, 0x1 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId ldr r2, =gSprites lsls r0, 24 lsrs r0, 24 @@ -11652,9 +11652,9 @@ _0815FF6E: ldrh r1, [r4, 0x32] adds r0, r1 strh r0, [r4, 0x32] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815FF9C @@ -11721,17 +11721,17 @@ _0815FFF4: .4byte _081600CC .4byte _08160132 _08160008: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r5, r0, 0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r2, r0, 0 @@ -11755,8 +11755,8 @@ _0816003E: b _08160150 .pool _08160058: - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r2, [r0] @@ -11811,8 +11811,8 @@ _081600B4: strh r1, [r0, 0x26] b _08160150 _081600CC: - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r2, [r0] @@ -11861,8 +11861,8 @@ _0816012A: strh r0, [r2, 0x26] b _08160150 _08160132: - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r2, [r0] @@ -11893,14 +11893,14 @@ sub_8160164: @ 8160164 ldr r0, =gTasks adds r4, r1, r0 movs r0, 0 - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId lsls r0, 24 lsrs r0, 24 movs r5, 0 strh r0, [r4, 0xE] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r2, 0x1 negs r2, r2 @@ -12072,9 +12072,9 @@ _081602DA: sub_81602E0: @ 81602E0 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldrh r0, [r4, 0x2E] ldrh r1, [r4, 0x30] @@ -12115,9 +12115,9 @@ _08160326: sub_8160338: @ 8160338 push {r4,lr} adds r4, r0, 0 - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0816037C @@ -12166,10 +12166,10 @@ _08160396: sub_81603A8: @ 81603A8 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, =gAnimBankAttacker + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] @@ -12396,7 +12396,7 @@ sub_8160544: @ 8160544 strh r0, [r4, 0x8] ldr r0, =gBattleAnimArgs ldrb r0, [r0] - bl GetAnimBankSpriteId + bl GetAnimBattlerSpriteId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 diff --git a/asm/battle_anim_8170478.s b/asm/battle_anim_8170478.s index 8de82c629a..ef7e609d97 100644 --- a/asm/battle_anim_8170478.s +++ b/asm/battle_anim_8170478.s @@ -16,7 +16,7 @@ sub_8170478: @ 8170478 lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x10] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r4, [r0] ldr r0, =gBattle_WIN0H movs r1, 0 @@ -56,7 +56,7 @@ sub_8170478: @ 8170478 movs r1, 0x3 movs r2, 0x1 bl SetAnimBgAttribute - ldr r0, =gHealthBoxesIds + ldr r0, =gHealthboxSpriteIds adds r4, r0 ldrb r0, [r4] ldr r1, =gSprites @@ -212,7 +212,7 @@ sub_8170660: @ 8170660 push {r7} lsls r0, 24 lsrs r7, r0, 24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] mov r8, r0 ldr r1, =gTasks @@ -373,7 +373,7 @@ _0817076C: movs r1, 0x1 movs r2, 0 bl SetAnimBgAttribute - ldr r0, =gHealthBoxesIds + ldr r0, =gHealthboxSpriteIds add r0, r8 ldrb r0, [r0] lsls r1, r0, 4 @@ -434,7 +434,7 @@ sub_8170834: @ 8170834 adds r7, r1, 0 lsls r2, 24 lsrs r2, 24 - ldr r0, =gHealthBoxesIds + ldr r0, =gHealthboxSpriteIds adds r2, r0 ldrb r0, [r2] lsls r5, r0, 4 @@ -540,7 +540,7 @@ sub_8170920: @ 8170920 lsrs r4, 24 mov r1, sp adds r1, 0x1 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r2, [r0] mov r0, sp bl sub_8170834 @@ -561,7 +561,7 @@ sub_817094C: @ 817094C push {r5,r6} lsls r0, 24 lsrs r0, 24 - ldr r1, =gHealthBoxesIds + ldr r1, =gHealthboxSpriteIds adds r0, r1 ldrb r0, [r0] ldr r1, =gSprites @@ -628,7 +628,7 @@ sub_81709EC: @ 81709EC adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_817094C adds r0, r4, 0 @@ -765,8 +765,8 @@ sub_8170B04: @ 8170B04 push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r5, [r0] @@ -851,17 +851,17 @@ sub_8170BB0: @ 8170BB0 sub sp, 0xC lsls r0, 24 lsrs r5, r0, 24 - ldr r1, =gBankSpriteIds - ldr r4, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] adds r1, r0, r1 ldrb r1, [r1] mov r9, r1 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08170BF8 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -872,7 +872,7 @@ sub_8170BB0: @ 8170BB0 b _08170C08 .pool _08170BF8: - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -886,7 +886,7 @@ _08170C08: bl GetMonData lsls r0, 16 lsrs r0, 16 - bl ball_number_to_ball_processing_index + bl ItemIdToBallId lsls r0, 24 lsrs r0, 24 mov r8, r0 @@ -904,16 +904,16 @@ _08170C08: b _08170CEE .pool _08170C44: - ldr r5, =gAnimBankAttacker + ldr r5, =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldrb r0, [r5] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord adds r1, r0, 0 lsls r1, 24 ldr r2, =gSprites @@ -934,7 +934,7 @@ _08170C44: mov r0, r8 str r0, [sp] adds r0, r4, 0 - bl sub_8171D98 + bl LaunchBallStarsTask lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x1C] @@ -950,7 +950,7 @@ _08170C44: ldrb r1, [r5] movs r0, 0 mov r3, r8 - bl sub_81729E8 + bl LaunchBallFadeMonTask lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x1E] @@ -998,10 +998,10 @@ sub_8170CFC: @ 8170CFC lsrs r4, 24 ldr r0, =gLastUsedItem ldrh r0, [r0] - bl ball_number_to_ball_processing_index + bl ItemIdToBallId lsls r0, 24 lsrs r0, 24 - bl sub_8076A78 + bl LoadBallGfx adds r0, r4, 0 bl DestroyAnimVisualTask pop {r4} @@ -1018,10 +1018,10 @@ sub_8170D24: @ 8170D24 lsrs r4, 24 ldr r0, =gLastUsedItem ldrh r0, [r0] - bl ball_number_to_ball_processing_index + bl ItemIdToBallId lsls r0, 24 lsrs r0, 24 - bl sub_8076AE8 + bl FreeBallGfx adds r0, r4, 0 bl DestroyAnimVisualTask pop {r4} @@ -1057,8 +1057,8 @@ _08170D74: .pool thumb_func_end sub_8170D4C - thumb_func_start ball_number_to_ball_processing_index -ball_number_to_ball_processing_index: @ 8170D84 + thumb_func_start ItemIdToBallId +ItemIdToBallId: @ 8170D84 push {lr} lsls r0, 16 lsrs r0, 16 @@ -1123,7 +1123,7 @@ _08170DFC: _08170DFE: pop {r1} bx r1 - thumb_func_end ball_number_to_ball_processing_index + thumb_func_end ItemIdToBallId thumb_func_start sub_8170E04 sub_8170E04: @ 8170E04 @@ -1138,14 +1138,14 @@ sub_8170E04: @ 8170E04 mov r10, r0 ldr r0, =gLastUsedItem ldrh r0, [r0] - bl ball_number_to_ball_processing_index + bl ItemIdToBallId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 lsls r0, r1, 1 adds r0, r1 lsls r0, 3 - ldr r1, =gUnknown_0832C588 + ldr r1, =gBallSpriteTemplates adds r0, r1 movs r1, 0x20 movs r2, 0x50 @@ -1162,18 +1162,18 @@ sub_8170E04: @ 8170E04 adds r6, r4, r1 movs r0, 0x22 strh r0, [r6, 0x2E] - ldr r2, =gAnimBankTarget + ldr r2, =gBattleAnimTarget mov r8, r2 ldrb r0, [r2] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x30] mov r1, r8 ldrb r0, [r1] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 subs r0, 0x10 @@ -1186,7 +1186,7 @@ sub_8170E04: @ 8170E04 ldr r0, =gBattleSpritesDataPtr ldr r0, [r0] ldr r3, [r0, 0x8] - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds mov r2, r8 ldrb r0, [r2] adds r0, r1 @@ -1278,12 +1278,12 @@ _08170F50: _08170F54: ldr r0, =gLastUsedItem ldrh r0, [r0] - bl ball_number_to_ball_processing_index + bl ItemIdToBallId adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 bl sub_80A82E4 @@ -1294,7 +1294,7 @@ _08170F54: lsls r0, r4, 1 adds r0, r4 lsls r0, 3 - ldr r1, =gUnknown_0832C588 + ldr r1, =gBallSpriteTemplates adds r0, r1 adds r1, r6, 0 adds r1, 0x20 @@ -1313,18 +1313,18 @@ _08170F54: adds r6, r4, r0 movs r0, 0x22 strh r0, [r6, 0x2E] - ldr r1, =gAnimBankTarget + ldr r1, =gBattleAnimTarget mov r8, r1 ldrb r0, [r1] movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x30] mov r1, r8 ldrb r0, [r1] movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 subs r0, 0x10 @@ -1335,8 +1335,8 @@ _08170F54: ldr r0, =SpriteCallbackDummy str r0, [r4] movs r0, 0 - bl GetBankByIdentity - ldr r1, =gBankSpriteIds + bl GetBattlerAtPosition + ldr r1, =gBattlerSpriteIds lsls r0, 24 lsrs r0, 24 adds r0, r1 @@ -1371,8 +1371,8 @@ sub_8171030: @ 8171030 lsrs r5, r0, 24 ldr r6, =gSprites movs r0, 0 - bl GetBankByIdentity - ldr r1, =gBankSpriteIds + bl GetBattlerAtPosition + ldr r1, =gBattlerSpriteIds lsls r0, 24 lsrs r0, 24 adds r0, r1 @@ -1422,8 +1422,8 @@ sub_81710A8: @ 81710A8 lsrs r5, r0, 24 ldr r6, =gSprites movs r0, 0 - bl GetBankByIdentity - ldr r4, =gBankSpriteIds + bl GetBattlerAtPosition + ldr r4, =gBattlerSpriteIds lsls r0, 24 lsrs r0, 24 adds r0, r4 @@ -1438,7 +1438,7 @@ sub_81710A8: @ 81710A8 cmp r0, 0 bge _081710F4 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 adds r0, r4 @@ -1487,7 +1487,7 @@ sub_8171134: @ 8171134 push {r4,r5,lr} sub sp, 0x4 adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _081711D2 @@ -1532,7 +1532,7 @@ _08171188: str r0, [r4, 0x1C] ldr r0, =gLastUsedItem ldrh r0, [r0] - bl ball_number_to_ball_processing_index + bl ItemIdToBallId lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0xB @@ -1549,13 +1549,13 @@ _08171188: str r5, [sp] movs r2, 0x1 movs r3, 0x1C - bl sub_8171D98 - ldr r0, =gAnimBankTarget + bl LaunchBallStarsTask + ldr r0, =gBattleAnimTarget ldrb r1, [r0] movs r0, 0 movs r2, 0xE adds r3, r5, 0 - bl sub_81729E8 + bl LaunchBallFadeMonTask _081711D2: add sp, 0x4 pop {r4,r5} @@ -1584,8 +1584,8 @@ sub_81711E8: @ 81711E8 ldr r0, =sub_8171240 str r0, [r4, 0x1C] ldr r2, =gSprites - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankTarget + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -1606,8 +1606,8 @@ _08171224: sub_8171240: @ 8171240 push {r4-r7,lr} adds r7, r0, 0 - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankTarget + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 ldrb r4, [r0] @@ -2333,7 +2333,7 @@ sub_81717F8: @ 81717F8 push {r7} sub sp, 0x4 adds r6, r0, 0 - ldr r7, =gAnimBankTarget + ldr r7, =gBattleAnimTarget ldrh r0, [r6, 0x36] adds r0, 0x1 movs r1, 0 @@ -2390,7 +2390,7 @@ _08171880: cmp r1, r0 bne _081718BC ldr r5, =gSprites - ldr r4, =gBankSpriteIds + ldr r4, =gBattlerSpriteIds ldrb r0, [r7] adds r0, r4 ldrb r1, [r0] @@ -2671,7 +2671,7 @@ sub_8171AAC: @ 8171AAC orrs r0, r1 strb r0, [r3] adds r0, r4, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _08171ADC @@ -2697,7 +2697,7 @@ sub_8171AE4: @ 8171AE4 str r0, [r4, 0x1C] ldr r0, =gLastUsedItem ldrh r0, [r0] - bl ball_number_to_ball_processing_index + bl ItemIdToBallId lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0xB @@ -2714,17 +2714,17 @@ sub_8171AE4: @ 8171AE4 str r5, [sp] movs r2, 0x1 movs r3, 0x1C - bl sub_8171D98 - ldr r0, =gAnimBankTarget + bl LaunchBallStarsTask + ldr r0, =gBattleAnimTarget ldrb r1, [r0] movs r0, 0x1 movs r2, 0xE adds r3, r5, 0 - bl sub_81729E8 + bl LaunchBallFadeMonTask _08171B36: ldr r6, =gSprites - ldr r5, =gBankSpriteIds - ldr r4, =gAnimBankTarget + ldr r5, =gBattlerSpriteIds + ldr r4, =gBattleAnimTarget ldrb r0, [r4] adds r0, r5 ldrb r1, [r0] @@ -2791,8 +2791,8 @@ sub_8171BAC: @ 8171BAC strb r0, [r2] _08171BCA: ldr r4, =gSprites - ldr r3, =gBankSpriteIds - ldr r2, =gAnimBankTarget + ldr r3, =gBattlerSpriteIds + ldr r2, =gBattleAnimTarget ldrb r0, [r2] adds r0, r3 ldrb r1, [r0] @@ -2840,8 +2840,8 @@ _08171C24: cmp r5, 0 beq _08171C8A ldr r4, =gSprites - ldr r3, =gBankSpriteIds - ldr r2, =gAnimBankTarget + ldr r3, =gBattlerSpriteIds + ldr r2, =gBattleAnimTarget ldrb r0, [r2] adds r0, r3 ldrb r1, [r0] @@ -3007,8 +3007,8 @@ _08171D86: .pool thumb_func_end sub_8171D60 - thumb_func_start sub_8171D98 -sub_8171D98: @ 8171D98 + thumb_func_start LaunchBallStarsTask +LaunchBallStarsTask: @ 8171D98 push {r4-r6,lr} mov r6, r10 mov r5, r9 @@ -3070,7 +3070,7 @@ sub_8171D98: @ 8171D98 pop {r1} bx r1 .pool - thumb_func_end sub_8171D98 + thumb_func_end LaunchBallStarsTask thumb_func_start sub_8171E20 sub_8171E20: @ 8171E20 @@ -4476,8 +4476,8 @@ _081729E2: bx r0 thumb_func_end sub_8172944 - thumb_func_start sub_81729E8 -sub_81729E8: @ 81729E8 + thumb_func_start LaunchBallFadeMonTask +LaunchBallFadeMonTask: @ 81729E8 push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -4563,7 +4563,7 @@ _08172A7E: pop {r1} bx r1 .pool - thumb_func_end sub_81729E8 + thumb_func_end LaunchBallFadeMonTask thumb_func_start sub_8172AB0 sub_8172AB0: @ 8172AB0 @@ -4729,8 +4729,8 @@ sub_8172BF0: @ 8172BF0 lsrs r7, r0, 24 movs r0, 0 mov r8, r0 - ldr r0, =gBankSpriteIds - ldr r3, =gAnimBankAttacker + ldr r0, =gBattlerSpriteIds + ldr r3, =gBattleAnimAttacker ldrb r2, [r3] adds r0, r2, r0 ldrb r6, [r0] @@ -4764,7 +4764,7 @@ _08172C36: adds r0, r4 strh r0, [r5, 0x8] ldrb r0, [r3] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08172C78 @@ -4825,7 +4825,7 @@ _08172CC8: ldrb r1, [r5, 0x1E] adds r0, r2, 0 adds r2, r6, 0 - bl refresh_graphics_maybe + bl LoadBattleMonGfxAndAnimate ldrh r0, [r5, 0x1C] adds r0, 0x1 strh r0, [r5, 0x1C] @@ -4838,7 +4838,7 @@ _08172CDA: adds r0, r2 strh r0, [r5, 0x8] ldrb r0, [r3] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08172D10 @@ -4877,9 +4877,9 @@ _08172D28: adds r0, r1 ldrb r1, [r0, 0x8] strh r1, [r0, 0x8] - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 @@ -4949,7 +4949,7 @@ _08172DC0: beq _08172E4E b _08172E84 _08172DC6: - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] bl sub_80A8364 lsls r0, 24 @@ -5009,8 +5009,8 @@ _08172E14: strh r0, [r4, 0x26] b _08172E84 _08172E4E: - ldr r1, =gBankSpriteIds - ldr r4, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r4, =gBattleAnimAttacker ldrb r0, [r4] adds r0, r1 ldrb r1, [r0] @@ -5030,7 +5030,7 @@ _08172E4E: movs r3, 0x1 bl RequestDma3Fill ldrb r0, [r4] - bl sub_805E974 + bl ClearBehindSubstituteBit adds r0, r5, 0 bl DestroyAnimVisualTask _08172E84: @@ -5048,7 +5048,7 @@ sub_8172E9C: @ 8172E9C ldr r3, =gBattleAnimArgs ldr r1, =gBattleSpritesDataPtr ldr r2, [r1] - ldr r1, =gAnimBankAttacker + ldr r1, =gBattleAnimAttacker ldrb r1, [r1] ldr r2, [r2] lsls r1, 2 @@ -5068,8 +5068,8 @@ sub_8172ED0: @ 8172ED0 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, =gAnimBankTarget - ldr r1, =gEffectBank + ldr r2, =gBattleAnimTarget + ldr r1, =gEffectBattler ldrb r1, [r1] strb r1, [r2] bl DestroyAnimVisualTask @@ -5108,7 +5108,7 @@ sub_8172EF0: @ 8172EF0 bl GetMonData adds r4, r0, 0 adds r0, r6, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08172FC8 @@ -5234,12 +5234,12 @@ _0817303A: ldrb r0, [r4, 0x8] mov r8, r0 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r5, r0, 24 mov r0, r8 movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r2, r0, 24 movs r1, 0x1E @@ -5347,7 +5347,7 @@ _08173118: cmp r0, 0 bne _08173160 mov r0, r8 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r1, 0x3F cmp r0, 0 @@ -5575,11 +5575,11 @@ sub_817330C: @ 817330C movs r0, 0x1E strh r0, [r4, 0x2E] movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 ldr r5, =gBattleAnimArgs lsrs r0, 24 @@ -5587,11 +5587,11 @@ sub_817330C: @ 817330C adds r0, r1 strh r0, [r4, 0x32] movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5, 0x6] @@ -5602,8 +5602,8 @@ sub_817330C: @ 817330C adds r0, r4, 0 bl sub_80A68D4 ldr r2, =gSprites - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -5627,8 +5627,8 @@ sub_817339C: @ 817339C push {lr} adds r3, r0, 0 ldr r2, =gSprites - ldr r1, =gBankSpriteIds - ldr r0, =gAnimBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -5652,7 +5652,7 @@ _081733C0: sub_81733D4: @ 81733D4 push {r4,lr} adds r4, r0, 0 - bl sub_80A6900 + bl AnimateBallThrow lsls r0, 24 cmp r0, 0 beq _081733F6 @@ -5678,8 +5678,8 @@ sub_8173400: @ 8173400 push {r4,r5,lr} adds r4, r0, 0 ldr r5, =gSprites - ldr r3, =gBankSpriteIds - ldr r2, =gAnimBankAttacker + ldr r3, =gBattlerSpriteIds + ldr r2, =gBattleAnimAttacker ldrb r0, [r2] adds r0, r3 ldrb r1, [r0] @@ -5732,21 +5732,21 @@ sub_817345C: @ 817345C .pool _08173478: movs r0, 0 - bl GetBankByIdentity - ldr r1, =gAnimBankAttacker + bl GetBattlerAtPosition + ldr r1, =gBattleAnimAttacker strb r0, [r1] movs r0, 0x1 b _08173498 .pool _0817348C: movs r0, 0x1 - bl GetBankByIdentity - ldr r1, =gAnimBankAttacker + bl GetBattlerAtPosition + ldr r1, =gBattleAnimAttacker strb r0, [r1] movs r0, 0 _08173498: - bl GetBankByIdentity - ldr r1, =gAnimBankTarget + bl GetBattlerAtPosition + ldr r1, =gBattleAnimTarget strb r0, [r1] _081734A0: adds r0, r4, 0 @@ -5812,13 +5812,13 @@ sub_817351C: @ 817351C push {lr} lsls r0, 24 lsrs r0, 24 - ldr r3, =gAnimBankAttacker + ldr r3, =gBattleAnimAttacker ldr r1, =gBattleSpritesDataPtr ldr r2, [r1] ldr r1, [r2, 0x8] ldrh r1, [r1] strb r1, [r3] - ldr r3, =gAnimBankTarget + ldr r3, =gBattleAnimTarget ldr r1, [r2, 0x8] ldrh r1, [r1] lsrs r1, 8 diff --git a/asm/battle_anim_sound_tasks.s b/asm/battle_anim_sound_tasks.s index 4bfd7ae682..def934faba 100644 --- a/asm/battle_anim_sound_tasks.s +++ b/asm/battle_anim_sound_tasks.s @@ -150,8 +150,8 @@ _08158C4C: .pool thumb_func_end sub_8158C04 - thumb_func_start mas_80DCF38 -mas_80DCF38: @ 8158C58 + thumb_func_start sub_8158C58 +sub_8158C58: @ 8158C58 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -230,7 +230,7 @@ mas_80DCF38: @ 8158C58 pop {r0} bx r0 .pool - thumb_func_end mas_80DCF38 + thumb_func_end sub_8158C58 thumb_func_start sub_8158D08 sub_8158D08: @ 8158D08 @@ -336,25 +336,25 @@ _08158DD0: adds r2, r0, 0 cmp r1, 0 bne _08158DEC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r4, [r0] b _08158E12 .pool _08158DEC: cmp r1, 0x1 bne _08158DFC - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r4, [r0] b _08158E12 .pool _08158DFC: cmp r1, 0x2 bne _08158E08 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08158E0A .pool _08158E08: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08158E0A: ldrb r1, [r0] movs r0, 0x2 @@ -369,7 +369,7 @@ _08158E12: bne _08158E38 _08158E1E: adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 bne _08158E38 @@ -379,11 +379,11 @@ _08158E1E: .pool _08158E38: adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08158E5C - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] @@ -393,7 +393,7 @@ _08158E38: b _08158E6A .pool _08158E5C: - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] @@ -461,25 +461,25 @@ _08158EE0: adds r2, r0, 0 cmp r1, 0 bne _08158EFC - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r4, [r0] b _08158F22 .pool _08158EFC: cmp r1, 0x1 bne _08158F0C - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget ldrb r4, [r0] b _08158F22 .pool _08158F0C: cmp r1, 0x2 bne _08158F18 - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker b _08158F1A .pool _08158F18: - ldr r0, =gAnimBankTarget + ldr r0, =gBattleAnimTarget _08158F1A: ldrb r1, [r0] movs r0, 0x2 @@ -494,7 +494,7 @@ _08158F22: bne _08158F48 _08158F2E: adds r0, r4, 0 - bl IsAnimBankSpriteVisible + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 bne _08158F48 @@ -504,11 +504,11 @@ _08158F2E: .pool _08158F48: adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08158F6C - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] @@ -518,7 +518,7 @@ _08158F48: b _08158F7A .pool _08158F6C: - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r1, [r0] @@ -705,7 +705,7 @@ sub_81590B8: @ 81590B8 .pool _081590F8: ldr r1, =gAnimSpeciesByBanks - ldr r0, =gAnimBankAttacker + ldr r0, =gBattleAnimAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s old mode 100755 new mode 100644 index 978dd30fac..38e0e4b0a7 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -136,7 +136,7 @@ _0818EAC8: .4byte _0818ECD0 .4byte _0818ECF4 _0818EAF0: - ldr r3, =gScriptResult + ldr r3, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] lsls r1, r5, 1 @@ -150,7 +150,7 @@ _0818EAF0: b _0818ED10 .pool _0818EB14: - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r2, [r0] ldr r3, =0x00000cdc @@ -170,7 +170,7 @@ _0818EB14: b _0818ED10 .pool _0818EB48: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000d08 @@ -180,7 +180,7 @@ _0818EB48: b _0818ECBE .pool _0818EB64: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r3, =0x00000d08 @@ -190,7 +190,7 @@ _0818EB64: b _0818ECBE .pool _0818EB80: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000d08 @@ -198,7 +198,7 @@ _0818EB80: b _0818ECBA .pool _0818EB98: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r3, =0x00000d08 @@ -216,7 +216,7 @@ _0818EBB4: bne _0818EC04 cmp r5, 0 beq _0818EBE8 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000d08 @@ -226,7 +226,7 @@ _0818EBB4: b _0818ECBE .pool _0818EBE8: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r3, =0x00000d08 @@ -238,7 +238,7 @@ _0818EBE8: _0818EC04: cmp r5, 0 beq _0818EC24 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000d08 @@ -248,7 +248,7 @@ _0818EC04: b _0818ECBE .pool _0818EC24: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r3, =0x00000d08 @@ -266,7 +266,7 @@ _0818EC40: bne _0818EC90 cmp r5, 0 beq _0818EC74 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000d08 @@ -277,7 +277,7 @@ _0818EC40: b _0818ED10 .pool _0818EC74: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r3, =0x00000d08 @@ -289,7 +289,7 @@ _0818EC74: _0818EC90: cmp r5, 0 beq _0818ECB0 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000d08 @@ -299,7 +299,7 @@ _0818EC90: b _0818ECBE .pool _0818ECB0: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r3, =0x00000d08 @@ -328,7 +328,7 @@ _0818ECD0: b _0818ED10 .pool _0818ECF4: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r1, [r0] ldr r3, =0x00000d0a @@ -7096,7 +7096,7 @@ _081926B0: movs r1, 0x1 str r1, [sp, 0x8] ldr r1, =sub_8190938 - bl sub_80D2CC4 + bl CreateMonIcon ldr r1, [r6] adds r1, r4 strb r0, [r1] @@ -7171,7 +7171,7 @@ _0819270A: ldr r4, [sp, 0x24] cmp r4, r0 bne _08192784 - ldr r0, =gTrainerClassToNameIndex + ldr r0, =gFacilityClassToTrainerClass adds r0, 0x3C ldrb r5, [r0] b _081927A2 @@ -7383,12 +7383,12 @@ _08192932: ldr r1, [sp, 0x24] cmp r1, r0 bne _08192980 - ldr r0, =gUnknown_0860D1D0 + ldr r0, =gBattleDomePotentialPointers ldr r0, [r0, 0x40] b _0819298A .pool _08192980: - ldr r0, =gUnknown_0860D1D0 + ldr r0, =gBattleDomePotentialPointers ldr r2, [sp, 0x20] lsls r1, r2, 2 adds r1, r0 @@ -7503,7 +7503,7 @@ _08192A58: cmp r7, 0x2 ble _081929AE movs r7, 0 - ldr r2, =gUnknown_0860D214 + ldr r2, =gBattleDomeOpponentStylePointers mov r9, r2 ldr r3, =gUnknown_0860C988 mov r10, r3 @@ -8071,7 +8071,7 @@ _08192ED0: movs r7, 0x2A _08192ED2: lsls r0, r7, 2 - ldr r3, =gUnknown_0860D294 + ldr r3, =gBattleDomeOpponentStatsPointers adds r0, r3 ldr r0, [r0] str r0, [sp, 0xC] @@ -8779,7 +8779,7 @@ _081934B0: mov r1, r10 str r1, [sp, 0x8] ldr r1, =sub_8190938 - bl sub_80D2CC4 + bl CreateMonIcon ldr r1, [r6] adds r1, r4 strb r0, [r1] @@ -8927,7 +8927,7 @@ _081935FA: movs r1, 0x1 str r1, [sp, 0x8] ldr r1, =sub_8190938 - bl sub_80D2CC4 + bl CreateMonIcon ldr r1, [r6] adds r1, r4 strb r0, [r1] @@ -9029,7 +9029,7 @@ _081936A0: movs r0, 0xD0 strb r0, [r1, 0xD] ldr r4, =gStringVar4 - ldr r0, =gUnknown_0860D38C + ldr r0, =gBattleDomeWinStringsPointers ldr r7, [sp, 0x70] adds r0, r7, r0 ldr r1, [r0] @@ -9167,7 +9167,7 @@ _08193802: bl AddTextPrinter add r0, sp, 0xC strb r6, [r0, 0xA] - ldr r0, =gUnknown_0860D350 + ldr r0, =gBattleDomeMatchNumberPointers ldr r1, [sp, 0x58] adds r0, r1, r0 ldr r0, [r0] @@ -9449,7 +9449,7 @@ _08193AA8: b _08193BC2 _08193ABA: bl FreeAllWindowBuffers - bl remove_some_task + bl ScanlineEffect_Stop ldr r4, =gUnknown_0203CD7C ldr r0, [r4] bl Free @@ -9494,7 +9494,7 @@ _08193B20: cmp r6, 0 bne _08193BC2 bl FreeAllWindowBuffers - bl remove_some_task + bl ScanlineEffect_Stop ldr r4, =gUnknown_0203CD7C ldr r0, [r4] bl Free @@ -9534,7 +9534,7 @@ _08193B84: cmp r6, 0 bne _08193BC2 bl FreeAllWindowBuffers - bl remove_some_task + bl ScanlineEffect_Stop ldr r4, =gUnknown_0203CD7C ldr r0, [r4] bl Free @@ -11000,8 +11000,8 @@ _0819486C: movs r1, 0 strh r1, [r0, 0x8] _08194878: - bl dp12_8087EA4 - ldr r0, =gUnknown_02038C28 + bl ScanlineEffect_Clear + ldr r0, =gScanlineEffectRegBuffers ldr r2, =0x00001f0a movs r4, 0xF0 lsls r4, 3 @@ -11017,7 +11017,7 @@ _08194888: bge _08194888 movs r5, 0x5B ldr r3, =gUnknown_0860CF44 - ldr r0, =gUnknown_02038C28 + ldr r0, =gScanlineEffectRegBuffers ldr r2, =0x00001f09 ldr r4, =0x00000836 adds r1, r0, r4 @@ -11033,7 +11033,7 @@ _081948A4: ldr r0, [r3] ldr r1, [r3, 0x4] ldr r2, [r3, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams mov r0, r8 bl DestroyTask _081948C2: @@ -11513,7 +11513,7 @@ sub_8194CE4: @ 8194CE4 bl LoadOam bl ProcessSpriteCopyRequests bl TransferPlttBuffer - bl sub_80BA0A8 + bl ScanlineEffect_InitHBlankDmaTransfer pop {r0} bx r0 .pool @@ -11707,12 +11707,12 @@ sub_8194EC0: @ 8194EC0 bl sub_8195358 cmp r4, r0 ble _08194EE8 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 b _08194EEC .pool _08194EE8: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x2 _08194EEC: strh r0, [r1] @@ -12991,7 +12991,7 @@ sub_8195938: @ 8195938 push {r4,lr} adds r3, r0, 0 movs r2, 0 - ldr r4, =gTrainers + TRAINER_TUCKER * 0x28 + 0x4 @ Tucker's name + ldr r4, =(gTrainers + 806 * 0x28 + 0x4) @ TRAINER_TUCKER name _08195940: adds r0, r3, r2 adds r1, r2, r4 @@ -13130,7 +13130,7 @@ _08195A74: beq _08195AB0 b _08195AD0 _08195A7A: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldr r1, [r5] ldr r2, =0x00000dc6 adds r1, r2 @@ -13139,7 +13139,7 @@ _08195A7A: b _08195AD0 .pool _08195A90: - ldr r3, =gScriptResult + ldr r3, =gSpecialVar_Result ldr r0, [r5] lsls r1, r7, 1 lsls r2, r6, 2 @@ -13152,7 +13152,7 @@ _08195A90: b _08195AD0 .pool _08195AB0: - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result ldr r2, [r5] ldr r0, =0x00000cdc adds r2, r0 @@ -13285,7 +13285,7 @@ sub_8195BB0: @ 8195BB0 ldrh r0, [r2] cmp r0, 0x31 bhi _08195C00 - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result bl Random lsls r0, 16 lsrs r0, 16 @@ -13297,12 +13297,12 @@ sub_8195BB0: @ 8195BB0 _08195C00: cmp r0, 0x62 bhi _08195C10 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x3 b _08195C14 .pool _08195C10: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x4 _08195C14: strh r0, [r1] @@ -13517,12 +13517,12 @@ sub_8195DB8: @ 8195DB8 adds r0, r1 movs r1, 0 strh r1, [r0] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r5, [r0] b _08195E06 .pool _08195E00: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] _08195E06: @@ -13641,7 +13641,7 @@ sub_8195ED8: @ 8195ED8 push {r4,lr} ldr r4, =gMapHeader ldrb r0, [r4, 0x17] - bl is_light_level_1_2_3_or_6 + bl Overworld_MapTypeAllowsTeleportAndFly lsls r0, 24 cmp r0, 0 beq _08195F30 @@ -13791,7 +13791,7 @@ sub_8195FF8: @ 8195FF8 push {r4-r6,lr} adds r5, r0, 0 movs r4, 0 - ldr r6, =gUnknown_085500A4 + ldr r6, =gRematchTable _08196000: movs r1, 0xAE lsls r1, 1 @@ -13887,7 +13887,7 @@ task_prev_quest: @ 81960A8 cmp r0, 0 bne _081960C2 bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects bl sub_808B864 bl sub_808BCF4 _081960C2: @@ -14097,7 +14097,7 @@ sub_8196274: @ 8196274 _08196298: movs r1, 0x4 ldrsh r0, [r4, r1] - ldr r1, =gUnknown_0860EF70 + ldr r1, =gText_PokenavCallEllipsis bl sub_81965D8 movs r0, 0x1 _081962A4: @@ -14531,7 +14531,7 @@ sub_81965D8: @ 81965D8 negs r0, r0 ands r0, r1 strb r0, [r2] - bl sav2_get_text_speed + bl GetPlayerTextSpeed adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -14659,7 +14659,7 @@ sub_8196710: @ 8196710 thumb_func_start sub_819672C sub_819672C: @ 819672C push {lr} - ldr r1, =gUnknown_085500A4 + ldr r1, =gRematchTable lsls r0, 4 adds r0, r1 ldrh r2, [r0, 0xA] @@ -14677,10 +14677,10 @@ sub_8196748: @ 8196748 push {r4-r6,lr} movs r5, 0 movs r6, 0 - ldr r4, =gUnknown_085500A4 + ldr r4, =gRematchTable _08196750: ldrh r0, [r4] - bl HasTrainerAlreadyBeenFought + bl HasTrainerBeenFought lsls r0, 24 cmp r0, 0 beq _0819675E @@ -14703,10 +14703,10 @@ sub_8196774: @ 8196774 adds r7, r0, 0 movs r4, 0 movs r6, 0 - ldr r5, =gUnknown_085500A4 + ldr r5, =gRematchTable _0819677E: ldrh r0, [r5] - bl HasTrainerAlreadyBeenFought + bl HasTrainerBeenFought lsls r0, 24 cmp r0, 0 beq _0819679A @@ -14766,7 +14766,7 @@ _081967EC: adds r4, r0, 0 movs r7, 0x1 adds r0, r5, 0 - bl sub_80B1E94 + bl UpdateRematchIfDefeated b _08196832 _0819680A: bl Random @@ -15270,7 +15270,7 @@ sub_8196B98: @ 8196B98 adds r7, r0, 0 cmp r1, 0xFF beq _08196C5C - ldr r1, =gUnknown_085500A4 + ldr r1, =gRematchTable lsls r0, r2, 4 adds r2, r0, r1 ldrh r4, [r2, 0xA] @@ -15373,7 +15373,7 @@ sub_8196C70: @ 8196C70 lsls r1, 2 adds r1, r2 ldrh r0, [r1] - bl sub_80B2250 + bl GetLastBeatenRematchTrainerId lsls r0, 16 lsrs r0, 16 ldr r5, =gTrainers @@ -16009,6 +16009,44 @@ _0819715C: pop {r0} bx r0 .pool + thumb_func_end sub_8197080 + thumb_func_start sub_8197184 +sub_8197184: @ 8197184 + push {r4,r5,lr} + adds r4, r1, 0 + adds r5, r2, 0 + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + bl GetWindowAttribute + lsls r0, 24 + lsrs r0, 24 + ldr r1, =gUnknown_0860EA6C + movs r2, 0x80 + lsls r2, 1 + lsls r4, 16 + lsrs r4, 16 + adds r3, r4, 0 + bl LoadBgTiles + ldr r0, =gUnknown_0860EA4C + lsls r5, 20 + lsrs r5, 16 + adds r1, r5, 0 + movs r2, 0x20 + bl LoadPalette + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8197184 + + thumb_func_start sub_81971C4 +sub_81971C4: @ 81971C4 + push {lr} + bl sub_819645C + pop {r0} + bx r0 + thumb_func_end sub_81971C4 .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s old mode 100755 new mode 100644 index ac92b3c2a8..67f44a0b6f --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -5,6 +5,70 @@ .text + thumb_func_start sub_819A44C +sub_819A44C: @ 819A44C + push {r4,r5,lr} + adds r5, r0, 0 + ldrb r4, [r5, 0x5] + lsrs r4, 4 + movs r0, 0x65 + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsls r4, 16 + lsrs r4, 16 + lsrs r0, 24 + cmp r4, r0 + bne _0819A4BA + adds r0, r5, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _0819A4B0 + ldrh r1, [r5, 0x2E] + movs r2, 0x2E + ldrsh r0, [r5, r2] + cmp r0, 0 + beq _0819A484 + subs r0, r1, 0x1 + strh r0, [r5, 0x2E] + b _0819A4C2 +_0819A484: + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x5 + bl __umodsi3 + lsls r0, 16 + cmp r0, 0 + bne _0819A4A6 + adds r0, r5, 0 + movs r1, 0 + bl StartSpriteAnim + movs r0, 0x20 + strh r0, [r5, 0x2E] + b _0819A4C2 +_0819A4A6: + adds r0, r5, 0 + movs r1, 0x1 + bl StartSpriteAnim + b _0819A4C2 +_0819A4B0: + adds r0, r5, 0 + movs r1, 0x1 + bl StartSpriteAnimIfDifferent + b _0819A4C2 +_0819A4BA: + adds r0, r5, 0 + movs r1, 0 + bl StartSpriteAnimIfDifferent +_0819A4C2: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_819A44C + thumb_func_start sub_819A4C8 sub_819A4C8: @ 819A4C8 push {lr} @@ -189,7 +253,7 @@ _0819A69C: bl ResetSpriteData bl ResetTasks bl FreeAllSpritePalettes - ldr r0, =gUnknown_08DC0754 + ldr r0, =gFrontierFactorySelectMenu_Gfx ldr r5, =gUnknown_0203CE2C ldr r1, [r5] movs r2, 0x88 @@ -211,7 +275,7 @@ _0819A69C: movs r2, 0x60 movs r3, 0 bl LoadBgTiles - ldr r0, =gUnknown_08DC0B94 + ldr r0, =gFrontierFactorySelectMenu_Tilemap ldr r4, =gUnknown_0203CE34 ldr r1, [r4] movs r2, 0x80 @@ -223,7 +287,7 @@ _0819A69C: movs r0, 0x1 movs r3, 0 bl LoadBgTilemap - ldr r0, =gUnknown_08DC0714 + ldr r0, =gFrontierFactorySelectMenu_Pal movs r1, 0 movs r2, 0x40 bl LoadPalette @@ -2801,7 +2865,7 @@ sub_819BCF8: @ 819BCF8 lsls r0, 16 lsrs r0, 16 add r1, sp, 0xC - bl sub_81DB468 + bl CopyMonCategoryText movs r0, 0x1 add r1, sp, 0xC movs r2, 0x76 @@ -4361,14 +4425,14 @@ _0819CA4E: ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] b _0819CAFE .pool _0819CA68: movs r0, 0x2 strh r0, [r4, 0x8] - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] b _0819CAFE @@ -6646,7 +6710,7 @@ _0819DDA8: bl ResetTasks bl FreeAllSpritePalettes bl dp13_810BB8C - ldr r0, =gUnknown_08DC0754 + ldr r0, =gFrontierFactorySelectMenu_Gfx ldr r5, =gUnknown_0203CE40 ldr r1, [r5] movs r2, 0x88 @@ -6668,7 +6732,7 @@ _0819DDA8: movs r2, 0x60 movs r3, 0 bl LoadBgTiles - ldr r0, =gUnknown_08DC0B94 + ldr r0, =gFrontierFactorySelectMenu_Tilemap ldr r4, =gUnknown_0203CE48 ldr r1, [r4] movs r2, 0x80 @@ -6680,7 +6744,7 @@ _0819DDA8: movs r0, 0x1 movs r3, 0 bl LoadBgTilemap - ldr r0, =gUnknown_08DC0714 + ldr r0, =gFrontierFactorySelectMenu_Pal movs r1, 0 movs r2, 0x40 bl LoadPalette @@ -8831,7 +8895,7 @@ _0819EFF2: lsls r0, 16 lsrs r0, 16 add r1, sp, 0xC - bl sub_81DB468 + bl CopyMonCategoryText movs r0, 0x1 add r1, sp, 0xC movs r2, 0x76 @@ -11329,7 +11393,7 @@ _081A03E6: bls _081A03E6 movs r5, 0 ldr r7, =gSaveBlock2Ptr - ldr r6, =gUnknown_086109A4 + ldr r6, =gUnknown_08610970+0x34 _081A0416: ldr r0, [r7] mov r12, r0 @@ -11490,7 +11554,7 @@ _081A0540: mov r12, r1 adds r5, r3, 0 adds r5, 0xB0 - ldr r0, =gUnknown_086109A4 + ldr r0, =gUnknown_08610970+0x34 mov r8, r0 _081A0560: adds r0, r3, 0 @@ -11730,13 +11794,13 @@ _081A0734: bne _081A0778 movs r0, 0x5 bl PlaySE - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x7F strh r0, [r1] b _081A0768 .pool _081A0764: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] _081A0768: ldrb r0, [r4, 0xC] @@ -11982,12 +12046,12 @@ sub_81A093C: @ 81A093C lsrs r1, r0, 24 cmp r1, 0 bne _081A0954 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] b _081A095A .pool _081A0954: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _081A095A: @@ -12046,7 +12110,7 @@ sub_81A0990: @ 81A0990 thumb_func_start sub_81A09B4 sub_81A09B4: @ 81A09B4 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] adds r0, 0xB1 @@ -12070,13 +12134,13 @@ sub_81A09D0: @ 81A09D0 subs r1, r0, 0x3 cmp r1, 0 bge _081A09F4 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] b _081A0A1C .pool _081A09F4: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result cmp r1, 0x8 ble _081A09FE movs r0, 0x1 @@ -12380,12 +12444,12 @@ _081A0C8E: sub_81A0C9C: @ 81A0C9C push {lr} bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects bl sub_808B864 bl sub_808BCF4 movs r0, 0 movs r1, 0x1 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame bl sub_81A0A70 pop {r0} bx r0 @@ -12403,7 +12467,7 @@ sub_81A0CC0: @ 81A0CC0 lsrs r0, r1, 28 cmp r0, 0x2 bhi _081A0CE4 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x2 b _081A0D34 .pool @@ -12431,22 +12495,22 @@ _081A0D08: beq _081A0D24 b _081A0D30 _081A0D0E: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x4 b _081A0D34 .pool _081A0D18: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x3 b _081A0D34 .pool _081A0D24: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 b _081A0D34 .pool _081A0D30: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x5 _081A0D34: strh r0, [r1] @@ -13078,7 +13142,7 @@ _081A1242: lsls r0, 30 ldr r1, =gSpecialVar_0x8005 mov r12, r1 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result mov r8, r1 cmp r0, 0 beq _081A127C @@ -13855,7 +13919,7 @@ _081A186C: .4byte _081A1918 .4byte _081A1938 _081A188C: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000ca8 @@ -13865,7 +13929,7 @@ _081A188C: b _081A1956 .pool _081A18A8: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000ca9 @@ -13877,7 +13941,7 @@ _081A18A8: b _081A1956 .pool _081A18C8: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000cb2 @@ -13887,7 +13951,7 @@ _081A18C8: b _081A1956 .pool _081A18E4: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000ca9 @@ -13897,7 +13961,7 @@ _081A18E4: b _081A1926 .pool _081A1900: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r1, =gBattleOutcome ldrb r0, [r1] strh r0, [r2] @@ -13906,7 +13970,7 @@ _081A1900: b _081A1956 .pool _081A1918: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000ca9 @@ -13919,7 +13983,7 @@ _081A1926: b _081A1956 .pool _081A1938: - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r2, [r0] movs r0, 0xD0 @@ -14280,7 +14344,7 @@ sub_81A1C4C: @ 81A1C4C adds r3, r0, 0 lsls r0, r5, 3 adds r5, r0, 0x1 - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId ldrb r0, [r0] lsls r3, 24 lsrs r3, 24 @@ -14306,7 +14370,7 @@ sub_81A1C90: @ 81A1C90 push {r4,lr} sub sp, 0x34 adds r2, r0, 0 - ldr r3, =gUnknown_0203AB74 + ldr r3, =gResultsWindowId movs r1, 0xAE mov r0, sp adds r0, 0x2F @@ -14361,7 +14425,7 @@ sub_81A1CD8: @ 81A1CD8 lsls r0, 24 lsrs r0, 24 adds r7, r0, 0 - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r10, r0 ldrb r0, [r0] str r7, [sp] @@ -14580,13 +14644,13 @@ sub_81A1EA8: @ 81A1EA8 sub sp, 0xC lsls r0, 24 lsrs r7, r0, 24 - ldr r4, =gUnknown_0203AB74 + ldr r4, =gResultsWindowId ldr r0, =gUnknown_08611C74 bl AddWindow strb r0, [r4] ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] movs r1, 0x11 bl FillWindowPixelBuffer @@ -14621,7 +14685,7 @@ _081A1F28: ldr r0, =gStringVar4 movs r1, 0x2 bl sub_81A1C4C - ldr r6, =gUnknown_0203AB74 + ldr r6, =gResultsWindowId ldrb r0, [r6] ldr r2, =gText_Lv502 movs r1, 0x31 @@ -14734,7 +14798,7 @@ sub_81A2008: @ 81A2008 lsrs r6, 24 lsls r5, 24 lsrs r5, 24 - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r10, r0 ldrb r0, [r0] str r5, [sp] @@ -14868,13 +14932,13 @@ sub_81A2134: @ 81A2134 sub sp, 0xC lsls r0, 24 lsrs r7, r0, 24 - ldr r4, =gUnknown_0203AB74 + ldr r4, =gResultsWindowId ldr r0, =gUnknown_08611C74 bl AddWindow strb r0, [r4] ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] movs r1, 0x11 bl FillWindowPixelBuffer @@ -14893,7 +14957,7 @@ _081A2184: ldr r0, =gStringVar4 movs r1, 0 bl sub_81A1C4C - ldr r1, =gUnknown_0203AB74 + ldr r1, =gResultsWindowId ldrb r0, [r1] ldr r2, =gText_Lv502 movs r6, 0x21 @@ -14905,7 +14969,7 @@ _081A2184: movs r1, 0x1 movs r3, 0x8 bl PrintTextOnWindow - ldr r1, =gUnknown_0203AB74 + ldr r1, =gResultsWindowId ldrb r0, [r1] ldr r2, =gText_OpenLv movs r1, 0x61 @@ -14988,10 +15052,10 @@ _081A2184: mov r1, r8 movs r3, 0x40 bl sub_81A2008 - ldr r1, =gUnknown_0203AB74 + ldr r1, =gResultsWindowId ldrb r0, [r1] bl PutWindowTilemap - ldr r1, =gUnknown_0203AB74 + ldr r1, =gResultsWindowId ldrb r0, [r1] movs r1, 0x3 bl CopyWindowToVram @@ -15027,7 +15091,7 @@ sub_81A22B8: @ 81A22B8 lsls r0, 24 lsrs r0, 24 adds r7, r0, 0 - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r10, r0 ldrb r0, [r0] str r7, [sp] @@ -15221,13 +15285,13 @@ sub_81A2460: @ 81A2460 sub sp, 0xC lsls r0, 24 lsrs r7, r0, 24 - ldr r4, =gUnknown_0203AB74 + ldr r4, =gResultsWindowId ldr r0, =gUnknown_08611C74 bl AddWindow strb r0, [r4] ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] movs r1, 0x11 bl FillWindowPixelBuffer @@ -15246,7 +15310,7 @@ _081A24B0: ldr r0, =gStringVar4 movs r1, 0x2 bl sub_81A1C4C - ldr r6, =gUnknown_0203AB74 + ldr r6, =gResultsWindowId ldrb r0, [r6] ldr r2, =gText_Lv502 movs r1, 0x31 @@ -15356,7 +15420,7 @@ sub_81A258C: @ 81A258C lsrs r6, 24 lsls r5, 24 lsrs r5, 24 - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r10, r0 ldrb r0, [r0] str r5, [sp] @@ -15469,13 +15533,13 @@ sub_81A2698: @ 81A2698 mov r5, r8 push {r5-r7} sub sp, 0xC - ldr r6, =gUnknown_0203AB74 + ldr r6, =gResultsWindowId ldr r0, =gUnknown_08611C74 bl AddWindow strb r0, [r6] ldrb r0, [r6] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r6] movs r1, 0x11 bl FillWindowPixelBuffer @@ -15608,7 +15672,7 @@ sub_81A27E8: @ 81A27E8 lsls r0, 24 lsrs r0, 24 adds r7, r0, 0 - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r10, r0 ldrb r0, [r0] str r7, [sp] @@ -15772,13 +15836,13 @@ _081A2956: sub_81A2968: @ 81A2968 push {r4-r6,lr} sub sp, 0xC - ldr r5, =gUnknown_0203AB74 + ldr r5, =gResultsWindowId ldr r0, =gUnknown_08611C74 bl AddWindow strb r0, [r5] ldrb r0, [r5] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r5] movs r1, 0x11 bl FillWindowPixelBuffer @@ -15871,7 +15935,7 @@ sub_81A2A28: @ 81A2A28 lsls r0, 24 lsrs r0, 24 adds r6, r0, 0 - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r10, r0 ldrb r0, [r0] str r6, [sp] @@ -16147,13 +16211,13 @@ sub_81A2C94: @ 81A2C94 sub sp, 0xC lsls r0, 24 lsrs r7, r0, 24 - ldr r4, =gUnknown_0203AB74 + ldr r4, =gResultsWindowId ldr r0, =gUnknown_08611C74 bl AddWindow strb r0, [r4] ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] movs r1, 0x11 bl FillWindowPixelBuffer @@ -16172,7 +16236,7 @@ _081A2CE0: ldr r0, =gStringVar4 movs r1, 0 bl sub_81A1C4C - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r8, r0 ldrb r0, [r0] ldr r2, =gText_Lv502 @@ -16276,7 +16340,7 @@ sub_81A2DB4: @ 81A2DB4 lsls r0, 24 lsrs r0, 24 adds r7, r0, 0 - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r10, r0 ldrb r0, [r0] str r7, [sp] @@ -16442,13 +16506,13 @@ _081A2F26: sub_81A2F38: @ 81A2F38 push {r4-r6,lr} sub sp, 0xC - ldr r5, =gUnknown_0203AB74 + ldr r5, =gResultsWindowId ldr r0, =gUnknown_08611C74 bl AddWindow strb r0, [r5] ldrb r0, [r5] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r5] movs r1, 0x11 bl FillWindowPixelBuffer @@ -16520,13 +16584,13 @@ sub_81A2FF8: @ 81A2FF8 mov r6, r8 push {r6,r7} sub sp, 0xC - ldr r4, =gUnknown_0203AB74 + ldr r4, =gResultsWindowId ldr r0, =gUnknown_08611C7C bl AddWindow strb r0, [r4] ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] movs r1, 0x11 bl FillWindowPixelBuffer @@ -16686,7 +16750,7 @@ _081A315C: movs r2, 0x1 movs r3, 0x4 bl ConvertIntToDecimalStringN - ldr r6, =gUnknown_0203AB74 + ldr r6, =gResultsWindowId ldrb r0, [r6] movs r1, 0x26 adds r3, r5, 0 @@ -17183,7 +17247,7 @@ sub_81A35EC: @ 81A35EC push {r4,lr} ldr r0, =0x000040cf bl VarGet - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result bl sub_81A3610 lsls r0, 24 lsrs r0, 24 @@ -17495,7 +17559,7 @@ _081A38A8: lsrs r3, r0, 24 movs r0, 0x58 muls r0, r3 - ldr r1, =gUnknown_086109BA + ldr r1, =gUnknown_08610970+0x4A _081A38C4: adds r0, r1 bl ConvertBattleFrontierTrainerSpeechToString @@ -17516,7 +17580,7 @@ _081A38D4: lsrs r3, r0, 27 movs r0, 0x58 muls r0, r3 - ldr r1, =gUnknown_086109BA + ldr r1, =gUnknown_08610970+0x4A adds r0, r1 bl ConvertBattleFrontierTrainerSpeechToString _081A38F8: @@ -17755,12 +17819,12 @@ sub_81A3B00: @ 81A3B00 ldr r0, =0x000003fe cmp r1, r0 bne _081A3B20 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 b _081A3B24 .pool _081A3B20: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 _081A3B24: strh r0, [r1] @@ -17988,7 +18052,7 @@ sub_81A3D30: @ 81A3D30 push {r4,lr} ldr r0, =0x000040cf bl VarGet - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result lsls r0, 24 lsrs r0, 24 bl sub_81A3B30 @@ -18044,13 +18108,13 @@ sub_81A3DA0: @ 81A3DA0 ands r2, r1 cmp r2, 0 beq _081A3DC4 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] b _081A3DC8 .pool _081A3DC4: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r2, [r0] _081A3DC8: pop {r0} @@ -18390,7 +18454,7 @@ _081A404E: bne _081A40C8 cmp r7, 0 bne _081A40E4 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrb r3, [r0] str r6, [sp] add r1, sp, 0x10 @@ -18406,7 +18470,7 @@ _081A404E: b _081A40E4 .pool _081A40C8: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrb r3, [r0] str r6, [sp] add r1, sp, 0x10 @@ -18529,7 +18593,7 @@ _081A41E0: strh r0, [r1] ldr r0, =gSaveBlock2Ptr ldr r2, [r0] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrb r0, [r0] ldr r1, =0x00000ca9 adds r2, r1 @@ -18556,7 +18620,7 @@ _081A4202: thumb_func_start sub_81A4224 sub_81A4224: @ 81A4224 push {lr} - bl sub_81652B4 + bl ValidateEReaderTrainer pop {r0} bx r0 thumb_func_end sub_81A4224 @@ -18767,7 +18831,7 @@ _081A43EE: thumb_func_start sub_81A4410 sub_81A4410: @ 81A4410 push {r4,lr} - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result bl MoveRecordedBattleToSaveData strh r0, [r4] ldr r0, =gSaveBlock2Ptr @@ -18962,7 +19026,7 @@ sub_81A4594: @ 81A4594 sub sp, 0x2C mov r8, r1 adds r6, r3, 0 - ldr r1, =gUnknown_0203AB74 + ldr r1, =gResultsWindowId ldrb r5, [r1] lsls r4, r0, 1 adds r4, r0 @@ -18998,7 +19062,7 @@ sub_81A4594: @ 81A4594 ldrb r2, [r6, 0xE] add r0, sp, 0xC bl TVShowConvertInternationalString - ldr r1, =gUnknown_0203AB74 + ldr r1, =gResultsWindowId ldrb r0, [r1] mov r3, r8 adds r3, 0x2 @@ -19038,7 +19102,7 @@ _081A4618: adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 - ldr r1, =gUnknown_0203AB74 + ldr r1, =gResultsWindowId ldrb r0, [r1] str r7, [sp] mov r1, r10 @@ -19072,7 +19136,7 @@ sub_81A4684: @ 81A4684 adds r7, r1, 0 mov r10, r2 adds r5, r3, 0 - ldr r1, =gUnknown_0203AB74 + ldr r1, =gResultsWindowId ldrb r0, [r1] lsls r2, r6, 1 adds r2, r6 @@ -19112,7 +19176,7 @@ sub_81A4684: @ 81A4684 ldrb r2, [r5, 0x1A] add r0, sp, 0xC bl TVShowConvertInternationalString - ldr r1, =gUnknown_0203AB74 + ldr r1, =gResultsWindowId ldrb r0, [r1] adds r3, r7, 0x2 lsls r3, 27 @@ -19147,7 +19211,7 @@ _081A4734: adds r1, r4, 0 bl StringCopy _081A473C: - ldr r2, =gUnknown_0203AB74 + ldr r2, =gResultsWindowId mov r9, r2 ldrb r0, [r2] adds r3, r7, 0x4 @@ -19468,7 +19532,7 @@ sub_81A4998: @ 81A4998 ldr r1, [r5] adds r0, r6, 0 bl StringExpandPlaceholders - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r8, r0 ldrb r0, [r0] movs r1, 0x1 @@ -19567,13 +19631,13 @@ _081A4A90: thumb_func_start sub_81A4AA0 sub_81A4AA0: @ 81A4AA0 push {r4,lr} - ldr r4, =gUnknown_0203AB74 + ldr r4, =gResultsWindowId ldr r0, =gUnknown_08611C84 bl AddWindow strb r0, [r4] ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] movs r1, 0x11 bl FillWindowPixelBuffer @@ -19595,7 +19659,7 @@ sub_81A4AA0: @ 81A4AA0 thumb_func_start sub_81A4AE8 sub_81A4AE8: @ 81A4AE8 push {r4,lr} - ldr r4, =gUnknown_0203AB74 + ldr r4, =gResultsWindowId ldrb r0, [r4] movs r1, 0x11 bl FillWindowPixelBuffer @@ -20736,7 +20800,7 @@ _081A54D4: bl HandleBattleWindow movs r0, 0 bl CopyBgTilemapBufferToVram - ldr r0, =gMPlay_BGM + ldr r0, =gMPlayInfo_BGM ldr r1, =0x0000ffff movs r2, 0x80 lsls r2, 1 @@ -21034,7 +21098,7 @@ sub_81A5718: @ 81A5718 b _081A57D8 .pool _081A576C: - ldr r0, =gBattleMoveFlags + ldr r0, =gMoveResultFlags ldrb r1, [r0] movs r0, 0x29 ands r0, r1 @@ -21309,7 +21373,7 @@ _081A5994: beq _081A59C8 b _081A59EE _081A599A: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldr r2, =0x00000dd8 adds r1, r3, r2 ldrh r1, [r1] @@ -21317,7 +21381,7 @@ _081A599A: b _081A59EE .pool _081A59B0: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result lsls r1, 1 ldr r4, =0x00000dda adds r0, r3, r4 @@ -21328,7 +21392,7 @@ _081A59B0: _081A59C8: cmp r1, 0 beq _081A59E0 - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r1, =0x00000cdc adds r0, r3, r1 ldr r0, [r0] @@ -21336,7 +21400,7 @@ _081A59C8: b _081A59EA .pool _081A59E0: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r4, =0x00000cdc adds r0, r3, r4 ldr r0, [r0] @@ -21550,12 +21614,12 @@ sub_81A5B88: @ 81A5B88 adds r0, r1 movs r1, 0 strh r1, [r0] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r5, [r0] b _081A5BD6 .pool _081A5BD0: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] _081A5BD6: @@ -22026,7 +22090,7 @@ _081A5FE4: beq _081A6030 b _081A6044 _081A5FEA: - ldr r3, =gScriptResult + ldr r3, =gSpecialVar_Result ldr r0, [r7] lsls r1, r6, 1 lsls r2, r5, 2 @@ -22035,7 +22099,7 @@ _081A5FEA: b _081A603C .pool _081A6000: - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result ldr r2, [r7] ldr r0, =0x00000cdc adds r2, r0 @@ -22054,7 +22118,7 @@ _081A6000: b _081A6044 .pool _081A6030: - ldr r3, =gScriptResult + ldr r3, =gSpecialVar_Result ldr r0, [r7] lsls r1, r6, 1 lsls r2, r5, 2 @@ -23248,7 +23312,7 @@ sub_81A6A08: @ 81A6A08 str r0, [r1] movs r4, 0 add r5, sp, 0x14 - ldr r7, =gScriptResult + ldr r7, =gSpecialVar_Result movs r1, 0 _081A6A1E: mov r2, sp @@ -23407,7 +23471,7 @@ _081A6B18: lsrs r4, r0, 24 cmp r4, 0x2 bls _081A6B0E - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] movs r4, 0x1 @@ -24180,7 +24244,7 @@ _081A7174: .4byte _081A71E8 .4byte _081A720C _081A7188: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldr r1, [r3] ldr r3, =0x00000e02 adds r1, r3 @@ -24189,7 +24253,7 @@ _081A7188: b _081A723A .pool _081A71A0: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r1, [r3] ldr r3, =0x00000ca9 adds r0, r1, r3 @@ -24203,7 +24267,7 @@ _081A71A0: b _081A7238 .pool _081A71C4: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r1, [r3] ldr r3, =0x00000ca9 adds r0, r1, r3 @@ -24217,7 +24281,7 @@ _081A71C4: b _081A7238 .pool _081A71E8: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r1, [r3] ldr r3, =0x00000ca9 adds r0, r1, r3 @@ -24233,7 +24297,7 @@ _081A71E8: _081A720C: cmp r2, 0 beq _081A7228 - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r0, [r3] ldr r1, =0x00000cdc adds r0, r1 @@ -24243,7 +24307,7 @@ _081A720C: b _081A7236 .pool _081A7228: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r0, [r3] ldr r3, =0x00000cdc adds r0, r3 @@ -24424,12 +24488,12 @@ sub_81A73B8: @ 81A73B8 ldrh r0, [r0] cmp r0, 0xE bls _081A73DC - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 b _081A73E0 .pool _081A73DC: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 _081A73E0: strh r0, [r1] @@ -24440,7 +24504,7 @@ _081A73E0: thumb_func_start sub_81A73EC sub_81A73EC: @ 81A73EC - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldr r1, =gUnknown_0300128C ldrb r1, [r1] strh r1, [r0] @@ -24528,27 +24592,27 @@ _081A7484: beq _081A74A4 b _081A74C2 _081A748E: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 b _081A74C0 .pool _081A7498: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 b _081A74C0 .pool _081A74A4: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x2 b _081A74C0 .pool _081A74B0: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x3 b _081A74C0 .pool _081A74BC: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x4 _081A74C0: strh r0, [r1] @@ -24560,7 +24624,7 @@ _081A74C2: thumb_func_start sub_81A74CC sub_81A74CC: @ 81A74CC - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldr r1, =gUnknown_0300128D ldrb r1, [r1] strh r1, [r0] @@ -24580,7 +24644,7 @@ sub_81A74E0: @ 81A74E0 adds r4, 0x1 adds r0, r4, 0 bl sub_81A7F38 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r4, [r0] pop {r4} pop {r0} @@ -25426,8 +25490,8 @@ sub_81A7B84: @ 81A7B84 .pool thumb_func_end sub_81A7B84 - thumb_func_start sub_81A7B90 -sub_81A7B90: @ 81A7B90 + thumb_func_start TryGenerateBattlePikeWildMon +TryGenerateBattlePikeWildMon: @ 81A7B90 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -25437,7 +25501,7 @@ sub_81A7B90: @ 81A7B90 lsls r0, 24 lsrs r0, 24 mov r8, r0 - bl sub_81A7D00 + bl GetBattlePikeWildMonHeaderId lsls r0, 24 lsrs r6, r0, 24 ldr r7, =gSaveBlock2Ptr @@ -25596,10 +25660,10 @@ _081A7CE2: pop {r1} bx r1 .pool - thumb_func_end sub_81A7B90 + thumb_func_end TryGenerateBattlePikeWildMon - thumb_func_start sub_81A7D00 -sub_81A7D00: @ 81A7D00 + thumb_func_start GetBattlePikeWildMonHeaderId +GetBattlePikeWildMonHeaderId: @ 81A7D00 push {lr} ldr r0, =gSaveBlock2Ptr ldr r1, [r0] @@ -25638,7 +25702,7 @@ _081A7D4C: adds r0, r1, 0 pop {r1} bx r1 - thumb_func_end sub_81A7D00 + thumb_func_end GetBattlePikeWildMonHeaderId thumb_func_start sub_81A7D54 sub_81A7D54: @ 81A7D54 @@ -26066,7 +26130,7 @@ _081A807A: thumb_func_start sub_81A8090 sub_81A8090: @ 81A8090 push {r4,lr} - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result bl InBattlePike lsls r0, 24 lsrs r0, 24 @@ -26110,7 +26174,7 @@ sub_81A80DC: @ 81A80DC push {r4-r7,lr} mov r7, r8 push {r7} - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result movs r0, 0 strh r0, [r4] movs r0, 0x1 @@ -26295,7 +26359,7 @@ _081A824C: thumb_func_start sub_81A825C sub_81A825C: @ 81A825C - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] movs r2, 0xE1 @@ -26311,7 +26375,7 @@ sub_81A825C: @ 81A825C thumb_func_start sub_81A827C sub_81A827C: @ 81A827C - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r1, =gUnknown_0861266C ldr r0, =gSaveBlock2Ptr ldr r0, [r0] @@ -26754,7 +26818,7 @@ _081A8634: thumb_func_start sub_81A863C sub_81A863C: @ 81A863C push {r4,lr} - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result movs r0, 0 bl sub_81A8590 lsls r0, 24 @@ -26787,7 +26851,7 @@ sub_81A8658: @ 81A8658 ldrb r4, [r0] adds r0, r4, 0 bl sub_81A7F38 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r4, [r0] pop {r4} pop {r0} @@ -26821,7 +26885,7 @@ sub_81A86C0: @ 81A86C0 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] movs r0, 0 @@ -26895,7 +26959,7 @@ _081A8766: mov r0, r9 cmp r0, 0x1 bne _081A8778 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] b _081A8786 @@ -27919,13 +27983,13 @@ _081A8F70: .4byte _081A9010 .4byte _081A9028 _081A8F8C: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldr r1, [r3] ldr r3, =0x00000e18 b _081A8FFE .pool _081A8F9C: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r0, [r3] lsls r1, r4, 1 ldr r3, =0x00000e1a @@ -27937,14 +28001,14 @@ _081A8F9C: _081A8FB4: cmp r4, 0 beq _081A8FCC - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r0, [r3] ldr r1, =0x00000cdc adds r0, r1 b _081A9030 .pool _081A8FCC: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r0, [r3] ldr r3, =0x00000cdc adds r0, r3 @@ -27954,14 +28018,14 @@ _081A8FCC: b _081A9036 .pool _081A8FE4: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldr r1, [r3] ldr r2, =0x00000e1a adds r1, r2 b _081A9000 .pool _081A8FF8: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldr r1, [r3] ldr r3, =0x00000e1c _081A8FFE: @@ -27972,7 +28036,7 @@ _081A9000: b _081A903A .pool _081A9010: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r0, [r3] ldr r1, =0x00000cdc adds r0, r1 @@ -27982,7 +28046,7 @@ _081A9010: b _081A9036 .pool _081A9028: - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r0, [r3] ldr r3, =0x00000cdc adds r0, r3 @@ -28211,12 +28275,12 @@ sub_81A91FC: @ 81A91FC adds r0, r1 movs r1, 0 strh r1, [r0] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r5, [r0] b _081A924A .pool _081A9244: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] _081A924A: @@ -28296,7 +28360,7 @@ CalculateBattlePyramidItemBallItemId: @ 81A9290 _081A92DE: bl sub_81AA9E4 lsls r0, 24 - ldr r1, =gScriptLastTalked + ldr r1, =gSpecialVar_LastTalked ldrh r4, [r1] ldr r1, =gUnknown_08613650 lsrs r0, 20 @@ -28401,7 +28465,7 @@ sub_81A93C8: @ 81A93C8 lsls r1, 4 adds r3, r0, r1 movs r2, 0 - ldr r4, =gScriptLastTalked + ldr r4, =gSpecialVar_LastTalked b _081A93F4 .pool _081A93E4: @@ -28712,7 +28776,7 @@ _081A9650: thumb_func_start sub_81A966C sub_81A966C: @ 81A966C push {r4,lr} - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result bl InBattlePyramid lsls r0, 24 lsrs r0, 24 @@ -28745,7 +28809,7 @@ _081A9698: b _081A9754 .pool _081A96B4: - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result ldrh r0, [r4] cmp r0, 0x1 beq _081A9710 @@ -28775,7 +28839,7 @@ _081A96F4: ldrh r0, [r0] bl PlaySE _081A96FC: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldrh r0, [r1] adds r0, 0x1 strh r0, [r1] @@ -29290,7 +29354,7 @@ sub_81A9B04: @ 81A9B04 cmp r0, 0 beq _081A9B2E movs r0, 0x1 - bl sub_80B47E0 + bl GetChosenApproachingTrainerMapObjectId ldr r1, =gSelectedMapObject strb r0, [r1] ldr r0, =gTrainerBattleOpponent_B @@ -29352,7 +29416,7 @@ _081A9B86: strb r3, [r0, 0x6] mov r7, r10 ldr r2, [r7] - ldr r0, =gScriptLastTalked + ldr r0, =gSpecialVar_LastTalked ldrh r1, [r0] subs r1, 0x1 lsls r0, r1, 1 @@ -29386,8 +29450,8 @@ _081A9B86: .pool thumb_func_end sub_81A9B44 - thumb_func_start sub_81A9C04 -sub_81A9C04: @ 81A9C04 + thumb_func_start GenerateBattlePyramidWildMon +GenerateBattlePyramidWildMon: @ 81A9C04 push {r4-r6,lr} sub sp, 0x14 ldr r0, =gSaveBlock2Ptr @@ -29627,7 +29691,7 @@ _081A9E0C: pop {r0} bx r0 .pool - thumb_func_end sub_81A9C04 + thumb_func_end GenerateBattlePyramidWildMon thumb_func_start sub_81A9E28 sub_81A9E28: @ 81A9E28 @@ -29783,7 +29847,7 @@ GetTrainerEncounterMusicIdInBattlePyramind: @ 81A9F3C lsls r0, 16 lsrs r0, 16 movs r4, 0 - ldr r3, =gTrainerClassToNameIndex + ldr r3, =gFacilityClassToTrainerClass ldr r1, =gUnknown_0203BC88 ldr r2, [r1] movs r1, 0x34 @@ -29815,7 +29879,7 @@ _081A9F7A: thumb_func_start sub_81A9F80 sub_81A9F80: @ 81A9F80 push {lr} - ldr r0, =gUnknown_08252C88 + ldr r0, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88 bl ScriptContext1_SetupScript pop {r0} bx r0 @@ -29962,7 +30026,7 @@ _081AA0A6: ldr r2, =0x00000169 adds r0, r2 lsls r0, 2 - ldr r1, =gUnknown_08481DD4 + ldr r1, =gMapAttributes adds r0, r1 ldr r6, [r0] ldr r2, [r6, 0xC] @@ -30241,8 +30305,8 @@ sub_81AA2F8: @ 81AA2F8 push {r4,r5,lr} ldr r0, =gSaveBlock1Ptr ldr r0, [r0] - ldr r5, =gUnknown_08252C4F - ldr r4, =gUnknown_08252C6A + ldr r5, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F + ldr r4, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A movs r2, 0xC8 lsls r2, 4 adds r1, r0, r2 @@ -31102,7 +31166,7 @@ sub_81AA96C: @ 81AA96C lsls r0, 24 lsrs r5, r0, 24 movs r3, 0 - ldr r2, =gUnknown_08613655 + ldr r2, =gUnknown_08613650+0x5 mov r12, r2 movs r7, 0x7 _081AA994: diff --git a/asm/battle_link_817C95C.s b/asm/battle_link_817C95C.s index fedb50c459..55d0bae39f 100644 --- a/asm/battle_link_817C95C.s +++ b/asm/battle_link_817C95C.s @@ -34,32 +34,32 @@ _0817C988: movs r1, 0x81 lsls r1, 2 adds r7, r0, r1 - ldr r5, =gBankAttacker + ldr r5, =gBattlerAttacker ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gBankTarget + ldr r0, =gBattlerTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r6, r0, 24 - ldr r0, =gEffectBank + ldr r0, =gEffectBattler ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 mov r9, r0 ldr r0, =gStringInfo ldr r0, [r0] ldrb r0, [r0, 0x7] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x4] cmp r4, 0 bne _0817CA00 - ldr r2, =gBattlePartyID + ldr r2, =gBattlerPartyIndexes ldrb r0, [r5] lsls r0, 1 adds r0, r2 @@ -70,7 +70,7 @@ _0817C988: b _0817CA10 .pool _0817CA00: - ldr r2, =gBattlePartyID + ldr r2, =gBattlerPartyIndexes ldrb r0, [r5] lsls r0, 1 adds r0, r2 @@ -83,7 +83,7 @@ _0817CA10: str r1, [sp, 0x8] cmp r6, 0 bne _0817CA3C - ldr r0, =gBankTarget + ldr r0, =gBattlerTarget ldrb r0, [r0] lsls r0, 1 adds r0, r2 @@ -94,7 +94,7 @@ _0817CA10: b _0817CA4C .pool _0817CA3C: - ldr r0, =gBankTarget + ldr r0, =gBattlerTarget ldrb r0, [r0] lsls r0, 1 adds r0, r2 @@ -105,12 +105,12 @@ _0817CA3C: _0817CA4C: adds r1, r0 str r1, [sp, 0xC] - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] ldr r1, =gStringInfo ldr r1, [r1] ldrh r1, [r1] - bl GetBankMoveSlotId + bl GetBattlerMoveSlotId lsls r0, 24 lsrs r0, 24 mov r10, r0 @@ -134,20 +134,20 @@ _0817CA4C: bl _0817E0A2 .pool _0817CA9C: - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 25 mov r8, r0 - ldr r0, =gBankTarget + ldr r0, =gBattlerTarget ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r5, r0, 25 - ldr r0, =gEffectBank + ldr r0, =gEffectBattler ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r3, r0, 25 ldr r1, [sp] @@ -571,8 +571,8 @@ _0817D0DC: adds r3, r4 lsls r3, 2 adds r3, r7, r3 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -601,8 +601,8 @@ _0817D124: adds r2, r4 lsls r2, 2 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -634,8 +634,8 @@ _0817D16C: adds r0, r4 lsls r0, 2 adds r5, r7, r0 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -715,8 +715,8 @@ _0817D216: adds r2, r4 lsls r2, 2 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -775,8 +775,8 @@ _0817D296: adds r2, r4 lsls r2, 2 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -833,8 +833,8 @@ _0817D314: lsls r0, r4, 4 adds r3, r0 adds r3, r7, r3 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -940,8 +940,8 @@ _0817D3F2: bne _0817D3FE bl _0817E0A6 _0817D3FE: - ldr r0, =gBankAttacker - ldr r1, =gBankTarget + ldr r0, =gBattlerAttacker + ldr r1, =gBattlerTarget ldrb r0, [r0] ldrb r1, [r1] cmp r0, r1 @@ -1014,8 +1014,8 @@ _0817D498: lsls r0, r6, 4 adds r2, r0 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -1091,8 +1091,8 @@ _0817D53C: lsls r0, r6, 4 adds r2, r0 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -1161,8 +1161,8 @@ _0817D5CE: lsls r0, r6, 4 adds r2, r0 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -1226,8 +1226,8 @@ _0817D65E: lsls r0, r6, 4 adds r2, r0 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -1301,8 +1301,8 @@ _0817D6F2: strb r0, [r1] bl _0817E0A6 _0817D704: - ldr r5, =gBattlePartyID - ldr r6, =gEffectBank + ldr r5, =gBattlerPartyIndexes + ldr r6, =gEffectBattler ldrb r0, [r6] lsls r0, 1 adds r0, r5 @@ -1314,7 +1314,7 @@ _0817D704: lsls r4, 3 adds r2, r4 adds r2, r7, r2 - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r5 @@ -1353,8 +1353,8 @@ _0817D76C: bne _0817D77E bl _0817E0A6 _0817D77E: - ldr r6, =gBattlePartyID - ldr r5, =gBankAttacker + ldr r6, =gBattlerPartyIndexes + ldr r5, =gBattlerAttacker ldrb r0, [r5] lsls r0, 1 adds r0, r6 @@ -1395,8 +1395,8 @@ _0817D7B2: b _0817D934 .pool _0817D7D8: - ldr r5, =gBattlePartyID - ldr r6, =gEffectBank + ldr r5, =gBattlerPartyIndexes + ldr r6, =gEffectBattler ldrb r0, [r6] lsls r0, 1 adds r0, r5 @@ -1408,7 +1408,7 @@ _0817D7D8: lsls r4, 3 adds r2, r4 adds r2, r7, r2 - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r5 @@ -1439,8 +1439,8 @@ _0817D7D8: b _0817D88C .pool _0817D838: - ldr r5, =gBattlePartyID - ldr r6, =gEffectBank + ldr r5, =gBattlerPartyIndexes + ldr r6, =gEffectBattler ldrb r0, [r6] lsls r0, 1 adds r0, r5 @@ -1452,7 +1452,7 @@ _0817D838: lsls r4, 3 adds r2, r4 adds r2, r7, r2 - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r5 @@ -1496,9 +1496,9 @@ _0817D8A4: bne _0817D8B6 bl _0817E0A6 _0817D8B6: - ldr r2, =gBattlePartyID + ldr r2, =gBattlerPartyIndexes mov r8, r2 - ldr r6, =gBankAttacker + ldr r6, =gBattlerAttacker ldrb r0, [r6] lsls r0, 1 add r0, r8 @@ -1573,8 +1573,8 @@ _0817D94C: lsls r0, r6, 4 adds r2, r0 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -1627,8 +1627,8 @@ _0817D9AE: movs r0, 0x9 b _0817E086 _0817D9C2: - ldr r5, =gBattlePartyID - ldr r6, =gEffectBank + ldr r5, =gBattlerPartyIndexes + ldr r6, =gEffectBattler ldrb r0, [r6] lsls r0, 1 adds r0, r5 @@ -1640,7 +1640,7 @@ _0817D9C2: lsls r4, 3 adds r2, r4 adds r2, r7, r2 - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r5 @@ -1671,8 +1671,8 @@ _0817D9C2: b _0817DB76 .pool _0817DA24: - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -1702,8 +1702,8 @@ _0817DA48: b _0817E0A6 .pool _0817DA68: - ldr r5, =gBattlePartyID - ldr r6, =gEffectBank + ldr r5, =gBattlerPartyIndexes + ldr r6, =gEffectBattler ldrb r0, [r6] lsls r0, 1 adds r0, r5 @@ -1715,7 +1715,7 @@ _0817DA68: lsls r4, 3 adds r2, r4 adds r2, r7, r2 - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r5 @@ -1747,8 +1747,8 @@ _0817DA68: b _0817DB76 .pool _0817DACC: - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -1790,8 +1790,8 @@ _0817DB10: b _0817E0A6 .pool _0817DB24: - ldr r5, =gBattlePartyID - ldr r6, =gEffectBank + ldr r5, =gBattlerPartyIndexes + ldr r6, =gEffectBattler ldrb r0, [r6] lsls r0, 1 adds r0, r5 @@ -1803,7 +1803,7 @@ _0817DB24: lsls r4, 3 adds r3, r4 adds r3, r7, r3 - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r5 @@ -1838,8 +1838,8 @@ _0817DB76: b _0817E0A6 .pool _0817DB90: - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -1875,8 +1875,8 @@ _0817DBD4: lsls r0, r1, 4 adds r3, r0 adds r3, r7, r3 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -1943,8 +1943,8 @@ _0817DC62: adds r2, r6 lsls r2, 2 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -2021,8 +2021,8 @@ _0817DCFC: lsls r0, r4, 4 adds r2, r0 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -2049,8 +2049,8 @@ _0817DD38: lsls r0, r4, 4 adds r2, r0 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -2121,8 +2121,8 @@ _0817DDC8: adds r2, r4 lsls r2, 2 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -2154,8 +2154,8 @@ _0817DE10: adds r2, r4 lsls r2, 2 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -2253,8 +2253,8 @@ _0817DEDC: adds r2, r4 lsls r2, 2 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -2331,8 +2331,8 @@ _0817DF70: adds r2, r4 lsls r2, 2 adds r2, r7, r2 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -2413,8 +2413,8 @@ _0817DFE6: negs r0, r0 ands r0, r2 strb r0, [r1] - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -2557,22 +2557,22 @@ _0817E122: lsls r1, 2 adds r1, r0, r1 str r1, [sp, 0x8] - ldr r2, =gBankAttacker + ldr r2, =gBattlerAttacker mov r10, r2 ldrb r0, [r2] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 mov r9, r0 - ldr r0, =gBankTarget + ldr r0, =gBattlerTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r4, r0, 24 mov r1, r10 ldrb r0, [r1] adds r1, r7, 0 - bl GetBankMoveSlotId + bl GetBattlerMoveSlotId lsls r0, 24 lsrs r6, r0, 24 cmp r6, 0x3 @@ -2593,7 +2593,7 @@ _0817E122: _0817E184: mov r2, r10 ldrb r0, [r2] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 25 lsls r0, 3 @@ -2604,7 +2604,7 @@ _0817E184: mov r2, r10 ldrb r1, [r2] lsls r1, 1 - ldr r2, =gBattlePartyID + ldr r2, =gBattlerPartyIndexes adds r1, r2 ldrh r2, [r1] adds r2, 0x1 @@ -2617,7 +2617,7 @@ _0817E184: strb r1, [r0] mov r1, r10 ldrb r0, [r1] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 25 lsls r0, 3 @@ -2685,7 +2685,7 @@ _0817E23C: mov r1, r10 ldrb r0, [r1] lsls r0, 1 - ldr r2, =gBattlePartyID + ldr r2, =gBattlerPartyIndexes adds r0, r2 ldrh r1, [r0] adds r1, 0x1 @@ -2723,7 +2723,7 @@ _0817E27A: mov r1, r10 ldrb r0, [r1] lsls r0, 1 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes adds r0, r1 ldrh r1, [r0] adds r1, 0x1 @@ -2812,9 +2812,9 @@ sub_817E32C: @ 817E32C movs r1, 0x81 lsls r1, 2 adds r4, r0, r1 - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r2, r0, 24 cmp r5, 0x12 @@ -3244,14 +3244,14 @@ sub_817E684: @ 817E684 movs r2, 0x81 lsls r2, 2 adds r7, r0, r2 - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gBankTarget + ldr r0, =gBattlerTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r3, r0, 24 mov r0, r10 @@ -3297,8 +3297,8 @@ _0817E6F0: .4byte _0817E760 .4byte _0817E760 _0817E760: - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -3324,13 +3324,13 @@ _0817E760: _0817E79C: ldr r1, =gUnknown_0860A834 add r1, r12 - ldr r7, =gBattlePartyID + ldr r7, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r4 lsls r2, r0, 4 ldr r4, =0x0000ffff ldr r1, [r1] - ldr r3, =gBankAttacker + ldr r3, =gBattlerAttacker ldrh r0, [r1] cmp r6, r0 bne _0817E7E0 @@ -3708,15 +3708,15 @@ sub_817EA80: @ 817EA80 movs r1, 0x81 lsls r1, 2 adds r5, r0, r1 - ldr r3, =gBankAttacker + ldr r3, =gBattlerAttacker mov r8, r3 ldrb r0, [r3] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gBankTarget + ldr r0, =gBattlerTarget ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r2, r0, 24 lsls r0, r4, 1 @@ -4005,8 +4005,8 @@ _0817ECCC: ldrb r0, [r0] lsrs r0, 5 subs r6, r0, 0x1 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -4164,8 +4164,8 @@ _0817EE1C: cmp r7, 0x1 bne _0817EEBC adds r2, r4, 0 - ldr r1, =gBattlePartyID - ldr r0, =gBankAttacker + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -4227,7 +4227,7 @@ _0817EE8E: b _0817EEBC _0817EE96: adds r2, r4, 0 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes mov r3, r8 ldrb r0, [r3] lsls r0, 1 @@ -4269,9 +4269,9 @@ sub_817EECC: @ 817EECC beq _0817EEE6 b _0817F1FA _0817EEE6: - ldr r4, =gBankAttacker + ldr r4, =gBattlerAttacker ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -4291,7 +4291,7 @@ _0817EEF8: bgt _0817EF10 b _0817F1FA _0817EF10: - ldr r0, =gBankTarget + ldr r0, =gBattlerTarget ldrb r0, [r0] muls r0, r1 adds r0, r5 @@ -4367,7 +4367,7 @@ _0817EF8A: beq _0817EF98 b _0817F1FA _0817EF98: - ldr r2, =gBankAttacker + ldr r2, =gBattlerAttacker ldrb r0, [r2] adds r0, r6 ldrb r0, [r0] @@ -4386,11 +4386,11 @@ _0817EF98: mov r10, r3 mov r8, r0 add r7, sp, 0x10 - ldr r4, =gBankTarget + ldr r4, =gBattlerTarget mov r9, r4 _0817EFC2: lsls r1, r5, 1 - ldr r6, =gBankAttacker + ldr r6, =gBattlerAttacker ldrb r0, [r6] movs r2, 0x58 muls r0, r2 @@ -4411,16 +4411,16 @@ _0817EFC2: lsls r0, 24 cmp r0, 0 beq _0817F0B4 - ldr r4, =gSideAffecting + ldr r4, =gSideStatuses mov r1, r9 ldrb r0, [r1] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x1 ands r1, r0 lsls r1, 1 adds r1, r4 ldrh r3, [r1] - ldr r2, =gBankAttacker + ldr r2, =gBattlerAttacker ldrb r0, [r2] movs r4, 0x58 muls r0, r4 @@ -4437,7 +4437,7 @@ _0817EFC2: str r4, [sp] movs r4, 0 str r4, [sp, 0x4] - ldr r6, =gBankAttacker + ldr r6, =gBattlerAttacker ldrb r4, [r6] str r4, [sp, 0x8] mov r6, r9 @@ -4448,7 +4448,7 @@ _0817EFC2: ldr r4, =gBattleMoveDamage str r3, [r4] ldr r1, =gStatuses3 - ldr r2, =gBankAttacker + ldr r2, =gBattlerAttacker ldrb r0, [r2] lsls r0, 2 adds r0, r1 @@ -4472,7 +4472,7 @@ _0817EFC2: str r0, [r4] _0817F06A: ldr r0, =gProtectStructs - ldr r6, =gBankAttacker + ldr r6, =gBattlerAttacker ldrb r1, [r6] lsls r1, 4 adds r1, r0 @@ -4513,9 +4513,9 @@ _0817F0B4: cmp r5, 0x3 ble _0817EFC2 movs r5, 0 - ldr r3, =gBankAttacker + ldr r3, =gBattlerAttacker ldr r6, =gMoveSelectionCursor - ldr r4, =gBattlePartyID + ldr r4, =gBattlerPartyIndexes mov r8, r4 movs r7, 0x64 mov r9, r7 @@ -4545,9 +4545,9 @@ _0817F0D8: movs r7, 0 _0817F0F6: movs r5, 0 - ldr r4, =gBankTarget + ldr r4, =gBattlerTarget ldr r6, =gEnemyParty - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] add r0, r10 ldrb r3, [r0] @@ -4582,7 +4582,7 @@ _0817F11A: adds r6, r0, 0 lsls r6, 16 lsrs r6, 16 - ldr r2, =gBankAttacker + ldr r2, =gBattlerAttacker ldrb r0, [r2] lsls r0, 1 add r0, r8 @@ -4598,7 +4598,7 @@ _0817F11A: adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 - ldr r4, =gBankAttacker + ldr r4, =gBattlerAttacker ldrb r3, [r4] mov r2, r10 adds r0, r3, r2 @@ -4625,7 +4625,7 @@ _0817F1D4: _0817F1DC: ldr r2, =gBattleMoveDamage ldr r1, =gMoveSelectionCursor - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -4695,7 +4695,7 @@ _0817F270: cmp r2, 0x95 bne _0817F294 ldr r2, =gBattleMons - ldr r0, =gBankAttacker + ldr r0, =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -4793,15 +4793,15 @@ _0817F324: .pool thumb_func_end sub_817F2A8 - thumb_func_start GetBankMoveSlotId -GetBankMoveSlotId: @ 817F33C + thumb_func_start GetBattlerMoveSlotId +GetBattlerMoveSlotId: @ 817F33C push {r4-r7,lr} lsls r0, 24 lsrs r5, r0, 24 lsls r1, 16 lsrs r7, r1, 16 adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldr r6, =gEnemyParty cmp r0, 0 @@ -4809,7 +4809,7 @@ GetBankMoveSlotId: @ 817F33C ldr r6, =gPlayerParty _0817F356: movs r4, 0 - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r5, 1 adds r5, r0, r1 b _0817F36E @@ -4835,7 +4835,7 @@ _0817F388: pop {r4-r7} pop {r1} bx r1 - thumb_func_end GetBankMoveSlotId + thumb_func_end GetBattlerMoveSlotId thumb_func_start sub_817F394 sub_817F394: @ 817F394 diff --git a/asm/battle_records.s b/asm/battle_records.s index c961aefe3b..f688144d98 100644 --- a/asm/battle_records.s +++ b/asm/battle_records.s @@ -496,7 +496,7 @@ sub_813C2F4: @ 813C2F4 movs r2, 0xD0 bl GetStringCenterAlignXOffset adds r3, r0, 0 - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId ldrb r0, [r0] lsls r3, 24 lsrs r3, 24 @@ -531,7 +531,7 @@ sub_813C384: @ 813C384 ldr r7, [r6, 0xC] cmp r7, 0 bne _0813C40C - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r8, r0 ldrb r0, [r0] ldr r2, =gUnknown_085B3D84 @@ -587,7 +587,7 @@ _0813C40C: lsrs r1, 24 ldr r0, =gStringVar1 bl ConvertInternationalString - ldr r0, =gUnknown_0203AB74 + ldr r0, =gResultsWindowId mov r8, r0 ldrb r0, [r0] lsls r4, 3 @@ -661,13 +661,13 @@ sub_813C4BC: @ 813C4BC mov r6, r8 push {r6,r7} sub sp, 0xC - ldr r6, =gUnknown_0203AB74 + ldr r6, =gResultsWindowId ldr r0, =gUnknown_085B3D7C bl AddWindow strb r0, [r6] ldrb r0, [r6] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r6] movs r1, 0x11 bl FillWindowPixelBuffer @@ -729,7 +729,7 @@ _0813C540: adds r4, 0x1 cmp r4, 0x4 ble _0813C540 - ldr r4, =gUnknown_0203AB74 + ldr r4, =gResultsWindowId ldrb r0, [r4] bl PutWindowTilemap ldrb r0, [r4] @@ -748,7 +748,7 @@ _0813C540: thumb_func_start sub_813C5A0 sub_813C5A0: @ 813C5A0 push {r4,lr} - ldr r4, =gUnknown_0203AB74 + ldr r4, =gResultsWindowId ldrb r0, [r4] movs r1, 0 bl sub_819746C @@ -1034,7 +1034,7 @@ _0813C6FA: thumb_func_start sub_813C80C sub_813C80C: @ 813C80C push {lr} - bl remove_some_task + bl ScanlineEffect_Stop bl ResetTasks bl ResetSpriteData bl ResetPaletteFade diff --git a/asm/battle_setup.s b/asm/battle_setup.s deleted file mode 100644 index 5c71965799..0000000000 --- a/asm/battle_setup.s +++ /dev/null @@ -1,3550 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start task01_battle_start -task01_battle_start: @ 80B05F0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080B0614 - cmp r0, 0x1 - beq _080B062E - b _080B0652 - .pool -_080B0614: - bl c3_80A0DD8_is_running - cmp r0, 0 - bne _080B0652 - ldrb r0, [r4, 0x2] - bl sub_8145EF4 - bl sub_81BE72C - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080B0652 -_080B062E: - bl IsBattleTransitionDone - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B0652 - bl overworld_free_bg_tilemaps - ldr r0, =CB2_InitBattle - bl SetMainCallback2 - bl prev_quest_postbuffer_cursor_backup_reset - bl overworld_poison_timer_set - adds r0, r5, 0 - bl DestroyTask -_080B0652: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end task01_battle_start - - thumb_func_start task_add_01_battle_start -task_add_01_battle_start: @ 80B065C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 16 - lsrs r5, 16 - ldr r0, =task01_battle_start - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0xA] - adds r0, r5, 0 - bl PlayMapChosenOrBattleBGM - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end task_add_01_battle_start - - thumb_func_start sub_80B0698 -sub_80B0698: @ 80B0698 - push {lr} - bl GetSafariZoneFlag - cmp r0, 0 - beq _080B06A8 - bl sub_80B077C - b _080B06AC -_080B06A8: - bl sub_80B06BC -_080B06AC: - pop {r0} - bx r0 - thumb_func_end sub_80B0698 - - thumb_func_start sub_80B06B0 -sub_80B06B0: @ 80B06B0 - push {lr} - bl sub_80B07B4 - pop {r0} - bx r0 - thumb_func_end sub_80B06B0 - - thumb_func_start sub_80B06BC -sub_80B06BC: @ 80B06BC - push {r4,lr} - bl ScriptContext2_Enable - bl player_bitmagic - bl sub_808BCF4 - ldr r1, =gMain - ldr r0, =sub_80B0AF8 - str r0, [r1, 0x8] - ldr r4, =gBattleTypeFlags - movs r0, 0 - str r0, [r4] - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _080B06F2 - ldr r0, =0x0000400e - movs r1, 0 - bl VarSet - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 14 - orrs r0, r1 - str r0, [r4] -_080B06F2: - bl sub_80B0EC8 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl task_add_01_battle_start - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x8 - bl IncrementGameStat - bl sub_80EECC8 - bl sub_80B1218 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B06BC - - thumb_func_start sub_80B072C -sub_80B072C: @ 80B072C - push {lr} - bl ScriptContext2_Enable - bl player_bitmagic - bl sub_808BCF4 - ldr r1, =gMain - ldr r0, =sub_80B0AF8 - str r0, [r1, 0x8] - ldr r1, =gBattleTypeFlags - movs r0, 0x80 - lsls r0, 3 - str r0, [r1] - bl sub_80B0EC8 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl task_add_01_battle_start - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x8 - bl IncrementGameStat - bl sub_80EECC8 - bl sub_80B1218 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B072C - - thumb_func_start sub_80B077C -sub_80B077C: @ 80B077C - push {lr} - bl ScriptContext2_Enable - bl player_bitmagic - bl sub_808BCF4 - ldr r1, =gMain - ldr r0, =sub_80FC190 - str r0, [r1, 0x8] - ldr r1, =gBattleTypeFlags - movs r0, 0x80 - str r0, [r1] - bl sub_80B0EC8 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl task_add_01_battle_start - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B077C - - thumb_func_start sub_80B07B4 -sub_80B07B4: @ 80B07B4 - push {lr} - bl ScriptContext2_Enable - bl player_bitmagic - bl sub_808BCF4 - ldr r1, =gMain - ldr r0, =sub_80B0AF8 - str r0, [r1, 0x8] - ldr r1, =gBattleTypeFlags - movs r0, 0x80 - lsls r0, 13 - str r0, [r1] - bl sub_80B0EC8 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl task_add_01_battle_start - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x8 - bl IncrementGameStat - bl sub_80EECC8 - bl sub_80B1218 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B07B4 - - thumb_func_start task_add_01_battle_start_with_music_and_stats -task_add_01_battle_start_with_music_and_stats: @ 80B0804 - push {lr} - bl reads_trainer_data_byte1_byte0x18 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl task_add_01_battle_start - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x9 - bl IncrementGameStat - bl sub_80B1234 - pop {r0} - bx r0 - thumb_func_end task_add_01_battle_start_with_music_and_stats - - thumb_func_start sub_80B0828 -sub_80B0828: @ 80B0828 - push {lr} - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _080B0846 - movs r0, 0xA - bl sub_80B100C - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl task_add_01_battle_start - b _080B0856 -_080B0846: - movs r0, 0xB - bl sub_80B100C - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl task_add_01_battle_start -_080B0856: - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x9 - bl IncrementGameStat - bl sub_80B1234 - pop {r0} - bx r0 - thumb_func_end sub_80B0828 - - thumb_func_start sub_80B086C -sub_80B086C: @ 80B086C - push {lr} - ldr r0, =gEnemyParty - movs r1, 0xC4 - lsls r1, 1 - movs r2, 0x5 - bl CreateMaleMon - bl ScriptContext2_Enable - ldr r1, =gMain - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - str r0, [r1, 0x8] - ldr r1, =gBattleTypeFlags - movs r0, 0x80 - lsls r0, 2 - str r0, [r1] - movs r0, 0x8 - movs r1, 0 - bl task_add_01_battle_start - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B086C - - thumb_func_start BattleSetup_StartScriptedWildBattle -BattleSetup_StartScriptedWildBattle: @ 80B08A8 - push {lr} - bl ScriptContext2_Enable - ldr r1, =gMain - ldr r0, =sub_80B0B6C - str r0, [r1, 0x8] - ldr r1, =gBattleTypeFlags - movs r0, 0 - str r0, [r1] - bl sub_80B0EC8 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl task_add_01_battle_start - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x8 - bl IncrementGameStat - bl sub_80EECC8 - bl sub_80B1218 - pop {r0} - bx r0 - .pool - thumb_func_end BattleSetup_StartScriptedWildBattle - - thumb_func_start sub_80B08EC -sub_80B08EC: @ 80B08EC - push {lr} - bl ScriptContext2_Enable - ldr r1, =gMain - ldr r0, =sub_80B0B6C - str r0, [r1, 0x8] - ldr r1, =gBattleTypeFlags - movs r0, 0x80 - lsls r0, 6 - str r0, [r1] - bl sub_80B0EC8 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl task_add_01_battle_start - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x8 - bl IncrementGameStat - bl sub_80EECC8 - bl sub_80B1218 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B08EC - - thumb_func_start sub_80B0934 -sub_80B0934: @ 80B0934 - push {r4,lr} - bl ScriptContext2_Enable - ldr r1, =gMain - ldr r0, =sub_80B0B6C - str r0, [r1, 0x8] - ldr r4, =gBattleTypeFlags - movs r0, 0x80 - lsls r0, 6 - str r0, [r4] - ldr r0, =gEnemyParty - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - movs r0, 0xCA - lsls r0, 1 - cmp r1, r0 - beq _080B09B8 - cmp r1, r0 - bhi _080B0988 - cmp r1, 0x97 - beq _080B09F4 - cmp r1, 0x97 - bcc _080B099A - cmp r1, 0xFA - bhi _080B099A - cmp r1, 0xF9 - bcc _080B099A - ldr r1, =0x00000229 - b _080B09E6 - .pool -_080B0988: - movs r0, 0xCB - lsls r0, 1 - cmp r1, r0 - beq _080B09CE - cmp r1, r0 - bcc _080B099A - adds r0, 0x4 - cmp r1, r0 - beq _080B09E4 -_080B099A: - ldr r2, =gBattleTypeFlags - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 21 - orrs r0, r1 - str r0, [r2] - movs r1, 0xF0 - lsls r1, 1 - movs r0, 0x17 - bl task_add_01_battle_start - b _080B09FE - .pool -_080B09B8: - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 22 - orrs r0, r1 - str r0, [r4] - movs r1, 0xF0 - lsls r1, 1 - movs r0, 0x16 - bl task_add_01_battle_start - b _080B09FE -_080B09CE: - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 23 - orrs r0, r1 - str r0, [r4] - movs r1, 0xEB - lsls r1, 1 - movs r0, 0x18 - bl task_add_01_battle_start - b _080B09FE -_080B09E4: - ldr r1, =0x00000227 -_080B09E6: - movs r0, 0 - bl task_add_01_battle_start - b _080B09FE - .pool -_080B09F4: - movs r1, 0xEC - lsls r1, 1 - movs r0, 0xA - bl task_add_01_battle_start -_080B09FE: - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x8 - bl IncrementGameStat - bl sub_80EECC8 - bl sub_80B1218 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B0934 - - thumb_func_start sub_80B0A18 -sub_80B0A18: @ 80B0A18 - push {lr} - bl ScriptContext2_Enable - ldr r1, =gMain - ldr r0, =sub_80B0B6C - str r0, [r1, 0x8] - ldr r1, =gBattleTypeFlags - movs r0, 0xC0 - lsls r0, 6 - str r0, [r1] - ldr r0, =gGameVersion - ldrb r0, [r0] - cmp r0, 0x2 - bne _080B0A50 - movs r1, 0xF0 - lsls r1, 1 - movs r0, 0xB - bl task_add_01_battle_start - b _080B0A5A - .pool -_080B0A50: - movs r1, 0xF0 - lsls r1, 1 - movs r0, 0x6 - bl task_add_01_battle_start -_080B0A5A: - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x8 - bl IncrementGameStat - bl sub_80EECC8 - bl sub_80B1218 - pop {r0} - bx r0 - thumb_func_end sub_80B0A18 - - thumb_func_start sub_80B0A74 -sub_80B0A74: @ 80B0A74 - push {lr} - bl ScriptContext2_Enable - ldr r1, =gMain - ldr r0, =sub_80B0B6C - str r0, [r1, 0x8] - ldr r1, =gBattleTypeFlags - movs r0, 0xC0 - lsls r0, 7 - str r0, [r1] - ldr r0, =gEnemyParty - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - adds r2, r1, 0 - movs r0, 0xC9 - lsls r0, 1 - cmp r1, r0 - beq _080B0ACC - cmp r1, r0 - bgt _080B0ABC - subs r0, 0x1 - cmp r1, r0 - beq _080B0AC8 - b _080B0AD4 - .pool -_080B0ABC: - ldr r0, =0x00000193 - cmp r2, r0 - beq _080B0AD0 - b _080B0AD4 - .pool -_080B0AC8: - movs r0, 0x15 - b _080B0AD6 -_080B0ACC: - movs r0, 0x13 - b _080B0AD6 -_080B0AD0: - movs r0, 0x14 - b _080B0AD6 -_080B0AD4: - movs r0, 0xA -_080B0AD6: - ldr r1, =0x000001df - bl task_add_01_battle_start - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x8 - bl IncrementGameStat - bl sub_80EECC8 - bl sub_80B1218 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B0A74 - - thumb_func_start sub_80B0AF8 -sub_80B0AF8: @ 80B0AF8 - push {lr} - sub sp, 0x4 - mov r1, sp - movs r0, 0 - strh r0, [r1] - movs r1, 0xA0 - lsls r1, 19 - ldr r2, =0x01000100 - mov r0, sp - bl CpuSet - movs r0, 0 - movs r1, 0x80 - bl ResetOamRange - ldr r0, =gBattleOutcome - ldrb r0, [r0] - bl battle_exit_is_player_defeat - cmp r0, 0x1 - bne _080B0B4C - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080B0B4C - bl InBattlePike - lsls r0, 24 - cmp r0, 0 - bne _080B0B4C - ldr r0, =c2_whiteout - bl SetMainCallback2 - b _080B0B58 - .pool -_080B0B4C: - ldr r0, =c2_exit_to_overworld_2_switch - bl SetMainCallback2 - ldr r1, =gFieldCallback - ldr r0, =sub_80AF6F0 - str r0, [r1] -_080B0B58: - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B0AF8 - - thumb_func_start sub_80B0B6C -sub_80B0B6C: @ 80B0B6C - push {lr} - sub sp, 0x4 - mov r1, sp - movs r0, 0 - strh r0, [r1] - movs r1, 0xA0 - lsls r1, 19 - ldr r2, =0x01000100 - mov r0, sp - bl CpuSet - movs r0, 0 - movs r1, 0x80 - bl ResetOamRange - ldr r0, =gBattleOutcome - ldrb r0, [r0] - bl battle_exit_is_player_defeat - cmp r0, 0x1 - bne _080B0BC0 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _080B0BB4 - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 - b _080B0BC6 - .pool -_080B0BB4: - ldr r0, =c2_whiteout - bl SetMainCallback2 - b _080B0BC6 - .pool -_080B0BC0: - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 -_080B0BC6: - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B0B6C - - thumb_func_start BattleSetup_GetTerrainId -BattleSetup_GetTerrainId: @ 80B0BD0 - push {r4,r5,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 16 - lsrs r5, r0, 16 - lsls r0, r5, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsTallGrass - lsls r0, 24 - cmp r0, 0 - beq _080B0C06 - movs r0, 0 - b _080B0D1A -_080B0C06: - adds r0, r4, 0 - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _080B0C16 - movs r0, 0x1 - b _080B0D1A -_080B0C16: - adds r0, r4, 0 - bl MetatileBehavior_IsSandOrDeepSand - lsls r0, 24 - cmp r0, 0 - bne _080B0D18 - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - subs r0, 0x1 - cmp r0, 0x8 - bhi _080B0C9C - lsls r0, 2 - ldr r1, =_080B0C40 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080B0C40: - .4byte _080B0C9C - .4byte _080B0C9C - .4byte _080B0C9C - .4byte _080B0C64 - .4byte _080B0C88 - .4byte _080B0C8C - .4byte _080B0C9C - .4byte _080B0C74 - .4byte _080B0C74 -_080B0C64: - lsls r0, r5, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsMB_0B - lsls r0, 24 - cmp r0, 0 - beq _080B0C78 -_080B0C74: - movs r0, 0x8 - b _080B0D1A -_080B0C78: - adds r0, r4, 0 - bl MetatileBehavior_IsSurfableWaterOrUnderwater - lsls r0, 24 - cmp r0, 0 - bne _080B0CE0 - movs r0, 0x7 - b _080B0D1A -_080B0C88: - movs r0, 0x3 - b _080B0D1A -_080B0C8C: - lsls r0, r5, 24 - lsrs r0, 24 - bl MetatileBehavior_IsSurfableWaterOrUnderwater - lsls r0, 24 - cmp r0, 0 - bne _080B0CF2 - b _080B0D10 -_080B0C9C: - lsls r0, r5, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsDeepOrOceanWater - lsls r0, 24 - cmp r0, 0 - bne _080B0CF2 - adds r0, r4, 0 - bl MetatileBehavior_IsSurfableWaterOrUnderwater - lsls r0, 24 - cmp r0, 0 - bne _080B0CE0 - adds r0, r4, 0 - bl MetatileBehavior_IsMountain - lsls r0, 24 - cmp r0, 0 - beq _080B0CC8 - movs r0, 0x6 - b _080B0D1A -_080B0CC8: - movs r0, 0x8 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _080B0CF6 - adds r0, r4, 0 - bl MetatileBehavior_GetBridgeSth - lsls r0, 24 - cmp r0, 0 - beq _080B0CE4 -_080B0CE0: - movs r0, 0x5 - b _080B0D1A -_080B0CE4: - adds r0, r4, 0 - bl MetatileBehavior_IsBridge - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B0CF6 -_080B0CF2: - movs r0, 0x4 - b _080B0D1A -_080B0CF6: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - movs r0, 0xE0 - lsls r0, 5 - cmp r1, r0 - beq _080B0D18 - bl sav1_get_weather_probably - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8 - beq _080B0D18 -_080B0D10: - movs r0, 0x9 - b _080B0D1A - .pool -_080B0D18: - movs r0, 0x2 -_080B0D1A: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end BattleSetup_GetTerrainId - - thumb_func_start sub_80B0D24 -sub_80B0D24: @ 80B0D24 - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 16 - lsrs r4, r0, 16 - bl sav1_get_flash_used_on_map - lsls r0, 24 - cmp r0, 0 - beq _080B0D54 - movs r0, 0x2 - b _080B0D7E -_080B0D54: - lsls r0, r4, 24 - lsrs r0, 24 - bl MetatileBehavior_IsSurfableWaterOrUnderwater - lsls r0, 24 - cmp r0, 0 - bne _080B0D7C - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x4 - beq _080B0D78 - cmp r0, 0x5 - beq _080B0D7C - movs r0, 0 - b _080B0D7E - .pool -_080B0D78: - movs r0, 0x1 - b _080B0D7E -_080B0D7C: - movs r0, 0x3 -_080B0D7E: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B0D24 - - thumb_func_start sub_80B0D88 -sub_80B0D88: @ 80B0D88 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r7, 0 - movs r6, 0 -_080B0D92: - movs r0, 0x64 - adds r1, r6, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - adds r1, r0, 0 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - beq _080B0DD6 - cmp r1, 0 - beq _080B0DD6 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080B0DD6 - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - adds r0, r7, r0 - lsls r0, 24 - lsrs r7, r0, 24 - subs r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - beq _080B0DDC -_080B0DD6: - adds r6, 0x1 - cmp r6, 0x5 - ble _080B0D92 -_080B0DDC: - adds r0, r7, 0 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B0D88 - - thumb_func_start reads_trainer_data_byte0 -reads_trainer_data_byte0: @ 80B0DE8 - push {r4,r5,lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r5, =gTrainers - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r2, r1, r5 - adds r0, r2, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, r4 - bcs _080B0E08 - adds r4, r0, 0 -_080B0E08: - movs r3, 0 - ldrb r0, [r2] - cmp r0, 0x1 - beq _080B0E50 - cmp r0, 0x1 - bgt _080B0E20 - cmp r0, 0 - beq _080B0E2A - b _080B0EC0 - .pool -_080B0E20: - cmp r0, 0x2 - beq _080B0E76 - cmp r0, 0x3 - beq _080B0E9C - b _080B0EC0 -_080B0E2A: - adds r0, r5, 0 - adds r0, 0x24 - adds r0, r1, r0 - ldr r1, [r0] - movs r2, 0 - cmp r3, r4 - bcs _080B0EC0 -_080B0E38: - lsls r0, r2, 3 - adds r0, r1 - ldrb r0, [r0, 0x2] - adds r0, r3, r0 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r4 - bcc _080B0E38 - b _080B0EC0 -_080B0E50: - adds r0, r5, 0 - adds r0, 0x24 - adds r0, r1, r0 - ldr r1, [r0] - movs r2, 0 - cmp r3, r4 - bcs _080B0EC0 -_080B0E5E: - lsls r0, r2, 4 - adds r0, r1 - ldrb r0, [r0, 0x2] - adds r0, r3, r0 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r4 - bcc _080B0E5E - b _080B0EC0 -_080B0E76: - adds r0, r5, 0 - adds r0, 0x24 - adds r0, r1, r0 - ldr r1, [r0] - movs r2, 0 - cmp r3, r4 - bcs _080B0EC0 -_080B0E84: - lsls r0, r2, 3 - adds r0, r1 - ldrb r0, [r0, 0x2] - adds r0, r3, r0 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r4 - bcc _080B0E84 - b _080B0EC0 -_080B0E9C: - adds r0, r5, 0 - adds r0, 0x24 - adds r0, r1, r0 - ldr r1, [r0] - movs r2, 0 - cmp r3, r4 - bcs _080B0EC0 -_080B0EAA: - lsls r0, r2, 4 - adds r0, r1 - ldrb r0, [r0, 0x2] - adds r0, r3, r0 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r4 - bcc _080B0EAA -_080B0EC0: - adds r0, r3, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end reads_trainer_data_byte0 - - thumb_func_start sub_80B0EC8 -sub_80B0EC8: @ 80B0EC8 - push {r4-r6,lr} - bl sub_80B0D24 - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - ldr r0, =gEnemyParty - movs r1, 0x38 - bl GetMonData - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - bl sub_80B0D88 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcs _080B0F10 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _080B0F04 - movs r0, 0 - b _080B0F2E - .pool -_080B0F04: - ldr r0, =gUnknown_0854FE88 - lsls r1, r5, 1 - b _080B0F20 - .pool -_080B0F10: - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080B0F2C - ldr r0, =gUnknown_0854FE88 - lsls r1, r6, 1 - adds r0, 0x1 -_080B0F20: - adds r1, r0 - ldrb r0, [r1] - b _080B0F2E - .pool -_080B0F2C: - movs r0, 0xA -_080B0F2E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80B0EC8 - - thumb_func_start reads_trainer_data_byte1_byte0x18 -reads_trainer_data_byte1_byte0x18: @ 80B0F34 - push {r4-r6,lr} - ldr r4, =gTrainerBattleOpponent_A - ldrh r1, [r4] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - beq _080B0F98 - ldr r1, =gTrainers - ldrh r2, [r4] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0x1] - cmp r1, 0x1F - bne _080B0F94 - adds r1, r2, 0 - ldr r0, =0x00000105 - cmp r1, r0 - bne _080B0F6C - movs r0, 0xC - b _080B1000 - .pool -_080B0F6C: - movs r0, 0x83 - lsls r0, 1 - cmp r1, r0 - bne _080B0F78 - movs r0, 0xD - b _080B1000 -_080B0F78: - ldr r0, =0x00000107 - cmp r1, r0 - bne _080B0F88 - movs r0, 0xE - b _080B1000 - .pool -_080B0F88: - movs r0, 0x84 - lsls r0, 1 - cmp r1, r0 - bne _080B0F98 - movs r0, 0xF - b _080B1000 -_080B0F94: - cmp r1, 0x26 - bne _080B0F9C -_080B0F98: - movs r0, 0x10 - b _080B1000 -_080B0F9C: - cmp r1, 0x9 - beq _080B0FA8 - cmp r1, 0x35 - beq _080B0FA8 - cmp r1, 0x31 - bne _080B0FAC -_080B0FA8: - movs r0, 0x12 - b _080B1000 -_080B0FAC: - cmp r1, 0x3 - beq _080B0FB8 - cmp r1, 0xD - beq _080B0FB8 - cmp r1, 0xB - bne _080B0FBC -_080B0FB8: - movs r0, 0x11 - b _080B1000 -_080B0FBC: - ldrb r0, [r0, 0x18] - movs r5, 0x1 - cmp r0, 0x1 - bne _080B0FC6 - movs r5, 0x2 -_080B0FC6: - bl sub_80B0D24 - lsls r0, 24 - lsrs r6, r0, 24 - ldrh r0, [r4] - adds r1, r5, 0 - bl reads_trainer_data_byte0 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - bl sub_80B0D88 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcc _080B0FF8 - ldr r0, =gUnknown_0854FE90 - lsls r1, r6, 1 - adds r0, 0x1 - b _080B0FFC - .pool -_080B0FF8: - ldr r0, =gUnknown_0854FE90 - lsls r1, r6, 1 -_080B0FFC: - adds r1, r0 - ldrb r0, [r1] -_080B1000: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end reads_trainer_data_byte1_byte0x18 - - thumb_func_start sub_80B100C -sub_80B100C: @ 80B100C - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, =gEnemyParty - movs r1, 0x38 - bl GetMonData - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - bl sub_80B0D88 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcs _080B1090 - cmp r5, 0xA - beq _080B1048 - cmp r5, 0xA - bgt _080B1040 - cmp r5, 0x3 - beq _080B105C - b _080B106C - .pool -_080B1040: - cmp r5, 0xD - bgt _080B106C - movs r0, 0x4 - b _080B1120 -_080B1048: - ldr r4, =gUnknown_0854FEA4 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - b _080B1114 - .pool -_080B105C: - ldr r4, =gUnknown_0854FEA7 - bl Random - ands r5, r0 - lsls r0, r5, 16 - b _080B111A - .pool -_080B106C: - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - beq _080B10EC - ldr r4, =gUnknown_0854FE98 - bl Random - lsls r0, 16 - lsrs r0, 16 - b _080B1112 - .pool -_080B1090: - cmp r5, 0xA - beq _080B10A6 - cmp r5, 0xA - bgt _080B109E - cmp r5, 0x3 - beq _080B10B8 - b _080B10C8 -_080B109E: - cmp r5, 0xD - bgt _080B10C8 - movs r0, 0x3 - b _080B1120 -_080B10A6: - ldr r4, =gUnknown_0854FEA4 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - b _080B1114 - .pool -_080B10B8: - ldr r4, =gUnknown_0854FEA7 - bl Random - ands r5, r0 - lsls r0, r5, 16 - b _080B111A - .pool -_080B10C8: - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - beq _080B10EC - ldr r4, =gUnknown_0854FE98 - bl Random - lsls r0, 16 - lsrs r0, 16 - b _080B1112 - .pool -_080B10EC: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r2, =0x00000cb2 - adds r0, r1, r2 - ldrh r0, [r0] - lsls r2, r0, 2 - ldr r3, =0x00000cb4 - adds r1, r3 - adds r2, r1, r2 - lsls r0, 1 - adds r0, 0x1 - lsls r0, 1 - adds r1, r0 - ldrh r0, [r1] - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - ldr r4, =gUnknown_0854FE98 -_080B1112: - movs r1, 0xC -_080B1114: - bl __umodsi3 - lsls r0, 16 -_080B111A: - lsrs r0, 16 - adds r0, r4 - ldrb r0, [r0] -_080B1120: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B100C - - thumb_func_start sub_80B1138 -sub_80B1138: @ 80B1138 - push {lr} - ldr r0, =set_256color_bg_bg0 - bl SetMainCallback2 - ldr r1, =gMain - ldr r0, =sub_80B1158 - str r0, [r1, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B1138 - - thumb_func_start sub_80B1158 -sub_80B1158: @ 80B1158 - push {lr} - sub sp, 0x8 - ldr r0, =0x00004023 - bl GetVarPointer - ldr r2, =gScriptResult - ldrh r1, [r2] - strh r1, [r0] - ldrh r0, [r2] - bl sub_8133EDC - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - movs r1, 0x5 - movs r2, 0 - movs r3, 0 - bl ScriptGiveMon - bl ResetTasks - bl PlayBattleBGM - ldr r0, =sub_80B11A8 - bl SetMainCallback2 - movs r0, 0 - bl sub_8145F10 - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B1158 - - thumb_func_start sub_80B11A8 -sub_80B11A8: @ 80B11A8 - push {lr} - bl UpdatePaletteFade - bl RunTasks - bl IsBattleTransitionDone - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B11F0 - ldr r1, =gBattleTypeFlags - movs r0, 0x10 - str r0, [r1] - ldr r1, =gMain - ldr r0, =sub_80B1204 - str r0, [r1, 0x8] - bl FreeAllWindowBuffers - ldr r0, =CB2_InitBattle - bl SetMainCallback2 - bl prev_quest_postbuffer_cursor_backup_reset - bl overworld_poison_timer_set - movs r0, 0x7 - bl IncrementGameStat - movs r0, 0x8 - bl IncrementGameStat - bl sub_80EECC8 - bl sub_80B1218 -_080B11F0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B11A8 - - thumb_func_start sub_80B1204 -sub_80B1204: @ 80B1204 - push {lr} - bl sav1_reset_battle_music_maybe - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B1204 - - thumb_func_start sub_80B1218 -sub_80B1218: @ 80B1218 - push {lr} - movs r0, 0x8 - bl GetGameStat - movs r1, 0x3C - bl __umodsi3 - cmp r0, 0 - bne _080B122E - bl sub_81DA57C -_080B122E: - pop {r0} - bx r0 - thumb_func_end sub_80B1218 - - thumb_func_start sub_80B1234 -sub_80B1234: @ 80B1234 - push {lr} - movs r0, 0x9 - bl GetGameStat - movs r1, 0x14 - bl __umodsi3 - cmp r0, 0 - bne _080B124A - bl sub_81DA57C -_080B124A: - pop {r0} - bx r0 - thumb_func_end sub_80B1234 - - thumb_func_start TrainerBattleLoadArg32 -@ u32 TrainerBattleLoadArg32(u8 *arg) -TrainerBattleLoadArg32: @ 80B1250 - adds r2, r0, 0 - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - orrs r0, r1 - ldrb r1, [r2, 0x2] - lsls r1, 16 - orrs r0, r1 - ldrb r1, [r2, 0x3] - lsls r1, 24 - orrs r0, r1 - bx lr - thumb_func_end TrainerBattleLoadArg32 - - thumb_func_start TrainerBattleLoadArg16 -@ u16 TrainerBattleLoadArg16(u8 *arg) -TrainerBattleLoadArg16: @ 80B1268 - adds r1, r0, 0 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - lsls r1, 8 - orrs r0, r1 - bx lr - thumb_func_end TrainerBattleLoadArg16 - - thumb_func_start TrainerBattleLoadArg8 -@ u8 TrainerBattleLoadArg8(u8 *arg) -TrainerBattleLoadArg8: @ 80B1274 - ldrb r0, [r0] - bx lr - thumb_func_end TrainerBattleLoadArg8 - - thumb_func_start trainerflag_opponent -trainerflag_opponent: @ 80B1278 - ldr r1, =gTrainerBattleOpponent_A - movs r2, 0xA0 - lsls r2, 3 - adds r0, r2, 0 - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bx lr - .pool - thumb_func_end trainerflag_opponent - - thumb_func_start sub_80B1290 -sub_80B1290: @ 80B1290 - ldr r1, =gTrainerBattleOpponent_B - movs r2, 0xA0 - lsls r2, 3 - adds r0, r2, 0 - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bx lr - .pool - thumb_func_end sub_80B1290 - - thumb_func_start battle_exit_is_player_defeat -battle_exit_is_player_defeat: @ 80B12A8 - push {lr} - subs r0, 0x1 - cmp r0, 0x6 - bhi _080B12E0 - lsls r0, 2 - ldr r1, =_080B12C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080B12C0: - .4byte _080B12E0 - .4byte _080B12DC - .4byte _080B12DC - .4byte _080B12E0 - .4byte _080B12E0 - .4byte _080B12E0 - .4byte _080B12E0 -_080B12DC: - movs r0, 0x1 - b _080B12E2 -_080B12E0: - movs r0, 0 -_080B12E2: - pop {r1} - bx r1 - thumb_func_end battle_exit_is_player_defeat - - thumb_func_start ResetTrainerOpponentIds -ResetTrainerOpponentIds: @ 80B12E8 - ldr r0, =gTrainerBattleOpponent_A - movs r1, 0 - strh r1, [r0] - ldr r0, =gTrainerBattleOpponent_B - strh r1, [r0] - bx lr - .pool - thumb_func_end ResetTrainerOpponentIds - - thumb_func_start InitTrainerBattleVariables -@ void InitTrainerBattleVariables() -InitTrainerBattleVariables: @ 80B12FC - push {lr} - ldr r0, =gUnknown_02038BC8 - movs r1, 0 - strh r1, [r0] - ldr r0, =gUnknown_02038BFC - ldrb r1, [r0] - cmp r1, 0 - bne _080B132C - ldr r0, =gUnknown_02038BD4 - str r1, [r0] - ldr r0, =gUnknown_02038BDC - str r1, [r0] - ldr r0, =gUnknown_02038BF0 - b _080B1338 - .pool -_080B132C: - ldr r0, =gUnknown_02038BD8 - movs r1, 0 - str r1, [r0] - ldr r0, =gUnknown_02038BE0 - str r1, [r0] - ldr r0, =gUnknown_02038BF4 -_080B1338: - str r1, [r0] - ldr r1, =gUnknown_02038BD0 - movs r0, 0 - strh r0, [r1] - ldr r0, =gUnknown_02038BE4 - movs r1, 0 - str r1, [r0] - ldr r0, =gUnknown_02038BE8 - str r1, [r0] - ldr r0, =gUnknown_02038BEC - str r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end InitTrainerBattleVariables - - thumb_func_start TrainerBattleLoadArgs -@ void TrainerBattleLoadArgs(struct TrainerBattleArgSpec *argSpecs, u8 *args) -TrainerBattleLoadArgs: @ 80B1370 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 -_080B1376: - ldrb r0, [r4, 0x4] - cmp r0, 0x6 - bhi _080B13E8 - lsls r0, 2 - ldr r1, =_080B138C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080B138C: - .4byte _080B13A8 - .4byte _080B13B6 - .4byte _080B13C4 - .4byte _080B13D2 - .4byte _080B13DA - .4byte _080B13E2 - .4byte _080B13EC -_080B13A8: - adds r0, r5, 0 - bl TrainerBattleLoadArg8 - ldr r1, [r4] - strb r0, [r1] - adds r5, 0x1 - b _080B13E8 -_080B13B6: - adds r0, r5, 0 - bl TrainerBattleLoadArg16 - ldr r1, [r4] - strh r0, [r1] - adds r5, 0x2 - b _080B13E8 -_080B13C4: - adds r0, r5, 0 - bl TrainerBattleLoadArg32 - ldr r1, [r4] - str r0, [r1] - adds r5, 0x4 - b _080B13E8 -_080B13D2: - ldr r1, [r4] - movs r0, 0 - strb r0, [r1] - b _080B13E8 -_080B13DA: - ldr r1, [r4] - movs r0, 0 - strh r0, [r1] - b _080B13E8 -_080B13E2: - ldr r1, [r4] - movs r0, 0 - str r0, [r1] -_080B13E8: - adds r4, 0x8 - b _080B1376 -_080B13EC: - ldr r0, [r4] - str r5, [r0] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end TrainerBattleLoadArgs - - thumb_func_start battle_80801F0 -battle_80801F0: @ 80B13F8 - push {lr} - ldr r0, =gUnknown_02038BD0 - ldrh r1, [r0] - cmp r1, 0 - beq _080B141A - ldr r0, =gScriptLastTalked - strh r1, [r0] - lsls r0, r1, 24 - lsrs r0, 24 - ldr r1, =gSaveBlock1Ptr - ldr r2, [r1] - ldrb r1, [r2, 0x5] - ldrb r2, [r2, 0x4] - bl GetFieldObjectIdByLocalIdAndMap - ldr r1, =gSelectedMapObject - strb r0, [r1] -_080B141A: - pop {r0} - bx r0 - .pool - thumb_func_end battle_80801F0 - - thumb_func_start BattleSetup_ConfigureTrainerBattle -@ u8 *BattleSetup_ConfigureTrainerBattle(u8 *args) -BattleSetup_ConfigureTrainerBattle: @ 80B1430 - push {r4,r5,lr} - adds r5, r0, 0 - bl InitTrainerBattleVariables - ldr r4, =gUnknown_02038BC8 - adds r0, r5, 0 - bl TrainerBattleLoadArg8 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - ldrh r0, [r4] - subs r0, 0x1 - cmp r0, 0xB - bls _080B1450 - b _080B15F4 -_080B1450: - lsls r0, 2 - ldr r1, =_080B1464 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080B1464: - .4byte _080B14CC - .4byte _080B14B0 - .4byte _080B1494 - .4byte _080B14A8 - .4byte _080B1514 - .4byte _080B14D4 - .4byte _080B14EC - .4byte _080B14D4 - .4byte _080B153C - .4byte _080B1590 - .4byte _080B1598 - .4byte _080B15A8 -_080B1494: - ldr r0, =gUnknown_0854FF84 - adds r1, r5, 0 - bl TrainerBattleLoadArgs - ldr r0, =gUnknown_082713C2 - b _080B161E - .pool -_080B14A8: - ldr r0, =gUnknown_0854FF3C - b _080B14D6 - .pool -_080B14B0: - ldr r0, =gUnknown_02038BFC - ldrb r0, [r0] - cmp r0, 0 - bne _080B14C4 - ldr r0, =gUnknown_0854FEF4 - b _080B15FE - .pool -_080B14C4: - ldr r0, =gUnknown_0855005C - b _080B1616 - .pool -_080B14CC: - ldr r0, =gUnknown_0854FEF4 - b _080B15FE - .pool -_080B14D4: - ldr r0, =gUnknown_0854FFCC -_080B14D6: - adds r1, r5, 0 - bl TrainerBattleLoadArgs - bl battle_80801F0 - ldr r0, =gUnknown_0827138A - b _080B161E - .pool -_080B14EC: - ldr r0, =gUnknown_0854FF3C - adds r1, r5, 0 - bl TrainerBattleLoadArgs - bl battle_80801F0 - ldr r4, =gTrainerBattleOpponent_A - ldrh r0, [r4] - bl sub_80B2234 - strh r0, [r4] - ldr r0, =gUnknown_082713F8 - b _080B161E - .pool -_080B1514: - ldr r0, =gUnknown_0854FEAC - adds r1, r5, 0 - bl TrainerBattleLoadArgs - bl battle_80801F0 - ldr r4, =gTrainerBattleOpponent_A - ldrh r0, [r4] - bl sub_80B2234 - strh r0, [r4] - ldr r0, =gUnknown_082713D1 - b _080B161E - .pool -_080B153C: - ldr r0, =gUnknown_02038BFC - ldrb r0, [r0] - cmp r0, 0 - bne _080B156C - ldr r0, =gUnknown_0854FEAC - adds r1, r5, 0 - bl TrainerBattleLoadArgs - bl battle_80801F0 - ldr r0, =gScriptLastTalked - ldrb r0, [r0] - bl sub_81A9AA8 - ldr r1, =gTrainerBattleOpponent_A - b _080B157E - .pool -_080B156C: - ldr r0, =gUnknown_08550014 - adds r1, r5, 0 - bl TrainerBattleLoadArgs - ldr r0, =gScriptLastTalked - ldrb r0, [r0] - bl sub_81A9AA8 -_080B157C: - ldr r1, =gTrainerBattleOpponent_B -_080B157E: - strh r0, [r1] - b _080B161C - .pool -_080B1590: - ldr r0, =gUnknown_0854FEAC - b _080B159A - .pool -_080B1598: - ldr r0, =gUnknown_08550014 -_080B159A: - adds r1, r5, 0 - bl TrainerBattleLoadArgs - movs r0, 0 - b _080B161E - .pool -_080B15A8: - ldr r0, =gUnknown_02038BFC - ldrb r0, [r0] - cmp r0, 0 - bne _080B15D8 - ldr r0, =gUnknown_0854FEAC - adds r1, r5, 0 - bl TrainerBattleLoadArgs - bl battle_80801F0 - ldr r0, =gScriptLastTalked - ldrb r0, [r0] - bl battle_init - ldr r1, =gTrainerBattleOpponent_A - b _080B157E - .pool -_080B15D8: - ldr r0, =gUnknown_08550014 - adds r1, r5, 0 - bl TrainerBattleLoadArgs - ldr r0, =gScriptLastTalked - ldrb r0, [r0] - bl battle_init - b _080B157C - .pool -_080B15F4: - ldr r0, =gUnknown_02038BFC - ldrb r0, [r0] - cmp r0, 0 - bne _080B1614 - ldr r0, =gUnknown_0854FEAC -_080B15FE: - adds r1, r5, 0 - bl TrainerBattleLoadArgs - bl battle_80801F0 - b _080B161C - .pool -_080B1614: - ldr r0, =gUnknown_08550014 -_080B1616: - adds r1, r5, 0 - bl TrainerBattleLoadArgs -_080B161C: - ldr r0, =gUnknown_08271362 -_080B161E: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end BattleSetup_ConfigureTrainerBattle - - thumb_func_start SingleTrainerWantsBattle -@ void SingleTrainerWantsBattle(u8 trainerFieldObjectId, u8 *trainerScript) -SingleTrainerWantsBattle: @ 80B162C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSelectedMapObject - strb r0, [r2] - ldr r4, =gScriptLastTalked - ldr r3, =gMapObjects - lsls r2, r0, 3 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - ldrb r0, [r2, 0x8] - strh r0, [r4] - adds r1, 0x1 - adds r0, r1, 0 - bl BattleSetup_ConfigureTrainerBattle - ldr r0, =gUnknown_08271354 - bl ScriptContext1_SetupScript - bl ScriptContext2_Enable - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end SingleTrainerWantsBattle - - thumb_func_start TwoTrainersWantBattle -@ void TwoTrainersWantBattle(u8 trainerFieldObjectId, u8 *trainerScript) -TwoTrainersWantBattle: @ 80B1670 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSelectedMapObject - strb r0, [r2] - ldr r4, =gScriptLastTalked - ldr r3, =gMapObjects - lsls r2, r0, 3 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - ldrb r0, [r2, 0x8] - strh r0, [r4] - adds r1, 0x1 - adds r0, r1, 0 - bl BattleSetup_ConfigureTrainerBattle - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end TwoTrainersWantBattle - - thumb_func_start TwoTrainersWantBattleExecuteScript -@ void TwoTrainersWantBattleExecuteScript() -TwoTrainersWantBattleExecuteScript: @ 80B16A4 - push {lr} - ldr r0, =gUnknown_08271354 - bl ScriptContext1_SetupScript - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end TwoTrainersWantBattleExecuteScript - - thumb_func_start GetTrainerFlagFromScriptPointer -@ u8 GetTrainerFlagFromScriptPointer(u8 *scriptPointer) -GetTrainerFlagFromScriptPointer: @ 80B16B8 - push {lr} - adds r0, 0x2 - bl TrainerBattleLoadArg16 - lsls r0, 16 - movs r1, 0xA0 - lsls r1, 19 - adds r0, r1 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end GetTrainerFlagFromScriptPointer - - thumb_func_start sub_80B16D8 -sub_80B16D8: @ 80B16D8 - push {r4,lr} - ldr r0, =gSelectedMapObject - ldrb r0, [r0] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gMapObjects - adds r4, r0 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl npc_running_behaviour_by_direction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl npc_set_running_behaviour_etc - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B16D8 - - thumb_func_start sub_80B170C -sub_80B170C: @ 80B170C - ldr r0, =gUnknown_02038BC8 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_80B170C - - thumb_func_start check_trainer_flag -@ pokescrcmd -check_trainer_flag: @ 80B1718 - push {lr} - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _080B1734 - ldr r0, =gSelectedMapObject - ldrb r0, [r0] - bl GetBattlePyramidTrainerFlag - b _080B1752 - .pool -_080B1734: - bl InTrainerHill - cmp r0, 0 - bne _080B174A - bl trainerflag_opponent - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - b _080B1752 -_080B174A: - ldr r0, =gSelectedMapObject - ldrb r0, [r0] - bl GetTrainerHillTrainerFlag -_080B1752: - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end check_trainer_flag - - thumb_func_start rom_npc_set_flag_for_script_id -rom_npc_set_flag_for_script_id: @ 80B1760 - push {lr} - ldr r0, =gTrainerBattleOpponent_B - ldrh r0, [r0] - cmp r0, 0 - beq _080B1776 - bl sub_80B1290 - lsls r0, 16 - lsrs r0, 16 - bl FlagSet -_080B1776: - bl trainerflag_opponent - lsls r0, 16 - lsrs r0, 16 - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end rom_npc_set_flag_for_script_id - - thumb_func_start sub_80B178C -sub_80B178C: @ 80B178C - push {lr} - bl trainerflag_opponent - lsls r0, 16 - lsrs r0, 16 - bl FlagSet - pop {r0} - bx r0 - thumb_func_end sub_80B178C - - thumb_func_start HasTrainerAlreadyBeenFought -HasTrainerAlreadyBeenFought: @ 80B17A0 - push {lr} - lsls r0, 16 - movs r1, 0xA0 - lsls r1, 19 - adds r0, r1 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end HasTrainerAlreadyBeenFought - - thumb_func_start trainer_flag_set -trainer_flag_set: @ 80B17B8 - push {lr} - lsls r0, 16 - movs r1, 0xA0 - lsls r1, 19 - adds r0, r1 - lsrs r0, 16 - bl FlagSet - pop {r0} - bx r0 - thumb_func_end trainer_flag_set - - thumb_func_start trainer_flag_clear -trainer_flag_clear: @ 80B17CC - push {lr} - lsls r0, 16 - movs r1, 0xA0 - lsls r1, 19 - adds r0, r1 - lsrs r0, 16 - bl FlagClear - pop {r0} - bx r0 - thumb_func_end trainer_flag_clear - - thumb_func_start BattleSetup_StartTrainerBattle -BattleSetup_StartTrainerBattle: @ 80B17E0 - push {r4,lr} - ldr r0, =gUnknown_030060A8 - ldrb r0, [r0] - cmp r0, 0x2 - bne _080B17FC - ldr r1, =gBattleTypeFlags - ldr r0, =0x00008009 - b _080B1800 - .pool -_080B17FC: - ldr r1, =gBattleTypeFlags - movs r0, 0x8 -_080B1800: - str r0, [r1] - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _080B1884 - ldr r0, =0x0000400e - movs r1, 0 - bl VarSet - ldr r2, =gBattleTypeFlags - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 14 - orrs r0, r1 - str r0, [r2] - ldr r0, =gUnknown_030060A8 - ldrb r0, [r0] - cmp r0, 0x2 - bne _080B1864 - movs r0, 0x1 - bl sub_816306C - ldr r4, =gEnemyParty + 100 - adds r0, r4, 0 - bl ZeroMonData - adds r0, r4, 0 - adds r0, 0x64 - bl ZeroMonData - movs r1, 0x96 - lsls r1, 1 - adds r0, r4, r1 - bl ZeroMonData - movs r1, 0xC8 - lsls r1, 1 - adds r0, r4, r1 - bl ZeroMonData - b _080B187A - .pool -_080B1864: - movs r0, 0x1 - bl sub_8163048 - ldr r4, =gEnemyParty + 100 - adds r0, r4, 0 - bl ZeroMonData - adds r4, 0x64 - adds r0, r4, 0 - bl ZeroMonData -_080B187A: - bl sub_81A9B04 - b _080B18B8 - .pool -_080B1884: - bl sub_81D5C18 - lsls r0, 24 - cmp r0, 0 - beq _080B18B8 - ldr r2, =gBattleTypeFlags - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 19 - orrs r0, r1 - str r0, [r2] - ldr r0, =gUnknown_030060A8 - ldrb r0, [r0] - cmp r0, 0x2 - bne _080B18B0 - bl sub_81D639C - b _080B18B4 - .pool -_080B18B0: - bl sub_81D6384 -_080B18B4: - bl sub_81D61E8 -_080B18B8: - ldr r1, =gUnknown_02038BF9 - ldr r2, =gUnknown_030060A8 - ldrb r0, [r2] - strb r0, [r1] - movs r1, 0 - strb r1, [r2] - ldr r0, =gUnknown_02038BF8 - strb r1, [r0] - ldr r1, =gUnknown_03006080 - movs r0, 0 - strh r0, [r1] - ldr r1, =gMain - ldr r0, =sub_80B1918 - str r0, [r1, 0x8] - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080B18E8 - bl sub_81D5C18 - lsls r0, 24 - cmp r0, 0 - beq _080B1908 -_080B18E8: - bl sub_80B0828 - b _080B190C - .pool -_080B1908: - bl task_add_01_battle_start_with_music_and_stats -_080B190C: - bl ScriptContext1_Stop - pop {r4} - pop {r0} - bx r0 - thumb_func_end BattleSetup_StartTrainerBattle - - thumb_func_start sub_80B1918 -sub_80B1918: @ 80B1918 - push {lr} - ldr r0, =gTrainerBattleOpponent_A - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - beq _080B1946 - ldr r0, =gBattleOutcome - ldrb r0, [r0] - bl battle_exit_is_player_defeat - cmp r0, 0x1 - bne _080B1968 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080B1946 - bl sub_81D5C18 - lsls r0, 24 - cmp r0, 0 - beq _080B195C -_080B1946: - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 - b _080B198A - .pool -_080B195C: - ldr r0, =c2_whiteout - bl SetMainCallback2 - b _080B198A - .pool -_080B1968: - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080B198A - bl sub_81D5C18 - lsls r0, 24 - cmp r0, 0 - bne _080B198A - bl sub_80B20BC - bl rom_npc_set_flag_for_script_id -_080B198A: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B1918 - - thumb_func_start sub_80B1994 -sub_80B1994: @ 80B1994 - push {lr} - ldr r0, =gTrainerBattleOpponent_A - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - bne _080B19B4 - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 - b _080B19E2 - .pool -_080B19B4: - ldr r0, =gBattleOutcome - ldrb r0, [r0] - bl battle_exit_is_player_defeat - cmp r0, 0x1 - bne _080B19D0 - ldr r0, =c2_whiteout - bl SetMainCallback2 - b _080B19E2 - .pool -_080B19D0: - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 - bl sub_80B20BC - bl rom_npc_set_flag_for_script_id - bl sub_80B22BC -_080B19E2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B1994 - - thumb_func_start sub_80B19EC -sub_80B19EC: @ 80B19EC - push {lr} - ldr r1, =gBattleTypeFlags - movs r0, 0x8 - str r0, [r1] - ldr r1, =gMain - ldr r0, =sub_80B1994 - str r0, [r1, 0x8] - bl task_add_01_battle_start_with_music_and_stats - bl ScriptContext1_Stop - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B19EC - - thumb_func_start sub_80B1A14 -sub_80B1A14: @ 80B1A14 - push {lr} - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _080B1A7C - ldr r0, =gUnknown_030060A8 - ldrb r0, [r0] - cmp r0, 0x1 - bhi _080B1A44 - ldr r0, =gScriptLastTalked - ldrb r0, [r0] - bl sub_81A9AA8 - lsls r0, 16 - lsrs r0, 16 - bl sub_81A9EDC - b _080B1AD8 - .pool -_080B1A44: - ldr r3, =gMapObjects - ldr r2, =gUnknown_03006090 - ldr r0, =gUnknown_02038BFC - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x8] - bl sub_81A9AA8 - lsls r0, 16 - lsrs r0, 16 - bl sub_81A9EDC - b _080B1AD8 - .pool -_080B1A7C: - bl sub_81D5C18 - lsls r0, 24 - cmp r0, 0 - beq _080B1AEC - ldr r0, =gUnknown_030060A8 - ldrb r0, [r0] - cmp r0, 0x1 - bhi _080B1AAC - ldr r0, =gScriptLastTalked - ldrb r0, [r0] - bl battle_init - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x2 - bl sub_81D572C - b _080B1AD8 - .pool -_080B1AAC: - ldr r3, =gMapObjects - ldr r2, =gUnknown_03006090 - ldr r0, =gUnknown_02038BFC - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x8] - bl battle_init - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x2 - bl sub_81D572C -_080B1AD8: - bl sub_80982B8 - b _080B1AF4 - .pool -_080B1AEC: - bl sub_80B1C7C - bl ShowFieldMessage -_080B1AF4: - pop {r0} - bx r0 - thumb_func_end sub_80B1A14 - - thumb_func_start BattleSetup_GetScriptAddrAfterBattle -BattleSetup_GetScriptAddrAfterBattle: @ 80B1AF8 - push {lr} - ldr r0, =gUnknown_02038BEC - ldr r0, [r0] - cmp r0, 0 - bne _080B1B04 - ldr r0, =gUnknown_082C8436 -_080B1B04: - pop {r1} - bx r1 - .pool - thumb_func_end BattleSetup_GetScriptAddrAfterBattle - - thumb_func_start BattleSetup_GetTrainerPostBattleScript -BattleSetup_GetTrainerPostBattleScript: @ 80B1B10 - push {lr} - ldr r1, =gUnknown_02038BF8 - ldrb r2, [r1] - cmp r2, 0 - beq _080B1B3C - movs r0, 0 - strb r0, [r1] - ldr r0, =gUnknown_02038BF4 - ldr r2, [r0] - cmp r2, 0 - beq _080B1B54 - ldr r1, =gUnknown_03006080 - movs r0, 0x1 - strh r0, [r1] - adds r0, r2, 0 - b _080B1B56 - .pool -_080B1B3C: - ldr r0, =gUnknown_02038BF0 - ldr r1, [r0] - cmp r1, 0 - beq _080B1B54 - ldr r0, =gUnknown_03006080 - strh r2, [r0] - adds r0, r1, 0 - b _080B1B56 - .pool -_080B1B54: - ldr r0, =gUnknown_082742E6 -_080B1B56: - pop {r1} - bx r1 - .pool - thumb_func_end BattleSetup_GetTrainerPostBattleScript - - thumb_func_start special_trainer_unable_to_battle -special_trainer_unable_to_battle: @ 80B1B60 - push {lr} - bl sub_80B1D18 - bl ShowFieldMessage - pop {r0} - bx r0 - thumb_func_end special_trainer_unable_to_battle - - thumb_func_start SetUpTrainerEncounterMusic -@ void SetUpTrainerEncounterMusic() -SetUpTrainerEncounterMusic: @ 80B1B70 - push {lr} - ldr r0, =gUnknown_02038BFC - ldrb r0, [r0] - cmp r0, 0 - bne _080B1B88 - ldr r0, =gTrainerBattleOpponent_A - b _080B1B8A - .pool -_080B1B88: - ldr r0, =gTrainerBattleOpponent_B -_080B1B8A: - ldrh r1, [r0] - ldr r0, =gUnknown_02038BC8 - ldrh r0, [r0] - cmp r0, 0x1 - beq _080B1C62 - cmp r0, 0x8 - beq _080B1C62 - adds r0, r1, 0 - bl GetTrainerEncounterMusicId - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD - bhi _080B1C5C - lsls r0, 2 - ldr r1, =_080B1BBC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080B1BBC: - .4byte _080B1BF4 - .4byte _080B1BFA - .4byte _080B1C04 - .4byte _080B1C5C - .4byte _080B1C0C - .4byte _080B1C12 - .4byte _080B1C1C - .4byte _080B1C24 - .4byte _080B1C2C - .4byte _080B1C34 - .4byte _080B1C3C - .4byte _080B1C42 - .4byte _080B1C4C - .4byte _080B1C54 -_080B1BF4: - movs r0, 0xBE - lsls r0, 1 - b _080B1C5E -_080B1BFA: - ldr r0, =0x00000197 - b _080B1C5E - .pool -_080B1C04: - ldr r0, =0x0000017b - b _080B1C5E - .pool -_080B1C0C: - movs r0, 0xD0 - lsls r0, 1 - b _080B1C5E -_080B1C12: - ldr r0, =0x000001a1 - b _080B1C5E - .pool -_080B1C1C: - ldr r0, =0x000001a3 - b _080B1C5E - .pool -_080B1C24: - ldr r0, =0x000001b9 - b _080B1C5E - .pool -_080B1C2C: - ldr r0, =0x00000181 - b _080B1C5E - .pool -_080B1C34: - ldr r0, =0x000001c1 - b _080B1C5E - .pool -_080B1C3C: - movs r0, 0xE1 - lsls r0, 1 - b _080B1C5E -_080B1C42: - ldr r0, =0x000001c3 - b _080B1C5E - .pool -_080B1C4C: - ldr r0, =0x000001c5 - b _080B1C5E - .pool -_080B1C54: - ldr r0, =0x0000018d - b _080B1C5E - .pool -_080B1C5C: - ldr r0, =0x000001a7 -_080B1C5E: - bl PlayNewMapMusic -_080B1C62: - pop {r0} - bx r0 - .pool - thumb_func_end SetUpTrainerEncounterMusic - - thumb_func_start ReturnEmptyStringIfNull -@ u8 *ReturnEmptyStringIfNull(u8 *str) -ReturnEmptyStringIfNull: @ 80B1C6C - push {lr} - cmp r0, 0 - bne _080B1C74 - ldr r0, =gText_EmptyString2 -_080B1C74: - pop {r1} - bx r1 - .pool - thumb_func_end ReturnEmptyStringIfNull - - thumb_func_start sub_80B1C7C -sub_80B1C7C: @ 80B1C7C - push {lr} - ldr r0, =gUnknown_02038BFC - ldrb r0, [r0] - cmp r0, 0 - beq _080B1C94 - ldr r0, =gUnknown_02038BD8 - b _080B1C96 - .pool -_080B1C94: - ldr r0, =gUnknown_02038BD4 -_080B1C96: - ldr r0, [r0] - bl ReturnEmptyStringIfNull - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B1C7C - - thumb_func_start GetTrainer1LoseText -GetTrainer1LoseText: @ 80B1CA4 - push {r4,lr} - ldr r0, =gTrainerBattleOpponent_A - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - bne _080B1CBC - bl sub_80EA250 - b _080B1CC0 - .pool -_080B1CBC: - ldr r0, =gUnknown_02038BDC - ldr r0, [r0] -_080B1CC0: - ldr r4, =gStringVar4 - bl ReturnEmptyStringIfNull - adds r1, r0, 0 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end GetTrainer1LoseText - - thumb_func_start GetTrainer2LoseText -GetTrainer2LoseText: @ 80B1CE0 - push {r4,lr} - ldr r4, =gStringVar4 - ldr r0, =gUnknown_02038BE0 - ldr r0, [r0] - bl ReturnEmptyStringIfNull - adds r1, r0, 0 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end GetTrainer2LoseText - - thumb_func_start sub_80B1D04 -sub_80B1D04: @ 80B1D04 - push {lr} - ldr r0, =gUnknown_02038BE4 - ldr r0, [r0] - bl ReturnEmptyStringIfNull - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B1D04 - - thumb_func_start sub_80B1D18 -sub_80B1D18: @ 80B1D18 - push {lr} - ldr r0, =gUnknown_02038BE8 - ldr r0, [r0] - bl ReturnEmptyStringIfNull - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B1D18 - - thumb_func_start sub_80B1D2C -sub_80B1D2C: @ 80B1D2C - push {lr} - lsls r1, 16 - lsrs r1, 16 - movs r3, 0 - adds r2, r0, 0 -_080B1D36: - ldrh r0, [r2] - cmp r0, r1 - bne _080B1D40 - adds r0, r3, 0 - b _080B1D4C -_080B1D40: - adds r2, 0x10 - adds r3, 0x1 - cmp r3, 0x4D - ble _080B1D36 - movs r0, 0x1 - negs r0, r0 -_080B1D4C: - pop {r1} - bx r1 - thumb_func_end sub_80B1D2C - - thumb_func_start sub_80B1D50 -sub_80B1D50: @ 80B1D50 - push {r4,r5,lr} - lsls r1, 16 - lsrs r5, r1, 16 - movs r4, 0 - adds r2, r0, 0 -_080B1D5A: - movs r1, 0 - ldrh r0, [r2] - cmp r0, 0 - beq _080B1D80 - movs r3, 0 -_080B1D64: - adds r0, r2, r3 - ldrh r0, [r0] - cmp r0, r5 - bne _080B1D70 - adds r0, r4, 0 - b _080B1D8C -_080B1D70: - adds r3, 0x2 - adds r1, 0x1 - cmp r1, 0x4 - bgt _080B1D80 - adds r0, r2, r3 - ldrh r0, [r0] - cmp r0, 0 - bne _080B1D64 -_080B1D80: - adds r2, 0x10 - adds r4, 0x1 - cmp r4, 0x4D - ble _080B1D5A - movs r0, 0x1 - negs r0, r0 -_080B1D8C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B1D50 - - thumb_func_start sub_80B1D94 -sub_80B1D94: @ 80B1D94 - push {lr} - cmp r0, 0x48 - ble _080B1D9E - movs r0, 0x1 - b _080B1DB8 -_080B1D9E: - cmp r0, 0x40 - bne _080B1DB6 - movs r0, 0x7E - bl FlagGet - movs r1, 0 - lsls r0, 24 - cmp r0, 0 - bne _080B1DB2 - movs r1, 0x1 -_080B1DB2: - adds r0, r1, 0 - b _080B1DB8 -_080B1DB6: - movs r0, 0 -_080B1DB8: - pop {r1} - bx r1 - thumb_func_end sub_80B1D94 - - thumb_func_start sub_80B1DBC -sub_80B1DBC: @ 80B1DBC - push {r4-r6,lr} - adds r6, r1, 0 - movs r5, 0x1 - lsls r1, r6, 4 - adds r1, r0 - adds r4, r1, 0x2 - b _080B1DCE -_080B1DCA: - adds r4, 0x2 - adds r5, 0x1 -_080B1DCE: - cmp r5, 0x4 - bgt _080B1DE2 - ldrh r0, [r4] - cmp r0, 0 - beq _080B1DE2 - bl HasTrainerAlreadyBeenFought - lsls r0, 24 - cmp r0, 0 - bne _080B1DCA -_080B1DE2: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x000009ca - adds r0, r1 - adds r0, r6 - strb r5, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B1DBC - - thumb_func_start sub_80B1DFC -sub_80B1DFC: @ 80B1DFC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - movs r7, 0 - movs r5, 0 - adds r4, r6, 0 - adds r4, 0xA -_080B1E1A: - ldrh r0, [r4] - cmp r0, r9 - bne _080B1E74 - ldrh r0, [r4, 0x2] - cmp r0, r8 - bne _080B1E74 - adds r0, r5, 0 - bl sub_80B1D94 - cmp r0, 0 - bne _080B1E74 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x000009ca - adds r0, r1 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0 - bne _080B1E72 - movs r1, 0xAE - lsls r1, 1 - adds r0, r5, r1 - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080B1E74 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1E - bhi _080B1E74 - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_80B1DBC -_080B1E72: - movs r7, 0x1 -_080B1E74: - adds r4, 0x10 - adds r5, 0x1 - cmp r5, 0x40 - ble _080B1E1A - adds r0, r7, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B1DFC - - thumb_func_start sub_80B1E94 -sub_80B1E94: @ 80B1E94 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gUnknown_085500A4 - lsls r0, r4, 4 - adds r0, r5 - ldrh r0, [r0] - bl HasTrainerAlreadyBeenFought - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B1EB4 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80B1DBC -_080B1EB4: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B1E94 - - thumb_func_start sub_80B1EC0 -sub_80B1EC0: @ 80B1EC0 - push {r4-r6,lr} - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - movs r1, 0 - adds r3, r0, 0 - adds r3, 0xA - ldr r5, =gSaveBlock1Ptr -_080B1ED2: - ldrh r0, [r3] - cmp r0, r4 - bne _080B1EF8 - ldrh r0, [r3, 0x2] - cmp r0, r2 - bne _080B1EF8 - ldr r0, [r5] - ldr r6, =0x000009ca - adds r0, r6 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080B1EF8 - movs r0, 0x1 - b _080B1F02 - .pool -_080B1EF8: - adds r3, 0x10 - adds r1, 0x1 - cmp r1, 0x4D - ble _080B1ED2 - movs r0, 0 -_080B1F02: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80B1EC0 - - thumb_func_start sub_80B1F08 -sub_80B1F08: @ 80B1F08 - push {r4,lr} - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - movs r1, 0 - adds r3, r0, 0 - adds r3, 0xA -_080B1F18: - ldrh r0, [r3] - cmp r0, r4 - bne _080B1F28 - ldrh r0, [r3, 0x2] - cmp r0, r2 - bne _080B1F28 - movs r0, 0x1 - b _080B1F32 -_080B1F28: - adds r3, 0x10 - adds r1, 0x1 - cmp r1, 0x4D - ble _080B1F18 - movs r0, 0 -_080B1F32: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B1F08 - - thumb_func_start sub_80B1F38 -sub_80B1F38: @ 80B1F38 - push {lr} - lsls r1, 16 - lsrs r1, 16 - bl sub_80B1D2C - adds r1, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080B1F6C - cmp r1, 0x63 - bgt _080B1F6C - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x000009ca - adds r0, r2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080B1F6C - movs r0, 0x1 - b _080B1F6E - .pool -_080B1F6C: - movs r0, 0 -_080B1F6E: - pop {r1} - bx r1 - thumb_func_end sub_80B1F38 - - thumb_func_start sub_80B1F74 -sub_80B1F74: @ 80B1F74 - push {lr} - lsls r1, 16 - lsrs r1, 16 - bl sub_80B1D50 - adds r1, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080B1FA8 - cmp r1, 0x63 - bgt _080B1FA8 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x000009ca - adds r0, r2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080B1FA8 - movs r0, 0x1 - b _080B1FAA - .pool -_080B1FA8: - movs r0, 0 -_080B1FAA: - pop {r1} - bx r1 - thumb_func_end sub_80B1F74 - - thumb_func_start sub_80B1FB0 -sub_80B1FB0: @ 80B1FB0 - push {r4-r7,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - bl sub_80B1D2C - adds r1, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080B1FD8 - movs r0, 0 - b _080B1FFE -_080B1FCA: - subs r0, r6, 0x1 - lsls r0, 1 - adds r0, r7, r0 - ldrh r0, [r0] - b _080B1FFE -_080B1FD4: - ldrh r0, [r5] - b _080B1FFE -_080B1FD8: - lsls r0, r1, 4 - adds r7, r4, r0 - movs r6, 0x1 - adds r5, r7, 0x2 - adds r4, r5, 0 -_080B1FE2: - ldrh r0, [r4] - cmp r0, 0 - beq _080B1FCA - bl HasTrainerAlreadyBeenFought - lsls r0, 24 - cmp r0, 0 - beq _080B1FD4 - adds r4, 0x2 - adds r5, 0x2 - adds r6, 0x1 - cmp r6, 0x4 - ble _080B1FE2 - ldrh r0, [r7, 0x8] -_080B1FFE: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80B1FB0 - - thumb_func_start sub_80B2004 -sub_80B2004: @ 80B2004 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - bl sub_80B1D2C - adds r1, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080B2032 - movs r0, 0 - b _080B2054 -_080B201E: - subs r0, r5, 0x1 - lsls r0, 1 - adds r0, r6, r0 - ldrh r0, [r0] - b _080B2054 -_080B2028: - subs r0, r5, 0x1 - lsls r0, 1 - adds r0, r6, r0 - ldrh r0, [r0] - b _080B2054 -_080B2032: - lsls r0, r1, 4 - adds r6, r4, r0 - movs r5, 0x1 - adds r4, r6, 0x2 -_080B203A: - ldrh r0, [r4] - cmp r0, 0 - beq _080B201E - bl HasTrainerAlreadyBeenFought - lsls r0, 24 - cmp r0, 0 - beq _080B2028 - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x4 - ble _080B203A - ldrh r0, [r6, 0x8] -_080B2054: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80B2004 - - thumb_func_start sub_80B205C -sub_80B205C: @ 80B205C - push {lr} - lsls r1, 16 - lsrs r1, 16 - bl sub_80B1D50 - adds r1, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080B207E - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x000009ca - adds r0, r2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_080B207E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B205C - - thumb_func_start sub_80B208C -sub_80B208C: @ 80B208C - push {r4,lr} - adds r3, r0, 0 - movs r1, 0 - movs r4, 0xAE - lsls r4, 1 - ldr r2, =gUnknown_085500A4 -_080B2098: - ldrh r0, [r2] - cmp r0, r3 - bne _080B20A8 - adds r0, r1, r4 - b _080B20B2 - .pool -_080B20A8: - adds r2, 0x10 - adds r1, 0x1 - cmp r1, 0x4D - ble _080B2098 - ldr r0, =0x0000ffff -_080B20B2: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B208C - - thumb_func_start sub_80B20BC -sub_80B20BC: @ 80B20BC - push {lr} - ldr r0, =0x0000012f - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080B20E2 - ldr r0, =gTrainerBattleOpponent_A - ldrh r0, [r0] - bl sub_80B208C - adds r1, r0, 0 - ldr r0, =0x0000ffff - cmp r1, r0 - beq _080B20E2 - lsls r0, r1, 16 - lsrs r0, 16 - bl FlagSet -_080B20E2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B20BC - - thumb_func_start sub_80B20F4 -sub_80B20F4: @ 80B20F4 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - bl sub_80B1D2C - adds r1, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080B211E - lsls r0, r1, 4 - adds r0, r4 - ldrh r0, [r0, 0x2] - bl HasTrainerAlreadyBeenFought - lsls r0, 24 - cmp r0, 0 - beq _080B211E - movs r0, 0x1 - b _080B2120 -_080B211E: - movs r0, 0 -_080B2120: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B20F4 - - thumb_func_start sub_80B2128 -sub_80B2128: @ 80B2128 - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 - ldr r4, =gUnknown_08550584 -_080B2130: - ldrh r0, [r4] - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B214C - adds r6, 0x1 - cmp r6, 0x4 - ble _080B214C - movs r0, 0x1 - b _080B2156 - .pool -_080B214C: - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x7 - bls _080B2130 - movs r0, 0 -_080B2156: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80B2128 - - thumb_func_start sub_80B215C -sub_80B215C: @ 80B215C - push {lr} - bl sub_80B2128 - cmp r0, 0 - beq _080B2184 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x000009c8 - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, 0xFE - bls _080B2180 - movs r0, 0xFF - b _080B2182 - .pool -_080B2180: - adds r0, 0x1 -_080B2182: - strh r0, [r1] -_080B2184: - pop {r0} - bx r0 - thumb_func_end sub_80B215C - - thumb_func_start sub_80B2188 -sub_80B2188: @ 80B2188 - push {lr} - bl sub_80B2128 - cmp r0, 0 - beq _080B21AC - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x000009c8 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0xFE - bls _080B21AC - movs r0, 0x1 - b _080B21AE - .pool -_080B21AC: - movs r0, 0 -_080B21AE: - pop {r1} - bx r1 - thumb_func_end sub_80B2188 - - thumb_func_start sub_80B21B4 -sub_80B21B4: @ 80B21B4 - push {r4,r5,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - bl sub_80B2188 - cmp r0, 0 - beq _080B21E0 - ldr r0, =gUnknown_085500A4 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_80B1DFC - cmp r0, 0x1 - bne _080B21E0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x000009c8 - adds r0, r1 - movs r1, 0 - strh r1, [r0] -_080B21E0: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B21B4 - - thumb_func_start sub_80B21F4 -sub_80B21F4: @ 80B21F4 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - lsls r3, 16 - lsrs r3, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r0, =gUnknown_085500A4 - adds r1, r3, 0 - bl sub_80B1EC0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B21F4 - - thumb_func_start sub_80B2214 -sub_80B2214: @ 80B2214 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - lsls r3, 16 - lsrs r3, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r0, =gUnknown_085500A4 - adds r1, r3, 0 - bl sub_80B1F08 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B2214 - - thumb_func_start sub_80B2234 -sub_80B2234: @ 80B2234 - push {lr} - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, =gUnknown_085500A4 - bl sub_80B1FB0 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B2234 - - thumb_func_start sub_80B2250 -sub_80B2250: @ 80B2250 - push {lr} - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, =gUnknown_085500A4 - bl sub_80B2004 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B2250 - - thumb_func_start sub_80B226C -sub_80B226C: @ 80B226C - push {r4,r5,lr} - ldr r5, =gUnknown_085500A4 - ldr r4, =gTrainerBattleOpponent_A - ldrh r1, [r4] - adds r0, r5, 0 - bl sub_80B1F38 - lsls r0, 24 - cmp r0, 0 - bne _080B2298 - ldrh r1, [r4] - adds r0, r5, 0 - bl sub_80B20F4 - lsls r0, 24 - lsrs r0, 24 - b _080B229A - .pool -_080B2298: - movs r0, 0x1 -_080B229A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B226C - - thumb_func_start sub_80B22A0 -sub_80B22A0: @ 80B22A0 - push {lr} - ldr r0, =gUnknown_085500A4 - ldr r1, =gTrainerBattleOpponent_A - ldrh r1, [r1] - bl sub_80B1F74 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B22A0 - - thumb_func_start sub_80B22BC -sub_80B22BC: @ 80B22BC - push {lr} - ldr r0, =gUnknown_085500A4 - ldr r1, =gTrainerBattleOpponent_A - ldrh r1, [r1] - bl sub_80B205C - bl rom_npc_set_flag_for_script_id - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B22BC - - thumb_func_start CheckIfMultipleTrainersWantBattle -CheckIfMultipleTrainersWantBattle: @ 80B22D8 - push {lr} - ldr r1, =gUnknown_02038BF9 - ldrb r0, [r1] - cmp r0, 0x1 - bls _080B2300 - movs r0, 0 - strb r0, [r1] - ldr r1, =gUnknown_02038BF8 - movs r0, 0x1 - strb r0, [r1] - ldr r1, =gScriptResult - movs r0, 0x1 - b _080B230A - .pool -_080B2300: - ldr r1, =gUnknown_02038BF8 - movs r0, 0 - strb r0, [r1] - ldr r1, =gScriptResult - movs r0, 0 -_080B230A: - strh r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end CheckIfMultipleTrainersWantBattle - - thumb_func_start sub_80B2318 -sub_80B2318: @ 80B2318 - push {r4-r7,lr} - lsls r0, 16 - ldr r7, =gUnknown_085500A4 - lsrs r4, r0, 12 - adds r6, r4, r7 - ldrh r0, [r6] - bl HasTrainerAlreadyBeenFought - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B2338 - movs r0, 0 - b _080B2364 - .pool -_080B2338: - movs r5, 0x1 - adds r0, r4, 0x2 - adds r0, r7 - ldrh r0, [r0] - cmp r0, 0 - beq _080B2360 - adds r4, r6, 0x2 -_080B2346: - ldrh r0, [r4] - bl HasTrainerAlreadyBeenFought - lsls r0, 24 - cmp r0, 0 - beq _080B2360 - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x4 - bgt _080B2360 - ldrh r0, [r4] - cmp r0, 0 - bne _080B2346 -_080B2360: - lsls r0, r5, 16 - lsrs r0, 16 -_080B2364: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80B2318 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_tent.s b/asm/battle_tent.s old mode 100755 new mode 100644 index 5cb92dbedb..8253d4f985 --- a/asm/battle_tent.s +++ b/asm/battle_tent.s @@ -57,7 +57,7 @@ sub_81B99D4: @ 81B99D4 thumb_func_start sub_81B9A28 sub_81B9A28: @ 81B9A28 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000e6a @@ -196,12 +196,12 @@ sub_81B9B28: @ 81B9B28 adds r0, r1 movs r1, 0 strh r1, [r0] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r5, [r0] b _081B9B76 .pool _081B9B70: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] _081B9B76: @@ -263,7 +263,7 @@ sub_81B9BA0: @ 81B9BA0 thumb_func_start sub_81B9BF4 sub_81B9BF4: @ 81B9BF4 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000e6c @@ -357,12 +357,12 @@ sub_81B9C98: @ 81B9C98 adds r0, r1 movs r1, 0 strh r1, [r0] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r5, [r0] b _081B9CE6 .pool _081B9CE0: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] _081B9CE6: @@ -436,7 +436,7 @@ sub_81B9D28: @ 81B9D28 thumb_func_start sub_81B9D7C sub_81B9D7C: @ 81B9D7C - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000e6e @@ -530,12 +530,12 @@ sub_81B9E20: @ 81B9E20 adds r0, r1 movs r1, 0 strh r1, [r0] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r5, [r0] b _081B9E6E .pool _081B9E68: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] _081B9E6E: diff --git a/asm/battle_tower.s b/asm/battle_tower.s old mode 100755 new mode 100644 index 122d9d27c8..d92881024c --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -132,12 +132,12 @@ _08162094: lsls r1, 24 lsrs r1, 24 bl sub_8164FCC - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result strh r0, [r1] b _081620E8 .pool _081620A8: - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result ldr r2, [r5] ldr r0, =0x00000cdc adds r2, r0 @@ -294,7 +294,7 @@ _081621EE: adds r0, 0x1 strh r0, [r1] bl sub_8163E90 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, [r5] adds r0, r4 ldrh r0, [r0] @@ -1340,7 +1340,7 @@ GetFrontierTrainerFrontSpriteId: @ 8162AA0 lsls r0, 1 cmp r4, r0 bne _08162AD0 - ldr r1, =gUnknown_0831F578 + ldr r1, =gFacilityClassToPicIndex ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000bed @@ -1362,7 +1362,7 @@ _08162AE4: ldr r0, =0x0000012b cmp r4, r0 bhi _08162B08 - ldr r2, =gUnknown_0831F578 + ldr r2, =gFacilityClassToPicIndex ldr r0, =gUnknown_0203BC88 ldr r1, [r0] movs r0, 0x34 @@ -1383,7 +1383,7 @@ _08162B08: ands r0, r1 cmp r0, 0 beq _08162B38 - ldr r4, =gUnknown_0831F578 + ldr r4, =gFacilityClassToPicIndex bl sub_818649C lsls r0, 24 lsrs r0, 24 @@ -1391,7 +1391,7 @@ _08162B08: b _08162BC8 .pool _08162B38: - ldr r3, =gUnknown_0831F578 + ldr r3, =gFacilityClassToPicIndex ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r1, =0xfffffed4 @@ -1413,7 +1413,7 @@ _08162B64: ands r0, r1 cmp r0, 0 bne _08162BB0 - ldr r4, =gUnknown_0831F578 + ldr r4, =gFacilityClassToPicIndex ldr r3, =gUnknown_08610970 ldr r0, =gSaveBlock2Ptr ldr r1, [r0] @@ -1436,7 +1436,7 @@ _08162B64: b _08162BC8 .pool _08162BB0: - ldr r5, =gUnknown_0831F578 + ldr r5, =gFacilityClassToPicIndex ldr r4, =gUnknown_08610970 bl sub_81864A8 lsls r0, 24 @@ -1467,7 +1467,7 @@ GetFrontierOpponentClass: @ 8162BD8 lsls r0, 1 cmp r4, r0 bne _08162C08 - ldr r1, =gTrainerClassToNameIndex + ldr r1, =gFacilityClassToTrainerClass ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000bed @@ -1499,7 +1499,7 @@ _08162C38: ldr r0, =0x0000012b cmp r4, r0 bhi _08162C60 - ldr r2, =gTrainerClassToNameIndex + ldr r2, =gFacilityClassToTrainerClass ldr r0, =gUnknown_0203BC88 ldr r1, [r0] movs r0, 0x34 @@ -1521,7 +1521,7 @@ _08162C60: ands r0, r1 cmp r0, 0 beq _08162C90 - ldr r4, =gTrainerClassToNameIndex + ldr r4, =gFacilityClassToTrainerClass bl sub_818649C lsls r0, 24 lsrs r0, 24 @@ -1530,7 +1530,7 @@ _08162C60: b _08162D1E .pool _08162C90: - ldr r3, =gTrainerClassToNameIndex + ldr r3, =gFacilityClassToTrainerClass ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r1, =0xfffffed4 @@ -1553,7 +1553,7 @@ _08162CBC: ands r0, r1 cmp r0, 0 beq _08162CF4 - ldr r5, =gTrainerClassToNameIndex + ldr r5, =gFacilityClassToTrainerClass ldr r4, =gUnknown_08610970 bl sub_81864A8 lsls r0, 24 @@ -1568,7 +1568,7 @@ _08162CBC: b _08162D1E .pool _08162CF4: - ldr r4, =gTrainerClassToNameIndex + ldr r4, =gFacilityClassToTrainerClass ldr r3, =gUnknown_08610970 ldr r0, =gSaveBlock2Ptr ldr r1, [r0] @@ -1736,7 +1736,7 @@ _08162E68: ldr r0, =0x00000c03 cmp r5, r0 bne _08162E88 - ldr r2, =gTrainers + TRAINER_STEVEN * 0x28 + 0x4 @ Steven's name + ldr r2, =gTrainers + 804 * 0x28 + 0x4 @ TRAINER_STEVEN name _08162E70: adds r0, r6, r4 adds r1, r4, r2 @@ -3534,7 +3534,7 @@ _08163E10: bl sub_80B100C lsls r0, 24 lsrs r0, 24 - bl sub_8145EF4 + bl BattleTransition_StartOnField b _08163E68 .pool _08163E2C: @@ -3544,14 +3544,14 @@ _08163E2C: ldr r5, =0x00000c03 adds r0, r5, 0 bl sub_8165404 - ldr r4, =gUnknown_02038BFC + ldr r4, =gApproachingTrainerId movs r0, 0 strb r0, [r4] - ldr r0, =gUnknown_08224158 + ldr r0, =MossdeepCity_SpaceCenter_2F_EventScript_224157 + 1 bl BattleSetup_ConfigureTrainerBattle movs r0, 0x1 strb r0, [r4] - ldr r0, =gUnknown_08224167 + ldr r0, =MossdeepCity_SpaceCenter_2F_EventScript_224166 + 1 bl BattleSetup_ConfigureTrainerBattle ldr r0, =gPartnerTrainerId strh r5, [r0] @@ -3561,7 +3561,7 @@ _08163E2C: movs r0, 0 bl PlayMapChosenOrBattleBGM movs r0, 0x12 - bl sub_8145EF4 + bl BattleTransition_StartOnField _08163E68: add sp, 0x4 pop {r4-r6} @@ -4714,7 +4714,7 @@ sub_8164828: @ 8164828 lsls r0, 16 lsrs r0, 16 mov r8, r0 - ldr r0, =gScriptLastTalked + ldr r0, =gSpecialVar_LastTalked ldrh r0, [r0] subs r5, r0, 0x2 ldr r0, =gSaveBlock2Ptr @@ -5076,7 +5076,7 @@ sub_8164B74: @ 8164B74 adds r0, r2 ldrh r6, [r0] bl GetMultiplayerId - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0x6 bls _08164BAC @@ -5126,7 +5126,7 @@ _08164C18: mov r1, sp movs r2, 0x4 bl SendBlock - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 b _08164DB4 .pool @@ -5204,7 +5204,7 @@ _08164CB0: mov r4, r8 cmp r4, 0xD ble _08164C68 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x2 b _08164DB4 .pool @@ -5222,7 +5222,7 @@ _08164CE0: adds r1, r3 movs r2, 0x28 bl SendBlock - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x3 b _08164DB4 .pool @@ -5268,13 +5268,13 @@ _08164D14: ldrb r0, [r0] cmp r0, 0 bne _08164DB0 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x4 b _08164DB4 .pool _08164D98: bl sub_800AC34 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x5 b _08164DB4 .pool @@ -5284,7 +5284,7 @@ _08164DA8: cmp r0, 0 bne _08164DB6 _08164DB0: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x6 _08164DB4: strh r0, [r1] @@ -5354,7 +5354,7 @@ sub_8164E04: @ 8164E04 adds r0, r2 ldrh r1, [r5] bl sub_8165B88 - ldr r6, =gBattlePartyID + ldr r6, =gBattlerPartyIndexes ldrh r0, [r6, 0x2] movs r5, 0x64 muls r0, r5 @@ -5625,7 +5625,7 @@ sub_816502C: @ 816502C movs r0, 0x45 mov r10, r0 _0816506A: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result mov r9, r1 movs r0, 0 strh r0, [r1] @@ -5681,7 +5681,7 @@ _081650D4: cmp r6, r8 blt _0816508C _081650DC: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0 beq _08165132 @@ -5845,7 +5845,7 @@ _08165206: thumb_func_start GetEreaderTrainerFrontSpriteId GetEreaderTrainerFrontSpriteId: @ 8165244 - ldr r1, =gUnknown_0831F578 + ldr r1, =gFacilityClassToPicIndex ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000bed @@ -5859,7 +5859,7 @@ GetEreaderTrainerFrontSpriteId: @ 8165244 thumb_func_start GetEreaderTrainerClassId GetEreaderTrainerClassId: @ 8165264 - ldr r1, =gTrainerClassToNameIndex + ldr r1, =gFacilityClassToTrainerClass ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000bed @@ -5898,10 +5898,10 @@ _08165294: .pool thumb_func_end GetEreaderTrainerName - thumb_func_start sub_81652B4 -sub_81652B4: @ 81652B4 + thumb_func_start ValidateEReaderTrainer +ValidateEReaderTrainer: @ 81652B4 push {r4-r6,lr} - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result movs r0, 0 strh r0, [r2] ldr r1, =gSaveBlock2Ptr @@ -5943,7 +5943,7 @@ _081652F2: ldr r3, =0x00000bec adds r0, r1, r3 bl sub_816534C - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _08165316: @@ -5951,7 +5951,7 @@ _08165316: pop {r0} bx r0 .pool - thumb_func_end sub_81652B4 + thumb_func_end ValidateEReaderTrainer thumb_func_start sub_8165328 sub_8165328: @ 8165328 @@ -6193,7 +6193,7 @@ _081654DE: adds r4, r0 adds r0, r4, 0 movs r1, 0x7 - ldr r2, =gTrainers + TRAINER_STEVEN * 0x28 + 0x4 @ Steven's name + ldr r2, =gTrainers + 804 * 0x28 + 0x4 @ TRAINER_STEVEN name bl SetMonData movs r0, 0 str r0, [sp, 0x44] diff --git a/asm/battle_transition.s b/asm/battle_transition.s deleted file mode 100644 index 6ffa173204..0000000000 --- a/asm/battle_transition.s +++ /dev/null @@ -1,9826 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start CB2_TestBattleTransition -CB2_TestBattleTransition: @ 8145E84 - push {r4,lr} - ldr r4, =sTestingTransitionState - ldrb r0, [r4] - cmp r0, 0 - beq _08145E98 - cmp r0, 0x1 - beq _08145EAC - b _08145EC0 - .pool -_08145E98: - ldr r0, =sTestingTransitionId - ldrb r0, [r0] - bl LaunchBattleTransitionTask - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _08145EC0 - .pool -_08145EAC: - bl IsBattleTransitionDone - lsls r0, 24 - cmp r0, 0 - beq _08145EC0 - movs r0, 0 - strb r0, [r4] - ldr r0, =c2_exit_to_overworld_2_switch - bl SetMainCallback2 -_08145EC0: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end CB2_TestBattleTransition - - thumb_func_start TestBattleTransition -TestBattleTransition: @ 8145EDC - push {lr} - ldr r1, =sTestingTransitionId - strb r0, [r1] - ldr r0, =CB2_TestBattleTransition - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end TestBattleTransition - - thumb_func_start sub_8145EF4 -sub_8145EF4: @ 8145EF4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gMain - ldr r1, =sub_8085E50 - str r1, [r2, 0x4] - bl LaunchBattleTransitionTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_8145EF4 - - thumb_func_start sub_8145F10 -sub_8145F10: @ 8145F10 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl LaunchBattleTransitionTask - pop {r0} - bx r0 - thumb_func_end sub_8145F10 - - thumb_func_start IsBattleTransitionDone -IsBattleTransitionDone: @ 8145F20 - push {r4,lr} - ldr r0, =Task_BattleTransitionMain - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - movs r1, 0x26 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08145F4C - movs r0, 0 - b _08145F60 - .pool -_08145F4C: - adds r0, r2, 0 - bl DestroyTask - ldr r4, =sTransitionStructPtr - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] - movs r0, 0x1 -_08145F60: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end IsBattleTransitionDone - - thumb_func_start LaunchBattleTransitionTask -LaunchBattleTransitionTask: @ 8145F6C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =Task_BattleTransitionMain - movs r1, 0x2 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0xA] - ldr r4, =sTransitionStructPtr - movs r0, 0x3C - bl AllocZeroed - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end LaunchBattleTransitionTask - - thumb_func_start Task_BattleTransitionMain -Task_BattleTransitionMain: @ 8145FA8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8A98 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08145FBA: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08145FBA - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end Task_BattleTransitionMain - - thumb_func_start sub_8145FE0 -sub_8145FE0: @ 8145FE0 - push {r4,lr} - adds r4, r0, 0 - bl sub_80AC3D0 - ldr r0, =gPlttBufferFaded - ldr r1, =gPlttBufferUnfaded - ldr r2, =0x04000100 - bl CpuSet - ldr r1, =gUnknown_085C8948 - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - bne _0814601C - movs r0, 0x2 - strh r0, [r4, 0x8] - movs r0, 0x1 - b _0814602A - .pool -_0814601C: - movs r1, 0x4 - bl CreateTask - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 -_0814602A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8145FE0 - - thumb_func_start sub_8146030 -sub_8146030: @ 8146030 - push {r4,lr} - adds r4, r0, 0 - ldr r1, =gUnknown_085C8948 - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08146054 - movs r0, 0 - b _0814605C - .pool -_08146054: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 -_0814605C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8146030 - - thumb_func_start sub_8146064 -sub_8146064: @ 8146064 - push {r4,lr} - adds r4, r0, 0 - ldr r1, =gUnknown_085C89F0 - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - bl CreateTask - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146064 - - thumb_func_start sub_814608C -sub_814608C: @ 814608C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0 - strh r0, [r4, 0x26] - ldr r1, =gUnknown_085C89F0 - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _081460B0 - movs r0, 0x1 - strh r0, [r4, 0x26] -_081460B0: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814608C - - thumb_func_start sub_81460BC -sub_81460BC: @ 81460BC - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - ldrh r2, [r1, 0x8] - movs r3, 0x8 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _081460F4 - adds r0, r2, 0x1 - strh r0, [r1, 0x8] - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - movs r1, 0 - movs r2, 0x3 - movs r3, 0x2 - bl sub_8149D78 - b _08146104 - .pool -_081460F4: - bl sub_8149DDC - lsls r0, 24 - cmp r0, 0 - beq _08146104 - adds r0, r4, 0 - bl DestroyTask -_08146104: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81460BC - - thumb_func_start sub_814610C -sub_814610C: @ 814610C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8AA8 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814611E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814611E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814610C - - thumb_func_start sub_8146144 -sub_8146144: @ 8146144 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - movs r0, 0xA - movs r1, 0x40 - bl SetGpuRegBits - movs r0, 0xC - movs r1, 0x40 - bl SetGpuRegBits - movs r0, 0xE - movs r1, 0x40 - bl SetGpuRegBits - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8146144 - - thumb_func_start sub_8146178 -sub_8146178: @ 8146178 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0xA] - movs r1, 0xA - ldrsh r2, [r4, r1] - cmp r2, 0 - beq _0814618E - subs r0, 0x1 - strh r0, [r4, 0xA] - b _081461CE -_0814618E: - movs r0, 0x4 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _081461B0 - movs r1, 0x1 - negs r1, r1 - str r2, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_081461B0: - ldrh r1, [r4, 0xC] - movs r0, 0xF - ands r0, r1 - lsls r1, r0, 4 - orrs r1, r0 - movs r0, 0x4C - bl SetGpuReg - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0xE - ble _081461CE - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_081461CE: - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8146178 - - thumb_func_start sub_81461D8 -sub_81461D8: @ 81461D8 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081461F4 - ldr r0, =sub_814610C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081461F4: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81461D8 - - thumb_func_start sub_8146204 -sub_8146204: @ 8146204 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8AB4 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08146216: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08146216 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146204 - - thumb_func_start sub_814623C -sub_814623C: @ 814623C - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - movs r0, 0x1 - negs r0, r0 - movs r4, 0 - str r4, [sp] - movs r1, 0x4 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_020393A8 - ldr r1, =sTransitionStructPtr - ldr r1, [r1] - movs r2, 0x14 - ldrsh r1, [r1, r2] - str r4, [sp] - movs r2, 0xA0 - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0x2 - bl sub_8149F98 - ldr r0, =sub_8146320 - bl SetVBlankCallback - ldr r0, =sub_8146358 - bl SetHBlankCallback - movs r0, 0x3 - bl EnableInterrupts - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814623C - - thumb_func_start sub_81462A8 -sub_81462A8: @ 81462A8 - push {r4,r5,lr} - sub sp, 0x8 - ldr r4, =sTransitionStructPtr - ldr r2, [r4] - ldrb r1, [r2] - movs r1, 0 - strb r1, [r2] - ldrh r1, [r0, 0xA] - adds r1, 0x4 - strh r1, [r0, 0xA] - ldrh r1, [r0, 0xC] - adds r1, 0x8 - strh r1, [r0, 0xC] - ldr r3, =gUnknown_02038C28 - ldr r1, [r4] - movs r2, 0x14 - ldrsh r1, [r1, r2] - movs r5, 0xA - ldrsh r2, [r0, r5] - movs r5, 0xC - ldrsh r0, [r0, r5] - str r0, [sp] - movs r0, 0xA0 - str r0, [sp, 0x4] - adds r0, r3, 0 - movs r3, 0x2 - bl sub_8149F98 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081462FA - ldr r0, =sub_8146204 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081462FA: - ldr r0, [r4] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81462A8 - - thumb_func_start sub_8146320 -sub_8146320: @ 8146320 - push {lr} - bl sub_8149F2C - ldr r0, =sTransitionStructPtr - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0 - beq _08146344 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_08146344: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146320 - - thumb_func_start sub_8146358 -sub_8146358: @ 8146358 - ldr r1, =gUnknown_02038C28 - ldr r0, =0x04000006 - ldrh r0, [r0] - lsls r0, 1 - movs r2, 0xF0 - lsls r2, 3 - adds r1, r2 - adds r0, r1 - ldrh r1, [r0] - ldr r0, =0x04000014 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - bx lr - .pool - thumb_func_end sub_8146358 - - thumb_func_start sub_8146384 -sub_8146384: @ 8146384 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8ABC - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08146396: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08146396 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146384 - - thumb_func_start sub_81463BC -sub_81463BC: @ 81463BC - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r1, 0x4 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldr r0, =gUnknown_020393A8 - movs r2, 0x16 - ldrsh r1, [r1, r2] - movs r2, 0xA0 - lsls r2, 1 - bl memset - ldr r0, =sub_81464B0 - bl SetVBlankCallback - ldr r0, =sub_81464E8 - bl SetHBlankCallback - movs r0, 0x3 - bl EnableInterrupts - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81463BC - - thumb_func_start sub_8146420 -sub_8146420: @ 8146420 - push {r4-r7,lr} - ldr r1, =sTransitionStructPtr - ldr r2, [r1] - ldrb r1, [r2] - movs r1, 0 - strb r1, [r2] - ldrh r4, [r0, 0xA] - ldrh r2, [r0, 0xC] - lsls r3, r2, 16 - asrs r3, 24 - movs r5, 0x84 - lsls r5, 5 - adds r1, r4, r5 - strh r1, [r0, 0xA] - movs r1, 0xC0 - lsls r1, 1 - adds r2, r1 - strh r2, [r0, 0xC] - movs r5, 0 - lsls r7, r3, 16 -_08146448: - lsrs r0, r4, 8 - asrs r1, r7, 16 - bl Sin - ldr r1, =gUnknown_02038C28 - lsls r2, r5, 1 - adds r2, r1 - ldr r6, =sTransitionStructPtr - ldr r1, [r6] - ldrh r1, [r1, 0x16] - adds r0, r1 - strh r0, [r2] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x84 - lsls r1, 5 - adds r0, r4, r1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r5, 0x9F - bls _08146448 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0814648E - ldr r0, =sub_8146384 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_0814648E: - ldr r0, [r6] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146420 - - thumb_func_start sub_81464B0 -sub_81464B0: @ 81464B0 - push {lr} - bl sub_8149F2C - ldr r0, =sTransitionStructPtr - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0 - beq _081464D4 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_081464D4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81464B0 - - thumb_func_start sub_81464E8 -sub_81464E8: @ 81464E8 - ldr r1, =gUnknown_02038C28 - ldr r0, =0x04000006 - ldrh r0, [r0] - lsls r0, 1 - movs r2, 0xF0 - lsls r2, 3 - adds r1, r2 - adds r0, r1 - ldrh r1, [r0] - ldr r0, =0x04000016 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - bx lr - .pool - thumb_func_end sub_81464E8 - - thumb_func_start sub_8146514 -sub_8146514: @ 8146514 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8AFC - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08146526: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08146526 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146514 - - thumb_func_start sub_814654C -sub_814654C: @ 814654C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8AC4 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814655E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814655E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814654C - - thumb_func_start sub_8146584 -sub_8146584: @ 8146584 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8AE0 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08146596: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08146596 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146584 - - thumb_func_start sub_81465BC -sub_81465BC: @ 81465BC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8B14 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081465CE: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081465CE - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81465BC - - thumb_func_start sub_81465F4 -sub_81465F4: @ 81465F4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8B2C - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08146606: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08146606 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81465F4 - - thumb_func_start sub_814662C -sub_814662C: @ 814662C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8B44 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814663E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814663E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814662C - - thumb_func_start sub_8146664 -sub_8146664: @ 8146664 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8B5C - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08146676: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08146676 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146664 - - thumb_func_start sub_814669C -sub_814669C: @ 814669C - push {r4,lr} - adds r4, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - movs r1, 0 - movs r0, 0x10 - strh r0, [r4, 0xA] - strh r1, [r4, 0xC] - strh r1, [r4, 0x10] - movs r0, 0x80 - lsls r0, 7 - strh r0, [r4, 0x12] - ldr r0, =sTransitionStructPtr - ldr r2, [r0] - movs r0, 0x3F - strh r0, [r2, 0x2] - strh r1, [r2, 0x4] - movs r0, 0xF0 - strh r0, [r2, 0x6] - movs r0, 0xA0 - strh r0, [r2, 0x8] - ldr r0, =0x00003f41 - strh r0, [r2, 0xE] - ldrh r0, [r4, 0xA] - lsls r0, 8 - ldrh r1, [r4, 0xC] - orrs r0, r1 - strh r0, [r2, 0x10] - ldr r0, =gUnknown_02038C28 - movs r2, 0xF0 - movs r1, 0x9F - ldr r3, =0x000008be - adds r0, r3 -_081466E2: - strh r2, [r0] - subs r0, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _081466E2 - ldr r0, =sub_8146F3C - bl SetVBlankCallback - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814669C - - thumb_func_start sub_814670C -sub_814670C: @ 814670C - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r5, 0 - movs r0, 0x3C - strh r0, [r4, 0x18] - adds r0, r4, 0 - bl sub_814669C - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - mov r0, sp - strh r5, [r0] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - bl CpuSet - ldr r0, =gUnknown_085BAED0 - ldr r1, [sp, 0x8] - bl LZ77UnCompVram - ldr r0, =gUnknown_085BAEB0 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814670C - - thumb_func_start sub_8146760 -sub_8146760: @ 8146760 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r5, 0 - movs r0, 0x3C - strh r0, [r4, 0x18] - adds r0, r4, 0 - bl sub_814669C - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - mov r0, sp - strh r5, [r0] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - bl CpuSet - ldr r0, =gUnknown_085BB4A4 - ldr r1, [sp, 0x8] - bl LZ77UnCompVram - ldr r0, =gUnknown_085BAEB0 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146760 - - thumb_func_start sub_81467B4 -sub_81467B4: @ 81467B4 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r5, 0 - movs r0, 0x3C - strh r0, [r4, 0x18] - adds r0, r4, 0 - bl sub_814669C - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - mov r0, sp - strh r5, [r0] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - bl CpuSet - ldr r0, =gUnknown_085BBC14 - ldr r1, [sp, 0x8] - movs r2, 0x80 - lsls r2, 5 - bl CpuSet - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81467B4 - - thumb_func_start sub_8146800 -sub_8146800: @ 8146800 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - bl sub_814669C - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - mov r0, sp - bl CpuSet - ldr r0, =gUnknown_085B9330 - ldr r1, [sp, 0x8] - movs r2, 0xB0 - lsls r2, 2 - bl CpuSet - ldr r0, =gFieldEffectObjectPalette10 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146800 - - thumb_func_start sub_8146854 -sub_8146854: @ 8146854 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - adds r7, r0, 0 - add r1, sp, 0xC - add r0, sp, 0x8 - bl sub_8149F58 - ldr r5, =gUnknown_085C9020 - movs r1, 0 - ldr r0, [sp, 0x8] - mov r9, r0 - ldr r6, =gUnknown_02038C28 - mov r8, r6 - movs r0, 0xF0 - lsls r0, 8 - mov r12, r0 -_0814687A: - movs r0, 0 - lsls r3, r1, 16 - asrs r4, r3, 11 -_08146880: - lsls r2, r0, 16 - asrs r2, 16 - adds r1, r4, r2 - lsls r1, 1 - add r1, r9 - ldrh r0, [r5] - mov r6, r12 - orrs r0, r6 - strh r0, [r1] - adds r2, 0x1 - lsls r2, 16 - adds r5, 0x2 - lsrs r0, r2, 16 - asrs r2, 16 - cmp r2, 0x1D - ble _08146880 - movs r1, 0x80 - lsls r1, 9 - adds r0, r3, r1 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _0814687A - movs r6, 0x10 - ldrsh r2, [r7, r6] - movs r1, 0x12 - ldrsh r0, [r7, r1] - str r0, [sp] - movs r0, 0xA0 - str r0, [sp, 0x4] - mov r0, r8 - movs r1, 0 - movs r3, 0x84 - bl sub_8149F98 - ldrh r0, [r7, 0x8] - adds r0, 0x1 - strh r0, [r7, 0x8] - movs r0, 0x1 - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146854 - - thumb_func_start sub_81468E4 -sub_81468E4: @ 81468E4 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - add r1, sp, 0xC - add r0, sp, 0x8 - bl sub_8149F58 - ldr r0, =gUnknown_085BB248 - ldr r1, [sp, 0x8] - bl LZ77UnCompVram - ldr r0, =gUnknown_02038C28 - movs r1, 0x10 - ldrsh r2, [r4, r1] - movs r3, 0x12 - ldrsh r1, [r4, r3] - str r1, [sp] - movs r1, 0xA0 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x84 - bl sub_8149F98 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81468E4 - - thumb_func_start sub_814692C -sub_814692C: @ 814692C - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - add r1, sp, 0xC - add r0, sp, 0x8 - bl sub_8149F58 - ldr r0, =gUnknown_085BB930 - ldr r1, [sp, 0x8] - bl LZ77UnCompVram - ldr r0, =gUnknown_02038C28 - movs r1, 0x10 - ldrsh r2, [r4, r1] - movs r3, 0x12 - ldrsh r1, [r4, r3] - str r1, [sp] - movs r1, 0xA0 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x84 - bl sub_8149F98 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814692C - - thumb_func_start sub_8146974 -sub_8146974: @ 8146974 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - add r1, sp, 0xC - add r0, sp, 0x8 - bl sub_8149F58 - ldr r0, =gUnknown_085BC2B4 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_085BC314 - ldr r1, [sp, 0x8] - movs r2, 0xA0 - lsls r2, 2 - bl CpuSet - ldr r0, =gUnknown_02038C28 - movs r1, 0x10 - ldrsh r2, [r4, r1] - movs r3, 0x12 - ldrsh r1, [r4, r3] - str r1, [sp] - movs r1, 0xA0 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x84 - bl sub_8149F98 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146974 - - thumb_func_start sub_81469CC -sub_81469CC: @ 81469CC - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - add r1, sp, 0xC - add r0, sp, 0x8 - bl sub_8149F58 - ldr r0, =gUnknown_085BC2D4 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_085BCB14 - ldr r1, [sp, 0x8] - movs r2, 0xA0 - lsls r2, 2 - bl CpuSet - ldr r0, =gUnknown_02038C28 - movs r1, 0x10 - ldrsh r2, [r4, r1] - movs r3, 0x12 - ldrsh r1, [r4, r3] - str r1, [sp] - movs r1, 0xA0 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x84 - bl sub_8149F98 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81469CC - - thumb_func_start sub_8146A24 -sub_8146A24: @ 8146A24 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - add r1, sp, 0xC - add r0, sp, 0x8 - bl sub_8149F58 - ldr r0, =gUnknown_085BC2F4 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_085BD314 - ldr r1, [sp, 0x8] - movs r2, 0xA0 - lsls r2, 2 - bl CpuSet - ldr r0, =gUnknown_02038C28 - movs r1, 0x10 - ldrsh r2, [r4, r1] - movs r3, 0x12 - ldrsh r1, [r4, r3] - str r1, [sp] - movs r1, 0xA0 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x84 - bl sub_8149F98 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146A24 - - thumb_func_start sub_8146A7C -sub_8146A7C: @ 8146A7C - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - mov r0, sp - bl CpuSet - ldr r0, =gUnknown_085BDB34 - ldr r1, [sp, 0x8] - bl LZ77UnCompVram - ldr r0, =gUnknown_085BE1E8 - ldr r1, [sp, 0x4] - bl LZ77UnCompVram - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146A7C - - thumb_func_start sub_8146AC8 -sub_8146AC8: @ 8146AC8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xA - ldrsh r5, [r4, r0] - adds r0, r5, 0 - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _08146B00 - adds r0, r5, 0 - movs r1, 0x1E - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 16 - lsrs r0, 11 - ldr r1, =gUnknown_085BEDA0 - adds r0, r1 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette -_08146B00: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3A - ble _08146B18 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - strh r0, [r4, 0xA] -_08146B18: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146AC8 - - thumb_func_start sub_8146B24 -sub_8146B24: @ 8146B24 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xA - ldrsh r5, [r4, r0] - adds r0, r5, 0 - movs r1, 0x5 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _08146B52 - adds r0, r5, 0 - movs r1, 0x5 - bl __divsi3 - lsls r0, 16 - asrs r0, 11 - ldr r1, =gUnknown_085BEEE0 - adds r0, r1 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette -_08146B52: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x44 - ble _08146B6E - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - strh r0, [r4, 0xA] - movs r0, 0x1E - strh r0, [r4, 0x18] -_08146B6E: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146B24 - - thumb_func_start sub_8146B7C -sub_8146B7C: @ 8146B7C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r0, =0xffff8000 - movs r1, 0 - str r1, [sp] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146B7C - - thumb_func_start sub_8146BA8 -sub_8146BA8: @ 8146BA8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08146BDE - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F84 - ldr r0, [r4] - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08146BDE: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146BA8 - - thumb_func_start sub_8146BF8 -sub_8146BF8: @ 8146BF8 - push {r4,r5,lr} - sub sp, 0x8 - adds r3, r0, 0 - ldr r2, =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldrh r1, [r3, 0xE] - movs r4, 0xE - ldrsh r0, [r3, r4] - adds r4, r2, 0 - cmp r0, 0 - beq _08146C1E - subs r0, r1, 0x1 - strh r0, [r3, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _08146C28 -_08146C1E: - ldrh r0, [r3, 0xC] - adds r0, 0x1 - strh r0, [r3, 0xC] - movs r0, 0x2 - strh r0, [r3, 0xE] -_08146C28: - ldr r2, [r4] - ldrh r0, [r3, 0xA] - lsls r0, 8 - ldrh r1, [r3, 0xC] - orrs r0, r1 - strh r0, [r2, 0x10] - movs r5, 0xC - ldrsh r0, [r3, r5] - cmp r0, 0xF - ble _08146C42 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_08146C42: - ldrh r0, [r3, 0x10] - adds r0, 0x8 - strh r0, [r3, 0x10] - ldr r0, =0xffffff00 - adds r1, r0, 0 - ldrh r5, [r3, 0x12] - adds r1, r5 - strh r1, [r3, 0x12] - ldr r0, =gUnknown_02038C28 - movs r5, 0x10 - ldrsh r2, [r3, r5] - lsls r1, 16 - asrs r1, 24 - str r1, [sp] - movs r1, 0xA0 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x84 - bl sub_8149F98 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146BF8 - - thumb_func_start sub_8146C8C -sub_8146C8C: @ 8146C8C - push {r4,r5,lr} - sub sp, 0x8 - adds r3, r0, 0 - ldr r2, =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldrh r1, [r3, 0xE] - movs r4, 0xE - ldrsh r0, [r3, r4] - adds r4, r2, 0 - cmp r0, 0 - beq _08146CB2 - subs r0, r1, 0x1 - strh r0, [r3, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _08146CBC -_08146CB2: - ldrh r0, [r3, 0xA] - subs r0, 0x1 - strh r0, [r3, 0xA] - movs r0, 0x2 - strh r0, [r3, 0xE] -_08146CBC: - ldr r2, [r4] - ldrh r0, [r3, 0xA] - lsls r0, 8 - ldrh r1, [r3, 0xC] - orrs r0, r1 - strh r0, [r2, 0x10] - movs r5, 0xA - ldrsh r0, [r3, r5] - cmp r0, 0 - bne _08146CD6 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_08146CD6: - ldrh r0, [r3, 0x10] - adds r0, 0x8 - strh r0, [r3, 0x10] - ldr r0, =0xffffff00 - adds r1, r0, 0 - ldrh r5, [r3, 0x12] - adds r1, r5 - strh r1, [r3, 0x12] - ldr r0, =gUnknown_02038C28 - movs r5, 0x10 - ldrsh r2, [r3, r5] - lsls r1, 16 - asrs r1, 24 - str r1, [sp] - movs r1, 0xA0 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x84 - bl sub_8149F98 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146C8C - - thumb_func_start sub_8146D20 -sub_8146D20: @ 8146D20 - push {r4-r7,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r7, =sTransitionStructPtr - ldr r0, [r7] - ldrb r1, [r0] - movs r6, 0 - strb r6, [r0] - ldrh r0, [r4, 0x10] - adds r0, 0x8 - strh r0, [r4, 0x10] - ldr r0, =0xffffff00 - adds r1, r0, 0 - ldrh r3, [r4, 0x12] - adds r1, r3 - strh r1, [r4, 0x12] - ldr r0, =gUnknown_02038C28 - movs r3, 0x10 - ldrsh r2, [r4, r3] - lsls r1, 16 - asrs r1, 24 - str r1, [sp] - movs r5, 0xA0 - str r5, [sp, 0x4] - movs r1, 0 - movs r3, 0x84 - bl sub_8149F98 - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - bgt _08146D70 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - strh r5, [r4, 0xA] - movs r0, 0x80 - lsls r0, 1 - strh r0, [r4, 0xC] - strh r6, [r4, 0xE] -_08146D70: - ldr r0, [r7] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146D20 - - thumb_func_start sub_8146D90 -sub_8146D90: @ 8146D90 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x18] - subs r0, 0x1 - strh r0, [r1, 0x18] - lsls r0, 16 - cmp r0, 0 - bne _08146DA6 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_08146DA6: - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_8146D90 - - thumb_func_start sub_8146DAC -sub_8146DAC: @ 8146DAC - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r0, =0x0000ffff - movs r1, 0 - str r1, [sp] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146DAC - - thumb_func_start sub_8146DD8 -sub_8146DD8: @ 8146DD8 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08146DEE - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] -_08146DEE: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146DD8 - - thumb_func_start sub_8146DF8 -sub_8146DF8: @ 8146DF8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =sTransitionStructPtr - ldr r0, [r0] - ldrb r1, [r0] - movs r3, 0 - strb r3, [r0] - ldrh r2, [r4, 0xC] - movs r0, 0xC - ldrsh r1, [r4, r0] - ldr r0, =0x000003ff - cmp r1, r0 - bgt _08146E18 - adds r0, r2, 0 - adds r0, 0x80 - strh r0, [r4, 0xC] -_08146E18: - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08146E34 - ldrh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 24 - subs r0, r1, r0 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bge _08146E34 - strh r3, [r4, 0xA] -_08146E34: - ldr r0, =gUnknown_02038C28 - movs r1, 0xA - ldrsh r3, [r4, r1] - movs r1, 0x78 - movs r2, 0x50 - bl sub_814A014 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08146E90 - movs r0, 0 - bl SetVBlankCallback - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F84 - ldr r0, [r4] - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - b _08146EB0 - .pool -_08146E90: - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08146EA4 - adds r0, r1, 0x1 - strh r0, [r4, 0xE] - ldr r0, =sub_8146F68 - bl SetVBlankCallback -_08146EA4: - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] -_08146EB0: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146DF8 - - thumb_func_start sub_8146EC0 -sub_8146EC0: @ 8146EC0 - push {lr} - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F2C - ldr r2, =sTransitionStructPtr - ldr r0, [r2] - ldrb r0, [r0] - cmp r0, 0 - beq _08146EF8 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r3, 0xF0 - lsls r3, 3 - adds r0, r3 - str r0, [r1, 0x4] - ldr r0, =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_08146EF8: - ldr r1, =0x04000048 - ldr r2, [r2] - ldrh r0, [r2, 0x2] - strh r0, [r1] - adds r1, 0x2 - ldrh r0, [r2, 0x4] - strh r0, [r1] - subs r1, 0x6 - ldrh r0, [r2, 0x8] - strh r0, [r1] - adds r1, 0xC - ldrh r0, [r2, 0xE] - strh r0, [r1] - adds r1, 0x2 - ldrh r0, [r2, 0x10] - strh r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146EC0 - - thumb_func_start sub_8146F3C -sub_8146F3C: @ 8146F3C - push {lr} - bl sub_8146EC0 - ldr r1, =0x040000b0 - ldr r0, =gUnknown_020393A8 - str r0, [r1] - ldr r0, =0x04000010 - str r0, [r1, 0x4] - ldr r0, =0xa2400001 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146F3C - - thumb_func_start sub_8146F68 -sub_8146F68: @ 8146F68 - push {lr} - bl sub_8146EC0 - ldr r1, =0x040000b0 - ldr r0, =gUnknown_020393A8 - str r0, [r1] - ldr r0, =0x04000040 - str r0, [r1, 0x4] - ldr r0, =0xa2400001 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146F68 - - thumb_func_start sub_8146F94 -sub_8146F94: @ 8146F94 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8B7C - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08146FA6: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08146FA6 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8146F94 - - thumb_func_start sub_8146FCC -sub_8146FCC: @ 8146FCC - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - ldr r0, =gUnknown_085B98B0 - ldr r1, [sp, 0x8] - movs r2, 0x20 - bl CpuSet - movs r0, 0 - str r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, =0x05000200 - mov r0, sp - bl CpuSet - ldr r0, =gFieldEffectObjectPalette10 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8146FCC - - thumb_func_start sub_8147018 -sub_8147018: @ 8147018 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r7, r0, 0 - ldr r1, =gUnknown_085C8B88 - mov r0, sp - movs r2, 0x4 - bl memcpy - add r4, sp, 0x4 - ldr r1, =gUnknown_085C8B8C - adds r0, r4, 0 - movs r2, 0xA - bl memcpy - bl Random - movs r5, 0x1 - ands r5, r0 - movs r1, 0 - mov r8, r4 - ldr r6, =gFieldEffectArguments -_08147046: - lsls r5, 16 - asrs r5, 16 - lsls r0, r5, 1 - add r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - str r0, [r6] - lsls r4, r1, 16 - asrs r4, 16 - lsls r0, r4, 5 - adds r0, 0x10 - str r0, [r6, 0x4] - str r5, [r6, 0x8] - lsls r0, r4, 1 - add r0, r8 - movs r1, 0 - ldrsh r0, [r0, r1] - str r0, [r6, 0xC] - movs r0, 0x2D - bl FieldEffectStart - adds r4, 0x1 - lsls r4, 16 - movs r0, 0x1 - eors r5, r0 - lsls r5, 16 - lsrs r5, 16 - lsrs r1, r4, 16 - asrs r4, 16 - cmp r4, 0x4 - ble _08147046 - ldrh r0, [r7, 0x8] - adds r0, 0x1 - strh r0, [r7, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147018 - - thumb_func_start sub_81470A4 -sub_81470A4: @ 81470A4 - push {lr} - movs r0, 0x2D - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _081470C4 - bl sub_8149F84 - ldr r0, =sub_8146F94 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081470C4: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81470A4 - - thumb_func_start sub_81470D0 -sub_81470D0: @ 81470D0 - push {r4,r5,lr} - ldr r0, =gUnknown_085C8E68 - ldr r5, =gFieldEffectArguments - movs r2, 0 - ldrsh r1, [r5, r2] - movs r3, 0x4 - ldrsh r2, [r5, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSprites - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r1 - ldrb r1, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x5] - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, [r5, 0x8] - strh r0, [r4, 0x2E] - ldr r0, [r5, 0xC] - strh r0, [r4, 0x30] - ldr r0, =0x0000ffff - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl InitSpriteAffineAnim - ldrb r1, [r5, 0x8] - adds r0, r4, 0 - bl StartSpriteAffineAnim - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81470D0 - - thumb_func_start sub_814713C -sub_814713C: @ 814713C - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r1, =gUnknown_085C8B96 - mov r0, sp - movs r2, 0x4 - bl memcpy - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08147160 - subs r0, r1, 0x1 - strh r0, [r4, 0x30] - b _081471F2 - .pool -_08147160: - ldrh r0, [r4, 0x20] - lsls r1, r0, 16 - lsrs r0, r1, 16 - cmp r0, 0xF0 - bhi _081471CE - asrs r0, r1, 19 - lsls r0, 16 - ldrh r1, [r4, 0x22] - lsls r1, 16 - asrs r1, 19 - lsls r1, 16 - lsrs r1, 16 - lsrs r2, r0, 16 - asrs r5, r0, 16 - movs r3, 0x32 - ldrsh r0, [r4, r3] - cmp r5, r0 - beq _081471CE - strh r2, [r4, 0x32] - ldr r0, =0x04000008 - ldrh r2, [r0] - lsrs r2, 8 - movs r0, 0x1F - ands r2, r0 - lsls r2, 11 - movs r0, 0xC0 - lsls r0, 19 - adds r2, r0 - lsls r1, 16 - asrs r1, 16 - subs r0, r1, 0x2 - lsls r0, 5 - adds r0, r5 - lsls r0, 1 - adds r0, r2 - ldr r6, =0x0000f001 - adds r3, r6, 0 - strh r3, [r0] - subs r0, r1, 0x1 - lsls r0, 5 - adds r0, r5 - lsls r0, 1 - adds r0, r2 - strh r3, [r0] - lsls r0, r1, 5 - adds r0, r5 - lsls r0, 1 - adds r0, r2 - strh r3, [r0] - adds r1, 0x1 - lsls r1, 5 - adds r1, r5 - lsls r1, 1 - adds r1, r2 - strh r3, [r1] -_081471CE: - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - adds r0, 0xF - lsls r0, 16 - movs r1, 0x87 - lsls r1, 17 - cmp r0, r1 - bls _081471F2 - adds r0, r4, 0 - movs r1, 0x2D - bl FieldEffectStop -_081471F2: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814713C - - thumb_func_start sub_8147204 -sub_8147204: @ 8147204 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8B9C - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08147216: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08147216 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147204 - - thumb_func_start sub_814723C -sub_814723C: @ 814723C - push {r4,lr} - adds r4, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r0, 0 - strh r0, [r1, 0x2] - movs r0, 0x3F - strh r0, [r1, 0x4] - ldr r0, =0x0000f0f1 - strh r0, [r1, 0x6] - movs r0, 0xA0 - strh r0, [r1, 0x8] - movs r1, 0 - ldr r3, =gUnknown_020393A8 - ldr r2, =0x0000f3f4 -_08147262: - lsls r0, r1, 1 - adds r0, r3 - strh r2, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x9F - bls _08147262 - ldr r0, =sub_8147688 - bl SetVBlankCallback - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r0, 0x78 - strh r0, [r1, 0x2C] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814723C - - thumb_func_start sub_81472A4 -sub_81472A4: @ 81472A4 - push {r4-r7,lr} - sub sp, 0xC - adds r6, r0, 0 - ldr r2, =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x24 - movs r2, 0x2C - ldrsh r3, [r1, r2] - movs r1, 0x1 - negs r1, r1 - str r1, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x78 - movs r2, 0x50 - bl sub_814A1AC - ldr r5, =gUnknown_02038C28 -_081472D4: - ldr r4, =sTransitionStructPtr - ldr r0, [r4] - movs r7, 0x2A - ldrsh r3, [r0, r7] - lsls r3, 1 - adds r3, r5 - ldrh r1, [r0, 0x28] - adds r1, 0x1 - movs r7, 0xF0 - lsls r7, 7 - adds r2, r7, 0 - orrs r1, r2 - strh r1, [r3] - adds r0, 0x24 - movs r1, 0x1 - movs r2, 0x1 - bl sub_814A228 - lsls r0, 24 - cmp r0, 0 - beq _081472D4 - ldr r1, [r4] - ldrh r0, [r1, 0x2C] - adds r0, 0x10 - strh r0, [r1, 0x2C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xEF - ble _08147318 - movs r0, 0 - strh r0, [r1, 0x2E] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] -_08147318: - ldr r0, [r4] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - add sp, 0xC - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81472A4 - - thumb_func_start sub_8147334 -sub_8147334: @ 8147334 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - mov r8, r0 - add r1, sp, 0xC - movs r0, 0 - strb r0, [r1] - ldr r4, =sTransitionStructPtr - ldr r1, [r4] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x24 - movs r2, 0x2E - ldrsh r1, [r1, r2] - str r1, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0xF0 - bl sub_814A1AC - mov r9, r4 - mov r7, r9 - add r5, sp, 0xC -_08147372: - movs r1, 0x78 - ldr r3, [r7] - ldrh r0, [r3, 0x28] - adds r0, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - movs r2, 0x2E - ldrsh r0, [r3, r2] - cmp r0, 0x4F - ble _0814738A - ldrh r1, [r3, 0x28] - movs r4, 0xF0 -_0814738A: - ldr r6, =gUnknown_02038C28 - movs r0, 0x2A - ldrsh r2, [r3, r0] - lsls r2, 1 - adds r2, r6 - lsls r1, 16 - asrs r1, 8 - lsls r0, r4, 16 - asrs r4, r0, 16 - orrs r4, r1 - strh r4, [r2] - ldrb r0, [r5] - cmp r0, 0 - bne _081473C0 - adds r0, r3, 0 - adds r0, 0x24 - movs r1, 0x1 - movs r2, 0x1 - bl sub_814A228 - strb r0, [r5] - b _08147372 - .pool -_081473C0: - ldr r1, [r7] - ldrh r0, [r1, 0x2E] - adds r0, 0x8 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0x9F - ble _081473DE - movs r0, 0xF0 - strh r0, [r1, 0x2C] - mov r1, r8 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08147406 -_081473DE: - movs r3, 0x2A - ldrsh r0, [r1, r3] - cmp r0, r2 - bge _08147406 - adds r3, r4, 0 - ldr r5, =sTransitionStructPtr -_081473EA: - ldr r2, [r5] - ldrh r0, [r2, 0x2A] - adds r0, 0x1 - strh r0, [r2, 0x2A] - lsls r0, 16 - asrs r0, 15 - adds r0, r6 - strh r3, [r0] - movs r4, 0x2A - ldrsh r1, [r2, r4] - movs r4, 0x2E - ldrsh r0, [r2, r4] - cmp r1, r0 - blt _081473EA -_08147406: - mov r1, r9 - ldr r0, [r1] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147334 - - thumb_func_start sub_8147428 -sub_8147428: @ 8147428 - push {r4-r6,lr} - sub sp, 0xC - adds r6, r0, 0 - ldr r2, =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x24 - movs r2, 0x2C - ldrsh r3, [r1, r2] - movs r1, 0xA0 - str r1, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x78 - movs r2, 0x50 - bl sub_814A1AC - ldr r5, =gUnknown_02038C28 -_08147456: - ldr r4, =sTransitionStructPtr - ldr r0, [r4] - movs r1, 0x2A - ldrsh r3, [r0, r1] - lsls r3, 1 - adds r3, r5 - ldrh r1, [r0, 0x28] - lsls r1, 8 - movs r2, 0xF0 - orrs r1, r2 - strh r1, [r3] - adds r0, 0x24 - movs r1, 0x1 - movs r2, 0x1 - bl sub_814A228 - lsls r0, 24 - cmp r0, 0 - beq _08147456 - ldr r1, [r4] - ldrh r0, [r1, 0x2C] - subs r0, 0x10 - strh r0, [r1, 0x2C] - lsls r0, 16 - cmp r0, 0 - bgt _08147494 - movs r0, 0xA0 - strh r0, [r1, 0x2E] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] -_08147494: - ldr r0, [r4] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147428 - - thumb_func_start sub_81474B0 -sub_81474B0: @ 81474B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - mov r9, r0 - add r1, sp, 0xC - movs r0, 0 - strb r0, [r1] - ldr r4, =sTransitionStructPtr - ldr r1, [r4] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x24 - movs r2, 0x2E - ldrsh r1, [r1, r2] - str r1, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl sub_814A1AC - ldr r7, =gUnknown_02038C28 - mov r10, r7 - ldr r0, =sTransitionStructPtr - mov r8, r0 - add r6, sp, 0xC -_081474F4: - mov r1, r8 - ldr r4, [r1] - movs r2, 0x2A - ldrsh r0, [r4, r2] - lsls r0, 1 - mov r7, r10 - adds r5, r0, r7 - ldrb r1, [r5] - ldrh r2, [r4, 0x28] - adds r3, r2, 0 - movs r7, 0x2E - ldrsh r0, [r4, r7] - cmp r0, 0x50 - bgt _08147514 - movs r2, 0x78 - adds r1, r3, 0 -_08147514: - lsls r0, r2, 16 - asrs r0, 8 - lsls r1, 16 - asrs r1, 16 - orrs r1, r0 - movs r7, 0 - strh r1, [r5] - ldrb r0, [r6] - cmp r0, 0 - bne _08147540 - adds r0, r4, 0 - adds r0, 0x24 - movs r1, 0x1 - movs r2, 0x1 - bl sub_814A228 - strb r0, [r6] - b _081474F4 - .pool -_08147540: - mov r0, r8 - ldr r2, [r0] - ldrh r0, [r2, 0x2E] - subs r0, 0x8 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r3, r0, 16 - cmp r3, 0 - bgt _0814755E - strh r7, [r2, 0x2C] - mov r1, r9 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08147588 -_0814755E: - movs r4, 0x2A - ldrsh r0, [r2, r4] - cmp r0, r3 - ble _08147588 - ldr r6, =gUnknown_02038C28 - adds r3, r1, 0 - ldr r5, =sTransitionStructPtr -_0814756C: - ldr r2, [r5] - ldrh r0, [r2, 0x2A] - subs r0, 0x1 - strh r0, [r2, 0x2A] - lsls r0, 16 - asrs r0, 15 - adds r0, r6 - strh r3, [r0] - movs r7, 0x2A - ldrsh r1, [r2, r7] - movs r4, 0x2E - ldrsh r0, [r2, r4] - cmp r1, r0 - bgt _0814756C -_08147588: - ldr r7, =sTransitionStructPtr - ldr r0, [r7] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81474B0 - - thumb_func_start sub_81475B0 -sub_81475B0: @ 81475B0 - push {r4-r7,lr} - sub sp, 0xC - adds r7, r0, 0 - ldr r1, =sTransitionStructPtr - ldr r0, [r1] - ldrb r2, [r0] - movs r2, 0 - strb r2, [r0] - ldr r1, [r1] - adds r0, r1, 0 - adds r0, 0x24 - movs r4, 0x2C - ldrsh r3, [r1, r4] - str r2, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x78 - movs r2, 0x50 - bl sub_814A1AC - ldr r6, =gUnknown_02038C28 -_081475DC: - movs r2, 0x78 - ldr r5, =sTransitionStructPtr - ldr r3, [r5] - ldrh r4, [r3, 0x28] - movs r1, 0x28 - ldrsh r0, [r3, r1] - cmp r0, 0x77 - ble _081475F0 - movs r2, 0 - movs r4, 0xF0 -_081475F0: - movs r0, 0x2A - ldrsh r1, [r3, r0] - lsls r1, 1 - adds r1, r6 - lsls r2, 8 - lsls r0, r4, 16 - asrs r0, 16 - orrs r0, r2 - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0x24 - movs r1, 0x1 - movs r2, 0x1 - bl sub_814A228 - lsls r0, 24 - cmp r0, 0 - beq _081475DC - ldr r0, [r5] - ldrh r1, [r0, 0x2C] - adds r1, 0x10 - strh r1, [r0, 0x2C] - movs r1, 0x28 - ldrsh r0, [r0, r1] - cmp r0, 0x78 - ble _0814762A - ldrh r0, [r7, 0x8] - adds r0, 0x1 - strh r0, [r7, 0x8] -_0814762A: - ldr r0, [r5] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - add sp, 0xC - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81475B0 - - thumb_func_start sub_8147648 -sub_8147648: @ 8147648 - push {lr} - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F84 - ldr r0, =sub_8147204 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147648 - - thumb_func_start sub_8147688 -sub_8147688: @ 8147688 - push {r4,lr} - ldr r4, =0x040000b0 - ldrh r1, [r4, 0xA] - ldr r0, =0x0000c5ff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r1, [r4, 0xA] - ldr r0, =0x00007fff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xA] - bl sub_8149F2C - ldr r3, =sTransitionStructPtr - ldr r0, [r3] - ldrb r0, [r0] - cmp r0, 0 - beq _081476C0 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_081476C0: - ldr r2, =0x04000048 - ldr r1, [r3] - ldrh r0, [r1, 0x2] - strh r0, [r2] - adds r2, 0x2 - ldrh r0, [r1, 0x4] - strh r0, [r2] - subs r2, 0x6 - ldrh r0, [r1, 0x8] - strh r0, [r2] - subs r2, 0x4 - ldr r0, =gUnknown_02038C28 - movs r1, 0xF0 - lsls r1, 3 - adds r0, r1 - ldrh r1, [r0] - strh r1, [r2] - str r0, [r4] - str r2, [r4, 0x4] - ldr r0, =0xa2400001 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147688 - - thumb_func_start sub_8147718 -sub_8147718: @ 8147718 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8BB8 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814772A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814772A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147718 - - thumb_func_start sub_8147750 -sub_8147750: @ 8147750 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - movs r2, 0 - ldr r4, =gUnknown_020393A8 - ldr r3, =sTransitionStructPtr -_08147762: - lsls r1, r2, 1 - adds r1, r4 - ldr r0, [r3] - ldrh r0, [r0, 0x16] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x9F - bls _08147762 - ldr r0, =sub_8147888 - bl SetVBlankCallback - ldr r0, =sub_81478C0 - bl SetHBlankCallback - movs r0, 0x2 - bl EnableInterrupts - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147750 - - thumb_func_start sub_81477A8 -sub_81477A8: @ 81477A8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r6, r0, 0 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldrh r2, [r6, 0xC] - lsls r1, r2, 16 - asrs r0, r1, 24 - lsls r0, 16 - lsrs r3, r0, 16 - ldrh r4, [r6, 0xA] - movs r0, 0xC0 - lsls r0, 1 - mov r8, r0 - movs r5, 0x80 - lsls r5, 3 - adds r0, r4, r5 - strh r0, [r6, 0xA] - ldr r0, =0x1fff0000 - cmp r1, r0 - bgt _081477E4 - movs r1, 0xC0 - lsls r1, 1 - adds r0, r2, r1 - strh r0, [r6, 0xC] -_081477E4: - movs r5, 0 - lsls r7, r3, 16 -_081477E8: - lsrs r0, r4, 8 - asrs r1, r7, 16 - bl Sin - ldr r1, =gUnknown_02038C28 - lsls r2, r5, 1 - adds r2, r1 - ldr r1, =sTransitionStructPtr - ldr r1, [r1] - ldrh r1, [r1, 0x16] - adds r0, r1 - strh r0, [r2] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r1, r8 - adds r0, r4, r1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r5, 0x9F - bls _081477E8 - ldrh r0, [r6, 0xE] - adds r0, 0x1 - strh r0, [r6, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x51 - bne _08147838 - ldrh r0, [r6, 0x10] - adds r0, 0x1 - strh r0, [r6, 0x10] - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - negs r1, r1 - movs r2, 0 - str r2, [sp] - movs r3, 0x10 - bl BeginNormalPaletteFade -_08147838: - movs r5, 0x10 - ldrsh r0, [r6, r5] - cmp r0, 0 - beq _0814785A - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0814785A - ldr r0, =sub_8147718 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_0814785A: - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81477A8 - - thumb_func_start sub_8147888 -sub_8147888: @ 8147888 - push {lr} - bl sub_8149F2C - ldr r0, =sTransitionStructPtr - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0 - beq _081478AC - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_081478AC: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147888 - - thumb_func_start sub_81478C0 -sub_81478C0: @ 81478C0 - ldr r1, =gUnknown_02038C28 - ldr r0, =0x04000006 - ldrh r0, [r0] - lsls r0, 1 - movs r2, 0xF0 - lsls r2, 3 - adds r1, r2 - adds r0, r1 - ldrh r1, [r0] - ldr r0, =0x04000016 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - bx lr - .pool - thumb_func_end sub_81478C0 - - thumb_func_start sub_81478EC -sub_81478EC: @ 81478EC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8BC0 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081478FE: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081478FE - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81478EC - - thumb_func_start sub_8147924 -sub_8147924: @ 8147924 - push {r4,lr} - adds r4, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r2, 0 - movs r0, 0x3F - strh r0, [r1, 0x2] - strh r2, [r1, 0x4] - movs r0, 0xF0 - strh r0, [r1, 0x6] - movs r0, 0xA0 - strh r0, [r1, 0x8] - movs r1, 0 - ldr r3, =gUnknown_020393A8 - movs r2, 0xF2 -_0814794A: - lsls r0, r1, 1 - adds r0, r3 - strh r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9F - bls _0814794A - ldr r0, =sub_8147A58 - bl SetVBlankCallback - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147924 - - thumb_func_start sub_814797C -sub_814797C: @ 814797C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r7, =gUnknown_02038C28 - ldrh r0, [r4, 0xC] - ldrb r5, [r4, 0xC] - adds r0, 0x10 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0xA] - adds r0, 0x8 - strh r0, [r4, 0xA] - movs r6, 0 - movs r0, 0x1 - mov r8, r0 -_081479A4: - adds r0, r5, 0 - movs r1, 0x28 - bl Sin - ldrh r1, [r4, 0xA] - adds r0, r1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r0, 0 - bge _081479BA - movs r1, 0 -_081479BA: - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xF0 - ble _081479C4 - movs r1, 0xF0 -_081479C4: - lsls r0, r1, 16 - asrs r0, 16 - lsls r1, r0, 8 - movs r2, 0xF1 - orrs r1, r2 - strh r1, [r7] - cmp r0, 0xEF - bgt _081479D8 - movs r0, 0 - mov r8, r0 -_081479D8: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r5, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, 0x2 - cmp r6, 0x9F - bls _081479A4 - mov r1, r8 - cmp r1, 0 - beq _081479F6 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_081479F6: - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814797C - - thumb_func_start sub_8147A18 -sub_8147A18: @ 8147A18 - push {lr} - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F84 - ldr r0, =sub_81478EC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147A18 - - thumb_func_start sub_8147A58 -sub_8147A58: @ 8147A58 - push {r4,lr} - ldr r4, =0x040000b0 - ldrh r1, [r4, 0xA] - ldr r0, =0x0000c5ff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r1, [r4, 0xA] - ldr r0, =0x00007fff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xA] - bl sub_8149F2C - ldr r3, =sTransitionStructPtr - ldr r0, [r3] - ldrb r0, [r0] - cmp r0, 0 - beq _08147A90 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_08147A90: - ldr r2, =0x04000048 - ldr r1, [r3] - ldrh r0, [r1, 0x2] - strh r0, [r2] - adds r2, 0x2 - ldrh r0, [r1, 0x4] - strh r0, [r2] - subs r2, 0x6 - ldrh r0, [r1, 0x8] - strh r0, [r2] - ldr r0, =gUnknown_020393A8 - str r0, [r4] - ldr r0, =0x04000040 - str r0, [r4, 0x4] - ldr r0, =0xa2400001 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147A58 - - thumb_func_start sub_8147AE4 -sub_8147AE4: @ 8147AE4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x26] - bl sub_8147B84 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147AE4 - - thumb_func_start sub_8147B04 -sub_8147B04: @ 8147B04 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x1 - strh r2, [r1, 0x26] - bl sub_8147B84 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147B04 - - thumb_func_start sub_8147B24 -sub_8147B24: @ 8147B24 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x2 - strh r2, [r1, 0x26] - bl sub_8147B84 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147B24 - - thumb_func_start sub_8147B44 -sub_8147B44: @ 8147B44 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x3 - strh r2, [r1, 0x26] - bl sub_8147B84 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147B44 - - thumb_func_start sub_8147B64 -sub_8147B64: @ 8147B64 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x4 - strh r2, [r1, 0x26] - bl sub_8147B84 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147B64 - - thumb_func_start sub_8147B84 -sub_8147B84: @ 8147B84 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8BCC - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08147B96: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08147B96 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8147B84 - - thumb_func_start sub_8147BBC -sub_8147BBC: @ 8147BBC - push {r4,lr} - adds r4, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - adds r0, r4, 0 - bl sub_8148218 - movs r0, 0 - strh r0, [r4, 0xA] - movs r0, 0x1 - strh r0, [r4, 0xC] - movs r0, 0xEF - strh r0, [r4, 0xE] - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r0, 0x3F - strh r0, [r1, 0x2] - movs r0, 0x3E - strh r0, [r1, 0x4] - movs r0, 0xA0 - strh r0, [r1, 0x8] - movs r1, 0 - ldr r3, =gUnknown_020393A8 - ldr r2, =0x0000f0f1 -_08147BF0: - lsls r0, r1, 1 - adds r0, r3 - strh r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9F - bls _08147BF0 - ldr r0, =sub_81480CC - bl SetVBlankCallback - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147BBC - - thumb_func_start sub_8147C24 -sub_8147C24: @ 8147C24 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - mov r8, r0 - ldr r6, =gUnknown_085C94D0 - add r1, sp, 0x4 - mov r0, sp - bl sub_8149F58 - ldr r0, =gUnknown_085B9AF0 - ldr r1, [sp, 0x4] - movs r2, 0xF0 - bl CpuSet - ldr r1, =gUnknown_085C8FDC - mov r2, r8 - movs r3, 0x26 - ldrsh r0, [r2, r3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r1, =gUnknown_085C8FF0 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0xFA - movs r2, 0xC - bl LoadPalette - movs r1, 0 - ldr r5, [sp] - movs r0, 0xF0 - lsls r0, 8 - adds r7, r0, 0 -_08147C78: - movs r0, 0 - lsls r3, r1, 16 - asrs r4, r3, 11 -_08147C7E: - lsls r2, r0, 16 - asrs r2, 16 - adds r1, r4, r2 - lsls r1, 1 - adds r1, r5 - ldrh r0, [r6] - orrs r0, r7 - strh r0, [r1] - adds r2, 0x1 - lsls r2, 16 - adds r6, 0x2 - lsrs r0, r2, 16 - asrs r2, 16 - cmp r2, 0x1F - ble _08147C7E - movs r1, 0x80 - lsls r1, 9 - adds r0, r3, r1 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _08147C78 - movs r0, 0x2 - bl EnableInterrupts - ldr r0, =sub_81481E0 - bl SetHBlankCallback - mov r2, r8 - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - movs r0, 0 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147C24 - - thumb_func_start sub_8147CE4 -sub_8147CE4: @ 8147CE4 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r7, =gUnknown_02038C28 - ldrh r0, [r4, 0xA] - ldrb r5, [r4, 0xA] - adds r0, 0x10 - strh r0, [r4, 0xA] - movs r6, 0 -_08147CFE: - adds r0, r5, 0 - movs r1, 0x10 - bl Sin - ldrh r1, [r4, 0xC] - adds r0, r1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r0, 0 - bge _08147D14 - movs r2, 0x1 -_08147D14: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0xF0 - ble _08147D1E - movs r2, 0xF0 -_08147D1E: - strh r2, [r7] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r7, 0x2 - adds r0, r5, 0 - adds r0, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r6, 0x4F - bls _08147CFE - cmp r6, 0x9F - bhi _08147D76 -_08147D38: - adds r0, r5, 0 - movs r1, 0x10 - bl Sin - ldrh r1, [r4, 0xE] - subs r1, r0 - lsls r1, 16 - lsrs r2, r1, 16 - cmp r1, 0 - bge _08147D4E - movs r2, 0 -_08147D4E: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0xEF - ble _08147D58 - movs r2, 0xEF -_08147D58: - lsls r0, r2, 16 - asrs r0, 8 - movs r1, 0xF0 - orrs r0, r1 - strh r0, [r7] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r7, 0x2 - adds r0, r5, 0 - adds r0, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r6, 0x9F - bls _08147D38 -_08147D76: - ldrh r1, [r4, 0xC] - adds r1, 0x8 - strh r1, [r4, 0xC] - ldrh r0, [r4, 0xE] - subs r0, 0x8 - strh r0, [r4, 0xE] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0xF0 - ble _08147D8E - movs r0, 0xF0 - strh r0, [r4, 0xC] -_08147D8E: - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _08147D9A - movs r0, 0 - strh r0, [r4, 0xE] -_08147D9A: - ldr r0, [r4, 0xC] - cmp r0, 0xF0 - bne _08147DA6 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08147DA6: - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrh r0, [r1, 0x18] - subs r0, 0x8 - strh r0, [r1, 0x18] - ldrh r0, [r1, 0x1A] - adds r0, 0x8 - strh r0, [r1, 0x1A] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147CE4 - - thumb_func_start sub_8147DD0 -sub_8147DD0: @ 8147DD0 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r2, =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r1, =gUnknown_02038C28 - adds r5, r2, 0 - movs r2, 0xF0 -_08147DE4: - strh r2, [r1] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - adds r1, 0x2 - cmp r0, 0x9F - bls _08147DE4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x8] - strh r1, [r4, 0xA] - strh r1, [r4, 0xC] - strh r1, [r4, 0xE] - ldr r1, [r5] - ldrh r0, [r1, 0x18] - subs r0, 0x8 - strh r0, [r1, 0x18] - ldrh r0, [r1, 0x1A] - adds r0, 0x8 - strh r0, [r1, 0x1A] - movs r1, 0x22 - ldrsh r0, [r4, r1] - movs r1, 0 - bl sub_8148484 - movs r1, 0x24 - ldrsh r0, [r4, r1] - movs r1, 0x1 - bl sub_8148484 - movs r1, 0x22 - ldrsh r0, [r4, r1] - bl sub_814849C - movs r0, 0x68 - bl PlaySE - ldr r1, [r5] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147DD0 - - thumb_func_start sub_8147E4C -sub_8147E4C: @ 8147E4C - push {r4,lr} - adds r4, r0, 0 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrh r0, [r1, 0x18] - subs r0, 0x8 - strh r0, [r1, 0x18] - ldrh r0, [r1, 0x1A] - adds r0, 0x8 - strh r0, [r1, 0x1A] - movs r1, 0x22 - ldrsh r0, [r4, r1] - bl sub_81484B8 - lsls r0, 16 - cmp r0, 0 - beq _08147E7C - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r1, 0x24 - ldrsh r0, [r4, r1] - bl sub_814849C -_08147E7C: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147E4C - - thumb_func_start sub_8147E88 -sub_8147E88: @ 8147E88 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - ldr r7, =sTransitionStructPtr - ldr r1, [r7] - ldrh r0, [r1, 0x18] - subs r0, 0x8 - movs r2, 0 - mov r8, r2 - strh r0, [r1, 0x18] - ldrh r0, [r1, 0x1A] - adds r0, 0x8 - strh r0, [r1, 0x1A] - movs r1, 0x24 - ldrsh r0, [r6, r1] - bl sub_81484B8 - lsls r0, 16 - cmp r0, 0 - beq _08147F1C - ldr r1, [r7] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - movs r0, 0 - bl SetVBlankCallback - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - ldr r4, =gUnknown_02038C28 - movs r5, 0xA0 - lsls r5, 1 - adds r0, r4, 0 - movs r1, 0 - adds r2, r5, 0 - bl memset - movs r2, 0xF0 - lsls r2, 3 - adds r4, r2 - adds r0, r4, 0 - movs r1, 0 - adds r2, r5, 0 - bl memset - movs r0, 0x40 - movs r1, 0xF0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - mov r0, r8 - strh r0, [r6, 0xE] - strh r0, [r6, 0x10] - ldr r1, [r7] - movs r0, 0xBF - strh r0, [r1, 0xE] - ldr r0, =sub_8148160 - bl SetVBlankCallback -_08147F1C: - movs r0, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147E88 - - thumb_func_start sub_8147F40 -sub_8147F40: @ 8147F40 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r2, =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - movs r6, 0x1 - ldr r1, [r2] - ldrh r0, [r1, 0x18] - subs r0, 0x8 - strh r0, [r1, 0x18] - ldrh r0, [r1, 0x1A] - adds r0, 0x8 - strh r0, [r1, 0x1A] - ldrh r1, [r4, 0x10] - movs r3, 0x10 - ldrsh r0, [r4, r3] - mov r12, r2 - cmp r0, 0x4F - bgt _08147F6E - adds r0, r1, 0x2 - strh r0, [r4, 0x10] -_08147F6E: - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0x50 - ble _08147F7A - movs r0, 0x50 - strh r0, [r4, 0x10] -_08147F7A: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - movs r1, 0x1 - ands r0, r1 - ldrh r3, [r4, 0x10] - cmp r0, 0 - beq _08147FDC - movs r2, 0 - lsls r0, r3, 16 - movs r6, 0 - cmp r0, 0 - blt _08147FDC - movs r7, 0x50 - ldr r5, =gUnknown_02038C28 -_08147F98: - lsls r0, r2, 16 - asrs r3, r0, 16 - subs r1, r7, r3 - adds r0, r3, 0 - adds r0, 0x50 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r1, 16 - asrs r1, 15 - adds r1, r5 - ldrh r0, [r1] - cmp r0, 0xF - bhi _08147FB8 - movs r6, 0x1 - adds r0, 0x1 - strh r0, [r1] -_08147FB8: - lsls r0, r2, 16 - asrs r0, 15 - adds r1, r0, r5 - ldrh r0, [r1] - cmp r0, 0xF - bhi _08147FCA - movs r6, 0x1 - adds r0, 0x1 - strh r0, [r1] -_08147FCA: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - asrs r0, 16 - movs r3, 0x10 - ldrsh r1, [r4, r3] - ldrh r3, [r4, 0x10] - cmp r0, r1 - ble _08147F98 -_08147FDC: - cmp r3, 0x50 - bne _08147FEA - cmp r6, 0 - bne _08147FEA - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08147FEA: - mov r1, r12 - ldr r0, [r1] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8147F40 - - thumb_func_start sub_8148008 -sub_8148008: @ 8148008 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r5, =sTransitionStructPtr - ldr r0, [r5] - ldrb r1, [r0] - movs r6, 0 - strb r6, [r0] - movs r0, 0x1 - negs r0, r0 - ldr r2, =0x00007fff - movs r1, 0x10 - bl BlendPalettes - ldr r1, [r5] - movs r0, 0xFF - strh r0, [r1, 0xE] - strh r6, [r4, 0xE] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148008 - - thumb_func_start sub_8148040 -sub_8148040: @ 8148040 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =sTransitionStructPtr - ldr r1, [r5] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - ldr r0, =gUnknown_02038C28 - movs r2, 0xE - ldrsh r1, [r4, r2] - movs r2, 0xA0 - lsls r2, 1 - bl memset - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0xF - ble _08148070 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08148070: - ldr r0, [r5] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148040 - - thumb_func_start sub_814808C -sub_814808C: @ 814808C - push {r4,lr} - adds r4, r0, 0 - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F84 - ldr r0, [r4] - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814808C - - thumb_func_start sub_81480CC -sub_81480CC: @ 81480CC - push {r4,lr} - ldr r4, =0x040000b0 - ldrh r1, [r4, 0xA] - ldr r0, =0x0000c5ff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r1, [r4, 0xA] - ldr r0, =0x00007fff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xA] - bl sub_8149F2C - ldr r3, =sTransitionStructPtr - ldr r0, [r3] - ldrb r0, [r0] - cmp r0, 0 - beq _08148104 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_08148104: - ldr r2, =0x04000012 - ldr r1, [r3] - ldrh r0, [r1, 0x1C] - strh r0, [r2] - adds r2, 0x36 - ldrh r0, [r1, 0x2] - strh r0, [r2] - adds r2, 0x2 - ldrh r0, [r1, 0x4] - strh r0, [r2] - subs r2, 0x6 - ldrh r0, [r1, 0x8] - strh r0, [r2] - ldr r0, =gUnknown_020393A8 - str r0, [r4] - ldr r0, =0x04000040 - str r0, [r4, 0x4] - ldr r0, =0xa2400001 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81480CC - - thumb_func_start sub_8148160 -sub_8148160: @ 8148160 - push {r4,lr} - ldr r4, =0x040000b0 - ldrh r1, [r4, 0xA] - ldr r0, =0x0000c5ff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r1, [r4, 0xA] - ldr r0, =0x00007fff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xA] - bl sub_8149F2C - ldr r2, =sTransitionStructPtr - ldr r0, [r2] - ldrb r0, [r0] - cmp r0, 0 - beq _08148198 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r3, 0xF0 - lsls r3, 3 - adds r0, r3 - str r0, [r1, 0x4] - ldr r0, =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_08148198: - ldr r1, =0x04000050 - ldr r0, [r2] - ldrh r0, [r0, 0xE] - strh r0, [r1] - ldr r0, =gUnknown_020393A8 - str r0, [r4] - ldr r0, =0x04000054 - str r0, [r4, 0x4] - ldr r0, =0xa2400001 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8148160 - - thumb_func_start sub_81481E0 -sub_81481E0: @ 81481E0 - push {lr} - ldr r0, =0x04000006 - ldrh r0, [r0] - cmp r0, 0x4F - bhi _08148200 - ldr r1, =0x04000010 - ldr r0, =sTransitionStructPtr - ldr r0, [r0] - ldrh r0, [r0, 0x18] - b _08148208 - .pool -_08148200: - ldr r1, =0x04000010 - ldr r0, =sTransitionStructPtr - ldr r0, [r0] - ldrh r0, [r0, 0x1A] -_08148208: - strh r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_81481E0 - - thumb_func_start sub_8148218 -sub_8148218: @ 8148218 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r4, r0, 0 - ldr r0, =gUnknown_085C8BF4 - movs r2, 0x26 - ldrsh r1, [r4, r2] - mov r8, r1 - add r0, r8 - ldrb r0, [r0] - ldr r2, =gUnknown_085C8C0E - lsls r1, 2 - mov r8, r1 - adds r1, r2 - ldrh r1, [r1] - subs r1, 0x20 - lsls r1, 16 - asrs r1, 16 - adds r2, 0x2 - add r2, r8 - ldrh r2, [r2] - adds r2, 0x2A - lsls r2, 16 - asrs r2, 16 - ldr r5, =0x0201c000 - str r5, [sp] - movs r3, 0 - bl sub_80B5E6C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - bl PlayerGenderToFrontTrainerPicId - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x88 - lsls r1, 1 - str r5, [sp] - movs r2, 0x6A - movs r3, 0 - bl sub_80B5E6C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x24] - movs r3, 0x22 - ldrsh r0, [r4, r3] - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - ldr r1, =gSprites - adds r5, r1 - movs r2, 0x24 - ldrsh r0, [r4, r2] - lsls r6, r0, 4 - adds r6, r0 - lsls r6, 2 - adds r6, r1 - ldr r0, =sub_8148380 - str r0, [r5, 0x1C] - str r0, [r6, 0x1C] - ldrb r0, [r5, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r5, 0x1] - ldrb r0, [r6, 0x1] - orrs r0, r1 - strb r0, [r6, 0x1] - bl AllocOamMatrix - lsls r0, 24 - lsrs r0, 24 - movs r3, 0x1F - mov r9, r3 - mov r4, r9 - ands r0, r4 - lsls r0, 1 - ldrb r2, [r5, 0x3] - movs r4, 0x3F - negs r4, r4 - adds r1, r4, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x3] - bl AllocOamMatrix - lsls r0, 24 - lsrs r0, 24 - mov r1, r9 - ands r0, r1 - lsls r0, 1 - ldrb r1, [r6, 0x3] - ands r4, r1 - orrs r4, r0 - strb r4, [r6, 0x3] - ldrb r2, [r5, 0x1] - movs r1, 0x3F - adds r0, r1, 0 - ands r0, r2 - movs r2, 0x40 - orrs r0, r2 - strb r0, [r5, 0x1] - ldrb r0, [r6, 0x1] - ands r1, r0 - orrs r1, r2 - strb r1, [r6, 0x1] - ldrb r0, [r5, 0x3] - movs r1, 0xC0 - orrs r0, r1 - strb r0, [r5, 0x3] - ldrb r0, [r6, 0x3] - orrs r0, r1 - strb r0, [r6, 0x3] - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0x3 - movs r3, 0x3 - bl CalcCenterToCornerVec - adds r0, r6, 0 - movs r1, 0x1 - movs r2, 0x3 - movs r3, 0x3 - bl CalcCenterToCornerVec - ldrb r0, [r5, 0x3] - lsls r0, 26 - lsrs r0, 27 - ldr r2, =gUnknown_085C8BFA - mov r3, r8 - adds r1, r3, r2 - movs r4, 0 - ldrsh r1, [r1, r4] - adds r2, 0x2 - add r8, r2 - mov r3, r8 - movs r4, 0 - ldrsh r2, [r3, r4] - movs r3, 0 - bl SetOamMatrixRotationScaling - ldrb r0, [r6, 0x3] - lsls r0, 26 - lsrs r0, 27 - ldr r1, =0xfffffe00 - movs r2, 0x80 - lsls r2, 2 - movs r3, 0 - bl SetOamMatrixRotationScaling - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8148218 - - thumb_func_start sub_8148380 -sub_8148380: @ 8148380 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gUnknown_085C8C24 -_08148386: - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08148386 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8148380 - - thumb_func_start sub_81483A8 -sub_81483A8: @ 81483A8 - movs r0, 0 - bx lr - thumb_func_end sub_81483A8 - - thumb_func_start sub_81483AC -sub_81483AC: @ 81483AC - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - ldr r1, =gUnknown_085C8C40 - mov r0, sp - movs r2, 0x4 - bl memcpy - add r4, sp, 0x4 - ldr r1, =gUnknown_085C8C44 - adds r0, r4, 0 - movs r2, 0x4 - bl memcpy - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - movs r1, 0x3C - ldrsh r0, [r5, r1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r5, 0x30] - movs r1, 0x3C - ldrsh r0, [r5, r1] - lsls r0, 1 - adds r4, r0 - ldrh r0, [r4] - strh r0, [r5, 0x32] - movs r0, 0x1 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81483AC - - thumb_func_start sub_81483F8 -sub_81483F8: @ 81483F8 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - ldrh r3, [r1, 0x20] - adds r2, r0, r3 - strh r2, [r1, 0x20] - movs r3, 0x3C - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08148416 - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x84 - bgt _08148424 - b _0814841E -_08148416: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x67 - ble _08148424 -_0814841E: - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] -_08148424: - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_81483F8 - - thumb_func_start sub_814842C -sub_814842C: @ 814842C - push {lr} - adds r2, r0, 0 - ldrh r3, [r2, 0x32] - ldrh r0, [r2, 0x30] - adds r1, r3, r0 - strh r1, [r2, 0x30] - ldrh r0, [r2, 0x20] - adds r0, r1 - strh r0, [r2, 0x20] - lsls r1, 16 - cmp r1, 0 - bne _08148452 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - negs r0, r3 - strh r0, [r2, 0x32] - movs r0, 0x1 - strh r0, [r2, 0x3A] -_08148452: - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_814842C - - thumb_func_start sub_8148458 -sub_8148458: @ 8148458 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x32] - ldrh r1, [r2, 0x30] - adds r0, r1 - strh r0, [r2, 0x30] - ldrh r1, [r2, 0x20] - adds r1, r0 - strh r1, [r2, 0x20] - adds r1, 0x1F - lsls r1, 16 - movs r0, 0x97 - lsls r0, 17 - cmp r1, r0 - bls _0814847C - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] -_0814847C: - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_8148458 - - thumb_func_start sub_8148484 -sub_8148484: @ 8148484 - ldr r3, =gSprites - lsls r0, 16 - asrs r0, 16 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - strh r1, [r2, 0x3C] - bx lr - .pool - thumb_func_end sub_8148484 - - thumb_func_start sub_814849C -sub_814849C: @ 814849C - ldr r2, =gSprites - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - bx lr - .pool - thumb_func_end sub_814849C - - thumb_func_start sub_81484B8 -sub_81484B8: @ 81484B8 - ldr r2, =gSprites - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r2, 0x3A - ldrsh r0, [r1, r2] - bx lr - .pool - thumb_func_end sub_81484B8 - - thumb_func_start sub_81484D0 -sub_81484D0: @ 81484D0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8C48 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081484E2: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081484E2 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81484D0 - - thumb_func_start sub_8148508 -sub_8148508: @ 8148508 - push {r4-r6,lr} - adds r5, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - movs r4, 0 - movs r3, 0 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r5, 0xC] - movs r0, 0x1 - strh r0, [r5, 0xE] - ldr r2, =sTransitionStructPtr - ldr r1, [r2] - movs r0, 0x3F - strh r0, [r1, 0x2] - strh r3, [r1, 0x4] - movs r0, 0xA0 - strh r0, [r1, 0x8] - ldrb r0, [r1] - strb r4, [r1] - ldr r4, =gUnknown_020393A8 - adds r6, r2, 0 - movs r2, 0xF0 -_0814853A: - lsls r1, r3, 1 - adds r1, r4 - ldr r0, [r6] - ldrh r0, [r0, 0x14] - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0xA0 - lsls r0, 1 - adds r0, r4 - strh r2, [r0] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x9F - bls _0814853A - movs r0, 0x2 - bl EnableInterrupts - movs r0, 0x4 - movs r1, 0x10 - bl SetGpuRegBits - ldr r0, =sub_814869C - bl SetVBlankCallback - ldr r0, =sub_8148728 - bl SetHBlankCallback - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148508 - - thumb_func_start sub_8148590 -sub_8148590: @ 8148590 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r3, r0, 0 - ldr r2, =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldrh r0, [r3, 0xC] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r3, 0xA] - adds r0, r1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - mov r8, r2 - cmp r0, 0xF0 - ble _081485BC - movs r0, 0xF0 - strh r0, [r3, 0xA] -_081485BC: - ldrh r4, [r3, 0xC] - movs r0, 0xC - ldrsh r1, [r3, r0] - ldr r0, =0x00000fff - ldrh r2, [r3, 0xE] - cmp r1, r0 - bgt _081485CE - adds r0, r4, r2 - strh r0, [r3, 0xC] -_081485CE: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x7F - bgt _081485DA - lsls r0, r2, 1 - strh r0, [r3, 0xE] -_081485DA: - movs r5, 0 - ldr r7, =gUnknown_02038C28 - movs r1, 0xA0 - lsls r1, 1 - adds r1, r7 - mov r12, r1 - mov r6, r8 -_081485E8: - lsls r0, r5, 1 - adds r2, r0, r7 - mov r1, r12 - adds r4, r0, r1 - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _08148618 - ldr r1, [r6] - ldrh r0, [r3, 0xA] - ldrh r1, [r1, 0x14] - adds r0, r1 - strh r0, [r2] - ldrh r1, [r3, 0xA] - movs r0, 0xF0 - subs r0, r1 - b _0814862A - .pool -_08148618: - ldr r0, [r6] - ldrh r0, [r0, 0x14] - ldrh r1, [r3, 0xA] - subs r0, r1 - strh r0, [r2] - ldrh r0, [r3, 0xA] - lsls r0, 8 - movs r1, 0xF1 - orrs r0, r1 -_0814862A: - strh r0, [r4] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x9F - bls _081485E8 - movs r1, 0xA - ldrsh r0, [r3, r1] - cmp r0, 0xEF - ble _08148644 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_08148644: - mov r1, r8 - ldr r0, [r1] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8148590 - - thumb_func_start sub_814865C -sub_814865C: @ 814865C - push {lr} - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F84 - ldr r0, =sub_81484D0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_814865C - - thumb_func_start sub_814869C -sub_814869C: @ 814869C - push {r4,lr} - ldr r4, =0x040000b0 - ldrh r1, [r4, 0xA] - ldr r0, =0x0000c5ff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r1, [r4, 0xA] - ldr r0, =0x00007fff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xA] - bl sub_8149F2C - ldr r2, =0x04000048 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrh r0, [r1, 0x2] - strh r0, [r2] - adds r2, 0x2 - ldrh r0, [r1, 0x4] - strh r0, [r2] - subs r2, 0x6 - ldrh r0, [r1, 0x8] - strh r0, [r2] - ldrb r0, [r1] - cmp r0, 0 - beq _081486E6 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, =0x80000140 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_081486E6: - ldr r0, =gUnknown_020394E8 - str r0, [r4] - ldr r0, =0x04000040 - str r0, [r4, 0x4] - ldr r0, =0xa2400001 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814869C - - thumb_func_start sub_8148728 -sub_8148728: @ 8148728 - push {lr} - ldr r2, =0x04000006 - ldrh r0, [r2] - cmp r0, 0x9F - bhi _0814874E - ldr r1, =gUnknown_02038C28 - ldrh r0, [r2] - lsls r0, 1 - movs r2, 0xF0 - lsls r2, 3 - adds r1, r2 - adds r0, r1 - ldrh r1, [r0] - ldr r0, =0x04000014 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] -_0814874E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8148728 - - thumb_func_start sub_8148760 -sub_8148760: @ 8148760 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8C54 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08148772: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08148772 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8148760 - - thumb_func_start sub_8148798 -sub_8148798: @ 8148798 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r2, 0 - movs r0, 0x3F - strh r0, [r1, 0x2] - strh r2, [r1, 0x4] - movs r0, 0xA0 - strh r0, [r1, 0x8] - movs r4, 0 - ldr r5, =gUnknown_02038C28 - movs r0, 0xF0 - lsls r0, 3 - adds r0, r5 - mov r12, r0 - mov r8, r4 - movs r1, 0xF0 - mov r9, r1 -_081487CC: - lsls r2, r4, 1 - mov r7, r12 - adds r1, r2, r7 - ldr r0, =sTransitionStructPtr - ldr r3, [r0] - ldrh r0, [r3, 0x14] - strh r0, [r1] - adds r1, r4, 0 - adds r1, 0xA0 - lsls r1, 1 - adds r0, r1, r7 - mov r7, r9 - strh r7, [r0] - adds r2, r5 - ldrh r0, [r3, 0x14] - strh r0, [r2] - adds r1, r5 - mov r0, r9 - strh r0, [r1] - movs r1, 0xA0 - lsls r1, 1 - adds r0, r4, r1 - lsls r0, 1 - adds r0, r5 - mov r7, r8 - strh r7, [r0] - adds r1, 0xA0 - adds r0, r4, r1 - lsls r0, 1 - adds r0, r5 - subs r1, 0xE0 - strh r1, [r0] - movs r7, 0xA0 - lsls r7, 2 - adds r0, r4, r7 - lsls r0, 1 - adds r0, r5 - movs r1, 0x1 - strh r1, [r0] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x9F - bls _081487CC - movs r0, 0 - strh r0, [r6, 0x10] - strh r0, [r6, 0x12] - movs r0, 0x7 - strh r0, [r6, 0x14] - movs r0, 0x2 - bl EnableInterrupts - ldr r0, =sub_814869C - bl SetVBlankCallback - ldr r0, =sub_8148728 - bl SetHBlankCallback - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - movs r0, 0x1 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148798 - - thumb_func_start sub_8148864 -sub_8148864: @ 8148864 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - mov r9, r0 - ldr r1, =gUnknown_085C8C64 - mov r0, sp - movs r2, 0x2 - bl memcpy - add r4, sp, 0x4 - ldr r1, =gUnknown_085C8C66 - adds r0, r4, 0 - movs r2, 0x4 - bl memcpy - ldr r2, =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - str r0, [sp, 0x8] - mov r10, r0 - mov r1, r9 - movs r3, 0x12 - ldrsh r0, [r1, r3] - ldr r1, [sp, 0x8] - cmp r1, r0 - ble _081488A4 - b _08148A68 -_081488A4: - movs r7, 0 - mov r2, r10 - negs r2, r2 - str r2, [sp, 0xC] - mov r3, r10 - adds r3, 0x1 - str r3, [sp, 0x10] -_081488B2: - movs r6, 0 - mov r0, sp - adds r0, r7 - mov r12, r0 -_081488BA: - lsls r0, r6, 1 - add r0, sp - adds r0, 0x4 - movs r1, 0 - ldrsh r0, [r0, r1] - ldr r2, [sp, 0xC] - muls r0, r2 - lsls r0, 1 - mov r3, r12 - ldrb r3, [r3] - adds r0, r3 - lsls r0, 16 - lsrs r5, r0, 16 - asrs r0, 16 - cmp r0, 0 - blt _08148966 - cmp r0, 0x4F - bne _081488E2 - cmp r7, 0x1 - beq _08148966 -_081488E2: - lsls r1, r0, 1 - ldr r0, =gUnknown_02038EA8 - adds r4, r1, r0 - movs r2, 0xA0 - lsls r2, 1 - adds r0, r2 - adds r3, r1, r0 - ldr r0, =gUnknown_02039128 - adds r1, r0 - ldrh r2, [r4] - cmp r2, 0xEF - bls _08148920 - movs r1, 0xF0 - strh r1, [r4] - ldr r0, [sp, 0x8] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] - b _08148940 - .pool -_08148920: - ldrh r0, [r3] - lsrs r0, 8 - adds r0, r2, r0 - strh r0, [r4] - ldrh r0, [r1] - cmp r0, 0x7F - bhi _08148932 - lsls r0, 1 - strh r0, [r1] -_08148932: - ldrh r2, [r3] - ldr r0, =0x00000fff - cmp r2, r0 - bhi _08148940 - ldrh r0, [r1] - adds r0, r2, r0 - strh r0, [r3] -_08148940: - lsls r0, r5, 16 - asrs r0, 15 - ldr r1, =gUnknown_02038C28 - adds r2, r0, r1 - ldr r1, =gUnknown_02038D68 - adds r3, r0, r1 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrh r0, [r4] - ldrh r1, [r1, 0x14] - adds r0, r1 - strh r0, [r2] - ldrh r0, [r4] - movs r1, 0xF0 - subs r0, r1, r0 - strh r0, [r3] - mov r2, r10 - cmp r2, 0 - beq _08148970 -_08148966: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x1 - bls _081488BA -_08148970: - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x1 - bls _081488B2 - movs r7, 0 - ldr r3, =gUnknown_02038EA8 - mov r8, r3 -_08148980: - movs r6, 0 - mov r0, sp - adds r0, r7 - mov r12, r0 - adds r1, r7, 0x1 - str r1, [sp, 0x14] -_0814898C: - mov r2, r12 - ldrb r1, [r2] - adds r1, 0x1 - lsls r0, r6, 1 - add r0, sp - adds r0, 0x4 - movs r3, 0 - ldrsh r0, [r0, r3] - ldr r2, [sp, 0xC] - muls r0, r2 - lsls r0, 1 - adds r1, r0 - lsls r1, 16 - lsrs r5, r1, 16 - asrs r1, 16 - cmp r1, 0xA0 - bgt _08148A40 - cmp r1, 0x50 - bne _081489B6 - cmp r7, 0x1 - beq _08148A40 -_081489B6: - lsls r1, 1 - mov r3, r8 - adds r4, r1, r3 - movs r0, 0xA0 - lsls r0, 1 - add r0, r8 - adds r3, r1, r0 - ldr r0, =gUnknown_02039128 - adds r1, r0 - ldrh r2, [r4] - cmp r2, 0xEF - bls _081489F8 - movs r1, 0xF0 - strh r1, [r4] - ldr r0, [sp, 0x8] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] - b _08148A18 - .pool -_081489F8: - ldrh r0, [r3] - lsrs r0, 8 - adds r0, r2, r0 - strh r0, [r4] - ldrh r0, [r1] - cmp r0, 0x7F - bhi _08148A0A - lsls r0, 1 - strh r0, [r1] -_08148A0A: - ldrh r2, [r3] - ldr r0, =0x00000fff - cmp r2, r0 - bhi _08148A18 - ldrh r0, [r1] - adds r0, r2, r0 - strh r0, [r3] -_08148A18: - lsls r0, r5, 16 - asrs r0, 15 - ldr r1, =gUnknown_02038C28 - adds r2, r0, r1 - ldr r1, =gUnknown_02038D68 - adds r3, r0, r1 - ldr r1, =sTransitionStructPtr - ldr r0, [r1] - ldrh r1, [r0, 0x14] - ldrh r0, [r4] - subs r1, r0 - strh r1, [r2] - ldrh r0, [r4] - lsls r0, 8 - movs r1, 0xF1 - orrs r0, r1 - strh r0, [r3] - mov r2, r10 - cmp r2, 0 - beq _08148A4A -_08148A40: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x1 - bls _0814898C -_08148A4A: - ldr r3, [sp, 0x14] - lsls r0, r3, 16 - lsrs r7, r0, 16 - cmp r7, 0x1 - bls _08148980 - ldr r1, [sp, 0x10] - lsls r0, r1, 16 - lsrs r0, 16 - mov r10, r0 - mov r2, r9 - movs r3, 0x12 - ldrsh r0, [r2, r3] - cmp r10, r0 - bgt _08148A68 - b _081488A4 -_08148A68: - mov r1, r9 - ldrh r0, [r1, 0x10] - subs r0, 0x1 - strh r0, [r1, 0x10] - lsls r0, 16 - cmp r0, 0 - bge _08148A7A - movs r0, 0 - strh r0, [r1, 0x10] -_08148A7A: - mov r2, r9 - movs r3, 0x10 - ldrsh r0, [r2, r3] - cmp r0, 0 - bgt _08148A98 - movs r1, 0x12 - ldrsh r0, [r2, r1] - adds r0, 0x1 - cmp r0, 0x14 - bgt _08148A98 - ldrh r0, [r2, 0x14] - strh r0, [r2, 0x10] - ldrh r0, [r2, 0x12] - adds r0, 0x1 - strh r0, [r2, 0x12] -_08148A98: - ldr r2, [sp, 0x8] - cmp r2, 0x9F - bls _08148AA6 - mov r3, r9 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_08148AA6: - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148864 - - thumb_func_start sub_8148AD4 -sub_8148AD4: @ 8148AD4 - push {r4,r5,lr} - adds r3, r0, 0 - movs r2, 0x1 - ldr r5, =0x0000ff10 - movs r1, 0 - ldr r4, =gUnknown_020393A8 -_08148AE0: - lsls r0, r1, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r0, 0xF0 - beq _08148AF0 - cmp r0, r5 - beq _08148AF0 - movs r2, 0 -_08148AF0: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x9F - bls _08148AE0 - cmp r2, 0x1 - bne _08148B04 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_08148B04: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148AD4 - - thumb_func_start sub_8148B14 -sub_8148B14: @ 8148B14 - push {lr} - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F84 - ldr r0, =sub_8148760 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148B14 - - thumb_func_start sub_8148B54 -sub_8148B54: @ 8148B54 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8C6C - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08148B66: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08148B66 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8148B54 - - thumb_func_start sub_8148B8C -sub_8148B8C: @ 8148B8C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8C78 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08148B9E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08148B9E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8148B8C - - thumb_func_start sub_8148BC4 -sub_8148BC4: @ 8148BC4 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r0, 0 - strh r0, [r1, 0x2] - movs r0, 0x3F - strh r0, [r1, 0x4] - movs r0, 0xF0 - strh r0, [r1, 0x6] - movs r0, 0xA0 - strh r0, [r1, 0x8] - ldr r0, =gUnknown_02038C28 - movs r2, 0 - movs r1, 0x9F - ldr r3, =0x000008be - adds r0, r3 -_08148BEE: - strh r2, [r0] - subs r0, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _08148BEE - movs r4, 0 - ldr r0, =sub_8146F68 - bl SetVBlankCallback - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x1 - strh r0, [r5, 0xA] - adds r0, 0xFF - strh r0, [r5, 0xC] - strh r4, [r5, 0x16] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148BC4 - - thumb_func_start sub_8148C28 -sub_8148C28: @ 8148C28 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x16 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _08148C6C - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - movs r0, 0 - bl SetVBlankCallback - ldr r0, [r4] - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - b _08148CDE - .pool -_08148C6C: - ldr r5, =sTransitionStructPtr - ldr r1, [r5] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldrh r2, [r4, 0xC] - movs r0, 0xC - ldrsh r1, [r4, r0] - ldr r0, =0x000003ff - cmp r1, r0 - bgt _08148C88 - adds r0, r2, 0 - adds r0, 0x80 - strh r0, [r4, 0xC] -_08148C88: - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0x9F - bgt _08148C9C - ldrh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 24 - adds r0, r1, r0 - strh r0, [r4, 0xA] -_08148C9C: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0xA0 - ble _08148CA8 - movs r0, 0xA0 - strh r0, [r4, 0xA] -_08148CA8: - ldr r0, =gUnknown_02038C28 - movs r2, 0xA - ldrsh r3, [r4, r2] - movs r1, 0x78 - movs r2, 0x50 - bl sub_814A014 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0xA0 - bne _08148CD4 - movs r0, 0x1 - strh r0, [r4, 0x16] - bl sub_8149F84 - b _08148CDE - .pool -_08148CD4: - ldr r0, [r5] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] -_08148CDE: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8148C28 - - thumb_func_start sub_8148CE8 -sub_8148CE8: @ 8148CE8 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, =sTransitionStructPtr - ldr r0, [r6] - ldrb r1, [r0] - movs r5, 0 - strb r5, [r0] - ldrh r1, [r4, 0x16] - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08148D0A - adds r0, r1, 0x1 - strh r0, [r4, 0x16] - movs r0, 0x30 - strh r0, [r4, 0xA] - strh r5, [r4, 0x14] -_08148D0A: - ldr r1, =gUnknown_085C8C80 - movs r2, 0x14 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - ldrh r1, [r4, 0xA] - adds r0, r1 - strh r0, [r4, 0xA] - movs r2, 0x14 - ldrsh r1, [r4, r2] - adds r1, 0x1 - lsrs r0, r1, 31 - adds r0, r1, r0 - asrs r0, 1 - lsls r0, 1 - subs r1, r0 - strh r1, [r4, 0x14] - ldr r0, =gUnknown_02038C28 - movs r1, 0xA - ldrsh r3, [r4, r1] - movs r1, 0x78 - movs r2, 0x50 - bl sub_814A014 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0x8 - bgt _08148D4C - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - strh r5, [r4, 0x16] -_08148D4C: - ldr r0, [r6] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148CE8 - - thumb_func_start sub_8148D6C -sub_8148D6C: @ 8148D6C - push {r4,lr} - adds r4, r0, 0 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldrh r1, [r4, 0x16] - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08148D8E - adds r0, r1, 0x1 - strh r0, [r4, 0x16] - movs r0, 0x2 - strh r0, [r4, 0x12] - strh r0, [r4, 0x14] -_08148D8E: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0xA0 - ble _08148D9A - movs r0, 0xA0 - strh r0, [r4, 0xA] -_08148D9A: - ldr r0, =gUnknown_02038C28 - movs r2, 0xA - ldrsh r3, [r4, r2] - movs r1, 0x78 - movs r2, 0x50 - bl sub_814A014 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0xA0 - bne _08148DD6 - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F84 - ldr r0, [r4] - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08148DD6: - ldrh r2, [r4, 0x12] - ldrb r0, [r4, 0x12] - cmp r0, 0x80 - bgt _08148DFC - ldrh r1, [r4, 0x14] - adds r0, r2, 0 - adds r0, 0x8 - b _08148E08 - .pool -_08148DFC: - ldrh r0, [r4, 0x14] - subs r0, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - adds r0, r2, 0 - adds r0, 0x10 -_08148E08: - strh r0, [r4, 0x12] - movs r0, 0xFF - ands r2, r0 - lsls r1, 16 - asrs r1, 16 - adds r0, r2, 0 - bl Sin - ldrh r2, [r4, 0xA] - adds r0, r2 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bgt _08148E28 - movs r0, 0x1 - strh r0, [r4, 0xA] -_08148E28: - ldrh r0, [r4, 0x12] - lsls r1, r0, 16 - asrs r0, r1, 16 - cmp r0, 0xFE - ble _08148E3C - asrs r0, r1, 24 - strh r0, [r4, 0x12] - ldrh r0, [r4, 0x14] - adds r0, 0x1 - strh r0, [r4, 0x14] -_08148E3C: - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148D6C - - thumb_func_start sub_8148E54 -sub_8148E54: @ 8148E54 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8C84 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08148E66: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08148E66 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8148E54 - - thumb_func_start sub_8148E8C -sub_8148E8C: @ 8148E8C - push {r4,r5,lr} - sub sp, 0xC - adds r5, r0, 0 - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - ldr r4, =gUnknown_085BACD0 - ldr r1, [sp, 0x8] - adds r0, r4, 0 - movs r2, 0x10 - bl CpuSet - movs r0, 0xE0 - lsls r0, 1 - adds r4, r0 - ldr r1, [sp, 0x8] - adds r1, 0x40 - adds r0, r4, 0 - movs r2, 0x10 - bl CpuSet - mov r1, sp - movs r2, 0xF0 - lsls r2, 8 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - mov r0, sp - bl CpuSet - ldr r0, =gFieldEffectObjectPalette10 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r1, 0 - movs r4, 0x1 - movs r0, 0x1 - strh r0, [r5, 0xE] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - ldr r5, =gUnknown_03001210 - strb r1, [r5] - ldr r0, =0x0000ffff - strh r0, [r5, 0x2] - strb r4, [r5, 0x4] - movs r2, 0x9A - lsls r2, 1 - strh r2, [r5, 0x6] - strb r1, [r5, 0x8] - strb r1, [r5, 0xC] - movs r0, 0x1 - negs r0, r0 - strh r0, [r5, 0xE] - strb r4, [r5, 0x10] - strh r2, [r5, 0x12] - strb r1, [r5, 0x14] - strb r1, [r5, 0x18] - ldr r2, =0x0000fffd - strh r2, [r5, 0x1A] - strb r4, [r5, 0x1C] - ldr r3, =0x00000133 - strh r3, [r5, 0x1E] - adds r0, r5, 0 - adds r0, 0x20 - strb r1, [r0] - adds r0, 0x4 - strb r1, [r0] - strh r2, [r5, 0x26] - adds r0, 0x4 - strb r4, [r0] - strh r3, [r5, 0x2A] - adds r0, 0x4 - strb r1, [r0] - movs r0, 0 - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148E8C - - thumb_func_start sub_8148F4C -sub_8148F4C: @ 8148F4C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - mov r8, r0 - movs r7, 0x1 - add r1, sp, 0x4 - mov r0, sp - bl sub_8149F58 - movs r0, 0 -_08148F62: - movs r5, 0 - adds r6, r0, 0x1 -_08148F66: - ldr r1, =gUnknown_085C8D38 - lsrs r0, r5, 1 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 2 - ldr r2, =gUnknown_03001210 - adds r4, r1, r2 - adds r1, r4, 0 - bl sub_8149048 - lsls r0, 16 - cmp r0, 0 - beq _08148FCA - movs r7, 0 - ldrh r2, [r4, 0x2] - movs r0, 0x1 - ands r0, r5 - cmp r0, 0x1 - bne _08148FA0 - ldr r0, =0x0000027d - adds r1, r0, 0 - lsls r0, r2, 16 - asrs r0, 16 - subs r1, r0 - lsls r1, 16 - lsrs r2, r1, 16 -_08148FA0: - lsls r0, r2, 16 - asrs r1, r0, 16 - adds r0, r1, 0 - cmp r1, 0 - bge _08148FAC - adds r0, 0x1F -_08148FAC: - asrs r2, r0, 5 - lsls r0, r2, 5 - subs r0, r1, r0 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r2, 5 - lsls r0, 16 - asrs r0, 16 - adds r1, r0 - ldr r0, [sp] - lsls r1, 1 - adds r1, r0 - ldr r2, =0x0000f002 - adds r0, r2, 0 - strh r0, [r1] -_08148FCA: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _08148F66 - lsls r0, r6, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _08148F62 - cmp r7, 0x1 - bne _08148FE8 - mov r1, r8 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_08148FE8: - movs r0, 0 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8148F4C - - thumb_func_start sub_8149008 -sub_8149008: @ 8149008 - push {r4,lr} - adds r4, r0, 0 - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F84 - ldr r0, [r4] - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149008 - - thumb_func_start sub_8149048 -sub_8149048: @ 8149048 - push {r4,lr} - adds r2, r1, 0 - ldrb r1, [r2] - lsls r1, 2 - adds r1, r0 - ldr r3, [r1] - ldrb r0, [r2, 0x4] - lsls r0, 1 - adds r0, r3 - movs r4, 0 - ldrsh r1, [r0, r4] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081490CE - ldr r1, =gUnknown_03001208 - ldrh r0, [r3] - strh r0, [r1] - ldrh r0, [r3, 0x2] - strh r0, [r1] - ldrh r0, [r3, 0x4] - strh r0, [r1] - ldrh r0, [r3, 0x6] - strh r0, [r1] - movs r1, 0 - ldrsh r0, [r3, r1] - cmp r0, 0x2 - beq _081490A0 - cmp r0, 0x2 - bgt _08149090 - cmp r0, 0x1 - beq _0814909A - b _081490B2 - .pool -_08149090: - cmp r0, 0x3 - beq _081490A6 - cmp r0, 0x4 - beq _081490AC - b _081490B2 -_0814909A: - ldrh r0, [r2, 0x2] - adds r0, 0x1 - b _081490B0 -_081490A0: - ldrh r0, [r2, 0x2] - subs r0, 0x1 - b _081490B0 -_081490A6: - ldrh r0, [r2, 0x2] - subs r0, 0x20 - b _081490B0 -_081490AC: - ldrh r0, [r2, 0x2] - adds r0, 0x20 -_081490B0: - strh r0, [r2, 0x2] -_081490B2: - movs r4, 0x2 - ldrsh r1, [r2, r4] - ldr r0, =0x0000027f - cmp r1, r0 - bgt _081490CE - ldrb r0, [r2, 0x4] - lsls r0, 1 - adds r0, r3 - movs r4, 0 - ldrsh r1, [r0, r4] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _081490D8 -_081490CE: - movs r0, 0 - b _08149138 - .pool -_081490D8: - ldrb r0, [r2, 0x8] - cmp r0, 0 - bne _081490F4 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - bne _081490F4 - movs r0, 0x1 - strb r0, [r2, 0x8] - strb r0, [r2, 0x4] - ldrh r0, [r2, 0x6] - strh r0, [r2, 0x2] - movs r0, 0x4 - strb r0, [r2] -_081490F4: - ldrb r0, [r2, 0x4] - lsls r0, 1 - adds r0, r3 - movs r3, 0x2 - ldrsh r1, [r2, r3] - movs r4, 0 - ldrsh r0, [r0, r4] - cmp r1, r0 - bne _08149136 - ldrb r0, [r2] - adds r1, r0, 0x1 - strb r1, [r2] - ldrb r0, [r2, 0x8] - cmp r0, 0x1 - bne _08149124 - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, 0x7 - bls _08149136 - ldrb r0, [r2, 0x4] - adds r0, 0x1 - strb r0, [r2, 0x4] - movs r0, 0x4 - b _08149134 -_08149124: - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08149136 - ldrb r0, [r2, 0x4] - adds r0, 0x1 - strb r0, [r2, 0x4] - movs r0, 0 -_08149134: - strb r0, [r2] -_08149136: - movs r0, 0x1 -_08149138: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8149048 - - thumb_func_start sub_8149140 -sub_8149140: @ 8149140 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8D40 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08149152: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08149152 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149140 - - thumb_func_start sub_8149178 -sub_8149178: @ 8149178 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - mov r0, sp - bl CpuSet - ldr r0, =gUnknown_085BE51C - ldr r1, [sp, 0x8] - bl LZ77UnCompVram - ldr r0, =gUnknown_085BEA88 - ldr r1, [sp, 0x4] - bl LZ77UnCompVram - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x8] - strh r1, [r4, 0xA] - movs r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149178 - - thumb_func_start sub_81491C8 -sub_81491C8: @ 81491C8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xA - ldrsh r5, [r4, r0] - adds r0, r5, 0 - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _08149200 - adds r0, r5, 0 - movs r1, 0x1E - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r0, 11 - ldr r1, =gUnknown_085BF0A0 - adds r0, r1 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette -_08149200: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3A - ble _08149218 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - strh r0, [r4, 0xA] -_08149218: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81491C8 - - thumb_func_start sub_8149224 -sub_8149224: @ 8149224 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xA - ldrsh r5, [r4, r0] - adds r0, r5, 0 - movs r1, 0x5 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _08149252 - adds r0, r5, 0 - movs r1, 0x5 - bl __divsi3 - lsls r0, 16 - asrs r0, 11 - ldr r1, =gUnknown_085BF2A0 - adds r0, r1 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette -_08149252: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x44 - ble _0814926E - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - strh r0, [r4, 0xA] - movs r0, 0x1E - strh r0, [r4, 0x18] -_0814926E: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149224 - - thumb_func_start sub_814927C -sub_814927C: @ 814927C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8D60 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814928E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814928E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814927C - - thumb_func_start sub_81492B4 -sub_81492B4: @ 81492B4 - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - ldr r1, =0x00009a08 - movs r0, 0x8 - bl SetGpuReg - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - mov r0, sp - bl CpuSet - ldr r0, =gUnknown_085BF6A0 - ldr r1, [sp, 0x8] - movs r2, 0x80 - lsls r2, 5 - bl CpuSet - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r0, 0 - strh r0, [r1, 0x20] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldr r0, =gUnknown_085BF540 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r2, 0 - ldr r3, =gUnknown_02038C28 - movs r6, 0 - movs r0, 0xF0 - lsls r0, 3 - adds r5, r3, r0 - movs r4, 0x80 - lsls r4, 1 -_08149316: - lsls r1, r2, 1 - adds r0, r1, r3 - strh r6, [r0] - adds r1, r5 - strh r4, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x9F - bls _08149316 - ldr r0, =sub_8149508 - bl SetVBlankCallback - movs r0, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81492B4 - - thumb_func_start sub_8149358 -sub_8149358: @ 8149358 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - add r1, sp, 0x4 - mov r0, sp - bl sub_8149F58 - ldr r0, =gUnknown_085C6BE0 - ldr r1, [sp] - movs r2, 0x80 - lsls r2, 4 - bl CpuSet - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149358 - - thumb_func_start sub_8149388 -sub_8149388: @ 8149388 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0xA] - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _081493B4 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _081493A0 - adds r0, 0x3 -_081493A0: - lsls r0, 14 - lsrs r0, 16 - adds r0, 0x5 - lsls r0, 5 - ldr r1, =gUnknown_085BF4A0 - adds r0, r1 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette -_081493B4: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - ble _081493CC - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - strh r0, [r4, 0xA] -_081493CC: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149388 - - thumb_func_start sub_81493D8 -sub_81493D8: @ 81493D8 - push {lr} - sub sp, 0x4 - adds r1, r0, 0 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - movs r2, 0 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _08149402 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - strh r2, [r1, 0xA] - ldr r0, =0xffff8000 - str r2, [sp] - movs r1, 0x2 - movs r3, 0x10 - bl BeginNormalPaletteFade -_08149402: - movs r0, 0 - add sp, 0x4 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81493D8 - - thumb_func_start sub_8149410 -sub_8149410: @ 8149410 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0814942E - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r0, 0x1 - strh r0, [r1, 0x20] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] -_0814942E: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149410 - - thumb_func_start sub_814943C -sub_814943C: @ 814943C - push {r4,lr} - adds r4, r0, 0 - ldr r0, =0x00007fff - movs r1, 0x8 - movs r2, 0 - bl BlendPalettes - ldr r0, =0xffff8000 - movs r1, 0 - movs r2, 0 - bl BlendPalettes - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814943C - - thumb_func_start sub_814946C -sub_814946C: @ 814946C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xA - ldrsh r5, [r4, r0] - adds r0, r5, 0 - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _0814949A - adds r0, r5, 0 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r0, 11 - ldr r1, =gUnknown_085BF4A0 - adds r0, r1 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette -_0814949A: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x27 - ble _081494F0 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r0, 0 - strh r0, [r1, 0x2] - movs r0, 0x3F - strh r0, [r1, 0x4] - movs r0, 0xF0 - strh r0, [r1, 0x6] - movs r0, 0xA0 - strh r0, [r1, 0x8] - movs r1, 0 - ldr r5, =sub_8146F68 - ldr r3, =gUnknown_020393A8 - movs r2, 0 -_081494C4: - lsls r0, r1, 1 - adds r0, r3 - strh r2, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x9F - bls _081494C4 - adds r0, r5, 0 - bl SetVBlankCallback - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r2, 0 - strh r0, [r4, 0x8] - movs r1, 0x80 - lsls r1, 1 - strh r1, [r4, 0xC] - strh r2, [r4, 0x16] - movs r0, 0 - bl ClearGpuRegBits -_081494F0: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814946C - - thumb_func_start sub_8149508 -sub_8149508: @ 8149508 - push {lr} - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F2C - ldr r0, =sTransitionStructPtr - ldr r0, [r0] - movs r1, 0x20 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08149548 - ldr r2, =gUnknown_02038C28 - b _08149554 - .pool -_08149548: - ldr r2, =gUnknown_02038C28 - cmp r0, 0x1 - bne _08149554 - movs r0, 0xF0 - lsls r0, 3 - adds r2, r0 -_08149554: - ldr r1, =0x040000b0 - str r2, [r1] - ldr r0, =0x04000012 - str r0, [r1, 0x4] - ldr r0, =0xa2400001 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149508 - - thumb_func_start sub_8149578 -sub_8149578: @ 8149578 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8D8C - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814958A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814958A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149578 - - thumb_func_start sub_81495B0 -sub_81495B0: @ 81495B0 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r2, 0 - movs r0, 0xBF - strh r0, [r1, 0xE] - strh r2, [r1, 0x12] - movs r0, 0x1E - strh r0, [r1, 0x2] - movs r0, 0x3F - strh r0, [r1, 0x4] - movs r0, 0xA0 - strh r0, [r1, 0x8] - movs r1, 0 - ldr r2, =gUnknown_020393A8 - movs r4, 0 - movs r3, 0xF0 -_081495DC: - lsls r0, r1, 1 - adds r0, r2 - strh r4, [r0] - adds r0, r1, 0 - adds r0, 0xA0 - lsls r0, 1 - adds r0, r2 - strh r3, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x9F - bls _081495DC - movs r0, 0x2 - bl EnableInterrupts - ldr r0, =sub_8149840 - bl SetHBlankCallback - ldr r0, =sub_8149774 - bl SetVBlankCallback - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81495B0 - - thumb_func_start sub_8149628 -sub_8149628: @ 8149628 - push {r4-r6,lr} - sub sp, 0x10 - adds r6, r0, 0 - ldr r1, =gUnknown_085C8DA0 - mov r0, sp - movs r2, 0x10 - bl memcpy - movs r5, 0 - movs r4, 0 -_0814963C: - ldr r0, =sub_8149864 - bl CreateInvisibleSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r2, r1, r0 - movs r0, 0xF0 - strh r0, [r2, 0x20] - strh r4, [r2, 0x22] - lsls r1, r5, 16 - asrs r1, 16 - lsls r0, r1, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r2, 0x38] - adds r1, 0x1 - lsls r1, 16 - lsls r0, r4, 16 - movs r3, 0xA0 - lsls r3, 13 - adds r0, r3 - lsrs r4, r0, 16 - lsrs r5, r1, 16 - asrs r1, 16 - cmp r1, 0x7 - ble _0814963C - ldrh r0, [r2, 0x3A] - adds r0, 0x1 - strh r0, [r2, 0x3A] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149628 - - thumb_func_start sub_814969C -sub_814969C: @ 814969C - push {r4,lr} - adds r4, r0, 0 - ldr r2, =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r0, [r2] - movs r1, 0x20 - ldrsh r0, [r0, r1] - cmp r0, 0x7 - ble _081496C6 - movs r0, 0x1 - negs r0, r0 - ldr r2, =0x00007fff - movs r1, 0x10 - bl BlendPalettes - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_081496C6: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814969C - - thumb_func_start sub_81496D8 -sub_81496D8: @ 81496D8 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r4, =sTransitionStructPtr - ldr r0, [r4] - ldrb r1, [r0] - movs r5, 0 - strb r5, [r0] - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - ldr r1, [r4] - movs r0, 0xF0 - strh r0, [r1, 0x6] - strh r5, [r1, 0x12] - movs r0, 0xFF - strh r0, [r1, 0xE] - movs r0, 0x3F - strh r0, [r1, 0x2] - ldr r0, =sub_8149804 - bl SetVBlankCallback - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81496D8 - - thumb_func_start sub_8149740 -sub_8149740: @ 8149740 - push {lr} - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrh r0, [r1, 0x12] - adds r0, 0x1 - strh r0, [r1, 0x12] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x10 - bls _08149766 - bl sub_8149F84 - ldr r0, =sub_8149578 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08149766: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149740 - - thumb_func_start sub_8149774 -sub_8149774: @ 8149774 - push {r4,lr} - ldr r4, =0x040000b0 - ldrh r1, [r4, 0xA] - ldr r0, =0x0000c5ff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r1, [r4, 0xA] - ldr r0, =0x00007fff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xA] - bl sub_8149F2C - ldr r2, =0x04000050 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrh r0, [r1, 0xE] - strh r0, [r2] - subs r2, 0x8 - ldrh r0, [r1, 0x2] - strh r0, [r2] - adds r2, 0x2 - ldrh r0, [r1, 0x4] - strh r0, [r2] - subs r2, 0x6 - ldrh r0, [r1, 0x8] - strh r0, [r2] - ldrb r0, [r1] - cmp r0, 0 - beq _081497C4 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, =0x80000140 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_081497C4: - ldr r0, =gUnknown_020394E8 - str r0, [r4] - ldr r0, =0x04000040 - str r0, [r4, 0x4] - ldr r0, =0xa2400001 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149774 - - thumb_func_start sub_8149804 -sub_8149804: @ 8149804 - push {lr} - bl sub_8149F2C - ldr r1, =0x04000054 - ldr r0, =sTransitionStructPtr - ldr r2, [r0] - ldrh r0, [r2, 0x12] - strh r0, [r1] - subs r1, 0x4 - ldrh r0, [r2, 0xE] - strh r0, [r1] - subs r1, 0x8 - ldrh r0, [r2, 0x2] - strh r0, [r1] - adds r1, 0x2 - ldrh r0, [r2, 0x4] - strh r0, [r1] - subs r1, 0xA - ldrh r0, [r2, 0x6] - strh r0, [r1] - adds r1, 0x4 - ldrh r0, [r2, 0x8] - strh r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149804 - - thumb_func_start sub_8149840 -sub_8149840: @ 8149840 - ldr r2, =0x04000054 - ldr r1, =gUnknown_02038C28 - ldr r0, =0x04000006 - ldrh r0, [r0] - lsls r0, 1 - movs r3, 0xF0 - lsls r3, 3 - adds r1, r3 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - bx lr - .pool - thumb_func_end sub_8149840 - - thumb_func_start sub_8149864 -sub_8149864: @ 8149864 - push {r4-r6,lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x38] - movs r2, 0x38 - ldrsh r0, [r3, r2] - cmp r0, 0 - beq _08149890 - subs r0, r1, 0x1 - strh r0, [r3, 0x38] - movs r1, 0x3A - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _0814994C - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - movs r0, 0x1 - strb r0, [r1] - b _0814994C - .pool -_08149890: - movs r2, 0x22 - ldrsh r1, [r3, r2] - lsls r1, 1 - ldr r0, =gUnknown_02038C28 - adds r6, r1, r0 - movs r2, 0xA0 - lsls r2, 1 - adds r0, r2 - adds r5, r1, r0 - movs r4, 0 -_081498A4: - lsls r1, r4, 1 - adds r2, r1, r6 - ldrh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 24 - strh r0, [r2] - adds r1, r5 - ldrh r0, [r3, 0x20] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x13 - bls _081498A4 - movs r1, 0x20 - ldrsh r0, [r3, r1] - ldrh r2, [r3, 0x20] - cmp r0, 0 - bne _081498DE - movs r0, 0x2E - ldrsh r1, [r3, r0] - movs r0, 0x80 - lsls r0, 5 - cmp r1, r0 - bne _081498DE - movs r0, 0x1 - strh r0, [r3, 0x30] -_081498DE: - adds r1, r2, 0 - subs r1, 0x10 - strh r1, [r3, 0x20] - ldrh r0, [r3, 0x2E] - adds r0, 0x80 - strh r0, [r3, 0x2E] - lsls r1, 16 - cmp r1, 0 - bge _081498F4 - movs r0, 0 - strh r0, [r3, 0x20] -_081498F4: - movs r1, 0x2E - ldrsh r0, [r3, r1] - movs r1, 0x80 - lsls r1, 5 - cmp r0, r1 - ble _08149902 - strh r1, [r3, 0x2E] -_08149902: - movs r2, 0x3A - ldrsh r0, [r3, r2] - cmp r0, 0 - beq _08149914 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - movs r0, 0x1 - strb r0, [r1] -_08149914: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _0814994C - movs r2, 0x3A - ldrsh r0, [r3, r2] - ldr r2, =sTransitionStructPtr - cmp r0, 0 - beq _0814993E - ldr r0, [r2] - movs r1, 0x20 - ldrsh r0, [r0, r1] - cmp r0, 0x6 - ble _0814994C - ldrh r0, [r3, 0x32] - adds r1, r0, 0x1 - strh r1, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _0814994C -_0814993E: - ldr r1, [r2] - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] - adds r0, r3, 0 - bl DestroySprite -_0814994C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149864 - - thumb_func_start sub_814995C -sub_814995C: @ 814995C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8DB0 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814996E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814996E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814995C - - thumb_func_start sub_8149994 -sub_8149994: @ 8149994 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - ldr r0, =gUnknown_085BACD0 - ldr r1, [sp, 0x8] - movs r2, 0x10 - bl CpuSet - mov r1, sp - movs r2, 0xF0 - lsls r2, 8 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - mov r0, sp - bl CpuSet - ldr r0, =gFieldEffectObjectPalette10 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149994 - - thumb_func_start sub_81499E8 -sub_81499E8: @ 81499E8 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08149A2A - mov r0, sp - bl sub_8149F40 - movs r0, 0x3 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0xC - ldrsh r0, [r4, r1] - lsls r0, 5 - ldr r1, =gUnknown_085BACD0 - adds r0, r1 - ldr r1, [sp] - movs r2, 0x10 - bl CpuSet - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0xD - ble _08149A2A - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x10 - strh r0, [r4, 0xA] -_08149A2A: - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81499E8 - - thumb_func_start sub_8149A40 -sub_8149A40: @ 8149A40 - push {lr} - ldrh r1, [r0, 0xA] - subs r1, 0x1 - strh r1, [r0, 0xA] - lsls r1, 16 - cmp r1, 0 - bne _08149A60 - bl sub_8149F84 - ldr r0, =sub_814995C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08149A60: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149A40 - - thumb_func_start sub_8149A6C -sub_8149A6C: @ 8149A6C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8DBC - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08149A7E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08149A7E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149A6C - - thumb_func_start sub_8149AA4 -sub_8149AA4: @ 8149AA4 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - movs r2, 0 - movs r0, 0x3F - strh r0, [r1, 0x2] - strh r2, [r1, 0x4] - movs r0, 0xA0 - strh r0, [r1, 0x8] - movs r1, 0 - ldr r2, =gUnknown_02038C28 - movs r3, 0xF0 - adds r4, r2, 0 -_08149AC8: - lsls r0, r1, 1 - adds r0, r2 - strh r3, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x9F - bls _08149AC8 - movs r0, 0xF0 - lsls r0, 3 - adds r1, r4, r0 - adds r0, r4, 0 - movs r2, 0xA0 - bl CpuSet - ldr r0, =sub_8149CE8 - bl SetVBlankCallback - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149AA4 - - thumb_func_start sub_8149B08 -sub_8149B08: @ 8149B08 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - mov r8, r0 - ldr r0, =sTransitionStructPtr - ldr r0, [r0] - adds r0, 0x24 - ldr r6, =gUnknown_085C8DD0 - mov r2, r8 - movs r3, 0xA - ldrsh r1, [r2, r3] - lsls r4, r1, 2 - adds r4, r1 - lsls r4, 1 - adds r1, r4, r6 - movs r5, 0 - ldrsh r1, [r1, r5] - adds r2, r6, 0x2 - adds r2, r4, r2 - movs r3, 0 - ldrsh r2, [r2, r3] - adds r3, r6, 0x4 - adds r3, r4, r3 - movs r5, 0 - ldrsh r3, [r3, r5] - adds r5, r6, 0x6 - adds r4, r5 - movs r5, 0 - ldrsh r4, [r4, r5] - str r4, [sp] - movs r4, 0x1 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - bl sub_814A1AC - mov r0, r8 - movs r2, 0xA - ldrsh r1, [r0, r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - adds r6, 0x8 - adds r0, r6 - ldrh r0, [r0] - mov r3, r8 - strh r0, [r3, 0xC] - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] - movs r0, 0x1 - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149B08 - - thumb_func_start sub_8149B84 -sub_8149B84: @ 8149B84 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - mov r8, r0 - movs r7, 0 - ldr r0, =gUnknown_02038C28 - mov r9, r0 -_08149BA0: - ldr r1, =gUnknown_02038C28 - ldr r0, =sTransitionStructPtr - ldr r2, [r0] - movs r3, 0x2A - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsrs r3, r0, 8 - movs r5, 0xFF - ands r5, r0 - movs r4, 0xC - ldrsh r0, [r6, r4] - cmp r0, 0 - bne _08149BDC - movs r1, 0x28 - ldrsh r0, [r2, r1] - cmp r3, r0 - bge _08149BC8 - ldrh r3, [r2, 0x28] -_08149BC8: - lsls r0, r3, 16 - lsls r1, r5, 16 - cmp r0, r1 - ble _08149BF4 - lsrs r3, r1, 16 - b _08149BF4 - .pool -_08149BDC: - lsls r0, r5, 16 - asrs r0, 16 - movs r4, 0x28 - ldrsh r1, [r2, r4] - cmp r0, r1 - ble _08149BEA - ldrh r5, [r2, 0x28] -_08149BEA: - lsls r0, r5, 16 - lsls r1, r3, 16 - cmp r0, r1 - bgt _08149BF4 - lsrs r5, r1, 16 -_08149BF4: - ldr r0, =sTransitionStructPtr - ldr r4, [r0] - movs r0, 0x2A - ldrsh r2, [r4, r0] - lsls r2, 1 - add r2, r9 - lsls r1, r3, 16 - asrs r1, 8 - lsls r0, r5, 16 - asrs r0, 16 - orrs r0, r1 - strh r0, [r2] - cmp r7, 0 - beq _08149C1C - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - b _08149C40 - .pool -_08149C1C: - adds r0, r4, 0 - adds r0, 0x24 - movs r1, 0x1 - movs r2, 0x1 - bl sub_814A228 - lsls r0, 24 - lsrs r7, r0, 24 - mov r1, r8 - lsls r0, r1, 16 - movs r3, 0x80 - lsls r3, 9 - adds r0, r3 - lsrs r4, r0, 16 - mov r8, r4 - asrs r0, 16 - cmp r0, 0xF - ble _08149BA0 -_08149C40: - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149B84 - - thumb_func_start sub_8149C60 -sub_8149C60: @ 8149C60 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0xA] - adds r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - ble _08149CAC - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl sub_8149F84 - ldr r0, =sub_8149A6C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - b _08149CC4 - .pool -_08149CAC: - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - ldr r1, =gUnknown_085C8E16 - movs r3, 0xA - ldrsh r0, [r2, r3] - subs r0, 0x1 - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2, 0xE] - movs r0, 0x1 -_08149CC4: - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149C60 - - thumb_func_start sub_8149CCC -sub_8149CCC: @ 8149CCC - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0xE] - subs r0, 0x1 - strh r0, [r1, 0xE] - lsls r0, 16 - cmp r0, 0 - beq _08149CE0 - movs r0, 0 - b _08149CE4 -_08149CE0: - movs r0, 0x1 - strh r0, [r1, 0x8] -_08149CE4: - pop {r1} - bx r1 - thumb_func_end sub_8149CCC - - thumb_func_start sub_8149CE8 -sub_8149CE8: @ 8149CE8 - push {r4,lr} - ldr r4, =0x040000b0 - ldrh r1, [r4, 0xA] - ldr r0, =0x0000c5ff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r1, [r4, 0xA] - ldr r0, =0x00007fff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xA] - bl sub_8149F2C - ldr r3, =sTransitionStructPtr - ldr r0, [r3] - ldrb r0, [r0] - cmp r0, 0 - beq _08149D20 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_08149D20: - ldr r2, =0x04000048 - ldr r1, [r3] - ldrh r0, [r1, 0x2] - strh r0, [r2] - adds r2, 0x2 - ldrh r0, [r1, 0x4] - strh r0, [r2] - subs r2, 0x6 - ldrh r0, [r1, 0x8] - strh r0, [r2] - subs r2, 0x4 - ldr r0, =gUnknown_02038C28 - movs r1, 0xF0 - lsls r1, 3 - adds r0, r1 - ldrh r1, [r0] - strh r1, [r2] - str r0, [r4] - str r2, [r4, 0x4] - ldr r0, =0xa2400001 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149CE8 - - thumb_func_start sub_8149D78 -sub_8149D78: @ 8149D78 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - mov r8, r0 - adds r4, r1, 0 - adds r5, r2, 0 - adds r6, r3, 0 - ldr r3, [sp, 0x18] - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 16 - lsrs r6, 16 - lsls r3, 16 - lsrs r3, 16 - ldr r0, =sub_8149DFC - movs r1, 0x3 - str r3, [sp] - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - mov r0, r8 - strh r0, [r1, 0xA] - strh r4, [r1, 0xC] - strh r5, [r1, 0xE] - strh r6, [r1, 0x10] - ldr r3, [sp] - strh r3, [r1, 0x12] - strh r0, [r1, 0x14] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149D78 - - thumb_func_start sub_8149DDC -sub_8149DDC: @ 8149DDC - push {lr} - ldr r0, =sub_8149DFC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08149DF4 - movs r0, 0 - b _08149DF6 - .pool -_08149DF4: - movs r0, 0x1 -_08149DF6: - pop {r1} - bx r1 - thumb_func_end sub_8149DDC - - thumb_func_start sub_8149DFC -sub_8149DFC: @ 8149DFC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C8E24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08149E0E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08149E0E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149DFC - - thumb_func_start sub_8149E34 -sub_8149E34: @ 8149E34 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x14] - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08149E4C - subs r0, r1, 0x1 - strh r0, [r4, 0x14] - lsls r0, 16 - cmp r0, 0 - bne _08149E70 -_08149E4C: - ldrh r0, [r4, 0xA] - strh r0, [r4, 0x14] - ldrh r0, [r4, 0x10] - ldrh r1, [r4, 0x16] - adds r0, r1 - strh r0, [r4, 0x16] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _08149E64 - movs r0, 0x10 - strh r0, [r4, 0x16] -_08149E64: - movs r0, 0x1 - negs r0, r0 - ldrb r1, [r4, 0x16] - ldr r2, =0x00002d6b - bl BlendPalettes -_08149E70: - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r0, 0xF - ble _08149E82 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0xC] - strh r0, [r4, 0x14] -_08149E82: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8149E34 - - thumb_func_start sub_8149E90 -sub_8149E90: @ 8149E90 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x14] - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08149EA8 - subs r0, r1, 0x1 - strh r0, [r4, 0x14] - lsls r0, 16 - cmp r0, 0 - bne _08149ECA -_08149EA8: - ldrh r0, [r4, 0xC] - strh r0, [r4, 0x14] - ldrh r0, [r4, 0x16] - ldrh r1, [r4, 0x12] - subs r0, r1 - strh r0, [r4, 0x16] - lsls r0, 16 - cmp r0, 0 - bge _08149EBE - movs r0, 0 - strh r0, [r4, 0x16] -_08149EBE: - movs r0, 0x1 - negs r0, r0 - ldrb r1, [r4, 0x16] - ldr r2, =0x00002d6b - bl BlendPalettes -_08149ECA: - movs r0, 0x16 - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _08149EFE - ldrh r0, [r4, 0xE] - subs r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _08149EF8 - ldr r0, =sub_8149DFC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - b _08149EFE - .pool -_08149EF8: - ldrh r0, [r4, 0xA] - strh r0, [r4, 0x14] - strh r1, [r4, 0x8] -_08149EFE: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8149E90 - - thumb_func_start sub_8149F08 -sub_8149F08: @ 8149F08 - push {r4,lr} - ldr r4, =sTransitionStructPtr - ldr r0, [r4] - movs r1, 0 - movs r2, 0x3C - bl memset - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x14 - adds r1, 0x16 - bl sub_8089C08 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149F08 - - thumb_func_start sub_8149F2C -sub_8149F2C: @ 8149F2C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8149F2C - - thumb_func_start sub_8149F40 -sub_8149F40: @ 8149F40 - ldr r1, =0x04000008 - ldrh r1, [r1] - lsrs r1, 2 - lsls r1, 30 - lsrs r1, 16 - movs r2, 0xC0 - lsls r2, 19 - adds r1, r2 - str r1, [r0] - bx lr - .pool - thumb_func_end sub_8149F40 - - thumb_func_start sub_8149F58 -sub_8149F58: @ 8149F58 - push {r4,lr} - ldr r3, =0x04000008 - ldrh r2, [r3] - lsrs r2, 8 - ldrh r3, [r3] - lsrs r3, 2 - lsls r2, 27 - lsrs r2, 16 - lsls r3, 30 - lsrs r3, 16 - movs r4, 0xC0 - lsls r4, 19 - adds r2, r4 - str r2, [r0] - adds r3, r4 - str r3, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149F58 - - thumb_func_start sub_8149F84 -sub_8149F84: @ 8149F84 - push {lr} - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - pop {r0} - bx r0 - thumb_func_end sub_8149F84 - - thumb_func_start sub_8149F98 -sub_8149F98: @ 8149F98 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r10, r0 - ldr r0, [sp, 0x20] - ldr r4, [sp, 0x24] - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 16 - lsrs r3, 16 - lsls r0, 16 - lsrs r1, r0, 16 - lsls r4, 16 - movs r6, 0 - lsrs r5, r4, 16 - cmp r4, 0 - ble _0814A000 - lsls r0, r7, 16 - asrs r0, 16 - mov r9, r0 - lsls r1, 16 - mov r8, r1 - lsls r0, r3, 16 - asrs r7, r0, 16 -_08149FD0: - lsls r4, r2, 16 - asrs r4, 16 - movs r0, 0xFF - ands r0, r4 - mov r2, r8 - asrs r1, r2, 16 - bl Sin - lsls r1, r6, 1 - add r1, r10 - add r0, r9 - strh r0, [r1] - lsls r1, r5, 16 - ldr r0, =0xffff0000 - adds r1, r0 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r4, r7 - lsls r4, 16 - lsrs r2, r4, 16 - lsrs r5, r1, 16 - cmp r1, 0 - bgt _08149FD0 -_0814A000: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8149F98 - - thumb_func_start sub_814A014 -sub_814A014: @ 814A014 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - mov r9, r0 - adds r5, r2, 0 - adds r4, r3, 0 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - lsls r5, 16 - lsrs r5, 16 - lsls r4, 16 - lsrs r4, 16 - movs r2, 0xA0 - lsls r2, 1 - movs r1, 0xA - bl memset - movs r1, 0 - lsls r4, 16 - asrs r4, 16 - str r4, [sp, 0x4] - lsls r5, 16 - asrs r5, 16 - str r5, [sp, 0x8] -_0814A04C: - lsls r5, r1, 16 - asrs r0, r5, 16 - mov r10, r0 - ldr r1, [sp, 0x4] - bl Sin - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r10 - ldr r1, [sp, 0x4] - bl Cos - ldr r2, [sp] - lsls r1, r2, 16 - asrs r1, 16 - lsls r4, 16 - asrs r4, 16 - subs r2, r1, r4 - lsls r2, 16 - adds r1, r4 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r0, 16 - asrs r0, 16 - ldr r3, [sp, 0x8] - subs r1, r3, r0 - lsls r1, 16 - lsrs r7, r1, 16 - adds r0, r3, r0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsrs r1, r2, 16 - str r5, [sp, 0x10] - cmp r2, 0 - bge _0814A098 - movs r1, 0 -_0814A098: - lsls r0, r6, 16 - asrs r0, 16 - cmp r0, 0xF0 - ble _0814A0A2 - movs r6, 0xF0 -_0814A0A2: - lsls r0, r7, 16 - cmp r0, 0 - bge _0814A0AA - movs r7, 0 -_0814A0AA: - mov r2, r8 - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x9F - ble _0814A0B8 - movs r3, 0x9F - mov r8, r3 -_0814A0B8: - lsls r0, r1, 24 - lsrs r0, 16 - orrs r6, r0 - lsls r0, r7, 16 - asrs r0, 16 - str r0, [sp, 0xC] - lsls r0, 1 - add r0, r9 - strh r6, [r0] - mov r0, r8 - lsls r4, r0, 16 - asrs r0, r4, 15 - add r0, r9 - strh r6, [r0] - mov r0, r10 - adds r0, 0x1 - lsls r0, 16 - asrs r0, 16 - ldr r1, [sp, 0x4] - bl Cos - lsls r0, 16 - asrs r0, 16 - ldr r2, [sp, 0x8] - subs r1, r2, r0 - lsls r1, 16 - adds r0, r2, r0 - lsls r0, 16 - lsrs r2, r0, 16 - lsrs r3, r1, 16 - cmp r1, 0 - bge _0814A0FA - movs r3, 0 -_0814A0FA: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x9F - ble _0814A104 - movs r2, 0x9F -_0814A104: - lsls r0, r3, 16 - asrs r1, r0, 16 - adds r3, r0, 0 - lsls r5, r2, 16 - ldr r0, [sp, 0xC] - cmp r0, r1 - ble _0814A128 - adds r2, r1, 0 -_0814A114: - lsls r1, r7, 16 - ldr r0, =0xffff0000 - adds r1, r0 - asrs r0, r1, 15 - add r0, r9 - strh r6, [r0] - lsrs r7, r1, 16 - asrs r1, 16 - cmp r1, r2 - bgt _0814A114 -_0814A128: - lsls r1, r7, 16 - asrs r0, r3, 16 - cmp r1, r3 - bge _0814A146 - adds r2, r0, 0 -_0814A132: - movs r3, 0x80 - lsls r3, 9 - adds r0, r1, r3 - asrs r1, r0, 15 - add r1, r9 - strh r6, [r1] - adds r1, r0, 0 - asrs r0, r1, 16 - cmp r0, r2 - blt _0814A132 -_0814A146: - asrs r0, r5, 16 - cmp r4, r5 - ble _0814A164 - adds r1, r0, 0 -_0814A14E: - ldr r2, =0xffff0000 - adds r0, r4, r2 - lsrs r3, r0, 16 - mov r8, r3 - asrs r0, 15 - add r0, r9 - strh r6, [r0] - lsls r4, r3, 16 - asrs r0, r4, 16 - cmp r0, r1 - bgt _0814A14E -_0814A164: - mov r0, r8 - lsls r4, r0, 16 - asrs r0, r5, 16 - cmp r4, r5 - bge _0814A184 - adds r2, r0, 0 -_0814A170: - movs r1, 0x80 - lsls r1, 9 - adds r0, r4, r1 - asrs r1, r0, 15 - add r1, r9 - strh r6, [r1] - adds r4, r0, 0 - asrs r0, r4, 16 - cmp r0, r2 - blt _0814A170 -_0814A184: - ldr r2, [sp, 0x10] - movs r3, 0x80 - lsls r3, 9 - adds r0, r2, r3 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x3F - bgt _0814A196 - b _0814A04C -_0814A196: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814A014 - - thumb_func_start sub_814A1AC -sub_814A1AC: @ 814A1AC - push {r4-r7,lr} - adds r6, r0, 0 - ldr r0, [sp, 0x14] - ldr r5, [sp, 0x18] - ldr r4, [sp, 0x1C] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 16 - lsrs r3, 16 - lsls r0, 16 - lsrs r0, 16 - adds r7, r0, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r4, 16 - lsrs r4, 16 - strh r1, [r6] - strh r2, [r6, 0x2] - strh r1, [r6, 0x4] - strh r2, [r6, 0x6] - strh r3, [r6, 0x8] - strh r7, [r6, 0xA] - strh r5, [r6, 0xC] - strh r4, [r6, 0xE] - lsls r3, 16 - asrs r3, 16 - lsls r1, 16 - asrs r1, 16 - subs r3, r1 - strh r3, [r6, 0x10] - lsls r0, r3, 16 - cmp r0, 0 - bge _0814A1FE - negs r0, r3 - strh r0, [r6, 0x10] - lsls r0, r5, 16 - asrs r0, 16 - negs r0, r0 - strh r0, [r6, 0xC] -_0814A1FE: - lsls r0, r7, 16 - asrs r0, 16 - lsls r1, r2, 16 - asrs r1, 16 - subs r1, r0, r1 - strh r1, [r6, 0x12] - lsls r0, r1, 16 - cmp r0, 0 - bge _0814A21C - negs r0, r1 - strh r0, [r6, 0x12] - lsls r0, r4, 16 - asrs r0, 16 - negs r0, r0 - strh r0, [r6, 0xE] -_0814A21C: - movs r0, 0 - strh r0, [r6, 0x14] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_814A1AC - - thumb_func_start sub_814A228 -sub_814A228: @ 814A228 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r3, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - ldrh r0, [r3, 0x10] - mov r8, r0 - movs r1, 0x10 - ldrsh r6, [r3, r1] - ldrh r2, [r3, 0x12] - mov r12, r2 - movs r4, 0x12 - ldrsh r5, [r3, r4] - cmp r6, r5 - ble _0814A278 - ldrh r0, [r3, 0xC] - ldrh r2, [r3, 0x4] - adds r1, r0, r2 - strh r1, [r3, 0x4] - ldrh r2, [r3, 0x14] - add r2, r12 - strh r2, [r3, 0x14] - lsls r1, r2, 16 - asrs r1, 16 - adds r4, r0, 0 - ldrh r7, [r3, 0xE] - cmp r1, r6 - ble _0814A29E - ldrh r1, [r3, 0x6] - adds r0, r7, r1 - strh r0, [r3, 0x6] - mov r1, r8 - b _0814A29A -_0814A278: - ldrh r0, [r3, 0xE] - ldrh r2, [r3, 0x6] - adds r1, r0, r2 - strh r1, [r3, 0x6] - ldrh r2, [r3, 0x14] - add r2, r8 - strh r2, [r3, 0x14] - lsls r1, r2, 16 - asrs r1, 16 - ldrh r4, [r3, 0xC] - adds r7, r0, 0 - cmp r1, r5 - ble _0814A29E - ldrh r1, [r3, 0x4] - adds r0, r4, r1 - strh r0, [r3, 0x4] - mov r1, r12 -_0814A29A: - subs r0, r2, r1 - strh r0, [r3, 0x14] -_0814A29E: - movs r5, 0 - lsls r0, r4, 16 - asrs r2, r0, 16 - cmp r2, 0 - ble _0814A2B6 - movs r4, 0x4 - ldrsh r1, [r3, r4] - movs r4, 0x8 - ldrsh r0, [r3, r4] - ldrh r4, [r3, 0x8] - cmp r1, r0 - bge _0814A2C8 -_0814A2B6: - cmp r2, 0 - bge _0814A2D6 - movs r0, 0x4 - ldrsh r1, [r3, r0] - movs r2, 0x8 - ldrsh r0, [r3, r2] - ldrh r4, [r3, 0x8] - cmp r1, r0 - bgt _0814A2D6 -_0814A2C8: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r9 - cmp r0, 0 - beq _0814A2D6 - strh r4, [r3, 0x4] -_0814A2D6: - lsls r0, r7, 16 - asrs r2, r0, 16 - cmp r2, 0 - ble _0814A2EC - movs r4, 0x6 - ldrsh r1, [r3, r4] - movs r4, 0xA - ldrsh r0, [r3, r4] - ldrh r4, [r3, 0xA] - cmp r1, r0 - bge _0814A2FE -_0814A2EC: - cmp r2, 0 - bge _0814A30C - movs r0, 0x6 - ldrsh r1, [r3, r0] - movs r2, 0xA - ldrsh r0, [r3, r2] - ldrh r4, [r3, 0xA] - cmp r1, r0 - bgt _0814A30C -_0814A2FE: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r10 - cmp r0, 0 - beq _0814A30C - strh r4, [r3, 0x6] -_0814A30C: - cmp r5, 0x2 - beq _0814A314 - movs r0, 0 - b _0814A316 -_0814A314: - movs r0, 0x1 -_0814A316: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_814A228 - - thumb_func_start sub_814A324 -sub_814A324: @ 814A324 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - bl sub_814669C - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - mov r0, sp - bl CpuSet - ldr r0, =gUnknown_085C7C00 - ldr r1, [sp, 0x8] - bl LZ77UnCompVram - ldr r0, =gUnknown_085C7BE0 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814A324 - - thumb_func_start sub_814A374 -sub_814A374: @ 814A374 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - add r1, sp, 0xC - add r0, sp, 0x8 - bl sub_8149F58 - ldr r0, =gUnknown_085C828C - ldr r1, [sp, 0x8] - bl LZ77UnCompVram - ldr r0, =gUnknown_02038C28 - movs r1, 0x10 - ldrsh r2, [r4, r1] - movs r3, 0x12 - ldrsh r1, [r4, r3] - str r1, [sp] - movs r1, 0xA0 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x84 - bl sub_8149F98 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - add sp, 0x10 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814A374 - - thumb_func_start sub_814A3BC -sub_814A3BC: @ 814A3BC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C99D0 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814A3CE: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814A3CE - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814A3BC - - thumb_func_start sub_814A3F4 -sub_814A3F4: @ 814A3F4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C99E8 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814A406: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814A406 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814A3F4 - - thumb_func_start sub_814A42C -sub_814A42C: @ 814A42C - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - bl sub_8149F08 - bl dp12_8087EA4 - movs r1, 0xC0 - lsls r1, 7 - movs r0, 0 - bl ClearGpuRegBits - movs r5, 0 - movs r0, 0x80 - lsls r0, 6 - strh r0, [r4, 0xC] - ldr r0, =0x00007fff - strh r0, [r4, 0xA] - strh r5, [r4, 0x12] - movs r0, 0x10 - strh r0, [r4, 0x14] - movs r0, 0xA0 - lsls r0, 4 - strh r0, [r4, 0x16] - ldr r6, =sTransitionStructPtr - ldr r2, [r6] - ldr r3, =0x00003f41 - strh r3, [r2, 0xE] - ldrh r0, [r4, 0x14] - lsls r0, 8 - ldrh r1, [r4, 0x12] - orrs r0, r1 - strh r0, [r2, 0x10] - ldr r0, =0x04000050 - strh r3, [r0] - ldr r1, =0x04000052 - ldrh r0, [r2, 0x10] - strh r0, [r1] - add r0, sp, 0x4 - add r1, sp, 0x8 - bl sub_8149F58 - mov r0, sp - strh r5, [r0] - ldr r1, [sp, 0x4] - ldr r2, =0x01000400 - bl CpuSet - ldr r0, =gUnknown_085C7C00 - ldr r1, [sp, 0x8] - bl LZ77UnCompVram - ldr r0, =gUnknown_085C7BE0 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r0, [r6] - strh r5, [r0, 0x16] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814A42C - - thumb_func_start sub_814A4D4 -sub_814A4D4: @ 814A4D4 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - add r1, sp, 0x4 - mov r0, sp - bl sub_8149F58 - ldr r0, =gUnknown_085C828C - ldr r1, [sp] - bl LZ77UnCompVram - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814A4D4 - - thumb_func_start sub_814A500 -sub_814A500: @ 814A500 - push {r4-r6,lr} - adds r5, r0, 0 - movs r2, 0 - ldr r6, =sub_814A684 - ldr r4, =gUnknown_020393A8 - ldr r3, =sTransitionStructPtr -_0814A50C: - lsls r1, r2, 1 - adds r1, r4 - ldr r0, [r3] - ldrh r0, [r0, 0x16] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x9F - bls _0814A50C - adds r0, r6, 0 - bl SetVBlankCallback - ldr r0, =sub_814A6CC - bl SetHBlankCallback - movs r0, 0x2 - bl EnableInterrupts - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814A500 - - thumb_func_start sub_814A550 -sub_814A550: @ 814A550 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r4, r0, 0 - ldr r1, =sTransitionStructPtr - ldr r0, [r1] - ldrb r2, [r0] - movs r3, 0 - strb r3, [r0] - ldrh r2, [r4, 0xC] - lsls r0, r2, 16 - asrs r0, 24 - lsls r0, 16 - lsrs r7, r0, 16 - ldrh r6, [r4, 0xA] - movs r0, 0xC0 - lsls r0, 1 - mov r8, r0 - ldrh r0, [r4, 0x16] - subs r0, r6, r0 - strh r0, [r4, 0xA] - movs r5, 0xE - ldrsh r0, [r4, r5] - adds r5, r1, 0 - cmp r0, 0x45 - ble _0814A5A2 - movs r1, 0xC - ldrsh r0, [r4, r1] - ldr r1, =0xfffffe80 - adds r0, r1 - cmp r0, 0 - blt _0814A5A0 - adds r0, r2, r1 - strh r0, [r4, 0xC] - b _0814A5A2 - .pool -_0814A5A0: - strh r3, [r4, 0xC] -_0814A5A2: - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0 - blt _0814A5E0 - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _0814A5E0 - ldrh r1, [r4, 0x12] - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0xF - bgt _0814A5C6 - adds r0, r1, 0x1 - strh r0, [r4, 0x12] - b _0814A5D4 -_0814A5C6: - ldrh r1, [r4, 0x14] - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _0814A5D4 - subs r0, r1, 0x1 - strh r0, [r4, 0x14] -_0814A5D4: - ldr r0, [r5] - ldrh r1, [r4, 0x14] - lsls r1, 8 - ldrh r2, [r4, 0x12] - orrs r1, r2 - strh r1, [r0, 0x10] -_0814A5E0: - movs r5, 0 - lsls r7, 16 -_0814A5E4: - lsrs r0, r6, 8 - asrs r1, r7, 16 - bl Sin - ldr r1, =gUnknown_02038C28 - lsls r2, r5, 1 - adds r2, r1 - ldr r1, =sTransitionStructPtr - ldr r1, [r1] - ldrh r1, [r1, 0x16] - adds r0, r1 - strh r0, [r2] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r1, r8 - adds r0, r6, r1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r5, 0x9F - bls _0814A5E4 - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x65 - bne _0814A632 - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_0814A632: - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0814A654 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0814A654 - ldr r0, =sub_814A3F4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_0814A654: - ldrh r0, [r4, 0x16] - subs r0, 0x11 - strh r0, [r4, 0x16] - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814A550 - - thumb_func_start sub_814A684 -sub_814A684: @ 814A684 - push {lr} - bl sub_8149F2C - ldr r2, =0x04000050 - ldr r0, =sTransitionStructPtr - ldr r1, [r0] - ldrh r0, [r1, 0xE] - strh r0, [r2] - adds r2, 0x2 - ldrh r0, [r1, 0x10] - strh r0, [r2] - ldrb r0, [r1] - cmp r0, 0 - beq _0814A6B4 - ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_0814A6B4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_814A684 - - thumb_func_start sub_814A6CC -sub_814A6CC: @ 814A6CC - ldr r1, =gUnknown_02038C28 - ldr r0, =0x04000006 - ldrh r0, [r0] - lsls r0, 1 - movs r2, 0xF0 - lsls r2, 3 - adds r1, r2 - adds r0, r1 - ldrh r1, [r0] - ldr r0, =0x04000012 - strh r1, [r0] - bx lr - .pool - thumb_func_end sub_814A6CC - - thumb_func_start sub_814A6F0 -sub_814A6F0: @ 814A6F0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C99F8 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814A702: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814A702 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814A6F0 - - thumb_func_start sub_814A728 -sub_814A728: @ 814A728 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C9A08 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814A73A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814A73A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814A728 - - thumb_func_start sub_814A760 -sub_814A760: @ 814A760 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_085C9A1C - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0814A772: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0814A772 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814A760 - - thumb_func_start sub_814A798 -sub_814A798: @ 814A798 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x14 - mov r8, r0 - add r1, sp, 0x10 - add r0, sp, 0xC - bl sub_8149F58 - ldr r0, =gUnknown_085C8598 - ldr r1, [sp, 0x10] - bl LZ77UnCompVram - movs r4, 0x20 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r6, 0x1 - str r6, [sp] - str r4, [sp, 0x4] - movs r5, 0xF - str r5, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - str r6, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1D - movs r3, 0 - bl FillBgTilemapBufferRect - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, =gUnknown_085C8578 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0 - mov r1, r8 - strh r6, [r1, 0xC] - strh r0, [r1, 0xE] - strh r0, [r1, 0x10] - movs r0, 0xA - strh r0, [r1, 0x16] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0 - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814A798 - - thumb_func_start sub_814A828 -sub_814A828: @ 814A828 - push {r4,r5,lr} - sub sp, 0x24 - adds r4, r0, 0 - ldr r1, =gUnknown_085C8928 - movs r2, 0x4 - str r2, [sp] - str r2, [sp, 0x4] - ldrb r0, [r4, 0xC] - str r0, [sp, 0x8] - ldrb r0, [r4, 0xE] - str r0, [sp, 0xC] - str r2, [sp, 0x10] - str r2, [sp, 0x14] - movs r0, 0xF - str r0, [sp, 0x18] - movs r5, 0 - str r5, [sp, 0x1C] - str r5, [sp, 0x20] - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl CopyRectToBgTilemapBufferRect - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrh r0, [r4, 0xC] - adds r0, 0x4 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - bne _0814A88A - movs r0, 0x1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0xE] - adds r0, 0x4 - strh r0, [r4, 0xE] - strh r5, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _0814A88A - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0814A88A: - movs r0, 0 - add sp, 0x24 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814A828 - - thumb_func_start sub_814A898 -sub_814A898: @ 814A898 - push {r4-r6,lr} - sub sp, 0x10 - adds r4, r0, 0 - add r1, sp, 0xC - add r0, sp, 0x8 - bl sub_8149F58 - ldrh r0, [r4, 0x14] - adds r1, r0, 0x1 - strh r1, [r4, 0x14] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x16 - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _0814A956 - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0814A8FC - cmp r0, 0x1 - bgt _0814A8CA - cmp r0, 0 - beq _0814A8D4 - b _0814A92C -_0814A8CA: - cmp r0, 0x2 - beq _0814A914 - cmp r0, 0x3 - beq _0814A91C - b _0814A92C -_0814A8D4: - movs r2, 0xFA - ldr r6, =gPlttBufferUnfaded - movs r3, 0 - ldr r5, =gPlttBufferFaded -_0814A8DC: - lsls r1, r2, 1 - adds r0, r1, r6 - strh r3, [r0] - adds r1, r5 - strh r3, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFE - bls _0814A8DC - b _0814A94C - .pool -_0814A8FC: - ldr r0, =0xffff7fff - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, =gUnknown_085C86F4 - b _0814A91E - .pool -_0814A914: - ldr r0, =gUnknown_085C87F4 - b _0814A91E - .pool -_0814A91C: - ldr r0, =gUnknown_085C88A4 -_0814A91E: - ldr r1, [sp, 0xC] - bl LZ77UnCompVram - b _0814A94C - .pool -_0814A92C: - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0814A956 -_0814A94C: - movs r0, 0 - strh r0, [r4, 0x14] - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] -_0814A956: - movs r0, 0 - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_814A898 - - thumb_func_start sub_814A960 -sub_814A960: @ 814A960 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x14 - mov r8, r0 - add r1, sp, 0x10 - add r0, sp, 0xC - bl sub_8149F58 - ldr r0, =gUnknown_085C8598 - ldr r1, [sp, 0x10] - bl LZ77UnCompVram - movs r4, 0x20 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r6, 0x1 - str r6, [sp] - str r4, [sp, 0x4] - movs r5, 0xF - str r5, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - str r6, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1D - movs r3, 0 - bl FillBgTilemapBufferRect - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r4, =gUnknown_085C8578 - adds r0, r4, 0 - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0xE0 - movs r1, 0x10 - movs r2, 0x8 - movs r3, 0 - bl BlendPalette - movs r1, 0 - movs r0, 0x22 - mov r2, r8 - strh r0, [r2, 0xC] - strh r1, [r2, 0xE] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - movs r0, 0 - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814A960 - - thumb_func_start sub_814AA04 -sub_814AA04: @ 814AA04 - push {r4-r6,lr} - sub sp, 0x24 - adds r6, r0, 0 - ldr r1, =gUnknown_085C9A30 - movs r2, 0xC - ldrsh r0, [r6, r2] - adds r0, r1 - ldrb r5, [r0] - adds r0, r5, 0 - movs r1, 0x7 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x7 - bl __udivsi3 - ldr r1, =gUnknown_085C8928 - movs r2, 0x4 - str r2, [sp] - str r2, [sp, 0x4] - lsls r4, 2 - adds r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp, 0x8] - lsls r0, 26 - lsrs r0, 24 - str r0, [sp, 0xC] - str r2, [sp, 0x10] - str r2, [sp, 0x14] - movs r0, 0xF - str r0, [sp, 0x18] - movs r0, 0 - str r0, [sp, 0x1C] - str r0, [sp, 0x20] - movs r2, 0 - movs r3, 0 - bl CopyRectToBgTilemapBufferRect - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrh r0, [r6, 0xC] - subs r0, 0x1 - strh r0, [r6, 0xC] - lsls r0, 16 - cmp r0, 0 - bge _0814AA70 - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] -_0814AA70: - movs r0, 0 - add sp, 0x24 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814AA04 - - thumb_func_start sub_814AA84 -sub_814AA84: @ 814AA84 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0xE0 - movs r1, 0x10 - movs r2, 0x3 - movs r3, 0 - bl BlendPalette - ldr r0, =0xffff3fff - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - strh r0, [r4, 0xC] - strh r0, [r4, 0xE] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814AA84 - - thumb_func_start sub_814AAB8 -sub_814AAB8: @ 814AAB8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x24 - adds r7, r0, 0 - ldrh r0, [r7, 0xE] - movs r1, 0x1 - eors r0, r1 - movs r6, 0 - strh r0, [r7, 0xE] - cmp r0, 0 - beq _0814AB2C - ldr r0, =gUnknown_085C8928 - mov r8, r0 - movs r4, 0x4 - str r4, [sp] - str r4, [sp, 0x4] - ldr r5, =gUnknown_085C9A30 - movs r1, 0xC - ldrsh r0, [r7, r1] - adds r0, r5 - ldrb r0, [r0] - movs r1, 0x7 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 22 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] - movs r2, 0xC - ldrsh r0, [r7, r2] - adds r0, r5 - ldrb r0, [r0] - movs r1, 0x7 - bl __udivsi3 - lsls r0, 26 - lsrs r0, 24 - str r0, [sp, 0xC] - str r4, [sp, 0x10] - str r4, [sp, 0x14] - movs r0, 0xE - str r0, [sp, 0x18] - str r6, [sp, 0x1C] - str r6, [sp, 0x20] - movs r0, 0 - mov r1, r8 - movs r2, 0 - movs r3, 0 - bl CopyRectToBgTilemapBufferRect - b _0814AB78 - .pool -_0814AB2C: - movs r1, 0xC - ldrsh r0, [r7, r1] - cmp r0, 0 - ble _0814AB72 - ldr r1, =gUnknown_085C9A30 - subs r0, 0x1 - adds r0, r1 - ldrb r5, [r0] - adds r0, r5, 0 - movs r1, 0x7 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 22 - adds r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x7 - bl __udivsi3 - adds r3, r0, 0 - lsls r3, 26 - lsrs r3, 24 - movs r0, 0x4 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - adds r2, r4, 0 - bl FillBgTilemapBufferRect -_0814AB72: - ldrh r0, [r7, 0xC] - adds r0, 0x1 - strh r0, [r7, 0xC] -_0814AB78: - movs r1, 0xC - ldrsh r0, [r7, r1] - cmp r0, 0x22 - ble _0814AB86 - ldrh r0, [r7, 0x8] - adds r0, 0x1 - strh r0, [r7, 0x8] -_0814AB86: - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0 - add sp, 0x24 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814AAB8 - - thumb_func_start sub_814ABA0 -sub_814ABA0: @ 814ABA0 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, [r4] - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814ABA0 - - thumb_func_start sub_814ABE4 -sub_814ABE4: @ 814ABE4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r6, r1, r2 - ldrh r0, [r6, 0xC] - movs r1, 0x1 - eors r0, r1 - strh r0, [r6, 0xC] - cmp r0, 0 - bne _0814AC24 - ldr r5, =gBattle_BG0_X - ldrh r1, [r5] - movs r0, 0x12 - bl SetGpuReg - ldr r4, =gBattle_BG0_Y - ldrh r1, [r4] - movs r0, 0x10 - bl SetGpuReg - ldrh r0, [r6, 0x8] - ldrh r1, [r5] - adds r0, r1 - strh r0, [r5] - ldrh r0, [r6, 0xA] - ldrh r1, [r4] - adds r0, r1 - strh r0, [r4] -_0814AC24: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_814ABE4 - - thumb_func_start sub_814AC38 -sub_814AC38: @ 814AC38 - push {r4-r6,lr} - sub sp, 0x10 - adds r6, r0, 0 - movs r5, 0 - add r1, sp, 0xC - add r0, sp, 0x8 - bl sub_8149F58 - ldr r0, =gUnknown_085C8598 - ldr r1, [sp, 0xC] - bl LZ77UnCompVram - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, =gUnknown_085C8578 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gBattle_BG0_X - strh r5, [r0] - ldr r4, =gBattle_BG0_Y - strh r5, [r4] - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0x10 - bl SetGpuReg - strh r5, [r6, 0xC] - ldr r0, =sub_814ABE4 - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r5, r0, 24 - bl Random - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - lsrs r1, 16 - cmp r1, 0x1 - beq _0814ACE4 - cmp r1, 0x1 - bgt _0814ACC8 - cmp r1, 0 - beq _0814ACCE - b _0814AD1C - .pool -_0814ACC8: - cmp r1, 0x2 - beq _0814AD00 - b _0814AD1C -_0814ACCE: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - b _0814AD2E - .pool -_0814ACE4: - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =0x0000ffff - strh r1, [r0, 0x8] - movs r1, 0x1 - negs r1, r1 - b _0814AD2C - .pool -_0814AD00: - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x8] - ldr r1, =0x0000ffff - b _0814AD2C - .pool -_0814AD1C: - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =0x0000ffff - strh r1, [r0, 0x8] - movs r1, 0x1 -_0814AD2C: - strh r1, [r0, 0xA] -_0814AD2E: - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814AC38 - - thumb_func_start sub_814AD48 -sub_814AD48: @ 814AD48 - push {r4,lr} - sub sp, 0x24 - adds r4, r0, 0 - ldr r1, =gUnknown_085C9A53 - movs r2, 0xC - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r3, [r0] - lsrs r2, r3, 3 - movs r0, 0x7 - ands r3, r0 - ldr r1, =gUnknown_085C8928 - movs r0, 0x4 - str r0, [sp] - str r0, [sp, 0x4] - lsls r2, 2 - adds r2, 0x1 - str r2, [sp, 0x8] - lsls r3, 2 - str r3, [sp, 0xC] - str r0, [sp, 0x10] - str r0, [sp, 0x14] - movs r0, 0xF - str r0, [sp, 0x18] - movs r0, 0 - str r0, [sp, 0x1C] - str r0, [sp, 0x20] - movs r2, 0 - movs r3, 0 - bl CopyRectToBgTilemapBufferRect - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3F - ble _0814ADA0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0814ADA0: - movs r0, 0 - add sp, 0x24 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814AD48 - - thumb_func_start sub_814ADB4 -sub_814ADB4: @ 814ADB4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =0xffff7fff - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814ADB4 - - thumb_func_start sub_814ADD8 -sub_814ADD8: @ 814ADD8 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - ldr r1, =gUnknown_085C9A53 - movs r2, 0xC - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r3, [r0] - lsrs r2, r3, 3 - movs r0, 0x7 - ands r3, r0 - lsls r2, 2 - adds r2, 0x1 - lsls r3, 2 - movs r0, 0x4 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - bl FillBgTilemapBufferRect - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3F - ble _0814AE2E - ldr r0, =sub_814ABE4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0814AE2E: - movs r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814ADD8 - - thumb_func_start sub_814AE40 -sub_814AE40: @ 814AE40 - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - ldr r0, =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r4, =gBattle_BG0_Y - strh r1, [r4] - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - ldrh r1, [r4] - movs r0, 0x10 - bl SetGpuReg - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, [r5] - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_814AE40 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/berry_blender.s b/asm/berry_blender.s deleted file mode 100644 index 6d18ab7cb4..0000000000 --- a/asm/berry_blender.s +++ /dev/null @@ -1,8788 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_807F738 -sub_807F738: @ 807F738 - push {lr} - ldr r0, =gMPlay_SE2 - ldr r1, =0x0000ffff - ldr r2, =gUnknown_020322A4 - ldr r2, [r2] - adds r2, 0x4C - movs r3, 0 - ldrsh r2, [r2, r3] - subs r2, 0x80 - lsls r2, 17 - asrs r2, 16 - bl m4aMPlayPitchControl - pop {r0} - bx r0 - .pool - thumb_func_end sub_807F738 - - thumb_func_start sub_807F764 -sub_807F764: @ 807F764 - push {r4,lr} - sub sp, 0x10 - bl sub_8082DF4 - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - mov r12, r0 - movs r0, 0xA0 - lsls r0, 1 - add r0, r12 - ldr r1, [r0] - movs r0, 0xA2 - lsls r0, 1 - add r0, r12 - ldr r2, [r0] - movs r0, 0xA4 - lsls r0, 1 - add r0, r12 - movs r4, 0 - ldrsh r3, [r0, r4] - movs r0, 0xA5 - lsls r0, 1 - add r0, r12 - movs r4, 0 - ldrsh r0, [r0, r4] - str r0, [sp] - movs r0, 0xA6 - lsls r0, 1 - add r0, r12 - movs r4, 0 - ldrsh r0, [r0, r4] - str r0, [sp, 0x4] - movs r0, 0xA7 - lsls r0, 1 - add r0, r12 - movs r4, 0 - ldrsh r0, [r0, r4] - str r0, [sp, 0x8] - movs r0, 0xA8 - lsls r0, 1 - add r0, r12 - ldrh r0, [r0] - str r0, [sp, 0xC] - movs r0, 0x2 - bl SetBgAffine - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807F764 - - thumb_func_start sub_807F7D8 -sub_807F7D8: @ 807F7D8 - push {r4,r5,lr} - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - ldrb r0, [r0, 0x1] - adds r5, r1, 0 - cmp r0, 0x9 - bls _0807F7E8 - b _0807F9C8 -_0807F7E8: - lsls r0, 2 - ldr r1, =_0807F7FC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807F7FC: - .4byte _0807F824 - .4byte _0807F854 - .4byte _0807F880 - .4byte _0807F8AC - .4byte _0807F8C8 - .4byte _0807F8F4 - .4byte _0807F910 - .4byte _0807F940 - .4byte _0807F950 - .4byte _0807F980 -_0807F824: - ldr r5, =gUnknown_08D91598 - adds r0, r5, 0 - bl sub_8034974 - adds r0, 0x64 - bl AllocZeroed - adds r1, r0, 0 - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - ldr r2, =0x000011bc - adds r0, r2 - str r1, [r0] - adds r0, r5, 0 - bl LZDecompressWram - ldr r1, [r4] - b _0807F966 - .pool -_0807F854: - ldr r1, =gUnknown_083390F4 - movs r2, 0x80 - lsls r2, 3 - movs r0, 0x2 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - ldr r0, =gUnknown_083390D4 - movs r2, 0x80 - lsls r2, 1 - movs r1, 0 - bl LoadPalette - b _0807F962 - .pool -_0807F880: - ldr r0, [r5] - ldr r1, =0x000011bc - adds r0, r1 - ldr r4, [r0] - ldr r0, =gUnknown_08D91598 - bl sub_8034974 - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - movs r0, 0x2 - adds r1, r4, 0 - movs r3, 0 - bl LoadBgTiles - ldr r1, [r5] - b _0807F966 - .pool -_0807F8AC: - ldr r0, =gUnknown_08D91DB8 - ldr r1, [r5] - ldr r2, =0x000011bc - adds r1, r2 - ldr r1, [r1] - bl LZDecompressWram - ldr r1, [r5] - b _0807F966 - .pool -_0807F8C8: - ldr r0, [r5] - ldr r1, =0x000011bc - adds r0, r1 - ldr r4, [r0] - ldr r0, =gUnknown_08D91DB8 - bl sub_8034974 - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - movs r0, 0x1 - adds r1, r4, 0 - movs r3, 0 - bl LoadBgTiles - ldr r1, [r5] - b _0807F966 - .pool -_0807F8F4: - ldr r0, =gUnknown_08D927EC - ldr r1, [r5] - ldr r2, =0x000011bc - adds r1, r2 - ldr r1, [r1] - bl LZDecompressWram - ldr r1, [r5] - b _0807F966 - .pool -_0807F910: - ldr r0, [r5] - ldr r1, =0x000011bc - adds r0, r1 - ldr r4, [r0] - ldr r0, =gUnknown_08D927EC - bl sub_8034974 - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - movs r0, 0x1 - adds r1, r4, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - ldr r1, [r5] - b _0807F966 - .pool -_0807F940: - ldr r0, =gUnknown_083394F4 - movs r1, 0x80 - movs r2, 0x20 - bl LoadPalette - b _0807F962 - .pool -_0807F950: - ldr r0, =gUnknown_08339AC0 - bl LoadSpriteSheet - ldr r0, =gUnknown_08339BD8 - bl LoadSpriteSheet - ldr r0, =gUnknown_08339B38 - bl LoadSpriteSheet -_0807F962: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] -_0807F966: - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - b _0807F9C8 - .pool -_0807F980: - ldr r0, =gUnknown_08339C24 - bl LoadSpriteSheet - ldr r0, =gUnknown_08339C58 - bl LoadSpriteSheet - ldr r0, =gUnknown_08339AD0 - bl LoadSpritePalette - ldr r0, =gUnknown_08339AC8 - bl LoadSpritePalette - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - ldr r2, =0x000011bc - adds r0, r2 - ldr r0, [r0] - bl Free - ldr r1, [r4] - movs r0, 0 - strb r0, [r1, 0x1] - movs r0, 0x1 - b _0807F9CA - .pool -_0807F9C8: - movs r0, 0 -_0807F9CA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_807F7D8 - - thumb_func_start sub_807F9D0 -sub_807F9D0: @ 807F9D0 - push {lr} - sub sp, 0x8 - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuRegBits - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_807F9D0 - - thumb_func_start sub_807FA34 -sub_807FA34: @ 807FA34 - push {r4,lr} - sub sp, 0x8 - ldr r0, =gUnknown_08339980 - bl InitWindows - lsls r0, 16 - cmp r0, 0 - beq _0807FA74 - bl DeactivateAllTextPrinters - movs r4, 0 -_0807FA4A: - lsls r0, r4, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - adds r4, 0x1 - cmp r4, 0x4 - ble _0807FA4A - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0xE0 - bl sub_81978B0 -_0807FA74: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807FA34 - - thumb_func_start sub_807FA80 -sub_807FA80: @ 807FA80 - push {r4,lr} - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - cmp r0, 0 - bne _0807FA94 - movs r0, 0x8F - lsls r0, 5 - bl AllocZeroed - str r0, [r4] -_0807FA94: - ldr r0, [r4] - adds r0, 0x63 - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x63 - strb r1, [r0] - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - bl sub_807FE54 - ldr r0, =sub_807FAC8 - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807FA80 - - thumb_func_start sub_807FAC8 -sub_807FAC8: @ 807FAC8 - push {r4-r6,lr} - sub sp, 0x4 - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - ldrb r0, [r0] - adds r6, r1, 0 - cmp r0, 0x6 - bls _0807FADA - b _0807FCE2 -_0807FADA: - lsls r0, 2 - ldr r1, =_0807FAEC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807FAEC: - .4byte _0807FB08 - .4byte _0807FBAC - .4byte _0807FC38 - .4byte _0807FC4E - .4byte _0807FC64 - .4byte _0807FC90 - .4byte _0807FCB0 -_0807FB08: - movs r0, 0 - movs r1, 0 - bl SetGpuReg - bl ResetSpriteData - bl FreeAllSpritePalettes - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_08339974 - movs r0, 0x1 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r4, =gUnknown_020322A4 - ldr r1, [r4] - movs r0, 0xDC - lsls r0, 1 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x000009b8 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - movs r0, 0 - movs r1, 0x1 - movs r2, 0xD0 - bl sub_809882C - movs r0, 0 - movs r1, 0x14 - movs r2, 0xF0 - bl copy_textbox_border_tile_patterns_to_vram - bl sub_807FA34 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r3, [r4] - movs r1, 0x8C - lsls r1, 1 - adds r0, r3, r1 - movs r1, 0 - strh r2, [r0] - movs r4, 0x8B - lsls r4, 1 - adds r0, r3, r4 - strh r2, [r0] - movs r0, 0x8D - lsls r0, 1 - adds r4, r3, r0 - movs r0, 0x50 - strh r0, [r4] - movs r4, 0x8E - lsls r4, 1 - adds r0, r3, r4 - strh r2, [r0] - adds r4, 0x2 - adds r0, r3, r4 - strh r2, [r0] - strb r1, [r3, 0x1] - bl sub_8082D28 - b _0807FCE2 - .pool -_0807FBAC: - bl sub_807F7D8 - lsls r0, 24 - cmp r0, 0 - bne _0807FBB8 - b _0807FCE2 -_0807FBB8: - movs r4, 0 - ldr r5, =gUnknown_083399C8 - ldr r6, =gUnknown_020322A4 -_0807FBBE: - ldrb r1, [r5] - ldrb r2, [r5, 0x1] - ldr r0, =gUnknown_08339AD8 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r6] - adds r1, 0x50 - adds r1, r4 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x50 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - adds r1, r4, 0 - adds r1, 0x8 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r5, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _0807FBBE - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0807FC14 - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - beq _0807FC14 - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl sub_800DFB4 -_0807FC14: - ldr r0, =sub_807F764 - bl SetVBlankCallback - b _0807FCA0 - .pool -_0807FC38: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - bl sub_8082D28 - b _0807FCA0 -_0807FC4E: - bl sub_807F9D0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0807FCE2 - b _0807FCA0 - .pool -_0807FC64: - ldr r4, [r6] - ldr r0, =0x000011b8 - adds r4, r0 - ldr r5, =gUnknown_0833973A - bl sav2_get_text_speed - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_808417C - cmp r0, 0 - beq _0807FCE2 - ldr r1, [r6] - b _0807FCA4 - .pool -_0807FC90: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_0807FCA0: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] -_0807FCA4: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0807FCE2 - .pool -_0807FCB0: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0807FCE2 - bl FreeAllWindowBuffers - movs r0, 0x2 - bl UnsetBgTilemapBuffer - movs r0, 0x1 - bl UnsetBgTilemapBuffer - movs r0, 0 - bl SetVBlankCallback - ldr r0, =sub_807FFA4 - bl sub_81AABF0 - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - strb r4, [r0] -_0807FCE2: - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807FAC8 - - thumb_func_start sub_807FD08 -sub_807FD08: @ 807FD08 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x30] - adds r0, r1 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x32] - ldrh r2, [r4, 0x36] - subs r1, r2 - ldrh r0, [r4, 0x3C] - adds r1, r0 - strh r1, [r4, 0x32] - ldrh r3, [r4, 0x2E] - adds r0, r3 - strh r0, [r4, 0x2E] - subs r2, 0x1 - strh r2, [r4, 0x36] - lsls r0, 16 - lsls r1, 16 - cmp r0, r1 - bge _0807FD56 - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x36] - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _0807FD50 - adds r0, r4, 0 - bl DestroySprite - b _0807FD56 -_0807FD50: - movs r0, 0x74 - bl PlaySE -_0807FD56: - ldrh r0, [r4, 0x30] - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x32] - strh r0, [r4, 0x22] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807FD08 - - thumb_func_start sub_807FD64 -sub_807FD64: @ 807FD64 - push {r4-r6,lr} - ldr r5, [sp, 0x10] - ldr r6, [sp, 0x14] - lsls r2, 16 - lsrs r2, 16 - movs r4, 0 - strh r2, [r0, 0x2E] - strh r1, [r0, 0x30] - strh r2, [r0, 0x32] - strh r3, [r0, 0x34] - movs r1, 0xA - strh r1, [r0, 0x36] - strh r4, [r0, 0x38] - strh r5, [r0, 0x3A] - strh r6, [r0, 0x3C] - ldr r1, =sub_807FD08 - str r1, [r0, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807FD64 - - thumb_func_start sub_807FD90 -sub_807FD90: @ 807FD90 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - adds r6, r1, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r0, 24 - movs r1, 0xF6 - lsls r1, 23 - adds r0, r1 - lsrs r0, 24 - movs r3, 0x1 - ands r3, r6 - movs r1, 0 - movs r2, 0x50 - bl sub_80D511C - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - mov r8, r2 - add r8, r0 - mov r3, r8 - lsls r3, 2 - mov r8, r3 - ldr r0, =gSprites - add r8, r0 - ldr r5, =gUnknown_08339C78 - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 1 - adds r0, r4, r5 - movs r6, 0 - ldrsh r1, [r0, r6] - adds r0, r5, 0x2 - adds r0, r4, r0 - movs r3, 0 - ldrsh r2, [r0, r3] - adds r0, r5, 0x4 - adds r0, r4, r0 - movs r6, 0 - ldrsh r3, [r0, r6] - adds r0, r5, 0x6 - adds r0, r4, r0 - movs r6, 0 - ldrsh r0, [r0, r6] - str r0, [sp] - adds r5, 0x8 - adds r4, r5 - movs r5, 0 - ldrsh r0, [r4, r5] - str r0, [sp, 0x4] - mov r0, r8 - bl sub_807FD64 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807FD90 - - thumb_func_start sub_807FE14 -sub_807FE14: @ 807FE14 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r5, r1, 16 - lsrs r5, 16 - adds r0, r5, 0 - adds r0, 0x7C - lsls r0, 24 - lsrs r0, 24 - bl GetBerryInfo - adds r4, r0, 0 - strh r5, [r6] - adds r0, r6, 0x2 - adds r1, r4, 0 - bl StringCopy - ldrb r0, [r4, 0x15] - strb r0, [r6, 0x9] - ldrb r0, [r4, 0x16] - strb r0, [r6, 0xA] - ldrb r0, [r4, 0x17] - strb r0, [r6, 0xB] - ldrb r0, [r4, 0x18] - strb r0, [r6, 0xC] - ldrb r0, [r4, 0x19] - strb r0, [r6, 0xD] - ldrb r0, [r4, 0x1A] - strb r0, [r6, 0xE] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_807FE14 - - thumb_func_start sub_807FE54 -sub_807FE54: @ 807FE54 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - beq _0807FE7C - cmp r5, 0x1 - bgt _0807FE68 - cmp r5, 0 - beq _0807FE72 - b _0807FF88 -_0807FE68: - cmp r5, 0x2 - beq _0807FEE8 - cmp r5, 0x3 - beq _0807FF3C - b _0807FF88 -_0807FE72: - ldr r0, =gUnknown_03005D98 - strb r5, [r0] - b _0807FF88 - .pool -_0807FE7C: - ldr r0, =gUnknown_03005D98 - strb r5, [r0] - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - adds r0, 0x7C - movs r1, 0x2 - strb r1, [r0] - ldr r4, =gLinkPlayers + 8 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r0, r4, 0 - bl StringCopy - movs r0, 0xD0 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0807FEC8 - adds r0, r4, 0 - adds r0, 0x1C - ldr r1, =gUnknown_083397D0 - ldr r1, [r1, 0xC] - bl StringCopy - b _0807FED4 - .pool -_0807FEC8: - adds r0, r4, 0 - adds r0, 0x1C - ldr r1, =gUnknown_083397D0 - ldr r1, [r1] - bl StringCopy -_0807FED4: - ldr r1, =gLinkPlayers - movs r0, 0x2 - strh r0, [r1, 0x1A] - strh r0, [r1, 0x36] - b _0807FF88 - .pool -_0807FEE8: - ldr r0, =gUnknown_03005D98 - strb r5, [r0] - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - adds r0, 0x7C - movs r1, 0x3 - strb r1, [r0] - ldr r6, =gLinkPlayers + 8 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r0, r6, 0 - bl StringCopy - adds r0, r6, 0 - adds r0, 0x1C - ldr r4, =gUnknown_083397D0 - ldr r1, [r4, 0x10] - bl StringCopy - adds r0, r6, 0 - adds r0, 0x38 - ldr r1, [r4, 0x8] - bl StringCopy - adds r0, r6, 0 - subs r0, 0x8 - strh r5, [r0, 0x1A] - strh r5, [r0, 0x36] - adds r0, 0x52 - strh r5, [r0] - b _0807FF88 - .pool -_0807FF3C: - ldr r0, =gUnknown_03005D98 - strb r5, [r0] - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - adds r0, 0x7C - movs r1, 0x4 - strb r1, [r0] - ldr r5, =gLinkPlayers + 8 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r0, r5, 0 - bl StringCopy - adds r0, r5, 0 - adds r0, 0x1C - ldr r4, =gUnknown_083397D0 - ldr r1, [r4, 0x14] - bl StringCopy - adds r0, r5, 0 - adds r0, 0x38 - ldr r1, [r4, 0x4] - bl StringCopy - adds r0, r5, 0 - adds r0, 0x54 - ldr r1, [r4, 0x8] - bl StringCopy - adds r0, r5, 0 - subs r0, 0x8 - movs r1, 0x2 - strh r1, [r0, 0x1A] - strh r1, [r0, 0x36] - adds r0, 0x52 - strh r1, [r0] - adds r0, 0x1C - strh r1, [r0] -_0807FF88: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807FE54 - - thumb_func_start sub_807FFA4 -sub_807FFA4: @ 807FFA4 - push {r4,r5,lr} - movs r0, 0 - movs r1, 0 - bl SetGpuReg - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - cmp r0, 0 - bne _0807FFC0 - movs r0, 0x8F - lsls r0, 5 - bl AllocZeroed - str r0, [r4] -_0807FFC0: - ldr r0, [r4] - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - movs r2, 0x86 - lsls r2, 1 - adds r0, r2 - str r1, [r0] - movs r2, 0 - ldr r5, =gSpecialVar_0x8004 - movs r3, 0 -_0807FFD6: - ldr r0, [r4] - lsls r1, r2, 1 - adds r0, 0x74 - adds r0, r1 - strh r3, [r0] - adds r2, 0x1 - cmp r2, 0x3 - ble _0807FFD6 - ldrb r0, [r5] - bl sub_807FE54 - ldrh r0, [r5] - cmp r0, 0 - bne _08080008 - ldr r0, =sub_8080018 - bl SetMainCallback2 - b _0808000E - .pool -_08080008: - ldr r0, =sub_80808D4 - bl SetMainCallback2 -_0808000E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807FFA4 - - thumb_func_start sub_8080018 -sub_8080018: @ 8080018 - push {r4-r7,lr} - sub sp, 0x4 - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x15 - bls _0808002A - b _08080546 -_0808002A: - lsls r0, 2 - ldr r1, =_0808003C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0808003C: - .4byte _08080094 - .4byte _08080100 - .4byte _08080120 - .4byte _0808019C - .4byte _080801AE - .4byte _080801C8 - .4byte _08080546 - .4byte _08080546 - .4byte _080801F8 - .4byte _08080248 - .4byte _0808026C - .4byte _08080302 - .4byte _0808035C - .4byte _080803D4 - .4byte _08080408 - .4byte _0808049C - .4byte _080804D0 - .4byte _08080546 - .4byte _080804F8 - .4byte _080804E4 - .4byte _080804EA - .4byte _08080508 -_08080094: - bl sub_8080588 - ldr r1, =gUnknown_020229C6 - ldr r2, =0x00004422 - adds r0, r2, 0 - strh r0, [r1] - ldr r2, =gUnknown_020322A4 - ldr r0, [r2] - adds r0, 0x72 - movs r1, 0 - strb r1, [r0] - movs r5, 0 - movs r6, 0 - movs r7, 0x92 - lsls r7, 1 -_080800B2: - ldr r0, [r2] - lsls r1, r5, 1 - adds r0, 0x64 - adds r0, r1 - strh r6, [r0] - adds r4, r5, 0x1 - adds r1, r5 - lsls r1, 1 - movs r3, 0x2 -_080800C4: - ldr r0, [r2] - adds r0, r7 - adds r0, r1 - strh r6, [r0] - adds r1, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _080800C4 - adds r5, r4, 0 - cmp r5, 0x3 - ble _080800B2 - ldr r3, =gUnknown_020322A4 - ldr r4, [r3] - adds r1, r4, 0 - adds r1, 0x70 - movs r2, 0 - movs r0, 0 - strh r0, [r1] - subs r1, 0x22 - strh r0, [r1] - strb r2, [r4, 0x1] - ldr r1, [r3] - b _080804FC - .pool -_08080100: - bl sub_807F7D8 - lsls r0, 24 - cmp r0, 0 - bne _0808010C - b _08080546 -_0808010C: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_8082D28 - b _08080546 - .pool -_08080120: - movs r5, 0 - ldr r4, =gUnknown_083399C8 - ldr r6, =gUnknown_020322A4 -_08080126: - ldrb r1, [r4] - ldrb r2, [r4, 0x1] - ldr r0, =gUnknown_08339AD8 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r6] - adds r1, 0x54 - adds r1, r5 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x54 - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - adds r1, r5, 0 - adds r1, 0x8 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _08080126 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0808016A - b _080804F8 -_0808016A: - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - bne _08080174 - b _080804F8 -_08080174: - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl sub_800DFB4 - b _080804F8 - .pool -_0808019C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _080804F8 -_080801AE: - bl sub_807F9D0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080801C0 - b _08080546 -_080801C0: - b _080804F8 - .pool -_080801C8: - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - ldr r3, =0x000011b8 - adds r0, r3 - ldr r1, =gUnknown_0833981A - movs r2, 0 - bl sub_808417C - ldr r1, [r4] - movs r2, 0 - movs r0, 0x8 - strb r0, [r1] - ldr r0, [r4] - movs r1, 0x84 - lsls r1, 1 - adds r0, r1 - str r2, [r0] - b _08080546 - .pool -_080801F8: - ldr r4, =gUnknown_020322A4 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - movs r6, 0 - strb r0, [r1] - ldr r0, [r4] - movs r2, 0x8A - lsls r2, 1 - adds r0, r2 - strb r6, [r0] - ldr r0, [r4] - movs r5, 0xAC - lsls r5, 1 - adds r0, r5 - ldr r1, =gScriptItemId - ldrh r1, [r1] - bl sub_807FE14 - ldr r0, =gUnknown_020228C4 - ldr r1, [r4] - adds r1, r5 - movs r2, 0x10 - bl memcpy - bl sub_800ADF8 - ldr r0, [r4] - movs r3, 0x84 - lsls r3, 1 - adds r0, r3 - str r6, [r0] - b _08080546 - .pool -_08080248: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - bne _08080254 - b _08080546 -_08080254: - bl ResetBlockReceivedFlags - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _08080264 - b _080804F8 -_08080264: - movs r0, 0x4 - bl sub_800A4D8 - b _080804F8 -_0808026C: - ldr r6, =gUnknown_020322A4 - ldr r1, [r6] - movs r0, 0x84 - lsls r0, 1 - adds r1, r0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x14 - bgt _08080282 - b _08080546 -_08080282: - movs r0, 0x4 - movs r1, 0x1 - bl sub_8197DF8 - bl GetBlockReceivedStatus - adds r4, r0, 0 - bl sub_800A9D8 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _0808029E - b _08080546 -_0808029E: - movs r5, 0 - adds r7, r6, 0 - movs r6, 0xAC - lsls r6, 1 - b _080802D4 - .pool -_080802AC: - ldr r0, [r7] - lsls r4, r5, 4 - adds r0, r4, r0 - adds r0, r6 - lsls r1, r5, 8 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x10 - bl memcpy - ldr r0, [r7] - lsls r2, r5, 1 - adds r1, r0, 0 - adds r1, 0x74 - adds r1, r2 - adds r0, r4 - adds r0, r6 - ldrh r0, [r0] - strh r0, [r1] - adds r5, 0x1 -_080802D4: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - blt _080802AC - bl ResetBlockReceivedFlags - b _080804F8 - .pool -_080802EC: - ldrb r1, [r4] - lsls r1, 1 - adds r0, r2, 0 - adds r0, 0x74 - adds r0, r1 - ldrh r0, [r0] - lsls r1, r5, 24 - lsrs r1, 24 - bl sub_807FD90 - b _08080336 -_08080302: - bl GetLinkPlayerCount - ldr r2, =gUnknown_020322A4 - ldr r1, [r2] - adds r1, 0x7C - strb r0, [r1] - movs r5, 0 - ldr r2, [r2] - movs r1, 0x8A - lsls r1, 1 - adds r4, r2, r1 - ldr r1, =gUnknown_083399D0 - adds r0, r2, 0 - adds r0, 0x7C - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 2 - ldrb r3, [r4] - adds r0, r1 -_08080328: - ldrb r1, [r0] - cmp r3, r1 - beq _080802EC - adds r0, 0x1 - adds r5, 0x1 - cmp r5, 0x3 - ble _08080328 -_08080336: - ldr r3, =gUnknown_020322A4 - ldr r1, [r3] - movs r0, 0x84 - lsls r0, 1 - adds r2, r1, r0 - movs r0, 0 - str r0, [r2] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r1, [r3] - movs r2, 0x8A - lsls r2, 1 - adds r1, r2 - b _080804FC - .pool -_0808035C: - ldr r3, [r2] - movs r0, 0x84 - lsls r0, 1 - adds r1, r3, r0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x3C - bgt _08080370 - b _08080546 -_08080370: - movs r1, 0x8A - lsls r1, 1 - adds r0, r3, r1 - adds r1, r3, 0 - adds r1, 0x7C - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bcc _080803B8 - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - ldr r2, [r2] - ldr r3, =gUnknown_083399DC - ldr r1, =gUnknown_083399E4 - adds r0, r2, 0 - adds r0, 0x7C - ldrb r0, [r0] - subs r0, 0x2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r3 - ldr r3, =0xffffa800 - adds r1, r3, 0 - ldrh r0, [r0] - adds r1, r0 - adds r2, 0x4A - strh r1, [r2] - b _080803BE - .pool -_080803B8: - ldrb r0, [r3] - subs r0, 0x1 - strb r0, [r3] -_080803BE: - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - movs r1, 0x84 - lsls r1, 1 - adds r0, r1 - movs r1, 0 - str r1, [r0] - b _08080546 - .pool -_080803D4: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - bne _080803E0 - b _08080546 -_080803E0: - ldr r2, =gUnknown_020322A4 - ldr r1, [r2] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - movs r2, 0xA0 - lsls r2, 1 - adds r0, r2 - bl sub_8082CB4 - movs r0, 0x2B - bl PlaySE - movs r0, 0x2 - bl ShowBg - b _08080546 - .pool -_08080408: - movs r1, 0x80 - lsls r1, 3 - movs r0, 0 - bl SetGpuRegBits - ldr r4, =gUnknown_020322A4 - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0x4A - movs r3, 0x80 - lsls r3, 2 - adds r0, r3, 0 - ldrh r3, [r1] - adds r0, r3 - strh r0, [r1] - movs r0, 0x8D - lsls r0, 1 - adds r1, r2, r0 - ldrh r0, [r1] - adds r0, 0x4 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xFF - bls _0808048C - movs r0, 0xC - movs r1, 0x2 - bl SetGpuRegBits - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r3, [r4] - movs r2, 0x8D - lsls r2, 1 - adds r1, r3, r2 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r1] - ldr r2, =gUnknown_083399DC - ldr r1, =gUnknown_083399E4 - adds r0, r3, 0 - adds r0, 0x7C - ldrb r0, [r0] - subs r0, 0x2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - adds r1, r3, 0 - adds r1, 0x4A - strh r0, [r1] - movs r0, 0x84 - lsls r0, 1 - adds r1, r3, r0 - movs r0, 0 - str r0, [r1] - movs r0, 0x34 - bl PlaySE - bl sub_808074C - bl sub_80807BC -_0808048C: - ldr r0, [r4] - b _080804BE - .pool -_0808049C: - bl sub_8083380 - lsls r0, 24 - cmp r0, 0 - beq _080804BA - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - movs r3, 0x84 - lsls r3, 1 - adds r2, r1, r3 - movs r0, 0 - str r0, [r2] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080804BA: - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] -_080804BE: - movs r1, 0xA0 - lsls r1, 1 - adds r0, r1 - bl sub_8082CB4 - b _08080546 - .pool -_080804D0: - ldr r0, =gUnknown_08339C2C - movs r2, 0x10 - negs r2, r2 - movs r1, 0x78 - movs r3, 0x3 - bl CreateSprite - b _080804F8 - .pool -_080804E4: - bl sub_800ADF8 - b _080804F8 -_080804EA: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _08080546 - bl sub_800A418 -_080804F8: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] -_080804FC: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08080546 - .pool -_08080508: - ldr r5, =gUnknown_020322A4 - ldr r3, [r5] - adds r1, r3, 0 - adds r1, 0x4C - movs r2, 0 - movs r0, 0x80 - strh r0, [r1] - movs r1, 0x82 - lsls r1, 1 - adds r0, r3, r1 - str r2, [r0] - ldr r0, =sub_8081898 - bl SetMainCallback2 - bl GetCurrentMapMusic - lsls r0, 16 - lsrs r0, 16 - ldr r4, =0x00000193 - cmp r0, r4 - beq _08080540 - bl GetCurrentMapMusic - ldr r1, [r5] - movs r2, 0xAA - lsls r2, 1 - adds r1, r2 - strh r0, [r1] -_08080540: - adds r0, r4, 0 - bl PlayBGM -_08080546: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - movs r3, 0x8E - lsls r3, 1 - adds r0, r1, r3 - movs r2, 0 - ldrsh r0, [r0, r2] - adds r3, 0x2 - adds r1, r3 - movs r2, 0 - ldrsh r1, [r1, r2] - bl nullsub_31 - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8080018 - - thumb_func_start sub_8080588 -sub_8080588: @ 8080588 - push {r4,lr} - movs r0, 0 - movs r1, 0 - bl SetGpuReg - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - ldr r0, =sub_807F764 - bl SetVBlankCallback - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_08339974 - movs r0, 0x1 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r4, =gUnknown_020322A4 - ldr r1, [r4] - movs r0, 0xDC - lsls r0, 1 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r3, =0x000009b8 - adds r1, r3 - movs r0, 0x2 - bl SetBgTilemapBuffer - movs r0, 0 - movs r1, 0x1 - movs r2, 0xD0 - bl sub_809882C - movs r0, 0 - movs r1, 0x14 - movs r2, 0xF0 - bl copy_textbox_border_tile_patterns_to_vram - bl sub_807FA34 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x44 - movs r1, 0 - strh r1, [r0] - adds r0, 0x8 - strh r1, [r0] - subs r0, 0x2 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - movs r3, 0x8E - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] - adds r3, 0x2 - adds r0, r2, r3 - strh r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8080588 - - thumb_func_start task_tutorial_oak_boy_girl -task_tutorial_oak_boy_girl: @ 8080624 - push {lr} - lsls r0, 16 - lsls r1, 24 - lsrs r0, 24 - adds r2, r0, 0 - adds r2, 0x18 - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - lsrs r1, 23 - adds r0, 0x96 - adds r0, r1 - ldrb r0, [r0] - ldr r1, =gUnknown_083399E7 - adds r0, r1 - ldrb r1, [r0] - cmp r2, r1 - bcc _0808066C - adds r0, r1, 0 - adds r0, 0x30 - cmp r2, r0 - bcs _0808066C - subs r0, 0x1C - cmp r2, r0 - bcc _08080668 - adds r0, 0x8 - cmp r2, r0 - bcs _08080668 - movs r0, 0x2 - b _0808066E - .pool -_08080668: - movs r0, 0x1 - b _0808066E -_0808066C: - movs r0, 0 -_0808066E: - pop {r1} - bx r1 - thumb_func_end task_tutorial_oak_boy_girl - - thumb_func_start sub_8080674 -sub_8080674: @ 8080674 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 24 - lsrs r1, 24 - movs r6, 0 - cmp r5, 0xAF - bne _080806AC - movs r4, 0 - subs r7, r1, 0x1 - adds r2, 0x9 -_08080690: - adds r0, r2, r6 - adds r1, r2, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _0808069E - adds r6, r4, 0 -_0808069E: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x4 - bls _08080690 - adds r0, r6, 0x5 - b _080806C4 -_080806AC: - adds r0, r5, 0 - subs r0, 0x85 - lsls r0, 16 - lsrs r6, r0, 16 - subs r7, r1, 0x1 - cmp r6, 0x4 - bls _080806C8 - adds r0, r6, 0 - movs r1, 0x5 - bl __umodsi3 - adds r0, 0x5 -_080806C4: - lsls r0, 16 - lsrs r6, r0, 16 -_080806C8: - movs r4, 0 - cmp r4, r7 - bge _08080734 - ldr r0, =gUnknown_08339CA0 - mov r9, r0 - adds r0, r5, 0 - subs r0, 0xA3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_080806DC: - lsls r0, r6, 1 - adds r0, r6 - adds r0, r4, r0 - add r0, r9 - ldrb r5, [r0] - movs r0, 0xD0 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0808071A - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0808071A - adds r0, r6, 0 - movs r1, 0x5 - bl __umodsi3 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =gUnknown_08339CBE - adds r0, r6, r0 - ldrb r5, [r0] - mov r0, r8 - cmp r0, 0x4 - bhi _0808071A - subs r0, r5, 0x5 - lsls r0, 16 - lsrs r5, r0, 16 -_0808071A: - adds r4, 0x1 - lsls r0, r4, 24 - lsrs r0, 24 - adds r1, r5, 0 - adds r1, 0x85 - lsls r1, 16 - lsrs r1, 16 - bl sub_8082FDC - lsls r4, 16 - lsrs r4, 16 - cmp r4, r7 - blt _080806DC -_08080734: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8080674 - - thumb_func_start sub_808074C -sub_808074C: @ 808074C - push {r4-r7,lr} - movs r4, 0 - ldr r7, =gUnknown_020322A4 - movs r6, 0xFF - ldr r5, =gUnknown_083399D0 -_08080756: - ldr r3, [r7] - lsls r2, r4, 1 - adds r0, r3, 0 - adds r0, 0x96 - adds r0, r2 - strh r6, [r0] - adds r1, r3, 0 - adds r1, 0x8E - adds r1, r2 - adds r0, r3, 0 - adds r0, 0x7C - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 2 - adds r0, r4, r0 - adds r0, r5 - ldrb r0, [r0] - strh r0, [r1] - adds r4, 0x1 - cmp r4, 0x3 - ble _08080756 - movs r3, 0 - ldr r7, =gUnknown_020322A4 -_08080784: - movs r4, 0 - adds r6, r3, 0x1 - lsls r5, r3, 1 -_0808078A: - ldr r2, [r7] - lsls r0, r4, 1 - adds r1, r2, 0 - adds r1, 0x8E - adds r1, r0 - ldrh r0, [r1] - cmp r0, r3 - bne _080807A2 - adds r0, r2, 0 - adds r0, 0x96 - adds r0, r5 - strh r4, [r0] -_080807A2: - adds r4, 0x1 - cmp r4, 0x3 - ble _0808078A - adds r3, r6, 0 - cmp r3, 0x3 - ble _08080784 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_808074C - - thumb_func_start sub_80807BC -sub_80807BC: @ 80807BC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - movs r0, 0 - mov r10, r0 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _080807DE - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 -_080807DE: - movs r6, 0 - ldr r7, =gUnknown_020322A4 - mov r8, r6 -_080807E4: - ldr r2, [r7] - lsls r5, r6, 1 - adds r0, r2, 0 - adds r0, 0x8E - adds r3, r0, r5 - ldrh r0, [r3] - cmp r0, 0xFF - beq _080808B6 - adds r1, r2, 0 - adds r1, 0x50 - ldrh r3, [r3] - adds r1, r3 - adds r0, r2, 0 - adds r0, 0x54 - adds r0, r6 - ldrb r0, [r0] - movs r2, 0 - mov r9, r2 - strb r0, [r1] - ldr r0, [r7] - adds r1, r0, 0 - adds r1, 0x8E - adds r1, r5 - adds r0, 0x50 - ldrh r1, [r1] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - mov r1, r8 - lsrs r4, r1, 24 - adds r1, r4, 0 - bl StartSpriteAnim - add r1, sp, 0x8 - movs r0, 0xFF - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x8E - adds r0, r5 - ldrh r0, [r0] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r0, =gLinkPlayers + 8 - adds r1, r0 - add r0, sp, 0x8 - bl StringCopy - movs r0, 0x1 - add r1, sp, 0x8 - movs r2, 0x38 - bl GetStringCenterAlignXOffset - adds r2, r0, 0 - ldr r0, [r7] - adds r0, 0x8E - adds r0, r5 - mov r5, r8 - ldrh r0, [r0] - cmp r10, r0 - bne _08080890 - lsls r2, 24 - lsrs r2, 24 - mov r0, r9 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - adds r0, r4, 0 - add r1, sp, 0x8 - movs r3, 0x1 - bl sub_80840D4 - b _080808A6 - .pool -_08080890: - lsls r2, 24 - lsrs r2, 24 - mov r1, r9 - str r1, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - adds r0, r4, 0 - add r1, sp, 0x8 - movs r3, 0x1 - bl sub_80840D4 -_080808A6: - lsrs r4, r5, 24 - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram -_080808B6: - movs r2, 0x80 - lsls r2, 17 - add r8, r2 - adds r6, 0x1 - cmp r6, 0x3 - ble _080807E4 - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80807BC - - thumb_func_start sub_80808D4 -sub_80808D4: @ 80808D4 - push {r4-r7,lr} - sub sp, 0x4 - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x15 - bls _080808E6 - b _08080DAE -_080808E6: - lsls r0, 2 - ldr r1, =_080808F8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080808F8: - .4byte _08080950 - .4byte _080809E4 - .4byte _08080A04 - .4byte _08080A58 - .4byte _08080A84 - .4byte _08080DAE - .4byte _08080DAE - .4byte _08080DAE - .4byte _08080ABC - .4byte _08080DAE - .4byte _08080DAE - .4byte _08080AEC - .4byte _08080B3C - .4byte _08080BB0 - .4byte _08080BDC - .4byte _08080C78 - .4byte _08080CA0 - .4byte _08080DAE - .4byte _08080CAE - .4byte _08080CAE - .4byte _08080CAE - .4byte _08080CC4 -_08080950: - bl sub_800B4C0 - bl sub_8080588 - ldr r4, =gScriptItemId - ldrh r1, [r4] - movs r0, 0 - bl sub_8082FDC - ldr r5, =gUnknown_020322A4 - ldr r0, [r5] - movs r6, 0xAC - lsls r6, 1 - adds r0, r6 - ldrh r1, [r4] - bl sub_807FE14 - ldrh r0, [r4] - ldr r2, [r5] - adds r1, r2, 0 - adds r1, 0x7C - ldrb r1, [r1] - adds r2, r6 - bl sub_8080674 - movs r4, 0 - movs r6, 0 - ldr r0, =gUnknown_020229C6 - mov r12, r0 - movs r7, 0x92 - lsls r7, 1 -_0808098E: - ldr r0, [r5] - lsls r1, r4, 1 - adds r0, 0x64 - adds r0, r1 - strh r6, [r0] - adds r3, r4, 0x1 - adds r1, r4 - lsls r1, 1 - movs r2, 0x2 -_080809A0: - ldr r0, [r5] - adds r0, r7 - adds r0, r1 - strh r6, [r0] - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _080809A0 - adds r4, r3, 0 - cmp r4, 0x3 - ble _0808098E - ldr r4, =gUnknown_020322A4 - ldr r3, [r4] - adds r1, r3, 0 - adds r1, 0x70 - movs r2, 0 - movs r0, 0 - strh r0, [r1] - strb r2, [r3, 0x1] - ldr r1, =0x00004422 - adds r0, r1, 0 - mov r2, r12 - strh r0, [r2] - ldr r1, [r4] - b _08080CB2 - .pool -_080809E4: - bl sub_807F7D8 - lsls r0, 24 - cmp r0, 0 - bne _080809F0 - b _08080DAE -_080809F0: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_8082D28 - b _08080DAE - .pool -_08080A04: - movs r4, 0 - ldr r5, =gUnknown_083399C8 - ldr r6, =gUnknown_020322A4 -_08080A0A: - ldrb r1, [r5] - ldrb r2, [r5, 0x1] - ldr r0, =gUnknown_08339AD8 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r6] - adds r1, 0x54 - adds r1, r4 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x54 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - adds r1, r4, 0 - adds r1, 0x8 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r5, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _08080A0A - b _08080CAE - .pool -_08080A58: - movs r0, 0x1 - negs r0, r0 - movs r4, 0 - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, =gUnknown_020322A4 - ldr r1, [r2] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - movs r3, 0x84 - lsls r3, 1 - adds r0, r3 - str r4, [r0] - b _08080DAE - .pool -_08080A84: - ldr r4, =gUnknown_020322A4 - ldr r1, [r4] - movs r5, 0x84 - lsls r5, 1 - adds r1, r5 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x2 - bne _08080A9C - bl sub_807F9D0 -_08080A9C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08080AAA - b _08080DAE -_08080AAA: - ldr r1, [r4] - movs r0, 0x8 - strb r0, [r1] - b _08080DAE - .pool -_08080ABC: - ldr r2, =gUnknown_020322A4 - ldr r1, [r2] - movs r3, 0 - movs r0, 0xB - strb r0, [r1] - ldr r0, [r2] - movs r1, 0x8A - lsls r1, 1 - adds r0, r1 - strb r3, [r0] - b _08080DAE - .pool -_08080AD8: - lsls r1, 1 - adds r0, r3, 0 - adds r0, 0x74 - adds r0, r1 - ldrh r0, [r0] - lsls r1, r4, 24 - lsrs r1, 24 - bl sub_807FD90 - b _08080B16 -_08080AEC: - movs r4, 0 - ldr r2, =gUnknown_083399D0 - ldr r0, =gUnknown_020322A4 - ldr r3, [r0] - adds r0, r3, 0 - adds r0, 0x7C - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 2 - movs r5, 0x8A - lsls r5, 1 - adds r1, r3, r5 - ldrb r1, [r1] - adds r0, r2 -_08080B08: - ldrb r2, [r0] - cmp r1, r2 - beq _08080AD8 - adds r0, 0x1 - adds r4, 0x1 - cmp r4, 0x3 - ble _08080B08 -_08080B16: - ldr r3, =gUnknown_020322A4 - ldr r1, [r3] - movs r5, 0x84 - lsls r5, 1 - adds r2, r1, r5 - movs r0, 0 - str r0, [r2] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r1, [r3] - movs r0, 0x8A - lsls r0, 1 - adds r1, r0 - b _08080CB2 - .pool -_08080B3C: - ldr r3, [r2] - movs r2, 0x84 - lsls r2, 1 - adds r1, r3, r2 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x3C - bgt _08080B50 - b _08080DAE -_08080B50: - movs r5, 0x8A - lsls r5, 1 - adds r0, r3, r5 - adds r4, r3, 0 - adds r4, 0x7C - ldrb r0, [r0] - ldrb r1, [r4] - cmp r0, r1 - bcc _08080B94 - ldr r2, =gUnknown_083399DC - ldr r1, =gUnknown_083399E4 - ldrb r0, [r4] - subs r0, 0x2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r2 - ldr r2, =0xffffa800 - adds r1, r2, 0 - ldrh r0, [r0] - adds r1, r0 - adds r0, r3, 0 - adds r0, 0x4A - strh r1, [r0] - ldrb r0, [r3] - adds r0, 0x1 - b _08080B98 - .pool -_08080B94: - ldrb r0, [r3] - subs r0, 0x1 -_08080B98: - strb r0, [r3] - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - movs r3, 0x84 - lsls r3, 1 - adds r0, r3 - movs r1, 0 - str r1, [r0] - b _08080DAE - .pool -_08080BB0: - ldr r4, =gUnknown_020322A4 - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_808074C - movs r0, 0x2B - bl PlaySE - ldr r0, [r4] - movs r5, 0xA0 - lsls r5, 1 - adds r0, r5 - bl sub_8082CB4 - movs r0, 0x2 - bl ShowBg - b _08080DAE - .pool -_08080BDC: - movs r1, 0x80 - lsls r1, 3 - movs r0, 0 - bl SetGpuRegBits - ldr r4, =gUnknown_020322A4 - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0x4A - movs r3, 0x80 - lsls r3, 2 - adds r0, r3, 0 - ldrh r5, [r1] - adds r0, r5 - strh r0, [r1] - movs r0, 0x8D - lsls r0, 1 - adds r1, r2, r0 - ldrh r0, [r1] - adds r0, 0x4 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xFF - bls _08080C5C - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - ldr r3, [r4] - movs r2, 0x8D - lsls r2, 1 - adds r1, r3, r2 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r1] - ldr r2, =gUnknown_083399DC - ldr r1, =gUnknown_083399E4 - adds r0, r3, 0 - adds r0, 0x7C - ldrb r0, [r0] - subs r0, 0x2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r2 - ldrh r1, [r0] - adds r0, r3, 0 - adds r0, 0x4A - strh r1, [r0] - movs r0, 0xC - movs r1, 0x2 - bl SetGpuRegBits - ldr r0, [r4] - movs r3, 0x84 - lsls r3, 1 - adds r0, r3 - movs r1, 0 - str r1, [r0] - movs r0, 0x34 - bl PlaySE - bl sub_80807BC -_08080C5C: - ldr r0, [r4] - movs r5, 0xA0 - lsls r5, 1 - adds r0, r5 - bl sub_8082CB4 - b _08080DAE - .pool -_08080C78: - bl sub_8083380 - lsls r0, 24 - cmp r0, 0 - beq _08080C8C - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08080C8C: - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - movs r1, 0xA0 - lsls r1, 1 - adds r0, r1 - bl sub_8082CB4 - b _08080DAE - .pool -_08080CA0: - ldr r0, =gUnknown_08339C2C - movs r2, 0x10 - negs r2, r2 - movs r1, 0x78 - movs r3, 0x3 - bl CreateSprite -_08080CAE: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] -_08080CB2: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08080DAE - .pool -_08080CC4: - bl sub_8080DF8 - ldr r5, =gUnknown_020322A4 - ldr r4, [r5] - adds r1, r4, 0 - adds r1, 0x4C - movs r3, 0 - movs r2, 0 - movs r0, 0x80 - strh r0, [r1] - movs r1, 0x82 - lsls r1, 1 - adds r0, r4, r1 - str r2, [r0] - ldr r2, =0x00000123 - adds r0, r4, r2 - strb r3, [r0] - ldr r0, [r5] - adds r0, 0x72 - strb r3, [r0] - ldr r0, =sub_8081898 - bl SetMainCallback2 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x1 - bne _08080D44 - movs r0, 0xD0 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08080D30 - ldr r0, =sub_8081224 - movs r1, 0xA - bl CreateTask - ldr r1, [r5] - movs r3, 0x90 - lsls r3, 1 - adds r1, r3 - b _08080D42 - .pool -_08080D30: - ldr r0, =gUnknown_083399EC - ldr r0, [r0] - movs r1, 0xA - bl CreateTask - ldr r1, [r5] - movs r5, 0x90 - lsls r5, 1 - adds r1, r5 -_08080D42: - strb r0, [r1] -_08080D44: - ldr r1, =gSpecialVar_0x8004 - ldrh r0, [r1] - cmp r0, 0x1 - bls _08080D80 - movs r4, 0 - ldrh r1, [r1] - cmp r4, r1 - bge _08080D80 - movs r5, 0xA0 - lsls r5, 20 - ldr r6, =gUnknown_083399EC -_08080D5A: - ldm r6!, {r0} - lsrs r1, r5, 24 - bl CreateTask - ldr r1, =gUnknown_020322A4 - ldr r1, [r1] - movs r2, 0x90 - lsls r2, 1 - adds r1, r2 - adds r1, r4 - strb r0, [r1] - movs r3, 0x80 - lsls r3, 17 - adds r5, r3 - adds r4, 0x1 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r4, r0 - blt _08080D5A -_08080D80: - bl GetCurrentMapMusic - lsls r0, 16 - lsrs r0, 16 - ldr r4, =0x00000193 - cmp r0, r4 - beq _08080D9E - bl GetCurrentMapMusic - ldr r1, =gUnknown_020322A4 - ldr r1, [r1] - movs r5, 0xAA - lsls r5, 1 - adds r1, r5 - strh r0, [r1] -_08080D9E: - adds r0, r4, 0 - bl PlayBGM - movs r0, 0x35 - bl PlaySE - bl sub_807F738 -_08080DAE: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - movs r2, 0x8E - lsls r2, 1 - adds r0, r1, r2 - movs r3, 0 - ldrsh r0, [r0, r3] - movs r5, 0x8F - lsls r5, 1 - adds r1, r5 - movs r2, 0 - ldrsh r1, [r1, r2] - bl nullsub_31 - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80808D4 - - thumb_func_start sub_8080DF8 -sub_8080DF8: @ 8080DF8 - push {lr} - ldr r3, =gUnknown_03003110 - movs r0, 0 - ldr r1, =gUnknown_03003090 - movs r2, 0x3 -_08080E02: - strh r0, [r3] - strh r0, [r3, 0x4] - strh r0, [r1] - strh r0, [r1, 0x4] - adds r1, 0x10 - subs r2, 0x1 - cmp r2, 0 - bge _08080E02 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8080DF8 - - thumb_func_start sub_8080E20 -sub_8080E20: @ 8080E20 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - lsls r0, 16 - asrs r0, 16 - movs r4, 0xA - ldrsh r1, [r2, r4] - cmp r0, r1 - ble _08080E58 - ldr r0, =gUnknown_03003090 - movs r4, 0xC - ldrsh r1, [r2, r4] - lsls r1, 4 - adds r0, 0x4 - adds r1, r0 - ldr r0, =0x00002345 - strh r0, [r1] - adds r0, r3, 0 - bl DestroyTask -_08080E58: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8080E20 - - thumb_func_start sub_8080E6C -sub_8080E6C: @ 8080E6C - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =sub_8080E20 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0xA] - strh r5, [r1, 0xC] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8080E6C - - thumb_func_start sub_8080EA4 -sub_8080EA4: @ 8080EA4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - adds r0, 0x4A - ldrh r0, [r0] - movs r1, 0x1 - bl task_tutorial_oak_boy_girl - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _08080EC2 - b _08080FB8 -_08080EC2: - ldr r2, =gTasks - lsls r1, r5, 2 - adds r0, r1, r5 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r6, r1, 0 - cmp r0, 0 - beq _08080ED8 - b _08080FC6 -_08080ED8: - ldr r0, [r4] - ldr r1, =0x00000123 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08080F9A - bl Random - lsls r0, 16 - lsrs r0, 16 - ldr r1, =0x0000028f - bl __udivsi3 - lsls r0, 24 - lsrs r1, r0, 24 - adds r3, r1, 0 - ldr r0, [r4] - adds r0, 0x4C - movs r4, 0 - ldrsh r2, [r0, r4] - ldr r0, =0x000001f3 - cmp r2, r0 - bgt _08080F40 - cmp r1, 0x4B - bls _08080F2C - ldr r1, =gUnknown_03003090 - ldr r0, =0x00004523 - b _08080F30 - .pool -_08080F2C: - ldr r1, =gUnknown_03003090 - ldr r0, =0x00005432 -_08080F30: - strh r0, [r1, 0x14] - ldr r0, =0x00005432 - b _08080F9E - .pool -_08080F40: - ldr r0, =0x000005db - cmp r2, r0 - bgt _08080F6E - cmp r1, 0x50 - bhi _08080F9A - adds r0, r1, 0 - subs r0, 0x15 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3B - bhi _08080F68 - ldr r1, =gUnknown_03003090 - ldr r0, =0x00005432 - b _08080F9E - .pool -_08080F68: - cmp r1, 0x9 - bhi _08080FA0 - b _08080F90 -_08080F6E: - cmp r1, 0x5A - bhi _08080F9A - adds r0, r1, 0 - subs r0, 0x47 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x13 - bhi _08080F8C - ldr r1, =gUnknown_03003090 - ldr r0, =0x00005432 - b _08080F9E - .pool -_08080F8C: - cmp r3, 0x1D - bhi _08080FA0 -_08080F90: - movs r0, 0x1 - movs r1, 0x5 - bl sub_8080E6C - b _08080FA0 -_08080F9A: - ldr r1, =gUnknown_03003090 - ldr r0, =0x00004523 -_08080F9E: - strh r0, [r1, 0x14] -_08080FA0: - ldr r0, =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - b _08080FC4 - .pool -_08080FB8: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r0, 0 -_08080FC4: - strh r0, [r1, 0x8] -_08080FC6: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8080EA4 - - thumb_func_start sub_8080FD0 -sub_8080FD0: @ 8080FD0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r6, =gUnknown_020322A4 - ldr r3, [r6] - adds r0, r3, 0 - adds r0, 0x4A - ldrh r0, [r0] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - ldr r1, =0x0000ffff - ands r0, r1 - adds r1, r3, 0 - adds r1, 0x9A - ldrb r1, [r1] - lsrs r2, r0, 8 - ldr r0, =gUnknown_083399E7 - adds r1, r0 - ldrb r1, [r1] - adds r0, r1, 0 - adds r0, 0x14 - cmp r2, r0 - bls _080810E0 - adds r0, 0x14 - cmp r2, r0 - bcs _080810E0 - ldr r2, =gTasks - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r0, 3 - adds r2, r0, r2 - movs r5, 0x8 - ldrsh r0, [r2, r5] - adds r5, r1, 0 - cmp r0, 0 - bne _080810EE - ldr r1, =0x00000123 - adds r0, r3, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080810CC - bl Random - lsls r0, 16 - lsrs r0, 16 - ldr r1, =0x0000028f - bl __udivsi3 - lsls r0, 24 - lsrs r2, r0, 24 - adds r3, r2, 0 - ldr r0, [r6] - adds r0, 0x4C - movs r6, 0 - ldrsh r1, [r0, r6] - ldr r0, =0x000001f3 - cmp r1, r0 - bgt _08081088 - cmp r2, 0x42 - bls _08081078 - ldr r1, =gUnknown_03003090 - ldr r0, =0x00004523 - strh r0, [r1, 0x24] - b _080810B0 - .pool -_08081078: - ldr r1, =gUnknown_03003090 - ldr r0, =0x00005432 - strh r0, [r1, 0x24] - b _080810B0 - .pool -_08081088: - cmp r2, 0x41 - bls _08081092 - ldr r1, =gUnknown_03003090 - ldr r0, =0x00004523 - strh r0, [r1, 0x24] -_08081092: - adds r0, r2, 0 - subs r0, 0x29 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x18 - bhi _080810A4 - ldr r1, =gUnknown_03003090 - ldr r0, =0x00005432 - strh r0, [r1, 0x24] -_080810A4: - cmp r3, 0x9 - bhi _080810B0 - movs r0, 0x2 - movs r1, 0x5 - bl sub_8080E6C -_080810B0: - ldr r0, =gTasks - adds r1, r5, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - b _080810EC - .pool -_080810CC: - ldr r0, =gUnknown_03003090 - ldr r1, =0x00004523 - strh r1, [r0, 0x24] - movs r0, 0x1 - strh r0, [r2, 0x8] - b _080810EE - .pool -_080810E0: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0 -_080810EC: - strh r0, [r1, 0x8] -_080810EE: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8080FD0 - - thumb_func_start sub_80810F8 -sub_80810F8: @ 80810F8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, =gUnknown_020322A4 - ldr r3, [r5] - adds r0, r3, 0 - adds r0, 0x4A - ldrh r0, [r0] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - ldr r1, =0x0000ffff - ands r0, r1 - adds r1, r3, 0 - adds r1, 0x9C - ldrb r1, [r1] - lsrs r2, r0, 8 - ldr r0, =gUnknown_083399E7 - adds r1, r0 - ldrb r1, [r1] - adds r0, r1, 0 - adds r0, 0x14 - cmp r2, r0 - bls _0808120C - adds r0, 0x14 - cmp r2, r0 - bcs _0808120C - ldr r2, =gTasks - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r0, 3 - adds r2, r0, r2 - movs r6, 0x8 - ldrsh r0, [r2, r6] - adds r6, r1, 0 - cmp r0, 0 - bne _0808121A - ldr r1, =0x00000123 - adds r0, r3, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080811F8 - bl Random - lsls r0, 16 - lsrs r0, 16 - ldr r1, =0x0000028f - bl __udivsi3 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, [r5] - adds r0, 0x4C - movs r3, 0 - ldrsh r1, [r0, r3] - ldr r0, =0x000001f3 - cmp r1, r0 - bgt _080811AC - cmp r2, 0x58 - bls _0808119C - ldr r1, =gUnknown_03003090 - ldr r0, =0x00004523 - strh r0, [r1, 0x34] - b _080811DE - .pool -_0808119C: - ldr r1, =gUnknown_03003090 - ldr r0, =0x00005432 - strh r0, [r1, 0x34] - b _080811DE - .pool -_080811AC: - cmp r2, 0x3C - bls _080811C0 - ldr r1, =gUnknown_03003090 - ldr r0, =0x00004523 - b _080811D0 - .pool -_080811C0: - adds r0, r2, 0 - subs r0, 0x38 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080811D2 - ldr r1, =gUnknown_03003090 - ldr r0, =0x00005432 -_080811D0: - strh r0, [r1, 0x34] -_080811D2: - cmp r2, 0x4 - bhi _080811DE - movs r0, 0x3 - movs r1, 0x5 - bl sub_8080E6C -_080811DE: - ldr r0, =gTasks - adds r1, r6, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - b _08081218 - .pool -_080811F8: - ldr r0, =gUnknown_03003090 - ldr r1, =0x00004523 - strh r1, [r0, 0x34] - movs r0, 0x1 - strh r0, [r2, 0x8] - b _0808121A - .pool -_0808120C: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0 -_08081218: - strh r0, [r1, 0x8] -_0808121A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80810F8 - - thumb_func_start sub_8081224 -sub_8081224: @ 8081224 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - adds r0, 0x4A - ldrh r0, [r0] - movs r1, 0x1 - bl task_tutorial_oak_boy_girl - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08081270 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r2, r1, r0 - movs r1, 0x8 - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _0808127E - ldr r0, =gUnknown_03003090 - ldr r1, =0x00004523 - strh r1, [r0, 0x14] - movs r0, 0x1 - strh r0, [r2, 0x8] - b _0808127E - .pool -_08081270: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x8] -_0808127E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8081224 - - thumb_func_start sub_8081288 -sub_8081288: @ 8081288 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r7, r0, 16 - mov r8, r7 - lsls r1, 24 - ldr r0, =gUnknown_08339B40 - ldr r4, =gUnknown_083399C8 - lsrs r1, 23 - adds r2, r1, r4 - ldrb r6, [r2] - ldr r5, =gUnknown_083399C0 - adds r2, r1, r5 - movs r3, 0 - ldrsb r3, [r2, r3] - lsls r2, r3, 2 - adds r2, r3 - lsls r2, 1 - subs r6, r2 - adds r4, 0x1 - adds r4, r1, r4 - ldrb r2, [r4] - adds r5, 0x1 - adds r1, r5 - movs r3, 0 - ldrsb r3, [r1, r3] - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 1 - subs r2, r1 - adds r1, r6, 0 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - adds r2, r1, 0 - ldr r0, =0x00004523 - cmp r7, r0 - bne _08081314 - lsls r4, r1, 4 - adds r4, r1 - lsls r4, 2 - ldr r5, =gSprites - adds r0, r4, r5 - movs r1, 0x2 - bl StartSpriteAnim - adds r5, 0x1C - adds r4, r5 - ldr r0, =sub_8082F9C - str r0, [r4] - movs r0, 0x28 - bl PlaySE - b _08081358 - .pool -_08081314: - ldr r0, =0x00005432 - cmp r7, r0 - bne _0808133C - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAnim - movs r0, 0x1F - bl PlaySE - b _08081358 - .pool -_0808133C: - ldr r0, =0x00002345 - cmp r8, r0 - bne _08081358 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - movs r0, 0x20 - bl PlaySE -_08081358: - bl sub_8082E84 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8081288 - - thumb_func_start sub_8081370 -sub_8081370: @ 8081370 - push {r4-r7,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r5, r4, 0 - bl sub_807F738 - ldr r0, =0x00004523 - cmp r4, r0 - beq _080813A4 - cmp r4, r0 - bgt _08081398 - ldr r0, =0x00002345 - cmp r4, r0 - beq _08081474 - b _080814A0 - .pool -_08081398: - ldr r0, =0x00005432 - cmp r5, r0 - beq _0808143C - b _080814A0 - .pool -_080813A4: - ldr r7, =gUnknown_020322A4 - ldr r4, [r7] - adds r5, r4, 0 - adds r5, 0x4C - ldrh r6, [r5] - movs r0, 0 - ldrsh r1, [r5, r0] - ldr r0, =0x000005db - cmp r1, r0 - bgt _080813E0 - ldr r1, =gUnknown_08339CC3 - adds r0, r4, 0 - adds r0, 0x7C - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - movs r0, 0xC0 - lsls r0, 1 - bl __divsi3 - adds r0, r6, r0 - strh r0, [r5] - b _080814A0 - .pool -_080813E0: - ldr r1, =gUnknown_08339CC3 - adds r0, r4, 0 - adds r0, 0x7C - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x80 - bl __divsi3 - adds r0, r6, r0 - strh r0, [r5] - movs r1, 0x8E - lsls r1, 1 - adds r4, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - movs r1, 0x64 - bl __divsi3 - adds r1, r0, 0 - subs r1, 0xA - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_80832BC - ldr r0, [r7] - movs r1, 0x8F - lsls r1, 1 - adds r4, r0, r1 - adds r0, 0x4C - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x64 - bl __divsi3 - adds r1, r0, 0 - subs r1, 0xA - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_80832BC - b _080814A0 - .pool -_0808143C: - ldr r0, =gUnknown_020322A4 - ldr r2, [r0] - adds r4, r2, 0 - adds r4, 0x4C - ldrh r5, [r4] - movs r0, 0 - ldrsh r1, [r4, r0] - ldr r0, =0x000005db - cmp r1, r0 - bgt _080814A0 - ldr r1, =gUnknown_08339CC3 - adds r0, r2, 0 - adds r0, 0x7C - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x80 - lsls r0, 1 - bl __divsi3 - adds r0, r5, r0 - b _0808149E - .pool -_08081474: - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - adds r4, r0, 0 - adds r4, 0x4C - ldr r1, =gUnknown_08339CC3 - adds r0, 0x7C - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x80 - lsls r0, 1 - bl __divsi3 - ldrh r1, [r4] - subs r1, r0 - strh r1, [r4] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x7F - bgt _080814A0 - movs r0, 0x80 -_0808149E: - strh r0, [r4] -_080814A0: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8081370 - - thumb_func_start sub_80814B0 -sub_80814B0: @ 80814B0 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _080814E4 - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - beq _080814E4 - movs r0, 0xFF - lsls r0, 8 - ands r0, r3 - cmp r0, r2 - bne _080814EC - movs r0, 0x1 - b _080814EE - .pool -_080814E4: - cmp r3, r1 - bne _080814EC - movs r0, 0x1 - b _080814EE -_080814EC: - movs r0, 0 -_080814EE: - pop {r1} - bx r1 - thumb_func_end sub_80814B0 - - thumb_func_start sub_80814F4 -sub_80814F4: @ 80814F4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - beq _0808153C - ldr r3, =gUnknown_03003110 - ldrh r0, [r3, 0x4] - ldr r2, =gUnknown_03003090 - cmp r0, 0 - beq _0808151C - movs r1, 0 - strh r0, [r2, 0x4] - ldr r0, =0x00004444 - strh r0, [r2] - strh r1, [r3, 0x4] -_0808151C: - ldr r0, =gUnknown_03003090 - ldr r3, =0x00004444 - adds r1, r2, 0 - adds r1, 0x10 - adds r2, r0, 0 - adds r2, 0x14 - movs r7, 0x2 -_0808152A: - ldrh r0, [r2] - cmp r0, 0 - beq _08081532 - strh r3, [r1] -_08081532: - adds r1, 0x10 - adds r2, 0x10 - subs r7, 0x1 - cmp r7, 0 - bge _0808152A -_0808153C: - movs r7, 0 - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - adds r0, 0x7C - ldrb r0, [r0] - cmp r7, r0 - blt _0808154C - b _080816F6 -_0808154C: - ldr r0, =gUnknown_03003090 - adds r2, r0, 0 - adds r2, 0x20 - str r2, [sp] - movs r1, 0 - mov r9, r1 - movs r2, 0 - str r2, [sp, 0x4] - mov r8, r0 - ldr r0, =0x00005432 - mov r10, r0 -_08081562: - mov r1, r8 - ldrh r0, [r1] - ldr r1, =0x00004444 - movs r2, 0x88 - lsls r2, 7 - bl sub_80814B0 - cmp r0, 0 - bne _08081576 - b _080816D2 -_08081576: - ldr r6, =gUnknown_020322A4 - ldr r0, [r6] - adds r0, 0x96 - ldr r2, [sp, 0x4] - adds r0, r2 - ldrh r5, [r0] - mov r0, r8 - ldrh r4, [r0, 0x4] - ldr r1, =0x00004523 - cmp r4, r1 - bne _080815F4 - adds r0, r1, 0 - bl sub_8081370 - ldr r0, [r6] - movs r2, 0x8B - lsls r2, 1 - adds r4, r0, r2 - adds r0, 0x4C - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x37 - bl __divsi3 - ldrh r1, [r4] - adds r1, r0 - strh r1, [r4] - lsls r1, 16 - ldr r0, =0x03e70000 - cmp r1, r0 - bls _080815BA - movs r0, 0xFA - lsls r0, 2 - strh r0, [r4] -_080815BA: - lsls r1, r5, 24 - lsrs r1, 24 - ldr r0, =0x00004523 - bl sub_8081288 - ldr r1, [r6] - movs r2, 0x92 - lsls r2, 1 - adds r1, r2 - add r1, r9 - ldrh r0, [r1] - adds r0, 0x1 - b _0808165E - .pool -_080815F4: - cmp r4, r10 - bne _08081632 - mov r0, r10 - bl sub_8081370 - ldr r0, [r6] - movs r1, 0x8B - lsls r1, 1 - adds r4, r0, r1 - adds r0, 0x4C - movs r2, 0 - ldrsh r0, [r0, r2] - movs r1, 0x46 - bl __divsi3 - ldrh r1, [r4] - adds r1, r0 - strh r1, [r4] - lsls r1, r5, 24 - lsrs r1, 24 - mov r0, r10 - bl sub_8081288 - ldr r1, [r6] - movs r0, 0x93 - lsls r0, 1 - adds r1, r0 - add r1, r9 - ldrh r0, [r1] - adds r0, 0x1 - b _0808165E -_08081632: - ldr r0, =0x00002345 - cmp r4, r0 - bne _0808166A - lsls r1, r5, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_8081288 - adds r0, r4, 0 - bl sub_8081370 - ldr r0, [r6] - movs r1, 0x94 - lsls r1, 1 - adds r0, r1 - mov r2, r9 - adds r1, r0, r2 - ldrh r2, [r1] - ldr r0, =0x000003e6 - cmp r2, r0 - bhi _08081660 - adds r0, r2, 0x1 -_0808165E: - strh r0, [r1] -_08081660: - mov r0, r8 - ldrh r1, [r0, 0x4] - ldr r0, =0x00002345 - cmp r1, r0 - beq _08081678 -_0808166A: - ldr r1, [sp] - ldrh r0, [r1] - ldr r2, =0x00004523 - cmp r0, r2 - beq _08081678 - cmp r0, r10 - bne _080816D2 -_08081678: - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - adds r2, r0, 0 - adds r2, 0x4C - movs r0, 0 - ldrsh r1, [r2, r0] - ldr r0, =0x000005dc - cmp r1, r0 - ble _080816C8 - adds r0, r1, 0 - ldr r2, =0xfffffd12 - adds r0, r2 - movs r1, 0x14 - bl __divsi3 - adds r1, r0, 0 - movs r0, 0x80 - lsls r0, 1 - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, =gMPlay_BGM - bl m4aMPlayTempoControl - b _080816D2 - .pool -_080816C8: - ldr r0, =gMPlay_BGM - movs r1, 0x80 - lsls r1, 1 - bl m4aMPlayTempoControl -_080816D2: - ldr r1, [sp] - adds r1, 0x2 - str r1, [sp] - movs r2, 0x6 - add r9, r2 - ldr r0, [sp, 0x4] - adds r0, 0x2 - str r0, [sp, 0x4] - movs r1, 0x10 - add r8, r1 - adds r7, 0x1 - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - adds r0, 0x7C - ldrb r0, [r0] - cmp r7, r0 - bge _080816F6 - b _08081562 -_080816F6: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - beq _08081722 - movs r7, 0 - ldr r3, =gUnknown_020322A4 - ldr r0, [r3] - adds r0, 0x7C - ldrb r0, [r0] - cmp r7, r0 - bge _08081722 - movs r2, 0 - ldr r1, =gUnknown_03003090 -_08081710: - strh r2, [r1] - strh r2, [r1, 0x4] - adds r1, 0x10 - adds r7, 0x1 - ldr r0, [r3] - adds r0, 0x7C - ldrb r0, [r0] - cmp r7, r0 - blt _08081710 -_08081722: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80814F4 - - thumb_func_start sub_8081744 -sub_8081744: @ 8081744 - push {r4-r6,lr} - movs r4, 0 - movs r6, 0 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0808175A - bl GetMultiplayerId - lsls r0, 24 - lsrs r6, r0, 24 -_0808175A: - ldr r3, =gUnknown_020322A4 - ldr r1, [r3] - lsls r2, r6, 1 - adds r0, r1, 0 - adds r0, 0x96 - adds r0, r2 - ldrb r5, [r0] - adds r1, 0x63 - ldrb r0, [r1] - cmp r0, 0 - bne _0808182C - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0x2 - bne _080817A8 - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080817B6 - ldrh r2, [r2, 0x28] - ldr r1, =0x00000201 - adds r0, r1, 0 - ands r0, r2 - cmp r0, r1 - beq _080817B6 - b _080817BA - .pool -_080817A8: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080817B6 - movs r4, 0x1 -_080817B6: - cmp r4, 0 - beq _0808182C -_080817BA: - ldr r4, =gUnknown_020322A4 - ldr r1, [r4] - lsls r2, r5, 1 - adds r0, r1, 0 - adds r0, 0x8E - adds r0, r2 - adds r1, 0x50 - ldrh r0, [r0] - adds r1, r0 - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - adds r1, r5, 0x4 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - ldr r0, [r4] - adds r0, 0x4A - ldrh r0, [r0] - adds r1, r6, 0 - bl task_tutorial_oak_boy_girl - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08081810 - ldr r1, =gUnknown_03003110 - ldr r0, =0x00004523 - b _08081828 - .pool -_08081810: - cmp r0, 0x1 - bne _08081824 - ldr r1, =gUnknown_03003110 - ldr r0, =0x00005432 - b _08081828 - .pool -_08081824: - ldr r1, =gUnknown_03003110 - ldr r0, =0x00002345 -_08081828: - strh r0, [r1, 0x4] - adds r3, r4, 0 -_0808182C: - ldr r1, [r3] - adds r1, 0x72 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bls _0808185A - ldr r0, [r3] - adds r1, r0, 0 - adds r1, 0x4C - ldrh r2, [r1] - movs r4, 0 - ldrsh r0, [r1, r4] - cmp r0, 0x80 - ble _08081852 - subs r0, r2, 0x1 - strh r0, [r1] -_08081852: - ldr r0, [r3] - adds r0, 0x72 - movs r1, 0 - strb r1, [r0] -_0808185A: - ldr r0, =gUnknown_020322D5 - ldrb r0, [r0] - cmp r0, 0 - beq _0808187E - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - beq _0808187E - ldr r0, [r3] - ldr r1, =0x00000123 - adds r2, r0, r1 - ldrb r0, [r2] - movs r1, 0x1 - eors r0, r1 - strb r0, [r2] -_0808187E: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8081744 - - thumb_func_start sub_8081898 -sub_8081898: @ 8081898 - push {r4-r6,lr} - bl sub_8082D28 - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - movs r1, 0x82 - lsls r1, 1 - adds r2, r0, r1 - ldr r1, [r2] - ldr r0, =0x00057e03 - cmp r1, r0 - bhi _080818B4 - adds r0, r1, 0x1 - str r0, [r2] -_080818B4: - bl sub_8081744 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x4C - ldrh r0, [r0] - movs r5, 0x8B - lsls r5, 1 - adds r1, r5 - ldrh r1, [r1] - bl sub_800A994 - bl sub_80814F4 - ldr r0, [r4] - adds r0, r5 - ldrh r0, [r0] - movs r6, 0xFA - lsls r6, 2 - adds r1, r6, 0 - bl sub_8083140 - ldr r0, [r4] - adds r0, 0x4C - ldrh r0, [r0] - bl sub_8083230 - bl sub_808330C - bl sub_8082AD4 - ldr r2, [r4] - adds r3, r2, 0 - adds r3, 0x63 - ldrb r0, [r3] - cmp r0, 0 - bne _0808191A - movs r1, 0x8C - lsls r1, 1 - adds r0, r2, r1 - ldrh r1, [r0] - ldr r0, =0x000003e7 - cmp r1, r0 - bls _0808191A - adds r0, r2, r5 - strh r6, [r0] - movs r0, 0x1 - strb r0, [r3] - ldr r0, =sub_8081FC8 - bl SetMainCallback2 -_0808191A: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - movs r2, 0x8E - lsls r2, 1 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0x8F - lsls r2, 1 - adds r1, r2 - movs r2, 0 - ldrsh r1, [r1, r2] - bl nullsub_31 - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8081898 - - thumb_func_start nullsub_31 -nullsub_31: @ 8081960 - bx lr - thumb_func_end nullsub_31 - - thumb_func_start help_system_is_not_first_time -help_system_is_not_first_time: @ 8081964 - push {r4,r5,lr} - lsls r1, 24 - lsls r2, 24 - lsrs r1, 20 - adds r4, r1, r0 - lsrs r2, 20 - adds r5, r2, r0 - ldrh r0, [r4] - ldrh r1, [r5] - cmp r0, r1 - bne _080819A2 - adds r0, r4, 0x2 - adds r1, r5, 0x2 - bl StringCompare - cmp r0, 0 - bne _080819B0 - ldr r0, [r4, 0x8] - ldr r2, =0xffffff00 - ands r0, r2 - ldr r1, [r5, 0x8] - ands r1, r2 - cmp r0, r1 - bne _080819B0 - ldr r0, [r4, 0xC] - ldr r2, =0x00ffffff - ands r0, r2 - ldr r1, [r5, 0xC] - ands r1, r2 - cmp r0, r1 - bne _080819B0 -_080819A2: - movs r0, 0x1 - b _080819B2 - .pool -_080819B0: - movs r0, 0 -_080819B2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end help_system_is_not_first_time - - thumb_func_start sub_80819B8 -sub_80819B8: @ 80819B8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - mov r10, r0 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x10] - lsls r3, 24 - lsrs r3, 24 - mov r2, sp - movs r4, 0x5 -_080819D4: - ldrh r0, [r1] - strh r0, [r2] - adds r1, 0x2 - adds r2, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080819D4 - movs r6, 0 - mov r1, sp - movs r4, 0x4 -_080819E8: - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080819F2 - adds r6, 0x1 -_080819F2: - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080819E8 - cmp r6, 0x5 - beq _08081A46 - cmp r3, 0x3 - bhi _08081A46 - movs r4, 0 - ldr r3, [sp, 0x10] - cmp r4, r3 - bge _08081A5E - mov r3, r10 -_08081A0C: - movs r6, 0 - ldr r7, [sp, 0x10] - cmp r6, r7 - bge _08081A54 - mov r9, r3 - mov r5, r10 - lsls r0, r4, 24 - mov r8, r0 -_08081A1C: - mov r1, r9 - ldrh r0, [r1] - ldrh r2, [r5] - cmp r0, r2 - bne _08081A4A - cmp r4, r6 - beq _08081A4A - cmp r0, 0xAF - bne _08081A46 - lsls r2, r6, 24 - lsrs r2, 24 - mov r0, r10 - mov r7, r8 - lsrs r1, r7, 24 - str r3, [sp, 0xC] - bl help_system_is_not_first_time - lsls r0, 24 - ldr r3, [sp, 0xC] - cmp r0, 0 - beq _08081A4A -_08081A46: - movs r0, 0xC - b _08081B9E -_08081A4A: - adds r5, 0x10 - adds r6, 0x1 - ldr r0, [sp, 0x10] - cmp r6, r0 - blt _08081A1C -_08081A54: - adds r3, 0x10 - adds r4, 0x1 - ldr r1, [sp, 0x10] - cmp r4, r1 - blt _08081A0C -_08081A5E: - movs r2, 0 - mov r1, sp - movs r4, 0x4 -_08081A64: - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _08081A72 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 -_08081A72: - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _08081A64 - cmp r2, 0x3 - bls _08081A82 - movs r0, 0xD - b _08081B9E -_08081A82: - cmp r2, 0x3 - bne _08081A8A - movs r0, 0xB - b _08081B9E -_08081A8A: - movs r4, 0 - mov r1, sp -_08081A8E: - movs r7, 0 - ldrsh r0, [r1, r7] - cmp r0, 0x32 - ble _08081A98 - b _08081B98 -_08081A98: - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x4 - ble _08081A8E - cmp r2, 0x1 - bne _08081AEA - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - ble _08081AB2 - movs r0, 0x1 - b _08081B9E -_08081AB2: - mov r0, sp - ldrh r0, [r0, 0x2] - lsls r0, 16 - cmp r0, 0 - ble _08081AC0 - movs r0, 0x2 - b _08081B9E -_08081AC0: - mov r0, sp - movs r3, 0x4 - ldrsh r0, [r0, r3] - cmp r0, 0 - ble _08081ACE - movs r0, 0x3 - b _08081B9E -_08081ACE: - mov r0, sp - movs r4, 0x6 - ldrsh r0, [r0, r4] - cmp r0, 0 - ble _08081ADC - movs r0, 0x4 - b _08081B9E -_08081ADC: - mov r0, sp - movs r7, 0x8 - ldrsh r0, [r0, r7] - cmp r0, 0 - ble _08081AEA - movs r0, 0x5 - b _08081B9E -_08081AEA: - cmp r2, 0x2 - bne _08081B9C - movs r4, 0 - ldr r5, =gUnknown_03000DF8 - mov r1, sp - adds r2, r5, 0 -_08081AF6: - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _08081B02 - strh r4, [r2] - adds r2, 0x2 -_08081B02: - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x4 - ble _08081AF6 - movs r4, 0 - ldrsh r3, [r5, r4] - lsls r0, r3, 1 - mov r7, sp - adds r1, r7, r0 - movs r0, 0x2 - ldrsh r2, [r5, r0] - lsls r0, r2, 1 - add r0, sp - movs r4, 0 - ldrsh r1, [r1, r4] - movs r7, 0 - ldrsh r0, [r0, r7] - cmp r1, r0 - blt _08081B58 - adds r0, r3, 0 - cmp r0, 0 - bne _08081B38 - lsls r0, r2, 16 - b _08081B62 - .pool -_08081B38: - cmp r0, 0x1 - bne _08081B40 - lsls r0, r2, 16 - b _08081B6E -_08081B40: - cmp r0, 0x2 - bne _08081B48 - lsls r0, r2, 16 - b _08081B7A -_08081B48: - cmp r0, 0x3 - bne _08081B50 - lsls r0, r2, 16 - b _08081B86 -_08081B50: - cmp r0, 0x4 - bne _08081B9C - lsls r0, r2, 16 - b _08081B92 -_08081B58: - movs r2, 0x2 - ldrsh r0, [r5, r2] - cmp r0, 0 - bne _08081B68 - lsls r0, r3, 16 -_08081B62: - movs r1, 0x6 - orrs r0, r1 - b _08081B9E -_08081B68: - cmp r0, 0x1 - bne _08081B74 - lsls r0, r3, 16 -_08081B6E: - movs r1, 0x7 - orrs r0, r1 - b _08081B9E -_08081B74: - cmp r0, 0x2 - bne _08081B80 - lsls r0, r3, 16 -_08081B7A: - movs r1, 0x8 - orrs r0, r1 - b _08081B9E -_08081B80: - cmp r0, 0x3 - bne _08081B8C - lsls r0, r3, 16 -_08081B86: - movs r1, 0x9 - orrs r0, r1 - b _08081B9E -_08081B8C: - cmp r0, 0x4 - bne _08081B9C - lsls r0, r3, 16 -_08081B92: - movs r1, 0xA - orrs r0, r1 - b _08081B9E -_08081B98: - movs r0, 0xE - b _08081B9E -_08081B9C: - movs r0, 0 -_08081B9E: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80819B8 - - thumb_func_start sub_8081BB0 -sub_8081BB0: @ 8081BB0 - ldr r1, =gUnknown_03000E04 - strh r0, [r1] - bx lr - .pool - thumb_func_end sub_8081BB0 - - thumb_func_start sub_8081BBC -sub_8081BBC: @ 8081BBC - ldr r0, =gUnknown_03000E04 - movs r1, 0 - ldrsh r0, [r0, r1] - bx lr - .pool - thumb_func_end sub_8081BBC - - thumb_func_start sub_8081BC8 -sub_8081BC8: @ 8081BC8 - ldr r1, =gUnknown_03000E06 - strh r0, [r1] - bx lr - .pool - thumb_func_end sub_8081BC8 - - thumb_func_start sub_8081BD4 -sub_8081BD4: @ 8081BD4 - ldr r0, =gUnknown_03000E06 - movs r1, 0 - ldrsh r0, [r0, r1] - bx lr - .pool - thumb_func_end sub_8081BD4 - - thumb_func_start sub_8081BE0 -sub_8081BE0: @ 8081BE0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - str r0, [sp] - mov r8, r1 - str r3, [sp, 0x4] - ldr r0, [sp, 0x30] - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x8] - ldr r7, =gUnknown_03000DE8 - adds r2, r7, 0 - movs r1, 0 - adds r0, r7, 0 - adds r0, 0xA -_08081C0A: - strh r1, [r0] - subs r0, 0x2 - cmp r0, r2 - bge _08081C0A - movs r6, 0 - cmp r6, r9 - bge _08081C40 - ldr r0, =gUnknown_03000DE8 - mov r12, r0 - ldr r5, [sp] - adds r5, 0x9 -_08081C20: - movs r3, 0 - adds r4, r5, 0 - mov r2, r12 -_08081C26: - adds r1, r4, r3 - ldrh r0, [r2] - ldrb r1, [r1] - adds r0, r1 - strh r0, [r2] - adds r2, 0x2 - adds r3, 0x1 - cmp r3, 0x5 - ble _08081C26 - adds r5, 0x10 - adds r6, 0x1 - cmp r6, r9 - blt _08081C20 -_08081C40: - movs r1, 0 - ldrsh r3, [r7, r1] - ldrh r0, [r7] - ldrh r1, [r7, 0x2] - subs r0, r1 - strh r0, [r7] - ldrh r0, [r7, 0x4] - subs r1, r0 - strh r1, [r7, 0x2] - ldrh r1, [r7, 0x6] - subs r0, r1 - strh r0, [r7, 0x4] - ldrh r0, [r7, 0x8] - subs r1, r0 - strh r1, [r7, 0x6] - subs r0, r3 - strh r0, [r7, 0x8] - movs r3, 0 - movs r2, 0 - adds r1, r7, 0 - movs r6, 0x4 -_08081C6A: - movs r4, 0 - ldrsh r0, [r1, r4] - cmp r0, 0 - bge _08081C76 - strh r2, [r1] - adds r3, 0x1 -_08081C76: - adds r1, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _08081C6A - lsls r0, r3, 24 - lsrs r0, 24 - mov r10, r0 - movs r4, 0 - ldr r1, =gUnknown_03000DE8 - movs r6, 0x4 -_08081C8A: - ldrh r2, [r1] - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r0, 0 - ble _08081CA4 - cmp r0, r3 - bge _08081CA0 - strh r4, [r1] - b _08081CA4 - .pool -_08081CA0: - subs r0, r2, r3 - strh r0, [r1] -_08081CA4: - adds r1, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _08081C8A - ldr r1, =gUnknown_03000DE8 - ldr r2, =gUnknown_020322A8 - movs r6, 0x4 -_08081CB2: - movs r3, 0 - ldrsh r0, [r1, r3] - stm r2!, {r0} - adds r1, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _08081CB2 - ldr r1, =0x0000014d - ldr r0, [sp, 0x8] - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - adds r3, r0, 0 - adds r3, 0x64 - ldr r4, =gUnknown_020322D0 - str r3, [r4] - movs r6, 0x4 -_08081CD6: - movs r0, 0 - ldrsh r5, [r7, r0] - adds r0, r5, 0 - muls r0, r3 - movs r1, 0xA - str r3, [sp, 0xC] - bl __divsi3 - adds r5, r0, 0 - movs r1, 0xA - bl __modsi3 - adds r4, r0, 0 - adds r0, r5, 0 - movs r1, 0xA - bl __divsi3 - adds r5, r0, 0 - ldr r3, [sp, 0xC] - cmp r4, 0x4 - ble _08081D02 - adds r5, 0x1 -_08081D02: - strh r5, [r7] - adds r7, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _08081CD6 - ldr r1, =gUnknown_03000DE8 - ldr r2, =gUnknown_020322BC - movs r6, 0x4 -_08081D12: - movs r3, 0 - ldrsh r0, [r1, r3] - stm r2!, {r0} - adds r1, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _08081D12 - ldr r4, =gUnknown_03000DE8 - ldr r0, [sp] - adds r1, r4, 0 - mov r2, r9 - mov r3, r10 - bl sub_80819B8 - mov r5, r8 - strb r0, [r5] - movs r1, 0xA - ldrsh r0, [r4, r1] - mov r1, r9 - bl __divsi3 - mov r3, r9 - subs r0, r3 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bge _08081D4C - movs r0, 0 - strh r0, [r4, 0xA] -_08081D4C: - mov r5, r8 - ldrb r0, [r5] - cmp r0, 0xC - bne _08081DA6 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - lsrs r3, r0, 16 - movs r6, 0 - ldr r0, =gUnknown_08339CC8 - adds r0, r3, r0 - ldrb r0, [r0] - adds r1, r4, 0 - movs r4, 0x1 - movs r3, 0x2 -_08081D74: - adds r2, r0, 0 - asrs r2, r6 - ands r2, r4 - cmp r2, 0 - beq _08081D9C - strh r3, [r1] - b _08081D9E - .pool -_08081D9C: - strh r2, [r1] -_08081D9E: - adds r1, 0x2 - adds r6, 0x1 - cmp r6, 0x4 - ble _08081D74 -_08081DA6: - ldr r7, =gUnknown_03000DE8 - movs r2, 0xFF - adds r1, r7, 0 - movs r6, 0x5 -_08081DAE: - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0xFF - ble _08081DB8 - strh r2, [r1] -_08081DB8: - adds r1, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _08081DAE - ldrh r0, [r7] - mov r4, r8 - strb r0, [r4, 0x1] - ldrh r0, [r7, 0x2] - strb r0, [r4, 0x2] - ldrh r0, [r7, 0x4] - strb r0, [r4, 0x3] - ldrh r0, [r7, 0x6] - strb r0, [r4, 0x4] - ldrh r0, [r7, 0x8] - strb r0, [r4, 0x5] - ldrh r0, [r7, 0xA] - strb r0, [r4, 0x6] - movs r6, 0 - adds r2, r7, 0 -_08081DDE: - ldr r5, [sp, 0x4] - adds r1, r5, r6 - ldrh r0, [r2] - strb r0, [r1] - adds r2, 0x2 - adds r6, 0x1 - cmp r6, 0x5 - ble _08081DDE - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8081BE0 - - thumb_func_start sub_8081E04 -sub_8081E04: @ 8081E04 - push {r4,lr} - sub sp, 0x4 - ldr r4, [sp, 0xC] - lsls r2, 24 - lsrs r2, 24 - lsls r4, 16 - lsrs r4, 16 - str r4, [sp] - bl sub_8081BE0 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8081E04 - - thumb_func_start sub_8081E20 -sub_8081E20: @ 8081E20 - push {r4-r6,lr} - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - movs r2, 0x82 - lsls r2, 1 - adds r1, r0, r2 - ldrh r1, [r1] - adds r0, 0x4E - ldrh r4, [r0] - movs r2, 0 - ldr r5, =0x00000383 - cmp r1, r5 - bhi _08081E48 - movs r2, 0x5 - b _08081E9A - .pool -_08081E48: - ldr r3, =0xfffffc7c - adds r0, r1, r3 - lsls r0, 16 - lsrs r0, 16 - ldr r3, =0x00000257 - cmp r0, r3 - bhi _08081E64 - movs r2, 0x4 - b _08081E9A - .pool -_08081E64: - ldr r6, =0xfffffa24 - adds r0, r1, r6 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r3 - bhi _08081E78 - movs r2, 0x3 - b _08081E9A - .pool -_08081E78: - ldr r3, =0xfffff7cc - adds r0, r1, r3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r5 - bhi _08081E8C - movs r2, 0x2 - b _08081E9A - .pool -_08081E8C: - ldr r6, =0xfffff31c - adds r0, r1, r6 - lsls r0, 16 - ldr r1, =0x012b0000 - cmp r0, r1 - bhi _08081E9A - movs r2, 0x1 -_08081E9A: - lsls r0, r2, 16 - asrs r0, 16 - bl sub_8081BC8 - movs r2, 0 - cmp r4, 0x40 - bhi _08081F7C - adds r0, r4, 0 - subs r0, 0x32 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08081EC4 - ldr r2, =0x0000ffff - b _08081F7C - .pool -_08081EC4: - adds r0, r4, 0 - subs r0, 0x64 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08081ED8 - ldr r2, =0x0000fffe - b _08081F7C - .pool -_08081ED8: - adds r0, r4, 0 - subs r0, 0x96 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08081EEC - ldr r2, =0x0000fffd - b _08081F7C - .pool -_08081EEC: - adds r0, r4, 0 - subs r0, 0xC8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08081F00 - ldr r2, =0x0000fffc - b _08081F7C - .pool -_08081F00: - adds r0, r4, 0 - subs r0, 0xFA - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08081F14 - ldr r2, =0x0000fffb - b _08081F7C - .pool -_08081F14: - ldr r1, =0xfffffea2 - adds r0, r4, r1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08081F2C - ldr r2, =0x0000fffa - b _08081F7C - .pool -_08081F2C: - ldr r3, =0xfffffe70 - adds r0, r4, r3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08081F44 - ldr r2, =0x0000fff9 - b _08081F7C - .pool -_08081F44: - ldr r6, =0xfffffe0c - adds r0, r4, r6 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08081F5C - ldr r2, =0x0000fff8 - b _08081F7C - .pool -_08081F5C: - ldr r1, =0xfffffdda - adds r0, r4, r1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bhi _08081F74 - ldr r2, =0x0000fff7 - b _08081F7C - .pool -_08081F74: - ldr r0, =0x00000257 - cmp r4, r0 - bls _08081F7C - ldr r2, =0x0000fff6 -_08081F7C: - lsls r0, r2, 16 - asrs r0, 16 - bl sub_8081BB0 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8081E20 - - thumb_func_start sub_8081F94 -sub_8081F94: @ 8081F94 - push {lr} - adds r1, r0, 0 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08081FB8 - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - beq _08081FB8 - movs r2, 0xBC - lsls r2, 6 - b _08081FBA - .pool -_08081FB8: - ldr r2, =0x00002fff -_08081FBA: - adds r0, r2, 0 - strh r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8081F94 - - thumb_func_start sub_8081FC8 -sub_8081FC8: @ 8081FC8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - adds r0, 0x63 - ldrb r0, [r0] - cmp r0, 0x2 - bhi _08081FDE - bl sub_8082D28 -_08081FDE: - bl GetMultiplayerId - ldr r0, [r4] - adds r0, 0x63 - ldrb r0, [r0] - subs r0, 0x1 - cmp r0, 0xC - bls _08081FF0 - b _0808249E -_08081FF0: - lsls r0, 2 - ldr r1, =_08082004 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08082004: - .4byte _08082038 - .4byte _08082078 - .4byte _080820D4 - .4byte _080821C8 - .4byte _08082278 - .4byte _08082286 - .4byte _080822B0 - .4byte _08082458 - .4byte _080822E4 - .4byte _08082308 - .4byte _080823B0 - .4byte _08082430 - .4byte _0808246C -_08082038: - ldr r0, =gMPlay_BGM - movs r1, 0x80 - lsls r1, 1 - bl m4aMPlayTempoControl - movs r4, 0 - b _08082064 - .pool -_0808204C: - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - movs r1, 0x90 - lsls r1, 1 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - bl DestroyTask - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_08082064: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r4, r0 - bcc _0808204C - b _08082458 - .pool -_08082078: - ldr r4, =gUnknown_020322A4 - ldr r1, [r4] - adds r1, 0x4C - ldrh r0, [r1] - subs r0, 0x20 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bgt _080820C6 - bl sub_8009F8C - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0x4C - movs r0, 0 - strh r0, [r1] - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _080820B0 - adds r1, 0x17 - ldrb r0, [r1] - adds r0, 0x1 - b _080820B6 - .pool -_080820B0: - adds r1, r2, 0 - adds r1, 0x63 - movs r0, 0x5 -_080820B6: - strb r0, [r1] - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1] - ldr r0, =gMPlay_SE2 - bl m4aMPlayStop -_080820C6: - bl sub_807F738 - b _0808249E - .pool -_080820D4: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _080820E0 - b _08082458 -_080820E0: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - bne _080820EC - b _0808249E -_080820EC: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0808218C - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - beq _0808218C - ldr r3, =gUnknown_020322A4 - ldr r1, [r3] - movs r4, 0x8E - lsls r4, 5 - adds r2, r1, r4 - movs r5, 0x82 - lsls r5, 1 - adds r0, r1, r5 - ldr r0, [r0] - str r0, [r2] - adds r0, r1, 0 - adds r0, 0x4E - ldrh r0, [r0] - ldr r2, =0x000011c4 - adds r1, r2 - strh r0, [r1] - movs r4, 0 - mov r8, r3 - mov r12, r8 - ldr r7, =0x000011c8 - movs r6, 0x92 - lsls r6, 1 -_08082128: - movs r3, 0 - adds r5, r4, 0x1 - lsls r0, r4, 1 - adds r0, r4 - lsls r4, r0, 1 -_08082132: - mov r1, r12 - ldr r0, [r1] - lsls r1, r3, 1 - adds r1, r4 - adds r2, r0, r7 - adds r2, r1 - adds r0, r6 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x2 - bls _08082132 - lsls r0, r5, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _08082128 - mov r2, r8 - ldr r1, [r2] - movs r4, 0x8E - lsls r4, 5 - adds r1, r4 - movs r0, 0 - movs r2, 0x20 - bl SendBlock - lsls r0, 24 - cmp r0, 0 - bne _08082172 - b _0808249E -_08082172: - mov r5, r8 - ldr r1, [r5] - b _0808245C - .pool -_0808218C: - ldr r4, =gUnknown_020322A4 - ldr r3, [r4] - movs r0, 0xCC - lsls r0, 1 - adds r1, r3, r0 - movs r2, 0x82 - lsls r2, 1 - adds r0, r3, r2 - ldr r0, [r0] - str r0, [r1] - adds r0, r3, 0 - adds r0, 0x4E - ldrh r2, [r0] - movs r5, 0xCE - lsls r5, 1 - adds r0, r3, r5 - strh r2, [r0] - movs r0, 0 - movs r2, 0x28 - bl SendBlock - lsls r0, 24 - cmp r0, 0 - bne _080821BE - b _0808249E -_080821BE: - ldr r1, [r4] - b _0808245C - .pool -_080821C8: - bl GetBlockReceivedStatus - lsls r0, 24 - cmp r0, 0 - bne _080821D4 - b _0808249E -_080821D4: - bl ResetBlockReceivedFlags - ldr r5, =gUnknown_020322A4 - ldr r1, [r5] - adds r1, 0x63 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08082254 - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - beq _08082254 - ldr r2, =gBlockRecvBuffer - ldr r3, [r5] - ldrh r0, [r2, 0x4] - adds r1, r3, 0 - adds r1, 0x4E - strh r0, [r1] - movs r0, 0x82 - lsls r0, 1 - adds r1, r3, r0 - ldr r0, [r2] - str r0, [r1] - movs r4, 0 - adds r7, r2, 0 - adds r7, 0x8 - adds r6, r5, 0 - movs r2, 0x92 - lsls r2, 1 -_08082216: - movs r3, 0 - adds r5, r4, 0x1 - lsls r0, r4, 1 - adds r0, r4 - lsls r4, r0, 1 -_08082220: - ldr r1, [r6] - lsls r0, r3, 1 - adds r0, r4 - adds r1, r2 - adds r1, r0 - adds r0, r7, r0 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x2 - bls _08082220 - lsls r0, r5, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _08082216 - b _0808249E - .pool -_08082254: - ldr r2, =gBlockRecvBuffer - ldr r0, =gUnknown_020322A4 - ldr r3, [r0] - ldrh r0, [r2, 0x4] - adds r1, r3, 0 - adds r1, 0x4E - strh r0, [r1] - movs r4, 0x82 - lsls r4, 1 - adds r1, r3, r4 - ldr r0, [r2] - str r0, [r1] - b _0808249E - .pool -_08082278: - bl sub_8083B08 - lsls r0, 24 - cmp r0, 0 - bne _08082284 - b _0808249E -_08082284: - b _08082458 -_08082286: - bl berry_blender_related - lsls r0, 24 - cmp r0, 0 - bne _08082292 - b _0808249E -_08082292: - ldr r0, =gUnknown_03005D98 - ldrb r0, [r0] - cmp r0, 0 - bne _080822A8 - movs r0, 0x22 - bl IncrementGameStat - b _08082458 - .pool -_080822A8: - movs r0, 0x21 - bl IncrementGameStat - b _08082458 -_080822B0: - ldr r6, =gUnknown_020322A4 - ldr r4, [r6] - ldr r5, =0x000011b8 - adds r4, r5 - ldr r5, =gUnknown_08339831 - bl sav2_get_text_speed - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_808417C - cmp r0, 0 - bne _080822D2 - b _0808249E -_080822D2: - ldr r1, [r6] - b _0808245C - .pool -_080822E4: - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - adds r0, 0x9E - movs r1, 0 - strb r1, [r0] - ldr r0, =gUnknown_083399B8 - movs r1, 0x1 - movs r2, 0xD - movs r3, 0 - bl CreateYesNoMenu - ldr r1, [r4] - b _0808245C - .pool -_08082308: - bl sub_8198C58 - lsls r0, 24 - asrs r2, r0, 24 - cmp r2, 0 - beq _0808236C - cmp r2, 0 - bgt _08082322 - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - beq _08082328 - b _0808249E -_08082322: - cmp r2, 0x1 - beq _08082328 - b _0808249E -_08082328: - ldr r2, =gUnknown_020322A4 - ldr r0, [r2] - adds r0, 0x9E - movs r1, 0x1 - strb r1, [r0] - ldr r1, [r2] - adds r1, 0x63 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r4, 0 -_0808233E: - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x8E - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0xFF - beq _0808235C - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram -_0808235C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _0808233E - b _0808249E - .pool -_0808236C: - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - adds r0, 0x9E - strb r2, [r0] - ldr r1, [r1] - adds r1, 0x63 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r4, 0 -_08082380: - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x8E - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0xFF - beq _0808239E - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram -_0808239E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _08082380 - b _0808249E - .pool -_080823B0: - ldr r6, =gUnknown_03003110 - adds r0, r6, 0 - bl sub_8081F94 - ldr r4, =gUnknown_020322A4 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x9E - ldrb r5, [r0] - cmp r5, 0 - bne _0808241C - movs r0, 0x4 - bl IsBagPocketNonEmpty - lsls r0, 24 - cmp r0, 0 - bne _080823EC - ldr r0, [r4] - adds r0, 0x70 - movs r1, 0x2 - strh r1, [r0] - ldr r0, =0x00009999 - b _08082414 - .pool -_080823EC: - bl sub_8136EF4 - lsls r0, 24 - asrs r0, 24 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0808240C - ldr r0, [r4] - adds r0, 0x70 - movs r1, 0x3 - strh r1, [r0] - ldr r0, =0x0000aaaa - b _08082414 - .pool -_0808240C: - ldr r0, [r4] - adds r0, 0x70 - strh r5, [r0] - ldr r0, =0x00007779 -_08082414: - strh r0, [r6, 0x2] - b _08082458 - .pool -_0808241C: - adds r1, r2, 0 - adds r1, 0x70 - movs r0, 0x1 - strh r0, [r1] - ldr r0, =0x00008888 - strh r0, [r6, 0x2] - subs r1, 0xD - b _0808245E - .pool -_08082430: - ldr r0, =gUnknown_03005D98 - ldrb r0, [r0] - cmp r0, 0 - beq _08082458 - ldr r0, =sub_8082924 - bl SetMainCallback2 - ldr r2, =gUnknown_020322A4 - ldr r0, [r2] - adds r0, 0x63 - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - b _0808249C - .pool -_08082458: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] -_0808245C: - adds r1, 0x63 -_0808245E: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0808249E - .pool -_0808246C: - ldr r6, =gUnknown_020322A4 - ldr r4, [r6] - ldr r0, =0x000011b8 - adds r4, r0 - ldr r5, =gUnknown_0833981A - bl sav2_get_text_speed - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_808417C - cmp r0, 0 - beq _0808249E - ldr r0, =sub_8082644 - bl SetMainCallback2 - ldr r0, [r6] - adds r0, 0x63 - movs r1, 0 - strb r1, [r0] - ldr r0, [r6] -_0808249C: - strb r1, [r0] -_0808249E: - bl sub_808330C - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - adds r0, 0x4C - ldrh r0, [r0] - bl sub_8083230 - bl sub_8082AD4 - ldr r1, [r4] - movs r2, 0x8E - lsls r2, 1 - adds r0, r1, r2 - movs r4, 0 - ldrsh r0, [r0, r4] - movs r5, 0x8F - lsls r5, 1 - adds r1, r5 - movs r2, 0 - ldrsh r1, [r1, r2] - bl nullsub_31 - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8081FC8 - - thumb_func_start sub_80824FC -sub_80824FC: @ 80824FC - push {r4,lr} - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - movs r2, 0xD0 - lsls r2, 1 - adds r0, r2 - ldr r0, [r0] - adds r4, r1, 0 - cmp r0, 0x6 - bls _08082512 - b _0808263C -_08082512: - lsls r0, 2 - ldr r1, =_08082524 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08082524: - .4byte _08082540 - .4byte _08082558 - .4byte _08082584 - .4byte _08082594 - .4byte _080825BA - .4byte _08082600 - .4byte _0808261A -_08082540: - bl sub_800ADF8 - ldr r0, =gUnknown_020322A4 - ldr r2, [r0] - movs r3, 0xD0 - lsls r3, 1 - adds r1, r2, r3 - movs r0, 0x1 - b _0808260C - .pool -_08082558: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _0808263C - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - movs r2, 0xD0 - lsls r2, 1 - adds r1, r2 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r1, =gSoftResetDisabled - movs r0, 0x1 - strb r0, [r1] - b _0808263C - .pool -_08082584: - bl sub_8153430 - ldr r0, =gUnknown_020322A4 - ldr r2, [r0] - b _08082602 - .pool -_08082594: - ldr r1, [r4] - movs r2, 0x84 - lsls r2, 1 - adds r1, r2 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0xA - bne _0808263C - bl sub_800ADF8 - ldr r1, [r4] - movs r3, 0xD0 - lsls r3, 1 - adds r1, r3 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - b _0808263C -_080825BA: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _0808263C - bl sub_8153474 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _080825E4 - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - movs r1, 0xD0 - lsls r1, 1 - adds r0, r1 - movs r1, 0x5 - str r1, [r0] - b _0808263C - .pool -_080825E4: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - movs r3, 0x84 - lsls r3, 1 - adds r0, r1, r3 - str r2, [r0] - movs r0, 0xD0 - lsls r0, 1 - adds r1, r0 - movs r0, 0x3 - str r0, [r1] - b _0808263C - .pool -_08082600: - ldr r2, [r4] -_08082602: - movs r3, 0xD0 - lsls r3, 1 - adds r1, r2, r3 - ldr r0, [r1] - adds r0, 0x1 -_0808260C: - str r0, [r1] - movs r0, 0x84 - lsls r0, 1 - adds r1, r2, r0 - movs r0, 0 - str r0, [r1] - b _0808263C -_0808261A: - ldr r1, [r4] - movs r2, 0x84 - lsls r2, 1 - adds r1, r2 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x5 - ble _0808263C - ldr r1, =gSoftResetDisabled - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - b _0808263E - .pool -_0808263C: - movs r0, 0 -_0808263E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80824FC - - thumb_func_start sub_8082644 -sub_8082644: @ 8082644 - push {r4-r6,lr} - sub sp, 0x4 - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - adds r0, 0x63 - ldrb r0, [r0] - adds r6, r1, 0 - cmp r0, 0xC - bls _08082658 - b _080828DC -_08082658: - lsls r0, 2 - ldr r1, =_0808266C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0808266C: - .4byte _080826A0 - .4byte _080826EC - .4byte _0808271C - .4byte _08082754 - .4byte _0808278C - .4byte _080827AA - .4byte _080827C8 - .4byte _080827FC - .4byte _08082818 - .4byte _08082828 - .4byte _0808284C - .4byte _080828A4 - .4byte _080828C6 -_080826A0: - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x64 - ldrh r2, [r0] - ldr r0, =0x00002222 - cmp r2, r0 - bne _080826B0 - b _080827A2 -_080826B0: - ldr r0, =0x00001111 - cmp r2, r0 - beq _080826B8 - b _080828DC -_080826B8: - adds r0, r1, 0 - adds r0, 0x6C - ldrh r2, [r0] - ldr r0, =0x00009999 - cmp r2, r0 - bne _080826D8 - adds r1, 0x63 - movs r0, 0x2 - strb r0, [r1] - b _080828DC - .pool -_080826D8: - ldr r0, =0x0000aaaa - cmp r2, r0 - bne _080827A2 - adds r1, 0x63 - movs r0, 0x1 - strb r0, [r1] - b _080828DC - .pool -_080826EC: - ldr r0, [r6] - adds r0, 0x63 - movs r1, 0x3 - strb r1, [r0] - ldr r4, =gStringVar4 - ldr r0, [r6] - adds r0, 0x6E - ldrh r0, [r0] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r0, =gLinkPlayers + 8 - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - ldr r1, =gUnknown_083398DD - b _08082740 - .pool -_0808271C: - ldr r1, [r6] - adds r1, 0x63 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r4, =gStringVar4 - ldr r0, [r6] - adds r0, 0x6E - ldrh r0, [r0] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r0, =gLinkPlayers + 8 - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - ldr r1, =gUnknown_083398B0 -_08082740: - adds r0, r4, 0 - bl StringAppend - b _080828DC - .pool -_08082754: - ldr r4, [r6] - ldr r0, =0x000011b8 - adds r4, r0 - ldr r5, =gStringVar4 - bl sav2_get_text_speed - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_808417C - cmp r0, 0 - bne _08082774 - b _080828DC -_08082774: - ldr r1, [r6] - movs r0, 0x84 - lsls r0, 1 - adds r2, r1, r0 - movs r0, 0 - str r0, [r2] - b _080828BC - .pool -_0808278C: - ldr r4, [r6] - movs r2, 0x84 - lsls r2, 1 - adds r1, r4, r2 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x3C - bgt _080827A0 - b _080828DC -_080827A0: - adds r1, r4, 0 -_080827A2: - adds r1, 0x63 - movs r0, 0x5 - strb r0, [r1] - b _080828DC -_080827AA: - ldr r0, [r6] - ldr r1, =0x000011b8 - adds r0, r1 - ldr r1, =gText_SavingDontTurnOff2 - movs r2, 0 - bl sub_808417C - bl sub_800ADF8 - b _080828BA - .pool -_080827C8: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - bne _080827D4 - b _080828DC -_080827D4: - ldr r3, =gUnknown_020322A4 - ldr r1, [r3] - movs r2, 0x84 - lsls r2, 1 - adds r0, r1, r2 - movs r2, 0 - str r2, [r0] - adds r1, 0x63 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r3] - movs r1, 0xD0 - lsls r1, 1 - adds r0, r1 - str r2, [r0] - b _080828DC - .pool -_080827FC: - bl sub_80824FC - lsls r0, 24 - cmp r0, 0 - beq _080828DC - movs r0, 0x37 - bl PlaySE - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - b _080828BC - .pool -_08082818: - ldr r1, [r6] - adds r1, 0x63 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_800ADF8 - b _080828DC -_08082828: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080828DC - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - b _080828BC - .pool -_0808284C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080828DC - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0x64 - ldrh r1, [r0] - ldr r0, =0x00002222 - cmp r1, r0 - bne _08082898 - bl FreeAllWindowBuffers - movs r0, 0x2 - bl UnsetBgTilemapBuffer - movs r0, 0x1 - bl UnsetBgTilemapBuffer - ldr r0, [r6] - bl Free - str r4, [r6] - ldr r0, =sub_807FA80 - bl SetMainCallback2 - b _080828DC - .pool -_08082898: - movs r1, 0x84 - lsls r1, 1 - adds r0, r2, r1 - str r4, [r0] - adds r1, r2, 0 - b _080828BC -_080828A4: - ldr r1, [r6] - movs r2, 0x84 - lsls r2, 1 - adds r1, r2 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x1E - ble _080828DC - bl sub_800AC34 -_080828BA: - ldr r1, [r6] -_080828BC: - adds r1, 0x63 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080828DC -_080828C6: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r4, [r0] - cmp r4, 0 - bne _080828DC - ldr r0, [r6] - bl Free - str r4, [r6] - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 -_080828DC: - bl sub_8082AD4 - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - movs r2, 0x8E - lsls r2, 1 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0x8F - lsls r2, 1 - adds r1, r2 - movs r2, 0 - ldrsh r1, [r1, r2] - bl nullsub_31 - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8082644 - - thumb_func_start sub_8082924 -sub_8082924: @ 8082924 - push {r4-r6,lr} - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - adds r0, 0x63 - ldrb r0, [r0] - adds r6, r1, 0 - cmp r0, 0xA - bls _08082936 - b _08082A92 -_08082936: - lsls r0, 2 - ldr r1, =_08082948 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08082948: - .4byte _08082974 - .4byte _080829AA - .4byte _080829D4 - .4byte _08082A00 - .4byte _08082A92 - .4byte _08082A92 - .4byte _08082A92 - .4byte _08082A92 - .4byte _08082A92 - .4byte _08082A30 - .4byte _08082A48 -_08082974: - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x70 - ldrh r0, [r0] - cmp r0, 0x1 - bhi _08082986 - adds r1, 0x63 - movs r0, 0x9 - strb r0, [r1] -_08082986: - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0x70 - ldrh r1, [r0] - cmp r1, 0x2 - bne _08082996 - subs r0, 0xD - strb r1, [r0] -_08082996: - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x70 - ldrh r0, [r0] - cmp r0, 0x3 - bne _08082A92 - adds r1, 0x63 - movs r0, 0x1 - strb r0, [r1] - b _08082A92 -_080829AA: - ldr r0, [r6] - adds r0, 0x63 - movs r2, 0 - movs r1, 0x3 - strb r1, [r0] - ldr r0, [r6] - ldr r1, =0x000011b8 - adds r0, r1 - strh r2, [r0] - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08339896 - bl StringCopy - b _08082A92 - .pool -_080829D4: - ldr r1, [r6] - adds r1, 0x63 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, [r6] - ldr r1, =0x000011b8 - adds r0, r1 - strh r2, [r0] - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08339858 - bl StringCopy - b _08082A92 - .pool -_08082A00: - ldr r4, [r6] - ldr r2, =0x000011b8 - adds r4, r2 - ldr r5, =gStringVar4 - bl sav2_get_text_speed - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_808417C - cmp r0, 0 - beq _08082A92 - ldr r0, [r6] - adds r0, 0x63 - movs r1, 0x9 - strb r1, [r0] - b _08082A92 - .pool -_08082A30: - movs r0, 0x3 - bl BeginFastPaletteFade - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - adds r1, 0x63 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08082A92 - .pool -_08082A48: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08082A92 - ldr r0, [r6] - adds r0, 0x70 - ldrh r0, [r0] - cmp r0, 0 - bne _08082A70 - ldr r0, =sub_807FA80 - bl SetMainCallback2 - b _08082A76 - .pool -_08082A70: - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 -_08082A76: - bl FreeAllWindowBuffers - movs r0, 0x2 - bl UnsetBgTilemapBuffer - movs r0, 0x1 - bl UnsetBgTilemapBuffer - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] -_08082A92: - bl sub_8082AD4 - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - movs r2, 0x8E - lsls r2, 1 - adds r0, r1, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0x8F - lsls r2, 1 - adds r1, r2 - movs r2, 0 - ldrsh r1, [r1, r2] - bl nullsub_31 - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8082924 - - thumb_func_start sub_8082AD4 -sub_8082AD4: @ 8082AD4 - push {r4-r7,lr} - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08082AE0 - b _08082CA4 -_08082AE0: - ldr r4, =gUnknown_03003090 - ldrh r0, [r4] - ldr r1, =0x00002fff - movs r2, 0xBC - lsls r2, 6 - bl sub_80814B0 - cmp r0, 0 - beq _08082B66 - ldrh r1, [r4, 0x2] - ldr r0, =0x00001111 - cmp r1, r0 - bne _08082B58 - ldrh r3, [r4, 0x4] - ldr r0, =0x00009999 - cmp r3, r0 - beq _08082B38 - cmp r3, r0 - bgt _08082B24 - ldr r0, =0x00008888 - b _08082B26 - .pool -_08082B24: - ldr r0, =0x0000aaaa -_08082B26: - cmp r3, r0 - beq _08082B38 - ldr r2, =gUnknown_020322A4 - b _08082B48 - .pool -_08082B38: - ldr r2, =gUnknown_020322A4 - ldr r0, [r2] - adds r1, r0, 0 - adds r1, 0x6C - strh r3, [r1] - ldrh r1, [r4, 0x6] - adds r0, 0x6E - strh r1, [r0] -_08082B48: - ldr r0, [r2] - adds r0, 0x64 - ldr r1, =0x00001111 - b _08082B64 - .pool -_08082B58: - ldr r0, =0x00002222 - cmp r1, r0 - bne _08082B66 - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - adds r0, 0x64 -_08082B64: - strh r1, [r0] -_08082B66: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _08082B72 - b _08082CA4 -_08082B72: - ldr r2, =gUnknown_020322A4 - ldr r0, [r2] - adds r0, 0x64 - ldrh r1, [r0] - ldr r0, =0x00001111 - cmp r1, r0 - bne _08082B82 - b _08082CA4 -_08082B82: - ldr r0, =0x00002222 - cmp r1, r0 - bne _08082B8A - b _08082CA4 -_08082B8A: - movs r5, 0 - adds r7, r2, 0 - b _08082BF4 - .pool -_08082B9C: - ldr r6, =gUnknown_03003090 - lsls r4, r5, 4 - adds r0, r4, r6 - ldrh r0, [r0] - ldr r1, =0x00002fff - movs r2, 0xBC - lsls r2, 6 - bl sub_80814B0 - cmp r0, 0 - beq _08082BEE - adds r0, r6, 0x2 - adds r0, r4, r0 - ldrh r2, [r0] - ldr r0, =0x00008888 - cmp r2, r0 - beq _08082BE4 - cmp r2, r0 - bgt _08082BD8 - ldr r0, =0x00007779 - b _08082BE0 - .pool -_08082BD8: - ldr r0, =0x00009999 - cmp r2, r0 - beq _08082BE4 - ldr r0, =0x0000aaaa -_08082BE0: - cmp r2, r0 - bne _08082BEE -_08082BE4: - ldr r0, [r7] - lsls r1, r5, 1 - adds r0, 0x64 - adds r0, r1 - strh r2, [r0] -_08082BEE: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_08082BF4: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bcc _08082B9C - movs r5, 0 - b _08082C12 - .pool -_08082C0C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_08082C12: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bcs _08082C2E - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - lsls r1, r5, 1 - adds r0, 0x64 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - bne _08082C0C -_08082C2E: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bne _08082CA4 - movs r5, 0 - ldr r4, =0x00007779 - b _08082C4E - .pool -_08082C48: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_08082C4E: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bcs _08082C6A - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - lsls r1, r5, 1 - adds r0, 0x64 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r4 - beq _08082C48 -_08082C6A: - ldr r4, =gUnknown_03003110 - adds r0, r4, 0 - bl sub_8081F94 - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bne _08082C90 - ldr r0, =0x00002222 - strh r0, [r4, 0x2] - b _08082CA4 - .pool -_08082C90: - ldr r0, =0x00001111 - strh r0, [r4, 0x2] - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - lsls r1, r5, 1 - adds r0, 0x64 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r4, 0x4] - strh r5, [r4, 0x6] -_08082CA4: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8082AD4 - - thumb_func_start sub_8082CB4 -sub_8082CB4: @ 8082CB4 - push {r4,lr} - sub sp, 0x14 - movs r1, 0xF0 - lsls r1, 7 - str r1, [sp] - movs r1, 0xA0 - lsls r1, 7 - str r1, [sp, 0x4] - mov r3, sp - ldr r1, =gUnknown_020322A4 - ldr r1, [r1] - mov r12, r1 - movs r1, 0x8E - lsls r1, 1 - add r1, r12 - ldrh r2, [r1] - movs r1, 0x78 - subs r1, r2 - strh r1, [r3, 0x8] - movs r1, 0x8F - lsls r1, 1 - add r1, r12 - ldrh r2, [r1] - movs r1, 0x50 - subs r1, r2 - strh r1, [r3, 0xA] - mov r2, sp - movs r3, 0x8D - lsls r3, 1 - add r3, r12 - ldrh r1, [r3] - strh r1, [r2, 0xC] - ldrh r1, [r3] - strh r1, [r2, 0xE] - mov r1, r12 - adds r1, 0x4A - ldrh r1, [r1] - strh r1, [r2, 0x10] - mov r1, sp - ldm r1!, {r2-r4} - stm r0!, {r2-r4} - ldm r1!, {r2,r3} - stm r0!, {r2,r3} - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8082CB4 - - thumb_func_start sub_8082D18 -sub_8082D18: @ 8082D18 - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - adds r0, 0x4A - ldrh r0, [r0] - bx lr - .pool - thumb_func_end sub_8082D18 - - thumb_func_start sub_8082D28 -sub_8082D28: @ 8082D28 - push {r4,lr} - movs r1, 0 - ldr r4, =gReceivedRemoteLinkPlayers - ldrb r0, [r4] - cmp r0, 0 - beq _08082D3C - bl GetMultiplayerId - lsls r0, 24 - lsrs r1, r0, 24 -_08082D3C: - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - beq _08082DCC - ldrb r0, [r4] - cmp r0, 0 - beq _08082DCC - cmp r1, 0 - bne _08082D90 - ldr r0, =gUnknown_020322A4 - ldr r3, [r0] - adds r2, r3, 0 - adds r2, 0x4A - adds r0, r3, 0 - adds r0, 0x4C - ldrh r0, [r0] - ldrh r1, [r2] - adds r0, r1 - strh r0, [r2] - ldr r1, =gUnknown_03003110 - movs r4, 0x8B - lsls r4, 1 - adds r0, r3, r4 - ldrh r0, [r0] - strh r0, [r1, 0xA] - ldrh r0, [r2] - strh r0, [r1, 0xC] - movs r1, 0xA0 - lsls r1, 1 - adds r0, r3, r1 - bl sub_8082CB4 - b _08082DEA - .pool -_08082D90: - ldr r3, =gUnknown_03003090 - ldrh r0, [r3] - movs r1, 0xFF - lsls r1, 8 - ands r1, r0 - movs r0, 0x88 - lsls r0, 7 - cmp r1, r0 - bne _08082DEA - ldr r0, =gUnknown_020322A4 - ldr r2, [r0] - ldrh r0, [r3, 0xA] - movs r4, 0x8B - lsls r4, 1 - adds r1, r2, r4 - strh r0, [r1] - ldrh r0, [r3, 0xC] - adds r1, r2, 0 - adds r1, 0x4A - strh r0, [r1] - movs r1, 0xA0 - lsls r1, 1 - adds r0, r2, r1 - bl sub_8082CB4 - b _08082DEA - .pool -_08082DCC: - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - adds r2, r1, 0 - adds r2, 0x4A - adds r0, r1, 0 - adds r0, 0x4C - ldrh r0, [r0] - ldrh r3, [r2] - adds r0, r3 - strh r0, [r2] - movs r4, 0xA0 - lsls r4, 1 - adds r0, r1, r4 - bl sub_8082CB4 -_08082DEA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8082D28 - - thumb_func_start sub_8082DF4 -sub_8082DF4: @ 8082DF4 - push {r4-r6,lr} - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - movs r6, 0x8E - lsls r6, 1 - adds r0, r6 - ldrh r1, [r0] - movs r0, 0x14 - bl SetGpuReg - ldr r0, [r4] - movs r5, 0x8F - lsls r5, 1 - adds r0, r5 - ldrh r1, [r0] - movs r0, 0x16 - bl SetGpuReg - ldr r0, [r4] - adds r0, r6 - ldrh r1, [r0] - movs r0, 0x10 - bl SetGpuReg - ldr r0, [r4] - adds r0, r5 - ldrh r1, [r0] - movs r0, 0x12 - bl SetGpuReg - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8082DF4 - - thumb_func_start sub_8082E3C -sub_8082E3C: @ 8082E3C - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x32] - adds r0, r1 - strh r0, [r2, 0x32] - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x34] - adds r0, r1 - strh r0, [r2, 0x34] - movs r1, 0x32 - ldrsh r0, [r2, r1] - cmp r0, 0 - bge _08082E5A - adds r0, 0x7 -_08082E5A: - asrs r0, 3 - strh r0, [r2, 0x24] - movs r1, 0x34 - ldrsh r0, [r2, r1] - cmp r0, 0 - bge _08082E68 - adds r0, 0x7 -_08082E68: - asrs r0, 3 - strh r0, [r2, 0x26] - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08082E80 - adds r0, r2, 0 - bl DestroySprite -_08082E80: - pop {r0} - bx r0 - thumb_func_end sub_8082E3C - - thumb_func_start sub_8082E84 -sub_8082E84: @ 8082E84 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - bl Random - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0x1 - ands r1, r0 - adds r0, r1, 0x1 - cmp r0, 0 - beq _08082F40 - ldr r0, =gSineTable - mov r9, r0 - ldr r2, =gSprites - mov r10, r2 - adds r6, r1, 0x1 - movs r3, 0x1F - mov r8, r3 - movs r7, 0x10 -_08082EB0: - bl Random - ldr r1, =gUnknown_020322A4 - ldr r4, [r1] - adds r4, 0x4A - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x14 - bl __umodsi3 - ldrh r1, [r4] - adds r1, r0 - lsls r1, 16 - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - lsrs r2, r0, 16 - adds r0, r2, 0 - adds r0, 0x40 - lsls r0, 1 - add r0, r9 - movs r3, 0 - ldrsh r1, [r0, r3] - cmp r1, 0 - bge _08082EE4 - adds r1, 0x3 -_08082EE4: - asrs r1, 2 - lsls r0, r2, 1 - add r0, r9 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bge _08082EF4 - adds r0, 0x3 -_08082EF4: - asrs r2, r0, 2 - adds r1, 0x78 - adds r2, 0x50 - ldr r0, =gUnknown_08339BE0 - movs r3, 0x1 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl Random - lsls r5, r4, 4 - adds r5, r4 - lsls r5, 2 - mov r3, r10 - adds r4, r5, r3 - lsls r0, 16 - lsrs r0, 16 - mov r1, r8 - ands r0, r1 - subs r0, r7, r0 - strh r0, [r4, 0x2E] - bl Random - lsls r0, 16 - lsrs r0, 16 - mov r2, r8 - ands r0, r2 - subs r0, r7, r0 - strh r0, [r4, 0x30] - ldr r3, =gSprites + 0x1C - adds r5, r3 - ldr r0, =sub_8082E3C - str r0, [r5] - subs r6, 0x1 - cmp r6, 0 - bne _08082EB0 -_08082F40: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8082E84 - - thumb_func_start sub_8082F68 -sub_8082F68: @ 8082F68 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x3 - bl __divsi3 - negs r0, r0 - strh r0, [r4, 0x26] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08082F94 - adds r0, r4, 0 - bl DestroySprite -_08082F94: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8082F68 - - thumb_func_start sub_8082F9C -sub_8082F9C: @ 8082F9C - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - movs r1, 0x2E - ldrsh r0, [r2, r1] - lsls r0, 1 - negs r0, r0 - strh r0, [r2, 0x26] - lsls r0, 16 - asrs r0, 16 - movs r1, 0xC - negs r1, r1 - cmp r0, r1 - bge _08082FC0 - ldr r0, =0x0000fff4 - strh r0, [r2, 0x26] -_08082FC0: - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08082FD4 - adds r0, r2, 0 - bl DestroySprite -_08082FD4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8082F9C - - thumb_func_start sub_8082FDC -sub_8082FDC: @ 8082FDC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - ldr r2, =gUnknown_020322A4 - ldr r3, [r2] - lsls r4, r0, 1 - adds r2, r3, 0 - adds r2, 0x74 - adds r2, r4 - strh r1, [r2] - lsls r0, 4 - movs r2, 0xAC - lsls r2, 1 - adds r0, r2 - adds r3, r0 - adds r0, r3, 0 - bl sub_807FE14 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8082FDC - - thumb_func_start sub_8083010 -sub_8083010: @ 8083010 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0808304C - cmp r0, 0x1 - bgt _08083026 - cmp r0, 0 - beq _0808302C - b _080830B2 -_08083026: - cmp r0, 0x2 - beq _08083066 - b _080830B2 -_0808302C: - ldrh r0, [r4, 0x30] - adds r0, 0x8 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x58 - ble _080830B2 - movs r0, 0x58 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0x38 - bl PlaySE - b _080830B2 -_0808304C: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080830B2 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0 - strh r0, [r4, 0x32] - b _080830B2 -_08083066: - ldrh r0, [r4, 0x30] - adds r0, 0x4 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB0 - ble _080830B2 - ldrh r0, [r4, 0x34] - adds r0, 0x1 - adds r1, r0, 0 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080830A0 - adds r0, r4, 0 - bl DestroySprite - ldr r0, =gUnknown_08339C60 - movs r2, 0x14 - negs r2, r2 - movs r1, 0x78 - movs r3, 0x2 - bl CreateSprite - b _080830B2 - .pool -_080830A0: - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r0, =0x0000fff0 - strh r0, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim -_080830B2: - ldrh r0, [r4, 0x30] - strh r0, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8083010 - - thumb_func_start sub_80830C0 -sub_80830C0: @ 80830C0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080830FC - cmp r0, 0x1 - bgt _080830D6 - cmp r0, 0 - beq _080830DC - b _08083130 -_080830D6: - cmp r0, 0x2 - beq _08083112 - b _08083130 -_080830DC: - ldrh r0, [r4, 0x30] - adds r0, 0x8 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5C - ble _08083130 - movs r0, 0x5C - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0x15 - bl PlaySE - b _08083130 -_080830FC: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _08083130 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _08083130 -_08083112: - ldrh r0, [r4, 0x30] - adds r0, 0x4 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB0 - ble _08083130 - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_08083130: - ldrh r0, [r4, 0x30] - strh r0, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80830C0 - - thumb_func_start sub_8083140 -sub_8083140: @ 8083140 - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r3, r1, 16 - ldr r1, =gUnknown_020322A4 - ldr r1, [r1] - movs r2, 0x8C - lsls r2, 1 - adds r1, r2 - ldrh r2, [r1] - cmp r2, r0 - bcs _08083166 - adds r0, r2, 0x2 - strh r0, [r1] - ldrh r0, [r1] - adds r1, r3, 0 - bl sub_8083170 -_08083166: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8083140 - - thumb_func_start sub_8083170 -sub_8083170: @ 8083170 - push {r4-r7,lr} - lsls r0, 16 - lsls r1, 16 - lsrs r1, 16 - ldr r7, =0x06006000 - lsrs r0, 10 - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _08083188 - adds r0, r1, 0x7 -_08083188: - asrs r4, r0, 3 - movs r3, 0 - cmp r3, r4 - bge _080831B0 - ldr r0, =0x000080e9 - adds r6, r0, 0 - adds r0, 0x10 - adds r5, r0, 0 - adds r2, r7, 0 - adds r2, 0x56 - adds r0, r7, 0 - adds r3, r4, 0 -_080831A0: - strh r6, [r0, 0x16] - strh r5, [r2] - adds r2, 0x2 - adds r0, 0x2 - subs r3, 0x1 - cmp r3, 0 - bne _080831A0 - adds r3, r4, 0 -_080831B0: - adds r0, r1, 0 - cmp r1, 0 - bge _080831B8 - adds r0, r1, 0x7 -_080831B8: - asrs r2, r0, 3 - lsls r0, r2, 3 - subs r2, r1, r0 - cmp r2, 0 - beq _080831D6 - lsls r0, r3, 1 - adds r0, r7 - ldr r4, =0xffff80e1 - adds r1, r2, r4 - strh r1, [r0, 0x16] - adds r0, 0x56 - adds r4, 0x10 - adds r1, r2, r4 - strh r1, [r0] - adds r3, 0x1 -_080831D6: - cmp r3, 0x7 - bgt _080831FA - ldr r0, =0x000080e1 - adds r4, r0, 0 - adds r0, 0x10 - adds r2, r0, 0 - lsls r1, r3, 1 - adds r0, r1, 0 - adds r0, 0x56 - adds r0, r7 - adds r1, r7 -_080831EC: - strh r4, [r1, 0x16] - strh r2, [r0] - adds r0, 0x2 - adds r1, 0x2 - adds r3, 0x1 - cmp r3, 0x7 - ble _080831EC -_080831FA: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8083170 - - thumb_func_start sub_8083210 -sub_8083210: @ 8083210 - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, =0x00057e40 - muls r0, r1 - cmp r0, 0 - bge _08083222 - ldr r1, =0x0000ffff - adds r0, r1 -_08083222: - asrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8083210 - - thumb_func_start sub_8083230 -sub_8083230: @ 8083230 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 16 - lsrs r0, 16 - bl sub_8083210 - adds r5, r0, 0 - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0x4E - ldrh r0, [r1] - cmp r0, r5 - bcs _0808324E - strh r5, [r1] -_0808324E: - movs r6, 0 -_08083250: - mov r0, sp - adds r4, r0, r6 - adds r0, r5, 0 - movs r1, 0xA - bl __umodsi3 - strb r0, [r4] - adds r0, r5, 0 - movs r1, 0xA - bl __udivsi3 - adds r5, r0, 0 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x4 - bls _08083250 - ldr r2, =0x06006458 - mov r0, sp - ldr r3, =0x00008072 - adds r1, r3, 0 - ldrb r0, [r0, 0x4] - adds r0, r1, r0 - strh r0, [r2] - adds r2, 0x2 - mov r0, sp - ldrb r0, [r0, 0x3] - adds r0, r1 - strh r0, [r2] - adds r2, 0x2 - mov r0, sp - ldrb r0, [r0, 0x2] - adds r0, r1 - strh r0, [r2] - adds r2, 0x4 - mov r0, sp - ldrb r0, [r0, 0x1] - adds r0, r1 - strh r0, [r2] - adds r2, 0x2 - mov r0, sp - ldrb r0, [r0] - adds r1, r0 - strh r1, [r2] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8083230 - - thumb_func_start sub_80832BC -sub_80832BC: @ 80832BC - push {r4-r6,lr} - adds r6, r0, 0 - lsls r4, r1, 16 - lsrs r5, r4, 16 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080832E0 - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r5, 0 - bl __umodsi3 - lsrs r1, r4, 17 - subs r0, r1 - strh r0, [r6] -_080832E0: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80832BC - - thumb_func_start sub_80832E8 -sub_80832E8: @ 80832E8 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1] - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - bge _080832FA - adds r0, r2, 0x1 - strh r0, [r1] -_080832FA: - ldrh r2, [r1] - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _08083308 - subs r0, r2, 0x1 - strh r0, [r1] -_08083308: - pop {r0} - bx r0 - thumb_func_end sub_80832E8 - - thumb_func_start sub_808330C -sub_808330C: @ 808330C - push {r4,lr} - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - movs r1, 0x8E - lsls r1, 1 - adds r0, r1 - bl sub_80832E8 - ldr r0, [r4] - movs r1, 0x8F - lsls r1, 1 - adds r0, r1 - bl sub_80832E8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_808330C - - thumb_func_start sub_8083334 -sub_8083334: @ 8083334 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r5, 0x8 - cmp r1, 0x9 - bhi _08083344 - movs r5, 0x10 -_08083344: - ldrh r0, [r4] - movs r2, 0 - ldrsh r1, [r4, r2] - cmp r1, 0 - bne _08083362 - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r5, 0 - bl __modsi3 - lsrs r1, r5, 1 - subs r0, r1 - b _08083376 -_08083362: - cmp r1, 0 - bge _0808336A - adds r0, 0x1 - strh r0, [r4] -_0808336A: - ldrh r1, [r4] - movs r2, 0 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _08083378 - subs r0, r1, 0x1 -_08083376: - strh r0, [r4] -_08083378: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8083334 - - thumb_func_start sub_8083380 -sub_8083380: @ 8083380 - push {r4,r5,lr} - ldr r5, =gUnknown_020322A4 - ldr r2, [r5] - movs r4, 0x84 - lsls r4, 1 - adds r0, r2, r4 - ldr r1, [r0] - cmp r1, 0 - bne _080833A0 - movs r3, 0x8E - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] - adds r3, 0x2 - adds r0, r2, r3 - strh r1, [r0] -_080833A0: - ldr r0, [r5] - adds r2, r0, r4 - ldr r1, [r2] - adds r1, 0x1 - str r1, [r2] - movs r2, 0x8E - lsls r2, 1 - adds r0, r2 - lsls r1, 16 - lsrs r1, 16 - bl sub_8083334 - ldr r1, [r5] - movs r3, 0x8F - lsls r3, 1 - adds r0, r1, r3 - adds r1, r4 - ldrh r1, [r1] - bl sub_8083334 - ldr r2, [r5] - adds r0, r2, r4 - ldr r0, [r0] - cmp r0, 0x14 - beq _080833DC - movs r0, 0 - b _080833F0 - .pool -_080833DC: - movs r1, 0x8E - lsls r1, 1 - adds r0, r2, r1 - movs r1, 0 - strh r1, [r0] - movs r3, 0x8F - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] - movs r0, 0x1 -_080833F0: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8083380 - - thumb_func_start sub_80833F8 -sub_80833F8: @ 80833F8 - ldr r1, =gUnknown_020322A4 - ldr r2, [r1] - movs r3, 0x8E - lsls r3, 1 - adds r1, r2, r3 - ldrh r1, [r1] - negs r1, r1 - strh r1, [r0, 0x24] - adds r3, 0x2 - adds r1, r2, r3 - ldrh r1, [r1] - negs r1, r1 - strh r1, [r0, 0x26] - bx lr - .pool - thumb_func_end sub_80833F8 - - thumb_func_start UpdateBerryBlenderRecord -@ void UpdateBerryBlenderRecord() -UpdateBerryBlenderRecord: @ 8083418 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x7C - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 1 - ldr r3, =0x000009bc - adds r2, r3 - adds r2, r0 - adds r1, 0x4E - ldrh r1, [r1] - ldrh r0, [r2] - cmp r0, r1 - bcs _0808343E - strh r1, [r2] -_0808343E: - pop {r0} - bx r0 - .pool - thumb_func_end UpdateBerryBlenderRecord - - thumb_func_start berry_blender_related -berry_blender_related: @ 8083450 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4C - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0x6 - bls _0808346A - b _08083898 -_0808346A: - lsls r0, 2 - ldr r1, =_0808347C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0808347C: - .4byte _08083498 - .4byte _080834AE - .4byte _080834C8 - .4byte _08083518 - .4byte _08083790 - .4byte _080837A8 - .4byte _0808386C -_08083498: - ldr r1, [r4] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r4] - movs r1, 0x84 - lsls r1, 1 - adds r0, r1 - movs r1, 0x11 - str r1, [r0] - b _08083898 -_080834AE: - ldr r1, [r4] - movs r3, 0x84 - lsls r3, 1 - adds r2, r1, r3 - ldr r0, [r2] - subs r0, 0xA - str r0, [r2] - cmp r0, 0 - blt _080834C2 - b _08083898 -_080834C2: - movs r0, 0 - str r0, [r2] - b _08083854 -_080834C8: - ldr r1, [r4] - movs r0, 0x84 - lsls r0, 1 - adds r1, r0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x14 - bgt _080834DC - b _08083898 -_080834DC: - movs r6, 0 -_080834DE: - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - adds r0, 0x46 - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x2 - bls _080834DE - ldr r1, [r4] - movs r3, 0x84 - lsls r3, 1 - adds r2, r1, r3 - movs r0, 0 - str r0, [r2] - b _08083854 - .pool -_08083518: - ldr r4, =gUnknown_083398F5 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0xA8 - bl GetStringCenterAlignXOffset - lsls r2, r0, 24 - lsrs r2, 24 - movs r0, 0xFF - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - movs r0, 0x5 - adds r1, r4, 0 - movs r3, 0x1 - bl sub_80840D4 - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - adds r2, r0, 0 - adds r2, 0x7C - ldrb r0, [r2] - movs r3, 0x15 - mov r9, r3 - cmp r0, 0x4 - bne _08083550 - movs r0, 0x11 - mov r9, r0 -_08083550: - movs r6, 0 - mov r3, sp - adds r3, 0x10 - str r3, [sp, 0x48] - ldrb r2, [r2] - cmp r6, r2 - bcs _0808361A - adds r7, r1, 0 - movs r0, 0x3 - mov r10, r0 -_08083564: - ldr r0, [r7] - movs r2, 0x9E - lsls r2, 1 - adds r1, r0, r2 - adds r1, r6 - ldrb r5, [r1] - adds r0, 0x9F - adds r6, 0x1 - mov r8, r6 - mov r1, r8 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - ldr r0, [r7] - adds r0, 0x9F - ldr r1, =gUnknown_08339941 - bl StringAppend - ldr r0, [r7] - adds r0, 0x9F - ldr r1, =gText_Space - bl StringAppend - ldr r0, [r7] - adds r0, 0x9F - lsls r4, r5, 3 - subs r4, r5 - lsls r4, 2 - ldr r3, =gLinkPlayers + 8 - adds r1, r4, r3 - bl StringAppend - ldr r1, [r7] - adds r1, 0x9F - mov r0, r9 - lsls r6, r0, 24 - lsrs r6, 24 - movs r2, 0xFF - str r2, [sp] - mov r3, r10 - str r3, [sp, 0x4] - movs r0, 0x5 - movs r2, 0x8 - adds r3, r6, 0 - bl sub_80840D4 - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x9F - lsls r5, 4 - adds r5, r1 - movs r1, 0xAD - lsls r1, 1 - adds r5, r1 - adds r1, r5, 0 - bl StringCopy - ldr r0, [r7] - adds r0, 0x9F - ldr r2, =gLinkPlayers - adds r4, r2 - ldrb r1, [r4, 0x1A] - bl ConvertInternationalString - ldr r0, [r7] - adds r0, 0x9F - ldr r1, =gUnknown_08339914 - bl StringAppend - ldr r1, [r7] - adds r1, 0x9F - movs r3, 0xFF - str r3, [sp] - mov r0, r10 - str r0, [sp, 0x4] - movs r0, 0x5 - movs r2, 0x54 - adds r3, r6, 0 - bl sub_80840D4 - movs r1, 0x10 - add r9, r1 - mov r2, r8 - lsls r2, 16 - lsrs r6, r2, 16 - ldr r0, [r7] - adds r0, 0x7C - ldrb r0, [r0] - cmp r6, r0 - bcc _08083564 -_0808361A: - ldr r1, =gUnknown_0833992E - movs r3, 0xFF - mov r10, r3 - str r3, [sp] - movs r0, 0x3 - mov r9, r0 - str r0, [sp, 0x4] - movs r0, 0x5 - movs r2, 0 - movs r3, 0x51 - bl sub_80840D4 - ldr r6, =gUnknown_020322A4 - ldr r0, [r6] - adds r4, r0, 0 - adds r4, 0x9F - adds r0, 0x4E - ldrh r0, [r0] - movs r1, 0x64 - bl __udivsi3 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, [r6] - adds r0, 0x9F - ldr r1, =gUnknown_08339941 - bl StringAppend - ldr r0, [r6] - adds r0, 0x4E - ldrh r0, [r0] - movs r1, 0x64 - bl __umodsi3 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x48] - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, [r6] - adds r0, 0x9F - ldr r1, [sp, 0x48] - bl StringAppend - ldr r0, [r6] - adds r0, 0x9F - ldr r1, =gUnknown_0833993C - bl StringAppend - ldr r1, [r6] - adds r1, 0x9F - movs r0, 0x1 - movs r2, 0xA8 - bl GetStringRightAlignXOffset - ldr r1, [r6] - adds r1, 0x9F - lsls r2, r0, 24 - lsrs r2, 24 - mov r3, r10 - str r3, [sp] - mov r0, r9 - str r0, [sp, 0x4] - movs r0, 0x5 - movs r3, 0x51 - bl sub_80840D4 - ldr r1, =gUnknown_0833991B - mov r2, r10 - str r2, [sp] - mov r3, r9 - str r3, [sp, 0x4] - movs r0, 0x5 - movs r2, 0 - movs r3, 0x61 - bl sub_80840D4 - ldr r5, [r6] - movs r1, 0x82 - lsls r1, 1 - adds r0, r5, r1 - ldr r0, [r0] - mov r8, r0 - movs r1, 0x3C - bl __udivsi3 - movs r1, 0x3C - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - movs r1, 0xE1 - lsls r1, 4 - mov r0, r8 - bl __udivsi3 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r5, 0x9F - adds r0, r5, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, [r6] - adds r0, 0x9F - ldr r1, =gUnknown_08339921 - bl StringAppend - adds r1, r4, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, [r6] - adds r0, 0x9F - ldr r1, =gUnknown_08339928 - bl StringAppend - ldr r1, [r6] - adds r1, 0x9F - movs r0, 0x1 - movs r2, 0xA8 - bl GetStringRightAlignXOffset - ldr r1, [r6] - adds r1, 0x9F - lsls r2, r0, 24 - lsrs r2, 24 - mov r3, r10 - str r3, [sp] - mov r0, r9 - str r0, [sp, 0x4] - movs r0, 0x5 - movs r3, 0x61 - bl sub_80840D4 - ldr r1, [r6] - movs r3, 0x84 - lsls r3, 1 - adds r2, r1, r3 - movs r0, 0 - str r0, [r2] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0x5 - movs r1, 0x2 - bl CopyWindowToVram - b _08083898 - .pool -_08083790: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0808379E - b _08083898 -_0808379E: - ldr r1, [r4] - b _08083854 - .pool -_080837A8: - movs r0, 0x5 - movs r1, 0x1 - bl sub_8198070 - movs r6, 0 - add r7, sp, 0x40 - ldr r5, =gUnknown_020322A4 -_080837B6: - ldr r0, [r5] - lsls r2, r6, 1 - adds r0, 0x74 - adds r0, r2 - ldrh r1, [r0] - cmp r1, 0 - beq _080837CC - add r0, sp, 0x38 - adds r0, r2 - subs r1, 0x85 - strh r1, [r0] -_080837CC: - ldr r0, [r5] - adds r0, 0x8E - adds r0, r2 - ldrh r0, [r0] - cmp r0, 0xFF - beq _080837EA - lsls r4, r6, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram -_080837EA: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bls _080837B6 - bl sub_8081E20 - ldr r4, =gUnknown_020322A4 - ldr r3, [r4] - movs r1, 0xAC - lsls r1, 1 - adds r0, r3, r1 - adds r1, r3, 0 - adds r1, 0x7C - ldrb r2, [r1] - subs r1, 0x2E - ldrh r1, [r1] - str r1, [sp] - adds r1, r7, 0 - add r3, sp, 0x8 - bl sub_8081BE0 - ldr r1, [r4] - adds r1, 0x9F - adds r0, r7, 0 - bl sub_80838AC - ldr r1, [r4] - movs r2, 0xD4 - lsls r2, 1 - adds r1, r2 - adds r0, r7, 0 - bl sub_8083F94 - ldr r0, =sub_8083F3C - movs r1, 0x6 - bl CreateTask - bl sub_80EECEC - ldr r0, =gScriptItemId - ldrh r0, [r0] - movs r1, 0x1 - bl RemoveBagItem - adds r0, r7, 0 - bl sub_8136F2C - ldr r1, [r4] - ldr r3, =0x000011b8 - adds r2, r1, r3 - movs r0, 0 - strh r0, [r2] -_08083854: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08083898 - .pool -_0808386C: - ldr r4, [r4] - ldr r0, =0x000011b8 - adds r5, r4, r0 - adds r4, 0x9F - bl sav2_get_text_speed - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_808417C - cmp r0, 0 - beq _08083898 - bl UpdateBerryBlenderRecord - movs r0, 0x1 - b _0808389A - .pool -_08083898: - movs r0, 0 -_0808389A: - add sp, 0x4C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end berry_blender_related - - thumb_func_start sub_80838AC -sub_80838AC: @ 80838AC - push {r4-r6,lr} - sub sp, 0xC - adds r5, r0, 0 - adds r6, r1, 0 - movs r0, 0xFF - strb r0, [r6] - ldr r1, =gPokeblockNames - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r6, 0 - bl StringCopy - ldr r1, =gUnknown_0833979D - adds r0, r6, 0 - bl StringAppend - ldr r1, =gUnknown_08339943 - adds r0, r6, 0 - bl StringAppend - adds r0, r5, 0 - bl sub_8136EA4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - bl sub_8136EDC - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r1, =gUnknown_0833994F - adds r0, r6, 0 - bl StringAppend - mov r0, sp - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r0, r6, 0 - mov r1, sp - bl StringAppend - ldr r1, =gUnknown_0833995D - adds r0, r6, 0 - bl StringAppend - mov r0, sp - adds r1, r5, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r0, r6, 0 - mov r1, sp - bl StringAppend - ldr r1, =gUnknown_08339970 - adds r0, r6, 0 - bl StringAppend - ldr r1, =gUnknown_0833979B - adds r0, r6, 0 - bl StringAppend - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80838AC - - thumb_func_start sub_808395C -sub_808395C: @ 808395C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r9, r0 - mov r12, r2 - lsls r1, 24 - lsrs r7, r1, 24 - movs r0, 0 - cmp r0, r7 - bge _080839A8 -_08083972: - movs r5, 0 - adds r1, r0, 0x1 - mov r8, r1 - cmp r5, r7 - bge _080839A2 - mov r1, r9 - adds r6, r1, r0 -_08083980: - ldrb r4, [r6] - lsls r1, r4, 2 - add r1, r12 - mov r0, r9 - adds r2, r0, r5 - ldrb r3, [r2] - lsls r0, r3, 2 - add r0, r12 - ldr r1, [r1] - ldr r0, [r0] - cmp r1, r0 - bls _0808399C - strb r3, [r6] - strb r4, [r2] -_0808399C: - adds r5, 0x1 - cmp r5, r7 - blt _08083980 -_080839A2: - mov r0, r8 - cmp r0, r7 - blt _08083972 -_080839A8: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_808395C - - thumb_func_start sub_80839B4 -sub_80839B4: @ 80839B4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - movs r5, 0 - ldr r2, =gUnknown_020322A4 - ldr r0, [r2] - adds r0, 0x7C - adds r1, r2, 0 - add r3, sp, 0x4 - mov r10, r3 - b _080839E4 - .pool -_080839D4: - mov r4, sp - adds r0, r4, r5 - strb r5, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [r2] - adds r0, 0x7C -_080839E4: - ldrb r0, [r0] - cmp r5, r0 - bcc _080839D4 - movs r5, 0 - ldr r0, [r1] - adds r1, r0, 0 - adds r1, 0x7C - ldrb r2, [r1] - cmp r5, r2 - bcs _08083A5E - mov r9, r10 - movs r3, 0x92 - lsls r3, 1 - adds r3, r0 - mov r8, r3 - mov r12, r1 - movs r4, 0x93 - lsls r4, 1 - adds r7, r0, r4 - movs r1, 0x94 - lsls r1, 1 - adds r6, r0, r1 -_08083A10: - lsls r4, r5, 2 - add r4, r9 - lsls r3, r5, 1 - adds r3, r5 - lsls r3, 1 - mov r2, r8 - adds r0, r2, r3 - ldrh r2, [r0] - lsls r0, r2, 5 - subs r0, r2 - lsls r1, r0, 6 - subs r1, r0 - lsls r1, 3 - adds r1, r2 - lsls r1, 6 - str r1, [r4] - adds r0, r7, r3 - ldrh r2, [r0] - lsls r0, r2, 5 - subs r0, r2 - lsls r0, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - str r1, [r4] - movs r0, 0xFA - lsls r0, 2 - adds r1, r0 - adds r3, r6, r3 - ldrh r0, [r3] - subs r1, r0 - str r1, [r4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r1, r12 - ldrb r1, [r1] - cmp r5, r1 - bcc _08083A10 -_08083A5E: - ldr r4, =gUnknown_020322A4 - ldr r0, [r4] - adds r0, 0x7C - ldrb r1, [r0] - mov r0, sp - mov r2, r10 - bl sub_808395C - movs r5, 0 - ldr r0, [r4] - adds r0, 0x7C - ldrb r0, [r0] - cmp r5, r0 - bcs _08083A9E - adds r2, r4, 0 - movs r3, 0x9E - lsls r3, 1 -_08083A80: - ldr r1, [r2] - adds r1, r3 - adds r1, r5 - mov r4, sp - adds r0, r4, r5 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [r2] - adds r0, 0x7C - ldrb r0, [r0] - cmp r5, r0 - bcc _08083A80 -_08083A9E: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08083AB4 - movs r3, 0 - b _08083ABC - .pool -_08083AB4: - bl GetMultiplayerId - lsls r0, 24 - lsrs r3, r0, 24 -_08083ABC: - movs r5, 0 - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - adds r0, 0x7C - ldrb r0, [r0] - cmp r5, r0 - bcs _08083AF2 - movs r6, 0x9E - lsls r6, 1 - movs r4, 0xD2 - lsls r4, 1 -_08083AD2: - ldr r2, [r1] - adds r0, r2, r6 - adds r0, r5 - ldrb r0, [r0] - cmp r0, r3 - bne _08083AE2 - adds r0, r2, r4 - strb r5, [r0] -_08083AE2: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [r1] - adds r0, 0x7C - ldrb r0, [r0] - cmp r5, r0 - bcc _08083AD2 -_08083AF2: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80839B4 - - thumb_func_start sub_8083B08 -sub_8083B08: @ 8083B08 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - ldr r1, =gUnknown_020322A4 - ldr r0, [r1] - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x6 - bls _08083B22 - b _08083E12 -_08083B22: - lsls r0, 2 - ldr r1, =_08083B34 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08083B34: - .4byte _08083B50 - .4byte _08083B66 - .4byte _08083B80 - .4byte _08083B9A - .4byte _08083DC8 - .4byte _08083DE2 - .4byte _08083E08 -_08083B50: - ldr r1, [r2] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - movs r1, 0x84 - lsls r1, 1 - adds r0, r1 - movs r1, 0xFF - str r1, [r0] - b _08083E12 -_08083B66: - ldr r1, [r2] - movs r3, 0x84 - lsls r3, 1 - adds r2, r1, r3 - ldr r0, [r2] - subs r0, 0xA - str r0, [r2] - cmp r0, 0 - blt _08083B7A - b _08083E12 -_08083B7A: - movs r0, 0 - str r0, [r2] - b _08083DF8 -_08083B80: - ldr r1, [r2] - movs r0, 0x84 - lsls r0, 1 - adds r2, r1, r0 - ldr r0, [r2] - adds r0, 0x1 - str r0, [r2] - cmp r0, 0x14 - bgt _08083B94 - b _08083E12 -_08083B94: - movs r0, 0 - str r0, [r2] - b _08083DF8 -_08083B9A: - movs r0, 0x5 - movs r1, 0 - movs r2, 0x1 - movs r3, 0xD - bl SetWindowBorderStyle - ldr r4, =gUnknown_08339947 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0xA8 - bl GetStringCenterAlignXOffset - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0xFF - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - movs r0, 0x5 - adds r1, r4, 0 - movs r3, 0x1 - bl sub_80840D4 - ldr r1, =gUnknown_08339B40 - mov r8, r1 - mov r0, r8 - movs r1, 0x80 - movs r2, 0x34 - movs r3, 0 - bl CreateSprite - ldr r7, =gUnknown_020322A4 - ldr r1, [r7] - adds r1, 0x46 - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x46 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r6, =gSprites - adds r0, r6 - movs r1, 0x3 - bl StartSpriteAnim - ldr r0, [r7] - adds r0, 0x46 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r5, r6, 0 - adds r5, 0x1C - adds r0, r5 - ldr r4, =SpriteCallbackDummy - str r4, [r0] - mov r0, r8 - movs r1, 0xA0 - movs r2, 0x34 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x47 - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x47 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - str r4, [r0] - mov r0, r8 - movs r1, 0xC0 - movs r2, 0x34 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x48 - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x48 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, [r7] - adds r0, 0x48 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - str r4, [r0] - bl sub_80839B4 - movs r2, 0x29 - str r2, [sp, 0x8] - movs r2, 0 - ldr r0, [r7] - adds r0, 0x7C - ldrb r0, [r0] - cmp r2, r0 - bcc _08083C7C - b _08083D8A -_08083C7C: - movs r3, 0xFF - mov r10, r3 - movs r0, 0x3 - mov r9, r0 -_08083C84: - ldr r0, [r7] - movs r3, 0x9E - lsls r3, 1 - adds r1, r0, r3 - adds r1, r2 - ldrb r5, [r1] - adds r0, 0x9F - adds r2, 0x1 - mov r8, r2 - mov r1, r8 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - ldr r0, [r7] - adds r0, 0x9F - ldr r1, =gUnknown_08339941 - bl StringAppend - ldr r0, [r7] - adds r0, 0x9F - ldr r1, =gText_Space - bl StringAppend - ldr r0, [r7] - adds r0, 0x9F - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - ldr r2, =gLinkPlayers + 8 - adds r1, r2 - bl StringAppend - ldr r1, [r7] - adds r1, 0x9F - ldr r0, [sp, 0x8] - lsls r6, r0, 24 - lsrs r6, 24 - mov r2, r10 - str r2, [sp] - mov r3, r9 - str r3, [sp, 0x4] - movs r0, 0x5 - movs r2, 0 - adds r3, r6, 0 - bl sub_80840D4 - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x9F - lsls r4, r5, 1 - adds r4, r5 - lsls r4, 1 - movs r2, 0x92 - lsls r2, 1 - adds r1, r2 - adds r1, r4 - ldrh r1, [r1] - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r1, [r7] - adds r1, 0x9F - mov r3, r10 - str r3, [sp] - mov r0, r9 - str r0, [sp, 0x4] - movs r0, 0x5 - movs r2, 0x4E - adds r3, r6, 0 - bl sub_80840D4 - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x9F - movs r2, 0x93 - lsls r2, 1 - adds r1, r2 - adds r1, r4 - ldrh r1, [r1] - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r1, [r7] - adds r1, 0x9F - mov r3, r10 - str r3, [sp] - mov r0, r9 - str r0, [sp, 0x4] - movs r0, 0x5 - movs r2, 0x6E - adds r3, r6, 0 - bl sub_80840D4 - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x9F - movs r2, 0x94 - lsls r2, 1 - adds r1, r2 - adds r1, r4 - ldrh r1, [r1] - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r1, [r7] - adds r1, 0x9F - mov r3, r10 - str r3, [sp] - mov r0, r9 - str r0, [sp, 0x4] - movs r0, 0x5 - movs r2, 0x8E - adds r3, r6, 0 - bl sub_80840D4 - ldr r1, [sp, 0x8] - adds r1, 0x10 - str r1, [sp, 0x8] - mov r2, r8 - lsls r2, 16 - lsrs r2, 16 - ldr r0, [r7] - adds r0, 0x7C - ldrb r0, [r0] - cmp r2, r0 - bcs _08083D8A - b _08083C84 -_08083D8A: - movs r0, 0x5 - bl PutWindowTilemap - movs r0, 0x5 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] - movs r3, 0x84 - lsls r3, 1 - adds r2, r1, r3 - movs r0, 0 - str r0, [r2] - b _08083DF8 - .pool -_08083DC8: - ldr r2, [r2] - movs r0, 0x84 - lsls r0, 1 - adds r1, r2, r0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x14 - ble _08083E12 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - b _08083E12 -_08083DE2: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08083E12 - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_020322A4 - ldr r1, [r0] -_08083DF8: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08083E12 - .pool -_08083E08: - ldr r1, [r2] - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - b _08083E14 -_08083E12: - movs r0, 0 -_08083E14: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8083B08 - - thumb_func_start ShowBerryBlenderRecordWindow -ShowBerryBlenderRecordWindow: @ 8083E24 - push {r4-r7,lr} - sub sp, 0x34 - ldr r0, =gUnknown_08339D14 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x2C] - str r1, [sp, 0x30] - ldr r5, =gUnknown_0203AB74 - add r0, sp, 0x2C - bl AddWindow - strb r0, [r5] - ldrb r0, [r5] - movs r1, 0 - bl sub_81973FC - ldrb r0, [r5] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r6, =gText_BlenderMaxSpeedRecord - movs r0, 0x1 - adds r1, r6, 0 - movs r2, 0x90 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - ldrb r0, [r5] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - adds r2, r6, 0 - bl PrintTextOnWindow - ldrb r0, [r5] - ldr r2, =gText_234Players - movs r1, 0x29 - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x4 - bl PrintTextOnWindow - movs r6, 0 - movs r7, 0xA4 - lsls r7, 22 -_08083E8A: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - lsls r1, r6, 1 - ldr r2, =0x000009bc - adds r0, r2 - adds r0, r1 - ldrh r4, [r0] - adds r0, r4, 0 - movs r1, 0x64 - bl __udivsi3 - adds r1, r0, 0 - add r0, sp, 0xC - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r5, r0, 0 - ldr r1, =gUnknown_08339941 - bl StringAppend - adds r5, r0, 0 - adds r0, r4, 0 - movs r1, 0x64 - bl __umodsi3 - adds r1, r0, 0 - adds r0, r5, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - adds r5, r0, 0 - ldr r1, =gUnknown_0833993C - bl StringAppend - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0x8C - bl GetStringRightAlignXOffset - adds r3, r0, 0 - ldr r4, =gUnknown_0203AB74 - ldrb r0, [r4] - lsls r3, 24 - lsrs r3, 24 - lsrs r1, r7, 24 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - add r2, sp, 0xC - bl PrintTextOnWindow - movs r0, 0x80 - lsls r0, 21 - adds r7, r0 - adds r6, 0x1 - cmp r6, 0x2 - ble _08083E8A - ldrb r0, [r4] - bl PutWindowTilemap - ldrb r0, [r4] - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x34 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ShowBerryBlenderRecordWindow - - thumb_func_start sub_8083F3C -sub_8083F3C: @ 8083F3C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08083F62 - ldr r0, =0x0000016f - bl PlayFanfare - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08083F62: - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _08083F82 - ldr r0, =gUnknown_020322A4 - ldr r0, [r0] - movs r1, 0xAA - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - bl PlayBGM - adds r0, r5, 0 - bl DestroyTask -_08083F82: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8083F3C - - thumb_func_start sub_8083F94 -sub_8083F94: @ 8083F94 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r6, r0, 0 - adds r7, r1, 0 - bl sub_8136EA4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - bl sub_8136EDC - adds r1, r0, 0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 1 - lsls r1, 24 - lsrs r1, 24 - bl __divsi3 - lsls r0, 16 - lsrs r3, r0, 16 - strb r3, [r7, 0xD] - ldrb r0, [r6] - strb r0, [r7, 0xC] - movs r0, 0xFF - strb r0, [r7] - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _080840C4 - ldr r0, =gUnknown_020322A4 - ldr r2, [r0] - movs r4, 0xD2 - lsls r4, 1 - adds r1, r2, r4 - ldrb r1, [r1] - mov r8, r0 - cmp r1, 0 - bne _08084058 - cmp r3, 0x14 - bls _08084058 - adds r0, r2, 0 - adds r0, 0x7C - ldrb r1, [r0] - subs r1, 0x1 - movs r0, 0x9E - lsls r0, 1 - mov r9, r0 - adds r0, r2, r0 - adds r0, r1 - ldrb r0, [r0] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r5, =gLinkPlayers + 8 - adds r1, r5 - adds r0, r7, 0 - bl StringCopy - adds r0, r6, 0 - bl sub_81370B4 - strb r0, [r7, 0xB] - ldrb r1, [r7, 0xB] - ldrb r2, [r7, 0xC] - ldrb r3, [r7, 0xD] - mov r6, r8 - ldr r4, [r6] - adds r0, r4, 0 - adds r0, 0x7C - ldrb r0, [r0] - subs r0, 0x1 - add r4, r9 - adds r4, r0 - ldrb r4, [r4] - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r5, r0 - ldrb r0, [r5, 0x12] - str r0, [sp] - adds r0, r7, 0 - bl Put3CheersForPokeblocksOnTheAir - lsls r0, 24 - cmp r0, 0 - bne _080840BA - b _080840C4 - .pool -_08084058: - mov r0, r8 - ldr r2, [r0] - movs r1, 0xD2 - lsls r1, 1 - adds r0, r2, r1 - ldrb r1, [r0] - adds r0, r2, 0 - adds r0, 0x7C - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _080840C4 - cmp r3, 0x14 - bhi _080840C4 - movs r4, 0x9E - lsls r4, 1 - adds r0, r2, r4 - ldrb r0, [r0] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r5, =gLinkPlayers + 8 - adds r1, r5 - adds r0, r7, 0 - bl StringCopy - adds r0, r6, 0 - bl sub_81370B4 - strb r0, [r7, 0xB] - ldrb r1, [r7, 0xB] - ldrb r2, [r7, 0xC] - ldrb r3, [r7, 0xD] - mov r6, r8 - ldr r0, [r6] - adds r0, r4 - ldrb r4, [r0] - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r5, r0 - ldrb r0, [r5, 0x12] - str r0, [sp] - adds r0, r7, 0 - bl Put3CheersForPokeblocksOnTheAir - lsls r0, 24 - cmp r0, 0 - beq _080840C4 -_080840BA: - movs r0, 0x1 - b _080840C6 - .pool -_080840C4: - movs r0, 0 -_080840C6: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8083F94 - - thumb_func_start sub_80840D4 -sub_80840D4: @ 80840D4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - mov r9, r1 - ldr r4, [sp, 0x38] - lsls r0, 24 - lsrs r6, r0, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r7, r3, 24 - movs r5, 0 - cmp r4, 0x1 - beq _08084116 - cmp r4, 0x1 - bgt _08084100 - cmp r4, 0 - beq _08084108 - b _08084132 -_08084100: - cmp r4, 0x2 - beq _08084124 - cmp r4, 0x3 - bne _08084136 -_08084108: - add r1, sp, 0x14 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - movs r0, 0x3 - b _08084130 -_08084116: - add r0, sp, 0x14 - strb r5, [r0] - adds r1, r0, 0 - movs r0, 0x2 - strb r0, [r1, 0x1] - movs r0, 0x3 - b _08084130 -_08084124: - add r0, sp, 0x14 - strb r5, [r0] - adds r1, r0, 0 - movs r0, 0x4 - strb r0, [r1, 0x1] - movs r0, 0x5 -_08084130: - strb r0, [r1, 0x2] -_08084132: - cmp r4, 0x3 - beq _08084148 -_08084136: - add r0, sp, 0x14 - ldrb r0, [r0] - lsls r1, r0, 4 - orrs r1, r0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl FillWindowPixelBuffer -_08084148: - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - add r0, sp, 0x14 - str r0, [sp, 0x8] - ldr r0, [sp, 0x34] - lsls r0, 24 - asrs r0, 24 - str r0, [sp, 0xC] - mov r0, r9 - str r0, [sp, 0x10] - adds r0, r6, 0 - movs r1, 0x1 - mov r2, r8 - adds r3, r7, 0 - bl AddTextPrinterParametrized2 - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80840D4 - - thumb_func_start sub_808417C -sub_808417C: @ 808417C - push {r4-r7,lr} - sub sp, 0x8 - adds r5, r0, 0 - adds r7, r1, 0 - adds r6, r2, 0 - movs r0, 0 - ldrsh r4, [r5, r0] - cmp r4, 0 - beq _08084194 - cmp r4, 0x1 - beq _080841C6 - b _080841DA -_08084194: - movs r0, 0x4 - movs r1, 0 - movs r2, 0x14 - movs r3, 0xF - bl sub_8197B1C - str r6, [sp] - str r4, [sp, 0x4] - movs r0, 0x4 - adds r1, r7, 0 - movs r2, 0 - movs r3, 0x1 - bl sub_80840D4 - movs r0, 0x4 - bl PutWindowTilemap - movs r0, 0x4 - movs r1, 0x3 - bl CopyWindowToVram - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - b _080841DA -_080841C6: - movs r0, 0x4 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _080841DA - strh r0, [r5] - movs r0, 0x1 - b _080841DC -_080841DA: - movs r0, 0 -_080841DC: - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_808417C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/berry_fix_program.s b/asm/berry_fix_program.s deleted file mode 100755 index 2428f2984b..0000000000 --- a/asm/berry_fix_program.s +++ /dev/null @@ -1,8 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/berry_tag_screen.s b/asm/berry_tag_screen.s deleted file mode 100644 index 9622f0508d..0000000000 --- a/asm/berry_tag_screen.s +++ /dev/null @@ -1,1538 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8177C14 -sub_8177C14: @ 8177C14 - push {r4,lr} - ldr r4, =gUnknown_0203BCF4 - ldr r0, =0x0000180c - bl AllocZeroed - str r0, [r4] - ldr r0, =gScriptItemId - ldrh r0, [r0] - bl ItemIdToBerryType - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0xC0 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] - ldr r0, =sub_8177C84 - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8177C14 - - thumb_func_start sub_8177C54 -sub_8177C54: @ 8177C54 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8177C54 - - thumb_func_start sub_8177C70 -sub_8177C70: @ 8177C70 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8177C70 - - thumb_func_start sub_8177C84 -sub_8177C84: @ 8177C84 - push {lr} -_08177C86: - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08177CAA - bl sub_8177CB0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08177CAA - bl sub_81221AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08177C86 -_08177CAA: - pop {r0} - bx r0 - thumb_func_end sub_8177C84 - - thumb_func_start sub_8177CB0 -sub_8177CB0: @ 8177CB0 - push {lr} - sub sp, 0x4 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xF - bls _08177CC4 - b _08177DF4 -_08177CC4: - lsls r0, 2 - ldr r1, =_08177CD8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08177CD8: - .4byte _08177D18 - .4byte _08177D26 - .4byte _08177D2C - .4byte _08177D40 - .4byte _08177D46 - .4byte _08177D4C - .4byte _08177D5C - .4byte _08177D78 - .4byte _08177D84 - .4byte _08177D8A - .4byte _08177D90 - .4byte _08177D96 - .4byte _08177D9C - .4byte _08177DA6 - .4byte _08177DB4 - .4byte _08177DC2 -_08177D18: - bl SetVBlankHBlankCallbacksToNull - bl sub_8121DA0 - bl clear_scheduled_bg_copies_to_vram - b _08177DDC -_08177D26: - bl remove_some_task - b _08177DDC -_08177D2C: - bl ResetPaletteFade - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - b _08177DDA - .pool -_08177D40: - bl ResetSpriteData - b _08177DDC -_08177D46: - bl FreeAllSpritePalettes - b _08177DDC -_08177D4C: - bl sub_81221AC - lsls r0, 24 - cmp r0, 0 - bne _08177DDC - bl ResetTasks - b _08177DDC -_08177D5C: - bl sub_8177E14 - ldr r0, =gUnknown_0203BCF4 - ldr r0, [r0] - ldr r1, =0x00001808 - adds r0, r1 - movs r1, 0 - strh r1, [r0] - b _08177DDC - .pool -_08177D78: - bl sub_8177E88 - lsls r0, 24 - cmp r0, 0 - beq _08177E0C - b _08177DDC -_08177D84: - bl sub_8178008 - b _08177DDC -_08177D8A: - bl sub_8178090 - b _08177DDC -_08177D90: - bl sub_81780F4 - b _08177DDC -_08177D96: - bl sub_8178338 - b _08177DDC -_08177D9C: - bl sub_817839C - bl sub_8178404 - b _08177DDC -_08177DA6: - ldr r0, =sub_8178654 - movs r1, 0 - bl CreateTask - b _08177DDC - .pool -_08177DB4: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - b _08177DDC -_08177DC2: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 -_08177DDA: - strb r0, [r2, 0x8] -_08177DDC: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08177E0C - .pool -_08177DF4: - ldr r0, =sub_8177C70 - bl SetVBlankCallback - ldr r0, =sub_8177C54 - bl SetMainCallback2 - movs r0, 0x1 - b _08177E0E - .pool -_08177E0C: - movs r0, 0 -_08177E0E: - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_8177CB0 - - thumb_func_start sub_8177E14 -sub_8177E14: @ 8177E14 - push {r4,lr} - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085EFCF0 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r4, =gUnknown_0203BCF4 - ldr r1, [r4] - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r1, [r4] - movs r0, 0x80 - lsls r0, 4 - adds r1, r0 - movs r0, 0x3 - bl SetBgTilemapBuffer - bl sub_8121E10 - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x3 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8177E14 - - thumb_func_start sub_8177E88 -sub_8177E88: @ 8177E88 - push {r4-r7,lr} - sub sp, 0x4 - ldr r1, =gUnknown_0203BCF4 - ldr r0, [r1] - ldr r2, =0x00001808 - adds r0, r2 - ldrh r0, [r0] - adds r7, r1, 0 - cmp r0, 0x5 - bls _08177E9E - b _08177FEC -_08177E9E: - lsls r0, 2 - ldr r1, =_08177EB4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08177EB4: - .4byte _08177ECC - .4byte _08177EF8 - .4byte _08177F1C - .4byte _08177F3C - .4byte _08177FA8 - .4byte _08177FC8 -_08177ECC: - bl reset_temp_tile_data_buffers - ldr r1, =gUnknown_08D9BB44 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r0, =gUnknown_0203BCF4 - ldr r1, [r0] - ldr r0, =0x00001808 - adds r1, r0 - b _08177FD6 - .pool -_08177EF8: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08177F06 - b _08177FFC -_08177F06: - ldr r0, =gUnknown_08D9BF98 - ldr r4, =gUnknown_0203BCF4 - ldr r1, [r4] - bl LZDecompressWram - ldr r1, [r4] - b _08177FD2 - .pool -_08177F1C: - ldr r0, =gUnknown_08D9C13C - ldr r1, [r7] - movs r2, 0x80 - lsls r2, 5 - adds r1, r2 - bl LZDecompressWram - ldr r1, [r7] - ldr r0, =0x00001808 - adds r1, r0 - b _08177FD6 - .pool -_08177F3C: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08177F78 - movs r2, 0 - ldr r6, =gUnknown_0203BCF4 - movs r5, 0x80 - lsls r5, 4 - ldr r4, =0x00004042 - ldr r3, =0x000003ff -_08177F52: - ldr r0, [r6] - lsls r1, r2, 1 - adds r0, r5 - adds r0, r1 - strh r4, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r3 - bls _08177F52 - b _08177F98 - .pool -_08177F78: - movs r2, 0 - ldr r6, =gUnknown_0203BCF4 - movs r5, 0x80 - lsls r5, 4 - ldr r4, =0x00005042 - ldr r3, =0x000003ff -_08177F84: - ldr r0, [r6] - lsls r1, r2, 1 - adds r0, r5 - adds r0, r1 - strh r4, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r3 - bls _08177F84 -_08177F98: - ldr r1, [r7] - b _08177FD2 - .pool -_08177FA8: - ldr r0, =gUnknown_08D9BEF0 - movs r1, 0 - movs r2, 0xC0 - bl LoadCompressedPalette - ldr r0, =gUnknown_0203BCF4 - ldr r1, [r0] - ldr r0, =0x00001808 - adds r1, r0 - b _08177FD6 - .pool -_08177FC8: - ldr r0, =gUnknown_0857FDEC - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0203BCF4 - ldr r1, [r0] -_08177FD2: - ldr r2, =0x00001808 - adds r1, r2 -_08177FD6: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08177FFC - .pool -_08177FEC: - ldr r0, =gUnknown_0857FDF4 - bl LoadCompressedObjectPalette - movs r0, 0x1 - b _08177FFE - .pool -_08177FFC: - movs r0, 0 -_08177FFE: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8177E88 - - thumb_func_start sub_8178008 -sub_8178008: @ 8178008 - push {r4,lr} - ldr r0, =gUnknown_085EFD28 - bl InitWindows - bl DeactivateAllTextPrinters - ldr r0, =gUnknown_085EFD00 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r4, 0 -_08178020: - lsls r0, r4, 24 - lsrs r0, 24 - bl PutWindowTilemap - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _08178020 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178008 - - thumb_func_start sub_817804C -sub_817804C: @ 817804C - push {r4-r6,lr} - sub sp, 0x14 - ldr r6, [sp, 0x24] - ldr r5, [sp, 0x28] - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r5, 24 - lsrs r5, 24 - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - lsls r4, r5, 1 - adds r4, r5 - ldr r5, =gUnknown_085EFD20 - adds r4, r5 - str r4, [sp, 0x8] - lsls r6, 24 - asrs r6, 24 - str r6, [sp, 0xC] - str r1, [sp, 0x10] - movs r1, 0x1 - bl AddTextPrinterParametrized2 - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817804C - - thumb_func_start sub_8178090 -sub_8178090: @ 8178090 - push {r4,lr} - sub sp, 0x8 - movs r0, 0 - bl GetBgTilemapBuffer - ldr r1, =gUnknown_0203BCF4 - ldr r1, [r1] - movs r2, 0x80 - lsls r2, 5 - adds r1, r2 - movs r2, 0x80 - lsls r2, 4 - bl memcpy - movs r0, 0x3 - movs r1, 0xFF - bl FillWindowPixelBuffer - ldr r4, =gText_BerryTag - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0x3 - adds r1, r4, 0 - movs r3, 0x1 - bl sub_817804C - movs r0, 0x3 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178090 - - thumb_func_start sub_81780F4 -sub_81780F4: @ 81780F4 - push {lr} - bl sub_8178110 - bl sub_8178174 - bl itemid_copy_name - bl sub_81782D0 - bl sub_8178304 - pop {r0} - bx r0 - thumb_func_end sub_81780F4 - - thumb_func_start sub_8178110 -sub_8178110: @ 8178110 - push {r4-r6,lr} - sub sp, 0x8 - ldr r5, =gUnknown_0203BCF4 - ldr r0, [r5] - movs r4, 0xC0 - lsls r4, 5 - adds r0, r4 - ldrb r0, [r0] - bl GetBerryInfo - adds r6, r0, 0 - ldr r0, =gStringVar1 - ldr r1, [r5] - adds r1, r4 - ldrh r1, [r1] - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, =gStringVar2 - adds r1, r6, 0 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_UnkF908Var1Var2 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x1 - bl sub_817804C - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178110 - - thumb_func_start sub_8178174 -sub_8178174: @ 8178174 - push {r4-r7,lr} - sub sp, 0xC - ldr r0, =gUnknown_0203BCF4 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - ldrb r0, [r0] - bl GetBerryInfo - adds r4, r0, 0 - ldr r2, =gText_SizeSlash - movs r7, 0x1 - str r7, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r6, 0 - str r6, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - ldrh r0, [r4, 0x8] - cmp r0, 0 - beq _08178230 - adds r1, r0, 0 - lsls r0, r1, 5 - subs r0, r1 - lsls r0, 2 - adds r0, r1 - lsls r0, 3 - movs r1, 0xFE - bl __divsi3 - adds r5, r0, 0 - movs r1, 0xA - bl __umodsi3 - cmp r0, 0x4 - bls _081781C8 - adds r5, 0xA -_081781C8: - adds r0, r5, 0 - movs r1, 0x64 - bl __umodsi3 - movs r1, 0xA - bl __udivsi3 - adds r4, r0, 0 - adds r0, r5, 0 - movs r1, 0x64 - bl __udivsi3 - adds r5, r0, 0 - ldr r0, =gStringVar1 - adds r1, r5, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, =gStringVar2 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar4 - ldr r1, =gText_Var1DotVar2 - adds r0, r4, 0 - bl StringExpandPlaceholders - str r7, [sp] - str r6, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x28 - bl PrintTextOnWindow - b _08178242 - .pool -_08178230: - ldr r2, =gText_ThreeMarks - str r7, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0x28 - bl PrintTextOnWindow -_08178242: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178174 - - thumb_func_start itemid_copy_name -itemid_copy_name: @ 8178250 - push {r4-r6,lr} - sub sp, 0xC - ldr r0, =gUnknown_0203BCF4 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - ldrb r0, [r0] - bl GetBerryInfo - adds r6, r0, 0 - ldr r2, =gText_FirmSlash - movs r5, 0x11 - str r5, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - ldrb r0, [r6, 0x7] - cmp r0, 0 - beq _081782B0 - ldr r0, =gBerryFirmnessStringPointers - ldrb r1, [r6, 0x7] - subs r1, 0x1 - lsls r1, 2 - adds r1, r0 - ldr r2, [r1] - str r5, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0x28 - bl PrintTextOnWindow - b _081782C2 - .pool -_081782B0: - ldr r2, =gText_ThreeMarks - str r5, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0x28 - bl PrintTextOnWindow -_081782C2: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end itemid_copy_name - - thumb_func_start sub_81782D0 -sub_81782D0: @ 81782D0 - push {lr} - sub sp, 0xC - ldr r0, =gUnknown_0203BCF4 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - ldrb r0, [r0] - bl GetBerryInfo - ldr r2, [r0, 0xC] - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81782D0 - - thumb_func_start sub_8178304 -sub_8178304: @ 8178304 - push {lr} - sub sp, 0xC - ldr r0, =gUnknown_0203BCF4 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - ldrb r0, [r0] - bl GetBerryInfo - ldr r2, [r0, 0x10] - movs r0, 0x11 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178304 - - thumb_func_start sub_8178338 -sub_8178338: @ 8178338 - push {r4,lr} - ldr r4, =gUnknown_0203BCF4 - ldr r0, [r4] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - ldrb r0, [r0] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x38 - movs r2, 0x40 - bl sub_80D50D4 - ldr r1, [r4] - ldr r2, =0x00001802 - adds r1, r2 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178338 - - thumb_func_start sub_817836C -sub_817836C: @ 817836C - push {lr} - ldr r0, =gUnknown_0203BCF4 - ldr r0, [r0] - ldr r1, =0x00001802 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - bl sub_80D510C - pop {r0} - bx r0 - .pool - thumb_func_end sub_817836C - - thumb_func_start sub_817839C -sub_817839C: @ 817839C - push {r4,lr} - movs r0, 0x40 - bl sub_80D518C - ldr r4, =gUnknown_0203BCF4 - ldr r1, [r4] - ldr r2, =0x00001803 - adds r1, r2 - strb r0, [r1] - movs r0, 0x68 - bl sub_80D518C - ldr r1, [r4] - ldr r2, =0x00001804 - adds r1, r2 - strb r0, [r1] - movs r0, 0x90 - bl sub_80D518C - ldr r1, [r4] - ldr r2, =0x00001805 - adds r1, r2 - strb r0, [r1] - movs r0, 0xB8 - bl sub_80D518C - ldr r1, [r4] - ldr r2, =0x00001806 - adds r1, r2 - strb r0, [r1] - movs r0, 0xE0 - bl sub_80D518C - ldr r1, [r4] - ldr r2, =0x00001807 - adds r1, r2 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817839C - - thumb_func_start sub_8178404 -sub_8178404: @ 8178404 - push {r4,r5,lr} - ldr r4, =gUnknown_0203BCF4 - ldr r0, [r4] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - ldrb r0, [r0] - bl GetBerryInfo - adds r5, r0, 0 - ldrb r0, [r5, 0x15] - cmp r0, 0 - beq _08178448 - ldr r3, =gSprites - ldr r0, [r4] - ldr r1, =0x00001803 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - b _08178462 - .pool -_08178448: - ldr r3, =gSprites - ldr r0, [r4] - ldr r1, =0x00001803 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 -_08178462: - strb r1, [r0] - adds r4, r3, 0 - ldrb r0, [r5, 0x16] - cmp r0, 0 - beq _0817849C - ldr r3, =gUnknown_0203BCF4 - ldr r0, [r3] - ldr r1, =0x00001804 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - b _081784B6 - .pool -_0817849C: - ldr r3, =gUnknown_0203BCF4 - ldr r0, [r3] - ldr r1, =0x00001804 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 -_081784B6: - strb r1, [r0] - ldrb r0, [r5, 0x17] - cmp r0, 0 - beq _081784E8 - ldr r0, [r3] - ldr r1, =0x00001805 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - b _08178500 - .pool -_081784E8: - ldr r0, [r3] - ldr r1, =0x00001805 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 -_08178500: - strb r1, [r0] - ldrb r0, [r5, 0x18] - cmp r0, 0 - beq _0817852C - ldr r0, [r3] - ldr r1, =0x00001806 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - b _08178544 - .pool -_0817852C: - ldr r0, [r3] - ldr r1, =0x00001806 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 -_08178544: - strb r1, [r0] - ldrb r0, [r5, 0x19] - cmp r0, 0 - beq _08178570 - ldr r0, [r3] - ldr r1, =0x00001807 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - b _08178588 - .pool -_08178570: - ldr r0, [r3] - ldr r1, =0x00001807 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 -_08178588: - strb r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178404 - - thumb_func_start sub_8178594 -sub_8178594: @ 8178594 - push {r4,lr} - movs r4, 0 -_08178598: - ldr r0, =gUnknown_0203BCF4 - ldr r0, [r0] - ldr r1, =0x00001803 - adds r0, r1 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x4 - bls _08178598 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178594 - - thumb_func_start sub_81785D0 -sub_81785D0: @ 81785D0 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_8178610 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81785D0 - - thumb_func_start sub_8178610 -sub_8178610: @ 8178610 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08178642 - bl sub_817836C - bl sub_8178594 - ldr r0, =gUnknown_0203BCF4 - ldr r0, [r0] - bl Free - bl FreeAllWindowBuffers - ldr r0, =bag_menu_mail_related - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_08178642: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178610 - - thumb_func_start sub_8178654 -sub_8178654: @ 8178654 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - adds r4, r2, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081786A6 - ldr r3, =gMain - ldrh r0, [r3, 0x30] - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0x40 - bne _08178688 - movs r1, 0x1 - negs r1, r1 - adds r0, r2, 0 - bl sub_81786AC - b _081786A6 - .pool -_08178688: - cmp r1, 0x80 - bne _08178696 - adds r0, r2, 0 - movs r1, 0x1 - bl sub_81786AC - b _081786A6 -_08178696: - ldrh r1, [r3, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _081786A6 - adds r0, r4, 0 - bl sub_81785D0 -_081786A6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8178654 - - thumb_func_start sub_81786AC -sub_81786AC: @ 81786AC - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r2, =gTasks + 0x8 - adds r4, r0, r2 - ldr r2, =gUnknown_0203CE58 - ldrh r0, [r2, 0xE] - ldrh r2, [r2, 0x18] - adds r0, r2 - lsls r0, 16 - asrs r0, 16 - lsrs r7, r1, 24 - asrs r6, r1, 24 - adds r0, r6 - cmp r0, 0x2D - bhi _08178718 - lsls r1, r0, 16 - lsrs r1, 16 - movs r0, 0x4 - bl BagGetItemIdByPocketPosition - lsls r0, 16 - cmp r0, 0 - beq _08178718 - cmp r6, 0 - bge _081786F4 - movs r0, 0x2 - b _081786F6 - .pool -_081786F4: - movs r0, 0x1 -_081786F6: - strh r0, [r4, 0x2] - movs r0, 0 - strh r0, [r4] - movs r0, 0x5 - bl PlaySE - lsls r0, r7, 24 - asrs r0, 24 - bl sub_8178728 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81787AC - str r1, [r0] -_08178718: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81786AC - - thumb_func_start sub_8178728 -sub_8178728: @ 8178728 - push {r4-r6,lr} - ldr r5, =gUnknown_0203CE70 - adds r6, r5, 0 - subs r6, 0xA - lsls r0, 24 - asrs r4, r0, 24 - cmp r4, 0 - ble _08178764 - ldrh r0, [r6] - cmp r0, 0x3 - bls _08178752 - ldrh r1, [r5] - adds r1, 0x8 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x4 - bl BagGetItemIdByPocketPosition - lsls r0, 16 - cmp r0, 0 - bne _08178760 -_08178752: - ldrh r0, [r6] - adds r0, r4 - strh r0, [r6] - b _0817877A - .pool -_08178760: - ldrh r0, [r5] - b _08178776 -_08178764: - ldrh r1, [r6] - cmp r1, 0x3 - bhi _08178770 - ldrh r0, [r5] - cmp r0, 0 - bne _08178776 -_08178770: - adds r0, r1, r4 - strh r0, [r6] - b _0817877A -_08178776: - adds r0, r4 - strh r0, [r5] -_0817877A: - ldrh r1, [r6] - ldrh r5, [r5] - adds r1, r5 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x4 - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r0, 16 - bl ItemIdToBerryType - ldr r1, =gUnknown_0203BCF4 - ldr r1, [r1] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0xC0 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178728 - - thumb_func_start sub_81787AC -sub_81787AC: @ 81787AC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, 2 - add r0, r8 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - ldrh r0, [r6] - adds r0, 0x10 - movs r1, 0xFF - ands r0, r1 - strh r0, [r6] - movs r1, 0x2 - ldrsh r0, [r6, r1] - cmp r0, 0x1 - bne _08178828 - movs r2, 0 - ldrsh r0, [r6, r2] - cmp r0, 0x70 - beq _08178888 - cmp r0, 0x70 - bgt _081787FE - cmp r0, 0x40 - beq _0817881A - cmp r0, 0x40 - bgt _081787F4 - cmp r0, 0x30 - beq _08178898 - b _081788A6 - .pool -_081787F4: - cmp r0, 0x50 - beq _0817888E - cmp r0, 0x60 - beq _08178820 - b _081788A6 -_081787FE: - cmp r0, 0xA0 - beq _08178824 - cmp r0, 0xA0 - bgt _08178810 - cmp r0, 0x80 - beq _08178882 - cmp r0, 0x90 - beq _08178878 - b _081788A6 -_08178810: - cmp r0, 0xB0 - beq _08178872 - cmp r0, 0xC0 - beq _0817886C - b _081788A6 -_0817881A: - bl sub_8178110 - b _081788A6 -_08178820: - movs r0, 0x1 - b _0817889A -_08178824: - movs r0, 0x2 - b _0817889A -_08178828: - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0x70 - beq _0817887E - cmp r0, 0x70 - bgt _0817884C - cmp r0, 0x40 - beq _0817886C - cmp r0, 0x40 - bgt _08178842 - cmp r0, 0x30 - beq _08178868 - b _081788A6 -_08178842: - cmp r0, 0x50 - beq _08178872 - cmp r0, 0x60 - beq _08178878 - b _081788A6 -_0817884C: - cmp r0, 0xA0 - beq _0817888E - cmp r0, 0xA0 - bgt _0817885E - cmp r0, 0x80 - beq _08178882 - cmp r0, 0x90 - beq _08178888 - b _081788A6 -_0817885E: - cmp r0, 0xB0 - beq _08178898 - cmp r0, 0xC0 - beq _081788A2 - b _081788A6 -_08178868: - movs r0, 0x2 - b _0817889A -_0817886C: - bl sub_8178304 - b _081788A6 -_08178872: - bl sub_81782D0 - b _081788A6 -_08178878: - bl sub_8178404 - b _081788A6 -_0817887E: - movs r0, 0x1 - b _0817889A -_08178882: - bl itemid_copy_name - b _081788A6 -_08178888: - bl sub_8178174 - b _081788A6 -_0817888E: - bl sub_817836C - bl sub_8178338 - b _081788A6 -_08178898: - movs r0, 0 -_0817889A: - movs r1, 0 - bl FillWindowPixelBuffer - b _081788A6 -_081788A2: - bl sub_8178110 -_081788A6: - movs r2, 0x2 - ldrsh r0, [r6, r2] - cmp r0, 0x1 - bne _081788B8 - ldrh r0, [r6] - negs r0, r0 - lsls r0, 16 - lsrs r5, r0, 16 - b _081788BA -_081788B8: - ldrh r5, [r6] -_081788BA: - ldr r2, =gSprites - ldr r3, =gUnknown_0203BCF4 - ldr r0, [r3] - ldr r1, =0x00001802 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x26] - movs r4, 0 - adds r7, r2, 0 - ldr r2, =0x00001803 -_081788D6: - ldr r0, [r3] - adds r0, r2 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r5, [r0, 0x26] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x4 - bls _081788D6 - movs r4, 0x80 - lsls r4, 5 - ldrb r2, [r6, 0x2] - movs r0, 0x1 - adds r1, r4, 0 - bl ChangeBgY - ldrb r2, [r6, 0x2] - movs r0, 0x2 - adds r1, r4, 0 - bl ChangeBgY - movs r2, 0 - ldrsh r0, [r6, r2] - cmp r0, 0 - bne _08178922 - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8178654 - str r0, [r1] -_08178922: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81787AC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/bike.s b/asm/bike.s deleted file mode 100644 index b5d40a312c..0000000000 --- a/asm/bike.s +++ /dev/null @@ -1,2199 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start MovePlayerOnBike -@ void MovePlayerOnBike(int dpad_direction, int buttons_new, int buttons_held) -MovePlayerOnBike: @ 8119164 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r0, =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0811918C - adds r0, r3, 0 - adds r1, r4, 0 - bl MovePlayerOnMachBike - b _08119194 - .pool -_0811918C: - adds r0, r3, 0 - adds r1, r4, 0 - bl MovePlayerOnAcroBike -_08119194: - pop {r4} - pop {r0} - bx r0 - thumb_func_end MovePlayerOnBike - - thumb_func_start MovePlayerOnMachBike -MovePlayerOnMachBike: @ 811919C - push {r4,lr} - sub sp, 0x4 - mov r1, sp - strb r0, [r1] - ldr r4, =gUnknown_0859744C - mov r0, sp - bl CheckMovementInputMachBike - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - mov r1, sp - ldrb r1, [r1] - ldr r2, [r0] - adds r0, r1, 0 - bl _call_via_r2 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end MovePlayerOnMachBike - - thumb_func_start CheckMovementInputMachBike -CheckMovementInputMachBike: @ 81191CC - push {r4,lr} - adds r4, r0, 0 - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r0, 24 - adds r3, r0, 0 - ldrb r1, [r4] - cmp r1, 0 - bne _081191F4 - strb r0, [r4] - ldr r2, =gPlayerAvatar - ldrb r0, [r2, 0xB] - cmp r0, 0 - bne _08119208 - strb r1, [r2, 0x2] - movs r0, 0 - b _0811921C - .pool -_081191F4: - ldr r2, =gPlayerAvatar - cmp r1, r3 - beq _08119218 - ldrb r0, [r2, 0x2] - cmp r0, 0x2 - beq _08119218 - ldrb r0, [r2, 0xB] - cmp r0, 0 - beq _08119214 - strb r3, [r4] -_08119208: - movs r0, 0x2 - strb r0, [r2, 0x2] - movs r0, 0x3 - b _0811921C - .pool -_08119214: - movs r0, 0x1 - b _0811921A -_08119218: - movs r0, 0x2 -_0811921A: - strb r0, [r2, 0x2] -_0811921C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end CheckMovementInputMachBike - - thumb_func_start sub_8119224 -sub_8119224: @ 8119224 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl PlayerFaceDirection - bl sub_811A128 - pop {r0} - bx r0 - thumb_func_end sub_8119224 - - thumb_func_start sub_8119238 -sub_8119238: @ 8119238 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - ldrb r1, [r4, 0x1E] - adds r0, r5, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - beq _08119270 - adds r0, r5, 0 - bl PlayerTurnInPlace - bl sub_811A128 - b _0811927A - .pool -_08119270: - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl sub_8119224 -_0811927A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8119238 - - thumb_func_start sub_8119280 -sub_8119280: @ 8119280 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r5, 0 - ldr r6, =gPlayerAvatar - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - ldrb r1, [r4, 0x1E] - adds r0, r5, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _081192C6 - ldrb r0, [r6, 0xB] - cmp r0, 0 - beq _081192BC - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl sub_8119344 - b _0811933A - .pool -_081192BC: - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl sub_8119224 - b _0811933A -_081192C6: - adds r0, r5, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0xA - bhi _08119316 - cmp r4, 0x6 - bne _081192E8 - adds r0, r5, 0 - bl PlayerJumpLedge - b _0811933A -_081192E8: - bl sub_811A128 - cmp r4, 0x4 - bne _08119304 - adds r0, r5, 0 - bl IsPlayerCollidingWithFarawayIslandMew - lsls r0, 24 - cmp r0, 0 - beq _08119304 - adds r0, r5, 0 - bl PlayerOnBikeCollideWithFarawayIslandMew - b _0811933A -_08119304: - subs r0, r4, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _0811933A - adds r0, r7, 0 - bl PlayerOnBikeCollide - b _0811933A -_08119316: - ldr r1, =gUnknown_0859745C - ldrb r0, [r6, 0xA] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r7, 0 - bl _call_via_r1 - ldrb r2, [r6, 0xA] - lsls r0, r2, 24 - lsrs r1, r0, 24 - lsrs r0, 25 - adds r0, r2, r0 - strb r0, [r6, 0xB] - cmp r1, 0x1 - bhi _0811933A - adds r0, r2, 0x1 - strb r0, [r6, 0xA] -_0811933A: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119280 - - thumb_func_start sub_8119344 -sub_8119344: @ 8119344 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r5, 0 - ldr r6, =gPlayerAvatar - ldrb r0, [r6, 0xB] - cmp r0, 0 - beq _0811935A - subs r0, 0x1 - strb r0, [r6, 0xB] - strb r0, [r6, 0xA] -_0811935A: - adds r0, r5, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0xA - bhi _081193AE - cmp r4, 0x6 - bne _08119380 - adds r0, r5, 0 - bl PlayerJumpLedge - b _081193BE - .pool -_08119380: - bl sub_811A128 - cmp r4, 0x4 - bne _0811939C - adds r0, r5, 0 - bl IsPlayerCollidingWithFarawayIslandMew - lsls r0, 24 - cmp r0, 0 - beq _0811939C - adds r0, r5, 0 - bl PlayerOnBikeCollideWithFarawayIslandMew - b _081193BE -_0811939C: - subs r0, r4, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _081193BE - adds r0, r7, 0 - bl PlayerOnBikeCollide - b _081193BE -_081193AE: - ldr r0, =gUnknown_0859745C - ldrb r1, [r6, 0xA] - lsls r1, 2 - adds r1, r0 - ldr r1, [r1] - adds r0, r7, 0 - bl _call_via_r1 -_081193BE: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119344 - - thumb_func_start MovePlayerOnAcroBike -@ void MovePlayerOnAcroBike(int dpad_direction, int buttons_new, int buttons_held) -MovePlayerOnAcroBike: @ 81193C8 - push {r4,lr} - sub sp, 0x4 - mov r3, sp - strb r0, [r3] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r4, =gUnknown_08597468 - mov r0, sp - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - mov r1, sp - ldrb r1, [r1] - ldr r2, [r0] - adds r0, r1, 0 - bl _call_via_r2 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end MovePlayerOnAcroBike - - thumb_func_start CheckMovementInputAcroBike -CheckMovementInputAcroBike: @ 8119400 - push {r4,lr} - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r4, =gUnknown_0859749C - ldr r3, =gPlayerAvatar - ldrb r3, [r3, 0x8] - lsls r3, 2 - adds r3, r4 - ldr r3, [r3] - bl _call_via_r3 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end CheckMovementInputAcroBike - - thumb_func_start CheckMovementInputAcroBikeNormal -CheckMovementInputAcroBikeNormal: @ 811942C - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gPlayerAvatar - movs r0, 0 - strb r0, [r2, 0xA] - ldrb r1, [r4] - cmp r1, 0 - bne _0811946C - movs r0, 0x2 - ands r0, r6 - cmp r0, 0 - beq _08119464 - strb r3, [r4] - strb r1, [r2, 0x2] - movs r0, 0x2 - strb r0, [r2, 0x8] - movs r0, 0x3 - b _081194C0 - .pool -_08119464: - strb r3, [r4] - strb r1, [r2, 0x2] - movs r0, 0 - b _081194C0 -_0811946C: - cmp r1, r3 - bne _08119492 - movs r0, 0x2 - ands r0, r5 - cmp r0, 0 - beq _0811948A - ldrb r0, [r2, 0xB] - cmp r0, 0 - bne _0811948A - adds r0, 0x1 - strb r0, [r2, 0xB] - movs r0, 0x4 - strb r0, [r2, 0x8] - movs r0, 0xB - b _081194C0 -_0811948A: - ldrb r0, [r4] - ldr r2, =gPlayerAvatar - cmp r0, r3 - beq _081194BC -_08119492: - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x2] - adds r2, r0, 0 - cmp r1, 0x2 - beq _081194BC - movs r1, 0 - movs r0, 0x1 - strb r0, [r2, 0x8] - ldrb r0, [r4] - strb r0, [r2, 0x9] - strb r1, [r2, 0x2] - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - b _081194C0 - .pool -_081194BC: - movs r0, 0x2 - strb r0, [r2, 0x2] -_081194C0: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CheckMovementInputAcroBikeNormal - - thumb_func_start CheckMovementInputAcroBikeChangingDirection -CheckMovementInputAcroBikeChangingDirection: @ 81194C8 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, =gPlayerAvatar - ldrb r0, [r4, 0x9] - strb r0, [r5] - ldrb r0, [r4, 0xA] - adds r0, 0x1 - strb r0, [r4, 0xA] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bls _081194F4 - movs r0, 0x1 - strb r0, [r4, 0x2] - movs r0, 0 - strb r0, [r4, 0x8] - bl sub_811A128 - movs r0, 0x1 - b _0811953A - .pool -_081194F4: - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r6, r0, 24 - bl sub_8119D30 - ldrb r1, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _08119536 - bl sub_811A128 - movs r0, 0x1 - strb r0, [r4, 0xB] - adds r0, r6, 0 - bl GetOppositeDirection - ldrb r1, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _0811952A - movs r0, 0x6 - strb r0, [r4, 0x8] - movs r0, 0x9 - b _0811953A -_0811952A: - movs r0, 0x2 - strb r0, [r4, 0x2] - movs r0, 0x5 - strb r0, [r4, 0x8] - movs r0, 0x8 - b _0811953A -_08119536: - strb r6, [r5] - movs r0, 0 -_0811953A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CheckMovementInputAcroBikeChangingDirection - - thumb_func_start CheckMovementInputAcroBikeStandingWheelie -CheckMovementInputAcroBikeStandingWheelie: @ 8119540 - push {r4-r7,lr} - adds r7, r0, 0 - lsls r4, r2, 16 - lsrs r4, 16 - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, =gPlayerAvatar - ldrb r1, [r5, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r1, r0, r1 - movs r0, 0 - strb r0, [r5, 0x2] - movs r0, 0x2 - ands r4, r0 - lsls r4, 16 - lsrs r4, 16 - cmp r4, 0 - bne _08119594 - strb r4, [r5, 0xA] - ldrb r0, [r1, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0811959A - strb r6, [r7] - strb r0, [r5, 0x8] - bl sub_811A128 - movs r0, 0x4 - b _081195D8 - .pool -_08119594: - ldrb r0, [r5, 0xA] - adds r0, 0x1 - strb r0, [r5, 0xA] -_0811959A: - ldr r1, =gPlayerAvatar - ldrb r0, [r1, 0xA] - cmp r0, 0x27 - bls _081195B4 - strb r6, [r7] - movs r0, 0x3 - strb r0, [r1, 0x8] - bl sub_811A128 - movs r0, 0x6 - b _081195D8 - .pool -_081195B4: - ldrb r0, [r7] - cmp r0, r6 - bne _081195CA - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0x4 - strb r0, [r1, 0x8] - bl sub_811A128 - movs r0, 0xA - b _081195D8 -_081195CA: - cmp r0, 0 - beq _081195D4 - movs r0, 0x1 - strb r0, [r1, 0x2] - b _081195D6 -_081195D4: - strb r6, [r7] -_081195D6: - movs r0, 0x5 -_081195D8: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckMovementInputAcroBikeStandingWheelie - - thumb_func_start CheckMovementInputAcroBikeBunnyHop -CheckMovementInputAcroBikeBunnyHop: @ 81195E0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r5, r0, 24 - adds r2, r5, 0 - ldr r4, =gPlayerAvatar - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r7, r0, r1 - movs r0, 0x2 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _08119652 - bl sub_811A128 - ldrb r0, [r7, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08119648 - movs r0, 0x2 - strb r0, [r4, 0x8] - adds r0, r6, 0 - mov r1, r9 - mov r2, r8 - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - b _08119676 - .pool -_08119648: - strb r5, [r6] - strb r0, [r4, 0x2] - strb r0, [r4, 0x8] - movs r0, 0x4 - b _08119676 -_08119652: - ldrb r0, [r6] - cmp r0, 0 - bne _0811965C - strb r5, [r6] - b _08119668 -_0811965C: - cmp r0, r2 - beq _0811966E - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _0811966E - movs r0, 0x1 -_08119668: - strb r0, [r4, 0x2] - movs r0, 0x6 - b _08119676 -_0811966E: - ldr r1, =gPlayerAvatar - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0x7 -_08119676: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end CheckMovementInputAcroBikeBunnyHop - - thumb_func_start CheckMovementInputAcroBikeMovingWheelie -CheckMovementInputAcroBikeMovingWheelie: @ 8119688 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r6, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r5, r0, 24 - adds r2, r5, 0 - ldr r4, =gPlayerAvatar - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r7, r0, r1 - movs r0, 0x2 - mov r9, r0 - movs r0, 0x2 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _08119720 - bl sub_811A128 - ldrb r0, [r7, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _0811970C - strb r1, [r4, 0x8] - ldrb r0, [r6] - cmp r0, 0 - bne _081196EC - strb r5, [r6] - b _081196F6 - .pool -_081196EC: - cmp r0, r5 - beq _081196FC - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _081196FC -_081196F6: - strb r1, [r4, 0x2] - movs r0, 0x4 - b _08119750 -_081196FC: - ldr r1, =gPlayerAvatar - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0xC - b _08119750 - .pool -_0811970C: - mov r0, r9 - strb r0, [r4, 0x8] - adds r0, r6, 0 - mov r1, r10 - mov r2, r8 - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - b _08119750 -_08119720: - ldrb r0, [r6] - cmp r0, 0 - bne _08119736 - strb r5, [r6] - mov r1, r9 - strb r1, [r4, 0x8] - strb r0, [r4, 0x2] - bl sub_811A128 - movs r0, 0x5 - b _08119750 -_08119736: - cmp r2, r0 - beq _08119748 - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _08119748 - movs r0, 0 - strb r0, [r4, 0x2] - movs r0, 0x5 - b _08119750 -_08119748: - ldr r1, =gPlayerAvatar - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0xA -_08119750: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end CheckMovementInputAcroBikeMovingWheelie - - thumb_func_start CheckMovementInputAcroBikeUnknownMode5 -CheckMovementInputAcroBikeUnknownMode5: @ 8119764 - push {r4-r6,lr} - mov r6, r8 - push {r6} - mov r8, r0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r6, =gPlayerAvatar - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - ldrb r2, [r0, 0x1] - movs r1, 0x3 - negs r1, r1 - ands r1, r2 - strb r1, [r0, 0x1] - ldrb r1, [r0, 0x18] - lsls r1, 28 - lsrs r1, 28 - bl FieldObjectSetDirection - movs r0, 0 - strb r0, [r6, 0x8] - mov r0, r8 - adds r1, r4, 0 - adds r2, r5, 0 - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end CheckMovementInputAcroBikeUnknownMode5 - - thumb_func_start CheckMovementInputAcroBikeUnknownMode6 -CheckMovementInputAcroBikeUnknownMode6: @ 81197C0 - push {r4,lr} - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r4, =gPlayerAvatar - movs r3, 0 - strb r3, [r4, 0x8] - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end CheckMovementInputAcroBikeUnknownMode6 - - thumb_func_start sub_81197E4 -sub_81197E4: @ 81197E4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl PlayerFaceDirection - pop {r0} - bx r0 - thumb_func_end sub_81197E4 - - thumb_func_start sub_81197F4 -sub_81197F4: @ 81197F4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _0811981A - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_0811981A: - adds r0, r4, 0 - bl PlayerFaceDirection - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81197F4 - - thumb_func_start sub_8119830 -sub_8119830: @ 8119830 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - ldrb r1, [r4, 0x1E] - adds r0, r5, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _08119868 - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl sub_81197E4 - b _081198BA - .pool -_08119868: - adds r0, r5, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0xA - bhi _081198B4 - cmp r4, 0x6 - bne _0811988A - adds r0, r5, 0 - bl PlayerJumpLedge - b _081198BA -_0811988A: - cmp r4, 0x4 - bne _081198A2 - adds r0, r5, 0 - bl IsPlayerCollidingWithFarawayIslandMew - lsls r0, 24 - cmp r0, 0 - beq _081198A2 - adds r0, r5, 0 - bl PlayerOnBikeCollideWithFarawayIslandMew - b _081198BA -_081198A2: - subs r0, r4, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _081198BA - adds r0, r6, 0 - bl PlayerOnBikeCollide - b _081198BA -_081198B4: - adds r0, r6, 0 - bl PlayerGoSpeed2 -_081198BA: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8119830 - - thumb_func_start sub_81198C0 -sub_81198C0: @ 81198C0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _081198E6 - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_081198E6: - adds r0, r4, 0 - bl sub_808B8C0 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81198C0 - - thumb_func_start sub_81198FC -sub_81198FC: @ 81198FC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _08119922 - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_08119922: - adds r0, r4, 0 - bl sub_808B8D8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81198FC - - thumb_func_start sub_8119938 -sub_8119938: @ 8119938 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _0811995E - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_0811995E: - adds r0, r4, 0 - bl sub_808B8A8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119938 - - thumb_func_start sub_8119974 -sub_8119974: @ 8119974 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _0811999A - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_0811999A: - adds r0, r4, 0 - bl sub_808B8F0 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119974 - - thumb_func_start sub_81199B0 -sub_81199B0: @ 81199B0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _081199E4 - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_8119974 - b _08119A1E - .pool -_081199E4: - adds r0, r4, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08119A18 - cmp r1, 0x9 - beq _08119A18 - cmp r1, 0x6 - bne _08119A02 - adds r0, r4, 0 - bl sub_808B938 - b _08119A1E -_08119A02: - subs r0, r1, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08119A1E - cmp r1, 0xB - bhi _08119A18 - adds r0, r4, 0 - bl sub_8119974 - b _08119A1E -_08119A18: - adds r0, r4, 0 - bl sub_808B914 -_08119A1E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81199B0 - - thumb_func_start sub_8119A24 -sub_8119A24: @ 8119A24 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0 - beq _08119A58 - cmp r0, 0x7 - beq _08119A84 - cmp r0, 0x9 - bls _08119A50 - adds r0, r1, 0 - adds r1, r5, 0 - bl sub_8119FC4 - lsls r0, 24 - cmp r0, 0 - bne _08119A58 -_08119A50: - adds r0, r5, 0 - bl sub_81197F4 - b _08119A84 -_08119A58: - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gMapObjects - adds r4, r0 - movs r0, 0x22 - bl PlaySE - ldrb r0, [r4, 0x1] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4, 0x1] - adds r0, r5, 0 - bl sub_8093514 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl player_npc_set_state_and_x22_etc -_08119A84: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119A24 - - thumb_func_start sub_8119A94 -sub_8119A94: @ 8119A94 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_808B95C - pop {r0} - bx r0 - thumb_func_end sub_8119A94 - - thumb_func_start sub_8119AA4 -sub_8119AA4: @ 8119AA4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r7, =gPlayerAvatar - ldrb r1, [r7, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _08119ADC - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_808B8A8 - b _08119B2C - .pool -_08119ADC: - adds r0, r4, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xFF - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0xA - bhi _08119B22 - cmp r1, 0x6 - bne _08119AFE - adds r0, r4, 0 - bl sub_808B938 - b _08119B2C -_08119AFE: - cmp r1, 0x9 - beq _08119B12 - cmp r1, 0x4 - bhi _08119B2C - ldrb r0, [r5, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - cmp r0, 0 - beq _08119B1A -_08119B12: - adds r0, r4, 0 - bl sub_808B8A8 - b _08119B2C -_08119B1A: - adds r0, r4, 0 - bl sub_808B980 - b _08119B2C -_08119B22: - adds r0, r6, 0 - bl sub_808B9BC - movs r0, 0x2 - strb r0, [r7, 0x2] -_08119B2C: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8119AA4 - - thumb_func_start sub_8119B34 -sub_8119B34: @ 8119B34 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r7, =gPlayerAvatar - ldrb r1, [r7, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _08119B6C - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_808B8C0 - b _08119BBC - .pool -_08119B6C: - adds r0, r4, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xFF - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0xA - bhi _08119BB2 - cmp r1, 0x6 - bne _08119B8E - adds r0, r4, 0 - bl sub_808B938 - b _08119BBC -_08119B8E: - cmp r1, 0x9 - beq _08119BA2 - cmp r1, 0x4 - bhi _08119BBC - ldrb r0, [r5, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - cmp r0, 0 - beq _08119BAA -_08119BA2: - adds r0, r4, 0 - bl sub_808B8A8 - b _08119BBC -_08119BAA: - adds r0, r4, 0 - bl sub_808B980 - b _08119BBC -_08119BB2: - adds r0, r6, 0 - bl sub_808B9A4 - movs r0, 0x2 - strb r0, [r7, 0x2] -_08119BBC: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8119B34 - - thumb_func_start sub_8119BC4 -sub_8119BC4: @ 8119BC4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _08119BFC - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_808B8D8 - b _08119C36 - .pool -_08119BFC: - adds r0, r4, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xFF - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0xA - bhi _08119C30 - cmp r1, 0x6 - bne _08119C1E - adds r0, r4, 0 - bl PlayerJumpLedge - b _08119C36 -_08119C1E: - subs r0, r1, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08119C36 - adds r0, r4, 0 - bl sub_808B8D8 - b _08119C36 -_08119C30: - adds r0, r6, 0 - bl npc_use_some_d2s -_08119C36: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8119BC4 - - thumb_func_start sub_8119C3C -@ void sub_8119C3C(int buttons_new, int buttons_held) -sub_8119C3C: @ 8119C3C - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - lsrs r2, r1, 16 - ldr r0, =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08119C5A - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_8119C64 -_08119C5A: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119C3C - - thumb_func_start sub_8119C64 -@ void sub_8119C64(int buttons_new, int buttons_held) -sub_8119C64: @ 8119C64 - push {r4,r5,lr} - lsls r1, 16 - lsrs r5, r1, 16 - adds r0, r5, 0 - bl sub_8119DF8 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r4, =gPlayerAvatar - ldr r0, [r4, 0xC] - movs r1, 0xF - ands r0, r1 - cmp r2, r0 - bne _08119C90 - ldrb r0, [r4, 0x14] - cmp r0, 0xFE - bhi _08119C9A - adds r0, 0x1 - strb r0, [r4, 0x14] - b _08119C9A - .pool -_08119C90: - adds r0, r2, 0 - bl sub_8119D80 - movs r0, 0 - strb r0, [r4, 0xB] -_08119C9A: - movs r0, 0xF - adds r2, r5, 0 - ands r2, r0 - ldr r4, =gPlayerAvatar - ldr r0, [r4, 0x10] - movs r1, 0xF - ands r0, r1 - cmp r2, r0 - bne _08119CBC - ldrb r0, [r4, 0x1C] - cmp r0, 0xFE - bhi _08119CC6 - adds r0, 0x1 - strb r0, [r4, 0x1C] - b _08119CC6 - .pool -_08119CBC: - adds r0, r2, 0 - bl sub_8119DBC - movs r0, 0 - strb r0, [r4, 0xB] -_08119CC6: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8119C64 - - thumb_func_start sub_8119CCC -sub_8119CCC: @ 8119CCC - push {r4,r5,lr} - adds r3, r0, 0 - adds r4, r1, 0 - movs r2, 0 - ldrb r0, [r3] - cmp r0, 0 - beq _08119CF6 - ldr r5, =gUnknown_020375A4 -_08119CDC: - adds r0, r2, r5 - adds r1, r3, r2 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bhi _08119D0C - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _08119CDC -_08119CF6: - movs r2, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _08119D26 - ldr r3, =gUnknown_020375AC -_08119D00: - adds r0, r2, r3 - adds r1, r4, r2 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _08119D18 -_08119D0C: - movs r0, 0 - b _08119D28 - .pool -_08119D18: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r4, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _08119D00 -_08119D26: - movs r0, 0x1 -_08119D28: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8119CCC - - thumb_func_start sub_8119D30 -sub_8119D30: @ 8119D30 - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 -_08119D36: - ldr r0, =gUnknown_085974C0 - adds r4, r5, r0 - ldr r0, =gPlayerAvatar - ldr r1, [r0, 0xC] - ldr r2, [r0, 0x10] - ldr r0, [r4, 0x8] - ands r1, r0 - ldr r0, [r4, 0xC] - ands r2, r0 - ldr r0, [r4] - cmp r1, r0 - bne _08119D70 - ldr r0, [r4, 0x4] - cmp r2, r0 - bne _08119D70 - ldr r0, [r4, 0x10] - ldr r1, [r4, 0x14] - bl sub_8119CCC - lsls r0, 24 - cmp r0, 0 - beq _08119D70 - ldrb r0, [r4, 0x18] - b _08119D7A - .pool -_08119D70: - adds r5, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - bls _08119D36 - movs r0, 0 -_08119D7A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8119D30 - - thumb_func_start sub_8119D80 -sub_8119D80: @ 8119D80 - push {r4,lr} - lsls r0, 24 - ldr r3, =gPlayerAvatar - ldr r2, [r3, 0xC] - lsls r2, 4 - movs r1, 0xF0 - lsls r1, 20 - ands r1, r0 - lsrs r1, 24 - orrs r2, r1 - str r2, [r3, 0xC] - movs r1, 0x7 - adds r4, r3, 0 - adds r3, 0x14 -_08119D9C: - adds r2, r1, r3 - subs r1, 0x1 - adds r0, r1, r3 - ldrb r0, [r0] - strb r0, [r2] - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0 - bne _08119D9C - movs r0, 0x1 - strb r0, [r4, 0x14] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119D80 - - thumb_func_start sub_8119DBC -sub_8119DBC: @ 8119DBC - push {r4,lr} - lsls r0, 24 - ldr r3, =gPlayerAvatar - ldr r2, [r3, 0x10] - lsls r2, 4 - movs r1, 0xF0 - lsls r1, 20 - ands r1, r0 - lsrs r1, 24 - orrs r2, r1 - str r2, [r3, 0x10] - movs r1, 0x7 - adds r4, r3, 0 - adds r3, 0x1C -_08119DD8: - adds r2, r1, r3 - subs r1, 0x1 - adds r0, r1, r3 - ldrb r0, [r0] - strb r0, [r2] - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0 - bne _08119DD8 - movs r0, 0x1 - strb r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119DBC - - thumb_func_start sub_8119DF8 -sub_8119DF8: @ 8119DF8 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - adds r2, r1, 0 - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08119E0C - movs r0, 0x2 - b _08119E32 -_08119E0C: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08119E18 - movs r0, 0x1 - b _08119E32 -_08119E18: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08119E24 - movs r0, 0x3 - b _08119E32 -_08119E24: - movs r0, 0x10 - ands r2, r0 - cmp r2, 0 - bne _08119E30 - movs r0, 0 - b _08119E32 -_08119E30: - movs r0, 0x4 -_08119E32: - pop {r1} - bx r1 - thumb_func_end sub_8119DF8 - - thumb_func_start sub_8119E38 -sub_8119E38: @ 8119E38 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gMapObjects - adds r4, r0 - ldrh r1, [r4, 0x10] - add r0, sp, 0x4 - strh r1, [r0] - ldrh r0, [r4, 0x12] - mov r5, sp - adds r5, 0x6 - strh r0, [r5] - adds r0, r6, 0 - add r1, sp, 0x4 - adds r2, r5, 0 - bl MoveCoords - add r0, sp, 0x4 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - add r1, sp, 0x4 - movs r3, 0 - ldrsh r1, [r1, r3] - movs r3, 0 - ldrsh r2, [r5, r3] - str r0, [sp] - adds r0, r4, 0 - adds r3, r6, 0 - bl sub_8119EA4 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8119E38 - - thumb_func_start sub_8119EA4 -sub_8119EA4: @ 8119EA4 - push {r4,r5,lr} - sub sp, 0x4 - ldr r4, [sp, 0x10] - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - adds r5, r4, 0 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - str r5, [sp] - bl CheckForFieldObjectCollision - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bhi _08119EE4 - cmp r4, 0 - bne _08119EE0 - adds r0, r5, 0 - bl IsRunningDisallowedByMetatile - lsls r0, 24 - cmp r0, 0 - beq _08119EDC - movs r4, 0x2 -_08119EDC: - cmp r4, 0 - beq _08119EE4 -_08119EE0: - bl sub_8119F50 -_08119EE4: - adds r0, r4, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8119EA4 - - thumb_func_start sub_8119EF0 -sub_8119EF0: @ 8119EF0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl IsRunningDisallowedByMetatile - lsls r0, 24 - cmp r0, 0 - bne _08119F08 - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x8 - bne _08119F10 -_08119F08: - movs r0, 0x1 - b _08119F12 - .pool -_08119F10: - movs r0, 0 -_08119F12: - pop {r1} - bx r1 - thumb_func_end sub_8119EF0 - - thumb_func_start IsRunningDisallowedByMetatile -@ bool8 IsRunningDisallowedByMetatile(u8 metatileBehavior) -IsRunningDisallowedByMetatile: @ 8119F18 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsRunningDisallowed - lsls r0, 24 - cmp r0, 0 - bne _08119F42 - adds r0, r4, 0 - bl MetatileBehavior_IsFortreeBridge - lsls r0, 24 - cmp r0, 0 - beq _08119F46 - bl PlayerGetZCoord - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - bne _08119F46 -_08119F42: - movs r0, 0x1 - b _08119F48 -_08119F46: - movs r0, 0 -_08119F48: - pop {r4} - pop {r1} - bx r1 - thumb_func_end IsRunningDisallowedByMetatile - - thumb_func_start sub_8119F50 -sub_8119F50: @ 8119F50 - push {lr} - ldr r0, =gUnknown_0203AB54 - ldrb r0, [r0] - cmp r0, 0 - beq _08119F66 - ldr r1, =gUnknown_0203AB55 - ldrb r0, [r1] - cmp r0, 0x63 - bhi _08119F66 - adds r0, 0x1 - strb r0, [r1] -_08119F66: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119F50 - - thumb_func_start sub_8119F74 -sub_8119F74: @ 8119F74 - push {r4,r5,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - adds r5, r4, 0 - movs r1, 0xFD - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bhi _08119F9E - adds r0, r4, 0 - bl MetatileBehavior_IsIsolatedVerticalRail - lsls r0, 24 - cmp r0, 0 - bne _08119FB6 - adds r0, r4, 0 - bl MetatileBehavior_IsVerticalRail - b _08119FB0 -_08119F9E: - adds r0, r5, 0 - bl MetatileBehavior_IsIsolatedHorizontalRail - lsls r0, 24 - cmp r0, 0 - bne _08119FB6 - adds r0, r5, 0 - bl MetatileBehavior_IsHorizontalRail -_08119FB0: - lsls r0, 24 - cmp r0, 0 - beq _08119FBA -_08119FB6: - movs r0, 0 - b _08119FBC -_08119FBA: - movs r0, 0x1 -_08119FBC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8119F74 - - thumb_func_start sub_8119FC4 -sub_8119FC4: @ 8119FC4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - lsls r1, 24 - movs r3, 0xFF - lsls r3, 24 - adds r1, r3 - lsrs r1, 24 - cmp r1, 0x1 - bhi _08119FE4 - cmp r0, 0xA - beq _08119FEC - cmp r0, 0xC - bne _08119FF0 - b _08119FEC -_08119FE4: - cmp r2, 0xB - beq _08119FEC - cmp r2, 0xD - bne _08119FF0 -_08119FEC: - movs r0, 0 - b _08119FF2 -_08119FF0: - movs r0, 0x1 -_08119FF2: - pop {r1} - bx r1 - thumb_func_end sub_8119FC4 - - thumb_func_start sub_8119FF8 -sub_8119FF8: @ 8119FF8 - push {r4,lr} - sub sp, 0x4 - ldr r0, =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x18 - ands r0, r1 - cmp r0, 0 - bne _0811A038 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl IsRunningDisallowedByMetatile - lsls r0, 24 - cmp r0, 0 - bne _0811A038 - movs r0, 0 - b _0811A03A - .pool -_0811A038: - movs r0, 0x1 -_0811A03A: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8119FF8 - - thumb_func_start player_should_look_direction_be_enforced_upon_movement -player_should_look_direction_be_enforced_upon_movement: @ 811A044 - push {lr} - movs r0, 0x4 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _0811A078 - ldr r2, =gMapObjects - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - cmp r0, 0 - beq _0811A078 - movs r0, 0 - b _0811A07A - .pool -_0811A078: - movs r0, 0x1 -_0811A07A: - pop {r1} - bx r1 - thumb_func_end player_should_look_direction_be_enforced_upon_movement - - thumb_func_start GetOnOffBike -@ void GetOnOffBike(u8 transitionFlags) -GetOnOffBike: @ 811A080 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gUnknown_02037348 - movs r0, 0 - strb r0, [r1] - ldr r0, =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - beq _0811A0B0 - movs r0, 0x1 - bl SetPlayerAvatarTransitionFlags - bl sav1_reset_battle_music_maybe - bl sub_8085784 - b _0811A0C4 - .pool -_0811A0B0: - adds r0, r2, 0 - bl SetPlayerAvatarTransitionFlags - ldr r4, =0x00000193 - adds r0, r4, 0 - bl Overworld_SetSavedMusic - adds r0, r4, 0 - bl Overworld_ChangeMusicTo -_0811A0C4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end GetOnOffBike - - thumb_func_start sub_811A0D0 -sub_811A0D0: @ 811A0D0 - push {lr} - ldr r2, =gPlayerAvatar - movs r3, 0 - strb r3, [r2, 0x8] - strb r3, [r2, 0x9] - strb r3, [r2, 0xA] - strb r3, [r2, 0xB] - str r0, [r2, 0xC] - str r1, [r2, 0x10] - movs r1, 0 - adds r2, 0x14 -_0811A0E6: - adds r0, r1, r2 - strb r3, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x7 - bls _0811A0E6 - movs r1, 0 - ldr r3, =gUnknown_020375AC - movs r2, 0 -_0811A0FA: - adds r0, r1, r3 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x7 - bls _0811A0FA - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A0D0 - - thumb_func_start sub_811A114 -sub_811A114: @ 811A114 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gPlayerAvatar - strb r0, [r2, 0xA] - lsrs r1, r0, 1 - adds r0, r1 - strb r0, [r2, 0xB] - bx lr - .pool - thumb_func_end sub_811A114 - - thumb_func_start sub_811A128 -sub_811A128: @ 811A128 - ldr r1, =gPlayerAvatar - movs r0, 0 - strb r0, [r1, 0xA] - strb r0, [r1, 0xB] - bx lr - .pool - thumb_func_end sub_811A128 - - thumb_func_start sub_811A138 -sub_811A138: @ 811A138 - push {lr} - sub sp, 0x8 - ldr r1, =gUnknown_085974B8 - mov r0, sp - movs r2, 0x6 - bl memcpy - ldr r2, =gPlayerAvatar - ldrb r1, [r2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0811A168 - ldrb r0, [r2, 0xA] - lsls r0, 1 - add r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - b _0811A182 - .pool -_0811A168: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0811A174 - movs r0, 0x3 - b _0811A182 -_0811A174: - movs r0, 0x88 - ands r0, r1 - cmp r0, 0 - bne _0811A180 - movs r0, 0x1 - b _0811A182 -_0811A180: - movs r0, 0x2 -_0811A182: - add sp, 0x8 - pop {r1} - bx r1 - thumb_func_end sub_811A138 - - thumb_func_start sub_811A188 -sub_811A188: @ 811A188 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, =gPlayerAvatar - ldrb r1, [r5] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0811A1D0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - cmp r0, 0 - beq _0811A1D0 - movs r0, 0x2 - strb r0, [r5, 0x8] - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r0, 24 - bl sub_808C1B4 -_0811A1D0: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A188 - - thumb_func_start IsRunningDisallowed -@ bool8 IsRunningDisallowed(u8 metatileBehavior) -IsRunningDisallowed: @ 811A1DC - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gMapHeader - ldrb r1, [r0, 0x1A] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0811A1FC - adds r0, r2, 0 - bl IsRunningDisallowedByMetatile - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0811A204 -_0811A1FC: - movs r0, 0x1 - b _0811A206 - .pool -_0811A204: - movs r0, 0 -_0811A206: - pop {r1} - bx r1 - thumb_func_end IsRunningDisallowed - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/birch_pc.s b/asm/birch_pc.s new file mode 100644 index 0000000000..6665d9beba --- /dev/null +++ b/asm/birch_pc.s @@ -0,0 +1,234 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start ScriptGetPokedexInfo +ScriptGetPokedexInfo: @ 8137A4C + push {lr} + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r0, 0 + bne _08137A70 + movs r0, 0 + bl sub_80C0844 + ldr r1, =gSpecialVar_0x8005 + strh r0, [r1] + movs r0, 0x1 + bl sub_80C0844 + b _08137A80 + .pool +_08137A70: + movs r0, 0 + bl pokedex_count + ldr r1, =gSpecialVar_0x8005 + strh r0, [r1] + movs r0, 0x1 + bl pokedex_count +_08137A80: + ldr r1, =gSpecialVar_0x8006 + strh r0, [r1] + bl IsNationalPokedexEnabled + lsls r0, 16 + lsrs r0, 16 + pop {r1} + bx r1 + .pool + thumb_func_end ScriptGetPokedexInfo + + thumb_func_start GetPokedexRatingText +GetPokedexRatingText: @ 8137A98 + push {lr} + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x9 + bhi _08137AA4 + b _08137BFC +_08137AA4: + cmp r0, 0x13 + bhi _08137AB0 + ldr r0, =gUnknown_082A5DAB + b _08137C06 + .pool +_08137AB0: + cmp r0, 0x1D + bhi _08137ABC + ldr r0, =gUnknown_082A5DF1 + b _08137C06 + .pool +_08137ABC: + cmp r0, 0x27 + bhi _08137AC8 + ldr r0, =gUnknown_082A5E34 + b _08137C06 + .pool +_08137AC8: + cmp r0, 0x31 + bhi _08137AD4 + ldr r0, =gUnknown_082A5E83 + b _08137C06 + .pool +_08137AD4: + cmp r0, 0x3B + bhi _08137AE0 + ldr r0, =gUnknown_082A5EB9 + b _08137C06 + .pool +_08137AE0: + cmp r0, 0x45 + bhi _08137AEC + ldr r0, =gUnknown_082A5EF4 + b _08137C06 + .pool +_08137AEC: + cmp r0, 0x4F + bhi _08137AF8 + ldr r0, =gUnknown_082A5F39 + b _08137C06 + .pool +_08137AF8: + cmp r0, 0x59 + bhi _08137B04 + ldr r0, =gUnknown_082A5F82 + b _08137C06 + .pool +_08137B04: + cmp r0, 0x63 + bhi _08137B10 + ldr r0, =gUnknown_082A5FB9 + b _08137C06 + .pool +_08137B10: + cmp r0, 0x6D + bhi _08137B1C + ldr r0, =gUnknown_082A6018 + b _08137C06 + .pool +_08137B1C: + cmp r0, 0x77 + bhi _08137B28 + ldr r0, =gUnknown_082A6061 + b _08137C06 + .pool +_08137B28: + cmp r0, 0x81 + bhi _08137B34 + ldr r0, =gUnknown_082A609C + b _08137C06 + .pool +_08137B34: + cmp r0, 0x8B + bhi _08137B40 + ldr r0, =gUnknown_082A60D5 + b _08137C06 + .pool +_08137B40: + cmp r0, 0x95 + bhi _08137B4C + ldr r0, =gUnknown_082A6124 + b _08137C06 + .pool +_08137B4C: + cmp r0, 0x9F + bhi _08137B58 + ldr r0, =gUnknown_082A616F + b _08137C06 + .pool +_08137B58: + cmp r0, 0xA9 + bhi _08137B64 + ldr r0, =gUnknown_082A61D6 + b _08137C06 + .pool +_08137B64: + cmp r0, 0xB3 + bhi _08137B70 + ldr r0, =gUnknown_082A623A + b _08137C06 + .pool +_08137B70: + cmp r0, 0xBD + bhi _08137B7C + ldr r0, =gUnknown_082A6287 + b _08137C06 + .pool +_08137B7C: + cmp r0, 0xC7 + bls _08137BEA + cmp r0, 0xC8 + bne _08137BB8 + ldr r0, =0x00000199 + bl SpeciesToNationalPokedexNum + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1 + bl GetSetPokedexFlag + lsls r0, 24 + cmp r0, 0 + bne _08137BEA + movs r0, 0xCD + lsls r0, 1 + bl SpeciesToNationalPokedexNum + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1 + bl GetSetPokedexFlag + lsls r0, 24 + cmp r0, 0 + bne _08137BEA + b _08137C04 + .pool +_08137BB8: + cmp r0, 0xC9 + bne _08137BF8 + ldr r0, =0x00000199 + bl SpeciesToNationalPokedexNum + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1 + bl GetSetPokedexFlag + lsls r0, 24 + cmp r0, 0 + beq _08137C04 + movs r0, 0xCD + lsls r0, 1 + bl SpeciesToNationalPokedexNum + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1 + bl GetSetPokedexFlag + lsls r0, 24 + cmp r0, 0 + beq _08137C04 +_08137BEA: + ldr r0, =gUnknown_082A62C9 + b _08137C06 + .pool +_08137BF8: + cmp r0, 0xCA + beq _08137C04 +_08137BFC: + ldr r0, =gUnknown_082A5D6C + b _08137C06 + .pool +_08137C04: + ldr r0, =gUnknown_082A6312 +_08137C06: + pop {r1} + bx r1 + .pool + thumb_func_end GetPokedexRatingText + + thumb_func_start ShowPokedexRatingMessage +ShowPokedexRatingMessage: @ 8137C10 + push {lr} + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + bl GetPokedexRatingText + bl ShowFieldMessage + pop {r0} + bx r0 + .pool + thumb_func_end ShowPokedexRatingMessage diff --git a/asm/cable_car.s b/asm/cable_car.s index 092e9a75e5..6fd44dd9fb 100644 --- a/asm/cable_car.s +++ b/asm/cable_car.s @@ -88,7 +88,7 @@ _0814FD20: bl SetVBlankCallback movs r0, 0 bl sub_8150B6C - bl remove_some_task + bl ScanlineEffect_Stop movs r3, 0xC0 lsls r3, 19 movs r4, 0xC0 diff --git a/asm/cable_club.s b/asm/cable_club.s index c9f15ef47b..808829c9a3 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -178,7 +178,7 @@ _080B24C8: b _080B24F2 _080B24CC: ldr r4, =gStringVar1 - bl sub_800ABAC + bl GetLinkPlayerCount_2 adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -239,12 +239,12 @@ sub_80B252C: @ 80B252C ands r0, r1 cmp r0, 0 beq _080B2570 - bl sub_800B320 + bl IsLinkConnectionEstablished lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0 bne _080B2570 - ldr r0, =gUnknown_020229C6 + ldr r0, =gLinkType strh r1, [r0] ldr r1, =gTasks lsls r0, r4, 2 @@ -269,7 +269,7 @@ sub_80B2578: @ 80B2578 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_800B320 + bl IsLinkConnectionEstablished lsls r0, 24 cmp r0, 0 beq _080B258E @@ -286,7 +286,7 @@ _080B258E: b _080B25BA .pool _080B25A4: - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType movs r0, 0 strh r0, [r1] ldr r1, =gTasks @@ -404,7 +404,7 @@ sub_80B2688: @ 80B2688 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r0, 24 lsrs r5, r0, 24 adds r0, r4, 0 @@ -426,14 +426,14 @@ sub_80B2688: @ 80B2688 adds r4, r0, r1 movs r0, 0 strh r0, [r4, 0xE] - bl sub_800ABBC + bl IsLinkMaster lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _080B26EC movs r0, 0x15 bl PlaySE - ldr r0, =gUnknown_082780B3 + ldr r0, =OldaleTown_PokemonCenter_2F_Text_2780B3 bl ShowFieldAutoScrollMessage ldr r0, =sub_80B270C b _080B26FA @@ -441,7 +441,7 @@ sub_80B2688: @ 80B2688 _080B26EC: movs r0, 0x16 bl PlaySE - ldr r0, =gUnknown_08278131 + ldr r0, =OldaleTown_PokemonCenter_2F_Text_278131 bl ShowFieldAutoScrollMessage ldr r0, =sub_80B2918 _080B26FA: @@ -506,7 +506,7 @@ sub_80B275C: @ 80B275C mov r9, r0 mov r7, r8 add r7, r9 - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r0, 24 lsrs r5, r0, 24 adds r0, r4, 0 @@ -544,7 +544,7 @@ sub_80B275C: @ 80B275C movs r2, 0 movs r3, 0x1 bl ConvertIntToDecimalStringN - ldr r0, =gUnknown_082780F2 + ldr r0, =OldaleTown_PokemonCenter_2F_Text_2780F2 bl ShowFieldAutoScrollMessage mov r0, r9 subs r0, 0x8 @@ -585,7 +585,7 @@ sub_80B2804: @ 80B2804 bne _080B2898 bl sub_800AA48 adds r4, r0, 0 - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -597,7 +597,7 @@ sub_80B2804: @ 80B2804 cmp r0, 0 beq _080B2878 _080B2852: - ldr r0, =gUnknown_082780B3 + ldr r0, =OldaleTown_PokemonCenter_2F_Text_2780B3 bl ShowFieldAutoScrollMessage ldr r1, =gTasks lsls r0, r5, 2 @@ -652,7 +652,7 @@ sub_80B28A8: @ 80B28A8 lsrs r0, 24 cmp r0, 0x1 beq _080B290A - bl sub_800ABAC + bl GetLinkPlayerCount_2 adds r4, r0, 0 bl sub_800AA48 lsls r4, 24 @@ -663,7 +663,7 @@ sub_80B28A8: @ 80B28A8 b _080B2908 .pool _080B28F4: - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result adds r0, r7, 0 adds r1, r6, 0 bl sub_80B2478 @@ -703,7 +703,7 @@ sub_80B2918: @ 80B2918 bl sub_80B24F8 cmp r0, 0x1 beq _080B29E6 - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result adds r0, r6, 0 adds r1, r5, 0 bl sub_80B2478 @@ -729,13 +729,13 @@ _080B297C: cmp r2, 0x9 bne _080B2994 _080B2984: - bl sub_80097E8 + bl CloseLink bl HideFieldMessageBox ldr r0, =sub_80B2CB0 b _080B29E4 .pool _080B2994: - bl sub_800ABAC + bl GetLinkPlayerCount_2 ldr r4, =gUnknown_03005DB8 strb r0, [r4] bl GetMultiplayerId @@ -743,7 +743,7 @@ _080B2994: strb r0, [r1] ldrb r0, [r4] bl sub_800AA04 - ldr r4, =gUnknown_020228C4 + ldr r4, =gBlockSendBuffer adds r0, r4, 0 bl sub_80C30A4 ldr r0, =gUnknown_0203CEF8 @@ -791,7 +791,7 @@ sub_80B2A08: @ 80B2A08 bl sub_80B24F8 cmp r0, 0x1 beq _080B2ACE - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0x4 bne _080B2A38 @@ -812,7 +812,7 @@ _080B2A42: cmp r0, 0x9 bne _080B2A6C _080B2A4A: - bl sub_80097E8 + bl CloseLink _080B2A4E: bl HideFieldMessageBox ldr r0, =gTasks @@ -825,7 +825,7 @@ _080B2A4E: b _080B2ACE .pool _080B2A6C: - bl sub_800ABAC + bl GetLinkPlayerCount_2 ldr r4, =gUnknown_03005DB8 strb r0, [r4] bl GetMultiplayerId @@ -833,7 +833,7 @@ _080B2A6C: strb r0, [r1] ldrb r0, [r4] bl sub_800AA04 - ldr r4, =gUnknown_020228C4 + ldr r4, =gBlockSendBuffer adds r0, r4, 0 bl sub_80C30A4 ldr r0, =gUnknown_0203CEF8 @@ -964,7 +964,7 @@ task_map_chg_seq_0807EC34: @ 80B2B94 ldrh r0, [r5] cmp r0, 0x1 bne _080B2C10 - ldr r0, =gUnknown_020229C6 + ldr r0, =gLinkType ldrh r2, [r0] ldr r0, =0x00002266 cmp r2, r0 @@ -1067,7 +1067,7 @@ _080B2C7E: movs r0, 0 bl sub_800B330 bl ResetBlockReceivedFlags - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result adds r1, r5, 0 bl task_map_chg_seq_0807EC34 _080B2C9C: @@ -1111,7 +1111,7 @@ sub_80B2CEC: @ 80B2CEC adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x5 strh r0, [r1] ldr r0, =gTasks @@ -1139,7 +1139,7 @@ sub_80B2D2C: @ 80B2D2C adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x6 strh r0, [r1] ldr r0, =gTasks @@ -1215,20 +1215,20 @@ _080B2DC0: b _080B2E34 _080B2DCA: movs r3, 0x2 - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r4, =0x00002233 b _080B2E30 .pool _080B2DDC: movs r3, 0x2 - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r4, =0x00002244 b _080B2E30 .pool _080B2DEC: movs r3, 0x4 movs r2, 0x4 - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r4, =0x00002255 b _080B2E30 .pool @@ -1243,12 +1243,12 @@ _080B2E00: ands r0, r1 cmp r0, 0 bne _080B2E2C - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r4, =0x00002266 b _080B2E30 .pool _080B2E2C: - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r4, =0x00002277 _080B2E30: adds r0, r4, 0 @@ -1266,7 +1266,7 @@ _080B2E34: thumb_func_start sub_80B2E4C sub_80B2E4C: @ 80B2E4C push {lr} - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00001133 adds r0, r2, 0 strh r0, [r1] @@ -1284,10 +1284,10 @@ sub_80B2E4C: @ 80B2E4C thumb_func_start sub_80B2E74 sub_80B2E74: @ 80B2E74 push {lr} - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00003311 adds r0, r2, 0 strh r0, [r1] @@ -1353,7 +1353,7 @@ sub_80B2EE4: @ 80B2EE4 b _080B2FC6 .pool _080B2F0C: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0x1 bne _080B2FA8 @@ -1415,7 +1415,7 @@ _080B2F74: _080B2F82: cmp r7, 0 beq _080B2FA8 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0xC strh r0, [r1] bl sub_800AD10 @@ -1454,7 +1454,7 @@ _080B2FC6: thumb_func_start sub_80B2FD8 sub_80B2FD8: @ 80B2FD8 push {lr} - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00004411 adds r0, r2, 0 strh r0, [r1] @@ -1472,7 +1472,7 @@ sub_80B2FD8: @ 80B2FD8 thumb_func_start sub_80B3000 sub_80B3000: @ 80B3000 push {lr} - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00006601 adds r0, r2, 0 strh r0, [r1] @@ -1490,7 +1490,7 @@ sub_80B3000: @ 80B3000 thumb_func_start sub_80B3028 sub_80B3028: @ 80B3028 push {lr} - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00006602 adds r0, r2, 0 strh r0, [r1] @@ -1540,17 +1540,17 @@ _080B3084: .4byte _080B3128 .4byte _080B30D8 _080B30A8: - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00002233 b _080B3124 .pool _080B30B8: - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00002244 b _080B3124 .pool _080B30C8: - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00002255 b _080B3124 .pool @@ -1564,22 +1564,22 @@ _080B30D8: ands r0, r1 cmp r0, 0 bne _080B3100 - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00002266 b _080B3124 .pool _080B3100: - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00002277 b _080B3124 .pool _080B3110: - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00001111 b _080B3124 .pool _080B3120: - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00003322 _080B3124: adds r0, r2, 0 @@ -1610,7 +1610,7 @@ sub_80B3144: @ 80B3144 ldrsh r2, [r4, r3] cmp r2, 0 bne _080B3178 - bl sub_8009734 + bl OpenLink bl sub_800A2BC ldr r0, =task00_08081A90 movs r1, 0x50 @@ -1640,12 +1640,12 @@ sub_80B3194: @ 80B3194 lsls r0, 24 lsrs r4, r0, 24 adds r5, r4, 0 - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bls _080B31DA - bl sub_800ABBC + bl IsLinkMaster lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1681,7 +1681,7 @@ sub_80B31E8: @ 80B31E8 lsrs r5, r0, 24 bl sub_800AA48 adds r4, r0, 0 - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -1808,8 +1808,8 @@ _080B32E0: _080B32F8: movs r0, 0x1 movs r1, 0 - bl fade_screen - ldr r1, =gUnknown_020229C6 + bl FadeScreen + ldr r1, =gLinkType ldr r2, =0x00002211 adds r0, r2, 0 strh r0, [r1] @@ -1921,8 +1921,8 @@ _080B33E8: _080B3408: movs r0, 0x1 movs r1, 0 - bl fade_screen - ldr r0, =gUnknown_020229C6 + bl FadeScreen + ldr r0, =gLinkType ldr r2, =0x00002211 adds r1, r2, 0 strh r1, [r0] @@ -2296,7 +2296,7 @@ _080B3750: beq _080B37B8 b _080B37CC _080B375A: - ldr r0, =gUnknown_08278091 + ldr r0, =OldaleTown_PokemonCenter_2F_Text_278091 bl ShowFieldMessage movs r0, 0x1 strh r0, [r5, 0x8] @@ -2399,7 +2399,7 @@ _080B382E: bl ScriptContext2_Enable movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen bl sub_8009FAC b _080B3864 _080B3840: @@ -2470,7 +2470,7 @@ _080B38C6: bl ScriptContext2_Enable movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen bl Rfu_set_zero b _080B38FC _080B38D8: @@ -2548,7 +2548,7 @@ nullsub_37: @ 80B3964 thumb_func_start sub_80B3968 sub_80B3968: @ 80B3968 push {lr} - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00002211 adds r0, r2, 0 strh r0, [r1] @@ -2651,7 +2651,7 @@ task00_08081A90: @ 80B3A30 lsls r0, 17 cmp r1, r0 ble _080B3A62 - bl sub_80097E8 + bl CloseLink ldr r0, =c2_800ACD4 bl SetMainCallback2 adds r0, r4, 0 @@ -2669,7 +2669,7 @@ _080B3A62: lsls r0, 24 cmp r0, 0 bne _080B3A86 - bl sub_80097E8 + bl CloseLink ldr r0, =c2_800ACD4 bl SetMainCallback2 _080B3A86: @@ -2761,7 +2761,7 @@ _080B3B2A: b _080B3BB8 .pool _080B3B40: - bl sub_8009734 + bl OpenLink ldr r0, =task00_08081A90 movs r1, 0x1 bl CreateTask @@ -2779,14 +2779,14 @@ _080B3B54: strh r0, [r5, 0x2] b _080B3B96 _080B3B68: - bl sub_800ABAC + bl GetLinkPlayerCount_2 adds r4, r0, 0 bl sub_800AA48 lsls r4, 24 lsls r0, 24 cmp r4, r0 bcc _080B3BB8 - bl sub_800ABBC + bl IsLinkMaster lsls r0, 24 cmp r0, 0 beq _080B3B96 @@ -2829,7 +2829,7 @@ sub_80B3BC4: @ 80B3BC4 ldrb r0, [r0] cmp r0, 0 bne _080B3BD6 - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00002288 adds r0, r2, 0 strh r0, [r1] diff --git a/asm/clock.s b/asm/clock.s deleted file mode 100644 index 5d771a8b69..0000000000 --- a/asm/clock.s +++ /dev/null @@ -1,175 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_809E778 -sub_809E778: @ 809E778 - push {lr} - ldr r0, =0x00000895 - bl FlagSet - bl RtcCalcLocalTime - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - adds r2, 0xA0 - ldr r3, =gLocalTime - ldr r0, [r3] - ldr r1, [r3, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - ldr r0, =0x00004040 - ldrh r1, [r3] - bl VarSet - pop {r0} - bx r0 - .pool - thumb_func_end sub_809E778 - - thumb_func_start DoTimeBasedEvents -DoTimeBasedEvents: @ 809E7B0 - push {r4,lr} - ldr r0, =0x00000895 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0809E7DA - bl sub_813B9C0 - lsls r0, 24 - cmp r0, 0 - bne _0809E7DA - bl RtcCalcLocalTime - ldr r4, =gLocalTime - adds r0, r4, 0 - bl sub_809E7E8 - adds r0, r4, 0 - bl sub_809E858 -_0809E7DA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end DoTimeBasedEvents - - thumb_func_start sub_809E7E8 -sub_809E7E8: @ 809E7E8 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, =0x00004040 - bl GetVarPointer - adds r6, r0, 0 - ldrh r0, [r6] - movs r2, 0 - ldrsh r1, [r5, r2] - cmp r0, r1 - beq _0809E84E - cmp r0, r1 - bgt _0809E84E - ldrh r4, [r5] - subs r4, r0 - lsls r4, 16 - lsrs r4, 16 - bl ClearUpperFlags - adds r0, r4, 0 - bl sub_8122580 - adds r0, r4, 0 - bl sub_80ED888 - adds r0, r4, 0 - bl sub_80AEFBC - adds r0, r4, 0 - bl UpdatePartyPokerusTime - adds r0, r4, 0 - bl sub_8137904 - adds r0, r4, 0 - bl sub_8137A20 - adds r0, r4, 0 - bl sub_8139EF4 - adds r0, r4, 0 - bl sub_813A7F4 - adds r0, r4, 0 - bl sub_813945C - adds r0, r4, 0 - bl SetRandomLotteryNumber - ldrh r0, [r5] - strh r0, [r6] -_0809E84E: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809E7E8 - - thumb_func_start sub_809E858 -sub_809E858: @ 809E858 - push {r4-r6,lr} - sub sp, 0x8 - adds r5, r0, 0 - mov r4, sp - ldr r6, =gSaveBlock2Ptr - ldr r1, [r6] - adds r1, 0xA0 - mov r0, sp - adds r2, r5, 0 - bl CalcTimeDifference - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - lsls r0, r1, 1 - adds r0, r1 - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 5 - movs r2, 0x2 - ldrsb r2, [r4, r2] - lsls r0, r2, 4 - subs r0, r2 - lsls r0, 2 - adds r1, r0 - movs r0, 0x3 - ldrsb r0, [r4, r0] - adds r0, r1, r0 - cmp r0, 0 - beq _0809E8A8 - cmp r0, 0 - blt _0809E8A8 - bl BerryTreeTimeUpdate - ldr r2, [r6] - adds r2, 0xA0 - ldr r0, [r5] - ldr r1, [r5, 0x4] - str r0, [r2] - str r1, [r2, 0x4] -_0809E8A8: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809E858 - - thumb_func_start sub_809E8B4 -sub_809E8B4: @ 809E8B4 - push {lr} - bl sub_809E778 - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_809E8B4 - - thumb_func_start Special_StartWallClock -Special_StartWallClock: @ 809E8C8 - push {lr} - ldr r0, =Cb2_StartWallClock - bl SetMainCallback2 - ldr r1, =gMain - ldr r0, =sub_809E8B4 - str r0, [r1, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end Special_StartWallClock - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/coins.s b/asm/coins.s deleted file mode 100644 index d2b6cbb47e..0000000000 --- a/asm/coins.s +++ /dev/null @@ -1,74 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start GiveCoins -@ bool8 GiveCoins(u16 toAdd) -GiveCoins: @ 8145C80 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - bl GetCoins - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, =0x0000270e - cmp r1, r0 - bls _08145C9C - movs r0, 0 - b _08145CC0 - .pool -_08145C9C: - adds r0, r1, r4 - cmp r1, r0 - ble _08145CAC - ldr r0, =0x0000270f - b _08145CBA - .pool -_08145CAC: - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, =0x0000270f - cmp r1, r0 - bls _08145CB8 - adds r1, r0, 0 -_08145CB8: - adds r0, r1, 0 -_08145CBA: - bl SetCoins - movs r0, 0x1 -_08145CC0: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end GiveCoins - - thumb_func_start TakeCoins -@ bool8 TakeCoins(u16 toSub) -TakeCoins: @ 8145CCC - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - bl GetCoins - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - bcs _08145CE2 - movs r0, 0 - b _08145CEE -_08145CE2: - subs r0, r4 - lsls r0, 16 - lsrs r0, 16 - bl SetCoins - movs r0, 0x1 -_08145CEE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end TakeCoins - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/contest.s b/asm/contest.s index 9c0684663d..87abc1d065 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -563,7 +563,7 @@ _080D7B4E: bl sub_80D779C bl sub_80D77E4 bl sub_80D7678 - bl dp12_8087EA4 + bl ScanlineEffect_Clear bl ResetPaletteFade ldr r2, =gPaletteFade ldrb r0, [r2, 0x8] @@ -1048,7 +1048,7 @@ _080D8004: bl sub_80DC594 bl sub_80DC5E8 bl sub_80DC7EC - ldr r1, =gBanksByIdentity + ldr r1, =gBattlerPositions strb r4, [r1] movs r0, 0x1 strb r0, [r1, 0x1] @@ -1058,12 +1058,12 @@ _080D8004: strb r2, [r1, 0x3] ldr r0, =gBattleTypeFlags str r4, [r0] - ldr r4, =gBankAttacker + ldr r4, =gBattlerAttacker strb r2, [r4] - ldr r0, =gBankTarget + ldr r0, =gBattlerTarget strb r3, [r0] bl sub_80DB0C4 - ldr r2, =gBankSpriteIds + ldr r2, =gBattlerSpriteIds ldrb r1, [r4] adds r1, r2 strb r0, [r1] @@ -1367,7 +1367,7 @@ vblank_cb_battle: @ 80D827C bl TransferPlttBuffer bl LoadOam bl ProcessSpriteCopyRequests - bl sub_80BA0A8 + bl ScanlineEffect_InitHBlankDmaTransfer pop {r0} bx r0 .pool @@ -1416,13 +1416,13 @@ sub_80D833C: @ 80D833C cmp r0, 0 bne _080D83CC ldr r0, =gDisplayedStringBattle - ldr r1, =gUnknown_0827D507 + ldr r1, =gText_0827D507 bl StringCopy b _080D83D4 .pool _080D83CC: ldr r0, =gDisplayedStringBattle - ldr r1, =gUnknown_0827D531 + ldr r1, =gText_0827D531 bl StringCopy _080D83D4: bl sub_80DB89C @@ -1753,13 +1753,13 @@ _080D868E: cmp r0, 0 bne _080D86DC ldr r0, =gDisplayedStringBattle - ldr r1, =gUnknown_0827D507 + ldr r1, =gText_0827D507 bl StringCopy b _080D86E4 .pool _080D86DC: ldr r0, =gDisplayedStringBattle - ldr r1, =gUnknown_0827D531 + ldr r1, =gText_0827D531 bl StringCopy _080D86E4: bl sub_80DB89C @@ -2547,8 +2547,8 @@ _080D8DD0: lsls r4, 3 adds r4, r0 strh r5, [r4, 0xC] - ldr r1, =gBankSpriteIds - ldr r0, =gBankAttacker + ldr r1, =gBattlerSpriteIds + ldr r0, =gBattlerAttacker ldrb r0, [r0] adds r0, r1 strb r5, [r0] @@ -2655,7 +2655,7 @@ _080D8F38: bl StringCopy _080D8F48: ldr r4, =gStringVar4 - ldr r1, =gUnknown_0827D55A + ldr r1, =gText_0827D55A adds r0, r4, 0 bl StringExpandPlaceholders adds r0, r4, 0 @@ -3566,7 +3566,7 @@ _080D96D4: adds r1, r2 bl StringCopy ldr r4, =gStringVar4 - ldr r1, =gUnknown_0827E793 + ldr r1, =gText_0827E793 adds r0, r4, 0 bl StringExpandPlaceholders adds r0, r4, 0 @@ -3638,20 +3638,20 @@ _080D9774: asrs r0, r4, 24 cmp r0, 0x1 bne _080D97A0 - ldr r0, =gUnknown_0827E32E + ldr r0, =gText_0827E32E b _080D97A6 .pool _080D97A0: cmp r0, 0x2 bne _080D97B4 - ldr r0, =gUnknown_0827E35B + ldr r0, =gText_0827E35B _080D97A6: movs r1, 0x1 bl sub_80DEC30 b _080D97BC .pool _080D97B4: - ldr r0, =gUnknown_0827E38D + ldr r0, =gText_0827E38D movs r1, 0x1 bl sub_80DEC30 _080D97BC: @@ -3675,7 +3675,7 @@ _080D97DC: adds r1, r2 bl StringCopy ldr r4, =gStringVar4 - ldr r1, =gUnknown_0827E2FE + ldr r1, =gText_0827E2FE adds r0, r4, 0 bl StringExpandPlaceholders adds r0, r4, 0 @@ -3813,7 +3813,7 @@ _080D9904: adds r1, r2 bl StringCopy ldr r4, =gStringVar4 - ldr r1, =gUnknown_0827E6E3 + ldr r1, =gText_0827E6E3 adds r0, r4, 0 bl StringExpandPlaceholders adds r0, r4, 0 @@ -4043,7 +4043,7 @@ _080D9B30: cmp r3, 0 bge _080D9B48 ldr r0, =gStringVar4 - ldr r1, =gUnknown_0827E73C + ldr r1, =gText_0827E73C bl StringExpandPlaceholders b _080D9B74 .pool @@ -4058,13 +4058,13 @@ _080D9B48: cmp r0, 0x4 bgt _080D9B6C ldr r0, =gStringVar4 - ldr r1, =gUnknown_0827E717 + ldr r1, =gText_0827E717 bl StringExpandPlaceholders b _080D9B74 .pool _080D9B6C: ldr r0, =gStringVar4 - ldr r1, =gUnknown_0827E76A + ldr r1, =gText_0827E76A bl StringExpandPlaceholders _080D9B74: ldr r0, =gStringVar4 @@ -4402,7 +4402,7 @@ _080D9DD4: adds r1, r2 bl StringCopy ldr r4, =gStringVar4 - ldr r1, =gUnknown_0827E7EA + ldr r1, =gText_0827E7EA adds r0, r4, 0 bl StringExpandPlaceholders adds r0, r4, 0 @@ -4426,7 +4426,7 @@ _080D9E60: _080D9E6A: bl sub_80DB89C ldr r4, =gStringVar4 - ldr r1, =gUnknown_0827E817 + ldr r1, =gText_0827E817 adds r0, r4, 0 bl StringExpandPlaceholders adds r0, r4, 0 @@ -4491,7 +4491,7 @@ _080D9EDC: adds r1, r2 bl StringCopy ldr r4, =gStringVar4 - ldr r1, =gUnknown_0827E58A + ldr r1, =gText_0827E58A adds r0, r4, 0 bl StringExpandPlaceholders adds r0, r4, 0 @@ -4630,7 +4630,7 @@ _080DA038: adds r1, r2 bl StringCopy ldr r4, =gStringVar4 - ldr r1, =gUnknown_0827D56F + ldr r1, =gText_0827D56F adds r0, r4, 0 bl StringExpandPlaceholders adds r0, r4, 0 @@ -5373,7 +5373,7 @@ _080DA668: ldr r0, [r0] str r0, [r1] ldr r4, =gStringVar4 - ldr r1, =gUnknown_0827D597 + ldr r1, =gText_0827D597 adds r0, r4, 0 bl StringExpandPlaceholders adds r0, r4, 0 @@ -6313,7 +6313,7 @@ _080DAE1E: movs r0, 0x4 b _080DAE9A _080DAE2E: - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrh r0, [r0] cmp r0, 0x4 bhi _080DAE82 @@ -6358,7 +6358,7 @@ _080DAE82: movs r0, 0 b _080DAE9A _080DAE86: - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank adds r2, r1, 0 ldrh r1, [r0] movs r0, 0x2 @@ -6652,12 +6652,12 @@ sub_80DB0C4: @ 80DB0C4 push {r4,r5,lr} ldr r0, =gUnknown_08587C00 bl LoadCompressedObjectPic - ldr r0, =gUnknown_08C1C6B8 + ldr r0, =gContest2Pal movs r1, 0x88 lsls r1, 1 movs r2, 0x20 bl LoadCompressedPalette - ldr r0, =gUnknown_08587BE8 + ldr r0, =gSpriteTemplate_8587BE8 movs r1, 0x70 movs r2, 0x24 movs r3, 0x1E @@ -6692,7 +6692,7 @@ sub_80DB120: @ 80DB120 bl LoadCompressedObjectPic ldr r0, =gUnknown_08587C10 bl LoadCompressedObjectPalette - ldr r0, =gUnknown_08587C18 + ldr r0, =gSpriteTemplate_8587C18 movs r1, 0x60 movs r2, 0xA movs r3, 0x1D @@ -6763,7 +6763,7 @@ _080DB1CC: adds r0, r5, 0 adds r1, r7, 0 adds r2, r6, 0 - bl species_and_otid_get_pal + bl GetFrontSpritePalFromSpeciesAndPersonality movs r1, 0x90 lsls r1, 1 movs r2, 0x20 @@ -8456,7 +8456,7 @@ sub_80DBED4: @ 80DBED4 adds r0, r1 ldrb r1, [r0] lsls r1, 1 - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrh r0, [r0] lsls r0, 3 adds r1, r0 @@ -8891,7 +8891,7 @@ _080DC226: ble _080DC284 movs r0, 0x60 bl PlaySE - ldr r4, =gMPlay_SE1 + ldr r4, =gMPlayInfo_SE1 adds r0, r4, 0 bl m4aMPlayImmInit ldr r1, =0x0000ffff @@ -8946,7 +8946,7 @@ _080DC2C8: ldrb r0, [r0] adds r0, r5 ldrb r2, [r0] - ldr r0, =gUnknown_08587AD0 + ldr r0, =gSpriteTemplate_8587AD0 movs r1, 0xB4 movs r3, 0x1 bl CreateSprite @@ -9240,7 +9240,7 @@ _080DC506: ldr r1, =gUnknown_08587AE8 adds r0, r1 bl LoadCompressedObjectPic - ldr r0, =gUnknown_08587B18 + ldr r0, =gSpriteTemplate_8587B18 adds r0, r6, r0 ldr r2, =gUnknown_08587A70 ldr r1, =gUnknown_02039F26 @@ -9264,7 +9264,7 @@ _080DC506: adds r0, r1 lsls r0, 2 add r0, r8 - ldr r1, =gUnknown_08587B80 + ldr r1, =gSubspriteTables_8587B80 bl SetSubspriteTables ldr r0, [r7] ldr r0, [r0, 0x14] @@ -9298,7 +9298,7 @@ sub_80DC594: @ 80DC594 bl LoadCompressedObjectPic ldr r0, =gUnknown_08587BB8 bl LoadSpritePalette - ldr r0, =gUnknown_08587BC8 + ldr r0, =gSpriteTemplate_8587BC8 movs r1, 0x1E movs r2, 0x2C movs r3, 0x1 @@ -9877,7 +9877,7 @@ sub_80DC9EC: @ 80DC9EC lsls r4, r2, 1 adds r4, r2 lsls r4, 3 - ldr r0, =gUnknown_0858998C + ldr r0, =gSpriteTemplate_858998C adds r4, r0 adds r0, r4, 0 movs r1, 0xB8 @@ -11207,7 +11207,7 @@ sub_80DD45C: @ 80DD45C cmp r1, 0 bne _080DD4DC ldr r0, =gStringVar3 - ldr r1, =gUnknown_0827E837 + ldr r1, =gText_0827E837 bl StringCopy b _080DD52C .pool @@ -11216,7 +11216,7 @@ _080DD4DC: cmp r0, 0x1 bne _080DD4F4 ldr r0, =gStringVar3 - ldr r1, =gUnknown_0827E83F + ldr r1, =gText_0827E83F bl StringCopy b _080DD52C .pool @@ -11225,7 +11225,7 @@ _080DD4F4: cmp r0, 0x2 bne _080DD50C ldr r0, =gStringVar3 - ldr r1, =gUnknown_0827E847 + ldr r1, =gText_0827E847 bl StringCopy b _080DD52C .pool @@ -11234,13 +11234,13 @@ _080DD50C: cmp r0, 0x3 bne _080DD524 ldr r0, =gStringVar3 - ldr r1, =gUnknown_0827E850 + ldr r1, =gText_0827E850 bl StringCopy b _080DD52C .pool _080DD524: ldr r0, =gStringVar3 - ldr r1, =gUnknown_0827E85A + ldr r1, =gText_0827E85A bl StringCopy _080DD52C: ldr r4, =gStringVar4 @@ -11731,7 +11731,7 @@ _080DD956: ldr r1, [r0] movs r0, 0x13 ldrsb r0, [r1, r0] - ldr r4, =gUnknown_08D8EC24 + ldr r4, =gContestApplauseMeterGfx cmp r5, r0 bge _080DD966 adds r4, 0x40 @@ -11805,7 +11805,7 @@ sub_80DD9F0: @ 80DD9F0 ldrb r1, [r0, 0x1] lsls r1, 29 lsrs r1, 29 - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrh r2, [r0] lsls r0, r2, 2 adds r0, r2 @@ -13796,9 +13796,9 @@ sub_80DEA20: @ 80DEA20 push {lr} ldr r0, =SpriteCallbackDummy bl CreateInvisibleSpriteWithCallback - ldr r1, =gBankSpriteIds + ldr r1, =gBattlerSpriteIds strb r0, [r1, 0x3] - ldr r0, =gBankTarget + ldr r0, =gBattlerTarget ldrb r0, [r0] adds r0, r1 ldrb r1, [r0] @@ -13817,7 +13817,7 @@ sub_80DEA20: @ 80DEA20 thumb_func_start sub_80DEA5C sub_80DEA5C: @ 80DEA5C push {r4,lr} - ldr r0, =gBankSpriteIds + ldr r0, =gBattlerSpriteIds ldrb r0, [r0, 0x3] lsls r4, r0, 4 adds r4, r0 @@ -13829,13 +13829,13 @@ sub_80DEA5C: @ 80DEA5C strh r0, [r4, 0x26] movs r0, 0x3 movs r1, 0 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] movs r0, 0x3 movs r1, 0x1 - bl sub_80A5C6C + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -13905,12 +13905,12 @@ _080DEAD0: .4byte _080DEB60 .4byte _080DEB60 _080DEB54: - ldr r1, =gBankTarget + ldr r1, =gBattlerTarget movs r0, 0x2 b _080DEB64 .pool _080DEB60: - ldr r1, =gBankTarget + ldr r1, =gBattlerTarget movs r0, 0x3 _080DEB64: strb r0, [r1] @@ -14067,7 +14067,7 @@ _080DEC80: b _080DEC9C .pool _080DEC94: - bl sav2_get_text_speed + bl GetPlayerTextSpeed lsls r0, 24 lsrs r1, r0, 24 _080DEC9C: @@ -14260,7 +14260,7 @@ _080DEDE6: b _080DEF90 .pool _080DEE00: - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrh r0, [r0] cmp r0, 0x4 bhi _080DEE4C @@ -14369,7 +14369,7 @@ _080DEEF4: mov r2, r10 ldr r0, [r2] adds r0, r7 - ldr r1, =gUnknown_02039F2E + ldr r1, =gSpecialVar_ContestRank ldrh r1, [r1] ldr r3, =0x00002eae adds r0, r3 @@ -14383,7 +14383,7 @@ _080DEF02: mov r2, r9 lsls r1, r2, 5 adds r0, r1 - ldr r1, =gScriptContestCategory + ldr r1, =gSpecialVar_ContestCategory ldrh r1, [r1] ldr r3, =0x00002e9a adds r0, r3 @@ -14485,7 +14485,7 @@ _080DEFE6: b _080DF03A .pool _080DEFF8: - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrh r0, [r0] cmp r0, 0x4 bhi _080DF038 diff --git a/asm/contest_ai.s b/asm/contest_ai.s index a213c393cf..3438107eb1 100644 --- a/asm/contest_ai.s +++ b/asm/contest_ai.s @@ -1352,7 +1352,7 @@ sub_8156CF4: @ 8156CF4 ldr r0, =gContestResources ldr r0, [r0] ldr r1, [r0, 0xC] - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrh r0, [r0] strh r0, [r1, 0x18] ldr r1, =gAIScriptPtr diff --git a/asm/contest_effect.s b/asm/contest_effect.s index f3c2345034..65a720a65c 100644 --- a/asm/contest_effect.s +++ b/asm/contest_effect.s @@ -2590,7 +2590,7 @@ ContestEffectFunc_080E6778: @ 80E6778 adds r0, r3 ldrb r0, [r0, 0x1] lsls r0, 29 - ldr r1, =gScriptContestCategory + ldr r1, =gSpecialVar_ContestCategory lsrs r0, 29 ldrh r1, [r1] cmp r0, r1 diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s index e6d30b7cb1..e73c657a96 100644 --- a/asm/contest_link_80F57C4.s +++ b/asm/contest_link_80F57C4.s @@ -344,7 +344,7 @@ sub_80F5B00: @ 80F5B00 bl SetVBlankCallback bl sub_80F7DF4 bl sub_80F57C4 - bl dp12_8087EA4 + bl ScanlineEffect_Clear bl ResetPaletteFade bl ResetSpriteData bl ResetTasks @@ -492,7 +492,7 @@ sub_80F5C24: @ 80F5C24 bl LoadOam bl ProcessSpriteCopyRequests bl TransferPlttBuffer - bl sub_80BA0A8 + bl ScanlineEffect_InitHBlankDmaTransfer pop {r0} bx r0 .pool @@ -548,7 +548,7 @@ _080F5D2A: movs r0, 0x8 strh r0, [r1] bl InterviewBefore - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0x1 beq _080F5D58 @@ -556,7 +556,7 @@ _080F5D2A: _080F5D58: movs r0, 0x2 bl sub_813BADC - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank ldrb r0, [r0] bl sub_80DEDA8 movs r0, 0xFE @@ -673,7 +673,7 @@ _080F5E78: movs r0, 0x25 bl IncrementGameStat _080F5E92: - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank ldrb r0, [r0] bl sub_80DEDA8 movs r0, 0xFE @@ -2151,7 +2151,7 @@ sub_80F6AE8: @ 80F6AE8 movs r2, 0x80 movs r3, 0x1 bl RequestDma3Fill - ldr r0, =gUnknown_0858D8C8 + ldr r0, =gSpriteTemplate_858D8C8 movs r1, 0x8 movs r2, 0x8 movs r3, 0 @@ -2454,7 +2454,7 @@ sub_80F6DC0: @ 80F6DC0 push {r4-r6,lr} sub sp, 0x20 mov r1, sp - ldr r0, =gUnknown_0858D7F8 + ldr r0, =gSpriteTemplate_858D7F8 ldm r0!, {r2-r4} stm r1!, {r2-r4} ldm r0!, {r2-r4} @@ -2972,7 +2972,7 @@ sub_80F71C8: @ 80F71C8 b _080F7240 .pool _080F71F8: - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank ldrh r2, [r0] cmp r2, 0 bne _080F720C @@ -3008,7 +3008,7 @@ _080F7236: bl CopyToBgTilemapBufferRect movs r5, 0xF _080F7240: - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrh r0, [r0] cmp r0, 0 bne _080F725C @@ -3564,7 +3564,7 @@ sub_80F7670: @ 80F7670 ldrb r0, [r0, 0x7] cmp r0, 0x27 bhi _080F7732 - ldr r4, =gUnknown_0858D860 + ldr r4, =gSpriteTemplate_858D860 bl Random lsls r0, 16 lsrs r0, 16 @@ -4640,15 +4640,15 @@ sub_80F7F30: @ 80F7F30 adds r5, r0, 0 cmp r5, 0 beq _080F7F5E - ldr r4, =gScriptContestCategory + ldr r4, =gSpecialVar_ContestCategory ldrb r0, [r4] - ldr r1, =gUnknown_02039F2E + ldr r1, =gSpecialVar_ContestRank ldrb r1, [r1] bl sub_80DAB8C ldrb r0, [r4] bl sub_80DB09C _080F7F5E: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r5, [r0] pop {r4,r5} pop {r0} @@ -4666,7 +4666,7 @@ sub_80F7F7C: @ 80F7F7C muls r1, r0 ldr r0, =gPlayerParty adds r2, r1, r0 - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrh r0, [r0] cmp r0, 0x4 bhi _080F7FEE @@ -4704,7 +4704,7 @@ _080F7FDC: movs r1, 0x36 _080F7FE0: bl GetMonData - ldr r1, =gUnknown_02039F2E + ldr r1, =gSpecialVar_ContestRank ldrh r1, [r1] cmp r0, r1 bls _080F7FEE @@ -4730,7 +4730,7 @@ sub_80F7FFC: @ 80F7FFC beq _080F8010 b _080F8250 _080F8010: - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrh r0, [r0] cmp r0, 0x4 bls _080F801A @@ -4762,7 +4762,7 @@ _080F8048: lsrs r1, r0, 24 mov r0, sp strb r1, [r0] - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank ldrh r0, [r0] cmp r1, r0 bls _080F806C @@ -4812,7 +4812,7 @@ _080F80B8: strb r0, [r4] mov r0, sp ldrb r2, [r0] - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank ldrh r0, [r0] cmp r2, r0 bls _080F80DC @@ -4861,7 +4861,7 @@ _080F8124: strb r0, [r4] mov r0, sp ldrb r2, [r0] - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank ldrh r0, [r0] cmp r2, r0 bls _080F8148 @@ -4908,7 +4908,7 @@ _080F8190: strb r0, [r4] mov r0, sp ldrb r2, [r0] - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank ldrh r0, [r0] cmp r2, r0 bhi _080F8250 @@ -4951,7 +4951,7 @@ _080F81F8: strb r0, [r4] mov r0, sp ldrb r2, [r0] - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank ldrh r0, [r0] cmp r2, r0 bhi _080F8250 @@ -5488,7 +5488,7 @@ _080F8678: bl sub_80F86E0 ldr r1, =gUnknown_02039F2B strb r0, [r1] - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrb r0, [r0] bl sub_80DB09C ldr r1, =sub_80FCF40 diff --git a/asm/contest_link_80FC4F4.s b/asm/contest_link_80FC4F4.s index f1e2019daf..ba96bf4ea9 100644 --- a/asm/contest_link_80FC4F4.s +++ b/asm/contest_link_80FC4F4.s @@ -284,7 +284,7 @@ _080FC6FE: lsls r0, 24 cmp r0, 0 beq _080FC7F4 - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer ldr r1, =gUnknown_02039F25 ldrb r1, [r1] lsls r1, 6 @@ -297,7 +297,7 @@ _080FC6FE: b _080FC7F4 .pool _080FC738: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer ldr r1, =gUnknown_02039F25 ldrb r1, [r1] lsls r1, 6 @@ -487,7 +487,7 @@ _080FC8D8: beq _080FC954 b _080FC96E _080FC8DE: - ldr r1, =gUnknown_020228C4 + ldr r1, =gBlockSendBuffer ldrh r0, [r4, 0x1A] strb r0, [r1] bl GetMultiplayerId @@ -1142,7 +1142,7 @@ _080FCE8C: beq _080FCEFC b _080FCF16 _080FCE92: - ldr r1, =gUnknown_020228C4 + ldr r1, =gBlockSendBuffer movs r0, 0x6E strb r0, [r1] bl GetMultiplayerId diff --git a/asm/contest_link_81D9DE4.s b/asm/contest_link_81D9DE4.s old mode 100755 new mode 100644 index 5f9c25d7c4..12eb159f71 --- a/asm/contest_link_81D9DE4.s +++ b/asm/contest_link_81D9DE4.s @@ -370,7 +370,7 @@ sub_81DA10C: @ 81DA10C adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrb r0, [r0] bl sub_80DB09C ldr r1, =sub_80FCF40 diff --git a/asm/contest_painting.s b/asm/contest_painting.s index 2caf151947..8bb38eeed3 100644 --- a/asm/contest_painting.s +++ b/asm/contest_painting.s @@ -107,7 +107,7 @@ _0812FE80: .4byte _0812FF2A .4byte _0812FF54 _0812FE94: - bl remove_some_task + bl ScanlineEffect_Stop movs r0, 0 bl SetVBlankCallback bl AllocateMonSpritesGfx @@ -386,7 +386,7 @@ sub_813010C: @ 813010C ldr r1, =gText_Space adds r0, r4, 0 bl StringAppend - ldr r1, =gUnknown_085B07D4 + ldr r1, =gContestRankTextPointers ldr r0, [r6] ldrb r0, [r0, 0x1E] lsls r0, 2 @@ -415,7 +415,7 @@ _08130190: adds r1, 0xB bl StringCopy ldr r0, =gStringVar4 - ldr r2, =gUnknown_085B07F4 + ldr r2, =gContestPaintingDescriptionPointers lsls r1, r5, 2 adds r1, r2 ldr r1, [r1] @@ -572,7 +572,7 @@ sub_81302E8: @ 81302E8 ldr r1, [r0, 0x4] ldr r2, [r0] adds r0, r5, 0 - bl species_and_otid_get_pal + bl GetFrontSpritePalFromSpeciesAndPersonality ldr r7, =gUnknown_030061C4 ldr r1, [r7] bl LZDecompressVram diff --git a/asm/coord_event_weather.s b/asm/coord_event_weather.s deleted file mode 100644 index 7c1188ad61..0000000000 --- a/asm/coord_event_weather.s +++ /dev/null @@ -1,156 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_809D7BC -sub_809D7BC: @ 809D7BC - push {lr} - movs r0, 0x1 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D7BC - - thumb_func_start sub_809D7C8 -sub_809D7C8: @ 809D7C8 - push {lr} - movs r0, 0x2 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D7C8 - - thumb_func_start sub_809D7D4 -sub_809D7D4: @ 809D7D4 - push {lr} - movs r0, 0x3 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D7D4 - - thumb_func_start sub_809D7E0 -sub_809D7E0: @ 809D7E0 - push {lr} - movs r0, 0x4 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D7E0 - - thumb_func_start sub_809D7EC -sub_809D7EC: @ 809D7EC - push {lr} - movs r0, 0x5 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D7EC - - thumb_func_start sub_809D7F8 -sub_809D7F8: @ 809D7F8 - push {lr} - movs r0, 0x6 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D7F8 - - thumb_func_start sub_809D804 -sub_809D804: @ 809D804 - push {lr} - movs r0, 0x9 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D804 - - thumb_func_start sub_809D810 -sub_809D810: @ 809D810 - push {lr} - movs r0, 0x7 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D810 - - thumb_func_start sub_809D81C -sub_809D81C: @ 809D81C - push {lr} - movs r0, 0x8 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D81C - - thumb_func_start sub_809D828 -sub_809D828: @ 809D828 - push {lr} - movs r0, 0xB - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D828 - - thumb_func_start sub_809D834 -sub_809D834: @ 809D834 - push {lr} - movs r0, 0xC - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D834 - - thumb_func_start sub_809D840 -sub_809D840: @ 809D840 - push {lr} - movs r0, 0x14 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D840 - - thumb_func_start sub_809D84C -sub_809D84C: @ 809D84C - push {lr} - movs r0, 0x15 - bl sub_80AEDF0 - pop {r0} - bx r0 - thumb_func_end sub_809D84C - - thumb_func_start trigger_activate_weather -trigger_activate_weather: @ 809D858 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r2, 0 - ldr r3, =gUnknown_085102E0 -_0809D862: - lsls r1, r2, 3 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, r4 - bne _0809D87C - adds r0, r3, 0x4 - adds r0, r1, r0 - ldr r0, [r0] - bl _call_via_r0 - b _0809D886 - .pool -_0809D87C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xC - bls _0809D862 -_0809D886: - pop {r4} - pop {r0} - bx r0 - thumb_func_end trigger_activate_weather - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/credits.s b/asm/credits.s index 0b2da16b81..a8a665b06a 100644 --- a/asm/credits.s +++ b/asm/credits.s @@ -26,7 +26,7 @@ sub_81754DC: @ 81754DC ands r0, r1 cmp r0, 0 beq _08175522 - ldr r0, =gUnknown_0203BCE4 + ldr r0, =gHasHallOfFameRecords ldrb r0, [r0] cmp r0, 0 beq _08175522 @@ -149,7 +149,7 @@ _081755E4: movs r0, 0 movs r1, 0x1 adds r3, r5, 0 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x18 pop {r4,r5} pop {r0} @@ -3675,7 +3675,7 @@ sub_8177388: @ 8177388 bl VarGet lsls r0, 16 lsrs r0, 16 - bl sub_8133EDC + bl GetStarterPokemon lsls r0, 16 lsrs r0, 16 bl SpeciesToNationalPokedexNum diff --git a/asm/crt0.s b/asm/crt0.s index 0b14a14699..9ed6789684 100644 --- a/asm/crt0.s +++ b/asm/crt0.s @@ -68,8 +68,8 @@ GPIOPortReadEnable: @ 80000C8 .4byte gAbilityDescriptionPointers .4byte gItems .4byte gBattleMoves - .4byte gUnknown_0832C400 - .4byte gUnknown_0832C460 + .4byte gBallSpriteSheets + .4byte gBallSpritePalettes .4byte 0x000000a8, 0x00000864, 0x0000089b diff --git a/asm/daycare.s b/asm/daycare.s deleted file mode 100644 index 065911df81..0000000000 --- a/asm/daycare.s +++ /dev/null @@ -1,3193 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start GetMonNick -GetMonNick: @ 806FA2C - push {r4,lr} - sub sp, 0x14 - adds r4, r1, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - adds r0, r4, 0 - mov r1, sp - bl StringCopy10 - add sp, 0x14 - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetMonNick - - thumb_func_start GetBoxMonNick -GetBoxMonNick: @ 806FA4C - push {r4,lr} - sub sp, 0x14 - adds r4, r1, 0 - movs r1, 0x2 - mov r2, sp - bl GetBoxMonData - adds r0, r4, 0 - mov r1, sp - bl StringCopy10 - add sp, 0x14 - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetBoxMonNick - - thumb_func_start daycare_count_pokemon -daycare_count_pokemon: @ 806FA6C - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - movs r4, 0 -_0806FA74: - movs r0, 0x8C - muls r0, r4 - adds r0, r6, r0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _0806FA8A - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0806FA8A: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0806FA74 - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end daycare_count_pokemon - - thumb_func_start sub_806FA9C -sub_806FA9C: @ 806FA9C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r9, r0 - mov r10, r1 - movs r7, 0 - movs r5, 0 - mov r6, r10 - adds r6, 0x74 - movs r0, 0x1 - mov r8, r0 -_0806FAB6: - movs r0, 0x8C - muls r0, r5 - mov r1, r9 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _0806FAE4 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r4, 0 - movs r1, 0xC - bl GetBoxMonData - adds r1, r0, 0 - cmp r1, 0 - bne _0806FAE4 - lsls r0, r5, 1 - adds r0, r6, r0 - b _0806FAEA -_0806FAE4: - lsls r0, r5, 1 - adds r0, r6, r0 - mov r1, r8 -_0806FAEA: - strh r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _0806FAB6 - mov r0, r10 - str r7, [r0, 0x70] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_806FA9C - - thumb_func_start daycare_empty_slot -@ u8 daycare_empty_slot(struct daycare_mon *dayCareMons) -daycare_empty_slot: @ 806FB08 - push {r4,r5,lr} - adds r5, r0, 0 - movs r4, 0 -_0806FB0E: - movs r0, 0x8C - muls r0, r4 - adds r0, r5, r0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - bne _0806FB24 - lsls r0, r4, 24 - asrs r0, 24 - b _0806FB32 -_0806FB24: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0806FB0E - movs r0, 0x1 - negs r0, r0 -_0806FB32: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end daycare_empty_slot - - thumb_func_start sub_806FB38 -@ void sub_806FB38(struct pokemon *mon, struct daycare_mon *dayCareMon) -sub_806FB38: @ 806FB38 - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - bl sub_80D43F0 - lsls r0, 24 - cmp r0, 0 - beq _0806FBBC - adds r0, r5, 0 - adds r0, 0x74 - ldr r1, =gSaveBlock2Ptr - ldr r1, [r1] - bl StringCopy - adds r4, r5, 0 - adds r4, 0x7C - adds r0, r6, 0 - adds r1, r4, 0 - bl GetMonNick - adds r0, r4, 0 - bl StripExtCtrlCodes - adds r4, 0xB - ldrb r1, [r4] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - adds r0, r6, 0 - movs r1, 0x3 - bl GetMonData - lsls r0, 4 - ldrb r2, [r4] - movs r1, 0xF - ands r1, r2 - orrs r1, r0 - strb r1, [r4] - adds r0, r6, 0 - movs r1, 0x40 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - lsls r2, r0, 3 - adds r2, r0 - lsls r2, 2 - adds r1, r2 - adds r0, r5, 0 - adds r0, 0x50 - ldr r2, =0x00002be0 - adds r1, r2 - ldm r1!, {r2-r4} - stm r0!, {r2-r4} - ldm r1!, {r2-r4} - stm r0!, {r2-r4} - ldm r1!, {r2-r4} - stm r0!, {r2-r4} - adds r0, r6, 0 - bl sub_80D4680 -_0806FBBC: - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0x50 - bl memcpy - adds r0, r5, 0 - bl BoxMonRestorePP - adds r1, r5, 0 - adds r1, 0x88 - movs r0, 0 - str r0, [r1] - adds r0, r6, 0 - bl ZeroMonData - bl party_compaction - bl CalculatePlayerPartyCount - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_806FB38 - - thumb_func_start daycare_send -@ void daycare_send(struct pokemon *mon, struct daycare_mon *dayCareMons) -daycare_send: @ 806FBF4 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - bl daycare_empty_slot - lsls r0, 24 - asrs r0, 24 - movs r1, 0x8C - muls r0, r1 - adds r4, r0 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_806FB38 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end daycare_send - - thumb_func_start daycare_send_selected_pokemon -daycare_send_selected_pokemon: @ 806FC18 - push {lr} - bl brm_get_pokemon_selection - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - ldr r2, =0x00003030 - adds r1, r2 - bl daycare_send - pop {r0} - bx r0 - .pool - thumb_func_end daycare_send_selected_pokemon - - thumb_func_start sub_806FC48 -sub_806FC48: @ 806FC48 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r5, 0 - adds r4, 0x8C - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _0806FC9E - adds r0, r5, 0 - movs r1, 0xB - bl GetBoxMonData - adds r6, r0, 0 - cmp r6, 0 - bne _0806FC9E - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x50 - bl memcpy - adds r0, r4, 0 - bl ZeroBoxMonData - adds r4, 0x50 - adds r0, r5, 0 - adds r0, 0x50 - adds r1, r4, 0 - movs r2, 0x38 - bl memcpy - adds r2, r5, 0 - adds r2, 0x88 - movs r0, 0x8A - lsls r0, 1 - adds r1, r5, r0 - ldr r0, [r1] - str r0, [r2] - str r6, [r1] - adds r0, r4, 0 - bl sub_806FF80 -_0806FC9E: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_806FC48 - - thumb_func_start sub_806FCA4 -sub_806FCA4: @ 806FCA4 - push {r4-r7,lr} - adds r4, r0, 0 - movs r5, 0 - ldr r7, =0x0000ffff -_0806FCAC: - adds r0, r4, 0 - bl TryIncrementMonLevel - lsls r0, 24 - cmp r0, 0 - beq _0806FCE8 - movs r6, 0x1 - adds r5, 0x1 - b _0806FCD4 - .pool -_0806FCC4: - movs r6, 0 - cmp r0, r7 - bne _0806FCD4 - ldr r0, =gMoveToLearn - ldrh r1, [r0] - adds r0, r4, 0 - bl DeleteFirstMoveAndGiveMoveToMon -_0806FCD4: - adds r0, r4, 0 - adds r1, r6, 0 - bl MonTryLearningNewMove - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0806FCC4 - cmp r5, 0x63 - ble _0806FCAC -_0806FCE8: - adds r0, r4, 0 - bl CalculateMonStats - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_806FCA4 - - thumb_func_start sub_806FCF8 -sub_806FCF8: @ 806FCF8 - push {r4-r7,lr} - sub sp, 0x68 - adds r5, r0, 0 - ldr r1, =gStringVar1 - bl GetBoxMonNick - adds r0, r5, 0 - movs r1, 0xB - bl GetBoxMonData - lsls r0, 16 - lsrs r7, r0, 16 - adds r0, r5, 0 - mov r1, sp - bl sub_8069004 - mov r0, sp - movs r1, 0x38 - bl GetMonData - cmp r0, 0x64 - beq _0806FD46 - mov r0, sp - movs r1, 0x19 - bl GetMonData - adds r1, r5, 0 - adds r1, 0x88 - ldr r1, [r1] - adds r0, r1 - str r0, [sp, 0x64] - add r2, sp, 0x64 - mov r0, sp - movs r1, 0x19 - bl SetMonData - mov r0, sp - bl sub_806FCA4 -_0806FD46: - ldr r0, =gPlayerParty - movs r1, 0xFA - lsls r1, 1 - adds r6, r0, r1 - adds r0, r6, 0 - mov r1, sp - movs r2, 0x64 - bl memcpy - adds r0, r5, 0 - adds r0, 0x70 - ldrh r0, [r0] - cmp r0, 0 - beq _0806FD74 - adds r4, r5, 0 - adds r4, 0x50 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_80D460C - adds r0, r4, 0 - bl sub_806FF80 -_0806FD74: - adds r0, r5, 0 - bl ZeroBoxMonData - adds r1, r5, 0 - adds r1, 0x88 - movs r0, 0 - str r0, [r1] - bl party_compaction - bl CalculatePlayerPartyCount - adds r0, r7, 0 - add sp, 0x68 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_806FCF8 - - thumb_func_start sub_806FD9C -sub_806FD9C: @ 806FD9C - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x8C - muls r0, r1 - adds r0, r5, r0 - bl sub_806FCF8 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl sub_806FC48 - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806FD9C - - thumb_func_start sub_806FDC4 -sub_806FDC4: @ 806FDC4 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003030 - adds r0, r1 - ldr r1, =gSpecialVar_0x8004 - ldrb r1, [r1] - bl sub_806FD9C - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end sub_806FDC4 - - thumb_func_start sub_806FDEC -sub_806FDEC: @ 806FDEC - push {r4,r5,lr} - sub sp, 0x54 - adds r4, r0, 0 - adds r5, r1, 0 - mov r0, sp - adds r1, r4, 0 - movs r2, 0x50 - bl memcpy - adds r0, r4, 0 - movs r1, 0x19 - bl GetBoxMonData - adds r0, r5 - str r0, [sp, 0x50] - add r2, sp, 0x50 - mov r0, sp - movs r1, 0x19 - bl SetBoxMonData - mov r0, sp - bl GetLevelFromBoxMonExp - lsls r0, 24 - lsrs r0, 24 - add sp, 0x54 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806FDEC - - thumb_func_start sub_806FE28 -sub_806FE28: @ 806FE28 - push {r4,r5,lr} - adds r5, r0, 0 - bl GetLevelFromBoxMonExp - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - adds r0, 0x88 - ldr r1, [r0] - adds r0, r5, 0 - bl sub_806FDEC - lsls r0, 24 - lsrs r0, 24 - subs r0, r4 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806FE28 - - thumb_func_start sub_806FE54 -sub_806FE54: @ 806FE54 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_806FE28 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gStringVar2 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gStringVar1 - adds r0, r5, 0 - bl GetBoxMonNick - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_806FE54 - - thumb_func_start sub_806FE88 -sub_806FE88: @ 806FE88 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_806FE28 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =gStringVar1 - adds r0, r5, 0 - bl GetBoxMonNick - movs r0, 0x64 - muls r4, r0 - adds r4, 0x64 - ldr r0, =gStringVar2 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_806FE88 - - thumb_func_start sub_806FEC0 -sub_806FEC0: @ 806FEC0 - push {lr} - lsls r1, 24 - lsrs r1, 24 - movs r2, 0x8C - muls r1, r2 - adds r0, r1 - bl sub_806FE88 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_806FEC0 - - thumb_func_start sub_806FED8 -sub_806FED8: @ 806FED8 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003030 - adds r0, r1 - ldr r1, =gSpecialVar_0x8004 - ldrb r1, [r1] - bl sub_806FEC0 - ldr r1, =gSpecialVar_0x8005 - strh r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_806FED8 - - thumb_func_start sub_806FF04 -sub_806FF04: @ 806FF04 - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gSaveBlock1Ptr - ldr r2, [r1] - ldr r1, =0x000030b8 - adds r3, r2, r1 - ldr r1, [r3] - adds r1, r0 - str r1, [r3] - ldr r1, =0x00003144 - adds r2, r1 - ldr r1, [r2] - adds r1, r0 - str r1, [r2] - bx lr - .pool - thumb_func_end sub_806FF04 - - thumb_func_start sub_806FF30 -sub_806FF30: @ 806FF30 - push {r4-r6,lr} - ldr r6, =gSaveBlock1Ptr - ldr r5, =gSpecialVar_0x8004 - ldrh r0, [r5] - movs r4, 0x8C - adds r1, r0, 0 - muls r1, r4 - ldr r0, =0x00003030 - adds r1, r0 - ldr r0, [r6] - adds r0, r1 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - bne _0806FF60 - movs r0, 0 - b _0806FF76 - .pool -_0806FF60: - ldrh r0, [r5] - adds r1, r0, 0 - muls r1, r4 - ldr r0, =0x00003030 - adds r1, r0 - ldr r0, [r6] - adds r0, r1 - bl sub_806FE54 - lsls r0, 24 - lsrs r0, 24 -_0806FF76: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_806FF30 - - thumb_func_start sub_806FF80 -sub_806FF80: @ 806FF80 - push {lr} - movs r3, 0 - movs r2, 0x7 - adds r1, r0, 0 - adds r1, 0x2B -_0806FF8A: - strb r3, [r1] - subs r1, 0x1 - subs r2, 0x1 - cmp r2, 0 - bge _0806FF8A - adds r2, r0, 0 - adds r2, 0x2C - movs r3, 0 - adds r1, r0, 0 - adds r1, 0x36 -_0806FF9E: - strb r3, [r1] - subs r1, 0x1 - cmp r1, r2 - bge _0806FF9E - bl sub_80D439C - pop {r0} - bx r0 - thumb_func_end sub_806FF80 - - thumb_func_start sub_806FFB0 -sub_806FFB0: @ 806FFB0 - push {r4,lr} - adds r4, r0, 0 - bl ZeroBoxMonData - adds r1, r4, 0 - adds r1, 0x88 - movs r0, 0 - str r0, [r1] - adds r4, 0x50 - adds r0, r4, 0 - bl sub_806FF80 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_806FFB0 - - thumb_func_start sub_806FFD0 -sub_806FFD0: @ 806FFD0 - push {r4-r6,lr} - adds r5, r0, 0 - movs r4, 0 - movs r6, 0x8C -_0806FFD8: - adds r0, r4, 0 - muls r0, r6 - adds r0, r5, r0 - bl sub_806FFB0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0806FFD8 - movs r1, 0x8C - lsls r1, 1 - adds r0, r5, r1 - movs r1, 0 - str r1, [r0] - movs r2, 0x8E - lsls r2, 1 - adds r0, r5, r2 - strb r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_806FFD0 - - thumb_func_start sub_8070004 -sub_8070004: @ 8070004 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r2, r0, 16 - movs r0, 0 - mov r8, r0 - ldr r0, =gEvolutionTable - mov r12, r0 -_08070016: - movs r7, 0 - movs r6, 0x1 - movs r4, 0x80 - lsls r4, 9 - movs r5, 0x28 - mov r3, r12 - adds r3, 0x28 -_08070024: - movs r1, 0 - ldrh r0, [r3, 0x4] - cmp r0, r2 - bne _08070034 - lsrs r2, r4, 16 - b _08070060 - .pool -_08070034: - adds r1, 0x1 - cmp r1, 0x4 - bgt _0807004A - lsls r0, r1, 3 - adds r0, r5 - add r0, r12 - ldrh r0, [r0, 0x4] - cmp r0, r2 - bne _08070034 - lsrs r2, r4, 16 - movs r7, 0x1 -_0807004A: - cmp r7, 0 - bne _08070060 - movs r0, 0x80 - lsls r0, 9 - adds r4, r0 - adds r5, 0x28 - adds r3, 0x28 - adds r6, 0x1 - ldr r0, =0x0000019b - cmp r6, r0 - ble _08070024 -_08070060: - movs r0, 0xCE - lsls r0, 1 - cmp r6, r0 - beq _08070072 - movs r0, 0x1 - add r8, r0 - mov r0, r8 - cmp r0, 0x4 - ble _08070016 -_08070072: - adds r0, r2, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8070004 - - thumb_func_start sub_8070084 -sub_8070084: @ 8070084 - push {r4-r7,lr} - sub sp, 0x8 - adds r6, r0, 0 - movs r7, 0x1 - negs r7, r7 - movs r4, 0 -_08070090: - movs r0, 0x8C - muls r0, r4 - adds r0, r6, r0 - bl GetBoxMonGender - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFE - bne _080700A4 - adds r7, r4, 0 -_080700A4: - adds r4, 0x1 - cmp r4, 0x1 - ble _08070090 - movs r5, 0 - movs r4, 0 -_080700AE: - movs r0, 0x8C - muls r0, r4 - adds r0, r6, r0 - movs r1, 0xB - bl GetBoxMonData - lsls r1, r4, 2 - add r1, sp - str r0, [r1] - cmp r0, 0x84 - bne _080700C8 - adds r5, 0x1 - adds r7, r4, 0 -_080700C8: - adds r4, 0x1 - cmp r4, 0x1 - ble _080700AE - cmp r5, 0x2 - bne _080700E2 - bl Random - lsls r0, 16 - ldr r1, =0x7ffe0000 - movs r7, 0x1 - cmp r0, r1 - bls _080700E2 - movs r7, 0 -_080700E2: - movs r0, 0x8C - muls r0, r7 - adds r0, r6, r0 - movs r1, 0xC - bl GetBoxMonData - cmp r0, 0xC3 - bne _080700FE - bl Random - lsls r0, 16 - ldr r1, =0x7ffe0000 - cmp r0, r1 - bls _08070108 -_080700FE: - movs r0, 0x1 - negs r0, r0 - b _0807010A - .pool -_08070108: - adds r0, r7, 0 -_0807010A: - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8070084 - - thumb_func_start sub_8070114 -sub_8070114: @ 8070114 - push {r4-r7,lr} - adds r5, r0, 0 - movs r6, 0 - ldr r0, =gMain - ldrh r0, [r0, 0x24] - bl SeedRng2 - adds r0, r5, 0 - bl sub_8070084 - adds r1, r0, 0 - cmp r1, 0 - bge _08070160 - bl Random2 - adds r4, r0, 0 - bl Random - movs r1, 0x8C - lsls r1, 1 - adds r5, r1 - lsls r4, 16 - lsls r0, 16 - lsrs r0, 16 - ldr r1, =0x0000fffe - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - adds r0, 0x1 - orrs r4, r0 - str r4, [r5] - b _080701AC - .pool -_08070160: - movs r0, 0x8C - muls r0, r1 - adds r0, r5, r0 - movs r1, 0 - movs r2, 0 - bl GetBoxMonData - bl GetNatureFromPersonality - lsls r0, 24 - lsrs r7, r0, 24 -_08070176: - bl Random2 - adds r4, r0, 0 - bl Random - lsls r4, 16 - lsls r0, 16 - lsrs r0, 16 - orrs r4, r0 - adds r0, r4, 0 - bl GetNatureFromPersonality - lsls r0, 24 - lsrs r0, 24 - cmp r7, r0 - bne _0807019A - cmp r4, 0 - bne _080701A4 -_0807019A: - adds r6, 0x1 - movs r0, 0x96 - lsls r0, 4 - cmp r6, r0 - ble _08070176 -_080701A4: - movs r1, 0x8C - lsls r1, 1 - adds r0, r5, r1 - str r4, [r0] -_080701AC: - movs r0, 0x86 - bl FlagSet - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8070114 - - thumb_func_start sub_80701B8 -sub_80701B8: @ 80701B8 - push {r4,lr} - adds r4, r0, 0 - bl Random - movs r1, 0x8C - lsls r1, 1 - adds r4, r1 - movs r2, 0x80 - lsls r2, 8 - adds r1, r2, 0 - orrs r0, r1 - lsls r0, 16 - lsrs r0, 16 - str r0, [r4] - movs r0, 0x86 - bl FlagSet - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80701B8 - - thumb_func_start sub_80701E0 -sub_80701E0: @ 80701E0 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003030 - adds r0, r1 - bl sub_8070114 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80701E0 - - thumb_func_start sub_80701FC -sub_80701FC: @ 80701FC - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003030 - adds r0, r1 - bl sub_80701B8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80701FC - - thumb_func_start sub_8070218 -sub_8070218: @ 8070218 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r1, r4, r1 - movs r0, 0xFF - strb r0, [r1] - movs r2, 0 -_0807022A: - mov r1, sp - adds r0, r1, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x5 - ble _0807022A - movs r3, 0 - movs r2, 0 -_0807023E: - mov r1, sp - adds r0, r1, r2 - ldrb r1, [r0] - adds r0, r1, 0 - cmp r0, 0xFF - beq _08070250 - adds r0, r4, r3 - strb r1, [r0] - adds r3, 0x1 -_08070250: - adds r2, 0x1 - cmp r2, 0x5 - ble _0807023E - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8070218 - - thumb_func_start sub_8070260 -sub_8070260: @ 8070260 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - mov r9, r0 - mov r8, r1 - movs r5, 0 - add r1, sp, 0x4 - add r7, sp, 0xC - adds r2, r1, 0 -_08070276: - adds r0, r2, r5 - strb r5, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08070276 - movs r5, 0 - adds r6, r1, 0 -_08070288: - bl Random - mov r1, sp - adds r4, r1, r5 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x6 - subs r1, r5 - bl __modsi3 - adds r0, r6, r0 - ldrb r0, [r0] - strb r0, [r4] - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_8070218 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08070288 - movs r5, 0 - movs r4, 0x1 -_080702B8: - bl Random - adds r1, r7, r5 - lsls r0, 16 - lsrs r0, 16 - ands r0, r4 - strb r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _080702B8 - movs r5, 0 -_080702D2: - mov r1, sp - adds r0, r1, r5 - ldrb r0, [r0] - cmp r0, 0x5 - bhi _080703AE - lsls r0, 2 - ldr r1, =_080702EC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080702EC: - .4byte _08070304 - .4byte _08070322 - .4byte _0807033C - .4byte _08070356 - .4byte _08070370 - .4byte _08070390 -_08070304: - adds r0, r7, r5 - ldrb r1, [r0] - movs r0, 0x8C - muls r0, r1 - add r0, r8 - movs r1, 0x27 - bl GetBoxMonData - add r2, sp, 0x10 - strb r0, [r2] - mov r0, r9 - movs r1, 0x27 - bl SetMonData - b _080703AE -_08070322: - add r4, sp, 0x10 - adds r0, r7, r5 - ldrb r1, [r0] - movs r0, 0x8C - muls r0, r1 - add r0, r8 - movs r1, 0x28 - bl GetBoxMonData - strb r0, [r4] - mov r0, r9 - movs r1, 0x28 - b _08070388 -_0807033C: - add r4, sp, 0x10 - adds r0, r7, r5 - ldrb r1, [r0] - movs r0, 0x8C - muls r0, r1 - add r0, r8 - movs r1, 0x29 - bl GetBoxMonData - strb r0, [r4] - mov r0, r9 - movs r1, 0x29 - b _08070388 -_08070356: - add r4, sp, 0x10 - adds r0, r7, r5 - ldrb r1, [r0] - movs r0, 0x8C - muls r0, r1 - add r0, r8 - movs r1, 0x2A - bl GetBoxMonData - strb r0, [r4] - mov r0, r9 - movs r1, 0x2A - b _08070388 -_08070370: - add r4, sp, 0x10 - adds r0, r7, r5 - ldrb r1, [r0] - movs r0, 0x8C - muls r0, r1 - add r0, r8 - movs r1, 0x2B - bl GetBoxMonData - strb r0, [r4] - mov r0, r9 - movs r1, 0x2B -_08070388: - adds r2, r4, 0 - bl SetMonData - b _080703AE -_08070390: - add r4, sp, 0x10 - adds r0, r7, r5 - ldrb r1, [r0] - movs r0, 0x8C - muls r0, r1 - add r0, r8 - movs r1, 0x2C - bl GetBoxMonData - strb r0, [r4] - mov r0, r9 - movs r1, 0x2C - adds r2, r4, 0 - bl SetMonData -_080703AE: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _080702D2 - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8070260 - - thumb_func_start pokemon_get_eggmoves -pokemon_get_eggmoves: @ 80703C8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r1 - movs r6, 0 - movs r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r5, =gEggMoves - ldrh r1, [r5] - ldr r7, =0x00004e20 - adds r0, r3, r7 - cmp r1, r0 - bne _080703F8 - movs r4, 0x1 - b _0807041A - .pool -_080703F8: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, =0x00000471 - ldr r5, =gEggMoves - cmp r2, r0 - bhi _0807041A - lsls r0, r2, 1 - adds r0, r5 - ldrh r1, [r0] - ldr r7, =0x00004e20 - adds r0, r3, r7 - cmp r1, r0 - bne _080703F8 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_0807041A: - movs r2, 0 - lsls r0, r4, 1 - adds r0, r5 - ldrh r0, [r0] - ldr r1, =0x00004e20 - cmp r0, r1 - bhi _08070456 - adds r7, r5, 0 - adds r3, r1, 0 -_0807042C: - lsls r1, r2, 1 - add r1, r8 - adds r0, r4, r2 - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x9 - bhi _08070456 - adds r0, r4, r2 - lsls r0, 1 - adds r0, r5 - ldrh r0, [r0] - cmp r0, r3 - bls _0807042C -_08070456: - lsls r0, r6, 24 - lsrs r0, 24 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end pokemon_get_eggmoves - - thumb_func_start daycare_build_child_moveset -daycare_build_child_moveset: @ 8070470 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - adds r7, r0, 0 - mov r10, r1 - mov r9, r2 - movs r0, 0 - str r0, [sp] - movs r6, 0 - ldr r5, =gUnknown_02024A4C - movs r2, 0 - ldr r4, =gUnknown_02024A28 - ldr r3, =gUnknown_02024A30 -_08070490: - lsls r1, r6, 1 - adds r0, r1, r5 - strh r2, [r0] - adds r0, r1, r4 - strh r2, [r0] - adds r1, r3 - strh r2, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bls _08070490 - movs r6, 0 - ldr r2, =gUnknown_02024A38 - movs r1, 0 -_080704AE: - lsls r0, r6, 1 - adds r0, r2 - strh r1, [r0] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x9 - bls _080704AE - movs r6, 0 - ldr r2, =gUnknown_020249C4 - movs r1, 0 -_080704C4: - lsls r0, r6, 1 - adds r0, r2 - strh r1, [r0] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x31 - bls _080704C4 - adds r0, r7, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gUnknown_020249C4 - bl GetLevelUpMovesBySpecies - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r6, 0 - ldr r1, =gUnknown_02024A28 - mov r8, r1 -_080704F2: - adds r5, r6, 0 - adds r5, 0xD - mov r0, r10 - adds r1, r5, 0 - bl GetBoxMonData - lsls r4, r6, 1 - mov r2, r8 - adds r1, r4, r2 - strh r0, [r1] - mov r0, r9 - adds r1, r5, 0 - bl GetBoxMonData - ldr r1, =gUnknown_02024A4C - adds r4, r1 - strh r0, [r4] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bls _080704F2 - ldr r1, =gUnknown_02024A38 - adds r0, r7, 0 - bl pokemon_get_eggmoves - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r6, 0 -_0807052E: - ldr r0, =gUnknown_02024A28 - lsls r1, r6, 1 - adds r2, r1, r0 - ldrh r1, [r2] - mov r9, r0 - cmp r1, 0 - beq _080705A4 - movs r5, 0 - cmp r5, r8 - bcs _08070596 - adds r4, r2, 0 - ldr r2, =0x0000ffff -_08070546: - ldr r0, =gUnknown_02024A38 - lsls r1, r5, 1 - adds r1, r0 - ldrh r0, [r4] - ldrh r1, [r1] - cmp r0, r1 - bne _0807058C - adds r1, r0, 0 - adds r0, r7, 0 - str r2, [sp, 0x8] - bl GiveMoveToMon - lsls r0, 16 - lsrs r0, 16 - ldr r2, [sp, 0x8] - cmp r0, r2 - bne _08070596 - ldrh r1, [r4] - adds r0, r7, 0 - bl DeleteFirstMoveAndGiveMoveToMon - b _08070596 - .pool -_0807058C: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r8 - bcc _08070546 -_08070596: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r3, =gUnknown_02024A28 - mov r9, r3 - cmp r6, 0x3 - bls _0807052E -_080705A4: - movs r6, 0 -_080705A6: - lsls r0, r6, 1 - mov r2, r9 - adds r1, r0, r2 - ldrh r1, [r1] - adds r2, r0, 0 - adds r6, 0x1 - mov r8, r6 - cmp r1, 0 - beq _08070608 - movs r5, 0 - ldr r0, =gUnknown_02024A28 - adds r4, r2, r0 - ldr r6, =0x0000ffff - mov r9, r0 -_080705C2: - ldr r3, =0x00000121 - adds r0, r5, r3 - lsls r0, 16 - lsrs r0, 16 - bl ItemIdToBattleMoveId - ldrh r1, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bne _080705FE - lsls r1, r5, 24 - lsrs r1, 24 - adds r0, r7, 0 - bl CanMonLearnTMHM - cmp r0, 0 - beq _080705FE - ldrh r1, [r4] - adds r0, r7, 0 - bl GiveMoveToMon - lsls r0, 16 - lsrs r0, 16 - cmp r0, r6 - bne _080705FE - ldrh r1, [r4] - adds r0, r7, 0 - bl DeleteFirstMoveAndGiveMoveToMon -_080705FE: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x39 - bls _080705C2 -_08070608: - mov r1, r8 - lsls r0, r1, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bls _080705A6 - movs r6, 0 - mov r2, r9 - ldrh r0, [r2] - ldr r3, =gUnknown_02024A30 - mov r10, r3 - cmp r0, 0 - beq _08070672 - mov r4, r9 - ldr r0, =gUnknown_02024A4C - mov r9, r0 - mov r12, r10 -_08070628: - movs r5, 0 - lsls r2, r6, 1 - adds r6, 0x1 - mov r8, r6 - adds r3, r2, r4 -_08070632: - lsls r0, r5, 1 - add r0, r9 - ldrh r2, [r3] - adds r1, r2, 0 - ldrh r0, [r0] - cmp r1, r0 - bne _08070654 - cmp r1, 0 - beq _08070654 - ldr r1, [sp] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp] - lsls r1, 1 - add r1, r12 - strh r2, [r1] -_08070654: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _08070632 - mov r1, r8 - lsls r0, r1, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bhi _08070672 - lsls r0, r6, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r0, 0 - bne _08070628 -_08070672: - movs r6, 0 - mov r2, r10 - ldrh r0, [r2] - cmp r0, 0 - beq _080706FC -_0807067C: - movs r5, 0 - adds r3, r6, 0x1 - mov r8, r3 - ldr r0, [sp, 0x4] - cmp r5, r0 - bcs _080706E4 - ldr r2, =0x0000ffff -_0807068A: - ldr r1, =gUnknown_020249C4 - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - cmp r1, 0 - beq _080706D8 - lsls r0, r6, 1 - mov r3, r10 - adds r4, r0, r3 - ldrh r0, [r4] - cmp r0, r1 - bne _080706D8 - adds r1, r0, 0 - adds r0, r7, 0 - str r2, [sp, 0x8] - bl GiveMoveToMon - lsls r0, 16 - lsrs r0, 16 - ldr r2, [sp, 0x8] - cmp r0, r2 - bne _080706E4 - ldrh r1, [r4] - adds r0, r7, 0 - bl DeleteFirstMoveAndGiveMoveToMon - b _080706E4 - .pool -_080706D8: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, [sp, 0x4] - cmp r5, r0 - bcc _0807068A -_080706E4: - mov r1, r8 - lsls r0, r1, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bhi _080706FC - ldr r0, =gUnknown_02024A30 - lsls r1, r6, 1 - adds r1, r0 - ldrh r1, [r1] - mov r10, r0 - cmp r1, 0 - bne _0807067C -_080706FC: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end daycare_build_child_moveset - - thumb_func_start sub_8070710 -sub_8070710: @ 8070710 - adds r2, r0, 0 - movs r1, 0x8C - lsls r1, 1 - adds r0, r2, r1 - movs r1, 0 - str r1, [r0] - movs r3, 0x8E - lsls r3, 1 - adds r0, r2, r3 - strb r1, [r0] - bx lr - thumb_func_end sub_8070710 - - thumb_func_start sub_8070728 -sub_8070728: @ 8070728 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003030 - adds r0, r1 - bl sub_8070710 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8070728 - - thumb_func_start incense_effects -incense_effects: @ 8070744 - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrh r1, [r4] - movs r7, 0xB4 - lsls r7, 1 - cmp r1, r7 - beq _0807075C - movs r0, 0xAF - lsls r0, 1 - cmp r1, r0 - bne _0807079E -_0807075C: - adds r0, r5, 0 - movs r1, 0xC - bl GetBoxMonData - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r5, 0 - adds r0, 0x8C - movs r1, 0xC - bl GetBoxMonData - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r4] - cmp r0, r7 - bne _08070788 - cmp r6, 0xDD - beq _08070788 - cmp r2, 0xDD - beq _08070788 - movs r0, 0xCA - strh r0, [r4] -_08070788: - ldrh r1, [r4] - movs r0, 0xAF - lsls r0, 1 - cmp r1, r0 - bne _0807079E - cmp r6, 0xDC - beq _0807079E - cmp r2, 0xDC - beq _0807079E - movs r0, 0xB7 - strh r0, [r4] -_0807079E: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end incense_effects - - thumb_func_start sub_80707A4 -sub_80707A4: @ 80707A4 - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - movs r1, 0xC - bl GetBoxMonData - adds r5, r0, 0 - adds r4, 0x8C - adds r0, r4, 0 - movs r1, 0xC - bl GetBoxMonData - cmp r5, 0xCA - beq _080707C6 - cmp r0, 0xCA - bne _080707E2 -_080707C6: - movs r4, 0xAC - lsls r4, 1 - adds r0, r6, 0 - adds r1, r4, 0 - bl GiveMoveToMon - lsls r0, 16 - ldr r1, =0xffff0000 - cmp r0, r1 - bne _080707E2 - adds r0, r6, 0 - adds r1, r4, 0 - bl DeleteFirstMoveAndGiveMoveToMon -_080707E2: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80707A4 - - thumb_func_start sub_80707EC -sub_80707EC: @ 80707EC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r7, r0, 0 - adds r6, r1, 0 - movs r4, 0 - movs r0, 0x1 - mov r8, r0 -_080707FE: - movs r0, 0x8C - muls r0, r4 - adds r5, r7, r0 - adds r0, r5, 0 - movs r1, 0xB - bl GetBoxMonData - lsls r1, r4, 1 - add r1, sp - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x84 - bne _08070826 - adds r0, r4, 0 - mov r1, r8 - eors r0, r1 - strb r0, [r6] - strb r4, [r6, 0x1] - b _0807083E -_08070826: - adds r0, r5, 0 - bl GetBoxMonGender - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFE - bne _0807083E - strb r4, [r6] - adds r0, r4, 0 - mov r1, r8 - eors r0, r1 - strb r0, [r6, 0x1] -_0807083E: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _080707FE - ldrb r0, [r6] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - bl sub_8070004 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bne _08070870 - movs r1, 0x8C - lsls r1, 1 - adds r0, r7, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _08070870 - movs r4, 0x20 -_08070870: - ldr r0, =0x00000183 - cmp r4, r0 - bne _0807088C - movs r1, 0x8C - lsls r1, 1 - adds r0, r7, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _0807088C - movs r4, 0xC1 - lsls r4, 1 -_0807088C: - ldrb r0, [r6, 0x1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - cmp r0, 0x84 - bne _080708B4 - ldrb r1, [r6] - movs r0, 0x8C - muls r0, r1 - adds r0, r7, r0 - bl GetBoxMonGender - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFE - beq _080708B4 - ldrb r1, [r6, 0x1] - ldrb r0, [r6] - strb r0, [r6, 0x1] - strb r1, [r6] -_080708B4: - adds r0, r4, 0 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80707EC - - thumb_func_start sub_80708C8 -sub_80708C8: @ 80708C8 - push {r4-r6,lr} - sub sp, 0x6C - adds r6, r0, 0 - add r5, sp, 0x64 - adds r1, r5, 0 - bl sub_80707EC - add r4, sp, 0x68 - strh r0, [r4] - adds r0, r4, 0 - adds r1, r6, 0 - bl incense_effects - ldrh r1, [r4] - mov r0, sp - adds r2, r6, 0 - bl sub_8070A0C - mov r0, sp - adds r1, r6, 0 - bl sub_8070260 - ldrb r0, [r5, 0x1] - movs r2, 0x8C - adds r1, r0, 0 - muls r1, r2 - adds r1, r6, r1 - ldrb r0, [r5] - muls r2, r0 - adds r2, r6, r2 - mov r0, sp - bl daycare_build_child_moveset - ldrh r0, [r4] - cmp r0, 0xAC - bne _08070918 - mov r0, sp - adds r1, r6, 0 - bl sub_80707A4 -_08070918: - mov r2, sp - adds r2, 0x6A - movs r0, 0x1 - strb r0, [r2] - mov r0, sp - movs r1, 0x2D - bl SetMonData - ldr r0, =gPlayerParty - movs r1, 0xFA - lsls r1, 1 - adds r0, r1 - mov r1, sp - movs r2, 0x64 - bl memcpy - bl party_compaction - bl CalculatePlayerPartyCount - adds r0, r6, 0 - bl sub_8070710 - add sp, 0x6C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80708C8 - - thumb_func_start sub_8070954 -sub_8070954: @ 8070954 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - adds r7, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 24 - lsrs r6, 24 - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - adds r1, r5, 0 - movs r2, 0x5 - movs r3, 0x20 - bl CreateMon - movs r0, 0x12 - add r0, sp - mov r8, r0 - strb r4, [r0] - movs r1, 0x4 - add r0, sp, 0x10 - strh r1, [r0] - mov r4, sp - adds r4, 0x13 - movs r0, 0x1 - mov r9, r0 - mov r0, r9 - strb r0, [r4] - adds r0, r7, 0 - movs r1, 0x26 - add r2, sp, 0x10 - bl SetMonData - ldr r2, =gEggName - adds r0, r7, 0 - movs r1, 0x2 - bl SetMonData - lsls r2, r5, 3 - subs r2, r5 - lsls r2, 2 - ldr r0, =gBaseStats + 0x11 @ egg cycles offset - adds r2, r0 - adds r0, r7, 0 - movs r1, 0x20 - bl SetMonData - adds r0, r7, 0 - movs r1, 0x24 - mov r2, r8 - bl SetMonData - adds r0, r7, 0 - movs r1, 0x3 - adds r2, r4, 0 - bl SetMonData - cmp r6, 0 - beq _080709E6 - add r2, sp, 0x14 - movs r0, 0xFD - strb r0, [r2] - adds r0, r7, 0 - movs r1, 0x23 - bl SetMonData -_080709E6: - mov r2, sp - adds r2, 0x15 - mov r0, r9 - strb r0, [r2] - adds r0, r7, 0 - movs r1, 0x2D - bl SetMonData - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8070954 - - thumb_func_start sub_8070A0C -sub_8070A0C: @ 8070A0C - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x14 - adds r6, r0, 0 - adds r5, r1, 0 - lsls r5, 16 - lsrs r5, 16 - movs r0, 0x8C - lsls r0, 1 - adds r2, r0 - ldr r0, [r2] - movs r1, 0x1 - mov r8, r1 - str r1, [sp] - str r0, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0x8] - str r4, [sp, 0xC] - adds r0, r6, 0 - adds r1, r5, 0 - movs r2, 0x5 - movs r3, 0x20 - bl CreateMon - movs r0, 0x12 - add r0, sp - mov r9, r0 - strb r4, [r0] - movs r1, 0x4 - add r0, sp, 0x10 - strh r1, [r0] - mov r4, sp - adds r4, 0x13 - mov r1, r8 - strb r1, [r4] - adds r0, r6, 0 - movs r1, 0x26 - add r2, sp, 0x10 - bl SetMonData - ldr r2, =gEggName - adds r0, r6, 0 - movs r1, 0x2 - bl SetMonData - lsls r2, r5, 3 - subs r2, r5 - lsls r2, 2 - ldr r0, =gBaseStats + 0x11 @ egg cycles offset - adds r2, r0 - adds r0, r6, 0 - movs r1, 0x20 - bl SetMonData - adds r0, r6, 0 - movs r1, 0x24 - mov r2, r9 - bl SetMonData - adds r0, r6, 0 - movs r1, 0x3 - adds r2, r4, 0 - bl SetMonData - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8070A0C - - thumb_func_start sp0B8_daycare -sp0B8_daycare: @ 8070AA8 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003030 - adds r0, r1 - bl sub_80708C8 - pop {r0} - bx r0 - .pool - thumb_func_end sp0B8_daycare - - thumb_func_start sub_8070AC4 -sub_8070AC4: @ 8070AC4 - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - movs r7, 0 - movs r5, 0 -_08070ACE: - movs r0, 0x8C - adds r4, r5, 0 - muls r4, r0 - adds r0, r6, r4 - movs r1, 0x5 - bl GetBoxMonData - cmp r0, 0 - beq _08070AEE - adds r1, r6, 0 - adds r1, 0x88 - adds r1, r4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - adds r7, 0x1 -_08070AEE: - adds r5, 0x1 - cmp r5, 0x1 - bls _08070ACE - movs r1, 0x8C - lsls r1, 1 - adds r0, r6, r1 - ldr r0, [r0] - cmp r0, 0 - bne _08070B34 - cmp r7, 0x2 - bne _08070B34 - subs r1, 0x4 - adds r0, r6, r1 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08070B34 - adds r0, r6, 0 - bl daycare_relationship_score - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - muls r0, r1 - ldr r1, =0x0000ffff - bl __udivsi3 - cmp r4, r0 - bls _08070B34 - bl sub_80701E0 -_08070B34: - movs r0, 0x8E - lsls r0, 1 - adds r1, r6, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _08070BC0 - bl GetEggStepsToSubtract - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - cmp r5, r0 - bcs _08070BC0 - ldr r4, =gPlayerParty -_08070B5C: - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - beq _08070BB4 - adds r0, r4, 0 - movs r1, 0x4 - bl GetMonData - cmp r0, 0 - bne _08070BB4 - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - adds r1, r0, 0 - str r1, [sp] - cmp r0, 0 - beq _08070BA8 - cmp r0, r6 - bcc _08070B98 - subs r0, r6 - b _08070B9A - .pool -_08070B98: - subs r0, r1, 0x1 -_08070B9A: - str r0, [sp] - adds r0, r4, 0 - movs r1, 0x20 - mov r2, sp - bl SetMonData - b _08070BB4 -_08070BA8: - ldr r0, =gSpecialVar_0x8004 - strh r5, [r0] - movs r0, 0x1 - b _08070BC2 - .pool -_08070BB4: - adds r4, 0x64 - adds r5, 0x1 - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - cmp r5, r0 - bcc _08070B5C -_08070BC0: - movs r0, 0 -_08070BC2: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8070AC4 - - thumb_func_start sub_8070BD0 -sub_8070BD0: @ 8070BD0 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003030 - adds r0, r1 - bl sub_8070AC4 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8070BD0 - - thumb_func_start sub_8070BF0 -sub_8070BF0: @ 8070BF0 - push {lr} - movs r1, 0x8C - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _08070C00 - movs r0, 0x1 -_08070C00: - pop {r1} - bx r1 - thumb_func_end sub_8070BF0 - - thumb_func_start sub_8070C04 -sub_8070C04: @ 8070C04 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _08070C2E - ldr r1, =gStringVar1 - adds r0, r4, 0 - bl GetBoxMonNick - adds r0, r4, 0 - movs r1, 0x7 - mov r2, sp - bl GetBoxMonData - ldr r0, =gStringVar3 - mov r1, sp - bl StringCopy -_08070C2E: - adds r4, 0x8C - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _08070C44 - ldr r1, =gStringVar2 - adds r0, r4, 0 - bl GetBoxMonNick -_08070C44: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8070C04 - - thumb_func_start sub_8070C58 -sub_8070C58: @ 8070C58 - push {r4,r5,lr} - bl brm_get_pokemon_selection - lsls r0, 24 - lsrs r0, 24 - movs r5, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - ldr r1, =gStringVar1 - bl GetBoxMonNick - bl brm_get_pokemon_selection - lsls r0, 24 - lsrs r0, 24 - muls r0, r5 - adds r0, r4 - movs r1, 0xB - bl GetBoxMonData - lsls r0, 16 - lsrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8070C58 - - thumb_func_start sp0B5_daycare -sp0B5_daycare: @ 8070C94 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003030 - adds r0, r1 - bl sub_8070C04 - pop {r0} - bx r0 - .pool - thumb_func_end sp0B5_daycare - - thumb_func_start sp0B6_daycare -sp0B6_daycare: @ 8070CB0 - push {r4,lr} - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - ldr r1, =0x00003030 - adds r0, r1 - bl sub_8070BF0 - lsls r0, 24 - cmp r0, 0 - beq _08070CD0 - movs r0, 0x1 - b _08070CF2 - .pool -_08070CD0: - ldr r0, [r4] - ldr r1, =0x00003030 - adds r0, r1 - bl daycare_count_pokemon - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08070CEC - movs r0, 0 - b _08070CF2 - .pool -_08070CEC: - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 -_08070CF2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sp0B6_daycare - - thumb_func_start sub_8070CF8 -sub_8070CF8: @ 8070CF8 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003030 - adds r0, r1 - bl daycare_count_pokemon - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08070D10 - movs r0, 0 -_08070D10: - pop {r1} - bx r1 - .pool - thumb_func_end sub_8070CF8 - - thumb_func_start sub_8070D1C -sub_8070D1C: @ 8070D1C - push {r4-r6,lr} - adds r5, r1, 0 - movs r4, 0 - adds r1, r0, 0 -_08070D24: - movs r3, 0 - ldrh r0, [r1] - adds r2, r5, 0 -_08070D2A: - ldrh r6, [r2] - cmp r0, r6 - bne _08070D34 - movs r0, 0x1 - b _08070D46 -_08070D34: - adds r2, 0x2 - adds r3, 0x1 - cmp r3, 0x1 - ble _08070D2A - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x1 - ble _08070D24 - movs r0, 0 -_08070D46: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8070D1C - - thumb_func_start daycare_relationship_score -daycare_relationship_score: @ 8070D4C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x30 - str r0, [sp, 0x1C] - movs r7, 0 - mov r0, sp - adds r0, 0x8 - str r0, [sp, 0x20] - add r1, sp, 0xC - mov r9, r1 - mov r2, sp - adds r2, 0x14 - str r2, [sp, 0x24] - subs r0, 0x6 - ldr r1, =gBaseStats - mov r10, r1 - ldr r5, [sp, 0x20] - mov r8, r0 - mov r6, sp - str r2, [sp, 0x28] - mov r2, r9 - str r2, [sp, 0x2C] -_08070D7E: - movs r0, 0x8C - adds r4, r7, 0 - muls r4, r0 - ldr r0, [sp, 0x1C] - adds r4, r0, r4 - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - strh r0, [r5] - adds r0, r4, 0 - movs r1, 0x1 - bl GetBoxMonData - ldr r1, [sp, 0x2C] - stm r1!, {r0} - str r1, [sp, 0x2C] - adds r0, r4, 0 - movs r1, 0 - bl GetBoxMonData - adds r1, r0, 0 - ldrh r0, [r5] - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r0, 24 - ldr r2, [sp, 0x28] - stm r2!, {r0} - str r2, [sp, 0x28] - ldrh r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r10 - ldrb r0, [r0, 0x14] - strh r0, [r6] - ldrh r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r10 - ldrb r0, [r0, 0x15] - mov r1, r8 - strh r0, [r1] - adds r5, 0x2 - movs r2, 0x4 - add r8, r2 - adds r6, 0x4 - adds r7, 0x1 - cmp r7, 0x1 - bls _08070D7E - mov r0, sp - ldrh r1, [r0] - cmp r1, 0xF - beq _08070DFC - ldrh r0, [r0, 0x4] - cmp r0, 0xF - beq _08070DFC - cmp r1, 0xD - bne _08070E04 - cmp r0, 0xD - bne _08070E08 -_08070DFC: - movs r0, 0 - b _08070E5C - .pool -_08070E04: - cmp r0, 0xD - bne _08070E14 -_08070E08: - ldr r1, [sp, 0xC] - mov r2, r9 - ldr r0, [r2, 0x4] - cmp r1, r0 - beq _08070E56 - b _08070E5A -_08070E14: - ldr r0, [sp, 0x14] - ldr r2, [sp, 0x24] - ldr r1, [r2, 0x4] - cmp r0, r1 - beq _08070DFC - cmp r0, 0xFF - beq _08070DFC - cmp r1, 0xFF - beq _08070DFC - add r1, sp, 0x4 - mov r0, sp - bl sub_8070D1C - lsls r0, 24 - cmp r0, 0 - beq _08070DFC - ldr r0, [sp, 0x20] - ldrh r1, [r0, 0x2] - ldrh r0, [r0] - cmp r0, r1 - bne _08070E4C - ldr r1, [sp, 0xC] - mov r2, r9 - ldr r0, [r2, 0x4] - cmp r1, r0 - beq _08070E5A - movs r0, 0x46 - b _08070E5C -_08070E4C: - ldr r1, [sp, 0xC] - mov r2, r9 - ldr r0, [r2, 0x4] - cmp r1, r0 - bne _08070E5A -_08070E56: - movs r0, 0x14 - b _08070E5C -_08070E5A: - movs r0, 0x32 -_08070E5C: - add sp, 0x30 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end daycare_relationship_score - - thumb_func_start daycare_relationship_score_from_savegame -daycare_relationship_score_from_savegame: @ 8070E6C - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003030 - adds r0, r1 - bl daycare_relationship_score - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end daycare_relationship_score_from_savegame - - thumb_func_start sp0B9_daycare_relationship_comment -sp0B9_daycare_relationship_comment: @ 8070E8C - push {lr} - bl daycare_relationship_score_from_savegame - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - movs r1, 0 - cmp r0, 0 - bne _08070EA0 - movs r1, 0x3 -_08070EA0: - cmp r0, 0x14 - bne _08070EA6 - movs r1, 0x2 -_08070EA6: - cmp r0, 0x32 - bne _08070EAC - movs r1, 0x1 -_08070EAC: - cmp r2, 0x46 - bne _08070EB2 - movs r1, 0 -_08070EB2: - ldr r0, =gStringVar4 - ldr r2, =gUnknown_0832B6F8 - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - pop {r0} - bx r0 - .pool - thumb_func_end sp0B9_daycare_relationship_comment - - thumb_func_start sub_8070ECC -sub_8070ECC: @ 8070ECC - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - mov r2, sp - mov r1, sp - movs r0, 0 - strb r0, [r1, 0x1] - strb r0, [r2] - movs r3, 0 - ldrb r0, [r4] - cmp r0, 0xFF - beq _08070F10 -_08070EE8: - adds r1, r4, r3 - ldrb r0, [r1] - cmp r0, 0xB5 - bne _08070EF6 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] -_08070EF6: - ldrb r0, [r1] - cmp r0, 0xB6 - bne _08070F02 - ldrb r0, [r2, 0x1] - adds r0, 0x1 - strb r0, [r2, 0x1] -_08070F02: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r4, r3 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08070EE8 -_08070F10: - cmp r5, 0 - bne _08070F24 - mov r0, sp - ldrb r0, [r0] - cmp r0, 0 - beq _08070F24 - mov r0, sp - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _08070F38 -_08070F24: - cmp r5, 0xFE - bne _08070F3C - mov r0, sp - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _08070F3C - mov r0, sp - ldrb r0, [r0] - cmp r0, 0 - bne _08070F3C -_08070F38: - movs r0, 0x1 - b _08070F3E -_08070F3C: - movs r0, 0 -_08070F3E: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8070ECC - - thumb_func_start sub_8070F48 -sub_8070F48: @ 8070F48 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0 - bne _08070F68 - movs r1, 0 - bl sub_8070ECC - lsls r0, 24 - cmp r0, 0 - bne _08070F84 - ldr r1, =gUnknown_0832DAC7 - b _08070F86 - .pool -_08070F68: - cmp r1, 0xFE - bne _08070F84 - adds r0, r4, 0 - movs r1, 0xFE - bl sub_8070ECC - lsls r0, 24 - cmp r0, 0 - bne _08070F84 - ldr r1, =gUnknown_0832DAC9 - b _08070F86 - .pool -_08070F84: - ldr r1, =gUnknown_0832DACB -_08070F86: - adds r0, r4, 0 - bl StringAppend - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8070F48 - - thumb_func_start sub_8070F98 -sub_8070F98: @ 8070F98 - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - bl GetBoxMonGender - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_8070F48 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8070F98 - - thumb_func_start sub_8070FB4 -sub_8070FB4: @ 8070FB4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x28 - mov r8, r0 - adds r7, r1, 0 - movs r0, 0xFF - strb r0, [r7] - movs r6, 0 - add r0, sp, 0x14 - mov r9, r0 -_08070FCC: - movs r0, 0x8C - adds r4, r6, 0 - muls r4, r0 - add r4, r8 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 2 - mov r1, sp - adds r5, r1, r0 - adds r0, r4, 0 - adds r1, r5, 0 - bl GetBoxMonNick - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8070F98 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x1 - bls _08070FCC - adds r0, r7, 0 - mov r1, sp - bl StringCopy - ldr r4, =gText_NewLine2 - adds r0, r7, 0 - adds r1, r4, 0 - bl StringAppend - adds r0, r7, 0 - mov r1, r9 - bl StringAppend - adds r0, r7, 0 - adds r1, r4, 0 - bl StringAppend - ldr r1, =gText_Exit4 - adds r0, r7, 0 - bl StringAppend - add sp, 0x28 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8070FB4 - - thumb_func_start sub_8071038 -sub_8071038: @ 8071038 - push {r4-r6,lr} - sub sp, 0x14 - adds r6, r0, 0 - adds r4, r1, 0 - movs r0, 0xFF - strb r0, [r4] - movs r5, 0 -_08071046: - adds r0, r4, 0 - ldr r1, =gText_Lv - bl StringAppend - movs r0, 0x8C - adds r2, r5, 0 - muls r2, r0 - adds r0, r6, r2 - adds r1, r6, 0 - adds r1, 0x88 - adds r1, r2 - ldr r1, [r1] - bl sub_806FDEC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r0, r4, 0 - mov r1, sp - bl StringAppend - adds r0, r4, 0 - ldr r1, =gText_NewLine2 - bl StringAppend - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _08071046 - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8071038 - - thumb_func_start sub_807109C -sub_807109C: @ 807109C - push {r4-r6,lr} - sub sp, 0x10 - str r1, [sp] - mov r1, sp - movs r5, 0 - strb r0, [r1, 0x4] - mov r0, sp - movs r6, 0x1 - movs r4, 0x1 - strb r4, [r0, 0x5] - strb r2, [r0, 0x6] - strb r3, [r0, 0x7] - strb r2, [r0, 0x8] - strb r3, [r0, 0x9] - mov r3, sp - ldrb r1, [r3, 0xC] - movs r2, 0x10 - negs r2, r2 - adds r0, r2, 0 - ands r0, r1 - strb r0, [r3, 0xC] - ldr r3, =gTextFlags - ldrb r1, [r3] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - mov r0, sp - strb r5, [r0, 0xA] - strb r4, [r0, 0xB] - mov r3, sp - ldrb r1, [r3, 0xC] - movs r4, 0xF - adds r0, r4, 0 - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r3, 0xC] - mov r1, sp - ldrb r0, [r1, 0xD] - ands r2, r0 - orrs r2, r6 - strb r2, [r1, 0xD] - ands r2, r4 - movs r0, 0x30 - orrs r2, r0 - strb r2, [r1, 0xD] - mov r0, sp - movs r1, 0xFF - movs r2, 0 - bl AddTextPrinter - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807109C - - thumb_func_start sub_8071110 -sub_8071110: @ 8071110 - push {r4-r6,lr} - sub sp, 0x14 - adds r5, r0, 0 - adds r4, r1, 0 - adds r6, r3, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x8C - muls r0, r2 - adds r5, r0 - adds r0, r5, 0 - mov r1, sp - bl GetBoxMonNick - mov r0, sp - adds r1, r5, 0 - bl sub_8070F98 - adds r0, r4, 0 - mov r1, sp - movs r2, 0x8 - adds r3, r6, 0 - bl sub_807109C - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8071110 - - thumb_func_start sub_8071148 -sub_8071148: @ 8071148 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x14 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - mov r8, r3 - lsls r5, 24 - lsrs r5, 24 - ldr r1, =gText_Lv - mov r0, sp - bl StringCopy - movs r0, 0x8C - adds r1, r6, 0 - muls r1, r0 - adds r0, r4, r1 - adds r4, 0x88 - adds r4, r1 - ldr r1, [r4] - bl sub_806FDEC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - add r4, sp, 0xC - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - mov r0, sp - adds r1, r4, 0 - bl StringAppend - movs r0, 0x1 - mov r1, sp - movs r2, 0x70 - bl GetStringRightAlignXOffset - adds r2, r0, 0 - adds r0, r5, 0 - mov r1, sp - mov r3, r8 - bl sub_807109C - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8071148 - - thumb_func_start sub_80711B8 -sub_80711B8: @ 80711B8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r2, 24 - lsrs r5, r2, 24 - cmp r6, 0x1 - bhi _080711F0 - ldr r0, =gSaveBlock1Ptr - mov r8, r0 - ldr r0, [r0] - ldr r4, =0x00003030 - adds r0, r4 - adds r1, r7, 0 - adds r2, r6, 0 - adds r3, r5, 0 - bl sub_8071110 - mov r1, r8 - ldr r0, [r1] - adds r0, r4 - adds r1, r7, 0 - adds r2, r6, 0 - adds r3, r5, 0 - bl sub_8071148 -_080711F0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80711B8 - - thumb_func_start c3_080469FC -c3_080469FC: @ 8071204 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrb r0, [r4, 0x8] - bl ListMenuHandleInput - adds r1, r0, 0 - ldr r0, =gMain - ldrh r2, [r0, 0x2E] - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _08071284 - cmp r1, 0x1 - bls _0807123C - cmp r1, 0x5 - beq _08071248 - b _0807124E - .pool -_0807123C: - ldr r0, =gScriptResult - strh r1, [r0] - b _0807124E - .pool -_08071248: - ldr r1, =gScriptResult - movs r0, 0x2 - strh r0, [r1] -_0807124E: - ldr r0, =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - ldrb r0, [r4, 0x8] - movs r1, 0 - movs r2, 0 - bl sub_81AE6C8 - ldrb r0, [r4, 0xA] - movs r1, 0x1 - bl sub_819746C - ldrb r0, [r4, 0xA] - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts - b _080712B4 - .pool -_08071284: - movs r1, 0x2 - adds r0, r1, 0 - ands r0, r2 - cmp r0, 0 - beq _080712B4 - ldr r0, =gScriptResult - strh r1, [r0] - ldrb r0, [r4, 0x8] - movs r1, 0 - movs r2, 0 - bl sub_81AE6C8 - ldrb r0, [r4, 0xA] - movs r1, 0x1 - bl sub_819746C - ldrb r0, [r4, 0xA] - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts -_080712B4: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end c3_080469FC - - thumb_func_start sub_80712C0 -sub_80712C0: @ 80712C0 - push {r4,r5,lr} - sub sp, 0x18 - ldr r0, =gUnknown_0832B6C0 - bl AddWindow - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl sub_81973FC - mov r1, sp - ldr r0, =gUnknown_0832B6E0 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - mov r0, sp - strb r4, [r0, 0x10] - movs r1, 0 - movs r2, 0 - bl ListMenuInit - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =c3_080469FC - movs r1, 0x3 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - strh r4, [r1, 0xA] - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80712C0 - - thumb_func_start sub_8071330 -sub_8071330: @ 8071330 - push {lr} - bl sub_81B9328 - ldr r1, =gMain - ldr r0, =c2_exit_to_overworld_2_switch - str r0, [r1, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8071330 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/dewford_trend.s b/asm/dewford_trend.s index 40df2d6a01..7d9d679024 100644 --- a/asm/dewford_trend.s +++ b/asm/dewford_trend.s @@ -79,8 +79,8 @@ _08122522: .pool thumb_func_end InitDewfordTrend - thumb_func_start sub_8122580 -sub_8122580: @ 8122580 + thumb_func_start UpdateDewfordTrendPerDay +UpdateDewfordTrendPerDay: @ 8122580 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -253,7 +253,7 @@ _081226BE: pop {r0} bx r0 .pool - thumb_func_end sub_8122580 + thumb_func_end UpdateDewfordTrendPerDay thumb_func_start sub_81226D8 sub_81226D8: @ 81226D8 @@ -667,7 +667,7 @@ sub_81229C8: @ 81229C8 negs r0, r0 lsrs r4, r0, 31 _08122A0C: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r4, [r0] pop {r4} pop {r0} @@ -677,7 +677,7 @@ _08122A0C: thumb_func_start sub_8122A30 sub_8122A30: @ 8122A30 - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r3, =0x00002e6c diff --git a/asm/easy_chat.s b/asm/easy_chat.s index e9565dfa9d..db2ffac14b 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -652,7 +652,7 @@ sub_811A7E4: @ 811A7E4 _0811A804: movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen b _0811A840 _0811A80E: ldr r0, =gPaletteFade @@ -1635,7 +1635,7 @@ _0811AF86: thumb_func_start sub_811AF8C sub_811AF8C: @ 811AF8C push {lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1659,7 +1659,7 @@ _0811AFAC: b _0811AFE6 .pool _0811AFC0: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] ldr r0, =gUnknown_0203A118 ldr r0, [r0] @@ -1684,7 +1684,7 @@ _0811AFE6: thumb_func_start sub_811AFEC sub_811AFEC: @ 811AFEC push {r4,lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1709,7 +1709,7 @@ _0811B00C: .pool _0811B020: bl sub_811BE9C - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result bl sub_811B4EC strh r0, [r4] bl sub_811B3E4 @@ -1727,7 +1727,7 @@ _0811B03A: thumb_func_start sub_811B040 sub_811B040: @ 811B040 push {lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1832,7 +1832,7 @@ sub_811B0E8: @ 811B0E8 thumb_func_start sub_811B0F8 sub_811B0F8: @ 811B0F8 push {r4,lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1860,7 +1860,7 @@ _0811B118: b _0811B14A .pool _0811B134: - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result bl sub_811B4EC strh r0, [r4] bl sub_811B3E4 @@ -3691,7 +3691,7 @@ sub_811BDF0: @ 811BDF0 adds r6, r0, 0 ldr r0, =gSaveBlock1Ptr ldr r4, [r0] - bl sub_81AFBF0 + bl UnkTextUtil_Reset ldr r0, =0x00003b70 adds r5, r4, r0 adds r0, r5, 0 @@ -3707,17 +3707,17 @@ sub_811BDF0: @ 811BDF0 bl TVShowConvertInternationalString movs r0, 0 mov r1, sp - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI b _0811BE3C .pool _0811BE34: ldr r1, =gText_Lady movs r0, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI _0811BE3C: ldr r1, =gText_F700sQuiz adds r0, r6, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders add sp, 0x20 pop {r4-r6} pop {r0} @@ -3966,14 +3966,14 @@ _0811BFE0: b _0811C124 .pool _0811C044: - ldr r1, =gUnknown_08DCBDD0 + ldr r1, =gEasyChatWindow_Gfx movs r0, 0 str r0, [sp] movs r0, 0x3 movs r2, 0 movs r3, 0 bl copy_decompressed_tile_data_to_vram_autofree - ldr r1, =gUnknown_08DCBF10 + ldr r1, =gEasyChatWindow_Tilemap movs r0, 0x3 movs r2, 0 movs r3, 0 @@ -5810,7 +5810,7 @@ sub_811CF04: @ 811CF04 sub_811CF64: @ 811CF64 push {r4,lr} bl ResetPaletteFade - ldr r0, =gUnknown_08DCBDB0 + ldr r0, =gEasyChatMode_Pal movs r1, 0 movs r2, 0x20 bl LoadPalette @@ -6075,7 +6075,7 @@ _0811D19C: b _0811D1BC .pool _0811D1A8: - ldr r0, =gText_CombineTwoWordsOrPhrases + ldr r0, =gText_CombineTwoWordsOrPhrases3 str r0, [sp, 0xC] b _0811D1BC .pool diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index fa923d94b9..89e6efa6a5 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -62,7 +62,7 @@ _0809BF3C: cmp r6, 0 bne _0809BFA2 _0809BF40: - bl sub_811A138 + bl GetPlayerSpeed lsls r0, 16 asrs r0, 16 cmp r0, 0x4 @@ -184,7 +184,7 @@ sub_809C014: @ 809C014 push {r4-r6,lr} sub sp, 0x8 adds r5, r0, 0 - ldr r0, =gScriptLastTalked + ldr r0, =gSpecialVar_LastTalked movs r1, 0 strh r1, [r0] ldr r0, =gSelectedMapObject @@ -443,13 +443,13 @@ _0809C214: ldr r0, =gUnknown_0823B589 cmp r4, r0 beq _0809C244 - ldr r0, =gUnknown_082766A2 + ldr r0, =EventScript_2766A2 cmp r4, r0 beq _0809C244 - ldr r0, =gUnknown_082766A6 + ldr r0, =EventScript_2766A6 cmp r4, r0 beq _0809C244 - ldr r0, =gUnknown_08271D92 + ldr r0, =EventScript_271D92 cmp r4, r0 beq _0809C244 movs r0, 0x5 @@ -582,13 +582,13 @@ _0809C34C: ble _0809C340 ldr r0, =gSelectedMapObject strb r3, [r0] - ldr r1, =gScriptLastTalked + ldr r1, =gSpecialVar_LastTalked adds r0, r2, r3 lsls r0, 2 adds r0, r5 ldrb r0, [r0, 0x8] strh r0, [r1] - ldr r0, =gScriptFacing + ldr r0, =gSpecialVar_Facing strh r6, [r0] adds r0, r3, 0 bl GetFieldObjectScriptPointerByFieldObjectId @@ -668,13 +668,13 @@ _0809C400: _0809C40C: ldr r0, =gSelectedMapObject strb r4, [r0] - ldr r1, =gScriptLastTalked + ldr r1, =gSpecialVar_LastTalked adds r0, r2, r4 lsls r0, 2 adds r0, r3 ldrb r0, [r0, 0x8] strh r0, [r1] - ldr r0, =gScriptFacing + ldr r0, =gSpecialVar_Facing strh r7, [r0] bl InTrainerHill cmp r0, 0x1 @@ -687,7 +687,7 @@ _0809C43C: bl GetFieldObjectScriptPointerByFieldObjectId _0809C442: adds r1, r0, 0 - ldr r0, =gScriptLastTalked + ldr r0, =gSpecialVar_LastTalked ldrb r0, [r0] bl GetRamScript adds r1, r0, 0 @@ -721,7 +721,7 @@ TryGetInvisibleMapObjectScript: @ 809C458 ldr r2, [r0, 0x8] cmp r2, 0 bne _0809C490 - ldr r0, =gUnknown_082C8436 + ldr r0, =EventScript_TestSignpostMsg b _0809C532 .pool _0809C490: @@ -778,7 +778,7 @@ _0809C4E2: lsrs r0, 24 cmp r0, 0x1 beq _0809C4CC - ldr r0, =gUnknown_08271CB7 + ldr r0, =EventScript_271CB7 b _0809C532 .pool _0809C510: @@ -790,7 +790,7 @@ _0809C510: lsls r0, 24 cmp r0, 0 beq _0809C4CC - ldr r0, =gUnknown_082759F1 + ldr r0, =EventScript_2759F1 b _0809C532 .pool _0809C530: @@ -816,7 +816,7 @@ TryGetMetatileBehaviorScript: @ 809C538 lsrs r0, 24 cmp r0, 0x1 bne _0809C55C - ldr r0, =gUnknown_0827EE0B + ldr r0, =EventScript_27EE0B b _0809C7E4 .pool _0809C55C: @@ -826,7 +826,7 @@ _0809C55C: lsrs r0, 24 cmp r0, 0x1 bne _0809C574 - ldr r0, =gUnknown_08271D92 + ldr r0, =EventScript_271D92 b _0809C7E4 .pool _0809C574: @@ -836,7 +836,7 @@ _0809C574: lsrs r0, 24 cmp r0, 0x1 bne _0809C58C - ldr r0, =gUnknown_081E615D + ldr r0, =SootopolisCity_EventScript_1E615D b _0809C7E4 .pool _0809C58C: @@ -846,7 +846,7 @@ _0809C58C: lsrs r0, 24 cmp r0, 0x1 bne _0809C5A4 - ldr r0, =gUnknown_082393F9 + ldr r0, =SkyPillar_Outside_EventScript_2393F9 b _0809C7E4 .pool _0809C5A4: @@ -864,7 +864,7 @@ _0809C5B4: lsrs r0, 24 cmp r0, 0x1 bne _0809C5CC - ldr r0, =gUnknown_082A4BAC + ldr r0, =EventScript_2A4BAC b _0809C7E4 .pool _0809C5CC: @@ -874,7 +874,7 @@ _0809C5CC: lsrs r0, 24 cmp r0, 0x1 bne _0809C5E4 - ldr r0, =gUnknown_0826A22A + ldr r0, =Route110_TrickHouseEntrance_EventScript_26A22A b _0809C7E4 .pool _0809C5E4: @@ -884,7 +884,7 @@ _0809C5E4: lsrs r0, 24 cmp r0, 0x1 bne _0809C5FC - ldr r0, =gUnknown_0827208F + ldr r0, =EventScript_27208F b _0809C7E4 .pool _0809C5FC: @@ -894,7 +894,7 @@ _0809C5FC: lsrs r0, 24 cmp r0, 0x1 bne _0809C614 - ldr r0, =gUnknown_08292DE5 + ldr r0, =EventScript_292DE5 b _0809C7E4 .pool _0809C614: @@ -904,7 +904,7 @@ _0809C614: lsrs r0, 24 cmp r0, 0x1 bne _0809C62C - ldr r0, =gUnknown_082725CE + ldr r0, =EventScript_2725CE b _0809C7E4 .pool _0809C62C: @@ -914,7 +914,7 @@ _0809C62C: lsrs r0, 24 cmp r0, 0x1 bne _0809C644 - ldr r0, =gUnknown_082725D7 + ldr r0, =EventScript_2725D7 b _0809C7E4 .pool _0809C644: @@ -924,7 +924,7 @@ _0809C644: lsrs r0, 24 cmp r0, 0x1 bne _0809C65C - ldr r0, =gUnknown_082725E0 + ldr r0, =EventScript_2725E0 b _0809C7E4 .pool _0809C65C: @@ -934,7 +934,7 @@ _0809C65C: lsrs r0, 24 cmp r0, 0x1 bne _0809C674 - ldr r0, =gUnknown_082725E9 + ldr r0, =EventScript_2725E9 b _0809C7E4 .pool _0809C674: @@ -944,7 +944,7 @@ _0809C674: lsrs r0, 24 cmp r0, 0x1 bne _0809C68C - ldr r0, =gUnknown_082725F2 + ldr r0, =EventScript_2725F2 b _0809C7E4 .pool _0809C68C: @@ -954,7 +954,7 @@ _0809C68C: lsrs r0, 24 cmp r0, 0x1 bne _0809C6A4 - ldr r0, =gUnknown_082725FB + ldr r0, =EventScript_2725FB b _0809C7E4 .pool _0809C6A4: @@ -964,7 +964,7 @@ _0809C6A4: lsrs r0, 24 cmp r0, 0x1 bne _0809C6BC - ldr r0, =gUnknown_08272604 + ldr r0, =EventScript_272604 b _0809C7E4 .pool _0809C6BC: @@ -975,7 +975,7 @@ _0809C6BC: lsrs r0, 24 cmp r0, 0x1 bne _0809C6D4 - ldr r0, =gUnknown_08277B8A + ldr r0, =OldaleTown_PokemonCenter_2F_EventScript_277B8A b _0809C7E4 .pool _0809C6D4: @@ -997,7 +997,7 @@ _0809C6EC: lsrs r0, 24 cmp r0, 0x1 bne _0809C704 - ldr r0, =gUnknown_0827381B + ldr r0, =EventScript_27381B b _0809C7E4 .pool _0809C704: @@ -1007,7 +1007,7 @@ _0809C704: lsrs r0, 24 cmp r0, 0x1 bne _0809C71C - ldr r0, =gUnknown_082C8393 + ldr r0, =TrainerHill_1F_EventScript_2C8393 b _0809C7E4 .pool _0809C71C: @@ -1125,7 +1125,7 @@ TryGetFieldMoveScript: @ 809C7EC lsrs r0, 24 cmp r0, 0x1 bne _0809C824 - ldr r0, =gUnknown_08271EA0 + ldr r0, =EventScript_271EA0 b _0809C862 .pool _0809C824: @@ -1146,11 +1146,11 @@ _0809C824: lsrs r0, 24 cmp r0, 0x1 bne _0809C858 - ldr r0, =gUnknown_08290A49 + ldr r0, =EventScript_290A49 b _0809C862 .pool _0809C858: - ldr r0, =gUnknown_08290A83 + ldr r0, =EventScript_290A83 b _0809C862 .pool _0809C860: @@ -1174,7 +1174,7 @@ sub_809C868: @ 809C868 lsrs r0, 24 cmp r0, 0x2 bne _0809C894 - ldr r0, =gUnknown_08290B0F + ldr r0, =EventScript_290B0F bl ScriptContext1_SetupScript movs r0, 0x1 b _0809C896 @@ -1203,7 +1203,7 @@ sub_809C89C: @ 809C89C lsrs r0, 24 cmp r0, 0x1 bne _0809C8D4 - ldr r0, =gUnknown_08290B5A + ldr r0, =EventScript_290B5A bl ScriptContext1_SetupScript movs r0, 0x1 b _0809C8D6 @@ -1246,7 +1246,7 @@ sub_809C8DC: @ 809C8DC lsrs r0, 24 cmp r0, 0x1 beq _0809C92E - bl sub_80B5870 + bl UpdateRepelCounter lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1310,7 +1310,7 @@ _0809C988: lsls r0, 24 cmp r0, 0 beq _0809C9A4 - ldr r0, =gUnknown_08252BE8 + ldr r0, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8 _0809C996: bl ScriptContext1_SetupScript movs r0, 0x1 @@ -1365,7 +1365,7 @@ per_step_scripts: @ 809C9F4 bne _0809CA04 b _0809CB24 _0809CA04: - bl sub_80B215C + bl IncrementRematchStepCounter bl AdjustFriendship_step bl sub_81D4998 ldr r0, =gPlayerAvatar @@ -1385,18 +1385,18 @@ _0809CA04: lsrs r0, 24 cmp r0, 0x1 bne _0809CA48 - ldr r0, =gUnknown_082736BC + ldr r0, =EventScript_2736BC bl ScriptContext1_SetupScript b _0809CB28 .pool _0809CA48: - bl sub_8070BD0 + bl DoEggActions_CheckHatch lsls r0, 24 cmp r0, 0 beq _0809CA64 movs r0, 0xD bl IncrementGameStat - ldr r0, =gUnknown_08291FC0 + ldr r0, =Route117_PokemonDayCare_EventScript_291FC0 bl ScriptContext1_SetupScript b _0809CB28 .pool @@ -1416,7 +1416,7 @@ _0809CA7C: lsrs r0, 24 cmp r0, 0x1 bne _0809CA94 - ldr r0, =gUnknown_08238EAF + ldr r0, =IslandCave_EventScript_238EAF bl ScriptContext1_SetupScript b _0809CB28 .pool @@ -1424,7 +1424,7 @@ _0809CA94: bl is_tile_that_overrides_player_control cmp r0, 0x1 bne _0809CAA8 - ldr r0, =gUnknown_081DF7BA + ldr r0, =MauvilleCity_EventScript_1DF7BA bl ScriptContext1_SetupScript b _0809CB28 .pool @@ -1432,7 +1432,7 @@ _0809CAA8: bl sub_8138120 cmp r0, 0x1 bne _0809CABC - ldr r0, =gUnknown_081F49EC + ldr r0, =Route119_EventScript_1F49EC bl ScriptContext1_SetupScript b _0809CB28 .pool @@ -1440,7 +1440,7 @@ _0809CABC: bl sub_8138168 cmp r0, 0x1 bne _0809CAD0 - ldr r0, =gUnknown_081FA4D6 + ldr r0, =LittlerootTown_ProfessorBirchsLab_EventScript_1FA4D6 bl ScriptContext1_SetupScript b _0809CB28 .pool @@ -1448,7 +1448,7 @@ _0809CAD0: bl sub_81381B0 cmp r0, 0x1 bne _0809CAE4 - ldr r0, =gUnknown_0821307B + ldr r0, =RustboroCity_Gym_EventScript_21307B bl ScriptContext1_SetupScript b _0809CB28 .pool @@ -1456,7 +1456,7 @@ _0809CAE4: bl sub_81381F8 cmp r0, 0x1 bne _0809CAF8 - ldr r0, =gUnknown_08224175 + ldr r0, =MossdeepCity_SpaceCenter_2F_EventScript_224175 bl ScriptContext1_SetupScript b _0809CB28 .pool @@ -1470,7 +1470,7 @@ _0809CAF8: bl CountSSTidalStep cmp r0, 0x1 bne _0809CB1C - ldr r0, =gUnknown_0823C050 + ldr r0, =SSTidalCorridor_EventScript_23C050 bl ScriptContext1_SetupScript b _0809CB28 .pool @@ -1531,8 +1531,8 @@ _0809CB72: .pool thumb_func_end AdjustFriendship_step - thumb_func_start overworld_poison_timer_set -overworld_poison_timer_set: @ 809CB80 + thumb_func_start ResetPoisonStepCounter +ResetPoisonStepCounter: @ 809CB80 push {lr} ldr r0, =0x0000402b movs r1, 0 @@ -1540,7 +1540,7 @@ overworld_poison_timer_set: @ 809CB80 pop {r0} bx r0 .pool - thumb_func_end overworld_poison_timer_set + thumb_func_end ResetPoisonStepCounter thumb_func_start overworld_poison_step overworld_poison_step: @ 809CB94 @@ -1607,7 +1607,7 @@ _0809CC0C: ldr r5, =gUnknown_020375D6 ldrh r1, [r5] adds r0, r4, 0 - bl is_it_battle_time_2 + bl StandardWildEncounter lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -2155,7 +2155,7 @@ trigger_activate: @ 809D04C cmp r1, 0 bne _0809D062 ldrb r0, [r4, 0x6] - bl trigger_activate_weather + bl DoCoordEventWeather b _0809D082 _0809D062: ldrh r0, [r4, 0x6] diff --git a/asm/field_door.s b/asm/field_door.s deleted file mode 100644 index 037c765660..0000000000 --- a/asm/field_door.s +++ /dev/null @@ -1,754 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_808A400 -sub_808A400: @ 808A400 - push {lr} - adds r2, r0, 0 - ldrb r0, [r2, 0x3] - cmp r0, 0x2 - bne _0808A420 - ldrh r1, [r1, 0x2] - ldr r0, [r2, 0x4] - adds r0, r1 - ldr r1, =0x06007e00 - movs r2, 0x80 - bl CpuFastSet - b _0808A42E - .pool -_0808A420: - ldrh r1, [r1, 0x2] - ldr r0, [r2, 0x4] - adds r0, r1 - ldr r1, =0x06007f00 - movs r2, 0x40 - bl CpuFastSet -_0808A42E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_808A400 - - thumb_func_start door_build_blockdef -door_build_blockdef: @ 808A438 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - movs r4, 0 - adds r1, r6, 0 -_0808A444: - ldrb r0, [r2] - lsls r0, 28 - lsrs r3, r0, 16 - adds r2, 0x1 - adds r0, r5, r4 - orrs r3, r0 - strh r3, [r1] - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _0808A444 - cmp r4, 0x7 - bgt _0808A472 - lsls r0, r4, 1 - adds r1, r0, r6 -_0808A462: - ldrb r0, [r2] - lsls r3, r0, 12 - adds r2, 0x1 - strh r3, [r1] - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x7 - ble _0808A462 -_0808A472: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end door_build_blockdef - - thumb_func_start door_patch_tilemap -door_patch_tilemap: @ 808A478 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x30 - adds r7, r1, 0 - mov r9, r2 - adds r5, r3, 0 - ldrb r0, [r0, 0x3] - cmp r0, 0x2 - bne _0808A4F4 - add r4, sp, 0x10 - movs r1, 0xFC - lsls r1, 2 - adds r0, r4, 0 - adds r2, r5, 0 - bl door_build_blockdef - mov r6, r9 - subs r6, 0x1 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl DrawDoorMetatileAt - movs r1, 0xFD - lsls r1, 2 - adds r0, r5, 0x4 - mov r8, r0 - adds r0, r4, 0 - mov r2, r8 - bl door_build_blockdef - adds r0, r7, 0 - mov r1, r9 - adds r2, r4, 0 - bl DrawDoorMetatileAt - movs r1, 0xFE - lsls r1, 2 - adds r0, r4, 0 - adds r2, r5, 0 - bl door_build_blockdef - adds r5, r7, 0x1 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl DrawDoorMetatileAt - movs r1, 0xFF - lsls r1, 2 - adds r0, r4, 0 - mov r2, r8 - bl door_build_blockdef - adds r0, r5, 0 - mov r1, r9 - adds r2, r4, 0 - bl DrawDoorMetatileAt - b _0808A522 -_0808A4F4: - movs r1, 0xFE - lsls r1, 2 - mov r0, sp - adds r2, r5, 0 - bl door_build_blockdef - mov r1, r9 - subs r1, 0x1 - adds r0, r7, 0 - mov r2, sp - bl DrawDoorMetatileAt - movs r1, 0xFF - lsls r1, 2 - adds r2, r5, 0x4 - mov r0, sp - bl door_build_blockdef - adds r0, r7, 0 - mov r1, r9 - mov r2, sp - bl DrawDoorMetatileAt -_0808A522: - add sp, 0x30 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end door_patch_tilemap - - thumb_func_start sub_808A530 -sub_808A530: @ 808A530 - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - subs r7, r6, 0x1 - adds r0, r5, 0 - adds r1, r7, 0 - bl CurrentMapDrawMetatileAt - adds r0, r5, 0 - adds r1, r6, 0 - bl CurrentMapDrawMetatileAt - ldrb r0, [r4, 0x3] - cmp r0, 0x2 - bne _0808A562 - adds r4, r5, 0x1 - adds r0, r4, 0 - adds r1, r7, 0 - bl CurrentMapDrawMetatileAt - adds r0, r4, 0 - adds r1, r6, 0 - bl CurrentMapDrawMetatileAt -_0808A562: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_808A530 - - thumb_func_start sub_808A568 -sub_808A568: @ 808A568 - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r7, r3, 0 - ldrh r1, [r5, 0x2] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _0808A5B0 - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r7, 0 - bl sub_808A530 - bl sub_808A964 - lsls r0, 24 - cmp r0, 0 - beq _0808A5E2 - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - adds r1, 0x7 - ldr r0, =gSpecialVar_0x8005 - ldrh r2, [r0] - adds r2, 0x7 - adds r0, r4, 0 - bl sub_808A530 - b _0808A5E2 - .pool -_0808A5B0: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_808A400 - ldr r3, [r4, 0x8] - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r7, 0 - bl door_patch_tilemap - bl sub_808A964 - lsls r0, 24 - cmp r0, 0 - beq _0808A5E2 - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - adds r1, 0x7 - ldr r0, =gSpecialVar_0x8005 - ldrh r2, [r0] - adds r2, 0x7 - ldr r3, [r4, 0x8] - adds r0, r4, 0 - bl door_patch_tilemap -_0808A5E2: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_808A568 - - thumb_func_start sub_808A5F0 -sub_808A5F0: @ 808A5F0 - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - adds r4, r2, 0 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0808A616 - movs r2, 0x8 - ldrsh r1, [r4, r2] - lsls r1, 2 - adds r1, r5, r1 - movs r0, 0xC - ldrsh r2, [r4, r0] - movs r0, 0xE - ldrsh r3, [r4, r0] - adds r0, r6, 0 - bl sub_808A568 -_0808A616: - movs r2, 0xA - ldrsh r1, [r4, r2] - movs r2, 0x8 - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0] - cmp r1, r0 - bne _0808A644 - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0 - bne _0808A64A - movs r0, 0 - b _0808A64C -_0808A644: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] -_0808A64A: - movs r0, 0x1 -_0808A64C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_808A5F0 - - thumb_func_start task50_overworld_door -task50_overworld_door: @ 808A654 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r2, r4, 2 - adds r2, r4 - lsls r2, 3 - ldr r0, =gTasks + 0x8 - adds r2, r0 - ldrh r1, [r2] - lsls r1, 16 - ldrh r0, [r2, 0x2] - orrs r1, r0 - ldrh r0, [r2, 0x4] - lsls r0, 16 - ldrh r3, [r2, 0x6] - orrs r0, r3 - bl sub_808A5F0 - cmp r0, 0 - bne _0808A682 - adds r0, r4, 0 - bl DestroyTask -_0808A682: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task50_overworld_door - - thumb_func_start door_frame_last -door_frame_last: @ 808A68C - push {lr} - adds r1, r0, 0 - b _0808A694 -_0808A692: - adds r1, 0x4 -_0808A694: - ldrb r0, [r1] - cmp r0, 0 - bne _0808A692 - subs r0, r1, 0x4 - pop {r1} - bx r1 - thumb_func_end door_frame_last - - thumb_func_start door_find -door_find: @ 808A6A0 - push {lr} - adds r2, r0, 0 - lsls r1, 16 - lsrs r1, 16 - b _0808A6B6 -_0808A6AA: - ldrh r0, [r2] - cmp r0, r1 - bne _0808A6B4 - adds r0, r2, 0 - b _0808A6BE -_0808A6B4: - adds r2, 0xC -_0808A6B6: - ldr r0, [r2, 0x4] - cmp r0, 0 - bne _0808A6AA - movs r0, 0 -_0808A6BE: - pop {r1} - bx r1 - thumb_func_end door_find - - thumb_func_start task_overworld_door_add_if_inactive -task_overworld_door_add_if_inactive: @ 808A6C4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r5, r1, 0 - adds r7, r2, 0 - mov r8, r3 - ldr r4, =task50_overworld_door - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0808A718 - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r2, =gTasks + 0x8 - adds r1, r2 - strh r7, [r1, 0xC] - mov r2, r8 - strh r2, [r1, 0xE] - strh r5, [r1, 0x2] - lsrs r2, r5, 16 - strh r2, [r1] - strh r6, [r1, 0x6] - lsrs r2, r6, 16 - strh r2, [r1, 0x4] - lsls r0, 24 - asrs r0, 24 - b _0808A71C - .pool -_0808A718: - movs r0, 0x1 - negs r0, r0 -_0808A71C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end task_overworld_door_add_if_inactive - - thumb_func_start sub_808A728 -sub_808A728: @ 808A728 - push {lr} - bl sub_808A530 - pop {r0} - bx r0 - thumb_func_end sub_808A728 - - thumb_func_start sub_808A734 -sub_808A734: @ 808A734 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl door_find - adds r4, r0, 0 - cmp r4, 0 - beq _0808A76A - ldr r1, =gUnknown_08496F8C - adds r0, r1, 0 - bl door_frame_last - adds r1, r0, 0 - adds r0, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl sub_808A568 -_0808A76A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_808A734 - - thumb_func_start task_overworld_door_add_for_opening_door_at -@ s32 task_overworld_door_add_for_opening_door_at(void *a1, s32 x, s32 y) -task_overworld_door_add_for_opening_door_at: @ 808A774 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl door_find - adds r2, r0, 0 - adds r4, r2, 0 - cmp r2, 0 - bne _0808A79E - movs r0, 0x1 - negs r0, r0 - b _0808A7C0 -_0808A79E: - ldrb r0, [r2, 0x3] - cmp r0, 0x2 - beq _0808A7B0 - ldr r1, =gUnknown_08496F8C - adds r0, r2, 0 - b _0808A7B4 - .pool -_0808A7B0: - ldr r1, =gUnknown_08496FB4 - adds r0, r4, 0 -_0808A7B4: - adds r2, r5, 0 - adds r3, r6, 0 - bl task_overworld_door_add_if_inactive - lsls r0, 24 - asrs r0, 24 -_0808A7C0: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end task_overworld_door_add_for_opening_door_at - - thumb_func_start sub_808A7CC -sub_808A7CC: @ 808A7CC - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl door_find - cmp r0, 0 - beq _0808A800 - ldr r1, =gUnknown_08496FA0 - adds r2, r5, 0 - adds r3, r6, 0 - bl task_overworld_door_add_if_inactive - lsls r0, 24 - asrs r0, 24 - b _0808A804 - .pool -_0808A800: - movs r0, 0x1 - negs r0, r0 -_0808A804: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_808A7CC - - thumb_func_start cur_mapdata_get_door_x2_at -cur_mapdata_get_door_x2_at: @ 808A80C - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - adds r1, r2, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl door_find - cmp r0, 0 - beq _0808A830 - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - b _0808A834 -_0808A830: - movs r0, 0x1 - negs r0, r0 -_0808A834: - pop {r4} - pop {r1} - bx r1 - thumb_func_end cur_mapdata_get_door_x2_at - - thumb_func_start sub_808A83C -sub_808A83C: @ 808A83C - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r0, =gUnknown_08497174 - adds r1, r3, 0 - bl task_overworld_door_add_for_opening_door_at - pop {r0} - bx r0 - .pool - thumb_func_end sub_808A83C - - thumb_func_start FieldSetDoorOpened -FieldSetDoorOpened: @ 808A854 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsDoor - lsls r0, 24 - cmp r0, 0 - beq _0808A876 - ldr r0, =gUnknown_08497174 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_808A734 -_0808A876: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end FieldSetDoorOpened - - thumb_func_start FieldSetDoorClosed -FieldSetDoorClosed: @ 808A880 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsDoor - lsls r0, 24 - cmp r0, 0 - beq _0808A8A2 - ldr r0, =gUnknown_08497174 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_808A728 -_0808A8A2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end FieldSetDoorClosed - - thumb_func_start FieldAnimateDoorClose -FieldAnimateDoorClose: @ 808A8AC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsDoor - lsls r0, 24 - cmp r0, 0 - beq _0808A8D8 - ldr r0, =gUnknown_08497174 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_808A7CC - lsls r0, 24 - asrs r0, 24 - b _0808A8DC - .pool -_0808A8D8: - movs r0, 0x1 - negs r0, r0 -_0808A8DC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FieldAnimateDoorClose - - thumb_func_start FieldAnimateDoorOpen -FieldAnimateDoorOpen: @ 808A8E4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsDoor - lsls r0, 24 - cmp r0, 0 - beq _0808A910 - ldr r0, =gUnknown_08497174 - adds r1, r4, 0 - adds r2, r5, 0 - bl task_overworld_door_add_for_opening_door_at - lsls r0, 24 - asrs r0, 24 - b _0808A914 - .pool -_0808A910: - movs r0, 0x1 - negs r0, r0 -_0808A914: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FieldAnimateDoorOpen - - thumb_func_start FieldIsDoorAnimationRunning -FieldIsDoorAnimationRunning: @ 808A91C - push {lr} - ldr r0, =task50_overworld_door - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end FieldIsDoorAnimationRunning - - thumb_func_start GetDoorSoundEffect -GetDoorSoundEffect: @ 808A930 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r0, =gUnknown_08497174 - adds r1, r3, 0 - bl cur_mapdata_get_door_x2_at - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _0808A958 - cmp r0, 0x1 - bne _0808A954 - movs r0, 0x12 - b _0808A95E - .pool -_0808A954: - cmp r0, 0x2 - beq _0808A95C -_0808A958: - movs r0, 0x8 - b _0808A95E -_0808A95C: - movs r0, 0x2F -_0808A95E: - pop {r1} - bx r1 - thumb_func_end GetDoorSoundEffect - - thumb_func_start sub_808A964 -sub_808A964: @ 808A964 - push {lr} - ldr r0, =0x00004002 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0808A990 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x0000101a - cmp r1, r0 - bne _0808A990 - movs r0, 0x1 - b _0808A992 - .pool -_0808A990: - movs r0, 0 -_0808A992: - pop {r1} - bx r1 - thumb_func_end sub_808A964 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_effect.s b/asm/field_effect.s index 964bf80797..80f2030aaf 100644 --- a/asm/field_effect.s +++ b/asm/field_effect.s @@ -498,8 +498,8 @@ _080B5E68: bx r1 thumb_func_end FieldEffectActiveListContains - thumb_func_start sub_80B5E6C -sub_80B5E6C: @ 80B5E6C + thumb_func_start CreateTrainerSprite +CreateTrainerSprite: @ 80B5E6C push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -566,7 +566,7 @@ sub_80B5E6C: @ 80B5E6C pop {r1} bx r1 .pool - thumb_func_end sub_80B5E6C + thumb_func_end CreateTrainerSprite thumb_func_start sub_80B5F0C sub_80B5F0C: @ 80B5F0C @@ -764,8 +764,8 @@ _080B608E: bx r0 thumb_func_end sub_80B6070 - thumb_func_start sub_80B609C -sub_80B609C: @ 80B609C + thumb_func_start MultiplyInvertedPaletteRGBComponents +MultiplyInvertedPaletteRGBComponents: @ 80B609C push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -832,7 +832,7 @@ sub_80B609C: @ 80B609C pop {r0} bx r0 .pool - thumb_func_end sub_80B609C + thumb_func_end MultiplyInvertedPaletteRGBComponents thumb_func_start sub_80B6128 sub_80B6128: @ 80B6128 @@ -1469,7 +1469,7 @@ _080B65D8: mov r9, r3 add r4, r9 ldrb r3, [r4] - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents ldrh r4, [r7, 0x32] adds r4, 0x2 mov r0, r8 @@ -1488,7 +1488,7 @@ _080B65D8: ldrb r2, [r2] add r4, r9 ldrb r3, [r4] - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents ldrh r4, [r7, 0x32] adds r4, 0x1 mov r3, r8 @@ -1507,7 +1507,7 @@ _080B65D8: ldrb r2, [r2] add r4, r9 ldrb r3, [r4] - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents ldrh r4, [r7, 0x32] lsls r4, 24 lsrs r4, 24 @@ -1527,7 +1527,7 @@ _080B65D8: adds r1, r6, 0 adds r2, r5, 0 adds r3, r4, 0 - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents mov r0, r10 bl IndexOfSpritePaletteTag lsls r0, 24 @@ -1538,7 +1538,7 @@ _080B65D8: adds r1, r6, 0 adds r2, r5, 0 adds r3, r4, 0 - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents movs r3, 0x34 ldrsh r0, [r7, r3] cmp r0, 0x2 @@ -1612,7 +1612,7 @@ _080B6718: adds r1, r6, 0 adds r2, r5, 0 adds r3, r4, 0 - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents mov r0, r8 bl IndexOfSpritePaletteTag lsls r0, 24 @@ -1624,7 +1624,7 @@ _080B6718: adds r1, r6, 0 adds r2, r5, 0 adds r3, r4, 0 - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents mov r0, r8 bl IndexOfSpritePaletteTag lsls r0, 24 @@ -1636,7 +1636,7 @@ _080B6718: adds r1, r6, 0 adds r2, r5, 0 adds r3, r4, 0 - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents mov r0, r8 bl IndexOfSpritePaletteTag lsls r0, 24 @@ -1647,7 +1647,7 @@ _080B6718: adds r1, r6, 0 adds r2, r5, 0 adds r3, r4, 0 - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents mov r0, r8 bl IndexOfSpritePaletteTag lsls r0, 24 @@ -1658,7 +1658,7 @@ _080B6718: adds r1, r6, 0 adds r2, r5, 0 adds r3, r4, 0 - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents pop {r3} mov r8, r3 pop {r4-r6} @@ -1961,7 +1961,7 @@ mapldr_080842E8: @ 80B69FC movs r1, 0 bl CreateTask bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects ldr r1, =gFieldCallback movs r0, 0 str r0, [r1] @@ -1988,7 +1988,7 @@ task00_8084310: @ 80B6A24 lsls r0, 24 cmp r0, 0 beq _080B6A8A - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 @@ -2027,7 +2027,7 @@ _080B6A8A: thumb_func_start mapldr_08084390 mapldr_08084390: @ 80B6AA4 push {r4,lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_black ldr r0, =c3_080843F8 movs r1, 0 @@ -2057,7 +2057,7 @@ mapldr_08084390: @ 80B6AA4 bl FieldObjectTurn _080B6AE6: bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects ldr r1, =gFieldCallback movs r0, 0 str r0, [r1] @@ -2113,10 +2113,10 @@ _080B6B58: thumb_func_start sub_80B6B68 sub_80B6B68: @ 80B6B68 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects ldr r0, =sub_80B6B94 movs r1, 0 bl CreateTask @@ -2534,7 +2534,7 @@ _080B6E9A: sub_80B6EC0: @ 80B6EC0 push {r4,lr} adds r4, r0, 0 - bl player_bitmagic + bl FreezeMapObjects bl CameraObjectReset2 ldrb r0, [r4, 0xA] bl sub_80E1558 @@ -2780,7 +2780,7 @@ _080B709C: thumb_func_start sub_80B70B4 sub_80B70B4: @ 80B70B4 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl ScriptContext2_Enable ldr r0, =sub_80B70DC @@ -3476,7 +3476,7 @@ sub_80B764C: @ 80B764C push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 - bl player_bitmagic + bl FreezeMapObjects bl CameraObjectReset2 movs r0, 0 bl SetCameraPanningCallback @@ -3747,7 +3747,7 @@ _080B784C: thumb_func_start mapldr_080851BC mapldr_080851BC: @ 80B7868 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl ScriptContext2_Enable ldr r0, =gFieldCallback @@ -3807,7 +3807,7 @@ sub_80B78EC: @ 80B78EC adds r5, r0, 0 adds r4, r1, 0 bl CameraObjectReset2 - bl player_bitmagic + bl FreezeMapObjects ldr r1, =gPlayerAvatar movs r0, 0x1 strb r0, [r1, 0x6] @@ -4055,7 +4055,7 @@ sub_80B7AE8: @ 80B7AE8 push {r4,r5,lr} adds r5, r0, 0 adds r4, r1, 0 - bl player_bitmagic + bl FreezeMapObjects bl CameraObjectReset2 ldr r1, =gPlayerAvatar movs r0, 0x1 @@ -4287,7 +4287,7 @@ _080B7CC4: sub_80B7CC8: @ 80B7CC8 push {lr} bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects ldr r0, =sub_80B7CE4 movs r1, 0x50 bl CreateTask @@ -4458,10 +4458,10 @@ _080B7E40: thumb_func_start mapldr_080859D4 mapldr_080859D4: @ 80B7E48 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects ldr r1, =gFieldCallback movs r0, 0 str r0, [r1] @@ -4672,7 +4672,7 @@ sub_80B800C: @ 80B800C push {r4,lr} adds r4, r0, 0 bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects bl CameraObjectReset2 bl player_get_direction_lower_nybble lsls r0, 24 @@ -4903,10 +4903,10 @@ _080B81E6: thumb_func_start mapldr_08085D88 mapldr_08085D88: @ 80B8200 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects ldr r1, =gFieldCallback movs r0, 0 str r0, [r1] @@ -6295,7 +6295,7 @@ sub_80B8D44: @ 80B8D44 ldr r0, =gFieldEffectArguments ldr r0, [r0] strh r0, [r1, 0x26] - bl sav1_reset_battle_music_maybe + bl Overworld_ClearSavedMusic ldr r0, =0x0000016d bl Overworld_ChangeMusicTo movs r0, 0 @@ -6334,7 +6334,7 @@ sub_80B8DB4: @ 80B8DB4 push {r6} adds r4, r0, 0 bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects ldr r5, =gPlayerAvatar movs r0, 0x1 strb r0, [r5, 0x6] diff --git a/asm/field_message_box.s b/asm/field_message_box.s deleted file mode 100644 index 0c1fae6dee..0000000000 --- a/asm/field_message_box.s +++ /dev/null @@ -1,337 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8098128 -sub_8098128: @ 8098128 - ldr r1, =gUnknown_020375BC - movs r0, 0 - strb r0, [r1] - ldr r2, =gTextFlags - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - movs r1, 0x3 - negs r1, r1 - ands r0, r1 - subs r1, 0x2 - ands r0, r1 - subs r1, 0x4 - ands r0, r1 - strb r0, [r2] - bx lr - .pool - thumb_func_end sub_8098128 - - thumb_func_start sub_8098154 -sub_8098154: @ 8098154 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08098188 - cmp r0, 0x1 - bgt _0809817C - cmp r0, 0 - beq _08098182 - b _080981B0 - .pool -_0809817C: - cmp r0, 0x2 - beq _08098198 - b _080981B0 -_08098182: - bl sub_81973A4 - b _08098190 -_08098188: - movs r0, 0 - movs r1, 0x1 - bl sub_81973C4 -_08098190: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080981B0 -_08098198: - bl sub_8197224 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - beq _080981B0 - ldr r1, =gUnknown_020375BC - movs r0, 0 - strb r0, [r1] - adds r0, r5, 0 - bl DestroyTask -_080981B0: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8098154 - - thumb_func_start task_add_textbox -task_add_textbox: @ 80981BC - push {lr} - ldr r0, =sub_8098154 - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end task_add_textbox - - thumb_func_start task_del_textbox -task_del_textbox: @ 80981D0 - push {lr} - ldr r0, =sub_8098154 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080981E4 - bl DestroyTask -_080981E4: - pop {r0} - bx r0 - .pool - thumb_func_end task_del_textbox - - thumb_func_start ShowFieldMessage -ShowFieldMessage: @ 80981EC - push {r4,lr} - adds r1, r0, 0 - ldr r4, =gUnknown_020375BC - ldrb r0, [r4] - cmp r0, 0 - bne _0809820C - adds r0, r1, 0 - movs r1, 0x1 - bl textbox_fdecode_auto_and_task_add - movs r0, 0x2 - strb r0, [r4] - movs r0, 0x1 - b _0809820E - .pool -_0809820C: - movs r0, 0 -_0809820E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end ShowFieldMessage - - thumb_func_start sub_8098214 -sub_8098214: @ 8098214 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8196094 - adds r1, r0, 0 - cmp r1, 0 - bne _0809822E - ldr r0, =gUnknown_020375BC - strb r1, [r0] - adds r0, r4, 0 - bl DestroyTask -_0809822E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8098214 - - thumb_func_start sub_8098238 -sub_8098238: @ 8098238 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gUnknown_020375BC - ldrb r0, [r5] - cmp r0, 0 - bne _08098270 - ldr r0, =gStringVar4 - adds r1, r4, 0 - bl StringExpandPlaceholders - ldr r0, =sub_8098214 - movs r1, 0 - bl CreateTask - adds r0, r4, 0 - bl sub_8196080 - movs r0, 0x2 - strb r0, [r5] - movs r0, 0x1 - b _08098272 - .pool -_08098270: - movs r0, 0 -_08098272: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8098238 - - thumb_func_start ShowFieldAutoScrollMessage -ShowFieldAutoScrollMessage: @ 8098278 - push {lr} - adds r1, r0, 0 - ldr r2, =gUnknown_020375BC - ldrb r0, [r2] - cmp r0, 0 - bne _08098298 - movs r0, 0x3 - strb r0, [r2] - adds r0, r1, 0 - movs r1, 0 - bl textbox_fdecode_auto_and_task_add - movs r0, 0x1 - b _0809829A - .pool -_08098298: - movs r0, 0 -_0809829A: - pop {r1} - bx r1 - thumb_func_end ShowFieldAutoScrollMessage - - thumb_func_start sub_80982A0 -sub_80982A0: @ 80982A0 - push {lr} - ldr r2, =gUnknown_020375BC - movs r1, 0x3 - strb r1, [r2] - movs r1, 0x1 - bl textbox_fdecode_auto_and_task_add - movs r0, 0x1 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80982A0 - - thumb_func_start sub_80982B8 -sub_80982B8: @ 80982B8 - push {lr} - ldr r1, =gUnknown_020375BC - ldrb r0, [r1] - cmp r0, 0 - bne _080982D4 - movs r0, 0x2 - strb r0, [r1] - bl textbox_auto_and_task_add - movs r0, 0x1 - b _080982D6 - .pool -_080982D4: - movs r0, 0 -_080982D6: - pop {r1} - bx r1 - thumb_func_end sub_80982B8 - - thumb_func_start textbox_fdecode_auto_and_task_add -textbox_fdecode_auto_and_task_add: @ 80982DC - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - ldr r0, =gStringVar4 - adds r1, r2, 0 - bl StringExpandPlaceholders - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl AddTextPrinterForMessage - bl task_add_textbox - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end textbox_fdecode_auto_and_task_add - - thumb_func_start textbox_auto_and_task_add -textbox_auto_and_task_add: @ 8098304 - push {lr} - movs r0, 0x1 - bl AddTextPrinterForMessage - bl task_add_textbox - pop {r0} - bx r0 - thumb_func_end textbox_auto_and_task_add - - thumb_func_start HideFieldMessageBox -HideFieldMessageBox: @ 8098314 - push {lr} - bl task_del_textbox - movs r0, 0 - movs r1, 0x1 - bl sub_8197434 - ldr r1, =gUnknown_020375BC - movs r0, 0 - strb r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end HideFieldMessageBox - - thumb_func_start textbox_any_visible -textbox_any_visible: @ 8098330 - ldr r0, =gUnknown_020375BC - ldrb r0, [r0] - bx lr - .pool - thumb_func_end textbox_any_visible - - thumb_func_start IsFieldMessageBoxHidden -IsFieldMessageBoxHidden: @ 809833C - push {lr} - ldr r0, =gUnknown_020375BC - ldrb r0, [r0] - cmp r0, 0 - beq _08098350 - movs r0, 0 - b _08098352 - .pool -_08098350: - movs r0, 0x1 -_08098352: - pop {r1} - bx r1 - thumb_func_end IsFieldMessageBoxHidden - - thumb_func_start sub_8098358 -sub_8098358: @ 8098358 - push {lr} - bl task_del_textbox - movs r0, 0 - movs r1, 0x1 - bl sub_81973FC - ldr r1, =gUnknown_020375BC - movs r0, 0 - strb r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8098358 - - thumb_func_start sub_8098374 -sub_8098374: @ 8098374 - push {lr} - bl task_del_textbox - ldr r1, =gUnknown_020375BC - movs r0, 0 - strb r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8098374 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index 34ff54f61d..cd4f836819 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -57,7 +57,7 @@ player_step: @ 808A9C0 bne _0808AA26 adds r0, r7, 0 adds r1, r6, 0 - bl sub_8119C3C + bl Bike_TryAcroBikeHistoryUpdate adds r0, r5, 0 mov r1, r8 bl TryInterruptFieldObjectSpecialAnim @@ -405,7 +405,7 @@ DoForcedMovementInCurrentDirection: @ 808AC58 thumb_func_start ForcedMovement_Slip ForcedMovement_Slip: @ 808AC8C push {lr} - ldr r0, =PlayerGoSpeed1 + ldr r0, =PlayerGoSpeed2 bl DoForcedMovementInCurrentDirection lsls r0, 24 lsrs r0, 24 @@ -417,7 +417,7 @@ ForcedMovement_Slip: @ 808AC8C thumb_func_start ForcedMovement_WalkSouth ForcedMovement_WalkSouth: @ 808ACA0 push {lr} - ldr r1, =PlayerGoSpeed0 + ldr r1, =PlayerGoSpeed1 movs r0, 0x1 bl DoForcedMovement lsls r0, 24 @@ -430,7 +430,7 @@ ForcedMovement_WalkSouth: @ 808ACA0 thumb_func_start ForcedMovement_WalkNorth ForcedMovement_WalkNorth: @ 808ACB8 push {lr} - ldr r1, =PlayerGoSpeed0 + ldr r1, =PlayerGoSpeed1 movs r0, 0x2 bl DoForcedMovement lsls r0, 24 @@ -443,7 +443,7 @@ ForcedMovement_WalkNorth: @ 808ACB8 thumb_func_start ForcedMovement_WalkWest ForcedMovement_WalkWest: @ 808ACD0 push {lr} - ldr r1, =PlayerGoSpeed0 + ldr r1, =PlayerGoSpeed1 movs r0, 0x3 bl DoForcedMovement lsls r0, 24 @@ -456,7 +456,7 @@ ForcedMovement_WalkWest: @ 808ACD0 thumb_func_start ForcedMovement_WalkEast ForcedMovement_WalkEast: @ 808ACE8 push {lr} - ldr r1, =PlayerGoSpeed0 + ldr r1, =PlayerGoSpeed1 movs r0, 0x4 bl DoForcedMovement lsls r0, 24 @@ -469,7 +469,7 @@ ForcedMovement_WalkEast: @ 808ACE8 thumb_func_start ForcedMovement_PushedSouthByCurrent ForcedMovement_PushedSouthByCurrent: @ 808AD00 push {lr} - ldr r1, =PlayerGoSpeed2 + ldr r1, =PlayerGoSpeed3 movs r0, 0x1 bl DoForcedMovement lsls r0, 24 @@ -482,7 +482,7 @@ ForcedMovement_PushedSouthByCurrent: @ 808AD00 thumb_func_start ForcedMovement_PushedNorthByCurrent ForcedMovement_PushedNorthByCurrent: @ 808AD18 push {lr} - ldr r1, =PlayerGoSpeed2 + ldr r1, =PlayerGoSpeed3 movs r0, 0x2 bl DoForcedMovement lsls r0, 24 @@ -495,7 +495,7 @@ ForcedMovement_PushedNorthByCurrent: @ 808AD18 thumb_func_start ForcedMovement_PushedWestByCurrent ForcedMovement_PushedWestByCurrent: @ 808AD30 push {lr} - ldr r1, =PlayerGoSpeed2 + ldr r1, =PlayerGoSpeed3 movs r0, 0x3 bl DoForcedMovement lsls r0, 24 @@ -508,7 +508,7 @@ ForcedMovement_PushedWestByCurrent: @ 808AD30 thumb_func_start ForcedMovement_PushedEastByCurrent ForcedMovement_PushedEastByCurrent: @ 808AD48 push {lr} - ldr r1, =PlayerGoSpeed2 + ldr r1, =PlayerGoSpeed3 movs r0, 0x4 bl DoForcedMovement lsls r0, 24 @@ -548,7 +548,7 @@ ForcedMovement_Slide: @ 808AD60 thumb_func_start ForcedMovement_SlideSouth ForcedMovement_SlideSouth: @ 808AD98 push {lr} - ldr r1, =PlayerGoSpeed1 + ldr r1, =PlayerGoSpeed2 movs r0, 0x1 bl ForcedMovement_Slide lsls r0, 24 @@ -561,7 +561,7 @@ ForcedMovement_SlideSouth: @ 808AD98 thumb_func_start ForcedMovement_SlideNorth ForcedMovement_SlideNorth: @ 808ADB0 push {lr} - ldr r1, =PlayerGoSpeed1 + ldr r1, =PlayerGoSpeed2 movs r0, 0x2 bl ForcedMovement_Slide lsls r0, 24 @@ -574,7 +574,7 @@ ForcedMovement_SlideNorth: @ 808ADB0 thumb_func_start ForcedMovement_SlideWest ForcedMovement_SlideWest: @ 808ADC8 push {lr} - ldr r1, =PlayerGoSpeed1 + ldr r1, =PlayerGoSpeed2 movs r0, 0x3 bl ForcedMovement_Slide lsls r0, 24 @@ -587,7 +587,7 @@ ForcedMovement_SlideWest: @ 808ADC8 thumb_func_start ForcedMovement_SlideEast ForcedMovement_SlideEast: @ 808ADE0 push {lr} - ldr r1, =PlayerGoSpeed1 + ldr r1, =PlayerGoSpeed2 movs r0, 0x4 bl ForcedMovement_Slide lsls r0, 24 @@ -630,19 +630,19 @@ ForcedMovement_MuddySlope: @ 808AE10 ands r0, r1 cmp r0, 0x20 bne _0808AE36 - bl sub_811A138 + bl GetPlayerSpeed lsls r0, 16 asrs r0, 16 cmp r0, 0x3 bgt _0808AE60 _0808AE36: movs r0, 0 - bl sub_811A114 + bl Bike_UpdateBikeCounterSpeed ldrb r0, [r4, 0x1] movs r1, 0x2 orrs r0, r1 strb r0, [r4, 0x1] - ldr r1, =PlayerGoSpeed1 + ldr r1, =PlayerGoSpeed2 movs r0, 0x1 bl DoForcedMovement lsls r0, 24 @@ -791,7 +791,7 @@ _0808AF4E: cmp r0, 0 beq _0808AF68 adds r0, r5, 0 - bl PlayerGoSpeed1 + bl PlayerGoSpeed2 b _0808AFB6 .pool _0808AF68: @@ -829,7 +829,7 @@ _0808AF68: .pool _0808AFB0: adds r0, r5, 0 - bl PlayerGoSpeed0 + bl PlayerGoSpeed1 _0808AFB6: pop {r4-r6} pop {r0} @@ -1471,7 +1471,7 @@ PlayerAvatarTransition_MachBike: @ 808B46C bl SetPlayerAvatarStateMask movs r0, 0 movs r1, 0 - bl sub_811A0D0 + bl BikeClearState pop {r4} pop {r0} bx r0 @@ -1497,8 +1497,8 @@ PlayerAvatarTransition_AcroBike: @ 808B4A0 bl SetPlayerAvatarStateMask movs r0, 0 movs r1, 0 - bl sub_811A0D0 - bl sub_811A188 + bl BikeClearState + bl Bike_HandleBumpySlopeJump pop {r4} pop {r0} bx r0 @@ -1774,9 +1774,9 @@ sub_808B6BC: @ 808B6BC .pool thumb_func_end sub_808B6BC - thumb_func_start player_npc_set_state_and_x22_etc -@ void player_npc_set_state_and_x22_etc(u8 animState, u8 a2) -player_npc_set_state_and_x22_etc: @ 808B6E4 + thumb_func_start PlayerSetAnimId +@ void PlayerSetAnimId(u8 animState, u8 a2) +PlayerSetAnimId: @ 808B6E4 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 @@ -1802,11 +1802,11 @@ _0808B712: pop {r0} bx r0 .pool - thumb_func_end player_npc_set_state_and_x22_etc + thumb_func_end PlayerSetAnimId - thumb_func_start PlayerGoSpeed0 -@ void PlayerGoSpeed0(u8 direction) -PlayerGoSpeed0: @ 808B720 + thumb_func_start PlayerGoSpeed1 +@ void PlayerGoSpeed1(u8 direction) +PlayerGoSpeed1: @ 808B720 push {lr} lsls r0, 24 lsrs r0, 24 @@ -1814,14 +1814,14 @@ PlayerGoSpeed0: @ 808B720 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 - thumb_func_end PlayerGoSpeed0 + thumb_func_end PlayerGoSpeed1 - thumb_func_start PlayerGoSpeed1 -@ void PlayerGoSpeed1(u8 direction) -PlayerGoSpeed1: @ 808B738 + thumb_func_start PlayerGoSpeed2 +@ void PlayerGoSpeed2(u8 direction) +PlayerGoSpeed2: @ 808B738 push {lr} lsls r0, 24 lsrs r0, 24 @@ -1829,14 +1829,14 @@ PlayerGoSpeed1: @ 808B738 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 - thumb_func_end PlayerGoSpeed1 + thumb_func_end PlayerGoSpeed2 - thumb_func_start PlayerGoSpeed2 -@ void PlayerGoSpeed2(u8 direction) -PlayerGoSpeed2: @ 808B750 + thumb_func_start PlayerGoSpeed3 +@ void PlayerGoSpeed3(u8 direction) +PlayerGoSpeed3: @ 808B750 push {lr} lsls r0, 24 lsrs r0, 24 @@ -1844,14 +1844,14 @@ PlayerGoSpeed2: @ 808B750 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 - thumb_func_end PlayerGoSpeed2 + thumb_func_end PlayerGoSpeed3 - thumb_func_start PlayerGoSpeed3 -@ void PlayerGoSpeed3(u8 direction) -PlayerGoSpeed3: @ 808B768 + thumb_func_start PlayerGoSpeed4 +@ void PlayerGoSpeed4(u8 direction) +PlayerGoSpeed4: @ 808B768 push {lr} lsls r0, 24 lsrs r0, 24 @@ -1859,10 +1859,10 @@ PlayerGoSpeed3: @ 808B768 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 - thumb_func_end PlayerGoSpeed3 + thumb_func_end PlayerGoSpeed4 thumb_func_start PlayerRun @ void PlayerRun(u8 direction) @@ -1874,7 +1874,7 @@ PlayerRun: @ 808B780 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end PlayerRun @@ -1893,7 +1893,7 @@ PlayerOnBikeCollide: @ 808B798 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 @@ -1909,7 +1909,7 @@ PlayerOnBikeCollideWithFarawayIslandMew: @ 808B7BC lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end PlayerOnBikeCollideWithFarawayIslandMew @@ -1928,7 +1928,7 @@ PlayerNotOnBikeCollide: @ 808B7D4 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 @@ -1944,7 +1944,7 @@ PlayerNotOnBikeCollideWithFarawayIslandMew: @ 808B7F8 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end PlayerNotOnBikeCollideWithFarawayIslandMew @@ -1959,7 +1959,7 @@ PlayerFaceDirection: @ 808B810 lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end PlayerFaceDirection @@ -1974,7 +1974,7 @@ PlayerTurnInPlace: @ 808B828 lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end PlayerTurnInPlace @@ -1993,7 +1993,7 @@ PlayerJumpLedge: @ 808B840 lsls r0, 24 lsrs r0, 24 movs r1, 0x8 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 @@ -2033,8 +2033,8 @@ _0808B89A: .pool thumb_func_end sub_808B864 - thumb_func_start sub_808B8A8 -sub_808B8A8: @ 808B8A8 + thumb_func_start PlayerIdleWheelie +PlayerIdleWheelie: @ 808B8A8 push {lr} lsls r0, 24 lsrs r0, 24 @@ -2042,13 +2042,13 @@ sub_808B8A8: @ 808B8A8 lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 - thumb_func_end sub_808B8A8 + thumb_func_end PlayerIdleWheelie - thumb_func_start sub_808B8C0 -sub_808B8C0: @ 808B8C0 + thumb_func_start PlayerStartWheelie +PlayerStartWheelie: @ 808B8C0 push {lr} lsls r0, 24 lsrs r0, 24 @@ -2056,13 +2056,13 @@ sub_808B8C0: @ 808B8C0 lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 - thumb_func_end sub_808B8C0 + thumb_func_end PlayerStartWheelie - thumb_func_start sub_808B8D8 -sub_808B8D8: @ 808B8D8 + thumb_func_start PlayerEndWheelie +PlayerEndWheelie: @ 808B8D8 push {lr} lsls r0, 24 lsrs r0, 24 @@ -2070,13 +2070,13 @@ sub_808B8D8: @ 808B8D8 lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 - thumb_func_end sub_808B8D8 + thumb_func_end PlayerEndWheelie - thumb_func_start sub_808B8F0 -sub_808B8F0: @ 808B8F0 + thumb_func_start PlayerStandingHoppingWheelie +PlayerStandingHoppingWheelie: @ 808B8F0 push {r4,lr} adds r4, r0, 0 lsls r4, 24 @@ -2088,14 +2088,14 @@ sub_808B8F0: @ 808B8F0 lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 - thumb_func_end sub_808B8F0 + thumb_func_end PlayerStandingHoppingWheelie - thumb_func_start sub_808B914 -sub_808B914: @ 808B914 + thumb_func_start PlayerMovingHoppingWheelie +PlayerMovingHoppingWheelie: @ 808B914 push {r4,lr} adds r4, r0, 0 lsls r4, 24 @@ -2107,14 +2107,14 @@ sub_808B914: @ 808B914 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 - thumb_func_end sub_808B914 + thumb_func_end PlayerMovingHoppingWheelie - thumb_func_start sub_808B938 -sub_808B938: @ 808B938 + thumb_func_start PlayerLedgeHoppingWheelie +PlayerLedgeHoppingWheelie: @ 808B938 push {r4,lr} adds r4, r0, 0 lsls r4, 24 @@ -2126,14 +2126,14 @@ sub_808B938: @ 808B938 lsls r0, 24 lsrs r0, 24 movs r1, 0x8 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 - thumb_func_end sub_808B938 + thumb_func_end PlayerLedgeHoppingWheelie - thumb_func_start sub_808B95C -sub_808B95C: @ 808B95C + thumb_func_start PlayerAcroTurnJump +PlayerAcroTurnJump: @ 808B95C push {r4,lr} adds r4, r0, 0 lsls r4, 24 @@ -2145,11 +2145,11 @@ sub_808B95C: @ 808B95C lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 - thumb_func_end sub_808B95C + thumb_func_end PlayerAcroTurnJump thumb_func_start sub_808B980 sub_808B980: @ 808B980 @@ -2164,7 +2164,7 @@ sub_808B980: @ 808B980 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 @@ -2179,7 +2179,7 @@ sub_808B9A4: @ 808B9A4 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end sub_808B9A4 @@ -2193,7 +2193,7 @@ sub_808B9BC: @ 808B9BC lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end sub_808B9BC @@ -2207,7 +2207,7 @@ npc_use_some_d2s: @ 808B9D4 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end npc_use_some_d2s @@ -2592,9 +2592,9 @@ sub_808BCF4: @ 808BCF4 lsls r0, 24 cmp r0, 0 beq _0808BD2C - bl sub_811A188 + bl Bike_HandleBumpySlopeJump movs r0, 0 - bl sub_811A114 + bl Bike_UpdateBikeCounterSpeed _0808BD2C: pop {r4} pop {r0} @@ -2602,8 +2602,8 @@ _0808BD2C: .pool thumb_func_end sub_808BCF4 - thumb_func_start sub_808BD3C -sub_808BD3C: @ 808BD3C + thumb_func_start GetRivalAvatarGraphicsIdByStateIdAndGender +GetRivalAvatarGraphicsIdByStateIdAndGender: @ 808BD3C lsls r0, 24 lsls r1, 24 lsrs r1, 24 @@ -2614,7 +2614,7 @@ sub_808BD3C: @ 808BD3C ldrb r0, [r1] bx lr .pool - thumb_func_end sub_808BD3C + thumb_func_end GetRivalAvatarGraphicsIdByStateIdAndGender thumb_func_start GetPlayerAvatarGraphicsIdByStateIdAndGender @ u8 GetPlayerAvatarGraphicsIdByStateIdAndGender(u8 stateId, u8 gender) @@ -3896,7 +3896,7 @@ sub_808C750: @ 808C750 lsls r4, 24 lsrs r4, 24 bl ScriptContext2_Enable - bl sav1_reset_battle_music_maybe + bl Overworld_ClearSavedMusic bl Overworld_ChangeMusicToDefault ldr r2, =gPlayerAvatar ldrb r1, [r2] @@ -4316,7 +4316,7 @@ fish5: @ 808CABC adds r0, 0x1 strh r0, [r5, 0x8] movs r6, 0 - bl GetFishingWildMonListHeader + bl DoesCurrentMapHaveFishingMons lsls r0, 24 cmp r0, 0 bne _0808CADC @@ -4538,7 +4538,7 @@ fish9: @ 808CC64 movs r0, 0 movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] @@ -4640,7 +4640,7 @@ _0808CD58: ldrh r0, [r5, 0x26] lsls r0, 24 lsrs r0, 24 - bl sub_80B5734 + bl FishingWildEncounter movs r0, 0x1 bl sub_80ED950 ldr r0, =Task_Fish @@ -4695,7 +4695,7 @@ fishB: @ 808CD94 movs r0, 0 movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized movs r0, 0xD strh r0, [r5, 0x8] movs r0, 0x1 @@ -4743,7 +4743,7 @@ fishC: @ 808CE04 movs r0, 0 movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized ldrh r0, [r5, 0x8] adds r0, 0x1 strh r0, [r5, 0x8] diff --git a/asm/field_poison.s b/asm/field_poison.s deleted file mode 100644 index 652026523c..0000000000 --- a/asm/field_poison.s +++ /dev/null @@ -1,323 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80F9568 -sub_80F9568: @ 80F9568 - push {lr} - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _080F9580 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bne _080F9584 -_080F9580: - movs r0, 0 - b _080F9586 -_080F9584: - movs r0, 0x1 -_080F9586: - pop {r1} - bx r1 - thumb_func_end sub_80F9568 - - thumb_func_start sub_80F958C -sub_80F958C: @ 80F958C - push {r4,r5,lr} - ldr r4, =gPlayerParty - movs r5, 0 -_080F9592: - adds r0, r4, 0 - bl sub_80F9568 - cmp r0, 0 - beq _080F95B0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080F95B0 - movs r0, 0 - b _080F95BA - .pool -_080F95B0: - adds r5, 0x1 - adds r4, 0x64 - cmp r5, 0x5 - ble _080F9592 - movs r0, 0x1 -_080F95BA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80F958C - - thumb_func_start sub_80F95C0 -sub_80F95C0: @ 80F95C0 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - adds r4, r0, 0 - muls r4, r1 - ldr r0, =gPlayerParty - adds r4, r0 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0x7 - bl AdjustFriendship - adds r0, r4, 0 - movs r1, 0x37 - mov r2, sp - bl SetMonData - ldr r5, =gStringVar1 - adds r0, r4, 0 - movs r1, 0x2 - adds r2, r5, 0 - bl GetMonData - adds r0, r5, 0 - bl StringGetEnd10 - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F95C0 - - thumb_func_start sub_80F960C -sub_80F960C: @ 80F960C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - bl sub_80F9568 - cmp r0, 0 - beq _080F964C - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _080F964C - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData - bl pokemon_ailments_get_primary - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080F964C - movs r0, 0x1 - b _080F964E - .pool -_080F964C: - movs r0, 0 -_080F964E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80F960C - - thumb_func_start sub_80F9654 -sub_80F9654: @ 80F9654 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - movs r0, 0 - ldrsh r5, [r4, r0] - cmp r5, 0x1 - beq _080F96AE - cmp r5, 0x1 - bgt _080F967C - cmp r5, 0 - beq _080F9682 - b _080F9722 - .pool -_080F967C: - cmp r5, 0x2 - beq _080F96C0 - b _080F9722 -_080F9682: - ldrh r1, [r4, 0x2] - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, 0x5 - bgt _080F96A8 -_080F968C: - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_80F960C - cmp r0, 0 - bne _080F96FC - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - adds r1, r0, 0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _080F968C -_080F96A8: - movs r0, 0x2 - strh r0, [r4] - b _080F9722 -_080F96AE: - bl IsFieldMessageBoxHidden - lsls r0, 24 - cmp r0, 0 - beq _080F9722 - ldrh r0, [r4] - subs r0, 0x1 - strh r0, [r4] - b _080F9722 -_080F96C0: - bl sub_80F958C - adds r1, r0, 0 - cmp r1, 0 - beq _080F9714 - bl InBattlePyramid - adds r4, r0, 0 - bl InBattlePike - orrs r4, r0 - lsls r4, 24 - cmp r4, 0 - bne _080F96E6 - bl sub_81D5C18 - lsls r0, 24 - cmp r0, 0 - beq _080F96F0 -_080F96E6: - ldr r0, =gScriptResult - strh r5, [r0] - b _080F9718 - .pool -_080F96F0: - ldr r1, =gScriptResult - movs r0, 0x1 - strh r0, [r1] - b _080F9718 - .pool -_080F96FC: - ldrb r0, [r4, 0x2] - bl sub_80F95C0 - ldr r0, =gText_PkmnFainted3 - bl ShowFieldMessage - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080F9722 - .pool -_080F9714: - ldr r0, =gScriptResult - strh r1, [r0] -_080F9718: - bl EnableBothScriptContexts - adds r0, r6, 0 - bl DestroyTask -_080F9722: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F9654 - - thumb_func_start sub_80F972C -sub_80F972C: @ 80F972C - push {lr} - ldr r0, =sub_80F9654 - movs r1, 0x50 - bl CreateTask - bl ScriptContext1_Stop - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F972C - - thumb_func_start overworld_poison -overworld_poison: @ 80F9744 - push {r4-r7,lr} - sub sp, 0x4 - ldr r4, =gPlayerParty - movs r7, 0 - movs r6, 0 - movs r5, 0x5 -_080F9750: - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _080F9794 - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData - bl pokemon_ailments_get_primary - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080F9794 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - str r0, [sp] - cmp r0, 0 - beq _080F9786 - subs r0, 0x1 - str r0, [sp] - cmp r0, 0 - bne _080F9788 -_080F9786: - adds r6, 0x1 -_080F9788: - adds r0, r4, 0 - movs r1, 0x39 - mov r2, sp - bl SetMonData - adds r7, 0x1 -_080F9794: - adds r4, 0x64 - subs r5, 0x1 - cmp r5, 0 - bge _080F9750 - cmp r6, 0 - bne _080F97A4 - cmp r7, 0 - beq _080F97A8 -_080F97A4: - bl overworld_posion_effect -_080F97A8: - cmp r6, 0 - beq _080F97B4 - movs r0, 0x2 - b _080F97BE - .pool -_080F97B4: - cmp r7, 0 - bne _080F97BC - movs r0, 0 - b _080F97BE -_080F97BC: - movs r0, 0x1 -_080F97BE: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end overworld_poison - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_region_map.s b/asm/field_region_map.s deleted file mode 100644 index 512dfb1516..0000000000 --- a/asm/field_region_map.s +++ /dev/null @@ -1,325 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_817018C -sub_817018C: @ 817018C - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0 - bl SetVBlankCallback - ldr r4, =gUnknown_0203BCD0 - movs r0, 0x89 - lsls r0, 4 - bl Alloc - str r0, [r4] - ldr r1, =0x0000088c - adds r2, r0, r1 - movs r1, 0 - strh r1, [r2] - str r5, [r0] - ldr r0, =sub_81701C4 - bl SetMainCallback2 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817018C - - thumb_func_start sub_81701C4 -sub_81701C4: @ 81701C4 - push {lr} - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x1C - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - bl ResetSpriteData - bl FreeAllSpritePalettes - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085E5068 - movs r0, 0x1 - movs r2, 0x2 - bl InitBgsFromTemplates - ldr r0, =gUnknown_085E5070 - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0 - movs r1, 0x27 - movs r2, 0xD0 - bl sub_809882C - bl clear_scheduled_bg_copies_to_vram - ldr r0, =sub_8170274 - bl SetMainCallback2 - ldr r0, =sub_8170260 - bl SetVBlankCallback - pop {r0} - bx r0 - .pool - thumb_func_end sub_81701C4 - - thumb_func_start sub_8170260 -sub_8170260: @ 8170260 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8170260 - - thumb_func_start sub_8170274 -sub_8170274: @ 8170274 - push {lr} - bl sub_8170290 - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - bl do_scheduled_bg_tilemap_copies_to_vram - pop {r0} - bx r0 - thumb_func_end sub_8170274 - - thumb_func_start sub_8170290 -sub_8170290: @ 8170290 - push {r4,r5,lr} - sub sp, 0xC - ldr r1, =gUnknown_0203BCD0 - ldr r0, [r1] - ldr r2, =0x0000088c - adds r0, r2 - ldrh r0, [r0] - adds r4, r1, 0 - cmp r0, 0x6 - bls _081702A6 - b _08170416 -_081702A6: - lsls r0, 2 - ldr r1, =_081702BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081702BC: - .4byte _081702D8 - .4byte _08170300 - .4byte _08170358 - .4byte _08170380 - .4byte _08170394 - .4byte _081703C0 - .4byte _081703E8 -_081702D8: - ldr r0, [r4] - adds r0, 0x8 - movs r1, 0 - bl sub_8122CDC - movs r0, 0 - movs r1, 0 - bl sub_8124288 - movs r0, 0x1 - movs r1, 0x1 - bl sub_81240D4 - ldr r1, [r4] - ldr r0, =0x0000088c - adds r1, r0 - b _081703D8 - .pool -_08170300: - movs r0, 0x1 - movs r1, 0 - movs r2, 0x27 - movs r3, 0xD - bl SetWindowBorderStyle - ldr r5, =gText_Hoenn - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0x38 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x1 - adds r2, r5, 0 - bl PrintTextOnWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0 - movs r1, 0 - movs r2, 0x27 - movs r3, 0xD - bl SetWindowBorderStyle - bl sub_8170428 - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - b _081703CC - .pool -_08170358: - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuRegBits - movs r0, 0 - bl ShowBg - movs r0, 0x2 - bl ShowBg - ldr r0, =gUnknown_0203BCD0 - ldr r1, [r0] - ldr r0, =0x0000088c - adds r1, r0 - b _081703D8 - .pool -_08170380: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08170416 - ldr r1, [r4] - b _081703D4 - .pool -_08170394: - bl sub_81230AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _081703A6 - bl sub_8170428 - b _08170416 -_081703A6: - cmp r0, 0x3 - blt _08170416 - cmp r0, 0x5 - bgt _08170416 - ldr r0, =gUnknown_0203BCD0 - ldr r1, [r0] - ldr r0, =0x0000088c - adds r1, r0 - b _081703D8 - .pool -_081703C0: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 -_081703CC: - bl BeginNormalPaletteFade - ldr r0, =gUnknown_0203BCD0 - ldr r1, [r0] -_081703D4: - ldr r2, =0x0000088c - adds r1, r2 -_081703D8: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08170416 - .pool -_081703E8: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _08170416 - bl sub_812305C - ldr r4, =gUnknown_0203BCD0 - ldr r0, [r4] - ldr r0, [r0] - bl SetMainCallback2 - ldr r0, [r4] - cmp r0, 0 - beq _08170412 - bl Free - str r5, [r4] -_08170412: - bl FreeAllWindowBuffers -_08170416: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8170290 - - thumb_func_start sub_8170428 -sub_8170428: @ 8170428 - push {r4,lr} - sub sp, 0xC - ldr r4, =gUnknown_0203BCD0 - ldr r0, [r4] - ldrb r0, [r0, 0xA] - cmp r0, 0 - beq _08170460 - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, [r4] - adds r2, 0xC - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - b _08170470 - .pool -_08170460: - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram -_08170470: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8170428 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_screen.s b/asm/field_screen.s index 4ab8a5a539..d05028cc6b 100644 --- a/asm/field_screen.s +++ b/asm/field_screen.s @@ -1625,8 +1625,8 @@ _080ABCBC: .pool thumb_func_end sub_80ABC7C - thumb_func_start fade_screen -fade_screen: @ 80ABCD0 + thumb_func_start FadeScreen +FadeScreen: @ 80ABCD0 push {r4,r5,lr} sub sp, 0x4 lsls r0, 24 @@ -1762,7 +1762,7 @@ _080ABDE4: pop {r0} bx r0 .pool - thumb_func_end fade_screen + thumb_func_end FadeScreen thumb_func_start sub_80ABDFC sub_80ABDFC: @ 80ABDFC @@ -2339,43 +2339,43 @@ _080AC290: .4byte _080AC300 _080AC2B8: movs r0, 0x1 - bl sub_80AEDF0 + bl SetWeather b _080AC306 _080AC2C0: movs r0, 0x2 - bl sub_80AEDF0 + bl SetWeather b _080AC306 _080AC2C8: movs r0, 0x3 - bl sub_80AEDF0 + bl SetWeather b _080AC306 _080AC2D0: movs r0, 0x4 - bl sub_80AEDF0 + bl SetWeather b _080AC306 _080AC2D8: movs r0, 0x5 - bl sub_80AEDF0 + bl SetWeather b _080AC306 _080AC2E0: movs r0, 0x6 - bl sub_80AEDF0 + bl SetWeather b _080AC306 _080AC2E8: movs r0, 0x9 - bl sub_80AEDF0 + bl SetWeather b _080AC306 _080AC2F0: movs r0, 0x7 - bl sub_80AEDF0 + bl SetWeather b _080AC306 _080AC2F8: movs r0, 0x8 - bl sub_80AEDF0 + bl SetWeather b _080AC306 _080AC300: movs r0, 0xB - bl sub_80AEDF0 + bl SetWeather _080AC306: pop {r0} bx r0 @@ -2472,15 +2472,15 @@ _080AC3B6: bx r0 thumb_func_end play_some_sound - thumb_func_start sub_80AC3BC -sub_80AC3BC: @ 80AC3BC + thumb_func_start IsWeatherChangeComplete +IsWeatherChangeComplete: @ 80AC3BC ldr r0, =gUnknown_02038454 ldr r1, =0x000006d3 adds r0, r1 ldrb r0, [r0] bx lr .pool - thumb_func_end sub_80AC3BC + thumb_func_end IsWeatherChangeComplete thumb_func_start sub_80AC3D0 sub_80AC3D0: @ 80AC3D0 @@ -2725,13 +2725,13 @@ sub_80AC594: @ 80AC594 ldrb r0, [r0] cmp r0, 0x1 beq _080AC650 - ldr r0, =gUnknown_0854FB5C + ldr r0, =sCloudSpriteSheet bl LoadSpriteSheet ldr r0, =gUnknown_0854C290 bl sub_80ABF4C movs r5, 0 _080AC5B2: - ldr r0, =gUnknown_0854FB78 + ldr r0, =sCloudSpriteTemplate movs r1, 0 movs r2, 0 movs r3, 0xFF @@ -3676,7 +3676,7 @@ sub_80ACD78: @ 80ACD78 b _080ACE98 _080ACD92: ldrb r7, [r2] - ldr r0, =gUnknown_0854FC2C + ldr r0, =gSpriteTemplate_854FC2C ldr r2, =gUnknown_0854FB90 lsls r6, r7, 2 adds r2, r6, r2 @@ -5461,7 +5461,7 @@ sub_80ADCAC: @ 80ADCAC bl LoadSpriteSheet movs r5, 0 _080ADCD0: - ldr r0, =gUnknown_0854FD18 + ldr r0, =gSpriteTemplate_854FD18 movs r1, 0 movs r2, 0 movs r3, 0xFF @@ -5792,7 +5792,7 @@ sub_80ADF6C: @ 80ADF6C bne _080AE008 movs r5, 0 _080ADF80: - ldr r0, =gUnknown_0854FD58 + ldr r0, =gSpriteTemplate_854FD58 movs r1, 0 movs r2, 0 movs r3, 0x4E @@ -6240,7 +6240,7 @@ _080AE314: adds r5, r0, 0 lsls r2, r5, 22 asrs r2, 16 - ldr r0, =gUnknown_0854FD8C + ldr r0, =gSpriteTemplate_854FD8C movs r1, 0 movs r3, 0xFF bl CreateSpriteAtEnd @@ -6753,7 +6753,7 @@ _080AE758: adds r6, r0, 0 lsls r2, r6, 22 asrs r2, 16 - ldr r0, =gUnknown_0854FDC4 + ldr r0, =gSpriteTemplate_854FDC4 movs r1, 0 movs r3, 0x1 bl CreateSpriteAtEnd @@ -6840,7 +6840,7 @@ _080AE818: adds r1, 0x18 lsls r1, 16 asrs r1, 16 - ldr r0, =gUnknown_0854FDC4 + ldr r0, =gSpriteTemplate_854FDC4 movs r2, 0xD0 movs r3, 0x1 bl CreateSpriteAtEnd @@ -7239,7 +7239,7 @@ sub_80AEB48: @ 80AEB48 ldrh r2, [r0] ldrh r0, [r1] subs r2, r0 - ldr r0, =gUnknown_0854FE44 + ldr r0, =gSpriteTemplate_854FE44 movs r4, 0 ldrsh r1, [r3, r4] lsls r2, 16 @@ -7306,7 +7306,7 @@ _080AEBE4: adds r0, 0x14 adds r0, r2, r0 ldr r1, [r0] - ldr r0, =gUnknown_0854FE44 + ldr r0, =gSpriteTemplate_854FE44 cmp r1, r0 bne _080AEBFE adds r0, r2, r5 @@ -7332,8 +7332,8 @@ _080AEC1A: .pool thumb_func_end sub_80AEBD0 - thumb_func_start unc_0807DAB4 -unc_0807DAB4: @ 80AEC34 + thumb_func_start sub_80AEC34 +sub_80AEC34: @ 80AEC34 push {lr} adds r1, r0, 0 ldrh r0, [r1, 0x2E] @@ -7383,7 +7383,7 @@ _080AEC74: _080AEC8E: pop {r0} bx r0 - thumb_func_end unc_0807DAB4 + thumb_func_end sub_80AEC34 thumb_func_start sub_80AEC94 sub_80AEC94: @ 80AEC94 @@ -7527,18 +7527,18 @@ SetSav1Weather: @ 80AED7C .pool thumb_func_end SetSav1Weather - thumb_func_start sav1_get_weather_probably -sav1_get_weather_probably: @ 80AEDAC + thumb_func_start GetSav1Weather +GetSav1Weather: @ 80AEDAC ldr r0, =gSaveBlock1Ptr ldr r0, [r0] adds r0, 0x2E ldrb r0, [r0] bx lr .pool - thumb_func_end sav1_get_weather_probably + thumb_func_end GetSav1Weather - thumb_func_start sub_80AEDBC -sub_80AEDBC: @ 80AEDBC + thumb_func_start SetSav1WeatherFromCurrMapHeader +SetSav1WeatherFromCurrMapHeader: @ 80AEDBC push {r4,r5,lr} ldr r4, =gSaveBlock1Ptr ldr r0, [r4] @@ -7559,25 +7559,25 @@ sub_80AEDBC: @ 80AEDBC pop {r0} bx r0 .pool - thumb_func_end sub_80AEDBC + thumb_func_end SetSav1WeatherFromCurrMapHeader - thumb_func_start sub_80AEDF0 -sub_80AEDF0: @ 80AEDF0 + thumb_func_start SetWeather +SetWeather: @ 80AEDF0 push {lr} bl SetSav1Weather - bl sav1_get_weather_probably + bl GetSav1Weather lsls r0, 24 lsrs r0, 24 bl weather_set pop {r0} bx r0 - thumb_func_end sub_80AEDF0 + thumb_func_end SetWeather thumb_func_start sub_80AEE08 sub_80AEE08: @ 80AEE08 push {lr} bl SetSav1Weather - bl sav1_get_weather_probably + bl GetSav1Weather lsls r0, 24 lsrs r0, 24 bl sub_80AB104 @@ -7588,7 +7588,7 @@ sub_80AEE08: @ 80AEE08 thumb_func_start DoCurrentWeather DoCurrentWeather: @ 80AEE20 push {r4,r5,lr} - bl sav1_get_weather_probably + bl GetSav1Weather lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0xF @@ -7632,7 +7632,7 @@ _080AEE6E: thumb_func_start sub_80AEE84 sub_80AEE84: @ 80AEE84 push {r4,r5,lr} - bl sav1_get_weather_probably + bl GetSav1Weather lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0xF @@ -7777,8 +7777,8 @@ _080AEFB6: bx r1 thumb_func_end sub_80AEEE8 - thumb_func_start sub_80AEFBC -sub_80AEFBC: @ 80AEFBC + thumb_func_start UpdateWeatherPerDay +UpdateWeatherPerDay: @ 80AEFBC lsls r0, 16 ldr r1, =gSaveBlock1Ptr ldr r2, [r1] @@ -7794,7 +7794,7 @@ sub_80AEFBC: @ 80AEFBC strb r1, [r2] bx lr .pool - thumb_func_end sub_80AEFBC + thumb_func_end UpdateWeatherPerDay thumb_func_start sub_80AEFDC sub_80AEFDC: @ 80AEFDC @@ -7872,13 +7872,13 @@ _080AF06A: bl palette_bg_faded_fill_black movs r0, 0 movs r1, 0 - bl fade_screen + bl FadeScreen b _080AF084 _080AF078: bl palette_bg_faded_fill_white movs r0, 0x2 movs r1, 0 - bl fade_screen + bl FadeScreen _080AF084: pop {r4} pop {r0} @@ -7891,7 +7891,7 @@ sub_80AF08C: @ 80AF08C bl palette_bg_faded_fill_white movs r0, 0x2 movs r1, 0x8 - bl fade_screen + bl FadeScreen pop {r0} bx r0 thumb_func_end sub_80AF08C @@ -7902,7 +7902,7 @@ pal_fill_black: @ 80AF0A0 bl palette_bg_faded_fill_black movs r0, 0 movs r1, 0 - bl fade_screen + bl FadeScreen pop {r0} bx r0 thumb_func_end pal_fill_black @@ -7928,12 +7928,12 @@ sub_80AF0B4: @ 80AF0B4 _080AF0DA: movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen b _080AF0EC _080AF0E4: movs r0, 0x3 movs r1, 0 - bl fade_screen + bl FadeScreen _080AF0EC: pop {r4} pop {r0} @@ -7975,7 +7975,7 @@ _080AF120: sub_80AF128: @ 80AF128 push {lr} bl ScriptContext2_Enable - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_black ldr r0, =task0A_nop_for_a_while movs r1, 0xA @@ -8006,7 +8006,7 @@ _080AF160: sub_80AF168: @ 80AF168 push {lr} bl ScriptContext2_Enable - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_black ldr r0, =task0A_asap_script_env_2_enable_and_set_ctx_running movs r1, 0xA @@ -8092,7 +8092,7 @@ _080AF20E: sub_80AF214: @ 80AF214 push {lr} bl ScriptContext2_Enable - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl palette_bg_faded_fill_black ldr r0, =task_mpl_807DD60 movs r1, 0xA @@ -8220,7 +8220,7 @@ _080AF30C: sub_80AF314: @ 80AF314 push {lr} bl ScriptContext2_Enable - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl palette_bg_faded_fill_black ldr r0, =sub_80AF234 movs r1, 0xA @@ -8279,7 +8279,7 @@ _080AF37E: thumb_func_start mapldr_default mapldr_default: @ 80AF398 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl sub_80AF334 bl ScriptContext2_Enable @@ -8290,7 +8290,7 @@ mapldr_default: @ 80AF398 thumb_func_start sub_80AF3B0 sub_80AF3B0: @ 80AF3B0 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl sub_80AF08C bl sub_80AF334 bl ScriptContext2_Enable @@ -8304,7 +8304,7 @@ sub_80AF3C8: @ 80AF3C8 bl sub_81D6534 cmp r0, 0 bne _080AF3D6 - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic _080AF3D6: bl pal_fill_black bl sub_80AF334 @@ -8316,7 +8316,7 @@ _080AF3D6: thumb_func_start sub_80AF3E8 sub_80AF3E8: @ 80AF3E8 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights movs r0, 0x2E bl PlaySE @@ -8332,7 +8332,7 @@ sub_80AF3E8: @ 80AF3E8 thumb_func_start sub_80AF40C sub_80AF40C: @ 80AF40C push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights movs r0, 0x2E bl PlaySE @@ -8382,7 +8382,7 @@ _080AF46C: _080AF480: movs r0, 0 bl sub_80AF0F4 - bl player_bitmagic + bl FreezeMapObjects adds r0, r6, 0 adds r1, r7, 0 bl PlayerGetDestCoords @@ -8508,7 +8508,7 @@ _080AF580: _080AF58A: movs r0, 0 bl sub_80AF0F4 - bl player_bitmagic + bl FreezeMapObjects adds r0, r6, 0 adds r1, r7, 0 bl PlayerGetDestCoords @@ -8583,7 +8583,7 @@ task_map_chg_seq_0807E2CC: @ 80AF610 b _080AF65A .pool _080AF634: - bl player_bitmagic + bl FreezeMapObjects bl ScriptContext2_Enable ldrh r0, [r4, 0x8] adds r0, 0x1 @@ -8680,7 +8680,7 @@ sub_80AF6D4: @ 80AF6D4 sub_80AF6F0: @ 80AF6F0 push {lr} bl ScriptContext2_Enable - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_black ldr r0, =task_mpl_807E3C8 movs r1, 0xA @@ -8761,7 +8761,7 @@ sub_80AF79C: @ 80AF79C bl music_something movs r0, 0x3 movs r1, 0x8 - bl fade_screen + bl FadeScreen bl play_some_sound ldr r0, =gFieldCallback ldr r1, =sub_80AF3B0 @@ -8990,7 +8990,7 @@ _080AF99A: bl sub_8009FAC movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen bl music_something movs r0, 0x9 bl PlaySE @@ -9062,7 +9062,7 @@ _080AFA34: beq _080AFA6C b _080AFA7C _080AFA3A: - bl player_bitmagic + bl FreezeMapObjects bl ScriptContext2_Enable b _080AFA64 _080AFA44: @@ -9133,7 +9133,7 @@ _080AFAC0: .4byte _080AFBB8 .4byte _080AFBD4 _080AFAD4: - bl player_bitmagic + bl FreezeMapObjects adds r0, r4, 0 adds r1, r6, 0 bl PlayerGetDestCoords @@ -9290,7 +9290,7 @@ _080AFC1C: beq _080AFC46 b _080AFC56 _080AFC22: - bl player_bitmagic + bl FreezeMapObjects bl ScriptContext2_Enable b _080AFC3E _080AFC2C: @@ -9572,12 +9572,12 @@ _080AFE30: beq _080AFEBC b _080AFEC6 _080AFE36: - ldr r0, =gUnknown_02039B28 + ldr r0, =gScanlineEffect ldrb r1, [r0, 0x14] lsls r0, r1, 4 subs r0, r1 lsls r0, 7 - ldr r1, =gUnknown_02038C28 + ldr r1, =gScanlineEffectRegBuffers adds r0, r1 movs r2, 0x2 ldrsh r1, [r4, r2] @@ -9591,12 +9591,12 @@ _080AFE36: b _080AFEC6 .pool _080AFE64: - ldr r0, =gUnknown_02039B28 + ldr r0, =gScanlineEffect ldrb r1, [r0, 0x14] lsls r0, r1, 4 subs r0, r1 lsls r0, 7 - ldr r1, =gUnknown_02038C28 + ldr r1, =gScanlineEffectRegBuffers adds r0, r1 movs r6, 0x2 ldrsh r1, [r4, r6] @@ -9621,7 +9621,7 @@ _080AFE64: ldrsh r0, [r4, r3] cmp r0, 0x1 bne _080AFEB4 - bl remove_some_task + bl ScanlineEffect_Stop movs r0, 0x2 strh r0, [r4] b _080AFEC6 @@ -9631,7 +9631,7 @@ _080AFEB4: bl DestroyTask b _080AFEC6 _080AFEBC: - bl dp12_8087EA4 + bl ScanlineEffect_Clear adds r0, r5, 0 bl DestroyTask _080AFEC6: @@ -9665,12 +9665,12 @@ _080AFEF4: beq _080AFF80 b _080AFF8A _080AFEFA: - ldr r0, =gUnknown_02039B28 + ldr r0, =gScanlineEffect ldrb r1, [r0, 0x14] lsls r0, r1, 4 subs r0, r1 lsls r0, 7 - ldr r1, =gUnknown_02038C28 + ldr r1, =gScanlineEffectRegBuffers adds r0, r1 movs r2, 0x2 ldrsh r1, [r4, r2] @@ -9684,12 +9684,12 @@ _080AFEFA: b _080AFF8A .pool _080AFF28: - ldr r0, =gUnknown_02039B28 + ldr r0, =gScanlineEffect ldrb r1, [r0, 0x14] lsls r0, r1, 4 subs r0, r1 lsls r0, 7 - ldr r1, =gUnknown_02038C28 + ldr r1, =gScanlineEffectRegBuffers adds r0, r1 movs r6, 0x2 ldrsh r1, [r4, r6] @@ -9714,7 +9714,7 @@ _080AFF28: ldrsh r0, [r4, r3] cmp r0, 0x1 bne _080AFF78 - bl remove_some_task + bl ScanlineEffect_Stop movs r0, 0x2 strh r0, [r4] b _080AFF8A @@ -9724,7 +9724,7 @@ _080AFF78: bl DestroyTask b _080AFF8A _080AFF80: - bl dp12_8087EA4 + bl ScanlineEffect_Clear adds r0, r5, 0 bl DestroyTask _080AFF8A: @@ -9877,7 +9877,7 @@ sub_80B009C: @ 80B009C lsls r0, 24 lsrs r0, 24 adds r4, r0, 0 - bl sav1_get_flash_used_on_map + bl Overworld_GetFlashLevel lsls r0, 24 lsrs r0, 24 movs r5, 0 @@ -9914,7 +9914,7 @@ sub_80B00E8: @ 80B00E8 lsrs r0, 24 cmp r0, 0 beq _080B0116 - ldr r4, =gUnknown_02038C28 + ldr r4, =gScanlineEffectRegBuffers ldr r1, =gUnknown_0854FE64 lsls r0, 1 adds r0, r1 @@ -9940,7 +9940,7 @@ _080B0116: thumb_func_start door_upload_tiles door_upload_tiles: @ 80B0124 push {r4,lr} - ldr r4, =gUnknown_02038C28 + ldr r4, =gScanlineEffectRegBuffers ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r1, =0x00000e68 @@ -9982,7 +9982,7 @@ task0A_mpl_807E31C: @ 80B0160 b _080B01B6 .pool _080B0184: - bl player_bitmagic + bl FreezeMapObjects bl ScriptContext2_Enable bl sub_808D194 ldrh r0, [r4, 0x8] @@ -10033,7 +10033,7 @@ _080B01E4: beq _080B022A b _080B023A _080B01EE: - bl player_bitmagic + bl FreezeMapObjects bl ScriptContext2_Enable movs r0, 0x2D bl PlaySE @@ -10261,7 +10261,7 @@ _080B0368: bl sub_8199C30 movs r0, 0 bl schedule_bg_copy_tilemap_to_vram - ldr r4, =gUnknown_02038C28 + ldr r4, =gScanlineEffectRegBuffers movs r2, 0x4 ldrsh r1, [r5, r2] movs r0, 0x6 @@ -10280,7 +10280,7 @@ _080B0368: ldr r0, [r2] ldr r1, [r2, 0x4] ldr r2, [r2, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams movs r0, 0x1 strh r0, [r5] b _080B052C @@ -10424,7 +10424,7 @@ sub_80B0534: @ 80B0534 lsls r1, 3 ldr r0, =gTasks + 0x8 adds r1, r0 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0 bne _080B0568 diff --git a/asm/field_specials.s b/asm/field_specials.s new file mode 100644 index 0000000000..29aca304ff --- /dev/null +++ b/asm/field_specials.s @@ -0,0 +1,8075 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start Special_ShowDiploma +Special_ShowDiploma: @ 8137CB4 + push {lr} + ldr r0, =CB2_ShowDiploma + bl SetMainCallback2 + bl ScriptContext2_Enable + pop {r0} + bx r0 + .pool + thumb_func_end Special_ShowDiploma + + thumb_func_start Special_ViewWallClock +Special_ViewWallClock: @ 8137CC8 + push {lr} + ldr r0, =gMain + ldr r1, =c2_exit_to_overworld_2_switch + str r1, [r0, 0x8] + ldr r0, =Cb2_ViewWallClock + bl SetMainCallback2 + bl ScriptContext2_Enable + pop {r0} + bx r0 + .pool + thumb_func_end Special_ViewWallClock + + thumb_func_start ResetCyclingRoadChallengeData +ResetCyclingRoadChallengeData: @ 8137CEC + ldr r0, =gBikeCyclingChallenge + movs r1, 0 + strb r1, [r0] + ldr r0, =0x0203ab55 + strb r1, [r0] + ldr r1, =gUnknown_0203AB58 + movs r0, 0 + str r0, [r1] + bx lr + .pool + thumb_func_end ResetCyclingRoadChallengeData + + thumb_func_start Special_BeginCyclingRoadChallenge +Special_BeginCyclingRoadChallenge: @ 8137D0C + ldr r1, =gBikeCyclingChallenge + movs r0, 0x1 + strb r0, [r1] + ldr r1, =0x0203ab55 + movs r0, 0 + strb r0, [r1] + ldr r1, =gUnknown_0203AB58 + ldr r0, =gMain + ldr r0, [r0, 0x20] + str r0, [r1] + bx lr + .pool + thumb_func_end Special_BeginCyclingRoadChallenge + + thumb_func_start GetPlayerAvatarBike +GetPlayerAvatarBike: @ 8137D34 + push {lr} + movs r0, 0x4 + bl TestPlayerAvatarFlags + lsls r0, 24 + cmp r0, 0 + beq _08137D46 + movs r0, 0x1 + b _08137D58 +_08137D46: + movs r0, 0x2 + bl TestPlayerAvatarFlags + lsls r0, 24 + cmp r0, 0 + bne _08137D56 + movs r0, 0 + b _08137D58 +_08137D56: + movs r0, 0x2 +_08137D58: + pop {r1} + bx r1 + thumb_func_end GetPlayerAvatarBike + + thumb_func_start DetermineCyclingRoadResults +DetermineCyclingRoadResults: @ 8137D5C + push {r4-r7,lr} + adds r7, r0, 0 + lsls r1, 24 + lsrs r6, r1, 24 + cmp r6, 0x63 + bhi _08137D88 + ldr r4, =gStringVar1 + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0 + movs r3, 0x2 + bl ConvertIntToDecimalStringN + ldr r1, =gText_SpaceTimes + adds r0, r4, 0 + bl StringAppend + b _08137D90 + .pool +_08137D88: + ldr r0, =gStringVar1 + ldr r1, =gText_99TimesPlus + bl StringCopy +_08137D90: + ldr r0, =0x00000e0f + cmp r7, r0 + bhi _08137DF0 + ldr r4, =gStringVar2 + adds r0, r7, 0 + movs r1, 0x3C + bl __udivsi3 + adds r1, r0, 0 + adds r0, r4, 0 + movs r2, 0x1 + movs r3, 0x2 + bl ConvertIntToDecimalStringN + movs r0, 0xAD + strb r0, [r4, 0x2] + adds r5, r4, 0x3 + adds r0, r7, 0 + movs r1, 0x3C + bl __umodsi3 + movs r1, 0x64 + muls r0, r1 + movs r1, 0x3C + bl __udivsi3 + adds r1, r0, 0 + adds r0, r5, 0 + movs r2, 0x2 + movs r3, 0x2 + bl ConvertIntToDecimalStringN + ldr r1, =gText_SpaceSeconds + adds r0, r4, 0 + bl StringAppend + b _08137DF8 + .pool +_08137DF0: + ldr r0, =gStringVar2 + ldr r1, =gText_1MinutePlus + bl StringCopy +_08137DF8: + movs r4, 0 + cmp r6, 0 + bne _08137E0C + movs r4, 0x5 + b _08137E2A + .pool +_08137E0C: + cmp r6, 0x3 + bhi _08137E14 + movs r4, 0x4 + b _08137E2A +_08137E14: + cmp r6, 0x9 + bhi _08137E1C + movs r4, 0x3 + b _08137E2A +_08137E1C: + cmp r6, 0x13 + bhi _08137E24 + movs r4, 0x2 + b _08137E2A +_08137E24: + cmp r6, 0x63 + bhi _08137E2A + movs r4, 0x1 +_08137E2A: + adds r0, r7, 0 + movs r1, 0x3C + bl __udivsi3 + cmp r0, 0xA + bhi _08137E3A + adds r0, r4, 0x5 + b _08137E58 +_08137E3A: + cmp r0, 0xF + bhi _08137E42 + adds r0, r4, 0x4 + b _08137E58 +_08137E42: + cmp r0, 0x14 + bhi _08137E4A + adds r0, r4, 0x3 + b _08137E58 +_08137E4A: + cmp r0, 0x28 + bhi _08137E52 + adds r0, r4, 0x2 + b _08137E58 +_08137E52: + cmp r0, 0x3B + bhi _08137E5C + adds r0, r4, 0x1 +_08137E58: + lsls r0, 24 + lsrs r4, r0, 24 +_08137E5C: + ldr r0, =gSpecialVar_Result + strh r4, [r0] + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end DetermineCyclingRoadResults + + thumb_func_start FinishCyclingRoadChallenge +FinishCyclingRoadChallenge: @ 8137E6C + push {r4,r5,lr} + ldr r0, =gMain + ldr r1, =gUnknown_0203AB58 + ldr r4, [r0, 0x20] + ldr r0, [r1] + subs r4, r0 + ldr r5, =0x0203ab55 + ldrb r1, [r5] + adds r0, r4, 0 + bl DetermineCyclingRoadResults + ldrb r1, [r5] + adds r0, r4, 0 + bl RecordCyclingRoadResults + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end FinishCyclingRoadChallenge + + thumb_func_start RecordCyclingRoadResults +RecordCyclingRoadResults: @ 8137E9C + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r5, r0, 0 + lsls r1, 24 + lsrs r1, 24 + mov r8, r1 + ldr r6, =0x00004028 + adds r0, r6, 0 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r7, =0x00004029 + adds r0, r7, 0 + bl VarGet + lsls r0, 16 + adds r4, r0 + cmp r4, r5 + bhi _08137ECC + cmp r4, 0 + bne _08137EE6 +_08137ECC: + lsls r1, r5, 16 + lsrs r1, 16 + adds r0, r6, 0 + bl VarSet + lsrs r1, r5, 16 + adds r0, r7, 0 + bl VarSet + ldr r0, =0x00004027 + mov r1, r8 + bl VarSet +_08137EE6: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end RecordCyclingRoadResults + + thumb_func_start GetRecordedCyclingRoadResults +GetRecordedCyclingRoadResults: @ 8137EFC + push {r4,lr} + ldr r0, =0x00004028 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r0, =0x00004029 + bl VarGet + lsls r0, 16 + adds r4, r0 + cmp r4, 0 + beq _08137F3C + ldr r0, =0x00004027 + bl VarGet + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl DetermineCyclingRoadResults + movs r0, 0x1 + b _08137F3E + .pool +_08137F3C: + movs r0, 0 +_08137F3E: + pop {r4} + pop {r1} + bx r1 + thumb_func_end GetRecordedCyclingRoadResults + + thumb_func_start UpdateCyclingRoadState +UpdateCyclingRoadState: @ 8137F44 + push {r4,lr} + ldr r0, =gUnknown_020322DC + ldrh r1, [r0] + ldr r0, =0x00000c1d + cmp r1, r0 + beq _08137F7C + ldr r4, =0x000040a9 + adds r0, r4, 0 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x2 + beq _08137F6E + adds r0, r4, 0 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x3 + bne _08137F7C +_08137F6E: + adds r0, r4, 0 + movs r1, 0 + bl VarSet + movs r0, 0 + bl Overworld_SetSavedMusic +_08137F7C: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end UpdateCyclingRoadState + + thumb_func_start SetSSTidalFlag +SetSSTidalFlag: @ 8137F90 + push {lr} + ldr r0, =0x0000088d + bl FlagSet + ldr r0, =0x0000404a + bl GetVarPointer + movs r1, 0 + strh r1, [r0] + pop {r0} + bx r0 + .pool + thumb_func_end SetSSTidalFlag + + thumb_func_start ResetSSTidalFlag +ResetSSTidalFlag: @ 8137FB0 + push {lr} + ldr r0, =0x0000088d + bl FlagClear + pop {r0} + bx r0 + .pool + thumb_func_end ResetSSTidalFlag + + thumb_func_start CountSSTidalStep +CountSSTidalStep: @ 8137FC0 + push {r4,lr} + lsls r0, 16 + lsrs r4, r0, 16 + ldr r0, =0x0000088d + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _08137FE6 + ldr r0, =0x0000404a + bl GetVarPointer + ldrh r1, [r0] + adds r1, r4, r1 + strh r1, [r0] + lsls r1, 16 + lsrs r1, 16 + cmp r1, 0xCC + bhi _08137FF4 +_08137FE6: + movs r0, 0 + b _08137FF6 + .pool +_08137FF4: + movs r0, 0x1 +_08137FF6: + pop {r4} + pop {r1} + bx r1 + thumb_func_end CountSSTidalStep + + thumb_func_start GetSSTidalLocation +GetSSTidalLocation: @ 8137FFC + push {r4-r7,lr} + mov r7, r8 + push {r7} + mov r8, r0 + adds r5, r1, 0 + adds r6, r2, 0 + adds r7, r3, 0 + ldr r0, =0x0000404a + bl GetVarPointer + adds r4, r0, 0 + ldr r0, =0x000040b4 + bl GetVarPointer + ldrh r0, [r0] + subs r0, 0x1 + cmp r0, 0x9 + bhi _081380C2 + lsls r0, 2 + ldr r1, =_08138038 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_08138038: + .4byte _08138060 + .4byte _08138070 + .4byte _08138064 + .4byte _08138068 + .4byte _08138068 + .4byte _0813806C + .4byte _08138098 + .4byte _08138060 + .4byte _08138064 + .4byte _0813806C +_08138060: + movs r0, 0x1 + b _081380CE +_08138064: + movs r0, 0x4 + b _081380CE +_08138068: + movs r0, 0x2 + b _081380CE +_0813806C: + movs r0, 0x3 + b _081380CE +_08138070: + ldrh r0, [r4] + cmp r0, 0x3B + bhi _08138080 + movs r0, 0x31 + strb r0, [r5] + ldrh r0, [r4] + adds r0, 0x13 + b _081380C0 +_08138080: + cmp r0, 0x8B + bhi _0813808E + movs r0, 0x30 + strb r0, [r5] + ldrh r0, [r4] + subs r0, 0x3C + b _081380C0 +_0813808E: + movs r0, 0x2F + strb r0, [r5] + ldrh r0, [r4] + subs r0, 0x8C + b _081380C0 +_08138098: + ldrh r0, [r4] + cmp r0, 0x41 + bhi _081380A8 + movs r0, 0x2F + strb r0, [r5] + ldrh r1, [r4] + movs r0, 0x41 + b _081380BE +_081380A8: + cmp r0, 0x91 + bhi _081380B6 + movs r0, 0x30 + strb r0, [r5] + ldrh r1, [r4] + movs r0, 0x91 + b _081380BE +_081380B6: + movs r0, 0x31 + strb r0, [r5] + ldrh r1, [r4] + movs r0, 0xE0 +_081380BE: + subs r0, r1 +_081380C0: + strh r0, [r6] +_081380C2: + movs r0, 0 + mov r1, r8 + strb r0, [r1] + movs r0, 0x14 + strh r0, [r7] + movs r0, 0 +_081380CE: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end GetSSTidalLocation + + thumb_func_start is_tile_that_overrides_player_control +is_tile_that_overrides_player_control: @ 81380D8 + push {lr} + movs r0, 0x88 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _0813810A + ldr r0, =gMapHeader + ldrb r0, [r0, 0x17] + cmp r0, 0x1 + blt _0813810A + cmp r0, 0x3 + ble _081380F6 + cmp r0, 0x6 + bne _0813810A +_081380F6: + ldr r0, =0x000040f2 + bl GetVarPointer + ldrh r1, [r0] + adds r1, 0x1 + strh r1, [r0] + lsls r1, 16 + lsrs r1, 16 + cmp r1, 0xF9 + bhi _08138118 +_0813810A: + movs r0, 0 + b _0813811A + .pool +_08138118: + movs r0, 0x1 +_0813811A: + pop {r1} + bx r1 + thumb_func_end is_tile_that_overrides_player_control + + thumb_func_start sub_8138120 +sub_8138120: @ 8138120 + push {lr} + movs r0, 0x8A + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _08138152 + ldr r0, =gMapHeader + ldrb r0, [r0, 0x17] + cmp r0, 0x1 + blt _08138152 + cmp r0, 0x3 + ble _0813813E + cmp r0, 0x6 + bne _08138152 +_0813813E: + ldr r0, =0x000040f3 + bl GetVarPointer + ldrh r1, [r0] + adds r1, 0x1 + strh r1, [r0] + lsls r1, 16 + lsrs r1, 16 + cmp r1, 0x9 + bhi _08138160 +_08138152: + movs r0, 0 + b _08138162 + .pool +_08138160: + movs r0, 0x1 +_08138162: + pop {r1} + bx r1 + thumb_func_end sub_8138120 + + thumb_func_start sub_8138168 +sub_8138168: @ 8138168 + push {lr} + movs r0, 0x72 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _0813819A + ldr r0, =gMapHeader + ldrb r0, [r0, 0x17] + cmp r0, 0x1 + blt _0813819A + cmp r0, 0x3 + ble _08138186 + cmp r0, 0x6 + bne _0813819A +_08138186: + ldr r0, =0x000040f5 + bl GetVarPointer + ldrh r1, [r0] + adds r1, 0x1 + strh r1, [r0] + lsls r1, 16 + lsrs r1, 16 + cmp r1, 0x9 + bhi _081381A8 +_0813819A: + movs r0, 0 + b _081381AA + .pool +_081381A8: + movs r0, 0x1 +_081381AA: + pop {r1} + bx r1 + thumb_func_end sub_8138168 + + thumb_func_start sub_81381B0 +sub_81381B0: @ 81381B0 + push {lr} + movs r0, 0x80 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _081381E2 + ldr r0, =gMapHeader + ldrb r0, [r0, 0x17] + cmp r0, 0x1 + blt _081381E2 + cmp r0, 0x3 + ble _081381CE + cmp r0, 0x6 + bne _081381E2 +_081381CE: + ldr r0, =0x000040f4 + bl GetVarPointer + ldrh r1, [r0] + adds r1, 0x1 + strh r1, [r0] + lsls r1, 16 + lsrs r1, 16 + cmp r1, 0xF9 + bhi _081381F0 +_081381E2: + movs r0, 0 + b _081381F2 + .pool +_081381F0: + movs r0, 0x1 +_081381F2: + pop {r1} + bx r1 + thumb_func_end sub_81381B0 + + thumb_func_start sub_81381F8 +sub_81381F8: @ 81381F8 + push {lr} + movs r0, 0x75 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _0813822A + ldr r0, =gMapHeader + ldrb r0, [r0, 0x17] + cmp r0, 0x1 + blt _0813822A + cmp r0, 0x3 + ble _08138216 + cmp r0, 0x6 + bne _0813822A +_08138216: + ldr r0, =0x000040f6 + bl GetVarPointer + ldrh r1, [r0] + adds r1, 0x1 + strh r1, [r0] + lsls r1, 16 + lsrs r1, 16 + cmp r1, 0xF9 + bhi _08138238 +_0813822A: + movs r0, 0 + b _0813823A + .pool +_08138238: + movs r0, 0x1 +_0813823A: + pop {r1} + bx r1 + thumb_func_end sub_81381F8 + + thumb_func_start GetLinkPartnerNames +GetLinkPartnerNames: @ 8138240 + push {r4-r7,lr} + mov r7, r8 + push {r7} + movs r6, 0 + bl GetMultiplayerId + lsls r0, 24 + lsrs r7, r0, 24 + bl GetLinkPlayerCount + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + cmp r4, r5 + bcs _0813828A + ldr r0, =gTVStringVarPtrs + mov r8, r0 +_08138262: + cmp r7, r4 + beq _08138280 + lsls r0, r6, 2 + add r0, r8 + ldr r0, [r0] + lsls r1, r4, 3 + subs r1, r4 + lsls r1, 2 + ldr r2, =gLinkPlayers + 8 + adds r1, r2 + bl StringCopy + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 +_08138280: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, r5 + bcc _08138262 +_0813828A: + adds r0, r5, 0 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .pool + thumb_func_end GetLinkPartnerNames + + thumb_func_start SpawnLinkPartnerFieldObject +SpawnLinkPartnerFieldObject: @ 81382A0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + movs r7, 0 + movs r0, 0 + mov r9, r0 + mov r8, r0 + ldr r1, =gUnknown_085B2B5C + add r0, sp, 0x8 + movs r2, 0x4 + bl memcpy + add r4, sp, 0xC + ldr r1, =gUnknown_085B2B60 + adds r0, r4, 0 + movs r2, 0x8 + bl memcpy + bl GetMultiplayerId + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + bl player_get_direction_lower_nybble + lsls r0, 24 + lsrs r0, 24 + adds r1, r0, 0 + cmp r0, 0x2 + beq _08138310 + cmp r0, 0x2 + bgt _081382F4 + cmp r0, 0x1 + beq _0813833C + b _08138350 + .pool +_081382F4: + cmp r1, 0x3 + beq _081382FE + cmp r1, 0x4 + beq _08138324 + b _08138350 +_081382FE: + movs r7, 0x2 + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + ldrh r0, [r1] + subs r0, 0x1 + b _0813832C + .pool +_08138310: + movs r7, 0x1 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrh r1, [r0] + mov r9, r1 + ldrh r0, [r0, 0x2] + subs r0, 0x1 + b _0813834A + .pool +_08138324: + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + ldrh r0, [r1] + adds r0, 0x1 +_0813832C: + lsls r0, 16 + lsrs r0, 16 + mov r9, r0 + ldrh r1, [r1, 0x2] + mov r8, r1 + b _08138350 + .pool +_0813833C: + movs r7, 0x3 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrh r3, [r0] + mov r9, r3 + ldrh r0, [r0, 0x2] + adds r0, 0x1 +_0813834A: + lsls r0, 16 + lsrs r0, 16 + mov r8, r0 +_08138350: + movs r6, 0 + b _08138410 + .pool +_08138358: + cmp r10, r6 + beq _0813840A + ldr r0, =gLinkPlayers + lsls r2, r6, 3 + subs r1, r2, r6 + lsls r1, 2 + adds r1, r0 + ldrb r3, [r1] + adds r4, r0, 0 + cmp r3, 0x1 + blt _0813838C + cmp r3, 0x2 + ble _0813837C + cmp r3, 0x3 + beq _08138388 + b _0813838C + .pool +_0813837C: + ldrb r0, [r1, 0x13] + movs r5, 0xEC + cmp r0, 0 + bne _0813839C + movs r5, 0xEB + b _0813839C +_08138388: + ldrb r0, [r1, 0x13] + b _08138394 +_0813838C: + subs r0, r2, r6 + lsls r0, 2 + adds r0, r4 + ldrb r0, [r0, 0x13] +_08138394: + movs r5, 0x69 + cmp r0, 0 + bne _0813839C + movs r5, 0x64 +_0813839C: + mov r0, sp + adds r0, r7 + adds r0, 0x8 + ldrb r1, [r0] + movs r4, 0xF0 + subs r4, r6 + lsls r4, 24 + lsrs r4, 24 + lsls r2, r7, 1 + mov r0, sp + adds r0, r2 + adds r0, 0xC + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + mov r3, r9 + lsls r3, 16 + asrs r3, 16 + mov r12, r3 + add r0, r12 + adds r3, r0, 0x7 + lsls r3, 16 + asrs r3, 16 + mov r12, r3 + mov r0, sp + adds r0, 0xD + adds r0, r2 + movs r2, 0 + ldrsb r2, [r0, r2] + mov r3, r8 + lsls r0, r3, 16 + asrs r0, 16 + adds r0, r2 + adds r0, 0x7 + lsls r0, 16 + asrs r0, 16 + str r0, [sp] + movs r0, 0 + str r0, [sp, 0x4] + adds r0, r5, 0 + adds r2, r4, 0 + mov r3, r12 + bl SpawnSpecialFieldObjectParametrized + adds r0, r5, 0 + adds r1, r4, 0 + adds r2, r6, 0 + bl sub_813842C + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0x4 + bne _0813840A + movs r7, 0 +_0813840A: + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 +_08138410: + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r6, r0 + bcc _08138358 + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end SpawnLinkPartnerFieldObject + + thumb_func_start sub_813842C +sub_813842C: @ 813842C + push {r4,r5,lr} + lsls r0, 24 + lsls r1, 24 + lsrs r3, r1, 24 + lsls r2, 24 + movs r1, 0xC0 + lsls r1, 19 + adds r2, r1 + lsrs r5, r2, 24 + lsrs r4, r0, 24 + movs r2, 0xA8 + lsls r2, 21 + adds r0, r2 + lsrs r0, 24 + cmp r0, 0x1 + bls _08138454 + cmp r4, 0x64 + beq _08138454 + cmp r4, 0x69 + bne _081384E6 +_08138454: + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrb r1, [r0, 0x5] + ldrb r2, [r0, 0x4] + adds r0, r3, 0 + bl GetFieldObjectIdByLocalIdAndMap + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x10 + beq _081384E6 + ldr r1, =gMapObjects + lsls r0, r2, 3 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0, 0x4] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + ldr r0, =gSprites + adds r1, r0 + lsls r3, r5, 4 + ldrb r2, [r1, 0x5] + movs r0, 0xF + ands r0, r2 + orrs r0, r3 + strb r0, [r1, 0x5] + cmp r4, 0x69 + beq _081384D8 + cmp r4, 0x69 + bgt _081384A8 + cmp r4, 0x64 + beq _081384C4 + b _081384E6 + .pool +_081384A8: + cmp r4, 0xEB + beq _081384B2 + cmp r4, 0xEC + beq _081384BC + b _081384E6 +_081384B2: + ldr r0, =gFieldObjectPalette33 + b _081384C6 + .pool +_081384BC: + ldr r0, =gFieldObjectPalette34 + b _081384C6 + .pool +_081384C4: + ldr r0, =gFieldObjectPalette8 +_081384C6: + movs r2, 0x80 + lsls r2, 1 + adds r1, r3, r2 + movs r2, 0x20 + bl LoadPalette + b _081384E6 + .pool +_081384D8: + ldr r0, =gFieldObjectPalette17 + movs r2, 0x80 + lsls r2, 1 + adds r1, r3, r2 + movs r2, 0x20 + bl LoadPalette +_081384E6: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813842C + + thumb_func_start MauvilleGymSpecial1 +MauvilleGymSpecial1: @ 81384F0 + push {r4,r5,lr} + movs r4, 0 + ldr r5, =gUnknown_085B2B68 +_081384F6: + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r4, r0 + bne _0813851C + lsls r1, r4, 2 + adds r1, r5 + ldrb r0, [r1] + ldrb r1, [r1, 0x1] + ldr r2, =0x00000206 + bl MapGridSetMetatileIdAt + b _0813852A + .pool +_0813851C: + lsls r1, r4, 2 + adds r1, r5 + ldrb r0, [r1] + ldrb r1, [r1, 0x1] + ldr r2, =0x00000205 + bl MapGridSetMetatileIdAt +_0813852A: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x3 + bls _081384F6 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end MauvilleGymSpecial1 + + thumb_func_start MauvilleGymSpecial2 +MauvilleGymSpecial2: @ 8138540 + push {r4-r6,lr} + movs r5, 0xC +_08138544: + movs r4, 0x7 + adds r6, r5, 0x1 +_08138548: + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridGetMetatileIdAt + ldr r1, =0xfffffde6 + adds r0, r1 + cmp r0, 0x37 + bls _0813855A + b _08138734 +_0813855A: + lsls r0, 2 + ldr r1, =_0813856C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0813856C: + .4byte _081386F2 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _0813864C + .4byte _08138652 + .4byte _0813868C + .4byte _08138694 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _0813865C + .4byte _08138662 + .4byte _0813869C + .4byte _081386A4 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _0813866C + .4byte _08138672 + .4byte _081386AC + .4byte _081386B4 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _0813867C + .4byte _08138684 + .4byte _081386BC + .4byte _081386C4 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _081386CC + .4byte _081386DC + .4byte _081386EC + .4byte _08138714 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _081386D4 + .4byte _081386E4 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _08138734 + .4byte _0813872A + .4byte _0813871C +_0813864C: + movs r2, 0x8C + lsls r2, 2 + b _08138720 +_08138652: + ldr r2, =0x00000231 + b _08138720 + .pool +_0813865C: + movs r2, 0x8E + lsls r2, 2 + b _08138720 +_08138662: + ldr r2, =0x00000239 + b _08138720 + .pool +_0813866C: + movs r2, 0x88 + lsls r2, 2 + b _08138720 +_08138672: + ldr r2, =0x00000221 + b _08138720 + .pool +_0813867C: + ldr r2, =0x00000e28 + b _08138720 + .pool +_08138684: + ldr r2, =0x00000e29 + b _08138720 + .pool +_0813868C: + ldr r2, =0x00000232 + b _08138720 + .pool +_08138694: + ldr r2, =0x00000233 + b _08138720 + .pool +_0813869C: + ldr r2, =0x0000023a + b _08138720 + .pool +_081386A4: + ldr r2, =0x0000023b + b _08138720 + .pool +_081386AC: + ldr r2, =0x00000222 + b _08138720 + .pool +_081386B4: + ldr r2, =0x00000223 + b _08138720 + .pool +_081386BC: + ldr r2, =0x00000e2a + b _08138720 + .pool +_081386C4: + ldr r2, =0x00000e2b + b _08138720 + .pool +_081386CC: + ldr r2, =0x00000e42 + b _08138720 + .pool +_081386D4: + ldr r2, =0x0000021a + b _08138720 + .pool +_081386DC: + ldr r2, =0x00000e43 + b _08138720 + .pool +_081386E4: + ldr r2, =0x0000021a + b _08138720 + .pool +_081386EC: + movs r2, 0xE4 + lsls r2, 4 + b _08138720 +_081386F2: + subs r1, r5, 0x1 + adds r0, r4, 0 + bl MapGridGetMetatileIdAt + movs r1, 0x90 + lsls r1, 2 + cmp r0, r1 + bne _0813870C + ldr r2, =0x00000e48 + b _08138720 + .pool +_0813870C: + ldr r2, =0x00000e49 + b _08138720 + .pool +_08138714: + ldr r2, =0x00000e41 + b _08138720 + .pool +_0813871C: + movs r2, 0xE5 + lsls r2, 4 +_08138720: + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridSetMetatileIdAt + b _08138734 +_0813872A: + ldr r2, =0x00000251 + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridSetMetatileIdAt +_08138734: + adds r4, 0x1 + cmp r4, 0xF + bgt _0813873C + b _08138548 +_0813873C: + adds r5, r6, 0 + cmp r5, 0x17 + bgt _08138744 + b _08138544 +_08138744: + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end MauvilleGymSpecial2 + + thumb_func_start MauvilleGymSpecial3 +MauvilleGymSpecial3: @ 8138750 + push {r4-r6,lr} + ldr r4, =gUnknown_085B2B68 + movs r5, 0x3 +_08138756: + ldrb r0, [r4] + ldrb r1, [r4, 0x1] + ldr r2, =0x00000206 + bl MapGridSetMetatileIdAt + adds r4, 0x4 + subs r5, 0x1 + cmp r5, 0 + bge _08138756 + movs r5, 0xC +_0813876A: + movs r4, 0x7 + adds r6, r5, 0x1 +_0813876E: + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridGetMetatileIdAt + ldr r1, =0xfffffde0 + adds r0, r1 + cmp r0, 0x30 + bls _08138780 + b _081388CA +_08138780: + lsls r0, 2 + ldr r1, =_0813879C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0813879C: + .4byte _08138860 + .4byte _08138866 + .4byte _08138880 + .4byte _08138888 + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _08138870 + .4byte _08138876 + .4byte _08138890 + .4byte _08138898 + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388A0 + .4byte _081388A8 + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388B0 + .4byte _081388B0 + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388CA + .4byte _081388C0 +_08138860: + movs r2, 0x8C + lsls r2, 2 + b _081388B2 +_08138866: + ldr r2, =0x00000231 + b _081388B2 + .pool +_08138870: + movs r2, 0x8E + lsls r2, 2 + b _081388B2 +_08138876: + ldr r2, =0x00000239 + b _081388B2 + .pool +_08138880: + ldr r2, =0x00000232 + b _081388B2 + .pool +_08138888: + ldr r2, =0x00000233 + b _081388B2 + .pool +_08138890: + ldr r2, =0x0000023a + b _081388B2 + .pool +_08138898: + ldr r2, =0x0000023b + b _081388B2 + .pool +_081388A0: + ldr r2, =0x00000e42 + b _081388B2 + .pool +_081388A8: + ldr r2, =0x00000e43 + b _081388B2 + .pool +_081388B0: + ldr r2, =0x0000021a +_081388B2: + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridSetMetatileIdAt + b _081388CA + .pool +_081388C0: + ldr r2, =0x00000251 + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridSetMetatileIdAt +_081388CA: + adds r4, 0x1 + cmp r4, 0xF + bgt _081388D2 + b _0813876E +_081388D2: + adds r5, r6, 0 + cmp r5, 0x17 + bgt _081388DA + b _0813876A +_081388DA: + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end MauvilleGymSpecial3 + + thumb_func_start PetalburgGymSpecial1 +PetalburgGymSpecial1: @ 81388E4 + push {lr} + ldr r0, =gUnknown_0203AB5C + movs r1, 0 + strb r1, [r0] + ldr r0, =gUnknown_0203AB5D + strb r1, [r0] + movs r0, 0x2C + bl PlaySE + ldr r0, =Task_PetalburgGym + movs r1, 0x8 + bl CreateTask + pop {r0} + bx r0 + .pool + thumb_func_end PetalburgGymSpecial1 + + thumb_func_start Task_PetalburgGym +Task_PetalburgGym: @ 8138910 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r0, =gUnknown_085B2B78 + ldr r5, =gUnknown_0203AB5D + ldrb r1, [r5] + adds r0, r1, r0 + ldr r4, =gUnknown_0203AB5C + ldrb r2, [r4] + ldrb r0, [r0] + cmp r0, r2 + bne _0813896C + ldr r0, =gSpecialVar_0x8004 + ldrb r0, [r0] + ldr r2, =gUnknown_085B2B7E + lsls r1, 1 + adds r1, r2 + ldrh r1, [r1] + bl PetalburgGymFunc + movs r0, 0 + strb r0, [r4] + ldrb r0, [r5] + adds r0, 0x1 + strb r0, [r5] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x5 + bne _08138970 + adds r0, r6, 0 + bl DestroyTask + bl EnableBothScriptContexts + b _08138970 + .pool +_0813896C: + adds r0, r2, 0x1 + strb r0, [r4] +_08138970: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end Task_PetalburgGym + + thumb_func_start PetalburgGymFunc +PetalburgGymFunc: @ 8138978 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x10 + lsls r0, 24 + lsrs r0, 24 + lsls r1, 16 + lsrs r2, r1, 16 + movs r7, 0 + subs r0, 0x1 + cmp r0, 0x7 + bhi _08138A40 + lsls r0, 2 + ldr r1, =_081389A0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081389A0: + .4byte _081389C0 + .4byte _081389D2 + .4byte _081389E4 + .4byte _081389F6 + .4byte _08138A04 + .4byte _08138A1A + .4byte _08138A26 + .4byte _08138A34 +_081389C0: + movs r7, 0x2 + mov r1, sp + movs r0, 0x1 + strh r0, [r1] + movs r0, 0x7 + strh r0, [r1, 0x2] + add r1, sp, 0x8 + movs r0, 0x68 + b _08138A14 +_081389D2: + movs r7, 0x2 + mov r1, sp + movs r0, 0x1 + strh r0, [r1] + movs r0, 0x7 + strh r0, [r1, 0x2] + add r1, sp, 0x8 + movs r0, 0x4E + b _08138A14 +_081389E4: + movs r7, 0x2 + mov r1, sp + movs r0, 0x1 + strh r0, [r1] + movs r0, 0x7 + strh r0, [r1, 0x2] + add r1, sp, 0x8 + movs r0, 0x5B + b _08138A14 +_081389F6: + movs r7, 0x1 + mov r1, sp + movs r0, 0x7 + strh r0, [r1] + add r1, sp, 0x8 + movs r0, 0x27 + b _08138A3E +_08138A04: + movs r7, 0x2 + mov r1, sp + movs r0, 0x1 + strh r0, [r1] + movs r0, 0x7 + strh r0, [r1, 0x2] + add r1, sp, 0x8 + movs r0, 0x34 +_08138A14: + strh r0, [r1] + strh r0, [r1, 0x2] + b _08138A40 +_08138A1A: + movs r7, 0x1 + mov r0, sp + strh r7, [r0] + add r1, sp, 0x8 + movs r0, 0x41 + b _08138A3E +_08138A26: + movs r7, 0x1 + mov r1, sp + movs r0, 0x7 + strh r0, [r1] + add r1, sp, 0x8 + movs r0, 0xD + b _08138A3E +_08138A34: + movs r7, 0x1 + mov r0, sp + strh r7, [r0] + add r1, sp, 0x8 + movs r0, 0x1A +_08138A3E: + strh r0, [r1] +_08138A40: + movs r6, 0 + cmp r6, r7 + bcs _08138A92 + movs r1, 0xC0 + lsls r1, 4 + adds r0, r1, 0 + adds r1, r2, 0 + orrs r1, r0 + lsls r1, 16 + mov r9, r1 + adds r1, r2, 0 + adds r1, 0x8 + orrs r1, r0 + lsls r1, 16 + mov r8, r1 +_08138A5E: + lsls r1, r6, 1 + mov r3, sp + adds r5, r3, r1 + ldrh r0, [r5] + adds r0, 0x7 + add r4, sp, 0x8 + adds r4, r1 + ldrh r1, [r4] + adds r1, 0x7 + mov r3, r9 + lsrs r2, r3, 16 + bl MapGridSetMetatileIdAt + ldrh r0, [r5] + adds r0, 0x7 + ldrh r1, [r4] + adds r1, 0x8 + mov r3, r8 + lsrs r2, r3, 16 + bl MapGridSetMetatileIdAt + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, r7 + bcc _08138A5E +_08138A92: + bl DrawWholeMapView + add sp, 0x10 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end PetalburgGymFunc + + thumb_func_start PetalburgGymSpecial2 +PetalburgGymSpecial2: @ 8138AA4 + push {lr} + ldr r0, =gSpecialVar_0x8004 + ldrb r0, [r0] + ldr r1, =gUnknown_085B2B7E + ldrh r1, [r1, 0x8] + bl PetalburgGymFunc + pop {r0} + bx r0 + .pool + thumb_func_end PetalburgGymSpecial2 + + thumb_func_start ShowFieldMessageStringVar4 +ShowFieldMessageStringVar4: @ 8138AC0 + push {lr} + ldr r0, =gStringVar4 + bl ShowFieldMessage + pop {r0} + bx r0 + .pool + thumb_func_end ShowFieldMessageStringVar4 + + thumb_func_start StorePlayerCoordsInVars +StorePlayerCoordsInVars: @ 8138AD0 + ldr r1, =gSpecialVar_0x8004 + ldr r0, =gSaveBlock1Ptr + ldr r2, [r0] + ldrh r0, [r2] + strh r0, [r1] + ldr r1, =gSpecialVar_0x8005 + ldrh r0, [r2, 0x2] + strh r0, [r1] + bx lr + .pool + thumb_func_end StorePlayerCoordsInVars + + thumb_func_start GetPlayerTrainerIdOnesDigit +GetPlayerTrainerIdOnesDigit: @ 8138AF0 + push {lr} + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldrb r1, [r0, 0xB] + lsls r1, 8 + ldrb r0, [r0, 0xA] + orrs r0, r1 + movs r1, 0xA + bl __umodsi3 + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .pool + thumb_func_end GetPlayerTrainerIdOnesDigit + + thumb_func_start GetPlayerBigGuyGirlString +GetPlayerBigGuyGirlString: @ 8138B10 + push {lr} + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldrb r0, [r0, 0x8] + cmp r0, 0 + bne _08138B34 + ldr r0, =gStringVar1 + ldr r1, =gText_BigGuy + bl StringCopy + b _08138B3C + .pool +_08138B34: + ldr r0, =gStringVar1 + ldr r1, =gText_BigGirl + bl StringCopy +_08138B3C: + pop {r0} + bx r0 + .pool + thumb_func_end GetPlayerBigGuyGirlString + + thumb_func_start GetRivalSonDaughterString +GetRivalSonDaughterString: @ 8138B48 + push {lr} + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldrb r0, [r0, 0x8] + cmp r0, 0 + bne _08138B6C + ldr r0, =gStringVar1 + ldr r1, =gText_Daughter + bl StringCopy + b _08138B74 + .pool +_08138B6C: + ldr r0, =gStringVar1 + ldr r1, =gText_Son + bl StringCopy +_08138B74: + pop {r0} + bx r0 + .pool + thumb_func_end GetRivalSonDaughterString + + thumb_func_start sub_8138B80 +sub_8138B80: @ 8138B80 + ldr r0, =gBattleOutcome + ldrb r0, [r0] + bx lr + .pool + thumb_func_end sub_8138B80 + + thumb_func_start CableCarWarp +CableCarWarp: @ 8138B8C + push {lr} + sub sp, 0x4 + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r0, 0 + beq _08138BB0 + movs r2, 0x1 + negs r2, r2 + movs r0, 0x4 + str r0, [sp] + movs r0, 0x13 + movs r1, 0 + movs r3, 0x6 + bl Overworld_SetWarpDestination + b _08138BC2 + .pool +_08138BB0: + movs r2, 0x1 + negs r2, r2 + movs r0, 0x4 + str r0, [sp] + movs r0, 0x13 + movs r1, 0x1 + movs r3, 0x6 + bl Overworld_SetWarpDestination +_08138BC2: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end CableCarWarp + + thumb_func_start SetFlagInVar +SetFlagInVar: @ 8138BC8 + push {lr} + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + bl FlagSet + pop {r0} + bx r0 + .pool + thumb_func_end SetFlagInVar + + thumb_func_start GetWeekCount +GetWeekCount: @ 8138BDC + push {lr} + ldr r0, =gLocalTime + movs r1, 0 + ldrsh r0, [r0, r1] + movs r1, 0x7 + bl __divsi3 + lsls r0, 16 + lsrs r0, 16 + ldr r1, =0x0000270f + cmp r0, r1 + bls _08138BF6 + adds r0, r1, 0 +_08138BF6: + pop {r1} + bx r1 + .pool + thumb_func_end GetWeekCount + + thumb_func_start GetLeadMonFriendshipScore +GetLeadMonFriendshipScore: @ 8138C04 + push {r4,lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r1, r0 + ldr r0, =gPlayerParty + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0x20 + bl GetMonData + cmp r0, 0xFF + bne _08138C2C + movs r0, 0x6 + b _08138C7E + .pool +_08138C2C: + adds r0, r4, 0 + movs r1, 0x20 + bl GetMonData + cmp r0, 0xC7 + bls _08138C3C + movs r0, 0x5 + b _08138C7E +_08138C3C: + adds r0, r4, 0 + movs r1, 0x20 + bl GetMonData + cmp r0, 0x95 + bls _08138C4C + movs r0, 0x4 + b _08138C7E +_08138C4C: + adds r0, r4, 0 + movs r1, 0x20 + bl GetMonData + cmp r0, 0x63 + bls _08138C5C + movs r0, 0x3 + b _08138C7E +_08138C5C: + adds r0, r4, 0 + movs r1, 0x20 + bl GetMonData + cmp r0, 0x31 + bls _08138C6C + movs r0, 0x2 + b _08138C7E +_08138C6C: + adds r0, r4, 0 + movs r1, 0x20 + bl GetMonData + cmp r0, 0 + bne _08138C7C + movs r0, 0 + b _08138C7E +_08138C7C: + movs r0, 0x1 +_08138C7E: + pop {r4} + pop {r1} + bx r1 + thumb_func_end GetLeadMonFriendshipScore + + thumb_func_start CB2_FieldShowRegionMap +CB2_FieldShowRegionMap: @ 8138C84 + push {lr} + ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music + bl sub_817018C + pop {r0} + bx r0 + .pool + thumb_func_end CB2_FieldShowRegionMap + + thumb_func_start FieldShowRegionMap +FieldShowRegionMap: @ 8138C94 + push {lr} + ldr r0, =CB2_FieldShowRegionMap + bl SetMainCallback2 + pop {r0} + bx r0 + .pool + thumb_func_end FieldShowRegionMap + + thumb_func_start DoPCTurnOnEffect +DoPCTurnOnEffect: @ 8138CA4 + push {r4,lr} + ldr r4, =Task_PCTurnOnEffect + adds r0, r4, 0 + bl FuncIsActiveTask + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08138CD8 + adds r0, r4, 0 + movs r1, 0x8 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r2, 0 + strh r2, [r1, 0x8] + strh r0, [r1, 0xA] + strh r2, [r1, 0xC] + strh r2, [r1, 0xE] + strh r2, [r1, 0x10] +_08138CD8: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end DoPCTurnOnEffect + + thumb_func_start Task_PCTurnOnEffect +Task_PCTurnOnEffect: @ 8138CE8 + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, =gTasks + adds r1, r0 + movs r2, 0x8 + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _08138D06 + adds r0, r1, 0 + bl PCTurnOnEffect_0 +_08138D06: + pop {r0} + bx r0 + .pool + thumb_func_end Task_PCTurnOnEffect + + thumb_func_start PCTurnOnEffect_0 +PCTurnOnEffect_0: @ 8138D10 + push {r4-r6,lr} + adds r4, r0, 0 + movs r6, 0 + movs r5, 0 + movs r1, 0xE + ldrsh r0, [r4, r1] + cmp r0, 0x6 + bne _08138D7C + strh r5, [r4, 0xE] + bl player_get_direction_lower_nybble + lsls r0, 24 + lsrs r0, 24 + adds r1, r0, 0 + cmp r0, 0x3 + beq _08138D44 + cmp r0, 0x3 + bgt _08138D3A + cmp r0, 0x2 + beq _08138D40 + b _08138D4C +_08138D3A: + cmp r1, 0x4 + beq _08138D48 + b _08138D4C +_08138D40: + movs r6, 0 + b _08138D4A +_08138D44: + movs r6, 0xFF + b _08138D4A +_08138D48: + movs r6, 0x1 +_08138D4A: + movs r5, 0xFF +_08138D4C: + movs r1, 0x10 + ldrsh r0, [r4, r1] + lsls r1, r6, 24 + asrs r1, 24 + lsls r2, r5, 24 + asrs r2, 24 + bl PCTurnOnEffect_1 + bl DrawWholeMapView + ldrh r0, [r4, 0x10] + movs r1, 0x1 + eors r0, r1 + strh r0, [r4, 0x10] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x5 + bne _08138D7C + ldrb r0, [r4, 0xA] + bl DestroyTask +_08138D7C: + ldrh r0, [r4, 0xE] + adds r0, 0x1 + strh r0, [r4, 0xE] + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end PCTurnOnEffect_0 + + thumb_func_start PCTurnOnEffect_1 +PCTurnOnEffect_1: @ 8138D88 + push {r4,r5,lr} + lsls r1, 24 + lsrs r1, 24 + lsls r2, 24 + lsrs r4, r2, 24 + movs r3, 0 + lsls r0, 16 + cmp r0, 0 + beq _08138DC4 + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r0, 0 + bne _08138DAC + movs r3, 0x4 + b _08138DE6 + .pool +_08138DAC: + cmp r0, 0x1 + bne _08138DB8 + ldr r3, =0x0000025a + b _08138DE6 + .pool +_08138DB8: + cmp r0, 0x2 + bne _08138DE6 + ldr r3, =0x00000259 + b _08138DE6 + .pool +_08138DC4: + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r0, 0 + bne _08138DD4 + movs r3, 0x5 + b _08138DE6 + .pool +_08138DD4: + cmp r0, 0x1 + bne _08138DE0 + ldr r3, =0x0000027f + b _08138DE6 + .pool +_08138DE0: + cmp r0, 0x2 + bne _08138DE6 + ldr r3, =0x0000027e +_08138DE6: + ldr r0, =gSaveBlock1Ptr + ldr r2, [r0] + movs r5, 0 + ldrsh r0, [r2, r5] + lsls r1, 24 + asrs r1, 24 + adds r0, r1 + adds r0, 0x7 + movs r5, 0x2 + ldrsh r1, [r2, r5] + lsls r2, r4, 24 + asrs r2, 24 + adds r1, r2 + adds r1, 0x7 + movs r4, 0xC0 + lsls r4, 4 + adds r2, r4, 0 + orrs r3, r2 + adds r2, r3, 0 + bl MapGridSetMetatileIdAt + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end PCTurnOnEffect_1 + + thumb_func_start DoPCTurnOffEffect +DoPCTurnOffEffect: @ 8138E20 + push {lr} + bl PCTurnOffEffect + pop {r0} + bx r0 + thumb_func_end DoPCTurnOffEffect + + thumb_func_start PCTurnOffEffect +PCTurnOffEffect: @ 8138E2C + push {r4-r6,lr} + movs r6, 0 + movs r5, 0 + movs r4, 0 + bl player_get_direction_lower_nybble + lsls r0, 24 + lsrs r0, 24 + adds r1, r0, 0 + cmp r0, 0x3 + beq _08138E56 + cmp r0, 0x3 + bgt _08138E4C + cmp r0, 0x2 + beq _08138E52 + b _08138E5E +_08138E4C: + cmp r1, 0x4 + beq _08138E5A + b _08138E5E +_08138E52: + movs r6, 0 + b _08138E5C +_08138E56: + movs r6, 0xFF + b _08138E5C +_08138E5A: + movs r6, 0x1 +_08138E5C: + movs r5, 0xFF +_08138E5E: + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r0, 0 + bne _08138E70 + movs r4, 0x4 + b _08138E82 + .pool +_08138E70: + cmp r0, 0x1 + bne _08138E7C + ldr r4, =0x0000025a + b _08138E82 + .pool +_08138E7C: + cmp r0, 0x2 + bne _08138E82 + ldr r4, =0x00000259 +_08138E82: + ldr r0, =gSaveBlock1Ptr + ldr r2, [r0] + movs r1, 0 + ldrsh r0, [r2, r1] + lsls r1, r6, 24 + asrs r1, 24 + adds r0, r1 + adds r0, 0x7 + movs r3, 0x2 + ldrsh r1, [r2, r3] + lsls r2, r5, 24 + asrs r2, 24 + adds r1, r2 + adds r1, 0x7 + movs r3, 0xC0 + lsls r3, 4 + adds r2, r3, 0 + orrs r4, r2 + adds r2, r4, 0 + bl MapGridSetMetatileIdAt + bl DrawWholeMapView + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end PCTurnOffEffect + + thumb_func_start DoLotteryCornerComputerEffect +DoLotteryCornerComputerEffect: @ 8138EC0 + push {r4,lr} + ldr r4, =Task_LotteryCornerComputerEffect + adds r0, r4, 0 + bl FuncIsActiveTask + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08138EF4 + adds r0, r4, 0 + movs r1, 0x8 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r2, 0 + strh r2, [r1, 0x8] + strh r0, [r1, 0xA] + strh r2, [r1, 0xC] + strh r2, [r1, 0xE] + strh r2, [r1, 0x10] +_08138EF4: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end DoLotteryCornerComputerEffect + + thumb_func_start Task_LotteryCornerComputerEffect +Task_LotteryCornerComputerEffect: @ 8138F04 + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, =gTasks + adds r1, r0 + movs r2, 0x8 + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _08138F22 + adds r0, r1, 0 + bl LotteryCornerComputerEffect +_08138F22: + pop {r0} + bx r0 + .pool + thumb_func_end Task_LotteryCornerComputerEffect + + thumb_func_start LotteryCornerComputerEffect +LotteryCornerComputerEffect: @ 8138F2C + push {r4,lr} + adds r4, r0, 0 + movs r1, 0xE + ldrsh r0, [r4, r1] + cmp r0, 0x6 + bne _08138F9A + movs r0, 0 + strh r0, [r4, 0xE] + movs r1, 0x10 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _08138F64 + ldr r2, =0x00000e9d + movs r0, 0x12 + movs r1, 0x8 + bl MapGridSetMetatileIdAt + ldr r2, =0x00000ea5 + movs r0, 0x12 + movs r1, 0x9 + bl MapGridSetMetatileIdAt + b _08138F7A + .pool +_08138F64: + ldr r2, =0x00000e58 + movs r0, 0x12 + movs r1, 0x8 + bl MapGridSetMetatileIdAt + movs r2, 0xE6 + lsls r2, 4 + movs r0, 0x12 + movs r1, 0x9 + bl MapGridSetMetatileIdAt +_08138F7A: + bl DrawWholeMapView + ldrh r0, [r4, 0x10] + movs r1, 0x1 + eors r0, r1 + strh r0, [r4, 0x10] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x5 + bne _08138F9A + ldrb r0, [r4, 0xA] + bl DestroyTask +_08138F9A: + ldrh r0, [r4, 0xE] + adds r0, 0x1 + strh r0, [r4, 0xE] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end LotteryCornerComputerEffect + + thumb_func_start EndLotteryCornerComputerEffect +EndLotteryCornerComputerEffect: @ 8138FAC + push {lr} + ldr r2, =0x00000e9d + movs r0, 0x12 + movs r1, 0x8 + bl MapGridSetMetatileIdAt + ldr r2, =0x00000ea5 + movs r0, 0x12 + movs r1, 0x9 + bl MapGridSetMetatileIdAt + bl DrawWholeMapView + pop {r0} + bx r0 + .pool + thumb_func_end EndLotteryCornerComputerEffect + + thumb_func_start SetTrickHouseEndRoomFlag +SetTrickHouseEndRoomFlag: @ 8138FD4 + push {lr} + ldr r1, =gSpecialVar_0x8004 + ldr r0, =0x000001f5 + strh r0, [r1] + bl FlagSet + pop {r0} + bx r0 + .pool + thumb_func_end SetTrickHouseEndRoomFlag + + thumb_func_start ResetTrickHouseEndRoomFlag +ResetTrickHouseEndRoomFlag: @ 8138FEC + push {lr} + ldr r1, =gSpecialVar_0x8004 + ldr r0, =0x000001f5 + strh r0, [r1] + bl FlagClear + pop {r0} + bx r0 + .pool + thumb_func_end ResetTrickHouseEndRoomFlag + + thumb_func_start CheckLeadMonCool +CheckLeadMonCool: @ 8139004 + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x16 + bl GetMonData + cmp r0, 0xC7 + bls _08139028 + movs r0, 0x1 + b _0813902A + .pool +_08139028: + movs r0, 0 +_0813902A: + pop {r1} + bx r1 + thumb_func_end CheckLeadMonCool + + thumb_func_start CheckLeadMonBeauty +CheckLeadMonBeauty: @ 8139030 + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x17 + bl GetMonData + cmp r0, 0xC7 + bls _08139054 + movs r0, 0x1 + b _08139056 + .pool +_08139054: + movs r0, 0 +_08139056: + pop {r1} + bx r1 + thumb_func_end CheckLeadMonBeauty + + thumb_func_start CheckLeadMonCute +CheckLeadMonCute: @ 813905C + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x18 + bl GetMonData + cmp r0, 0xC7 + bls _08139080 + movs r0, 0x1 + b _08139082 + .pool +_08139080: + movs r0, 0 +_08139082: + pop {r1} + bx r1 + thumb_func_end CheckLeadMonCute + + thumb_func_start CheckLeadMonSmart +CheckLeadMonSmart: @ 8139088 + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x21 + bl GetMonData + cmp r0, 0xC7 + bls _081390AC + movs r0, 0x1 + b _081390AE + .pool +_081390AC: + movs r0, 0 +_081390AE: + pop {r1} + bx r1 + thumb_func_end CheckLeadMonSmart + + thumb_func_start CheckLeadMonTough +CheckLeadMonTough: @ 81390B4 + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x2F + bl GetMonData + cmp r0, 0xC7 + bls _081390D8 + movs r0, 0x1 + b _081390DA + .pool +_081390D8: + movs r0, 0 +_081390DA: + pop {r1} + bx r1 + thumb_func_end CheckLeadMonTough + + thumb_func_start IsGrassTypeInParty +IsGrassTypeInParty: @ 81390E0 + push {r4-r6,lr} + movs r5, 0 + ldr r6, =gBaseStats +_081390E6: + movs r0, 0x64 + adds r1, r5, 0 + muls r1, r0 + ldr r0, =gPlayerParty + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0x5 + bl GetMonData + cmp r0, 0 + beq _0813913C + adds r0, r4, 0 + movs r1, 0x2D + bl GetMonData + cmp r0, 0 + bne _0813913C + adds r0, r4, 0 + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + lsls r1, r0, 3 + subs r1, r0 + lsls r1, 2 + adds r1, r6 + ldrb r0, [r1, 0x6] + cmp r0, 0xC + beq _08139128 + ldrb r0, [r1, 0x7] + cmp r0, 0xC + bne _0813913C +_08139128: + ldr r1, =gSpecialVar_Result + movs r0, 0x1 + b _0813914A + .pool +_0813913C: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x5 + bls _081390E6 + ldr r1, =gSpecialVar_Result + movs r0, 0 +_0813914A: + strh r0, [r1] + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end IsGrassTypeInParty + + thumb_func_start SpawnScriptFieldObject +SpawnScriptFieldObject: @ 8139158 + push {lr} + sub sp, 0x8 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrh r3, [r0] + adds r3, 0x7 + lsls r3, 16 + asrs r3, 16 + ldrh r0, [r0, 0x2] + adds r0, 0x7 + lsls r0, 16 + asrs r0, 16 + str r0, [sp] + movs r0, 0x3 + str r0, [sp, 0x4] + movs r0, 0x7 + movs r1, 0x8 + movs r2, 0x7F + bl SpawnSpecialFieldObjectParametrized + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gMapObjects + lsls r1, r0, 3 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldrb r0, [r1, 0x1] + movs r2, 0x20 + orrs r0, r2 + strb r0, [r1, 0x1] + ldrb r0, [r1, 0x4] + bl CameraObjectSetFollowedObjectId + add sp, 0x8 + pop {r0} + bx r0 + .pool + thumb_func_end SpawnScriptFieldObject + + thumb_func_start RemoveScriptFieldObject +RemoveScriptFieldObject: @ 81391AC + push {lr} + bl GetPlayerAvatarObjectId + lsls r0, 24 + lsrs r0, 24 + bl CameraObjectSetFollowedObjectId + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrb r1, [r0, 0x5] + ldrb r2, [r0, 0x4] + movs r0, 0x7F + bl RemoveFieldObjectByLocalIdAndMap + pop {r0} + bx r0 + .pool + thumb_func_end RemoveScriptFieldObject + + thumb_func_start GetPokeblockNameByMonNature +GetPokeblockNameByMonNature: @ 81391D0 + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + bl GetNature + lsls r0, 24 + lsrs r0, 24 + ldr r1, =gStringVar1 + bl CopyMonFavoritePokeblockName + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .pool + thumb_func_end GetPokeblockNameByMonNature + + thumb_func_start GetSecretBaseNearbyMapName +GetSecretBaseNearbyMapName: @ 8139200 + push {r4,lr} + ldr r4, =gStringVar1 + ldr r0, =0x00004026 + bl VarGet + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + adds r0, r4, 0 + movs r2, 0 + bl GetMapName + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end GetSecretBaseNearbyMapName + + thumb_func_start sub_8139228 +sub_8139228: @ 8139228 + push {lr} + movs r0, 0x20 + bl GetGameStat + lsls r0, 16 + lsrs r0, 16 + pop {r1} + bx r1 + thumb_func_end sub_8139228 + + thumb_func_start sub_8139238 +sub_8139238: @ 8139238 + push {lr} + ldr r0, =gStringVar1 + bl GetEreaderTrainerName + pop {r0} + bx r0 + .pool + thumb_func_end sub_8139238 + + thumb_func_start sub_8139248 +sub_8139248: @ 8139248 + push {r4,r5,lr} + ldr r0, =gSaveBlock1Ptr + ldr r2, [r0] + ldr r1, =0x00002e68 + adds r0, r2, r1 + ldrb r1, [r0] + lsls r1, 25 + ldr r0, =0x00002e6a + adds r2, r0 + lsrs r1, 25 + ldrh r2, [r2] + adds r1, r2 + ldr r2, =gUnknown_085B2B88 + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + adds r0, r2 + ldrb r0, [r0] + adds r5, r1, r0 + movs r0, 0x2 + bl GetPriceReduction + lsls r0, 24 + cmp r0, 0 + bne _08139294 + ldr r4, =gUnknown_085B2B94 + b _08139296 + .pool +_08139294: + ldr r4, =gUnknown_085B2BA0 +_08139296: + adds r0, r5, 0 + movs r1, 0xC + bl __umodsi3 + adds r0, r4 + ldrb r0, [r0] + pop {r4,r5} + pop {r1} + bx r1 + .pool + thumb_func_end sub_8139248 + + thumb_func_start sub_81392AC +sub_81392AC: @ 81392AC + push {lr} + ldr r1, =gSpecialVar_0x8004 + ldr r0, =0x00000213 + strh r0, [r1] + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _081392CC + movs r0, 0x1 + b _081392CE + .pool +_081392CC: + movs r0, 0 +_081392CE: + pop {r1} + bx r1 + thumb_func_end sub_81392AC + + thumb_func_start sub_81392D4 +sub_81392D4: @ 81392D4 + push {lr} + ldr r1, =gSpecialVar_0x8004 + movs r0, 0x85 + lsls r0, 2 + strh r0, [r1] + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _081392F0 + movs r0, 0x1 + b _081392F2 + .pool +_081392F0: + movs r0, 0 +_081392F2: + pop {r1} + bx r1 + thumb_func_end sub_81392D4 + + thumb_func_start sub_81392F8 +sub_81392F8: @ 81392F8 + push {lr} + ldr r1, =gSpecialVar_0x8004 + ldr r0, =0x00000215 + strh r0, [r1] + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _08139318 + movs r0, 0x1 + b _0813931A + .pool +_08139318: + movs r0, 0 +_0813931A: + pop {r1} + bx r1 + thumb_func_end sub_81392F8 + + thumb_func_start sub_8139320 +sub_8139320: @ 8139320 + push {lr} + ldr r1, =gSpecialVar_0x8004 + ldr r0, =0x00000216 + strh r0, [r1] + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _08139340 + movs r0, 0x1 + b _08139342 + .pool +_08139340: + movs r0, 0 +_08139342: + pop {r1} + bx r1 + thumb_func_end sub_8139320 + + thumb_func_start LeadMonHasEffortRibbon +LeadMonHasEffortRibbon: @ 8139348 + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x47 + movs r2, 0 + bl GetMonData + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .pool + thumb_func_end LeadMonHasEffortRibbon + + thumb_func_start GiveLeadMonEffortRibbon +GiveLeadMonEffortRibbon: @ 8139370 + push {r4,lr} + sub sp, 0x4 + movs r0, 0x2A + bl IncrementGameStat + ldr r0, =0x0000089b + bl FlagSet + movs r1, 0x1 + mov r0, sp + strb r1, [r0] + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r1, r0 + ldr r0, =gPlayerParty + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0x47 + mov r2, sp + bl SetMonData + adds r0, r4, 0 + bl GetRibbonCount + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x4 + bls _081393B6 + adds r0, r4, 0 + movs r1, 0x47 + bl sub_80EE4DC +_081393B6: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end GiveLeadMonEffortRibbon + + thumb_func_start Special_AreLeadMonEVsMaxedOut +Special_AreLeadMonEVsMaxedOut: @ 81393C8 + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + bl GetMonEVCount + lsls r0, 16 + ldr r1, =0x01fd0000 + cmp r0, r1 + bhi _081393F4 + movs r0, 0 + b _081393F6 + .pool +_081393F4: + movs r0, 0x1 +_081393F6: + pop {r1} + bx r1 + thumb_func_end Special_AreLeadMonEVsMaxedOut + + thumb_func_start sub_81393FC +sub_81393FC: @ 81393FC + push {lr} + movs r0, 0xC7 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + bne _08139454 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrh r1, [r0, 0x4] + movs r0, 0x83 + lsls r0, 3 + cmp r1, r0 + bne _08139454 + subs r0, 0x75 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _08139434 + ldr r0, =0x0000409a + movs r1, 0x4 + b _08139446 + .pool +_08139434: + movs r0, 0xE9 + lsls r0, 2 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _08139454 + ldr r0, =0x0000409a + movs r1, 0x5 +_08139446: + bl VarSet + movs r0, 0x1 + b _08139456 + .pool +_08139454: + movs r0, 0 +_08139456: + pop {r1} + bx r1 + thumb_func_end sub_81393FC + + thumb_func_start SetShoalItemFlag +SetShoalItemFlag: @ 813945C + push {lr} + ldr r0, =0x000008bf + bl FlagSet + pop {r0} + bx r0 + .pool + thumb_func_end SetShoalItemFlag + + thumb_func_start PutZigzagoonInPlayerParty +PutZigzagoonInPlayerParty: @ 813946C + push {r4,r5,lr} + sub sp, 0x14 + ldr r5, =gPlayerParty + movs r1, 0x90 + lsls r1, 1 + movs r4, 0 + str r4, [sp] + str r4, [sp, 0x4] + str r4, [sp, 0x8] + str r4, [sp, 0xC] + adds r0, r5, 0 + movs r2, 0x7 + movs r3, 0x20 + bl CreateMon + movs r1, 0x1 + add r0, sp, 0x10 + strh r1, [r0] + adds r0, r5, 0 + movs r1, 0x2E + add r2, sp, 0x10 + bl SetMonData + add r1, sp, 0x10 + movs r0, 0x21 + strh r0, [r1] + adds r0, r5, 0 + movs r1, 0xD + add r2, sp, 0x10 + bl SetMonData + add r0, sp, 0x10 + strh r4, [r0] + adds r0, r5, 0 + movs r1, 0xE + add r2, sp, 0x10 + bl SetMonData + adds r0, r5, 0 + movs r1, 0xF + add r2, sp, 0x10 + bl SetMonData + adds r0, r5, 0 + movs r1, 0x10 + add r2, sp, 0x10 + bl SetMonData + add sp, 0x14 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end PutZigzagoonInPlayerParty + + thumb_func_start IsStarterInParty +IsStarterInParty: @ 81394D8 + push {r4-r6,lr} + ldr r0, =0x00004023 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + bl GetStarterPokemon + lsls r0, 16 + lsrs r6, r0, 16 + bl CalculatePlayerPartyCount + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + cmp r4, r5 + bcs _08139526 +_081394FA: + movs r0, 0x64 + muls r0, r4 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x41 + movs r2, 0 + bl GetMonData + cmp r0, r6 + bne _0813951C + movs r0, 0x1 + b _08139528 + .pool +_0813951C: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, r5 + bcc _081394FA +_08139526: + movs r0, 0 +_08139528: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end IsStarterInParty + + thumb_func_start ScriptCheckFreePokemonStorageSpace +ScriptCheckFreePokemonStorageSpace: @ 8139530 + push {lr} + bl CheckFreePokemonStorageSpace + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end ScriptCheckFreePokemonStorageSpace + + thumb_func_start IsPokerusInParty +IsPokerusInParty: @ 8139540 + push {lr} + ldr r0, =gPlayerParty + movs r1, 0x3F + bl CheckPartyPokerus + lsls r0, 24 + cmp r0, 0 + beq _08139558 + movs r0, 0x1 + b _0813955A + .pool +_08139558: + movs r0, 0 +_0813955A: + pop {r1} + bx r1 + thumb_func_end IsPokerusInParty + + thumb_func_start sub_8139560 +sub_8139560: @ 8139560 + push {lr} + ldr r0, =sub_81395BC + movs r1, 0x9 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r0, =gSpecialVar_0x8005 + ldrh r0, [r0] + movs r2, 0 + strh r0, [r1, 0x8] + strh r2, [r1, 0xA] + ldr r0, =gSpecialVar_0x8006 + ldrh r0, [r0] + strh r0, [r1, 0xC] + ldr r0, =gSpecialVar_0x8007 + ldrh r0, [r0] + strh r0, [r1, 0xE] + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + strh r0, [r1, 0x10] + movs r0, 0 + bl SetCameraPanningCallback + movs r0, 0xD6 + bl PlaySE + pop {r0} + bx r0 + .pool + thumb_func_end sub_8139560 + + thumb_func_start sub_81395BC +sub_81395BC: @ 81395BC + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, =gTasks + 0x8 + adds r4, r0, r1 + ldrh r0, [r4, 0x2] + adds r0, 0x1 + strh r0, [r4, 0x2] + movs r1, 0x2 + ldrsh r0, [r4, r1] + movs r2, 0x6 + ldrsh r1, [r4, r2] + bl __modsi3 + cmp r0, 0 + bne _08139614 + strh r0, [r4, 0x2] + ldrh r0, [r4, 0x4] + subs r0, 0x1 + strh r0, [r4, 0x4] + ldrh r0, [r4] + negs r0, r0 + strh r0, [r4] + ldrh r0, [r4, 0x8] + negs r0, r0 + strh r0, [r4, 0x8] + movs r1, 0 + ldrsh r0, [r4, r1] + movs r2, 0x8 + ldrsh r1, [r4, r2] + bl SetCameraPanning + movs r1, 0x4 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _08139614 + adds r0, r5, 0 + bl sub_8139620 + bl InstallCameraPanAheadCallback +_08139614: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81395BC + + thumb_func_start sub_8139620 +sub_8139620: @ 8139620 + push {lr} + lsls r0, 24 + lsrs r0, 24 + bl DestroyTask + bl EnableBothScriptContexts + pop {r0} + bx r0 + thumb_func_end sub_8139620 + + thumb_func_start sub_8139634 +sub_8139634: @ 8139634 + push {lr} + movs r0, 0x95 + lsls r0, 2 + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end sub_8139634 + + thumb_func_start SetRoute119Weather +SetRoute119Weather: @ 8139648 + push {lr} + bl get_map_light_from_warp0 + lsls r0, 24 + lsrs r0, 24 + bl is_light_level_1_2_3_5_or_6 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08139664 + movs r0, 0x14 + bl SetSav1Weather +_08139664: + pop {r0} + bx r0 + thumb_func_end SetRoute119Weather + + thumb_func_start SetRoute123Weather +SetRoute123Weather: @ 8139668 + push {lr} + bl get_map_light_from_warp0 + lsls r0, 24 + lsrs r0, 24 + bl is_light_level_1_2_3_5_or_6 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08139684 + movs r0, 0x15 + bl SetSav1Weather +_08139684: + pop {r0} + bx r0 + thumb_func_end SetRoute123Weather + + thumb_func_start GetLeadMonIndex +GetLeadMonIndex: @ 8139688 + push {r4-r6,lr} + bl CalculatePlayerPartyCount + lsls r0, 24 + lsrs r6, r0, 24 + movs r5, 0 + cmp r5, r6 + bcs _081396D6 +_08139698: + movs r0, 0x64 + adds r1, r5, 0 + muls r1, r0 + ldr r0, =gPlayerParty + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0x41 + movs r2, 0 + bl GetMonData + movs r1, 0xCE + lsls r1, 1 + cmp r0, r1 + beq _081396CC + adds r0, r4, 0 + movs r1, 0x41 + movs r2, 0 + bl GetMonData + cmp r0, 0 + beq _081396CC + adds r0, r5, 0 + b _081396D8 + .pool +_081396CC: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, r6 + bcc _08139698 +_081396D6: + movs r0, 0 +_081396D8: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end GetLeadMonIndex + + thumb_func_start ScriptGetPartyMonSpecies +ScriptGetPartyMonSpecies: @ 81396E0 + push {lr} + ldr r0, =gSpecialVar_0x8004 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x41 + movs r2, 0 + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + pop {r1} + bx r1 + .pool + thumb_func_end ScriptGetPartyMonSpecies + + thumb_func_start nullsub_54 +nullsub_54: @ 8139708 + bx lr + thumb_func_end nullsub_54 + + thumb_func_start sub_813970C +sub_813970C: @ 813970C + push {r4,lr} + ldr r0, =0x000040c2 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + adds r3, r0, 0 + ldr r2, =gLocalTime + movs r1, 0 + ldrsh r0, [r2, r1] + subs r0, r3 + cmp r0, 0x6 + ble _08139734 + movs r0, 0 + b _0813974C + .pool +_08139734: + ldrh r1, [r2] + movs r4, 0 + ldrsh r0, [r2, r4] + cmp r0, 0 + blt _0813974A + subs r1, r3 + movs r0, 0x7 + subs r0, r1 + lsls r0, 16 + lsrs r0, 16 + b _0813974C +_0813974A: + movs r0, 0x8 +_0813974C: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_813970C + + thumb_func_start sub_8139754 +sub_8139754: @ 8139754 + push {r4,lr} + ldr r0, =0x000040c2 + ldr r4, =gLocalTime + ldrh r1, [r4] + bl VarSet + ldrh r0, [r4] + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_8139754 + + thumb_func_start sub_8139770 +sub_8139770: @ 8139770 + push {r4-r6,lr} + ldr r6, =gSpecialVar_0x8004 + ldrh r0, [r6] + movs r5, 0x64 + muls r0, r5 + ldr r4, =gPlayerParty + adds r0, r4 + movs r1, 0x3 + bl GetMonData + cmp r0, 0x2 + bne _081397A6 + ldrh r0, [r6] + muls r0, r5 + adds r0, r4 + ldr r4, =gStringVar1 + movs r1, 0x7 + adds r2, r4, 0 + bl GetMonData + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + adds r1, r4, 0 + bl StringCompare + cmp r0, 0 + beq _081397BC +_081397A6: + movs r0, 0x1 + b _081397BE + .pool +_081397BC: + movs r0, 0 +_081397BE: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8139770 + + thumb_func_start sub_81397C4 +sub_81397C4: @ 81397C4 + push {r4,r5,lr} + ldr r2, =gSpecialVar_Result + ldrh r1, [r2] + ldr r0, =0x0000270f + cmp r1, r0 + bls _081397E0 + movs r0, 0 + bl TV_PrintIntToStringVar + b _08139862 + .pool +_081397E0: + ldr r0, =0x000003e7 + cmp r1, r0 + bls _081397F8 + ldr r4, =gStringVar1 + movs r0, 0xA1 + strb r0, [r4] + adds r4, 0x1 + b _0813981C + .pool +_081397F8: + cmp r1, 0x63 + bls _0813980C + ldr r4, =gStringVar1 + movs r0, 0xA1 + strb r0, [r4] + strb r0, [r4, 0x1] + adds r4, 0x2 + b _0813981C + .pool +_0813980C: + cmp r1, 0x9 + bls _0813983C + ldr r4, =gStringVar1 + movs r0, 0xA1 + strb r0, [r4] + strb r0, [r4, 0x1] + strb r0, [r4, 0x2] + adds r4, 0x3 +_0813981C: + ldrh r5, [r2] + adds r0, r5, 0 + bl sub_80EF370 + adds r3, r0, 0 + lsls r3, 24 + lsrs r3, 24 + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0 + bl ConvertIntToDecimalStringN + b _08139862 + .pool +_0813983C: + ldr r4, =gStringVar1 + movs r0, 0xA1 + strb r0, [r4] + strb r0, [r4, 0x1] + strb r0, [r4, 0x2] + strb r0, [r4, 0x3] + adds r4, 0x4 + ldrh r5, [r2] + adds r0, r5, 0 + bl sub_80EF370 + adds r3, r0, 0 + lsls r3, 24 + lsrs r3, 24 + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0 + bl ConvertIntToDecimalStringN +_08139862: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81397C4 + + thumb_func_start sub_813986C +sub_813986C: @ 813986C + push {lr} + ldr r0, =gSpecialVar_Result + ldrh r0, [r0] + cmp r0, 0x4 + bhi _081398B8 + lsls r0, 2 + ldr r1, =_08139888 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_08139888: + .4byte _0813989C + .4byte _081398A0 + .4byte _081398A4 + .4byte _081398A8 + .4byte _081398AC +_0813989C: + movs r0, 0x3 + b _081398AE +_081398A0: + movs r0, 0x4 + b _081398AE +_081398A4: + movs r0, 0 + b _081398AE +_081398A8: + movs r0, 0x1 + b _081398AE +_081398AC: + movs r0, 0x2 +_081398AE: + bl mevent_081445C0 + lsls r0, 16 + lsrs r0, 16 + b _081398BA +_081398B8: + movs r0, 0 +_081398BA: + pop {r1} + bx r1 + thumb_func_end sub_813986C + + thumb_func_start sub_81398C0 +sub_81398C0: @ 81398C0 + push {r4,lr} + ldr r1, =gSpecialVar_0x8004 + ldr r2, =0xfffffedf + adds r0, r2, 0 + ldrh r2, [r1] + adds r0, r2 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x39 + bls _081398E0 + movs r0, 0 + b _081398FC + .pool +_081398E0: + ldr r4, =gStringVar2 + ldrh r0, [r1] + bl ItemIdToBattleMoveId + lsls r0, 16 + lsrs r0, 16 + movs r1, 0xD + muls r1, r0 + ldr r0, =gMoveNames + adds r1, r0 + adds r0, r4, 0 + bl StringCopy + movs r0, 0x1 +_081398FC: + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_81398C0 + + thumb_func_start sub_813990C +sub_813990C: @ 813990C + push {r4,r5,lr} + bl CalculatePlayerPartyCount + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + cmp r4, r5 + bcs _08139942 +_0813991C: + movs r0, 0x64 + muls r0, r4 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x4 + bl GetMonData + cmp r0, 0x1 + bne _08139938 + movs r0, 0x1 + b _08139944 + .pool +_08139938: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, r5 + bcc _0813991C +_08139942: + movs r0, 0 +_08139944: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_813990C + + thumb_func_start InMultiBattleRoom +InMultiBattleRoom: @ 813994C + push {lr} + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrh r1, [r0, 0x4] + ldr r0, =0x00000f1a + cmp r1, r0 + bne _08139978 + ldr r0, =0x000040ce + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x2 + bne _08139978 + movs r0, 0x1 + b _0813997A + .pool +_08139978: + movs r0, 0 +_0813997A: + pop {r1} + bx r1 + thumb_func_end InMultiBattleRoom + + thumb_func_start sub_8139980 +sub_8139980: @ 8139980 + push {lr} + movs r0, 0 + bl SetCameraPanningCallback + movs r0, 0x8 + movs r1, 0 + bl SetCameraPanning + pop {r0} + bx r0 + thumb_func_end sub_8139980 + + thumb_func_start sub_8139994 +sub_8139994: @ 8139994 + push {lr} + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrb r0, [r0, 0x15] + subs r0, 0x10 + lsls r0, 24 + asrs r0, 24 + cmp r0, 0x5 + bhi _081399E4 + lsls r0, 2 + ldr r1, =_081399B8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081399B8: + .4byte _081399E4 + .4byte _081399D0 + .4byte _081399D4 + .4byte _081399D8 + .4byte _081399DC + .4byte _081399E0 +_081399D0: + movs r1, 0x5 + b _081399E6 +_081399D4: + movs r1, 0x6 + b _081399E6 +_081399D8: + movs r1, 0x7 + b _081399E6 +_081399DC: + movs r1, 0x8 + b _081399E6 +_081399E0: + movs r1, 0xF + b _081399E6 +_081399E4: + movs r1, 0x4 +_081399E6: + ldr r0, =0x00004043 + bl VarSet + pop {r0} + bx r0 + .pool + thumb_func_end sub_8139994 + + thumb_func_start sub_81399F4 +sub_81399F4: @ 81399F4 + push {r4,lr} + ldr r2, =gUnknown_0203AB60 + movs r0, 0 + strh r0, [r2] + ldr r1, =gUnknown_0203AB62 + strh r0, [r1] + ldr r0, =gSaveBlock1Ptr + ldr r3, [r0] + movs r0, 0x14 + ldrsb r0, [r3, r0] + adds r4, r1, 0 + cmp r0, 0xD + bne _08139A6E + ldrb r0, [r3, 0x15] + subs r0, 0x10 + lsls r0, 24 + asrs r0, 24 + cmp r0, 0x4 + bhi _08139A6E + lsls r0, 2 + ldr r1, =_08139A34 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_08139A34: + .4byte _08139A66 + .4byte _08139A5E + .4byte _08139A56 + .4byte _08139A4E + .4byte _08139A48 +_08139A48: + movs r0, 0 + strh r0, [r2] + b _08139A6C +_08139A4E: + movs r0, 0 + strh r0, [r2] + movs r0, 0x1 + b _08139A6C +_08139A56: + movs r0, 0 + strh r0, [r2] + movs r0, 0x2 + b _08139A6C +_08139A5E: + movs r0, 0 + strh r0, [r2] + movs r0, 0x3 + b _08139A6C +_08139A66: + movs r0, 0 + strh r0, [r2] + movs r0, 0x4 +_08139A6C: + strh r0, [r4] +_08139A6E: + ldrh r0, [r4] + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81399F4 + + thumb_func_start sub_8139A78 +sub_8139A78: @ 8139A78 + push {r4-r6,lr} + ldr r0, =sub_8139AF4 + movs r1, 0x9 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, =gTasks + 0x8 + adds r4, r1, r0 + movs r3, 0 + strh r3, [r4, 0x2] + strh r3, [r4, 0x4] + movs r6, 0x1 + strh r6, [r4, 0x8] + ldr r0, =gSpecialVar_0x8005 + ldr r1, =gSpecialVar_0x8006 + ldrh r2, [r0] + ldrh r0, [r1] + cmp r2, r0 + bls _08139AC0 + subs r0, r2, r0 + lsls r0, 16 + lsrs r5, r0, 16 + strh r6, [r4, 0xC] + b _08139AC8 + .pool +_08139AC0: + subs r0, r2 + lsls r0, 16 + lsrs r5, r0, 16 + strh r3, [r4, 0xC] +_08139AC8: + cmp r5, 0x8 + bls _08139ACE + movs r5, 0x8 +_08139ACE: + ldr r0, =gUnknown_085B2C18 + adds r0, r5, r0 + ldrb r0, [r0] + strh r0, [r4, 0xA] + movs r0, 0 + bl SetCameraPanningCallback + ldrb r1, [r4, 0xC] + adds r0, r5, 0 + bl sub_8139C2C + movs r0, 0x59 + bl PlaySE + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8139A78 + + thumb_func_start sub_8139AF4 +sub_8139AF4: @ 8139AF4 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, =gTasks + 0x8 + adds r4, r0, r1 + ldrh r0, [r4, 0x2] + adds r0, 0x1 + strh r0, [r4, 0x2] + movs r1, 0x2 + ldrsh r0, [r4, r1] + movs r1, 0x3 + bl __modsi3 + lsls r0, 16 + asrs r0, 16 + cmp r0, 0 + bne _08139B54 + strh r0, [r4, 0x2] + ldrh r0, [r4, 0x4] + adds r0, 0x1 + strh r0, [r4, 0x4] + ldrh r0, [r4, 0x8] + negs r0, r0 + strh r0, [r4, 0x8] + movs r2, 0x8 + ldrsh r1, [r4, r2] + movs r0, 0 + bl SetCameraPanning + movs r0, 0x4 + ldrsh r1, [r4, r0] + movs r2, 0xA + ldrsh r0, [r4, r2] + cmp r1, r0 + bne _08139B54 + movs r0, 0x49 + bl PlaySE + adds r0, r5, 0 + bl DestroyTask + bl EnableBothScriptContexts + bl InstallCameraPanAheadCallback +_08139B54: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8139AF4 + + thumb_func_start sub_8139B60 +sub_8139B60: @ 8139B60 + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + sub sp, 0xC + ldr r5, =gUnknown_0203AB5E + ldr r0, =gUnknown_085B2BAC + bl AddWindow + strb r0, [r5] + ldrb r0, [r5] + movs r1, 0 + bl SetStandardWindowBorderStyle + ldr r4, =gText_ElevatorNowOn + movs r0, 0x1 + adds r1, r4, 0 + movs r2, 0x40 + bl GetStringCenterAlignXOffset + adds r3, r0, 0 + ldrb r0, [r5] + lsls r3, 24 + lsrs r3, 24 + movs r1, 0x1 + str r1, [sp] + movs r1, 0xFF + mov r9, r1 + str r1, [sp, 0x4] + movs r1, 0 + mov r8, r1 + str r1, [sp, 0x8] + movs r1, 0x1 + adds r2, r4, 0 + bl PrintTextOnWindow + ldr r6, =gElevatorFloorsTable + ldr r4, =gSpecialVar_0x8005 + ldrh r0, [r4] + lsls r0, 2 + adds r0, r6 + ldr r1, [r0] + movs r0, 0x1 + movs r2, 0x40 + bl GetStringCenterAlignXOffset + adds r3, r0, 0 + ldrb r0, [r5] + ldrh r1, [r4] + lsls r1, 2 + adds r1, r6 + ldr r2, [r1] + lsls r3, 24 + lsrs r3, 24 + movs r1, 0x11 + str r1, [sp] + mov r1, r9 + str r1, [sp, 0x4] + mov r1, r8 + str r1, [sp, 0x8] + movs r1, 0x1 + bl PrintTextOnWindow + ldrb r0, [r5] + bl PutWindowTilemap + ldrb r0, [r5] + movs r1, 0x3 + bl CopyWindowToVram + add sp, 0xC + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8139B60 + + thumb_func_start sub_8139C10 +sub_8139C10: @ 8139C10 + push {r4,lr} + ldr r4, =gUnknown_0203AB5E + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8198070 + ldrb r0, [r4] + bl RemoveWindow + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8139C10 + + thumb_func_start sub_8139C2C +sub_8139C2C: @ 8139C2C + push {r4-r6,lr} + lsls r0, 16 + lsrs r6, r0, 16 + lsls r1, 24 + lsrs r5, r1, 24 + ldr r4, =sub_8139C80 + adds r0, r4, 0 + bl FuncIsActiveTask + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08139C6C + adds r0, r4, 0 + movs r1, 0x8 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r0, 0 + strh r0, [r1, 0x8] + strh r0, [r1, 0xA] + strh r5, [r1, 0xC] + ldr r0, =gUnknown_085B2C21 + adds r0, r6, r0 + ldrb r0, [r0] + strh r0, [r1, 0xE] +_08139C6C: + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8139C2C + + thumb_func_start sub_8139C80 +sub_8139C80: @ 8139C80 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + str r0, [sp] + lsls r0, 2 + ldr r1, [sp] + adds r0, r1 + lsls r0, 3 + ldr r1, =gTasks + 0x8 + adds r6, r0, r1 + movs r2, 0x2 + ldrsh r0, [r6, r2] + cmp r0, 0x6 + bne _08139D7C + ldrh r0, [r6] + adds r0, 0x1 + strh r0, [r6] + movs r1, 0x4 + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _08139D10 + movs r1, 0 + ldr r2, =gUnknown_085B2BF4 + mov r10, r2 +_08139CBA: + movs r5, 0 + adds r7, r1, 0x7 + lsls r0, r1, 1 + adds r2, r1, 0x1 + mov r8, r2 + adds r0, r1 + lsls r0, 1 + mov r9, r0 +_08139CCA: + adds r4, r5, 0 + adds r4, 0x8 + movs r1, 0 + ldrsh r0, [r6, r1] + movs r1, 0x3 + bl __modsi3 + lsls r0, 16 + asrs r0, 15 + add r0, r9 + add r0, r10 + ldrh r0, [r0] + movs r1, 0xC0 + lsls r1, 4 + adds r2, r1, 0 + orrs r2, r0 + adds r0, r4, 0 + adds r1, r7, 0 + bl MapGridSetMetatileIdAt + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x2 + bls _08139CCA + mov r2, r8 + lsls r0, r2, 24 + lsrs r1, r0, 24 + cmp r1, 0x2 + bls _08139CBA + b _08139D62 + .pool +_08139D10: + movs r1, 0 + ldr r0, =gUnknown_085B2C06 + mov r10, r0 +_08139D16: + movs r5, 0 + adds r7, r1, 0x7 + lsls r0, r1, 1 + adds r2, r1, 0x1 + mov r8, r2 + adds r0, r1 + lsls r0, 1 + mov r9, r0 +_08139D26: + adds r4, r5, 0 + adds r4, 0x8 + movs r1, 0 + ldrsh r0, [r6, r1] + movs r1, 0x3 + bl __modsi3 + lsls r0, 16 + asrs r0, 15 + add r0, r9 + add r0, r10 + ldrh r0, [r0] + movs r1, 0xC0 + lsls r1, 4 + adds r2, r1, 0 + orrs r2, r0 + adds r0, r4, 0 + adds r1, r7, 0 + bl MapGridSetMetatileIdAt + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x2 + bls _08139D26 + mov r2, r8 + lsls r0, r2, 24 + lsrs r1, r0, 24 + cmp r1, 0x2 + bls _08139D16 +_08139D62: + bl DrawWholeMapView + movs r0, 0 + strh r0, [r6, 0x2] + movs r0, 0 + ldrsh r1, [r6, r0] + movs r2, 0x6 + ldrsh r0, [r6, r2] + cmp r1, r0 + bne _08139D7C + ldr r0, [sp] + bl DestroyTask +_08139D7C: + ldrh r0, [r6, 0x2] + adds r0, 0x1 + strh r0, [r6, 0x2] + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8139C80 + + thumb_func_start sub_8139D98 +sub_8139D98: @ 8139D98 + push {r4-r7,lr} + sub sp, 0x18 + ldr r6, =gSpecialVar_0x8004 + ldrh r0, [r6] + movs r5, 0x64 + muls r0, r5 + ldr r4, =gPlayerParty + adds r0, r4 + movs r1, 0x27 + bl GetMonData + str r0, [sp] + ldrh r0, [r6] + muls r0, r5 + adds r0, r4 + movs r1, 0x28 + bl GetMonData + str r0, [sp, 0x4] + ldrh r0, [r6] + muls r0, r5 + adds r0, r4 + movs r1, 0x29 + bl GetMonData + str r0, [sp, 0x8] + ldrh r0, [r6] + muls r0, r5 + adds r0, r4 + movs r1, 0x2A + bl GetMonData + str r0, [sp, 0xC] + ldrh r0, [r6] + muls r0, r5 + adds r0, r4 + movs r1, 0x2B + bl GetMonData + str r0, [sp, 0x10] + ldrh r0, [r6] + muls r0, r5 + adds r0, r4 + movs r1, 0x2C + bl GetMonData + str r0, [sp, 0x14] + ldr r1, =gSpecialVar_0x8005 + movs r0, 0 + strh r0, [r1] + movs r4, 0 + adds r2, r1, 0 +_08139E00: + lsls r0, r4, 2 + add r0, sp + ldr r1, [r0] + ldrh r0, [r2] + adds r0, r1 + strh r0, [r2] + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x5 + bls _08139E00 + ldr r2, =gSpecialVar_0x8006 + movs r0, 0 + strh r0, [r2] + ldr r1, =gSpecialVar_0x8007 + ldr r0, [sp] + strh r0, [r1] + movs r4, 0x1 + adds r6, r2, 0 + adds r7, r1, 0 +_08139E28: + ldrh r0, [r6] + lsls r0, 2 + mov r2, sp + adds r1, r2, r0 + lsls r0, r4, 2 + adds r5, r2, r0 + ldr r1, [r1] + ldr r0, [r5] + cmp r1, r0 + bcs _08139E54 + strh r4, [r6] + b _08139E6C + .pool +_08139E54: + cmp r1, r0 + bne _08139E6E + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08139E6E + strh r4, [r6] + ldr r0, [r5] +_08139E6C: + strh r0, [r7] +_08139E6E: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x5 + bls _08139E28 + add sp, 0x18 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8139D98 + + thumb_func_start warp0_in_pokecenter +warp0_in_pokecenter: @ 8139E80 + push {r4,lr} + ldr r0, =gUnknown_020322DC + movs r1, 0 + ldrsb r1, [r0, r1] + lsls r1, 8 + ldrb r0, [r0, 0x1] + lsls r0, 24 + asrs r0, 24 + adds r0, r1 + lsls r0, 16 + lsrs r3, r0, 16 + ldr r2, =gUnknown_085B2C2A + ldrh r0, [r2] + ldr r1, =0x0000ffff + cmp r0, r1 + beq _08139EC6 + adds r4, r1, 0 + adds r1, r2, 0 +_08139EA4: + ldrh r0, [r2] + cmp r0, r3 + bne _08139EBC + movs r0, 0x1 + b _08139EC8 + .pool +_08139EBC: + adds r1, 0x2 + adds r2, 0x2 + ldrh r0, [r1] + cmp r0, r4 + bne _08139EA4 +_08139EC6: + movs r0, 0 +_08139EC8: + pop {r4} + pop {r1} + bx r1 + thumb_func_end warp0_in_pokecenter + + thumb_func_start sub_8139ED0 +sub_8139ED0: @ 8139ED0 + push {lr} + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrh r1, [r0, 0x4] + ldr r0, =0x00003c1a + cmp r1, r0 + beq _08139EEC + movs r0, 0x1 + b _08139EEE + .pool +_08139EEC: + movs r0, 0 +_08139EEE: + pop {r1} + bx r1 + thumb_func_end sub_8139ED0 + + thumb_func_start UpdateFrontierManiac +UpdateFrontierManiac: @ 8139EF4 + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r0, =0x0000402f + bl GetVarPointer + adds r5, r0, 0 + ldrh r0, [r5] + adds r4, r0 + strh r4, [r5] + ldrh r0, [r5] + movs r1, 0xA + bl __umodsi3 + strh r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end UpdateFrontierManiac + + thumb_func_start sub_8139F20 +sub_8139F20: @ 8139F20 + push {r4-r7,lr} + movs r4, 0 + ldr r0, =0x0000402f + bl VarGet + lsls r0, 16 + lsrs r6, r0, 16 + cmp r6, 0x9 + bls _08139F34 + b _0813A03A +_08139F34: + lsls r0, r6, 2 + ldr r1, =_08139F48 + adds r1, r0, r1 + ldr r1, [r1] + adds r2, r0, 0 + mov pc, r1 + .pool + .align 2, 0 +_08139F48: + .4byte _08139F70 + .4byte _08139F70 + .4byte _08139F70 + .4byte _08139F70 + .4byte _08139F94 + .4byte _08139FB4 + .4byte _08139FCC + .4byte _08139FE4 + .4byte _08139FFC + .4byte _0813A014 +_08139F70: + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + movs r3, 0xCE + lsls r3, 4 + adds r1, r0, r3 + adds r3, r1, r2 + ldr r1, =0x00000ce2 + adds r0, r1 + adds r1, r0, r2 + ldrh r0, [r3] + ldrh r2, [r1] + cmp r0, r2 + bcs _0813A028 + b _0813A038 + .pool +_08139F94: + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r3, =0x00000d0c + adds r2, r0, r3 + adds r3, 0x2 +_08139F9E: + adds r1, r0, r3 + ldrh r0, [r2] + ldrh r3, [r1] + cmp r0, r3 + bcs _0813A028 + b _0813A038 + .pool +_08139FB4: + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r1, =0x00000de2 + adds r2, r0, r1 + ldr r3, =0x00000de4 + b _08139F9E + .pool +_08139FCC: + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r1, =0x00000dc8 + adds r2, r0, r1 + ldr r3, =0x00000dca + b _08139F9E + .pool +_08139FE4: + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r1, =0x00000dda + adds r2, r0, r1 + ldr r3, =0x00000ddc + b _08139F9E + .pool +_08139FFC: + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r1, =0x00000e04 + adds r2, r0, r1 + ldr r3, =0x00000e06 + b _08139F9E + .pool +_0813A014: + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r1, =0x00000e1a + adds r2, r0, r1 + ldr r3, =0x00000e1c + adds r1, r0, r3 + ldrh r0, [r2] + ldrh r3, [r1] + cmp r0, r3 + bcc _0813A038 +_0813A028: + adds r4, r0, 0 + b _0813A03A + .pool +_0813A038: + ldrh r4, [r1] +_0813A03A: + movs r2, 0 + ldr r5, =gUnknown_085B2CC8 + lsls r0, r6, 1 + adds r1, r0, r5 + ldrb r1, [r1] + adds r3, r0, 0 + ldr r7, =gUnknown_085B2C50 + cmp r1, r4 + bcs _0813A062 + adds r1, r3, 0 +_0813A04E: + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x1 + bhi _0813A062 + adds r0, r2, r1 + adds r0, r5 + ldrb r0, [r0] + cmp r0, r4 + bcc _0813A04E +_0813A062: + adds r0, r3, r6 + adds r0, r2 + lsls r0, 2 + adds r0, r7 + ldr r0, [r0] + bl ShowFieldMessage + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8139F20 + + thumb_func_start sub_813A080 +sub_813A080: @ 813A080 + push {r4-r7,lr} + ldr r0, =0x000040ce + bl VarGet + lsls r0, 16 + lsrs r5, r0, 16 + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r1, =0x00000ca9 + adds r0, r1 + ldrb r0, [r0] + lsls r0, 30 + lsrs r4, r0, 30 + cmp r5, 0x2 + bne _0813A0D8 + movs r0, 0xA9 + lsls r0, 1 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + bne _0813A0D8 + ldr r1, =gSpecialVar_0x8005 + movs r0, 0x5 + strh r0, [r1] + ldr r1, =gSpecialVar_0x8006 + movs r0, 0x4 + strh r0, [r1] + b _0813A110 + .pool +_0813A0D0: + movs r0, 0x4 + strh r0, [r6] + adds r0, r3, 0x5 + b _0813A10E +_0813A0D8: + movs r3, 0 + ldr r6, =gSpecialVar_0x8005 + ldr r7, =gSpecialVar_0x8006 + lsls r1, r4, 1 + lsls r2, r5, 2 + ldr r4, =gUnknown_085B2CDC + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + adds r1, r2 + movs r2, 0xCE + lsls r2, 4 + adds r0, r2 + adds r0, r1 + ldrh r1, [r0] +_0813A0F4: + lsls r0, r3, 1 + adds r0, r4 + ldrh r0, [r0] + cmp r0, r1 + bhi _0813A0D0 + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x8 + bls _0813A0F4 + movs r0, 0x4 + strh r0, [r6] + movs r0, 0xC +_0813A10E: + strh r0, [r7] +_0813A110: + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A080 + + thumb_func_start sub_813A128 +sub_813A128: @ 813A128 + push {r4,lr} + ldr r0, =sub_813A2DC + movs r1, 0x8 + bl CreateTask + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, =gTasks + adds r3, r0, r1 + ldr r1, =gSpecialVar_0x8004 + ldrh r0, [r1] + strh r0, [r3, 0x1E] + ldrh r0, [r1] + cmp r0, 0xC + bls _0813A14E + b _0813A2C6 +_0813A14E: + lsls r0, 2 + ldr r1, =_0813A168 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0813A168: + .4byte _0813A19C + .4byte _0813A1AA + .4byte _0813A1C2 + .4byte _0813A1D6 + .4byte _0813A1F0 + .4byte _0813A208 + .4byte _0813A222 + .4byte _0813A23C + .4byte _0813A25A + .4byte _0813A274 + .4byte _0813A274 + .4byte _0813A28E + .4byte _0813A2A8 +_0813A19C: + movs r1, 0 + movs r0, 0x1 + strh r0, [r3, 0x8] + strh r0, [r3, 0xA] + strh r0, [r3, 0xC] + strh r0, [r3, 0xE] + b _0813A2BC +_0813A1AA: + movs r1, 0 + movs r0, 0x5 + strh r0, [r3, 0x8] + movs r0, 0x8 + strh r0, [r3, 0xA] + movs r0, 0x1 + strh r0, [r3, 0xC] + strh r0, [r3, 0xE] + movs r0, 0x9 + strh r0, [r3, 0x10] + movs r0, 0xA + b _0813A2BE +_0813A1C2: + movs r2, 0 + movs r0, 0x6 + strh r0, [r3, 0x8] + movs r1, 0xC + strh r1, [r3, 0xA] + movs r0, 0x1 + strh r0, [r3, 0xC] + strh r0, [r3, 0xE] + movs r0, 0x7 + b _0813A250 +_0813A1D6: + movs r1, 0 + movs r0, 0x6 + strh r0, [r3, 0x8] + movs r0, 0xB + strh r0, [r3, 0xA] + movs r0, 0xE + strh r0, [r3, 0xC] + movs r0, 0x1 + strh r0, [r3, 0xE] + movs r0, 0xF + strh r0, [r3, 0x10] + movs r0, 0xC + b _0813A2BE +_0813A1F0: + movs r1, 0 + movs r0, 0x6 + strh r0, [r3, 0x8] + strh r0, [r3, 0xA] + movs r0, 0xE + strh r0, [r3, 0xC] + movs r0, 0x1 + strh r0, [r3, 0xE] + movs r0, 0xF + strh r0, [r3, 0x10] + movs r0, 0xC + b _0813A2BE +_0813A208: + movs r1, 0 + movs r0, 0x6 + strh r0, [r3, 0x8] + movs r0, 0x7 + strh r0, [r3, 0xA] + movs r0, 0xE + strh r0, [r3, 0xC] + movs r0, 0x1 + strh r0, [r3, 0xE] + movs r0, 0xF + strh r0, [r3, 0x10] + movs r0, 0xC + b _0813A2BE +_0813A222: + movs r1, 0 + movs r0, 0x6 + strh r0, [r3, 0x8] + movs r0, 0xA + strh r0, [r3, 0xA] + movs r0, 0xE + strh r0, [r3, 0xC] + movs r0, 0x1 + strh r0, [r3, 0xE] + movs r0, 0xF + strh r0, [r3, 0x10] + movs r0, 0xC + b _0813A2BE +_0813A23C: + movs r2, 0 + movs r0, 0x6 + strh r0, [r3, 0x8] + movs r1, 0xC + strh r1, [r3, 0xA] + movs r0, 0xF + strh r0, [r3, 0xC] + movs r0, 0x1 + strh r0, [r3, 0xE] + movs r0, 0xE +_0813A250: + strh r0, [r3, 0x10] + strh r1, [r3, 0x12] + strh r2, [r3, 0x14] + strh r4, [r3, 0x26] + b _0813A2D2 +_0813A25A: + movs r1, 0 + movs r0, 0x6 + strh r0, [r3, 0x8] + movs r0, 0xA + strh r0, [r3, 0xA] + movs r0, 0x11 + strh r0, [r3, 0xC] + movs r0, 0x1 + strh r0, [r3, 0xE] + movs r0, 0xB + strh r0, [r3, 0x10] + movs r0, 0xC + b _0813A2BE +_0813A274: + movs r1, 0 + movs r0, 0x6 + strh r0, [r3, 0x8] + movs r0, 0xB + strh r0, [r3, 0xA] + movs r0, 0xF + strh r0, [r3, 0xC] + movs r0, 0x1 + strh r0, [r3, 0xE] + movs r0, 0xE + strh r0, [r3, 0x10] + movs r0, 0xC + b _0813A2BE +_0813A28E: + movs r1, 0 + movs r0, 0x6 + strh r0, [r3, 0x8] + movs r0, 0x7 + strh r0, [r3, 0xA] + movs r0, 0x13 + strh r0, [r3, 0xC] + movs r0, 0x1 + strh r0, [r3, 0xE] + movs r0, 0xA + strh r0, [r3, 0x10] + movs r0, 0xC + b _0813A2BE +_0813A2A8: + movs r1, 0 + movs r0, 0x6 + strh r0, [r3, 0x8] + movs r0, 0x7 + strh r0, [r3, 0xA] + movs r0, 0x11 + strh r0, [r3, 0xC] + movs r0, 0x1 + strh r0, [r3, 0xE] + movs r0, 0xC +_0813A2BC: + strh r0, [r3, 0x10] +_0813A2BE: + strh r0, [r3, 0x12] + strh r1, [r3, 0x14] + strh r4, [r3, 0x26] + b _0813A2D2 +_0813A2C6: + ldr r1, =gSpecialVar_Result + movs r0, 0x7F + strh r0, [r1] + adds r0, r4, 0 + bl DestroyTask +_0813A2D2: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A128 + + thumb_func_start sub_813A2DC +sub_813A2DC: @ 813A2DC + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x20 + lsls r0, 24 + lsrs r7, r0, 24 + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + ldr r1, =gTasks + adds r6, r0, r1 + bl ScriptContext2_Enable + ldr r0, =gUnknown_0203AB68 + movs r5, 0 + strh r5, [r0] + ldr r1, =gUnknown_0203AB6C + movs r0, 0x40 + strb r0, [r1] + ldrh r0, [r6, 0x1E] + movs r1, 0 + bl sub_813AA60 + ldrb r0, [r6, 0x1E] + movs r1, 0 + bl sub_813ACE8 + ldr r4, =gUnknown_0203AB64 + movs r1, 0xA + ldrsh r0, [r6, r1] + lsls r0, 3 + bl AllocZeroed + str r0, [r4] + ldr r0, =gUnknown_0203AB6A + strh r5, [r0] + bl sub_813A42C + movs r3, 0 + movs r4, 0 + movs r2, 0xA + ldrsh r0, [r6, r2] + add r1, sp, 0x18 + mov r8, r1 + cmp r3, r0 + bge _0813A36A + ldr r5, =gUnknown_085B2CF0 +_0813A33A: + lsls r1, r4, 2 + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + lsls r0, 6 + adds r1, r0 + adds r1, r5 + ldr r0, [r1] + ldr r1, =gUnknown_0203AB64 + ldr r2, [r1] + lsls r1, r4, 3 + adds r1, r2 + str r0, [r1] + str r4, [r1, 0x4] + adds r1, r3, 0 + bl display_text_and_get_width + adds r3, r0, 0 + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + movs r2, 0xA + ldrsh r0, [r6, r2] + cmp r4, r0 + blt _0813A33A +_0813A36A: + adds r0, r3, 0 + bl convert_pixel_width_to_tile_width + strh r0, [r6, 0x10] + movs r1, 0xC + ldrsh r0, [r6, r1] + movs r2, 0x10 + ldrsh r1, [r6, r2] + adds r0, r1 + cmp r0, 0x1D + ble _0813A38C + movs r0, 0x1D + subs r0, r1 + cmp r0, 0 + bge _0813A38A + movs r0, 0 +_0813A38A: + strh r0, [r6, 0xC] +_0813A38C: + ldrb r2, [r6, 0xC] + ldrb r3, [r6, 0xE] + ldrb r0, [r6, 0x10] + str r0, [sp] + ldrb r0, [r6, 0x12] + str r0, [sp, 0x4] + movs r0, 0xF + str r0, [sp, 0x8] + movs r0, 0x64 + str r0, [sp, 0xC] + add r0, sp, 0x10 + movs r1, 0 + bl sub_8198A50 + ldr r0, [sp, 0x10] + ldr r1, [sp, 0x14] + str r0, [sp, 0x18] + str r1, [sp, 0x1C] + mov r0, r8 + bl AddWindow + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x22] + movs r1, 0 + bl SetStandardWindowBorderStyle + ldr r4, =gUnknown_030061D0 + ldrh r0, [r6, 0xA] + strh r0, [r4, 0xC] + ldrh r0, [r6, 0x8] + strh r0, [r4, 0xE] + ldrh r0, [r6, 0x22] + strb r0, [r4, 0x10] + adds r0, r7, 0 + bl sub_813A694 + ldrh r1, [r6, 0x16] + ldrh r2, [r6, 0x18] + adds r0, r4, 0 + bl ListMenuInit + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x24] + movs r0, 0 + bl schedule_bg_copy_tilemap_to_vram + ldr r1, =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + ldr r1, =sub_813A4EC + str r1, [r0] + add sp, 0x20 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A2DC + + thumb_func_start sub_813A42C +sub_813A42C: @ 813A42C + ldr r1, =gUnknown_030061D0 + ldr r0, =gUnknown_0203AB64 + ldr r0, [r0] + str r0, [r1] + ldr r0, =sub_813A46C + str r0, [r1, 0x4] + movs r0, 0 + str r0, [r1, 0x8] + movs r2, 0 + movs r0, 0x1 + strh r0, [r1, 0xC] + strh r0, [r1, 0xE] + strb r2, [r1, 0x10] + strb r2, [r1, 0x11] + movs r0, 0x8 + strb r0, [r1, 0x12] + strb r2, [r1, 0x13] + movs r0, 0x21 + strb r0, [r1, 0x14] + movs r0, 0x31 + strb r0, [r1, 0x15] + movs r0, 0 + strb r0, [r1, 0x16] + movs r0, 0x1 + strb r0, [r1, 0x17] + bx lr + .pool + thumb_func_end sub_813A42C + + thumb_func_start sub_813A46C +sub_813A46C: @ 813A46C + push {r4,r5,lr} + sub sp, 0x4 + movs r0, 0x5 + bl PlaySE + ldr r0, =sub_813A4EC + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0xFF + beq _0813A4D4 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, =gTasks + adds r4, r0 + ldrh r0, [r4, 0x24] + lsls r0, 24 + lsrs r0, 24 + mov r1, sp + movs r2, 0 + bl sub_81AE860 + ldr r1, =gUnknown_0203AB68 + mov r0, sp + ldrh r0, [r0] + strh r0, [r1] + ldrh r0, [r4, 0x24] + lsls r0, 24 + lsrs r0, 24 + mov r1, sp + bl sub_81AE838 + ldrh r0, [r4, 0x1E] + ldr r5, =gUnknown_0203AB6A + ldrh r1, [r5] + bl sub_813AC44 + ldrh r0, [r4, 0x1E] + mov r1, sp + ldrh r1, [r1] + bl sub_813AA60 + ldrb r0, [r4, 0x1E] + mov r1, sp + ldrh r1, [r1] + bl sub_813AD34 + mov r0, sp + ldrh r0, [r0] + strh r0, [r5] +_0813A4D4: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A46C + + thumb_func_start sub_813A4EC +sub_813A4EC: @ 813A4EC + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, =gTasks + adds r6, r0, r1 + ldrh r0, [r6, 0x24] + lsls r0, 24 + lsrs r0, 24 + bl ListMenuHandleInputGetItemId + adds r4, r0, 0 + movs r0, 0x2 + negs r0, r0 + cmp r4, r0 + beq _0813A51C + adds r0, 0x1 + cmp r4, r0 + bne _0813A530 + b _0813A566 + .pool +_0813A51C: + ldr r1, =gSpecialVar_Result + movs r0, 0x7F + strh r0, [r1] + movs r0, 0x5 + bl PlaySE + b _0813A54C + .pool +_0813A530: + ldr r0, =gSpecialVar_Result + strh r4, [r0] + movs r0, 0x5 + bl PlaySE + movs r1, 0x14 + ldrsh r0, [r6, r1] + cmp r0, 0 + beq _0813A54C + movs r1, 0xA + ldrsh r0, [r6, r1] + subs r0, 0x1 + cmp r4, r0 + bne _0813A558 +_0813A54C: + adds r0, r5, 0 + bl sub_813A570 + b _0813A566 + .pool +_0813A558: + adds r0, r5, 0 + bl sub_813A738 + ldr r0, =sub_813A600 + str r0, [r6] + bl EnableBothScriptContexts +_0813A566: + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A4EC + + thumb_func_start sub_813A570 +sub_813A570: @ 813A570 + push {r4,r5,lr} + sub sp, 0x4 + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + lsls r4, r5, 2 + adds r4, r5 + lsls r4, 3 + ldr r0, =gTasks + adds r4, r0 + ldrh r0, [r4, 0x24] + lsls r0, 24 + lsrs r0, 24 + mov r1, sp + bl sub_81AE838 + ldrh r0, [r4, 0x1E] + mov r1, sp + ldrh r1, [r1] + bl sub_813AC44 + adds r0, r5, 0 + bl sub_813A738 + ldrh r0, [r4, 0x24] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + movs r2, 0 + bl sub_81AE6C8 + ldr r0, =gUnknown_0203AB64 + ldr r0, [r0] + bl Free + ldrh r0, [r4, 0x22] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x1 + bl sub_8198070 + ldrh r0, [r4, 0x22] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + bl FillWindowPixelBuffer + ldrh r0, [r4, 0x22] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x2 + bl CopyWindowToVram + ldrh r0, [r4, 0x22] + lsls r0, 24 + lsrs r0, 24 + bl RemoveWindow + adds r0, r5, 0 + bl DestroyTask + bl EnableBothScriptContexts + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A570 + + thumb_func_start sub_813A600 +sub_813A600: @ 813A600 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r2, 0x14 + ldrsh r0, [r1, r2] + cmp r0, 0x1 + beq _0813A624 + cmp r0, 0x2 + bne _0813A624 + movs r0, 0x1 + strh r0, [r1, 0x14] + ldr r0, =sub_813A664 + str r0, [r1] +_0813A624: + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A600 + + thumb_func_start sub_813A630 +sub_813A630: @ 813A630 + push {lr} + ldr r0, =sub_813A600 + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xFF + bne _0813A64C + bl EnableBothScriptContexts + b _0813A65C + .pool +_0813A64C: + ldr r0, =gTasks + lsls r1, r2, 2 + adds r1, r2 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x14] + adds r0, 0x1 + strh r0, [r1, 0x14] +_0813A65C: + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A630 + + thumb_func_start sub_813A664 +sub_813A664: @ 813A664 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl ScriptContext2_Enable + adds r0, r4, 0 + bl sub_813A694 + ldr r1, =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, =sub_813A4EC + str r1, [r0] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A664 + + thumb_func_start sub_813A694 +sub_813A694: @ 813A694 + push {r4,r5,lr} + sub sp, 0x10 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, =gTasks + adds r4, r1, r0 + mov r1, sp + ldr r0, =gUnknown_085B3030 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldr r0, [r0] + str r0, [r1] + movs r0, 0x8 + ldrsh r1, [r4, r0] + movs r2, 0xA + ldrsh r0, [r4, r2] + cmp r1, r0 + beq _0813A724 + mov r2, sp + movs r3, 0x10 + ldrsh r1, [r4, r3] + lsrs r0, r1, 31 + adds r1, r0 + asrs r1, 1 + lsls r1, 3 + adds r1, 0xC + movs r5, 0xC + ldrsh r0, [r4, r5] + subs r0, 0x1 + lsls r0, 3 + adds r1, r0 + movs r3, 0 + strb r1, [r2, 0x1] + mov r1, sp + movs r0, 0x8 + strb r0, [r1, 0x2] + movs r0, 0x10 + ldrsh r1, [r4, r0] + lsrs r0, r1, 31 + adds r1, r0 + asrs r1, 1 + lsls r1, 3 + adds r1, 0xC + movs r5, 0xC + ldrsh r0, [r4, r5] + subs r0, 0x1 + lsls r0, 3 + adds r1, r0 + strb r1, [r2, 0x4] + mov r1, sp + movs r2, 0x12 + ldrsh r0, [r4, r2] + lsls r0, 3 + adds r0, 0xA + strb r0, [r1, 0x5] + mov r0, sp + strh r3, [r0, 0x6] + mov r2, sp + ldrh r0, [r4, 0xA] + ldrh r1, [r4, 0x8] + subs r0, r1 + strh r0, [r2, 0x8] + ldr r1, =gUnknown_0203AB68 + mov r0, sp + bl AddScrollIndicatorArrowPair + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x20] +_0813A724: + add sp, 0x10 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A694 + + thumb_func_start sub_813A738 +sub_813A738: @ 813A738 + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, =gTasks + adds r2, r1, r0 + movs r0, 0x8 + ldrsh r1, [r2, r0] + movs r3, 0xA + ldrsh r0, [r2, r3] + cmp r1, r0 + beq _0813A75E + ldrh r0, [r2, 0x20] + lsls r0, 24 + lsrs r0, 24 + bl RemoveScrollIndicatorArrowPair +_0813A75E: + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A738 + + thumb_func_start nullsub_55 +nullsub_55: @ 813A768 + bx lr + thumb_func_end nullsub_55 + + thumb_func_start sub_813A76C +sub_813A76C: @ 813A76C + push {r4-r6,lr} + movs r4, 0 + ldr r6, =gLinkPlayers + ldr r0, =0x0000401f + adds r5, r0, 0 +_0813A776: + lsls r0, r4, 3 + subs r0, r4 + lsls r0, 2 + adds r0, r6 + ldrb r0, [r0, 0x13] + cmp r0, 0 + bne _0813A79C + subs r0, r5, r4 + lsls r0, 16 + lsrs r0, 16 + movs r1, 0 + bl VarSet + b _0813A7A8 + .pool +_0813A79C: + subs r0, r5, r4 + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x69 + bl VarSet +_0813A7A8: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x1 + bls _0813A776 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_813A76C + + thumb_func_start sub_813A7B8 +sub_813A7B8: @ 813A7B8 + push {lr} + ldr r1, =gSpecialVar_0x8004 + ldrh r0, [r1] + cmp r0, 0x5 + bls _0813A7C6 + movs r0, 0 + strh r0, [r1] +_0813A7C6: + ldrh r1, [r1] + movs r0, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + bl GetNature + lsls r0, 24 + ldr r1, =gUnknown_085B3040 + lsrs r0, 22 + adds r0, r1 + ldr r0, [r0] + bl ShowFieldMessage + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A7B8 + + thumb_func_start UpdateFrontierGambler +UpdateFrontierGambler: @ 813A7F4 + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r0, =0x00004030 + bl GetVarPointer + adds r5, r0, 0 + ldrh r0, [r5] + adds r4, r0 + strh r4, [r5] + ldrh r0, [r5] + movs r1, 0xC + bl __umodsi3 + strh r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end UpdateFrontierGambler + + thumb_func_start sub_813A820 +sub_813A820: @ 813A820 + push {r4,lr} + ldr r0, =0x00004030 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r1, =gUnknown_085B30A4 + lsls r0, r4, 2 + adds r0, r1 + ldr r0, [r0] + bl ShowFieldMessage + ldr r0, =0x00004031 + adds r1, r4, 0 + bl VarSet + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A820 + + thumb_func_start sub_813A854 +sub_813A854: @ 813A854 + push {r4,lr} + ldr r4, =gUnknown_085B30D4 + ldr r0, =0x00004031 + bl VarGet + lsls r0, 16 + lsrs r0, 14 + adds r0, r4 + ldr r0, [r0] + bl ShowFieldMessage + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A854 + + thumb_func_start sub_813A878 +sub_813A878: @ 813A878 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r0, =0x000040ce + bl VarGet + lsls r0, 16 + lsrs r7, r0, 16 + ldr r0, =0x00004031 + bl VarGet + lsls r0, 16 + lsrs r6, r0, 16 + ldr r0, =0x000040cf + bl VarGet + lsls r0, 16 + lsrs r5, r0, 16 + ldr r4, =0x00004033 + adds r0, r4, 0 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x1 + bne _0813A8F0 + ldr r1, =gUnknown_085B3104 + lsls r0, r6, 1 + adds r0, r1 + ldrh r1, [r0] + lsls r0, r5, 8 + adds r0, r7 + cmp r1, r0 + bne _0813A8F0 + mov r0, r8 + cmp r0, 0 + beq _0813A8E8 + adds r0, r4, 0 + movs r1, 0x2 + bl VarSet + b _0813A8F0 + .pool +_0813A8E8: + adds r0, r4, 0 + movs r1, 0x3 + bl VarSet +_0813A8F0: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_813A878 + + thumb_func_start sub_813A8FC +sub_813A8FC: @ 813A8FC + push {lr} + sub sp, 0x2C + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r1, =0x00000eb8 + adds r0, r1 + ldrh r1, [r0] + add r0, sp, 0xC + movs r2, 0x1 + movs r3, 0x4 + bl ConvertIntToDecimalStringN + ldr r1, =gText_BP + bl StringCopy + movs r0, 0x1 + add r1, sp, 0xC + movs r2, 0x30 + bl GetStringRightAlignXOffset + adds r3, r0, 0 + ldr r0, =gUnknown_0203AB6D + ldrb r0, [r0] + lsls r3, 24 + lsrs r3, 24 + movs r1, 0x1 + str r1, [sp] + movs r1, 0 + str r1, [sp, 0x4] + str r1, [sp, 0x8] + movs r1, 0x1 + add r2, sp, 0xC + bl PrintTextOnWindow + add sp, 0x2C + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A8FC + + thumb_func_start sub_813A958 +sub_813A958: @ 813A958 + push {r4,lr} + ldr r4, =gUnknown_0203AB6D + ldr r0, =gUnknown_085B311C + bl AddWindow + strb r0, [r4] + ldrb r0, [r4] + movs r1, 0 + bl SetStandardWindowBorderStyle + bl sub_813A8FC + ldrb r0, [r4] + movs r1, 0x2 + bl CopyWindowToVram + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A958 + + thumb_func_start sub_813A988 +sub_813A988: @ 813A988 + push {r4,lr} + ldr r4, =gUnknown_0203AB6D + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8198070 + ldrb r0, [r4] + bl RemoveWindow + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813A988 + + thumb_func_start sub_813A9A4 +sub_813A9A4: @ 813A9A4 + push {lr} + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r2, =0x00000eb8 + adds r1, r0, r2 + ldr r0, =gSpecialVar_0x8004 + ldrh r2, [r1] + ldrh r0, [r0] + cmp r2, r0 + bcs _0813A9C8 + movs r0, 0 + b _0813A9CA + .pool +_0813A9C8: + subs r0, r2, r0 +_0813A9CA: + strh r0, [r1] + pop {r0} + bx r0 + thumb_func_end sub_813A9A4 + + thumb_func_start sub_813A9D0 +sub_813A9D0: @ 813A9D0 + push {lr} + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r1, =0x00000eb8 + adds r2, r0, r1 + ldrh r1, [r2] + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + adds r1, r0 + ldr r0, =0x0000270f + cmp r1, r0 + ble _0813A9FC + strh r0, [r2] + b _0813A9FE + .pool +_0813A9FC: + strh r1, [r2] +_0813A9FE: + pop {r0} + bx r0 + thumb_func_end sub_813A9D0 + + thumb_func_start sub_813AA04 +sub_813AA04: @ 813AA04 + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldr r1, =0x00000eb8 + adds r0, r1 + ldrh r0, [r0] + bx lr + .pool + thumb_func_end sub_813AA04 + + thumb_func_start sub_813AA18 +sub_813AA18: @ 813AA18 + push {r4,lr} + ldr r4, =gUnknown_0203AB6E + ldr r0, =gUnknown_085B3124 + bl AddWindow + strb r0, [r4] + ldrb r0, [r4] + movs r1, 0 + bl SetStandardWindowBorderStyle + ldrb r0, [r4] + movs r1, 0x2 + bl CopyWindowToVram + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813AA18 + + thumb_func_start sub_813AA44 +sub_813AA44: @ 813AA44 + push {r4,lr} + ldr r4, =gUnknown_0203AB6E + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8198070 + ldrb r0, [r4] + bl RemoveWindow + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813AA44 + + thumb_func_start sub_813AA60 +sub_813AA60: @ 813AA60 + push {r4,r5,lr} + sub sp, 0x10 + lsls r0, 16 + lsls r1, 16 + lsrs r5, r1, 16 + lsrs r4, r0, 16 + ldr r1, =0xfffd0000 + adds r0, r1 + lsrs r0, 16 + cmp r0, 0x3 + bls _0813AA78 + b _0813ABC2 +_0813AA78: + movs r0, 0xD8 + str r0, [sp] + movs r0, 0x20 + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0x11 + movs r2, 0 + movs r3, 0 + bl FillWindowPixelRect + cmp r4, 0x4 + beq _0813AAE8 + cmp r4, 0x4 + bgt _0813AAA0 + cmp r4, 0x3 + beq _0813AAAA + b _0813ABC2 + .pool +_0813AAA0: + cmp r4, 0x5 + beq _0813AB5C + cmp r4, 0x6 + beq _0813AB94 + b _0813ABC2 +_0813AAAA: + ldr r1, =gUnknown_085B3170 + lsls r0, r5, 2 + adds r0, r1 + ldr r2, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x2 + str r0, [sp, 0x4] + movs r0, 0x1 + str r0, [sp, 0x8] + str r4, [sp, 0xC] + movs r0, 0 + movs r1, 0x1 + movs r3, 0 + bl AddTextPrinterParameterized + ldr r1, =gUnknown_085B312C + lsls r0, r5, 1 + adds r1, r0, r1 + ldrh r5, [r1] + ldr r0, =0x0000ffff + cmp r5, r0 + beq _0813AB18 + b _0813AB2C + .pool +_0813AAE8: + ldr r1, =gUnknown_085B319C + lsls r0, r5, 2 + adds r0, r1 + ldr r2, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x2 + str r0, [sp, 0x4] + movs r0, 0x1 + str r0, [sp, 0x8] + movs r0, 0x3 + str r0, [sp, 0xC] + movs r0, 0 + movs r1, 0x1 + movs r3, 0 + bl AddTextPrinterParameterized + ldr r1, =gUnknown_085B3142 + lsls r0, r5, 1 + adds r1, r0, r1 + ldrh r5, [r1] + ldr r0, =0x0000ffff + cmp r5, r0 + bne _0813AB2C +_0813AB18: + ldrh r0, [r1] + bl sub_813ABD4 + b _0813ABC2 + .pool +_0813AB2C: + ldr r4, =0x0000157c + adds r0, r4, 0 + bl FreeSpriteTilesByTag + adds r0, r4, 0 + bl FreeSpritePaletteByTag + lsls r0, r5, 24 + lsrs r0, 24 + str r4, [sp] + str r4, [sp, 0x4] + movs r1, 0x21 + movs r2, 0x58 + movs r3, 0 + bl AddDecorationIconObject + ldr r1, =gUnknown_0203AB6C + strb r0, [r1] + b _0813ABC2 + .pool +_0813AB5C: + ldr r1, =gUnknown_085B31B4 + lsls r0, r5, 2 + adds r0, r1 + ldr r2, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x2 + str r0, [sp, 0x4] + movs r0, 0x1 + str r0, [sp, 0x8] + movs r0, 0x3 + str r0, [sp, 0xC] + movs r0, 0 + movs r1, 0x1 + movs r3, 0 + bl AddTextPrinterParameterized + ldr r1, =gUnknown_085B314E + lsls r0, r5, 1 + adds r0, r1 + ldrh r0, [r0] + bl sub_813ABD4 + b _0813ABC2 + .pool +_0813AB94: + ldr r1, =gUnknown_085B31D0 + lsls r0, r5, 2 + adds r0, r1 + ldr r2, [r0] + movs r0, 0 + str r0, [sp] + movs r0, 0x2 + str r0, [sp, 0x4] + movs r0, 0x1 + str r0, [sp, 0x8] + movs r0, 0x3 + str r0, [sp, 0xC] + movs r0, 0 + movs r1, 0x1 + movs r3, 0 + bl AddTextPrinterParameterized + ldr r1, =gUnknown_085B315C + lsls r0, r5, 1 + adds r0, r1 + ldrh r0, [r0] + bl sub_813ABD4 +_0813ABC2: + add sp, 0x10 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813AA60 + + thumb_func_start sub_813ABD4 +sub_813ABD4: @ 813ABD4 + push {r4,r5,lr} + adds r5, r0, 0 + lsls r5, 16 + lsrs r5, 16 + ldr r4, =0x0000157c + adds r0, r4, 0 + bl FreeSpriteTilesByTag + adds r0, r4, 0 + bl FreeSpritePaletteByTag + adds r0, r4, 0 + adds r1, r4, 0 + adds r2, r5, 0 + bl AddItemIconSprite + ldr r4, =gUnknown_0203AB6C + strb r0, [r4] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x40 + beq _0813AC32 + ldr r3, =gSprites + ldrb r0, [r4] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r3 + ldrb r2, [r1, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + strb r0, [r1, 0x5] + ldrb r1, [r4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + movs r1, 0x24 + strh r1, [r0, 0x20] + ldrb r1, [r4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + movs r1, 0x5C + strh r1, [r0, 0x22] +_0813AC32: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813ABD4 + + thumb_func_start sub_813AC44 +sub_813AC44: @ 813AC44 + push {lr} + lsls r0, 16 + lsrs r1, r0, 16 + ldr r2, =gUnknown_0203AB6C + ldrb r0, [r2] + cmp r0, 0x40 + beq _0813AC70 + cmp r1, 0x6 + bgt _0813AC6A + cmp r1, 0x3 + blt _0813AC6A + adds r1, r0, 0 + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, =gSprites + adds r0, r1 + bl DestroySpriteAndFreeResources +_0813AC6A: + ldr r1, =gUnknown_0203AB6C + movs r0, 0x40 + strb r0, [r1] +_0813AC70: + pop {r0} + bx r0 + .pool + thumb_func_end sub_813AC44 + + thumb_func_start sub_813AC7C +sub_813AC7C: @ 813AC7C + push {lr} + ldr r0, =gSpecialVar_0x8005 + ldrh r0, [r0] + cmp r0, 0 + beq _0813ACB8 + ldr r0, =gStringVar1 + ldr r2, =gUnknown_085B320C + ldr r1, =gSpecialVar_0x8004 + ldrh r1, [r1] + lsls r1, 1 + adds r1, r2 + ldrh r2, [r1] + movs r1, 0xD + muls r1, r2 + ldr r2, =gMoveNames + adds r1, r2 + bl StringCopy + b _0813ACD2 + .pool +_0813ACB8: + ldr r0, =gStringVar1 + ldr r2, =gUnknown_085B31F8 + ldr r1, =gSpecialVar_0x8004 + ldrh r1, [r1] + lsls r1, 1 + adds r1, r2 + ldrh r2, [r1] + movs r1, 0xD + muls r1, r2 + ldr r2, =gMoveNames + adds r1, r2 + bl StringCopy +_0813ACD2: + pop {r0} + bx r0 + .pool + thumb_func_end sub_813AC7C + + thumb_func_start sub_813ACE8 +sub_813ACE8: @ 813ACE8 + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + lsls r1, 16 + lsrs r6, r1, 16 + subs r0, 0x9 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bhi _0813AD20 + ldr r0, =gSpecialVar_0x8006 + ldrh r0, [r0] + cmp r0, 0 + bne _0813AD18 + ldr r4, =gUnknown_0203AB5E + ldr r0, =gUnknown_085B3220 + bl AddWindow + strb r0, [r4] + ldrb r0, [r4] + movs r1, 0 + bl SetStandardWindowBorderStyle +_0813AD18: + adds r0, r5, 0 + adds r1, r6, 0 + bl sub_813AD34 +_0813AD20: + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813ACE8 + + thumb_func_start sub_813AD34 +sub_813AD34: @ 813AD34 + push {r4-r7,lr} + sub sp, 0xC + lsls r0, 24 + lsls r1, 16 + lsrs r5, r1, 16 + adds r7, r5, 0 + lsrs r6, r0, 24 + movs r1, 0xF7 + lsls r1, 24 + adds r0, r1 + lsrs r0, 24 + cmp r0, 0x1 + bhi _0813ADAC + ldr r4, =gUnknown_0203AB5E + ldrb r0, [r4] + movs r1, 0x60 + str r1, [sp] + movs r1, 0x30 + str r1, [sp, 0x4] + movs r1, 0x11 + movs r2, 0 + movs r3, 0 + bl FillWindowPixelRect + cmp r6, 0xA + bne _0813AD90 + ldrb r0, [r4] + ldr r2, =gUnknown_085B3254 + lsls r1, r5, 2 + adds r1, r2 + ldr r2, [r1] + movs r1, 0x1 + str r1, [sp] + movs r1, 0 + str r1, [sp, 0x4] + str r1, [sp, 0x8] + movs r1, 0x1 + movs r3, 0 + bl PrintTextOnWindow + b _0813ADAC + .pool +_0813AD90: + ldrb r0, [r4] + ldr r2, =gUnknown_085B3228 + lsls r1, r7, 2 + adds r1, r2 + ldr r2, [r1] + movs r1, 0x1 + str r1, [sp] + movs r1, 0 + str r1, [sp, 0x4] + str r1, [sp, 0x8] + movs r1, 0x1 + movs r3, 0 + bl PrintTextOnWindow +_0813ADAC: + add sp, 0xC + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813AD34 + + thumb_func_start sub_813ADB8 +sub_813ADB8: @ 813ADB8 + push {r4,lr} + ldr r4, =gUnknown_0203AB5E + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8198070 + ldrb r0, [r4] + bl RemoveWindow + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813ADB8 + + thumb_func_start sub_813ADD4 +sub_813ADD4: @ 813ADD4 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x18 + ldr r0, =sub_813A600 + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0xFF + beq _0813AE90 + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + ldr r1, =gTasks + adds r6, r0, r1 + ldrh r0, [r6, 0x24] + lsls r0, 24 + lsrs r0, 24 + mov r4, sp + adds r4, 0x16 + add r1, sp, 0x14 + adds r2, r4, 0 + bl sub_81AE860 + ldrh r0, [r6, 0x22] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + bl SetStandardWindowBorderStyle + movs r5, 0 + mov r9, r4 + ldr r0, =gUnknown_085B2CF0 + mov r8, r0 + movs r4, 0 +_0813AE1E: + ldrh r0, [r6, 0x22] + lsls r0, 24 + lsrs r0, 24 + add r1, sp, 0x14 + ldrh r2, [r1] + adds r2, r5 + lsls r2, 2 + ldr r1, =gSpecialVar_0x8004 + ldrh r1, [r1] + lsls r1, 6 + adds r2, r1 + add r2, r8 + ldr r2, [r2] + lsls r1, r5, 28 + lsrs r1, 24 + str r1, [sp] + movs r7, 0xFF + str r7, [sp, 0x4] + str r4, [sp, 0x8] + str r4, [sp, 0xC] + str r4, [sp, 0x10] + movs r1, 0x1 + movs r3, 0xA + bl sub_8199F74 + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x5 + bls _0813AE1E + ldrh r0, [r6, 0x22] + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gText_SelectorArrow + mov r3, r9 + ldrh r1, [r3] + lsls r1, 28 + lsrs r1, 24 + str r1, [sp] + str r7, [sp, 0x4] + movs r1, 0 + str r1, [sp, 0x8] + movs r1, 0x1 + movs r3, 0 + bl PrintTextOnWindow + ldrh r0, [r6, 0x22] + lsls r0, 24 + lsrs r0, 24 + bl PutWindowTilemap + ldrh r0, [r6, 0x22] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x3 + bl CopyWindowToVram +_0813AE90: + add sp, 0x18 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813ADD4 + + thumb_func_start sub_813AEB4 +sub_813AEB4: @ 813AEB4 + push {r4,lr} + movs r1, 0 + ldr r0, =gSpecialVar_0x8005 + strh r1, [r0] + ldr r0, =0x0000400e + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r0, =0x0000400d + bl VarGet + lsls r0, 16 + lsrs r1, r0, 16 + cmp r4, 0 + beq _0813AF18 + movs r2, 0 + lsls r1, 1 + ldr r3, =gUnknown_0861500C + ldr r0, =gUnknown_085B320C + adds r0, r1, r0 + ldrh r1, [r0] +_0813AEE2: + lsls r0, r2, 1 + adds r0, r3 + ldrh r0, [r0] + cmp r0, r1 + beq _0813AF0C + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x1D + bls _0813AEE2 + b _0813AF38 + .pool +_0813AF0C: + ldr r0, =gSpecialVar_0x8005 + strh r2, [r0] + b _0813AF38 + .pool +_0813AF18: + movs r2, 0 + lsls r1, 1 + ldr r3, =gUnknown_0861500C + ldr r0, =gUnknown_085B31F8 + adds r0, r1, r0 + ldrh r1, [r0] +_0813AF24: + lsls r0, r2, 1 + adds r0, r3 + ldrh r0, [r0] + cmp r0, r1 + beq _0813AF0C + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x1D + bls _0813AF24 +_0813AF38: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813AEB4 + + thumb_func_start sub_813AF48 +sub_813AF48: @ 813AF48 + push {r4,r5,lr} + ldr r0, =sub_813A600 + bl FindTaskIdByFunc + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0xFF + beq _0813AFB6 + lsls r4, r5, 2 + adds r4, r5 + lsls r4, 3 + ldr r0, =gTasks + adds r4, r0 + ldrh r0, [r4, 0x24] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + movs r2, 0 + bl sub_81AE6C8 + ldr r0, =gUnknown_0203AB64 + ldr r0, [r0] + bl Free + ldrh r0, [r4, 0x22] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x1 + bl sub_8198070 + ldrh r0, [r4, 0x22] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + bl FillWindowPixelBuffer + ldrh r0, [r4, 0x22] + lsls r0, 24 + lsrs r0, 24 + bl ClearWindowTilemap + ldrh r0, [r4, 0x22] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x2 + bl CopyWindowToVram + ldrh r0, [r4, 0x22] + lsls r0, 24 + lsrs r0, 24 + bl RemoveWindow + adds r0, r5, 0 + bl DestroyTask +_0813AFB6: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813AF48 + + thumb_func_start sub_813AFC8 +sub_813AFC8: @ 813AFC8 + push {lr} + ldr r0, =task_deoxys_sound + movs r1, 0x8 + bl CreateTask + pop {r0} + bx r0 + .pool + thumb_func_end sub_813AFC8 + + thumb_func_start task_deoxys_sound +task_deoxys_sound: @ 813AFDC + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r7, r0, 24 + ldr r0, =0x000008d4 + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0813B004 + ldr r1, =gSpecialVar_Result + movs r0, 0x3 + b _0813B06A + .pool +_0813B004: + ldr r0, =0x00004035 + mov r8, r0 + bl VarGet + lsls r0, 16 + lsrs r5, r0, 16 + ldr r4, =0x00004034 + adds r0, r4, 0 + bl VarGet + lsls r0, 16 + lsrs r6, r0, 16 + adds r0, r4, 0 + movs r1, 0 + bl VarSet + cmp r5, 0 + beq _0813B05C + ldr r0, =gUnknown_085B33F6 + subs r1, r5, 0x1 + adds r1, r0 + ldrb r0, [r1] + cmp r0, r6 + bcs _0813B05C + movs r0, 0 + bl sub_813B0B4 + mov r0, r8 + movs r1, 0 + bl VarSet + ldr r1, =gSpecialVar_Result + movs r0, 0 + strh r0, [r1] + b _0813B070 + .pool +_0813B05C: + cmp r5, 0xA + bne _0813B080 + ldr r0, =0x000008d4 + bl FlagSet + ldr r1, =gSpecialVar_Result + movs r0, 0x2 +_0813B06A: + strh r0, [r1] + bl EnableBothScriptContexts +_0813B070: + adds r0, r7, 0 + bl DestroyTask + b _0813B0A2 + .pool +_0813B080: + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + lsls r0, r5, 24 + lsrs r0, 24 + bl sub_813B0B4 + ldr r0, =0x00004035 + adds r1, r5, 0 + bl VarSet + ldr r1, =gSpecialVar_Result + movs r0, 0x1 + strh r0, [r1] + adds r0, r7, 0 + bl DestroyTask +_0813B0A2: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end task_deoxys_sound + + thumb_func_start sub_813B0B4 +sub_813B0B4: @ 813B0B4 + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 5 + ldr r1, =gUnknown_085B3280 + adds r0, r1 + movs r1, 0xD0 + lsls r1, 1 + movs r2, 0x8 + bl LoadPalette + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrb r1, [r0, 0x5] + ldrb r2, [r0, 0x4] + movs r0, 0x1 + mov r3, sp + bl TryGetFieldObjectIdByLocalIdAndMap + cmp r4, 0 + bne _0813B0F0 + movs r0, 0xC4 + bl PlaySE + b _0813B0F8 + .pool +_0813B0F0: + movs r0, 0x82 + lsls r0, 1 + bl PlaySE +_0813B0F8: + ldr r0, =sub_813B160 + movs r1, 0x8 + bl CreateTask + ldr r3, =gFieldEffectArguments + movs r0, 0x1 + str r0, [r3] + movs r0, 0x3A + str r0, [r3, 0x4] + movs r0, 0x1A + str r0, [r3, 0x8] + ldr r0, =gUnknown_085B33E0 + lsls r2, r4, 1 + adds r1, r2, r0 + ldrb r1, [r1] + str r1, [r3, 0xC] + adds r0, 0x1 + adds r0, r2, r0 + ldrb r0, [r0] + str r0, [r3, 0x10] + adds r5, r2, 0 + cmp r4, 0 + bne _0813B138 + movs r0, 0x3C + b _0813B13A + .pool +_0813B138: + movs r0, 0x5 +_0813B13A: + str r0, [r3, 0x14] + movs r0, 0x42 + bl FieldEffectStart + ldr r0, =gUnknown_085B33E0 + adds r1, r5, r0 + ldrb r1, [r1] + adds r0, 0x1 + adds r0, r5, r0 + ldrb r2, [r0] + movs r0, 0x1 + bl Overworld_SetMapObjTemplateCoords + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B0B4 + + thumb_func_start sub_813B160 +sub_813B160: @ 813B160 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0x42 + bl FieldEffectActiveListContains + lsls r0, 24 + cmp r0, 0 + bne _0813B17C + bl EnableBothScriptContexts + adds r0, r4, 0 + bl DestroyTask +_0813B17C: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_813B160 + + thumb_func_start increment_var_x4026_on_birth_island_modulo_100 +increment_var_x4026_on_birth_island_modulo_100: @ 813B184 + push {r4,lr} + ldr r4, =0x00004034 + adds r0, r4, 0 + bl VarGet + lsls r0, 16 + lsrs r2, r0, 16 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrh r1, [r0, 0x4] + ldr r0, =0x00003a1a + cmp r1, r0 + bne _0813B1C8 + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0x63 + bls _0813B1C0 + adds r0, r4, 0 + movs r1, 0 + bl VarSet + b _0813B1C8 + .pool +_0813B1C0: + adds r0, r4, 0 + adds r1, r2, 0 + bl VarSet +_0813B1C8: + pop {r4} + pop {r0} + bx r0 + thumb_func_end increment_var_x4026_on_birth_island_modulo_100 + + thumb_func_start sub_813B1D0 +sub_813B1D0: @ 813B1D0 + push {lr} + ldr r0, =0x00004035 + bl VarGet + lsls r0, 24 + lsrs r0, 19 + ldr r1, =gUnknown_085B3280 + adds r0, r1 + movs r1, 0xD0 + lsls r1, 1 + movs r2, 0x8 + bl LoadPalette + movs r0, 0x80 + lsls r0, 19 + movs r1, 0x10 + movs r2, 0 + bl BlendPalettes + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B1D0 + + thumb_func_start set_unknown_box_id +@ void set_unknown_box_id(char id) +set_unknown_box_id: @ 813B204 + ldr r1, =gUnknown_0203AB6F + strb r0, [r1] + bx lr + .pool + thumb_func_end set_unknown_box_id + + thumb_func_start get_unknown_box_id +get_unknown_box_id: @ 813B210 + ldr r0, =gUnknown_0203AB6F + ldrb r0, [r0] + bx lr + .pool + thumb_func_end get_unknown_box_id + + thumb_func_start sub_813B21C +sub_813B21C: @ 813B21C + push {r4,r5,lr} + ldr r5, =0x000008d7 + adds r0, r5, 0 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + bne _0813B258 + bl StorageGetCurrentBox + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, =0x00004036 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r4, r0 + beq _0813B258 + adds r0, r5, 0 + bl FlagSet + movs r0, 0x1 + b _0813B25A + .pool +_0813B258: + movs r0, 0 +_0813B25A: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_813B21C + + thumb_func_start sub_813B260 +sub_813B260: @ 813B260 + push {r4-r7,lr} + ldr r0, =0x00004036 + bl VarGet + lsls r0, 24 + lsrs r0, 24 + bl set_unknown_box_id + bl StorageGetCurrentBox + lsls r0, 24 + lsrs r4, r0, 24 +_0813B278: + movs r5, 0 + lsls r6, r4, 24 + lsls r7, r4, 16 +_0813B27E: + lsls r1, r5, 24 + lsrs r1, 24 + lsrs r0, r6, 24 + bl GetBoxedMonPtr + movs r1, 0xB + movs r2, 0 + bl GetBoxMonData + cmp r0, 0 + bne _0813B2C0 + bl get_unknown_box_id + lsls r0, 16 + lsrs r0, 16 + cmp r0, r4 + beq _0813B2A6 + ldr r0, =0x000008d7 + bl FlagClear +_0813B2A6: + ldr r0, =0x00004036 + lsrs r1, r7, 16 + bl VarSet + bl sub_813B21C + lsls r0, 24 + lsrs r0, 24 + b _0813B2DC + .pool +_0813B2C0: + adds r5, 0x1 + cmp r5, 0x1D + ble _0813B27E + adds r4, 0x1 + cmp r4, 0xE + bne _0813B2CE + movs r4, 0 +_0813B2CE: + bl StorageGetCurrentBox + lsls r0, 24 + lsrs r0, 24 + cmp r4, r0 + bne _0813B278 + movs r0, 0 +_0813B2DC: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_813B260 + + thumb_func_start sub_813B2E4 +sub_813B2E4: @ 813B2E4 + push {r4,lr} + bl Random + lsls r0, 16 + lsrs r4, r0, 16 + ldr r0, =0x00004038 + movs r1, 0 + bl VarSet + movs r0, 0xDF + lsls r0, 1 + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0813B340 + ldr r0, =0x000001bf + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0813B330 + ldr r0, =0x00004037 + movs r1, 0x7 + ands r4, r1 + adds r1, r4, 0 + adds r1, 0x9 + bl VarSet + b _0813B36A + .pool +_0813B330: + movs r0, 0x1 + ands r4, r0 + cmp r4, 0 + bne _0813B354 + bl Random + lsls r0, 16 + lsrs r4, r0, 16 +_0813B340: + ldr r0, =0x00004037 + movs r1, 0x7 + ands r4, r1 + adds r1, r4, 0x1 + bl VarSet + b _0813B36A + .pool +_0813B354: + bl Random + lsls r0, 16 + lsrs r4, r0, 16 + ldr r0, =0x00004037 + movs r1, 0x7 + ands r4, r1 + adds r1, r4, 0 + adds r1, 0x9 + bl VarSet +_0813B36A: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B2E4 + + thumb_func_start sub_813B374 +sub_813B374: @ 813B374 + push {r4,lr} + ldr r0, =0x00004037 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r0, =gStringVar1 + ldr r2, =gUnknown_085B3400 + subs r1, r4, 0x1 + adds r1, r2 + ldrb r1, [r1] + movs r2, 0 + bl GetMapName + cmp r4, 0x8 + bls _0813B3A8 + movs r0, 0x1 + b _0813B3AA + .pool +_0813B3A8: + movs r0, 0 +_0813B3AA: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_813B374 + + thumb_func_start sub_813B3B0 +sub_813B3B0: @ 813B3B0 + push {r4-r6,lr} + ldr r5, =0x00004038 + adds r0, r5, 0 + bl VarGet + lsls r0, 16 + lsrs r4, r0, 16 + ldr r0, =0x00004037 + bl VarGet + lsls r0, 16 + lsrs r6, r0, 16 + cmp r6, 0 + beq _0813B47C + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + ldr r0, =0x000003e7 + cmp r4, r0 + bls _0813B474 + adds r0, r5, 0 + movs r1, 0 + bl VarSet + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + movs r0, 0x4 + ldrsb r0, [r1, r0] + cmp r0, 0x18 + bne _0813B414 + movs r0, 0x5 + ldrsb r0, [r1, r0] + cmp r0, 0x69 + bgt _0813B414 + cmp r0, 0x65 + blt _0813B414 + ldr r0, =0x00004039 + movs r1, 0x1 + b _0813B478 + .pool +_0813B414: + ldr r0, =gSaveBlock1Ptr + ldr r2, [r0] + movs r1, 0x4 + ldrsb r1, [r2, r1] + adds r3, r0, 0 + cmp r1, 0 + bne _0813B444 + movs r0, 0x5 + ldrsb r0, [r2, r0] + cmp r0, 0x34 + beq _0813B436 + cmp r0, 0x34 + blt _0813B444 + cmp r0, 0x38 + bgt _0813B444 + cmp r0, 0x36 + blt _0813B444 +_0813B436: + ldr r0, =0x00004039 + movs r1, 0x1 + b _0813B478 + .pool +_0813B444: + ldr r3, [r3] + movs r2, 0x5 + ldrsb r2, [r3, r2] + ldr r1, =gUnknown_085B3410 + subs r0, r6, 0x1 + adds r0, r1 + ldrb r0, [r0] + cmp r2, r0 + bne _0813B468 + movs r0, 0x4 + ldrsb r0, [r3, r0] + cmp r0, 0 + bne _0813B468 + movs r0, 0x1 + b _0813B47E + .pool +_0813B468: + ldr r0, =0x00004037 + movs r1, 0 + b _0813B478 + .pool +_0813B474: + adds r0, r5, 0 + adds r1, r4, 0 +_0813B478: + bl VarSet +_0813B47C: + movs r0, 0 +_0813B47E: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_813B3B0 + + thumb_func_start sub_813B484 +sub_813B484: @ 813B484 + push {lr} + movs r0, 0x2 + bl sub_80AB104 + pop {r0} + bx r0 + thumb_func_end sub_813B484 + + thumb_func_start sub_813B490 +sub_813B490: @ 813B490 + push {r4-r7,lr} + movs r3, 0 + ldr r0, =gSaveBlock1Ptr + ldr r4, [r0] + movs r6, 0x4 + ldrsb r6, [r4, r6] + ldr r5, =gUnknown_085B3420 + adds r0, r5, 0x2 + mov r12, r0 + adds r7, r5, 0x1 +_0813B4A4: + lsls r0, r3, 1 + adds r2, r0, r3 + adds r0, r2, r5 + ldrb r0, [r0] + cmp r6, r0 + bne _0813B4CC + movs r1, 0x5 + ldrsb r1, [r4, r1] + adds r0, r2, r7 + ldrb r0, [r0] + cmp r1, r0 + bne _0813B4CC + mov r1, r12 + adds r0, r2, r1 + ldrb r0, [r0] + b _0813B4D8 + .pool +_0813B4CC: + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0xB + bls _0813B4A4 + movs r0, 0x1 +_0813B4D8: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_813B490 + + thumb_func_start sub_813B4E0 +sub_813B4E0: @ 813B4E0 + push {lr} + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + bl sub_81D15CC + cmp r0, 0 + blt _0813B50C + movs r1, 0xAE + lsls r1, 1 + adds r0, r1 + lsls r0, 16 + lsrs r0, 16 + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0813B50C + movs r0, 0x1 + b _0813B50E + .pool +_0813B50C: + movs r0, 0 +_0813B50E: + pop {r1} + bx r1 + thumb_func_end sub_813B4E0 + + thumb_func_start sub_813B514 +sub_813B514: @ 813B514 + push {lr} + ldr r0, =0x0000403f + bl VarGet + lsls r0, 16 + cmp r0, 0 + beq _0813B52C + movs r0, 0x1 + b _0813B52E + .pool +_0813B52C: + movs r0, 0 +_0813B52E: + pop {r1} + bx r1 + thumb_func_end sub_813B514 + + thumb_func_start sub_813B534 +sub_813B534: @ 813B534 + push {lr} + ldr r2, =gUnknown_0203AB70 + ldr r1, =gBattleTypeFlags + ldr r0, [r1] + str r0, [r2] + movs r0, 0 + str r0, [r1] + ldr r0, =gReceivedRemoteLinkPlayers + ldrb r0, [r0] + cmp r0, 0 + bne _0813B552 + ldr r0, =sub_80B3AF8 + movs r1, 0x5 + bl CreateTask +_0813B552: + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B534 + + thumb_func_start sub_813B568 +sub_813B568: @ 813B568 + push {lr} + ldr r0, =sub_813B57C + movs r1, 0x5 + bl CreateTask + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B568 + + thumb_func_start sub_813B57C +sub_813B57C: @ 813B57C + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r1, =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r1, 0x8 + ldrsh r0, [r0, r1] + cmp r0, 0x9 + bls _0813B596 + b _0813B7C6 +_0813B596: + lsls r0, 2 + ldr r1, =_0813B5A8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0813B5A8: + .4byte _0813B5D0 + .4byte _0813B5E4 + .4byte _0813B614 + .4byte _0813B6B4 + .4byte _0813B6E4 + .4byte _0813B728 + .4byte _0813B764 + .4byte _0813B772 + .4byte _0813B784 + .4byte _0813B7A8 +_0813B5D0: + ldr r0, =sub_80B3AF8 + bl FuncIsActiveTask + lsls r0, 24 + cmp r0, 0 + beq _0813B5DE + b _0813B7C6 +_0813B5DE: + b _0813B790 + .pool +_0813B5E4: + bl sub_800A520 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0813B5F2 + b _0813B7C6 +_0813B5F2: + bl GetMultiplayerId + lsls r0, 24 + cmp r0, 0 + bne _0813B5FE + b _0813B790 +_0813B5FE: + bl bitmask_all_link_players_but_self + lsls r0, 24 + lsrs r0, 24 + ldr r1, =gSpecialVar_0x8004 + movs r2, 0x2 + bl SendBlock + b _0813B708 + .pool +_0813B614: + bl GetBlockReceivedStatus + movs r1, 0x2 + ands r1, r0 + cmp r1, 0 + bne _0813B622 + b _0813B7C6 +_0813B622: + bl GetMultiplayerId + lsls r0, 24 + cmp r0, 0 + beq _0813B62E + b _0813B790 +_0813B62E: + ldr r5, =gSpecialVar_0x8005 + ldr r0, =gBlockRecvBuffer + movs r1, 0x80 + lsls r1, 1 + adds r0, r1 + ldrh r0, [r0] + strh r0, [r5] + movs r0, 0x1 + bl ResetBlockReceivedFlag + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r0, 0x1 + bne _0813B668 + ldrh r1, [r5] + cmp r1, 0x1 + bne _0813B668 + ldr r0, =gSpecialVar_Result + strh r1, [r0] + b _0813B790 + .pool +_0813B668: + ldr r0, =gSpecialVar_0x8004 + ldrh r1, [r0] + adds r2, r0, 0 + cmp r1, 0 + bne _0813B68C + ldr r0, =gSpecialVar_0x8005 + ldrh r0, [r0] + cmp r0, 0x1 + bne _0813B68C + ldr r1, =gSpecialVar_Result + movs r0, 0x2 + b _0813B6AC + .pool +_0813B68C: + ldrh r0, [r2] + cmp r0, 0x1 + bne _0813B6A8 + ldr r0, =gSpecialVar_0x8005 + ldrh r0, [r0] + cmp r0, 0 + bne _0813B6A8 + ldr r1, =gSpecialVar_Result + movs r0, 0x3 + b _0813B6AC + .pool +_0813B6A8: + ldr r1, =gSpecialVar_Result + movs r0, 0 +_0813B6AC: + strh r0, [r1] + b _0813B790 + .pool +_0813B6B4: + bl sub_800A520 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0813B6C2 + b _0813B7C6 +_0813B6C2: + bl GetMultiplayerId + lsls r0, 24 + cmp r0, 0 + bne _0813B790 + bl bitmask_all_link_players_but_self + lsls r0, 24 + lsrs r0, 24 + ldr r1, =gSpecialVar_Result + movs r2, 0x2 + bl SendBlock + b _0813B708 + .pool +_0813B6E4: + bl GetBlockReceivedStatus + movs r1, 0x1 + ands r1, r0 + cmp r1, 0 + beq _0813B7C6 + bl GetMultiplayerId + lsls r0, 24 + cmp r0, 0 + beq _0813B790 + ldr r1, =gSpecialVar_Result + ldr r0, =gBlockRecvBuffer + ldrh r0, [r0] + strh r0, [r1] + movs r0, 0 + bl ResetBlockReceivedFlag +_0813B708: + ldr r1, =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldrh r1, [r0, 0x8] + adds r1, 0x1 + strh r1, [r0, 0x8] + b _0813B7C6 + .pool +_0813B728: + bl GetMultiplayerId + lsls r0, 24 + cmp r0, 0 + bne _0813B74C + ldr r0, =gSpecialVar_Result + ldrh r0, [r0] + cmp r0, 0x2 + bne _0813B790 + ldr r0, =gText_YourPartnerHasRetired + bl ShowFieldAutoScrollMessage + b _0813B790 + .pool +_0813B74C: + ldr r0, =gSpecialVar_Result + ldrh r0, [r0] + cmp r0, 0x3 + bne _0813B790 + ldr r0, =gText_YourPartnerHasRetired + bl ShowFieldAutoScrollMessage + b _0813B790 + .pool +_0813B764: + movs r0, 0 + bl IsTextPrinterActive + lsls r0, 16 + cmp r0, 0 + bne _0813B7C6 + b _0813B790 +_0813B772: + bl sub_800A520 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0813B7C6 + bl sub_800ADF8 + b _0813B790 +_0813B784: + bl sub_800A520 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0813B7C6 +_0813B790: + ldr r0, =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + b _0813B7C6 + .pool +_0813B7A8: + ldr r0, =gLinkVSyncDisabled + ldrb r0, [r0] + cmp r0, 0 + bne _0813B7B4 + bl sub_800AC34 +_0813B7B4: + ldr r0, =gBattleTypeFlags + ldr r1, =gUnknown_0203AB70 + ldr r1, [r1] + str r1, [r0] + bl EnableBothScriptContexts + adds r0, r4, 0 + bl DestroyTask +_0813B7C6: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B57C + + thumb_func_start sub_813B7D8 +sub_813B7D8: @ 813B7D8 + push {lr} + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r0, 0 + bne _0813B7F8 + ldr r2, =c2_exit_to_overworld_1_continue_scripts_restart_music + movs r0, 0 + movs r1, 0x1 + bl DoRayquazaScene + b _0813B802 + .pool +_0813B7F8: + ldr r2, =c2_exit_to_overworld_1_continue_scripts_restart_music + movs r0, 0x1 + movs r1, 0 + bl DoRayquazaScene +_0813B802: + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B7D8 + + thumb_func_start sub_813B80C +sub_813B80C: @ 813B80C + push {lr} + ldr r0, =sub_813B824 + movs r1, 0x8 + bl CreateTask + movs r0, 0x9D + bl PlaySE + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B80C + + thumb_func_start sub_813B824 +sub_813B824: @ 813B824 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, =gTasks + 0x8 + adds r4, r0, r1 + ldrh r0, [r4, 0x2] + adds r0, 0x1 + strh r0, [r4, 0x2] + movs r0, 0x2 + ldrsh r1, [r4, r0] + ldr r0, =gSpecialVar_0x8005 + ldrh r0, [r0] + cmp r1, r0 + bne _0813B858 + ldrh r0, [r4] + adds r0, 0x1 + strh r0, [r4] + movs r0, 0 + strh r0, [r4, 0x2] + movs r0, 0x9D + bl PlaySE +_0813B858: + movs r0, 0 + ldrsh r1, [r4, r0] + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + subs r0, 0x1 + cmp r1, r0 + bne _0813B86C + adds r0, r5, 0 + bl DestroyTask +_0813B86C: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B824 + + thumb_func_start sub_813B880 +sub_813B880: @ 813B880 + push {lr} + ldr r0, =_fwalk + movs r1, 0x8 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r2, 0 + movs r0, 0x4 + strh r0, [r1, 0x8] + strh r0, [r1, 0xA] + strh r0, [r1, 0xC] + strh r2, [r1, 0xE] + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B880 + + thumb_func_start _fwalk +_fwalk: @ 813B8B0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + lsls r0, 2 + add r0, r9 + lsls r0, 3 + ldr r1, =gTasks + 0x8 + adds r5, r0, r1 + movs r0, 0x6 + ldrsh r1, [r5, r0] + lsls r1, 1 + adds r1, r5 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + movs r1, 0x6 + ldrsh r0, [r5, r1] + lsls r0, 1 + adds r0, r5 + movs r2, 0 + ldrsh r0, [r0, r2] + cmp r0, 0 + bne _0813B94E + movs r6, 0 +_0813B8EA: + movs r4, 0 + lsls r3, r6, 3 + mov r10, r3 + adds r7, r6, 0x1 + mov r8, r7 +_0813B8F4: + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + movs r2, 0 + ldrsh r0, [r1, r2] + adds r0, r4 + adds r0, 0x6 + movs r3, 0x2 + ldrsh r1, [r1, r3] + adds r1, r6 + adds r1, 0x4 + ldr r7, =0x00000201 + adds r2, r4, r7 + add r2, r10 + movs r7, 0x6 + ldrsh r3, [r5, r7] + lsls r3, 5 + adds r2, r3 + lsls r2, 16 + lsrs r2, 16 + bl MapGridSetMetatileIdAt + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x2 + bls _0813B8F4 + mov r1, r8 + lsls r0, r1, 24 + lsrs r6, r0, 24 + cmp r6, 0x3 + bls _0813B8EA + bl DrawWholeMapView + ldrh r0, [r5, 0x6] + adds r0, 0x1 + strh r0, [r5, 0x6] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + bne _0813B94E + mov r0, r9 + bl DestroyTask + bl EnableBothScriptContexts +_0813B94E: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end _fwalk + + thumb_func_start sub_813B968 +sub_813B968: @ 813B968 + push {r4,r5,lr} + ldr r5, =gSpecialVar_Result + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + movs r1, 0x7 + bl __udivsi3 + strh r0, [r5] + ldrh r4, [r5] + adds r0, r4, 0 + movs r1, 0x14 + bl __udivsi3 + lsls r0, 16 + lsrs r0, 16 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 2 + subs r4, r1 + strh r4, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B968 + + thumb_func_start sub_813B9A0 +sub_813B9A0: @ 813B9A0 + push {lr} + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrh r1, [r0, 0x1C] + movs r0, 0xB0 + lsls r0, 4 + cmp r1, r0 + bne _0813B9B6 + movs r0, 0x3 + bl Overworld_SetHealLocationWarp +_0813B9B6: + pop {r0} + bx r0 + .pool + thumb_func_end sub_813B9A0 + + thumb_func_start sub_813B9C0 +sub_813B9C0: @ 813B9C0 + push {r4,lr} + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + movs r1, 0x4 + ldrsb r1, [r0, r1] + lsls r1, 8 + ldrb r0, [r0, 0x5] + lsls r0, 24 + asrs r0, 24 + adds r0, r1 + lsls r0, 16 + lsrs r3, r0, 16 + ldr r2, =gUnknown_085B3444 + ldrh r0, [r2] + ldr r1, =0x0000ffff + cmp r0, r1 + beq _0813BA06 + adds r4, r1, 0 + adds r1, r2, 0 +_0813B9E6: + ldrh r0, [r2] + cmp r0, r3 + bne _0813B9FC + movs r0, 0x1 + b _0813BA08 + .pool +_0813B9FC: + adds r1, 0x2 + adds r2, 0x2 + ldrh r0, [r1] + cmp r0, r4 + bne _0813B9E6 +_0813BA06: + movs r0, 0 +_0813BA08: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_813B9C0 + + thumb_func_start ResetFanClub +ResetFanClub: @ 813BA10 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r2, =0x0000141e + adds r1, r0, r2 + movs r2, 0 + strh r2, [r1] + movs r1, 0xA1 + lsls r1, 5 + adds r0, r1 + strh r2, [r0] + bx lr + .pool + thumb_func_end ResetFanClub + + thumb_func_start sub_813BA30 +sub_813BA30: @ 813BA30 + push {lr} + bl sub_813BF44 + lsls r0, 24 + cmp r0, 0 + beq _0813BA52 + bl sub_813BCE8 + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldrh r0, [r0, 0xE] + movs r2, 0xA1 + lsls r2, 5 + adds r1, r2 + strh r0, [r1] +_0813BA52: + pop {r0} + bx r0 + .pool + thumb_func_end sub_813BA30 + + thumb_func_start sub_813BA60 +sub_813BA60: @ 813BA60 + push {r4,lr} + ldr r4, =gSaveBlock1Ptr + ldr r0, [r4] + ldr r1, =0x0000141e + adds r0, r1 + ldrh r0, [r0] + lsrs r0, 7 + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + bne _0813BAB6 + bl sub_813BF60 + bl sub_813BD84 + ldr r1, [r4] + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldrh r0, [r0, 0xE] + movs r2, 0xA1 + lsls r2, 5 + adds r1, r2 + strh r0, [r1] + ldr r0, =0x00000315 + bl FlagClear + ldr r0, =0x00000316 + bl FlagClear + ldr r0, =0x00000317 + bl FlagClear + movs r0, 0xC6 + lsls r0, 2 + bl FlagClear + ldr r0, =0x000002da + bl FlagClear + ldr r0, =0x00004095 + movs r1, 0x1 + bl VarSet +_0813BAB6: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813BA60 + + thumb_func_start sub_813BADC +sub_813BADC: @ 813BADC + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r0, =0x00004095 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x2 + bne _0813BB58 + ldr r4, =gSaveBlock1Ptr + ldr r0, [r4] + ldr r5, =0x0000141e + adds r3, r0, r5 + ldrh r2, [r3] + movs r1, 0x7F + ands r1, r2 + ldr r0, =gUnknown_085B3470 + adds r0, r6, r0 + ldrb r0, [r0] + adds r1, r0 + cmp r1, 0x13 + ble _0813BB54 + bl sub_813BCA8 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x2 + bhi _0813BB3C + bl sub_813BB74 + ldr r0, [r4] + adds r0, r5 + ldrh r2, [r0] + ldr r1, =0x0000ff80 + ands r1, r2 + strh r1, [r0] + b _0813BB58 + .pool +_0813BB3C: + ldr r2, [r4] + adds r2, r5 + ldrh r1, [r2] + ldr r0, =0x0000ff80 + ands r0, r1 + movs r1, 0x14 + orrs r0, r1 + strh r0, [r2] + b _0813BB58 + .pool +_0813BB54: + adds r0, r2, r0 + strh r0, [r3] +_0813BB58: + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r1, =0x0000141e + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x7F + ands r0, r1 + pop {r4-r6} + pop {r1} + bx r1 + .pool + thumb_func_end sub_813BADC + + thumb_func_start sub_813BB74 +sub_813BB74: @ 813BB74 + push {r4-r7,lr} + sub sp, 0x8 + movs r3, 0 + movs r5, 0 + ldr r7, =gSaveBlock1Ptr + ldr r2, =0x0000141e + movs r6, 0x1 +_0813BB82: + ldr r0, [r7] + adds r0, r2 + ldrh r1, [r0] + ldr r0, =gUnknown_085B3474 + adds r0, r5, r0 + ldrb r4, [r0] + asrs r1, r4 + ands r1, r6 + cmp r1, 0 + bne _0813BBC8 + adds r3, r5, 0 + str r2, [sp] + str r3, [sp, 0x4] + bl Random + adds r1, r6, 0 + ands r1, r0 + ldr r2, [sp] + ldr r3, [sp, 0x4] + cmp r1, 0 + beq _0813BBC8 + ldr r0, [r7] + adds r0, r2 + adds r1, r6, 0 + lsls r1, r4 + ldrh r2, [r0] + orrs r1, r2 + strh r1, [r0] + b _0813BBEA + .pool +_0813BBC8: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x7 + bls _0813BB82 + ldr r0, =gSaveBlock1Ptr + ldr r2, [r0] + ldr r0, =0x0000141e + adds r2, r0 + ldr r1, =gUnknown_085B3474 + adds r1, r3, r1 + movs r0, 0x1 + ldrb r1, [r1] + lsls r0, r1 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] +_0813BBEA: + adds r0, r3, 0 + add sp, 0x8 + pop {r4-r7} + pop {r1} + bx r1 + .pool + thumb_func_end sub_813BB74 + + thumb_func_start sub_813BC00 +sub_813BC00: @ 813BC00 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + movs r0, 0 + mov r10, r0 + bl sub_813BCA8 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x1 + bne _0813BC2E + movs r0, 0 + b _0813BC8E +_0813BC1E: + mov r1, r8 + ldr r0, [r1] + add r0, r9 + lsls r4, r6 + ldrh r1, [r0] + eors r4, r1 + strh r4, [r0] + b _0813BC8C +_0813BC2E: + movs r5, 0 + ldr r2, =gSaveBlock1Ptr + mov r8, r2 + ldr r0, =0x0000141e + mov r9, r0 + movs r4, 0x1 +_0813BC3A: + mov r1, r8 + ldr r0, [r1] + add r0, r9 + ldrh r1, [r0] + ldr r7, =gUnknown_085B347C + adds r0, r5, r7 + ldrb r6, [r0] + asrs r1, r6 + ands r1, r4 + cmp r1, 0 + beq _0813BC5E + mov r10, r5 + bl Random + adds r1, r4, 0 + ands r1, r0 + cmp r1, 0 + bne _0813BC1E +_0813BC5E: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x7 + bls _0813BC3A + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r2, =0x0000141e + adds r4, r0, r2 + ldrh r1, [r4] + mov r2, r10 + adds r0, r2, r7 + ldrb r2, [r0] + adds r0, r1, 0 + asrs r0, r2 + movs r3, 0x1 + ands r0, r3 + cmp r0, 0 + beq _0813BC8C + adds r0, r3, 0 + lsls r0, r2 + eors r1, r0 + strh r1, [r4] +_0813BC8C: + mov r0, r10 +_0813BC8E: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .pool + thumb_func_end sub_813BC00 + + thumb_func_start sub_813BCA8 +sub_813BCA8: @ 813BCA8 + push {r4,r5,lr} + movs r3, 0 + movs r2, 0 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r1, =0x0000141e + adds r0, r1 + ldrh r4, [r0] + movs r5, 0x1 +_0813BCBA: + adds r1, r2, 0 + adds r1, 0x8 + adds r0, r4, 0 + asrs r0, r1 + ands r0, r5 + cmp r0, 0 + beq _0813BCCE + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 +_0813BCCE: + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x7 + bls _0813BCBA + adds r0, r3, 0 + pop {r4,r5} + pop {r1} + bx r1 + .pool + thumb_func_end sub_813BCA8 + + thumb_func_start sub_813BCE8 +sub_813BCE8: @ 813BCE8 + push {r4-r6,lr} + movs r5, 0 + ldr r2, =gSaveBlock2Ptr + ldr r0, [r2] + ldrh r1, [r0, 0xE] + ldr r0, =0x000003e6 + cmp r1, r0 + bhi _0813BD58 + adds r6, r2, 0 + b _0813BD32 + .pool +_0813BD04: + ldr r0, [r6] + ldrh r1, [r0, 0xE] + ldr r4, =gSaveBlock1Ptr + ldr r0, [r4] + movs r2, 0xA1 + lsls r2, 5 + adds r0, r2 + ldrh r0, [r0] + subs r1, r0 + cmp r1, 0xB + ble _0813BD58 + bl sub_813BC00 + ldr r0, [r4] + movs r1, 0xA1 + lsls r1, 5 + adds r0, r1 + ldrh r1, [r0] + adds r1, 0xC + strh r1, [r0] + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 +_0813BD32: + bl sub_813BCA8 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x4 + bhi _0813BD54 + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + ldr r0, [r6] + ldrh r0, [r0, 0xE] + movs r2, 0xA1 + lsls r2, 5 + adds r1, r2 + strh r0, [r1] + b _0813BD58 + .pool +_0813BD54: + cmp r5, 0x8 + bne _0813BD04 +_0813BD58: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_813BCE8 + + thumb_func_start sub_813BD60 +sub_813BD60: @ 813BD60 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r1, =0x0000141e + adds r0, r1 + ldrh r0, [r0] + ldr r1, =gSpecialVar_0x8004 + ldrh r1, [r1] + asrs r0, r1 + movs r1, 0x1 + ands r0, r1 + bx lr + .pool + thumb_func_end sub_813BD60 + + thumb_func_start sub_813BD84 +sub_813BD84: @ 813BD84 + ldr r0, =gSaveBlock1Ptr + ldr r2, [r0] + ldr r0, =0x0000141e + adds r2, r0 + ldrh r1, [r2] + movs r3, 0x80 + lsls r3, 6 + adds r0, r3, 0 + orrs r0, r1 + movs r3, 0x80 + lsls r3, 1 + adds r1, r3, 0 + orrs r0, r1 + movs r3, 0x80 + lsls r3, 3 + adds r1, r3, 0 + orrs r0, r1 + strh r0, [r2] + bx lr + .pool + thumb_func_end sub_813BD84 + + thumb_func_start sub_813BDB4 +sub_813BDB4: @ 813BDB4 + push {lr} + movs r3, 0 + movs r2, 0 + ldr r0, =gSpecialVar_0x8004 + ldrh r0, [r0] + subs r0, 0x8 + cmp r0, 0x7 + bhi _0813BE14 + lsls r0, 2 + ldr r1, =_0813BDD8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0813BDD8: + .4byte _0813BE14 + .4byte _0813BE14 + .4byte _0813BDF8 + .4byte _0813BDFE + .4byte _0813BE04 + .4byte _0813BE0A + .4byte _0813BE10 + .4byte _0813BE14 +_0813BDF8: + movs r3, 0 + movs r2, 0x3 + b _0813BE14 +_0813BDFE: + movs r3, 0 + movs r2, 0x1 + b _0813BE14 +_0813BE04: + movs r3, 0x1 + movs r2, 0 + b _0813BE14 +_0813BE0A: + movs r3, 0 + movs r2, 0x4 + b _0813BE14 +_0813BE10: + movs r3, 0x1 + movs r2, 0x5 +_0813BE14: + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r1, =0x00003150 + adds r0, r1 + adds r1, r3, 0 + bl sub_813BE30 + pop {r0} + bx r0 + .pool + thumb_func_end sub_813BDB4 + + thumb_func_start sub_813BE30 +sub_813BE30: @ 813BE30 + push {r4-r6,lr} + adds r6, r0, 0 + lsls r1, 24 + lsrs r5, r1, 24 + lsls r2, 24 + lsrs r2, 24 + lsls r0, r5, 4 + adds r1, r6, r0 + ldrb r0, [r1] + cmp r0, 0xFF + bne _0813BEE8 + cmp r2, 0x5 + bhi _0813BED4 + lsls r0, r2, 2 + ldr r1, =_0813BE58 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0813BE58: + .4byte _0813BED4 + .4byte _0813BE70 + .4byte _0813BE84 + .4byte _0813BE98 + .4byte _0813BEAC + .4byte _0813BEC0 +_0813BE70: + ldr r0, =gStringVar1 + ldr r1, =gText_Steven + bl StringCopy + b _0813BF04 + .pool +_0813BE84: + ldr r0, =gStringVar1 + ldr r1, =gText_Brawly + bl StringCopy + b _0813BF04 + .pool +_0813BE98: + ldr r0, =gStringVar1 + ldr r1, =gText_Winona + bl StringCopy + b _0813BF04 + .pool +_0813BEAC: + ldr r0, =gStringVar1 + ldr r1, =gText_Phoebe + bl StringCopy + b _0813BF04 + .pool +_0813BEC0: + ldr r0, =gStringVar1 + ldr r1, =gText_Glacia + bl StringCopy + b _0813BF04 + .pool +_0813BED4: + ldr r0, =gStringVar1 + ldr r1, =gText_Wallace + bl StringCopy + b _0813BF04 + .pool +_0813BEE8: + ldr r4, =gStringVar1 + adds r0, r4, 0 + movs r2, 0x7 + bl StringCopyN + movs r0, 0xFF + strb r0, [r4, 0x7] + adds r0, r6, 0 + adds r0, 0x50 + adds r0, r5 + ldrb r1, [r0] + adds r0, r4, 0 + bl ConvertInternationalString +_0813BF04: + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813BE30 + + thumb_func_start sub_813BF10 +sub_813BF10: @ 813BF10 + push {lr} + ldr r0, =0x00004095 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x2 + bne _0813BF40 + bl sub_813BA30 + ldr r0, =gBattleOutcome + ldrb r0, [r0] + cmp r0, 0x1 + bne _0813BF3C + bl sub_813BB74 + b _0813BF40 + .pool +_0813BF3C: + bl sub_813BC00 +_0813BF40: + pop {r0} + bx r0 + thumb_func_end sub_813BF10 + + thumb_func_start sub_813BF44 +sub_813BF44: @ 813BF44 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r1, =0x0000141e + adds r0, r1 + ldrh r0, [r0] + lsrs r0, 7 + movs r1, 0x1 + ands r0, r1 + bx lr + .pool + thumb_func_end sub_813BF44 + + thumb_func_start sub_813BF60 +sub_813BF60: @ 813BF60 + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + ldr r0, =0x0000141e + adds r1, r0 + ldrh r2, [r1] + movs r0, 0x80 + orrs r0, r2 + strh r0, [r1] + bx lr + .pool + thumb_func_end sub_813BF60 + + thumb_func_start sub_813BF7C +sub_813BF7C: @ 813BF7C + push {lr} + ldr r0, =gSpecialVar_0x8004 + ldrb r0, [r0] + bl sub_813BADC + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .pool + thumb_func_end sub_813BF7C + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_tasks.s b/asm/field_tasks.s index 39bd3b5452..4befe0ca7a 100644 --- a/asm/field_tasks.s +++ b/asm/field_tasks.s @@ -1662,7 +1662,7 @@ _0809E572: lsls r0, 24 cmp r0, 0 beq _0809E5D2 - bl sub_811A138 + bl GetPlayerSpeed lsls r0, 16 asrs r0, 16 cmp r0, 0x4 diff --git a/asm/fldeff_80F9BCC.s b/asm/fldeff_80F9BCC.s index 63acc99829..e31375f9f7 100644 --- a/asm/fldeff_80F9BCC.s +++ b/asm/fldeff_80F9BCC.s @@ -563,7 +563,7 @@ _080F9FFE: sub_80FA004: @ 80FA004 push {r4,lr} bl sub_80E8BC8 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0x1 beq _080FA0AE @@ -591,7 +591,7 @@ sub_80FA004: @ 80FA004 bne _080FA070 bl sub_80F9F5C ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_80FA0DC @@ -606,7 +606,7 @@ _080FA070: bne _080FA0A0 bl sub_80F9F5C ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_80FA1E8 @@ -625,7 +625,7 @@ _080FA0AE: _080FA0B2: bl sub_80F9F5C ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_80FA34C @@ -642,12 +642,12 @@ _080FA0C4: thumb_func_start sub_80FA0DC sub_80FA0DC: @ 80FA0DC push {lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] - ldr r0, =gUnknown_08275A86 + ldr r0, =EventScript_275A86 bl ScriptContext1_SetupScript pop {r0} bx r0 @@ -777,12 +777,12 @@ sub_80FA1D8: @ 80FA1D8 thumb_func_start sub_80FA1E8 sub_80FA1E8: @ 80FA1E8 push {lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] - ldr r0, =gUnknown_08275ADF + ldr r0, =EventScript_275ADF bl ScriptContext1_SetupScript pop {r0} bx r0 @@ -950,12 +950,12 @@ sub_80FA33C: @ 80FA33C thumb_func_start sub_80FA34C sub_80FA34C: @ 80FA34C push {lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] - ldr r0, =gUnknown_08275B38 + ldr r0, =EventScript_275B38 bl ScriptContext1_SetupScript pop {r0} bx r0 @@ -2063,7 +2063,7 @@ _080FACC2: ldr r0, =gStringVar2 ldr r1, =gText_Gold bl StringCopy - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] ldr r0, =0x00004054 @@ -2087,7 +2087,7 @@ _080FAD14: ldr r0, =gStringVar2 ldr r1, =gText_Silver bl StringCopy - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] ldr r0, =0x00004054 @@ -2103,12 +2103,12 @@ _080FAD14: b _080FAD8A .pool _080FAD60: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 b _080FAD70 .pool _080FAD6C: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x2 _080FAD70: strh r0, [r1] @@ -2131,7 +2131,7 @@ _080FAD8A: b _080FADCE .pool _080FADA4: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x3 strh r0, [r1] ldr r0, =0x00004054 @@ -2200,8 +2200,8 @@ _080FAE2A: .pool thumb_func_end sub_80FADE4 - thumb_func_start task50_overworld_posion_effect -task50_overworld_posion_effect: @ 80FAE38 + thumb_func_start task50_overworld_poison_effect +task50_overworld_poison_effect: @ 80FAE38 push {lr} lsls r0, 24 lsrs r2, r0, 24 @@ -2260,32 +2260,32 @@ _080FAE92: _080FAEA2: pop {r0} bx r0 - thumb_func_end task50_overworld_posion_effect + thumb_func_end task50_overworld_poison_effect - thumb_func_start overworld_posion_effect -overworld_posion_effect: @ 80FAEA8 + thumb_func_start overworld_poison_effect +overworld_poison_effect: @ 80FAEA8 push {lr} movs r0, 0x4F bl PlaySE - ldr r0, =task50_overworld_posion_effect + ldr r0, =task50_overworld_poison_effect movs r1, 0x50 bl CreateTask pop {r0} bx r0 .pool - thumb_func_end overworld_posion_effect + thumb_func_end overworld_poison_effect - thumb_func_start c3_80A0DD8_is_running -c3_80A0DD8_is_running: @ 80FAEC0 + thumb_func_start FieldPoisonEffectIsRunning +FieldPoisonEffectIsRunning: @ 80FAEC0 push {lr} - ldr r0, =task50_overworld_posion_effect + ldr r0, =task50_overworld_poison_effect bl FuncIsActiveTask lsls r0, 24 lsrs r0, 24 pop {r1} bx r1 .pool - thumb_func_end c3_80A0DD8_is_running + thumb_func_end FieldPoisonEffectIsRunning thumb_func_start sub_80FAED4 sub_80FAED4: @ 80FAED4 diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s old mode 100755 new mode 100644 index e31bf22e2e..19a29d729c --- a/asm/fldeff_cut.s +++ b/asm/fldeff_cut.s @@ -20,7 +20,7 @@ sub_80D3718: @ 80D3718 cmp r0, 0x1 bne _080D3754 ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_80D3A9C @@ -32,7 +32,7 @@ _080D3754: ldr r0, =gUnknown_0203AB40 adds r1, r0, 0x2 bl PlayerGetDestCoords - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 movs r1, 0x64 @@ -244,7 +244,7 @@ _080D38F8: lsrs r4, r0, 16 movs r7, 0x1 movs r5, 0 - ldr r3, =gUnknown_0857C60A + ldr r3, =gUnknown_0857C608 + 2 adds r0, r2, r3 ldrb r0, [r0] adds r6, 0x1 @@ -322,7 +322,7 @@ _080D395A: bne _080D39F8 _080D39BC: ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =hm2_ruin_valley @@ -360,7 +360,7 @@ _080D3A18: bne _080D3A2A _080D3A1E: ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =hm2_ruin_valley @@ -384,7 +384,7 @@ hm2_ruin_valley: @ 80D3A50 push {lr} movs r0, 0x1 bl FieldEffectStart - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 @@ -420,12 +420,12 @@ sub_80D3A6C: @ 80D3A6C thumb_func_start sub_80D3A9C sub_80D3A9C: @ 80D3A9C push {lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] - ldr r0, =gUnknown_08290705 + ldr r0, =Route103_EventScript_290705 bl ScriptContext1_SetupScript pop {r0} bx r0 @@ -1323,7 +1323,7 @@ _080D41D4: lsrs r0, 24 cmp r0, 0x1 bne _080D422A - ldr r0, =gUnknown_08267EDB + ldr r0, =FarawayIsland_Interior_EventScript_267EDB bl ScriptContext1_SetupScript _080D422A: pop {r4-r6} diff --git a/asm/fldeff_flash.s b/asm/fldeff_flash.s new file mode 100644 index 0000000000..d52ee34fc9 --- /dev/null +++ b/asm/fldeff_flash.s @@ -0,0 +1,709 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start SetUpFieldMove_Flash +SetUpFieldMove_Flash: @ 81370FC + push {r4,lr} + bl ShouldDoBrailleFlyEffect + lsls r0, 24 + cmp r0, 0 + beq _08137134 + ldr r4, =gSpecialVar_Result + bl GetCursorSelectionMonId + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4] + ldr r1, =gUnknown_03005DB0 + ldr r0, =FieldCallback_Teleport + str r0, [r1] + ldr r1, =gUnknown_0203CEEC + ldr r0, =sub_8179918 + b _08137152 + .pool +_08137134: + ldr r0, =gMapHeader + ldrb r0, [r0, 0x15] + cmp r0, 0x1 + bne _08137170 + ldr r0, =0x00000888 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + bne _08137170 + ldr r1, =gUnknown_03005DB0 + ldr r0, =FieldCallback_Teleport + str r0, [r1] + ldr r1, =gUnknown_0203CEEC + ldr r0, =hm2_flash +_08137152: + str r0, [r1] + movs r0, 0x1 + b _08137172 + .pool +_08137170: + movs r0, 0 +_08137172: + pop {r4} + pop {r1} + bx r1 + thumb_func_end SetUpFieldMove_Flash + + thumb_func_start hm2_flash +hm2_flash: @ 8137178 + push {r4,lr} + bl oei_task_add + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl GetCursorSelectionMonId + ldr r1, =gFieldEffectArguments + lsls r0, 24 + lsrs r0, 24 + str r0, [r1] + ldr r1, =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r2, =sub_81371B4 + lsrs r1, r2, 16 + strh r1, [r0, 0x18] + strh r2, [r0, 0x1A] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end hm2_flash + + thumb_func_start sub_81371B4 +sub_81371B4: @ 81371B4 + push {lr} + movs r0, 0xCF + bl PlaySE + ldr r0, =0x00000888 + bl FlagSet + ldr r0, =EventScript_2926F8 + bl ScriptContext1_SetupScript + pop {r0} + bx r0 + .pool + thumb_func_end sub_81371B4 + + thumb_func_start sub_81371D4 +sub_81371D4: @ 81371D4 + push {lr} + bl RunTasks + bl AnimateSprites + bl BuildOamBuffer + bl UpdatePaletteFade + pop {r0} + bx r0 + thumb_func_end sub_81371D4 + + thumb_func_start sub_81371EC +sub_81371EC: @ 81371EC + push {lr} + bl LoadOam + bl ProcessSpriteCopyRequests + bl TransferPlttBuffer + pop {r0} + bx r0 + thumb_func_end sub_81371EC + + thumb_func_start c2_change_map +c2_change_map: @ 8137200 + push {r4,lr} + sub sp, 0x8 + movs r0, 0 + bl SetVBlankCallback + movs r0, 0 + movs r1, 0 + bl SetGpuReg + movs r0, 0xC + movs r1, 0 + bl SetGpuReg + movs r0, 0xA + movs r1, 0 + bl SetGpuReg + movs r0, 0x8 + movs r1, 0 + bl SetGpuReg + movs r0, 0x18 + movs r1, 0 + bl SetGpuReg + movs r0, 0x1A + movs r1, 0 + bl SetGpuReg + movs r0, 0x14 + movs r1, 0 + bl SetGpuReg + movs r0, 0x16 + movs r1, 0 + bl SetGpuReg + movs r0, 0x10 + movs r1, 0 + bl SetGpuReg + movs r0, 0x12 + movs r1, 0 + bl SetGpuReg + mov r1, sp + movs r0, 0 + strh r0, [r1] + ldr r1, =0x040000d4 + mov r0, sp + str r0, [r1] + movs r0, 0xC0 + lsls r0, 19 + str r0, [r1, 0x4] + ldr r0, =0x8100c000 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + movs r4, 0 + str r4, [sp, 0x4] + add r0, sp, 0x4 + str r0, [r1] + movs r0, 0xE0 + lsls r0, 19 + str r0, [r1, 0x4] + ldr r0, =0x85000100 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + mov r0, sp + strh r4, [r0] + str r0, [r1] + ldr r0, =0x05000002 + str r0, [r1, 0x4] + ldr r0, =0x810001ff + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + bl ResetPaletteFade + bl ResetTasks + bl ResetSpriteData + ldr r3, =0x04000208 + ldrh r2, [r3] + strh r4, [r3] + ldr r4, =0x04000200 + ldrh r0, [r4] + movs r1, 0x1 + orrs r0, r1 + strh r0, [r4] + strh r2, [r3] + ldr r0, =sub_81371EC + bl SetVBlankCallback + ldr r0, =sub_81371D4 + bl SetMainCallback2 + bl sub_8137304 + lsls r0, 24 + cmp r0, 0 + bne _081372D2 + ldr r0, =gMain + ldr r0, [r0, 0x8] + bl SetMainCallback2 +_081372D2: + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end c2_change_map + + thumb_func_start sub_8137304 +sub_8137304: @ 8137304 + push {r4-r7,lr} + bl get_map_light_from_warp0 + lsls r0, 24 + lsrs r6, r0, 24 + bl sav1_map_get_light_level + lsls r0, 24 + lsrs r5, r0, 24 + movs r3, 0 + ldr r4, =gUnknown_085B27C8 + ldrb r0, [r4] + cmp r0, 0 + beq _08137358 + adds r7, r4, 0 + adds r0, r4, 0x4 + mov r12, r0 +_08137326: + lsls r2, r3, 3 + adds r1, r2, r7 + ldrb r0, [r1] + cmp r0, r6 + bne _08137348 + ldrb r0, [r1, 0x1] + cmp r0, r5 + bne _08137348 + mov r1, r12 + adds r0, r2, r1 + ldr r0, [r0] + bl _call_via_r0 + movs r0, 0x1 + b _0813735A + .pool +_08137348: + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + lsls r0, r3, 3 + adds r0, r4 + ldrb r0, [r0] + cmp r0, 0 + bne _08137326 +_08137358: + movs r0, 0 +_0813735A: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8137304 + + thumb_func_start sub_8137360 +sub_8137360: @ 8137360 + push {r4-r6,lr} + lsls r0, 24 + lsls r1, 24 + lsrs r5, r0, 24 + lsrs r4, r1, 24 + movs r3, 0 + ldr r1, =gUnknown_085B27C8 + ldrb r0, [r1] + cmp r0, 0 + beq _081373A0 + adds r6, r1, 0 +_08137376: + lsls r0, r3, 3 + adds r2, r0, r6 + ldrb r0, [r2] + cmp r0, r5 + bne _08137390 + ldrb r0, [r2, 0x1] + cmp r0, r4 + bne _08137390 + ldrb r0, [r2, 0x2] + b _081373A2 + .pool +_08137390: + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + lsls r0, r3, 3 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _08137376 +_081373A0: + movs r0, 0 +_081373A2: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8137360 + + thumb_func_start fade_type_for_given_maplight_pair +fade_type_for_given_maplight_pair: @ 81373A8 + push {r4-r6,lr} + lsls r0, 24 + lsls r1, 24 + lsrs r5, r0, 24 + lsrs r4, r1, 24 + movs r3, 0 + ldr r1, =gUnknown_085B27C8 + ldrb r0, [r1] + cmp r0, 0 + beq _081373E8 + adds r6, r1, 0 +_081373BE: + lsls r0, r3, 3 + adds r2, r0, r6 + ldrb r0, [r2] + cmp r0, r5 + bne _081373D8 + ldrb r0, [r2, 0x1] + cmp r0, r4 + bne _081373D8 + ldrb r0, [r2, 0x3] + b _081373EA + .pool +_081373D8: + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + lsls r0, r3, 3 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _081373BE +_081373E8: + movs r0, 0 +_081373EA: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end fade_type_for_given_maplight_pair + + thumb_func_start sub_81373F0 +sub_81373F0: @ 81373F0 + push {lr} + ldr r0, =sub_8137404 + movs r1, 0 + bl CreateTask + pop {r0} + bx r0 + .pool + thumb_func_end sub_81373F0 + + thumb_func_start sub_8137404 +sub_8137404: @ 8137404 + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r0, =sub_8137420 + str r0, [r1] + bx lr + .pool + thumb_func_end sub_8137404 + + thumb_func_start sub_8137420 +sub_8137420: @ 8137420 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0 + movs r1, 0 + bl SetGpuReg + ldr r0, =gCaveTransitionTiles + ldr r1, =0x0600c000 + bl LZ77UnCompVram + ldr r0, =gCaveTransitionTilemap + ldr r1, =0x0600f800 + bl LZ77UnCompVram + ldr r0, =gCaveTransitionPalette_White + movs r1, 0xE0 + movs r2, 0x20 + bl LoadPalette + ldr r0, =gUnknown_085B28A0 + movs r1, 0xE0 + movs r2, 0x10 + bl LoadPalette + ldr r1, =0x00003e41 + movs r0, 0x50 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + movs r0, 0x54 + movs r1, 0 + bl SetGpuReg + ldr r1, =0x00001f0c + movs r0, 0x8 + bl SetGpuReg + movs r1, 0x8A + lsls r1, 5 + movs r0, 0 + bl SetGpuReg + ldr r1, =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, =sub_81374C4 + str r1, [r0] + movs r2, 0 + movs r1, 0x10 + strh r1, [r0, 0x8] + strh r2, [r0, 0xA] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8137420 + + thumb_func_start sub_81374C4 +sub_81374C4: @ 81374C4 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r5, r1, r2 + ldrh r4, [r5, 0xA] + movs r0, 0x80 + lsls r0, 5 + adds r1, r4, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + cmp r4, 0x10 + bhi _081374F8 + ldrh r0, [r5, 0xA] + adds r0, 0x1 + strh r0, [r5, 0xA] + b _08137500 + .pool +_081374F8: + movs r0, 0 + strh r0, [r5, 0xC] + ldr r0, =sub_813750C + str r0, [r5] +_08137500: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81374C4 + + thumb_func_start sub_813750C +sub_813750C: @ 813750C + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r1, =0x00001010 + movs r0, 0x52 + bl SetGpuReg + ldr r1, =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r4, r0, r1 + ldrh r1, [r4, 0xC] + cmp r1, 0x7 + bhi _08137554 + adds r0, r1, 0x1 + strh r0, [r4, 0xC] + lsls r1, 1 + ldr r0, =gUnknown_085B28A0 + adds r0, r1, r0 + movs r2, 0x10 + subs r2, r1 + lsls r2, 16 + lsrs r2, 16 + movs r1, 0xE0 + bl LoadPalette + b _08137566 + .pool +_08137554: + ldr r0, =gCaveTransitionPalette_White + movs r1, 0 + movs r2, 0x20 + bl LoadPalette + ldr r0, =sub_8137574 + str r0, [r4] + movs r0, 0x8 + strh r0, [r4, 0xC] +_08137566: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_813750C + + thumb_func_start sub_8137574 +sub_8137574: @ 8137574 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldrh r2, [r1, 0xC] + movs r3, 0xC + ldrsh r0, [r1, r3] + cmp r0, 0 + beq _08137598 + subs r0, r2, 0x1 + strh r0, [r1, 0xC] + b _081375A0 + .pool +_08137598: + ldr r0, =gMain + ldr r0, [r0, 0x8] + bl SetMainCallback2 +_081375A0: + pop {r0} + bx r0 + .pool + thumb_func_end sub_8137574 + + thumb_func_start sub_81375A8 +sub_81375A8: @ 81375A8 + push {lr} + ldr r0, =sub_81375BC + movs r1, 0 + bl CreateTask + pop {r0} + bx r0 + .pool + thumb_func_end sub_81375A8 + + thumb_func_start sub_81375BC +sub_81375BC: @ 81375BC + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r0, =sub_81375D8 + str r0, [r1] + bx lr + .pool + thumb_func_end sub_81375BC + + thumb_func_start sub_81375D8 +sub_81375D8: @ 81375D8 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0 + movs r1, 0 + bl SetGpuReg + ldr r0, =gCaveTransitionTiles + ldr r1, =0x0600c000 + bl LZ77UnCompVram + ldr r0, =gCaveTransitionTilemap + ldr r1, =0x0600f800 + bl LZ77UnCompVram + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0x52 + movs r1, 0 + bl SetGpuReg + movs r0, 0x54 + movs r1, 0 + bl SetGpuReg + ldr r1, =0x00001f0c + movs r0, 0x8 + bl SetGpuReg + movs r1, 0x8A + lsls r1, 5 + movs r0, 0 + bl SetGpuReg + ldr r0, =gCaveTransitionPalette_White + movs r1, 0xE0 + movs r2, 0x20 + bl LoadPalette + ldr r0, =gCaveTransitionPalette_Black + movs r1, 0 + movs r2, 0x20 + bl LoadPalette + ldr r1, =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, =sub_8137678 + str r1, [r0] + movs r2, 0 + movs r1, 0x10 + strh r1, [r0, 0x8] + strh r2, [r0, 0xA] + strh r2, [r0, 0xC] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81375D8 + + thumb_func_start sub_8137678 +sub_8137678: @ 8137678 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r4, r1, r2 + ldrh r1, [r4, 0xC] + cmp r1, 0xF + bhi _081376B4 + adds r2, r1, 0x1 + adds r0, r2, 0x1 + strh r0, [r4, 0xC] + movs r0, 0xF + subs r0, r1 + lsls r0, 1 + ldr r1, =gUnknown_085B2890 + adds r0, r1 + lsls r2, 17 + lsrs r2, 16 + movs r1, 0xE0 + bl LoadPalette + b _081376C8 + .pool +_081376B4: + ldr r1, =0x00001010 + movs r0, 0x52 + bl SetGpuReg + ldr r1, =0x00003e41 + movs r0, 0x50 + bl SetGpuReg + ldr r0, =sub_81376DC + str r0, [r4] +_081376C8: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8137678 + + thumb_func_start sub_81376DC +sub_81376DC: @ 81376DC + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r5, r1, r2 + ldrh r0, [r5, 0xA] + movs r1, 0x10 + subs r1, r0 + lsls r1, 16 + lsrs r4, r1, 16 + movs r0, 0x80 + lsls r0, 21 + adds r1, r0 + lsrs r1, 16 + movs r0, 0x52 + bl SetGpuReg + cmp r4, 0 + beq _08137714 + ldrh r0, [r5, 0xA] + adds r0, 0x1 + strh r0, [r5, 0xA] + b _08137726 + .pool +_08137714: + ldr r0, =gCaveTransitionPalette_Black + movs r1, 0 + movs r2, 0x20 + bl LoadPalette + ldr r0, =gMain + ldr r0, [r0, 0x8] + bl SetMainCallback2 +_08137726: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81376DC diff --git a/asm/fldeff_groundshake.s b/asm/fldeff_groundshake.s old mode 100755 new mode 100644 diff --git a/asm/fldeff_softboiled.s b/asm/fldeff_softboiled.s old mode 100755 new mode 100644 index 48d968d20a..c3aa4f1ed1 --- a/asm/fldeff_softboiled.s +++ b/asm/fldeff_softboiled.s @@ -8,7 +8,7 @@ thumb_func_start hm_prepare_dive_probably hm_prepare_dive_probably: @ 8161508 push {r4-r6,lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 movs r6, 0x64 @@ -20,7 +20,7 @@ hm_prepare_dive_probably: @ 8161508 adds r5, r0, 0 lsls r5, 16 lsrs r5, 16 - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 muls r0, r6 @@ -59,7 +59,7 @@ sub_8161560: @ 8161560 strb r1, [r0, 0xB] ldrb r1, [r0, 0x9] strb r1, [r0, 0xA] - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 movs r1, 0x1 diff --git a/asm/fldeff_strength.s b/asm/fldeff_strength.s index 947517ed5a..fdadd2aacb 100644 --- a/asm/fldeff_strength.s +++ b/asm/fldeff_strength.s @@ -17,13 +17,13 @@ hm_prepare_rocksmash: @ 8145DC4 movs r0, 0 b _08145DF2 _08145DD8: - ldr r4, =gScriptResult - bl brm_get_pokemon_selection + ldr r4, =gSpecialVar_Result + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 strh r0, [r4] ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_8145E0C @@ -39,12 +39,12 @@ _08145DF2: thumb_func_start sub_8145E0C sub_8145E0C: @ 8145E0C push {lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] - ldr r0, =gUnknown_082908FD + ldr r0, =FieryPath_EventScript_2908FD bl ScriptContext1_SetupScript pop {r0} bx r0 diff --git a/asm/fldeff_sweetscent.s b/asm/fldeff_sweetscent.s index ea7b2653a5..2055f70696 100644 --- a/asm/fldeff_sweetscent.s +++ b/asm/fldeff_sweetscent.s @@ -8,7 +8,7 @@ thumb_func_start SetUpFieldMove_SweetScent SetUpFieldMove_SweetScent: @ 8159EF0 ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =hm2_sweet_scent @@ -23,7 +23,7 @@ hm2_sweet_scent: @ 8159F10 push {lr} movs r0, 0x33 bl FieldEffectStart - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 @@ -205,7 +205,7 @@ sub_815A090: @ 815A090 lsls r2, 1 bl CpuFastSet bl sub_80AC3E4 - ldr r0, =gUnknown_08290CAE + ldr r0, =EventScript_290CAE bl ScriptContext1_SetupScript adds r0, r4, 0 bl DestroyTask diff --git a/asm/fldeff_teleport.s b/asm/fldeff_teleport.s deleted file mode 100644 index d77e29dd28..0000000000 --- a/asm/fldeff_teleport.s +++ /dev/null @@ -1,84 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start SetUpFieldMove_Teleport -SetUpFieldMove_Teleport: @ 817C8BC - push {lr} - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - bl is_light_level_1_2_3_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0817C8D8 - movs r0, 0 - b _0817C8E6 - .pool -_0817C8D8: - ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 - str r0, [r1] - ldr r1, =gUnknown_0203CEEC - ldr r0, =hm_teleport_run_dp02scr - str r0, [r1] - movs r0, 0x1 -_0817C8E6: - pop {r1} - bx r1 - .pool - thumb_func_end SetUpFieldMove_Teleport - - thumb_func_start hm_teleport_run_dp02scr -hm_teleport_run_dp02scr: @ 817C8FC - push {lr} - bl sub_808469C - movs r0, 0x3F - bl FieldEffectStart - bl brm_get_pokemon_selection - ldr r1, =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end hm_teleport_run_dp02scr - - thumb_func_start FldEff_UseTeleport -FldEff_UseTeleport: @ 817C91C - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, =sub_817C94C - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0x1 - bl SetPlayerAvatarTransitionFlags - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end FldEff_UseTeleport - - thumb_func_start sub_817C94C -sub_817C94C: @ 817C94C - push {lr} - movs r0, 0x3F - bl FieldEffectActiveListRemove - bl sub_80B7FC8 - pop {r0} - bx r0 - thumb_func_end sub_817C94C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/fossil_specials.s b/asm/fossil_specials.s old mode 100755 new mode 100644 index 6883743ec5..7956f814a4 --- a/asm/fossil_specials.s +++ b/asm/fossil_specials.s @@ -657,7 +657,7 @@ _081BF0B4: ldr r0, [r0] ldr r1, [r0] movs r5, 0 - ldr r2, =gUnknown_08617C44 + ldr r2, =gRootFossil_Gfx _081BF0BE: adds r0, r5, r2 ldrb r0, [r0] diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s deleted file mode 100644 index 9227c17951..0000000000 --- a/asm/hall_of_fame.s +++ /dev/null @@ -1,3603 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_817354C -sub_817354C: @ 817354C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_817354C - - thumb_func_start sub_8173560 -sub_8173560: @ 8173560 - push {lr} - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8173560 - - thumb_func_start sub_817357C -sub_817357C: @ 817357C - push {r4,lr} - sub sp, 0x4 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x4 - bls _08173590 - b _08173688 -_08173590: - lsls r0, 2 - ldr r1, =_081735A4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081735A4: - .4byte _081735B8 - .4byte _081735E8 - .4byte _081735EE - .4byte _08173620 - .4byte _0817365C -_081735B8: - movs r0, 0 - bl SetVBlankCallback - bl sub_8174EC4 - ldr r4, =gUnknown_0203BCDC - ldr r0, =0x00002014 - bl AllocZeroed - str r0, [r4] - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - b _08173688 - .pool -_081735E8: - bl sub_8174F70 - b _08173642 -_081735EE: - ldr r1, =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0xE2 - lsls r1, 3 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - bl sub_8174FAC - ldr r0, =gUnknown_0203BCDC - ldr r1, [r0] - movs r0, 0 - strh r0, [r1] - b _08173642 - .pool -_08173620: - bl sub_8175024 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08173688 - ldr r0, =sub_817354C - bl SetVBlankCallback - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_08173642: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08173688 - .pool -_0817365C: - bl UpdatePaletteFade - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08173688 - ldr r0, =sub_8173560 - bl SetMainCallback2 - movs r0, 0xDA - lsls r0, 1 - bl PlayBGM - movs r0, 0 - b _0817368A - .pool -_08173688: - movs r0, 0x1 -_0817368A: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_817357C - - thumb_func_start sub_8173694 -sub_8173694: @ 8173694 - push {r4,lr} - bl sub_817357C - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _081736C4 - ldr r0, =sub_817371C - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - ldr r4, =gUnknown_0203BCD8 - movs r0, 0x78 - bl AllocZeroed - str r0, [r4] -_081736C4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8173694 - - thumb_func_start sub_81736D8 -sub_81736D8: @ 81736D8 - push {r4,lr} - bl sub_817357C - lsls r0, 24 - cmp r0, 0 - bne _08173708 - ldr r0, =sub_817371C - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0x8] - ldr r4, =gUnknown_0203BCD8 - movs r0, 0x78 - bl AllocZeroed - str r0, [r4] -_08173708: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81736D8 - - thumb_func_start sub_817371C -sub_817371C: @ 817371C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xC] - movs r7, 0 - ldr r0, =gUnknown_0203BCD8 - mov r9, r0 -_08173740: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r6, r1, r0 - adds r0, r6, 0 - movs r1, 0xB - bl GetMonData - adds r5, r0, 0 - cmp r5, 0 - beq _0817380C - adds r0, r6, 0 - movs r1, 0x41 - bl GetMonData - mov r1, r9 - ldr r3, [r1] - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 2 - adds r3, r4 - ldr r2, =0x000001ff - adds r1, r2, 0 - ands r0, r1 - ldrh r1, [r3, 0x8] - ldr r5, =0xfffffe00 - adds r2, r5, 0 - ands r1, r2 - orrs r1, r0 - strh r1, [r3, 0x8] - adds r0, r6, 0 - movs r1, 0x1 - bl GetMonData - mov r2, r9 - ldr r1, [r2] - adds r1, r4 - str r0, [r1] - adds r0, r6, 0 - movs r1, 0 - bl GetMonData - mov r5, r9 - ldr r1, [r5] - adds r1, 0x4 - adds r1, r4 - str r0, [r1] - adds r0, r6, 0 - movs r1, 0x38 - bl GetMonData - ldr r2, [r5] - adds r2, r4 - lsls r0, 1 - ldrb r3, [r2, 0x9] - movs r1, 0x1 - ands r1, r3 - orrs r1, r0 - strb r1, [r2, 0x9] - adds r0, r6, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - movs r2, 0 - mov r6, r8 - lsls r5, r6, 2 - ldr r3, =gUnknown_0203BCD8 -_081737CA: - ldr r0, [r3] - adds r1, r2, r4 - adds r0, 0xA - adds r0, r1 - mov r6, sp - adds r1, r6, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x9 - bls _081737CA - ldr r0, =gTasks - mov r2, r8 - adds r1, r5, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xC] - adds r0, 0x1 - strh r0, [r1, 0xC] - b _08173840 - .pool -_0817380C: - mov r6, r9 - ldr r3, [r6] - lsls r2, r7, 2 - adds r2, r7 - lsls r2, 2 - adds r4, r3, r2 - ldrh r0, [r4, 0x8] - ldr r6, =0xfffffe00 - adds r1, r6, 0 - ands r0, r1 - strh r0, [r4, 0x8] - str r5, [r4] - adds r3, 0x4 - adds r3, r2 - str r5, [r3] - ldrb r1, [r4, 0x9] - movs r0, 0x1 - ands r0, r1 - strb r0, [r4, 0x9] - mov r1, r9 - ldr r0, [r1] - adds r0, r2 - movs r1, 0xFF - strb r1, [r0, 0xA] - mov r2, r8 - lsls r5, r2, 2 -_08173840: - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x5 - bhi _0817384C - b _08173740 -_0817384C: - ldr r0, =gUnknown_0203BCD4 - movs r3, 0 - str r3, [r0] - ldr r4, =gTasks - mov r6, r8 - adds r1, r5, r6 - lsls r1, 3 - adds r2, r1, r4 - strh r3, [r2, 0xA] - movs r0, 0xFF - strh r0, [r2, 0x10] - movs r7, 0 - adds r3, r4, 0 - adds r3, 0x8 - movs r2, 0xFF -_0817386A: - adds r0, r7, 0x5 - lsls r0, 1 - adds r0, r1 - adds r0, r3 - strh r2, [r0] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x5 - bls _0817386A - mov r1, r8 - adds r0, r5, r1 - lsls r0, 3 - adds r1, r0, r4 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _081738A4 - ldr r0, =sub_8173A8C - b _081738A6 - .pool -_081738A4: - ldr r0, =sub_81738BC -_081738A6: - str r0, [r1] - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817371C - - thumb_func_start sub_81738BC -sub_81738BC: @ 81738BC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r7, =0x0201c000 - ldr r0, =gUnknown_0203BCE4 - ldrb r0, [r0] - cmp r0, 0 - bne _081738EC - movs r2, 0x80 - lsls r2, 6 - adds r0, r7, 0 - movs r1, 0 - bl memset - b _08173906 - .pool -_081738EC: - movs r0, 0x3 - bl sub_81534D0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08173906 - movs r2, 0x80 - lsls r2, 6 - adds r0, r7, 0 - movs r1, 0 - bl memset -_08173906: - movs r5, 0 - ldrh r1, [r7, 0x8] - ldr r2, =0x000001ff - adds r0, r2, 0 - ands r0, r1 - mov r1, r9 - lsls r1, 2 - mov r8, r1 - cmp r0, 0 - beq _08173930 -_0817391A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r7, 0x78 - cmp r5, 0x31 - bhi _08173934 - ldrh r1, [r7, 0x8] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _0817391A -_08173930: - cmp r5, 0x31 - bls _08173956 -_08173934: - ldr r4, =0x0201c000 - adds r6, r4, 0 - adds r4, 0x78 - movs r5, 0 - subs r7, 0x78 -_0817393E: - adds r0, r6, 0 - adds r1, r4, 0 - movs r2, 0x78 - bl memcpy - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r6, 0x78 - adds r4, 0x78 - cmp r5, 0x30 - bls _0817393E -_08173956: - ldr r0, =gUnknown_0203BCD8 - ldr r1, [r0] - adds r0, r7, 0 - movs r2, 0x78 - bl memcpy - movs r0, 0 - movs r1, 0 - bl sub_81973C4 - ldr r2, =gUnknown_082C8959 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParametrized - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r1, =gTasks - mov r0, r8 - add r0, r9 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81739C4 - str r1, [r0] - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81738BC - - thumb_func_start sub_81739C4 -sub_81739C4: @ 81739C4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gGameContinueCallback - ldr r0, =sub_81736D8 - str r0, [r1] - movs r0, 0x3 - bl TrySavingData - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _08173A34 - ldr r0, =gDamagedSaveSectors - ldr r0, [r0] - cmp r0, 0 - beq _08173A34 - movs r0, 0x1 - bl UnsetBgTilemapBuffer - movs r0, 0x3 - bl UnsetBgTilemapBuffer - bl FreeAllWindowBuffers - ldr r5, =gUnknown_0203BCDC - ldr r0, [r5] - cmp r0, 0 - beq _08173A06 - bl Free - movs r0, 0 - str r0, [r5] -_08173A06: - ldr r5, =gUnknown_0203BCD8 - ldr r0, [r5] - cmp r0, 0 - beq _08173A16 - bl Free - movs r0, 0 - str r0, [r5] -_08173A16: - adds r0, r4, 0 - bl DestroyTask - b _08173A4C - .pool -_08173A34: - movs r0, 0x37 - bl PlaySE - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_8173A5C - str r1, [r0] - movs r1, 0x20 - strh r1, [r0, 0xE] -_08173A4C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81739C4 - - thumb_func_start sub_8173A5C -sub_8173A5C: @ 8173A5C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r2, [r1, 0xE] - movs r3, 0xE - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08173A80 - subs r0, r2, 0x1 - strh r0, [r1, 0xE] - b _08173A84 - .pool -_08173A80: - ldr r0, =sub_8173A8C - str r0, [r1] -_08173A84: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8173A5C - - thumb_func_start sub_8173A8C -sub_8173A8C: @ 8173A8C - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =sub_8173AA8 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8173A8C - - thumb_func_start sub_8173AA8 -sub_8173AA8: @ 8173AA8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - ldrh r6, [r1, 0xA] - ldr r2, =gUnknown_0203BCD8 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 2 - ldr r2, [r2] - adds r7, r2, r0 - movs r2, 0xC - ldrsh r0, [r1, r2] - cmp r0, 0x3 - ble _08173AEC - ldr r1, =gUnknown_085E53B4 - b _08173AEE - .pool -_08173AEC: - ldr r1, =gUnknown_085E53E4 -_08173AEE: - lsls r2, r6, 3 - adds r0, r2, r1 - ldrh r3, [r0] - adds r0, r1, 0x2 - adds r0, r2, r0 - ldrh r4, [r0] - adds r0, r1, 0x4 - adds r0, r2, r0 - ldrh r0, [r0] - mov r9, r0 - adds r1, 0x6 - adds r2, r1 - ldrh r5, [r2] - ldrh r2, [r7, 0x8] - ldr r0, =0x000001ff - ands r0, r2 - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - bne _08173B20 - lsls r0, r5, 16 - movs r1, 0xA0 - lsls r1, 12 - adds r0, r1 - lsrs r5, r0, 16 -_08173B20: - lsls r0, r2, 23 - lsrs r0, 23 - ldr r1, [r7] - ldr r2, [r7, 0x4] - lsls r3, 16 - asrs r3, 16 - str r3, [sp] - lsls r3, r4, 16 - asrs r3, 16 - str r3, [sp, 0x4] - lsls r3, r6, 24 - lsrs r3, 24 - str r3, [sp, 0x8] - ldr r3, =0x0000ffff - str r3, [sp, 0xC] - movs r3, 0x1 - bl sub_818D3E4 - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r3, r2, r4 - movs r1, 0 - mov r12, r1 - mov r1, r9 - strh r1, [r3, 0x30] - strh r5, [r3, 0x32] - mov r1, r12 - strh r1, [r3, 0x2E] - ldrh r1, [r7, 0x8] - lsls r1, 23 - lsrs r1, 23 - strh r1, [r3, 0x3C] - adds r4, 0x1C - adds r2, r4 - ldr r1, =sub_8175120 - str r1, [r2] - ldr r5, =gTasks - adds r1, r6, 0x5 - lsls r1, 1 - mov r2, r8 - lsls r4, r2, 2 - add r4, r8 - lsls r4, 3 - adds r1, r4 - adds r2, r5, 0 - adds r2, 0x8 - adds r1, r2 - strh r0, [r1] - movs r0, 0 - movs r1, 0x1 - bl sub_8197434 - adds r4, r5 - ldr r0, =sub_8173BC0 - str r0, [r4] - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8173AA8 - - thumb_func_start sub_8173BC0 -sub_8173BC0: @ 8173BC0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gTasks - lsls r3, r0, 2 - adds r3, r0 - lsls r3, 3 - adds r5, r3, r4 - ldrh r0, [r5, 0xA] - ldr r2, =gUnknown_0203BCD8 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - ldr r2, [r2] - adds r2, r1 - adds r0, 0x5 - lsls r0, 1 - adds r0, r3 - adds r4, 0x8 - adds r0, r4 - movs r3, 0 - ldrsh r1, [r0, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r3, r0, r1 - ldr r1, [r3, 0x1C] - ldr r0, =SpriteCallbackDummy - cmp r1, r0 - bne _08173C1A - ldrb r1, [r3, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r3, 0x1] - adds r0, r2, 0 - movs r1, 0 - movs r2, 0xE - bl sub_8174A88 - movs r0, 0x78 - strh r0, [r5, 0xE] - ldr r0, =sub_8173C34 - str r0, [r5] -_08173C1A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8173BC0 - - thumb_func_start sub_8173C34 -sub_8173C34: @ 8173C34 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r6, r0, 3 - adds r4, r6, r2 - ldrh r3, [r4, 0xA] - ldr r1, =gUnknown_0203BCD8 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - ldr r1, [r1] - adds r1, r0 - mov r9, r1 - ldrh r1, [r4, 0xE] - movs r7, 0xE - ldrsh r0, [r4, r7] - mov r12, r2 - cmp r0, 0 - beq _08173C78 - subs r0, r1, 0x1 - strh r0, [r4, 0xE] - b _08173D10 - .pool -_08173C78: - ldr r2, =gUnknown_0203BCD4 - ldr r0, =gSprites - mov r8, r0 - adds r0, r3, 0x5 - lsls r0, 1 - adds r0, r6 - mov r1, r12 - adds r1, 0x8 - adds r6, r0, r1 - movs r7, 0 - ldrsh r1, [r6, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - movs r1, 0x80 - lsls r1, 9 - lsls r1, r0 - ldr r3, [r2] - orrs r3, r1 - str r3, [r2] - ldrh r2, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bgt _08173D04 - mov r7, r9 - ldrh r1, [r7, 0x1C] - ldr r0, =0x000001ff - ands r0, r1 - cmp r0, 0 - beq _08173D04 - adds r0, r2, 0x1 - strh r0, [r4, 0xA] - ldr r0, =0x000063b0 - str r0, [sp] - adds r0, r3, 0 - movs r1, 0 - movs r2, 0xC - movs r3, 0xC - bl BeginNormalPaletteFade - movs r0, 0 - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r0, =sub_8173AA8 - str r0, [r4] - b _08173D10 - .pool -_08173D04: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - add r0, r12 - ldr r1, =sub_8173D24 - str r1, [r0] -_08173D10: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8173C34 - - thumb_func_start sub_8173D24 -sub_8173D24: @ 8173D24 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =0xffff0000 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0 - bl BeginNormalPaletteFade - movs r3, 0 - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r5, r0, 3 - ldr r0, =gTasks + 0x8 - mov r12, r0 - mov r8, r1 - ldr r6, =gSprites - movs r7, 0xD - negs r7, r7 -_08173D52: - adds r0, r3, 0x5 - lsls r0, 1 - adds r0, r5 - mov r2, r12 - adds r1, r0, r2 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0xFF - beq _08173D74 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r2, [r1, 0x5] - adds r0, r7, 0 - ands r0, r2 - strb r0, [r1, 0x5] -_08173D74: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x5 - bls _08173D52 - movs r0, 0 - movs r1, 0xF - bl sub_8174A38 - movs r0, 0x69 - bl PlaySE - ldr r1, =gTasks - mov r2, r8 - adds r0, r2, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0xC8 - lsls r1, 1 - strh r1, [r0, 0xE] - ldr r1, =sub_8173DC0 - str r1, [r0] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8173D24 - - thumb_func_start sub_8173DC0 -sub_8173DC0: @ 8173DC0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r7, =gTasks - lsls r4, r6, 2 - adds r0, r4, r6 - lsls r5, r0, 3 - adds r1, r5, r7 - ldrh r2, [r1, 0xE] - movs r3, 0xE - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08173E04 - subs r2, 0x1 - strh r2, [r1, 0xE] - movs r0, 0x3 - ands r0, r2 - cmp r0, 0 - bne _08173E7E - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x6E - ble _08173E7E - bl sub_81751FC - b _08173E7E - .pool -_08173E04: - movs r3, 0 - mov r9, r4 - ldr r0, =gUnknown_0203BCD4 - mov r10, r0 - adds r4, r5, 0 - adds r7, 0x8 - mov r8, r7 - ldr r7, =gSprites - movs r1, 0xD - negs r1, r1 - mov r12, r1 - movs r5, 0x4 -_08173E1C: - adds r0, r3, 0x5 - lsls r0, 1 - adds r0, r4 - mov r2, r8 - adds r1, r0, r2 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0xFF - beq _08173E40 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - ldrb r2, [r1, 0x5] - mov r0, r12 - ands r0, r2 - orrs r0, r5 - strb r0, [r1, 0x5] -_08173E40: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x5 - bls _08173E1C - mov r3, r10 - ldr r0, [r3] - ldr r1, =0x000063b0 - str r1, [sp] - movs r1, 0 - movs r2, 0xC - movs r3, 0xC - bl BeginNormalPaletteFade - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r1, =gTasks - mov r2, r9 - adds r0, r2, r6 - lsls r0, 3 - adds r0, r1 - movs r1, 0x7 - strh r1, [r0, 0xE] - ldr r1, =sub_8173EA4 - str r1, [r0] -_08173E7E: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8173DC0 - - thumb_func_start sub_8173EA4 -sub_8173EA4: @ 8173EA4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r2, [r1, 0xE] - movs r3, 0xE - ldrsh r0, [r1, r3] - cmp r0, 0xF - ble _08173ECC - ldr r0, =sub_8173EE4 - str r0, [r1] - b _08173EDE - .pool -_08173ECC: - adds r0, r2, 0x1 - strh r0, [r1, 0xE] - movs r0, 0xE - ldrsh r1, [r1, r0] - lsls r1, 24 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg -_08173EDE: - pop {r0} - bx r0 - thumb_func_end sub_8173EA4 - - thumb_func_start sub_8173EE4 -sub_8173EE4: @ 8173EE4 - push {r4-r6,lr} - sub sp, 0x8 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x3 - bl ShowBg - ldr r6, =gSaveBlock2Ptr - ldr r0, [r6] - ldrb r0, [r0, 0x8] - movs r1, 0x1 - bl sub_818D97C - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x6 - str r1, [sp] - ldr r1, =0x0000ffff - str r1, [sp, 0x4] - movs r1, 0x1 - movs r2, 0x78 - movs r3, 0x48 - bl sub_818D8AC - ldr r1, =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r1 - strh r0, [r4, 0x10] - ldr r0, =gUnknown_085E5380 - bl AddWindow - ldr r0, [r6] - ldrb r1, [r0, 0x14] - lsrs r1, 3 - ldr r2, =0x0000021d - movs r0, 0x1 - movs r3, 0xD0 - bl sub_80987D4 - movs r0, 0x1 - bl stdpal_get - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0x78 - strh r0, [r4, 0xE] - ldr r0, =sub_8173F84 - str r0, [r4] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8173EE4 - - thumb_func_start sub_8173F84 -sub_8173F84: @ 8173F84 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0xE] - movs r1, 0xE - ldrsh r5, [r4, r1] - cmp r5, 0 - beq _08173FAC - subs r0, 0x1 - strh r0, [r4, 0xE] - b _08174018 - .pool -_08173FAC: - ldr r2, =gSprites - movs r3, 0x10 - ldrsh r1, [r4, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - ldrh r2, [r1, 0x20] - movs r3, 0x20 - ldrsh r0, [r1, r3] - cmp r0, 0xC0 - beq _08173FD0 - adds r0, r2, 0x1 - strh r0, [r1, 0x20] - b _08174018 - .pool -_08173FD0: - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x1 - movs r1, 0x2 - bl sub_8174C98 - movs r0, 0 - movs r1, 0 - bl sub_81973C4 - ldr r2, =gText_LeagueChamp - str r5, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParametrized - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =sub_8174028 - str r0, [r4] -_08174018: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8173F84 - - thumb_func_start sub_8174028 -sub_8174028: @ 8174028 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0817404E - movs r0, 0x4 - bl FadeOutBGM - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8174060 - str r0, [r1] -_0817404E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174028 - - thumb_func_start sub_8174060 -sub_8174060: @ 8174060 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gPlttBufferFaded - ldr r1, =gPlttBufferUnfaded - movs r2, 0x80 - lsls r2, 2 - bl CpuSet - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r1, 0x8 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81740B0 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174060 - - thumb_func_start sub_81740B0 -sub_81740B0: @ 81740B0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08174164 - lsls r0, r7, 2 - mov r8, r0 - ldr r1, =gTasks - adds r0, r7 - lsls r0, 3 - adds r1, 0x12 - adds r5, r0, r1 - ldr r2, =gSprites - mov r9, r2 - movs r6, 0x5 -_081740DC: - ldrb r4, [r5] - cmp r4, 0xFF - beq _081740FA - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - add r0, r9 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl sub_818D820 -_081740FA: - adds r5, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _081740DC - ldr r0, =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x10] - bl sub_818D8F0 - movs r0, 0 - bl HideBg - movs r0, 0x1 - bl HideBg - movs r0, 0x3 - bl HideBg - bl FreeAllWindowBuffers - movs r0, 0x1 - bl UnsetBgTilemapBuffer - movs r0, 0x3 - bl UnsetBgTilemapBuffer - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - adds r0, r7, 0 - bl DestroyTask - ldr r4, =gUnknown_0203BCDC - ldr r0, [r4] - cmp r0, 0 - beq _08174150 - bl Free - movs r0, 0 - str r0, [r4] -_08174150: - ldr r4, =gUnknown_0203BCD8 - ldr r0, [r4] - cmp r0, 0 - beq _08174160 - bl Free - movs r0, 0 - str r0, [r4] -_08174160: - bl sub_8174184 -_08174164: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81740B0 - - thumb_func_start sub_8174184 -sub_8174184: @ 8174184 - push {lr} - ldr r0, =sub_8175620 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174184 - - thumb_func_start sub_8174194 -sub_8174194: @ 8174194 - push {r4,lr} - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x5 - bhi _081741D0 - lsls r0, 2 - ldr r1, =_081741B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081741B8: - .4byte _081741D0 - .4byte _08174200 - .4byte _08174214 - .4byte _08174240 - .4byte _08174280 - .4byte _081742B0 -_081741D0: - movs r0, 0 - bl SetVBlankCallback - bl sub_8174EC4 - ldr r4, =gUnknown_0203BCDC - ldr r0, =0x00002014 - bl AllocZeroed - str r0, [r4] - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x1 - strb r1, [r0] - b _08174308 - .pool -_08174200: - bl sub_8174F70 - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _081742A2 - .pool -_08174214: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - bl sub_8174FAC - ldr r1, =gMain - movs r4, 0x87 - lsls r4, 3 - adds r1, r4 - b _081742A2 - .pool -_08174240: - bl sub_8175024 - lsls r0, 24 - cmp r0, 0 - bne _08174308 - ldr r1, =0x0201c000 - ldr r0, =gUnknown_085E56D4 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r3} - stm r1!, {r2,r3} - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_80F9BCC - ldr r0, =sub_817354C - bl SetVBlankCallback - ldr r1, =gMain - movs r4, 0x87 - lsls r4, 3 - adds r1, r4 - b _081742A2 - .pool -_08174280: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - bl sub_80F9C1C - lsls r0, 24 - cmp r0, 0 - bne _08174308 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 -_081742A2: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08174308 - .pool -_081742B0: - ldr r1, =0x00003f42 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0xE2 - lsls r1, 3 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r0, =sub_8174324 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r4, =gTasks + 0x8 - movs r3, 0xFF -_081742E2: - adds r0, r2, 0x5 - lsls r0, 1 - adds r0, r1 - adds r0, r4 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x5 - bls _081742E2 - ldr r4, =gUnknown_0203BCD8 - movs r0, 0x80 - lsls r0, 6 - bl AllocZeroed - str r0, [r4] - ldr r0, =sub_8173560 - bl SetMainCallback2 -_08174308: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174194 - - thumb_func_start sub_8174324 -sub_8174324: @ 8174324 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =0x00000226 - str r0, [sp] - movs r0, 0 - movs r1, 0x1E - movs r2, 0 - movs r3, 0xC - bl sub_81980F0 - movs r0, 0x3 - bl sub_81534D0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08174364 - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81749A0 - b _081743DA - .pool -_08174364: - ldr r0, =0x0201c000 - ldr r4, =gUnknown_0203BCD8 - ldr r1, [r4] - movs r2, 0x80 - lsls r2, 5 - bl CpuSet - ldr r4, [r4] - movs r2, 0 - ldrh r1, [r4, 0x8] - ldr r3, =0x000001ff - adds r0, r3, 0 - ands r0, r1 - lsls r5, r6, 2 - cmp r0, 0 - beq _0817439A -_08174384: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - adds r4, 0x78 - cmp r2, 0x31 - bhi _081743BC - ldrh r1, [r4, 0x8] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _08174384 -_0817439A: - cmp r2, 0x31 - bhi _081743BC - ldr r0, =gTasks - adds r1, r5, r6 - lsls r1, 3 - adds r1, r0 - subs r0, r2, 0x1 - b _081743C6 - .pool -_081743BC: - ldr r0, =gTasks - adds r1, r5, r6 - lsls r1, 3 - adds r1, r0 - movs r0, 0x31 -_081743C6: - strh r0, [r1, 0x8] - movs r0, 0xA - bl GetGameStat - ldr r2, =gTasks - adds r1, r5, r6 - lsls r1, 3 - adds r1, r2 - strh r0, [r1, 0xA] - ldr r0, =sub_81743EC -_081743DA: - str r0, [r1] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174324 - - thumb_func_start sub_81743EC -sub_81743EC: @ 81743EC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =gUnknown_0203BCD8 - ldr r3, [r0] - movs r5, 0 - ldr r1, =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r4, 0x8 - ldrsh r0, [r0, r4] - adds r4, r1, 0 - ldr r2, =gUnknown_0203BCD4 - cmp r5, r0 - bge _0817442A - adds r1, r0, 0 -_0817441E: - adds r3, 0x78 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r1 - blt _0817441E -_0817442A: - adds r6, r3, 0 - movs r0, 0 - str r0, [r2] - mov r5, r8 - lsls r2, r5, 2 - adds r1, r2, r5 - lsls r1, 3 - adds r1, r4 - strh r0, [r1, 0xC] - strh r0, [r1, 0x10] - movs r5, 0 - str r2, [sp, 0x14] - ldr r4, =0x000001ff - adds r2, r1, 0 -_08174446: - ldrh r1, [r6, 0x8] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08174456 - ldrh r0, [r2, 0x10] - adds r0, 0x1 - strh r0, [r2, 0x10] -_08174456: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r6, 0x14 - cmp r5, 0x5 - bls _08174446 - adds r6, r3, 0 - movs r5, 0 - ldr r1, =gTasks - ldr r0, [sp, 0x14] - add r0, r8 - lsls r0, 3 - mov r9, r0 - adds r0, r1 - str r0, [sp, 0x10] - ldr r1, =0x000001ff - mov r10, r1 -_08174478: - ldrh r0, [r6, 0x8] - mov r1, r10 - ands r1, r0 - adds r7, r0, 0 - cmp r1, 0 - beq _08174540 - ldr r2, [sp, 0x10] - movs r4, 0x10 - ldrsh r0, [r2, r4] - cmp r0, 0x3 - ble _081744B8 - lsls r1, r5, 3 - ldr r0, =gUnknown_085E53B4 - adds r0, 0x4 - adds r0, r1, r0 - ldrh r3, [r0] - ldr r0, =gUnknown_085E53BA - adds r1, r0 - ldrh r4, [r1] - b _081744C8 - .pool -_081744B8: - ldr r0, =gUnknown_085E53E4 - lsls r2, r5, 3 - adds r1, r0, 0x4 - adds r1, r2, r1 - ldrh r3, [r1] - adds r0, 0x6 - adds r2, r0 - ldrh r4, [r2] -_081744C8: - mov r1, r10 - ands r1, r7 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bne _081744DE - lsls r0, r4, 16 - movs r1, 0xA0 - lsls r1, 12 - adds r0, r1 - lsrs r4, r0, 16 -_081744DE: - lsls r0, r7, 23 - lsrs r0, 23 - ldr r1, [r6] - ldr r2, [r6, 0x4] - lsls r3, 16 - asrs r3, 16 - str r3, [sp] - lsls r3, r4, 16 - asrs r3, 16 - str r3, [sp, 0x4] - lsls r3, r5, 24 - lsrs r3, 24 - str r3, [sp, 0x8] - ldr r3, =0x0000ffff - str r3, [sp, 0xC] - movs r3, 0x1 - bl sub_818D7D8 - lsls r0, 16 - lsrs r0, 16 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r3, [r1, 0x5] - movs r4, 0xD - negs r4, r4 - adds r2, r4, 0 - ands r3, r2 - movs r2, 0x4 - orrs r3, r2 - strb r3, [r1, 0x5] - adds r1, r5, 0x5 - lsls r1, 1 - add r1, r9 - ldr r2, =gTasks + 0x8 - adds r1, r2 - strh r0, [r1] - b _0817454E - .pool -_08174540: - adds r0, r5, 0x5 - lsls r0, 1 - add r0, r9 - ldr r4, =gTasks + 0x8 - adds r0, r4 - movs r1, 0xFF - strh r1, [r0] -_0817454E: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r6, 0x14 - cmp r5, 0x5 - bls _08174478 - ldr r0, =0xffff0000 - ldr r2, =0x000063b0 - movs r1, 0xC - bl BlendPalettes - ldr r0, =gStringVar1 - ldr r1, =gTasks - ldr r4, [sp, 0x14] - add r4, r8 - lsls r4, 3 - adds r4, r1 - movs r5, 0xA - ldrsh r1, [r4, r5] - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r5, =gStringVar4 - ldr r1, =gText_HOFNumber - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bgt _081745C0 - ldr r1, =gText_PickCancel - movs r0, 0x1 - str r0, [sp] - adds r0, r5, 0 - movs r2, 0 - movs r3, 0 - bl sub_8198204 - b _081745D0 - .pool -_081745C0: - ldr r1, =gText_PickNextCancel - movs r0, 0x1 - str r0, [sp] - adds r0, r5, 0 - movs r2, 0 - movs r3, 0 - bl sub_8198204 -_081745D0: - ldr r0, =gTasks - ldr r1, [sp, 0x14] - add r1, r8 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81745FC - str r0, [r1] - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81743EC - - thumb_func_start sub_81745FC -sub_81745FC: @ 81745FC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_0203BCD8 - ldr r5, [r0] - movs r3, 0 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - cmp r3, r0 - bge _08174630 - adds r1, r0, 0 -_08174624: - adds r5, 0x78 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r1 - blt _08174624 -_08174630: - movs r3, 0 - lsls r7, r4, 2 - adds r0, r7, r4 - lsls r6, r0, 3 - ldr r0, =gTasks + 0x8 - mov r10, r0 - ldr r1, =gSprites - mov r8, r1 - movs r2, 0xD - negs r2, r2 - mov r9, r2 - movs r0, 0x4 - mov r12, r0 -_0817464A: - adds r0, r3, 0x5 - lsls r0, 1 - adds r0, r6 - add r0, r10 - ldrh r1, [r0] - cmp r1, 0xFF - beq _0817466C - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r2, [r0, 0x5] - mov r1, r9 - ands r1, r2 - mov r2, r12 - orrs r1, r2 - strb r1, [r0, 0x5] -_0817466C: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x5 - bls _0817464A - adds r1, r7, r4 - lsls r1, 3 - ldr r0, =gTasks - adds r6, r1, r0 - movs r2, 0xC - ldrsh r0, [r6, r2] - adds r0, 0x5 - lsls r0, 1 - adds r0, r1 - ldr r1, =gTasks - adds r1, 0x8 - adds r0, r1 - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - strb r1, [r0, 0x5] - lsrs r1, 4 - movs r0, 0x80 - lsls r0, 9 - lsls r0, r1 - ldr r1, =0xffff0000 - eors r0, r1 - ldr r2, =gUnknown_0203BCD4 - str r0, [r2] - ldr r2, =0x000063b0 - movs r1, 0xC - bl BlendPalettesUnfaded - movs r0, 0xC - ldrsh r1, [r6, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r4, r5, r0 - ldrh r1, [r4, 0x8] - ldr r0, =0x000001ff - ands r0, r1 - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _081746E6 - bl StopCryAndClearCrySongs - ldrh r0, [r4, 0x8] - lsls r0, 23 - lsrs r0, 23 - movs r1, 0 - bl PlayCry1 -_081746E6: - adds r0, r4, 0 - movs r1, 0 - movs r2, 0xE - bl sub_8174A88 - ldr r0, =sub_8174728 - str r0, [r6] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81745FC - - thumb_func_start sub_8174728 -sub_8174728: @ 8174728 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gMain - ldrh r2, [r1, 0x2E] - movs r0, 0x1 - ands r0, r2 - adds r3, r1, 0 - cmp r0, 0 - beq _081747E4 - ldr r0, =gTasks - mov r12, r0 - lsls r0, r6, 2 - adds r1, r0, r6 - lsls r3, r1, 3 - mov r1, r12 - adds r4, r3, r1 - ldrh r2, [r4, 0x8] - movs r5, 0x8 - ldrsh r1, [r4, r5] - mov r9, r0 - cmp r1, 0 - beq _081747B8 - subs r0, r2, 0x1 - strh r0, [r4, 0x8] - movs r5, 0 - adds r7, r3, 0 - movs r0, 0x8 - add r0, r12 - mov r8, r0 -_0817476A: - adds r0, r5, 0x5 - lsls r0, 1 - adds r0, r7 - mov r1, r8 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0xFF - beq _08174782 - bl sub_818D820 - movs r0, 0xFF - strh r0, [r4] -_08174782: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _0817476A - ldr r0, =gTasks - mov r2, r9 - adds r1, r2, r6 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0xA] - movs r3, 0xA - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _081747A4 - subs r0, r2, 0x1 - strh r0, [r1, 0xA] -_081747A4: - ldr r0, =sub_81743EC - str r0, [r1] - b _08174884 - .pool -_081747B8: - bl IsCryPlayingOrClearCrySongs - lsls r0, 24 - cmp r0, 0 - beq _081747D2 - bl StopCryAndClearCrySongs - ldr r0, =gMPlay_BGM - ldr r1, =0x0000ffff - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl -_081747D2: - ldr r0, =sub_8174898 - str r0, [r4] - b _08174884 - .pool -_081747E4: - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _08174828 - bl IsCryPlayingOrClearCrySongs - lsls r0, 24 - cmp r0, 0 - beq _08174806 - bl StopCryAndClearCrySongs - ldr r0, =gMPlay_BGM - ldr r1, =0x0000ffff - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl -_08174806: - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8174898 - str r0, [r1] - b _08174884 - .pool -_08174828: - movs r0, 0x40 - ands r0, r2 - cmp r0, 0 - beq _08174858 - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0xC] - movs r4, 0xC - ldrsh r0, [r1, r4] - cmp r0, 0 - beq _08174858 - subs r0, r2, 0x1 - strh r0, [r1, 0xC] - ldr r0, =sub_81745FC - str r0, [r1] - b _08174884 - .pool -_08174858: - ldrh r1, [r3, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08174884 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r2, r0, r1 - movs r5, 0xC - ldrsh r1, [r2, r5] - movs r3, 0x10 - ldrsh r0, [r2, r3] - subs r0, 0x1 - cmp r1, r0 - bge _08174884 - ldrh r0, [r2, 0xC] - adds r0, 0x1 - strh r0, [r2, 0xC] - ldr r0, =sub_81745FC - str r0, [r2] -_08174884: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174728 - - thumb_func_start sub_8174898 -sub_8174898: @ 8174898 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gPlttBufferFaded - ldr r1, =gPlttBufferUnfaded - movs r2, 0x80 - lsls r2, 2 - bl CpuSet - ldr r1, =0x0201c000 - ldr r0, =gUnknown_085E56D4 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3} - stm r1!, {r2,r3} - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_80F9BF4 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81748F0 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174898 - - thumb_func_start sub_81748F0 -sub_81748F0: @ 81748F0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - bl sub_80F9C30 - lsls r0, 24 - cmp r0, 0 - bne _08174988 - movs r5, 0 - lsls r0, r6, 2 - adds r0, r6 - lsls r7, r0, 3 - ldr r0, =gTasks + 0x8 - mov r8, r0 -_08174910: - adds r0, r5, 0x5 - lsls r0, 1 - adds r0, r7 - mov r1, r8 - adds r4, r0, r1 - ldrh r0, [r4] - cmp r0, 0xFF - beq _08174928 - bl sub_818D820 - movs r0, 0xFF - strh r0, [r4] -_08174928: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08174910 - movs r0, 0 - bl HideBg - movs r0, 0x1 - bl HideBg - movs r0, 0x3 - bl HideBg - bl sub_8198314 - bl FreeAllWindowBuffers - movs r0, 0x1 - bl UnsetBgTilemapBuffer - movs r0, 0x3 - bl UnsetBgTilemapBuffer - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - adds r0, r6, 0 - bl DestroyTask - ldr r4, =gUnknown_0203BCDC - ldr r0, [r4] - cmp r0, 0 - beq _08174974 - bl Free - movs r0, 0 - str r0, [r4] -_08174974: - ldr r4, =gUnknown_0203BCD8 - ldr r0, [r4] - cmp r0, 0 - beq _08174984 - bl Free - movs r0, 0 - str r0, [r4] -_08174984: - bl sub_8137C3C -_08174988: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81748F0 - - thumb_func_start sub_81749A0 -sub_81749A0: @ 81749A0 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gText_UnkCtrlF800Exit - movs r1, 0x8 - movs r2, 0x1 - bl sub_8198180 - movs r0, 0 - movs r1, 0 - bl sub_81973C4 - ldr r2, =gText_HOFCorrupted - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParametrized - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_8174A08 - str r1, [r0] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81749A0 - - thumb_func_start sub_8174A08 -sub_8174A08: @ 8174A08 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08174A28 - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8174898 - str r0, [r1] -_08174A28: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174A08 - - thumb_func_start sub_8174A38 -sub_8174A38: @ 8174A38 - push {r4,lr} - sub sp, 0xC - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0 - bl PutWindowTilemap - ldr r4, =gText_WelcomeToHOF - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0xD0 - bl GetStringCenterAlignXOffset - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_085E5388 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x1 - bl box_print - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174A38 - - thumb_func_start sub_8174A88 -sub_8174A88: @ 8174A88 - push {r4-r7,lr} - sub sp, 0x2C - adds r7, r0, 0 - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0 - bl PutWindowTilemap - ldrh r0, [r7, 0x8] - ldr r1, =0x000001ff - ands r1, r0 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - beq _08174B30 - ldr r1, =gText_Number - add r0, sp, 0xC - bl StringCopy - adds r6, r0, 0 - ldrh r0, [r7, 0x8] - lsls r0, 23 - lsrs r0, 23 - bl SpeciesToPokedexNum - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x0000ffff - cmp r4, r0 - beq _08174B04 - adds r0, r4, 0 - movs r1, 0x64 - bl __divsi3 - subs r0, 0x5F - strb r0, [r6] - adds r6, 0x1 - adds r0, r4, 0 - movs r1, 0x64 - bl __modsi3 - adds r4, r0, 0 - movs r1, 0xA - bl __divsi3 - subs r0, 0x5F - strb r0, [r6] - adds r6, 0x1 - adds r0, r4, 0 - movs r1, 0xA - bl __modsi3 - subs r0, 0x5F - b _08174B0E - .pool -_08174B04: - movs r0, 0xAC - strb r0, [r6] - adds r6, 0x1 - strb r0, [r6] - adds r6, 0x1 -_08174B0E: - strb r0, [r6] - adds r6, 0x1 - movs r0, 0xFF - strb r0, [r6] - ldr r0, =gUnknown_085E5388 - str r0, [sp] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x4] - add r0, sp, 0xC - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x10 - movs r3, 0x1 - bl box_print -_08174B30: - adds r1, r7, 0 - adds r1, 0xA - add r0, sp, 0xC - movs r2, 0xA - bl memcpy - add r1, sp, 0xC - movs r0, 0xFF - strb r0, [r1, 0xA] - ldrh r1, [r7, 0x8] - ldr r4, =0x000001ff - adds r0, r4, 0 - ands r0, r1 - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - bne _08174B8C - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0xD0 - bl GetStringCenterAlignXOffset - lsls r2, r0, 24 - lsrs r2, 24 - ldr r0, =gUnknown_085E5388 - str r0, [sp] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x4] - add r0, sp, 0xC - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r3, 0x1 - bl box_print - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - b _08174C82 - .pool -_08174B8C: - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0x80 - bl GetStringRightAlignXOffset - lsls r2, r0, 24 - lsrs r2, 24 - ldr r0, =gUnknown_085E5388 - str r0, [sp] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x4] - add r0, sp, 0xC - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r3, 0x1 - bl box_print - add r1, sp, 0xC - movs r0, 0xBA - strb r0, [r1] - mov r0, sp - adds r0, 0xD - ldrh r1, [r7, 0x8] - lsls r1, 23 - lsrs r1, 23 - movs r2, 0xB - muls r1, r2 - ldr r2, =gSpeciesNames - adds r1, r2 - bl StringCopy - adds r6, r0, 0 - ldrh r1, [r7, 0x8] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0x20 - beq _08174C0A - cmp r0, 0x1D - beq _08174C0A - lsls r0, r1, 23 - lsrs r0, 23 - ldr r1, [r7, 0x4] - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08174C00 - cmp r0, 0xFE - beq _08174C04 - b _08174C0A - .pool -_08174C00: - movs r0, 0xB5 - b _08174C06 -_08174C04: - movs r0, 0xB6 -_08174C06: - strb r0, [r6] - adds r6, 0x1 -_08174C0A: - movs r0, 0xFF - strb r0, [r6] - ldr r5, =gUnknown_085E5388 - str r5, [sp] - movs r4, 0x1 - negs r4, r4 - str r4, [sp, 0x4] - add r0, sp, 0xC - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x80 - movs r3, 0x1 - bl box_print - ldr r1, =gText_Level - add r0, sp, 0xC - bl StringCopy - adds r6, r0, 0 - ldrb r1, [r7, 0x9] - lsrs r1, 1 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - str r5, [sp] - str r4, [sp, 0x4] - add r0, sp, 0xC - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x24 - movs r3, 0x11 - bl box_print - ldr r1, =gText_IDNumber - add r0, sp, 0xC - bl StringCopy - adds r6, r0, 0 - ldrh r1, [r7] - movs r2, 0x2 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - str r5, [sp] - str r4, [sp, 0x4] - add r0, sp, 0xC - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x68 - movs r3, 0x11 - bl box_print - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram -_08174C82: - add sp, 0x2C - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174A88 - - thumb_func_start sub_8174C98 -sub_8174C98: @ 8174C98 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - movs r0, 0x1 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0x1 - bl PutWindowTilemap - ldr r2, =0x0000021d - movs r0, 0x1 - movs r1, 0 - movs r3, 0xD - bl SetWindowBorderStyle - ldr r0, =gUnknown_085E538C - mov r8, r0 - str r0, [sp] - movs r1, 0x1 - negs r1, r1 - mov r9, r1 - str r1, [sp, 0x4] - ldr r0, =gText_Name - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - movs r3, 0x1 - bl box_print - ldr r0, =gSaveBlock2Ptr - mov r10, r0 - ldr r1, [r0] - movs r0, 0x1 - movs r2, 0x70 - bl GetStringRightAlignXOffset - lsls r2, r0, 24 - lsrs r2, 24 - mov r1, r8 - str r1, [sp] - mov r0, r9 - str r0, [sp, 0x4] - mov r1, r10 - ldr r0, [r1] - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0x1 - bl box_print - mov r1, r10 - ldr r0, [r1] - ldrb r4, [r0, 0xA] - ldrb r0, [r0, 0xB] - lsls r0, 8 - orrs r4, r0 - mov r0, r8 - str r0, [sp] - movs r7, 0 - str r7, [sp, 0x4] - ldr r0, =gText_IDNumber - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - movs r3, 0x11 - bl box_print - add r6, sp, 0xC - ldr r1, =0x000186a0 - adds r0, r4, 0 - bl __modsi3 - ldr r5, =0x00002710 - adds r1, r5, 0 - bl __divsi3 - subs r0, 0x5F - strb r0, [r6] - add r6, sp, 0xC - adds r0, r4, 0 - adds r1, r5, 0 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r5, 0xFA - lsls r5, 2 - adds r1, r5, 0 - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r6, 0x1] - add r6, sp, 0xC - adds r0, r4, 0 - adds r1, r5, 0 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r6, 0x2] - add r5, sp, 0xC - adds r0, r4, 0 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r5, 0x3] - add r5, sp, 0xC - adds r0, r4, 0 - movs r1, 0xA - bl __umodsi3 - adds r0, 0xA1 - strb r0, [r5, 0x4] - add r1, sp, 0xC - movs r0, 0xFF - strb r0, [r1, 0x5] - movs r0, 0x1 - movs r2, 0x70 - bl GetStringRightAlignXOffset - lsls r2, r0, 24 - lsrs r2, 24 - mov r1, r8 - str r1, [sp] - mov r0, r9 - str r0, [sp, 0x4] - add r1, sp, 0xC - str r1, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0x11 - bl box_print - mov r0, r8 - str r0, [sp] - mov r1, r9 - str r1, [sp, 0x4] - ldr r0, =gText_MainMenuTime - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - movs r3, 0x21 - bl box_print - add r5, sp, 0xC - mov r0, r10 - ldr r4, [r0] - ldrh r0, [r4, 0xE] - movs r1, 0x64 - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r5] - add r5, sp, 0xC - ldrh r0, [r4, 0xE] - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r5, 0x1] - add r5, sp, 0xC - ldrh r0, [r4, 0xE] - movs r1, 0xA - bl __umodsi3 - adds r0, 0xA1 - strb r0, [r5, 0x2] - add r0, sp, 0xC - ldrb r0, [r0] - cmp r0, 0xA1 - bne _08174E1E - add r0, sp, 0xC - strb r7, [r0] -_08174E1E: - add r0, sp, 0xC - ldrb r1, [r0] - cmp r1, 0 - bne _08174E30 - ldrb r0, [r0, 0x1] - cmp r0, 0xA1 - bne _08174E30 - add r0, sp, 0xC - strb r1, [r0, 0x8] -_08174E30: - add r1, sp, 0xC - movs r0, 0xF0 - strb r0, [r1, 0x3] - adds r4, r1, 0 - ldr r0, =gSaveBlock2Ptr - ldr r5, [r0] - ldrb r0, [r5, 0x10] - movs r1, 0x64 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0xA - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r4, 0x4] - add r4, sp, 0xC - ldrb r0, [r5, 0x10] - movs r1, 0xA - bl __umodsi3 - adds r0, 0xA1 - strb r0, [r4, 0x5] - add r1, sp, 0xC - movs r0, 0xFF - strb r0, [r1, 0x6] - movs r0, 0x1 - movs r2, 0x70 - bl GetStringRightAlignXOffset - lsls r2, r0, 24 - lsrs r2, 24 - ldr r0, =gUnknown_085E538C - str r0, [sp] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x4] - add r1, sp, 0xC - str r1, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0x21 - bl box_print - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174C98 - - thumb_func_start sub_8174EC4 -sub_8174EC4: @ 8174EC4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r0, sp, 0x4 - mov r8, r0 - mov r2, sp - movs r6, 0 - ldr r1, =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_08174EEA: - strh r6, [r2] - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _08174EEA - strh r6, [r2] - mov r2, sp - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0x4] - ldr r2, =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - mov r0, sp - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - bl ResetPaletteFade - ldr r0, =gUnknown_085E54E8 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174EC4 - - thumb_func_start sub_8174F70 -sub_8174F70: @ 8174F70 - push {lr} - bl remove_some_task - bl ResetTasks - bl ResetSpriteData - bl reset_temp_tile_data_buffers - bl dp13_810BB8C - bl FreeAllSpritePalettes - ldr r1, =gReservedSpritePaletteCount - movs r0, 0x8 - strb r0, [r1] - ldr r0, =gUnknown_085E5394 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085E53A4 - bl LoadCompressedObjectPalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174F70 - - thumb_func_start sub_8174FAC -sub_8174FAC: @ 8174FAC - push {r4,lr} - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085E5374 - movs r0, 0 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r4, =gUnknown_0203BCDC - ldr r1, [r4] - adds r1, 0x12 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00001012 - adds r1, r0 - movs r0, 0x3 - bl SetBgTilemapBuffer - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8174FAC - - thumb_func_start sub_8175024 -sub_8175024: @ 8175024 - push {r4,lr} - sub sp, 0x8 - ldr r0, =gUnknown_0203BCDC - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x4 - bhi _08175108 - lsls r0, 2 - ldr r1, =_08175044 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08175044: - .4byte _08175058 - .4byte _08175070 - .4byte _0817507C - .4byte _081750D2 - .4byte _081750DC -_08175058: - ldr r1, =gUnknown_085E5508 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - b _08175108 - .pool -_08175070: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - beq _08175108 - b _08175112 -_0817507C: - movs r4, 0x20 - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - movs r0, 0xB - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0x3 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - movs r0, 0x6 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - movs r3, 0xE - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x3 - movs r1, 0x2 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _08175108 -_081750D2: - bl sub_81971D0 - bl sub_8197200 - b _08175108 -_081750DC: - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x3 - bl ShowBg - ldr r0, =gUnknown_0203BCDC - ldr r1, [r0] - movs r0, 0 - strh r0, [r1] - b _08175114 - .pool -_08175108: - ldr r0, =gUnknown_0203BCDC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_08175112: - movs r0, 0x1 -_08175114: - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8175024 - - thumb_func_start sub_8175120 -sub_8175120: @ 8175120 - push {r4,lr} - adds r2, r0, 0 - ldr r1, [r2, 0x20] - ldr r0, [r2, 0x30] - cmp r1, r0 - beq _08175176 - ldrh r3, [r2, 0x20] - movs r1, 0x20 - ldrsh r0, [r2, r1] - movs r4, 0x30 - ldrsh r1, [r2, r4] - cmp r0, r1 - bge _08175140 - adds r0, r3, 0 - adds r0, 0xF - strh r0, [r2, 0x20] -_08175140: - ldrh r3, [r2, 0x20] - movs r4, 0x20 - ldrsh r0, [r2, r4] - cmp r0, r1 - ble _08175150 - adds r0, r3, 0 - subs r0, 0xF - strh r0, [r2, 0x20] -_08175150: - ldrh r3, [r2, 0x22] - movs r1, 0x22 - ldrsh r0, [r2, r1] - movs r4, 0x32 - ldrsh r1, [r2, r4] - cmp r0, r1 - bge _08175164 - adds r0, r3, 0 - adds r0, 0xA - strh r0, [r2, 0x22] -_08175164: - ldrh r3, [r2, 0x22] - movs r4, 0x22 - ldrsh r0, [r2, r4] - cmp r0, r1 - ble _0817519C - adds r0, r3, 0 - subs r0, 0xA - strh r0, [r2, 0x22] - b _0817519C -_08175176: - ldrh r0, [r2, 0x3C] - lsls r1, r0, 16 - movs r0, 0xCE - lsls r0, 17 - cmp r1, r0 - bne _08175190 - lsrs r1, 16 - adds r0, r2, 0 - movs r2, 0x1 - movs r3, 0x3 - bl DoMonFrontSpriteAnimation - b _0817519C -_08175190: - lsrs r1, 16 - adds r0, r2, 0 - movs r2, 0 - movs r3, 0x3 - bl DoMonFrontSpriteAnimation -_0817519C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8175120 - - thumb_func_start sub_81751A4 -sub_81751A4: @ 81751A4 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r1, [r5, 0x26] - movs r2, 0x26 - ldrsh r0, [r5, r2] - cmp r0, 0x78 - ble _081751BA - adds r0, r5, 0 - bl DestroySprite - b _081751F2 -_081751BA: - adds r0, r1, 0x1 - ldrh r1, [r5, 0x30] - adds r0, r1 - strh r0, [r5, 0x26] - ldrh r4, [r5, 0x2E] - lsls r4, 24 - lsrs r4, 24 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - ands r0, r1 - adds r0, 0x8 - ldr r1, =gSineTable - lsls r4, 1 - adds r4, r1 - movs r2, 0 - ldrsh r1, [r4, r2] - muls r0, r1 - cmp r0, 0 - bge _081751E8 - adds r0, 0xFF -_081751E8: - asrs r0, 8 - strh r0, [r5, 0x24] - ldrh r0, [r5, 0x2E] - adds r0, 0x4 - strh r0, [r5, 0x2E] -_081751F2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81751A4 - - thumb_func_start sub_81751FC -sub_81751FC: @ 81751FC - push {r4,lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF0 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl Random - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - movs r0, 0x7 - ands r2, r0 - negs r2, r2 - ldr r0, =gUnknown_085E54D0 - lsls r4, 16 - asrs r4, 16 - lsls r2, 16 - asrs r2, 16 - adds r1, r4, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r4, r1, r0 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x11 - bl __umodsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - bl Random - movs r1, 0x3 - ands r1, r0 - cmp r1, 0 - beq _08175274 - movs r0, 0 - b _08175276 - .pool -_08175274: - movs r0, 0x1 -_08175276: - strh r0, [r4, 0x30] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81751FC - - thumb_func_start sub_8175280 -sub_8175280: @ 8175280 - push {r4,lr} - ldr r4, =gSpecialVar_0x8004 - movs r0, 0xB4 - strh r0, [r4] - ldr r0, =sub_8175364 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _081752AA - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r4] - strh r1, [r0, 0xA] - ldr r0, =gSpecialVar_0x8005 - strh r2, [r0] -_081752AA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8175280 - - thumb_func_start sub_81752C0 -sub_81752C0: @ 81752C0 - push {r4,lr} - ldr r0, =sub_8175364 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _081752D4 - bl DestroyTask -_081752D4: - bl sub_8152254 - ldr r4, =0x000003e9 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81752C0 - - thumb_func_start sub_81752F4 -sub_81752F4: @ 81752F4 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r1, [r5, 0xE] - movs r2, 0xE - ldrsh r0, [r5, r2] - cmp r0, 0x6E - ble _08175324 - ldr r2, =gTasks - movs r0, 0x28 - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x26] - subs r1, 0x1 - strh r1, [r0, 0x26] - ldrb r0, [r5, 0x16] - bl sub_81525D0 - b _08175358 - .pool -_08175324: - adds r0, r1, 0x1 - ldrh r1, [r5, 0x1C] - adds r0, r1 - strh r0, [r5, 0xE] - ldrb r4, [r5, 0x1A] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - ands r0, r1 - adds r0, 0x8 - ldr r1, =gSineTable - lsls r4, 1 - adds r4, r1 - movs r2, 0 - ldrsh r1, [r4, r2] - muls r0, r1 - cmp r0, 0 - bge _0817534E - adds r0, 0xFF -_0817534E: - asrs r0, 8 - strh r0, [r5, 0xC] - ldrh r0, [r5, 0x1A] - adds r0, 0x4 - strh r0, [r5, 0x1A] -_08175358: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81752F4 - - thumb_func_start sub_8175364 -sub_8175364: @ 8175364 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r4, r0, 24 - mov r8, r4 - movs r7, 0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - ldrh r0, [r6] - cmp r0, 0x1 - beq _081753E0 - cmp r0, 0x1 - bgt _08175394 - cmp r0, 0 - beq _0817539C - b _081754B0 - .pool -_08175394: - cmp r0, 0xFF - bne _0817539A - b _081754A0 -_0817539A: - b _081754B0 -_0817539C: - movs r0, 0x40 - bl sub_81521C0 - cmp r0, 0 - bne _081753B8 - adds r0, r4, 0 - bl DestroyTask - ldr r0, =gSpecialVar_0x8004 - strh r7, [r0] - ldr r1, =gSpecialVar_0x8005 - ldr r2, =0x0000ffff - adds r0, r2, 0 - strh r0, [r1] -_081753B8: - ldr r0, =gUnknown_085E5394 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085E53A4 - bl LoadCompressedObjectPalette - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - b _081754B0 - .pool -_081753E0: - ldrh r0, [r6, 0x2] - cmp r0, 0 - beq _08175478 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _08175478 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF0 - bl __umodsi3 - adds r5, r0, 0 - lsls r5, 16 - asrs r5, 16 - bl Random - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x7 - ands r4, r0 - negs r4, r4 - lsls r4, 16 - asrs r4, 16 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x11 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_085E53FC - ldr r2, =0x000003e9 - str r4, [sp] - str r0, [sp, 0x4] - str r7, [sp, 0x8] - adds r0, r1, 0 - adds r1, r2, 0 - adds r3, r5, 0 - bl sub_81524C4 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0xFF - beq _08175478 - adds r4, r7, 0 - ldr r1, =sub_81752F4 - adds r0, r4, 0 - bl sub_8152438 - bl Random - movs r1, 0x3 - ands r1, r0 - cmp r1, 0 - bne _08175468 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_8152474 -_08175468: - adds r0, r4, 0 - movs r1, 0x7 - mov r2, r8 - bl sub_8152474 - ldrh r0, [r6, 0x1E] - adds r0, 0x1 - strh r0, [r6, 0x1E] -_08175478: - bl sub_81522D4 - ldrh r0, [r6, 0x2] - cmp r0, 0 - beq _08175494 - subs r0, 0x1 - strh r0, [r6, 0x2] - b _081754B0 - .pool -_08175494: - ldrh r0, [r6, 0x1E] - cmp r0, 0 - bne _081754B0 - movs r0, 0xFF - strh r0, [r6] - b _081754B0 -_081754A0: - bl sub_81752C0 - ldr r0, =gSpecialVar_0x8004 - strh r7, [r0] - ldr r1, =gSpecialVar_0x8005 - ldr r2, =0x0000ffff - adds r0, r2, 0 - strh r0, [r1] -_081754B0: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8175364 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/heal_location.s b/asm/heal_location.s deleted file mode 100644 index f7947d34ed..0000000000 --- a/asm/heal_location.s +++ /dev/null @@ -1,83 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8122C5C -sub_8122C5C: @ 8122C5C - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r1, 16 - movs r3, 0 - ldr r2, =gUnknown_0859F53C -_08122C6A: - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, r4 - bne _08122C84 - movs r0, 0x1 - ldrsb r0, [r2, r0] - cmp r0, r1 - bne _08122C84 - adds r0, r3, 0x1 - b _08122C8E - .pool -_08122C84: - adds r2, 0x8 - adds r3, 0x1 - cmp r3, 0x15 - bls _08122C6A - movs r0, 0 -_08122C8E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8122C5C - - thumb_func_start sub_8122C94 -sub_8122C94: @ 8122C94 - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - bl sub_8122C5C - cmp r0, 0 - beq _08122CB4 - lsls r0, 3 - ldr r1, =gUnknown_0859F534 - adds r0, r1 - b _08122CB6 - .pool -_08122CB4: - movs r0, 0 -_08122CB6: - pop {r1} - bx r1 - thumb_func_end sub_8122C94 - - thumb_func_start sub_8122CBC -@ warpdata *sub_8122CBC(int a1) -sub_8122CBC: @ 8122CBC - push {lr} - cmp r0, 0 - beq _08122CD4 - cmp r0, 0x16 - bhi _08122CD4 - lsls r0, 3 - ldr r1, =gUnknown_0859F534 - adds r0, r1 - b _08122CD6 - .pool -_08122CD4: - movs r0, 0 -_08122CD6: - pop {r1} - bx r1 - thumb_func_end sub_8122CBC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/international_string_util.s b/asm/international_string_util.s old mode 100755 new mode 100644 index 817a1d5e4e..469d887874 --- a/asm/international_string_util.s +++ b/asm/international_string_util.s @@ -52,8 +52,8 @@ _081DB462: bx r1 thumb_func_end sub_81DB41C - thumb_func_start sub_81DB468 -sub_81DB468: @ 81DB468 + thumb_func_start CopyMonCategoryText +CopyMonCategoryText: @ 81DB468 push {lr} adds r2, r0, 0 adds r0, r1, 0 @@ -70,7 +70,7 @@ sub_81DB468: @ 81DB468 pop {r0} bx r0 .pool - thumb_func_end sub_81DB468 + thumb_func_end CopyMonCategoryText thumb_func_start sub_81DB494 sub_81DB494: @ 81DB494 @@ -113,8 +113,8 @@ _081DB4D4: bx r1 thumb_func_end sub_81DB494 - thumb_func_start sub_81DB4DC -sub_81DB4DC: @ 81DB4DC + thumb_func_start PadNameString +PadNameString: @ 81DB4DC push {r4,r5,lr} adds r4, r0, 0 lsls r1, 24 @@ -156,7 +156,7 @@ _081DB51E: pop {r4,r5} pop {r0} bx r0 - thumb_func_end sub_81DB4DC + thumb_func_end PadNameString thumb_func_start sub_81DB52C sub_81DB52C: @ 81DB52C diff --git a/asm/intro.s b/asm/intro.s index 32b52ed06e..a0149851e0 100644 --- a/asm/intro.s +++ b/asm/intro.s @@ -11,7 +11,7 @@ sub_816CBE8: @ 816CBE8 bl LoadOam bl ProcessSpriteCopyRequests bl TransferPlttBuffer - bl sub_80BA0A8 + bl ScanlineEffect_InitHBlankDmaTransfer pop {r0} bx r0 thumb_func_end sub_816CBE8 @@ -59,7 +59,7 @@ sub_816CC54: @ 816CC54 lsls r0, 24 cmp r0, 0 bne _0816CC66 - ldr r0, =c2_title_screen_1 + ldr r0, =CB2_InitTitleScreen bl SetMainCallback2 _0816CC66: pop {r0} @@ -184,7 +184,7 @@ _0816CCF4: movs r0, 0 movs r2, 0 bl load_copyright_graphics - bl remove_some_task + bl ScanlineEffect_Stop bl ResetTasks bl ResetSpriteData bl FreeAllSpritePalettes @@ -337,13 +337,13 @@ _0816CEFA: .pool thumb_func_end c2_copyright_1 - thumb_func_start c2_show_copyright_and_intro_again_2 -c2_show_copyright_and_intro_again_2: @ 816CF0C + thumb_func_start CB2_InitCopyrightScreenAfterTitleScreen +CB2_InitCopyrightScreenAfterTitleScreen: @ 816CF0C push {lr} bl do_copyright_screen pop {r0} bx r0 - thumb_func_end c2_show_copyright_and_intro_again_2 + thumb_func_end CB2_InitCopyrightScreenAfterTitleScreen thumb_func_start task_intro_1 @ void task_intro_1(int task_id) @@ -1945,24 +1945,24 @@ task_intro_13: @ 816DD28 ldr r1, =gReservedSpritePaletteCount movs r0, 0x8 strb r0, [r1] - ldr r0, =gUnknown_08D88494 + ldr r0, =gIntro3GroudonGfx movs r1, 0xC0 lsls r1, 19 bl LZDecompressVram - ldr r0, =gUnknown_08D88D40 + ldr r0, =gIntro3GroudonTilemap ldr r1, =0x0600c000 bl LZDecompressVram - ldr r0, =gUnknown_08D89F7C + ldr r0, =gIntro3LegendBgGfx ldr r1, =0x06004000 bl LZDecompressVram - ldr r0, =gUnknown_08D8A818 + ldr r0, =gIntro3GroudonBgTilemap ldr r1, =0x0600e000 bl LZDecompressVram ldr r0, =gBattleAnimPicTable + 0x1D0 bl LoadCompressedObjectPicUsingHeap ldr r0, =gBattleAnimPaletteTable + 0x1D0 bl LoadCompressedObjectPaletteUsingHeap - ldr r0, =gUnknown_08D85CD0 + ldr r0, =gIntro3BgPal ldr r1, =gPlttBufferUnfaded movs r2, 0x80 lsls r2, 1 @@ -2124,7 +2124,7 @@ task_intro_17: @ 816DEEC movs r1, 0xA0 movs r2, 0x4 movs r3, 0x4 - bl sub_80BA384 + bl ScanlineEffect_InitWave add sp, 0xC pop {r0} bx r0 @@ -2229,7 +2229,7 @@ _0816DFF4: strh r0, [r4, 0xC] movs r1, 0xE ldrsh r0, [r4, r1] - ldr r1, =gUnknown_08D85CD0 + ldr r1, =gIntro3BgPal adds r0, r1 ldr r1, =gPlttBufferFaded + 0x3E movs r2, 0x1 @@ -2271,7 +2271,7 @@ _0816E046: strh r0, [r4, 0xC] movs r2, 0xE ldrsh r0, [r4, r2] - ldr r1, =gUnknown_08D85CD0 + ldr r1, =gIntro3BgPal adds r0, r1 ldr r1, =gPlttBufferFaded + 0x3E movs r2, 0x1 @@ -2411,7 +2411,7 @@ _0816E156: adds r0, r1 ldr r1, =task_intro_19 str r1, [r0] - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _0816E176: @@ -2571,14 +2571,14 @@ task_intro_19: @ 816E2A0 lsls r4, 24 lsrs r4, 24 bl ResetSpriteData - ldr r0, =gUnknown_08D89224 + ldr r0, =gIntro3KyogreGfx movs r1, 0xC0 lsls r1, 19 bl LZDecompressVram - ldr r0, =gUnknown_08D89ABC + ldr r0, =gIntro3KyogreTilemap ldr r1, =0x0600c000 bl LZDecompressVram - ldr r0, =gUnknown_08D8A934 + ldr r0, =gIntro3KyogreBgTilemap ldr r1, =0x0600e000 bl LZDecompressVram ldr r0, =gUnknown_085E4C88 @@ -2623,7 +2623,7 @@ task_intro_19: @ 816E2A0 movs r1, 0xA0 movs r2, 0x4 movs r3, 0x4 - bl sub_80BA384 + bl ScanlineEffect_InitWave add sp, 0xC pop {r4} pop {r0} @@ -2888,7 +2888,7 @@ _0816E56E: strh r0, [r5, 0xC] movs r2, 0xE ldrsh r0, [r5, r2] - ldr r1, =gUnknown_08D85CD0 + ldr r1, =gIntro3BgPal adds r0, r1 ldr r1, =gPlttBufferFaded + 0x5E movs r2, 0x1 @@ -2932,7 +2932,7 @@ _0816E5BC: strh r0, [r5, 0xC] movs r2, 0xE ldrsh r0, [r5, r2] - ldr r1, =gUnknown_08D85CD0 + ldr r1, =gIntro3BgPal adds r0, r1 ldr r1, =gPlttBufferFaded + 0x5E movs r2, 0x1 @@ -3038,7 +3038,7 @@ _0816E69C: adds r0, r1 ldr r1, =task_intro_21 str r1, [r0] - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _0816E6BC: @@ -3319,7 +3319,7 @@ task_intro_21: @ 816E888 movs r0, 0x1A movs r1, 0 bl SetGpuReg - ldr r4, =gUnknown_08D8AA54 + ldr r4, =gIntro3CloudsGfx movs r1, 0xC0 lsls r1, 19 adds r0, r4, 0 @@ -3327,7 +3327,7 @@ task_intro_21: @ 816E888 ldr r1, =0x06004000 adds r0, r4, 0 bl LZDecompressVram - ldr r0, =gUnknown_08D8B6E8 + ldr r0, =gIntro3Clouds3Tilemap ldr r1, =0x0600e000 bl LZDecompressVram ldr r1, =gTasks @@ -3349,10 +3349,10 @@ task_intro_22: @ 816E954 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gUnknown_08D8B180 + ldr r0, =gIntro3Clouds1Tilemap ldr r1, =0x0600c000 bl LZDecompressVram - ldr r0, =gUnknown_08D8B440 + ldr r0, =gIntro3Clouds2Tilemap ldr r1, =0x0600d000 bl LZDecompressVram ldr r1, =gTasks @@ -3509,16 +3509,16 @@ task_intro_25: @ 816EAB8 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gUnknown_08D8C16C + ldr r0, =gIntro3RayquazaTilemap ldr r1, =0x0600e000 bl LZDecompressVram - ldr r0, =gUnknown_08D8CCC8 + ldr r0, =gIntro3Clouds4Tilemap ldr r1, =0x0600c000 bl LZDecompressVram - ldr r0, =gUnknown_08D8BA74 + ldr r0, =gIntro3RayquazaGfx ldr r1, =0x06004000 bl LZDecompressVram - ldr r0, =gUnknown_08D8C838 + ldr r0, =gIntro3Clouds2Gfx movs r1, 0xC0 lsls r1, 19 bl LZDecompressVram @@ -3725,7 +3725,7 @@ _0816ECA0: _0816ECAC: movs r1, 0x30 ldrsh r0, [r4, r1] - ldr r1, =gUnknown_08D85CD0 + ldr r1, =gIntro3BgPal adds r0, r1 ldr r1, =gPlttBufferFaded + 0xBA movs r2, 0x1 @@ -3757,7 +3757,7 @@ _0816ECDC: strh r0, [r4, 0x32] movs r1, 0x30 ldrsh r0, [r4, r1] - ldr r1, =gUnknown_08D85CD0 + ldr r1, =gIntro3BgPal adds r0, r1 ldr r1, =gPlttBufferFaded + 0xBA movs r2, 0x1 @@ -4007,7 +4007,7 @@ _0816EEF4: movs r2, 0x2 ldrsh r0, [r5, r2] lsls r0, 1 - ldr r1, =gUnknown_08D85E72 + ldr r1, =gIntro3BgPal + 0x1A2 adds r0, r1 ldr r1, =gPlttBufferFaded + 0xBC movs r2, 0x1 @@ -4043,7 +4043,7 @@ _0816EF34: movs r1, 0x2 ldrsh r0, [r5, r1] lsls r0, 1 - ldr r1, =gUnknown_08D85E72 + ldr r1, =gIntro3BgPal + 0x1A2 adds r0, r1 ldr r1, =gPlttBufferFaded + 0xB0 movs r2, 0x1 @@ -4080,7 +4080,7 @@ _0816EF80: movs r1, 0x2 ldrsh r0, [r5, r1] lsls r0, 1 - ldr r1, =gUnknown_08D85E52 + ldr r1, =gIntro3BgPal + 0x182 adds r0, r1 ldr r1, =gPlttBufferFaded + 0xB8 movs r2, 0x1 @@ -4148,7 +4148,7 @@ _0816F00A: movs r0, 0x50 movs r1, 0x10 bl BlendPalette - ldr r4, =gUnknown_08D85E7C + ldr r4, =gIntro3BgPal + 0x1AC ldr r5, =gPlttBufferFaded + 0xBC adds r0, r4, 0 adds r1, r5, 0 @@ -5617,7 +5617,7 @@ _0816FBB4: cmp r0, 0 beq _0816FC14 lsls r0, 1 - ldr r4, =gUnknown_08D85C50 + ldr r4, =gIntro1GameFreakTextFadePal adds r0, r4 ldr r5, =gPlttBufferFaded + 0x23E adds r1, r5, 0 @@ -5651,7 +5651,7 @@ _0816FC14: movs r1, 0x30 ldrsh r0, [r6, r1] lsls r0, 1 - ldr r4, =gUnknown_08D85C50 + ldr r4, =gIntro1GameFreakTextFadePal adds r0, r4 ldr r5, =gPlttBufferFaded + 0x23E adds r1, r5, 0 @@ -5696,7 +5696,7 @@ _0816FC6C: cmp r0, 0x9 bgt _0816FCE6 lsls r0, 1 - ldr r4, =gUnknown_08D85C50 + ldr r4, =gIntro1GameFreakTextFadePal adds r0, r4 ldr r5, =gPlttBufferFaded + 0x23E adds r1, r5, 0 diff --git a/asm/item_icon.s b/asm/item_icon.s deleted file mode 100755 index e3fe4189a3..0000000000 --- a/asm/item_icon.s +++ /dev/null @@ -1,468 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start AllocItemIconTemporaryBuffers -@ bool8 AllocItemIconTemporaryBuffers() -AllocItemIconTemporaryBuffers: @ 81AFDE4 - push {r4,r5,lr} - ldr r5, =gUnknown_0203CEBC - movs r0, 0x90 - lsls r0, 1 - bl Alloc - str r0, [r5] - cmp r0, 0 - beq _081AFE1A - ldr r4, =gUnknown_0203CEC0 - movs r0, 0x80 - lsls r0, 2 - bl AllocZeroed - str r0, [r4] - cmp r0, 0 - beq _081AFE14 - movs r0, 0x1 - b _081AFE1C - .pool -_081AFE14: - ldr r0, [r5] - bl Free -_081AFE1A: - movs r0, 0 -_081AFE1C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end AllocItemIconTemporaryBuffers - - thumb_func_start FreeItemIconTemporaryBuffers -@ void FreeItemIconTemporaryBuffers() -FreeItemIconTemporaryBuffers: @ 81AFE24 - push {lr} - ldr r0, =gUnknown_0203CEBC - ldr r0, [r0] - bl Free - ldr r0, =gUnknown_0203CEC0 - ldr r0, [r0] - bl Free - pop {r0} - bx r0 - .pool - thumb_func_end FreeItemIconTemporaryBuffers - - thumb_func_start CopyItemIconPicTo4x4Buffer -@ void CopyItemIconPicTo4x4Buffer(void *src, void *dest) -CopyItemIconPicTo4x4Buffer: @ 81AFE44 - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - movs r4, 0 -_081AFE4C: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 5 - adds r0, r6, r0 - lsls r1, r4, 7 - adds r1, r5, r1 - movs r2, 0x30 - bl CpuSet - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _081AFE4C - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end CopyItemIconPicTo4x4Buffer - - thumb_func_start AddItemIconObject -@ u8 AddItemIconObject(u16 tilesTag, u16 paletteTag, u16 itemId) -AddItemIconObject: @ 81AFE70 - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 16 - lsrs r7, r0, 16 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - bl AllocItemIconTemporaryBuffers - lsls r0, 24 - cmp r0, 0 - beq _081AFF28 - adds r0, r5, 0 - movs r1, 0 - bl GetItemIconPicOrPalette - ldr r4, =gUnknown_0203CEBC - ldr r1, [r4] - bl LZDecompressWram - ldr r0, [r4] - ldr r4, =gUnknown_0203CEC0 - ldr r1, [r4] - bl CopyItemIconPicTo4x4Buffer - ldr r0, [r4] - str r0, [sp] - ldr r4, =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r4 - movs r1, 0x80 - lsls r1, 2 - orrs r0, r1 - lsls r2, r7, 16 - ldr r1, =0x0000ffff - ands r0, r1 - orrs r0, r2 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - adds r0, r5, 0 - movs r1, 0x1 - bl GetItemIconPicOrPalette - str r0, [sp, 0x8] - add r0, sp, 0x8 - ldr r1, [r0, 0x4] - ands r1, r4 - orrs r1, r6 - str r1, [r0, 0x4] - bl LoadCompressedObjectPalette - movs r0, 0x18 - bl Alloc - adds r5, r0, 0 - ldr r0, =gUnknown_08614FF4 - adds r1, r5, 0 - movs r2, 0xC - bl CpuSet - strh r7, [r5] - strh r6, [r5, 0x2] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl FreeItemIconTemporaryBuffers - adds r0, r5, 0 - bl Free - adds r0, r4, 0 - b _081AFF2A - .pool -_081AFF28: - movs r0, 0x40 -_081AFF2A: - add sp, 0x10 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end AddItemIconObject - - thumb_func_start AddItemIconObjectWithCustomObjectTemplate -@ u8 AddItemIconObjectWithCustomObjectTemplate(struct objtemplate *objectTemplate, u16 tilesTag, u16 paletteTag, u16 itemId) -AddItemIconObjectWithCustomObjectTemplate: @ 81AFF34 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - mov r8, r0 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 16 - lsrs r6, r2, 16 - lsls r3, 16 - lsrs r5, r3, 16 - bl AllocItemIconTemporaryBuffers - lsls r0, 24 - cmp r0, 0 - beq _081AFFEC - adds r0, r5, 0 - movs r1, 0 - bl GetItemIconPicOrPalette - ldr r4, =gUnknown_0203CEBC - ldr r1, [r4] - bl LZDecompressWram - ldr r0, [r4] - ldr r4, =gUnknown_0203CEC0 - ldr r1, [r4] - bl CopyItemIconPicTo4x4Buffer - ldr r0, [r4] - str r0, [sp] - ldr r4, =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r4 - movs r1, 0x80 - lsls r1, 2 - orrs r0, r1 - lsls r2, r7, 16 - ldr r1, =0x0000ffff - ands r0, r1 - orrs r0, r2 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - adds r0, r5, 0 - movs r1, 0x1 - bl GetItemIconPicOrPalette - str r0, [sp, 0x8] - add r0, sp, 0x8 - ldr r1, [r0, 0x4] - ands r1, r4 - orrs r1, r6 - str r1, [r0, 0x4] - bl LoadCompressedObjectPalette - movs r0, 0x18 - bl Alloc - adds r5, r0, 0 - mov r0, r8 - adds r1, r5, 0 - movs r2, 0xC - bl CpuSet - strh r7, [r5] - strh r6, [r5, 0x2] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl FreeItemIconTemporaryBuffers - adds r0, r5, 0 - bl Free - adds r0, r4, 0 - b _081AFFEE - .pool -_081AFFEC: - movs r0, 0x40 -_081AFFEE: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end AddItemIconObjectWithCustomObjectTemplate - - thumb_func_start GetItemIconPicOrPalette -@ u32 GetItemIconPicOrPalette(u16 itemId, u8 which) -GetItemIconPicOrPalette: @ 81AFFFC - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 24 - lsrs r1, 24 - ldr r0, =0x0000ffff - cmp r3, r0 - bne _081B0018 - ldr r3, =0x00000179 - b _081B0022 - .pool -_081B0018: - movs r0, 0xBC - lsls r0, 1 - cmp r3, r0 - bls _081B0022 - movs r3, 0 -_081B0022: - ldr r2, =gItemIconTable - lsls r0, r1, 2 - lsls r1, r3, 3 - adds r0, r1 - adds r0, r2 - ldr r0, [r0] - pop {r1} - bx r1 - .pool - thumb_func_end GetItemIconPicOrPalette - - thumb_func_start sub_81B0038 -sub_81B0038: @ 81B0038 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, [sp, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp] - lsls r4, 24 - lsrs r6, r4, 24 - bl reset_brm - ldr r0, =gUnknown_0203CEC4 - mov r10, r0 - movs r0, 0x8E - lsls r0, 2 - bl Alloc - adds r5, r0, 0 - mov r1, r10 - str r5, [r1] - cmp r5, 0 - bne _081B0088 - ldr r0, [sp, 0x2C] - bl SetMainCallback2 - b _081B0194 - .pool -_081B0088: - ldr r3, =gUnknown_0203CEC8 - movs r1, 0xF - mov r4, r8 - ands r1, r4 - ldrb r2, [r3, 0x8] - movs r0, 0x10 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x8] - ldr r0, [sp, 0x2C] - str r0, [r3] - movs r4, 0 - strb r7, [r3, 0xB] - lsls r2, r6, 2 - ldrh r1, [r5, 0xA] - movs r0, 0x3 - ands r0, r1 - orrs r0, r2 - strh r0, [r5, 0xA] - ldr r0, [sp, 0x28] - str r0, [r5] - str r4, [r5, 0x4] - ldrb r1, [r5, 0x8] - movs r0, 0xF - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x8] - mov r1, r10 - ldr r2, [r1] - ldrh r0, [r2, 0x8] - movs r4, 0xFE - lsls r4, 3 - adds r1, r4, 0 - orrs r0, r1 - strh r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xFE - lsls r1, 10 - orrs r0, r1 - str r0, [r2, 0x8] - adds r6, r3, 0 - mov r5, r8 - cmp r5, 0x4 - bne _081B00F0 - ldrb r0, [r2, 0x8] - movs r1, 0x1 - orrs r0, r1 - b _081B00F8 - .pool -_081B00F0: - ldrb r1, [r2, 0x8] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 -_081B00F8: - strb r0, [r2, 0x8] - mov r0, r9 - cmp r0, 0xFF - beq _081B0114 - movs r0, 0x3 - mov r1, r9 - ands r0, r1 - lsls r0, 4 - ldrb r2, [r6, 0x8] - movs r1, 0x31 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r6, 0x8] -_081B0114: - movs r2, 0 - ldr r5, =gUnknown_0203CEC4 - movs r4, 0x86 - lsls r4, 2 - movs r3, 0 -_081B011E: - ldr r0, [r5] - lsls r1, r2, 1 - adds r0, r4 - adds r0, r1 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0xF - bls _081B011E - movs r2, 0 - ldr r4, =gUnknown_0203CEC4 - movs r3, 0xFF -_081B0138: - ldr r0, [r4] - adds r0, 0xC - adds r0, r2 - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x2 - bls _081B0138 - ldr r4, [sp] - cmp r4, 0 - bne _081B015C - strb r4, [r6, 0x9] - b _081B017E - .pool -_081B015C: - adds r1, r6, 0 - movs r0, 0x9 - ldrsb r0, [r1, r0] - cmp r0, 0x5 - bgt _081B017A - adds r1, r0, 0 - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - bne _081B017E -_081B017A: - movs r0, 0 - strb r0, [r6, 0x9] -_081B017E: - ldr r2, =gTextFlags - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - bl CalculatePlayerPartyCount - ldr r0, =c2_811EBD0 - bl SetMainCallback2 -_081B0194: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81B0038 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/item_menu.s b/asm/item_menu.s old mode 100755 new mode 100644 index 06c0a86ed0..010e83c498 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -121,7 +121,7 @@ sub_81AAC28: @ 81AAC28 ldr r0, =gSpecialVar_0x8005 movs r1, 0 strh r1, [r0] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] pop {r0} bx r0 @@ -135,7 +135,7 @@ sub_81AAC50: @ 81AAC50 movs r0, 0x7 movs r1, 0x5 bl GoToBagMenu - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] pop {r0} @@ -150,7 +150,7 @@ sub_81AAC70: @ 81AAC70 movs r0, 0x8 movs r1, 0x5 bl GoToBagMenu - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] pop {r0} @@ -343,7 +343,7 @@ _081AAE34: bl clear_scheduled_bg_copies_to_vram b _081AB012 _081AAE3E: - bl remove_some_task + bl ScanlineEffect_Stop ldr r1, =gMain movs r2, 0x87 lsls r2, 3 @@ -463,7 +463,7 @@ _081AAF54: adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldrb r2, [r4, 0x5] lsls r2, 1 adds r1, r4, 0 @@ -568,7 +568,7 @@ _081AB046: thumb_func_start bag_menu_init_bgs bag_menu_init_bgs: @ 81AB050 push {r4,lr} - bl sub_8121DA0 + bl ResetVramOamAndBgCntRegs ldr r4, =gUnknown_0203CE54 ldr r0, [r4] adds r0, 0x4 @@ -586,7 +586,7 @@ bag_menu_init_bgs: @ 81AB050 adds r1, 0x4 movs r0, 0x2 bl SetBgTilemapBuffer - bl sub_8121E10 + bl ResetAllBgsCoordinates movs r0, 0x2 bl schedule_bg_copy_tilemap_to_vram movs r1, 0x82 @@ -637,7 +637,7 @@ _081AB0E8: .4byte _081AB1A8 _081AB0FC: bl reset_temp_tile_data_buffers - ldr r1, =gUnknown_08D9A620 + ldr r1, =gBagScreen_Gfx movs r0, 0 str r0, [sp] movs r0, 0x2 @@ -670,14 +670,14 @@ _081AB13C: ldrb r0, [r0, 0x8] cmp r0, 0 beq _081AB164 - ldr r0, =gUnknown_08D9A5D4 + ldr r0, =gBagScreenFemale_Pal movs r1, 0 movs r2, 0x40 bl LoadCompressedPalette b _081AB1AE .pool _081AB164: - ldr r0, =gUnknown_08D9A588 + ldr r0, =gBagScreenMale_Pal movs r1, 0 movs r2, 0x40 bl LoadCompressedPalette @@ -719,7 +719,7 @@ _081AB1B2: b _081AB1E4 .pool _081AB1CC: - bl sub_8122328 + bl LoadListMenuArrowsGfx ldr r0, [r4] ldr r1, =0x00000834 adds r0, r1 @@ -902,7 +902,7 @@ _081AB30C: cmp r6, r0 bcc _081AB30C _081AB34A: - ldr r2, =gUnknown_03006310 + ldr r2, =gMultiuseListMenuTemplate adds r1, r2, 0 ldr r0, =gUnknown_08613F9C ldm r0!, {r3-r5} @@ -1164,7 +1164,7 @@ _081AB570: lsrs r0, 16 cmp r0, 0x7 bhi _081AB5BE - ldr r1, =gUnknown_08DC6378 + ldr r1, =gBagMenuHMIcon_Gfx subs r3, r7, 0x1 lsls r3, 16 lsrs r3, 16 @@ -1863,7 +1863,7 @@ DisplayItemMessage: @ 81ABB4C strh r0, [r4, 0x14] movs r1, 0x11 bl FillWindowPixelBuffer - bl sav2_get_text_speed + bl GetPlayerTextSpeed lsls r0, 24 lsrs r0, 24 ldrb r1, [r4, 0x14] @@ -1924,7 +1924,7 @@ bag_menu_inits_lists_menu: @ 81ABBBC bl sub_81ABA88 ldrb r0, [r7, 0x5] bl load_bag_item_list_buffers - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate mov r2, r8 ldrh r1, [r2] ldrh r2, [r4] @@ -2133,7 +2133,7 @@ _081ABDCC: ldrb r0, [r6] adds r1, r7, 0 mov r2, r8 - bl get_coro_args_x18_x1A + bl sub_81AE860 ldrh r2, [r7] mov r3, r8 ldrh r0, [r3] @@ -2157,12 +2157,12 @@ _081ABDCC: .pool _081ABE10: ldrb r0, [r6] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r4, r0, 0 ldrb r0, [r6] adds r1, r7, 0 mov r2, r8 - bl get_coro_args_x18_x1A + bl sub_81AE860 movs r0, 0x2 negs r0, r0 cmp r4, r0 @@ -2181,7 +2181,7 @@ _081ABE32: _081ABE40: movs r0, 0x5 bl PlaySE - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId mov r1, r10 strh r1, [r0] ldr r0, =gTasks + 0x8 @@ -2215,7 +2215,7 @@ _081ABE68: lsrs r0, 24 adds r1, r4, 0 bl BagGetItemIdByPocketPosition - ldr r1, =gScriptItemId + ldr r1, =gSpecialVar_ItemId strh r0, [r1] ldr r1, =gUnknown_08614054 ldrb r0, [r5, 0x4] @@ -2603,7 +2603,7 @@ _081AC1DC: subs r5, r4, 0x5 ldrb r0, [r5, 0x5] bl load_bag_item_list_buffers - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldrb r2, [r5, 0x5] lsls r2, 1 adds r1, r4, 0 @@ -2847,12 +2847,12 @@ sub_81AC3C0: @ 81AC3C0 adds r1, r2, r1 adds r3, 0x8 adds r2, r3 - bl get_coro_args_x18_x1A + bl sub_81AE860 b _081AC472 .pool _081AC418: ldrb r0, [r4] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r7, r0, 0 ldrb r0, [r4] ldr r5, =gUnknown_0203CE58 @@ -2864,7 +2864,7 @@ _081AC418: adds r4, r5, 0 adds r4, 0x8 adds r2, r4 - bl get_coro_args_x18_x1A + bl sub_81AE860 movs r0, 0 bl sub_80D4FC8 ldrb r0, [r5, 0x5] @@ -2989,7 +2989,7 @@ _081AC4F8: _081AC538: ldrb r0, [r5, 0x5] bl load_bag_item_list_buffers - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate mov r2, r8 ldrh r1, [r2] ldrh r2, [r7] @@ -3070,7 +3070,7 @@ sub_81AC590: @ 81AC590 _081AC5F2: ldrb r0, [r4, 0x5] bl load_bag_item_list_buffers - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldrh r1, [r6] ldrh r2, [r5] bl ListMenuInit @@ -3125,7 +3125,7 @@ _081AC668: .4byte _081AC70C .4byte _081AC690 _081AC690: - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] bl ItemId_GetBattleUsage lsls r0, 24 @@ -3170,7 +3170,7 @@ _081AC6E8: b _081ACA10 .pool _081AC70C: - ldr r4, =gScriptItemId + ldr r4, =gSpecialVar_ItemId ldrh r0, [r4] bl itemid_is_unique lsls r0, 24 @@ -3205,7 +3205,7 @@ _081AC748: b _081ACA10 .pool _081AC76C: - ldr r4, =gScriptItemId + ldr r4, =gSpecialVar_ItemId ldrh r0, [r4] bl itemid_is_unique lsls r0, 24 @@ -3240,7 +3240,7 @@ _081AC7A8: b _081ACA10 .pool _081AC7CC: - ldr r4, =gScriptItemId + ldr r4, =gSpecialVar_ItemId ldrh r0, [r4] bl itemid_is_unique lsls r0, 24 @@ -3288,7 +3288,7 @@ _081AC840: ldrb r0, [r0, 0x5] cmp r0, 0x4 beq _081AC856 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] bl sub_8122148 lsls r0, 24 @@ -3358,9 +3358,9 @@ _081AC8D4: ldr r1, =gUnknown_0861402C movs r2, 0x4 bl memcpy - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -3396,7 +3396,7 @@ _081AC92C: ldr r0, [r0] ldr r1, =0x00000496 adds r0, r1 - ldr r2, =gScriptItemId + ldr r2, =gSpecialVar_ItemId ldrh r0, [r0] ldrh r1, [r2] cmp r0, r1 @@ -3472,7 +3472,7 @@ _081ACA12: bne _081ACA50 movs r0, 0x1 bl ClearWindowTilemap - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] bl PrintTMHMMoveData movs r0, 0x3 @@ -3484,7 +3484,7 @@ _081ACA12: b _081ACA86 .pool _081ACA50: - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -3985,7 +3985,7 @@ ItemMenu_UseOutOfBattle: @ 81ACE7C push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r5, =gScriptItemId + ldr r5, =gSpecialVar_ItemId ldrh r0, [r5] bl ItemId_GetFieldFunc cmp r0, 0 @@ -4015,7 +4015,7 @@ _081ACEB8: ldrb r0, [r0, 0x5] cmp r0, 0x3 beq _081ACEE8 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] bl ItemId_GetFieldFunc adds r1, r0, 0 @@ -4055,7 +4055,7 @@ ItemMenu_Toss: @ 81ACEF4 b _081ACF6A .pool _081ACF24: - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -4105,7 +4105,7 @@ BagMenuConfirmToss: @ 81ACF88 lsls r4, 3 ldr r0, =gTasks + 0x8 adds r4, r0 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -4242,7 +4242,7 @@ BagMenuActuallyToss: @ 81AD0CC lsls r4, 3 ldr r5, =gTasks + 0x8 adds r6, r4, r5 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -4312,7 +4312,7 @@ Task_ActuallyToss: @ 81AD150 beq _081AD1CE movs r0, 0x5 bl PlaySE - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldrh r1, [r5, 0x10] bl RemoveBagItem @@ -4326,7 +4326,7 @@ Task_ActuallyToss: @ 81AD150 bl sub_81ABA88 ldrb r0, [r4, 0x5] bl load_bag_item_list_buffers - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate mov r2, r8 ldrh r1, [r2] ldrh r2, [r7] @@ -4369,7 +4369,7 @@ ItemMenu_Register: @ 81AD1EC ldr r0, [r0] ldr r2, =0x00000496 adds r1, r0, r2 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r2, [r0] ldrh r0, [r1] cmp r0, r2 @@ -4388,7 +4388,7 @@ _081AD23A: ldr r0, =gUnknown_0203CE58 ldrb r0, [r0, 0x5] bl load_bag_item_list_buffers - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldrh r1, [r6] ldrh r2, [r5] bl ListMenuInit @@ -4412,7 +4412,7 @@ ItemMenu_Give: @ 81AD278 lsrs r4, r0, 24 adds r6, r4, 0 bl bag_menu_remove_some_window - ldr r5, =gScriptItemId + ldr r5, =gSpecialVar_ItemId ldrh r0, [r5] bl itemid_80BF6D8_mail_related lsls r0, 24 @@ -4476,7 +4476,7 @@ bag_menu_print_cant_be_held_msg: @ 81AD30C adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -4524,7 +4524,7 @@ ItemMenu_CheckTag: @ 81AD378 lsrs r0, 24 ldr r1, =gUnknown_0203CE54 ldr r2, [r1] - ldr r1, =sub_8177C14 + ldr r1, =DoBerryTagScreen str r1, [r2] bl unknown_ItemMenu_Confirm pop {r0} @@ -4567,7 +4567,7 @@ ItemMenu_UseInBattle: @ 81AD3DC push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r4, =gScriptItemId + ldr r4, =gSpecialVar_ItemId ldrh r0, [r4] bl ItemId_GetBattleFunc cmp r0, 0 @@ -4601,7 +4601,7 @@ item_menu_type_2: @ 81AD41C push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r4, =gScriptItemId + ldr r4, =gSpecialVar_ItemId ldrh r0, [r4] bl itemid_80BF6D8_mail_related lsls r0, 24 @@ -4662,9 +4662,9 @@ item_menu_type_b: @ 81AD4B4 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r5, =gScriptItemId + ldr r5, =gSpecialVar_ItemId ldrh r0, [r5] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -4748,10 +4748,10 @@ _081AD550: cmp r6, 0x1 bne _081AD5C4 bl ScriptContext2_Enable - bl player_bitmagic + bl FreezeMapObjects bl sub_808B864 bl sub_808BCF4 - ldr r2, =gScriptItemId + ldr r2, =gSpecialVar_ItemId ldr r0, [r4] adds r0, r5 ldrh r1, [r0] @@ -4775,7 +4775,7 @@ _081AD5C4: adds r0, r5 strh r7, [r0] _081AD5CA: - ldr r0, =gUnknown_082736B3 + ldr r0, =EventScript_2736B3 bl ScriptContext1_SetupScript _081AD5D0: movs r0, 0x1 @@ -4798,7 +4798,7 @@ display_sell_item_ask_str: @ 81AD5DC lsls r0, 3 ldr r1, =gTasks + 0x8 adds r4, r0, r1 - ldr r6, =gScriptItemId + ldr r6, =gSpecialVar_ItemId ldrh r0, [r6] bl itemid_get_market_price lsls r0, 16 @@ -4861,7 +4861,7 @@ sub_81AD680: @ 81AD680 ldr r0, =gTasks + 0x8 adds r4, r0 ldr r6, =gStringVar1 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] bl itemid_get_market_price lsls r0, 16 @@ -4944,7 +4944,7 @@ sub_81AD730: @ 81AD730 adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] bl itemid_get_market_price lsls r0, 16 @@ -4996,7 +4996,7 @@ sub_81AD794: @ 81AD794 ldrb r4, [r0] movs r2, 0x10 ldrsh r5, [r6, r2] - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] bl itemid_get_market_price lsls r0, 16 @@ -5061,7 +5061,7 @@ sub_81AD84C: @ 81AD84C lsls r4, 3 ldr r0, =gTasks + 0x8 adds r4, r0 - ldr r6, =gScriptItemId + ldr r6, =gSpecialVar_ItemId ldrh r0, [r6] ldr r1, =gStringVar2 bl CopyItemName @@ -5122,7 +5122,7 @@ sub_81AD8C8: @ 81AD8C8 adds r5, r0 movs r0, 0x5F bl PlaySE - ldr r2, =gScriptItemId + ldr r2, =gSpecialVar_ItemId mov r8, r2 ldrh r0, [r2] mov r3, r10 @@ -5155,7 +5155,7 @@ sub_81AD8C8: @ 81AD8C8 bl sub_81ABA88 ldrb r0, [r7, 0x5] bl load_bag_item_list_buffers - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate mov r2, r9 ldrh r1, [r2] ldrh r2, [r5] @@ -5241,7 +5241,7 @@ display_deposit_item_ask_str: @ 81AD9EC b _081ADA5E .pool _081ADA18: - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -5366,7 +5366,7 @@ sub_81ADB14: @ 81ADB14 movs r0, 0x1 movs r1, 0 bl FillWindowPixelBuffer - ldr r4, =gScriptItemId + ldr r4, =gSpecialVar_ItemId ldrh r0, [r4] bl itemid_is_unique lsls r0, 24 @@ -5690,7 +5690,7 @@ _081ADDEC: ldrb r0, [r4] movs r1, 0x2 bl bag_menu_print_cursor_ - ldr r1, =gScriptItemId + ldr r1, =gSpecialVar_ItemId movs r0, 0x4 strh r0, [r1] adds r0, r5, 0 @@ -5726,10 +5726,10 @@ unknown_ItemMenu_Show: @ 81ADE38 lsls r4, 24 lsrs r4, 24 ldr r1, =gSpecialVar_0x8005 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] strh r0, [r1] - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] bl bag_menu_remove_some_window @@ -5760,11 +5760,11 @@ unknown_ItemMenu_Give2: @ 81ADE8C adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] movs r1, 0x1 bl RemoveBagItem - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] bl bag_menu_remove_some_window @@ -5795,7 +5795,7 @@ unknown_ItemMenu_Confirm2: @ 81ADEDC adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] bl bag_menu_remove_some_window @@ -6043,7 +6043,7 @@ bag_menu_print: @ 81AE0BC str r4, [sp, 0xC] str r2, [sp, 0x10] mov r2, r9 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x14 pop {r3,r4} mov r8, r3 diff --git a/asm/item_menu_icons.s b/asm/item_menu_icons.s old mode 100755 new mode 100644 index 1adc0feb7e..8068e37c27 --- a/asm/item_menu_icons.s +++ b/asm/item_menu_icons.s @@ -348,7 +348,7 @@ AddBagItemIconObject: @ 80D4F38 adds r0, r4, 0 adds r1, r4, 0 adds r2, r6, 0 - bl AddItemIconObject + bl AddItemIconSprite lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0x40 @@ -527,8 +527,8 @@ _080D5082: .pool thumb_func_end sub_80D5070 - thumb_func_start sub_80D50D4 -sub_80D50D4: @ 80D50D4 + thumb_func_start CreateBerryTagSprite +CreateBerryTagSprite: @ 80D50D4 push {r4,r5,lr} adds r4, r1, 0 adds r5, r2, 0 @@ -554,17 +554,17 @@ sub_80D50D4: @ 80D50D4 pop {r1} bx r1 .pool - thumb_func_end sub_80D50D4 + thumb_func_end CreateBerryTagSprite - thumb_func_start sub_80D510C -sub_80D510C: @ 80D510C + thumb_func_start FreeBerryTagSpritePalette +FreeBerryTagSpritePalette: @ 80D510C push {lr} ldr r0, =0x00007544 bl FreeSpritePaletteByTag pop {r0} bx r0 .pool - thumb_func_end sub_80D510C + thumb_func_end FreeBerryTagSpritePalette thumb_func_start sub_80D511C sub_80D511C: @ 80D511C @@ -617,8 +617,8 @@ _080D5172: .pool thumb_func_end sub_80D511C - thumb_func_start sub_80D518C -sub_80D518C: @ 80D518C + thumb_func_start CreateBerryFlavorCircleSprite +CreateBerryFlavorCircleSprite: @ 80D518C push {lr} adds r1, r0, 0 ldr r0, =gUnknown_0857FE10 @@ -632,6 +632,6 @@ sub_80D518C: @ 80D518C pop {r1} bx r1 .pool - thumb_func_end sub_80D518C + thumb_func_end CreateBerryFlavorCircleSprite .align 2, 0 @ Don't pad with nop. diff --git a/asm/item_use.s b/asm/item_use.s deleted file mode 100644 index d3c7241662..0000000000 --- a/asm/item_use.s +++ /dev/null @@ -1,2863 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start SetUpItemUseCallback -@ void SetUpItemUseCallback(u8 taskId) -SetUpItemUseCallback: @ 80FD060 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gScriptItemId - ldrh r0, [r1] - cmp r0, 0xAF - bne _080FD084 - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrb r0, [r1, 0x10] - b _080FD08A - .pool -_080FD084: - ldrh r0, [r1] - bl ItemId_GetType -_080FD08A: - subs r0, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FD0B8 - ldr r0, =gUnknown_0203CE54 - ldr r2, [r0] - ldr r1, =gUnknown_085920D8 - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - adds r0, r5, 0 - bl unknown_ItemMenu_Confirm - b _080FD0CC - .pool -_080FD0B8: - ldr r0, =gUnknown_0203CF2C - ldr r2, [r0] - ldr r1, =gUnknown_085920D8 - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - adds r0, r5, 0 - bl sub_81C5B14 -_080FD0CC: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end SetUpItemUseCallback - - thumb_func_start SetUpItemUseOnFieldCallback -@ void SetUpItemUseOnFieldCallback() -SetUpItemUseOnFieldCallback: @ 80FD0DC - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - movs r1, 0xE - ldrsh r0, [r0, r1] - cmp r0, 0x1 - beq _080FD110 - ldr r1, =gFieldCallback - ldr r0, =MapPostLoadHook_UseItem - str r0, [r1] - adds r0, r2, 0 - bl SetUpItemUseCallback - b _080FD11A - .pool -_080FD110: - ldr r0, =gUnknown_0203A0F4 - ldr r1, [r0] - adds r0, r2, 0 - bl _call_via_r1 -_080FD11A: - pop {r0} - bx r0 - .pool - thumb_func_end SetUpItemUseOnFieldCallback - - thumb_func_start MapPostLoadHook_UseItem -@ void MapPostLoadHook_UseItem() -MapPostLoadHook_UseItem: @ 80FD124 - push {lr} - bl pal_fill_black - ldr r0, =Task_CallItemUseOnFieldCallback - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end MapPostLoadHook_UseItem - - thumb_func_start Task_CallItemUseOnFieldCallback -@ void Task_CallItemUseOnFieldCallback(u8 taskId) -Task_CallItemUseOnFieldCallback: @ 80FD13C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80ABDFC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FD158 - ldr r0, =gUnknown_0203A0F4 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 -_080FD158: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end Task_CallItemUseOnFieldCallback - - thumb_func_start DisplayCannotUseItemMessage -@ void DisplayCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField, u8 *str) -DisplayCannotUseItemMessage: @ 80FD164 - push {r4-r6,lr} - adds r4, r1, 0 - adds r1, r2, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r6, =gStringVar4 - adds r0, r6, 0 - bl StringExpandPlaceholders - cmp r4, 0 - bne _080FD1B4 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FD1A0 - ldr r3, =bag_menu_inits_lists_menu - adds r0, r5, 0 - movs r1, 0x1 - adds r2, r6, 0 - bl DisplayItemMessage - b _080FD1BE - .pool -_080FD1A0: - ldr r1, =gText_DadsAdvice - ldr r2, =sub_81C6714 - adds r0, r5, 0 - bl DisplayItemMessageInBattlePyramid - b _080FD1BE - .pool -_080FD1B4: - ldr r2, =CleanUpAfterFailingToUseRegisteredKeyItemOnField - adds r0, r5, 0 - adds r1, r6, 0 - bl DisplayItemMessageOnField -_080FD1BE: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end DisplayCannotUseItemMessage - - thumb_func_start DisplayDadsAdviceCannotUseItemMessage -@ void DisplayDadsAdviceCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField) -DisplayDadsAdviceCannotUseItemMessage: @ 80FD1C8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gText_DadsAdvice - bl DisplayCannotUseItemMessage - pop {r0} - bx r0 - .pool - thumb_func_end DisplayDadsAdviceCannotUseItemMessage - - thumb_func_start DisplayCannotDismountBikeMessage -@ void DisplayCannotDismountBikeMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField) -DisplayCannotDismountBikeMessage: @ 80FD1E0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gText_CantDismountBike - bl DisplayCannotUseItemMessage - pop {r0} - bx r0 - .pool - thumb_func_end DisplayCannotDismountBikeMessage - - thumb_func_start CleanUpAfterFailingToUseRegisteredKeyItemOnField -@ void CleanUpAfterFailingToUseRegisteredKeyItemOnField(u8 taskId) -CleanUpAfterFailingToUseRegisteredKeyItemOnField: @ 80FD1F8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0x1 - bl sub_8197434 - adds r0, r4, 0 - bl DestroyTask - bl sub_80984F4 - bl ScriptContext2_Disable - pop {r4} - pop {r0} - bx r0 - thumb_func_end CleanUpAfterFailingToUseRegisteredKeyItemOnField - - thumb_func_start CheckIfItemIsTMHMOrEvolutionStone -@ u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId) -CheckIfItemIsTMHMOrEvolutionStone: @ 80FD21C - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl ItemId_GetFieldFunc - ldr r1, =ItemUseOutOfBattle_TMHM - cmp r0, r1 - bne _080FD238 - movs r0, 0x1 - b _080FD24E - .pool -_080FD238: - adds r0, r4, 0 - bl ItemId_GetFieldFunc - ldr r1, =ItemUseOutOfBattle_EvolutionStone - cmp r0, r1 - beq _080FD24C - movs r0, 0 - b _080FD24E - .pool -_080FD24C: - movs r0, 0x2 -_080FD24E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end CheckIfItemIsTMHMOrEvolutionStone - - thumb_func_start sub_80FD254 -sub_80FD254: @ 80FD254 - push {lr} - sub sp, 0x24 - mov r1, sp - ldr r0, =gScriptItemId - ldrh r0, [r0] - strh r0, [r1, 0x20] - ldr r1, =bag_menu_mail_related - mov r0, sp - movs r2, 0 - bl sub_8121478 - add sp, 0x24 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FD254 - - thumb_func_start ItemUseOutOfBattle_Mail -@ void ItemUseOutOfBattle_Mail(int taskId) -ItemUseOutOfBattle_Mail: @ 80FD278 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203CE54 - ldr r2, [r1] - ldr r1, =sub_80FD254 - str r1, [r2] - bl unknown_ItemMenu_Confirm - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_Mail - - thumb_func_start ItemUseOutOfBattle_Bike -@ void ItemUseOutOfBattle_Bike(int taskId) -ItemUseOutOfBattle_Bike: @ 80FD298 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =0x0000088b - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080FD30E - adds r0, r4, 0 - bl MetatileBehavior_IsVerticalRail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080FD30E - adds r0, r4, 0 - bl MetatileBehavior_IsHorizontalRail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080FD30E - adds r0, r4, 0 - bl MetatileBehavior_IsIsolatedVerticalRail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080FD30E - adds r0, r4, 0 - bl MetatileBehavior_IsIsolatedHorizontalRail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FD320 -_080FD30E: - ldrb r1, [r6, 0x6] - adds r0, r5, 0 - bl DisplayCannotDismountBikeMessage - b _080FD350 - .pool -_080FD320: - bl sav1_map_is_biking_allowed - cmp r0, 0x1 - bne _080FD348 - bl sub_8119FF8 - lsls r0, 24 - cmp r0, 0 - bne _080FD348 - ldr r1, =gUnknown_0203A0F4 - ldr r0, =ItemUseOnFieldCB_Bike - str r0, [r1] - adds r0, r5, 0 - bl SetUpItemUseOnFieldCallback - b _080FD350 - .pool -_080FD348: - ldrb r1, [r6, 0x6] - adds r0, r5, 0 - bl DisplayDadsAdviceCannotUseItemMessage -_080FD350: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end ItemUseOutOfBattle_Bike - - thumb_func_start ItemUseOnFieldCB_Bike -ItemUseOnFieldCB_Bike: @ 80FD358 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gScriptItemId - ldrh r0, [r0] - bl ItemId_GetSecondaryId - lsls r0, 24 - cmp r0, 0 - bne _080FD378 - movs r0, 0x2 - bl GetOnOffBike - b _080FD37E - .pool -_080FD378: - movs r0, 0x4 - bl GetOnOffBike -_080FD37E: - bl sub_80984F4 - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end ItemUseOnFieldCB_Bike - - thumb_func_start CanFish -@ bool8 CanFish() -CanFish: @ 80FD394 - push {r4-r6,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 16 - lsrs r6, r0, 16 - lsls r0, r6, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl MetatileBehavior_IsWaterfall - lsls r0, 24 - cmp r0, 0 - bne _080FD41C - movs r0, 0x10 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - bne _080FD41C - movs r0, 0x8 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - bne _080FD3EC - bl IsPlayerFacingSurfableFishableWater - lsls r0, 24 - cmp r0, 0 - beq _080FD41C -_080FD3E8: - movs r0, 0x1 - b _080FD41E -_080FD3EC: - adds r0, r5, 0 - bl MetatileBehavior_IsSurfableWaterOrUnderwater - lsls r0, 24 - cmp r0, 0 - beq _080FD40C - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridIsImpassableAt - lsls r0, 24 - cmp r0, 0 - beq _080FD3E8 -_080FD40C: - lsls r0, r6, 24 - lsrs r0, 24 - bl MetatileBehavior_8089510 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080FD3E8 -_080FD41C: - movs r0, 0 -_080FD41E: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CanFish - - thumb_func_start ItemUseOutOfBattle_Rod -ItemUseOutOfBattle_Rod: @ 80FD428 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl CanFish - cmp r0, 0x1 - bne _080FD44C - ldr r1, =gUnknown_0203A0F4 - ldr r0, =ItemUseOnFieldCB_Rod - str r0, [r1] - adds r0, r4, 0 - bl SetUpItemUseOnFieldCallback - b _080FD45E - .pool -_080FD44C: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrb r1, [r1, 0xE] - adds r0, r4, 0 - bl DisplayDadsAdviceCannotUseItemMessage -_080FD45E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_Rod - - thumb_func_start ItemUseOnFieldCB_Rod -ItemUseOnFieldCB_Rod: @ 80FD468 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gScriptItemId - ldrh r0, [r0] - bl ItemId_GetSecondaryId - lsls r0, 24 - lsrs r0, 24 - bl StartFishing - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOnFieldCB_Rod - - thumb_func_start ItemUseOutOfBattle_Itemfinder -ItemUseOutOfBattle_Itemfinder: @ 80FD490 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x27 - bl IncrementGameStat - ldr r1, =gUnknown_0203A0F4 - ldr r0, =ItemUseOnFieldCB_Itemfinder - str r0, [r1] - adds r0, r4, 0 - bl SetUpItemUseOnFieldCallback - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_Itemfinder - - thumb_func_start ItemUseOnFieldCB_Itemfinder -ItemUseOnFieldCB_Itemfinder: @ 80FD4B8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gMapHeader - ldr r0, [r0, 0x4] - adds r1, r4, 0 - bl ItemfinderCheckForHiddenItems - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FD4EC - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80FD504 - str r0, [r1] - b _080FD4F6 - .pool -_080FD4EC: - ldr r1, =gText_ItemFinderNothing - ldr r2, =sub_80FD5CC - adds r0, r4, 0 - bl DisplayItemMessageOnField -_080FD4F6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOnFieldCB_Itemfinder - - thumb_func_start sub_80FD504 -sub_80FD504: @ 80FD504 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r6, r5, 2 - adds r0, r6, r5 - lsls r7, r0, 3 - ldr r0, =gTasks + 0x8 - mov r8, r0 - adds r4, r7, r0 - movs r1, 0x6 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080FD5B8 - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0x4 - bne _080FD5AC - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - bl sub_80FD9B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080FD564 - ldr r1, =gUnknown_085920E4 - subs r0, 0x1 - adds r0, r1 - ldrb r0, [r0] - bl sub_80FDA24 - mov r0, r8 - subs r0, 0x8 - adds r0, r7, r0 - ldr r1, =sub_80FDA94 - str r1, [r0] - b _080FD5C2 - .pool -_080FD564: - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0 - adds r3, r6, 0 - ldr r7, =gUnknown_085920E4 - movs r6, 0x3 -_080FD574: - adds r0, r1, r7 - adds r1, 0x1 - ldrb r0, [r0] - cmp r2, r0 - bne _080FD584 - adds r0, r1, 0 - ands r0, r6 - strh r0, [r4, 0xA] -_080FD584: - lsls r0, r1, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _080FD574 - ldr r1, =gTasks - adds r0, r3, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_80FDADC - str r1, [r0] - movs r0, 0 - strh r0, [r4, 0x6] - strh r0, [r4, 0x4] - b _080FD5C2 - .pool -_080FD5AC: - movs r0, 0x48 - bl PlaySE - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080FD5B8: - ldrh r0, [r4, 0x6] - adds r0, 0x1 - movs r1, 0x1F - ands r0, r1 - strh r0, [r4, 0x6] -_080FD5C2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80FD504 - - thumb_func_start sub_80FD5CC -sub_80FD5CC: @ 80FD5CC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0x1 - bl sub_8197434 - bl sub_80984F4 - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FD5CC - - thumb_func_start ItemfinderCheckForHiddenItems -@ bool8 ItemfinderCheckForHiddenItems(struct map_events *events, u8 taskId) -ItemfinderCheckForHiddenItems: @ 80FD5F0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r5, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xC] - movs r3, 0 - mov r9, r4 - ldrb r0, [r5, 0x3] - cmp r3, r0 - bge _080FD6A4 - subs r1, 0x5 - mov r8, r1 -_080FD628: - lsls r3, 16 - asrs r1, r3, 16 - ldr r2, [r5, 0x10] - lsls r0, r1, 1 - adds r0, r1 - lsls r4, r0, 2 - adds r1, r4, r2 - ldrb r0, [r1, 0x5] - adds r7, r3, 0 - cmp r0, 0x7 - bne _080FD694 - movs r2, 0xFA - lsls r2, 1 - adds r0, r2, 0 - ldrh r1, [r1, 0xA] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080FD694 - ldr r1, [r5, 0x10] - adds r1, r4, r1 - ldrh r2, [r1] - adds r2, 0x7 - mov r0, sp - ldrh r0, [r0] - subs r2, r0 - ldrh r0, [r1, 0x2] - adds r0, 0x7 - mov r3, r9 - ldrh r1, [r3] - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - lsls r2, 16 - asrs r1, r2, 16 - movs r3, 0xE0 - lsls r3, 11 - adds r2, r3 - lsrs r2, 16 - cmp r2, 0xE - bhi _080FD694 - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, r8 - blt _080FD694 - cmp r2, 0x5 - bgt _080FD694 - adds r0, r6, 0 - bl sub_80FD8E0 -_080FD694: - movs r1, 0x80 - lsls r1, 9 - adds r0, r7, r1 - lsrs r3, r0, 16 - asrs r0, 16 - ldrb r2, [r5, 0x3] - cmp r0, r2 - blt _080FD628 -_080FD6A4: - adds r0, r6, 0 - bl sub_80FD7C8 - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0x1 - beq _080FD6C4 - movs r0, 0 - b _080FD6C6 - .pool -_080FD6C4: - movs r0, 0x1 -_080FD6C6: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end ItemfinderCheckForHiddenItems - - thumb_func_start sub_80FD6D4 -sub_80FD6D4: @ 80FD6D4 - push {r4-r6,lr} - lsls r1, 16 - lsrs r3, r1, 16 - lsls r2, 16 - lsrs r4, r2, 16 - ldrb r2, [r0, 0x3] - ldr r5, [r0, 0x10] - movs r1, 0 - cmp r1, r2 - bge _080FD728 - lsls r0, r3, 16 - asrs r6, r0, 16 - lsls r0, r4, 16 - asrs r4, r0, 16 - adds r3, r5, 0 -_080FD6F2: - ldrb r0, [r3, 0x5] - cmp r0, 0x7 - bne _080FD720 - ldrh r0, [r3] - cmp r6, r0 - bne _080FD720 - ldrh r0, [r3, 0x2] - cmp r4, r0 - bne _080FD720 - movs r1, 0xFA - lsls r1, 1 - adds r0, r1, 0 - ldrh r3, [r3, 0xA] - adds r0, r3 - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080FD728 - movs r0, 0x1 - b _080FD72A -_080FD720: - adds r3, 0xC - adds r1, 0x1 - cmp r1, r2 - blt _080FD6F2 -_080FD728: - movs r0, 0 -_080FD72A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80FD6D4 - - thumb_func_start sub_80FD730 -sub_80FD730: @ 80FD730 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - bl mapconnection_get_mapheader - adds r3, r0, 0 - ldrb r0, [r4] - cmp r0, 0x2 - beq _080FD758 - cmp r0, 0x2 - bgt _080FD74E - cmp r0, 0x1 - beq _080FD76C - b _080FD7AC -_080FD74E: - cmp r0, 0x3 - beq _080FD784 - cmp r0, 0x4 - beq _080FD78E - b _080FD7AC -_080FD758: - ldr r0, [r4, 0x4] - adds r0, 0x7 - subs r0, r5, r0 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, [r3] - ldr r0, [r0, 0x4] - subs r0, 0x7 - adds r0, r6 - b _080FD7A2 -_080FD76C: - ldr r0, [r4, 0x4] - adds r0, 0x7 - subs r0, r5, r0 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, =gMapHeader - ldr r0, [r0] - ldr r0, [r0, 0x4] - b _080FD79E - .pool -_080FD784: - ldr r0, [r3] - ldr r0, [r0] - subs r0, 0x7 - adds r0, r5 - b _080FD798 -_080FD78E: - ldr r0, =gMapHeader - ldr r0, [r0] - ldr r0, [r0] - adds r0, 0x7 - subs r0, r5, r0 -_080FD798: - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, [r4, 0x4] -_080FD79E: - adds r0, 0x7 - subs r0, r6, r0 -_080FD7A2: - lsls r0, 16 - lsrs r2, r0, 16 - b _080FD7B0 - .pool -_080FD7AC: - movs r0, 0 - b _080FD7C2 -_080FD7B0: - ldr r0, [r3, 0x4] - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - bl sub_80FD6D4 - lsls r0, 24 - lsrs r0, 24 -_080FD7C2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80FD730 - - thumb_func_start sub_80FD7C8 -sub_80FD7C8: @ 80FD7C8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - ldr r0, =gMapHeader - ldr r1, [r0] - ldr r0, [r1] - adds r0, 0x7 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x8] - ldr r0, [r1, 0x4] - adds r0, 0x7 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0xC] - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - ldrh r0, [r0] - subs r0, 0x7 - lsls r0, 16 - lsrs r3, r0, 16 - asrs r0, 16 - mov r1, sp - movs r2, 0 - ldrsh r1, [r1, r2] - adds r1, 0x7 - cmp r0, r1 - bgt _080FD8CC -_080FD816: - mov r5, sp - ldrh r0, [r5, 0x2] - subs r0, 0x5 - lsls r0, 16 - lsrs r4, r0, 16 - lsls r2, r4, 16 - asrs r1, r2, 16 - movs r6, 0x2 - ldrsh r0, [r5, r6] - adds r0, 0x5 - lsls r3, 16 - mov r8, r3 - cmp r1, r0 - bgt _080FD8B6 - movs r0, 0x7 - str r0, [sp, 0x10] - mov r1, r8 - asrs r1, 16 - mov r9, r1 - mov r10, r0 -_080FD83E: - ldr r3, [sp, 0x10] - cmp r3, r9 - bgt _080FD860 - ldr r5, [sp, 0x8] - lsls r0, r5, 16 - asrs r0, 16 - cmp r9, r0 - bge _080FD860 - asrs r1, r2, 16 - cmp r10, r1 - bgt _080FD860 - ldr r6, [sp, 0xC] - lsls r0, r6, 16 - asrs r0, 16 - lsls r7, r4, 16 - cmp r1, r0 - blt _080FD89E -_080FD860: - mov r0, r8 - asrs r5, r0, 16 - lsls r4, 16 - asrs r6, r4, 16 - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_8088A8C - adds r7, r4, 0 - cmp r0, 0 - beq _080FD89E - adds r1, r5, 0 - adds r2, r6, 0 - bl sub_80FD730 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FD89E - mov r0, sp - ldrh r1, [r0] - subs r1, r5, r1 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r0, 0x2] - subs r2, r6, r2 - lsls r2, 16 - asrs r2, 16 - ldr r0, [sp, 0x4] - bl sub_80FD8E0 -_080FD89E: - movs r1, 0x80 - lsls r1, 9 - adds r0, r7, r1 - lsrs r4, r0, 16 - lsls r2, r4, 16 - asrs r1, r2, 16 - mov r3, sp - movs r5, 0x2 - ldrsh r0, [r3, r5] - adds r0, 0x5 - cmp r1, r0 - ble _080FD83E -_080FD8B6: - movs r1, 0x80 - lsls r1, 9 - add r1, r8 - lsrs r3, r1, 16 - asrs r1, 16 - mov r0, sp - movs r6, 0 - ldrsh r0, [r0, r6] - adds r0, 0x7 - cmp r1, r0 - ble _080FD816 -_080FD8CC: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FD7C8 - - thumb_func_start sub_80FD8E0 -sub_80FD8E0: @ 80FD8E0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r12, r2 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r3, r1, r0 - movs r1, 0x4 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _080FD918 - strh r7, [r3] - mov r0, r12 - strh r0, [r3, 0x2] - movs r0, 0x1 - strh r0, [r3, 0x4] - b _080FD9A2 - .pool -_080FD918: - movs r1, 0 - ldrsh r0, [r3, r1] - cmp r0, 0 - bge _080FD928 - negs r0, r0 - lsls r0, 16 - lsrs r4, r0, 16 - b _080FD92A -_080FD928: - ldrh r4, [r3] -_080FD92A: - movs r1, 0x2 - ldrsh r0, [r3, r1] - ldrh r1, [r3, 0x2] - mov r9, r1 - cmp r0, 0 - bge _080FD93E - negs r0, r0 - lsls r0, 16 - lsrs r2, r0, 16 - b _080FD940 -_080FD93E: - ldrh r2, [r3, 0x2] -_080FD940: - lsls r1, r7, 16 - asrs r0, r1, 16 - cmp r0, 0 - bge _080FD950 - negs r0, r0 - lsls r0, 16 - lsrs r6, r0, 16 - b _080FD952 -_080FD950: - lsrs r6, r1, 16 -_080FD952: - mov r1, r12 - lsls r0, r1, 16 - asrs r1, r0, 16 - mov r8, r0 - cmp r1, 0 - bge _080FD964 - negs r0, r1 - lsls r0, 16 - b _080FD966 -_080FD964: - mov r0, r8 -_080FD966: - lsrs r5, r0, 16 - lsls r0, r4, 16 - asrs r0, 16 - lsls r1, r2, 16 - asrs r2, r1, 16 - adds r4, r0, r2 - lsls r0, r6, 16 - asrs r0, 16 - lsls r1, r5, 16 - asrs r1, 16 - adds r0, r1 - cmp r4, r0 - ble _080FD988 - strh r7, [r3] - mov r1, r12 - strh r1, [r3, 0x2] - b _080FD9A2 -_080FD988: - cmp r4, r0 - bne _080FD9A2 - cmp r2, r1 - bgt _080FD99C - cmp r2, r1 - bne _080FD9A2 - mov r1, r9 - lsls r0, r1, 16 - cmp r0, r8 - bge _080FD9A2 -_080FD99C: - strh r7, [r3] - mov r0, r12 - strh r0, [r3, 0x2] -_080FD9A2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80FD8E0 - - thumb_func_start sub_80FD9B0 -sub_80FD9B0: @ 80FD9B0 - push {r4,r5,lr} - lsls r0, 16 - lsls r1, 16 - lsrs r1, 16 - lsrs r2, r0, 16 - cmp r0, 0 - bne _080FD9C2 - cmp r1, 0 - beq _080FDA1C -_080FD9C2: - lsls r0, r2, 16 - asrs r2, r0, 16 - adds r5, r0, 0 - cmp r2, 0 - bge _080FD9D4 - negs r0, r2 - lsls r0, 16 - lsrs r4, r0, 16 - b _080FD9D6 -_080FD9D4: - lsrs r4, r5, 16 -_080FD9D6: - lsls r0, r1, 16 - asrs r2, r0, 16 - adds r1, r0, 0 - cmp r2, 0 - bge _080FD9E8 - negs r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - b _080FD9EA -_080FD9E8: - lsrs r3, r1, 16 -_080FD9EA: - lsls r0, r4, 16 - asrs r2, r0, 16 - lsls r0, r3, 16 - asrs r0, 16 - cmp r2, r0 - ble _080FDA02 - cmp r5, 0 - bge _080FD9FE - movs r0, 0x4 - b _080FDA1E -_080FD9FE: - movs r0, 0x2 - b _080FDA1E -_080FDA02: - cmp r2, r0 - bge _080FDA0C - cmp r1, 0 - blt _080FDA14 - b _080FDA18 -_080FDA0C: - cmp r2, r0 - bne _080FDA1C - cmp r1, 0 - bge _080FDA18 -_080FDA14: - movs r0, 0x1 - b _080FDA1E -_080FDA18: - movs r0, 0x3 - b _080FDA1E -_080FDA1C: - movs r0, 0 -_080FDA1E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80FD9B0 - - thumb_func_start sub_80FDA24 -sub_80FDA24: @ 80FDA24 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r4, =gMapObjects - adds r0, r4 - bl FieldObjectClearAnimIfSpecialAnimFinished - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl FieldObjectClearAnim - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl npc_sync_anim_pause_bits - adds r0, r5, 0 - bl PlayerTurnInPlace - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FDA24 - - thumb_func_start sub_80FDA94 -sub_80FDA94: @ 80FDA94 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - bl FieldObjectCheckIfSpecialAnimFinishedOrInactive - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FDACA - ldr r1, =gText_ItemFinderNearby - ldr r2, =sub_80FD5CC - adds r0, r4, 0 - bl DisplayItemMessageOnField -_080FDACA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FDA94 - - thumb_func_start sub_80FDADC -sub_80FDADC: @ 80FDADC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - bl FieldObjectCheckIfSpecialAnimFinishedOrInactive - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080FDB1C - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080FDB50 -_080FDB1C: - ldr r1, =gUnknown_085920E4 - movs r2, 0xA - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r0, [r0] - bl sub_80FDA24 - movs r0, 0x1 - strh r0, [r4, 0x4] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _080FDB50 - ldr r1, =gText_ItemFinderOnTop - ldr r2, =sub_80FD5CC - adds r0, r5, 0 - bl DisplayItemMessageOnField -_080FDB50: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FDADC - - thumb_func_start ItemUseOutOfBattle_PokeblockCase -ItemUseOutOfBattle_PokeblockCase: @ 80FDB6C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81221AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FDB98 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrb r1, [r1, 0xE] - adds r0, r4, 0 - bl DisplayDadsAdviceCannotUseItemMessage - b _080FDBDA - .pool -_080FDB98: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r5, r1, r0 - movs r1, 0xE - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080FDBC8 - ldr r0, =gUnknown_0203CE54 - ldr r1, [r0] - ldr r0, =sub_80FDBEC - str r0, [r1] - adds r0, r4, 0 - bl unknown_ItemMenu_Confirm - b _080FDBDA - .pool -_080FDBC8: - ldr r0, =gFieldCallback - ldr r1, =sub_80AF6D4 - str r1, [r0] - movs r0, 0x1 - movs r1, 0 - bl fade_screen - ldr r0, =sub_80FDC00 - str r0, [r5] -_080FDBDA: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_PokeblockCase - - thumb_func_start sub_80FDBEC -sub_80FDBEC: @ 80FDBEC - push {lr} - ldr r1, =bag_menu_mail_related - movs r0, 0 - bl sub_81357FC - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FDBEC - - thumb_func_start sub_80FDC00 -sub_80FDC00: @ 80FDC00 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080FDC24 - bl overworld_free_bg_tilemaps - ldr r1, =c2_exit_to_overworld_2_switch - movs r0, 0 - bl sub_81357FC - adds r0, r4, 0 - bl DestroyTask -_080FDC24: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FDC00 - - thumb_func_start ItemUseOutOfBattle_CoinCase -ItemUseOutOfBattle_CoinCase: @ 80FDC34 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gStringVar1 - bl GetCoins - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar4 - ldr r1, =gText_CoinCase - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0xE - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080FDC90 - ldr r3, =bag_menu_inits_lists_menu - adds r0, r5, 0 - movs r1, 0x1 - adds r2, r4, 0 - bl DisplayItemMessage - b _080FDC9A - .pool -_080FDC90: - ldr r2, =CleanUpAfterFailingToUseRegisteredKeyItemOnField - adds r0, r5, 0 - adds r1, r4, 0 - bl DisplayItemMessageOnField -_080FDC9A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_CoinCase - - thumb_func_start ItemUseOutOfBattle_PowderJar -ItemUseOutOfBattle_PowderJar: @ 80FDCA4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gStringVar1 - bl sub_80247BC - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - ldr r4, =gStringVar4 - ldr r1, =gText_PowderQty - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0xE - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080FDCFC - ldr r3, =bag_menu_inits_lists_menu - adds r0, r5, 0 - movs r1, 0x1 - adds r2, r4, 0 - bl DisplayItemMessage - b _080FDD06 - .pool -_080FDCFC: - ldr r2, =CleanUpAfterFailingToUseRegisteredKeyItemOnField - adds r0, r5, 0 - adds r1, r4, 0 - bl DisplayItemMessageOnField -_080FDD06: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_PowderJar - - thumb_func_start sub_80FDD10 -sub_80FDD10: @ 80FDD10 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsPlayerFacingPlantedBerryTree - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FDD58 - ldr r1, =gUnknown_0203A0F4 - ldr r0, =sub_80FDD74 - str r0, [r1] - ldr r1, =gFieldCallback - ldr r0, =MapPostLoadHook_UseItem - str r0, [r1] - ldr r0, =gUnknown_0203CE54 - ldr r1, [r0] - ldr r0, =c2_exit_to_overworld_2_switch - str r0, [r1] - adds r0, r4, 0 - bl unknown_ItemMenu_Confirm - b _080FDD68 - .pool -_080FDD58: - ldr r0, =gScriptItemId - ldrh r0, [r0] - bl ItemId_GetFieldFunc - adds r1, r0, 0 - adds r0, r4, 0 - bl _call_via_r1 -_080FDD68: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FDD10 - - thumb_func_start sub_80FDD74 -sub_80FDD74: @ 80FDD74 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gScriptItemId - ldrh r0, [r0] - movs r1, 0x1 - bl RemoveBagItem - bl ScriptContext2_Enable - ldr r0, =gUnknown_08274482 - bl ScriptContext1_SetupScript - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FDD74 - - thumb_func_start ItemUseOutOfBattle_WailmerPail -ItemUseOutOfBattle_WailmerPail: @ 80FDDA4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_80FDE2C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FDDC8 - ldr r1, =gUnknown_0203A0F4 - ldr r0, =sub_80FDE7C - b _080FDDD8 - .pool -_080FDDC8: - bl TryToWaterBerryTree - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FDDEC - ldr r1, =gUnknown_0203A0F4 - ldr r0, =sub_80FDE08 -_080FDDD8: - str r0, [r1] - adds r0, r4, 0 - bl SetUpItemUseOnFieldCallback - b _080FDDFE - .pool -_080FDDEC: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrb r1, [r1, 0xE] - adds r0, r5, 0 - bl DisplayDadsAdviceCannotUseItemMessage -_080FDDFE: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_WailmerPail - - thumb_func_start sub_80FDE08 -sub_80FDE08: @ 80FDE08 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ScriptContext2_Enable - ldr r0, =gUnknown_082744C0 - bl ScriptContext1_SetupScript - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FDE08 - - thumb_func_start sub_80FDE2C -sub_80FDE2C: @ 80FDE2C - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - bl PlayerGetZCoord - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - mov r0, sp - ldrh r0, [r0] - ldrh r1, [r4] - bl GetFieldObjectIdByXYZ - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x10 - beq _080FDE68 - ldr r0, =gMapObjects - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x5] - cmp r0, 0xE4 - beq _080FDE70 -_080FDE68: - movs r0, 0 - b _080FDE72 - .pool -_080FDE70: - movs r0, 0x1 -_080FDE72: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FDE2C - - thumb_func_start sub_80FDE7C -sub_80FDE7C: @ 80FDE7C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ScriptContext2_Enable - ldr r0, =gUnknown_08242CFC - bl ScriptContext1_SetupScript - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FDE7C - - thumb_func_start ItemUseOutOfBattle_Medicine -ItemUseOutOfBattle_Medicine: @ 80FDEA0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =ItemUseCB_Medicine - str r1, [r2] - bl SetUpItemUseCallback - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_Medicine - - thumb_func_start ItemUseOutOfBattle_ReduceEV -ItemUseOutOfBattle_ReduceEV: @ 80FDEBC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =sub_81B67C8 - str r1, [r2] - bl SetUpItemUseCallback - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_ReduceEV - - thumb_func_start ItemUseOutOfBattle_SacredAsh -ItemUseOutOfBattle_SacredAsh: @ 80FDED8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =sub_81B79E8 - str r1, [r2] - bl SetUpItemUseCallback - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_SacredAsh - - thumb_func_start ItemUseOutOfBattle_PPRecovery -ItemUseOutOfBattle_PPRecovery: @ 80FDEF4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =dp05_ether - str r1, [r2] - bl SetUpItemUseCallback - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_PPRecovery - - thumb_func_start ItemUseOutOfBattle_PPUp -ItemUseOutOfBattle_PPUp: @ 80FDF10 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =dp05_pp_up - str r1, [r2] - bl SetUpItemUseCallback - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_PPUp - - thumb_func_start ItemUseOutOfBattle_RareCandy -ItemUseOutOfBattle_RareCandy: @ 80FDF2C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =dp05_rare_candy - str r1, [r2] - bl SetUpItemUseCallback - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_RareCandy - - thumb_func_start ItemUseOutOfBattle_TMHM -ItemUseOutOfBattle_TMHM: @ 80FDF48 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gScriptItemId - ldrh r1, [r0] - movs r0, 0xA9 - lsls r0, 1 - cmp r1, r0 - bls _080FDF74 - ldr r2, =gText_BootedUpHM - ldr r3, =sub_80FDF90 - adds r0, r4, 0 - movs r1, 0x1 - bl DisplayItemMessage - b _080FDF80 - .pool -_080FDF74: - ldr r2, =gText_BootedUpTM - ldr r3, =sub_80FDF90 - adds r0, r4, 0 - movs r1, 0x1 - bl DisplayItemMessage -_080FDF80: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_TMHM - - thumb_func_start sub_80FDF90 -sub_80FDF90: @ 80FDF90 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - bl PlaySE - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =task08_0809AD8C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FDF90 - - thumb_func_start task08_0809AD8C -task08_0809AD8C: @ 80FDFBC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _080FE000 - ldr r4, =gStringVar1 - ldr r0, =gScriptItemId - ldrh r0, [r0] - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xD - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - ldr r4, =gStringVar4 - ldr r1, =gText_TMHMContainedVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r3, =sub_80FE024 - adds r0, r5, 0 - movs r1, 0x1 - adds r2, r4, 0 - bl DisplayItemMessage -_080FE000: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end task08_0809AD8C - - thumb_func_start sub_80FE024 -sub_80FE024: @ 80FE024 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_085920E8 - movs r1, 0x6 - bl bag_menu_yes_no - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FE024 - - thumb_func_start sub_80FE03C -sub_80FE03C: @ 80FE03C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =sub_81B6DC4 - str r1, [r2] - bl SetUpItemUseCallback - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FE03C - - thumb_func_start sub_80FE058 -sub_80FE058: @ 80FE058 - push {r4,lr} - ldr r4, =gScriptItemId - ldrh r0, [r4] - movs r1, 0x1 - bl RemoveBagItem - ldrh r0, [r4] - ldr r1, =gStringVar2 - bl CopyItemName - ldr r0, =gStringVar4 - ldr r1, =gText_PlayerUsedVar2 - bl StringExpandPlaceholders - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE0AC - ldrh r0, [r4] - bl ItemId_GetPocket - lsls r0, 24 - lsrs r0, 24 - bl sub_81AB9A8 - ldrh r0, [r4] - bl ItemId_GetPocket - lsls r0, 24 - lsrs r0, 24 - bl sub_81ABA88 - b _080FE0B4 - .pool -_080FE0AC: - bl sub_81C5924 - bl sub_81C59BC -_080FE0B4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FE058 - - thumb_func_start ItemUseOutOfBattle_Repel -ItemUseOutOfBattle_Repel: @ 80FE0BC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - ldr r0, =0x00004021 - bl VarGet - lsls r0, 16 - cmp r0, 0 - bne _080FE0EC - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80FE124 - str r0, [r1] - b _080FE116 - .pool -_080FE0EC: - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE10C - ldr r2, =gText_RepelEffectsLingered - ldr r3, =bag_menu_inits_lists_menu - adds r0, r4, 0 - movs r1, 0x1 - bl DisplayItemMessage - b _080FE116 - .pool -_080FE10C: - ldr r1, =gText_RepelEffectsLingered - ldr r2, =sub_81C6714 - adds r0, r5, 0 - bl DisplayItemMessageInBattlePyramid -_080FE116: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_Repel - - thumb_func_start sub_80FE124 -sub_80FE124: @ 80FE124 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r4, r1, 3 - ldr r5, =gTasks + 0x8 - adds r1, r4, r5 - ldrh r0, [r1, 0x10] - adds r0, 0x1 - strh r0, [r1, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _080FE156 - movs r0, 0 - strh r0, [r1, 0x10] - movs r0, 0x2F - bl PlaySE - adds r0, r5, 0 - subs r0, 0x8 - adds r0, r4, r0 - ldr r1, =sub_80FE164 - str r1, [r0] -_080FE156: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FE124 - - thumb_func_start sub_80FE164 -sub_80FE164: @ 80FE164 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - bne _080FE1C2 - ldr r4, =0x00004021 - ldr r0, =gScriptItemId - ldrh r0, [r0] - bl ItemId_GetHoldEffectParam - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl VarSet - bl sub_80FE058 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE1B8 - ldr r2, =gStringVar4 - ldr r3, =bag_menu_inits_lists_menu - adds r0, r5, 0 - movs r1, 0x1 - bl DisplayItemMessage - b _080FE1C2 - .pool -_080FE1B8: - ldr r1, =gStringVar4 - ldr r2, =sub_81C6714 - adds r0, r6, 0 - bl DisplayItemMessageInBattlePyramid -_080FE1C2: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FE164 - - thumb_func_start sub_80FE1D0 -sub_80FE1D0: @ 80FE1D0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x18] - adds r0, 0x1 - strh r0, [r1, 0x18] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _080FE226 - movs r0, 0x75 - bl PlaySE - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE21C - ldr r2, =gStringVar4 - ldr r3, =bag_menu_inits_lists_menu - adds r0, r4, 0 - movs r1, 0x1 - bl DisplayItemMessage - b _080FE226 - .pool -_080FE21C: - ldr r1, =gStringVar4 - ldr r2, =sub_81C6714 - adds r0, r5, 0 - bl DisplayItemMessageInBattlePyramid -_080FE226: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FE1D0 - - thumb_func_start ItemUseOutOfBattle_BlackWhiteFlute -ItemUseOutOfBattle_BlackWhiteFlute: @ 80FE234 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gScriptItemId - ldrh r0, [r4] - ldr r1, =gStringVar2 - bl CopyItemName - ldrh r0, [r4] - cmp r0, 0x2B - bne _080FE278 - ldr r0, =0x000008ad - bl FlagSet - ldr r0, =0x000008ae - bl FlagClear - ldr r0, =gStringVar4 - ldr r1, =gText_UsedVar2WildLured - bl StringExpandPlaceholders - b _080FE28C - .pool -_080FE278: - ldr r0, =0x000008ae - bl FlagSet - ldr r0, =0x000008ad - bl FlagClear - ldr r0, =gStringVar4 - ldr r1, =gText_UsedVar2WildRepelled - bl StringExpandPlaceholders -_080FE28C: - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x18] - ldr r1, =sub_80FE1D0 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_BlackWhiteFlute - - thumb_func_start task08_080A1C44 -task08_080A1C44: @ 80FE2BC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl player_avatar_init_params_reset - bl sub_80B7CC8 - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end task08_080A1C44 - - thumb_func_start re_escape_rope -re_escape_rope: @ 80FE2D8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl flagmods_08054D70 - bl sub_80FE058 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r1, =gStringVar4 - ldr r2, =task08_080A1C44 - adds r0, r4, 0 - bl DisplayItemMessageOnField - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end re_escape_rope - - thumb_func_start sub_80FE314 -sub_80FE314: @ 80FE314 - push {lr} - ldr r0, =gMapHeader - ldrb r1, [r0, 0x1A] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080FE32C - movs r0, 0 - b _080FE32E - .pool -_080FE32C: - movs r0, 0x1 -_080FE32E: - pop {r1} - bx r1 - thumb_func_end sub_80FE314 - - thumb_func_start ItemUseOutOfBattle_EscapeRope -ItemUseOutOfBattle_EscapeRope: @ 80FE334 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80FE314 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FE35C - ldr r1, =gUnknown_0203A0F4 - ldr r0, =re_escape_rope - str r0, [r1] - adds r0, r4, 0 - bl SetUpItemUseOnFieldCallback - b _080FE36E - .pool -_080FE35C: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrb r1, [r1, 0xE] - adds r0, r4, 0 - bl DisplayDadsAdviceCannotUseItemMessage -_080FE36E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_EscapeRope - - thumb_func_start ItemUseOutOfBattle_EvolutionStone -ItemUseOutOfBattle_EvolutionStone: @ 80FE378 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =sub_81B7C74 - str r1, [r2] - bl SetUpItemUseCallback - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_EvolutionStone - - thumb_func_start ItemUseInBattle_PokeBall -ItemUseInBattle_PokeBall: @ 80FE394 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl IsPlayerPartyAndPokemonStorageFull - lsls r0, 24 - cmp r0, 0 - bne _080FE3D0 - ldr r0, =gScriptItemId - ldrh r0, [r0] - movs r1, 0x1 - bl RemoveBagItem - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE3C8 - adds r0, r4, 0 - bl unknown_ItemMenu_Confirm - b _080FE3FA - .pool -_080FE3C8: - adds r0, r4, 0 - bl sub_81C5B14 - b _080FE3FA -_080FE3D0: - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE3F0 - ldr r2, =gText_BoxFull - ldr r3, =bag_menu_inits_lists_menu - adds r0, r4, 0 - movs r1, 0x1 - bl DisplayItemMessage - b _080FE3FA - .pool -_080FE3F0: - ldr r1, =gText_BoxFull - ldr r2, =sub_81C6714 - adds r0, r5, 0 - bl DisplayItemMessageInBattlePyramid -_080FE3FA: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseInBattle_PokeBall - - thumb_func_start sub_80FE408 -sub_80FE408: @ 80FE408 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _080FE43A - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE434 - adds r0, r4, 0 - bl unknown_ItemMenu_Confirm - b _080FE43A - .pool -_080FE434: - adds r0, r5, 0 - bl sub_81C5B14 -_080FE43A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80FE408 - - thumb_func_start sub_80FE440 -sub_80FE440: @ 80FE440 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x18] - adds r0, 0x1 - strh r0, [r1, 0x18] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _080FE4AC - movs r0, 0x1 - bl PlaySE - ldr r4, =gScriptItemId - ldrh r0, [r4] - movs r1, 0x1 - bl RemoveBagItem - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE49C - ldrh r0, [r4] - bl sub_806CF78 - adds r2, r0, 0 - ldr r3, =sub_80FE408 - adds r0, r5, 0 - movs r1, 0x1 - bl DisplayItemMessage - b _080FE4AC - .pool -_080FE49C: - ldrh r0, [r4] - bl sub_806CF78 - adds r1, r0, 0 - ldr r2, =sub_80FE408 - adds r0, r6, 0 - bl DisplayItemMessageInBattlePyramid -_080FE4AC: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FE440 - - thumb_func_start ItemUseInBattle_StatIncrease -ItemUseInBattle_StatIncrease: @ 80FE4B8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gBattlePartyID - ldr r0, =gBankInMenu - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r1, =gPlayerParty - adds r0, r1 - ldr r1, =gScriptItemId - ldrh r1, [r1] - lsls r2, 24 - lsrs r2, 24 - movs r3, 0 - bl ExecuteTableBasedItemEffect_ - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _080FE52C - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE518 - ldr r2, =gText_WontHaveEffect - ldr r3, =bag_menu_inits_lists_menu - adds r0, r4, 0 - movs r1, 0x1 - bl DisplayItemMessage - b _080FE53C - .pool -_080FE518: - ldr r1, =gText_WontHaveEffect - ldr r2, =sub_81C6714 - adds r0, r4, 0 - bl DisplayItemMessageInBattlePyramid - b _080FE53C - .pool -_080FE52C: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80FE440 - str r0, [r1] - strh r2, [r1, 0x18] -_080FE53C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseInBattle_StatIncrease - - thumb_func_start sub_80FE54C -sub_80FE54C: @ 80FE54C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE574 - ldr r0, =gUnknown_0203CE54 - ldr r1, [r0] - ldr r0, =sub_81B89F0 - str r0, [r1] - adds r0, r4, 0 - bl unknown_ItemMenu_Confirm - b _080FE582 - .pool -_080FE574: - ldr r0, =gUnknown_0203CF2C - ldr r1, [r0] - ldr r0, =sub_81B89F0 - str r0, [r1] - adds r0, r4, 0 - bl sub_81C5B14 -_080FE582: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FE54C - - thumb_func_start ItemUseInBattle_Medicine -ItemUseInBattle_Medicine: @ 80FE590 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =ItemUseCB_Medicine - str r1, [r2] - bl sub_80FE54C - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseInBattle_Medicine - - thumb_func_start sub_80FE5AC -sub_80FE5AC: @ 80FE5AC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =sub_81B79E8 - str r1, [r2] - bl sub_80FE54C - pop {r0} - bx r0 - .pool - thumb_func_end sub_80FE5AC - - thumb_func_start ItemUseInBattle_PPRecovery -ItemUseInBattle_PPRecovery: @ 80FE5C8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_03006328 - ldr r1, =dp05_ether - str r1, [r2] - bl sub_80FE54C - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseInBattle_PPRecovery - - thumb_func_start ItemUseInBattle_Escape -ItemUseInBattle_Escape: @ 80FE5E4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - bne _080FE634 - bl sub_80FE058 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080FE620 - ldr r2, =gStringVar4 - ldr r3, =unknown_ItemMenu_Confirm - adds r0, r4, 0 - movs r1, 0x1 - bl DisplayItemMessage - b _080FE646 - .pool -_080FE620: - ldr r1, =gStringVar4 - ldr r2, =sub_81C5B14 - adds r0, r4, 0 - bl DisplayItemMessageInBattlePyramid - b _080FE646 - .pool -_080FE634: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrb r1, [r1, 0xE] - adds r0, r4, 0 - bl DisplayDadsAdviceCannotUseItemMessage -_080FE646: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseInBattle_Escape - - thumb_func_start ItemUseOutOfBattle_EnigmaBerry -ItemUseOutOfBattle_EnigmaBerry: @ 80FE650 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gScriptItemId - ldrh r0, [r0] - bl GetItemEffectType - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x14 - bls _080FE66A - b _080FE75C -_080FE66A: - lsls r0, 2 - ldr r1, =_080FE67C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080FE67C: - .4byte _080FE708 - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE75C - .4byte _080FE75C - .4byte _080FE6EC - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE6D0 - .4byte _080FE75C - .4byte _080FE724 - .4byte _080FE724 - .4byte _080FE740 -_080FE6D0: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x10] - adds r0, r4, 0 - bl ItemUseOutOfBattle_Medicine - b _080FE770 - .pool -_080FE6EC: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x10] - adds r0, r4, 0 - bl ItemUseOutOfBattle_SacredAsh - b _080FE770 - .pool -_080FE708: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x10] - adds r0, r4, 0 - bl ItemUseOutOfBattle_RareCandy - b _080FE770 - .pool -_080FE724: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x10] - adds r0, r4, 0 - bl ItemUseOutOfBattle_PPUp - b _080FE770 - .pool -_080FE740: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x10] - adds r0, r4, 0 - bl ItemUseOutOfBattle_PPRecovery - b _080FE770 - .pool -_080FE75C: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x4 - strh r0, [r1, 0x10] - adds r0, r4, 0 - bl ItemUseOutOfBattle_CannotUse -_080FE770: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_EnigmaBerry - - thumb_func_start ItemUseInBattle_EnigmaBerry -ItemUseInBattle_EnigmaBerry: @ 80FE77C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gScriptItemId - ldrh r0, [r0] - bl GetItemEffectType - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x15 - bhi _080FE814 - lsls r0, 2 - ldr r1, =_080FE7A4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080FE7A4: - .4byte _080FE7FC - .4byte _080FE814 - .4byte _080FE804 - .4byte _080FE804 - .4byte _080FE804 - .4byte _080FE804 - .4byte _080FE804 - .4byte _080FE804 - .4byte _080FE804 - .4byte _080FE804 - .4byte _080FE814 - .4byte _080FE804 - .4byte _080FE814 - .4byte _080FE814 - .4byte _080FE814 - .4byte _080FE814 - .4byte _080FE814 - .4byte _080FE814 - .4byte _080FE814 - .4byte _080FE814 - .4byte _080FE814 - .4byte _080FE80C -_080FE7FC: - adds r0, r4, 0 - bl ItemUseInBattle_StatIncrease - b _080FE81A -_080FE804: - adds r0, r4, 0 - bl ItemUseInBattle_Medicine - b _080FE81A -_080FE80C: - adds r0, r4, 0 - bl ItemUseInBattle_PPRecovery - b _080FE81A -_080FE814: - adds r0, r4, 0 - bl ItemUseOutOfBattle_CannotUse -_080FE81A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end ItemUseInBattle_EnigmaBerry - - thumb_func_start ItemUseOutOfBattle_CannotUse -ItemUseOutOfBattle_CannotUse: @ 80FE820 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r1, [r1, 0xE] - bl DisplayDadsAdviceCannotUseItemMessage - pop {r0} - bx r0 - .pool - thumb_func_end ItemUseOutOfBattle_CannotUse - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/landmark.s b/asm/landmark.s deleted file mode 100644 index 12bb398851..0000000000 --- a/asm/landmark.s +++ /dev/null @@ -1,128 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8145CF4 -sub_8145CF4: @ 8145CF4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - bl sub_8145D48 - adds r4, r0, 0 - cmp r4, 0 - bne _08145D10 -_08145D0C: - movs r0, 0 - b _08145D42 -_08145D10: - ldr r6, =0x0000ffff - b _08145D26 - .pool -_08145D18: - subs r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_08145D1E: - adds r4, 0x4 - ldr r0, [r4] - cmp r0, 0 - beq _08145D0C -_08145D26: - ldr r1, [r4] - ldrh r0, [r1, 0x4] - cmp r0, r6 - beq _08145D3A - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08145D1E -_08145D3A: - cmp r5, 0 - bne _08145D18 - ldr r0, [r4] - ldr r0, [r0] -_08145D42: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8145CF4 - - thumb_func_start sub_8145D48 -sub_8145D48: @ 8145D48 - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - movs r2, 0 - ldr r0, =gUnknown_085B91B8 - ldrb r1, [r0] - adds r4, r0, 0 - cmp r1, 0xD5 - beq _08145DB8 - adds r1, r4, 0 -_08145D60: - lsls r0, r2, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, r3 - bhi _08145DB8 - cmp r0, r3 - beq _08145D7E - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r0, r2, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xD5 - bne _08145D60 -_08145D7E: - lsls r0, r2, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xD5 - bne _08145D98 - b _08145DB8 - .pool -_08145D90: - adds r0, r4, 0x4 - adds r0, r1, r0 - ldr r0, [r0] - b _08145DBA -_08145D98: - cmp r0, r3 - bne _08145DB8 - ldr r5, =gUnknown_085B91B8 -_08145D9E: - lsls r1, r2, 3 - adds r0, r1, r5 - ldrb r0, [r0, 0x1] - cmp r0, r6 - beq _08145D90 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r0, r2, 3 - adds r0, r4 - ldrb r0, [r0] - cmp r0, r3 - beq _08145D9E -_08145DB8: - movs r0, 0 -_08145DBA: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8145D48 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/learn_move.s b/asm/learn_move.s old mode 100755 new mode 100644 index 159b16f7ef..f42514e681 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -94,7 +94,7 @@ sub_81606A0: @ 81606A0 ldr r0, =gUnknown_085CEBB8 bl LoadSpritePalette bl sub_81610B8 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldrh r1, [r4] ldrh r2, [r4, 0x2] bl ListMenuInit @@ -151,7 +151,7 @@ sub_8160740: @ 8160740 ldr r0, =gUnknown_085CEBB8 bl LoadSpritePalette bl sub_81610B8 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldrh r1, [r4] ldrh r2, [r4, 0x2] bl ListMenuInit @@ -175,14 +175,14 @@ sub_8160740: @ 8160740 thumb_func_start sub_81607EC sub_81607EC: @ 81607EC push {lr} - bl sub_8121DA0 + bl ResetVramOamAndBgCntRegs movs r0, 0 bl ResetBgsAndClearDma3BusyFlags ldr r1, =gUnknown_085CEC28 movs r0, 0 movs r2, 0x2 bl InitBgsFromTemplates - bl sub_8121E10 + bl ResetAllBgsCoordinates movs r1, 0x82 lsls r1, 5 movs r0, 0 @@ -353,7 +353,7 @@ _08160994: b _08160E88 .pool _081609A8: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -433,7 +433,7 @@ _08160A50: b _08160E88 .pool _08160A64: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -493,7 +493,7 @@ _08160ADC: b _08160E88 .pool _08160AEC: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -551,7 +551,7 @@ _08160B6C: b _08160E88 .pool _08160B80: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -980,7 +980,7 @@ sub_8160F50: @ 8160F50 lsls r4, 1 adds r0, r4 ldrb r0, [r0] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r5, r0, 0 ldr r0, [r6] adds r0, r4 @@ -988,7 +988,7 @@ sub_8160F50: @ 8160F50 ldr r4, =gUnknown_0203BC38 adds r2, r4, 0x2 adds r1, r4, 0 - bl get_coro_args_x18_x1A + bl sub_81AE860 movs r0, 0x2 negs r0, r0 cmp r5, r0 diff --git a/asm/link.s b/asm/link.s index 6fc5a6dff4..656ac40bf3 100644 --- a/asm/link.s +++ b/asm/link.s @@ -15,7 +15,7 @@ sub_80093CC: @ 80093CC cmp r0, r1 beq _080093F4 bl sub_800B4A4 - bl sub_80097E8 + bl CloseLink bl RestoreSerialTimer3IntrHandlers movs r0, 0 b _080093FE @@ -29,15 +29,15 @@ _080093FE: bx r1 thumb_func_end sub_80093CC - thumb_func_start sub_8009404 -sub_8009404: @ 8009404 + thumb_func_start Task_DestroySelf +Task_DestroySelf: @ 8009404 push {lr} lsls r0, 24 lsrs r0, 24 bl DestroyTask pop {r0} bx r0 - thumb_func_end sub_8009404 + thumb_func_end Task_DestroySelf thumb_func_start sub_8009414 sub_8009414: @ 8009414 @@ -206,11 +206,11 @@ sub_8009570: @ 8009570 ldr r0, =sub_80096BC bl SetVBlankCallback bl sub_800A2E0 - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00001111 adds r0, r2, 0 strh r0, [r1] - bl sub_8009734 + bl OpenLink ldr r0, =gMain ldrh r0, [r0, 0x24] bl SeedRng @@ -236,7 +236,7 @@ _080095A0: lsls r1, 5 movs r0, 0 bl SetGpuReg - ldr r0, =sub_8009404 + ldr r0, =Task_DestroySelf movs r1, 0 bl CreateTask bl RunTasks @@ -291,7 +291,7 @@ sub_8009638: @ 8009638 ldr r0, [r4] ldrb r0, [r0, 0x8] strb r0, [r5, 0x13] - ldr r0, =gUnknown_020229C6 + ldr r0, =gLinkType ldrh r0, [r0] str r0, [r5, 0x14] ldr r0, =gGameLanguage @@ -339,7 +339,7 @@ sub_80096BC: @ 80096BC sub_80096D0: @ 80096D0 push {lr} ldr r3, =gUnknown_020229C4 - ldr r1, =gUnknown_03003110 + ldr r1, =gSendCmd ldr r2, =0x0000efff adds r0, r1, 0 adds r0, 0xE @@ -384,8 +384,8 @@ _08009726: .pool thumb_func_end task02_080097CC - thumb_func_start sub_8009734 -sub_8009734: @ 8009734 + thumb_func_start OpenLink +OpenLink: @ 8009734 push {r4-r6,lr} ldr r0, =gLinkVSyncDisabled ldrb r4, [r0] @@ -443,10 +443,10 @@ _080097BE: pop {r0} bx r0 .pool - thumb_func_end sub_8009734 + thumb_func_end OpenLink - thumb_func_start sub_80097E8 -sub_80097E8: @ 80097E8 + thumb_func_start CloseLink +CloseLink: @ 80097E8 push {r4,lr} ldr r0, =gReceivedRemoteLinkPlayers movs r4, 0 @@ -464,7 +464,7 @@ _080097FC: pop {r0} bx r0 .pool - thumb_func_end sub_80097E8 + thumb_func_end CloseLink thumb_func_start sub_8009818 sub_8009818: @ 8009818 @@ -646,7 +646,7 @@ _08009976: orrs r1, r0 _08009990: adds r0, r2, 0 - bl sub_800A994 + bl SetLinkDebugValues _08009996: add sp, 0x4 pop {r4,r5} @@ -685,7 +685,7 @@ sub_80099E0: @ 80099E0 _080099F4: movs r1, 0 ldr r5, =gUnknown_03003084 - ldr r3, =gUnknown_03003110 + ldr r3, =gSendCmd movs r2, 0 _080099FC: lsls r0, r1, 1 @@ -698,7 +698,7 @@ _080099FC: bls _080099FC ldrh r0, [r4] strh r0, [r5] - ldr r0, =gUnknown_030030E0 + ldr r0, =gLinkStatus ldr r0, [r0] movs r1, 0x40 ands r0, r1 @@ -717,7 +717,7 @@ _080099FC: _08009A34: bl sub_800AEB4 _08009A38: - ldr r0, =gUnknown_030030E0 + ldr r0, =gLinkStatus ldrh r0, [r0] _08009A3C: pop {r4,r5} @@ -745,7 +745,7 @@ _08009A70: adds r5, r0 adds r4, 0x1 _08009A78: - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r0, 24 lsrs r0, 24 cmp r4, r0 @@ -781,7 +781,7 @@ _08009AAE: movs r0, 0 strh r0, [r3] lsls r4, r6, 4 - ldr r5, =gUnknown_03003090 + ldr r5, =gRecvCmds adds r2, r4, r5 ldrh r0, [r2] mov r12, r1 @@ -901,12 +901,12 @@ _08009BC4: adds r1, r0 movs r2, 0 strh r2, [r1] - ldr r0, =gUnknown_03003090 + ldr r0, =gRecvCmds adds r0, 0x2 adds r0, r4, r0 ldrh r0, [r0] strh r0, [r1, 0x2] - ldr r0, =gUnknown_03003090 + ldr r0, =gRecvCmds adds r0, 0x4 adds r0, r4, r0 ldrh r0, [r0] @@ -930,7 +930,7 @@ _08009BF0: mov r8, r0 movs r2, 0 adds r5, r3, 0 - ldr r7, =gUnknown_03003090 + ldr r7, =gRecvCmds adds r3, r4, 0 _08009C14: ldrh r1, [r5] @@ -955,7 +955,7 @@ _08009C40: ldr r1, =gBlockRecvBuffer mov r9, r1 adds r7, r3, 0 - ldr r3, =gUnknown_03003090 + ldr r3, =gRecvCmds mov r8, r3 lsls r5, r6, 8 adds r3, r4, 0 @@ -1069,7 +1069,7 @@ _08009D38: b _08009D6E _08009D3E: ldr r3, =gUnknown_082ED1A8 - ldr r0, =gUnknown_03003090 + ldr r0, =gRecvCmds adds r0, 0x2 adds r0, r4, r0 ldrh r2, [r0] @@ -1084,7 +1084,7 @@ _08009D3E: b _08009D6E .pool _08009D64: - ldr r0, =gUnknown_03003090 + ldr r0, =gRecvCmds adds r0, 0x2 adds r0, r4, r0 ldrh r0, [r0] @@ -1183,26 +1183,26 @@ _08009E2C: b _08009F06 .pool _08009E38: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd strh r2, [r0] - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldrh r1, [r1] b _08009F04 .pool _08009E4C: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd strh r2, [r0] ldr r1, =gMain ldrh r1, [r1, 0x2C] b _08009F04 .pool _08009E60: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd movs r1, 0 b _08009F02 .pool _08009E6C: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd strh r2, [r0] movs r1, 0 adds r3, r0, 0 @@ -1219,7 +1219,7 @@ _08009E76: b _08009F06 .pool _08009E8C: - ldr r1, =gUnknown_03003110 + ldr r1, =gSendCmd strh r2, [r1] ldr r2, =gUnknown_03000D10 ldrh r0, [r2, 0x2] @@ -1230,28 +1230,28 @@ _08009E8C: b _08009F06 .pool _08009EA8: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd strh r2, [r0] - ldr r1, =gScriptItemId + ldr r1, =gSpecialVar_ItemId ldrh r1, [r1] b _08009F04 .pool _08009EBC: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd strh r2, [r0] ldr r1, =gUnknown_03003150 ldrb r1, [r1] b _08009F04 .pool _08009ED0: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd strh r2, [r0] ldr r1, =gUnknown_030030F4 ldrh r1, [r1] b _08009F04 .pool _08009EE4: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd strh r2, [r0] b _08009F06 .pool @@ -1264,7 +1264,7 @@ _08009EF0: ldrb r0, [r0] cmp r0, 0 bne _08009F06 - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd _08009F02: strh r2, [r0] _08009F04: @@ -1378,7 +1378,7 @@ GetLinkPlayerCount: @ 8009FCC ldrb r0, [r0] cmp r0, 0 bne _08009FEC - ldr r0, =gUnknown_030030E0 + ldr r0, =gLinkStatus ldr r0, [r0] movs r1, 0x1C ands r0, r1 @@ -1516,7 +1516,7 @@ sub_800A0AC: @ 800A0AC str r1, [r0] ldr r0, =gUnknown_020229C8 strh r1, [r0] - bl sub_8009734 + bl OpenLink pop {r0} bx r0 .pool @@ -1534,7 +1534,7 @@ sub_800A0C8: @ 800A0C8 beq _0800A0DA b _0800A214 _0800A0DA: - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r0, 24 lsrs r0, 24 cmp r5, r0 @@ -1554,7 +1554,7 @@ _0800A0FC: bne _0800A10E ldr r0, =gUnknown_0300306C strb r4, [r0] - bl sub_80097E8 + bl CloseLink _0800A10E: movs r6, 0 ldr r4, =gLinkPlayers @@ -1816,7 +1816,7 @@ _0800A30C: str r7, [r4, 0x4] b _0800A336 _0800A324: - ldr r5, =gUnknown_020228C4 + ldr r5, =gBlockSendBuffer cmp r7, r5 beq _0800A334 adds r0, r5, 0 @@ -1865,7 +1865,7 @@ sub_800A388: @ 800A388 push {r4-r6,lr} ldr r0, =gUnknown_03000D10 ldr r5, [r0, 0x4] - ldr r2, =gUnknown_03003110 + ldr r2, =gSendCmd ldr r1, =0x00008888 strh r1, [r2] movs r3, 0 @@ -2213,7 +2213,7 @@ _0800A616: thumb_func_start sub_800A620 sub_800A620: @ 800A620 push {lr} - ldr r0, =gUnknown_030030E0 + ldr r0, =gLinkStatus ldr r1, [r0] movs r0, 0x20 ands r0, r1 @@ -2501,7 +2501,7 @@ _0800A81C: thumb_func_start sub_800A824 sub_800A824: @ 800A824 push {lr} - ldr r0, =gUnknown_030030E0 + ldr r0, =gLinkStatus ldr r0, [r0] movs r1, 0x20 ands r0, r1 @@ -2536,7 +2536,7 @@ task00_link_test: @ 800A850 movs r2, 0x1 movs r3, 0x2 bl sub_800A6E8 - ldr r4, =gUnknown_030030E0 + ldr r4, =gLinkStatus ldr r0, [r4] movs r1, 0xF movs r2, 0x1 @@ -2608,7 +2608,7 @@ task00_link_test: @ 800A850 movs r2, 0x6 movs r3, 0x1 bl sub_800A6E8 - bl sub_800B320 + bl IsLinkConnectionEstablished lsls r0, 24 lsrs r0, 24 movs r1, 0x19 @@ -2646,15 +2646,15 @@ _0800A94E: .pool thumb_func_end task00_link_test - thumb_func_start sub_800A994 -sub_800A994: @ 800A994 + thumb_func_start SetLinkDebugValues +SetLinkDebugValues: @ 800A994 ldr r2, =gUnknown_0300302C str r0, [r2] ldr r0, =gUnknown_03003070 str r1, [r0] bx lr .pool - thumb_func_end sub_800A994 + thumb_func_end SetLinkDebugValues thumb_func_start sub_800A9A8 sub_800A9A8: @ 800A9A8 @@ -2774,7 +2774,7 @@ sub_800AA60: @ 800AA60 ldr r0, =gUnknown_02022A74 ldr r2, =0x00002288 mov r8, r2 - ldr r7, =gUnknown_020229C6 + ldr r7, =gLinkType mov r6, r12 adds r6, 0x14 adds r5, r0, 0x4 @@ -2809,7 +2809,7 @@ _0800AAB4: ldrb r0, [r0] cmp r3, r0 bne _0800AAE4 - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r0, 24 lsrs r0, 24 mov r1, r9 @@ -2889,7 +2889,7 @@ _0800AB5A: ldr r1, =gUnknown_0300306C movs r0, 0x1 strb r0, [r1] - bl sub_80097E8 + bl CloseLink ldr r0, =c2_800ACD4 bl SetMainCallback2 _0800AB6A: @@ -2920,25 +2920,25 @@ sub_800AB98: @ 800AB98 .pool thumb_func_end sub_800AB98 - thumb_func_start sub_800ABAC -sub_800ABAC: @ 800ABAC - ldr r0, =gUnknown_030030E0 + thumb_func_start GetLinkPlayerCount_2 +GetLinkPlayerCount_2: @ 800ABAC + ldr r0, =gLinkStatus ldr r0, [r0] movs r1, 0x1C ands r0, r1 lsrs r0, 2 bx lr .pool - thumb_func_end sub_800ABAC + thumb_func_end GetLinkPlayerCount_2 - thumb_func_start sub_800ABBC -sub_800ABBC: @ 800ABBC + thumb_func_start IsLinkMaster +IsLinkMaster: @ 800ABBC push {lr} ldr r0, =gLinkVSyncDisabled ldrb r0, [r0] cmp r0, 0 bne _0800ABDC - ldr r0, =gUnknown_030030E0 + ldr r0, =gLinkStatus ldr r0, [r0] lsrs r0, 5 movs r1, 0x1 @@ -2952,7 +2952,7 @@ _0800ABDC: _0800ABE4: pop {r1} bx r1 - thumb_func_end sub_800ABBC + thumb_func_end IsLinkMaster thumb_func_start sub_800ABE8 sub_800ABE8: @ 800ABE8 @@ -3076,7 +3076,7 @@ _0800ACD0: ldr r0, =gUnknown_03002748 movs r4, 0x1 strb r4, [r0] - bl sub_80097E8 + bl CloseLink ldr r1, =gUnknown_03003140 movs r0, 0 str r0, [r1] @@ -3180,7 +3180,7 @@ _0800ADB6: ldr r0, =gUnknown_03002748 movs r4, 0x1 strb r4, [r0] - bl sub_80097E8 + bl CloseLink ldr r1, =gUnknown_03003140 movs r0, 0 str r0, [r1] @@ -3292,7 +3292,7 @@ sub_800AEB4: @ 800AEB4 ldrb r0, [r0] cmp r0, 0 beq _0800AEF4 - ldr r0, =gUnknown_030030E0 + ldr r0, =gLinkStatus ldr r2, [r0] movs r0, 0xFE lsls r0, 11 @@ -3317,7 +3317,7 @@ _0800AEEA: ldr r1, =gUnknown_0300306C movs r0, 0x1 strb r0, [r1] - bl sub_80097E8 + bl CloseLink _0800AEF4: pop {r0} bx r0 @@ -3344,11 +3344,11 @@ c2_800ACD4: @ 800AF30 movs r0, 0 movs r1, 0 bl SetGpuReg - ldr r0, =gMPlay_SE1 + ldr r0, =gMPlayInfo_SE1 bl m4aMPlayStop - ldr r0, =gMPlay_SE2 + ldr r0, =gMPlayInfo_SE2 bl m4aMPlayStop - ldr r0, =gMPlay_SE3 + ldr r0, =gMPlayInfo_SE3 bl m4aMPlayStop ldr r0, =0x02000000 movs r1, 0xE0 @@ -3362,7 +3362,7 @@ c2_800ACD4: @ 800AF30 movs r2, 0x2 bl FillPalette bl ResetTasks - bl remove_some_task + bl ScanlineEffect_Stop ldr r1, =gLinkVSyncDisabled ldrb r0, [r1] cmp r0, 0 @@ -3428,7 +3428,7 @@ _0800AF8C: ldr r1, =gSoftResetDisabled movs r0, 0 strb r0, [r1] - ldr r0, =sub_8009404 + ldr r0, =Task_DestroySelf movs r1, 0 bl CreateTask bl StopMapMusic @@ -3742,16 +3742,16 @@ _0800B314: .pool thumb_func_end sub_800B2F8 - thumb_func_start sub_800B320 -sub_800B320: @ 800B320 - ldr r0, =gUnknown_030030E0 + thumb_func_start IsLinkConnectionEstablished +IsLinkConnectionEstablished: @ 800B320 + ldr r0, =gLinkStatus ldr r0, [r0] lsrs r0, 6 movs r1, 0x1 ands r0, r1 bx lr .pool - thumb_func_end sub_800B320 + thumb_func_end IsLinkConnectionEstablished thumb_func_start sub_800B330 sub_800B330: @ 800B330 @@ -3800,7 +3800,7 @@ sub_800B348: @ 800B348 strh r2, [r0] ldrb r2, [r3, 0x2] strb r2, [r0, 0x2] - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer movs r2, 0x3C bl memcpy pop {r4-r6} @@ -3863,10 +3863,10 @@ HandleLinkConnection: @ 800B40C cmp r0, 0 bne _0800B45C ldr r0, =gUnknown_03003144 - ldr r1, =gUnknown_03003110 - ldr r2, =gUnknown_03003090 + ldr r1, =gSendCmd + ldr r2, =gRecvCmds bl sub_800B638 - ldr r4, =gUnknown_030030E0 + ldr r4, =gLinkStatus str r0, [r4] ldr r0, =gUnknown_030022EC bl sub_80099E0 @@ -10249,13 +10249,13 @@ _0800E64A: adds r0, r4, 0 bl sub_800D724 strh r5, [r7] - ldr r1, =gUnknown_03003110 + ldr r1, =gSendCmd ldr r2, =0x01000008 adds r0, r7, 0 bl CpuSet mov r0, r8 strh r5, [r0] - ldr r1, =gUnknown_03003090 + ldr r1, =gRecvCmds ldr r2, =0x01000028 bl CpuSet mov r0, r9 @@ -10308,7 +10308,7 @@ sub_800E700: @ 800E700 lsrs r1, r0, 16 cmp r1, 0 bne _0800E732 - ldr r0, =gUnknown_020229C6 + ldr r0, =gLinkType strh r1, [r0] bl sub_800AAF4 movs r0, 0 @@ -11280,7 +11280,7 @@ sub_800EFB0: @ 800EFB0 push {r4-r7,lr} sub sp, 0x4 movs r2, 0 - ldr r7, =gUnknown_03003090 + ldr r7, =gRecvCmds ldr r0, =gUnknown_03005000 adds r6, r7, 0 ldr r1, =0x00000c87 @@ -11325,8 +11325,8 @@ _0800EFD0: thumb_func_start sub_800F014 sub_800F014: @ 800F014 push {lr} - ldr r3, =gUnknown_03003110 - ldr r2, =gUnknown_03003090 + ldr r3, =gSendCmd + ldr r2, =gRecvCmds movs r1, 0x6 _0800F01C: ldrh r0, [r3] @@ -11336,7 +11336,7 @@ _0800F01C: subs r1, 0x1 cmp r1, 0 bge _0800F01C - ldr r1, =gUnknown_03003110 + ldr r1, =gSendCmd movs r2, 0 adds r0, r1, 0 adds r0, 0xC @@ -11415,7 +11415,7 @@ _0800F0C4: .pool _0800F0CC: movs r3, 0 - ldr r4, =gUnknown_03003090 + ldr r4, =gRecvCmds _0800F0D0: movs r2, 0 lsls r0, r3, 4 @@ -11683,7 +11683,7 @@ _0800F2E0: str r2, [sp, 0x4] adds r5, 0x1 str r5, [sp] - ldr r1, =gUnknown_03003090 + ldr r1, =gRecvCmds mov r9, r1 adds r5, r3, 0 adds r7, r4, 0 @@ -11910,7 +11910,7 @@ sub_800F4F0: @ 800F4F0 mov r1, sp bl sub_800D934 movs r1, 0 - ldr r0, =gUnknown_03003090 + ldr r0, =gRecvCmds mov r12, r0 _0800F506: movs r4, 0 @@ -12014,7 +12014,7 @@ _0800F5C0: ldrb r1, [r2] strb r0, [r2] bl sub_8010528 - ldr r5, =gUnknown_03003110 + ldr r5, =gSendCmd add r4, sp, 0x48 adds r0, r5, 0 adds r1, r4, 0 @@ -12307,8 +12307,8 @@ sub_800F820: @ 800F820 lsls r0, 24 cmp r0, 0 bne _0800F83C - bl sub_8082D18 - ldr r1, =gUnknown_03003110 + bl GetBlenderArrowPosition + ldr r1, =gSendCmd strh r0, [r1, 0xC] _0800F83C: ldr r1, =gUnknown_020223C0 @@ -12347,7 +12347,7 @@ sub_800F86C: @ 800F86C _0800F87A: mov r1, r8 lsls r0, r1, 4 - ldr r2, =gUnknown_03003090 + ldr r2, =gRecvCmds adds r1, r0, r2 ldrh r7, [r1] movs r3, 0xFF @@ -12557,7 +12557,7 @@ _0800FA0E: adds r2, r4, 0x1 lsls r0, r2, 1 adds r0, r3 - ldr r4, =gUnknown_03003090 + ldr r4, =gRecvCmds adds r0, r4 ldrh r0, [r0] strh r0, [r1] @@ -12688,7 +12688,7 @@ _0800FB10: adds r0, r7, r2 strb r1, [r0] _0800FB48: - ldr r0, =gUnknown_03003090 + ldr r0, =gRecvCmds adds r0, 0x6 adds r0, r5, r0 ldrh r0, [r0] @@ -12701,7 +12701,7 @@ _0800FB78: movs r0, 0xEE lsls r0, 8 bl sub_800FD14 - ldr r1, =gUnknown_03003110 + ldr r1, =gSendCmd ldr r3, =gUnknown_03003092 adds r0, r5, r3 ldrh r0, [r0] @@ -12710,7 +12710,7 @@ _0800FB78: adds r0, r5, r4 ldrh r0, [r0] strh r0, [r1, 0x4] - ldr r0, =gUnknown_03003090 + ldr r0, =gRecvCmds adds r0, 0x6 adds r0, r5, r0 ldrh r0, [r0] @@ -12912,7 +12912,7 @@ sub_800FD14: @ 800FD14 push {r4,r5,lr} lsls r0, 16 lsrs r1, r0, 16 - ldr r5, =gUnknown_03003110 + ldr r5, =gSendCmd strh r1, [r5] movs r0, 0xF0 lsls r0, 7 @@ -13065,7 +13065,7 @@ _0800FE46: sub_800FE50: @ 800FE50 push {r4,lr} adds r4, r0, 0 - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _0800FE76 @@ -13099,7 +13099,7 @@ sub_800FE84: @ 800FE84 ldr r0, [r5] cmp r0, 0 bne _0800FEB8 - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _0800FEB8 @@ -13151,7 +13151,7 @@ _0800FEC8: str r7, [r5, 0x70] b _0800FF1C _0800FF0A: - ldr r4, =gUnknown_020228C4 + ldr r4, =gBlockSendBuffer cmp r7, r4 beq _0800FF1A adds r0, r4, 0 @@ -13184,7 +13184,7 @@ _0800FF32: thumb_func_start rfufunc_80F9F44 rfufunc_80F9F44: @ 800FF4C push {r4,r5,lr} - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _0800FFA0 @@ -13209,7 +13209,7 @@ rfufunc_80F9F44: @ 800FF4C .pool _0800FF84: bl GetMultiplayerId - ldr r1, =gUnknown_03003090 + ldr r1, =gRecvCmds lsls r0, 24 lsrs r0, 20 adds r0, r1 @@ -13235,7 +13235,7 @@ sub_800FFB0: @ 800FFB0 ldr r0, =gUnknown_03005000 mov r12, r0 ldr r5, [r0, 0x70] - ldr r3, =gUnknown_03003110 + ldr r3, =gSendCmd mov r2, r12 adds r2, 0x6C ldrh r1, [r2] @@ -13304,7 +13304,7 @@ rfufunc_80FA020: @ 8010028 ldrb r0, [r5, 0xC] cmp r0, 0 bne _080100F0 - ldr r3, =gUnknown_03003110 + ldr r3, =gSendCmd adds r2, r5, 0 adds r2, 0x6E ldrh r0, [r2] @@ -13315,7 +13315,7 @@ rfufunc_80FA020: @ 8010028 strh r0, [r3] movs r4, 0 mov r9, r5 - ldr r0, =gUnknown_03003090 + ldr r0, =gRecvCmds mov r12, r0 lsls r5, r6, 4 adds r7, r2, 0 @@ -13541,7 +13541,7 @@ _08010220: thumb_func_start sub_801022C sub_801022C: @ 801022C push {r4,lr} - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _0801024E @@ -13696,7 +13696,7 @@ sub_8010358: @ 8010358 ldrb r0, [r0] cmp r0, 0 bne _0801037A - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _0801037A @@ -13725,7 +13725,7 @@ sub_8010390: @ 8010390 ldrb r0, [r0] cmp r0, 0 bne _0801041E - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _0801041E @@ -13768,7 +13768,7 @@ _080103FA: ldrb r0, [r0] cmp r0, 0 bne _0801041E - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _0801041E @@ -14406,7 +14406,7 @@ _080108F0: b _080109D2 .pool _08010904: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _080109D2 @@ -14678,7 +14678,7 @@ _08010B28: .4byte _08010C0A .4byte _08010C94 _08010B40: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd ldrh r0, [r0] cmp r0, 0 beq _08010B4A @@ -14692,7 +14692,7 @@ _08010B4A: b _08010C4A .pool _08010B60: - ldr r0, =gUnknown_03003110 + ldr r0, =gSendCmd ldrh r0, [r0] cmp r0, 0 beq _08010B6A @@ -14736,7 +14736,7 @@ _08010B8C: b _08010C4A .pool _08010BC0: - ldr r5, =gUnknown_020228C4 + ldr r5, =gBlockSendBuffer adds r1, r5, 0 ldr r0, =gUnknown_082ED7EC ldm r0!, {r2-r4} @@ -14774,7 +14774,7 @@ _08010BE2: adds r0, 0x1 strh r0, [r1, 0x8] _08010C0A: - ldr r5, =gUnknown_020228C4 + ldr r5, =gBlockSendBuffer ldr r1, =gUnknown_03005000 ldrb r0, [r1, 0xD] strb r0, [r5, 0xF] @@ -14798,7 +14798,7 @@ _08010C20: mov r1, r12 movs r2, 0x8C bl memcpy - ldr r1, =gUnknown_020228C4 + ldr r1, =gBlockSendBuffer movs r0, 0 movs r2, 0xA0 bl SendBlock @@ -14923,7 +14923,7 @@ _08010D56: cmp r0, 0 beq _08010DA6 bl sub_800B348 - ldr r1, =gUnknown_020228C4 + ldr r1, =gBlockSendBuffer movs r0, 0 movs r2, 0x3C bl SendBlock @@ -15027,7 +15027,7 @@ _08010E20: ldrb r1, [r0] movs r1, 0x2 strb r1, [r0] - bl sub_80097E8 + bl CloseLink b _08010E8E .pool _08010E5C: @@ -16577,7 +16577,7 @@ sub_8011AC8: @ 8011AC8 sub sp, 0x4 movs r0, 0 str r0, [sp] - ldr r1, =gUnknown_03003090 + ldr r1, =gRecvCmds ldr r2, =0x05000014 mov r0, sp bl CpuSet @@ -16610,12 +16610,12 @@ sub_8011AFC: @ 8011AFC lsls r0, 24 cmp r0, 0 beq _08011B70 - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00001111 adds r0, r2, 0 strh r0, [r1] bl sub_800B488 - bl sub_8009734 + bl OpenLink ldr r0, =gMain ldrh r0, [r0, 0x24] bl SeedRng @@ -16970,7 +16970,7 @@ sub_8011E2C: @ 8011E2C push {r4-r6,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r6, =gUnknown_03003110 + ldr r6, =gSendCmd ldrh r0, [r6] cmp r0, 0 bne _08011E7A @@ -18046,7 +18046,7 @@ BerryBlenderLinkBecomeLeader: @ 801273C movs r0, 0 strb r0, [r1, 0xC] strb r0, [r1, 0xD] - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result strh r0, [r1] pop {r0} bx r0 @@ -18144,7 +18144,7 @@ _08012848: movs r2, 0 bl sub_8010F84 bl sub_800B488 - bl sub_8009734 + bl OpenLink ldrb r1, [r4] movs r0, 0xF ands r0, r1 @@ -18244,8 +18244,8 @@ _08012938: bl CopyWindowToVram ldrb r0, [r6, 0xF] movs r1, 0 - bl sub_81973FC - ldr r0, =gUnknown_03006310 + bl NewMenuHelpers_DrawStdWindowFrame + ldr r0, =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, =gUnknown_082F015C ldm r1!, {r3,r5,r7} @@ -18260,7 +18260,7 @@ _08012938: strb r0, [r6, 0x12] ldrb r0, [r6, 0x11] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r6, 0x11] bl PutWindowTilemap ldrb r0, [r6, 0x11] @@ -18893,7 +18893,7 @@ _08012EE6: bl EnableBothScriptContexts adds r0, r4, 0 bl DestroyTask - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x5 strh r0, [r1] b _08012F50 @@ -18902,7 +18902,7 @@ _08012EFC: bl EnableBothScriptContexts adds r0, r4, 0 bl DestroyTask - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x8 strh r0, [r1] b _08012F50 @@ -19571,7 +19571,7 @@ BerryBlenderLinkJoinGroup: @ 80134A4 movs r0, 0 strb r0, [r1, 0x8] strb r0, [r1, 0x9] - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result strh r0, [r1] pop {r0} bx r0 @@ -19652,7 +19652,7 @@ _08013590: movs r2, 0 bl sub_8010F84 bl sub_800B488 - bl sub_8009734 + bl OpenLink bl sub_8011C5C movs r0, 0x70 bl AllocZeroed @@ -19725,8 +19725,8 @@ _0801360C: bl CopyWindowToVram ldrb r0, [r6, 0xB] movs r1, 0 - bl sub_81973FC - ldr r0, =gUnknown_03006310 + bl NewMenuHelpers_DrawStdWindowFrame + ldr r0, =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, =gUnknown_082F0204 ldm r1!, {r3,r5,r7} @@ -19741,7 +19741,7 @@ _0801360C: strb r0, [r6, 0xE] ldrb r0, [r6, 0xD] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r6, 0xD] bl PutWindowTilemap ldrb r0, [r6, 0xD] @@ -19771,7 +19771,7 @@ _080136EA: b _08013A72 _080136F2: ldrb r0, [r6, 0xE] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r4, r0, 0 ldr r0, =gMain ldrh r1, [r0, 0x2E] @@ -20196,13 +20196,13 @@ _08013AE4: lsls r0, 24 cmp r0, 0 beq _08013B82 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result movs r1, 0x6 b _08013B58 .pool _08013B14: bl sub_800E084 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result movs r1, 0x5 b _08013B58 .pool @@ -20228,7 +20228,7 @@ _08013B4A: lsls r0, 24 cmp r0, 0 beq _08013B82 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result movs r1, 0x8 _08013B58: strh r1, [r0] @@ -20400,7 +20400,7 @@ _08013CD0: movs r2, 0 bl sub_8010F84 bl sub_800B488 - bl sub_8009734 + bl OpenLink bl sub_8011C5C movs r0, 0x1 bl sub_80111B0 @@ -20834,7 +20834,7 @@ _08013FFC: b _0801405A .pool _08014038: - ldr r4, =gUnknown_020228C4 + ldr r4, =gBlockSendBuffer ldr r0, =gSaveBlock1Ptr ldr r1, [r0] ldr r0, =0x00002be0 @@ -21040,7 +21040,7 @@ sub_8014210: @ 8014210 adds r6, r0, 0 lsls r6, 16 lsrs r6, 16 - bl sp000_heal_pokemon + bl HealPlayerParty bl copy_player_party_to_sav1 bl copy_bags_and_unk_data_from_save_blocks ldr r5, =gLinkPlayers @@ -21405,10 +21405,10 @@ _080145D8: .pool _080145F4: bl overworld_free_bg_tilemaps - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer movs r1, 0x1 bl sub_80143E4 - bl sp000_heal_pokemon + bl HealPlayerParty bl copy_player_party_to_sav1 bl copy_bags_and_unk_data_from_save_blocks movs r0, 0x1 @@ -21421,10 +21421,10 @@ _080145F4: .pool _08014620: bl overworld_free_bg_tilemaps - bl sp000_heal_pokemon + bl HealPlayerParty bl copy_player_party_to_sav1 bl copy_bags_and_unk_data_from_save_blocks - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer movs r1, 0x1 bl sub_80143E4 movs r0, 0x2 @@ -21437,10 +21437,10 @@ _08014620: .pool _0801464C: bl overworld_free_bg_tilemaps - bl sp000_heal_pokemon + bl HealPlayerParty bl copy_player_party_to_sav1 bl copy_bags_and_unk_data_from_save_blocks - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer movs r1, 0x1 bl sub_80143E4 movs r0, 0x5 @@ -21452,7 +21452,7 @@ _0801464C: b _080146B0 .pool _08014678: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer movs r1, 0x1 bl sub_80143E4 bl overworld_free_bg_tilemaps @@ -21465,7 +21465,7 @@ _08014678: b _080146B0 .pool _08014698: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer movs r1, 0x1 bl sub_80143E4 bl overworld_free_bg_tilemaps @@ -21505,7 +21505,7 @@ _080146F6: bl sub_801DD98 b _08014764 _080146FC: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer movs r1, 0 bl sub_80143E4 ldr r0, =sub_80141A4 @@ -21517,7 +21517,7 @@ _08014714: movs r1, 0x5 movs r2, 0x1 bl sub_8014290 - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 ldr r1, =c2_load_new_map @@ -21538,7 +21538,7 @@ _0801474C: movs r1, 0x5 movs r2, 0x1 bl sub_8014290 - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 ldr r1, =c2_load_new_map @@ -21546,7 +21546,7 @@ _0801474C: _08014764: adds r0, r4, 0 bl DestroyTask - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] ldr r0, =gUnknown_02022C2C @@ -21575,7 +21575,7 @@ sub_8014790: @ 8014790 lsls r0, 3 ldr r1, =gTasks + 0x8 adds r7, r0, r1 - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer mov r9, r0 movs r1, 0 ldrsh r0, [r7, r1] @@ -21602,7 +21602,7 @@ _080147CC: .4byte _08014992 .4byte _0801499C _080147F0: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] ldr r0, =gUnknown_02022C2C @@ -21686,7 +21686,7 @@ _080148CC: bne _080149B2 movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen movs r0, 0x2 strh r0, [r7] b _080149B2 @@ -21746,7 +21746,7 @@ _0801494A: bl sub_80B2AF4 cmp r0, 0 beq _08014980 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result movs r1, 0xB strh r1, [r0] movs r0, 0x7 @@ -21837,7 +21837,7 @@ sub_8014A00: @ 8014A00 strb r2, [r1, 0xC] strb r2, [r1, 0xD] strb r4, [r1, 0x18] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r2, [r0] pop {r4} pop {r0} @@ -21899,7 +21899,7 @@ _08014AB0: movs r1, 0 bl sub_8010FA0 bl sub_800B488 - bl sub_8009734 + bl OpenLink movs r0, 0x2 bl sub_8011C10 movs r0, 0x1 @@ -21971,7 +21971,7 @@ _08014AEC: strb r0, [r5, 0xF] ldrb r0, [r5, 0xF] bl sub_8018784 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, =gUnknown_082F015C ldm r1!, {r3,r4,r6} @@ -22297,7 +22297,7 @@ _08014E4E: beq _08014EF2 adds r0, r4, 0 bl DestroyTask - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x5 strh r0, [r1] b _08014EF2 @@ -22386,7 +22386,7 @@ sub_8014EFC: @ 8014EFC strb r2, [r1, 0x9] subs r4, 0x15 strb r4, [r1, 0x12] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r2, [r0] pop {r4} pop {r0} @@ -22437,7 +22437,7 @@ _08014FA4: movs r2, 0 bl sub_8010F84 bl sub_800B488 - bl sub_8009734 + bl OpenLink bl sub_8011C5C movs r0, 0x70 bl AllocZeroed @@ -22503,7 +22503,7 @@ _08014FE8: strb r0, [r7, 0xD] ldrb r0, [r7, 0xB] bl sub_8018784 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, =gUnknown_082F0204 ldm r1!, {r3-r5} @@ -22551,7 +22551,7 @@ _080150CE: b _080152A0 _080150D6: ldrb r0, [r7, 0xE] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r2, r0, 0 ldr r0, =gMain ldrh r1, [r0, 0x2E] @@ -22727,7 +22727,7 @@ _0801526A: adds r0, r6, 0 bl DestroyTask bl sub_800EDD4 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x5 strh r0, [r1] b _080152A0 @@ -22775,7 +22775,7 @@ sub_80152A8: @ 80152A8 strb r2, [r1, 0x9] subs r4, 0x15 strb r4, [r1, 0x12] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r2, [r0] pop {r4} pop {r0} @@ -22825,7 +22825,7 @@ _08015358: movs r2, 0 bl sub_8010F84 bl sub_800B488 - bl sub_8009734 + bl OpenLink bl sub_8011C5C movs r0, 0x70 bl AllocZeroed @@ -22876,7 +22876,7 @@ _08015398: strb r0, [r5, 0xB] ldrb r0, [r5, 0xB] bl sub_8018784 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, =gUnknown_082F0204 ldm r1!, {r3,r4,r6} @@ -22922,7 +22922,7 @@ _08015446: cmp r0, 0 beq _08015452 ldrb r0, [r5, 0xE] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId _08015452: ldrb r0, [r5, 0x14] cmp r0, 0x78 @@ -23099,7 +23099,7 @@ _080155C2: adds r0, r4, 0 bl DestroyTask bl sub_800EDD4 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x5 strh r0, [r1] b _08015604 @@ -23143,7 +23143,7 @@ UnionRoomSpecial: @ 801560C strb r1, [r0, 0x16] strh r1, [r0, 0x10] strh r1, [r0, 0x12] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] movs r0, 0xD0 movs r1, 0x1 @@ -23375,7 +23375,7 @@ _08015878: ldrh r2, [r2, 0xC] bl sub_8010FCC bl sub_800B488 - bl sub_8009734 + bl OpenLink bl sub_8011C84 ldr r0, [r6, 0x8] movs r1, 0x1 @@ -23386,7 +23386,7 @@ _08015878: ldr r0, [r6, 0xC] movs r1, 0x4 bl sub_80175EC - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] movs r0, 0x3 @@ -23408,7 +23408,7 @@ _080158E0: ldrh r0, [r4] cmp r0, 0 beq _080159A0 - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r5, r0, 24 ldrh r0, [r4] @@ -23436,7 +23436,7 @@ _08015900: b _0801598E .pool _0801592C: - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 adds r1, r4, 0 @@ -23470,7 +23470,7 @@ _0801596C: ldr r1, =gUnknown_02022C2C movs r0, 0x44 strb r0, [r1] - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 adds r1, r4, 0 @@ -23488,7 +23488,7 @@ _080159A0: movs r0, 0x4 bl _08016876 _080159A6: - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result ldrh r0, [r4] cmp r0, 0 beq _08015A0A @@ -23722,7 +23722,7 @@ _08015BBE: bne _08015BCA bl _08016878 _08015BCA: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer movs r1, 0x1 bl sub_80143E4 ldr r0, =sub_80140E0 @@ -24249,7 +24249,7 @@ _080160DA: bne _080160E4 b _08016878 _080160E4: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer movs r1, 0x1 bl sub_80143E4 ldr r0, =sub_80140E0 @@ -25071,7 +25071,7 @@ var_800D_set_xB: @ 8016884 bl InUnionRoom cmp r0, 0x1 bne _08016894 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0xB strh r0, [r1] _08016894: @@ -25084,7 +25084,7 @@ _08016894: sub_801689C: @ 801689C push {r4,r5,lr} adds r2, r0, 0 - ldr r3, =gUnknown_03003090 + ldr r3, =gRecvCmds ldrh r5, [r3, 0x12] adds r4, r5, 0 cmp r4, 0 @@ -25225,7 +25225,7 @@ _080169BE: movs r2, 0 bl sub_8010F84 bl sub_800B488 - bl sub_8009734 + bl OpenLink bl sub_8011C84 movs r0, 0x1 bl sub_80111B0 @@ -26038,7 +26038,7 @@ sub_8017020: @ 8017020 bl sub_81973A4 movs r0, 0 movs r1, 0x1 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame ldr r0, =gStringVar4 adds r1, r4, 0 bl StringExpandPlaceholders @@ -26083,7 +26083,7 @@ _08017076: bl sub_81973A4 movs r0, 0 movs r1, 0x1 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame ldr r0, =gStringVar4 adds r1, r5, 0 bl StringExpandPlaceholders @@ -26144,7 +26144,7 @@ _080170E0: negs r0, r0 b _08017110 _080170F2: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 movs r2, 0x80 @@ -26175,7 +26175,7 @@ sub_8017118: @ 8017118 lsrs r4, 24 adds r0, r4, 0 movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame adds r0, r4, 0 movs r1, 0xFF bl FillWindowPixelBuffer @@ -26271,8 +26271,8 @@ _080171DC: strb r0, [r5] ldrb r0, [r5] movs r1, 0 - bl sub_81973FC - ldr r0, =gUnknown_03006310 + bl NewMenuHelpers_DrawStdWindowFrame + ldr r0, =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, [sp, 0x24] ldm r1!, {r3,r4,r6} @@ -26297,7 +26297,7 @@ _080171DC: _08017228: mov r3, r9 ldrb r0, [r3] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId mov r8, r0 ldr r0, =gMain ldrh r1, [r0, 0x2E] @@ -26384,8 +26384,8 @@ _080172C8: strb r0, [r6] ldrb r0, [r6] movs r1, 0 - bl sub_81973FC - ldr r0, =gUnknown_03006310 + bl NewMenuHelpers_DrawStdWindowFrame + ldr r0, =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, [sp, 0x24] ldm r1!, {r3,r4,r7} @@ -26413,7 +26413,7 @@ _08017314: _0801731C: mov r3, r10 ldrb r0, [r3] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r1, r0, 0 ldr r0, =gMain ldrh r2, [r0, 0x2E] @@ -28009,14 +28009,14 @@ _08017F8A: lsls r0, r4, 24 lsrs r0, 24 adds r1, r5, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI adds r5, 0x10 adds r4, 0x1 cmp r4, 0x3 ble _08017F8A ldr r1, =gUnknown_082EE47C adds r0, r7, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders b _08017FB4 .pool _08017FAC: @@ -28047,7 +28047,7 @@ _08017FC6: sub_8017FD8: @ 8017FD8 push {lr} adds r2, r0, 0 - ldr r0, =gUnknown_03003090 + ldr r0, =gRecvCmds ldrh r1, [r0, 0x2] cmp r1, 0 beq _08017FFC @@ -28381,7 +28381,7 @@ sub_8018220: @ 8018220 ldr r0, =gUnknown_02039B58 adds r1, r0 mov r8, r1 - bl sub_81AFBF0 + bl UnkTextUtil_Reset mov r6, r9 adds r6, 0xC0 bl sub_8068BB0 @@ -28395,11 +28395,11 @@ sub_8018220: @ 8018220 bl StringCopy movs r0, 0 adds r1, r6, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI mov r1, r8 adds r1, 0x30 movs r0, 0x1 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI movs r4, 0xBA lsls r4, 1 add r4, r9 @@ -28413,7 +28413,7 @@ sub_8018220: @ 8018220 bl StringCopy movs r0, 0x2 adds r1, r4, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI mov r5, r9 adds r5, 0xDE mov r0, r8 @@ -28424,7 +28424,7 @@ sub_8018220: @ 8018220 bl ConvertIntToDecimalStringN movs r0, 0x3 adds r1, r5, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI movs r2, 0xED add r2, r9 mov r10, r2 @@ -28444,16 +28444,16 @@ sub_8018220: @ 8018220 bl ConvertIntToDecimalStringN movs r0, 0x4 mov r1, r10 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI movs r0, 0x5 adds r1, r4, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI movs r4, 0xD2 lsls r4, 1 add r4, r9 ldr r1, =gUnknown_082EFF64 adds r0, r4, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders ldr r0, =gStringVar4 adds r1, r4, 0 bl StringCopy @@ -28470,7 +28470,7 @@ _0801830C: bl ConvertIntToDecimalStringN movs r0, 0 adds r1, r6, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI mov r2, r8 ldrh r1, [r2, 0x16] cmp r1, r4 @@ -28485,7 +28485,7 @@ _08018328: bl ConvertIntToDecimalStringN movs r0, 0x2 adds r1, r4, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI mov r0, r8 ldrh r1, [r0, 0x20] adds r0, r5, 0 @@ -28494,7 +28494,7 @@ _08018328: bl ConvertIntToDecimalStringN movs r0, 0x3 adds r1, r5, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI movs r7, 0 movs r6, 0x80 lsls r6, 19 @@ -28507,7 +28507,7 @@ _08018360: bl CopyEasyChatWord lsrs r0, r6, 24 adds r1, r4, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI movs r2, 0x80 lsls r2, 17 adds r6, r2 @@ -28521,7 +28521,7 @@ _08018360: add r4, r9 ldr r1, =gUnknown_082EFFA4 adds r0, r4, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders ldr r5, =gStringVar4 adds r0, r5, 0 adds r1, r4, 0 @@ -28531,7 +28531,7 @@ _08018360: bne _080183D0 ldr r1, =gUnknown_082F0020 adds r0, r4, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders adds r0, r5, 0 adds r1, r4, 0 bl StringAppend @@ -28548,7 +28548,7 @@ _080183D0: adds r1, r0 ldr r1, [r1] adds r0, r4, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders adds r0, r5, 0 adds r1, r4, 0 bl StringAppend @@ -28639,7 +28639,7 @@ _08018482: bl ResetSpriteData bl FreeAllSpritePalettes bl ResetTasks - bl remove_some_task + bl ScanlineEffect_Stop movs r0, 0 bl ResetBgsAndClearDma3BusyFlags ldr r1, =gUnknown_082F0598 @@ -28869,7 +28869,7 @@ sub_80186A4: @ 80186A4 movs r0, 0x3 bl GetBgTilemapBuffer bl Free - ldr r0, =c2_title_screen_1 + ldr r0, =CB2_InitTitleScreen bl SetMainCallback2 pop {r0} bx r0 @@ -28913,7 +28913,7 @@ _08018720: movs r1, 0x1 movs r2, 0x4 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 movs r0, 0 adds r1, r7, 0 movs r2, 0xDE @@ -28929,7 +28929,7 @@ _08018720: movs r0, 0 movs r1, 0 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 movs r0, 0 movs r1, 0x2 bl CopyWindowToVram @@ -29101,7 +29101,7 @@ sub_8018884: @ 8018884 movs r1, 0x1 movs r2, 0 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 movs r0, 0x1 movs r1, 0x1 movs r2, 0xF @@ -29454,7 +29454,7 @@ _08018B4A: str r1, [sp, 0x10] movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 ldrb r0, [r4] movs r1, 0x1 movs r2, 0xF @@ -29502,7 +29502,7 @@ _08018BD6: b _08018C3E .pool _08018BE4: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r6, r0, 24 movs r1, 0x80 @@ -29600,7 +29600,7 @@ _08018C8C: str r1, [sp, 0x10] movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 ldrb r0, [r5] movs r1, 0x1 movs r2, 0xF @@ -30493,7 +30493,7 @@ _0801940C: b _08019922 .pool _0801942C: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0x5 beq _08019436 @@ -30994,7 +30994,7 @@ _080197F8: b _08019922 .pool _08019810: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0x5 beq _0801981A @@ -31100,7 +31100,7 @@ _080198FE: b _08019922 .pool _0801990C: - bl sub_80097E8 + bl CloseLink ldr r0, [r5, 0x10] bl Free adds r0, r4, 0 @@ -31435,7 +31435,7 @@ _08019B84: b _08019B9C _08019B96: adds r0, r4, 0 - bl sub_8097404 + bl FreezeMapObject _08019B9C: movs r0, 0x1 _08019B9E: @@ -32622,7 +32622,7 @@ sub_801A43C: @ 801A43C bl ResetPaletteFade bl ResetSpriteData bl ResetTasks - bl remove_some_task + bl ScanlineEffect_Stop bl m4aSoundVSyncOn ldr r0, =sub_801A418 bl SetVBlankCallback @@ -32661,7 +32661,7 @@ sub_801A43C: @ 801A43C bl LoadPalette movs r0, 0xF0 bl sub_81978B0 - bl sub_81AFBF0 + bl UnkTextUtil_Reset movs r0, 0x20 str r0, [sp] str r0, [sp, 0x4] @@ -33152,7 +33152,7 @@ _0801A93A: adds r0, r7, 0 adds r1, r6, 0 adds r2, r5, 0 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x18 pop {r4-r7} pop {r0} @@ -33473,7 +33473,7 @@ sub_801AB68: @ 801AB68 movs r1, 0x1 adds r2, r6, 0 ldr r3, [sp, 0x14] - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x18 pop {r3-r5} mov r8, r3 @@ -33723,7 +33723,7 @@ _0801AE48: beq _0801AE54 b _0801AFAE _0801AE54: - ldr r4, =gUnknown_020228C4 + ldr r4, =gBlockSendBuffer adds r0, r4, 0 movs r1, 0 movs r2, 0x20 @@ -33740,7 +33740,7 @@ _0801AE78: movs r0, 0x51 _0801AE7A: strb r0, [r4] - ldr r1, =gUnknown_020228C4 + ldr r1, =gBlockSendBuffer movs r0, 0 movs r2, 0x20 bl SendBlock @@ -38870,7 +38870,7 @@ _0801D7D0: ldr r1, [r4, 0x18] movs r2, 0xBC bl memcpy - bl sub_81652B4 + bl ValidateEReaderTrainer b _0801D804 .pool _0801D7F0: @@ -39454,7 +39454,7 @@ _0801DC10: thumb_func_start sub_801DC20 sub_801DC20: @ 801DC20 push {r4-r6,lr} - ldr r6, =gScriptResult + ldr r6, =gSpecialVar_Result bl sub_801B044 adds r4, r0, 0 bl IsMysteryEventEnabled @@ -39839,7 +39839,7 @@ sub_801DF20: @ 801DF20 bl TransferPlttBuffer bl LoadOam bl ProcessSpriteCopyRequests - bl sub_80BA0A8 + bl ScanlineEffect_InitHBlankDmaTransfer pop {r0} bx r0 thumb_func_end sub_801DF20 @@ -41938,10 +41938,10 @@ _0801F020: ldrb r1, [r4, 0x8] cmp r0, r1 beq _0801F0A8 - bl sub_81AFBF0 + bl UnkTextUtil_Reset movs r0, 0 adds r1, r4, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI ldr r1, =gText_F700JoinedChat b _0801F094 .pool @@ -41978,14 +41978,14 @@ _0801F07A: ldrb r5, [r5] cmp r0, r5 beq _0801F0A8 - bl sub_81AFBF0 + bl UnkTextUtil_Reset movs r0, 0 adds r1, r4, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI ldr r1, =gText_F700LeftChat _0801F094: adds r0, r6, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders movs r0, 0x1 b _0801F0AA .pool @@ -42570,7 +42570,7 @@ sub_801F544: @ 801F544 str r0, [r4] _0801F55A: bl FreeAllWindowBuffers - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] pop {r4} @@ -43458,11 +43458,11 @@ sub_801FBF8: @ 801FBF8 beq _0801FC38 b _0801FC42 _0801FC08: - bl sub_81AFBF0 + bl UnkTextUtil_Reset bl sub_801F1D0 adds r1, r0, 0 movs r0, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI movs r0, 0x5 movs r1, 0 bl sub_801FF18 @@ -43619,11 +43619,11 @@ sub_801FD30: @ 801FD30 beq _0801FD74 b _0801FD7E _0801FD40: - bl sub_81AFBF0 + bl UnkTextUtil_Reset ldr r0, =gSaveBlock2Ptr ldr r1, [r0] movs r0, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI movs r0, 0x9 movs r1, 0 bl sub_801FF18 @@ -43927,7 +43927,7 @@ _0801FF98: adds r0, r1, 0 adds r0, 0x22 ldr r1, [r4] - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders ldr r0, [r5] adds r6, r0, 0 adds r6, 0x22 @@ -44697,11 +44697,11 @@ sub_80205B4: @ 80205B4 task_tutorial_story_unknown: @ 8020604 push {r4,r5,lr} sub sp, 0x4 - ldr r0, =gUnknown_08DD4860 + ldr r0, =gLinkMiscMenu_Pal movs r1, 0 movs r2, 0x20 bl LoadPalette - ldr r1, =gUnknown_08DD4880 + ldr r1, =gLinkMiscMenu_Gfx movs r0, 0 str r0, [sp] movs r0, 0x2 @@ -44729,7 +44729,7 @@ task_tutorial_story_unknown: @ 8020604 movs r2, 0x8 bl CpuFastSet _0802064E: - ldr r1, =gUnknown_08DD4AB8 + ldr r1, =gLinkMiscMenu_Tilemap movs r0, 0x2 movs r2, 0 movs r3, 0 @@ -44877,13 +44877,13 @@ sub_8020770: @ 8020770 strh r1, [r0, 0x20] str r1, [sp, 0xC] add r0, sp, 0xC - ldr r1, =gUnknown_02038C28 + ldr r1, =gScanlineEffectRegBuffers ldr r2, =0x010003c0 bl CpuFastSet ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams add sp, 0x10 pop {r0} bx r0 @@ -44898,12 +44898,12 @@ sub_80207C0: @ 80207C0 lsrs r0, 16 mov r1, sp strh r0, [r1] - ldr r5, =gUnknown_02039B28 + ldr r5, =gScanlineEffect ldrb r0, [r5, 0x14] lsls r1, r0, 4 subs r1, r0 lsls r1, 7 - ldr r4, =gUnknown_02038C28 + ldr r4, =gScanlineEffectRegBuffers adds r1, r4 ldr r2, =0x01000090 mov r0, sp @@ -44941,7 +44941,7 @@ sub_8020818: @ 8020818 lsrs r4, 16 mov r0, sp strh r4, [r0] - ldr r5, =gUnknown_02038C28 + ldr r5, =gScanlineEffectRegBuffers ldr r0, =0x01000090 mov r9, r0 mov r0, sp @@ -45607,7 +45607,7 @@ _08020D74: sub_8020D8C: @ 8020D8C push {r4,lr} sub sp, 0xC - ldr r1, =gScriptItemId + ldr r1, =gSpecialVar_ItemId ldrh r0, [r1] subs r0, 0x85 lsls r0, 16 @@ -45628,7 +45628,7 @@ _08020DB0: ldrb r0, [r2, 0x8] lsls r0, 5 adds r0, r2, r0 - ldr r1, =gScriptItemId + ldr r1, =gSpecialVar_ItemId ldrh r1, [r1] subs r1, 0x85 adds r0, 0xA4 @@ -46001,7 +46001,7 @@ _080210A0: movs r0, 0 movs r1, 0 bl SetGpuReg - bl remove_some_task + bl ScanlineEffect_Stop bl reset_temp_tile_data_buffers b _080212FC _080210BE: @@ -46464,7 +46464,7 @@ _080214C6: lsrs r3, 16 ldr r0, =gUnknown_082F436C adds r1, r2, 0 - bl AddItemIconObjectWithCustomObjectTemplate + bl AddCustomItemIconSprite lsls r0, 24 lsrs r0, 24 mov r2, r9 @@ -47206,7 +47206,7 @@ _08021A92: lsls r4, 2 str r4, [sp, 0x24] _08021A98: - bl sub_81AFBF0 + bl UnkTextUtil_Reset ldr r0, [sp, 0x10] cmp r0, 0x1 beq _08021B48 @@ -47465,10 +47465,10 @@ _08021CC8: ldr r0, [sp, 0xC] adds r1, r0, r1 movs r0, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI ldr r0, =gStringVar4 adds r1, r4, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders ldr r1, [sp, 0xC] movs r2, 0xDD lsls r2, 1 @@ -48550,7 +48550,7 @@ _08022616: str r4, [sp, 0x10] movs r1, 0x2 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 b _0802269C .pool _08022668: @@ -48577,7 +48577,7 @@ _08022668: str r4, [sp, 0x10] movs r1, 0x2 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 _0802269C: ldr r1, =0x000001bb adds r0, r6, r1 @@ -49425,7 +49425,7 @@ _08022D38: _08022D42: movs r0, 0 movs r1, 0 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame ldrb r1, [r5, 0x1] movs r0, 0x2 mov r8, r0 @@ -49453,7 +49453,7 @@ _08022D42: movs r0, 0 movs r1, 0x1 adds r2, r4, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized b _08022DB2 .pool _08022D90: @@ -49472,7 +49472,7 @@ _08022D90: str r0, [sp, 0xC] movs r0, 0 movs r1, 0x1 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized _08022DB2: movs r0, 0 movs r1, 0x3 @@ -50251,7 +50251,7 @@ sub_802339C: @ 802339C mov r10, r3 _080233C0: lsls r0, r7, 4 - ldr r1, =gUnknown_03003090 + ldr r1, =gRecvCmds adds r2, r0, r1 ldrh r1, [r2] movs r0, 0xFF @@ -50860,7 +50860,7 @@ sub_802385C: @ 802385C push {r4,r5,lr} adds r5, r0, 0 movs r4, 0 - ldr r3, =gUnknown_03003090 + ldr r3, =gRecvCmds ldrb r0, [r5, 0x9] cmp r4, r0 bcs _08023880 @@ -52023,8 +52023,8 @@ _080241A6: beq _0802421E movs r0, 0 movs r1, 0 - bl sub_81973C4 - ldr r2, =gUnknown_082C8959 + bl NewMenuHelpers_DrawDialogueFrame + ldr r2, =gText_SavingDontTurnOffPower movs r0, 0 str r0, [sp] movs r0, 0x2 @@ -52036,7 +52036,7 @@ _080241A6: movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -52114,7 +52114,7 @@ _0802426A: bl sub_8197930 b _080242D0 _08024270: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r4, r0, 24 movs r0, 0x2 @@ -52380,7 +52380,7 @@ _0802445A: _08024460: movs r0, 0 movs r1, 0 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame ldrh r1, [r5, 0x14] cmp r1, 0x3 bne _08024490 @@ -52395,7 +52395,7 @@ _08024460: str r1, [sp, 0xC] movs r0, 0 movs r1, 0x1 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized b _080244AC .pool _08024490: @@ -52411,7 +52411,7 @@ _08024490: str r0, [sp, 0xC] movs r0, 0 movs r1, 0x1 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized _080244AC: movs r0, 0 movs r1, 0x3 @@ -52674,8 +52674,8 @@ SetBerryPowder: @ 802467C .pool thumb_func_end SetBerryPowder - thumb_func_start ApplyNewEncyprtionKeyToBerryPowder -ApplyNewEncyprtionKeyToBerryPowder: @ 8024690 + thumb_func_start ApplyNewEncryptionKeyToBerryPowder +ApplyNewEncryptionKeyToBerryPowder: @ 8024690 push {lr} adds r1, r0, 0 ldr r0, =gSaveBlock2Ptr @@ -52683,11 +52683,11 @@ ApplyNewEncyprtionKeyToBerryPowder: @ 8024690 movs r2, 0xFA lsls r2, 1 adds r0, r2 - bl ApplyNewEncyprtionKeyToWord + bl ApplyNewEncryptionKeyToWord pop {r0} bx r0 .pool - thumb_func_end ApplyNewEncyprtionKeyToBerryPowder + thumb_func_end ApplyNewEncryptionKeyToBerryPowder thumb_func_start sub_80246AC sub_80246AC: @ 80246AC @@ -59192,7 +59192,7 @@ sub_8027A48: @ 8027A48 sub_8027A5C: @ 8027A5C push {r4-r6,lr} movs r5, 0 - ldr r6, =gScriptResult + ldr r6, =gSpecialVar_Result _08027A62: movs r0, 0x64 adds r1, r5, 0 @@ -59217,7 +59217,7 @@ _08027A94: adds r5, 0x1 cmp r5, 0x5 ble _08027A62 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] _08027AA0: @@ -59628,7 +59628,7 @@ sub_8027DD0: @ 8027DD0 sub_8027DFC: @ 8027DFC push {lr} adds r2, r0, 0 - ldr r3, =gUnknown_03003090 + ldr r3, =gRecvCmds ldrh r0, [r3] movs r1, 0xFF lsls r1, 8 @@ -60084,7 +60084,7 @@ sub_8028164: @ 8028164 mov r9, r0 adds r2, r7, 0 adds r2, 0x14 - ldr r4, =gUnknown_03003090 + ldr r4, =gRecvCmds ldrh r0, [r4] movs r1, 0xFF lsls r1, 8 @@ -60297,7 +60297,7 @@ sub_8028318: @ 8028318 push {r4,lr} adds r2, r0, 0 adds r4, r1, 0 - ldr r3, =gUnknown_03003090 + ldr r3, =gRecvCmds ldrh r0, [r3] movs r1, 0xFF lsls r1, 8 @@ -60349,7 +60349,7 @@ sub_8028350: @ 8028350 sub_8028374: @ 8028374 push {lr} adds r2, r0, 0 - ldr r3, =gUnknown_03003090 + ldr r3, =gRecvCmds ldrh r0, [r3] movs r1, 0xFF lsls r1, 8 @@ -61953,7 +61953,7 @@ sub_8028FF8: @ 8028FF8 lsls r4, 24 lsrs r4, 24 adds r0, r4, 0 - bl sub_8098758 + bl GetWindowFrameTilesPal ldr r1, [r0] movs r2, 0x90 lsls r2, 1 @@ -61961,7 +61961,7 @@ sub_8028FF8: @ 8028FF8 movs r3, 0x1 bl LoadBgTiles adds r0, r4, 0 - bl sub_8098758 + bl GetWindowFrameTilesPal ldr r0, [r0, 0x4] movs r1, 0xA0 movs r2, 0x20 @@ -63516,7 +63516,7 @@ _08029DA0: movs r1, 0x1 adds r2, r5, 0 bl PrintTextOnWindow - bl sub_81AFBF0 + bl UnkTextUtil_Reset bl sub_802762C lsls r0, 16 lsrs r0, 16 @@ -63525,11 +63525,11 @@ _08029DA0: bl CopyItemName movs r0, 0 adds r1, r5, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI ldr r7, =gStringVar4 ldr r1, =gText_FirstPlacePrize adds r0, r7, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders ldr r0, [r4] add r0, r10 ldrb r0, [r0] @@ -63550,7 +63550,7 @@ _08029DA0: beq _08029EC8 cmp r4, 0x3 beq _08029EC8 - bl sub_81AFBF0 + bl UnkTextUtil_Reset bl sub_802762C lsls r0, 16 lsrs r0, 16 @@ -63558,12 +63558,12 @@ _08029DA0: bl CopyItemName movs r0, 0 adds r1, r5, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI cmp r4, 0x2 bne _08029E9C ldr r1, =gText_CantHoldAnyMore adds r0, r7, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders b _08029EA8 .pool _08029E9C: @@ -63571,7 +63571,7 @@ _08029E9C: bne _08029EA8 ldr r1, =gText_FilledStorageSpace adds r0, r7, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders _08029EA8: ldr r0, =gUnknown_02022CF8 ldr r0, [r0] @@ -64113,8 +64113,8 @@ _0802A3A4: _0802A3AE: movs r0, 0 movs r1, 0 - bl sub_81973C4 - ldr r2, =gUnknown_082C8959 + bl NewMenuHelpers_DrawDialogueFrame + ldr r2, =gText_SavingDontTurnOffPower str r4, [sp] movs r0, 0x2 str r0, [sp, 0x4] @@ -64125,7 +64125,7 @@ _0802A3AE: movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized b _0802A410 .pool _0802A3D8: @@ -68864,7 +68864,7 @@ _0802C924: bl sub_802C908 cmp r0, 0 beq _0802C95C - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 b _0802C966 .pool @@ -68872,7 +68872,7 @@ _0802C95C: adds r5, 0x1 cmp r5, 0x5 ble _0802C924 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 _0802C966: strh r0, [r1] @@ -69006,7 +69006,7 @@ _0802CA32: ldrh r0, [r7] ldr r1, [r7, 0x4] ldr r2, [r7, 0x8] - bl species_and_otid_get_pal + bl GetFrontSpritePalFromSpeciesAndPersonality str r0, [sp, 0x20] add r0, sp, 0x20 ldr r1, [r0, 0x4] @@ -70357,7 +70357,7 @@ _0802D516: strh r0, [r1, 0x12] lsls r0, 24 lsrs r0, 24 - ldr r2, =gUnknown_082C8959 + ldr r2, =gText_SavingDontTurnOffPower movs r1, 0x1 str r1, [sp] movs r1, 0xFF @@ -70731,19 +70731,19 @@ sub_802D7E8: @ 802D7E8 movs r2, 0 movs r3, 0x1 bl ConvertIntToDecimalStringN - bl sub_81AFBF0 + bl UnkTextUtil_Reset ldr r1, [r5] adds r1, 0x26 movs r0, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI ldr r1, [r5] adds r1, 0x66 movs r0, 0x1 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI ldr r0, [r5] adds r0, 0xA6 ldr r1, =gText_AwesomeWonF701F700 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders movs r0, 0x4 movs r1, 0x8 movs r2, 0x16 @@ -70788,15 +70788,15 @@ sub_802D884: @ 802D884 ldr r1, [r4] adds r1, 0x26 bl CopyItemName - bl sub_81AFBF0 + bl UnkTextUtil_Reset ldr r1, [r4] adds r1, 0x26 movs r0, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI ldr r0, [r4] adds r0, 0xA6 ldr r1, =gText_FilledStorageSpace2 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders movs r0, 0x4 movs r1, 0x8 movs r2, 0x16 @@ -70841,15 +70841,15 @@ sub_802D8FC: @ 802D8FC ldr r1, [r4] adds r1, 0x26 bl CopyItemName - bl sub_81AFBF0 + bl UnkTextUtil_Reset ldr r1, [r4] adds r1, 0x26 movs r0, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI ldr r0, [r4] adds r0, 0xA6 ldr r1, =gText_CantHoldMore - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders movs r0, 0x4 movs r1, 0x9 movs r2, 0x16 @@ -71035,7 +71035,7 @@ _0802DA84: thumb_func_start sub_802DA8C sub_802DA8C: @ 802DA8C push {lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r0, 24 pop {r1} @@ -71821,7 +71821,7 @@ sub_802E0D0: @ 802E0D0 push {r4,lr} sub sp, 0xC adds r4, r1, 0 - ldr r3, =gUnknown_03003090 + ldr r3, =gRecvCmds lsls r2, r0, 4 adds r0, r2, r3 ldrh r1, [r0] @@ -71948,7 +71948,7 @@ sub_802E1BC: @ 802E1BC sub sp, 0xC adds r5, r0, 0 adds r4, r1, 0 - ldr r2, =gUnknown_03003090 + ldr r2, =gRecvCmds ldrh r0, [r2] movs r1, 0xFF lsls r1, 8 @@ -72038,7 +72038,7 @@ sub_802E264: @ 802E264 adds r4, r0, 0 adds r5, r2, 0 adds r6, r3, 0 - ldr r3, =gUnknown_03003090 + ldr r3, =gRecvCmds lsls r2, r1, 4 adds r0, r2, r3 ldrh r1, [r0] @@ -72093,7 +72093,7 @@ sub_802E2D0: @ 802E2D0 push {r4,lr} sub sp, 0xC adds r4, r0, 0 - ldr r3, =gUnknown_03003090 + ldr r3, =gRecvCmds lsls r2, r1, 4 adds r0, r2, r3 ldrh r1, [r0] @@ -73087,7 +73087,7 @@ sub_802EAB0: @ 802EAB0 ldrb r0, [r0] cmp r0, 0 beq _0802EB14 - ldr r1, =gUnknown_03003090 + ldr r1, =gRecvCmds ldrh r0, [r1, 0x2] ldr r5, =0x00007fff cmp r0, r5 diff --git a/asm/list_menu.s b/asm/list_menu.s old mode 100755 new mode 100644 index 5e6da159e6..58719093c8 --- a/asm/list_menu.s +++ b/asm/list_menu.s @@ -64,7 +64,7 @@ _081AE4B0: ldr r1, [sp, 0x4] bl sub_8098858 _081AE4C0: - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, [sp] ldm r1!, {r3-r5} @@ -87,7 +87,7 @@ _081AE4C0: .pool _081AE4F4: ldrb r0, [r5, 0x6] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId str r0, [r5] ldr r1, =gMain ldrh r0, [r1, 0x2E] @@ -227,9 +227,9 @@ _081AE5F0: bx r1 thumb_func_end Unused_ListMenuInit2 - thumb_func_start ListMenuHandleInput -@ int ListMenuHandleInput(u8 taskId) -ListMenuHandleInput: @ 81AE604 + thumb_func_start ListMenuHandleInputGetItemId +@ int ListMenuHandleInputGetItemId(u8 taskId) +ListMenuHandleInputGetItemId: @ 81AE604 push {lr} lsls r0, 24 lsrs r0, 24 @@ -337,7 +337,7 @@ _081AE6BE: _081AE6C2: pop {r1} bx r1 - thumb_func_end ListMenuHandleInput + thumb_func_end ListMenuHandleInputGetItemId thumb_func_start sub_81AE6C8 sub_81AE6C8: @ 81AE6C8 @@ -557,8 +557,8 @@ _081AE856: .pool thumb_func_end sub_81AE838 - thumb_func_start get_coro_args_x18_x1A -get_coro_args_x18_x1A: @ 81AE860 + thumb_func_start sub_81AE860 +sub_81AE860: @ 81AE860 push {lr} adds r3, r1, 0 lsls r0, 24 @@ -581,7 +581,7 @@ _081AE882: pop {r0} bx r0 .pool - thumb_func_end get_coro_args_x18_x1A + thumb_func_end sub_81AE860 thumb_func_start ListMenuGetYCoordForPrintingArrowCursor @ u8 ListMenuGetYCoordForPrintingArrowCursor(u8 taskId) @@ -773,7 +773,7 @@ ListMenuPrint: @ 81AE9B4 str r6, [sp, 0x10] adds r2, r7, 0 mov r3, r12 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 ldrb r1, [r5, 0x3] movs r0, 0x7F ands r0, r1 @@ -810,7 +810,7 @@ _081AEA20: str r6, [sp, 0x10] adds r2, r7, 0 mov r3, r12 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 _081AEA5E: add sp, 0x18 pop {r4-r7} diff --git a/asm/load_save.s b/asm/load_save.s deleted file mode 100644 index 2b4be8e67f..0000000000 --- a/asm/load_save.s +++ /dev/null @@ -1,669 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start MoveSaveBlocks_ResetHeap -MoveSaveBlocks_ResetHeap: @ 8076C2C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r5, =gMain - ldr r0, [r5, 0xC] - str r0, [sp] - ldr r1, [r5, 0x10] - str r1, [sp, 0x4] - movs r0, 0 - str r0, [r5, 0xC] - str r0, [r5, 0x10] - ldr r1, =gUnknown_0203CF5C - str r0, [r1] - ldr r4, =0x02000000 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldr r6, =0x00000f2c - adds r0, r4, 0 - adds r2, r6, 0 - bl memcpy - ldr r1, =gSaveBlock1Ptr - mov r10, r1 - ldr r1, [r1] - ldr r7, =0x00003d88 - ldr r0, =0x02000f2c - adds r2, r7, 0 - bl memcpy - ldr r0, =gPokemonStoragePtr - mov r8, r0 - ldr r1, [r0] - ldr r0, =0x000083d0 - mov r9, r0 - ldr r0, =0x02004cb4 - mov r2, r9 - bl memcpy - ldrb r1, [r4, 0xA] - ldrb r0, [r4, 0xB] - adds r1, r0 - ldrb r0, [r4, 0xC] - adds r1, r0 - ldrb r0, [r4, 0xD] - adds r0, r1 - bl SetSaveBlocksPointers - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - adds r1, r4, 0 - adds r2, r6, 0 - bl memcpy - mov r1, r10 - ldr r0, [r1] - ldr r1, =0x02000f2c - adds r2, r7, 0 - bl memcpy - mov r1, r8 - ldr r0, [r1] - ldr r1, =0x02004cb4 - mov r2, r9 - bl memcpy - movs r1, 0xE0 - lsls r1, 9 - adds r0, r4, 0 - bl InitHeap - ldr r0, [sp, 0x4] - str r0, [r5, 0x10] - ldr r1, [sp] - str r1, [r5, 0xC] - bl Random - adds r4, r0, 0 - bl Random - lsls r4, 16 - lsls r0, 16 - lsrs r0, 16 - adds r4, r0 - adds r0, r4, 0 - bl ApplyNewEncyprtionKeyToAllEncryptedData - ldr r1, =gSaveBlock2Ptr - ldr r0, [r1] - adds r0, 0xAC - str r4, [r0] - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end MoveSaveBlocks_ResetHeap - - thumb_func_start sav2_x1_query_bit1 -sav2_x1_query_bit1: @ 8076D24 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - bx lr - .pool - thumb_func_end sav2_x1_query_bit1 - - thumb_func_start sav2_x9_clear_bit1 -sav2_x9_clear_bit1: @ 8076D34 - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldrb r1, [r2, 0x9] - movs r0, 0xFE - ands r0, r1 - strb r0, [r2, 0x9] - bx lr - .pool - thumb_func_end sav2_x9_clear_bit1 - - thumb_func_start sub_8076D48 -sub_8076D48: @ 8076D48 - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldrb r1, [r2, 0x9] - movs r0, 0x1 - orrs r0, r1 - strb r0, [r2, 0x9] - bx lr - .pool - thumb_func_end sub_8076D48 - - thumb_func_start sub_8076D5C -sub_8076D5C: @ 8076D5C - push {lr} - movs r0, 0 - bl sub_8084FAC - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldrb r1, [r2, 0x9] - movs r0, 0x1 - orrs r0, r1 - strb r0, [r2, 0x9] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8076D5C - - thumb_func_start sav2_gender2_inplace_and_xFE -sav2_gender2_inplace_and_xFE: @ 8076D78 - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldrb r1, [r2, 0x9] - movs r0, 0xFE - ands r0, r1 - strb r0, [r2, 0x9] - bx lr - .pool - thumb_func_end sav2_gender2_inplace_and_xFE - - thumb_func_start copy_player_party_to_sav1 -@ void copy_player_party_to_sav1() -copy_player_party_to_sav1: @ 8076D8C - push {r4,lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =gPlayerPartyCount - ldrb r1, [r1] - movs r2, 0x8D - lsls r2, 2 - adds r0, r2 - strb r1, [r0] - movs r4, 0 -_08076DA0: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x64 - muls r1, r4 - adds r0, r1 - movs r2, 0x8E - lsls r2, 2 - adds r0, r2 - ldr r2, =gPlayerParty - adds r1, r2 - movs r2, 0x64 - bl memcpy - adds r4, 0x1 - cmp r4, 0x5 - ble _08076DA0 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end copy_player_party_to_sav1 - - thumb_func_start copy_player_party_from_sav1 -copy_player_party_from_sav1: @ 8076DD4 - push {r4,r5,lr} - ldr r1, =gPlayerPartyCount - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r2, 0x8D - lsls r2, 2 - adds r0, r2 - ldrb r0, [r0] - strb r0, [r1] - movs r4, 0 - ldr r5, =gPlayerParty -_08076DEA: - movs r0, 0x64 - adds r2, r4, 0 - muls r2, r0 - adds r0, r2, r5 - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - adds r1, r2 - movs r2, 0x8E - lsls r2, 2 - adds r1, r2 - movs r2, 0x64 - bl memcpy - adds r4, 0x1 - cmp r4, 0x5 - ble _08076DEA - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end copy_player_party_from_sav1 - - thumb_func_start save_serialize_npcs -save_serialize_npcs: @ 8076E1C - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, =gSaveBlock1Ptr - mov r12, r0 - movs r5, 0xA3 - lsls r5, 4 - mov r8, r5 - ldr r4, =gMapObjects - movs r3, 0 - movs r2, 0xF -_08076E32: - mov r6, r12 - ldr r1, [r6] - adds r1, r3 - add r1, r8 - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r4, 0x24 - adds r3, 0x24 - subs r2, 0x1 - cmp r2, 0 - bge _08076E32 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end save_serialize_npcs - - thumb_func_start save_deserialize_npcs -save_deserialize_npcs: @ 8076E64 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, =gSaveBlock1Ptr - mov r12, r0 - movs r5, 0xA3 - lsls r5, 4 - mov r8, r5 - ldr r4, =gMapObjects - movs r3, 0 - movs r2, 0xF -_08076E7A: - mov r6, r12 - ldr r1, [r6] - adds r1, r3 - adds r0, r4, 0 - add r1, r8 - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - adds r4, 0x24 - adds r3, 0x24 - subs r2, 0x1 - cmp r2, 0 - bge _08076E7A - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end save_deserialize_npcs - - thumb_func_start SaveSerializedGame -SaveSerializedGame: @ 8076EAC - push {lr} - bl copy_player_party_to_sav1 - bl save_serialize_npcs - pop {r0} - bx r0 - thumb_func_end SaveSerializedGame - - thumb_func_start LoadSerializedGame -LoadSerializedGame: @ 8076EBC - push {lr} - bl copy_player_party_from_sav1 - bl save_deserialize_npcs - pop {r0} - bx r0 - thumb_func_end LoadSerializedGame - - thumb_func_start copy_bags_and_unk_data_from_save_blocks -copy_bags_and_unk_data_from_save_blocks: @ 8076ECC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r2, 0 - ldr r0, =gUnknown_02032180 - mov r12, r0 - ldr r1, =gSaveBlock2Ptr - mov r10, r1 - ldr r5, =gSaveBlock1Ptr - movs r3, 0xAC - lsls r3, 3 - ldr r4, =gUnknown_02031C58 -_08076EE8: - lsls r0, r2, 2 - ldr r1, [r5] - adds r1, r3 - adds r1, r0 - ldr r0, [r1] - stm r4!, {r0} - adds r2, 0x1 - cmp r2, 0x1D - ble _08076EE8 - movs r2, 0 - ldr r0, =gUnknown_02031C58 - ldr r5, =gSaveBlock1Ptr - movs r3, 0xBB - lsls r3, 3 - adds r4, r0, 0 - adds r4, 0x78 -_08076F08: - lsls r0, r2, 2 - ldr r1, [r5] - adds r1, r3 - adds r1, r0 - ldr r0, [r1] - stm r4!, {r0} - adds r2, 0x1 - cmp r2, 0x1D - ble _08076F08 - movs r2, 0 - ldr r0, =gUnknown_02031C58 - ldr r5, =gSaveBlock1Ptr - movs r3, 0xCA - lsls r3, 3 - adds r4, r0, 0 - adds r4, 0xF0 -_08076F28: - lsls r0, r2, 2 - ldr r1, [r5] - adds r1, r3 - adds r1, r0 - ldr r0, [r1] - stm r4!, {r0} - adds r2, 0x1 - cmp r2, 0xF - ble _08076F28 - movs r2, 0 - ldr r0, =gUnknown_02031C58 - ldr r5, =gSaveBlock1Ptr - movs r6, 0x98 - lsls r6, 1 - adds r4, r0, r6 - movs r3, 0xD2 - lsls r3, 3 -_08076F4A: - lsls r0, r2, 2 - ldr r1, [r5] - adds r1, r3 - adds r1, r0 - ldr r0, [r1] - stm r4!, {r0} - adds r2, 0x1 - cmp r2, 0x3F - ble _08076F4A - movs r2, 0 - ldr r0, =gUnknown_02031C58 - ldr r5, =gSaveBlock1Ptr - movs r7, 0x8C - lsls r7, 2 - adds r4, r0, r7 - movs r3, 0xF2 - lsls r3, 3 -_08076F6C: - lsls r0, r2, 2 - ldr r1, [r5] - adds r1, r3 - adds r1, r0 - ldr r0, [r1] - stm r4!, {r0} - adds r2, 0x1 - cmp r2, 0x2D - ble _08076F6C - ldr r0, =gUnknown_02031C58 - ldr r1, =gSaveBlock1Ptr - mov r8, r1 - movs r5, 0xBA - lsls r5, 2 - adds r4, r0, r5 - movs r3, 0 - ldr r6, =0x00002be0 - mov r9, r6 - movs r2, 0xF -_08076F92: - mov r7, r8 - ldr r1, [r7] - adds r1, r3 - adds r0, r4, 0 - add r1, r9 - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - adds r4, 0x24 - adds r3, 0x24 - subs r2, 0x1 - cmp r2, 0 - bge _08076F92 - mov r1, r10 - ldr r0, [r1] - adds r0, 0xAC - ldr r0, [r0] - mov r5, r12 - str r0, [r5] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end copy_bags_and_unk_data_from_save_blocks - - thumb_func_start copy_bags_and_unk_data_to_save_blocks -copy_bags_and_unk_data_to_save_blocks: @ 8076FE0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r2, 0 - ldr r0, =gSaveBlock2Ptr - mov r8, r0 - ldr r1, =gUnknown_02032180 - mov r12, r1 - ldr r5, =gSaveBlock1Ptr - movs r3, 0xAC - lsls r3, 3 - ldr r4, =gUnknown_02031C58 -_08076FFC: - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r3 - adds r0, r1 - ldm r4!, {r1} - str r1, [r0] - adds r2, 0x1 - cmp r2, 0x1D - ble _08076FFC - movs r2, 0 - ldr r5, =gSaveBlock1Ptr - movs r4, 0xBB - lsls r4, 3 - ldr r0, =gUnknown_02031C58 - adds r3, r0, 0 - adds r3, 0x78 -_0807701C: - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r4 - adds r0, r1 - ldm r3!, {r1} - str r1, [r0] - adds r2, 0x1 - cmp r2, 0x1D - ble _0807701C - movs r2, 0 - ldr r5, =gSaveBlock1Ptr - movs r4, 0xCA - lsls r4, 3 - ldr r0, =gUnknown_02031C58 - adds r3, r0, 0 - adds r3, 0xF0 -_0807703C: - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r4 - adds r0, r1 - ldm r3!, {r1} - str r1, [r0] - adds r2, 0x1 - cmp r2, 0xF - ble _0807703C - movs r2, 0 - ldr r5, =gSaveBlock1Ptr - movs r4, 0xD2 - lsls r4, 3 - ldr r0, =gUnknown_02031C58 - movs r6, 0x98 - lsls r6, 1 - adds r3, r0, r6 -_0807705E: - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r4 - adds r0, r1 - ldm r3!, {r1} - str r1, [r0] - adds r2, 0x1 - cmp r2, 0x3F - ble _0807705E - movs r2, 0 - ldr r5, =gSaveBlock1Ptr - movs r4, 0xF2 - lsls r4, 3 - ldr r0, =gUnknown_02031C58 - movs r7, 0x8C - lsls r7, 2 - adds r3, r0, r7 -_08077080: - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r4 - adds r0, r1 - ldm r3!, {r1} - str r1, [r0] - adds r2, 0x1 - cmp r2, 0x2D - ble _08077080 - ldr r0, =gSaveBlock1Ptr - mov r9, r0 - ldr r1, =0x00002be0 - mov r10, r1 - ldr r4, =gUnknown_02031C58 - movs r3, 0 - movs r2, 0xF -_080770A0: - mov r5, r9 - ldr r1, [r5] - adds r1, r3 - add r1, r10 - movs r6, 0xBA - lsls r6, 2 - adds r0, r4, r6 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r4, 0x24 - adds r3, 0x24 - subs r2, 0x1 - cmp r2, 0 - bge _080770A0 - mov r7, r8 - ldr r0, [r7] - adds r0, 0xAC - ldr r4, [r0] - mov r2, r12 - ldr r1, [r2] - str r1, [r0] - adds r0, r4, 0 - bl ApplyNewEncyprtionKeyToBagItems - ldr r0, [r7] - adds r0, 0xAC - str r4, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end copy_bags_and_unk_data_to_save_blocks - - thumb_func_start ApplyNewEncyprtionKeyToHword -ApplyNewEncyprtionKeyToHword: @ 8077100 - ldr r2, =gSaveBlock2Ptr - ldr r2, [r2] - adds r2, 0xAC - ldr r2, [r2] - ldrh r3, [r0] - eors r2, r3 - eors r2, r1 - strh r2, [r0] - bx lr - .pool - thumb_func_end ApplyNewEncyprtionKeyToHword - - thumb_func_start ApplyNewEncyprtionKeyToWord -ApplyNewEncyprtionKeyToWord: @ 8077118 - ldr r2, =gSaveBlock2Ptr - ldr r3, [r2] - adds r3, 0xAC - ldr r2, [r0] - ldr r3, [r3] - eors r2, r3 - eors r2, r1 - str r2, [r0] - bx lr - .pool - thumb_func_end ApplyNewEncyprtionKeyToWord - - thumb_func_start ApplyNewEncyprtionKeyToAllEncryptedData -ApplyNewEncyprtionKeyToAllEncryptedData: @ 8077130 - push {r4,r5,lr} - adds r4, r0, 0 - bl ApplyNewEncyprtionKeyToGameStats - adds r0, r4, 0 - bl ApplyNewEncyprtionKeyToBagItems_ - adds r0, r4, 0 - bl ApplyNewEncyprtionKeyToBerryPowder - ldr r5, =gSaveBlock1Ptr - ldr r0, [r5] - movs r1, 0x92 - lsls r1, 3 - adds r0, r1 - adds r1, r4, 0 - bl ApplyNewEncyprtionKeyToWord - ldr r0, [r5] - ldr r1, =0x00000494 - adds r0, r1 - adds r1, r4, 0 - bl ApplyNewEncyprtionKeyToHword - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ApplyNewEncyprtionKeyToAllEncryptedData - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/macros.inc b/asm/macros.inc index 135cfac610..7c35e059d3 100644 --- a/asm/macros.inc +++ b/asm/macros.inc @@ -1,5 +1,6 @@ .include "asm/macros/asm.inc" .include "asm/macros/function.inc" + .include "asm/macros/movement.inc" .include "asm/macros/window.inc" .include "asm/macros/pokemon_data.inc" .include "asm/macros/ec.inc" @@ -64,7 +65,7 @@ .byte 3, 4, \slot, \slot, \slot .endm - .macro sprite_oam x, y, priority, tile_num_offset, size + .macro subsprite x, y, priority, tile_num_offset, size .byte \x .byte \y .2byte ((\priority) << 14) | ((\tile_num_offset) << 4) | SPRITE_SIZE_\size @@ -113,7 +114,22 @@ .4byte 0 @ padding .endm - .macro obj_rot_scal_anim_end + .macro obj_rot_scal_anim_end unknown=0 .2byte 0x7fff - .fill 6 @ padding + .2byte \unknown + .fill 4 @ padding + .endm + + .macro door_anim_frame unknown, offset + .byte \unknown + .byte 0 @ padding + .2byte \offset + .endm + + .macro door_anim_gfx metatile_num, unknown, unknown2, tile_addr, palette_addr + .2byte \metatile_num + .byte \unknown + .byte \unknown2 + .4byte \tile_addr + .4byte \palette_addr .endm diff --git a/asm/macros/battle_ai_script.inc b/asm/macros/battle_ai_script.inc new file mode 100644 index 0000000000..5e81686bf9 --- /dev/null +++ b/asm/macros/battle_ai_script.inc @@ -0,0 +1,619 @@ + .macro if_random_less_than param0, param1 + .byte 0x0 + .byte \param0 + .4byte \param1 + .endm + + .macro if_random_greater_than param0, param1 + .byte 0x1 + .byte \param0 + .4byte \param1 + .endm + + .macro if_random_equal param0, param1 + .byte 0x2 + .byte \param0 + .4byte \param1 + .endm + + .macro if_random_not_equal param0, param1 + .byte 0x3 + .byte \param0 + .4byte \param1 + .endm + + .macro score param0 + .byte 0x4 + .byte \param0 + .endm + + .macro if_hp_less_than bank, param1, param2 + .byte 0x5 + .byte \bank + .byte \param1 + .4byte \param2 + .endm + + .macro if_hp_more_than bank, param1, param2 + .byte 0x6 + .byte \bank + .byte \param1 + .4byte \param2 + .endm + + .macro if_hp_equal bank, param1, param2 + .byte 0x7 + .byte \bank + .byte \param1 + .4byte \param2 + .endm + + .macro if_hp_not_equal bank, param1, param2 + .byte 0x8 + .byte \bank + .byte \param1 + .4byte \param2 + .endm + + .macro if_status bank, status1, param2 + .byte 0x9 + .byte \bank + .4byte \status1 + .4byte \param2 + .endm + + .macro if_not_status bank, status1, param2 + .byte 0xa + .byte \bank + .4byte \status1 + .4byte \param2 + .endm + + .macro if_status2 bank, status2, param2 + .byte 0xb + .byte \bank + .4byte \status2 + .4byte \param2 + .endm + + .macro if_not_status2 bank, status2, param2 + .byte 0xc + .byte \bank + .4byte \status2 + .4byte \param2 + .endm + + .macro if_status3 bank, status3, param2 + .byte 0xd + .byte \bank + .4byte \status3 + .4byte \param2 + .endm + + .macro if_not_status3 bank, status3, param2 + .byte 0xe + .byte \bank + .4byte \status3 + .4byte \param2 + .endm + + .macro if_side_affecting bank, sidestatus, param2 + .byte 0xf + .byte \bank + .4byte \sidestatus + .4byte \param2 + .endm + + .macro if_not_side_affecting bank, sidestatus, param2 + .byte 0x10 + .byte \bank + .4byte \sidestatus + .4byte \param2 + .endm + + .macro if_less_than param0, param1 + .byte 0x11 + .byte \param0 + .4byte \param1 + .endm + + .macro if_more_than param0, param1 + .byte 0x12 + .byte \param0 + .4byte \param1 + .endm + + .macro if_equal param0, param1 + .byte 0x13 + .byte \param0 + .4byte \param1 + .endm + + .macro if_not_equal param0, param1 + .byte 0x14 + .byte \param0 + .4byte \param1 + .endm + + .macro if_less_than_ptr param0, param1 + .byte 0x15 + .4byte \param0 + .4byte \param1 + .endm + + .macro if_more_than_ptr param0, param1 + .byte 0x16 + .4byte \param0 + .4byte \param1 + .endm + + .macro if_equal_ptr param0, param1 + .byte 0x17 + .4byte \param0 + .4byte \param1 + .endm + + .macro if_not_equal_ptr param0, param1 + .byte 0x18 + .4byte \param0 + .4byte \param1 + .endm + + .macro if_move param0, param1 + .byte 0x19 + .2byte \param0 + .4byte \param1 + .endm + + .macro if_not_move param0, param1 + .byte 0x1a + .2byte \param0 + .4byte \param1 + .endm + + .macro if_in_bytes param0, param1 + .byte 0x1b + .4byte \param0 + .4byte \param1 + .endm + + .macro if_not_in_bytes param0, param1 + .byte 0x1c + .4byte \param0 + .4byte \param1 + .endm + + .macro if_in_hwords param0, param1 + .byte 0x1d + .4byte \param0 + .4byte \param1 + .endm + + .macro if_not_in_hwords param0, param1 + .byte 0x1e + .4byte \param0 + .4byte \param1 + .endm + + .macro if_user_has_attacking_move param0 + .byte 0x1f + .4byte \param0 + .endm + + .macro if_user_has_no_attacking_moves param0 + .byte 0x20 + .4byte \param0 + .endm + + .macro get_turn_count + .byte 0x21 + .endm + + .macro get_type param0 + .byte 0x22 + .byte \param0 + .endm + + .macro get_considered_move_power + .byte 0x23 + .endm + + .macro get_how_powerful_move_is + .byte 0x24 + .endm + + .macro get_last_used_bank_move bank + .byte 0x25 + .byte \bank + .endm + + .macro if_equal_ param0, param1 + .byte 0x26 + .byte \param0 + .4byte \param1 + .endm + + .macro if_not_equal_ param0, param1 + .byte 0x27 + .byte \param0 + .4byte \param1 + .endm + + .macro if_user_goes param0, param1 + .byte 0x28 + .byte \param0 + .4byte \param1 + .endm + + .macro if_user_doesnt_go param0, param1 + .byte 0x29 + .byte \param0 + .4byte \param1 + .endm + + .macro nullsub_2A + .byte 0x2a + .endm + + .macro nullsub_2B + .byte 0x2b + .endm + + .macro count_usable_party_mons bank + .byte 0x2c + .byte \bank + .endm + + .macro get_considered_move + .byte 0x2d + .endm + + .macro get_considered_move_effect + .byte 0x2e + .endm + + .macro get_ability bank + .byte 0x2f + .byte \bank + .endm + + .macro get_highest_type_effectiveness + .byte 0x30 + .endm + + .macro if_type_effectiveness param0, param1 + .byte 0x31 + .byte \param0 + .4byte \param1 + .endm + + .macro nullsub_32 + .byte 0x32 + .endm + + .macro nullsub_33 + .byte 0x33 + .endm + + .macro if_status_in_party bank, status1, param2 + .byte 0x34 + .byte \bank + .4byte \status1 + .4byte \param2 + .endm + + .macro if_status_not_in_party bank, status1, param2 + .byte 0x35 + .byte \bank + .4byte \status1 + .4byte \param2 + .endm + + .macro get_weather + .byte 0x36 + .endm + + .macro if_effect param0, param1 + .byte 0x37 + .byte \param0 + .4byte \param1 + .endm + + .macro if_not_effect param0, param1 + .byte 0x38 + .byte \param0 + .4byte \param1 + .endm + + .macro if_stat_level_less_than bank, stat, param2, param3 + .byte 0x39 + .byte \bank + .byte \stat + .byte \param2 + .4byte \param3 + .endm + + .macro if_stat_level_more_than bank, stat, param2, param3 + .byte 0x3a + .byte \bank + .byte \stat + .byte \param2 + .4byte \param3 + .endm + + .macro if_stat_level_equal bank, stat, param2, param3 + .byte 0x3b + .byte \bank + .byte \stat + .byte \param2 + .4byte \param3 + .endm + + .macro if_stat_level_not_equal bank, stat, param2, param3 + .byte 0x3c + .byte \bank + .byte \stat + .byte \param2 + .4byte \param3 + .endm + + .macro if_can_faint param0 + .byte 0x3d + .4byte \param0 + .endm + + .macro if_cant_faint param0 + .byte 0x3e + .4byte \param0 + .endm + + .macro if_has_move bank, param1, param2 + .byte 0x3f + .byte \bank + .2byte \param1 + .4byte \param2 + .endm + + .macro if_doesnt_have_move bank, param1, param2 + .byte 0x40 + .byte \bank + .2byte \param1 + .4byte \param2 + .endm + + .macro if_has_move_with_effect bank, param1, param2 + .byte 0x41 + .byte \bank + .byte \param1 + .4byte \param2 + .endm + + .macro if_doesnt_have_move_with_effect bank, param1, param2 + .byte 0x42 + .byte \bank + .byte \param1 + .4byte \param2 + .endm + + .macro if_any_move_disabled_or_encored bank, param1, param2 + .byte 0x43 + .byte \bank + .byte \param1 + .4byte \param2 + .endm + + .macro if_curr_move_disabled_or_encored param0, param1 + .byte 0x44 + .byte \param0 + .4byte \param1 + .endm + + .macro flee + .byte 0x45 + .endm + + .macro if_random_safari_flee param0 + .byte 0x46 + .4byte \param0 + .endm + + .macro watch + .byte 0x47 + .endm + + .macro get_hold_effect bank + .byte 0x48 + .byte \bank + .endm + + .macro get_gender bank + .byte 0x49 + .byte \bank + .endm + + .macro is_first_turn_for bank + .byte 0x4a + .byte \bank + .endm + + .macro get_stockpile_count bank + .byte 0x4b + .byte \bank + .endm + + .macro is_double_battle + .byte 0x4c + .endm + + .macro get_used_held_item bank + .byte 0x4d + .byte \bank + .endm + + .macro get_move_type_from_result + .byte 0x4e + .endm + + .macro get_move_power_from_result + .byte 0x4f + .endm + + .macro get_move_effect_from_result + .byte 0x50 + .endm + + .macro get_protect_count bank + .byte 0x51 + .byte \bank + .endm + + .macro nullsub_52 + .byte 0x52 + .endm + + .macro nullsub_53 + .byte 0x53 + .endm + + .macro nullsub_54 + .byte 0x54 + .endm + + .macro nullsub_55 + .byte 0x55 + .endm + + .macro nullsub_56 + .byte 0x56 + .endm + + .macro nullsub_57 + .byte 0x57 + .endm + + .macro call param0 + .byte 0x58 + .4byte \param0 + .endm + + .macro goto param0 + .byte 0x59 + .4byte \param0 + .endm + + .macro end + .byte 0x5a + .endm + + .macro if_level_cond param0, param1 + .byte 0x5b + .byte \param0 + .4byte \param1 + .endm + + .macro if_target_taunted param0 + .byte 0x5c + .4byte \param0 + .endm + + .macro if_target_not_taunted param0 + .byte 0x5d + .4byte \param0 + .endm + + .macro if_target_is_ally param0 + .byte 0x5e + .4byte \param0 + .endm + + .macro is_of_type bank, type + .byte 0x5f + .byte \bank + .byte \type + .endm + + .macro check_ability bank, ability + .byte 0x60 + .byte \bank + .byte \ability + .endm + + .macro if_flash_fired bank, param1 + .byte 0x61 + .byte \bank + .4byte \param1 + .endm + + .macro if_holds_item bank, param1, param2 + .byte 0x62 + .byte \bank + .2byte \param1 + .4byte \param2 + .endm + +@ useful script macros + .macro get_curr_move_type + get_type AI_TYPE_MOVE + .endm + + .macro get_user_type1 + get_type AI_TYPE1_USER + .endm + + .macro get_user_type2 + get_type AI_TYPE2_USER + .endm + + .macro get_target_type1 + get_type AI_TYPE1_TARGET + .endm + + .macro get_target_type2 + get_type AI_TYPE2_TARGET + .endm + + .macro if_ability bank, ability, ptr + check_ability \bank, \ability + if_equal 1, \ptr + .endm + + .macro if_no_ability bank, ability, ptr + check_ability \bank, \ability + if_equal 0, \ptr + .endm + + .macro if_type bank, type, ptr + is_of_type \bank, \type + if_equal 1, \ptr + .endm + + .macro if_no_type bank, type, ptr + is_of_type \bank, \type + if_equal 0, \ptr + .endm + + .macro if_target_faster ptr + if_user_goes 1, \ptr + .endm + + .macro if_user_faster ptr + if_user_goes 0, \ptr + .endm + + .macro if_double_battle ptr + is_double_battle + if_equal 1, \ptr + .endm + + .macro if_not_double_battle ptr + is_double_battle + if_equal 0, \ptr + .endm + + .macro if_any_move_disabled bank, ptr + if_any_move_disabled_or_encored \bank, 0, \ptr + .endm + + .macro if_any_move_encored bank, ptr + if_any_move_disabled_or_encored \bank, 1, \ptr + .endm diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc new file mode 100644 index 0000000000..b26d1218d6 --- /dev/null +++ b/asm/macros/battle_anim_script.inc @@ -0,0 +1,268 @@ +@ commands + + .macro loadspritegfx param0 + .byte 0x0 + .2byte \param0 + .endm + + .macro unloadspritegfx param0 + .byte 0x1 + .2byte \param0 + .endm + + .macro createsprite template, priority, argv:vararg + .byte 0x02 + .4byte \template + .byte \priority + .byte (.Lsprite_\@_2 - .Lsprite_\@_1) / 2 +.Lsprite_\@_1: + .2byte \argv +.Lsprite_\@_2: + .endm + + .macro createvisualtask addr, priority, argv:vararg + .byte 0x03 + .4byte \addr + .byte \priority + .byte (.Lcreatetask_\@_2 - .Lcreatetask_\@_1) / 2 +.Lcreatetask_\@_1: + .2byte \argv +.Lcreatetask_\@_2: + .endm + + .macro delay param0 + .byte 0x4 + .byte \param0 + .endm + + .macro waitforvisualfinish + .byte 0x5 + .endm + + .macro hang1 + .byte 0x6 + .endm + + .macro hang2 + .byte 0x7 + .endm + + .macro end + .byte 0x8 + .endm + + .macro playse param0 + .byte 0x9 + .2byte \param0 + .endm + + .macro monbg bank + .byte 0xa + .byte \bank + .endm + + .macro clearmonbg bank + .byte 0xb + .byte \bank + .endm + + .macro setalpha param0 + .byte 0xc + .2byte \param0 + .endm + + .macro blendoff + .byte 0xd + .endm + + .macro call param0 + .byte 0xe + .4byte \param0 + .endm + + .macro return + .byte 0xf + .endm + + .macro setarg param0, param1 + .byte 0x10 + .byte \param0 + .2byte \param1 + .endm + + .macro choosetwoturnanim param0, param1 + .byte 0x11 + .4byte \param0 + .4byte \param1 + .endm + + .macro jumpifmoveturn param0, param1 + .byte 0x12 + .byte \param0 + .4byte \param1 + .endm + + .macro goto param0 + .byte 0x13 + .4byte \param0 + .endm + + .macro fadetobg param0 + .byte 0x14 + .byte \param0 + .endm + + .macro restorebg + .byte 0x15 + .endm + + .macro waitbgfadeout + .byte 0x16 + .endm + + .macro waitbgfadein + .byte 0x17 + .endm + + .macro changebg param0 + .byte 0x18 + .byte \param0 + .endm + + .macro playsewithpan param0, param1 + .byte 0x19 + .2byte \param0 + .byte \param1 + .endm + + .macro setpan param0 + .byte 0x1a + .byte \param0 + .endm + + .macro panse_1B param0, param1, param2, param3, param4 + .byte 0x1b + .2byte \param0 + .byte \param1 + .byte \param2 + .byte \param3 + .byte \param4 + .endm + + .macro loopsewithpan param0, param1, param2, param3 + .byte 0x1c + .2byte \param0 + .byte \param1 + .byte \param2 + .byte \param3 + .endm + + .macro waitplaysewithpan param0, param1, param2 + .byte 0x1d + .2byte \param0 + .byte \param1 + .byte \param2 + .endm + + .macro setbldcnt param0 + .byte 0x1e + .2byte \param0 + .endm + + .macro createsoundtask addr, argv:vararg + .byte 0x1F + .4byte \addr + .byte (.Lcreatetask_1F_\@_2 - .Lcreatetask_1F_\@_1) / 2 +.Lcreatetask_1F_\@_1: + .2byte \argv +.Lcreatetask_1F_\@_2: + .endm + + .macro waitsound + .byte 0x20 + .endm + + .macro jumpargeq param0, param1, param2 + .byte 0x21 + .byte \param0 + .2byte \param1 + .4byte \param2 + .endm + + .macro monbg_22 bank + .byte 0x22 + .byte \bank + .endm + + .macro clearmonbg_23 bank + .byte 0x23 + .byte \bank + .endm + + .macro jumpifcontest param0 + .byte 0x24 + .4byte \param0 + .endm + + .macro fadetobgfromset param0, param1, param2 + .byte 0x25 + .byte \param0 + .byte \param1 + .byte \param2 + .endm + + .macro panse_26 param0, param1, param2, param3, param4 + .byte 0x26 + .2byte \param0 + .byte \param1 + .byte \param2 + .byte \param3 + .byte \param4 + .endm + + .macro panse_27 param0, param1, param2, param3, param4 + .byte 0x27 + .2byte \param0 + .byte \param1 + .byte \param2 + .byte \param3 + .byte \param4 + .endm + + .macro monbgprio_28 bank + .byte 0x28 + .byte \bank + .endm + + .macro monbgprio_29 + .byte 0x29 + .endm + + .macro monbgprio_2A bank + .byte 0x2a + .byte \bank + .endm + + .macro invisible bank + .byte 0x2b + .byte \bank + .endm + + .macro visible bank + .byte 0x2c + .byte \bank + .endm + + .macro doublebattle_2D bank + .byte 0x2d + .byte \bank + .endm + + .macro doublebattle_2E bank + .byte 0x2e + .byte \bank + .endm + + .macro stopsound + .byte 0x2f + .endm diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc new file mode 100644 index 0000000000..083107c082 --- /dev/null +++ b/asm/macros/battle_script.inc @@ -0,0 +1,1401 @@ +@ commands + .macro attackcanceler + .byte 0x0 + .endm + + .macro accuracycheck param0, param1 + .byte 0x1 + .4byte \param0 + .2byte \param1 + .endm + + .macro attackstring + .byte 0x2 + .endm + + .macro ppreduce + .byte 0x3 + .endm + + .macro critcalc + .byte 0x4 + .endm + + .macro damagecalc + .byte 0x5 + .endm + + .macro typecalc + .byte 0x6 + .endm + + .macro adjustnormaldamage + .byte 0x7 + .endm + + .macro adjustnormaldamage2 + .byte 0x8 + .endm + + .macro attackanimation + .byte 0x9 + .endm + + .macro waitanimation + .byte 0xa + .endm + + .macro healthbarupdate bank + .byte 0xb + .byte \bank + .endm + + .macro datahpupdate bank + .byte 0xc + .byte \bank + .endm + + .macro critmessage + .byte 0xd + .endm + + .macro effectivenesssound + .byte 0xe + .endm + + .macro resultmessage + .byte 0xf + .endm + + .macro printstring param0 + .byte 0x10 + .2byte \param0 + .endm + + .macro printselectionstring param0 + .byte 0x11 + .2byte \param0 + .endm + + .macro waitmessage param0 + .byte 0x12 + .2byte \param0 + .endm + + .macro printfromtable param0 + .byte 0x13 + .4byte \param0 + .endm + + .macro printselectionstringfromtable param0 + .byte 0x14 + .4byte \param0 + .endm + + .macro seteffectwithchance + .byte 0x15 + .endm + + .macro seteffectprimary + .byte 0x16 + .endm + + .macro seteffectsecondary + .byte 0x17 + .endm + + .macro clearstatusfromeffect bank + .byte 0x18 + .byte \bank + .endm + + .macro tryfaintmon bank, param1, param2 + .byte 0x19 + .byte \bank + .byte \param1 + .4byte \param2 + .endm + + .macro dofaintanimation bank + .byte 0x1a + .byte \bank + .endm + + .macro cleareffectsonfaint bank + .byte 0x1b + .byte \bank + .endm + + .macro jumpifstatus bank, status1, param2 + .byte 0x1c + .byte \bank + .4byte \status1 + .4byte \param2 + .endm + + .macro jumpifstatus2 bank, status2, param2 + .byte 0x1d + .byte \bank + .4byte \status2 + .4byte \param2 + .endm + + .macro jumpifability param0, ability, param2 + .byte 0x1e + .byte \param0 + .byte \ability + .4byte \param2 + .endm + + .macro jumpifsideaffecting bank, sidestatus, param2 + .byte 0x1f + .byte \bank + .2byte \sidestatus + .4byte \param2 + .endm + + .macro jumpifstat bank, ifflag, stat, param3, param4 + .byte 0x20 + .byte \bank + .byte \ifflag + .byte \stat + .byte \param3 + .4byte \param4 + .endm + + .macro jumpifstatus3condition bank, status3, param2, param3 + .byte 0x21 + .byte \bank + .4byte \status3 + .byte \param2 + .4byte \param3 + .endm + + .macro jumpiftype bank, type, param2 + .byte 0x22 + .byte \bank + .byte \type + .4byte \param2 + .endm + + .macro getexp bank + .byte 0x23 + .byte \bank + .endm + + .macro atk24 param0 + .byte 0x24 + .4byte \param0 + .endm + + .macro movevaluescleanup + .byte 0x25 + .endm + + .macro setmultihit param0 + .byte 0x26 + .byte \param0 + .endm + + .macro decrementmultihit param0 + .byte 0x27 + .4byte \param0 + .endm + + .macro goto param0 + .byte 0x28 + .4byte \param0 + .endm + + .macro jumpifbyte ifflag, param1, param2, param3 + .byte 0x29 + .byte \ifflag + .4byte \param1 + .byte \param2 + .4byte \param3 + .endm + + .macro jumpifhalfword ifflag, param1, param2, param3 + .byte 0x2a + .byte \ifflag + .4byte \param1 + .2byte \param2 + .4byte \param3 + .endm + + .macro jumpifword ifflag, param1, param2, param3 + .byte 0x2b + .byte \ifflag + .4byte \param1 + .4byte \param2 + .4byte \param3 + .endm + + .macro jumpifarrayequal param0, param1, param2, param3 + .byte 0x2c + .4byte \param0 + .4byte \param1 + .byte \param2 + .4byte \param3 + .endm + + .macro jumpifarraynotequal param0, param1, param2, param3 + .byte 0x2d + .4byte \param0 + .4byte \param1 + .byte \param2 + .4byte \param3 + .endm + + .macro setbyte param0, param1 + .byte 0x2e + .4byte \param0 + .byte \param1 + .endm + + .macro addbyte param0, param1 + .byte 0x2f + .4byte \param0 + .byte \param1 + .endm + + .macro subbyte param0, param1 + .byte 0x30 + .4byte \param0 + .byte \param1 + .endm + + .macro copyarray param0, param1, param2 + .byte 0x31 + .4byte \param0 + .4byte \param1 + .byte \param2 + .endm + + .macro copyarraywithindex param0, param1, param2, param3 + .byte 0x32 + .4byte \param0 + .4byte \param1 + .4byte \param2 + .byte \param3 + .endm + + .macro orbyte param0, param1 + .byte 0x33 + .4byte \param0 + .byte \param1 + .endm + + .macro orhalfword param0, param1 + .byte 0x34 + .4byte \param0 + .2byte \param1 + .endm + + .macro orword param0, param1 + .byte 0x35 + .4byte \param0 + .4byte \param1 + .endm + + .macro bicbyte param0, param1 + .byte 0x36 + .4byte \param0 + .byte \param1 + .endm + + .macro bichalfword param0, param1 + .byte 0x37 + .4byte \param0 + .2byte \param1 + .endm + + .macro bicword param0, param1 + .byte 0x38 + .4byte \param0 + .4byte \param1 + .endm + + .macro pause param0 + .byte 0x39 + .2byte \param0 + .endm + + .macro waitstate + .byte 0x3a + .endm + + .macro healthbar_update bank + .byte 0x3b + .byte \bank + .endm + + .macro return + .byte 0x3c + .endm + + .macro end + .byte 0x3d + .endm + + .macro end2 + .byte 0x3e + .endm + + .macro end3 + .byte 0x3f + .endm + + .macro jumpifaffectedbyprotect param0 + .byte 0x40 + .4byte \param0 + .endm + + .macro call param0 + .byte 0x41 + .4byte \param0 + .endm + + .macro jumpiftype2 bank, type, param2 + .byte 0x42 + .byte \bank + .byte \type + .4byte \param2 + .endm + + .macro jumpifabilitypresent ability, param1 + .byte 0x43 + .byte \ability + .4byte \param1 + .endm + + .macro endselectionscript + .byte 0x44 + .endm + + .macro playanimation bank, param1, param2 + .byte 0x45 + .byte \bank + .byte \param1 + .4byte \param2 + .endm + + .macro playanimation2 bank, param1, param2 + .byte 0x46 + .byte \bank + .4byte \param1 + .4byte \param2 + .endm + + .macro setgraphicalstatchangevalues + .byte 0x47 + .endm + + .macro playstatchangeanimation bank, param1, param2 + .byte 0x48 + .byte \bank + .byte \param1 + .byte \param2 + .endm + + .macro moveend param0, param1 + .byte 0x49 + .byte \param0 + .byte \param1 + .endm + + .macro typecalc2 + .byte 0x4a + .endm + + .macro returnatktoball + .byte 0x4b + .endm + + .macro getswitchedmondata bank + .byte 0x4c + .byte \bank + .endm + + .macro switchindataupdate bank + .byte 0x4d + .byte \bank + .endm + + .macro switchinanim bank, dontclearsubstitutebit + .byte 0x4e + .byte \bank + .byte \dontclearsubstitutebit + .endm + + .macro jumpifcantswitch bank, param1 + .byte 0x4f + .byte \bank + .4byte \param1 + .endm + + .macro openpartyscreen param0, param1 + .byte 0x50 + .byte \param0 + .4byte \param1 + .endm + + .macro switchhandleorder bank, param1 + .byte 0x51 + .byte \bank + .byte \param1 + .endm + + .macro switchineffects bank + .byte 0x52 + .byte \bank + .endm + + .macro trainerslidein bank + .byte 0x53 + .byte \bank + .endm + + .macro playse param0 + .byte 0x54 + .2byte \param0 + .endm + + .macro fanfare param0 + .byte 0x55 + .2byte \param0 + .endm + + .macro playfaintcry bank + .byte 0x56 + .byte \bank + .endm + + .macro atk57 + .byte 0x57 + .endm + + .macro returntoball bank + .byte 0x58 + .byte \bank + .endm + + .macro handlelearnnewmove param0, param1, param2 + .byte 0x59 + .4byte \param0 + .4byte \param1 + .byte \param2 + .endm + + .macro yesnoboxlearnmove param0 + .byte 0x5a + .4byte \param0 + .endm + + .macro yesnoboxstoplearningmove param0 + .byte 0x5b + .4byte \param0 + .endm + + .macro hitanimation bank + .byte 0x5c + .byte \bank + .endm + + .macro getmoneyreward + .byte 0x5d + .endm + + .macro atk5E bank + .byte 0x5e + .byte \bank + .endm + + .macro atk5F + .byte 0x5f + .endm + + .macro incrementgamestat param0 + .byte 0x60 + .byte \param0 + .endm + + .macro drawpartystatussummary bank + .byte 0x61 + .byte \bank + .endm + + .macro atk62 bank + .byte 0x62 + .byte \bank + .endm + + .macro jumptorandomattack param0 + .byte 0x63 + .byte \param0 + .endm + + .macro statusanimation bank + .byte 0x64 + .byte \bank + .endm + + .macro status2animation bank, status2 + .byte 0x65 + .byte \bank + .4byte \status2 + .endm + + .macro chosenstatusanimation bank, param1, param2 + .byte 0x66 + .byte \bank + .byte \param1 + .4byte \param2 + .endm + + .macro yesnobox + .byte 0x67 + .endm + + .macro cancelallactions + .byte 0x68 + .endm + + .macro adjustsetdamage + .byte 0x69 + .endm + + .macro removeitem bank + .byte 0x6a + .byte \bank + .endm + + .macro atknameinbuff1 + .byte 0x6b + .endm + + .macro drawlvlupbox + .byte 0x6c + .endm + + .macro resetsentmonsvalue + .byte 0x6d + .endm + + .macro setatktoplayer0 + .byte 0x6e + .endm + + .macro makevisible bank + .byte 0x6f + .byte \bank + .endm + + .macro recordlastability bank + .byte 0x70 + .byte \bank + .endm + + .macro buffermovetolearn + .byte 0x71 + .endm + + .macro jumpifplayerran param0 + .byte 0x72 + .4byte \param0 + .endm + + .macro hpthresholds bank + .byte 0x73 + .byte \bank + .endm + + .macro hpthresholds2 bank + .byte 0x74 + .byte \bank + .endm + + .macro useitemonopponent + .byte 0x75 + .endm + + .macro various bank, param1 + .byte 0x76 + .byte \bank + .byte \param1 + .endm + + .macro setprotectlike + .byte 0x77 + .endm + + .macro faintifabilitynotdamp + .byte 0x78 + .endm + + .macro setatkhptozero + .byte 0x79 + .endm + + .macro jumpifnexttargetvalid param0 + .byte 0x7a + .4byte \param0 + .endm + + .macro tryhealhalfhealth param0, bank + .byte 0x7b + .4byte \param0 + .byte \bank + .endm + + .macro trymirrormove + .byte 0x7c + .endm + + .macro setrain + .byte 0x7d + .endm + + .macro setreflect + .byte 0x7e + .endm + + .macro setseeded + .byte 0x7f + .endm + + .macro manipulatedamage param0 + .byte 0x80 + .byte \param0 + .endm + + .macro trysetrest param0 + .byte 0x81 + .4byte \param0 + .endm + + .macro jumpifnotfirstturn param0 + .byte 0x82 + .4byte \param0 + .endm + + .macro nop + .byte 0x83 + .endm + + .macro jumpifcantmakeasleep param0 + .byte 0x84 + .4byte \param0 + .endm + + .macro stockpile + .byte 0x85 + .endm + + .macro stockpiletobasedamage param0 + .byte 0x86 + .4byte \param0 + .endm + + .macro stockpiletohpheal param0 + .byte 0x87 + .4byte \param0 + .endm + + .macro negativedamage + .byte 0x88 + .endm + + .macro statbuffchange param0, param1 + .byte 0x89 + .byte \param0 + .4byte \param1 + .endm + + .macro normalisebuffs + .byte 0x8a + .endm + + .macro setbide + .byte 0x8b + .endm + + .macro confuseifrepeatingattackends + .byte 0x8c + .endm + + .macro setmultihitcounter param0 + .byte 0x8d + .byte \param0 + .endm + + .macro initmultihitstring + .byte 0x8e + .endm + + .macro forcerandomswitch param0 + .byte 0x8f + .4byte \param0 + .endm + + .macro tryconversiontypechange param0 + .byte 0x90 + .4byte \param0 + .endm + + .macro givepaydaymoney + .byte 0x91 + .endm + + .macro setlightscreen + .byte 0x92 + .endm + + .macro tryKO param0 + .byte 0x93 + .4byte \param0 + .endm + + .macro damagetohalftargethp + .byte 0x94 + .endm + + .macro setsandstorm + .byte 0x95 + .endm + + .macro weatherdamage + .byte 0x96 + .endm + + .macro tryinfatuating param0 + .byte 0x97 + .4byte \param0 + .endm + + .macro updatestatusicon bank + .byte 0x98 + .byte \bank + .endm + + .macro setmist + .byte 0x99 + .endm + + .macro setfocusenergy + .byte 0x9a + .endm + + .macro transformdataexecution + .byte 0x9b + .endm + + .macro setsubstitute + .byte 0x9c + .endm + + .macro mimicattackcopy param0 + .byte 0x9d + .4byte \param0 + .endm + + .macro metronome + .byte 0x9e + .endm + + .macro dmgtolevel + .byte 0x9f + .endm + + .macro psywavedamageeffect + .byte 0xa0 + .endm + + .macro counterdamagecalculator param0 + .byte 0xa1 + .4byte \param0 + .endm + + .macro mirrorcoatdamagecalculator param0 + .byte 0xa2 + .4byte \param0 + .endm + + .macro disablelastusedattack param0 + .byte 0xa3 + .4byte \param0 + .endm + + .macro trysetencore param0 + .byte 0xa4 + .4byte \param0 + .endm + + .macro painsplitdmgcalc param0 + .byte 0xa5 + .4byte \param0 + .endm + + .macro settypetorandomresistance param0 + .byte 0xa6 + .4byte \param0 + .endm + + .macro setalwayshitflag + .byte 0xa7 + .endm + + .macro copymovepermanently param0 + .byte 0xa8 + .4byte \param0 + .endm + + .macro trychoosesleeptalkmove param0 + .byte 0xa9 + .4byte \param0 + .endm + + .macro setdestinybond + .byte 0xaa + .endm + + .macro trysetdestinybondtohappen + .byte 0xab + .endm + + .macro remaininghptopower + .byte 0xac + .endm + + .macro tryspiteppreduce param0 + .byte 0xad + .4byte \param0 + .endm + + .macro healpartystatus + .byte 0xae + .endm + + .macro cursetarget param0 + .byte 0xaf + .4byte \param0 + .endm + + .macro trysetspikes param0 + .byte 0xb0 + .4byte \param0 + .endm + + .macro setforesight + .byte 0xb1 + .endm + + .macro trysetperishsong param0 + .byte 0xb2 + .4byte \param0 + .endm + + .macro rolloutdamagecalculation + .byte 0xb3 + .endm + + .macro jumpifconfusedandstatmaxed stat, param1 + .byte 0xb4 + .byte \stat + .4byte \param1 + .endm + + .macro furycuttercalc + .byte 0xb5 + .endm + + .macro happinesstodamagecalculation + .byte 0xb6 + .endm + + .macro presentdamagecalculation + .byte 0xb7 + .endm + + .macro setsafeguard + .byte 0xb8 + .endm + + .macro magnitudedamagecalculation + .byte 0xb9 + .endm + + .macro jumpifnopursuitswitchdmg param0 + .byte 0xba + .4byte \param0 + .endm + + .macro setsunny + .byte 0xbb + .endm + + .macro maxattackhalvehp param0 + .byte 0xbc + .4byte \param0 + .endm + + .macro copyfoestats param0 + .byte 0xbd + .4byte \param0 + .endm + + .macro rapidspinfree + .byte 0xbe + .endm + + .macro setdefensecurlbit + .byte 0xbf + .endm + + .macro recoverbasedonsunlight param0 + .byte 0xc0 + .4byte \param0 + .endm + + .macro hiddenpowercalc + .byte 0xc1 + .endm + + .macro selectfirstvalidtarget + .byte 0xc2 + .endm + + .macro trysetfutureattack param0 + .byte 0xc3 + .4byte \param0 + .endm + + .macro trydobeatup param0, param1 + .byte 0xc4 + .4byte \param0 + .4byte \param1 + .endm + + .macro setsemiinvulnerablebit + .byte 0xc5 + .endm + + .macro clearsemiinvulnerablebit + .byte 0xc6 + .endm + + .macro setminimize + .byte 0xc7 + .endm + + .macro sethail + .byte 0xc8 + .endm + + .macro jumpifattackandspecialattackcannotfall param0 + .byte 0xc9 + .4byte \param0 + .endm + + .macro setforcedtarget + .byte 0xca + .endm + + .macro setcharge + .byte 0xcb + .endm + + .macro callterrainattack + .byte 0xcc + .endm + + .macro cureifburnedparalysedorpoisoned param0 + .byte 0xcd + .4byte \param0 + .endm + + .macro settorment param0 + .byte 0xce + .4byte \param0 + .endm + + .macro jumpifnodamage param0 + .byte 0xcf + .4byte \param0 + .endm + + .macro settaunt param0 + .byte 0xd0 + .4byte \param0 + .endm + + .macro trysethelpinghand param0 + .byte 0xd1 + .4byte \param0 + .endm + + .macro tryswapitems param0 + .byte 0xd2 + .4byte \param0 + .endm + + .macro trycopyability param0 + .byte 0xd3 + .4byte \param0 + .endm + + .macro trywish param0, param1 + .byte 0xd4 + .byte \param0 + .4byte \param1 + .endm + + .macro trysetroots param0 + .byte 0xd5 + .4byte \param0 + .endm + + .macro doubledamagedealtifdamaged + .byte 0xd6 + .endm + + .macro setyawn param0 + .byte 0xd7 + .4byte \param0 + .endm + + .macro setdamagetohealthdifference param0 + .byte 0xd8 + .4byte \param0 + .endm + + .macro scaledamagebyhealthratio + .byte 0xd9 + .endm + + .macro tryswapabilities param0 + .byte 0xda + .4byte \param0 + .endm + + .macro tryimprision param0 + .byte 0xdb + .4byte \param0 + .endm + + .macro trysetgrudge param0 + .byte 0xdc + .4byte \param0 + .endm + + .macro weightdamagecalculation + .byte 0xdd + .endm + + .macro asistattackselect param0 + .byte 0xde + .4byte \param0 + .endm + + .macro trysetmagiccoat param0 + .byte 0xdf + .4byte \param0 + .endm + + .macro trysetsnatch param0 + .byte 0xe0 + .4byte \param0 + .endm + + .macro trygetintimidatetarget param0 + .byte 0xe1 + .4byte \param0 + .endm + + .macro switchoutabilities bank + .byte 0xe2 + .byte \bank + .endm + + .macro jumpifhasnohp bank, param1 + .byte 0xe3 + .byte \bank + .4byte \param1 + .endm + + .macro getsecretpowereffect + .byte 0xe4 + .endm + + .macro pickup + .byte 0xe5 + .endm + + .macro docastformchangeanimation + .byte 0xe6 + .endm + + .macro trycastformdatachange + .byte 0xe7 + .endm + + .macro settypebasedhalvers param0 + .byte 0xe8 + .4byte \param0 + .endm + + .macro setweatherballtype + .byte 0xe9 + .endm + + .macro tryrecycleitem param0 + .byte 0xea + .4byte \param0 + .endm + + .macro settypetoterrain param0 + .byte 0xeb + .4byte \param0 + .endm + + .macro pursuitrelated param0 + .byte 0xec + .4byte \param0 + .endm + + .macro snatchsetbanks + .byte 0xed + .endm + + .macro removelightscreenreflect + .byte 0xee + .endm + + .macro handleballthrow + .byte 0xef + .endm + + .macro givecaughtmon + .byte 0xf0 + .endm + + .macro trysetcaughtmondexflags param0 + .byte 0xf1 + .4byte \param0 + .endm + + .macro displaydexinfo + .byte 0xf2 + .endm + + .macro trygivecaughtmonnick param0 + .byte 0xf3 + .4byte \param0 + .endm + + .macro subattackerhpbydmg + .byte 0xf4 + .endm + + .macro removeattackerstatus1 + .byte 0xf5 + .endm + + .macro finishaction + .byte 0xf6 + .endm + + .macro finishturn + .byte 0xf7 + .endm + + .macro trainerslideout param0 + .byte 0xf8 + .byte \param0 + .endm + +@ various command changed to more readable macros + .macro cancelmultiturnmoves bank + various \bank, VARIOUS_CANCEL_MULTI_TURN_MOVES + .endm + + .macro setmagiccoattarget bank + various \bank, VARIOUS_SET_MAGIC_COAT_TARGET + .endm + + .macro getifcantrunfrombattle bank + various \bank, VARIOUS_IS_RUNNING_IMPOSSIBLE + .endm + + .macro getmovetarget bank + various \bank, VARIOUS_GET_MOVE_TARGET + .endm + + .macro various4 bank + various \bank, 4 + .endm + + .macro resetintrimidatetracebits bank + various \bank, VARIOUS_RESET_INTIMIDATE_TRACE_BITS + .endm + + .macro updatechoicemoveonlvlup bank + various \bank, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP + .endm + + .macro various7 bank + various \bank, 7 + .endm + + .macro various8 bank + various \bank, 8 + .endm + + .macro various9 bank + various \bank, 9 + .endm + + .macro various10 bank + various \bank, 10 + .endm + + .macro various11 bank + various \bank, 11 + .endm + + .macro various12 bank + various \bank, 12 + .endm + + .macro forfeityesnobox bank + various \bank, VARIOUS_EMIT_YESNOBOX + .endm + + .macro various14 bank + various \bank, 14 + .endm + + .macro various15 bank + various \bank, 15 + .endm + + .macro various16 bank + various \bank, 16 + .endm + + .macro various17 bank + various \bank, 17 + .endm + + .macro waitcry bank + various \bank, VARIOUS_WAIT_CRY + .endm + + .macro returnopponentmon1toball bank + various \bank, VARIOUS_RETURN_OPPONENT_MON1 + .endm + + .macro returnopponentmon2toball bank + various \bank, VARIOUS_RETURN_OPPONENT_MON2 + .endm + + .macro various21 bank + various \bank, 21 + .endm + + .macro various22 bank + various \bank, 22 + .endm + + .macro various23 bank + various \bank, 23 + .endm + + .macro various24 bank + various \bank, 24 + .endm + + .macro setoutcomeonteleport bank + various \bank, VARIOUS_SET_TELEPORT_OUTCOME + .endm + + .macro playtrainerdefeatbgm bank + various \bank, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC + .endm + +@ helpful macros + .macro setstatchanger stat, stages, down + setbyte sSTATCHANGER \stat | \stages << 4 | \down << 7 + .endm + + .macro setmoveeffect effect + setbyte cEFFECT_CHOOSER \effect + .endm + + .macro chosenstatus1animation bank, status + chosenstatusanimation \bank 0x0 \status + .endm + + .macro chosenstatus2animation bank, status + chosenstatusanimation \bank 0x1 \status + .endm + + .macro sethword dst, value + setbyte \dst, \value & 0xFF + setbyte \dst + 1, (\value >> 8) & 0xFF + .endm + + .macro setword dst, value + setbyte \dst, \value & 0xFF + setbyte \dst + 1, (\value >> 8) & 0xFF + setbyte \dst + 2, (\value >> 16) & 0xFF + setbyte \dst + 3, (\value >> 24) & 0xFF + .endm + + .macro copybyte dst, src + copyarray \dst, \src, 0x1 + .endm + + .macro copyhword dst, src + copyarray \dst, \src, 0x2 + .endm + + .macro copyword dst, src + copyarray \dst, \src, 0x4 + .endm + + .macro jumpifbytenotequal byte1, byte2, jumpptr + jumpifarraynotequal \byte1, \byte2, 0x1, \jumpptr + .endm + + .macro jumpifbyteequal byte1, byte2, jumpptr + jumpifarrayequal \byte1, \byte2, 0x1, \jumpptr + .endm + + .macro jumpifmove move, jumpptr + jumpifhalfword CMP_EQUAL, gCurrentMove, \move, \jumpptr + .endm + + .macro jumpifnotmove move, jumpptr + jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, \move, \jumpptr + .endm + + .macro jumpifstatus3 bank, status, jumpptr + jumpifstatus3condition \bank, \status, 0x0, \jumpptr + .endm + + .macro jumpifnostatus3 bank, status, jumpptr + jumpifstatus3condition \bank, \status, 0x1, \jumpptr + .endm + + .macro jumpifmovehadnoeffect jumpptr + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_NO_EFFECT, \jumpptr + .endm + + .macro jumpifbattletype flags, jumpptr + jumpifword CMP_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr + .endm + + .macro jumpifnotbattletype flags, jumpptr + jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr + .endm diff --git a/asm/macros/event.inc b/asm/macros/event.inc new file mode 100644 index 0000000000..f2d14b9459 --- /dev/null +++ b/asm/macros/event.inc @@ -0,0 +1,1546 @@ + @ Does nothing. + .macro nop + .byte 0x00 + .endm + + @ Does nothing. + .macro nop1 + .byte 0x01 + .endm + + @ Terminates script execution. + .macro end + .byte 0x02 + .endm + + @ Jumps back to after the last-executed call statement, and continues script execution from there. + .macro return + .byte 0x03 + .endm + + @ Jumps to destination and continues script execution from there. The location of the calling script is remembered and can be returned to later. + .macro call destination + .byte 0x04 + .4byte \destination + .endm + + @ Jumps to destination and continues script execution from there. + .macro goto destination + .byte 0x05 + .4byte \destination + .endm + + @ If the result of the last comparison matches condition (see Comparison operators), jumps to destination and continues script execution from there. + .macro goto_if condition, destination + .byte 0x06 + .byte \condition + .4byte \destination + .endm + + @ If the result of the last comparison matches condition (see Comparison operators), calls destination. + .macro call_if condition, destination + .byte 0x07 + .byte \condition + .4byte \destination + .endm + + @ Jumps to the standard function at index function. + .macro gotostd function + .byte 0x08 + .byte \function + .endm + + @ Calls the standard function at index function. + .macro callstd function + .byte 0x09 + .byte \function + .endm + + @ If the result of the last comparison matches condition (see Comparison operators), jumps to the standard function at index function. + .macro gotostd_if condition, function + .byte 0x0a + .byte \condition + .byte \function + .endm + + @ If the result of the last comparison matches condition (see Comparison operators), calls the standard function at index function. + .macro callstd_if condition, function + .byte 0x0b + .byte \condition + .byte \function + .endm + + @ Executes a script stored in a default RAM location. + .macro gotoram + .byte 0x0c + .endm + + @ Terminates script execution and "resets the script RAM". + .macro killscript + .byte 0x0d + .endm + + @ Sets some status related to Mystery Event. + .macro setmysteryeventstatus value + .byte 0x0e + .byte \value + .endm + + @ Sets the specified script bank to value. + .macro loadword destination, value + .byte 0x0f + .byte \destination + .4byte \value + .endm + + @ Sets the specified script bank to value. + .macro loadbyte destination, value + .byte 0x10 + .byte \destination + .byte \value + .endm + + @ Sets the byte at offset to value. + .macro writebytetoaddr value, offset + .byte 0x11 + .byte \value + .4byte \offset + .endm + + @ Copies the byte value at source into the specified script bank. + .macro loadbytefromaddr destination, source + .byte 0x12 + .byte \destination + .4byte \source + .endm + + @ Not sure. Judging from XSE's description I think it takes the least-significant byte in bank source and writes it to destination. + .macro setptrbyte source, destination + .byte 0x13 + .byte \source + .4byte \destination + .endm + + @ Copies the contents of bank source into bank destination. + .macro copylocal destination, source + .byte 0x14 + .byte \destination + .byte \source + .endm + + @ Copies the byte at source to destination, replacing whatever byte was previously there. + .macro copybyte destination, source + .byte 0x15 + .4byte \destination + .4byte \source + .endm + + @ Changes the value of destination to value. + .macro setvar destination, value + .byte 0x16 + .2byte \destination + .2byte \value + .endm + + @ Changes the value of destination by adding value to it. Overflow is not prevented (0xFFFF + 1 = 0x0000). + .macro addvar destination, value + .byte 0x17 + .2byte \destination + .2byte \value + .endm + + @ Changes the value of destination by subtracting value to it. Overflow is not prevented (0x0000 - 1 = 0xFFFF). + .macro subvar destination, value + .byte 0x18 + .2byte \destination + .2byte \value + .endm + + @ Copies the value of source into destination. + .macro copyvar destination, source + .byte 0x19 + .2byte \destination + .2byte \source + .endm + + @ If source is not a variable, then this function acts like setvar. Otherwise, it acts like copyvar. + .macro setorcopyvar destination, source + .byte 0x1a + .2byte \destination + .2byte \source + .endm + + @ Compares the values of script banks a and b, after forcing the values to bytes. + .macro compare_local_to_local byte1, byte2 + .byte 0x1b + .byte \byte1 + .byte \byte2 + .endm + + @ Compares the least-significant byte of the value of script bank a to a fixed byte value (b). + .macro compare_local_to_value a, b + .byte 0x1c + .byte \a + .byte \b + .endm + + @ Compares the least-significant byte of the value of script bank a to the byte located at offset b. + .macro compare_local_to_addr a, b + .byte 0x1d + .byte \a + .4byte \b + .endm + + @ Compares the byte located at offset a to the least-significant byte of the value of script bank b. + .macro compare_addr_to_local a, b + .byte 0x1e + .4byte \a + .byte \b + .endm + + @ Compares the byte located at offset a to a fixed byte value (b). + .macro compare_addr_to_value a, b + .byte 0x1f + .4byte \a + .byte \b + .endm + + @ Compares the byte located at offset a to the byte located at offset b. + .macro compare_addr_to_addr a, b + .byte 0x20 + .4byte \a + .4byte \b + .endm + + @ Compares the value of `var` to a fixed word value (b). + .macro compare_var_to_value var, value + .byte 0x21 + .2byte \var + .2byte \value + .endm + + @ Compares the value of `var1` to the value of `var2`. + .macro compare_var_to_var var1, var2 + .byte 0x22 + .2byte \var1 + .2byte \var2 + .endm + + @ Generic compare macro which attempts to deduce argument types based on their values + @ Any values between 0x4000 to 0x4FFF and 0x8000 to 0x8FFF are considered event variable identifiers + .macro compare arg1, arg2 + .if ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && ((\arg2 >> 12) == 4 || (\arg2 >> 12) == 8) + compare_var_to_var \arg1, \arg2 + .elseif ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && (\arg2 >= 0 && \arg2 <= 0xFFFF) + compare_var_to_value \arg1, \arg2 + .else + .error "Invalid arguments for 'compare'" + .endif + .endm + + @ Calls the native C function stored at `func`. + .macro callnative func + .byte 0x23 + .4byte \func + .endm + + @ Replaces the script with the function stored at `func`. Execution returns to the bytecode script when func returns TRUE. + .macro gotonative func + .byte 0x24 + .4byte \func + .endm + + @ Calls a special function; that is, a function designed for use by scripts and listed in a table of pointers. + .macro special function + .byte 0x25 + .2byte SPECIAL_\function + .endm + + @ Calls a special function. That function's output (if any) will be written to the variable you specify. + .macro specialvar output, function + .byte 0x26 + .2byte \output + .2byte SPECIAL_\function + .endm + + @ temporary solution + .macro specialvar_ output, functionId + .byte 0x26 + .2byte \output + .2byte \functionId + .endm + + @ Blocks script execution until a command or ASM code manually unblocks it. Generally used with specific commands and specials. If this command runs, and a subsequent command or piece of ASM does not unblock state, the script will remain blocked indefinitely (essentially a hang). + .macro waitstate + .byte 0x27 + .endm + + @ Blocks script execution for time (frames? milliseconds?). + .macro delay time + .byte 0x28 + .2byte \time + .endm + + @ Sets a to 1. + .macro setflag a + .byte 0x29 + .2byte \a + .endm + + @ Sets a to 0. + .macro clearflag a + .byte 0x2a + .2byte \a + .endm + + @ Compares a to 1. + .macro checkflag a + .byte 0x2b + .2byte \a + .endm + + @ Initializes the RTC`s local time offset to the given hour and minute. In FireRed, this command is a nop. + .macro initclock hour, minute + .byte 0x2c + .2byte \hour + .2byte \minute + .endm + + @ Runs time based events. In FireRed, this command is a nop. + .macro dodailyevents + .byte 0x2d + .endm + + @ Sets the values of variables 0x8000, 0x8001, and 0x8002 to the current hour, minute, and second. In FRLG, this command sets those variables to zero. + .macro gettime + .byte 0x2e + .endm + + @ Plays the specified (sound_number) sound. Only one sound may play at a time, with newer ones interrupting older ones. + .macro playse sound_number + .byte 0x2f + .2byte \sound_number + .endm + + @ Blocks script execution until the currently-playing sound (triggered by playse) finishes playing. + .macro waitse + .byte 0x30 + .endm + + @ Plays the specified (fanfare_number) fanfare. + .macro playfanfare fanfare_number + .byte 0x31 + .2byte \fanfare_number + .endm + + @ Blocks script execution until all currently-playing fanfares finish. + .macro waitfanfare + .byte 0x32 + .endm + + @ Plays the specified (song_number) song. The byte is apparently supposed to be 0x00. + .macro playbgm song_number, unknown + .byte 0x33 + .2byte \song_number + .byte \unknown + .endm + + @ Saves the specified (song_number) song to be played later. + .macro savebgm song_number + .byte 0x34 + .2byte \song_number + .endm + + @ Crossfades the currently-playing song into the map's default song. + .macro fadedefaultbgm + .byte 0x35 + .endm + + @ Crossfades the currently-playng song into the specified (song_number) song. + .macro fadenewbgm song_number + .byte 0x36 + .2byte \song_number + .endm + + @ Fades out the currently-playing song. + .macro fadeoutbgm speed + .byte 0x37 + .byte \speed + .endm + + @ Fades the previously-playing song back in. + .macro fadeinbgm speed + .byte 0x38 + .byte \speed + .endm + + @ Sends the player to Warp warp on Map bank.map. If the specified warp is 0xFF, then the player will instead be sent to (X, Y) on the map. + .macro warp map, warp, X, Y + .byte 0x39 + map \map + .byte \warp + .2byte \X + .2byte \Y + .endm + + @ Clone of warp that does not play a sound effect. + .macro warpsilent map, warp, X, Y + .byte 0x3a + map \map + .byte \warp + .2byte \X + .2byte \Y + .endm + + @ Clone of warp that plays a door opening animation before stepping upwards into it. + .macro warpdoor map, warp, X, Y + .byte 0x3b + map \map + .byte \warp + .2byte \X + .2byte \Y + .endm + + @ Warps the player to another map using a hole animation. + .macro warphole map + .byte 0x3c + map \map + .endm + + @ Clone of warp that uses a teleport effect. It is apparently only used in R/S/E. + .macro warpteleport map, warp, X, Y + .byte 0x3d + map \map + .byte \warp + .2byte \X + .2byte \Y + .endm + + @ Sets the warp destination to be used later. + .macro setwarp map, warp, X, Y + .byte 0x3e + map \map + .byte \warp + .2byte \X + .2byte \Y + .endm + + @ Sets the warp destination that a warp to Warp 127 on Map 127.127 will connect to. Useful when a map has warps that need to go to script-controlled locations (i.e. elevators). + .macro setdynamicwarp map, warp, X, Y + .byte 0x3f + map \map + .byte \warp + .2byte \X + .2byte \Y + .endm + + @ Sets the destination that diving or emerging from a dive will take the player to. + .macro setdivewarp map, warp, X, Y + .byte 0x40 + map \map + .byte \warp + .2byte \X + .2byte \Y + .endm + + @ Sets the destination that falling into a hole will take the player to. + .macro setholewarp map, warp, X, Y + .byte 0x41 + map \map + .byte \warp + .2byte \X + .2byte \Y + .endm + + @ Retrieves the player's zero-indexed X- and Y-coordinates in the map, and stores them in the specified variables. + .macro getplayerxy X, Y + .byte 0x42 + .2byte \X + .2byte \Y + .endm + + @ Retrieves the number of Pokemon in the player's party, and stores that number in variable 0x800D (LASTRESULT). + .macro getpartysize + .byte 0x43 + .endm + + @ Attempts to add quantity of item index to the player's Bag. If the player has enough room, the item will be added and variable 0x800D (LASTRESULT) will be set to 0x0001; otherwise, LASTRESULT is set to 0x0000. + .macro giveitem index, quantity + .byte 0x44 + .2byte \index + .2byte \quantity + .endm + + @ Removes quantity of item index from the player's Bag. + .macro takeitem index, quantity + .byte 0x45 + .2byte \index + .2byte \quantity + .endm + + @ Checks if the player has enough space in their Bag to hold quantity more of item index. Sets variable 0x800D (LASTRESULT) to 0x0001 if there is room, or 0x0000 is there is no room. + .macro checkitemspace index, quantity + .byte 0x46 + .2byte \index + .2byte \quantity + .endm + + @ Checks if the player has quantity or more of item index in their Bag. Sets variable 0x800D (LASTRESULT) to 0x0001 if the player has enough of the item, or 0x0000 if they have fewer than quantity of the item. + .macro checkitem index, quantity + .byte 0x47 + .2byte \index + .2byte \quantity + .endm + + @ Checks which Bag pocket the specified (index) item belongs in, and writes the value to variable 0x800D (LASTRESULT). This script is used to show the name of the proper Bag pocket when the player receives an item via callstd (simplified to giveitem in XSE). + .macro checkitemtype index + .byte 0x48 + .2byte \index + .endm + + @ Adds a quantity amount of item index to the player's PC. Both arguments can be variables. + .macro givepcitem index, quantity + .byte 0x49 + .2byte \index + .2byte \quantity + .endm + + @ Checks for quantity amount of item index in the player's PC. Both arguments can be variables. + .macro checkpcitem index, quantity + .byte 0x4a + .2byte \index + .2byte \quantity + .endm + + @ Adds decoration to the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.) + .macro givedecoration decoration + .byte 0x4b + .2byte \decoration + .endm + + @ Removes a decoration from the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.) + .macro takedecoration decoration + .byte 0x4c + .2byte \decoration + .endm + + @ Checks for decoration in the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.) + .macro checkdecor decoration + .byte 0x4d + .2byte \decoration + .endm + + @ Checks if the player has enough space in their PC to hold decoration. Sets variable 0x800D (LASTRESULT) to 0x0001 if there is room, or 0x0000 is there is no room. In FireRed, this command is a nop. (The argument is read, but not used for anything.) + .macro checkdecorspace decoration + .byte 0x4e + .2byte \decoration + .endm + + @ Applies the movement data at movements to the specified (index) Object. Also closes any standard message boxes that are still open. + @ If no map is specified, then the current map is used. + .macro applymovement index, movements, map + .ifb \map + .byte 0x4f + .2byte \index + .4byte \movements + .else + @ Really only useful if the object has followed from one map to another (e.g. Wally during the catching event). + .byte 0x50 + .2byte \index + .4byte \movements + map \map + .endif + .endm + + @ Blocks script execution until the movements being applied to the specified (index) Object finish. If the specified Object is 0x0000, then the command will block script execution until all Objects affected by applymovement finish their movements. If the specified Object is not currently being manipulated with applymovement, then this command does nothing. + @ If no map is specified, then the current map is used. + .macro waitmovement index, map + .ifb \map + .byte 0x51 + .2byte \index + .else + .byte 0x52 + .2byte \index + map \map + .endif + .endm + + @ Attempts to hide the specified (index) Object on the specified (map_group, map_num) map, by setting its visibility flag if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing. + @ If no map is specified, then the current map is used. + .macro removeobject index, map + .ifb \map + .byte 0x53 + .2byte \index + .else + .byte 0x54 + .2byte \index + map \map + .endif + .endm + + @ Unsets the specified (index) Object's visibility flag on the specified (map_group, map_num) map if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing. + @ If no map is specified, then the current map is used. + .macro addobject index, map + .ifb \map + .byte 0x55 + .2byte \index + .else + .byte 0x56 + .2byte \index + map \map + .endif + .endm + + @ Sets the specified (index) Object's position on the current map. + .macro setobjectxy index, x, y + .byte 0x57 + .2byte \index + .2byte \x + .2byte \y + .endm + + .macro showobjectat index, map + .byte 0x58 + .2byte \index + map \map + .endm + + .macro hideobjectat index, map + .byte 0x59 + .2byte \index + map \map + .endm + + @ If the script was called by an Object, then that Object will turn to face toward the metatile that the player is standing on. + .macro faceplayer + .byte 0x5a + .endm + + .macro turnobject index, direction + .byte 0x5b + .2byte \index + .byte \direction + .endm + + @ If the Trainer flag for Trainer index is not set, this command does absolutely nothing. + .macro trainerbattle type, trainer, word, pointer1, pointer2, pointer3, pointer4 + .byte 0x5c + .byte \type + .2byte \trainer + .2byte \word + .if \type == 0 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .elseif \type == 1 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .4byte \pointer3 @ event script + .elseif \type == 2 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .4byte \pointer3 @ event script + .elseif \type == 3 + .4byte \pointer1 @ text + .elseif \type == 4 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .4byte \pointer3 @ text + .elseif \type == 5 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .elseif \type == 6 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .4byte \pointer3 @ text + .4byte \pointer4 @ event script + .elseif \type == 7 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .4byte \pointer3 @ text + .elseif \type == 8 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .4byte \pointer3 @ text + .4byte \pointer4 @ event script + .elseif \type == 9 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .elseif \type == 10 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .elseif \type == 11 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .elseif \type == 12 + .4byte \pointer1 @ text + .4byte \pointer2 @ text + .endif + .endm + + + @ Starts a trainer battle using the battle information stored in RAM (usually by trainerbattle, which actually calls this command behind-the-scenes), and blocks script execution until the battle finishes. + .macro trainerbattlebegin + .byte 0x5d + .endm + + @ Goes to address after the trainerbattle command (called by the battle functions, see battle_setup.c) + .macro gotopostbattlescript + .byte 0x5e + .endm + + @ Goes to address specified in the trainerbattle command (called by the battle functions, see battle_setup.c) + .macro gotobeatenscript + .byte 0x5f + .endm + + @ Compares Flag (trainer + 0x500) to 1. (If the flag is set, then the trainer has been defeated by the player.) + .macro checktrainerflag trainer + .byte 0x60 + .2byte \trainer + .endm + + @ Sets Flag (trainer + 0x500). + .macro settrainerflag trainer + .byte 0x61 + .2byte \trainer + .endm + + @ Clears Flag (trainer + 0x500). + .macro cleartrainerflag trainer + .byte 0x62 + .2byte \trainer + .endm + + .macro setobjectxyperm index, x, y + .byte 0x63 + .2byte \index + .2byte \x + .2byte \y + .endm + + .macro moveobjectoffscreen index + .byte 0x64 + .2byte \index + .endm + + .macro setobjectmovementtype word, byte + .byte 0x65 + .2byte \word + .byte \byte + .endm + + @ If a standard message box (or its text) is being drawn on-screen, this command blocks script execution until the box and its text have been fully drawn. + .macro waitmessage + .byte 0x66 + .endm + + @ Starts displaying a standard message box containing the specified text. If text is a pointer, then the string at that offset will be loaded and used. If text is script bank 0, then the value of script bank 0 will be treated as a pointer to the text. (You can use loadpointer to place a string pointer in a script bank.) + .macro message text + .byte 0x67 + .4byte \text + .endm + + @ Closes the current message box. + .macro closemessage + .byte 0x68 + .endm + + @ Ceases movement for all Objects on-screen. + .macro lockall + .byte 0x69 + .endm + + @ If the script was called by an Object, then that Object's movement will cease. + .macro lock + .byte 0x6a + .endm + + @ Resumes normal movement for all Objects on-screen, and closes any standard message boxes that are still open. + .macro releaseall + .byte 0x6b + .endm + + @ If the script was called by an Object, then that Object's movement will resume. This command also closes any standard message boxes that are still open. + .macro release + .byte 0x6c + .endm + + @ Blocks script execution until the player presses any key. + .macro waitbuttonpress + .byte 0x6d + .endm + + @ Displays a YES/NO multichoice box at the specified coordinates, and blocks script execution until the user makes a selection. Their selection is stored in variable 0x800D (LASTRESULT); 0x0000 for "NO" or if the user pressed B, and 0x0001 for "YES". + .macro yesnobox x, y + .byte 0x6e + .byte \x + .byte \y + .endm + + @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button. + .macro multichoice x, y, list, b + .byte 0x6f + .byte \x + .byte \y + .byte \list + .byte \b + .endm + + @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. The default argument determines the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0x00. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button. + .macro multichoicedefault x, y, list, default, b + .byte 0x70 + .byte \x + .byte \y + .byte \list + .byte \default + .byte \b + .endm + + @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. The per_row argument determines how many list items will be shown on a single row of the box. + .macro multichoicegrid x, y, list, per_row, B + .byte 0x71 + .byte \x + .byte \y + .byte \list + .byte \per_row + .byte \B + .endm + + @ Nopped in Emerald. + .macro drawbox + .byte 0x72 + .endm + + @ Nopped in Emerald, but still consumes parameters. + .macro erasebox byte1, byte2, byte3, byte4 + .byte 0x73 + .byte \byte1 + .byte \byte2 + .byte \byte3 + .byte \byte4 + .endm + + @ Nopped in Emerald, but still consumes parameters. + .macro drawboxtext byte1, byte2, byte3, byte4 + .byte 0x74 + .byte \byte1 + .byte \byte2 + .byte \byte3 + .byte \byte4 + .endm + + @ Displays a box containing the front sprite for the specified (species) Pokemon species. + .macro drawmonpic species, x, y + .byte 0x75 + .2byte \species + .byte \x + .byte \y + .endm + + @ Hides all boxes displayed with drawmonpic. + .macro erasemonpic + .byte 0x76 + .endm + + @ Draws an image of the winner of the contest. In FireRed, this command is a nop. (The argument is discarded.) + .macro drawcontestwinner a + .byte 0x77 + .byte \a + .endm + + @ Displays the string at pointer as braille text in a standard message box. The string must be formatted to use braille characters and needs to provide six extra starting characters that are skipped (in RS, these characters determined the box's size and position, but in Emerald these are calculated automatically). + .macro braillemessage text + .byte 0x78 + .4byte \text + .endm + + @ Gives the player one of the specified (species) Pokemon at level level holding item. The unknown arguments should all be zeroes. + .macro givemon species, level, item, unknown1, unknown2, unknown3 + .byte 0x79 + .2byte \species + .byte \level + .2byte \item + .4byte \unknown1 + .4byte \unknown2 + .byte \unknown3 + .endm + + .macro giveegg species + .byte 0x7a + .2byte \species + .endm + + .macro setmonmove index, slot, move + .byte 0x7b + .byte \index + .byte \slot + .2byte \move + .endm + + @ Checks if at least one Pokemon in the player's party knows the specified (index) attack. If so, variable 0x800D (LASTRESULT) is set to the (zero-indexed) slot number of the first Pokemon that knows the move. If not, LASTRESULT is set to 0x0006. Variable 0x8004 is also set to this Pokemon's species. + .macro checkpartymove index + .byte 0x7c + .2byte \index + .endm + + @ Writes the name of the Pokemon at index species to the specified buffer. + .macro bufferspeciesname out, species + .byte 0x7d + .byte \out + .2byte \species + .endm + + @ Writes the name of the species of the first Pokemon in the player's party to the specified buffer. + .macro bufferleadmonspeciesname out + .byte 0x7e + .byte \out + .endm + + @ Writes the nickname of the Pokemon in slot slot (zero-indexed) of the player's party to the specified buffer. If an empty or invalid slot is specified, ten spaces ("") are written to the buffer. + .macro bufferpartymonnick out, slot + .byte 0x7f + .byte \out + .2byte \slot + .endm + + @ Writes the name of the item at index item to the specified buffer. If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead. + .macro bufferitemname out, item + .byte 0x80 + .byte \out + .2byte \item + .endm + + @ Writes the name of the decoration at index decoration to the specified buffer. In FireRed, this command is a nop. + .macro bufferdecorationname out, decoration + .byte 0x81 + .byte \out + .2byte \decoration + .endm + + @ Writes the name of the move at index move to the specified buffer. + .macro buffermovename out, move + .byte 0x82 + .byte \out + .2byte \move + .endm + + @ Converts the value of input to a decimal string, and writes that string to the specified buffer. + .macro buffernumberstring out, input + .byte 0x83 + .byte \out + .2byte \input + .endm + + @ Writes the standard string identified by index to the specified buffer. This command has no protections in place at all, so specifying an invalid standard string (e.x. 0x2B) can and usually will cause data corruption. + .macro bufferstdstring out, index + .byte 0x84 + .byte \out + .2byte \index + .endm + + @ Copies the string at offset to the specified buffer. + .macro bufferstring out, offset + .byte 0x85 + .byte \out + .4byte \offset + .endm + + @ Opens the Pokemart system, offering the specified products for sale. + .macro pokemart products + .byte 0x86 + .4byte \products + .endm + + @ Opens the Pokemart system and treats the list of items as decorations. + .macro pokemartdecoration products + .byte 0x87 + .4byte \products + .endm + + @ Apparent clone of pokemartdecoration. + .macro pokemartdecoration2 products + .byte 0x88 + .4byte \products + .endm + + @ Starts up the slot machine minigame. + .macro playslotmachine word + .byte 0x89 + .2byte \word + .endm + + @ Sets a berry tree's specific berry and growth stage. In FireRed, this command is a nop. + .macro setberrytree tree_id, berry, growth_stage + .byte 0x8a + .byte \tree_id + .byte \berry + .byte \growth_stage + .endm + + @ This allows you to choose a Pokemon to use in a contest. In FireRed, this command sets the byte at 0x03000EA8 to 0x01. + .macro choosecontestmon + .byte 0x8b + .endm + + @ Starts a contest. In FireRed, this command is a nop. + .macro startcontest + .byte 0x8c + .endm + + @ Shows the results of a contest. In FireRed, this command is a nop. + .macro showcontestresults + .byte 0x8d + .endm + + @ Starts a contest over a link connection. In FireRed, this command is a nop. + .macro contestlinktransfer + .byte 0x8e + .endm + + @ Stores a random integer between 0 and limit in variable 0x800D (LASTRESULT). + .macro random limit + .byte 0x8f + .2byte \limit + .endm + + @ If check is 0x00, this command adds value to the player's money. + .macro givemoney value, check + .byte 0x90 + .4byte \value + .byte \check + .endm + + @ If check is 0x00, this command subtracts value from the player's money. + .macro takemoney value, check + .byte 0x91 + .4byte \value + .byte \check + .endm + + @ If check is 0x00, this command will check if the player has value or more money; script variable 0x800D (LASTRESULT) is set to 0x0001 if the player has enough money, or 0x0000 if the do not. + .macro checkmoney value, check + .byte 0x92 + .4byte \value + .byte \check + .endm + + @ Spawns a secondary box showing how much money the player has. + .macro showmoneybox x, y, check + .byte 0x93 + .byte \x + .byte \y + .byte \check + .endm + + @ Hides the secondary box spawned by showmoney. + .macro hidemoneybox + .byte 0x94 + .endm + + @ Updates the secondary box spawned by showmoney. Consumes but does not use arguments. + .macro updatemoneybox x, y + .byte 0x95 + .byte \x + .byte \y + .endm + + @ Gets the price reduction for the index given. In FireRed, this command is a nop. + .macro getpricereduction index + .byte 0x96 + .2byte \index + .endm + + @ Fades the screen to and from black and white. Mode 0x00 fades from black, mode 0x01 fades out to black, mode 0x2 fades in from white, and mode 0x3 fades out to white. + .macro fadescreen effect + .byte 0x97 + .byte \effect + .endm + + @ Fades the screen to and from black and white. Mode 0x00 fades from black, mode 0x01 fades out to black, mode 0x2 fades in from white, and mode 0x3 fades out to white. Other modes may exist. + .macro fadescreenspeed effect, speed + .byte 0x98 + .byte \effect + .byte \speed + .endm + + .macro setflashradius word + .byte 0x99 + .2byte \word + .endm + + .macro animateflash byte + .byte 0x9a + .byte \byte + .endm + + .macro messageautoscroll pointer + .byte 0x9b + .4byte \pointer + .endm + + @ Executes the specified field move animation. + .macro dofieldeffect animation + .byte 0x9c + .2byte \animation + .endm + + @ Sets up the field effect argument argument with the value value. + .macro setfieldeffectargument argument, param + .byte 0x9d + .byte \argument + .2byte \param + .endm + + @ Blocks script execution until all playing field move animations complete. + .macro waitfieldeffect animation + .byte 0x9e + .2byte \animation + .endm + + @ Sets which healing place the player will return to if all of the Pokemon in their party faint. + .macro setrespawn heallocation + .byte 0x9f + .2byte \heallocation + .endm + + @ Checks the player's gender. If male, then 0x0000 is stored in variable 0x800D (LASTRESULT). If female, then 0x0001 is stored in LASTRESULT. + .macro checkplayergender + .byte 0xa0 + .endm + + @ Plays the specified (species) Pokemon's cry. You can use waitcry to block script execution until the sound finishes. + .macro playmoncry species, effect + .byte 0xa1 + .2byte \species + .2byte \effect + .endm + + @ Changes the metatile at (x, y) on the current map. + .macro setmetatile x, y, metatile_number, tile_attrib + .byte 0xa2 + .2byte \x + .2byte \y + .2byte \metatile_number + .2byte \tile_attrib + .endm + + @ Queues a weather change to the default weather for the map. + .macro resetweather + .byte 0xa3 + .endm + + @ Queues a weather change to type weather. + .macro setweather type + .byte 0xa4 + .2byte \type + .endm + + @ Executes the weather change queued with resetweather or setweather. The current weather will smoothly fade into the queued weather. + .macro doweather + .byte 0xa5 + .endm + + @ This command manages cases in which maps have tiles that change state when stepped on (specifically, cracked/breakable floors). + .macro setstepcallback subroutine + .byte 0xa6 + .byte \subroutine + .endm + + .macro setmaplayoutindex index + .byte 0xa7 + .2byte \index + .endm + + .macro setobjectpriority index, map, priority + .byte 0xa8 + .2byte \index + map \map + .byte \priority + .endm + + .macro resetobjectpriority index, map + .byte 0xa9 + .2byte \index + map \map + .endm + + .macro createvobject sprite, byte2, x, y, elevation, direction + .byte 0xaa + .byte \sprite + .byte \byte2 + .2byte \x + .2byte \y + .byte \elevation + .byte \direction + .endm + + .macro turnvobject index, direction + .byte 0xab + .byte \index + .byte \direction + .endm + + @ Opens the door metatile at (X, Y) with an animation. + .macro opendoor x, y + .byte 0xac + .2byte \x + .2byte \y + .endm + + @ Closes the door metatile at (X, Y) with an animation. + .macro closedoor x, y + .byte 0xad + .2byte \x + .2byte \y + .endm + + @ Waits for the door animation started with opendoor or closedoor to finish. + .macro waitdooranim + .byte 0xae + .endm + + @ Sets the door tile at (x, y) to be open without an animation. + .macro setdooropen x, y + .byte 0xaf + .2byte \x + .2byte \y + .endm + + @ Sets the door tile at (x, y) to be closed without an animation. + .macro setdoorclosed x, y + .byte 0xb0 + .2byte \x + .2byte \y + .endm + + @ In Emerald, this command consumes its parameters and does nothing. In FireRed, this command is a nop. + .macro addelevmenuitem a, b, c, d + .byte 0xb1 + .byte \a + .2byte \b + .2byte \c + .2byte \d + .endm + + @ In FireRed and Emerald, this command is a nop. + .macro showelevmenu + .byte 0xb2 + .endm + + .macro checkcoins out + .byte 0xb3 + .2byte \out + .endm + + .macro givecoins count + .byte 0xb4 + .2byte \count + .endm + + .macro takecoins count + .byte 0xb5 + .2byte \count + .endm + + @ Prepares to start a wild battle against a species at Level level holding item. Running this command will not affect normal wild battles. You start the prepared battle with dowildbattle. + .macro setwildbattle species, level, item + .byte 0xb6 + .2byte \species + .byte \level + .2byte \item + .endm + + @ Starts a wild battle against the Pokemon generated by setwildbattle. Blocks script execution until the battle finishes. + .macro dowildbattle + .byte 0xb7 + .endm + + .macro setvaddress pointer + .byte 0xb8 + .4byte \pointer + .endm + + .macro vgoto pointer + .byte 0xb9 + .4byte \pointer + .endm + + .macro vcall pointer + .byte 0xba + .4byte \pointer + .endm + + .macro vgoto_if byte, pointer + .byte 0xbb + .byte \byte + .4byte \pointer + .endm + + .macro vcall_if byte, pointer + .byte 0xbc + .byte \byte + .4byte \pointer + .endm + + .macro vmessage pointer + .byte 0xbd + .4byte \pointer + .endm + + .macro vloadptr pointer + .byte 0xbe + .4byte \pointer + .endm + + .macro vbufferstring byte, pointer + .byte 0xbf + .byte \byte + .4byte \pointer + .endm + + @ Spawns a secondary box showing how many Coins the player has. + .macro showcoinsbox x, y + .byte 0xc0 + .byte \x + .byte \y + .endm + + @ Hides the secondary box spawned by showcoins. It consumes its arguments but doesn't use them. + .macro hidecoinsbox x, y + .byte 0xc1 + .byte \x + .byte \y + .endm + + @ Updates the secondary box spawned by showcoins. It consumes its arguments but doesn't use them. + .macro updatecoinsbox x, y + .byte 0xc2 + .byte \x + .byte \y + .endm + + @ Increases the value of the specified game stat by 1. The stat's value will not be allowed to exceed 0x00FFFFFF. + .macro incrementgamestat stat + .byte 0xc3 + .byte \stat + .endm + + @ Sets the destination that using an Escape Rope or Dig will take the player to. + .macro setescapewarp map, warp, x, y + .byte 0xc4 + map \map + .byte \warp + .2byte \x + .2byte \y + .endm + + @ Blocks script execution until cry finishes. + .macro waitmoncry + .byte 0xc5 + .endm + + @ Writes the name of the specified (box) PC box to the specified buffer. + .macro bufferboxname out, box + .byte 0xc6 + .byte \out + .2byte \box + .endm + + @ Sets the color of the text in standard message boxes. 0x00 produces blue (male) text, 0x01 produces red (female) text, 0xFF resets the color to the default for the current OW's gender, and all other values produce black text. + .macro textcolor color + .byte 0xc7 + .byte \color + .endm + + @ The exact purpose of this command is unknown, but it is related to the blue help-text box that appears on the bottom of the screen when the Main Menu is opened. + .macro loadhelp pointer + .byte 0xc8 + .4byte \pointer + .endm + + @ The exact purpose of this command is unknown, but it is related to the blue help-text box that appears on the bottom of the screen when the Main Menu is opened. + .macro unloadhelp + .byte 0xc9 + .endm + + @ After using this command, all standard message boxes will use the signpost frame. + .macro signmsg + .byte 0xca + .endm + + @ Ends the effects of signmsg, returning message box frames to normal. + .macro normalmsg + .byte 0xcb + .endm + + @ Compares the value of a hidden variable to a dword. + .macro comparehiddenvar a, value + .byte 0xcc + .byte \a + .4byte \value + .endm + + @ Makes the Pokemon in the specified slot of the player's party obedient. It will not randomly disobey orders in battle. + .macro setmonobedient slot + .byte 0xcd + .2byte \slot + .endm + + @ Checks if the Pokemon in the specified slot of the player's party is obedient. If the Pokemon is disobedient, 0x0001 is written to script variable 0x800D (LASTRESULT). If the Pokemon is obedient (or if the specified slot is empty or invalid), 0x0000 is written. + .macro checkmonobedience slot + .byte 0xce + .2byte \slot + .endm + + @ Depending on factors I haven't managed to understand yet, this command may cause script execution to jump to the offset specified by the pointer at 0x020375C0. + .macro execram + .byte 0xcf + .endm + + @ Sets worldmapflag to 1. This allows the player to Fly to the corresponding map, if that map has a flightspot. + .macro setworldmapflag worldmapflag + .byte 0xd0 + .2byte \worldmapflag + .endm + + @ Clone of warpteleport? It is apparently only used in FR/LG, and only with specials.[source] + .macro warpteleport2 map, warp, x, y + .byte 0xd1 + map \map + .byte \warp + .2byte \x + .2byte \y + .endm + + @ Changes the location where the player caught the Pokemon in the specified slot of their party. + .macro setmonmetlocation slot, location + .byte 0xd2 + .2byte \slot + .byte \location + .endm + + .macro mossdeepgym1 unknown + .byte 0xd3 + .2byte \unknown + .endm + + .macro mossdeepgym2 + .byte 0xd4 + .endm + + @ In FireRed, this command is a nop. + .macro mossdeepgym3 var + .byte 0xd5 + .2byte \var + .endm + + .macro mossdeepgym4 + .byte 0xd6 + .endm + + .macro warp7 map, byte, word1, word2 + .byte 0xd7 + map \map + .byte \byte + .2byte \word1 + .2byte \word2 + .endm + + .macro cmdD8 + .byte 0xd8 + .endm + + .macro cmdD9 + .byte 0xd9 + .endm + + .macro hidebox2 + .byte 0xda + .endm + + .macro message3 pointer + .byte 0xdb + .4byte \pointer + .endm + + .macro fadescreenswapbuffers byte + .byte 0xdc + .byte \byte + .endm + + .macro buffertrainerclassname out, class + .byte 0xdd + .byte \out + .2byte \class + .endm + + .macro buffertrainername out, trainer + .byte 0xde + .byte \out + .2byte \trainer + .endm + + .macro pokenavcall pointer + .byte 0xdf + .4byte \pointer + .endm + + .macro warp8 map, byte, word1, word2 + .byte 0xe0 + map \map + .byte \byte + .2byte \word1 + .2byte \word2 + .endm + + .macro buffercontesttypestring out, word + .byte 0xe1 + .byte \out + .2byte \word + .endm + + @ Writes the name of the specified (item) item to the specified buffer. If the specified item is a Berry (0x85 - 0xAE) or Poke Ball (0x4) and if the quantity is 2 or more, the buffered string will be pluralized ("IES" or "S" appended). If the specified item is the Enigma Berry, I have no idea what this command does (but testing showed no pluralization). If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead. + .macro bufferitemnameplural out, item, quantity + .byte 0xe2 + .byte \out + .2byte \item + .2byte \quantity + .endm + + +@ Supplementary + + .macro goto_eq dest + goto_if 1, \dest + .endm + + .macro switch var + copyvar 0x8000, \var + .endm + + .macro case condition, dest + compare_var_to_value 0x8000, \condition + goto_eq \dest + .endm + + .macro msgbox text, type=4 + loadword 0, \text + callstd \type + .endm + + @ Message box types + MSGBOX_YESNO = 5 + + YES = 1 + NO = 0 + + .macro giveitem_std item, amount=1, function=0 + setorcopyvar 0x8000, \item + setorcopyvar 0x8001, \amount + callstd \function + .endm + + .macro givedecoration_std decoration + setorcopyvar 0x8000, \decoration + callstd 7 + .endm diff --git a/asm/macros/event.s b/asm/macros/event.s deleted file mode 100644 index b5fefb925d..0000000000 --- a/asm/macros/event.s +++ /dev/null @@ -1,1413 +0,0 @@ - @ Does nothing. - .macro snop - .byte 0x00 - .endm - - @ Does nothing. - .macro snop1 - .byte 0x01 - .endm - - @ Terminates script execution. - .macro end - .byte 0x02 - .endm - - @ Jumps back to after the last-executed call statement, and continues script execution from there. - .macro return - .byte 0x03 - .endm - - @ Jumps to destination and continues script execution from there. The location of the calling script is remembered and can be returned to later. - .macro call destination - .byte 0x04 - .4byte \destination - .endm - - @ Jumps to destination and continues script execution from there. - .macro jump destination - .byte 0x05 - .4byte \destination - .endm - - @ If the result of the last comparison matches condition (see Comparison operators), jumps to destination and continues script execution from there. - .macro jumpif condition, destination - .byte 0x06 - .byte \condition - .4byte \destination - .endm - - @ If the result of the last comparison matches condition (see Comparison operators), calls destination. - .macro callif condition, destination - .byte 0x07 - .byte \condition - .4byte \destination - .endm - - @ Jumps to the standard function at index function. - .macro jumpstd function - .byte 0x08 - .byte \function - .endm - - @ Calls the standard function at index function. - .macro callstd function - .byte 0x09 - .byte \function - .endm - - @ If the result of the last comparison matches condition (see Comparison operators), jumps to the standard function at index function. - .macro jumpstdif condition, function - .byte 0x0a - .byte \condition - .byte \function - .endm - - @ If the result of the last comparison matches condition (see Comparison operators), calls the standard function at index function. - .macro callstdif condition, function - .byte 0x0b - .byte \condition - .byte \function - .endm - - @ Executes a script stored in a default RAM location. - .macro jumpram - .byte 0x0c - .endm - - @ Terminates script execution and "resets the script RAM". - .macro die - .byte 0x0d - .endm - - @ Pads the specified value to a dword, and then writes that dword to a predefined address (0x0203AAA8). - .macro setbyte value - .byte 0x0e - .byte \value - .endm - - @ Sets the specified script bank to value. - .macro loadptr destination, value - .byte 0x0f - .byte \destination - .4byte \value - .endm - - @ Sets the specified script bank to value. - .macro setbufferbyte destination, value - .byte 0x10 - .byte \destination - .byte \value - .endm - - @ Sets the byte at offset to value. - .macro writebytetooffset value, offset - .byte 0x11 - .byte \value - .4byte \offset - .endm - - @ Copies the byte value at source into the specified script bank. - .macro loadbytefrompointer destination, source - .byte 0x12 - .byte \destination - .4byte \source - .endm - - @ Not sure. Judging from XSE's description I think it takes the least-significant byte in bank source and writes it to destination. - .macro setptrbyte source, destination - .byte 0x13 - .byte \source - .4byte \destination - .endm - - @ Copies the contents of bank source into bank destination. - .macro copybuffers destination, source - .byte 0x14 - .byte \destination - .byte \source - .endm - - @ Copies the byte at source to destination, replacing whatever byte was previously there. - .macro copybyte destination, source - .byte 0x15 - .4byte \destination - .4byte \source - .endm - - @ Changes the value of destination to value. - .macro setvar destination, value - .byte 0x16 - .2byte \destination - .2byte \value - .endm - - @ Changes the value of destination by adding value to it. Overflow is not prevented (0xFFFF + 1 = 0x0000). - .macro addvar destination, value - .byte 0x17 - .2byte \destination - .2byte \value - .endm - - @ Changes the value of destination by subtracting value to it. Overflow is not prevented (0x0000 - 1 = 0xFFFF). - .macro subvar destination, value - .byte 0x18 - .2byte \destination - .2byte \value - .endm - - @ Copies the value of source into destination. - .macro copyvar destination, source - .byte 0x19 - .2byte \destination - .2byte \source - .endm - - @ If source is not a variable, then this function acts like setvar. Otherwise, it acts like copyvar. - .macro setorcopyvar destination, source - .byte 0x1a - .2byte \destination - .2byte \source - .endm - - @ Compares the values of script banks a and b, after forcing the values to bytes. - .macro comparebuffers byte1, byte2 - .byte 0x1b - .byte \byte1 - .byte \byte2 - .endm - - @ Compares the least-significant byte of the value of script bank a to a fixed byte value (b). - .macro comparebuffertobyte a, b - .byte 0x1c - .byte \a - .byte \b - .endm - - @ Compares the least-significant byte of the value of script bank a to the byte located at offset b. - .macro comparebuffertoptrbyte a, b - .byte 0x1d - .byte \a - .4byte \b - .endm - - @ Compares the byte located at offset a to the least-significant byte of the value of script bank b. - .macro compareptrbytetobuffer a, b - .byte 0x1e - .4byte \a - .byte \b - .endm - - @ Compares the byte located at offset a to a fixed byte value (b). - .macro compareptrbytetobyte a, b - .byte 0x1f - .4byte \a - .byte \b - .endm - - @ Compares the byte located at offset a to the byte located at offset b. - .macro compareptrbytes a, b - .byte 0x20 - .4byte \a - .4byte \b - .endm - - @ Compares the value of a to a fixed word value (b). - .macro compare a, b - .byte 0x21 - .2byte \a - .2byte \b - .endm - - @ Compares the value of a to the value of b. - .macro comparevars a, b - .byte 0x22 - .2byte \a - .2byte \b - .endm - - @ Calls the ASM routine stored at code. Script execution is blocked until the ASM returns (bx lr, mov pc, lr, etc.). Remember to add 1 to the offset when calling THUMB code. - .macro callasm code - .byte 0x23 - .4byte \code - .endm - - @ Replaces a pointer in the script engine RAM with asm_pointer. - .macro jumpasm asm_pointer - .byte 0x24 - .4byte \asm_pointer - .endm - - @ Calls a special function; that is, a piece of ASM code designed for use by scripts and listed in a table of pointers. - .macro special function - .byte 0x25 - .2byte SPECIAL_\function - .endm - - @ Calls a special function. That function's output (if any) will be written to the variable you specify. - .macro specialval output, function - .byte 0x26 - .2byte \output - .2byte SPECIAL_\function - .endm - - @ Blocks script execution until a command or ASM code manually unblocks it. Generally used with specific commands and specials. If this command runs, and a subsequent command or piece of ASM does not unblock state, the script will remain blocked indefinitely (essentially a hang). - .macro waitstate - .byte 0x27 - .endm - - @ Blocks script execution for time (frames? milliseconds?). - .macro pause time - .byte 0x28 - .2byte \time - .endm - - @ Sets a to 1. - .macro setflag a - .byte 0x29 - .2byte \a - .endm - - @ Sets a to 0. - .macro clearflag a - .byte 0x2a - .2byte \a - .endm - - @ Compares a to 1. - .macro checkflag a - .byte 0x2b - .2byte \a - .endm - - @ In FireRed, this command is a nop. - .macro compareflags - .byte 0x2c - .endm - - @ In FireRed, this command is a nop. - .macro checkdailyflags - .byte 0x2d - .endm - - @ Resets the values of variables 0x8000, 0x8001, and 0x8002. Related to RTC in RSE? - .macro resetvars - .byte 0x2e - .endm - - @ Plays the specified (sound_number) sound. Only one sound may play at a time, with newer ones interrupting older ones. - .macro playsfx sound_number - .byte 0x2f - .2byte \sound_number - .endm - - @ Blocks script execution until the currently-playing sound (triggered by sound) finishes playing. - .macro checksound - .byte 0x30 - .endm - - @ Plays the specified (fanfare_number) fanfare. - .macro fanfare fanfare_number - .byte 0x31 - .2byte \fanfare_number - .endm - - @ Blocks script execution until all currently-playing fanfares finish. - .macro waitfanfare - .byte 0x32 - .endm - - @ Plays the specified (song_number) song. The byte is apparently supposed to be 0x00. - .macro playmusic song_number, unknown - .byte 0x33 - .2byte \song_number - .byte \unknown - .endm - - @ Plays the specified (song_number) song. - .macro playmusicbattle song_number - .byte 0x34 - .2byte \song_number - .endm - - @ Crossfades the currently-playing song into the map's default song. - .macro fadedefault - .byte 0x35 - .endm - - @ Crossfades the currently-playng song into the specified (song_number) song. - .macro fademusic song_number - .byte 0x36 - .2byte \song_number - .endm - - @ Fades out the currently-playing song. - .macro fadeout speed - .byte 0x37 - .byte \speed - .endm - - @ Fades the currently-playing song back in. - .macro fadein speed - .byte 0x38 - .byte \speed - .endm - - @ Sends the player to Warp warp on Map bank.map. If the specified warp is 0xFF, then the player will instead be sent to (X, Y) on the map. - .macro warp bank, map, warp, X, Y - .byte 0x39 - .byte \bank - .byte \map - .byte \warp - .2byte \X - .2byte \Y - .endm - - @ Clone of warp that does not play a sound effect. - .macro warpmuted - .byte 0x3a - .endm - - @ Clone of warp that uses "a walking effect". - .macro warpwalk - .byte 0x3b - .endm - - @ Warps the player to another map using a hole animation. - .macro warphole bank, map - .byte 0x3c - .byte \bank - .byte \map - .endm - - @ Clone of warp that uses a teleport effect. It is apparently only used in R/S/E.[source] - .macro warpteleport - .byte 0x3d - .endm - - @ Clone of warp. Used by an (unused?) Safari Zone script to return the player to the gatehouse and end the Safari Game. - .macro warp3 - .byte 0x3e - .endm - - @ Sets a default warp place. If a warp tries to send the player to Warp 127 on Map 127.127, they will instead be sent here. Useful when a map has warps that need to go to script-controlled locations (i.e. elevators). - .macro warpplace bank, map, warp, X, Y - .byte 0x3f - .byte \bank - .byte \map - .byte \warp - .2byte \X - .2byte \Y - .endm - - @ Clone of warp3, except that this writes data to different offsets... - .macro warp4 - .byte 0x40 - .endm - - @ Clone of warp3, except that this writes data to different offsets... - .macro warp5 - .byte 0x41 - .endm - - @ Retrieves the player's zero-indexed X- and Y-coordinates in the map, and stores them in the specified variables. - .macro getplayerxy X, Y - .byte 0x42 - .2byte \X - .2byte \Y - .endm - - @ Retrieves the number of Pokmon in the player's party, and stores that number in variable 0x800D (LASTRESULT). - .macro countpokemon - .byte 0x43 - .endm - - @ Attempts to add quantity of item index to the player's Bag. If the player has enough room, the item will be added and variable 0x800D (LASTRESULT) will be set to 0x0001; otherwise, LASTRESULT is set to 0x0000. - .macro additem index, quantity - .byte 0x44 - .2byte \index - .2byte \quantity - .endm - - @ Removes quantity of item index from the player's Bag. - .macro removeitem index, quantity - .byte 0x45 - .2byte \index - .2byte \quantity - .endm - - @ Checks if the player has enough space in their Bag to hold quantity more of item index. Sets variable 0x800D (LASTRESULT) to 0x0001 if there is room, or 0x0000 is there is no room. - .macro checkitemspace index, quantity - .byte 0x46 - .2byte \index - .2byte \quantity - .endm - - @ Checks if the player has quantity or more of item index in their Bag. Sets variable 0x800D (LASTRESULT) to 0x0001 if the player has enough of the item, or 0x0000 if they have fewer than quantity of the item. - .macro checkitem index, quantity - .byte 0x47 - .2byte \index - .2byte \quantity - .endm - - @ Checks which Bag pocket the specified (index) item belongs in, and writes the value to variable 0x800D (LASTRESULT). This script is used to show the name of the proper Bag pocket when the player receives an item via callstd (simplified to giveitem in XSE). - .macro checkitemtype index - .byte 0x48 - .2byte \index - .endm - - @ Adds a quantity amount of item index to the player's PC. Both arguments can be variables. - .macro addpcitem index, quantity - .byte 0x49 - .2byte \index - .2byte \quantity - .endm - - @ Checks for quantity amount of item index in the player's PC. Both arguments can be variables. - .macro checkpcitem index, quantity - .byte 0x4a - .2byte \index - .2byte \quantity - .endm - - @ In FireRed, this command is a nop. (The argument is read, but not used for anything.) - .macro adddecor a - .byte 0x4b - .2byte \a - .endm - - @ In FireRed, this command is a nop. (The argument is read, but not used for anything.) - .macro removedecor a - .byte 0x4c - .2byte \a - .endm - - @ In FireRed, this command is a nop. (The argument is read, but not used for anything.) - .macro testdecor a - .byte 0x4d - .2byte \a - .endm - - @ In FireRed, this command is a nop. (The argument is read, but not used for anything.) - .macro checkdecor a - .byte 0x4e - .2byte \a - .endm - - @ Applies the movement data at movements to the specified (index) Person event. Also closes any standard message boxes that are still open. - .macro move index, movements - .byte 0x4f - .2byte \index - .4byte \movements - .endm - - @ Apparent clone of applymovement. Oddly, it doesn't seem to work at all if applied to any Person other than the player (0xFF), and the X and Y arguments don't seem to do anything. - @ This command in fact uses variables to access the Person event ID. So, for example, if you setvar 0x8000 to 0x3, and then use applymovementpos 0x8000 @move1, Person event 3 will have the movements at @move1 applied to them. Thank you Shiny Quagsire for bringing this to my attention. - .macro movecoords variable, movements - .byte 0x50 - .2byte \variable - .4byte \movements - .endm - - @ Blocks script execution until the movements being applied to the specified (index) Person event finish. If the specified Person event is 0x0000, then the command will block script execution until all Person events affected by applymovement finish their movements. If the specified Person event is not currently being manipulated with applymovement, then this command does nothing. - .macro waitmove index - .byte 0x51 - .2byte \index - .endm - - @ Apparent clone of waitmovement. Oddly, it doesn't seem to work at all if applied to any Person other than the player (0xFF), and the X and Y arguments don't seem to do anything. - .macro waitmovexy index, X, Y - .byte 0x52 - .2byte \index - .byte \X - .byte \Y - .endm - - @ Attempts to hide the specified (local_ID, a local ID) Person event on the current map, by setting its visibility flag if it has a valid one. If the Person does not have a valid visibility flag, this command does nothing. - .macro disappear local_ID - .byte 0x53 - .2byte \local_ID - .endm - - @ Clone of hidesprite that also moves the Person? Test it! - .macro disappearxy index, X, Y - .byte 0x54 - .2byte \index - .byte \X - .byte \Y - .endm - - .macro reappear word - .byte 0x55 - .2byte \word - .endm - - .macro reappearxy word, byte1, byte2 - .byte 0x56 - .2byte \word - .byte \byte1 - .byte \byte2 - .endm - - .macro movesprite word1, word2, word3 - .byte 0x57 - .2byte \word1 - .2byte \word2 - .2byte \word3 - .endm - - .macro spritevisible word, byte1, byte2 - .byte 0x58 - .2byte \word - .byte \byte1 - .byte \byte2 - .endm - - .macro spriteinvisible word, byte1, byte2 - .byte 0x59 - .2byte \word - .byte \byte1 - .byte \byte2 - .endm - - @ If the script was called by a Person event, then that Person will turn to face toward the tile that the player is stepping off of. - .macro faceplayer - .byte 0x5a - .endm - - .macro spriteface word, byte - .byte 0x5b - .2byte \word - .byte \byte - .endm - - @ If the Trainer flag for Trainer index is not set, this command does absolutely nothing. - .macro trainerbattle byte, word1, word2, pointer1, pointer2, pointer3, pointer4 - .byte 0x5c - .byte \byte - .2byte \word1 - .2byte \word2 - .4byte \pointer1 - .4byte \pointer2 - .4byte \pointer3 - .4byte \pointer4 - .endm - - @ Starts a trainer battle using the battle information stored in RAM (usually by trainerbattle, which actually calls this command behind-the-scenes), and blocks script execution until the battle finishes. - .macro reptrainerbattle - .byte 0x5d - .endm - - .macro endtrainerbattle - .byte 0x5e - .endm - - .macro endtrainerbattle2 - .byte 0x5f - .endm - - @ Compares Flag (trainer + 0x500) to 1. (If the flag is set, then the trainer has been defeated by the player.) - .macro checktrainerflag trainer - .byte 0x60 - .2byte \trainer - .endm - - @ Sets Flag (trainer + 0x500). (I didn't make a mistake. The command names actually are backwards.) - .macro cleartrainerflag trainer - .byte 0x61 - .2byte \trainer - .endm - - @ Clears Flag (trainer + 0x500). (I didn't make a mistake. The command names actually are backwards.) - .macro settrainerflag trainer - .byte 0x62 - .2byte \trainer - .endm - - .macro movespriteperm word1, word2, word3 - .byte 0x63 - .2byte \word1 - .2byte \word2 - .2byte \word3 - .endm - - .macro moveoffscreen word - .byte 0x64 - .2byte \word - .endm - - .macro spritebehave word, byte - .byte 0x65 - .2byte \word - .byte \byte - .endm - - @ If a standard message box (or its text) is being drawn on-screen, this command blocks script execution until the box and its text have been fully drawn. - .macro waittext - .byte 0x66 - .endm - - @ Starts displaying a standard message box containing the specified text. If text is a pointer, then the string at that offset will be loaded and used. If text is script bank 0, then the value of script bank 0 will be treated as a pointer to the text. (You can use loadpointer to place a string pointer in a script bank.) - .macro message text - .byte 0x67 - .4byte \text - .endm - - @ Holds the current message box open until the player presses a key. The message box is then closed. - .macro closebutton - .byte 0x68 - .endm - - @ Ceases movement for all OWs on-screen. - .macro lockall - .byte 0x69 - .endm - - @ If the script was called by a Person event, then that Person's movement will cease. - .macro lock - .byte 0x6a - .endm - - @ Resumes normal movement for all OWs on-screen, and closes any standard message boxes that are still open. - .macro releaseall - .byte 0x6b - .endm - - @ If the script was called by a Person event, then that Person's movement will resume. This command also closes any standard message boxes that are still open. - .macro release - .byte 0x6c - .endm - - @ Blocks script execution until the player presses any key. - .macro waitbutton - .byte 0x6d - .endm - - @ Displays a YES/NO multichoice box at the specified coordinates, and blocks script execution until the user makes a selection. Their selection is stored in variable 0x800D (LASTRESULT); 0x0000 for "NO" or if the user pressed B, and 0x0001 for "YES". - .macro yesnobox X, Y - .byte 0x6e - .byte \X - .byte \Y - .endm - - @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. If B is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button. - .macro multichoice X, Y, list, B - .byte 0x6f - .byte \X - .byte \Y - .byte \list - .byte \B - .endm - - @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. The default argument determines the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0x00. If B is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button. - .macro multichoicedef X, Y, list, default, B - .byte 0x70 - .byte \X - .byte \Y - .byte \list - .byte \default - .byte \B - .endm - - @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. The per_row argument determines how many list items will be shown on a single row of the box. - .macro multichoicerow X, Y, list, per_row, B - .byte 0x71 - .byte \X - .byte \Y - .byte \list - .byte \per_row - .byte \B - .endm - - .macro showbox byte1, byte2, byte3, byte4 - .byte 0x72 - .byte \byte1 - .byte \byte2 - .byte \byte3 - .byte \byte4 - .endm - - .macro hidebox byte1, byte2, byte3, byte4 - .byte 0x73 - .byte \byte1 - .byte \byte2 - .byte \byte3 - .byte \byte4 - .endm - - .macro clearbox byte1, byte2, byte3, byte4 - .byte 0x74 - .byte \byte1 - .byte \byte2 - .byte \byte3 - .byte \byte4 - .endm - - @ Displays a box containing the front sprite for the specified (species) Pokmon species. - .macro showpokepic species, X, Y - .byte 0x75 - .2byte \species - .byte \X - .byte \Y - .endm - - @ Hides all boxes displayed with showpokepic. - .macro hidepokepic - .byte 0x76 - .endm - - @ In FireRed, this command is a nop. (The argument is discarded.) - .macro showcontestwinner a - .byte 0x77 - .byte \a - .endm - - @ Displays the string at pointer as braille text in a standard message box. The string must be formatted to use braille characters. - .macro braille text - .byte 0x78 - .4byte \text - .endm - - @ Gives the player one of the specified (species) Pokmon at level level holding item. The unknown arguments should all be zeroes. - .macro givepokemon species, level, item, unknown1, unknown2, unknown3 - .byte 0x79 - .2byte \species - .byte \level - .2byte \item - .4byte \unknown1 - .4byte \unknown2 - .byte \unknown3 - .endm - - .macro giveegg word - .byte 0x7a - .2byte \word - .endm - - .macro setpokemove byte1, byte2, word - .byte 0x7b - .byte \byte1 - .byte \byte2 - .2byte \word - .endm - - @ Checks if at least one Pokmon in the player's party knows the specified (index) attack. If so, variable 0x800D (LASTRESULT) is set to the (zero-indexed) slot number of the Pokmon that knows the move. If not, LASTRESULT is set to 0x0006. - .macro checkattack index - .byte 0x7c - .2byte \index - .endm - - @ Writes the name of the Pokmon at index species to the specified buffer. - .macro bufferpoke out, species - .byte 0x7d - .byte \out - .2byte \species - .endm - - @ Writes the name of the first Pokmon in the player's party to the specified buffer. - .macro bufferfirstpoke out - .byte 0x7e - .byte \out - .endm - - @ Writes the name of the Pokmon in slot slot (zero-indexed) of the player's party to the specified buffer. If an empty or invalid slot is specified, ten spaces ("") are written to the buffer. - .macro bufferpartypoke out, slot - .byte 0x7f - .byte \out - .2byte \slot - .endm - - @ Writes the name of the item at index item to the specified buffer. If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead. - .macro bufferitem out, item - .byte 0x80 - .byte \out - .2byte \item - .endm - - @ In FireRed, this command is a nop. (The first argument is discarded immediately. The second argument is read, but not used for anything.) - .macro bufferdecor a, b - .byte 0x81 - .byte \a - .2byte \b - .endm - - @ Writes the name of the attack at index attack to the specified buffer. - .macro bufferattack out, attack - .byte 0x82 - .byte \out - .2byte \attack - .endm - - @ Converts the value of input to a decimal string, and writes that string to the specified buffer. - .macro buffernum out, input - .byte 0x83 - .byte \out - .2byte \input - .endm - - @ Writes the standard string identified by index to the specified buffer. Specifying an invalid standard string (e.x. 0x2B) can and usually will cause data corruption (I've observed destruction of the stored player name and crashes when entering/exiting certain menu screens). - .macro bufferstd out, index - .byte 0x84 - .byte \out - .2byte \index - .endm - - @ Copies the string at offset to the specified buffer. - .macro buffertext out, offset - .byte 0x85 - .byte \out - .4byte \offset - .endm - - @ Opens the Pokemart system, offering the specified products for sale. - .macro pokemart products - .byte 0x86 - .4byte \products - .endm - - @ Apparent clone of pokemart. - .macro pokemartdecor products - .byte 0x87 - .4byte \products - .endm - - @ Apparent clone of pokemart. - .macro pokemartbp products - .byte 0x88 - .4byte \products - .endm - - .macro pokecasino word - .byte 0x89 - .2byte \word - .endm - - @ In FireRed, this command is a nop. - .macro event_8a - .byte 0x8a - .endm - - @ In FireRed, this command sets the byte at 0x03000EA8 to 0x01. I do not know what that means. - .macro choosecontestpkmn - .byte 0x8b - .endm - - @ In FireRed, this command is a nop. - .macro startcontest - .byte 0x8c - .endm - - @ In FireRed, this command is a nop. - .macro showcontestresults - .byte 0x8d - .endm - - @ In FireRed, this command is a nop. - .macro contestlinktransfer - .byte 0x8e - .endm - - @ Stores a random integer between 0 and limit in variable 0x800D (LASTRESULT). - .macro random limit - .byte 0x8f - .2byte \limit - .endm - - @ If check is 0x00, this command adds value to the player's money. - .macro givemoney value, check - .byte 0x90 - .4byte \value - .byte \check - .endm - - @ If check is 0x00, this command subtracts value from the player's money. - .macro paymoney value, check - .byte 0x91 - .4byte \value - .byte \check - .endm - - @ If check is 0x00, this command will check if the player has value or more money; script variable 0x800D (LASTRESULT) is set to 0x0001 if the player has enough money, or 0x0000 if the do not. - .macro checkmoney value, check - .byte 0x92 - .4byte \value - .byte \check - .endm - - @ Spawns a secondary box showing how much money the player has. - .macro showmoney X, Y - .byte 0x93 - .byte \X - .byte \Y - .endm - - @ Hides the secondary box spawned by showmoney. - .macro hidemoney X, Y - .byte 0x94 - .byte \X - .byte \Y - .endm - - @ Updates the secondary box spawned by showmoney. (What does it do with its arguments?) - .macro updatemoney X, Y - .byte 0x95 - .byte \X - .byte \Y - .endm - - @ In FireRed, this command is a nop. - .macro event_96 - .byte 0x96 - .endm - - @ Fades the screen to black or back, using the specified effect. Effect 0x00 fades in, and effect 0x01 fades out. I don't know if other effects exist. - .macro fadescreen effect - .byte 0x97 - .byte \effect - .endm - - .macro fadescreendelay byte1, byte2 - .byte 0x98 - .byte \byte1 - .byte \byte2 - .endm - - .macro darken word - .byte 0x99 - .2byte \word - .endm - - .macro lighten byte - .byte 0x9a - .byte \byte - .endm - - .macro message2 pointer - .byte 0x9b - .4byte \pointer - .endm - - @ Executes the specified field move animation. - .macro doanimation animation - .byte 0x9c - .2byte \animation - .endm - - @ Tells the game which party Pokmon to use for the next field move animation. - .macro setanimation animation, slot - .byte 0x9d - .byte \animation - .2byte \slot - .endm - - @ Blocks script execution until all playing field move animations complete. - .macro checkanimation animation - .byte 0x9e - .2byte \animation - .endm - - @ Sets which healing place the player will return to if all of the Pokmon in their party faint. A list of available healing places can be found on PokeCommunity. - .macro sethealplace flightspot - .byte 0x9f - .2byte \flightspot - .endm - - @ Checks the player's gender. If male, then 0x0000 is stored in variable 0x800D (LASTRESULT). If female, then 0x0001 is stored in LASTRESULT. - .macro checkgender - .byte 0xa0 - .endm - - @ Plays the specified (species) Pokmon's cry. You can use waitcry to block script execution until the sound finishes. - .macro pokecry species, effect - .byte 0xa1 - .2byte \species - .2byte \effect - .endm - - @ Changes the tile at (X, Y) on the current map. - .macro setmaptile X, Y, tile_number, tile_attrib - .byte 0xa2 - .2byte \X - .2byte \Y - .2byte \tile_number - .2byte \tile_attrib - .endm - - @ Queues a weather change to the default weather for the map. - .macro resetweather - .byte 0xa3 - .endm - - @ Queues a weather change to type weather. - .macro setweather type - .byte 0xa4 - .2byte \type - .endm - - @ Executes the weather change queued with resetweather or setweather. The current weather will smoothly fade into the queued weather. - .macro doweather - .byte 0xa5 - .endm - - @ This command manages cases in which maps have tiles that change state when stepped on (specifically, cracked/breakable floors). - .macro tileeffect subroutine - .byte 0xa6 - .byte \subroutine - .endm - - .macro setmapfooter word - .byte 0xa7 - .2byte \word - .endm - - .macro spritelevelup word, byte1, byte2, byte3 - .byte 0xa8 - .2byte \word - .byte \byte1 - .byte \byte2 - .byte \byte3 - .endm - - .macro restorespritelevel word, byte1, byte2 - .byte 0xa9 - .2byte \word - .byte \byte1 - .byte \byte2 - .endm - - .macro createvsprite byte1, byte2, word1, word2, byte3, byte4 - .byte 0xaa - .byte \byte1 - .byte \byte2 - .2byte \word1 - .2byte \word2 - .byte \byte3 - .byte \byte4 - .endm - - .macro vspriteface byte1, byte2 - .byte 0xab - .byte \byte1 - .byte \byte2 - .endm - - @ Queues the opening of the door tile at (X, Y) with an animation. - .macro setdooropened X, Y - .byte 0xac - .2byte \X - .2byte \Y - .endm - - @ Queues the closing of the door tile at (X, Y) with an animation. - .macro setdoorclosed X, Y - .byte 0xad - .2byte \X - .2byte \Y - .endm - - @ Executes the state changes queued with setdooropened, setdoorclosed, setdooropened2, and setdoorclosed2. - .macro doorchange - .byte 0xae - .endm - - @ Queues the opening of the door tile at (X, Y) without an animation. - .macro setdooropened2 X, Y - .byte 0xaf - .2byte \X - .2byte \Y - .endm - - @ Queues the closing of the door tile at (X, Y) without an animation. - .macro setdoorclosed2 X, Y - .byte 0xb0 - .2byte \X - .2byte \Y - .endm - - @ In FireRed, this command is a nop. - .macro event_b1 - .byte 0xb1 - .endm - - @ In FireRed, this command is a nop. - .macro event_b2 - .byte 0xb2 - .endm - - .macro checkcoins word - .byte 0xb3 - .2byte \word - .endm - - .macro givecoins word - .byte 0xb4 - .2byte \word - .endm - - .macro removecoins word - .byte 0xb5 - .2byte \word - .endm - - @ Prepares to start a wild battle against a species at Level level holding item. Running this command will not affect normal wild battles. You start the prepared battle with dowildbattle. - .macro setwildbattle species, level, item - .byte 0xb6 - .2byte \species - .byte \level - .2byte \item - .endm - - @ Starts a wild battle against the Pokmon generated by setwildbattle. Blocks script execution until the battle finishes. - .macro dowildbattle - .byte 0xb7 - .endm - - .macro setvaddress long, word - .byte 0xb8 - .4byte \long - .2byte \word - .endm - - .macro vjump pointer - .byte 0xb9 - .4byte \pointer - .endm - - .macro vcall pointer - .byte 0xba - .4byte \pointer - .endm - - .macro if5 byte, pointer - .byte 0xbb - .byte \byte - .4byte \pointer - .endm - - .macro if6 byte, pointer - .byte 0xbc - .byte \byte - .4byte \pointer - .endm - - .macro vtext pointer - .byte 0xbd - .4byte \pointer - .endm - - .macro vloadptr pointer - .byte 0xbe - .4byte \pointer - .endm - - .macro vbuffer byte, pointer - .byte 0xbf - .byte \byte - .4byte \pointer - .endm - - @ Spawns a secondary box showing how many Coins the player has. - .macro showcoins X, Y - .byte 0xc0 - .byte \X - .byte \Y - .endm - - @ Hides the secondary box spawned by showcoins. It doesn't appear to use its arguments, but they are still required. - .macro hidecoins X, Y - .byte 0xc1 - .byte \X - .byte \Y - .endm - - @ Updates the secondary box spawned by showcoins. (What does it do with its arguments?) - .macro updatecoins X, Y - .byte 0xc2 - .byte \X - .byte \Y - .endm - - @ Increases the value of the specified hidden variable by 1. The hidden variable's value will not be allowed to exceed 0x00FFFFFF. - .macro inccounter a - .byte 0xc3 - .byte \a - .endm - - @ Clone of warp... Except that it doesn't appear to have any effect when used in some of FireRed's default level scripts. (If it did, Berry Forest would be impossible to enter...) - .macro warp6 - .byte 0xc4 - .endm - - @ Blocks script execution until cry finishes. - .macro waitpokecry - .byte 0xc5 - .endm - - @ Writes the name of the specified (box) PC box to the specified buffer. - .macro bufferboxname out, box - .byte 0xc6 - .byte \out - .2byte \box - .endm - - @ Sets the color of the text in standard message boxes. 0x00 produces blue (male) text, 0x01 produces red (female) text, 0xFF resets the color to the default for the current OW's gender, and all other values produce black text. - .macro textcolor color - .byte 0xc7 - .byte \color - .endm - - @ The exact purpose of this command is unknown, but it is related to the blue help-text box that appears on the bottom of the screen when the Main Menu is opened. - .macro loadhelp pointer - .byte 0xc8 - .4byte \pointer - .endm - - @ The exact purpose of this command is unknown, but it is related to the blue help-text box that appears on the bottom of the screen when the Main Menu is opened. - .macro unloadhelp - .byte 0xc9 - .endm - - @ After using this command, all standard message boxes will use the signpost frame. - .macro signmsg - .byte 0xca - .endm - - @ Ends the effects of signmsg, returning message box frames to normal. - .macro normalmsg - .byte 0xcb - .endm - - @ Compares the value of a hidden variable to a dword. - .macro comparehiddenvar a, value - .byte 0xcc - .byte \a - .4byte \value - .endm - - @ Makes the Pokmon in the specified slot of the player's party obedient. It will not randomly disobey orders in battle. - .macro setobedience slot - .byte 0xcd - .2byte \slot - .endm - - @ Checks if the Pokmon in the specified slot of the player's party is obedient. If the Pokmon is disobedient, 0x0001 is written to script variable 0x800D (LASTRESULT). If the Pokmon is obedient (or if the specified slot is empty or invalid), 0x0000 is written. - .macro checkobedience slot - .byte 0xce - .2byte \slot - .endm - - @ Depending on factors I haven't managed to understand yet, this command may cause script execution to jump to the offset specified by the pointer at 0x020370A4. - .macro execram - .byte 0xcf - .endm - - @ Sets worldmapflag to 1. This allows the player to Fly to the corresponding map, if that map has a flightspot. - .macro setworldflag worldmapflag - .byte 0xd0 - .2byte \worldmapflag - .endm - - @ Clone of warpteleport? It is apparently only used in FR/LG, and only with specials.[source] - .macro warpteleport2 - .byte 0xd1 - .endm - - @ Changes the location where the player caught the Pokmon in the specified slot of their party. A list of valid catch locations can be found on PokeCommunity. - .macro setcatchlocale slot, location - .byte 0xd2 - .2byte \slot - .byte \location - .endm - - @ Sets variable 0x8004 to a value based on the width of the braille string at text. - .macro braille2 text - .byte 0xd3 - .4byte \text - .endm - - @ Writes the name of the specified (item) item to the specified buffer. If the specified item is a Berry (0x85 - 0xAE) or Poke Ball (0x4) and if the quantity is 2 or more, the buffered string will be pluralized ("IES" or "S" appended). If the specified item is the Enigma Berry, I have no idea what this command does (but testing showed no pluralization). If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead. - .macro storeitems out, item, quantity - .byte 0xd4 - .byte \out - .2byte \item - .2byte \quantity - .endm - - @ In FireRed, this command is a nop. - .macro event_d5 - .byte 0xd5 - .endm - - .macro event_d6 - .byte 0xd6 - .endm - - .macro warp7 byte1, byte2, byte3, word1, word2 - .byte 0xd7 - .byte \byte1 - .byte \byte2 - .byte \byte3 - .2byte \word1 - .2byte \word2 - .endm - - .macro event_d8 - .byte 0xd8 - .endm - - .macro event_d9 - .byte 0xd9 - .endm - - .macro hidebox2 - .byte 0xda - .endm - - .macro message3 pointer - .byte 0xdb - .4byte \pointer - .endm - - .macro fadescreen3 byte - .byte 0xdc - .byte \byte - .endm - - .macro buffertrainerclass byte, word - .byte 0xdd - .byte \byte - .2byte \word - .endm - - .macro buffertrainername byte, word - .byte 0xde - .byte \byte - .2byte \word - .endm - - .macro pokenavcall pointer - .byte 0xdf - .4byte \pointer - .endm - - .macro warp8 byte1, byte2, byte3, word1, word2 - .byte 0xe0 - .byte \byte1 - .byte \byte2 - .byte \byte3 - .2byte \word1 - .2byte \word2 - .endm - - .macro buffercontesttype byte, word - .byte 0xe1 - .byte \byte - .2byte \word - .endm - - .macro storeitems2 byte, word1, word2 - .byte 0xe2 - .byte \byte - .2byte \word1 - .2byte \word2 - .endm diff --git a/asm/macros/m4a.inc b/asm/macros/m4a.inc new file mode 100644 index 0000000000..6c5abc09b5 --- /dev/null +++ b/asm/macros/m4a.inc @@ -0,0 +1,13 @@ + .macro song label, music_player, unknown + .4byte \label + .2byte \music_player + .2byte \unknown + .endm + + .macro music_player info_struct, track_struct, unknown_1, unknown_2 + .4byte \info_struct + .4byte \track_struct + .byte \unknown_1 + .space 1 + .2byte \unknown_2 + .endm diff --git a/asm/macros/map.inc b/asm/macros/map.inc index 452f9b714d..5367ad7125 100644 --- a/asm/macros/map.inc +++ b/asm/macros/map.inc @@ -1,15 +1,115 @@ .macro new_map_group - .set cur_map_group, cur_map_group + 1 + inc cur_map_group .set cur_map_num, 0 .endm .macro map_group map_name .set GROUP_\map_name, cur_map_group .set MAP_\map_name, cur_map_num - .set cur_map_num, cur_map_num + 1 + inc cur_map_num .endm .macro map map_name .byte GROUP_\map_name .byte MAP_\map_name .endm + + .macro warp_map map_name + .byte MAP_\map_name + .byte GROUP_\map_name + .endm + + .macro heal_location map_name, x, y + .byte GROUP_\map_name + .byte MAP_\map_name + .2byte \x + .2byte \y + .space 2 + .endm + + .equiv GROUP_NONE, 0x7f + .equiv MAP_NONE, 0x7f + + .equiv GROUP_UNDEFINED, 0xff + .equiv MAP_UNDEFINED, 0xff + + .macro map_script type, address + .byte \type + .4byte \address + .endm + + .macro map_script_2 word1, word2, address + .2byte \word1 + .2byte \word2 + .4byte \address + .endm + + .macro object_event index, gfx, replacement, filler1, x, y, elevation, movement_type, radius, filler2, trainer_type, sight_radius_tree_etc, script, event_flag, filler3, filler4 + .byte \index, \gfx, \replacement, \filler1 + .2byte \x + .2byte \y + .byte \elevation, \movement_type, \radius, \filler2 + .2byte \trainer_type, \sight_radius_tree_etc + .4byte \script + .2byte \event_flag + .byte \filler3, \filler4 + inc _num_npcs + .endm + + .macro warp_def x, y, byte, warp, map + .2byte \x, \y + .byte \byte, \warp + warp_map \map + inc _num_warps + .endm + + .macro coord_event x, y, byte1, byte2, word1, word2, word3, script + .2byte \x, \y + .byte \byte1, \byte2 + .2byte \word1, \word2, \word3 + .4byte \script + inc _num_traps + .endm + + .macro bg_event x, y, byte, kind, word, arg6, arg7, arg8 + .2byte \x, \y + .byte \byte, \kind + .2byte \word + .if \kind < 5 + .4byte \arg6 + .else + .2byte \arg6 + .byte \arg7, \arg8 + .endif + inc _num_signs + .endm + + .macro map_events npcs, warps, traps, signs + .byte _num_npcs, _num_warps, _num_traps, _num_signs + .4byte \npcs, \warps, \traps, \signs + reset_map_events + .endm + + .macro reset_map_events + .set _num_npcs, 0 + .set _num_warps, 0 + .set _num_traps, 0 + .set _num_signs, 0 + .endm + + reset_map_events + + + .equiv connection_down, 1 + .equiv connection_up, 2 + .equiv connection_left, 3 + .equiv connection_right, 4 + .equiv connection_dive, 5 + .equiv connection_emerge, 6 + + .macro connection direction, offset, map, filler + .4byte connection_\direction + .4byte \offset + map \map + .space 2 + .endm diff --git a/asm/macros/movement.inc b/asm/macros/movement.inc new file mode 100644 index 0000000000..5a810c497a --- /dev/null +++ b/asm/macros/movement.inc @@ -0,0 +1,123 @@ + .macro create_movement name + enum _\name + .macro \name + .byte _\name + .endm + .endm + + enum_start + create_movement step_00 + create_movement step_01 + create_movement step_02 + create_movement step_03 + create_movement slow_step_down + create_movement slow_step_up + create_movement slow_step_left + create_movement slow_step_right + create_movement step_down + create_movement step_up + create_movement step_left + create_movement step_right + create_movement fast_step_down + create_movement fast_step_up + create_movement fast_step_left + create_movement fast_step_right + create_movement step_10 + create_movement step_11 + create_movement step_12 + create_movement step_13 + create_movement step_14 + create_movement step_15 + create_movement step_16 + create_movement step_17 + create_movement step_18 + create_movement step_19 + create_movement step_1a + create_movement step_1b + create_movement step_1c + create_movement step_1d + create_movement step_1e + create_movement step_1f + create_movement step_20 + create_movement step_21 + create_movement step_22 + create_movement step_23 + create_movement step_24 + create_movement step_25 + create_movement step_26 + create_movement step_27 + create_movement step_28 + create_movement step_29 + create_movement step_2a + create_movement step_2b + create_movement step_2c + create_movement step_2d + create_movement step_2e + create_movement step_2f + create_movement step_30 + create_movement step_31 + create_movement step_32 + create_movement step_33 + create_movement step_34 + create_movement step_35 + create_movement step_36 + create_movement step_37 + create_movement step_38 + create_movement step_39 + create_movement step_3a + create_movement step_3b + create_movement step_3c + create_movement step_3d + create_movement step_3e + create_movement step_3f + create_movement step_40 + create_movement step_41 + create_movement step_42 + create_movement step_43 + create_movement step_44 + create_movement step_45 + create_movement step_46 + create_movement step_47 + create_movement step_48 + create_movement step_49 + create_movement step_4a + create_movement step_4b + create_movement step_4c + create_movement step_4d + create_movement step_4e + create_movement step_4f + create_movement step_50 + create_movement step_51 + create_movement step_52 + create_movement step_53 + create_movement step_54 + create_movement step_55 + create_movement step_56 + create_movement step_57 + create_movement step_58 + create_movement step_59 + create_movement step_5a + create_movement step_5b + create_movement step_5c + create_movement step_5d + create_movement step_5e + create_movement step_5f + create_movement step_60 + create_movement step_61 + create_movement step_62 + create_movement step_63 + + enum_start 0x91 + create_movement step_91 + create_movement step_92 + create_movement step_93 + create_movement step_94 + create_movement step_95 + create_movement step_96 + create_movement step_97 + create_movement step_98 + create_movement step_99 + create_movement step_9A + + enum_start 0xfe + create_movement step_end diff --git a/asm/macros/music_voice.inc b/asm/macros/music_voice.inc new file mode 100644 index 0000000000..b7a9e7f8d0 --- /dev/null +++ b/asm/macros/music_voice.inc @@ -0,0 +1,125 @@ + .macro voice_directsound base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release + .byte 0 + _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release + .endm + + .macro voice_directsound_no_resample base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release + .byte 8 + _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release + .endm + + .macro voice_directsound_alt base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release + .byte 16 + _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release + .endm + + .macro _voice_directsound base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release + .byte \base_midi_key + .byte 0 + .if \pan != 0 + .byte (0x80 | \pan) + .else + .byte 0 + .endif + .4byte \sample_data_pointer + .byte \attack + .byte \decay + .byte \sustain + .byte \release + .endm + + .macro voice_square_1 sweep, duty_cycle, attack, decay, sustain, release + _voice_square_1 1, \sweep, \duty_cycle, \attack, \decay, \sustain, \release + .endm + + .macro voice_square_1_alt sweep, duty_cycle, attack, decay, sustain, release + _voice_square_1 9, \sweep, \duty_cycle, \attack, \decay, \sustain, \release + .endm + + .macro _voice_square_1 type, sweep, duty_cycle, attack, decay, sustain, release + .byte \type, 60, 0 + .byte \sweep + .byte (\duty_cycle & 0x3) + .byte 0, 0, 0 + .byte (\attack & 0x7) + .byte (\decay & 0x7) + .byte (\sustain & 0xF) + .byte (\release & 0x7) + .endm + + .macro voice_square_2 duty_cycle, attack, decay, sustain, release + _voice_square_2 2, \duty_cycle, \attack, \decay, \sustain, \release + .endm + + .macro voice_square_2_alt duty_cycle, attack, decay, sustain, release + _voice_square_2 10, \duty_cycle, \attack, \decay, \sustain, \release + .endm + + .macro _voice_square_2 type, duty_cycle, attack, decay, sustain, release + .byte \type, 60, 0, 0 + .byte (\duty_cycle & 0x3) + .byte 0, 0, 0 + .byte (\attack & 0x7) + .byte (\decay & 0x7) + .byte (\sustain & 0xF) + .byte (\release & 0x7) + .endm + + .macro voice_programmable_wave wave_samples_pointer, attack, decay, sustain, release + _voice_programmable_wave 3, \wave_samples_pointer, \attack, \decay, \sustain, \release + .endm + + .macro voice_programmable_wave_alt wave_samples_pointer, attack, decay, sustain, release + _voice_programmable_wave 11, \wave_samples_pointer, \attack, \decay, \sustain, \release + .endm + + .macro _voice_programmable_wave type, wave_samples_pointer, attack, decay, sustain, release + .byte \type, 60, 0, 0 + .4byte \wave_samples_pointer + .byte (\attack & 0x7) + .byte (\decay & 0x7) + .byte (\sustain & 0xF) + .byte (\release & 0x7) + .endm + + .macro voice_noise period, attack, decay, sustain, release + _voice_noise 4, \period, \attack, \decay, \sustain, \release + .endm + + .macro voice_noise_alt period, attack, decay, sustain, release + _voice_noise 12, \period, \attack, \decay, \sustain, \release + .endm + + .macro _voice_noise type, period, attack, decay, sustain, release + .byte \type, 60, 0, 0 + .byte (\period & 0x1) + .byte 0, 0, 0 + .byte (\attack & 0x7) + .byte (\decay & 0x7) + .byte (\sustain & 0xF) + .byte (\release & 0x7) + .endm + + .macro voice_keysplit voice_group_pointer, keysplit_table_pointer + .byte 0x40, 0, 0, 0 + .4byte \voice_group_pointer + .4byte \keysplit_table_pointer + .endm + + .macro voice_keysplit_all voice_group_pointer + .byte 0x80, 0, 0, 0 + .4byte \voice_group_pointer + .4byte 0 + .endm + + .macro cry sample + .byte 0x20, 60, 0, 0 + .4byte \sample + .byte 0xff, 0, 0xff, 0 + .endm + + .macro cry2 sample + .byte 0x30, 60, 0, 0 + .4byte \sample + .byte 0xff, 0, 0xff, 0 + .endm diff --git a/asm/macros/pokemon_data.inc b/asm/macros/pokemon_data.inc index 31c0153346..ce8ef98ac3 100644 --- a/asm/macros/pokemon_data.inc +++ b/asm/macros/pokemon_data.inc @@ -52,5 +52,5 @@ .byte \max_level .endif - .2byte SPECIES_\species + .2byte \species .endm diff --git a/asm/macros/window.inc b/asm/macros/window.inc index b7291138b8..a91782bbf8 100644 --- a/asm/macros/window.inc +++ b/asm/macros/window.inc @@ -8,7 +8,7 @@ .2byte \vram_tile_offset .endm - .macro window_template_terminator + .macro null_window_template window_template 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 .endm diff --git a/asm/mail_data.s b/asm/mail_data.s deleted file mode 100755 index 94cb3e9e60..0000000000 --- a/asm/mail_data.s +++ /dev/null @@ -1,589 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start ClearMailData -ClearMailData: @ 80D436C - push {r4,r5,lr} - movs r4, 0 - ldr r5, =gSaveBlock1Ptr -_080D4372: - lsls r1, r4, 3 - adds r1, r4 - lsls r1, 2 - ldr r0, =0x00002be0 - adds r1, r0 - ldr r0, [r5] - adds r0, r1 - bl sub_80D439C - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _080D4372 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ClearMailData - - thumb_func_start sub_80D439C -sub_80D439C: @ 80D439C - push {r4-r6,lr} - adds r3, r0, 0 - ldr r0, =0x0000ffff - adds r4, r0, 0 - adds r1, r3, 0 - movs r2, 0x8 -_080D43A8: - ldrh r0, [r1] - orrs r0, r4 - strh r0, [r1] - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _080D43A8 - movs r2, 0 - adds r6, r3, 0 - adds r6, 0x1A - adds r4, r3, 0 - adds r4, 0x12 - movs r5, 0xFF -_080D43C2: - adds r1, r4, r2 - ldrb r0, [r1] - orrs r0, r5 - strb r0, [r1] - adds r2, 0x1 - cmp r2, 0x7 - ble _080D43C2 - adds r1, r6, 0 - movs r2, 0 - adds r0, r1, 0x3 -_080D43D6: - strb r2, [r0] - subs r0, 0x1 - cmp r0, r1 - bge _080D43D6 - movs r1, 0 - movs r0, 0x1 - strh r0, [r3, 0x1E] - strh r1, [r3, 0x20] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D439C - - thumb_func_start sub_80D43F0 -sub_80D43F0: @ 80D43F0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl itemid_is_mail - lsls r0, 24 - cmp r0, 0 - beq _080D4418 - adds r0, r4, 0 - movs r1, 0x40 - bl GetMonData - cmp r0, 0xFF - beq _080D4418 - movs r0, 0x1 - b _080D441A -_080D4418: - movs r0, 0 -_080D441A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80D43F0 - - thumb_func_start sub_80D4420 -sub_80D4420: @ 80D4420 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - mov r8, r0 - lsls r1, 16 - lsrs r0, r1, 16 - str r0, [sp, 0x8] - mov r0, sp - movs r2, 0 - ldrb r3, [r0, 0x8] - strb r3, [r0] - lsrs r1, 24 - strb r1, [r0, 0x1] - add r3, sp, 0x4 - strb r2, [r3] - ldr r4, =gSaveBlock1Ptr - mov r10, r4 - mov r9, r3 - adds r4, r3, 0 -_080D444C: - mov r1, r10 - ldr r0, [r1] - ldrb r2, [r4] - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - adds r0, r1 - movs r1, 0xB0 - lsls r1, 6 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _080D4468 - b _080D45A8 -_080D4468: - movs r4, 0 - ldr r2, =gSaveBlock2Ptr - mov r12, r2 - ldr r7, =gSaveBlock1Ptr - add r5, sp, 0x4 - ldr r3, =0x0000ffff - adds r6, r3, 0 -_080D4476: - ldr r2, [r7] - lsls r3, r4, 1 - ldrb r1, [r5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r3, r0 - ldr r0, =0x00002be0 - adds r2, r0 - adds r2, r3 - ldrh r0, [r2] - orrs r0, r6 - strh r0, [r2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x8 - bls _080D4476 - movs r4, 0 - ldr r5, =gSaveBlock1Ptr - add r3, sp, 0x4 -_080D44A0: - ldr r2, [r5] - ldrb r1, [r3] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4, r0 - ldr r1, =0x00002bf2 - adds r2, r1 - adds r2, r0 - mov r1, r12 - ldr r0, [r1] - adds r0, r4 - ldrb r0, [r0] - strb r0, [r2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - bls _080D44A0 - mov r3, r10 - ldr r2, [r3] - mov r0, r9 - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4, r0 - ldr r1, =0x00002bf2 - adds r2, r1 - adds r2, r0 - movs r0, 0xFF - strb r0, [r2] - mov r2, r9 - ldrb r1, [r2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, [r3] - adds r0, r1 - ldr r3, =0x00002bf2 - adds r0, r3 - movs r1, 0 - bl sub_81DB4DC - movs r4, 0 - ldr r6, =gSaveBlock1Ptr - add r3, sp, 0x4 - ldr r5, =gSaveBlock2Ptr -_080D4500: - ldr r2, [r6] - ldrb r1, [r3] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4, r0 - ldr r1, =0x00002bfa - adds r2, r1 - adds r2, r0 - ldr r0, [r5] - adds r0, 0xA - adds r0, r4 - ldrb r0, [r0] - strb r0, [r2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080D4500 - mov r0, r8 - movs r1, 0xB - bl GetBoxMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0 - bl GetBoxMonData - adds r1, r0, 0 - adds r0, r4, 0 - bl sub_80D45C8 - mov r2, r10 - ldr r3, [r2] - mov r4, r9 - ldrb r2, [r4] - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - adds r1, r3, r1 - ldr r2, =0x00002bfe - adds r1, r2 - strh r0, [r1] - ldrb r1, [r4] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r3, r0 - movs r4, 0xB0 - lsls r4, 6 - adds r3, r4 - mov r0, sp - ldrh r0, [r0, 0x8] - strh r0, [r3] - mov r0, r8 - movs r1, 0x40 - mov r2, r9 - bl SetMonData - mov r0, r8 - movs r1, 0xC - mov r2, sp - bl SetMonData - mov r1, r9 - ldrb r0, [r1] - b _080D45B6 - .pool -_080D45A8: - adds r0, r2, 0x1 - strb r0, [r3] - ldrb r0, [r4] - cmp r0, 0x5 - bhi _080D45B4 - b _080D444C -_080D45B4: - movs r0, 0xFF -_080D45B6: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80D4420 - - thumb_func_start sub_80D45C8 -sub_80D45C8: @ 80D45C8 - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC9 - bne _080D45E0 - adds r0, r1, 0 - bl mon_icon_personality_to_unown_id - lsls r0, 16 - ldr r1, =0x75300000 - adds r0, r1 - lsrs r0, 16 -_080D45E0: - pop {r1} - bx r1 - .pool - thumb_func_end sub_80D45C8 - - thumb_func_start sub_80D45E8 -sub_80D45E8: @ 80D45E8 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, =0xffff8ad0 - adds r2, r3, r0 - lsls r0, r2, 16 - lsrs r0, 16 - cmp r0, 0x1B - bhi _080D4604 - movs r0, 0xC9 - strh r2, [r1] - b _080D4606 - .pool -_080D4604: - adds r0, r3, 0 -_080D4606: - pop {r1} - bx r1 - thumb_func_end sub_80D45E8 - - thumb_func_start sub_80D460C -sub_80D460C: @ 80D460C - push {r4-r7,lr} - sub sp, 0x8 - adds r6, r0, 0 - adds r7, r1, 0 - ldrh r5, [r7, 0x20] - adds r1, r5, 0 - bl sub_80D4420 - add r4, sp, 0x4 - strb r0, [r4] - ldrb r2, [r4] - cmp r2, 0xFF - beq _080D4670 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r1, r0 - ldr r0, =0x00002be0 - adds r1, r0 - adds r0, r7, 0 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r6, 0 - movs r1, 0x40 - adds r2, r4, 0 - bl SetMonData - mov r0, sp - strb r5, [r0] - mov r1, sp - lsrs r0, r5, 8 - strb r0, [r1, 0x1] - adds r0, r6, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData - ldrb r0, [r4] - b _080D4672 - .pool -_080D4670: - movs r0, 0xFF -_080D4672: - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80D460C - - thumb_func_start sub_80D467C -sub_80D467C: @ 80D467C - movs r0, 0 - bx lr - thumb_func_end sub_80D467C - - thumb_func_start sub_80D4680 -sub_80D4680: @ 80D4680 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - bl sub_80D43F0 - lsls r0, 24 - cmp r0, 0 - beq _080D46D2 - adds r0, r4, 0 - movs r1, 0x40 - bl GetMonData - add r2, sp, 0x4 - strb r0, [r2] - ldr r0, =gSaveBlock1Ptr - ldr r3, [r0] - ldrb r1, [r2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r3, r0 - movs r0, 0xB0 - lsls r0, 6 - adds r3, r0 - movs r1, 0 - movs r0, 0 - strh r0, [r3] - movs r0, 0xFF - strb r0, [r2] - mov r0, sp - strb r1, [r0] - strb r1, [r0, 0x1] - adds r0, r4, 0 - movs r1, 0x40 - bl SetMonData - adds r0, r4, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData -_080D46D2: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80D4680 - - thumb_func_start sub_80D46E0 -sub_80D46E0: @ 80D46E0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSaveBlock1Ptr - ldr r2, [r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r2, r1 - movs r0, 0xB0 - lsls r0, 6 - adds r2, r0 - movs r0, 0 - strh r0, [r2] - bx lr - .pool - thumb_func_end sub_80D46E0 - - thumb_func_start sub_80D4700 -sub_80D4700: @ 80D4700 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - adds r5, r0, 0 - mov r0, sp - movs r1, 0 - strb r1, [r0] - strb r1, [r0, 0x1] - add r1, sp, 0x4 - movs r0, 0xFF - strb r0, [r1] - movs r7, 0x6 - mov r9, r1 - ldr r0, =gSaveBlock1Ptr - mov r8, r0 - ldr r3, =0x00002be0 -_080D4724: - mov r1, r8 - ldr r0, [r1] - lsls r1, r7, 3 - adds r1, r7 - lsls r1, 2 - adds r4, r0, r1 - movs r2, 0xB0 - lsls r2, 6 - adds r0, r4, r2 - ldrh r6, [r0] - cmp r6, 0 - bne _080D47A0 - adds r4, r3 - adds r0, r5, 0 - movs r1, 0x40 - str r3, [sp, 0x8] - bl GetMonData - mov r1, r8 - ldr r2, [r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldr r3, [sp, 0x8] - adds r1, r3 - ldm r1!, {r0,r2,r3} - stm r4!, {r0,r2,r3} - ldm r1!, {r0,r2,r3} - stm r4!, {r0,r2,r3} - ldm r1!, {r0,r2,r3} - stm r4!, {r0,r2,r3} - adds r0, r5, 0 - movs r1, 0x40 - bl GetMonData - mov r1, r8 - ldr r2, [r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r2, r1 - movs r3, 0xB0 - lsls r3, 6 - adds r2, r3 - strh r6, [r2] - adds r0, r5, 0 - movs r1, 0x40 - mov r2, r9 - bl SetMonData - adds r0, r5, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData - adds r0, r7, 0 - b _080D47AC - .pool -_080D47A0: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0xF - bls _080D4724 - movs r0, 0xFF -_080D47AC: - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80D4700 - - thumb_func_start itemid_is_mail -itemid_is_mail: @ 80D47BC - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x84 - bgt _080D47CE - cmp r0, 0x79 - blt _080D47CE - movs r0, 0x1 - b _080D47D0 -_080D47CE: - movs r0, 0 -_080D47D0: - pop {r1} - bx r1 - thumb_func_end itemid_is_mail - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/main_menu.s b/asm/main_menu.s index 6194f04874..9c6cd1253c 100644 --- a/asm/main_menu.s +++ b/asm/main_menu.s @@ -127,7 +127,7 @@ InitMainMenu: @ 802F6F4 movs r1, 0xF0 movs r2, 0x20 bl LoadPalette - bl remove_some_task + bl ScanlineEffect_Stop bl ResetTasks bl ResetSpriteData bl FreeAllSpritePalettes @@ -1487,7 +1487,7 @@ _08030460: ldr r0, =gMain ldr r1, =CB2_ReinitMainMenu str r1, [r0, 0x8] - ldr r0, =CB2_OptionsMenu + ldr r0, =CB2_InitOptionMenu b _0803048A .pool _08030478: @@ -1495,7 +1495,7 @@ _08030478: b _0803048A .pool _08030480: - ldr r0, =sub_8178974 + ldr r0, =CB2_InitMysteryEventMenu b _0803048A .pool _08030488: @@ -1608,7 +1608,7 @@ _08030578: ldr r0, =gUnknown_02022D06 strh r4, [r0] bl FreeAllWindowBuffers - ldr r0, =c2_title_screen_1 + ldr r0, =CB2_InitTitleScreen bl SetMainCallback2 adds r0, r5, 0 bl DestroyTask @@ -1929,7 +1929,7 @@ task_new_game_prof_birch_speech_1: @ 80307B0 movs r1, 0x1 movs r2, 0x10 bl LoadPalette - bl remove_some_task + bl ScanlineEffect_Stop bl ResetSpriteData bl FreeAllSpritePalettes bl dp13_810BB8C @@ -2215,7 +2215,7 @@ sub_8030A70: @ 8030A70 str r2, [sp, 0x10] movs r2, 0x70 movs r3, 0x3A - bl sub_8076438 + bl CreatePokeballSpriteToReleaseMon lsls r0, r4, 2 adds r0, r4 lsls r0, 3 @@ -3025,7 +3025,7 @@ task_new_game_prof_birch_speech_part2_4: @ 8031188 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -3708,7 +3708,7 @@ new_game_prof_birch_speech_part2_start: @ 8031678 strh r0, [r4, 0x16] ldr r0, =0x0000ffc4 strh r0, [r4, 0x10] - bl remove_some_task + bl ScanlineEffect_Stop bl ResetSpriteData bl FreeAllSpritePalettes bl dp13_810BB8C @@ -3948,7 +3948,7 @@ AddBirchSpeechObjects: @ 803192C movs r1, 0x78 movs r2, 0x3C movs r3, 0 - bl sub_80B5E6C + bl CreateTrainerSprite lsls r0, 24 lsrs r0, 24 lsls r2, r0, 4 @@ -3981,7 +3981,7 @@ AddBirchSpeechObjects: @ 803192C movs r1, 0x78 movs r2, 0x3C movs r3, 0 - bl sub_80B5E6C + bl CreateTrainerSprite lsls r0, 24 lsrs r0, 24 lsls r2, r0, 4 @@ -4783,7 +4783,7 @@ LoadMainMenuWindowFrameTiles: @ 80320A4 ldr r0, [r6] ldrb r0, [r0, 0x14] lsrs r0, 3 - bl sub_8098758 + bl GetWindowFrameTilesPal ldr r1, [r0] movs r2, 0x90 lsls r2, 1 @@ -4793,7 +4793,7 @@ LoadMainMenuWindowFrameTiles: @ 80320A4 ldr r0, [r6] ldrb r0, [r0, 0x14] lsrs r0, 3 - bl sub_8098758 + bl GetWindowFrameTilesPal ldr r0, [r0, 0x4] movs r1, 0x20 movs r2, 0x20 diff --git a/asm/map_name_popup.s b/asm/map_name_popup.s old mode 100755 new mode 100644 index f10dff9464..9802c31511 --- a/asm/map_name_popup.s +++ b/asm/map_name_popup.s @@ -518,7 +518,7 @@ _080D4C0A: lsls r1, r4, 4 subs r1, r4 lsls r1, 6 - ldr r2, =gUnknown_0857DD04 + ldr r2, =gMapPopUp_Outline_Table adds r1, r2 movs r2, 0x80 lsls r2, 3 @@ -541,7 +541,7 @@ _080D4C0A: .pool _080D4C6C: lsls r0, r4, 5 - ldr r1, =gUnknown_0857F384 + ldr r1, =gMapPopUp_Palette_Table adds r0, r1 movs r1, 0xE0 movs r2, 0x20 @@ -550,7 +550,7 @@ _080D4C7A: lsls r1, r4, 4 subs r1, r4 lsls r1, 6 - ldr r0, =gUnknown_0857C684 + ldr r0, =gMapPopUp_Table adds r1, r0 movs r0, 0x50 str r0, [sp] diff --git a/asm/map_obj_8097404.s b/asm/map_obj_8097404.s deleted file mode 100644 index 96ffc22545..0000000000 --- a/asm/map_obj_8097404.s +++ /dev/null @@ -1,1861 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8097404 -@ bool8 sub_8097404(struct npc_state *fieldObject) -sub_8097404: @ 8097404 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r1, [r5] - movs r0, 0xA0 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - bne _0809748C - ldrb r0, [r5, 0x1] - movs r4, 0x1 - orrs r0, r4 - strb r0, [r5, 0x1] - ldr r3, =gSprites - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - lsls r1, 25 - lsrs r1, 31 - lsls r1, 7 - ldrb r2, [r5, 0x2] - movs r0, 0x7F - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x2] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - lsrs r1, 7 - ands r1, r4 - ldrb r2, [r5, 0x3] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x3] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - movs r0, 0 - b _0809748E - .pool -_0809748C: - movs r0, 0x1 -_0809748E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8097404 - - thumb_func_start player_bitmagic -@ void player_bitmagic() -player_bitmagic: @ 8097494 - push {r4,r5,lr} - movs r4, 0 - ldr r5, =gMapObjects -_0809749A: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _080974B8 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - cmp r4, r0 - beq _080974B8 - adds r0, r1, 0 - bl sub_8097404 -_080974B8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _0809749A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end player_bitmagic - - thumb_func_start sub_80974D0 -sub_80974D0: @ 80974D0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r6, =gMapObjects -_080974DA: - cmp r4, r5 - beq _080974FC - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r6 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _080974FC - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - cmp r4, r0 - beq _080974FC - adds r0, r1, 0 - bl sub_8097404 -_080974FC: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _080974DA - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80974D0 - - thumb_func_start npc_sync_anim_pause_bits -@ void npc_sync_anim_pause_bits(struct npc_state *fieldObject) -npc_sync_anim_pause_bits: @ 8097514 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r2, [r5] - ldr r1, =0x00000101 - adds r0, r1, 0 - ands r0, r2 - cmp r0, r1 - bne _0809756C - ldrb r1, [r5, 0x1] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x1] - ldr r4, =gSprites - ldrb r0, [r5, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r5, 0x2] - adds r1, 0x2C - lsrs r2, 7 - lsls r2, 6 - ldrb r3, [r1] - movs r0, 0x41 - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1] - ldrb r0, [r5, 0x4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldrb r1, [r5, 0x3] - lsls r1, 31 - lsrs r1, 31 - adds r2, 0x2C - lsls r1, 7 - ldrb r3, [r2] - movs r0, 0x7F - ands r0, r3 - orrs r0, r1 - strb r0, [r2] -_0809756C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end npc_sync_anim_pause_bits - - thumb_func_start UnfreezeMapObjects -UnfreezeMapObjects: @ 809757C - push {r4,r5,lr} - movs r4, 0 - ldr r5, =gMapObjects -_08097582: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _08097598 - adds r0, r1, 0 - bl npc_sync_anim_pause_bits -_08097598: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _08097582 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end UnfreezeMapObjects - - thumb_func_start little_step -@ void little_step(struct obj *object, u8 direction) -little_step: @ 80975AC - lsls r1, 24 - ldr r2, =gUnknown_0850DB7C - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .pool - thumb_func_end little_step - - thumb_func_start double_little_steps -double_little_steps: @ 80975CC - lsls r1, 24 - ldr r2, =gUnknown_0850DB7C - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - lsls r2, 1 - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - lsls r1, 1 - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .pool - thumb_func_end double_little_steps - - thumb_func_start triple_little_steps -triple_little_steps: @ 80975F0 - lsls r1, 24 - ldr r2, =gUnknown_0850DB7C - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - lsls r3, r2, 1 - adds r2, r3 - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - lsls r2, r1, 1 - adds r1, r2 - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .pool - thumb_func_end triple_little_steps - - thumb_func_start quad_little_steps -quad_little_steps: @ 8097618 - lsls r1, 24 - ldr r2, =gUnknown_0850DB7C - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - lsls r2, 2 - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - lsls r1, 2 - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .pool - thumb_func_end quad_little_steps - - thumb_func_start oct_little_steps -@ void oct_little_steps(struct obj *object, u8 direction) -oct_little_steps: @ 809763C - lsls r1, 24 - ldr r2, =gUnknown_0850DB7C - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - lsls r2, 3 - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - lsls r1, 3 - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .pool - thumb_func_end oct_little_steps - - thumb_func_start oamt_npc_ministep_reset -@ void oamt_npc_ministep_reset(struct obj *object, u8 direction, u8 speed) -oamt_npc_ministep_reset: @ 8097660 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - movs r3, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r3, [r0, 0x38] - bx lr - thumb_func_end oamt_npc_ministep_reset - - thumb_func_start obj_npc_ministep -@ bool8 obj_npc_ministep(struct obj *object) -obj_npc_ministep: @ 8097674 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gUnknown_0850E768 - movs r0, 0x36 - ldrsh r2, [r4, r0] - lsls r0, r2, 1 - adds r0, r5 - movs r3, 0x38 - ldrsh r1, [r4, r3] - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r1, r0 - bge _080976D4 - ldr r1, =gUnknown_0850E754 - lsls r0, r2, 2 - adds r0, r1 - movs r1, 0x38 - ldrsh r2, [r4, r1] - ldr r0, [r0] - lsls r2, 2 - adds r2, r0 - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - ldr r2, [r2] - adds r0, r4, 0 - bl _call_via_r2 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - movs r2, 0x36 - ldrsh r1, [r4, r2] - lsls r1, 1 - adds r1, r5 - lsls r0, 16 - asrs r0, 16 - movs r3, 0 - ldrsh r1, [r1, r3] - cmp r0, r1 - blt _080976D4 - movs r0, 0x1 - b _080976D6 - .pool -_080976D4: - movs r0, 0 -_080976D6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end obj_npc_ministep - - thumb_func_start sub_80976DC -@ void sub_80976DC(struct obj *object, u8 direction) -sub_80976DC: @ 80976DC - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r2, [r0, 0x38] - bx lr - thumb_func_end sub_80976DC - - thumb_func_start sub_80976EC -@ bool8 sub_80976EC(struct obj *object) -sub_80976EC: @ 80976EC - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x36] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0809770C - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl little_step - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] -_0809770C: - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0xF - bgt _0809771E - movs r0, 0 - b _08097720 -_0809771E: - movs r0, 0x1 -_08097720: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80976EC - - thumb_func_start sub_8097728 -sub_8097728: @ 8097728 - ldr r1, =gUnknown_0850E7BA - lsls r0, 16 - asrs r0, 16 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bx lr - .pool - thumb_func_end sub_8097728 - - thumb_func_start sub_809773C -sub_809773C: @ 809773C - ldr r1, =gUnknown_0850E772 - lsls r0, 16 - asrs r0, 16 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - bx lr - .pool - thumb_func_end sub_809773C - - thumb_func_start sub_8097750 -sub_8097750: @ 8097750 - movs r1, 0 - strh r1, [r0, 0x3A] - strh r1, [r0, 0x3C] - bx lr - thumb_func_end sub_8097750 - - thumb_func_start sub_8097758 -sub_8097758: @ 8097758 - push {r4-r6,lr} - adds r5, r0, 0 - movs r6, 0 - movs r1, 0x3C - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _0809778E - cmp r0, 0x1 - bgt _08097770 - cmp r0, 0 - beq _0809777A - b _080977F2 -_08097770: - cmp r0, 0x2 - beq _080977B6 - cmp r0, 0x3 - beq _080977CA - b _080977F2 -_0809777A: - movs r2, 0x3A - ldrsh r0, [r5, r2] - bl sub_809773C - ldrh r1, [r5, 0x24] - adds r0, r1 - strh r0, [r5, 0x24] - movs r2, 0x3A - ldrsh r0, [r5, r2] - b _080977E8 -_0809778E: - ldrh r0, [r5, 0x3A] - movs r4, 0x47 - subs r0, r4, r0 - lsls r0, 16 - asrs r0, 16 - bl sub_809773C - ldrh r1, [r5, 0x24] - subs r1, r0 - strh r1, [r5, 0x24] - ldrh r0, [r5, 0x3A] - subs r4, r0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - bl sub_8097728 - ldrh r2, [r5, 0x26] - adds r0, r2 - b _080977F0 -_080977B6: - movs r1, 0x3A - ldrsh r0, [r5, r1] - bl sub_809773C - ldrh r1, [r5, 0x24] - subs r1, r0 - strh r1, [r5, 0x24] - movs r2, 0x3A - ldrsh r0, [r5, r2] - b _080977E8 -_080977CA: - ldrh r0, [r5, 0x3A] - movs r4, 0x47 - subs r0, r4, r0 - lsls r0, 16 - asrs r0, 16 - bl sub_809773C - ldrh r2, [r5, 0x24] - adds r0, r2 - strh r0, [r5, 0x24] - ldrh r0, [r5, 0x3A] - subs r4, r0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 -_080977E8: - bl sub_8097728 - ldrh r1, [r5, 0x26] - adds r0, r1 -_080977F0: - strh r0, [r5, 0x26] -_080977F2: - ldrh r0, [r5, 0x3A] - adds r0, 0x1 - movs r1, 0 - strh r0, [r5, 0x3A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x48 - bne _0809780A - strh r1, [r5, 0x3A] - ldrh r0, [r5, 0x3C] - adds r0, 0x1 - strh r0, [r5, 0x3C] -_0809780A: - movs r2, 0x3C - ldrsh r0, [r5, r2] - cmp r0, 0x4 - bne _08097818 - strh r1, [r5, 0x26] - strh r1, [r5, 0x24] - movs r6, 0x1 -_08097818: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8097758 - - thumb_func_start sub_8097820 -sub_8097820: @ 8097820 - lsls r1, 24 - ldr r2, =gUnknown_0850E834 - lsrs r1, 22 - adds r1, r2 - lsls r0, 16 - asrs r0, 16 - ldr r1, [r1] - adds r1, r0 - movs r0, 0 - ldrsb r0, [r1, r0] - bx lr - .pool - thumb_func_end sub_8097820 - - thumb_func_start sub_809783C -sub_809783C: @ 809783C - push {r4,lr} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - movs r4, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r3, [r0, 0x38] - strh r4, [r0, 0x3A] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_809783C - - thumb_func_start sub_809785C -sub_809785C: @ 809785C - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - ldr r1, =gUnknown_0850E840 - mov r0, sp - movs r2, 0x6 - bl memcpy - add r5, sp, 0x8 - ldr r1, =gUnknown_0850E846 - adds r0, r5, 0 - movs r2, 0x3 - bl memcpy - movs r6, 0 - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0809788E - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl little_step -_0809788E: - movs r2, 0x3A - ldrsh r0, [r4, r2] - movs r2, 0x36 - ldrsh r1, [r4, r2] - adds r1, r5, r1 - ldrb r1, [r1] - asrs r0, r1 - ldrh r1, [r4, 0x38] - lsls r1, 24 - lsrs r1, 24 - bl sub_8097820 - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x3A] - adds r1, 0x1 - strh r1, [r4, 0x3A] - movs r2, 0x36 - ldrsh r0, [r4, r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - lsls r0, 16 - asrs r2, r0, 16 - lsls r1, 16 - asrs r1, 16 - asrs r0, 17 - cmp r1, r0 - bne _080978C8 - movs r6, 0x1 -_080978C8: - cmp r1, r2 - blt _080978D2 - movs r0, 0 - strh r0, [r4, 0x26] - movs r6, 0xFF -_080978D2: - adds r0, r6, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_809785C - - thumb_func_start sub_80978E4 -sub_80978E4: @ 80978E4 - push {r4-r6,lr} - sub sp, 0xC - adds r5, r0, 0 - ldr r1, =gUnknown_0850E84A - mov r0, sp - movs r2, 0x6 - bl memcpy - add r4, sp, 0x8 - ldr r1, =gUnknown_0850E850 - adds r0, r4, 0 - movs r2, 0x3 - bl memcpy - movs r6, 0 - movs r1, 0x36 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08097920 - ldrh r1, [r5, 0x3A] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08097920 - ldrh r1, [r5, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl little_step -_08097920: - movs r2, 0x3A - ldrsh r0, [r5, r2] - movs r2, 0x36 - ldrsh r1, [r5, r2] - adds r1, r4, r1 - ldrb r1, [r1] - asrs r0, r1 - ldrh r1, [r5, 0x38] - lsls r1, 24 - lsrs r1, 24 - bl sub_8097820 - strh r0, [r5, 0x26] - ldrh r1, [r5, 0x3A] - adds r1, 0x1 - strh r1, [r5, 0x3A] - movs r2, 0x36 - ldrsh r0, [r5, r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - lsls r0, 16 - asrs r2, r0, 16 - lsls r1, 16 - asrs r1, 16 - asrs r0, 17 - cmp r1, r0 - bne _0809795A - movs r6, 0x1 -_0809795A: - cmp r1, r2 - blt _08097964 - movs r0, 0 - strh r0, [r5, 0x26] - movs r6, 0xFF -_08097964: - adds r0, r6, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80978E4 - - thumb_func_start SetFieldObjectStepTimer -@ void SetFieldObjectStepTimer(struct obj *object, u16 a2) -SetFieldObjectStepTimer: @ 8097978 - strh r1, [r0, 0x34] - bx lr - thumb_func_end SetFieldObjectStepTimer - - thumb_func_start RunFieldObjectStepTimer -@ bool8 RunFieldObjectStepTimer(struct obj *object) -RunFieldObjectStepTimer: @ 809797C - push {lr} - ldrh r1, [r0, 0x34] - subs r1, 0x1 - strh r1, [r0, 0x34] - lsls r1, 16 - cmp r1, 0 - beq _0809798E - movs r0, 0 - b _08097990 -_0809798E: - movs r0, 0x1 -_08097990: - pop {r1} - bx r1 - thumb_func_end RunFieldObjectStepTimer - - thumb_func_start obj_anim_image_set_and_seek -obj_anim_image_set_and_seek: @ 8097994 - push {r4,lr} - lsls r2, 24 - lsrs r2, 24 - adds r3, r0, 0 - adds r3, 0x2A - strb r1, [r3] - adds r4, r0, 0 - adds r4, 0x2C - ldrb r3, [r4] - movs r1, 0x41 - negs r1, r1 - ands r1, r3 - strb r1, [r4] - adds r1, r2, 0 - bl SeekSpriteAnim - pop {r4} - pop {r0} - bx r0 - thumb_func_end obj_anim_image_set_and_seek - - thumb_func_start sub_80979BC -sub_80979BC: @ 80979BC - push {lr} - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _080979CE - movs r0, 0 - b _080979D0 -_080979CE: - movs r0, 0x1 -_080979D0: - pop {r1} - bx r1 - thumb_func_end sub_80979BC - - thumb_func_start sub_80979D4 -sub_80979D4: @ 80979D4 - push {r4-r6,lr} - mov r12, r0 - lsls r1, 24 - lsrs r1, 24 - mov r3, r12 - adds r3, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08097A3C - mov r0, r12 - ldrh r1, [r0, 0x24] - ldrh r2, [r0, 0x20] - adds r1, r2 - mov r4, r12 - adds r4, 0x28 - movs r0, 0 - ldrsb r0, [r4, r0] - ldr r2, =gSpriteCoordOffsetX - adds r0, r1 - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - lsrs r6, r0, 16 - mov r0, r12 - ldrh r1, [r0, 0x26] - ldrh r2, [r0, 0x22] - adds r1, r2 - subs r3, 0x15 - movs r0, 0 - ldrsb r0, [r3, r0] - ldr r2, =gSpriteCoordOffsetY - adds r0, r1 - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - lsrs r5, r0, 16 - adds r2, r3, 0 - b _08097A6A - .pool -_08097A3C: - mov r0, r12 - ldrh r1, [r0, 0x24] - ldrh r2, [r0, 0x20] - adds r1, r2 - mov r3, r12 - adds r3, 0x28 - movs r0, 0 - ldrsb r0, [r3, r0] - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - mov r0, r12 - ldrh r1, [r0, 0x26] - ldrh r2, [r0, 0x22] - adds r1, r2 - mov r2, r12 - adds r2, 0x29 - movs r0, 0 - ldrsb r0, [r2, r0] - adds r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r4, r3, 0 -_08097A6A: - ldrb r0, [r4] - lsls r0, 24 - asrs r0, 25 - subs r0, r6, r0 - lsls r0, 16 - lsrs r3, r0, 16 - ldrb r0, [r2] - lsls r0, 24 - asrs r0, 25 - subs r0, r5, r0 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r0, r6, 16 - asrs r0, 16 - cmp r0, 0xFF - bgt _08097A96 - lsls r0, r3, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _08097AA2 -_08097A96: - mov r4, r12 - adds r4, 0x3E - ldrb r0, [r4] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] -_08097AA2: - lsls r0, r5, 16 - asrs r0, 16 - cmp r0, 0xAF - bgt _08097AB6 - lsls r0, r2, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _08097AC2 -_08097AB6: - mov r0, r12 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_08097AC2: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80979D4 - - thumb_func_start sub_8097AC8 -sub_8097AC8: @ 8097AC8 - push {r4,lr} - adds r4, r0, 0 - bl sub_8097D68 - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - movs r2, 0x1 - bl SetObjectSubpriorityByZCoord - ldrh r1, [r4, 0x32] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80979D4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8097AC8 - - thumb_func_start sub_8097AF0 -sub_8097AF0: @ 8097AF0 - push {r4,r5,lr} - movs r5, 0 - movs r4, 0x3F -_08097AF6: - ldr r0, =gSprites - adds r2, r5, r0 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08097B16 - ldr r1, [r2, 0x1C] - ldr r0, =sub_8097AC8 - cmp r1, r0 - bne _08097B16 - adds r0, r2, 0 - bl DestroySprite -_08097B16: - adds r5, 0x44 - subs r4, 0x1 - cmp r4, 0 - bge _08097AF6 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8097AF0 - - thumb_func_start sub_8097B2C -sub_8097B2C: @ 8097B2C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r3, 0 - ldr r6, =gSprites - movs r4, 0 -_08097B38: - adds r2, r4, r6 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08097B68 - ldr r1, [r2, 0x1C] - ldr r0, =sub_8097AC8 - cmp r1, r0 - bne _08097B68 - ldrh r0, [r2, 0x2E] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r5 - bne _08097B68 - adds r0, r3, 0 - b _08097B72 - .pool -_08097B68: - adds r4, 0x44 - adds r3, 0x1 - cmp r3, 0x3F - ble _08097B38 - movs r0, 0x40 -_08097B72: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8097B2C - - thumb_func_start sub_8097B78 -sub_8097B78: @ 8097B78 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - bl sub_8097B2C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08097BAA - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - adds r0, r5, 0 - bl FieldObjectDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim -_08097BAA: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8097B78 - - thumb_func_start sub_8097BB4 -sub_8097BB4: @ 8097BB4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - bl sub_8097B2C - adds r1, r0, 0 - cmp r1, 0x40 - beq _08097C3E - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r4, r0, r1 - adds r0, r5, 0 - bl GetFieldObjectGraphicsInfo - ldrh r3, [r4, 0x4] - lsls r3, 22 - ldr r1, [r0, 0x10] - ldr r2, [r1, 0x4] - ldr r1, [r1] - str r1, [r4] - str r2, [r4, 0x4] - lsrs r3, 22 - ldrh r2, [r4, 0x4] - ldr r1, =0xfffffc00 - ands r1, r2 - orrs r1, r3 - strh r1, [r4, 0x4] - ldrb r2, [r0, 0xC] - lsls r2, 28 - lsrs r2, 24 - ldrb r3, [r4, 0x5] - movs r1, 0xF - ands r1, r3 - orrs r1, r2 - strb r1, [r4, 0x5] - ldr r1, [r0, 0x1C] - str r1, [r4, 0xC] - ldr r1, [r0, 0x14] - cmp r1, 0 - bne _08097C20 - str r1, [r4, 0x18] - adds r0, r4, 0 - adds r0, 0x42 - strb r1, [r0] - b _08097C36 - .pool -_08097C20: - adds r0, r4, 0 - bl SetSubspriteTables - adds r2, r4, 0 - adds r2, 0x42 - ldrb r0, [r2] - movs r1, 0x3F - ands r1, r0 - movs r0, 0x80 - orrs r1, r0 - strb r1, [r2] -_08097C36: - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim -_08097C3E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8097BB4 - - thumb_func_start sub_8097C44 -sub_8097C44: @ 8097C44 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - bl sub_8097B2C - lsls r0, 24 - lsrs r2, r0, 24 - adds r3, r2, 0 - cmp r2, 0x40 - beq _08097C80 - cmp r4, 0 - beq _08097C74 - ldr r0, =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x32] - b _08097C80 - .pool -_08097C74: - ldr r1, =gSprites - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - strh r4, [r0, 0x32] -_08097C80: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8097C44 - - thumb_func_start sub_8097C8C -sub_8097C8C: @ 8097C8C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_8097B2C - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - bne _08097CA2 - movs r0, 0 - b _08097CBA -_08097CA2: - movs r3, 0 - ldr r0, =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r2, 0x32 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _08097CB8 - movs r3, 0x1 -_08097CB8: - adds r0, r3, 0 -_08097CBA: - pop {r1} - bx r1 - .pool - thumb_func_end sub_8097C8C - - thumb_func_start sub_8097CC4 -sub_8097CC4: @ 8097CC4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - bl sub_8097B2C - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _08097CEA - ldr r0, =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r0, 0 - strh r4, [r1, 0x34] - strh r0, [r1, 0x36] -_08097CEA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8097CC4 - - thumb_func_start sub_8097CF4 -sub_8097CF4: @ 8097CF4 - push {lr} - adds r2, r0, 0 - movs r1, 0x36 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _08097D06 - cmp r0, 0x1 - beq _08097D0E - b _08097D2C -_08097D06: - strh r0, [r2, 0x26] - ldrh r0, [r2, 0x36] - adds r0, 0x1 - strh r0, [r2, 0x36] -_08097D0E: - ldrh r0, [r2, 0x26] - subs r0, 0x8 - movs r3, 0 - strh r0, [r2, 0x26] - lsls r0, 16 - asrs r0, 16 - movs r1, 0xA0 - negs r1, r1 - cmp r0, r1 - bne _08097D2C - strh r3, [r2, 0x26] - movs r0, 0x1 - strh r0, [r2, 0x32] - strh r3, [r2, 0x34] - strh r3, [r2, 0x36] -_08097D2C: - pop {r0} - bx r0 - thumb_func_end sub_8097CF4 - - thumb_func_start sub_8097D30 -sub_8097D30: @ 8097D30 - push {lr} - adds r1, r0, 0 - movs r2, 0x36 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _08097D42 - cmp r0, 0x1 - beq _08097D4C - b _08097D5E -_08097D42: - ldr r0, =0x0000ff60 - strh r0, [r1, 0x26] - ldrh r0, [r1, 0x36] - adds r0, 0x1 - strh r0, [r1, 0x36] -_08097D4C: - ldrh r0, [r1, 0x26] - adds r0, 0x8 - strh r0, [r1, 0x26] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _08097D5E - strh r0, [r1, 0x34] - strh r0, [r1, 0x36] -_08097D5E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8097D30 - - thumb_func_start sub_8097D68 -sub_8097D68: @ 8097D68 - push {lr} - adds r1, r0, 0 - movs r2, 0x34 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _08097D84 - cmp r0, 0x1 - bgt _08097D7E - cmp r0, 0 - beq _08097D98 - b _08097D94 -_08097D7E: - cmp r0, 0x2 - beq _08097D8C - b _08097D94 -_08097D84: - adds r0, r1, 0 - bl sub_8097D30 - b _08097D98 -_08097D8C: - adds r0, r1, 0 - bl sub_8097CF4 - b _08097D98 -_08097D94: - movs r0, 0 - strh r0, [r1, 0x34] -_08097D98: - pop {r0} - bx r0 - thumb_func_end sub_8097D68 - - thumb_func_start sub_8097D9C -sub_8097D9C: @ 8097D9C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_8097B2C - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _08097DC0 - ldr r0, =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r2, 0x34 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08097DC8 -_08097DC0: - movs r0, 0 - b _08097DCA - .pool -_08097DC8: - movs r0, 0x1 -_08097DCA: - pop {r1} - bx r1 - thumb_func_end sub_8097D9C - - thumb_func_start oe_exec_and_other_stuff -oe_exec_and_other_stuff: @ 8097DD0 - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =gFieldEffectArguments - adds r2, r1, 0x4 - adds r3, r1, 0 - adds r3, 0x8 - bl FieldObjectGetLocalIdAndMap - adds r0, r4, 0 - bl FieldEffectStart - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end oe_exec_and_other_stuff - - thumb_func_start DoShadowFieldEffect -DoShadowFieldEffect: @ 8097DF8 - push {lr} - adds r1, r0, 0 - ldrb r2, [r1, 0x2] - lsls r0, r2, 25 - cmp r0, 0 - blt _08097E10 - movs r0, 0x40 - orrs r0, r2 - strb r0, [r1, 0x2] - movs r0, 0x3 - bl oe_exec_and_other_stuff -_08097E10: - pop {r0} - bx r0 - thumb_func_end DoShadowFieldEffect - - thumb_func_start DoRippleFieldEffect -@ void DoRippleFieldEffect(struct npc_state *fieldObject, struct obj *object) -DoRippleFieldEffect: @ 8097E14 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x5] - bl GetFieldObjectGraphicsInfo - ldr r2, =gFieldEffectArguments - movs r3, 0x20 - ldrsh r1, [r4, r3] - str r1, [r2] - movs r3, 0x22 - ldrsh r1, [r4, r3] - ldrh r0, [r0, 0xA] - lsls r0, 16 - asrs r0, 17 - adds r1, r0 - subs r1, 0x2 - str r1, [r2, 0x4] - movs r0, 0x97 - str r0, [r2, 0x8] - movs r0, 0x3 - str r0, [r2, 0xC] - movs r0, 0x5 - bl FieldEffectStart - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end DoRippleFieldEffect - - thumb_func_start sub_8097E50 -sub_8097E50: @ 8097E50 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - mov r8, r1 - movs r0, 0 - mov r12, r0 - ldr r0, =gUnknown_020375B8 - ldr r1, [r0] - adds r6, r0, 0 - cmp r1, 0 - bne _08097E80 - movs r0, 0x14 - bl AllocZeroed - str r0, [r6] - ldrb r1, [r4, 0x8] - strb r1, [r0] - ldr r1, [r6] - movs r0, 0x1 - strb r0, [r1, 0x10] - b _08097ECC - .pool -_08097E80: - movs r2, 0x10 - movs r5, 0 - movs r1, 0 - adds r3, r6, 0 - b _08097E90 -_08097E8A: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 -_08097E90: - cmp r1, 0xF - bhi _08097EB2 - cmp r2, 0x10 - bne _08097EA4 - ldr r0, [r3] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08097EA4 - adds r2, r1, 0 -_08097EA4: - ldr r0, [r3] - adds r0, r1 - ldrb r0, [r0] - ldrb r7, [r4, 0x8] - cmp r0, r7 - bne _08097E8A - movs r5, 0x1 -_08097EB2: - cmp r5, 0 - bne _08097ECE - cmp r2, 0x10 - beq _08097ECE - ldr r0, [r6] - adds r0, r2 - ldrb r1, [r4, 0x8] - strb r1, [r0] - ldr r1, [r6] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - movs r0, 0x1 -_08097ECC: - mov r12, r0 -_08097ECE: - mov r1, r12 - cmp r1, 0x1 - bne _08097EE0 - ldrb r0, [r4, 0x1] - movs r1, 0x10 - orrs r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4, 0x1] -_08097EE0: - movs r0, 0x1 - mov r7, r8 - strh r0, [r7, 0x32] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8097E50 - - thumb_func_start sub_8097EF0 -sub_8097EF0: @ 8097EF0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - mov r8, r1 - movs r0, 0x1 - strh r0, [r1, 0x32] - ldr r5, =gUnknown_020375B8 - ldr r0, [r5] - cmp r0, 0 - beq _08097F68 - movs r7, 0 - adds r0, r6, 0 - bl sub_8097F78 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x10 - beq _08097F28 - ldr r0, [r5] - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r1, [r5] - ldrb r0, [r1, 0x10] - subs r0, 0x1 - strb r0, [r1, 0x10] - movs r7, 0x1 -_08097F28: - ldr r0, [r5] - ldrb r4, [r0, 0x10] - cmp r4, 0 - bne _08097F36 - bl Free - str r4, [r5] -_08097F36: - cmp r7, 0x1 - bne _08097F68 - ldrb r0, [r6, 0x5] - bl GetFieldObjectGraphicsInfo - ldrb r1, [r0, 0xC] - lsls r1, 25 - lsrs r1, 31 - lsls r1, 4 - ldrb r2, [r6, 0x1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - movs r1, 0x3 - negs r1, r1 - ands r0, r1 - strb r0, [r6, 0x1] - mov r2, r8 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_08097F68: - movs r0, 0x1 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8097EF0 - - thumb_func_start sub_8097F78 -@ signed int sub_8097F78(npc_state *a1) -sub_8097F78: @ 8097F78 - push {lr} - movs r2, 0 - ldr r1, =gUnknown_020375B8 - ldr r1, [r1] - ldrb r3, [r0, 0x8] -_08097F82: - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, r3 - bne _08097F94 - adds r0, r2, 0 - b _08097FA0 - .pool -_08097F94: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _08097F82 - movs r0, 0x10 -_08097FA0: - pop {r1} - bx r1 - thumb_func_end sub_8097F78 - - thumb_func_start sub_8097FA4 -sub_8097FA4: @ 8097FA4 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r0, =sub_8097FE4 - movs r1, 0xFF - bl CreateTask - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - adds r0, r4, 0 - adds r0, 0x8 - adds r1, r6, 0 - bl StoreWordInTwoHalfwords - strb r5, [r6, 0x1B] - ldr r0, =0x0000ffff - strh r0, [r4, 0xE] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8097FA4 - - thumb_func_start sub_8097FE4 -sub_8097FE4: @ 8097FE4 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - adds r0, r4, 0 - adds r0, 0x8 - mov r1, sp - bl LoadWordFromTwoHalfwords - ldr r0, [sp] - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r2, r0, r1 - ldrh r1, [r4, 0xC] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08098020 - ldrh r0, [r4, 0xE] - ldrh r1, [r2, 0x26] - adds r0, r1 - strh r0, [r2, 0x26] -_08098020: - ldrh r1, [r4, 0xC] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _08098030 - ldrh r0, [r4, 0xE] - negs r0, r0 - strh r0, [r4, 0xE] -_08098030: - adds r0, r1, 0x1 - strh r0, [r4, 0xC] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8097FE4 - - thumb_func_start sub_8098044 -sub_8098044: @ 8098044 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r0, r1 - adds r0, 0x8 - mov r1, sp - bl LoadWordFromTwoHalfwords - adds r0, r4, 0 - bl DestroyTask - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8098044 - - thumb_func_start sub_8098074 -sub_8098074: @ 8098074 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - movs r4, 0 - ldr r7, =gMapObjects -_08098082: - cmp r4, r6 - beq _080980A8 - cmp r4, r5 - beq _080980A8 - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r7 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _080980A8 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - cmp r4, r0 - beq _080980A8 - adds r0, r1, 0 - bl sub_8097404 -_080980A8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _08098082 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8098074 - - thumb_func_start sub_80980C0 -sub_80980C0: @ 80980C0 - movs r0, 0 - strh r0, [r1, 0x26] - ldrh r0, [r1, 0x32] - adds r0, 0x1 - strh r0, [r1, 0x32] - movs r0, 0 - bx lr - thumb_func_end sub_80980C0 - - thumb_func_start sub_80980D0 -sub_80980D0: @ 80980D0 - push {lr} - adds r2, r1, 0 - ldrh r0, [r2, 0x26] - subs r0, 0x8 - strh r0, [r2, 0x26] - lsls r0, 16 - asrs r0, 16 - movs r1, 0xA0 - negs r1, r1 - cmp r0, r1 - bne _080980EC - ldrh r0, [r2, 0x32] - adds r0, 0x1 - strh r0, [r2, 0x32] -_080980EC: - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_80980D0 - - thumb_func_start sub_80980F4 -sub_80980F4: @ 80980F4 - ldr r0, =0x0000ff60 - strh r0, [r1, 0x26] - ldrh r0, [r1, 0x32] - adds r0, 0x1 - strh r0, [r1, 0x32] - movs r0, 0 - bx lr - .pool - thumb_func_end sub_80980F4 - - thumb_func_start sub_8098108 -sub_8098108: @ 8098108 - push {lr} - ldrh r0, [r1, 0x26] - adds r0, 0x8 - strh r0, [r1, 0x26] - lsls r0, 16 - cmp r0, 0 - bne _0809811C - ldrh r0, [r1, 0x32] - adds r0, 0x1 - strh r0, [r1, 0x32] -_0809811C: - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_8098108 - - thumb_func_start sub_8098124 -sub_8098124: @ 8098124 - movs r0, 0x1 - bx lr - thumb_func_end sub_8098124 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/map_obj_lock.s b/asm/map_obj_lock.s index ee60814f5b..97abc7fec2 100644 --- a/asm/map_obj_lock.s +++ b/asm/map_obj_lock.s @@ -62,7 +62,7 @@ _080983E2: thumb_func_start ScriptFreezeMapObjects ScriptFreezeMapObjects: @ 80983E8 push {lr} - bl player_bitmagic + bl FreezeMapObjects ldr r0, =sub_80983A4 movs r1, 0x50 bl CreateTask @@ -109,7 +109,7 @@ _0809842A: cmp r0, 0 blt _08098452 adds r0, r1, 0 - bl sub_8097404 + bl FreezeMapObject movs r0, 0x1 strh r0, [r5, 0xA] _08098452: @@ -154,7 +154,7 @@ LockSelectedMapObject: @ 80984A0 push {r4,r5,lr} ldr r4, =gSelectedMapObject ldrb r0, [r4] - bl sub_80974D0 + bl FreezeMapObjectsExceptOne ldr r0, =sub_8098400 movs r1, 0x50 bl CreateTask @@ -171,7 +171,7 @@ LockSelectedMapObject: @ 80984A0 cmp r0, 0 blt _080984DE adds r0, r1, 0 - bl sub_8097404 + bl FreezeMapObject ldr r0, =gTasks lsls r1, r5, 2 adds r1, r5 @@ -256,7 +256,7 @@ sub_8098574: @ 8098574 lsls r0, 2 ldr r1, =gMapObjects adds r0, r1 - ldr r1, =gScriptFacing + ldr r1, =gSpecialVar_Facing ldrb r1, [r1] bl FieldObjectFaceOppositeDirection pop {r0} @@ -317,7 +317,7 @@ _080985E8: cmp r0, 0 blt _0809860C adds r0, r1, 0 - bl sub_8097404 + bl FreezeMapObject movs r0, 0x1 strh r0, [r5, 0xA] _0809860C: @@ -345,15 +345,15 @@ sub_8098630: @ 8098630 mov r6, r8 push {r6,r7} movs r0, 0 - bl sub_80B47E0 + bl GetChosenApproachingTrainerMapObjectId lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gUnknown_030060A8 + ldr r0, =gNoOfApproachingTrainers ldrb r0, [r0] cmp r0, 0x2 bne _080986E0 movs r0, 0x1 - bl sub_80B47E0 + bl GetChosenApproachingTrainerMapObjectId lsls r0, 24 lsrs r0, 24 adds r5, r0, 0 @@ -385,7 +385,7 @@ sub_8098630: @ 8098630 cmp r0, 0 blt _0809869A adds r0, r1, 0 - bl sub_8097404 + bl FreezeMapObject movs r0, 0x1 strh r0, [r6, 0xA] _0809869A: @@ -410,14 +410,14 @@ _0809869A: cmp r0, 0 blt _0809871A adds r0, r1, 0 - bl sub_8097404 + bl FreezeMapObject movs r0, 0x1 strh r0, [r4, 0xA] b _0809871A .pool _080986E0: adds r0, r4, 0 - bl sub_80974D0 + bl FreezeMapObjectsExceptOne ldr r0, =sub_80985BC movs r1, 0x50 bl CreateTask @@ -439,7 +439,7 @@ _080986E0: cmp r0, 0 blt _0809871A adds r0, r1, 0 - bl sub_8097404 + bl FreezeMapObject movs r0, 0x1 strh r0, [r5, 0xA] _0809871A: diff --git a/asm/mauville_old_man.s b/asm/mauville_old_man.s index bfcf8742a9..af4764d76d 100644 --- a/asm/mauville_old_man.s +++ b/asm/mauville_old_man.s @@ -157,7 +157,7 @@ sub_81201C8: @ 81201C8 thumb_func_start sub_81201DC sub_81201DC: @ 81201DC push {r4,lr} - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result bl sub_81201C8 lsls r0, 24 lsrs r0, 24 @@ -170,7 +170,7 @@ sub_81201DC: @ 81201DC thumb_func_start sub_81201F4 sub_81201F4: @ 81201F4 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r2, =0x00002e51 @@ -347,7 +347,7 @@ sub_8120340: @ 8120340 thumb_func_start sub_8120358 sub_8120358: @ 8120358 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r2, =0x00002e28 @@ -379,14 +379,14 @@ sub_812038C: @ 812038C ldr r0, =0x0000ffff cmp r1, r0 bne _081203AC - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 b _081203B6 .pool _081203AC: ldr r0, =gStringVar1 bl CopyEasyChatWord - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 _081203B6: strh r0, [r1] @@ -405,14 +405,14 @@ sub_81203C4: @ 81203C4 ldrb r0, [r2, 0x1] cmp r0, 0xA bne _081203EC - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] strb r0, [r2, 0x1] b _081203F2 .pool _081203EC: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _081203F2: @@ -503,7 +503,7 @@ _081204C4: adds r0, 0x1 _081204C8: strb r0, [r5, 0x1] - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] pop {r4-r6} @@ -800,7 +800,7 @@ sub_8120708: @ 8120708 adds r5, r0, 0 movs r0, 0 movs r1, 0 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame movs r4, 0x1 str r4, [sp] str r4, [sp, 0x4] @@ -965,7 +965,7 @@ _08120850: lsls r1, 1 adds r0, r1 strh r0, [r6, 0x6] - ldr r4, =gMPlay_SE2 + ldr r4, =gMPlayInfo_SE2 ldr r5, =0x0000ffff ldrh r2, [r6, 0x6] adds r0, r4, 0 @@ -1008,7 +1008,7 @@ _081208BC: subs r0, 0x40 _081208C0: strh r0, [r6, 0x8] - ldr r4, =gMPlay_SE2 + ldr r4, =gMPlayInfo_SE2 ldr r5, =0x0000ffff ldrh r2, [r6, 0x6] adds r0, r4, 0 @@ -1059,7 +1059,7 @@ _08120922: lsls r0, 24 cmp r0, 0 bne _08120938 - ldr r0, =gMPlay_SE2 + ldr r0, =gMPlayInfo_SE2 bl m4aMPlayStop movs r0, 0x4 _08120936: @@ -1228,7 +1228,7 @@ _08120A7E: bne _08120AB0 movs r0, 0x6 bl FadeInBGM - ldr r0, =gMPlay_SE2 + ldr r0, =gMPlayInfo_SE2 movs r1, 0x2 bl m4aMPlayFadeOutTemporarily bl EnableBothScriptContexts @@ -2382,13 +2382,13 @@ _0812132C: cmp r4, r0 bne _0812135C _0812134E: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] b _08121364 .pool _0812135C: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r5, [r0] ldr r0, =gUnknown_03001178 strb r4, [r0] diff --git a/asm/menu.s b/asm/menu.s deleted file mode 100755 index 71ff9218cd..0000000000 --- a/asm/menu.s +++ /dev/null @@ -1,5505 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start AddTextPrinterWithCallbackForMessage -@ void AddTextPrinterWithCallbackForMessage(u8 allowSkippingDelayWithButtonPress, void ( *callback)(u16, struct TextPrinter *)) -AddTextPrinterWithCallbackForMessage: @ 8197A9C - push {r4,r5,lr} - sub sp, 0x10 - adds r5, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gTextFlags - movs r4, 0x1 - ands r0, r4 - ldrb r2, [r3] - movs r1, 0x2 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3] - bl sav2_get_text_speed - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r2, =gStringVar4 - str r5, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - bl AddTextPrinterParametrized - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end AddTextPrinterWithCallbackForMessage - - thumb_func_start sub_8197AE8 -sub_8197AE8: @ 8197AE8 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - cmp r4, 0x1 - bne _08197B12 - movs r0, 0 - bl CopyBgTilemapBufferToVram -_08197B12: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8197AE8 - - thumb_func_start sub_8197B1C -sub_8197B1C: @ 8197B1C - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_0203CD9C - strh r2, [r0] - ldr r0, =gUnknown_0203CD9E - strb r3, [r0] - ldr r1, =sub_8197BB4 - adds r0, r5, 0 - bl CallWindowFunction - adds r0, r5, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r5, 0 - bl PutWindowTilemap - cmp r4, 0x1 - bne _08197B52 - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram -_08197B52: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8197B1C - - thumb_func_start sub_8197B64 -sub_8197B64: @ 8197B64 - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_0203CD9C - strh r2, [r0] - ldr r5, =gUnknown_0203CD9E - adds r0, r6, 0 - movs r1, 0x5 - bl GetWindowAttribute - strb r0, [r5] - ldr r1, =sub_8197BB4 - adds r0, r6, 0 - bl CallWindowFunction - adds r0, r6, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r6, 0 - bl PutWindowTilemap - cmp r4, 0x1 - bne _08197BA2 - adds r0, r6, 0 - movs r1, 0x3 - bl CopyWindowToVram -_08197BA2: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8197B64 - - thumb_func_start sub_8197BB4 -sub_8197BB4: @ 8197BB4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - mov r8, r0 - adds r5, r2, 0 - adds r6, r3, 0 - ldr r2, [sp, 0x44] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, r1, 24 - lsls r5, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r1, r2, 24 - lsrs r1, 24 - str r1, [sp, 0x10] - ldr r2, =gUnknown_0203CD9C - ldrh r1, [r2] - adds r1, 0x1 - lsls r1, 16 - lsrs r1, 16 - lsrs r3, r0, 24 - str r3, [sp, 0xC] - movs r3, 0xFE - lsls r3, 24 - adds r2, r0, r3 - lsrs r2, 24 - str r2, [sp, 0x14] - lsrs r0, r5, 24 - mov r9, r0 - movs r2, 0xFF - lsls r2, 24 - adds r5, r2 - lsrs r5, 24 - movs r4, 0x1 - str r4, [sp] - str r4, [sp, 0x4] - ldr r3, =gUnknown_0203CD9E - mov r10, r3 - ldrb r0, [r3] - str r0, [sp, 0x8] - mov r0, r8 - ldr r2, [sp, 0x14] - adds r3, r5, 0 - bl FillBgTilemapBufferRect - ldr r0, =gUnknown_0203CD9C - ldrh r1, [r0] - adds r1, 0x3 - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0xC] - subs r0, 0x1 - lsls r2, r0, 24 - lsrs r2, 24 - str r2, [sp, 0x18] - str r4, [sp] - str r4, [sp, 0x4] - mov r2, r10 - ldrb r0, [r2] - str r0, [sp, 0x8] - mov r0, r8 - ldr r2, [sp, 0x18] - adds r3, r5, 0 - bl FillBgTilemapBufferRect - ldr r3, =gUnknown_0203CD9C - ldrh r1, [r3] - adds r1, 0x4 - lsls r1, 16 - lsrs r1, 16 - subs r0, r6, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x1C] - str r0, [sp] - str r4, [sp, 0x4] - mov r2, r10 - ldrb r0, [r2] - str r0, [sp, 0x8] - mov r0, r8 - ldr r2, [sp, 0xC] - adds r3, r5, 0 - bl FillBgTilemapBufferRect - ldr r3, =gUnknown_0203CD9C - ldrh r1, [r3] - adds r1, 0x5 - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0xC] - adds r7, r0, r6 - subs r0, r7, 0x1 - lsls r2, r0, 24 - lsrs r2, 24 - str r2, [sp, 0x20] - str r4, [sp] - str r4, [sp, 0x4] - mov r2, r10 - ldrb r0, [r2] - str r0, [sp, 0x8] - mov r0, r8 - ldr r2, [sp, 0x20] - adds r3, r5, 0 - bl FillBgTilemapBufferRect - ldr r3, =gUnknown_0203CD9C - ldrh r1, [r3] - adds r1, 0x6 - lsls r1, 16 - lsrs r1, 16 - lsls r2, r7, 24 - lsrs r7, r2, 24 - str r4, [sp] - str r4, [sp, 0x4] - mov r2, r10 - ldrb r0, [r2] - str r0, [sp, 0x8] - mov r0, r8 - adds r2, r7, 0 - adds r3, r5, 0 - bl FillBgTilemapBufferRect - ldr r3, =gUnknown_0203CD9C - ldrh r1, [r3] - adds r1, 0x7 - lsls r1, 16 - lsrs r1, 16 - str r4, [sp] - movs r5, 0x5 - str r5, [sp, 0x4] - mov r2, r10 - ldrb r0, [r2] - str r0, [sp, 0x8] - mov r0, r8 - ldr r2, [sp, 0x14] - mov r3, r9 - bl FillBgTilemapBufferRect - ldr r3, =gUnknown_0203CD9C - ldrh r1, [r3] - adds r1, 0x9 - lsls r1, 16 - lsrs r1, 16 - adds r6, 0x1 - lsls r6, 24 - lsrs r6, 24 - str r6, [sp] - str r5, [sp, 0x4] - mov r2, r10 - ldrb r0, [r2] - str r0, [sp, 0x8] - mov r0, r8 - ldr r2, [sp, 0x18] - mov r3, r9 - bl FillBgTilemapBufferRect - ldr r3, =gUnknown_0203CD9C - ldrh r1, [r3] - adds r1, 0xA - lsls r1, 16 - lsrs r1, 16 - str r4, [sp] - str r5, [sp, 0x4] - mov r2, r10 - ldrb r0, [r2] - str r0, [sp, 0x8] - mov r0, r8 - adds r2, r7, 0 - mov r3, r9 - bl FillBgTilemapBufferRect - ldr r3, =0x00000801 - adds r1, r3, 0 - ldr r0, =gUnknown_0203CD9C - ldrh r0, [r0] - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r2, [sp, 0x10] - add r9, r2 - mov r3, r9 - lsls r3, 24 - lsrs r3, 24 - mov r9, r3 - str r4, [sp] - str r4, [sp, 0x4] - mov r2, r10 - ldrb r0, [r2] - str r0, [sp, 0x8] - mov r0, r8 - ldr r2, [sp, 0x14] - bl FillBgTilemapBufferRect - ldr r3, =0x00000803 - adds r1, r3, 0 - ldr r0, =gUnknown_0203CD9C - ldrh r0, [r0] - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - str r4, [sp] - str r4, [sp, 0x4] - mov r2, r10 - ldrb r0, [r2] - str r0, [sp, 0x8] - mov r0, r8 - ldr r2, [sp, 0x18] - mov r3, r9 - bl FillBgTilemapBufferRect - ldr r3, =0x00000804 - adds r1, r3, 0 - ldr r0, =gUnknown_0203CD9C - ldrh r0, [r0] - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r2, [sp, 0x1C] - str r2, [sp] - str r4, [sp, 0x4] - mov r3, r10 - ldrb r0, [r3] - str r0, [sp, 0x8] - mov r0, r8 - ldr r2, [sp, 0xC] - mov r3, r9 - bl FillBgTilemapBufferRect - ldr r0, =0x00000805 - adds r1, r0, 0 - ldr r2, =gUnknown_0203CD9C - ldrh r2, [r2] - adds r1, r2 - lsls r1, 16 - lsrs r1, 16 - str r4, [sp] - str r4, [sp, 0x4] - mov r3, r10 - ldrb r0, [r3] - str r0, [sp, 0x8] - mov r0, r8 - ldr r2, [sp, 0x20] - mov r3, r9 - bl FillBgTilemapBufferRect - ldr r0, =0x00000806 - adds r1, r0, 0 - ldr r2, =gUnknown_0203CD9C - ldrh r2, [r2] - adds r1, r2 - lsls r1, 16 - lsrs r1, 16 - str r4, [sp] - str r4, [sp, 0x4] - mov r3, r10 - ldrb r0, [r3] - str r0, [sp, 0x8] - mov r0, r8 - adds r2, r7, 0 - mov r3, r9 - bl FillBgTilemapBufferRect - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8197BB4 - - thumb_func_start sub_8197DF8 -sub_8197DF8: @ 8197DF8 - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =sub_8197E30 - adds r0, r5, 0 - bl CallWindowFunction - adds r0, r5, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r5, 0 - bl ClearWindowTilemap - cmp r4, 0x1 - bne _08197E26 - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram -_08197E26: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8197DF8 - - thumb_func_start sub_8197E30 -sub_8197E30: @ 8197E30 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r1, 0 - adds r5, r2, 0 - ldr r1, [sp, 0x18] - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsls r5, 24 - lsls r3, 24 - lsls r1, 24 - movs r2, 0xFD - lsls r2, 24 - adds r4, r2 - lsrs r4, 24 - movs r2, 0xFF - lsls r2, 24 - adds r5, r2 - lsrs r5, 24 - movs r2, 0xC0 - lsls r2, 19 - adds r3, r2 - lsrs r3, 24 - str r3, [sp] - movs r2, 0x80 - lsls r2, 18 - adds r1, r2 - lsrs r1, 24 - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - adds r2, r4, 0 - adds r3, r5, 0 - bl FillBgTilemapBufferRect - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8197E30 - - thumb_func_start SetWindowBorderStyle -@ void SetWindowBorderStyle(u8 windowId, bool copyToVram, s16 tileStart, s8 palette) -SetWindowBorderStyle: @ 8197E80 - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_0203CD9C - strh r2, [r0] - ldr r0, =gUnknown_0203CD9E - strb r3, [r0] - ldr r1, =DrawWindowBorder - adds r0, r5, 0 - bl CallWindowFunction - adds r0, r5, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r5, 0 - bl PutWindowTilemap - cmp r4, 0x1 - bne _08197EB6 - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram -_08197EB6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end SetWindowBorderStyle - - thumb_func_start sub_8197EC8 -sub_8197EC8: @ 8197EC8 - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_0203CD9C - strh r2, [r0] - ldr r5, =gUnknown_0203CD9E - adds r0, r6, 0 - movs r1, 0x5 - bl GetWindowAttribute - strb r0, [r5] - ldr r1, =DrawWindowBorder - adds r0, r6, 0 - bl CallWindowFunction - adds r0, r6, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r6, 0 - bl PutWindowTilemap - cmp r4, 0x1 - bne _08197F06 - adds r0, r6, 0 - movs r1, 0x3 - bl CopyWindowToVram -_08197F06: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8197EC8 - - thumb_func_start DrawWindowBorder -DrawWindowBorder: @ 8197F18 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - mov r9, r0 - adds r6, r1, 0 - adds r4, r2, 0 - ldr r0, [sp, 0x38] - mov r1, r9 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r6, 24 - lsls r4, 24 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x10] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x14] - ldr r2, =gUnknown_0203CD9C - ldrh r1, [r2] - lsrs r0, r6, 24 - str r0, [sp, 0xC] - movs r2, 0xFF - lsls r2, 24 - adds r6, r2 - lsrs r6, 24 - lsrs r0, r4, 24 - mov r8, r0 - adds r4, r2 - lsrs r4, 24 - movs r5, 0x1 - str r5, [sp] - str r5, [sp, 0x4] - ldr r7, =gUnknown_0203CD9E - ldrb r0, [r7] - str r0, [sp, 0x8] - mov r0, r9 - adds r2, r6, 0 - adds r3, r4, 0 - bl FillBgTilemapBufferRect - ldr r2, =gUnknown_0203CD9C - ldrh r1, [r2] - adds r1, 0x1 - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x10] - str r0, [sp] - str r5, [sp, 0x4] - ldrb r0, [r7] - str r0, [sp, 0x8] - mov r0, r9 - ldr r2, [sp, 0xC] - adds r3, r4, 0 - bl FillBgTilemapBufferRect - ldr r2, =gUnknown_0203CD9C - ldrh r1, [r2] - adds r1, 0x2 - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0xC] - ldr r2, [sp, 0x10] - adds r0, r2 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - str r5, [sp] - str r5, [sp, 0x4] - ldrb r0, [r7] - str r0, [sp, 0x8] - mov r0, r9 - mov r2, r10 - adds r3, r4, 0 - bl FillBgTilemapBufferRect - ldr r0, =gUnknown_0203CD9C - ldrh r1, [r0] - adds r1, 0x3 - lsls r1, 16 - lsrs r1, 16 - str r5, [sp] - ldr r2, [sp, 0x14] - str r2, [sp, 0x4] - ldrb r0, [r7] - str r0, [sp, 0x8] - mov r0, r9 - adds r2, r6, 0 - mov r3, r8 - bl FillBgTilemapBufferRect - ldr r0, =gUnknown_0203CD9C - ldrh r1, [r0] - adds r1, 0x5 - lsls r1, 16 - lsrs r1, 16 - str r5, [sp] - ldr r2, [sp, 0x14] - str r2, [sp, 0x4] - ldrb r0, [r7] - str r0, [sp, 0x8] - mov r0, r9 - mov r2, r10 - mov r3, r8 - bl FillBgTilemapBufferRect - ldr r0, =gUnknown_0203CD9C - ldrh r1, [r0] - adds r1, 0x6 - lsls r1, 16 - lsrs r1, 16 - ldr r2, [sp, 0x14] - add r8, r2 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - str r5, [sp] - str r5, [sp, 0x4] - ldrb r0, [r7] - str r0, [sp, 0x8] - mov r0, r9 - adds r2, r6, 0 - mov r3, r8 - bl FillBgTilemapBufferRect - ldr r2, =gUnknown_0203CD9C - ldrh r1, [r2] - adds r1, 0x7 - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x10] - str r0, [sp] - str r5, [sp, 0x4] - ldrb r0, [r7] - str r0, [sp, 0x8] - mov r0, r9 - ldr r2, [sp, 0xC] - mov r3, r8 - bl FillBgTilemapBufferRect - ldr r2, =gUnknown_0203CD9C - ldrh r1, [r2] - adds r1, 0x8 - lsls r1, 16 - lsrs r1, 16 - str r5, [sp] - str r5, [sp, 0x4] - ldrb r0, [r7] - str r0, [sp, 0x8] - mov r0, r9 - mov r2, r10 - mov r3, r8 - bl FillBgTilemapBufferRect - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end DrawWindowBorder - - thumb_func_start sub_8198070 -sub_8198070: @ 8198070 - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =sub_81980A8 - adds r0, r5, 0 - bl CallWindowFunction - adds r0, r5, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r5, 0 - bl ClearWindowTilemap - cmp r4, 0x1 - bne _0819809E - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram -_0819809E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8198070 - - thumb_func_start sub_81980A8 -sub_81980A8: @ 81980A8 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r1, 0 - adds r5, r2, 0 - ldr r1, [sp, 0x18] - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsls r5, 24 - lsls r3, 24 - lsls r1, 24 - movs r2, 0xFF - lsls r2, 24 - adds r4, r2 - lsrs r4, 24 - adds r5, r2 - lsrs r5, 24 - movs r2, 0x80 - lsls r2, 18 - adds r3, r2 - lsrs r3, 24 - str r3, [sp] - adds r1, r2 - lsrs r1, 24 - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - adds r2, r4, 0 - adds r3, r5, 0 - bl FillBgTilemapBufferRect - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81980A8 - - thumb_func_start sub_81980F0 -sub_81980F0: @ 81980F0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - ldr r4, [sp, 0x20] - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r5, r3, 24 - lsls r4, 16 - lsrs r4, 16 - mov r0, sp - movs r1, 0 - movs r2, 0x8 - bl memset - cmp r6, 0x3 - bls _08198126 - movs r1, 0 - mov r0, sp - strb r1, [r0] - b _0819812A -_08198126: - mov r0, sp - strb r6, [r0] -_0819812A: - mov r1, sp - mov r0, r8 - strb r0, [r1, 0x2] - movs r0, 0x2 - strb r0, [r1, 0x4] - movs r0, 0x1E - subs r0, r7 - strb r0, [r1, 0x1] - strb r7, [r1, 0x3] - strb r5, [r1, 0x5] - strh r4, [r1, 0x6] - ldr r4, =gUnknown_0203CDA0 - mov r0, sp - bl AddWindow - strb r0, [r4] - cmp r5, 0xF - bls _08198158 - movs r5, 0xF0 - b _0819815C - .pool -_08198158: - lsls r0, r5, 28 - lsrs r5, r0, 24 -_0819815C: - ldr r0, =gUnknown_0860F0B0 - adds r1, r5, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_0203CDA0 - ldrb r0, [r0] - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81980F0 - - thumb_func_start sub_8198180 -sub_8198180: @ 8198180 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - adds r6, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - ldr r5, =gUnknown_0203CDA0 - ldrb r0, [r5] - cmp r0, 0xFF - beq _081981EE - bl PutWindowTilemap - ldrb r0, [r5] - movs r1, 0xFF - bl FillWindowPixelBuffer - movs r0, 0 - adds r1, r6, 0 - movs r2, 0 - bl GetStringWidth - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldrb r0, [r5] - movs r1, 0x1 - bl GetWindowAttribute - movs r2, 0xEC - subs r2, r7 - lsls r0, 3 - subs r2, r0 - subs r2, r4 - lsls r2, 24 - lsrs r2, 24 - ldrb r0, [r5] - ldr r1, =gUnknown_0860F0D0 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r6, [sp, 0x8] - movs r3, 0x1 - bl box_print - mov r0, r8 - cmp r0, 0 - beq _081981EE - ldrb r0, [r5] - movs r1, 0x3 - bl CopyWindowToVram -_081981EE: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8198180 - - thumb_func_start sub_8198204 -sub_8198204: @ 8198204 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - mov r10, r0 - adds r6, r1, 0 - ldr r0, [sp, 0x38] - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r4, 0 - ldr r0, =gUnknown_0203CDA0 - ldrb r1, [r0] - adds r7, r0, 0 - cmp r1, 0xFF - beq _081982C8 - cmp r2, 0 - beq _08198244 - add r0, sp, 0x14 - strb r4, [r0] - adds r1, r0, 0 - b _0819824A - .pool -_08198244: - add r1, sp, 0x14 - movs r0, 0xF - strb r0, [r1] -_0819824A: - movs r0, 0x1 - strb r0, [r1, 0x1] - movs r0, 0x2 - strb r0, [r1, 0x2] - adds r5, r7, 0 - ldrb r0, [r5] - bl PutWindowTilemap - ldrb r0, [r5] - movs r1, 0xFF - bl FillWindowPixelBuffer - cmp r6, 0 - beq _0819829E - movs r0, 0 - adds r1, r6, 0 - movs r2, 0 - bl GetStringWidth - lsls r0, 16 - lsrs r4, r0, 16 - ldrb r0, [r5] - movs r1, 0x1 - bl GetWindowAttribute - movs r2, 0xEC - mov r1, r8 - subs r2, r1 - lsls r0, 3 - subs r2, r0 - subs r2, r4 - lsls r2, 24 - lsrs r2, 24 - ldrb r0, [r5] - add r1, sp, 0x14 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r6, [sp, 0x8] - movs r3, 0x1 - bl box_print -_0819829E: - ldrb r0, [r7] - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - add r2, sp, 0x14 - str r2, [sp, 0x8] - str r1, [sp, 0xC] - mov r1, r10 - str r1, [sp, 0x10] - movs r1, 0x1 - movs r2, 0x4 - movs r3, 0x1 - bl AddTextPrinterParametrized2 - mov r2, r9 - cmp r2, 0 - beq _081982C8 - ldrb r0, [r7] - movs r1, 0x3 - bl CopyWindowToVram -_081982C8: - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8198204 - - thumb_func_start sub_81982D8 -sub_81982D8: @ 81982D8 - push {lr} - ldr r1, =gUnknown_0203CDA0 - ldrb r0, [r1] - cmp r0, 0xFF - beq _081982E8 - movs r1, 0x3 - bl CopyWindowToVram -_081982E8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81982D8 - - thumb_func_start sub_81982F0 -sub_81982F0: @ 81982F0 - push {r4,lr} - ldr r4, =gUnknown_0203CDA0 - ldrb r0, [r4] - cmp r0, 0xFF - beq _08198308 - movs r1, 0xFF - bl FillWindowPixelBuffer - ldrb r0, [r4] - movs r1, 0x3 - bl CopyWindowToVram -_08198308: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81982F0 - - thumb_func_start sub_8198314 -sub_8198314: @ 8198314 - push {r4,lr} - ldr r4, =gUnknown_0203CDA0 - ldrb r0, [r4] - cmp r0, 0xFF - beq _0819833C - movs r1, 0 - bl FillWindowPixelBuffer - ldrb r0, [r4] - bl ClearWindowTilemap - ldrb r0, [r4] - movs r1, 0x3 - bl CopyWindowToVram - ldrb r0, [r4] - bl RemoveWindow - movs r0, 0xFF - strb r0, [r4] -_0819833C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8198314 - - thumb_func_start sub_8198348 -sub_8198348: @ 8198348 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, [sp, 0x18] - mov r8, r4 - ldr r4, [sp, 0x1C] - ldr r5, [sp, 0x20] - ldr r6, [sp, 0x24] - mov r12, r6 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r7, r5, 24 - ldr r5, =gUnknown_0203CD90 - movs r6, 0 - strb r2, [r5] - strb r3, [r5, 0x1] - strb r6, [r5, 0x3] - subs r4, 0x1 - strb r4, [r5, 0x4] - strb r0, [r5, 0x5] - strb r1, [r5, 0x6] - mov r0, r8 - strb r0, [r5, 0x8] - mov r4, r12 - strb r4, [r5, 0xB] - cmp r7, 0 - blt _08198388 - movs r0, 0x4 - ldrsb r0, [r5, r0] - cmp r7, r0 - ble _08198390 -_08198388: - strb r6, [r5, 0x2] - b _08198392 - .pool -_08198390: - strb r7, [r5, 0x2] -_08198392: - movs r0, 0 - bl MoveMenuCursor - ldr r0, =gUnknown_0203CD90 - ldrb r0, [r0, 0x2] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8198348 - - thumb_func_start sub_81983AC -sub_81983AC: @ 81983AC - push {r4-r6,lr} - sub sp, 0x10 - ldr r4, [sp, 0x20] - ldr r5, [sp, 0x24] - ldr r6, [sp, 0x28] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - str r4, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r4, 0 - str r4, [sp, 0xC] - bl sub_8198348 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81983AC - - thumb_func_start sub_81983EC -sub_81983EC: @ 81983EC - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x14 - mov r8, r0 - adds r6, r1, 0 - ldr r4, [sp, 0x28] - ldr r5, [sp, 0x2C] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r6, 24 - lsrs r6, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - adds r0, r6, 0 - movs r1, 0x1 - str r2, [sp, 0xC] - str r3, [sp, 0x10] - bl GetMenuCursorDimensionByFont - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - mov r0, r8 - adds r1, r6, 0 - ldr r2, [sp, 0xC] - ldr r3, [sp, 0x10] - bl sub_81983AC - lsls r0, 24 - lsrs r0, 24 - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81983EC - - thumb_func_start RedrawMenuCursor -@ void RedrawMenuCursor(s8 oldPos, s8 newPos) -RedrawMenuCursor: @ 8198448 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0xC - adds r6, r0, 0 - mov r8, r1 - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r5, =gUnknown_0203CD90 - ldrb r0, [r5, 0x6] - movs r1, 0 - bl GetMenuCursorDimensionByFont - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r5, 0x6] - movs r1, 0x1 - bl GetMenuCursorDimensionByFont - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r5, 0x5] - mov r9, r1 - ldrb r2, [r5] - ldrb r1, [r5, 0x8] - adds r3, r1, 0 - muls r3, r6 - ldrb r6, [r5, 0x1] - adds r3, r6 - lsls r3, 16 - lsrs r3, 16 - str r4, [sp] - str r0, [sp, 0x4] - mov r0, r9 - movs r1, 0x11 - bl FillWindowPixelRect - ldrb r0, [r5, 0x5] - ldrb r1, [r5, 0x6] - ldr r2, =gText_SelectorArrow3 - ldrb r3, [r5] - ldrb r4, [r5, 0x8] - mov r6, r8 - muls r6, r4 - adds r4, r6, 0 - ldrb r5, [r5, 0x1] - adds r4, r5 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - bl PrintTextOnWindow - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end RedrawMenuCursor - - thumb_func_start MoveMenuCursor -@ s8 MoveMenuCursor(s8 cursorDelta) -MoveMenuCursor: @ 81984D8 - push {r4,r5,lr} - ldr r1, =gUnknown_0203CD90 - ldrb r5, [r1, 0x2] - movs r2, 0x2 - ldrsb r2, [r1, r2] - lsls r0, 24 - asrs r3, r0, 24 - adds r2, r3 - movs r0, 0x3 - ldrsb r0, [r1, r0] - adds r4, r1, 0 - cmp r2, r0 - bge _081984FC - ldrb r0, [r4, 0x4] - b _0819850A - .pool -_081984FC: - movs r0, 0x4 - ldrsb r0, [r4, r0] - cmp r2, r0 - ble _08198508 - ldrb r0, [r4, 0x3] - b _0819850A -_08198508: - adds r0, r3, r5 -_0819850A: - strb r0, [r4, 0x2] - ldrb r1, [r4, 0x2] - adds r0, r5, 0 - bl RedrawMenuCursor - ldrb r0, [r4, 0x2] - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MoveMenuCursor - - thumb_func_start MoveMenuCursorNoWrapAround -@ s8 MoveMenuCursorNoWrapAround(s8 cursorDelta) -MoveMenuCursorNoWrapAround: @ 819851C - push {r4,r5,lr} - ldr r1, =gUnknown_0203CD90 - ldrb r5, [r1, 0x2] - movs r2, 0x2 - ldrsb r2, [r1, r2] - lsls r0, 24 - asrs r3, r0, 24 - adds r2, r3 - movs r0, 0x3 - ldrsb r0, [r1, r0] - adds r4, r1, 0 - cmp r2, r0 - bge _08198540 - ldrb r0, [r4, 0x3] - b _0819854E - .pool -_08198540: - movs r0, 0x4 - ldrsb r0, [r4, r0] - cmp r2, r0 - ble _0819854C - ldrb r0, [r4, 0x4] - b _0819854E -_0819854C: - adds r0, r3, r5 -_0819854E: - strb r0, [r4, 0x2] - ldrb r1, [r4, 0x2] - adds r0, r5, 0 - bl RedrawMenuCursor - ldrb r0, [r4, 0x2] - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MoveMenuCursorNoWrapAround - - thumb_func_start GetMenuCursorPos -GetMenuCursorPos: @ 8198560 - ldr r0, =gUnknown_0203CD90 - ldrb r0, [r0, 0x2] - bx lr - .pool - thumb_func_end GetMenuCursorPos - - thumb_func_start ProcessMenuInput -ProcessMenuInput: @ 819856C - push {r4,lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08198598 - ldr r4, =gUnknown_0203CD90 - ldrb r0, [r4, 0xB] - cmp r0, 0 - bne _08198588 - movs r0, 0x5 - bl PlaySE -_08198588: - movs r0, 0x2 - ldrsb r0, [r4, r0] - b _081985D2 - .pool -_08198598: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081985A6 - movs r0, 0x1 - negs r0, r0 - b _081985D2 -_081985A6: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081985BA - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _081985CA -_081985BA: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081985CE - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_081985CA: - bl MoveMenuCursor -_081985CE: - movs r0, 0x2 - negs r0, r0 -_081985D2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end ProcessMenuInput - - thumb_func_start ProcessMenuInputNoWrapAround -@ int ProcessMenuInputNoWrapAround() -ProcessMenuInputNoWrapAround: @ 81985D8 - push {r4-r6,lr} - ldr r4, =gUnknown_0203CD90 - ldrb r5, [r4, 0x2] - adds r6, r5, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08198608 - ldrb r0, [r4, 0xB] - cmp r0, 0 - bne _081985F8 - movs r0, 0x5 - bl PlaySE -_081985F8: - movs r0, 0x2 - ldrsb r0, [r4, r0] - b _08198650 - .pool -_08198608: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08198616 - movs r0, 0x1 - negs r0, r0 - b _08198650 -_08198616: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08198630 - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursorNoWrapAround - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _0819864C - b _08198646 -_08198630: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0819864C - movs r0, 0x1 - bl MoveMenuCursorNoWrapAround - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - beq _0819864C -_08198646: - movs r0, 0x5 - bl PlaySE -_0819864C: - movs r0, 0x2 - negs r0, r0 -_08198650: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end ProcessMenuInputNoWrapAround - - thumb_func_start ProcessMenuInput_other -ProcessMenuInput_other: @ 8198658 - push {r4,lr} - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08198684 - ldr r4, =gUnknown_0203CD90 - ldrb r0, [r4, 0xB] - cmp r0, 0 - bne _08198674 - movs r0, 0x5 - bl PlaySE -_08198674: - movs r0, 0x2 - ldrsb r0, [r4, r0] - b _081986BC - .pool -_08198684: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08198692 - movs r0, 0x1 - negs r0, r0 - b _081986BC -_08198692: - ldrh r0, [r2, 0x30] - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0x40 - bne _081986A8 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _081986B4 -_081986A8: - cmp r1, 0x80 - bne _081986B8 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_081986B4: - bl MoveMenuCursor -_081986B8: - movs r0, 0x2 - negs r0, r0 -_081986BC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end ProcessMenuInput_other - - thumb_func_start ProcessMenuInputNoWrapAround_other -ProcessMenuInputNoWrapAround_other: @ 81986C4 - push {r4-r6,lr} - ldr r4, =gUnknown_0203CD90 - ldrb r5, [r4, 0x2] - adds r6, r5, 0 - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081986F4 - ldrb r0, [r4, 0xB] - cmp r0, 0 - bne _081986E4 - movs r0, 0x5 - bl PlaySE -_081986E4: - movs r0, 0x2 - ldrsb r0, [r4, r0] - b _0819873A - .pool -_081986F4: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08198702 - movs r0, 0x1 - negs r0, r0 - b _0819873A -_08198702: - ldrh r0, [r2, 0x30] - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0x40 - bne _0819871E - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursorNoWrapAround - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _08198736 - b _08198730 -_0819871E: - cmp r1, 0x80 - bne _08198736 - movs r0, 0x1 - bl MoveMenuCursorNoWrapAround - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - beq _08198736 -_08198730: - movs r0, 0x5 - bl PlaySE -_08198736: - movs r0, 0x2 - negs r0, r0 -_0819873A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end ProcessMenuInputNoWrapAround_other - - thumb_func_start PrintTextArray -PrintTextArray: @ 8198740 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - ldr r4, [sp, 0x2C] - ldr r5, [sp, 0x30] - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - lsls r4, 24 - lsrs r7, r4, 24 - lsls r5, 24 - lsrs r5, 24 - movs r4, 0 - cmp r4, r5 - bcs _081987A4 -_08198774: - lsls r0, r4, 3 - ldr r1, [sp, 0x34] - adds r0, r1 - ldr r2, [r0] - adds r0, r7, 0 - muls r0, r4 - add r0, r8 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r6, 0 - mov r1, r10 - mov r3, r9 - bl PrintTextOnWindow - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08198774 -_081987A4: - adds r0, r6, 0 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PrintTextArray - - thumb_func_start sub_81987BC -sub_81987BC: @ 81987BC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - ldr r4, [sp, 0x40] - ldr r5, [sp, 0x44] - ldr r6, [sp, 0x4C] - ldr r7, [sp, 0x50] - mov r8, r7 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x14] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x18] - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x1C] - lsls r4, 24 - lsrs r4, 24 - mov r10, r4 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - mov r9, r6 - mov r0, r8 - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _0819883C -_08198804: - lsls r0, r4, 3 - ldr r1, [sp, 0x48] - adds r0, r1 - ldr r2, [r0] - mov r0, r10 - muls r0, r4 - ldr r1, [sp, 0x1C] - adds r0, r1, r0 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - mov r0, r9 - str r0, [sp, 0xC] - str r6, [sp, 0x10] - adds r0, r7, 0 - ldr r1, [sp, 0x14] - ldr r3, [sp, 0x18] - bl sub_8199F74 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08198804 -_0819883C: - adds r0, r7, 0 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81987BC - - thumb_func_start sub_8198854 -sub_8198854: @ 8198854 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - mov r8, r0 - adds r6, r1, 0 - adds r4, r2, 0 - adds r5, r3, 0 - ldr r7, [sp, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r6, 24 - lsrs r6, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - adds r0, r6, 0 - movs r1, 0 - bl GetFontAttribute - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - str r4, [sp] - str r5, [sp, 0x4] - str r7, [sp, 0x8] - mov r0, r8 - adds r1, r6, 0 - movs r3, 0x1 - bl PrintTextArray - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8198854 - - thumb_func_start AddItemMenuActionTextPrinters -AddItemMenuActionTextPrinters: @ 81988A4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - adds r6, r1, 0 - mov r8, r2 - ldr r1, [sp, 0x38] - mov r9, r1 - ldr r1, [sp, 0x3C] - ldr r2, [sp, 0x40] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x10] - lsls r6, 24 - lsrs r6, 24 - mov r4, r8 - lsls r4, 24 - lsrs r4, 24 - mov r8, r4 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x14] - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r2, 24 - lsrs r7, r2, 24 - mov r0, sp - ldrb r1, [r0, 0x10] - strb r1, [r0, 0x4] - strb r6, [r0, 0x5] - adds r0, r6, 0 - movs r1, 0x5 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xC] - movs r5, 0xF - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xC] - adds r0, r6, 0 - movs r1, 0x6 - bl GetFontAttribute - mov r3, sp - adds r1, r5, 0 - ands r1, r0 - ldrb r2, [r3, 0xD] - movs r4, 0x10 - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0xD] - adds r0, r6, 0 - movs r1, 0x7 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xD] - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xD] - adds r0, r6, 0 - movs r1, 0x4 - bl GetFontAttribute - mov r1, sp - ands r5, r0 - ldrb r0, [r1, 0xC] - ands r4, r0 - orrs r4, r5 - strb r4, [r1, 0xC] - mov r0, sp - mov r2, r9 - strb r2, [r0, 0xA] - adds r0, r6, 0 - movs r1, 0x3 - bl GetFontAttribute - mov r1, sp - strb r0, [r1, 0xB] - mov r0, sp - mov r4, r8 - strb r4, [r0, 0x6] - strb r4, [r0, 0x8] - movs r4, 0 - cmp r4, r7 - bcs _0819899E - mov r5, sp -_0819896E: - ldr r1, [sp, 0x48] - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, 3 - ldr r2, [sp, 0x44] - adds r0, r2 - ldr r0, [r0] - str r0, [sp] - mov r0, r10 - muls r0, r4 - ldr r1, [sp, 0x14] - adds r0, r1, r0 - strb r0, [r5, 0x7] - strb r0, [r5, 0x9] - mov r0, sp - movs r1, 0xFF - movs r2, 0 - bl AddTextPrinter - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r7 - bcc _0819896E -_0819899E: - ldr r0, [sp, 0x10] - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end AddItemMenuActionTextPrinters - - thumb_func_start sub_81989B8 -sub_81989B8: @ 81989B8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - mov r9, r0 - adds r4, r1, 0 - adds r6, r2, 0 - mov r8, r3 - ldr r7, [sp, 0x30] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - adds r0, r4, 0 - movs r1, 0 - bl GetFontAttribute - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r4, 0 - movs r1, 0x2 - bl GetFontAttribute - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - str r6, [sp, 0x4] - mov r0, r8 - str r0, [sp, 0x8] - str r7, [sp, 0xC] - ldr r0, [sp, 0x34] - str r0, [sp, 0x10] - mov r0, r9 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0x1 - bl AddItemMenuActionTextPrinters - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81989B8 - - thumb_func_start SetWindowTemplateFields -@ void SetWindowTemplateFields(WindowTemplate *template, char bg_id, char x, char y, char w, char h, char a7, s16 a8) -SetWindowTemplateFields: @ 8198A24 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, [sp, 0x18] - ldr r5, [sp, 0x1C] - ldr r6, [sp, 0x20] - ldr r7, [sp, 0x24] - mov r8, r7 - strb r1, [r0] - strb r2, [r0, 0x1] - strb r3, [r0, 0x2] - strb r4, [r0, 0x3] - strb r5, [r0, 0x4] - strb r6, [r0, 0x5] - mov r1, r8 - strh r1, [r0, 0x6] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end SetWindowTemplateFields - - thumb_func_start sub_8198A50 -sub_8198A50: @ 8198A50 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x18 - mov r8, r0 - ldr r0, [sp, 0x2C] - ldr r4, [sp, 0x30] - ldr r5, [sp, 0x34] - ldr r6, [sp, 0x38] - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 16 - lsrs r6, 16 - str r0, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - str r6, [sp, 0xC] - add r0, sp, 0x10 - bl SetWindowTemplateFields - ldr r0, [sp, 0x10] - ldr r1, [sp, 0x14] - mov r2, r8 - str r0, [r2] - str r1, [r2, 0x4] - mov r0, r8 - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r2} - bx r2 - thumb_func_end sub_8198A50 - - thumb_func_start sub_8198AA4 -sub_8198AA4: @ 8198AA4 - push {r4-r6,lr} - sub sp, 0x18 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - ldr r0, [sp, 0x28] - ldr r1, [sp, 0x2C] - ldr r2, [sp, 0x30] - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 16 - lsrs r2, 16 - str r3, [sp] - str r0, [sp, 0x4] - str r1, [sp, 0x8] - str r2, [sp, 0xC] - add r0, sp, 0x10 - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl SetWindowTemplateFields - add r0, sp, 0x10 - bl AddWindow - lsls r0, 16 - lsrs r0, 16 - add sp, 0x18 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8198AA4 - - thumb_func_start sub_8198AF8 -sub_8198AF8: @ 8198AF8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - adds r6, r1, 0 - mov r8, r2 - mov r9, r3 - ldr r4, [sp, 0x3C] - ldr r5, [sp, 0x40] - ldr r1, [sp, 0x44] - mov r10, r1 - lsls r6, 24 - lsrs r6, 24 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - mov r1, r9 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - mov r1, r10 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - ldr r7, =gUnknown_0203CD9F - bl AddWindow - strb r0, [r7] - ldrb r0, [r7] - movs r1, 0x1 - adds r2, r4, 0 - adds r3, r5, 0 - bl SetWindowBorderStyle - ldr r0, =gText_YesNo - str r0, [sp, 0xC] - add r1, sp, 0xC - ldrb r0, [r7] - strb r0, [r1, 0x4] - adds r0, r1, 0 - strb r6, [r0, 0x5] - adds r0, r6, 0 - movs r1, 0 - bl GetFontAttribute - add r1, sp, 0xC - add r0, r8 - strb r0, [r1, 0x6] - adds r0, r1, 0 - mov r1, r9 - strb r1, [r0, 0x7] - adds r1, r0, 0 - ldrb r0, [r0, 0x6] - strb r0, [r1, 0x8] - adds r0, r1, 0 - ldrb r0, [r0, 0x7] - strb r0, [r1, 0x9] - adds r0, r6, 0 - movs r1, 0x5 - bl GetFontAttribute - add r3, sp, 0xC - lsls r0, 4 - ldrb r2, [r3, 0xC] - movs r5, 0xF - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xC] - adds r0, r6, 0 - movs r1, 0x6 - bl GetFontAttribute - add r3, sp, 0xC - adds r1, r5, 0 - ands r1, r0 - ldrb r2, [r3, 0xD] - movs r4, 0x10 - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0xD] - adds r0, r6, 0 - movs r1, 0x7 - bl GetFontAttribute - add r3, sp, 0xC - lsls r0, 4 - ldrb r2, [r3, 0xD] - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xD] - adds r0, r6, 0 - movs r1, 0x4 - bl GetFontAttribute - add r1, sp, 0xC - ands r5, r0 - ldrb r0, [r1, 0xC] - ands r4, r0 - orrs r4, r5 - strb r4, [r1, 0xC] - adds r0, r6, 0 - movs r1, 0x2 - bl GetFontAttribute - add r1, sp, 0xC - strb r0, [r1, 0xA] - adds r0, r6, 0 - movs r1, 0x3 - bl GetFontAttribute - add r1, sp, 0xC - strb r0, [r1, 0xB] - adds r0, r1, 0 - movs r1, 0xFF - movs r2, 0 - bl AddTextPrinter - adds r0, r6, 0 - movs r1, 0x1 - bl GetFontAttribute - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r7] - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - mov r0, r10 - str r0, [sp, 0x8] - adds r0, r1, 0 - adds r1, r6, 0 - mov r2, r8 - mov r3, r9 - bl sub_81983AC - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8198AF8 - - thumb_func_start sub_8198C34 -sub_8198C34: @ 8198C34 - push {lr} - sub sp, 0xC - lsls r1, 24 - lsrs r1, 24 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 24 - lsrs r3, 24 - str r2, [sp] - str r3, [sp, 0x4] - movs r2, 0 - str r2, [sp, 0x8] - movs r3, 0x1 - bl sub_8198AF8 - add sp, 0xC - pop {r0} - bx r0 - thumb_func_end sub_8198C34 - - thumb_func_start sub_8198C58 -sub_8198C58: @ 8198C58 - push {r4,lr} - bl ProcessMenuInputNoWrapAround - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _08198C6E - bl sub_8198C78 -_08198C6E: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8198C58 - - thumb_func_start sub_8198C78 -sub_8198C78: @ 8198C78 - push {r4,lr} - ldr r4, =gUnknown_0203CD9F - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8198C78 - - thumb_func_start sub_8198C94 -sub_8198C94: @ 8198C94 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - ldr r4, [sp, 0x40] - ldr r5, [sp, 0x44] - ldr r6, [sp, 0x48] - ldr r7, [sp, 0x4C] - mov r8, r7 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0xC] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x10] - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x14] - lsls r4, 24 - lsrs r4, 24 - str r4, [sp, 0x18] - lsls r5, 24 - lsrs r5, 24 - str r5, [sp, 0x1C] - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r5, 0 - cmp r5, r9 - bcs _08198D3A -_08198CE0: - movs r4, 0 - adds r1, r5, 0x1 - mov r8, r1 - cmp r4, r6 - bcs _08198D30 - ldr r7, [sp, 0x1C] - adds r0, r7, 0 - muls r0, r5 - ldr r1, [sp, 0x14] - adds r0, r1, r0 - lsls r0, 24 - lsrs r7, r0, 24 -_08198CF8: - adds r0, r5, 0 - muls r0, r6 - adds r0, r4 - lsls r0, 3 - ldr r1, [sp, 0x50] - adds r0, r1 - ldr r2, [r0] - ldr r0, [sp, 0x18] - adds r3, r0, 0 - muls r3, r4 - ldr r1, [sp, 0x10] - adds r3, r1, r3 - lsls r3, 24 - lsrs r3, 24 - str r7, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - mov r0, r10 - ldr r1, [sp, 0xC] - bl PrintTextOnWindow - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _08198CF8 -_08198D30: - mov r7, r8 - lsls r0, r7, 24 - lsrs r5, r0, 24 - cmp r5, r9 - bcc _08198CE0 -_08198D3A: - mov r0, r10 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8198C94 - - thumb_func_start sub_8198D54 -sub_8198D54: @ 8198D54 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - mov r9, r0 - mov r8, r1 - adds r4, r2, 0 - adds r5, r3, 0 - ldr r6, [sp, 0x34] - ldr r3, [sp, 0x38] - ldr r7, [sp, 0x3C] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 24 - lsrs r3, 24 - movs r1, 0 - str r3, [sp, 0x14] - bl GetFontAttribute - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - str r4, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - ldr r3, [sp, 0x14] - str r3, [sp, 0xC] - str r7, [sp, 0x10] - mov r0, r9 - mov r1, r8 - movs r3, 0 - bl sub_8198C94 - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8198D54 - - thumb_func_start sub_8198DBC -sub_8198DBC: @ 8198DBC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - ldr r4, [sp, 0x40] - ldr r5, [sp, 0x44] - ldr r6, [sp, 0x48] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x10] - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x14] - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x18] - lsls r4, 24 - lsrs r4, 24 - str r4, [sp, 0x1C] - lsls r5, 24 - lsrs r5, 24 - mov r8, r5 - lsls r6, 24 - lsrs r6, 24 - mov r10, r6 - mov r0, sp - ldrb r1, [r0, 0x10] - strb r1, [r0, 0x4] - strb r7, [r0, 0x5] - adds r0, r7, 0 - movs r1, 0x5 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xC] - movs r5, 0xF - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xC] - adds r0, r7, 0 - movs r1, 0x6 - bl GetFontAttribute - mov r3, sp - adds r1, r5, 0 - ands r1, r0 - ldrb r2, [r3, 0xD] - movs r4, 0x10 - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0xD] - adds r0, r7, 0 - movs r1, 0x7 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xD] - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xD] - adds r0, r7, 0 - movs r1, 0x4 - bl GetFontAttribute - mov r1, sp - ands r5, r0 - ldrb r0, [r1, 0xC] - ands r4, r0 - orrs r4, r5 - strb r4, [r1, 0xC] - adds r0, r7, 0 - movs r1, 0x2 - bl GetFontAttribute - mov r1, sp - strb r0, [r1, 0xA] - adds r0, r7, 0 - movs r1, 0x3 - bl GetFontAttribute - mov r1, sp - strb r0, [r1, 0xB] - movs r6, 0 - cmp r6, r10 - bcs _08198EDE -_08198E7A: - movs r5, 0 - adds r2, r6, 0x1 - mov r9, r2 - cmp r5, r8 - bcs _08198ED4 - mov r4, sp -_08198E86: - mov r0, r8 - muls r0, r6 - adds r0, r5 - ldr r1, [sp, 0x50] - adds r0, r1, r0 - ldrb r0, [r0] - lsls r0, 3 - ldr r2, [sp, 0x4C] - adds r0, r2 - ldr r0, [r0] - str r0, [sp] - ldr r1, [sp, 0x1C] - adds r0, r1, 0 - muls r0, r5 - ldr r2, [sp, 0x14] - adds r0, r2, r0 - strb r0, [r4, 0x6] - adds r0, r7, 0 - movs r1, 0x1 - bl GetFontAttribute - adds r1, r6, 0 - muls r1, r0 - ldr r0, [sp, 0x18] - adds r1, r0, r1 - strb r1, [r4, 0x7] - ldrb r0, [r4, 0x6] - strb r0, [r4, 0x8] - strb r1, [r4, 0x9] - mov r0, sp - movs r1, 0xFF - movs r2, 0 - bl AddTextPrinter - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r8 - bcc _08198E86 -_08198ED4: - mov r1, r9 - lsls r0, r1, 24 - lsrs r6, r0, 24 - cmp r6, r10 - bcc _08198E7A -_08198EDE: - ldr r0, [sp, 0x10] - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8198DBC - - thumb_func_start sub_8198EF8 -sub_8198EF8: @ 8198EF8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x18 - mov r8, r0 - adds r3, r1, 0 - adds r4, r2, 0 - ldr r5, [sp, 0x30] - ldr r6, [sp, 0x34] - ldr r7, [sp, 0x38] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - adds r0, r3, 0 - movs r1, 0 - str r3, [sp, 0x14] - bl GetFontAttribute - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - str r4, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - str r7, [sp, 0xC] - ldr r0, [sp, 0x3C] - str r0, [sp, 0x10] - mov r0, r8 - ldr r3, [sp, 0x14] - adds r1, r3, 0 - movs r3, 0 - bl sub_8198DBC - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8198EF8 - - thumb_func_start sub_8198F58 -sub_8198F58: @ 8198F58 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r4, [sp, 0x20] - mov r12, r4 - ldr r4, [sp, 0x24] - mov r8, r4 - ldr r4, [sp, 0x28] - mov r9, r4 - ldr r4, [sp, 0x2C] - mov r10, r4 - ldr r4, [sp, 0x30] - ldr r5, [sp, 0x34] - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r7, r5, 24 - ldr r5, =gUnknown_0203CD90 - movs r6, 0 - strb r2, [r5] - strb r3, [r5, 0x1] - strb r6, [r5, 0x3] - subs r4, 0x1 - strb r4, [r5, 0x4] - strb r0, [r5, 0x5] - strb r1, [r5, 0x6] - mov r0, r12 - strb r0, [r5, 0x7] - mov r4, r8 - strb r4, [r5, 0x8] - mov r0, r9 - strb r0, [r5, 0x9] - mov r4, r10 - strb r4, [r5, 0xA] - cmp r7, 0 - blt _08198FAC - movs r0, 0x4 - ldrsb r0, [r5, r0] - cmp r7, r0 - ble _08198FB4 -_08198FAC: - strb r6, [r5, 0x2] - b _08198FB6 - .pool -_08198FB4: - strb r7, [r5, 0x2] -_08198FB6: - movs r0, 0 - movs r1, 0 - bl sub_8199134 - ldr r0, =gUnknown_0203CD90 - ldrb r0, [r0, 0x2] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8198F58 - - thumb_func_start sub_8198FD4 -sub_8198FD4: @ 8198FD4 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x20 - mov r9, r0 - mov r8, r1 - mov r10, r2 - ldr r6, [sp, 0x3C] - ldr r4, [sp, 0x40] - ldr r5, [sp, 0x44] - ldr r2, [sp, 0x48] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r3, 24 - lsrs r3, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r2, 24 - lsrs r2, 24 - mov r0, r8 - movs r1, 0x1 - str r2, [sp, 0x18] - str r3, [sp, 0x1C] - bl GetMenuCursorDimensionByFont - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - muls r1, r5 - lsls r1, 24 - lsrs r1, 24 - str r6, [sp] - str r0, [sp, 0x4] - str r4, [sp, 0x8] - str r5, [sp, 0xC] - str r1, [sp, 0x10] - ldr r2, [sp, 0x18] - str r2, [sp, 0x14] - mov r0, r9 - mov r1, r8 - mov r2, r10 - ldr r3, [sp, 0x1C] - bl sub_8198F58 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8198FD4 - - thumb_func_start sub_8199060 -sub_8199060: @ 8199060 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - mov r8, r0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, r1, 24 - lsrs r7, r0, 24 - ldr r5, =gUnknown_0203CD90 - ldrb r0, [r5, 0x6] - movs r1, 0 - bl GetMenuCursorDimensionByFont - mov r9, r0 - mov r1, r9 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - ldrb r0, [r5, 0x6] - movs r1, 0x1 - bl GetMenuCursorDimensionByFont - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldrb r0, [r5, 0x9] - mov r10, r0 - mov r0, r8 - mov r1, r10 - bl __umodsi3 - ldrb r1, [r5, 0x7] - adds r4, r1, 0 - muls r4, r0 - ldrb r1, [r5] - adds r4, r1 - lsls r4, 24 - lsrs r4, 24 - mov r0, r8 - mov r1, r10 - bl __udivsi3 - ldrb r1, [r5, 0x8] - adds r3, r1, 0 - muls r3, r0 - ldrb r0, [r5, 0x1] - adds r3, r0 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r5, 0x5] - mov r1, r9 - str r1, [sp] - str r6, [sp, 0x4] - movs r1, 0x11 - adds r2, r4, 0 - bl FillWindowPixelRect - ldrb r6, [r5, 0x9] - adds r0, r7, 0 - adds r1, r6, 0 - bl __umodsi3 - ldrb r1, [r5, 0x7] - adds r4, r1, 0 - muls r4, r0 - ldrb r0, [r5] - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r7, 0 - adds r1, r6, 0 - bl __udivsi3 - ldrb r1, [r5, 0x8] - adds r3, r1, 0 - muls r3, r0 - ldrb r1, [r5, 0x1] - adds r3, r1 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r5, 0x5] - ldrb r1, [r5, 0x6] - ldr r2, =gText_SelectorArrow3 - str r3, [sp] - movs r3, 0 - str r3, [sp, 0x4] - str r3, [sp, 0x8] - adds r3, r4, 0 - bl PrintTextOnWindow - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8199060 - - thumb_func_start sub_8199134 -sub_8199134: @ 8199134 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - ldr r1, =gUnknown_0203CD90 - ldrb r2, [r1, 0x2] - mov r8, r2 - lsls r0, 24 - asrs r6, r0, 24 - adds r5, r1, 0 - cmp r6, 0 - beq _0819918A - movs r7, 0x2 - ldrsb r7, [r5, r7] - ldrb r4, [r5, 0x9] - adds r0, r7, 0 - adds r1, r4, 0 - bl __modsi3 - adds r0, r6 - cmp r0, 0 - bge _08199174 - adds r0, r4, 0 - adds r0, 0xFF - add r0, r8 - b _08199188 - .pool -_08199174: - cmp r0, r4 - blt _08199184 - adds r0, r7, 0 - adds r1, r4, 0 - bl __divsi3 - muls r0, r4 - b _08199188 -_08199184: - mov r1, r8 - adds r0, r6, r1 -_08199188: - strb r0, [r5, 0x2] -_0819918A: - mov r2, r9 - lsls r0, r2, 24 - asrs r6, r0, 24 - cmp r6, 0 - beq _081991CE - movs r0, 0x2 - ldrsb r0, [r5, r0] - ldrb r4, [r5, 0x9] - adds r1, r4, 0 - bl __divsi3 - adds r1, r0, r6 - cmp r1, 0 - bge _081991B2 - ldrb r0, [r5, 0xA] - subs r0, 0x1 - muls r0, r4 - ldrb r1, [r5, 0x2] - adds r0, r1 - b _081991CC -_081991B2: - ldrb r0, [r5, 0xA] - cmp r1, r0 - blt _081991C4 - subs r0, 0x1 - adds r1, r4, 0 - muls r1, r0 - ldrb r0, [r5, 0x2] - subs r0, r1 - b _081991CC -_081991C4: - adds r0, r4, 0 - muls r0, r6 - ldrb r2, [r5, 0x2] - adds r0, r2 -_081991CC: - strb r0, [r5, 0x2] -_081991CE: - movs r1, 0x2 - ldrsb r1, [r5, r1] - movs r0, 0x4 - ldrsb r0, [r5, r0] - cmp r1, r0 - bgt _081991E4 - ldrb r1, [r5, 0x2] - mov r0, r8 - bl sub_8199060 - b _081991E8 -_081991E4: - mov r0, r8 - strb r0, [r5, 0x2] -_081991E8: - ldrb r0, [r5, 0x2] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8199134 - - thumb_func_start sub_81991F8 -sub_81991F8: @ 81991F8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - ldr r1, =gUnknown_0203CD90 - ldrb r7, [r1, 0x2] - lsls r0, 24 - asrs r4, r0, 24 - adds r5, r1, 0 - cmp r4, 0 - beq _0819922C - movs r0, 0x2 - ldrsb r0, [r5, r0] - ldrb r6, [r5, 0x9] - adds r1, r6, 0 - bl __modsi3 - adds r0, r4 - cmp r0, 0 - blt _0819922C - cmp r0, r6 - bge _0819922C - adds r0, r4, r7 - strb r0, [r5, 0x2] -_0819922C: - mov r1, r8 - lsls r0, r1, 24 - asrs r4, r0, 24 - cmp r4, 0 - beq _08199258 - movs r0, 0x2 - ldrsb r0, [r5, r0] - ldrb r6, [r5, 0x9] - adds r1, r6, 0 - bl __divsi3 - adds r0, r4 - cmp r0, 0 - blt _08199258 - ldrb r1, [r5, 0xA] - cmp r0, r1 - bge _08199258 - adds r0, r6, 0 - muls r0, r4 - ldrb r1, [r5, 0x2] - adds r0, r1 - strb r0, [r5, 0x2] -_08199258: - movs r1, 0x2 - ldrsb r1, [r5, r1] - movs r0, 0x4 - ldrsb r0, [r5, r0] - cmp r1, r0 - bgt _08199274 - ldrb r1, [r5, 0x2] - adds r0, r7, 0 - bl sub_8199060 - b _08199276 - .pool -_08199274: - strb r7, [r5, 0x2] -_08199276: - ldrb r0, [r5, 0x2] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81991F8 - - thumb_func_start sub_8199284 -sub_8199284: @ 8199284 - push {r4,lr} - ldr r4, =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081992AC - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_0203CD90 - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - b _0819932C - .pool -_081992AC: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081992BA - movs r0, 0x1 - negs r0, r0 - b _0819932C -_081992BA: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081992D0 - movs r0, 0x5 - bl PlaySE - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - b _08199324 -_081992D0: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081992E4 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - movs r1, 0x1 - b _08199324 -_081992E4: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _081992F8 - bl GetLRKeysState - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08199304 -_081992F8: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _08199322 -_08199304: - ldrh r1, [r4, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _0819931A - bl GetLRKeysState - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08199328 -_0819931A: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_08199322: - movs r1, 0 -_08199324: - bl sub_8199134 -_08199328: - movs r0, 0x2 - negs r0, r0 -_0819932C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8199284 - - thumb_func_start sub_8199334 -sub_8199334: @ 8199334 - push {r4-r6,lr} - ldr r5, =gUnknown_0203CD90 - ldrb r4, [r5, 0x2] - ldr r6, =gMain - ldrh r1, [r6, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0819935C - movs r0, 0x5 - bl PlaySE - movs r0, 0x2 - ldrsb r0, [r5, r0] - b _081993D2 - .pool -_0819935C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0819936A - movs r0, 0x1 - negs r0, r0 - b _081993D2 -_0819936A: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0819937A - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - b _081993BC -_0819937A: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08199388 - movs r0, 0 - movs r1, 0x1 - b _081993BC -_08199388: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _0819939C - bl GetLRKeysState - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081993A2 -_0819939C: - movs r0, 0x1 - negs r0, r0 - b _081993BA -_081993A2: - ldrh r1, [r6, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _081993B8 - bl GetLRKeysState - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _081993CE -_081993B8: - movs r0, 0x1 -_081993BA: - movs r1, 0 -_081993BC: - bl sub_81991F8 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - beq _081993CE - movs r0, 0x5 - bl PlaySE -_081993CE: - movs r0, 0x2 - negs r0, r0 -_081993D2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8199334 - - thumb_func_start sub_81993D8 -sub_81993D8: @ 81993D8 - push {r4,r5,lr} - ldr r4, =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08199400 - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_0203CD90 - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - b _0819947C - .pool -_08199400: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0819940E - movs r0, 0x1 - negs r0, r0 - b _0819947C -_0819940E: - ldrh r0, [r4, 0x30] - movs r5, 0xF0 - adds r1, r5, 0 - ands r1, r0 - cmp r1, 0x40 - bne _08199428 - movs r0, 0x5 - bl PlaySE - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - b _08199474 -_08199428: - cmp r1, 0x80 - bne _08199438 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - movs r1, 0x1 - b _08199474 -_08199438: - cmp r1, 0x20 - beq _08199448 - bl sub_812210C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08199454 -_08199448: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _08199472 -_08199454: - ldrh r1, [r4, 0x30] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0x10 - beq _0819946A - bl sub_812210C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08199478 -_0819946A: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_08199472: - movs r1, 0 -_08199474: - bl sub_8199134 -_08199478: - movs r0, 0x2 - negs r0, r0 -_0819947C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81993D8 - - thumb_func_start sub_8199484 -sub_8199484: @ 8199484 - push {r4-r6,lr} - ldr r6, =gUnknown_0203CD90 - ldrb r4, [r6, 0x2] - ldr r5, =gMain - ldrh r1, [r5, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081994AC - movs r0, 0x5 - bl PlaySE - movs r0, 0x2 - ldrsb r0, [r6, r0] - b _0819951E - .pool -_081994AC: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081994BA - movs r0, 0x1 - negs r0, r0 - b _0819951E -_081994BA: - ldrh r0, [r5, 0x30] - movs r6, 0xF0 - adds r1, r6, 0 - ands r1, r0 - cmp r1, 0x40 - bne _081994CE - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - b _08199508 -_081994CE: - cmp r1, 0x80 - bne _081994D8 - movs r0, 0 - movs r1, 0x1 - b _08199508 -_081994D8: - cmp r1, 0x20 - beq _081994E8 - bl sub_812210C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081994EE -_081994E8: - movs r0, 0x1 - negs r0, r0 - b _08199506 -_081994EE: - ldrh r1, [r5, 0x30] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0x10 - beq _08199504 - bl sub_812210C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0819951A -_08199504: - movs r0, 0x1 -_08199506: - movs r1, 0 -_08199508: - bl sub_81991F8 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - beq _0819951A - movs r0, 0x5 - bl PlaySE -_0819951A: - movs r0, 0x2 - negs r0, r0 -_0819951E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8199484 - - thumb_func_start InitMenuInUpperLeftCorner -@ int InitMenuInUpperLeftCorner(s8 windowId, s8 numItems, u8 initialCursorPos, bool doNotPlaySoundWhenAPressed) -InitMenuInUpperLeftCorner: @ 8199524 - push {r4-r6,lr} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - ldr r4, =gUnknown_0203CD90 - movs r6, 0 - strb r6, [r4] - movs r2, 0x1 - strb r2, [r4, 0x1] - strb r6, [r4, 0x3] - subs r1, 0x1 - strb r1, [r4, 0x4] - strb r0, [r4, 0x5] - strb r2, [r4, 0x6] - movs r0, 0x10 - strb r0, [r4, 0x8] - strb r3, [r4, 0xB] - cmp r5, 0 - blt _08199554 - movs r0, 0x4 - ldrsb r0, [r4, r0] - cmp r5, r0 - ble _0819955C -_08199554: - strb r6, [r4, 0x2] - b _0819955E - .pool -_0819955C: - strb r5, [r4, 0x2] -_0819955E: - movs r0, 0 - bl MoveMenuCursor - lsls r0, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end InitMenuInUpperLeftCorner - - thumb_func_start InitMenuInUpperLeftCornerPlaySoundWhenAPressed -InitMenuInUpperLeftCornerPlaySoundWhenAPressed: @ 8199570 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - movs r3, 0 - bl InitMenuInUpperLeftCorner - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end InitMenuInUpperLeftCornerPlaySoundWhenAPressed - - thumb_func_start PrintMenuTable -PrintMenuTable: @ 819958C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r7, r1, 24 - movs r5, 0 - cmp r5, r7 - bcs _081995D0 - movs r6, 0x80 - lsls r6, 17 - adds r4, r2, 0 -_081995AA: - ldr r2, [r4] - lsrs r0, r6, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - mov r0, r8 - movs r1, 0x1 - movs r3, 0x8 - bl PrintTextOnWindow - movs r0, 0x80 - lsls r0, 21 - adds r6, r0 - adds r4, 0x8 - adds r5, 0x1 - cmp r5, r7 - bcc _081995AA -_081995D0: - mov r0, r8 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PrintMenuTable - - thumb_func_start sub_81995E4 -sub_81995E4: @ 81995E4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - mov r9, r2 - mov r8, r3 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - mov r0, sp - movs r1, 0 - mov r10, r1 - strb r6, [r0, 0x4] - mov r1, sp - movs r0, 0x1 - strb r0, [r1, 0x5] - movs r1, 0x5 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xC] - movs r5, 0xF - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xC] - movs r0, 0x1 - movs r1, 0x6 - bl GetFontAttribute - mov r3, sp - adds r1, r5, 0 - ands r1, r0 - ldrb r2, [r3, 0xD] - movs r4, 0x10 - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0xD] - movs r0, 0x1 - movs r1, 0x7 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xD] - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xD] - movs r0, 0x1 - movs r1, 0x4 - bl GetFontAttribute - mov r1, sp - ands r5, r0 - ldrb r0, [r1, 0xC] - ands r4, r0 - orrs r4, r5 - strb r4, [r1, 0xC] - mov r0, sp - mov r1, r10 - strb r1, [r0, 0xA] - strb r1, [r0, 0xB] - movs r1, 0x8 - strb r1, [r0, 0x6] - strb r1, [r0, 0x8] - movs r4, 0 - cmp r4, r7 - bcs _081996A6 - mov r5, sp -_0819967C: - mov r1, r8 - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, 3 - add r0, r9 - ldr r0, [r0] - str r0, [sp] - lsls r0, r4, 4 - adds r0, 0x1 - strb r0, [r5, 0x7] - strb r0, [r5, 0x9] - mov r0, sp - movs r1, 0xFF - movs r2, 0 - bl AddTextPrinter - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r7 - bcc _0819967C -_081996A6: - adds r0, r6, 0 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81995E4 - - thumb_func_start CreateYesNoMenu -@ void CreateYesNoMenu(struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos) -CreateYesNoMenu: @ 81996C0 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x10 - adds r4, r1, 0 - adds r5, r2, 0 - adds r6, r3, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - ldr r1, =gUnknown_0203CD9F - mov r8, r1 - bl AddWindow - mov r2, r8 - strb r0, [r2] - ldrb r0, [r2] - movs r1, 0x1 - adds r2, r4, 0 - adds r3, r5, 0 - bl SetWindowBorderStyle - ldr r0, =gText_YesNo - str r0, [sp] - mov r1, sp - mov r2, r8 - ldrb r0, [r2] - movs r2, 0 - mov r9, r2 - strb r0, [r1, 0x4] - mov r0, sp - movs r2, 0x1 - strb r2, [r0, 0x5] - movs r0, 0x8 - strb r0, [r1, 0x6] - mov r0, sp - strb r2, [r0, 0x7] - ldrb r0, [r0, 0x6] - strb r0, [r1, 0x8] - mov r0, sp - ldrb r0, [r0, 0x7] - strb r0, [r1, 0x9] - movs r0, 0x1 - movs r1, 0x5 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xC] - movs r5, 0xF - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xC] - movs r0, 0x1 - movs r1, 0x6 - bl GetFontAttribute - mov r3, sp - adds r1, r5, 0 - ands r1, r0 - ldrb r2, [r3, 0xD] - movs r4, 0x10 - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0xD] - movs r0, 0x1 - movs r1, 0x7 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xD] - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xD] - movs r0, 0x1 - movs r1, 0x4 - bl GetFontAttribute - mov r1, sp - ands r5, r0 - ldrb r0, [r1, 0xC] - ands r4, r0 - orrs r4, r5 - strb r4, [r1, 0xC] - mov r0, sp - mov r1, r9 - strb r1, [r0, 0xA] - strb r1, [r0, 0xB] - movs r1, 0xFF - movs r2, 0 - bl AddTextPrinter - mov r2, r8 - ldrb r0, [r2] - movs r1, 0x2 - adds r2, r6, 0 - bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end CreateYesNoMenu - - thumb_func_start sub_81997AC -sub_81997AC: @ 81997AC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0xC] - lsls r2, 24 - lsrs r6, r2, 24 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x10] - movs r7, 0 - cmp r7, r3 - bcs _08199824 -_081997D4: - movs r4, 0 - adds r0, r7, 0x1 - mov r9, r0 - cmp r4, r6 - bcs _0819981C - lsls r0, r7, 4 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r5, 0x80 - lsls r5, 20 -_081997EC: - adds r0, r7, 0 - muls r0, r6 - adds r0, r4 - lsls r0, 3 - ldr r1, [sp, 0x34] - adds r0, r1 - ldr r2, [r0] - lsrs r3, r5, 24 - mov r0, r8 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - mov r0, r10 - movs r1, 0x1 - bl PrintTextOnWindow - ldr r1, [sp, 0xC] - lsls r0, r1, 24 - adds r5, r0 - adds r4, 0x1 - cmp r4, r6 - bcc _081997EC -_0819981C: - mov r7, r9 - ldr r4, [sp, 0x10] - cmp r7, r4 - bcc _081997D4 -_08199824: - mov r0, r10 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81997AC - - thumb_func_start sub_819983C -sub_819983C: @ 819983C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x10] - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x14] - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r3, 24 - mov r10, r3 - mov r0, sp - movs r6, 0 - ldrb r1, [r0, 0x10] - strb r1, [r0, 0x4] - mov r1, sp - movs r0, 0x1 - strb r0, [r1, 0x5] - movs r1, 0x5 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xC] - movs r5, 0xF - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xC] - movs r0, 0x1 - movs r1, 0x6 - bl GetFontAttribute - mov r3, sp - adds r1, r5, 0 - ands r1, r0 - ldrb r2, [r3, 0xD] - movs r4, 0x10 - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0xD] - movs r0, 0x1 - movs r1, 0x7 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xD] - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xD] - movs r0, 0x1 - movs r1, 0x4 - bl GetFontAttribute - mov r1, sp - ands r5, r0 - ldrb r0, [r1, 0xC] - ands r4, r0 - orrs r4, r5 - strb r4, [r1, 0xC] - mov r0, sp - strb r6, [r0, 0xA] - strb r6, [r0, 0xB] - movs r7, 0 - cmp r7, r10 - bcs _0819992A -_081998D6: - movs r5, 0 - adds r2, r7, 0x1 - mov r9, r2 - cmp r5, r8 - bcs _08199920 - mov r4, sp - lsls r0, r7, 4 - adds r6, r0, 0x1 -_081998E6: - mov r0, r8 - muls r0, r7 - adds r0, r5 - ldr r1, [sp, 0x3C] - adds r0, r1, r0 - ldrb r0, [r0] - lsls r0, 3 - ldr r2, [sp, 0x38] - adds r0, r2 - ldr r0, [r0] - str r0, [sp] - ldr r1, [sp, 0x14] - adds r0, r1, 0 - muls r0, r5 - adds r0, 0x8 - strb r0, [r4, 0x6] - strb r6, [r4, 0x7] - strb r0, [r4, 0x8] - strb r6, [r4, 0x9] - mov r0, sp - movs r1, 0xFF - movs r2, 0 - bl AddTextPrinter - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r8 - bcc _081998E6 -_08199920: - mov r2, r9 - lsls r0, r2, 24 - lsrs r7, r0, 24 - cmp r7, r10 - bcc _081998D6 -_0819992A: - ldr r0, [sp, 0x10] - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819983C - - thumb_func_start sub_8199944 -sub_8199944: @ 8199944 - push {r4-r7,lr} - ldr r4, [sp, 0x14] - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r7, r4, 24 - ldr r6, =gUnknown_0203CD90 - movs r4, 0 - mov r12, r4 - mov r4, r12 - strb r4, [r6] - movs r5, 0x1 - strb r5, [r6, 0x1] - strb r4, [r6, 0x3] - adds r4, r2, 0 - muls r4, r3 - subs r4, 0x1 - strb r4, [r6, 0x4] - strb r0, [r6, 0x5] - strb r5, [r6, 0x6] - strb r1, [r6, 0x7] - movs r0, 0x10 - strb r0, [r6, 0x8] - strb r2, [r6, 0x9] - strb r3, [r6, 0xA] - cmp r7, 0 - blt _08199986 - movs r0, 0x4 - ldrsb r0, [r6, r0] - cmp r7, r0 - ble _08199990 -_08199986: - mov r0, r12 - strb r0, [r6, 0x2] - b _08199992 - .pool -_08199990: - strb r7, [r6, 0x2] -_08199992: - movs r0, 0 - movs r1, 0 - bl sub_8199134 - ldr r0, =gUnknown_0203CD90 - ldrb r0, [r0, 0x2] - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8199944 - - thumb_func_start clear_scheduled_bg_copies_to_vram -@ void clear_scheduled_bg_copies_to_vram() -clear_scheduled_bg_copies_to_vram: @ 81999A8 - push {lr} - ldr r0, =gUnknown_0203CDA4 - movs r1, 0 - movs r2, 0x4 - bl memset - pop {r0} - bx r0 - .pool - thumb_func_end clear_scheduled_bg_copies_to_vram - - thumb_func_start schedule_bg_copy_tilemap_to_vram -@ void schedule_bg_copy_tilemap_to_vram(u8 bg_id) -schedule_bg_copy_tilemap_to_vram: @ 81999BC - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203CDA4 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - bx lr - .pool - thumb_func_end schedule_bg_copy_tilemap_to_vram - - thumb_func_start do_scheduled_bg_tilemap_copies_to_vram -@ void do_scheduled_bg_tilemap_copies_to_vram() -do_scheduled_bg_tilemap_copies_to_vram: @ 81999D0 - push {r4,lr} - ldr r4, =gUnknown_0203CDA4 - ldrb r0, [r4] - cmp r0, 0x1 - bne _081999E4 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0 - strb r0, [r4] -_081999E4: - ldrb r0, [r4, 0x1] - cmp r0, 0x1 - bne _081999F4 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0 - strb r0, [r4, 0x1] -_081999F4: - ldrb r0, [r4, 0x2] - cmp r0, 0x1 - bne _08199A04 - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0 - strb r0, [r4, 0x2] -_08199A04: - ldrb r0, [r4, 0x3] - cmp r0, 0x1 - bne _08199A14 - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r0, 0 - strb r0, [r4, 0x3] -_08199A14: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end do_scheduled_bg_tilemap_copies_to_vram - - thumb_func_start reset_temp_tile_data_buffers -@ void reset_temp_tile_data_buffers() -reset_temp_tile_data_buffers: @ 8199A20 - push {lr} - ldr r3, =gUnknown_0203CDA8 - ldr r1, =gUnknown_0203CDAC - movs r2, 0 - adds r0, r1, 0 - adds r0, 0x7C -_08199A2C: - str r2, [r0] - subs r0, 0x4 - cmp r0, r1 - bge _08199A2C - movs r0, 0 - strh r0, [r3] - pop {r0} - bx r0 - .pool - thumb_func_end reset_temp_tile_data_buffers - - thumb_func_start free_temp_tile_data_buffers_if_possible -free_temp_tile_data_buffers_if_possible: @ 8199A44 - push {r4-r6,lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08199A88 - ldr r1, =gUnknown_0203CDA8 - ldrh r0, [r1] - cmp r0, 0 - beq _08199A7C - movs r4, 0 - ldrh r1, [r1] - cmp r4, r1 - bge _08199A76 - ldr r5, =gUnknown_0203CDAC - movs r6, 0 -_08199A64: - ldr r0, [r5] - bl Free - stm r5!, {r6} - adds r4, 0x1 - ldr r0, =gUnknown_0203CDA8 - ldrh r0, [r0] - cmp r4, r0 - blt _08199A64 -_08199A76: - ldr r1, =gUnknown_0203CDA8 - movs r0, 0 - strh r0, [r1] -_08199A7C: - movs r0, 0 - b _08199A8A - .pool -_08199A88: - movs r0, 0x1 -_08199A8A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end free_temp_tile_data_buffers_if_possible - - thumb_func_start decompress_and_copy_tile_data_to_vram -@ int decompress_and_copy_tile_data_to_vram(u8 bg_id, int src, int size, u16 offset, u8 mode) -decompress_and_copy_tile_data_to_vram: @ 8199A90 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - adds r4, r1, 0 - adds r5, r2, 0 - ldr r1, [sp, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r3, 16 - lsrs r3, 16 - mov r9, r3 - lsls r1, 24 - lsrs r7, r1, 24 - ldr r6, =gUnknown_0203CDA8 - ldrh r0, [r6] - cmp r0, 0x1F - bhi _08199AF8 - adds r0, r4, 0 - add r1, sp, 0x4 - bl malloc_and_decompress - adds r4, r0, 0 - cmp r5, 0 - bne _08199AC8 - ldr r5, [sp, 0x4] -_08199AC8: - cmp r4, 0 - beq _08199AEC - lsls r2, r5, 16 - lsrs r2, 16 - str r7, [sp] - mov r0, r8 - adds r1, r4, 0 - mov r3, r9 - bl copy_decompressed_tile_data_to_vram - ldr r2, =gUnknown_0203CDAC - ldrh r0, [r6] - adds r1, r0, 0x1 - strh r1, [r6] - lsls r0, 16 - lsrs r0, 14 - adds r0, r2 - str r4, [r0] -_08199AEC: - adds r0, r4, 0 - b _08199AFA - .pool -_08199AF8: - movs r0, 0 -_08199AFA: - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end decompress_and_copy_tile_data_to_vram - - thumb_func_start copy_decompressed_tile_data_to_vram_autofree -@ void copy_decompressed_tile_data_to_vram_autofree(u8 bg_id, int src, u16 size, u16 offset, u8 mode) -copy_decompressed_tile_data_to_vram_autofree: @ 8199B08 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - adds r5, r2, 0 - ldr r2, [sp, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r3, 16 - lsrs r3, 16 - mov r9, r3 - lsls r2, 24 - lsrs r7, r2, 24 - adds r0, r1, 0 - add r1, sp, 0x4 - bl malloc_and_decompress - adds r6, r0, 0 - cmp r5, 0 - bne _08199B36 - ldr r5, [sp, 0x4] -_08199B36: - cmp r6, 0 - beq _08199B6E - ldr r0, =task_free_buf_after_copying_tile_data_to_vram - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r2, r5, 16 - lsrs r2, 16 - str r7, [sp] - mov r0, r8 - adds r1, r6, 0 - mov r3, r9 - bl copy_decompressed_tile_data_to_vram - ldr r2, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - strh r0, [r1, 0x8] - adds r0, r4, 0 - movs r1, 0x1 - adds r2, r6, 0 - bl SetWordTaskArg -_08199B6E: - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end copy_decompressed_tile_data_to_vram_autofree - - thumb_func_start task_free_buf_after_copying_tile_data_to_vram -@ void task_free_buf_after_copying_tile_data_to_vram(int task_id) -task_free_buf_after_copying_tile_data_to_vram: @ 8199B84 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - bl CheckForSpaceForDma3Request - lsls r0, 16 - cmp r0, 0 - bne _08199BB4 - adds r0, r4, 0 - movs r1, 0x1 - bl GetWordTaskArg - bl Free - adds r0, r4, 0 - bl DestroyTask -_08199BB4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task_free_buf_after_copying_tile_data_to_vram - - thumb_func_start malloc_and_decompress -@ void *malloc_and_decompress(void *src, int *size) -malloc_and_decompress: @ 8199BC0 - push {r4,r5,lr} - adds r5, r0, 0 - ldrb r0, [r5, 0x1] - strb r0, [r1] - ldrb r0, [r5, 0x2] - strb r0, [r1, 0x1] - ldrb r0, [r5, 0x3] - strb r0, [r1, 0x2] - movs r0, 0 - strb r0, [r1, 0x3] - ldr r0, [r1] - bl Alloc - adds r4, r0, 0 - cmp r4, 0 - beq _08199BE8 - adds r0, r5, 0 - adds r1, r4, 0 - bl LZ77UnCompWram -_08199BE8: - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end malloc_and_decompress - - thumb_func_start copy_decompressed_tile_data_to_vram -@ s16 copy_decompressed_tile_data_to_vram(u8 bg_id, int src, u16 size, u16 offset, u8 mode) -copy_decompressed_tile_data_to_vram: @ 8199BF0 - push {r4,lr} - adds r4, r1, 0 - ldr r1, [sp, 0x8] - lsls r0, 24 - lsrs r0, 24 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 16 - lsrs r3, 16 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0 - beq _08199C18 - cmp r1, 0x1 - beq _08199C20 - ldr r0, =0x0000ffff - b _08199C2A - .pool -_08199C18: - adds r1, r4, 0 - bl LoadBgTiles - b _08199C26 -_08199C20: - adds r1, r4, 0 - bl LoadBgTilemap -_08199C26: - lsls r0, 16 - lsrs r0, 16 -_08199C2A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end copy_decompressed_tile_data_to_vram - - thumb_func_start sub_8199C30 -sub_8199C30: @ 8199C30 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r5, r2, 0 - ldr r4, [sp, 0x28] - ldr r2, [sp, 0x2C] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - lsls r5, 24 - lsrs r5, 24 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x4] - lsls r4, 24 - lsrs r4, 24 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - bl GetBgTilemapBuffer - mov r8, r0 - adds r0, r5, r4 - cmp r5, r0 - bge _08199CA8 - mov r9, r0 -_08199C6E: - ldr r3, [sp] - ldr r1, [sp, 0x4] - adds r0, r3, r1 - adds r7, r5, 0x1 - cmp r3, r0 - bge _08199CA0 - lsls r6, r5, 5 - ldr r1, =0x00000fff - mov r12, r1 - mov r1, r10 - lsls r5, r1, 12 - adds r4, r0, 0 -_08199C86: - adds r1, r6, r3 - lsls r1, 1 - add r1, r8 - ldrh r2, [r1] - mov r0, r12 - ands r0, r2 - orrs r0, r5 - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r4 - blt _08199C86 -_08199CA0: - lsls r0, r7, 24 - lsrs r5, r0, 24 - cmp r5, r9 - blt _08199C6E -_08199CA8: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8199C30 - - thumb_func_start sub_8199CBC -sub_8199CBC: @ 8199CBC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r10, r1 - ldr r1, [sp, 0x24] - ldr r4, [sp, 0x28] - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp] - lsls r1, 24 - lsrs r5, r1, 24 - lsls r4, 24 - lsrs r4, 24 - mov r8, r4 - bl GetBgTilemapBuffer - adds r7, r0, 0 - movs r0, 0 - cmp r0, r8 - bcs _08199D2A -_08199CF4: - movs r2, 0 - adds r6, r0, 0x1 - cmp r2, r5 - bcs _08199D22 - adds r4, r0, 0 - muls r4, r5 - ldr r1, [sp] - adds r0, r1 - lsls r3, r0, 5 -_08199D06: - adds r1, r4, r2 - lsls r1, 1 - add r1, r10 - adds r0, r3, r2 - add r0, r9 - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r5 - bcc _08199D06 -_08199D22: - lsls r0, r6, 24 - lsrs r0, 24 - cmp r0, r8 - bcc _08199CF4 -_08199D2A: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8199CBC - - thumb_func_start sub_8199D3C -sub_8199D3C: @ 8199D3C - push {r4-r7,lr} - adds r6, r0, 0 - adds r5, r1, 0 - ldr r0, [sp, 0x14] - adds r4, r2, 0 - muls r4, r3 - cmp r0, 0x1 - bne _08199D64 - adds r3, r6, 0 - movs r2, 0 - cmp r2, r4 - bge _08199D8C -_08199D54: - adds r1, r3, r2 - ldrb r0, [r1] - adds r0, r5 - strb r0, [r1] - adds r2, 0x1 - cmp r2, r4 - blt _08199D54 - b _08199D8C -_08199D64: - cmp r4, 0 - ble _08199D8C - movs r0, 0xFC - lsls r0, 8 - mov r12, r0 - ldr r0, =0x000003ff - adds r7, r0, 0 - adds r3, r6, 0 - adds r2, r4, 0 -_08199D76: - ldrh r0, [r3] - mov r1, r12 - ands r1, r0 - adds r0, r5 - ands r0, r7 - orrs r1, r0 - strh r1, [r3] - adds r3, 0x2 - subs r2, 0x1 - cmp r2, 0 - bne _08199D76 -_08199D8C: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8199D3C - - thumb_func_start sub_8199D98 -sub_8199D98: @ 8199D98 - push {lr} - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - pop {r0} - bx r0 - thumb_func_end sub_8199D98 - - thumb_func_start sub_8199DF0 -sub_8199DF0: @ 8199DF0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r8, r2 - mov r9, r3 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - movs r1, 0x4 - bl GetBgAttribute - lsls r0, 16 - movs r7, 0x40 - cmp r0, 0 - bne _08199E16 - movs r7, 0x20 -_08199E16: - adds r0, r5, 0 - movs r1, 0x1 - bl GetBgAttribute - adds r4, r0, 0 - adds r0, r5, 0 - movs r1, 0xA - bl GetBgAttribute - lsls r4, 16 - lsrs r4, 2 - lsls r0, 16 - lsrs r0, 16 - add r0, r8 - muls r0, r7 - adds r4, r0 - lsls r0, r6, 24 - lsls r1, r6, 16 - orrs r0, r1 - lsls r1, r6, 8 - orrs r0, r1 - orrs r0, r6 - movs r1, 0xC0 - lsls r1, 19 - adds r4, r1 - mov r2, r9 - muls r2, r7 - lsls r2, 16 - lsrs r2, 16 - adds r1, r4, 0 - movs r3, 0x1 - bl RequestDma3Fill - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8199DF0 - - thumb_func_start box_print -box_print: @ 8199E64 - push {r4-r6,lr} - sub sp, 0x10 - adds r4, r1, 0 - ldr r6, [sp, 0x20] - ldr r5, [sp, 0x24] - ldr r1, [sp, 0x28] - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - str r1, [sp] - mov r1, sp - strb r0, [r1, 0x4] - mov r0, sp - strb r4, [r0, 0x5] - strb r2, [r0, 0x6] - strb r3, [r0, 0x7] - ldrb r0, [r0, 0x6] - strb r0, [r1, 0x8] - mov r0, sp - ldrb r0, [r0, 0x7] - strb r0, [r1, 0x9] - adds r0, r4, 0 - movs r1, 0x2 - bl GetFontAttribute - mov r1, sp - strb r0, [r1, 0xA] - adds r0, r4, 0 - movs r1, 0x3 - bl GetFontAttribute - mov r1, sp - strb r0, [r1, 0xB] - mov r3, sp - ldrb r2, [r3, 0xC] - movs r1, 0x10 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3, 0xC] - mov r2, sp - ldrb r0, [r6, 0x1] - lsls r0, 4 - movs r4, 0xF - strb r0, [r2, 0xC] - ldrb r2, [r6] - adds r0, r4, 0 - ands r0, r2 - ldrb r2, [r3, 0xD] - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xD] - mov r2, sp - ldrb r0, [r6, 0x2] - lsls r0, 4 - ands r1, r4 - orrs r1, r0 - strb r1, [r2, 0xD] - mov r0, sp - adds r1, r5, 0 - movs r2, 0 - bl AddTextPrinter - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end box_print - - thumb_func_start AddTextPrinterParametrized2 -@ void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, struct TextColor *color, u8 speed, u8 *str) -AddTextPrinterParametrized2: @ 8199EEC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x10 - adds r5, r1, 0 - ldr r1, [sp, 0x28] - mov r8, r1 - ldr r1, [sp, 0x2C] - mov r9, r1 - ldr r6, [sp, 0x30] - ldr r1, [sp, 0x34] - ldr r4, [sp, 0x38] - str r4, [sp] - mov r4, sp - strb r0, [r4, 0x4] - mov r0, sp - strb r5, [r0, 0x5] - strb r2, [r0, 0x6] - strb r3, [r0, 0x7] - mov r2, sp - ldrb r0, [r0, 0x6] - strb r0, [r2, 0x8] - mov r0, sp - ldrb r0, [r0, 0x7] - strb r0, [r2, 0x9] - mov r0, sp - mov r2, r8 - strb r2, [r0, 0xA] - mov r2, r9 - strb r2, [r0, 0xB] - ldrb r3, [r4, 0xC] - movs r2, 0x10 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r4, 0xC] - mov r3, sp - ldrb r0, [r6, 0x1] - lsls r0, 4 - movs r5, 0xF - strb r0, [r3, 0xC] - ldrb r3, [r6] - adds r0, r5, 0 - ands r0, r3 - ldrb r3, [r4, 0xD] - ands r2, r3 - orrs r2, r0 - strb r2, [r4, 0xD] - mov r3, sp - ldrb r0, [r6, 0x2] - lsls r0, 4 - ands r2, r5 - orrs r2, r0 - strb r2, [r3, 0xD] - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - movs r2, 0 - bl AddTextPrinter - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end AddTextPrinterParametrized2 - - thumb_func_start sub_8199F74 -sub_8199F74: @ 8199F74 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - adds r6, r1, 0 - ldr r4, [sp, 0x2C] - ldr r1, [sp, 0x30] - mov r8, r1 - ldr r7, [sp, 0x34] - ldr r5, [sp, 0x38] - ldr r1, [sp, 0x3C] - mov r9, r1 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - str r2, [sp] - mov r1, sp - strb r0, [r1, 0x4] - mov r0, sp - strb r6, [r0, 0x5] - strb r3, [r0, 0x6] - strb r4, [r0, 0x7] - strb r3, [r0, 0x8] - strb r4, [r0, 0x9] - strb r5, [r0, 0xA] - mov r1, r9 - strb r1, [r0, 0xB] - mov r2, sp - ldrb r1, [r2, 0xC] - movs r5, 0x10 - negs r5, r5 - adds r0, r5, 0 - ands r0, r1 - strb r0, [r2, 0xC] - adds r0, r6, 0 - movs r1, 0x5 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xC] - movs r4, 0xF - adds r1, r4, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xC] - adds r0, r6, 0 - movs r1, 0x6 - bl GetFontAttribute - mov r2, sp - adds r1, r4, 0 - ands r1, r0 - ldrb r0, [r2, 0xD] - ands r5, r0 - orrs r5, r1 - strb r5, [r2, 0xD] - adds r0, r6, 0 - movs r1, 0x7 - bl GetFontAttribute - mov r2, sp - lsls r0, 4 - ldrb r1, [r2, 0xD] - ands r4, r1 - orrs r4, r0 - strb r4, [r2, 0xD] - mov r0, sp - mov r1, r8 - adds r2, r7, 0 - bl AddTextPrinter - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8199F74 - - thumb_func_start sub_819A024 -sub_819A024: @ 819A024 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r7, r0, 24 - lsls r2, 16 - lsrs r4, r2, 16 - lsls r3, 16 - lsrs r5, r3, 16 - movs r2, 0 - ldr r0, =gSaveBlock2Ptr - ldr r3, [r0] - ldrb r0, [r3] - ldr r6, =gStringVar4 - cmp r0, 0xFF - beq _0819A04C -_0819A042: - adds r2, 0x1 - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0819A042 -_0819A04C: - adds r0, r6, 0 - bl StringExpandPlaceholders - lsls r3, r4, 24 - lsrs r3, 24 - lsls r0, r5, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r7, 0 - movs r1, 0x1 - adds r2, r6, 0 - bl PrintTextOnWindow - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819A024 - - thumb_func_start sub_819A080 -sub_819A080: @ 819A080 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, [sp, 0x48] - ldr r4, [sp, 0x4C] - ldr r1, [sp, 0x50] - ldr r5, [sp, 0x54] - lsls r2, 16 - lsrs r2, 16 - str r2, [sp, 0x8] - lsls r3, 16 - lsrs r3, 16 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0xC] - lsls r4, 16 - lsrs r4, 16 - lsls r1, 16 - lsrs r1, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r2, [sp, 0x4] - ldrh r0, [r2, 0x4] - ldr r2, [sp, 0xC] - subs r0, r2 - ldr r2, [sp, 0x8] - adds r2, r1, r2 - str r2, [sp, 0x10] - cmp r0, r1 - bge _0819A0CC - ldr r1, [sp, 0x8] - adds r0, r1 - str r0, [sp, 0x10] -_0819A0CC: - ldr r2, [sp, 0x4] - ldrh r1, [r2, 0x6] - subs r0, r1, r4 - cmp r0, r5 - bge _0819A0DE - adds r0, r3, r1 - subs r0, r4 - str r0, [sp, 0x14] - b _0819A0E2 -_0819A0DE: - adds r5, r3, r5 - str r5, [sp, 0x14] -_0819A0E2: - ldr r0, [sp] - ldrh r1, [r0, 0x4] - movs r2, 0x7 - adds r0, r1, 0 - ands r0, r2 - adds r1, r0 - asrs r1, 3 - str r1, [sp, 0x18] - ldr r0, [sp, 0x4] - ldrh r1, [r0, 0x4] - adds r0, r1, 0 - ands r0, r2 - adds r1, r0 - asrs r1, 3 - str r1, [sp, 0x1C] - mov r12, r3 - mov r8, r4 - ldr r1, [sp, 0x14] - cmp r12, r1 - blt _0819A10C - b _0819A24A -_0819A10C: - ldr r5, [sp, 0x8] - ldr r6, [sp, 0xC] - mov r2, r12 - adds r2, 0x1 - str r2, [sp, 0x20] - mov r0, r8 - adds r0, 0x1 - str r0, [sp, 0x24] - ldr r1, [sp, 0x10] - cmp r5, r1 - blt _0819A124 - b _0819A23A -_0819A124: - movs r7, 0x1 - movs r2, 0xF0 - mov r10, r2 - movs r0, 0xF - mov r9, r0 -_0819A12E: - asrs r0, r5, 1 - movs r1, 0x3 - ands r0, r1 - ldr r2, [sp] - ldr r1, [r2] - adds r1, r0 - asrs r0, r5, 3 - lsls r0, 5 - adds r1, r0 - mov r2, r12 - asrs r0, r2, 3 - ldr r2, [sp, 0x18] - muls r0, r2 - lsls r0, 5 - adds r1, r0 - mov r2, r12 - lsls r0, r2, 29 - lsrs r0, 27 - adds r3, r1, r0 - asrs r0, r6, 1 - movs r1, 0x3 - ands r0, r1 - ldr r2, [sp, 0x4] - ldr r1, [r2] - adds r1, r0 - asrs r0, r6, 3 - lsls r0, 5 - adds r1, r0 - mov r2, r8 - asrs r0, r2, 3 - ldr r2, [sp, 0x1C] - muls r0, r2 - lsls r0, 5 - adds r1, r0 - mov r2, r8 - lsls r0, r2, 29 - lsrs r0, 27 - adds r4, r1, r0 - adds r0, r4, 0 - ands r0, r7 - cmp r0, 0 - beq _0819A1DA - subs r4, 0x1 - adds r0, r6, 0 - ands r0, r7 - cmp r0, 0 - beq _0819A1B2 - ldrh r0, [r4] - ldr r2, =0x00000fff - ands r2, r0 - adds r0, r5, 0 - ands r0, r7 - cmp r0, 0 - beq _0819A1A8 - ldrb r1, [r3] - mov r0, r10 - ands r0, r1 - lsls r0, 8 - b _0819A22A - .pool -_0819A1A8: - ldrb r1, [r3] - mov r0, r9 - ands r0, r1 - lsls r0, 12 - b _0819A22A -_0819A1B2: - ldrh r0, [r4] - ldr r2, =0x0000f0ff - ands r2, r0 - adds r0, r5, 0 - ands r0, r7 - cmp r0, 0 - beq _0819A1D0 - ldrb r1, [r3] - mov r0, r10 - ands r0, r1 - lsls r0, 4 - b _0819A22A - .pool -_0819A1D0: - ldrb r1, [r3] - mov r0, r9 - ands r0, r1 - lsls r0, 8 - b _0819A22A -_0819A1DA: - adds r0, r6, 0 - ands r0, r7 - cmp r0, 0 - beq _0819A206 - ldrh r0, [r4] - ldr r2, =0x0000ff0f - ands r2, r0 - adds r0, r5, 0 - ands r0, r7 - cmp r0, 0 - beq _0819A1FC - ldrb r1, [r3] - mov r0, r10 - b _0819A228 - .pool -_0819A1FC: - ldrb r1, [r3] - mov r0, r9 - ands r0, r1 - lsls r0, 4 - b _0819A22A -_0819A206: - ldrh r0, [r4] - ldr r2, =0x0000fff0 - ands r2, r0 - adds r0, r5, 0 - ands r0, r7 - cmp r0, 0 - beq _0819A224 - ldrb r1, [r3] - mov r0, r10 - ands r0, r1 - lsrs r0, 4 - b _0819A22A - .pool -_0819A224: - ldrb r1, [r3] - mov r0, r9 -_0819A228: - ands r0, r1 -_0819A22A: - orrs r2, r0 - strh r2, [r4] - adds r5, 0x1 - adds r6, 0x1 - ldr r0, [sp, 0x10] - cmp r5, r0 - bge _0819A23A - b _0819A12E -_0819A23A: - ldr r1, [sp, 0x20] - mov r12, r1 - ldr r2, [sp, 0x24] - mov r8, r2 - ldr r0, [sp, 0x14] - cmp r12, r0 - bge _0819A24A - b _0819A10C -_0819A24A: - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_819A080 - - thumb_func_start sub_819A25C -sub_819A25C: @ 819A25C - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, 16 - lsrs r0, 16 - bl GetValidMonIconPalettePtr - adds r1, r4, 0 - movs r2, 0x20 - bl LoadPalette - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_819A25C - - thumb_func_start sub_819A27C -sub_819A27C: @ 819A27C - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - adds r0, r1, 0 - adds r1, r2, 0 - adds r4, r3, 0 - ldr r5, [sp, 0x18] - lsls r6, 24 - lsrs r6, 24 - lsls r0, 16 - lsrs r0, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - movs r2, 0x1 - bl GetMonIconPtr - adds r1, r0, 0 - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r6, 0 - adds r2, r4, 0 - adds r3, r5, 0 - bl BlitBitmapToWindow - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_819A27C - - thumb_func_start sub_819A2BC -sub_819A2BC: @ 819A2BC - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x1 - beq _0819A2DC - cmp r1, 0x1 - ble _0819A2D2 - cmp r1, 0x2 - beq _0819A2E4 -_0819A2D2: - ldr r0, =gUnknown_08DC4318 - b _0819A2E6 - .pool -_0819A2DC: - ldr r0, =gUnknown_08DC4338 - b _0819A2E6 - .pool -_0819A2E4: - ldr r0, =gUnknown_08DC4358 -_0819A2E6: - adds r1, r2, 0 - movs r2, 0x20 - bl LoadPalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_819A2BC - - thumb_func_start blit_move_info_icon -@ void blit_move_info_icon(u8 windowId, u8 a2, u16 x, u16 y) -blit_move_info_icon: @ 819A2F8 - push {r4,r5,lr} - sub sp, 0x18 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 16 - lsrs r3, 16 - ldr r4, =gUnknown_0860F0D4 - lsrs r1, 22 - adds r1, r4 - ldrh r5, [r1, 0x2] - lsls r5, 5 - ldr r4, =gUnknown_08DC4378 - adds r5, r4 - movs r4, 0x80 - str r4, [sp] - str r4, [sp, 0x4] - str r2, [sp, 0x8] - str r3, [sp, 0xC] - ldrb r2, [r1] - str r2, [sp, 0x10] - ldrb r1, [r1, 0x1] - str r1, [sp, 0x14] - adds r1, r5, 0 - movs r2, 0 - movs r3, 0 - bl BlitBitmapRectToWindow - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end blit_move_info_icon - - thumb_func_start sub_819A344 -sub_819A344: @ 819A344 - push {r4-r7,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r2, 24 - lsrs r2, 24 - adds r5, r1, 0 - movs r1, 0xFC - strb r1, [r5] - adds r5, 0x1 - movs r0, 0x1 - strb r0, [r5] - adds r5, 0x1 - strb r2, [r5] - adds r5, 0x1 - strb r1, [r5] - adds r5, 0x1 - movs r0, 0x3 - strb r0, [r5] - adds r5, 0x1 - adds r2, 0x1 - strb r2, [r5] - adds r5, 0x1 - cmp r3, 0x4 - bhi _0819A43C - lsls r0, r3, 2 - ldr r1, =_0819A384 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0819A384: - .4byte _0819A398 - .4byte _0819A3A8 - .4byte _0819A3D6 - .4byte _0819A404 - .4byte _0819A414 -_0819A398: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r0, r5, 0 - bl StringCopy - b _0819A43C - .pool -_0819A3A8: - bl IsNationalPokedexEnabled - cmp r0, 0 - beq _0819A3B8 - movs r0, 0x1 - bl pokedex_count - b _0819A3BE -_0819A3B8: - movs r0, 0x1 - bl sub_80C0844 -_0819A3BE: - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r5, r0, 0 - movs r0, 0xFF - strb r0, [r5] - b _0819A43C -_0819A3D6: - ldr r4, =gSaveBlock2Ptr - ldr r0, [r4] - ldrh r1, [r0, 0xE] - adds r0, r5, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r5, r0, 0 - movs r0, 0xF0 - strb r0, [r5] - adds r5, 0x1 - ldr r0, [r4] - ldrb r1, [r0, 0x10] - adds r0, r5, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - b _0819A43C - .pool -_0819A404: - ldr r0, =gMapHeader - ldrb r1, [r0, 0x14] - adds r0, r5, 0 - bl sub_81245DC - b _0819A43C - .pool -_0819A414: - ldr r4, =0x00000867 - movs r6, 0 - adds r7, r5, 0x1 -_0819A41A: - lsls r0, r4, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0819A42A - adds r6, 0x1 -_0819A42A: - adds r4, 0x1 - ldr r0, =0x0000086e - cmp r4, r0 - ble _0819A41A - adds r0, r6, 0 - subs r0, 0x5F - strb r0, [r5] - movs r0, 0xFF - strb r0, [r7] -_0819A43C: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819A344 - - thumb_func_start sub_819A44C -sub_819A44C: @ 819A44C - push {r4,r5,lr} - adds r5, r0, 0 - ldrb r4, [r5, 0x5] - lsrs r4, 4 - movs r0, 0x65 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsls r4, 16 - lsrs r4, 16 - lsrs r0, 24 - cmp r4, r0 - bne _0819A4BA - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0819A4B0 - ldrh r1, [r5, 0x2E] - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _0819A484 - subs r0, r1, 0x1 - strh r0, [r5, 0x2E] - b _0819A4C2 -_0819A484: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x5 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _0819A4A6 - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAnim - movs r0, 0x20 - strh r0, [r5, 0x2E] - b _0819A4C2 -_0819A4A6: - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim - b _0819A4C2 -_0819A4B0: - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnimIfDifferent - b _0819A4C2 -_0819A4BA: - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent -_0819A4C2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_819A44C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/menu_helpers.s b/asm/menu_helpers.s index 423f653d98..90e846b97b 100644 --- a/asm/menu_helpers.s +++ b/asm/menu_helpers.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_8121DA0 -sub_8121DA0: @ 8121DA0 + thumb_func_start ResetVramOamAndBgCntRegs +ResetVramOamAndBgCntRegs: @ 8121DA0 push {r4,lr} sub sp, 0xC movs r0, 0 @@ -50,10 +50,10 @@ sub_8121DA0: @ 8121DA0 pop {r0} bx r0 .pool - thumb_func_end sub_8121DA0 + thumb_func_end ResetVramOamAndBgCntRegs - thumb_func_start sub_8121E10 -sub_8121E10: @ 8121E10 + thumb_func_start ResetAllBgsCoordinates +ResetAllBgsCoordinates: @ 8121E10 push {lr} movs r0, 0 movs r1, 0 @@ -89,7 +89,7 @@ sub_8121E10: @ 8121E10 bl ChangeBgY pop {r0} bx r0 - thumb_func_end sub_8121E10 + thumb_func_end ResetAllBgsCoordinates thumb_func_start SetVBlankHBlankCallbacksToNull @ void SetVBlankHBlankCallbacksToNull() @@ -156,7 +156,7 @@ _08121EC0: adds r1, r7, 0 adds r2, r4, 0 adds r3, r5, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized ldr r1, =gUnknown_0300117C ldr r0, [sp, 0x34] str r0, [r1] @@ -177,8 +177,8 @@ _08121EC0: .pool thumb_func_end DisplayMessageAndContinueTask - thumb_func_start sub_8121F20 -sub_8121F20: @ 8121F20 + thumb_func_start RunTextPrintersRetIsActive +RunTextPrintersRetIsActive: @ 8121F20 push {r4,lr} adds r4, r0, 0 lsls r4, 24 @@ -191,7 +191,7 @@ sub_8121F20: @ 8121F20 pop {r4} pop {r1} bx r1 - thumb_func_end sub_8121F20 + thumb_func_end RunTextPrintersRetIsActive thumb_func_start Task_ContinueTaskAfterMessagePrints @ void Task_ContinueTaskAfterMessagePrints(u8 taskId) @@ -201,7 +201,7 @@ Task_ContinueTaskAfterMessagePrints: @ 8121F3C lsrs r4, r0, 24 ldr r0, =gUnknown_0203A140 ldrb r0, [r0] - bl sub_8121F20 + bl RunTextPrintersRetIsActive lsls r0, 16 cmp r0, 0 bne _08121F5A @@ -277,7 +277,7 @@ Task_CallYesOrNoCallback: @ 8121FDC push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -512,7 +512,7 @@ itemid_80BF6D8_mail_related: @ 812217C bne _081221A4 _08122192: adds r0, r4, 0 - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -752,8 +752,8 @@ _08122322: bx r0 thumb_func_end sub_8122298 - thumb_func_start sub_8122328 -sub_8122328: @ 8122328 + thumb_func_start LoadListMenuArrowsGfx +LoadListMenuArrowsGfx: @ 8122328 push {lr} ldr r0, =gUnknown_0859F514 bl LoadCompressedObjectPic @@ -762,7 +762,7 @@ sub_8122328: @ 8122328 pop {r0} bx r0 .pool - thumb_func_end sub_8122328 + thumb_func_end LoadListMenuArrowsGfx thumb_func_start sub_8122344 sub_8122344: @ 8122344 diff --git a/asm/menu_indicators.s b/asm/menu_indicators.s old mode 100755 new mode 100644 diff --git a/asm/mon_markings.s b/asm/mon_markings.s index 7c927399f4..dfc375fdfc 100644 --- a/asm/mon_markings.s +++ b/asm/mon_markings.s @@ -21,7 +21,7 @@ sub_811F918: @ 811F918 ldr r0, [r0] ldrb r0, [r0, 0x14] lsrs r0, 3 - bl sub_8098758 + bl GetWindowFrameTilesPal ldr r3, =gUnknown_0203A124 ldr r2, [r3] ldr r1, [r0] @@ -480,7 +480,7 @@ sub_811FC80: @ 811FC80 adds r0, 0x1E strh r5, [r0] add r1, sp, 0x20 - ldr r0, =gUnknown_08DC9628 + ldr r0, =gPokenavConditionMarker_Gfx str r0, [sp, 0x20] movs r0, 0xC8 lsls r0, 2 @@ -503,7 +503,7 @@ sub_811FC80: @ 811FC80 add r0, sp, 0x34 strh r6, [r0] add r1, sp, 0x38 - ldr r0, =gUnknown_08DC9608 + ldr r0, =gPokenavConditionMarker_Pal str r0, [sp, 0x38] adds r0, r6, 0x1 strh r0, [r1, 0x4] diff --git a/asm/mystery_event_menu.s b/asm/mystery_event_menu.s deleted file mode 100644 index df8e443a19..0000000000 --- a/asm/mystery_event_menu.s +++ /dev/null @@ -1,669 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8178944 -sub_8178944: @ 8178944 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8178944 - - thumb_func_start sub_8178958 -sub_8178958: @ 8178958 - push {lr} - movs r2, 0 - ldr r1, =gLinkPlayers - ldrh r0, [r1, 0x1A] - ldrh r1, [r1, 0x36] - cmp r0, r1 - bne _08178968 - movs r2, 0x1 -_08178968: - adds r0, r2, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8178958 - - thumb_func_start sub_8178974 -sub_8178974: @ 8178974 - push {r4,lr} - sub sp, 0x8 - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - ldr r0, =sub_8178944 - bl SetVBlankCallback - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085EFD64 - movs r0, 0 - movs r2, 0x1 - bl InitBgsFromTemplates - ldr r0, =gUnknown_085EFD68 - bl InitWindows - lsls r0, 16 - cmp r0, 0 - beq _08178A22 - bl DeactivateAllTextPrinters - movs r4, 0 -_081789AC: - lsls r0, r4, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - adds r4, 0x1 - cmp r4, 0x1 - ble _081789AC - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - movs r1, 0x1 - movs r2, 0xD0 - bl sub_809882C - movs r0, 0xE0 - bl sub_81978B0 - movs r1, 0xA0 - lsls r1, 1 - movs r0, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - ldr r0, =sub_8009404 - movs r1, 0 - bl CreateTask - bl StopMapMusic - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - movs r0, 0 - movs r1, 0 - movs r2, 0x2 - bl FillPalette - ldr r0, =sub_8178A78 - bl SetMainCallback2 -_08178A22: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178974 - - thumb_func_start sub_8178A40 -sub_8178A40: @ 8178A40 - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - movs r5, 0x1 - cmp r4, 0 - bne _08178A54 - ldr r1, =gText_EventSafelyLoaded - bl StringCopy - movs r5, 0 -_08178A54: - cmp r4, 0x2 - bne _08178A5A - movs r5, 0 -_08178A5A: - cmp r4, 0x1 - bne _08178A66 - ldr r1, =gText_LoadErrorEndingSession - adds r0, r6, 0 - bl StringCopy -_08178A66: - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8178A40 - - thumb_func_start sub_8178A78 -sub_8178A78: @ 8178A78 - push {r4-r6,lr} - sub sp, 0x8 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0x10 - bls _08178A8E - b _08178E58 -_08178A8E: - lsls r0, 2 - ldr r1, =_08178AA0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08178AA0: - .4byte _08178AE4 - .4byte _08178B12 - .4byte _08178B48 - .4byte _08178B80 - .4byte _08178BCC - .4byte _08178BDC - .4byte _08178C54 - .4byte _08178D28 - .4byte _08178D38 - .4byte _08178D58 - .4byte _08178D60 - .4byte _08178D74 - .4byte _08178DBC - .4byte _08178DE0 - .4byte _08178E0C - .4byte _08178E24 - .4byte _08178E48 -_08178AE4: - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0xD - bl SetWindowBorderStyle - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0 - bl ShowBg - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - b _08178E30 -_08178B12: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08178B20 - b _08178E58 -_08178B20: - ldr r1, =gText_LinkStandby2 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - movs r2, 0x1 - movs r3, 0x2 - bl sub_8178EC4 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08178E3C - .pool -_08178B48: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - beq _08178B56 - b _08178E58 -_08178B56: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r1, =gUnknown_020229C6 - ldr r2, =0x00005501 - adds r0, r2, 0 - strh r0, [r1] - bl sub_8009734 - b _08178E58 - .pool -_08178B80: - ldr r0, =gUnknown_030030E0 - ldr r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _08178B8E - b _08178D00 -_08178B8E: - movs r0, 0x1C - ands r1, r0 - cmp r1, 0x4 - bhi _08178B98 - b _08178D00 -_08178B98: - movs r0, 0x15 - bl PlaySE - ldr r1, =gText_PressAToLoadEvent - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - movs r2, 0x1 - movs r3, 0x2 - bl sub_8178EC4 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08178D00 - .pool -_08178BCC: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - beq _08178BDA - b _08178E58 -_08178BDA: - b _08178E34 -_08178BDC: - bl sub_800ABAC - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bne _08178CD0 - ldr r4, =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08178C38 - movs r0, 0x5 - bl PlaySE - bl sub_800A620 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0xD - bl SetWindowBorderStyle - ldr r1, =gText_LoadingEvent - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0x1 - movs r3, 0x2 - bl sub_8178EC4 - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - movs r2, 0x87 - lsls r2, 3 - adds r1, r4, r2 - b _08178E3C - .pool -_08178C38: - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _08178C42 - b _08178E58 -_08178C42: - movs r0, 0x5 - bl PlaySE - bl sub_80097E8 - movs r0, 0x87 - lsls r0, 3 - adds r1, r4, r0 - b _08178D1E -_08178C54: - bl sub_800B320 - lsls r0, 24 - cmp r0, 0 - beq _08178D00 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08178C68 - b _08178E58 -_08178C68: - movs r0, 0x2 - movs r1, 0x2 - bl sub_800A0C8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _08178CAC - bl sub_800AC34 - ldr r4, =gStringVar4 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8178A40 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl sub_8178EC4 - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - b _08178CF2 - .pool -_08178CAC: - bl sub_8178958 - lsls r0, 24 - cmp r0, 0 - beq _08178CCC - ldr r1, =gText_DontRemoveCableTurnOff - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - movs r2, 0x1 - movs r3, 0x2 - bl sub_8178EC4 - b _08178E34 - .pool -_08178CCC: - bl sub_80097E8 -_08178CD0: - ldr r4, =gStringVar4 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8178A40 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl sub_8178EC4 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 -_08178CF2: - movs r1, 0xD - strb r1, [r0] - b _08178E58 - .pool -_08178D00: - ldr r4, =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08178D0E - b _08178E58 -_08178D0E: - movs r0, 0x5 - bl PlaySE - bl sub_80097E8 - movs r2, 0x87 - lsls r2, 3 - adds r1, r4, r2 -_08178D1E: - movs r0, 0xF - strb r0, [r1] - b _08178E58 - .pool -_08178D28: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - beq _08178D36 - b _08178E58 -_08178D36: - b _08178E34 -_08178D38: - bl GetBlockReceivedStatus - lsls r0, 24 - cmp r0, 0 - bne _08178D44 - b _08178E58 -_08178D44: - bl ResetBlockReceivedFlags - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08178E3C - .pool -_08178D58: - movs r0, 0x87 - lsls r0, 3 - adds r1, r4, r0 - b _08178E3C -_08178D60: - bl sub_800AC34 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08178E3C - .pool -_08178D74: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r6, [r0] - cmp r6, 0 - bne _08178E58 - ldr r5, =0x0201c000 - adds r0, r5, 0 - bl sub_81538A0 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - str r6, [sp, 0x4] - ldr r2, =0x050001f5 - add r0, sp, 0x4 - adds r1, r5, 0 - bl CpuSet - ldr r0, =gStringVar4 - adds r1, r4, 0 - bl sub_8178A40 - lsls r0, 24 - cmp r0, 0 - bne _08178E34 - movs r0, 0 - bl TrySavingData - b _08178E34 - .pool -_08178DBC: - ldr r1, =gStringVar4 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - movs r2, 0x1 - movs r3, 0x2 - bl sub_8178EC4 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08178E3C - .pool -_08178DE0: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - bne _08178E58 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - ldr r0, =gUnknown_0203BCF8 - strb r2, [r0] - b _08178E58 - .pool -_08178E0C: - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08178E58 - movs r0, 0x5 - bl PlaySE - movs r2, 0x87 - lsls r2, 3 - adds r1, r4, r2 - b _08178E3C -_08178E24: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 -_08178E30: - bl BeginNormalPaletteFade -_08178E34: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 -_08178E3C: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08178E58 - .pool -_08178E48: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08178E58 - bl DoSoftReset -_08178E58: - ldr r0, =gUnknown_030030E0 - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08178E98 - bl sub_800ABBC - lsls r0, 24 - cmp r0, 0 - bne _08178E98 - bl sub_80097E8 - ldr r4, =gStringVar4 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8178A40 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl sub_8178EC4 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0xD - strb r1, [r0] -_08178E98: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8178A78 - - thumb_func_start sub_8178EC4 -sub_8178EC4: @ 8178EC4 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x1C - adds r5, r0, 0 - mov r10, r1 - adds r6, r2, 0 - ldr r4, [sp, 0x38] - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - mov r9, r0 - movs r1, 0x1 - mov r8, r1 - add r0, sp, 0x14 - mov r1, r8 - strb r1, [r0] - adds r1, r0, 0 - movs r0, 0x2 - strb r0, [r1, 0x1] - movs r0, 0x3 - strb r0, [r1, 0x2] - adds r0, r1, 0 - ldrb r0, [r0] - lsls r1, r0, 4 - orrs r1, r0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - str r3, [sp, 0x18] - bl FillWindowPixelBuffer - mov r0, r9 - str r0, [sp] - mov r1, r8 - str r1, [sp, 0x4] - add r0, sp, 0x14 - str r0, [sp, 0x8] - lsls r4, 24 - asrs r4, 24 - str r4, [sp, 0xC] - mov r1, r10 - str r1, [sp, 0x10] - adds r0, r5, 0 - movs r1, 0x1 - adds r2, r6, 0 - ldr r3, [sp, 0x18] - bl AddTextPrinterParametrized2 - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8178EC4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/mystery_event_script.s b/asm/mystery_event_script.s deleted file mode 100644 index ce8591981c..0000000000 --- a/asm/mystery_event_script.s +++ /dev/null @@ -1,870 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81537CC -sub_81537CC: @ 81537CC - push {r4,lr} - adds r4, r3, 0 - lsls r0, 16 - lsrs r0, 16 - lsls r2, 16 - lsrs r2, 16 - movs r3, 0x1 - ands r0, r3 - cmp r0, 0 - beq _081537FC - ands r1, r3 - cmp r1, 0 - beq _081537FC - movs r0, 0x4 - ands r2, r0 - cmp r2, 0 - beq _081537FC - movs r0, 0x80 - lsls r0, 2 - ands r0, r4 - cmp r0, 0 - beq _081537FC - movs r0, 0x1 - b _081537FE -_081537FC: - movs r0, 0 -_081537FE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81537CC - - thumb_func_start sub_8153804 -sub_8153804: @ 8153804 - push {lr} - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08674C86 - bl StringExpandPlaceholders - movs r0, 0x3 - bl SetMysteryEventScriptStatus - pop {r0} - bx r0 - .pool - thumb_func_end sub_8153804 - - thumb_func_start sub_8153820 -sub_8153820: @ 8153820 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, =gUnknown_082DED2C - ldr r2, =gUnknown_082DED2C + 0x44 - bl InitScriptContext - adds r0, r4, 0 - adds r1, r5, 0 - bl SetupBytecodeScript - str r5, [r4, 0x64] - movs r0, 0 - str r0, [r4, 0x68] - str r0, [r4, 0x6C] - str r0, [r4, 0x70] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8153820 - - thumb_func_start sub_8153850 -sub_8153850: @ 8153850 - push {r4,lr} - adds r4, r0, 0 - bl RunScriptCommand - lsls r0, 24 - cmp r0, 0 - beq _08153868 - ldr r0, [r4, 0x70] - cmp r0, 0 - beq _08153868 - movs r0, 0x1 - b _0815386A -_08153868: - movs r0, 0 -_0815386A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8153850 - - thumb_func_start sub_8153870 -sub_8153870: @ 8153870 - push {lr} - adds r1, r0, 0 - ldr r0, =gUnknown_0203BBC0 - bl sub_8153820 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8153870 - - thumb_func_start sub_8153884 -sub_8153884: @ 8153884 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, =gUnknown_0203BBC0 - adds r0, r4, 0 - bl sub_8153850 - ldr r1, [r4, 0x6C] - str r1, [r5] - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8153884 - - thumb_func_start sub_81538A0 -sub_81538A0: @ 81538A0 - push {r4,lr} - adds r1, r0, 0 - ldr r4, =gUnknown_0203BBC0 - adds r0, r4, 0 - bl sub_8153820 -_081538AC: - adds r0, r4, 0 - bl sub_8153850 - cmp r0, 0 - bne _081538AC - ldr r0, [r4, 0x6C] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81538A0 - - thumb_func_start SetMysteryEventScriptStatus -SetMysteryEventScriptStatus: @ 81538C4 - ldr r1, =gUnknown_0203BBC0 - str r0, [r1, 0x6C] - bx lr - .pool - thumb_func_end SetMysteryEventScriptStatus - - thumb_func_start sub_81538D0 -sub_81538D0: @ 81538D0 - push {lr} - movs r2, 0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003b18 - adds r3, r0, r1 - movs r1, 0 -_081538DE: - adds r0, r3, r1 - ldrb r0, [r0] - adds r2, r0 - adds r1, 0x1 - cmp r1, 0xB - bls _081538DE - adds r0, r2, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81538D0 - - thumb_func_start sub_81538F8 -sub_81538F8: @ 81538F8 - push {r4,r5,lr} - ldr r5, =gSaveBlock1Ptr - ldr r0, [r5] - ldr r1, =0x00003b18 - adds r4, r0, r1 - bl sub_81538D0 - adds r1, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0815392A - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _0815392A - ldrh r0, [r4, 0x2] - cmp r0, 0 - beq _0815392A - cmp r1, 0 - beq _0815392A - ldr r0, [r5] - ldr r2, =0x00003b14 - adds r0, r2 - ldr r0, [r0] - cmp r1, r0 - beq _0815393C -_0815392A: - movs r0, 0 - b _0815393E - .pool -_0815393C: - movs r0, 0x1 -_0815393E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81538F8 - - thumb_func_start sub_8153944 -sub_8153944: @ 8153944 - push {lr} - sub sp, 0x4 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =0x00003b14 - adds r1, r0 - ldr r2, =0x01000008 - mov r0, sp - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8153944 - - thumb_func_start sub_8153970 -sub_8153970: @ 8153970 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r3, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r5, r1, 0 - lsls r2, 16 - lsrs r2, 16 - adds r6, r2, 0 - cmp r3, 0 - beq _08153990 - cmp r1, 0 - beq _08153990 - cmp r2, 0 - bne _08153996 -_08153990: - bl sub_8153944 - b _081539BC -_08153996: - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - ldr r1, =0x00003b18 - adds r0, r1 - strb r3, [r0] - ldr r0, [r4] - ldr r2, =0x00003b19 - adds r0, r2 - strb r5, [r0] - ldr r0, [r4] - adds r1, 0x2 - adds r0, r1 - strh r6, [r0] - bl sub_81538D0 - ldr r1, [r4] - ldr r2, =0x00003b14 - adds r1, r2 - str r0, [r1] -_081539BC: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8153970 - - thumb_func_start sub_81539D4 -sub_81539D4: @ 81539D4 - push {r4-r6,lr} - ldr r6, =gSaveBlock1Ptr - ldr r0, [r6] - ldr r1, =0x00003b18 - adds r4, r0, r1 - bl sub_81538F8 - cmp r0, 0 - bne _081539F8 - bl sub_8153944 - movs r0, 0 - b _08153A1A - .pool -_081539F8: - ldrh r5, [r4, 0x2] - ldrb r0, [r4, 0x1] - subs r0, 0x1 - strb r0, [r4, 0x1] - lsls r0, 24 - cmp r0, 0 - bne _08153A0C - bl sub_8153944 - b _08153A18 -_08153A0C: - bl sub_81538D0 - ldr r1, [r6] - ldr r2, =0x00003b14 - adds r1, r2 - str r0, [r1] -_08153A18: - adds r0, r5, 0 -_08153A1A: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81539D4 - - thumb_func_start script_status_stop_and_ret_1 -script_status_stop_and_ret_1: @ 8153A24 - push {lr} - bl StopScript - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end script_status_stop_and_ret_1 - - thumb_func_start sub_8153A30 -sub_8153A30: @ 8153A30 - push {r4-r7,lr} - adds r7, r0, 0 - bl ScriptReadWord - str r0, [r7, 0x68] - adds r0, r7, 0 - bl ScriptReadHalfword - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r7, 0 - bl ScriptReadWord - adds r6, r0, 0 - adds r0, r7, 0 - bl ScriptReadHalfword - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r7, 0 - bl ScriptReadWord - adds r3, r0, 0 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl sub_81537CC - cmp r0, 0x1 - bne _08153A74 - str r0, [r7, 0x70] - b _08153A78 -_08153A74: - bl sub_8153804 -_08153A78: - movs r0, 0x1 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8153A30 - - thumb_func_start sub_8153A80 -sub_8153A80: @ 8153A80 - movs r0, 0 - bx lr - thumb_func_end sub_8153A80 - - thumb_func_start sub_8153A84 -sub_8153A84: @ 8153A84 - ldr r1, [r0, 0x8] - ldrb r2, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - str r2, [r0, 0x6C] - movs r0, 0 - bx lr - thumb_func_end sub_8153A84 - - thumb_func_start sub_8153A94 -sub_8153A94: @ 8153A94 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, [r4, 0x8] - ldrb r5, [r0] - adds r0, 0x1 - str r0, [r4, 0x8] - adds r0, r4, 0 - bl ScriptReadWord - ldr r1, [r4, 0x68] - subs r0, r1 - ldr r1, [r4, 0x64] - adds r1, r0, r1 - cmp r5, 0xFF - beq _08153AB8 - ldr r0, [r4, 0x6C] - cmp r5, r0 - bne _08153ABE -_08153AB8: - ldr r0, =gStringVar4 - bl StringExpandPlaceholders -_08153ABE: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8153A94 - - thumb_func_start sub_8153ACC -sub_8153ACC: @ 8153ACC - push {r4,lr} - adds r4, r0, 0 - bl ScriptReadWord - ldr r1, [r4, 0x68] - subs r0, r1 - ldr r1, [r4, 0x64] - adds r0, r1 - bl ScriptContext2_RunNewScript - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8153ACC - - thumb_func_start sub_8153AE8 -sub_8153AE8: @ 8153AE8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - bl IsEnigmaBerryValid - mov r8, r0 - adds r0, r7, 0 - bl ScriptReadWord - adds r4, r0, 0 - ldr r0, [r7, 0x68] - subs r4, r0 - ldr r0, [r7, 0x64] - adds r4, r0 - ldr r0, =gStringVar1 - mov r9, r0 - ldr r6, =gSaveBlock1Ptr - ldr r1, [r6] - ldr r5, =0x000031f8 - adds r1, r5 - movs r2, 0x7 - bl StringCopyN - adds r0, r4, 0 - bl SetEnigmaBerry - ldr r4, =gStringVar2 - ldr r1, [r6] - adds r1, r5 - adds r0, r4, 0 - movs r2, 0x7 - bl StringCopyN - mov r0, r8 - cmp r0, 0 - bne _08153B54 - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08674AE4 - b _08153B74 - .pool -_08153B54: - mov r0, r9 - adds r1, r4, 0 - bl StringCompare - cmp r0, 0 - beq _08153B70 - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08674B16 - b _08153B74 - .pool -_08153B70: - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08674B42 -_08153B74: - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [r7, 0x6C] - bl IsEnigmaBerryValid - cmp r0, 0x1 - bne _08153B9C - ldr r0, =0x0000402d - movs r1, 0x1 - bl VarSet - b _08153BA0 - .pool -_08153B9C: - movs r0, 0x1 - str r0, [r7, 0x6C] -_08153BA0: - movs r0, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8153AE8 - - thumb_func_start sub_8153BB0 -sub_8153BB0: @ 8153BB0 - push {r4,lr} - adds r4, r0, 0 - ldr r2, [r4, 0x8] - ldrb r0, [r2] - adds r2, 0x1 - str r2, [r4, 0x8] - ldrb r1, [r2] - adds r2, 0x1 - str r2, [r4, 0x8] - bl GiveGiftRibbonToParty - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08674B6A - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [r4, 0x6C] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8153BB0 - - thumb_func_start sub_8153BE4 -sub_8153BE4: @ 8153BE4 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r4, r0, 0 - ldr r0, [r4, 0x8] - ldrb r1, [r0] - mov r9, r1 - adds r0, 0x1 - str r0, [r4, 0x8] - ldrb r1, [r0] - mov r8, r1 - adds r1, r0, 0x1 - str r1, [r4, 0x8] - ldrb r6, [r0, 0x1] - adds r1, 0x1 - str r1, [r4, 0x8] - adds r0, r4, 0 - bl ScriptReadWord - adds r5, r0, 0 - ldr r0, [r4, 0x68] - subs r5, r0 - ldr r0, [r4, 0x64] - adds r5, r0 - adds r0, r4, 0 - bl ScriptReadWord - adds r1, r0, 0 - ldr r0, [r4, 0x68] - subs r1, r0 - ldr r0, [r4, 0x64] - adds r1, r0 - subs r1, r5 - lsls r1, 16 - lsrs r1, 16 - str r6, [sp] - adds r0, r5, 0 - mov r2, r9 - mov r3, r8 - bl InitRamScript - movs r0, 0 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8153BE4 - - thumb_func_start sub_8153C4C -sub_8153C4C: @ 8153C4C - push {r4,lr} - adds r4, r0, 0 - bl EnableNationalPokedex - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08674B9E - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [r4, 0x6C] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8153C4C - - thumb_func_start sub_8153C70 -sub_8153C70: @ 8153C70 - push {r4,lr} - adds r4, r0, 0 - ldr r1, [r4, 0x8] - ldrb r0, [r1] - adds r1, 0x1 - str r1, [r4, 0x8] - bl sub_811EFC0 - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08674BD4 - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [r4, 0x6C] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8153C70 - - thumb_func_start sub_8153C9C -sub_8153C9C: @ 8153C9C - push {r4,r5,lr} - ldr r1, [r0, 0x8] - ldrb r5, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - ldrb r4, [r1] - adds r1, 0x1 - str r1, [r0, 0x8] - bl ScriptReadHalfword - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8153970 - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8153C9C - - thumb_func_start sub_8153CC8 -sub_8153CC8: @ 8153CC8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x88 - adds r6, r0, 0 - bl ScriptReadWord - ldr r1, [r6, 0x68] - subs r0, r1 - ldr r1, [r6, 0x64] - adds r5, r0, r1 - movs r0, 0x64 - adds r0, r5 - mov r8, r0 - add r4, sp, 0x24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bne _08153D18 - ldr r0, =gStringVar1 - ldr r1, =gText_EggNickname - movs r2, 0xB - bl StringCopyN - b _08153D22 - .pool -_08153D18: - ldr r0, =gStringVar1 - ldr r1, =gText_Pokemon - movs r2, 0xB - bl StringCopyN -_08153D22: - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - cmp r0, 0x6 - bne _08153D4C - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08674C02 - bl StringExpandPlaceholders - movs r0, 0x3 - b _08153DB6 - .pool -_08153D4C: - ldr r7, =gPlayerParty + 500 - adds r0, r7, 0 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - mov r0, sp - mov r1, r8 - movs r2, 0x24 - bl memcpy - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - beq _08153D86 - adds r0, r4, 0 - bl SpeciesToNationalPokedexNum - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - movs r1, 0x2 - bl GetSetPokedexFlag - adds r0, r4, 0 - movs r1, 0x3 - bl GetSetPokedexFlag -_08153D86: - adds r0, r7, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl itemid_is_mail - lsls r0, 24 - cmp r0, 0 - beq _08153DA4 - adds r0, r7, 0 - mov r1, sp - bl sub_80D460C -_08153DA4: - bl party_compaction - bl CalculatePlayerPartyCount - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08674BF0 - bl StringExpandPlaceholders - movs r0, 0x2 -_08153DB6: - str r0, [r6, 0x6C] - movs r0, 0 - add sp, 0x88 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8153CC8 - - thumb_func_start sub_8153DD4 -sub_8153DD4: @ 8153DD4 - push {r4,lr} - adds r4, r0, 0 - bl ScriptReadWord - adds r1, r0, 0 - ldr r0, [r4, 0x68] - subs r1, r0 - ldr r0, [r4, 0x64] - adds r1, r0 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000bec - adds r0, r2 - movs r2, 0xBC - bl memcpy - bl sub_81652B4 - ldr r0, =gStringVar4 - ldr r1, =gUnknown_08674C31 - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [r4, 0x6C] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8153DD4 - - thumb_func_start sub_8153E1C -sub_8153E1C: @ 8153E1C - push {r4,lr} - adds r4, r0, 0 - bl EnableResetRTC - ldr r0, =gStringVar4 - ldr r1, =gText_InGameClockUsable - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [r4, 0x6C] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8153E1C - - thumb_func_start sub_8153E40 -sub_8153E40: @ 8153E40 - push {r4-r6,lr} - adds r6, r0, 0 - bl ScriptReadWord - adds r5, r0, 0 - adds r0, r6, 0 - bl ScriptReadWord - adds r4, r0, 0 - ldr r0, [r6, 0x68] - subs r4, r0 - ldr r0, [r6, 0x64] - adds r4, r0 - adds r0, r6, 0 - bl ScriptReadWord - adds r1, r0, 0 - ldr r0, [r6, 0x68] - subs r1, r0 - ldr r0, [r6, 0x64] - adds r1, r0 - subs r1, r4 - adds r0, r4, 0 - bl CalcByteArraySum - cmp r5, r0 - beq _08153E7E - movs r0, 0 - str r0, [r6, 0x70] - movs r0, 0x1 - str r0, [r6, 0x6C] -_08153E7E: - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8153E40 - - thumb_func_start sub_8153E88 -sub_8153E88: @ 8153E88 - push {r4-r6,lr} - adds r6, r0, 0 - bl ScriptReadWord - adds r5, r0, 0 - adds r0, r6, 0 - bl ScriptReadWord - adds r4, r0, 0 - ldr r0, [r6, 0x68] - subs r4, r0 - ldr r0, [r6, 0x64] - adds r4, r0 - adds r0, r6, 0 - bl ScriptReadWord - adds r1, r0, 0 - ldr r0, [r6, 0x68] - subs r1, r0 - ldr r0, [r6, 0x64] - adds r1, r0 - subs r1, r4 - adds r0, r4, 0 - bl CalcCRC16 - lsls r0, 16 - lsrs r0, 16 - cmp r5, r0 - beq _08153ECA - movs r0, 0 - str r0, [r6, 0x70] - movs r0, 0x1 - str r0, [r6, 0x6C] -_08153ECA: - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8153E88 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/naming_screen.s b/asm/naming_screen.s deleted file mode 100644 index 22d7b260e8..0000000000 --- a/asm/naming_screen.s +++ /dev/null @@ -1,4267 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start DoNamingScreen -@ int DoNamingScreen(u8 type, sav2 *sav2_ptr, s16 player_gender, s16 a4, int a5, void ( *after_finishing_callback)()) -DoNamingScreen: @ 80E2D78 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r1 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r2, 16 - lsrs r5, r2, 16 - lsls r3, 16 - lsrs r6, r3, 16 - ldr r4, =gUnknown_02039F94 - movs r0, 0xF2 - lsls r0, 5 - bl Alloc - str r0, [r4] - cmp r0, 0 - bne _080E2DA8 - ldr r0, [sp, 0x1C] - bl SetMainCallback2 - b _080E2DE2 - .pool -_080E2DA8: - ldr r1, =0x00001e2c - adds r0, r1 - strb r7, [r0] - ldr r0, [r4] - ldr r2, =0x00001e34 - adds r1, r0, r2 - strh r5, [r1] - adds r2, 0x2 - adds r1, r0, r2 - strh r6, [r1] - ldr r1, =0x00001e38 - adds r2, r0, r1 - ldr r1, [sp, 0x18] - str r1, [r2] - ldr r2, =0x00001e30 - adds r1, r0, r2 - mov r2, r8 - str r2, [r1] - ldr r1, =0x00001e3c - adds r0, r1 - ldr r2, [sp, 0x1C] - str r2, [r0] - cmp r7, 0 - bne _080E2DDC - bl StartTimer1 -_080E2DDC: - ldr r0, =c2_choose_name_or_words_screen - bl SetMainCallback2 -_080E2DE2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end DoNamingScreen - - thumb_func_start c2_choose_name_or_words_screen -c2_choose_name_or_words_screen: @ 80E2E04 - push {lr} - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x7 - bhi _080E2E9C - lsls r0, 2 - ldr r1, =_080E2E28 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080E2E28: - .4byte _080E2E48 - .4byte _080E2E52 - .4byte _080E2E58 - .4byte _080E2E5E - .4byte _080E2E68 - .4byte _080E2E6E - .4byte _080E2E74 - .4byte _080E2E7A -_080E2E48: - bl sub_80E4F70 - bl choose_name_or_words_screen_setup - b _080E2E86 -_080E2E52: - bl choose_name_or_words_screen_init_bgs - b _080E2E86 -_080E2E58: - bl ResetPaletteFade - b _080E2E86 -_080E2E5E: - bl ResetSpriteData - bl FreeAllSpritePalettes - b _080E2E86 -_080E2E68: - bl ResetTasks - b _080E2E86 -_080E2E6E: - bl choose_name_or_words_screen_apply_bg_pals - b _080E2E86 -_080E2E74: - bl choose_name_or_words_screen_load_bg_tile_patterns - b _080E2E86 -_080E2E7A: - bl sub_80E3CC8 - bl UpdatePaletteFade - bl sub_80E501C -_080E2E86: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080E2EA4 - .pool -_080E2E9C: - bl sub_80E4CB8 - bl sub_80E3194 -_080E2EA4: - pop {r0} - bx r0 - thumb_func_end c2_choose_name_or_words_screen - - thumb_func_start choose_name_or_words_screen_setup -@ void choose_name_or_words_screen_setup() -choose_name_or_words_screen_setup: @ 80E2EA8 - push {r4-r7,lr} - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r1, =0x00001e10 - adds r0, r1 - movs r2, 0 - strb r2, [r0] - ldr r1, [r5] - ldr r3, =0x00001e18 - adds r0, r1, r3 - movs r4, 0 - strh r2, [r0] - ldr r7, =0x00001e1a - adds r0, r1, r7 - strh r2, [r0] - ldr r0, =0x00001e1c - adds r2, r1, r0 - movs r3, 0x1 - movs r0, 0x1 - strh r0, [r2] - adds r7, 0x4 - adds r2, r1, r7 - movs r0, 0x2 - strh r0, [r2] - movs r0, 0xF1 - lsls r0, 5 - adds r1, r0 - strb r4, [r1] - ldr r0, [r5] - ldr r1, =0x00001e21 - adds r0, r1 - strb r3, [r0] - ldr r1, [r5] - ldr r6, =0x00001e28 - adds r3, r1, r6 - ldr r2, =gUnknown_0858BFD8 - ldr r4, =0x00001e2c - adds r0, r1, r4 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - str r0, [r3] - ldrb r0, [r0, 0x4] - ldr r2, =0x00001e22 - adds r1, r2 - strb r0, [r1] - ldr r2, [r5] - adds r0, r2, r6 - ldr r0, [r0] - ldrb r1, [r0, 0x1] - lsls r1, 3 - movs r0, 0xF0 - subs r0, r1 - asrs r3, r0, 1 - adds r0, r3, 0x6 - subs r7, 0x8 - adds r1, r2, r7 - strh r0, [r1] - adds r2, r4 - ldrb r0, [r2] - cmp r0, 0x4 - bne _080E2F2C - adds r0, r3, 0 - adds r0, 0x11 - strh r0, [r1] -_080E2F2C: - ldr r0, [r5] - ldr r4, =gKeyRepeatStartDelay - ldrh r1, [r4] - ldr r2, =0x00001e25 - adds r0, r2 - strb r1, [r0] - ldr r0, [r5] - movs r3, 0xC0 - lsls r3, 5 - adds r0, r3 - movs r1, 0xFF - movs r2, 0x10 - bl memset - ldr r1, [r5] - adds r0, r1, r6 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0 - beq _080E2F64 - movs r7, 0xC0 - lsls r7, 5 - adds r0, r1, r7 - ldr r2, =0x00001e30 - adds r1, r2 - ldr r1, [r1] - bl StringCopy -_080E2F64: - movs r0, 0x10 - strh r0, [r4] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end choose_name_or_words_screen_setup - - thumb_func_start sub_80E2FA4 -sub_80E2FA4: @ 80E2FA4 - push {r4,r5,lr} - movs r3, 0 - ldr r4, =gSprites - movs r5, 0x5 - negs r5, r5 -_080E2FAE: - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - adds r0, r4 - adds r2, r0, 0 - adds r2, 0x3E - ldrb r1, [r2] - lsls r0, r1, 31 - cmp r0, 0 - beq _080E2FC8 - adds r0, r5, 0 - ands r0, r1 - strb r0, [r2] -_080E2FC8: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3F - bls _080E2FAE - movs r0, 0 - bl sub_80E3E3C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E2FA4 - - thumb_func_start choose_name_or_words_screen_init_bgs -choose_name_or_words_screen_init_bgs: @ 80E2FE4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r0, sp, 0xC - mov r8, r0 - add r2, sp, 0x8 - movs r6, 0 - ldr r1, =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_080E300A: - strh r6, [r2] - add r0, sp, 0x8 - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _080E300A - strh r6, [r2] - add r2, sp, 0x8 - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0xC] - ldr r2, =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - add r0, sp, 0x8 - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0858BE00 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - bl sub_81971D0 - bl sub_8197200 -_080E30D8: - lsls r0, r4, 3 - ldr r1, =gUnknown_0858BE10 - adds r0, r1 - bl AddWindow - ldr r5, =gUnknown_02039F94 - ldr r1, [r5] - ldr r2, =0x00001e11 - adds r1, r2 - adds r1, r4 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _080E30D8 - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r1, 0xC8 - lsls r1, 3 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x0000080c - movs r0, 0x52 - bl SetGpuReg - ldr r1, [r5] - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r5] - movs r0, 0x80 - lsls r0, 4 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r1, [r5] - movs r2, 0x80 - lsls r2, 5 - adds r1, r2 - movs r0, 0x3 - bl SetBgTilemapBuffer - movs r4, 0x20 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end choose_name_or_words_screen_init_bgs - - thumb_func_start sub_80E3194 -sub_80E3194: @ 80E3194 - push {lr} - ldr r0, =sub_80E31B0 - movs r1, 0x2 - bl CreateTask - ldr r0, =sub_80E4F58 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E3194 - - thumb_func_start sub_80E31B0 -sub_80E31B0: @ 80E31B0 - push {lr} - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e10 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x9 - bhi _080E3240 - lsls r0, 2 - ldr r1, =_080E31D8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080E31D8: - .4byte _080E3200 - .4byte _080E320E - .4byte _080E3218 - .4byte _080E3214 - .4byte _080E321E - .4byte _080E3224 - .4byte _080E322A - .4byte _080E3230 - .4byte _080E3236 - .4byte _080E323C -_080E3200: - bl sub_80E3294 - bl sub_80E2FA4 - bl sub_80E4F84 - b _080E3240 -_080E320E: - bl sub_80E335C - b _080E3240 -_080E3214: - bl sub_80E33A8 -_080E3218: - bl sub_80E3398 - b _080E3240 -_080E321E: - bl sub_80E3640 - b _080E3240 -_080E3224: - bl sub_80E3680 - b _080E3240 -_080E322A: - bl pokemon_store - b _080E3240 -_080E3230: - bl sub_80E3604 - b _080E3240 -_080E3236: - bl sub_80E3448 - b _080E3240 -_080E323C: - bl sub_80E347C -_080E3240: - pop {r0} - bx r0 - thumb_func_end sub_80E31B0 - - thumb_func_start sub_80E3244 -sub_80E3244: @ 80E3244 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0858BEBB - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_80E3244 - - thumb_func_start sub_80E3254 -sub_80E3254: @ 80E3254 - ldr r1, =gUnknown_0858BEBE - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r2, =0x00001e22 - adds r0, r2 - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_80E3254 - - thumb_func_start sub_80E3274 -sub_80E3274: @ 80E3274 - ldr r1, =gUnknown_0858BEC1 - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r2, =0x00001e22 - adds r0, r2 - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_80E3274 - - thumb_func_start sub_80E3294 -sub_80E3294: @ 80E3294 - push {r4-r6,lr} - sub sp, 0x4 - ldr r1, =gUnknown_08DD4544 - movs r0, 0x3 - bl sub_80E4CF8 - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r1, =0x00001e22 - adds r0, r1 - movs r6, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r1, =gUnknown_08DD46E0 - movs r0, 0x2 - bl sub_80E4CF8 - ldr r1, =gUnknown_08DD4620 - movs r0, 0x1 - bl sub_80E4CF8 - ldr r0, [r5] - ldr r1, =0x00001e12 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_80E4DE4 - ldr r0, [r5] - ldr r1, =0x00001e11 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0x1 - bl sub_80E4DE4 - movs r0, 0x2 - movs r1, 0 - bl nullsub_10 - movs r0, 0x1 - movs r1, 0x1 - bl nullsub_10 - bl sub_80E4D10 - bl sub_80E4964 - bl sub_80E4EF0 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - str r6, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, [r5] - ldr r0, =0x00001e10 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E3294 - - thumb_func_start sub_80E335C -sub_80E335C: @ 80E335C - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080E3384 - movs r0, 0x1 - bl sub_80E4630 - movs r0, 0x1 - bl sub_80E3E94 - ldr r0, =gUnknown_02039F94 - ldr r1, [r0] - ldr r0, =0x00001e10 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080E3384: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E335C - - thumb_func_start sub_80E3398 -sub_80E3398: @ 80E3398 - push {lr} - bl sub_80E44BC - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_80E3398 - - thumb_func_start sub_80E33A8 -sub_80E33A8: @ 80E33A8 - push {lr} - bl sub_80E3F04 - lsls r0, 24 - cmp r0, 0 - beq _080E33CA - movs r0, 0x1 - bl sub_80E4630 - bl sub_80E3E28 - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e10 - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] -_080E33CA: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E33A8 - - thumb_func_start pokemon_store -pokemon_store: @ 80E33D8 - push {r4,lr} - bl sub_80E4BE4 - movs r0, 0 - bl sub_80E4630 - movs r0, 0 - bl sub_80E3E94 - movs r0, 0x3 - movs r1, 0 - movs r2, 0x1 - bl sub_80E3948 - ldr r4, =gUnknown_02039F94 - ldr r0, [r4] - ldr r1, =0x00001e2c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x2 - bne _080E342C - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bls _080E342C - bl pokemon_transfer_to_pc_with_message - ldr r0, [r4] - ldr r1, =0x00001e10 - adds r0, r1 - movs r1, 0x7 - strb r1, [r0] - movs r0, 0 - b _080E343A - .pool -_080E342C: - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e10 - adds r0, r1 - movs r1, 0x8 - strb r1, [r0] - movs r0, 0x1 -_080E343A: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end pokemon_store - - thumb_func_start sub_80E3448 -sub_80E3448: @ 80E3448 - push {lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_02039F94 - ldr r1, [r0] - ldr r0, =0x00001e10 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - add sp, 0x4 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E3448 - - thumb_func_start sub_80E347C -sub_80E347C: @ 80E347C - push {r4,r5,lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _080E34C6 - ldr r4, =gUnknown_02039F94 - ldr r0, [r4] - ldr r1, =0x00001e2c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080E34A0 - bl SeedRngAndSetTrainerId -_080E34A0: - ldr r0, [r4] - ldr r1, =0x00001e3c - adds r0, r1 - ldr r0, [r0] - bl SetMainCallback2 - ldr r0, =sub_80E31B0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl FreeAllWindowBuffers - ldr r0, [r4] - bl Free - str r5, [r4] -_080E34C6: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E347C - - thumb_func_start pokemon_transfer_to_pc_with_message -pokemon_transfer_to_pc_with_message: @ 80E34E4 - push {r4,r5,lr} - sub sp, 0x10 - movs r5, 0 - bl sub_813B260 - lsls r0, 24 - cmp r0, 0 - bne _080E3534 - ldr r4, =gStringVar1 - ldr r0, =0x00004036 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldr r0, =gStringVar2 - ldr r1, =gUnknown_02039F94 - ldr r1, [r1] - ldr r2, =0x00001e30 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - b _080E3574 - .pool -_080E3534: - ldr r4, =gStringVar1 - ldr r0, =0x00004036 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldr r0, =gStringVar2 - ldr r1, =gUnknown_02039F94 - ldr r1, [r1] - ldr r2, =0x00001e30 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldr r4, =gStringVar3 - bl get_unknown_box_id - lsls r0, 24 - lsrs r0, 24 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - movs r5, 0x2 -_080E3574: - ldr r0, =0x000008ab - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080E3586 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_080E3586: - ldr r4, =gStringVar4 - ldr r1, =gUnknown_0858BDB8 - lsls r0, r5, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - movs r1, 0 - bl sub_81973C4 - ldr r2, =gTextFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - bl sav2_get_text_speed - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - adds r2, r4, 0 - bl AddTextPrinterParametrized - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end pokemon_transfer_to_pc_with_message - - thumb_func_start sub_80E3604 -sub_80E3604: @ 80E3604 - push {lr} - bl RunTextPrinters - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _080E362E - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080E362E - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e10 - adds r0, r1 - movs r1, 0x8 - strb r1, [r0] -_080E362E: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E3604 - - thumb_func_start sub_80E3640 -sub_80E3640: @ 80E3640 - push {lr} - movs r0, 0 - bl sub_80E4630 - bl sub_80E4050 - bl sub_80E373C - movs r0, 0x1 - bl sub_80E3E3C - movs r0, 0 - movs r1, 0 - movs r2, 0x1 - bl sub_80E3948 - movs r0, 0x6 - bl PlaySE - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e10 - adds r0, r1 - movs r1, 0x5 - strb r1, [r0] - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E3640 - - thumb_func_start sub_80E3680 -sub_80E3680: @ 80E3680 - push {r4-r6,lr} - sub sp, 0x4 - bl sub_80E3794 - lsls r0, 24 - cmp r0, 0 - beq _080E3732 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl sub_80E3DFC - bl sub_80E3F70 - movs r5, 0 - mov r1, sp - movs r2, 0 - ldrsh r1, [r1, r2] - lsls r0, 24 - lsrs r0, 24 - adds r6, r4, 0 - cmp r1, r0 - bne _080E36B2 - movs r5, 0x1 -_080E36B2: - ldr r2, =gUnknown_02039F94 - ldr r0, [r2] - ldr r1, =0x00001e10 - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] - ldr r1, [r2] - ldr r3, =0x00001e22 - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r4, [r2] - adds r4, r3 - ldrb r0, [r4] - movs r1, 0x3 - bl __umodsi3 - strb r0, [r4] - cmp r5, 0 - beq _080E36F4 - mov r4, sp - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - b _080E3712 - .pool -_080E36F4: - mov r0, sp - movs r2, 0 - ldrsh r4, [r0, r2] - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - blt _080E3714 - mov r4, sp - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 -_080E3712: - strh r0, [r4] -_080E3714: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r6, r2] - bl sub_80E3D78 - bl sub_80E4E5C - movs r0, 0x1 - bl sub_80E4630 - movs r0, 0 - bl sub_80E3E3C -_080E3732: - movs r0, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80E3680 - - thumb_func_start sub_80E373C -sub_80E373C: @ 80E373C - push {r4,lr} - ldr r4, =sub_80E375C - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E373C - - thumb_func_start sub_80E375C -sub_80E375C: @ 80E375C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0858BEC4 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080E376E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080E376E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E375C - - thumb_func_start sub_80E3794 -sub_80E3794: @ 80E3794 - push {lr} - ldr r0, =sub_80E375C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080E37AC - movs r0, 0 - b _080E37AE - .pool -_080E37AC: - movs r0, 0x1 -_080E37AE: - pop {r1} - bx r1 - thumb_func_end sub_80E3794 - - thumb_func_start sub_80E37B4 -sub_80E37B4: @ 80E37B4 - ldr r1, =gUnknown_02039F94 - ldr r1, [r1] - ldr r3, =0x00001e18 - adds r2, r1, r3 - movs r3, 0 - strh r3, [r2] - ldr r2, =0x00001e1a - adds r1, r2 - strh r3, [r1] - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - movs r0, 0 - bx lr - .pool - thumb_func_end sub_80E37B4 - - thumb_func_start sub_80E37DC -sub_80E37DC: @ 80E37DC - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r2, =0x00001e1a - adds r1, r0, r2 - str r1, [sp] - ldr r1, =0x00001e18 - adds r0, r1 - str r0, [sp, 0x4] - ldrh r0, [r4, 0xA] - adds r0, 0x4 - strh r0, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - movs r1, 0x28 - bl Sin - ldr r1, [r5] - movs r2, 0xF1 - lsls r2, 5 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - strh r0, [r1] - ldrh r0, [r4, 0xA] - adds r0, 0x80 - movs r1, 0xFF - ands r0, r1 - movs r1, 0x28 - bl Sin - ldr r1, [r5] - ldr r2, =0x00001e21 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - strh r0, [r1] - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x3F - ble _080E3852 - ldr r0, [r5] - ldr r1, =0x00001e1c - adds r2, r0, r1 - ldrb r3, [r2] - adds r1, 0x2 - adds r0, r1 - ldrh r1, [r0] - strh r1, [r2] - strh r3, [r0] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080E3852: - movs r0, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E37DC - - thumb_func_start sub_80E3870 -sub_80E3870: @ 80E3870 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r2, =0x00001e1a - adds r1, r0, r2 - str r1, [sp] - ldr r3, =0x00001e18 - adds r0, r3 - str r0, [sp, 0x4] - ldrh r0, [r4, 0xA] - adds r0, 0x4 - strh r0, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r1, 0x28 - bl Sin - ldr r1, [r5] - movs r2, 0xF1 - lsls r2, 5 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - strh r0, [r1] - ldrh r0, [r4, 0xA] - adds r0, 0x80 - movs r1, 0xFF - ands r0, r1 - movs r1, 0x28 - bl Sin - ldr r1, [r5] - ldr r3, =0x00001e21 - adds r1, r3 - ldrb r1, [r1] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - strh r0, [r1] - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x7F - ble _080E38EA - ldr r0, [r5] - movs r2, 0xF1 - lsls r2, 5 - adds r1, r0, r2 - ldrb r2, [r1] - adds r0, r3 - ldrb r0, [r0] - strb r0, [r1] - ldr r0, [r5] - adds r0, r3 - strb r2, [r0] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080E38EA: - movs r0, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E3870 - - thumb_func_start sub_80E3904 -sub_80E3904: @ 80E3904 - push {lr} - ldr r0, =sub_80E375C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E3904 - - thumb_func_start sub_80E3920 -sub_80E3920: @ 80E3920 - push {lr} - ldr r0, =c3_0809E58C - movs r1, 0x3 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x3 - strh r0, [r1, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E3920 - - thumb_func_start sub_80E3948 -sub_80E3948: @ 80E3948 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r0, =c3_0809E58C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r5, r0 - bne _080E3988 - cmp r6, 0 - bne _080E3988 - strh r7, [r4, 0xA] - movs r0, 0x1 - strh r0, [r4, 0xC] - b _080E39B4 - .pool -_080E3988: - cmp r5, 0x3 - bne _080E3998 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080E3998 - cmp r6, 0 - beq _080E39B4 -_080E3998: - ldrh r1, [r4, 0x8] - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0x3 - beq _080E39AA - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_80E3AE8 -_080E39AA: - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r7, 0 - bl sub_80E3B10 -_080E39B4: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E3948 - - thumb_func_start c3_0809E58C -c3_0809E58C: @ 80E39BC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - ldrh r1, [r4, 0x8] - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0x3 - beq _080E3A6E - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080E3A6E - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_80E3A74 - lsls r0, 16 - lsrs r0, 16 - ldrb r3, [r4, 0xE] - adds r1, r3, 0 - adds r2, r3, 0 - bl sub_80B609C - ldrh r1, [r4, 0x12] - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080E3A08 - subs r0, r1, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - cmp r0, 0 - bne _080E3A6E -_080E3A08: - movs r0, 0x2 - strh r0, [r4, 0x12] - ldrh r1, [r4, 0x10] - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r0, 0 - blt _080E3A32 - ldrh r2, [r4, 0xE] - movs r3, 0xE - ldrsh r0, [r4, r3] - cmp r0, 0xD - bgt _080E3A28 - adds r0, r2, r1 - b _080E3A36 - .pool -_080E3A28: - movs r0, 0x10 - strh r0, [r4, 0xE] - ldrh r0, [r4, 0x14] - adds r0, 0x1 - b _080E3A3C -_080E3A32: - ldrh r3, [r4, 0xE] - adds r0, r1, r3 -_080E3A36: - strh r0, [r4, 0xE] - ldrh r2, [r4, 0x14] - adds r0, r1, r2 -_080E3A3C: - strh r0, [r4, 0x14] - movs r3, 0xE - ldrsh r0, [r4, r3] - ldrh r1, [r4, 0xE] - cmp r0, 0x10 - bne _080E3A5C - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0x16 - bne _080E3A5C - ldr r0, =0x0000fffc - strh r0, [r4, 0x10] - b _080E3A6E - .pool -_080E3A5C: - lsls r0, r1, 16 - asrs r1, r0, 16 - cmp r1, 0 - bne _080E3A6E - ldrh r0, [r4, 0xA] - strh r0, [r4, 0xC] - movs r0, 0x2 - strh r0, [r4, 0x10] - strh r1, [r4, 0x14] -_080E3A6E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end c3_0809E58C - - thumb_func_start sub_80E3A74 -sub_80E3A74: @ 80E3A74 - push {r4-r6,lr} - sub sp, 0x10 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x4 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - movs r1, 0x87 - lsls r1, 1 - adds r5, r1, 0 - adds r0, r5 - add r6, sp, 0x8 - strh r0, [r6] - movs r0, 0x6 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - adds r0, r5 - mov r1, sp - adds r1, 0xA - strh r0, [r1] - movs r0, 0x7 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - adds r0, r5 - add r1, sp, 0xC - strh r0, [r1] - movs r0, 0x7 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - ldr r1, =0x00000101 - adds r0, r1 - mov r1, sp - adds r1, 0xE - strh r0, [r1] - mov r0, sp - adds r1, r6, 0 - movs r2, 0x8 - bl memcpy - lsls r4, 1 - mov r1, sp - adds r0, r1, r4 - ldrh r0, [r0] - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E3A74 - - thumb_func_start sub_80E3AE8 -sub_80E3AE8: @ 80E3AE8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_80E3A74 - lsls r0, 16 - ldr r2, =gPlttBufferFaded - lsrs r0, 15 - adds r2, r0, r2 - ldr r1, =gPlttBufferUnfaded - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E3AE8 - - thumb_func_start sub_80E3B10 -sub_80E3B10: @ 80E3B10 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - movs r3, 0 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - movs r1, 0x1 - strh r1, [r0, 0xC] - movs r2, 0x4 - strh r2, [r0, 0xE] - movs r1, 0x2 - strh r1, [r0, 0x10] - strh r3, [r0, 0x12] - strh r2, [r0, 0x14] - bx lr - thumb_func_end sub_80E3B10 - - thumb_func_start sub_80E3B30 -sub_80E3B30: @ 80E3B30 - push {r4-r6,lr} - adds r5, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080E3B48 - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAnim -_080E3B48: - ldrh r0, [r5, 0x36] - movs r1, 0xFF - ands r1, r0 - adds r6, r5, 0 - adds r6, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r6] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6] - movs r0, 0x2E - ldrsh r4, [r5, r0] - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _080E3B7C - ldrb r0, [r6] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r6] -_080E3B7C: - ldrb r1, [r6] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080E3BAC - movs r1, 0x36 - ldrsh r0, [r5, r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _080E3BAC - movs r2, 0x2E - ldrsh r1, [r5, r2] - movs r2, 0x32 - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _080E3BAC - movs r0, 0x30 - ldrsh r1, [r5, r0] - movs r2, 0x34 - ldrsh r0, [r5, r2] - cmp r1, r0 - beq _080E3BB6 -_080E3BAC: - movs r0, 0 - strh r0, [r5, 0x38] - movs r0, 0x2 - strh r0, [r5, 0x3A] - strh r0, [r5, 0x3C] -_080E3BB6: - ldrh r0, [r5, 0x3C] - subs r0, 0x1 - strh r0, [r5, 0x3C] - lsls r0, 16 - cmp r0, 0 - bne _080E3BDE - ldrh r1, [r5, 0x3A] - ldrh r2, [r5, 0x38] - adds r0, r1, r2 - strh r0, [r5, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - beq _080E3BD6 - cmp r0, 0 - bne _080E3BDA -_080E3BD6: - negs r0, r1 - strh r0, [r5, 0x3A] -_080E3BDA: - movs r0, 0x2 - strh r0, [r5, 0x3C] -_080E3BDE: - movs r1, 0x36 - ldrsh r0, [r5, r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _080E3C14 - ldrh r4, [r5, 0x38] - lsls r5, r4, 24 - lsrs r5, 24 - lsls r4, 16 - asrs r4, 17 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r2, =0x01010000 - adds r0, r2 - lsrs r0, 16 - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r5, 0 - bl sub_80B609C -_080E3C14: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E3B30 - - thumb_func_start sub_80E3C20 -sub_80E3C20: @ 80E3C20 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, =gUnknown_0858BED4 - mov r0, sp - movs r2, 0x8 - bl memcpy - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080E3C44 - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _080E3C52 -_080E3C44: - movs r0, 0x8 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - strh r0, [r4, 0x30] -_080E3C52: - movs r1, 0x30 - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x24] - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E3C20 - - thumb_func_start sub_80E3C6C -sub_80E3C6C: @ 80E3C6C - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, =gUnknown_0858BEDC - mov r0, sp - movs r2, 0x8 - bl memcpy - bl sub_80E4A60 - lsls r0, 24 - ldrh r1, [r4, 0x2E] - lsls r1, 24 - cmp r0, r1 - beq _080E3C98 - movs r0, 0 - strh r0, [r4, 0x26] - strh r0, [r4, 0x30] - b _080E3CBE - .pool -_080E3C98: - movs r1, 0x30 - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080E3CC0 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - strh r0, [r4, 0x30] - movs r0, 0 -_080E3CBE: - strh r0, [r4, 0x32] -_080E3CC0: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80E3C6C - - thumb_func_start sub_80E3CC8 -sub_80E3CC8: @ 80E3CC8 - push {lr} - bl sub_80E3CE4 - bl sub_80E3F8C - bl sub_80E4218 - bl sub_80E4290 - bl sub_80E4354 - pop {r0} - bx r0 - thumb_func_end sub_80E3CC8 - - thumb_func_start sub_80E3CE4 -sub_80E3CE4: @ 80E3CE4 - push {r4-r6,lr} - ldr r0, =gUnknown_0858C138 - movs r1, 0x26 - movs r2, 0x58 - movs r3, 0x1 - bl CreateSprite - ldr r5, =gUnknown_02039F94 - ldr r1, [r5] - ldr r4, =0x00001e23 - adds r1, r4 - strb r0, [r1] - movs r0, 0x1 - bl sub_80E3E3C - ldr r6, =gSprites - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r3, [r1, 0x5] - movs r2, 0xD - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - movs r3, 0x4 - orrs r0, r3 - strb r0, [r1, 0x5] - ldr r0, [r5] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0, 0x1] - ands r2, r1 - orrs r2, r3 - strb r2, [r0, 0x1] - ldr r2, [r5] - adds r2, r4 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x1 - strh r1, [r0, 0x3A] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x2 - strh r1, [r0, 0x3A] - movs r0, 0 - movs r1, 0 - bl sub_80E3D78 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E3CE4 - - thumb_func_start sub_80E3D78 -sub_80E3D78: @ 80E3D78 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsls r1, 16 - lsrs r7, r1, 16 - ldr r1, =gUnknown_02039F94 - ldr r1, [r1] - ldr r2, =0x00001e23 - adds r1, r2 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r2, =gSprites - adds r5, r1, r2 - lsrs r1, r0, 16 - mov r8, r1 - asrs r6, r0, 16 - ldr r4, =gUnknown_0858BEA0 - bl sub_80E3274 - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - ldrb r0, [r0] - cmp r6, r0 - bge _080E3DD8 - bl sub_80E3274 - ldr r1, =gUnknown_0858BEA3 - lsls r0, 24 - lsrs r0, 21 - adds r0, r6, r0 - adds r0, r1 - ldrb r0, [r0] - adds r0, 0x26 - b _080E3DDA - .pool -_080E3DD8: - movs r0, 0 -_080E3DDA: - strh r0, [r5, 0x20] - lsls r0, r7, 16 - asrs r0, 12 - adds r0, 0x58 - strh r0, [r5, 0x22] - ldrh r0, [r5, 0x2E] - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x30] - strh r0, [r5, 0x34] - mov r2, r8 - strh r2, [r5, 0x2E] - strh r7, [r5, 0x30] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E3D78 - - thumb_func_start sub_80E3DFC -sub_80E3DFC: @ 80E3DFC - ldr r2, =gUnknown_02039F94 - ldr r2, [r2] - ldr r3, =0x00001e23 - adds r2, r3 - ldrb r3, [r2] - lsls r2, r3, 4 - adds r2, r3 - lsls r2, 2 - ldr r3, =gSprites - adds r2, r3 - ldrh r3, [r2, 0x2E] - strh r3, [r0] - ldrh r0, [r2, 0x30] - strh r0, [r1] - bx lr - .pool - thumb_func_end sub_80E3DFC - - thumb_func_start sub_80E3E28 -sub_80E3E28: @ 80E3E28 - push {lr} - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_80E3D78 - pop {r0} - bx r0 - thumb_func_end sub_80E3E28 - - thumb_func_start sub_80E3E3C -sub_80E3E3C: @ 80E3E3C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gSprites - ldr r1, =gUnknown_02039F94 - ldr r4, [r1] - ldr r1, =0x00001e23 - adds r4, r1 - ldrb r1, [r4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r5 - ldrh r3, [r2, 0x36] - ldr r1, =0xffffff00 - ands r1, r3 - strh r1, [r2, 0x36] - ldrb r2, [r4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - ldrh r2, [r1, 0x36] - orrs r0, r2 - strh r0, [r1, 0x36] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0 - bl StartSpriteAnim - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E3E3C - - thumb_func_start sub_80E3E94 -sub_80E3E94: @ 80E3E94 - push {r4,r5,lr} - lsls r0, 24 - ldr r5, =gSprites - ldr r1, =gUnknown_02039F94 - ldr r4, [r1] - ldr r1, =0x00001e23 - adds r4, r1 - ldrb r1, [r4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r5 - ldrh r3, [r2, 0x36] - movs r1, 0xFF - ands r1, r3 - strh r1, [r2, 0x36] - ldrb r2, [r4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - lsrs r0, 16 - ldrh r2, [r1, 0x36] - orrs r0, r2 - strh r0, [r1, 0x36] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E3E94 - - thumb_func_start sub_80E3ED8 -sub_80E3ED8: @ 80E3ED8 - push {lr} - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e23 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E3ED8 - - thumb_func_start sub_80E3F04 -sub_80E3F04: @ 80E3F04 - ldr r2, =gSprites - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e23 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - lsrs r0, 31 - bx lr - .pool - thumb_func_end sub_80E3F04 - - thumb_func_start sub_80E3F30 -sub_80E3F30: @ 80E3F30 - push {r4,r5,lr} - sub sp, 0x4 - mov r5, sp - adds r5, 0x2 - mov r0, sp - adds r1, r5, 0 - bl sub_80E3DFC - mov r0, sp - movs r1, 0 - ldrsh r4, [r0, r1] - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - blt _080E3F64 - ldr r0, =gUnknown_0858BEE4 - movs r2, 0 - ldrsh r1, [r5, r2] - adds r1, r0 - ldrb r0, [r1] - b _080E3F66 - .pool -_080E3F64: - movs r0, 0 -_080E3F66: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80E3F30 - - thumb_func_start sub_80E3F70 -sub_80E3F70: @ 80E3F70 - push {r4,lr} - ldr r4, =gUnknown_0858BEA0 - bl sub_80E3274 - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - ldrb r0, [r0] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E3F70 - - thumb_func_start sub_80E3F8C -sub_80E3F8C: @ 80E3F8C - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r0, =gUnknown_0858C0C0 - movs r1, 0xCC - movs r2, 0x58 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_02039F94 - ldr r1, [r1] - ldr r2, =0x00001e24 - adds r1, r2 - strb r0, [r1] - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - ldr r0, =gSprites - mov r8, r0 - add r5, r8 - ldr r1, =gUnknown_0858C050 - adds r0, r5, 0 - bl SetSubspriteTables - adds r1, r5, 0 - adds r1, 0x3E - ldrb r0, [r1] - movs r6, 0x4 - orrs r0, r6 - strb r0, [r1] - ldr r0, =gUnknown_0858C0F0 - movs r1, 0xCC - movs r2, 0x54 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x3A] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - add r4, r8 - ldr r1, =gUnknown_0858C058 - adds r0, r4, 0 - bl SetSubspriteTables - adds r4, 0x3E - ldrb r0, [r4] - orrs r0, r6 - strb r0, [r4] - ldr r0, =gUnknown_0858C0D8 - movs r1, 0xCC - movs r2, 0x53 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - add r2, r8 - ldrb r3, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r6 - strb r1, [r2, 0x5] - strh r0, [r5, 0x3C] - adds r2, 0x3E - ldrb r0, [r2] - orrs r0, r6 - strb r0, [r2] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E3F8C - - thumb_func_start sub_80E4050 -sub_80E4050: @ 80E4050 - ldr r0, =gUnknown_02039F94 - ldr r2, [r0] - ldr r1, =0x00001e24 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x2 - strh r1, [r0, 0x2E] - ldr r1, =0x00001e22 - adds r2, r1 - ldrb r1, [r2] - strh r1, [r0, 0x30] - bx lr - .pool - thumb_func_end sub_80E4050 - - thumb_func_start sub_80E4084 -sub_80E4084: @ 80E4084 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, =gUnknown_0858BEE8 -_080E408A: - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080E408A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4084 - - thumb_func_start sub_80E40AC -sub_80E40AC: @ 80E40AC - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x3A - ldrsh r0, [r6, r1] - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - ldr r1, =gSprites - adds r5, r1 - movs r2, 0x3C - ldrsh r0, [r6, r2] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r1 - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e22 - adds r0, r1 - ldrb r0, [r0] - bl sub_80E3244 - lsls r0, 24 - lsrs r0, 24 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_80E41B8 - ldrh r0, [r6, 0x2E] - adds r0, 0x1 - strh r0, [r6, 0x2E] - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E40AC - - thumb_func_start sub_80E4100 -sub_80E4100: @ 80E4100 - movs r0, 0 - bx lr - thumb_func_end sub_80E4100 - - thumb_func_start sub_80E4104 -sub_80E4104: @ 80E4104 - push {r4,r5,lr} - adds r3, r0, 0 - movs r0, 0x3A - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r2, =gSprites - adds r4, r0, r2 - movs r0, 0x3C - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r5, r0, r2 - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _080E4168 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - ldr r0, =0x0000fffc - strh r0, [r4, 0x26] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r3, 0x30] - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - movs r1, 0x3 - bl __modsi3 - lsls r0, 24 - lsrs r0, 24 - bl sub_80E3244 - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80E41B8 -_080E4168: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E4104 - - thumb_func_start sub_80E4178 -sub_80E4178: @ 80E4178 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x3A - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r2, r0, r1 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - ldrh r0, [r2, 0x26] - adds r0, 0x1 - strh r0, [r2, 0x26] - lsls r0, 16 - cmp r0, 0 - blt _080E41AC - movs r0, 0 - strh r0, [r2, 0x26] - movs r0, 0x1 - strh r0, [r4, 0x2E] -_080E41AC: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E4178 - - thumb_func_start sub_80E41B8 -sub_80E41B8: @ 80E41B8 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gUnknown_0858BEF8 - lsls r4, r5, 1 - adds r0, r4, r0 - ldrh r0, [r0] - bl IndexOfSpritePaletteTag - lsls r0, 4 - mov r1, r8 - ldrb r2, [r1, 0x5] - movs r1, 0xF - ands r1, r2 - orrs r1, r0 - mov r0, r8 - strb r1, [r0, 0x5] - ldr r0, =gUnknown_0858BEFE - adds r4, r0 - ldrh r0, [r4] - bl GetSpriteTileStartByTag - adds r1, r6, 0 - adds r1, 0x40 - strh r0, [r1] - adds r6, 0x42 - movs r1, 0x3F - ands r1, r5 - ldrb r2, [r6] - movs r0, 0x40 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E41B8 - - thumb_func_start sub_80E4218 -sub_80E4218: @ 80E4218 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r0, =gUnknown_0858C108 - movs r1, 0xCC - movs r2, 0x74 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r6, =gSprites - adds r4, r6 - ldr r0, =gUnknown_0858C070 - mov r8, r0 - adds r0, r4, 0 - mov r1, r8 - bl SetSubspriteTables - adds r4, 0x3E - ldrb r0, [r4] - movs r5, 0x4 - orrs r0, r5 - strb r0, [r4] - ldr r0, =gUnknown_0858C120 - movs r1, 0xCC - movs r2, 0x8C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r6 - adds r0, r4, 0 - mov r1, r8 - bl SetSubspriteTables - adds r4, 0x3E - ldrb r0, [r4] - orrs r0, r5 - strb r0, [r4] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4218 - - thumb_func_start sub_80E4290 -sub_80E4290: @ 80E4290 - push {r4-r6,lr} - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r4, =0x00001e16 - adds r0, r4 - ldrh r1, [r0] - subs r1, 0x5 - ldr r0, =gUnknown_0858C150 - lsls r1, 16 - asrs r1, 16 - movs r2, 0x38 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - ldr r3, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r5] - adds r4, r0, r4 - ldrh r1, [r4] - movs r5, 0 - ldr r2, =0x00001e28 - adds r0, r2 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r5, r0 - bcs _080E4334 - adds r6, r3, 0 -_080E42E2: - lsls r1, 16 - asrs r4, r1, 16 - movs r0, 0xC0 - lsls r0, 10 - adds r1, r0 - asrs r1, 16 - ldr r0, =gUnknown_0858C168 - movs r2, 0x3C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - strh r5, [r0, 0x2E] - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x8 - lsls r4, 16 - lsrs r1, r4, 16 - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r2, =0x00001e28 - adds r0, r2 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r5, r0 - bcc _080E42E2 -_080E4334: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4290 - - thumb_func_start sub_80E4354 -sub_80E4354: @ 80E4354 - push {lr} - ldr r1, =gUnknown_0858BF04 - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r2, =0x00001e28 - adds r0, r2 - ldr r0, [r0] - ldrb r0, [r0, 0x2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4354 - - thumb_func_start TaskDummy2 -TaskDummy2: @ 80E4380 - bx lr - thumb_func_end TaskDummy2 - - thumb_func_start sub_80E4384 -sub_80E4384: @ 80E4384 - push {lr} - sub sp, 0x4 - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e34 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0 - bl sub_808BD3C - lsls r0, 24 - lsrs r0, 24 - ldr r1, =SpriteCallbackDummy - movs r2, 0 - str r2, [sp] - movs r2, 0x38 - movs r3, 0x25 - bl AddPseudoFieldObject - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x4 - bl StartSpriteAnim - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4384 - - thumb_func_start sub_80E43E0 -sub_80E43E0: @ 80E43E0 - push {r4,lr} - ldr r0, =gUnknown_0858C180 - movs r1, 0x38 - movs r2, 0x29 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - ldr r1, =gUnknown_0858C078 - adds r0, r4, 0 - bl SetSubspriteTables - ldrb r0, [r4, 0x5] - movs r1, 0xC - orrs r0, r1 - strb r0, [r4, 0x5] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E43E0 - - thumb_func_start sub_80E4420 -sub_80E4420: @ 80E4420 - push {lr} - sub sp, 0xC - bl sub_80D2F04 - ldr r0, =gUnknown_02039F94 - ldr r3, [r0] - ldr r1, =0x00001e34 - adds r0, r3, r1 - ldrh r0, [r0] - ldr r1, =SpriteCallbackDummy - movs r2, 0 - str r2, [sp] - ldr r2, =0x00001e38 - adds r3, r2 - ldr r2, [r3] - str r2, [sp, 0x4] - movs r2, 0x1 - str r2, [sp, 0x8] - movs r2, 0x38 - movs r3, 0x28 - bl sub_80D2CC4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x5] - movs r2, 0xC - orrs r0, r2 - strb r0, [r1, 0x5] - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4420 - - thumb_func_start sub_80E447C -sub_80E447C: @ 80E447C - push {lr} - sub sp, 0x4 - ldr r1, =SpriteCallbackDummy - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r2, 0x38 - movs r3, 0x25 - bl AddPseudoFieldObject - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x4 - bl StartSpriteAnim - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E447C - - thumb_func_start sub_80E44BC -sub_80E44BC: @ 80E44BC - push {r4,r5,lr} - bl sub_80E460C - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_80E3F30 - lsls r0, 24 - lsrs r0, 24 - cmp r4, 0x8 - bne _080E44DA - bl sub_80E45E0 - b _080E44F6 -_080E44DA: - cmp r4, 0x6 - bne _080E44E4 - bl sub_80E4AF8 - b _080E4504 -_080E44E4: - cmp r5, 0x9 - beq _080E4500 - ldr r1, =gUnknown_0858BF18 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 -_080E44F6: - lsls r0, 24 - lsrs r0, 24 - b _080E4506 - .pool -_080E4500: - bl sub_80E3E28 -_080E4504: - movs r0, 0 -_080E4506: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80E44BC - - thumb_func_start sub_80E450C -sub_80E450C: @ 80E450C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl sub_80E3948 - cmp r4, 0x5 - bne _080E4546 - bl sub_80E4B54 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80E3ED8 - cmp r4, 0 - beq _080E4546 - movs r0, 0x2 - bl sub_80E4630 - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e10 - adds r0, r1 - movs r1, 0x3 - strb r1, [r0] -_080E4546: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E450C - - thumb_func_start sub_80E4558 -sub_80E4558: @ 80E4558 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0x1 - movs r2, 0 - bl sub_80E3948 - cmp r4, 0x5 - beq _080E4572 - movs r0, 0 - b _080E457A -_080E4572: - bl sub_80E45E0 - lsls r0, 24 - lsrs r0, 24 -_080E457A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80E4558 - - thumb_func_start sub_80E4580 -sub_80E4580: @ 80E4580 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl sub_80E3948 - cmp r4, 0x5 - bne _080E459A - bl sub_80E4AF8 -_080E459A: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80E4580 - - thumb_func_start sub_80E45A4 -sub_80E45A4: @ 80E45A4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0 - bl sub_80E3948 - cmp r4, 0x5 - beq _080E45BE - movs r0, 0 - b _080E45D2 -_080E45BE: - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e10 - adds r0, r1 - movs r1, 0x6 - strb r1, [r0] - movs r0, 0x1 -_080E45D2: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E45A4 - - thumb_func_start sub_80E45E0 -sub_80E45E0: @ 80E45E0 - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r1, =0x00001e10 - adds r0, r1 - movs r1, 0x4 - strb r1, [r0] - movs r0, 0x1 - bx lr - .pool - thumb_func_end sub_80E45E0 - - thumb_func_start sub_80E45F8 -sub_80E45F8: @ 80E45F8 - push {lr} - ldr r0, =sub_80E465C - movs r1, 0x1 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E45F8 - - thumb_func_start sub_80E460C -sub_80E460C: @ 80E460C - push {lr} - ldr r0, =sub_80E465C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0xA] - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E460C - - thumb_func_start sub_80E4630 -sub_80E4630: @ 80E4630 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =sub_80E465C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4630 - - thumb_func_start sub_80E465C -sub_80E465C: @ 80E465C - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gUnknown_0858BF28 - ldr r2, =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E465C - - thumb_func_start sub_80E468C -sub_80E468C: @ 80E468C - movs r1, 0 - strh r1, [r0, 0xA] - bx lr - thumb_func_end sub_80E468C - - thumb_func_start sub_80E4692 -sub_80E4692: @ 80E4692 - push {lr} - adds r2, r0, 0 - movs r0, 0 - strh r0, [r2, 0xA] - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080E46B4 - movs r0, 0x5 - strh r0, [r2, 0xA] - b _080E46E4 - .pool -_080E46B4: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080E46C2 - movs r0, 0x6 - strh r0, [r2, 0xA] - b _080E46E4 -_080E46C2: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080E46D0 - movs r0, 0x8 - strh r0, [r2, 0xA] - b _080E46E4 -_080E46D0: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080E46DE - movs r0, 0x9 - strh r0, [r2, 0xA] - b _080E46E4 -_080E46DE: - adds r0, r2, 0 - bl sub_80E46F0 -_080E46E4: - pop {r0} - bx r0 - thumb_func_end sub_80E4692 - - thumb_func_start sub_80E46E8 -sub_80E46E8: @ 80E46E8 - movs r1, 0 - strh r1, [r0, 0xA] - bx lr - thumb_func_end sub_80E46E8 - - thumb_func_start sub_80E46F0 -sub_80E46F0: @ 80E46F0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x34 - mov r9, r0 - ldr r1, =gUnknown_0858BF34 - mov r0, sp - movs r2, 0xA - bl memcpy - add r0, sp, 0xC - mov r10, r0 - ldr r1, =gUnknown_0858BF3E - movs r2, 0xA - bl memcpy - mov r1, sp - adds r1, 0x18 - str r1, [sp, 0x2C] - ldr r1, =gUnknown_0858BF48 - ldr r0, [sp, 0x2C] - movs r2, 0x8 - bl memcpy - mov r2, sp - adds r2, 0x20 - str r2, [sp, 0x30] - ldr r1, =gUnknown_0858BF50 - adds r0, r2, 0 - movs r2, 0x6 - bl memcpy - add r4, sp, 0x28 - mov r5, sp - adds r5, 0x2A - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80E3DFC - ldr r0, =gMain - ldrh r2, [r0, 0x30] - movs r0, 0x40 - ands r0, r2 - lsls r0, 16 - lsrs r0, 16 - negs r0, r0 - lsrs r1, r0, 31 - movs r0, 0x80 - ands r0, r2 - adds r6, r4, 0 - cmp r0, 0 - beq _080E475E - movs r1, 0x2 -_080E475E: - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - beq _080E4768 - movs r1, 0x3 -_080E4768: - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - beq _080E4772 - movs r1, 0x4 -_080E4772: - ldrh r0, [r6] - mov r8, r0 - lsls r1, 1 - mov r2, sp - adds r7, r2, r1 - ldrh r0, [r7] - add r0, r8 - strh r0, [r6] - add r1, r10 - ldrh r0, [r1] - ldrh r1, [r5] - adds r0, r1 - strh r0, [r5] - movs r2, 0 - ldrsh r0, [r6, r2] - cmp r0, 0 - bge _080E479E - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6] -_080E479E: - movs r0, 0 - ldrsh r4, [r6, r0] - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - ble _080E47B2 - movs r0, 0 - strh r0, [r6] -_080E47B2: - movs r1, 0 - ldrsh r0, [r7, r1] - cmp r0, 0 - beq _080E481E - movs r2, 0 - ldrsh r4, [r6, r2] - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _080E47F0 - ldrh r0, [r5] - mov r1, r9 - strh r0, [r1, 0xC] - movs r2, 0 - ldrsh r0, [r5, r2] - lsls r0, 1 - ldr r1, [sp, 0x2C] - adds r0, r1, r0 - b _080E481A - .pool -_080E47F0: - mov r2, r8 - lsls r4, r2, 16 - asrs r4, 16 - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _080E481E - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _080E4810 - mov r2, r9 - ldrh r0, [r2, 0xC] - b _080E481C -_080E4810: - movs r1, 0 - ldrsh r0, [r5, r1] - lsls r0, 1 - ldr r2, [sp, 0x30] - adds r0, r2, r0 -_080E481A: - ldrh r0, [r0] -_080E481C: - strh r0, [r5] -_080E481E: - movs r0, 0 - ldrsh r4, [r6, r0] - bl sub_80E3F70 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _080E4860 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - bge _080E483A - movs r0, 0x2 - strh r0, [r5] -_080E483A: - movs r2, 0 - ldrsh r0, [r5, r2] - cmp r0, 0x2 - ble _080E4846 - movs r0, 0 - strh r0, [r5] -_080E4846: - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080E4856 - movs r0, 0x1 - mov r2, r9 - strh r0, [r2, 0xC] - b _080E4878 -_080E4856: - cmp r0, 0x2 - bne _080E4878 - mov r1, r9 - strh r0, [r1, 0xC] - b _080E4878 -_080E4860: - movs r2, 0 - ldrsh r0, [r5, r2] - cmp r0, 0 - bge _080E486C - movs r0, 0x3 - strh r0, [r5] -_080E486C: - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x3 - ble _080E4878 - movs r0, 0 - strh r0, [r5] -_080E4878: - movs r2, 0 - ldrsh r0, [r6, r2] - movs r2, 0 - ldrsh r1, [r5, r2] - bl sub_80E3D78 - add sp, 0x34 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80E46F0 - - thumb_func_start sub_80E4894 -sub_80E4894: @ 80E4894 - push {r4,r5,lr} - sub sp, 0xC - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r4, =0x00001e14 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, [r5] - adds r0, r1, r4 - ldrb r0, [r0] - ldr r2, =0x00001e28 - adds r1, r2 - ldr r1, [r1] - ldr r2, [r1, 0x8] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x8 - bl PrintTextOnWindow - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl PutWindowTilemap - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4894 - - thumb_func_start sub_80E48E8 -sub_80E48E8: @ 80E48E8 - push {r4,r5,lr} - sub sp, 0x2C - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r1, =0x00001e34 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0xB - muls r1, r0 - ldr r0, =gSpeciesNames - adds r1, r0 - add r0, sp, 0xC - bl StringCopy - ldr r0, [r5] - ldr r1, =0x00001e28 - adds r0, r1 - ldr r0, [r0] - ldr r1, [r0, 0x8] - add r0, sp, 0xC - movs r2, 0xF - bl StringAppendN - ldr r0, [r5] - ldr r4, =0x00001e14 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - add r2, sp, 0xC - movs r3, 0x8 - bl PrintTextOnWindow - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl PutWindowTilemap - add sp, 0x2C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E48E8 - - thumb_func_start sub_80E4964 -sub_80E4964: @ 80E4964 - push {lr} - ldr r1, =gUnknown_0858BF58 - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r2, =0x00001e2c - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4964 - - thumb_func_start sub_80E498C -sub_80E498C: @ 80E498C - push {lr} - ldr r1, =gUnknown_0858BF6C - ldr r0, =gUnknown_02039F94 - ldr r0, [r0] - ldr r2, =0x00001e28 - adds r0, r2 - ldr r0, [r0] - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E498C - - thumb_func_start TaskDummy3 -TaskDummy3: @ 80E49B8 - bx lr - thumb_func_end TaskDummy3 - - thumb_func_start sub_80E49BC -sub_80E49BC: @ 80E49BC - push {r4,r5,lr} - sub sp, 0x10 - movs r4, 0 - ldr r1, =gText_MaleSymbol - add r0, sp, 0xC - bl StringCopy - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r1, =0x00001e36 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0xFF - beq _080E4A0C - cmp r0, 0xFE - bne _080E49E6 - ldr r1, =gText_FemaleSymbol - add r0, sp, 0xC - bl StringCopy - movs r4, 0x1 -_080E49E6: - ldr r0, [r5] - ldr r1, =0x00001e13 - adds r0, r1 - ldrb r0, [r0] - lsls r1, r4, 1 - adds r1, r4 - ldr r2, =gUnknown_0858BF74 - adds r1, r2 - str r1, [sp] - movs r1, 0x1 - negs r1, r1 - str r1, [sp, 0x4] - add r1, sp, 0xC - str r1, [sp, 0x8] - movs r1, 0x1 - movs r2, 0x68 - movs r3, 0x1 - bl box_print -_080E4A0C: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E49BC - - thumb_func_start sub_80E4A2C -sub_80E4A2C: @ 80E4A2C - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r6, =gUnknown_0858BE40 - bl sub_80E3274 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 13 - adds r4, r5 - lsls r0, 24 - lsrs r0, 19 - adds r4, r0 - adds r4, r6 - ldrb r0, [r4] - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E4A2C - - thumb_func_start sub_80E4A60 -sub_80E4A60: @ 80E4A60 - push {r4,r5,lr} - movs r2, 0 - ldr r0, =gUnknown_02039F94 - ldr r4, [r0] - ldr r3, =0x00001e28 - adds r1, r4, r3 - ldr r1, [r1] - ldrb r3, [r1, 0x1] - adds r5, r0, 0 - cmp r2, r3 - bcs _080E4A9A - movs r0, 0xC0 - lsls r0, 5 - adds r1, r4, r0 -_080E4A7C: - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _080E4A90 - adds r0, r2, 0 - b _080E4AAA - .pool -_080E4A90: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r3 - bcc _080E4A7C -_080E4A9A: - ldr r0, [r5] - ldr r1, =0x00001e28 - adds r0, r1 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 -_080E4AAA: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E4A60 - - thumb_func_start sub_80E4AB4 -sub_80E4AB4: @ 80E4AB4 - push {lr} - ldr r0, =gUnknown_02039F94 - ldr r2, [r0] - ldr r1, =0x00001e28 - adds r0, r2, r1 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - subs r0, 0x1 - lsls r1, r0, 24 - cmp r1, 0 - ble _080E4AF0 - movs r0, 0xC0 - lsls r0, 5 - adds r3, r2, r0 -_080E4AD0: - asrs r2, r1, 24 - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0xFF - beq _080E4AE8 - lsrs r0, r1, 24 - b _080E4AF2 - .pool -_080E4AE8: - subs r0, r2, 0x1 - lsls r1, r0, 24 - cmp r1, 0 - bgt _080E4AD0 -_080E4AF0: - movs r0, 0 -_080E4AF2: - pop {r1} - bx r1 - thumb_func_end sub_80E4AB4 - - thumb_func_start sub_80E4AF8 -sub_80E4AF8: @ 80E4AF8 - push {r4-r6,lr} - bl sub_80E4AB4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r6, =gUnknown_02039F94 - ldr r0, [r6] - movs r5, 0xC0 - lsls r5, 5 - adds r0, r5 - adds r0, r4 - movs r1, 0 - strb r1, [r0] - bl sub_80E4D10 - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - ldr r0, [r6] - adds r0, r5 - adds r0, r4 - movs r1, 0xFF - strb r1, [r0] - bl sub_80E3F30 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080E4B38 - cmp r0, 0x2 - bne _080E4B42 -_080E4B38: - movs r0, 0x1 - movs r1, 0 - movs r2, 0x1 - bl sub_80E3948 -_080E4B42: - movs r0, 0x17 - bl PlaySE - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4AF8 - - thumb_func_start sub_80E4B54 -sub_80E4B54: @ 80E4B54 - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl sub_80E3DFC - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl sub_80E4A2C - lsls r0, 24 - lsrs r0, 24 - bl sub_80E4BBC - bl sub_80E4D10 - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r0, 0x5 - bl PlaySE - bl sub_80E4AB4 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_02039F94 - ldr r1, [r1] - ldr r2, =0x00001e28 - adds r1, r2 - ldr r1, [r1] - ldrb r1, [r1, 0x1] - subs r1, 0x1 - cmp r0, r1 - bne _080E4BB0 - movs r0, 0x1 - b _080E4BB2 - .pool -_080E4BB0: - movs r0, 0 -_080E4BB2: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80E4B54 - - thumb_func_start sub_80E4BBC -sub_80E4BBC: @ 80E4BBC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80E4A60 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_02039F94 - ldr r1, [r1] - movs r2, 0xC0 - lsls r2, 5 - adds r1, r2 - adds r1, r0 - strb r4, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4BBC - - thumb_func_start sub_80E4BE4 -sub_80E4BE4: @ 80E4BE4 - push {r4,r5,lr} - movs r2, 0 - ldr r1, =gUnknown_02039F94 - ldr r0, [r1] - ldr r4, =0x00001e28 - adds r0, r4 - ldr r0, [r0] - adds r5, r1, 0 - b _080E4C44 - .pool -_080E4C00: - ldr r1, [r1] - movs r0, 0xC0 - lsls r0, 5 - adds r3, r1, r0 - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080E4C34 - cmp r0, 0xFF - beq _080E4C34 - ldr r2, =0x00001e30 - adds r0, r1, r2 - ldr r0, [r0] - adds r1, r4 - ldr r1, [r1] - ldrb r2, [r1, 0x1] - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - adds r1, r3, 0 - bl StringCopyN - b _080E4C4A - .pool -_080E4C34: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r1, r5, 0 - ldr r0, [r1] - ldr r4, =0x00001e28 - adds r0, r4 - ldr r0, [r0] -_080E4C44: - ldrb r0, [r0, 0x1] - cmp r2, r0 - bcc _080E4C00 -_080E4C4A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4BE4 - - thumb_func_start choose_name_or_words_screen_load_bg_tile_patterns -choose_name_or_words_screen_load_bg_tile_patterns: @ 80E4C54 - push {r4-r6,lr} - ldr r0, =gUnknown_08DD3838 - ldr r6, =gUnknown_02039F94 - ldr r1, [r6] - ldr r4, =0x00001810 - adds r1, r4 - bl LZ77UnCompWram - ldr r1, [r6] - adds r1, r4 - movs r5, 0xC0 - lsls r5, 3 - movs r0, 0x1 - adds r2, r5, 0 - movs r3, 0 - bl LoadBgTiles - ldr r1, [r6] - adds r1, r4 - movs r0, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl LoadBgTiles - ldr r1, [r6] - adds r1, r4 - movs r0, 0x3 - adds r2, r5, 0 - movs r3, 0 - bl LoadBgTiles - ldr r0, =gUnknown_0858C1C8 - bl LoadSpriteSheets - ldr r0, =gUnknown_0858C230 - bl LoadSpritePalettes - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end choose_name_or_words_screen_load_bg_tile_patterns - - thumb_func_start sub_80E4CB8 -sub_80E4CB8: @ 80E4CB8 - push {lr} - bl sub_80E45F8 - bl sub_80E3920 - pop {r0} - bx r0 - thumb_func_end sub_80E4CB8 - - thumb_func_start choose_name_or_words_screen_apply_bg_pals -choose_name_or_words_screen_apply_bg_pals: @ 80E4CC8 - push {lr} - ldr r0, =gUnknown_08DD3778 - movs r1, 0 - movs r2, 0xC0 - bl LoadPalette - ldr r0, =gUnknown_0858BD78 - movs r1, 0xA0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0x2 - bl stdpal_get - movs r1, 0xB0 - movs r2, 0x20 - bl LoadPalette - pop {r0} - bx r0 - .pool - thumb_func_end choose_name_or_words_screen_apply_bg_pals - - thumb_func_start sub_80E4CF8 -sub_80E4CF8: @ 80E4CF8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - pop {r0} - bx r0 - thumb_func_end sub_80E4CF8 - - thumb_func_start nullsub_10 -nullsub_10: @ 80E4D0C - bx lr - thumb_func_end nullsub_10 - - thumb_func_start sub_80E4D10 -sub_80E4D10: @ 80E4D10 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - ldr r7, =gUnknown_02039F94 - ldr r1, [r7] - ldr r2, =0x00001e28 - adds r0, r1, r2 - ldr r0, [r0] - ldrb r6, [r0, 0x1] - subs r2, 0x12 - adds r0, r1, r2 - ldrh r0, [r0] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldr r0, =0x00001e13 - adds r1, r0 - ldrb r0, [r1] - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r4, 0 - cmp r4, r6 - bcs _080E4DA6 - add r5, sp, 0xC - mov r10, r4 - ldr r0, =gExpandedPlaceholder_Empty - ldrb r0, [r0] - mov r8, r0 -_080E4D52: - ldr r0, [r7] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - strb r0, [r5] - mov r2, r8 - strb r2, [r5, 0x1] - ldrb r0, [r5] - bl sub_80E503C - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - cmp r0, 0x1 - bne _080E4D76 - movs r1, 0x2 -_080E4D76: - ldr r0, [r7] - ldr r2, =0x00001e13 - adds r0, r2 - ldrb r0, [r0] - lsls r3, r4, 3 - add r3, r9 - adds r3, r1 - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - mov r1, r10 - str r1, [sp, 0x8] - movs r1, 0x1 - add r2, sp, 0xC - bl PrintTextOnWindow - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _080E4D52 -_080E4DA6: - bl sub_80E498C - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r4, =0x00001e13 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl PutWindowTilemap - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4D10 - - thumb_func_start sub_80E4DE4 -sub_80E4DE4: @ 80E4DE4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, =gUnknown_0858BF88 - adds r0, r5, r0 - ldrb r1, [r0] - adds r0, r6, 0 - bl FillWindowPixelBuffer - movs r4, 0 - ldr r1, =gUnknown_0858BF8C - lsls r0, r5, 2 - adds r0, r1 - ldr r7, [r0] - ldr r0, =gUnknown_0858C198 - mov r8, r0 -_080E4E0E: - lsls r3, r4, 4 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - str r7, [sp] - movs r0, 0 - str r0, [sp, 0x4] - lsls r0, r4, 2 - lsls r1, r5, 4 - adds r0, r1 - add r0, r8 - ldr r0, [r0] - str r0, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x1 - movs r2, 0 - bl box_print - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080E4E0E - adds r0, r6, 0 - bl PutWindowTilemap - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4DE4 - - thumb_func_start sub_80E4E5C -sub_80E4E5C: @ 80E4E5C - push {r4-r6,lr} - movs r0, 0xA - bl GetGpuReg - adds r4, r0, 0 - movs r5, 0x3 - ands r4, r5 - movs r0, 0xC - bl GetGpuReg - ands r0, r5 - cmp r4, r0 - bls _080E4E8C - movs r5, 0x1 - movs r6, 0x1 - ldr r1, =gUnknown_02039F94 - ldr r0, [r1] - ldr r2, =0x00001e11 - b _080E4E96 - .pool -_080E4E8C: - movs r5, 0x2 - movs r6, 0x2 - ldr r1, =gUnknown_02039F94 - ldr r0, [r1] - ldr r2, =0x00001e12 -_080E4E96: - adds r0, r2 - ldrb r4, [r0] - adds r0, r1, 0 - ldr r1, =gUnknown_0858BF98 - ldr r0, [r0] - ldr r2, =0x00001e22 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r5, 0 - bl sub_80E4CF8 - bl sub_80E3254 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80E4DE4 - bl sub_80E3254 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl nullsub_10 - adds r0, r6, 0 - bl CopyBgTilemapBufferToVram - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4E5C - - thumb_func_start sub_80E4EF0 -sub_80E4EF0: @ 80E4EF0 - push {r4,r5,lr} - sub sp, 0x10 - ldr r1, =gUnknown_0858BFA4 - add r0, sp, 0xC - movs r2, 0x3 - bl memcpy - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r4, =0x00001e15 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0xFF - bl FillWindowPixelBuffer - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - add r1, sp, 0xC - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - ldr r1, =gText_MoveOkBack - str r1, [sp, 0x8] - movs r1, 0 - movs r2, 0x2 - movs r3, 0x1 - bl box_print - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl PutWindowTilemap - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4EF0 - - thumb_func_start sub_80E4F58 -sub_80E4F58: @ 80E4F58 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80E4F58 - - thumb_func_start sub_80E4F70 -sub_80E4F70: @ 80E4F70 - push {lr} - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - pop {r0} - bx r0 - thumb_func_end sub_80E4F70 - - thumb_func_start sub_80E4F84 -sub_80E4F84: @ 80E4F84 - push {lr} - ldr r0, =sub_80E4F94 - bl SetVBlankCallback - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4F84 - - thumb_func_start sub_80E4F94 -sub_80E4F94: @ 80E4F94 - push {r4,r5,lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r5, =gUnknown_02039F94 - ldr r0, [r5] - ldr r1, =0x00001e18 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x16 - bl SetGpuReg - ldr r0, [r5] - ldr r1, =0x00001e1a - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x1A - bl SetGpuReg - movs r0, 0xA - bl GetGpuReg - ldr r4, =0x0000fffc - adds r1, r4, 0 - ands r1, r0 - movs r0, 0xA - bl SetGpuReg - ldr r0, [r5] - ldr r1, =0x00001e1c - adds r0, r1 - ldrh r1, [r0] - movs r0, 0xA - bl SetGpuRegBits - movs r0, 0xC - bl GetGpuReg - ands r4, r0 - movs r0, 0xC - adds r1, r4, 0 - bl SetGpuReg - ldr r0, [r5] - ldr r1, =0x00001e1e - adds r0, r1 - ldrh r1, [r0] - movs r0, 0xC - bl SetGpuRegBits - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E4F94 - - thumb_func_start sub_80E501C -sub_80E501C: @ 80E501C - push {lr} - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - pop {r0} - bx r0 - thumb_func_end sub_80E501C - - thumb_func_start sub_80E503C -sub_80E503C: @ 80E503C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r2, 0 - ldr r0, =gUnknown_0858BDC8 - ldrb r1, [r0] - adds r3, r0, 0 - cmp r1, 0xFF - beq _080E5066 - adds r1, r3, 0 -_080E5050: - adds r0, r2, r1 - ldrb r0, [r0] - cmp r4, r0 - beq _080E5066 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r0, 0xFF - bne _080E5050 -_080E5066: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80E503C - - thumb_func_start sub_80E5074 -sub_80E5074: @ 80E5074 - push {lr} - sub sp, 0x8 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r2, [r1, 0x8] - movs r0, 0 - str r0, [sp] - ldr r0, =sub_8086194 - str r0, [sp, 0x4] - movs r0, 0 - movs r3, 0 - bl DoNamingScreen - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E5074 - - thumb_func_start sub_80E509C -sub_80E509C: @ 80E509C - push {lr} - sub sp, 0x8 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r2, [r1, 0x8] - movs r0, 0 - str r0, [sp] - ldr r0, =sub_8086194 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r3, 0 - bl DoNamingScreen - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E509C - - thumb_func_start sub_80E50C4 -sub_80E50C4: @ 80E50C4 - push {lr} - sub sp, 0x8 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r2, [r1, 0x8] - movs r0, 0 - str r0, [sp] - ldr r0, =sub_8086194 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r3, 0 - bl DoNamingScreen - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E50C4 - - thumb_func_start sub_80E50EC -sub_80E50EC: @ 80E50EC - push {lr} - sub sp, 0x8 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r2, [r1, 0x8] - movs r0, 0 - str r0, [sp] - ldr r0, =sub_8086194 - str r0, [sp, 0x4] - movs r0, 0x3 - movs r3, 0 - bl DoNamingScreen - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E50EC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/new_menu_helpers.s b/asm/new_menu_helpers.s deleted file mode 100755 index d79f7df321..0000000000 --- a/asm/new_menu_helpers.s +++ /dev/null @@ -1,1178 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8197184 -sub_8197184: @ 8197184 - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl GetWindowAttribute - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0860EA6C - movs r2, 0x80 - lsls r2, 1 - lsls r4, 16 - lsrs r4, 16 - adds r3, r4, 0 - bl LoadBgTiles - ldr r0, =gUnknown_0860EA4C - lsls r5, 20 - lsrs r5, 16 - adds r1, r5, 0 - movs r2, 0x20 - bl LoadPalette - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8197184 - - thumb_func_start sub_81971C4 -sub_81971C4: @ 81971C4 - push {lr} - bl sub_819645C - pop {r0} - bx r0 - thumb_func_end sub_81971C4 - - thumb_func_start sub_81971D0 -sub_81971D0: @ 81971D0 - push {lr} - ldr r0, =gUnknown_0860F098 - bl InitWindows - ldr r0, =gUnknown_0203CD8C - movs r1, 0xFF - strb r1, [r0] - ldr r0, =gUnknown_0203CD8D - strb r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end sub_81971D0 - - thumb_func_start sub_81971F4 -sub_81971F4: @ 81971F4 - push {lr} - bl FreeAllWindowBuffers - pop {r0} - bx r0 - thumb_func_end sub_81971F4 - - thumb_func_start sub_8197200 -sub_8197200: @ 8197200 - push {lr} - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - bl DeactivateAllTextPrinters - bl sub_81973A4 - pop {r0} - bx r0 - thumb_func_end sub_8197200 - - thumb_func_start sub_8197224 -sub_8197224: @ 8197224 - push {lr} - bl RunTextPrinters - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_8197224 - - thumb_func_start AddTextPrinterParametrized -@ u16 AddTextPrinterParametrized(u8 windowId, u8 fontId, u8 *str, u8 speed, void ( *callback)(u16, struct TextPrinter *), u8 fgColor, u8 bgColor, u8 shadowColor) -AddTextPrinterParametrized: @ 8197238 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - ldr r7, [sp, 0x28] - ldr r4, [sp, 0x2C] - mov r8, r4 - ldr r5, [sp, 0x30] - ldr r6, [sp, 0x34] - lsls r3, 24 - lsrs r3, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - str r2, [sp] - mov r2, sp - movs r4, 0 - strb r0, [r2, 0x4] - mov r0, sp - strb r1, [r0, 0x5] - strb r4, [r0, 0x6] - movs r1, 0x1 - strb r1, [r0, 0x7] - strb r4, [r0, 0x8] - strb r1, [r0, 0x9] - strb r4, [r0, 0xA] - strb r4, [r0, 0xB] - mov r4, sp - ldrb r2, [r4, 0xC] - subs r1, 0x11 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r4, 0xC] - mov r0, sp - mov r2, r8 - lsls r2, 4 - movs r4, 0xF - strb r2, [r0, 0xC] - mov r2, sp - ands r5, r4 - ldrb r0, [r2, 0xD] - ands r1, r0 - orrs r1, r5 - strb r1, [r2, 0xD] - mov r0, sp - lsrs r6, 20 - ands r1, r4 - orrs r1, r6 - strb r1, [r0, 0xD] - ldr r2, =gTextFlags - ldrb r1, [r2] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - mov r0, sp - adds r1, r3, 0 - adds r2, r7, 0 - bl AddTextPrinter - lsls r0, 16 - lsrs r0, 16 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end AddTextPrinterParametrized - - thumb_func_start AddTextPrinterForMessage -@ void AddTextPrinterForMessage(u8 allowSkippingDelayWithButtonPress) -AddTextPrinterForMessage: @ 81972C4 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - ldr r3, =gTextFlags - movs r4, 0x1 - ands r0, r4 - ldrb r2, [r3] - movs r1, 0x2 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3] - bl sav2_get_text_speed - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r2, =gStringVar4 - str r5, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - bl AddTextPrinterParametrized - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end AddTextPrinterForMessage - - thumb_func_start AddTextPrinterForMessage_2 -@ void AddTextPrinterForMessage_2(u8 allowSkippingDelayWithButtonPress) -AddTextPrinterForMessage_2: @ 8197310 - push {r4,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gTextFlags - movs r4, 0x1 - ands r0, r4 - ldrb r2, [r3] - movs r1, 0x2 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3] - bl sav2_get_text_speed - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r2, =gStringVar4 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - bl AddTextPrinterParametrized - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end AddTextPrinterForMessage_2 - - thumb_func_start AddTextPrinterWithCustomSpeedForMessage -@ void AddTextPrinterWithCustomSpeedForMessage(u8 allowSkippingDelayWithButtonPress, u8 speed) -AddTextPrinterWithCustomSpeedForMessage: @ 819735C - push {r4,r5,lr} - sub sp, 0x10 - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r4, =gTextFlags - movs r5, 0x1 - ands r0, r5 - ldrb r2, [r4] - movs r1, 0x2 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r4] - ldr r2, =gStringVar4 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - bl AddTextPrinterParametrized - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end AddTextPrinterWithCustomSpeedForMessage - - thumb_func_start sub_81973A4 -sub_81973A4: @ 81973A4 - push {lr} - movs r1, 0x80 - lsls r1, 2 - movs r0, 0 - movs r2, 0xF0 - bl copy_textbox_border_tile_patterns_to_vram - movs r1, 0x85 - lsls r1, 2 - movs r0, 0 - movs r2, 0xE0 - bl sub_809882C - pop {r0} - bx r0 - thumb_func_end sub_81973A4 - - thumb_func_start sub_81973C4 -sub_81973C4: @ 81973C4 - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =sub_81975F4 - adds r0, r5, 0 - bl CallWindowFunction - adds r0, r5, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r5, 0 - bl PutWindowTilemap - cmp r4, 0x1 - bne _081973F2 - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram -_081973F2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81973C4 - - thumb_func_start sub_81973FC -sub_81973FC: @ 81973FC - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =sub_81974A4 - adds r0, r5, 0 - bl CallWindowFunction - adds r0, r5, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r5, 0 - bl PutWindowTilemap - cmp r4, 0x1 - bne _0819742A - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram -_0819742A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81973FC - - thumb_func_start sub_8197434 -sub_8197434: @ 8197434 - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =sub_8197804 - adds r0, r5, 0 - bl CallWindowFunction - adds r0, r5, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r5, 0 - bl ClearWindowTilemap - cmp r4, 0x1 - bne _08197462 - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram -_08197462: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8197434 - - thumb_func_start sub_819746C -sub_819746C: @ 819746C - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =sub_81977BC - adds r0, r5, 0 - bl CallWindowFunction - adds r0, r5, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r5, 0 - bl ClearWindowTilemap - cmp r4, 0x1 - bne _0819749A - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram -_0819749A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_819746C - - thumb_func_start sub_81974A4 -sub_81974A4: @ 81974A4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - adds r4, r2, 0 - ldr r2, [sp, 0x3C] - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsls r4, 24 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x10] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x14] - movs r3, 0x85 - lsls r3, 2 - lsrs r0, r1, 24 - str r0, [sp, 0xC] - movs r2, 0xFF - lsls r2, 24 - adds r2, r1 - mov r8, r2 - lsrs r2, 24 - lsrs r0, r4, 24 - mov r9, r0 - movs r0, 0xFF - lsls r0, 24 - adds r4, r0 - lsrs r4, 24 - movs r5, 0x1 - str r5, [sp] - str r5, [sp, 0x4] - movs r6, 0xE - str r6, [sp, 0x8] - adds r0, r7, 0 - adds r1, r3, 0 - adds r3, r4, 0 - bl FillBgTilemapBufferRect - ldr r1, =0x00000215 - ldr r2, [sp, 0x10] - str r2, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - adds r0, r7, 0 - ldr r2, [sp, 0xC] - adds r3, r4, 0 - bl FillBgTilemapBufferRect - ldr r1, =0x00000216 - ldr r3, [sp, 0xC] - ldr r2, [sp, 0x10] - adds r0, r3, r2 - lsls r0, 24 - mov r10, r0 - lsrs r2, r0, 24 - str r5, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - adds r0, r7, 0 - adds r3, r4, 0 - bl FillBgTilemapBufferRect - mov r5, r9 - ldr r0, [sp, 0x14] - add r0, r9 - cmp r9, r0 - bge _08197578 - mov r3, r8 - str r3, [sp, 0x18] - movs r6, 0x1 - movs r0, 0xE - mov r8, r0 -_0819753E: - lsls r4, r5, 24 - lsrs r4, 24 - str r6, [sp] - str r6, [sp, 0x4] - mov r2, r8 - str r2, [sp, 0x8] - adds r0, r7, 0 - ldr r1, =0x00000217 - ldr r3, [sp, 0x18] - lsrs r2, r3, 24 - adds r3, r4, 0 - bl FillBgTilemapBufferRect - str r6, [sp] - str r6, [sp, 0x4] - mov r0, r8 - str r0, [sp, 0x8] - adds r0, r7, 0 - ldr r1, =0x00000219 - mov r3, r10 - lsrs r2, r3, 24 - adds r3, r4, 0 - bl FillBgTilemapBufferRect - adds r5, 0x1 - ldr r0, [sp, 0x14] - add r0, r9 - cmp r5, r0 - blt _0819753E -_08197578: - ldr r1, =0x0000021a - ldr r2, [sp, 0xC] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r4, [sp, 0x14] - add r4, r9 - lsls r4, 24 - lsrs r4, 24 - movs r5, 0x1 - str r5, [sp] - str r5, [sp, 0x4] - movs r6, 0xE - str r6, [sp, 0x8] - adds r0, r7, 0 - adds r3, r4, 0 - bl FillBgTilemapBufferRect - ldr r1, =0x0000021b - ldr r0, [sp, 0x10] - str r0, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - adds r0, r7, 0 - ldr r2, [sp, 0xC] - adds r3, r4, 0 - bl FillBgTilemapBufferRect - movs r1, 0x87 - lsls r1, 2 - ldr r3, [sp, 0xC] - ldr r0, [sp, 0x10] - adds r2, r3, r0 - lsls r2, 24 - lsrs r2, 24 - str r5, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - adds r0, r7, 0 - adds r3, r4, 0 - bl FillBgTilemapBufferRect - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81974A4 - - thumb_func_start sub_81975F4 -sub_81975F4: @ 81975F4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - adds r6, r0, 0 - adds r5, r2, 0 - mov r8, r3 - ldr r2, [sp, 0x44] - lsls r6, 24 - lsrs r6, 24 - lsls r0, r1, 24 - lsls r5, 24 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r1, r2, 24 - lsrs r1, 24 - str r1, [sp, 0x10] - ldr r1, =0x00000201 - lsrs r2, r0, 24 - str r2, [sp, 0xC] - movs r3, 0xFE - lsls r3, 24 - adds r2, r0, r3 - lsrs r2, 24 - str r2, [sp, 0x14] - lsrs r0, r5, 24 - mov r10, r0 - movs r2, 0xFF - lsls r2, 24 - adds r5, r2 - lsrs r5, 24 - movs r4, 0x1 - str r4, [sp] - str r4, [sp, 0x4] - movs r3, 0xF - mov r9, r3 - str r3, [sp, 0x8] - adds r0, r6, 0 - ldr r2, [sp, 0x14] - adds r3, r5, 0 - bl FillBgTilemapBufferRect - ldr r1, =0x00000203 - ldr r0, [sp, 0xC] - subs r0, 0x1 - lsls r2, r0, 24 - lsrs r2, 24 - str r2, [sp, 0x18] - str r4, [sp] - str r4, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - adds r0, r6, 0 - adds r3, r5, 0 - bl FillBgTilemapBufferRect - movs r1, 0x81 - lsls r1, 2 - mov r0, r8 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x1C] - str r0, [sp] - str r4, [sp, 0x4] - mov r2, r9 - str r2, [sp, 0x8] - adds r0, r6, 0 - ldr r2, [sp, 0xC] - adds r3, r5, 0 - bl FillBgTilemapBufferRect - ldr r1, =0x00000205 - ldr r7, [sp, 0xC] - add r7, r8 - subs r0, r7, 0x1 - lsls r2, r0, 24 - lsrs r2, 24 - str r2, [sp, 0x20] - str r4, [sp] - str r4, [sp, 0x4] - mov r3, r9 - str r3, [sp, 0x8] - adds r0, r6, 0 - adds r3, r5, 0 - bl FillBgTilemapBufferRect - ldr r1, =0x00000206 - lsls r2, r7, 24 - lsrs r7, r2, 24 - str r4, [sp] - str r4, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - adds r0, r6, 0 - adds r2, r7, 0 - adds r3, r5, 0 - bl FillBgTilemapBufferRect - ldr r1, =0x00000207 - str r4, [sp] - movs r5, 0x5 - str r5, [sp, 0x4] - mov r2, r9 - str r2, [sp, 0x8] - adds r0, r6, 0 - ldr r2, [sp, 0x14] - mov r3, r10 - bl FillBgTilemapBufferRect - ldr r1, =0x00000209 - add r8, r4 - mov r3, r8 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp] - str r5, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - adds r0, r6, 0 - ldr r2, [sp, 0x18] - mov r3, r10 - bl FillBgTilemapBufferRect - ldr r1, =0x0000020a - str r4, [sp] - str r5, [sp, 0x4] - mov r2, r9 - str r2, [sp, 0x8] - adds r0, r6, 0 - adds r2, r7, 0 - mov r3, r10 - bl FillBgTilemapBufferRect - ldr r1, =0x00000a01 - ldr r3, [sp, 0x10] - add r10, r3 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - str r4, [sp] - str r4, [sp, 0x4] - mov r2, r9 - str r2, [sp, 0x8] - adds r0, r6, 0 - ldr r2, [sp, 0x14] - mov r3, r10 - bl FillBgTilemapBufferRect - ldr r1, =0x00000a03 - str r4, [sp] - str r4, [sp, 0x4] - mov r3, r9 - str r3, [sp, 0x8] - adds r0, r6, 0 - ldr r2, [sp, 0x18] - mov r3, r10 - bl FillBgTilemapBufferRect - ldr r1, =0x00000a04 - ldr r0, [sp, 0x1C] - str r0, [sp] - str r4, [sp, 0x4] - mov r2, r9 - str r2, [sp, 0x8] - adds r0, r6, 0 - ldr r2, [sp, 0xC] - mov r3, r10 - bl FillBgTilemapBufferRect - ldr r1, =0x00000a05 - str r4, [sp] - str r4, [sp, 0x4] - mov r3, r9 - str r3, [sp, 0x8] - adds r0, r6, 0 - ldr r2, [sp, 0x20] - mov r3, r10 - bl FillBgTilemapBufferRect - ldr r1, =0x00000a06 - str r4, [sp] - str r4, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - adds r0, r6, 0 - adds r2, r7, 0 - mov r3, r10 - bl FillBgTilemapBufferRect - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81975F4 - - thumb_func_start sub_81977BC -sub_81977BC: @ 81977BC - push {r4,r5,lr} - sub sp, 0xC - adds r4, r1, 0 - adds r5, r2, 0 - ldr r1, [sp, 0x18] - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsls r5, 24 - lsls r3, 24 - lsls r1, 24 - movs r2, 0xFF - lsls r2, 24 - adds r4, r2 - lsrs r4, 24 - adds r5, r2 - lsrs r5, 24 - movs r2, 0x80 - lsls r2, 18 - adds r3, r2 - lsrs r3, 24 - str r3, [sp] - adds r1, r2 - lsrs r1, 24 - str r1, [sp, 0x4] - movs r1, 0xE - str r1, [sp, 0x8] - movs r1, 0 - adds r2, r4, 0 - adds r3, r5, 0 - bl FillBgTilemapBufferRect - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81977BC - - thumb_func_start sub_8197804 -sub_8197804: @ 8197804 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r1, 0 - adds r5, r2, 0 - ldr r1, [sp, 0x18] - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsls r5, 24 - lsls r3, 24 - lsls r1, 24 - movs r2, 0xFD - lsls r2, 24 - adds r4, r2 - lsrs r4, 24 - movs r2, 0xFF - lsls r2, 24 - adds r5, r2 - lsrs r5, 24 - movs r2, 0xC0 - lsls r2, 19 - adds r3, r2 - lsrs r3, 24 - str r3, [sp] - movs r2, 0x80 - lsls r2, 18 - adds r1, r2 - lsrs r1, 24 - str r1, [sp, 0x4] - movs r1, 0xE - str r1, [sp, 0x8] - movs r1, 0 - adds r2, r4, 0 - adds r3, r5, 0 - bl FillBgTilemapBufferRect - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8197804 - - thumb_func_start SetStandardWindowBorderStyle -@ void SetStandardWindowBorderStyle(u8 windowId, bool copyToVram) -SetStandardWindowBorderStyle: @ 8197854 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0x85 - lsls r2, 2 - movs r3, 0xE - bl SetWindowBorderStyle - pop {r0} - bx r0 - thumb_func_end SetStandardWindowBorderStyle - - thumb_func_start sub_819786C -sub_819786C: @ 819786C - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - movs r6, 0x80 - lsls r6, 2 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0xF0 - bl copy_textbox_border_tile_patterns_to_vram - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - movs r3, 0xF - bl sub_8197B1C - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_819786C - - thumb_func_start sub_819789C -sub_819789C: @ 819789C - push {lr} - ldr r0, =gUnknown_0860F074 - movs r1, 0xE0 - movs r2, 0x14 - bl LoadPalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_819789C - - thumb_func_start sub_81978B0 -sub_81978B0: @ 81978B0 - push {lr} - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, =gUnknown_0860F074 - movs r2, 0x14 - bl LoadPalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_81978B0 - - thumb_func_start sub_81978C8 -sub_81978C8: @ 81978C8 - ldr r0, =gUnknown_0860F074 - bx lr - .pool - thumb_func_end sub_81978C8 - - thumb_func_start sub_81978D0 -sub_81978D0: @ 81978D0 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xF - bls _081978DC - movs r1, 0 -_081978DC: - ldr r0, =gUnknown_0860F074 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - pop {r1} - bx r1 - .pool - thumb_func_end sub_81978D0 - - thumb_func_start DisplayItemMessageOnField -@ void DisplayItemMessageOnField(u8 taskId, u8 *str, void ( *callback)(u8 taskId)) -DisplayItemMessageOnField: @ 81978EC - push {r4-r6,lr} - sub sp, 0x10 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_81973A4 - bl sav2_get_text_speed - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 2 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - str r5, [sp, 0x8] - str r6, [sp, 0xC] - adds r0, r4, 0 - movs r1, 0 - movs r3, 0xF - bl DisplayMessageAndContinueTask - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end DisplayItemMessageOnField - - thumb_func_start sub_8197930 -sub_8197930: @ 8197930 - push {lr} - ldr r0, =gUnknown_0860F0A8 - movs r1, 0x85 - lsls r1, 2 - movs r2, 0xE - movs r3, 0 - bl CreateYesNoMenu - pop {r0} - bx r0 - .pool - thumb_func_end sub_8197930 - - thumb_func_start sub_8197948 -sub_8197948: @ 8197948 - push {lr} - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =gUnknown_0860F0A8 - movs r1, 0x85 - lsls r1, 2 - movs r2, 0xE - bl CreateYesNoMenu - pop {r0} - bx r0 - .pool - thumb_func_end sub_8197948 - - thumb_func_start sub_8197964 -sub_8197964: @ 8197964 - push {lr} - ldr r0, =gTextFlags - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _08197988 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x14] - lsls r0, 29 - lsrs r0, 29 - b _0819798A - .pool -_08197988: - movs r0, 0x1 -_0819798A: - pop {r1} - bx r1 - thumb_func_end sub_8197964 - - thumb_func_start sav2_get_text_speed -sav2_get_text_speed: @ 8197990 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldrb r1, [r2, 0x14] - lsls r0, r1, 29 - lsrs r0, 29 - cmp r0, 0x2 - bls _081979AC - movs r0, 0x8 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x14] -_081979AC: - bl sub_8197964 - ldr r1, =gUnknown_0860F094 - adds r0, r1 - ldrb r0, [r0] - pop {r1} - bx r1 - .pool - thumb_func_end sav2_get_text_speed - - thumb_func_start sub_81979C4 -sub_81979C4: @ 81979C4 - push {r4,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r1, r0, 24 - ldr r4, =gUnknown_0203CD8C - ldrb r0, [r4] - cmp r0, 0xFF - bne _081979F6 - lsls r0, r1, 25 - movs r1, 0x80 - lsls r1, 18 - adds r0, r1 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xF - str r0, [sp, 0x4] - ldr r0, =0x00000139 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x16 - movs r2, 0x1 - movs r3, 0x7 - bl sub_8198AA4 - strb r0, [r4] -_081979F6: - ldrb r0, [r4] - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81979C4 - - thumb_func_start GetStartMenuWindowId -GetStartMenuWindowId: @ 8197A08 - ldr r0, =gUnknown_0203CD8C - ldrb r0, [r0] - bx lr - .pool - thumb_func_end GetStartMenuWindowId - - thumb_func_start remove_start_menu_window_maybe -remove_start_menu_window_maybe: @ 8197A14 - push {r4,lr} - ldr r4, =gUnknown_0203CD8C - ldrb r0, [r4] - cmp r0, 0xFF - beq _08197A26 - bl RemoveWindow - movs r0, 0xFF - strb r0, [r4] -_08197A26: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end remove_start_menu_window_maybe - - thumb_func_start sub_8197A30 -sub_8197A30: @ 8197A30 - movs r0, 0x80 - lsls r0, 2 - bx lr - thumb_func_end sub_8197A30 - - thumb_func_start sub_8197A38 -sub_8197A38: @ 8197A38 - movs r0, 0x85 - lsls r0, 2 - bx lr - thumb_func_end sub_8197A38 - - thumb_func_start AddMapNamePopUpWindow -AddMapNamePopUpWindow: @ 8197A40 - push {r4,lr} - sub sp, 0xC - ldr r4, =gUnknown_0203CD8D - ldrb r0, [r4] - cmp r0, 0xFF - bne _08197A66 - movs r0, 0x3 - str r0, [sp] - movs r0, 0xE - str r0, [sp, 0x4] - adds r0, 0xF9 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0xA - bl sub_8198AA4 - strb r0, [r4] -_08197A66: - ldrb r0, [r4] - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end AddMapNamePopUpWindow - - thumb_func_start GetMapNamePopUpWindowId -GetMapNamePopUpWindowId: @ 8197A74 - ldr r0, =gUnknown_0203CD8D - ldrb r0, [r0] - bx lr - .pool - thumb_func_end GetMapNamePopUpWindowId - - thumb_func_start RemoveMapNamePopUpWindow -RemoveMapNamePopUpWindow: @ 8197A80 - push {r4,lr} - ldr r4, =gUnknown_0203CD8D - ldrb r0, [r4] - cmp r0, 0xFF - beq _08197A92 - bl RemoveWindow - movs r0, 0xFF - strb r0, [r4] -_08197A92: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end RemoveMapNamePopUpWindow - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/option_menu.s b/asm/option_menu.s deleted file mode 100644 index 1c554e26f1..0000000000 --- a/asm/option_menu.s +++ /dev/null @@ -1,1694 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80BA4B0 -sub_80BA4B0: @ 80BA4B0 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80BA4B0 - - thumb_func_start sub_80BA4C8 -sub_80BA4C8: @ 80BA4C8 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_80BA4C8 - - thumb_func_start CB2_OptionsMenu -CB2_OptionsMenu: @ 80BA4DC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0xB - bhi _080BA538 - lsls r0, 2 - ldr r1, =_080BA508 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080BA508: - .4byte _080BA538 - .4byte _080BA54C - .4byte _080BA69C - .4byte _080BA6BC - .4byte _080BA6E0 - .4byte _080BA718 - .4byte _080BA728 - .4byte _080BA740 - .4byte _080BA748 - .4byte _080BA760 - .4byte _080BA774 - .4byte _080BA80C -_080BA538: - movs r0, 0 - bl SetVBlankCallback - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _080BA7F4 - .pool -_080BA54C: - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r1, sp, 0x8 - mov r8, r1 - add r2, sp, 0x4 - movs r6, 0 - ldr r1, =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_080BA56A: - strh r6, [r2] - add r0, sp, 0x4 - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _080BA56A - strh r6, [r2] - add r2, sp, 0x4 - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0x8] - ldr r2, =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - add r0, sp, 0x4 - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0855C698 - movs r0, 0 - movs r2, 0x2 - bl InitBgsFromTemplates - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldr r0, =gUnknown_0855C680 - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x1 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x23 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0xC1 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0x4 - bl SetGpuReg - movs r1, 0xC1 - lsls r1, 6 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - b _080BA7EC - .pool -_080BA69C: - bl ResetPaletteFade - bl remove_some_task - bl ResetTasks - bl ResetSpriteData - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _080BA7F4 - .pool -_080BA6BC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x14] - lsrs r0, 3 - bl sub_8098758 - ldr r1, [r0] - movs r2, 0x90 - lsls r2, 1 - movs r3, 0xD1 - lsls r3, 1 - movs r0, 0x1 - bl LoadBgTiles - b _080BA7EC - .pool -_080BA6E0: - ldr r0, =gUnknown_0855C6A0 - movs r1, 0 - movs r2, 0x2 - bl LoadPalette - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x14] - lsrs r0, 3 - bl sub_8098758 - ldr r0, [r0, 0x4] - movs r1, 0x70 - movs r2, 0x20 - bl LoadPalette - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _080BA7F4 - .pool -_080BA718: - ldr r0, =gUnknown_0855C604 - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - b _080BA7EC - .pool -_080BA728: - movs r0, 0 - bl PutWindowTilemap - bl sub_80BB0D0 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _080BA7F4 - .pool -_080BA740: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - b _080BA7F4 -_080BA748: - movs r0, 0x1 - bl PutWindowTilemap - bl sub_80BB104 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080BA760: - bl sub_80BB154 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _080BA7F4 - .pool -_080BA774: - ldr r0, =sub_80BA83C - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldrb r0, [r2, 0x14] - lsls r0, 29 - lsrs r0, 29 - strh r0, [r4, 0xA] - ldrb r1, [r2, 0x15] - lsls r1, 29 - lsrs r1, 31 - strh r1, [r4, 0xC] - ldrb r1, [r2, 0x15] - lsls r1, 30 - lsrs r1, 31 - strh r1, [r4, 0xE] - ldrb r1, [r2, 0x15] - lsls r1, 31 - lsrs r1, 31 - strh r1, [r4, 0x10] - ldrb r1, [r2, 0x13] - strh r1, [r4, 0x12] - ldrb r1, [r2, 0x14] - lsrs r1, 3 - strh r1, [r4, 0x14] - bl sub_80BAC38 - ldrb r0, [r4, 0xC] - bl sub_80BAD08 - ldrb r0, [r4, 0xE] - bl sub_80BAD84 - ldrb r0, [r4, 0x10] - bl sub_80BAE08 - ldrb r0, [r4, 0x12] - bl sub_80BB028 - ldrb r0, [r4, 0x14] - bl sub_80BAF0C - ldrb r0, [r4, 0x8] - bl sub_80BAB38 - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram -_080BA7EC: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 -_080BA7F4: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080BA828 - .pool -_080BA80C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =sub_80BA4C8 - bl SetVBlankCallback - ldr r0, =sub_80BA4B0 - bl SetMainCallback2 -_080BA828: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end CB2_OptionsMenu - - thumb_func_start sub_80BA83C -sub_80BA83C: @ 80BA83C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080BA85C - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_80BA86C - str r0, [r1] -_080BA85C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BA83C - - thumb_func_start sub_80BA86C -sub_80BA86C: @ 80BA86C - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080BA89C - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0x6 - beq _080BA892 - b _080BAA5A -_080BA892: - b _080BA8AE - .pool -_080BA89C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080BA8BC - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 -_080BA8AE: - ldr r0, =sub_80BAA64 - str r0, [r1] - b _080BAA5A - .pool -_080BA8BC: - movs r0, 0x40 - ands r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - beq _080BA8EC - ldr r1, =gTasks - lsls r2, r4, 2 - adds r0, r2, r4 - lsls r0, 3 - adds r3, r0, r1 - ldrh r5, [r3, 0x8] - movs r6, 0x8 - ldrsh r0, [r3, r6] - adds r7, r1, 0 - cmp r0, 0 - ble _080BA8E8 - subs r0, r5, 0x1 - b _080BA90C - .pool -_080BA8E8: - movs r0, 0x6 - b _080BA90C -_080BA8EC: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080BA924 - ldr r1, =gTasks - lsls r2, r4, 2 - adds r0, r2, r4 - lsls r0, 3 - adds r3, r0, r1 - ldrh r5, [r3, 0x8] - movs r7, 0x8 - ldrsh r0, [r3, r7] - adds r7, r1, 0 - cmp r0, 0x5 - bgt _080BA914 - adds r0, r5, 0x1 -_080BA90C: - strh r0, [r3, 0x8] - b _080BA916 - .pool -_080BA914: - strh r6, [r3, 0x8] -_080BA916: - adds r0, r2, r4 - lsls r0, 3 - adds r0, r7 - ldrb r0, [r0, 0x8] - bl sub_80BAB38 - b _080BAA5A -_080BA924: - ldr r0, =gTasks - lsls r2, r4, 2 - adds r1, r2, r4 - lsls r1, 3 - adds r1, r0 - movs r3, 0x8 - ldrsh r1, [r1, r3] - adds r7, r0, 0 - cmp r1, 0x5 - bls _080BA93A - b _080BAA5A -_080BA93A: - lsls r0, r1, 2 - ldr r1, =_080BA94C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080BA94C: - .4byte _080BA964 - .4byte _080BA98A - .4byte _080BA9B0 - .4byte _080BA9D6 - .4byte _080BA9FC - .4byte _080BAA22 -_080BA964: - adds r4, r2, r4 - lsls r4, 3 - adds r4, r7 - ldrb r5, [r4, 0xA] - adds r0, r5, 0 - bl sub_80BABDC - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - strh r0, [r4, 0xA] - movs r6, 0xA - ldrsh r0, [r4, r6] - cmp r5, r0 - beq _080BAA46 - adds r0, r1, 0 - bl sub_80BAC38 - b _080BAA46 -_080BA98A: - adds r4, r2, r4 - lsls r4, 3 - adds r4, r7 - ldrb r5, [r4, 0xC] - adds r0, r5, 0 - bl sub_80BACE0 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - strh r0, [r4, 0xC] - movs r7, 0xC - ldrsh r0, [r4, r7] - cmp r5, r0 - beq _080BAA46 - adds r0, r1, 0 - bl sub_80BAD08 - b _080BAA46 -_080BA9B0: - adds r4, r2, r4 - lsls r4, 3 - adds r4, r7 - ldrb r5, [r4, 0xE] - adds r0, r5, 0 - bl sub_80BAD5C - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - strh r0, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r5, r0 - beq _080BAA46 - adds r0, r1, 0 - bl sub_80BAD84 - b _080BAA46 -_080BA9D6: - adds r4, r2, r4 - lsls r4, 3 - adds r4, r7 - ldrb r5, [r4, 0x10] - adds r0, r5, 0 - bl sub_80BADD8 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - strh r0, [r4, 0x10] - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r5, r0 - beq _080BAA46 - adds r0, r1, 0 - bl sub_80BAE08 - b _080BAA46 -_080BA9FC: - adds r4, r2, r4 - lsls r4, 3 - adds r4, r7 - ldrb r5, [r4, 0x12] - adds r0, r5, 0 - bl sub_80BAFCC - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - strh r0, [r4, 0x12] - movs r6, 0x12 - ldrsh r0, [r4, r6] - cmp r5, r0 - beq _080BAA46 - adds r0, r1, 0 - bl sub_80BB028 - b _080BAA46 -_080BAA22: - adds r4, r2, r4 - lsls r4, 3 - adds r4, r7 - ldrb r5, [r4, 0x14] - adds r0, r5, 0 - bl sub_80BAE5C - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - strh r0, [r4, 0x14] - movs r7, 0x14 - ldrsh r0, [r4, r7] - cmp r5, r0 - beq _080BAA46 - adds r0, r1, 0 - bl sub_80BAF0C -_080BAA46: - ldr r1, =gUnknown_02039B48 - ldrb r0, [r1] - cmp r0, 0 - beq _080BAA5A - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram -_080BAA5A: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BA86C - - thumb_func_start sub_80BAA64 -sub_80BAA64: @ 80BAA64 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r6, =gSaveBlock2Ptr - ldr r3, [r6] - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - movs r0, 0x7 - ldrb r1, [r4, 0xA] - ands r1, r0 - ldrb r2, [r3, 0x14] - movs r0, 0x8 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x14] - ldr r3, [r6] - movs r5, 0x1 - ldrb r1, [r4, 0xC] - ands r1, r5 - lsls r1, 2 - ldrb r2, [r3, 0x15] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x15] - ldr r3, [r6] - ldrb r1, [r4, 0xE] - ands r1, r5 - lsls r1, 1 - ldrb r2, [r3, 0x15] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x15] - ldr r3, [r6] - ldrb r1, [r4, 0x10] - ands r1, r5 - ldrb r2, [r3, 0x15] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x15] - ldr r1, [r6] - ldrh r0, [r4, 0x12] - movs r5, 0 - strb r0, [r1, 0x13] - ldr r3, [r6] - ldrb r1, [r4, 0x14] - lsls r1, 3 - ldrb r2, [r3, 0x14] - movs r0, 0x7 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x14] - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =sub_80BAB08 - str r0, [r4] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BAA64 - - thumb_func_start sub_80BAB08 -sub_80BAB08: @ 80BAB08 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080BAB2C - adds r0, r2, 0 - bl DestroyTask - bl FreeAllWindowBuffers - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_080BAB2C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BAB08 - - thumb_func_start sub_80BAB38 -sub_80BAB38: @ 80BAB38 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r1, 0x87 - lsls r1, 5 - movs r0, 0x40 - bl SetGpuReg - lsls r4, 4 - adds r1, r4, 0 - adds r1, 0x28 - lsls r1, 8 - adds r4, 0x38 - orrs r1, r4 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80BAB38 - - thumb_func_start sub_80BAB68 -sub_80BAB68: @ 80BAB68 - push {r4-r6,lr} - sub sp, 0x1C - adds r4, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - lsls r3, 24 - lsrs r3, 24 - movs r2, 0 - ldrb r1, [r4] - adds r0, r1, 0 - cmp r0, 0xFF - beq _080BABA0 -_080BAB84: - mov r0, sp - adds r0, r2 - adds r0, 0xC - strb r1, [r0] - adds r4, 0x1 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldrb r1, [r4] - adds r0, r1, 0 - cmp r0, 0xFF - beq _080BABA0 - cmp r2, 0xE - bls _080BAB84 -_080BABA0: - cmp r3, 0 - beq _080BABAE - add r1, sp, 0xC - movs r0, 0x4 - strb r0, [r1, 0x2] - movs r0, 0x5 - strb r0, [r1, 0x5] -_080BABAE: - mov r1, sp - adds r1, r2 - adds r1, 0xC - movs r0, 0xFF - strb r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - add r2, sp, 0xC - adds r3, r6, 0 - bl PrintTextOnWindow - add sp, 0x1C - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80BAB68 - - thumb_func_start sub_80BABDC -sub_80BABDC: @ 80BABDC - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080BAC08 - cmp r3, 0x1 - bhi _080BAC00 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - b _080BAC02 - .pool -_080BAC00: - movs r3, 0 -_080BAC02: - ldr r1, =gUnknown_02039B48 - movs r0, 0x1 - strb r0, [r1] -_080BAC08: - ldrh r1, [r2, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080BAC2C - cmp r3, 0 - beq _080BAC24 - subs r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - b _080BAC26 - .pool -_080BAC24: - movs r3, 0x2 -_080BAC26: - ldr r1, =gUnknown_02039B48 - movs r0, 0x1 - strb r0, [r1] -_080BAC2C: - adds r0, r3, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80BABDC - - thumb_func_start sub_80BAC38 -sub_80BAC38: @ 80BAC38 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - movs r2, 0 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r4, =gText_TextSpeedSlow - mov r0, sp - ldrb r3, [r0] - adds r0, r4, 0 - movs r1, 0x68 - bl sub_80BAB68 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - adds r4, r0, 0 - ldr r0, =gText_TextSpeedMid - mov r8, r0 - movs r0, 0x1 - mov r1, r8 - movs r2, 0 - bl GetStringWidth - adds r5, r0, 0 - ldr r6, =gText_TextSpeedFast - movs r0, 0x1 - adds r1, r6, 0 - movs r2, 0 - bl GetStringWidth - subs r5, 0x5E - subs r4, r5 - subs r4, r0 - lsrs r0, r4, 31 - adds r4, r0 - asrs r4, 1 - adds r4, 0x68 - lsls r4, 24 - lsrs r4, 24 - mov r0, sp - ldrb r3, [r0, 0x1] - mov r0, r8 - adds r1, r4, 0 - movs r2, 0 - bl sub_80BAB68 - movs r0, 0x1 - adds r1, r6, 0 - movs r2, 0xC6 - bl GetStringRightAlignXOffset - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - ldrb r3, [r0, 0x2] - adds r0, r6, 0 - movs r2, 0 - bl sub_80BAB68 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BAC38 - - thumb_func_start sub_80BACE0 -sub_80BACE0: @ 80BACE0 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0 - beq _080BACFA - movs r1, 0x1 - eors r2, r1 - ldr r0, =gUnknown_02039B48 - strb r1, [r0] -_080BACFA: - adds r0, r2, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80BACE0 - - thumb_func_start sub_80BAD08 -sub_80BAD08: @ 80BAD08 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - movs r2, 0 - strb r2, [r1] - strb r2, [r1, 0x1] - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r0, =gText_BattleSceneOn - mov r1, sp - ldrb r3, [r1] - movs r1, 0x68 - movs r2, 0x10 - bl sub_80BAB68 - ldr r4, =gText_BattleSceneOff - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0xC6 - bl GetStringRightAlignXOffset - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - ldrb r3, [r0, 0x1] - adds r0, r4, 0 - movs r2, 0x10 - bl sub_80BAB68 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BAD08 - - thumb_func_start sub_80BAD5C -sub_80BAD5C: @ 80BAD5C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0 - beq _080BAD76 - movs r1, 0x1 - eors r2, r1 - ldr r0, =gUnknown_02039B48 - strb r1, [r0] -_080BAD76: - adds r0, r2, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80BAD5C - - thumb_func_start sub_80BAD84 -sub_80BAD84: @ 80BAD84 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - movs r2, 0 - strb r2, [r1] - strb r2, [r1, 0x1] - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r0, =gText_BattleStyleShift - mov r1, sp - ldrb r3, [r1] - movs r1, 0x68 - movs r2, 0x20 - bl sub_80BAB68 - ldr r4, =gText_BattleStyleSet - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0xC6 - bl GetStringRightAlignXOffset - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - ldrb r3, [r0, 0x1] - adds r0, r4, 0 - movs r2, 0x20 - bl sub_80BAB68 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BAD84 - - thumb_func_start sub_80BADD8 -sub_80BADD8: @ 80BADD8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0 - beq _080BADF8 - movs r4, 0x1 - eors r5, r4 - adds r0, r5, 0 - bl SetPokemonCryStereo - ldr r0, =gUnknown_02039B48 - strb r4, [r0] -_080BADF8: - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80BADD8 - - thumb_func_start sub_80BAE08 -sub_80BAE08: @ 80BAE08 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - movs r2, 0 - strb r2, [r1] - strb r2, [r1, 0x1] - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r0, =gText_SoundMono - mov r1, sp - ldrb r3, [r1] - movs r1, 0x68 - movs r2, 0x30 - bl sub_80BAB68 - ldr r4, =gText_SoundStereo - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0xC6 - bl GetStringRightAlignXOffset - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - ldrb r3, [r0, 0x1] - adds r0, r4, 0 - movs r2, 0x30 - bl sub_80BAB68 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BAE08 - - thumb_func_start sub_80BAE5C -sub_80BAE5C: @ 80BAE5C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080BAEAE - cmp r4, 0x12 - bhi _080BAE80 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - b _080BAE82 - .pool -_080BAE80: - movs r4, 0 -_080BAE82: - adds r0, r4, 0 - bl sub_8098758 - ldr r1, [r0] - movs r2, 0x90 - lsls r2, 1 - movs r3, 0xD1 - lsls r3, 1 - movs r0, 0x1 - bl LoadBgTiles - adds r0, r4, 0 - bl sub_8098758 - ldr r0, [r0, 0x4] - movs r1, 0x70 - movs r2, 0x20 - bl LoadPalette - ldr r1, =gUnknown_02039B48 - movs r0, 0x1 - strb r0, [r1] -_080BAEAE: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080BAEFE - cmp r4, 0 - beq _080BAED0 - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - b _080BAED2 - .pool -_080BAED0: - movs r4, 0x13 -_080BAED2: - adds r0, r4, 0 - bl sub_8098758 - ldr r1, [r0] - movs r2, 0x90 - lsls r2, 1 - movs r3, 0xD1 - lsls r3, 1 - movs r0, 0x1 - bl LoadBgTiles - adds r0, r4, 0 - bl sub_8098758 - ldr r0, [r0, 0x4] - movs r1, 0x70 - movs r2, 0x20 - bl LoadPalette - ldr r1, =gUnknown_02039B48 - movs r0, 0x1 - strb r0, [r1] -_080BAEFE: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80BAE5C - - thumb_func_start sub_80BAF0C -sub_80BAF0C: @ 80BAF0C - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r6, r0, 24 - movs r5, 0 - ldr r1, =gText_FrameTypeNumber - ldrb r0, [r1] - ldr r7, =gText_FrameType - cmp r0, 0xFF - beq _080BAF44 - adds r2, r1, 0 -_080BAF28: - mov r0, sp - adds r1, r0, r5 - adds r0, r5, r2 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r5, r2 - ldrb r0, [r0] - cmp r0, 0xFF - beq _080BAF44 - cmp r5, 0x5 - bls _080BAF28 -_080BAF44: - adds r0, r6, 0 - movs r1, 0xA - bl __udivsi3 - adds r2, r0, 0 - lsls r0, r2, 24 - cmp r0, 0 - beq _080BAF80 - mov r0, sp - adds r1, r0, r5 - adds r0, r2, 0 - adds r0, 0xA1 - strb r0, [r1] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - mov r1, sp - adds r4, r1, r5 - adds r0, r6, 0 - movs r1, 0xA - bl __umodsi3 - adds r0, 0xA1 - strb r0, [r4] - b _080BAF9E - .pool -_080BAF80: - mov r0, sp - adds r4, r0, r5 - adds r0, r6, 0 - movs r1, 0xA - bl __umodsi3 - adds r0, 0xA1 - strb r0, [r4] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - mov r0, sp - adds r1, r0, r5 - movs r0, 0x77 - strb r0, [r1] -_080BAF9E: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - mov r0, sp - adds r1, r0, r5 - movs r0, 0xFF - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x68 - movs r2, 0x50 - movs r3, 0 - bl sub_80BAB68 - mov r0, sp - movs r1, 0x80 - movs r2, 0x50 - movs r3, 0x1 - bl sub_80BAB68 - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80BAF0C - - thumb_func_start sub_80BAFCC -sub_80BAFCC: @ 80BAFCC - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080BAFF8 - cmp r3, 0x1 - bhi _080BAFF0 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - b _080BAFF2 - .pool -_080BAFF0: - movs r3, 0 -_080BAFF2: - ldr r1, =gUnknown_02039B48 - movs r0, 0x1 - strb r0, [r1] -_080BAFF8: - ldrh r1, [r2, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080BB01C - cmp r3, 0 - beq _080BB014 - subs r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - b _080BB016 - .pool -_080BB014: - movs r3, 0x2 -_080BB016: - ldr r1, =gUnknown_02039B48 - movs r0, 0x1 - strb r0, [r1] -_080BB01C: - adds r0, r3, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80BAFCC - - thumb_func_start sub_80BB028 -sub_80BB028: @ 80BB028 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - movs r2, 0 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r4, =gText_ButtonTypeNormal - mov r0, sp - ldrb r3, [r0] - adds r0, r4, 0 - movs r1, 0x68 - movs r2, 0x40 - bl sub_80BAB68 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - adds r4, r0, 0 - ldr r0, =gText_ButtonTypeLR - mov r8, r0 - movs r0, 0x1 - mov r1, r8 - movs r2, 0 - bl GetStringWidth - adds r5, r0, 0 - ldr r6, =gText_ButtonTypeLEqualsA - movs r0, 0x1 - adds r1, r6, 0 - movs r2, 0 - bl GetStringWidth - subs r5, 0x5E - subs r4, r5 - subs r4, r0 - lsrs r0, r4, 31 - adds r4, r0 - asrs r4, 1 - adds r4, 0x68 - lsls r4, 24 - lsrs r4, 24 - mov r0, sp - ldrb r3, [r0, 0x1] - mov r0, r8 - adds r1, r4, 0 - movs r2, 0x40 - bl sub_80BAB68 - movs r0, 0x1 - adds r1, r6, 0 - movs r2, 0xC6 - bl GetStringRightAlignXOffset - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - ldrb r3, [r0, 0x2] - adds r0, r6, 0 - movs r2, 0x40 - bl sub_80BAB68 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BB028 - - thumb_func_start sub_80BB0D0 -sub_80BB0D0: @ 80BB0D0 - push {lr} - sub sp, 0xC - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, =gText_Option - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x8 - bl PrintTextOnWindow - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BB0D0 - - thumb_func_start sub_80BB104 -sub_80BB104: @ 80BB104 - push {r4,r5,lr} - sub sp, 0xC - movs r0, 0x1 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r4, 0 - ldr r5, =gUnknown_0855C664 -_080BB114: - lsls r0, r4, 2 - adds r0, r5 - ldr r2, [r0] - lsls r0, r4, 4 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0x8 - bl PrintTextOnWindow - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - bls _080BB114 - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BB104 - - thumb_func_start sub_80BB154 -sub_80BB154: @ 80BB154 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - movs r4, 0x1 - str r4, [sp] - str r4, [sp, 0x4] - movs r5, 0x7 - str r5, [sp, 0x8] - movs r0, 0x1 - movs r1, 0xD1 - lsls r1, 1 - movs r2, 0x1 - movs r3, 0 - bl FillBgTilemapBufferRect - movs r0, 0x1B - mov r8, r0 - str r0, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - ldr r1, =0x000001a3 - movs r2, 0x2 - movs r3, 0 - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - movs r1, 0xD2 - lsls r1, 1 - movs r2, 0x1C - movs r3, 0 - bl FillBgTilemapBufferRect - str r4, [sp] - movs r6, 0x2 - str r6, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - ldr r1, =0x000001a5 - movs r2, 0x1 - movs r3, 0x1 - bl FillBgTilemapBufferRect - str r4, [sp] - str r6, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - ldr r1, =0x000001a7 - movs r2, 0x1C - movs r3, 0x1 - bl FillBgTilemapBufferRect - movs r7, 0xD4 - lsls r7, 1 - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - adds r1, r7, 0 - movs r2, 0x1 - movs r3, 0x3 - bl FillBgTilemapBufferRect - ldr r0, =0x000001a9 - mov r10, r0 - mov r0, r8 - str r0, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - mov r1, r10 - movs r2, 0x2 - movs r3, 0x3 - bl FillBgTilemapBufferRect - movs r0, 0xD5 - lsls r0, 1 - mov r9, r0 - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - mov r1, r9 - movs r2, 0x1C - movs r3, 0x3 - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - movs r1, 0xD1 - lsls r1, 1 - movs r2, 0x1 - movs r3, 0x4 - bl FillBgTilemapBufferRect - movs r0, 0x1A - mov r8, r0 - str r0, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - ldr r1, =0x000001a3 - movs r2, 0x2 - movs r3, 0x4 - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - movs r1, 0xD2 - lsls r1, 1 - movs r2, 0x1C - movs r3, 0x4 - bl FillBgTilemapBufferRect - str r4, [sp] - movs r6, 0x12 - str r6, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - ldr r1, =0x000001a5 - movs r2, 0x1 - movs r3, 0x5 - bl FillBgTilemapBufferRect - str r4, [sp] - str r6, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - ldr r1, =0x000001a7 - movs r2, 0x1C - movs r3, 0x5 - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - adds r1, r7, 0 - movs r2, 0x1 - movs r3, 0x13 - bl FillBgTilemapBufferRect - mov r0, r8 - str r0, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - mov r1, r10 - movs r2, 0x2 - movs r3, 0x13 - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - mov r1, r9 - movs r2, 0x1C - movs r3, 0x13 - bl FillBgTilemapBufferRect - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BB154 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/overworld.s b/asm/overworld.s new file mode 100644 index 0000000000..492fcd2cbd --- /dev/null +++ b/asm/overworld.s @@ -0,0 +1,6825 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_8084620 +sub_8084620: @ 8084620 + push {r4,lr} + ldr r0, =EverGrandeCity_HallOfFame_EventScript_271857 + bl ScriptContext2_RunNewScript + ldr r0, =gSaveBlock1Ptr + ldr r4, [r0] + movs r0, 0x92 + lsls r0, 3 + adds r4, r0 + adds r0, r4, 0 + bl GetMoney + adds r1, r0, 0 + lsrs r1, 1 + adds r0, r4, 0 + bl SetMoney + bl HealPlayerParty + bl sub_8084720 + bl copy_saved_warp3_bank_and_enter_x_to_warp1 + bl warp_in + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8084620 + + thumb_func_start flag_var_implications_of_teleport_ +flag_var_implications_of_teleport_: @ 8084660 + push {lr} + bl player_avatar_init_params_reset + ldr r0, =0x0000088b + bl FlagClear + ldr r0, =0x0000088d + bl FlagClear + ldr r0, =0x0000088c + bl FlagClear + ldr r0, =0x00000889 + bl FlagClear + ldr r0, =0x00000888 + bl FlagClear + pop {r0} + bx r0 + .pool + thumb_func_end flag_var_implications_of_teleport_ + + thumb_func_start Overworld_ResetStateAfterTeleport +Overworld_ResetStateAfterTeleport: @ 808469C + push {lr} + bl player_avatar_init_params_reset + ldr r0, =0x0000088b + bl FlagClear + ldr r0, =0x0000088d + bl FlagClear + ldr r0, =0x0000088c + bl FlagClear + ldr r0, =0x00000889 + bl FlagClear + ldr r0, =0x00000888 + bl FlagClear + ldr r0, =EverGrandeCity_HallOfFame_EventScript_271862 + bl ScriptContext2_RunNewScript + pop {r0} + bx r0 + .pool + thumb_func_end Overworld_ResetStateAfterTeleport + + thumb_func_start flagmods_08054D70 +flagmods_08054D70: @ 80846E4 + push {lr} + bl player_avatar_init_params_reset + ldr r0, =0x0000088b + bl FlagClear + ldr r0, =0x0000088d + bl FlagClear + ldr r0, =0x0000088c + bl FlagClear + ldr r0, =0x00000889 + bl FlagClear + ldr r0, =0x00000888 + bl FlagClear + pop {r0} + bx r0 + .pool + thumb_func_end flagmods_08054D70 + + thumb_func_start sub_8084720 +sub_8084720: @ 8084720 + push {r4,lr} + bl player_avatar_init_params_reset + ldr r0, =0x0000088b + bl FlagClear + ldr r0, =0x0000088d + bl FlagClear + ldr r0, =0x0000088c + bl FlagClear + ldr r0, =0x00000889 + bl FlagClear + ldr r0, =0x00000888 + bl FlagClear + ldr r4, =0x00004039 + adds r0, r4, 0 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x1 + bne _08084764 + adds r0, r4, 0 + movs r1, 0 + bl VarSet + ldr r0, =0x00004037 + movs r1, 0 + bl VarSet +_08084764: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8084720 + + thumb_func_start sub_8084788 +sub_8084788: @ 8084788 + push {lr} + ldr r0, =0x0000088c + bl FlagClear + bl sub_8085B2C + bl ResetCyclingRoadChallengeData + bl UpdateLocationHistoryForRoamer + bl RoamerMoveToOtherLocationSet + pop {r0} + bx r0 + .pool + thumb_func_end sub_8084788 + + thumb_func_start ResetGameStats +ResetGameStats: @ 80847A8 + push {r4,lr} + movs r4, 0 +_080847AC: + lsls r0, r4, 24 + lsrs r0, 24 + movs r1, 0 + bl sav12_xor_set + adds r4, 0x1 + cmp r4, 0x3F + ble _080847AC + pop {r4} + pop {r0} + bx r0 + thumb_func_end ResetGameStats + + thumb_func_start IncrementGameStat +@ void IncrementGameStat(u8 a1) +IncrementGameStat: @ 80847C4 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x33 + bhi _080847EC + adds r0, r4, 0 + bl GetGameStat + adds r1, r0, 0 + ldr r0, =0x00fffffe + cmp r1, r0 + bhi _080847E4 + adds r1, 0x1 + b _080847E6 + .pool +_080847E4: + ldr r1, =0x00ffffff +_080847E6: + adds r0, r4, 0 + bl sav12_xor_set +_080847EC: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end IncrementGameStat + + thumb_func_start GetGameStat +GetGameStat: @ 80847F8 + push {lr} + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x33 + bhi _08084828 + ldr r0, =gSaveBlock1Ptr + ldr r2, [r0] + lsls r0, r1, 2 + ldr r1, =0x0000159c + adds r2, r1 + adds r2, r0 + ldr r0, =gSaveBlock2Ptr + ldr r1, [r0] + adds r1, 0xAC + ldr r0, [r2] + ldr r1, [r1] + eors r0, r1 + b _0808482A + .pool +_08084828: + movs r0, 0 +_0808482A: + pop {r1} + bx r1 + thumb_func_end GetGameStat + + thumb_func_start sav12_xor_set +sav12_xor_set: @ 8084830 + push {lr} + adds r3, r1, 0 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x33 + bhi _08084854 + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + lsls r0, r2, 2 + ldr r2, =0x0000159c + adds r1, r2 + adds r1, r0 + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + adds r0, 0xAC + ldr r0, [r0] + eors r0, r3 + str r0, [r1] +_08084854: + pop {r0} + bx r0 + .pool + thumb_func_end sav12_xor_set + + thumb_func_start ApplyNewEncryptionKeyToGameStats +ApplyNewEncryptionKeyToGameStats: @ 8084864 + push {r4-r6,lr} + adds r5, r0, 0 + movs r4, 0 + ldr r6, =gSaveBlock1Ptr +_0808486C: + lsls r1, r4, 2 + ldr r0, =0x0000159c + adds r1, r0 + ldr r0, [r6] + adds r0, r1 + adds r1, r5, 0 + bl ApplyNewEncryptionKeyToWord + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x3F + bls _0808486C + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end ApplyNewEncryptionKeyToGameStats + + thumb_func_start CopyFieldObjectTemplatesToSav1 +@ void CopyFieldObjectTemplatesToSav1() +CopyFieldObjectTemplatesToSav1: @ 8084894 + push {r4,r5,lr} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + ldr r5, =gSaveBlock1Ptr + ldr r1, [r5] + movs r4, 0xC7 + lsls r4, 4 + adds r1, r4 + ldr r2, =0x05000180 + mov r0, sp + bl CpuSet + ldr r0, =gMapHeader + ldr r2, [r0, 0x4] + ldr r0, [r2, 0x4] + ldr r1, [r5] + adds r1, r4 + ldrb r3, [r2] + lsls r2, r3, 1 + adds r2, r3 + lsls r2, 1 + movs r3, 0x80 + lsls r3, 19 + orrs r2, r3 + bl CpuSet + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end CopyFieldObjectTemplatesToSav1 + + thumb_func_start CopyFieldObjectTemplateCoordsToSav1 +@ void CopyFieldObjectTemplateCoordsToSav1() +CopyFieldObjectTemplateCoordsToSav1: @ 80848E0 + push {lr} + ldr r0, =gMapHeader + ldr r1, [r0, 0x4] + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r2, [r1, 0x4] + movs r3, 0xC7 + lsls r3, 4 + adds r1, r0, r3 + movs r3, 0x3F +_080848F4: + ldr r0, [r2, 0x10] + str r0, [r1, 0x10] + adds r2, 0x18 + adds r1, 0x18 + subs r3, 0x1 + cmp r3, 0 + bge _080848F4 + pop {r0} + bx r0 + .pool + thumb_func_end CopyFieldObjectTemplateCoordsToSav1 + + thumb_func_start Overworld_SetMapObjTemplateCoords +Overworld_SetMapObjTemplateCoords: @ 8084910 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r1, 16 + lsrs r4, r1, 16 + lsls r2, 16 + lsrs r2, 16 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + movs r1, 0 + movs r6, 0xC7 + lsls r6, 4 + adds r3, r0, r6 +_0808492A: + ldrb r0, [r3] + cmp r0, r5 + bne _0808493C + strh r4, [r3, 0x4] + strh r2, [r3, 0x6] + b _08084944 + .pool +_0808493C: + adds r3, 0x18 + adds r1, 0x1 + cmp r1, 0x3F + ble _0808492A +_08084944: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end Overworld_SetMapObjTemplateCoords + + thumb_func_start Overworld_SetMapObjTemplateMovementType +Overworld_SetMapObjTemplateMovementType: @ 808494C + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r1, 24 + lsrs r1, 24 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + movs r3, 0 + movs r5, 0xC7 + lsls r5, 4 + adds r2, r0, r5 +_08084962: + ldrb r0, [r2] + cmp r0, r4 + bne _08084970 + strb r1, [r2, 0x9] + b _08084978 + .pool +_08084970: + adds r2, 0x18 + adds r3, 0x1 + cmp r3, 0x3F + ble _08084962 +_08084978: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end Overworld_SetMapObjTemplateMovementType + + thumb_func_start mapdata_load_assets_to_gpu_and_full_redraw +mapdata_load_assets_to_gpu_and_full_redraw: @ 8084980 + push {r4,lr} + bl move_tilemap_camera_to_upper_left_corner + ldr r4, =gMapHeader + ldr r0, [r4] + bl copy_map_tileset1_tileset2_to_vram + ldr r0, [r4] + bl apply_map_tileset1_tileset2_palette + bl DrawWholeMapView + bl cur_mapheader_run_tileset_funcs_after_some_cpuset + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end mapdata_load_assets_to_gpu_and_full_redraw + + thumb_func_start get_mapdata_header +@ mapdata_header *get_mapdata_header() +get_mapdata_header: @ 80849A8 + push {lr} + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrh r1, [r0, 0x32] + cmp r1, 0 + bne _080849BC + movs r0, 0 + b _080849C6 + .pool +_080849BC: + ldr r0, =gMapAttributes + subs r1, 0x1 + lsls r1, 2 + adds r1, r0 + ldr r0, [r1] +_080849C6: + pop {r1} + bx r1 + .pool + thumb_func_end get_mapdata_header + + thumb_func_start warp_shift +@ void warp_shift() +warp_shift: @ 80849D0 + ldr r3, =gUnknown_020322DC + ldr r0, =gSaveBlock1Ptr + ldr r2, [r0] + ldr r0, [r2, 0x4] + ldr r1, [r2, 0x8] + str r0, [r3] + str r1, [r3, 0x4] + ldr r0, =gUnknown_020322E4 + ldr r1, [r0, 0x4] + ldr r0, [r0] + str r0, [r2, 0x4] + str r1, [r2, 0x8] + ldr r2, =gUnknown_020322EC + ldr r0, =gUnknown_08339D3C + ldr r1, [r0, 0x4] + ldr r0, [r0] + str r0, [r2] + str r1, [r2, 0x4] + ldr r2, =gUnknown_020322F4 + str r0, [r2] + str r1, [r2, 0x4] + bx lr + .pool + thumb_func_end warp_shift + + thumb_func_start set_warp2_warp3_to_neg_1 +@ void set_warp2_warp3_to_neg_1() +set_warp2_warp3_to_neg_1: @ 8084A14 + ldr r2, =gUnknown_020322EC + ldr r0, =gUnknown_08339D3C + ldr r1, [r0, 0x4] + ldr r0, [r0] + str r0, [r2] + str r1, [r2, 0x4] + ldr r2, =gUnknown_020322F4 + str r0, [r2] + str r1, [r2, 0x4] + bx lr + .pool + thumb_func_end set_warp2_warp3_to_neg_1 + + thumb_func_start warp_set +@ void warp_set(warpdata *warp, char bank, char map, char warpid, char enter_x, char enter_y) +warp_set: @ 8084A34 + push {r4,r5,lr} + ldr r4, [sp, 0xC] + ldr r5, [sp, 0x10] + strb r1, [r0] + strb r2, [r0, 0x1] + strb r3, [r0, 0x2] + lsls r4, 24 + asrs r4, 24 + strh r4, [r0, 0x4] + lsls r5, 24 + asrs r5, 24 + strh r5, [r0, 0x6] + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end warp_set + + thumb_func_start warp_data_is_not_neg_1 +@ int warp_data_is_not_neg_1(warpdata *warp) +warp_data_is_not_neg_1: @ 8084A54 + push {lr} + adds r1, r0, 0 + movs r2, 0 + ldrsb r2, [r1, r2] + movs r0, 0x1 + negs r0, r0 + cmp r2, r0 + bne _08084A88 + movs r0, 0x1 + ldrsb r0, [r1, r0] + cmp r0, r2 + bne _08084A88 + movs r2, 0x2 + ldrsb r2, [r1, r2] + cmp r2, r0 + bne _08084A88 + movs r0, 0x4 + ldrsh r3, [r1, r0] + cmp r3, r2 + bne _08084A88 + movs r2, 0x6 + ldrsh r0, [r1, r2] + cmp r0, r3 + bne _08084A88 + movs r0, 0x1 + b _08084A8A +_08084A88: + movs r0, 0 +_08084A8A: + pop {r1} + bx r1 + thumb_func_end warp_data_is_not_neg_1 + + thumb_func_start get_mapheader_by_bank_and_number +@ struct mapheader *get_mapheader_by_bank_and_number(unsigned int bank, unsigned int num) +get_mapheader_by_bank_and_number: @ 8084A90 + lsls r0, 16 + lsls r1, 16 + ldr r2, =gMapGroups + lsrs r0, 14 + adds r0, r2 + ldr r0, [r0] + lsrs r1, 14 + adds r1, r0 + ldr r0, [r1] + bx lr + .pool + thumb_func_end get_mapheader_by_bank_and_number + + thumb_func_start warp1_get_mapheader +@ struct mapheader *warp1_get_mapheader() +warp1_get_mapheader: @ 8084AA8 + push {lr} + ldr r1, =gUnknown_020322E4 + movs r0, 0 + ldrsb r0, [r1, r0] + lsls r0, 16 + lsrs r0, 16 + ldrb r1, [r1, 0x1] + lsls r1, 24 + asrs r1, 24 + lsls r1, 16 + lsrs r1, 16 + bl get_mapheader_by_bank_and_number + pop {r1} + bx r1 + .pool + thumb_func_end warp1_get_mapheader + + thumb_func_start set_current_map_header_from_sav1_save_old_name +@ void set_current_map_header_from_sav1_save_old_name() +set_current_map_header_from_sav1_save_old_name: @ 8084ACC + push {r4-r6,lr} + ldr r1, =gUnknown_020322FC + ldr r4, =gMapHeader + ldrb r0, [r4, 0x14] + strh r0, [r1] + ldr r5, =gSaveBlock1Ptr + ldr r1, [r5] + movs r0, 0x4 + ldrsb r0, [r1, r0] + lsls r0, 16 + lsrs r0, 16 + ldrb r1, [r1, 0x5] + lsls r1, 24 + asrs r1, 24 + lsls r1, 16 + lsrs r1, 16 + bl get_mapheader_by_bank_and_number + adds r1, r4, 0 + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + ldr r0, [r0] + str r0, [r1] + ldr r1, [r5] + ldrh r0, [r4, 0x12] + strh r0, [r1, 0x32] + bl get_mapdata_header + str r0, [r4] + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end set_current_map_header_from_sav1_save_old_name + + thumb_func_start set_current_map_header_from_sav1 +set_current_map_header_from_sav1: @ 8084B1C + push {r4,r5,lr} + ldr r4, =gMapHeader + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + movs r0, 0x4 + ldrsb r0, [r1, r0] + lsls r0, 16 + lsrs r0, 16 + ldrb r1, [r1, 0x5] + lsls r1, 24 + asrs r1, 24 + lsls r1, 16 + lsrs r1, 16 + bl get_mapheader_by_bank_and_number + adds r1, r4, 0 + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldr r0, [r0] + str r0, [r1] + bl get_mapdata_header + str r0, [r4] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end set_current_map_header_from_sav1 + + thumb_func_start update_camera_pos_from_warpid +@ void update_camera_pos_from_warpid() +update_camera_pos_from_warpid: @ 8084B5C + push {r4,r5,lr} + ldr r0, =gSaveBlock1Ptr + ldr r2, [r0] + movs r1, 0x6 + ldrsb r1, [r2, r1] + adds r4, r0, 0 + cmp r1, 0 + blt _08084B94 + ldr r3, =gMapHeader + ldr r0, [r3, 0x4] + ldrb r5, [r0, 0x1] + cmp r1, r5 + bge _08084B94 + ldr r0, [r0, 0x8] + lsls r1, 3 + adds r0, r1, r0 + ldrh r0, [r0] + strh r0, [r2] + ldr r0, [r3, 0x4] + ldr r0, [r0, 0x8] + adds r1, r0 + ldrh r0, [r1, 0x2] + strh r0, [r2, 0x2] + b _08084BCC + .pool +_08084B94: + ldr r1, [r4] + ldrh r3, [r1, 0x8] + movs r2, 0x8 + ldrsh r0, [r1, r2] + cmp r0, 0 + blt _08084BB0 + ldrh r2, [r1, 0xA] + movs r5, 0xA + ldrsh r0, [r1, r5] + cmp r0, 0 + blt _08084BB0 + strh r3, [r1] + strh r2, [r1, 0x2] + b _08084BCC +_08084BB0: + ldr r3, [r4] + ldr r2, =gMapHeader + ldr r0, [r2] + ldr r0, [r0] + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + strh r0, [r3] + ldr r0, [r2] + ldr r0, [r0, 0x4] + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + strh r0, [r3, 0x2] +_08084BCC: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end update_camera_pos_from_warpid + + thumb_func_start warp_in +warp_in: @ 8084BD8 + push {lr} + bl warp_shift + bl set_current_map_header_from_sav1_save_old_name + bl update_camera_pos_from_warpid + pop {r0} + bx r0 + thumb_func_end warp_in + + thumb_func_start Overworld_SetWarpDestination +@ void Overworld_SetWarpDestination(char bank, char map, char warpid, char enter_x, char enter_y) +Overworld_SetWarpDestination: @ 8084BEC + push {r4-r6,lr} + sub sp, 0x8 + adds r4, r0, 0 + adds r5, r1, 0 + adds r6, r2, 0 + ldr r1, [sp, 0x18] + ldr r0, =gUnknown_020322E4 + lsls r4, 24 + asrs r4, 24 + lsls r5, 24 + asrs r5, 24 + lsls r6, 24 + asrs r6, 24 + lsls r3, 24 + asrs r3, 24 + str r3, [sp] + lsls r1, 24 + asrs r1, 24 + str r1, [sp, 0x4] + adds r1, r4, 0 + adds r2, r5, 0 + adds r3, r6, 0 + bl warp_set + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end Overworld_SetWarpDestination + + thumb_func_start warp1_set_2 +@ void warp1_set_2(char bank, char map, char warpid) +warp1_set_2: @ 8084C28 + push {lr} + sub sp, 0x4 + lsls r0, 24 + asrs r0, 24 + lsls r1, 24 + asrs r1, 24 + lsls r2, 24 + asrs r2, 24 + movs r3, 0x1 + negs r3, r3 + str r3, [sp] + bl Overworld_SetWarpDestination + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end warp1_set_2 + + thumb_func_start saved_warp2_set +@ void saved_warp2_set(char bank, char map, char warpid) +saved_warp2_set: @ 8084C48 + push {r4,r5,lr} + sub sp, 0x8 + ldr r0, =gSaveBlock1Ptr + ldr r5, [r0] + adds r0, r5, 0 + adds r0, 0x14 + lsls r1, 24 + asrs r1, 24 + lsls r2, 24 + asrs r2, 24 + lsls r3, 24 + asrs r3, 24 + movs r4, 0 + ldrsb r4, [r5, r4] + str r4, [sp] + movs r4, 0x2 + ldrsb r4, [r5, r4] + str r4, [sp, 0x4] + bl warp_set + add sp, 0x8 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end saved_warp2_set + + thumb_func_start saved_warp2_set_2 +saved_warp2_set_2: @ 8084C7C + push {r4,r5,lr} + sub sp, 0x8 + ldr r4, [sp, 0x14] + ldr r5, [sp, 0x18] + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + adds r0, 0x14 + lsls r1, 24 + asrs r1, 24 + lsls r2, 24 + asrs r2, 24 + lsls r3, 24 + asrs r3, 24 + lsls r4, 24 + asrs r4, 24 + str r4, [sp] + lsls r5, 24 + asrs r5, 24 + str r5, [sp, 0x4] + bl warp_set + add sp, 0x8 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end saved_warp2_set_2 + + thumb_func_start copy_saved_warp2_bank_and_enter_x_to_warp1 +copy_saved_warp2_bank_and_enter_x_to_warp1: @ 8084CB4 + ldr r2, =gUnknown_020322E4 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r1, [r0, 0x18] + ldr r0, [r0, 0x14] + str r0, [r2] + str r1, [r2, 0x4] + bx lr + .pool + thumb_func_end copy_saved_warp2_bank_and_enter_x_to_warp1 + + thumb_func_start sub_8084CCC +@ void sub_8084CCC(int a1) +sub_8084CCC: @ 8084CCC + push {r4,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + bl GetHealLocationPointer + adds r4, r0, 0 + cmp r4, 0 + beq _08084CFA + movs r0, 0 + ldrsb r0, [r4, r0] + movs r1, 0x1 + ldrsb r1, [r4, r1] + movs r2, 0x1 + negs r2, r2 + movs r3, 0x2 + ldrsb r3, [r4, r3] + ldrb r4, [r4, 0x4] + lsls r4, 24 + asrs r4, 24 + str r4, [sp] + bl Overworld_SetWarpDestination +_08084CFA: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8084CCC + + thumb_func_start copy_saved_warp3_bank_and_enter_x_to_warp1 +@ void copy_saved_warp3_bank_and_enter_x_to_warp1() +copy_saved_warp3_bank_and_enter_x_to_warp1: @ 8084D04 + ldr r2, =gUnknown_020322E4 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r1, [r0, 0x20] + ldr r0, [r0, 0x1C] + str r0, [r2] + str r1, [r2, 0x4] + bx lr + .pool + thumb_func_end copy_saved_warp3_bank_and_enter_x_to_warp1 + + thumb_func_start Overworld_SetHealLocationWarp +Overworld_SetHealLocationWarp: @ 8084D1C + push {r4,r5,lr} + sub sp, 0x8 + lsls r0, 24 + lsrs r0, 24 + bl GetHealLocationPointer + adds r5, r0, 0 + cmp r5, 0 + beq _08084D50 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + adds r0, 0x1C + movs r1, 0 + ldrsb r1, [r5, r1] + movs r2, 0x1 + ldrsb r2, [r5, r2] + movs r3, 0x1 + negs r3, r3 + movs r4, 0x2 + ldrsb r4, [r5, r4] + str r4, [sp] + movs r4, 0x4 + ldrsb r4, [r5, r4] + str r4, [sp, 0x4] + bl warp_set +_08084D50: + add sp, 0x8 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end Overworld_SetHealLocationWarp + + thumb_func_start sub_8084D5C +sub_8084D5C: @ 8084D5C + push {r4-r7,lr} + sub sp, 0x4 + lsls r0, 16 + lsrs r6, r0, 16 + lsls r1, 16 + lsrs r7, r1, 16 + bl sav1_map_get_light_level + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r1, =gUnknown_020322E4 + movs r0, 0 + ldrsb r0, [r1, r0] + ldrb r1, [r1, 0x1] + lsls r1, 24 + asrs r1, 24 + bl get_map_light_level_by_bank_and_number + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r4, 0 + bl is_light_level_1_2_3_5_or_6 + lsls r0, 24 + cmp r0, 0 + beq _08084DC4 + adds r0, r5, 0 + bl is_light_level_1_2_3_5_or_6 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08084DC4 + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + movs r0, 0x4 + ldrsb r0, [r1, r0] + ldrb r1, [r1, 0x5] + lsls r1, 24 + asrs r1, 24 + movs r2, 0x1 + negs r2, r2 + subs r3, r6, 0x7 + lsls r3, 24 + asrs r3, 24 + subs r4, r7, 0x6 + lsls r4, 24 + asrs r4, 24 + str r4, [sp] + bl sub_8084DD4 +_08084DC4: + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8084D5C + + thumb_func_start sub_8084DD4 +sub_8084DD4: @ 8084DD4 + push {r4-r6,lr} + sub sp, 0x8 + adds r4, r0, 0 + adds r5, r1, 0 + adds r6, r2, 0 + ldr r1, [sp, 0x18] + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + adds r0, 0x24 + lsls r4, 24 + asrs r4, 24 + lsls r5, 24 + asrs r5, 24 + lsls r6, 24 + asrs r6, 24 + lsls r3, 24 + asrs r3, 24 + str r3, [sp] + lsls r1, 24 + asrs r1, 24 + str r1, [sp, 0x4] + adds r1, r4, 0 + adds r2, r5, 0 + adds r3, r6, 0 + bl warp_set + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8084DD4 + + thumb_func_start sub_8084E14 +sub_8084E14: @ 8084E14 + ldr r2, =gUnknown_020322E4 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r1, [r0, 0x28] + ldr r0, [r0, 0x24] + str r0, [r2] + str r1, [r2, 0x4] + bx lr + .pool + thumb_func_end sub_8084E14 + + thumb_func_start sub_8084E2C +sub_8084E2C: @ 8084E2C + push {r4-r6,lr} + sub sp, 0x8 + adds r4, r0, 0 + adds r5, r1, 0 + adds r6, r2, 0 + ldr r1, [sp, 0x18] + ldr r0, =gUnknown_020322EC + lsls r4, 24 + asrs r4, 24 + lsls r5, 24 + asrs r5, 24 + lsls r6, 24 + asrs r6, 24 + lsls r3, 24 + asrs r3, 24 + str r3, [sp] + lsls r1, 24 + asrs r1, 24 + str r1, [sp, 0x4] + adds r1, r4, 0 + adds r2, r5, 0 + adds r3, r6, 0 + bl warp_set + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8084E2C + + thumb_func_start warp1_set_to_warp2 +warp1_set_to_warp2: @ 8084E68 + ldr r2, =gUnknown_020322E4 + ldr r0, =gUnknown_020322EC + ldr r1, [r0, 0x4] + ldr r0, [r0] + str r0, [r2] + str r1, [r2, 0x4] + bx lr + .pool + thumb_func_end warp1_set_to_warp2 + + thumb_func_start sub_8084E80 +sub_8084E80: @ 8084E80 + push {r4-r6,lr} + sub sp, 0x8 + adds r4, r0, 0 + adds r5, r1, 0 + adds r6, r2, 0 + ldr r1, [sp, 0x18] + ldr r0, =gUnknown_020322F4 + lsls r4, 24 + asrs r4, 24 + lsls r5, 24 + asrs r5, 24 + lsls r6, 24 + asrs r6, 24 + lsls r3, 24 + asrs r3, 24 + str r3, [sp] + lsls r1, 24 + asrs r1, 24 + str r1, [sp, 0x4] + adds r1, r4, 0 + adds r2, r5, 0 + adds r3, r6, 0 + bl warp_set + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8084E80 + + thumb_func_start sub_8084EBC +sub_8084EBC: @ 8084EBC + push {r4-r6,lr} + sub sp, 0x4 + lsls r0, 16 + lsrs r5, r0, 16 + lsls r1, 16 + lsrs r6, r1, 16 + ldr r4, =gUnknown_020322F4 + adds r0, r4, 0 + bl warp_data_is_not_neg_1 + cmp r0, 0x1 + bne _08084EF0 + ldr r2, =gUnknown_020322E4 + ldr r0, =gUnknown_020322DC + ldr r1, [r0, 0x4] + ldr r0, [r0] + str r0, [r2] + str r1, [r2, 0x4] + b _08084F0A + .pool +_08084EF0: + movs r0, 0 + ldrsb r0, [r4, r0] + movs r1, 0x1 + ldrsb r1, [r4, r1] + movs r2, 0x1 + negs r2, r2 + lsls r3, r5, 24 + asrs r3, 24 + lsls r4, r6, 24 + asrs r4, 24 + str r4, [sp] + bl Overworld_SetWarpDestination +_08084F0A: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8084EBC + + thumb_func_start warp1_set_to_sav1w +warp1_set_to_sav1w: @ 8084F14 + ldr r2, =gUnknown_020322E4 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r1, [r0, 0x10] + ldr r0, [r0, 0xC] + str r0, [r2] + str r1, [r2, 0x4] + bx lr + .pool + thumb_func_end warp1_set_to_sav1w + + thumb_func_start sub_8084F2C +sub_8084F2C: @ 8084F2C + push {r4-r6,lr} + sub sp, 0x8 + adds r4, r0, 0 + adds r5, r1, 0 + adds r6, r2, 0 + ldr r1, [sp, 0x18] + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + adds r0, 0xC + lsls r4, 24 + asrs r4, 24 + lsls r5, 24 + asrs r5, 24 + lsls r6, 24 + asrs r6, 24 + lsls r3, 24 + asrs r3, 24 + str r3, [sp] + lsls r1, 24 + asrs r1, 24 + str r1, [sp, 0x4] + adds r1, r4, 0 + adds r2, r5, 0 + adds r3, r6, 0 + bl warp_set + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8084F2C + + thumb_func_start sub_8084F6C +sub_8084F6C: @ 8084F6C + push {r4,r5,lr} + sub sp, 0x8 + lsls r0, 24 + lsrs r0, 24 + bl GetHealLocationPointer + adds r5, r0, 0 + cmp r5, 0 + beq _08084FA0 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + adds r0, 0xC + movs r1, 0 + ldrsb r1, [r5, r1] + movs r2, 0x1 + ldrsb r2, [r5, r2] + movs r3, 0x1 + negs r3, r3 + movs r4, 0x2 + ldrsb r4, [r5, r4] + str r4, [sp] + movs r4, 0x4 + ldrsb r4, [r5, r4] + str r4, [sp, 0x4] + bl warp_set +_08084FA0: + add sp, 0x8 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8084F6C + + thumb_func_start sub_8084FAC +sub_8084FAC: @ 8084FAC + ldr r0, =gSaveBlock1Ptr + ldr r2, [r0] + ldr r0, [r2, 0x14] + ldr r1, [r2, 0x18] + str r0, [r2, 0xC] + str r1, [r2, 0x10] + bx lr + .pool + thumb_func_end sub_8084FAC + + thumb_func_start sub_8084FC0 +sub_8084FC0: @ 8084FC0 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, =gMapHeader + ldr r0, [r0, 0xC] + ldr r3, [r0] + ldr r1, [r0, 0x4] + cmp r1, 0 + bne _08084FDC + b _08084FF0 + .pool +_08084FD8: + adds r0, r1, 0 + b _08084FF2 +_08084FDC: + movs r2, 0 + cmp r2, r3 + bge _08084FF0 +_08084FE2: + ldrb r0, [r1] + cmp r0, r4 + beq _08084FD8 + adds r2, 0x1 + adds r1, 0xC + cmp r2, r3 + blt _08084FE2 +_08084FF0: + movs r0, 0 +_08084FF2: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8084FC0 + + thumb_func_start sub_8084FF8 +sub_8084FF8: @ 8084FF8 + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + lsls r1, 16 + lsrs r4, r1, 16 + lsls r2, 16 + lsrs r5, r2, 16 + bl sub_8084FC0 + adds r1, r0, 0 + cmp r1, 0 + beq _08085030 + movs r0, 0x8 + ldrsb r0, [r1, r0] + ldrb r1, [r1, 0x9] + lsls r1, 24 + asrs r1, 24 + movs r2, 0x1 + negs r2, r2 + lsls r3, r4, 24 + asrs r3, 24 + lsls r4, r5, 24 + asrs r4, 24 + str r4, [sp] + bl Overworld_SetWarpDestination + b _0808504C +_08085030: + bl mapheader_run_script_with_tag_x6 + ldr r0, =gUnknown_020322EC + bl warp_data_is_not_neg_1 + cmp r0, 0 + beq _08085048 + movs r0, 0 + b _0808504E + .pool +_08085048: + bl warp1_set_to_warp2 +_0808504C: + movs r0, 0x1 +_0808504E: + add sp, 0x4 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8084FF8 + + thumb_func_start sub_8085058 +sub_8085058: @ 8085058 + push {lr} + adds r3, r0, 0 + adds r2, r1, 0 + lsls r3, 16 + lsrs r3, 16 + lsls r2, 16 + lsrs r2, 16 + movs r0, 0x6 + adds r1, r3, 0 + bl sub_8084FF8 + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end sub_8085058 + + thumb_func_start sub_8085078 +sub_8085078: @ 8085078 + push {lr} + adds r3, r0, 0 + adds r2, r1, 0 + lsls r3, 16 + lsrs r3, 16 + lsls r2, 16 + lsrs r2, 16 + movs r0, 0x5 + adds r1, r3, 0 + bl sub_8084FF8 + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end sub_8085078 + + thumb_func_start mliX_load_map +mliX_load_map: @ 8085098 + push {r4-r6,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + adds r6, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r5, r1, 0 + lsls r0, r6, 24 + asrs r0, 24 + lsls r1, r5, 24 + asrs r1, 24 + movs r3, 0x1 + negs r3, r3 + str r3, [sp] + adds r2, r3, 0 + bl Overworld_SetWarpDestination + ldr r4, =gMapHeader + ldrb r0, [r4, 0x14] + cmp r0, 0x3A + beq _080850C8 + bl sub_8085810 +_080850C8: + bl warp_shift + bl set_current_map_header_from_sav1_save_old_name + bl CopyFieldObjectTemplatesToSav1 + bl TrySetMapSaveWarpStatus + bl ClearTempFieldEventData + bl ResetCyclingRoadChallengeData + bl prev_quest_postbuffer_cursor_backup_reset + adds r0, r6, 0 + adds r1, r5, 0 + bl TryUpdateRandomTrainerRematches + bl DoTimeBasedEvents + bl SetSav1WeatherFromCurrMapHeader + bl sub_8085B2C + bl update_sav1_flash_used_on_map + bl Overworld_ClearSavedMusic + bl mapheader_run_script_with_tag_x3 + bl not_trainer_hill_battle_pyramid + ldr r0, [r4] + bl copy_map_tileset2_to_vram_2 + ldr r0, [r4] + bl apply_map_tileset2_palette + movs r4, 0x6 +_08085116: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_80ABF00 + adds r4, 0x1 + cmp r4, 0xC + ble _08085116 + bl sub_80A0A2C + bl UpdateLocationHistoryForRoamer + bl RoamerMove + bl DoCurrentWeather + bl wild_encounter_reset_coro_args + bl mapheader_run_script_with_tag_x5 + ldr r2, =gMapHeader + ldrb r0, [r2, 0x14] + cmp r0, 0x3A + bne _0808514C + ldr r1, =gUnknown_020322FC + ldrh r1, [r1] + cmp r0, r1 + beq _08085150 +_0808514C: + bl AddMapNamePopUpWindowTask +_08085150: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end mliX_load_map + + thumb_func_start mli0_load_map +mli0_load_map: @ 8085160 + push {r4-r7,lr} + adds r7, r0, 0 + bl set_current_map_header_from_sav1_save_old_name + ldr r0, =gUnknown_020322D8 + ldrb r1, [r0] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080851A2 + ldr r0, =gMapHeader + ldrh r1, [r0, 0x12] + ldr r0, =0x00000169 + cmp r1, r0 + bne _08085190 + bl sub_81AA1D8 + b _080851A2 + .pool +_08085190: + bl InTrainerHill + cmp r0, 0 + beq _0808519E + bl sub_81D5DF8 + b _080851A2 +_0808519E: + bl CopyFieldObjectTemplatesToSav1 +_080851A2: + ldr r4, =gMapHeader + ldrb r0, [r4, 0x17] + bl is_light_level_1_2_3_5_or_6 + lsls r0, 24 + lsrs r5, r0, 24 + ldrb r0, [r4, 0x17] + bl is_light_level_8_or_9 + lsls r0, 24 + lsrs r6, r0, 24 + bl sub_80EB218 + bl TrySetMapSaveWarpStatus + bl ClearTempFieldEventData + bl ResetCyclingRoadChallengeData + bl prev_quest_postbuffer_cursor_backup_reset + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + movs r0, 0x4 + ldrsb r0, [r1, r0] + lsls r0, 16 + lsrs r0, 16 + ldrb r1, [r1, 0x5] + lsls r1, 24 + asrs r1, 24 + lsls r1, 16 + lsrs r1, 16 + bl TryUpdateRandomTrainerRematches + cmp r7, 0x1 + beq _080851EE + bl DoTimeBasedEvents +_080851EE: + bl SetSav1WeatherFromCurrMapHeader + bl sub_8085B2C + cmp r5, 0 + beq _08085200 + ldr r0, =0x00000888 + bl FlagClear +_08085200: + bl update_sav1_flash_used_on_map + bl Overworld_ClearSavedMusic + bl mapheader_run_script_with_tag_x3 + bl UpdateLocationHistoryForRoamer + bl RoamerMoveToOtherLocationSet + ldrh r1, [r4, 0x12] + ldr r0, =0x00000169 + cmp r1, r0 + bne _08085234 + movs r0, 0 + bl battle_pyramid_map_load_related + b _08085246 + .pool +_08085234: + bl InTrainerHill + cmp r0, 0 + beq _08085242 + bl trainer_hill_map_load_related + b _08085246 +_08085242: + bl not_trainer_hill_battle_pyramid +_08085246: + cmp r7, 0x1 + beq _0808525E + cmp r6, 0 + beq _0808525E + ldr r1, =gUnknown_03005DC0 + ldr r0, [r1] + ldr r1, [r1, 0x4] + bl UpdateTVScreensOnMap + movs r0, 0x1 + bl sub_80E9238 +_0808525E: + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end mli0_load_map + + thumb_func_start player_avatar_init_params_reset +player_avatar_init_params_reset: @ 8085268 + ldr r1, =gUnknown_02032300 + movs r0, 0x1 + strb r0, [r1, 0x1] + strb r0, [r1] + bx lr + .pool + thumb_func_end player_avatar_init_params_reset + + thumb_func_start walkrun_find_lowest_active_bit_in_bitfield +walkrun_find_lowest_active_bit_in_bitfield: @ 8085278 + push {r4,lr} + bl player_get_direction_lower_nybble + ldr r4, =gUnknown_02032300 + strb r0, [r4, 0x1] + movs r0, 0x2 + bl TestPlayerAvatarFlags + lsls r0, 24 + cmp r0, 0 + beq _08085298 + movs r0, 0x2 + b _080852CA + .pool +_08085298: + movs r0, 0x4 + bl TestPlayerAvatarFlags + lsls r0, 24 + cmp r0, 0 + beq _080852A8 + movs r0, 0x4 + b _080852CA +_080852A8: + movs r0, 0x8 + bl TestPlayerAvatarFlags + lsls r0, 24 + cmp r0, 0 + beq _080852B8 + movs r0, 0x8 + b _080852CA +_080852B8: + movs r0, 0x10 + bl TestPlayerAvatarFlags + lsls r0, 24 + cmp r0, 0 + beq _080852C8 + movs r0, 0x10 + b _080852CA +_080852C8: + movs r0, 0x1 +_080852CA: + strb r0, [r4] + pop {r4} + pop {r0} + bx r0 + thumb_func_end walkrun_find_lowest_active_bit_in_bitfield + + thumb_func_start sub_80852D4 +sub_80852D4: @ 80852D4 + push {r4-r7,lr} + bl sav1_map_get_light_level + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + bl cur_mapdata_block_role_at_screen_center_acc_to_sav1 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r6, =gUnknown_02032300 + adds r0, r6, 0 + adds r1, r4, 0 + adds r2, r5, 0 + bl sub_808532C + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + ldr r0, =0xffffff00 + ands r7, r0 + orrs r7, r1 + adds r0, r6, 0 + adds r2, r4, 0 + adds r3, r5, 0 + bl sub_808538C + lsls r0, 24 + lsrs r0, 16 + ldr r1, =0xffff00ff + ands r7, r1 + orrs r7, r0 + str r7, [r6] + adds r0, r6, 0 + pop {r4-r7} + pop {r1} + bx r1 + .pool + thumb_func_end sub_80852D4 + + thumb_func_start sub_808532C +sub_808532C: @ 808532C + push {r4-r6,lr} + adds r6, r0, 0 + lsls r1, 16 + lsrs r5, r1, 16 + lsls r2, 24 + lsrs r4, r2, 24 + cmp r4, 0x8 + beq _08085348 + ldr r0, =0x0000088d + bl FlagGet + lsls r0, 24 + cmp r0, 0 + bne _08085382 +_08085348: + cmp r4, 0x5 + bne _08085354 + movs r0, 0x10 + b _08085384 + .pool +_08085354: + lsls r0, r5, 24 + lsrs r0, 24 + bl MetatileBehavior_IsSurfableWaterOrUnderwater + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08085368 + movs r0, 0x8 + b _08085384 +_08085368: + bl sav1_map_is_biking_allowed + cmp r0, 0x1 + bne _08085382 + ldrb r0, [r6] + cmp r0, 0x2 + bne _0808537A + movs r0, 0x2 + b _08085384 +_0808537A: + cmp r0, 0x4 + bne _08085382 + movs r0, 0x4 + b _08085384 +_08085382: + movs r0, 0x1 +_08085384: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_808532C + + thumb_func_start sub_808538C +sub_808538C: @ 808538C + push {r4-r7,lr} + adds r6, r0, 0 + lsls r1, 24 + lsrs r7, r1, 24 + lsls r2, 16 + lsrs r4, r2, 16 + lsls r3, 24 + lsrs r5, r3, 24 + ldr r0, =0x0000088d + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _080853AC + cmp r5, 0x6 + beq _0808540C +_080853AC: + lsls r4, 24 + lsrs r5, r4, 24 + adds r0, r5, 0 + bl MetatileBehavior_IsDeepSouthWarp + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _080853E8 + adds r0, r5, 0 + bl MetatileBehavior_IsNonAnimDoor + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08085442 + adds r0, r5, 0 + bl MetatileBehavior_IsDoor + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08085442 + adds r0, r5, 0 + bl MetatileBehavior_IsSouthArrowWarp + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080853F0 +_080853E8: + movs r0, 0x2 + b _08085448 + .pool +_080853F0: + adds r0, r5, 0 + bl MetatileBehavior_IsNorthArrowWarp + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08085442 + adds r0, r5, 0 + bl MetatileBehavior_IsWestArrowWarp + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08085410 +_0808540C: + movs r0, 0x4 + b _08085448 +_08085410: + adds r0, r5, 0 + bl MetatileBehavior_IsEastArrowWarp + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08085422 + movs r0, 0x3 + b _08085448 +_08085422: + ldrb r0, [r6] + cmp r0, 0x10 + bne _0808542C + cmp r7, 0x8 + beq _08085446 +_0808542C: + cmp r0, 0x8 + bne _08085434 + cmp r7, 0x10 + beq _08085446 +_08085434: + lsrs r0, r4, 24 + bl MetatileBehavior_IsLadder + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08085446 +_08085442: + movs r0, 0x1 + b _08085448 +_08085446: + ldrb r0, [r6, 0x1] +_08085448: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_808538C + + thumb_func_start cur_mapdata_block_role_at_screen_center_acc_to_sav1 +cur_mapdata_block_role_at_screen_center_acc_to_sav1: @ 8085450 + push {lr} + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + movs r2, 0 + ldrsh r0, [r1, r2] + adds r0, 0x7 + movs r2, 0x2 + ldrsh r1, [r1, r2] + adds r1, 0x7 + bl MapGridGetMetatileBehaviorAt + lsls r0, 16 + lsrs r0, 16 + pop {r1} + bx r1 + .pool + thumb_func_end cur_mapdata_block_role_at_screen_center_acc_to_sav1 + + thumb_func_start sav1_map_is_biking_allowed +sav1_map_is_biking_allowed: @ 8085474 + push {lr} + ldr r0, =gMapHeader + ldrb r1, [r0, 0x1A] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0808548C + movs r0, 0x1 + b _0808548E + .pool +_0808548C: + movs r0, 0 +_0808548E: + pop {r1} + bx r1 + thumb_func_end sav1_map_is_biking_allowed + + thumb_func_start update_sav1_flash_used_on_map +update_sav1_flash_used_on_map: @ 8085494 + push {lr} + ldr r0, =gMapHeader + ldrb r1, [r0, 0x15] + cmp r1, 0 + bne _080854B0 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + adds r0, 0x30 + strb r1, [r0] + b _080854DE + .pool +_080854B0: + ldr r0, =0x00000888 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _080854D0 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + adds r0, 0x30 + movs r1, 0x1 + strb r1, [r0] + b _080854DE + .pool +_080854D0: + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + ldr r0, =gUnknown_0854FE78 + ldr r0, [r0] + subs r0, 0x1 + adds r1, 0x30 + strb r0, [r1] +_080854DE: + pop {r0} + bx r0 + .pool + thumb_func_end update_sav1_flash_used_on_map + + thumb_func_start Overworld_SetFlashLevel +Overworld_SetFlashLevel: @ 80854EC + push {lr} + adds r1, r0, 0 + cmp r1, 0 + blt _080854FC + ldr r0, =gUnknown_0854FE78 + ldr r0, [r0] + cmp r1, r0 + ble _080854FE +_080854FC: + movs r1, 0 +_080854FE: + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + adds r0, 0x30 + strb r1, [r0] + pop {r0} + bx r0 + .pool + thumb_func_end Overworld_SetFlashLevel + + thumb_func_start Overworld_GetFlashLevel +Overworld_GetFlashLevel: @ 8085514 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + adds r0, 0x30 + ldrb r0, [r0] + bx lr + .pool + thumb_func_end Overworld_GetFlashLevel + + thumb_func_start sub_8085524 +sub_8085524: @ 8085524 + push {lr} + ldr r1, =gSaveBlock1Ptr + ldr r1, [r1] + strh r0, [r1, 0x32] + bl get_mapdata_header + ldr r1, =gMapHeader + str r0, [r1] + pop {r0} + bx r0 + .pool + thumb_func_end sub_8085524 + + thumb_func_start sub_8085540 +sub_8085540: @ 8085540 + ldr r1, =gUnknown_020322D8 + strb r0, [r1] + bx lr + .pool + thumb_func_end sub_8085540 + + thumb_func_start sub_808554C +sub_808554C: @ 808554C + ldr r0, =gUnknown_020322D8 + ldrb r0, [r0] + bx lr + .pool + thumb_func_end sub_808554C + + thumb_func_start sub_8085558 +sub_8085558: @ 8085558 + push {r4,lr} + adds r4, r0, 0 + ldr r0, =0x0000088a + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _080855AC + movs r0, 0 + ldrsb r0, [r4, r0] + cmp r0, 0 + bne _080855AC + movs r0, 0x1 + ldrsb r0, [r4, r0] + cmp r0, 0x5 + blt _08085584 + cmp r0, 0x8 + ble _0808559E + cmp r0, 0x2B + bgt _08085584 + cmp r0, 0x27 + bge _0808559E +_08085584: + ldr r0, =0x0000405e + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x3 + bls _080855AC + movs r0, 0x1 + ldrsb r0, [r4, r0] + cmp r0, 0x2E + bgt _080855AC + cmp r0, 0x2C + blt _080855AC +_0808559E: + movs r0, 0x1 + b _080855AE + .pool +_080855AC: + movs r0, 0 +_080855AE: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8085558 + + thumb_func_start sub_80855B4 +sub_80855B4: @ 80855B4 + push {r4,lr} + adds r4, r0, 0 + ldr r0, =0x000040ca + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x1 + bne _080855D6 + movs r0, 0 + ldrsb r0, [r4, r0] + cmp r0, 0 + bne _080855D6 + movs r0, 0x1 + ldrsb r0, [r4, r0] + cmp r0, 0x7 + beq _080855E0 +_080855D6: + movs r0, 0 + b _080855E2 + .pool +_080855E0: + movs r0, 0x1 +_080855E2: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_80855B4 + + thumb_func_start sub_80855E8 +sub_80855E8: @ 80855E8 + push {r4,lr} + adds r4, r0, 0 + ldr r0, =0x000040b3 + bl VarGet + lsls r0, 16 + cmp r0, 0 + bne _08085606 + movs r0, 0 + ldrsb r0, [r4, r0] + cmp r0, 0x20 + bne _08085606 + ldrb r0, [r4, 0x1] + cmp r0, 0x1 + bls _08085610 +_08085606: + movs r0, 0 + b _08085612 + .pool +_08085610: + movs r0, 0x1 +_08085612: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_80855E8 + + thumb_func_start sub_8085618 +sub_8085618: @ 8085618 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, =0x0000405d + adds r0, r4, 0 + bl VarGet + lsls r0, 16 + cmp r0, 0 + beq _0808564C + adds r0, r4, 0 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x2 + bhi _0808564C + movs r0, 0 + ldrsb r0, [r5, r0] + cmp r0, 0xE + bne _0808564C + ldrb r0, [r5, 0x1] + subs r0, 0x9 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bls _08085654 +_0808564C: + movs r0, 0 + b _08085656 + .pool +_08085654: + movs r0, 0x1 +_08085656: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8085618 + + thumb_func_start warp_target_get_music +warp_target_get_music: @ 808565C + push {r4,lr} + adds r4, r0, 0 + bl sub_80855B4 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x1 + bne _08085674 + ldr r0, =0x0000ffff + b _080856CE + .pool +_08085674: + adds r0, r4, 0 + bl sub_8085558 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x1 + bne _0808568C + ldr r0, =0x000001bb + b _080856CE + .pool +_0808568C: + adds r0, r4, 0 + bl sub_8085618 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x1 + bne _080856A4 + ldr r0, =0x000001b9 + b _080856CE + .pool +_080856A4: + adds r0, r4, 0 + bl sub_80855E8 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x1 + beq _080856CA + movs r0, 0 + ldrsb r0, [r4, r0] + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1 + ldrsb r1, [r4, r1] + lsls r1, 16 + lsrs r1, 16 + bl get_mapheader_by_bank_and_number + ldrh r0, [r0, 0x10] + b _080856CE +_080856CA: + movs r0, 0xCB + lsls r0, 1 +_080856CE: + pop {r4} + pop {r1} + bx r1 + thumb_func_end warp_target_get_music + + thumb_func_start sav1_map_get_music +sav1_map_get_music: @ 80856D4 + push {r4,lr} + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrh r1, [r0, 0x4] + movs r0, 0xD0 + lsls r0, 5 + cmp r1, r0 + bne _080856FC + bl GetSav1Weather + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x8 + bne _080856FC + ldr r0, =0x00000199 + b _08085730 + .pool +_080856FC: + ldr r4, =gSaveBlock1Ptr + ldr r0, [r4] + adds r0, 0x4 + bl warp_target_get_music + lsls r0, 16 + lsrs r1, r0, 16 + ldr r0, =0x00007fff + cmp r1, r0 + beq _0808571C + adds r0, r1, 0 + b _08085730 + .pool +_0808571C: + ldr r0, [r4] + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0x17 + ble _0808572C + movs r0, 0xC9 + lsls r0, 1 + b _08085730 +_0808572C: + movs r0, 0xB4 + lsls r0, 1 +_08085730: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sav1_map_get_music + + thumb_func_start warp1_target_get_music +warp1_target_get_music: @ 8085738 + push {lr} + ldr r0, =gUnknown_020322E4 + bl warp_target_get_music + lsls r0, 16 + lsrs r1, r0, 16 + ldr r0, =0x00007fff + cmp r1, r0 + beq _08085758 + adds r0, r1, 0 + b _08085774 + .pool +_08085758: + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrh r1, [r0, 0x4] + movs r0, 0x80 + lsls r0, 2 + cmp r1, r0 + beq _08085770 + subs r0, 0x6E + b _08085774 + .pool +_08085770: + movs r0, 0xB4 + lsls r0, 1 +_08085774: + pop {r1} + bx r1 + thumb_func_end warp1_target_get_music + + thumb_func_start call_ResetMapMusic +call_ResetMapMusic: @ 8085778 + push {lr} + bl ResetMapMusic + pop {r0} + bx r0 + thumb_func_end call_ResetMapMusic + + thumb_func_start Overworld_PlaySpecialMapMusic +Overworld_PlaySpecialMapMusic: @ 8085784 + push {r4,lr} + bl sav1_map_get_music + lsls r0, 16 + lsrs r4, r0, 16 + ldr r0, =0x000001bb + cmp r4, r0 + beq _080857D6 + ldr r0, =0x0000ffff + cmp r4, r0 + beq _080857D6 + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + ldrh r0, [r1, 0x2C] + cmp r0, 0 + beq _080857B4 + adds r4, r0, 0 + b _080857D6 + .pool +_080857B4: + bl sav1_map_get_light_level + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x5 + bne _080857C8 + ldr r4, =0x0000019b + b _080857D6 + .pool +_080857C8: + movs r0, 0x8 + bl TestPlayerAvatarFlags + lsls r0, 24 + cmp r0, 0 + beq _080857D6 + ldr r4, =0x0000016d +_080857D6: + bl GetCurrentMapMusic + lsls r0, 16 + lsrs r0, 16 + cmp r4, r0 + beq _080857E8 + adds r0, r4, 0 + bl PlayNewMapMusic +_080857E8: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end Overworld_PlaySpecialMapMusic + + thumb_func_start Overworld_SetSavedMusic +Overworld_SetSavedMusic: @ 80857F4 + ldr r1, =gSaveBlock1Ptr + ldr r1, [r1] + strh r0, [r1, 0x2C] + bx lr + .pool + thumb_func_end Overworld_SetSavedMusic + + thumb_func_start Overworld_ClearSavedMusic +Overworld_ClearSavedMusic: @ 8085800 + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + movs r0, 0 + strh r0, [r1, 0x2C] + bx lr + .pool + thumb_func_end Overworld_ClearSavedMusic + + thumb_func_start sub_8085810 +sub_8085810: @ 8085810 + push {r4-r6,lr} + ldr r0, =0x00004001 + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08085890 + bl warp1_target_get_music + lsls r0, 16 + lsrs r4, r0, 16 + bl GetCurrentMapMusic + lsls r0, 16 + lsrs r5, r0, 16 + ldr r0, =0x000001bb + cmp r4, r0 + beq _08085856 + ldr r0, =0x0000ffff + cmp r4, r0 + beq _08085856 + ldr r0, =0x0000019b + cmp r5, r0 + beq _08085890 + ldr r6, =0x0000016d + cmp r5, r6 + beq _08085890 + movs r0, 0x8 + bl TestPlayerAvatarFlags + lsls r0, 24 + cmp r0, 0 + beq _08085856 + adds r4, r6, 0 +_08085856: + cmp r4, r5 + beq _08085890 + movs r0, 0x6 + bl TestPlayerAvatarFlags + lsls r0, 24 + cmp r0, 0 + beq _08085888 + adds r0, r4, 0 + movs r1, 0x4 + movs r2, 0x4 + bl FadeOutAndFadeInNewMapMusic + b _08085890 + .pool +_08085888: + adds r0, r4, 0 + movs r1, 0x8 + bl FadeOutAndPlayNewMapMusic +_08085890: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8085810 + + thumb_func_start Overworld_ChangeMusicToDefault +Overworld_ChangeMusicToDefault: @ 8085898 + push {r4,lr} + bl GetCurrentMapMusic + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + bl sav1_map_get_music + lsls r0, 16 + lsrs r0, 16 + cmp r4, r0 + beq _080858BE + bl sav1_map_get_music + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x8 + bl FadeOutAndPlayNewMapMusic +_080858BE: + pop {r4} + pop {r0} + bx r0 + thumb_func_end Overworld_ChangeMusicToDefault + + thumb_func_start Overworld_ChangeMusicTo +Overworld_ChangeMusicTo: @ 80858C4 + push {r4,lr} + lsls r0, 16 + lsrs r4, r0, 16 + bl GetCurrentMapMusic + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, r4 + beq _080858E4 + ldr r0, =0x000001bb + cmp r1, r0 + beq _080858E4 + adds r0, r4, 0 + movs r1, 0x8 + bl FadeOutAndPlayNewMapMusic +_080858E4: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end Overworld_ChangeMusicTo + + thumb_func_start is_warp1_light_level_8_or_9 +is_warp1_light_level_8_or_9: @ 80858F0 + push {lr} + bl warp1_get_mapheader + ldrb r0, [r0, 0x17] + bl is_light_level_8_or_9 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08085908 + movs r0, 0x4 + b _0808590A +_08085908: + movs r0, 0x2 +_0808590A: + pop {r1} + bx r1 + thumb_func_end is_warp1_light_level_8_or_9 + + thumb_func_start music_something +music_something: @ 8085910 + push {r4,r5,lr} + bl GetCurrentMapMusic + lsls r0, 16 + lsrs r5, r0, 16 + bl warp1_target_get_music + lsls r0, 16 + lsrs r4, r0, 16 + ldr r0, =0x00004001 + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0808597E + bl GetCurrentMapMusic + lsls r0, 16 + lsrs r0, 16 + cmp r4, r0 + beq _0808597E + ldr r0, =0x0000016d + cmp r5, r0 + bne _08085972 + ldr r0, =0x000040ca + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x2 + bne _08085972 + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldr r1, =0x0000ffff + ldrh r2, [r0, 0x4] + movs r0, 0xE0 + lsls r0, 3 + cmp r2, r0 + bne _08085972 + ldr r3, =gUnknown_020322E4 + ldrh r0, [r3] + ands r1, r0 + cmp r1, r2 + bne _08085972 + ldr r1, [r3, 0x4] + ldr r0, =0x0035001d + cmp r1, r0 + beq _0808597E +_08085972: + bl is_warp1_light_level_8_or_9 + lsls r0, 24 + lsrs r0, 24 + bl FadeOutMapMusic +_0808597E: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end music_something + + thumb_func_start sub_80859A0 +sub_80859A0: @ 80859A0 + push {lr} + bl IsNotWaitingForBGMStop + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end sub_80859A0 + + thumb_func_start sub_80859B0 +sub_80859B0: @ 80859B0 + push {lr} + movs r0, 0x4 + bl FadeOutMapMusic + pop {r0} + bx r0 + thumb_func_end sub_80859B0 + + thumb_func_start sub_80859BC +sub_80859BC: @ 80859BC + push {r4,lr} + sub sp, 0x4 + mov r4, sp + adds r4, 0x2 + mov r0, sp + adds r1, r4, 0 + bl PlayerGetDestCoords + ldr r0, =gUnknown_02032306 + ldrb r0, [r0] + cmp r0, 0x1 + bne _080859F0 + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + movs r2, 0 + ldrsh r1, [r4, r2] + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + bl MetatileBehavior_IsSurfableWaterOrUnderwater + lsls r0, 24 + cmp r0, 0 + beq _08085A2C +_080859F0: + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x58 + bl __umodsi3 + adds r4, r0, 0 + adds r4, 0xD4 + lsls r4, 24 + lsrs r4, 24 + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1E + bl __umodsi3 + adds r2, r0, 0 + adds r2, 0x32 + ldr r0, =gUnknown_02032304 + ldrh r0, [r0] + lsls r4, 24 + asrs r4, 24 + lsls r2, 24 + asrs r2, 24 + adds r1, r4, 0 + movs r3, 0x1 + bl PlayCry2 +_08085A2C: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_80859BC + + thumb_func_start wild_encounter_related +wild_encounter_related: @ 8085A3C + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + adds r6, r0, 0 + adds r7, r1, 0 + movs r1, 0 + ldrsh r0, [r6, r1] + cmp r0, 0x4 + bhi _08085B20 + lsls r0, 2 + ldr r1, =_08085A60 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_08085A60: + .4byte _08085A74 + .4byte _08085A88 + .4byte _08085AA4 + .4byte _08085B0C + .4byte _08085B20 +_08085A74: + ldr r0, =gUnknown_02032304 + ldrh r0, [r0] + cmp r0, 0 + bne _08085A84 + movs r0, 0x4 + b _08085B1E + .pool +_08085A84: + movs r0, 0x1 + b _08085B1E +_08085A88: + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x96 + lsls r1, 4 + bl __umodsi3 + movs r1, 0x96 + lsls r1, 3 + adds r0, r1 + strh r0, [r7] + movs r0, 0x3 + b _08085B1E +_08085AA4: + movs r0, 0x1 + mov r9, r0 + bl CalculatePlayerPartyCount + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + movs r5, 0 + b _08085ABC +_08085AB6: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 +_08085ABC: + cmp r5, r8 + bcs _08085AE4 + movs r0, 0x64 + muls r0, r5 + ldr r4, =gPlayerParty + adds r0, r4 + movs r1, 0x6 + bl GetMonData + cmp r0, 0 + bne _08085AB6 + adds r0, r4, 0 + bl GetMonAbility + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x44 + bne _08085AB6 + movs r1, 0x2 + mov r9, r1 +_08085AE4: + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r4, 0x96 + lsls r4, 3 + adds r1, r4, 0 + bl __umodsi3 + lsls r0, 16 + lsrs r0, 16 + adds r0, r4 + mov r1, r9 + bl __divsi3 + strh r0, [r7] + movs r0, 0x3 + b _08085B1E + .pool +_08085B0C: + ldrh r0, [r7] + subs r0, 0x1 + strh r0, [r7] + lsls r0, 16 + cmp r0, 0 + bne _08085B20 + bl sub_80859BC + movs r0, 0x2 +_08085B1E: + strh r0, [r6] +_08085B20: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end wild_encounter_related + + thumb_func_start sub_8085B2C +sub_8085B2C: @ 8085B2C + push {lr} + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + ldrh r1, [r0, 0x4] + movs r0, 0xB4 + lsls r0, 6 + cmp r1, r0 + bne _08085B5C + bl IsMirageIslandPresent + lsls r0, 24 + cmp r0, 0 + bne _08085B5C + ldr r1, =gUnknown_02032306 + movs r0, 0x1 + strb r0, [r1] + bl GetLocalWaterMon + b _08085B62 + .pool +_08085B5C: + ldr r0, =gUnknown_02032306 + bl GetLocalWildMon +_08085B62: + ldr r1, =gUnknown_02032304 + strh r0, [r1] + pop {r0} + bx r0 + .pool + thumb_func_end sub_8085B2C + + thumb_func_start get_map_light_level_by_bank_and_number +@ int get_map_light_level_by_bank_and_number(int bank, int number) +get_map_light_level_by_bank_and_number: @ 8085B74 + push {lr} + lsls r0, 24 + asrs r0, 8 + lsrs r0, 16 + lsls r1, 24 + asrs r1, 8 + lsrs r1, 16 + bl get_mapheader_by_bank_and_number + ldrb r0, [r0, 0x17] + pop {r1} + bx r1 + thumb_func_end get_map_light_level_by_bank_and_number + + thumb_func_start get_map_light_level_from_warp +@ int get_map_light_level_from_warp(warpdata *warp) +get_map_light_level_from_warp: @ 8085B8C + push {lr} + movs r2, 0 + ldrsb r2, [r0, r2] + movs r1, 0x1 + ldrsb r1, [r0, r1] + adds r0, r2, 0 + bl get_map_light_level_by_bank_and_number + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end get_map_light_level_from_warp + + thumb_func_start sav1_map_get_light_level +sav1_map_get_light_level: @ 8085BA4 + push {lr} + ldr r0, =gSaveBlock1Ptr + ldr r0, [r0] + adds r0, 0x4 + bl get_map_light_level_from_warp + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .pool + thumb_func_end sav1_map_get_light_level + + thumb_func_start get_map_light_from_warp0 +get_map_light_from_warp0: @ 8085BBC + push {lr} + ldr r0, =gUnknown_020322DC + bl get_map_light_level_from_warp + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .pool + thumb_func_end get_map_light_from_warp0 + + thumb_func_start is_light_level_1_2_3_5_or_6 +is_light_level_1_2_3_5_or_6: @ 8085BD0 + push {lr} + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x3 + beq _08085BEA + cmp r0, 0x1 + beq _08085BEA + cmp r0, 0x5 + beq _08085BEA + cmp r0, 0x2 + beq _08085BEA + cmp r0, 0x6 + bne _08085BEE +_08085BEA: + movs r0, 0x1 + b _08085BF0 +_08085BEE: + movs r0, 0 +_08085BF0: + pop {r1} + bx r1 + thumb_func_end is_light_level_1_2_3_5_or_6 + + thumb_func_start Overworld_MapTypeAllowsTeleportAndFly +Overworld_MapTypeAllowsTeleportAndFly: @ 8085BF4 + push {lr} + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x3 + beq _08085C0A + cmp r0, 0x1 + beq _08085C0A + cmp r0, 0x6 + beq _08085C0A + cmp r0, 0x2 + bne _08085C0E +_08085C0A: + movs r0, 0x1 + b _08085C10 +_08085C0E: + movs r0, 0 +_08085C10: + pop {r1} + bx r1 + thumb_func_end Overworld_MapTypeAllowsTeleportAndFly + + thumb_func_start is_light_level_8_or_9 +is_light_level_8_or_9: @ 8085C14 + push {lr} + lsls r0, 24 + movs r1, 0xF8 + lsls r1, 24 + adds r0, r1 + lsrs r0, 24 + cmp r0, 0x1 + bls _08085C28 + movs r0, 0 + b _08085C2A +_08085C28: + movs r0, 0x1 +_08085C2A: + pop {r1} + bx r1 + thumb_func_end is_light_level_8_or_9 + + thumb_func_start sav1_saved_warp2_map_get_name +sav1_saved_warp2_map_get_name: @ 8085C30 + push {lr} + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + movs r0, 0x14 + ldrsb r0, [r1, r0] + lsls r0, 16 + lsrs r0, 16 + ldrb r1, [r1, 0x15] + lsls r1, 24 + asrs r1, 24 + lsls r1, 16 + lsrs r1, 16 + bl get_mapheader_by_bank_and_number + ldrb r0, [r0, 0x14] + pop {r1} + bx r1 + .pool + thumb_func_end sav1_saved_warp2_map_get_name + + thumb_func_start sav1_map_get_name +sav1_map_get_name: @ 8085C58 + push {lr} + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + movs r0, 0x4 + ldrsb r0, [r1, r0] + lsls r0, 16 + lsrs r0, 16 + ldrb r1, [r1, 0x5] + lsls r1, 24 + asrs r1, 24 + lsls r1, 16 + lsrs r1, 16 + bl get_mapheader_by_bank_and_number + ldrb r0, [r0, 0x14] + pop {r1} + bx r1 + .pool + thumb_func_end sav1_map_get_name + + thumb_func_start GetCurrentMapBattleScene +GetCurrentMapBattleScene: @ 8085C80 + push {lr} + ldr r0, =gSaveBlock1Ptr + ldr r1, [r0] + movs r0, 0x4 + ldrsb r0, [r1, r0] + lsls r0, 16 + lsrs r0, 16 + ldrb r1, [r1, 0x5] + lsls r1, 24 + asrs r1, 24 + lsls r1, 16 + lsrs r1, 16 + bl get_mapheader_by_bank_and_number + ldrb r0, [r0, 0x1B] + pop {r1} + bx r1 + .pool + thumb_func_end GetCurrentMapBattleScene + + thumb_func_start overworld_bg_setup +@ void overworld_bg_setup() +overworld_bg_setup: @ 8085CA8 + push {r4-r6,lr} + mov r6, r8 + push {r6} + ldr r1, =gUnknown_08339DAC + movs r0, 0 + movs r2, 0x4 + bl InitBgsFromTemplates + movs r0, 0x1 + movs r1, 0x5 + movs r2, 0x1 + bl SetBgAttribute + movs r0, 0x2 + movs r1, 0x5 + movs r2, 0x1 + bl SetBgAttribute + movs r0, 0x3 + movs r1, 0x5 + movs r2, 0x1 + bl SetBgAttribute + ldr r0, =gUnknown_03005DA0 + mov r8, r0 + movs r4, 0x80 + lsls r4, 4 + adds r0, r4, 0 + bl AllocZeroed + mov r1, r8 + str r0, [r1] + ldr r6, =gUnknown_03005D9C + adds r0, r4, 0 + bl AllocZeroed + str r0, [r6] + ldr r5, =gUnknown_03005DA4 + adds r0, r4, 0 + bl AllocZeroed + str r0, [r5] + mov r0, r8 + ldr r1, [r0] + movs r0, 0x1 + bl SetBgTilemapBuffer + ldr r1, [r6] + movs r0, 0x2 + bl SetBgTilemapBuffer + ldr r1, [r5] + movs r0, 0x3 + bl SetBgTilemapBuffer + bl sub_81971D0 + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end overworld_bg_setup + + thumb_func_start overworld_free_bg_tilemaps +overworld_free_bg_tilemaps: @ 8085D34 + push {r4,lr} + bl sub_81BE72C + bl sub_81971F4 + ldr r4, =gUnknown_03005DA4 + ldr r0, [r4] + cmp r0, 0 + beq _08085D4E + bl Free + movs r0, 0 + str r0, [r4] +_08085D4E: + ldr r4, =gUnknown_03005D9C + ldr r0, [r4] + cmp r0, 0 + beq _08085D5E + bl Free + movs r0, 0 + str r0, [r4] +_08085D5E: + ldr r4, =gUnknown_03005DA0 + ldr r0, [r4] + cmp r0, 0 + beq _08085D6E + bl Free + movs r0, 0 + str r0, [r4] +_08085D6E: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end overworld_free_bg_tilemaps + + thumb_func_start ResetSafariZoneFlag_ +ResetSafariZoneFlag_: @ 8085D80 + push {lr} + bl ResetSafariZoneFlag + pop {r0} + bx r0 + thumb_func_end ResetSafariZoneFlag_ + + thumb_func_start is_c1_link_related_active +@ _BOOL4 is_c1_link_related_active() +is_c1_link_related_active: @ 8085D8C + push {lr} + ldr r0, =gMain + ldr r1, [r0] + ldr r0, =c1_link_related + cmp r1, r0 + beq _08085DA4 + movs r0, 0 + b _08085DA6 + .pool +_08085DA4: + movs r0, 0x1 +_08085DA6: + pop {r1} + bx r1 + thumb_func_end is_c1_link_related_active + + thumb_func_start c1_overworld_normal +@ void c1_overworld_normal(int buttons_new, int buttons_held) +c1_overworld_normal: @ 8085DAC + push {r4-r6,lr} + sub sp, 0x4 + lsls r0, 16 + lsrs r0, 16 + adds r5, r0, 0 + lsls r1, 16 + lsrs r1, 16 + adds r4, r1, 0 + bl sub_808B578 + mov r6, sp + mov r0, sp + bl sub_809BEDC + mov r0, sp + adds r1, r5, 0 + adds r2, r4, 0 + bl process_overworld_input + bl ScriptContext2_IsEnabled + lsls r0, 24 + cmp r0, 0 + bne _08085DFA + mov r0, sp + bl sub_809C014 + cmp r0, 0x1 + bne _08085DF0 + bl ScriptContext2_Enable + bl HideMapNamePopUpWindow + b _08085DFA +_08085DF0: + ldrb r0, [r6, 0x2] + adds r1, r5, 0 + adds r2, r4, 0 + bl player_step +_08085DFA: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end c1_overworld_normal + + thumb_func_start c1_overworld +c1_overworld: @ 8085E04 + push {lr} + ldr r2, =gMain + ldr r1, [r2, 0x4] + ldr r0, =c2_overworld + cmp r1, r0 + bne _08085E18 + ldrh r0, [r2, 0x2E] + ldrh r1, [r2, 0x2C] + bl c1_overworld_normal +_08085E18: + pop {r0} + bx r0 + .pool + thumb_func_end c1_overworld + + thumb_func_start OverworldBasic +@ void OverworldBasic() +OverworldBasic: @ 8085E24 + push {lr} + bl ScriptContext2_RunScript + bl RunTasks + bl AnimateSprites + bl CameraUpdate + bl UpdateCameraPanning + bl BuildOamBuffer + bl UpdatePaletteFade + bl sub_80A0A38 + bl do_scheduled_bg_tilemap_copies_to_vram + pop {r0} + bx r0 + thumb_func_end OverworldBasic + + thumb_func_start CB2_OverworldBasic +CB2_OverworldBasic: @ 8085E50 + push {lr} + bl OverworldBasic + pop {r0} + bx r0 + thumb_func_end CB2_OverworldBasic + + thumb_func_start c2_overworld +c2_overworld: @ 8085E5C + push {r4,lr} + ldr r0, =gPaletteFade + ldrb r0, [r0, 0x7] + lsrs r0, 7 + adds r4, r0, 0 + cmp r4, 0 + beq _08085E70 + movs r0, 0 + bl SetVBlankCallback +_08085E70: + bl OverworldBasic + cmp r4, 0 + beq _08085E7C + bl SetFieldVBlankCallback +_08085E7C: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end c2_overworld + + thumb_func_start set_callback1 +set_callback1: @ 8085E88 + ldr r1, =gMain + str r0, [r1] + bx lr + .pool + thumb_func_end set_callback1 + + thumb_func_start sub_8085E94 +sub_8085E94: @ 8085E94 + ldr r1, =gUnknown_03000E0C + str r0, [r1] + bx lr + .pool + thumb_func_end sub_8085E94 + + thumb_func_start map_post_load_hook_exec +map_post_load_hook_exec: @ 8085EA0 + push {r4,lr} + ldr r4, =gUnknown_03005DB0 + ldr r0, [r4] + cmp r0, 0 + beq _08085ECC + bl _call_via_r0 + lsls r0, 24 + cmp r0, 0 + bne _08085EBC + movs r0, 0 + b _08085EEC + .pool +_08085EBC: + movs r1, 0 + str r1, [r4] + ldr r0, =gFieldCallback + str r1, [r0] + b _08085EEA + .pool +_08085ECC: + ldr r0, =gFieldCallback + ldr r0, [r0] + cmp r0, 0 + beq _08085EE0 + bl _call_via_r0 + b _08085EE4 + .pool +_08085EE0: + bl mapldr_default +_08085EE4: + ldr r1, =gFieldCallback + movs r0, 0 + str r0, [r1] +_08085EEA: + movs r0, 0x1 +_08085EEC: + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end map_post_load_hook_exec + + thumb_func_start CB2_NewGame +CB2_NewGame: @ 8085EF8 + push {lr} + bl sub_808631C + bl StopMapMusic + bl ResetSafariZoneFlag_ + bl NewGameInitData + bl player_avatar_init_params_reset + bl PlayTimeCounter_Start + bl ScriptContext1_Init + bl ScriptContext2_Disable + ldr r1, =gFieldCallback + ldr r0, =ExecuteTruckSequence + str r0, [r1] + ldr r1, =gUnknown_03005DB0 + movs r0, 0 + str r0, [r1] + ldr r0, =gUnknown_030026F8 + bl do_load_map_stuff_loop + bl SetFieldVBlankCallback + ldr r0, =c1_overworld + bl set_callback1 + ldr r0, =c2_overworld + bl SetMainCallback2 + pop {r0} + bx r0 + .pool + thumb_func_end CB2_NewGame + + thumb_func_start CB2_WhiteOut +CB2_WhiteOut: @ 8085F58 + push {lr} + sub sp, 0x4 + ldr r1, =gMain + movs r0, 0x87 + lsls r0, 3 + adds r1, r0 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x77 + bls _08085FB0 + bl sub_808631C + bl StopMapMusic + bl ResetSafariZoneFlag_ + bl sub_8084620 + bl player_avatar_init_params_reset + bl ScriptContext1_Init + bl ScriptContext2_Disable + ldr r1, =gFieldCallback + ldr r0, =sub_80AF3C8 + str r0, [r1] + mov r1, sp + movs r0, 0 + strb r0, [r1] + mov r0, sp + bl do_load_map_stuff_loop + bl SetFieldVBlankCallback + ldr r0, =c1_overworld + bl set_callback1 + ldr r0, =c2_overworld + bl SetMainCallback2 +_08085FB0: + add sp, 0x4 + pop {r0} + bx r0 + .pool + thumb_func_end CB2_WhiteOut + + thumb_func_start c2_load_new_map +c2_load_new_map: @ 8085FCC + push {lr} + bl sub_808631C + bl ScriptContext1_Init + bl ScriptContext2_Disable + movs r0, 0 + bl set_callback1 + ldr r0, =c2_change_map + bl SetMainCallback2 + ldr r1, =gMain + ldr r0, =c2_load_new_map_2 + str r0, [r1, 0x8] + pop {r0} + bx r0 + .pool + thumb_func_end c2_load_new_map + + thumb_func_start c2_load_new_map_2 +c2_load_new_map_2: @ 8085FFC + push {lr} + ldr r0, =gUnknown_030026F8 + bl do_load_map_stuff_loop + bl SetFieldVBlankCallback + ldr r0, =c1_overworld + bl set_callback1 + ldr r0, =c2_overworld + bl SetMainCallback2 + pop {r0} + bx r0 + .pool + thumb_func_end c2_load_new_map_2 + + thumb_func_start sub_8086024 +sub_8086024: @ 8086024 + push {r4,lr} + ldr r0, =gMain + movs r1, 0x87 + lsls r1, 3 + adds r4, r0, r1 + ldrb r0, [r4] + cmp r0, 0 + bne _08086046 + bl sub_808631C + bl ScriptContext1_Init + bl ScriptContext2_Disable + movs r0, 0 + bl set_callback1 +_08086046: + adds r0, r4, 0 + movs r1, 0x1 + bl load_map_stuff + cmp r0, 0 + beq _08086062 + bl SetFieldVBlankCallback + ldr r0, =c1_overworld + bl set_callback1 + ldr r0, =c2_overworld + bl SetMainCallback2 +_08086062: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8086024 + + thumb_func_start sub_8086074 +sub_8086074: @ 8086074 + push {lr} + bl sub_808631C + ldr r0, =gFieldCallback + ldr r1, =sub_80AF314 + str r1, [r0] + ldr r0, =c2_80567AC + bl SetMainCallback2 + pop {r0} + bx r0 + .pool + thumb_func_end sub_8086074 + + thumb_func_start c2_80567AC +c2_80567AC: @ 8086098 + push {lr} + ldr r0, =gUnknown_030026F8 + bl map_loading_iteration_3 + cmp r0, 0 + beq _080860B8 + bl SetFieldVBlankCallback + ldr r0, =c1_link_related + bl set_callback1 + bl sub_8086C2C + ldr r0, =c2_overworld + bl SetMainCallback2 +_080860B8: + pop {r0} + bx r0 + .pool + thumb_func_end c2_80567AC + + thumb_func_start c2_exit_to_overworld_2_switch +c2_exit_to_overworld_2_switch: @ 80860C8 + push {lr} + bl is_c1_link_related_active + cmp r0, 0x1 + bne _080860E0 + ldr r0, =c2_exit_to_overworld_2_link + bl SetMainCallback2 + b _080860EA + .pool +_080860E0: + bl sub_808631C + ldr r0, =c2_exit_to_overworld_2_local + bl SetMainCallback2 +_080860EA: + pop {r0} + bx r0 + .pool + thumb_func_end c2_exit_to_overworld_2_switch + + thumb_func_start c2_exit_to_overworld_2_local +c2_exit_to_overworld_2_local: @ 80860F4 + push {lr} + ldr r0, =gUnknown_030026F8 + bl sub_8086638 + cmp r0, 0 + beq _0808610A + bl SetFieldVBlankCallback + ldr r0, =c2_overworld + bl SetMainCallback2 +_0808610A: + pop {r0} + bx r0 + .pool + thumb_func_end c2_exit_to_overworld_2_local + + thumb_func_start c2_exit_to_overworld_2_link +c2_exit_to_overworld_2_link: @ 8086118 + push {lr} + bl sub_8087598 + cmp r0, 0 + bne _08086132 + ldr r0, =gUnknown_030026F8 + bl map_loading_iteration_2_link + cmp r0, 0 + beq _08086132 + ldr r0, =c2_overworld + bl SetMainCallback2 +_08086132: + pop {r0} + bx r0 + .pool + thumb_func_end c2_exit_to_overworld_2_link + + thumb_func_start c2_8056854 +c2_8056854: @ 8086140 + push {lr} + bl sub_808631C + bl StopMapMusic + ldr r0, =c1_link_related + bl set_callback1 + bl sub_8086C2C + ldr r0, =gLinkVSyncDisabled + ldrb r0, [r0] + cmp r0, 0 + beq _08086174 + ldr r1, =gFieldCallback + ldr r0, =sub_80AF314 + b _08086178 + .pool +_08086174: + ldr r1, =gFieldCallback + ldr r0, =sub_80AF214 +_08086178: + str r0, [r1] + bl ScriptContext1_Init + bl ScriptContext2_Disable + bl c2_exit_to_overworld_2_switch + pop {r0} + bx r0 + .pool + thumb_func_end c2_8056854 + + thumb_func_start sub_8086194 +sub_8086194: @ 8086194 + push {lr} + bl sub_808631C + ldr r1, =gUnknown_03005DB0 + ldr r0, =sub_80AF6A4 + str r0, [r1] + bl c2_exit_to_overworld_2_switch + pop {r0} + bx r0 + .pool + thumb_func_end sub_8086194 + + thumb_func_start sub_80861B0 +sub_80861B0: @ 80861B0 + push {lr} + bl sub_808631C + ldr r1, =gFieldCallback + ldr r0, =sub_80AF188 + str r0, [r1] + bl c2_exit_to_overworld_2_switch + pop {r0} + bx r0 + .pool + thumb_func_end sub_80861B0 + + thumb_func_start c2_exit_to_overworld_1_continue_scripts_restart_music +c2_exit_to_overworld_1_continue_scripts_restart_music: @ 80861CC + push {lr} + bl sub_808631C + ldr r1, =gFieldCallback + ldr r0, =sub_80AF168 + str r0, [r1] + bl c2_exit_to_overworld_2_switch + pop {r0} + bx r0 + .pool + thumb_func_end c2_exit_to_overworld_1_continue_scripts_restart_music + + thumb_func_start sub_80861E8 +sub_80861E8: @ 80861E8 + push {lr} + bl sub_808631C + ldr r1, =gFieldCallback + ldr r0, =sub_80AF3C8 + str r0, [r1] + bl c2_exit_to_overworld_2_switch + pop {r0} + bx r0 + .pool + thumb_func_end sub_80861E8 + + thumb_func_start sub_8086204 +sub_8086204: @ 8086204 + push {lr} + ldr r0, =gMapHeader + ldrb r1, [r0, 0x1A] + movs r0, 0xF8 + ands r0, r1 + cmp r0, 0x8 + bne _08086222 + bl sub_80E909C + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08086222 + bl AddMapNamePopUpWindowTask +_08086222: + bl sub_80AF3C8 + pop {r0} + bx r0 + .pool + thumb_func_end sub_8086204 + + thumb_func_start sub_8086230 +sub_8086230: @ 8086230 + push {r4,lr} + bl sub_808631C + bl StopMapMusic + bl ResetSafariZoneFlag_ + ldr r0, =gSaveFileStatus + ldrh r0, [r0] + cmp r0, 0xFF + bne _0808624A + bl sub_81A3908 +_0808624A: + bl set_current_map_header_from_sav1 + bl set_warp2_warp3_to_neg_1 + bl GetCurrentTrainerHillMapId + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, =gMapHeader + ldrh r1, [r0, 0x12] + ldr r0, =0x00000169 + cmp r1, r0 + bne _08086278 + bl sub_81AA2F8 + b _0808628A + .pool +_08086278: + cmp r4, 0 + beq _08086286 + cmp r4, 0x6 + beq _08086286 + bl sub_81D5F48 + b _0808628A +_08086286: + bl CopyFieldObjectTemplateCoordsToSav1 +_0808628A: + bl UnfreezeMapObjects + bl DoTimeBasedEvents + bl sub_8084788 + ldr r0, =gMapHeader + ldrh r1, [r0, 0x12] + ldr r0, =0x00000169 + cmp r1, r0 + bne _080862B0 + movs r0, 0x1 + bl battle_pyramid_map_load_related + b _080862BE + .pool +_080862B0: + cmp r4, 0 + beq _080862BA + bl trainer_hill_map_load_related + b _080862BE +_080862BA: + bl sub_8087D74 +_080862BE: + bl PlayTimeCounter_Start + bl ScriptContext1_Init + bl ScriptContext2_Disable + bl sub_8195E10 + bl sav2_x1_query_bit1 + cmp r0, 0x1 + bne _080862F4 + bl sav2_x9_clear_bit1 + bl warp1_set_to_sav1w + bl warp_in + bl sub_80EDB44 + ldr r0, =c2_load_new_map + bl SetMainCallback2 + b _08086308 + .pool +_080862F4: + bl sub_80EDB44 + ldr r0, =gFieldCallback + ldr r1, =sub_8086204 + str r1, [r0] + ldr r0, =c1_overworld + bl set_callback1 + bl c2_exit_to_overworld_2_switch +_08086308: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8086230 + + thumb_func_start sub_808631C +@ void sub_808631C() +sub_808631C: @ 808631C + push {r4,lr} + bl warp0_in_pokecenter + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0808632E + bl CloseLink +_0808632E: + ldr r0, =gLinkVSyncDisabled + ldrb r0, [r0] + cmp r0, 0 + beq _08086348 + movs r0, 0xC5 + bl EnableInterrupts + movs r0, 0x2 + bl DisableInterrupts + b _08086362 + .pool +_08086348: + ldr r4, =0x04000208 + ldrh r3, [r4] + strh r0, [r4] + ldr r2, =0x04000200 + ldrh r1, [r2] + ldr r0, =0x0000fffd + ands r0, r1 + strh r0, [r2] + ldrh r0, [r2] + movs r1, 0x1 + orrs r0, r1 + strh r0, [r2] + strh r3, [r4] +_08086362: + movs r0, 0 + bl SetVBlankCallback + movs r0, 0 + bl SetHBlankCallback + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_808631C + + thumb_func_start SetFieldVBlankCallback +@ void SetFieldVBlankCallback() +SetFieldVBlankCallback: @ 8086380 + push {lr} + ldr r0, =VBlankCB_Field + bl SetVBlankCallback + pop {r0} + bx r0 + .pool + thumb_func_end SetFieldVBlankCallback + + thumb_func_start VBlankCB_Field +VBlankCB_Field: @ 8086390 + push {lr} + bl LoadOam + bl ProcessSpriteCopyRequests + bl ScanlineEffect_InitHBlankDmaTransfer + bl FieldUpdateBgTilemapScroll + bl TransferPlttBuffer + bl TransferTilesetAnimsBuffer + pop {r0} + bx r0 + thumb_func_end VBlankCB_Field + + thumb_func_start sub_80863B0 +sub_80863B0: @ 80863B0 + push {lr} + bl sub_81A9E6C + lsls r0, 24 + cmp r0, 0 + beq _080863D4 + bl door_upload_tiles + ldr r2, =gUnknown_08339DBC + ldr r0, [r2] + ldr r1, [r2, 0x4] + ldr r2, [r2, 0x8] + bl ScanlineEffect_SetParams + b _080863F0 + .pool +_080863D4: + bl Overworld_GetFlashLevel + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _080863F0 + bl sub_80B00E8 + ldr r2, =gUnknown_08339DBC + ldr r0, [r2] + ldr r1, [r2, 0x4] + ldr r2, [r2, 0x8] + bl ScanlineEffect_SetParams +_080863F0: + pop {r0} + bx r0 + .pool + thumb_func_end sub_80863B0 + + thumb_func_start map_loading_iteration_3 +map_loading_iteration_3: @ 80863F8 + push {r4,lr} + adds r4, r0, 0 + ldrb r0, [r4] + cmp r0, 0xD + bls _08086404 + b _08086512 +_08086404: + lsls r0, 2 + ldr r1, =_08086414 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_08086414: + .4byte _0808644C + .4byte _08086462 + .4byte _0808646A + .4byte _08086472 + .4byte _08086484 + .4byte _08086492 + .4byte _08086498 + .4byte _080864A8 + .4byte _080864B8 + .4byte _080864D4 + .4byte _080864DA + .4byte _080864E0 + .4byte _080864FC + .4byte _0808650E +_0808644C: + bl overworld_bg_setup + bl ScriptContext1_Init + bl ScriptContext2_Disable + bl MoveSaveBlocks_ResetHeap_ + bl sub_80867D8 + b _08086506 +_08086462: + movs r0, 0x1 + bl mli0_load_map + b _08086506 +_0808646A: + movs r0, 0x1 + bl sub_8086988 + b _08086506 +_08086472: + bl sub_8086AE4 + bl sub_80869DC + bl sub_8086B14 + bl sub_8086AAC + b _08086506 +_08086484: + bl sub_80863B0 + bl map_loading_lcd_reset + bl sub_8197200 + b _08086506 +_08086492: + bl move_tilemap_camera_to_upper_left_corner + b _08086506 +_08086498: + ldr r0, =gMapHeader + ldr r0, [r0] + bl copy_map_tileset1_to_vram + b _08086506 + .pool +_080864A8: + ldr r0, =gMapHeader + ldr r0, [r0] + bl copy_map_tileset2_to_vram + b _08086506 + .pool +_080864B8: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08086512 + ldr r0, =gMapHeader + ldr r0, [r0] + bl apply_map_tileset1_tileset2_palette + b _08086506 + .pool +_080864D4: + bl DrawWholeMapView + b _08086506 +_080864DA: + bl cur_mapheader_run_tileset_funcs_after_some_cpuset + b _08086506 +_080864E0: + ldr r0, =gLinkVSyncDisabled + ldrb r0, [r0] + cmp r0, 0 + beq _08086506 + bl sub_800E0E8 + movs r0, 0 + movs r1, 0 + bl sub_800DFB4 + b _08086506 + .pool +_080864FC: + bl map_post_load_hook_exec + lsls r0, 24 + cmp r0, 0 + beq _08086512 +_08086506: + ldrb r0, [r4] + adds r0, 0x1 + strb r0, [r4] + b _08086512 +_0808650E: + movs r0, 0x1 + b _08086514 +_08086512: + movs r0, 0 +_08086514: + pop {r4} + pop {r1} + bx r1 + thumb_func_end map_loading_iteration_3 + + thumb_func_start load_map_stuff +@ int load_map_stuff(u8 *a1, int a2) +load_map_stuff: @ 808651C + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4] + cmp r0, 0xD + bls _0808652A + b _0808662E +_0808652A: + lsls r0, 2 + ldr r1, =_08086538 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_08086538: + .4byte _08086570 + .4byte _0808657C + .4byte _08086586 + .4byte _0808658E + .4byte _08086598 + .4byte _080865A6 + .4byte _080865AC + .4byte _080865BC + .4byte _080865CC + .4byte _080865E8 + .4byte _080865EE + .4byte _080865F4 + .4byte _08086618 + .4byte _0808662A +_08086570: + bl sub_808631C + adds r0, r5, 0 + bl mli0_load_map + b _08086622 +_0808657C: + bl MoveSaveBlocks_ResetHeap_ + bl sub_80867D8 + b _08086622 +_08086586: + adds r0, r5, 0 + bl sub_8086988 + b _08086622 +_0808658E: + bl mli4_mapscripts_and_other + bl sub_8086A80 + b _08086622 +_08086598: + bl sub_80863B0 + bl map_loading_lcd_reset + bl sub_8197200 + b _08086622 +_080865A6: + bl move_tilemap_camera_to_upper_left_corner + b _08086622 +_080865AC: + ldr r0, =gMapHeader + ldr r0, [r0] + bl copy_map_tileset1_to_vram + b _08086622 + .pool +_080865BC: + ldr r0, =gMapHeader + ldr r0, [r0] + bl copy_map_tileset2_to_vram + b _08086622 + .pool +_080865CC: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0808662E + ldr r0, =gMapHeader + ldr r0, [r0] + bl apply_map_tileset1_tileset2_palette + b _08086622 + .pool +_080865E8: + bl DrawWholeMapView + b _08086622 +_080865EE: + bl cur_mapheader_run_tileset_funcs_after_some_cpuset + b _08086622 +_080865F4: + ldr r0, =gMapHeader + ldrb r1, [r0, 0x1A] + movs r0, 0xF8 + ands r0, r1 + cmp r0, 0x8 + bne _08086622 + bl sub_80E909C + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08086622 + bl AddMapNamePopUpWindowTask + b _08086622 + .pool +_08086618: + bl map_post_load_hook_exec + lsls r0, 24 + cmp r0, 0 + beq _0808662E +_08086622: + ldrb r0, [r4] + adds r0, 0x1 + strb r0, [r4] + b _0808662E +_0808662A: + movs r0, 0x1 + b _08086630 +_0808662E: + movs r0, 0 +_08086630: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end load_map_stuff + + thumb_func_start sub_8086638 +sub_8086638: @ 8086638 + push {r4,lr} + adds r4, r0, 0 + ldrb r0, [r4] + cmp r0, 0x1 + beq _0808666E + cmp r0, 0x1 + bgt _0808664C + cmp r0, 0 + beq _08086656 + b _0808668E +_0808664C: + cmp r0, 0x2 + beq _08086678 + cmp r0, 0x3 + beq _0808668A + b _0808668E +_08086656: + bl MoveSaveBlocks_ResetHeap_ + bl sub_80867D8 + movs r0, 0 + bl sub_8086988 + bl sub_8086A68 + bl sub_8086A80 + b _08086682 +_0808666E: + bl sub_8086860 + bl sub_81D64C0 + b _08086682 +_08086678: + bl map_post_load_hook_exec + lsls r0, 24 + cmp r0, 0 + beq _0808668E +_08086682: + ldrb r0, [r4] + adds r0, 0x1 + strb r0, [r4] + b _0808668E +_0808668A: + movs r0, 0x1 + b _08086690 +_0808668E: + movs r0, 0 +_08086690: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8086638 + + thumb_func_start map_loading_iteration_2_link +map_loading_iteration_2_link: @ 8086698 + push {r4,lr} + adds r4, r0, 0 + ldrb r0, [r4] + cmp r0, 0xD + bls _080866A4 + b _080867A8 +_080866A4: + lsls r0, 2 + ldr r1, =_080866B4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_080866B4: + .4byte _080866EC + .4byte _080866FA + .4byte _08086702 + .4byte _08086710 + .4byte _0808671E + .4byte _08086724 + .4byte _08086734 + .4byte _08086744 + .4byte _08086760 + .4byte _08086766 + .4byte _08086792 + .4byte _0808676C + .4byte _08086788 + .4byte _0808679A +_080866EC: + bl sub_808631C + bl MoveSaveBlocks_ResetHeap_ + bl sub_80867D8 + b _08086792 +_080866FA: + movs r0, 0x1 + bl sub_8086988 + b _08086792 +_08086702: + bl sub_8086B9C + bl sub_8086A68 + bl sub_8086AC8 + b _08086792 +_08086710: + bl sub_80863B0 + bl map_loading_lcd_reset + bl sub_8197200 + b _08086792 +_0808671E: + bl move_tilemap_camera_to_upper_left_corner + b _08086792 +_08086724: + ldr r0, =gMapHeader + ldr r0, [r0] + bl copy_map_tileset1_to_vram + b _08086792 + .pool +_08086734: + ldr r0, =gMapHeader + ldr r0, [r0] + bl copy_map_tileset2_to_vram + b _08086792 + .pool +_08086744: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _080867A8 + ldr r0, =gMapHeader + ldr r0, [r0] + bl apply_map_tileset1_tileset2_palette + b _08086792 + .pool +_08086760: + bl DrawWholeMapView + b _08086792 +_08086766: + bl cur_mapheader_run_tileset_funcs_after_some_cpuset + b _08086792 +_0808676C: + ldr r0, =gLinkVSyncDisabled + ldrb r0, [r0] + cmp r0, 0 + beq _08086792 + bl sub_800E0E8 + movs r0, 0 + movs r1, 0 + bl sub_800DFB4 + b _08086792 + .pool +_08086788: + bl map_post_load_hook_exec + lsls r0, 24 + cmp r0, 0 + beq _080867A8 +_08086792: + ldrb r0, [r4] + adds r0, 0x1 + strb r0, [r4] + b _080867A8 +_0808679A: + bl SetFieldVBlankCallback + ldrb r0, [r4] + adds r0, 0x1 + strb r0, [r4] + movs r0, 0x1 + b _080867AA +_080867A8: + movs r0, 0 +_080867AA: + pop {r4} + pop {r1} + bx r1 + thumb_func_end map_loading_iteration_2_link + + thumb_func_start do_load_map_stuff_loop +do_load_map_stuff_loop: @ 80867B0 + push {r4,lr} + adds r4, r0, 0 +_080867B4: + adds r0, r4, 0 + movs r1, 0 + bl load_map_stuff + cmp r0, 0 + beq _080867B4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end do_load_map_stuff_loop + + thumb_func_start MoveSaveBlocks_ResetHeap_ +MoveSaveBlocks_ResetHeap_: @ 80867C8 + push {lr} + bl sub_81BE6AC + bl MoveSaveBlocks_ResetHeap + pop {r0} + bx r0 + thumb_func_end MoveSaveBlocks_ResetHeap_ + + thumb_func_start sub_80867D8 +sub_80867D8: @ 80867D8 + push {r4-r7,lr} + sub sp, 0x4 + movs r0, 0 + movs r1, 0 + bl SetGpuReg + bl ScanlineEffect_Stop + ldr r2, =0x05000002 + mov r1, sp + movs r0, 0 + strh r0, [r1] + ldr r1, =0x040000d4 + mov r0, sp + str r0, [r1] + str r2, [r1, 0x4] + ldr r0, =0x810001ff + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + movs r2, 0xC0 + lsls r2, 19 + movs r3, 0xC0 + lsls r3, 9 + mov r4, sp + movs r6, 0 + movs r5, 0x80 + lsls r5, 5 + ldr r7, =0x81000800 + movs r0, 0x81 + lsls r0, 24 + mov r12, r0 +_08086816: + strh r6, [r4] + mov r0, sp + str r0, [r1] + str r2, [r1, 0x4] + str r7, [r1, 0x8] + ldr r0, [r1, 0x8] + adds r2, r5 + subs r3, r5 + cmp r3, r5 + bhi _08086816 + strh r6, [r4] + mov r0, sp + str r0, [r1] + str r2, [r1, 0x4] + lsrs r0, r3, 1 + mov r2, r12 + orrs r0, r2 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + movs r0, 0 + movs r1, 0x80 + bl ResetOamRange + bl LoadOam + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_80867D8 + + thumb_func_start sub_8086860 +sub_8086860: @ 8086860 + push {lr} + bl sub_80863B0 + bl map_loading_lcd_reset + bl sub_8197200 + bl mapdata_load_assets_to_gpu_and_full_redraw + pop {r0} + bx r0 + thumb_func_end sub_8086860 + + thumb_func_start map_loading_lcd_reset +map_loading_lcd_reset: @ 8086878 + push {r4,lr} + bl clear_scheduled_bg_copies_to_vram + bl reset_temp_tile_data_buffers + movs r0, 0x4C + movs r1, 0 + bl SetGpuReg + ldr r1, =0x00001f1f + movs r0, 0x48 + bl SetGpuReg + ldr r1, =0x00000101 + movs r0, 0x4A + bl SetGpuReg + movs r0, 0x40 + movs r1, 0xFF + bl SetGpuReg + movs r0, 0x44 + movs r1, 0xFF + bl SetGpuReg + ldr r4, =0x0000ffff + movs r0, 0x42 + adds r1, r4, 0 + bl SetGpuReg + movs r0, 0x46 + adds r1, r4, 0 + bl SetGpuReg + ldr r0, =gUnknown_82EC7C4 + ldrh r1, [r0, 0x2] + ldrh r2, [r0, 0x4] + orrs r1, r2 + ldrh r0, [r0, 0x6] + orrs r1, r0 + movs r2, 0x82 + lsls r2, 5 + adds r0, r2, 0 + orrs r1, r0 + movs r0, 0x50 + bl SetGpuReg + ldr r1, =0x0000070d + movs r0, 0x52 + bl SetGpuReg + bl overworld_bg_setup + movs r0, 0x1 + bl schedule_bg_copy_tilemap_to_vram + movs r0, 0x2 + bl schedule_bg_copy_tilemap_to_vram + movs r0, 0x3 + bl schedule_bg_copy_tilemap_to_vram + movs r0, 0 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r0, 0x2 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x2 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r0, 0x3 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x3 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + ldr r1, =0x00007060 + movs r0, 0 + bl SetGpuReg + movs r0, 0 + bl ShowBg + movs r0, 0x1 + bl ShowBg + movs r0, 0x2 + bl ShowBg + movs r0, 0x3 + bl ShowBg + bl sub_8098128 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end map_loading_lcd_reset + + thumb_func_start sub_8086988 +sub_8086988: @ 8086988 + push {r4,lr} + adds r4, r0, 0 + bl ResetTasks + bl ResetSpriteData + bl ResetPaletteFade + bl ScanlineEffect_Clear + bl dp13_810BB8C + bl ResetCameraUpdateInfo + bl InstallCameraPanAheadCallback + cmp r4, 0 + bne _080869B4 + movs r0, 0 + bl npc_paltag_set_load + b _080869BA +_080869B4: + movs r0, 0x1 + bl npc_paltag_set_load +_080869BA: + bl FieldEffectActiveListClear + bl sub_80AAFA4 + bl sub_80AEE84 + cmp r4, 0 + bne _080869CE + bl overworld_ensure_per_step_coros_running +_080869CE: + bl mapheader_run_script_with_tag_x5 + bl sub_81BE6B8 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8086988 + + thumb_func_start sub_80869DC +sub_80869DC: @ 80869DC + push {lr} + ldr r0, =gUnknown_03005DEC + movs r1, 0 + strh r1, [r0] + ldr r0, =gUnknown_03005DE8 + strh r1, [r0] + bl sub_808D438 + movs r0, 0 + movs r1, 0 + bl SpawnFieldObjectsInView + bl mapheader_run_first_tag4_script_list_match + pop {r0} + bx r0 + .pool + thumb_func_end sub_80869DC + + thumb_func_start mli4_mapscripts_and_other +mli4_mapscripts_and_other: @ 8086A04 + push {r4,r5,lr} + sub sp, 0x4 + ldr r0, =gUnknown_03005DEC + movs r1, 0 + strh r1, [r0] + ldr r0, =gUnknown_03005DE8 + strh r1, [r0] + bl sub_808D438 + mov r4, sp + adds r4, 0x2 + mov r0, sp + adds r1, r4, 0 + bl sav1_camera_get_focus_coords + bl sub_80852D4 + adds r5, r0, 0 + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + movs r2, 0 + ldrsh r1, [r4, r2] + ldrb r2, [r5, 0x1] + ldr r3, =gSaveBlock2Ptr + ldr r3, [r3] + ldrb r3, [r3, 0x8] + bl InitPlayerAvatar + ldrb r0, [r5] + bl SetPlayerAvatarTransitionFlags + bl player_avatar_init_params_reset + movs r0, 0 + movs r1, 0 + bl SpawnFieldObjectsInView + bl mapheader_run_first_tag4_script_list_match + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end mli4_mapscripts_and_other + + thumb_func_start sub_8086A68 +sub_8086A68: @ 8086A68 + push {lr} + movs r0, 0 + movs r1, 0 + bl sub_808E16C + bl sub_80FBED0 + bl mapheader_run_script_with_tag_x7 + pop {r0} + bx r0 + thumb_func_end sub_8086A68 + + thumb_func_start sub_8086A80 +sub_8086A80: @ 8086A80 + push {lr} + ldr r2, =gMapObjects + ldr r3, =gPlayerAvatar + ldrb r1, [r3, 0x5] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r1, [r0, 0x1] + movs r2, 0x80 + orrs r1, r2 + strb r1, [r0, 0x1] + ldrb r0, [r3, 0x4] + bl InitCameraUpdateCallback + pop {r0} + bx r0 + .pool + thumb_func_end sub_8086A80 + + thumb_func_start sub_8086AAC +sub_8086AAC: @ 8086AAC + push {lr} + ldr r0, =gUnknown_03005DB4 + ldrb r0, [r0] + bl sub_8087858 + lsls r0, 24 + lsrs r0, 24 + bl InitCameraUpdateCallback + pop {r0} + bx r0 + .pool + thumb_func_end sub_8086AAC + + thumb_func_start sub_8086AC8 +sub_8086AC8: @ 8086AC8 + push {lr} + ldr r0, =gUnknown_03005DB4 + ldrb r0, [r0] + bl sub_8087858 + lsls r0, 24 + lsrs r0, 24 + bl InitCameraUpdateCallback + pop {r0} + bx r0 + .pool + thumb_func_end sub_8086AC8 + + thumb_func_start sub_8086AE4 +sub_8086AE4: @ 8086AE4 + push {r4,lr} + sub sp, 0x4 + mov r4, sp + adds r4, 0x2 + mov r0, sp + adds r1, r4, 0 + bl sav1_camera_get_focus_coords + mov r2, sp + ldr r0, =gUnknown_03005DB4 + ldrb r1, [r0] + ldrh r0, [r2] + adds r0, r1 + lsls r0, 16 + lsrs r0, 16 + ldrh r1, [r4] + bl sub_8088B3C + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8086AE4 + + thumb_func_start sub_8086B14 +sub_8086B14: @ 8086B14 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + mov r4, sp + adds r4, 0x2 + mov r0, sp + adds r1, r4, 0 + bl sav1_camera_get_focus_coords + mov r3, sp + mov r2, sp + ldr r0, =gUnknown_03005DB4 + ldrb r1, [r0] + ldrh r0, [r2] + subs r0, r1 + strh r0, [r3] + movs r6, 0 + ldr r0, =gUnknown_03005DB8 + mov r8, r4 + ldrb r0, [r0] + cmp r6, r0 + bcs _08086B7E + ldr r7, =gLinkPlayers +_08086B44: + lsls r5, r6, 24 + lsrs r5, 24 + mov r0, sp + ldrh r1, [r0] + adds r1, r6, r1 + lsls r1, 16 + asrs r1, 16 + mov r0, r8 + movs r3, 0 + ldrsh r2, [r0, r3] + lsls r4, r6, 3 + subs r4, r6 + lsls r4, 2 + adds r4, r7 + ldrb r3, [r4, 0x13] + adds r0, r5, 0 + bl sub_80876F0 + ldrb r1, [r4] + adds r0, r5, 0 + bl sub_8087BCC + adds r0, r6, 0x1 + lsls r0, 16 + lsrs r6, r0, 16 + ldr r0, =gUnknown_03005DB8 + ldrb r0, [r0] + cmp r6, r0 + bcc _08086B44 +_08086B7E: + bl sub_8086C40 + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8086B14 + + thumb_func_start sub_8086B9C +sub_8086B9C: @ 8086B9C + push {r4,r5,lr} + movs r4, 0 + ldr r0, =gUnknown_03005DB8 + ldrb r0, [r0] + cmp r4, r0 + bcs _08086BCA + ldr r5, =gLinkPlayers +_08086BAA: + lsls r0, r4, 24 + lsrs r0, 24 + lsls r1, r4, 3 + subs r1, r4 + lsls r1, 2 + adds r1, r5 + ldrb r1, [r1] + bl sub_8087BCC + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + ldr r0, =gUnknown_03005DB8 + ldrb r0, [r0] + cmp r4, r0 + bcc _08086BAA +_08086BCA: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8086B9C + + thumb_func_start c1_link_related +c1_link_related: @ 8086BD8 + push {r4,lr} + ldr r0, =gLinkVSyncDisabled + ldrb r0, [r0] + cmp r0, 0 + beq _08086BF2 + bl sub_800F0B8 + cmp r0, 0 + beq _08086BF2 + bl sub_8009F3C + cmp r0, 0 + bne _08086C14 +_08086BF2: + ldr r0, =gUnknown_03005DB4 + ldrb r4, [r0] + ldr r0, =gUnknown_03003020 + adds r1, r4, 0 + bl sub_8086F38 + ldr r0, =gUnknown_03000E14 + ldr r1, [r0] + adds r0, r4, 0 + bl _call_via_r1 + lsls r0, 16 + lsrs r0, 16 + bl sub_8086FA0 + bl sub_8086C40 +_08086C14: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end c1_link_related + + thumb_func_start sub_8086C2C +sub_8086C2C: @ 8086C2C + push {lr} + bl sub_8086C90 + ldr r0, =sub_80870B0 + bl c1_link_related_func_set + pop {r0} + bx r0 + .pool + thumb_func_end sub_8086C2C + + thumb_func_start sub_8086C40 +sub_8086C40: @ 8086C40 + push {lr} + ldr r0, =gUnknown_03003020 + bl sub_808709C + pop {r0} + bx r0 + .pool + thumb_func_end sub_8086C40 + + thumb_func_start c1_link_related_func_set +c1_link_related_func_set: @ 8086C50 + ldr r2, =gUnknown_03000E19 + movs r1, 0 + strb r1, [r2] + ldr r1, =gUnknown_03000E14 + str r0, [r1] + bx lr + .pool + thumb_func_end c1_link_related_func_set + + thumb_func_start sub_8086C64 +sub_8086C64: @ 8086C64 + push {lr} + ldr r0, =gLinkVSyncDisabled + ldrb r0, [r0] + cmp r0, 0 + beq _08086C82 + ldr r1, =gUnknown_03000E19 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x3C + bls _08086C82 + bl sub_8010198 +_08086C82: + pop {r0} + bx r0 + .pool + thumb_func_end sub_8086C64 + + thumb_func_start sub_8086C90 +sub_8086C90: @ 8086C90 + push {lr} + ldr r1, =gUnknown_03000E10 + movs r2, 0x80 + adds r0, r1, 0x3 +_08086C98: + strb r2, [r0] + subs r0, 0x1 + cmp r0, r1 + bge _08086C98 + pop {r0} + bx r0 + .pool + thumb_func_end sub_8086C90 + + thumb_func_start sub_8086CA8 +sub_8086CA8: @ 8086CA8 + push {r4,lr} + lsls r0, 16 + lsrs r3, r0, 16 + ldr r0, =gUnknown_03005DB8 + ldrb r2, [r0] + movs r1, 0 + cmp r1, r2 + bge _08086CD6 + ldr r4, =gUnknown_03000E10 +_08086CBA: + adds r0, r1, r4 + ldrb r0, [r0] + cmp r0, r3 + beq _08086CD0 + movs r0, 0 + b _08086CD8 + .pool +_08086CD0: + adds r1, 0x1 + cmp r1, r2 + blt _08086CBA +_08086CD6: + movs r0, 0x1 +_08086CD8: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8086CA8 + + thumb_func_start sub_8086CE0 +sub_8086CE0: @ 8086CE0 + push {r4,lr} + lsls r0, 16 + lsrs r3, r0, 16 + ldr r0, =gUnknown_03005DB8 + ldrb r2, [r0] + movs r1, 0 + cmp r1, r2 + bge _08086D0E + ldr r4, =gUnknown_03000E10 +_08086CF2: + adds r0, r1, r4 + ldrb r0, [r0] + cmp r0, r3 + bne _08086D08 + movs r0, 0x1 + b _08086D10 + .pool +_08086D08: + adds r1, 0x1 + cmp r1, r2 + blt _08086CF2 +_08086D0E: + movs r0, 0 +_08086D10: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8086CE0 + + thumb_func_start sub_8086D18 +sub_8086D18: @ 8086D18 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + adds r7, r0, 0 + adds r6, r2, 0 + mov r9, r3 + lsls r1, 16 + lsrs r1, 16 + mov r8, r1 + ldr r0, =gUnknown_03000E10 + adds r5, r7, r0 + ldrb r0, [r5] + cmp r0, 0x80 + beq _08086D38 + b _08086EB2 +_08086D38: + adds r0, r6, 0 + bl sub_8087370 + adds r4, r0, 0 + cmp r4, 0 + beq _08086D70 + bl sub_8087480 + mov r1, r9 + strh r0, [r1] + movs r0, 0x81 + strb r0, [r5] + ldrb r0, [r6, 0x1] + cmp r0, 0 + bne _08086D58 + b _08086F26 +_08086D58: + ldr r0, =sub_80870F8 + bl c1_link_related_func_set + adds r0, r4, 0 + bl sub_8087530 + b _08086F26 + .pool +_08086D70: + movs r0, 0x83 + bl sub_8086CE0 + cmp r0, 0x1 + bne _08086D98 + movs r0, 0x81 + strb r0, [r5] + ldrb r0, [r6, 0x1] + cmp r0, 0 + bne _08086D86 + b _08086F26 +_08086D86: + ldr r0, =sub_80870F8 + bl c1_link_related_func_set + bl sub_8087584 + b _08086F26 + .pool +_08086D98: + mov r0, r8 + subs r0, 0x12 + cmp r0, 0xA + bls _08086DA2 + b _08086EB2 +_08086DA2: + lsls r0, 2 + ldr r1, =_08086DB0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_08086DB0: + .4byte _08086E08 + .4byte _08086EB2 + .4byte _08086EB2 + .4byte _08086EB2 + .4byte _08086EB2 + .4byte _08086EB2 + .4byte _08086DDC + .4byte _08086E34 + .4byte _08086EB2 + .4byte _08086E64 + .4byte _08086E90 +_08086DDC: + adds r0, r6, 0 + bl sub_8087358 + cmp r0, 0 + beq _08086EB2 + ldr r0, =gUnknown_03000E10 + adds r0, r7, r0 + movs r1, 0x81 + strb r1, [r0] + ldrb r0, [r6, 0x1] + cmp r0, 0 + beq _08086EB2 + ldr r0, =sub_80870F8 + bl c1_link_related_func_set + bl sub_808751C + b _08086EB2 + .pool +_08086E08: + adds r0, r6, 0 + bl sub_8087388 + cmp r0, 0x1 + bne _08086EB2 + ldr r0, =gUnknown_03000E10 + adds r0, r7, r0 + movs r1, 0x81 + strb r1, [r0] + ldrb r0, [r6, 0x1] + cmp r0, 0 + beq _08086EB2 + ldr r0, =sub_80870F8 + bl c1_link_related_func_set + bl sub_808754C + b _08086EB2 + .pool +_08086E34: + adds r0, r6, 0 + bl sub_80873B4 + adds r4, r0, 0 + cmp r4, 0 + beq _08086EB2 + ldr r0, =gUnknown_03000E10 + adds r0, r7, r0 + movs r1, 0x81 + strb r1, [r0] + ldrb r0, [r6, 0x1] + cmp r0, 0 + beq _08086EB2 + ldr r0, =sub_80870F8 + bl c1_link_related_func_set + adds r0, r4, 0 + bl sub_8087568 + b _08086EB2 + .pool +_08086E64: + adds r0, r6, 0 + bl sub_8087340 + cmp r0, 0 + beq _08086EB2 + ldr r0, =gUnknown_03000E10 + adds r0, r7, r0 + movs r1, 0x81 + strb r1, [r0] + ldrb r0, [r6, 0x1] + cmp r0, 0 + beq _08086EB2 + ldr r0, =sub_808711C + bl c1_link_related_func_set + bl sub_8087510 + b _08086EB2 + .pool +_08086E90: + adds r0, r6, 0 + bl sub_8087340 + cmp r0, 0 + beq _08086EB2 + ldr r0, =gUnknown_03000E10 + adds r0, r7, r0 + movs r1, 0x81 + strb r1, [r0] + ldrb r0, [r6, 0x1] + cmp r0, 0 + beq _08086EB2 + ldr r0, =sub_8087140 + bl c1_link_related_func_set + bl sub_8087510 +_08086EB2: + mov r0, r8 + cmp r0, 0x17 + beq _08086ED8 + cmp r0, 0x17 + bgt _08086ECC + cmp r0, 0x16 + beq _08086EE8 + b _08086F26 + .pool +_08086ECC: + mov r1, r8 + cmp r1, 0x1A + beq _08086EF8 + cmp r1, 0x1D + beq _08086F18 + b _08086F26 +_08086ED8: + ldr r0, =gUnknown_03000E10 + adds r0, r7, r0 + movs r1, 0x83 + strb r1, [r0] + b _08086F26 + .pool +_08086EE8: + ldr r0, =gUnknown_03000E10 + adds r0, r7, r0 + movs r1, 0x82 + strb r1, [r0] + b _08086F26 + .pool +_08086EF8: + ldr r0, =gUnknown_03000E10 + adds r0, r7, r0 + movs r1, 0x80 + strb r1, [r0] + ldrb r0, [r6, 0x1] + cmp r0, 0 + beq _08086F26 + ldr r0, =sub_80870B0 + bl c1_link_related_func_set + b _08086F26 + .pool +_08086F18: + ldr r0, =gUnknown_03000E10 + adds r1, r7, r0 + ldrb r0, [r1] + cmp r0, 0x82 + bne _08086F26 + movs r0, 0x81 + strb r0, [r1] +_08086F26: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8086D18 + + thumb_func_start sub_8086F38 +sub_8086F38: @ 8086F38 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x14 + mov r8, r1 + movs r6, 0 + add r5, sp, 0x10 + mov r9, r5 + adds r7, r0, 0 +_08086F4C: + ldrb r4, [r7] + movs r0, 0 + strh r0, [r5] + adds r0, r6, 0 + mov r1, r8 + mov r2, sp + bl sub_80872D8 + adds r0, r6, 0 + adds r1, r4, 0 + mov r2, sp + adds r3, r5, 0 + bl sub_8086D18 + ldr r0, =gUnknown_03000E10 + adds r0, r6, r0 + ldrb r0, [r0] + cmp r0, 0x80 + bne _08086F7C + adds r0, r4, 0 + bl sub_8087068 + mov r1, r9 + strh r0, [r1] +_08086F7C: + lsls r0, r6, 24 + lsrs r0, 24 + ldrb r1, [r5] + bl sub_808796C + adds r7, 0x2 + adds r6, 0x1 + cmp r6, 0x3 + ble _08086F4C + add sp, 0x14 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8086F38 + + thumb_func_start sub_8086FA0 +sub_8086FA0: @ 8086FA0 + push {r4,lr} + lsls r0, 16 + lsrs r4, r0, 16 + ldr r1, =0xffef0000 + adds r0, r1 + lsrs r0, 16 + cmp r0, 0xC + bhi _08086FC0 + ldr r0, =gUnknown_03005DA8 + strh r4, [r0] + b _08086FC6 + .pool +_08086FC0: + ldr r1, =gUnknown_03005DA8 + movs r0, 0x11 + strh r0, [r1] +_08086FC6: + ldr r0, =gLinkVSyncDisabled + ldrb r0, [r0] + cmp r0, 0 + beq _08086FFC + bl sub_8087690 + cmp r0, 0x1 + bls _08086FFC + bl is_c1_link_related_active + cmp r0, 0x1 + bne _08086FFC + bl sub_8009F3C + cmp r0, 0x1 + bne _08086FFC + cmp r4, 0x11 + blt _08086FFC + cmp r4, 0x15 + ble _08086FF6 + cmp r4, 0x19 + bgt _08086FFC + cmp r4, 0x18 + blt _08086FFC +_08086FF6: + ldr r1, =gUnknown_03005DA8 + movs r0, 0 + strh r0, [r1] +_08086FFC: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8086FA0 + + thumb_func_start sub_808700C +sub_808700C: @ 808700C + push {lr} + ldr r2, =gMain + ldrh r1, [r2, 0x2C] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _08087024 + movs r0, 0x13 + b _08087064 + .pool +_08087024: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _08087030 + movs r0, 0x12 + b _08087064 +_08087030: + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _0808703C + movs r0, 0x14 + b _08087064 +_0808703C: + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _08087048 + movs r0, 0x15 + b _08087064 +_08087048: + ldrh r1, [r2, 0x2E] + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + beq _08087056 + movs r0, 0x18 + b _08087064 +_08087056: + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _08087062 + movs r0, 0x11 + b _08087064 +_08087062: + movs r0, 0x19 +_08087064: + pop {r1} + bx r1 + thumb_func_end sub_808700C + + thumb_func_start sub_8087068 +sub_8087068: @ 8087068 + push {lr} + lsls r0, 16 + lsrs r0, 16 + adds r1, r0, 0 + cmp r0, 0x13 + beq _0808708E + cmp r0, 0x13 + bgt _0808707E + cmp r0, 0x12 + beq _08087092 + b _08087096 +_0808707E: + cmp r1, 0x14 + beq _0808708A + cmp r1, 0x15 + bne _08087096 + movs r0, 0x4 + b _08087098 +_0808708A: + movs r0, 0x3 + b _08087098 +_0808708E: + movs r0, 0x1 + b _08087098 +_08087092: + movs r0, 0x2 + b _08087098 +_08087096: + movs r0, 0 +_08087098: + pop {r1} + bx r1 + thumb_func_end sub_8087068 + + thumb_func_start sub_808709C +sub_808709C: @ 808709C + push {lr} + movs r2, 0x11 + adds r1, r0, 0x6 +_080870A2: + strh r2, [r1] + subs r1, 0x2 + cmp r1, r0 + bge _080870A2 + pop {r0} + bx r0 + thumb_func_end sub_808709C + + thumb_func_start sub_80870B0 +sub_80870B0: @ 80870B0 + push {r4,lr} + adds r4, r0, 0 + bl ScriptContext2_IsEnabled + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080870C4 + movs r0, 0x11 + b _080870E6 +_080870C4: + bl sub_800B4DC + cmp r0, 0x4 + bls _080870D0 + movs r0, 0x1B + b _080870E6 +_080870D0: + bl sub_8087690 + cmp r0, 0x4 + bls _080870DC + movs r0, 0x1C + b _080870E6 +_080870DC: + adds r0, r4, 0 + bl sub_808700C + lsls r0, 16 + lsrs r0, 16 +_080870E6: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_80870B0 + + thumb_func_start sub_80870EC +sub_80870EC: @ 80870EC + push {lr} + bl sub_8086C64 + movs r0, 0x11 + pop {r1} + bx r1 + thumb_func_end sub_80870EC + + thumb_func_start sub_80870F8 +sub_80870F8: @ 80870F8 + push {r4,lr} + bl ScriptContext2_IsEnabled + lsls r0, 24 + lsrs r0, 24 + movs r4, 0x11 + cmp r0, 0x1 + beq _08087110 + movs r4, 0x1A + ldr r0, =sub_80870EC + bl c1_link_related_func_set +_08087110: + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_80870F8 + + thumb_func_start sub_808711C +sub_808711C: @ 808711C + push {r4,lr} + bl sub_800B4DC + movs r4, 0x11 + cmp r0, 0x2 + bhi _08087134 + movs r4, 0x1A + bl ScriptContext2_Disable + ldr r0, =sub_80870EC + bl c1_link_related_func_set +_08087134: + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_808711C + + thumb_func_start sub_8087140 +sub_8087140: @ 8087140 + push {r4,lr} + bl sub_8087690 + movs r4, 0x11 + cmp r0, 0x2 + bhi _08087158 + movs r4, 0x1A + bl ScriptContext2_Disable + ldr r0, =sub_80870EC + bl c1_link_related_func_set +_08087158: + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_8087140 + + thumb_func_start sub_8087164 +sub_8087164: @ 8087164 + push {lr} + bl sub_8086C64 + movs r0, 0x11 + pop {r1} + bx r1 + thumb_func_end sub_8087164 + + thumb_func_start sub_8087170 +sub_8087170: @ 8087170 + push {lr} + ldr r1, =gUnknown_03000E10 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x82 + bne _080871A0 + ldr r0, =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _080871A4 + ldr r0, =sub_8087164 + bl c1_link_related_func_set + movs r0, 0x1D + b _080871A6 + .pool +_080871A0: + bl sub_8086C64 +_080871A4: + movs r0, 0x11 +_080871A6: + pop {r1} + bx r1 + thumb_func_end sub_8087170 + + thumb_func_start sub_80871AC +sub_80871AC: @ 80871AC + push {lr} + ldr r0, =sub_8087170 + bl c1_link_related_func_set + movs r0, 0x16 + pop {r1} + bx r1 + .pool + thumb_func_end sub_80871AC + + thumb_func_start sub_80871C0 +sub_80871C0: @ 80871C0 + movs r0, 0x11 + bx lr + thumb_func_end sub_80871C0 + + thumb_func_start sub_80871C4 +sub_80871C4: @ 80871C4 + push {lr} + ldr r1, =gUnknown_03000E10 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x83 + beq _080871D4 + bl sub_8086C64 +_080871D4: + movs r0, 0x83 + bl sub_8086CA8 + cmp r0, 0x1 + bne _080871EA + ldr r0, =gUnknown_08277513 + bl ScriptContext1_SetupScript + ldr r0, =sub_80871C0 + bl c1_link_related_func_set +_080871EA: + movs r0, 0x11 + pop {r1} + bx r1 + .pool + thumb_func_end sub_80871C4 + + thumb_func_start sub_80871FC +sub_80871FC: @ 80871FC + push {lr} + ldr r0, =sub_80871C4 + bl c1_link_related_func_set + movs r0, 0x17 + pop {r1} + bx r1 + .pool + thumb_func_end sub_80871FC + + thumb_func_start sub_8087210 +sub_8087210: @ 8087210 + movs r0, 0x11 + bx lr + thumb_func_end sub_8087210 + + thumb_func_start sub_8087214 +sub_8087214: @ 8087214 + push {lr} + movs r0, 0x83 + bl sub_8086CE0 + cmp r0, 0x1 + beq _08087250 + ldr r0, =gUnknown_03000E14 + ldr r2, [r0] + ldr r1, =sub_8087170 + adds r3, r0, 0 + cmp r2, r1 + bne _0808723A + ldr r1, =gUnknown_03000E10 + ldr r0, =gUnknown_03005DB4 + ldrb r0, [r0] + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x82 + bne _08087272 +_0808723A: + ldr r1, [r3] + ldr r0, =sub_8087164 + cmp r1, r0 + bne _08087268 + ldr r1, =gUnknown_03000E10 + ldr r0, =gUnknown_03005DB4 + ldrb r0, [r0] + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x81 + bne _08087268 +_08087250: + movs r0, 0x2 + b _08087278 + .pool +_08087268: + movs r0, 0x82 + bl sub_8086CA8 + cmp r0, 0 + bne _08087276 +_08087272: + movs r0, 0 + b _08087278 +_08087276: + movs r0, 0x1 +_08087278: + pop {r1} + bx r1 + thumb_func_end sub_8087214 + + thumb_func_start sub_808727C +sub_808727C: @ 808727C + push {lr} + movs r0, 0x83 + bl sub_8086CE0 + pop {r1} + bx r1 + thumb_func_end sub_808727C + + thumb_func_start sub_8087288 +sub_8087288: @ 8087288 + push {lr} + ldr r0, =sub_80871AC + bl c1_link_related_func_set + movs r0, 0 + pop {r1} + bx r1 + .pool + thumb_func_end sub_8087288 + + thumb_func_start sub_808729C +sub_808729C: @ 808729C + push {lr} + ldr r0, =sub_80870F8 + bl c1_link_related_func_set + movs r0, 0 + pop {r1} + bx r1 + .pool + thumb_func_end sub_808729C + + thumb_func_start sub_80872B0 +sub_80872B0: @ 80872B0 + push {lr} + ldr r0, =sub_80871FC + bl c1_link_related_func_set + movs r0, 0 + pop {r1} + bx r1 + .pool + thumb_func_end sub_80872B0 + + thumb_func_start sub_80872C4 +sub_80872C4: @ 80872C4 + push {lr} + ldr r0, =sub_8087210 + bl c1_link_related_func_set + movs r0, 0 + pop {r1} + bx r1 + .pool + thumb_func_end sub_80872C4 + + thumb_func_start sub_80872D8 +sub_80872D8: @ 80872D8 + push {r4-r6,lr} + sub sp, 0x4 + adds r4, r0, 0 + adds r6, r2, 0 + strb r4, [r6] + movs r0, 0 + cmp r4, r1 + bne _080872EA + movs r0, 0x1 +_080872EA: + strb r0, [r6, 0x1] + ldr r1, =gLinkPlayerMapObjects + lsls r0, r4, 2 + adds r0, r1 + ldrb r0, [r0, 0x3] + strb r0, [r6, 0x2] + lsls r4, 24 + lsrs r4, 24 + adds r0, r4, 0 + bl sub_80878A0 + strb r0, [r6, 0x3] + mov r5, sp + adds r5, 0x2 + adds r0, r4, 0 + mov r1, sp + adds r2, r5, 0 + bl sub_8087878 + mov r0, sp + ldrh r0, [r0] + strh r0, [r6, 0x4] + ldrh r0, [r5] + strh r0, [r6, 0x6] + adds r0, r4, 0 + bl sub_80878C0 + strb r0, [r6, 0x8] + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + movs r2, 0 + ldrsh r1, [r5, r2] + bl MapGridGetMetatileBehaviorAt + strh r0, [r6, 0xC] + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_80872D8 + + thumb_func_start sub_8087340 +sub_8087340: @ 8087340 + push {lr} + ldrb r0, [r0, 0x2] + cmp r0, 0x2 + beq _0808734C + cmp r0, 0 + bne _08087350 +_0808734C: + movs r0, 0x1 + b _08087352 +_08087350: + movs r0, 0 +_08087352: + pop {r1} + bx r1 + thumb_func_end sub_8087340 + + thumb_func_start sub_8087358 +sub_8087358: @ 8087358 + push {lr} + ldrb r0, [r0, 0x2] + cmp r0, 0x2 + beq _08087364 + cmp r0, 0 + bne _08087368 +_08087364: + movs r0, 0x1 + b _0808736A +_08087368: + movs r0, 0 +_0808736A: + pop {r1} + bx r1 + thumb_func_end sub_8087358 + + thumb_func_start sub_8087370 +sub_8087370: @ 8087370 + push {lr} + adds r1, r0, 0 + ldrb r0, [r1, 0x2] + cmp r0, 0x2 + bne _08087382 + adds r0, r1, 0x4 + bl sub_809D0F4 + b _08087384 +_08087382: + movs r0, 0 +_08087384: + pop {r1} + bx r1 + thumb_func_end sub_8087370 + + thumb_func_start sub_8087388 +sub_8087388: @ 8087388 + push {r4,lr} + adds r4, r0, 0 + ldrb r0, [r4, 0x2] + cmp r0, 0x2 + beq _08087396 + cmp r0, 0 + bne _080873AC +_08087396: + ldrb r0, [r4, 0xC] + bl MetatileBehavior_IsSouthArrowWarp + lsls r0, 24 + cmp r0, 0 + beq _080873AC + ldrb r0, [r4, 0x3] + cmp r0, 0x1 + bne _080873AC + movs r0, 0x1 + b _080873AE +_080873AC: + movs r0, 0 +_080873AE: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8087388 + + thumb_func_start sub_80873B4 +sub_80873B4: @ 80873B4 + push {r4,lr} + sub sp, 0x8 + adds r4, r0, 0 + ldrb r0, [r4, 0x2] + cmp r0, 0 + beq _080873C8 + cmp r0, 0x2 + beq _080873C8 + movs r0, 0 + b _08087476 +_080873C8: + ldr r0, [r4, 0x4] + ldr r1, [r4, 0x8] + str r0, [sp] + str r1, [sp, 0x4] + ldr r3, =gUnknown_08339D64 + ldrb r0, [r4, 0x3] + lsls r0, 3 + adds r0, r3 + ldr r0, [r0] + mov r1, sp + ldrh r1, [r1] + adds r0, r1 + lsls r0, 16 + lsrs r0, 16 + ldr r1, =0xffff0000 + ldr r2, [sp] + ands r2, r1 + orrs r2, r0 + str r2, [sp] + asrs r1, r2, 16 + ldrb r0, [r4, 0x3] + lsls r0, 3 + adds r3, 0x4 + adds r0, r3 + ldr r0, [r0] + adds r0, r1 + lsls r0, 16 + ldr r1, =0x0000ffff + ands r1, r2 + orrs r1, r0 + str r1, [sp] + ldr r2, =0xffffff00 + ldr r0, [sp, 0x4] + ands r0, r2 + str r0, [sp, 0x4] + mov r0, sp + movs r2, 0 + ldrsh r0, [r0, r2] + asrs r1, 16 + bl sub_808790C + lsls r0, 24 + lsrs r1, r0, 24 + adds r2, r1, 0 + cmp r1, 0x4 + beq _0808746C + ldrb r0, [r4, 0x1] + cmp r0, 0 + beq _08087434 + ldr r0, =gUnknown_03000E10 + adds r0, r1, r0 + ldrb r0, [r0] + cmp r0, 0x80 + beq _08087450 +_08087434: + ldr r0, =gUnknown_0827749C + b _08087476 + .pool +_08087450: + adds r0, r2, 0 + bl sub_80B39D4 + cmp r0, 0 + bne _08087464 + ldr r0, =gUnknown_0827747E + b _08087476 + .pool +_08087464: + ldr r0, =gUnknown_0827748D + b _08087476 + .pool +_0808746C: + ldrb r1, [r4, 0xC] + ldrb r2, [r4, 0x3] + mov r0, sp + bl sub_809C2C8 +_08087476: + add sp, 0x8 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_80873B4 + + thumb_func_start sub_8087480 +sub_8087480: @ 8087480 + push {lr} + adds r1, r0, 0 + ldr r0, =gUnknown_08277388 + cmp r1, r0 + beq _080874C6 + ldr r0, =gUnknown_082773A3 + cmp r1, r0 + beq _08087508 + ldr r0, =gUnknown_082773BE + cmp r1, r0 + beq _080874C6 + ldr r0, =gUnknown_082773D9 + cmp r1, r0 + beq _08087508 + ldr r0, =gUnknown_0827741D + cmp r1, r0 + beq _080874C6 + ldr r0, =gUnknown_08277432 + cmp r1, r0 + beq _08087508 + ldr r0, =gUnknown_08277447 + cmp r1, r0 + beq _080874C6 + ldr r0, =gUnknown_0827745C + cmp r1, r0 + beq _08087508 + ldr r0, =gUnknown_08277374 + cmp r1, r0 + beq _080874C6 + ldr r0, =gUnknown_0827737E + cmp r1, r0 + beq _08087508 + ldr r0, =gUnknown_082773F5 + cmp r1, r0 + bne _080874F8 +_080874C6: + movs r0, 0xA + b _0808750A + .pool +_080874F8: + ldr r0, =gUnknown_082773FF + cmp r1, r0 + beq _08087508 + movs r0, 0 + b _0808750A + .pool +_08087508: + movs r0, 0x9 +_0808750A: + pop {r1} + bx r1 + thumb_func_end sub_8087480 + + thumb_func_start sub_8087510 +sub_8087510: @ 8087510 + push {lr} + bl ScriptContext2_Enable + pop {r0} + bx r0 + thumb_func_end sub_8087510 + + thumb_func_start sub_808751C +sub_808751C: @ 808751C + push {lr} + movs r0, 0x6 + bl PlaySE + bl sub_809FA9C + bl ScriptContext2_Enable + pop {r0} + bx r0 + thumb_func_end sub_808751C + + thumb_func_start sub_8087530 +sub_8087530: @ 8087530 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x5 + bl PlaySE + adds r0, r4, 0 + bl ScriptContext1_SetupScript + bl ScriptContext2_Enable + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8087530 + + thumb_func_start sub_808754C +sub_808754C: @ 808754C + push {lr} + movs r0, 0x6 + bl PlaySE + ldr r0, =gUnknown_082774EF + bl ScriptContext1_SetupScript + bl ScriptContext2_Enable + pop {r0} + bx r0 + .pool + thumb_func_end sub_808754C + + thumb_func_start sub_8087568 +sub_8087568: @ 8087568 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x5 + bl PlaySE + adds r0, r4, 0 + bl ScriptContext1_SetupScript + bl ScriptContext2_Enable + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8087568 + + thumb_func_start sub_8087584 +sub_8087584: @ 8087584 + push {lr} + ldr r0, =gUnknown_08277509 + bl ScriptContext1_SetupScript + bl ScriptContext2_Enable + pop {r0} + bx r0 + .pool + thumb_func_end sub_8087584 + + thumb_func_start sub_8087598 +sub_8087598: @ 8087598 + push {lr} + bl is_c1_link_related_active + cmp r0, 0 + bne _080875A6 + movs r0, 0 + b _080875C0 +_080875A6: + bl sub_800B4DC + cmp r0, 0x2 + bls _080875B8 + ldr r1, =gUnknown_03000E18 + movs r0, 0x1 + b _080875BC + .pool +_080875B8: + ldr r1, =gUnknown_03000E18 + movs r0, 0 +_080875BC: + strb r0, [r1] + ldrb r0, [r1] +_080875C0: + pop {r1} + bx r1 + .pool + thumb_func_end sub_8087598 + + thumb_func_start sub_80875C8 +sub_80875C8: @ 80875C8 + push {lr} + bl sub_800B4DC + cmp r0, 0x1 + bls _0808762C + bl is_c1_link_related_active + cmp r0, 0x1 + bne _0808762C + bl sub_8009F3C + cmp r0, 0x1 + bne _0808762C + ldr r0, =gUnknown_03000E14 + ldr r1, [r0] + ldr r0, =sub_808711C + cmp r1, r0 + beq _08087614 + ldr r0, =sub_80870F8 + cmp r1, r0 + bne _0808762C + ldr r0, =gUnknown_03000E18 + ldrb r2, [r0] + movs r1, 0 + strb r1, [r0] + cmp r2, 0x1 + beq _08087614 + ldr r2, =gPaletteFade + ldrb r1, [r2, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _0808762C + ldrb r1, [r2, 0xA] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0808762C +_08087614: + movs r0, 0x1 + b _0808762E + .pool +_0808762C: + movs r0, 0 +_0808762E: + pop {r1} + bx r1 + thumb_func_end sub_80875C8 + + thumb_func_start sub_8087634 +sub_8087634: @ 8087634 + push {lr} + bl sub_8087690 + cmp r0, 0x1 + bls _08087658 + bl is_c1_link_related_active + cmp r0, 0x1 + bne _08087658 + bl sub_8009F3C + cmp r0, 0x1 + bne _08087658 + ldr r0, =gUnknown_03000E14 + ldr r1, [r0] + ldr r0, =sub_8087140 + cmp r1, r0 + beq _08087664 +_08087658: + movs r0, 0 + b _08087666 + .pool +_08087664: + movs r0, 0x1 +_08087666: + pop {r1} + bx r1 + thumb_func_end sub_8087634 + + thumb_func_start sub_808766C +sub_808766C: @ 808766C + push {lr} + ldr r0, =gLinkVSyncDisabled + ldrb r0, [r0] + cmp r0, 0 + bne _08087688 + bl sub_8009F3C + cmp r0, 0 + beq _08087688 + movs r0, 0x1 + b _0808768A + .pool +_08087688: + movs r0, 0 +_0808768A: + pop {r1} + bx r1 + thumb_func_end sub_808766C + + thumb_func_start sub_8087690 +sub_8087690: @ 8087690 + push {lr} + ldr r0, =gLinkVSyncDisabled + ldrb r0, [r0] + cmp r0, 0 + bne _080876B0 + ldr r0, =gUnknown_03003170 + ldr r1, =0x00000339 + adds r0, r1 + ldrb r0, [r0] + b _080876B8 + .pool +_080876B0: + ldr r0, =gUnknown_03005000 + ldr r1, =0x00000c1a + adds r0, r1 + ldrb r0, [r0] +_080876B8: + pop {r1} + bx r1 + .pool + thumb_func_end sub_8087690 + + thumb_func_start sub_80876C4 +sub_80876C4: @ 80876C4 + movs r1, 0 + str r1, [r0] + bx lr + thumb_func_end sub_80876C4 + + thumb_func_start strange_npc_table_clear +strange_npc_table_clear: @ 80876CC + push {lr} + ldr r0, =gLinkPlayerMapObjects + movs r1, 0 + movs r2, 0x10 + bl memset + pop {r0} + bx r0 + .pool + thumb_func_end strange_npc_table_clear + + thumb_func_start sub_80876E0 +sub_80876E0: @ 80876E0 + push {lr} + movs r1, 0 + movs r2, 0x24 + bl memset + pop {r0} + bx r0 + thumb_func_end sub_80876E0 + + thumb_func_start sub_80876F0 +sub_80876F0: @ 80876F0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + mov r9, r1 + mov r10, r2 + mov r8, r3 + lsls r0, 24 + lsrs r7, r0, 24 + mov r0, r9 + lsls r0, 16 + lsrs r0, 16 + mov r9, r0 + mov r1, r10 + lsls r1, 16 + lsrs r1, 16 + mov r10, r1 + mov r2, r8 + lsls r2, 24 + lsrs r2, 24 + mov r8, r2 + bl sub_808D4F4 + adds r6, r0, 0 + lsls r6, 24 + lsrs r6, 24 + lsls r4, r7, 2 + ldr r0, =gLinkPlayerMapObjects + adds r4, r0 + lsls r5, r6, 3 + adds r5, r6 + lsls r5, 2 + ldr r0, =gMapObjects + adds r5, r0 + adds r0, r4, 0 + bl sub_80876C4 + adds r0, r5, 0 + bl sub_80876E0 + movs r2, 0 + movs r1, 0x1 + movs r0, 0x1 + strb r0, [r4] + strb r7, [r4, 0x1] + strb r6, [r4, 0x2] + strb r2, [r4, 0x3] + ldrb r0, [r5] + orrs r0, r1 + mov r2, r8 + ands r2, r1 + lsls r2, 1 + movs r1, 0x3 + negs r1, r1 + ands r0, r1 + orrs r0, r2 + strb r0, [r5] + movs r0, 0x2 + strb r0, [r5, 0x19] + movs r0, 0x40 + strb r0, [r5, 0x4] + mov r0, r9 + lsls r0, 16 + asrs r0, 16 + mov r9, r0 + mov r1, r10 + lsls r1, 16 + asrs r1, 16 + mov r10, r1 + adds r0, r5, 0 + mov r1, r9 + mov r2, r10 + bl sub_808779C + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_80876F0 + + thumb_func_start sub_808779C +sub_808779C: @ 808779C + push {r4,lr} + adds r4, r0, 0 + adds r0, r1, 0 + adds r1, r2, 0 + lsls r0, 16 + lsrs r0, 16 + lsls r1, 16 + lsrs r1, 16 + strh r0, [r4, 0x10] + strh r1, [r4, 0x12] + strh r0, [r4, 0x14] + strh r1, [r4, 0x16] + lsls r0, 16 + asrs r0, 16 + lsls r1, 16 + asrs r1, 16 + adds r2, r4, 0 + adds r2, 0xC + adds r3, r4, 0 + adds r3, 0xE + bl sub_8093038 + ldrh r0, [r4, 0xC] + adds r0, 0x8 + strh r0, [r4, 0xC] + adds r0, r4, 0 + bl FieldObjectUpdateZCoord + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_808779C + + thumb_func_start sub_80877DC +sub_80877DC: @ 80877DC + push {lr} + lsls r0, 24 + lsls r1, 24 + lsrs r2, r1, 24 + ldr r1, =gLinkPlayerMapObjects + lsrs r0, 22 + adds r1, r0, r1 + ldrb r0, [r1] + cmp r0, 0 + beq _080877FE + ldrb r0, [r1, 0x2] + lsls r1, r0, 3 + adds r1, r0 + lsls r1, 2 + ldr r0, =gMapObjects + adds r1, r0 + strb r2, [r1, 0x19] +_080877FE: + pop {r0} + bx r0 + .pool + thumb_func_end sub_80877DC + + thumb_func_start sub_808780C +sub_808780C: @ 808780C + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 22 + ldr r1, =gLinkPlayerMapObjects + adds r5, r0, r1 + ldrb r1, [r5, 0x2] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + ldr r1, =gMapObjects + adds r4, r0, r1 + ldrb r0, [r4, 0x4] + cmp r0, 0x40 + beq _08087838 + adds r1, r0, 0 + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, =gSprites + adds r0, r1 + bl DestroySprite +_08087838: + movs r0, 0 + strb r0, [r5] + ldrb r1, [r4] + subs r0, 0x2 + ands r0, r1 + strb r0, [r4] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_808780C + + thumb_func_start sub_8087858 +sub_8087858: @ 8087858 + lsls r0, 24 + ldr r1, =gLinkPlayerMapObjects + lsrs r0, 22 + adds r0, r1 + ldrb r1, [r0, 0x2] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + ldr r1, =gMapObjects + adds r0, r1 + ldrb r0, [r0, 0x4] + bx lr + .pool + thumb_func_end sub_8087858 + + thumb_func_start sub_8087878 +sub_8087878: @ 8087878 + lsls r0, 24 + ldr r3, =gLinkPlayerMapObjects + lsrs r0, 22 + adds r0, r3 + ldrb r3, [r0, 0x2] + lsls r0, r3, 3 + adds r0, r3 + lsls r0, 2 + ldr r3, =gMapObjects + adds r0, r3 + ldrh r3, [r0, 0x10] + strh r3, [r1] + ldrh r0, [r0, 0x12] + strh r0, [r2] + bx lr + .pool + thumb_func_end sub_8087878 + + thumb_func_start sub_80878A0 +sub_80878A0: @ 80878A0 + lsls r0, 24 + ldr r1, =gLinkPlayerMapObjects + lsrs r0, 22 + adds r0, r1 + ldrb r1, [r0, 0x2] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + ldr r1, =gMapObjects + adds r0, r1 + ldrb r0, [r0, 0x19] + bx lr + .pool + thumb_func_end sub_80878A0 + + thumb_func_start sub_80878C0 +sub_80878C0: @ 80878C0 + lsls r0, 24 + ldr r1, =gLinkPlayerMapObjects + lsrs r0, 22 + adds r0, r1 + ldrb r1, [r0, 0x2] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + ldr r1, =gMapObjects + adds r0, r1 + ldrb r0, [r0, 0xB] + lsls r0, 28 + lsrs r0, 28 + bx lr + .pool + thumb_func_end sub_80878C0 + + thumb_func_start sub_80878E4 +sub_80878E4: @ 80878E4 + lsls r0, 24 + ldr r1, =gLinkPlayerMapObjects + lsrs r0, 22 + adds r0, r1 + ldrb r1, [r0, 0x2] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + ldr r1, =gMapObjects + adds r0, r1 + adds r0, 0x21 + movs r1, 0 + ldrsb r1, [r0, r1] + movs r0, 0x10 + subs r0, r1 + bx lr + .pool + thumb_func_end sub_80878E4 + + thumb_func_start sub_808790C +sub_808790C: @ 808790C + push {r4-r6,lr} + movs r2, 0 + ldr r5, =gLinkPlayerMapObjects + lsls r0, 16 + asrs r4, r0, 16 + lsls r1, 16 + asrs r3, r1, 16 +_0808791A: + lsls r0, r2, 2 + adds r1, r0, r5 + ldrb r0, [r1] + cmp r0, 0 + beq _08087958 + ldrb r0, [r1, 0x3] + cmp r0, 0 + beq _0808792E + cmp r0, 0x2 + bne _08087958 +_0808792E: + ldrb r1, [r1, 0x2] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + ldr r1, =gMapObjects + adds r1, r0, r1 + movs r6, 0x10 + ldrsh r0, [r1, r6] + cmp r0, r4 + bne _08087958 + movs r6, 0x12 + ldrsh r0, [r1, r6] + cmp r0, r3 + bne _08087958 + adds r0, r2, 0 + b _08087964 + .pool +_08087958: + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x3 + bls _0808791A + movs r0, 0x4 +_08087964: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_808790C + + thumb_func_start sub_808796C +sub_808796C: @ 808796C + push {r4-r6,lr} + lsls r0, 24 + lsls r1, 24 + lsrs r3, r1, 24 + adds r2, r3, 0 + lsrs r0, 22 + ldr r1, =gLinkPlayerMapObjects + adds r5, r0, r1 + ldrb r1, [r5, 0x2] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + ldr r1, =gMapObjects + adds r6, r0, r1 + ldrb r0, [r5] + cmp r0, 0 + beq _080879C8 + cmp r3, 0xA + bls _080879A4 + ldrb r0, [r6] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r6] + b _080879C8 + .pool +_080879A4: + ldr r4, =gUnknown_08339E00 + ldr r1, =gUnknown_08339DC8 + ldrb r0, [r5, 0x3] + lsls r0, 2 + adds r0, r1 + ldr r3, [r0] + adds r0, r5, 0 + adds r1, r6, 0 + bl _call_via_r3 + lsls r0, 24 + lsrs r0, 22 + adds r0, r4 + ldr r2, [r0] + adds r0, r5, 0 + adds r1, r6, 0 + bl _call_via_r2 +_080879C8: + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_808796C + + thumb_func_start sub_80879D8 +sub_80879D8: @ 80879D8 + push {r4,lr} + lsls r2, 24 + lsrs r2, 24 + ldr r4, =gUnknown_08339DD4 + lsls r3, r2, 2 + adds r3, r4 + ldr r3, [r3] + bl _call_via_r3 + lsls r0, 24 + lsrs r0, 24 + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_80879D8 + + thumb_func_start sub_80879F8 +sub_80879F8: @ 80879F8 + movs r0, 0x1 + bx lr + thumb_func_end sub_80879F8 + + thumb_func_start sub_80879FC +sub_80879FC: @ 80879FC + push {r4,lr} + lsls r2, 24 + lsrs r2, 24 + ldr r4, =gUnknown_08339DD4 + lsls r3, r2, 2 + adds r3, r4 + ldr r3, [r3] + bl _call_via_r3 + lsls r0, 24 + lsrs r0, 24 + pop {r4} + pop {r1} + bx r1 + .pool + thumb_func_end sub_80879FC + + thumb_func_start sub_8087A1C +sub_8087A1C: @ 8087A1C + movs r0, 0 + bx lr + thumb_func_end sub_8087A1C + + thumb_func_start sub_8087A20 +sub_8087A20: @ 8087A20 + push {r4-r6,lr} + sub sp, 0x4 + adds r4, r0, 0 + adds r5, r1, 0 + lsls r0, r2, 24 + lsrs r0, 24 + ldrb r1, [r5, 0x19] + bl npc_something3 + strb r0, [r5, 0x19] + ldrb r1, [r5, 0x19] + mov r6, sp + adds r6, 0x2 + adds r0, r5, 0 + mov r2, sp + adds r3, r6, 0 + bl FieldObjectMoveDestCoords + ldrb r0, [r4, 0x2] + ldrb r1, [r5, 0x19] + mov r2, sp + movs r3, 0 + ldrsh r2, [r2, r3] + movs r4, 0 + ldrsh r3, [r6, r4] + bl npc_080587EC + lsls r0, 24 + cmp r0, 0 + bne _08087A7E + adds r1, r5, 0 + adds r1, 0x21 + movs r0, 0x10 + strb r0, [r1] + mov r0, sp + movs r2, 0 + ldrsh r1, [r0, r2] + movs r3, 0 + ldrsh r2, [r6, r3] + adds r0, r5, 0 + bl npc_coords_shift + adds r0, r5, 0 + bl FieldObjectUpdateZCoord + movs r0, 0x1 + b _08087A80 +_08087A7E: + movs r0, 0 +_08087A80: + add sp, 0x4 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8087A20 + + thumb_func_start sub_8087A88 +sub_8087A88: @ 8087A88 + push {r4,lr} + adds r4, r1, 0 + lsls r0, r2, 24 + lsrs r0, 24 + ldrb r1, [r4, 0x19] + bl npc_something3 + strb r0, [r4, 0x19] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8087A88 + + thumb_func_start sub_8087AA0 +sub_8087AA0: @ 8087AA0 + movs r1, 0 + strb r1, [r0, 0x3] + bx lr + thumb_func_end sub_8087AA0 + + thumb_func_start sub_8087AA8 +sub_8087AA8: @ 8087AA8 + push {r4-r6,lr} + adds r6, r0, 0 + adds r4, r1, 0 + adds r5, r4, 0 + adds r5, 0x21 + ldrb r0, [r5] + subs r0, 0x1 + strb r0, [r5] + movs r0, 0x1 + strb r0, [r6, 0x3] + ldrb r0, [r4, 0x19] + adds r1, 0xC + adds r2, r4, 0 + adds r2, 0xE + bl MoveCoords + ldrb r0, [r5] + cmp r0, 0 + bne _08087AD8 + adds r0, r4, 0 + bl npc_coords_shift_still + movs r0, 0x2 + strb r0, [r6, 0x3] +_08087AD8: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8087AA8 + + thumb_func_start npc_something3 +npc_something3: @ 8087AE0 + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r2, r1, 24 + subs r0, 0x1 + cmp r0, 0x9 + bhi _08087B38 + lsls r0, 2 + ldr r1, =_08087B00 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_08087B00: + .4byte _08087B28 + .4byte _08087B2C + .4byte _08087B30 + .4byte _08087B34 + .4byte _08087B38 + .4byte _08087B38 + .4byte _08087B28 + .4byte _08087B2C + .4byte _08087B30 + .4byte _08087B34 +_08087B28: + movs r0, 0x2 + b _08087B3A +_08087B2C: + movs r0, 0x1 + b _08087B3A +_08087B30: + movs r0, 0x3 + b _08087B3A +_08087B34: + movs r0, 0x4 + b _08087B3A +_08087B38: + adds r0, r2, 0 +_08087B3A: + pop {r1} + bx r1 + thumb_func_end npc_something3 + + thumb_func_start npc_080587EC +npc_080587EC: @ 8087B40 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + lsls r2, 16 + lsrs r2, 16 + mov r12, r2 + lsls r3, 16 + movs r4, 0 + ldr r0, =gMapObjects + mov r9, r0 + lsrs r2, r3, 16 + mov r10, r2 + asrs r6, r3, 16 +_08087B64: + mov r7, r12 + lsls r3, r7, 16 + mov r0, r10 + lsls r5, r0, 16 + cmp r4, r8 + beq _08087BA8 + lsls r0, r4, 3 + adds r0, r4 + lsls r0, 2 + mov r2, r9 + adds r1, r0, r2 + movs r7, 0x10 + ldrsh r0, [r1, r7] + asrs r2, r3, 16 + cmp r0, r2 + bne _08087B8C + movs r7, 0x12 + ldrsh r0, [r1, r7] + cmp r0, r6 + beq _08087B9E +_08087B8C: + movs r7, 0x14 + ldrsh r0, [r1, r7] + cmp r0, r2 + bne _08087BA8 + movs r0, 0x16 + ldrsh r1, [r1, r0] + asrs r0, r5, 16 + cmp r1, r0 + bne _08087BA8 +_08087B9E: + movs r0, 0x1 + b _08087BBE + .pool +_08087BA8: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0xF + bls _08087B64 + asrs r0, r3, 16 + asrs r1, r5, 16 + bl MapGridIsImpassableAt + lsls r0, 24 + lsrs r0, 24 +_08087BBE: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end npc_080587EC + + thumb_func_start sub_8087BCC +sub_8087BCC: @ 8087BCC + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r5, r0, 24 + lsls r1, 24 + lsrs r3, r1, 24 + lsls r2, r5, 2 + ldr r0, =gLinkPlayerMapObjects + adds r2, r0 + ldrb r1, [r2, 0x2] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + ldr r1, =gMapObjects + adds r4, r0, r1 + ldrb r0, [r2] + cmp r0, 0 + beq _08087C7A + subs r0, r3, 0x1 + cmp r0, 0x4 + bhi _08087C56 + lsls r0, 2 + ldr r1, =_08087C0C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_08087C0C: + .4byte _08087C2C + .4byte _08087C2C + .4byte _08087C38 + .4byte _08087C20 + .4byte _08087C20 +_08087C20: + ldrb r0, [r4] + lsls r0, 30 + lsrs r0, 31 + bl sub_808BD6C + b _08087C44 +_08087C2C: + ldrb r0, [r4] + lsls r0, 30 + lsrs r0, 31 + bl sub_808BD7C + b _08087C44 +_08087C38: + ldrb r1, [r4] + lsls r1, 30 + lsrs r1, 31 + movs r0, 0 + bl GetRivalAvatarGraphicsIdByStateIdAndGender +_08087C44: + lsls r0, 24 + lsrs r0, 24 + ldr r1, =sub_8087C8C + movs r2, 0 + str r2, [sp] + movs r3, 0 + bl AddPseudoFieldObject + strb r0, [r4, 0x4] +_08087C56: + ldrb r1, [r4, 0x4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, =gSprites + adds r0, r1 + adds r3, r0, 0 + adds r3, 0x3E + ldrb r1, [r3] + movs r2, 0x2 + orrs r1, r2 + strb r1, [r3] + strh r5, [r0, 0x2E] + ldrb r1, [r4] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r4] +_08087C7A: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8087BCC + + thumb_func_start sub_8087C8C +sub_8087C8C: @ 8087C8C + push {r4-r6,lr} + adds r5, r0, 0 + movs r0, 0x2E + ldrsh r4, [r5, r0] + lsls r4, 2 + ldr r0, =gLinkPlayerMapObjects + adds r4, r0 + ldrb r1, [r4, 0x2] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + ldr r1, =gMapObjects + adds r6, r0, r1 + ldrh r0, [r6, 0xC] + strh r0, [r5, 0x20] + ldrh r0, [r6, 0xE] + strh r0, [r5, 0x22] + ldrb r0, [r6, 0xB] + lsrs r0, 4 + adds r1, r5, 0 + movs r2, 0x1 + bl SetObjectSubpriorityByZCoord + ldrb r0, [r6, 0xB] + lsrs r0, 4 + bl ZCoordToPriority + movs r1, 0x3 + ands r1, r0 + lsls r1, 2 + ldrb r2, [r5, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x5] + ldrb r0, [r4, 0x3] + cmp r0, 0 + bne _08087CF8 + ldrb r0, [r6, 0x19] + bl FieldObjectDirectionToImageAnimId + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r5, 0 + bl StartSpriteAnim + b _08087D0A + .pool +_08087CF8: + ldrb r0, [r6, 0x19] + bl get_go_image_anim_num + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r5, 0 + bl StartSpriteAnimIfDifferent +_08087D0A: + adds r0, r5, 0 + movs r1, 0 + bl sub_80979D4 + ldrb r0, [r6] + lsls r0, 29 + cmp r0, 0 + bge _08087D3C + ldrh r0, [r5, 0x3C] + movs r1, 0x4 + ands r1, r0 + lsls r1, 16 + adds r3, r5, 0 + adds r3, 0x3E + lsrs r1, 18 + lsls r1, 2 + ldrb r2, [r3] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + ldrh r0, [r5, 0x3C] + adds r0, 0x1 + strh r0, [r5, 0x3C] +_08087D3C: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8087C8C + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/party_menu.s b/asm/party_menu.s old mode 100755 new mode 100644 index 3d2af7e7d1..991ad36231 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -4,6 +4,192 @@ .syntax unified .text + + thumb_func_start sub_81B0038 +sub_81B0038: @ 81B0038 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + ldr r4, [sp, 0x24] + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + lsls r1, 24 + lsrs r1, 24 + mov r9, r1 + lsls r2, 24 + lsrs r7, r2, 24 + lsls r3, 24 + lsrs r3, 24 + str r3, [sp] + lsls r4, 24 + lsrs r6, r4, 24 + bl reset_brm + ldr r0, =gUnknown_0203CEC4 + mov r10, r0 + movs r0, 0x8E + lsls r0, 2 + bl Alloc + adds r5, r0, 0 + mov r1, r10 + str r5, [r1] + cmp r5, 0 + bne _081B0088 + ldr r0, [sp, 0x2C] + bl SetMainCallback2 + b _081B0194 + .pool +_081B0088: + ldr r3, =gUnknown_0203CEC8 + movs r1, 0xF + mov r4, r8 + ands r1, r4 + ldrb r2, [r3, 0x8] + movs r0, 0x10 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3, 0x8] + ldr r0, [sp, 0x2C] + str r0, [r3] + movs r4, 0 + strb r7, [r3, 0xB] + lsls r2, r6, 2 + ldrh r1, [r5, 0xA] + movs r0, 0x3 + ands r0, r1 + orrs r0, r2 + strh r0, [r5, 0xA] + ldr r0, [sp, 0x28] + str r0, [r5] + str r4, [r5, 0x4] + ldrb r1, [r5, 0x8] + movs r0, 0xF + negs r0, r0 + ands r0, r1 + strb r0, [r5, 0x8] + mov r1, r10 + ldr r2, [r1] + ldrh r0, [r2, 0x8] + movs r4, 0xFE + lsls r4, 3 + adds r1, r4, 0 + orrs r0, r1 + strh r0, [r2, 0x8] + ldr r0, [r2, 0x8] + movs r1, 0xFE + lsls r1, 10 + orrs r0, r1 + str r0, [r2, 0x8] + adds r6, r3, 0 + mov r5, r8 + cmp r5, 0x4 + bne _081B00F0 + ldrb r0, [r2, 0x8] + movs r1, 0x1 + orrs r0, r1 + b _081B00F8 + .pool +_081B00F0: + ldrb r1, [r2, 0x8] + movs r0, 0x2 + negs r0, r0 + ands r0, r1 +_081B00F8: + strb r0, [r2, 0x8] + mov r0, r9 + cmp r0, 0xFF + beq _081B0114 + movs r0, 0x3 + mov r1, r9 + ands r0, r1 + lsls r0, 4 + ldrb r2, [r6, 0x8] + movs r1, 0x31 + negs r1, r1 + ands r1, r2 + orrs r1, r0 + strb r1, [r6, 0x8] +_081B0114: + movs r2, 0 + ldr r5, =gUnknown_0203CEC4 + movs r4, 0x86 + lsls r4, 2 + movs r3, 0 +_081B011E: + ldr r0, [r5] + lsls r1, r2, 1 + adds r0, r4 + adds r0, r1 + strh r3, [r0] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0xF + bls _081B011E + movs r2, 0 + ldr r4, =gUnknown_0203CEC4 + movs r3, 0xFF +_081B0138: + ldr r0, [r4] + adds r0, 0xC + adds r0, r2 + ldrb r1, [r0] + orrs r1, r3 + strb r1, [r0] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0x2 + bls _081B0138 + ldr r4, [sp] + cmp r4, 0 + bne _081B015C + strb r4, [r6, 0x9] + b _081B017E + .pool +_081B015C: + adds r1, r6, 0 + movs r0, 0x9 + ldrsb r0, [r1, r0] + cmp r0, 0x5 + bgt _081B017A + adds r1, r0, 0 + movs r0, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + bne _081B017E +_081B017A: + movs r0, 0 + strb r0, [r6, 0x9] +_081B017E: + ldr r2, =gTextFlags + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + bl CalculatePlayerPartyCount + ldr r0, =c2_811EBD0 + bl SetMainCallback2 +_081B0194: + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81B0038 thumb_func_start sub_81B01B0 sub_81B01B0: @ 81B01B0 @@ -98,7 +284,7 @@ _081B0234: .4byte _081B0474 _081B0290: bl SetVBlankHBlankCallbacksToNull - bl sub_8121DA0 + bl ResetVramOamAndBgCntRegs bl clear_scheduled_bg_copies_to_vram ldr r1, =gMain movs r0, 0x87 @@ -107,7 +293,7 @@ _081B0290: b _081B048C .pool _081B02AC: - bl remove_some_task + bl ScanlineEffect_Stop b _081B0484 _081B02B2: bl ResetPaletteFade @@ -429,7 +615,7 @@ sub_81B0550: @ 81B0550 ldr r1, [r5] movs r0, 0x1 bl SetBgTilemapBuffer - bl sub_8121E10 + bl ResetAllBgsCoordinates movs r0, 0x1 bl schedule_bg_copy_tilemap_to_vram movs r1, 0x82 @@ -487,7 +673,7 @@ _081B05F0: .4byte _081B0694 _081B0610: ldr r4, =gUnknown_0203CEE0 - ldr r0, =gUnknown_08D967EC + ldr r0, =gPartyMenuMisc_Gfx mov r1, sp bl malloc_and_decompress adds r1, r0, 0 @@ -505,14 +691,14 @@ _081B0638: lsls r0, 24 cmp r0, 0 bne _081B06B4 - ldr r0, =gUnknown_08D96BA0 + ldr r0, =gPartyMenuMisc_Tilemap ldr r1, =gUnknown_0203CEE4 ldr r1, [r1] bl LZDecompressWram b _081B069A .pool _081B0658: - ldr r0, =gUnknown_08D96AB4 + ldr r0, =gPartyMenuMisc_Pal movs r2, 0xB0 lsls r2, 1 movs r1, 0 @@ -1213,13 +1399,13 @@ sub_81B0BFC: @ 81B0BFC muls r1, r0 ldr r0, =gPlayerParty adds r6, r1, r0 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r4, [r0] ldr r0, =gUnknown_0203CEC8 ldrb r0, [r0, 0xB] cmp r0, 0xC bne _081B0C40 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] ldr r0, =gSpecialVar_0x8005 @@ -2111,13 +2297,13 @@ _081B134C: bx r0 thumb_func_end c3_0811FAB4 - thumb_func_start brm_get_pokemon_selection -brm_get_pokemon_selection: @ 81B1354 + thumb_func_start GetCursorSelectionMonId +GetCursorSelectionMonId: @ 81B1354 ldr r0, =gUnknown_0203CEC8 ldrb r0, [r0, 0x9] bx lr .pool - thumb_func_end brm_get_pokemon_selection + thumb_func_end GetCursorSelectionMonId thumb_func_start sub_81B1360 sub_81B1360: @ 81B1360 @@ -2554,7 +2740,7 @@ sub_81B1708: @ 81B1708 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -3161,7 +3347,7 @@ sub_81B1B8C: @ 81B1B8C lsrs r4, r0, 24 adds r5, r4, 0 movs r0, 0x6 - bl sub_8121F20 + bl RunTextPrintersRetIsActive lsls r0, 16 lsrs r0, 16 cmp r0, 0x1 @@ -3402,14 +3588,14 @@ sub_81B1DB8: @ 81B1DB8 lsrs r4, r5, 16 adds r7, r4, 0 adds r0, r4, 0 - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _081B1DE2 adds r0, r6, 0 adds r1, r4, 0 - bl sub_80D4420 + bl GiveMailToMon lsls r0, 24 lsrs r0, 24 cmp r0, 0xFF @@ -4010,7 +4196,7 @@ sub_81B227C: @ 81B227C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -4211,7 +4397,7 @@ _081B23E8: movs r1, 0x4F movs r2, 0xD0 bl sub_809882C - bl sub_8098C64 + bl GetOverworldTextboxPalettePtr movs r1, 0xE0 movs r2, 0x20 bl LoadPalette @@ -4249,7 +4435,7 @@ _081B243E: adds r0, r4, 0 movs r1, 0 bl FillWindowPixelBuffer - ldr r5, =gText_Confirm + ldr r5, =gMenuText_Confirm movs r0, 0 adds r1, r5, 0 movs r2, 0x30 @@ -4268,7 +4454,7 @@ _081B243E: adds r0, r4, 0 movs r1, 0 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 adds r0, r4, 0 bl PutWindowTilemap adds r0, r4, 0 @@ -5946,7 +6132,7 @@ _081B328C: str r1, [sp, 0x10] movs r1, 0x1 mov r2, r9 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -5992,7 +6178,7 @@ sub_81B3300: @ 81B3300 movs r1, 0x1 orrs r0, r1 strb r0, [r2] - bl sav2_get_text_speed + bl GetPlayerTextSpeed adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -6007,7 +6193,7 @@ sub_81B3300: @ 81B3300 movs r0, 0x6 movs r1, 0x1 adds r2, r4, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized add sp, 0x10 pop {r4} pop {r0} @@ -6216,7 +6402,7 @@ _081B34D2: bl GetMonData lsls r0, 16 lsrs r0, 16 - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _081B3508 @@ -7739,7 +7925,7 @@ c2_8123744: @ 81B41F0 mov r7, r8 push {r7} sub sp, 0xC - ldr r6, =gScriptItemId + ldr r6, =gSpecialVar_ItemId ldrh r0, [r6] cmp r0, 0 bne _081B4224 @@ -7791,7 +7977,7 @@ _081B425A: .pool _081B4278: ldrh r0, [r6] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _081B42A4 @@ -7845,7 +8031,7 @@ sub_81B42D0: @ 81B42D0 ands r0, r1 cmp r0, 0 bne _081B432C - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r4, [r0] ldr r0, =gUnknown_0203CEC8 mov r8, r0 @@ -7952,7 +8138,7 @@ sub_81B43DC: @ 81B43DC push {r4-r6,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -7969,7 +8155,7 @@ _081B43FC: beq _081B44DE b _081B44EC _081B4402: - ldr r5, =gScriptItemId + ldr r5, =gSpecialVar_ItemId ldrh r0, [r5] movs r1, 0x1 bl RemoveBagItem @@ -7999,7 +8185,7 @@ _081B4402: .pool _081B4458: ldrh r0, [r5] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _081B4498 @@ -8135,12 +8321,12 @@ sub_81B4578: @ 81B4578 lsls r0, 16 lsrs r0, 16 mov r8, r0 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r7, [r0] cmp r7, 0 bne _081B45F8 adds r0, r5, 0 - bl sub_80D4680 + bl TakeMailFromMon ldr r4, =gUnknown_0203CEFC adds r0, r5, 0 movs r1, 0xC @@ -8212,7 +8398,7 @@ sub_81B4624: @ 81B4624 muls r0, r1 ldr r1, =gPlayerParty adds r0, r1 - ldr r1, =gScriptItemId + ldr r1, =gSpecialVar_ItemId ldrh r1, [r1] movs r2, 0 movs r3, 0 @@ -8220,7 +8406,7 @@ sub_81B4624: @ 81B4624 b _081B467C .pool _081B4670: - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldrh r1, [r1] movs r2, 0 @@ -8485,7 +8671,7 @@ sub_81B48DC: @ 81B48DC muls r1, r0 ldr r0, =gPlayerParty adds r4, r1, r0 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -8681,7 +8867,7 @@ sub_81B4A98: @ 81B4A98 adds r0, r1 ldr r1, =sub_81B4AE0 movs r2, 0x1 - bl sub_8121478 + bl ReadMail pop {r0} bx r0 .pool @@ -8777,7 +8963,7 @@ sub_81B4BA0: @ 81B4BA0 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -8801,7 +8987,7 @@ _081B4BC6: muls r0, r1 ldr r1, =gPlayerParty adds r0, r1 - bl sub_80D4700 + bl TakeMailFromMon2 lsls r0, 24 lsrs r0, 24 cmp r0, 0xFF @@ -8883,7 +9069,7 @@ sub_81B4C94: @ 81B4C94 push {r7} lsls r0, 24 lsrs r5, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -8925,7 +9111,7 @@ _081B4CBE: ldrsb r0, [r1, r0] muls r0, r7 adds r0, r6 - bl sub_80D4680 + bl TakeMailFromMon ldr r0, =gText_MailTakenFromPkmn movs r1, 0 bl sub_81B1B5C @@ -9691,7 +9877,7 @@ sub_81B5430: @ 81B5430 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -9892,7 +10078,7 @@ _081B55E8: .pool _081B5614: ldr r1, =gUnknown_0203CEC8 - ldr r0, =sub_8124690 + ldr r0, =MCB2_FlyMap b _081B5628 .pool _081B5624: @@ -9985,7 +10171,7 @@ sub_81B56D8: @ 81B56D8 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -10027,8 +10213,8 @@ _081B572A: .pool thumb_func_end sub_81B56D8 - thumb_func_start hm_add_c3_launch_phase_2 -hm_add_c3_launch_phase_2: @ 81B5738 + thumb_func_start FieldCallback_Teleport +FieldCallback_Teleport: @ 81B5738 push {lr} bl pal_fill_black ldr r0, =task_launch_hm_phase_2 @@ -10038,7 +10224,7 @@ hm_add_c3_launch_phase_2: @ 81B5738 pop {r1} bx r1 .pool - thumb_func_end hm_add_c3_launch_phase_2 + thumb_func_end FieldCallback_Teleport thumb_func_start task_launch_hm_phase_2 task_launch_hm_phase_2: @ 81B5750 @@ -10134,7 +10320,7 @@ _081B57FE: thumb_func_start hm_surf_run_dp02scr hm_surf_run_dp02scr: @ 81B5804 push {lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 @@ -10160,7 +10346,7 @@ sub_81B5820: @ 81B5820 cmp r0, 0x1 bne _081B585C ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =hm_surf_run_dp02scr @@ -10199,7 +10385,7 @@ sub_81B5884: @ 81B5884 push {lr} ldr r0, =gMapHeader ldrb r0, [r0, 0x17] - bl is_light_level_1_2_3_or_6 + bl Overworld_MapTypeAllowsTeleportAndFly lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -10238,7 +10424,7 @@ sub_81B58A8: @ 81B58A8 thumb_func_start hm2_waterfall hm2_waterfall: @ 81B58D4 push {lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 @@ -10278,7 +10464,7 @@ hm_prepare_waterfall: @ 81B58F0 cmp r0, 0x1 bne _081B594C ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =hm2_waterfall @@ -10298,7 +10484,7 @@ _081B594E: thumb_func_start sub_81B5958 sub_81B5958: @ 81B5958 push {lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 @@ -10325,7 +10511,7 @@ sub_81B5974: @ 81B5974 .pool _081B5990: ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_81B5958 @@ -10415,7 +10601,7 @@ party_menu_link_mon_icon_anim: @ 81B5A2C ldr r0, [sp, 0x20] str r0, [sp, 0x8] adds r0, r5, 0 - bl sub_80D2CC4 + bl CreateMonIcon strb r0, [r4, 0x9] ldr r2, =gSprites ldrb r0, [r4, 0x9] @@ -10645,7 +10831,7 @@ party_menu_held_item_object: @ 81B5C14 bl GetMonData cmp r0, 0 beq _081B5C3C - ldr r0, =gUnknown_08615EC0 + ldr r0, =gSpriteTemplate_8615EC0 ldr r2, [r4, 0x4] ldrb r1, [r2, 0x2] ldrb r2, [r2, 0x3] @@ -10671,7 +10857,7 @@ party_menu_link_mon_held_item_object: @ 81B5C48 lsrs r5, r1, 16 cmp r0, 0 beq _081B5C84 - ldr r0, =gUnknown_08615EC0 + ldr r0, =gSpriteTemplate_8615EC0 ldr r2, [r4, 0x4] ldrb r1, [r2, 0x2] ldrb r2, [r2, 0x3] @@ -10735,7 +10921,7 @@ sub_81B5CB0: @ 81B5CB0 b _081B5D24 .pool _081B5CD8: - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _081B5CFC @@ -10821,7 +11007,7 @@ _081B5D68: adds r0, r7, r5 ldrb r4, [r0] adds r0, r1, 0 - bl itemid_is_mail + bl ItemIsMail adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -10853,7 +11039,7 @@ _081B5DAC: adds r0, r5, r7 ldrb r4, [r0, 0x6] adds r0, r1, 0 - bl itemid_is_mail + bl ItemIsMail adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -10896,7 +11082,7 @@ sub_81B5DF0: @ 81B5DF0 add r0, r8 adds r0, 0x43 ldrb r3, [r0] - ldr r0, =gUnknown_08615EC0 + ldr r0, =gSpriteTemplate_8615EC0 subs r3, 0x1 lsls r3, 24 lsrs r3, 24 @@ -10991,7 +11177,7 @@ party_menu_pokeball_object: @ 81B5ECC bl GetMonData cmp r0, 0 beq _081B5EEA - ldr r0, =gUnknown_08615F08 + ldr r0, =gSpriteTemplate_8615F08 ldr r2, [r4, 0x4] ldrb r1, [r2, 0x6] ldrb r2, [r2, 0x7] @@ -11012,7 +11198,7 @@ party_menu_link_mon_pokeball_object: @ 81B5EF4 lsls r0, 16 cmp r0, 0 beq _081B5F24 - ldr r0, =gUnknown_08615F08 + ldr r0, =gSpriteTemplate_8615F08 ldr r2, [r4, 0x4] ldrb r1, [r2, 0x6] ldrb r2, [r2, 0x7] @@ -11046,7 +11232,7 @@ sub_81B5F34: @ 81B5F34 lsrs r3, 24 lsls r2, 24 lsrs r2, 24 - ldr r0, =gUnknown_08615F08 + ldr r0, =gSpriteTemplate_8615F08 adds r1, r3, 0 movs r3, 0x8 bl CreateSprite @@ -11078,7 +11264,7 @@ sub_81B5F74: @ 81B5F74 lsrs r3, 24 lsls r2, 24 lsrs r2, 24 - ldr r0, =gUnknown_08615F78 + ldr r0, =gSpriteTemplate_8615F78 adds r1, r3, 0 movs r3, 0x8 bl CreateSprite @@ -11194,7 +11380,7 @@ party_menu_status_condition_object: @ 81B6064 bl GetMonData cmp r0, 0 beq _081B608C - ldr r0, =gUnknown_08616008 + ldr r0, =gSpriteTemplate_8616008 ldr r2, [r4, 0x4] ldrb r1, [r2, 0x4] ldrb r2, [r2, 0x5] @@ -11220,7 +11406,7 @@ party_menu_link_mon_status_condition_object: @ 81B6098 lsrs r5, r1, 24 cmp r0, 0 beq _081B60D4 - ldr r0, =gUnknown_08616008 + ldr r0, =gSpriteTemplate_8616008 ldr r2, [r4, 0x4] ldrb r1, [r2, 0x4] ldrb r2, [r2, 0x5] @@ -11359,7 +11545,7 @@ _081B61BC: movs r7, 0 movs r6, 0 _081B61C0: - ldr r4, =gScriptItemId + ldr r4, =gSpecialVar_ItemId ldrh r0, [r4] bl GetItemEffectType lsls r0, 24 @@ -11787,7 +11973,7 @@ ItemUseCB_Medicine: @ 81B6588 muls r1, r0 ldr r0, =gPlayerParty adds r5, r1, r0 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r6, [r0] adds r0, r5, 0 adds r1, r6, 0 @@ -12032,7 +12218,7 @@ sub_81B67C8: @ 81B67C8 muls r1, r0 ldr r0, =gPlayerParty adds r5, r1, r0 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r6, [r0] adds r0, r6, 0 bl GetItemEffectType @@ -12391,7 +12577,7 @@ dp05_ether: @ 81B6AFC push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] cmp r0, 0xAF bne _081B6B20 @@ -12500,7 +12686,7 @@ ether_effect_related: @ 81B6BEC lsrs r6, r0, 24 movs r4, 0 ldr r7, =gUnknown_0203CED6 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r5, [r0] movs r0, 0xE negs r0, r0 @@ -12729,7 +12915,7 @@ sub_81B6DC4: @ 81B6DC4 movs r0, 0xE adds r0, r7 mov r8, r0 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r4, [r0] ldr r1, =gStringVar1 adds r0, r5, 0 @@ -12818,7 +13004,7 @@ sub_81B6EB4: @ 81B6EB4 adds r5, r1, r0 adds r6, r2, 0 adds r6, 0xE - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r4, [r0] movs r1, 0x2 ldrsh r0, [r6, r1] @@ -12928,7 +13114,7 @@ _081B6FC0: _081B6FDC: cmp r0, 0x2 bne _081B6FE4 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r2, [r0] _081B6FE4: adds r0, r5, 0 @@ -12970,7 +13156,7 @@ sub_81B7028: @ 81B7028 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -13272,7 +13458,7 @@ sub_81B72C8: @ 81B72C8 muls r1, r0 ldr r0, =gPlayerParty adds r4, r1, r0 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r5, r0, 24 cmp r5, 0 @@ -13324,7 +13510,7 @@ _081B7306: _081B7368: cmp r0, 0x2 bne _081B7370 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r5, [r0] _081B7370: ldr r0, =gTasks @@ -13409,7 +13595,7 @@ dp05_rare_candy: @ 81B7404 movs r1, 0x86 lsls r1, 2 adds r4, r6, r1 - ldr r2, =gScriptItemId + ldr r2, =gSpecialVar_ItemId mov r8, r2 adds r0, r5, 0 movs r1, 0x38 @@ -13467,7 +13653,7 @@ _081B74B4: ldrb r0, [r0, 0x9] adds r1, r5, 0 bl sub_81B754C - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] movs r1, 0x1 bl RemoveBagItem @@ -14084,7 +14270,7 @@ sub_81B7A28: @ 81B7A28 lsls r0, 16 lsrs r7, r0, 16 ldrb r0, [r6, 0x9] - ldr r1, =gScriptItemId + ldr r1, =gSpecialVar_ItemId ldrh r1, [r1] movs r2, 0 bl ExecuteTableBasedItemEffect__ @@ -14236,7 +14422,7 @@ _081B7BC8: ldr r1, =gUnknown_0203CEE8 movs r0, 0x1 strb r0, [r1] - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] movs r1, 0x1 bl RemoveBagItem @@ -14312,7 +14498,7 @@ sub_81B7C74: @ 81B7C74 ldr r0, [r1] str r0, [r2] ldrb r0, [r1, 0x9] - ldr r4, =gScriptItemId + ldr r4, =gSpecialVar_ItemId ldrh r1, [r4] movs r2, 0 bl ExecuteTableBasedItemEffect__ @@ -14685,7 +14871,7 @@ _081B7F72: movs r3, 0 bl sub_81B0038 ldr r1, =gUnknown_0203CEC8 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] strh r0, [r1, 0xC] add sp, 0xC @@ -14728,7 +14914,7 @@ sub_81B7FAC: @ 81B7FAC .pool _081B7FF8: ldrh r0, [r5] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _081B800C @@ -14770,7 +14956,7 @@ sub_81B8044: @ 81B8044 lsrs r4, r0, 24 ldr r5, =gUnknown_0203CEC8 ldrh r0, [r5, 0xC] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _081B807C @@ -14933,12 +15119,12 @@ sub_81B81A8: @ 81B81A8 bl GetMonData lsls r0, 16 lsrs r7, r0, 16 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0 bne _081B8208 adds r0, r5, 0 - bl sub_80D4680 + bl TakeMailFromMon ldr r4, =gUnknown_0203CEFC adds r0, r5, 0 movs r1, 0xC @@ -15054,7 +15240,7 @@ sub_81B82D4: @ 81B82D4 push {r4-r7,lr} lsls r0, 24 lsrs r5, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -15093,7 +15279,7 @@ _081B82FA: .pool _081B8338: adds r0, r4, 0 - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _081B835C @@ -15281,9 +15467,9 @@ sub_81B8474: @ 81B8474 _081B84DC: adds r0, r5, 0 adds r1, r4, 0 - bl sub_80D460C + bl GiveMailToMon2 adds r0, r4, 0 - bl sub_80D439C + bl ClearMailStruct ldr r0, =gText_MailTransferredFromMailbox movs r1, 0x1 bl sub_81B1B5C @@ -15994,7 +16180,7 @@ sub_81B8A7C: @ 81B8A7C push {r4-r7,lr} mov r7, r8 push {r7} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r5, r0, 24 bl sub_81B1250 @@ -16041,14 +16227,14 @@ _081B8AF8: b _081B8B24 _081B8AFC: adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _081B8B1E adds r0, r5, 0 bl sub_81B8F38 lsls r0, 24 - ldr r2, =gBattlePartyID + ldr r2, =gBattlerPartyIndexes lsls r1, r4, 1 adds r1, r2 lsrs r0, 24 @@ -16060,7 +16246,7 @@ _081B8B1E: lsls r0, 24 lsrs r4, r0, 24 _081B8B24: - ldr r0, =gNoOfAllBanks + ldr r0, =gBattlersCount ldrb r0, [r0] cmp r4, r0 bcc _081B8AFC @@ -16115,8 +16301,8 @@ _081B8BA8: ldr r1, =gUnknown_0203CEE8 movs r0, 0x1 strb r0, [r1] - ldr r1, =gBattlePartyID - ldr r0, =gBankInMenu + ldr r1, =gBattlerPartyIndexes + ldr r0, =gBattlerInMenuId ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -16148,9 +16334,9 @@ _081B8BFC: b _081B8C42 .pool _081B8C20: - ldr r0, =gBankInMenu + ldr r0, =gBattlerInMenuId ldrb r0, [r0] - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, 1 adds r0, r1 ldrb r0, [r0] @@ -16228,9 +16414,9 @@ _081B8CBE: bne _081B8CFC movs r5, 0x1 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition mov r2, sp - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, 24 lsrs r0, 23 adds r0, r1 @@ -16255,16 +16441,16 @@ _081B8CF0: _081B8CFC: movs r5, 0x2 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition mov r1, sp - ldr r4, =gBattlePartyID + ldr r4, =gBattlerPartyIndexes lsls r0, 24 lsrs r0, 23 adds r0, r4 ldrh r0, [r0] strb r0, [r1] movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition mov r1, sp lsls r0, 24 lsrs r0, 23 @@ -16339,24 +16525,24 @@ sub_81B8D88: @ 81B8D88 lsrs r7, r1, 24 lsls r0, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _081B8DB0 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 movs r0, 0x2 b _081B8DBC _081B8DB0: movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 movs r0, 0x3 _081B8DBC: - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r6, r0, 24 bl sub_81B1250 @@ -16388,7 +16574,7 @@ _081B8DF0: bne _081B8E28 movs r3, 0x1 mov r2, sp - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r1 ldrh r0, [r0] @@ -16412,7 +16598,7 @@ _081B8E1A: _081B8E28: movs r3, 0x2 mov r1, sp - ldr r2, =gBattlePartyID + ldr r2, =gBattlerPartyIndexes lsls r0, r4, 1 adds r0, r2 ldrh r0, [r0] @@ -17113,7 +17299,7 @@ sub_81B9354: @ 81B9354 sub_81B9390: @ 81B9390 push {r4,lr} ldr r4, =gSpecialVar_0x8004 - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 strh r0, [r4] @@ -17171,7 +17357,7 @@ sub_81B9404: @ 81B9404 bl ScriptContext2_Enable movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen ldr r0, =sub_81B9424 movs r1, 0xA bl CreateTask @@ -17218,7 +17404,7 @@ _081B945C: thumb_func_start sub_81B9470 sub_81B9470: @ 81B9470 push {lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r2, =gUnknown_02039F24 strb r0, [r2] lsls r0, 24 @@ -17247,7 +17433,7 @@ sub_81B94B0: @ 81B94B0 bl ScriptContext2_Enable movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen ldr r0, =sub_81B94D0 movs r1, 0xA bl CreateTask @@ -17297,7 +17483,7 @@ sub_81B951C: @ 81B951C bl ScriptContext2_Enable movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen ldr r0, =sub_81B953C movs r1, 0xA bl CreateTask @@ -17345,7 +17531,7 @@ _081B9574: sub_81B9588: @ 81B9588 push {r4,r5,lr} ldr r5, =gSpecialVar_0x8004 - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 strh r0, [r5] @@ -17381,7 +17567,7 @@ _081B95BA: thumb_func_start sub_81B95E0 sub_81B95E0: @ 81B95E0 push {r4,r5,lr} - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] movs r4, 0 @@ -17418,7 +17604,7 @@ sub_81B9620: @ 81B9620 bl ScriptContext2_Enable movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen ldr r0, =sub_81B9640 movs r1, 0xA bl CreateTask @@ -17490,7 +17676,7 @@ sub_81B968C: @ 81B968C thumb_func_start sub_81B96D0 sub_81B96D0: @ 81B96D0 push {r4,r5,lr} - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] movs r4, 0 @@ -17741,13 +17927,13 @@ sub_81B98DC: @ 81B98DC adds r1, r0, 0 cmp r1, 0 beq _081B990C - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] b _081B9910 .pool _081B990C: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] _081B9910: pop {r0} @@ -17760,7 +17946,7 @@ sub_81B9918: @ 81B9918 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] ldr r0, =gSpecialVar_0x8004 @@ -17813,7 +17999,7 @@ _081B9980: bl sub_80D23A8 cmp r0, 0x1 beq _081B999C - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _081B999C: diff --git a/asm/player_pc.s b/asm/player_pc.s index cd91ed3e1c..1ae5b4d14c 100644 --- a/asm/player_pc.s +++ b/asm/player_pc.s @@ -379,12 +379,12 @@ sub_816B148: @ 816B148 ldrb r0, [r0, 0x8] cmp r0, 0 bne _0816B174 - ldr r0, =gUnknown_081F863F + ldr r0, =LittlerootTown_BrendansHouse_2F_EventScript_1F863F bl ScriptContext1_SetupScript b _0816B184 .pool _0816B174: - ldr r0, =gUnknown_081F958F + ldr r0, =LittlerootTown_MaysHouse_2F_EventScript_1F958F bl ScriptContext1_SetupScript b _0816B184 .pool @@ -463,7 +463,7 @@ sub_816B21C: @ 816B21C adds r4, r0, 0 movs r0, 0 movs r1, 0 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame movs r0, 0x1 str r0, [sp] movs r0, 0 @@ -552,7 +552,7 @@ sub_816B2C8: @ 816B2C8 str r0, [r1] movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen pop {r0} bx r0 .pool @@ -599,7 +599,7 @@ mapldr_080EBC0C: @ 816B33C bl sub_81973A4 movs r0, 0 movs r1, 0x1 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame ldr r0, =sub_816B368 movs r1, 0 bl CreateTask @@ -733,7 +733,7 @@ sub_816B430: @ 816B430 bl sub_816B4C0 bl sub_816BC14 bl gpu_pal_allocator_reset__manage_upper_four - bl sub_8122328 + bl LoadListMenuArrowsGfx ldr r0, =gUnknown_0203BCC4 ldr r0, [r0] movs r1, 0xCD @@ -1013,7 +1013,7 @@ sub_816B674: @ 816B674 cmp r0, 0 bne _0816B71E ldrb r0, [r4, 0xA] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r6, r0, 0 ldrb r0, [r4, 0xA] ldr r7, =gUnknown_0203BCBA @@ -1021,7 +1021,7 @@ sub_816B674: @ 816B674 mov r8, r1 adds r1, r7, 0 mov r2, r8 - bl get_coro_args_x18_x1A + bl sub_81AE860 movs r0, 0x2 negs r0, r0 cmp r6, r0 @@ -1221,7 +1221,7 @@ sub_816B878: @ 816B878 lsrs r4, 24 movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 @@ -1263,7 +1263,7 @@ sub_816B8A4: @ 816B8A4 adds r0, r1 ldr r1, =sub_816B900 movs r2, 0x1 - bl sub_8121478 + bl ReadMail adds r0, r4, 0 bl DestroyTask _0816B8E6: @@ -1378,7 +1378,7 @@ sub_816B9D8: @ 816B9D8 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r0, 24 movs r1, 0x1 @@ -1444,7 +1444,7 @@ _0816BA68: adds r0, r6, 0 bl DisplayItemMessageOnField adds r0, r5, 0 - bl sub_80D439C + bl ClearMailStruct bl sub_816B54C ldrb r0, [r4, 0x5] subs r0, 0x1 @@ -1494,7 +1494,7 @@ sub_816BABC: @ 816BABC _0816BAD4: movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen ldr r0, =gTasks lsls r1, r4, 2 adds r1, r4 @@ -1820,7 +1820,7 @@ _0816BD58: movs r1, 0x2 negs r1, r1 str r1, [r0] - ldr r4, =gUnknown_03006310 + ldr r4, =gMultiuseListMenuTemplate adds r1, r4, 0 ldr r0, =gUnknown_085DFF44 ldm r0!, {r2,r3,r6} @@ -2150,7 +2150,7 @@ _0816C030: movs r1, 0x1 movs r2, 0 adds r3, r6, 0 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 _0816C050: add sp, 0x14 pop {r4-r6} @@ -2179,7 +2179,7 @@ sub_816C060: @ 816C060 adds r0, r4, 0 adds r1, r4, 0 adds r2, r6, 0 - bl AddItemIconObject + bl AddItemIconSprite lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0x40 @@ -2327,7 +2327,7 @@ _0816C186: bl sub_816C110 bl sub_816C140 bl sub_816BD04 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldr r2, =gUnknown_0203BCB8 ldrh r1, [r2, 0x2] ldrh r2, [r2] @@ -2476,7 +2476,7 @@ sub_816C30C: @ 816C30C ldr r1, =gUnknown_0203BCBA subs r4, r1, 0x2 adds r2, r4, 0 - bl get_coro_args_x18_x1A + bl sub_81AE860 ldrh r1, [r4, 0x2] ldrh r0, [r4] adds r1, r0 @@ -2492,12 +2492,12 @@ sub_816C30C: @ 816C30C .pool _0816C35C: ldrb r0, [r4, 0xA] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r6, r0, 0 ldrb r0, [r4, 0xA] ldr r1, =gUnknown_0203BCBA subs r2, r1, 0x2 - bl get_coro_args_x18_x1A + bl sub_81AE860 movs r0, 0x2 negs r0, r0 cmp r6, r0 @@ -2540,7 +2540,7 @@ bx_battle_menu_t3: @ 816C3A4 bne _0816C3F2 movs r0, 0 movs r1, 0 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame movs r1, 0x6 ldrsh r0, [r5, r1] cmp r0, 0 @@ -2691,18 +2691,18 @@ sub_816C4FC: @ 816C4FC ldrb r0, [r4, 0xA] ldr r1, =gUnknown_0203BCBA subs r2, r1, 0x2 - bl get_coro_args_x18_x1A + bl sub_81AE860 b _0816C57E .pool _0816C530: ldrb r0, [r4, 0xA] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r6, r0, 0 ldrb r0, [r4, 0xA] ldr r1, =gUnknown_0203BCBA subs r4, r1, 0x2 adds r2, r4, 0 - bl get_coro_args_x18_x1A + bl sub_81AE860 ldr r0, =gUnknown_0203BCC4 ldr r0, [r0] movs r1, 0xCD @@ -2825,7 +2825,7 @@ _0816C622: adds r0, r2 movs r1, 0xFF strb r1, [r0] - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldr r2, =gUnknown_0203BCB8 ldrh r1, [r2, 0x2] ldrh r2, [r2] @@ -3363,7 +3363,7 @@ sub_816CB04: @ 816CB04 bl sub_816C110 bl sub_816C140 bl sub_816BD04 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldrh r1, [r4, 0x2] ldrh r2, [r4] bl ListMenuInit diff --git a/asm/pokeball.s b/asm/pokeball.s deleted file mode 100755 index 0afd279321..0000000000 --- a/asm/pokeball.s +++ /dev/null @@ -1,2861 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80753E8 -sub_80753E8: @ 80753E8 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - ldr r1, =gDoingBattleAnim - movs r0, 0x1 - strb r0, [r1] - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r6, =gActiveBank - ldrb r1, [r6] - ldr r2, [r0, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0] - ldr r0, =sub_8075450 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0xA] - strh r5, [r1, 0xC] - ldrb r0, [r6] - strh r0, [r1, 0xE] - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80753E8 - - thumb_func_start sub_8075450 -sub_8075450: @ 8075450 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - movs r0, 0 - str r0, [sp] - ldr r1, =gTasks - mov r2, r10 - lsls r0, r2, 2 - add r0, r10 - lsls r0, 3 - adds r1, r0, r1 - ldrh r2, [r1, 0x8] - movs r3, 0x8 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _08075488 - adds r0, r2, 0x1 - strh r0, [r1, 0x8] - b _08075602 - .pool -_08075488: - ldrh r0, [r1, 0xC] - mov r8, r0 - ldrb r5, [r1, 0xE] - adds r0, r5, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080754B4 - ldr r1, =gBattlePartyID - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty - b _080754C2 - .pool -_080754B4: - ldr r1, =gBattlePartyID - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty -_080754C2: - adds r0, r1 - movs r1, 0x26 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl ball_number_to_ball_processing_index - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_8076A78 - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - ldr r1, =gUnknown_0832C588 - adds r0, r1 - movs r1, 0x20 - movs r2, 0x50 - movs r3, 0x1D - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r2, =gSprites - mov r9, r2 - lsls r0, r7, 4 - adds r0, r7 - lsls r6, r0, 2 - adds r4, r6, r2 - movs r0, 0x80 - strh r0, [r4, 0x2E] - movs r3, 0 - strh r3, [r4, 0x30] - mov r0, r8 - strh r0, [r4, 0x3C] - mov r2, r8 - cmp r2, 0xFE - beq _08075548 - cmp r2, 0xFF - bne _08075584 - ldr r0, =gBankTarget - strb r5, [r0] - movs r0, 0x18 - strh r0, [r4, 0x20] - movs r0, 0x44 - strh r0, [r4, 0x22] - mov r0, r9 - adds r0, 0x1C - adds r0, r6, r0 - ldr r1, =sub_80761B4 - str r1, [r0] - b _08075592 - .pool -_08075548: - adds r0, r5, 0 - movs r1, 0 - bl sub_80A5C6C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80A5C6C - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x18 - strh r0, [r4, 0x22] - ldr r0, =gBankTarget - strb r5, [r0] - movs r3, 0 - strh r3, [r4, 0x2E] - mov r0, r9 - adds r0, 0x1C - adds r0, r6, r0 - ldr r1, =sub_8076398 - str r1, [r0] - b _08075592 - .pool -_08075584: - movs r0, 0x1 - bl GetBankByIdentity - ldr r1, =gBankTarget - strb r0, [r1] - movs r0, 0x1 - str r0, [sp] -_08075592: - ldr r0, =gSprites - lsls r1, r7, 4 - adds r1, r7 - lsls r1, 2 - adds r4, r1, r0 - ldr r5, =gBankTarget - ldrb r0, [r5] - strh r0, [r4, 0x3A] - ldr r2, [sp] - cmp r2, 0 - bne _080755B8 - mov r0, r10 - bl DestroyTask - b _08075602 - .pool -_080755B8: - movs r0, 0x22 - strh r0, [r4, 0x2E] - ldrb r0, [r5] - movs r1, 0 - bl sub_80A5C6C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x1 - bl sub_80A5C6C - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x10 - strh r0, [r4, 0x36] - ldr r0, =0x0000ffd8 - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl sub_80A68D4 - mov r3, r10 - strh r3, [r4, 0x6] - ldr r1, =gTasks - mov r2, r10 - lsls r0, r2, 2 - add r0, r10 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r5] - strh r1, [r0, 0x10] - ldr r1, =TaskDummy - str r1, [r0] - movs r0, 0x3D - bl PlaySE -_08075602: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8075450 - - thumb_func_start objc_0804ABD4 -objc_0804ABD4: @ 8075620 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r7, r0, 0 - bl sub_80A6900 - lsls r0, 24 - cmp r0, 0 - beq _080756C0 - ldrb r6, [r7, 0x6] - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldrb r5, [r0, 0x10] - ldrb r0, [r0, 0xC] - mov r8, r0 - adds r0, r7, 0 - movs r1, 0x1 - bl StartSpriteAnim - adds r2, r7, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r7, 0x24] - ldrh r1, [r7, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r7, 0x20] - ldrh r0, [r7, 0x26] - ldrh r2, [r7, 0x22] - adds r0, r2 - strh r0, [r7, 0x22] - strh r1, [r7, 0x24] - strh r1, [r7, 0x26] - strh r1, [r7, 0x38] - adds r0, r5, 0 - bl sub_8076B14 - lsls r0, 16 - lsrs r0, 16 - bl ball_number_to_ball_processing_index - adds r4, r0, 0 - ldrh r0, [r7, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r7, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp] - movs r2, 0x1 - movs r3, 0x1C - bl sub_8171D98 - movs r0, 0 - adds r1, r5, 0 - movs r2, 0xE - adds r3, r4, 0 - bl sub_81729E8 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x2E] - strh r5, [r7, 0x3A] - mov r0, r8 - strh r0, [r7, 0x3C] - adds r0, r6, 0 - bl DestroyTask - ldr r0, =sub_80756D4 - str r0, [r7, 0x1C] -_080756C0: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end objc_0804ABD4 - - thumb_func_start sub_80756D4 -sub_80756D4: @ 80756D4 - ldr r1, =sub_80756E0 - str r1, [r0, 0x1C] - bx lr - .pool - thumb_func_end sub_80756D4 - - thumb_func_start sub_80756E0 -sub_80756E0: @ 80756E0 - push {r4-r7,lr} - adds r6, r0, 0 - ldrh r0, [r6, 0x38] - adds r0, 0x1 - movs r7, 0 - strh r0, [r6, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _0807573A - strh r7, [r6, 0x38] - ldr r0, =sub_807574C - str r0, [r6, 0x1C] - ldr r5, =gBankSpriteIds - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - movs r1, 0x2 - bl StartSpriteAffineAnim - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl AnimateSprite - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r7, [r0, 0x30] -_0807573A: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80756E0 - - thumb_func_start sub_807574C -sub_807574C: @ 807574C - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - bne _08075764 - movs r0, 0x3C - bl PlaySE -_08075764: - ldr r6, =gSprites - ldr r5, =gBankSpriteIds - movs r1, 0x3A - ldrsh r0, [r4, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r6 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _080757BC - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnim - movs r2, 0x3A - ldrsh r0, [r4, r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - movs r0, 0 - strh r0, [r4, 0x38] - ldr r0, =sub_80757E4 - str r0, [r4, 0x1C] - b _080757DC - .pool -_080757BC: - ldrh r0, [r1, 0x30] - adds r0, 0x60 - strh r0, [r1, 0x30] - movs r1, 0x3A - ldrsh r0, [r4, r1] - adds r0, r5 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - movs r2, 0x30 - ldrsh r0, [r1, r2] - negs r0, r0 - asrs r0, 8 - strh r0, [r1, 0x26] -_080757DC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_807574C - - thumb_func_start sub_80757E4 -sub_80757E4: @ 80757E4 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0807582C - ldrh r0, [r4, 0x38] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _0807582C - strh r1, [r4, 0x34] - movs r0, 0x20 - strh r0, [r4, 0x36] - strh r1, [r4, 0x38] - movs r0, 0 - movs r1, 0x20 - bl Cos - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - movs r0, 0x36 - ldrsh r1, [r4, r0] - movs r0, 0 - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldr r0, =sub_8075838 - str r0, [r4, 0x1C] -_0807582C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80757E4 - - thumb_func_start sub_8075838 -sub_8075838: @ 8075838 - push {r4,r5,lr} - adds r4, r0, 0 - movs r5, 0 - ldrh r0, [r4, 0x34] - movs r1, 0xFF - ands r1, r0 - cmp r1, 0 - beq _0807584E - cmp r1, 0x1 - beq _080758C2 - b _080758EE -_0807584E: - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x38] - adds r1, 0x4 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 24 - adds r1, r0 - strh r1, [r4, 0x38] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x3F - ble _080758EE - ldrh r0, [r4, 0x36] - subs r0, 0xA - strh r0, [r4, 0x36] - ldr r1, =0x00000101 - adds r0, r2, r1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 24 - cmp r0, 0x4 - bne _0807588A - movs r5, 0x1 -_0807588A: - cmp r0, 0x2 - beq _080758AA - cmp r0, 0x2 - bgt _0807589C - cmp r0, 0x1 - beq _080758A2 - b _080758BA - .pool -_0807589C: - cmp r0, 0x3 - beq _080758B2 - b _080758BA -_080758A2: - movs r0, 0x38 - bl PlaySE - b _080758EE -_080758AA: - movs r0, 0x39 - bl PlaySE - b _080758EE -_080758B2: - movs r0, 0x3A - bl PlaySE - b _080758EE -_080758BA: - movs r0, 0x3B - bl PlaySE - b _080758EE -_080758C2: - movs r2, 0x38 - ldrsh r0, [r4, r2] - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x38] - subs r1, 0x4 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 24 - subs r1, r0 - strh r1, [r4, 0x38] - lsls r1, 16 - cmp r1, 0 - bgt _080758EE - strh r5, [r4, 0x38] - ldr r0, =0xffffff00 - ands r0, r2 - strh r0, [r4, 0x34] -_080758EE: - cmp r5, 0 - beq _08075926 - movs r5, 0 - strh r5, [r4, 0x34] - movs r0, 0x40 - movs r1, 0x20 - bl Cos - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - strh r5, [r4, 0x26] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0807591C - ldr r0, =sub_8075D14 - str r0, [r4, 0x1C] - b _08075926 - .pool -_0807591C: - ldr r0, =sub_8075930 - str r0, [r4, 0x1C] - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r5, [r4, 0x38] -_08075926: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8075838 - - thumb_func_start sub_8075930 -sub_8075930: @ 8075930 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _08075964 - movs r0, 0 - strh r0, [r4, 0x34] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r0, =sub_8075970 - str r0, [r4, 0x1C] - movs r0, 0x17 - bl PlaySE -_08075964: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8075930 - - thumb_func_start sub_8075970 -sub_8075970: @ 8075970 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x34] - movs r1, 0xFF - ands r1, r0 - cmp r1, 0x4 - bhi _08075A70 - lsls r0, r1, 2 - ldr r1, =_0807598C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807598C: - .4byte _080759A0 - .4byte _080759D2 - .4byte _080759A0 - .4byte _08075A26 - .4byte _08075A70 -_080759A0: - ldrh r0, [r4, 0x36] - ldrh r2, [r4, 0x24] - adds r1, r0, r2 - strh r1, [r4, 0x24] - ldrh r1, [r4, 0x38] - adds r0, r1 - strh r0, [r4, 0x38] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x38] - adds r0, 0x3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x6 - bls _08075AB6 - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - movs r0, 0 - strh r0, [r4, 0x38] - b _08075AB6 -_080759D2: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _08075A18 - movs r0, 0 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x36] - negs r0, r0 - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - movs r2, 0x36 - ldrsh r0, [r4, r2] - cmp r0, 0 - bge _08075A0E - adds r0, r4, 0 - movs r1, 0x2 - bl ChangeSpriteAffineAnim - b _08075AB6 -_08075A0E: - adds r0, r4, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim - b _08075AB6 -_08075A18: - adds r0, r4, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - b _08075AB6 -_08075A26: - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - ldrh r2, [r4, 0x34] - adds r0, r2 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 24 - movs r2, 0x3C - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _08075A48 - ldr r0, =sub_8075D14 - str r0, [r4, 0x1C] - b _08075AB6 - .pool -_08075A48: - cmp r1, 0x4 - bne _08075A5C - cmp r0, 0x3 - bne _08075A5C - ldr r0, =sub_8075FB4 - str r0, [r4, 0x1C] - b _08075A62 - .pool -_08075A5C: - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] -_08075A62: - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - b _08075AB6 -_08075A70: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _08075AB6 - movs r0, 0 - strh r0, [r4, 0x38] - ldrh r1, [r4, 0x34] - ldr r0, =0xffffff00 - ands r0, r1 - strh r0, [r4, 0x34] - adds r0, r4, 0 - movs r1, 0x3 - bl StartSpriteAffineAnim - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _08075AA8 - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - b _08075AB0 - .pool -_08075AA8: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_08075AB0: - movs r0, 0x17 - bl PlaySE -_08075AB6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075970 - - thumb_func_start c3_0804B070 -c3_0804B070: @ 8075ABC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r2, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r2 - ldrb r1, [r0, 0xC] - mov r12, r1 - ldrb r5, [r0, 0xA] - ldrh r6, [r0, 0x8] - ldrb r3, [r0, 0xE] - mov r8, r3 - ldrb r7, [r0, 0x10] - movs r3, 0x12 - ldrsh r1, [r0, r3] - lsls r3, r1, 16 - ldrh r1, [r0, 0x14] - orrs r3, r1 - movs r1, 0x26 - ldrsh r0, [r0, r1] - cmp r0, 0x20 - bhi _08075B88 - lsls r0, 2 - ldr r1, =_08075B04 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08075B04: - .4byte _08075B88 - .4byte _08075BB4 - .4byte _08075BDA - .4byte _08075C54 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075BF8 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075B88 - .4byte _08075C66 - .4byte _08075C7E - .4byte _08075CA8 -_08075B88: - ldr r0, =gSprites - lsls r1, r7, 4 - adds r1, r7 - lsls r1, 2 - adds r1, r0 - adds r1, 0x3F - ldrb r0, [r1] - lsls r0, 26 - cmp r0, 0 - blt _08075B9E - b _08075D04 -_08075B9E: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r2 - mov r1, r12 - adds r1, 0x1 - strh r1, [r0, 0x26] - b _08075D04 - .pool -_08075BB4: - adds r0, r3, 0 - bl sub_805F110 - cmp r0, 0x1 - bne _08075BCC - lsls r1, r5, 24 - asrs r1, 24 - adds r0, r6, 0 - movs r2, 0 - bl PlayCry3 - b _08075C2E -_08075BCC: - lsls r1, r5, 24 - asrs r1, 24 - adds r0, r6, 0 - movs r2, 0xB - bl PlayCry3 - b _08075C2E -_08075BDA: - bl StopCryAndClearCrySongs - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x3 - strh r1, [r0, 0x1C] - movs r1, 0x14 - strh r1, [r0, 0x26] - b _08075D04 - .pool -_08075BF8: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r2, [r1, 0x1C] - movs r7, 0x1C - ldrsh r0, [r1, r7] - cmp r0, 0 - bne _08075CBA - adds r0, r3, 0 - bl sub_805F110 - cmp r0, 0x1 - bne _08075C22 - lsls r1, r5, 24 - asrs r1, 24 - adds r0, r6, 0 - movs r2, 0x1 - bl PlayCry4 - b _08075C2E -_08075C22: - lsls r1, r5, 24 - asrs r1, 24 - adds r0, r6, 0 - movs r2, 0xC - bl PlayCry4 -_08075C2E: - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x4] - mov r2, r8 - lsls r1, r2, 1 - add r1, r8 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1, 0x1] - movs r0, 0x41 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1] - adds r0, r4, 0 - bl DestroyTask - b _08075D04 - .pool -_08075C54: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r2 - movs r1, 0x6 - strh r1, [r0, 0x1C] - movs r1, 0x1E - strh r1, [r0, 0x26] - b _08075D04 -_08075C66: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r2, [r1, 0x1C] - movs r3, 0x1C - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _08075CBA - ldrh r0, [r1, 0x26] - adds r0, 0x1 - strh r0, [r1, 0x26] -_08075C7E: - bl IsCryPlayingOrClearCrySongs - lsls r0, 24 - cmp r0, 0 - bne _08075D04 - bl StopCryAndClearCrySongs - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x3 - strh r0, [r1, 0x1C] - ldrh r0, [r1, 0x26] - adds r0, 0x1 - strh r0, [r1, 0x26] - b _08075D04 - .pool -_08075CA8: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r2, [r1, 0x1C] - movs r7, 0x1C - ldrsh r0, [r1, r7] - cmp r0, 0 - beq _08075CC0 -_08075CBA: - subs r0, r2, 0x1 - strh r0, [r1, 0x1C] - b _08075D04 -_08075CC0: - adds r0, r3, 0 - bl sub_805F110 - cmp r0, 0x1 - bne _08075CD8 - lsls r1, r5, 24 - asrs r1, 24 - adds r0, r6, 0 - movs r2, 0 - bl PlayCry4 - b _08075CE4 -_08075CD8: - lsls r1, r5, 24 - asrs r1, 24 - adds r0, r6, 0 - movs r2, 0xB - bl PlayCry4 -_08075CE4: - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x4] - mov r2, r8 - lsls r1, r2, 1 - add r1, r8 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1, 0x1] - movs r0, 0x41 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1] - adds r0, r4, 0 - bl DestroyTask -_08075D04: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end c3_0804B070 - - thumb_func_start sub_8075D14 -sub_8075D14: @ 8075D14 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r6, r0, 0 - ldrh r0, [r6, 0x3A] - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r6, 0 - movs r1, 0x1 - bl StartSpriteAnim - adds r0, r5, 0 - bl sub_8076B14 - lsls r0, 16 - lsrs r0, 16 - bl ball_number_to_ball_processing_index - adds r4, r0, 0 - ldrh r0, [r6, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp] - movs r2, 0x1 - movs r3, 0x1C - bl sub_8171D98 - ldrh r1, [r6, 0x3A] - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x1 - movs r2, 0xE - adds r3, r4, 0 - bl sub_81729E8 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x2E] - ldr r0, =sub_8075FD4 - str r0, [r6, 0x1C] - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08075D88 - b _08075EF4 -_08075D88: - adds r0, r5, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _08075DC0 - ldr r0, =gBattlePartyID - lsls r2, r5, 1 - adds r0, r2, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gEnemyParty - adds r7, r1, r0 - movs r4, 0x19 - mov r10, r4 - b _08075DD4 - .pool -_08075DC0: - ldr r0, =gBattlePartyID - lsls r2, r5, 1 - adds r0, r2, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r7, r1, r0 - movs r0, 0xE7 - mov r10, r0 -_08075DD4: - mov r8, r2 - adds r0, r7, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - movs r0, 0 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _08075E00 - movs r0, 0x1 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bne _08075E56 -_08075E00: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _08075E56 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08075E56 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x42 - ands r0, r1 - cmp r0, 0x42 - bne _08075E4C - bl IsBGMPlaying - lsls r0, 24 - cmp r0, 0 - beq _08075E56 - ldr r0, =gMPlay_BGM - bl m4aMPlayStop - b _08075E56 - .pool -_08075E4C: - ldr r0, =gMPlay_BGM - ldr r1, =0x0000ffff - movs r2, 0x80 - bl m4aMPlayVolumeControl -_08075E56: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _08075E70 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08075E80 -_08075E70: - movs r4, 0 - b _08075EA2 - .pool -_08075E80: - movs r0, 0 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _08075E9C - movs r0, 0x1 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bne _08075EA0 -_08075E9C: - movs r4, 0x1 - b _08075EA2 -_08075EA0: - movs r4, 0x2 -_08075EA2: - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x4] - mov r2, r8 - adds r1, r2, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - movs r2, 0x40 - orrs r0, r2 - strb r0, [r1, 0x1] - ldr r0, =c3_0804B070 - movs r1, 0x3 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r3, 0 - mov r0, r9 - strh r0, [r1, 0x8] - mov r2, r10 - lsls r0, r2, 24 - asrs r0, 24 - strh r0, [r1, 0xA] - strh r4, [r1, 0xC] - strh r5, [r1, 0xE] - ldr r2, =gBankSpriteIds - movs r4, 0x3A - ldrsh r0, [r6, r4] - adds r0, r2 - ldrb r0, [r0] - strh r0, [r1, 0x10] - lsrs r0, r7, 16 - strh r0, [r1, 0x12] - strh r7, [r1, 0x14] - strh r3, [r1, 0x26] -_08075EF4: - ldr r4, =gBankSpriteIds - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, =gSprites - adds r0, r5 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldrh r0, [r6, 0x3A] - lsls r0, 24 - lsrs r0, 24 - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08075F50 - movs r2, 0x3A - ldrsh r0, [r6, r2] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_8039B58 - b _08075F66 - .pool -_08075F50: - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_8039E44 -_08075F66: - str r1, [r0] - ldr r5, =gBankSpriteIds - movs r2, 0x3A - ldrsh r0, [r6, r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl AnimateSprite - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x80 - lsls r1, 5 - strh r1, [r0, 0x30] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8075D14 - - thumb_func_start sub_8075FB4 -sub_8075FB4: @ 8075FB4 - adds r3, r0, 0 - adds r3, 0x2C - ldrb r1, [r3] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r3] - ldr r1, =sub_80760F8 - str r1, [r0, 0x1C] - movs r1, 0 - strh r1, [r0, 0x34] - strh r1, [r0, 0x36] - strh r1, [r0, 0x38] - bx lr - .pool - thumb_func_end sub_8075FB4 - - thumb_func_start sub_8075FD4 -sub_8075FD4: @ 8075FD4 - push {r4-r7,lr} - adds r5, r0, 0 - movs r7, 0 - ldrh r0, [r5, 0x3A] - lsls r0, 24 - lsrs r6, r0, 24 - ldr r4, =gSprites - ldr r0, =gBankSpriteIds - adds r3, r6, r0 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08076016 - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_08076016: - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _08076040 - adds r0, r1, 0 - movs r1, 0 - bl StartSpriteAffineAnim - movs r7, 0x1 - b _0807605C - .pool -_08076040: - ldr r2, =0xfffffee0 - adds r0, r2, 0 - ldrh r2, [r1, 0x30] - adds r0, r2 - strh r0, [r1, 0x30] - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 24 - strh r0, [r1, 0x26] -_0807605C: - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080760DE - cmp r7, 0 - beq _080760DE - ldr r2, =gSprites - ldr r0, =gBankSpriteIds - adds r0, r6, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r2, 0 - movs r1, 0 - strh r1, [r0, 0x26] - ldr r0, =gDoingBattleAnim - strb r2, [r0] - ldr r4, =gBattleSpritesDataPtr - ldr r0, [r4] - ldr r0, [r0, 0x4] - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - adds r0, r5, 0 - bl FreeSpriteOamMatrix - adds r0, r5, 0 - bl DestroySprite - movs r3, 0 - ldr r0, [r4] - ldr r2, [r0, 0x4] - movs r5, 0x8 - movs r4, 0x3 -_080760B6: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _080760C2 - adds r3, 0x1 -_080760C2: - adds r2, 0xC - subs r4, 0x1 - cmp r4, 0 - bge _080760B6 - cmp r3, 0x4 - bne _080760DE - movs r4, 0 -_080760D0: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8076AE8 - adds r4, 0x1 - cmp r4, 0xB - ble _080760D0 -_080760DE: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8075FD4 - - thumb_func_start sub_80760F8 -sub_80760F8: @ 80760F8 - push {r4-r7,lr} - adds r6, r0, 0 - ldrh r0, [r6, 0x3A] - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r0, [r6, 0x36] - adds r0, 0x1 - strh r0, [r6, 0x36] - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0x28 - beq _08076196 - cmp r1, 0x5F - bne _08076130 - ldr r0, =gDoingBattleAnim - movs r1, 0 - strb r1, [r0] - bl m4aMPlayAllStop - ldr r0, =0x00000173 - bl PlaySE - b _08076196 - .pool -_08076130: - ldr r0, =0x0000013b - cmp r1, r0 - bne _08076196 - ldr r5, =gSprites - ldr r4, =gBankSpriteIds - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - adds r0, r6, 0 - bl DestroySpriteAndFreeResources - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08076196 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x4] - lsls r1, r7, 1 - adds r1, r7 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - strb r0, [r1] -_08076196: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80760F8 - - thumb_func_start sub_80761B4 -sub_80761B4: @ 80761B4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x19 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x3A] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_80A5C6C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x3A] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl sub_80A5C6C - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x18 - strh r0, [r4, 0x36] - ldr r0, =0x0000ffe2 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x3A] - strh r0, [r4, 0x6] - adds r0, r4, 0 - bl sub_80A68D4 - ldr r0, =sub_8076204 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80761B4 - - thumb_func_start sub_8076204 -sub_8076204: @ 8076204 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - ldrh r0, [r5, 0x3C] - movs r1, 0xFF - mov r8, r1 - lsrs r0, 8 - subs r0, 0x23 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2C - bhi _080762F8 - ldrh r1, [r5, 0x6] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - bne _08076266 - ldrh r0, [r5, 0x30] - movs r1, 0x1 - adds r6, r1, 0 - ands r6, r0 - ldrh r0, [r5, 0x32] - adds r7, r1, 0 - ands r7, r0 - movs r2, 0x30 - ldrsh r0, [r5, r2] - movs r1, 0x3 - bl __divsi3 - movs r1, 0x2 - negs r1, r1 - adds r4, r1, 0 - ands r0, r4 - orrs r6, r0 - strh r6, [r5, 0x30] - movs r2, 0x32 - ldrsh r0, [r5, r2] - movs r1, 0x3 - bl __divsi3 - ands r0, r4 - orrs r7, r0 - strh r7, [r5, 0x32] - adds r0, r5, 0 - movs r1, 0x4 - bl StartSpriteAffineAnim -_08076266: - ldrh r4, [r5, 0x2E] - adds r0, r5, 0 - bl sub_80A6F3C - movs r1, 0x3A - ldrsh r0, [r5, r1] - movs r1, 0x3 - bl __divsi3 - adds r1, r0, 0 - ldrh r0, [r5, 0x3C] - adds r0, r1 - strh r0, [r5, 0x3C] - lsls r0, 16 - asrs r0, 24 - mov r2, r8 - ands r0, r2 - movs r2, 0x38 - ldrsh r1, [r5, r2] - bl Sin - ldrh r1, [r5, 0x26] - adds r0, r1 - strh r0, [r5, 0x26] - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - ldrh r1, [r5, 0x6] - adds r0, r1 - strh r0, [r5, 0x6] - lsls r0, 16 - lsrs r0, 24 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - beq _080762B6 - strh r4, [r5, 0x2E] - b _080762BE -_080762B6: - lsls r0, r4, 16 - asrs r0, 16 - subs r0, 0x1 - strh r0, [r5, 0x2E] -_080762BE: - ldrh r0, [r5, 0x3C] - lsrs r0, 8 - cmp r0, 0x4F - ble _08076364 - ldrh r0, [r5, 0x30] - movs r1, 0x1 - adds r6, r1, 0 - ands r6, r0 - ldrh r0, [r5, 0x32] - adds r7, r1, 0 - ands r7, r0 - movs r2, 0x30 - ldrsh r1, [r5, r2] - lsls r0, r1, 1 - adds r0, r1 - movs r1, 0x2 - negs r1, r1 - adds r2, r1, 0 - ands r0, r2 - orrs r0, r6 - strh r0, [r5, 0x30] - movs r0, 0x32 - ldrsh r1, [r5, r0] - lsls r0, r1, 1 - adds r0, r1 - ands r0, r2 - orrs r0, r7 - strh r0, [r5, 0x32] - b _08076364 -_080762F8: - adds r0, r5, 0 - bl sub_80A6900 - lsls r0, 24 - cmp r0, 0 - beq _08076364 - ldrh r0, [r5, 0x24] - ldrh r1, [r5, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x26] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - strh r1, [r5, 0x26] - strh r1, [r5, 0x24] - ldrb r0, [r5, 0x6] - strh r0, [r5, 0x3A] - strh r1, [r5, 0x2E] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _08076358 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08076358 - movs r0, 0x3A - ldrsh r4, [r5, r0] - movs r0, 0x2 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _08076358 - ldr r0, =sub_8076374 - b _0807635A - .pool -_08076358: - ldr r0, =sub_8075D14 -_0807635A: - str r0, [r5, 0x1C] - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAffineAnim -_08076364: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8076204 - - thumb_func_start sub_8076374 -sub_8076374: @ 8076374 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r1, r0, 0x1 - strh r1, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x18 - ble _0807638E - movs r0, 0 - strh r0, [r2, 0x2E] - ldr r0, =sub_8075D14 - str r0, [r2, 0x1C] -_0807638E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8076374 - - thumb_func_start sub_8076398 -sub_8076398: @ 8076398 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - ble _080763EC - movs r0, 0 - strh r0, [r5, 0x2E] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _080763E8 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080763E8 - movs r0, 0x3A - ldrsh r4, [r5, r0] - movs r0, 0x3 - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _080763E8 - ldr r0, =sub_8076374 - b _080763EA - .pool -_080763E8: - ldr r0, =sub_8075D14 -_080763EA: - str r0, [r5, 0x1C] -_080763EC: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8076398 - - thumb_func_start sub_80763F8 -sub_80763F8: @ 80763F8 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - movs r4, 0 - str r4, [sp] - bl sub_8171D98 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80763F8 - - thumb_func_start sub_8076420 -sub_8076420: @ 8076420 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r3, 0 - bl sub_81729E8 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8076420 - - thumb_func_start sub_8076438 -sub_8076438: @ 8076438 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r5, r0, 0 - mov r9, r2 - mov r10, r3 - ldr r6, [sp, 0x28] - ldr r4, [sp, 0x2C] - ldr r0, [sp, 0x30] - ldr r2, [sp, 0x38] - lsls r5, 24 - lsrs r5, 24 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - mov r1, r9 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r3, 24 - lsrs r3, 24 - mov r10, r3 - lsls r6, 24 - lsrs r6, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - lsls r0, r2, 16 - lsrs r7, r0, 16 - ldr r0, =gUnknown_0832C400 - bl LoadCompressedObjectPicUsingHeap - ldr r0, =gUnknown_0832C460 - bl LoadCompressedObjectPaletteUsingHeap - ldr r0, =gUnknown_0832C588 - mov r1, r9 - mov r2, r10 - adds r3, r4, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSprites - mov r8, r1 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r2, r4, r1 - strh r5, [r2, 0x2E] - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - add r1, r8 - ldrh r0, [r1, 0x20] - strh r0, [r2, 0x38] - ldrh r0, [r1, 0x22] - strh r0, [r2, 0x3A] - mov r3, r9 - strh r3, [r1, 0x20] - mov r0, r10 - strh r0, [r1, 0x22] - strh r7, [r1, 0x3C] - mov r3, sp - ldrh r3, [r3, 0x4] - strh r3, [r2, 0x30] - mov r0, sp - ldrh r0, [r0] - strh r0, [r2, 0x32] - mov r3, sp - ldrh r3, [r3, 0x34] - strh r3, [r2, 0x34] - ldr r3, [sp, 0x34] - lsrs r0, r3, 16 - strh r0, [r2, 0x36] - movs r0, 0x3 - ands r6, r0 - lsls r6, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r6 - strb r0, [r2, 0x5] - movs r0, 0x1C - add r8, r0 - add r4, r8 - ldr r0, =sub_8076524 - str r0, [r4] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8076438 - - thumb_func_start sub_8076524 -sub_8076524: @ 8076524 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - ldrh r1, [r6, 0x30] - movs r2, 0x30 - ldrsh r0, [r6, r2] - cmp r0, 0 - bne _080765D0 - ldrh r0, [r6, 0x2E] - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r0, [r6, 0x32] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r4, [r6, 0x34] - ldrh r0, [r6, 0x36] - lsls r0, 16 - orrs r4, r0 - adds r0, r6, 0 - adds r0, 0x43 - ldrb r0, [r0] - cmp r0, 0 - beq _0807655E - subs r0, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - b _08076560 -_0807655E: - movs r5, 0 -_08076560: - adds r0, r6, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldrh r0, [r6, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r6, 0x5] - lsls r2, 28 - lsrs r2, 30 - adds r3, r5, 0 - bl sub_80763F8 - movs r0, 0x1 - mov r1, r8 - adds r2, r4, 0 - bl sub_8076420 - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r6, 0x30] - ldr r0, =sub_80765E0 - str r0, [r6, 0x1C] - ldr r0, =gSprites - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - adds r4, r0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - adds r0, r4, 0 - bl AnimateSprite - movs r0, 0x80 - lsls r0, 5 - strh r0, [r4, 0x30] - strh r5, [r6, 0x3C] - b _080765D4 - .pool -_080765D0: - subs r0, r1, 0x1 - strh r0, [r6, 0x30] -_080765D4: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8076524 - - thumb_func_start sub_80765E0 -sub_80765E0: @ 80765E0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r4, r0, 0 - movs r0, 0 - mov r12, r0 - movs r7, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08076610 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_08076610: - ldr r1, =gSprites - lsls r2, r6, 4 - adds r0, r2, r6 - lsls r0, 2 - adds r5, r0, r1 - adds r0, r5, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - mov r8, r2 - cmp r0, 0 - bge _08076634 - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAffineAnim - movs r1, 0x1 - mov r12, r1 -_08076634: - movs r2, 0x38 - ldrsh r0, [r4, r2] - movs r3, 0x20 - ldrsh r1, [r4, r3] - subs r0, r1 - movs r1, 0x3C - ldrsh r2, [r4, r1] - muls r0, r2 - cmp r0, 0 - bge _0807664A - adds r0, 0x7F -_0807664A: - asrs r0, 7 - ldrh r3, [r4, 0x20] - adds r0, r3 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - movs r1, 0x3A - ldrsh r0, [r4, r1] - movs r3, 0x22 - ldrsh r1, [r4, r3] - subs r0, r1 - muls r0, r2 - cmp r0, 0 - bge _08076668 - adds r0, 0x7F -_08076668: - asrs r0, 7 - ldrh r1, [r4, 0x22] - adds r0, r1 - mov r2, r9 - strh r2, [r5, 0x20] - strh r0, [r5, 0x22] - ldrh r2, [r4, 0x3C] - movs r3, 0x3C - ldrsh r0, [r4, r3] - cmp r0, 0x7F - bgt _080766AC - ldr r1, =gSineTable - lsls r0, r2, 24 - lsrs r0, 23 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _08076690 - adds r0, 0x7 -_08076690: - asrs r0, 3 - negs r0, r0 - lsls r0, 16 - lsrs r0, 16 - adds r1, r2, 0x4 - strh r1, [r4, 0x3C] - strh r0, [r5, 0x24] - strh r0, [r5, 0x26] - b _080766BA - .pool -_080766AC: - ldrh r0, [r4, 0x38] - strh r0, [r5, 0x20] - ldrh r0, [r4, 0x3A] - strh r0, [r5, 0x22] - strh r7, [r5, 0x24] - strh r7, [r5, 0x26] - movs r7, 0x1 -_080766BA: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0807670E - mov r2, r12 - cmp r2, 0 - beq _0807670E - cmp r7, 0 - beq _0807670E - ldr r1, =gSprites - mov r3, r8 - adds r0, r3, r6 - lsls r0, 2 - adds r2, r0, r1 - movs r0, 0x3C - ldrsh r1, [r2, r0] - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bne _080766FC - ldrh r1, [r2, 0x3C] - adds r0, r2, 0 - movs r2, 0x1 - movs r3, 0 - bl DoMonFrontSpriteAnimation - b _08076708 - .pool -_080766FC: - ldrh r1, [r2, 0x3C] - adds r0, r2, 0 - movs r2, 0 - movs r3, 0 - bl DoMonFrontSpriteAnimation -_08076708: - adds r0, r4, 0 - bl DestroySpriteAndFreeResources -_0807670E: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80765E0 - - thumb_func_start sub_807671C -sub_807671C: @ 807671C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r10, r0 - adds r6, r2, 0 - mov r8, r3 - ldr r5, [sp, 0x20] - ldr r4, [sp, 0x24] - ldr r0, [sp, 0x28] - mov r9, r0 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r6, 24 - lsrs r6, 24 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, =gUnknown_0832C400 - bl LoadCompressedObjectPicUsingHeap - ldr r0, =gUnknown_0832C460 - bl LoadCompressedObjectPaletteUsingHeap - ldr r0, =gUnknown_0832C588 - adds r1, r6, 0 - mov r2, r8 - adds r3, r4, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r6, =gSprites - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - adds r2, r3, r6 - mov r1, r10 - strh r1, [r2, 0x2E] - mov r4, r9 - strh r4, [r2, 0x30] - strh r7, [r2, 0x32] - mov r1, sp - ldrh r1, [r1, 0x2C] - strh r1, [r2, 0x34] - ldr r4, [sp, 0x2C] - lsrs r1, r4, 16 - strh r1, [r2, 0x36] - movs r1, 0x3 - ands r5, r1 - lsls r5, 2 - ldrb r4, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r4 - orrs r1, r5 - strb r1, [r2, 0x5] - adds r6, 0x1C - adds r3, r6 - ldr r1, =sub_80767D4 - str r1, [r3] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_807671C - - thumb_func_start sub_80767D4 -sub_80767D4: @ 80767D4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0807686C - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r5, [r4, 0x34] - ldrh r0, [r4, 0x36] - lsls r0, 16 - orrs r5, r0 - adds r0, r4, 0 - adds r0, 0x43 - ldrb r0, [r0] - cmp r0, 0 - beq _0807680E - subs r0, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - b _08076810 -_0807680E: - movs r6, 0 -_08076810: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldrh r0, [r4, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r4, 0x5] - lsls r2, 28 - lsrs r2, 30 - adds r3, r6, 0 - bl sub_80763F8 - movs r0, 0x1 - mov r1, r8 - adds r2, r5, 0 - bl sub_8076420 - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0x30] - ldr r0, =sub_807687C - str r0, [r4, 0x1C] - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - adds r0, r4, 0 - bl AnimateSprite - strh r5, [r4, 0x30] - b _08076870 - .pool -_0807686C: - subs r0, r1, 0x1 - strh r0, [r4, 0x30] -_08076870: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80767D4 - - thumb_func_start sub_807687C -sub_807687C: @ 807687C - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x38] - adds r0, 0x1 - strh r0, [r5, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - bne _08076894 - movs r0, 0x3C - bl PlaySE -_08076894: - ldrh r1, [r5, 0x2E] - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r0, r2 - adds r0, r4, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _080768D8 - adds r0, r5, 0 - movs r1, 0x2 - bl StartSpriteAnim - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r0, 0 - strh r0, [r5, 0x38] - ldr r0, =sub_80768F0 - str r0, [r5, 0x1C] - b _080768E8 - .pool -_080768D8: - ldrh r0, [r4, 0x30] - adds r0, 0x60 - strh r0, [r4, 0x30] - movs r1, 0x30 - ldrsh r0, [r4, r1] - negs r0, r0 - asrs r0, 8 - strh r0, [r4, 0x26] -_080768E8: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_807687C - - thumb_func_start sub_80768F0 -sub_80768F0: @ 80768F0 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08076904 - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] -_08076904: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80768F0 - - thumb_func_start obj_delete_and_free_associated_resources_ -obj_delete_and_free_associated_resources_: @ 807690C - push {lr} - bl DestroySpriteAndFreeResources - pop {r0} - bx r0 - thumb_func_end obj_delete_and_free_associated_resources_ - - thumb_func_start sub_8076918 -sub_8076918: @ 8076918 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r0, =gHealthBoxesIds - adds r0, r5, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r6, =gSprites - adds r4, r0, r6 - movs r1, 0 - movs r0, 0x5 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] - movs r0, 0x73 - strh r0, [r4, 0x24] - strh r1, [r4, 0x26] - ldr r0, =sub_80769CC - str r0, [r4, 0x1C] - adds r0, r5, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _08076966 - ldrh r0, [r4, 0x2E] - negs r0, r0 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - negs r0, r0 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x24] - negs r0, r0 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x26] - negs r0, r0 - strh r0, [r4, 0x26] -_08076966: - movs r0, 0x38 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r6, 0 - adds r1, 0x1C - adds r1, r0, r1 - adds r0, r6 - ldr r1, [r1] - bl _call_via_r1 - adds r0, r5, 0 - bl GetBankIdentity - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08076990 - ldr r0, =sub_80769A8 - str r0, [r4, 0x1C] -_08076990: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8076918 - - thumb_func_start sub_80769A8 -sub_80769A8: @ 80769A8 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bne _080769C2 - movs r0, 0 - strh r0, [r1, 0x30] - ldr r0, =sub_80769CC - str r0, [r1, 0x1C] -_080769C2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80769A8 - - thumb_func_start sub_80769CC -sub_80769CC: @ 80769CC - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x24] - ldrh r1, [r2, 0x2E] - subs r0, r1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x26] - ldrh r1, [r2, 0x30] - subs r0, r1 - strh r0, [r2, 0x26] - ldr r0, [r2, 0x24] - cmp r0, 0 - bne _080769EA - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] -_080769EA: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80769CC - - thumb_func_start DoHitAnimHealthboxEffect -DoHitAnimHealthboxEffect: @ 80769F4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =oamc_804BEB4 - adds r0, r5, 0 - bl CreateInvisibleSpriteWithCallback - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r3, r1, r2 - movs r0, 0x1 - strh r0, [r3, 0x2E] - ldr r0, =gHealthBoxesIds - adds r4, r0 - ldrb r0, [r4] - strh r0, [r3, 0x30] - adds r2, 0x1C - adds r1, r2 - str r5, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end DoHitAnimHealthboxEffect - - thumb_func_start oamc_804BEB4 -oamc_804BEB4: @ 8076A38 - push {lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - ldrh r0, [r3, 0x2E] - movs r2, 0 - strh r0, [r1, 0x26] - ldrh r0, [r3, 0x2E] - negs r0, r0 - strh r0, [r3, 0x2E] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - strh r0, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x15 - bne _08076A70 - strh r2, [r1, 0x24] - strh r2, [r1, 0x26] - adds r0, r3, 0 - bl DestroySprite -_08076A70: - pop {r0} - bx r0 - .pool - thumb_func_end oamc_804BEB4 - - thumb_func_start sub_8076A78 -sub_8076A78: @ 8076A78 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_0832C400 - lsls r6, r4, 3 - adds r5, r6, r0 - ldrh r0, [r5, 0x6] - bl GetSpriteTileStartByTag - lsls r0, 16 - ldr r1, =0xffff0000 - cmp r0, r1 - bne _08076AA0 - adds r0, r5, 0 - bl LoadCompressedObjectPicUsingHeap - ldr r0, =gUnknown_0832C460 - adds r0, r6, r0 - bl LoadCompressedObjectPaletteUsingHeap -_08076AA0: - cmp r4, 0x6 - beq _08076ACC - cmp r4, 0x6 - blt _08076AB0 - cmp r4, 0xB - bgt _08076AB0 - cmp r4, 0xA - bge _08076ACC -_08076AB0: - ldr r1, =gUnknown_0832C400 - lsls r0, r4, 3 - adds r0, r1 - ldrh r0, [r0, 0x6] - bl GetSpriteTileStartByTag - adds r1, r0, 0 - lsls r1, 16 - ldr r0, =gUnknown_08C02300 - lsrs r1, 11 - ldr r2, =0x06010100 - adds r1, r2 - bl LZDecompressVram -_08076ACC: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8076A78 - - thumb_func_start sub_8076AE8 -sub_8076AE8: @ 8076AE8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - ldr r0, =gUnknown_0832C400 - lsrs r4, 21 - adds r0, r4, r0 - ldrh r0, [r0, 0x6] - bl FreeSpriteTilesByTag - ldr r0, =gUnknown_0832C460 - adds r4, r0 - ldrh r0, [r4, 0x4] - bl FreeSpritePaletteByTag - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8076AE8 - - thumb_func_start sub_8076B14 -sub_8076B14: @ 8076B14 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _08076B40 - ldr r1, =gBattlePartyID - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty - b _08076B4E - .pool -_08076B40: - ldr r1, =gBattlePartyID - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty -_08076B4E: - adds r0, r1 - movs r1, 0x26 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8076B14 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokeblock_feed.s b/asm/pokeblock_feed.s deleted file mode 100644 index a3047e225b..0000000000 --- a/asm/pokeblock_feed.s +++ /dev/null @@ -1,1873 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8179B68 -sub_8179B68: @ 8179B68 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8179B68 - - thumb_func_start sub_8179B84 -sub_8179B84: @ 8179B84 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8179B84 - - thumb_func_start sub_8179B98 -sub_8179B98: @ 8179B98 - push {r4,lr} - sub sp, 0x4 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xD - bls _08179BAC - b _08179D4C -_08179BAC: - lsls r0, 2 - ldr r1, =_08179BC0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08179BC0: - .4byte _08179BF8 - .4byte _08179C20 - .4byte _08179C34 - .4byte _08179C48 - .4byte _08179C4E - .4byte _08179C60 - .4byte _08179C66 - .4byte _08179C78 - .4byte _08179C98 - .4byte _08179CB0 - .4byte _08179CDC - .4byte _08179CF8 - .4byte _08179CFE - .4byte _08179D18 -_08179BF8: - ldr r4, =gUnknown_0203BD18 - ldr r0, =0x00001084 - bl AllocZeroed - str r0, [r4] - bl SetVBlankHBlankCallbacksToNull - bl clear_scheduled_bg_copies_to_vram - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08179D3A - .pool -_08179C20: - bl ResetPaletteFade - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - b _08179D30 - .pool -_08179C34: - bl ResetSpriteData - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08179D3A - .pool -_08179C48: - bl FreeAllSpritePalettes - b _08179D32 -_08179C4E: - bl AllocateMonSpritesGfx - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08179D3A - .pool -_08179C60: - bl sub_8179D9C - b _08179D32 -_08179C66: - bl sub_8179FAC - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08179D3A - .pool -_08179C78: - ldr r0, =gUnknown_0203BC9C - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl sub_8179DF4 - lsls r0, 24 - cmp r0, 0 - beq _08179D64 - b _08179D32 - .pool -_08179C98: - bl sub_817A4A4 - ldr r1, =gUnknown_0203BD18 - ldr r1, [r1] - ldr r2, =0x0000105e - adds r1, r2 - strb r0, [r1] - b _08179D32 - .pool -_08179CB0: - ldr r0, =gUnknown_0203BC9C - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl sub_817A358 - ldr r1, =gUnknown_0203BD18 - ldr r1, [r1] - ldr r2, =0x0000105d - adds r1, r2 - strb r0, [r1] - b _08179D32 - .pool -_08179CDC: - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0xE - bl SetWindowBorderStyle - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08179D3A - .pool -_08179CF8: - bl sub_817A168 - b _08179D32 -_08179CFE: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _08179D3A - .pool -_08179D18: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 -_08179D30: - strb r0, [r2, 0x8] -_08179D32: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 -_08179D3A: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08179D64 - .pool -_08179D4C: - ldr r0, =sub_8179B84 - bl SetVBlankCallback - ldr r0, =sub_8179B68 - bl SetMainCallback2 - movs r0, 0x1 - b _08179D66 - .pool -_08179D64: - movs r0, 0 -_08179D66: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8179B98 - - thumb_func_start sub_8179D70 -sub_8179D70: @ 8179D70 - push {lr} -_08179D72: - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08179D96 - bl sub_8179B98 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08179D96 - bl sub_81221AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08179D72 -_08179D96: - pop {r0} - bx r0 - thumb_func_end sub_8179D70 - - thumb_func_start sub_8179D9C -sub_8179D9C: @ 8179D9C - push {lr} - bl sub_8121DA0 - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085F0550 - movs r0, 0 - movs r2, 0x2 - bl InitBgsFromTemplates - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - adds r1, 0x48 - movs r0, 0x1 - bl SetBgTilemapBuffer - bl sub_8121E10 - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_8179D9C - - thumb_func_start sub_8179DF4 -sub_8179DF4: @ 8179DF4 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - ldr r0, =gUnknown_0203BD18 - ldr r0, [r0] - ldr r1, =0x0000107e - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x8 - bls _08179E0C - b _08179FA0 -_08179E0C: - lsls r0, 2 - ldr r1, =_08179E24 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08179E24: - .4byte _08179E48 - .4byte _08179E84 - .4byte _08179EC4 - .4byte _08179ED8 - .4byte _08179EEC - .4byte _08179F00 - .4byte _08179F20 - .4byte _08179F44 - .4byte _08179F78 -_08179E48: - adds r0, r6, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r6, 0 - movs r1, 0 - bl GetMonData - adds r4, r0, 0 - lsls r0, r5, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x8] - adds r2, r5, 0 - adds r3, r4, 0 - bl HandleLoadSpecialPokePic_2 - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - b _08179F5E - .pool -_08179E84: - adds r0, r6, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r6, 0 - movs r1, 0 - bl GetMonData - adds r4, r0, 0 - adds r0, r6, 0 - movs r1, 0x1 - bl GetMonData - adds r1, r0, 0 - adds r0, r5, 0 - adds r2, r4, 0 - bl GetMonSpritePalStructFromOtIdPersonality - adds r4, r0, 0 - bl LoadCompressedObjectPalette - ldrh r0, [r4, 0x4] - movs r1, 0x1 - bl sub_806A068 - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - b _08179F5E - .pool -_08179EC4: - ldr r0, =gUnknown_085B26F4 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - b _08179F5E - .pool -_08179ED8: - ldr r0, =gUnknown_085B26FC - bl LoadCompressedObjectPalette - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - b _08179F5E - .pool -_08179EEC: - ldr r0, =gUnknown_085F06A0 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - b _08179F5E - .pool -_08179F00: - ldr r0, =gScriptItemId - ldrb r0, [r0] - bl sub_8179FEC - ldr r0, =gUnknown_0203BD1C - bl LoadCompressedObjectPalette - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - b _08179F5E - .pool -_08179F20: - bl reset_temp_tile_data_buffers - ldr r1, =gUnknown_08D7C440 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - b _08179F5E - .pool -_08179F44: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08179FA0 - ldr r0, =gUnknown_08D9BA44 - ldr r4, =gUnknown_0203BD18 - ldr r1, [r4] - adds r1, 0x48 - bl LZDecompressWram - ldr r1, [r4] -_08179F5E: - ldr r0, =0x0000107e - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08179FA0 - .pool -_08179F78: - ldr r0, =gUnknown_08D7C9EC - movs r1, 0x20 - movs r2, 0x60 - bl LoadCompressedPalette - ldr r0, =gUnknown_0203BD18 - ldr r0, [r0] - ldr r1, =0x0000107e - adds r0, r1 - movs r1, 0 - strh r1, [r0] - movs r0, 0x1 - b _08179FA2 - .pool -_08179FA0: - movs r0, 0 -_08179FA2: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8179DF4 - - thumb_func_start sub_8179FAC -sub_8179FAC: @ 8179FAC - push {lr} - ldr r0, =gUnknown_085F0558 - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0 - movs r1, 0x1 - movs r2, 0xE0 - bl sub_809882C - ldr r0, =gUnknown_0860F074 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - pop {r0} - bx r0 - .pool - thumb_func_end sub_8179FAC - - thumb_func_start sub_8179FEC -sub_8179FEC: @ 8179FEC - push {lr} - lsls r0, 24 - ldr r1, =gSaveBlock1Ptr - lsrs r0, 21 - ldr r2, =0x00000848 - adds r0, r2 - ldr r1, [r1] - adds r1, r0 - adds r0, r1, 0 - movs r1, 0 - bl sub_8136F9C - lsls r0, 24 - ldr r2, =gUnknown_0203BD1C - ldr r1, =gUnknown_085F0568 - lsrs r0, 22 - subs r0, 0x4 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - ldr r0, =0x000039e2 - strh r0, [r2, 0x4] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8179FEC - - thumb_func_start sub_817A030 -sub_817A030: @ 817A030 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0817A044 - b _0817A154 -_0817A044: - ldr r0, =gTasks - lsls r2, r4, 2 - adds r1, r2, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x8 - ldrsh r3, [r1, r0] - ldr r0, =0x0000010d - adds r5, r2, 0 - cmp r3, r0 - beq _0817A0C8 - cmp r3, r0 - bgt _0817A074 - cmp r3, 0 - beq _0817A088 - cmp r3, 0xFF - beq _0817A0AC - b _0817A104 - .pool -_0817A074: - ldr r0, =0x00000119 - cmp r3, r0 - beq _0817A0E0 - adds r0, 0x10 - cmp r3, r0 - beq _0817A0F8 - b _0817A104 - .pool -_0817A088: - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - ldr r2, =0x00001050 - adds r1, r2 - strb r3, [r1] - ldr r0, [r0] - ldr r1, =0x00001058 - adds r0, r1 - strh r3, [r0] - bl sub_817A5CC - b _0817A104 - .pool -_0817A0AC: - ldr r0, =gUnknown_0203BD18 - ldr r0, [r0] - ldr r2, =0x0000105e - adds r0, r2 - ldrb r0, [r0] - ldrb r1, [r1, 0xA] - bl sub_817A4F8 - b _0817A104 - .pool -_0817A0C8: - bl sub_817A56C - ldr r1, =gUnknown_0203BD18 - ldr r1, [r1] - ldr r2, =0x0000105f - adds r1, r2 - strb r0, [r1] - b _0817A104 - .pool -_0817A0E0: - ldr r0, =gUnknown_0203BD18 - ldr r0, [r0] - ldr r1, =0x0000105d - adds r0, r1 - ldrb r0, [r0] - bl sub_817A434 - b _0817A104 - .pool -_0817A0F8: - ldr r0, =sub_817A1C4 - str r0, [r1] - b _0817A154 - .pool -_0817A104: - ldr r0, =gUnknown_0203BD18 - ldr r0, [r0] - ldr r2, =0x00001058 - adds r1, r0, r2 - subs r2, 0x2 - adds r0, r2 - ldrh r1, [r1] - ldrh r0, [r0] - cmp r1, r0 - bcs _0817A128 - bl sub_817A634 - b _0817A138 - .pool -_0817A128: - cmp r1, r0 - bne _0817A138 - ldr r0, =gTasks - adds r1, r5, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0xFE - strh r0, [r1, 0x8] -_0817A138: - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - ldr r0, =0x00001058 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldr r0, =gTasks - adds r1, r5, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0817A154: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817A030 - - thumb_func_start sub_817A168 -sub_817A168: @ 817A168 - push {lr} - ldr r0, =sub_817A030 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - movs r0, 0x1 - strh r0, [r1, 0xA] - pop {r0} - bx r0 - .pool - thumb_func_end sub_817A168 - - thumb_func_start sub_817A194 -sub_817A194: @ 817A194 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - bl sub_8121F20 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - beq _0817A1B6 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_817A320 - str r0, [r1] -_0817A1B6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817A194 - - thumb_func_start sub_817A1C4 -sub_817A1C4: @ 817A1C4 - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_0203BC9C - ldrb r1, [r0] - movs r0, 0x64 - adds r5, r1, 0 - muls r5, r0 - ldr r0, =gPlayerParty - adds r5, r0 - ldr r1, =gSaveBlock1Ptr - ldr r0, =gScriptItemId - ldrh r0, [r0] - lsls r0, 3 - ldr r2, =0x00000848 - adds r0, r2 - ldr r4, [r1] - adds r4, r0 - adds r0, r5, 0 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl sub_8136FE4 - ldr r6, =gUnknown_0203BC9E - strh r0, [r6] - ldr r1, =gStringVar1 - adds r0, r5, 0 - bl GetMonNickname - ldr r1, =gStringVar2 - adds r0, r4, 0 - bl sub_8137044 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0817A248 - ldr r0, =gStringVar4 - ldr r1, =gText_Var1AteTheVar2 - bl StringExpandPlaceholders - b _0817A268 - .pool -_0817A248: - cmp r0, 0 - ble _0817A260 - ldr r0, =gStringVar4 - ldr r1, =gText_Var1HappilyAteVar2 - bl StringExpandPlaceholders - b _0817A268 - .pool -_0817A260: - ldr r0, =gStringVar4 - ldr r1, =gText_Var1DisdainfullyAteVar2 - bl StringExpandPlaceholders -_0817A268: - ldr r2, =gTextFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - bl sav2_get_text_speed - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r2, =gStringVar4 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - bl AddTextPrinterParametrized - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_817A194 - str r1, [r0] - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817A1C4 - - thumb_func_start sub_817A2C0 -sub_817A2C0: @ 817A2C0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0817A304 - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, =gMPlay_BGM - ldr r1, =0x0000ffff - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask - bl FreeAllWindowBuffers - ldr r0, =gUnknown_0203BD18 - ldr r0, [r0] - bl Free - bl FreeMonSpritesGfx -_0817A304: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817A2C0 - - thumb_func_start sub_817A320 -sub_817A320: @ 817A320 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_817A2C0 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817A320 - - thumb_func_start sub_817A358 -sub_817A358: @ 817A358 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r5, r0, 0 - movs r1, 0x41 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =gUnknown_0202499C - movs r1, 0x30 - movs r2, 0x50 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =gUnknown_0203BD18 - mov r9, r0 - ldr r0, [r0] - ldr r2, =0x00001054 - adds r1, r0, r2 - strh r4, [r1] - ldr r1, =0x0000105b - adds r0, r1 - mov r2, r8 - strb r2, [r0] - adds r0, r5, 0 - bl GetNature - mov r2, r9 - ldr r1, [r2] - ldr r2, =0x0000105a - adds r1, r2 - strb r0, [r1] - ldr r7, =gSprites - mov r1, r8 - lsls r0, r1, 4 - add r0, r8 - lsls r5, r0, 2 - adds r6, r5, r7 - strh r4, [r6, 0x32] - adds r0, r7, 0 - adds r0, 0x1C - adds r0, r5, r0 - ldr r1, =SpriteCallbackDummy - str r1, [r0] - mov r2, r9 - ldr r0, [r2] - ldr r1, =0x00001053 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - adds r0, r4, 0 - bl IsPokeSpriteNotFlipped - lsls r0, 24 - cmp r0, 0 - bne _0817A402 - adds r0, r7, 0 - adds r0, 0x10 - adds r0, r5, r0 - ldr r1, =gUnknown_085F05B0 - str r1, [r0] - ldrb r3, [r6, 0x1] - movs r0, 0x3 - orrs r3, r0 - strb r3, [r6, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r6, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - adds r0, r6, 0 - bl CalcCenterToCornerVec - mov r2, r9 - ldr r0, [r2] - ldr r1, =0x00001053 - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_0817A402: - mov r0, r8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_817A358 - - thumb_func_start sub_817A434 -sub_817A434: @ 817A434 - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r2, r1, r3 - movs r0, 0x30 - strh r0, [r2, 0x20] - movs r0, 0x50 - strh r0, [r2, 0x22] - ldr r0, =0x0000fff8 - strh r0, [r2, 0x2E] - movs r0, 0x1 - strh r0, [r2, 0x30] - adds r3, 0x1C - adds r1, r3 - ldr r0, =sub_817A468 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_817A434 - - thumb_func_start sub_817A468 -sub_817A468: @ 817A468 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - adds r0, 0x4 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x2E] - ldrh r2, [r4, 0x22] - adds r1, r0, r2 - strh r1, [r4, 0x22] - ldrh r1, [r4, 0x30] - adds r0, r1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _0817A48E - ldrh r0, [r4, 0x32] - movs r1, 0 - bl PlayCry1 -_0817A48E: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x9 - bne _0817A49A - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_0817A49A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817A468 - - thumb_func_start sub_817A4A4 -sub_817A4A4: @ 817A4A4 - push {r4,r5,lr} - movs r0, 0xBC - movs r1, 0x64 - movs r2, 0x2 - bl sub_8136444 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gSprites - lsls r3, r4, 4 - adds r3, r4 - lsls r3, 2 - adds r0, r3, r5 - ldrb r2, [r0, 0x1] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x1] - adds r1, r5, 0 - adds r1, 0x10 - adds r1, r3, r1 - ldr r2, =gUnknown_085F0664 - str r2, [r1] - adds r5, 0x1C - adds r3, r5 - ldr r1, =SpriteCallbackDummy - str r1, [r3] - bl InitSpriteAffineAnim - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_817A4A4 - - thumb_func_start sub_817A4F8 -sub_817A4F8: @ 817A4F8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gSprites - mov r8, r0 - lsls r0, r7, 4 - adds r0, r7 - lsls r6, r0, 2 - mov r0, r8 - adds r4, r6, r0 - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - cmp r5, 0 - bne _0817A540 - mov r0, r8 - adds r0, 0x10 - adds r0, r6, r0 - ldr r1, =gUnknown_085F0668 - b _0817A548 - .pool -_0817A540: - mov r0, r8 - adds r0, 0x10 - adds r0, r6, r0 - ldr r1, =gUnknown_085F066C -_0817A548: - str r1, [r0] - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl InitSpriteAffineAnim - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817A4F8 - - thumb_func_start sub_817A56C -sub_817A56C: @ 817A56C - push {lr} - ldr r0, =gUnknown_085F06A8 - movs r1, 0xAE - movs r2, 0x54 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldr r2, =0x0000fff4 - strh r2, [r1, 0x2E] - movs r2, 0x1 - strh r2, [r1, 0x30] - pop {r1} - bx r1 - .pool - thumb_func_end sub_817A56C - - thumb_func_start sub_817A5A0 -sub_817A5A0: @ 817A5A0 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x20] - subs r0, 0x4 - strh r0, [r2, 0x20] - ldrh r0, [r2, 0x2E] - ldrh r3, [r2, 0x22] - adds r1, r0, r3 - strh r1, [r2, 0x22] - ldrh r1, [r2, 0x30] - adds r0, r1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _0817A5C6 - adds r0, r2, 0 - bl DestroySprite -_0817A5C6: - pop {r0} - bx r0 - thumb_func_end sub_817A5A0 - - thumb_func_start sub_817A5CC -sub_817A5CC: @ 817A5CC - push {r4-r7,lr} - ldr r0, =gUnknown_0203BD18 - ldr r1, [r0] - ldr r0, =0x00001056 - adds r3, r1, r0 - movs r0, 0x1 - strh r0, [r3] - ldr r2, =gUnknown_085EFEBC - ldr r7, =0x0000105a - adds r1, r7 - ldrb r0, [r1] - lsls r0, 1 - adds r0, r2 - ldrb r2, [r0] - movs r4, 0 - ldr r5, =gUnknown_085EFF00 - adds r6, r5, 0 - subs r6, 0xA -_0817A5F0: - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r0, r1, r6 - ldrh r0, [r0] - ldrh r7, [r3] - adds r0, r7 - strh r0, [r3] - adds r1, r5 - movs r7, 0 - ldrsh r0, [r1, r7] - cmp r0, 0x1 - beq _0817A61A - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r4, 0x7 - bls _0817A5F0 -_0817A61A: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817A5CC - - thumb_func_start sub_817A634 -sub_817A634: @ 817A634 - push {r4,lr} - ldr r0, =gUnknown_0203BD18 - ldr r4, [r0] - ldr r1, =0x00001050 - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0x5A - bls _0817A646 - b _0817A90E -_0817A646: - lsls r0, 2 - ldr r1, =_0817A65C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0817A65C: - .4byte _0817A7C8 - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A818 - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A858 - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A8A2 - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A8FC - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E - .4byte _0817A90E -_0817A7C8: - ldr r1, =gUnknown_085EFEBC - ldr r2, =0x0000105a - adds r0, r4, r2 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrb r1, [r0] - ldr r3, =0x00001051 - adds r0, r4, r3 - strb r1, [r0] - ldr r1, =0x0000105b - adds r0, r4, r1 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - adds r0, r4, 0 - stm r0!, {r1} - movs r2, 0x44 - bl memcpy - ldr r2, =0x00001050 - adds r1, r4, r2 - movs r0, 0xA - strb r0, [r1] - b _0817A90E - .pool -_0817A818: - bl sub_817A91C - ldr r1, =gUnknown_085EFEBC - ldr r3, =0x0000105a - adds r0, r4, r3 - ldrb r0, [r0] - lsls r0, 1 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0817A850 - ldr r2, [r4] - ldrb r0, [r2, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r2, 0x1] - ldr r2, [r4] - ldrb r1, [r2, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x3] - ldr r0, [r4] - ldr r1, =gUnknown_085F04FC - str r1, [r0, 0x10] - bl InitSpriteAffineAnim -_0817A850: - ldr r0, =0x00001050 - adds r1, r4, r0 - movs r0, 0x32 - strb r0, [r1] -_0817A858: - ldr r1, =gUnknown_085EFEBC - ldr r2, =0x0000105a - adds r0, r4, r2 - ldrb r0, [r0] - lsls r0, 1 - adds r1, 0x1 - adds r2, r0, r1 - ldrb r1, [r2] - cmp r1, 0 - beq _0817A8C8 - ldr r3, =0x00001053 - adds r0, r4, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _0817A898 - ldr r0, [r4] - adds r1, 0xA - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAffineAnim - b _0817A8C8 - .pool -_0817A898: - ldr r0, [r4] - ldrb r1, [r2] - bl StartSpriteAffineAnim - b _0817A8C8 -_0817A8A2: - bl sub_817A9E4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0817A90E - ldr r1, =0x00001072 - adds r0, r4, r1 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _0817A8E0 - ldr r3, =0x00001051 - adds r1, r4, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_817A91C -_0817A8C8: - ldr r0, =0x00001050 - adds r1, r4, r0 - movs r0, 0x3C - strb r0, [r1] - b _0817A90E - .pool -_0817A8E0: - ldr r0, [r4] - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldr r2, =0x00001050 - adds r1, r4, r2 - movs r0, 0x46 - strb r0, [r1] - b _0817A90E - .pool -_0817A8FC: - bl sub_817AA3C - ldr r3, =0x00001051 - adds r0, r4, r3 - movs r1, 0 - strb r1, [r0] - ldr r2, =0x00001050 - adds r0, r4, r2 - strb r1, [r0] -_0817A90E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817A634 - - thumb_func_start sub_817A91C -sub_817A91C: @ 817A91C - push {r4-r7,lr} - ldr r0, =gUnknown_0203BD18 - ldr r5, [r0] - movs r4, 0 - movs r0, 0x83 - lsls r0, 5 - adds r7, r5, r0 - ldr r1, =gUnknown_085EFEEE - mov r12, r1 - ldr r2, =0x00001051 - adds r6, r5, r2 -_0817A932: - lsls r2, r4, 1 - adds r3, r7, r2 - ldrb r1, [r6] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, r0 - add r2, r12 - ldrh r0, [r2] - strh r0, [r3] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _0817A932 - ldr r0, =0x00001068 - adds r6, r5, r0 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _0817A9DC - movs r2, 0x83 - lsls r2, 5 - adds r4, r5, r2 - movs r1, 0 - ldrsh r0, [r4, r1] - adds r2, 0x4 - adds r1, r5, r2 - movs r2, 0 - ldrsh r1, [r1, r2] - bl Sin - ldr r2, =0x00001074 - adds r1, r5, r2 - strh r0, [r1] - movs r1, 0 - ldrsh r0, [r4, r1] - subs r2, 0xE - adds r1, r5, r2 - movs r2, 0 - ldrsh r1, [r1, r2] - bl Cos - ldr r2, =0x00001076 - adds r1, r5, r2 - strh r0, [r1] - ldrh r0, [r6] - ldr r1, =0x00001078 - adds r4, r5, r1 - strh r0, [r4] - ldr r0, [r5] - ldrh r1, [r0, 0x24] - adds r2, 0x4 - adds r0, r5, r2 - strh r1, [r0] - ldr r0, [r5] - ldrh r1, [r0, 0x26] - adds r2, 0x2 - adds r0, r5, r2 - strh r1, [r0] - bl sub_817AB68 - ldrh r0, [r4] - strh r0, [r6] - bl sub_817AA54 - ldrh r0, [r4] - strh r0, [r6] - movs r0, 0 - b _0817A9DE - .pool -_0817A9DC: - movs r0, 0x1 -_0817A9DE: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_817A91C - - thumb_func_start sub_817A9E4 -sub_817A9E4: @ 817A9E4 - push {r4,r5,lr} - ldr r0, =gUnknown_0203BD18 - ldr r2, [r0] - ldr r1, =0x00001078 - adds r0, r2, r1 - ldr r5, =0x00001068 - adds r4, r2, r5 - ldrh r1, [r0] - ldrh r0, [r4] - subs r1, r0 - lsls r1, 16 - ldr r3, [r2] - lsrs r1, 15 - movs r5, 0x85 - lsls r5, 4 - adds r0, r2, r5 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r3, 0x24] - ldr r3, [r2] - movs r0, 0xC5 - lsls r0, 4 - adds r2, r0 - adds r2, r1 - ldrh r0, [r2] - strh r0, [r3, 0x26] - ldrh r0, [r4] - subs r0, 0x1 - strh r0, [r4] - lsls r0, 16 - cmp r0, 0 - beq _0817AA34 - movs r0, 0 - b _0817AA36 - .pool -_0817AA34: - movs r0, 0x1 -_0817AA36: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_817A9E4 - - thumb_func_start sub_817AA3C -sub_817AA3C: @ 817AA3C - push {lr} - ldr r0, =gUnknown_0203BD18 - ldr r0, [r0] - ldr r0, [r0] - bl FreeSpriteOamMatrix - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_817AA3C - - thumb_func_start sub_817AA54 -sub_817AA54: @ 817AA54 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - ldr r0, =gUnknown_0203BD18 - ldr r7, [r0] - ldr r1, =0x00001070 - adds r0, r7, r1 - ldrh r0, [r0] - mov r9, r0 - ldr r2, =0x00001078 - adds r0, r7, r2 - ldrh r0, [r0] - mov r3, r9 - subs r0, r3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r4, =0x0000107a - adds r1, r7, r4 - subs r2, 0xC - adds r0, r7, r2 - ldrh r0, [r0] - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp] - ldr r3, =0x0000107c - adds r1, r7, r3 - subs r4, 0xC - adds r0, r7, r4 - ldrh r0, [r0] - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x4] - movs r5, 0 - mov r0, r8 - subs r0, 0x1 - cmp r5, r0 - bge _0817AB20 - ldr r1, [sp] - lsls r0, r1, 16 - asrs r0, 16 - str r0, [sp, 0x8] - ldr r2, [sp, 0x4] - lsls r0, r2, 16 - asrs r0, 16 - mov r10, r0 -_0817AABE: - mov r3, r9 - adds r0, r3, r5 - lsls r0, 1 - movs r4, 0x85 - lsls r4, 4 - adds r2, r7, r4 - adds r2, r0 - ldrh r6, [r2] - ldr r3, [sp, 0x8] - subs r1, r6, r3 - movs r4, 0xC5 - lsls r4, 4 - adds r3, r7, r4 - adds r3, r0 - ldrh r4, [r3] - mov r0, r10 - subs r4, r0 - lsls r4, 16 - lsrs r4, 16 - lsls r1, 16 - asrs r1, 16 - adds r5, 0x1 - adds r0, r1, 0 - muls r0, r5 - mov r1, r8 - str r2, [sp, 0xC] - str r3, [sp, 0x10] - bl __divsi3 - subs r6, r0 - ldr r2, [sp, 0xC] - strh r6, [r2] - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - muls r0, r5 - mov r1, r8 - bl __divsi3 - ldr r3, [sp, 0x10] - ldrh r1, [r3] - subs r1, r0 - strh r1, [r3] - lsls r5, 16 - lsrs r5, 16 - mov r0, r8 - subs r0, 0x1 - cmp r5, r0 - blt _0817AABE -_0817AB20: - mov r0, r9 - add r0, r8 - subs r0, 0x1 - lsls r0, 1 - movs r2, 0x85 - lsls r2, 4 - adds r1, r7, r2 - adds r1, r0 - mov r3, sp - ldrh r3, [r3] - strh r3, [r1] - movs r4, 0xC5 - lsls r4, 4 - adds r1, r7, r4 - adds r1, r0 - mov r0, sp - ldrh r0, [r0, 0x4] - strh r0, [r1] - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817AA54 - - thumb_func_start sub_817AB68 -sub_817AB68: @ 817AB68 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r0, =gUnknown_0203BD18 - ldr r6, [r0] - movs r0, 0 - str r0, [sp] - ldr r1, =0x0000107a - adds r0, r6, r1 - ldr r2, =0x00001074 - adds r1, r6, r2 - ldrh r2, [r0] - ldrh r0, [r1] - subs r2, r0 - ldr r3, =0x0000107c - adds r0, r6, r3 - ldr r1, =0x00001076 - adds r3, r6, r1 - ldrh r1, [r0] - ldrh r0, [r3] - subs r1, r0 - ldr r3, =0x00001068 - adds r3, r6 - mov r9, r3 - movs r0, 0x83 - lsls r0, 5 - adds r0, r6 - mov r8, r0 - lsls r2, 16 - asrs r2, 16 - str r2, [sp, 0x4] - lsls r1, 16 - asrs r1, 16 - mov r10, r1 -_0817ABB2: - ldr r1, =0x0000106a - adds r0, r6, r1 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bge _0817ABC0 - negs r0, r0 -_0817ABC0: - lsls r0, 16 - ldr r3, =0x00001066 - adds r7, r6, r3 - lsrs r0, 16 - ldrh r1, [r7] - adds r0, r1 - lsls r4, r0, 16 - strh r0, [r7] - ldr r2, =0x00001064 - adds r0, r6, r2 - ldrh r2, [r0] - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r0, 0 - bge _0817ABE2 - movs r0, 0x1 - str r0, [sp] -_0817ABE2: - ldr r1, =0x00001078 - adds r0, r6, r1 - ldrh r0, [r0] - mov r3, r9 - ldrh r1, [r3] - subs r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r1, 0 - beq _0817ACB8 - ldr r0, [sp] - cmp r0, 0 - bne _0817AC54 - mov r1, r8 - movs r3, 0 - ldrsh r0, [r1, r3] - lsrs r4, 24 - adds r1, r2, r4 - lsls r1, 16 - asrs r1, 16 - bl Sin - lsls r5, 1 - movs r2, 0x85 - lsls r2, 4 - adds r1, r6, r2 - adds r1, r5 - ldr r3, [sp, 0x4] - adds r0, r3, r0 - strh r0, [r1] - mov r1, r8 - movs r2, 0 - ldrsh r0, [r1, r2] - ldrh r1, [r7] - adds r1, r4 - b _0817AC80 - .pool -_0817AC54: - mov r1, r8 - movs r3, 0 - ldrsh r0, [r1, r3] - lsrs r4, 24 - subs r1, r2, r4 - lsls r1, 16 - asrs r1, 16 - bl Sin - lsls r5, 1 - movs r2, 0x85 - lsls r2, 4 - adds r1, r6, r2 - adds r1, r5 - ldr r3, [sp, 0x4] - adds r0, r3, r0 - strh r0, [r1] - mov r1, r8 - movs r2, 0 - ldrsh r0, [r1, r2] - ldrh r1, [r7] - subs r1, r4 -_0817AC80: - lsls r1, 16 - asrs r1, 16 - bl Cos - movs r3, 0xC5 - lsls r3, 4 - adds r1, r6, r3 - adds r1, r5 - add r0, r10 - strh r0, [r1] - ldr r1, =0x00001062 - adds r0, r6, r1 - ldrh r0, [r0] - mov r2, r8 - ldrh r2, [r2] - adds r0, r2 - movs r1, 0xFF - ands r0, r1 - mov r3, r8 - strh r0, [r3] - mov r1, r9 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - b _0817ABB2 - .pool -_0817ACB8: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_817AB68 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokedex.s b/asm/pokedex.s index 3d69281c2a..cb40f0eda1 100644 --- a/asm/pokedex.s +++ b/asm/pokedex.s @@ -379,7 +379,7 @@ _080BB582: b _080BB74C .pool _080BB5FC: - bl remove_some_task + bl ScanlineEffect_Stop bl ResetTasks bl ResetSpriteData bl ResetPaletteFade @@ -497,7 +497,7 @@ _080BB71C: adds r1, r2 ldrb r1, [r1] bl sub_80BC8D4 - ldr r0, =gMPlay_BGM + ldr r0, =gMPlayInfo_BGM ldr r1, =0x0000ffff movs r2, 0x80 bl m4aMPlayVolumeControl @@ -1246,7 +1246,7 @@ _080BBE18: bl DestroyTask ldr r0, =sub_8086194 bl SetMainCallback2 - ldr r0, =gMPlay_BGM + ldr r0, =gMPlayInfo_BGM ldr r1, =0x0000ffff movs r2, 0x80 lsls r2, 1 @@ -2028,7 +2028,7 @@ _080BC56E: bl SetGpuReg movs r0, 0 bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0855D298 + ldr r1, =gBgTemplates_0855D298 movs r0, 0 movs r2, 0x4 bl InitBgsFromTemplates @@ -2054,7 +2054,7 @@ _080BC56E: adds r1, r0, 0 movs r0, 0 bl SetBgTilemapBuffer - ldr r1, =gUnknown_08DC1934 + ldr r1, =gPokedexMenu_Gfx movs r2, 0x80 lsls r2, 6 str r6, [sp] @@ -2119,7 +2119,7 @@ _080BC682: lsls r0, 31 lsrs r0, 31 bl sub_80BC844 - ldr r0, =gUnknown_0855D2A8 + ldr r0, =sWindowTemplates_0855D2A8 bl InitWindows bl DeactivateAllTextPrinters movs r0, 0 @@ -2141,9 +2141,9 @@ _080BC6CC: ldr r1, =gReservedSpritePaletteCount movs r0, 0x8 strb r0, [r1] - ldr r0, =gUnknown_0855D26C + ldr r0, =gSpriteSheets_0855D26C bl LoadCompressedObjectPic - ldr r0, =gUnknown_0855D27C + ldr r0, =gSpritePalettes_0855D26C bl LoadSpritePalettes adds r0, r5, 0 bl sub_80BDB7C @@ -2291,14 +2291,14 @@ sub_80BC844: @ 80BC844 lsrs r0, 24 cmp r0, 0x1 bne _080BC858 - ldr r0, =gUnknown_08DC17B6 + ldr r0, =gPokedexHoennBg_Pal + 0x2 b _080BC862 .pool _080BC858: bl IsNationalPokedexEnabled cmp r0, 0 bne _080BC870 - ldr r0, =gUnknown_08DC16F6 + ldr r0, =gPokedexText_Pal + 2 _080BC862: movs r1, 0x1 movs r2, 0xBE @@ -2306,12 +2306,12 @@ _080BC862: b _080BC87A .pool _080BC870: - ldr r0, =gUnknown_08DC1876 + ldr r0, =gPokedexNationalBg_Pal + 0x2 movs r1, 0x1 movs r2, 0xBE bl LoadPalette _080BC87A: - bl sub_8098C64 + bl GetOverworldTextboxPalettePtr movs r1, 0xF0 movs r2, 0x20 bl LoadPalette @@ -2609,7 +2609,7 @@ _080BCACC: movs r7, 0x1 mov r9, r7 _080BCADA: - ldr r1, =gUnknown_0855C6A4 + ldr r1, =gPokedexOrder_Alphabetical lsls r4, 16 asrs r0, r4, 15 adds r0, r1 @@ -2687,7 +2687,7 @@ _080BCB78: ldr r7, =gUnknown_02039B4C ldr r6, =0x0000060c _080BCB82: - ldr r1, =gUnknown_0855C9DA + ldr r1, =gPokedexOrder_Weight asrs r0, 15 adds r0, r1 ldrh r0, [r0] @@ -2752,7 +2752,7 @@ _080BCC08: ldr r0, =0x00000181 mov r9, r0 _080BCC16: - ldr r1, =gUnknown_0855C9DA + ldr r1, =gPokedexOrder_Weight lsls r4, 16 asrs r0, r4, 15 adds r0, r1 @@ -2819,7 +2819,7 @@ _080BCCA0: ldr r7, =gUnknown_02039B4C ldr r6, =0x0000060c _080BCCAA: - ldr r1, =gUnknown_0855CCDE + ldr r1, =gPokedexOrder_Height asrs r0, 15 adds r0, r1 ldrh r0, [r0] @@ -2884,7 +2884,7 @@ _080BCD30: ldr r0, =0x00000181 mov r9, r0 _080BCD3E: - ldr r1, =gUnknown_0855CCDE + ldr r1, =gPokedexOrder_Height lsls r4, 16 asrs r0, r4, 15 adds r0, r1 @@ -3035,7 +3035,7 @@ sub_80BCE2C: @ 80BCE2C str r4, [sp, 0xC] str r2, [sp, 0x10] mov r2, r8 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x18 pop {r3} mov r8, r3 @@ -3517,7 +3517,7 @@ sub_80BD23C: @ 80BD23C b _080BD266 .pool _080BD264: - ldr r4, =gUnknown_0855D2FE + ldr r4, =sText_TenDashes _080BD266: str r5, [sp] movs r0, 0 @@ -6163,7 +6163,7 @@ sub_80BE8DC: @ 80BE8DC movs r0, 0 movs r1, 0x1 adds r2, r5, 0 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x18 pop {r4,r5} pop {r0} @@ -6369,7 +6369,7 @@ _080BEACA: b _080BEDA0 .pool _080BEAF0: - ldr r1, =gUnknown_08DC1934 + ldr r1, =gPokedexMenu_Gfx movs r2, 0x80 lsls r2, 6 movs r0, 0 @@ -7228,7 +7228,7 @@ _080BF2A8: beq _080BF2B6 b _080BF5B2 _080BF2B6: - ldr r0, =gMPlay_BGM + ldr r0, =gMPlayInfo_BGM bl m4aMPlayStop ldr r5, =gUnknown_02039B4C ldr r0, [r5] @@ -7257,7 +7257,7 @@ _080BF2B6: b _080BF5B2 .pool _080BF310: - ldr r1, =gUnknown_08DC1934 + ldr r1, =gPokedexMenu_Gfx movs r2, 0x80 lsls r2, 6 movs r0, 0 @@ -7592,7 +7592,7 @@ _080BF636: movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade - ldr r0, =gMPlay_BGM + ldr r0, =gMPlayInfo_BGM bl m4aMPlayContinue ldr r0, =gUnknown_02039B4C ldr r0, [r0] @@ -7634,7 +7634,7 @@ _080BF6B0: movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade - ldr r0, =gMPlay_BGM + ldr r0, =gMPlayInfo_BGM bl m4aMPlayContinue ldr r0, =gUnknown_02039B4C ldr r0, [r0] @@ -7689,7 +7689,7 @@ _080BF73C: movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade - ldr r0, =gMPlay_BGM + ldr r0, =gMPlayInfo_BGM bl m4aMPlayContinue ldr r0, =gUnknown_02039B4C ldr r0, [r0] @@ -7856,7 +7856,7 @@ _080BF88E: b _080BFB94 .pool _080BF8D8: - ldr r1, =gUnknown_08DC1934 + ldr r1, =gPokedexMenu_Gfx movs r2, 0x80 lsls r2, 6 movs r0, 0 @@ -8543,7 +8543,7 @@ _080BFE92: b _080C0074 .pool _080BFF0C: - ldr r1, =gUnknown_08DC1934 + ldr r1, =gPokedexMenu_Gfx movs r2, 0x80 lsls r2, 6 movs r0, 0 @@ -8751,14 +8751,14 @@ _080C00E8: ands r1, r0 cmp r1, 0 beq _080C0114 - ldr r0, =gUnknown_08DC16F6 + ldr r0, =gPokedexText_Pal + 2 movs r1, 0x31 movs r2, 0xE bl LoadPalette b _080C011E .pool _080C0114: - ldr r0, =gUnknown_08DC1756 + ldr r0, =gPokedexCaughtScreenFade_Pal + 0x2 movs r1, 0x31 movs r2, 0xE bl LoadPalette @@ -8824,7 +8824,7 @@ _080C0168: adds r3, r5 ldrb r4, [r3, 0x5] lsrs r4, 4 - bl species_and_otid_get_pal + bl GetFrontSpritePalFromSpeciesAndPersonality lsls r4, 4 movs r2, 0x80 lsls r2, 1 @@ -8940,7 +8940,7 @@ _080C0250: b _080C028E .pool _080C028C: - ldr r0, =gUnknown_0856E688 + ldr r0, =sText_TenDashes2 _080C028E: movs r1, 0x84 movs r2, 0x19 @@ -8950,7 +8950,7 @@ _080C028E: add r4, sp, 0x10 adds r0, r6, 0 adds r1, r4, 0 - bl sub_81DB468 + bl CopyMonCategoryText adds r0, r4, 0 b _080C02AE .pool @@ -9974,7 +9974,7 @@ sub_80C0A88: @ 80C0A88 str r4, [sp, 0xC] str r1, [sp, 0x10] movs r1, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x18 pop {r4-r6} pop {r0} @@ -11022,7 +11022,7 @@ sub_80C1270: @ 80C1270 movs r0, 0 movs r1, 0x1 adds r2, r5, 0 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x18 pop {r4,r5} pop {r0} @@ -11135,7 +11135,7 @@ _080C1332: bl DeactivateAllTextPrinters movs r0, 0 bl PutWindowTilemap - ldr r1, =gUnknown_08DC3304 + ldr r1, =gPokedexSearchMenu_Gfx movs r2, 0x80 lsls r2, 6 str r5, [sp] @@ -11145,7 +11145,7 @@ _080C1332: bl IsNationalPokedexEnabled cmp r0, 0 bne _080C13E4 - ldr r1, =gUnknown_08DC3A0C + ldr r1, =gPokedexSearch2_Tilemap movs r0, 0x3 movs r2, 0 movs r3, 0 @@ -11153,13 +11153,13 @@ _080C1332: b _080C13F0 .pool _080C13E4: - ldr r1, =gUnknown_08DC3870 + ldr r1, =gPokedexSearch1_Tilemap movs r0, 0x3 movs r2, 0 movs r3, 0 bl CopyToBgTilemapBuffer _080C13F0: - ldr r0, =gUnknown_08DC3286 + ldr r0, =gPokedexSearchMenu_Pal + 0x2 movs r1, 0x1 movs r2, 0x7E bl LoadPalette @@ -11172,9 +11172,9 @@ _080C13F0: b _080C1516 .pool _080C1414: - ldr r0, =gUnknown_0855D26C + ldr r0, =gSpriteSheets_0855D26C bl LoadCompressedObjectPic - ldr r0, =gUnknown_0855D27C + ldr r0, =gSpritePalettes_0855D26C bl LoadSpritePalettes adds r0, r4, 0 bl sub_80C2594 diff --git a/asm/pokedex_area_screen.s b/asm/pokedex_area_screen.s index b599b365c2..5f9e019748 100644 --- a/asm/pokedex_area_screen.s +++ b/asm/pokedex_area_screen.s @@ -362,7 +362,7 @@ sub_813CD04: @ 813CD04 adds r1, r3, 0 bl get_mapheader_by_bank_and_number ldrb r0, [r0, 0x14] - bl sub_8123F9C + bl CorrectSpecialMapSecId ldr r2, [r4] movs r1, 0x88 lsls r1, 1 @@ -653,7 +653,7 @@ _0813CF5A: adds r0, r4, 0 adds r1, r6, 0 str r3, [sp] - bl sub_8123E9C + bl GetRegionMapSectionIdAt ldr r3, [sp] ldr r2, [r3] mov r7, r9 @@ -1338,11 +1338,11 @@ _0813D4F8: bl sub_8122D88 movs r0, 0x1 movs r1, 0x1 - bl sub_8124288 + bl CreateRegionMapPlayerIcon movs r1, 0x8 negs r1, r1 movs r0, 0 - bl sub_8123824 + bl PokedexAreaScreen_UpdateRegionMapVariablesAndVideoRegs b _0813D584 .pool _0813D520: @@ -1781,7 +1781,7 @@ sub_813D8A8: @ 813D8A8 str r1, [sp] ldr r0, =0x00030600 str r0, [sp, 0x4] - ldr r0, =gUnknown_08DC4140 + ldr r0, =gPokedexAreaScreenAreaUnknown_Gfx bl LZ77UnCompWram mov r0, sp bl LoadSpriteSheet @@ -1831,7 +1831,7 @@ _0813D924: lsls r6, 16 adds r1, r6 asrs r1, 16 - ldr r0, =gUnknown_085B40FC + ldr r0, =gSpriteTemplate_85B40FC movs r2, 0x8C movs r3, 0 bl CreateSprite diff --git a/asm/pokedex_cry_screen.s b/asm/pokedex_cry_screen.s index f6d5ec2713..846b208816 100644 --- a/asm/pokedex_cry_screen.s +++ b/asm/pokedex_cry_screen.s @@ -239,7 +239,7 @@ sub_8145534: @ 8145534 lsls r0, 16 lsrs r4, r0, 16 adds r5, r4, 0 - ldr r0, =gMPlay_BGM + ldr r0, =gMPlayInfo_BGM ldr r0, [r0, 0x4] cmp r0, 0 bge _08145582 @@ -675,9 +675,9 @@ _08145884: b _081458F8 .pool _081458B0: - ldr r0, =gUnknown_085B8C80 + ldr r0, =gCryMeterNeedleSpriteSheets bl LoadSpriteSheets - ldr r0, =gUnknown_085B8C90 + ldr r0, =gCryMeterNeedleSpritePalettes bl LoadSpritePalettes ldr r0, =gUnknown_085B8C68 ldrb r1, [r4, 0x4] diff --git a/asm/pokemon_1.s b/asm/pokemon_1.s index ed97cd672e..5dbfb2ee39 100644 --- a/asm/pokemon_1.s +++ b/asm/pokemon_1.s @@ -581,7 +581,7 @@ _080689E4: beq _080689CE _080689F4: adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080689CE @@ -827,7 +827,7 @@ _08068BE0: ldrb r0, [r1, 0x13] lsls r0, 3 orrs r2, r0 - ldr r1, =gTrainerClassToNameIndex + ldr r1, =gFacilityClassToTrainerClass ldr r0, =gUnknown_08329D54 lsls r2, 1 adds r2, r0 @@ -1310,8 +1310,8 @@ _08068FF4: bx r0 thumb_func_end CalculateMonStats - thumb_func_start sub_8069004 -sub_8069004: @ 8069004 + thumb_func_start BoxMonToMon +BoxMonToMon: @ 8069004 push {r4,lr} sub sp, 0x4 adds r2, r0, 0 @@ -1346,7 +1346,7 @@ sub_8069004: @ 8069004 pop {r4} pop {r0} bx r0 - thumb_func_end sub_8069004 + thumb_func_end BoxMonToMon thumb_func_start GetLevelFromMonExp GetLevelFromMonExp: @ 8069054 diff --git a/asm/pokemon_animation.s b/asm/pokemon_animation.s deleted file mode 100644 index 870e658f72..0000000000 --- a/asm/pokemon_animation.s +++ /dev/null @@ -1,11782 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start nullsub_69 -nullsub_69: @ 817F3EC - bx lr - thumb_func_end nullsub_69 - - thumb_func_start sub_817F3F0 -sub_817F3F0: @ 817F3F0 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - mov r9, r0 - mov r8, r1 - adds r5, r2, 0 - adds r4, r3, 0 - lsls r5, 16 - negs r5, r5 - lsls r4, 16 - negs r4, r4 - lsrs r4, 16 - mov r0, r8 - lsls r0, 16 - asrs r0, 16 - mov r8, r0 - asrs r5, 16 - adds r1, r5, 0 - bl Cos - adds r6, r0, 0 - lsls r4, 16 - asrs r4, 16 - mov r0, r8 - adds r1, r4, 0 - bl Sin - subs r6, r0 - lsls r6, 16 - lsrs r6, 16 - mov r0, r8 - adds r1, r4, 0 - bl Cos - adds r2, r0, 0 - mov r0, r8 - adds r1, r5, 0 - str r2, [sp] - bl Sin - ldr r2, [sp] - adds r2, r0 - negs r5, r5 - negs r4, r4 - lsls r6, 16 - asrs r6, 16 - lsls r5, 16 - asrs r5, 16 - adds r6, r5 - mov r0, r9 - strh r6, [r0, 0x24] - lsls r2, 16 - asrs r2, 16 - lsls r4, 16 - asrs r4, 16 - adds r2, r4 - strh r2, [r0, 0x26] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_817F3F0 - - thumb_func_start GetSpeciesBackAnimId -GetSpeciesBackAnimId: @ 817F474 - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gUnknown_0860A8C8 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0817F48C - movs r0, 0 - b _0817F492 - .pool -_0817F48C: - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 -_0817F492: - pop {r1} - bx r1 - thumb_func_end GetSpeciesBackAnimId - - thumb_func_start sub_817F498 -sub_817F498: @ 817F498 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r6, r5, 2 - adds r0, r6, r5 - lsls r0, 3 - adds r2, r0, r1 - movs r3, 0xA - ldrsh r0, [r2, r3] - lsls r3, r0, 16 - movs r4, 0xC - ldrsh r0, [r2, r4] - orrs r3, r0 - movs r0, 0x8 - ldrsh r4, [r2, r0] - mov r8, r1 - ldr r0, =SpriteCallbackDummy - mov r12, r0 - cmp r4, 0 - bne _0817F508 - ldrh r0, [r3, 0x2E] - strh r0, [r2, 0x10] - ldrh r0, [r3, 0x32] - strh r0, [r2, 0x12] - movs r0, 0x1 - strh r0, [r3, 0x30] - strh r4, [r3, 0x2E] - movs r0, 0x2 - adds r1, r6, 0 - ldr r6, =gUnknown_0860AA88 - ldr r7, =gUnknown_03001274 - movs r4, 0 - adds r2, r3, 0 - adds r2, 0x32 -_0817F4E2: - strh r4, [r2] - adds r2, 0x2 - adds r0, 0x1 - cmp r0, 0x7 - bls _0817F4E2 - adds r1, r5 - lsls r1, 3 - add r1, r8 - movs r2, 0xE - ldrsh r0, [r1, r2] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - str r0, [r3, 0x1C] - movs r0, 0 - str r0, [r7] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0817F508: - ldr r0, [r3, 0x1C] - cmp r0, r12 - bne _0817F528 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - add r0, r8 - ldrh r1, [r0, 0x10] - movs r2, 0 - strh r1, [r3, 0x2E] - ldrh r0, [r0, 0x12] - strh r0, [r3, 0x32] - strh r2, [r3, 0x30] - adds r0, r5, 0 - bl DestroyTask -_0817F528: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817F498 - - thumb_func_start LaunchAnimationTaskForFrontSprite -LaunchAnimationTaskForFrontSprite: @ 817F544 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r4, r1, 24 - lsrs r4, 24 - ldr r0, =sub_817F498 - movs r1, 0x80 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - lsrs r0, r5, 16 - strh r0, [r1, 0xA] - strh r5, [r1, 0xC] - strh r4, [r1, 0xE] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end LaunchAnimationTaskForFrontSprite - - thumb_func_start sub_817F578 -sub_817F578: @ 817F578 - lsls r1, 24 - ldr r3, =gUnknown_03001274 - movs r2, 0x1 - str r2, [r3] - ldr r2, =gUnknown_0860AA88 - lsrs r1, 22 - adds r1, r2 - ldr r1, [r1] - str r1, [r0, 0x1C] - bx lr - .pool - thumb_func_end sub_817F578 - - thumb_func_start LaunchAnimationTaskForBackSprite -LaunchAnimationTaskForBackSprite: @ 817F594 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r6, r1, 24 - lsrs r6, 24 - ldr r0, =sub_817F498 - movs r1, 0x80 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - lsrs r0, r5, 16 - strh r0, [r4, 0xA] - strh r5, [r4, 0xC] - ldrh r0, [r5, 0x2E] - lsls r0, 24 - ldr r1, =gBattlePartyID - lsrs r0, 23 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - lsls r1, r6, 1 - ldr r2, =gUnknown_0860AD2F - adds r0, r2 - adds r1, r6 - ldrb r0, [r0] - adds r1, r0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, =gUnknown_0860ACE4 - adds r1, r0 - ldrb r0, [r1] - strh r0, [r4, 0xE] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end LaunchAnimationTaskForBackSprite - - thumb_func_start sub_817F60C -sub_817F60C: @ 817F60C - ldr r1, =nullsub_69 - str r1, [r0, 0x1C] - bx lr - .pool - thumb_func_end sub_817F60C - - thumb_func_start sub_817F618 -sub_817F618: @ 817F618 - push {r4,r5,lr} - sub sp, 0x10 - lsls r1, 16 - lsls r3, 16 - lsrs r3, 16 - ldr r4, =0xffff0000 - lsls r2, 16 - lsrs r1, 16 - orrs r1, r2 - str r1, [sp] - ldr r1, [sp, 0x4] - ands r1, r4 - orrs r1, r3 - str r1, [sp, 0x4] - ldrb r4, [r0, 0x3] - lsls r4, 26 - lsrs r4, 27 - add r5, sp, 0x8 - mov r0, sp - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ObjAffineSet - ldr r0, =gOamMatrices - lsls r4, 3 - adds r4, r0 - ldrh r0, [r5] - strh r0, [r4] - ldrh r0, [r5, 0x2] - strh r0, [r4, 0x2] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x4] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x6] - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817F618 - - thumb_func_start sub_817F670 -sub_817F670: @ 817F670 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, =gUnknown_0860AD68 - str r0, [r4, 0x10] - ldr r0, =gUnknown_03001274 - ldr r0, [r0] - cmp r0, 0x1 - bne _0817F68E - adds r0, r4, 0 - bl InitSpriteAffineAnim -_0817F68E: - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0817F6A8 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - b _0817F6B0 - .pool -_0817F6A8: - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAffineAnim -_0817F6B0: - ldrb r3, [r4, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - adds r0, r4, 0 - bl CalcCenterToCornerVec - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_817F670 - - thumb_func_start sub_817F6D4 -sub_817F6D4: @ 817F6D4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 16 - lsrs r3, 16 - movs r5, 0x30 - ldrsh r0, [r4, r5] - cmp r0, 0 - bne _0817F6F8 - lsls r0, r1, 16 - negs r0, r0 - lsrs r1, r0, 16 - negs r0, r3 - lsls r0, 16 - lsrs r3, r0, 16 -_0817F6F8: - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - bl sub_817F618 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_817F6D4 - - thumb_func_start sub_817F70C -sub_817F70C: @ 817F70C - push {lr} - adds r1, r0, 0 - movs r2, 0x30 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0817F720 - movs r2, 0x24 - ldrsh r0, [r1, r2] - negs r0, r0 - strh r0, [r1, 0x24] -_0817F720: - pop {r0} - bx r0 - thumb_func_end sub_817F70C - - thumb_func_start sub_817F724 -sub_817F724: @ 817F724 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bhi _0817F750 - ldr r1, =gUnknown_03001240 - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r2, 0 - strh r2, [r0, 0x6] - strh r2, [r0] - movs r1, 0x1 - strh r1, [r0, 0x4] - strh r2, [r0, 0x2] - strh r2, [r0, 0x8] - movs r0, 0x1 - b _0817F752 - .pool -_0817F750: - movs r0, 0 -_0817F752: - pop {r1} - bx r1 - thumb_func_end sub_817F724 - - thumb_func_start sub_817F758 -sub_817F758: @ 817F758 - push {r4,lr} - ldr r4, =gUnknown_03001270 - ldrb r1, [r4] - adds r2, r1, 0x1 - adds r0, r2, 0 - asrs r0, 2 - lsls r0, 2 - subs r0, r2, r0 - strb r0, [r4] - ldrb r0, [r4] - bl sub_817F724 - ldrb r0, [r4] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_817F758 - - thumb_func_start sub_817F77C -sub_817F77C: @ 817F77C - push {r4,r5,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x1] - movs r3, 0x4 - negs r3, r3 - ands r3, r0 - movs r5, 0x1 - orrs r3, r5 - strb r3, [r4, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - adds r0, r4, 0 - bl CalcCenterToCornerVec - ldr r0, =gUnknown_03001274 - ldr r0, [r0] - cmp r0, 0x1 - bne _0817F800 - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0817F7C0 - adds r1, r4, 0 - adds r1, 0x3F - ldrb r0, [r1] - orrs r0, r5 - strb r0, [r1] - adds r5, r1, 0 - b _0817F7D0 - .pool -_0817F7C0: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r2, [r0] - movs r1, 0x2 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - adds r5, r0, 0 -_0817F7D0: - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r2, [r4, 0x3] - lsls r1, r2, 26 - lsrs r1, 27 - ldrb r0, [r5] - lsls r0, 31 - lsrs r0, 31 - lsls r0, 3 - orrs r1, r0 - lsls r1, 1 - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x3] - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] -_0817F800: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_817F77C - - thumb_func_start pokemonanimfunc_01 -pokemonanimfunc_01: @ 817F808 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0817F81A - adds r0, r6, 0 - bl sub_817F670 -_0817F81A: - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0x28 - ble _0817F840 - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _0817F88C - .pool -_0817F840: - movs r1, 0x32 - ldrsh r0, [r6, r1] - lsls r0, 9 - movs r1, 0x28 - bl __divsi3 - adds r4, r0, 0 - cmp r0, 0 - bge _0817F854 - adds r4, 0xFF -_0817F854: - asrs r4, 8 - lsls r4, 8 - subs r4, r0, r4 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0x20 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r5, r1, 0 - adds r0, r5 - strh r0, [r6, 0x36] - adds r0, r4, 0 - movs r1, 0x20 - bl Cos - adds r0, r5 - strh r0, [r6, 0x38] - movs r0, 0x36 - ldrsh r1, [r6, r0] - movs r0, 0x38 - ldrsh r2, [r6, r0] - adds r0, r6, 0 - movs r3, 0 - bl sub_817F6D4 -_0817F88C: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_01 - - thumb_func_start pokemonanimfunc_02 -pokemonanimfunc_02: @ 817F898 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x32] - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r0, 0x28 - ble _0817F8B4 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - b _0817F8EE - .pool -_0817F8B4: - movs r0, 0x1 - ands r0, r1 - movs r5, 0xFF - cmp r0, 0 - bne _0817F8C0 - movs r5, 0x1 -_0817F8C0: - movs r1, 0x32 - ldrsh r0, [r4, r1] - lsls r0, 7 - movs r1, 0x28 - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _0817F8D4 - adds r0, 0xFF -_0817F8D4: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x6 - bl Sin - lsls r1, r5, 24 - asrs r1, 24 - adds r2, r0, 0 - muls r2, r1 - adds r0, r2, 0 -_0817F8EE: - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_02 - - thumb_func_start sub_817F8FC -sub_817F8FC: @ 817F8FC - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _0817F91C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - b _0817F946 - .pool -_0817F91C: - movs r0, 0x32 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 7 - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _0817F936 - adds r0, 0xFF -_0817F936: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x6 - bl Sin -_0817F946: - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_817F8FC - - thumb_func_start pokemonanimfunc_03 -pokemonanimfunc_03: @ 817F95C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x28 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_817F8FC - ldr r0, =sub_817F8FC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_03 - - thumb_func_start sub_817F978 -sub_817F978: @ 817F978 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _0817F998 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - b _0817F9C4 - .pool -_0817F998: - movs r0, 0x32 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 7 - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _0817F9B2 - adds r0, 0xFF -_0817F9B2: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x6 - bl Sin - negs r0, r0 -_0817F9C4: - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_817F978 - - thumb_func_start pokemonanimfunc_04 -pokemonanimfunc_04: @ 817F9D8 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x28 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_817F978 - ldr r0, =sub_817F978 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_04 - - thumb_func_start sub_817F9F4 -sub_817F9F4: @ 817F9F4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r0, 0xC0 - lsls r0, 1 - cmp r1, r0 - ble _0817FA14 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x24] - b _0817FA5E - .pool -_0817FA14: - adds r0, r1, 0 - cmp r1, 0 - bge _0817FA1C - adds r0, 0x7F -_0817FA1C: - asrs r2, r0, 7 - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0 - blt _0817FA60 - cmp r0, 0x1 - ble _0817FA48 - cmp r0, 0x3 - bgt _0817FA60 - ldr r2, =0xffffff00 - adds r1, r2 - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x2E - ldrsh r2, [r4, r1] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 16 - b _0817FA56 - .pool -_0817FA48: - lsls r0, r2, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r2, 0x2E - ldrsh r1, [r4, r2] - lsls r1, 17 -_0817FA56: - asrs r1, 16 - bl Sin - negs r0, r0 -_0817FA5E: - strh r0, [r4, 0x26] -_0817FA60: - ldrh r0, [r4, 0x32] - adds r0, 0xC - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_817F9F4 - - thumb_func_start pokemonanimfunc_1E -pokemonanimfunc_1E: @ 817FA6C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x4 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_817F9F4 - ldr r0, =sub_817F9F4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_1E - - thumb_func_start pokemonanimfunc_06 -pokemonanimfunc_06: @ 817FA88 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r0, 0xC0 - lsls r0, 2 - cmp r2, r0 - ble _0817FAA8 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x24] - b _0817FB56 - .pool -_0817FAA8: - adds r0, r2, 0 - cmp r2, 0 - bge _0817FAB0 - adds r0, 0x7F -_0817FAB0: - lsls r0, 9 - asrs r0, 16 - cmp r0, 0x5 - bhi _0817FB3C - lsls r0, 2 - ldr r1, =_0817FAC8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0817FAC8: - .4byte _0817FAE0 - .4byte _0817FAE0 - .4byte _0817FAE4 - .4byte _0817FAE8 - .4byte _0817FB04 - .4byte _0817FB1E -_0817FAE0: - movs r0, 0 - b _0817FB3A -_0817FAE4: - movs r2, 0 - b _0817FB3C -_0817FAE8: - adds r0, r2, 0 - cmp r2, 0 - bge _0817FAF0 - adds r0, 0x7F -_0817FAF0: - asrs r0, 7 - lsls r0, 7 - subs r0, r2, r0 - lsls r0, 3 - negs r0, r0 - cmp r0, 0 - bge _0817FB00 - adds r0, 0x7F -_0817FB00: - asrs r0, 7 - b _0817FB3A -_0817FB04: - adds r0, r2, 0 - cmp r2, 0 - bge _0817FB0C - adds r0, 0x7F -_0817FB0C: - asrs r0, 7 - lsls r0, 7 - subs r0, r2, r0 - cmp r0, 0 - bge _0817FB18 - adds r0, 0x7 -_0817FB18: - asrs r0, 3 - subs r0, 0x8 - b _0817FB3A -_0817FB1E: - adds r0, r2, 0 - cmp r2, 0 - bge _0817FB26 - adds r0, 0x7F -_0817FB26: - asrs r0, 7 - lsls r0, 7 - subs r0, r2, r0 - lsls r0, 3 - negs r0, r0 - cmp r0, 0 - bge _0817FB36 - adds r0, 0x7F -_0817FB36: - asrs r0, 7 - adds r0, 0x8 -_0817FB3A: - strh r0, [r4, 0x24] -_0817FB3C: - adds r0, r2, 0 - cmp r2, 0 - bge _0817FB44 - adds r0, 0x7F -_0817FB44: - asrs r0, 7 - lsls r0, 7 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - negs r0, r0 -_0817FB56: - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0xC - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_06 - - thumb_func_start pokemonanimfunc_09 -pokemonanimfunc_09: @ 817FB64 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0817FB76 - adds r0, r6, 0 - bl sub_817F670 -_0817FB76: - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0x28 - ble _0817FB9C - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _0817FC12 - .pool -_0817FB9C: - movs r1, 0x32 - ldrsh r0, [r6, r1] - lsls r0, 8 - movs r1, 0x28 - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _0817FBB0 - adds r0, 0xFF -_0817FBB0: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - lsrs r4, r0, 16 - ldrh r0, [r6, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0817FBE0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0x20 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r5, r1, 0 - adds r0, r5 - strh r0, [r6, 0x36] - adds r0, r4, 0 - movs r1, 0x20 - b _0817FBFA -_0817FBE0: - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0x8 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r5, r1, 0 - adds r0, r5 - strh r0, [r6, 0x36] - adds r0, r4, 0 - movs r1, 0x8 -_0817FBFA: - bl Sin - adds r0, r5 - strh r0, [r6, 0x38] - movs r0, 0x36 - ldrsh r1, [r6, r0] - movs r0, 0x38 - ldrsh r2, [r6, r0] - adds r0, r6, 0 - movs r3, 0 - bl sub_817F6D4 -_0817FC12: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_09 - - thumb_func_start sub_817FC20 -sub_817FC20: @ 817FC20 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0817FC32 - strh r0, [r4, 0x34] -_0817FC32: - ldr r2, =gUnknown_0860AD70 - movs r5, 0x34 - ldrsh r1, [r4, r5] - lsls r0, r1, 1 - adds r0, r1 - adds r1, r2, 0x2 - adds r3, r0, r1 - movs r1, 0 - ldrsb r1, [r3, r1] - movs r5, 0x32 - ldrsh r0, [r4, r5] - cmp r1, r0 - bne _0817FC6A - adds r0, r1, 0 - cmp r0, 0 - bne _0817FC60 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _0817FC6A - .pool -_0817FC60: - ldrh r0, [r4, 0x34] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x34] - strh r1, [r4, 0x32] -_0817FC6A: - movs r0, 0x34 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r1, r0, r1 - adds r0, r2, 0x2 - adds r0, r1, r0 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _0817FC8C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _0817FCBE - .pool -_0817FC8C: - adds r0, r1, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r5, 0x34 - ldrsh r1, [r4, r5] - lsls r0, r1, 1 - adds r0, r1 - adds r1, r2, 0x1 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F70C -_0817FCBE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_817FC20 - - thumb_func_start pokemonanimfunc_0A -pokemonanimfunc_0A: @ 817FCC4 - push {r4,lr} - adds r4, r0, 0 - bl sub_817FC20 - ldr r0, =sub_817FC20 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_0A - - thumb_func_start sub_817FCDC -sub_817FCDC: @ 817FCDC - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r0, 0x90 - lsls r0, 4 - cmp r1, r0 - ble _0817FCF8 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - b _0817FD12 - .pool -_0817FCF8: - adds r0, r1, 0 - cmp r1, 0 - bge _0817FD00 - adds r0, 0xFF -_0817FD00: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r2, 0x3C - ldrsh r1, [r4, r2] - bl Sin -_0817FD12: - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x2E] - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_817FCDC - - thumb_func_start pokemonanimfunc_0F -pokemonanimfunc_0F: @ 817FD24 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x3C - strh r0, [r4, 0x2E] - movs r0, 0x3 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_817FCDC - ldr r0, =sub_817FCDC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_0F - - thumb_func_start sub_817FD44 -sub_817FD44: @ 817FD44 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r0, 0x90 - lsls r0, 4 - cmp r1, r0 - ble _0817FD60 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - b _0817FD78 - .pool -_0817FD60: - adds r0, r1, 0 - cmp r1, 0 - bge _0817FD68 - adds r0, 0xFF -_0817FD68: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x3 - bl Sin -_0817FD78: - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_817FD44 - - thumb_func_start pokemonanimfunc_10 -pokemonanimfunc_10: @ 817FD88 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x3C - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_817FD44 - ldr r0, =sub_817FD44 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_10 - - thumb_func_start pokemonanimfunc_11 -pokemonanimfunc_11: @ 817FDA4 - push {r4-r7,lr} - adds r7, r0, 0 - ldrh r2, [r7, 0x32] - movs r0, 0x32 - ldrsh r1, [r7, r0] - movs r0, 0x80 - lsls r0, 2 - cmp r1, r0 - ble _0817FDC8 - ldr r0, =sub_8184D88 - str r0, [r7, 0x1C] - movs r0, 0 - strh r0, [r7, 0x24] - strh r0, [r7, 0x26] - b _0817FE24 - .pool -_0817FDC8: - movs r0, 0x1 - ands r0, r2 - movs r5, 0xFF - cmp r0, 0 - bne _0817FDD4 - movs r5, 0x1 -_0817FDD4: - movs r1, 0x32 - ldrsh r0, [r7, r1] - cmp r0, 0 - bge _0817FDDE - adds r0, 0x3 -_0817FDDE: - asrs r0, 2 - movs r1, 0x8 - bl Sin - lsls r0, 16 - asrs r6, r0, 16 - movs r0, 0x32 - ldrsh r1, [r7, r0] - adds r4, r1, 0 - cmp r1, 0 - bge _0817FDF6 - adds r4, 0xFF -_0817FDF6: - asrs r4, 8 - lsls r4, 8 - subs r4, r1, r4 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - adds r1, r6, 0 - bl Sin - lsls r5, 24 - asrs r5, 24 - adds r1, r0, 0 - muls r1, r5 - adds r0, r1, 0 - strh r0, [r7, 0x26] - adds r0, r4, 0 - adds r1, r6, 0 - bl Cos - adds r1, r0, 0 - muls r1, r5 - adds r0, r1, 0 - strh r0, [r7, 0x24] -_0817FE24: - ldrh r0, [r7, 0x32] - adds r0, 0x9 - strh r0, [r7, 0x32] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_11 - - thumb_func_start sub_817FE30 -sub_817FE30: @ 817FE30 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r2, =gUnknown_03001240 - ldrh r6, [r4, 0x2E] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r5, r0, r2 - ldrh r0, [r5] - cmp r0, 0 - beq _0817FE54 - subs r0, 0x1 - strh r0, [r5] - b _0817FEF8 - .pool -_0817FE54: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0817FE70 - movs r2, 0x8 - ldrsh r0, [r5, r2] - cmp r0, 0 - bne _0817FE70 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_0817FE70: - ldr r2, =gUnknown_03001240 - lsls r1, r6, 16 - asrs r1, 16 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r5, r0, r2 - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r2, 0x6 - ldrsh r0, [r5, r2] - cmp r1, r0 - ble _0817FEC4 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - ldrh r1, [r5, 0x4] - movs r2, 0x4 - ldrsh r0, [r5, r2] - cmp r0, 0x1 - ble _0817FEB4 - subs r0, r1, 0x1 - movs r1, 0 - strh r0, [r5, 0x4] - movs r0, 0xA - strh r0, [r5] - strh r1, [r4, 0x32] - b _0817FEF2 - .pool -_0817FEB4: - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _0817FEF2 - .pool -_0817FEC4: - movs r0, 0x32 - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _0817FED0 - adds r0, 0xFF -_0817FED0: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x80 - lsls r1, 5 - bl Sin - strh r0, [r4, 0x3A] - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3A] - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 -_0817FEF2: - ldrh r0, [r4, 0x32] - adds r0, 0x10 - strh r0, [r4, 0x32] -_0817FEF8: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_817FE30 - - thumb_func_start pokemonanimfunc_12 -pokemonanimfunc_12: @ 817FF00 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - movs r3, 0 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x80 - lsls r0, 2 - strh r0, [r1, 0x6] - strh r3, [r1] - adds r0, r4, 0 - bl sub_817FE30 - ldr r0, =sub_817FE30 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_12 - - thumb_func_start sub_817FF3C -sub_817FF3C: @ 817FF3C - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0817FF54 - adds r0, r4, 0 - bl sub_817F670 -_0817FF54: - movs r2, 0x32 - ldrsh r6, [r4, r2] - ldr r1, =gUnknown_03001240 - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0] - cmp r6, r1 - ble _0817FF8C - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _0817FFAA - .pool -_0817FF8C: - movs r2, 0x8 - ldrsh r1, [r0, r2] - movs r0, 0x80 - lsls r0, 9 - bl __divsi3 - muls r0, r6 - strh r0, [r4, 0x3A] - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3A] - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 -_0817FFAA: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_817FF3C - - thumb_func_start pokemonanimfunc_1F -pokemonanimfunc_1F: @ 817FFB8 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x3C - strh r0, [r1] - movs r0, 0x14 - strh r0, [r1, 0x8] - adds r0, r4, 0 - bl sub_817FF3C - ldr r0, =sub_817FF3C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_1F - - thumb_func_start sub_817FFF0 -sub_817FFF0: @ 817FFF0 - push {r4-r7,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x2E] - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r5, 0 - bl sub_817F70C - ldr r1, =gUnknown_03001240 - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 2 - adds r6, r0, r1 - movs r0, 0x32 - ldrsh r1, [r5, r0] - movs r2, 0x6 - ldrsh r0, [r6, r2] - cmp r1, r0 - ble _0818002C - movs r0, 0 - strh r0, [r5, 0x24] - strh r0, [r5, 0x26] - ldr r0, =sub_8184D88 - str r0, [r5, 0x1C] - b _0818006A - .pool -_0818002C: - movs r0, 0x32 - ldrsh r1, [r5, r0] - adds r0, r1, 0 - adds r0, 0xC0 - adds r4, r0, 0 - cmp r0, 0 - bge _0818003E - ldr r2, =0x000001bf - adds r4, r1, r2 -_0818003E: - asrs r4, 8 - lsls r4, 8 - subs r4, r0, r4 - lsls r4, 16 - asrs r4, 16 - movs r0, 0x8 - ldrsh r1, [r6, r0] - lsls r1, 17 - asrs r1, 16 - adds r0, r4, 0 - bl Cos - negs r0, r0 - strh r0, [r5, 0x24] - movs r2, 0x8 - ldrsh r1, [r6, r2] - adds r0, r4, 0 - bl Sin - ldrh r1, [r6, 0x8] - adds r0, r1 - strh r0, [r5, 0x26] -_0818006A: - ldr r0, =gUnknown_03001240 - lsls r1, r7, 1 - adds r1, r7 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x2] - ldrh r1, [r5, 0x32] - adds r0, r1 - strh r0, [r5, 0x32] - adds r0, r5, 0 - bl sub_817F70C - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_817FFF0 - - thumb_func_start pokemonanimfunc_14 -pokemonanimfunc_14: @ 8180090 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x80 - lsls r0, 2 - strh r0, [r1, 0x6] - movs r0, 0x6 - strh r0, [r1, 0x8] - movs r0, 0x18 - strh r0, [r1, 0x2] - adds r0, r4, 0 - bl sub_817FFF0 - ldr r0, =sub_817FFF0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_14 - - thumb_func_start pokemonanimfunc_15 -pokemonanimfunc_15: @ 81800D0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081800EC - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - adds r0, r1 - strh r0, [r4, 0x3C] -_081800EC: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x80 - ble _0818010C - ldrh r0, [r4, 0x3C] - movs r1, 0x10 - movs r2, 0 - movs r3, 0 - bl BlendPalette - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08180128 - .pool -_0818010C: - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0x10 - bl Sin - adds r2, r0, 0 - strh r2, [r4, 0x3A] - ldrh r0, [r4, 0x3C] - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x10 - movs r3, 0 - bl BlendPalette -_08180128: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_15 - - thumb_func_start pokemonanimfunc_16 -pokemonanimfunc_16: @ 8180134 - push {r4-r7,lr} - adds r6, r0, 0 - movs r7, 0 - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _08180148 - adds r0, r6, 0 - bl sub_817F670 -_08180148: - ldrh r5, [r6, 0x32] - movs r2, 0x32 - ldrsh r0, [r6, r2] - cmp r0, 0x28 - ble _08180170 - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _08180204 - .pool -_08180170: - movs r1, 0x32 - ldrsh r0, [r6, r1] - lsls r0, 7 - movs r1, 0x28 - bl __divsi3 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r5, 0 - subs r0, 0xA - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x13 - bhi _08180196 - ldrh r0, [r6, 0x3C] - adds r0, 0x33 - strh r0, [r6, 0x3C] - movs r7, 0xFF - ands r7, r0 -_08180196: - movs r2, 0x30 - ldrsh r0, [r6, r2] - cmp r0, 0 - bne _081801C4 - lsls r5, r4, 16 - asrs r0, r5, 16 - movs r1, 0x28 - bl Sin - adds r4, r0, 0 - adds r0, r7, 0 - movs r1, 0x10 - bl Sin - ldr r1, =0xffffff00 - adds r0, r1 - adds r4, r0 - strh r4, [r6, 0x36] - adds r4, r5, 0 - b _081801E4 - .pool -_081801C4: - adds r0, r7, 0 - movs r1, 0x10 - bl Sin - adds r5, r0, 0 - lsls r4, 16 - asrs r0, r4, 16 - movs r1, 0x28 - bl Sin - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - subs r1, r5 - subs r1, r0 - strh r1, [r6, 0x36] -_081801E4: - asrs r0, r4, 16 - movs r1, 0x10 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r0, [r6, 0x38] - movs r2, 0x36 - ldrsh r1, [r6, r2] - movs r0, 0x38 - ldrsh r2, [r6, r0] - adds r0, r6, 0 - movs r3, 0 - bl sub_817F618 -_08180204: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_16 - - thumb_func_start pokemonanimfunc_17 -pokemonanimfunc_17: @ 8180210 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - movs r0, 0 - mov r8, r0 - movs r7, 0 - movs r1, 0x32 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0818022C - adds r0, r5, 0 - bl sub_817F670 -_0818022C: - ldrh r6, [r5, 0x32] - movs r2, 0x32 - ldrsh r0, [r5, r2] - cmp r0, 0x28 - ble _08180258 - movs r2, 0x80 - lsls r2, 1 - adds r0, r5, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r5, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r5, 0x1C] - mov r0, r8 - strh r0, [r5, 0x26] - b _0818030A - .pool -_08180258: - movs r1, 0x32 - ldrsh r0, [r5, r1] - lsls r0, 7 - movs r1, 0x28 - bl __divsi3 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r6, 0 - subs r0, 0xA - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x13 - bhi _0818027E - ldrh r0, [r5, 0x3C] - adds r0, 0x33 - strh r0, [r5, 0x3C] - movs r7, 0xFF - ands r7, r0 -_0818027E: - movs r2, 0x30 - ldrsh r0, [r5, r2] - cmp r0, 0 - bne _081802A0 - lsls r4, 16 - asrs r0, r4, 16 - movs r1, 0x10 - bl Sin - ldr r2, =0xffffff00 - adds r1, r2, 0 - subs r1, r0 - strh r1, [r5, 0x36] - b _081802B2 - .pool -_081802A0: - lsls r4, 16 - asrs r0, r4, 16 - movs r1, 0x10 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r0, [r5, 0x36] -_081802B2: - adds r6, r4, 0 - adds r0, r7, 0 - movs r1, 0x8 - bl Sin - adds r4, r0, 0 - asrs r0, r6, 16 - movs r1, 0x28 - bl Sin - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - subs r4, r1, r4 - subs r4, r0 - strh r4, [r5, 0x38] - lsls r4, 16 - asrs r4, 16 - lsls r1, 16 - asrs r1, 16 - cmp r4, r1 - beq _081802F0 - movs r2, 0x38 - ldrsh r0, [r5, r2] - subs r0, r1, r0 - cmp r0, 0 - bge _081802EA - adds r0, 0x7 -_081802EA: - lsls r0, 13 - lsrs r0, 16 - mov r8, r0 -_081802F0: - mov r1, r8 - lsls r0, r1, 16 - asrs r0, 16 - negs r0, r0 - strh r0, [r5, 0x26] - movs r2, 0x36 - ldrsh r1, [r5, r2] - movs r0, 0x38 - ldrsh r2, [r5, r0] - adds r0, r5, 0 - movs r3, 0 - bl sub_817F618 -_0818030A: - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_17 - - thumb_func_start sub_818031C -sub_818031C: @ 818031C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r0, [r4, 0x3A] - lsls r0, 24 - lsrs r7, r0, 24 - ldr r2, =gUnknown_0860AA80 - movs r1, 0x38 - ldrsh r0, [r4, r1] - lsls r0, 1 - adds r1, r0, r2 - ldrb r5, [r1] - adds r2, 0x1 - adds r0, r2 - ldrb r6, [r0] - movs r1, 0 - cmp r5, 0xFE - beq _08180358 - subs r0, r6, r7 - muls r0, r5 - adds r1, r6, 0 - bl __divsi3 - lsls r0, 24 - lsrs r1, r0, 24 -_08180358: - cmp r5, 0xFF - bne _08180370 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x26] - b _08180394 - .pool -_08180370: - mov r0, r8 - bl Sin - strh r0, [r4, 0x26] - cmp r7, r6 - bne _08180386 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - movs r0, 0 - b _08180392 -_08180386: - ldrh r0, [r4, 0x2E] - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x3A] - adds r0, 0x1 -_08180392: - strh r0, [r4, 0x3A] -_08180394: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_818031C - - thumb_func_start pokemonanimfunc_19 -pokemonanimfunc_19: @ 81803A0 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x30 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_818031C - ldr r0, =sub_818031C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_19 - - thumb_func_start pokemonanimfunc_1A -pokemonanimfunc_1A: @ 81803BC - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x32] - lsls r7, r0, 24 - lsrs r5, r7, 24 - mov r8, r5 - cmp r0, 0 - bne _081803DA - adds r0, r4, 0 - bl sub_817F670 -_081803DA: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x23 - ble _08180404 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x24] - b _0818045E - .pool -_08180404: - adds r6, r5, 0 - subs r6, 0xA - lsls r0, r6, 7 - movs r1, 0x14 - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r5, 0x9 - bhi _0818042A - movs r2, 0x80 - lsls r2, 1 - lsrs r3, r7, 25 - lsls r3, 9 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - b _0818045E -_0818042A: - lsls r0, r6, 24 - lsrs r0, 24 - cmp r0, 0x13 - bhi _08180442 - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x5 - bl Sin - negs r0, r0 - strh r0, [r4, 0x24] - b _0818045E -_08180442: - movs r2, 0x80 - lsls r2, 1 - movs r3, 0x23 - mov r0, r8 - subs r3, r0 - lsrs r0, r3, 31 - adds r3, r0 - asrs r3, 1 - lsls r3, 26 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 -_0818045E: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F70C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_1A - - thumb_func_start pokemonanimfunc_1B -pokemonanimfunc_1B: @ 8180474 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _08180486 - adds r0, r6, 0 - bl sub_817F670 -_08180486: - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0x64 - ble _081804B0 - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - movs r0, 0 - strh r0, [r6, 0x26] - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _081804E8 - .pool -_081804B0: - movs r1, 0x32 - ldrsh r0, [r6, r1] - lsls r0, 8 - movs r1, 0x64 - bl __divsi3 - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0xA - bl Sin - strh r0, [r6, 0x26] - movs r5, 0x80 - lsls r5, 1 - ldr r1, =0x00000ccc - adds r0, r4, 0 - bl Sin - adds r3, r0, 0 - lsls r3, 16 - lsrs r3, 16 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r5, 0 - bl sub_817F6D4 -_081804E8: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_1B - - thumb_func_start sub_81804F8 -sub_81804F8: @ 81804F8 - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0818050C - adds r0, r6, 0 - bl sub_817F670 -_0818050C: - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0x64 - ble _08180534 - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - strh r5, [r6, 0x26] - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _08180582 - .pool -_08180534: - movs r0, 0x32 - ldrsh r5, [r6, r0] - lsls r0, r5, 8 - movs r1, 0x64 - bl __divsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 9 - adds r0, r5, 0 - movs r1, 0x64 - bl __divsi3 - adds r5, r0, 0 - movs r0, 0xFF - ands r5, r0 - lsls r4, 16 - asrs r4, 16 - movs r0, 0x2E - ldrsh r1, [r6, r0] - adds r0, r4, 0 - bl Sin - strh r0, [r6, 0x26] - movs r4, 0x80 - lsls r4, 1 - adds r0, r5, 0 - ldr r1, =0x00000ccc - bl Sin - adds r3, r0, 0 - lsls r3, 16 - lsrs r3, 16 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r4, 0 - bl sub_817F6D4 -_08180582: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81804F8 - - thumb_func_start pokemonanimfunc_1C -pokemonanimfunc_1C: @ 8180594 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0xA - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_81804F8 - ldr r0, =sub_81804F8 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_1C - - thumb_func_start sub_81805B0 -sub_81805B0: @ 81805B0 - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _081805C4 - adds r0, r6, 0 - bl sub_817F670 -_081805C4: - movs r2, 0x32 - ldrsh r0, [r6, r2] - cmp r0, 0x64 - ble _081805EC - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - strh r5, [r6, 0x26] - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _08180644 - .pool -_081805EC: - movs r0, 0x32 - ldrsh r5, [r6, r0] - lsls r0, r5, 8 - movs r1, 0x64 - bl __divsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 9 - adds r0, r5, 0 - movs r1, 0x64 - bl __divsi3 - adds r5, r0, 0 - movs r0, 0xFF - ands r5, r0 - lsls r4, 16 - asrs r0, r4, 16 - lsrs r4, 31 - adds r0, r4 - asrs r0, 1 - movs r2, 0x2E - ldrsh r1, [r6, r2] - lsls r1, 17 - asrs r1, 16 - bl Sin - negs r0, r0 - strh r0, [r6, 0x26] - movs r4, 0x80 - lsls r4, 1 - adds r0, r5, 0 - ldr r1, =0x00000ccc - bl Sin - adds r3, r0, 0 - lsls r3, 16 - lsrs r3, 16 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r4, 0 - bl sub_817F6D4 -_08180644: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81805B0 - - thumb_func_start pokemonanimfunc_18 -pokemonanimfunc_18: @ 8180654 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_81805B0 - ldr r0, =sub_81805B0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_18 - - thumb_func_start pokemonanimfunc_1D -pokemonanimfunc_1D: @ 8180670 - push {r4-r6,lr} - adds r6, r0, 0 - bl sub_817F70C - movs r5, 0 - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _08180688 - adds r0, r6, 0 - bl sub_817F670 -_08180688: - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0x64 - ble _081806B0 - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - strh r5, [r6, 0x24] - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _081806FC - .pool -_081806B0: - movs r0, 0x32 - ldrsh r5, [r6, r0] - lsls r0, r5, 8 - movs r1, 0x64 - bl __divsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 9 - adds r0, r5, 0 - movs r1, 0x64 - bl __divsi3 - adds r5, r0, 0 - movs r0, 0xFF - ands r5, r0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0x8 - bl Sin - strh r0, [r6, 0x24] - movs r4, 0x80 - lsls r4, 1 - adds r0, r5, 0 - ldr r1, =0x00000ccc - bl Sin - adds r3, r0, 0 - lsls r3, 16 - lsrs r3, 16 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r4, 0 - bl sub_817F6D4 -_081806FC: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] - adds r0, r6, 0 - bl sub_817F70C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_1D - - thumb_func_start sub_8180714 -sub_8180714: @ 8180714 - push {r4-r6,lr} - adds r4, r0, 0 - movs r6, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0818072A - adds r0, r4, 0 - bl sub_817F670 - strh r6, [r4, 0x34] -_0818072A: - adds r0, r4, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - cmp r2, r0 - ble _08180760 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - strh r6, [r4, 0x26] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _081807FE - .pool -_08180760: - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r1, 0x20 - bl Sin - movs r2, 0x80 - lsls r2, 1 - adds r0, r2 - lsls r0, 16 - lsrs r5, r0, 16 - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _08180796 - adds r2, r0, 0 - lsls r0, r2, 1 - cmp r1, r0 - bge _08180796 - movs r0, 0x80 - adds r1, r2, 0 - bl __divsi3 - ldrh r1, [r4, 0x34] - adds r1, r0 - strh r1, [r4, 0x34] -_08180796: - lsls r0, r5, 16 - asrs r1, r0, 16 - movs r2, 0x80 - lsls r2, 1 - adds r5, r0, 0 - cmp r1, r2 - ble _081807B0 - subs r0, r2, r1 - cmp r0, 0 - bge _081807AC - adds r0, 0x7 -_081807AC: - lsls r0, 13 - lsrs r6, r0, 16 -_081807B0: - movs r1, 0x34 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl Sin - negs r0, r0 - lsls r1, r6, 16 - asrs r1, 16 - subs r0, r1 - strh r0, [r4, 0x26] - movs r2, 0x36 - ldrsh r0, [r4, r2] - movs r1, 0x20 - bl Sin - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - asrs r2, r5, 16 - adds r0, r4, 0 - movs r3, 0 - bl sub_817F6D4 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - movs r0, 0x2E - ldrsh r1, [r4, r0] - movs r0, 0x80 - bl __divsi3 - ldrh r1, [r4, 0x36] - adds r1, r0 - movs r0, 0xFF - ands r1, r0 - strh r1, [r4, 0x36] -_081807FE: - adds r0, r4, 0 - bl sub_817F70C - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8180714 - - thumb_func_start pokemonanimfunc_00 -pokemonanimfunc_00: @ 818080C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x10 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_8180714 - ldr r0, =sub_8180714 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_00 - - thumb_func_start sub_8180828 -sub_8180828: @ 8180828 - push {r4-r6,lr} - adds r5, r0, 0 - movs r6, 0 - movs r0, 0x32 - ldrsh r4, [r5, r0] - movs r2, 0x3A - ldrsh r1, [r5, r2] - movs r0, 0x80 - bl __divsi3 - movs r2, 0x3C - ldrsh r1, [r5, r2] - muls r0, r1 - cmp r4, r0 - ble _08180868 - movs r2, 0x80 - lsls r2, 1 - adds r0, r5, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - strh r6, [r5, 0x26] - adds r0, r5, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r5, 0x1C] - b _081808D0 - .pool -_08180868: - movs r1, 0x36 - ldrsh r0, [r5, r1] - movs r1, 0x20 - bl Sin - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - adds r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - ble _08180894 - subs r0, r1, r0 - cmp r0, 0 - bge _08180890 - adds r0, 0x7 -_08180890: - lsls r0, 13 - lsrs r6, r0, 16 -_08180894: - lsls r0, r6, 16 - asrs r0, 16 - negs r0, r0 - strh r0, [r5, 0x26] - movs r1, 0x36 - ldrsh r0, [r5, r1] - movs r1, 0x30 - bl Sin - adds r1, r0, 0 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - lsls r2, r4, 16 - asrs r2, 16 - adds r0, r5, 0 - movs r3, 0 - bl sub_817F6D4 - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x3A] - ldrh r1, [r5, 0x36] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x36] -_081808D0: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8180828 - - thumb_func_start pokemonanimfunc_13 -pokemonanimfunc_13: @ 81808D8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081808F2 - adds r0, r4, 0 - bl sub_817F670 - movs r0, 0x3 - strh r0, [r4, 0x3C] - movs r0, 0x8 - strh r0, [r4, 0x3A] -_081808F2: - adds r0, r4, 0 - bl sub_8180828 - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_13 - - thumb_func_start sub_8180900 -sub_8180900: @ 8180900 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x2E] - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gUnknown_03001240 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x6] - str r1, [sp] - ldr r5, =gUnknown_0860AD8E - movs r3, 0x36 - ldrsh r2, [r4, r3] - lsls r1, r2, 1 - adds r1, r2 - movs r3, 0x8 - ldrsh r2, [r0, r3] - lsls r0, r2, 1 - adds r0, r2 - lsls r6, r0, 3 - adds r1, r6 - adds r2, r1, r5 - adds r0, r5, 0x1 - adds r1, r0 - movs r0, 0 - ldrsb r0, [r1, r0] - ldrb r2, [r2] - lsls r2, 24 - asrs r2, 24 - mov r9, r2 - subs r0, r2 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - ldrh r7, [r4, 0x34] - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0818096C - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] -_0818096C: - movs r2, 0x36 - ldrsh r1, [r4, r2] - lsls r0, r1, 1 - adds r0, r1 - adds r0, r6 - adds r5, 0x2 - mov r8, r5 - adds r1, r0, r5 - movs r5, 0 - ldrsb r5, [r1, r5] - cmp r5, 0 - bne _081809B0 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - strh r5, [r4, 0x24] - strh r5, [r4, 0x26] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08180A3A - .pool -_081809B0: - lsls r0, r7, 16 - asrs r5, r0, 16 - lsls r0, r5, 7 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - movs r1, 0xA - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - mov r3, r10 - lsls r0, r3, 16 - asrs r0, 16 - muls r0, r5 - movs r1, 0x36 - ldrsh r2, [r4, r1] - lsls r1, r2, 1 - adds r1, r2 - adds r1, r6 - add r1, r8 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - bl __divsi3 - add r0, r9 - strh r0, [r4, 0x24] - ldr r2, [sp] - lsls r0, r2, 16 - asrs r0, 16 - movs r3, 0x24 - ldrsh r1, [r4, r3] - muls r0, r1 - negs r0, r0 - cmp r0, 0 - bge _08180A04 - adds r0, 0x7 -_08180A04: - lsls r3, r0, 13 - lsrs r3, 16 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - movs r0, 0x36 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - adds r0, r6 - add r0, r8 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r5, r0 - bne _08180A34 - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - movs r0, 0 - b _08180A38 -_08180A34: - ldrh r0, [r4, 0x34] - adds r0, 0x1 -_08180A38: - strh r0, [r4, 0x34] -_08180A3A: - adds r0, r4, 0 - bl sub_817F70C - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8180900 - - thumb_func_start pokemonanimfunc_05 -pokemonanimfunc_05: @ 8180A50 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x80 - lsls r0, 5 - strh r0, [r1, 0x6] - ldrh r0, [r4, 0x3A] - strh r0, [r1, 0x8] - adds r0, r4, 0 - bl sub_8180900 - ldr r0, =sub_8180900 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_05 - - thumb_func_start pokemonanimfunc_20 -pokemonanimfunc_20: @ 8180A8C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08180AA8 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - adds r0, r1 - strh r0, [r4, 0x3C] -_08180AA8: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x80 - ble _08180ACC - ldrh r0, [r4, 0x3C] - ldr r3, =0x000002df - movs r1, 0x10 - movs r2, 0 - bl BlendPalette - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08180AE8 - .pool -_08180ACC: - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0xC - bl Sin - adds r2, r0, 0 - strh r2, [r4, 0x3A] - ldrh r0, [r4, 0x3C] - lsls r2, 24 - lsrs r2, 24 - ldr r3, =0x000002df - movs r1, 0x10 - bl BlendPalette -_08180AE8: - ldrh r0, [r4, 0x32] - adds r0, 0x2 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_20 - - thumb_func_start pokemonanimfunc_21 -pokemonanimfunc_21: @ 8180AF8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08180B14 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - adds r0, r1 - strh r0, [r4, 0x3C] -_08180B14: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x80 - ble _08180B34 - ldrh r0, [r4, 0x3C] - movs r1, 0x10 - movs r2, 0 - movs r3, 0x1F - bl BlendPalette - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08180B50 - .pool -_08180B34: - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0xC - bl Sin - adds r2, r0, 0 - strh r2, [r4, 0x3A] - ldrh r0, [r4, 0x3C] - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x10 - movs r3, 0x1F - bl BlendPalette -_08180B50: - ldrh r0, [r4, 0x32] - adds r0, 0x2 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_21 - - thumb_func_start pokemonanimfunc_22 -pokemonanimfunc_22: @ 8180B5C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08180B78 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - adds r0, r1 - strh r0, [r4, 0x3C] -_08180B78: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x80 - ble _08180B98 - ldrh r0, [r4, 0x3C] - movs r3, 0xF8 - lsls r3, 7 - movs r1, 0x10 - movs r2, 0 - bl BlendPalette - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08180BB6 - .pool -_08180B98: - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0xC - bl Sin - adds r2, r0, 0 - strh r2, [r4, 0x3A] - ldrh r0, [r4, 0x3C] - lsls r2, 24 - lsrs r2, 24 - movs r3, 0xF8 - lsls r3, 7 - movs r1, 0x10 - bl BlendPalette -_08180BB6: - ldrh r0, [r4, 0x32] - adds r0, 0x2 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_22 - - thumb_func_start pokemonanimfunc_23 -pokemonanimfunc_23: @ 8180BC4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08180BE0 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - adds r0, r1 - strh r0, [r4, 0x3C] -_08180BE0: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x80 - ble _08180C04 - ldrh r0, [r4, 0x3C] - ldr r3, =0x000003ff - movs r1, 0x10 - movs r2, 0 - bl BlendPalette - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08180C20 - .pool -_08180C04: - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0xC - bl Sin - adds r2, r0, 0 - strh r2, [r4, 0x3A] - ldrh r0, [r4, 0x3C] - lsls r2, 24 - lsrs r2, 24 - ldr r3, =0x000003ff - movs r1, 0x10 - bl BlendPalette -_08180C20: - ldrh r0, [r4, 0x32] - adds r0, 0x2 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_23 - - thumb_func_start pokemonanimfunc_24 -pokemonanimfunc_24: @ 8180C30 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08180C4C - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - adds r0, r1 - strh r0, [r4, 0x3C] -_08180C4C: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x80 - ble _08180C70 - ldrh r0, [r4, 0x3C] - ldr r3, =0x00006018 - movs r1, 0x10 - movs r2, 0 - bl BlendPalette - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08180C8C - .pool -_08180C70: - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0xC - bl Sin - adds r2, r0, 0 - strh r2, [r4, 0x3A] - ldrh r0, [r4, 0x3C] - lsls r2, 24 - lsrs r2, 24 - ldr r3, =0x00006018 - movs r1, 0x10 - bl BlendPalette -_08180C8C: - ldrh r0, [r4, 0x32] - adds r0, 0x2 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_24 - - thumb_func_start pokemonanimfunc_25 -pokemonanimfunc_25: @ 8180C9C - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - ldr r0, =sub_8180CB4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_25 - - thumb_func_start sub_8180CB4 -sub_8180CB4: @ 8180CB4 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _08180CD6 - movs r0, 0x8 - strh r0, [r4, 0x24] - movs r0, 0x2 - strh r0, [r4, 0x3C] - ldr r0, =sub_8180CE8 - str r0, [r4, 0x1C] -_08180CD6: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8180CB4 - - thumb_func_start sub_8180CE8 -sub_8180CE8: @ 8180CE8 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x24] - ldrh r0, [r4, 0x3C] - subs r1, r0 - strh r1, [r4, 0x24] - adds r0, 0x1 - adds r2, r0, 0 - strh r0, [r4, 0x3C] - lsls r1, 16 - cmp r1, 0 - bgt _08180D32 - lsls r0, r2, 24 - lsrs r2, r0, 24 - movs r0, 0 - strh r0, [r4, 0x3A] - ldrh r1, [r4, 0x24] - ldr r5, =sub_8180D44 - movs r3, 0x8 - negs r3, r3 -_08180D14: - subs r0, r1, r2 - lsls r0, 16 - ldrh r1, [r4, 0x3A] - adds r1, 0x1 - strh r1, [r4, 0x3A] - adds r1, r2, 0x1 - lsls r1, 24 - lsrs r2, r1, 24 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, r3 - bgt _08180D14 - movs r0, 0x1 - strh r0, [r4, 0x38] - str r5, [r4, 0x1C] -_08180D32: - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8180CE8 - - thumb_func_start sub_8180D44 -sub_8180D44: @ 8180D44 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x3C] - subs r0, r1 - strh r0, [r4, 0x24] - adds r1, 0x1 - strh r1, [r4, 0x3C] - movs r0, 0x38 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - movs r2, 0x3A - ldrsh r1, [r4, r2] - bl __divsi3 - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - ldrh r2, [r4, 0x3A] - movs r3, 0x3A - ldrsh r1, [r4, r3] - cmp r0, r1 - ble _08180D84 - strh r2, [r4, 0x38] -_08180D84: - movs r2, 0x80 - lsls r2, 1 - lsls r3, r5, 8 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - movs r1, 0x24 - ldrsh r0, [r4, r1] - movs r1, 0x8 - negs r1, r1 - cmp r0, r1 - bge _08180DAE - strh r1, [r4, 0x24] - movs r0, 0x2 - strh r0, [r4, 0x36] - movs r0, 0 - strh r0, [r4, 0x34] - strh r5, [r4, 0x32] - ldr r0, =sub_8180DC0 - str r0, [r4, 0x1C] -_08180DAE: - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8180D44 - - thumb_func_start sub_8180DC0 -sub_8180DC0: @ 8180DC0 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x34] - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r0, 0xB - ble _08180E08 - ldrh r0, [r4, 0x32] - subs r0, 0x2 - strh r0, [r4, 0x32] - lsls r0, 16 - cmp r0, 0 - bge _08180DE2 - movs r0, 0 - strh r0, [r4, 0x32] -_08180DE2: - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x32] - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08180E1C - ldr r0, =sub_8180E28 - str r0, [r4, 0x1C] - b _08180E1C - .pool -_08180E08: - ldrh r0, [r4, 0x36] - ldrh r2, [r4, 0x24] - adds r0, r2 - strh r0, [r4, 0x24] - movs r2, 0x36 - ldrsh r0, [r4, r2] - negs r0, r0 - strh r0, [r4, 0x36] - adds r0, r1, 0x1 - strh r0, [r4, 0x34] -_08180E1C: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8180DC0 - - thumb_func_start sub_8180E28 -sub_8180E28: @ 8180E28 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x24] - adds r0, 0x2 - strh r0, [r4, 0x24] - lsls r0, 16 - cmp r0, 0 - ble _08180E4A - movs r0, 0 - strh r0, [r4, 0x24] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] -_08180E4A: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8180E28 - - thumb_func_start pokemonanimfunc_26 -pokemonanimfunc_26: @ 8180E5C - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - movs r0, 0 - strh r0, [r4, 0x34] - ldr r0, =sub_8180E78 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_26 - - thumb_func_start sub_8180E78 -sub_8180E78: @ 8180E78 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x26] - subs r0, 0x1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x24] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08180EA2 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - bgt _08180EA2 - movs r0, 0xA - strh r0, [r4, 0x34] -_08180EA2: - movs r1, 0x24 - ldrsh r0, [r4, r1] - cmp r0, 0x7 - ble _08180EBA - movs r1, 0 - movs r0, 0x8 - strh r0, [r4, 0x24] - ldr r0, =0x0000fff8 - strh r0, [r4, 0x26] - strh r1, [r4, 0x36] - ldr r0, =sub_8180ED0 - str r0, [r4, 0x1C] -_08180EBA: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8180E78 - - thumb_func_start sub_8180ED0 -sub_8180ED0: @ 8180ED0 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r1, 0x10 - bl Cos - subs r0, 0x8 - strh r0, [r4, 0x24] - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r1, 0x10 - bl Sin - subs r0, 0x8 - strh r0, [r4, 0x26] - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0x3F - ble _08180F08 - movs r0, 0xA0 - strh r0, [r4, 0x32] - movs r0, 0xA - strh r0, [r4, 0x34] - ldr r0, =sub_8180F2C - str r0, [r4, 0x1C] -_08180F08: - ldrh r0, [r4, 0x36] - adds r0, 0x8 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x40 - ble _08180F1A - movs r0, 0x40 - strh r0, [r4, 0x36] -_08180F1A: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8180ED0 - - thumb_func_start sub_8180F2C -sub_8180F2C: @ 8180F2C - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x34] - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _08180F44 - subs r0, r1, 0x1 - strh r0, [r4, 0x34] - b _08180F96 -_08180F44: - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0x5 - bl Cos - subs r0, 0x4 - movs r5, 0 - strh r0, [r4, 0x24] - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0x5 - bl Sin - negs r0, r0 - adds r0, 0x4 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - subs r0, 0x4 - strh r0, [r4, 0x32] - movs r0, 0x32 - ldrsh r3, [r4, r0] - subs r3, 0x20 - movs r2, 0x80 - lsls r2, 1 - lsls r3, 25 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x20 - bgt _08180F96 - strh r5, [r4, 0x24] - strh r5, [r4, 0x26] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] -_08180F96: - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8180F2C - - thumb_func_start pokemonanimfunc_27 -pokemonanimfunc_27: @ 8180FA8 - push {r4,lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x34] - movs r2, 0x34 - ldrsh r0, [r3, r2] - cmp r0, 0 - ble _08180FBA - subs r0, r1, 0x1 - b _08180FFE -_08180FBA: - movs r2, 0 - movs r1, 0x36 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _08180FC6 - movs r2, 0x1 -_08180FC6: - strh r2, [r3, 0x36] - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - lsls r2, 2 - ldrb r1, [r0] - movs r4, 0x5 - negs r4, r4 - adds r0, r4, 0 - ands r0, r1 - orrs r0, r2 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - strh r0, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _08180FFC - ldrb r0, [r1] - adds r1, r4, 0 - ands r1, r0 - mov r2, r12 - strb r1, [r2] - ldr r0, =sub_8184D88 - str r0, [r3, 0x1C] -_08180FFC: - movs r0, 0x2 -_08180FFE: - strh r0, [r3, 0x34] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_27 - - thumb_func_start pokemonanimfunc_28 -pokemonanimfunc_28: @ 818100C - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - ldr r0, =sub_8181024 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_28 - - thumb_func_start sub_8181024 -sub_8181024: @ 8181024 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x24] - subs r0, 0x1 - strh r0, [r4, 0x24] - ldrh r1, [r4, 0x26] - adds r1, 0x1 - strh r1, [r4, 0x26] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bgt _08181054 - ldr r0, =0x0000fff0 - strh r0, [r4, 0x24] - movs r0, 0x10 - strh r0, [r4, 0x26] - ldr r0, =sub_8181068 - str r0, [r4, 0x1C] - movs r0, 0xA0 - strh r0, [r4, 0x32] -_08181054: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181024 - - thumb_func_start sub_8181068 -sub_8181068: @ 8181068 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x32] - subs r0, 0x4 - strh r0, [r4, 0x32] - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0x16 - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0x16 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - movs r0, 0x32 - ldrsh r3, [r4, r0] - subs r3, 0x20 - movs r2, 0x80 - lsls r2, 1 - lsls r3, 25 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x20 - bgt _081810B2 - ldr r0, =sub_81810C4 - str r0, [r4, 0x1C] -_081810B2: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181068 - - thumb_func_start sub_81810C4 -sub_81810C4: @ 81810C4 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x24] - subs r1, 0x1 - strh r1, [r4, 0x24] - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - lsls r1, 16 - cmp r1, 0 - bgt _081810E8 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] -_081810E8: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81810C4 - - thumb_func_start pokemonanimfunc_29 -pokemonanimfunc_29: @ 81810F8 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - ldr r0, =sub_8181110 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_29 - - thumb_func_start sub_8181110 -sub_8181110: @ 8181110 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x24] - adds r1, 0x1 - strh r1, [r4, 0x24] - ldrh r0, [r4, 0x26] - subs r0, 0x1 - strh r0, [r4, 0x26] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0xF - ble _08181134 - movs r0, 0 - strh r0, [r4, 0x32] - ldr r0, =sub_8181144 - str r0, [r4, 0x1C] -_08181134: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181110 - - thumb_func_start sub_8181144 -sub_8181144: @ 8181144 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x32] - adds r0, 0x10 - strh r0, [r4, 0x32] - ldrh r2, [r4, 0x24] - movs r0, 0x24 - ldrsh r1, [r4, r0] - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bgt _0818117C - ldr r0, =0x0000fff0 - strh r0, [r4, 0x24] - movs r0, 0x10 - strh r0, [r4, 0x26] - movs r0, 0 - strh r0, [r4, 0x32] - ldr r0, =sub_81811A4 - str r0, [r4, 0x1C] - b _08181186 - .pool -_0818117C: - subs r0, r2, 0x2 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x26] - adds r0, 0x2 - strh r0, [r4, 0x26] -_08181186: - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x32] - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8181144 - - thumb_func_start sub_81811A4 -sub_81811A4: @ 81811A4 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x24] - adds r1, 0x1 - movs r2, 0 - strh r1, [r4, 0x24] - ldrh r0, [r4, 0x26] - subs r0, 0x1 - strh r0, [r4, 0x26] - lsls r1, 16 - cmp r1, 0 - blt _081811CE - strh r2, [r4, 0x24] - strh r2, [r4, 0x26] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] -_081811CE: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81811A4 - - thumb_func_start pokemonanimfunc_2A -pokemonanimfunc_2A: @ 81811E0 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x2 - strh r0, [r1, 0x2] - adds r0, r4, 0 - bl sub_8181214 - ldr r0, =sub_8181214 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_2A - - thumb_func_start sub_8181214 -sub_8181214: @ 8181214 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, =gUnknown_03001240 - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r6 - ldrh r0, [r1] - cmp r0, 0 - beq _08181238 - subs r0, 0x1 - strh r0, [r1] - b _0818134A - .pool -_08181238: - adds r0, r4, 0 - bl sub_817F70C - ldrh r0, [r4, 0x32] - movs r1, 0x32 - ldrsh r5, [r4, r1] - cmp r5, 0 - bne _08181270 - adds r0, 0x1 - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F670 - movs r2, 0x2E - ldrsh r1, [r4, r2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrh r0, [r0, 0x2] - strh r0, [r4, 0x3C] - ldr r0, =0x0000ffff - strh r0, [r4, 0x34] - movs r0, 0x1 - negs r0, r0 - strh r0, [r4, 0x36] - strh r5, [r4, 0x38] - strh r5, [r4, 0x3A] -_08181270: - movs r3, 0x3C - ldrsh r1, [r4, r3] - movs r6, 0x34 - ldrsh r0, [r4, r6] - lsls r0, 1 - muls r1, r0 - ldrh r0, [r4, 0x24] - adds r1, r0 - strh r1, [r4, 0x24] - ldrh r2, [r4, 0x3C] - ldrh r0, [r4, 0x36] - adds r3, r0, 0 - muls r3, r2 - adds r0, r3, 0 - ldrh r6, [r4, 0x26] - adds r2, r0, r6 - strh r2, [r4, 0x26] - ldrh r0, [r4, 0x3A] - adds r0, 0x8 - strh r0, [r4, 0x3A] - adds r1, 0xF - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x1E - bls _081812B8 - movs r1, 0x34 - ldrsh r0, [r4, r1] - lsls r0, 4 - strh r0, [r4, 0x24] - movs r2, 0x34 - ldrsh r0, [r4, r2] - negs r0, r0 - strh r0, [r4, 0x34] - b _081812D4 - .pool -_081812B8: - adds r0, r2, 0 - adds r0, 0xF - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1E - bls _081812DA - movs r3, 0x36 - ldrsh r0, [r4, r3] - lsls r0, 4 - strh r0, [r4, 0x26] - movs r6, 0x36 - ldrsh r0, [r4, r6] - negs r0, r0 - strh r0, [r4, 0x36] -_081812D4: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] -_081812DA: - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0x5 - ble _08181332 - movs r2, 0x24 - ldrsh r0, [r4, r2] - cmp r0, 0 - bgt _08181332 - movs r3, 0 - strh r3, [r4, 0x24] - strh r3, [r4, 0x26] - ldr r5, =gUnknown_03001240 - movs r6, 0x2E - ldrsh r0, [r4, r6] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrh r2, [r1, 0x4] - movs r6, 0x4 - ldrsh r0, [r1, r6] - cmp r0, 0x1 - ble _08181328 - subs r0, r2, 0x1 - strh r0, [r1, 0x4] - strh r3, [r4, 0x38] - strh r3, [r4, 0x3A] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0xA - strh r1, [r0] - b _08181332 - .pool -_08181328: - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] -_08181332: - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3A] - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F70C -_0818134A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181214 - - thumb_func_start pokemonanimfunc_2B -pokemonanimfunc_2B: @ 8181354 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - movs r0, 0 - strh r0, [r4, 0x3A] - strh r0, [r4, 0x3C] - ldr r0, =sub_8181370 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_2B - - thumb_func_start sub_8181370 -sub_8181370: @ 8181370 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x3A] - adds r0, 0x4 - strh r0, [r4, 0x3A] - movs r1, 0x3A - ldrsh r0, [r4, r1] - movs r1, 0x10 - bl Sin - negs r0, r0 - strh r0, [r4, 0x24] - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 1 - movs r1, 0xFF - ands r0, r1 - movs r1, 0x8 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0xC0 - ble _081813BA - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _081813BA - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - b _081813D2 -_081813BA: - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0x40 - ble _081813DE - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081813DE - ldr r1, =0xffffff00 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 -_081813D2: - movs r3, 0 - bl sub_817F6D4 - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] -_081813DE: - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0xFF - ble _08181404 - movs r0, 0 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] -_08181404: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181370 - - thumb_func_start pokemonanimfunc_2C -pokemonanimfunc_2C: @ 8181418 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - movs r2, 0 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _08181442 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r4, 0x3C] - strh r2, [r4, 0x3A] - strh r2, [r4, 0x38] - strh r2, [r4, 0x36] -_08181442: - ldr r1, =gUnknown_0860AA64 - movs r2, 0x3A - ldrsh r0, [r4, r2] - lsls r2, r0, 1 - adds r0, r1, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08181464 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _081814CE - .pool -_08181464: - movs r3, 0x36 - ldrsh r0, [r4, r3] - cmp r0, 0x1 - bne _0818149A - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08181488 - ldrh r0, [r4, 0x3C] - ldr r3, =0x000003ff - movs r1, 0x10 - movs r2, 0x10 - bl BlendPalette - b _08181494 - .pool -_08181488: - ldrh r0, [r4, 0x3C] - ldr r3, =0x000003ff - movs r1, 0x10 - movs r2, 0 - bl BlendPalette -_08181494: - movs r0, 0 - strh r0, [r4, 0x36] - ldr r1, =gUnknown_0860AA64 -_0818149A: - movs r2, 0x3A - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r1, 0x1 - adds r0, r1 - ldrb r1, [r0] - movs r3, 0x38 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _081814C8 - movs r1, 0 - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r1, [r4, 0x38] - ldrh r0, [r4, 0x3A] - adds r0, 0x1 - strh r0, [r4, 0x3A] - b _081814CE - .pool -_081814C8: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] -_081814CE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_2C - - thumb_func_start sub_81814D4 -sub_81814D4: @ 81814D4 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _081814E6 - adds r0, r6, 0 - bl sub_817F670 -_081814E6: - adds r0, r6, 0 - bl sub_817F70C - ldr r4, =gUnknown_03001240 - movs r3, 0x2E - ldrsh r1, [r6, r3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r2, r0, r4 - movs r0, 0x32 - ldrsh r1, [r6, r0] - movs r3, 0x8 - ldrsh r0, [r2, r3] - cmp r1, r0 - ble _0818154C - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - movs r3, 0 - strh r3, [r6, 0x24] - movs r0, 0x2E - ldrsh r1, [r6, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r4 - ldrh r2, [r1, 0x4] - movs r4, 0x4 - ldrsh r0, [r1, r4] - cmp r0, 0x1 - ble _0818153C - subs r0, r2, 0x1 - strh r0, [r1, 0x4] - strh r3, [r6, 0x32] - b _08181588 - .pool -_0818153C: - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _08181588 - .pool -_0818154C: - movs r1, 0x32 - ldrsh r0, [r6, r1] - lsls r0, 8 - movs r3, 0x8 - ldrsh r1, [r2, r3] - bl __divsi3 - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0xA - bl Sin - negs r0, r0 - strh r0, [r6, 0x24] - movs r5, 0x80 - lsls r5, 1 - ldr r1, =0x00000ccc - adds r0, r4, 0 - bl Sin - adds r3, r0, 0 - lsls r3, 16 - lsrs r3, 16 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r5, 0 - bl sub_817F6D4 -_08181588: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] - adds r0, r6, 0 - bl sub_817F70C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81814D4 - - thumb_func_start pokemonanimfunc_2D -pokemonanimfunc_2D: @ 81815A0 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x32 - strh r0, [r1, 0x8] - adds r0, r4, 0 - bl sub_81814D4 - ldr r0, =sub_81814D4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_2D - - thumb_func_start sub_81815D4 -sub_81815D4: @ 81815D4 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _081815E6 - adds r0, r6, 0 - bl sub_817F670 -_081815E6: - adds r0, r6, 0 - bl sub_817F70C - ldr r4, =gUnknown_03001240 - movs r3, 0x2E - ldrsh r1, [r6, r3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r2, r0, r4 - movs r0, 0x32 - ldrsh r1, [r6, r0] - movs r3, 0x8 - ldrsh r0, [r2, r3] - cmp r1, r0 - ble _0818164C - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - movs r3, 0 - strh r3, [r6, 0x24] - movs r0, 0x2E - ldrsh r1, [r6, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r4 - ldrh r2, [r1, 0x4] - movs r4, 0x4 - ldrsh r0, [r1, r4] - cmp r0, 0x1 - ble _0818163C - subs r0, r2, 0x1 - strh r0, [r1, 0x4] - strh r3, [r6, 0x32] - b _0818168A - .pool -_0818163C: - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _0818168A - .pool -_0818164C: - movs r1, 0x32 - ldrsh r0, [r6, r1] - lsls r0, 8 - movs r3, 0x8 - ldrsh r1, [r2, r3] - bl __divsi3 - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0xA - bl Sin - negs r0, r0 - strh r0, [r6, 0x24] - movs r5, 0x80 - lsls r5, 1 - ldr r1, =0x00000ccc - adds r0, r4, 0 - bl Sin - adds r3, r0, 0 - negs r3, r3 - lsls r3, 16 - lsrs r3, 16 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r5, 0 - bl sub_817F6D4 -_0818168A: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] - adds r0, r6, 0 - bl sub_817F70C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81815D4 - - thumb_func_start pokemonanimfunc_2E -pokemonanimfunc_2E: @ 81816A0 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x32 - strh r0, [r1, 0x8] - adds r0, r4, 0 - bl sub_81815D4 - ldr r0, =sub_81815D4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_2E - - thumb_func_start pokemonanimfunc_2F -pokemonanimfunc_2F: @ 81816D4 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - adds r0, r4, 0 - adds r0, 0x28 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 1 - movs r1, 0xA - bl __divsi3 - negs r0, r0 - strh r0, [r4, 0x3A] - movs r0, 0x80 - strh r0, [r4, 0x3C] - ldr r0, =sub_8181708 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_2F - - thumb_func_start sub_8181708 -sub_8181708: @ 8181708 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x3C] - subs r0, 0x1 - strh r0, [r4, 0x3C] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r2, 0x3A - ldrsh r1, [r4, r2] - bl Cos - ldrh r1, [r4, 0x3A] - adds r0, r1 - strh r0, [r4, 0x24] - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r2, 0x3A - ldrsh r1, [r4, r2] - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3C] - subs r3, 0x80 - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x78 - bgt _08181760 - movs r0, 0x78 - strh r0, [r4, 0x3C] - movs r0, 0 - strh r0, [r4, 0x34] - ldr r0, =sub_8181770 - str r0, [r4, 0x1C] -_08181760: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181708 - - thumb_func_start sub_8181770 -sub_8181770: @ 8181770 - push {lr} - adds r1, r0, 0 - movs r2, 0x34 - ldrsh r0, [r1, r2] - cmp r0, 0x14 - bne _08181784 - ldr r0, =sub_8181794 - str r0, [r1, 0x1C] - movs r0, 0 - strh r0, [r1, 0x34] -_08181784: - ldrh r0, [r1, 0x34] - adds r0, 0x1 - strh r0, [r1, 0x34] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181770 - - thumb_func_start sub_8181794 -sub_8181794: @ 8181794 - push {r4-r6,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x3C] - adds r0, 0x2 - movs r6, 0 - strh r0, [r4, 0x3C] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r2, 0x3A - ldrsh r1, [r4, r2] - bl Cos - ldrh r1, [r4, 0x3A] - adds r0, r1 - strh r0, [r4, 0x24] - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r2, 0x3A - ldrsh r1, [r4, r2] - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - movs r5, 0x80 - lsls r5, 1 - ldrh r3, [r4, 0x3C] - subs r3, 0x80 - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r5, 0 - bl sub_817F6D4 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x7F - ble _08181800 - strh r6, [r4, 0x24] - strh r6, [r4, 0x26] - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r5, 0 - movs r3, 0 - bl sub_817F6D4 - strh r6, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =pokemonanimfunc_10 - str r0, [r4, 0x1C] -_08181800: - adds r0, r4, 0 - bl sub_817F70C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181794 - - thumb_func_start sub_8181810 -sub_8181810: @ 8181810 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, =gUnknown_03001240 - movs r0, 0x2E - ldrsh r1, [r5, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r4 - ldrh r0, [r1] - adds r6, r0, 0 - cmp r6, 0 - beq _08181834 - subs r0, 0x1 - strh r0, [r1] - b _08181950 - .pool -_08181834: - movs r1, 0x32 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0818184A - adds r0, r5, 0 - bl sub_817F670 - strh r6, [r5, 0x36] - strh r6, [r5, 0x38] - movs r0, 0x1 - strh r0, [r5, 0x32] -_0818184A: - movs r3, 0x38 - ldrsh r0, [r5, r3] - cmp r0, 0 - bne _081818A2 - movs r1, 0x36 - ldrsh r0, [r5, r1] - movs r4, 0x80 - lsls r4, 1 - adds r1, r4, 0 - bl Sin - strh r0, [r5, 0x3C] - movs r3, 0x36 - ldrsh r0, [r5, r3] - movs r1, 0x10 - bl Sin - strh r0, [r5, 0x26] - movs r1, 0x36 - ldrsh r0, [r5, r1] - movs r1, 0x20 - bl Sin - adds r1, r0, 0 - strh r1, [r5, 0x3A] - subs r1, r4, r1 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r5, 0x3C] - adds r2, r4 - lsls r2, 16 - asrs r2, 16 - adds r0, r5, 0 - movs r3, 0 - bl sub_817F6D4 - movs r3, 0x36 - ldrsh r0, [r5, r3] - cmp r0, 0x80 - bne _0818193A - strh r6, [r5, 0x36] - movs r0, 0x1 - strh r0, [r5, 0x38] - b _0818193A -_081818A2: - cmp r0, 0x1 - bne _0818193A - movs r1, 0x36 - ldrsh r0, [r5, r1] - movs r1, 0x20 - bl Sin - strh r0, [r5, 0x3C] - movs r3, 0x36 - ldrsh r0, [r5, r3] - movs r1, 0x8 - bl Sin - negs r0, r0 - strh r0, [r5, 0x26] - movs r1, 0x36 - ldrsh r0, [r5, r1] - movs r1, 0x80 - bl Sin - adds r1, r0, 0 - strh r1, [r5, 0x3A] - movs r3, 0x80 - lsls r3, 1 - adds r2, r3, 0 - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - ldrh r0, [r5, 0x3C] - subs r2, r0 - lsls r2, 16 - asrs r2, 16 - adds r0, r5, 0 - movs r3, 0 - bl sub_817F6D4 - movs r1, 0x36 - ldrsh r0, [r5, r1] - cmp r0, 0x80 - bne _0818193A - movs r3, 0x2E - ldrsh r0, [r5, r3] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r2, [r1, 0x4] - movs r3, 0x4 - ldrsh r0, [r1, r3] - cmp r0, 0x1 - ble _08181922 - subs r0, r2, 0x1 - strh r0, [r1, 0x4] - movs r0, 0x2E - ldrsh r1, [r5, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xA - strh r1, [r0] - strh r6, [r5, 0x36] - strh r6, [r5, 0x38] - b _0818193A -_08181922: - movs r2, 0x80 - lsls r2, 1 - adds r0, r5, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r5, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r5, 0x1C] -_0818193A: - ldr r2, =gUnknown_03001240 - movs r3, 0x2E - ldrsh r1, [r5, r3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x6] - ldrh r1, [r5, 0x36] - adds r0, r1 - strh r0, [r5, 0x36] -_08181950: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181810 - - thumb_func_start pokemonanimfunc_30 -pokemonanimfunc_30: @ 8181960 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x4 - strh r0, [r1, 0x6] - adds r0, r4, 0 - bl sub_8181810 - ldr r0, =sub_8181810 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_30 - - thumb_func_start pokemonanimfunc_31 -pokemonanimfunc_31: @ 8181994 - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0x32 - ldrsh r4, [r5, r0] - adds r0, r5, 0 - bl sub_817F70C - movs r0, 0x80 - lsls r0, 2 - cmp r4, r0 - ble _081819B8 - ldr r0, =sub_8184D88 - str r0, [r5, 0x1C] - movs r0, 0 - strh r0, [r5, 0x24] - b _08181A62 - .pool -_081819B8: - movs r1, 0x32 - ldrsh r0, [r5, r1] - cmp r0, 0 - bge _081819C2 - adds r0, 0x7F -_081819C2: - asrs r0, 7 - cmp r0, 0x1 - beq _081819F8 - cmp r0, 0x1 - bgt _081819D2 - cmp r0, 0 - beq _081819DC - b _08181A48 -_081819D2: - cmp r0, 0x2 - beq _08181A12 - cmp r0, 0x3 - beq _08181A2A - b _08181A48 -_081819DC: - adds r0, r4, 0 - cmp r4, 0 - bge _081819E4 - adds r0, 0x7F -_081819E4: - asrs r0, 7 - lsls r0, 7 - subs r0, r4, r0 - lsls r0, 3 - negs r0, r0 - cmp r0, 0 - bge _081819F4 - adds r0, 0x7F -_081819F4: - asrs r0, 7 - b _08181A46 -_081819F8: - adds r0, r4, 0 - cmp r4, 0 - bge _08181A00 - adds r0, 0x7F -_08181A00: - asrs r0, 7 - lsls r0, 7 - subs r0, r4, r0 - cmp r0, 0 - bge _08181A0C - adds r0, 0xF -_08181A0C: - asrs r0, 4 - subs r0, 0x8 - b _08181A46 -_08181A12: - adds r0, r4, 0 - cmp r4, 0 - bge _08181A1A - adds r0, 0x7F -_08181A1A: - asrs r0, 7 - lsls r0, 7 - subs r0, r4, r0 - cmp r0, 0 - bge _08181A26 - adds r0, 0xF -_08181A26: - asrs r0, 4 - b _08181A46 -_08181A2A: - adds r0, r4, 0 - cmp r4, 0 - bge _08181A32 - adds r0, 0x7F -_08181A32: - asrs r0, 7 - lsls r0, 7 - subs r0, r4, r0 - lsls r0, 3 - negs r0, r0 - cmp r0, 0 - bge _08181A42 - adds r0, 0x7F -_08181A42: - asrs r0, 7 - adds r0, 0x8 -_08181A46: - strh r0, [r5, 0x24] -_08181A48: - adds r0, r4, 0 - cmp r4, 0 - bge _08181A50 - adds r0, 0x7F -_08181A50: - asrs r0, 7 - lsls r0, 7 - subs r0, r4, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - negs r0, r0 -_08181A62: - strh r0, [r5, 0x26] - ldrh r0, [r5, 0x32] - adds r0, 0xC - strh r0, [r5, 0x32] - adds r0, r5, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_31 - - thumb_func_start pokemonanimfunc_32 -pokemonanimfunc_32: @ 8181A78 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldr r0, =0x0000ffff - strh r0, [r1, 0x8] - adds r0, r4, 0 - bl sub_817F670 - strh r5, [r4, 0x34] - adds r0, r4, 0 - bl sub_8181ABC - ldr r0, =sub_8181ABC - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_32 - - thumb_func_start sub_8181ABC -sub_8181ABC: @ 8181ABC - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, =gUnknown_03001240 - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r6 - ldrh r0, [r1] - adds r5, r0, 0 - cmp r5, 0 - beq _08181AE0 - subs r0, 0x1 - strh r0, [r1] - b _08181B44 - .pool -_08181AE0: - adds r0, r4, 0 - bl sub_817F70C - movs r1, 0x32 - ldrsh r2, [r4, r1] - adds r0, r2, 0 - cmp r0, 0x80 - ble _08181AFC - strh r5, [r4, 0x32] - ldr r0, =sub_8181B4C - str r0, [r4, 0x1C] - b _08181B3E - .pool -_08181AFC: - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - movs r3, 0x8 - ldrsh r0, [r1, r3] - lsls r3, r0, 3 - adds r0, r2, 0 - cmp r2, 0 - bge _08181B16 - adds r0, 0x7F -_08181B16: - asrs r0, 7 - lsls r0, 7 - subs r1, r2, r0 - adds r0, r3, 0 - muls r0, r1 - cmp r0, 0 - bge _08181B26 - adds r0, 0x7F -_08181B26: - asrs r0, 7 - strh r0, [r4, 0x24] - lsls r0, r1, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0xC - strh r0, [r4, 0x32] -_08181B3E: - adds r0, r4, 0 - bl sub_817F70C -_08181B44: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8181ABC - - thumb_func_start sub_8181B4C -sub_8181B4C: @ 8181B4C - push {r4-r6,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x30 - ble _08181B7C - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - movs r0, 0 - strh r0, [r4, 0x26] - strh r0, [r4, 0x32] - ldr r0, =sub_8181C2C - str r0, [r4, 0x1C] - b _08181C1A - .pool -_08181B7C: - movs r2, 0x36 - ldrsh r0, [r4, r2] - movs r1, 0x40 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r6, r1, 0 - adds r0, r6 - lsls r0, 16 - lsrs r3, r0, 16 - ldrh r0, [r4, 0x32] - subs r0, 0x10 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xF - bhi _08181BBA - ldrh r0, [r4, 0x34] - adds r0, 0x8 - strh r0, [r4, 0x34] - ldr r2, =gUnknown_03001240 - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x24] - ldrh r0, [r0, 0x8] - subs r1, r0 - strh r1, [r4, 0x24] -_08181BBA: - movs r5, 0 - lsls r1, r3, 16 - asrs r2, r1, 16 - lsls r0, r6, 16 - asrs r0, 16 - adds r6, r1, 0 - cmp r2, r0 - ble _08181BD6 - subs r0, r2 - cmp r0, 0 - bge _08181BD2 - adds r0, 0x7 -_08181BD2: - lsls r0, 13 - lsrs r5, r0, 16 -_08181BD6: - movs r1, 0x34 - ldrsh r0, [r4, r1] - movs r1, 0x14 - bl Sin - negs r0, r0 - lsls r1, r5, 16 - asrs r1, 16 - subs r0, r1 - strh r0, [r4, 0x26] - movs r2, 0x36 - ldrsh r0, [r4, r2] - movs r1, 0x20 - bl Sin - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - asrs r2, r6, 16 - adds r0, r4, 0 - movs r3, 0 - bl sub_817F6D4 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x36] - adds r0, 0x8 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x36] -_08181C1A: - adds r0, r4, 0 - bl sub_817F70C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181B4C - - thumb_func_start sub_8181C2C -sub_8181C2C: @ 8181C2C - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r3, [r4, r0] - cmp r3, 0x80 - ble _08181C90 - ldr r3, =gUnknown_03001240 - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r2, [r1, 0x4] - movs r5, 0x4 - ldrsh r0, [r1, r5] - cmp r0, 0x1 - ble _08181C7C - subs r0, r2, 0x1 - movs r2, 0 - strh r0, [r1, 0x4] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0xA - strh r1, [r0] - strh r2, [r4, 0x34] - strh r2, [r4, 0x32] - strh r2, [r4, 0x36] - ldr r0, =sub_8181ABC - b _08181C84 - .pool -_08181C7C: - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 -_08181C84: - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x24] - b _08181CD0 - .pool -_08181C90: - ldr r2, =gUnknown_03001240 - movs r5, 0x2E - ldrsh r1, [r4, r5] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x8 - ldrsh r5, [r0, r1] - lsls r1, r5, 3 - adds r0, r3, 0 - cmp r3, 0 - bge _08181CAC - adds r0, 0x7F -_08181CAC: - asrs r0, 7 - lsls r0, 7 - subs r2, r3, r0 - adds r0, r1, 0 - muls r0, r2 - cmp r0, 0 - bge _08181CBC - adds r0, 0x7F -_08181CBC: - asrs r0, 7 - lsls r1, r5, 3 - subs r0, r1 - strh r0, [r4, 0x24] - lsls r0, r2, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - negs r0, r0 -_08181CD0: - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0xC - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181C2C - - thumb_func_start sub_8181CE8 -sub_8181CE8: @ 8181CE8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08181D00 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] -_08181D00: - adds r0, r4, 0 - bl sub_817F70C - movs r3, 0x3C - ldrsh r0, [r4, r3] - cmp r0, 0xFE - ble _08181D60 - movs r5, 0 - strh r5, [r4, 0x24] - strh r5, [r4, 0x26] - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - ldr r2, =gUnknown_03001240 - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - ldrh r2, [r1, 0x4] - movs r3, 0x4 - ldrsh r0, [r1, r3] - cmp r0, 0x1 - ble _08181D48 - subs r0, r2, 0x1 - strh r0, [r1, 0x4] - strh r5, [r4, 0x32] - strh r5, [r4, 0x3C] - b _08181D52 - .pool -_08181D48: - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] -_08181D52: - adds r0, r4, 0 - bl sub_817F70C - b _08181DA6 - .pool -_08181D60: - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x10 - bl Sin - negs r0, r0 - strh r0, [r4, 0x24] - movs r3, 0x3C - ldrsh r0, [r4, r3] - movs r1, 0x20 - bl Sin - adds r3, r0, 0 - movs r2, 0x80 - lsls r2, 1 - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - ldr r2, =gUnknown_03001240 - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x6] - ldrh r1, [r4, 0x3C] - adds r0, r1 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_817F70C -_08181DA6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181CE8 - - thumb_func_start pokemonanimfunc_33 -pokemonanimfunc_33: @ 8181DB0 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x4 - strh r0, [r1, 0x6] - adds r0, r4, 0 - bl sub_8181CE8 - ldr r0, =sub_8181CE8 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_33 - - thumb_func_start pokemonanimfunc_34 -pokemonanimfunc_34: @ 8181DE4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08181DFC - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] -_08181DFC: - adds r0, r4, 0 - bl sub_817F70C - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0xFE - ble _08181E34 - movs r0, 0 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - adds r0, r4, 0 - bl sub_817F70C - b _08181E8A - .pool -_08181E34: - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x10 - bl Sin - negs r0, r0 - strh r0, [r4, 0x24] - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08181E4E - adds r0, 0x7F -_08181E4E: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x10 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x20 - bl Sin - adds r3, r0, 0 - movs r2, 0x80 - lsls r2, 1 - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - ldrh r0, [r4, 0x3C] - adds r0, 0x8 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_817F70C -_08181E8A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_34 - - thumb_func_start pokemonanimfunc_35 -pokemonanimfunc_35: @ 8181E90 - push {r4,r5,lr} - adds r3, r0, 0 - movs r1, 0x32 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _08181E9E - strh r0, [r3, 0x3C] -_08181E9E: - ldrh r4, [r3, 0x32] - movs r5, 0x32 - ldrsh r1, [r3, r5] - ldrh r2, [r3, 0x3C] - movs r5, 0x3C - ldrsh r0, [r3, r5] - cmp r1, r0 - bne _08181EC8 - movs r0, 0 - strh r0, [r3, 0x3C] - adds r0, r4, 0x1 - strh r0, [r3, 0x32] - adds r1, r3, 0 - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - adds r2, r1, 0 - b _08181ED8 -_08181EC8: - adds r0, r2, 0x1 - strh r0, [r3, 0x3C] - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_08181ED8: - movs r1, 0x32 - ldrsh r0, [r3, r1] - cmp r0, 0xA - ble _08181EEE - ldrb r0, [r2] - movs r1, 0x5 - negs r1, r1 - ands r1, r0 - strb r1, [r2] - ldr r0, =sub_8184D88 - str r0, [r3, 0x1C] -_08181EEE: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_35 - - thumb_func_start pokemonanimfunc_36 -pokemonanimfunc_36: @ 8181EF8 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - movs r0, 0 - strh r0, [r4, 0x3C] - ldr r0, =sub_8181F14 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_36 - - thumb_func_start sub_8181F14 -sub_8181F14: @ 8181F14 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0x1F - ble _08181F34 - movs r0, 0 - movs r1, 0x20 - strh r1, [r4, 0x3C] - strh r0, [r4, 0x32] - ldr r0, =sub_8181F50 - str r0, [r4, 0x1C] - b _08181F38 - .pool -_08181F34: - adds r0, r1, 0x4 - strh r0, [r4, 0x3C] -_08181F38: - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3C] - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8181F14 - - thumb_func_start sub_8181F50 -sub_8181F50: @ 8181F50 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 2 - cmp r1, r0 - ble _08181F74 - ldr r0, =sub_8181FC0 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x3A] - b _08181FAE - .pool -_08181F74: - movs r1, 0x32 - ldrsh r0, [r4, r1] - lsls r0, 4 - negs r0, r0 - cmp r0, 0 - bge _08181F84 - ldr r1, =0x000001ff - adds r0, r1 -_08181F84: - asrs r0, 9 - strh r0, [r4, 0x24] - movs r0, 0x32 - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08181F94 - adds r0, 0x7F -_08181F94: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x4 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0xC - strh r0, [r4, 0x32] -_08181FAE: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8181F50 - - thumb_func_start sub_8181FC0 -sub_8181FC0: @ 8181FC0 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x3C] - subs r0, 0x2 - movs r1, 0 - strh r0, [r4, 0x3C] - lsls r0, 16 - cmp r0, 0 - bge _08181FEC - strh r1, [r4, 0x3C] - strh r1, [r4, 0x24] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08181FFE - .pool -_08181FEC: - movs r1, 0x3C - ldrsh r0, [r4, r1] - lsls r0, 17 - asrs r0, 16 - movs r1, 0x10 - bl Sin - negs r0, r0 - strh r0, [r4, 0x24] -_08181FFE: - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3C] - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8181FC0 - - thumb_func_start pokemonanimfunc_37 -pokemonanimfunc_37: @ 818201C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08182036 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] -_08182036: - adds r0, r4, 0 - bl sub_817F70C - ldrh r1, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0xFF - ble _08182060 - movs r0, 0 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _081820A6 - .pool -_08182060: - adds r0, r1, 0 - adds r0, 0x10 - strh r0, [r4, 0x3C] - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08182072 - adds r0, 0x7F -_08182072: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - negs r0, r0 - strh r0, [r4, 0x24] - movs r2, 0x3C - ldrsh r1, [r4, r2] - adds r0, r1, 0 - cmp r1, 0 - bge _08182092 - adds r0, 0x7F -_08182092: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] -_081820A6: - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _081820B2 - adds r0, 0x7F -_081820B2: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x10 - bl Sin - adds r3, r0, 0 - movs r2, 0x80 - lsls r2, 1 - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_37 - - thumb_func_start pokemonanimfunc_38 -pokemonanimfunc_38: @ 81820E0 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - movs r0, 0 - strh r0, [r4, 0x3C] - strh r0, [r4, 0x36] - ldr r0, =sub_81820FC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_38 - - thumb_func_start sub_81820FC -sub_81820FC: @ 81820FC - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0x18 - ble _0818212C - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0818214A - movs r0, 0 - strh r0, [r4, 0x36] - ldr r0, =sub_818216C - str r0, [r4, 0x1C] - b _0818214A - .pool -_0818212C: - adds r0, r1, 0x2 - strh r0, [r4, 0x3C] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - strh r0, [r4, 0x24] - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r1, 0x8 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] -_0818214A: - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3C] - negs r3, r3 - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81820FC - - thumb_func_start sub_818216C -sub_818216C: @ 818216C - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0x20 - ble _0818218C - movs r0, 0x1 - strh r0, [r4, 0x3A] - ldr r0, =sub_81821CC - str r0, [r4, 0x1C] - b _081821AA - .pool -_0818218C: - adds r0, r1, 0x2 - strh r0, [r4, 0x3C] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - strh r0, [r4, 0x24] - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r1, 0x8 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] -_081821AA: - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3C] - negs r3, r3 - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_818216C - - thumb_func_start sub_81821CC -sub_81821CC: @ 81821CC - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 2 - ldrh r1, [r4, 0x3C] - adds r0, r1 - strh r0, [r4, 0x3C] - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0x9 - ble _081821F0 - movs r0, 0x20 - strh r0, [r4, 0x3C] - ldr r0, =sub_8182248 - str r0, [r4, 0x1C] -_081821F0: - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3C] - subs r0, 0x1D - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x6 - bls _08182224 - movs r1, 0x3A - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0x3A] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] -_08182224: - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3C] - negs r3, r3 - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81821CC - - thumb_func_start sub_8182248 -sub_8182248: @ 8182248 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0 - bgt _08182270 - movs r0, 0 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _0818228E - .pool -_08182270: - subs r0, r1, 0x2 - strh r0, [r4, 0x3C] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - strh r0, [r4, 0x24] - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r1, 0x8 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] -_0818228E: - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3C] - negs r3, r3 - lsls r3, 24 - lsrs r3, 16 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8182248 - - thumb_func_start pokemonanimfunc_39 -pokemonanimfunc_39: @ 81822B0 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x32] - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r0, 0x28 - ble _081822D0 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x24] - b _0818235C - .pool -_081822D0: - movs r0, 0x1 - ands r0, r1 - movs r5, 0xFF - cmp r0, 0 - bne _081822DC - movs r5, 0x1 -_081822DC: - movs r0, 0x32 - ldrsh r2, [r4, r0] - adds r0, r2, 0 - cmp r2, 0 - bge _081822E8 - adds r0, r2, 0x3 -_081822E8: - asrs r0, 2 - lsls r0, 2 - subs r0, r2, r0 - lsls r0, 16 - asrs r1, r0, 16 - lsrs r0, 31 - adds r1, r0 - asrs r1, 1 - cmp r1, 0 - bne _0818232C - lsls r0, r2, 7 - movs r1, 0x28 - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _0818230C - adds r0, 0xFF -_0818230C: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x10 - bl Sin - lsls r1, r5, 24 - asrs r1, 24 - adds r2, r0, 0 - muls r2, r1 - adds r0, r2, 0 - strh r0, [r4, 0x24] - negs r0, r0 - b _0818235A -_0818232C: - lsls r0, r2, 7 - movs r1, 0x28 - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _0818233C - adds r0, 0xFF -_0818233C: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x10 - bl Sin - lsls r0, 16 - asrs r0, 16 - negs r0, r0 - lsls r1, r5, 24 - asrs r1, 24 - muls r0, r1 - strh r0, [r4, 0x24] -_0818235A: - strh r0, [r4, 0x26] -_0818235C: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_39 - - thumb_func_start pokemonanimfunc_3A -pokemonanimfunc_3A: @ 8182370 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08182392 - adds r0, r4, 0 - bl sub_817F670 - strh r5, [r4, 0x38] - strh r5, [r4, 0x3A] - strh r5, [r4, 0x3C] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] -_08182392: - ldrh r1, [r4, 0x3A] - movs r2, 0x3A - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _081823E4 - subs r0, r1, 0x1 - strh r0, [r4, 0x3A] - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0x3 - beq _08182494 - movs r2, 0x3A - ldrsh r0, [r4, r2] - lsls r0, 3 - movs r1, 0x14 - bl __divsi3 - adds r1, r0, 0 - ldrh r0, [r4, 0x3C] - lsls r1, 16 - asrs r1, 16 - subs r0, r1 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x40 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r2, r1, 0 - lsls r0, 16 - asrs r0, 16 - subs r2, r0 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - b _08182494 -_081823E4: - movs r2, 0x38 - ldrsh r0, [r4, r2] - cmp r0, 0x3 - bne _08182424 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x3F - ble _08182410 - movs r0, 0x40 - strh r0, [r4, 0x3C] - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] -_08182410: - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r1, 0x40 - bl Cos - lsls r0, 16 - lsrs r3, r0, 16 - b _08182474 - .pool -_08182424: - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x40 - bl Sin - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0x3F - ble _08182448 - movs r0, 0 - movs r1, 0x3 - strh r1, [r4, 0x38] - movs r1, 0xA - strh r1, [r4, 0x3A] - strh r0, [r4, 0x3C] - b _08182474 -_08182448: - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, 0x30 - ble _0818245C - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _0818245C - movs r0, 0x2 - b _0818246E -_0818245C: - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _08182474 - movs r2, 0x38 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08182474 - movs r0, 0x1 -_0818246E: - strh r0, [r4, 0x38] - movs r0, 0x14 - strh r0, [r4, 0x3A] -_08182474: - ldrh r0, [r4, 0x3C] - adds r0, 0x2 - strh r0, [r4, 0x3C] - movs r0, 0x80 - lsls r0, 1 - adds r2, r0, 0 - lsls r0, r3, 16 - asrs r0, 16 - subs r2, r0 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 -_08182494: - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_3A - - thumb_func_start pokemonanimfunc_3B -pokemonanimfunc_3B: @ 81824A0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _081824BA - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] -_081824BA: - movs r0, 0x3C - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 2 - cmp r1, r0 - ble _081824E8 - movs r0, 0 - strh r0, [r4, 0x26] - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08182540 - .pool -_081824E8: - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _081824F4 - adds r0, 0xFF -_081824F4: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3C] - adds r0, 0x8 - strh r0, [r4, 0x3C] - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08182518 - adds r0, 0x7F -_08182518: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x60 - bl Sin - adds r2, r0, 0 - movs r1, 0x80 - lsls r1, 1 - lsls r2, 16 - asrs r2, 16 - adds r2, r1 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - movs r3, 0 - bl sub_817F6D4 -_08182540: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_3B - - thumb_func_start pokemonanimfunc_3C -pokemonanimfunc_3C: @ 8182548 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08182562 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] -_08182562: - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r5, 0x80 - lsls r5, 1 - cmp r0, r5 - ble _08182590 - movs r0, 0 - strh r0, [r4, 0x26] - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r5, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _081825D4 - .pool -_08182590: - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x10 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3C] - adds r0, 0x4 - strh r0, [r4, 0x3C] - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _081825AE - adds r0, 0x3F -_081825AE: - asrs r0, 6 - lsls r0, 6 - subs r0, r1, r0 - lsls r0, 17 - asrs r0, 16 - movs r1, 0x80 - bl Sin - adds r2, r0, 0 - lsls r2, 16 - asrs r2, 16 - adds r2, r5 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - adds r1, r5, 0 - movs r3, 0 - bl sub_817F6D4 -_081825D4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_3C - - thumb_func_start pokemonanimfunc_3D -pokemonanimfunc_3D: @ 81825DC - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - ldr r0, =sub_81825F8 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x3C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_3D - - thumb_func_start sub_81825F8 -sub_81825F8: @ 81825F8 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x3C] - adds r0, 0x8 - movs r1, 0 - strh r0, [r4, 0x3C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3F - ble _0818261C - strh r1, [r4, 0x3C] - strh r1, [r4, 0x3A] - ldr r0, =sub_8182648 - str r0, [r4, 0x1C] - movs r0, 0x40 - b _08182620 - .pool -_0818261C: - movs r1, 0x3C - ldrsh r0, [r4, r1] -_08182620: - movs r1, 0x80 - bl Sin - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x80 - lsls r1, 1 - lsls r2, r0, 16 - asrs r2, 16 - adds r2, r1 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - movs r3, 0 - bl sub_817F6D4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81825F8 - - thumb_func_start sub_8182648 -sub_8182648: @ 8182648 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x3C] - adds r0, 0x4 - strh r0, [r4, 0x3C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5F - ble _08182672 - movs r0, 0 - movs r1, 0x80 - bl Cos - lsls r0, 16 - lsrs r2, r0, 16 - movs r0, 0 - strh r0, [r4, 0x3C] - ldrh r0, [r4, 0x3A] - adds r0, 0x1 - strh r0, [r4, 0x3A] - b _081826C8 -_08182672: - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - movs r2, 0x3A - ldrsh r1, [r4, r2] - lsls r1, 2 - negs r1, r1 - subs r1, r0 - strh r1, [r4, 0x26] - ldrh r1, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0x3F - ble _081826A4 - ldr r5, =0x0000ffff - adds r0, r1, 0 - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - b _081826A8 - .pool -_081826A4: - movs r5, 0x1 - movs r0, 0 -_081826A8: - lsls r0, 16 - asrs r0, 15 - ldrh r1, [r4, 0x3C] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x80 - bl Cos - lsls r1, r5, 16 - asrs r1, 16 - adds r2, r1, 0 - muls r2, r0 - adds r0, r2, 0 - lsls r0, 16 - lsrs r2, r0, 16 -_081826C8: - movs r1, 0x80 - lsls r1, 1 - lsls r2, 16 - asrs r2, 16 - adds r2, r1 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - movs r3, 0 - bl sub_817F6D4 - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0x3 - bne _081826EE - movs r0, 0 - strh r0, [r4, 0x3C] - ldr r0, =sub_81826F8 - str r0, [r4, 0x1C] -_081826EE: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8182648 - - thumb_func_start sub_81826F8 -sub_81826F8: @ 81826F8 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x3C] - adds r0, 0x8 - strh r0, [r4, 0x3C] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x80 - bl Cos - lsls r0, 16 - lsrs r5, r0, 16 - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0xC - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x3F - ble _08182742 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x26] - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 -_08182742: - movs r1, 0x80 - lsls r1, 1 - lsls r2, r5, 16 - asrs r2, 16 - adds r2, r1 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - movs r3, 0 - bl sub_817F6D4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81826F8 - - thumb_func_start sub_8182764 -sub_8182764: @ 8182764 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x3C - ldrsh r1, [r4, r0] - movs r2, 0x38 - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _08182798 - movs r0, 0 - strh r0, [r4, 0x24] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - b _081827F4 - .pool -_08182798: - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _081827A4 - adds r0, 0xFF -_081827A4: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x3C] - adds r0, r1 - strh r0, [r4, 0x3C] - movs r2, 0x3C - ldrsh r1, [r4, r2] - adds r0, r1, 0 - cmp r1, 0 - bge _081827CC - adds r0, 0x7F -_081827CC: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x60 - bl Sin - adds r1, r0, 0 - lsls r1, 16 - movs r0, 0x80 - lsls r0, 17 - adds r1, r0 - asrs r1, 16 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - movs r3, 0 - bl sub_817F6D4 -_081827F4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8182764 - - thumb_func_start pokemonanimfunc_3E -pokemonanimfunc_3E: @ 81827FC - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08182822 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] - movs r1, 0x8 - strh r1, [r4, 0x3A] - movs r0, 0x80 - lsls r0, 2 - strh r0, [r4, 0x38] - strh r1, [r4, 0x36] -_08182822: - adds r0, r4, 0 - bl sub_8182764 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_3E - - thumb_func_start sub_8182830 -sub_8182830: @ 8182830 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x3C - ldrsh r1, [r4, r0] - movs r2, 0x38 - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _08182864 - movs r0, 0 - strh r0, [r4, 0x24] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - b _081828C0 - .pool -_08182864: - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08182870 - adds r0, 0xFF -_08182870: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x3C] - adds r0, r1 - strh r0, [r4, 0x3C] - movs r2, 0x3C - ldrsh r1, [r4, r2] - adds r0, r1, 0 - cmp r1, 0 - bge _08182898 - adds r0, 0x3F -_08182898: - asrs r0, 6 - lsls r0, 6 - subs r0, r1, r0 - lsls r0, 17 - asrs r0, 16 - movs r1, 0x80 - bl Sin - adds r1, r0, 0 - lsls r1, 16 - movs r0, 0x80 - lsls r0, 17 - adds r1, r0 - asrs r1, 16 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - movs r3, 0 - bl sub_817F6D4 -_081828C0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8182830 - - thumb_func_start pokemonanimfunc_3F -pokemonanimfunc_3F: @ 81828C8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _081828EE - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] - movs r0, 0x4 - strh r0, [r4, 0x3A] - adds r0, 0xFC - strh r0, [r4, 0x38] - movs r0, 0x10 - strh r0, [r4, 0x36] -_081828EE: - adds r0, r4, 0 - bl sub_8182830 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_3F - - thumb_func_start pokemonanimfunc_40 -pokemonanimfunc_40: @ 81828FC - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _0818291A - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] -_0818291A: - movs r0, 0x3C - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 2 - cmp r1, r0 - ble _08182948 - movs r0, 0 - strh r0, [r4, 0x24] - adds r0, r4, 0 - bl sub_817F77C - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _0818299E - .pool -_08182948: - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08182954 - adds r0, 0xFF -_08182954: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x3C] - adds r0, 0x8 - strh r0, [r4, 0x3C] - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08182978 - adds r0, 0x7F -_08182978: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x60 - bl Sin - adds r2, r0, 0 - lsls r2, 16 - movs r0, 0x80 - lsls r0, 17 - adds r2, r0 - asrs r2, 16 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 -_0818299E: - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_40 - - thumb_func_start pokemonanimfunc_41 -pokemonanimfunc_41: @ 81829AC - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _081829CA - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] -_081829CA: - movs r0, 0x3C - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 2 - cmp r1, r0 - ble _081829F8 - movs r0, 0 - strh r0, [r4, 0x24] - adds r0, r4, 0 - bl sub_817F77C - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08182A5E - .pool -_081829F8: - movs r1, 0x3C - ldrsh r0, [r4, r1] - adds r1, r0, 0 - cmp r0, 0 - bge _08182A04 - adds r1, 0xFF -_08182A04: - asrs r1, 8 - lsls r1, 8 - subs r1, r0, r1 - lsls r1, 16 - asrs r0, r1, 16 - lsrs r1, 31 - adds r0, r1 - asrs r0, 1 - movs r1, 0x10 - bl Sin - negs r0, r0 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x3C] - adds r0, 0x8 - strh r0, [r4, 0x3C] - movs r1, 0x3C - ldrsh r0, [r4, r1] - adds r1, r0, 0 - cmp r0, 0 - bge _08182A30 - adds r1, 0xFF -_08182A30: - asrs r1, 8 - lsls r1, 8 - subs r1, r0, r1 - lsls r1, 16 - asrs r0, r1, 16 - lsrs r1, 31 - adds r0, r1 - asrs r0, 1 - movs r1, 0x40 - bl Sin - adds r2, r0, 0 - negs r2, r2 - lsls r2, 16 - movs r0, 0x80 - lsls r0, 17 - adds r2, r0 - asrs r2, 16 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 -_08182A5E: - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_41 - - thumb_func_start pokemonanimfunc_42 -pokemonanimfunc_42: @ 8182A6C - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08182A8A - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] -_08182A8A: - movs r0, 0x3C - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 2 - cmp r1, r0 - ble _08182AB8 - movs r0, 0 - strh r0, [r4, 0x24] - adds r0, r4, 0 - bl sub_817F77C - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08182B16 - .pool -_08182AB8: - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08182AC4 - adds r0, 0xFF -_08182AC4: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - negs r0, r0 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x3C] - adds r0, 0x8 - strh r0, [r4, 0x3C] - movs r1, 0x3C - ldrsh r0, [r4, r1] - adds r1, r0, 0 - cmp r0, 0 - bge _08182AEA - adds r1, 0xFF -_08182AEA: - asrs r1, 8 - lsls r1, 8 - subs r1, r0, r1 - lsls r1, 16 - asrs r0, r1, 16 - lsrs r1, 31 - adds r0, r1 - asrs r0, 1 - movs r1, 0x60 - bl Sin - adds r2, r0, 0 - lsls r2, 16 - movs r0, 0x80 - lsls r0, 17 - adds r2, r0 - asrs r2, 16 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 -_08182B16: - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_42 - - thumb_func_start pokemonanimfunc_43 -pokemonanimfunc_43: @ 8182B24 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 4 - cmp r1, r0 - ble _08182B48 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x3A] - b _08182C08 - .pool -_08182B48: - movs r1, 0x32 - ldrsh r2, [r4, r1] - adds r0, r2, 0 - cmp r2, 0 - bge _08182B56 - ldr r1, =0x000001ff - adds r0, r2, r1 -_08182B56: - asrs r3, r0, 9 - adds r1, r3, 0 - adds r0, r1, 0 - cmp r1, 0 - bge _08182B62 - adds r0, r1, 0x3 -_08182B62: - asrs r0, 2 - lsls r0, 2 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _08182BA4 - cmp r0, 0x1 - bgt _08182B80 - cmp r0, 0 - beq _08182B8A - b _08182BE2 - .pool -_08182B80: - cmp r0, 0x2 - beq _08182BB8 - cmp r0, 0x3 - beq _08182BCA - b _08182BE2 -_08182B8A: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 12 - negs r0, r0 - cmp r0, 0 - bge _08182B9C - ldr r1, =0x000001ff - adds r0, r1 -_08182B9C: - asrs r0, 9 - b _08182BE0 - .pool -_08182BA4: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08182BB2 - adds r0, 0x1F -_08182BB2: - asrs r0, 5 - subs r0, 0x10 - b _08182BE0 -_08182BB8: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08182BC6 - adds r0, 0x1F -_08182BC6: - asrs r0, 5 - b _08182BE0 -_08182BCA: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 12 - negs r0, r0 - cmp r0, 0 - bge _08182BDC - ldr r1, =0x000001ff - adds r0, r1 -_08182BDC: - asrs r0, 9 - adds r0, 0x10 -_08182BE0: - strh r0, [r4, 0x24] -_08182BE2: - movs r0, 0x32 - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08182BEE - adds r0, 0x7F -_08182BEE: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x4 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x18 - strh r0, [r4, 0x32] -_08182C08: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_43 - - thumb_func_start pokemonanimfunc_44 -pokemonanimfunc_44: @ 8182C18 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r1, [r4, 0x32] - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08182C34 - strh r0, [r4, 0x3A] - movs r0, 0x40 - strh r0, [r4, 0x3C] - adds r0, r1, 0x1 - strh r0, [r4, 0x32] -_08182C34: - ldrh r0, [r4, 0x3C] - adds r1, r0, 0 - adds r1, 0x8 - movs r3, 0 - strh r1, [r4, 0x3C] - ldrh r2, [r4, 0x3A] - movs r5, 0x3A - ldrsh r0, [r4, r5] - cmp r0, 0x4 - bne _08182C52 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x3F - ble _08182C60 - b _08182C5A -_08182C52: - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x7F - ble _08182C60 -_08182C5A: - strh r3, [r4, 0x3C] - adds r0, r2, 0x1 - strh r0, [r4, 0x3A] -_08182C60: - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bhi _08182D08 - lsls r0, 2 - ldr r1, =_08182C78 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08182C78: - .4byte _08182CEC - .4byte _08182C8C - .4byte _08182CAA - .4byte _08182CCC - .4byte _08182CEC -_08182C8C: - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r1, 0x8 - bl Cos - negs r0, r0 - strh r0, [r4, 0x24] - movs r5, 0x3C - ldrsh r0, [r4, r5] - movs r1, 0x8 - bl Sin - subs r0, 0x8 - strh r0, [r4, 0x26] - b _08182D12 -_08182CAA: - ldrh r0, [r4, 0x3C] - adds r0, 0x80 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - adds r0, 0x8 - strh r0, [r4, 0x24] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - b _08182D12 -_08182CCC: - movs r2, 0x3C - ldrsh r0, [r4, r2] - movs r1, 0x8 - bl Cos - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x3C] - adds r0, 0x80 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - adds r0, 0x8 - strh r0, [r4, 0x26] - b _08182D12 -_08182CEC: - movs r5, 0x3C - ldrsh r0, [r4, r5] - movs r1, 0x8 - bl Sin - subs r0, 0x8 - strh r0, [r4, 0x24] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Cos - strh r0, [r4, 0x26] - b _08182D12 -_08182D08: - movs r0, 0 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] -_08182D12: - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_44 - - thumb_func_start pokemonanimfunc_45 -pokemonanimfunc_45: @ 8182D24 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x20 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_8180714 - ldr r0, =sub_8180714 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_45 - - thumb_func_start pokemonanimfunc_46 -pokemonanimfunc_46: @ 8182D40 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x50 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_817F8FC - ldr r0, =sub_817F8FC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_46 - - thumb_func_start pokemonanimfunc_47 -pokemonanimfunc_47: @ 8182D5C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x50 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_817F978 - ldr r0, =sub_817F978 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_47 - - thumb_func_start pokemonanimfunc_48 -pokemonanimfunc_48: @ 8182D78 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x80 - lsls r0, 4 - strh r0, [r1, 0x6] - ldrh r0, [r4, 0x3A] - strh r0, [r1, 0x8] - adds r0, r4, 0 - bl sub_8180900 - ldr r0, =sub_8180900 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_48 - - thumb_func_start pokemonanimfunc_49 -pokemonanimfunc_49: @ 8182DB4 - push {lr} - movs r1, 0x1 - strh r1, [r0, 0x3A] - bl pokemonanimfunc_05 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_49 - - thumb_func_start pokemonanimfunc_4A -pokemonanimfunc_4A: @ 8182DC4 - push {lr} - movs r1, 0x1 - strh r1, [r0, 0x3A] - bl pokemonanimfunc_48 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_4A - - thumb_func_start pokemonanimfunc_4B -pokemonanimfunc_4B: @ 8182DD4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08182DE2 - strh r0, [r4, 0x2E] -_08182DE2: - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - bgt _08182DF6 - adds r0, r4, 0 - bl sub_817FC20 - movs r0, 0x1 - b _08182DF8 -_08182DF6: - subs r0, r1, 0x1 -_08182DF8: - strh r0, [r4, 0x2E] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_4B - - thumb_func_start pokemonanimfunc_4C -pokemonanimfunc_4C: @ 8182E00 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1E - strh r0, [r4, 0x2E] - movs r0, 0x3 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_817FCDC - ldr r0, =sub_817FCDC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_4C - - thumb_func_start pokemonanimfunc_4D -pokemonanimfunc_4D: @ 8182E20 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1E - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_817FD44 - ldr r0, =sub_817FD44 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_4D - - thumb_func_start pokemonanimfunc_4E -pokemonanimfunc_4E: @ 8182E3C - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - movs r3, 0 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x80 - lsls r0, 3 - strh r0, [r1, 0x6] - strh r3, [r1] - movs r0, 0x2 - strh r0, [r1, 0x4] - adds r0, r4, 0 - bl sub_817FE30 - ldr r0, =sub_817FE30 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_4E - - thumb_func_start pokemonanimfunc_4F -pokemonanimfunc_4F: @ 8182E7C - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x80 - lsls r0, 2 - strh r0, [r1, 0x6] - movs r0, 0x3 - strh r0, [r1, 0x8] - movs r0, 0xC - strh r0, [r1, 0x2] - adds r0, r4, 0 - bl sub_817FFF0 - ldr r0, =sub_817FFF0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_4F - - thumb_func_start pokemonanimfunc_50 -pokemonanimfunc_50: @ 8182EBC - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x18 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_818031C - ldr r0, =sub_818031C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_50 - - thumb_func_start pokemonanimfunc_51 -pokemonanimfunc_51: @ 8182ED8 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_81804F8 - ldr r0, =sub_81804F8 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_51 - - thumb_func_start pokemonanimfunc_52 -pokemonanimfunc_52: @ 8182EF4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x3 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_817F9F4 - ldr r0, =sub_817F9F4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_52 - - thumb_func_start pokemonanimfunc_53 -pokemonanimfunc_53: @ 8182F10 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x3C - strh r0, [r1] - movs r0, 0x1E - strh r0, [r1, 0x8] - adds r0, r4, 0 - bl sub_817FF3C - ldr r0, =sub_817FF3C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_53 - - thumb_func_start pokemonanimfunc_54 -pokemonanimfunc_54: @ 8182F48 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0x2] - movs r0, 0x2 - strh r0, [r1, 0x4] - adds r0, r4, 0 - bl sub_8181214 - ldr r0, =sub_8181214 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_54 - - thumb_func_start pokemonanimfunc_55 -pokemonanimfunc_55: @ 8182F80 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x4 - strh r0, [r1, 0x6] - movs r0, 0x2 - strh r0, [r1, 0x4] - adds r0, r4, 0 - bl sub_8181810 - ldr r0, =sub_8181810 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_55 - - thumb_func_start pokemonanimfunc_56 -pokemonanimfunc_56: @ 8182FB8 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0x2 - strh r0, [r1, 0x4] - adds r0, r4, 0 - bl sub_817F670 - strh r5, [r4, 0x34] - adds r0, r4, 0 - bl sub_8181ABC - ldr r0, =sub_8181ABC - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_56 - - thumb_func_start pokemonanimfunc_07 -pokemonanimfunc_07: @ 8182FFC - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x2 - strh r0, [r1, 0x6] - adds r0, r4, 0 - bl sub_8181CE8 - ldr r0, =sub_8181CE8 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_07 - - thumb_func_start pokemonanimfunc_08 -pokemonanimfunc_08: @ 8183030 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x4 - strh r0, [r1, 0x6] - movs r0, 0x2 - strh r0, [r1, 0x4] - adds r0, r4, 0 - bl sub_8181CE8 - ldr r0, =sub_8181CE8 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_08 - - thumb_func_start pokemonanimfunc_0B -pokemonanimfunc_0B: @ 8183068 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x64 - strh r0, [r1, 0x8] - adds r0, r4, 0 - bl sub_81814D4 - ldr r0, =sub_81814D4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_0B - - thumb_func_start pokemonanimfunc_0C -pokemonanimfunc_0C: @ 818309C - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x32 - strh r0, [r1, 0x8] - movs r0, 0x2 - strh r0, [r1, 0x4] - adds r0, r4, 0 - bl sub_81814D4 - ldr r0, =sub_81814D4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_0C - - thumb_func_start pokemonanimfunc_0D -pokemonanimfunc_0D: @ 81830D4 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x64 - strh r0, [r1, 0x8] - adds r0, r4, 0 - bl sub_81815D4 - ldr r0, =sub_81815D4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_0D - - thumb_func_start pokemonanimfunc_0E -pokemonanimfunc_0E: @ 8183108 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x32 - strh r0, [r1, 0x8] - movs r0, 0x2 - strh r0, [r1, 0x4] - adds r0, r4, 0 - bl sub_81815D4 - ldr r0, =sub_81815D4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_0E - - thumb_func_start sub_8183140 -sub_8183140: @ 8183140 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r0, 0x90 - lsls r0, 4 - cmp r2, r0 - ble _0818315C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - b _08183180 - .pool -_0818315C: - adds r1, r2, 0 - adds r1, 0xC0 - adds r0, r1, 0 - cmp r1, 0 - bge _0818316A - ldr r3, =0x000001bf - adds r0, r2, r3 -_0818316A: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r2, 0x3C - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x3C] - adds r0, r1 -_08183180: - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - ldrh r3, [r4, 0x32] - adds r0, r3 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8183140 - - thumb_func_start pokemonanimfunc_57 -pokemonanimfunc_57: @ 8183194 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x3C - strh r0, [r4, 0x2E] - movs r0, 0x3 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_8183140 - ldr r0, =sub_8183140 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_57 - - thumb_func_start pokemonanimfunc_58 -pokemonanimfunc_58: @ 81831B4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1E - strh r0, [r4, 0x2E] - movs r0, 0x3 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_8183140 - ldr r0, =sub_8183140 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_58 - - thumb_func_start pokemonanimfunc_59 -pokemonanimfunc_59: @ 81831D4 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 4 - cmp r1, r0 - ble _081831F8 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x3A] - b _081832BC - .pool -_081831F8: - movs r1, 0x32 - ldrsh r2, [r4, r1] - adds r0, r2, 0 - cmp r2, 0 - bge _08183206 - ldr r1, =0x000001ff - adds r0, r2, r1 -_08183206: - asrs r3, r0, 9 - adds r1, r3, 0 - adds r0, r1, 0 - cmp r1, 0 - bge _08183212 - adds r0, r1, 0x3 -_08183212: - asrs r0, 2 - lsls r0, 2 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _08183268 - cmp r0, 0x1 - bgt _08183230 - cmp r0, 0 - beq _0818323A - b _08183298 - .pool -_08183230: - cmp r0, 0x2 - beq _0818324C - cmp r0, 0x3 - beq _08183284 - b _08183298 -_0818323A: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08183248 - adds r0, 0x1F -_08183248: - asrs r0, 5 - b _08183296 -_0818324C: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 12 - negs r0, r0 - cmp r0, 0 - bge _0818325E - ldr r1, =0x000001ff - adds r0, r1 -_0818325E: - asrs r0, 9 - b _08183296 - .pool -_08183268: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 12 - negs r0, r0 - cmp r0, 0 - bge _0818327A - ldr r1, =0x000001ff - adds r0, r1 -_0818327A: - asrs r0, 9 - adds r0, 0x10 - b _08183296 - .pool -_08183284: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08183292 - adds r0, 0x1F -_08183292: - asrs r0, 5 - subs r0, 0x10 -_08183296: - strh r0, [r4, 0x24] -_08183298: - movs r0, 0x32 - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _081832A4 - adds r0, 0x7F -_081832A4: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x4 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x18 - strh r0, [r4, 0x32] -_081832BC: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_59 - - thumb_func_start sub_81832C8 -sub_81832C8: @ 81832C8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - movs r0, 0 - mov r8, r0 - movs r2, 0x38 - ldrsh r1, [r6, r2] - movs r2, 0x3A - ldrsh r0, [r6, r2] - cmp r1, r0 - ble _0818331A - mov r0, r8 - strh r0, [r6, 0x26] - strh r0, [r6, 0x38] - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - ldrh r1, [r6, 0x36] - movs r2, 0x36 - ldrsh r0, [r6, r2] - cmp r0, 0x1 - bgt _08183310 - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _081833DC - .pool -_08183310: - subs r0, r1, 0x1 - strh r0, [r6, 0x36] - mov r0, r8 - strh r0, [r6, 0x3C] - b _081833DC -_0818331A: - movs r1, 0x38 - ldrsh r5, [r6, r1] - lsls r0, r5, 7 - movs r2, 0x3A - ldrsh r4, [r6, r2] - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r4, 0 - bge _08183334 - adds r4, 0x3 -_08183334: - asrs r1, r4, 2 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r5, r1 - blt _08183358 - cmp r5, r0 - bge _08183358 - ldrh r0, [r6, 0x3C] - adds r0, 0x33 - strh r0, [r6, 0x3C] - movs r1, 0xFF - mov r8, r1 - ands r1, r0 - mov r8, r1 -_08183358: - movs r1, 0x30 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0818337C - lsls r4, r2, 16 - asrs r0, r4, 16 - movs r1, 0x10 - bl Sin - ldr r2, =0xffffff00 - adds r1, r2, 0 - subs r1, r0 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - b _08183392 - .pool -_0818337C: - lsls r4, r2, 16 - asrs r0, r4, 16 - movs r1, 0x10 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 -_08183392: - adds r7, r4, 0 - ldrh r4, [r6, 0x34] - lsls r4, 24 - lsrs r4, 24 - mov r5, r8 - adds r0, r4, 0 - movs r1, 0x5 - bl __udivsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl Sin - adds r5, r0, 0 - asrs r0, r7, 16 - adds r1, r4, 0 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r2, r1, 0 - subs r2, r5 - subs r2, r0 - mov r0, r9 - lsls r1, r0, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - adds r0, r6, 0 - movs r3, 0 - bl sub_817F618 - ldrh r0, [r6, 0x38] - adds r0, 0x1 - strh r0, [r6, 0x38] -_081833DC: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81832C8 - - thumb_func_start pokemonanimfunc_5A -pokemonanimfunc_5A: @ 81833E8 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x32 - ldrsh r6, [r5, r0] - cmp r6, 0 - bne _0818340A - movs r4, 0x1 - strh r4, [r5, 0x32] - adds r0, r5, 0 - bl sub_817F670 - strh r4, [r5, 0x36] - movs r0, 0x28 - strh r0, [r5, 0x3A] - strh r0, [r5, 0x34] - strh r6, [r5, 0x38] - strh r6, [r5, 0x3C] -_0818340A: - adds r0, r5, 0 - bl sub_81832C8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_5A - - thumb_func_start sub_8183418 -sub_8183418: @ 8183418 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - movs r0, 0 - mov r8, r0 - movs r2, 0x38 - ldrsh r1, [r6, r2] - movs r2, 0x3A - ldrsh r0, [r6, r2] - cmp r1, r0 - ble _0818346A - mov r0, r8 - strh r0, [r6, 0x38] - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - ldrh r1, [r6, 0x36] - movs r2, 0x36 - ldrsh r0, [r6, r2] - cmp r0, 0x1 - bgt _08183460 - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _08183538 - .pool -_08183460: - subs r0, r1, 0x1 - strh r0, [r6, 0x36] - mov r0, r8 - strh r0, [r6, 0x3C] - b _08183538 -_0818346A: - movs r1, 0x38 - ldrsh r5, [r6, r1] - lsls r0, r5, 7 - movs r2, 0x3A - ldrsh r4, [r6, r2] - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - cmp r4, 0 - bge _08183486 - adds r4, 0x3 -_08183486: - asrs r1, r4, 2 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r5, r1 - blt _081834AC - cmp r5, r0 - bge _081834AC - ldrh r0, [r6, 0x3C] - adds r0, 0x33 - strh r0, [r6, 0x3C] - movs r1, 0xFF - mov r8, r1 - mov r2, r8 - ands r2, r0 - mov r8, r2 -_081834AC: - ldrh r0, [r6, 0x34] - lsls r0, 24 - lsrs r7, r0, 24 - movs r1, 0x30 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _081834F0 - mov r2, r9 - lsls r0, r2, 16 - asrs r0, 16 - adds r1, r7, 0 - bl Sin - adds r4, r0, 0 - mov r5, r8 - adds r0, r7, 0 - movs r1, 0x5 - bl __udivsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 23 - adds r0, r5, 0 - bl Sin - ldr r1, =0xffffff00 - adds r0, r1 - adds r4, r0 - lsls r4, 16 - lsrs r1, r4, 16 - b _08183522 - .pool -_081834F0: - mov r4, r8 - adds r0, r7, 0 - movs r1, 0x5 - bl __udivsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 23 - adds r0, r4, 0 - bl Sin - adds r4, r0, 0 - mov r2, r9 - lsls r0, r2, 16 - asrs r0, 16 - adds r1, r7, 0 - bl Sin - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - subs r1, r4 - subs r1, r0 - lsls r1, 16 - lsrs r1, 16 -_08183522: - lsls r1, 16 - asrs r1, 16 - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - movs r3, 0 - bl sub_817F618 - ldrh r0, [r6, 0x38] - adds r0, 0x1 - strh r0, [r6, 0x38] -_08183538: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8183418 - - thumb_func_start pokemonanimfunc_5B -pokemonanimfunc_5B: @ 8183544 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x32 - ldrsh r6, [r5, r0] - cmp r6, 0 - bne _08183566 - movs r4, 0x1 - strh r4, [r5, 0x32] - adds r0, r5, 0 - bl sub_817F670 - strh r4, [r5, 0x36] - movs r0, 0x28 - strh r0, [r5, 0x3A] - strh r0, [r5, 0x34] - strh r6, [r5, 0x38] - strh r6, [r5, 0x3C] -_08183566: - adds r0, r5, 0 - bl sub_8183418 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_5B - - thumb_func_start sub_8183574 -sub_8183574: @ 8183574 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r0, [r4, 0x3A] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r3, =gUnknown_0860AA80 - movs r1, 0x38 - ldrsh r0, [r4, r1] - lsls r1, r0, 1 - adds r0, r1, r3 - ldrb r5, [r0] - adds r2, r5, 0 - cmp r5, 0xFF - beq _081835A6 - ldrh r0, [r4, 0x3C] - lsls r0, 24 - lsrs r5, r0, 24 -_081835A6: - adds r0, r3, 0x1 - adds r0, r1, r0 - ldrb r6, [r0] - movs r7, 0 - cmp r2, 0xFE - beq _081835C2 - mov r1, r9 - subs r0, r6, r1 - muls r0, r5 - adds r1, r6, 0 - bl __divsi3 - lsls r0, 24 - lsrs r7, r0, 24 -_081835C2: - cmp r5, 0xFF - bne _081835D8 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x26] - b _0818360A - .pool -_081835D8: - mov r1, r8 - adds r1, 0xC0 - adds r0, r1, 0 - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - adds r1, r7, 0 - bl Sin - adds r0, r7 - strh r0, [r4, 0x26] - cmp r9, r6 - bne _081835FC - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - movs r0, 0 - b _08183608 -_081835FC: - ldrh r0, [r4, 0x2E] - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x3A] - adds r0, 0x1 -_08183608: - strh r0, [r4, 0x3A] -_0818360A: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8183574 - - thumb_func_start pokemonanimfunc_5C -pokemonanimfunc_5C: @ 8183618 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x28 - strh r0, [r4, 0x2E] - movs r0, 0x6 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_8183574 - ldr r0, =sub_8183574 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_5C - - thumb_func_start pokemonanimfunc_5D -pokemonanimfunc_5D: @ 8183638 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x46 - strh r0, [r4, 0x2E] - movs r0, 0x6 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_817FCDC - ldr r0, =sub_817FCDC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_5D - - thumb_func_start pokemonanimfunc_5E -pokemonanimfunc_5E: @ 8183658 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x14 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_817F8FC - ldr r0, =sub_817F8FC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_5E - - thumb_func_start pokemonanimfunc_5F -pokemonanimfunc_5F: @ 8183674 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x32] - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r0, 0x28 - ble _08183690 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - b _081836CA - .pool -_08183690: - movs r0, 0x1 - ands r0, r1 - movs r5, 0xFF - cmp r0, 0 - bne _0818369C - movs r5, 0x1 -_0818369C: - movs r1, 0x32 - ldrsh r0, [r4, r1] - lsls r0, 7 - movs r1, 0x28 - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _081836B0 - adds r0, 0xFF -_081836B0: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x9 - bl Sin - lsls r1, r5, 24 - asrs r1, 24 - adds r2, r0, 0 - muls r2, r1 - adds r0, r2, 0 -_081836CA: - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_5F - - thumb_func_start pokemonanimfunc_60 -pokemonanimfunc_60: @ 81836D8 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x32] - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r0, 0x28 - ble _081836F4 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - b _0818372E - .pool -_081836F4: - movs r0, 0x1 - ands r0, r1 - movs r5, 0xFF - cmp r0, 0 - bne _08183700 - movs r5, 0x1 -_08183700: - movs r1, 0x32 - ldrsh r0, [r4, r1] - lsls r0, 7 - movs r1, 0x28 - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _08183714 - adds r0, 0xFF -_08183714: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0xC - bl Sin - lsls r1, r5, 24 - asrs r1, 24 - adds r2, r0, 0 - muls r2, r1 - adds r0, r2, 0 -_0818372E: - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_60 - - thumb_func_start pokemonanimfunc_61 -pokemonanimfunc_61: @ 818373C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x46 - strh r0, [r4, 0x2E] - movs r0, 0x6 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_8183140 - ldr r0, =sub_8183140 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_61 - - thumb_func_start pokemonanimfunc_62 -pokemonanimfunc_62: @ 818375C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x18 - strh r0, [r4, 0x2E] - movs r0, 0x6 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_8183574 - ldr r0, =sub_8183574 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_62 - - thumb_func_start pokemonanimfunc_63 -pokemonanimfunc_63: @ 818377C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x38 - strh r0, [r4, 0x2E] - movs r0, 0x9 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - bl sub_8183574 - ldr r0, =sub_8183574 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_63 - - thumb_func_start pokemonanimfunc_64 -pokemonanimfunc_64: @ 818379C - push {r4,lr} - adds r4, r0, 0 - bl sub_817F758 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2E] - ldr r2, =gUnknown_03001240 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x80 - lsls r0, 3 - strh r0, [r1, 0x6] - movs r0, 0x6 - strh r0, [r1, 0x8] - movs r0, 0x18 - strh r0, [r1, 0x2] - adds r0, r4, 0 - bl sub_817FFF0 - ldr r0, =sub_817FFF0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_64 - - thumb_func_start sub_81837DC -sub_81837DC: @ 81837DC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r7, r0, 0 - movs r5, 0 - movs r0, 0x38 - ldrsh r1, [r7, r0] - movs r2, 0x3A - ldrsh r0, [r7, r2] - cmp r1, r0 - ble _0818382C - strh r5, [r7, 0x26] - strh r5, [r7, 0x38] - movs r2, 0x80 - lsls r2, 1 - adds r0, r7, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - ldrh r1, [r7, 0x36] - movs r2, 0x36 - ldrsh r0, [r7, r2] - cmp r0, 0x1 - bgt _08183824 - adds r0, r7, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r7, 0x1C] - b _0818392C - .pool -_08183824: - subs r0, r1, 0x1 - strh r0, [r7, 0x36] - strh r5, [r7, 0x3C] - b _0818392C -_0818382C: - movs r0, 0x38 - ldrsh r6, [r7, r0] - lsls r0, r6, 7 - movs r1, 0x3A - ldrsh r4, [r7, r1] - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r4, 0 - bge _08183846 - adds r4, 0x3 -_08183846: - asrs r1, r4, 2 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r6, r1 - blt _08183866 - cmp r6, r0 - bge _08183866 - ldrh r0, [r7, 0x3C] - adds r0, 0x33 - strh r0, [r7, 0x3C] - movs r5, 0xFF - ands r5, r0 -_08183866: - ldrh r0, [r7, 0x34] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r1, 0x30 - ldrsh r0, [r7, r1] - cmp r0, 0 - bne _081838B0 - lsls r2, 16 - mov r8, r2 - asrs r0, r2, 16 - mov r1, r9 - bl Sin - adds r4, r0, 0 - lsls r6, r5, 16 - asrs r5, r6, 16 - mov r0, r9 - movs r1, 0x5 - bl __udivsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 23 - adds r0, r5, 0 - bl Sin - ldr r2, =0xffffff00 - adds r4, r2 - adds r0, r4 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - mov r0, r8 - b _081838EA - .pool -_081838B0: - lsls r2, 16 - mov r8, r2 - asrs r0, r2, 16 - mov r1, r9 - bl Sin - adds r6, r0, 0 - lsls r5, 16 - asrs r4, r5, 16 - mov r0, r9 - movs r1, 0x5 - bl __udivsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 23 - adds r0, r4, 0 - bl Sin - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - subs r1, r6 - subs r1, r0 - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - mov r0, r8 - adds r6, r5, 0 -_081838EA: - asrs r0, 16 - mov r1, r9 - bl Sin - adds r5, r0, 0 - asrs r4, r6, 16 - mov r0, r9 - movs r1, 0x5 - bl __udivsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r2, r1, 0 - subs r2, r5 - subs r2, r0 - mov r0, r10 - lsls r1, r0, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - adds r0, r7, 0 - movs r3, 0 - bl sub_817F618 - ldrh r0, [r7, 0x38] - adds r0, 0x1 - strh r0, [r7, 0x38] -_0818392C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81837DC - - thumb_func_start pokemonanimfunc_65 -pokemonanimfunc_65: @ 818393C - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x32 - ldrsh r6, [r5, r0] - cmp r6, 0 - bne _0818395E - movs r4, 0x1 - strh r4, [r5, 0x32] - adds r0, r5, 0 - bl sub_817F670 - strh r4, [r5, 0x36] - movs r0, 0x28 - strh r0, [r5, 0x3A] - strh r0, [r5, 0x34] - strh r6, [r5, 0x38] - strh r6, [r5, 0x3C] -_0818395E: - adds r0, r5, 0 - bl sub_81837DC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_65 - - thumb_func_start pokemonanimfunc_66 -pokemonanimfunc_66: @ 818396C - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 4 - cmp r1, r0 - ble _08183990 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x3A] - b _08183A54 - .pool -_08183990: - movs r1, 0x32 - ldrsh r2, [r4, r1] - adds r0, r2, 0 - cmp r2, 0 - bge _0818399E - ldr r1, =0x000001ff - adds r0, r2, r1 -_0818399E: - asrs r3, r0, 9 - adds r1, r3, 0 - adds r0, r1, 0 - cmp r1, 0 - bge _081839AA - adds r0, r1, 0x3 -_081839AA: - asrs r0, 2 - lsls r0, 2 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _08183A00 - cmp r0, 0x1 - bgt _081839C8 - cmp r0, 0 - beq _081839D2 - b _08183A30 - .pool -_081839C8: - cmp r0, 0x2 - beq _081839E4 - cmp r0, 0x3 - beq _08183A1C - b _08183A30 -_081839D2: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _081839E0 - adds r0, 0x1F -_081839E0: - asrs r0, 5 - b _08183A2E -_081839E4: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 12 - negs r0, r0 - cmp r0, 0 - bge _081839F6 - ldr r1, =0x000001ff - adds r0, r1 -_081839F6: - asrs r0, 9 - b _08183A2E - .pool -_08183A00: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 12 - negs r0, r0 - cmp r0, 0 - bge _08183A12 - ldr r1, =0x000001ff - adds r0, r1 -_08183A12: - asrs r0, 9 - adds r0, 0x10 - b _08183A2E - .pool -_08183A1C: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08183A2A - adds r0, 0x1F -_08183A2A: - asrs r0, 5 - subs r0, 0x10 -_08183A2E: - strh r0, [r4, 0x24] -_08183A30: - movs r0, 0x32 - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08183A3C - adds r0, 0x7F -_08183A3C: - asrs r0, 7 - lsls r0, 7 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x4 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x30 - strh r0, [r4, 0x32] -_08183A54: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_66 - - thumb_func_start pokemonanimfunc_67 -pokemonanimfunc_67: @ 8183A60 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 4 - cmp r1, r0 - ble _08183A84 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x3A] - b _08183B40 - .pool -_08183A84: - movs r1, 0x32 - ldrsh r2, [r4, r1] - adds r0, r2, 0 - cmp r2, 0 - bge _08183A92 - ldr r1, =0x000001ff - adds r0, r2, r1 -_08183A92: - asrs r3, r0, 9 - adds r1, r3, 0 - adds r0, r1, 0 - cmp r1, 0 - bge _08183A9E - adds r0, r1, 0x3 -_08183A9E: - asrs r0, 2 - lsls r0, 2 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _08183AF4 - cmp r0, 0x1 - bgt _08183ABC - cmp r0, 0 - beq _08183AC6 - b _08183B24 - .pool -_08183ABC: - cmp r0, 0x2 - beq _08183AD8 - cmp r0, 0x3 - beq _08183B10 - b _08183B24 -_08183AC6: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08183AD4 - adds r0, 0x1F -_08183AD4: - asrs r0, 5 - b _08183B22 -_08183AD8: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 12 - negs r0, r0 - cmp r0, 0 - bge _08183AEA - ldr r1, =0x000001ff - adds r0, r1 -_08183AEA: - asrs r0, 9 - b _08183B22 - .pool -_08183AF4: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 12 - negs r0, r0 - cmp r0, 0 - bge _08183B06 - ldr r1, =0x000001ff - adds r0, r1 -_08183B06: - asrs r0, 9 - adds r0, 0x10 - b _08183B22 - .pool -_08183B10: - lsls r0, r3, 9 - subs r0, r2, r0 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08183B1E - adds r0, 0x1F -_08183B1E: - asrs r0, 5 - subs r0, 0x10 -_08183B22: - strh r0, [r4, 0x24] -_08183B24: - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0x60 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x4 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x40 - strh r0, [r4, 0x32] -_08183B40: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_67 - - thumb_func_start sub_8183B4C -sub_8183B4C: @ 8183B4C - push {r4-r7,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08183B5E - strh r0, [r4, 0x34] -_08183B5E: - ldr r7, =gUnknown_0860ADBE - movs r2, 0x34 - ldrsh r1, [r4, r2] - lsls r0, r1, 1 - adds r0, r1 - adds r5, r7, 0x2 - adds r0, r5 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl __divsi3 - movs r2, 0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _08183B8C - ldrh r0, [r4, 0x34] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x34] - strh r1, [r4, 0x32] -_08183B8C: - movs r0, 0x34 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r6, r0, r1 - adds r0, r6, r5 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - movs r1, 0x38 - ldrsh r5, [r4, r1] - adds r1, r5, 0 - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bne _08183BCC - ldrh r0, [r4, 0x3A] - subs r0, 0x1 - strh r0, [r4, 0x3A] - lsls r0, 16 - cmp r0, 0 - bne _08183BC8 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08183C06 - .pool -_08183BC8: - strh r1, [r4, 0x32] - b _08183C06 -_08183BCC: - adds r0, r6, r7 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - muls r0, r5 - ldrh r2, [r4, 0x24] - adds r0, r2 - strh r0, [r4, 0x24] - movs r0, 0x34 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - adds r1, r7, 0x1 - adds r0, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - ldrh r0, [r4, 0x38] - adds r2, r0, 0 - muls r2, r1 - adds r0, r2, 0 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F70C -_08183C06: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8183B4C - - thumb_func_start pokemonanimfunc_68 -pokemonanimfunc_68: @ 8183C0C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1 - strh r0, [r4, 0x38] - strh r0, [r4, 0x3A] - adds r0, r4, 0 - bl sub_8183B4C - ldr r0, =sub_8183B4C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_68 - - thumb_func_start pokemonanimfunc_69 -pokemonanimfunc_69: @ 8183C2C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x2 - strh r0, [r4, 0x38] - movs r0, 0x1 - strh r0, [r4, 0x3A] - adds r0, r4, 0 - bl sub_8183B4C - ldr r0, =sub_8183B4C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_69 - - thumb_func_start pokemonanimfunc_6A -pokemonanimfunc_6A: @ 8183C4C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x2 - strh r0, [r4, 0x38] - strh r0, [r4, 0x3A] - adds r0, r4, 0 - bl sub_8183B4C - ldr r0, =sub_8183B4C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_6A - - thumb_func_start sub_8183C6C -sub_8183C6C: @ 8183C6C - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0xFF - ble _08183CAE - ldrh r1, [r4, 0x38] - movs r2, 0x38 - ldrsh r0, [r4, r2] - cmp r0, 0x1 - bgt _08183CA4 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - b _08183CE8 - .pool -_08183CA4: - subs r0, r1, 0x1 - movs r1, 0 - strh r0, [r4, 0x38] - strh r1, [r4, 0x3C] - b _08183CE8 -_08183CAE: - ldrh r0, [r4, 0x3A] - adds r0, r1, r0 - strh r0, [r4, 0x3C] - lsls r0, 16 - asrs r0, 16 - movs r5, 0x80 - lsls r5, 1 - cmp r0, r5 - ble _08183CC2 - strh r5, [r4, 0x3C] -_08183CC2: - movs r1, 0x3C - ldrsh r0, [r4, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - movs r1, 0x40 - bl Sin - adds r2, r0, 0 - lsls r2, 16 - asrs r2, 16 - subs r2, r5, r2 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 -_08183CE8: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8183C6C - - thumb_func_start pokemonanimfunc_6B -pokemonanimfunc_6B: @ 8183CF0 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08183D16 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] - movs r0, 0x4 - strh r0, [r4, 0x3A] - movs r0, 0x1 - strh r0, [r4, 0x38] -_08183D16: - adds r0, r4, 0 - bl sub_8183C6C - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_6B - - thumb_func_start pokemonanimfunc_6C -pokemonanimfunc_6C: @ 8183D28 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_817F70C - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08183D4E - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] - movs r0, 0x8 - strh r0, [r4, 0x3A] - movs r0, 0x2 - strh r0, [r4, 0x38] -_08183D4E: - adds r0, r4, 0 - bl sub_8183C6C - adds r0, r4, 0 - bl sub_817F70C - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_6C - - thumb_func_start pokemonanimfunc_6D -pokemonanimfunc_6D: @ 8183D60 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08183D88 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] - movs r0, 0x8 - strh r0, [r4, 0x3A] - movs r0, 0x80 - lsls r0, 2 - strh r0, [r4, 0x38] - movs r0, 0x10 - strh r0, [r4, 0x36] -_08183D88: - adds r0, r4, 0 - bl sub_8182764 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_6D - - thumb_func_start pokemonanimfunc_6E -pokemonanimfunc_6E: @ 8183D94 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08183DBA - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] - movs r0, 0x4 - strh r0, [r4, 0x3A] - adds r0, 0xFC - strh r0, [r4, 0x38] - movs r0, 0x10 - strh r0, [r4, 0x36] -_08183DBA: - adds r0, r4, 0 - bl sub_8182764 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_6E - - thumb_func_start pokemonanimfunc_6F -pokemonanimfunc_6F: @ 8183DC8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08183DF0 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] - movs r0, 0x8 - strh r0, [r4, 0x3A] - movs r0, 0x80 - lsls r0, 2 - strh r0, [r4, 0x38] - movs r0, 0x10 - strh r0, [r4, 0x36] -_08183DF0: - adds r0, r4, 0 - bl sub_8182830 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_6F - - thumb_func_start pokemonanimfunc_70 -pokemonanimfunc_70: @ 8183DFC - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08183E22 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - strh r5, [r4, 0x3C] - movs r1, 0x8 - strh r1, [r4, 0x3A] - movs r0, 0x80 - lsls r0, 2 - strh r0, [r4, 0x38] - strh r1, [r4, 0x36] -_08183E22: - adds r0, r4, 0 - bl sub_8182830 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_70 - - thumb_func_start pokemonanimfunc_71 -pokemonanimfunc_71: @ 8183E30 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08183E4A - adds r0, r4, 0 - bl sub_817F670 - movs r0, 0x5 - strh r0, [r4, 0x3C] - movs r0, 0x8 - strh r0, [r4, 0x3A] -_08183E4A: - adds r0, r4, 0 - bl sub_8180828 - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_71 - - thumb_func_start pokemonanimfunc_72 -pokemonanimfunc_72: @ 8183E58 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08183E72 - adds r0, r4, 0 - bl sub_817F670 - movs r0, 0x3 - strh r0, [r4, 0x3C] - movs r0, 0x4 - strh r0, [r4, 0x3A] -_08183E72: - adds r0, r4, 0 - bl sub_8180828 - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_72 - - thumb_func_start pokemonanimfunc_73 -pokemonanimfunc_73: @ 8183E80 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x32 - ldrsh r6, [r5, r0] - cmp r6, 0 - bne _08183EA2 - movs r4, 0x1 - strh r4, [r5, 0x32] - adds r0, r5, 0 - bl sub_817F670 - strh r4, [r5, 0x36] - movs r0, 0x1E - strh r0, [r5, 0x3A] - movs r0, 0x3C - strh r0, [r5, 0x34] - strh r6, [r5, 0x3C] -_08183EA2: - adds r0, r5, 0 - bl sub_81832C8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_73 - - thumb_func_start pokemonanimfunc_74 -pokemonanimfunc_74: @ 8183EB0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08183ED4 - movs r0, 0x1 - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F670 - movs r0, 0x2 - strh r0, [r4, 0x36] - movs r0, 0x14 - strh r0, [r4, 0x3A] - movs r0, 0x46 - strh r0, [r4, 0x34] - strh r5, [r4, 0x3C] -_08183ED4: - adds r0, r4, 0 - bl sub_81832C8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_74 - - thumb_func_start pokemonanimfunc_75 -pokemonanimfunc_75: @ 8183EE0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08183F06 - movs r0, 0x1 - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F670 - movs r0, 0x2 - strh r0, [r4, 0x36] - movs r0, 0x14 - strh r0, [r4, 0x3A] - movs r0, 0x46 - strh r0, [r4, 0x34] - strh r5, [r4, 0x38] - strh r5, [r4, 0x3C] -_08183F06: - adds r0, r4, 0 - bl sub_8183418 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_75 - - thumb_func_start pokemonanimfunc_76 -pokemonanimfunc_76: @ 8183F14 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x32 - ldrsh r6, [r5, r0] - cmp r6, 0 - bne _08183F38 - movs r4, 0x1 - strh r4, [r5, 0x32] - adds r0, r5, 0 - bl sub_817F670 - strh r4, [r5, 0x36] - movs r0, 0x1E - strh r0, [r5, 0x3A] - movs r0, 0x3C - strh r0, [r5, 0x34] - strh r6, [r5, 0x38] - strh r6, [r5, 0x3C] -_08183F38: - adds r0, r5, 0 - bl sub_8183418 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_76 - - thumb_func_start pokemonanimfunc_77 -pokemonanimfunc_77: @ 8183F44 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08183F6A - movs r0, 0x1 - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl sub_817F670 - movs r0, 0x2 - strh r0, [r4, 0x36] - movs r0, 0x14 - strh r0, [r4, 0x3A] - movs r0, 0x46 - strh r0, [r4, 0x34] - strh r5, [r4, 0x38] - strh r5, [r4, 0x3C] -_08183F6A: - adds r0, r4, 0 - bl sub_81837DC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_77 - - thumb_func_start pokemonanimfunc_78 -pokemonanimfunc_78: @ 8183F78 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x32 - ldrsh r6, [r5, r0] - cmp r6, 0 - bne _08183F9C - movs r4, 0x1 - strh r4, [r5, 0x32] - adds r0, r5, 0 - bl sub_817F670 - strh r4, [r5, 0x36] - movs r0, 0x1E - strh r0, [r5, 0x3A] - movs r0, 0x3C - strh r0, [r5, 0x34] - strh r6, [r5, 0x38] - strh r6, [r5, 0x3C] -_08183F9C: - adds r0, r5, 0 - bl sub_81837DC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_78 - - thumb_func_start sub_8183FA8 -sub_8183FA8: @ 8183FA8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0xFF - ble _08183FEA - ldrh r2, [r4, 0x3A] - movs r3, 0x3A - ldrsh r0, [r4, r3] - cmp r0, 0x1 - bgt _08183FD0 - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - b _0818403E - .pool -_08183FD0: - movs r0, 0x3C - ldrsh r1, [r4, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08183FDC - adds r0, 0xFF -_08183FDC: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - strh r0, [r4, 0x3C] - subs r0, r2, 0x1 - strh r0, [r4, 0x3A] - b _0818403E -_08183FEA: - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Sin - negs r0, r0 - strh r0, [r4, 0x24] - movs r3, 0x3C - ldrsh r2, [r4, r3] - adds r1, r2, 0 - adds r1, 0xC0 - adds r0, r1, 0 - cmp r1, 0 - bge _0818400C - ldr r3, =0x000001bf - adds r0, r2, r3 -_0818400C: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x26] - lsls r0, 16 - cmp r0, 0 - ble _0818402E - movs r3, 0x26 - ldrsh r0, [r4, r3] - negs r0, r0 - strh r0, [r4, 0x26] -_0818402E: - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x34] - ldrh r2, [r4, 0x3C] - adds r0, r2 - strh r0, [r4, 0x3C] -_0818403E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8183FA8 - - thumb_func_start pokemonanimfunc_79 -pokemonanimfunc_79: @ 8184048 - push {lr} - adds r1, r0, 0 - movs r0, 0x32 - ldrsh r2, [r1, r0] - cmp r2, 0 - bne _08184066 - movs r0, 0x1 - strh r0, [r1, 0x32] - strh r0, [r1, 0x3A] - strh r2, [r1, 0x3C] - movs r0, 0xC - strh r0, [r1, 0x38] - strh r0, [r1, 0x36] - movs r0, 0x4 - strh r0, [r1, 0x34] -_08184066: - adds r0, r1, 0 - bl sub_8183FA8 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_79 - - thumb_func_start pokemonanimfunc_7A -pokemonanimfunc_7A: @ 8184070 - push {lr} - adds r1, r0, 0 - movs r0, 0x32 - ldrsh r2, [r1, r0] - cmp r2, 0 - bne _0818408E - movs r0, 0x1 - strh r0, [r1, 0x32] - strh r0, [r1, 0x3A] - strh r2, [r1, 0x3C] - movs r0, 0xC - strh r0, [r1, 0x38] - strh r0, [r1, 0x36] - movs r0, 0x6 - strh r0, [r1, 0x34] -_0818408E: - adds r0, r1, 0 - bl sub_8183FA8 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_7A - - thumb_func_start pokemonanimfunc_7B -pokemonanimfunc_7B: @ 8184098 - push {lr} - adds r1, r0, 0 - movs r0, 0x32 - ldrsh r2, [r1, r0] - cmp r2, 0 - bne _081840B8 - movs r0, 0x1 - strh r0, [r1, 0x32] - movs r0, 0x2 - strh r0, [r1, 0x3A] - strh r2, [r1, 0x3C] - movs r0, 0xC - strh r0, [r1, 0x38] - strh r0, [r1, 0x36] - movs r0, 0x8 - strh r0, [r1, 0x34] -_081840B8: - adds r0, r1, 0 - bl sub_8183FA8 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_7B - - thumb_func_start sub_81840C4 -sub_81840C4: @ 81840C4 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x3C - ldrsh r0, [r5, r1] - movs r1, 0x80 - lsls r1, 1 - cmp r0, r1 - ble _081840FC - movs r2, 0x3A - ldrsh r1, [r5, r2] - ldrh r2, [r5, 0x36] - movs r3, 0x36 - ldrsh r0, [r5, r3] - cmp r1, r0 - bgt _081840EC - ldr r0, =sub_8184D88 - str r0, [r5, 0x1C] - b _081840F4 - .pool -_081840EC: - adds r0, r2, 0x1 - movs r1, 0 - strh r0, [r5, 0x36] - strh r1, [r5, 0x3C] -_081840F4: - movs r0, 0 - strh r0, [r5, 0x24] - strh r0, [r5, 0x26] - b _08184188 -_081840FC: - cmp r0, 0x9F - ble _08184126 - cmp r0, r1 - ble _08184106 - strh r1, [r5, 0x3C] -_08184106: - movs r0, 0x3C - ldrsh r1, [r5, r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08184112 - adds r0, 0xFF -_08184112: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - bl Sin - negs r0, r0 - b _08184154 -_08184126: - cmp r0, 0x5F - ble _0818414A - movs r0, 0x60 - movs r1, 0x6 - bl Sin - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r5, r1] - subs r0, 0x60 - lsls r0, 17 - asrs r0, 16 - movs r1, 0x4 - bl Sin - subs r4, r0 - strh r4, [r5, 0x26] - b _08184156 -_0818414A: - movs r2, 0x3C - ldrsh r0, [r5, r2] - movs r1, 0x6 - bl Sin -_08184154: - strh r0, [r5, 0x26] -_08184156: - movs r3, 0x3C - ldrsh r0, [r5, r3] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - movs r2, 0x38 - ldrsh r1, [r5, r2] - bl Sin - negs r0, r0 - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r5, 0x36] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0818417E - lsls r0, r2, 16 - negs r0, r0 - lsrs r2, r0, 16 -_0818417E: - strh r2, [r5, 0x24] - ldrh r0, [r5, 0x34] - ldrh r3, [r5, 0x3C] - adds r0, r3 - strh r0, [r5, 0x3C] -_08184188: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81840C4 - - thumb_func_start pokemonanimfunc_7C -pokemonanimfunc_7C: @ 8184190 - push {lr} - adds r2, r0, 0 - movs r0, 0x32 - ldrsh r3, [r2, r0] - cmp r3, 0 - bne _081841B0 - movs r1, 0x1 - strh r1, [r2, 0x32] - movs r0, 0x2 - strh r0, [r2, 0x3A] - strh r3, [r2, 0x3C] - movs r0, 0x10 - strh r0, [r2, 0x38] - strh r1, [r2, 0x36] - movs r0, 0x4 - strh r0, [r2, 0x34] -_081841B0: - adds r0, r2, 0 - bl sub_81840C4 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_7C - - thumb_func_start pokemonanimfunc_7D -pokemonanimfunc_7D: @ 81841BC - push {lr} - adds r2, r0, 0 - movs r0, 0x32 - ldrsh r3, [r2, r0] - cmp r3, 0 - bne _081841DC - movs r1, 0x1 - strh r1, [r2, 0x32] - movs r0, 0x2 - strh r0, [r2, 0x3A] - strh r3, [r2, 0x3C] - movs r0, 0x10 - strh r0, [r2, 0x38] - strh r1, [r2, 0x36] - movs r0, 0x6 - strh r0, [r2, 0x34] -_081841DC: - adds r0, r2, 0 - bl sub_81840C4 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_7D - - thumb_func_start pokemonanimfunc_7E -pokemonanimfunc_7E: @ 81841E8 - push {lr} - adds r2, r0, 0 - movs r0, 0x32 - ldrsh r3, [r2, r0] - cmp r3, 0 - bne _08184208 - movs r1, 0x1 - strh r1, [r2, 0x32] - movs r0, 0x3 - strh r0, [r2, 0x3A] - strh r3, [r2, 0x3C] - movs r0, 0x10 - strh r0, [r2, 0x38] - strh r1, [r2, 0x36] - movs r0, 0x8 - strh r0, [r2, 0x34] -_08184208: - adds r0, r2, 0 - bl sub_81840C4 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_7E - - thumb_func_start pokemonanimfunc_7F -pokemonanimfunc_7F: @ 8184214 - push {lr} - adds r2, r0, 0 - movs r0, 0x32 - ldrsh r1, [r2, r0] - cmp r1, 0 - bne _08184232 - movs r0, 0x1 - strh r0, [r2, 0x32] - strh r0, [r2, 0x3A] - strh r1, [r2, 0x3C] - movs r1, 0x4 - strh r1, [r2, 0x38] - movs r0, 0x6 - strh r0, [r2, 0x36] - strh r1, [r2, 0x34] -_08184232: - adds r0, r2, 0 - bl sub_8183FA8 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_7F - - thumb_func_start pokemonanimfunc_80 -pokemonanimfunc_80: @ 818423C - push {lr} - adds r1, r0, 0 - movs r0, 0x32 - ldrsh r2, [r1, r0] - cmp r2, 0 - bne _0818425A - movs r0, 0x1 - strh r0, [r1, 0x32] - strh r0, [r1, 0x3A] - strh r2, [r1, 0x3C] - movs r0, 0x4 - strh r0, [r1, 0x38] - movs r0, 0x6 - strh r0, [r1, 0x36] - strh r0, [r1, 0x34] -_0818425A: - adds r0, r1, 0 - bl sub_8183FA8 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_80 - - thumb_func_start pokemonanimfunc_81 -pokemonanimfunc_81: @ 8184264 - push {lr} - adds r1, r0, 0 - movs r0, 0x32 - ldrsh r2, [r1, r0] - cmp r2, 0 - bne _08184286 - movs r0, 0x1 - strh r0, [r1, 0x32] - movs r0, 0x2 - strh r0, [r1, 0x3A] - strh r2, [r1, 0x3C] - movs r0, 0x4 - strh r0, [r1, 0x38] - movs r0, 0x6 - strh r0, [r1, 0x36] - movs r0, 0x8 - strh r0, [r1, 0x34] -_08184286: - adds r0, r1, 0 - bl sub_8183FA8 - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_81 - - thumb_func_start sub_8184290 -sub_8184290: @ 8184290 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - lsls r0, 7 - movs r2, 0x3C - ldrsh r1, [r4, r2] - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Sin - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r0, r1, 8 - negs r0, r0 - strh r0, [r4, 0x3A] - movs r0, 0x36 - ldrsh r2, [r4, r0] - adds r0, r4, 0 - movs r3, 0 - bl sub_817F3F0 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x3A] - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_817F6D4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8184290 - - thumb_func_start pokemonanimfunc_82 -pokemonanimfunc_82: @ 81842DC - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08184300 - adds r0, r4, 0 - bl sub_817F670 - movs r0, 0x3C - strh r0, [r4, 0x3C] - movs r0, 0x8 - strh r0, [r4, 0x38] - ldr r0, =0x0000ffe0 - strh r0, [r4, 0x36] - movs r0, 0x1 - strh r0, [r4, 0x34] - strh r5, [r4, 0x2E] -_08184300: - movs r2, 0x32 - ldrsh r1, [r4, r2] - movs r3, 0x3C - ldrsh r0, [r4, r3] - cmp r1, r0 - ble _0818434C - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - movs r2, 0 - strh r2, [r4, 0x24] - strh r2, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r3, 0x34 - ldrsh r1, [r4, r3] - lsls r0, 16 - asrs r0, 16 - cmp r1, r0 - bgt _08184348 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08184358 - .pool -_08184348: - strh r2, [r4, 0x32] - b _08184352 -_0818434C: - adds r0, r4, 0 - bl sub_8184290 -_08184352: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] -_08184358: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_82 - - thumb_func_start pokemonanimfunc_83 -pokemonanimfunc_83: @ 8184360 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08184384 - adds r0, r4, 0 - bl sub_817F670 - movs r0, 0x5A - strh r0, [r4, 0x3C] - movs r0, 0x8 - strh r0, [r4, 0x38] - ldr r0, =0x0000ffe0 - strh r0, [r4, 0x36] - movs r0, 0x1 - strh r0, [r4, 0x34] - strh r5, [r4, 0x2E] -_08184384: - movs r2, 0x32 - ldrsh r1, [r4, r2] - movs r3, 0x3C - ldrsh r0, [r4, r3] - cmp r1, r0 - ble _081843D0 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - movs r2, 0 - strh r2, [r4, 0x24] - strh r2, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r3, 0x34 - ldrsh r1, [r4, r3] - lsls r0, 16 - asrs r0, 16 - cmp r1, r0 - bgt _081843CC - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _081843DC - .pool -_081843CC: - strh r2, [r4, 0x32] - b _081843D6 -_081843D0: - adds r0, r4, 0 - bl sub_8184290 -_081843D6: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] -_081843DC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_83 - - thumb_func_start pokemonanimfunc_84 -pokemonanimfunc_84: @ 81843E4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r5, [r4, r0] - cmp r5, 0 - bne _08184408 - adds r0, r4, 0 - bl sub_817F670 - movs r0, 0x1E - strh r0, [r4, 0x3C] - movs r0, 0x8 - strh r0, [r4, 0x38] - ldr r0, =0x0000ffe0 - strh r0, [r4, 0x36] - movs r0, 0x2 - strh r0, [r4, 0x34] - strh r5, [r4, 0x2E] -_08184408: - movs r2, 0x32 - ldrsh r1, [r4, r2] - movs r3, 0x3C - ldrsh r0, [r4, r3] - cmp r1, r0 - ble _08184454 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - movs r2, 0 - strh r2, [r4, 0x24] - strh r2, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r3, 0x34 - ldrsh r1, [r4, r3] - lsls r0, 16 - asrs r0, 16 - cmp r1, r0 - bgt _08184450 - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _08184460 - .pool -_08184450: - strh r2, [r4, 0x32] - b _0818445A -_08184454: - adds r0, r4, 0 - bl sub_8184290 -_0818445A: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] -_08184460: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_84 - - thumb_func_start sub_8184468 -sub_8184468: @ 8184468 - push {r4-r6,lr} - adds r6, r0, 0 - movs r0, 0x32 - ldrsh r1, [r6, r0] - movs r2, 0x3C - ldrsh r0, [r6, r2] - cmp r1, r0 - ble _0818449C - movs r0, 0 - strh r0, [r6, 0x26] - movs r2, 0x80 - lsls r2, 1 - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl sub_817F6D4 - adds r0, r6, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r6, 0x1C] - b _08184544 - .pool -_0818449C: - movs r1, 0x32 - ldrsh r0, [r6, r1] - movs r2, 0x3A - ldrsh r4, [r6, r2] - adds r1, r4, 0 - bl __modsi3 - lsls r0, 24 - lsrs r0, 16 - adds r1, r4, 0 - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _081844BC - adds r0, 0xFF -_081844BC: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - lsrs r4, r0, 16 - ldrh r0, [r6, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081844F8 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0x20 - bl Sin - movs r1, 0x80 - lsls r1, 1 - adds r5, r1, 0 - adds r0, r5 - strh r0, [r6, 0x36] - adds r0, r4, 0 - movs r1, 0x20 - bl Sin - adds r0, r5 - strh r0, [r6, 0x38] - adds r0, r4, 0 - movs r1, 0x20 - b _0818451E -_081844F8: - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0x8 - bl Sin - movs r2, 0x80 - lsls r2, 1 - adds r5, r2, 0 - adds r0, r5 - strh r0, [r6, 0x36] - adds r0, r4, 0 - movs r1, 0x8 - bl Sin - adds r0, r5 - strh r0, [r6, 0x38] - adds r0, r4, 0 - movs r1, 0x8 -_0818451E: - bl Sin - lsls r0, 24 - lsrs r0, 24 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bge _08184530 - adds r0, 0x7 -_08184530: - lsrs r0, 3 - strh r0, [r6, 0x26] - movs r0, 0x36 - ldrsh r1, [r6, r0] - movs r0, 0x38 - ldrsh r2, [r6, r0] - adds r0, r6, 0 - movs r3, 0 - bl sub_817F6D4 -_08184544: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8184468 - - thumb_func_start pokemonanimfunc_85 -pokemonanimfunc_85: @ 8184550 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08184570 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x26] - adds r0, 0x2 - strh r0, [r4, 0x26] - movs r0, 0x28 - strh r0, [r4, 0x3A] - movs r0, 0x50 - strh r0, [r4, 0x3C] -_08184570: - adds r0, r4, 0 - bl sub_8184468 - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_85 - - thumb_func_start pokemonanimfunc_86 -pokemonanimfunc_86: @ 818457C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0818459A - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x26] - adds r0, 0x2 - strh r0, [r4, 0x26] - movs r0, 0x28 - strh r0, [r4, 0x3A] - strh r0, [r4, 0x3C] -_0818459A: - adds r0, r4, 0 - bl sub_8184468 - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_86 - - thumb_func_start pokemonanimfunc_87 -pokemonanimfunc_87: @ 81845A8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081845C6 - adds r0, r4, 0 - bl sub_817F670 - ldrh r0, [r4, 0x26] - adds r0, 0x2 - strh r0, [r4, 0x26] - movs r0, 0x50 - strh r0, [r4, 0x3A] - strh r0, [r4, 0x3C] -_081845C6: - adds r0, r4, 0 - bl sub_8184468 - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_87 - - thumb_func_start sub_81845D4 -sub_81845D4: @ 81845D4 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x32] - subs r0, r1 - strh r0, [r4, 0x24] - movs r0, 0x24 - ldrsh r1, [r4, r0] - movs r2, 0x3A - ldrsh r0, [r4, r2] - cmn r1, r0 - bgt _081845FE - ldrh r0, [r4, 0x3A] - negs r0, r0 - strh r0, [r4, 0x24] - movs r0, 0x2 - strh r0, [r4, 0x3C] - ldr r0, =sub_8184610 - str r0, [r4, 0x1C] -_081845FE: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81845D4 - - thumb_func_start sub_8184610 -sub_8184610: @ 8184610 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x3C] - ldrh r2, [r4, 0x24] - adds r1, r0, r2 - strh r1, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x3C] - lsls r1, 16 - cmp r1, 0 - blt _0818462E - ldr r0, =sub_8184640 - str r0, [r4, 0x1C] -_0818462E: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8184610 - - thumb_func_start sub_8184640 -sub_8184640: @ 8184640 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x3C] - ldrh r2, [r4, 0x24] - adds r1, r0, r2 - strh r1, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x3C] - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r4, 0x3A] - movs r3, 0x3A - ldrsh r0, [r4, r3] - cmp r1, r0 - ble _08184668 - strh r2, [r4, 0x24] - ldr r0, =sub_8184678 - str r0, [r4, 0x1C] -_08184668: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8184640 - - thumb_func_start sub_8184678 -sub_8184678: @ 8184678 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r2, [r4, 0x34] - movs r0, 0x34 - ldrsh r1, [r4, r0] - movs r3, 0x38 - ldrsh r0, [r4, r3] - cmp r1, r0 - blt _08184698 - ldr r0, =sub_81846B8 - str r0, [r4, 0x1C] - b _081846AC - .pool -_08184698: - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r3, 0x36 - ldrsh r0, [r4, r3] - negs r0, r0 - strh r0, [r4, 0x36] - adds r0, r2, 0x1 - strh r0, [r4, 0x34] -_081846AC: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8184678 - - thumb_func_start sub_81846B8 -sub_81846B8: @ 81846B8 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F70C - ldrh r0, [r4, 0x24] - subs r0, 0x2 - strh r0, [r4, 0x24] - lsls r0, 16 - cmp r0, 0 - bgt _081846DA - movs r0, 0 - strh r0, [r4, 0x24] - adds r0, r4, 0 - bl sub_817F77C - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] -_081846DA: - adds r0, r4, 0 - bl sub_817F70C - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81846B8 - - thumb_func_start pokemonanimfunc_88 -pokemonanimfunc_88: @ 81846EC - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - movs r2, 0 - movs r1, 0x4 - strh r1, [r4, 0x3C] - movs r0, 0xC - strh r0, [r4, 0x3A] - movs r0, 0x10 - strh r0, [r4, 0x38] - strh r1, [r4, 0x36] - strh r2, [r4, 0x34] - movs r0, 0x2 - strh r0, [r4, 0x32] - ldr r0, =sub_81845D4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_88 - - thumb_func_start pokemonanimfunc_89 -pokemonanimfunc_89: @ 8184718 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - movs r2, 0 - movs r1, 0x2 - strh r1, [r4, 0x3C] - movs r0, 0x8 - strh r0, [r4, 0x3A] - movs r0, 0xC - strh r0, [r4, 0x38] - strh r1, [r4, 0x36] - strh r2, [r4, 0x34] - movs r0, 0x1 - strh r0, [r4, 0x32] - ldr r0, =sub_81845D4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_89 - - thumb_func_start pokemonanimfunc_8A -pokemonanimfunc_8A: @ 8184744 - push {r4,lr} - adds r4, r0, 0 - bl sub_817F670 - movs r1, 0 - strh r1, [r4, 0x3C] - movs r0, 0x6 - strh r0, [r4, 0x3A] - strh r0, [r4, 0x38] - movs r0, 0x2 - strh r0, [r4, 0x36] - strh r1, [r4, 0x34] - movs r0, 0x1 - strh r0, [r4, 0x32] - ldr r0, =sub_81845D4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end pokemonanimfunc_8A - - thumb_func_start sub_8184770 -sub_8184770: @ 8184770 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - strh r0, [r1, 0x24] - ldrh r2, [r1, 0x2E] - movs r3, 0x2E - ldrsh r0, [r1, r3] - cmp r0, 0x1 - ble _0818478E - movs r2, 0x30 - ldrsh r0, [r1, r2] - negs r0, r0 - strh r0, [r1, 0x30] - movs r0, 0 - b _08184790 -_0818478E: - adds r0, r2, 0x1 -_08184790: - strh r0, [r1, 0x2E] - pop {r0} - bx r0 - thumb_func_end sub_8184770 - - thumb_func_start sub_8184798 -sub_8184798: @ 8184798 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r1, =gUnknown_0860AE7C - movs r2, 0x34 - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r5, [r0] - adds r0, r4, 0 - bl sub_8184770 - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1, 0x1] - cmp r0, 0xFF - bne _081847D0 - movs r0, 0 - strh r0, [r4, 0x24] - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _0818482E - .pool -_081847D0: - movs r2, 0x36 - ldrsh r0, [r4, r2] - cmp r0, 0x1 - bne _08184800 - ldrb r0, [r1] - cmp r0, 0 - beq _081847F0 - ldrh r0, [r4, 0x3C] - ldr r3, =0x000003ff - movs r1, 0x10 - movs r2, 0x10 - bl BlendPalette - b _081847FC - .pool -_081847F0: - ldrh r0, [r4, 0x3C] - ldr r3, =0x000003ff - movs r1, 0x10 - movs r2, 0 - bl BlendPalette -_081847FC: - movs r0, 0 - strh r0, [r4, 0x36] -_08184800: - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0, 0x1] - movs r2, 0x38 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08184828 - movs r1, 0 - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r1, [r4, 0x38] - ldrh r0, [r4, 0x3A] - adds r0, 0x1 - strh r0, [r4, 0x3A] - b _0818482E - .pool -_08184828: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] -_0818482E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8184798 - - thumb_func_start pokemonanimfunc_8B -pokemonanimfunc_8B: @ 8184834 - push {r4,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x32] - adds r0, 0x1 - movs r3, 0 - strh r0, [r2, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _08184860 - ldrb r0, [r2, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r4, 0x80 - lsls r4, 1 - adds r1, r4, 0 - adds r0, r1 - strh r0, [r2, 0x3C] - strh r3, [r2, 0x3A] - strh r3, [r2, 0x38] - strh r3, [r2, 0x36] - strh r3, [r2, 0x34] -_08184860: - adds r0, r2, 0 - bl sub_8184798 - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_8B - - thumb_func_start pokemonanimfunc_8C -pokemonanimfunc_8C: @ 818486C - push {r4,r5,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x32] - adds r0, 0x1 - movs r3, 0 - strh r0, [r2, 0x32] - lsls r0, 16 - asrs r4, r0, 16 - cmp r4, 0x1 - bne _08184898 - ldrb r0, [r2, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r5, 0x80 - lsls r5, 1 - adds r1, r5, 0 - adds r0, r1 - strh r0, [r2, 0x3C] - strh r3, [r2, 0x3A] - strh r3, [r2, 0x38] - strh r3, [r2, 0x36] - strh r4, [r2, 0x34] -_08184898: - adds r0, r2, 0 - bl sub_8184798 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_8C - - thumb_func_start pokemonanimfunc_8D -pokemonanimfunc_8D: @ 81848A4 - push {r4,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x32] - adds r0, 0x1 - movs r3, 0 - strh r0, [r2, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _081848D2 - ldrb r0, [r2, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r4, 0x80 - lsls r4, 1 - adds r1, r4, 0 - adds r0, r1 - strh r0, [r2, 0x3C] - strh r3, [r2, 0x3A] - strh r3, [r2, 0x38] - strh r3, [r2, 0x36] - movs r0, 0x2 - strh r0, [r2, 0x34] -_081848D2: - adds r0, r2, 0 - bl sub_8184798 - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_8D - - thumb_func_start sub_81848E0 -sub_81848E0: @ 81848E0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x7F - ble _08184904 - ldrh r0, [r4, 0x3C] - movs r1, 0x10 - movs r2, 0 - movs r3, 0x1F - bl BlendPalette - ldr r0, =sub_8184D88 - str r0, [r4, 0x1C] - b _0818492A - .pool -_08184904: - movs r5, 0x32 - ldrsh r0, [r4, r5] - movs r1, 0xC - bl Sin - adds r2, r0, 0 - strh r2, [r4, 0x3A] - ldrh r0, [r4, 0x3C] - lsls r2, 24 - lsrs r2, 24 - ldr r3, =gUnknown_0860AE88 - movs r5, 0x30 - ldrsh r1, [r4, r5] - lsls r1, 1 - adds r1, r3 - ldrh r3, [r1] - movs r1, 0x10 - bl BlendPalette -_0818492A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81848E0 - - thumb_func_start sub_8184934 -sub_8184934: @ 8184934 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x34 - ldrsh r1, [r4, r0] - movs r2, 0x36 - ldrsh r0, [r4, r2] - cmp r1, r0 - bge _081849CC - adds r0, r4, 0 - bl sub_817F70C - movs r3, 0x38 - ldrsh r1, [r4, r3] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _08184970 - ldrh r0, [r4, 0x34] - adds r0, 0x1 - movs r2, 0 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x36 - ldrsh r1, [r4, r3] - cmp r0, r1 - bge _0818496C - strh r2, [r4, 0x38] -_0818496C: - strh r2, [r4, 0x24] - b _081849C6 -_08184970: - movs r0, 0x34 - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r0, r1, r0 - asrs r0, 1 - lsls r0, 1 - subs r1, r0 - lsls r1, 16 - asrs r1, 15 - movs r0, 0x1 - subs r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - movs r2, 0x38 - ldrsh r1, [r4, r2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 7 - movs r3, 0x2E - ldrsh r1, [r4, r3] - bl __divsi3 - adds r1, r0, 0 - cmp r1, 0 - bge _081849A4 - adds r0, 0xFF -_081849A4: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x6 - bl Sin - lsls r1, r5, 24 - asrs r1, 24 - adds r2, r1, 0 - muls r2, r0 - adds r0, r2, 0 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] -_081849C6: - adds r0, r4, 0 - bl sub_817F70C -_081849CC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8184934 - - thumb_func_start pokemonanimfunc_8E -pokemonanimfunc_8E: @ 81849D4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _081849FE - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r4, 0x3C] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r2, [r4, 0x38] - movs r0, 0x2 - strh r0, [r4, 0x36] - strh r2, [r4, 0x34] - strh r2, [r4, 0x30] -_081849FE: - ldrh r0, [r4, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08184A0E - adds r0, r4, 0 - bl sub_81848E0 -_08184A0E: - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r3, 0x2E - ldrsh r1, [r4, r3] - movs r3, 0x36 - ldrsh r0, [r4, r3] - muls r1, r0 - movs r0, 0x80 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - cmp r2, r0 - blt _08184A30 - adds r0, r4, 0 - bl sub_8184934 -_08184A30: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_8E - - thumb_func_start pokemonanimfunc_8F -pokemonanimfunc_8F: @ 8184A3C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _08184A66 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r4, 0x3C] - movs r0, 0x14 - strh r0, [r4, 0x2E] - strh r2, [r4, 0x38] - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r2, [r4, 0x34] - strh r2, [r4, 0x30] -_08184A66: - ldrh r0, [r4, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08184A76 - adds r0, r4, 0 - bl sub_81848E0 -_08184A76: - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r3, 0x2E - ldrsh r1, [r4, r3] - movs r3, 0x36 - ldrsh r0, [r4, r3] - muls r1, r0 - movs r0, 0x80 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - cmp r2, r0 - blt _08184A98 - adds r0, r4, 0 - bl sub_8184934 -_08184A98: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_8F - - thumb_func_start pokemonanimfunc_90 -pokemonanimfunc_90: @ 8184AA4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _08184ACE - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r4, 0x3C] - movs r0, 0x50 - strh r0, [r4, 0x2E] - strh r2, [r4, 0x38] - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r2, [r4, 0x34] - strh r2, [r4, 0x30] -_08184ACE: - ldrh r0, [r4, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08184ADE - adds r0, r4, 0 - bl sub_81848E0 -_08184ADE: - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r3, 0x2E - ldrsh r1, [r4, r3] - movs r3, 0x36 - ldrsh r0, [r4, r3] - muls r1, r0 - movs r0, 0x80 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - cmp r2, r0 - blt _08184B00 - adds r0, r4, 0 - bl sub_8184934 -_08184B00: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_90 - - thumb_func_start pokemonanimfunc_91 -pokemonanimfunc_91: @ 8184B0C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _08184B38 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r4, 0x3C] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r2, [r4, 0x38] - movs r0, 0x2 - strh r0, [r4, 0x36] - strh r2, [r4, 0x34] - movs r0, 0x1 - strh r0, [r4, 0x30] -_08184B38: - ldrh r0, [r4, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08184B48 - adds r0, r4, 0 - bl sub_81848E0 -_08184B48: - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r3, 0x2E - ldrsh r1, [r4, r3] - movs r3, 0x36 - ldrsh r0, [r4, r3] - muls r1, r0 - movs r0, 0x80 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - cmp r2, r0 - blt _08184B6A - adds r0, r4, 0 - bl sub_8184934 -_08184B6A: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_91 - - thumb_func_start pokemonanimfunc_92 -pokemonanimfunc_92: @ 8184B78 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _08184BA2 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r4, 0x3C] - movs r0, 0x14 - strh r0, [r4, 0x2E] - strh r2, [r4, 0x38] - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r2, [r4, 0x34] - strh r0, [r4, 0x30] -_08184BA2: - ldrh r0, [r4, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08184BB2 - adds r0, r4, 0 - bl sub_81848E0 -_08184BB2: - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r3, 0x2E - ldrsh r1, [r4, r3] - movs r3, 0x36 - ldrsh r0, [r4, r3] - muls r1, r0 - movs r0, 0x80 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - cmp r2, r0 - blt _08184BD4 - adds r0, r4, 0 - bl sub_8184934 -_08184BD4: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_92 - - thumb_func_start pokemonanimfunc_93 -pokemonanimfunc_93: @ 8184BE0 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _08184C0A - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r4, 0x3C] - movs r0, 0x50 - strh r0, [r4, 0x2E] - strh r2, [r4, 0x38] - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r2, [r4, 0x34] - strh r0, [r4, 0x30] -_08184C0A: - ldrh r0, [r4, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08184C1A - adds r0, r4, 0 - bl sub_81848E0 -_08184C1A: - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r3, 0x2E - ldrsh r1, [r4, r3] - movs r3, 0x36 - ldrsh r0, [r4, r3] - muls r1, r0 - movs r0, 0x80 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - cmp r2, r0 - blt _08184C3C - adds r0, r4, 0 - bl sub_8184934 -_08184C3C: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_93 - - thumb_func_start pokemonanimfunc_94 -pokemonanimfunc_94: @ 8184C48 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _08184C72 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r4, 0x3C] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r2, [r4, 0x38] - movs r0, 0x2 - strh r0, [r4, 0x36] - strh r2, [r4, 0x34] - strh r0, [r4, 0x30] -_08184C72: - ldrh r0, [r4, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08184C82 - adds r0, r4, 0 - bl sub_81848E0 -_08184C82: - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r3, 0x2E - ldrsh r1, [r4, r3] - movs r3, 0x36 - ldrsh r0, [r4, r3] - muls r1, r0 - movs r0, 0x80 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - cmp r2, r0 - blt _08184CA4 - adds r0, r4, 0 - bl sub_8184934 -_08184CA4: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_94 - - thumb_func_start pokemonanimfunc_95 -pokemonanimfunc_95: @ 8184CB0 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _08184CDC - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r4, 0x3C] - movs r0, 0x14 - strh r0, [r4, 0x2E] - strh r2, [r4, 0x38] - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r2, [r4, 0x34] - movs r0, 0x2 - strh r0, [r4, 0x30] -_08184CDC: - ldrh r0, [r4, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08184CEC - adds r0, r4, 0 - bl sub_81848E0 -_08184CEC: - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r3, 0x2E - ldrsh r1, [r4, r3] - movs r3, 0x36 - ldrsh r0, [r4, r3] - muls r1, r0 - movs r0, 0x80 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - cmp r2, r0 - blt _08184D0E - adds r0, r4, 0 - bl sub_8184934 -_08184D0E: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_95 - - thumb_func_start pokemonanimfunc_96 -pokemonanimfunc_96: @ 8184D1C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _08184D48 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - adds r0, r1 - strh r0, [r4, 0x3C] - movs r0, 0x50 - strh r0, [r4, 0x2E] - strh r2, [r4, 0x38] - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r2, [r4, 0x34] - movs r0, 0x2 - strh r0, [r4, 0x30] -_08184D48: - ldrh r0, [r4, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08184D58 - adds r0, r4, 0 - bl sub_81848E0 -_08184D58: - movs r0, 0x32 - ldrsh r2, [r4, r0] - movs r3, 0x2E - ldrsh r1, [r4, r3] - movs r3, 0x36 - ldrsh r0, [r4, r3] - muls r1, r0 - movs r0, 0x80 - subs r0, r1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - cmp r2, r0 - blt _08184D7A - adds r0, r4, 0 - bl sub_8184934 -_08184D7A: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemonanimfunc_96 - - thumb_func_start sub_8184D88 -sub_8184D88: @ 8184D88 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08184D9C - ldr r0, =SpriteCallbackDummy - str r0, [r2, 0x1C] -_08184D9C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8184D88 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_icon.s b/asm/pokemon_icon.s old mode 100755 new mode 100644 index 6009bd3f36..40291bee49 --- a/asm/pokemon_icon.s +++ b/asm/pokemon_icon.s @@ -5,9 +5,9 @@ .text - thumb_func_start sub_80D2CC4 -@ int sub_80D2CC4(u16 speciesId, int a2, u16 a3, u16 a4, u8 a5, u32 personality, int a7) -sub_80D2CC4: @ 80D2CC4 + thumb_func_start CreateMonIcon +@ int CreateMonIcon(u16 speciesId, int a2, u16 a3, u16 a4, u8 a5, u32 personality, int a7) +CreateMonIcon: @ 80D2CC4 push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -28,15 +28,15 @@ sub_80D2CC4: @ 80D2CC4 lsls r0, 24 lsrs r0, 24 mov r9, r0 - ldr r0, =gUnknown_0857C570 + ldr r0, =sMonIconOamData str r0, [sp, 0x18] adds r0, r4, 0 adds r2, r5, 0 bl GetMonIconPtr str r0, [sp, 0x1C] - ldr r0, =gUnknown_0857C5B4 + ldr r0, =sMonIconAnims str r0, [sp, 0x20] - ldr r0, =gUnknown_0857C5E8 + ldr r0, =sMonIconAffineAnims str r0, [sp, 0x24] str r6, [sp, 0x28] ldr r0, =gMonIconPaletteIndices @@ -84,7 +84,7 @@ _080D2D2A: pop {r1} bx r1 .pool - thumb_func_end sub_80D2CC4 + thumb_func_end CreateMonIcon thumb_func_start sub_80D2D78 sub_80D2D78: @ 80D2D78 @@ -102,13 +102,13 @@ sub_80D2D78: @ 80D2D78 lsls r6, 24 lsrs r6, 24 mov r3, sp - ldr r2, =gUnknown_0857C570 + ldr r2, =sMonIconOamData str r2, [sp] movs r2, 0 str r2, [sp, 0x4] - ldr r2, =gUnknown_0857C5B4 + ldr r2, =sMonIconAnims str r2, [sp, 0x8] - ldr r2, =gUnknown_0857C5E8 + ldr r2, =sMonIconAffineAnims str r2, [sp, 0xC] str r1, [sp, 0x10] ldr r2, =gMonIconPaletteIndices @@ -156,7 +156,7 @@ mon_icon_convert_unown_species_id: @ 80D2E08 cmp r2, 0xC9 bne _080D2E32 adds r0, r1, 0 - bl mon_icon_personality_to_unown_id + bl GetUnownLetterByPersonality lsls r0, 16 lsrs r0, 16 cmp r0, 0 @@ -186,8 +186,8 @@ _080D2E40: bx r1 thumb_func_end mon_icon_convert_unown_species_id - thumb_func_start mon_icon_personality_to_unown_id -mon_icon_personality_to_unown_id: @ 80D2E48 + thumb_func_start GetUnownLetterByPersonality +GetUnownLetterByPersonality: @ 80D2E48 push {lr} adds r2, r0, 0 cmp r2, 0 @@ -219,7 +219,7 @@ _080D2E7E: _080D2E80: pop {r1} bx r1 - thumb_func_end mon_icon_personality_to_unown_id + thumb_func_end GetUnownLetterByPersonality thumb_func_start sub_80D2E84 sub_80D2E84: @ 80D2E84 @@ -229,7 +229,7 @@ sub_80D2E84: @ 80D2E84 lsrs r4, r0, 16 adds r0, r4, 0 mov r1, sp - bl sub_80D45E8 + bl MailSpeciesToSpecies lsls r0, 16 lsrs r0, 16 cmp r0, 0xC9 @@ -601,7 +601,7 @@ _080D3126: strb r7, [r5] b _080D31A4 _080D312A: - ldr r2, =gUnknown_0857C5F0 + ldr r2, =sSpriteImageSizes ldrb r1, [r4, 0x3] lsrs r1, 6 lsls r1, 1 @@ -689,7 +689,7 @@ sub_80D31B4: @ 80D31B4 mov r8, r0 movs r0, 0 str r0, [sp, 0x30] - ldr r2, =gUnknown_0857C5F0 + ldr r2, =sSpriteImageSizes mov r0, r9 ldr r6, [r0] ldrb r1, [r6, 0x3] @@ -776,7 +776,7 @@ sub_80D328C: @ 80D328C sub sp, 0x8 movs r1, 0 str r1, [sp] - ldr r3, =gUnknown_0857C5F0 + ldr r3, =sSpriteImageSizes ldrb r2, [r0, 0x3] lsrs r2, 6 lsls r2, 1 diff --git a/asm/pokemon_item_effect.s b/asm/pokemon_item_effect.s index 49b2059671..2184b22b28 100644 --- a/asm/pokemon_item_effect.s +++ b/asm/pokemon_item_effect.s @@ -77,7 +77,7 @@ ExecuteTableBasedItemEffect: @ 806BD28 cmp r0, 0 beq _0806BDA8 ldr r2, =gEnigmaBerries - ldr r0, =gBankInMenu + ldr r0, =gBattlerInMenuId ldrb r1, [r0] lsls r0, r1, 3 subs r0, r1 @@ -100,8 +100,8 @@ _0806BDBC: lsrs r0, 24 _0806BDC4: str r0, [sp, 0x34] - ldr r1, =gStringBank - ldr r0, =gBankInMenu + ldr r1, =gPotentialItemEffectBattler + ldr r0, =gBattlerInMenuId ldrb r2, [r0] strb r2, [r1] ldr r0, =gMain @@ -114,23 +114,23 @@ _0806BDC4: lsrs r1, r0, 24 cmp r1, 0 beq _0806BE64 - ldr r0, =gActiveBank + ldr r0, =gActiveBattler strb r2, [r0] ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 negs r1, r0 orrs r1, r0 lsrs r1, 31 str r1, [sp, 0x1C] - ldr r0, =gNoOfAllBanks + ldr r0, =gBattlersCount ldr r4, [sp, 0xC] subs r4, 0xD ldrb r0, [r0] cmp r1, r0 bge _0806BE70 - ldr r2, =gBattlePartyID + ldr r2, =gBattlerPartyIndexes lsls r0, r1, 1 adds r0, r2 ldrh r3, [r0] @@ -148,7 +148,7 @@ _0806BE3C: ldr r1, [sp, 0x1C] adds r1, 0x2 str r1, [sp, 0x1C] - ldr r0, =gNoOfAllBanks + ldr r0, =gBattlersCount ldrb r0, [r0] cmp r1, r0 bge _0806BE70 @@ -165,7 +165,7 @@ _0806BE3C: b _0806BE70 .pool _0806BE64: - ldr r0, =gActiveBank + ldr r0, =gActiveBattler strb r1, [r0] movs r3, 0x4 str r3, [sp, 0x38] @@ -200,7 +200,7 @@ _0806BE9A: ands r0, r1 cmp r0, 0 beq _0806BECC - ldr r0, =gActiveBank + ldr r0, =gActiveBattler ldrb r1, [r0] lsls r0, r1, 3 subs r0, r1 @@ -297,7 +297,7 @@ _0806BF76: cmp r0, 0 beq _0806BFA4 ldr r1, =gBattleMons - ldr r0, =gActiveBank + ldr r0, =gActiveBattler ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -323,7 +323,7 @@ _0806BFA4: bl _0806CD4C _0806BFB2: ldr r6, =gBattleMons - ldr r5, =gActiveBank + ldr r5, =gActiveBattler ldrb r0, [r5] movs r4, 0x58 muls r0, r4 @@ -362,7 +362,7 @@ _0806BFFC: cmp r3, 0 beq _0806C042 ldr r7, =gBattleMons - ldr r5, =gActiveBank + ldr r5, =gActiveBattler ldrb r0, [r5] movs r4, 0x58 muls r0, r4 @@ -396,7 +396,7 @@ _0806C042: bl _0806CD4C _0806C050: ldr r6, =gBattleMons - ldr r5, =gActiveBank + ldr r5, =gActiveBattler ldrb r0, [r5] movs r4, 0x58 muls r0, r4 @@ -433,7 +433,7 @@ _0806C08C: cmp r3, 0 beq _0806C0D2 ldr r7, =gBattleMons - ldr r5, =gActiveBank + ldr r5, =gActiveBattler ldrb r0, [r5] movs r4, 0x58 muls r0, r4 @@ -467,7 +467,7 @@ _0806C0D2: bl _0806CD4C _0806C0E0: ldr r6, =gBattleMons - ldr r5, =gActiveBank + ldr r5, =gActiveBattler ldrb r0, [r5] movs r4, 0x58 muls r0, r4 @@ -506,9 +506,9 @@ _0806C120: cmp r0, 0 beq _0806C168 ldr r5, =gSideTimers - ldr r4, =gActiveBank + ldr r4, =gActiveBattler ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 lsls r1, r0, 1 @@ -519,7 +519,7 @@ _0806C120: cmp r0, 0 bne _0806C168 ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 lsls r1, r0, 1 @@ -965,7 +965,7 @@ _0806C4FC: ldr r3, [sp, 0x38] cmp r3, 0x4 beq _0806C55C - ldr r2, =gAbsentBankFlags + ldr r2, =gAbsentBattlerFlags ldr r1, =gBitTable lsls r0, r3, 2 adds r0, r1 @@ -973,7 +973,7 @@ _0806C4FC: ldrb r0, [r2] bics r0, r1 strb r0, [r2] - ldr r1, =gBattlePartyID + ldr r1, =gBattlerPartyIndexes lsls r0, r3, 1 adds r0, r1 ldrb r0, [r0] @@ -983,14 +983,14 @@ _0806C4FC: lsrs r1, 24 ldr r0, [sp, 0x38] bl CopyPlayerPartyMonToBattleData - ldr r0, =gActiveBank + ldr r0, =gActiveBattler ldrb r0, [r0] b _0806C574 .pool _0806C55C: - ldr r3, =gAbsentBankFlags + ldr r3, =gAbsentBattlerFlags ldr r1, =gBitTable - ldr r2, =gActiveBank + ldr r2, =gActiveBattler ldrb r0, [r2] eors r0, r4 lsls r0, 2 @@ -1001,7 +1001,7 @@ _0806C55C: strb r0, [r3] ldrb r0, [r2] _0806C574: - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0806C5B2 @@ -1135,9 +1135,9 @@ _0806C65E: ands r0, r3 cmp r0, 0 bne _0806C6EC - ldr r4, =gActiveBank + ldr r4, =gActiveBattler ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0806C6EC @@ -1155,9 +1155,9 @@ _0806C6AE: movs r0, 0 movs r1, 0 movs r2, 0 - bl EmitGetMonData + bl BtlController_EmitGetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec strb r5, [r4] b _0806C6EC .pool diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s old mode 100755 new mode 100644 index d1f7bd161f..2ff444f56b --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -5,224 +5,8 @@ .text - thumb_func_start CountMonsInBox -CountMonsInBox: @ 80C6FA0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - movs r5, 0 -_080C6FAA: - lsls r1, r4, 24 - lsrs r1, 24 - adds r0, r6, 0 - movs r2, 0xB - bl GetBoxMonDataFromAnyBox - cmp r0, 0 - beq _080C6FC0 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080C6FC0: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bls _080C6FAA - lsls r0, r5, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CountMonsInBox - thumb_func_start sub_80C6FD4 -sub_80C6FD4: @ 80C6FD4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 -_080C6FDC: - lsls r1, r4, 24 - lsrs r1, 24 - adds r0, r5, 0 - movs r2, 0xB - bl GetBoxMonDataFromAnyBox - cmp r0, 0 - bne _080C6FF2 - lsls r0, r4, 16 - asrs r0, 16 - b _080C7000 -_080C6FF2: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bls _080C6FDC - movs r0, 0x1 - negs r0, r0 -_080C7000: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80C6FD4 - - thumb_func_start sub_80C7008 -sub_80C7008: @ 80C7008 - push {r4-r6,lr} - movs r5, 0 - movs r6, 0 -_080C700E: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _080C7036 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _080C7036 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_080C7036: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _080C700E - lsls r0, r6, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80C7008 - - thumb_func_start sub_80C7050 -sub_80C7050: @ 80C7050 - push {r4-r7,lr} - lsls r0, 24 - movs r5, 0 - movs r6, 0 - lsrs r7, r0, 24 -_080C705A: - cmp r5, r7 - beq _080C7092 - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _080C7092 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _080C7092 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080C7092 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_080C7092: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _080C705A - lsls r0, r6, 24 - lsrs r0, 24 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80C7050 - - thumb_func_start sub_80C70AC -sub_80C70AC: @ 80C70AC - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - bl sub_80C7050 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80C70AC - - thumb_func_start sub_80C70C4 -sub_80C70C4: @ 80C70C4 - push {r4,r5,lr} - movs r4, 0 - movs r5, 0 -_080C70CA: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _080C70E2 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080C70E2: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x5 - bls _080C70CA - lsls r0, r5, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80C70C4 - - thumb_func_start sub_80C70FC -sub_80C70FC: @ 80C70FC - push {r4,r5,lr} - adds r5, r0, 0 - lsls r4, r2, 16 - lsrs r4, 16 - bl StringCopy - adds r1, r0, 0 - adds r5, r4 - cmp r1, r5 - bcs _080C711A - movs r0, 0 -_080C7112: - strb r0, [r1] - adds r1, 0x1 - cmp r1, r5 - bcc _080C7112 -_080C711A: - movs r0, 0xFF - strb r0, [r1] - adds r0, r1, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80C70FC - - thumb_func_start sub_80C7128 + thumb_func_start sub_80C7128 sub_80C7128: @ 80C7128 push {r4-r7,lr} mov r7, r9 @@ -427,7 +211,7 @@ _080C72AC: bl sub_81973A4 movs r0, 0 movs r1, 0 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame movs r0, 0 movs r1, 0x11 bl FillWindowPixelBuffer @@ -449,7 +233,7 @@ _080C72AC: movs r0, 0 movs r1, 0x1 movs r3, 0xFF - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized movs r0, 0 movs r1, 0x3 bl CopyWindowToVram @@ -555,7 +339,7 @@ _080C7392: movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized b _080C756A .pool _080C73D0: @@ -578,7 +362,7 @@ _080C73F6: ldrsh r4, [r5, r3] cmp r4, 0 bne _080C7428 - bl sub_80C70C4 + bl CountPartyMons lsls r0, 24 lsrs r0, 24 cmp r0, 0x6 @@ -601,7 +385,7 @@ _080C7428: ldrsh r0, [r5, r1] cmp r0, 0x1 bne _080C745C - bl sub_80C70C4 + bl CountPartyMons lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x1 @@ -622,7 +406,7 @@ _080C7428: _080C745C: movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen movs r0, 0x4 strh r0, [r5, 0x8] b _080C756A @@ -725,7 +509,7 @@ _080C7532: movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized strh r4, [r5, 0x8] b _080C756A .pool @@ -843,7 +627,7 @@ sub_80C75FC: @ 80C75FC lsrs r4, 24 adds r0, r4, 0 movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame adds r0, r4, 0 movs r1, 0x5 mov r2, r8 @@ -1322,7 +1106,7 @@ sub_80C7958: @ 80C7958 ldrh r0, [r3] adds r0, 0x1 strh r0, [r1] - ldr r0, =gUnknown_08571710 + ldr r0, =sSpriteAnimTable_8571710 str r0, [sp, 0xC] movs r4, 0 _080C7A10: @@ -2252,7 +2036,7 @@ _080C8230: ldrb r0, [r0] cmp r0, 0x2 bne _080C825C - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] cmp r0, 0 beq _080C825C @@ -2417,7 +2201,7 @@ _080C83CC: ldr r1, =0x00000ce6 adds r0, r1 ldrh r0, [r0] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _080C83F4 @@ -2520,7 +2304,7 @@ _080C84C8: ldr r1, =0x00000ce6 adds r0, r1 ldrh r0, [r0] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _080C84F8 @@ -3090,7 +2874,7 @@ _080C8A0C: ldr r2, =0x00000ce6 adds r0, r2 ldrh r0, [r0] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 bne _080C8A8C @@ -3129,7 +2913,7 @@ _080C8A7C: ldr r2, =0x00000ce6 adds r0, r1, r2 ldrh r0, [r0] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _080C8A98 @@ -3539,7 +3323,7 @@ _080C8E38: b _080C8EA0 .pool _080C8E4C: - bl party_compaction + bl CompactPartySlots bl sub_80CB950 ldr r0, =gUnknown_02039D08 ldr r1, [r0] @@ -3625,7 +3409,7 @@ _080C8F0C: adds r0, 0x1 strb r0, [r1] _080C8F22: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -3699,7 +3483,7 @@ _080C8FA4: ldrb r0, [r0] cmp r0, 0 beq _080C8FD0 - bl party_compaction + bl CompactPartySlots bl sub_80CB950 b _080C905C .pool @@ -3877,7 +3661,7 @@ _080C914E: ldr r1, =0x00000ce6 adds r0, r1 ldrh r0, [r0] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 bne _080C9168 @@ -4159,7 +3943,7 @@ _080C93E4: ldr r1, =0x00000ce6 adds r0, r1 ldrh r0, [r0] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 bne _080C9404 @@ -4349,7 +4133,7 @@ _080C9584: b _080C9664 .pool _080C95A4: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -4453,7 +4237,7 @@ sub_80C9670: @ 80C9670 b _080C96AE .pool _080C9688: - bl party_compaction + bl CompactPartySlots bl sub_80CB950 ldr r1, [r4] ldrb r0, [r1] @@ -5143,7 +4927,7 @@ _080C9C78: b _080C9CAA .pool _080C9C8C: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -5274,7 +5058,7 @@ _080C9DAC: b _080C9DE0 .pool _080C9DC0: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -5458,7 +5242,7 @@ _080C9F56: sub_80C9F6C: @ 80C9F6C push {lr} sub sp, 0x4 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r1, [r0] mov r0, sp strh r1, [r0] @@ -5559,7 +5343,7 @@ sub_80CA044: @ 80CA044 movs r0, 0 movs r2, 0x4 bl InitBgsFromTemplates - ldr r1, =gUnknown_08DD2FE8 + ldr r1, =gPSSMenu_Gfx movs r0, 0 str r0, [sp] movs r0, 0x1 @@ -5609,7 +5393,7 @@ _080CA0C2: thumb_func_start sub_80CA0C8 sub_80CA0C8: @ 80CA0C8 push {lr} - ldr r0, =gUnknown_08572744 + ldr r0, =gWaveformSpritePalette bl LoadSpritePalette pop {r0} bx r0 @@ -5714,7 +5498,7 @@ sub_80CA154: @ 80CA154 sub_80CA1C4: @ 80CA1C4 push {r4,lr} sub sp, 0x8 - ldr r0, =gUnknown_0857274C + ldr r0, =gWaveformSpriteSheet ldr r1, [r0, 0x4] ldr r0, [r0] str r0, [sp] @@ -6320,7 +6104,7 @@ sub_80CA704: @ 80CA704 ldr r1, [r4] adds r1, 0xB0 bl LZ77UnCompWram - ldr r0, =gUnknown_08DD36A8 + ldr r0, =gPSSMenu_Pal movs r1, 0x10 movs r2, 0x20 bl LoadPalette @@ -6567,7 +6351,7 @@ _080CA94C: movs r1, 0 strb r1, [r0] bl sub_80CBB9C - bl party_compaction + bl CompactPartySlots movs r0, 0x2 str r0, [sp] movs r1, 0 @@ -6953,7 +6737,7 @@ sub_80CAC58: @ 80CAC58 sub sp, 0xC lsls r0, 24 lsrs r6, r0, 24 - bl sub_81AFBF0 + bl UnkTextUtil_Reset ldr r1, =gUnknown_0857276C lsls r0, r6, 3 adds r0, r1 @@ -6990,7 +6774,7 @@ _080CACB8: adds r1, r2 _080CACC0: movs r0, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI b _080CAD30 .pool _080CACD0: @@ -7033,7 +6817,7 @@ _080CAD16: ldr r0, =0x000021eb adds r1, r0 movs r0, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI _080CAD30: ldr r5, =gUnknown_02039D08 ldr r0, [r5] @@ -7043,7 +6827,7 @@ _080CAD30: lsls r1, r6, 3 adds r1, r2 ldr r1, [r1] - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders movs r0, 0x1 movs r1, 0x11 bl FillWindowPixelBuffer @@ -9340,7 +9124,7 @@ _080CBF80: adds r1, r3 ldr r0, [r1] ldr r2, [r0] - ldr r0, =gUnknown_0857291C + ldr r0, =gSpriteAffineAnimTable_857291C str r0, [r2, 0x10] ldr r0, [r1] ldr r0, [r0] @@ -10351,7 +10135,7 @@ _080CC7E6: lsls r0, r1, 1 adds r0, r1 lsls r0, 2 - ldr r1, =gUnknown_085775B8 + ldr r1, =gWallpaperTable adds r6, r0, r1 ldr r0, [r6, 0x4] ldr r1, [r7] @@ -10862,7 +10646,7 @@ _080CCC70: adds r1, r6, r1 lsls r1, 16 asrs r1, 16 - ldr r0, =gUnknown_0857B0A8 + ldr r0, =gSpriteTemplate_857B0A8 movs r2, 0x1C movs r3, 0x18 bl CreateSprite @@ -10936,7 +10720,7 @@ sub_80CCCFC: @ 80CCCFC ldr r0, =0x00030200 str r0, [r3, 0x4] add r1, sp, 0x4 - ldr r0, =gUnknown_0857B0A8 + ldr r0, =gSpriteTemplate_857B0A8 ldm r0!, {r5-r7} stm r1!, {r5-r7} ldm r0!, {r5-r7} @@ -13381,7 +13165,7 @@ sub_80CE19C: @ 80CE19C lsls r0, 24 lsrs r6, r0, 24 adds r0, r6, 0 - bl sub_80C6FD4 + bl GetFirstFreeBoxSpot lsls r0, 16 lsrs r4, r0, 16 asrs r0, 16 @@ -14127,7 +13911,7 @@ _080CE838: ldr r2, =0x00002187 adds r1, r2 strb r0, [r1] - bl sub_80C70C4 + bl CountPartyMons ldr r1, [r4] subs r0, 0x1 ldr r2, =0x00002186 @@ -14193,8 +13977,8 @@ _080CE900: .pool thumb_func_end sub_80CE8E4 - thumb_func_start party_compaction -party_compaction: @ 80CE90C + thumb_func_start CompactPartySlots +CompactPartySlots: @ 80CE90C push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -14271,7 +14055,7 @@ _080CE992: pop {r1} bx r1 .pool - thumb_func_end party_compaction + thumb_func_end CompactPartySlots thumb_func_start sub_80CE9A8 sub_80CE9A8: @ 80CE9A8 @@ -14347,7 +14131,7 @@ sub_80CEA30: @ 80CEA30 bne _080CEA64 ldr r0, =gUnknown_02039D79 ldrb r0, [r0] - bl sub_80C7050 + bl CountPartyAliveNonEggMonsExcept lsls r0, 24 cmp r0, 0 bne _080CEA64 @@ -14376,7 +14160,7 @@ sub_80CEA6C: @ 80CEA6C bne _080CEAAC ldr r0, =gUnknown_02039D79 ldrb r0, [r0] - bl sub_80C7050 + bl CountPartyAliveNonEggMonsExcept lsls r0, 24 cmp r0, 0 bne _080CEAAC @@ -14656,7 +14440,7 @@ _080CEC86: adds r1, r3 str r0, [r1] adds r0, r6, 0 - bl pokemon_get_pal + bl GetMonFrontSpritePal ldr r1, [r4] ldr r2, =0x00000cdc adds r1, r2 @@ -14759,7 +14543,7 @@ _080CED7E: adds r1, r4 ldrh r0, [r1] mov r1, r9 - bl species_and_otid_get_pal + bl GetFrontSpritePalFromSpeciesAndPersonality ldr r1, [r5] ldr r3, =0x00000cdc adds r2, r1, r3 @@ -16384,7 +16168,7 @@ sub_80CFB44: @ 80CFB44 .pool _080CFB8C: ldrh r0, [r1] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 bne _080CFBA4 @@ -16413,7 +16197,7 @@ _080CFBAC: .pool _080CFBCC: ldrh r0, [r1] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -16456,14 +16240,14 @@ sub_80CFC14: @ 80CFC14 push {r4-r6,lr} sub sp, 0x2C mov r1, sp - ldr r0, =gUnknown_0857B9E4 + ldr r0, =gHandCursorSpriteSheets ldm r0!, {r2-r4} stm r1!, {r2-r4} ldm r0!, {r2,r3,r5} stm r1!, {r2,r3,r5} add r4, sp, 0x18 adds r1, r4, 0 - ldr r0, =gUnknown_0857B9FC + ldr r0, =gHandCursorSpritePalettes ldm r0!, {r2,r3,r5} stm r1!, {r2,r3,r5} ldr r0, [r0] @@ -16495,7 +16279,7 @@ sub_80CFC14: @ 80CFC14 adds r2, r4, 0 adds r3, r5, 0 bl sub_80CD444 - ldr r0, =gUnknown_0857BA50 + ldr r0, =gSpriteTemplate_857BA50 movs r2, 0 ldrsh r1, [r4, r2] movs r3, 0 @@ -16569,7 +16353,7 @@ _080CFD3C: movs r3, 0x15 movs r4, 0x2 _080CFD40: - ldr r0, =gUnknown_0857BA68 + ldr r0, =gSpriteTemplate_857BA68 movs r1, 0 movs r2, 0 bl CreateSprite @@ -18540,7 +18324,7 @@ sub_80D0C60: @ 80D0C60 orrs r0, r1 str r0, [r2, 0x4] mov r1, sp - ldr r0, =gUnknown_0857BC70 + ldr r0, =gSpriteTemplate_857BC70 ldm r0!, {r4-r6} stm r1!, {r4-r6} ldm r0!, {r4-r6} @@ -21042,7 +20826,7 @@ sub_80D2054: @ 80D2054 lsls r1, 4 adds r0, r1 adds r1, r5, 0 - bl sub_8069004 + bl BoxMonToMon _080D2088: pop {r4,r5} pop {r0} @@ -21264,8 +21048,8 @@ _080D220C: bx r1 thumb_func_end sub_80D214C - thumb_func_start sub_80D2218 -sub_80D2218: @ 80D2218 + thumb_func_start CheckFreePokemonStorageSpace +CheckFreePokemonStorageSpace: @ 80D2218 push {r4-r7,lr} mov r7, r8 push {r7} @@ -21311,7 +21095,7 @@ _080D2262: pop {r4-r7} pop {r1} bx r1 - thumb_func_end sub_80D2218 + thumb_func_end CheckFreePokemonStorageSpace thumb_func_start sub_80D2270 sub_80D2270: @ 80D2270 @@ -21876,7 +21660,7 @@ sub_80D2644: @ 80D2644 mov r2, r9 ldr r1, [r2] adds r5, r1 - ldr r2, =gUnknown_0857BC88 + ldr r2, =gSpriteTemplate_857BC88 lsls r4, 2 lsls r1, r0, 4 adds r4, r1 diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s old mode 100755 new mode 100644 index a89c54304c..a94d69b963 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -212,17 +212,17 @@ _081C3FEC: movs r2, 0x1 movs r3, 0x2 bl ConvertIntToDecimalStringN - bl sub_81AFBF0 + bl UnkTextUtil_Reset movs r0, 0 adds r1, r4, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI movs r0, 0x1 adds r1, r4, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI ldr r4, =gStringVar4 ldr r1, =gUnknown_0861CE97 adds r0, r4, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders movs r0, 0x1 adds r1, r4, 0 movs r2, 0x2C @@ -1116,7 +1116,7 @@ sub_81C4778: @ 81C4778 bne _081C47AE adds r0, r1, 0 adds r0, 0xC - bl sub_805F110 + bl ShouldPlayNormalPokeCry cmp r0, 0x1 bne _081C47A4 ldrh r0, [r4, 0x2] @@ -1424,16 +1424,16 @@ sub_81C4A08: @ 81C4A08 bl GetMonData lsls r0, 16 lsrs r0, 16 - bl ball_number_to_ball_processing_index + bl ItemIdToBallId adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 adds r0, r4, 0 - bl sub_8076A78 + bl LoadBallGfx lsls r0, r4, 1 adds r0, r4 lsls r0, 3 - ldr r1, =gUnknown_0832C588 + ldr r1, =gBallSpriteTemplates adds r0, r1 movs r1, 0x10 movs r2, 0x88 @@ -2049,7 +2049,7 @@ sub_81C4F24: @ 81C4F24 bl ScriptContext2_Enable movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen ldr r0, =sub_81C4F44 movs r1, 0xA bl CreateTask @@ -2239,7 +2239,7 @@ _081C50E4: bl clear_scheduled_bg_copies_to_vram b _081C51A2 _081C50EE: - bl remove_some_task + bl ScanlineEffect_Stop b _081C51A2 _081C50F4: bl FreeAllSpritePalettes @@ -2351,7 +2351,7 @@ _081C51D6: thumb_func_start sub_81C51DC sub_81C51DC: @ 81C51DC push {lr} - bl sub_8121DA0 + bl ResetVramOamAndBgCntRegs movs r0, 0 bl ResetBgsAndClearDma3BusyFlags ldr r1, =gUnknown_0861F2B4 @@ -2363,7 +2363,7 @@ sub_81C51DC: @ 81C51DC adds r1, 0x4 movs r0, 0x2 bl SetBgTilemapBuffer - bl sub_8121E10 + bl ResetAllBgsCoordinates movs r0, 0x2 bl schedule_bg_copy_tilemap_to_vram movs r1, 0x82 @@ -2411,7 +2411,7 @@ _081C5264: .4byte _081C52D4 _081C5278: bl reset_temp_tile_data_buffers - ldr r1, =gUnknown_08D9A620 + ldr r1, =gBagScreen_Gfx movs r0, 0 str r0, [sp] movs r0, 0x2 @@ -2460,7 +2460,7 @@ _081C52DC: b _081C5308 .pool _081C52F0: - bl sub_8122328 + bl LoadListMenuArrowsGfx ldr r0, [r4] ldr r1, =0x00000984 adds r0, r1 @@ -2559,7 +2559,7 @@ _081C5382: movs r0, 0x2 negs r0, r0 str r0, [r1] - ldr r2, =gUnknown_03006310 + ldr r2, =gMultiuseListMenuTemplate adds r1, r2, 0 ldr r0, =gUnknown_0861F2C0 ldm r0!, {r4,r6,r7} @@ -2918,7 +2918,7 @@ sub_81C56F8: @ 81C56F8 lsls r4, 3 ldr r0, =gTasks + 0x8 adds r4, r0 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldr r2, =gUnknown_0203CF30 ldrh r1, [r2, 0x8] ldrh r2, [r2, 0x6] @@ -3545,7 +3545,7 @@ _081C5C12: adds r1, r4, 0 adds r1, 0x8 adds r2, r4, 0x6 - bl get_coro_args_x18_x1A + bl sub_81AE860 ldrh r1, [r4, 0x8] ldrh r0, [r4, 0x6] adds r1, r0 @@ -3565,14 +3565,14 @@ _081C5C12: .pool _081C5C5C: ldrb r0, [r7] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r6, r0, 0 ldrb r0, [r7] ldr r1, =gUnknown_0203CF38 mov r8, r1 mov r2, r8 subs r2, 0x2 - bl get_coro_args_x18_x1A + bl sub_81AE860 movs r0, 0x2 negs r0, r0 cmp r6, r0 @@ -3585,7 +3585,7 @@ _081C5C5C: _081C5C88: movs r0, 0x5 bl PlaySE - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId strh r4, [r0] adds r0, r5, 0 bl sub_81C5B14 @@ -3594,7 +3594,7 @@ _081C5C88: _081C5CA0: movs r0, 0x5 bl PlaySE - ldr r2, =gScriptItemId + ldr r2, =gSpecialVar_ItemId mov r12, r2 ldr r0, =gSaveBlock2Ptr ldr r2, [r0] @@ -3681,7 +3681,7 @@ sub_81C5D20: @ 81C5D20 b _081C5DD8 .pool _081C5D74: - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] bl ItemId_GetBattleUsage lsls r0, 24 @@ -3722,7 +3722,7 @@ _081C5DCE: _081C5DD8: strb r0, [r1] _081C5DDA: - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -4195,7 +4195,7 @@ sub_81C61E0: @ 81C61E0 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r4, =gScriptItemId + ldr r4, =gSpecialVar_ItemId ldrh r0, [r4] bl ItemId_GetPocket lsls r0, 24 @@ -4207,7 +4207,7 @@ sub_81C61E0: @ 81C61E0 cmp r0, 0x3 beq _081C620C ldrh r0, [r4] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -4315,7 +4315,7 @@ sub_81C62C4: @ 81C62C4 b _081C6334 .pool _081C62F4: - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -4362,7 +4362,7 @@ sub_81C6350: @ 81C6350 lsls r4, 3 ldr r0, =gTasks + 0x8 adds r4, r0 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -4577,7 +4577,7 @@ sub_81C654C: @ 81C654C lsls r4, 3 ldr r5, =gTasks + 0x8 adds r6, r4, r5 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -4635,7 +4635,7 @@ sub_81C65CC: @ 81C65CC beq _081C662E movs r0, 0x5 bl PlaySE - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldrh r1, [r4, 0x10] bl RemovePyramidBagItem @@ -4646,7 +4646,7 @@ sub_81C65CC: @ 81C65CC bl sub_81C5924 bl sub_81C59BC bl sub_81C5314 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldrh r1, [r6] ldrh r2, [r7] bl ListMenuInit @@ -4671,9 +4671,9 @@ sub_81C6648: @ 81C6648 lsrs r4, r0, 24 adds r6, r4, 0 bl sub_81C61A8 - ldr r5, =gScriptItemId + ldr r5, =gSpecialVar_ItemId ldrh r0, [r5] - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -4713,7 +4713,7 @@ sub_81C66AC: @ 81C66AC adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -4785,7 +4785,7 @@ sub_81C674C: @ 81C674C lsls r0, 24 lsrs r4, r0, 24 adds r6, r4, 0 - ldr r5, =gScriptItemId + ldr r5, =gSpecialVar_ItemId ldrh r0, [r5] bl itemid_80BF6D8_mail_related lsls r0, 24 @@ -4820,7 +4820,7 @@ sub_81C679C: @ 81C679C push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r4, =gScriptItemId + ldr r4, =gSpecialVar_ItemId ldrh r0, [r4] bl ItemId_GetBattleFunc cmp r0, 0 @@ -4953,18 +4953,18 @@ sub_81C68B0: @ 81C68B0 ldrb r0, [r4] ldr r1, =gUnknown_0203CF38 subs r2, r1, 0x2 - bl get_coro_args_x18_x1A + bl sub_81AE860 b _081C6940 .pool _081C68F8: ldrb r0, [r4] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r6, r0, 0 ldrb r0, [r4] ldr r4, =gUnknown_0203CF38 subs r2, r4, 0x2 adds r1, r4, 0 - bl get_coro_args_x18_x1A + bl sub_81AE860 movs r0, 0 bl sub_81C7028 subs r4, 0x8 @@ -5066,7 +5066,7 @@ _081C69A8: strh r0, [r1, 0x6] _081C69E0: bl sub_81C5314 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldrh r1, [r7] mov r3, r8 ldrh r2, [r3] @@ -5124,7 +5124,7 @@ sub_81C6A14: @ 81C6A14 strh r0, [r1, 0x6] _081C6A5E: bl sub_81C5314 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate ldrh r1, [r5] ldrh r2, [r7] bl ListMenuInit @@ -5238,7 +5238,7 @@ _081C6AF8: bl Free adds r0, r5, 0 bl Free - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] b _081C6BC6 @@ -5266,7 +5266,7 @@ _081C6B9C: lsrs r6, r0, 24 cmp r6, 0x2 bls _081C6B9C - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] adds r0, r7, 0 @@ -5362,7 +5362,7 @@ sub_81C6C3C: @ 81C6C3C str r4, [sp, 0xC] str r1, [sp, 0x10] movs r1, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x14 pop {r3} mov r8, r3 @@ -5408,7 +5408,7 @@ sub_81C6C94: @ 81C6C94 str r4, [sp, 0xC] str r1, [sp, 0x10] movs r1, 0x7 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x14 pop {r3} mov r8, r3 @@ -5547,7 +5547,7 @@ DisplayItemMessageInBattlePyramid: @ 81C6DD8 movs r0, 0x2 movs r1, 0x11 bl FillWindowPixelBuffer - bl sav2_get_text_speed + bl GetPlayerTextSpeed lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -5756,7 +5756,7 @@ sub_81C6F90: @ 81C6F90 adds r0, r4, 0 adds r1, r4, 0 adds r2, r6, 0 - bl AddItemIconObject + bl AddItemIconSprite lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0x40 diff --git a/asm/pokenav.s b/asm/pokenav.s old mode 100755 new mode 100644 index 0c7a80742a..89516e65a6 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -44,7 +44,7 @@ sub_81C72A4: @ 81C72A4 bl SetMainCallback2 movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen pop {r0} bx r0 .pool @@ -683,7 +683,7 @@ _081C77B0: movs r0, 0 bl sub_81C763C adds r4, r0, 0 - ldr r1, =gUnknown_08DC7B80 + ldr r1, =gPokenavHeader_Gfx movs r0, 0 str r0, [sp] movs r2, 0 @@ -693,12 +693,12 @@ _081C77B0: movs r0, 0 adds r1, r4, 0 bl SetBgTilemapBuffer - ldr r1, =gUnknown_08DC7D84 + ldr r1, =gPokenavHeader_Tilemap movs r0, 0 movs r2, 0 movs r3, 0 bl CopyToBgTilemapBuffer - ldr r0, =gUnknown_08DC7B60 + ldr r0, =gPokenavHeader_Pal movs r1, 0 movs r2, 0x20 bl sub_81C7944 @@ -1571,7 +1571,7 @@ sub_81C7E58: @ 81C7E58 bl sub_8034974 adds r5, r0, 0 lsls r4, 5 - ldr r0, =gUnknown_08DC7F00 + ldr r0, =gPokenavLeftHeader_Pal adds r4, r0 movs r0, 0x1 bl IndexOfSpritePaletteTag @@ -1653,7 +1653,7 @@ sub_81C7F24: @ 81C7F24 bl sub_8034974 adds r5, r0, 0 lsls r4, 5 - ldr r0, =gUnknown_08DC7F00 + ldr r0, =gPokenavLeftHeader_Pal adds r4, r0 movs r0, 0x2 bl IndexOfSpritePaletteTag @@ -5198,7 +5198,7 @@ _081C9A5C: ldr r0, =gUnknown_08620194 movs r1, 0x3 bl sub_81C7B54 - ldr r1, =gUnknown_08DC90E0 + ldr r1, =gPokenavMessageBox_Gfx movs r0, 0 str r0, [sp] movs r0, 0x1 @@ -5209,14 +5209,14 @@ _081C9A5C: adds r1, 0x8C movs r0, 0x1 bl SetBgTilemapBuffer - ldr r1, =gUnknown_08DC9130 + ldr r1, =gPokenavMessageBox_Tilemap movs r0, 0x1 movs r2, 0 movs r3, 0 bl CopyToBgTilemapBuffer movs r0, 0x1 bl CopyBgTilemapBufferToVram - ldr r0, =gUnknown_08DC90C0 + ldr r0, =gPokenavMessageBox_Pal movs r1, 0x10 movs r2, 0x20 bl sub_81C7944 @@ -6948,7 +6948,7 @@ sub_81CA818: @ 81CA818 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r5, =gUnknown_0861FC7A + ldr r5, =gUnknown_0861FC78 + 2 adds r0, r4, 0 movs r1, 0x1 adds r2, r5, 0 @@ -6967,7 +6967,7 @@ sub_81CA818: @ 81CA818 thumb_func_start sub_81CA850 sub_81CA850: @ 81CA850 push {lr} - ldr r0, =gUnknown_0861FC86 + ldr r0, =gUnknown_0861FC78 + 0xE movs r1, 0x31 movs r2, 0x4 bl sub_81C7944 @@ -6985,7 +6985,7 @@ sub_81CA864: @ 81CA864 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r5, =gUnknown_0861FC86 + ldr r5, =gUnknown_0861FC78 + 0xE adds r0, r4, 0 movs r1, 0x1 adds r2, r5, 0 @@ -7068,7 +7068,7 @@ sub_81CA914: @ 81CA914 bl TransferPlttBuffer bl LoadOam bl ProcessSpriteCopyRequests - bl sub_80BA0A8 + bl ScanlineEffect_InitHBlankDmaTransfer pop {r0} bx r0 thumb_func_end sub_81CA914 @@ -7095,13 +7095,13 @@ titlescreen_0: @ 81CA92C movs r0, 0x44 movs r1, 0xA0 bl SetGpuRegBits - bl remove_some_task + bl ScanlineEffect_Stop bl sub_81CAA3C ldr r2, =gUnknown_08620384 ldr r0, [r2] ldr r1, [r2, 0x4] ldr r2, [r2, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams ldr r0, =sub_81CA914 bl c3args_set_0toR1_1to0 ldr r0, =sub_81CA9EC @@ -7122,7 +7122,7 @@ sub_81CA994: @ 81CA994 lsls r1, 6 movs r0, 0 bl ClearGpuRegBits - bl remove_some_task + bl ScanlineEffect_Stop ldr r0, =sub_81CA9EC bl FindTaskIdByFunc lsls r0, 24 @@ -7220,7 +7220,7 @@ sub_81CAA3C: @ 81CAA3C mov r0, sp movs r6, 0 strh r6, [r0] - ldr r5, =gUnknown_02038C28 + ldr r5, =gScanlineEffectRegBuffers ldr r0, =0x010000a0 mov r8, r0 mov r0, sp @@ -7890,7 +7890,7 @@ _081CAF34: adds r0, r5, 0 bl sub_81D1BD0 adds r4, r0, 0 - ldr r0, =gUnknown_0831F578 + ldr r0, =gFacilityClassToPicIndex adds r0, r4, r0 ldrb r0, [r0] b _081CAF6C @@ -7924,7 +7924,7 @@ sub_81CAF78: @ 81CAF78 strb r0, [r6] ldr r0, =gMapHeader ldrb r0, [r0, 0x17] - bl is_light_level_1_2_3_or_6 + bl Overworld_MapTypeAllowsTeleportAndFly lsls r0, 24 cmp r0, 0 bne _081CAFA4 @@ -8089,7 +8089,7 @@ _081CB0C0: thumb_func_start sub_81CB0C8 sub_81CB0C8: @ 81CB0C8 push {lr} - ldr r1, =gUnknown_085500A4 + ldr r1, =gRematchTable lsls r0, 4 adds r0, r1 ldrh r2, [r0, 0xA] @@ -10207,7 +10207,7 @@ sub_81CC158: @ 81CC158 adds r1, 0xF bl sub_81CAF78 adds r5, r0, 0 - bl sav2_get_text_speed + bl GetPlayerTextSpeed lsls r0, 24 lsrs r0, 24 ldrb r2, [r4, 0x14] @@ -10864,7 +10864,7 @@ sub_81CC670: @ 81CC670 movs r0, 0x4 bl sub_81C763C adds r4, r0, 0 - bl sub_812305C + bl FreeRegionMapIconResources bl sub_81CC9EC ldrb r0, [r4, 0x8] bl RemoveWindow @@ -10886,7 +10886,7 @@ sub_81CC6A4: @ 81CC6A4 bl TransferPlttBuffer bl LoadOam bl ProcessSpriteCopyRequests - bl sub_81237B4 + bl UpdateRegionMapVideoRegs pop {r0} bx r0 thumb_func_end sub_81CC6A4 @@ -10991,10 +10991,10 @@ _081CC784: bne _081CC7AC movs r0, 0x4 movs r1, 0x9 - bl sub_8124288 + bl CreateRegionMapPlayerIcon movs r0, 0x5 movs r1, 0xA - bl sub_81240D4 + bl CreateRegionMapCursor bl sub_812454C b _081CC77C _081CC7AC: @@ -11374,7 +11374,7 @@ sub_81CCA1C: @ 81CCA1C movs r1, 0x10 movs r2, 0x20 bl sub_81C7944 - ldr r0, =gUnknown_08DC91E8 + ldr r0, =gHoennMapZoomIcons_Pal movs r1, 0x30 movs r2, 0x20 bl sub_81C7944 @@ -11813,7 +11813,7 @@ _081CCE34: mov r1, r8 lsrs r0, r1, 24 lsrs r1, r7, 24 - bl sub_8145CF4 + bl GetLandmarkName adds r1, r0, 0 cmp r1, 0 bne _081CCE08 @@ -13532,7 +13532,7 @@ _081CDBD0: adds r0, r4, 0 mov r1, r8 adds r2, r5, 0 - bl species_and_otid_get_pal + bl GetFrontSpritePalFromSpeciesAndPersonality mov r2, r9 lsls r1, r2, 7 adds r1, r7, r1 @@ -13941,7 +13941,7 @@ _081CDF18: ldr r1, =0x0000040b movs r0, 0x52 bl SetGpuReg - ldr r1, =gUnknown_08DC6548 + ldr r1, =gPokenavCondition_Gfx movs r0, 0 str r0, [sp] movs r0, 0x3 @@ -13973,7 +13973,7 @@ _081CDFB8: beq _081CDFC4 b _081CE2C0 _081CDFC4: - ldr r0, =gUnknown_08DC6DFC + ldr r0, =gPokenavCondition_Tilemap adds r4, r5, 0x4 adds r1, r4, 0 bl LZ77UnCompVram @@ -13983,7 +13983,7 @@ _081CDFC4: bl sub_81CDD5C cmp r0, 0x1 bne _081CDFF2 - ldr r1, =gUnknown_08DC7070 + ldr r1, =gPokenavOptions_Tilemap movs r0, 0x9 str r0, [sp] movs r0, 0x4 @@ -13995,7 +13995,7 @@ _081CDFC4: _081CDFF2: movs r0, 0x3 bl CopyBgTilemapBufferToVram - ldr r0, =gUnknown_08DC6528 + ldr r0, =gPokenavCondition_Pal movs r1, 0x10 movs r2, 0x20 bl sub_81C7944 @@ -15647,7 +15647,7 @@ sub_81CEE44: @ 81CEE44 bl TransferPlttBuffer adds r0, r4, 0 bl sub_81D2108 - bl sub_80BA0A8 + bl ScanlineEffect_InitHBlankDmaTransfer pop {r4} pop {r0} bx r0 @@ -16941,17 +16941,17 @@ sub_81CF7F4: @ 81CF7F4 mov r8, r0 bl sub_81CF0F0 adds r7, r0, 0 - bl sub_81AFBF0 + bl UnkTextUtil_Reset ldr r4, =gStringVar1 movs r0, 0 adds r1, r4, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI movs r0, 0xFF strb r0, [r4] ldr r5, =gStringVar2 ldr r1, =gText_NumberF700 adds r0, r5, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders mov r1, r8 ldrb r0, [r1, 0x8] movs r1, 0x1 @@ -19854,14 +19854,14 @@ sub_81D0E84: @ 81D0E84 movs r2, 0 movs r3, 0x2 bl ConvertIntToDecimalStringN - bl sub_81AFBF0 + bl UnkTextUtil_Reset movs r0, 0 adds r1, r4, 0 - bl sub_81AFC0C + bl UnkTextUtil_SetPtrI ldr r4, =gStringVar4 ldr r1, =gText_RibbonsF700 adds r0, r4, 0 - bl sub_81AFC28 + bl UnkTextUtil_StringExpandPlaceholders ldrb r0, [r5, 0xA] movs r1, 0x44 bl FillWindowPixelBuffer @@ -20738,7 +20738,7 @@ _081D15B6: thumb_func_start sub_81D15BC sub_81D15BC: @ 81D15BC - ldr r1, =gUnknown_085500A4 + ldr r1, =gRematchTable lsls r0, 4 adds r0, r1 ldrh r0, [r0] @@ -20751,7 +20751,7 @@ sub_81D15CC: @ 81D15CC push {lr} adds r3, r0, 0 movs r1, 0 - ldr r2, =gUnknown_085500A4 + ldr r2, =gRematchTable _081D15D4: ldrh r0, [r2] cmp r0, r3 @@ -21440,7 +21440,7 @@ _081D1A24: cmp r0, 0 bne _081D1A1C adds r0, r7, 0 - bl sub_80B2318 + bl CountBattledRematchTeams lsls r0, 16 lsrs r0, 16 cmp r0, 0x1 @@ -21900,7 +21900,7 @@ _081D1D8C: movs r1, 0x1 movs r2, 0x8 adds r3, r5, 0 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 _081D1DAC: add sp, 0x34 pop {r4,r5} @@ -21921,7 +21921,7 @@ sub_81D1DC0: @ 81D1DC0 ldr r7, =gUnknown_0203CF4C ldr r0, =gText_Cancel2 mov r12, r0 - ldr r4, =gUnknown_03006310 + ldr r4, =gMultiuseListMenuTemplate ldr r1, =gUnknown_0203CF48 mov r8, r1 ldr r2, =sub_81D1E7C @@ -22318,7 +22318,7 @@ sub_81D20BC: @ 81D20BC b _081D20FA .pool _081D20D4: - bl dp12_8087EA4 + bl ScanlineEffect_Clear ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] @@ -22332,7 +22332,7 @@ _081D20E2: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_80BA038 + bl ScanlineEffect_SetParams ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] @@ -22366,7 +22366,7 @@ sub_81D2108: @ 81D2108 adds r0, r6, 0 bl sub_81D2634 movs r7, 0 - ldr r5, =gUnknown_02038C28 + ldr r5, =gScanlineEffectRegBuffers mov r12, r5 movs r0, 0xF0 lsls r0, 3 @@ -23376,7 +23376,7 @@ sub_81D28C8: @ 81D28C8 push {r4-r7,lr} lsls r1, 16 lsrs r4, r1, 16 - ldr r3, =gUnknown_03006310 + ldr r3, =gMultiuseListMenuTemplate adds r2, r3, 0 ldr r1, =gUnknown_08625548 ldm r1!, {r5-r7} @@ -23751,7 +23751,7 @@ sub_81D2BF4: @ 81D2BF4 movs r1, 0x1 orrs r0, r1 strb r0, [r2] - bl sav2_get_text_speed + bl GetPlayerTextSpeed adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -23765,7 +23765,7 @@ sub_81D2BF4: @ 81D2BF4 str r0, [sp, 0xC] movs r1, 0x1 adds r2, r4, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized add sp, 0x10 pop {r4} pop {r0} @@ -24408,7 +24408,7 @@ _081D30C4: adds r0, r4, 0 adds r1, r6, 0 adds r2, r5, 0 - bl species_and_otid_get_pal + bl GetFrontSpritePalFromSpeciesAndPersonality mov r1, r9 bl LZ77UnCompWram _081D311A: @@ -25722,7 +25722,7 @@ sub_81D3AD8: @ 81D3AD8 adds r5, r0, 0 adds r4, r1, 0 movs r0, 0x1E - bl sub_81535DC + bl TryCopySpecialSaveSection cmp r0, 0x1 bne _081D3B04 ldr r2, =0x00000ee8 @@ -26754,7 +26754,7 @@ _081D4368: b _081D449E _081D4394: movs r3, 0 - ldr r1, =gUnknown_0862608E + ldr r1, =gUnknown_0862608C + 2 adds r0, r7, r1 movs r2, 0x16 ldrsh r1, [r4, r2] @@ -26887,7 +26887,7 @@ _081D449E: mov r3, r10 adds r4, r0, r3 ldr r6, =gUnknown_0862608C - ldr r1, =gUnknown_0862608E + ldr r1, =gUnknown_0862608C + 2 adds r0, r7, r1 movs r3, 0x16 ldrsh r1, [r4, r3] @@ -27683,7 +27683,7 @@ _081D4AF8: movs r2, 0x80 orrs r1, r2 strb r1, [r0] - ldr r0, =gScriptFacing + ldr r0, =gSpecialVar_Facing ldrh r0, [r0] cmp r0, 0x2 beq _081D4B3A @@ -28068,11 +28068,11 @@ sub_81D4E30: @ 81D4E30 lsls r2, 6 movs r1, 0 bl memset - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00005503 adds r0, r2, 0 strh r0, [r1] - bl sub_8009734 + bl OpenLink movs r0, 0x1 bl sub_800B330 pop {r0} @@ -28128,11 +28128,11 @@ _081D4EBA: thumb_func_start sub_81D4EC0 sub_81D4EC0: @ 81D4EC0 push {lr} - bl sub_800ABBC + bl IsLinkMaster lsls r0, 24 cmp r0, 0 beq _081D4EDC - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 @@ -28186,11 +28186,11 @@ _081D4F20: .4byte _081D4FEC .4byte _081D4FF8 _081D4F38: - bl sub_800ABBC + bl IsLinkMaster lsls r0, 24 cmp r0, 0 beq _081D4F88 - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -28212,7 +28212,7 @@ _081D4F54: strb r0, [r4] b _081D500C _081D4F6C: - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 @@ -28248,7 +28248,7 @@ _081D4FA0: movs r0, 0x5 b _081D500E _081D4FB6: - bl sub_800B320 + bl IsLinkConnectionEstablished lsls r0, 24 cmp r0, 0 beq _081D500C @@ -28447,7 +28447,7 @@ _081D515C: beq _081D5166 b _081D52FC _081D5166: - bl sub_80097E8 + bl CloseLink b _081D525C _081D516C: adds r0, r4, 0 @@ -28500,20 +28500,20 @@ _081D51D0: beq _081D51F4 movs r0, 0x5 bl PlaySE - bl sub_80097E8 + bl CloseLink adds r0, r4, 0 bl sub_81D505C b _081D535A .pool _081D51F4: - bl sub_800ABAC + bl GetLinkPlayerCount_2 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bls _081D5210 adds r0, r4, 0 bl sub_81D505C - bl sub_80097E8 + bl CloseLink movs r0, 0x7 strb r0, [r4, 0x8] b _081D548A @@ -28523,7 +28523,7 @@ _081D5210: beq _081D522E movs r0, 0x5 bl PlaySE - bl sub_80097E8 + bl CloseLink adds r0, r4, 0 bl sub_81D505C movs r0, 0x8 @@ -28537,7 +28537,7 @@ _081D522E: bne _081D523C b _081D548A _081D523C: - bl sub_80097E8 + bl CloseLink bl sub_81D4E30 adds r0, r4, 0 bl sub_81D505C @@ -28654,13 +28654,13 @@ _081D5340: _081D5350: movs r0, 0x5 bl PlaySE - bl sub_80097E8 + bl CloseLink _081D535A: movs r0, 0x17 strb r0, [r4, 0x8] b _081D548A _081D5360: - bl sub_80097E8 + bl CloseLink movs r0, 0x15 strb r0, [r4, 0x8] b _081D548A @@ -28670,7 +28670,7 @@ _081D536A: cmp r0, 0 beq _081D537A _081D5374: - bl sub_80097E8 + bl CloseLink b _081D53C0 _081D537A: bl GetBlockReceivedStatus @@ -28880,7 +28880,7 @@ sub_81D5530: @ 81D5530 lsls r1, 24 adds r0, r1 lsrs r0, 24 - ldr r2, =gTrainerClassToNameIndex + ldr r2, =gFacilityClassToTrainerClass ldr r1, =gUnknown_0203CF58 ldr r1, [r1] adds r1, 0x16 @@ -28947,7 +28947,7 @@ sub_81D5588: @ 81D5588 adds r3, r0 ldrb r4, [r3, 0x1B] bl sub_81D5710 - ldr r0, =gUnknown_0831F578 + ldr r0, =gFacilityClassToPicIndex adds r4, r0 ldrb r0, [r4] pop {r4} @@ -29323,7 +29323,7 @@ _081D5854: sub_81D58D8: @ 81D58D8 push {lr} bl sub_80008E8 - ldr r3, =gScriptResult + ldr r3, =gSpecialVar_Result movs r0, 0 strh r0, [r3] ldr r0, =gSaveBlock1Ptr @@ -29381,7 +29381,7 @@ sub_81D5924: @ 81D5924 cmp r4, 0 beq _081D596C _081D5952: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x2 strh r0, [r1] b _081D59C0 @@ -29413,12 +29413,12 @@ _081D596C: negs r0, r0 ands r0, r2 strb r0, [r1] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r4, [r0] b _081D59C0 .pool _081D59BC: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r6, [r0] _081D59C0: pop {r3} @@ -29444,7 +29444,7 @@ sub_81D59D0: @ 81D59D0 lsrs r5, r0, 24 cmp r5, 0 beq _081D59FC - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r3, [r0] b _081D5A4E .pool @@ -29473,12 +29473,12 @@ _081D59FC: adds r2, r0 ldr r0, [r2] str r0, [r1] - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r5, [r0] b _081D5A4E .pool _081D5A48: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _081D5A4E: @@ -29556,7 +29556,7 @@ sub_81D5AD0: @ 81D5AD0 negs r0, r0 ands r0, r1 strb r0, [r2] - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 b _081D5B20 .pool @@ -29569,12 +29569,12 @@ _081D5B00: negs r0, r0 ands r0, r1 strb r0, [r2] - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 b _081D5B20 .pool _081D5B1C: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x2 _081D5B20: strh r0, [r1] @@ -29653,12 +29653,12 @@ sub_81D5BBC: @ 81D5BBC movs r2, 0 movs r3, 0x1 bl ConvertIntToDecimalStringN - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 b _081D5BF0 .pool _081D5BEC: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 _081D5BF0: strh r0, [r1] @@ -29672,7 +29672,7 @@ _081D5BF0: sub_81D5C00: @ 81D5C00 push {lr} bl sub_81D56B0 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] bl sub_81D5710 @@ -29721,12 +29721,12 @@ sub_81D5C5C: @ 81D5C5C lsrs r1, r0, 24 cmp r1, 0 bne _081D5C74 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] b _081D5C7A .pool _081D5C74: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _081D5C7A: @@ -30022,7 +30022,7 @@ _081D5E64: movs r1, 0xF ands r0, r1 strh r0, [r5, 0xE] - ldr r0, =gUnknown_082C83F0 + ldr r0, =EventScript_2C83F0 str r0, [r5, 0x10] ldr r0, =gSaveBlock2Ptr ldr r0, [r0] @@ -30343,8 +30343,8 @@ _081D6176: .pool thumb_func_end sub_81D6134 - thumb_func_start battle_init -battle_init: @ 81D6180 + thumb_func_start sub_81D6180 +sub_81D6180: @ 81D6180 lsls r0, 24 ldr r1, =gSaveBlock2Ptr ldr r1, [r1] @@ -30355,7 +30355,7 @@ battle_init: @ 81D6180 ldrh r0, [r1] bx lr .pool - thumb_func_end battle_init + thumb_func_end sub_81D6180 thumb_func_start GetTrainerHillTrainerFlag @ u8 GetTrainerHillTrainerFlag(u8 fieldObjectId) @@ -30487,7 +30487,7 @@ _081D62A2: thumb_func_start sub_81D62AC sub_81D62AC: @ 81D62AC - ldr r0, =gUnknown_082C83F0 + ldr r0, =EventScript_2C83F0 bx lr .pool thumb_func_end sub_81D62AC @@ -30495,7 +30495,7 @@ sub_81D62AC: @ 81D62AC thumb_func_start sub_81D62B4 sub_81D62B4: @ 81D62B4 push {lr} - ldr r0, =gScriptLastTalked + ldr r0, =gSpecialVar_LastTalked ldrh r1, [r0] movs r0, 0x5 bl sub_81D572C @@ -30656,7 +30656,7 @@ sub_81D63C8: @ 81D63C8 ldrb r4, [r3, 0x1B] bl sub_81D5710 movs r2, 0 - ldr r0, =gTrainerClassToNameIndex + ldr r0, =gFacilityClassToTrainerClass adds r4, r0 ldrb r3, [r4] ldr r1, =gUnknown_0862A3B4 @@ -30772,7 +30772,7 @@ _081D64D4: thumb_func_start sub_81D64DC sub_81D64DC: @ 81D64DC - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000ef9 @@ -30825,7 +30825,7 @@ sub_81D6534: @ 81D6534 cmp r0, 0x6 beq _081D6560 bl sub_81D5C00 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0 beq _081D6560 @@ -30851,12 +30851,12 @@ sub_81D6568: @ 81D6568 ands r0, r1 cmp r0, 0 beq _081D6590 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 b _081D6594 .pool _081D6590: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 _081D6594: strh r0, [r1] diff --git a/asm/post_battle_event_funcs.s b/asm/post_battle_event_funcs.s new file mode 100644 index 0000000000..da84a65659 --- /dev/null +++ b/asm/post_battle_event_funcs.s @@ -0,0 +1,165 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start GameClear +GameClear: @ 8137734 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x1C + bl HealPlayerParty + ldr r4, =0x00000864 + adds r0, r4, 0 + bl FlagGet + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x1 + bne _08137760 + ldr r0, =gHasHallOfFameRecords + strb r1, [r0] + b _0813776C + .pool +_08137760: + ldr r1, =gHasHallOfFameRecords + movs r0, 0 + strb r0, [r1] + adds r0, r4, 0 + bl FlagSet +_0813776C: + movs r0, 0x1 + bl GetGameStat + cmp r0, 0 + bne _0813778E + ldr r0, =gSaveBlock2Ptr + ldr r2, [r0] + ldrh r1, [r2, 0xE] + lsls r1, 16 + ldrb r0, [r2, 0x10] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x11] + orrs r1, r0 + movs r0, 0x1 + bl sav12_xor_set +_0813778E: + bl sub_8076D48 + ldr r0, =gSaveBlock2Ptr + ldr r0, [r0] + ldrb r0, [r0, 0x8] + cmp r0, 0 + bne _081377AC + movs r0, 0x1 + bl sub_8084F6C + b _081377B2 + .pool +_081377AC: + movs r0, 0x2 + bl sub_8084F6C +_081377B2: + movs r7, 0 + movs r6, 0 + add r0, sp, 0x18 + mov r8, r0 + mov r5, sp +_081377BC: + movs r0, 0x64 + adds r1, r6, 0 + muls r1, r0 + ldr r0, =gPlayerParty + adds r4, r1, r0 + movs r0, 0 + strb r6, [r5] + strb r0, [r5, 0x1] + adds r0, r4, 0 + movs r1, 0x5 + bl GetMonData + cmp r0, 0 + beq _0813780A + adds r0, r4, 0 + movs r1, 0x6 + bl GetMonData + cmp r0, 0 + bne _0813780A + adds r0, r4, 0 + movs r1, 0x43 + bl GetMonData + cmp r0, 0 + bne _0813780A + movs r0, 0x1 + mov r1, r8 + strb r0, [r1] + adds r0, r4, 0 + movs r1, 0x43 + add r2, sp, 0x18 + bl SetMonData + adds r0, r4, 0 + bl GetRibbonCount + strb r0, [r5, 0x1] + movs r7, 0x1 +_0813780A: + adds r5, 0x4 + adds r6, 0x1 + cmp r6, 0x5 + ble _081377BC + cmp r7, 0x1 + bne _0813785A + movs r0, 0x2A + bl IncrementGameStat + ldr r0, =0x0000089b + bl FlagSet + mov r3, sp + add r2, sp, 0x4 + movs r6, 0x4 +_08137828: + ldrb r1, [r3, 0x1] + ldrb r0, [r2, 0x1] + cmp r0, r1 + bls _08137838 + ldr r1, [sp] + ldr r0, [r2] + str r0, [sp] + str r1, [r2] +_08137838: + adds r2, 0x4 + subs r6, 0x1 + cmp r6, 0 + bge _08137828 + mov r0, sp + ldrb r0, [r0, 0x1] + cmp r0, 0x4 + bls _0813785A + mov r0, sp + ldrb r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, =gPlayerParty + adds r0, r1 + movs r1, 0x43 + bl sub_80EE4DC +_0813785A: + ldr r0, =CB2_DoHallOfFameScreen + bl SetMainCallback2 + movs r0, 0 + add sp, 0x1C + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .pool + thumb_func_end GameClear + + thumb_func_start sp0C8_whiteout_maybe +sp0C8_whiteout_maybe: @ 813787C + push {lr} + ldr r0, =CB2_WhiteOut + bl SetMainCallback2 + movs r0, 0 + pop {r1} + bx r1 + .pool + thumb_func_end sp0C8_whiteout_maybe diff --git a/asm/rayquaza_scene.s b/asm/rayquaza_scene.s deleted file mode 100755 index f9936f1cab..0000000000 --- a/asm/rayquaza_scene.s +++ /dev/null @@ -1,5972 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81D6720 -sub_81D6720: @ 81D6720 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - adds r5, r1, 0 - mov r8, r2 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r6, =gUnknown_0203CF60 - ldr r0, =0x00002018 - bl AllocZeroed - str r0, [r6] - ldr r1, =0x00002006 - adds r0, r1 - strb r4, [r0] - ldr r0, [r6] - mov r1, r8 - str r1, [r0] - ldr r1, =0x00002007 - adds r0, r1 - strb r5, [r0] - ldr r0, =sub_81D6774 - bl SetMainCallback2 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D6720 - - thumb_func_start sub_81D6774 -sub_81D6774: @ 81D6774 - push {lr} - bl SetVBlankHBlankCallbacksToNull - bl clear_scheduled_bg_copies_to_vram - bl remove_some_task - bl FreeAllSpritePalettes - bl ResetPaletteFade - bl ResetSpriteData - bl ResetTasks - movs r0, 0 - movs r1, 0xF0 - movs r2, 0x20 - bl FillPalette - ldr r1, =gUnknown_0862A6A0 - ldr r0, =gUnknown_0203CF60 - ldr r0, [r0] - ldr r2, =0x00002006 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - bl CreateTask - ldr r0, =sub_81D67D0 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D6774 - - thumb_func_start sub_81D67D0 -sub_81D67D0: @ 81D67D0 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_81D67D0 - - thumb_func_start sub_81D67EC -sub_81D67EC: @ 81D67EC - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_81D67EC - - thumb_func_start sub_81D6800 -sub_81D6800: @ 81D6800 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081D6830 - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r4, =gUnknown_0203CF60 - ldr r0, [r4] - ldr r0, [r0] - bl SetMainCallback2 - ldr r0, [r4] - bl Free - adds r0, r5, 0 - bl DestroyTask -_081D6830: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D6800 - - thumb_func_start sub_81D6840 -sub_81D6840: @ 81D6840 - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - adds r6, r3, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _081D68B2 - ldr r2, =gUnknown_0203CF60 - ldr r1, [r2] - ldr r4, =0x00002007 - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, 0x1 - bne _081D6888 - ldr r0, =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81D6800 - b _081D68B0 - .pool -_081D6888: - ldr r4, =0x00002006 - adds r1, r4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r2, [r2] - ldr r1, =0x00002004 - adds r0, r2, r1 - strh r5, [r0] - ldr r0, =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r3, =gUnknown_0862A6A0 - adds r2, r4 - ldrb r0, [r2] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] -_081D68B0: - str r0, [r1] -_081D68B2: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D6840 - - thumb_func_start sub_81D68C8 -sub_81D68C8: @ 81D68C8 - push {lr} - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - movs r0, 0x40 - movs r1, 0xF0 - bl SetGpuReg - ldr r1, =0x00001888 - movs r0, 0x44 - bl SetGpuReg - ldr r0, =gPlttBufferUnfaded - movs r1, 0 - strh r1, [r0] - ldr r0, =gPlttBufferFaded - strh r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D68C8 - - thumb_func_start sub_81D6904 -sub_81D6904: @ 81D6904 - push {lr} - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x3F - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_81D6904 - - thumb_func_start sub_81D691C -sub_81D691C: @ 81D691C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - bl sub_81D750C - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081D697E - movs r0, 0 - ldrsh r1, [r5, r0] - cmp r1, 0x40 - bne _081D6954 - bl sub_81D7438 - b _081D6978 - .pool -_081D6954: - cmp r1, 0x90 - bne _081D695E - bl sub_81D7480 - b _081D6978 -_081D695E: - cmp r1, 0x94 - beq _081D6974 - movs r0, 0xA4 - lsls r0, 1 - cmp r1, r0 - bne _081D6978 - adds r0, r4, 0 - movs r1, 0 - bl sub_81D75B4 - b _081D697E -_081D6974: - bl sub_81D74C8 -_081D6978: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_081D697E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81D691C - - thumb_func_start sub_81D6984 -sub_81D6984: @ 81D6984 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r0, =gUnknown_0862A72C - mov r8, r0 - movs r1, 0x58 - movs r2, 0x48 - movs r3, 0x3 - bl CreateSprite - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r6, =gSprites - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - adds r0, r6, 0 - adds r0, 0x1C - adds r0, r4, r0 - ldr r1, =sub_81D6A20 - str r1, [r0] - adds r0, r6, 0 - adds r0, 0x2E - adds r4, r0 - mov r0, r8 - movs r1, 0x38 - movs r2, 0x68 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - ldr r0, =gUnknown_0862A750 - movs r1, 0x4B - movs r2, 0x65 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2] - ldr r0, =gUnknown_0862A774 - movs r1, 0x6D - movs r2, 0x72 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x4] - movs r0, 0 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x1 - bl StartSpriteAnim - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D6984 - - thumb_func_start sub_81D6A20 -sub_81D6A20: @ 81D6A20 - push {r4,lr} - adds r3, r0, 0 - movs r0, 0x2E - adds r0, r3 - mov r12, r0 - ldrh r0, [r0, 0xA] - adds r0, 0x1 - movs r1, 0x1F - ands r0, r1 - mov r1, r12 - strh r0, [r1, 0xA] - cmp r0, 0 - bne _081D6A84 - ldrh r1, [r3, 0x20] - movs r2, 0x20 - ldrsh r0, [r3, r2] - cmp r0, 0x48 - beq _081D6A84 - subs r0, r1, 0x1 - strh r0, [r3, 0x20] - ldr r2, =gSprites - movs r4, 0x2E - ldrsh r1, [r3, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, 0x1 - strh r1, [r0, 0x20] - mov r0, r12 - movs r4, 0x2 - ldrsh r1, [r0, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, 0x1 - strh r1, [r0, 0x20] - mov r0, r12 - movs r4, 0x4 - ldrsh r1, [r0, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, 0x1 - strh r1, [r0, 0x20] -_081D6A84: - adds r0, r3, 0 - adds r0, 0x2B - ldrb r3, [r0] - cmp r3, 0x1 - beq _081D6AE4 - cmp r3, 0x1 - bgt _081D6A9C - cmp r3, 0 - beq _081D6AA6 - b _081D6B68 - .pool -_081D6A9C: - cmp r3, 0x2 - beq _081D6B24 - cmp r3, 0x3 - beq _081D6AE4 - b _081D6B68 -_081D6AA6: - ldr r2, =gSprites - mov r0, r12 - movs r4, 0x2 - ldrsh r1, [r0, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x24] - mov r0, r12 - movs r4, 0x2 - ldrsh r1, [r0, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x26] - mov r0, r12 - movs r4, 0x4 - ldrsh r1, [r0, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x24] - mov r0, r12 - movs r4, 0x4 - ldrsh r1, [r0, r4] - b _081D6B5E - .pool -_081D6AE4: - ldr r2, =gSprites - mov r0, r12 - movs r3, 0x2 - ldrsh r1, [r0, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000ffff - strh r1, [r0, 0x24] - mov r4, r12 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r3, 0 - strh r3, [r0, 0x26] - movs r0, 0x4 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x1 - negs r1, r1 - b _081D6B58 - .pool -_081D6B24: - ldr r2, =gSprites - mov r3, r12 - movs r4, 0x2 - ldrsh r1, [r3, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000ffff - strh r1, [r0, 0x24] - movs r0, 0x2 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r3, 0x1 - strh r3, [r0, 0x26] - mov r4, r12 - movs r0, 0x4 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000fffe -_081D6B58: - strh r1, [r0, 0x24] - movs r0, 0x4 - ldrsh r1, [r4, r0] -_081D6B5E: - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x26] -_081D6B68: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D6A20 - - thumb_func_start sub_81D6B7C -sub_81D6B7C: @ 81D6B7C - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r5, =gUnknown_0862A81C - adds r0, r5, 0 - movs r1, 0x88 - movs r2, 0x60 - movs r3, 0x1 - bl CreateSprite - mov r8, r0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r6, =gSprites - lsls r4, r0, 4 - add r4, r8 - lsls r4, 2 - adds r0, r6, 0 - adds r0, 0x1C - adds r0, r4, r0 - ldr r1, =sub_81D6D20 - str r1, [r0] - adds r0, r6, 0 - adds r0, 0x2E - adds r4, r0 - adds r0, r5, 0 - movs r1, 0xA8 - movs r2, 0x60 - movs r3, 0x1 - bl CreateSprite - lsls r0, 8 - strh r0, [r4] - adds r0, r5, 0 - movs r1, 0x88 - movs r2, 0x70 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - adds r0, r5, 0 - movs r1, 0xA8 - movs r2, 0x70 - movs r3, 0x1 - bl CreateSprite - lsls r0, 8 - strh r0, [r4, 0x2] - adds r0, r5, 0 - movs r1, 0x88 - movs r2, 0x80 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x2] - orrs r0, r1 - strh r0, [r4, 0x2] - adds r0, r5, 0 - movs r1, 0xA8 - movs r2, 0x80 - movs r3, 0x1 - bl CreateSprite - lsls r0, 8 - strh r0, [r4, 0x4] - adds r0, r5, 0 - movs r1, 0x68 - movs r2, 0x80 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x4] - orrs r0, r1 - strh r0, [r4, 0x4] - adds r0, r5, 0 - movs r1, 0x88 - movs r2, 0x80 - movs r3, 0x2 - bl CreateSprite - lsls r0, 8 - strh r0, [r4, 0x6] - adds r0, r5, 0 - movs r1, 0xB8 - movs r2, 0x80 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x6] - orrs r0, r1 - strh r0, [r4, 0x6] - ldr r0, =gUnknown_0862A84C - movs r1, 0xD0 - movs r2, 0x84 - movs r3, 0 - bl CreateSprite - lsls r0, 8 - strh r0, [r4, 0x8] - ldr r0, =gUnknown_0862A864 - movs r1, 0xC8 - movs r2, 0x78 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x8] - orrs r0, r1 - strh r0, [r4, 0x8] - ldrh r1, [r4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x1 - bl StartSpriteAnim - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x2 - bl StartSpriteAnim - ldrh r1, [r4, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x3 - bl StartSpriteAnim - ldrb r1, [r4, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x4 - bl StartSpriteAnim - ldrh r1, [r4, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x5 - bl StartSpriteAnim - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x6 - bl StartSpriteAnim - ldrh r1, [r4, 0x6] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x7 - bl StartSpriteAnim - ldrb r1, [r4, 0x6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x8 - bl StartSpriteAnim - mov r0, r8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D6B7C - - thumb_func_start sub_81D6D20 -sub_81D6D20: @ 81D6D20 - push {r4-r7,lr} - adds r4, r0, 0 - adds r3, r4, 0 - adds r3, 0x2E - ldrh r0, [r3, 0xA] - adds r0, 0x1 - movs r1, 0x1F - ands r0, r1 - strh r0, [r3, 0xA] - ldr r7, =gSprites - cmp r0, 0 - bne _081D6E0E - ldrh r1, [r4, 0x20] - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r0, 0x98 - beq _081D6E0E - adds r0, r1, 0x1 - strh r0, [r4, 0x20] - ldrh r1, [r4, 0x2E] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r0, [r4, 0x2E] - movs r2, 0xFF - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r1, [r3, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0x2] - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r1, [r3, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0x4] - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r1, [r3, 0x6] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0x6] - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r1, [r3, 0x8] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0x8] - ands r2, r0 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] -_081D6E0E: - adds r6, r7, 0 - movs r5, 0xFF - ldrb r1, [r3, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x2B - ldrb r2, [r0] - cmp r2, 0x1 - beq _081D6EE0 - cmp r2, 0x1 - bgt _081D6E34 - cmp r2, 0 - beq _081D6E40 - b _081D6FC8 - .pool -_081D6E34: - cmp r2, 0x2 - bne _081D6E3A - b _081D6F68 -_081D6E3A: - cmp r2, 0x3 - beq _081D6EE0 - b _081D6FC8 -_081D6E40: - strh r2, [r4, 0x26] - ldrh r1, [r3] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r0, [r3] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r0, [r3, 0x2] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r0, [r3, 0x4] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x6] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r0, [r3, 0x6] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x8] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x8] - ands r1, r5 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - b _081D6FC6 -_081D6EE0: - movs r2, 0x1 - strh r2, [r4, 0x26] - ldrh r1, [r3] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrb r1, [r3, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrb r1, [r3, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x6] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrb r1, [r3, 0x6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x8] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrb r1, [r3, 0x8] - b _081D6FBE -_081D6F68: - strh r2, [r4, 0x26] - ldrh r1, [r3] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r0, [r3] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r0, [r3, 0x2] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x8] - ands r1, r5 -_081D6FBE: - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 -_081D6FC6: - strh r2, [r0, 0x26] -_081D6FC8: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D6D20 - - thumb_func_start sub_81D6FD0 -sub_81D6FD0: @ 81D6FD0 - push {lr} - bl sub_81D67EC - bl sub_80BA0A8 - pop {r0} - bx r0 - thumb_func_end sub_81D6FD0 - - thumb_func_start sub_81D6FE0 -sub_81D6FE0: @ 81D6FE0 - push {r4,lr} - bl sub_8121DA0 - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0862A888 - movs r0, 0 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r4, =gUnknown_0203CF60 - ldr r1, [r4] - adds r1, 0x4 - movs r0, 0 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00000804 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00001004 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - bl sub_8121E10 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D6FE0 - - thumb_func_start sub_81D706C -sub_81D706C: @ 81D706C - push {r4,lr} - sub sp, 0x4 - bl reset_temp_tile_data_buffers - ldr r1, =gUnknown_08DA33C0 - movs r0, 0 - str r0, [sp] - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram -_081D7082: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081D7082 - ldr r0, =gUnknown_08DA3988 - ldr r4, =gUnknown_0203CF60 - ldr r1, [r4] - adds r1, 0x4 - bl LZDecompressWram - ldr r0, =gUnknown_08DA3824 - ldr r1, [r4] - ldr r2, =0x00000804 - adds r1, r2 - bl LZDecompressWram - ldr r0, =gUnknown_08DA3A88 - ldr r1, [r4] - ldr r2, =0x00001004 - adds r1, r2 - bl LZDecompressWram - ldr r0, =gUnknown_08DA37E8 - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - ldr r0, =gUnknown_0862A8C4 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862A8F8 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862A924 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862A9D4 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AA14 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AA34 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862A8CC - bl LoadCompressedObjectPalette - ldr r0, =gUnknown_0862A9DC - bl LoadCompressedObjectPalette - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D706C - - thumb_func_start task_add_00_WIN0V_open_close_above_and_more -task_add_00_WIN0V_open_close_above_and_more: @ 81D7134 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r6, r1, 3 - ldr r7, =gTasks + 0x8 - adds r5, r6, r7 - bl dp12_8087EA4 - bl sub_81D6FE0 - bl sub_81D706C - movs r4, 0 - str r4, [sp, 0x4] - ldr r1, =gUnknown_02038C28 - ldr r2, =0x010003c0 - add r0, sp, 0x4 - bl CpuFastSet - ldr r2, =gUnknown_0862A87C - ldr r0, [r2] - ldr r1, [r2, 0x4] - ldr r2, [r2, 0x8] - bl sub_80BA038 - strh r4, [r5] - ldr r0, =sub_81D7228 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x2] - ldr r0, =gUnknown_0203CF60 - ldr r0, [r0] - ldr r1, =0x00002006 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _081D71CC - bl sub_81D6984 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x4] - bl sub_81D6B7C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x6] - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, =sub_81D691C - str r1, [r0] - b _081D71EE - .pool -_081D71CC: - bl sub_81D7664 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x4] - bl sub_81D78BC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x6] - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, =sub_81D736C - str r1, [r0] - bl StopMapMusic -_081D71EE: - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =sub_81D6FD0 - bl SetVBlankCallback - movs r0, 0x53 - bl PlaySE - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end task_add_00_WIN0V_open_close_above_and_more - - thumb_func_start sub_81D7228 -sub_81D7228: @ 81D7228 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r3, r1, r0 - movs r1, 0x18 - ldr r7, =gUnknown_0203CF60 - ldr r4, =gUnknown_02038C28 - movs r0, 0xF0 - lsls r0, 3 - adds r5, r4, r0 -_081D7244: - lsls r0, r1, 16 - asrs r1, r0, 16 - adds r6, r0, 0 - cmp r1, 0x2F - bgt _081D726C - lsls r1, 1 - adds r2, r1, r4 - ldrh r0, [r3] - lsrs r0, 8 - strh r0, [r2] - adds r1, r5 - ldrh r0, [r3] - b _081D72CA - .pool -_081D726C: - cmp r1, 0x3F - bgt _081D7280 - lsls r1, 1 - adds r2, r1, r4 - ldrh r0, [r3, 0x2] - lsrs r0, 8 - strh r0, [r2] - adds r1, r5 - ldrh r0, [r3, 0x2] - b _081D72CA -_081D7280: - cmp r1, 0x4B - bgt _081D7294 - lsls r1, 1 - adds r2, r1, r4 - ldrh r0, [r3, 0x4] - lsrs r0, 8 - strh r0, [r2] - adds r1, r5 - ldrh r0, [r3, 0x4] - b _081D72CA -_081D7294: - cmp r1, 0x53 - bgt _081D72A8 - lsls r1, 1 - adds r2, r1, r4 - ldrh r0, [r3, 0x6] - lsrs r0, 8 - strh r0, [r2] - adds r1, r5 - ldrh r0, [r3, 0x6] - b _081D72CA -_081D72A8: - cmp r1, 0x57 - bgt _081D72BC - lsls r1, 1 - adds r2, r1, r4 - ldrh r0, [r3, 0x8] - lsrs r0, 8 - strh r0, [r2] - adds r1, r5 - ldrh r0, [r3, 0x8] - b _081D72CA -_081D72BC: - lsls r1, 1 - adds r2, r1, r4 - ldrh r0, [r3, 0xA] - lsrs r0, 8 - strh r0, [r2] - adds r1, r5 - ldrh r0, [r3, 0xA] -_081D72CA: - lsrs r0, 8 - strh r0, [r1] - movs r1, 0x80 - lsls r1, 9 - adds r0, r6, r1 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x5B - ble _081D7244 - ldr r0, [r7] - ldr r1, =0x00002006 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _081D7324 - movs r1, 0xE0 - lsls r1, 1 - adds r0, r1, 0 - ldrh r1, [r3] - adds r0, r1 - strh r0, [r3] - movs r1, 0xC0 - lsls r1, 1 - adds r0, r1, 0 - ldrh r1, [r3, 0x2] - adds r0, r1 - strh r0, [r3, 0x2] - movs r1, 0xA0 - lsls r1, 1 - adds r0, r1, 0 - ldrh r1, [r3, 0x4] - adds r0, r1 - strh r0, [r3, 0x4] - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - ldrh r1, [r3, 0x6] - adds r0, r1 - strh r0, [r3, 0x6] - ldrh r0, [r3, 0x8] - adds r0, 0xC0 - b _081D735E - .pool -_081D7324: - movs r1, 0xC0 - lsls r1, 2 - adds r0, r1, 0 - ldrh r1, [r3] - adds r0, r1 - strh r0, [r3] - movs r1, 0xA0 - lsls r1, 2 - adds r0, r1, 0 - ldrh r1, [r3, 0x2] - adds r0, r1 - strh r0, [r3, 0x2] - movs r1, 0x80 - lsls r1, 2 - adds r0, r1, 0 - ldrh r1, [r3, 0x4] - adds r0, r1 - strh r0, [r3, 0x4] - movs r1, 0xC0 - lsls r1, 1 - adds r0, r1, 0 - ldrh r1, [r3, 0x6] - adds r0, r1 - strh r0, [r3, 0x6] - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - ldrh r1, [r3, 0x8] - adds r0, r1 -_081D735E: - strh r0, [r3, 0x8] - ldrh r0, [r3, 0xA] - adds r0, 0x80 - strh r0, [r3, 0xA] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D7228 - - thumb_func_start sub_81D736C -sub_81D736C: @ 81D736C - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r7, =gTasks + 0x8 - adds r4, r0, r7 - bl sub_81D750C - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - bne _081D742E - movs r0, 0 - ldrsh r1, [r4, r0] - cmp r1, 0x20 - beq _081D739C - cmp r1, 0x70 - bne _081D73AC -_081D739C: - bl sub_81D7438 - b _081D7428 - .pool -_081D73AC: - cmp r1, 0xD8 - bne _081D73B6 - bl sub_81D7480 - b _081D7428 -_081D73B6: - cmp r1, 0xDC - bne _081D73C0 - bl sub_81D74C8 - b _081D7428 -_081D73C0: - movs r0, 0xBE - lsls r0, 1 - cmp r1, r0 - beq _081D73D8 - adds r0, 0x20 - cmp r1, r0 - bne _081D7428 - adds r0, r5, 0 - movs r1, 0x2 - bl sub_81D75B4 - b _081D742E -_081D73D8: - movs r1, 0x91 - lsls r1, 2 - movs r0, 0x50 - bl SetGpuReg - adds r2, r7, 0 - subs r2, 0x8 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, =sub_81D752C - str r1, [r0] - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - strh r6, [r0, 0x8] - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r4, 0x4] - strh r1, [r0, 0xC] - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r4, 0x6] - strh r1, [r0, 0xE] - bl remove_some_task -_081D7428: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_081D742E: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D736C - - thumb_func_start sub_81D7438 -sub_81D7438: @ 81D7438 - push {r4,lr} - sub sp, 0xC - movs r0, 0x57 - bl PlaySE - ldr r0, =0x00007fff - ldr r1, =0x0000ffff - str r1, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl sub_80A2C44 - ldr r0, =0xffff0000 - str r4, [sp] - str r4, [sp, 0x4] - movs r1, 0x1 - str r1, [sp, 0x8] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl sub_80A2C44 - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D7438 - - thumb_func_start sub_81D7480 -sub_81D7480: @ 81D7480 - push {r4,lr} - sub sp, 0xC - movs r0, 0x57 - bl PlaySE - ldr r0, =0x00007fff - ldr r1, =0x0000ffff - str r1, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0 - movs r2, 0x10 - movs r3, 0x10 - bl sub_80A2C44 - ldr r0, =0xffff0000 - str r4, [sp] - str r4, [sp, 0x4] - movs r1, 0x1 - str r1, [sp, 0x8] - movs r1, 0 - movs r2, 0x10 - movs r3, 0x10 - bl sub_80A2C44 - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D7480 - - thumb_func_start sub_81D74C8 -sub_81D74C8: @ 81D74C8 - push {r4,lr} - sub sp, 0xC - ldr r0, =0x00007fff - ldr r1, =0x0000ffff - str r1, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x4 - movs r2, 0x10 - movs r3, 0 - bl sub_80A2C44 - ldr r0, =0xffff0000 - str r4, [sp] - str r4, [sp, 0x4] - movs r1, 0x1 - str r1, [sp, 0x8] - movs r1, 0x4 - movs r2, 0x10 - movs r3, 0 - bl sub_80A2C44 - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D74C8 - - thumb_func_start sub_81D750C -sub_81D750C: @ 81D750C - push {lr} - movs r1, 0x80 - lsls r1, 3 - movs r0, 0x2 - movs r2, 0x1 - bl ChangeBgX - movs r1, 0x80 - lsls r1, 4 - movs r0, 0x2 - movs r2, 0x2 - bl ChangeBgY - pop {r0} - bx r0 - thumb_func_end sub_81D750C - - thumb_func_start sub_81D752C -sub_81D752C: @ 81D752C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r5, r1, r0 - movs r0, 0x4 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl sub_81D7860 - movs r0, 0x6 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl sub_81D7D14 - movs r0, 0x1 - bl GetBgY - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0x1 - bl GetBgY - cmp r0, 0 - beq _081D757A - movs r0, 0x80 - lsls r0, 8 - cmp r4, r0 - bls _081D7586 -_081D757A: - movs r1, 0x80 - lsls r1, 3 - movs r0, 0x1 - movs r2, 0x2 - bl ChangeBgY -_081D7586: - ldrh r2, [r5] - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x10 - beq _081D75A6 - adds r2, 0x1 - strh r2, [r5] - lsls r1, r2, 8 - movs r0, 0x10 - subs r0, r2 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg -_081D75A6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D752C - - thumb_func_start sub_81D75B4 -sub_81D75B4: @ 81D75B4 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r4, r1, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x54 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - lsls r4, 24 - asrs r4, 24 - movs r1, 0 - str r1, [sp] - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81D7600 - str r1, [r0] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D75B4 - - thumb_func_start sub_81D7600 -sub_81D7600: @ 81D7600 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r6, r1, 3 - ldr r7, =gTasks + 0x8 - adds r5, r6, r7 - bl sub_81D750C - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _081D7652 - ldrb r0, [r5, 0x2] - bl DestroyTask - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0 - bl SetVBlankCallback - bl remove_some_task - bl ResetSpriteData - bl FreeAllSpritePalettes - strh r4, [r5] - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, =sub_81D6840 - str r1, [r0] -_081D7652: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D7600 - - thumb_func_start sub_81D7664 -sub_81D7664: @ 81D7664 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r0, =gUnknown_0862A8D4 - mov r8, r0 - movs r1, 0x62 - movs r2, 0x48 - movs r3, 0x3 - bl CreateSprite - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r6, =gSprites - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - adds r0, r6, 0 - adds r0, 0x1C - adds r0, r4, r0 - ldr r1, =sub_81D7700 - str r1, [r0] - adds r0, r6, 0 - adds r0, 0x2E - adds r4, r0 - mov r0, r8 - movs r1, 0x42 - movs r2, 0x68 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - ldr r0, =gUnknown_0862A900 - movs r1, 0x55 - movs r2, 0x65 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x2] - ldr r0, =gUnknown_0862A92C - movs r1, 0x77 - movs r2, 0x72 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x4] - movs r0, 0 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x1 - bl StartSpriteAnim - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D7664 - - thumb_func_start sub_81D7700 -sub_81D7700: @ 81D7700 - push {r4,lr} - adds r3, r0, 0 - movs r0, 0x2E - adds r0, r3 - mov r12, r0 - ldrh r0, [r0, 0xA] - adds r0, 0x1 - movs r1, 0xF - ands r0, r1 - mov r1, r12 - strh r0, [r1, 0xA] - movs r1, 0x7 - ands r1, r0 - cmp r1, 0 - bne _081D7768 - ldrh r1, [r3, 0x20] - movs r2, 0x20 - ldrsh r0, [r3, r2] - cmp r0, 0x48 - beq _081D7768 - subs r0, r1, 0x1 - strh r0, [r3, 0x20] - ldr r2, =gSprites - movs r4, 0x2E - ldrsh r1, [r3, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, 0x1 - strh r1, [r0, 0x20] - mov r0, r12 - movs r4, 0x2 - ldrsh r1, [r0, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, 0x1 - strh r1, [r0, 0x20] - mov r0, r12 - movs r4, 0x4 - ldrsh r1, [r0, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, 0x1 - strh r1, [r0, 0x20] -_081D7768: - adds r0, r3, 0 - adds r0, 0x2B - ldrb r3, [r0] - cmp r3, 0x1 - beq _081D77C8 - cmp r3, 0x1 - bgt _081D7780 - cmp r3, 0 - beq _081D778A - b _081D784C - .pool -_081D7780: - cmp r3, 0x2 - beq _081D7808 - cmp r3, 0x3 - beq _081D77C8 - b _081D784C -_081D778A: - ldr r2, =gSprites - mov r0, r12 - movs r4, 0x2 - ldrsh r1, [r0, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x24] - mov r0, r12 - movs r4, 0x2 - ldrsh r1, [r0, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x26] - mov r0, r12 - movs r4, 0x4 - ldrsh r1, [r0, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x24] - mov r0, r12 - movs r4, 0x4 - ldrsh r1, [r0, r4] - b _081D7842 - .pool -_081D77C8: - ldr r2, =gSprites - mov r0, r12 - movs r3, 0x2 - ldrsh r1, [r0, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000ffff - strh r1, [r0, 0x24] - mov r4, r12 - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r3, 0 - strh r3, [r0, 0x26] - movs r0, 0x4 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x1 - negs r1, r1 - b _081D783C - .pool -_081D7808: - ldr r2, =gSprites - mov r3, r12 - movs r4, 0x2 - ldrsh r1, [r3, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000ffff - strh r1, [r0, 0x24] - movs r0, 0x2 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r3, 0x1 - strh r3, [r0, 0x26] - mov r4, r12 - movs r0, 0x4 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000fffe -_081D783C: - strh r1, [r0, 0x24] - movs r0, 0x4 - ldrsh r1, [r4, r0] -_081D7842: - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x26] -_081D784C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D7700 - - thumb_func_start sub_81D7860 -sub_81D7860: @ 81D7860 - push {r4,lr} - adds r1, r0, 0 - adds r3, r1, 0 - adds r3, 0x2E - ldrh r2, [r1, 0x22] - movs r4, 0x22 - ldrsh r0, [r1, r4] - cmp r0, 0xA0 - bgt _081D78B0 - adds r0, r2, 0 - adds r0, 0x8 - strh r0, [r1, 0x22] - ldr r2, =gSprites - movs r0, 0x2E - ldrsh r1, [r1, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - movs r4, 0x2 - ldrsh r1, [r3, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - movs r0, 0x4 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] -_081D78B0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D7860 - - thumb_func_start sub_81D78BC -sub_81D78BC: @ 81D78BC - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r5, =gUnknown_0862A9E4 - adds r0, r5, 0 - movs r1, 0x7E - movs r2, 0x60 - movs r3, 0x1 - bl CreateSprite - mov r8, r0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r6, =gSprites - lsls r4, r0, 4 - add r4, r8 - lsls r4, 2 - adds r0, r6, 0 - adds r0, 0x1C - adds r0, r4, r0 - ldr r1, =sub_81D7A60 - str r1, [r0] - adds r0, r6, 0 - adds r0, 0x2E - adds r4, r0 - adds r0, r5, 0 - movs r1, 0x9E - movs r2, 0x60 - movs r3, 0x1 - bl CreateSprite - lsls r0, 8 - strh r0, [r4] - adds r0, r5, 0 - movs r1, 0x7E - movs r2, 0x70 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4] - orrs r0, r1 - strh r0, [r4] - adds r0, r5, 0 - movs r1, 0x9E - movs r2, 0x70 - movs r3, 0x1 - bl CreateSprite - lsls r0, 8 - strh r0, [r4, 0x2] - adds r0, r5, 0 - movs r1, 0x7E - movs r2, 0x80 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x2] - orrs r0, r1 - strh r0, [r4, 0x2] - adds r0, r5, 0 - movs r1, 0x9E - movs r2, 0x80 - movs r3, 0x1 - bl CreateSprite - lsls r0, 8 - strh r0, [r4, 0x4] - adds r0, r5, 0 - movs r1, 0x5E - movs r2, 0x80 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x4] - orrs r0, r1 - strh r0, [r4, 0x4] - adds r0, r5, 0 - movs r1, 0x7E - movs r2, 0x80 - movs r3, 0x2 - bl CreateSprite - lsls r0, 8 - strh r0, [r4, 0x6] - adds r0, r5, 0 - movs r1, 0xAE - movs r2, 0x80 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x6] - orrs r0, r1 - strh r0, [r4, 0x6] - ldr r0, =gUnknown_0862AA1C - movs r1, 0xC6 - movs r2, 0x84 - movs r3, 0 - bl CreateSprite - lsls r0, 8 - strh r0, [r4, 0x8] - ldr r0, =gUnknown_0862AA3C - movs r1, 0xBE - movs r2, 0x78 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x8] - orrs r0, r1 - strh r0, [r4, 0x8] - ldrh r1, [r4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x1 - bl StartSpriteAnim - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x2 - bl StartSpriteAnim - ldrh r1, [r4, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x3 - bl StartSpriteAnim - ldrb r1, [r4, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x4 - bl StartSpriteAnim - ldrh r1, [r4, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x5 - bl StartSpriteAnim - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x6 - bl StartSpriteAnim - ldrh r1, [r4, 0x6] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x7 - bl StartSpriteAnim - ldrb r1, [r4, 0x6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x8 - bl StartSpriteAnim - mov r0, r8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D78BC - - thumb_func_start sub_81D7A60 -sub_81D7A60: @ 81D7A60 - push {r4-r7,lr} - adds r4, r0, 0 - adds r3, r4, 0 - adds r3, 0x2E - ldrh r0, [r3, 0xA] - adds r0, 0x1 - movs r1, 0xF - ands r0, r1 - strh r0, [r3, 0xA] - movs r1, 0x7 - ands r1, r0 - ldr r7, =gSprites - cmp r1, 0 - bne _081D7B52 - ldrh r1, [r4, 0x20] - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r0, 0x98 - beq _081D7B52 - adds r0, r1, 0x1 - strh r0, [r4, 0x20] - ldrh r1, [r4, 0x2E] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r0, [r4, 0x2E] - movs r2, 0xFF - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r1, [r3, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0x2] - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r1, [r3, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0x4] - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r1, [r3, 0x6] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0x6] - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r1, [r3, 0x8] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0x8] - ands r2, r0 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r7 - ldrh r1, [r0, 0x20] - adds r1, 0x1 - strh r1, [r0, 0x20] -_081D7B52: - adds r6, r7, 0 - movs r5, 0xFF - ldrb r1, [r3, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x2B - ldrb r2, [r0] - cmp r2, 0x1 - beq _081D7C24 - cmp r2, 0x1 - bgt _081D7B78 - cmp r2, 0 - beq _081D7B84 - b _081D7D0C - .pool -_081D7B78: - cmp r2, 0x2 - bne _081D7B7E - b _081D7CAC -_081D7B7E: - cmp r2, 0x3 - beq _081D7C24 - b _081D7D0C -_081D7B84: - strh r2, [r4, 0x26] - ldrh r1, [r3] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r0, [r3] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r0, [r3, 0x2] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r0, [r3, 0x4] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x6] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r0, [r3, 0x6] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x8] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x8] - ands r1, r5 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - b _081D7D0A -_081D7C24: - movs r2, 0x1 - strh r2, [r4, 0x26] - ldrh r1, [r3] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrb r1, [r3, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrb r1, [r3, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x6] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrb r1, [r3, 0x6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x8] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrb r1, [r3, 0x8] - b _081D7D02 -_081D7CAC: - strh r2, [r4, 0x26] - ldrh r1, [r3] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r0, [r3] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r0, [r3, 0x2] - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r1, [r3, 0x8] - ands r1, r5 -_081D7D02: - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 -_081D7D0A: - strh r2, [r0, 0x26] -_081D7D0C: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D7A60 - - thumb_func_start sub_81D7D14 -sub_81D7D14: @ 81D7D14 - push {lr} - adds r2, r0, 0 - movs r0, 0x2E - adds r0, r2 - mov r12, r0 - ldrh r1, [r2, 0x22] - movs r3, 0x22 - ldrsh r0, [r2, r3] - cmp r0, 0xA0 - bgt _081D7E08 - adds r0, r1, 0 - adds r0, 0x8 - strh r0, [r2, 0x22] - ldr r3, =gSprites - ldrh r1, [r2, 0x2E] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - ldrh r0, [r2, 0x2E] - movs r2, 0xFF - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - mov r0, r12 - ldrh r1, [r0, 0x2] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - mov r1, r12 - ldrh r0, [r1, 0x2] - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - mov r0, r12 - ldrh r1, [r0, 0x4] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - mov r1, r12 - ldrh r0, [r1, 0x4] - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - mov r0, r12 - ldrh r1, [r0, 0x6] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - mov r1, r12 - ldrh r0, [r1, 0x6] - adds r1, r2, 0 - ands r1, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - mov r0, r12 - ldrh r1, [r0, 0x8] - lsls r1, 16 - asrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - mov r1, r12 - ldrh r0, [r1, 0x8] - ands r2, r0 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] -_081D7E08: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D7D14 - - thumb_func_start sub_81D7E10 -sub_81D7E10: @ 81D7E10 - push {r4,lr} - bl sub_8121DA0 - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0862AA54 - movs r0, 0x1 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r4, =gUnknown_0203CF60 - ldr r1, [r4] - adds r1, 0x4 - movs r0, 0 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00000804 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00001004 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - bl sub_8121E10 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D7E10 - - thumb_func_start sub_81D7E9C -sub_81D7E9C: @ 81D7E9C - push {r4,lr} - sub sp, 0x4 - bl reset_temp_tile_data_buffers - ldr r1, =gUnknown_08DA33C0 - movs r4, 0 - str r4, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, =gUnknown_08DA4F70 - str r4, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, =gUnknown_08DA3C94 - str r4, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram -_081D7ED0: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081D7ED0 - ldr r0, =gUnknown_08DA3988 - ldr r4, =gUnknown_0203CF60 - ldr r1, [r4] - adds r1, 0x4 - bl LZDecompressWram - ldr r0, =gUnknown_08DA60B8 - ldr r1, [r4] - ldr r2, =0x00000804 - adds r1, r2 - bl LZDecompressWram - ldr r0, =gUnknown_08DA4DEC - ldr r1, [r4] - ldr r2, =0x00001004 - adds r1, r2 - bl LZDecompressWram - ldr r0, =gUnknown_08DA4DA8 - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - ldr r0, =gUnknown_0862AA90 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AA98 - bl LoadCompressedObjectPalette - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D7E9C - - thumb_func_start sub_81D7F4C -sub_81D7F4C: @ 81D7F4C - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r5, =gTasks + 0x8 - adds r6, r4, r5 - movs r0, 0xE8 - lsls r0, 1 - bl PlayNewMapMusic - bl sub_81D7E10 - bl sub_81D7E9C - movs r1, 0x94 - lsls r1, 2 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x00000808 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, =sub_81D67EC - bl SetVBlankCallback - ldr r0, =sub_81D81A4 - movs r1, 0 - bl CreateTask - movs r0, 0 - strh r0, [r6] - strh r0, [r6, 0x2] - subs r5, 0x8 - adds r4, r5 - ldr r0, =sub_81D7FC0 - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D7F4C - - thumb_func_start sub_81D7FC0 -sub_81D7FC0: @ 81D7FC0 - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - movs r0, 0 - ldrsh r5, [r4, r0] - cmp r5, 0x1 - beq _081D802A - cmp r5, 0x1 - bgt _081D7FE8 - cmp r5, 0 - beq _081D7FF4 - b _081D815A - .pool -_081D7FE8: - cmp r5, 0x2 - beq _081D80A4 - cmp r5, 0x3 - bne _081D7FF2 - b _081D8124 -_081D7FF2: - b _081D815A -_081D7FF4: - ldrh r1, [r4, 0x2] - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, 0x8 - bne _081D8024 - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - strh r5, [r4, 0x4] - movs r0, 0x1E - strh r0, [r4, 0x6] - strh r5, [r4, 0x8] - movs r0, 0x7 - strh r0, [r4, 0xA] - strh r5, [r4, 0x2] - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _081D815A -_081D8024: - adds r0, r1, 0x1 - strh r0, [r4, 0x2] - b _081D815A -_081D802A: - ldrh r1, [r4, 0x6] - ldrh r3, [r4, 0x4] - adds r0, r1, r3 - strh r0, [r4, 0x4] - ldrh r2, [r4, 0xA] - ldrh r3, [r4, 0x8] - adds r0, r2, r3 - strh r0, [r4, 0x8] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _081D8046 - subs r0, r1, 0x3 - strh r0, [r4, 0x6] -_081D8046: - lsls r0, r2, 16 - cmp r0, 0 - beq _081D8050 - subs r0, r2, 0x1 - strh r0, [r4, 0xA] -_081D8050: - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0xFF - ble _081D8078 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r4, 0x4] - movs r1, 0 - strh r1, [r4, 0x6] - movs r0, 0xC - strh r0, [r4, 0xC] - movs r3, 0x1 - negs r3, r3 - adds r0, r3, 0 - strh r0, [r4, 0xE] - strh r1, [r4, 0x2] - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_081D8078: - movs r1, 0xF0 - lsls r1, 7 - movs r2, 0xC0 - lsls r2, 5 - ldrh r0, [r4, 0x8] - adds r0, 0x20 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r3, 0x4 - ldrsh r0, [r4, r3] - str r0, [sp, 0x4] - movs r3, 0x4 - ldrsh r0, [r4, r3] - str r0, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r3, 0x78 - bl SetBgAffine - b _081D815A -_081D80A4: - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r1, 0xF0 - lsls r1, 7 - movs r2, 0xC0 - lsls r2, 5 - ldrh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 18 - adds r0, 0x20 - ldrh r3, [r4, 0x8] - adds r0, r3 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r3, 0x4 - ldrsh r0, [r4, r3] - str r0, [sp, 0x4] - movs r3, 0x4 - ldrsh r0, [r4, r3] - str r0, [sp, 0x8] - movs r5, 0 - str r5, [sp, 0xC] - movs r0, 0x2 - movs r3, 0x78 - bl SetBgAffine - ldrh r0, [r4, 0xE] - ldrh r1, [r4, 0xC] - adds r0, r1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0xC - beq _081D80F4 - movs r0, 0xC - negs r0, r0 - cmp r1, r0 - bne _081D815A -_081D80F4: - movs r2, 0xE - ldrsh r0, [r4, r2] - negs r0, r0 - strh r0, [r4, 0xE] - movs r3, 0x2 - ldrsh r1, [r4, r3] - ldr r0, =0x00000127 - cmp r1, r0 - ble _081D815A - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0x6 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _081D815A - .pool -_081D8124: - ldrh r0, [r4, 0x4] - adds r0, 0x10 - strh r0, [r4, 0x4] - movs r1, 0xF0 - lsls r1, 7 - movs r2, 0xC0 - lsls r2, 5 - ldrh r0, [r4, 0x8] - adds r0, 0x20 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r3, 0x4 - ldrsh r0, [r4, r3] - str r0, [sp, 0x4] - movs r3, 0x4 - ldrsh r0, [r4, r3] - str r0, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r3, 0x78 - bl SetBgAffine - adds r0, r6, 0 - bl sub_81D8164 -_081D815A: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81D7FC0 - - thumb_func_start sub_81D8164 -sub_81D8164: @ 81D8164 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081D8192 - movs r0, 0 - bl SetVBlankCallback - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81D6840 - str r0, [r1] -_081D8192: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8164 - - thumb_func_start sub_81D81A4 -sub_81D81A4: @ 81D81A4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r1, [r4, 0x2] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _081D8254 - ldr r0, =gUnknown_0862AAA0 - ldr r3, =gUnknown_0862AAB8 - movs r1, 0 - ldrsh r2, [r4, r1] - lsls r2, 1 - adds r1, r2, r3 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - lsls r1, 18 - movs r6, 0xF0 - lsls r6, 15 - adds r1, r6 - asrs r1, 16 - adds r3, 0x1 - adds r2, r3 - ldrb r2, [r2] - lsls r2, 24 - asrs r2, 24 - lsls r2, 18 - movs r3, 0xA0 - lsls r3, 15 - adds r2, r3 - asrs r2, 16 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSprites - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - adds r3, r1 - movs r0, 0 - ldrsb r0, [r4, r0] - strh r0, [r3, 0x2E] - ldrb r2, [r3, 0x1] - movs r1, 0xD - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - movs r2, 0x4 - orrs r0, r2 - movs r2, 0x3 - orrs r0, r2 - strb r0, [r3, 0x1] - ldrb r0, [r3, 0x5] - ands r1, r0 - movs r0, 0x8 - orrs r1, r0 - strb r1, [r3, 0x5] - adds r0, r3, 0 - bl InitSpriteAffineAnim - ldrh r1, [r4] - movs r6, 0 - ldrsh r0, [r4, r6] - cmp r0, 0x9 - bne _081D8250 - adds r0, r5, 0 - bl DestroyTask - b _081D825A - .pool -_081D8250: - adds r0, r1, 0x1 - strh r0, [r4] -_081D8254: - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] -_081D825A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81D81A4 - - thumb_func_start sub_81D8260 -sub_81D8260: @ 81D8260 - push {lr} - adds r2, r0, 0 - movs r1, 0x30 - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _081D8270 - strh r0, [r2, 0x24] - b _081D829A -_081D8270: - ldr r1, =gUnknown_0862AAB8 - movs r3, 0x2E - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r3, [r2, 0x24] - adds r0, r3 - strh r0, [r2, 0x24] - movs r3, 0x2E - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r2, 0x26] - adds r0, r1 -_081D829A: - strh r0, [r2, 0x26] - ldrh r0, [r2, 0x30] - adds r0, 0x1 - movs r1, 0xF - ands r0, r1 - strh r0, [r2, 0x30] - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8260 - - thumb_func_start sub_81D82B0 -sub_81D82B0: @ 81D82B0 - push {r4,lr} - bl sub_8121DA0 - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0862AACC - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r4, =gUnknown_0203CF60 - ldr r1, [r4] - adds r1, 0x4 - movs r0, 0 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00000804 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00001004 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00001804 - adds r1, r0 - movs r0, 0x3 - bl SetBgTilemapBuffer - bl sub_8121E10 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x3 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D82B0 - - thumb_func_start sub_81D8358 -sub_81D8358: @ 81D8358 - push {r4-r7,lr} - sub sp, 0xC - bl reset_temp_tile_data_buffers - ldr r1, =gUnknown_08DA7528 - movs r4, 0 - str r4, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, =gUnknown_08DA69BC - str r4, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - add r7, sp, 0x8 -_081D8380: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - bne _081D8380 - ldr r0, =gUnknown_08DA7AAC - ldr r5, =gUnknown_0203CF60 - ldr r1, [r5] - adds r1, 0x4 - bl LZDecompressWram - ldr r0, =gUnknown_08DA7784 - ldr r1, [r5] - ldr r4, =0x00001804 - adds r1, r4 - bl LZDecompressWram - str r6, [sp, 0x4] - ldr r1, [r5] - ldr r0, =0x00001004 - adds r1, r0 - ldr r2, =0x01000200 - add r0, sp, 0x4 - bl CpuFastSet - ldr r1, [r5] - adds r4, r1, r4 - ldr r0, =0x00000804 - adds r1, r0 - movs r2, 0x80 - lsls r2, 2 - adds r0, r4, 0 - bl CpuFastSet - str r6, [sp, 0x8] - ldr r1, [r5] - ldr r0, =0x00000904 - adds r1, r0 - ldr r2, =0x010000d0 - adds r0, r7, 0 - bl CpuFastSet - ldr r0, =gUnknown_08DA7744 - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - ldr r0, =gPlttBufferUnfaded - ldr r1, =0x00007fff - strh r1, [r0] - ldr r0, =gPlttBufferFaded - strh r1, [r0] - ldr r0, =gUnknown_0862AAFC - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AB04 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AB0C - bl LoadCompressedObjectPalette - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8358 - - thumb_func_start sub_81D844C -sub_81D844C: @ 81D844C - push {r4,r5,lr} - movs r0, 0x6 - bl GetGpuReg - lsls r0, 16 - lsrs r2, r0, 16 - adds r1, r2, 0 - subs r1, 0x18 - lsls r0, r1, 16 - lsrs r0, 16 - cmp r0, 0x6F - bhi _081D848C - ldr r0, =gUnknown_0203CF60 - ldr r0, [r0] - ldr r3, =0x00002008 - adds r0, r3 - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r1, r0 - bgt _081D848C - ldr r1, =0x04000052 - ldr r3, =0x00000d08 - b _081D8492 - .pool -_081D848C: - ldr r1, =0x04000052 - movs r3, 0x80 - lsls r3, 5 -_081D8492: - adds r0, r3, 0 - strh r0, [r1] - cmp r2, 0 - bne _081D84E0 - ldr r0, =gUnknown_0203CF60 - ldr r1, [r0] - ldr r2, =0x00002008 - adds r3, r1, r2 - ldrh r4, [r3] - movs r1, 0 - ldrsh r2, [r3, r1] - ldr r1, =0x00001fff - adds r5, r0, 0 - cmp r2, r1 - bgt _081D84D4 - cmp r2, 0x27 - bgt _081D84C8 - adds r0, r4, 0x4 - b _081D84D2 - .pool -_081D84C8: - cmp r2, 0x4F - bgt _081D84D0 - adds r0, r4, 0x2 - b _081D84D2 -_081D84D0: - adds r0, r4, 0x1 -_081D84D2: - strh r0, [r3] -_081D84D4: - ldr r1, [r5] - ldr r2, =0x0000200a - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_081D84E0: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D844C - - thumb_func_start sub_81D84EC -sub_81D84EC: @ 81D84EC - push {r4-r6,lr} - mov r6, r8 - push {r6} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r6, =gTasks + 0x8 - adds r5, r4, r6 - bl sub_81D82B0 - bl sub_81D8358 - ldr r1, =0x00001e41 - movs r0, 0x50 - bl SetGpuRegBits - movs r0, 0x80 - lsls r0, 5 - mov r8, r0 - movs r0, 0x52 - mov r1, r8 - bl SetGpuReg - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, =sub_81D67EC - bl SetVBlankCallback - ldr r0, =gUnknown_0203CF60 - ldr r0, [r0] - ldr r1, =0x00002008 - adds r2, r0, r1 - movs r1, 0 - strh r1, [r2] - ldr r2, =0x0000200a - adds r0, r2 - strh r1, [r0] - strh r1, [r5] - strh r1, [r5, 0x2] - strh r1, [r5, 0x4] - strh r1, [r5, 0x6] - mov r0, r8 - strh r0, [r5, 0x8] - subs r6, 0x8 - adds r4, r6 - ldr r0, =sub_81D857C - str r0, [r4] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D84EC - - thumb_func_start sub_81D857C -sub_81D857C: @ 81D857C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x4 - bhi _081D8674 - lsls r0, 2 - ldr r1, =_081D85A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081D85A8: - .4byte _081D85BC - .4byte _081D85DC - .4byte _081D861A - .4byte _081D863A - .4byte _081D8656 -_081D85BC: - ldrh r1, [r5, 0x2] - movs r2, 0x2 - ldrsh r0, [r5, r2] - cmp r0, 0x8 - bne _081D8634 - movs r0, 0x1 - negs r0, r0 - movs r4, 0 - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - strh r4, [r5, 0x2] - b _081D864E -_081D85DC: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _081D8674 - ldrh r2, [r5, 0x2] - movs r3, 0x2 - ldrsh r0, [r5, r3] - cmp r0, 0xA - bne _081D8614 - strh r1, [r5, 0x2] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - ldr r0, =sub_81D844C - bl SetHBlankCallback - movs r0, 0x3 - bl EnableInterrupts - b _081D8674 - .pool -_081D8614: - adds r0, r2, 0x1 - strh r0, [r5, 0x2] - b _081D8674 -_081D861A: - ldrh r1, [r5, 0x2] - movs r2, 0x2 - ldrsh r0, [r5, r2] - cmp r0, 0x50 - bne _081D8634 - movs r0, 0 - strh r0, [r5, 0x2] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - bl sub_81D86CC - b _081D8674 -_081D8634: - adds r0, r1, 0x1 - strh r0, [r5, 0x2] - b _081D8674 -_081D863A: - ldrh r0, [r5, 0x2] - adds r0, 0x1 - strh r0, [r5, 0x2] - lsls r0, 16 - movs r1, 0xB8 - lsls r1, 17 - cmp r0, r1 - bne _081D8674 - movs r0, 0 - strh r0, [r5, 0x2] -_081D864E: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - b _081D8674 -_081D8656: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81D8684 - str r1, [r0] -_081D8674: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D857C - - thumb_func_start sub_81D8684 -sub_81D8684: @ 81D8684 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081D86B8 - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_81D6840 - str r0, [r1] -_081D86B8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8684 - - thumb_func_start sub_81D86CC -sub_81D86CC: @ 81D86CC - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r0, =gUnknown_0862AB14 - movs r1, 0xA0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r5, r6, 4 - adds r5, r6 - lsls r5, 2 - ldr r4, =gSprites + 0x2E - adds r0, r5, r4 - mov r8, r0 - ldr r0, =gUnknown_0862AB2C - movs r2, 0x30 - negs r2, r2 - movs r1, 0xB8 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - strh r0, [r1] - adds r3, r4, 0 - subs r3, 0x2E - subs r4, 0x12 - adds r4, r5, r4 - ldr r0, =sub_81D874C - str r0, [r4] - adds r5, r3 - ldrb r0, [r5, 0x5] - movs r2, 0xC - orrs r0, r2 - strb r0, [r5, 0x5] - movs r4, 0 - ldrsh r1, [r1, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x5] - orrs r1, r2 - strb r1, [r0, 0x5] - adds r0, r6, 0 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81D86CC - - thumb_func_start sub_81D874C -sub_81D874C: @ 81D874C - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r5, 0 - adds r4, 0x2E - movs r0, 0x4 - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _081D8764 - movs r0, 0xC - strh r0, [r4, 0x6] - movs r0, 0x8 - b _081D87C2 -_081D8764: - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - bne _081D8774 - movs r0, 0x9 - strh r0, [r4, 0x6] - movs r0, 0x7 - b _081D87C2 -_081D8774: - movs r0, 0x86 - lsls r0, 1 - cmp r1, r0 - bne _081D8784 - movs r0, 0x8 - strh r0, [r4, 0x6] - movs r0, 0x6 - b _081D87C2 -_081D8784: - movs r0, 0x8C - lsls r0, 1 - cmp r1, r0 - bne _081D8794 - movs r0, 0x7 - strh r0, [r4, 0x6] - movs r0, 0x5 - b _081D87C2 -_081D8794: - movs r0, 0x92 - lsls r0, 1 - cmp r1, r0 - bne _081D87A4 - movs r0, 0x6 - strh r0, [r4, 0x6] - movs r0, 0x4 - b _081D87C2 -_081D87A4: - movs r0, 0x98 - lsls r0, 1 - cmp r1, r0 - bne _081D87B4 - movs r0, 0x5 - strh r0, [r4, 0x6] - movs r0, 0x3 - b _081D87C2 -_081D87B4: - movs r0, 0xA0 - lsls r0, 1 - cmp r1, r0 - bne _081D87C4 - movs r0, 0x4 - strh r0, [r4, 0x6] - movs r0, 0x2 -_081D87C2: - strh r0, [r4, 0x8] -_081D87C4: - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _081D87EE - ldrh r0, [r5, 0x24] - subs r0, 0x1 - strh r0, [r5, 0x24] - ldr r2, =gSprites - movs r0, 0 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - subs r1, 0x1 - strh r1, [r0, 0x24] -_081D87EE: - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x8 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _081D8818 - ldrh r0, [r5, 0x26] - adds r0, 0x1 - strh r0, [r5, 0x26] - ldr r2, =gSprites - movs r0, 0 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x1 - strh r1, [r0, 0x26] -_081D8818: - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D874C - - thumb_func_start sub_81D8828 -sub_81D8828: @ 81D8828 - push {r4,lr} - bl sub_8121DA0 - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0862AB44 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r4, =gUnknown_0203CF60 - ldr r1, [r4] - adds r1, 0x4 - movs r0, 0 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00000804 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00001004 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00001804 - adds r1, r0 - movs r0, 0x3 - bl SetBgTilemapBuffer - bl sub_8121E10 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x3 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0xC1 - lsls r1, 6 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8828 - - thumb_func_start sub_81D88D0 -sub_81D88D0: @ 81D88D0 - push {r4,lr} - sub sp, 0x4 - bl reset_temp_tile_data_buffers - ldr r1, =gUnknown_08DA80BC - movs r4, 0 - str r4, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, =gUnknown_08DA7EAC - str r4, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, =gUnknown_08DA7C30 - str r4, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram -_081D8904: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081D8904 - ldr r0, =gUnknown_08DA8D6C - ldr r4, =gUnknown_0203CF60 - ldr r1, [r4] - adds r1, 0x4 - bl LZDecompressWram - ldr r0, =gUnknown_08DA8B40 - ldr r1, [r4] - ldr r2, =0x00000804 - adds r1, r2 - bl LZDecompressWram - ldr r0, =gUnknown_08DA7FB4 - ldr r1, [r4] - ldr r2, =0x00001004 - adds r1, r2 - bl LZDecompressWram - ldr r0, =gUnknown_08DA7D6C - ldr r1, [r4] - ldr r2, =0x00001804 - adds r1, r2 - bl LZDecompressWram - ldr r0, =gUnknown_08DA8E84 - movs r1, 0 - movs r2, 0x80 - bl LoadCompressedPalette - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D88D0 - - thumb_func_start sub_81D8980 -sub_81D8980: @ 81D8980 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r5, =gTasks + 0x8 - adds r6, r4, r5 - bl sub_81D8828 - bl sub_81D88D0 - bl sub_81D68C8 - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, =sub_81D67EC - bl SetVBlankCallback - movs r0, 0 - strh r0, [r6] - strh r0, [r6, 0x2] - ldr r0, =sub_81D8AD8 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x4] - subs r5, 0x8 - adds r4, r5 - ldr r0, =sub_81D89E0 - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8980 - - thumb_func_start sub_81D89E0 -sub_81D89E0: @ 81D89E0 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - bl sub_81D8BB4 - ldrh r1, [r4, 0x6] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - bne _081D8A16 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bgt _081D8A16 - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, 0x59 - bgt _081D8A16 - movs r0, 0x67 - bl PlaySE -_081D8A16: - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] - movs r0, 0 - ldrsh r5, [r4, r0] - cmp r5, 0x1 - beq _081D8A5C - cmp r5, 0x1 - bgt _081D8A34 - cmp r5, 0 - beq _081D8A3E - b _081D8AC6 - .pool -_081D8A34: - cmp r5, 0x2 - beq _081D8A8C - cmp r5, 0x3 - beq _081D8AA8 - b _081D8AC6 -_081D8A3E: - ldrh r1, [r4, 0x2] - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, 0x8 - bne _081D8AA2 - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - strh r5, [r4, 0x2] - b _081D8A9A -_081D8A5C: - ldrh r1, [r4, 0x2] - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, 0x7F - bne _081D8AA2 - movs r0, 0 - strh r0, [r4, 0x2] - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - ldr r2, =gTasks - movs r0, 0x4 - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, =sub_81D8B2C - b _081D8AC4 - .pool -_081D8A8C: - ldrh r1, [r4, 0x2] - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, 0xC - bne _081D8AA2 - movs r0, 0 - strh r0, [r4, 0x2] -_081D8A9A: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _081D8AC6 -_081D8AA2: - adds r0, r1, 0x1 - strh r0, [r4, 0x2] - b _081D8AC6 -_081D8AA8: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81D8BEC -_081D8AC4: - str r1, [r0] -_081D8AC6: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D89E0 - - thumb_func_start sub_81D8AD8 -sub_81D8AD8: @ 81D8AD8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r5, r1, r0 - ldrh r1, [r5, 0x1E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _081D8B1C - bl Random - movs r4, 0x7 - adds r1, r4, 0 - ands r1, r0 - subs r1, 0x4 - lsls r1, 8 - movs r0, 0x1 - movs r2, 0 - bl ChangeBgX - bl Random - ands r4, r0 - subs r4, 0x4 - lsls r4, 8 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0 - bl ChangeBgY -_081D8B1C: - ldrh r0, [r5, 0x1E] - adds r0, 0x1 - strh r0, [r5, 0x1E] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8AD8 - - thumb_func_start sub_81D8B2C -sub_81D8B2C: @ 81D8B2C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081D8B70 - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - movs r0, 0xA - strh r0, [r4, 0x2] - movs r1, 0x1 - negs r1, r1 - adds r0, r1, 0 - b _081D8BAA - .pool -_081D8B70: - cmp r0, 0x1 - bne _081D8BAC - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r1, 8 - movs r0, 0x1 - movs r2, 0x2 - bl ChangeBgX - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r1, 8 - movs r0, 0x1 - movs r2, 0x1 - bl ChangeBgY - ldrh r0, [r4, 0x4] - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 16 - movs r1, 0xA - negs r1, r1 - cmp r0, r1 - bne _081D8BAC - movs r1, 0x4 - ldrsh r0, [r4, r1] - negs r0, r0 -_081D8BAA: - strh r0, [r4, 0x4] -_081D8BAC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81D8B2C - - thumb_func_start sub_81D8BB4 -sub_81D8BB4: @ 81D8BB4 - push {r4,lr} - movs r4, 0x80 - lsls r4, 3 - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0x2 - bl ChangeBgX - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0x1 - bl ChangeBgY - movs r4, 0x80 - lsls r4, 4 - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x2 - bl ChangeBgX - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl ChangeBgY - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81D8BB4 - - thumb_func_start sub_81D8BEC -sub_81D8BEC: @ 81D8BEC - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r5, r1, 3 - ldr r6, =gTasks + 0x8 - adds r4, r5, r6 - bl sub_81D8BB4 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081D8C26 - movs r0, 0 - bl SetVBlankCallback - bl sub_81D6904 - ldrb r0, [r4, 0x4] - bl DestroyTask - adds r0, r6, 0 - subs r0, 0x8 - adds r0, r5, r0 - ldr r1, =sub_81D6840 - str r1, [r0] -_081D8C26: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8BEC - - thumb_func_start sub_81D8C38 -sub_81D8C38: @ 81D8C38 - push {r4,lr} - bl sub_8121DA0 - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0862AD08 - movs r0, 0x1 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r4, =gUnknown_0203CF60 - ldr r1, [r4] - adds r1, 0x4 - movs r0, 0 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00000804 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, =0x00001004 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - bl sub_8121E10 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0xC1 - lsls r1, 6 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8C38 - - thumb_func_start sub_81D8CC4 -sub_81D8CC4: @ 81D8CC4 - push {r4,lr} - sub sp, 0x4 - bl reset_temp_tile_data_buffers - ldr r1, =gUnknown_08DAAB24 - movs r4, 0 - str r4, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, =gUnknown_08DAA8B4 - str r4, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram -_081D8CEA: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - bne _081D8CEA - ldr r0, =gUnknown_08DAAE54 - ldr r4, =gUnknown_0203CF60 - ldr r1, [r4] - ldr r2, =0x00000804 - adds r1, r2 - bl LZDecompressWram - ldr r0, =gUnknown_08DAAC1C - ldr r1, [r4] - adds r1, 0x4 - bl LZDecompressWram - ldr r0, =gUnknown_08DAAF98 - ldr r1, [r4] - ldr r2, =0x00001004 - adds r1, r2 - bl LZDecompressWram - ldr r0, =gUnknown_08DAAFEC - movs r1, 0 - movs r2, 0x60 - bl LoadCompressedPalette - ldr r0, =gUnknown_0862AC28 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AC30 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AC38 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AC40 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AC48 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AC50 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862AC58 - bl LoadCompressedObjectPalette - ldr r0, =gUnknown_0862AC60 - bl LoadCompressedObjectPalette - ldr r0, =gUnknown_0862AC68 - bl LoadCompressedObjectPalette - ldr r0, =gUnknown_0862AC70 - bl LoadCompressedObjectPalette - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8CC4 - - thumb_func_start sub_81D8DB4 -sub_81D8DB4: @ 81D8DB4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r5, =gTasks + 0x8 - adds r6, r4, r5 - bl sub_81D8C38 - bl sub_81D8CC4 - bl sub_81D68C8 - movs r1, 0x80 - lsls r1, 3 - movs r0, 0 - bl ClearGpuRegBits - ldr r1, =0x00000241 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x00000e09 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, =sub_81D67EC - bl SetVBlankCallback - movs r0, 0 - strh r0, [r6] - strh r0, [r6, 0x2] - subs r5, 0x8 - adds r4, r5 - ldr r0, =sub_81D8E80 - str r0, [r4] - ldr r0, =sub_81D8FB0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x4] - movs r0, 0x4 - ldrsh r1, [r6, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r2, 0 - strh r2, [r0, 0x8] - movs r0, 0x4 - ldrsh r1, [r6, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r2, [r0, 0xA] - movs r0, 0x4 - ldrsh r1, [r6, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r2, [r0, 0xC] - movs r0, 0x4 - ldrsh r1, [r6, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r2, 0x1 - strh r2, [r0, 0xE] - movs r0, 0x4 - ldrsh r1, [r6, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r2, [r0, 0x10] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8DB4 - - thumb_func_start sub_81D8E80 -sub_81D8E80: @ 81D8E80 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r7, r0, 3 - ldr r0, =gTasks + 0x8 - mov r8, r0 - adds r4, r7, r0 - movs r1, 0 - ldrsh r5, [r4, r1] - cmp r5, 0x1 - beq _081D8EDE - cmp r5, 0x1 - bgt _081D8EB0 - cmp r5, 0 - beq _081D8EBA - b _081D8FA0 - .pool -_081D8EB0: - cmp r5, 0x2 - beq _081D8F1E - cmp r5, 0x3 - beq _081D8F84 - b _081D8FA0 -_081D8EBA: - ldrh r1, [r4, 0x2] - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, 0x8 - bne _081D8F18 - adds r0, r6, 0 - bl sub_81D90A8 - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - strh r5, [r4, 0x2] - b _081D8F30 -_081D8EDE: - ldr r2, =gSprites - movs r0, 0xA - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, =sub_81D97E0 - cmp r1, r0 - bne _081D8FA0 - ldrh r1, [r4, 0x2] - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, 0x40 - bne _081D8F18 - adds r0, r6, 0 - bl sub_81D94D4 - adds r0, r6, 0 - bl sub_81D93D8 - b _081D8F2C - .pool -_081D8F18: - adds r0, r1, 0x1 - strh r0, [r4, 0x2] - b _081D8FA0 -_081D8F1E: - ldrh r2, [r4, 0x2] - movs r0, 0x2 - ldrsh r1, [r4, r0] - movs r0, 0xE0 - lsls r0, 1 - cmp r1, r0 - bne _081D8F38 -_081D8F2C: - movs r0, 0 - strh r0, [r4, 0x2] -_081D8F30: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _081D8FA0 -_081D8F38: - adds r0, r2, 0x1 - strh r0, [r4, 0x2] - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r1, 0x90 - bl __modsi3 - lsls r0, 16 - asrs r4, r0, 16 - cmp r4, 0 - bne _081D8FA0 - ldr r0, =0x0000fffe - ldr r1, =0x0000ffff - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl sub_80A2C44 - ldr r0, =0xffff0000 - str r4, [sp] - str r4, [sp, 0x4] - movs r1, 0x1 - str r1, [sp, 0x8] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl sub_80A2C44 - b _081D8FA0 - .pool -_081D8F84: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r1, 0x4 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - mov r0, r8 - subs r0, 0x8 - adds r0, r7, r0 - ldr r1, =sub_81D9034 - str r1, [r0] -_081D8FA0: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8E80 - - thumb_func_start sub_81D8FB0 -sub_81D8FB0: @ 81D8FB0 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - ldrh r1, [r4] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _081D9024 - ldrh r1, [r4, 0x2] - adds r1, 0xE - lsls r1, 8 - movs r2, 0xF8 - lsls r2, 5 - adds r0, r2, 0 - ands r1, r0 - ldrh r0, [r4, 0x4] - adds r0, 0x9 - movs r2, 0xF - ands r0, r2 - orrs r1, r0 - movs r0, 0x52 - bl SetGpuReg - ldrh r1, [r4, 0x2] - ldrh r0, [r4, 0x6] - subs r1, r0 - strh r1, [r4, 0x2] - ldrh r0, [r4, 0x8] - ldrh r2, [r4, 0x4] - adds r0, r2 - strh r0, [r4, 0x4] - lsls r1, 16 - asrs r1, 16 - movs r0, 0x3 - negs r0, r0 - cmp r1, r0 - beq _081D9008 - cmp r1, 0 - bne _081D9010 -_081D9008: - movs r1, 0x6 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0x6] -_081D9010: - movs r2, 0x4 - ldrsh r0, [r4, r2] - cmp r0, 0x3 - beq _081D901C - cmp r0, 0 - bne _081D9024 -_081D901C: - movs r1, 0x8 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0x8] -_081D9024: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D8FB0 - - thumb_func_start sub_81D9034 -sub_81D9034: @ 81D9034 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r6, r1, 3 - ldr r7, =gTasks + 0x8 - adds r4, r6, r7 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _081D90A0 - bl StopMapMusic - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081D9078 - movs r0, 0 - bl SetVBlankCallback - bl sub_81D6904 - bl ResetSpriteData - bl FreeAllSpritePalettes - ldrb r0, [r4, 0x4] - bl DestroyTask -_081D9078: - ldrh r1, [r4, 0x2] - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, 0x20 - bne _081D909C - strh r5, [r4, 0x2] - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, =sub_81D6840 - str r1, [r0] - b _081D90A0 - .pool -_081D909C: - adds r0, r1, 0x1 - strh r0, [r4, 0x2] -_081D90A0: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D9034 - - thumb_func_start sub_81D90A8 -sub_81D90A8: @ 81D90A8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - ldr r0, =gUnknown_0862AC78 - movs r1, 0x40 - movs r2, 0x78 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x6] - movs r0, 0x6 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites + 0x2E - mov r10, r1 - adds r7, r0, r1 - ldr r0, =gUnknown_0862AC90 - movs r1, 0x10 - movs r2, 0x82 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7] - movs r2, 0x2E - negs r2, r2 - add r2, r10 - mov r8, r2 - movs r1, 0x6 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r2, [r1, 0x5] - movs r6, 0xD - negs r6, r6 - adds r0, r6, 0 - ands r0, r2 - movs r2, 0x4 - mov r9, r2 - mov r2, r9 - orrs r0, r2 - strb r0, [r1, 0x5] - movs r1, 0 - ldrsh r0, [r7, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r2, [r1, 0x5] - adds r0, r6, 0 - ands r0, r2 - mov r2, r9 - orrs r0, r2 - strb r0, [r1, 0x5] - ldr r5, =gUnknown_0862ACA8 - adds r0, r5, 0 - movs r1, 0xA0 - movs r2, 0x80 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x8] - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - mov r1, r10 - adds r7, r0, r1 - adds r0, r5, 0 - movs r1, 0xC0 - movs r2, 0x80 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7] - adds r0, r5, 0 - movs r1, 0xE0 - movs r2, 0x80 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x2] - movs r2, 0x8 - ldrsh r0, [r4, r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r2, [r1, 0x5] - adds r0, r6, 0 - ands r0, r2 - mov r2, r9 - orrs r0, r2 - strb r0, [r1, 0x5] - movs r1, 0 - ldrsh r0, [r7, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r2, [r1, 0x5] - adds r0, r6, 0 - ands r0, r2 - mov r2, r9 - orrs r0, r2 - strb r0, [r1, 0x5] - movs r1, 0x2 - ldrsh r0, [r7, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r2, [r1, 0x5] - adds r0, r6, 0 - ands r0, r2 - mov r2, r9 - orrs r0, r2 - strb r0, [r1, 0x5] - movs r0, 0 - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - movs r1, 0x1 - bl StartSpriteAnim - movs r2, 0x2 - ldrsh r1, [r7, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - movs r1, 0x2 - bl StartSpriteAnim - ldr r0, =gUnknown_0862ACC0 - movs r2, 0x41 - negs r2, r2 - movs r1, 0x78 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xA] - movs r0, 0xA - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - mov r1, r10 - adds r7, r0, r1 - ldr r0, =gUnknown_0862ACD8 - movs r2, 0x71 - negs r2, r2 - movs r1, 0x78 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7] - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r2, [r1, 0x5] - adds r0, r6, 0 - ands r0, r2 - mov r2, r9 - orrs r0, r2 - strb r0, [r1, 0x5] - movs r0, 0 - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r1, [r0, 0x5] - ands r6, r1 - orrs r6, r2 - strb r6, [r0, 0x5] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D90A8 - - thumb_func_start sub_81D9274 -sub_81D9274: @ 81D9274 - push {r4-r6,lr} - mov r6, r8 - push {r6} - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - ldr r0, =gTasks + 0x8 - adds r2, r0 - ldr r3, =gSprites - movs r0, 0x6 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - movs r1, 0x1C - adds r1, r3 - mov r8, r1 - add r0, r8 - ldr r6, =pokemon_alive_on_battle_side - str r6, [r0] - movs r0, 0x6 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r4, 0 - strh r4, [r0, 0x36] - movs r0, 0x6 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x38] - movs r0, 0x6 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r5, 0x4 - strh r5, [r0, 0x3A] - movs r0, 0x6 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x3C] - movs r0, 0x8 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - str r6, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x36] - movs r0, 0x8 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r4, [r0, 0x38] - movs r0, 0x8 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r5, [r0, 0x3A] - movs r0, 0x8 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x1 - strh r1, [r0, 0x3C] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D9274 - - thumb_func_start pokemon_alive_on_battle_side -pokemon_alive_on_battle_side: @ 81D9338 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x36] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - bne _081D93CC - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081D9370 - ldrh r0, [r4, 0x20] - ldrh r3, [r4, 0x3A] - subs r0, r3 - strh r0, [r4, 0x20] - ldr r2, =gSprites - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, r3 - b _081D939E - .pool -_081D9370: - ldrh r2, [r4, 0x3A] - ldrh r1, [r4, 0x20] - adds r0, r2, r1 - strh r0, [r4, 0x20] - ldr r3, =gSprites - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x20] - adds r2, r1 - strh r2, [r0, 0x20] - movs r2, 0x30 - ldrsh r1, [r4, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r4, 0x3A] - ldrh r2, [r0, 0x20] - adds r1, r2 -_081D939E: - strh r1, [r0, 0x20] - ldrh r1, [r4, 0x38] - adds r1, 0x1 - movs r2, 0 - strh r1, [r4, 0x38] - ldrh r0, [r4, 0x3A] - subs r0, r1 - strh r0, [r4, 0x3A] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x3 - bne _081D93CC - strh r2, [r4, 0x36] - strh r2, [r4, 0x38] - strh r2, [r4, 0x3A] - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] - b _081D93D2 - .pool -_081D93CC: - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] -_081D93D2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end pokemon_alive_on_battle_side - - thumb_func_start sub_81D93D8 -sub_81D93D8: @ 81D93D8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - ldr r0, =gTasks + 0x8 - adds r2, r0 - ldr r3, =gSprites - movs r0, 0x6 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_81D9420 - str r1, [r0] - movs r0, 0x6 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x1 - bl StartSpriteAnim - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D93D8 - - thumb_func_start sub_81D9420 -sub_81D9420: @ 81D9420 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x1 - beq _081D9488 - cmp r0, 0x1 - bgt _081D9436 - cmp r0, 0 - beq _081D9440 - b _081D94C4 -_081D9436: - cmp r0, 0x2 - beq _081D9440 - cmp r0, 0x3 - beq _081D9488 - b _081D94C4 -_081D9440: - adds r0, r4, 0 - adds r0, 0x2C - ldrb r0, [r0] - lsls r0, 26 - lsrs r0, 26 - movs r1, 0xC - bl __umodsi3 - lsls r0, 24 - ldr r2, =gSprites - cmp r0, 0 - bne _081D9470 - ldrh r0, [r4, 0x20] - subs r0, 0x2 - strh r0, [r4, 0x20] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, 0x2 - strh r1, [r0, 0x20] -_081D9470: - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x26] - b _081D94C4 - .pool -_081D9488: - ldr r2, =gSprites - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000fffe - strh r1, [r0, 0x26] - adds r0, r4, 0 - adds r0, 0x2C - ldrb r1, [r0] - lsls r1, 26 - lsrs r1, 26 - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _081D94C4 - ldrh r0, [r4, 0x22] - adds r0, 0x1 - strh r0, [r4, 0x22] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - adds r1, 0x1 - strh r1, [r0, 0x22] -_081D94C4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D9420 - - thumb_func_start sub_81D94D4 -sub_81D94D4: @ 81D94D4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r1, r0 - movs r0, 0x8 - ldrsh r1, [r1, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r2, =gSprites + 0x2E - adds r4, r0, r2 - subs r2, 0x12 - adds r0, r2 - ldr r3, =sub_81D9528 - str r3, [r0] - movs r0, 0 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - str r3, [r0] - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - str r3, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D94D4 - - thumb_func_start sub_81D9528 -sub_81D9528: @ 81D9528 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - ldrh r1, [r7, 0x36] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _081D9550 - ldrh r1, [r7, 0x24] - movs r2, 0x24 - ldrsh r0, [r7, r2] - cmp r0, 0x1 - bne _081D954C - ldr r0, =0x0000ffff - b _081D954E - .pool -_081D954C: - movs r0, 0x1 -_081D954E: - strh r0, [r7, 0x24] -_081D9550: - movs r1, 0x38 - ldrsh r0, [r7, r1] - cmp r0, 0x80 - bne _081D95CE - ldr r2, =gUnknown_0862ACF0 - mov r8, r2 - mov r0, r8 - movs r1, 0x98 - movs r2, 0x84 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x3C] - ldr r5, =gSprites - movs r1, 0x3C - ldrsh r0, [r7, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r2, [r1, 0x5] - movs r4, 0xD - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - movs r6, 0x4 - orrs r0, r6 - strb r0, [r1, 0x5] - mov r0, r8 - movs r1, 0xE0 - movs r2, 0x84 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x3C] - movs r2, 0x3C - ldrsh r1, [r7, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0, 0x5] - ands r4, r1 - orrs r4, r6 - strb r4, [r0, 0x5] - movs r0, 0x3C - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3F - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - ldrh r0, [r7, 0x38] - adds r0, 0x1 - strh r0, [r7, 0x38] -_081D95CE: - ldrh r1, [r7, 0x38] - movs r2, 0x38 - ldrsh r0, [r7, r2] - cmp r0, 0x7F - ble _081D95F8 - movs r1, 0x26 - ldrsh r0, [r7, r1] - cmp r0, 0x20 - beq _081D95FC - ldrh r0, [r7, 0x3A] - adds r0, 0x1 - strh r0, [r7, 0x3A] - lsls r0, 16 - asrs r0, 20 - strh r0, [r7, 0x26] - b _081D95FC - .pool -_081D95F8: - adds r0, r1, 0x1 - strh r0, [r7, 0x38] -_081D95FC: - ldrh r0, [r7, 0x36] - movs r1, 0x3F - ands r0, r1 - cmp r0, 0 - bne _081D960C - movs r0, 0xA5 - bl PlaySE -_081D960C: - ldrh r0, [r7, 0x36] - adds r0, 0x1 - strh r0, [r7, 0x36] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D9528 - - thumb_func_start sub_81D961C -sub_81D961C: @ 81D961C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x3C - ldrsh r1, [r4, r0] - cmp r1, 0x40 - bgt _081D968C - ldrh r0, [r4, 0x26] - adds r0, 0x2 - strh r0, [r4, 0x26] - ldr r5, =gSprites - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x26] - adds r1, 0x2 - strh r1, [r0, 0x26] - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x40 - beq _081D964C - b _081D979E -_081D964C: - movs r3, 0x30 - negs r3, r3 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl sub_81D9868 - movs r2, 0x5 - strh r2, [r4, 0x36] - ldr r0, =0x0000ffff - strh r0, [r4, 0x38] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x3 - strh r1, [r0, 0x36] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x38] - b _081D979E - .pool -_081D968C: - cmp r1, 0x6F - bgt _081D96BE - adds r0, r4, 0 - bl sub_81D97E0 - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081D96A4 - movs r0, 0x68 - bl PlaySE -_081D96A4: - movs r0, 0x36 - ldrsh r1, [r4, r0] - movs r0, 0x3 - negs r0, r0 - cmp r1, r0 - bne _081D979E - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0x30 - movs r3, 0x10 - bl sub_81D9868 - b _081D979E -_081D96BE: - cmp r1, 0x70 - bne _081D96EC - ldr r2, =gSprites - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x7 - strh r1, [r0, 0x36] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x3 - strh r1, [r0, 0x38] - b _081D96F2 - .pool -_081D96EC: - ldr r0, =0x00000147 - cmp r1, r0 - bgt _081D9700 -_081D96F2: - adds r0, r4, 0 - bl sub_81D97E0 - b _081D979E - .pool -_081D9700: - movs r0, 0xA4 - lsls r0, 1 - cmp r1, r0 - bne _081D974C - adds r0, r4, 0 - bl sub_81D97E0 - adds r0, r4, 0 - movs r1, 0x3 - movs r2, 0x30 - movs r3, 0x10 - bl sub_81D9868 - movs r3, 0x1 - strh r3, [r4, 0x24] - ldr r2, =gSprites - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x24] - movs r0, 0xCB - lsls r0, 1 - movs r1, 0 - bl PlayCry1 - ldr r0, =sub_81D98B4 - movs r1, 0 - bl CreateTask - b _081D979E - .pool -_081D974C: - movs r0, 0xB0 - lsls r0, 1 - cmp r1, r0 - beq _081D9790 - adds r0, 0x18 - cmp r1, r0 - bne _081D979E - movs r3, 0 - strh r3, [r4, 0x24] - ldr r2, =gSprites - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x24] - adds r0, r4, 0 - bl sub_81D97E0 - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0x30 - movs r3, 0x10 - bl sub_81D9868 - ldr r0, =sub_81D97E0 - str r0, [r4, 0x1C] - b _081D97D2 - .pool -_081D9790: - ldr r0, =sub_81D8E80 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl sub_81D9274 -_081D979E: - ldrh r2, [r4, 0x3C] - movs r0, 0x3C - ldrsh r1, [r4, r0] - movs r0, 0xA4 - lsls r0, 1 - cmp r1, r0 - ble _081D97CC - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - bne _081D97CC - movs r1, 0x24 - ldrsh r2, [r4, r1] - negs r2, r2 - strh r2, [r4, 0x24] - ldr r3, =gSprites - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r2, [r0, 0x24] -_081D97CC: - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] -_081D97D2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D961C - - thumb_func_start sub_81D97E0 -sub_81D97E0: @ 81D97E0 - push {r4-r7,lr} - adds r3, r0, 0 - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, =gSprites - adds r4, r0, r5 - ldrh r1, [r3, 0x3A] - ldrh r0, [r4, 0x36] - ands r0, r1 - cmp r0, 0 - bne _081D985C - ldrh r2, [r3, 0x36] - ldrh r1, [r3, 0x26] - adds r0, r2, r1 - strh r0, [r3, 0x26] - movs r7, 0x2E - ldrsh r1, [r3, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x26] - adds r2, r1 - strh r2, [r0, 0x26] - ldrh r0, [r3, 0x38] - ldrh r2, [r3, 0x36] - adds r0, r2 - strh r0, [r3, 0x36] - lsls r0, 16 - asrs r5, r0, 16 - ldrh r6, [r4, 0x38] - movs r7, 0x38 - ldrsh r2, [r4, r7] - cmp r5, r2 - bge _081D9836 - movs r0, 0x36 - ldrsh r1, [r3, r0] - adds r0, r2, 0 - cmn r1, r0 - bgt _081D985C -_081D9836: - cmp r5, r2 - ble _081D9844 - strh r6, [r3, 0x36] - b _081D9854 - .pool -_081D9844: - movs r0, 0x36 - ldrsh r1, [r3, r0] - movs r2, 0x38 - ldrsh r0, [r4, r2] - cmn r1, r0 - bge _081D9854 - negs r0, r6 - strh r0, [r3, 0x36] -_081D9854: - movs r7, 0x38 - ldrsh r0, [r3, r7] - negs r0, r0 - strh r0, [r3, 0x38] -_081D985C: - ldrh r0, [r3, 0x3A] - adds r0, 0x1 - strh r0, [r3, 0x3A] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81D97E0 - - thumb_func_start sub_81D9868 -sub_81D9868: @ 81D9868 - push {r4,r5,lr} - adds r5, r1, 0 - lsls r5, 24 - lsrs r5, 24 - movs r4, 0x2E - ldrsh r1, [r0, r4] - lsls r4, r1, 4 - adds r4, r1 - lsls r4, 2 - ldr r1, =gSprites - adds r4, r1 - lsls r2, 16 - asrs r2, 16 - ldrh r1, [r0, 0x20] - adds r2, r1 - strh r2, [r4, 0x20] - lsls r3, 16 - asrs r3, 16 - ldrh r1, [r0, 0x22] - adds r3, r1 - strh r3, [r4, 0x22] - ldrh r1, [r0, 0x24] - strh r1, [r4, 0x24] - ldrh r1, [r0, 0x26] - strh r1, [r4, 0x26] - adds r1, r5, 0 - bl StartSpriteAnim - adds r0, r4, 0 - adds r1, r5, 0 - bl StartSpriteAnim - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81D9868 - - thumb_func_start sub_81D98B4 -sub_81D98B4: @ 81D98B4 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - movs r0, 0 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _081D990C - cmp r1, 0x1 - bgt _081D98DC - cmp r1, 0 - beq _081D98E2 - b _081D99B4 - .pool -_081D98DC: - cmp r1, 0x2 - beq _081D99A4 - b _081D99B4 -_081D98E2: - movs r2, 0x80 - lsls r2, 7 - movs r0, 0x40 - str r0, [sp] - adds r0, 0xC0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r1, [sp, 0xC] - movs r0, 0x2 - adds r1, r2, 0 - movs r3, 0x78 - bl SetBgAffine - movs r1, 0x80 - lsls r1, 3 - movs r0, 0 - bl SetGpuRegBits - movs r0, 0x10 - strh r0, [r4, 0x8] - b _081D9922 -_081D990C: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x8 - bne _081D991A - movs r0, 0x12 - bl PlaySE -_081D991A: - movs r3, 0x4 - ldrsh r0, [r4, r3] - cmp r0, 0x2 - bne _081D992A -_081D9922: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _081D99B4 -_081D992A: - ldrh r5, [r4, 0x8] - ldrh r1, [r4, 0x2] - adds r0, r5, r1 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r3, 0x6 - ldrsh r0, [r4, r3] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _081D9954 - lsls r0, r5, 16 - asrs r0, 16 - cmp r0, 0x4 - beq _081D9954 - subs r0, r5, 0x2 - strh r0, [r4, 0x8] -_081D9954: - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] - movs r2, 0x80 - lsls r2, 7 - movs r0, 0x40 - str r0, [sp] - ldrh r0, [r4, 0x2] - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - subs r0, r1, r0 - lsls r0, 16 - asrs r0, 16 - str r0, [sp, 0x4] - ldrh r0, [r4, 0x2] - subs r1, r0 - lsls r1, 16 - asrs r1, 16 - str r1, [sp, 0x8] - movs r5, 0 - str r5, [sp, 0xC] - movs r0, 0x2 - adds r1, r2, 0 - movs r3, 0x78 - bl SetBgAffine - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, 0xFF - ble _081D99B4 - strh r5, [r4, 0x2] - strh r5, [r4, 0x6] - strh r5, [r4, 0xA] - movs r0, 0x10 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - b _081D99B4 -_081D99A4: - movs r1, 0x80 - lsls r1, 3 - movs r0, 0 - bl ClearGpuRegBits - adds r0, r5, 0 - bl DestroyTask -_081D99B4: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81D98B4 - - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/record_mixing.s b/asm/record_mixing.s index 474eff46f1..9ff2624d8f 100644 --- a/asm/record_mixing.s +++ b/asm/record_mixing.s @@ -1185,7 +1185,7 @@ sub_80E89F8: @ 80E89F8 ldr r1, =0x00003030 adds r0, r1 adds r1, r5, 0 - bl sub_806FA9C + bl InitDaycareMailRecordMixing ldr r0, =gUnknown_03001148 ldr r1, [r0] adds r0, r6, 0 @@ -1228,7 +1228,7 @@ _080E8A78: beq _080E8A90 mov r0, r8 movs r1, 0xFC - bl sub_81DB4DC + bl PadNameString _080E8A90: ldrb r1, [r7] lsrs r1, 4 diff --git a/asm/recorded_battle.s b/asm/recorded_battle.s deleted file mode 100644 index 55cfdf6ef1..0000000000 --- a/asm/recorded_battle.s +++ /dev/null @@ -1,2749 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8184DA4 -sub_8184DA4: @ 8184DA4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - ldr r0, =gUnknown_0203C7AC - mov r1, r12 - strb r1, [r0] - ldr r1, =gUnknown_0203CCD0 - movs r0, 0 - strb r0, [r1] - movs r2, 0 - movs r7, 0 - ldr r3, =gUnknown_0203C7BC - mov r10, r3 - ldr r6, =gUnknown_0203C794 - mov r9, r6 - ldr r0, =gUnknown_0203BD34 - mov r8, r0 -_08184DD0: - lsls r0, r2, 1 - mov r3, r9 - adds r1, r0, r3 - strh r7, [r1] - ldr r6, =gUnknown_0203C79C - adds r1, r0, r6 - strh r7, [r1] - ldr r1, =gUnknown_0203C7A4 - adds r0, r1 - strh r7, [r0] - adds r4, r2, 0x1 - mov r3, r12 - cmp r3, 0x1 - bne _08184E1C - ldr r5, =gBattleTypeFlags - movs r3, 0xFF - movs r1, 0xA6 - lsls r1, 2 - adds r0, r2, 0 - muls r0, r1 - mov r6, r8 - adds r2, r0, r6 -_08184DFC: - ldrb r0, [r2] - orrs r0, r3 - strb r0, [r2] - adds r2, 0x1 - subs r1, 0x1 - cmp r1, 0 - bne _08184DFC - ldr r0, [r5] - ldr r1, =gUnknown_0203C7B8 - str r0, [r1] - ldr r3, =gBattleResources - ldr r0, [r3] - ldr r0, [r0, 0x14] - ldr r0, [r0, 0xC] - mov r6, r10 - str r0, [r6] -_08184E1C: - adds r2, r4, 0 - cmp r2, 0x3 - ble _08184DD0 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8184DA4 - - thumb_func_start sub_8184E58 -sub_8184E58: @ 8184E58 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - ldr r0, =gUnknown_0203C7AC - ldrb r0, [r0] - cmp r0, 0x1 - bne _08184EA0 - ldr r1, =gRecordedBattleRngSeed - ldr r0, =gRngValue - ldr r0, [r0] - str r0, [r1] - ldr r4, =gUnknown_0203C7AE - ldr r0, =0x000040cf - bl VarGet - strb r0, [r4] - ldr r4, =gUnknown_0203C7AF - bl sub_81A513C - strb r0, [r4] - b _08184EAC - .pool -_08184EA0: - cmp r0, 0x2 - bne _08184EAC - ldr r0, =gRngValue - ldr r1, =gRecordedBattleRngSeed - ldr r1, [r1] - str r1, [r0] -_08184EAC: - ldr r0, =gBattleTypeFlags - ldr r5, [r0] - movs r0, 0x2 - ands r5, r0 - cmp r5, 0 - beq _08184F64 - bl GetMultiplayerId - ldr r1, =gUnknown_0203C7B4 - strb r0, [r1] - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - movs r5, 0 - ldr r0, =gUnknown_0203CC80 - mov r9, r0 - ldr r6, =gLinkPlayers - movs r0, 0x8 - adds r0, r6 - mov r8, r0 - mov r7, r9 - adds r7, 0x4 -_08184EDC: - lsls r0, r5, 2 - adds r0, r5 - lsls r4, r0, 2 - mov r0, r9 - adds r2, r4, r0 - lsls r0, r5, 3 - subs r0, r5 - lsls r3, r0, 2 - adds r0, r6, 0x4 - adds r0, r3, r0 - ldr r0, [r0] - str r0, [r2] - adds r1, r3, r6 - ldrb r0, [r1, 0x13] - strb r0, [r2, 0xC] - ldrh r0, [r1, 0x18] - strh r0, [r2, 0xE] - ldrh r0, [r1, 0x1A] - strh r0, [r2, 0x10] - cmp r5, r10 - bge _08184F3C - mov r0, r8 - adds r1, r3, r0 - mov r0, sp - bl StringCopy - mov r0, sp - bl StripExtCtrlCodes - adds r0, r4, r7 - mov r1, sp - bl StringCopy - adds r5, 0x1 - b _08184F56 - .pool -_08184F3C: - adds r5, 0x1 - ldr r0, =gLinkPlayers + 8 - adds r1, r3, r0 - ldr r0, =gUnknown_0203CC84 - adds r2, r4, r0 - movs r3, 0x7 -_08184F48: - ldrb r0, [r1] - strb r0, [r2] - adds r1, 0x1 - adds r2, 0x1 - subs r3, 0x1 - cmp r3, 0 - bge _08184F48 -_08184F56: - cmp r5, 0x3 - ble _08184EDC - b _08184FA0 - .pool -_08184F64: - ldr r3, =gUnknown_0203CC80 - ldr r4, =gSaveBlock2Ptr - ldr r2, [r4] - ldrb r1, [r2, 0xA] - ldrb r0, [r2, 0xB] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0xC] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0xD] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - ldrb r0, [r2, 0x8] - strb r0, [r3, 0xC] - strh r5, [r3, 0xE] - ldr r0, =gGameLanguage - ldrb r0, [r0] - strh r0, [r3, 0x10] - movs r5, 0 - adds r3, 0x4 -_08184F90: - adds r0, r5, r3 - ldr r1, [r4] - adds r1, r5 - ldrb r1, [r1] - strb r1, [r0] - adds r5, 0x1 - cmp r5, 0x7 - ble _08184F90 -_08184FA0: - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8184E58 - - thumb_func_start RecordedBattle_SetBankAction -RecordedBattle_SetBankAction: @ 8184FBC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - ldr r1, =gUnknown_0203C794 - lsls r0, r5, 1 - adds r4, r0, r1 - ldrh r2, [r4] - adds r3, r2, 0 - ldr r0, =0x00000297 - cmp r3, r0 - bhi _08184FF0 - ldr r0, =gUnknown_0203C7AC - ldrb r0, [r0] - cmp r0, 0x2 - beq _08184FF0 - ldr r1, =gUnknown_0203BD34 - adds r0, r2, 0x1 - strh r0, [r4] - movs r0, 0xA6 - lsls r0, 2 - muls r0, r5 - adds r0, r3, r0 - adds r0, r1 - strb r6, [r0] -_08184FF0: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end RecordedBattle_SetBankAction - - thumb_func_start RecordedBattle_ClearBankAction -RecordedBattle_ClearBankAction: @ 8185008 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - movs r3, 0 - cmp r3, r4 - bge _08185046 - ldr r0, =gUnknown_0203C794 - lsls r1, r5, 1 - adds r2, r1, r0 - ldr r7, =gUnknown_0203BD34 - movs r0, 0xA6 - lsls r0, 2 - muls r5, r0 - movs r6, 0xFF -_08185028: - ldrh r0, [r2] - subs r0, 0x1 - strh r0, [r2] - ldrh r1, [r2] - adds r1, r5 - adds r1, r7 - ldrb r0, [r1] - orrs r0, r6 - strb r0, [r1] - ldrh r0, [r2] - cmp r0, 0 - beq _08185046 - adds r3, 0x1 - cmp r3, r4 - blt _08185028 -_08185046: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end RecordedBattle_ClearBankAction - - thumb_func_start RecordedBattle_ReadBankAction -RecordedBattle_ReadBankAction: @ 8185054 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, =gUnknown_0203C794 - lsls r0, r3, 1 - adds r2, r0, r1 - ldrh r1, [r2] - ldr r0, =0x00000297 - cmp r1, r0 - bhi _0818507A - ldr r4, =gUnknown_0203BD34 - adds r0, 0x1 - muls r3, r0 - adds r0, r1, r3 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0xFF - bne _081850BC -_0818507A: - ldr r2, =gScriptResult - ldr r1, =gBattleOutcome - movs r0, 0x5 - strb r0, [r1] - movs r0, 0x5 - strh r0, [r2] - bl ResetPaletteFadeControl - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =CB2_QuitRecordedBattle - bl SetMainCallback2 - movs r0, 0xFF - b _081850C6 - .pool -_081850BC: - adds r0, r1, 0x1 - strh r0, [r2] - adds r0, r1, r3 - adds r0, r4 - ldrb r0, [r0] -_081850C6: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end RecordedBattle_ReadBankAction - - thumb_func_start sub_81850D0 -sub_81850D0: @ 81850D0 - ldr r0, =gUnknown_0203C7AC - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_81850D0 - - thumb_func_start sub_81850DC -sub_81850DC: @ 81850DC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r8, r0 - movs r7, 0 - movs r0, 0 - mov r12, r0 -_081850F0: - mov r1, r12 - lsls r3, r1, 1 - ldr r0, =gUnknown_0203C794 - adds r5, r3, r0 - ldr r1, =gUnknown_0203C79C - adds r6, r3, r1 - ldrh r0, [r5] - mov r9, r3 - mov r1, r12 - adds r1, 0x1 - str r1, [sp] - ldrh r1, [r6] - cmp r0, r1 - beq _0818517E - adds r1, r7, 0 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r2, r7, 0 - add r1, r8 - mov r0, r12 - strb r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - add r2, r8 - ldrb r0, [r5] - ldrb r1, [r6] - subs r0, r1 - strb r0, [r2] - movs r4, 0 - ldrh r0, [r5] - ldrh r1, [r6] - subs r0, r1 - cmp r4, r0 - bge _08185172 - ldr r1, =gUnknown_0203BD34 - mov r10, r1 - ldr r6, =gUnknown_0203C79C - movs r0, 0xA6 - lsls r0, 2 - mov r5, r12 - muls r5, r0 -_08185146: - adds r1, r7, 0 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - add r1, r8 - adds r2, r3, r6 - ldrh r0, [r2] - adds r0, r4 - adds r0, r5 - add r0, r10 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gUnknown_0203C794 - adds r0, r3, r1 - ldrh r1, [r0] - ldrh r0, [r2] - subs r1, r0 - cmp r4, r1 - blt _08185146 -_08185172: - ldr r0, =gUnknown_0203C79C - add r0, r9 - ldr r1, =gUnknown_0203C794 - add r1, r9 - ldrh r1, [r1] - strh r1, [r0] -_0818517E: - ldr r1, [sp] - lsls r0, r1, 24 - lsrs r0, 24 - mov r12, r0 - cmp r0, 0x3 - bls _081850F0 - adds r0, r7, 0 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81850DC - - thumb_func_start sub_81851A8 -sub_81851A8: @ 81851A8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - adds r7, r0, 0 - movs r1, 0x2 - mov r0, sp - strb r1, [r0] - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - ands r0, r1 - cmp r0, 0 - beq _0818525E - movs r5, 0 - ldr r4, =gLinkPlayers - b _081851DA - .pool -_081851D0: - ldrb r0, [r4] - cmp r0, 0x3 - bne _0818525E - adds r4, 0x1C - adds r5, 0x1 -_081851DA: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - blt _081851D0 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x4 - ands r0, r1 - cmp r0, 0 - bne _0818525E - ldrb r0, [r7] - mov r4, sp - adds r4, 0x1 - strb r0, [r4] - ldrb r0, [r4] - mov r8, r4 - cmp r0, 0 - beq _0818525E -_08185202: - adds r0, r7, 0 - mov r1, sp - adds r2, r4, 0 - bl sub_8185278 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r7, 0 - mov r1, sp - adds r2, r4, 0 - bl sub_8185278 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _08185256 - ldr r3, =gUnknown_0203BD34 - ldr r0, =gUnknown_0203C7A4 - lsls r1, r6, 1 - adds r4, r1, r0 - adds r5, r2, 0 - movs r0, 0xA6 - lsls r0, 2 - muls r6, r0 -_08185232: - adds r0, r7, 0 - mov r1, sp - mov r2, r8 - str r3, [sp, 0x4] - bl sub_8185278 - ldrh r1, [r4] - adds r2, r1, 0x1 - strh r2, [r4] - lsls r1, 16 - lsrs r1, 16 - adds r1, r6 - ldr r3, [sp, 0x4] - adds r1, r3 - strb r0, [r1] - subs r5, 0x1 - cmp r5, 0 - bne _08185232 -_08185256: - mov r4, r8 - ldrb r0, [r4] - cmp r0, 0 - bne _08185202 -_0818525E: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81851A8 - - thumb_func_start sub_8185278 -sub_8185278: @ 8185278 - ldrb r3, [r2] - subs r3, 0x1 - strb r3, [r2] - ldrb r2, [r1] - adds r3, r2, 0x1 - strb r3, [r1] - lsls r2, 24 - lsrs r2, 24 - adds r0, r2 - ldrb r0, [r0] - bx lr - thumb_func_end sub_8185278 - - thumb_func_start sub_8185290 -sub_8185290: @ 8185290 - push {r4,r5,lr} - movs r0, 0xF8 - lsls r0, 4 - bl AllocZeroed - adds r4, r0, 0 - bl start_ov_to_battle_anim - adds r5, r0, 0 - adds r0, r4, 0 - bl Free - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8185290 - - thumb_func_start sub_81852B0 -sub_81852B0: @ 81852B0 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r1, =0x000004ec - adds r0, r5, r1 - ldr r1, [r0] - cmp r1, 0 - beq _081852E8 - ldr r0, =0x7d007e92 - ands r1, r0 - cmp r1, 0 - bne _081852E8 - ldr r4, =0x00000f7c - adds r0, r5, 0 - adds r1, r4, 0 - bl CalcByteArraySum - adds r4, r5, r4 - ldr r1, [r4] - cmp r0, r1 - bne _081852E8 - movs r0, 0x1 - b _081852EA - .pool -_081852E8: - movs r0, 0 -_081852EA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81852B0 - - thumb_func_start sub_81852F0 -sub_81852F0: @ 81852F0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - movs r2, 0x80 - lsls r2, 5 - adds r0, r5, 0 - movs r1, 0 - bl memset - movs r2, 0xF8 - lsls r2, 4 - adds r0, r5, 0 - adds r1, r4, 0 - bl memcpy - ldr r4, =0x00000f7c - adds r0, r5, 0 - adds r1, r4, 0 - bl CalcByteArraySum - adds r4, r5, r4 - str r0, [r4] - movs r0, 0x1F - adds r1, r5, 0 - bl sub_8153634 - cmp r0, 0x1 - bne _08185330 - movs r0, 0x1 - b _08185332 - .pool -_08185330: - movs r0, 0 -_08185332: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81852F0 - - thumb_func_start MoveRecordedBattleToSaveData -MoveRecordedBattleToSaveData: @ 8185338 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - movs r0, 0 - str r0, [sp, 0x4] - movs r0, 0xF8 - lsls r0, 4 - bl AllocZeroed - adds r7, r0, 0 - movs r0, 0x80 - lsls r0, 5 - bl AllocZeroed - str r0, [sp] - movs r6, 0 -_0818535E: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - adds r5, r7, r4 - ldr r1, =gUnknown_0203C7C0 - adds r1, r4, r1 - adds r0, r5, 0 - movs r2, 0x64 - bl memcpy - movs r1, 0x96 - lsls r1, 2 - adds r5, r1 - ldr r0, =gUnknown_0203CA18 - adds r4, r0 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x64 - bl memcpy - adds r6, 0x1 - cmp r6, 0x5 - ble _0818535E - movs r6, 0 - ldr r2, =gSaveBlock2Ptr - mov r9, r2 - movs r3, 0x9A - lsls r3, 3 - adds r3, r7, r3 - str r3, [sp, 0x8] - ldr r5, =gUnknown_0203CC80 - mov r8, r6 - mov r12, r6 - movs r4, 0x96 - lsls r4, 3 - adds r4, r7 - mov r10, r4 - ldr r0, =0x000004e4 - adds r4, r7, r0 -_081853AC: - lsls r1, r6, 3 - ldr r0, =gUnknown_0203CC80 - adds r0, 0x4 - mov r3, r8 - adds r2, r3, r0 - add r1, r10 - movs r3, 0x7 -_081853BA: - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r1, 0x1 - subs r3, 0x1 - cmp r3, 0 - bge _081853BA - ldr r0, [sp, 0x8] - adds r1, r0, r6 - ldrb r0, [r5, 0xC] - strb r0, [r1] - ldrh r0, [r5, 0x10] - strb r0, [r4] - ldrh r0, [r5, 0xE] - strb r0, [r4, 0xC] - ldr r1, =0x000004d4 - adds r0, r7, r1 - add r0, r12 - ldr r1, [r5] - str r1, [r0] - adds r5, 0x14 - movs r2, 0x14 - add r8, r2 - movs r3, 0x4 - add r12, r3 - adds r4, 0x1 - adds r6, 0x1 - cmp r6, 0x3 - ble _081853AC - movs r4, 0x9D - lsls r4, 3 - adds r1, r7, r4 - ldr r5, =gRecordedBattleRngSeed - ldr r0, [r5] - str r0, [r1] - ldr r0, =gUnknown_0203C7B8 - ldr r2, [r0] - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _081854DC - ldr r1, =0x000004ec - adds r3, r7, r1 - movs r1, 0x23 - negs r1, r1 - ands r1, r2 - movs r0, 0x80 - lsls r0, 18 - orrs r1, r0 - str r1, [r3] - movs r0, 0x4 - ands r0, r2 - cmp r0, 0 - beq _08185454 - movs r0, 0x80 - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081854E2 - .pool -_08185454: - movs r0, 0x40 - ands r2, r0 - cmp r2, 0 - beq _081854E2 - ldr r2, =gUnknown_0203CC80 - ldrh r0, [r2, 0xE] - cmp r0, 0x1 - beq _081854A8 - cmp r0, 0x1 - bgt _08185474 - cmp r0, 0 - beq _0818547E - b _081854E2 - .pool -_08185474: - cmp r0, 0x2 - beq _0818547E - cmp r0, 0x3 - beq _081854A8 - b _081854E2 -_0818547E: - ldr r3, =gUnknown_0203C7B4 - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r4, =gUnknown_0203CC80 - adds r0, r4 - ldrh r1, [r0, 0xE] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081854E2 - ldr r5, =0x000004ec - adds r0, r7, r5 - b _081854C4 - .pool -_081854A8: - ldr r0, =gUnknown_0203C7B4 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - ldr r1, =gUnknown_0203CC80 - adds r0, r1 - ldrh r1, [r0, 0xE] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081854E2 - ldr r2, =0x000004ec - adds r0, r7, r2 -_081854C4: - ldr r1, [r0] - movs r2, 0x80 - lsls r2, 24 - orrs r1, r2 - str r1, [r0] - b _081854E2 - .pool -_081854DC: - ldr r3, =0x000004ec - adds r0, r7, r3 - str r2, [r0] -_081854E2: - ldr r4, =gTrainerBattleOpponent_A - ldrh r1, [r4] - ldr r5, =0x000004f4 - adds r0, r7, r5 - strh r1, [r0] - ldr r0, =gTrainerBattleOpponent_B - ldrh r1, [r0] - ldr r2, =0x000004f6 - adds r0, r7, r2 - strh r1, [r0] - ldr r3, =gPartnerTrainerId - ldrh r1, [r3] - movs r4, 0x9F - lsls r4, 3 - adds r0, r7, r4 - strh r1, [r0] - ldr r5, =gUnknown_0203C7B4 - ldrb r1, [r5] - adds r2, 0x4 - adds r0, r7, r2 - strh r1, [r0] - mov r3, r9 - ldr r0, [r3] - ldr r4, =0x00000ca9 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 30 - lsrs r0, 30 - ldr r5, =0x000004fc - adds r1, r7, r5 - strb r0, [r1] - ldr r0, =gUnknown_0203C7AE - ldrb r1, [r0] - adds r2, 0x3 - adds r0, r7, r2 - strb r1, [r0] - ldr r3, =gUnknown_0203C7AF - ldrb r1, [r3] - ldr r4, =0x000004fe - adds r0, r7, r4 - strb r1, [r0] - mov r5, r9 - ldr r0, [r5] - ldrb r1, [r0, 0x15] - lsls r1, 29 - ldr r0, =0x000004ff - adds r3, r7, r0 - lsrs r1, 31 - ldrb r2, [r3] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldr r1, [r5] - ldrb r1, [r1, 0x14] - lsls r1, 29 - lsrs r1, 28 - movs r2, 0xF - negs r2, r2 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r2, 0xA0 - lsls r2, 3 - adds r1, r7, r2 - ldr r3, =gUnknown_0203C7BC - ldr r0, [r3] - str r0, [r1] - ldr r4, =0xfffffed4 - adds r1, r4, 0 - ldr r5, =gTrainerBattleOpponent_A - ldrh r5, [r5] - adds r0, r1, r5 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x63 - bls _08185580 - b _081856C4 -_08185580: - movs r6, 0 - ldr r0, =0x00000504 - adds r3, r7, r0 - mov r10, r9 - ldr r1, =gTrainerBattleOpponent_A - mov r12, r1 - adds r2, r4, 0 - mov r8, r2 - ldr r4, =0x0000073c -_08185592: - adds r2, r3, r6 - mov r5, r10 - ldr r1, [r5] - mov r5, r12 - ldrh r0, [r5] - add r0, r8 - movs r5, 0xEC - muls r0, r5 - adds r0, r6, r0 - adds r1, r4 - adds r1, r0 - ldrb r0, [r1] - strb r0, [r2] - adds r6, 0x1 - cmp r6, 0x7 - ble _08185592 - mov r0, r9 - ldr r2, [r0] - ldr r1, =gTrainerBattleOpponent_A - ldrh r0, [r1] - ldr r3, =0xfffffed4 - adds r0, r3 - movs r1, 0xEC - muls r0, r1 - adds r2, r0 - ldr r4, =0x00000739 - adds r2, r4 - ldrb r1, [r2] - ldr r5, =0x0000050c - adds r0, r7, r5 - strb r1, [r0] - ldr r1, =gUnknown_0203CCE8 - ldrb r0, [r1] - cmp r0, 0x1 - bne _08185664 - movs r6, 0 - ldr r2, =0x0000050e - adds r4, r7, r2 - mov r10, r9 - ldr r5, =gTrainerBattleOpponent_A - mov r8, r5 - adds r5, r3, 0 -_081855E6: - lsls r3, r6, 1 - mov r0, r10 - ldr r2, [r0] - mov r1, r8 - ldrh r0, [r1] - adds r0, r5 - movs r1, 0xEC - muls r0, r1 - adds r3, r0 - movs r0, 0xEC - lsls r0, 3 - adds r2, r0 - adds r2, r3 - ldrh r0, [r2] - strh r0, [r4] - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x5 - ble _081855E6 - b _08185696 - .pool -_08185664: - movs r6, 0 - ldr r1, =0x0000050e - adds r4, r7, r1 - mov r10, r9 - ldr r2, =gTrainerBattleOpponent_A - mov r8, r2 - adds r5, r3, 0 -_08185672: - lsls r3, r6, 1 - mov r0, r10 - ldr r2, [r0] - mov r1, r8 - ldrh r0, [r1] - adds r0, r5 - movs r1, 0xEC - muls r0, r1 - adds r3, r0 - ldr r0, =0x00000754 - adds r2, r0 - adds r2, r3 - ldrh r0, [r2] - strh r0, [r4] - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x5 - ble _08185672 -_08185696: - mov r1, r9 - ldr r2, [r1] - ldr r3, =gTrainerBattleOpponent_A - ldrh r0, [r3] - ldr r4, =0xfffffed4 - adds r0, r4 - movs r1, 0xEC - muls r0, r1 - adds r2, r0 - ldr r5, =0x0000081c - adds r2, r5 - ldrb r1, [r2] - b _08185856 - .pool -_081856C4: - ldr r3, =gTrainerBattleOpponent_B - ldrh r3, [r3] - adds r0, r1, r3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x63 - bls _081856D4 - b _081857E4 -_081856D4: - movs r6, 0 - ldr r4, =0x00000504 - adds r3, r7, r4 - mov r10, r9 - ldr r5, =gTrainerBattleOpponent_B - mov r12, r5 - ldr r0, =0xfffffed4 - mov r8, r0 - ldr r4, =0x0000073c -_081856E6: - adds r2, r3, r6 - mov r5, r10 - ldr r1, [r5] - mov r5, r12 - ldrh r0, [r5] - add r0, r8 - movs r5, 0xEC - muls r0, r5 - adds r0, r6, r0 - adds r1, r4 - adds r1, r0 - ldrb r0, [r1] - strb r0, [r2] - adds r6, 0x1 - cmp r6, 0x7 - ble _081856E6 - mov r0, r9 - ldr r2, [r0] - ldr r1, =gTrainerBattleOpponent_B - ldrh r0, [r1] - ldr r3, =0xfffffed4 - adds r0, r3 - movs r1, 0xEC - muls r0, r1 - adds r2, r0 - ldr r4, =0x00000739 - adds r2, r4 - ldrb r1, [r2] - ldr r5, =0x0000050c - adds r0, r7, r5 - strb r1, [r0] - ldr r1, =gUnknown_0203CCE8 - ldrb r0, [r1] - cmp r0, 0x1 - bne _08185784 - movs r6, 0 - ldr r2, =0x0000050e - adds r4, r7, r2 - mov r10, r9 - ldr r5, =gTrainerBattleOpponent_B - mov r8, r5 - adds r5, r3, 0 -_0818573A: - lsls r3, r6, 1 - mov r0, r10 - ldr r2, [r0] - mov r1, r8 - ldrh r0, [r1] - adds r0, r5 - movs r1, 0xEC - muls r0, r1 - adds r3, r0 - movs r0, 0xEC - lsls r0, 3 - adds r2, r0 - adds r2, r3 - ldrh r0, [r2] - strh r0, [r4] - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x5 - ble _0818573A - b _081857B6 - .pool -_08185784: - movs r6, 0 - ldr r1, =0x0000050e - adds r4, r7, r1 - mov r10, r9 - ldr r2, =gTrainerBattleOpponent_B - mov r8, r2 - adds r5, r3, 0 -_08185792: - lsls r3, r6, 1 - mov r0, r10 - ldr r2, [r0] - mov r1, r8 - ldrh r0, [r1] - adds r0, r5 - movs r1, 0xEC - muls r0, r1 - adds r3, r0 - ldr r0, =0x00000754 - adds r2, r0 - adds r2, r3 - ldrh r0, [r2] - strh r0, [r4] - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x5 - ble _08185792 -_081857B6: - mov r1, r9 - ldr r2, [r1] - ldr r3, =gTrainerBattleOpponent_B - ldrh r0, [r3] - ldr r4, =0xfffffed4 - adds r0, r4 - movs r1, 0xEC - muls r0, r1 - adds r2, r0 - ldr r5, =0x0000081c - adds r2, r5 - ldrb r1, [r2] - b _08185856 - .pool -_081857E4: - ldr r3, =gPartnerTrainerId - ldrh r3, [r3] - adds r0, r1, r3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x63 - bhi _0818585C - movs r6, 0 - ldr r4, =0x00000504 - adds r3, r7, r4 - mov r10, r9 - ldr r5, =gPartnerTrainerId - mov r12, r5 - ldr r0, =0xfffffed4 - mov r8, r0 - ldr r4, =0x0000073c -_08185804: - adds r2, r3, r6 - mov r5, r10 - ldr r1, [r5] - mov r5, r12 - ldrh r0, [r5] - add r0, r8 - movs r5, 0xEC - muls r0, r5 - adds r0, r6, r0 - adds r1, r4 - adds r1, r0 - ldrb r0, [r1] - strb r0, [r2] - adds r6, 0x1 - cmp r6, 0x7 - ble _08185804 - mov r0, r9 - ldr r1, [r0] - ldr r2, =gPartnerTrainerId - ldrh r0, [r2] - ldr r3, =0xfffffed4 - adds r0, r3 - movs r2, 0xEC - muls r0, r2 - adds r1, r0 - ldr r4, =0x00000739 - adds r1, r4 - ldrb r1, [r1] - ldr r5, =0x0000050c - adds r0, r7, r5 - strb r1, [r0] - mov r0, r9 - ldr r1, [r0] - ldr r4, =gPartnerTrainerId - ldrh r0, [r4] - adds r0, r3 - muls r0, r2 - adds r1, r0 - ldr r5, =0x0000081c - adds r1, r5 - ldrb r1, [r1] -_08185856: - ldr r2, =0x0000051a - adds r0, r7, r2 - strb r1, [r0] -_0818585C: - ldr r3, =gTrainerBattleOpponent_A - ldrh r0, [r3] - ldr r1, =0x0000018f - cmp r0, r1 - bls _08185900 - mov r4, r9 - ldr r2, [r4] - adds r1, r0, 0 - ldr r3, =0xfffffe70 - adds r1, r3 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, r0 - adds r2, 0xDC - ldrb r0, [r2] - lsls r0, 27 - lsrs r0, 27 - ldr r5, =0x0000050d - adds r1, r7, r5 - strb r0, [r1] - movs r6, 0 - ldr r0, =0x0000050e - adds r4, r7, r0 - mov r10, r9 - ldr r1, =gTrainerBattleOpponent_A - mov r8, r1 - adds r5, r3, 0 -_08185894: - lsls r3, r6, 1 - mov r0, r10 - ldr r2, [r0] - mov r0, r8 - ldrh r1, [r0] - adds r1, r5 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0 - movs r1, 0x82 - lsls r1, 1 - adds r2, r1 - adds r2, r3 - ldrh r0, [r2] - strh r0, [r4] - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x5 - ble _08185894 - mov r3, r9 - ldr r2, [r3] - ldr r4, =gTrainerBattleOpponent_A - ldrh r1, [r4] - ldr r5, =0xfffffe70 - adds r1, r5 - b _081859AC - .pool -_08185900: - ldr r3, =gTrainerBattleOpponent_B - ldrh r0, [r3] - cmp r0, r1 - bls _0818597C - mov r4, r9 - ldr r2, [r4] - adds r1, r0, 0 - ldr r3, =0xfffffe70 - adds r1, r3 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, r0 - adds r2, 0xDC - ldrb r0, [r2] - lsls r0, 27 - lsrs r0, 27 - ldr r5, =0x0000050d - adds r1, r7, r5 - strb r0, [r1] - movs r6, 0 - ldr r0, =0x0000050e - adds r4, r7, r0 - mov r10, r9 - ldr r1, =gTrainerBattleOpponent_B - mov r8, r1 - adds r5, r3, 0 -_08185936: - lsls r3, r6, 1 - mov r0, r10 - ldr r2, [r0] - mov r0, r8 - ldrh r1, [r0] - adds r1, r5 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0 - movs r1, 0x82 - lsls r1, 1 - adds r2, r1 - adds r2, r3 - ldrh r0, [r2] - strh r0, [r4] - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x5 - ble _08185936 - mov r3, r9 - ldr r2, [r3] - ldr r4, =gTrainerBattleOpponent_B - ldrh r1, [r4] - ldr r5, =0xfffffe70 - adds r1, r5 - b _081859AC - .pool -_0818597C: - ldr r3, =gPartnerTrainerId - ldrh r0, [r3] - cmp r0, r1 - bls _081859C0 - mov r4, r9 - ldr r2, [r4] - adds r1, r0, 0 - ldr r3, =0xfffffe70 - adds r1, r3 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, r0 - adds r2, 0xDC - ldrb r0, [r2] - lsls r0, 27 - lsrs r0, 27 - ldr r5, =0x0000050d - adds r1, r7, r5 - strb r0, [r1] - ldr r2, [r4] - ldr r0, =gPartnerTrainerId - ldrh r1, [r0] - adds r1, r3 -_081859AC: - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, r0 - ldr r1, =0x0000011b - adds r0, r2, r1 - ldrb r1, [r0] - ldr r2, =0x0000051b - adds r0, r7, r2 - strb r1, [r0] -_081859C0: - movs r6, 0 - ldr r3, =0x00000297 - mov r10, r3 - ldr r4, =gUnknown_0203BD34 - mov r9, r4 - movs r5, 0xA6 - lsls r5, 2 - mov r8, r5 - ldr r0, =0x0000051c - adds r5, r7, r0 -_081859D4: - adds r4, r6, 0x1 - mov r0, r8 - muls r0, r6 - mov r1, r9 - adds r2, r0, r1 - adds r1, r0, r5 - mov r3, r10 - adds r3, 0x1 -_081859E4: - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r1, 0x1 - subs r3, 0x1 - cmp r3, 0 - bne _081859E4 - adds r6, r4, 0 - cmp r6, 0x3 - ble _081859D4 -_081859F8: - adds r0, r7, 0 - ldr r1, [sp] - bl sub_81852F0 - adds r4, r0, 0 - cmp r4, 0x1 - beq _08185A14 - ldr r0, [sp, 0x4] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - cmp r0, 0x2 - bls _081859F8 -_08185A14: - adds r0, r7, 0 - bl Free - ldr r0, [sp] - bl Free - adds r0, r4, 0 - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end MoveRecordedBattleToSaveData - - thumb_func_start sub_8185A54 -sub_8185A54: @ 8185A54 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r0, 0x1F - bl sub_81535DC - cmp r0, 0x1 - bne _08185A7E - movs r2, 0xF8 - lsls r2, 4 - adds r0, r5, 0 - adds r1, r4, 0 - bl memcpy - adds r0, r5, 0 - bl sub_81852B0 - cmp r0, 0 - beq _08185A7E - movs r0, 0x1 - b _08185A80 -_08185A7E: - movs r0, 0 -_08185A80: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8185A54 - - thumb_func_start start_ov_to_battle_anim -start_ov_to_battle_anim: @ 8185A88 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x80 - lsls r0, 5 - bl AllocZeroed - adds r5, r0, 0 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8185A54 - adds r4, r0, 0 - adds r0, r5, 0 - bl Free - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end start_ov_to_battle_anim - - thumb_func_start sub_8185AB0 -sub_8185AB0: @ 8185AB0 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldr r0, =gUnknown_0203C7AD - ldrb r0, [r0] - ldr r1, =0x00000ca9 - adds r2, r1 - movs r1, 0x3 - ands r1, r0 - ldrb r3, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - ldr r1, =gBattleOutcome - movs r0, 0 - strb r0, [r1] - ldr r0, =gBattleTypeFlags - movs r1, 0 - str r1, [r0] - ldr r0, =gTrainerBattleOpponent_A - strh r1, [r0] - ldr r0, =gTrainerBattleOpponent_B - strh r1, [r0] - ldr r0, =gPartnerTrainerId - strh r1, [r0] - bl sub_8185EFC - ldr r0, =gUnknown_0203C7B0 - ldr r0, [r0] - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8185AB0 - - thumb_func_start sub_8185B1C -sub_8185B1C: @ 8185B1C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - subs r1, 0x1 - strh r1, [r0, 0x8] - lsls r1, 16 - cmp r1, 0 - bne _08185B4A - ldr r0, =gMain - ldr r1, =sub_8185AB0 - str r1, [r0, 0x8] - ldr r0, =CB2_InitBattle - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_08185B4A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8185B1C - - thumb_func_start sub_8185B60 -sub_8185B60: @ 8185B60 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r7, r0, 0 - bl ZeroPlayerPartyMons - bl ZeroEnemyPartyMons - movs r6, 0 - ldr r0, =gPlayerParty - mov r8, r0 -_08185B7C: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - mov r1, r8 - adds r0, r4, r1 - adds r5, r7, r4 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - ldr r0, =gEnemyParty - adds r4, r0 - movs r2, 0x96 - lsls r2, 2 - adds r5, r2 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - adds r6, 0x1 - cmp r6, 0x5 - ble _08185B7C - movs r6, 0 - ldr r3, =gLinkPlayers - mov r8, r3 - mov r0, r8 - adds r0, 0x8 - str r0, [sp] - mov r4, r8 - adds r4, 0x4 - mov r10, r6 - mov r9, r6 -_08185BBE: - movs r1, 0 - mov r12, r1 - lsls r5, r6, 2 - movs r2, 0x96 - lsls r2, 3 - adds r0, r7, r2 - mov r3, r9 - adds r2, r3, r0 - mov r0, r10 - lsls r1, r0, 2 - mov r0, r8 - adds r0, 0x8 - adds r1, r0 - movs r3, 0x7 -_08185BDA: - ldrb r0, [r2] - strb r0, [r1] - ldrb r0, [r2] - cmp r0, 0xFF - bne _08185BE8 - movs r0, 0x1 - mov r12, r0 -_08185BE8: - adds r2, 0x1 - adds r1, 0x1 - subs r3, 0x1 - cmp r3, 0 - bge _08185BDA - movs r1, 0x9A - lsls r1, 3 - adds r0, r7, r1 - adds r0, r6 - ldrb r0, [r0] - strb r0, [r4, 0xF] - ldr r2, =0x000004e4 - adds r0, r7, r2 - adds r0, r6 - ldrb r1, [r0] - strh r1, [r4, 0x16] - movs r3, 0x9E - lsls r3, 3 - adds r0, r7, r3 - adds r0, r6 - ldrb r0, [r0] - strh r0, [r4, 0x14] - subs r2, 0x10 - adds r0, r7, r2 - adds r0, r5 - ldr r0, [r0] - str r0, [r4] - mov r3, r12 - cmp r3, 0 - beq _08185C2A - ldr r0, [sp] - bl ConvertInternationalString -_08185C2A: - ldr r0, [sp] - adds r0, 0x1C - str r0, [sp] - adds r4, 0x1C - movs r1, 0x7 - add r10, r1 - movs r2, 0x8 - add r9, r2 - adds r6, 0x1 - cmp r6, 0x3 - ble _08185BBE - ldr r1, =gRecordedBattleRngSeed - movs r3, 0x9D - lsls r3, 3 - adds r0, r7, r3 - ldr r0, [r0] - str r0, [r1] - ldr r2, =gBattleTypeFlags - ldr r1, =0x000004ec - adds r0, r7, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - orrs r0, r1 - str r0, [r2] - ldr r1, =gTrainerBattleOpponent_A - ldr r2, =0x000004f4 - adds r0, r7, r2 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, =gTrainerBattleOpponent_B - adds r3, 0xE - adds r0, r7, r3 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, =gPartnerTrainerId - adds r2, 0x4 - adds r0, r7, r2 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, =gUnknown_0203C7B4 - adds r3, 0x4 - adds r0, r7, r3 - ldrh r0, [r0] - strb r0, [r1] - ldr r1, =gUnknown_0203C7AD - ldr r3, =gSaveBlock2Ptr - ldr r0, [r3] - ldr r2, =0x00000ca9 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r1] - ldr r1, =gUnknown_0203C7AE - ldr r2, =0x000004fd - adds r0, r7, r2 - ldrb r0, [r0] - strb r0, [r1] - ldr r1, =gUnknown_0203C7AF - adds r2, 0x1 - adds r0, r7, r2 - ldrb r0, [r0] - strb r0, [r1] - ldr r2, =gUnknown_0203C7B6 - ldr r1, =0x000004ff - adds r0, r7, r1 - ldrb r1, [r0] - lsls r0, r1, 31 - lsrs r0, 31 - strb r0, [r2] - ldr r0, =gUnknown_0203C7B7 - lsls r1, 28 - lsrs r1, 29 - strb r1, [r0] - ldr r1, =gUnknown_0203C7BC - movs r2, 0xA0 - lsls r2, 3 - adds r0, r7, r2 - ldr r0, [r0] - str r0, [r1] - movs r6, 0 - mov r10, r3 - ldr r2, =gUnknown_0203CCD9 - ldr r3, =gUnknown_0203CCDA - ldr r0, =gUnknown_03001278 - mov r8, r0 - ldr r1, =gUnknown_03001279 - mov r9, r1 - ldr r5, =gUnknown_0203CCD1 - ldr r0, =0x00000504 - adds r4, r7, r0 -_08185CE2: - adds r0, r6, r5 - adds r1, r4, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0x7 - ble _08185CE2 - ldr r1, =0x0000050c - adds r0, r7, r1 - ldrb r0, [r0] - strb r0, [r2] - ldr r2, =0x0000050d - adds r0, r7, r2 - ldrb r0, [r0] - strb r0, [r3] - ldr r3, =0x0000051a - adds r0, r7, r3 - ldrb r0, [r0] - mov r1, r8 - strb r0, [r1] - adds r2, 0xE - adds r0, r7, r2 - ldrb r0, [r0] - mov r3, r9 - strb r0, [r3] - ldr r0, =0x0000050e - adds r1, r7, r0 - ldr r4, =gUnknown_0203CCDC - movs r6, 0x5 -_08185D1C: - ldrh r0, [r1] - strh r0, [r4] - adds r1, 0x2 - adds r4, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _08185D1C - mov r1, r10 - ldr r2, [r1] - ldr r3, =0x000004fc - adds r0, r7, r3 - ldrb r0, [r0] - ldr r1, =0x00000ca9 - adds r2, r1 - movs r1, 0x3 - ands r1, r0 - ldrb r3, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - movs r6, 0 - ldr r2, =0x00000297 - mov r10, r2 - ldr r3, =gUnknown_0203BD34 - mov r9, r3 - movs r0, 0xA6 - lsls r0, 2 - mov r8, r0 - ldr r1, =0x0000051c - adds r5, r7, r1 -_08185D5C: - adds r2, r6, 0x1 - mov r0, r8 - muls r0, r6 - adds r1, r0, r5 - mov r3, r9 - adds r4, r0, r3 - mov r3, r10 - adds r3, 0x1 -_08185D6C: - ldrb r0, [r1] - strb r0, [r4] - adds r1, 0x1 - adds r4, 0x1 - subs r3, 0x1 - cmp r3, 0 - bne _08185D6C - adds r6, r2, 0 - cmp r6, 0x3 - ble _08185D5C - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8185B60 - - thumb_func_start sub_8185E24 -sub_8185E24: @ 8185E24 - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0xF8 - lsls r0, 4 - bl AllocZeroed - adds r4, r0, 0 - bl start_ov_to_battle_anim - cmp r0, 0x1 - bne _08185E6E - bl sub_8185EB8 - adds r0, r4, 0 - bl sub_8185B60 - ldr r0, =sub_8185B1C - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x80 - strh r0, [r1, 0x8] - ldr r0, =gUnknown_0203C7B0 - str r5, [r0] - movs r0, 0 - bl PlayMapChosenOrBattleBGM - ldr r0, =sub_8185E8C - bl SetMainCallback2 -_08185E6E: - adds r0, r4, 0 - bl Free - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8185E24 - - thumb_func_start sub_8185E8C -sub_8185E8C: @ 8185E8C - push {lr} - bl AnimateSprites - bl BuildOamBuffer - bl RunTasks - pop {r0} - bx r0 - thumb_func_end sub_8185E8C - - thumb_func_start sub_8185EA0 -sub_8185EA0: @ 8185EA0 - ldr r0, =gUnknown_0203C7AE - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8185EA0 - - thumb_func_start sub_8185EAC -sub_8185EAC: @ 8185EAC - ldr r0, =gUnknown_0203C7AF - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8185EAC - - thumb_func_start sub_8185EB8 -sub_8185EB8: @ 8185EB8 - push {r4-r6,lr} - movs r5, 0 - ldr r6, =gUnknown_0203C7C0 -_08185EBE: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - adds r0, r4, r6 - ldr r1, =gPlayerParty - adds r1, r4, r1 - movs r2, 0x64 - bl memcpy - ldr r0, =gUnknown_0203CA18 - adds r0, r4, r0 - ldr r1, =gEnemyParty - adds r4, r1 - adds r1, r4, 0 - movs r2, 0x64 - bl memcpy - adds r5, 0x1 - cmp r5, 0x5 - ble _08185EBE - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8185EB8 - - thumb_func_start sub_8185EFC -sub_8185EFC: @ 8185EFC - push {r4-r6,lr} - movs r5, 0 - ldr r6, =gPlayerParty -_08185F02: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - adds r0, r4, r6 - ldr r1, =gUnknown_0203C7C0 - adds r1, r4, r1 - movs r2, 0x64 - bl memcpy - ldr r0, =gEnemyParty - adds r0, r4, r0 - ldr r1, =gUnknown_0203CA18 - adds r4, r1 - adds r1, r4, 0 - movs r2, 0x64 - bl memcpy - adds r5, 0x1 - cmp r5, 0x5 - ble _08185F02 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8185EFC - - thumb_func_start sub_8185F40 -sub_8185F40: @ 8185F40 - push {r4,r5,lr} - movs r2, 0 - ldr r0, =gLinkPlayers - ldr r3, =gActiveBank - ldrh r1, [r0, 0x18] - adds r4, r0, 0 - ldrb r0, [r3] - cmp r1, r0 - beq _08185F64 - adds r1, r4, 0 -_08185F54: - adds r1, 0x1C - adds r2, 0x1 - cmp r2, 0x3 - bgt _08185F64 - ldrh r0, [r1, 0x18] - ldrb r5, [r3] - cmp r0, r5 - bne _08185F54 -_08185F64: - cmp r2, 0x4 - bne _08185F74 - movs r0, 0 - b _08185F7E - .pool -_08185F74: - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x13] -_08185F7E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8185F40 - - thumb_func_start sub_8185F84 -sub_8185F84: @ 8185F84 - ldr r1, =gUnknown_0203C7B5 - movs r0, 0 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_8185F84 - - thumb_func_start sub_8185F90 -sub_8185F90: @ 8185F90 - lsls r0, 16 - lsrs r0, 16 - ldr r2, =gUnknown_0203C7B5 - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - lsls r0, 16 - lsrs r0, 31 - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - bx lr - .pool - thumb_func_end sub_8185F90 - - thumb_func_start sub_8185FAC -sub_8185FAC: @ 8185FAC - ldr r0, =gUnknown_0203C7B5 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8185FAC - - thumb_func_start sub_8185FB8 -sub_8185FB8: @ 8185FB8 - ldr r0, =gUnknown_0203C7B6 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8185FB8 - - thumb_func_start sub_8185FC4 -sub_8185FC4: @ 8185FC4 - ldr r0, =gUnknown_0203C7B7 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8185FC4 - - thumb_func_start sub_8185FD0 -sub_8185FD0: @ 8185FD0 - push {r4-r7,lr} - ldr r4, =gActiveBank - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0818601C - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - ldr r1, =0x02000002 - ands r0, r1 - cmp r0, 0 - bne _0818601C - ldr r0, =gUnknown_0203C7AC - ldrb r0, [r0] - cmp r0, 0x2 - beq _0818601C - movs r3, 0 - ldr r7, =gUnknown_0203CC70 - adds r6, r4, 0 - ldr r5, =gBattleMons + 0xC - movs r4, 0x58 -_08186000: - lsls r2, r3, 1 - ldrb r1, [r6] - lsrs r0, r1, 1 - lsls r0, 3 - adds r0, r2, r0 - adds r0, r7 - muls r1, r4 - adds r2, r1 - adds r2, r5 - ldrh r1, [r2] - strh r1, [r0] - adds r3, 0x1 - cmp r3, 0x3 - ble _08186000 -_0818601C: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8185FD0 - - thumb_func_start sub_818603C -sub_818603C: @ 818603C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x50 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x24] - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - ldr r1, =0x02000002 - ands r0, r1 - cmp r0, 0 - beq _0818605C - b _081863FC -_0818605C: - movs r0, 0 - mov r10, r0 - b _081863F2 - .pool -_0818606C: - mov r1, r10 - lsls r4, r1, 24 - lsrs r5, r4, 24 - adds r0, r5, 0 - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - str r4, [sp, 0x4C] - mov r2, r10 - adds r2, 0x1 - str r2, [sp, 0x38] - cmp r0, 0x1 - bne _0818608A - b _081863EE -_0818608A: - ldr r3, [sp, 0x24] - cmp r3, 0x1 - bne _0818611E - movs r5, 0 - ldr r4, =gUnknown_0203CC70 - mov r0, r10 - asrs r6, r0, 31 - subs r0, r6 - asrs r0, 1 - lsls r0, 3 - adds r2, r0, r4 - movs r1, 0x58 - mov r0, r10 - muls r0, r1 - ldr r3, =gBattleMons + 0xC - adds r1, r0, r3 -_081860AA: - ldrh r0, [r1] - ldrh r4, [r2] - cmp r0, r4 - bne _081860BC - adds r2, 0x2 - adds r1, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _081860AA -_081860BC: - cmp r5, 0x4 - bne _081860C2 - b _081863EE -_081860C2: - ldr r1, [sp, 0x4C] - lsrs r0, r1, 24 - movs r1, 0x6 - bl RecordedBattle_SetBankAction - movs r5, 0 - ldr r2, =gUnknown_0203CC70 - mov r8, r2 - movs r3, 0x58 - mov r7, r10 - muls r7, r3 - mov r4, r10 - subs r0, r4, r6 - asrs r4, r0, 1 -_081860DE: - movs r2, 0 - lsls r0, r5, 1 - adds r5, 0x1 - adds r0, r7 - ldr r1, =gBattleMons + 0xC - adds r3, r0, r1 - lsls r0, r4, 3 - mov r6, r8 - adds r1, r0, r6 -_081860F0: - ldrh r0, [r3] - ldrh r6, [r1] - cmp r0, r6 - bne _08186110 - lsls r1, r2, 24 - lsrs r1, 24 - ldr r2, [sp, 0x4C] - lsrs r0, r2, 24 - bl RecordedBattle_SetBankAction - b _08186118 - .pool -_08186110: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, 0x3 - ble _081860F0 -_08186118: - cmp r5, 0x3 - ble _081860DE - b _081863EE -_0818611E: - ldr r3, =gUnknown_0203BD34 - ldr r1, =gUnknown_0203C794 - mov r4, r10 - lsls r2, r4, 1 - adds r1, r2, r1 - movs r0, 0xA6 - lsls r0, 2 - mov r6, r10 - muls r6, r0 - adds r0, r6, 0 - ldrh r1, [r1] - adds r0, r1 - adds r0, r3 - ldrb r0, [r0] - str r2, [sp, 0x44] - cmp r0, 0x6 - beq _08186142 - b _081863EE -_08186142: - adds r0, r5, 0 - bl RecordedBattle_ReadBankAction - movs r5, 0 - mov r0, sp - adds r0, 0x4 - str r0, [sp, 0x28] - mov r1, sp - adds r1, 0xC - str r1, [sp, 0x30] - mov r2, sp - adds r2, 0x14 - str r2, [sp, 0x34] - mov r3, sp - adds r3, 0x18 - str r3, [sp, 0x3C] - mov r4, sp - adds r4, 0x8 - str r4, [sp, 0x2C] - mov r6, r10 - lsls r6, 3 - str r6, [sp, 0x48] - movs r1, 0x58 - mov r0, r10 - muls r0, r1 - ldr r2, =gBattleMons - adds r0, r2 - adds r6, r0, 0 - adds r6, 0x3B - movs r4, 0x3 -_0818617E: - mov r0, sp - adds r3, r0, r5 - ldrb r1, [r6] - lsls r2, r5, 1 - adds r0, r4, 0 - lsls r0, r2 - ands r1, r0 - asrs r1, r2 - strb r1, [r3] - adds r5, 0x1 - cmp r5, 0x3 - ble _0818617E - movs r5, 0 - ldr r1, =gBattleMons - mov r9, r1 - movs r2, 0x58 - mov r7, r10 - muls r7, r2 - ldr r4, [sp, 0x28] - ldr r6, [sp, 0x30] -_081861A6: - ldr r3, [sp, 0x4C] - lsrs r0, r3, 24 - bl RecordedBattle_ReadBankAction - strb r0, [r4] - ldrb r0, [r4] - lsls r0, 1 - adds r0, r7 - movs r1, 0xC - add r1, r9 - mov r8, r1 - add r0, r8 - ldrh r0, [r0] - strh r0, [r6] - ldr r2, [sp, 0x34] - adds r1, r2, r5 - ldrb r0, [r4] - adds r0, r7 - ldr r3, =gBattleMons + 0x24 - adds r0, r3 - ldrb r0, [r0] - strb r0, [r1] - ldr r0, [sp, 0x3C] - adds r1, r0, r5 - ldrb r0, [r4] - add r0, sp - ldrb r0, [r0] - strb r0, [r1] - ldr r1, [sp, 0x2C] - adds r3, r1, r5 - ldr r2, [sp, 0x48] - mov r1, r10 - subs r0, r2, r1 - lsls r0, 2 - ldr r2, =gDisableStructs - adds r0, r2 - ldrb r1, [r0, 0x18] - lsrs r1, 4 - ldr r2, =gBitTable - lsls r0, r5, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - lsrs r1, r5 - strb r1, [r3] - adds r4, 0x1 - adds r6, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _081861A6 - movs r5, 0 - movs r3, 0xC - negs r3, r3 - add r3, r8 - mov r12, r3 - ldr r4, =gDisableStructs - mov r9, r4 - movs r6, 0x58 - mov r1, r10 - muls r1, r6 - mov r0, r8 - adds r0, 0x18 - adds r4, r1, r0 - adds r3, r1, 0 - mov r7, r8 - ldr r6, [sp, 0x34] - ldr r2, [sp, 0x30] -_0818622C: - adds r1, r3, r7 - ldrh r0, [r2] - strh r0, [r1] - adds r0, r6, r5 - ldrb r0, [r0] - strb r0, [r4] - adds r4, 0x1 - adds r3, 0x2 - adds r2, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _0818622C - movs r0, 0x58 - mov r4, r10 - muls r4, r0 - mov r1, r12 - adds r0, r4, r1 - adds r0, 0x3B - movs r1, 0 - strb r1, [r0] - ldr r2, [sp, 0x48] - mov r6, r10 - subs r3, r2, r6 - lsls r3, 2 - mov r0, r9 - adds r2, r3, r0 - ldrb r1, [r2, 0x18] - movs r0, 0xF - ands r0, r1 - strb r0, [r2, 0x18] - movs r5, 0 - ldr r1, =gBattleMons - adds r4, r1 - adds r4, 0x3B - ldr r0, =gDisableStructs - adds r6, r3, r0 -_08186274: - ldr r2, [sp, 0x3C] - adds r0, r2, r5 - ldrb r0, [r0] - lsls r1, r5, 1 - lsls r0, r1 - ldrb r1, [r4] - orrs r0, r1 - strb r0, [r4] - ldrb r2, [r6, 0x18] - lsrs r3, r2, 4 - ldr r1, [sp, 0x2C] - adds r0, r1, r5 - ldrb r1, [r0] - lsls r1, r5 - orrs r1, r3 - lsls r1, 4 - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r6, 0x18] - adds r5, 0x1 - cmp r5, 0x3 - ble _08186274 - movs r2, 0x58 - mov r0, r10 - muls r0, r2 - mov r1, r12 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - beq _081862BC - b _081863CA -_081862BC: - movs r5, 0 - mov r3, sp - adds r3, 0x20 - str r3, [sp, 0x40] - ldr r0, =gBattlePartyID - ldr r4, [sp, 0x44] - adds r6, r4, r0 -_081862CA: - ldrh r1, [r6] - movs r0, 0x64 - muls r0, r1 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - mov r1, sp - adds r3, r1, r5 - lsls r2, r5, 1 - movs r1, 0x3 - lsls r1, r2 - ands r0, r1 - lsrs r0, r2 - strb r0, [r3] - adds r5, 0x1 - cmp r5, 0x3 - ble _081862CA - movs r5, 0 - ldr r0, =gBattlePartyID - ldr r2, [sp, 0x44] - adds r7, r2, r0 - movs r3, 0x64 - mov r9, r3 - mov r8, r4 - ldr r4, [sp, 0x28] - ldr r6, [sp, 0x30] -_08186304: - ldrh r0, [r7] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - add r0, r8 - ldrb r1, [r4] - adds r1, 0xD - movs r2, 0 - bl GetMonData - strh r0, [r6] - ldrh r0, [r7] - mov r2, r9 - muls r2, r0 - adds r0, r2, 0 - add r0, r8 - ldrb r1, [r4] - adds r1, 0x11 - movs r2, 0 - bl GetMonData - ldr r3, [sp, 0x34] - adds r1, r3, r5 - strb r0, [r1] - ldr r0, [sp, 0x3C] - adds r1, r0, r5 - ldrb r0, [r4] - add r0, sp - ldrb r0, [r0] - strb r0, [r1] - adds r4, 0x1 - adds r6, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _08186304 - movs r5, 0 - ldr r0, =gBattlePartyID - ldr r1, [sp, 0x44] - adds r7, r1, r0 - movs r2, 0x64 - mov r9, r2 - ldr r3, =gPlayerParty - mov r8, r3 - ldr r6, [sp, 0x30] - adds r6, 0x8 - ldr r4, [sp, 0x30] -_08186360: - ldrh r0, [r7] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - add r0, r8 - adds r1, r5, 0 - adds r1, 0xD - adds r2, r4, 0 - bl SetMonData - ldrh r0, [r7] - mov r2, r9 - muls r2, r0 - adds r0, r2, 0 - add r0, r8 - adds r1, r5, 0 - adds r1, 0x11 - adds r2, r6, 0 - bl SetMonData - adds r6, 0x1 - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _08186360 - movs r0, 0 - ldr r3, [sp, 0x40] - strb r0, [r3] - movs r5, 0 - ldr r4, =gBattlePartyID - ldr r6, =gPlayerParty - ldr r3, [sp, 0x3C] - ldr r2, [sp, 0x40] -_081863A2: - adds r0, r3, r5 - ldrb r1, [r0] - lsls r0, r5, 1 - lsls r1, r0 - ldrb r0, [r2] - orrs r0, r1 - strb r0, [r2] - adds r5, 0x1 - cmp r5, 0x3 - ble _081863A2 - ldr r1, [sp, 0x44] - adds r0, r1, r4 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - adds r0, r6 - movs r1, 0x15 - ldr r2, [sp, 0x40] - bl SetMonData -_081863CA: - ldr r2, =gChosenMovesByBanks - ldr r3, [sp, 0x44] - adds r2, r3, r2 - ldr r0, =gBattleStruct - ldr r0, [r0] - add r0, r10 - adds r0, 0x80 - ldrb r0, [r0] - lsls r0, 1 - movs r4, 0x58 - mov r1, r10 - muls r1, r4 - adds r0, r1 - ldr r1, =gBattleMons - adds r1, 0xC - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] -_081863EE: - ldr r6, [sp, 0x38] - mov r10, r6 -_081863F2: - ldr r0, =gNoOfAllBanks - ldrb r0, [r0] - cmp r10, r0 - bge _081863FC - b _0818606C -_081863FC: - add sp, 0x50 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_818603C - - thumb_func_start GetAiScriptsInRecordedBattle -GetAiScriptsInRecordedBattle: @ 8186438 - ldr r0, =gUnknown_0203C7BC - ldr r0, [r0] - bx lr - .pool - thumb_func_end GetAiScriptsInRecordedBattle - - thumb_func_start sub_8186444 -sub_8186444: @ 8186444 - ldr r1, =gUnknown_0203CCD0 - movs r0, 0x1 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_8186444 - - thumb_func_start sub_8186450 -sub_8186450: @ 8186450 - push {lr} - movs r1, 0 - ldr r0, =gUnknown_0203CCD0 - ldrb r0, [r0] - cmp r0, 0 - bne _0818645E - movs r1, 0x1 -_0818645E: - adds r0, r1, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8186450 - - thumb_func_start sub_8186468 -sub_8186468: @ 8186468 - push {r4,r5,lr} - adds r3, r0, 0 - movs r2, 0 - ldr r5, =gUnknown_03001278 - ldr r4, =gUnknown_0203CCD1 -_08186472: - adds r0, r3, r2 - adds r1, r2, r4 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x7 - ble _08186472 - movs r0, 0xFF - strb r0, [r3, 0x7] - ldrb r1, [r5] - adds r0, r3, 0 - bl ConvertInternationalString - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8186468 - - thumb_func_start sub_818649C -sub_818649C: @ 818649C - ldr r0, =gUnknown_0203CCD9 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_818649C - - thumb_func_start sub_81864A8 -sub_81864A8: @ 81864A8 - ldr r0, =gUnknown_0203CCDA - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_81864A8 - - thumb_func_start sub_81864B4 -sub_81864B4: @ 81864B4 - ldr r0, =gUnknown_03001278 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_81864B4 - - thumb_func_start sub_81864C0 -sub_81864C0: @ 81864C0 - ldr r0, =gUnknown_03001279 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_81864C0 - - thumb_func_start sub_81864CC -sub_81864CC: @ 81864CC - ldr r0, =gUnknown_0203CCE8 - ldr r1, =gBattleOutcome - ldrb r1, [r1] - strb r1, [r0] - bx lr - .pool - thumb_func_end sub_81864CC - - thumb_func_start sub_81864E0 -sub_81864E0: @ 81864E0 - ldr r0, =gUnknown_0203CCDC - bx lr - .pool - thumb_func_end sub_81864E0 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/region_map.s b/asm/region_map.s deleted file mode 100644 index 032bdf7a56..0000000000 --- a/asm/region_map.s +++ /dev/null @@ -1,4288 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8122CDC -sub_8122CDC: @ 8122CDC - push {lr} - lsls r2, r1, 24 - lsrs r2, 24 - movs r1, 0 - bl sub_8122CF8 -_08122CE8: - bl sub_8122DB0 - lsls r0, 24 - cmp r0, 0 - bne _08122CE8 - pop {r0} - bx r0 - thumb_func_end sub_8122CDC - - thumb_func_start sub_8122CF8 -sub_8122CF8: @ 8122CF8 - push {r4,r5,lr} - adds r4, r1, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r3, =gUnknown_0203A144 - str r0, [r3] - movs r1, 0x79 - adds r1, r0 - mov r12, r1 - movs r1, 0 - mov r5, r12 - strb r1, [r5] - adds r0, 0x78 - strb r2, [r0] - ldr r1, [r3] - cmp r2, 0x1 - bne _08122D28 - ldr r0, =sub_8123254 - b _08122D2A - .pool -_08122D28: - ldr r0, =sub_81230C4 -_08122D2A: - str r0, [r1, 0x18] - cmp r4, 0 - beq _08122D64 - ldr r1, [r3] - ldr r0, [r4] - lsls r0, 30 - lsrs r0, 30 - adds r1, 0x80 - strb r0, [r1] - ldr r1, [r3] - ldr r0, [r4] - lsls r0, 28 - lsrs r0, 30 - adds r1, 0x81 - strb r0, [r1] - ldr r1, [r3] - ldr r0, [r4] - lsls r0, 23 - lsrs r0, 27 - adds r1, 0x82 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x83 - movs r1, 0x1 - strb r1, [r0] - b _08122D80 - .pool -_08122D64: - ldr r0, [r3] - adds r0, 0x80 - movs r1, 0x2 - strb r1, [r0] - ldr r0, [r3] - adds r0, 0x81 - strb r1, [r0] - ldr r0, [r3] - adds r0, 0x82 - movs r1, 0x1C - strb r1, [r0] - ldr r0, [r3] - adds r0, 0x83 - strb r4, [r0] -_08122D80: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8122CF8 - - thumb_func_start sub_8122D88 -sub_8122D88: @ 8122D88 - push {r4,lr} - ldr r4, =gUnknown_0203A144 - str r0, [r4] - bl sub_81238AC - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x54 - ldrh r1, [r0] - adds r0, 0x20 - strh r1, [r0] - subs r0, 0x1E - ldrh r1, [r0] - adds r0, 0x20 - strh r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8122D88 - - thumb_func_start sub_8122DB0 -sub_8122DB0: @ 8122DB0 - push {r4,r5,lr} - sub sp, 0xC - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - adds r0, 0x79 - ldrb r0, [r0] - cmp r0, 0x7 - bls _08122DC2 - b _0812300C -_08122DC2: - lsls r0, 2 - ldr r1, =_08122DD4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08122DD4: - .4byte _08122DF4 - .4byte _08122E2C - .4byte _08122E78 - .4byte _08122E94 - .4byte _08122EB0 - .4byte _08122ECC - .4byte _08122F10 - .4byte _08122F8C -_08122DF4: - ldr r0, =gUnknown_0203A144 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x83 - ldrb r0, [r0] - cmp r0, 0 - beq _08122E18 - adds r0, r1, 0 - adds r0, 0x80 - ldrb r0, [r0] - ldr r1, =gUnknown_0859F77C - movs r2, 0 - str r2, [sp] - b _08122E52 - .pool -_08122E18: - ldr r0, =gUnknown_0859F77C - ldr r1, =0x06008000 - bl LZ77UnCompVram - b _08123014 - .pool -_08122E2C: - ldr r4, =gUnknown_0203A144 - ldr r0, [r4] - adds r0, 0x83 - ldrb r0, [r0] - cmp r0, 0 - beq _08122E64 - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - beq _08122E44 - b _08123014 -_08122E44: - ldr r0, [r4] - adds r0, 0x80 - ldrb r0, [r0] - ldr r1, =gUnknown_085A04E0 - movs r2, 0x1 - str r2, [sp] - movs r2, 0 -_08122E52: - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - b _08123014 - .pool -_08122E64: - ldr r0, =gUnknown_085A04E0 - ldr r1, =0x0600e000 - bl LZ77UnCompVram - b _08123014 - .pool -_08122E78: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - beq _08122E84 - b _08123014 -_08122E84: - ldr r0, =gUnknown_0859F73C - movs r1, 0x70 - movs r2, 0x60 - bl LoadPalette - b _08123014 - .pool -_08122E94: - ldr r0, =gUnknown_0859F60C - ldr r1, =gUnknown_0203A144 - ldr r1, [r1] - movs r2, 0xC2 - lsls r2, 1 - adds r1, r2 - bl LZ77UnCompWram - b _08123014 - .pool -_08122EB0: - ldr r0, =gUnknown_0859F650 - ldr r1, =gUnknown_0203A144 - ldr r1, [r1] - movs r5, 0xA1 - lsls r5, 2 - adds r1, r5 - bl LZ77UnCompWram - b _08123014 - .pool -_08122ECC: - bl sub_81238AC - ldr r4, =gUnknown_0203A144 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x54 - ldrh r1, [r0] - adds r0, 0x20 - strh r1, [r0] - subs r0, 0x1E - ldrh r0, [r0] - adds r1, r2, 0 - adds r1, 0x76 - strh r0, [r1] - ldrh r0, [r2] - bl sub_8123EB4 - ldr r1, [r4] - strh r0, [r1] - ldrh r0, [r1] - bl get_flagnr_blue_points - ldr r1, [r4] - strb r0, [r1, 0x2] - ldr r1, [r4] - adds r0, r1, 0x4 - ldrh r1, [r1] - movs r2, 0x10 - bl GetMapName - b _08123014 - .pool -_08122F10: - ldr r0, =gUnknown_0203A144 - ldr r4, [r0] - adds r0, r4, 0 - adds r0, 0x78 - ldrb r1, [r0] - cmp r1, 0 - bne _08122F3C - movs r0, 0x80 - lsls r0, 1 - str r0, [sp] - str r0, [sp, 0x4] - str r1, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_81236C4 - b _08123014 - .pool -_08122F3C: - adds r1, r4, 0 - adds r1, 0x54 - ldrh r0, [r1] - lsls r0, 3 - subs r0, 0x34 - adds r2, r4, 0 - adds r2, 0x5C - movs r3, 0 - strh r0, [r2] - movs r0, 0x56 - adds r0, r4 - mov r12, r0 - ldrh r0, [r0] - lsls r0, 3 - subs r0, 0x44 - adds r5, r4, 0 - adds r5, 0x5E - strh r0, [r5] - ldrh r1, [r1] - adds r0, r4, 0 - adds r0, 0x64 - strh r1, [r0] - mov r0, r12 - ldrh r1, [r0] - adds r0, r4, 0 - adds r0, 0x66 - strh r1, [r0] - movs r1, 0 - ldrsh r0, [r2, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - movs r2, 0x80 - str r2, [sp] - str r2, [sp, 0x4] - str r3, [sp, 0x8] - movs r2, 0x38 - movs r3, 0x48 - bl sub_81236C4 - b _08123014 -_08122F8C: - bl sub_8123FB0 - bl sub_81237B4 - ldr r4, =gUnknown_0203A144 - ldr r0, [r4] - movs r1, 0 - str r1, [r0, 0x1C] - str r1, [r0, 0x20] - adds r0, 0x7A - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x7E - strb r1, [r0] - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x83 - ldrb r0, [r0] - cmp r0, 0 - beq _08123002 - adds r0, r1, 0 - adds r0, 0x80 - ldrb r0, [r0] - movs r1, 0x3 - movs r2, 0x2 - bl SetBgAttribute - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x80 - ldrb r0, [r0] - adds r1, 0x81 - ldrb r2, [r1] - movs r1, 0x1 - bl SetBgAttribute - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x80 - ldrb r0, [r0] - adds r1, 0x82 - ldrb r2, [r1] - movs r1, 0x2 - bl SetBgAttribute - ldr r0, [r4] - adds r0, 0x80 - ldrb r0, [r0] - movs r1, 0x6 - movs r2, 0x1 - bl SetBgAttribute - ldr r0, [r4] - adds r0, 0x80 - ldrb r0, [r0] - movs r1, 0x4 - movs r2, 0x1 - bl SetBgAttribute -_08123002: - ldr r1, [r4] - adds r1, 0x79 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0812300C: - movs r0, 0 - b _08123022 - .pool -_08123014: - ldr r0, =gUnknown_0203A144 - ldr r1, [r0] - adds r1, 0x79 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0x1 -_08123022: - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8122DB0 - - thumb_func_start sub_8123030 -sub_8123030: @ 8123030 - push {lr} - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - movs r0, 0xE0 - lsls r0, 2 - lsls r1, 24 - lsrs r1, 24 - bl BlendPalettes - ldr r0, =gPlttBufferFaded + 0xE0 - ldr r1, =gPlttBufferUnfaded + 0xE0 - movs r2, 0x30 - bl CpuSet - pop {r0} - bx r0 - .pool - thumb_func_end sub_8123030 - - thumb_func_start sub_812305C -sub_812305C: @ 812305C - push {r4,lr} - ldr r4, =gUnknown_0203A144 - ldr r0, [r4] - ldr r0, [r0, 0x1C] - cmp r0, 0 - beq _08123080 - bl DestroySprite - ldr r0, [r4] - adds r0, 0x58 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r4] - adds r0, 0x5A - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_08123080: - ldr r0, [r4] - ldr r0, [r0, 0x20] - cmp r0, 0 - beq _081230A0 - bl DestroySprite - ldr r0, [r4] - adds r0, 0x70 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r4] - adds r0, 0x72 - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_081230A0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_812305C - - thumb_func_start sub_81230AC -sub_81230AC: @ 81230AC - push {lr} - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - ldr r0, [r0, 0x18] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81230AC - - thumb_func_start sub_81230C4 -sub_81230C4: @ 81230C4 - push {r4,lr} - movs r4, 0 - ldr r2, =gUnknown_0203A144 - ldr r0, [r2] - adds r0, 0x7B - strb r4, [r0] - ldr r0, [r2] - adds r0, 0x7C - strb r4, [r0] - ldr r3, =gMain - ldrh r1, [r3, 0x2C] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _081230F6 - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x56 - ldrh r0, [r0] - cmp r0, 0x2 - bls _081230F6 - adds r1, 0x7C - movs r0, 0xFF - strb r0, [r1] - movs r4, 0x1 -_081230F6: - ldrh r1, [r3, 0x2C] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08123114 - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x56 - ldrh r0, [r0] - cmp r0, 0xF - bhi _08123114 - adds r1, 0x7C - movs r0, 0x1 - strb r0, [r1] - movs r4, 0x1 -_08123114: - ldrh r1, [r3, 0x2C] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08123132 - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x54 - ldrh r0, [r0] - cmp r0, 0x1 - bls _08123132 - adds r1, 0x7B - movs r0, 0xFF - strb r0, [r1] - movs r4, 0x1 -_08123132: - ldrh r1, [r3, 0x2C] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08123150 - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x54 - ldrh r0, [r0] - cmp r0, 0x1B - bhi _08123150 - adds r1, 0x7B - movs r0, 0x1 - strb r0, [r1] - movs r4, 0x1 -_08123150: - ldrh r3, [r3, 0x2E] - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _08123168 - movs r4, 0x4 - b _08123172 - .pool -_08123168: - movs r0, 0x2 - ands r0, r3 - cmp r0, 0 - beq _08123172 - movs r4, 0x5 -_08123172: - cmp r4, 0x1 - bne _08123184 - ldr r0, [r2] - adds r0, 0x7A - movs r1, 0x4 - strb r1, [r0] - ldr r1, [r2] - ldr r0, =_swiopen - str r0, [r1, 0x18] -_08123184: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81230C4 - - thumb_func_start _swiopen -_swiopen: @ 8123190 - push {r4,r5,lr} - ldr r5, =gUnknown_0203A144 - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x7A - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _081231AC - movs r0, 0x2 - b _08123248 - .pool -_081231AC: - adds r0, r1, 0 - adds r0, 0x7B - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - ble _081231C2 - adds r1, 0x54 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_081231C2: - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x7B - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bge _081231DA - adds r1, 0x54 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] -_081231DA: - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x7C - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - ble _081231F2 - adds r1, 0x56 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_081231F2: - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x7C - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bge _0812320A - adds r1, 0x56 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] -_0812320A: - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x54 - ldrh r0, [r0] - adds r1, 0x56 - ldrh r1, [r1] - bl sub_812386C - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl get_flagnr_blue_points - ldr r1, [r5] - strb r0, [r1, 0x2] - ldr r1, [r5] - ldrh r0, [r1] - cmp r4, r0 - beq _0812323C - strh r4, [r1] - adds r0, r1, 0x4 - ldrh r1, [r1] - movs r2, 0x10 - bl GetMapName -_0812323C: - bl sub_8123FB0 - ldr r1, [r5] - ldr r0, =sub_81230C4 - str r0, [r1, 0x18] - movs r0, 0x3 -_08123248: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end _swiopen - - thumb_func_start sub_8123254 -sub_8123254: @ 8123254 - push {r4-r6,lr} - movs r4, 0 - ldr r3, =gUnknown_0203A144 - ldr r0, [r3] - mov r12, r0 - adds r0, 0x6A - strh r4, [r0] - mov r5, r12 - adds r5, 0x68 - strh r4, [r5] - ldr r2, =gMain - ldrh r1, [r2, 0x2C] - movs r0, 0x40 - ands r0, r1 - adds r6, r3, 0 - adds r3, r2, 0 - cmp r0, 0 - beq _0812328E - mov r0, r12 - adds r0, 0x5E - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0x34 - negs r0, r0 - cmp r1, r0 - ble _0812328E - ldr r0, =0x0000ffff - strh r0, [r5] - movs r4, 0x1 -_0812328E: - ldrh r1, [r3, 0x2C] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081232AE - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x5E - movs r5, 0 - ldrsh r0, [r0, r5] - cmp r0, 0x3B - bgt _081232AE - adds r1, 0x68 - movs r0, 0x1 - strh r0, [r1] - movs r4, 0x1 -_081232AE: - ldrh r1, [r3, 0x2C] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _081232D4 - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0x5C - movs r5, 0 - ldrsh r1, [r0, r5] - movs r0, 0x2C - negs r0, r0 - cmp r1, r0 - ble _081232D4 - adds r1, r2, 0 - adds r1, 0x6A - ldr r0, =0x0000ffff - strh r0, [r1] - movs r4, 0x1 -_081232D4: - ldrh r1, [r3, 0x2C] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _081232F4 - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x5C - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0xAB - bgt _081232F4 - adds r1, 0x6A - movs r0, 0x1 - strh r0, [r1] - movs r4, 0x1 -_081232F4: - ldrh r2, [r3, 0x2E] - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _08123300 - movs r4, 0x4 -_08123300: - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _0812330A - movs r4, 0x5 -_0812330A: - cmp r4, 0x1 - bne _0812331A - ldr r0, [r6] - ldr r1, =sub_8123334 - str r1, [r0, 0x18] - adds r0, 0x6C - movs r1, 0 - strh r1, [r0] -_0812331A: - adds r0, r4, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8123254 - - thumb_func_start sub_8123334 -sub_8123334: @ 8123334 - push {r4,r5,lr} - ldr r5, =gUnknown_0203A144 - ldr r2, [r5] - adds r3, r2, 0 - adds r3, 0x5E - adds r0, r2, 0 - adds r0, 0x68 - ldrh r0, [r0] - ldrh r1, [r3] - adds r0, r1 - strh r0, [r3] - adds r1, r2, 0 - adds r1, 0x5C - adds r0, r2, 0 - adds r0, 0x6A - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - movs r4, 0 - ldrsh r0, [r1, r4] - movs r2, 0 - ldrsh r1, [r3, r2] - bl sub_812378C - ldr r2, [r5] - adds r1, r2, 0 - adds r1, 0x6C - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x8 - bne _08123410 - adds r0, r2, 0 - adds r0, 0x5C - movs r3, 0 - ldrsh r1, [r0, r3] - adds r0, r1, 0 - adds r0, 0x2C - cmp r0, 0 - bge _0812338C - adds r0, 0x7 -_0812338C: - asrs r0, 3 - adds r0, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - adds r0, r2, 0 - adds r0, 0x5E - movs r4, 0 - ldrsh r1, [r0, r4] - adds r0, r1, 0 - adds r0, 0x34 - cmp r0, 0 - bge _081233A6 - adds r0, 0x7 -_081233A6: - asrs r0, 3 - adds r0, 0x2 - lsls r0, 16 - lsrs r1, r0, 16 - adds r4, r2, 0 - adds r4, 0x64 - adds r0, r2, 0 - adds r0, 0x66 - ldrh r2, [r4] - cmp r3, r2 - bne _081233C2 - ldrh r2, [r0] - cmp r1, r2 - beq _081233F2 -_081233C2: - strh r3, [r4] - strh r1, [r0] - adds r0, r3, 0 - bl sub_812386C - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl get_flagnr_blue_points - ldr r1, [r5] - strb r0, [r1, 0x2] - ldr r1, [r5] - ldrh r3, [r1] - cmp r4, r3 - beq _081233EE - strh r4, [r1] - adds r0, r1, 0x4 - ldrh r1, [r1] - movs r2, 0x10 - bl GetMapName -_081233EE: - bl sub_8123FB0 -_081233F2: - ldr r0, =gUnknown_0203A144 - ldr r2, [r0] - adds r1, r2, 0 - adds r1, 0x6C - movs r0, 0 - strh r0, [r1] - ldr r0, =sub_8123254 - str r0, [r2, 0x18] - movs r0, 0x3 - b _08123412 - .pool -_08123410: - movs r0, 0x2 -_08123412: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8123334 - - thumb_func_start sub_8123418 -sub_8123418: @ 8123418 - push {r4-r6,lr} - ldr r1, =gUnknown_0203A144 - ldr r2, [r1] - adds r0, r2, 0 - adds r0, 0x78 - ldrb r3, [r0] - adds r5, r1, 0 - cmp r3, 0 - bne _0812349C - subs r0, 0x1A - strh r3, [r0] - subs r0, 0x2 - strh r3, [r0] - str r3, [r2, 0x40] - str r3, [r2, 0x3C] - adds r4, r2, 0 - adds r4, 0x54 - ldrh r0, [r4] - lsls r0, 3 - subs r0, 0x34 - adds r1, r2, 0 - adds r1, 0x60 - strh r0, [r1] - movs r0, 0x56 - adds r0, r2 - mov r12, r0 - ldrh r0, [r0] - lsls r0, 3 - subs r0, 0x44 - adds r3, r2, 0 - adds r3, 0x62 - strh r0, [r3] - movs r6, 0 - ldrsh r0, [r1, r6] - lsls r0, 8 - cmp r0, 0 - bge _08123464 - adds r0, 0xF -_08123464: - asrs r0, 4 - str r0, [r2, 0x44] - movs r1, 0 - ldrsh r0, [r3, r1] - lsls r0, 8 - cmp r0, 0 - bge _08123474 - adds r0, 0xF -_08123474: - asrs r0, 4 - str r0, [r2, 0x48] - ldrh r1, [r4] - adds r0, r2, 0 - adds r0, 0x64 - strh r1, [r0] - mov r3, r12 - ldrh r0, [r3] - adds r1, r2, 0 - adds r1, 0x66 - strh r0, [r1] - movs r0, 0x80 - lsls r0, 9 - str r0, [r2, 0x4C] - ldr r0, =0xfffff800 - b _081234FA - .pool -_0812349C: - adds r0, r2, 0 - adds r0, 0x5C - movs r6, 0 - ldrsh r0, [r0, r6] - lsls r0, 8 - str r0, [r2, 0x3C] - adds r0, r2, 0 - adds r0, 0x5E - movs r1, 0 - ldrsh r0, [r0, r1] - lsls r0, 8 - str r0, [r2, 0x40] - adds r0, r2, 0 - adds r0, 0x60 - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - ldr r0, [r2, 0x3C] - cmp r0, 0 - bge _081234C8 - adds r0, 0xF -_081234C8: - asrs r0, 4 - negs r0, r0 - str r0, [r2, 0x44] - ldr r0, [r2, 0x40] - cmp r0, 0 - bge _081234D6 - adds r0, 0xF -_081234D6: - asrs r0, 4 - negs r0, r0 - str r0, [r2, 0x48] - adds r0, r2, 0 - adds r0, 0x64 - ldrh r1, [r0] - subs r0, 0x10 - strh r1, [r0] - adds r0, 0x12 - ldrh r0, [r0] - adds r1, r2, 0 - adds r1, 0x56 - strh r0, [r1] - movs r0, 0x80 - lsls r0, 8 - str r0, [r2, 0x4C] - movs r0, 0x80 - lsls r0, 4 -_081234FA: - str r0, [r2, 0x50] - ldr r0, [r5] - adds r0, 0x6E - movs r1, 0 - strh r1, [r0] - bl sub_8124238 - bl sub_81243B0 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8123418 - - thumb_func_start sub_8123514 -sub_8123514: @ 8123514 - push {r4-r6,lr} - sub sp, 0xC - ldr r0, =gUnknown_0203A144 - ldr r3, [r0] - adds r2, r3, 0 - adds r2, 0x6E - ldrh r1, [r2] - adds r5, r0, 0 - cmp r1, 0xF - bls _08123530 - movs r0, 0 - b _081236B8 - .pool -_08123530: - adds r0, r1, 0x1 - movs r1, 0 - strh r0, [r2] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x10 - bne _081235A4 - str r1, [r3, 0x44] - str r1, [r3, 0x48] - adds r0, r3, 0 - adds r0, 0x60 - ldrh r1, [r0] - subs r0, 0x4 - strh r1, [r0] - adds r0, 0x6 - ldrh r0, [r0] - adds r1, r3, 0 - adds r1, 0x5E - strh r0, [r1] - adds r1, 0x1A - ldrb r0, [r1] - movs r2, 0x80 - lsls r2, 9 - cmp r0, 0 - bne _08123566 - movs r2, 0x80 - lsls r2, 8 -_08123566: - str r2, [r3, 0x4C] - movs r2, 0 - ldrb r0, [r1] - cmp r0, 0 - bne _08123572 - movs r2, 0x1 -_08123572: - strb r2, [r1] - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x78 - ldrb r0, [r0] - ldr r2, =sub_8123254 - cmp r0, 0 - bne _08123584 - ldr r2, =sub_81230C4 -_08123584: - str r2, [r1, 0x18] - adds r0, r1, 0 - adds r0, 0x58 - ldrh r0, [r0] - adds r1, 0x5A - ldrh r1, [r1] - bl sub_81240D4 - bl sub_81243DC - movs r4, 0 - b _08123686 - .pool -_081235A4: - ldr r2, [r3, 0x3C] - ldr r0, [r3, 0x44] - adds r2, r0 - str r2, [r3, 0x3C] - ldr r0, [r3, 0x40] - ldr r1, [r3, 0x48] - adds r0, r1 - str r0, [r3, 0x40] - asrs r2, 8 - adds r4, r3, 0 - adds r4, 0x5C - strh r2, [r4] - ldr r0, [r3, 0x40] - asrs r0, 8 - adds r1, r3, 0 - adds r1, 0x5E - strh r0, [r1] - ldr r0, [r3, 0x4C] - ldr r1, [r3, 0x50] - adds r0, r1 - str r0, [r3, 0x4C] - ldr r2, [r3, 0x44] - cmp r2, 0 - bge _081235E4 - adds r0, r3, 0 - adds r0, 0x60 - movs r6, 0 - ldrsh r1, [r4, r6] - movs r6, 0 - ldrsh r0, [r0, r6] - cmp r1, r0 - blt _081235F8 -_081235E4: - cmp r2, 0 - ble _08123608 - adds r0, r3, 0 - adds r0, 0x60 - movs r2, 0 - ldrsh r1, [r4, r2] - movs r6, 0 - ldrsh r0, [r0, r6] - cmp r1, r0 - ble _08123608 -_081235F8: - ldr r3, [r5] - adds r0, r3, 0 - adds r0, 0x60 - ldrh r2, [r0] - subs r0, 0x4 - movs r1, 0 - strh r2, [r0] - str r1, [r3, 0x44] -_08123608: - ldr r2, [r5] - ldr r4, [r2, 0x48] - cmp r4, 0 - bge _08123624 - adds r0, r2, 0 - adds r0, 0x5E - adds r3, r2, 0 - adds r3, 0x62 - movs r6, 0 - ldrsh r1, [r0, r6] - movs r6, 0 - ldrsh r0, [r3, r6] - cmp r1, r0 - blt _0812363C -_08123624: - cmp r4, 0 - ble _0812364E - adds r1, r2, 0 - adds r1, 0x5E - adds r0, r2, 0 - adds r0, 0x62 - movs r2, 0 - ldrsh r1, [r1, r2] - movs r6, 0 - ldrsh r0, [r0, r6] - cmp r1, r0 - ble _0812364E -_0812363C: - ldr r2, [r5] - adds r0, r2, 0 - adds r0, 0x62 - ldrh r1, [r0] - adds r3, r2, 0 - adds r3, 0x5E - movs r0, 0 - strh r1, [r3] - str r0, [r2, 0x48] -_0812364E: - ldr r0, =gUnknown_0203A144 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x78 - ldrb r3, [r0] - cmp r3, 0 - bne _08123674 - ldr r1, [r2, 0x4C] - ldr r0, =0x00007fff - cmp r1, r0 - bgt _08123684 - adds r0, 0x1 - str r0, [r2, 0x4C] - str r3, [r2, 0x50] - b _08123684 - .pool -_08123674: - ldr r0, [r2, 0x4C] - movs r1, 0x80 - lsls r1, 9 - cmp r0, r1 - ble _08123684 - str r1, [r2, 0x4C] - movs r0, 0 - str r0, [r2, 0x50] -_08123684: - movs r4, 0x1 -_08123686: - ldr r0, =gUnknown_0203A144 - ldr r3, [r0] - adds r0, r3, 0 - adds r0, 0x5C - movs r1, 0 - ldrsh r0, [r0, r1] - adds r1, r3, 0 - adds r1, 0x5E - movs r2, 0 - ldrsh r1, [r1, r2] - ldr r2, [r3, 0x4C] - lsls r2, 8 - lsrs r2, 16 - str r2, [sp] - ldr r2, [r3, 0x4C] - lsls r2, 8 - lsrs r2, 16 - str r2, [sp, 0x4] - movs r2, 0 - str r2, [sp, 0x8] - movs r2, 0x38 - movs r3, 0x48 - bl sub_81236C4 - adds r0, r4, 0 -_081236B8: - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8123514 - - thumb_func_start sub_81236C4 -sub_81236C4: @ 81236C4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, [sp, 0x24] - ldr r7, [sp, 0x28] - ldr r5, [sp, 0x2C] - lsls r4, 16 - lsrs r4, 16 - mov r8, r4 - lsls r7, 16 - adds r4, r7, 0 - lsrs r4, 16 - mov r9, r4 - lsls r5, 24 - lsrs r5, 24 - ldr r4, =gUnknown_0203A144 - ldr r6, [r4] - ldr r7, =gSineTable - mov r12, r7 - adds r4, r5, 0 - adds r4, 0x40 - lsls r4, 1 - add r4, r12 - movs r7, 0 - ldrsh r4, [r4, r7] - str r4, [sp] - mov r7, r8 - muls r7, r4 - adds r4, r7, 0 - asrs r4, 8 - mov r10, r4 - str r4, [r6, 0x2C] - lsls r5, 1 - add r5, r12 - movs r7, 0 - ldrsh r5, [r5, r7] - negs r4, r5 - mov r7, r8 - muls r7, r4 - adds r4, r7, 0 - asrs r4, 8 - mov r12, r4 - str r4, [r6, 0x30] - mov r7, r9 - muls r7, r5 - adds r5, r7, 0 - asrs r5, 8 - str r5, [r6, 0x34] - ldr r7, [sp] - mov r4, r9 - muls r4, r7 - asrs r4, 8 - mov r8, r4 - str r4, [r6, 0x38] - lsls r0, 16 - asrs r0, 8 - lsls r2, 16 - asrs r2, 16 - lsls r4, r2, 8 - adds r0, r4 - lsls r3, 16 - asrs r3, 16 - adds r4, r3, 0 - muls r4, r5 - mov r5, r10 - muls r5, r2 - adds r4, r5 - subs r0, r4 - str r0, [r6, 0x24] - lsls r1, 16 - asrs r1, 8 - lsls r0, r3, 8 - adds r1, r0 - mov r0, r8 - muls r0, r3 - mov r3, r12 - muls r3, r2 - adds r2, r3, 0 - adds r0, r2 - subs r1, r0 - str r1, [r6, 0x28] - adds r6, 0x7D - movs r0, 0x1 - strb r0, [r6] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81236C4 - - thumb_func_start sub_812378C -sub_812378C: @ 812378C - ldr r2, =gUnknown_0203A144 - ldr r2, [r2] - lsls r0, 16 - asrs r0, 8 - movs r3, 0xE0 - lsls r3, 5 - adds r0, r3 - str r0, [r2, 0x24] - lsls r1, 16 - asrs r1, 8 - movs r0, 0x90 - lsls r0, 6 - adds r1, r0 - str r1, [r2, 0x28] - adds r2, 0x7D - movs r0, 0x1 - strb r0, [r2] - bx lr - .pool - thumb_func_end sub_812378C - - thumb_func_start sub_81237B4 -sub_81237B4: @ 81237B4 - push {r4,lr} - ldr r4, =gUnknown_0203A144 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x7D - ldrb r0, [r0] - cmp r0, 0 - beq _0812381A - ldrh r1, [r1, 0x2C] - movs r0, 0x20 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x34] - movs r0, 0x22 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x30] - movs r0, 0x24 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x38] - movs r0, 0x26 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x24] - movs r0, 0x28 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x26] - movs r0, 0x2A - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x28] - movs r0, 0x2C - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x2A] - movs r0, 0x2E - bl SetGpuReg - ldr r0, [r4] - adds r0, 0x7D - movs r1, 0 - strb r1, [r0] -_0812381A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81237B4 - - thumb_func_start sub_8123824 -sub_8123824: @ 8123824 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 16 - asrs r5, r1, 16 - movs r0, 0x80 - lsls r0, 1 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x38 - movs r3, 0x48 - bl sub_81236C4 - bl sub_81237B4 - ldr r0, =gUnknown_0203A144 - ldr r2, [r0] - ldr r1, [r2, 0x20] - cmp r1, 0 - beq _08123860 - negs r0, r4 - strh r0, [r1, 0x24] - ldr r1, [r2, 0x20] - negs r0, r5 - strh r0, [r1, 0x26] -_08123860: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8123824 - - thumb_func_start sub_812386C -sub_812386C: @ 812386C - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - ldr r0, =0xfffe0000 - adds r1, r0 - lsrs r2, r1, 16 - cmp r2, 0xE - bhi _08123886 - cmp r3, 0 - beq _08123886 - cmp r3, 0x1C - bls _08123890 -_08123886: - movs r0, 0xD5 - b _081238A4 - .pool -_08123890: - subs r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r1, =gUnknown_085A096C - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r3, r0 - adds r0, r1 - ldrb r0, [r0] -_081238A4: - pop {r1} - bx r1 - .pool - thumb_func_end sub_812386C - - thumb_func_start sub_81238AC -sub_81238AC: @ 81238AC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0x4 - ldrsb r1, [r2, r1] - adds r3, r0, 0 - cmp r1, 0x19 - bne _081238DC - ldrb r0, [r2, 0x5] - subs r0, 0x29 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bhi _081238DC - bl sub_8123C00 - b _08123BEC - .pool -_081238DC: - ldr r1, [r3] - movs r0, 0x4 - ldrsb r0, [r1, r0] - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - bl get_map_light_level_by_bank_and_number - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x8 - bhi _08123928 - lsls r0, 2 - ldr r1, =_08123904 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08123904: - .4byte _08123928 - .4byte _08123928 - .4byte _08123928 - .4byte _0812396C - .4byte _08123928 - .4byte _08123928 - .4byte _0812396C - .4byte _08123A28 - .4byte _081239E4 -_08123928: - ldr r4, =gUnknown_0203A144 - ldr r0, [r4] - ldr r3, =gMapHeader - ldrb r1, [r3, 0x14] - movs r2, 0 - strh r1, [r0] - adds r0, 0x7F - strb r2, [r0] - ldr r0, [r3] - ldrh r2, [r0] - ldrh r0, [r0, 0x4] - mov r9, r0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r6, [r0] - ldrh r3, [r0, 0x2] - ldr r1, [r4] - ldrh r0, [r1] - cmp r0, 0x45 - beq _08123956 - cmp r0, 0xCC - beq _08123956 - b _08123ABE -_08123956: - adds r1, 0x7F - movs r0, 0x1 - strb r0, [r1] - b _08123ABE - .pool -_0812396C: - ldr r2, =gMapHeader - ldrb r1, [r2, 0x1A] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081239C8 - ldr r4, =gSaveBlock1Ptr - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x24 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r0, 16 - adds r1, 0x25 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl get_mapheader_by_bank_and_number - adds r5, r0, 0 - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - ldrb r1, [r5, 0x14] - strh r1, [r0] - adds r0, 0x7F - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r5] - ldrh r2, [r0] - ldrh r0, [r0, 0x4] - mov r9, r0 - ldr r0, [r4] - ldrh r6, [r0, 0x28] - ldrh r3, [r0, 0x2A] - b _08123ABE - .pool -_081239C8: - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - ldrb r1, [r2, 0x14] - strh r1, [r0] - adds r0, 0x7F - movs r1, 0x1 - strb r1, [r0] - movs r2, 0x1 - mov r9, r2 - movs r6, 0x1 - movs r3, 0x1 - b _08123ABE - .pool -_081239E4: - ldr r4, =gSaveBlock1Ptr - ldr r1, [r4] - movs r0, 0x14 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x15] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl get_mapheader_by_bank_and_number - adds r5, r0, 0 - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - ldrb r1, [r5, 0x14] - strh r1, [r0] - adds r0, 0x7F - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r5] - ldrh r2, [r0] - ldrh r0, [r0, 0x4] - mov r9, r0 - ldr r0, [r4] - ldrh r6, [r0, 0x18] - ldrh r3, [r0, 0x1A] - b _08123ABE - .pool -_08123A28: - ldr r4, =gUnknown_0203A144 - ldr r0, [r4] - ldr r1, =gMapHeader - ldrb r1, [r1, 0x14] - strh r1, [r0] - cmp r1, 0x57 - beq _08123A64 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - adds r7, r0, 0 - adds r7, 0x24 - movs r0, 0 - ldrsb r0, [r7, r0] - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ldrsb r1, [r7, r1] - lsls r1, 16 - lsrs r1, 16 - bl get_mapheader_by_bank_and_number - adds r5, r0, 0 - b _08123A8A - .pool -_08123A64: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - adds r7, r0, 0 - adds r7, 0x14 - ldrb r0, [r0, 0x14] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ldrsb r1, [r7, r1] - lsls r1, 16 - lsrs r1, 16 - bl get_mapheader_by_bank_and_number - adds r5, r0, 0 - ldr r1, [r4] - ldrb r0, [r5, 0x14] - strh r0, [r1] -_08123A8A: - ldr r4, =gUnknown_0203A144 - ldr r0, [r4] - ldrb r0, [r0] - bl sub_8123F74 - adds r1, r0, 0 - cmp r1, 0 - beq _08123AAC - ldr r0, [r4] - adds r0, 0x7F - movs r1, 0x1 - b _08123AB0 - .pool -_08123AAC: - ldr r0, [r4] - adds r0, 0x7F -_08123AB0: - strb r1, [r0] - ldr r0, [r5] - ldrh r2, [r0] - ldrh r0, [r0, 0x4] - mov r9, r0 - ldrh r6, [r7, 0x4] - ldrh r3, [r7, 0x6] -_08123ABE: - str r6, [sp] - ldr r5, =gRegionMapEntries - ldr r4, =gUnknown_0203A144 - ldr r0, [r4] - mov r10, r0 - ldrh r7, [r0] - lsls r0, r7, 3 - adds r0, r5 - str r0, [sp, 0x4] - ldrb r0, [r0, 0x2] - mov r8, r0 - adds r0, r2, 0 - mov r1, r8 - str r3, [sp, 0x8] - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r3, [sp, 0x8] - cmp r1, 0 - bne _08123AEA - movs r1, 0x1 -_08123AEA: - adds r0, r6, 0 - str r3, [sp, 0x8] - bl __udivsi3 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r3, [sp, 0x8] - cmp r6, r8 - bcc _08123B04 - mov r0, r8 - subs r0, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_08123B04: - ldr r2, [sp, 0x4] - ldrb r4, [r2, 0x3] - mov r0, r9 - adds r1, r4, 0 - str r3, [sp, 0x8] - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r3, [sp, 0x8] - cmp r1, 0 - bne _08123B1E - movs r1, 0x1 -_08123B1E: - adds r0, r3, 0 - bl __udivsi3 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r4 - bcc _08123B32 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 -_08123B32: - cmp r7, 0x29 - beq _08123B5E - cmp r7, 0x29 - bgt _08123B4C - cmp r7, 0x1D - beq _08123B56 - cmp r7, 0x24 - beq _08123B94 - b _08123BC6 - .pool -_08123B4C: - cmp r7, 0x33 - beq _08123B5E - cmp r7, 0xCC - beq _08123BB8 - b _08123BC6 -_08123B56: - cmp r3, 0 - beq _08123BC6 - movs r6, 0 - b _08123BC6 -_08123B5E: - movs r6, 0 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0x20 - ble _08123B6E - movs r6, 0x1 -_08123B6E: - cmp r0, 0x33 - ble _08123B78 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_08123B78: - movs r3, 0 - movs r2, 0x2 - ldrsh r0, [r1, r2] - cmp r0, 0x25 - ble _08123B84 - movs r3, 0x1 -_08123B84: - cmp r0, 0x38 - ble _08123BC6 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - b _08123BC6 - .pool -_08123B94: - movs r6, 0 - ldr r0, [sp] - cmp r0, 0xE - bls _08123B9E - movs r6, 0x1 -_08123B9E: - ldr r2, [sp] - cmp r2, 0x1C - bls _08123BAA - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_08123BAA: - ldr r0, [sp] - cmp r0, 0x36 - bls _08123BC6 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - b _08123BC6 -_08123BB8: - mov r0, r10 - adds r0, 0x54 - mov r1, r10 - adds r1, 0x56 - bl sub_8123F30 - b _08123BEC -_08123BC6: - ldr r0, =gUnknown_0203A144 - ldr r2, [r0] - ldrh r0, [r2] - lsls r0, 3 - adds r0, r5 - ldrb r0, [r0] - adds r0, r6, r0 - adds r0, 0x1 - adds r1, r2, 0 - adds r1, 0x54 - strh r0, [r1] - ldrh r0, [r2] - lsls r0, 3 - adds r0, r5 - ldrb r0, [r0, 0x1] - adds r0, r3, r0 - adds r0, 0x2 - adds r2, 0x56 - strh r0, [r2] -_08123BEC: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81238AC - - thumb_func_start sub_8123C00 -sub_8123C00: @ 8123C00 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r7, 0 - movs r0, 0 - mov r8, r0 - mov r4, sp - adds r4, 0x1 - mov r5, sp - adds r5, 0x2 - add r6, sp, 0x4 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl GetSSTidalLocation - lsls r0, 24 - lsrs r0, 24 - mov r10, r5 - cmp r0, 0x4 - bhi _08123C94 - lsls r0, 2 - ldr r1, =_08123C40 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08123C40: - .4byte _08123C94 - .4byte _08123C54 - .4byte _08123C64 - .4byte _08123C74 - .4byte _08123C84 -_08123C54: - ldr r2, =gUnknown_0203A144 - ldr r1, [r2] - movs r0, 0x8 - strh r0, [r1] - b _08123D10 - .pool -_08123C64: - ldr r2, =gUnknown_0203A144 - ldr r1, [r2] - movs r0, 0xC - strh r0, [r1] - b _08123D10 - .pool -_08123C74: - ldr r2, =gUnknown_0203A144 - ldr r1, [r2] - movs r0, 0x27 - strh r0, [r1] - b _08123D10 - .pool -_08123C84: - ldr r2, =gUnknown_0203A144 - ldr r1, [r2] - movs r0, 0x2E - strh r0, [r1] - b _08123D10 - .pool -_08123C94: - mov r0, sp - ldrb r0, [r0] - ldrb r1, [r4] - bl get_mapheader_by_bank_and_number - ldr r1, =gUnknown_0203A144 - mov r9, r1 - ldr r2, [r1] - ldrb r1, [r0, 0x14] - strh r1, [r2] - ldr r6, [r0] - ldr r1, =gRegionMapEntries - ldrh r0, [r2] - lsls r0, 3 - adds r5, r0, r1 - ldrb r4, [r5, 0x2] - ldr r0, [r6] - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _08123CC6 - movs r1, 0x1 -_08123CC6: - mov r2, r10 - movs r3, 0 - ldrsh r0, [r2, r3] - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r8, r4 - bcc _08123CE2 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_08123CE2: - ldrb r4, [r5, 0x3] - ldr r0, [r6, 0x4] - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _08123CF6 - movs r1, 0x1 -_08123CF6: - mov r2, sp - movs r3, 0x4 - ldrsh r0, [r2, r3] - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 - mov r2, r9 - cmp r7, r4 - bcc _08123D10 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 -_08123D10: - ldr r0, [r2] - adds r0, 0x7F - movs r1, 0 - strb r1, [r0] - ldr r2, [r2] - ldr r3, =gRegionMapEntries - ldrh r0, [r2] - lsls r0, 3 - adds r0, r3 - ldrb r0, [r0] - add r0, r8 - adds r0, 0x1 - adds r1, r2, 0 - adds r1, 0x54 - strh r0, [r1] - ldrh r0, [r2] - lsls r0, 3 - adds r0, r3 - ldrb r0, [r0, 0x1] - adds r0, r7, r0 - adds r0, 0x2 - adds r2, 0x56 - strh r0, [r2] - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8123C00 - - thumb_func_start get_flagnr_blue_points -get_flagnr_blue_points: @ 8123D58 - push {lr} - lsls r0, 16 - lsrs r0, 16 - adds r1, r0, 0 - cmp r0, 0x9 - beq _08123E18 - cmp r0, 0x9 - bgt _08123D9A - cmp r0, 0x4 - beq _08123DF0 - cmp r0, 0x4 - bgt _08123D88 - cmp r0, 0x1 - beq _08123DD8 - cmp r0, 0x1 - bgt _08123D7E - cmp r0, 0 - beq _08123DD0 - b _08123E94 -_08123D7E: - cmp r0, 0x2 - beq _08123DDE - cmp r0, 0x3 - beq _08123DE8 - b _08123E94 -_08123D88: - cmp r0, 0x6 - beq _08123E00 - cmp r0, 0x6 - blt _08123DF8 - cmp r0, 0x7 - beq _08123E08 - cmp r0, 0x8 - beq _08123E10 - b _08123E94 -_08123D9A: - cmp r0, 0xE - beq _08123E40 - cmp r0, 0xE - bgt _08123DB4 - cmp r0, 0xB - beq _08123E28 - cmp r0, 0xB - blt _08123E20 - cmp r0, 0xC - beq _08123E30 - cmp r0, 0xD - beq _08123E38 - b _08123E94 -_08123DB4: - cmp r0, 0x3A - beq _08123E60 - cmp r0, 0x3A - bgt _08123DC2 - cmp r0, 0xF - beq _08123E48 - b _08123E94 -_08123DC2: - cmp r1, 0x49 - beq _08123E7C - cmp r1, 0xD5 - beq _08123DCC - b _08123E94 -_08123DCC: - movs r0, 0 - b _08123E96 -_08123DD0: - ldr r0, =0x0000086f - b _08123E4A - .pool -_08123DD8: - movs r0, 0x87 - lsls r0, 4 - b _08123E4A -_08123DDE: - ldr r0, =0x00000871 - b _08123E4A - .pool -_08123DE8: - ldr r0, =0x00000872 - b _08123E4A - .pool -_08123DF0: - ldr r0, =0x00000873 - b _08123E4A - .pool -_08123DF8: - ldr r0, =0x00000874 - b _08123E4A - .pool -_08123E00: - ldr r0, =0x00000875 - b _08123E4A - .pool -_08123E08: - ldr r0, =0x00000876 - b _08123E4A - .pool -_08123E10: - ldr r0, =0x00000877 - b _08123E4A - .pool -_08123E18: - ldr r0, =0x00000878 - b _08123E4A - .pool -_08123E20: - ldr r0, =0x00000879 - b _08123E4A - .pool -_08123E28: - ldr r0, =0x0000087a - b _08123E4A - .pool -_08123E30: - ldr r0, =0x0000087b - b _08123E4A - .pool -_08123E38: - ldr r0, =0x0000087c - b _08123E4A - .pool -_08123E40: - ldr r0, =0x0000087d - b _08123E4A - .pool -_08123E48: - ldr r0, =0x0000087e -_08123E4A: - bl FlagGet - lsls r0, 24 - movs r1, 0x3 - cmp r0, 0 - beq _08123E58 - movs r1, 0x2 -_08123E58: - adds r0, r1, 0 - b _08123E96 - .pool -_08123E60: - ldr r0, =0x000008a8 - bl FlagGet - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - negs r0, r1 - orrs r0, r1 - asrs r0, 31 - movs r1, 0x4 - ands r0, r1 - b _08123E96 - .pool -_08123E7C: - ldr r0, =0x000008a9 - bl FlagGet - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - b _08123E96 - .pool -_08123E94: - movs r0, 0x1 -_08123E96: - pop {r1} - bx r1 - thumb_func_end get_flagnr_blue_points - - thumb_func_start sub_8123E9C -sub_8123E9C: @ 8123E9C - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - bl sub_812386C - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_8123E9C - - thumb_func_start sub_8123EB4 -sub_8123EB4: @ 8123EB4 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r1, =gUnknown_085A1B84 -_08123EBE: - ldrh r0, [r1] - cmp r0, r3 - bne _08123ED4 - bl sub_8123F04 - lsls r0, 16 - lsrs r0, 16 - b _08123F00 - .pool -_08123ED4: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, 0x2 - bls _08123EBE - ldr r1, =gUnknown_085A1B24 - ldrh r0, [r1] - cmp r0, 0xD5 - beq _08123EFE - adds r2, r1, 0 -_08123EE6: - ldrh r0, [r2] - cmp r0, r3 - bne _08123EF4 - ldrh r0, [r1, 0x2] - b _08123F00 - .pool -_08123EF4: - adds r1, 0x4 - adds r2, 0x4 - ldrh r0, [r1] - cmp r0, 0xD5 - bne _08123EE6 -_08123EFE: - adds r0, r3, 0 -_08123F00: - pop {r1} - bx r1 - thumb_func_end sub_8123EB4 - - thumb_func_start sub_8123F04 -sub_8123F04: @ 8123F04 - push {lr} - ldr r0, =0x00004037 - bl VarGet - subs r0, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0xF - bls _08123F18 - movs r1, 0 -_08123F18: - ldr r0, =gUnknown_085A1B8A - lsls r1, 16 - asrs r1, 15 - adds r1, r0 - ldrh r0, [r1] - pop {r1} - bx r1 - .pool - thumb_func_end sub_8123F04 - - thumb_func_start sub_8123F30 -sub_8123F30: @ 8123F30 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, =0x00004037 - bl VarGet - lsls r0, 16 - lsrs r1, r0, 16 - ldr r2, =0xfff70000 - adds r0, r2 - lsrs r0, 16 - cmp r0, 0x7 - bls _08123F4C - movs r1, 0x9 -_08123F4C: - subs r1, 0x9 - lsls r1, 16 - ldr r0, =gUnknown_085A1BAC - lsrs r1, 14 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r4] - ldrh r0, [r1, 0x2] - adds r0, 0x2 - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8123F30 - - thumb_func_start sub_8123F74 -sub_8123F74: @ 8123F74 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0 - ldr r3, =gUnknown_085A1BCC -_08123F7E: - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, r2 - bne _08123F90 - movs r0, 0x1 - b _08123F98 - .pool -_08123F90: - adds r1, 0x1 - cmp r1, 0 - beq _08123F7E - movs r0, 0 -_08123F98: - pop {r1} - bx r1 - thumb_func_end sub_8123F74 - - thumb_func_start sub_8123F9C -sub_8123F9C: @ 8123F9C - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl sub_8123EB4 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_8123F9C - - thumb_func_start sub_8123FB0 -sub_8123FB0: @ 8123FB0 - push {r4-r6,lr} - ldr r0, =gUnknown_0203A144 - ldr r1, [r0] - ldrh r0, [r1] - cmp r0, 0xD5 - bne _08123FC8 - movs r0, 0 - strb r0, [r1, 0x3] - b _0812402E - .pool -_08123FC8: - adds r0, r1, 0 - adds r0, 0x78 - ldrb r0, [r0] - cmp r0, 0 - bne _08123FD8 - adds r0, r1, 0 - adds r0, 0x54 - b _08123FDC -_08123FD8: - adds r0, r1, 0 - adds r0, 0x64 -_08123FDC: - ldrh r4, [r0] - adds r0, 0x2 - ldrh r5, [r0] - movs r6, 0 - b _08124008 -_08123FE6: - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_812386C - ldr r1, =gUnknown_0203A144 - ldr r1, [r1] - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r1] - cmp r0, r1 - bne _08124008 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_08124008: - cmp r4, 0x1 - bhi _08123FE6 - adds r0, r5, 0 - bl sub_8124038 - lsls r0, 24 - cmp r0, 0 - beq _08124028 - subs r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - movs r4, 0x1D - b _08124008 - .pool -_08124028: - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - strb r6, [r0, 0x3] -_0812402E: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8123FB0 - - thumb_func_start sub_8124038 -sub_8124038: @ 8124038 - push {r4,r5,lr} - lsls r0, 16 - ldr r1, =0xffff0000 - adds r0, r1 - lsrs r5, r0, 16 - ldr r0, =0x0000ffff - cmp r5, r0 - bne _08124058 - b _0812407A - .pool -_08124054: - movs r0, 0x1 - b _0812407C -_08124058: - movs r4, 0x1 -_0812405A: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_812386C - ldr r1, =gUnknown_0203A144 - ldr r1, [r1] - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r1] - cmp r0, r1 - beq _08124054 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1C - bls _0812405A -_0812407A: - movs r0, 0 -_0812407C: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8124038 - - thumb_func_start sub_8124088 -sub_8124088: @ 8124088 - push {r4,lr} - adds r2, r0, 0 - ldr r0, =gUnknown_0203A144 - ldr r1, [r0] - adds r3, r1, 0 - adds r3, 0x7A - movs r0, 0 - ldrsb r0, [r3, r0] - cmp r0, 0 - beq _081240C6 - adds r0, r1, 0 - adds r0, 0x7B - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 1 - ldrh r4, [r2, 0x20] - adds r0, r4 - strh r0, [r2, 0x20] - adds r0, r1, 0 - adds r0, 0x7C - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 1 - ldrh r1, [r2, 0x22] - adds r0, r1 - strh r0, [r2, 0x22] - ldrb r0, [r3] - subs r0, 0x1 - strb r0, [r3] -_081240C6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124088 - - thumb_func_start TaskDummy8 -TaskDummy8: @ 81240D0 - bx lr - thumb_func_end TaskDummy8 - - thumb_func_start sub_81240D4 -sub_81240D4: @ 81240D4 - push {r4-r7,lr} - sub sp, 0x28 - lsls r0, 16 - lsls r1, 16 - lsrs r6, r1, 16 - ldr r1, =gUnknown_085A1C00 - ldr r2, [r1, 0x4] - ldr r1, [r1] - str r1, [sp, 0x20] - str r2, [sp, 0x24] - mov r2, sp - ldr r1, =gUnknown_085A1C08 - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - lsrs r3, r0, 16 - add r2, sp, 0x18 - ldrh r1, [r2, 0x4] - orrs r1, r0 - str r1, [r2, 0x4] - mov r0, sp - strh r3, [r0] - ldr r0, =gUnknown_0203A144 - ldr r4, [r0] - adds r0, r4, 0 - adds r0, 0x58 - strh r3, [r0] - ldr r5, =0xffff0000 - add r1, sp, 0x20 - ldr r0, [r1, 0x4] - ands r0, r5 - orrs r0, r6 - str r0, [r1, 0x4] - mov r0, sp - strh r6, [r0, 0x2] - adds r3, r4, 0 - adds r0, r3, 0 - adds r0, 0x5A - strh r6, [r0] - adds r0, 0x1E - ldrb r0, [r0] - adds r7, r1, 0 - cmp r0, 0 - bne _08124158 - movs r1, 0xC2 - lsls r1, 1 - adds r0, r3, r1 - str r0, [sp, 0x18] - ldr r0, [r2, 0x4] - ands r0, r5 - subs r1, 0x84 - orrs r0, r1 - str r0, [r2, 0x4] - ldr r0, =sub_8124088 - b _0812416E - .pool -_08124158: - movs r3, 0xA1 - lsls r3, 2 - adds r0, r4, r3 - str r0, [sp, 0x18] - ldr r0, [r2, 0x4] - ands r0, r5 - movs r1, 0xC0 - lsls r1, 3 - orrs r0, r1 - str r0, [r2, 0x4] - ldr r0, =TaskDummy8 -_0812416E: - str r0, [sp, 0x14] - adds r0, r2, 0 - bl LoadSpriteSheet - adds r0, r7, 0 - bl LoadSpritePalette - mov r0, sp - movs r1, 0x38 - movs r2, 0x48 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _08124228 - ldr r4, =gUnknown_0203A144 - ldr r2, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r3, r0, r1 - str r3, [r2, 0x1C] - adds r2, 0x78 - ldrb r0, [r2] - cmp r0, 0x1 - bne _081241DC - ldrb r1, [r3, 0x3] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r3, 0x3] - ldr r2, [r4] - ldr r1, [r2, 0x1C] - ldrh r0, [r1, 0x20] - subs r0, 0x8 - strh r0, [r1, 0x20] - ldr r1, [r2, 0x1C] - ldrh r0, [r1, 0x22] - subs r0, 0x8 - strh r0, [r1, 0x22] - ldr r0, [r2, 0x1C] - movs r1, 0x1 - bl StartSpriteAnim - b _08124204 - .pool -_081241DC: - ldrb r1, [r3, 0x3] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r3, 0x3] - ldr r1, [r4] - ldr r2, [r1, 0x1C] - adds r0, r1, 0 - adds r0, 0x54 - ldrh r0, [r0] - lsls r0, 3 - adds r0, 0x4 - strh r0, [r2, 0x20] - ldr r2, [r1, 0x1C] - adds r1, 0x56 - ldrh r0, [r1] - lsls r0, 3 - adds r0, 0x4 - strh r0, [r2, 0x22] -_08124204: - ldr r4, =gUnknown_0203A144 - ldr r0, [r4] - ldr r1, [r0, 0x1C] - movs r0, 0x2 - strh r0, [r1, 0x30] - adds r0, r6, 0 - bl IndexOfSpritePaletteTag - ldr r1, [r4] - ldr r2, [r1, 0x1C] - lsls r0, 24 - lsrs r0, 20 - ldr r4, =0x00000101 - adds r0, r4 - strh r0, [r2, 0x32] - ldr r1, [r1, 0x1C] - movs r0, 0x1 - strh r0, [r1, 0x34] -_08124228: - add sp, 0x28 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81240D4 - - thumb_func_start sub_8124238 -sub_8124238: @ 8124238 - push {r4,lr} - ldr r4, =gUnknown_0203A144 - ldr r0, [r4] - ldr r0, [r0, 0x1C] - cmp r0, 0 - beq _0812425C - bl DestroySprite - ldr r0, [r4] - adds r0, 0x58 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r4] - adds r0, 0x5A - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_0812425C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124238 - - thumb_func_start sub_8124268 -sub_8124268: @ 8124268 - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - ldr r1, [r0, 0x1C] - movs r0, 0x1 - strh r0, [r1, 0x34] - bx lr - .pool - thumb_func_end sub_8124268 - - thumb_func_start sub_8124278 -sub_8124278: @ 8124278 - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - ldr r1, [r0, 0x1C] - movs r0, 0 - strh r0, [r1, 0x34] - bx lr - .pool - thumb_func_end sub_8124278 - - thumb_func_start sub_8124288 -sub_8124288: @ 8124288 - push {r4-r6,lr} - sub sp, 0x28 - lsls r0, 16 - lsls r1, 16 - lsrs r1, 16 - ldr r2, =gUnknown_085A084C - str r2, [sp, 0x18] - movs r2, 0x80 - add r6, sp, 0x18 - lsrs r3, r0, 16 - orrs r0, r2 - str r0, [r6, 0x4] - ldr r0, =gUnknown_085A082C - str r0, [sp, 0x20] - ldr r2, =0xffff0000 - add r4, sp, 0x20 - ldr r0, [r4, 0x4] - ands r0, r2 - orrs r0, r1 - str r0, [r4, 0x4] - mov r0, sp - movs r5, 0 - strh r3, [r0] - strh r1, [r0, 0x2] - ldr r0, =gUnknown_085A1C20 - str r0, [sp, 0x4] - ldr r0, =gUnknown_085A1C30 - str r0, [sp, 0x8] - str r5, [sp, 0xC] - ldr r0, =gDummySpriteAffineAnimTable - str r0, [sp, 0x10] - ldr r0, =SpriteCallbackDummy - str r0, [sp, 0x14] - ldr r0, =gMapHeader - ldrb r0, [r0, 0x14] - bl sub_8124668 - cmp r0, 0 - beq _08124304 - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - str r5, [r0, 0x20] - b _081243A4 - .pool -_08124304: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0x1 - bne _08124316 - ldr r0, =gUnknown_085A08EC - str r0, [sp, 0x18] - ldr r0, =gUnknown_085A08CC - str r0, [sp, 0x20] -_08124316: - adds r0, r6, 0 - bl LoadSpriteSheet - adds r0, r4, 0 - bl LoadSpritePalette - mov r0, sp - movs r1, 0 - movs r2, 0 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203A144 - ldr r2, [r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - str r1, [r2, 0x20] - adds r0, r2, 0 - adds r0, 0x78 - ldrb r0, [r0] - cmp r0, 0 - bne _08124384 - adds r0, r2, 0 - adds r0, 0x74 - ldrh r0, [r0] - lsls r0, 3 - adds r0, 0x4 - strh r0, [r1, 0x20] - ldr r1, [r2, 0x20] - adds r0, r2, 0 - adds r0, 0x76 - ldrh r0, [r0] - lsls r0, 3 - adds r0, 0x4 - strh r0, [r1, 0x22] - ldr r1, [r2, 0x20] - ldr r0, =sub_81244EC - b _081243A2 - .pool -_08124384: - adds r0, r2, 0 - adds r0, 0x74 - ldrh r0, [r0] - lsls r0, 4 - subs r0, 0x30 - strh r0, [r1, 0x20] - ldr r1, [r2, 0x20] - adds r0, r2, 0 - adds r0, 0x76 - ldrh r0, [r0] - lsls r0, 4 - subs r0, 0x42 - strh r0, [r1, 0x22] - ldr r1, [r2, 0x20] - ldr r0, =sub_812445C -_081243A2: - str r0, [r1, 0x1C] -_081243A4: - add sp, 0x28 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124288 - - thumb_func_start sub_81243B0 -sub_81243B0: @ 81243B0 - push {lr} - ldr r3, =gUnknown_0203A144 - ldr r0, [r3] - ldr r2, [r0, 0x20] - cmp r2, 0 - beq _081243CE - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r3] - ldr r1, [r0, 0x20] - ldr r0, =SpriteCallbackDummy - str r0, [r1, 0x1C] -_081243CE: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81243B0 - - thumb_func_start sub_81243DC -sub_81243DC: @ 81243DC - push {lr} - ldr r0, =gUnknown_0203A144 - ldr r3, [r0] - ldr r1, [r3, 0x20] - cmp r1, 0 - beq _08124452 - adds r0, r3, 0 - adds r0, 0x78 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0812441C - adds r0, r3, 0 - adds r0, 0x74 - ldrh r0, [r0] - lsls r0, 4 - subs r0, 0x30 - strh r0, [r1, 0x20] - ldr r1, [r3, 0x20] - adds r0, r3, 0 - adds r0, 0x76 - ldrh r0, [r0] - lsls r0, 4 - subs r0, 0x42 - strh r0, [r1, 0x22] - ldr r1, [r3, 0x20] - ldr r0, =sub_812445C - b _08124444 - .pool -_0812441C: - adds r0, r3, 0 - adds r0, 0x74 - ldrh r0, [r0] - lsls r0, 3 - adds r0, 0x4 - movs r2, 0 - strh r0, [r1, 0x20] - ldr r1, [r3, 0x20] - adds r0, r3, 0 - adds r0, 0x76 - ldrh r0, [r0] - lsls r0, 3 - adds r0, 0x4 - strh r0, [r1, 0x22] - ldr r0, [r3, 0x20] - strh r2, [r0, 0x24] - ldr r0, [r3, 0x20] - strh r2, [r0, 0x26] - ldr r1, [r3, 0x20] - ldr r0, =sub_81244EC -_08124444: - str r0, [r1, 0x1C] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] -_08124452: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81243DC - - thumb_func_start sub_812445C -sub_812445C: @ 812445C - push {r4,lr} - adds r3, r0, 0 - ldr r0, =gUnknown_0203A144 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x5C - movs r4, 0 - ldrsh r2, [r0, r4] - lsls r2, 1 - negs r2, r2 - strh r2, [r3, 0x24] - adds r1, 0x5E - movs r4, 0 - ldrsh r0, [r1, r4] - lsls r0, 1 - negs r0, r0 - strh r0, [r3, 0x26] - ldrh r1, [r3, 0x22] - adds r1, r0 - adds r0, r3, 0 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - strh r0, [r3, 0x2E] - ldrh r1, [r3, 0x20] - adds r1, r2 - adds r2, r3, 0 - adds r2, 0x28 - ldrb r2, [r2] - lsls r2, 24 - asrs r2, 24 - adds r2, r1 - strh r2, [r3, 0x30] - adds r0, 0x8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xB0 - bhi _081244BC - lsls r0, r2, 16 - asrs r2, r0, 16 - movs r0, 0x8 - negs r0, r0 - cmp r2, r0 - blt _081244BC - cmp r2, 0xF8 - ble _081244C4 -_081244BC: - movs r0, 0 - b _081244C6 - .pool -_081244C4: - movs r0, 0x1 -_081244C6: - strh r0, [r3, 0x32] - movs r1, 0x32 - ldrsh r0, [r3, r1] - cmp r0, 0x1 - bne _081244D8 - adds r0, r3, 0 - bl sub_81244F8 - b _081244E4 -_081244D8: - adds r0, r3, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_081244E4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812445C - - thumb_func_start sub_81244EC -sub_81244EC: @ 81244EC - push {lr} - bl sub_81244F8 - pop {r0} - bx r0 - thumb_func_end sub_81244EC - - thumb_func_start sub_81244F8 -sub_81244F8: @ 81244F8 - push {lr} - adds r2, r0, 0 - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - adds r0, 0x7E - ldrb r0, [r0] - cmp r0, 0 - beq _0812453C - ldrh r0, [r2, 0x3C] - adds r0, 0x1 - strh r0, [r2, 0x3C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _08124548 - movs r0, 0 - strh r0, [r2, 0x3C] - adds r3, r2, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsrs r1, r2, 2 - movs r0, 0x1 - eors r1, r0 - ands r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _08124548 - .pool -_0812453C: - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_08124548: - pop {r0} - bx r0 - thumb_func_end sub_81244F8 - - thumb_func_start sub_812454C -sub_812454C: @ 812454C - push {lr} - ldr r0, =gUnknown_0203A144 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x7F - ldrb r0, [r0] - cmp r0, 0 - beq _08124562 - adds r1, 0x7E - movs r0, 0x1 - strb r0, [r1] -_08124562: - pop {r0} - bx r0 - .pool - thumb_func_end sub_812454C - - thumb_func_start GetMapName -@ u8 *GetMapName(u8 *dest, u16 regionMapId, u16 padLength) -GetMapName: @ 812456C - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r4, r2, 16 - cmp r1, 0x56 - bne _08124584 - bl GetSecretBaseMapName - adds r1, r0, 0 - b _081245B2 -_08124584: - cmp r1, 0xD4 - bhi _081245A0 - ldr r0, =gRegionMapEntries - lsls r1, 3 - adds r0, 0x4 - adds r1, r0 - ldr r1, [r1] - adds r0, r5, 0 - bl StringCopy - adds r1, r0, 0 - b _081245B2 - .pool -_081245A0: - cmp r4, 0 - bne _081245A6 - movs r4, 0x12 -_081245A6: - adds r0, r5, 0 - movs r1, 0 - adds r2, r4, 0 - bl StringFill - b _081245D6 -_081245B2: - cmp r4, 0 - beq _081245D4 - subs r0, r1, r5 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - bcs _081245D0 - movs r2, 0 -_081245C2: - strb r2, [r1] - adds r1, 0x1 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - bcc _081245C2 -_081245D0: - movs r0, 0xFF - strb r0, [r1] -_081245D4: - adds r0, r1, 0 -_081245D6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetMapName - - thumb_func_start sub_81245DC -sub_81245DC: @ 81245DC - push {lr} - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x56 - beq _081245F8 - cmp r1, 0x57 - bne _08124604 - ldr r1, =gText_Ferry - bl StringCopy - b _0812460A - .pool -_081245F8: - ldr r1, =gText_SecretBase - bl StringCopy - b _0812460A - .pool -_08124604: - movs r2, 0 - bl GetMapName -_0812460A: - pop {r1} - bx r1 - thumb_func_end sub_81245DC - - thumb_func_start sub_8124610 -sub_8124610: @ 8124610 - push {lr} - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x42 - beq _08124620 - bl sub_81245DC - b _08124626 -_08124620: - ldr r1, =gText_Hideout - bl StringCopy -_08124626: - pop {r1} - bx r1 - .pool - thumb_func_end sub_8124610 - - thumb_func_start sub_8124630 -sub_8124630: @ 8124630 - push {r4,r5,lr} - ldr r5, [sp, 0xC] - lsls r0, 16 - ldr r4, =gRegionMapEntries - lsrs r0, 13 - adds r0, r4 - ldrb r4, [r0] - strh r4, [r1] - ldrb r1, [r0, 0x1] - strh r1, [r2] - ldrb r1, [r0, 0x2] - strh r1, [r3] - ldrb r0, [r0, 0x3] - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124630 - - thumb_func_start sub_8124658 -sub_8124658: @ 8124658 - ldr r0, =gUnknown_0203A144 - ldr r0, [r0] - adds r0, 0x78 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8124658 - - thumb_func_start sub_8124668 -sub_8124668: @ 8124668 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0 - ldr r3, =gUnknown_085A1C34 -_08124672: - adds r0, r1, r3 - ldrb r0, [r0] - cmp r2, r0 - bne _08124684 - movs r0, 0x1 - b _0812468C - .pool -_08124684: - adds r1, 0x1 - cmp r1, 0x2 - bls _08124672 - movs r0, 0 -_0812468C: - pop {r1} - bx r1 - thumb_func_end sub_8124668 - - thumb_func_start sub_8124690 -sub_8124690: @ 8124690 - push {r4,lr} - sub sp, 0xC - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xA - bls _081246A4 - b _081248AA -_081246A4: - lsls r0, 2 - ldr r1, =_081246B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081246B8: - .4byte _081246E4 - .4byte _08124766 - .4byte _0812477C - .4byte _0812478C - .4byte _0812479C - .4byte _081247E4 - .4byte _081247F8 - .4byte _0812480C - .4byte _0812484C - .4byte _08124852 - .4byte _0812486C -_081246E4: - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1C - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - ldr r4, =gUnknown_0203A148 - ldr r0, =0x00000a74 - bl Alloc - str r0, [r4] - cmp r0, 0 - bne _08124754 - ldr r0, =sub_8086194 - bl SetMainCallback2 - b _081248AA - .pool -_08124754: - bl ResetPaletteFade - bl ResetSpriteData - bl FreeSpriteTileRanges - bl FreeAllSpritePalettes - b _0812489C -_08124766: - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085A1EE4 - movs r0, 0x1 - movs r2, 0x3 - bl InitBgsFromTemplates - b _0812489C - .pool -_0812477C: - ldr r0, =gUnknown_085A1EF0 - bl InitWindows - bl DeactivateAllTextPrinters - b _0812489C - .pool -_0812478C: - movs r0, 0 - movs r1, 0x65 - movs r2, 0xD0 - bl sub_809882C - bl clear_scheduled_bg_copies_to_vram - b _0812489C -_0812479C: - ldr r4, =gUnknown_0203A148 - ldr r0, [r4] - adds r0, 0x8 - movs r1, 0 - bl sub_8122CDC - movs r0, 0 - movs r1, 0 - bl sub_81240D4 - movs r0, 0x1 - movs r1, 0x1 - bl sub_8124288 - ldr r0, [r4] - ldrh r1, [r0, 0x8] - strh r1, [r0, 0x6] - ldr r1, =0x00000a4c - adds r0, r1 - movs r1, 0 - movs r2, 0x10 - bl StringFill - ldr r1, =gUnknown_03001180 - movs r0, 0x1 - str r0, [r1] - bl sub_8124904 - b _0812489C - .pool -_081247E4: - ldr r0, =gUnknown_085A1C58 - ldr r1, =0x0600c000 - bl LZ77UnCompVram - b _0812489C - .pool -_081247F8: - ldr r0, =gUnknown_085A1C90 - ldr r1, =0x0600f000 - bl LZ77UnCompVram - b _0812489C - .pool -_0812480C: - ldr r0, =gUnknown_085A1C38 - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - movs r0, 0x2 - bl PutWindowTilemap - movs r0, 0x2 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r2, =gText_FlyToWhere - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - b _0812489C - .pool -_0812484C: - bl sub_8124A70 - b _0812489C -_08124852: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r0, =sub_81248C0 - bl SetVBlankCallback - b _0812489C - .pool -_0812486C: - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuRegBits - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - ldr r0, =sub_8124D14 - bl sub_81248F4 - ldr r0, =sub_81248D4 - bl SetMainCallback2 -_0812489C: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_081248AA: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124690 - - thumb_func_start sub_81248C0 -sub_81248C0: @ 81248C0 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_81248C0 - - thumb_func_start sub_81248D4 -sub_81248D4: @ 81248D4 - push {lr} - ldr r0, =gUnknown_0203A148 - ldr r0, [r0] - ldr r0, [r0] - bl _call_via_r0 - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - pop {r0} - bx r0 - .pool - thumb_func_end sub_81248D4 - - thumb_func_start sub_81248F4 -sub_81248F4: @ 81248F4 - ldr r1, =gUnknown_0203A148 - ldr r1, [r1] - str r0, [r1] - movs r0, 0 - strh r0, [r1, 0x4] - bx lr - .pool - thumb_func_end sub_81248F4 - - thumb_func_start sub_8124904 -sub_8124904: @ 8124904 - push {r4-r7,lr} - sub sp, 0xC - ldr r2, =gUnknown_0203A148 - ldr r0, [r2] - ldrb r0, [r0, 0xA] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _0812491A - b _08124A2C -_0812491A: - movs r7, 0 - movs r3, 0 - ldr r0, =gUnknown_085A1EDC - mov r12, r0 - adds r5, r2, 0 - movs r6, 0 -_08124926: - ldr r0, [r5] - lsls r1, r3, 3 - mov r2, r12 - adds r4, r1, r2 - ldrh r0, [r0, 0x8] - ldrh r1, [r4, 0x4] - cmp r0, r1 - bne _081249C4 - ldrh r0, [r4, 0x6] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081249CE - ldr r0, [r5] - ldrb r0, [r0, 0xB] - ldr r1, [r4] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl StringLength - movs r7, 0x1 - movs r0, 0 - movs r1, 0 - bl sub_8198070 - movs r0, 0x1 - movs r1, 0 - movs r2, 0x65 - movs r3, 0xD - bl SetWindowBorderStyle - ldr r2, [r5] - adds r2, 0xC - str r7, [sp] - str r6, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - ldr r0, [r5] - ldrb r0, [r0, 0xB] - ldr r1, [r4] - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x60 - bl GetStringRightAlignXOffset - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x11 - str r0, [sp] - str r6, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - adds r2, r4, 0 - bl PrintTextOnWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, =gUnknown_03001180 - str r7, [r0] - b _081249CE - .pool -_081249C4: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - beq _08124926 -_081249CE: - cmp r7, 0 - bne _08124A62 - ldr r0, =gUnknown_03001180 - ldr r0, [r0] - cmp r0, 0x1 - bne _081249F4 - movs r0, 0x1 - movs r1, 0 - bl sub_8198070 - movs r0, 0 - movs r1, 0 - movs r2, 0x65 - movs r3, 0xD - bl SetWindowBorderStyle - b _081249FC - .pool -_081249F4: - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer -_081249FC: - ldr r0, =gUnknown_0203A148 - ldr r2, [r0] - adds r2, 0xC - movs r0, 0x1 - str r0, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, =gUnknown_03001180 - str r4, [r0] - b _08124A62 - .pool -_08124A2C: - ldr r4, =gUnknown_03001180 - ldr r0, [r4] - cmp r0, 0x1 - bne _08124A48 - movs r0, 0x1 - movs r1, 0 - bl sub_8198070 - movs r0, 0 - movs r1, 0 - movs r2, 0x65 - movs r3, 0xD - bl SetWindowBorderStyle -_08124A48: - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0 - str r0, [r4] -_08124A62: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124904 - - thumb_func_start sub_8124A70 -sub_8124A70: @ 8124A70 - push {r4,r5,lr} - sub sp, 0x8 - ldr r0, =gUnknown_085A1D68 - ldr r5, =gUnknown_0203A148 - ldr r1, [r5] - ldr r4, =0x0000088c - adds r1, r4 - bl LZ77UnCompWram - ldr r0, [r5] - adds r0, r4 - str r0, [sp] - ldr r1, =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r1 - movs r1, 0xE0 - lsls r1, 1 - orrs r0, r1 - ldr r1, =0x0000ffff - ands r0, r1 - movs r1, 0x80 - lsls r1, 10 - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - ldr r0, =gUnknown_085A1F10 - bl LoadSpritePalette - bl sub_8124AD4 - bl sub_8124BE4 - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124A70 - - thumb_func_start sub_8124AD4 -sub_8124AD4: @ 8124AD4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - ldr r0, =0x0000086f - str r0, [sp, 0xC] - movs r1, 0 - mov r9, r1 - mov r2, sp - adds r2, 0x6 - str r2, [sp, 0x14] - mov r3, sp - adds r3, 0xA - str r3, [sp, 0x18] - mov r0, sp - adds r0, 0x8 - str r0, [sp, 0x10] - add r1, sp, 0x4 - mov r10, r1 -_08124AFE: - ldr r2, [sp, 0x18] - str r2, [sp] - mov r0, r9 - add r1, sp, 0x4 - mov r2, sp - adds r2, 0x6 - ldr r3, [sp, 0x10] - bl sub_8124630 - mov r3, r10 - ldrh r0, [r3] - adds r0, 0x1 - lsls r0, 3 - adds r0, 0x4 - strh r0, [r3] - mov r1, sp - ldrh r0, [r1, 0x6] - adds r0, 0x2 - lsls r0, 3 - adds r0, 0x4 - strh r0, [r1, 0x6] - ldr r2, [sp, 0x10] - ldrh r0, [r2] - cmp r0, 0x2 - bne _08124B38 - movs r7, 0x1 - b _08124B44 - .pool -_08124B38: - ldr r3, [sp, 0x18] - ldrh r0, [r3] - movs r7, 0 - cmp r0, 0x2 - bne _08124B44 - movs r7, 0x2 -_08124B44: - mov r0, r10 - movs r2, 0 - ldrsh r1, [r0, r2] - ldr r3, [sp, 0x14] - movs r0, 0 - ldrsh r2, [r3, r0] - ldr r0, =gUnknown_085A1F7C - movs r3, 0xA - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x40 - beq _08124BB8 - ldr r1, =gSprites - mov r8, r1 - lsls r4, r5, 4 - adds r0, r4, r5 - lsls r6, r0, 2 - adds r2, r6, r1 - lsls r3, r7, 6 - ldrb r1, [r2, 0x1] - movs r0, 0x3F - ands r0, r1 - orrs r0, r3 - strb r0, [r2, 0x1] - ldr r0, [sp, 0xC] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08124B9C - mov r0, r8 - adds r0, 0x1C - adds r0, r6, r0 - ldr r1, =sub_8124CBC - str r1, [r0] - b _08124BA2 - .pool -_08124B9C: - adds r0, r7, 0x3 - lsls r0, 16 - lsrs r7, r0, 16 -_08124BA2: - adds r4, r5 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - lsls r1, r7, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - mov r2, r9 - strh r2, [r4, 0x2E] -_08124BB8: - ldr r0, [sp, 0xC] - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0xC] - mov r0, r9 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - cmp r0, 0xF - bls _08124AFE - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124AD4 - - thumb_func_start sub_8124BE4 -sub_8124BE4: @ 8124BE4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - movs r0, 0 - mov r8, r0 - ldr r6, =gUnknown_085A1F18 - ldrh r0, [r6, 0x2] - cmp r0, 0xD5 - beq _08124C9C - mov r5, sp - adds r5, 0x6 - add r7, sp, 0x4 - ldr r1, =gSprites - mov r9, r1 - movs r0, 0x1C - add r0, r9 - mov r10, r0 -_08124C0C: - mov r1, r8 - lsls r4, r1, 2 - adds r0, r4, r6 - ldrh r0, [r0] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08124C84 - adds r0, r6, 0x2 - adds r0, r4, r0 - ldrh r6, [r0] - mov r0, sp - adds r0, 0xA - str r0, [sp] - adds r0, r6, 0 - add r1, sp, 0x4 - adds r2, r5, 0 - add r3, sp, 0x8 - bl sub_8124630 - ldrh r0, [r7] - adds r0, 0x1 - lsls r0, 3 - strh r0, [r7] - ldrh r0, [r5] - adds r0, 0x2 - lsls r0, 3 - strh r0, [r5] - movs r0, 0 - ldrsh r1, [r7, r0] - movs r0, 0 - ldrsh r2, [r5, r0] - ldr r0, =gUnknown_085A1F7C - movs r3, 0xA - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08124C84 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - mov r1, r9 - adds r4, r2, r1 - ldrb r1, [r4, 0x3] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r4, 0x3] - add r2, r10 - ldr r0, =sub_8124CBC - str r0, [r2] - adds r0, r4, 0 - movs r1, 0x6 - bl StartSpriteAnim - strh r6, [r4, 0x2E] -_08124C84: - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r6, =gUnknown_085A1F18 - lsls r0, 2 - adds r1, r6, 0x2 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0xD5 - bne _08124C0C -_08124C9C: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124BE4 - - thumb_func_start sub_8124CBC -sub_8124CBC: @ 8124CBC - push {lr} - adds r2, r0, 0 - ldr r0, =gUnknown_0203A148 - ldr r0, [r0] - ldrh r1, [r0, 0x8] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r1, r0 - bne _08124D00 - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _08124D0E - movs r0, 0 - strh r0, [r2, 0x30] - adds r3, r2, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsrs r1, r2, 2 - movs r0, 0x1 - eors r1, r0 - ands r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _08124D0E - .pool -_08124D00: - movs r0, 0x10 - strh r0, [r2, 0x30] - adds r2, 0x3E - ldrb r1, [r2] - subs r0, 0x15 - ands r0, r1 - strb r0, [r2] -_08124D0E: - pop {r0} - bx r0 - thumb_func_end sub_8124CBC - - thumb_func_start sub_8124D14 -sub_8124D14: @ 8124D14 - push {r4,lr} - sub sp, 0x4 - ldr r4, =gUnknown_0203A148 - ldr r0, [r4] - ldrh r1, [r0, 0x4] - cmp r1, 0 - beq _08124D2C - cmp r1, 0x1 - beq _08124D46 - b _08124D56 - .pool -_08124D2C: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, [r4] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _08124D56 -_08124D46: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _08124D56 - ldr r0, =sub_8124D64 - bl sub_81248F4 -_08124D56: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124D14 - - thumb_func_start sub_8124D64 -sub_8124D64: @ 8124D64 - push {r4,lr} - ldr r0, =gUnknown_0203A148 - ldr r0, [r0] - ldrh r0, [r0, 0x4] - cmp r0, 0 - bne _08124DF8 - bl sub_81230AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bhi _08124DF8 - lsls r0, 2 - ldr r1, =_08124D90 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08124D90: - .4byte _08124DF8 - .4byte _08124DF8 - .4byte _08124DF8 - .4byte _08124DA8 - .4byte _08124DAE - .4byte _08124DE0 -_08124DA8: - bl sub_8124904 - b _08124DF8 -_08124DAE: - ldr r4, =gUnknown_0203A148 - ldr r0, [r4] - ldrb r0, [r0, 0xA] - cmp r0, 0x2 - beq _08124DBC - cmp r0, 0x4 - bne _08124DF8 -_08124DBC: - movs r0, 0x5 - bl m4aSongNumStart - ldr r0, [r4] - ldr r1, =0x00000a72 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, =sub_8124E0C - bl sub_81248F4 - b _08124DF8 - .pool -_08124DE0: - movs r0, 0x5 - bl m4aSongNumStart - ldr r0, =gUnknown_0203A148 - ldr r0, [r0] - ldr r1, =0x00000a72 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r0, =sub_8124E0C - bl sub_81248F4 -_08124DF8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124D64 - - thumb_func_start sub_8124E0C -sub_8124E0C: @ 8124E0C - push {r4,lr} - sub sp, 0x4 - ldr r4, =gUnknown_0203A148 - ldr r0, [r4] - ldrh r1, [r0, 0x4] - cmp r1, 0 - beq _08124E24 - cmp r1, 0x1 - beq _08124E3E - b _08124F1A - .pool -_08124E24: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r4] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _08124F1A -_08124E3E: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _08124F1A - bl sub_812305C - ldr r1, [r4] - ldr r2, =0x00000a72 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _08124F00 - ldrh r0, [r1, 0x8] - cmp r0, 0xF - beq _08124E98 - cmp r0, 0xF - bgt _08124E6C - cmp r0, 0 - beq _08124E84 - b _08124EBC - .pool -_08124E6C: - cmp r0, 0x3A - beq _08124E7C - cmp r0, 0x49 - bne _08124EBC - movs r0, 0x15 - bl sub_8084CCC - b _08124EFA -_08124E7C: - movs r0, 0x16 - bl sub_8084CCC - b _08124EFA -_08124E84: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - movs r1, 0xD - cmp r0, 0 - bne _08124EB0 - movs r1, 0xC - b _08124EB0 - .pool -_08124E98: - ldr r0, =0x000008b4 - bl FlagGet - lsls r0, 24 - movs r1, 0xB - cmp r0, 0 - beq _08124EB0 - ldr r0, [r4] - ldrb r0, [r0, 0xB] - cmp r0, 0 - bne _08124EB0 - movs r1, 0x14 -_08124EB0: - adds r0, r1, 0 - bl sub_8084CCC - b _08124EFA - .pool -_08124EBC: - ldr r3, =gUnknown_085A1E3C - ldr r0, =gUnknown_0203A148 - ldr r0, [r0] - ldrh r1, [r0, 0x8] - lsls r0, r1, 1 - adds r2, r0, r1 - adds r0, r3, 0x2 - adds r1, r2, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _08124EE0 - bl sub_8084CCC - b _08124EFA - .pool -_08124EE0: - adds r0, r2, r3 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - movs r2, 0x1 - negs r2, r2 - bl warp1_set_2 -_08124EFA: - bl sub_80B69DC - b _08124F06 -_08124F00: - ldr r0, =sub_81B58A8 - bl SetMainCallback2 -_08124F06: - ldr r4, =gUnknown_0203A148 - ldr r0, [r4] - cmp r0, 0 - beq _08124F16 - bl Free - movs r0, 0 - str r0, [r4] -_08124F16: - bl FreeAllWindowBuffers -_08124F1A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8124E0C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/reset_rtc_screen.s b/asm/reset_rtc_screen.s deleted file mode 100644 index 1f5ef83d8c..0000000000 --- a/asm/reset_rtc_screen.s +++ /dev/null @@ -1,1342 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_809E8E8 -sub_809E8E8: @ 809E8E8 - push {lr} - adds r3, r0, 0 - ldr r2, =gTasks - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0xC - ldrsh r1, [r0, r2] - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r1, r0 - beq _0809E9FE - strh r1, [r3, 0x30] - subs r0, r1, 0x1 - cmp r0, 0x5 - bhi _0809E9FE - lsls r0, 2 - ldr r1, =_0809E920 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0809E920: - .4byte _0809E938 - .4byte _0809E95C - .4byte _0809E980 - .4byte _0809E9A4 - .4byte _0809E9CE - .4byte _0809E9F8 -_0809E938: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x41 - ands r0, r1 - strb r0, [r2] - movs r0, 0x35 - b _0809E9C6 -_0809E95C: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x41 - ands r0, r1 - strb r0, [r2] - movs r0, 0x56 - b _0809E9C6 -_0809E980: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x41 - ands r0, r1 - strb r0, [r2] - movs r0, 0x65 - b _0809E9C6 -_0809E9A4: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x41 - ands r0, r1 - strb r0, [r2] - movs r0, 0x74 -_0809E9C6: - strh r0, [r3, 0x20] - movs r0, 0x44 - strh r0, [r3, 0x22] - b _0809E9FE -_0809E9CE: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x2 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x42 - ands r0, r1 - strb r0, [r2] - movs r0, 0x99 - strh r0, [r3, 0x20] - movs r0, 0x50 - strh r0, [r3, 0x22] - b _0809E9FE -_0809E9F8: - adds r0, r3, 0 - bl DestroySprite -_0809E9FE: - pop {r0} - bx r0 - thumb_func_end sub_809E8E8 - - thumb_func_start sub_809EA04 -sub_809EA04: @ 809EA04 - push {lr} - adds r3, r0, 0 - ldr r2, =gTasks - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0xC - ldrsh r1, [r0, r2] - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r1, r0 - beq _0809EAFE - strh r1, [r3, 0x30] - subs r0, r1, 0x1 - cmp r0, 0x5 - bhi _0809EAFE - lsls r0, 2 - ldr r1, =_0809EA3C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0809EA3C: - .4byte _0809EA54 - .4byte _0809EA78 - .4byte _0809EA9C - .4byte _0809EAC0 - .4byte _0809EAEA - .4byte _0809EAF8 -_0809EA54: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x40 - ands r0, r1 - strb r0, [r2] - movs r0, 0x35 - b _0809EAE2 -_0809EA78: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x40 - ands r0, r1 - strb r0, [r2] - movs r0, 0x56 - b _0809EAE2 -_0809EA9C: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x40 - ands r0, r1 - strb r0, [r2] - movs r0, 0x65 - b _0809EAE2 -_0809EAC0: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x40 - ands r0, r1 - strb r0, [r2] - movs r0, 0x74 -_0809EAE2: - strh r0, [r3, 0x20] - movs r0, 0x5C - strh r0, [r3, 0x22] - b _0809EAFE -_0809EAEA: - adds r0, r3, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _0809EAFE -_0809EAF8: - adds r0, r3, 0 - bl DestroySprite -_0809EAFE: - pop {r0} - bx r0 - thumb_func_end sub_809EA04 - - thumb_func_start sub_809EB04 -sub_809EB04: @ 809EB04 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gUnknown_085104C4 - bl LoadSpritePalette - ldr r0, =gSpriteTemplate_85104F0 - mov r8, r0 - movs r1, 0x35 - movs r2, 0x44 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - ldr r6, =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r6, 0 - adds r4, 0x1C - adds r2, r0, r4 - ldr r1, =sub_809E8E8 - str r1, [r2] - adds r0, r6 - strh r5, [r0, 0x2E] - ldr r1, =0x0000ffff - strh r1, [r0, 0x30] - mov r0, r8 - movs r1, 0x35 - movs r2, 0x44 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r0, r4 - ldr r1, =sub_809EA04 - str r1, [r4] - adds r0, r6 - strh r5, [r0, 0x2E] - movs r1, 0x1 - negs r1, r1 - strh r1, [r0, 0x30] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809EB04 - - thumb_func_start sub_809EB8C -sub_809EB8C: @ 809EB8C - push {lr} - ldr r0, =gUnknown_085104C4 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - pop {r0} - bx r0 - .pool - thumb_func_end sub_809EB8C - - thumb_func_start sub_809EBA0 -sub_809EBA0: @ 809EBA0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl sub_8198070 - adds r0, r4, 0 - bl RemoveWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_809EBA0 - - thumb_func_start sub_809EBC4 -sub_809EBC4: @ 809EBC4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - mov r10, r0 - adds r0, r1, 0 - mov r9, r2 - adds r1, r3, 0 - ldr r5, [sp, 0x30] - ldr r6, [sp, 0x34] - ldr r2, [sp, 0x38] - mov r8, r2 - mov r2, r10 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - lsls r3, r0, 24 - lsrs r3, 24 - str r3, [sp, 0xC] - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 16 - lsrs r1, 16 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - mov r2, r8 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - ldr r7, =gStringVar4 - ldr r4, =gStringVar1 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - adds r0, r7, 0 - adds r1, r4, 0 - bl StringCopy - adds r7, r0, 0 - ldr r1, =gText_Day - bl StringCopy - adds r7, r0, 0 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r0, r7, 0 - adds r1, r4, 0 - bl StringCopy - adds r7, r0, 0 - ldr r5, =gText_Colon3 - adds r1, r5, 0 - bl StringCopy - adds r7, r0, 0 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - adds r0, r7, 0 - adds r1, r4, 0 - bl StringCopy - adds r7, r0, 0 - adds r1, r5, 0 - bl StringCopy - adds r7, r0, 0 - adds r0, r4, 0 - mov r1, r8 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - adds r0, r7, 0 - adds r1, r4, 0 - bl StringCopy - ldr r2, =gStringVar4 - mov r0, r9 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - mov r0, r10 - movs r1, 0x1 - ldr r3, [sp, 0xC] - bl PrintTextOnWindow - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809EBC4 - - thumb_func_start sub_809ECB4 -sub_809ECB4: @ 809ECB4 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0xC - adds r4, r0, 0 - mov r9, r1 - adds r5, r2, 0 - adds r6, r3, 0 - ldr r0, [sp, 0x24] - mov r8, r0 - lsls r4, 24 - lsrs r4, 24 - mov r0, r9 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r2, 0x85 - lsls r2, 2 - adds r0, r4, 0 - movs r1, 0 - movs r3, 0xE - bl SetWindowBorderStyle - str r5, [sp] - str r6, [sp, 0x4] - mov r0, r8 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x1 - mov r3, r9 - bl sub_809EBC4 - ldr r2, =gText_Confirm2 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x1 - movs r3, 0x7E - bl PrintTextOnWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809ECB4 - - thumb_func_start sub_809ED38 -sub_809ED38: @ 809ED38 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r3, 16 - lsrs r3, 16 - adds r1, r3, 0 - movs r0, 0x80 - ands r0, r3 - cmp r0, 0 - beq _0809ED52 - ldrh r0, [r4] - subs r0, 0x1 - b _0809ED6C -_0809ED52: - movs r0, 0x40 - ands r0, r3 - cmp r0, 0 - beq _0809ED60 - ldrh r0, [r4] - adds r0, 0x1 - b _0809ED8A -_0809ED60: - movs r0, 0x20 - ands r0, r3 - cmp r0, 0 - beq _0809ED7A - ldrh r0, [r4] - subs r0, 0xA -_0809ED6C: - strh r0, [r4] - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, r5 - bge _0809ED96 - strh r2, [r4] - b _0809ED96 -_0809ED7A: - movs r0, 0x10 - ands r1, r0 - cmp r1, 0 - bne _0809ED86 - movs r0, 0 - b _0809ED98 -_0809ED86: - ldrh r0, [r4] - adds r0, 0xA -_0809ED8A: - strh r0, [r4] - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, r2 - ble _0809ED96 - strh r5, [r4] -_0809ED96: - movs r0, 0x1 -_0809ED98: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_809ED38 - - thumb_func_start sub_809EDA0 -sub_809EDA0: @ 809EDA0 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0x8] - bx lr - .pool - thumb_func_end sub_809EDA0 - - thumb_func_start sub_809EDB8 -sub_809EDB8: @ 809EDB8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r5, =gTasks + 0x8 - adds r0, r4, r5 - ldrb r0, [r0, 0x10] - bl sub_809EBA0 - bl sub_809EB8C - subs r5, 0x8 - adds r4, r5 - ldr r0, =sub_809EDA0 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809EDB8 - - thumb_func_start sub_809EDE8 -sub_809EDE8: @ 809EDE8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r7, r0, 3 - ldr r0, =gTasks + 0x8 - mov r8, r0 - adds r5, r7, r0 - ldrb r4, [r5, 0x4] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - ldr r1, =gUnknown_08510420 - 0x4 - adds r2, r0, r1 - ldr r1, =gMain - ldrh r3, [r1, 0x2E] - movs r0, 0x2 - ands r0, r3 - mov r12, r1 - cmp r0, 0 - beq _0809EE3C - mov r0, r8 - subs r0, 0x8 - adds r0, r7, r0 - ldr r1, =sub_809EDB8 - str r1, [r0] - movs r0, 0 - strh r0, [r5, 0x2] - movs r0, 0x6 - b _0809EE5C - .pool -_0809EE3C: - movs r0, 0x10 - ands r0, r3 - cmp r0, 0 - beq _0809EE4A - ldrb r0, [r2, 0x7] - cmp r0, 0 - bne _0809EE5C -_0809EE4A: - mov r3, r12 - ldrh r1, [r3, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0809EE66 - ldrb r0, [r2, 0x6] - cmp r0, 0 - beq _0809EE66 -_0809EE5C: - strh r0, [r5, 0x4] - movs r0, 0x5 - bl PlaySE - b _0809EEF4 -_0809EE66: - cmp r4, 0x5 - bne _0809EEB4 - mov r0, r12 - ldrh r1, [r0, 0x2E] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _0809EEF4 - ldr r1, =gLocalTime - ldrh r0, [r5, 0x6] - strh r0, [r1] - ldrh r0, [r5, 0x8] - strb r0, [r1, 0x2] - ldrh r0, [r5, 0xA] - strb r0, [r1, 0x3] - ldrh r0, [r5, 0xC] - strb r0, [r1, 0x4] - movs r0, 0x5 - bl PlaySE - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_809EDB8 - str r1, [r0] - strh r4, [r5, 0x2] - movs r0, 0x6 - strh r0, [r5, 0x4] - b _0809EEF4 - .pool -_0809EEB4: - ldrb r0, [r2] - lsls r0, 1 - adds r0, r5, r0 - ldrh r1, [r2, 0x2] - ldrh r2, [r2, 0x4] - mov r3, r12 - ldrh r4, [r3, 0x30] - movs r3, 0xC0 - ands r3, r4 - bl sub_809ED38 - cmp r0, 0 - beq _0809EEF4 - movs r0, 0x5 - bl PlaySE - ldrb r0, [r5, 0x10] - ldrh r3, [r5, 0x6] - ldrb r1, [r5, 0x8] - str r1, [sp] - ldrb r1, [r5, 0xA] - str r1, [sp, 0x4] - ldrb r1, [r5, 0xC] - str r1, [sp, 0x8] - movs r1, 0 - movs r2, 0x1 - bl sub_809EBC4 - ldrb r0, [r5, 0x10] - movs r1, 0x2 - bl CopyWindowToVram -_0809EEF4: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809EDE8 - - thumb_func_start sub_809EF00 -sub_809EF00: @ 809EF00 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - mov r8, r0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r6, r0, 2 - add r6, r8 - lsls r6, 3 - ldr r0, =gTasks + 0x8 - mov r9, r0 - adds r5, r6, r0 - movs r0, 0 - strh r0, [r5] - ldr r1, =gLocalTime - ldrh r0, [r1] - strh r0, [r5, 0x6] - movs r0, 0x2 - ldrsb r0, [r1, r0] - strh r0, [r5, 0x8] - movs r0, 0x3 - ldrsb r0, [r1, r0] - strh r0, [r5, 0xA] - movs r0, 0x4 - ldrsb r0, [r1, r0] - strh r0, [r5, 0xC] - ldr r0, =gUnknown_08510420 - bl AddWindow - strh r0, [r5, 0x10] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x6] - ldrb r2, [r5, 0x8] - ldrb r3, [r5, 0xA] - ldrb r4, [r5, 0xC] - str r4, [sp] - bl sub_809ECB4 - mov r0, r8 - bl sub_809EB04 - movs r0, 0x2 - strh r0, [r5, 0x4] - movs r0, 0x8 - negs r0, r0 - add r9, r0 - add r6, r9 - ldr r0, =sub_809EDE8 - str r0, [r6] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809EF00 - - thumb_func_start sub_809EF88 -sub_809EF88: @ 809EF88 - push {r4-r7,lr} - sub sp, 0x4 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl SetVBlankCallback - movs r2, 0xA0 - lsls r2, 19 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, =0x040000d4 - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - ldr r0, =0x81000200 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0xC0 - lsls r3, 9 - mov r4, sp - movs r6, 0 - movs r5, 0x80 - lsls r5, 5 - ldr r7, =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_0809EFCA: - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r5 - subs r3, r5 - cmp r3, r5 - bhi _0809EFCA - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0 - movs r1, 0x80 - bl ResetOamRange - bl LoadOam - bl remove_some_task - bl dp12_8087EA4 - bl ResetSpriteData - bl ResetTasks - bl ResetPaletteFade - bl sub_809F048 - ldr r0, =sub_809F0AC - bl SetVBlankCallback - ldr r0, =sub_809F090 - bl SetMainCallback2 - ldr r0, =sub_809F200 - movs r1, 0x50 - bl CreateTask - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809EF88 - - thumb_func_start sub_809F048 -sub_809F048: @ 809F048 - push {lr} - bl clear_scheduled_bg_copies_to_vram - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_08510404 - movs r0, 0 - movs r2, 0x1 - bl InitBgsFromTemplates - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - ldr r0, =gUnknown_08510408 - bl InitWindows - bl DeactivateAllTextPrinters - bl sub_81973A4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_809F048 - - thumb_func_start sub_809F090 -sub_809F090: @ 809F090 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_809F090 - - thumb_func_start sub_809F0AC -sub_809F0AC: @ 809F0AC - push {lr} - bl ProcessSpriteCopyRequests - bl LoadOam - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_809F0AC - - thumb_func_start sub_809F0C0 -sub_809F0C0: @ 809F0C0 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r2, 0x80 - lsls r2, 2 - movs r0, 0x1 - movs r1, 0 - movs r3, 0xF - bl sub_8197B1C - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_809F0C0 - - thumb_func_start sub_809F0F8 -sub_809F0F8: @ 809F0F8 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - movs r0, 0 - ldrsh r5, [r6, r0] - cmp r5, 0 - beq _0809F11C - cmp r5, 0x1 - beq _0809F1B2 - b _0809F1F8 - .pool -_0809F11C: - movs r2, 0x85 - lsls r2, 2 - movs r0, 0 - movs r1, 0 - movs r3, 0xE - bl SetWindowBorderStyle - ldr r2, =gText_PresentTime - movs r0, 0x1 - str r0, [sp] - movs r4, 0xFF - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - ldr r1, =gLocalTime - ldrh r3, [r1] - ldrb r0, [r1, 0x2] - str r0, [sp] - ldrb r0, [r1, 0x3] - str r0, [sp, 0x4] - ldrb r0, [r1, 0x4] - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0x11 - bl sub_809EBC4 - ldr r2, =gText_PreviousTime - movs r0, 0x21 - str r0, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0xA0 - ldrh r3, [r0] - adds r0, 0x2 - ldrb r0, [r0] - str r0, [sp] - adds r0, r1, 0 - adds r0, 0xA3 - ldrb r0, [r0] - str r0, [sp, 0x4] - adds r0, r1, 0 - adds r0, 0xA4 - ldrb r0, [r0] - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0x31 - bl sub_809EBC4 - ldr r0, =gText_ResetRTCConfirmCancel - bl sub_809F0C0 - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] -_0809F1B2: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809F1E4 - adds r0, r7, 0 - bl DestroyTask - bl DoSoftReset - b _0809F1F8 - .pool -_0809F1E4: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809F1F8 - movs r0, 0x5 - bl PlaySE - adds r0, r7, 0 - bl DestroyTask -_0809F1F8: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809F0F8 - - thumb_func_start sub_809F200 -sub_809F200: @ 809F200 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x6 - bls _0809F21C - b _0809F404 -_0809F21C: - lsls r0, 2 - ldr r1, =_0809F230 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0809F230: - .4byte _0809F24C - .4byte _0809F268 - .4byte _0809F2B4 - .4byte _0809F310 - .4byte _0809F398 - .4byte _0809F3C8 - .4byte _0809F3EA -_0809F24C: - movs r0, 0x1 - negs r0, r0 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0x1 - strh r0, [r5] - b _0809F404 - .pool -_0809F268: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0809F276 - b _0809F404 -_0809F276: - ldr r0, =gSaveFileStatus - ldrh r0, [r0] - cmp r0, 0 - beq _0809F282 - cmp r0, 0x2 - bne _0809F29C -_0809F282: - ldr r0, =gText_NoSaveFileCantSetTime - bl sub_809F0C0 - movs r0, 0x5 - strh r0, [r5] - b _0809F404 - .pool -_0809F29C: - bl RtcCalcLocalTime - ldr r0, =sub_809F0F8 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x2] - b _0809F334 - .pool -_0809F2B4: - ldr r2, =gTasks - movs r0, 0x2 - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x4] - cmp r0, 0x1 - bne _0809F2CA - b _0809F404 -_0809F2CA: - movs r0, 0 - movs r1, 0 - bl sub_8198070 - ldr r0, =gText_PleaseResetTime - bl sub_809F0C0 - ldr r2, =gLocalTime - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r0, 0xA0 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2] - str r1, [r2, 0x4] - ldr r0, =sub_809EF00 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x2] - movs r0, 0x3 - strh r0, [r5] - b _0809F404 - .pool -_0809F310: - ldr r2, =gTasks - movs r0, 0x2 - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r2 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0809F404 - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0809F340 - ldrb r0, [r5, 0x2] - bl DestroyTask -_0809F334: - movs r0, 0x2 - strh r0, [r5] - b _0809F404 - .pool -_0809F340: - ldrb r0, [r5, 0x2] - bl DestroyTask - bl RtcReset - ldr r4, =gLocalTime - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0x2 - ldrsb r1, [r4, r1] - movs r2, 0x3 - ldrsb r2, [r4, r2] - movs r3, 0x4 - ldrsb r3, [r4, r3] - bl RtcCalcLocalTimeOffset - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - adds r2, 0xA0 - ldr r0, [r4] - ldr r1, [r4, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - ldr r0, =0x00004040 - ldrh r1, [r4] - bl VarSet - bl DisableResetRTC - ldr r0, =gText_ClockHasBeenReset - bl sub_809F0C0 - movs r0, 0x4 - strh r0, [r5] - b _0809F404 - .pool -_0809F398: - movs r0, 0 - bl TrySavingData - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809F3B8 - ldr r0, =gText_SaveCompleted - bl sub_809F0C0 - movs r0, 0x49 - bl PlaySE - b _0809F3C4 - .pool -_0809F3B8: - ldr r0, =gText_SaveFailed - bl sub_809F0C0 - movs r0, 0x16 - bl PlaySE -_0809F3C4: - movs r0, 0x5 - strh r0, [r5] -_0809F3C8: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809F404 - movs r0, 0x1 - negs r0, r0 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x6 - strh r0, [r5] -_0809F3EA: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0809F404 - adds r0, r4, 0 - bl DestroyTask - bl FreeAllWindowBuffers - bl DoSoftReset -_0809F404: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_809F200 - - thumb_func_start sub_809F41C -sub_809F41C: @ 809F41C - push {lr} - ldr r0, =0x00000861 - bl FlagSet - movs r0, 0x86 - lsls r0, 4 - bl FlagSet - ldr r0, =0x00000862 - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end sub_809F41C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom4.s b/asm/rom4.s deleted file mode 100644 index bf682fc517..0000000000 --- a/asm/rom4.s +++ /dev/null @@ -1,6825 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8084620 -sub_8084620: @ 8084620 - push {r4,lr} - ldr r0, =gUnknown_08271857 - bl ScriptContext2_RunNewScript - ldr r0, =gSaveBlock1Ptr - ldr r4, [r0] - movs r0, 0x92 - lsls r0, 3 - adds r4, r0 - adds r0, r4, 0 - bl GetMoney - adds r1, r0, 0 - lsrs r1, 1 - adds r0, r4, 0 - bl SetMoney - bl sp000_heal_pokemon - bl sub_8084720 - bl copy_saved_warp3_bank_and_enter_x_to_warp1 - bl warp_in - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8084620 - - thumb_func_start flag_var_implications_of_teleport_ -flag_var_implications_of_teleport_: @ 8084660 - push {lr} - bl player_avatar_init_params_reset - ldr r0, =0x0000088b - bl FlagClear - ldr r0, =0x0000088d - bl FlagClear - ldr r0, =0x0000088c - bl FlagClear - ldr r0, =0x00000889 - bl FlagClear - ldr r0, =0x00000888 - bl FlagClear - pop {r0} - bx r0 - .pool - thumb_func_end flag_var_implications_of_teleport_ - - thumb_func_start sub_808469C -sub_808469C: @ 808469C - push {lr} - bl player_avatar_init_params_reset - ldr r0, =0x0000088b - bl FlagClear - ldr r0, =0x0000088d - bl FlagClear - ldr r0, =0x0000088c - bl FlagClear - ldr r0, =0x00000889 - bl FlagClear - ldr r0, =0x00000888 - bl FlagClear - ldr r0, =gUnknown_08271862 - bl ScriptContext2_RunNewScript - pop {r0} - bx r0 - .pool - thumb_func_end sub_808469C - - thumb_func_start flagmods_08054D70 -flagmods_08054D70: @ 80846E4 - push {lr} - bl player_avatar_init_params_reset - ldr r0, =0x0000088b - bl FlagClear - ldr r0, =0x0000088d - bl FlagClear - ldr r0, =0x0000088c - bl FlagClear - ldr r0, =0x00000889 - bl FlagClear - ldr r0, =0x00000888 - bl FlagClear - pop {r0} - bx r0 - .pool - thumb_func_end flagmods_08054D70 - - thumb_func_start sub_8084720 -sub_8084720: @ 8084720 - push {r4,lr} - bl player_avatar_init_params_reset - ldr r0, =0x0000088b - bl FlagClear - ldr r0, =0x0000088d - bl FlagClear - ldr r0, =0x0000088c - bl FlagClear - ldr r0, =0x00000889 - bl FlagClear - ldr r0, =0x00000888 - bl FlagClear - ldr r4, =0x00004039 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _08084764 - adds r0, r4, 0 - movs r1, 0 - bl VarSet - ldr r0, =0x00004037 - movs r1, 0 - bl VarSet -_08084764: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8084720 - - thumb_func_start sub_8084788 -sub_8084788: @ 8084788 - push {lr} - ldr r0, =0x0000088c - bl FlagClear - bl sub_8085B2C - bl wild_pokemon_reroll - bl UpdateLocationHistoryForRoamer - bl RoamerMoveToOtherLocationSet - pop {r0} - bx r0 - .pool - thumb_func_end sub_8084788 - - thumb_func_start ResetGameStats -ResetGameStats: @ 80847A8 - push {r4,lr} - movs r4, 0 -_080847AC: - lsls r0, r4, 24 - lsrs r0, 24 - movs r1, 0 - bl sav12_xor_set - adds r4, 0x1 - cmp r4, 0x3F - ble _080847AC - pop {r4} - pop {r0} - bx r0 - thumb_func_end ResetGameStats - - thumb_func_start IncrementGameStat -@ void IncrementGameStat(u8 a1) -IncrementGameStat: @ 80847C4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x33 - bhi _080847EC - adds r0, r4, 0 - bl GetGameStat - adds r1, r0, 0 - ldr r0, =0x00fffffe - cmp r1, r0 - bhi _080847E4 - adds r1, 0x1 - b _080847E6 - .pool -_080847E4: - ldr r1, =0x00ffffff -_080847E6: - adds r0, r4, 0 - bl sav12_xor_set -_080847EC: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end IncrementGameStat - - thumb_func_start GetGameStat -GetGameStat: @ 80847F8 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x33 - bhi _08084828 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - lsls r0, r1, 2 - ldr r1, =0x0000159c - adds r2, r1 - adds r2, r0 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r1, 0xAC - ldr r0, [r2] - ldr r1, [r1] - eors r0, r1 - b _0808482A - .pool -_08084828: - movs r0, 0 -_0808482A: - pop {r1} - bx r1 - thumb_func_end GetGameStat - - thumb_func_start sav12_xor_set -sav12_xor_set: @ 8084830 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x33 - bhi _08084854 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - lsls r0, r2, 2 - ldr r2, =0x0000159c - adds r1, r2 - adds r1, r0 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r0, 0xAC - ldr r0, [r0] - eors r0, r3 - str r0, [r1] -_08084854: - pop {r0} - bx r0 - .pool - thumb_func_end sav12_xor_set - - thumb_func_start ApplyNewEncyprtionKeyToGameStats -ApplyNewEncyprtionKeyToGameStats: @ 8084864 - push {r4-r6,lr} - adds r5, r0, 0 - movs r4, 0 - ldr r6, =gSaveBlock1Ptr -_0808486C: - lsls r1, r4, 2 - ldr r0, =0x0000159c - adds r1, r0 - ldr r0, [r6] - adds r0, r1 - adds r1, r5, 0 - bl ApplyNewEncyprtionKeyToWord - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3F - bls _0808486C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end ApplyNewEncyprtionKeyToGameStats - - thumb_func_start CopyFieldObjectTemplatesToSav1 -@ void CopyFieldObjectTemplatesToSav1() -CopyFieldObjectTemplatesToSav1: @ 8084894 - push {r4,r5,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r5, =gSaveBlock1Ptr - ldr r1, [r5] - movs r4, 0xC7 - lsls r4, 4 - adds r1, r4 - ldr r2, =0x05000180 - mov r0, sp - bl CpuSet - ldr r0, =gMapHeader - ldr r2, [r0, 0x4] - ldr r0, [r2, 0x4] - ldr r1, [r5] - adds r1, r4 - ldrb r3, [r2] - lsls r2, r3, 1 - adds r2, r3 - lsls r2, 1 - movs r3, 0x80 - lsls r3, 19 - orrs r2, r3 - bl CpuSet - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end CopyFieldObjectTemplatesToSav1 - - thumb_func_start CopyFieldObjectTemplateCoordsToSav1 -@ void CopyFieldObjectTemplateCoordsToSav1() -CopyFieldObjectTemplateCoordsToSav1: @ 80848E0 - push {lr} - ldr r0, =gMapHeader - ldr r1, [r0, 0x4] - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, [r1, 0x4] - movs r3, 0xC7 - lsls r3, 4 - adds r1, r0, r3 - movs r3, 0x3F -_080848F4: - ldr r0, [r2, 0x10] - str r0, [r1, 0x10] - adds r2, 0x18 - adds r1, 0x18 - subs r3, 0x1 - cmp r3, 0 - bge _080848F4 - pop {r0} - bx r0 - .pool - thumb_func_end CopyFieldObjectTemplateCoordsToSav1 - - thumb_func_start Overworld_SetMapObjTemplateCoords -Overworld_SetMapObjTemplateCoords: @ 8084910 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0 - movs r6, 0xC7 - lsls r6, 4 - adds r3, r0, r6 -_0808492A: - ldrb r0, [r3] - cmp r0, r5 - bne _0808493C - strh r4, [r3, 0x4] - strh r2, [r3, 0x6] - b _08084944 - .pool -_0808493C: - adds r3, 0x18 - adds r1, 0x1 - cmp r1, 0x3F - ble _0808492A -_08084944: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end Overworld_SetMapObjTemplateCoords - - thumb_func_start Overworld_SetMapObjTemplateMovementType -Overworld_SetMapObjTemplateMovementType: @ 808494C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r3, 0 - movs r5, 0xC7 - lsls r5, 4 - adds r2, r0, r5 -_08084962: - ldrb r0, [r2] - cmp r0, r4 - bne _08084970 - strb r1, [r2, 0x9] - b _08084978 - .pool -_08084970: - adds r2, 0x18 - adds r3, 0x1 - cmp r3, 0x3F - ble _08084962 -_08084978: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end Overworld_SetMapObjTemplateMovementType - - thumb_func_start mapdata_load_assets_to_gpu_and_full_redraw -mapdata_load_assets_to_gpu_and_full_redraw: @ 8084980 - push {r4,lr} - bl move_tilemap_camera_to_upper_left_corner - ldr r4, =gMapHeader - ldr r0, [r4] - bl copy_map_tileset1_tileset2_to_vram - ldr r0, [r4] - bl apply_map_tileset1_tileset2_palette - bl DrawWholeMapView - bl cur_mapheader_run_tileset_funcs_after_some_cpuset - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end mapdata_load_assets_to_gpu_and_full_redraw - - thumb_func_start get_mapdata_header -@ mapdata_header *get_mapdata_header() -get_mapdata_header: @ 80849A8 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x32] - cmp r1, 0 - bne _080849BC - movs r0, 0 - b _080849C6 - .pool -_080849BC: - ldr r0, =gUnknown_08481DD4 - subs r1, 0x1 - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] -_080849C6: - pop {r1} - bx r1 - .pool - thumb_func_end get_mapdata_header - - thumb_func_start warp_shift -@ void warp_shift() -warp_shift: @ 80849D0 - ldr r3, =gUnknown_020322DC - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, [r2, 0x4] - ldr r1, [r2, 0x8] - str r0, [r3] - str r1, [r3, 0x4] - ldr r0, =gUnknown_020322E4 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2, 0x4] - str r1, [r2, 0x8] - ldr r2, =gUnknown_020322EC - ldr r0, =gUnknown_08339D3C - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2] - str r1, [r2, 0x4] - ldr r2, =gUnknown_020322F4 - str r0, [r2] - str r1, [r2, 0x4] - bx lr - .pool - thumb_func_end warp_shift - - thumb_func_start set_warp2_warp3_to_neg_1 -@ void set_warp2_warp3_to_neg_1() -set_warp2_warp3_to_neg_1: @ 8084A14 - ldr r2, =gUnknown_020322EC - ldr r0, =gUnknown_08339D3C - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2] - str r1, [r2, 0x4] - ldr r2, =gUnknown_020322F4 - str r0, [r2] - str r1, [r2, 0x4] - bx lr - .pool - thumb_func_end set_warp2_warp3_to_neg_1 - - thumb_func_start warp_set -@ void warp_set(warpdata *warp, char bank, char map, char warpid, char enter_x, char enter_y) -warp_set: @ 8084A34 - push {r4,r5,lr} - ldr r4, [sp, 0xC] - ldr r5, [sp, 0x10] - strb r1, [r0] - strb r2, [r0, 0x1] - strb r3, [r0, 0x2] - lsls r4, 24 - asrs r4, 24 - strh r4, [r0, 0x4] - lsls r5, 24 - asrs r5, 24 - strh r5, [r0, 0x6] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end warp_set - - thumb_func_start warp_data_is_not_neg_1 -@ int warp_data_is_not_neg_1(warpdata *warp) -warp_data_is_not_neg_1: @ 8084A54 - push {lr} - adds r1, r0, 0 - movs r2, 0 - ldrsb r2, [r1, r2] - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - bne _08084A88 - movs r0, 0x1 - ldrsb r0, [r1, r0] - cmp r0, r2 - bne _08084A88 - movs r2, 0x2 - ldrsb r2, [r1, r2] - cmp r2, r0 - bne _08084A88 - movs r0, 0x4 - ldrsh r3, [r1, r0] - cmp r3, r2 - bne _08084A88 - movs r2, 0x6 - ldrsh r0, [r1, r2] - cmp r0, r3 - bne _08084A88 - movs r0, 0x1 - b _08084A8A -_08084A88: - movs r0, 0 -_08084A8A: - pop {r1} - bx r1 - thumb_func_end warp_data_is_not_neg_1 - - thumb_func_start get_mapheader_by_bank_and_number -@ struct mapheader *get_mapheader_by_bank_and_number(unsigned int bank, unsigned int num) -get_mapheader_by_bank_and_number: @ 8084A90 - lsls r0, 16 - lsls r1, 16 - ldr r2, =gUnknown_08486578 - lsrs r0, 14 - adds r0, r2 - ldr r0, [r0] - lsrs r1, 14 - adds r1, r0 - ldr r0, [r1] - bx lr - .pool - thumb_func_end get_mapheader_by_bank_and_number - - thumb_func_start warp1_get_mapheader -@ struct mapheader *warp1_get_mapheader() -warp1_get_mapheader: @ 8084AA8 - push {lr} - ldr r1, =gUnknown_020322E4 - movs r0, 0 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x1] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl get_mapheader_by_bank_and_number - pop {r1} - bx r1 - .pool - thumb_func_end warp1_get_mapheader - - thumb_func_start set_current_map_header_from_sav1_save_old_name -@ void set_current_map_header_from_sav1_save_old_name() -set_current_map_header_from_sav1_save_old_name: @ 8084ACC - push {r4-r6,lr} - ldr r1, =gUnknown_020322FC - ldr r4, =gMapHeader - ldrb r0, [r4, 0x14] - strh r0, [r1] - ldr r5, =gSaveBlock1Ptr - ldr r1, [r5] - movs r0, 0x4 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl get_mapheader_by_bank_and_number - adds r1, r4, 0 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldr r0, [r0] - str r0, [r1] - ldr r1, [r5] - ldrh r0, [r4, 0x12] - strh r0, [r1, 0x32] - bl get_mapdata_header - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end set_current_map_header_from_sav1_save_old_name - - thumb_func_start set_current_map_header_from_sav1 -set_current_map_header_from_sav1: @ 8084B1C - push {r4,r5,lr} - ldr r4, =gMapHeader - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl get_mapheader_by_bank_and_number - adds r1, r4, 0 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r0, [r0] - str r0, [r1] - bl get_mapdata_header - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end set_current_map_header_from_sav1 - - thumb_func_start update_camera_pos_from_warpid -@ void update_camera_pos_from_warpid() -update_camera_pos_from_warpid: @ 8084B5C - push {r4,r5,lr} - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0x6 - ldrsb r1, [r2, r1] - adds r4, r0, 0 - cmp r1, 0 - blt _08084B94 - ldr r3, =gMapHeader - ldr r0, [r3, 0x4] - ldrb r5, [r0, 0x1] - cmp r1, r5 - bge _08084B94 - ldr r0, [r0, 0x8] - lsls r1, 3 - adds r0, r1, r0 - ldrh r0, [r0] - strh r0, [r2] - ldr r0, [r3, 0x4] - ldr r0, [r0, 0x8] - adds r1, r0 - ldrh r0, [r1, 0x2] - strh r0, [r2, 0x2] - b _08084BCC - .pool -_08084B94: - ldr r1, [r4] - ldrh r3, [r1, 0x8] - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - blt _08084BB0 - ldrh r2, [r1, 0xA] - movs r5, 0xA - ldrsh r0, [r1, r5] - cmp r0, 0 - blt _08084BB0 - strh r3, [r1] - strh r2, [r1, 0x2] - b _08084BCC -_08084BB0: - ldr r3, [r4] - ldr r2, =gMapHeader - ldr r0, [r2] - ldr r0, [r0] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r3] - ldr r0, [r2] - ldr r0, [r0, 0x4] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r3, 0x2] -_08084BCC: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end update_camera_pos_from_warpid - - thumb_func_start warp_in -warp_in: @ 8084BD8 - push {lr} - bl warp_shift - bl set_current_map_header_from_sav1_save_old_name - bl update_camera_pos_from_warpid - pop {r0} - bx r0 - thumb_func_end warp_in - - thumb_func_start Overworld_SetWarpDestination -@ void Overworld_SetWarpDestination(char bank, char map, char warpid, char enter_x, char enter_y) -Overworld_SetWarpDestination: @ 8084BEC - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - ldr r1, [sp, 0x18] - ldr r0, =gUnknown_020322E4 - lsls r4, 24 - asrs r4, 24 - lsls r5, 24 - asrs r5, 24 - lsls r6, 24 - asrs r6, 24 - lsls r3, 24 - asrs r3, 24 - str r3, [sp] - lsls r1, 24 - asrs r1, 24 - str r1, [sp, 0x4] - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl warp_set - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end Overworld_SetWarpDestination - - thumb_func_start warp1_set_2 -@ void warp1_set_2(char bank, char map, char warpid) -warp1_set_2: @ 8084C28 - push {lr} - sub sp, 0x4 - lsls r0, 24 - asrs r0, 24 - lsls r1, 24 - asrs r1, 24 - lsls r2, 24 - asrs r2, 24 - movs r3, 0x1 - negs r3, r3 - str r3, [sp] - bl Overworld_SetWarpDestination - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end warp1_set_2 - - thumb_func_start saved_warp2_set -@ void saved_warp2_set(char bank, char map, char warpid) -saved_warp2_set: @ 8084C48 - push {r4,r5,lr} - sub sp, 0x8 - ldr r0, =gSaveBlock1Ptr - ldr r5, [r0] - adds r0, r5, 0 - adds r0, 0x14 - lsls r1, 24 - asrs r1, 24 - lsls r2, 24 - asrs r2, 24 - lsls r3, 24 - asrs r3, 24 - movs r4, 0 - ldrsb r4, [r5, r4] - str r4, [sp] - movs r4, 0x2 - ldrsb r4, [r5, r4] - str r4, [sp, 0x4] - bl warp_set - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end saved_warp2_set - - thumb_func_start saved_warp2_set_2 -saved_warp2_set_2: @ 8084C7C - push {r4,r5,lr} - sub sp, 0x8 - ldr r4, [sp, 0x14] - ldr r5, [sp, 0x18] - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0x14 - lsls r1, 24 - asrs r1, 24 - lsls r2, 24 - asrs r2, 24 - lsls r3, 24 - asrs r3, 24 - lsls r4, 24 - asrs r4, 24 - str r4, [sp] - lsls r5, 24 - asrs r5, 24 - str r5, [sp, 0x4] - bl warp_set - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end saved_warp2_set_2 - - thumb_func_start copy_saved_warp2_bank_and_enter_x_to_warp1 -copy_saved_warp2_bank_and_enter_x_to_warp1: @ 8084CB4 - ldr r2, =gUnknown_020322E4 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, [r0, 0x18] - ldr r0, [r0, 0x14] - str r0, [r2] - str r1, [r2, 0x4] - bx lr - .pool - thumb_func_end copy_saved_warp2_bank_and_enter_x_to_warp1 - - thumb_func_start sub_8084CCC -@ void sub_8084CCC(int a1) -sub_8084CCC: @ 8084CCC - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - bl sub_8122CBC - adds r4, r0, 0 - cmp r4, 0 - beq _08084CFA - movs r0, 0 - ldrsb r0, [r4, r0] - movs r1, 0x1 - ldrsb r1, [r4, r1] - movs r2, 0x1 - negs r2, r2 - movs r3, 0x2 - ldrsb r3, [r4, r3] - ldrb r4, [r4, 0x4] - lsls r4, 24 - asrs r4, 24 - str r4, [sp] - bl Overworld_SetWarpDestination -_08084CFA: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8084CCC - - thumb_func_start copy_saved_warp3_bank_and_enter_x_to_warp1 -@ void copy_saved_warp3_bank_and_enter_x_to_warp1() -copy_saved_warp3_bank_and_enter_x_to_warp1: @ 8084D04 - ldr r2, =gUnknown_020322E4 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, [r0, 0x20] - ldr r0, [r0, 0x1C] - str r0, [r2] - str r1, [r2, 0x4] - bx lr - .pool - thumb_func_end copy_saved_warp3_bank_and_enter_x_to_warp1 - - thumb_func_start Overworld_SetHealLocationWarp -Overworld_SetHealLocationWarp: @ 8084D1C - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - bl sub_8122CBC - adds r5, r0, 0 - cmp r5, 0 - beq _08084D50 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0x1C - movs r1, 0 - ldrsb r1, [r5, r1] - movs r2, 0x1 - ldrsb r2, [r5, r2] - movs r3, 0x1 - negs r3, r3 - movs r4, 0x2 - ldrsb r4, [r5, r4] - str r4, [sp] - movs r4, 0x4 - ldrsb r4, [r5, r4] - str r4, [sp, 0x4] - bl warp_set -_08084D50: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end Overworld_SetHealLocationWarp - - thumb_func_start sub_8084D5C -sub_8084D5C: @ 8084D5C - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r7, r1, 16 - bl sav1_map_get_light_level - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =gUnknown_020322E4 - movs r0, 0 - ldrsb r0, [r1, r0] - ldrb r1, [r1, 0x1] - lsls r1, 24 - asrs r1, 24 - bl get_map_light_level_by_bank_and_number - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - bl is_light_level_1_2_3_5_or_6 - lsls r0, 24 - cmp r0, 0 - beq _08084DC4 - adds r0, r5, 0 - bl is_light_level_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08084DC4 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - movs r2, 0x1 - negs r2, r2 - subs r3, r6, 0x7 - lsls r3, 24 - asrs r3, 24 - subs r4, r7, 0x6 - lsls r4, 24 - asrs r4, 24 - str r4, [sp] - bl sub_8084DD4 -_08084DC4: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8084D5C - - thumb_func_start sub_8084DD4 -sub_8084DD4: @ 8084DD4 - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - ldr r1, [sp, 0x18] - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0x24 - lsls r4, 24 - asrs r4, 24 - lsls r5, 24 - asrs r5, 24 - lsls r6, 24 - asrs r6, 24 - lsls r3, 24 - asrs r3, 24 - str r3, [sp] - lsls r1, 24 - asrs r1, 24 - str r1, [sp, 0x4] - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl warp_set - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8084DD4 - - thumb_func_start sub_8084E14 -sub_8084E14: @ 8084E14 - ldr r2, =gUnknown_020322E4 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, [r0, 0x28] - ldr r0, [r0, 0x24] - str r0, [r2] - str r1, [r2, 0x4] - bx lr - .pool - thumb_func_end sub_8084E14 - - thumb_func_start sub_8084E2C -sub_8084E2C: @ 8084E2C - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - ldr r1, [sp, 0x18] - ldr r0, =gUnknown_020322EC - lsls r4, 24 - asrs r4, 24 - lsls r5, 24 - asrs r5, 24 - lsls r6, 24 - asrs r6, 24 - lsls r3, 24 - asrs r3, 24 - str r3, [sp] - lsls r1, 24 - asrs r1, 24 - str r1, [sp, 0x4] - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl warp_set - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8084E2C - - thumb_func_start warp1_set_to_warp2 -warp1_set_to_warp2: @ 8084E68 - ldr r2, =gUnknown_020322E4 - ldr r0, =gUnknown_020322EC - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2] - str r1, [r2, 0x4] - bx lr - .pool - thumb_func_end warp1_set_to_warp2 - - thumb_func_start sub_8084E80 -sub_8084E80: @ 8084E80 - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - ldr r1, [sp, 0x18] - ldr r0, =gUnknown_020322F4 - lsls r4, 24 - asrs r4, 24 - lsls r5, 24 - asrs r5, 24 - lsls r6, 24 - asrs r6, 24 - lsls r3, 24 - asrs r3, 24 - str r3, [sp] - lsls r1, 24 - asrs r1, 24 - str r1, [sp, 0x4] - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl warp_set - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8084E80 - - thumb_func_start sub_8084EBC -sub_8084EBC: @ 8084EBC - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r6, r1, 16 - ldr r4, =gUnknown_020322F4 - adds r0, r4, 0 - bl warp_data_is_not_neg_1 - cmp r0, 0x1 - bne _08084EF0 - ldr r2, =gUnknown_020322E4 - ldr r0, =gUnknown_020322DC - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2] - str r1, [r2, 0x4] - b _08084F0A - .pool -_08084EF0: - movs r0, 0 - ldrsb r0, [r4, r0] - movs r1, 0x1 - ldrsb r1, [r4, r1] - movs r2, 0x1 - negs r2, r2 - lsls r3, r5, 24 - asrs r3, 24 - lsls r4, r6, 24 - asrs r4, 24 - str r4, [sp] - bl Overworld_SetWarpDestination -_08084F0A: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8084EBC - - thumb_func_start warp1_set_to_sav1w -warp1_set_to_sav1w: @ 8084F14 - ldr r2, =gUnknown_020322E4 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, [r0, 0x10] - ldr r0, [r0, 0xC] - str r0, [r2] - str r1, [r2, 0x4] - bx lr - .pool - thumb_func_end warp1_set_to_sav1w - - thumb_func_start sub_8084F2C -sub_8084F2C: @ 8084F2C - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - ldr r1, [sp, 0x18] - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0xC - lsls r4, 24 - asrs r4, 24 - lsls r5, 24 - asrs r5, 24 - lsls r6, 24 - asrs r6, 24 - lsls r3, 24 - asrs r3, 24 - str r3, [sp] - lsls r1, 24 - asrs r1, 24 - str r1, [sp, 0x4] - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl warp_set - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8084F2C - - thumb_func_start sub_8084F6C -sub_8084F6C: @ 8084F6C - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - bl sub_8122CBC - adds r5, r0, 0 - cmp r5, 0 - beq _08084FA0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0xC - movs r1, 0 - ldrsb r1, [r5, r1] - movs r2, 0x1 - ldrsb r2, [r5, r2] - movs r3, 0x1 - negs r3, r3 - movs r4, 0x2 - ldrsb r4, [r5, r4] - str r4, [sp] - movs r4, 0x4 - ldrsb r4, [r5, r4] - str r4, [sp, 0x4] - bl warp_set -_08084FA0: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8084F6C - - thumb_func_start sub_8084FAC -sub_8084FAC: @ 8084FAC - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, [r2, 0x14] - ldr r1, [r2, 0x18] - str r0, [r2, 0xC] - str r1, [r2, 0x10] - bx lr - .pool - thumb_func_end sub_8084FAC - - thumb_func_start sub_8084FC0 -sub_8084FC0: @ 8084FC0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gMapHeader - ldr r0, [r0, 0xC] - ldr r3, [r0] - ldr r1, [r0, 0x4] - cmp r1, 0 - bne _08084FDC - b _08084FF0 - .pool -_08084FD8: - adds r0, r1, 0 - b _08084FF2 -_08084FDC: - movs r2, 0 - cmp r2, r3 - bge _08084FF0 -_08084FE2: - ldrb r0, [r1] - cmp r0, r4 - beq _08084FD8 - adds r2, 0x1 - adds r1, 0xC - cmp r2, r3 - blt _08084FE2 -_08084FF0: - movs r0, 0 -_08084FF2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8084FC0 - - thumb_func_start sub_8084FF8 -sub_8084FF8: @ 8084FF8 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - bl sub_8084FC0 - adds r1, r0, 0 - cmp r1, 0 - beq _08085030 - movs r0, 0x8 - ldrsb r0, [r1, r0] - ldrb r1, [r1, 0x9] - lsls r1, 24 - asrs r1, 24 - movs r2, 0x1 - negs r2, r2 - lsls r3, r4, 24 - asrs r3, 24 - lsls r4, r5, 24 - asrs r4, 24 - str r4, [sp] - bl Overworld_SetWarpDestination - b _0808504C -_08085030: - bl mapheader_run_script_with_tag_x6 - ldr r0, =gUnknown_020322EC - bl warp_data_is_not_neg_1 - cmp r0, 0 - beq _08085048 - movs r0, 0 - b _0808504E - .pool -_08085048: - bl warp1_set_to_warp2 -_0808504C: - movs r0, 0x1 -_0808504E: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8084FF8 - - thumb_func_start sub_8085058 -sub_8085058: @ 8085058 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - lsls r3, 16 - lsrs r3, 16 - lsls r2, 16 - lsrs r2, 16 - movs r0, 0x6 - adds r1, r3, 0 - bl sub_8084FF8 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8085058 - - thumb_func_start sub_8085078 -sub_8085078: @ 8085078 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - lsls r3, 16 - lsrs r3, 16 - lsls r2, 16 - lsrs r2, 16 - movs r0, 0x5 - adds r1, r3, 0 - bl sub_8084FF8 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8085078 - - thumb_func_start mliX_load_map -mliX_load_map: @ 8085098 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r5, r1, 0 - lsls r0, r6, 24 - asrs r0, 24 - lsls r1, r5, 24 - asrs r1, 24 - movs r3, 0x1 - negs r3, r3 - str r3, [sp] - adds r2, r3, 0 - bl Overworld_SetWarpDestination - ldr r4, =gMapHeader - ldrb r0, [r4, 0x14] - cmp r0, 0x3A - beq _080850C8 - bl sub_8085810 -_080850C8: - bl warp_shift - bl set_current_map_header_from_sav1_save_old_name - bl CopyFieldObjectTemplatesToSav1 - bl TrySetMapSaveWarpStatus - bl ClearTempFieldEventData - bl wild_pokemon_reroll - bl prev_quest_postbuffer_cursor_backup_reset - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_80B21B4 - bl DoTimeBasedEvents - bl sub_80AEDBC - bl sub_8085B2C - bl update_sav1_flash_used_on_map - bl sav1_reset_battle_music_maybe - bl mapheader_run_script_with_tag_x3 - bl not_trainer_hill_battle_pyramid - ldr r0, [r4] - bl copy_map_tileset2_to_vram_2 - ldr r0, [r4] - bl apply_map_tileset2_palette - movs r4, 0x6 -_08085116: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_80ABF00 - adds r4, 0x1 - cmp r4, 0xC - ble _08085116 - bl sub_80A0A2C - bl UpdateLocationHistoryForRoamer - bl RoamerMove - bl DoCurrentWeather - bl wild_encounter_reset_coro_args - bl mapheader_run_script_with_tag_x5 - ldr r2, =gMapHeader - ldrb r0, [r2, 0x14] - cmp r0, 0x3A - bne _0808514C - ldr r1, =gUnknown_020322FC - ldrh r1, [r1] - cmp r0, r1 - beq _08085150 -_0808514C: - bl AddMapNamePopUpWindowTask -_08085150: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end mliX_load_map - - thumb_func_start mli0_load_map -mli0_load_map: @ 8085160 - push {r4-r7,lr} - adds r7, r0, 0 - bl set_current_map_header_from_sav1_save_old_name - ldr r0, =gUnknown_020322D8 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080851A2 - ldr r0, =gMapHeader - ldrh r1, [r0, 0x12] - ldr r0, =0x00000169 - cmp r1, r0 - bne _08085190 - bl sub_81AA1D8 - b _080851A2 - .pool -_08085190: - bl InTrainerHill - cmp r0, 0 - beq _0808519E - bl sub_81D5DF8 - b _080851A2 -_0808519E: - bl CopyFieldObjectTemplatesToSav1 -_080851A2: - ldr r4, =gMapHeader - ldrb r0, [r4, 0x17] - bl is_light_level_1_2_3_5_or_6 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r4, 0x17] - bl is_light_level_8_or_9 - lsls r0, 24 - lsrs r6, r0, 24 - bl sub_80EB218 - bl TrySetMapSaveWarpStatus - bl ClearTempFieldEventData - bl wild_pokemon_reroll - bl prev_quest_postbuffer_cursor_backup_reset - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl sub_80B21B4 - cmp r7, 0x1 - beq _080851EE - bl DoTimeBasedEvents -_080851EE: - bl sub_80AEDBC - bl sub_8085B2C - cmp r5, 0 - beq _08085200 - ldr r0, =0x00000888 - bl FlagClear -_08085200: - bl update_sav1_flash_used_on_map - bl sav1_reset_battle_music_maybe - bl mapheader_run_script_with_tag_x3 - bl UpdateLocationHistoryForRoamer - bl RoamerMoveToOtherLocationSet - ldrh r1, [r4, 0x12] - ldr r0, =0x00000169 - cmp r1, r0 - bne _08085234 - movs r0, 0 - bl battle_pyramid_map_load_related - b _08085246 - .pool -_08085234: - bl InTrainerHill - cmp r0, 0 - beq _08085242 - bl trainer_hill_map_load_related - b _08085246 -_08085242: - bl not_trainer_hill_battle_pyramid -_08085246: - cmp r7, 0x1 - beq _0808525E - cmp r6, 0 - beq _0808525E - ldr r1, =gUnknown_03005DC0 - ldr r0, [r1] - ldr r1, [r1, 0x4] - bl UpdateTVScreensOnMap - movs r0, 0x1 - bl sub_80E9238 -_0808525E: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end mli0_load_map - - thumb_func_start player_avatar_init_params_reset -player_avatar_init_params_reset: @ 8085268 - ldr r1, =gUnknown_02032300 - movs r0, 0x1 - strb r0, [r1, 0x1] - strb r0, [r1] - bx lr - .pool - thumb_func_end player_avatar_init_params_reset - - thumb_func_start walkrun_find_lowest_active_bit_in_bitfield -walkrun_find_lowest_active_bit_in_bitfield: @ 8085278 - push {r4,lr} - bl player_get_direction_lower_nybble - ldr r4, =gUnknown_02032300 - strb r0, [r4, 0x1] - movs r0, 0x2 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _08085298 - movs r0, 0x2 - b _080852CA - .pool -_08085298: - movs r0, 0x4 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _080852A8 - movs r0, 0x4 - b _080852CA -_080852A8: - movs r0, 0x8 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _080852B8 - movs r0, 0x8 - b _080852CA -_080852B8: - movs r0, 0x10 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _080852C8 - movs r0, 0x10 - b _080852CA -_080852C8: - movs r0, 0x1 -_080852CA: - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - thumb_func_end walkrun_find_lowest_active_bit_in_bitfield - - thumb_func_start sub_80852D4 -sub_80852D4: @ 80852D4 - push {r4-r7,lr} - bl sav1_map_get_light_level - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - bl cur_mapdata_block_role_at_screen_center_acc_to_sav1 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r6, =gUnknown_02032300 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_808532C - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, =0xffffff00 - ands r7, r0 - orrs r7, r1 - adds r0, r6, 0 - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_808538C - lsls r0, 24 - lsrs r0, 16 - ldr r1, =0xffff00ff - ands r7, r1 - orrs r7, r0 - str r7, [r6] - adds r0, r6, 0 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80852D4 - - thumb_func_start sub_808532C -sub_808532C: @ 808532C - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - lsls r2, 24 - lsrs r4, r2, 24 - cmp r4, 0x8 - beq _08085348 - ldr r0, =0x0000088d - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08085382 -_08085348: - cmp r4, 0x5 - bne _08085354 - movs r0, 0x10 - b _08085384 - .pool -_08085354: - lsls r0, r5, 24 - lsrs r0, 24 - bl MetatileBehavior_IsSurfableWaterOrUnderwater - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08085368 - movs r0, 0x8 - b _08085384 -_08085368: - bl sav1_map_is_biking_allowed - cmp r0, 0x1 - bne _08085382 - ldrb r0, [r6] - cmp r0, 0x2 - bne _0808537A - movs r0, 0x2 - b _08085384 -_0808537A: - cmp r0, 0x4 - bne _08085382 - movs r0, 0x4 - b _08085384 -_08085382: - movs r0, 0x1 -_08085384: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_808532C - - thumb_func_start sub_808538C -sub_808538C: @ 808538C - push {r4-r7,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 16 - lsrs r4, r2, 16 - lsls r3, 24 - lsrs r5, r3, 24 - ldr r0, =0x0000088d - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080853AC - cmp r5, 0x6 - beq _0808540C -_080853AC: - lsls r4, 24 - lsrs r5, r4, 24 - adds r0, r5, 0 - bl MetatileBehavior_IsDeepSouthWarp - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080853E8 - adds r0, r5, 0 - bl MetatileBehavior_IsNonAnimDoor - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08085442 - adds r0, r5, 0 - bl MetatileBehavior_IsDoor - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08085442 - adds r0, r5, 0 - bl MetatileBehavior_IsSouthArrowWarp - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080853F0 -_080853E8: - movs r0, 0x2 - b _08085448 - .pool -_080853F0: - adds r0, r5, 0 - bl MetatileBehavior_IsNorthArrowWarp - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08085442 - adds r0, r5, 0 - bl MetatileBehavior_IsWestArrowWarp - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08085410 -_0808540C: - movs r0, 0x4 - b _08085448 -_08085410: - adds r0, r5, 0 - bl MetatileBehavior_IsEastArrowWarp - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08085422 - movs r0, 0x3 - b _08085448 -_08085422: - ldrb r0, [r6] - cmp r0, 0x10 - bne _0808542C - cmp r7, 0x8 - beq _08085446 -_0808542C: - cmp r0, 0x8 - bne _08085434 - cmp r7, 0x10 - beq _08085446 -_08085434: - lsrs r0, r4, 24 - bl MetatileBehavior_IsLadder - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08085446 -_08085442: - movs r0, 0x1 - b _08085448 -_08085446: - ldrb r0, [r6, 0x1] -_08085448: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_808538C - - thumb_func_start cur_mapdata_block_role_at_screen_center_acc_to_sav1 -cur_mapdata_block_role_at_screen_center_acc_to_sav1: @ 8085450 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r2, 0 - ldrsh r0, [r1, r2] - adds r0, 0x7 - movs r2, 0x2 - ldrsh r1, [r1, r2] - adds r1, 0x7 - bl MapGridGetMetatileBehaviorAt - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end cur_mapdata_block_role_at_screen_center_acc_to_sav1 - - thumb_func_start sav1_map_is_biking_allowed -sav1_map_is_biking_allowed: @ 8085474 - push {lr} - ldr r0, =gMapHeader - ldrb r1, [r0, 0x1A] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0808548C - movs r0, 0x1 - b _0808548E - .pool -_0808548C: - movs r0, 0 -_0808548E: - pop {r1} - bx r1 - thumb_func_end sav1_map_is_biking_allowed - - thumb_func_start update_sav1_flash_used_on_map -update_sav1_flash_used_on_map: @ 8085494 - push {lr} - ldr r0, =gMapHeader - ldrb r1, [r0, 0x15] - cmp r1, 0 - bne _080854B0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0x30 - strb r1, [r0] - b _080854DE - .pool -_080854B0: - ldr r0, =0x00000888 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080854D0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0x30 - movs r1, 0x1 - strb r1, [r0] - b _080854DE - .pool -_080854D0: - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =gUnknown_0854FE78 - ldr r0, [r0] - subs r0, 0x1 - adds r1, 0x30 - strb r0, [r1] -_080854DE: - pop {r0} - bx r0 - .pool - thumb_func_end update_sav1_flash_used_on_map - - thumb_func_start Overworld_SetFlashLevel -Overworld_SetFlashLevel: @ 80854EC - push {lr} - adds r1, r0, 0 - cmp r1, 0 - blt _080854FC - ldr r0, =gUnknown_0854FE78 - ldr r0, [r0] - cmp r1, r0 - ble _080854FE -_080854FC: - movs r1, 0 -_080854FE: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0x30 - strb r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end Overworld_SetFlashLevel - - thumb_func_start sav1_get_flash_used_on_map -sav1_get_flash_used_on_map: @ 8085514 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0x30 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sav1_get_flash_used_on_map - - thumb_func_start sub_8085524 -sub_8085524: @ 8085524 - push {lr} - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - strh r0, [r1, 0x32] - bl get_mapdata_header - ldr r1, =gMapHeader - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8085524 - - thumb_func_start sub_8085540 -sub_8085540: @ 8085540 - ldr r1, =gUnknown_020322D8 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_8085540 - - thumb_func_start sub_808554C -sub_808554C: @ 808554C - ldr r0, =gUnknown_020322D8 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_808554C - - thumb_func_start sub_8085558 -sub_8085558: @ 8085558 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =0x0000088a - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080855AC - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0 - bne _080855AC - movs r0, 0x1 - ldrsb r0, [r4, r0] - cmp r0, 0x5 - blt _08085584 - cmp r0, 0x8 - ble _0808559E - cmp r0, 0x2B - bgt _08085584 - cmp r0, 0x27 - bge _0808559E -_08085584: - ldr r0, =0x0000405e - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - bls _080855AC - movs r0, 0x1 - ldrsb r0, [r4, r0] - cmp r0, 0x2E - bgt _080855AC - cmp r0, 0x2C - blt _080855AC -_0808559E: - movs r0, 0x1 - b _080855AE - .pool -_080855AC: - movs r0, 0 -_080855AE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8085558 - - thumb_func_start sub_80855B4 -sub_80855B4: @ 80855B4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =0x000040ca - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _080855D6 - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0 - bne _080855D6 - movs r0, 0x1 - ldrsb r0, [r4, r0] - cmp r0, 0x7 - beq _080855E0 -_080855D6: - movs r0, 0 - b _080855E2 - .pool -_080855E0: - movs r0, 0x1 -_080855E2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80855B4 - - thumb_func_start sub_80855E8 -sub_80855E8: @ 80855E8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =0x000040b3 - bl VarGet - lsls r0, 16 - cmp r0, 0 - bne _08085606 - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0x20 - bne _08085606 - ldrb r0, [r4, 0x1] - cmp r0, 0x1 - bls _08085610 -_08085606: - movs r0, 0 - b _08085612 - .pool -_08085610: - movs r0, 0x1 -_08085612: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80855E8 - - thumb_func_start sub_8085618 -sub_8085618: @ 8085618 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, =0x0000405d - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _0808564C - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bhi _0808564C - movs r0, 0 - ldrsb r0, [r5, r0] - cmp r0, 0xE - bne _0808564C - ldrb r0, [r5, 0x1] - subs r0, 0x9 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _08085654 -_0808564C: - movs r0, 0 - b _08085656 - .pool -_08085654: - movs r0, 0x1 -_08085656: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8085618 - - thumb_func_start warp_target_get_music -warp_target_get_music: @ 808565C - push {r4,lr} - adds r4, r0, 0 - bl sub_80855B4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _08085674 - ldr r0, =0x0000ffff - b _080856CE - .pool -_08085674: - adds r0, r4, 0 - bl sub_8085558 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0808568C - ldr r0, =0x000001bb - b _080856CE - .pool -_0808568C: - adds r0, r4, 0 - bl sub_8085618 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _080856A4 - ldr r0, =0x000001b9 - b _080856CE - .pool -_080856A4: - adds r0, r4, 0 - bl sub_80855E8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - beq _080856CA - movs r0, 0 - ldrsb r0, [r4, r0] - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ldrsb r1, [r4, r1] - lsls r1, 16 - lsrs r1, 16 - bl get_mapheader_by_bank_and_number - ldrh r0, [r0, 0x10] - b _080856CE -_080856CA: - movs r0, 0xCB - lsls r0, 1 -_080856CE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end warp_target_get_music - - thumb_func_start sav1_map_get_music -sav1_map_get_music: @ 80856D4 - push {r4,lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - movs r0, 0xD0 - lsls r0, 5 - cmp r1, r0 - bne _080856FC - bl sav1_get_weather_probably - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8 - bne _080856FC - ldr r0, =0x00000199 - b _08085730 - .pool -_080856FC: - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - adds r0, 0x4 - bl warp_target_get_music - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, =0x00007fff - cmp r1, r0 - beq _0808571C - adds r0, r1, 0 - b _08085730 - .pool -_0808571C: - ldr r0, [r4] - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x17 - ble _0808572C - movs r0, 0xC9 - lsls r0, 1 - b _08085730 -_0808572C: - movs r0, 0xB4 - lsls r0, 1 -_08085730: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sav1_map_get_music - - thumb_func_start warp1_target_get_music -warp1_target_get_music: @ 8085738 - push {lr} - ldr r0, =gUnknown_020322E4 - bl warp_target_get_music - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, =0x00007fff - cmp r1, r0 - beq _08085758 - adds r0, r1, 0 - b _08085774 - .pool -_08085758: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - movs r0, 0x80 - lsls r0, 2 - cmp r1, r0 - beq _08085770 - subs r0, 0x6E - b _08085774 - .pool -_08085770: - movs r0, 0xB4 - lsls r0, 1 -_08085774: - pop {r1} - bx r1 - thumb_func_end warp1_target_get_music - - thumb_func_start call_ResetMapMusic -call_ResetMapMusic: @ 8085778 - push {lr} - bl ResetMapMusic - pop {r0} - bx r0 - thumb_func_end call_ResetMapMusic - - thumb_func_start sub_8085784 -sub_8085784: @ 8085784 - push {r4,lr} - bl sav1_map_get_music - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x000001bb - cmp r4, r0 - beq _080857D6 - ldr r0, =0x0000ffff - cmp r4, r0 - beq _080857D6 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldrh r0, [r1, 0x2C] - cmp r0, 0 - beq _080857B4 - adds r4, r0, 0 - b _080857D6 - .pool -_080857B4: - bl sav1_map_get_light_level - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bne _080857C8 - ldr r4, =0x0000019b - b _080857D6 - .pool -_080857C8: - movs r0, 0x8 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _080857D6 - ldr r4, =0x0000016d -_080857D6: - bl GetCurrentMapMusic - lsls r0, 16 - lsrs r0, 16 - cmp r4, r0 - beq _080857E8 - adds r0, r4, 0 - bl PlayNewMapMusic -_080857E8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8085784 - - thumb_func_start Overworld_SetSavedMusic -Overworld_SetSavedMusic: @ 80857F4 - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - strh r0, [r1, 0x2C] - bx lr - .pool - thumb_func_end Overworld_SetSavedMusic - - thumb_func_start sav1_reset_battle_music_maybe -sav1_reset_battle_music_maybe: @ 8085800 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0 - strh r0, [r1, 0x2C] - bx lr - .pool - thumb_func_end sav1_reset_battle_music_maybe - - thumb_func_start sub_8085810 -sub_8085810: @ 8085810 - push {r4-r6,lr} - ldr r0, =0x00004001 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08085890 - bl warp1_target_get_music - lsls r0, 16 - lsrs r4, r0, 16 - bl GetCurrentMapMusic - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, =0x000001bb - cmp r4, r0 - beq _08085856 - ldr r0, =0x0000ffff - cmp r4, r0 - beq _08085856 - ldr r0, =0x0000019b - cmp r5, r0 - beq _08085890 - ldr r6, =0x0000016d - cmp r5, r6 - beq _08085890 - movs r0, 0x8 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _08085856 - adds r4, r6, 0 -_08085856: - cmp r4, r5 - beq _08085890 - movs r0, 0x6 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _08085888 - adds r0, r4, 0 - movs r1, 0x4 - movs r2, 0x4 - bl FadeOutAndFadeInNewMapMusic - b _08085890 - .pool -_08085888: - adds r0, r4, 0 - movs r1, 0x8 - bl FadeOutAndPlayNewMapMusic -_08085890: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8085810 - - thumb_func_start Overworld_ChangeMusicToDefault -Overworld_ChangeMusicToDefault: @ 8085898 - push {r4,lr} - bl GetCurrentMapMusic - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sav1_map_get_music - lsls r0, 16 - lsrs r0, 16 - cmp r4, r0 - beq _080858BE - bl sav1_map_get_music - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x8 - bl FadeOutAndPlayNewMapMusic -_080858BE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end Overworld_ChangeMusicToDefault - - thumb_func_start Overworld_ChangeMusicTo -Overworld_ChangeMusicTo: @ 80858C4 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - bl GetCurrentMapMusic - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r4 - beq _080858E4 - ldr r0, =0x000001bb - cmp r1, r0 - beq _080858E4 - adds r0, r4, 0 - movs r1, 0x8 - bl FadeOutAndPlayNewMapMusic -_080858E4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end Overworld_ChangeMusicTo - - thumb_func_start is_warp1_light_level_8_or_9 -is_warp1_light_level_8_or_9: @ 80858F0 - push {lr} - bl warp1_get_mapheader - ldrb r0, [r0, 0x17] - bl is_light_level_8_or_9 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08085908 - movs r0, 0x4 - b _0808590A -_08085908: - movs r0, 0x2 -_0808590A: - pop {r1} - bx r1 - thumb_func_end is_warp1_light_level_8_or_9 - - thumb_func_start music_something -music_something: @ 8085910 - push {r4,r5,lr} - bl GetCurrentMapMusic - lsls r0, 16 - lsrs r5, r0, 16 - bl warp1_target_get_music - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004001 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0808597E - bl GetCurrentMapMusic - lsls r0, 16 - lsrs r0, 16 - cmp r4, r0 - beq _0808597E - ldr r0, =0x0000016d - cmp r5, r0 - bne _08085972 - ldr r0, =0x000040ca - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _08085972 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000ffff - ldrh r2, [r0, 0x4] - movs r0, 0xE0 - lsls r0, 3 - cmp r2, r0 - bne _08085972 - ldr r3, =gUnknown_020322E4 - ldrh r0, [r3] - ands r1, r0 - cmp r1, r2 - bne _08085972 - ldr r1, [r3, 0x4] - ldr r0, =0x0035001d - cmp r1, r0 - beq _0808597E -_08085972: - bl is_warp1_light_level_8_or_9 - lsls r0, 24 - lsrs r0, 24 - bl FadeOutMapMusic -_0808597E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end music_something - - thumb_func_start sub_80859A0 -sub_80859A0: @ 80859A0 - push {lr} - bl IsNotWaitingForBGMStop - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_80859A0 - - thumb_func_start sub_80859B0 -sub_80859B0: @ 80859B0 - push {lr} - movs r0, 0x4 - bl FadeOutMapMusic - pop {r0} - bx r0 - thumb_func_end sub_80859B0 - - thumb_func_start sub_80859BC -sub_80859BC: @ 80859BC - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - ldr r0, =gUnknown_02032306 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080859F0 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsSurfableWaterOrUnderwater - lsls r0, 24 - cmp r0, 0 - beq _08085A2C -_080859F0: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x58 - bl __umodsi3 - adds r4, r0, 0 - adds r4, 0xD4 - lsls r4, 24 - lsrs r4, 24 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1E - bl __umodsi3 - adds r2, r0, 0 - adds r2, 0x32 - ldr r0, =gUnknown_02032304 - ldrh r0, [r0] - lsls r4, 24 - asrs r4, 24 - lsls r2, 24 - asrs r2, 24 - adds r1, r4, 0 - movs r3, 0x1 - bl PlayCry2 -_08085A2C: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80859BC - - thumb_func_start wild_encounter_related -wild_encounter_related: @ 8085A3C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - adds r7, r1, 0 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0x4 - bhi _08085B20 - lsls r0, 2 - ldr r1, =_08085A60 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08085A60: - .4byte _08085A74 - .4byte _08085A88 - .4byte _08085AA4 - .4byte _08085B0C - .4byte _08085B20 -_08085A74: - ldr r0, =gUnknown_02032304 - ldrh r0, [r0] - cmp r0, 0 - bne _08085A84 - movs r0, 0x4 - b _08085B1E - .pool -_08085A84: - movs r0, 0x1 - b _08085B1E -_08085A88: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x96 - lsls r1, 4 - bl __umodsi3 - movs r1, 0x96 - lsls r1, 3 - adds r0, r1 - strh r0, [r7] - movs r0, 0x3 - b _08085B1E -_08085AA4: - movs r0, 0x1 - mov r9, r0 - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r5, 0 - b _08085ABC -_08085AB6: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_08085ABC: - cmp r5, r8 - bcs _08085AE4 - movs r0, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _08085AB6 - adds r0, r4, 0 - bl GetMonAbility - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x44 - bne _08085AB6 - movs r1, 0x2 - mov r9, r1 -_08085AE4: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r4, 0x96 - lsls r4, 3 - adds r1, r4, 0 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - adds r0, r4 - mov r1, r9 - bl __divsi3 - strh r0, [r7] - movs r0, 0x3 - b _08085B1E - .pool -_08085B0C: - ldrh r0, [r7] - subs r0, 0x1 - strh r0, [r7] - lsls r0, 16 - cmp r0, 0 - bne _08085B20 - bl sub_80859BC - movs r0, 0x2 -_08085B1E: - strh r0, [r6] -_08085B20: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end wild_encounter_related - - thumb_func_start sub_8085B2C -sub_8085B2C: @ 8085B2C - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - movs r0, 0xB4 - lsls r0, 6 - cmp r1, r0 - bne _08085B5C - bl sub_813793C - lsls r0, 24 - cmp r0, 0 - bne _08085B5C - ldr r1, =gUnknown_02032306 - movs r0, 0x1 - strb r0, [r1] - bl sub_80B582C - b _08085B62 - .pool -_08085B5C: - ldr r0, =gUnknown_02032306 - bl wild_pokemon_rand_for_map -_08085B62: - ldr r1, =gUnknown_02032304 - strh r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8085B2C - - thumb_func_start get_map_light_level_by_bank_and_number -@ int get_map_light_level_by_bank_and_number(int bank, int number) -get_map_light_level_by_bank_and_number: @ 8085B74 - push {lr} - lsls r0, 24 - asrs r0, 8 - lsrs r0, 16 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - bl get_mapheader_by_bank_and_number - ldrb r0, [r0, 0x17] - pop {r1} - bx r1 - thumb_func_end get_map_light_level_by_bank_and_number - - thumb_func_start get_map_light_level_from_warp -@ int get_map_light_level_from_warp(warpdata *warp) -get_map_light_level_from_warp: @ 8085B8C - push {lr} - movs r2, 0 - ldrsb r2, [r0, r2] - movs r1, 0x1 - ldrsb r1, [r0, r1] - adds r0, r2, 0 - bl get_map_light_level_by_bank_and_number - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end get_map_light_level_from_warp - - thumb_func_start sav1_map_get_light_level -sav1_map_get_light_level: @ 8085BA4 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0x4 - bl get_map_light_level_from_warp - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sav1_map_get_light_level - - thumb_func_start get_map_light_from_warp0 -get_map_light_from_warp0: @ 8085BBC - push {lr} - ldr r0, =gUnknown_020322DC - bl get_map_light_level_from_warp - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end get_map_light_from_warp0 - - thumb_func_start is_light_level_1_2_3_5_or_6 -is_light_level_1_2_3_5_or_6: @ 8085BD0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _08085BEA - cmp r0, 0x1 - beq _08085BEA - cmp r0, 0x5 - beq _08085BEA - cmp r0, 0x2 - beq _08085BEA - cmp r0, 0x6 - bne _08085BEE -_08085BEA: - movs r0, 0x1 - b _08085BF0 -_08085BEE: - movs r0, 0 -_08085BF0: - pop {r1} - bx r1 - thumb_func_end is_light_level_1_2_3_5_or_6 - - thumb_func_start is_light_level_1_2_3_or_6 -is_light_level_1_2_3_or_6: @ 8085BF4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _08085C0A - cmp r0, 0x1 - beq _08085C0A - cmp r0, 0x6 - beq _08085C0A - cmp r0, 0x2 - bne _08085C0E -_08085C0A: - movs r0, 0x1 - b _08085C10 -_08085C0E: - movs r0, 0 -_08085C10: - pop {r1} - bx r1 - thumb_func_end is_light_level_1_2_3_or_6 - - thumb_func_start is_light_level_8_or_9 -is_light_level_8_or_9: @ 8085C14 - push {lr} - lsls r0, 24 - movs r1, 0xF8 - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08085C28 - movs r0, 0 - b _08085C2A -_08085C28: - movs r0, 0x1 -_08085C2A: - pop {r1} - bx r1 - thumb_func_end is_light_level_8_or_9 - - thumb_func_start sav1_saved_warp2_map_get_name -sav1_saved_warp2_map_get_name: @ 8085C30 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x14 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x15] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl get_mapheader_by_bank_and_number - ldrb r0, [r0, 0x14] - pop {r1} - bx r1 - .pool - thumb_func_end sav1_saved_warp2_map_get_name - - thumb_func_start sav1_map_get_name -sav1_map_get_name: @ 8085C58 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl get_mapheader_by_bank_and_number - ldrb r0, [r0, 0x14] - pop {r1} - bx r1 - .pool - thumb_func_end sav1_map_get_name - - thumb_func_start sav1_map_get_battletype -sav1_map_get_battletype: @ 8085C80 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl get_mapheader_by_bank_and_number - ldrb r0, [r0, 0x1B] - pop {r1} - bx r1 - .pool - thumb_func_end sav1_map_get_battletype - - thumb_func_start overworld_bg_setup -@ void overworld_bg_setup() -overworld_bg_setup: @ 8085CA8 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r1, =gUnknown_08339DAC - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - movs r0, 0x1 - movs r1, 0x5 - movs r2, 0x1 - bl SetBgAttribute - movs r0, 0x2 - movs r1, 0x5 - movs r2, 0x1 - bl SetBgAttribute - movs r0, 0x3 - movs r1, 0x5 - movs r2, 0x1 - bl SetBgAttribute - ldr r0, =gUnknown_03005DA0 - mov r8, r0 - movs r4, 0x80 - lsls r4, 4 - adds r0, r4, 0 - bl AllocZeroed - mov r1, r8 - str r0, [r1] - ldr r6, =gUnknown_03005D9C - adds r0, r4, 0 - bl AllocZeroed - str r0, [r6] - ldr r5, =gUnknown_03005DA4 - adds r0, r4, 0 - bl AllocZeroed - str r0, [r5] - mov r0, r8 - ldr r1, [r0] - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r6] - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r1, [r5] - movs r0, 0x3 - bl SetBgTilemapBuffer - bl sub_81971D0 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end overworld_bg_setup - - thumb_func_start overworld_free_bg_tilemaps -overworld_free_bg_tilemaps: @ 8085D34 - push {r4,lr} - bl sub_81BE72C - bl sub_81971F4 - ldr r4, =gUnknown_03005DA4 - ldr r0, [r4] - cmp r0, 0 - beq _08085D4E - bl Free - movs r0, 0 - str r0, [r4] -_08085D4E: - ldr r4, =gUnknown_03005D9C - ldr r0, [r4] - cmp r0, 0 - beq _08085D5E - bl Free - movs r0, 0 - str r0, [r4] -_08085D5E: - ldr r4, =gUnknown_03005DA0 - ldr r0, [r4] - cmp r0, 0 - beq _08085D6E - bl Free - movs r0, 0 - str r0, [r4] -_08085D6E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end overworld_free_bg_tilemaps - - thumb_func_start ResetSafariZoneFlag_ -ResetSafariZoneFlag_: @ 8085D80 - push {lr} - bl ResetSafariZoneFlag - pop {r0} - bx r0 - thumb_func_end ResetSafariZoneFlag_ - - thumb_func_start is_c1_link_related_active -@ _BOOL4 is_c1_link_related_active() -is_c1_link_related_active: @ 8085D8C - push {lr} - ldr r0, =gMain - ldr r1, [r0] - ldr r0, =c1_link_related - cmp r1, r0 - beq _08085DA4 - movs r0, 0 - b _08085DA6 - .pool -_08085DA4: - movs r0, 0x1 -_08085DA6: - pop {r1} - bx r1 - thumb_func_end is_c1_link_related_active - - thumb_func_start c1_overworld_normal -@ void c1_overworld_normal(int buttons_new, int buttons_held) -c1_overworld_normal: @ 8085DAC - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r0, 16 - adds r5, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r4, r1, 0 - bl sub_808B578 - mov r6, sp - mov r0, sp - bl sub_809BEDC - mov r0, sp - adds r1, r5, 0 - adds r2, r4, 0 - bl process_overworld_input - bl ScriptContext2_IsEnabled - lsls r0, 24 - cmp r0, 0 - bne _08085DFA - mov r0, sp - bl sub_809C014 - cmp r0, 0x1 - bne _08085DF0 - bl ScriptContext2_Enable - bl HideMapNamePopUpWindow - b _08085DFA -_08085DF0: - ldrb r0, [r6, 0x2] - adds r1, r5, 0 - adds r2, r4, 0 - bl player_step -_08085DFA: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end c1_overworld_normal - - thumb_func_start c1_overworld -c1_overworld: @ 8085E04 - push {lr} - ldr r2, =gMain - ldr r1, [r2, 0x4] - ldr r0, =c2_overworld - cmp r1, r0 - bne _08085E18 - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x2C] - bl c1_overworld_normal -_08085E18: - pop {r0} - bx r0 - .pool - thumb_func_end c1_overworld - - thumb_func_start c2_overworld_basic -@ void c2_overworld_basic() -c2_overworld_basic: @ 8085E24 - push {lr} - bl ScriptContext2_RunScript - bl RunTasks - bl AnimateSprites - bl CameraUpdate - bl UpdateCameraPanning - bl BuildOamBuffer - bl UpdatePaletteFade - bl sub_80A0A38 - bl do_scheduled_bg_tilemap_copies_to_vram - pop {r0} - bx r0 - thumb_func_end c2_overworld_basic - - thumb_func_start sub_8085E50 -sub_8085E50: @ 8085E50 - push {lr} - bl c2_overworld_basic - pop {r0} - bx r0 - thumb_func_end sub_8085E50 - - thumb_func_start c2_overworld -c2_overworld: @ 8085E5C - push {r4,lr} - ldr r0, =gPaletteFade - ldrb r0, [r0, 0x7] - lsrs r0, 7 - adds r4, r0, 0 - cmp r4, 0 - beq _08085E70 - movs r0, 0 - bl SetVBlankCallback -_08085E70: - bl c2_overworld_basic - cmp r4, 0 - beq _08085E7C - bl SetFieldVBlankCallback -_08085E7C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end c2_overworld - - thumb_func_start set_callback1 -set_callback1: @ 8085E88 - ldr r1, =gMain - str r0, [r1] - bx lr - .pool - thumb_func_end set_callback1 - - thumb_func_start sub_8085E94 -sub_8085E94: @ 8085E94 - ldr r1, =gUnknown_03000E0C - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8085E94 - - thumb_func_start map_post_load_hook_exec -map_post_load_hook_exec: @ 8085EA0 - push {r4,lr} - ldr r4, =gUnknown_03005DB0 - ldr r0, [r4] - cmp r0, 0 - beq _08085ECC - bl _call_via_r0 - lsls r0, 24 - cmp r0, 0 - bne _08085EBC - movs r0, 0 - b _08085EEC - .pool -_08085EBC: - movs r1, 0 - str r1, [r4] - ldr r0, =gFieldCallback - str r1, [r0] - b _08085EEA - .pool -_08085ECC: - ldr r0, =gFieldCallback - ldr r0, [r0] - cmp r0, 0 - beq _08085EE0 - bl _call_via_r0 - b _08085EE4 - .pool -_08085EE0: - bl mapldr_default -_08085EE4: - ldr r1, =gFieldCallback - movs r0, 0 - str r0, [r1] -_08085EEA: - movs r0, 0x1 -_08085EEC: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end map_post_load_hook_exec - - thumb_func_start CB2_NewGame -CB2_NewGame: @ 8085EF8 - push {lr} - bl sub_808631C - bl StopMapMusic - bl ResetSafariZoneFlag_ - bl NewGameInitData - bl player_avatar_init_params_reset - bl PlayTimeCounter_Start - bl ScriptContext1_Init - bl ScriptContext2_Disable - ldr r1, =gFieldCallback - ldr r0, =ExecuteTruckSequence - str r0, [r1] - ldr r1, =gUnknown_03005DB0 - movs r0, 0 - str r0, [r1] - ldr r0, =gUnknown_030026F8 - bl do_load_map_stuff_loop - bl SetFieldVBlankCallback - ldr r0, =c1_overworld - bl set_callback1 - ldr r0, =c2_overworld - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end CB2_NewGame - - thumb_func_start c2_whiteout -c2_whiteout: @ 8085F58 - push {lr} - sub sp, 0x4 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x77 - bls _08085FB0 - bl sub_808631C - bl StopMapMusic - bl ResetSafariZoneFlag_ - bl sub_8084620 - bl player_avatar_init_params_reset - bl ScriptContext1_Init - bl ScriptContext2_Disable - ldr r1, =gFieldCallback - ldr r0, =sub_80AF3C8 - str r0, [r1] - mov r1, sp - movs r0, 0 - strb r0, [r1] - mov r0, sp - bl do_load_map_stuff_loop - bl SetFieldVBlankCallback - ldr r0, =c1_overworld - bl set_callback1 - ldr r0, =c2_overworld - bl SetMainCallback2 -_08085FB0: - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end c2_whiteout - - thumb_func_start c2_load_new_map -c2_load_new_map: @ 8085FCC - push {lr} - bl sub_808631C - bl ScriptContext1_Init - bl ScriptContext2_Disable - movs r0, 0 - bl set_callback1 - ldr r0, =c2_change_map - bl SetMainCallback2 - ldr r1, =gMain - ldr r0, =c2_load_new_map_2 - str r0, [r1, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end c2_load_new_map - - thumb_func_start c2_load_new_map_2 -c2_load_new_map_2: @ 8085FFC - push {lr} - ldr r0, =gUnknown_030026F8 - bl do_load_map_stuff_loop - bl SetFieldVBlankCallback - ldr r0, =c1_overworld - bl set_callback1 - ldr r0, =c2_overworld - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end c2_load_new_map_2 - - thumb_func_start sub_8086024 -sub_8086024: @ 8086024 - push {r4,lr} - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0 - bne _08086046 - bl sub_808631C - bl ScriptContext1_Init - bl ScriptContext2_Disable - movs r0, 0 - bl set_callback1 -_08086046: - adds r0, r4, 0 - movs r1, 0x1 - bl load_map_stuff - cmp r0, 0 - beq _08086062 - bl SetFieldVBlankCallback - ldr r0, =c1_overworld - bl set_callback1 - ldr r0, =c2_overworld - bl SetMainCallback2 -_08086062: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8086024 - - thumb_func_start sub_8086074 -sub_8086074: @ 8086074 - push {lr} - bl sub_808631C - ldr r0, =gFieldCallback - ldr r1, =sub_80AF314 - str r1, [r0] - ldr r0, =c2_80567AC - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8086074 - - thumb_func_start c2_80567AC -c2_80567AC: @ 8086098 - push {lr} - ldr r0, =gUnknown_030026F8 - bl map_loading_iteration_3 - cmp r0, 0 - beq _080860B8 - bl SetFieldVBlankCallback - ldr r0, =c1_link_related - bl set_callback1 - bl sub_8086C2C - ldr r0, =c2_overworld - bl SetMainCallback2 -_080860B8: - pop {r0} - bx r0 - .pool - thumb_func_end c2_80567AC - - thumb_func_start c2_exit_to_overworld_2_switch -c2_exit_to_overworld_2_switch: @ 80860C8 - push {lr} - bl is_c1_link_related_active - cmp r0, 0x1 - bne _080860E0 - ldr r0, =c2_exit_to_overworld_2_link - bl SetMainCallback2 - b _080860EA - .pool -_080860E0: - bl sub_808631C - ldr r0, =c2_exit_to_overworld_2_local - bl SetMainCallback2 -_080860EA: - pop {r0} - bx r0 - .pool - thumb_func_end c2_exit_to_overworld_2_switch - - thumb_func_start c2_exit_to_overworld_2_local -c2_exit_to_overworld_2_local: @ 80860F4 - push {lr} - ldr r0, =gUnknown_030026F8 - bl sub_8086638 - cmp r0, 0 - beq _0808610A - bl SetFieldVBlankCallback - ldr r0, =c2_overworld - bl SetMainCallback2 -_0808610A: - pop {r0} - bx r0 - .pool - thumb_func_end c2_exit_to_overworld_2_local - - thumb_func_start c2_exit_to_overworld_2_link -c2_exit_to_overworld_2_link: @ 8086118 - push {lr} - bl sub_8087598 - cmp r0, 0 - bne _08086132 - ldr r0, =gUnknown_030026F8 - bl map_loading_iteration_2_link - cmp r0, 0 - beq _08086132 - ldr r0, =c2_overworld - bl SetMainCallback2 -_08086132: - pop {r0} - bx r0 - .pool - thumb_func_end c2_exit_to_overworld_2_link - - thumb_func_start c2_8056854 -c2_8056854: @ 8086140 - push {lr} - bl sub_808631C - bl StopMapMusic - ldr r0, =c1_link_related - bl set_callback1 - bl sub_8086C2C - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - beq _08086174 - ldr r1, =gFieldCallback - ldr r0, =sub_80AF314 - b _08086178 - .pool -_08086174: - ldr r1, =gFieldCallback - ldr r0, =sub_80AF214 -_08086178: - str r0, [r1] - bl ScriptContext1_Init - bl ScriptContext2_Disable - bl c2_exit_to_overworld_2_switch - pop {r0} - bx r0 - .pool - thumb_func_end c2_8056854 - - thumb_func_start sub_8086194 -sub_8086194: @ 8086194 - push {lr} - bl sub_808631C - ldr r1, =gUnknown_03005DB0 - ldr r0, =sub_80AF6A4 - str r0, [r1] - bl c2_exit_to_overworld_2_switch - pop {r0} - bx r0 - .pool - thumb_func_end sub_8086194 - - thumb_func_start sub_80861B0 -sub_80861B0: @ 80861B0 - push {lr} - bl sub_808631C - ldr r1, =gFieldCallback - ldr r0, =sub_80AF188 - str r0, [r1] - bl c2_exit_to_overworld_2_switch - pop {r0} - bx r0 - .pool - thumb_func_end sub_80861B0 - - thumb_func_start c2_exit_to_overworld_1_continue_scripts_restart_music -c2_exit_to_overworld_1_continue_scripts_restart_music: @ 80861CC - push {lr} - bl sub_808631C - ldr r1, =gFieldCallback - ldr r0, =sub_80AF168 - str r0, [r1] - bl c2_exit_to_overworld_2_switch - pop {r0} - bx r0 - .pool - thumb_func_end c2_exit_to_overworld_1_continue_scripts_restart_music - - thumb_func_start sub_80861E8 -sub_80861E8: @ 80861E8 - push {lr} - bl sub_808631C - ldr r1, =gFieldCallback - ldr r0, =sub_80AF3C8 - str r0, [r1] - bl c2_exit_to_overworld_2_switch - pop {r0} - bx r0 - .pool - thumb_func_end sub_80861E8 - - thumb_func_start sub_8086204 -sub_8086204: @ 8086204 - push {lr} - ldr r0, =gMapHeader - ldrb r1, [r0, 0x1A] - movs r0, 0xF8 - ands r0, r1 - cmp r0, 0x8 - bne _08086222 - bl sub_80E909C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08086222 - bl AddMapNamePopUpWindowTask -_08086222: - bl sub_80AF3C8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8086204 - - thumb_func_start sub_8086230 -sub_8086230: @ 8086230 - push {r4,lr} - bl sub_808631C - bl StopMapMusic - bl ResetSafariZoneFlag_ - ldr r0, =gSaveFileStatus - ldrh r0, [r0] - cmp r0, 0xFF - bne _0808624A - bl sub_81A3908 -_0808624A: - bl set_current_map_header_from_sav1 - bl set_warp2_warp3_to_neg_1 - bl GetCurrentTrainerHillMapId - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gMapHeader - ldrh r1, [r0, 0x12] - ldr r0, =0x00000169 - cmp r1, r0 - bne _08086278 - bl sub_81AA2F8 - b _0808628A - .pool -_08086278: - cmp r4, 0 - beq _08086286 - cmp r4, 0x6 - beq _08086286 - bl sub_81D5F48 - b _0808628A -_08086286: - bl CopyFieldObjectTemplateCoordsToSav1 -_0808628A: - bl UnfreezeMapObjects - bl DoTimeBasedEvents - bl sub_8084788 - ldr r0, =gMapHeader - ldrh r1, [r0, 0x12] - ldr r0, =0x00000169 - cmp r1, r0 - bne _080862B0 - movs r0, 0x1 - bl battle_pyramid_map_load_related - b _080862BE - .pool -_080862B0: - cmp r4, 0 - beq _080862BA - bl trainer_hill_map_load_related - b _080862BE -_080862BA: - bl sub_8087D74 -_080862BE: - bl PlayTimeCounter_Start - bl ScriptContext1_Init - bl ScriptContext2_Disable - bl sub_8195E10 - bl sav2_x1_query_bit1 - cmp r0, 0x1 - bne _080862F4 - bl sav2_x9_clear_bit1 - bl warp1_set_to_sav1w - bl warp_in - bl sub_80EDB44 - ldr r0, =c2_load_new_map - bl SetMainCallback2 - b _08086308 - .pool -_080862F4: - bl sub_80EDB44 - ldr r0, =gFieldCallback - ldr r1, =sub_8086204 - str r1, [r0] - ldr r0, =c1_overworld - bl set_callback1 - bl c2_exit_to_overworld_2_switch -_08086308: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8086230 - - thumb_func_start sub_808631C -@ void sub_808631C() -sub_808631C: @ 808631C - push {r4,lr} - bl warp0_in_pokecenter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0808632E - bl sub_80097E8 -_0808632E: - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - beq _08086348 - movs r0, 0xC5 - bl EnableInterrupts - movs r0, 0x2 - bl DisableInterrupts - b _08086362 - .pool -_08086348: - ldr r4, =0x04000208 - ldrh r3, [r4] - strh r0, [r4] - ldr r2, =0x04000200 - ldrh r1, [r2] - ldr r0, =0x0000fffd - ands r0, r1 - strh r0, [r2] - ldrh r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r2] - strh r3, [r4] -_08086362: - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_808631C - - thumb_func_start SetFieldVBlankCallback -@ void SetFieldVBlankCallback() -SetFieldVBlankCallback: @ 8086380 - push {lr} - ldr r0, =VBlankCB_Field - bl SetVBlankCallback - pop {r0} - bx r0 - .pool - thumb_func_end SetFieldVBlankCallback - - thumb_func_start VBlankCB_Field -VBlankCB_Field: @ 8086390 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl sub_80BA0A8 - bl FieldUpdateBgTilemapScroll - bl TransferPlttBuffer - bl TransferTilesetAnimsBuffer - pop {r0} - bx r0 - thumb_func_end VBlankCB_Field - - thumb_func_start sub_80863B0 -sub_80863B0: @ 80863B0 - push {lr} - bl sub_81A9E6C - lsls r0, 24 - cmp r0, 0 - beq _080863D4 - bl door_upload_tiles - ldr r2, =gUnknown_08339DBC - ldr r0, [r2] - ldr r1, [r2, 0x4] - ldr r2, [r2, 0x8] - bl sub_80BA038 - b _080863F0 - .pool -_080863D4: - bl sav1_get_flash_used_on_map - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080863F0 - bl sub_80B00E8 - ldr r2, =gUnknown_08339DBC - ldr r0, [r2] - ldr r1, [r2, 0x4] - ldr r2, [r2, 0x8] - bl sub_80BA038 -_080863F0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80863B0 - - thumb_func_start map_loading_iteration_3 -map_loading_iteration_3: @ 80863F8 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0xD - bls _08086404 - b _08086512 -_08086404: - lsls r0, 2 - ldr r1, =_08086414 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08086414: - .4byte _0808644C - .4byte _08086462 - .4byte _0808646A - .4byte _08086472 - .4byte _08086484 - .4byte _08086492 - .4byte _08086498 - .4byte _080864A8 - .4byte _080864B8 - .4byte _080864D4 - .4byte _080864DA - .4byte _080864E0 - .4byte _080864FC - .4byte _0808650E -_0808644C: - bl overworld_bg_setup - bl ScriptContext1_Init - bl ScriptContext2_Disable - bl MoveSaveBlocks_ResetHeap_ - bl sub_80867D8 - b _08086506 -_08086462: - movs r0, 0x1 - bl mli0_load_map - b _08086506 -_0808646A: - movs r0, 0x1 - bl sub_8086988 - b _08086506 -_08086472: - bl sub_8086AE4 - bl sub_80869DC - bl sub_8086B14 - bl sub_8086AAC - b _08086506 -_08086484: - bl sub_80863B0 - bl map_loading_lcd_reset - bl sub_8197200 - b _08086506 -_08086492: - bl move_tilemap_camera_to_upper_left_corner - b _08086506 -_08086498: - ldr r0, =gMapHeader - ldr r0, [r0] - bl copy_map_tileset1_to_vram - b _08086506 - .pool -_080864A8: - ldr r0, =gMapHeader - ldr r0, [r0] - bl copy_map_tileset2_to_vram - b _08086506 - .pool -_080864B8: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08086512 - ldr r0, =gMapHeader - ldr r0, [r0] - bl apply_map_tileset1_tileset2_palette - b _08086506 - .pool -_080864D4: - bl DrawWholeMapView - b _08086506 -_080864DA: - bl cur_mapheader_run_tileset_funcs_after_some_cpuset - b _08086506 -_080864E0: - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - beq _08086506 - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl sub_800DFB4 - b _08086506 - .pool -_080864FC: - bl map_post_load_hook_exec - lsls r0, 24 - cmp r0, 0 - beq _08086512 -_08086506: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _08086512 -_0808650E: - movs r0, 0x1 - b _08086514 -_08086512: - movs r0, 0 -_08086514: - pop {r4} - pop {r1} - bx r1 - thumb_func_end map_loading_iteration_3 - - thumb_func_start load_map_stuff -@ int load_map_stuff(u8 *a1, int a2) -load_map_stuff: @ 808651C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4] - cmp r0, 0xD - bls _0808652A - b _0808662E -_0808652A: - lsls r0, 2 - ldr r1, =_08086538 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08086538: - .4byte _08086570 - .4byte _0808657C - .4byte _08086586 - .4byte _0808658E - .4byte _08086598 - .4byte _080865A6 - .4byte _080865AC - .4byte _080865BC - .4byte _080865CC - .4byte _080865E8 - .4byte _080865EE - .4byte _080865F4 - .4byte _08086618 - .4byte _0808662A -_08086570: - bl sub_808631C - adds r0, r5, 0 - bl mli0_load_map - b _08086622 -_0808657C: - bl MoveSaveBlocks_ResetHeap_ - bl sub_80867D8 - b _08086622 -_08086586: - adds r0, r5, 0 - bl sub_8086988 - b _08086622 -_0808658E: - bl mli4_mapscripts_and_other - bl sub_8086A80 - b _08086622 -_08086598: - bl sub_80863B0 - bl map_loading_lcd_reset - bl sub_8197200 - b _08086622 -_080865A6: - bl move_tilemap_camera_to_upper_left_corner - b _08086622 -_080865AC: - ldr r0, =gMapHeader - ldr r0, [r0] - bl copy_map_tileset1_to_vram - b _08086622 - .pool -_080865BC: - ldr r0, =gMapHeader - ldr r0, [r0] - bl copy_map_tileset2_to_vram - b _08086622 - .pool -_080865CC: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0808662E - ldr r0, =gMapHeader - ldr r0, [r0] - bl apply_map_tileset1_tileset2_palette - b _08086622 - .pool -_080865E8: - bl DrawWholeMapView - b _08086622 -_080865EE: - bl cur_mapheader_run_tileset_funcs_after_some_cpuset - b _08086622 -_080865F4: - ldr r0, =gMapHeader - ldrb r1, [r0, 0x1A] - movs r0, 0xF8 - ands r0, r1 - cmp r0, 0x8 - bne _08086622 - bl sub_80E909C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08086622 - bl AddMapNamePopUpWindowTask - b _08086622 - .pool -_08086618: - bl map_post_load_hook_exec - lsls r0, 24 - cmp r0, 0 - beq _0808662E -_08086622: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0808662E -_0808662A: - movs r0, 0x1 - b _08086630 -_0808662E: - movs r0, 0 -_08086630: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end load_map_stuff - - thumb_func_start sub_8086638 -sub_8086638: @ 8086638 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0x1 - beq _0808666E - cmp r0, 0x1 - bgt _0808664C - cmp r0, 0 - beq _08086656 - b _0808668E -_0808664C: - cmp r0, 0x2 - beq _08086678 - cmp r0, 0x3 - beq _0808668A - b _0808668E -_08086656: - bl MoveSaveBlocks_ResetHeap_ - bl sub_80867D8 - movs r0, 0 - bl sub_8086988 - bl sub_8086A68 - bl sub_8086A80 - b _08086682 -_0808666E: - bl sub_8086860 - bl sub_81D64C0 - b _08086682 -_08086678: - bl map_post_load_hook_exec - lsls r0, 24 - cmp r0, 0 - beq _0808668E -_08086682: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0808668E -_0808668A: - movs r0, 0x1 - b _08086690 -_0808668E: - movs r0, 0 -_08086690: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8086638 - - thumb_func_start map_loading_iteration_2_link -map_loading_iteration_2_link: @ 8086698 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0xD - bls _080866A4 - b _080867A8 -_080866A4: - lsls r0, 2 - ldr r1, =_080866B4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080866B4: - .4byte _080866EC - .4byte _080866FA - .4byte _08086702 - .4byte _08086710 - .4byte _0808671E - .4byte _08086724 - .4byte _08086734 - .4byte _08086744 - .4byte _08086760 - .4byte _08086766 - .4byte _08086792 - .4byte _0808676C - .4byte _08086788 - .4byte _0808679A -_080866EC: - bl sub_808631C - bl MoveSaveBlocks_ResetHeap_ - bl sub_80867D8 - b _08086792 -_080866FA: - movs r0, 0x1 - bl sub_8086988 - b _08086792 -_08086702: - bl sub_8086B9C - bl sub_8086A68 - bl sub_8086AC8 - b _08086792 -_08086710: - bl sub_80863B0 - bl map_loading_lcd_reset - bl sub_8197200 - b _08086792 -_0808671E: - bl move_tilemap_camera_to_upper_left_corner - b _08086792 -_08086724: - ldr r0, =gMapHeader - ldr r0, [r0] - bl copy_map_tileset1_to_vram - b _08086792 - .pool -_08086734: - ldr r0, =gMapHeader - ldr r0, [r0] - bl copy_map_tileset2_to_vram - b _08086792 - .pool -_08086744: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080867A8 - ldr r0, =gMapHeader - ldr r0, [r0] - bl apply_map_tileset1_tileset2_palette - b _08086792 - .pool -_08086760: - bl DrawWholeMapView - b _08086792 -_08086766: - bl cur_mapheader_run_tileset_funcs_after_some_cpuset - b _08086792 -_0808676C: - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - beq _08086792 - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl sub_800DFB4 - b _08086792 - .pool -_08086788: - bl map_post_load_hook_exec - lsls r0, 24 - cmp r0, 0 - beq _080867A8 -_08086792: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _080867A8 -_0808679A: - bl SetFieldVBlankCallback - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - movs r0, 0x1 - b _080867AA -_080867A8: - movs r0, 0 -_080867AA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end map_loading_iteration_2_link - - thumb_func_start do_load_map_stuff_loop -do_load_map_stuff_loop: @ 80867B0 - push {r4,lr} - adds r4, r0, 0 -_080867B4: - adds r0, r4, 0 - movs r1, 0 - bl load_map_stuff - cmp r0, 0 - beq _080867B4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end do_load_map_stuff_loop - - thumb_func_start MoveSaveBlocks_ResetHeap_ -MoveSaveBlocks_ResetHeap_: @ 80867C8 - push {lr} - bl sub_81BE6AC - bl MoveSaveBlocks_ResetHeap - pop {r0} - bx r0 - thumb_func_end MoveSaveBlocks_ResetHeap_ - - thumb_func_start sub_80867D8 -sub_80867D8: @ 80867D8 - push {r4-r7,lr} - sub sp, 0x4 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - bl remove_some_task - ldr r2, =0x05000002 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, =0x040000d4 - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - ldr r0, =0x810001ff - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0xC0 - lsls r3, 9 - mov r4, sp - movs r6, 0 - movs r5, 0x80 - lsls r5, 5 - ldr r7, =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_08086816: - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r5 - subs r3, r5 - cmp r3, r5 - bhi _08086816 - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0 - movs r1, 0x80 - bl ResetOamRange - bl LoadOam - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80867D8 - - thumb_func_start sub_8086860 -sub_8086860: @ 8086860 - push {lr} - bl sub_80863B0 - bl map_loading_lcd_reset - bl sub_8197200 - bl mapdata_load_assets_to_gpu_and_full_redraw - pop {r0} - bx r0 - thumb_func_end sub_8086860 - - thumb_func_start map_loading_lcd_reset -map_loading_lcd_reset: @ 8086878 - push {r4,lr} - bl clear_scheduled_bg_copies_to_vram - bl reset_temp_tile_data_buffers - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - ldr r1, =0x00001f1f - movs r0, 0x48 - bl SetGpuReg - ldr r1, =0x00000101 - movs r0, 0x4A - bl SetGpuReg - movs r0, 0x40 - movs r1, 0xFF - bl SetGpuReg - movs r0, 0x44 - movs r1, 0xFF - bl SetGpuReg - ldr r4, =0x0000ffff - movs r0, 0x42 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x46 - adds r1, r4, 0 - bl SetGpuReg - ldr r0, =gUnknown_82EC7C4 - ldrh r1, [r0, 0x2] - ldrh r2, [r0, 0x4] - orrs r1, r2 - ldrh r0, [r0, 0x6] - orrs r1, r0 - movs r2, 0x82 - lsls r2, 5 - adds r0, r2, 0 - orrs r1, r0 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x0000070d - movs r0, 0x52 - bl SetGpuReg - bl overworld_bg_setup - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x3 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldr r1, =0x00007060 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - bl sub_8098128 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end map_loading_lcd_reset - - thumb_func_start sub_8086988 -sub_8086988: @ 8086988 - push {r4,lr} - adds r4, r0, 0 - bl ResetTasks - bl ResetSpriteData - bl ResetPaletteFade - bl dp12_8087EA4 - bl dp13_810BB8C - bl ResetCameraUpdateInfo - bl InstallCameraPanAheadCallback - cmp r4, 0 - bne _080869B4 - movs r0, 0 - bl npc_paltag_set_load - b _080869BA -_080869B4: - movs r0, 0x1 - bl npc_paltag_set_load -_080869BA: - bl FieldEffectActiveListClear - bl sub_80AAFA4 - bl sub_80AEE84 - cmp r4, 0 - bne _080869CE - bl overworld_ensure_per_step_coros_running -_080869CE: - bl mapheader_run_script_with_tag_x5 - bl sub_81BE6B8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8086988 - - thumb_func_start sub_80869DC -sub_80869DC: @ 80869DC - push {lr} - ldr r0, =gUnknown_03005DEC - movs r1, 0 - strh r1, [r0] - ldr r0, =gUnknown_03005DE8 - strh r1, [r0] - bl sub_808D438 - movs r0, 0 - movs r1, 0 - bl SpawnFieldObjectsInView - bl mapheader_run_first_tag4_script_list_match - pop {r0} - bx r0 - .pool - thumb_func_end sub_80869DC - - thumb_func_start mli4_mapscripts_and_other -mli4_mapscripts_and_other: @ 8086A04 - push {r4,r5,lr} - sub sp, 0x4 - ldr r0, =gUnknown_03005DEC - movs r1, 0 - strh r1, [r0] - ldr r0, =gUnknown_03005DE8 - strh r1, [r0] - bl sub_808D438 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl sav1_camera_get_focus_coords - bl sub_80852D4 - adds r5, r0, 0 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - ldrb r2, [r5, 0x1] - ldr r3, =gSaveBlock2Ptr - ldr r3, [r3] - ldrb r3, [r3, 0x8] - bl InitPlayerAvatar - ldrb r0, [r5] - bl SetPlayerAvatarTransitionFlags - bl player_avatar_init_params_reset - movs r0, 0 - movs r1, 0 - bl SpawnFieldObjectsInView - bl mapheader_run_first_tag4_script_list_match - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end mli4_mapscripts_and_other - - thumb_func_start sub_8086A68 -sub_8086A68: @ 8086A68 - push {lr} - movs r0, 0 - movs r1, 0 - bl sub_808E16C - bl sub_80FBED0 - bl mapheader_run_script_with_tag_x7 - pop {r0} - bx r0 - thumb_func_end sub_8086A68 - - thumb_func_start sub_8086A80 -sub_8086A80: @ 8086A80 - push {lr} - ldr r2, =gMapObjects - ldr r3, =gPlayerAvatar - ldrb r1, [r3, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x1] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0, 0x1] - ldrb r0, [r3, 0x4] - bl InitCameraUpdateCallback - pop {r0} - bx r0 - .pool - thumb_func_end sub_8086A80 - - thumb_func_start sub_8086AAC -sub_8086AAC: @ 8086AAC - push {lr} - ldr r0, =gUnknown_03005DB4 - ldrb r0, [r0] - bl sub_8087858 - lsls r0, 24 - lsrs r0, 24 - bl InitCameraUpdateCallback - pop {r0} - bx r0 - .pool - thumb_func_end sub_8086AAC - - thumb_func_start sub_8086AC8 -sub_8086AC8: @ 8086AC8 - push {lr} - ldr r0, =gUnknown_03005DB4 - ldrb r0, [r0] - bl sub_8087858 - lsls r0, 24 - lsrs r0, 24 - bl InitCameraUpdateCallback - pop {r0} - bx r0 - .pool - thumb_func_end sub_8086AC8 - - thumb_func_start sub_8086AE4 -sub_8086AE4: @ 8086AE4 - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl sav1_camera_get_focus_coords - mov r2, sp - ldr r0, =gUnknown_03005DB4 - ldrb r1, [r0] - ldrh r0, [r2] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r4] - bl sub_8088B3C - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8086AE4 - - thumb_func_start sub_8086B14 -sub_8086B14: @ 8086B14 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl sav1_camera_get_focus_coords - mov r3, sp - mov r2, sp - ldr r0, =gUnknown_03005DB4 - ldrb r1, [r0] - ldrh r0, [r2] - subs r0, r1 - strh r0, [r3] - movs r6, 0 - ldr r0, =gUnknown_03005DB8 - mov r8, r4 - ldrb r0, [r0] - cmp r6, r0 - bcs _08086B7E - ldr r7, =gLinkPlayers -_08086B44: - lsls r5, r6, 24 - lsrs r5, 24 - mov r0, sp - ldrh r1, [r0] - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - mov r0, r8 - movs r3, 0 - ldrsh r2, [r0, r3] - lsls r4, r6, 3 - subs r4, r6 - lsls r4, 2 - adds r4, r7 - ldrb r3, [r4, 0x13] - adds r0, r5, 0 - bl sub_80876F0 - ldrb r1, [r4] - adds r0, r5, 0 - bl sub_8087BCC - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =gUnknown_03005DB8 - ldrb r0, [r0] - cmp r6, r0 - bcc _08086B44 -_08086B7E: - bl sub_8086C40 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8086B14 - - thumb_func_start sub_8086B9C -sub_8086B9C: @ 8086B9C - push {r4,r5,lr} - movs r4, 0 - ldr r0, =gUnknown_03005DB8 - ldrb r0, [r0] - cmp r4, r0 - bcs _08086BCA - ldr r5, =gLinkPlayers -_08086BAA: - lsls r0, r4, 24 - lsrs r0, 24 - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - adds r1, r5 - ldrb r1, [r1] - bl sub_8087BCC - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =gUnknown_03005DB8 - ldrb r0, [r0] - cmp r4, r0 - bcc _08086BAA -_08086BCA: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8086B9C - - thumb_func_start c1_link_related -c1_link_related: @ 8086BD8 - push {r4,lr} - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - beq _08086BF2 - bl sub_800F0B8 - cmp r0, 0 - beq _08086BF2 - bl sub_8009F3C - cmp r0, 0 - bne _08086C14 -_08086BF2: - ldr r0, =gUnknown_03005DB4 - ldrb r4, [r0] - ldr r0, =gUnknown_03003020 - adds r1, r4, 0 - bl sub_8086F38 - ldr r0, =gUnknown_03000E14 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 16 - lsrs r0, 16 - bl sub_8086FA0 - bl sub_8086C40 -_08086C14: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end c1_link_related - - thumb_func_start sub_8086C2C -sub_8086C2C: @ 8086C2C - push {lr} - bl sub_8086C90 - ldr r0, =sub_80870B0 - bl c1_link_related_func_set - pop {r0} - bx r0 - .pool - thumb_func_end sub_8086C2C - - thumb_func_start sub_8086C40 -sub_8086C40: @ 8086C40 - push {lr} - ldr r0, =gUnknown_03003020 - bl sub_808709C - pop {r0} - bx r0 - .pool - thumb_func_end sub_8086C40 - - thumb_func_start c1_link_related_func_set -c1_link_related_func_set: @ 8086C50 - ldr r2, =gUnknown_03000E19 - movs r1, 0 - strb r1, [r2] - ldr r1, =gUnknown_03000E14 - str r0, [r1] - bx lr - .pool - thumb_func_end c1_link_related_func_set - - thumb_func_start sub_8086C64 -sub_8086C64: @ 8086C64 - push {lr} - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - beq _08086C82 - ldr r1, =gUnknown_03000E19 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3C - bls _08086C82 - bl sub_8010198 -_08086C82: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8086C64 - - thumb_func_start sub_8086C90 -sub_8086C90: @ 8086C90 - push {lr} - ldr r1, =gUnknown_03000E10 - movs r2, 0x80 - adds r0, r1, 0x3 -_08086C98: - strb r2, [r0] - subs r0, 0x1 - cmp r0, r1 - bge _08086C98 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8086C90 - - thumb_func_start sub_8086CA8 -sub_8086CA8: @ 8086CA8 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, =gUnknown_03005DB8 - ldrb r2, [r0] - movs r1, 0 - cmp r1, r2 - bge _08086CD6 - ldr r4, =gUnknown_03000E10 -_08086CBA: - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, r3 - beq _08086CD0 - movs r0, 0 - b _08086CD8 - .pool -_08086CD0: - adds r1, 0x1 - cmp r1, r2 - blt _08086CBA -_08086CD6: - movs r0, 0x1 -_08086CD8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8086CA8 - - thumb_func_start sub_8086CE0 -sub_8086CE0: @ 8086CE0 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, =gUnknown_03005DB8 - ldrb r2, [r0] - movs r1, 0 - cmp r1, r2 - bge _08086D0E - ldr r4, =gUnknown_03000E10 -_08086CF2: - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, r3 - bne _08086D08 - movs r0, 0x1 - b _08086D10 - .pool -_08086D08: - adds r1, 0x1 - cmp r1, r2 - blt _08086CF2 -_08086D0E: - movs r0, 0 -_08086D10: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8086CE0 - - thumb_func_start sub_8086D18 -sub_8086D18: @ 8086D18 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - adds r6, r2, 0 - mov r9, r3 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - ldr r0, =gUnknown_03000E10 - adds r5, r7, r0 - ldrb r0, [r5] - cmp r0, 0x80 - beq _08086D38 - b _08086EB2 -_08086D38: - adds r0, r6, 0 - bl sub_8087370 - adds r4, r0, 0 - cmp r4, 0 - beq _08086D70 - bl sub_8087480 - mov r1, r9 - strh r0, [r1] - movs r0, 0x81 - strb r0, [r5] - ldrb r0, [r6, 0x1] - cmp r0, 0 - bne _08086D58 - b _08086F26 -_08086D58: - ldr r0, =sub_80870F8 - bl c1_link_related_func_set - adds r0, r4, 0 - bl sub_8087530 - b _08086F26 - .pool -_08086D70: - movs r0, 0x83 - bl sub_8086CE0 - cmp r0, 0x1 - bne _08086D98 - movs r0, 0x81 - strb r0, [r5] - ldrb r0, [r6, 0x1] - cmp r0, 0 - bne _08086D86 - b _08086F26 -_08086D86: - ldr r0, =sub_80870F8 - bl c1_link_related_func_set - bl sub_8087584 - b _08086F26 - .pool -_08086D98: - mov r0, r8 - subs r0, 0x12 - cmp r0, 0xA - bls _08086DA2 - b _08086EB2 -_08086DA2: - lsls r0, 2 - ldr r1, =_08086DB0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08086DB0: - .4byte _08086E08 - .4byte _08086EB2 - .4byte _08086EB2 - .4byte _08086EB2 - .4byte _08086EB2 - .4byte _08086EB2 - .4byte _08086DDC - .4byte _08086E34 - .4byte _08086EB2 - .4byte _08086E64 - .4byte _08086E90 -_08086DDC: - adds r0, r6, 0 - bl sub_8087358 - cmp r0, 0 - beq _08086EB2 - ldr r0, =gUnknown_03000E10 - adds r0, r7, r0 - movs r1, 0x81 - strb r1, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0 - beq _08086EB2 - ldr r0, =sub_80870F8 - bl c1_link_related_func_set - bl sub_808751C - b _08086EB2 - .pool -_08086E08: - adds r0, r6, 0 - bl sub_8087388 - cmp r0, 0x1 - bne _08086EB2 - ldr r0, =gUnknown_03000E10 - adds r0, r7, r0 - movs r1, 0x81 - strb r1, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0 - beq _08086EB2 - ldr r0, =sub_80870F8 - bl c1_link_related_func_set - bl sub_808754C - b _08086EB2 - .pool -_08086E34: - adds r0, r6, 0 - bl sub_80873B4 - adds r4, r0, 0 - cmp r4, 0 - beq _08086EB2 - ldr r0, =gUnknown_03000E10 - adds r0, r7, r0 - movs r1, 0x81 - strb r1, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0 - beq _08086EB2 - ldr r0, =sub_80870F8 - bl c1_link_related_func_set - adds r0, r4, 0 - bl sub_8087568 - b _08086EB2 - .pool -_08086E64: - adds r0, r6, 0 - bl sub_8087340 - cmp r0, 0 - beq _08086EB2 - ldr r0, =gUnknown_03000E10 - adds r0, r7, r0 - movs r1, 0x81 - strb r1, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0 - beq _08086EB2 - ldr r0, =sub_808711C - bl c1_link_related_func_set - bl sub_8087510 - b _08086EB2 - .pool -_08086E90: - adds r0, r6, 0 - bl sub_8087340 - cmp r0, 0 - beq _08086EB2 - ldr r0, =gUnknown_03000E10 - adds r0, r7, r0 - movs r1, 0x81 - strb r1, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0 - beq _08086EB2 - ldr r0, =sub_8087140 - bl c1_link_related_func_set - bl sub_8087510 -_08086EB2: - mov r0, r8 - cmp r0, 0x17 - beq _08086ED8 - cmp r0, 0x17 - bgt _08086ECC - cmp r0, 0x16 - beq _08086EE8 - b _08086F26 - .pool -_08086ECC: - mov r1, r8 - cmp r1, 0x1A - beq _08086EF8 - cmp r1, 0x1D - beq _08086F18 - b _08086F26 -_08086ED8: - ldr r0, =gUnknown_03000E10 - adds r0, r7, r0 - movs r1, 0x83 - strb r1, [r0] - b _08086F26 - .pool -_08086EE8: - ldr r0, =gUnknown_03000E10 - adds r0, r7, r0 - movs r1, 0x82 - strb r1, [r0] - b _08086F26 - .pool -_08086EF8: - ldr r0, =gUnknown_03000E10 - adds r0, r7, r0 - movs r1, 0x80 - strb r1, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0 - beq _08086F26 - ldr r0, =sub_80870B0 - bl c1_link_related_func_set - b _08086F26 - .pool -_08086F18: - ldr r0, =gUnknown_03000E10 - adds r1, r7, r0 - ldrb r0, [r1] - cmp r0, 0x82 - bne _08086F26 - movs r0, 0x81 - strb r0, [r1] -_08086F26: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8086D18 - - thumb_func_start sub_8086F38 -sub_8086F38: @ 8086F38 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - mov r8, r1 - movs r6, 0 - add r5, sp, 0x10 - mov r9, r5 - adds r7, r0, 0 -_08086F4C: - ldrb r4, [r7] - movs r0, 0 - strh r0, [r5] - adds r0, r6, 0 - mov r1, r8 - mov r2, sp - bl sub_80872D8 - adds r0, r6, 0 - adds r1, r4, 0 - mov r2, sp - adds r3, r5, 0 - bl sub_8086D18 - ldr r0, =gUnknown_03000E10 - adds r0, r6, r0 - ldrb r0, [r0] - cmp r0, 0x80 - bne _08086F7C - adds r0, r4, 0 - bl sub_8087068 - mov r1, r9 - strh r0, [r1] -_08086F7C: - lsls r0, r6, 24 - lsrs r0, 24 - ldrb r1, [r5] - bl sub_808796C - adds r7, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _08086F4C - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8086F38 - - thumb_func_start sub_8086FA0 -sub_8086FA0: @ 8086FA0 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - ldr r1, =0xffef0000 - adds r0, r1 - lsrs r0, 16 - cmp r0, 0xC - bhi _08086FC0 - ldr r0, =gUnknown_03005DA8 - strh r4, [r0] - b _08086FC6 - .pool -_08086FC0: - ldr r1, =gUnknown_03005DA8 - movs r0, 0x11 - strh r0, [r1] -_08086FC6: - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - beq _08086FFC - bl sub_8087690 - cmp r0, 0x1 - bls _08086FFC - bl is_c1_link_related_active - cmp r0, 0x1 - bne _08086FFC - bl sub_8009F3C - cmp r0, 0x1 - bne _08086FFC - cmp r4, 0x11 - blt _08086FFC - cmp r4, 0x15 - ble _08086FF6 - cmp r4, 0x19 - bgt _08086FFC - cmp r4, 0x18 - blt _08086FFC -_08086FF6: - ldr r1, =gUnknown_03005DA8 - movs r0, 0 - strh r0, [r1] -_08086FFC: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8086FA0 - - thumb_func_start sub_808700C -sub_808700C: @ 808700C - push {lr} - ldr r2, =gMain - ldrh r1, [r2, 0x2C] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08087024 - movs r0, 0x13 - b _08087064 - .pool -_08087024: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08087030 - movs r0, 0x12 - b _08087064 -_08087030: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0808703C - movs r0, 0x14 - b _08087064 -_0808703C: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08087048 - movs r0, 0x15 - b _08087064 -_08087048: - ldrh r1, [r2, 0x2E] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08087056 - movs r0, 0x18 - b _08087064 -_08087056: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08087062 - movs r0, 0x11 - b _08087064 -_08087062: - movs r0, 0x19 -_08087064: - pop {r1} - bx r1 - thumb_func_end sub_808700C - - thumb_func_start sub_8087068 -sub_8087068: @ 8087068 - push {lr} - lsls r0, 16 - lsrs r0, 16 - adds r1, r0, 0 - cmp r0, 0x13 - beq _0808708E - cmp r0, 0x13 - bgt _0808707E - cmp r0, 0x12 - beq _08087092 - b _08087096 -_0808707E: - cmp r1, 0x14 - beq _0808708A - cmp r1, 0x15 - bne _08087096 - movs r0, 0x4 - b _08087098 -_0808708A: - movs r0, 0x3 - b _08087098 -_0808708E: - movs r0, 0x1 - b _08087098 -_08087092: - movs r0, 0x2 - b _08087098 -_08087096: - movs r0, 0 -_08087098: - pop {r1} - bx r1 - thumb_func_end sub_8087068 - - thumb_func_start sub_808709C -sub_808709C: @ 808709C - push {lr} - movs r2, 0x11 - adds r1, r0, 0x6 -_080870A2: - strh r2, [r1] - subs r1, 0x2 - cmp r1, r0 - bge _080870A2 - pop {r0} - bx r0 - thumb_func_end sub_808709C - - thumb_func_start sub_80870B0 -sub_80870B0: @ 80870B0 - push {r4,lr} - adds r4, r0, 0 - bl ScriptContext2_IsEnabled - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080870C4 - movs r0, 0x11 - b _080870E6 -_080870C4: - bl sub_800B4DC - cmp r0, 0x4 - bls _080870D0 - movs r0, 0x1B - b _080870E6 -_080870D0: - bl sub_8087690 - cmp r0, 0x4 - bls _080870DC - movs r0, 0x1C - b _080870E6 -_080870DC: - adds r0, r4, 0 - bl sub_808700C - lsls r0, 16 - lsrs r0, 16 -_080870E6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80870B0 - - thumb_func_start sub_80870EC -sub_80870EC: @ 80870EC - push {lr} - bl sub_8086C64 - movs r0, 0x11 - pop {r1} - bx r1 - thumb_func_end sub_80870EC - - thumb_func_start sub_80870F8 -sub_80870F8: @ 80870F8 - push {r4,lr} - bl ScriptContext2_IsEnabled - lsls r0, 24 - lsrs r0, 24 - movs r4, 0x11 - cmp r0, 0x1 - beq _08087110 - movs r4, 0x1A - ldr r0, =sub_80870EC - bl c1_link_related_func_set -_08087110: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80870F8 - - thumb_func_start sub_808711C -sub_808711C: @ 808711C - push {r4,lr} - bl sub_800B4DC - movs r4, 0x11 - cmp r0, 0x2 - bhi _08087134 - movs r4, 0x1A - bl ScriptContext2_Disable - ldr r0, =sub_80870EC - bl c1_link_related_func_set -_08087134: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_808711C - - thumb_func_start sub_8087140 -sub_8087140: @ 8087140 - push {r4,lr} - bl sub_8087690 - movs r4, 0x11 - cmp r0, 0x2 - bhi _08087158 - movs r4, 0x1A - bl ScriptContext2_Disable - ldr r0, =sub_80870EC - bl c1_link_related_func_set -_08087158: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8087140 - - thumb_func_start sub_8087164 -sub_8087164: @ 8087164 - push {lr} - bl sub_8086C64 - movs r0, 0x11 - pop {r1} - bx r1 - thumb_func_end sub_8087164 - - thumb_func_start sub_8087170 -sub_8087170: @ 8087170 - push {lr} - ldr r1, =gUnknown_03000E10 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x82 - bne _080871A0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080871A4 - ldr r0, =sub_8087164 - bl c1_link_related_func_set - movs r0, 0x1D - b _080871A6 - .pool -_080871A0: - bl sub_8086C64 -_080871A4: - movs r0, 0x11 -_080871A6: - pop {r1} - bx r1 - thumb_func_end sub_8087170 - - thumb_func_start sub_80871AC -sub_80871AC: @ 80871AC - push {lr} - ldr r0, =sub_8087170 - bl c1_link_related_func_set - movs r0, 0x16 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80871AC - - thumb_func_start sub_80871C0 -sub_80871C0: @ 80871C0 - movs r0, 0x11 - bx lr - thumb_func_end sub_80871C0 - - thumb_func_start sub_80871C4 -sub_80871C4: @ 80871C4 - push {lr} - ldr r1, =gUnknown_03000E10 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x83 - beq _080871D4 - bl sub_8086C64 -_080871D4: - movs r0, 0x83 - bl sub_8086CA8 - cmp r0, 0x1 - bne _080871EA - ldr r0, =gUnknown_08277513 - bl ScriptContext1_SetupScript - ldr r0, =sub_80871C0 - bl c1_link_related_func_set -_080871EA: - movs r0, 0x11 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80871C4 - - thumb_func_start sub_80871FC -sub_80871FC: @ 80871FC - push {lr} - ldr r0, =sub_80871C4 - bl c1_link_related_func_set - movs r0, 0x17 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80871FC - - thumb_func_start sub_8087210 -sub_8087210: @ 8087210 - movs r0, 0x11 - bx lr - thumb_func_end sub_8087210 - - thumb_func_start sub_8087214 -sub_8087214: @ 8087214 - push {lr} - movs r0, 0x83 - bl sub_8086CE0 - cmp r0, 0x1 - beq _08087250 - ldr r0, =gUnknown_03000E14 - ldr r2, [r0] - ldr r1, =sub_8087170 - adds r3, r0, 0 - cmp r2, r1 - bne _0808723A - ldr r1, =gUnknown_03000E10 - ldr r0, =gUnknown_03005DB4 - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x82 - bne _08087272 -_0808723A: - ldr r1, [r3] - ldr r0, =sub_8087164 - cmp r1, r0 - bne _08087268 - ldr r1, =gUnknown_03000E10 - ldr r0, =gUnknown_03005DB4 - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x81 - bne _08087268 -_08087250: - movs r0, 0x2 - b _08087278 - .pool -_08087268: - movs r0, 0x82 - bl sub_8086CA8 - cmp r0, 0 - bne _08087276 -_08087272: - movs r0, 0 - b _08087278 -_08087276: - movs r0, 0x1 -_08087278: - pop {r1} - bx r1 - thumb_func_end sub_8087214 - - thumb_func_start sub_808727C -sub_808727C: @ 808727C - push {lr} - movs r0, 0x83 - bl sub_8086CE0 - pop {r1} - bx r1 - thumb_func_end sub_808727C - - thumb_func_start sub_8087288 -sub_8087288: @ 8087288 - push {lr} - ldr r0, =sub_80871AC - bl c1_link_related_func_set - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8087288 - - thumb_func_start sub_808729C -sub_808729C: @ 808729C - push {lr} - ldr r0, =sub_80870F8 - bl c1_link_related_func_set - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_808729C - - thumb_func_start sub_80872B0 -sub_80872B0: @ 80872B0 - push {lr} - ldr r0, =sub_80871FC - bl c1_link_related_func_set - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80872B0 - - thumb_func_start sub_80872C4 -sub_80872C4: @ 80872C4 - push {lr} - ldr r0, =sub_8087210 - bl c1_link_related_func_set - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80872C4 - - thumb_func_start sub_80872D8 -sub_80872D8: @ 80872D8 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r6, r2, 0 - strb r4, [r6] - movs r0, 0 - cmp r4, r1 - bne _080872EA - movs r0, 0x1 -_080872EA: - strb r0, [r6, 0x1] - ldr r1, =gLinkPlayerMapObjects - lsls r0, r4, 2 - adds r0, r1 - ldrb r0, [r0, 0x3] - strb r0, [r6, 0x2] - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80878A0 - strb r0, [r6, 0x3] - mov r5, sp - adds r5, 0x2 - adds r0, r4, 0 - mov r1, sp - adds r2, r5, 0 - bl sub_8087878 - mov r0, sp - ldrh r0, [r0] - strh r0, [r6, 0x4] - ldrh r0, [r5] - strh r0, [r6, 0x6] - adds r0, r4, 0 - bl sub_80878C0 - strb r0, [r6, 0x8] - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - strh r0, [r6, 0xC] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80872D8 - - thumb_func_start sub_8087340 -sub_8087340: @ 8087340 - push {lr} - ldrb r0, [r0, 0x2] - cmp r0, 0x2 - beq _0808734C - cmp r0, 0 - bne _08087350 -_0808734C: - movs r0, 0x1 - b _08087352 -_08087350: - movs r0, 0 -_08087352: - pop {r1} - bx r1 - thumb_func_end sub_8087340 - - thumb_func_start sub_8087358 -sub_8087358: @ 8087358 - push {lr} - ldrb r0, [r0, 0x2] - cmp r0, 0x2 - beq _08087364 - cmp r0, 0 - bne _08087368 -_08087364: - movs r0, 0x1 - b _0808736A -_08087368: - movs r0, 0 -_0808736A: - pop {r1} - bx r1 - thumb_func_end sub_8087358 - - thumb_func_start sub_8087370 -sub_8087370: @ 8087370 - push {lr} - adds r1, r0, 0 - ldrb r0, [r1, 0x2] - cmp r0, 0x2 - bne _08087382 - adds r0, r1, 0x4 - bl sub_809D0F4 - b _08087384 -_08087382: - movs r0, 0 -_08087384: - pop {r1} - bx r1 - thumb_func_end sub_8087370 - - thumb_func_start sub_8087388 -sub_8087388: @ 8087388 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _08087396 - cmp r0, 0 - bne _080873AC -_08087396: - ldrb r0, [r4, 0xC] - bl MetatileBehavior_IsSouthArrowWarp - lsls r0, 24 - cmp r0, 0 - beq _080873AC - ldrb r0, [r4, 0x3] - cmp r0, 0x1 - bne _080873AC - movs r0, 0x1 - b _080873AE -_080873AC: - movs r0, 0 -_080873AE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8087388 - - thumb_func_start sub_80873B4 -sub_80873B4: @ 80873B4 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldrb r0, [r4, 0x2] - cmp r0, 0 - beq _080873C8 - cmp r0, 0x2 - beq _080873C8 - movs r0, 0 - b _08087476 -_080873C8: - ldr r0, [r4, 0x4] - ldr r1, [r4, 0x8] - str r0, [sp] - str r1, [sp, 0x4] - ldr r3, =gUnknown_08339D64 - ldrb r0, [r4, 0x3] - lsls r0, 3 - adds r0, r3 - ldr r0, [r0] - mov r1, sp - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - ldr r1, =0xffff0000 - ldr r2, [sp] - ands r2, r1 - orrs r2, r0 - str r2, [sp] - asrs r1, r2, 16 - ldrb r0, [r4, 0x3] - lsls r0, 3 - adds r3, 0x4 - adds r0, r3 - ldr r0, [r0] - adds r0, r1 - lsls r0, 16 - ldr r1, =0x0000ffff - ands r1, r2 - orrs r1, r0 - str r1, [sp] - ldr r2, =0xffffff00 - ldr r0, [sp, 0x4] - ands r0, r2 - str r0, [sp, 0x4] - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - asrs r1, 16 - bl sub_808790C - lsls r0, 24 - lsrs r1, r0, 24 - adds r2, r1, 0 - cmp r1, 0x4 - beq _0808746C - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _08087434 - ldr r0, =gUnknown_03000E10 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r0, 0x80 - beq _08087450 -_08087434: - ldr r0, =gUnknown_0827749C - b _08087476 - .pool -_08087450: - adds r0, r2, 0 - bl sub_80B39D4 - cmp r0, 0 - bne _08087464 - ldr r0, =gUnknown_0827747E - b _08087476 - .pool -_08087464: - ldr r0, =gUnknown_0827748D - b _08087476 - .pool -_0808746C: - ldrb r1, [r4, 0xC] - ldrb r2, [r4, 0x3] - mov r0, sp - bl sub_809C2C8 -_08087476: - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80873B4 - - thumb_func_start sub_8087480 -sub_8087480: @ 8087480 - push {lr} - adds r1, r0, 0 - ldr r0, =gUnknown_08277388 - cmp r1, r0 - beq _080874C6 - ldr r0, =gUnknown_082773A3 - cmp r1, r0 - beq _08087508 - ldr r0, =gUnknown_082773BE - cmp r1, r0 - beq _080874C6 - ldr r0, =gUnknown_082773D9 - cmp r1, r0 - beq _08087508 - ldr r0, =gUnknown_0827741D - cmp r1, r0 - beq _080874C6 - ldr r0, =gUnknown_08277432 - cmp r1, r0 - beq _08087508 - ldr r0, =gUnknown_08277447 - cmp r1, r0 - beq _080874C6 - ldr r0, =gUnknown_0827745C - cmp r1, r0 - beq _08087508 - ldr r0, =gUnknown_08277374 - cmp r1, r0 - beq _080874C6 - ldr r0, =gUnknown_0827737E - cmp r1, r0 - beq _08087508 - ldr r0, =gUnknown_082773F5 - cmp r1, r0 - bne _080874F8 -_080874C6: - movs r0, 0xA - b _0808750A - .pool -_080874F8: - ldr r0, =gUnknown_082773FF - cmp r1, r0 - beq _08087508 - movs r0, 0 - b _0808750A - .pool -_08087508: - movs r0, 0x9 -_0808750A: - pop {r1} - bx r1 - thumb_func_end sub_8087480 - - thumb_func_start sub_8087510 -sub_8087510: @ 8087510 - push {lr} - bl ScriptContext2_Enable - pop {r0} - bx r0 - thumb_func_end sub_8087510 - - thumb_func_start sub_808751C -sub_808751C: @ 808751C - push {lr} - movs r0, 0x6 - bl PlaySE - bl sub_809FA9C - bl ScriptContext2_Enable - pop {r0} - bx r0 - thumb_func_end sub_808751C - - thumb_func_start sub_8087530 -sub_8087530: @ 8087530 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl ScriptContext1_SetupScript - bl ScriptContext2_Enable - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8087530 - - thumb_func_start sub_808754C -sub_808754C: @ 808754C - push {lr} - movs r0, 0x6 - bl PlaySE - ldr r0, =gUnknown_082774EF - bl ScriptContext1_SetupScript - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end sub_808754C - - thumb_func_start sub_8087568 -sub_8087568: @ 8087568 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl ScriptContext1_SetupScript - bl ScriptContext2_Enable - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8087568 - - thumb_func_start sub_8087584 -sub_8087584: @ 8087584 - push {lr} - ldr r0, =gUnknown_08277509 - bl ScriptContext1_SetupScript - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end sub_8087584 - - thumb_func_start sub_8087598 -sub_8087598: @ 8087598 - push {lr} - bl is_c1_link_related_active - cmp r0, 0 - bne _080875A6 - movs r0, 0 - b _080875C0 -_080875A6: - bl sub_800B4DC - cmp r0, 0x2 - bls _080875B8 - ldr r1, =gUnknown_03000E18 - movs r0, 0x1 - b _080875BC - .pool -_080875B8: - ldr r1, =gUnknown_03000E18 - movs r0, 0 -_080875BC: - strb r0, [r1] - ldrb r0, [r1] -_080875C0: - pop {r1} - bx r1 - .pool - thumb_func_end sub_8087598 - - thumb_func_start sub_80875C8 -sub_80875C8: @ 80875C8 - push {lr} - bl sub_800B4DC - cmp r0, 0x1 - bls _0808762C - bl is_c1_link_related_active - cmp r0, 0x1 - bne _0808762C - bl sub_8009F3C - cmp r0, 0x1 - bne _0808762C - ldr r0, =gUnknown_03000E14 - ldr r1, [r0] - ldr r0, =sub_808711C - cmp r1, r0 - beq _08087614 - ldr r0, =sub_80870F8 - cmp r1, r0 - bne _0808762C - ldr r0, =gUnknown_03000E18 - ldrb r2, [r0] - movs r1, 0 - strb r1, [r0] - cmp r2, 0x1 - beq _08087614 - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0808762C - ldrb r1, [r2, 0xA] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0808762C -_08087614: - movs r0, 0x1 - b _0808762E - .pool -_0808762C: - movs r0, 0 -_0808762E: - pop {r1} - bx r1 - thumb_func_end sub_80875C8 - - thumb_func_start sub_8087634 -sub_8087634: @ 8087634 - push {lr} - bl sub_8087690 - cmp r0, 0x1 - bls _08087658 - bl is_c1_link_related_active - cmp r0, 0x1 - bne _08087658 - bl sub_8009F3C - cmp r0, 0x1 - bne _08087658 - ldr r0, =gUnknown_03000E14 - ldr r1, [r0] - ldr r0, =sub_8087140 - cmp r1, r0 - beq _08087664 -_08087658: - movs r0, 0 - b _08087666 - .pool -_08087664: - movs r0, 0x1 -_08087666: - pop {r1} - bx r1 - thumb_func_end sub_8087634 - - thumb_func_start sub_808766C -sub_808766C: @ 808766C - push {lr} - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - bne _08087688 - bl sub_8009F3C - cmp r0, 0 - beq _08087688 - movs r0, 0x1 - b _0808768A - .pool -_08087688: - movs r0, 0 -_0808768A: - pop {r1} - bx r1 - thumb_func_end sub_808766C - - thumb_func_start sub_8087690 -sub_8087690: @ 8087690 - push {lr} - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - bne _080876B0 - ldr r0, =gUnknown_03003170 - ldr r1, =0x00000339 - adds r0, r1 - ldrb r0, [r0] - b _080876B8 - .pool -_080876B0: - ldr r0, =gUnknown_03005000 - ldr r1, =0x00000c1a - adds r0, r1 - ldrb r0, [r0] -_080876B8: - pop {r1} - bx r1 - .pool - thumb_func_end sub_8087690 - - thumb_func_start sub_80876C4 -sub_80876C4: @ 80876C4 - movs r1, 0 - str r1, [r0] - bx lr - thumb_func_end sub_80876C4 - - thumb_func_start strange_npc_table_clear -strange_npc_table_clear: @ 80876CC - push {lr} - ldr r0, =gLinkPlayerMapObjects - movs r1, 0 - movs r2, 0x10 - bl memset - pop {r0} - bx r0 - .pool - thumb_func_end strange_npc_table_clear - - thumb_func_start sub_80876E0 -sub_80876E0: @ 80876E0 - push {lr} - movs r1, 0 - movs r2, 0x24 - bl memset - pop {r0} - bx r0 - thumb_func_end sub_80876E0 - - thumb_func_start sub_80876F0 -sub_80876F0: @ 80876F0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r9, r1 - mov r10, r2 - mov r8, r3 - lsls r0, 24 - lsrs r7, r0, 24 - mov r0, r9 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - mov r1, r10 - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - mov r2, r8 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - bl sub_808D4F4 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r4, r7, 2 - ldr r0, =gLinkPlayerMapObjects - adds r4, r0 - lsls r5, r6, 3 - adds r5, r6 - lsls r5, 2 - ldr r0, =gMapObjects - adds r5, r0 - adds r0, r4, 0 - bl sub_80876C4 - adds r0, r5, 0 - bl sub_80876E0 - movs r2, 0 - movs r1, 0x1 - movs r0, 0x1 - strb r0, [r4] - strb r7, [r4, 0x1] - strb r6, [r4, 0x2] - strb r2, [r4, 0x3] - ldrb r0, [r5] - orrs r0, r1 - mov r2, r8 - ands r2, r1 - lsls r2, 1 - movs r1, 0x3 - negs r1, r1 - ands r0, r1 - orrs r0, r2 - strb r0, [r5] - movs r0, 0x2 - strb r0, [r5, 0x19] - movs r0, 0x40 - strb r0, [r5, 0x4] - mov r0, r9 - lsls r0, 16 - asrs r0, 16 - mov r9, r0 - mov r1, r10 - lsls r1, 16 - asrs r1, 16 - mov r10, r1 - adds r0, r5, 0 - mov r1, r9 - mov r2, r10 - bl sub_808779C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80876F0 - - thumb_func_start sub_808779C -sub_808779C: @ 808779C - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - adds r1, r2, 0 - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - strh r0, [r4, 0x10] - strh r1, [r4, 0x12] - strh r0, [r4, 0x14] - strh r1, [r4, 0x16] - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - adds r2, r4, 0 - adds r2, 0xC - adds r3, r4, 0 - adds r3, 0xE - bl sub_8093038 - ldrh r0, [r4, 0xC] - adds r0, 0x8 - strh r0, [r4, 0xC] - adds r0, r4, 0 - bl FieldObjectUpdateZCoord - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_808779C - - thumb_func_start sub_80877DC -sub_80877DC: @ 80877DC - push {lr} - lsls r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - ldr r1, =gLinkPlayerMapObjects - lsrs r0, 22 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - beq _080877FE - ldrb r0, [r1, 0x2] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, =gMapObjects - adds r1, r0 - strb r2, [r1, 0x19] -_080877FE: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80877DC - - thumb_func_start sub_808780C -sub_808780C: @ 808780C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 22 - ldr r1, =gLinkPlayerMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - ldrb r0, [r4, 0x4] - cmp r0, 0x40 - beq _08087838 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite -_08087838: - movs r0, 0 - strb r0, [r5] - ldrb r1, [r4] - subs r0, 0x2 - ands r0, r1 - strb r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_808780C - - thumb_func_start sub_8087858 -sub_8087858: @ 8087858 - lsls r0, 24 - ldr r1, =gLinkPlayerMapObjects - lsrs r0, 22 - adds r0, r1 - ldrb r1, [r0, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - ldrb r0, [r0, 0x4] - bx lr - .pool - thumb_func_end sub_8087858 - - thumb_func_start sub_8087878 -sub_8087878: @ 8087878 - lsls r0, 24 - ldr r3, =gLinkPlayerMapObjects - lsrs r0, 22 - adds r0, r3 - ldrb r3, [r0, 0x2] - lsls r0, r3, 3 - adds r0, r3 - lsls r0, 2 - ldr r3, =gMapObjects - adds r0, r3 - ldrh r3, [r0, 0x10] - strh r3, [r1] - ldrh r0, [r0, 0x12] - strh r0, [r2] - bx lr - .pool - thumb_func_end sub_8087878 - - thumb_func_start sub_80878A0 -sub_80878A0: @ 80878A0 - lsls r0, 24 - ldr r1, =gLinkPlayerMapObjects - lsrs r0, 22 - adds r0, r1 - ldrb r1, [r0, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - ldrb r0, [r0, 0x19] - bx lr - .pool - thumb_func_end sub_80878A0 - - thumb_func_start sub_80878C0 -sub_80878C0: @ 80878C0 - lsls r0, 24 - ldr r1, =gLinkPlayerMapObjects - lsrs r0, 22 - adds r0, r1 - ldrb r1, [r0, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - ldrb r0, [r0, 0xB] - lsls r0, 28 - lsrs r0, 28 - bx lr - .pool - thumb_func_end sub_80878C0 - - thumb_func_start sub_80878E4 -sub_80878E4: @ 80878E4 - lsls r0, 24 - ldr r1, =gLinkPlayerMapObjects - lsrs r0, 22 - adds r0, r1 - ldrb r1, [r0, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - adds r0, 0x21 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x10 - subs r0, r1 - bx lr - .pool - thumb_func_end sub_80878E4 - - thumb_func_start sub_808790C -sub_808790C: @ 808790C - push {r4-r6,lr} - movs r2, 0 - ldr r5, =gLinkPlayerMapObjects - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 16 - asrs r3, r1, 16 -_0808791A: - lsls r0, r2, 2 - adds r1, r0, r5 - ldrb r0, [r1] - cmp r0, 0 - beq _08087958 - ldrb r0, [r1, 0x3] - cmp r0, 0 - beq _0808792E - cmp r0, 0x2 - bne _08087958 -_0808792E: - ldrb r1, [r1, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r1, r0, r1 - movs r6, 0x10 - ldrsh r0, [r1, r6] - cmp r0, r4 - bne _08087958 - movs r6, 0x12 - ldrsh r0, [r1, r6] - cmp r0, r3 - bne _08087958 - adds r0, r2, 0 - b _08087964 - .pool -_08087958: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _0808791A - movs r0, 0x4 -_08087964: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_808790C - - thumb_func_start sub_808796C -sub_808796C: @ 808796C - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - adds r2, r3, 0 - lsrs r0, 22 - ldr r1, =gLinkPlayerMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r6, r0, r1 - ldrb r0, [r5] - cmp r0, 0 - beq _080879C8 - cmp r3, 0xA - bls _080879A4 - ldrb r0, [r6] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r6] - b _080879C8 - .pool -_080879A4: - ldr r4, =gUnknown_08339E00 - ldr r1, =gUnknown_08339DC8 - ldrb r0, [r5, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r3, [r0] - adds r0, r5, 0 - adds r1, r6, 0 - bl _call_via_r3 - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r2, [r0] - adds r0, r5, 0 - adds r1, r6, 0 - bl _call_via_r2 -_080879C8: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_808796C - - thumb_func_start sub_80879D8 -sub_80879D8: @ 80879D8 - push {r4,lr} - lsls r2, 24 - lsrs r2, 24 - ldr r4, =gUnknown_08339DD4 - lsls r3, r2, 2 - adds r3, r4 - ldr r3, [r3] - bl _call_via_r3 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80879D8 - - thumb_func_start sub_80879F8 -sub_80879F8: @ 80879F8 - movs r0, 0x1 - bx lr - thumb_func_end sub_80879F8 - - thumb_func_start sub_80879FC -sub_80879FC: @ 80879FC - push {r4,lr} - lsls r2, 24 - lsrs r2, 24 - ldr r4, =gUnknown_08339DD4 - lsls r3, r2, 2 - adds r3, r4 - ldr r3, [r3] - bl _call_via_r3 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80879FC - - thumb_func_start sub_8087A1C -sub_8087A1C: @ 8087A1C - movs r0, 0 - bx lr - thumb_func_end sub_8087A1C - - thumb_func_start sub_8087A20 -sub_8087A20: @ 8087A20 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r0, r2, 24 - lsrs r0, 24 - ldrb r1, [r5, 0x19] - bl npc_something3 - strb r0, [r5, 0x19] - ldrb r1, [r5, 0x19] - mov r6, sp - adds r6, 0x2 - adds r0, r5, 0 - mov r2, sp - adds r3, r6, 0 - bl FieldObjectMoveDestCoords - ldrb r0, [r4, 0x2] - ldrb r1, [r5, 0x19] - mov r2, sp - movs r3, 0 - ldrsh r2, [r2, r3] - movs r4, 0 - ldrsh r3, [r6, r4] - bl npc_080587EC - lsls r0, 24 - cmp r0, 0 - bne _08087A7E - adds r1, r5, 0 - adds r1, 0x21 - movs r0, 0x10 - strb r0, [r1] - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r3, 0 - ldrsh r2, [r6, r3] - adds r0, r5, 0 - bl npc_coords_shift - adds r0, r5, 0 - bl FieldObjectUpdateZCoord - movs r0, 0x1 - b _08087A80 -_08087A7E: - movs r0, 0 -_08087A80: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8087A20 - - thumb_func_start sub_8087A88 -sub_8087A88: @ 8087A88 - push {r4,lr} - adds r4, r1, 0 - lsls r0, r2, 24 - lsrs r0, 24 - ldrb r1, [r4, 0x19] - bl npc_something3 - strb r0, [r4, 0x19] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8087A88 - - thumb_func_start sub_8087AA0 -sub_8087AA0: @ 8087AA0 - movs r1, 0 - strb r1, [r0, 0x3] - bx lr - thumb_func_end sub_8087AA0 - - thumb_func_start sub_8087AA8 -sub_8087AA8: @ 8087AA8 - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r4, 0 - adds r5, 0x21 - ldrb r0, [r5] - subs r0, 0x1 - strb r0, [r5] - movs r0, 0x1 - strb r0, [r6, 0x3] - ldrb r0, [r4, 0x19] - adds r1, 0xC - adds r2, r4, 0 - adds r2, 0xE - bl MoveCoords - ldrb r0, [r5] - cmp r0, 0 - bne _08087AD8 - adds r0, r4, 0 - bl npc_coords_shift_still - movs r0, 0x2 - strb r0, [r6, 0x3] -_08087AD8: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8087AA8 - - thumb_func_start npc_something3 -npc_something3: @ 8087AE0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - subs r0, 0x1 - cmp r0, 0x9 - bhi _08087B38 - lsls r0, 2 - ldr r1, =_08087B00 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08087B00: - .4byte _08087B28 - .4byte _08087B2C - .4byte _08087B30 - .4byte _08087B34 - .4byte _08087B38 - .4byte _08087B38 - .4byte _08087B28 - .4byte _08087B2C - .4byte _08087B30 - .4byte _08087B34 -_08087B28: - movs r0, 0x2 - b _08087B3A -_08087B2C: - movs r0, 0x1 - b _08087B3A -_08087B30: - movs r0, 0x3 - b _08087B3A -_08087B34: - movs r0, 0x4 - b _08087B3A -_08087B38: - adds r0, r2, 0 -_08087B3A: - pop {r1} - bx r1 - thumb_func_end npc_something3 - - thumb_func_start npc_080587EC -npc_080587EC: @ 8087B40 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r2, 16 - lsrs r2, 16 - mov r12, r2 - lsls r3, 16 - movs r4, 0 - ldr r0, =gMapObjects - mov r9, r0 - lsrs r2, r3, 16 - mov r10, r2 - asrs r6, r3, 16 -_08087B64: - mov r7, r12 - lsls r3, r7, 16 - mov r0, r10 - lsls r5, r0, 16 - cmp r4, r8 - beq _08087BA8 - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - mov r2, r9 - adds r1, r0, r2 - movs r7, 0x10 - ldrsh r0, [r1, r7] - asrs r2, r3, 16 - cmp r0, r2 - bne _08087B8C - movs r7, 0x12 - ldrsh r0, [r1, r7] - cmp r0, r6 - beq _08087B9E -_08087B8C: - movs r7, 0x14 - ldrsh r0, [r1, r7] - cmp r0, r2 - bne _08087BA8 - movs r0, 0x16 - ldrsh r1, [r1, r0] - asrs r0, r5, 16 - cmp r1, r0 - bne _08087BA8 -_08087B9E: - movs r0, 0x1 - b _08087BBE - .pool -_08087BA8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _08087B64 - asrs r0, r3, 16 - asrs r1, r5, 16 - bl MapGridIsImpassableAt - lsls r0, 24 - lsrs r0, 24 -_08087BBE: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end npc_080587EC - - thumb_func_start sub_8087BCC -sub_8087BCC: @ 8087BCC - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, r5, 2 - ldr r0, =gLinkPlayerMapObjects - adds r2, r0 - ldrb r1, [r2, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - ldrb r0, [r2] - cmp r0, 0 - beq _08087C7A - subs r0, r3, 0x1 - cmp r0, 0x4 - bhi _08087C56 - lsls r0, 2 - ldr r1, =_08087C0C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08087C0C: - .4byte _08087C2C - .4byte _08087C2C - .4byte _08087C38 - .4byte _08087C20 - .4byte _08087C20 -_08087C20: - ldrb r0, [r4] - lsls r0, 30 - lsrs r0, 31 - bl sub_808BD6C - b _08087C44 -_08087C2C: - ldrb r0, [r4] - lsls r0, 30 - lsrs r0, 31 - bl sub_808BD7C - b _08087C44 -_08087C38: - ldrb r1, [r4] - lsls r1, 30 - lsrs r1, 31 - movs r0, 0 - bl sub_808BD3C -_08087C44: - lsls r0, 24 - lsrs r0, 24 - ldr r1, =sub_8087C8C - movs r2, 0 - str r2, [sp] - movs r3, 0 - bl AddPseudoFieldObject - strb r0, [r4, 0x4] -_08087C56: - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - strh r5, [r0, 0x2E] - ldrb r1, [r4] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r4] -_08087C7A: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8087BCC - - thumb_func_start sub_8087C8C -sub_8087C8C: @ 8087C8C - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x2E - ldrsh r4, [r5, r0] - lsls r4, 2 - ldr r0, =gLinkPlayerMapObjects - adds r4, r0 - ldrb r1, [r4, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r6, r0, r1 - ldrh r0, [r6, 0xC] - strh r0, [r5, 0x20] - ldrh r0, [r6, 0xE] - strh r0, [r5, 0x22] - ldrb r0, [r6, 0xB] - lsrs r0, 4 - adds r1, r5, 0 - movs r2, 0x1 - bl SetObjectSubpriorityByZCoord - ldrb r0, [r6, 0xB] - lsrs r0, 4 - bl ZCoordToPriority - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - ldrb r0, [r4, 0x3] - cmp r0, 0 - bne _08087CF8 - ldrb r0, [r6, 0x19] - bl FieldObjectDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim - b _08087D0A - .pool -_08087CF8: - ldrb r0, [r6, 0x19] - bl get_go_image_anim_num - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnimIfDifferent -_08087D0A: - adds r0, r5, 0 - movs r1, 0 - bl sub_80979D4 - ldrb r0, [r6] - lsls r0, 29 - cmp r0, 0 - bge _08087D3C - ldrh r0, [r5, 0x3C] - movs r1, 0x4 - ands r1, r0 - lsls r1, 16 - adds r3, r5, 0 - adds r3, 0x3E - lsrs r1, 18 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r5, 0x3C] - adds r0, 0x1 - strh r0, [r5, 0x3C] -_08087D3C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8087C8C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom6.s b/asm/rom6.s index 87b780ba5c..cc02638bc0 100644 --- a/asm/rom6.s +++ b/asm/rom6.s @@ -31,7 +31,7 @@ npc_before_player_of_type: @ 8135424 ldrb r0, [r2, 0x5] cmp r0, r5 bne _08135470 - ldr r1, =gScriptLastTalked + ldr r1, =gSpecialVar_LastTalked ldrb r0, [r2, 0x8] strh r0, [r1] movs r0, 0x1 @@ -262,13 +262,13 @@ sub_8135654: @ 8135654 lsls r0, 24 cmp r0, 0 beq _0813568C - ldr r4, =gScriptResult - bl brm_get_pokemon_selection + ldr r4, =gSpecialVar_Result + bl GetCursorSelectionMonId lsls r0, 24 lsrs r0, 24 strh r0, [r4] ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_8179834 @@ -285,7 +285,7 @@ _0813568C: b _081356AC _0813569E: ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =sub_81356C4 @@ -302,12 +302,12 @@ _081356AC: thumb_func_start sub_81356C4 sub_81356C4: @ 81356C4 push {lr} - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 str r0, [r1] - ldr r0, =gUnknown_082907F0 + ldr r0, =Route111_EventScript_2907F0 bl ScriptContext1_SetupScript pop {r0} bx r0 @@ -361,7 +361,7 @@ sub_813572C: @ 813572C b _0813574C _0813573E: ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 + ldr r0, =FieldCallback_Teleport str r0, [r1] ldr r1, =gUnknown_0203CEEC ldr r0, =hm2_dig @@ -379,7 +379,7 @@ hm2_dig: @ 8135760 bl flagmods_08054D70 movs r0, 0x26 bl FieldEffectStart - bl brm_get_pokemon_selection + bl GetCursorSelectionMonId ldr r1, =gFieldEffectArguments lsls r0, 24 lsrs r0, 24 @@ -448,12325 +448,4 @@ _081357EE: .pool thumb_func_end sub_81357BC - thumb_func_start sub_81357FC -sub_81357FC: @ 81357FC - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gUnknown_0203AB50 - ldr r0, =0x00000e88 - bl Alloc - str r0, [r5] - ldr r2, =0x00000809 - adds r0, r2 - movs r3, 0 - strb r4, [r0] - ldr r0, [r5] - movs r4, 0x80 - lsls r4, 4 - adds r1, r0, r4 - str r3, [r1] - ldr r1, =0x00000e7c - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - ldr r0, [r5] - ldr r4, =0x00000e7d - adds r0, r4 - strb r3, [r0] - ldr r0, =gUnknown_0203AB48 - str r6, [r0] - ldr r5, [r5] - adds r2, r5, r2 - ldrb r2, [r2] - cmp r2, 0x2 - beq _08135888 - cmp r2, 0x2 - bgt _08135864 - cmp r2, 0x1 - beq _0813586A - b _081358C0 - .pool -_08135864: - cmp r2, 0x3 - beq _081358A4 - b _081358C0 -_0813586A: - ldr r0, =0x00000804 - adds r1, r5, r0 - ldr r0, =gUnknown_085B269B - str r0, [r1] - ldr r4, =0x00000808 - adds r1, r5, r4 - movs r0, 0x2 - b _081358D2 - .pool -_08135888: - ldr r1, =0x00000804 - adds r0, r5, r1 - ldr r1, =gUnknown_085B269D - str r1, [r0] - ldr r4, =0x00000808 - adds r0, r5, r4 - strb r2, [r0] - b _081358D4 - .pool -_081358A4: - ldr r0, =0x00000804 - adds r1, r5, r0 - ldr r0, =gUnknown_085B269F - str r0, [r1] - ldr r4, =0x00000808 - adds r1, r5, r4 - movs r0, 0x2 - b _081358D2 - .pool -_081358C0: - ldr r0, =gUnknown_0203AB50 - ldr r1, [r0] - ldr r0, =0x00000804 - adds r2, r1, r0 - ldr r0, =gUnknown_085B2698 - str r0, [r2] - ldr r4, =0x00000808 - adds r1, r4 - movs r0, 0x3 -_081358D2: - strb r0, [r1] -_081358D4: - ldr r0, =sub_813594C - bl SetMainCallback2 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81357FC - - thumb_func_start sub_81358F4 -sub_81358F4: @ 81358F4 - push {lr} - ldr r1, =SetCB2ToReshowScreenAfterMenu2 - movs r0, 0x1 - bl sub_81357FC - pop {r0} - bx r0 - .pool - thumb_func_end sub_81358F4 - - thumb_func_start sub_8135908 -sub_8135908: @ 8135908 - push {lr} - ldr r1, =c2_exit_to_overworld_2_switch - movs r0, 0x2 - bl sub_81357FC - pop {r0} - bx r0 - .pool - thumb_func_end sub_8135908 - - thumb_func_start sub_813591C -sub_813591C: @ 813591C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_813591C - - thumb_func_start sub_8135938 -sub_8135938: @ 8135938 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8135938 - - thumb_func_start sub_813594C -sub_813594C: @ 813594C - push {lr} -_0813594E: - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08135972 - bl sub_8135978 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08135972 - bl sub_81221AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813594E -_08135972: - pop {r0} - bx r0 - thumb_func_end sub_813594C - - thumb_func_start sub_8135978 -sub_8135978: @ 8135978 - push {r4,lr} - sub sp, 0x4 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x12 - bls _0813598C - b _08135BB8 -_0813598C: - lsls r0, 2 - ldr r1, =_081359A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081359A0: - .4byte _081359EC - .4byte _081359F6 - .4byte _08135A08 - .4byte _08135A0E - .4byte _08135A30 - .4byte _08135A36 - .4byte _08135A54 - .4byte _08135A70 - .4byte _08135A8C - .4byte _08135A9A - .4byte _08135AC4 - .4byte _08135ADC - .4byte _08135AFC - .4byte _08135B02 - .4byte _08135B14 - .4byte _08135B1A - .4byte _08135B64 - .4byte _08135B6A - .4byte _08135B84 -_081359EC: - bl SetVBlankHBlankCallbacksToNull - bl clear_scheduled_bg_copies_to_vram - b _08135B9E -_081359F6: - bl remove_some_task - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _08135BA6 - .pool -_08135A08: - bl FreeAllSpritePalettes - b _08135B9E -_08135A0E: - bl ResetPaletteFade - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _08135BA6 - .pool -_08135A30: - bl ResetSpriteData - b _08135B9E -_08135A36: - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x00000809 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08135A46 - b _08135B9E -_08135A46: - bl ResetTasks - b _08135B9E - .pool -_08135A54: - bl sub_8135BDC - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x00000e7e - adds r0, r1 - movs r1, 0 - strh r1, [r0] - b _08135B9E - .pool -_08135A70: - bl sub_8135C38 - lsls r0, 24 - cmp r0, 0 - bne _08135A7C - b _08135BD0 -_08135A7C: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _08135BA6 - .pool -_08135A8C: - bl sub_813625C - bl sub_81362E0 - bl sub_8136344 - b _08135B9E -_08135A9A: - movs r0, 0x38 - movs r1, 0x40 - movs r2, 0 - bl sub_8136444 - ldr r1, =gUnknown_0203AB50 - ldr r1, [r1] - ldr r2, =0x00000e74 - adds r1, r2 - strb r0, [r1] - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _08135BA6 - .pool -_08135AC4: - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x00000e75 - adds r0, r1 - movs r1, 0x7 - bl sub_8122344 - b _08135B9E - .pool -_08135ADC: - ldr r0, =gUnknown_0203AB48 - ldrh r0, [r0, 0x4] - ldr r1, =0x00001005 - bl sub_8136110 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _08135BA6 - .pool -_08135AFC: - bl sub_8135D24 - b _08135B9E -_08135B02: - bl sub_8135E2C - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _08135BA6 - .pool -_08135B14: - bl sub_81363BC - b _08135B9E -_08135B1A: - ldr r0, =sub_81365C8 - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_03006310 - ldr r2, =gUnknown_0203AB48 - ldrh r1, [r2, 0x6] - ldrh r2, [r2, 0x4] - bl ListMenuInit - ldr r2, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x8] - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _08135BA6 - .pool -_08135B64: - bl sub_8135DAC - b _08135B9E -_08135B6A: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _08135BA6 - .pool -_08135B84: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] -_08135B9E: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 -_08135BA6: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08135BD0 - .pool -_08135BB8: - ldr r0, =sub_8135938 - bl SetVBlankCallback - ldr r0, =sub_813591C - bl SetMainCallback2 - movs r0, 0x1 - b _08135BD2 - .pool -_08135BD0: - movs r0, 0 -_08135BD2: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8135978 - - thumb_func_start sub_8135BDC -sub_8135BDC: @ 8135BDC - push {lr} - bl sub_8121DA0 - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085B2620 - movs r0, 0 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r0, =gUnknown_0203AB50 - ldr r1, [r0] - movs r0, 0x2 - bl SetBgTilemapBuffer - bl sub_8121E10 - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_8135BDC - - thumb_func_start sub_8135C38 -sub_8135C38: @ 8135C38 - push {r4,lr} - sub sp, 0x4 - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x00000e7e - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x5 - bhi _08135D18 - lsls r0, 2 - ldr r1, =_08135C64 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08135C64: - .4byte _08135C7C - .4byte _08135C98 - .4byte _08135CBC - .4byte _08135CCC - .4byte _08135CD8 - .4byte _08135CFC -_08135C7C: - bl reset_temp_tile_data_buffers - ldr r1, =gUnknown_08D9B2B4 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - b _08135CDE - .pool -_08135C98: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08135D18 - ldr r0, =gUnknown_08D9B7C8 - ldr r4, =gUnknown_0203AB50 - ldr r1, [r4] - bl LZDecompressWram - ldr r1, [r4] - b _08135CE2 - .pool -_08135CBC: - ldr r0, =gUnknown_08D9B470 - movs r1, 0 - movs r2, 0xC0 - bl LoadCompressedPalette - b _08135CDE - .pool -_08135CCC: - ldr r0, =gUnknown_085B26F4 - bl LoadCompressedObjectPic - b _08135CDE - .pool -_08135CD8: - ldr r0, =gUnknown_085B26FC - bl LoadCompressedObjectPalette -_08135CDE: - ldr r0, =gUnknown_0203AB50 - ldr r1, [r0] -_08135CE2: - ldr r0, =0x00000e7e - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08135D18 - .pool -_08135CFC: - bl sub_8122328 - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x00000e7e - adds r0, r1 - movs r1, 0 - strh r1, [r0] - movs r0, 0x1 - b _08135D1A - .pool -_08135D18: - movs r0, 0 -_08135D1A: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8135C38 - - thumb_func_start sub_8135D24 -sub_8135D24: @ 8135D24 - push {r4,lr} - ldr r0, =gUnknown_085B2748 - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0 - movs r1, 0x1 - movs r2, 0xE0 - bl sub_809882C - movs r0, 0 - movs r1, 0xA - movs r2, 0xD0 - bl copy_textbox_border_tile_patterns_to_vram - ldr r0, =gUnknown_0860F074 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r4, 0 -_08135D50: - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xA - bls _08135D50 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8135D24 - - thumb_func_start sub_8135D7C -sub_8135D7C: @ 8135D7C - push {r4,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - ldr r3, =gUnknown_085B271C - str r3, [sp, 0x8] - str r4, [sp, 0xC] - str r1, [sp, 0x10] - movs r1, 0x1 - movs r3, 0x1 - bl AddTextPrinterParametrized2 - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8135D7C - - thumb_func_start sub_8135DAC -sub_8135DAC: @ 8135DAC - push {r4,lr} - ldr r0, =0x00000111 - bl ItemId_GetItem - adds r4, r0, 0 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x48 - bl GetStringCenterAlignXOffset - adds r2, r0, 0 - movs r0, 0 - adds r1, r4, 0 - bl sub_8135D7C - ldr r1, =gText_Spicy - movs r0, 0x2 - movs r2, 0 - bl sub_8135D7C - ldr r1, =gText_Dry - movs r0, 0x3 - movs r2, 0 - bl sub_8135D7C - ldr r1, =gText_Sweet - movs r0, 0x4 - movs r2, 0 - bl sub_8135D7C - ldr r1, =gText_Bitter - movs r0, 0x5 - movs r2, 0 - bl sub_8135D7C - ldr r1, =gText_Sour - movs r0, 0x6 - movs r2, 0 - bl sub_8135D7C - movs r4, 0 -_08135DFE: - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x7 - bls _08135DFE - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8135DAC - - thumb_func_start sub_8135E2C -sub_8135E2C: @ 8135E2C - push {r4-r7,lr} - movs r6, 0 - ldr r1, =gUnknown_0203AB50 - ldr r0, [r1] - ldr r2, =0x0000080a - adds r0, r2 - ldrb r0, [r0] - subs r0, 0x1 - cmp r6, r0 - bge _08135E7C - adds r5, r1, 0 -_08135E42: - lsls r4, r6, 5 - ldr r3, =0x00000954 - adds r4, r3 - ldr r0, [r5] - adds r0, r4 - adds r1, r6, 0 - bl sub_8135F04 - ldr r1, [r5] - lsls r2, r6, 3 - ldr r7, =0x0000080c - adds r0, r1, r7 - adds r0, r2 - adds r4, r1, r4 - str r4, [r0] - movs r3, 0x81 - lsls r3, 4 - adds r0, r1, r3 - adds r0, r2 - str r6, [r0] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r4, =0x0000080a - adds r1, r4 - ldrb r0, [r1] - subs r0, 0x1 - cmp r6, r0 - blt _08135E42 -_08135E7C: - ldr r5, =gUnknown_0203AB50 - lsls r4, r6, 5 - ldr r7, =0x00000954 - adds r4, r7 - ldr r0, [r5] - adds r0, r4 - ldr r1, =gText_StowCase - bl StringCopy - ldr r1, [r5] - lsls r2, r6, 3 - ldr r3, =0x0000080c - adds r0, r1, r3 - adds r0, r2 - adds r4, r1, r4 - str r4, [r0] - movs r0, 0x81 - lsls r0, 4 - adds r1, r0 - adds r1, r2 - movs r0, 0x2 - negs r0, r0 - str r0, [r1] - ldr r2, =gUnknown_03006310 - adds r1, r2, 0 - ldr r0, =gUnknown_085B27B0 - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldrb r1, [r2, 0x17] - movs r0, 0x40 - negs r0, r0 - ands r0, r1 - movs r1, 0x7 - orrs r0, r1 - strb r0, [r2, 0x17] - ldr r1, [r5] - ldr r4, =0x0000080a - adds r0, r1, r4 - ldrb r0, [r0] - strh r0, [r2, 0xC] - adds r3, r1, r3 - str r3, [r2] - ldr r6, =0x0000080b - adds r1, r6 - ldrb r0, [r1] - strh r0, [r2, 0xE] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8135E2C - - thumb_func_start sub_8135F04 -sub_8135F04: @ 8135F04 - push {r4-r6,lr} - lsls r1, 16 - ldr r2, =gSaveBlock1Ptr - lsrs r1, 13 - ldr r3, =0x00000848 - adds r1, r3 - ldr r5, [r2] - adds r5, r1 - ldr r2, =gPokeblockNames - ldrb r1, [r5] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - adds r4, r0, 0 - movs r0, 0xFC - strb r0, [r4] - adds r4, 0x1 - movs r0, 0x12 - strb r0, [r4] - adds r4, 0x1 - movs r0, 0x57 - strb r0, [r4] - adds r4, 0x1 - ldr r6, =gStringVar1 - adds r0, r5, 0 - bl sub_8136EA4 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r1, =gText_LvVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8135F04 - - thumb_func_start sub_8135F70 -sub_8135F70: @ 8135F70 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x1 - beq _08135F9C - movs r0, 0x5 - bl PlaySE - ldr r2, =gSprites - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x00000e74 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_8136470 - str r1, [r0] -_08135F9C: - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x00000e7d - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08135FB0 - adds r0, r4, 0 - bl sub_8135FCC -_08135FB0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8135F70 - - thumb_func_start sub_8135FCC -sub_8135FCC: @ 8135FCC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - adds r4, r0, 0 - movs r0, 0x7 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _081360A0 - ldr r1, =gSaveBlock1Ptr - lsls r0, r4, 3 - ldr r2, =0x00000848 - adds r0, r2 - ldr r1, [r1] - adds r1, r0 - mov r8, r1 - add r1, sp, 0x8 - movs r0, 0x17 - strh r0, [r1] - movs r0, 0x18 - strh r0, [r1, 0x2] - movs r5, 0 - adds r6, r1, 0 -_08136002: - adds r4, r5, 0x1 - lsls r1, r4, 24 - lsrs r1, 24 - mov r0, r8 - bl sub_8136F9C - lsls r0, 16 - adds r7, r4, 0 - cmp r0, 0 - ble _0813602C - lsls r1, r5, 12 - adds r0, r1, 0 - adds r0, 0x17 - strh r0, [r6] - adds r1, 0x18 - strh r1, [r6, 0x2] - b _08136032 - .pool -_0813602C: - movs r0, 0xF - strh r0, [r6] - strh r0, [r6, 0x2] -_08136032: - adds r0, r5, 0 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 1 - adds r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x3 - bl __umodsi3 - adds r3, r0, 0 - lsls r3, 25 - movs r0, 0xD0 - lsls r0, 20 - adds r3, r0 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - add r1, sp, 0x8 - adds r2, r4, 0 - bl CopyToBgTilemapBufferRect - lsls r0, r7, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _08136002 - ldr r4, =gStringVar1 - mov r0, r8 - bl sub_8136EDC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - movs r0, 0x7 - adds r1, r4, 0 - movs r2, 0x4 - bl sub_8135D7C - b _081360F8 - .pool -_081360A0: - add r0, sp, 0x8 - movs r1, 0xF - strh r1, [r0] - strh r1, [r0, 0x2] - movs r5, 0 -_081360AA: - adds r0, r5, 0 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 1 - adds r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x3 - bl __umodsi3 - adds r3, r0, 0 - lsls r3, 25 - movs r2, 0xD0 - lsls r2, 20 - adds r3, r2 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - add r1, sp, 0x8 - adds r2, r4, 0 - bl CopyToBgTilemapBufferRect - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _081360AA - movs r0, 0x7 - movs r1, 0x2 - bl CopyWindowToVram -_081360F8: - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8135FCC - - thumb_func_start sub_8136110 -sub_8136110: @ 8136110 - push {lr} - sub sp, 0x8 - adds r3, r0, 0 - lsls r3, 16 - lsls r1, 16 - lsrs r1, 16 - lsrs r3, 15 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0xE - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r2, 0xF - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_8136110 - - thumb_func_start sub_8136140 -sub_8136140: @ 8136140 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r2, 0 -_0813614A: - adds r1, r2, 0x1 - lsls r0, r1, 16 - lsrs r6, r0, 16 - mov r12, r1 - cmp r6, 0x27 - bhi _08136192 - ldr r0, =gSaveBlock1Ptr - mov r9, r0 - lsls r7, r2, 3 - ldr r1, =0x00000848 - mov r8, r1 -_08136160: - mov r0, r9 - ldr r2, [r0] - adds r0, r2, r7 - add r0, r8 - ldrb r0, [r0] - cmp r0, 0 - bne _08136188 - ldr r1, =0x00000848 - adds r2, r1 - adds r3, r2, r7 - ldr r4, [r3] - ldr r5, [r3, 0x4] - lsls r0, r6, 3 - adds r2, r0 - ldr r0, [r2] - ldr r1, [r2, 0x4] - str r0, [r3] - str r1, [r3, 0x4] - str r4, [r2] - str r5, [r2, 0x4] -_08136188: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x27 - bls _08136160 -_08136192: - mov r1, r12 - lsls r0, r1, 16 - lsrs r2, r0, 16 - cmp r2, 0x26 - bls _0813614A - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136140 - - thumb_func_start sub_81361B0 -sub_81361B0: @ 81361B0 - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00000848 - adds r6, r0, r1 - cmp r4, r5 - beq _08136246 - movs r0, 0x8 - bl Alloc - adds r7, r0, 0 - lsls r0, r4, 3 - adds r0, r6 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r7] - str r1, [r7, 0x4] - cmp r5, r4 - bls _0813620C - subs r5, 0x1 - lsls r3, r4, 16 - lsls r0, r5, 16 - asrs r1, r0, 16 - cmp r3, r0 - bge _08136234 - adds r4, r1, 0 -_081361E8: - asrs r3, 16 - lsls r2, r3, 3 - adds r2, r6 - ldr r0, [r2, 0x8] - ldr r1, [r2, 0xC] - str r0, [r2] - str r1, [r2, 0x4] - adds r3, 0x1 - lsls r3, 16 - asrs r0, r3, 16 - cmp r0, r4 - blt _081361E8 - b _08136234 - .pool -_0813620C: - lsls r3, r4, 16 - lsls r0, r5, 16 - asrs r1, r0, 16 - cmp r3, r0 - ble _08136234 - adds r4, r1, 0 -_08136218: - asrs r3, 16 - lsls r2, r3, 3 - adds r2, r6 - adds r0, r2, 0 - subs r0, 0x8 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2] - str r1, [r2, 0x4] - subs r3, 0x1 - lsls r3, 16 - asrs r0, r3, 16 - cmp r0, r4 - bgt _08136218 -_08136234: - lsls r2, r5, 3 - adds r2, r6 - ldr r0, [r7] - ldr r1, [r7, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - adds r0, r7, 0 - bl Free -_08136246: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81361B0 - - thumb_func_start sub_813624C -sub_813624C: @ 813624C - ldr r1, =gUnknown_0203AB48 - movs r0, 0 - strh r0, [r1, 0x4] - strh r0, [r1, 0x6] - bx lr - .pool - thumb_func_end sub_813624C - - thumb_func_start sub_813625C -sub_813625C: @ 813625C - push {r4,r5,lr} - bl sub_8136140 - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x0000080a - adds r0, r1 - movs r1, 0 - strb r1, [r0] - movs r2, 0 - ldr r5, =gSaveBlock1Ptr - ldr r4, =0x00000848 -_08136274: - ldr r0, [r5] - lsls r1, r2, 3 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - ldr r3, =gUnknown_0203AB50 - cmp r0, 0 - beq _08136290 - ldr r1, [r3] - ldr r0, =0x0000080a - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08136290: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x27 - bls _08136274 - ldr r0, [r3] - ldr r2, =0x0000080a - adds r0, r2 - ldrb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - ldr r0, [r3] - adds r2, r0, r2 - ldrb r2, [r2] - cmp r2, 0x9 - bls _081362D0 - ldr r2, =0x0000080b - adds r1, r0, r2 - movs r0, 0x9 - strb r0, [r1] - b _081362D6 - .pool -_081362D0: - ldr r1, =0x0000080b - adds r0, r1 - strb r2, [r0] -_081362D6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813625C - - thumb_func_start sub_81362E0 -sub_81362E0: @ 81362E0 - push {r4,r5,lr} - ldr r0, =gUnknown_0203AB48 - ldrh r1, [r0, 0x6] - adds r3, r0, 0 - ldr r4, =gUnknown_0203AB50 - cmp r1, 0 - beq _08136308 - ldrh r0, [r3, 0x6] - ldr r1, [r4] - ldr r5, =0x0000080b - adds r2, r1, r5 - ldrb r2, [r2] - adds r0, r2 - subs r5, 0x1 - adds r1, r5 - ldrb r1, [r1] - cmp r0, r1 - ble _08136308 - subs r0, r1, r2 - strh r0, [r3, 0x6] -_08136308: - adds r2, r3, 0 - ldrh r1, [r2, 0x6] - ldrh r0, [r2, 0x4] - adds r1, r0 - ldr r0, [r4] - ldr r4, =0x0000080a - adds r0, r4 - ldrb r0, [r0] - cmp r1, r0 - blt _0813633C - adds r1, r0, 0 - cmp r1, 0 - bne _08136338 - strh r1, [r2, 0x4] - b _0813633C - .pool -_08136338: - subs r0, 0x1 - strh r0, [r3, 0x4] -_0813633C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81362E0 - - thumb_func_start sub_8136344 -sub_8136344: @ 8136344 - push {r4-r7,lr} - ldr r0, =gUnknown_0203AB48 - ldrh r1, [r0, 0x4] - adds r5, r0, 0 - cmp r1, 0x4 - bls _081363A4 - movs r4, 0 - ldrh r0, [r5, 0x4] - subs r0, 0x4 - cmp r4, r0 - bge _081363A4 - ldrh r2, [r5, 0x6] - ldr r6, =gUnknown_0203AB50 - ldr r0, [r6] - ldr r3, =0x0000080b - adds r1, r0, r3 - ldrb r1, [r1] - adds r2, r1 - ldr r7, =0x0000080a - adds r0, r7 - ldrb r0, [r0] - cmp r2, r0 - beq _081363A4 - adds r3, r5, 0 -_08136374: - ldrh r0, [r3, 0x4] - subs r0, 0x1 - strh r0, [r3, 0x4] - ldrh r0, [r3, 0x6] - adds r0, 0x1 - strh r0, [r3, 0x6] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrh r0, [r3, 0x4] - subs r0, 0x4 - cmp r4, r0 - bge _081363A4 - ldrh r2, [r5, 0x6] - ldr r1, [r6] - ldr r7, =0x0000080b - adds r0, r1, r7 - ldrb r0, [r0] - adds r2, r0 - ldr r0, =0x0000080a - adds r1, r0 - ldrb r1, [r1] - cmp r2, r1 - bne _08136374 -_081363A4: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136344 - - thumb_func_start sub_81363BC -sub_81363BC: @ 81363BC - push {r4,lr} - sub sp, 0x10 - ldr r4, =gUnknown_0203AB50 - ldr r1, [r4] - ldr r2, =0x00000e7c - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _081363FC - ldr r2, =0x0000080a - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - subs r0, r1 - str r0, [sp] - ldr r0, =0x00000456 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - ldr r0, =gUnknown_0203AB4E - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xB0 - movs r2, 0x8 - movs r3, 0x98 - bl AddScrollIndicatorArrowPairParametrized - ldr r1, [r4] - ldr r2, =0x00000e7c - adds r1, r2 - strb r0, [r1] -_081363FC: - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81363BC - - thumb_func_start sub_8136418 -sub_8136418: @ 8136418 - push {r4,lr} - ldr r4, =gUnknown_0203AB50 - ldr r0, [r4] - ldr r2, =0x00000e7c - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0xFF - beq _08136436 - bl RemoveScrollIndicatorArrowPair - ldr r0, [r4] - ldr r1, =0x00000e7c - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] -_08136436: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136418 - - thumb_func_start sub_8136444 -sub_8136444: @ 8136444 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =gUnknown_085B2704 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8136444 - - thumb_func_start sub_8136470 -sub_8136470: @ 8136470 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - ble _08136480 - movs r0, 0 - strh r0, [r4, 0x2E] -_08136480: - movs r0, 0x2E - ldrsh r5, [r4, r0] - cmp r5, 0 - beq _0813648E - cmp r5, 0x1 - beq _081364B4 - b _081364E0 -_0813648E: - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, =gUnknown_085B26F0 - str r0, [r4, 0x10] - adds r0, r4, 0 - bl InitSpriteAffineAnim - movs r0, 0x1 - strh r0, [r4, 0x2E] - strh r5, [r4, 0x30] - b _081364E0 - .pool -_081364B4: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - movs r2, 0 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - ble _081364E0 - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - strh r2, [r4, 0x2E] - strh r2, [r4, 0x30] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_081364E0: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136470 - - thumb_func_start sub_81364EC -sub_81364EC: @ 81364EC - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_8136524 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81364EC - - thumb_func_start sub_8136524 -sub_8136524: @ 8136524 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r2, r0, r1 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081365BE - ldr r6, =gUnknown_0203AB50 - ldr r0, [r6] - ldr r1, =0x00000809 - adds r0, r1 - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0813655A - ldr r1, =gFieldCallback - ldr r0, =sub_80AF168 - str r0, [r1] -_0813655A: - ldrb r0, [r2] - ldr r4, =gUnknown_0203AB4E - subs r2, r4, 0x2 - adds r1, r4, 0 - bl sub_81AE6C8 - bl sub_8136418 - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, [r6] - movs r1, 0x80 - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _081365A4 - bl SetMainCallback2 - b _081365AC - .pool -_081365A4: - subs r0, r4, 0x6 - ldr r0, [r0] - bl SetMainCallback2 -_081365AC: - bl FreeAllWindowBuffers - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - bl Free - adds r0, r5, 0 - bl DestroyTask -_081365BE: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136524 - - thumb_func_start sub_81365C8 -sub_81365C8: @ 81365C8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - mov r8, r0 - ldr r0, =gTasks + 0x8 - mov r10, r0 - mov r6, r8 - add r6, r10 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081365F4 - b _08136708 -_081365F4: - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08136602 - b _08136708 -_08136602: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - cmp r0, 0 - beq _08136688 - ldrb r0, [r6] - ldr r4, =gUnknown_0203AB4E - subs r2, r4, 0x2 - adds r1, r4, 0 - bl get_coro_args_x18_x1A - subs r4, 0x6 - ldrh r1, [r4, 0x6] - ldrh r0, [r4, 0x4] - adds r1, r0 - ldr r5, =gUnknown_0203AB50 - ldr r0, [r5] - ldr r2, =0x0000080a - adds r0, r2 - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - beq _08136708 - movs r0, 0x5 - bl PlaySE - ldrh r0, [r4, 0x4] - ldr r1, =0x00002005 - bl sub_8136110 - ldrh r0, [r4, 0x4] - ldrh r4, [r4, 0x6] - adds r0, r4 - strh r0, [r6, 0x4] - ldr r0, [r5] - ldr r1, =0x00000e7d - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - mov r0, r10 - subs r0, 0x8 - add r0, r8 - ldr r1, =sub_813671C - str r1, [r0] - b _08136708 - .pool -_08136688: - ldr r5, =gUnknown_0203AB48 - ldrh r2, [r5, 0x4] - mov r8, r2 - ldrb r0, [r6] - bl ListMenuHandleInput - adds r4, r0, 0 - ldrb r0, [r6] - adds r1, r5, 0x6 - adds r2, r5, 0x4 - bl get_coro_args_x18_x1A - ldrh r0, [r5, 0x4] - cmp r8, r0 - beq _081366B6 - mov r0, r8 - movs r1, 0x5 - bl sub_8136110 - ldrh r0, [r5, 0x4] - ldr r1, =0x00001005 - bl sub_8136110 -_081366B6: - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _081366D0 - adds r0, 0x1 - cmp r4, r0 - bne _081366F8 - b _08136708 - .pool -_081366D0: - movs r0, 0x5 - bl PlaySE - ldr r0, =gScriptResult - ldr r2, =0x0000ffff - adds r1, r2, 0 - strh r1, [r0] - ldr r0, =gScriptItemId - mov r1, r9 - strh r1, [r0] - adds r0, r7, 0 - bl sub_81364EC - b _08136708 - .pool -_081366F8: - movs r0, 0x5 - bl PlaySE - ldr r0, =gScriptItemId - strh r4, [r0] - adds r0, r7, 0 - bl sub_8136938 -_08136708: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81365C8 - - thumb_func_start sub_813671C -sub_813671C: @ 813671C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, 2 - add r0, r8 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r7, r0, r1 - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08136742 - b _08136848 -_08136742: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0813676C - movs r0, 0x5 - bl PlaySE - ldrb r0, [r7] - ldr r1, =gUnknown_0203AB4E - subs r2, r1, 0x2 - bl get_coro_args_x18_x1A - b _08136822 - .pool -_0813676C: - ldr r6, =gUnknown_0203AB48 - ldrh r4, [r6, 0x6] - ldrh r5, [r6, 0x4] - ldrb r0, [r7] - bl ListMenuHandleInput - mov r9, r0 - ldrb r0, [r7] - adds r1, r6, 0x6 - adds r2, r6, 0x4 - bl get_coro_args_x18_x1A - ldrh r0, [r6, 0x6] - cmp r4, r0 - bne _08136790 - ldrh r6, [r6, 0x4] - cmp r5, r6 - beq _081367CA -_08136790: - movs r4, 0 -_08136792: - ldr r0, =gUnknown_0203AB48 - ldrh r0, [r0, 0x6] - adds r0, r4, r0 - lsls r0, 16 - lsrs r5, r0, 16 - movs r1, 0x4 - ldrsh r0, [r7, r1] - cmp r5, r0 - bne _081367B8 - adds r0, r4, 0 - ldr r1, =0x00002005 - bl sub_8136110 - b _081367C0 - .pool -_081367B8: - adds r0, r4, 0 - movs r1, 0x5 - bl sub_8136110 -_081367C0: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x8 - bls _08136792 -_081367CA: - ldr r5, =gUnknown_0203AB50 - ldr r0, [r5] - ldr r4, =0x00000e75 - adds r0, r4 - movs r1, 0x7 - movs r2, 0 - bl sub_81223FC - ldr r0, [r5] - adds r0, r4 - ldr r1, =gUnknown_0203AB48 - ldrh r3, [r1, 0x4] - lsls r3, 4 - adds r3, 0x8 - lsls r3, 16 - lsrs r3, 16 - movs r1, 0x7 - movs r2, 0x80 - bl sub_8122448 - movs r0, 0x2 - negs r0, r0 - cmp r9, r0 - beq _08136810 - adds r0, 0x1 - cmp r9, r0 - bne _0813683A - b _08136848 - .pool -_08136810: - movs r0, 0x5 - bl PlaySE - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08136830 -_08136822: - mov r0, r8 - movs r1, 0 - bl sub_8136854 - b _08136848 - .pool -_08136830: - mov r0, r8 - movs r1, 0x1 - bl sub_8136854 - b _08136848 -_0813683A: - movs r0, 0x5 - bl PlaySE - mov r0, r8 - movs r1, 0 - bl sub_8136854 -_08136848: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_813671C - - thumb_func_start sub_8136854 -sub_8136854: @ 8136854 - push {r4-r7,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - ldr r2, =gUnknown_0203AB48 - ldrh r0, [r2, 0x4] - ldrh r1, [r2, 0x6] - adds r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x00000e7d - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldrb r0, [r6] - adds r1, r2, 0x6 - adds r2, 0x4 - bl sub_81AE6C8 - cmp r4, 0 - bne _081368AA - movs r0, 0x4 - ldrsh r1, [r6, r0] - cmp r1, r5 - beq _081368BA - subs r0, r5, 0x1 - cmp r1, r0 - beq _081368AA - adds r0, r1, 0 - adds r1, r5, 0 - bl sub_81361B0 - bl sub_8135E2C -_081368AA: - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, r5 - bge _081368BA - ldr r1, =gUnknown_0203AB48 - ldrh r0, [r1, 0x4] - subs r0, 0x1 - strh r0, [r1, 0x4] -_081368BA: - ldr r0, =gUnknown_03006310 - ldr r2, =gUnknown_0203AB48 - ldrh r1, [r2, 0x6] - ldrh r2, [r2, 0x4] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6] - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x00000e75 - adds r0, r1 - movs r1, 0x7 - movs r2, 0x1 - bl sub_81223FC - movs r4, 0 - lsls r5, r7, 2 -_081368E6: - adds r0, r4, 0 - movs r1, 0x5 - bl sub_8136110 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x8 - bls _081368E6 - ldr r0, =gUnknown_0203AB48 - ldrh r0, [r0, 0x4] - ldr r1, =0x00001005 - bl sub_8136110 - ldr r1, =gTasks - adds r0, r5, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81365C8 - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136854 - - thumb_func_start sub_8136938 -sub_8136938: @ 8136938 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r1, =0x00000808 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x3 - bne _08136968 - movs r0, 0x8 - b _0813696A - .pool -_08136968: - movs r0, 0x9 -_0813696A: - strh r0, [r6, 0x2] - bl sub_8136418 - ldrb r0, [r6, 0x2] - movs r1, 0 - movs r2, 0x1 - movs r3, 0xE - bl SetWindowBorderStyle - ldrb r0, [r6, 0x2] - ldr r5, =gUnknown_0203AB50 - ldr r3, [r5] - ldr r4, =0x00000808 - adds r1, r3, r4 - ldrb r1, [r1] - ldr r2, =gUnknown_085B2668 - mov r12, r2 - ldr r2, =0x00000804 - adds r3, r2 - ldr r3, [r3] - mov r2, r12 - bl sub_81995E4 - ldrb r0, [r6, 0x2] - ldr r1, [r5] - adds r1, r4 - ldrb r1, [r1] - movs r2, 0 - bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed - ldrb r0, [r6, 0x2] - bl PutWindowTilemap - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81369E0 - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136938 - - thumb_func_start sub_81369E0 -sub_81369E0: @ 81369E0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08136A3C - bl ProcessMenuInputNoWrapAround - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _08136A3C - adds r0, 0x1 - cmp r4, r0 - bne _08136A18 - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_8136DE8 - b _08136A3C -_08136A18: - movs r0, 0x5 - bl PlaySE - ldr r1, =gUnknown_085B2668 - ldr r0, =gUnknown_0203AB50 - ldr r0, [r0] - ldr r2, =0x00000804 - adds r0, r2 - ldr r0, [r0] - adds r0, r4 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - adds r0, r6, 0 - bl _call_via_r1 -_08136A3C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81369E0 - - thumb_func_start sub_8136A50 -sub_8136A50: @ 8136A50 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203AB50 - ldr r1, [r1] - movs r2, 0x80 - lsls r2, 4 - adds r1, r2 - ldr r2, =sub_8136A74 - str r2, [r1] - bl sub_81364EC - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136A50 - - thumb_func_start sub_8136A74 -sub_8136A74: @ 8136A74 - push {lr} - ldr r2, =gSaveBlock1Ptr - ldr r0, =gScriptItemId - ldrh r1, [r0] - lsls r1, 3 - ldr r0, =0x00000848 - adds r1, r0 - ldr r0, [r2] - adds r0, r1 - ldr r1, =sub_8136AA0 - bl sub_8166204 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136A74 - - thumb_func_start sub_8136AA0 -sub_8136AA0: @ 8136AA0 - push {lr} - ldr r0, =gUnknown_0203AB48 - ldr r1, [r0] - movs r0, 0 - bl sub_81357FC - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136AA0 - - thumb_func_start sub_8136AB4 -sub_8136AB4: @ 8136AB4 - push {r4,r5,lr} - sub sp, 0x10 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r0, r1 - ldrb r0, [r0, 0x2] - movs r1, 0 - bl sub_8198070 - ldr r0, =gStringVar1 - ldr r3, =gPokeblockNames - ldr r1, =gSaveBlock1Ptr - ldr r2, [r1] - ldr r1, =gScriptItemId - ldrh r1, [r1] - lsls r1, 3 - adds r2, r1 - ldr r1, =0x00000848 - adds r2, r1 - ldrb r1, [r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl StringCopy - ldr r5, =gStringVar4 - ldr r1, =gText_ThrowAwayVar1 - adds r0, r5, 0 - bl StringExpandPlaceholders - bl sav2_get_text_speed - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - str r5, [sp, 0x8] - ldr r0, =sub_8136B48 - str r0, [sp, 0xC] - adds r0, r4, 0 - movs r1, 0xA - movs r2, 0xA - movs r3, 0xD - bl DisplayMessageAndContinueTask - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136AB4 - - thumb_func_start sub_8136B48 -sub_8136B48: @ 8136B48 - push {lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_085B27A8 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0xE - str r2, [sp, 0x8] - ldr r2, =gUnknown_085B26A4 - str r2, [sp, 0xC] - movs r2, 0x1 - movs r3, 0 - bl CreateYesNoMenuWithCallbacks - add sp, 0x10 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136B48 - - thumb_func_start sub_8136B78 -sub_8136B78: @ 8136B78 - push {r4,r5,lr} - sub sp, 0x10 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gStringVar4 - ldr r1, =gText_Var1ThrownAway - adds r0, r5, 0 - bl StringExpandPlaceholders - bl sav2_get_text_speed - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - str r5, [sp, 0x8] - ldr r0, =sub_8136BC0 - str r0, [sp, 0xC] - adds r0, r4, 0 - movs r1, 0xA - movs r2, 0xA - movs r3, 0xD - bl DisplayMessageAndContinueTask - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136B78 - - thumb_func_start sub_8136BC0 -sub_8136BC0: @ 8136BC0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08136C36 - ldr r0, =gScriptItemId - ldrb r0, [r0] - bl sub_8136F68 - movs r0, 0x5 - bl PlaySE - ldr r5, =gUnknown_0203AB4E - subs r6, r5, 0x2 - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - ldr r0, =gTasks + 0x8 - adds r4, r0 - ldrb r0, [r4] - adds r1, r5, 0 - adds r2, r6, 0 - bl sub_81AE6C8 - ldrh r0, [r6] - movs r1, 0x5 - bl sub_8136110 - bl sub_813625C - bl sub_81362E0 - bl sub_8135E2C - ldr r0, =gUnknown_03006310 - ldrh r1, [r5] - ldrh r2, [r6] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - ldrh r0, [r6] - ldr r1, =0x00001005 - bl sub_8136110 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - adds r0, r7, 0 - bl sub_8136C54 -_08136C36: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136BC0 - - thumb_func_start sub_8136C54 -sub_8136C54: @ 8136C54 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0xA - movs r1, 0 - bl sub_8197DF8 - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - bl sub_81363BC - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81365C8 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136C54 - - thumb_func_start sub_8136C8C -sub_8136C8C: @ 8136C8C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =gEnemyParty - bl GetNature - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gSaveBlock1Ptr - ldr r7, =gScriptItemId - ldrh r2, [r7] - lsls r2, 3 - ldr r6, =0x00000848 - adds r2, r6 - ldr r1, [r5] - adds r1, r2 - bl sub_8136FE4 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =gBattleTextBuff1 - ldr r3, =gPokeblockNames - ldr r2, [r5] - ldrh r1, [r7] - lsls r1, 3 - adds r2, r1 - adds r2, r6 - ldrb r1, [r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl StringCopy - ldrb r0, [r7] - bl sub_8136F68 - ldr r1, [r5] - ldrh r0, [r7] - lsls r0, 3 - adds r1, r0 - adds r1, r6 - ldrb r0, [r1] - lsls r0, 8 - strh r0, [r7] - lsls r4, 16 - asrs r4, 16 - cmp r4, 0 - bne _08136D10 - adds r0, 0x1 - b _08136D1A - .pool -_08136D10: - cmp r4, 0 - ble _08136D18 - adds r0, 0x2 - b _08136D1A -_08136D18: - adds r0, 0x3 -_08136D1A: - strh r0, [r7] - mov r0, r8 - bl sub_81364EC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8136C8C - - thumb_func_start sub_8136D2C -sub_8136D2C: @ 8136D2C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, =gScriptItemId - ldrb r0, [r5] - bl SafariZoneActivatePokeblockFeeder - ldr r0, =gStringVar1 - ldr r3, =gPokeblockNames - ldr r1, =gSaveBlock1Ptr - ldr r2, [r1] - ldrh r1, [r5] - lsls r1, 3 - adds r2, r1 - ldr r1, =0x00000848 - adds r2, r1 - ldrb r1, [r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl StringCopy - ldr r1, =gScriptResult - ldrh r0, [r5] - strh r0, [r1] - lsls r0, 24 - lsrs r0, 24 - bl sub_8136F68 - movs r0, 0 - strh r0, [r5] - adds r0, r4, 0 - bl sub_81364EC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136D2C - - thumb_func_start sub_8136D90 -sub_8136D90: @ 8136D90 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r6, =gSpecialVar_0x8004 - ldr r0, =gSaveBlock1Ptr - ldr r5, =gScriptItemId - ldrh r1, [r5] - lsls r1, 3 - ldr r2, =0x00000848 - adds r1, r2 - ldr r0, [r0] - adds r0, r1 - bl sub_818E704 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6] - ldr r1, =gScriptResult - ldrh r0, [r5] - strh r0, [r1] - lsls r0, 24 - lsrs r0, 24 - bl sub_8136F68 - movs r0, 0 - strh r0, [r5] - adds r0, r4, 0 - bl sub_81364EC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136D90 - - thumb_func_start sub_8136DE8 -sub_8136DE8: @ 8136DE8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r5, =gTasks + 0x8 - adds r0, r4, r5 - ldrb r0, [r0, 0x2] - movs r1, 0 - bl sub_8198070 - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - bl sub_81363BC - subs r5, 0x8 - adds r4, r5 - ldr r0, =sub_81365C8 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136DE8 - - thumb_func_start sub_8136E20 -sub_8136E20: @ 8136E20 - push {r4,lr} - lsls r0, 24 - ldr r3, =gSaveBlock1Ptr - ldr r1, [r3] - lsrs r0, 21 - adds r1, r0 - ldr r2, =0x00000848 - adds r1, r2 - movs r2, 0 - strb r2, [r1] - ldr r1, [r3] - adds r1, r0 - ldr r4, =0x00000849 - adds r1, r4 - strb r2, [r1] - ldr r1, [r3] - adds r1, r0 - adds r4, 0x1 - adds r1, r4 - strb r2, [r1] - ldr r1, [r3] - adds r1, r0 - adds r4, 0x1 - adds r1, r4 - strb r2, [r1] - ldr r1, [r3] - adds r1, r0 - adds r4, 0x1 - adds r1, r4 - strb r2, [r1] - ldr r1, [r3] - adds r1, r0 - adds r4, 0x1 - adds r1, r4 - strb r2, [r1] - ldr r1, [r3] - adds r1, r0 - ldr r0, =0x0000084e - adds r1, r0 - strb r2, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8136E20 - - thumb_func_start ClearPokeblocks -ClearPokeblocks: @ 8136E88 - push {r4,lr} - movs r4, 0 -_08136E8C: - adds r0, r4, 0 - bl sub_8136E20 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x27 - bls _08136E8C - pop {r4} - pop {r0} - bx r0 - thumb_func_end ClearPokeblocks - - thumb_func_start sub_8136EA4 -sub_8136EA4: @ 8136EA4 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x1 - bl sub_8136F9C - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x1 -_08136EB4: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_8136F9C - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bcs _08136ECC - adds r5, r0, 0 -_08136ECC: - adds r1, r4, 0 - cmp r1, 0x4 - bls _08136EB4 - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8136EA4 - - thumb_func_start sub_8136EDC -sub_8136EDC: @ 8136EDC - push {lr} - movs r1, 0x6 - bl sub_8136F9C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x63 - bls _08136EEE - movs r0, 0x63 -_08136EEE: - pop {r1} - bx r1 - thumb_func_end sub_8136EDC - - thumb_func_start sub_8136EF4 -sub_8136EF4: @ 8136EF4 - push {lr} - movs r1, 0 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r3, =0x00000848 -_08136EFE: - lsls r0, r1, 3 - adds r0, r2, r0 - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _08136F18 - lsls r0, r1, 24 - asrs r0, 24 - b _08136F26 - .pool -_08136F18: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x27 - bls _08136EFE - movs r0, 0x1 - negs r0, r0 -_08136F26: - pop {r1} - bx r1 - thumb_func_end sub_8136EF4 - - thumb_func_start sub_8136F2C -sub_8136F2C: @ 8136F2C - push {r4,lr} - adds r4, r0, 0 - bl sub_8136EF4 - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08136F60 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - lsls r0, r1, 3 - ldr r1, =0x00000848 - adds r2, r1 - adds r2, r0 - ldr r0, [r4] - ldr r1, [r4, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - movs r0, 0x1 - b _08136F62 - .pool -_08136F60: - movs r0, 0 -_08136F62: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8136F2C - - thumb_func_start sub_8136F68 -sub_8136F68: @ 8136F68 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - lsls r1, r2, 3 - adds r0, r1 - ldr r1, =0x00000848 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08136F94 - adds r0, r2, 0 - bl sub_8136E20 - movs r0, 0x1 - b _08136F96 - .pool -_08136F94: - movs r0, 0 -_08136F96: - pop {r1} - bx r1 - thumb_func_end sub_8136F68 - - thumb_func_start sub_8136F9C -sub_8136F9C: @ 8136F9C - push {lr} - lsls r1, 24 - lsrs r1, 24 - adds r2, r1, 0 - cmp r1, 0 - bne _08136FAC - ldrb r0, [r0] - b _08136FDE -_08136FAC: - cmp r1, 0x1 - bne _08136FB4 - ldrb r0, [r0, 0x1] - b _08136FDE -_08136FB4: - cmp r1, 0x2 - bne _08136FBC - ldrb r0, [r0, 0x2] - b _08136FDE -_08136FBC: - cmp r1, 0x3 - bne _08136FC4 - ldrb r0, [r0, 0x3] - b _08136FDE -_08136FC4: - cmp r1, 0x4 - bne _08136FCC - ldrb r0, [r0, 0x4] - b _08136FDE -_08136FCC: - cmp r1, 0x5 - bne _08136FD4 - ldrb r0, [r0, 0x5] - b _08136FDE -_08136FD4: - cmp r2, 0x6 - beq _08136FDC - movs r0, 0 - b _08136FDE -_08136FDC: - ldrb r0, [r0, 0x6] -_08136FDE: - pop {r1} - bx r1 - thumb_func_end sub_8136F9C - - thumb_func_start sub_8136FE4 -sub_8136FE4: @ 8136FE4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r8, r1 - lsls r0, 24 - lsrs r0, 24 - movs r6, 0 - movs r4, 0 - ldr r1, =gPokeblockFlavorCompatibilityTable - mov r9, r1 - lsls r1, r0, 2 - adds r7, r1, r0 -_08136FFE: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r8 - adds r1, r5, 0 - bl sub_8136F9C - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - ble _0813702A - adds r0, r7, r4 - add r0, r9 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - muls r1, r0 - lsls r0, r6, 16 - asrs r0, 16 - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 -_0813702A: - adds r4, r5, 0 - cmp r4, 0x4 - bls _08136FFE - lsls r0, r6, 16 - asrs r0, 16 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8136FE4 - - thumb_func_start sub_8137044 -sub_8137044: @ 8137044 - push {r4,lr} - adds r4, r1, 0 - movs r1, 0 - bl sub_8136F9C - lsls r0, 24 - ldr r1, =gPokeblockNames - lsrs r0, 22 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringCopy - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137044 - - thumb_func_start sub_8137068 -sub_8137068: @ 8137068 - push {r4-r7,lr} - adds r6, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r7, =gPokeblockNames -_08137074: - lsls r1, r4, 3 - ldr r0, =gUnknown_085B2720 - adds r1, r0 - adds r0, r5, 0 - bl sub_8136FE4 - lsls r0, 16 - cmp r0, 0 - ble _081370A0 - adds r0, r4, 0x1 - lsls r0, 2 - adds r0, r7 - ldr r1, [r0] - adds r0, r6, 0 - bl StringCopy - movs r0, 0x1 - b _081370AC - .pool -_081370A0: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _08137074 - movs r0, 0 -_081370AC: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8137068 - - thumb_func_start sub_81370B4 -sub_81370B4: @ 81370B4 - push {r4-r7,lr} - adds r5, r0, 0 - movs r7, 0 - movs r6, 0 -_081370BC: - adds r1, r7, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_8136F9C - adds r4, r0, 0 - adds r1, r6, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_8136F9C - lsls r4, 16 - lsls r0, 16 - lsls r1, r6, 16 - cmp r4, r0 - bge _081370E2 - lsrs r7, r1, 16 -_081370E2: - movs r2, 0x80 - lsls r2, 9 - adds r0, r1, r2 - lsrs r6, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _081370BC - lsls r0, r7, 24 - lsrs r0, 24 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81370B4 - - thumb_func_start sub_81370FC -sub_81370FC: @ 81370FC - push {r4,lr} - bl ShouldDoBrailleFlyEffect - lsls r0, 24 - cmp r0, 0 - beq _08137134 - ldr r4, =gScriptResult - bl brm_get_pokemon_selection - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 - str r0, [r1] - ldr r1, =gUnknown_0203CEEC - ldr r0, =sub_8179918 - b _08137152 - .pool -_08137134: - ldr r0, =gMapHeader - ldrb r0, [r0, 0x15] - cmp r0, 0x1 - bne _08137170 - ldr r0, =0x00000888 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08137170 - ldr r1, =gUnknown_03005DB0 - ldr r0, =hm_add_c3_launch_phase_2 - str r0, [r1] - ldr r1, =gUnknown_0203CEEC - ldr r0, =hm2_flash -_08137152: - str r0, [r1] - movs r0, 0x1 - b _08137172 - .pool -_08137170: - movs r0, 0 -_08137172: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81370FC - - thumb_func_start hm2_flash -hm2_flash: @ 8137178 - push {r4,lr} - bl oei_task_add - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl brm_get_pokemon_selection - ldr r1, =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r2, =sub_81371B4 - lsrs r1, r2, 16 - strh r1, [r0, 0x18] - strh r2, [r0, 0x1A] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end hm2_flash - - thumb_func_start sub_81371B4 -sub_81371B4: @ 81371B4 - push {lr} - movs r0, 0xCF - bl PlaySE - ldr r0, =0x00000888 - bl FlagSet - ldr r0, =gUnknown_082926F8 - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .pool - thumb_func_end sub_81371B4 - - thumb_func_start sub_81371D4 -sub_81371D4: @ 81371D4 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_81371D4 - - thumb_func_start sub_81371EC -sub_81371EC: @ 81371EC - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_81371EC - - thumb_func_start c2_change_map -c2_change_map: @ 8137200 - push {r4,lr} - sub sp, 0x8 - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0xC - movs r1, 0 - bl SetGpuReg - movs r0, 0xA - movs r1, 0 - bl SetGpuReg - movs r0, 0x8 - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, =0x040000d4 - mov r0, sp - str r0, [r1] - movs r0, 0xC0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, =0x8100c000 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r4, 0 - str r4, [sp, 0x4] - add r0, sp, 0x4 - str r0, [r1] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, =0x85000100 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, sp - strh r4, [r0] - str r0, [r1] - ldr r0, =0x05000002 - str r0, [r1, 0x4] - ldr r0, =0x810001ff - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl ResetPaletteFade - bl ResetTasks - bl ResetSpriteData - ldr r3, =0x04000208 - ldrh r2, [r3] - strh r4, [r3] - ldr r4, =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r0, =sub_81371EC - bl SetVBlankCallback - ldr r0, =sub_81371D4 - bl SetMainCallback2 - bl sub_8137304 - lsls r0, 24 - cmp r0, 0 - bne _081372D2 - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_081372D2: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end c2_change_map - - thumb_func_start sub_8137304 -sub_8137304: @ 8137304 - push {r4-r7,lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r6, r0, 24 - bl sav1_map_get_light_level - lsls r0, 24 - lsrs r5, r0, 24 - movs r3, 0 - ldr r4, =gUnknown_085B27C8 - ldrb r0, [r4] - cmp r0, 0 - beq _08137358 - adds r7, r4, 0 - adds r0, r4, 0x4 - mov r12, r0 -_08137326: - lsls r2, r3, 3 - adds r1, r2, r7 - ldrb r0, [r1] - cmp r0, r6 - bne _08137348 - ldrb r0, [r1, 0x1] - cmp r0, r5 - bne _08137348 - mov r1, r12 - adds r0, r2, r1 - ldr r0, [r0] - bl _call_via_r0 - movs r0, 0x1 - b _0813735A - .pool -_08137348: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _08137326 -_08137358: - movs r0, 0 -_0813735A: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8137304 - - thumb_func_start sub_8137360 -sub_8137360: @ 8137360 - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r0, 24 - lsrs r4, r1, 24 - movs r3, 0 - ldr r1, =gUnknown_085B27C8 - ldrb r0, [r1] - cmp r0, 0 - beq _081373A0 - adds r6, r1, 0 -_08137376: - lsls r0, r3, 3 - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, r5 - bne _08137390 - ldrb r0, [r2, 0x1] - cmp r0, r4 - bne _08137390 - ldrb r0, [r2, 0x2] - b _081373A2 - .pool -_08137390: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08137376 -_081373A0: - movs r0, 0 -_081373A2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8137360 - - thumb_func_start fade_type_for_given_maplight_pair -fade_type_for_given_maplight_pair: @ 81373A8 - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r0, 24 - lsrs r4, r1, 24 - movs r3, 0 - ldr r1, =gUnknown_085B27C8 - ldrb r0, [r1] - cmp r0, 0 - beq _081373E8 - adds r6, r1, 0 -_081373BE: - lsls r0, r3, 3 - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, r5 - bne _081373D8 - ldrb r0, [r2, 0x1] - cmp r0, r4 - bne _081373D8 - ldrb r0, [r2, 0x3] - b _081373EA - .pool -_081373D8: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _081373BE -_081373E8: - movs r0, 0 -_081373EA: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end fade_type_for_given_maplight_pair - - thumb_func_start sub_81373F0 -sub_81373F0: @ 81373F0 - push {lr} - ldr r0, =sub_8137404 - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81373F0 - - thumb_func_start sub_8137404 -sub_8137404: @ 8137404 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =sub_8137420 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8137404 - - thumb_func_start sub_8137420 -sub_8137420: @ 8137420 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - ldr r0, =gUnknown_085B2A90 - ldr r1, =0x0600c000 - bl LZ77UnCompVram - ldr r0, =gUnknown_085B28B0 - ldr r1, =0x0600f800 - bl LZ77UnCompVram - ldr r0, =gUnknown_085B2850 - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_085B28A0 - movs r1, 0xE0 - movs r2, 0x10 - bl LoadPalette - ldr r1, =0x00003e41 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r1, =0x00001f0c - movs r0, 0x8 - bl SetGpuReg - movs r1, 0x8A - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_81374C4 - str r1, [r0] - movs r2, 0 - movs r1, 0x10 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137420 - - thumb_func_start sub_81374C4 -sub_81374C4: @ 81374C4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - ldrh r4, [r5, 0xA] - movs r0, 0x80 - lsls r0, 5 - adds r1, r4, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - cmp r4, 0x10 - bhi _081374F8 - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - b _08137500 - .pool -_081374F8: - movs r0, 0 - strh r0, [r5, 0xC] - ldr r0, =sub_813750C - str r0, [r5] -_08137500: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81374C4 - - thumb_func_start sub_813750C -sub_813750C: @ 813750C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =0x00001010 - movs r0, 0x52 - bl SetGpuReg - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0xC] - cmp r1, 0x7 - bhi _08137554 - adds r0, r1, 0x1 - strh r0, [r4, 0xC] - lsls r1, 1 - ldr r0, =gUnknown_085B28A0 - adds r0, r1, r0 - movs r2, 0x10 - subs r2, r1 - lsls r2, 16 - lsrs r2, 16 - movs r1, 0xE0 - bl LoadPalette - b _08137566 - .pool -_08137554: - ldr r0, =gUnknown_085B2850 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =sub_8137574 - str r0, [r4] - movs r0, 0x8 - strh r0, [r4, 0xC] -_08137566: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813750C - - thumb_func_start sub_8137574 -sub_8137574: @ 8137574 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08137598 - subs r0, r2, 0x1 - strh r0, [r1, 0xC] - b _081375A0 - .pool -_08137598: - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_081375A0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137574 - - thumb_func_start sub_81375A8 -sub_81375A8: @ 81375A8 - push {lr} - ldr r0, =sub_81375BC - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81375A8 - - thumb_func_start sub_81375BC -sub_81375BC: @ 81375BC - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =sub_81375D8 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_81375BC - - thumb_func_start sub_81375D8 -sub_81375D8: @ 81375D8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - ldr r0, =gUnknown_085B2A90 - ldr r1, =0x0600c000 - bl LZ77UnCompVram - ldr r0, =gUnknown_085B28B0 - ldr r1, =0x0600f800 - bl LZ77UnCompVram - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r1, =0x00001f0c - movs r0, 0x8 - bl SetGpuReg - movs r1, 0x8A - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, =gUnknown_085B2850 - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_085B2870 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_8137678 - str r1, [r0] - movs r2, 0 - movs r1, 0x10 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - strh r2, [r0, 0xC] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81375D8 - - thumb_func_start sub_8137678 -sub_8137678: @ 8137678 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r1, [r4, 0xC] - cmp r1, 0xF - bhi _081376B4 - adds r2, r1, 0x1 - adds r0, r2, 0x1 - strh r0, [r4, 0xC] - movs r0, 0xF - subs r0, r1 - lsls r0, 1 - ldr r1, =gUnknown_085B2890 - adds r0, r1 - lsls r2, 17 - lsrs r2, 16 - movs r1, 0xE0 - bl LoadPalette - b _081376C8 - .pool -_081376B4: - ldr r1, =0x00001010 - movs r0, 0x52 - bl SetGpuReg - ldr r1, =0x00003e41 - movs r0, 0x50 - bl SetGpuReg - ldr r0, =sub_81376DC - str r0, [r4] -_081376C8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137678 - - thumb_func_start sub_81376DC -sub_81376DC: @ 81376DC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - ldrh r0, [r5, 0xA] - movs r1, 0x10 - subs r1, r0 - lsls r1, 16 - lsrs r4, r1, 16 - movs r0, 0x80 - lsls r0, 21 - adds r1, r0 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - cmp r4, 0 - beq _08137714 - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - b _08137726 - .pool -_08137714: - ldr r0, =gUnknown_085B2870 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_08137726: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81376DC - - thumb_func_start sub_8137734 -sub_8137734: @ 8137734 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x1C - bl sp000_heal_pokemon - ldr r4, =0x00000864 - adds r0, r4, 0 - bl FlagGet - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1 - bne _08137760 - ldr r0, =gUnknown_0203BCE4 - strb r1, [r0] - b _0813776C - .pool -_08137760: - ldr r1, =gUnknown_0203BCE4 - movs r0, 0 - strb r0, [r1] - adds r0, r4, 0 - bl FlagSet -_0813776C: - movs r0, 0x1 - bl GetGameStat - cmp r0, 0 - bne _0813778E - ldr r0, =gSaveBlock2Ptr - ldr r2, [r0] - ldrh r1, [r2, 0xE] - lsls r1, 16 - ldrb r0, [r2, 0x10] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x11] - orrs r1, r0 - movs r0, 0x1 - bl sav12_xor_set -_0813778E: - bl sub_8076D48 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _081377AC - movs r0, 0x1 - bl sub_8084F6C - b _081377B2 - .pool -_081377AC: - movs r0, 0x2 - bl sub_8084F6C -_081377B2: - movs r7, 0 - movs r6, 0 - add r0, sp, 0x18 - mov r8, r0 - mov r5, sp -_081377BC: - movs r0, 0x64 - adds r1, r6, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - movs r0, 0 - strb r6, [r5] - strb r0, [r5, 0x1] - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _0813780A - adds r0, r4, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _0813780A - adds r0, r4, 0 - movs r1, 0x43 - bl GetMonData - cmp r0, 0 - bne _0813780A - movs r0, 0x1 - mov r1, r8 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x43 - add r2, sp, 0x18 - bl SetMonData - adds r0, r4, 0 - bl GetRibbonCount - strb r0, [r5, 0x1] - movs r7, 0x1 -_0813780A: - adds r5, 0x4 - adds r6, 0x1 - cmp r6, 0x5 - ble _081377BC - cmp r7, 0x1 - bne _0813785A - movs r0, 0x2A - bl IncrementGameStat - ldr r0, =0x0000089b - bl FlagSet - mov r3, sp - add r2, sp, 0x4 - movs r6, 0x4 -_08137828: - ldrb r1, [r3, 0x1] - ldrb r0, [r2, 0x1] - cmp r0, r1 - bls _08137838 - ldr r1, [sp] - ldr r0, [r2] - str r0, [sp] - str r1, [r2] -_08137838: - adds r2, 0x4 - subs r6, 0x1 - cmp r6, 0 - bge _08137828 - mov r0, sp - ldrb r0, [r0, 0x1] - cmp r0, 0x4 - bls _0813785A - mov r0, sp - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x43 - bl sub_80EE4DC -_0813785A: - ldr r0, =sub_8173694 - bl SetMainCallback2 - movs r0, 0 - add sp, 0x1C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8137734 - - thumb_func_start sp0C8_whiteout_maybe -sp0C8_whiteout_maybe: @ 813787C - push {lr} - ldr r0, =c2_whiteout - bl SetMainCallback2 - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sp0C8_whiteout_maybe - - thumb_func_start sub_8137890 -sub_8137890: @ 8137890 - push {r4,lr} - ldr r0, =0x00004024 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x00004025 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - lsls r4, 16 - orrs r4, r0 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8137890 - - thumb_func_start sub_81378BC -sub_81378BC: @ 81378BC - push {r4,lr} - adds r4, r0, 0 - ldr r0, =0x00004024 - lsrs r1, r4, 16 - bl VarSet - ldr r0, =0x00004025 - lsls r4, 16 - lsrs r4, 16 - adds r1, r4, 0 - bl VarSet - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81378BC - - thumb_func_start sub_81378E4 -sub_81378E4: @ 81378E4 - push {r4,lr} - bl Random - adds r4, r0, 0 - bl Random - lsls r4, 16 - lsls r0, 16 - lsrs r0, 16 - orrs r4, r0 - adds r0, r4, 0 - bl sub_81378BC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81378E4 - - thumb_func_start sub_8137904 -sub_8137904: @ 8137904 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - bl sub_8137890 - adds r1, r0, 0 - cmp r4, 0 - beq _08137928 - ldr r3, =0x41c64e6d - ldr r2, =0x00003039 -_08137918: - adds r0, r1, 0 - muls r0, r3 - adds r1, r0, r2 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - bne _08137918 -_08137928: - adds r0, r1, 0 - bl sub_81378BC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137904 - - thumb_func_start sub_813793C -sub_813793C: @ 813793C - push {r4-r6,lr} - bl sub_8137890 - lsrs r6, r0, 16 - movs r5, 0 -_08137946: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08137978 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldr r1, =0x0000ffff - ands r1, r0 - cmp r1, r6 - bne _08137978 - movs r0, 0x1 - b _08137980 - .pool -_08137978: - adds r5, 0x1 - cmp r5, 0x5 - ble _08137946 - movs r0, 0 -_08137980: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_813793C - - thumb_func_start sub_8137988 -sub_8137988: @ 8137988 - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_light_level_1_2_3_5_or_6 - lsls r0, 24 - cmp r0, 0 - beq _081379CE - bl RtcCalcLocalTime - ldr r1, =gUnknown_085B2B44 - ldr r0, =gLocalTime - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _081379C8 - ldr r0, =0x0000089a - bl FlagSet - b _081379CE - .pool -_081379C8: - ldr r0, =0x0000089a - bl FlagClear -_081379CE: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137988 - - thumb_func_start sub_81379D8 -sub_81379D8: @ 81379D8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80AC3BC - lsls r0, 24 - cmp r0, 0 - beq _081379F2 - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_081379F2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81379D8 - - thumb_func_start sub_81379F8 -sub_81379F8: @ 81379F8 - push {lr} - ldr r0, =sub_81379D8 - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81379F8 - - thumb_func_start sub_8137A0C -sub_8137A0C: @ 8137A0C - push {lr} - ldr r0, =0x00004049 - bl GetVarPointer - movs r1, 0 - strh r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137A0C - - thumb_func_start sub_8137A20 -sub_8137A20: @ 8137A20 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x00004049 - bl GetVarPointer - adds r5, r0, 0 - ldrh r0, [r5] - adds r4, r0 - strh r4, [r5] - ldrh r0, [r5] - movs r1, 0x7 - bl __umodsi3 - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137A20 - - thumb_func_start sub_8137A4C -sub_8137A4C: @ 8137A4C - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08137A70 - movs r0, 0 - bl sub_80C0844 - ldr r1, =gSpecialVar_0x8005 - strh r0, [r1] - movs r0, 0x1 - bl sub_80C0844 - b _08137A80 - .pool -_08137A70: - movs r0, 0 - bl pokedex_count - ldr r1, =gSpecialVar_0x8005 - strh r0, [r1] - movs r0, 0x1 - bl pokedex_count -_08137A80: - ldr r1, =gSpecialVar_0x8006 - strh r0, [r1] - bl IsNationalPokedexEnabled - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8137A4C - - thumb_func_start sub_8137A98 -sub_8137A98: @ 8137A98 - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x9 - bhi _08137AA4 - b _08137BFC -_08137AA4: - cmp r0, 0x13 - bhi _08137AB0 - ldr r0, =gUnknown_082A5DAB - b _08137C06 - .pool -_08137AB0: - cmp r0, 0x1D - bhi _08137ABC - ldr r0, =gUnknown_082A5DF1 - b _08137C06 - .pool -_08137ABC: - cmp r0, 0x27 - bhi _08137AC8 - ldr r0, =gUnknown_082A5E34 - b _08137C06 - .pool -_08137AC8: - cmp r0, 0x31 - bhi _08137AD4 - ldr r0, =gUnknown_082A5E83 - b _08137C06 - .pool -_08137AD4: - cmp r0, 0x3B - bhi _08137AE0 - ldr r0, =gUnknown_082A5EB9 - b _08137C06 - .pool -_08137AE0: - cmp r0, 0x45 - bhi _08137AEC - ldr r0, =gUnknown_082A5EF4 - b _08137C06 - .pool -_08137AEC: - cmp r0, 0x4F - bhi _08137AF8 - ldr r0, =gUnknown_082A5F39 - b _08137C06 - .pool -_08137AF8: - cmp r0, 0x59 - bhi _08137B04 - ldr r0, =gUnknown_082A5F82 - b _08137C06 - .pool -_08137B04: - cmp r0, 0x63 - bhi _08137B10 - ldr r0, =gUnknown_082A5FB9 - b _08137C06 - .pool -_08137B10: - cmp r0, 0x6D - bhi _08137B1C - ldr r0, =gUnknown_082A6018 - b _08137C06 - .pool -_08137B1C: - cmp r0, 0x77 - bhi _08137B28 - ldr r0, =gUnknown_082A6061 - b _08137C06 - .pool -_08137B28: - cmp r0, 0x81 - bhi _08137B34 - ldr r0, =gUnknown_082A609C - b _08137C06 - .pool -_08137B34: - cmp r0, 0x8B - bhi _08137B40 - ldr r0, =gUnknown_082A60D5 - b _08137C06 - .pool -_08137B40: - cmp r0, 0x95 - bhi _08137B4C - ldr r0, =gUnknown_082A6124 - b _08137C06 - .pool -_08137B4C: - cmp r0, 0x9F - bhi _08137B58 - ldr r0, =gUnknown_082A616F - b _08137C06 - .pool -_08137B58: - cmp r0, 0xA9 - bhi _08137B64 - ldr r0, =gUnknown_082A61D6 - b _08137C06 - .pool -_08137B64: - cmp r0, 0xB3 - bhi _08137B70 - ldr r0, =gUnknown_082A623A - b _08137C06 - .pool -_08137B70: - cmp r0, 0xBD - bhi _08137B7C - ldr r0, =gUnknown_082A6287 - b _08137C06 - .pool -_08137B7C: - cmp r0, 0xC7 - bls _08137BEA - cmp r0, 0xC8 - bne _08137BB8 - ldr r0, =0x00000199 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - bne _08137BEA - movs r0, 0xCD - lsls r0, 1 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - bne _08137BEA - b _08137C04 - .pool -_08137BB8: - cmp r0, 0xC9 - bne _08137BF8 - ldr r0, =0x00000199 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _08137C04 - movs r0, 0xCD - lsls r0, 1 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _08137C04 -_08137BEA: - ldr r0, =gUnknown_082A62C9 - b _08137C06 - .pool -_08137BF8: - cmp r0, 0xCA - beq _08137C04 -_08137BFC: - ldr r0, =gUnknown_082A5D6C - b _08137C06 - .pool -_08137C04: - ldr r0, =gUnknown_082A6312 -_08137C06: - pop {r1} - bx r1 - .pool - thumb_func_end sub_8137A98 - - thumb_func_start sub_8137C10 -sub_8137C10: @ 8137C10 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - bl sub_8137A98 - bl ShowFieldMessage - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137C10 - - thumb_func_start sub_8137C28 -sub_8137C28: @ 8137C28 - push {lr} - ldr r0, =sub_8174194 - bl SetMainCallback2 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137C28 - - thumb_func_start sub_8137C3C -sub_8137C3C: @ 8137C3C - push {lr} - ldr r0, =c2_exit_to_overworld_2_switch - bl SetMainCallback2 - ldr r1, =gFieldCallback - ldr r0, =mapldr_080CA5C0 - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137C3C - - thumb_func_start mapldr_080CA5C0 -mapldr_080CA5C0: @ 8137C5C - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - bl sub_8085784 - bl sp109_CreatePCMenu - bl sub_80E2514 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =sub_8137C94 - movs r1, 0xA - bl CreateTask - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end mapldr_080CA5C0 - - thumb_func_start sub_8137C94 -sub_8137C94: @ 8137C94 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08137CAC - adds r0, r2, 0 - bl DestroyTask -_08137CAC: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137C94 - - thumb_func_start sub_8137CB4 -sub_8137CB4: @ 8137CB4 - push {lr} - ldr r0, =CB2_ShowDiploma - bl SetMainCallback2 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137CB4 - - thumb_func_start Special_ViewWallClock -Special_ViewWallClock: @ 8137CC8 - push {lr} - ldr r0, =gMain - ldr r1, =c2_exit_to_overworld_2_switch - str r1, [r0, 0x8] - ldr r0, =Cb2_ViewWallClock - bl SetMainCallback2 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end Special_ViewWallClock - - thumb_func_start wild_pokemon_reroll -wild_pokemon_reroll: @ 8137CEC - ldr r0, =gUnknown_0203AB54 - movs r1, 0 - strb r1, [r0] - ldr r0, =gUnknown_0203AB55 - strb r1, [r0] - ldr r1, =gUnknown_0203AB58 - movs r0, 0 - str r0, [r1] - bx lr - .pool - thumb_func_end wild_pokemon_reroll - - thumb_func_start sub_8137D0C -sub_8137D0C: @ 8137D0C - ldr r1, =gUnknown_0203AB54 - movs r0, 0x1 - strb r0, [r1] - ldr r1, =gUnknown_0203AB55 - movs r0, 0 - strb r0, [r1] - ldr r1, =gUnknown_0203AB58 - ldr r0, =gMain - ldr r0, [r0, 0x20] - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8137D0C - - thumb_func_start sp0E3_walkrun_bitfield_interpretation -sp0E3_walkrun_bitfield_interpretation: @ 8137D34 - push {lr} - movs r0, 0x4 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _08137D46 - movs r0, 0x1 - b _08137D58 -_08137D46: - movs r0, 0x2 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - bne _08137D56 - movs r0, 0 - b _08137D58 -_08137D56: - movs r0, 0x2 -_08137D58: - pop {r1} - bx r1 - thumb_func_end sp0E3_walkrun_bitfield_interpretation - - thumb_func_start sub_8137D5C -sub_8137D5C: @ 8137D5C - push {r4-r7,lr} - adds r7, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r6, 0x63 - bhi _08137D88 - ldr r4, =gStringVar1 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gText_SpaceTimes - adds r0, r4, 0 - bl StringAppend - b _08137D90 - .pool -_08137D88: - ldr r0, =gStringVar1 - ldr r1, =gText_99TimesPlus - bl StringCopy -_08137D90: - ldr r0, =0x00000e0f - cmp r7, r0 - bhi _08137DF0 - ldr r4, =gStringVar2 - adds r0, r7, 0 - movs r1, 0x3C - bl __udivsi3 - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - movs r0, 0xAD - strb r0, [r4, 0x2] - adds r5, r4, 0x3 - adds r0, r7, 0 - movs r1, 0x3C - bl __umodsi3 - movs r1, 0x64 - muls r0, r1 - movs r1, 0x3C - bl __udivsi3 - adds r1, r0, 0 - adds r0, r5, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gText_SpaceSeconds - adds r0, r4, 0 - bl StringAppend - b _08137DF8 - .pool -_08137DF0: - ldr r0, =gStringVar2 - ldr r1, =gText_1MinutePlus - bl StringCopy -_08137DF8: - movs r4, 0 - cmp r6, 0 - bne _08137E0C - movs r4, 0x5 - b _08137E2A - .pool -_08137E0C: - cmp r6, 0x3 - bhi _08137E14 - movs r4, 0x4 - b _08137E2A -_08137E14: - cmp r6, 0x9 - bhi _08137E1C - movs r4, 0x3 - b _08137E2A -_08137E1C: - cmp r6, 0x13 - bhi _08137E24 - movs r4, 0x2 - b _08137E2A -_08137E24: - cmp r6, 0x63 - bhi _08137E2A - movs r4, 0x1 -_08137E2A: - adds r0, r7, 0 - movs r1, 0x3C - bl __udivsi3 - cmp r0, 0xA - bhi _08137E3A - adds r0, r4, 0x5 - b _08137E58 -_08137E3A: - cmp r0, 0xF - bhi _08137E42 - adds r0, r4, 0x4 - b _08137E58 -_08137E42: - cmp r0, 0x14 - bhi _08137E4A - adds r0, r4, 0x3 - b _08137E58 -_08137E4A: - cmp r0, 0x28 - bhi _08137E52 - adds r0, r4, 0x2 - b _08137E58 -_08137E52: - cmp r0, 0x3B - bhi _08137E5C - adds r0, r4, 0x1 -_08137E58: - lsls r0, 24 - lsrs r4, r0, 24 -_08137E5C: - ldr r0, =gScriptResult - strh r4, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137D5C - - thumb_func_start sub_8137E6C -sub_8137E6C: @ 8137E6C - push {r4,r5,lr} - ldr r0, =gMain - ldr r1, =gUnknown_0203AB58 - ldr r4, [r0, 0x20] - ldr r0, [r1] - subs r4, r0 - ldr r5, =gUnknown_0203AB55 - ldrb r1, [r5] - adds r0, r4, 0 - bl sub_8137D5C - ldrb r1, [r5] - adds r0, r4, 0 - bl sub_8137E9C - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137E6C - - thumb_func_start sub_8137E9C -sub_8137E9C: @ 8137E9C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - ldr r6, =0x00004028 - adds r0, r6, 0 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r7, =0x00004029 - adds r0, r7, 0 - bl VarGet - lsls r0, 16 - adds r4, r0 - cmp r4, r5 - bhi _08137ECC - cmp r4, 0 - bne _08137EE6 -_08137ECC: - lsls r1, r5, 16 - lsrs r1, 16 - adds r0, r6, 0 - bl VarSet - lsrs r1, r5, 16 - adds r0, r7, 0 - bl VarSet - ldr r0, =0x00004027 - mov r1, r8 - bl VarSet -_08137EE6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137E9C - - thumb_func_start sub_8137EFC -sub_8137EFC: @ 8137EFC - push {r4,lr} - ldr r0, =0x00004028 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x00004029 - bl VarGet - lsls r0, 16 - adds r4, r0 - cmp r4, 0 - beq _08137F3C - ldr r0, =0x00004027 - bl VarGet - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_8137D5C - movs r0, 0x1 - b _08137F3E - .pool -_08137F3C: - movs r0, 0 -_08137F3E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8137EFC - - thumb_func_start sub_8137F44 -sub_8137F44: @ 8137F44 - push {r4,lr} - ldr r0, =gUnknown_020322DC - ldrh r1, [r0] - ldr r0, =0x00000c1d - cmp r1, r0 - beq _08137F7C - ldr r4, =0x000040a9 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - beq _08137F6E - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - bne _08137F7C -_08137F6E: - adds r0, r4, 0 - movs r1, 0 - bl VarSet - movs r0, 0 - bl Overworld_SetSavedMusic -_08137F7C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137F44 - - thumb_func_start sub_8137F90 -sub_8137F90: @ 8137F90 - push {lr} - ldr r0, =0x0000088d - bl FlagSet - ldr r0, =0x0000404a - bl GetVarPointer - movs r1, 0 - strh r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137F90 - - thumb_func_start sub_8137FB0 -sub_8137FB0: @ 8137FB0 - push {lr} - ldr r0, =0x0000088d - bl FlagClear - pop {r0} - bx r0 - .pool - thumb_func_end sub_8137FB0 - - thumb_func_start CountSSTidalStep -CountSSTidalStep: @ 8137FC0 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x0000088d - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08137FE6 - ldr r0, =0x0000404a - bl GetVarPointer - ldrh r1, [r0] - adds r1, r4, r1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xCC - bhi _08137FF4 -_08137FE6: - movs r0, 0 - b _08137FF6 - .pool -_08137FF4: - movs r0, 0x1 -_08137FF6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end CountSSTidalStep - - thumb_func_start GetSSTidalLocation -GetSSTidalLocation: @ 8137FFC - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r7, r3, 0 - ldr r0, =0x0000404a - bl GetVarPointer - adds r4, r0, 0 - ldr r0, =0x000040b4 - bl GetVarPointer - ldrh r0, [r0] - subs r0, 0x1 - cmp r0, 0x9 - bhi _081380C2 - lsls r0, 2 - ldr r1, =_08138038 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08138038: - .4byte _08138060 - .4byte _08138070 - .4byte _08138064 - .4byte _08138068 - .4byte _08138068 - .4byte _0813806C - .4byte _08138098 - .4byte _08138060 - .4byte _08138064 - .4byte _0813806C -_08138060: - movs r0, 0x1 - b _081380CE -_08138064: - movs r0, 0x4 - b _081380CE -_08138068: - movs r0, 0x2 - b _081380CE -_0813806C: - movs r0, 0x3 - b _081380CE -_08138070: - ldrh r0, [r4] - cmp r0, 0x3B - bhi _08138080 - movs r0, 0x31 - strb r0, [r5] - ldrh r0, [r4] - adds r0, 0x13 - b _081380C0 -_08138080: - cmp r0, 0x8B - bhi _0813808E - movs r0, 0x30 - strb r0, [r5] - ldrh r0, [r4] - subs r0, 0x3C - b _081380C0 -_0813808E: - movs r0, 0x2F - strb r0, [r5] - ldrh r0, [r4] - subs r0, 0x8C - b _081380C0 -_08138098: - ldrh r0, [r4] - cmp r0, 0x41 - bhi _081380A8 - movs r0, 0x2F - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0x41 - b _081380BE -_081380A8: - cmp r0, 0x91 - bhi _081380B6 - movs r0, 0x30 - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0x91 - b _081380BE -_081380B6: - movs r0, 0x31 - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0xE0 -_081380BE: - subs r0, r1 -_081380C0: - strh r0, [r6] -_081380C2: - movs r0, 0 - mov r1, r8 - strb r0, [r1] - movs r0, 0x14 - strh r0, [r7] - movs r0, 0 -_081380CE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetSSTidalLocation - - thumb_func_start is_tile_that_overrides_player_control -is_tile_that_overrides_player_control: @ 81380D8 - push {lr} - movs r0, 0x88 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813810A - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _0813810A - cmp r0, 0x3 - ble _081380F6 - cmp r0, 0x6 - bne _0813810A -_081380F6: - ldr r0, =0x000040f2 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xF9 - bhi _08138118 -_0813810A: - movs r0, 0 - b _0813811A - .pool -_08138118: - movs r0, 0x1 -_0813811A: - pop {r1} - bx r1 - thumb_func_end is_tile_that_overrides_player_control - - thumb_func_start sub_8138120 -sub_8138120: @ 8138120 - push {lr} - movs r0, 0x8A - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08138152 - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _08138152 - cmp r0, 0x3 - ble _0813813E - cmp r0, 0x6 - bne _08138152 -_0813813E: - ldr r0, =0x000040f3 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x9 - bhi _08138160 -_08138152: - movs r0, 0 - b _08138162 - .pool -_08138160: - movs r0, 0x1 -_08138162: - pop {r1} - bx r1 - thumb_func_end sub_8138120 - - thumb_func_start sub_8138168 -sub_8138168: @ 8138168 - push {lr} - movs r0, 0x72 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813819A - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _0813819A - cmp r0, 0x3 - ble _08138186 - cmp r0, 0x6 - bne _0813819A -_08138186: - ldr r0, =0x000040f5 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x9 - bhi _081381A8 -_0813819A: - movs r0, 0 - b _081381AA - .pool -_081381A8: - movs r0, 0x1 -_081381AA: - pop {r1} - bx r1 - thumb_func_end sub_8138168 - - thumb_func_start sub_81381B0 -sub_81381B0: @ 81381B0 - push {lr} - movs r0, 0x80 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081381E2 - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _081381E2 - cmp r0, 0x3 - ble _081381CE - cmp r0, 0x6 - bne _081381E2 -_081381CE: - ldr r0, =0x000040f4 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xF9 - bhi _081381F0 -_081381E2: - movs r0, 0 - b _081381F2 - .pool -_081381F0: - movs r0, 0x1 -_081381F2: - pop {r1} - bx r1 - thumb_func_end sub_81381B0 - - thumb_func_start sub_81381F8 -sub_81381F8: @ 81381F8 - push {lr} - movs r0, 0x75 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813822A - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _0813822A - cmp r0, 0x3 - ble _08138216 - cmp r0, 0x6 - bne _0813822A -_08138216: - ldr r0, =0x000040f6 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xF9 - bhi _08138238 -_0813822A: - movs r0, 0 - b _0813823A - .pool -_08138238: - movs r0, 0x1 -_0813823A: - pop {r1} - bx r1 - thumb_func_end sub_81381F8 - - thumb_func_start sub_8138240 -sub_8138240: @ 8138240 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - bl GetMultiplayerId - lsls r0, 24 - lsrs r7, r0, 24 - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _0813828A - ldr r0, =gTVStringVarPtrs - mov r8, r0 -_08138262: - cmp r7, r4 - beq _08138280 - lsls r0, r6, 2 - add r0, r8 - ldr r0, [r0] - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - ldr r2, =gLinkPlayers + 8 - adds r1, r2 - bl StringCopy - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08138280: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08138262 -_0813828A: - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8138240 - - thumb_func_start SpawnLinkPartnerFieldObject -SpawnLinkPartnerFieldObject: @ 81382A0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - movs r7, 0 - movs r0, 0 - mov r9, r0 - mov r8, r0 - ldr r1, =gUnknown_085B2B5C - add r0, sp, 0x8 - movs r2, 0x4 - bl memcpy - add r4, sp, 0xC - ldr r1, =gUnknown_085B2B60 - adds r0, r4, 0 - movs r2, 0x8 - bl memcpy - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x2 - beq _08138310 - cmp r0, 0x2 - bgt _081382F4 - cmp r0, 0x1 - beq _0813833C - b _08138350 - .pool -_081382F4: - cmp r1, 0x3 - beq _081382FE - cmp r1, 0x4 - beq _08138324 - b _08138350 -_081382FE: - movs r7, 0x2 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldrh r0, [r1] - subs r0, 0x1 - b _0813832C - .pool -_08138310: - movs r7, 0x1 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0] - mov r9, r1 - ldrh r0, [r0, 0x2] - subs r0, 0x1 - b _0813834A - .pool -_08138324: - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 -_0813832C: - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldrh r1, [r1, 0x2] - mov r8, r1 - b _08138350 - .pool -_0813833C: - movs r7, 0x3 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r3, [r0] - mov r9, r3 - ldrh r0, [r0, 0x2] - adds r0, 0x1 -_0813834A: - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_08138350: - movs r6, 0 - b _08138410 - .pool -_08138358: - cmp r10, r6 - beq _0813840A - ldr r0, =gLinkPlayers - lsls r2, r6, 3 - subs r1, r2, r6 - lsls r1, 2 - adds r1, r0 - ldrb r3, [r1] - adds r4, r0, 0 - cmp r3, 0x1 - blt _0813838C - cmp r3, 0x2 - ble _0813837C - cmp r3, 0x3 - beq _08138388 - b _0813838C - .pool -_0813837C: - ldrb r0, [r1, 0x13] - movs r5, 0xEC - cmp r0, 0 - bne _0813839C - movs r5, 0xEB - b _0813839C -_08138388: - ldrb r0, [r1, 0x13] - b _08138394 -_0813838C: - subs r0, r2, r6 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x13] -_08138394: - movs r5, 0x69 - cmp r0, 0 - bne _0813839C - movs r5, 0x64 -_0813839C: - mov r0, sp - adds r0, r7 - adds r0, 0x8 - ldrb r1, [r0] - movs r4, 0xF0 - subs r4, r6 - lsls r4, 24 - lsrs r4, 24 - lsls r2, r7, 1 - mov r0, sp - adds r0, r2 - adds r0, 0xC - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - mov r3, r9 - lsls r3, 16 - asrs r3, 16 - mov r12, r3 - add r0, r12 - adds r3, r0, 0x7 - lsls r3, 16 - asrs r3, 16 - mov r12, r3 - mov r0, sp - adds r0, 0xD - adds r0, r2 - movs r2, 0 - ldrsb r2, [r0, r2] - mov r3, r8 - lsls r0, r3, 16 - asrs r0, 16 - adds r0, r2 - adds r0, 0x7 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r5, 0 - adds r2, r4, 0 - mov r3, r12 - bl SpawnSpecialFieldObjectParametrized - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_813842C - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x4 - bne _0813840A - movs r7, 0 -_0813840A: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08138410: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r6, r0 - bcc _08138358 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end SpawnLinkPartnerFieldObject - - thumb_func_start sub_813842C -sub_813842C: @ 813842C - push {r4,r5,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, 24 - movs r1, 0xC0 - lsls r1, 19 - adds r2, r1 - lsrs r5, r2, 24 - lsrs r4, r0, 24 - movs r2, 0xA8 - lsls r2, 21 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0x1 - bls _08138454 - cmp r4, 0x64 - beq _08138454 - cmp r4, 0x69 - bne _081384E6 -_08138454: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - adds r0, r3, 0 - bl GetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x10 - beq _081384E6 - ldr r1, =gMapObjects - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - lsls r3, r5, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - cmp r4, 0x69 - beq _081384D8 - cmp r4, 0x69 - bgt _081384A8 - cmp r4, 0x64 - beq _081384C4 - b _081384E6 - .pool -_081384A8: - cmp r4, 0xEB - beq _081384B2 - cmp r4, 0xEC - beq _081384BC - b _081384E6 -_081384B2: - ldr r0, =gFieldObjectPalette33 - b _081384C6 - .pool -_081384BC: - ldr r0, =gFieldObjectPalette34 - b _081384C6 - .pool -_081384C4: - ldr r0, =gFieldObjectPalette8 -_081384C6: - movs r2, 0x80 - lsls r2, 1 - adds r1, r3, r2 - movs r2, 0x20 - bl LoadPalette - b _081384E6 - .pool -_081384D8: - ldr r0, =gFieldObjectPalette17 - movs r2, 0x80 - lsls r2, 1 - adds r1, r3, r2 - movs r2, 0x20 - bl LoadPalette -_081384E6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813842C - - thumb_func_start sub_81384F0 -sub_81384F0: @ 81384F0 - push {r4,r5,lr} - movs r4, 0 - ldr r5, =gUnknown_085B2B68 -_081384F6: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r4, r0 - bne _0813851C - lsls r1, r4, 2 - adds r1, r5 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - ldr r2, =0x00000206 - bl MapGridSetMetatileIdAt - b _0813852A - .pool -_0813851C: - lsls r1, r4, 2 - adds r1, r5 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - ldr r2, =0x00000205 - bl MapGridSetMetatileIdAt -_0813852A: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081384F6 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81384F0 - - thumb_func_start sub_8138540 -sub_8138540: @ 8138540 - push {r4-r6,lr} - movs r5, 0xC -_08138544: - movs r4, 0x7 - adds r6, r5, 0x1 -_08138548: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0xfffffde6 - adds r0, r1 - cmp r0, 0x37 - bls _0813855A - b _08138734 -_0813855A: - lsls r0, 2 - ldr r1, =_0813856C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813856C: - .4byte _081386F2 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813864C - .4byte _08138652 - .4byte _0813868C - .4byte _08138694 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813865C - .4byte _08138662 - .4byte _0813869C - .4byte _081386A4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813866C - .4byte _08138672 - .4byte _081386AC - .4byte _081386B4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813867C - .4byte _08138684 - .4byte _081386BC - .4byte _081386C4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _081386CC - .4byte _081386DC - .4byte _081386EC - .4byte _08138714 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _081386D4 - .4byte _081386E4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813872A - .4byte _0813871C -_0813864C: - movs r2, 0x8C - lsls r2, 2 - b _08138720 -_08138652: - ldr r2, =0x00000231 - b _08138720 - .pool -_0813865C: - movs r2, 0x8E - lsls r2, 2 - b _08138720 -_08138662: - ldr r2, =0x00000239 - b _08138720 - .pool -_0813866C: - movs r2, 0x88 - lsls r2, 2 - b _08138720 -_08138672: - ldr r2, =0x00000221 - b _08138720 - .pool -_0813867C: - ldr r2, =0x00000e28 - b _08138720 - .pool -_08138684: - ldr r2, =0x00000e29 - b _08138720 - .pool -_0813868C: - ldr r2, =0x00000232 - b _08138720 - .pool -_08138694: - ldr r2, =0x00000233 - b _08138720 - .pool -_0813869C: - ldr r2, =0x0000023a - b _08138720 - .pool -_081386A4: - ldr r2, =0x0000023b - b _08138720 - .pool -_081386AC: - ldr r2, =0x00000222 - b _08138720 - .pool -_081386B4: - ldr r2, =0x00000223 - b _08138720 - .pool -_081386BC: - ldr r2, =0x00000e2a - b _08138720 - .pool -_081386C4: - ldr r2, =0x00000e2b - b _08138720 - .pool -_081386CC: - ldr r2, =0x00000e42 - b _08138720 - .pool -_081386D4: - ldr r2, =0x0000021a - b _08138720 - .pool -_081386DC: - ldr r2, =0x00000e43 - b _08138720 - .pool -_081386E4: - ldr r2, =0x0000021a - b _08138720 - .pool -_081386EC: - movs r2, 0xE4 - lsls r2, 4 - b _08138720 -_081386F2: - subs r1, r5, 0x1 - adds r0, r4, 0 - bl MapGridGetMetatileIdAt - movs r1, 0x90 - lsls r1, 2 - cmp r0, r1 - bne _0813870C - ldr r2, =0x00000e48 - b _08138720 - .pool -_0813870C: - ldr r2, =0x00000e49 - b _08138720 - .pool -_08138714: - ldr r2, =0x00000e41 - b _08138720 - .pool -_0813871C: - movs r2, 0xE5 - lsls r2, 4 -_08138720: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _08138734 -_0813872A: - ldr r2, =0x00000251 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_08138734: - adds r4, 0x1 - cmp r4, 0xF - bgt _0813873C - b _08138548 -_0813873C: - adds r5, r6, 0 - cmp r5, 0x17 - bgt _08138744 - b _08138544 -_08138744: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138540 - - thumb_func_start sub_8138750 -sub_8138750: @ 8138750 - push {r4-r6,lr} - ldr r4, =gUnknown_085B2B68 - movs r5, 0x3 -_08138756: - ldrb r0, [r4] - ldrb r1, [r4, 0x1] - ldr r2, =0x00000206 - bl MapGridSetMetatileIdAt - adds r4, 0x4 - subs r5, 0x1 - cmp r5, 0 - bge _08138756 - movs r5, 0xC -_0813876A: - movs r4, 0x7 - adds r6, r5, 0x1 -_0813876E: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0xfffffde0 - adds r0, r1 - cmp r0, 0x30 - bls _08138780 - b _081388CA -_08138780: - lsls r0, 2 - ldr r1, =_0813879C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813879C: - .4byte _08138860 - .4byte _08138866 - .4byte _08138880 - .4byte _08138888 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _08138870 - .4byte _08138876 - .4byte _08138890 - .4byte _08138898 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388A0 - .4byte _081388A8 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388B0 - .4byte _081388B0 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388C0 -_08138860: - movs r2, 0x8C - lsls r2, 2 - b _081388B2 -_08138866: - ldr r2, =0x00000231 - b _081388B2 - .pool -_08138870: - movs r2, 0x8E - lsls r2, 2 - b _081388B2 -_08138876: - ldr r2, =0x00000239 - b _081388B2 - .pool -_08138880: - ldr r2, =0x00000232 - b _081388B2 - .pool -_08138888: - ldr r2, =0x00000233 - b _081388B2 - .pool -_08138890: - ldr r2, =0x0000023a - b _081388B2 - .pool -_08138898: - ldr r2, =0x0000023b - b _081388B2 - .pool -_081388A0: - ldr r2, =0x00000e42 - b _081388B2 - .pool -_081388A8: - ldr r2, =0x00000e43 - b _081388B2 - .pool -_081388B0: - ldr r2, =0x0000021a -_081388B2: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _081388CA - .pool -_081388C0: - ldr r2, =0x00000251 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_081388CA: - adds r4, 0x1 - cmp r4, 0xF - bgt _081388D2 - b _0813876E -_081388D2: - adds r5, r6, 0 - cmp r5, 0x17 - bgt _081388DA - b _0813876A -_081388DA: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138750 - - thumb_func_start sub_81388E4 -sub_81388E4: @ 81388E4 - push {lr} - ldr r0, =gUnknown_0203AB5C - movs r1, 0 - strb r1, [r0] - ldr r0, =gUnknown_0203AB5D - strb r1, [r0] - movs r0, 0x2C - bl PlaySE - ldr r0, =sub_8138910 - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81388E4 - - thumb_func_start sub_8138910 -sub_8138910: @ 8138910 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gUnknown_085B2B78 - ldr r5, =gUnknown_0203AB5D - ldrb r1, [r5] - adds r0, r1, r0 - ldr r4, =gUnknown_0203AB5C - ldrb r2, [r4] - ldrb r0, [r0] - cmp r0, r2 - bne _0813896C - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r2, =gUnknown_085B2B7E - lsls r1, 1 - adds r1, r2 - ldrh r1, [r1] - bl sub_8138978 - movs r0, 0 - strb r0, [r4] - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bne _08138970 - adds r0, r6, 0 - bl DestroyTask - bl EnableBothScriptContexts - b _08138970 - .pool -_0813896C: - adds r0, r2, 0x1 - strb r0, [r4] -_08138970: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8138910 - - thumb_func_start sub_8138978 -sub_8138978: @ 8138978 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r2, r1, 16 - movs r7, 0 - subs r0, 0x1 - cmp r0, 0x7 - bhi _08138A40 - lsls r0, 2 - ldr r1, =_081389A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081389A0: - .4byte _081389C0 - .4byte _081389D2 - .4byte _081389E4 - .4byte _081389F6 - .4byte _08138A04 - .4byte _08138A1A - .4byte _08138A26 - .4byte _08138A34 -_081389C0: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x68 - b _08138A14 -_081389D2: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x4E - b _08138A14 -_081389E4: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x5B - b _08138A14 -_081389F6: - movs r7, 0x1 - mov r1, sp - movs r0, 0x7 - strh r0, [r1] - add r1, sp, 0x8 - movs r0, 0x27 - b _08138A3E -_08138A04: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x34 -_08138A14: - strh r0, [r1] - strh r0, [r1, 0x2] - b _08138A40 -_08138A1A: - movs r7, 0x1 - mov r0, sp - strh r7, [r0] - add r1, sp, 0x8 - movs r0, 0x41 - b _08138A3E -_08138A26: - movs r7, 0x1 - mov r1, sp - movs r0, 0x7 - strh r0, [r1] - add r1, sp, 0x8 - movs r0, 0xD - b _08138A3E -_08138A34: - movs r7, 0x1 - mov r0, sp - strh r7, [r0] - add r1, sp, 0x8 - movs r0, 0x1A -_08138A3E: - strh r0, [r1] -_08138A40: - movs r6, 0 - cmp r6, r7 - bcs _08138A92 - movs r1, 0xC0 - lsls r1, 4 - adds r0, r1, 0 - adds r1, r2, 0 - orrs r1, r0 - lsls r1, 16 - mov r9, r1 - adds r1, r2, 0 - adds r1, 0x8 - orrs r1, r0 - lsls r1, 16 - mov r8, r1 -_08138A5E: - lsls r1, r6, 1 - mov r3, sp - adds r5, r3, r1 - ldrh r0, [r5] - adds r0, 0x7 - add r4, sp, 0x8 - adds r4, r1 - ldrh r1, [r4] - adds r1, 0x7 - mov r3, r9 - lsrs r2, r3, 16 - bl MapGridSetMetatileIdAt - ldrh r0, [r5] - adds r0, 0x7 - ldrh r1, [r4] - adds r1, 0x8 - mov r3, r8 - lsrs r2, r3, 16 - bl MapGridSetMetatileIdAt - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r7 - bcc _08138A5E -_08138A92: - bl DrawWholeMapView - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8138978 - - thumb_func_start sub_8138AA4 -sub_8138AA4: @ 8138AA4 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r1, =gUnknown_085B2B7E - ldrh r1, [r1, 0x8] - bl sub_8138978 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138AA4 - - thumb_func_start sub_8138AC0 -sub_8138AC0: @ 8138AC0 - push {lr} - ldr r0, =gStringVar4 - bl ShowFieldMessage - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138AC0 - - thumb_func_start sub_8138AD0 -sub_8138AD0: @ 8138AD0 - ldr r1, =gSpecialVar_0x8004 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldrh r0, [r2] - strh r0, [r1] - ldr r1, =gSpecialVar_0x8005 - ldrh r0, [r2, 0x2] - strh r0, [r1] - bx lr - .pool - thumb_func_end sub_8138AD0 - - thumb_func_start sub_8138AF0 -sub_8138AF0: @ 8138AF0 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r1, [r0, 0xB] - lsls r1, 8 - ldrb r0, [r0, 0xA] - orrs r0, r1 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8138AF0 - - thumb_func_start sub_8138B10 -sub_8138B10: @ 8138B10 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08138B34 - ldr r0, =gStringVar1 - ldr r1, =gText_BigGuy - bl StringCopy - b _08138B3C - .pool -_08138B34: - ldr r0, =gStringVar1 - ldr r1, =gText_BigGirl - bl StringCopy -_08138B3C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138B10 - - thumb_func_start sub_8138B48 -sub_8138B48: @ 8138B48 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08138B6C - ldr r0, =gStringVar1 - ldr r1, =gText_Daughter - bl StringCopy - b _08138B74 - .pool -_08138B6C: - ldr r0, =gStringVar1 - ldr r1, =gText_Son - bl StringCopy -_08138B74: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138B48 - - thumb_func_start sub_8138B80 -sub_8138B80: @ 8138B80 - ldr r0, =gBattleOutcome - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8138B80 - - thumb_func_start sub_8138B8C -sub_8138B8C: @ 8138B8C - push {lr} - sub sp, 0x4 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - beq _08138BB0 - movs r2, 0x1 - negs r2, r2 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r3, 0x6 - bl Overworld_SetWarpDestination - b _08138BC2 - .pool -_08138BB0: - movs r2, 0x1 - negs r2, r2 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x13 - movs r1, 0x1 - movs r3, 0x6 - bl Overworld_SetWarpDestination -_08138BC2: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8138B8C - - thumb_func_start sub_8138BC8 -sub_8138BC8: @ 8138BC8 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138BC8 - - thumb_func_start sub_8138BDC -sub_8138BDC: @ 8138BDC - push {lr} - ldr r0, =gLocalTime - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x7 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - ldr r1, =0x0000270f - cmp r0, r1 - bls _08138BF6 - adds r0, r1, 0 -_08138BF6: - pop {r1} - bx r1 - .pool - thumb_func_end sub_8138BDC - - thumb_func_start sub_8138C04 -sub_8138C04: @ 8138C04 - push {r4,lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xFF - bne _08138C2C - movs r0, 0x6 - b _08138C7E - .pool -_08138C2C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xC7 - bls _08138C3C - movs r0, 0x5 - b _08138C7E -_08138C3C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x95 - bls _08138C4C - movs r0, 0x4 - b _08138C7E -_08138C4C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x63 - bls _08138C5C - movs r0, 0x3 - b _08138C7E -_08138C5C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x31 - bls _08138C6C - movs r0, 0x2 - b _08138C7E -_08138C6C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0 - bne _08138C7C - movs r0, 0 - b _08138C7E -_08138C7C: - movs r0, 0x1 -_08138C7E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8138C04 - - thumb_func_start sub_8138C84 -sub_8138C84: @ 8138C84 - push {lr} - ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music - bl sub_817018C - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138C84 - - thumb_func_start sub_8138C94 -sub_8138C94: @ 8138C94 - push {lr} - ldr r0, =sub_8138C84 - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138C94 - - thumb_func_start sp0D9_ComputerRelated -sp0D9_ComputerRelated: @ 8138CA4 - push {r4,lr} - ldr r4, =sub_8138CE8 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08138CD8 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_08138CD8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sp0D9_ComputerRelated - - thumb_func_start sub_8138CE8 -sub_8138CE8: @ 8138CE8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08138D06 - adds r0, r1, 0 - bl sub_8138D10 -_08138D06: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138CE8 - - thumb_func_start sub_8138D10 -sub_8138D10: @ 8138D10 - push {r4-r6,lr} - adds r4, r0, 0 - movs r6, 0 - movs r5, 0 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bne _08138D7C - strh r5, [r4, 0xE] - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _08138D44 - cmp r0, 0x3 - bgt _08138D3A - cmp r0, 0x2 - beq _08138D40 - b _08138D4C -_08138D3A: - cmp r1, 0x4 - beq _08138D48 - b _08138D4C -_08138D40: - movs r6, 0 - b _08138D4A -_08138D44: - movs r6, 0xFF - b _08138D4A -_08138D48: - movs r6, 0x1 -_08138D4A: - movs r5, 0xFF -_08138D4C: - movs r1, 0x10 - ldrsh r0, [r4, r1] - lsls r1, r6, 24 - asrs r1, 24 - lsls r2, r5, 24 - asrs r2, 24 - bl sub_8138D88 - bl DrawWholeMapView - ldrh r0, [r4, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _08138D7C - ldrb r0, [r4, 0xA] - bl DestroyTask -_08138D7C: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8138D10 - - thumb_func_start sub_8138D88 -sub_8138D88: @ 8138D88 - push {r4,r5,lr} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - movs r3, 0 - lsls r0, 16 - cmp r0, 0 - beq _08138DC4 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08138DAC - movs r3, 0x4 - b _08138DE6 - .pool -_08138DAC: - cmp r0, 0x1 - bne _08138DB8 - ldr r3, =0x0000025a - b _08138DE6 - .pool -_08138DB8: - cmp r0, 0x2 - bne _08138DE6 - ldr r3, =0x00000259 - b _08138DE6 - .pool -_08138DC4: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08138DD4 - movs r3, 0x5 - b _08138DE6 - .pool -_08138DD4: - cmp r0, 0x1 - bne _08138DE0 - ldr r3, =0x0000027f - b _08138DE6 - .pool -_08138DE0: - cmp r0, 0x2 - bne _08138DE6 - ldr r3, =0x0000027e -_08138DE6: - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r5, 0 - ldrsh r0, [r2, r5] - lsls r1, 24 - asrs r1, 24 - adds r0, r1 - adds r0, 0x7 - movs r5, 0x2 - ldrsh r1, [r2, r5] - lsls r2, r4, 24 - asrs r2, 24 - adds r1, r2 - adds r1, 0x7 - movs r4, 0xC0 - lsls r4, 4 - adds r2, r4, 0 - orrs r3, r2 - adds r2, r3, 0 - bl MapGridSetMetatileIdAt - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138D88 - - thumb_func_start sub_8138E20 -sub_8138E20: @ 8138E20 - push {lr} - bl sub_8138E2C - pop {r0} - bx r0 - thumb_func_end sub_8138E20 - - thumb_func_start sub_8138E2C -sub_8138E2C: @ 8138E2C - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 - movs r4, 0 - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _08138E56 - cmp r0, 0x3 - bgt _08138E4C - cmp r0, 0x2 - beq _08138E52 - b _08138E5E -_08138E4C: - cmp r1, 0x4 - beq _08138E5A - b _08138E5E -_08138E52: - movs r6, 0 - b _08138E5C -_08138E56: - movs r6, 0xFF - b _08138E5C -_08138E5A: - movs r6, 0x1 -_08138E5C: - movs r5, 0xFF -_08138E5E: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08138E70 - movs r4, 0x4 - b _08138E82 - .pool -_08138E70: - cmp r0, 0x1 - bne _08138E7C - ldr r4, =0x0000025a - b _08138E82 - .pool -_08138E7C: - cmp r0, 0x2 - bne _08138E82 - ldr r4, =0x00000259 -_08138E82: - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0 - ldrsh r0, [r2, r1] - lsls r1, r6, 24 - asrs r1, 24 - adds r0, r1 - adds r0, 0x7 - movs r3, 0x2 - ldrsh r1, [r2, r3] - lsls r2, r5, 24 - asrs r2, 24 - adds r1, r2 - adds r1, 0x7 - movs r3, 0xC0 - lsls r3, 4 - adds r2, r3, 0 - orrs r4, r2 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138E2C - - thumb_func_start sub_8138EC0 -sub_8138EC0: @ 8138EC0 - push {r4,lr} - ldr r4, =sub_8138F04 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08138EF4 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_08138EF4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138EC0 - - thumb_func_start sub_8138F04 -sub_8138F04: @ 8138F04 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08138F22 - adds r0, r1, 0 - bl sub_8138F2C -_08138F22: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138F04 - - thumb_func_start sub_8138F2C -sub_8138F2C: @ 8138F2C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bne _08138F9A - movs r0, 0 - strh r0, [r4, 0xE] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08138F64 - ldr r2, =0x00000e9d - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, =0x00000ea5 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - b _08138F7A - .pool -_08138F64: - ldr r2, =0x00000e58 - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - movs r2, 0xE6 - lsls r2, 4 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt -_08138F7A: - bl DrawWholeMapView - ldrh r0, [r4, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _08138F9A - ldrb r0, [r4, 0xA] - bl DestroyTask -_08138F9A: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138F2C - - thumb_func_start sub_8138FAC -sub_8138FAC: @ 8138FAC - push {lr} - ldr r2, =0x00000e9d - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, =0x00000ea5 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138FAC - - thumb_func_start sub_8138FD4 -sub_8138FD4: @ 8138FD4 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x000001f5 - strh r0, [r1] - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138FD4 - - thumb_func_start sub_8138FEC -sub_8138FEC: @ 8138FEC - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x000001f5 - strh r0, [r1] - bl FlagClear - pop {r0} - bx r0 - .pool - thumb_func_end sub_8138FEC - - thumb_func_start sub_8139004 -sub_8139004: @ 8139004 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x16 - bl GetMonData - cmp r0, 0xC7 - bls _08139028 - movs r0, 0x1 - b _0813902A - .pool -_08139028: - movs r0, 0 -_0813902A: - pop {r1} - bx r1 - thumb_func_end sub_8139004 - - thumb_func_start sub_8139030 -sub_8139030: @ 8139030 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x17 - bl GetMonData - cmp r0, 0xC7 - bls _08139054 - movs r0, 0x1 - b _08139056 - .pool -_08139054: - movs r0, 0 -_08139056: - pop {r1} - bx r1 - thumb_func_end sub_8139030 - - thumb_func_start sub_813905C -sub_813905C: @ 813905C - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x18 - bl GetMonData - cmp r0, 0xC7 - bls _08139080 - movs r0, 0x1 - b _08139082 - .pool -_08139080: - movs r0, 0 -_08139082: - pop {r1} - bx r1 - thumb_func_end sub_813905C - - thumb_func_start sub_8139088 -sub_8139088: @ 8139088 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x21 - bl GetMonData - cmp r0, 0xC7 - bls _081390AC - movs r0, 0x1 - b _081390AE - .pool -_081390AC: - movs r0, 0 -_081390AE: - pop {r1} - bx r1 - thumb_func_end sub_8139088 - - thumb_func_start sub_81390B4 -sub_81390B4: @ 81390B4 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x2F - bl GetMonData - cmp r0, 0xC7 - bls _081390D8 - movs r0, 0x1 - b _081390DA - .pool -_081390D8: - movs r0, 0 -_081390DA: - pop {r1} - bx r1 - thumb_func_end sub_81390B4 - - thumb_func_start sub_81390E0 -sub_81390E0: @ 81390E0 - push {r4-r6,lr} - movs r5, 0 - ldr r6, =gBaseStats -_081390E6: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _0813913C - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0813913C - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1, 0x6] - cmp r0, 0xC - beq _08139128 - ldrb r0, [r1, 0x7] - cmp r0, 0xC - bne _0813913C -_08139128: - ldr r1, =gScriptResult - movs r0, 0x1 - b _0813914A - .pool -_0813913C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _081390E6 - ldr r1, =gScriptResult - movs r0, 0 -_0813914A: - strh r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81390E0 - - thumb_func_start SpawnScriptFieldObject -SpawnScriptFieldObject: @ 8139158 - push {lr} - sub sp, 0x8 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r3, [r0] - adds r3, 0x7 - lsls r3, 16 - asrs r3, 16 - ldrh r0, [r0, 0x2] - adds r0, 0x7 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0x7 - movs r1, 0x8 - movs r2, 0x7F - bl SpawnSpecialFieldObjectParametrized - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gMapObjects - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x1] - movs r2, 0x20 - orrs r0, r2 - strb r0, [r1, 0x1] - ldrb r0, [r1, 0x4] - bl CameraObjectSetFollowedObjectId - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end SpawnScriptFieldObject - - thumb_func_start RemoveScriptFieldObject -RemoveScriptFieldObject: @ 81391AC - push {lr} - bl GetPlayerAvatarObjectId - lsls r0, 24 - lsrs r0, 24 - bl CameraObjectSetFollowedObjectId - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x7F - bl RemoveFieldObjectByLocalIdAndMap - pop {r0} - bx r0 - .pool - thumb_func_end RemoveScriptFieldObject - - thumb_func_start sub_81391D0 -sub_81391D0: @ 81391D0 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gStringVar1 - bl sub_8137068 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81391D0 - - thumb_func_start sub_8139200 -sub_8139200: @ 8139200 - push {r4,lr} - ldr r4, =gStringVar1 - ldr r0, =0x00004026 - bl VarGet - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - bl GetMapName - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139200 - - thumb_func_start sub_8139228 -sub_8139228: @ 8139228 - push {lr} - movs r0, 0x20 - bl GetGameStat - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_8139228 - - thumb_func_start sub_8139238 -sub_8139238: @ 8139238 - push {lr} - ldr r0, =gStringVar1 - bl GetEreaderTrainerName - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139238 - - thumb_func_start sub_8139248 -sub_8139248: @ 8139248 - push {r4,r5,lr} - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r1, =0x00002e68 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r1, 25 - ldr r0, =0x00002e6a - adds r2, r0 - lsrs r1, 25 - ldrh r2, [r2] - adds r1, r2 - ldr r2, =gUnknown_085B2B88 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r0, r2 - ldrb r0, [r0] - adds r5, r1, r0 - movs r0, 0x2 - bl GetPriceReduction - lsls r0, 24 - cmp r0, 0 - bne _08139294 - ldr r4, =gUnknown_085B2B94 - b _08139296 - .pool -_08139294: - ldr r4, =gUnknown_085B2BA0 -_08139296: - adds r0, r5, 0 - movs r1, 0xC - bl __umodsi3 - adds r0, r4 - ldrb r0, [r0] - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8139248 - - thumb_func_start sub_81392AC -sub_81392AC: @ 81392AC - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x00000213 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081392CC - movs r0, 0x1 - b _081392CE - .pool -_081392CC: - movs r0, 0 -_081392CE: - pop {r1} - bx r1 - thumb_func_end sub_81392AC - - thumb_func_start sub_81392D4 -sub_81392D4: @ 81392D4 - push {lr} - ldr r1, =gSpecialVar_0x8004 - movs r0, 0x85 - lsls r0, 2 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081392F0 - movs r0, 0x1 - b _081392F2 - .pool -_081392F0: - movs r0, 0 -_081392F2: - pop {r1} - bx r1 - thumb_func_end sub_81392D4 - - thumb_func_start sub_81392F8 -sub_81392F8: @ 81392F8 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x00000215 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139318 - movs r0, 0x1 - b _0813931A - .pool -_08139318: - movs r0, 0 -_0813931A: - pop {r1} - bx r1 - thumb_func_end sub_81392F8 - - thumb_func_start sub_8139320 -sub_8139320: @ 8139320 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x00000216 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139340 - movs r0, 0x1 - b _08139342 - .pool -_08139340: - movs r0, 0 -_08139342: - pop {r1} - bx r1 - thumb_func_end sub_8139320 - - thumb_func_start sub_8139348 -sub_8139348: @ 8139348 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x47 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8139348 - - thumb_func_start sub_8139370 -sub_8139370: @ 8139370 - push {r4,lr} - sub sp, 0x4 - movs r0, 0x2A - bl IncrementGameStat - ldr r0, =0x0000089b - bl FlagSet - movs r1, 0x1 - mov r0, sp - strb r1, [r0] - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x47 - mov r2, sp - bl SetMonData - adds r0, r4, 0 - bl GetRibbonCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _081393B6 - adds r0, r4, 0 - movs r1, 0x47 - bl sub_80EE4DC -_081393B6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139370 - - thumb_func_start sub_81393C8 -sub_81393C8: @ 81393C8 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetMonEVCount - lsls r0, 16 - ldr r1, =0x01fd0000 - cmp r0, r1 - bhi _081393F4 - movs r0, 0 - b _081393F6 - .pool -_081393F4: - movs r0, 0x1 -_081393F6: - pop {r1} - bx r1 - thumb_func_end sub_81393C8 - - thumb_func_start sub_81393FC -sub_81393FC: @ 81393FC - push {lr} - movs r0, 0xC7 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08139454 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - movs r0, 0x83 - lsls r0, 3 - cmp r1, r0 - bne _08139454 - subs r0, 0x75 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139434 - ldr r0, =0x0000409a - movs r1, 0x4 - b _08139446 - .pool -_08139434: - movs r0, 0xE9 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139454 - ldr r0, =0x0000409a - movs r1, 0x5 -_08139446: - bl VarSet - movs r0, 0x1 - b _08139456 - .pool -_08139454: - movs r0, 0 -_08139456: - pop {r1} - bx r1 - thumb_func_end sub_81393FC - - thumb_func_start sub_813945C -sub_813945C: @ 813945C - push {lr} - ldr r0, =0x000008bf - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end sub_813945C - - thumb_func_start sub_813946C -sub_813946C: @ 813946C - push {r4,r5,lr} - sub sp, 0x14 - ldr r5, =gPlayerParty - movs r1, 0x90 - lsls r1, 1 - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - adds r0, r5, 0 - movs r2, 0x7 - movs r3, 0x20 - bl CreateMon - movs r1, 0x1 - add r0, sp, 0x10 - strh r1, [r0] - adds r0, r5, 0 - movs r1, 0x2E - add r2, sp, 0x10 - bl SetMonData - add r1, sp, 0x10 - movs r0, 0x21 - strh r0, [r1] - adds r0, r5, 0 - movs r1, 0xD - add r2, sp, 0x10 - bl SetMonData - add r0, sp, 0x10 - strh r4, [r0] - adds r0, r5, 0 - movs r1, 0xE - add r2, sp, 0x10 - bl SetMonData - adds r0, r5, 0 - movs r1, 0xF - add r2, sp, 0x10 - bl SetMonData - adds r0, r5, 0 - movs r1, 0x10 - add r2, sp, 0x10 - bl SetMonData - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813946C - - thumb_func_start sub_81394D8 -sub_81394D8: @ 81394D8 - push {r4-r6,lr} - ldr r0, =0x00004023 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl sub_8133EDC - lsls r0, 16 - lsrs r6, r0, 16 - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _08139526 -_081394FA: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, r6 - bne _0813951C - movs r0, 0x1 - b _08139528 - .pool -_0813951C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _081394FA -_08139526: - movs r0, 0 -_08139528: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81394D8 - - thumb_func_start sub_8139530 -sub_8139530: @ 8139530 - push {lr} - bl sub_80D2218 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8139530 - - thumb_func_start sub_8139540 -sub_8139540: @ 8139540 - push {lr} - ldr r0, =gPlayerParty - movs r1, 0x3F - bl CheckPartyPokerus - lsls r0, 24 - cmp r0, 0 - beq _08139558 - movs r0, 0x1 - b _0813955A - .pool -_08139558: - movs r0, 0 -_0813955A: - pop {r1} - bx r1 - thumb_func_end sub_8139540 - - thumb_func_start sub_8139560 -sub_8139560: @ 8139560 - push {lr} - ldr r0, =sub_81395BC - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - movs r2, 0 - strh r0, [r1, 0x8] - strh r2, [r1, 0xA] - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - strh r0, [r1, 0xC] - ldr r0, =gSpecialVar_0x8007 - ldrh r0, [r0] - strh r0, [r1, 0xE] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - strh r0, [r1, 0x10] - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0xD6 - bl PlaySE - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139560 - - thumb_func_start sub_81395BC -sub_81395BC: @ 81395BC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _08139614 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x4] - subs r0, 0x1 - strh r0, [r4, 0x4] - ldrh r0, [r4] - negs r0, r0 - strh r0, [r4] - ldrh r0, [r4, 0x8] - negs r0, r0 - strh r0, [r4, 0x8] - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x8 - ldrsh r1, [r4, r2] - bl SetCameraPanning - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08139614 - adds r0, r5, 0 - bl sub_8139620 - bl InstallCameraPanAheadCallback -_08139614: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81395BC - - thumb_func_start sub_8139620 -sub_8139620: @ 8139620 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_8139620 - - thumb_func_start sub_8139634 -sub_8139634: @ 8139634 - push {lr} - movs r0, 0x95 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8139634 - - thumb_func_start sub_8139648 -sub_8139648: @ 8139648 - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_light_level_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08139664 - movs r0, 0x14 - bl SetSav1Weather -_08139664: - pop {r0} - bx r0 - thumb_func_end sub_8139648 - - thumb_func_start sub_8139668 -sub_8139668: @ 8139668 - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_light_level_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08139684 - movs r0, 0x15 - bl SetSav1Weather -_08139684: - pop {r0} - bx r0 - thumb_func_end sub_8139668 - - thumb_func_start GetLeadMonIndex -GetLeadMonIndex: @ 8139688 - push {r4-r6,lr} - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - cmp r5, r6 - bcs _081396D6 -_08139698: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _081396CC - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _081396CC - adds r0, r5, 0 - b _081396D8 - .pool -_081396CC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r6 - bcc _08139698 -_081396D6: - movs r0, 0 -_081396D8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetLeadMonIndex - - thumb_func_start sub_81396E0 -sub_81396E0: @ 81396E0 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81396E0 - - thumb_func_start nullsub_54 -nullsub_54: @ 8139708 - bx lr - thumb_func_end nullsub_54 - - thumb_func_start sub_813970C -sub_813970C: @ 813970C - push {r4,lr} - ldr r0, =0x000040c2 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - adds r3, r0, 0 - ldr r2, =gLocalTime - movs r1, 0 - ldrsh r0, [r2, r1] - subs r0, r3 - cmp r0, 0x6 - ble _08139734 - movs r0, 0 - b _0813974C - .pool -_08139734: - ldrh r1, [r2] - movs r4, 0 - ldrsh r0, [r2, r4] - cmp r0, 0 - blt _0813974A - subs r1, r3 - movs r0, 0x7 - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - b _0813974C -_0813974A: - movs r0, 0x8 -_0813974C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813970C - - thumb_func_start sub_8139754 -sub_8139754: @ 8139754 - push {r4,lr} - ldr r0, =0x000040c2 - ldr r4, =gLocalTime - ldrh r1, [r4] - bl VarSet - ldrh r0, [r4] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8139754 - - thumb_func_start sub_8139770 -sub_8139770: @ 8139770 - push {r4-r6,lr} - ldr r6, =gSpecialVar_0x8004 - ldrh r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x3 - bl GetMonData - cmp r0, 0x2 - bne _081397A6 - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - ldr r4, =gStringVar1 - movs r1, 0x7 - adds r2, r4, 0 - bl GetMonData - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r1, r4, 0 - bl StringCompare - cmp r0, 0 - beq _081397BC -_081397A6: - movs r0, 0x1 - b _081397BE - .pool -_081397BC: - movs r0, 0 -_081397BE: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8139770 - - thumb_func_start sub_81397C4 -sub_81397C4: @ 81397C4 - push {r4,r5,lr} - ldr r2, =gScriptResult - ldrh r1, [r2] - ldr r0, =0x0000270f - cmp r1, r0 - bls _081397E0 - movs r0, 0 - bl TV_PrintIntToStringVar - b _08139862 - .pool -_081397E0: - ldr r0, =0x000003e7 - cmp r1, r0 - bls _081397F8 - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - adds r4, 0x1 - b _0813981C - .pool -_081397F8: - cmp r1, 0x63 - bls _0813980C - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - adds r4, 0x2 - b _0813981C - .pool -_0813980C: - cmp r1, 0x9 - bls _0813983C - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - adds r4, 0x3 -_0813981C: - ldrh r5, [r2] - adds r0, r5, 0 - bl sub_80EF370 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN - b _08139862 - .pool -_0813983C: - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - strb r0, [r4, 0x3] - adds r4, 0x4 - ldrh r5, [r2] - adds r0, r5, 0 - bl sub_80EF370 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN -_08139862: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81397C4 - - thumb_func_start sub_813986C -sub_813986C: @ 813986C - push {lr} - ldr r0, =gScriptResult - ldrh r0, [r0] - cmp r0, 0x4 - bhi _081398B8 - lsls r0, 2 - ldr r1, =_08139888 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08139888: - .4byte _0813989C - .4byte _081398A0 - .4byte _081398A4 - .4byte _081398A8 - .4byte _081398AC -_0813989C: - movs r0, 0x3 - b _081398AE -_081398A0: - movs r0, 0x4 - b _081398AE -_081398A4: - movs r0, 0 - b _081398AE -_081398A8: - movs r0, 0x1 - b _081398AE -_081398AC: - movs r0, 0x2 -_081398AE: - bl mevent_081445C0 - lsls r0, 16 - lsrs r0, 16 - b _081398BA -_081398B8: - movs r0, 0 -_081398BA: - pop {r1} - bx r1 - thumb_func_end sub_813986C - - thumb_func_start sub_81398C0 -sub_81398C0: @ 81398C0 - push {r4,lr} - ldr r1, =gSpecialVar_0x8004 - ldr r2, =0xfffffedf - adds r0, r2, 0 - ldrh r2, [r1] - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x39 - bls _081398E0 - movs r0, 0 - b _081398FC - .pool -_081398E0: - ldr r4, =gStringVar2 - ldrh r0, [r1] - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xD - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - movs r0, 0x1 -_081398FC: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81398C0 - - thumb_func_start sub_813990C -sub_813990C: @ 813990C - push {r4,r5,lr} - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _08139942 -_0813991C: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x4 - bl GetMonData - cmp r0, 0x1 - bne _08139938 - movs r0, 0x1 - b _08139944 - .pool -_08139938: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _0813991C -_08139942: - movs r0, 0 -_08139944: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_813990C - - thumb_func_start InMultiBattleRoom -InMultiBattleRoom: @ 813994C - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00000f1a - cmp r1, r0 - bne _08139978 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _08139978 - movs r0, 0x1 - b _0813997A - .pool -_08139978: - movs r0, 0 -_0813997A: - pop {r1} - bx r1 - thumb_func_end InMultiBattleRoom - - thumb_func_start sub_8139980 -sub_8139980: @ 8139980 - push {lr} - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0x8 - movs r1, 0 - bl SetCameraPanning - pop {r0} - bx r0 - thumb_func_end sub_8139980 - - thumb_func_start sub_8139994 -sub_8139994: @ 8139994 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x15] - subs r0, 0x10 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x5 - bhi _081399E4 - lsls r0, 2 - ldr r1, =_081399B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081399B8: - .4byte _081399E4 - .4byte _081399D0 - .4byte _081399D4 - .4byte _081399D8 - .4byte _081399DC - .4byte _081399E0 -_081399D0: - movs r1, 0x5 - b _081399E6 -_081399D4: - movs r1, 0x6 - b _081399E6 -_081399D8: - movs r1, 0x7 - b _081399E6 -_081399DC: - movs r1, 0x8 - b _081399E6 -_081399E0: - movs r1, 0xF - b _081399E6 -_081399E4: - movs r1, 0x4 -_081399E6: - ldr r0, =0x00004043 - bl VarSet - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139994 - - thumb_func_start sub_81399F4 -sub_81399F4: @ 81399F4 - push {r4,lr} - ldr r2, =gUnknown_0203AB60 - movs r0, 0 - strh r0, [r2] - ldr r1, =gUnknown_0203AB62 - strh r0, [r1] - ldr r0, =gSaveBlock1Ptr - ldr r3, [r0] - movs r0, 0x14 - ldrsb r0, [r3, r0] - adds r4, r1, 0 - cmp r0, 0xD - bne _08139A6E - ldrb r0, [r3, 0x15] - subs r0, 0x10 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - bhi _08139A6E - lsls r0, 2 - ldr r1, =_08139A34 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08139A34: - .4byte _08139A66 - .4byte _08139A5E - .4byte _08139A56 - .4byte _08139A4E - .4byte _08139A48 -_08139A48: - movs r0, 0 - strh r0, [r2] - b _08139A6C -_08139A4E: - movs r0, 0 - strh r0, [r2] - movs r0, 0x1 - b _08139A6C -_08139A56: - movs r0, 0 - strh r0, [r2] - movs r0, 0x2 - b _08139A6C -_08139A5E: - movs r0, 0 - strh r0, [r2] - movs r0, 0x3 - b _08139A6C -_08139A66: - movs r0, 0 - strh r0, [r2] - movs r0, 0x4 -_08139A6C: - strh r0, [r4] -_08139A6E: - ldrh r0, [r4] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81399F4 - - thumb_func_start sub_8139A78 -sub_8139A78: @ 8139A78 - push {r4-r6,lr} - ldr r0, =sub_8139AF4 - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - movs r3, 0 - strh r3, [r4, 0x2] - strh r3, [r4, 0x4] - movs r6, 0x1 - strh r6, [r4, 0x8] - ldr r0, =gSpecialVar_0x8005 - ldr r1, =gSpecialVar_0x8006 - ldrh r2, [r0] - ldrh r0, [r1] - cmp r2, r0 - bls _08139AC0 - subs r0, r2, r0 - lsls r0, 16 - lsrs r5, r0, 16 - strh r6, [r4, 0xC] - b _08139AC8 - .pool -_08139AC0: - subs r0, r2 - lsls r0, 16 - lsrs r5, r0, 16 - strh r3, [r4, 0xC] -_08139AC8: - cmp r5, 0x8 - bls _08139ACE - movs r5, 0x8 -_08139ACE: - ldr r0, =gUnknown_085B2C18 - adds r0, r5, r0 - ldrb r0, [r0] - strh r0, [r4, 0xA] - movs r0, 0 - bl SetCameraPanningCallback - ldrb r1, [r4, 0xC] - adds r0, r5, 0 - bl sub_8139C2C - movs r0, 0x59 - bl PlaySE - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139A78 - - thumb_func_start sub_8139AF4 -sub_8139AF4: @ 8139AF4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _08139B54 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - ldrh r0, [r4, 0x8] - negs r0, r0 - strh r0, [r4, 0x8] - movs r2, 0x8 - ldrsh r1, [r4, r2] - movs r0, 0 - bl SetCameraPanning - movs r0, 0x4 - ldrsh r1, [r4, r0] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08139B54 - movs r0, 0x49 - bl PlaySE - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts - bl InstallCameraPanAheadCallback -_08139B54: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139AF4 - - thumb_func_start sub_8139B60 -sub_8139B60: @ 8139B60 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0xC - ldr r5, =gUnknown_0203AB5E - ldr r0, =gUnknown_085B2BAC - bl AddWindow - strb r0, [r5] - ldrb r0, [r5] - movs r1, 0 - bl SetStandardWindowBorderStyle - ldr r4, =gText_ElevatorNowOn - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - ldrb r0, [r5] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - mov r9, r1 - str r1, [sp, 0x4] - movs r1, 0 - mov r8, r1 - str r1, [sp, 0x8] - movs r1, 0x1 - adds r2, r4, 0 - bl PrintTextOnWindow - ldr r6, =gUnknown_085B2BB4 - ldr r4, =gSpecialVar_0x8005 - ldrh r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - movs r0, 0x1 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - ldrb r0, [r5] - ldrh r1, [r4] - lsls r1, 2 - adds r1, r6 - ldr r2, [r1] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x11 - str r1, [sp] - mov r1, r9 - str r1, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - movs r1, 0x1 - bl PrintTextOnWindow - ldrb r0, [r5] - bl PutWindowTilemap - ldrb r0, [r5] - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139B60 - - thumb_func_start sub_8139C10 -sub_8139C10: @ 8139C10 - push {r4,lr} - ldr r4, =gUnknown_0203AB5E - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139C10 - - thumb_func_start sub_8139C2C -sub_8139C2C: @ 8139C2C - push {r4-r6,lr} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r4, =sub_8139C80 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08139C6C - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - strh r5, [r1, 0xC] - ldr r0, =gUnknown_085B2C21 - adds r0, r6, r0 - ldrb r0, [r0] - strh r0, [r1, 0xE] -_08139C6C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139C2C - - thumb_func_start sub_8139C80 -sub_8139C80: @ 8139C80 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - lsls r0, 2 - ldr r1, [sp] - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - movs r2, 0x2 - ldrsh r0, [r6, r2] - cmp r0, 0x6 - bne _08139D7C - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _08139D10 - movs r1, 0 - ldr r2, =gUnknown_085B2BF4 - mov r10, r2 -_08139CBA: - movs r5, 0 - adds r7, r1, 0x7 - lsls r0, r1, 1 - adds r2, r1, 0x1 - mov r8, r2 - adds r0, r1 - lsls r0, 1 - mov r9, r0 -_08139CCA: - adds r4, r5, 0 - adds r4, 0x8 - movs r1, 0 - ldrsh r0, [r6, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 15 - add r0, r9 - add r0, r10 - ldrh r0, [r0] - movs r1, 0xC0 - lsls r1, 4 - adds r2, r1, 0 - orrs r2, r0 - adds r0, r4, 0 - adds r1, r7, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08139CCA - mov r2, r8 - lsls r0, r2, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _08139CBA - b _08139D62 - .pool -_08139D10: - movs r1, 0 - ldr r0, =gUnknown_085B2C06 - mov r10, r0 -_08139D16: - movs r5, 0 - adds r7, r1, 0x7 - lsls r0, r1, 1 - adds r2, r1, 0x1 - mov r8, r2 - adds r0, r1 - lsls r0, 1 - mov r9, r0 -_08139D26: - adds r4, r5, 0 - adds r4, 0x8 - movs r1, 0 - ldrsh r0, [r6, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 15 - add r0, r9 - add r0, r10 - ldrh r0, [r0] - movs r1, 0xC0 - lsls r1, 4 - adds r2, r1, 0 - orrs r2, r0 - adds r0, r4, 0 - adds r1, r7, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08139D26 - mov r2, r8 - lsls r0, r2, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _08139D16 -_08139D62: - bl DrawWholeMapView - movs r0, 0 - strh r0, [r6, 0x2] - movs r0, 0 - ldrsh r1, [r6, r0] - movs r2, 0x6 - ldrsh r0, [r6, r2] - cmp r1, r0 - bne _08139D7C - ldr r0, [sp] - bl DestroyTask -_08139D7C: - ldrh r0, [r6, 0x2] - adds r0, 0x1 - strh r0, [r6, 0x2] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139C80 - - thumb_func_start sub_8139D98 -sub_8139D98: @ 8139D98 - push {r4-r7,lr} - sub sp, 0x18 - ldr r6, =gSpecialVar_0x8004 - ldrh r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x27 - bl GetMonData - str r0, [sp] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x28 - bl GetMonData - str r0, [sp, 0x4] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x29 - bl GetMonData - str r0, [sp, 0x8] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x2A - bl GetMonData - str r0, [sp, 0xC] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x2B - bl GetMonData - str r0, [sp, 0x10] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x2C - bl GetMonData - str r0, [sp, 0x14] - ldr r1, =gSpecialVar_0x8005 - movs r0, 0 - strh r0, [r1] - movs r4, 0 - adds r2, r1, 0 -_08139E00: - lsls r0, r4, 2 - add r0, sp - ldr r1, [r0] - ldrh r0, [r2] - adds r0, r1 - strh r0, [r2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _08139E00 - ldr r2, =gSpecialVar_0x8006 - movs r0, 0 - strh r0, [r2] - ldr r1, =gSpecialVar_0x8007 - ldr r0, [sp] - strh r0, [r1] - movs r4, 0x1 - adds r6, r2, 0 - adds r7, r1, 0 -_08139E28: - ldrh r0, [r6] - lsls r0, 2 - mov r2, sp - adds r1, r2, r0 - lsls r0, r4, 2 - adds r5, r2, r0 - ldr r1, [r1] - ldr r0, [r5] - cmp r1, r0 - bcs _08139E54 - strh r4, [r6] - b _08139E6C - .pool -_08139E54: - cmp r1, r0 - bne _08139E6E - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08139E6E - strh r4, [r6] - ldr r0, [r5] -_08139E6C: - strh r0, [r7] -_08139E6E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _08139E28 - add sp, 0x18 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8139D98 - - thumb_func_start warp0_in_pokecenter -warp0_in_pokecenter: @ 8139E80 - push {r4,lr} - ldr r0, =gUnknown_020322DC - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r1, 8 - ldrb r0, [r0, 0x1] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r2, =gUnknown_085B2C2A - ldrh r0, [r2] - ldr r1, =0x0000ffff - cmp r0, r1 - beq _08139EC6 - adds r4, r1, 0 - adds r1, r2, 0 -_08139EA4: - ldrh r0, [r2] - cmp r0, r3 - bne _08139EBC - movs r0, 0x1 - b _08139EC8 - .pool -_08139EBC: - adds r1, 0x2 - adds r2, 0x2 - ldrh r0, [r1] - cmp r0, r4 - bne _08139EA4 -_08139EC6: - movs r0, 0 -_08139EC8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end warp0_in_pokecenter - - thumb_func_start sub_8139ED0 -sub_8139ED0: @ 8139ED0 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00003c1a - cmp r1, r0 - beq _08139EEC - movs r0, 0x1 - b _08139EEE - .pool -_08139EEC: - movs r0, 0 -_08139EEE: - pop {r1} - bx r1 - thumb_func_end sub_8139ED0 - - thumb_func_start sub_8139EF4 -sub_8139EF4: @ 8139EF4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x0000402f - bl GetVarPointer - adds r5, r0, 0 - ldrh r0, [r5] - adds r4, r0 - strh r4, [r5] - ldrh r0, [r5] - movs r1, 0xA - bl __umodsi3 - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139EF4 - - thumb_func_start sub_8139F20 -sub_8139F20: @ 8139F20 - push {r4-r7,lr} - movs r4, 0 - ldr r0, =0x0000402f - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x9 - bls _08139F34 - b _0813A03A -_08139F34: - lsls r0, r6, 2 - ldr r1, =_08139F48 - adds r1, r0, r1 - ldr r1, [r1] - adds r2, r0, 0 - mov pc, r1 - .pool - .align 2, 0 -_08139F48: - .4byte _08139F70 - .4byte _08139F70 - .4byte _08139F70 - .4byte _08139F70 - .4byte _08139F94 - .4byte _08139FB4 - .4byte _08139FCC - .4byte _08139FE4 - .4byte _08139FFC - .4byte _0813A014 -_08139F70: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - movs r3, 0xCE - lsls r3, 4 - adds r1, r0, r3 - adds r3, r1, r2 - ldr r1, =0x00000ce2 - adds r0, r1 - adds r1, r0, r2 - ldrh r0, [r3] - ldrh r2, [r1] - cmp r0, r2 - bcs _0813A028 - b _0813A038 - .pool -_08139F94: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r3, =0x00000d0c - adds r2, r0, r3 - adds r3, 0x2 -_08139F9E: - adds r1, r0, r3 - ldrh r0, [r2] - ldrh r3, [r1] - cmp r0, r3 - bcs _0813A028 - b _0813A038 - .pool -_08139FB4: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000de2 - adds r2, r0, r1 - ldr r3, =0x00000de4 - b _08139F9E - .pool -_08139FCC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000dc8 - adds r2, r0, r1 - ldr r3, =0x00000dca - b _08139F9E - .pool -_08139FE4: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000dda - adds r2, r0, r1 - ldr r3, =0x00000ddc - b _08139F9E - .pool -_08139FFC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000e04 - adds r2, r0, r1 - ldr r3, =0x00000e06 - b _08139F9E - .pool -_0813A014: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000e1a - adds r2, r0, r1 - ldr r3, =0x00000e1c - adds r1, r0, r3 - ldrh r0, [r2] - ldrh r3, [r1] - cmp r0, r3 - bcc _0813A038 -_0813A028: - adds r4, r0, 0 - b _0813A03A - .pool -_0813A038: - ldrh r4, [r1] -_0813A03A: - movs r2, 0 - ldr r5, =gUnknown_085B2CC8 - lsls r0, r6, 1 - adds r1, r0, r5 - ldrb r1, [r1] - adds r3, r0, 0 - ldr r7, =gUnknown_085B2C50 - cmp r1, r4 - bcs _0813A062 - adds r1, r3, 0 -_0813A04E: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1 - bhi _0813A062 - adds r0, r2, r1 - adds r0, r5 - ldrb r0, [r0] - cmp r0, r4 - bcc _0813A04E -_0813A062: - adds r0, r3, r6 - adds r0, r2 - lsls r0, 2 - adds r0, r7 - ldr r0, [r0] - bl ShowFieldMessage - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139F20 - - thumb_func_start sub_813A080 -sub_813A080: @ 813A080 - push {r4-r7,lr} - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r4, r0, 30 - cmp r5, 0x2 - bne _0813A0D8 - movs r0, 0xA9 - lsls r0, 1 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0813A0D8 - ldr r1, =gSpecialVar_0x8005 - movs r0, 0x5 - strh r0, [r1] - ldr r1, =gSpecialVar_0x8006 - movs r0, 0x4 - strh r0, [r1] - b _0813A110 - .pool -_0813A0D0: - movs r0, 0x4 - strh r0, [r6] - adds r0, r3, 0x5 - b _0813A10E -_0813A0D8: - movs r3, 0 - ldr r6, =gSpecialVar_0x8005 - ldr r7, =gSpecialVar_0x8006 - lsls r1, r4, 1 - lsls r2, r5, 2 - ldr r4, =gUnknown_085B2CDC - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r1, r2 - movs r2, 0xCE - lsls r2, 4 - adds r0, r2 - adds r0, r1 - ldrh r1, [r0] -_0813A0F4: - lsls r0, r3, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r0, r1 - bhi _0813A0D0 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x8 - bls _0813A0F4 - movs r0, 0x4 - strh r0, [r6] - movs r0, 0xC -_0813A10E: - strh r0, [r7] -_0813A110: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A080 - - thumb_func_start sub_813A128 -sub_813A128: @ 813A128 - push {r4,lr} - ldr r0, =sub_813A2DC - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r3, r0, r1 - ldr r1, =gSpecialVar_0x8004 - ldrh r0, [r1] - strh r0, [r3, 0x1E] - ldrh r0, [r1] - cmp r0, 0xC - bls _0813A14E - b _0813A2C6 -_0813A14E: - lsls r0, 2 - ldr r1, =_0813A168 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813A168: - .4byte _0813A19C - .4byte _0813A1AA - .4byte _0813A1C2 - .4byte _0813A1D6 - .4byte _0813A1F0 - .4byte _0813A208 - .4byte _0813A222 - .4byte _0813A23C - .4byte _0813A25A - .4byte _0813A274 - .4byte _0813A274 - .4byte _0813A28E - .4byte _0813A2A8 -_0813A19C: - movs r1, 0 - movs r0, 0x1 - strh r0, [r3, 0x8] - strh r0, [r3, 0xA] - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - b _0813A2BC -_0813A1AA: - movs r1, 0 - movs r0, 0x5 - strh r0, [r3, 0x8] - movs r0, 0x8 - strh r0, [r3, 0xA] - movs r0, 0x1 - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - movs r0, 0x9 - strh r0, [r3, 0x10] - movs r0, 0xA - b _0813A2BE -_0813A1C2: - movs r2, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r1, 0xC - strh r1, [r3, 0xA] - movs r0, 0x1 - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - movs r0, 0x7 - b _0813A250 -_0813A1D6: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xB - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A1F0: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A208: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0x7 - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A222: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xA - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A23C: - movs r2, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r1, 0xC - strh r1, [r3, 0xA] - movs r0, 0xF - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xE -_0813A250: - strh r0, [r3, 0x10] - strh r1, [r3, 0x12] - strh r2, [r3, 0x14] - strh r4, [r3, 0x26] - b _0813A2D2 -_0813A25A: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xA - strh r0, [r3, 0xA] - movs r0, 0x11 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xB - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A274: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xB - strh r0, [r3, 0xA] - movs r0, 0xF - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xE - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A28E: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0x7 - strh r0, [r3, 0xA] - movs r0, 0x13 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xA - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A2A8: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0x7 - strh r0, [r3, 0xA] - movs r0, 0x11 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xC -_0813A2BC: - strh r0, [r3, 0x10] -_0813A2BE: - strh r0, [r3, 0x12] - strh r1, [r3, 0x14] - strh r4, [r3, 0x26] - b _0813A2D2 -_0813A2C6: - ldr r1, =gScriptResult - movs r0, 0x7F - strh r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_0813A2D2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A128 - - thumb_func_start sub_813A2DC -sub_813A2DC: @ 813A2DC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x20 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - bl ScriptContext2_Enable - ldr r0, =gUnknown_0203AB68 - movs r5, 0 - strh r5, [r0] - ldr r1, =gUnknown_0203AB6C - movs r0, 0x40 - strb r0, [r1] - ldrh r0, [r6, 0x1E] - movs r1, 0 - bl sub_813AA60 - ldrb r0, [r6, 0x1E] - movs r1, 0 - bl sub_813ACE8 - ldr r4, =gUnknown_0203AB64 - movs r1, 0xA - ldrsh r0, [r6, r1] - lsls r0, 3 - bl AllocZeroed - str r0, [r4] - ldr r0, =gUnknown_0203AB6A - strh r5, [r0] - bl sub_813A42C - movs r3, 0 - movs r4, 0 - movs r2, 0xA - ldrsh r0, [r6, r2] - add r1, sp, 0x18 - mov r8, r1 - cmp r3, r0 - bge _0813A36A - ldr r5, =gUnknown_085B2CF0 -_0813A33A: - lsls r1, r4, 2 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r1, r5 - ldr r0, [r1] - ldr r1, =gUnknown_0203AB64 - ldr r2, [r1] - lsls r1, r4, 3 - adds r1, r2 - str r0, [r1] - str r4, [r1, 0x4] - adds r1, r3, 0 - bl display_text_and_get_width - adds r3, r0, 0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - movs r2, 0xA - ldrsh r0, [r6, r2] - cmp r4, r0 - blt _0813A33A -_0813A36A: - adds r0, r3, 0 - bl convert_pixel_width_to_tile_width - strh r0, [r6, 0x10] - movs r1, 0xC - ldrsh r0, [r6, r1] - movs r2, 0x10 - ldrsh r1, [r6, r2] - adds r0, r1 - cmp r0, 0x1D - ble _0813A38C - movs r0, 0x1D - subs r0, r1 - cmp r0, 0 - bge _0813A38A - movs r0, 0 -_0813A38A: - strh r0, [r6, 0xC] -_0813A38C: - ldrb r2, [r6, 0xC] - ldrb r3, [r6, 0xE] - ldrb r0, [r6, 0x10] - str r0, [sp] - ldrb r0, [r6, 0x12] - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0x64 - str r0, [sp, 0xC] - add r0, sp, 0x10 - movs r1, 0 - bl sub_8198A50 - ldr r0, [sp, 0x10] - ldr r1, [sp, 0x14] - str r0, [sp, 0x18] - str r1, [sp, 0x1C] - mov r0, r8 - bl AddWindow - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x22] - movs r1, 0 - bl SetStandardWindowBorderStyle - ldr r4, =gUnknown_030061D0 - ldrh r0, [r6, 0xA] - strh r0, [r4, 0xC] - ldrh r0, [r6, 0x8] - strh r0, [r4, 0xE] - ldrh r0, [r6, 0x22] - strb r0, [r4, 0x10] - adds r0, r7, 0 - bl sub_813A694 - ldrh r1, [r6, 0x16] - ldrh r2, [r6, 0x18] - adds r0, r4, 0 - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x24] - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_813A4EC - str r1, [r0] - add sp, 0x20 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A2DC - - thumb_func_start sub_813A42C -sub_813A42C: @ 813A42C - ldr r1, =gUnknown_030061D0 - ldr r0, =gUnknown_0203AB64 - ldr r0, [r0] - str r0, [r1] - ldr r0, =sub_813A46C - str r0, [r1, 0x4] - movs r0, 0 - str r0, [r1, 0x8] - movs r2, 0 - movs r0, 0x1 - strh r0, [r1, 0xC] - strh r0, [r1, 0xE] - strb r2, [r1, 0x10] - strb r2, [r1, 0x11] - movs r0, 0x8 - strb r0, [r1, 0x12] - strb r2, [r1, 0x13] - movs r0, 0x21 - strb r0, [r1, 0x14] - movs r0, 0x31 - strb r0, [r1, 0x15] - movs r0, 0 - strb r0, [r1, 0x16] - movs r0, 0x1 - strb r0, [r1, 0x17] - bx lr - .pool - thumb_func_end sub_813A42C - - thumb_func_start sub_813A46C -sub_813A46C: @ 813A46C - push {r4,r5,lr} - sub sp, 0x4 - movs r0, 0x5 - bl PlaySE - ldr r0, =sub_813A4EC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0813A4D4 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - movs r2, 0 - bl get_coro_args_x18_x1A - ldr r1, =gUnknown_0203AB68 - mov r0, sp - ldrh r0, [r0] - strh r0, [r1] - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - bl sub_81AE838 - ldrh r0, [r4, 0x1E] - ldr r5, =gUnknown_0203AB6A - ldrh r1, [r5] - bl sub_813AC44 - ldrh r0, [r4, 0x1E] - mov r1, sp - ldrh r1, [r1] - bl sub_813AA60 - ldrb r0, [r4, 0x1E] - mov r1, sp - ldrh r1, [r1] - bl sub_813AD34 - mov r0, sp - ldrh r0, [r0] - strh r0, [r5] -_0813A4D4: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A46C - - thumb_func_start sub_813A4EC -sub_813A4EC: @ 813A4EC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - ldrh r0, [r6, 0x24] - lsls r0, 24 - lsrs r0, 24 - bl ListMenuHandleInput - adds r4, r0, 0 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _0813A51C - adds r0, 0x1 - cmp r4, r0 - bne _0813A530 - b _0813A566 - .pool -_0813A51C: - ldr r1, =gScriptResult - movs r0, 0x7F - strh r0, [r1] - movs r0, 0x5 - bl PlaySE - b _0813A54C - .pool -_0813A530: - ldr r0, =gScriptResult - strh r4, [r0] - movs r0, 0x5 - bl PlaySE - movs r1, 0x14 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _0813A54C - movs r1, 0xA - ldrsh r0, [r6, r1] - subs r0, 0x1 - cmp r4, r0 - bne _0813A558 -_0813A54C: - adds r0, r5, 0 - bl sub_813A570 - b _0813A566 - .pool -_0813A558: - adds r0, r5, 0 - bl sub_813A738 - ldr r0, =sub_813A600 - str r0, [r6] - bl EnableBothScriptContexts -_0813A566: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A4EC - - thumb_func_start sub_813A570 -sub_813A570: @ 813A570 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - bl sub_81AE838 - ldrh r0, [r4, 0x1E] - mov r1, sp - ldrh r1, [r1] - bl sub_813AC44 - adds r0, r5, 0 - bl sub_813A738 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0 - bl sub_81AE6C8 - ldr r0, =gUnknown_0203AB64 - ldr r0, [r0] - bl Free - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_8198070 - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl CopyWindowToVram - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A570 - - thumb_func_start sub_813A600 -sub_813A600: @ 813A600 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x14 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _0813A624 - cmp r0, 0x2 - bne _0813A624 - movs r0, 0x1 - strh r0, [r1, 0x14] - ldr r0, =sub_813A664 - str r0, [r1] -_0813A624: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A600 - - thumb_func_start sub_813A630 -sub_813A630: @ 813A630 - push {lr} - ldr r0, =sub_813A600 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - bne _0813A64C - bl EnableBothScriptContexts - b _0813A65C - .pool -_0813A64C: - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x14] - adds r0, 0x1 - strh r0, [r1, 0x14] -_0813A65C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A630 - - thumb_func_start sub_813A664 -sub_813A664: @ 813A664 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ScriptContext2_Enable - adds r0, r4, 0 - bl sub_813A694 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_813A4EC - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A664 - - thumb_func_start sub_813A694 -sub_813A694: @ 813A694 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - mov r1, sp - ldr r0, =gUnknown_085B3030 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r0, [r0] - str r0, [r1] - movs r0, 0x8 - ldrsh r1, [r4, r0] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - beq _0813A724 - mov r2, sp - movs r3, 0x10 - ldrsh r1, [r4, r3] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - lsls r1, 3 - adds r1, 0xC - movs r5, 0xC - ldrsh r0, [r4, r5] - subs r0, 0x1 - lsls r0, 3 - adds r1, r0 - movs r3, 0 - strb r1, [r2, 0x1] - mov r1, sp - movs r0, 0x8 - strb r0, [r1, 0x2] - movs r0, 0x10 - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - lsls r1, 3 - adds r1, 0xC - movs r5, 0xC - ldrsh r0, [r4, r5] - subs r0, 0x1 - lsls r0, 3 - adds r1, r0 - strb r1, [r2, 0x4] - mov r1, sp - movs r2, 0x12 - ldrsh r0, [r4, r2] - lsls r0, 3 - adds r0, 0xA - strb r0, [r1, 0x5] - mov r0, sp - strh r3, [r0, 0x6] - mov r2, sp - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x8] - subs r0, r1 - strh r0, [r2, 0x8] - ldr r1, =gUnknown_0203AB68 - mov r0, sp - bl AddScrollIndicatorArrowPair - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] -_0813A724: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A694 - - thumb_func_start sub_813A738 -sub_813A738: @ 813A738 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r2, r1, r0 - movs r0, 0x8 - ldrsh r1, [r2, r0] - movs r3, 0xA - ldrsh r0, [r2, r3] - cmp r1, r0 - beq _0813A75E - ldrh r0, [r2, 0x20] - lsls r0, 24 - lsrs r0, 24 - bl RemoveScrollIndicatorArrowPair -_0813A75E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A738 - - thumb_func_start nullsub_55 -nullsub_55: @ 813A768 - bx lr - thumb_func_end nullsub_55 - - thumb_func_start sub_813A76C -sub_813A76C: @ 813A76C - push {r4-r6,lr} - movs r4, 0 - ldr r6, =gLinkPlayers - ldr r0, =0x0000401f - adds r5, r0, 0 -_0813A776: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x13] - cmp r0, 0 - bne _0813A79C - subs r0, r5, r4 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl VarSet - b _0813A7A8 - .pool -_0813A79C: - subs r0, r5, r4 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x69 - bl VarSet -_0813A7A8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0813A776 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813A76C - - thumb_func_start sub_813A7B8 -sub_813A7B8: @ 813A7B8 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldrh r0, [r1] - cmp r0, 0x5 - bls _0813A7C6 - movs r0, 0 - strh r0, [r1] -_0813A7C6: - ldrh r1, [r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetNature - lsls r0, 24 - ldr r1, =gUnknown_085B3040 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bl ShowFieldMessage - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A7B8 - - thumb_func_start sub_813A7F4 -sub_813A7F4: @ 813A7F4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x00004030 - bl GetVarPointer - adds r5, r0, 0 - ldrh r0, [r5] - adds r4, r0 - strh r4, [r5] - ldrh r0, [r5] - movs r1, 0xC - bl __umodsi3 - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A7F4 - - thumb_func_start sub_813A820 -sub_813A820: @ 813A820 - push {r4,lr} - ldr r0, =0x00004030 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r1, =gUnknown_085B30A4 - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - bl ShowFieldMessage - ldr r0, =0x00004031 - adds r1, r4, 0 - bl VarSet - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A820 - - thumb_func_start sub_813A854 -sub_813A854: @ 813A854 - push {r4,lr} - ldr r4, =gUnknown_085B30D4 - ldr r0, =0x00004031 - bl VarGet - lsls r0, 16 - lsrs r0, 14 - adds r0, r4 - ldr r0, [r0] - bl ShowFieldMessage - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A854 - - thumb_func_start sub_813A878 -sub_813A878: @ 813A878 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, =0x00004031 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =0x000040cf - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r4, =0x00004033 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0813A8F0 - ldr r1, =gUnknown_085B3104 - lsls r0, r6, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r0, r5, 8 - adds r0, r7 - cmp r1, r0 - bne _0813A8F0 - mov r0, r8 - cmp r0, 0 - beq _0813A8E8 - adds r0, r4, 0 - movs r1, 0x2 - bl VarSet - b _0813A8F0 - .pool -_0813A8E8: - adds r0, r4, 0 - movs r1, 0x3 - bl VarSet -_0813A8F0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_813A878 - - thumb_func_start sub_813A8FC -sub_813A8FC: @ 813A8FC - push {lr} - sub sp, 0x2C - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000eb8 - adds r0, r1 - ldrh r1, [r0] - add r0, sp, 0xC - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - ldr r1, =gText_BP - bl StringCopy - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0x30 - bl GetStringRightAlignXOffset - adds r3, r0, 0 - ldr r0, =gUnknown_0203AB6D - ldrb r0, [r0] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - add r2, sp, 0xC - bl PrintTextOnWindow - add sp, 0x2C - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A8FC - - thumb_func_start sub_813A958 -sub_813A958: @ 813A958 - push {r4,lr} - ldr r4, =gUnknown_0203AB6D - ldr r0, =gUnknown_085B311C - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStandardWindowBorderStyle - bl sub_813A8FC - ldrb r0, [r4] - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A958 - - thumb_func_start sub_813A988 -sub_813A988: @ 813A988 - push {r4,lr} - ldr r4, =gUnknown_0203AB6D - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A988 - - thumb_func_start sub_813A9A4 -sub_813A9A4: @ 813A9A4 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000eb8 - adds r1, r0, r2 - ldr r0, =gSpecialVar_0x8004 - ldrh r2, [r1] - ldrh r0, [r0] - cmp r2, r0 - bcs _0813A9C8 - movs r0, 0 - b _0813A9CA - .pool -_0813A9C8: - subs r0, r2, r0 -_0813A9CA: - strh r0, [r1] - pop {r0} - bx r0 - thumb_func_end sub_813A9A4 - - thumb_func_start sub_813A9D0 -sub_813A9D0: @ 813A9D0 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000eb8 - adds r2, r0, r1 - ldrh r1, [r2] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r1, r0 - ldr r0, =0x0000270f - cmp r1, r0 - ble _0813A9FC - strh r0, [r2] - b _0813A9FE - .pool -_0813A9FC: - strh r1, [r2] -_0813A9FE: - pop {r0} - bx r0 - thumb_func_end sub_813A9D0 - - thumb_func_start sub_813AA04 -sub_813AA04: @ 813AA04 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000eb8 - adds r0, r1 - ldrh r0, [r0] - bx lr - .pool - thumb_func_end sub_813AA04 - - thumb_func_start sub_813AA18 -sub_813AA18: @ 813AA18 - push {r4,lr} - ldr r4, =gUnknown_0203AB6E - ldr r0, =gUnknown_085B3124 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStandardWindowBorderStyle - ldrb r0, [r4] - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AA18 - - thumb_func_start sub_813AA44 -sub_813AA44: @ 813AA44 - push {r4,lr} - ldr r4, =gUnknown_0203AB6E - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AA44 - - thumb_func_start sub_813AA60 -sub_813AA60: @ 813AA60 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - lsrs r4, r0, 16 - ldr r1, =0xfffd0000 - adds r0, r1 - lsrs r0, 16 - cmp r0, 0x3 - bls _0813AA78 - b _0813ABC2 -_0813AA78: - movs r0, 0xD8 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - cmp r4, 0x4 - beq _0813AAE8 - cmp r4, 0x4 - bgt _0813AAA0 - cmp r4, 0x3 - beq _0813AAAA - b _0813ABC2 - .pool -_0813AAA0: - cmp r4, 0x5 - beq _0813AB5C - cmp r4, 0x6 - beq _0813AB94 - b _0813ABC2 -_0813AAAA: - ldr r1, =gUnknown_085B3170 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParametrized - ldr r1, =gUnknown_085B312C - lsls r0, r5, 1 - adds r1, r0, r1 - ldrh r5, [r1] - ldr r0, =0x0000ffff - cmp r5, r0 - beq _0813AB18 - b _0813AB2C - .pool -_0813AAE8: - ldr r1, =gUnknown_085B319C - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParametrized - ldr r1, =gUnknown_085B3142 - lsls r0, r5, 1 - adds r1, r0, r1 - ldrh r5, [r1] - ldr r0, =0x0000ffff - cmp r5, r0 - bne _0813AB2C -_0813AB18: - ldrh r0, [r1] - bl sub_813ABD4 - b _0813ABC2 - .pool -_0813AB2C: - ldr r4, =0x0000157c - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - lsls r0, r5, 24 - lsrs r0, 24 - str r4, [sp] - str r4, [sp, 0x4] - movs r1, 0x21 - movs r2, 0x58 - movs r3, 0 - bl AddDecorationIconObject - ldr r1, =gUnknown_0203AB6C - strb r0, [r1] - b _0813ABC2 - .pool -_0813AB5C: - ldr r1, =gUnknown_085B31B4 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParametrized - ldr r1, =gUnknown_085B314E - lsls r0, r5, 1 - adds r0, r1 - ldrh r0, [r0] - bl sub_813ABD4 - b _0813ABC2 - .pool -_0813AB94: - ldr r1, =gUnknown_085B31D0 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParametrized - ldr r1, =gUnknown_085B315C - lsls r0, r5, 1 - adds r0, r1 - ldrh r0, [r0] - bl sub_813ABD4 -_0813ABC2: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AA60 - - thumb_func_start sub_813ABD4 -sub_813ABD4: @ 813ABD4 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - ldr r4, =0x0000157c - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl AddItemIconObject - ldr r4, =gUnknown_0203AB6C - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0813AC32 - ldr r3, =gSprites - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x5] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x24 - strh r1, [r0, 0x20] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x5C - strh r1, [r0, 0x22] -_0813AC32: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ABD4 - - thumb_func_start sub_813AC44 -sub_813AC44: @ 813AC44 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - ldr r2, =gUnknown_0203AB6C - ldrb r0, [r2] - cmp r0, 0x40 - beq _0813AC70 - cmp r1, 0x6 - bgt _0813AC6A - cmp r1, 0x3 - blt _0813AC6A - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySpriteAndFreeResources -_0813AC6A: - ldr r1, =gUnknown_0203AB6C - movs r0, 0x40 - strb r0, [r1] -_0813AC70: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AC44 - - thumb_func_start sub_813AC7C -sub_813AC7C: @ 813AC7C - push {lr} - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0 - beq _0813ACB8 - ldr r0, =gStringVar1 - ldr r2, =gUnknown_085B320C - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - b _0813ACD2 - .pool -_0813ACB8: - ldr r0, =gStringVar1 - ldr r2, =gUnknown_085B31F8 - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy -_0813ACD2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AC7C - - thumb_func_start sub_813ACE8 -sub_813ACE8: @ 813ACE8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - subs r0, 0x9 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0813AD20 - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - cmp r0, 0 - bne _0813AD18 - ldr r4, =gUnknown_0203AB5E - ldr r0, =gUnknown_085B3220 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStandardWindowBorderStyle -_0813AD18: - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_813AD34 -_0813AD20: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ACE8 - - thumb_func_start sub_813AD34 -sub_813AD34: @ 813AD34 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - adds r7, r5, 0 - lsrs r6, r0, 24 - movs r1, 0xF7 - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0813ADAC - ldr r4, =gUnknown_0203AB5E - ldrb r0, [r4] - movs r1, 0x60 - str r1, [sp] - movs r1, 0x30 - str r1, [sp, 0x4] - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - cmp r6, 0xA - bne _0813AD90 - ldrb r0, [r4] - ldr r2, =gUnknown_085B3254 - lsls r1, r5, 2 - adds r1, r2 - ldr r2, [r1] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - b _0813ADAC - .pool -_0813AD90: - ldrb r0, [r4] - ldr r2, =gUnknown_085B3228 - lsls r1, r7, 2 - adds r1, r2 - ldr r2, [r1] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow -_0813ADAC: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AD34 - - thumb_func_start sub_813ADB8 -sub_813ADB8: @ 813ADB8 - push {r4,lr} - ldr r4, =gUnknown_0203AB5E - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ADB8 - - thumb_func_start sub_813ADD4 -sub_813ADD4: @ 813ADD4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - ldr r0, =sub_813A600 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _0813AE90 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - ldrh r0, [r6, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r4, sp - adds r4, 0x16 - add r1, sp, 0x14 - adds r2, r4, 0 - bl get_coro_args_x18_x1A - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl SetStandardWindowBorderStyle - movs r5, 0 - mov r9, r4 - ldr r0, =gUnknown_085B2CF0 - mov r8, r0 - movs r4, 0 -_0813AE1E: - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - add r1, sp, 0x14 - ldrh r2, [r1] - adds r2, r5 - lsls r2, 2 - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 6 - adds r2, r1 - add r2, r8 - ldr r2, [r2] - lsls r1, r5, 28 - lsrs r1, 24 - str r1, [sp] - movs r7, 0xFF - str r7, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1 - movs r3, 0xA - bl sub_8199F74 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _0813AE1E - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gText_SelectorArrow - mov r3, r9 - ldrh r1, [r3] - lsls r1, 28 - lsrs r1, 24 - str r1, [sp] - str r7, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl CopyWindowToVram -_0813AE90: - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ADD4 - - thumb_func_start sub_813AEB4 -sub_813AEB4: @ 813AEB4 - push {r4,lr} - movs r1, 0 - ldr r0, =gSpecialVar_0x8005 - strh r1, [r0] - ldr r0, =0x0000400e - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x0000400d - bl VarGet - lsls r0, 16 - lsrs r1, r0, 16 - cmp r4, 0 - beq _0813AF18 - movs r2, 0 - lsls r1, 1 - ldr r3, =gUnknown_0861500C - ldr r0, =gUnknown_085B320C - adds r0, r1, r0 - ldrh r1, [r0] -_0813AEE2: - lsls r0, r2, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r1 - beq _0813AF0C - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1D - bls _0813AEE2 - b _0813AF38 - .pool -_0813AF0C: - ldr r0, =gSpecialVar_0x8005 - strh r2, [r0] - b _0813AF38 - .pool -_0813AF18: - movs r2, 0 - lsls r1, 1 - ldr r3, =gUnknown_0861500C - ldr r0, =gUnknown_085B31F8 - adds r0, r1, r0 - ldrh r1, [r0] -_0813AF24: - lsls r0, r2, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r1 - beq _0813AF0C - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1D - bls _0813AF24 -_0813AF38: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AEB4 - - thumb_func_start sub_813AF48 -sub_813AF48: @ 813AF48 - push {r4,r5,lr} - ldr r0, =sub_813A600 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xFF - beq _0813AFB6 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0 - bl sub_81AE6C8 - ldr r0, =gUnknown_0203AB64 - ldr r0, [r0] - bl Free - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_8198070 - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl ClearWindowTilemap - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl CopyWindowToVram - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask -_0813AFB6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AF48 - - thumb_func_start sub_813AFC8 -sub_813AFC8: @ 813AFC8 - push {lr} - ldr r0, =task_deoxys_sound - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AFC8 - - thumb_func_start task_deoxys_sound -task_deoxys_sound: @ 813AFDC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =0x000008d4 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B004 - ldr r1, =gScriptResult - movs r0, 0x3 - b _0813B06A - .pool -_0813B004: - ldr r0, =0x00004035 - mov r8, r0 - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r4, =0x00004034 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r4, 0 - movs r1, 0 - bl VarSet - cmp r5, 0 - beq _0813B05C - ldr r0, =gUnknown_085B33F6 - subs r1, r5, 0x1 - adds r1, r0 - ldrb r0, [r1] - cmp r0, r6 - bcs _0813B05C - movs r0, 0 - bl sub_813B0B4 - mov r0, r8 - movs r1, 0 - bl VarSet - ldr r1, =gScriptResult - movs r0, 0 - strh r0, [r1] - b _0813B070 - .pool -_0813B05C: - cmp r5, 0xA - bne _0813B080 - ldr r0, =0x000008d4 - bl FlagSet - ldr r1, =gScriptResult - movs r0, 0x2 -_0813B06A: - strh r0, [r1] - bl EnableBothScriptContexts -_0813B070: - adds r0, r7, 0 - bl DestroyTask - b _0813B0A2 - .pool -_0813B080: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_813B0B4 - ldr r0, =0x00004035 - adds r1, r5, 0 - bl VarSet - ldr r1, =gScriptResult - movs r0, 0x1 - strh r0, [r1] - adds r0, r7, 0 - bl DestroyTask -_0813B0A2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end task_deoxys_sound - - thumb_func_start sub_813B0B4 -sub_813B0B4: @ 813B0B4 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 5 - ldr r1, =gUnknown_085B3280 - adds r0, r1 - movs r1, 0xD0 - lsls r1, 1 - movs r2, 0x8 - bl LoadPalette - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x1 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - cmp r4, 0 - bne _0813B0F0 - movs r0, 0xC4 - bl PlaySE - b _0813B0F8 - .pool -_0813B0F0: - movs r0, 0x82 - lsls r0, 1 - bl PlaySE -_0813B0F8: - ldr r0, =sub_813B160 - movs r1, 0x8 - bl CreateTask - ldr r3, =gFieldEffectArguments - movs r0, 0x1 - str r0, [r3] - movs r0, 0x3A - str r0, [r3, 0x4] - movs r0, 0x1A - str r0, [r3, 0x8] - ldr r0, =gUnknown_085B33E0 - lsls r2, r4, 1 - adds r1, r2, r0 - ldrb r1, [r1] - str r1, [r3, 0xC] - adds r0, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - str r0, [r3, 0x10] - adds r5, r2, 0 - cmp r4, 0 - bne _0813B138 - movs r0, 0x3C - b _0813B13A - .pool -_0813B138: - movs r0, 0x5 -_0813B13A: - str r0, [r3, 0x14] - movs r0, 0x42 - bl FieldEffectStart - ldr r0, =gUnknown_085B33E0 - adds r1, r5, r0 - ldrb r1, [r1] - adds r0, 0x1 - adds r0, r5, r0 - ldrb r2, [r0] - movs r0, 0x1 - bl Overworld_SetMapObjTemplateCoords - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B0B4 - - thumb_func_start sub_813B160 -sub_813B160: @ 813B160 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x42 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _0813B17C - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_0813B17C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813B160 - - thumb_func_start increment_var_x4026_on_birth_island_modulo_100 -increment_var_x4026_on_birth_island_modulo_100: @ 813B184 - push {r4,lr} - ldr r4, =0x00004034 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00003a1a - cmp r1, r0 - bne _0813B1C8 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x63 - bls _0813B1C0 - adds r0, r4, 0 - movs r1, 0 - bl VarSet - b _0813B1C8 - .pool -_0813B1C0: - adds r0, r4, 0 - adds r1, r2, 0 - bl VarSet -_0813B1C8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end increment_var_x4026_on_birth_island_modulo_100 - - thumb_func_start sub_813B1D0 -sub_813B1D0: @ 813B1D0 - push {lr} - ldr r0, =0x00004035 - bl VarGet - lsls r0, 24 - lsrs r0, 19 - ldr r1, =gUnknown_085B3280 - adds r0, r1 - movs r1, 0xD0 - lsls r1, 1 - movs r2, 0x8 - bl LoadPalette - movs r0, 0x80 - lsls r0, 19 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B1D0 - - thumb_func_start set_unknown_box_id -@ void set_unknown_box_id(char id) -set_unknown_box_id: @ 813B204 - ldr r1, =gUnknown_0203AB6F - strb r0, [r1] - bx lr - .pool - thumb_func_end set_unknown_box_id - - thumb_func_start get_unknown_box_id -get_unknown_box_id: @ 813B210 - ldr r0, =gUnknown_0203AB6F - ldrb r0, [r0] - bx lr - .pool - thumb_func_end get_unknown_box_id - - thumb_func_start sub_813B21C -sub_813B21C: @ 813B21C - push {r4,r5,lr} - ldr r5, =0x000008d7 - adds r0, r5, 0 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0813B258 - bl StorageGetCurrentBox - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =0x00004036 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r4, r0 - beq _0813B258 - adds r0, r5, 0 - bl FlagSet - movs r0, 0x1 - b _0813B25A - .pool -_0813B258: - movs r0, 0 -_0813B25A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_813B21C - - thumb_func_start sub_813B260 -sub_813B260: @ 813B260 - push {r4-r7,lr} - ldr r0, =0x00004036 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl set_unknown_box_id - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r4, r0, 24 -_0813B278: - movs r5, 0 - lsls r6, r4, 24 - lsls r7, r4, 16 -_0813B27E: - lsls r1, r5, 24 - lsrs r1, 24 - lsrs r0, r6, 24 - bl GetBoxedMonPtr - movs r1, 0xB - movs r2, 0 - bl GetBoxMonData - cmp r0, 0 - bne _0813B2C0 - bl get_unknown_box_id - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - beq _0813B2A6 - ldr r0, =0x000008d7 - bl FlagClear -_0813B2A6: - ldr r0, =0x00004036 - lsrs r1, r7, 16 - bl VarSet - bl sub_813B21C - lsls r0, 24 - lsrs r0, 24 - b _0813B2DC - .pool -_0813B2C0: - adds r5, 0x1 - cmp r5, 0x1D - ble _0813B27E - adds r4, 0x1 - cmp r4, 0xE - bne _0813B2CE - movs r4, 0 -_0813B2CE: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0813B278 - movs r0, 0 -_0813B2DC: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_813B260 - - thumb_func_start sub_813B2E4 -sub_813B2E4: @ 813B2E4 - push {r4,lr} - bl Random - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004038 - movs r1, 0 - bl VarSet - movs r0, 0xDF - lsls r0, 1 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813B340 - ldr r0, =0x000001bf - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B330 - ldr r0, =0x00004037 - movs r1, 0x7 - ands r4, r1 - adds r1, r4, 0 - adds r1, 0x9 - bl VarSet - b _0813B36A - .pool -_0813B330: - movs r0, 0x1 - ands r4, r0 - cmp r4, 0 - bne _0813B354 - bl Random - lsls r0, 16 - lsrs r4, r0, 16 -_0813B340: - ldr r0, =0x00004037 - movs r1, 0x7 - ands r4, r1 - adds r1, r4, 0x1 - bl VarSet - b _0813B36A - .pool -_0813B354: - bl Random - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004037 - movs r1, 0x7 - ands r4, r1 - adds r1, r4, 0 - adds r1, 0x9 - bl VarSet -_0813B36A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B2E4 - - thumb_func_start sub_813B374 -sub_813B374: @ 813B374 - push {r4,lr} - ldr r0, =0x00004037 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =gStringVar1 - ldr r2, =gUnknown_085B3400 - subs r1, r4, 0x1 - adds r1, r2 - ldrb r1, [r1] - movs r2, 0 - bl GetMapName - cmp r4, 0x8 - bls _0813B3A8 - movs r0, 0x1 - b _0813B3AA - .pool -_0813B3A8: - movs r0, 0 -_0813B3AA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813B374 - - thumb_func_start sub_813B3B0 -sub_813B3B0: @ 813B3B0 - push {r4-r6,lr} - ldr r5, =0x00004038 - adds r0, r5, 0 - bl VarGet - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004037 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - beq _0813B47C - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x000003e7 - cmp r4, r0 - bls _0813B474 - adds r0, r5, 0 - movs r1, 0 - bl VarSet - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - cmp r0, 0x18 - bne _0813B414 - movs r0, 0x5 - ldrsb r0, [r1, r0] - cmp r0, 0x69 - bgt _0813B414 - cmp r0, 0x65 - blt _0813B414 - ldr r0, =0x00004039 - movs r1, 0x1 - b _0813B478 - .pool -_0813B414: - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0x4 - ldrsb r1, [r2, r1] - adds r3, r0, 0 - cmp r1, 0 - bne _0813B444 - movs r0, 0x5 - ldrsb r0, [r2, r0] - cmp r0, 0x34 - beq _0813B436 - cmp r0, 0x34 - blt _0813B444 - cmp r0, 0x38 - bgt _0813B444 - cmp r0, 0x36 - blt _0813B444 -_0813B436: - ldr r0, =0x00004039 - movs r1, 0x1 - b _0813B478 - .pool -_0813B444: - ldr r3, [r3] - movs r2, 0x5 - ldrsb r2, [r3, r2] - ldr r1, =gUnknown_085B3410 - subs r0, r6, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r2, r0 - bne _0813B468 - movs r0, 0x4 - ldrsb r0, [r3, r0] - cmp r0, 0 - bne _0813B468 - movs r0, 0x1 - b _0813B47E - .pool -_0813B468: - ldr r0, =0x00004037 - movs r1, 0 - b _0813B478 - .pool -_0813B474: - adds r0, r5, 0 - adds r1, r4, 0 -_0813B478: - bl VarSet -_0813B47C: - movs r0, 0 -_0813B47E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_813B3B0 - - thumb_func_start sub_813B484 -sub_813B484: @ 813B484 - push {lr} - movs r0, 0x2 - bl sub_80AB104 - pop {r0} - bx r0 - thumb_func_end sub_813B484 - - thumb_func_start sub_813B490 -sub_813B490: @ 813B490 - push {r4-r7,lr} - movs r3, 0 - ldr r0, =gSaveBlock1Ptr - ldr r4, [r0] - movs r6, 0x4 - ldrsb r6, [r4, r6] - ldr r5, =gUnknown_085B3420 - adds r0, r5, 0x2 - mov r12, r0 - adds r7, r5, 0x1 -_0813B4A4: - lsls r0, r3, 1 - adds r2, r0, r3 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r6, r0 - bne _0813B4CC - movs r1, 0x5 - ldrsb r1, [r4, r1] - adds r0, r2, r7 - ldrb r0, [r0] - cmp r1, r0 - bne _0813B4CC - mov r1, r12 - adds r0, r2, r1 - ldrb r0, [r0] - b _0813B4D8 - .pool -_0813B4CC: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xB - bls _0813B4A4 - movs r0, 0x1 -_0813B4D8: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_813B490 - - thumb_func_start sub_813B4E0 -sub_813B4E0: @ 813B4E0 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - bl sub_81D15CC - cmp r0, 0 - blt _0813B50C - movs r1, 0xAE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B50C - movs r0, 0x1 - b _0813B50E - .pool -_0813B50C: - movs r0, 0 -_0813B50E: - pop {r1} - bx r1 - thumb_func_end sub_813B4E0 - - thumb_func_start sub_813B514 -sub_813B514: @ 813B514 - push {lr} - ldr r0, =0x0000403f - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _0813B52C - movs r0, 0x1 - b _0813B52E - .pool -_0813B52C: - movs r0, 0 -_0813B52E: - pop {r1} - bx r1 - thumb_func_end sub_813B514 - - thumb_func_start sub_813B534 -sub_813B534: @ 813B534 - push {lr} - ldr r2, =gUnknown_0203AB70 - ldr r1, =gBattleTypeFlags - ldr r0, [r1] - str r0, [r2] - movs r0, 0 - str r0, [r1] - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0813B552 - ldr r0, =sub_80B3AF8 - movs r1, 0x5 - bl CreateTask -_0813B552: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B534 - - thumb_func_start sub_813B568 -sub_813B568: @ 813B568 - push {lr} - ldr r0, =sub_813B57C - movs r1, 0x5 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B568 - - thumb_func_start sub_813B57C -sub_813B57C: @ 813B57C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0x9 - bls _0813B596 - b _0813B7C6 -_0813B596: - lsls r0, 2 - ldr r1, =_0813B5A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813B5A8: - .4byte _0813B5D0 - .4byte _0813B5E4 - .4byte _0813B614 - .4byte _0813B6B4 - .4byte _0813B6E4 - .4byte _0813B728 - .4byte _0813B764 - .4byte _0813B772 - .4byte _0813B784 - .4byte _0813B7A8 -_0813B5D0: - ldr r0, =sub_80B3AF8 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _0813B5DE - b _0813B7C6 -_0813B5DE: - b _0813B790 - .pool -_0813B5E4: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813B5F2 - b _0813B7C6 -_0813B5F2: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0813B5FE - b _0813B790 -_0813B5FE: - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSpecialVar_0x8004 - movs r2, 0x2 - bl SendBlock - b _0813B708 - .pool -_0813B614: - bl GetBlockReceivedStatus - movs r1, 0x2 - ands r1, r0 - cmp r1, 0 - bne _0813B622 - b _0813B7C6 -_0813B622: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _0813B62E - b _0813B790 -_0813B62E: - ldr r5, =gSpecialVar_0x8005 - ldr r0, =gBlockRecvBuffer - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r5] - movs r0, 0x1 - bl ResetBlockReceivedFlag - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0813B668 - ldrh r1, [r5] - cmp r1, 0x1 - bne _0813B668 - ldr r0, =gScriptResult - strh r1, [r0] - b _0813B790 - .pool -_0813B668: - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - adds r2, r0, 0 - cmp r1, 0 - bne _0813B68C - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0813B68C - ldr r1, =gScriptResult - movs r0, 0x2 - b _0813B6AC - .pool -_0813B68C: - ldrh r0, [r2] - cmp r0, 0x1 - bne _0813B6A8 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0 - bne _0813B6A8 - ldr r1, =gScriptResult - movs r0, 0x3 - b _0813B6AC - .pool -_0813B6A8: - ldr r1, =gScriptResult - movs r0, 0 -_0813B6AC: - strh r0, [r1] - b _0813B790 - .pool -_0813B6B4: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813B6C2 - b _0813B7C6 -_0813B6C2: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0813B790 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gScriptResult - movs r2, 0x2 - bl SendBlock - b _0813B708 - .pool -_0813B6E4: - bl GetBlockReceivedStatus - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _0813B7C6 - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _0813B790 - ldr r1, =gScriptResult - ldr r0, =gBlockRecvBuffer - ldrh r0, [r0] - strh r0, [r1] - movs r0, 0 - bl ResetBlockReceivedFlag -_0813B708: - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _0813B7C6 - .pool -_0813B728: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0813B74C - ldr r0, =gScriptResult - ldrh r0, [r0] - cmp r0, 0x2 - bne _0813B790 - ldr r0, =gUnknown_0824979B - bl ShowFieldAutoScrollMessage - b _0813B790 - .pool -_0813B74C: - ldr r0, =gScriptResult - ldrh r0, [r0] - cmp r0, 0x3 - bne _0813B790 - ldr r0, =gUnknown_0824979B - bl ShowFieldAutoScrollMessage - b _0813B790 - .pool -_0813B764: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0813B7C6 - b _0813B790 -_0813B772: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B7C6 - bl sub_800ADF8 - b _0813B790 -_0813B784: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B7C6 -_0813B790: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0813B7C6 - .pool -_0813B7A8: - ldr r0, =gLinkVSyncDisabled - ldrb r0, [r0] - cmp r0, 0 - bne _0813B7B4 - bl sub_800AC34 -_0813B7B4: - ldr r0, =gBattleTypeFlags - ldr r1, =gUnknown_0203AB70 - ldr r1, [r1] - str r1, [r0] - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_0813B7C6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B57C - - thumb_func_start sub_813B7D8 -sub_813B7D8: @ 813B7D8 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _0813B7F8 - ldr r2, =c2_exit_to_overworld_1_continue_scripts_restart_music - movs r0, 0 - movs r1, 0x1 - bl sub_81D6720 - b _0813B802 - .pool -_0813B7F8: - ldr r2, =c2_exit_to_overworld_1_continue_scripts_restart_music - movs r0, 0x1 - movs r1, 0 - bl sub_81D6720 -_0813B802: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B7D8 - - thumb_func_start sub_813B80C -sub_813B80C: @ 813B80C - push {lr} - ldr r0, =sub_813B824 - movs r1, 0x8 - bl CreateTask - movs r0, 0x9D - bl PlaySE - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B80C - - thumb_func_start sub_813B824 -sub_813B824: @ 813B824 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r0, 0x2 - ldrsh r1, [r4, r0] - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r1, r0 - bne _0813B858 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - movs r0, 0 - strh r0, [r4, 0x2] - movs r0, 0x9D - bl PlaySE -_0813B858: - movs r0, 0 - ldrsh r1, [r4, r0] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _0813B86C - adds r0, r5, 0 - bl DestroyTask -_0813B86C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B824 - - thumb_func_start sub_813B880 -sub_813B880: @ 813B880 - push {lr} - ldr r0, =_fwalk - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - movs r0, 0x4 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - strh r0, [r1, 0xC] - strh r2, [r1, 0xE] - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B880 - - thumb_func_start _fwalk -_fwalk: @ 813B8B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r0, 2 - add r0, r9 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - movs r0, 0x6 - ldrsh r1, [r5, r0] - lsls r1, 1 - adds r1, r5 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - movs r1, 0x6 - ldrsh r0, [r5, r1] - lsls r0, 1 - adds r0, r5 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _0813B94E - movs r6, 0 -_0813B8EA: - movs r4, 0 - lsls r3, r6, 3 - mov r10, r3 - adds r7, r6, 0x1 - mov r8, r7 -_0813B8F4: - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r2, 0 - ldrsh r0, [r1, r2] - adds r0, r4 - adds r0, 0x6 - movs r3, 0x2 - ldrsh r1, [r1, r3] - adds r1, r6 - adds r1, 0x4 - ldr r7, =0x00000201 - adds r2, r4, r7 - add r2, r10 - movs r7, 0x6 - ldrsh r3, [r5, r7] - lsls r3, 5 - adds r2, r3 - lsls r2, 16 - lsrs r2, 16 - bl MapGridSetMetatileIdAt - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0813B8F4 - mov r1, r8 - lsls r0, r1, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _0813B8EA - bl DrawWholeMapView - ldrh r0, [r5, 0x6] - adds r0, 0x1 - strh r0, [r5, 0x6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _0813B94E - mov r0, r9 - bl DestroyTask - bl EnableBothScriptContexts -_0813B94E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end _fwalk - - thumb_func_start sub_813B968 -sub_813B968: @ 813B968 - push {r4,r5,lr} - ldr r5, =gScriptResult - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - movs r1, 0x7 - bl __udivsi3 - strh r0, [r5] - ldrh r4, [r5] - adds r0, r4, 0 - movs r1, 0x14 - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - subs r4, r1 - strh r4, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B968 - - thumb_func_start sub_813B9A0 -sub_813B9A0: @ 813B9A0 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x1C] - movs r0, 0xB0 - lsls r0, 4 - cmp r1, r0 - bne _0813B9B6 - movs r0, 0x3 - bl Overworld_SetHealLocationWarp -_0813B9B6: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B9A0 - - thumb_func_start sub_813B9C0 -sub_813B9C0: @ 813B9C0 - push {r4,lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x4 - ldrsb r1, [r0, r1] - lsls r1, 8 - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r2, =gUnknown_085B3444 - ldrh r0, [r2] - ldr r1, =0x0000ffff - cmp r0, r1 - beq _0813BA06 - adds r4, r1, 0 - adds r1, r2, 0 -_0813B9E6: - ldrh r0, [r2] - cmp r0, r3 - bne _0813B9FC - movs r0, 0x1 - b _0813BA08 - .pool -_0813B9FC: - adds r1, 0x2 - adds r2, 0x2 - ldrh r0, [r1] - cmp r0, r4 - bne _0813B9E6 -_0813BA06: - movs r0, 0 -_0813BA08: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813B9C0 - - thumb_func_start ResetFanClub -ResetFanClub: @ 813BA10 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x0000141e - adds r1, r0, r2 - movs r2, 0 - strh r2, [r1] - movs r1, 0xA1 - lsls r1, 5 - adds r0, r1 - strh r2, [r0] - bx lr - .pool - thumb_func_end ResetFanClub - - thumb_func_start sub_813BA30 -sub_813BA30: @ 813BA30 - push {lr} - bl sub_813BF44 - lsls r0, 24 - cmp r0, 0 - beq _0813BA52 - bl sub_813BCE8 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrh r0, [r0, 0xE] - movs r2, 0xA1 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] -_0813BA52: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BA30 - - thumb_func_start sub_813BA60 -sub_813BA60: @ 813BA60 - push {r4,lr} - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r0, [r0] - lsrs r0, 7 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0813BAB6 - bl sub_813BF60 - bl sub_813BD84 - ldr r1, [r4] - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrh r0, [r0, 0xE] - movs r2, 0xA1 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] - ldr r0, =0x00000315 - bl FlagClear - ldr r0, =0x00000316 - bl FlagClear - ldr r0, =0x00000317 - bl FlagClear - movs r0, 0xC6 - lsls r0, 2 - bl FlagClear - ldr r0, =0x000002da - bl FlagClear - ldr r0, =0x00004095 - movs r1, 0x1 - bl VarSet -_0813BAB6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BA60 - - thumb_func_start sub_813BADC -sub_813BADC: @ 813BADC - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =0x00004095 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0813BB58 - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - ldr r5, =0x0000141e - adds r3, r0, r5 - ldrh r2, [r3] - movs r1, 0x7F - ands r1, r2 - ldr r0, =gUnknown_085B3470 - adds r0, r6, r0 - ldrb r0, [r0] - adds r1, r0 - cmp r1, 0x13 - ble _0813BB54 - bl sub_813BCA8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bhi _0813BB3C - bl sub_813BB74 - ldr r0, [r4] - adds r0, r5 - ldrh r2, [r0] - ldr r1, =0x0000ff80 - ands r1, r2 - strh r1, [r0] - b _0813BB58 - .pool -_0813BB3C: - ldr r2, [r4] - adds r2, r5 - ldrh r1, [r2] - ldr r0, =0x0000ff80 - ands r0, r1 - movs r1, 0x14 - orrs r0, r1 - strh r0, [r2] - b _0813BB58 - .pool -_0813BB54: - adds r0, r2, r0 - strh r0, [r3] -_0813BB58: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x7F - ands r0, r1 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BADC - - thumb_func_start sub_813BB74 -sub_813BB74: @ 813BB74 - push {r4-r7,lr} - sub sp, 0x8 - movs r3, 0 - movs r5, 0 - ldr r7, =gSaveBlock1Ptr - ldr r2, =0x0000141e - movs r6, 0x1 -_0813BB82: - ldr r0, [r7] - adds r0, r2 - ldrh r1, [r0] - ldr r0, =gUnknown_085B3474 - adds r0, r5, r0 - ldrb r4, [r0] - asrs r1, r4 - ands r1, r6 - cmp r1, 0 - bne _0813BBC8 - adds r3, r5, 0 - str r2, [sp] - str r3, [sp, 0x4] - bl Random - adds r1, r6, 0 - ands r1, r0 - ldr r2, [sp] - ldr r3, [sp, 0x4] - cmp r1, 0 - beq _0813BBC8 - ldr r0, [r7] - adds r0, r2 - adds r1, r6, 0 - lsls r1, r4 - ldrh r2, [r0] - orrs r1, r2 - strh r1, [r0] - b _0813BBEA - .pool -_0813BBC8: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0813BB82 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, =0x0000141e - adds r2, r0 - ldr r1, =gUnknown_085B3474 - adds r1, r3, r1 - movs r0, 0x1 - ldrb r1, [r1] - lsls r0, r1 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] -_0813BBEA: - adds r0, r3, 0 - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BB74 - - thumb_func_start sub_813BC00 -sub_813BC00: @ 813BC00 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0 - mov r10, r0 - bl sub_813BCA8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0813BC2E - movs r0, 0 - b _0813BC8E -_0813BC1E: - mov r1, r8 - ldr r0, [r1] - add r0, r9 - lsls r4, r6 - ldrh r1, [r0] - eors r4, r1 - strh r4, [r0] - b _0813BC8C -_0813BC2E: - movs r5, 0 - ldr r2, =gSaveBlock1Ptr - mov r8, r2 - ldr r0, =0x0000141e - mov r9, r0 - movs r4, 0x1 -_0813BC3A: - mov r1, r8 - ldr r0, [r1] - add r0, r9 - ldrh r1, [r0] - ldr r7, =gUnknown_085B347C - adds r0, r5, r7 - ldrb r6, [r0] - asrs r1, r6 - ands r1, r4 - cmp r1, 0 - beq _0813BC5E - mov r10, r5 - bl Random - adds r1, r4, 0 - ands r1, r0 - cmp r1, 0 - bne _0813BC1E -_0813BC5E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0813BC3A - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x0000141e - adds r4, r0, r2 - ldrh r1, [r4] - mov r2, r10 - adds r0, r2, r7 - ldrb r2, [r0] - adds r0, r1, 0 - asrs r0, r2 - movs r3, 0x1 - ands r0, r3 - cmp r0, 0 - beq _0813BC8C - adds r0, r3, 0 - lsls r0, r2 - eors r1, r0 - strh r1, [r4] -_0813BC8C: - mov r0, r10 -_0813BC8E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BC00 - - thumb_func_start sub_813BCA8 -sub_813BCA8: @ 813BCA8 - push {r4,r5,lr} - movs r3, 0 - movs r2, 0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r4, [r0] - movs r5, 0x1 -_0813BCBA: - adds r1, r2, 0 - adds r1, 0x8 - adds r0, r4, 0 - asrs r0, r1 - ands r0, r5 - cmp r0, 0 - beq _0813BCCE - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 -_0813BCCE: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _0813BCBA - adds r0, r3, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BCA8 - - thumb_func_start sub_813BCE8 -sub_813BCE8: @ 813BCE8 - push {r4-r6,lr} - movs r5, 0 - ldr r2, =gSaveBlock2Ptr - ldr r0, [r2] - ldrh r1, [r0, 0xE] - ldr r0, =0x000003e6 - cmp r1, r0 - bhi _0813BD58 - adds r6, r2, 0 - b _0813BD32 - .pool -_0813BD04: - ldr r0, [r6] - ldrh r1, [r0, 0xE] - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - movs r2, 0xA1 - lsls r2, 5 - adds r0, r2 - ldrh r0, [r0] - subs r1, r0 - cmp r1, 0xB - ble _0813BD58 - bl sub_813BC00 - ldr r0, [r4] - movs r1, 0xA1 - lsls r1, 5 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0xC - strh r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0813BD32: - bl sub_813BCA8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bhi _0813BD54 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, [r6] - ldrh r0, [r0, 0xE] - movs r2, 0xA1 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] - b _0813BD58 - .pool -_0813BD54: - cmp r5, 0x8 - bne _0813BD04 -_0813BD58: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813BCE8 - - thumb_func_start sub_813BD60 -sub_813BD60: @ 813BD60 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r0, [r0] - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - asrs r0, r1 - movs r1, 0x1 - ands r0, r1 - bx lr - .pool - thumb_func_end sub_813BD60 - - thumb_func_start sub_813BD84 -sub_813BD84: @ 813BD84 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, =0x0000141e - adds r2, r0 - ldrh r1, [r2] - movs r3, 0x80 - lsls r3, 6 - adds r0, r3, 0 - orrs r0, r1 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - orrs r0, r1 - movs r3, 0x80 - lsls r3, 3 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r2] - bx lr - .pool - thumb_func_end sub_813BD84 - - thumb_func_start sub_813BDB4 -sub_813BDB4: @ 813BDB4 - push {lr} - movs r3, 0 - movs r2, 0 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - subs r0, 0x8 - cmp r0, 0x7 - bhi _0813BE14 - lsls r0, 2 - ldr r1, =_0813BDD8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813BDD8: - .4byte _0813BE14 - .4byte _0813BE14 - .4byte _0813BDF8 - .4byte _0813BDFE - .4byte _0813BE04 - .4byte _0813BE0A - .4byte _0813BE10 - .4byte _0813BE14 -_0813BDF8: - movs r3, 0 - movs r2, 0x3 - b _0813BE14 -_0813BDFE: - movs r3, 0 - movs r2, 0x1 - b _0813BE14 -_0813BE04: - movs r3, 0x1 - movs r2, 0 - b _0813BE14 -_0813BE0A: - movs r3, 0 - movs r2, 0x4 - b _0813BE14 -_0813BE10: - movs r3, 0x1 - movs r2, 0x5 -_0813BE14: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003150 - adds r0, r1 - adds r1, r3, 0 - bl sub_813BE30 - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BDB4 - - thumb_func_start sub_813BE30 -sub_813BE30: @ 813BE30 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r0, r5, 4 - adds r1, r6, r0 - ldrb r0, [r1] - cmp r0, 0xFF - bne _0813BEE8 - cmp r2, 0x5 - bhi _0813BED4 - lsls r0, r2, 2 - ldr r1, =_0813BE58 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813BE58: - .4byte _0813BED4 - .4byte _0813BE70 - .4byte _0813BE84 - .4byte _0813BE98 - .4byte _0813BEAC - .4byte _0813BEC0 -_0813BE70: - ldr r0, =gStringVar1 - ldr r1, =gText_Steven - bl StringCopy - b _0813BF04 - .pool -_0813BE84: - ldr r0, =gStringVar1 - ldr r1, =gText_Brawly - bl StringCopy - b _0813BF04 - .pool -_0813BE98: - ldr r0, =gStringVar1 - ldr r1, =gText_Winona - bl StringCopy - b _0813BF04 - .pool -_0813BEAC: - ldr r0, =gStringVar1 - ldr r1, =gText_Phoebe - bl StringCopy - b _0813BF04 - .pool -_0813BEC0: - ldr r0, =gStringVar1 - ldr r1, =gText_Glacia - bl StringCopy - b _0813BF04 - .pool -_0813BED4: - ldr r0, =gStringVar1 - ldr r1, =gText_Wallace - bl StringCopy - b _0813BF04 - .pool -_0813BEE8: - ldr r4, =gStringVar1 - adds r0, r4, 0 - movs r2, 0x7 - bl StringCopyN - movs r0, 0xFF - strb r0, [r4, 0x7] - adds r0, r6, 0 - adds r0, 0x50 - adds r0, r5 - ldrb r1, [r0] - adds r0, r4, 0 - bl ConvertInternationalString -_0813BF04: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BE30 - - thumb_func_start sub_813BF10 -sub_813BF10: @ 813BF10 - push {lr} - ldr r0, =0x00004095 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0813BF40 - bl sub_813BA30 - ldr r0, =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0x1 - bne _0813BF3C - bl sub_813BB74 - b _0813BF40 - .pool -_0813BF3C: - bl sub_813BC00 -_0813BF40: - pop {r0} - bx r0 - thumb_func_end sub_813BF10 - - thumb_func_start sub_813BF44 -sub_813BF44: @ 813BF44 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r0, [r0] - lsrs r0, 7 - movs r1, 0x1 - ands r0, r1 - bx lr - .pool - thumb_func_end sub_813BF44 - - thumb_func_start sub_813BF60 -sub_813BF60: @ 813BF60 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =0x0000141e - adds r1, r0 - ldrh r2, [r1] - movs r0, 0x80 - orrs r0, r2 - strh r0, [r1] - bx lr - .pool - thumb_func_end sub_813BF60 - - thumb_func_start sub_813BF7C -sub_813BF7C: @ 813BF7C - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - bl sub_813BADC - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BF7C - .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom_8034C54.s b/asm/rom_8034C54.s new file mode 100644 index 0000000000..432b8250e4 --- /dev/null +++ b/asm/rom_8034C54.s @@ -0,0 +1,1312 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_8034C54 +sub_8034C54: @ 8034C54 + push {r4-r7,lr} + adds r4, r0, 0 + ldr r5, =gUnknown_02022E10 + ldr r0, [r5] + cmp r0, 0 + beq _08034C64 + bl sub_8034CC8 +_08034C64: + movs r0, 0x8 + bl Alloc + str r0, [r5] + cmp r0, 0 + bne _08034C78 + movs r0, 0 + b _08034CC0 + .pool +_08034C78: + lsls r0, r4, 3 + subs r0, r4 + lsls r0, 2 + bl Alloc + ldr r1, [r5] + str r0, [r1, 0x4] + cmp r0, 0 + bne _08034C94 + adds r0, r1, 0 + bl Free + movs r0, 0 + b _08034CC0 +_08034C94: + str r4, [r1] + movs r3, 0 + cmp r3, r4 + bcs _08034CBE + movs r7, 0 + movs r6, 0xFF + movs r2, 0 +_08034CA2: + ldr r0, [r5] + ldr r0, [r0, 0x4] + adds r0, r2, r0 + strb r7, [r0] + ldr r0, [r5] + ldr r1, [r0, 0x4] + adds r1, r2, r1 + ldrb r0, [r1, 0x1] + orrs r0, r6 + strb r0, [r1, 0x1] + adds r2, 0x1C + adds r3, 0x1 + cmp r3, r4 + bcc _08034CA2 +_08034CBE: + movs r0, 0x1 +_08034CC0: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8034C54 + + thumb_func_start sub_8034CC8 +sub_8034CC8: @ 8034CC8 + push {r4,r5,lr} + ldr r2, =gUnknown_02022E10 + ldr r1, [r2] + cmp r1, 0 + beq _08034D08 + ldr r0, [r1, 0x4] + cmp r0, 0 + beq _08034CFC + movs r4, 0 + ldr r0, [r1] + cmp r4, r0 + bcs _08034CF2 + adds r5, r2, 0 +_08034CE2: + adds r0, r4, 0 + bl sub_80353DC + adds r4, 0x1 + ldr r0, [r5] + ldr r0, [r0] + cmp r4, r0 + bcc _08034CE2 +_08034CF2: + ldr r0, =gUnknown_02022E10 + ldr r0, [r0] + ldr r0, [r0, 0x4] + bl Free +_08034CFC: + ldr r4, =gUnknown_02022E10 + ldr r0, [r4] + bl Free + movs r0, 0 + str r0, [r4] +_08034D08: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8034CC8 + + thumb_func_start sub_8034D14 +sub_8034D14: @ 8034D14 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + mov r8, r0 + mov r10, r1 + adds r5, r2, 0 + ldr r6, =gUnknown_02022E10 + ldr r0, [r6] + cmp r0, 0 + beq _08034DD4 + ldr r1, [r0, 0x4] + mov r0, r8 + lsls r2, r0, 3 + subs r0, r2, r0 + lsls r4, r0, 2 + adds r1, r4, r1 + ldrb r0, [r1] + mov r9, r2 + cmp r0, 0 + bne _08034DD4 + ldrb r0, [r5, 0x1] + bl sub_8035518 + ldr r1, [r6] + ldr r1, [r1, 0x4] + adds r1, r4, r1 + strb r0, [r1, 0x1] + ldr r0, [r6] + ldr r0, [r0, 0x4] + adds r0, r4, r0 + ldrb r0, [r0, 0x1] + cmp r0, 0xFF + beq _08034DD4 + ldr r0, [r5, 0x8] + ldrh r0, [r0, 0x6] + bl GetSpriteTileStartByTag + ldr r2, [r6] + ldr r1, [r2, 0x4] + adds r1, r4, r1 + strh r0, [r1, 0xA] + ldr r0, [r2, 0x4] + adds r0, r4, r0 + ldrh r1, [r0, 0xA] + ldr r7, =0xffff0000 + lsrs r0, r7, 16 + cmp r1, r0 + bne _08034DE0 + ldr r2, [r5, 0x8] + ldrh r0, [r2, 0x4] + adds r1, r2, 0 + cmp r0, 0 + beq _08034D94 + adds r0, r1, 0 + bl LoadSpriteSheet + b _08034DB4 + .pool +_08034D94: + ldr r0, [r2] + ldr r1, [r2, 0x4] + str r0, [sp] + str r1, [sp, 0x4] + ldr r0, [r2] + bl sub_8034974 + lsls r0, 16 + lsrs r0, 16 + ldr r1, [sp, 0x4] + ands r1, r7 + orrs r1, r0 + str r1, [sp, 0x4] + mov r0, sp + bl LoadCompressedObjectPic +_08034DB4: + ldr r1, [r6] + ldr r1, [r1, 0x4] + adds r1, r4, r1 + strh r0, [r1, 0xA] + ldr r0, =gUnknown_02022E10 + ldr r0, [r0] + ldr r1, [r0, 0x4] + mov r2, r9 + mov r3, r8 + subs r0, r2, r3 + lsls r0, 2 + adds r0, r1 + ldrh r1, [r0, 0xA] + ldr r0, =0x0000ffff + cmp r1, r0 + bne _08034DE0 +_08034DD4: + movs r0, 0 + b _08034EE8 + .pool +_08034DE0: + ldr r0, [r5, 0xC] + ldrh r0, [r0, 0x4] + bl IndexOfSpritePaletteTag + ldr r6, =gUnknown_02022E10 + ldr r1, [r6] + ldr r1, [r1, 0x4] + mov r4, r9 + mov r3, r8 + subs r2, r4, r3 + lsls r4, r2, 2 + adds r1, r4, r1 + strb r0, [r1, 0x4] + ldr r0, [r6] + ldr r0, [r0, 0x4] + adds r0, r4, r0 + ldrb r0, [r0, 0x4] + cmp r0, 0xFF + bne _08034E14 + ldr r0, [r5, 0xC] + bl LoadSpritePalette + ldr r1, [r6] + ldr r1, [r1, 0x4] + adds r1, r4, r1 + strb r0, [r1, 0x4] +_08034E14: + ldr r0, [r6] + ldr r1, [r0, 0x4] + adds r1, r4, r1 + ldrb r0, [r5] + lsls r0, 30 + lsrs r0, 30 + strb r0, [r1, 0x2] + ldr r0, [r6] + ldr r0, [r0, 0x4] + adds r0, r4, r0 + ldrb r1, [r5, 0x1] + strb r1, [r0, 0x3] + ldr r2, [r6] + ldr r0, [r2, 0x4] + adds r0, r4, r0 + ldrh r1, [r5, 0x4] + strh r1, [r0, 0xC] + ldr r0, [r2, 0x4] + adds r0, r4, r0 + ldrh r1, [r5, 0x6] + strh r1, [r0, 0xE] + ldr r1, [r2, 0x4] + adds r1, r4, r1 + ldrb r0, [r5] + lsls r0, 28 + lsrs r0, 30 + strb r0, [r1, 0x6] + ldr r0, [r6] + ldr r1, [r0, 0x4] + adds r1, r4, r1 + ldrb r0, [r5] + lsls r0, 26 + lsrs r0, 30 + strb r0, [r1, 0x5] + ldr r0, [r6] + ldr r1, [r0, 0x4] + adds r1, r4, r1 + ldrb r0, [r5] + lsrs r0, 6 + strb r0, [r1, 0x7] + ldr r0, [r6] + ldr r0, [r0, 0x4] + adds r0, r4, r0 + ldrb r1, [r5, 0x2] + strb r1, [r0, 0x8] + ldrb r1, [r5] + lsls r0, r1, 28 + lsrs r0, 30 + lsls r1, 26 + lsrs r1, 30 + bl sub_80355F8 + ldr r1, [r6] + ldr r1, [r1, 0x4] + adds r1, r4, r1 + strb r0, [r1, 0x9] + ldr r2, [r6] + ldr r0, [r2, 0x4] + adds r0, r4, r0 + ldr r1, [r5, 0x8] + ldrh r1, [r1, 0x6] + strh r1, [r0, 0x10] + ldr r0, [r2, 0x4] + adds r0, r4, r0 + ldr r1, [r5, 0xC] + ldrh r1, [r1, 0x4] + strh r1, [r0, 0x12] + ldr r0, [r2, 0x4] + adds r0, r4, r0 + movs r1, 0x1 + strb r1, [r0] + ldr r0, [r6] + ldr r0, [r0, 0x4] + adds r0, r4, r0 + str r1, [r0, 0x14] + movs r3, 0x1 + ldrb r0, [r5, 0x1] + cmp r3, r0 + bcs _08034ECA +_08034EB2: + ldr r0, [r6] + ldr r2, [r0, 0x4] + adds r2, r4, r2 + ldr r1, [r2, 0x14] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 1 + str r0, [r2, 0x14] + adds r3, 0x1 + ldrb r2, [r5, 0x1] + cmp r3, r2 + bcc _08034EB2 +_08034ECA: + ldr r0, =gUnknown_02022E10 + ldr r0, [r0] + mov r3, r9 + mov r4, r8 + subs r1, r3, r4 + lsls r1, 2 + ldr r0, [r0, 0x4] + adds r0, r1 + bl sub_8034EFC + mov r0, r8 + mov r1, r10 + bl sub_8035044 + movs r0, 0x1 +_08034EE8: + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .pool + thumb_func_end sub_8034D14 + + thumb_func_start sub_8034EFC +sub_8034EFC: @ 8034EFC + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + adds r4, r0, 0 + ldrb r5, [r4, 0x1] + movs r0, 0xC + ldrsh r7, [r4, r0] + ldrb r0, [r4, 0x3] + adds r0, 0x1 + mov r8, r0 + mov r1, sp + movs r0, 0 + strh r0, [r1] + lsls r1, r5, 3 + ldr r2, =gUnknown_030022F8 + mov r9, r2 + add r1, r9 + mov r0, r8 + lsls r2, r0, 2 + movs r0, 0x80 + lsls r0, 17 + orrs r2, r0 + mov r0, sp + bl CpuSet + movs r6, 0 + ldrb r5, [r4, 0x1] + cmp r6, r8 + bcs _08034FCE + movs r1, 0x3F + mov r10, r1 + movs r2, 0xD + negs r2, r2 + mov r9, r2 +_08034F46: + lsls r0, r5, 3 + ldr r1, =gMain + adds r3, r0, r1 + ldrh r1, [r4, 0xE] + adds r0, r3, 0 + adds r0, 0x38 + strb r1, [r0] + ldr r2, =0x000001ff + adds r0, r2, 0 + adds r1, r7, 0 + ands r1, r0 + ldrh r2, [r3, 0x3A] + ldr r0, =0xfffffe00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, 0x3A] + ldrb r1, [r4, 0x6] + movs r0, 0x39 + adds r0, r3 + mov r12, r0 + lsls r1, 6 + ldrb r2, [r0] + mov r0, r10 + ands r0, r2 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] + ldrb r1, [r4, 0x5] + movs r2, 0x3B + adds r2, r3 + mov r12, r2 + lsls r1, 6 + ldrb r2, [r2] + mov r0, r10 + ands r0, r2 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] + ldrh r0, [r4, 0xA] + ldr r1, =0x000003ff + ands r1, r0 + ldrh r2, [r3, 0x3C] + ldr r0, =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, 0x3C] + adds r3, 0x3D + movs r0, 0x3 + ldrb r1, [r4, 0x7] + ands r1, r0 + lsls r1, 2 + ldrb r2, [r3] + mov r0, r9 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + ldrb r2, [r4, 0x4] + lsls r2, 4 + movs r1, 0xF + ands r0, r1 + orrs r0, r2 + strb r0, [r3] + ldrb r0, [r4, 0x8] + adds r7, r0 + adds r6, 0x1 + adds r5, 0x1 + cmp r6, r8 + bcc _08034F46 +_08034FCE: + subs r5, 0x1 + ldr r0, =gMain + lsls r3, r5, 3 + adds r3, r0 + movs r2, 0xC + ldrsh r1, [r4, r2] + ldrb r0, [r4, 0x8] + subs r1, r0 + ldr r2, =0x000001ff + adds r0, r2, 0 + ands r1, r0 + ldrh r2, [r3, 0x3A] + ldr r0, =0xfffffe00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, 0x3A] + adds r2, r3, 0 + adds r2, 0x39 + ldrb r1, [r2] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + movs r1, 0x2 + orrs r0, r1 + strb r0, [r2] + ldrb r0, [r4, 0x9] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 1 + ldrh r4, [r4, 0xA] + adds r1, r4 + ldr r2, =0x000003ff + adds r0, r2, 0 + ands r1, r0 + ldrh r2, [r3, 0x3C] + ldr r0, =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r3, 0x3C] + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8034EFC + + thumb_func_start sub_8035044 +sub_8035044: @ 8035044 + push {r4-r6,lr} + adds r3, r0, 0 + adds r4, r1, 0 + ldr r0, =gUnknown_02022E10 + ldr r1, [r0] + adds r6, r0, 0 + cmp r1, 0 + beq _080350A8 + ldr r2, [r1, 0x4] + lsls r1, r3, 3 + subs r0, r1, r3 + lsls r0, 2 + adds r2, r0, r2 + ldrb r0, [r2] + adds r5, r1, 0 + cmp r0, 0 + beq _080350A8 + str r4, [r2, 0x18] + cmp r4, 0 + bge _08035078 + movs r2, 0x1 + negs r4, r4 + b _0803507A + .pool +_08035078: + movs r2, 0 +_0803507A: + ldr r0, [r6] + ldr r1, [r0, 0x4] + subs r0, r5, r3 + lsls r0, 2 + adds r0, r1 + ldrb r3, [r0, 0x2] + cmp r3, 0x1 + beq _0803509A + cmp r3, 0x1 + ble _08035092 + cmp r3, 0x2 + beq _080350A2 +_08035092: + adds r1, r4, 0 + bl sub_80350B0 + b _080350A8 +_0803509A: + adds r1, r4, 0 + bl sub_8035164 + b _080350A8 +_080350A2: + adds r1, r4, 0 + bl sub_80352C0 +_080350A8: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8035044 + + thumb_func_start sub_80350B0 +sub_80350B0: @ 80350B0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + mov r8, r0 + mov r9, r1 + str r2, [sp] + ldr r5, [r0, 0x14] + ldrb r7, [r0, 0x1] + ldr r0, =gMain + mov r10, r0 + cmp r5, 0 + beq _0803511A + lsls r0, r7, 3 + adds r0, 0x3C + mov r1, r10 + adds r6, r0, r1 +_080350D6: + mov r0, r9 + adds r1, r5, 0 + bl __udivsi3 + adds r4, r0, 0 + adds r0, r4, 0 + muls r0, r5 + mov r2, r9 + subs r2, r0 + mov r9, r2 + adds r0, r5, 0 + movs r1, 0xA + bl __udivsi3 + adds r5, r0, 0 + mov r1, r8 + ldrb r0, [r1, 0x9] + adds r1, r4, 0 + muls r1, r0 + mov r2, r8 + ldrh r2, [r2, 0xA] + adds r1, r2 + ldr r2, =0x000003ff + adds r0, r2, 0 + ands r1, r0 + ldrh r0, [r6] + ldr r2, =0xfffffc00 + ands r0, r2 + orrs r0, r1 + strh r0, [r6] + adds r6, 0x8 + adds r7, 0x1 + cmp r5, 0 + bne _080350D6 +_0803511A: + ldr r0, [sp] + cmp r0, 0 + beq _08035140 + lsls r0, r7, 3 + add r0, r10 + adds r0, 0x39 + ldrb r2, [r0] + movs r1, 0x4 + negs r1, r1 + ands r1, r2 + strb r1, [r0] + b _08035154 + .pool +_08035140: + lsls r2, r7, 3 + add r2, r10 + adds r2, 0x39 + ldrb r1, [r2] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + movs r1, 0x2 + orrs r0, r1 + strb r0, [r2] +_08035154: + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80350B0 + + thumb_func_start sub_8035164 +sub_8035164: @ 8035164 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + adds r6, r0, 0 + mov r8, r1 + str r2, [sp] + ldr r5, [r6, 0x14] + ldr r3, =gUnknown_03000DD4 + ldrb r0, [r6, 0x1] + str r0, [r3] + ldr r2, =gUnknown_03000DD8 + movs r0, 0 + str r0, [r2] + ldr r1, =gUnknown_03000DDC + subs r0, 0x1 + str r0, [r1] + adds r7, r3, 0 + mov r10, r1 + ldr r0, =gMain + mov r9, r0 + cmp r5, 0 + beq _0803524C +_08035196: + mov r0, r8 + adds r1, r5, 0 + bl __udivsi3 + adds r4, r0, 0 + adds r0, r4, 0 + muls r0, r5 + mov r1, r8 + subs r1, r0 + mov r8, r1 + adds r0, r5, 0 + movs r1, 0xA + bl __udivsi3 + adds r5, r0, 0 + cmp r4, 0 + bne _080351C8 + mov r2, r10 + ldr r1, [r2] + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _080351C8 + cmp r5, 0 + bne _08035224 +_080351C8: + ldr r2, [r7] + lsls r2, 3 + add r2, r9 + ldrb r0, [r6, 0x9] + adds r3, r4, 0 + muls r3, r0 + ldrh r4, [r6, 0xA] + adds r3, r4 + ldr r1, =0x000003ff + adds r0, r1, 0 + ands r3, r0 + ldrh r0, [r2, 0x3C] + ldr r4, =0xfffffc00 + adds r1, r4, 0 + ands r0, r1 + orrs r0, r3 + strh r0, [r2, 0x3C] + adds r2, 0x39 + ldrb r0, [r2] + movs r1, 0x4 + negs r1, r1 + ands r0, r1 + strb r0, [r2] + mov r2, r10 + ldr r1, [r2] + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _0803523A + ldr r4, =gUnknown_03000DD8 + ldr r0, [r4] + str r0, [r2] + b _0803523A + .pool +_08035224: + ldr r0, [r7] + lsls r0, 3 + add r0, r9 + adds r0, 0x39 + ldrb r1, [r0] + movs r2, 0x4 + negs r2, r2 + ands r1, r2 + movs r2, 0x2 + orrs r1, r2 + strb r1, [r0] +_0803523A: + ldr r0, [r7] + adds r0, 0x1 + str r0, [r7] + ldr r4, =gUnknown_03000DD8 + ldr r0, [r4] + adds r0, 0x1 + str r0, [r4] + cmp r5, 0 + bne _08035196 +_0803524C: + ldr r0, [sp] + cmp r0, 0 + beq _08035298 + ldr r1, [r7] + lsls r1, 3 + add r1, r9 + adds r1, 0x39 + ldrb r2, [r1] + movs r0, 0x4 + negs r0, r0 + ands r0, r2 + strb r0, [r1] + ldr r3, [r7] + lsls r3, 3 + add r3, r9 + movs r1, 0xC + ldrsh r2, [r6, r1] + mov r4, r10 + ldr r0, [r4] + subs r0, 0x1 + ldrb r1, [r6, 0x8] + muls r0, r1 + adds r2, r0 + ldr r1, =0x000001ff + adds r0, r1, 0 + ands r2, r0 + ldrh r1, [r3, 0x3A] + ldr r0, =0xfffffe00 + ands r0, r1 + orrs r0, r2 + strh r0, [r3, 0x3A] + b _080352AE + .pool +_08035298: + ldr r0, [r7] + lsls r0, 3 + add r0, r9 + adds r0, 0x39 + ldrb r2, [r0] + movs r1, 0x4 + negs r1, r1 + ands r1, r2 + movs r2, 0x2 + orrs r1, r2 + strb r1, [r0] +_080352AE: + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8035164 + + thumb_func_start sub_80352C0 +sub_80352C0: @ 80352C0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0xC + mov r8, r0 + mov r10, r1 + str r2, [sp] + ldr r5, [r0, 0x14] + ldrb r3, [r0, 0x1] + movs r0, 0 + str r0, [sp, 0x4] + mov r9, r0 + cmp r5, 0 + beq _0803535A +_080352E0: + lsls r0, r3, 3 + adds r1, r0, 0 + adds r1, 0x39 + ldr r2, =gMain + adds r7, r1, r2 + adds r0, 0x3C + adds r6, r0, r2 +_080352EE: + mov r0, r10 + adds r1, r5, 0 + str r3, [sp, 0x8] + bl __udivsi3 + adds r4, r0, 0 + adds r0, r4, 0 + muls r0, r5 + mov r1, r10 + subs r1, r0 + mov r10, r1 + adds r0, r5, 0 + movs r1, 0xA + bl __udivsi3 + adds r5, r0, 0 + ldr r3, [sp, 0x8] + cmp r4, 0 + bne _0803531E + ldr r2, [sp, 0x4] + cmp r2, 0 + bne _0803531E + cmp r5, 0 + bne _080352E0 +_0803531E: + movs r0, 0x1 + str r0, [sp, 0x4] + mov r1, r8 + ldrb r0, [r1, 0x9] + adds r2, r4, 0 + muls r2, r0 + ldrh r4, [r1, 0xA] + adds r2, r4 + ldr r1, =0x000003ff + adds r0, r1, 0 + ands r2, r0 + ldrh r0, [r6] + ldr r4, =0xfffffc00 + adds r1, r4, 0 + ands r0, r1 + orrs r0, r2 + strh r0, [r6] + ldrb r0, [r7] + movs r2, 0x4 + negs r2, r2 + adds r1, r2, 0 + ands r0, r1 + strb r0, [r7] + adds r7, 0x8 + adds r6, 0x8 + adds r3, 0x1 + movs r4, 0x1 + add r9, r4 + cmp r5, 0 + bne _080352EE +_0803535A: + mov r0, r8 + ldrb r0, [r0, 0x3] + cmp r9, r0 + bge _0803538A + ldr r1, =gMain + movs r5, 0x4 + negs r5, r5 + movs r4, 0x2 + lsls r0, r3, 3 + adds r0, 0x39 + adds r2, r0, r1 +_08035370: + ldrb r1, [r2] + adds r0, r5, 0 + ands r0, r1 + orrs r0, r4 + strb r0, [r2] + adds r2, 0x8 + adds r3, 0x1 + movs r1, 0x1 + add r9, r1 + mov r0, r8 + ldrb r0, [r0, 0x3] + cmp r9, r0 + blt _08035370 +_0803538A: + ldr r1, [sp] + cmp r1, 0 + beq _080353B0 + lsls r0, r3, 3 + ldr r2, =gMain + adds r0, r2 + adds r0, 0x39 + ldrb r2, [r0] + movs r1, 0x4 + negs r1, r1 + ands r1, r2 + strb r1, [r0] + b _080353C6 + .pool +_080353B0: + lsls r2, r3, 3 + ldr r4, =gMain + adds r2, r4 + adds r2, 0x39 + ldrb r1, [r2] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + movs r1, 0x2 + orrs r0, r1 + strb r0, [r2] +_080353C6: + add sp, 0xC + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_80352C0 + + thumb_func_start sub_80353DC +sub_80353DC: @ 80353DC + push {r4-r7,lr} + adds r4, r0, 0 + ldr r0, =gUnknown_02022E10 + ldr r0, [r0] + cmp r0, 0 + beq _0803546E + ldr r2, [r0, 0x4] + lsls r1, r4, 3 + subs r0, r1, r4 + lsls r0, 2 + adds r2, r0, r2 + ldrb r0, [r2] + adds r5, r1, 0 + cmp r0, 0 + beq _0803546E + ldrb r3, [r2, 0x3] + adds r0, r3, 0x1 + ldrb r2, [r2, 0x1] + cmp r0, 0 + beq _08035426 + ldr r1, =gMain + movs r7, 0x4 + negs r7, r7 + movs r6, 0x2 + adds r3, r0, 0 + lsls r0, r2, 3 + adds r0, 0x39 + adds r2, r0, r1 +_08035414: + ldrb r1, [r2] + adds r0, r7, 0 + ands r0, r1 + orrs r0, r6 + strb r0, [r2] + subs r3, 0x1 + adds r2, 0x8 + cmp r3, 0 + bne _08035414 +_08035426: + adds r0, r4, 0 + bl sub_8035570 + cmp r0, 0 + bne _08035442 + ldr r0, =gUnknown_02022E10 + ldr r0, [r0] + ldr r1, [r0, 0x4] + subs r0, r5, r4 + lsls r0, 2 + adds r0, r1 + ldrh r0, [r0, 0x10] + bl FreeSpriteTilesByTag +_08035442: + adds r0, r4, 0 + bl sub_80355B4 + cmp r0, 0 + bne _0803545E + ldr r0, =gUnknown_02022E10 + ldr r0, [r0] + ldr r1, [r0, 0x4] + subs r0, r5, r4 + lsls r0, 2 + adds r0, r1 + ldrh r0, [r0, 0x12] + bl FreeSpritePaletteByTag +_0803545E: + ldr r0, =gUnknown_02022E10 + ldr r0, [r0] + ldr r1, [r0, 0x4] + subs r0, r5, r4 + lsls r0, 2 + adds r0, r1 + movs r1, 0 + strb r1, [r0] +_0803546E: + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_80353DC + + thumb_func_start sub_803547C +sub_803547C: @ 803547C + push {r4-r7,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldr r0, =gUnknown_02022E10 + ldr r1, [r0] + adds r7, r0, 0 + cmp r1, 0 + beq _0803550C + ldr r2, [r1, 0x4] + lsls r1, r4, 3 + subs r0, r1, r4 + lsls r0, 2 + adds r2, r0, r2 + ldrb r0, [r2] + adds r6, r1, 0 + cmp r0, 0 + beq _0803550C + ldrb r3, [r2, 0x3] + adds r1, r3, 0x1 + ldrb r0, [r2, 0x1] + cmp r5, 0 + beq _080354D8 + cmp r1, 0 + beq _0803550C + ldr r1, =gMain + movs r5, 0x4 + negs r5, r5 + movs r4, 0x2 + adds r3, 0x1 + lsls r0, 3 + adds r0, 0x39 + adds r2, r0, r1 +_080354BC: + ldrb r1, [r2] + adds r0, r5, 0 + ands r0, r1 + orrs r0, r4 + strb r0, [r2] + subs r3, 0x1 + adds r2, 0x8 + cmp r3, 0 + bne _080354BC + b _0803550C + .pool +_080354D8: + cmp r1, 0 + beq _080354FA + ldr r1, =gMain + movs r5, 0x4 + negs r5, r5 + adds r3, 0x1 + lsls r0, 3 + adds r0, 0x39 + adds r2, r0, r1 +_080354EA: + ldrb r1, [r2] + adds r0, r5, 0 + ands r0, r1 + strb r0, [r2] + subs r3, 0x1 + adds r2, 0x8 + cmp r3, 0 + bne _080354EA +_080354FA: + ldr r0, [r7] + ldr r1, [r0, 0x4] + subs r0, r6, r4 + lsls r0, 2 + adds r0, r1 + ldr r1, [r0, 0x18] + adds r0, r4, 0 + bl sub_8035044 +_0803550C: + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_803547C + + thumb_func_start sub_8035518 +sub_8035518: @ 8035518 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + movs r5, 0x40 + movs r3, 0 + ldr r0, =gUnknown_02022E10 + ldr r0, [r0] + ldr r2, [r0] + cmp r3, r2 + bcs _0803555A + ldr r1, [r0, 0x4] +_0803552E: + ldrb r0, [r1] + cmp r0, 0 + bne _08035548 + ldrb r0, [r1, 0x1] + cmp r0, 0xFF + beq _08035552 + ldrb r0, [r1, 0x3] + cmp r0, r4 + bhi _08035552 + ldrb r0, [r1, 0x1] + b _0803556A + .pool +_08035548: + adds r0, r5, 0x1 + ldrb r5, [r1, 0x3] + adds r0, r5 + lsls r0, 16 + lsrs r5, r0, 16 +_08035552: + adds r1, 0x1C + adds r3, 0x1 + cmp r3, r2 + bcc _0803552E +_0803555A: + adds r0, r5, r4 + adds r0, 0x1 + cmp r0, 0x80 + bgt _08035568 + lsls r0, r5, 24 + lsrs r0, 24 + b _0803556A +_08035568: + movs r0, 0xFF +_0803556A: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8035518 + + thumb_func_start sub_8035570 +sub_8035570: @ 8035570 + push {r4-r6,lr} + adds r3, r0, 0 + movs r2, 0 + ldr r0, =gUnknown_02022E10 + ldr r0, [r0] + ldr r4, [r0] + cmp r2, r4 + bcs _080355AC + ldr r1, [r0, 0x4] + lsls r0, r3, 3 + subs r0, r3 + lsls r0, 2 + adds r5, r0, r1 +_0803558A: + ldrb r0, [r1] + cmp r0, 0 + beq _080355A4 + cmp r2, r3 + beq _080355A4 + ldrh r0, [r1, 0x10] + ldrh r6, [r5, 0x10] + cmp r0, r6 + bne _080355A4 + movs r0, 0x1 + b _080355AE + .pool +_080355A4: + adds r1, 0x1C + adds r2, 0x1 + cmp r2, r4 + bcc _0803558A +_080355AC: + movs r0, 0 +_080355AE: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8035570 + + thumb_func_start sub_80355B4 +sub_80355B4: @ 80355B4 + push {r4-r6,lr} + adds r3, r0, 0 + movs r2, 0 + ldr r0, =gUnknown_02022E10 + ldr r0, [r0] + ldr r4, [r0] + cmp r2, r4 + bcs _080355F0 + ldr r1, [r0, 0x4] + lsls r0, r3, 3 + subs r0, r3 + lsls r0, 2 + adds r5, r0, r1 +_080355CE: + ldrb r0, [r1] + cmp r0, 0 + beq _080355E8 + cmp r2, r3 + beq _080355E8 + ldrh r0, [r1, 0x12] + ldrh r6, [r5, 0x12] + cmp r0, r6 + bne _080355E8 + movs r0, 0x1 + b _080355F2 + .pool +_080355E8: + adds r1, 0x1C + adds r2, 0x1 + cmp r2, r4 + bcc _080355CE +_080355F0: + movs r0, 0 +_080355F2: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_80355B4 + + thumb_func_start sub_80355F8 +sub_80355F8: @ 80355F8 + ldr r2, =gUnknown_082FF1C8 + lsls r0, 2 + adds r1, r0 + adds r1, r2 + ldrb r0, [r1] + bx lr + .pool + thumb_func_end sub_80355F8 + + thumb_func_start sub_8035608 +sub_8035608: @ 8035608 + push {lr} + bl ResetSpriteData + ldr r0, =gUnknown_0831AC88 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gSprites + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + adds r1, 0x3E + ldrb r0, [r1] + movs r2, 0x4 + orrs r0, r2 + strb r0, [r1] + ldr r0, =sub_8035648 + bl SetMainCallback2 + pop {r0} + bx r0 + .pool + thumb_func_end sub_8035608 + + thumb_func_start sub_8035648 +sub_8035648: @ 8035648 + push {lr} + bl AnimateSprites + bl BuildOamBuffer + pop {r0} + bx r0 + thumb_func_end sub_8035648 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/rotating_gate.s b/asm/rotating_gate.s index 5b7671bf89..da5e730348 100644 --- a/asm/rotating_gate.s +++ b/asm/rotating_gate.s @@ -410,7 +410,7 @@ sub_80FBAE4: @ 80FBAE4 adds r0, r4, 0x4 lsls r0, 24 lsrs r4, r0, 24 - bl sub_811A138 + bl GetPlayerSpeed lsls r0, 16 asrs r0, 16 cmp r0, 0x1 @@ -433,7 +433,7 @@ _080FBB2A: adds r0, 0x8 lsls r0, 24 lsrs r4, r0, 24 - bl sub_811A138 + bl GetPlayerSpeed lsls r0, 16 asrs r0, 16 cmp r0, 0x1 diff --git a/asm/roulette.s b/asm/roulette.s index 009f30717f..e03bbea919 100644 --- a/asm/roulette.s +++ b/asm/roulette.s @@ -423,10 +423,10 @@ _081405F4: _08140618: movs r0, 0 bl SetVBlankCallback - bl remove_some_task + bl ScanlineEffect_Stop bl SetVBlankHBlankCallbacksToNull - bl sub_8121DA0 - bl sub_8121E10 + bl ResetVramOamAndBgCntRegs + bl ResetAllBgsCoordinates b _081407F8 _08140630: bl sub_8140388 @@ -452,14 +452,14 @@ _08140662: lsls r2, 1 movs r1, 0 bl LoadPalette - ldr r1, =gUnknown_08DBC2E8 + ldr r1, =gRouletteMenuTiles movs r4, 0 str r4, [sp] movs r0, 0x1 movs r2, 0 movs r3, 0 bl decompress_and_copy_tile_data_to_vram - ldr r1, =gUnknown_08DBCA14 + ldr r1, =gRouletteWheelTiles str r4, [sp] movs r0, 0x2 movs r2, 0 @@ -508,7 +508,7 @@ _081406E0: ldr r4, =gUnknown_0203AB8C ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] ldr r2, =gUnknown_082A5B89 movs r1, 0x1 @@ -740,7 +740,7 @@ sub_8140914: @ 8140914 ldr r5, =gUnknown_0203AB8C ldrb r0, [r5] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r5] ldr r2, =gUnknown_082A5C13 movs r1, 0x1 @@ -2631,7 +2631,7 @@ sub_814189C: @ 814189C ldr r4, =gUnknown_0203AB8C ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] ldr r2, =gUnknown_082A5BD7 b _08141902 @@ -2643,7 +2643,7 @@ _081418EC: ldr r4, =gUnknown_0203AB8C ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] ldr r2, =gUnknown_082A5BCB _08141902: @@ -2667,7 +2667,7 @@ _08141928: ldr r4, =gUnknown_0203AB8C ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] ldr r2, =gUnknown_082A5BE0 movs r1, 0x1 @@ -2805,7 +2805,7 @@ sub_8141A18: @ 8141A18 ldr r5, =gUnknown_0203AB8C ldrb r0, [r5] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r5] movs r1, 0x1 str r1, [sp] @@ -3001,7 +3001,7 @@ _08141BB0: ldr r4, =gUnknown_0203AB8C ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] ldr r2, =gUnknown_082A5C21 movs r1, 0x1 @@ -3028,7 +3028,7 @@ _08141C58: ldr r4, =gUnknown_0203AB8C ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] ldr r2, =gUnknown_082A5C61 movs r1, 0x1 @@ -3060,7 +3060,7 @@ _08141CBC: ldr r4, =gUnknown_0203AB8C ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] ldr r2, =gUnknown_082A5C04 movs r1, 0x1 @@ -3147,7 +3147,7 @@ _08141D44: ldr r4, =gUnknown_0203AB8C ldrb r0, [r4] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldrb r0, [r4] ldr r2, =gUnknown_082A5C61 movs r1, 0x1 @@ -3258,8 +3258,8 @@ sub_8141E7C: @ 8141E7C ldr r0, =gSpriteCoordOffsetY strh r4, [r0] strh r4, [r1] - bl sub_8121DA0 - bl sub_8121E10 + bl ResetVramOamAndBgCntRegs + bl ResetAllBgsCoordinates movs r0, 0x50 movs r1, 0 bl SetGpuReg @@ -3619,7 +3619,7 @@ _08142174: cmp r3, 0x3 bls _08142144 movs r6, 0 - ldr r0, =gUnknown_085B62E8 + ldr r0, =gUnknown_085B62E4+0x4 add r0, r12 ldr r7, [r0] ldr r4, =gUnknown_0203AB88 @@ -4667,7 +4667,7 @@ sub_81429F0: @ 81429F0 bl StringExpandPlaceholders movs r0, 0 movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame str r5, [sp] movs r0, 0xFF str r0, [sp, 0x4] @@ -4744,7 +4744,7 @@ sub_8142A88: @ 8142A88 beq _08142B28 movs r0, 0 movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldr r2, =gUnknown_082A5B6B str r7, [sp] movs r0, 0xFF @@ -4768,7 +4768,7 @@ _08142B28: bl StringExpandPlaceholders movs r0, 0 movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame movs r0, 0x1 str r0, [sp] movs r0, 0xFF @@ -4798,7 +4798,7 @@ _08142B78: bl StringExpandPlaceholders movs r0, 0 movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame str r7, [sp] movs r0, 0xFF str r0, [sp, 0x4] @@ -4985,7 +4985,7 @@ _08142D24: lsls r1, r5, 1 adds r1, r5 lsls r1, 3 - ldr r0, =gUnknown_085B75B0 + ldr r0, =gSpriteTemplate_85B75B0 adds r0, r1, r0 adds r1, 0x94 adds r2, r4, 0 @@ -5035,7 +5035,7 @@ _08142D86: lsls r1, r6, 1 adds r1, r6 lsls r1, 3 - ldr r0, =gUnknown_085B7508 + ldr r0, =gSpriteTemplate_85B7508 adds r0, r1, r0 adds r1, 0x94 lsls r1, 16 @@ -5070,7 +5070,7 @@ _08142DCC: lsls r2, r6, 1 adds r2, r6 lsls r2, 3 - ldr r0, =gUnknown_085B7568 + ldr r0, =gSpriteTemplate_85B7568 adds r0, r2, r0 adds r2, 0x5C lsls r2, 16 @@ -5278,7 +5278,7 @@ sub_8142F7C: @ 8142F7C movs r0, 0x4 mov r8, r0 _08142F8C: - ldr r0, =gUnknown_085B7928 + ldr r0, =gSpriteTemplate_85B7928 movs r1, 0x74 movs r2, 0x14 movs r3, 0xA @@ -5600,7 +5600,7 @@ _08143216: lsls r0, r1, 1 adds r0, r1 lsls r0, 3 - ldr r1, =gUnknown_085B7610 + ldr r1, =gSpriteTemplate_85B7610 adds r0, r1 movs r1, 0x28 mov r2, sp @@ -5749,7 +5749,7 @@ _08143322: lsrs r5, r0, 24 cmp r5, 0x4 bls _08143322 - ldr r0, =gUnknown_085B77E4 + ldr r0, =gSpriteTemplate_85B77E4 movs r1, 0xD0 movs r2, 0x10 movs r3, 0x4 @@ -6459,7 +6459,7 @@ sub_814391C: @ 814391C str r0, [sp, 0x4] mov r0, sp bl LoadSpriteSheet - ldr r0, =gUnknown_085B7950 + ldr r0, =gSpriteTemplate_85B7950 movs r1, 0x74 movs r2, 0x50 movs r3, 0x51 @@ -6530,7 +6530,7 @@ _081439D0: subs r3, r4 lsls r3, 24 lsrs r3, 24 - ldr r0, =gUnknown_085B7928 + ldr r0, =gSpriteTemplate_85B7928 movs r1, 0x74 movs r2, 0x50 bl CreateSprite @@ -6841,14 +6841,14 @@ _08143BEA: lsls r0, 24 cmp r0, 0 beq _08143C74 - ldr r0, _08143C84 @ =gMPlay_SE1 + ldr r0, _08143C84 @ =gMPlayInfo_SE1 ldr r4, _08143C88 @ =0x0000FFFF ldrh r2, [r7, 0x24] lsls r2, 24 asrs r2, 24 adds r1, r4, 0 bl m4aMPlayPanpotControl - ldr r0, _08143C8C @ =gMPlay_SE2 + ldr r0, _08143C8C @ =gMPlayInfo_SE2 ldrh r2, [r7, 0x24] lsls r2, 24 asrs r2, 24 @@ -6864,11 +6864,11 @@ _08143C74: _08143C80: .4byte 0x00000000 _08143C84: - .4byte gMPlay_SE1 + .4byte gMPlayInfo_SE1 _08143C88: .4byte 0x0000FFFF _08143C8C: - .4byte gMPlay_SE2 + .4byte gMPlayInfo_SE2 thumb_func_end sub_8143B84 thumb_func_start sub_8143C90 @@ -8128,7 +8128,7 @@ sub_81446DC: @ 81446DC lsrs r0, 16 mov r9, r0 ldr r5, =gUnknown_0203AB88 - ldr r0, =gUnknown_085B79F8 + ldr r0, =gSpriteTemplate_85B79F8 movs r2, 0xC negs r2, r2 movs r1, 0x24 @@ -8137,7 +8137,7 @@ sub_81446DC: @ 81446DC ldr r1, [r5] adds r1, 0x73 strb r0, [r1] - ldr r4, =gUnknown_085B7ABC + ldr r4, =gSpriteTemplate_85B7ABC mov r3, r8 movs r0, 0x2E ldrsh r2, [r3, r0] @@ -8353,7 +8353,7 @@ sub_81448B8: @ 81448B8 lsls r0, 16 lsrs r0, 16 mov r9, r0 - ldr r0, =gUnknown_085B7A10 + ldr r0, =gSpriteTemplate_85B7A10 movs r1, 0x2E ldrsh r2, [r7, r1] lsls r2, 2 @@ -8709,12 +8709,12 @@ _08144BAC: mov r5, r10 cmp r5, r8 bcs _08144C18 - ldr r1, =gUnknown_085B6160 + ldr r1, =gUnknown_085B6154+0xC mov r10, r1 _08144BBC: ldr r3, [r4] lsls r0, r6, 3 - ldr r1, =gUnknown_085B62E8 + ldr r1, =gUnknown_085B62E4+0x4 adds r0, r1 ldr r1, [r3, 0x8] ldr r2, [r0] @@ -9385,14 +9385,14 @@ sub_81450D8: @ 81450D8 adds r4, r0 asrs r4, 1 negs r4, r4 - ldr r0, =gMPlay_SE1 + ldr r0, =gMPlayInfo_SE1 ldr r5, =0x0000ffff lsls r4, 24 asrs r4, 24 adds r1, r5, 0 adds r2, r4, 0 bl m4aMPlayPanpotControl - ldr r0, =gMPlay_SE2 + ldr r0, =gMPlayInfo_SE2 adds r1, r5, 0 adds r2, r4, 0 bl m4aMPlayPanpotControl diff --git a/asm/script_menu.s b/asm/script_menu.s index 55ce5736a4..7317317a39 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -24,7 +24,7 @@ ScriptMenu_Multichoice: @ 80E1E08 lsrs r0, 24 cmp r0, 0x1 beq _080E1E4C - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result movs r1, 0xFF strh r1, [r0] movs r0, 0 @@ -70,7 +70,7 @@ ScriptMenu_MultichoiceWithDefault: @ 80E1E58 lsrs r0, 24 cmp r0, 0x1 beq _080E1EA8 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0xFF strh r0, [r1] str r4, [sp] @@ -358,13 +358,13 @@ _080E20B8: bne _080E20FC movs r0, 0x5 bl PlaySE - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x7F strh r0, [r1] b _080E20EC .pool _080E20E8: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] _080E20EC: ldrb r0, [r5, 0xC] @@ -389,7 +389,7 @@ ScriptMenu_YesNo: @ 80E2108 lsrs r0, 24 cmp r0, 0x1 beq _080E2138 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0xFF strh r0, [r1] bl sub_8197930 @@ -410,7 +410,7 @@ _080E213A: thumb_func_start sub_80E2140 sub_80E2140: @ 80E2140 push {lr} - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result ldrh r0, [r0] cmp r0, 0xFF beq _080E2154 @@ -444,7 +444,7 @@ task_yes_no_maybe: @ 80E215C b _080E21C4 .pool _080E2180: - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 movs r0, 0x1 @@ -465,12 +465,12 @@ _080E219C: _080E21A4: movs r0, 0x5 bl PlaySE - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 b _080E21B8 .pool _080E21B4: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 _080E21B8: strh r0, [r1] @@ -517,7 +517,7 @@ ScriptMenu_MultichoiceGrid: @ 80E21D0 b _080E22E8 .pool _080E2210: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result movs r1, 0xFF strh r1, [r0] movs r2, 0 @@ -655,13 +655,13 @@ sub_80E2308: @ 80E2308 bne _080E2360 movs r0, 0x5 bl PlaySE - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x7F strh r0, [r1] b _080E2350 .pool _080E234C: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] _080E2350: ldrb r0, [r5, 0xC] @@ -676,9 +676,9 @@ _080E2360: .pool thumb_func_end sub_80E2308 - thumb_func_start sp109_CreatePCMenu -@ bool sp109_CreatePCMenu() -sp109_CreatePCMenu: @ 80E236C + thumb_func_start ScrSpecial_CreatePCMenu +@ bool ScrSpecial_CreatePCMenu() +ScrSpecial_CreatePCMenu: @ 80E236C push {lr} ldr r0, =sub_80E2058 bl FuncIsActiveTask @@ -686,7 +686,7 @@ sp109_CreatePCMenu: @ 80E236C lsrs r0, 24 cmp r0, 0x1 beq _080E2394 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0xFF strh r0, [r1] bl CreatePCMenu @@ -698,7 +698,7 @@ _080E2394: _080E2396: pop {r1} bx r1 - thumb_func_end sp109_CreatePCMenu + thumb_func_end ScrSpecial_CreatePCMenu thumb_func_start CreatePCMenu CreatePCMenu: @ 80E239C @@ -858,8 +858,8 @@ _080E24C6: .pool thumb_func_end CreatePCMenu - thumb_func_start sub_80E2514 -sub_80E2514: @ 80E2514 + thumb_func_start ScriptMenu_DisplayPCStartupPrompt +ScriptMenu_DisplayPCStartupPrompt: @ 80E2514 push {lr} sub sp, 0x10 movs r0, 0 @@ -877,12 +877,12 @@ sub_80E2514: @ 80E2514 movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized add sp, 0x10 pop {r0} bx r0 .pool - thumb_func_end sub_80E2514 + thumb_func_end ScriptMenu_DisplayPCStartupPrompt thumb_func_start sub_80E2548 sub_80E2548: @ 80E2548 @@ -893,7 +893,7 @@ sub_80E2548: @ 80E2548 lsrs r0, 24 cmp r0, 0x1 beq _080E2570 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0xFF strh r0, [r1] bl sub_80E2578 @@ -1266,7 +1266,7 @@ _080E2860: thumb_func_start sub_80E2878 sub_80E2878: @ 80E2878 push {lr} - ldr r2, =gScriptResult + ldr r2, =gSpecialVar_Result ldrh r0, [r2] cmp r0, 0x7F beq _080E288C @@ -1606,7 +1606,7 @@ _080E2B12: movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized b _080E2B70 .pool _080E2B40: @@ -1630,7 +1630,7 @@ _080E2B40: movs r0, 0 movs r1, 0x1 movs r3, 0 - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized _080E2B70: add sp, 0x10 pop {r4} @@ -1648,7 +1648,7 @@ sp106_CreateStartMenu: @ 80E2B7C lsrs r0, 24 cmp r0, 0x1 beq _080E2BA4 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0xFF strh r0, [r1] bl CreateStartMenu diff --git a/asm/script_movement.s b/asm/script_movement.s old mode 100755 new mode 100644 index 5f06fd1792..8c6a6257cc --- a/asm/script_movement.s +++ b/asm/script_movement.s @@ -553,7 +553,7 @@ _080D36DC: adds r1, r6, 0 bl sub_80D355C adds r0, r4, 0 - bl sub_8097404 + bl FreezeMapObject b _080D370E .pool _080D36F8: diff --git a/asm/script_pokemon_util_80F87D8.s b/asm/script_pokemon_util_80F87D8.s index 98510dd9e8..4f0fb850ba 100644 --- a/asm/script_pokemon_util_80F87D8.s +++ b/asm/script_pokemon_util_80F87D8.s @@ -83,7 +83,7 @@ sub_80F8850: @ 80F8850 thumb_func_start sub_80F8864 sub_80F8864: @ 80F8864 push {lr} - ldr r0, =gScriptContestCategory + ldr r0, =gSpecialVar_ContestCategory ldrh r0, [r0] cmp r0, 0x4 bhi _080F88A4 @@ -157,7 +157,7 @@ sub_80F88E8: @ 80F88E8 ldrb r0, [r0] cmp r0, 0 bne _080F8930 - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank ldrh r0, [r0] cmp r0, 0x3 bne _080F8930 @@ -601,7 +601,7 @@ sub_80F8C7C: @ 80F8C7C ldrb r0, [r0] cmp r0, 0 bne _080F8D18 - ldr r0, =gUnknown_02039F2E + ldr r0, =gSpecialVar_ContestRank ldrh r0, [r0] cmp r0, 0x3 bne _080F8D18 @@ -952,7 +952,7 @@ sub_80F8FA0: @ 80F8FA0 ands r0, r1 cmp r0, 0 bne _080F8FD8 - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result bl GetMultiplayerId lsls r0, 24 lsrs r0, 24 @@ -960,7 +960,7 @@ sub_80F8FA0: @ 80F8FA0 b _080F8FDE .pool _080F8FD8: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x4 strh r0, [r1] _080F8FDE: @@ -987,11 +987,11 @@ sub_80F8FE8: @ 80F8FE8 adds r0, r1 str r0, [r2] lsrs r0, 16 - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result b _080F902A .pool _080F9020: - ldr r4, =gScriptResult + ldr r4, =gSpecialVar_Result bl Random lsls r0, 16 lsrs r0, 16 @@ -1174,8 +1174,8 @@ _080F917A: bx r1 thumb_func_end sub_80F9160 - thumb_func_start sp000_heal_pokemon -sp000_heal_pokemon: @ 80F9180 + thumb_func_start HealPlayerParty +HealPlayerParty: @ 80F9180 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -1267,7 +1267,7 @@ _080F922C: pop {r0} bx r0 .pool - thumb_func_end sp000_heal_pokemon + thumb_func_end HealPlayerParty thumb_func_start ScriptGiveMon @ void ScriptGiveMon(s16 species_num, u8 level, int held_item) @@ -1343,7 +1343,7 @@ ScriptGiveEgg: @ 80F92C8 lsrs r1, 16 mov r0, sp movs r2, 0x1 - bl sub_8070954 + bl CreateEgg add r2, sp, 0x64 movs r0, 0x1 strb r0, [r2] @@ -1359,8 +1359,8 @@ ScriptGiveEgg: @ 80F92C8 bx r1 thumb_func_end ScriptGiveEgg - thumb_func_start sub_80F92F8 -sub_80F92F8: @ 80F92F8 + thumb_func_start HasEnoughMonsForDoubleBattle +HasEnoughMonsForDoubleBattle: @ 80F92F8 push {lr} bl GetMonsStateToDoubles lsls r0, 24 @@ -1376,13 +1376,13 @@ _080F9310: cmp r1, 0x2 bne _080F9318 _080F9314: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] _080F9318: pop {r0} bx r0 .pool - thumb_func_end sub_80F92F8 + thumb_func_end HasEnoughMonsForDoubleBattle thumb_func_start sub_80F9320 sub_80F9320: @ 80F9320 @@ -1550,12 +1550,12 @@ sub_80F9460: @ 80F9460 ldrb r1, [r0] cmp r1, 0 bne _080F9478 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] b _080F947E .pool _080F9478: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _080F947E: @@ -1590,12 +1590,12 @@ sub_80F94B8: @ 80F94B8 ldrb r1, [r0] cmp r1, 0 bne _080F94D0 - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] b _080F94D6 .pool _080F94D0: - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _080F94D6: diff --git a/asm/shop.s b/asm/shop.s index 94756624c2..97dbd07c83 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -188,7 +188,7 @@ HandleShopMenuBuy: @ 80DFBD0 str r0, [r1] movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen pop {r4} pop {r0} bx r0 @@ -216,7 +216,7 @@ HandleShopMenuSell: @ 80DFC0C str r0, [r1] movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen pop {r4} pop {r0} bx r0 @@ -409,7 +409,7 @@ _080DFDAC: adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gUnknown_03006310 + ldr r0, =gMultiuseListMenuTemplate movs r1, 0 movs r2, 0 bl ListMenuInit @@ -448,7 +448,7 @@ _080DFE20: ldr r2, =0x01000100 add r0, sp, 0x8 bl CpuFastSet - bl remove_some_task + bl ScanlineEffect_Stop bl reset_temp_tile_data_buffers bl FreeAllSpritePalettes bl ResetPaletteFade @@ -601,7 +601,7 @@ _080DFF78: movs r0, 0x2 negs r0, r0 str r0, [r1, 0x4] - ldr r3, =gUnknown_03006310 + ldr r3, =gMultiuseListMenuTemplate adds r1, r3, 0 ldr r0, =gUnknown_08589A48 ldm r0!, {r4-r6} @@ -627,7 +627,7 @@ _080DFFDC: _080DFFDE: ldr r0, =gUnknown_02039F70 ldr r0, [r0] - ldr r1, =gUnknown_03006310 + ldr r1, =gMultiuseListMenuTemplate ldrh r1, [r1, 0xE] ldr r2, =0x00002004 adds r0, r2 @@ -839,7 +839,7 @@ _080E0176: adds r0, r6, 0 movs r1, 0x7 adds r3, r7, 0 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 _080E01AC: add sp, 0x14 pop {r4-r7} @@ -969,7 +969,7 @@ _080E02AE: ldr r0, =0x0000083e adds r1, r3, r0 adds r0, r1, 0 - bl AddItemIconObject + bl AddItemIconSprite lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0x40 @@ -1201,7 +1201,7 @@ BuyMenuPrint: @ 80E04A4 str r6, [sp, 0xC] str r1, [sp, 0x10] movs r1, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 add sp, 0x14 pop {r4-r6} pop {r0} @@ -1219,7 +1219,7 @@ BuyMenuDisplayMessage: @ 80E04E8 adds r6, r2, 0 lsls r4, 24 lsrs r4, 24 - bl sav2_get_text_speed + bl GetPlayerTextSpeed lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -1976,7 +1976,7 @@ Task_BuyMenu: @ 80E0AC8 b _080E0C8E _080E0AEA: ldrb r0, [r4, 0xE] - bl ListMenuHandleInput + bl ListMenuHandleInputGetItemId adds r5, r0, 0 ldrb r0, [r4, 0xE] ldr r7, =gUnknown_02039F70 @@ -1985,7 +1985,7 @@ _080E0AEA: adds r1, r2, r3 subs r3, 0x2 adds r2, r3 - bl get_coro_args_x18_x1A + bl sub_81AE860 movs r0, 0x2 negs r0, r0 cmp r5, r0 diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 6390ae9923..88f73fe2c7 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -975,7 +975,7 @@ sub_812ACF4: @ 812ACF4 sub sp, 0xC movs r0, 0 movs r1, 0 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame ldr r2, =gText_YouDontHaveThreeCoins movs r0, 0x1 str r0, [sp] @@ -1543,7 +1543,7 @@ sub_812B158: @ 812B158 sub sp, 0xC movs r0, 0 movs r1, 0 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame ldr r2, =gText_QuitTheGame movs r0, 0x1 str r0, [sp] @@ -1581,7 +1581,7 @@ sub_812B158: @ 812B158 thumb_func_start sub_812B1B0 sub_812B1B0: @ 812B1B0 push {lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1633,7 +1633,7 @@ sub_812B214: @ 812B214 sub sp, 0xC movs r0, 0 movs r1, 0 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame ldr r2, =gText_YouveGot9999Coins movs r0, 0x1 str r0, [sp] @@ -1686,7 +1686,7 @@ sub_812B280: @ 812B280 sub sp, 0xC movs r0, 0 movs r1, 0 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame ldr r2, =gText_YouveRunOutOfCoins movs r0, 0x1 str r0, [sp] @@ -8934,7 +8934,7 @@ sub_812EB48: @ 812EB48 ldrb r3, [r1] adds r1, r3, 0 adds r2, r3, 0 - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents ldrh r0, [r4, 0x38] adds r0, 0x1 movs r1, 0x1 @@ -8979,7 +8979,7 @@ sub_812EBCC: @ 812EBCC movs r1, 0 movs r2, 0 movs r3, 0 - bl sub_80B609C + bl MultiplyInvertedPaletteRGBComponents movs r4, 0 _0812EBEA: ldr r0, =gUnknown_0203AB34 @@ -10588,7 +10588,7 @@ sub_812F7E4: @ 812F7E4 bl Alloc adds r1, r0, 0 str r1, [r4] - ldr r0, =gUnknown_08DD0050 + ldr r0, =gSlotMachineReelTime_Gfx bl LZDecompressWram ldr r4, =gUnknown_0203AAD8 movs r0, 0xD8 @@ -10715,14 +10715,14 @@ sub_812F908: @ 812F908 bl Alloc adds r1, r0, 0 str r1, [r4] - ldr r0, =gUnknown_08DCDB30 + ldr r0, =gSlotMachineMenu_Gfx bl LZDecompressWram ldr r1, [r4] movs r0, 0x2 adds r2, r5, 0 movs r3, 0 bl LoadBgTiles - ldr r0, =gUnknown_08DCDA90 + ldr r0, =gSlotMachineMenu_Pal movs r1, 0 movs r2, 0xA0 bl LoadPalette @@ -10748,7 +10748,7 @@ sub_812F958: @ 812F958 thumb_func_start sub_812F968 sub_812F968: @ 812F968 push {lr} - ldr r1, =gUnknown_08DCE770 + ldr r1, =gSlotMachineMenu_Tilemap movs r2, 0xA0 lsls r2, 3 movs r0, 0x2 diff --git a/asm/smokescreen.s b/asm/smokescreen.s old mode 100755 new mode 100644 diff --git a/asm/start_menu.s b/asm/start_menu.s index 4f8544eea7..5b6652a6f9 100644 --- a/asm/start_menu.s +++ b/asm/start_menu.s @@ -148,7 +148,7 @@ _0809F8E4: lsls r0, 24 lsrs r0, 24 movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldr r1, =gUnknown_02037619 movs r0, 0 strb r0, [r1, 0x1] @@ -170,7 +170,7 @@ _0809F926: b _0809F940 .pool _0809F930: - ldr r4, =gUnknown_0203761A + ldr r4, =gUnknown_02037619+1 adds r0, r4, 0 movs r1, 0x2 bl PrintStartMenuActions @@ -356,7 +356,7 @@ sub_809FA9C: @ 809FA9C bl is_c1_link_related_active cmp r0, 0 bne _0809FAB2 - bl player_bitmagic + bl FreezeMapObjects bl sub_808B864 bl sub_808BCF4 _0809FAB2: @@ -449,7 +449,7 @@ _0809FB34: beq _0809FBA0 movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen b _0809FBA0 .pool _0809FB98: @@ -653,7 +653,7 @@ _0809FD38: bl play_some_sound bl RemoveExtraStartMenuWindows bl overworld_free_bg_tilemaps - ldr r0, =CB2_OptionsMenu + ldr r0, =CB2_InitOptionMenu bl SetMainCallback2 ldr r1, =gMain ldr r0, =sub_8086194 @@ -868,7 +868,7 @@ _0809FF00: bl sub_8197DF8 bl sub_80984F4 bl ScriptContext2_Disable - ldr r0, =gUnknown_08252C88 + ldr r0, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88 bl ScriptContext1_SetupScript movs r0, 0x1 b _0809FF22 @@ -974,13 +974,13 @@ task50_save_game: @ 809FFD0 _0809FFEC: cmp r1, 0x3 bgt _080A0000 - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0 strh r0, [r1] b _080A0000 .pool _0809FFFC: - ldr r0, =gScriptResult + ldr r0, =gSpecialVar_Result strh r1, [r0] _080A0000: adds r0, r4, 0 @@ -1089,7 +1089,7 @@ sub_80A00A0: @ 80A00A0 lsls r0, 24 cmp r0, 0 beq _080A00D4 - ldr r0, =gUnknown_08252CA7 + ldr r0, =BattleFrontier_BattlePyramidEmptySquare_Text_252CA7 ldr r1, =sub_80A00EC bl sub_809FF98 b _080A00DC @@ -1121,7 +1121,7 @@ sub_80A00EC: @ 80A00EC thumb_func_start sub_80A0108 sub_80A0108: @ 80A0108 push {lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1226,7 +1226,7 @@ sub_80A01D0: @ 80A01D0 thumb_func_start sub_80A01EC sub_80A01EC: @ 80A01EC push {lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1415,7 +1415,7 @@ sub_80A035C: @ 80A035C movs r1, 0 bl sub_819746C bl remove_start_menu_window_maybe - ldr r0, =gUnknown_08252CFB + ldr r0, =BattleFrontier_BattlePyramidEmptySquare_Text_252CFB ldr r1, =sub_80A0388 bl sub_809FF98 movs r0, 0 @@ -1441,7 +1441,7 @@ sub_80A0388: @ 80A0388 thumb_func_start sub_80A03A4 sub_80A03A4: @ 80A03A4 push {lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -1510,7 +1510,7 @@ _080A0418: bl SetGpuReg movs r0, 0 bl SetVBlankCallback - bl remove_some_task + bl ScanlineEffect_Stop movs r2, 0xA0 lsls r2, 19 mov r1, sp @@ -1561,7 +1561,7 @@ _080A0490: bl ResetSpriteData bl ResetTasks bl ResetPaletteFade - bl dp12_8087EA4 + bl ScanlineEffect_Clear b _080A04FC _080A04A2: movs r0, 0 @@ -1683,7 +1683,7 @@ _080A05AC: movs r0, 0 movs r1, 0x11 bl FillWindowPixelBuffer - ldr r2, =gUnknown_082C8959 + ldr r2, =gText_SavingDontTurnOffPower movs r4, 0 str r4, [sp] movs r0, 0x2 @@ -1695,7 +1695,7 @@ _080A05AC: movs r0, 0 movs r1, 0x1 movs r3, 0xFF - bl AddTextPrinterParametrized + bl AddTextPrinterParameterized movs r0, 0 movs r1, 0x8 movs r2, 0xE @@ -1832,7 +1832,7 @@ _080A06EC: strb r0, [r6] ldrb r0, [r6] movs r1, 0 - bl sub_81973FC + bl NewMenuHelpers_DrawStdWindowFrame ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] diff --git a/asm/starter_choose.s b/asm/starter_choose.s deleted file mode 100644 index da42959ead..0000000000 --- a/asm/starter_choose.s +++ /dev/null @@ -1,985 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8133EDC -sub_8133EDC: @ 8133EDC - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x3 - bls _08133EE8 - movs r1, 0 -_08133EE8: - ldr r0, =gUnknown_085B1DF8 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - pop {r1} - bx r1 - .pool - thumb_func_end sub_8133EDC - - thumb_func_start sub_8133EF8 -sub_8133EF8: @ 8133EF8 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8133EF8 - - thumb_func_start set_256color_bg_bg0 -set_256color_bg_bg0: @ 8133F0C - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0xC - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0xE - movs r1, 0 - bl SetGpuReg - movs r0, 0xC - movs r1, 0 - bl SetGpuReg - movs r0, 0xA - movs r1, 0 - bl SetGpuReg - movs r0, 0x8 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - add r1, sp, 0x4 - movs r0, 0 - strh r0, [r1] - ldr r2, =0x040000d4 - str r1, [r2] - movs r1, 0xC0 - lsls r1, 19 - str r1, [r2, 0x4] - ldr r0, =0x8100c000 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r0, 0 - mov r9, r0 - str r0, [sp, 0x8] - add r0, sp, 0x8 - str r0, [r2] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r2, 0x4] - ldr r0, =0x85000100 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - add r0, sp, 0x4 - mov r3, r9 - strh r3, [r0] - str r0, [r2] - movs r0, 0xA0 - lsls r0, 19 - str r0, [r2, 0x4] - ldr r0, =0x81000200 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - ldr r0, =gBirchHelpGfx - bl LZ77UnCompVram - ldr r0, =gBirchBagTilemap - ldr r1, =0x06003000 - bl LZ77UnCompVram - ldr r0, =gBirchGrassTilemap - ldr r1, =0x06003800 - bl LZ77UnCompVram - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085B1E00 - movs r0, 0 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r0, =gUnknown_085B1DCC - bl InitWindows - bl DeactivateAllTextPrinters - movs r1, 0xAA - lsls r1, 2 - movs r0, 0 - movs r2, 0xD0 - bl sub_809882C - bl clear_scheduled_bg_copies_to_vram - bl remove_some_task - bl ResetTasks - bl ResetSpriteData - bl ResetPaletteFade - bl FreeAllSpritePalettes - bl dp13_810BB8C - bl sub_8098C64 - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gBirchBagGrassPal - movs r1, 0 - movs r2, 0x40 - bl LoadPalette - ldr r0, =gUnknown_085B1ED8 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085B1EE8 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085B1EF8 - bl LoadSpritePalettes - movs r0, 0x1 - negs r0, r0 - mov r1, r9 - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0x1 - bl EnableInterrupts - ldr r0, =sub_8133EF8 - bl SetVBlankCallback - ldr r0, =sub_81341E0 - bl SetMainCallback2 - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x1F - bl SetGpuReg - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0xFE - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0x7 - bl SetGpuReg - movs r1, 0xC1 - lsls r1, 6 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - ldr r0, =sub_81341FC - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r3, 0x1 - mov r10, r3 - mov r1, r10 - strh r1, [r0, 0x8] - ldr r0, =gUnknown_085B1F10 - movs r1, 0x78 - movs r2, 0x38 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gSprites - mov r8, r3 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - strh r4, [r1, 0x2E] - ldr r6, =gUnknown_085B1F28 - ldr r5, =gUnknown_085B1DEC - ldrb r1, [r5] - ldrb r2, [r5, 0x1] - adds r0, r6, 0 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - strh r4, [r1, 0x2E] - mov r0, r9 - strh r0, [r1, 0x30] - ldrb r1, [r5, 0x2] - ldrb r2, [r5, 0x3] - adds r0, r6, 0 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - strh r4, [r1, 0x2E] - mov r3, r10 - strh r3, [r1, 0x30] - ldrb r1, [r5, 0x4] - ldrb r2, [r5, 0x5] - adds r0, r6, 0 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - strh r4, [r1, 0x2E] - movs r0, 0x2 - strh r0, [r1, 0x30] - ldr r1, =gUnknown_030011F8 - movs r0, 0xFF - strh r0, [r1] - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end set_256color_bg_bg0 - - thumb_func_start sub_81341E0 -sub_81341E0: @ 81341E0 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_81341E0 - - thumb_func_start sub_81341FC -sub_81341FC: @ 81341FC - push {r4,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldrb r0, [r4, 0x8] - bl sub_81344C8 - movs r2, 0xAA - lsls r2, 2 - movs r0, 0 - movs r1, 0 - movs r3, 0xD - bl SetWindowBorderStyle - ldr r2, =gText_BirchInTrouble - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, =sub_813425C - str r0, [r4] - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81341FC - - thumb_func_start sub_813425C -sub_813425C: @ 813425C - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r6, r0, r2 - ldrh r7, [r6, 0x8] - ldrb r4, [r6, 0x8] - ldr r1, =gMain - ldrh r3, [r1, 0x2E] - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _081342F8 - bl sub_8134604 - ldr r0, =gUnknown_085B1F40 - ldr r1, =gUnknown_085B1DEC - lsls r2, r4, 1 - adds r3, r2, r1 - ldrb r5, [r3] - adds r1, 0x1 - adds r2, r1 - ldrb r4, [r2] - adds r1, r5, 0 - adds r2, r4, 0 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0xC] - ldrh r0, [r6, 0x8] - bl sub_8133EDC - lsls r0, 16 - lsrs r0, 16 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_8134690 - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r2, r4, 0 - adds r2, 0x10 - adds r2, r1, r2 - ldr r3, =gUnknown_085B1ED0 - str r3, [r2] - adds r4, 0x1C - adds r1, r4 - ldr r2, =sub_8134774 - str r2, [r1] - strh r0, [r6, 0xA] - ldr r0, =sub_8134340 - str r0, [r6] - b _08134334 - .pool -_081342F8: - movs r0, 0x20 - ands r0, r3 - cmp r0, 0 - beq _08134314 - cmp r4, 0 - beq _08134314 - subs r0, r7, 0x1 - strh r0, [r6, 0x8] - ldr r0, =sub_8134640 - str r0, [r6] - b _08134334 - .pool -_08134314: - ldrh r1, [r1, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08134334 - cmp r4, 0x1 - bhi _08134334 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - ldr r1, =sub_8134640 - str r1, [r0] -_08134334: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813425C - - thumb_func_start sub_8134340 -sub_8134340: @ 8134340 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gSprites - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r2, r1, r2 - movs r0, 0xC - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r3 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _0813437E - movs r3, 0x20 - ldrsh r0, [r1, r3] - cmp r0, 0x78 - bne _0813437E - movs r3, 0x22 - ldrsh r0, [r1, r3] - cmp r0, 0x40 - bne _0813437E - ldr r0, =sub_8134390 - str r0, [r2] -_0813437E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134340 - - thumb_func_start sub_8134390 -sub_8134390: @ 8134390 - push {r4,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldrh r0, [r4, 0x8] - bl sub_8133EDC - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl PlayCry1 - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, =gText_ConfirmStarterChoice - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, =gUnknown_085B1DDC - movs r1, 0xAA - lsls r1, 2 - movs r2, 0xD - movs r3, 0 - bl CreateYesNoMenu - ldr r0, =sub_8134400 - str r0, [r4] - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134390 - - thumb_func_start sub_8134400 -sub_8134400: @ 8134400 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8198C58 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08134426 - cmp r1, 0 - bgt _08134420 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08134450 - b _0813449A -_08134420: - cmp r1, 0x1 - beq _08134450 - b _0813449A -_08134426: - ldr r2, =gScriptResult - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x8] - strh r0, [r2] - bl dp13_810BB8C - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 - b _0813449A - .pool -_08134450: - movs r0, 0x5 - bl PlaySE - ldr r0, =gTasks - lsls r5, r4, 2 - adds r5, r4 - lsls r5, 3 - adds r5, r0 - ldrb r4, [r5, 0xA] - ldr r6, =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl sub_818D820 - ldrb r0, [r5, 0xC] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r6 - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite - ldr r0, =sub_81344AC - str r0, [r5] -_0813449A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134400 - - thumb_func_start sub_81344AC -sub_81344AC: @ 81344AC - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =sub_81341FC - str r0, [r1] - bx lr - .pool - thumb_func_end sub_81344AC - - thumb_func_start sub_81344C8 -sub_81344C8: @ 81344C8 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x34 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r5, 0 - bl sub_8133EDC - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - add r1, sp, 0xC - bl sub_81DB468 - movs r0, 0xB - adds r1, r4, 0 - muls r1, r0 - mov r9, r1 - ldr r0, =gSpeciesNames - add r9, r0 - ldr r0, =gUnknown_085B1DE4 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x2C] - str r1, [sp, 0x30] - ldr r3, =gUnknown_085B1DF2 - lsls r5, 1 - adds r2, r5, r3 - mov r10, r2 - ldrb r0, [r2] - lsls r0, 8 - ldr r1, =0xffff00ff - ldr r2, [sp, 0x2C] - ands r2, r1 - orrs r2, r0 - str r2, [sp, 0x2C] - adds r3, 0x1 - adds r5, r3 - ldrb r1, [r5] - lsls r1, 16 - ldr r0, =0xff00ffff - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x2C] - add r0, sp, 0x2C - bl AddWindow - ldr r4, =gUnknown_030011F8 - strh r0, [r4] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x7 - add r1, sp, 0xC - movs r2, 0x68 - bl GetStringCenterAlignXOffset - adds r2, r0, 0 - ldrb r0, [r4] - lsls r2, 24 - lsrs r2, 24 - ldr r1, =gUnknown_085B1E0C - mov r8, r1 - str r1, [sp] - movs r6, 0 - str r6, [sp, 0x4] - add r1, sp, 0xC - str r1, [sp, 0x8] - movs r1, 0x7 - movs r3, 0x1 - bl box_print - movs r0, 0x1 - mov r1, r9 - movs r2, 0x68 - bl GetStringCenterAlignXOffset - adds r2, r0, 0 - ldrb r0, [r4] - lsls r2, 24 - lsrs r2, 24 - mov r1, r8 - str r1, [sp] - str r6, [sp, 0x4] - mov r1, r9 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x11 - bl box_print - ldrb r0, [r4] - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - mov r2, r10 - ldrb r1, [r2] - lsls r0, r1, 27 - movs r2, 0xFC - lsls r2, 24 - adds r0, r2 - adds r1, 0xD - lsls r1, 3 - adds r1, 0x4 - lsls r1, 24 - ldrb r4, [r5] - lsls r5, r4, 27 - lsrs r5, 24 - adds r4, 0x4 - lsls r4, 27 - lsrs r4, 24 - lsrs r1, 8 - orrs r1, r0 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - lsls r5, 8 - orrs r5, r4 - movs r0, 0x44 - adds r1, r5, 0 - bl SetGpuReg - add sp, 0x34 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81344C8 - - thumb_func_start sub_8134604 -sub_8134604: @ 8134604 - push {r4,lr} - ldr r4, =gUnknown_030011F8 - ldrb r0, [r4] - movs r1, 0 - bl FillWindowPixelBuffer - ldrb r0, [r4] - bl ClearWindowTilemap - ldrb r0, [r4] - bl RemoveWindow - movs r0, 0xFF - strh r0, [r4] - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134604 - - thumb_func_start sub_8134640 -sub_8134640: @ 8134640 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8134604 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_8134668 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134640 - - thumb_func_start sub_8134668 -sub_8134668: @ 8134668 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldrb r0, [r4, 0x8] - bl sub_81344C8 - ldr r0, =sub_813425C - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134668 - - thumb_func_start sub_8134690 -sub_8134690: @ 8134690 - push {lr} - sub sp, 0x10 - lsls r0, 16 - lsrs r0, 16 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - str r1, [sp] - str r2, [sp, 0x4] - movs r1, 0xE - str r1, [sp, 0x8] - ldr r1, =0x0000ffff - str r1, [sp, 0xC] - movs r1, 0x8 - movs r2, 0 - movs r3, 0x1 - bl sub_818D3E4 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldrb r3, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - strb r1, [r2, 0x5] - add sp, 0x10 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8134690 - - thumb_func_start sub_81346DC -sub_81346DC: @ 81346DC - push {r4,lr} - adds r4, r0, 0 - ldr r2, =gUnknown_085B1E28 - ldr r3, =gTasks - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - movs r1, 0x8 - ldrsh r0, [r0, r1] - lsls r0, 1 - adds r0, r2 - ldrb r0, [r0] - strh r0, [r4, 0x20] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - movs r1, 0x8 - ldrsh r0, [r0, r1] - lsls r0, 1 - adds r2, 0x1 - adds r0, r2 - ldrb r0, [r0] - strh r0, [r4, 0x22] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x4 - strh r0, [r4, 0x30] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81346DC - - thumb_func_start sub_813473C -sub_813473C: @ 813473C - push {lr} - adds r3, r0, 0 - ldr r2, =gTasks - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r1, r0 - bne _08134768 - adds r0, r3, 0 - movs r1, 0x1 - bl StartSpriteAnimIfDifferent - b _08134770 - .pool -_08134768: - adds r0, r3, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent -_08134770: - pop {r0} - bx r0 - thumb_func_end sub_813473C - - thumb_func_start sub_8134774 -sub_8134774: @ 8134774 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x20] - movs r3, 0x20 - ldrsh r0, [r1, r3] - cmp r0, 0x78 - ble _08134786 - subs r0, r2, 0x4 - strh r0, [r1, 0x20] -_08134786: - ldrh r2, [r1, 0x20] - movs r3, 0x20 - ldrsh r0, [r1, r3] - cmp r0, 0x77 - bgt _08134794 - adds r0, r2, 0x4 - strh r0, [r1, 0x20] -_08134794: - ldrh r2, [r1, 0x22] - movs r3, 0x22 - ldrsh r0, [r1, r3] - cmp r0, 0x40 - ble _081347A2 - subs r0, r2, 0x2 - strh r0, [r1, 0x22] -_081347A2: - ldrh r2, [r1, 0x22] - movs r3, 0x22 - ldrsh r0, [r1, r3] - cmp r0, 0x3F - bgt _081347B0 - adds r0, r2, 0x2 - strh r0, [r1, 0x22] -_081347B0: - pop {r0} - bx r0 - thumb_func_end sub_8134774 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/title_screen.s b/asm/title_screen.s deleted file mode 100644 index bc9401fb6a..0000000000 --- a/asm/title_screen.s +++ /dev/null @@ -1,1321 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80AA40C -sub_80AA40C: @ 80AA40C - push {lr} - adds r3, r0, 0 - ldr r2, =gTasks - movs r0, 0x30 - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0xA - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _080AA43C - ldrb r0, [r3, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - strb r1, [r3, 0x1] - movs r0, 0x42 - strh r0, [r3, 0x22] - b _080AA46A - .pool -_080AA43C: - ldrh r1, [r3, 0x22] - movs r2, 0x22 - ldrsh r0, [r3, r2] - cmp r0, 0x42 - beq _080AA44A - adds r0, r1, 0x1 - strh r0, [r3, 0x22] -_080AA44A: - ldrh r1, [r3, 0x2E] - movs r2, 0x2E - ldrsh r0, [r3, r2] - cmp r0, 0 - beq _080AA458 - subs r0, r1, 0x1 - strh r0, [r3, 0x2E] -_080AA458: - ldr r0, =gUnknown_0853FF70 - movs r2, 0x2E - ldrsh r1, [r3, r2] - lsls r1, 1 - adds r1, r0 - ldrh r1, [r1] - movs r0, 0x52 - bl SetGpuReg -_080AA46A: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AA40C - - thumb_func_start sub_80AA474 -sub_80AA474: @ 80AA474 - push {lr} - adds r3, r0, 0 - ldr r2, =gTasks - movs r0, 0x30 - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0xA - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _080AA4A0 - ldrb r0, [r3, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - strb r1, [r3, 0x1] - movs r0, 0x42 - b _080AA4AC - .pool -_080AA4A0: - ldrh r1, [r3, 0x22] - movs r2, 0x22 - ldrsh r0, [r3, r2] - cmp r0, 0x42 - beq _080AA4AE - adds r0, r1, 0x1 -_080AA4AC: - strh r0, [r3, 0x22] -_080AA4AE: - pop {r0} - bx r0 - thumb_func_end sub_80AA474 - - thumb_func_start sub_80AA4B4 -sub_80AA4B4: @ 80AA4B4 - push {lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0x1 - bne _080AA4DC - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - bne _080AA4DC - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _080AA4E8 -_080AA4DC: - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_080AA4E8: - pop {r0} - bx r0 - thumb_func_end sub_80AA4B4 - - thumb_func_start sub_80AA4EC -sub_80AA4EC: @ 80AA4EC - push {r4-r7,lr} - lsls r0, 16 - ldr r2, =0xffc00000 - adds r0, r2 - lsrs r0, 16 - movs r6, 0 - lsls r7, r1, 16 -_080AA4FA: - lsls r5, r0, 16 - asrs r5, 16 - ldr r0, =gUnknown_085400D8 - adds r1, r5, 0 - asrs r2, r7, 16 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - adds r0, r4, 0 - adds r1, r6, 0 - bl StartSpriteAnim - movs r0, 0x1 - strh r0, [r4, 0x2E] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r5, 0x20 - lsls r5, 16 - lsrs r0, r5, 16 - cmp r6, 0x4 - bls _080AA4FA - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AA4EC - - thumb_func_start sub_80AA548 -sub_80AA548: @ 80AA548 - push {r4-r6,lr} - lsls r0, 16 - ldr r2, =0xffc00000 - adds r0, r2 - lsrs r0, 16 - movs r5, 0 - lsls r6, r1, 16 -_080AA556: - lsls r4, r0, 16 - asrs r4, 16 - ldr r0, =gUnknown_085400D8 - adds r1, r4, 0 - asrs r2, r6, 16 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, =gSprites - adds r2, r0 - adds r1, r5, 0x5 - lsls r1, 24 - lsrs r1, 24 - adds r0, r2, 0 - bl StartSpriteAnim - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x20 - lsls r4, 16 - lsrs r0, r4, 16 - cmp r5, 0x4 - bls _080AA556 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80AA548 - - thumb_func_start title_screen_logo_shine_obj_callback_type1 -@ void title_screen_logo_shine_obj_callback_type1(struct obj *obj) -title_screen_logo_shine_obj_callback_type1: @ 80AA5A4 - push {r4,lr} - adds r3, r0, 0 - ldrh r2, [r3, 0x20] - movs r0, 0x20 - ldrsh r1, [r3, r0] - ldr r0, =0x0000010f - cmp r1, r0 - bgt _080AA63C - movs r4, 0x2E - ldrsh r0, [r3, r4] - adds r4, r2, 0 - cmp r0, 0 - beq _080AA630 - cmp r1, 0x77 - bgt _080AA5E0 - ldrh r1, [r3, 0x30] - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r0, 0x1E - bgt _080AA5F8 - adds r1, 0x1 - strh r1, [r3, 0x30] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x1E - bgt _080AA5F8 - adds r0, r1, 0x1 - b _080AA5F6 - .pool -_080AA5E0: - ldrh r1, [r3, 0x30] - movs r4, 0x30 - ldrsh r0, [r3, r4] - cmp r0, 0 - beq _080AA5F8 - subs r0, r1, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - cmp r0, 0 - beq _080AA5F8 - subs r0, r1, 0x2 -_080AA5F6: - strh r0, [r3, 0x30] -_080AA5F8: - ldrh r1, [r3, 0x30] - movs r0, 0x1F - ands r0, r1 - lsls r2, r0, 10 - lsls r1, r0, 5 - adds r2, r1 - orrs r2, r0 - movs r1, 0x20 - ldrsh r0, [r3, r1] - ldrh r4, [r3, 0x20] - cmp r0, 0x84 - beq _080AA61C - cmp r0, 0x88 - beq _080AA61C - cmp r0, 0x8C - beq _080AA61C - cmp r0, 0x90 - bne _080AA62C -_080AA61C: - ldr r1, =gPlttBufferFaded - ldr r0, =0x000033f8 - strh r0, [r1] - b _080AA630 - .pool -_080AA62C: - ldr r0, =gPlttBufferFaded - strh r2, [r0] -_080AA630: - adds r0, r4, 0x4 - strh r0, [r3, 0x20] - b _080AA648 - .pool -_080AA63C: - ldr r1, =gPlttBufferFaded - movs r0, 0 - strh r0, [r1] - adds r0, r3, 0 - bl DestroySprite -_080AA648: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end title_screen_logo_shine_obj_callback_type1 - - thumb_func_start title_screen_logo_shine_obj_callback_type2 -@ void title_screen_logo_shine_obj_callback_type2(struct obj *obj) -title_screen_logo_shine_obj_callback_type2: @ 80AA654 - push {lr} - adds r2, r0, 0 - ldrh r3, [r2, 0x20] - movs r0, 0x20 - ldrsh r1, [r2, r0] - ldr r0, =0x0000010f - cmp r1, r0 - bgt _080AA670 - adds r0, r3, 0 - adds r0, 0x8 - strh r0, [r2, 0x20] - b _080AA676 - .pool -_080AA670: - adds r0, r2, 0 - bl DestroySprite -_080AA676: - pop {r0} - bx r0 - thumb_func_end title_screen_logo_shine_obj_callback_type2 - - thumb_func_start title_screen_add_logo_shine_obj -@ void title_screen_add_logo_shine_obj(int a1) -title_screen_add_logo_shine_obj: @ 80AA67C - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - beq _080AA6D0 - cmp r5, 0x1 - bgt _080AA698 - cmp r5, 0 - beq _080AA69C - b _080AA766 -_080AA698: - cmp r5, 0x2 - bne _080AA766 -_080AA69C: - ldr r0, =gUnknown_08540124 - movs r1, 0 - movs r2, 0x44 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x1] - strh r5, [r0, 0x2E] - b _080AA766 - .pool -_080AA6D0: - ldr r0, =gUnknown_08540124 - mov r9, r0 - movs r1, 0 - movs r2, 0x44 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - ldr r6, =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r6 - ldrb r2, [r1, 0x1] - movs r4, 0xD - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - movs r2, 0x8 - mov r8, r2 - mov r2, r8 - orrs r0, r2 - strb r0, [r1, 0x1] - strh r5, [r1, 0x2E] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - mov r0, r9 - movs r1, 0 - movs r2, 0x44 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r5, r6, 0 - adds r5, 0x1C - adds r0, r1, r5 - ldr r2, =title_screen_logo_shine_obj_callback_type2 - mov r10, r2 - str r2, [r0] - adds r1, r6 - ldrb r2, [r1, 0x1] - adds r0, r4, 0 - ands r0, r2 - mov r2, r8 - orrs r0, r2 - strb r0, [r1, 0x1] - movs r1, 0x50 - negs r1, r1 - mov r0, r9 - movs r2, 0x44 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r5, r0, r5 - mov r1, r10 - str r1, [r5] - adds r0, r6 - ldrb r1, [r0, 0x1] - ands r4, r1 - mov r2, r8 - orrs r4, r2 - strb r4, [r0, 0x1] -_080AA766: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end title_screen_add_logo_shine_obj - - thumb_func_start title_screen_vblank_callback -@ void title_screen_vblank_callback() -title_screen_vblank_callback: @ 80AA780 - push {lr} - bl sub_80BA0A8 - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r0, =gBattle_BG1_Y - ldrh r1, [r0] - movs r0, 0x16 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end title_screen_vblank_callback - - thumb_func_start c2_title_screen_1 -@ void c2_title_screen_1() -c2_title_screen_1: @ 80AA7A4 - push {r4,lr} - sub sp, 0x14 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x5 - bhi _080AA7E0 - lsls r0, 2 - ldr r1, =_080AA7C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080AA7C8: - .4byte _080AA7E0 - .4byte _080AA8C4 - .4byte _080AA998 - .4byte _080AA9E0 - .4byte _080AAA14 - .4byte _080AAAF0 -_080AA7E0: - movs r0, 0 - bl SetVBlankCallback - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r1, 0xA0 - lsls r1, 19 - ldr r2, =0x00007fff - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0xC - movs r1, 0 - bl SetGpuReg - movs r0, 0xA - movs r1, 0 - bl SetGpuReg - movs r0, 0x8 - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - add r1, sp, 0xC - movs r0, 0 - strh r0, [r1] - ldr r1, =0x040000d4 - add r0, sp, 0xC - str r0, [r1] - movs r0, 0xC0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, =0x8100c000 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r2, 0 - str r2, [sp, 0x10] - add r0, sp, 0x10 - str r0, [r1] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, =0x85000100 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add r0, sp, 0xC - strh r2, [r0] - str r0, [r1] - ldr r0, =0x05000002 - str r0, [r1, 0x4] - ldr r0, =0x810001ff - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl ResetPaletteFade - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - b _080AAB1E - .pool -_080AA8C4: - ldr r0, =gTitleScreenPokemonLogoGfx - movs r1, 0xC0 - lsls r1, 19 - bl LZ77UnCompVram - ldr r0, =gUnknown_08DE0644 - ldr r1, =0x06004800 - bl LZ77UnCompVram - ldr r0, =gTitleScreenBgPalettes - movs r2, 0xF0 - lsls r2, 1 - movs r1, 0 - bl LoadPalette - ldr r0, =gTitleScreenRayquazaGfx - ldr r1, =0x06008000 - bl LZ77UnCompVram - ldr r0, =gTitleScreenRayquazaTilemap - ldr r1, =0x0600d000 - bl LZ77UnCompVram - ldr r0, =gTitleScreenCloudsGfx - ldr r1, =0x0600c000 - bl LZ77UnCompVram - ldr r0, =gUnknown_08DDE458 - ldr r1, =0x0600d800 - bl LZ77UnCompVram - bl remove_some_task - bl ResetTasks - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r1, =gReservedSpritePaletteCount - movs r0, 0x9 - strb r0, [r1] - ldr r0, =gUnknown_08540048 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085400F0 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0854013C - bl LoadCompressedObjectPic - ldr r0, =gTitleScreenEmeraldVersionPal - movs r1, 0x80 - lsls r1, 1 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_08540100 - bl LoadSpritePalette - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x2 - strb r1, [r0] - b _080AAB1E - .pool -_080AA998: - ldr r0, =task_title_screen_1 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r1, 0x8] - strh r2, [r1, 0xA] - ldr r0, =0x0000fff0 - strh r0, [r1, 0xC] - subs r0, 0x10 - strh r0, [r1, 0xE] - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x3 - strb r1, [r0] - b _080AAB1E - .pool -_080AA9E0: - movs r0, 0x1 - negs r0, r0 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, =title_screen_vblank_callback - bl SetVBlankCallback - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x4 - strb r1, [r0] - b _080AAB1E - .pool -_080AAA14: - movs r2, 0x80 - lsls r2, 1 - movs r0, 0x78 - movs r1, 0x50 - movs r3, 0 - bl sub_816F2A8 - movs r1, 0xE3 - lsls r1, 8 - movs r0, 0x28 - bl SetGpuReg - ldr r4, =0x0000ffff - movs r0, 0x2A - adds r1, r4, 0 - bl SetGpuReg - movs r1, 0xE0 - lsls r1, 8 - movs r0, 0x2C - bl SetGpuReg - movs r0, 0x2E - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x42 - movs r1, 0 - bl SetGpuReg - movs r0, 0x46 - movs r1, 0 - bl SetGpuReg - ldr r1, =0x00001f1f - movs r0, 0x48 - bl SetGpuReg - ldr r1, =0x00003f1f - movs r0, 0x4A - bl SetGpuReg - movs r0, 0x50 - movs r1, 0x84 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0xC - bl SetGpuReg - ldr r1, =0x00001a0b - movs r0, 0x8 - bl SetGpuReg - ldr r1, =0x00001b0e - movs r0, 0xA - bl SetGpuReg - ldr r1, =0x00004981 - movs r0, 0xC - bl SetGpuReg - movs r0, 0x1 - bl EnableInterrupts - ldr r1, =0x0000b441 - movs r0, 0 - bl SetGpuReg - ldr r0, =0x0000019d - bl m4aSongNumStart - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x5 - strb r1, [r0] - b _080AAB1E - .pool -_080AAAF0: - bl UpdatePaletteFade - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080AAB1E - movs r0, 0 - bl title_screen_add_logo_shine_obj - str r4, [sp] - movs r0, 0x4 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0xA0 - movs r2, 0x4 - movs r3, 0x4 - bl sub_80BA384 - ldr r0, =c2_title_screen_2 - bl SetMainCallback2 -_080AAB1E: - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end c2_title_screen_1 - - thumb_func_start c2_title_screen_2 -@ void c2_title_screen_2() -c2_title_screen_2: @ 80AAB2C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end c2_title_screen_2 - - thumb_func_start task_title_screen_1 -@ void task_title_screen_1(int task_id) -task_title_screen_1: @ 80AAB44 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF - ands r0, r1 - ldr r6, =gTasks - cmp r0, 0 - bne _080AAB6A - lsls r0, r5, 2 - adds r1, r0, r5 - lsls r1, 3 - adds r1, r6 - movs r2, 0xA - ldrsh r1, [r1, r2] - adds r4, r0, 0 - cmp r1, 0 - beq _080AAB7C -_080AAB6A: - lsls r3, r5, 2 - adds r0, r3, r5 - lsls r0, 3 - adds r0, r6 - movs r2, 0 - movs r1, 0x1 - strh r1, [r0, 0xA] - strh r2, [r0, 0x8] - adds r4, r3, 0 -_080AAB7C: - adds r0, r4, r5 - lsls r0, 3 - adds r6, r0, r6 - movs r1, 0x8 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _080AABC0 - ldrh r0, [r6, 0x8] - cmp r0, 0xB0 - bne _080AABA0 - movs r0, 0x1 - bl title_screen_add_logo_shine_obj - b _080AABAA - .pool -_080AABA0: - cmp r0, 0x40 - bne _080AABAA - movs r0, 0x2 - bl title_screen_add_logo_shine_obj -_080AABAA: - ldr r0, =gTasks - adds r1, r4, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - subs r0, 0x1 - strh r0, [r1, 0x8] - b _080AAC32 - .pool -_080AABC0: - ldr r1, =0x00001441 - movs r0, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - ldr r1, =0x00003f50 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0x10 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r0, =gUnknown_08540018 - movs r1, 0x62 - movs r2, 0x2 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r0, 0x40 - strh r0, [r1, 0x2E] - strh r5, [r1, 0x30] - ldr r0, =gUnknown_08540030 - movs r1, 0xA2 - movs r2, 0x2 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - strh r5, [r1, 0x30] - movs r0, 0x90 - strh r0, [r6, 0x8] - ldr r0, =task_title_screen_2 - str r0, [r6] -_080AAC32: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end task_title_screen_1 - - thumb_func_start task_title_screen_2 -@ void task_title_screen_2(int task_id) -task_title_screen_2: @ 80AAC50 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF - ands r0, r1 - ldr r2, =gTasks - cmp r0, 0 - bne _080AAC76 - lsls r0, r4, 2 - adds r1, r0, r4 - lsls r1, 3 - adds r1, r2 - movs r3, 0xA - ldrsh r1, [r1, r3] - adds r6, r0, 0 - cmp r1, 0 - beq _080AAC88 -_080AAC76: - lsls r3, r4, 2 - adds r0, r3, r4 - lsls r0, 3 - adds r0, r2 - movs r2, 0 - movs r1, 0x1 - strh r1, [r0, 0xA] - strh r2, [r0, 0x8] - adds r6, r3, 0 -_080AAC88: - ldr r1, =gTasks - adds r0, r6, r4 - lsls r0, 3 - adds r5, r0, r1 - ldrh r0, [r5, 0x8] - movs r1, 0x8 - ldrsh r7, [r5, r1] - cmp r7, 0 - beq _080AACA8 - subs r0, 0x1 - strh r0, [r5, 0x8] - b _080AACE2 - .pool -_080AACA8: - movs r0, 0x1 - strh r0, [r5, 0xA] - ldr r1, =0x00002142 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x00000f06 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r1, =0x00001741 - movs r0, 0 - bl SetGpuReg - movs r0, 0x80 - movs r1, 0x6C - bl sub_80AA4EC - movs r0, 0x80 - movs r1, 0x94 - bl sub_80AA548 - strh r7, [r5, 0x10] - ldr r0, =task_title_screen_3 - str r0, [r5] -_080AACE2: - ldr r2, =gTasks - adds r0, r6, r4 - lsls r0, 3 - adds r3, r0, r2 - ldrh r1, [r3, 0x8] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _080AAD02 - ldrh r1, [r3, 0xC] - movs r5, 0xC - ldrsh r0, [r3, r5] - cmp r0, 0 - beq _080AAD02 - adds r0, r1, 0x1 - strh r0, [r3, 0xC] -_080AAD02: - adds r0, r6, r4 - lsls r0, 3 - adds r3, r0, r2 - ldrh r1, [r3, 0x8] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080AAD20 - ldrh r1, [r3, 0xE] - movs r5, 0xE - ldrsh r0, [r3, r5] - cmp r0, 0 - beq _080AAD20 - adds r0, r1, 0x1 - strh r0, [r3, 0xE] -_080AAD20: - adds r4, r6, r4 - lsls r4, 3 - adds r4, r2 - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r5, r1, 8 - lsls r1, 24 - lsrs r1, 16 - movs r0, 0x2C - bl SetGpuReg - lsrs r5, 16 - movs r0, 0x2E - adds r1, r5, 0 - bl SetGpuReg - movs r0, 0xF - strh r0, [r4, 0x12] - movs r0, 0x6 - strh r0, [r4, 0x14] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end task_title_screen_2 - - thumb_func_start task_title_screen_3 -@ void task_title_screen_3(int task_id) -task_title_screen_3: @ 80AAD64 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080AAD84 - movs r0, 0x8 - ands r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _080AADB0 -_080AAD84: - movs r0, 0x4 - bl FadeOutBGM - movs r0, 0x1 - negs r0, r0 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =Cb2_GoToMainMenu - bl SetMainCallback2 - b _080AAE98 - .pool -_080AADB0: - ldrh r1, [r2, 0x2C] - movs r0, 0x46 - ands r0, r1 - cmp r0, 0x46 - bne _080AADC8 - ldr r0, =c2_clear_save_data_screen_1 - bl SetMainCallback2 - b _080AAE98 - .pool -_080AADC8: - movs r0, 0x26 - ands r0, r1 - cmp r0, 0x26 - bne _080AADFC - bl CanResetRTC - cmp r0, 0x1 - bne _080AADFC - movs r0, 0x4 - bl FadeOutBGM - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =c2_reset_rtc_screen_1 - bl SetMainCallback2 - b _080AAE98 - .pool -_080AADFC: - ldr r0, =gMain - ldrh r1, [r0, 0x2C] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0x6 - bne _080AAE30 - movs r0, 0x4 - bl FadeOutBGM - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =c2_berry_program_update_screen_1 - bl SetMainCallback2 - b _080AAE98 - .pool -_080AAE30: - movs r0, 0x2C - movs r1, 0 - bl SetGpuReg - movs r0, 0x2E - movs r1, 0 - bl SetGpuReg - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r3, r0, r1 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AAE72 - ldrh r0, [r3, 0x10] - adds r0, 0x1 - strh r0, [r3, 0x10] - ldr r2, =gBattle_BG1_Y - movs r1, 0x10 - ldrsh r0, [r3, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r2] - ldr r1, =gBattle_BG1_X - movs r0, 0 - strh r0, [r1] -_080AAE72: - ldrb r0, [r3, 0x8] - bl title_screen_update_rayquaza_ring_palette - ldr r0, =gMPlay_BGM - ldr r1, =0x0000ffff - ldrh r0, [r0, 0x4] - cmp r0, 0 - bne _080AAE98 - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =c2_show_copyright_and_intro_again_1 - bl SetMainCallback2 -_080AAE98: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end task_title_screen_3 - - thumb_func_start Cb2_GoToMainMenu -Cb2_GoToMainMenu: @ 80AAEB8 - push {lr} - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080AAECA - ldr r0, =CB2_InitMainMenu - bl SetMainCallback2 -_080AAECA: - pop {r0} - bx r0 - .pool - thumb_func_end Cb2_GoToMainMenu - - thumb_func_start c2_show_copyright_and_intro_again_1 -c2_show_copyright_and_intro_again_1: @ 80AAED4 - push {lr} - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080AAEE6 - ldr r0, =c2_show_copyright_and_intro_again_2 - bl SetMainCallback2 -_080AAEE6: - pop {r0} - bx r0 - .pool - thumb_func_end c2_show_copyright_and_intro_again_1 - - thumb_func_start c2_clear_save_data_screen_1 -c2_clear_save_data_screen_1: @ 80AAEF0 - push {lr} - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080AAF02 - ldr r0, =CB2_InitClearSaveDataScreen - bl SetMainCallback2 -_080AAF02: - pop {r0} - bx r0 - .pool - thumb_func_end c2_clear_save_data_screen_1 - - thumb_func_start c2_reset_rtc_screen_1 -c2_reset_rtc_screen_1: @ 80AAF0C - push {lr} - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080AAF1E - ldr r0, =sub_809EF88 - bl SetMainCallback2 -_080AAF1E: - pop {r0} - bx r0 - .pool - thumb_func_end c2_reset_rtc_screen_1 - - thumb_func_start c2_berry_program_update_screen_1 -c2_berry_program_update_screen_1: @ 80AAF28 - push {lr} - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080AAF3E - bl m4aMPlayAllStop - ldr r0, =InitBerryFixProgram - bl SetMainCallback2 -_080AAF3E: - pop {r0} - bx r0 - .pool - thumb_func_end c2_berry_program_update_screen_1 - - thumb_func_start title_screen_update_rayquaza_ring_palette -@ void title_screen_update_rayquaza_ring_palette(u8 a1) -title_screen_update_rayquaza_ring_palette: @ 80AAF48 - push {lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r1, r0, 24 - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _080AAF9C - adds r0, r1, 0 - movs r1, 0x80 - bl Cos - lsls r0, 16 - asrs r0, 16 - adds r2, r0, 0 - adds r2, 0x80 - lsls r0, r2, 5 - subs r0, r2 - cmp r0, 0 - bge _080AAF72 - adds r0, 0xFF -_080AAF72: - asrs r0, 8 - movs r3, 0x1F - subs r1, r3, r0 - movs r0, 0x16 - muls r0, r2 - cmp r0, 0 - bge _080AAF82 - adds r0, 0xFF -_080AAF82: - asrs r0, 8 - subs r0, r3, r0 - lsls r0, 5 - orrs r1, r0 - movs r0, 0xC0 - lsls r0, 6 - orrs r1, r0 - mov r0, sp - strh r1, [r0] - movs r1, 0xEF - movs r2, 0x2 - bl LoadPalette -_080AAF9C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end title_screen_update_rayquaza_ring_palette - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/trade.s b/asm/trade.s index ebb624d908..28cfaeb721 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -1,5 +1,6 @@ .include "asm/macros.inc" - .include "constants/constants.inc" + .include "constants/gba_constants.inc" + .include "constants/misc_constants.inc" .syntax unified @@ -401,7 +402,7 @@ _080774B2: ldrb r2, [r0] cmp r2, 0 bne _0807754C - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r5, =0x00001122 adds r0, r5, 0 strh r0, [r1] @@ -414,12 +415,12 @@ _080774B2: cmp r0, 0 beq _08077528 bl sub_800B488 - bl sub_8009734 + bl OpenLink bl sub_8011BA4 b _08077B46 .pool _08077528: - bl sub_8009734 + bl OpenLink ldr r0, =gMain movs r7, 0x87 lsls r7, 3 @@ -464,7 +465,7 @@ _0807757A: b _08077B22 .pool _0807758C: - bl sub_800ABAC + bl GetLinkPlayerCount_2 adds r4, r0, 0 bl sub_800AA48 lsls r4, 24 @@ -473,7 +474,7 @@ _0807758C: bcs _080775A0 b _08077B46 _080775A0: - bl sub_800ABBC + bl IsLinkMaster lsls r0, 24 cmp r0, 0 beq _080775D8 @@ -644,7 +645,7 @@ _080776E2: str r1, [sp, 0x8] adds r0, r5, 0 ldr r1, =sub_80D3014 - bl sub_80D2CC4 + bl CreateMonIcon mov r2, r8 ldr r1, [r2] adds r1, 0x28 @@ -703,7 +704,7 @@ _08077756: str r0, [sp, 0x8] adds r0, r5, 0 ldr r1, =sub_80D3014 - bl sub_80D2CC4 + bl CreateMonIcon mov r2, r8 ldr r1, [r2] adds r1, 0x2E @@ -824,7 +825,7 @@ _080778CA: adds r4, 0x10 _080778DE: add r1, sp, 0x10 - ldr r0, =gUnknown_0832DCAC + ldr r0, =gSpriteTemplate_832DCAC ldm r0!, {r2,r3,r7} stm r1!, {r2,r3,r7} ldm r0!, {r2,r3,r7} @@ -861,7 +862,7 @@ _080778DE: adds r4, 0x88 _0807792C: add r1, sp, 0x10 - ldr r0, =gUnknown_0832DCAC + ldr r0, =gSpriteTemplate_832DCAC ldm r0!, {r2,r3,r7} stm r1!, {r2,r3,r7} ldm r0!, {r2,r3,r7} @@ -887,7 +888,7 @@ _0807792C: b _08077B22 .pool _08077970: - ldr r4, =gUnknown_0832DCAC + ldr r4, =gSpriteTemplate_832DCAC add r1, sp, 0x10 adds r0, r4, 0 ldm r0!, {r2,r3,r7} @@ -925,7 +926,7 @@ _08077970: lsls r5, 13 _080779BC: add r1, sp, 0x10 - ldr r0, =gUnknown_0832DCAC + ldr r0, =gSpriteTemplate_832DCAC ldm r0!, {r2,r3,r7} stm r1!, {r2,r3,r7} ldm r0!, {r2,r3,r7} @@ -946,7 +947,7 @@ _080779BC: adds r6, 0x1 cmp r6, 0x5 ble _080779BC - ldr r0, =gUnknown_0832DC94 + ldr r0, =gSpriteTemplate_832DC94 ldr r2, =gUnknown_0832DE24 ldrb r1, [r2] lsls r1, 19 @@ -1262,7 +1263,7 @@ _08077CA8: str r1, [sp, 0x8] adds r0, r5, 0 ldr r1, =sub_80D3014 - bl sub_80D2CC4 + bl CreateMonIcon mov r2, r8 ldr r1, [r2] adds r1, 0x28 @@ -1321,7 +1322,7 @@ _08077D1E: str r0, [sp, 0x8] adds r0, r5, 0 ldr r1, =sub_80D3014 - bl sub_80D2CC4 + bl CreateMonIcon mov r2, r8 ldr r1, [r2] adds r1, 0x2E @@ -1448,7 +1449,7 @@ _08077EA0: adds r4, 0x10 _08077EB4: add r1, sp, 0xC - ldr r0, =gUnknown_0832DCAC + ldr r0, =gSpriteTemplate_832DCAC ldm r0!, {r2,r3,r7} stm r1!, {r2,r3,r7} ldm r0!, {r2,r3,r7} @@ -1485,7 +1486,7 @@ _08077EB4: adds r4, 0x88 _08077F02: add r1, sp, 0xC - ldr r0, =gUnknown_0832DCAC + ldr r0, =gSpriteTemplate_832DCAC ldm r0!, {r2,r3,r7} stm r1!, {r2,r3,r7} ldm r0!, {r2,r3,r7} @@ -1511,7 +1512,7 @@ _08077F02: b _080780D8 .pool _08077F48: - ldr r4, =gUnknown_0832DCAC + ldr r4, =gSpriteTemplate_832DCAC add r1, sp, 0xC adds r0, r4, 0 ldm r0!, {r2,r3,r7} @@ -1549,7 +1550,7 @@ _08077F48: lsls r5, 13 _08077F94: add r1, sp, 0xC - ldr r0, =gUnknown_0832DCAC + ldr r0, =gSpriteTemplate_832DCAC ldm r0!, {r2,r3,r7} stm r1!, {r2,r3,r7} ldm r0!, {r2,r3,r7} @@ -1588,7 +1589,7 @@ _08077FE4: adds r0, 0x6 _08077FEA: strb r0, [r2] - ldr r0, =gUnknown_0832DC94 + ldr r0, =gSpriteTemplate_832DC94 ldr r3, =gUnknown_0832DE24 ldr r1, [r4] adds r1, 0x35 @@ -1929,7 +1930,7 @@ _080782D4: movs r2, 0 movs r3, 0 bl CopyToBgTilemapBufferRect_ChangePalette - ldr r1, =gUnknown_0832CABC + ldr r1, =gTradeStripesBG2Tilemap movs r2, 0x80 lsls r2, 4 movs r0, 0x2 @@ -1938,7 +1939,7 @@ _080782D4: b _0807837E .pool _08078324: - ldr r1, =gUnknown_0832D2BC + ldr r1, =gTradeStripesBG3Tilemap movs r2, 0x80 lsls r2, 4 movs r0, 0x3 @@ -2142,7 +2143,7 @@ _08078484: .4byte _080786F0 .4byte _08078720 _080784DC: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer ldr r1, =gPlayerParty movs r2, 0xC8 bl sub_8078438 @@ -2208,7 +2209,7 @@ _08078552: b _080787A2 .pool _0807857C: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer ldr r1, =gPlayerParty + 200 movs r2, 0xC8 bl sub_8078438 @@ -2247,7 +2248,7 @@ _080785B6: b _080787A2 .pool _080785E0: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer ldr r1, =gPlayerParty + 400 movs r2, 0xC8 bl sub_8078438 @@ -2286,7 +2287,7 @@ _0807861A: b _080787A2 .pool _08078644: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer ldr r1, =gSaveBlock1Ptr ldr r1, [r1] ldr r2, =0x00002be0 @@ -2328,7 +2329,7 @@ _0807868A: b _080787A2 .pool _080786B4: - ldr r0, =gUnknown_020228C4 + ldr r0, =gBlockSendBuffer ldr r1, =gSaveBlock1Ptr ldr r1, [r1] ldr r2, =0x000031a8 @@ -2392,13 +2393,13 @@ _08078726: mov r2, sp bl GetMonData mov r0, sp - ldr r1, =gUnknown_0832DF94 + ldr r1, =gJPText_Shedinja bl StringCompareWithoutExtCtrlCodes cmp r0, 0 bne _08078766 adds r0, r4, 0 movs r1, 0x2 - ldr r2, =gSpeciesNames + SPECIES_SHEDINJA * POKEMON_NAME_LENGTH + ldr r2, =gSpeciesNames + 303 * POKEMON_NAME_LENGTH @ SPECIES_SHEDINJA bl SetMonData _08078766: adds r4, 0x64 @@ -2442,7 +2443,7 @@ _080787AC: thumb_func_start sub_80787B8 sub_80787B8: @ 80787B8 push {lr} - ldr r0, =gUnknown_0832DAE5 + ldr r0, =gText_IsThisTradeOkay ldr r1, =gUnknown_0203229C ldr r1, [r1] adds r1, 0x72 @@ -3694,7 +3695,7 @@ _0807920E: thumb_func_start sub_8079218 sub_8079218: @ 8079218 push {lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -3796,7 +3797,7 @@ _080792D8: thumb_func_start sub_80792E4 sub_80792E4: @ 80792E4 push {lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 @@ -4436,7 +4437,7 @@ _08079772: lsls r0, 2 add r0, r8 bl sub_80A6DEC - ldr r1, =gUnknown_0832C8BE + ldr r1, =gTradePartyBoxTilemap ldr r0, [sp, 0x64] subs r2, r0, r7 lsls r2, 24 @@ -4489,7 +4490,7 @@ _080798AC: b _08079A24 .pool _080798BC: - ldr r1, =gUnknown_0832C6C0 + ldr r1, =gTradeMovesBoxTilemap ldr r0, [sp, 0x60] lsls r2, r0, 4 subs r2, r0 @@ -4607,7 +4608,7 @@ _080798BC: movs r1, 0x1 movs r2, 0 movs r3, 0 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 adds r0, r5, 0 bl PutWindowTilemap adds r0, r5, 0 @@ -4767,7 +4768,7 @@ _08079AFE: lsrs r4, r0, 16 cmp r4, 0x3 bls _08079ADE - ldr r1, =gUnknown_0832DABC + ldr r1, =gText_EmptyString7 adds r0, r6, 0 bl StringCopy movs r4, 0 @@ -4787,7 +4788,7 @@ _08079B20: bl StringAppend _08079B3C: adds r0, r6, 0 - ldr r1, =gUnknown_0832DAD2 + ldr r1, =gText_NewLine3 bl StringAppend adds r0, r4, 0x1 lsls r0, 16 @@ -4797,10 +4798,10 @@ _08079B3C: b _08079B6C .pool _08079B5C: - ldr r1, =gUnknown_0832DABC + ldr r1, =gText_EmptyString7 adds r0, r6, 0 bl StringCopy - ldr r1, =gUnknown_0832DADF + ldr r1, =gText_FourQuestionMarks adds r0, r6, 0 bl StringAppend _08079B6C: @@ -5112,7 +5113,7 @@ _08079DDE: _08079DF0: add r0, sp, 0xC movs r1, 0 - bl sub_8070ECC + bl NameHasGenderSymbol lsls r0, 24 movs r2, 0x83 cmp r0, 0 @@ -5122,7 +5123,7 @@ _08079DF0: _08079E04: add r0, sp, 0xC movs r1, 0xFE - bl sub_8070ECC + bl NameHasGenderSymbol lsls r0, 24 movs r2, 0x83 cmp r0, 0 @@ -5324,7 +5325,7 @@ sub_8079F88: @ 8079F88 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r1, =gUnknown_0832C8BE + ldr r1, =gTradePartyBoxTilemap lsls r2, r4, 4 subs r2, r4 lsls r2, 24 @@ -5696,7 +5697,7 @@ _0807A2B8: mov r0, sp b _0807A2D6 _0807A2BC: - ldr r0, =gUnknown_0832DCE4 + ldr r0, =gSpritePalette_TradeScreenText bl LoadSpritePalette b _0807A2DA .pool @@ -7024,7 +7025,7 @@ _0807AC92: lsls r0, 1 cmp r1, r0 bls _0807ACC4 - bl sub_80097E8 + bl CloseLink ldr r0, =c2_800ACD4 bl SetMainCallback2 ldr r1, [r4] @@ -7258,11 +7259,11 @@ _0807AEAC: ldrb r0, [r0] cmp r0, 0 bne _0807AEC0 - ldr r1, =gUnknown_020229C6 + ldr r1, =gLinkType ldr r2, =0x00001144 adds r0, r2, 0 strh r0, [r1] - bl sub_80097E8 + bl CloseLink _0807AEC0: ldr r4, =gUnknown_020322A0 movs r5, 0x80 @@ -7330,7 +7331,7 @@ _0807AF58: adds r0, 0xFA movs r1, 0x1 strb r1, [r0] - bl sub_8009734 + bl OpenLink ldr r1, =gMain movs r2, 0x87 lsls r2, 3 @@ -7367,13 +7368,13 @@ _0807AFAC: b _0807B0E4 .pool _0807AFBC: - bl sub_800ABBC + bl IsLinkMaster lsls r0, 24 cmp r0, 0 bne _0807AFC8 b _0807B0DC _0807AFC8: - bl sub_800ABAC + bl GetLinkPlayerCount_2 adds r4, r0, 0 bl sub_800AA48 lsls r4, 24 @@ -7600,7 +7601,7 @@ sub_807B170: @ 807B170 movs r0, 0x3 bl SetBgTilemapBuffer bl DeactivateAllTextPrinters - ldr r0, =gUnknown_08C00000 + ldr r0, =gBattleTextboxTiles mov r10, r0 movs r0, 0 mov r9, r0 @@ -7609,7 +7610,7 @@ sub_807B170: @ 807B170 movs r2, 0 movs r3, 0 bl copy_decompressed_tile_data_to_vram_autofree - ldr r0, =gUnknown_08C00524 + ldr r0, =gBattleTextboxTilemap mov r8, r0 ldr r4, =0x0201c000 adds r1, r4, 0 @@ -7619,7 +7620,7 @@ sub_807B170: @ 807B170 adds r2, r5, 0 movs r3, 0 bl CopyToBgTilemapBuffer - ldr r6, =gUnknown_08C004E0 + ldr r6, =gBattleTextboxPalette adds r0, r6, 0 movs r1, 0 movs r2, 0x20 @@ -7948,7 +7949,7 @@ sub_807B4D0: @ 807B4D0 adds r1, r2 ldr r0, [r0] adds r0, r1 - bl sub_80D439C + bl ClearMailStruct _0807B52A: ldr r4, =gUnknown_020322A0 ldr r0, [r4] @@ -7985,7 +7986,7 @@ _0807B566: ldr r0, =gUnknown_020321C0 adds r1, r0 adds r0, r7, 0 - bl sub_80D460C + bl GiveMailToMon2 _0807B57C: mov r0, r9 bl sub_807B464 @@ -8103,11 +8104,11 @@ _0807B668: ldr r1, =0x00005206 movs r0, 0xC bl SetGpuReg - ldr r0, =gUnknown_08DD7300 + ldr r0, =gTradeGba2_Pal movs r1, 0x10 movs r2, 0x60 bl LoadPalette - ldr r3, =gUnknown_08DD7360 + ldr r3, =gTradeGba_Gfx ldr r4, =0x06004000 movs r5, 0xA1 lsls r5, 5 @@ -8166,7 +8167,7 @@ _0807B726: ldr r1, =0x80000800 str r1, [r0, 0x8] ldr r0, [r0, 0x8] - ldr r3, =gUnknown_08DD7360 + ldr r3, =gTradeGba_Gfx movs r4, 0xC0 lsls r4, 19 movs r5, 0xA1 @@ -8444,11 +8445,11 @@ _0807B9FC: ldr r1, =0x00005206 movs r0, 0xC bl SetGpuReg - ldr r0, =gUnknown_08DD7300 + ldr r0, =gTradeGba2_Pal movs r1, 0x10 movs r2, 0x60 bl LoadPalette - ldr r3, =gUnknown_08DD7360 + ldr r3, =gTradeGba_Gfx ldr r4, =0x06004000 movs r5, 0xA1 lsls r5, 5 @@ -8569,7 +8570,7 @@ _0807BB68: lsls r4, r0, 4 subs r4, r0 lsls r4, 2 - ldr r0, =gUnknown_08338ED0 + ldr r0, =gIngameTrades adds r4, r0 ldr r0, =gStringVar1 adds r1, r4, 0 @@ -9096,7 +9097,7 @@ _0807C1DC: beq _0807C1FC bl _0807CFB4 _0807C1FC: - ldr r0, =gUnknown_08338D28 + ldr r0, =gSpriteTemplate_8338D28 movs r1, 0x78 movs r2, 0x20 movs r3, 0 @@ -9226,7 +9227,7 @@ _0807C318: bl _0807CFB4 _0807C328: bl sub_807AB28 - ldr r0, =gUnknown_08338E74 + ldr r0, =gSpriteTemplate_8338E74 movs r1, 0x78 movs r2, 0x50 movs r3, 0 @@ -9294,7 +9295,7 @@ _0807C3B0: beq _0807C3C4 bl _0807CFB4 _0807C3C4: - ldr r0, =gUnknown_08338DFC + ldr r0, =gSpriteTemplate_8338DFC movs r1, 0x80 movs r2, 0x41 movs r3, 0 @@ -9314,7 +9315,7 @@ _0807C3E0: ldr r1, [r4] adds r1, 0x90 strb r0, [r1] - ldr r0, =gUnknown_08338DC8 + ldr r0, =gSpriteTemplate_8338DC8 movs r1, 0x80 movs r2, 0x50 movs r3, 0 @@ -9453,7 +9454,7 @@ _0807C528: movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade - ldr r5, =gUnknown_08338DC8 + ldr r5, =gSpriteTemplate_8338DC8 adds r0, r5, 0 movs r1, 0x6F movs r2, 0xAA @@ -9602,7 +9603,7 @@ _0807C66C: adds r1, r4, 0 adds r1, 0x10 adds r0, r1 - ldr r1, =gUnknown_08338ECC + ldr r1, =gSpriteAffineAnimTable_8338ECC str r1, [r0] ldrb r1, [r2] lsls r0, r1, 4 @@ -9913,7 +9914,7 @@ _0807C8FA: ldr r1, [r7] adds r1, 0x90 strb r0, [r1] - ldr r0, =gUnknown_08338DC8 + ldr r0, =gSpriteTemplate_8338DC8 movs r1, 0x80 adds r2, r4, 0 movs r3, 0 @@ -10089,7 +10090,7 @@ _0807CA86: bne _0807CA92 b _0807CFB4 _0807CA92: - ldr r0, =gUnknown_08338DFC + ldr r0, =gSpriteTemplate_8338DFC movs r1, 0x80 movs r2, 0x41 movs r3, 0 @@ -10111,7 +10112,7 @@ _0807CA92: b _0807CFB4 .pool _0807CAC8: - ldr r0, =gUnknown_08338E74 + ldr r0, =gSpriteTemplate_8338E74 movs r1, 0x78 movs r2, 0x50 movs r3, 0 @@ -10253,7 +10254,7 @@ _0807CBEC: b _0807CF48 .pool _0807CBF4: - ldr r0, =gUnknown_08338D28 + ldr r0, =gSpriteTemplate_8338D28 movs r2, 0x8 negs r2, r2 movs r1, 0x78 @@ -10445,7 +10446,7 @@ _0807CD1C: str r2, [sp, 0x10] movs r2, 0x78 movs r3, 0x54 - bl sub_8076438 + bl CreatePokeballSpriteToReleaseMon ldr r0, [r7] adds r0, 0xD3 ldrb r1, [r0] @@ -11158,7 +11159,7 @@ _0807D5B8: beq _0807D5D8 bl _0807E400 _0807D5D8: - ldr r0, =gUnknown_08338D28 + ldr r0, =gSpriteTemplate_8338D28 movs r1, 0x78 movs r2, 0x20 movs r3, 0 @@ -11288,7 +11289,7 @@ _0807D6F4: _0807D704: movs r0, 0x3 bl sub_807B62C - ldr r0, =gUnknown_08338E8C + ldr r0, =gSpriteTemplate_8338E8C movs r1, 0x78 movs r2, 0x50 movs r3, 0 @@ -11384,7 +11385,7 @@ _0807D7C4: adds r0, r1 ldr r1, =sub_807AA4C str r1, [r0] - ldr r0, =gUnknown_08338DC8 + ldr r0, =gSpriteTemplate_8338DC8 movs r1, 0x78 movs r2, 0x50 movs r3, 0 @@ -11522,7 +11523,7 @@ _0807D924: movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade - ldr r5, =gUnknown_08338DC8 + ldr r5, =gSpriteTemplate_8338DC8 adds r0, r5, 0 movs r1, 0x6F movs r2, 0xAA @@ -11676,7 +11677,7 @@ _0807DA74: adds r1, r4, 0 adds r1, 0x10 adds r0, r1 - ldr r1, =gUnknown_08338ECC + ldr r1, =gSpriteAffineAnimTable_8338ECC str r1, [r0] ldrb r1, [r2] lsls r0, r1, 4 @@ -12006,7 +12007,7 @@ _0807DD02: adds r0, r1 ldr r1, =sub_807AA4C str r1, [r0] - ldr r0, =gUnknown_08338DC8 + ldr r0, =gSpriteTemplate_8338DC8 movs r1, 0x78 adds r2, r4, 0 movs r3, 0 @@ -12216,7 +12217,7 @@ _0807DF12: strh r6, [r5] b _0807E398 _0807DF16: - ldr r0, =gUnknown_08338E74 + ldr r0, =gSpriteTemplate_8338E74 movs r1, 0x78 movs r2, 0x50 movs r3, 0 @@ -12358,7 +12359,7 @@ _0807E038: b _0807E394 .pool _0807E040: - ldr r0, =gUnknown_08338D28 + ldr r0, =gSpriteTemplate_8338D28 movs r2, 0x8 negs r2, r2 movs r1, 0x78 @@ -12550,7 +12551,7 @@ _0807E168: str r2, [sp, 0x10] movs r2, 0x78 movs r3, 0x54 - bl sub_8076438 + bl CreatePokeballSpriteToReleaseMon ldr r0, [r7] adds r0, 0xD3 ldrb r1, [r0] @@ -13182,7 +13183,7 @@ sub_807E73C: @ 807E73C lsls r4, r0, 4 subs r4, r0 lsls r4, 2 - ldr r0, =gUnknown_08338ED0 + ldr r0, =gIngameTrades adds r4, r0 ldr r0, =gStringVar1 ldrh r1, [r4, 0x38] @@ -13212,7 +13213,7 @@ sub_807E784: @ 807E784 lsls r4, r0, 4 subs r4, r0 lsls r4, 2 - ldr r0, =gUnknown_08338ED0 + ldr r0, =gIngameTrades adds r4, r0 ldr r0, =gSpecialVar_0x8005 ldrh r1, [r0] @@ -13251,7 +13252,7 @@ sub_807E7E8: @ 807E7E8 lsls r2, r1, 4 subs r2, r1 lsls r2, 2 - ldr r1, =gUnknown_08338ED0 + ldr r1, =gIngameTrades adds r5, r2, r1 movs r1, 0x64 muls r0, r1 @@ -13367,7 +13368,7 @@ sub_807E7E8: @ 807E7E8 ldrh r0, [r5, 0x28] cmp r0, 0 beq _0807E960 - bl itemid_is_mail + bl ItemIsMail lsls r0, 24 cmp r0, 0 beq _0807E954 @@ -13440,7 +13441,7 @@ _0807E98E: bl StringCopy adds r0, r4, 0 movs r1, 0 - bl sub_81DB4DC + bl PadNameString ldr r1, [r6, 0x18] lsrs r0, r1, 24 strb r0, [r5, 0x1A] @@ -13814,7 +13815,7 @@ _0807ED98: movs r0, 0x32 strb r0, [r1] ldr r4, =gStringVar4 - ldr r1, =gUnknown_082C8959 + ldr r1, =gText_SavingDontTurnOffPower _0807EDA6: adds r0, r4, 0 bl StringExpandPlaceholders @@ -14294,7 +14295,7 @@ sub_807F1A8: @ 807F1A8 movs r1, 0x1 movs r2, 0 movs r3, 0x2 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 adds r0, r5, 0 movs r1, 0x3 bl CopyWindowToVram @@ -14668,7 +14669,7 @@ _0807F50A: movs r1, 0x3 strb r1, [r0] ldr r4, =gStringVar4 - ldr r1, =gUnknown_082C8959 + ldr r1, =gText_SavingDontTurnOffPower adds r0, r4, 0 bl StringExpandPlaceholders movs r0, 0 diff --git a/asm/trader.s b/asm/trader.s index 8e0b17905c..a43f594023 100644 --- a/asm/trader.s +++ b/asm/trader.s @@ -335,7 +335,7 @@ _08133CCA: sub_8133CD8: @ 8133CD8 ldr r0, =gSaveBlock1Ptr ldr r0, [r0] - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result ldr r2, =0x00002e59 adds r0, r2 ldrb r0, [r0] @@ -348,7 +348,7 @@ sub_8133CD8: @ 8133CD8 sub_8133CF4: @ 8133CF4 push {r4,r5,lr} movs r4, 0 - ldr r5, =gScriptResult + ldr r5, =gSpecialVar_Result _08133CFA: adds r0, r4, 0 bl CountDecorationCategoryN @@ -365,7 +365,7 @@ _08133D10: lsrs r4, r0, 24 cmp r4, 0x7 bls _08133CFA - ldr r1, =gScriptResult + ldr r1, =gSpecialVar_Result movs r0, 0x1 strh r0, [r1] _08133D20: @@ -378,7 +378,7 @@ _08133D20: thumb_func_start sub_8133D2C sub_8133D2C: @ 8133D2C push {r4-r6,lr} - ldr r6, =gScriptResult + ldr r6, =gSpecialVar_Result movs r0, 0 strh r0, [r6] ldr r4, =gDecorations diff --git a/asm/trainer_card.s b/asm/trainer_card.s index bee1f4f7f2..4ccd04e98c 100644 --- a/asm/trainer_card.s +++ b/asm/trainer_card.s @@ -18,7 +18,7 @@ sub_80C2690: @ 80C2690 cmp r0, 0 beq _080C26C0 ldr r1, =0x040000d4 - ldr r0, =gUnknown_02038C28 + ldr r0, =gScanlineEffectRegBuffers str r0, [r1] movs r2, 0xF0 lsls r2, 3 @@ -40,7 +40,7 @@ sub_80C26D4: @ 80C26D4 ldrh r3, [r4] movs r0, 0 strh r0, [r4] - ldr r1, =gUnknown_02038C28 + ldr r1, =gScanlineEffectRegBuffers ldr r0, =0x04000006 ldrh r2, [r0] movs r0, 0xFF @@ -409,7 +409,7 @@ _080C2A2C: bl sub_800AC34 movs r0, 0 movs r1, 0x1 - bl sub_81973C4 + bl NewMenuHelpers_DrawDialogueFrame ldr r2, =gText_WaitingTrainerFinishReading movs r0, 0x1 str r0, [sp] @@ -601,12 +601,12 @@ _080C2C04: ldrb r0, [r0] cmp r0, 0 beq _080C2C28 - ldr r0, =gUnknown_08DD1AB8 + ldr r0, =gEmeraldTrainerCard_Gfx ldr r2, =0x000019a8 b _080C2C4A .pool _080C2C28: - ldr r0, =gUnknown_08DD246C + ldr r0, =gFireRedTrainerCard_Gfx ldr r2, =0x000019a8 b _080C2C4A .pool @@ -1556,7 +1556,7 @@ sub_80C3404: @ 80C3404 sub_80C3414: @ 80C3414 push {lr} bl ResetTasks - bl remove_some_task + bl ScanlineEffect_Stop ldr r0, =sub_80C2760 movs r1, 0 bl CreateTask @@ -3082,7 +3082,7 @@ _080C4214: movs r1, 0x60 movs r2, 0 movs r3, 0 - bl sub_80A2BAC + bl TintPalette_CustomTone b _080C424A _080C422A: adds r0, r4, r5 @@ -3094,7 +3094,7 @@ _080C422A: lsls r1, 1 str r1, [sp] movs r1, 0x60 - bl sub_80A2BAC + bl TintPalette_CustomTone b _080C424A _080C4242: adds r0, r4, r5 @@ -3317,7 +3317,7 @@ _080C4418: ldrb r0, [r0] cmp r0, 0 beq _080C447C - ldr r1, =gUnknown_0856FAE4 + ldr r1, =gEmeraldTrainerCardStarPals ldr r3, =0x00000535 adds r0, r2, r3 ldrb r0, [r0] @@ -3344,7 +3344,7 @@ _080C4418: b _080C44B2 .pool _080C447C: - ldr r1, =gUnknown_0856FAF8 + ldr r1, =gFireRedTrainerCardStarPals ldr r3, =0x00000535 adds r0, r2, r3 ldrb r0, [r0] @@ -3976,10 +3976,10 @@ sub_80C4998: @ 80C4998 bl HideBg movs r0, 0x3 bl HideBg - bl remove_some_task - bl dp12_8087EA4 + bl ScanlineEffect_Stop + bl ScanlineEffect_Clear movs r1, 0 - ldr r0, =gUnknown_02038C28 + ldr r0, =gScanlineEffectRegBuffers movs r2, 0 movs r3, 0xF0 lsls r3, 3 @@ -4066,7 +4066,7 @@ _080C4A0E: movs r2, 0 cmp r2, r7 bcs _080C4A78 - ldr r3, =gUnknown_02038C28 + ldr r3, =gScanlineEffectRegBuffers _080C4A60: lsls r0, r2, 16 asrs r0, 16 @@ -4091,7 +4091,7 @@ _080C4A78: lsrs r7, r4, 16 cmp r1, r0 bge _080C4AB0 - ldr r0, =gUnknown_02038C28 + ldr r0, =gScanlineEffectRegBuffers mov r12, r0 adds r4, r3, 0 _080C4A92: @@ -4116,7 +4116,7 @@ _080C4AB0: asrs r0, r1, 16 cmp r0, 0x9F bgt _080C4ACE - ldr r2, =gUnknown_02038C28 + ldr r2, =gScanlineEffectRegBuffers _080C4ABC: asrs r0, r1, 16 lsls r1, r0, 1 @@ -4392,7 +4392,7 @@ _080C4CB6: movs r2, 0 cmp r2, r7 bcs _080C4D20 - ldr r3, =gUnknown_02038C28 + ldr r3, =gScanlineEffectRegBuffers _080C4D08: lsls r0, r2, 16 asrs r0, 16 @@ -4417,7 +4417,7 @@ _080C4D20: lsrs r7, r4, 16 cmp r1, r0 bge _080C4D56 - ldr r0, =gUnknown_02038C28 + ldr r0, =gScanlineEffectRegBuffers mov r12, r0 adds r4, r3, 0 _080C4D3A: @@ -4441,7 +4441,7 @@ _080C4D56: asrs r0, r1, 16 cmp r0, 0x9F bgt _080C4D74 - ldr r2, =gUnknown_02038C28 + ldr r2, =gScanlineEffectRegBuffers _080C4D62: asrs r0, r1, 16 lsls r1, r0, 1 @@ -5000,7 +5000,7 @@ _080C5240: adds r0, r2 ldrh r0, [r0] strh r0, [r1, 0x6] - bl sub_8185290 + bl CanCopyRecordedBattleSaveData ldr r3, [r5] movs r1, 0x1 ands r0, r1 @@ -5310,7 +5310,7 @@ _080C54AC: _080C54D8: movs r0, 0 bl SetVBlankCallback - bl remove_some_task + bl ScanlineEffect_Stop bl SetVBlankHBlankCallbacksToNull movs r0, 0x2 bl DisableInterrupts @@ -5594,7 +5594,7 @@ _080C577C: bl HideBg movs r0, 0 bl SetVBlankCallback - bl remove_some_task + bl ScanlineEffect_Stop bl SetVBlankHBlankCallbacksToNull b _080C57E4 _080C57A6: @@ -5766,7 +5766,7 @@ sub_80C58D4: @ 80C58D4 beq _080C5914 cmp r0, 0x2 beq _080C591C - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic b _080C5924 .pool _080C5914: @@ -5825,7 +5825,7 @@ _080C5970: strh r0, [r1, 0x6] bl sub_80C52E4 ldr r0, =sub_80C58D4 - bl sub_8185E24 + bl PlayRecordedBattle b _080C599A .pool _080C5994: @@ -7189,7 +7189,7 @@ _080C64F0: _080C6510: movs r0, 0 bl SetVBlankCallback - bl remove_some_task + bl ScanlineEffect_Stop bl SetVBlankHBlankCallbacksToNull b _080C6694 _080C6520: @@ -7400,7 +7400,7 @@ _080C66FC: _080C6722: movs r0, 0 bl SetVBlankCallback - bl remove_some_task + bl ScanlineEffect_Stop bl SetVBlankHBlankCallbacksToNull b _080C67A4 _080C6732: @@ -8258,7 +8258,7 @@ _080C6E08: str r1, [sp, 0x10] movs r1, 0x1 movs r3, 0x1 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 ldr r0, [sp, 0x4C] mov r10, r4 cmp r0, 0x6 @@ -8410,7 +8410,7 @@ sub_80C6EAC: @ 80C6EAC movs r1, 0x1 movs r2, 0 movs r3, 0x2 - bl AddTextPrinterParametrized2 + bl AddTextPrinterParameterized2 lsrs r5, 1 adds r0, r7, 0 ldr r1, [sp, 0x24] diff --git a/asm/trainer_rematch.s b/asm/trainer_rematch.s old mode 100755 new mode 100644 index b814934a3c..1c874f28ff --- a/asm/trainer_rematch.s +++ b/asm/trainer_rematch.s @@ -178,14 +178,14 @@ sub_81DA6CC: @ 81DA6CC push {r4-r6,lr} adds r5, r0, 0 movs r4, 0 - ldr r6, =gUnknown_085500A4 + ldr r6, =gRematchTable _081DA6D4: lsls r0, r4, 1 lsls r1, r5, 4 adds r0, r1 adds r0, r6 ldrh r0, [r0] - bl HasTrainerAlreadyBeenFought + bl HasTrainerBeenFought lsls r0, 24 cmp r0, 0 bne _081DA6F0 diff --git a/asm/trainer_see.s b/asm/trainer_see.s deleted file mode 100644 index 59dd9f74b0..0000000000 --- a/asm/trainer_see.s +++ /dev/null @@ -1,1645 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start CheckForTrainersWantingBattle -@ bool8 CheckForTrainersWantingBattle() -CheckForTrainersWantingBattle: @ 80B3BE8 - push {r4-r7,lr} - ldr r0, =gUnknown_030060A8 - movs r1, 0 - strb r1, [r0] - ldr r0, =gUnknown_02038BFC - strb r1, [r0] - movs r4, 0 - ldr r6, =gMapObjects -_080B3BF8: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r6 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _080B3C38 - ldrb r0, [r1, 0x7] - cmp r0, 0x1 - beq _080B3C12 - cmp r0, 0x3 - bne _080B3C38 -_080B3C12: - adds r0, r4, 0 - bl CheckIfTrainerWantsBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080B3C42 - cmp r0, 0 - beq _080B3C38 - ldr r0, =gUnknown_030060A8 - ldrb r1, [r0] - adds r5, r0, 0 - cmp r1, 0x1 - bhi _080B3C88 - bl GetMonsStateToDoubles_2 - lsls r0, 24 - cmp r0, 0 - bne _080B3C42 -_080B3C38: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _080B3BF8 -_080B3C42: - ldr r0, =gUnknown_030060A8 - ldrb r4, [r0] - adds r5, r0, 0 - cmp r4, 0x1 - bne _080B3C88 - bl ResetTrainerOpponentIds - ldr r2, =gUnknown_03006090 - ldrb r0, [r5] - subs r0, 0x1 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, 0x4 - adds r1, r2 - ldr r1, [r1] - bl SingleTrainerWantsBattle - ldr r0, =gUnknown_030060AC - strb r4, [r0] - movs r0, 0x1 - b _080B3CF4 - .pool -_080B3C88: - ldrb r0, [r5] - cmp r0, 0x2 - bne _080B3CEC - bl ResetTrainerOpponentIds - movs r4, 0 - ldrb r5, [r5] - cmp r4, r5 - bcs _080B3CC6 - ldr r6, =gUnknown_03006090 - adds r7, r6, 0x4 - ldr r5, =gUnknown_02038BFC -_080B3CA0: - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - adds r0, r1, r6 - ldrb r0, [r0] - adds r1, r7 - ldr r1, [r1] - bl TwoTrainersWantBattle - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - ldr r0, =gUnknown_030060A8 - ldrb r0, [r0] - cmp r4, r0 - bcc _080B3CA0 -_080B3CC6: - bl TwoTrainersWantBattleExecuteScript - ldr r1, =gUnknown_02038BFC - movs r0, 0 - strb r0, [r1] - ldr r1, =gUnknown_030060AC - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x1 - b _080B3CF4 - .pool -_080B3CEC: - ldr r1, =gUnknown_030060AC - movs r0, 0 - strb r0, [r1] - movs r0, 0 -_080B3CF4: - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end CheckForTrainersWantingBattle - - thumb_func_start CheckIfTrainerWantsBattle -@ u8 CheckIfTrainerWantsBattle(u8 trainerFieldObjectId) -CheckIfTrainerWantsBattle: @ 80B3D00 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x1 - mov r9, r0 - bl InTrainerHill - cmp r0, 0x1 - bne _080B3D1E - bl sub_81D62AC - b _080B3D24 -_080B3D1E: - adds r0, r5, 0 - bl GetFieldObjectScriptPointerByFieldObjectId -_080B3D24: - adds r7, r0, 0 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _080B3D3E - adds r0, r5, 0 - bl GetBattlePyramidTrainerFlag -_080B3D36: - lsls r0, 24 -_080B3D38: - cmp r0, 0 - beq _080B3D56 - b _080B3DE0 -_080B3D3E: - bl InTrainerHill - cmp r0, 0x1 - bne _080B3D4E - adds r0, r5, 0 - bl GetTrainerHillTrainerFlag - b _080B3D36 -_080B3D4E: - adds r0, r7, 0 - bl GetTrainerFlagFromScriptPointer - b _080B3D38 -_080B3D56: - lsls r4, r5, 3 - adds r0, r4, r5 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - bl CheckIfTrainerCanApproachPlayer - lsls r0, 24 - lsrs r6, r0, 24 - mov r8, r4 - cmp r6, 0 - beq _080B3DE0 - ldrb r0, [r7, 0x1] - cmp r0, 0x4 - beq _080B3D7C - cmp r0, 0x7 - beq _080B3D7C - cmp r0, 0x6 - bne _080B3D8A -_080B3D7C: - bl GetMonsStateToDoubles_2 - lsls r0, 24 - cmp r0, 0 - bne _080B3DE0 - movs r1, 0x2 - mov r9, r1 -_080B3D8A: - ldr r2, =gUnknown_03006090 - ldr r4, =gUnknown_030060A8 - ldrb r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strb r5, [r0] - ldrb r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r1, r2, 0x4 - adds r0, r1 - str r7, [r0] - ldrb r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strb r6, [r0, 0x1] - mov r1, r8 - adds r0, r1, r5 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - subs r1, r6, 0x1 - lsls r1, 24 - lsrs r1, 24 - bl TrainerApproachPlayer - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - mov r0, r9 - b _080B3DE2 - .pool -_080B3DE0: - movs r0, 0 -_080B3DE2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckIfTrainerWantsBattle - - thumb_func_start CheckIfTrainerCanApproachPlayer -@ u8 CheckIfTrainerCanApproachPlayer(struct npc_state *trainerFieldObject) -CheckIfTrainerCanApproachPlayer: @ 80B3DF0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r7, r0, 0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - ldrb r0, [r7, 0x7] - mov r8, r4 - cmp r0, 0x1 - bne _080B3E50 - ldr r1, =gIsTrainerInRange - ldrb r0, [r7, 0x18] - lsls r0, 28 - lsrs r0, 26 - subs r0, 0x4 - adds r0, r1 - ldrb r1, [r7, 0x1D] - mov r2, sp - movs r3, 0 - ldrsh r2, [r2, r3] - movs r5, 0 - ldrsh r3, [r4, r5] - ldr r4, [r0] - adds r0, r7, 0 - bl _call_via_r4 - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r2, [r7, 0x18] - lsls r2, 28 - lsrs r2, 28 - adds r0, r7, 0 - adds r1, r6, 0 - bl CheckPathBetweenTrainerAndPlayer - lsls r0, 24 - lsrs r0, 24 - b _080B3E90 - .pool -_080B3E4C: - adds r0, r6, 0 - b _080B3E90 -_080B3E50: - movs r5, 0 -_080B3E52: - ldr r0, =gIsTrainerInRange - lsls r4, r5, 2 - adds r4, r0 - ldrb r1, [r7, 0x1D] - mov r0, sp - movs r6, 0 - ldrsh r2, [r0, r6] - mov r0, r8 - movs r6, 0 - ldrsh r3, [r0, r6] - ldr r4, [r4] - adds r0, r7, 0 - bl _call_via_r4 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl CheckPathBetweenTrainerAndPlayer - lsls r0, 24 - cmp r0, 0 - bne _080B3E4C - adds r5, r4, 0 - cmp r5, 0x3 - bls _080B3E52 - movs r0, 0 -_080B3E90: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end CheckIfTrainerCanApproachPlayer - - thumb_func_start IsTrainerInRangeSouth -@ u8 IsTrainerInRangeSouth(struct npc_state *trainerFieldObject, u16 sightRange, u16 playerX, u16 playerY) -IsTrainerInRangeSouth: @ 80B3EA0 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r3, 16 - lsrs r5, r3, 16 - movs r1, 0x10 - ldrsh r0, [r4, r1] - lsls r2, 16 - asrs r2, 16 - cmp r0, r2 - bne _080B3EDA - lsls r0, r5, 16 - asrs r2, r0, 16 - ldrh r3, [r4, 0x12] - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r2, r0 - ble _080B3EDA - adds r1, r0, 0 - lsls r0, r6, 16 - asrs r0, 16 - adds r1, r0 - cmp r2, r1 - bgt _080B3EDA - subs r0, r5, r3 - lsls r0, 24 - lsrs r0, 24 - b _080B3EDC -_080B3EDA: - movs r0, 0 -_080B3EDC: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsTrainerInRangeSouth - - thumb_func_start IsTrainerInRangeNorth -@ u8 IsTrainerInRangeNorth(struct npc_state *trainerFieldObject, u16 sightRange, u16 playerX, u16 playerY) -IsTrainerInRangeNorth: @ 80B3EE4 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r3, 16 - lsrs r5, r3, 16 - movs r1, 0x10 - ldrsh r0, [r4, r1] - lsls r2, 16 - asrs r2, 16 - cmp r0, r2 - bne _080B3F1E - lsls r0, r5, 16 - asrs r2, r0, 16 - ldrh r3, [r4, 0x12] - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r2, r0 - bge _080B3F1E - adds r1, r0, 0 - lsls r0, r6, 16 - asrs r0, 16 - subs r1, r0 - cmp r2, r1 - blt _080B3F1E - subs r0, r3, r5 - lsls r0, 24 - lsrs r0, 24 - b _080B3F20 -_080B3F1E: - movs r0, 0 -_080B3F20: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsTrainerInRangeNorth - - thumb_func_start IsTrainerInRangeWest -@ u8 IsTrainerInRangeWest(struct npc_state *trainerFieldObject, u16 sightRange, u16 playerX, u16 playerY) -IsTrainerInRangeWest: @ 80B3F28 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r3, 16 - asrs r3, 16 - cmp r0, r3 - bne _080B3F62 - lsls r0, r5, 16 - asrs r3, r0, 16 - ldrh r2, [r4, 0x10] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r3, r0 - bge _080B3F62 - adds r1, r0, 0 - lsls r0, r6, 16 - asrs r0, 16 - subs r1, r0 - cmp r3, r1 - blt _080B3F62 - subs r0, r2, r5 - lsls r0, 24 - lsrs r0, 24 - b _080B3F64 -_080B3F62: - movs r0, 0 -_080B3F64: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsTrainerInRangeWest - - thumb_func_start IsTrainerInRangeEast -@ u8 IsTrainerInRangeEast(struct npc_state *trainerFieldObject, u16 sightRange, u16 playerX, u16 playerY) -IsTrainerInRangeEast: @ 80B3F6C - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r3, 16 - asrs r3, 16 - cmp r0, r3 - bne _080B3FA6 - lsls r0, r5, 16 - asrs r3, r0, 16 - ldrh r2, [r4, 0x10] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r3, r0 - ble _080B3FA6 - adds r1, r0, 0 - lsls r0, r6, 16 - asrs r0, 16 - adds r1, r0 - cmp r3, r1 - bgt _080B3FA6 - subs r0, r5, r2 - lsls r0, 24 - lsrs r0, 24 - b _080B3FA8 -_080B3FA6: - movs r0, 0 -_080B3FA8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsTrainerInRangeEast - - thumb_func_start CheckPathBetweenTrainerAndPlayer -@ u8 CheckPathBetweenTrainerAndPlayer(struct npc_state *fieldObject, u8 a2, u8 direction) -CheckPathBetweenTrainerAndPlayer: @ 80B3FB0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r6, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r7, r2, 24 - cmp r1, 0 - beq _080B4056 - ldrh r1, [r6, 0x10] - mov r0, sp - strh r1, [r0] - ldrh r0, [r6, 0x12] - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - adds r0, r7, 0 - mov r1, sp - adds r2, r4, 0 - bl MoveCoords - movs r5, 0 - mov r8, r4 - mov r4, r9 - subs r4, 0x1 - cmp r5, r4 - bge _080B4028 -_080B3FEE: - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - mov r3, r8 - movs r0, 0 - ldrsh r2, [r3, r0] - adds r0, r6, 0 - adds r3, r7, 0 - bl sub_8092C8C - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080B4014 - movs r0, 0x2 - negs r0, r0 - ands r1, r0 - cmp r1, 0 - bne _080B4056 -_080B4014: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r7, 0 - mov r1, sp - mov r2, r8 - bl MoveCoords - cmp r5, r4 - blt _080B3FEE -_080B4028: - ldrb r4, [r6, 0x19] - lsls r5, r4, 28 - lsrs r5, 28 - lsrs r4, 4 - movs r0, 0 - strb r0, [r6, 0x19] - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - mov r3, r8 - movs r0, 0 - ldrsh r2, [r3, r0] - adds r0, r6, 0 - adds r3, r7, 0 - bl npc_block_way - lsls r0, 24 - lsrs r1, r0, 24 - lsls r4, 4 - orrs r5, r4 - strb r5, [r6, 0x19] - cmp r1, 0x4 - beq _080B405A -_080B4056: - movs r0, 0 - b _080B405C -_080B405A: - mov r0, r9 -_080B405C: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckPathBetweenTrainerAndPlayer - - thumb_func_start TrainerApproachPlayer -@ void TrainerApproachPlayer(struct npc_state *trainerFieldObject, u8 distance) -TrainerApproachPlayer: @ 80B406C - push {r4,r5,lr} - lsls r5, r1, 24 - lsrs r5, 24 - ldr r0, =c3_8081EDC - movs r1, 0x50 - bl CreateTask - ldr r4, =gUnknown_03006090 - ldr r3, =gUnknown_030060A8 - ldrb r2, [r3] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - strb r0, [r1, 0x8] - ldrb r1, [r3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x8] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - strh r5, [r1, 0xE] - ldrb r2, [r3] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0] - strh r0, [r1, 0x16] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end TrainerApproachPlayer - - thumb_func_start sub_80B40C8 -sub_80B40C8: @ 80B40C8 - push {r4,r5,lr} - adds r2, r0, 0 - ldr r0, =gUnknown_02038BFC - ldrb r0, [r0] - cmp r0, 0 - bne _080B40E4 - ldr r0, =gUnknown_03006090 - ldrb r5, [r0, 0x8] - b _080B40E8 - .pool -_080B40E4: - ldr r0, =gUnknown_03006090 - ldrb r5, [r0, 0x14] -_080B40E8: - ldr r4, =c3_8081EDC - adds r0, r5, 0 - adds r1, r4, 0 - bl SetTaskFuncWithFollowupFunc - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x8] - adds r0, r5, 0 - bl _call_via_r4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B40C8 - - thumb_func_start c3_8081EDC -c3_8081EDC: @ 80B4118 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r0, 0x16 - ldrsh r1, [r4, r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r0, [r5] - lsls r0, 31 - cmp r0, 0 - bne _080B4150 - adds r0, r6, 0 - bl SwitchTaskToFollowupFunc - b _080B416C - .pool -_080B4150: - ldr r7, =gTrainerSeeFuncList -_080B4152: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r7 - ldr r3, [r0] - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl _call_via_r3 - lsls r0, 24 - cmp r0, 0 - bne _080B4152 -_080B416C: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end c3_8081EDC - - thumb_func_start sub_80B4178 -sub_80B4178: @ 80B4178 - movs r0, 0 - bx lr - thumb_func_end sub_80B4178 - - thumb_func_start sub_80B417C -sub_80B417C: @ 80B417C - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - ldr r1, =gFieldEffectArguments - adds r2, r1, 0x4 - adds r3, r1, 0 - adds r3, 0x8 - adds r0, r4, 0 - bl FieldObjectGetLocalIdAndMap - movs r0, 0 - bl FieldEffectStart - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B417C - - thumb_func_start sub_80B41C0 -sub_80B41C0: @ 80B41C0 - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - movs r0, 0 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - beq _080B41D6 - movs r0, 0 - b _080B41F8 -_080B41D6: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldrb r0, [r5, 0x6] - subs r0, 0x39 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080B41EC - movs r0, 0x6 - strh r0, [r4, 0x8] -_080B41EC: - ldrb r0, [r5, 0x6] - cmp r0, 0x3F - bne _080B41F6 - movs r0, 0x8 - strh r0, [r4, 0x8] -_080B41F6: - movs r0, 0x1 -_080B41F8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B41C0 - - thumb_func_start sub_80B4200 -sub_80B4200: @ 80B4200 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080B421E - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B4252 -_080B421E: - movs r1, 0xE - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080B4244 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetGoSpeed0AnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0xE] - subs r0, 0x1 - strh r0, [r5, 0xE] - b _080B4252 -_080B4244: - adds r0, r4, 0 - movs r1, 0x3E - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080B4252: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B4200 - - thumb_func_start sub_80B425C -sub_80B425C: @ 80B425C - push {r4-r6,lr} - adds r6, r1, 0 - adds r5, r2, 0 - adds r0, r5, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080B427A - adds r0, r5, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B4308 -_080B427A: - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl npc_running_behaviour_by_direction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl npc_set_running_behaviour_etc - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl npc_running_behaviour_by_direction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_808F23C - adds r0, r5, 0 - bl sub_808F208 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080B42D2 - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B4308 -_080B42D2: - bl sub_808BCE8 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gMapObjects - adds r4, r0 - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetOppositeDirection - lsls r0, 24 - lsrs r0, 24 - bl GetFaceDirectionAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] -_080B4308: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B425C - - thumb_func_start sub_80B4318 -sub_80B4318: @ 80B4318 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080B4344 - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B434A -_080B4344: - adds r0, r5, 0 - bl SwitchTaskToFollowupFunc -_080B434A: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B4318 - - thumb_func_start sub_80B435C -sub_80B435C: @ 80B435C - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080B437A - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B4388 -_080B437A: - adds r0, r4, 0 - movs r1, 0x59 - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080B4388: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B435C - - thumb_func_start sub_80B4390 -sub_80B4390: @ 80B4390 - push {r4,lr} - adds r4, r1, 0 - adds r0, r2, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B43A4 - movs r0, 0x3 - strh r0, [r4, 0x8] -_080B43A4: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B4390 - - thumb_func_start sub_80B43AC -sub_80B43AC: @ 80B43AC - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080B43CA - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080B43D8 -_080B43CA: - adds r0, r4, 0 - movs r1, 0x3E - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080B43D8: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B43AC - - thumb_func_start sub_80B43E0 -sub_80B43E0: @ 80B43E0 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl FieldObjectCheckIfSpecialAnimFinishedOrInactive - lsls r0, 24 - cmp r0, 0 - beq _080B4426 - ldr r2, =gFieldEffectArguments - movs r1, 0x10 - ldrsh r0, [r4, r1] - str r0, [r2] - movs r1, 0x12 - ldrsh r0, [r4, r1] - str r0, [r2, 0x4] - ldr r3, =gSprites - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x43 - ldrb r0, [r0] - subs r0, 0x1 - str r0, [r2, 0x8] - movs r0, 0x2 - str r0, [r2, 0xC] - movs r0, 0x31 - bl FieldEffectStart - strh r0, [r5, 0x10] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080B4426: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B43E0 - - thumb_func_start sub_80B4438 -sub_80B4438: @ 80B4438 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - ldr r2, =gSprites - movs r1, 0x10 - ldrsh r0, [r5, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x2B - ldrb r0, [r1] - cmp r0, 0x2 - bne _080B44A0 - ldrb r1, [r4, 0x3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x3] - ldrb r0, [r4] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x5] - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl sub_80934BC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080B44A0: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B4438 - - thumb_func_start sub_80B44AC -sub_80B44AC: @ 80B44AC - push {r4,lr} - adds r4, r1, 0 - movs r0, 0x31 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _080B44C0 - movs r0, 0x3 - strh r0, [r4, 0x8] -_080B44C0: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B44AC - - thumb_func_start sub_80B44C8 -sub_80B44C8: @ 80B44C8 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - adds r0, r4, 0 - adds r0, 0xA - mov r1, sp - bl LoadWordFromTwoHalfwords - movs r1, 0x16 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080B44FA - ldr r0, [sp] - bl FieldObjectClearAnim - ldrh r0, [r4, 0x16] - adds r0, 0x1 - strh r0, [r4, 0x16] -_080B44FA: - ldr r1, =gTrainerSeeFuncList2 - movs r2, 0x8 - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r2, [sp] - ldr r3, [r0] - adds r0, r5, 0 - adds r1, r4, 0 - bl _call_via_r3 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x3 - bne _080B4564 - movs r0, 0x31 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _080B4564 - ldr r4, [sp] - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl npc_running_behaviour_by_direction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl npc_set_running_behaviour_etc - ldr r4, [sp] - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl npc_running_behaviour_by_direction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_808F23C - adds r0, r5, 0 - bl DestroyTask - b _080B456E - .pool -_080B4564: - ldr r2, [sp] - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] -_080B456E: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80B44C8 - - thumb_func_start sub_80B4578 -sub_80B4578: @ 80B4578 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =sub_80B44C8 - movs r1, 0 - bl CreateTask - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r0, r1 - adds r0, 0x2 - adds r1, r4, 0 - bl StoreWordInTwoHalfwords - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B4578 - - thumb_func_start sub_80B45AC -sub_80B45AC: @ 80B45AC - push {lr} - ldr r0, =sub_80B45BC - bl sub_80B40C8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B45AC - - thumb_func_start sub_80B45BC -sub_80B45BC: @ 80B45BC - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_80B45BC - - thumb_func_start sub_80B45D0 -sub_80B45D0: @ 80B45D0 - push {lr} - ldr r0, =gUnknown_030060A8 - ldrb r0, [r0] - cmp r0, 0x2 - bne _080B4610 - ldr r1, =gUnknown_02038BFC - ldrb r0, [r1] - cmp r0, 0 - bne _080B460C - adds r0, 0x1 - strb r0, [r1] - ldr r1, =gScriptResult - movs r0, 0x1 - strh r0, [r1] - bl UnfreezeMapObjects - ldr r0, =gUnknown_03006090 - ldrb r0, [r0, 0xC] - bl sub_80974D0 - b _080B4616 - .pool -_080B460C: - movs r0, 0 - strb r0, [r1] -_080B4610: - ldr r1, =gScriptResult - movs r0, 0 - strh r0, [r1] -_080B4616: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B45D0 - - thumb_func_start oei_exclamation_mark -oei_exclamation_mark: @ 80B4620 - push {lr} - ldr r0, =gSpriteTemplate_85507B4 - movs r1, 0 - movs r2, 0 - movs r3, 0x53 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080B4648 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0 - movs r2, 0 - bl sub_80B46D8 -_080B4648: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end oei_exclamation_mark - - thumb_func_start sub_80B4658 -sub_80B4658: @ 80B4658 - push {lr} - ldr r0, =gSpriteTemplate_85507B4 - movs r1, 0 - movs r2, 0 - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080B4680 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x21 - movs r2, 0x1 - bl sub_80B46D8 -_080B4680: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B4658 - - thumb_func_start sub_80B4690 -sub_80B4690: @ 80B4690 - push {r4,lr} - ldr r0, =gSpriteTemplate_85507CC - movs r1, 0 - movs r2, 0 - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080B46C6 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x2E - movs r2, 0 - bl sub_80B46D8 - ldrb r1, [r4, 0x5] - movs r0, 0xF - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r4, 0x5] -_080B46C6: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B4690 - - thumb_func_start sub_80B46D8 -@ void sub_80B46D8(struct obj *object, s16 a2, u8 a3) -sub_80B46D8: @ 80B46D8 - push {r4,lr} - lsls r2, 24 - lsrs r2, 24 - ldrb r4, [r0, 0x5] - movs r3, 0xD - negs r3, r3 - ands r3, r4 - movs r4, 0x4 - orrs r3, r4 - strb r3, [r0, 0x5] - movs r3, 0x3E - adds r3, r0 - mov r12, r3 - ldrb r3, [r3] - movs r4, 0x2 - orrs r3, r4 - mov r4, r12 - strb r3, [r4] - ldr r4, =gFieldEffectArguments - ldr r3, [r4] - strh r3, [r0, 0x2E] - ldr r3, [r4, 0x4] - strh r3, [r0, 0x30] - ldr r3, [r4, 0x8] - strh r3, [r0, 0x32] - ldr r3, =0x0000fffb - strh r3, [r0, 0x34] - strh r1, [r0, 0x3C] - adds r1, r2, 0 - bl StartSpriteAnim - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B46D8 - - thumb_func_start objc_exclamation_mark_probably -objc_exclamation_mark_probably: @ 80B4724 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080B4756 - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080B4764 -_080B4756: - ldrh r1, [r4, 0x3C] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldEffectStop - b _080B47B2 -_080B4764: - ldr r2, =gMapObjects - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - ldrh r3, [r4, 0x34] - ldrh r0, [r4, 0x36] - adds r2, r3, r0 - strh r2, [r4, 0x36] - ldrh r0, [r1, 0x20] - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x22] - subs r0, 0x10 - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x24] - strh r0, [r4, 0x24] - ldrh r0, [r1, 0x26] - adds r0, r2 - strh r0, [r4, 0x26] - lsls r2, 16 - asrs r2, 16 - cmp r2, 0 - beq _080B47B0 - adds r0, r3, 0x1 - strh r0, [r4, 0x34] - b _080B47B2 - .pool -_080B47B0: - strh r2, [r4, 0x34] -_080B47B2: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end objc_exclamation_mark_probably - - thumb_func_start sub_80B47BC -sub_80B47BC: @ 80B47BC - push {lr} - ldr r0, =gUnknown_02038BFC - ldrb r0, [r0] - cmp r0, 0 - beq _080B47D4 - ldr r0, =gUnknown_03006090 - ldrb r0, [r0, 0xC] - b _080B47D8 - .pool -_080B47D4: - ldr r0, =gUnknown_03006090 - ldrb r0, [r0] -_080B47D8: - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B47BC - - thumb_func_start sub_80B47E0 -sub_80B47E0: @ 80B47E0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _080B47EE - movs r0, 0 - b _080B4800 -_080B47EE: - cmp r0, 0 - beq _080B47FC - ldr r0, =gUnknown_03006090 - ldrb r0, [r0, 0xC] - b _080B4800 - .pool -_080B47FC: - ldr r0, =gUnknown_03006090 - ldrb r0, [r0] -_080B4800: - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B47E0 - - thumb_func_start sub_80B4808 -sub_80B4808: @ 80B4808 - push {lr} - ldr r0, =gUnknown_030060AC - ldrb r0, [r0] - cmp r0, 0x1 - bne _080B4870 - ldr r2, =gUnknown_03006090 - ldr r0, =gUnknown_03006080 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - ldrb r0, [r0, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetOppositeDirection - lsls r0, 24 - lsrs r0, 24 - bl GetFaceDirectionAnimId - ldr r3, =gUnknown_03006084 - strb r0, [r3] - movs r0, 0xFE - strb r0, [r3, 0x1] - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0xFF - bl ScriptMovement_StartObjectMovementScript - b _080B489E - .pool -_080B4870: - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - ldrb r0, [r0, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionAnimId - ldr r3, =gUnknown_03006084 - strb r0, [r3] - movs r0, 0xFE - strb r0, [r3, 0x1] - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0xFF - bl ScriptMovement_StartObjectMovementScript -_080B489E: - movs r0, 0xFF - bl sub_809BE48 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B4808 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/unk_81BAD84.s b/asm/unk_81BAD84.s deleted file mode 100644 index 2a95feed49..0000000000 --- a/asm/unk_81BAD84.s +++ /dev/null @@ -1,57 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81BAD84 -sub_81BAD84: @ 81BAD84 - push {r4-r6,lr} - movs r6, 0x80 - lsls r6, 19 - movs r2, 0 - strh r2, [r6] - ldr r1, =0x04000010 - strh r2, [r1] - adds r1, 0x2 - strh r2, [r1] - adds r1, 0x3E - strh r2, [r1] - ldr r5, =gUnknown_08617128 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 2 - adds r0, r4, r5 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 19 - bl LZ77UnCompVram - adds r0, r5, 0x4 - adds r0, r4, r0 - ldr r0, [r0] - ldr r1, =0x0600f800 - bl LZ77UnCompVram - adds r5, 0x8 - adds r4, r5 - ldr r0, [r4] - movs r1, 0xA0 - lsls r1, 19 - movs r4, 0x80 - lsls r4, 1 - adds r2, r4, 0 - bl CpuSet - ldr r1, =0x04000008 - movs r2, 0xF8 - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - strh r4, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81BAD84 - - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/unk_sprite_file.s b/asm/unk_sprite_file.s deleted file mode 100755 index 5a25b8e088..0000000000 --- a/asm/unk_sprite_file.s +++ /dev/null @@ -1,607 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81DA700 -sub_81DA700: @ 81DA700 - push {lr} - sub sp, 0x8 - add r1, sp, 0x4 - mov r0, sp - bl sub_8149F58 - ldr r0, =gUnknown_0862AD54 - ldr r1, [sp, 0x4] - bl LZ77UnCompVram - ldr r0, =gUnknown_0862AF30 - ldr r1, [sp] - bl LZ77UnCompVram - ldr r0, =gUnknown_0862B53C - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_0862B724 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_0862B72C - bl LoadSpritePalette - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DA700 - - thumb_func_start sub_81DA74C -sub_81DA74C: @ 81DA74C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - ldr r0, [sp, 0x24] - ldr r1, [sp, 0x28] - ldr r4, [sp, 0x2C] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - lsls r3, 24 - lsrs r3, 24 - mov r10, r3 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r4, 24 - lsrs r7, r4, 24 - ldr r0, =gUnknown_0862B758 - lsls r5, 16 - asrs r5, 16 - lsls r6, 16 - asrs r6, 16 - adds r1, r5, 0 - adds r2, r6, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - cmp r7, 0x1 - beq _081DA7D0 - cmp r7, 0x1 - bgt _081DA7A8 - cmp r7, 0 - beq _081DA7B8 - b _081DA7AC - .pool -_081DA7A8: - cmp r7, 0x2 - beq _081DA7E4 -_081DA7AC: - ldr r6, =gSprites - lsls r3, r5, 4 - b _081DA7F8 - .pool -_081DA7B8: - ldr r2, =gSprites - lsls r3, r5, 4 - adds r0, r3, r5 - lsls r0, 2 - adds r0, r2 - movs r1, 0x78 - strh r1, [r0, 0x2E] - movs r1, 0x2D - b _081DA7F4 - .pool -_081DA7D0: - ldr r2, =gSprites - lsls r3, r5, 4 - adds r0, r3, r5 - lsls r0, 2 - adds r0, r2 - movs r1, 0x59 - b _081DA7F0 - .pool -_081DA7E4: - ldr r2, =gSprites - lsls r3, r5, 4 - adds r0, r3, r5 - lsls r0, 2 - adds r0, r2 - movs r1, 0x97 -_081DA7F0: - strh r1, [r0, 0x2E] - movs r1, 0x61 -_081DA7F4: - strh r1, [r0, 0x30] - adds r6, r2, 0 -_081DA7F8: - adds r4, r3, r5 - lsls r4, 2 - adds r0, r4, r6 - mov r2, r8 - lsls r1, r2, 24 - asrs r1, 24 - movs r2, 0 - strh r1, [r0, 0x32] - mov r3, r9 - lsls r1, r3, 24 - asrs r1, 24 - strh r1, [r0, 0x34] - mov r1, sp - ldrh r1, [r1] - strh r1, [r0, 0x3A] - mov r3, r10 - strh r3, [r0, 0x3C] - strh r2, [r0, 0x36] - strh r2, [r0, 0x38] - adds r1, r7, 0 - bl StartSpriteAnim - adds r0, r6, 0 - adds r0, 0x1C - adds r4, r0 - ldr r0, =sub_81DA848 - str r0, [r4] - adds r0, r5, 0 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81DA74C - - thumb_func_start sub_81DA848 -sub_81DA848: @ 81DA848 - push {r4,r5,lr} - adds r3, r0, 0 - adds r2, r3, 0 - adds r2, 0x2E - movs r0, 0x20 - ldrsh r1, [r3, r0] - movs r4, 0x2E - ldrsh r0, [r3, r4] - cmp r1, r0 - bne _081DA874 - movs r5, 0x22 - ldrsh r1, [r3, r5] - movs r4, 0x2 - ldrsh r0, [r2, r4] - cmp r1, r0 - bne _081DA874 - ldr r0, =SpriteCallbackDummy - str r0, [r3, 0x1C] - b _081DA8B4 - .pool -_081DA874: - ldrh r4, [r2, 0x8] - movs r5, 0x8 - ldrsh r1, [r2, r5] - movs r5, 0xC - ldrsh r0, [r2, r5] - cmp r1, r0 - bne _081DA890 - ldrh r0, [r2, 0x4] - ldrh r1, [r3, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r3, 0x20] - strh r1, [r2, 0x8] - b _081DA894 -_081DA890: - adds r0, r4, 0x1 - strh r0, [r2, 0x8] -_081DA894: - ldrh r4, [r2, 0xA] - movs r5, 0xA - ldrsh r1, [r2, r5] - movs r5, 0xE - ldrsh r0, [r2, r5] - cmp r1, r0 - bne _081DA8B0 - ldrh r0, [r2, 0x6] - ldrh r1, [r3, 0x22] - adds r0, r1 - movs r1, 0 - strh r0, [r3, 0x22] - strh r1, [r2, 0xA] - b _081DA8B4 -_081DA8B0: - adds r0, r4, 0x1 - strh r0, [r2, 0xA] -_081DA8B4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81DA848 - - thumb_func_start sub_81DA8BC -sub_81DA8BC: @ 81DA8BC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - adds r6, r0, 0 - mov r8, r1 - ldr r0, [sp, 0x2C] - ldr r1, [sp, 0x30] - ldr r4, [sp, 0x34] - ldr r5, [sp, 0x38] - lsls r2, 16 - lsrs r2, 16 - str r2, [sp] - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0x4] - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r4, 16 - lsrs r7, r4, 16 - lsls r5, 24 - lsrs r5, 24 - ldr r0, =gUnknown_0862B758 - lsls r6, 16 - asrs r6, 16 - mov r1, r8 - lsls r1, 16 - asrs r1, 16 - mov r8, r1 - adds r1, r6, 0 - mov r2, r8 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - cmp r5, 0x1 - beq _081DA94C - cmp r5, 0x1 - bgt _081DA924 - cmp r5, 0 - beq _081DA934 - b _081DA928 - .pool -_081DA924: - cmp r5, 0x2 - beq _081DA960 -_081DA928: - ldr r2, =gSprites - lsls r3, r6, 4 - b _081DA972 - .pool -_081DA934: - ldr r2, =gSprites - lsls r3, r6, 4 - adds r0, r3, r6 - lsls r0, 2 - adds r0, r2 - movs r1, 0x78 - strh r1, [r0, 0x2E] - movs r1, 0x2D - b _081DA970 - .pool -_081DA94C: - ldr r2, =gSprites - lsls r3, r6, 4 - adds r0, r3, r6 - lsls r0, 2 - adds r0, r2 - movs r1, 0x59 - b _081DA96C - .pool -_081DA960: - ldr r2, =gSprites - lsls r3, r6, 4 - adds r0, r3, r6 - lsls r0, 2 - adds r0, r2 - movs r1, 0x97 -_081DA96C: - strh r1, [r0, 0x2E] - movs r1, 0x61 -_081DA970: - strh r1, [r0, 0x30] -_081DA972: - adds r4, r3, r6 - lsls r4, 2 - adds r0, r4, r2 - mov r3, sp - ldrh r3, [r3] - strh r3, [r0, 0x32] - mov r1, sp - ldrh r1, [r1, 0x4] - strh r1, [r0, 0x34] - mov r3, r10 - strh r3, [r0, 0x36] - mov r1, r9 - strh r1, [r0, 0x38] - strh r7, [r0, 0x3A] - adds r1, r5, 0 - str r2, [sp, 0x8] - bl StartSpriteAnim - ldr r2, [sp, 0x8] - adds r0, r2, 0 - adds r0, 0x1C - adds r4, r0 - ldr r0, =sub_81DA9BC - str r0, [r4] - adds r0, r6, 0 - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81DA8BC - - thumb_func_start sub_81DA9BC -sub_81DA9BC: @ 81DA9BC - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r4, r2] - muls r0, r1 - asrs r0, 12 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - bl Cos2 - lsls r0, 16 - asrs r0, 16 - movs r3, 0x36 - ldrsh r1, [r4, r3] - muls r0, r1 - asrs r0, 12 - strh r0, [r4, 0x26] - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r2, 0x34 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0xB4 - lsls r1, 1 - bl __modsi3 - strh r0, [r4, 0x32] - ldrh r2, [r4, 0x36] - movs r3, 0x36 - ldrsh r1, [r4, r3] - movs r3, 0x38 - ldrsh r0, [r4, r3] - cmp r1, r0 - beq _081DAA12 - ldrh r0, [r4, 0x3A] - adds r0, r2, r0 - strh r0, [r4, 0x36] - b _081DAA16 -_081DAA12: - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_081DAA16: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DA9BC - - thumb_func_start sub_81DAA20 -sub_81DAA20: @ 81DAA20 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, =0x00002e90 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - movs r0, 0x10 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl DestroySprite - movs r0, 0x12 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - movs r0, 0x14 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DAA20 - - thumb_func_start sub_81DAA74 -sub_81DAA74: @ 81DAA74 - push {r4,r5,lr} - adds r3, r0, 0 - ldr r2, =gSprites - movs r0, 0x10 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r5, r2, 0 - adds r5, 0x1C - adds r0, r5 - ldr r4, [r0] - ldr r0, =SpriteCallbackDummy - cmp r4, r0 - bne _081DAAC4 - movs r0, 0x12 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r2, [r0] - cmp r2, r4 - bne _081DAAC4 - movs r1, 0x14 - ldrsh r0, [r3, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldr r0, [r1] - cmp r0, r2 - bne _081DAAC4 - movs r0, 0x1 - b _081DAAC6 - .pool -_081DAAC4: - movs r0, 0 -_081DAAC6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81DAA74 - - thumb_func_start sub_81DAACC -sub_81DAACC: @ 81DAACC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _081DAB20 - bl sub_81DA700 - ldr r1, =0x00003f41 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r1, 0xA0 - lsls r1, 3 - movs r0, 0 - movs r2, 0x2 - bl ChangeBgY - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - b _081DAB46 - .pool -_081DAB20: - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl ClearGpuRegBits - movs r1, 0x80 - lsls r1, 7 - movs r0, 0 - bl ClearGpuRegBits - movs r1, 0x80 - lsls r1, 1 - movs r0, 0 - bl ClearGpuRegBits - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r0, 0 -_081DAB46: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81DAACC - - thumb_func_start sub_81DAB4C -sub_81DAB4C: @ 81DAB4C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081DAB64 - movs r1, 0x80 - lsls r1, 1 - movs r0, 0 - bl SetGpuRegBits -_081DAB64: - ldrh r1, [r4, 0xC] - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0x10 - bne _081DAB98 - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0x1F - bne _081DAB92 - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _081DABB0 -_081DAB92: - adds r0, r1, 0x1 - strh r0, [r4, 0xE] - b _081DABB0 -_081DAB98: - adds r0, r1, 0x1 - strh r0, [r4, 0xC] - ldrh r1, [r4, 0xC] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg -_081DABB0: - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81DAB4C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/unk_text_util.s b/asm/unk_text_util.s deleted file mode 100755 index f8dabb5b7c..0000000000 --- a/asm/unk_text_util.s +++ /dev/null @@ -1,99 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81AFBF0 -sub_81AFBF0: @ 81AFBF0 - push {lr} - ldr r1, =gUnknown_0203CE9C - movs r2, 0 - adds r0, r1, 0 - adds r0, 0x1C -_081AFBFA: - str r2, [r0] - subs r0, 0x4 - cmp r0, r1 - bge _081AFBFA - pop {r0} - bx r0 - .pool - thumb_func_end sub_81AFBF0 - - thumb_func_start sub_81AFC0C -sub_81AFC0C: @ 81AFC0C - push {lr} - adds r2, r1, 0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x7 - bhi _081AFC20 - ldr r1, =gUnknown_0203CE9C - lsls r0, 2 - adds r0, r1 - str r2, [r0] -_081AFC20: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81AFC0C - - thumb_func_start sub_81AFC28 -sub_81AFC28: @ 81AFC28 - push {r4,r5,lr} - adds r2, r0, 0 - adds r4, r1, 0 - ldrb r1, [r4] - adds r0, r1, 0 - cmp r0, 0xFF - beq _081AFC68 - ldr r5, =gUnknown_0203CE9C -_081AFC38: - cmp r1, 0xF7 - beq _081AFC48 - strb r1, [r2] - adds r4, 0x1 - adds r2, 0x1 - b _081AFC60 - .pool -_081AFC48: - adds r4, 0x1 - ldrb r0, [r4] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - cmp r1, 0 - beq _081AFC5E - adds r0, r2, 0 - bl StringCopy - adds r2, r0, 0 -_081AFC5E: - adds r4, 0x1 -_081AFC60: - ldrb r1, [r4] - adds r0, r1, 0 - cmp r0, 0xFF - bne _081AFC38 -_081AFC68: - movs r0, 0xFF - strb r0, [r2] - adds r0, r2, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81AFC28 - - thumb_func_start sub_81AFC74 -sub_81AFC74: @ 81AFC74 - lsls r0, 24 - ldr r1, =gUnknown_0203CE9C - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bx lr - .pool - thumb_func_end sub_81AFC74 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/unk_transition.s b/asm/unk_transition.s deleted file mode 100755 index 385a8771e2..0000000000 --- a/asm/unk_transition.s +++ /dev/null @@ -1,725 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81DABBC -sub_81DABBC: @ 81DABBC - push {r4,lr} - adds r4, r0, 0 - bl sub_81DAA74 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081DABD2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_081DABD2: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81DABBC - - thumb_func_start sub_81DABDC -sub_81DABDC: @ 81DABDC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0862B770 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081DABEE: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081DABEE - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DABDC - - thumb_func_start sub_81DAC14 -sub_81DAC14: @ 81DAC14 - push {r4-r6,lr} - sub sp, 0xC - adds r6, r0, 0 - movs r1, 0x33 - negs r1, r1 - movs r0, 0 - str r0, [sp] - movs r5, 0x2 - str r5, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x78 - movs r2, 0 - movs r3, 0 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x10] - movs r0, 0x7 - negs r0, r0 - str r5, [sp] - movs r4, 0x2 - negs r4, r4 - str r4, [sp, 0x4] - movs r1, 0x1 - str r1, [sp, 0x8] - movs r1, 0xC1 - movs r2, 0 - movs r3, 0 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x12] - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0xF7 - movs r1, 0xC1 - movs r2, 0 - movs r3, 0 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x14] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81DAC14 - - thumb_func_start sub_81DAC80 -sub_81DAC80: @ 81DAC80 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081DACA4 - adds r0, r2, 0 - bl sub_81DAA20 - ldr r0, =sub_81DABDC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081DACA4: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81DAC80 - - thumb_func_start sub_81DACB4 -sub_81DACB4: @ 81DACB4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0862B784 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081DACC6: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081DACC6 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DACB4 - - thumb_func_start sub_81DACEC -sub_81DACEC: @ 81DACEC - push {r4,r5,lr} - sub sp, 0xC - adds r5, r0, 0 - movs r0, 0 - str r0, [sp] - movs r4, 0x4 - negs r4, r4 - str r4, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x78 - movs r1, 0xC5 - movs r2, 0 - movs r3, 0 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x10] - str r4, [sp] - movs r4, 0x2 - str r4, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0xF1 - movs r1, 0x3B - movs r2, 0 - movs r3, 0x1 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x12] - movs r0, 0x1 - negs r0, r0 - movs r1, 0x4 - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x3B - movs r2, 0 - movs r3, 0x1 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x14] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81DACEC - - thumb_func_start sub_81DAD58 -sub_81DAD58: @ 81DAD58 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081DAD7C - adds r0, r2, 0 - bl sub_81DAA20 - ldr r0, =sub_81DACB4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081DAD7C: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81DAD58 - - thumb_func_start sub_81DAD8C -sub_81DAD8C: @ 81DAD8C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0862B798 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081DAD9E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081DAD9E - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DAD8C - - thumb_func_start sub_81DADC4 -sub_81DADC4: @ 81DADC4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x10 - mov r8, r0 - movs r6, 0x80 - str r6, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r5, 0x4 - negs r5, r5 - str r5, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0x78 - movs r1, 0x2D - movs r2, 0xC - movs r3, 0x4 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - strh r0, [r1, 0x10] - str r6, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - str r0, [sp, 0xC] - movs r0, 0x59 - movs r1, 0x61 - movs r2, 0xFC - movs r3, 0x4 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - strh r0, [r1, 0x12] - str r6, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x2 - str r0, [sp, 0xC] - movs r0, 0x97 - movs r1, 0x61 - movs r2, 0x84 - movs r3, 0x4 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - strh r0, [r1, 0x14] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81DADC4 - - thumb_func_start sub_81DAE44 -sub_81DAE44: @ 81DAE44 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081DAE68 - adds r0, r2, 0 - bl sub_81DAA20 - ldr r0, =sub_81DAD8C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081DAE68: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81DAE44 - - thumb_func_start sub_81DAE78 -sub_81DAE78: @ 81DAE78 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0862B7AC - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081DAE8A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081DAE8A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DAE78 - - thumb_func_start sub_81DAEB0 -sub_81DAEB0: @ 81DAEB0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x10 - mov r8, r0 - movs r2, 0x8E - lsls r2, 1 - movs r6, 0x83 - str r6, [sp] - movs r5, 0x23 - str r5, [sp, 0x4] - movs r4, 0x3 - negs r4, r4 - str r4, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0xC] - movs r0, 0x78 - movs r1, 0x50 - movs r3, 0x8 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - strh r0, [r1, 0x10] - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - str r0, [sp, 0xC] - movs r0, 0x78 - movs r1, 0x50 - movs r2, 0x2C - movs r3, 0x8 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - strh r0, [r1, 0x12] - str r6, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x2 - str r0, [sp, 0xC] - movs r0, 0x79 - movs r1, 0x50 - movs r2, 0xA4 - movs r3, 0x8 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - strh r0, [r1, 0x14] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81DAEB0 - - thumb_func_start sub_81DAF34 -sub_81DAF34: @ 81DAF34 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081DAF58 - adds r0, r2, 0 - bl sub_81DAA20 - ldr r0, =sub_81DAE78 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081DAF58: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81DAF34 - - thumb_func_start sub_81DAF68 -sub_81DAF68: @ 81DAF68 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0862B7C0 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081DAF7A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081DAF7A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DAF68 - - thumb_func_start sub_81DAFA0 -sub_81DAFA0: @ 81DAFA0 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r0, 0xA - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _081DAFCC - movs r1, 0x33 - negs r1, r1 - str r2, [sp] - movs r0, 0x4 - str r0, [sp, 0x4] - str r2, [sp, 0x8] - movs r0, 0x78 - movs r2, 0 - movs r3, 0 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x10] - b _081DB01A -_081DAFCC: - cmp r2, 0x10 - bne _081DAFF2 - movs r0, 0x7 - negs r0, r0 - movs r1, 0x4 - str r1, [sp] - subs r1, 0x8 - str r1, [sp, 0x4] - movs r1, 0x1 - str r1, [sp, 0x8] - movs r1, 0xC1 - movs r2, 0 - movs r3, 0 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x12] - b _081DB01A -_081DAFF2: - cmp r2, 0x20 - bne _081DB01A - movs r0, 0x4 - negs r0, r0 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x2 - str r0, [sp, 0x8] - movs r0, 0xF7 - movs r1, 0xC1 - movs r2, 0 - movs r3, 0 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x14] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_081DB01A: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81DAFA0 - - thumb_func_start sub_81DB02C -sub_81DB02C: @ 81DB02C - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081DB050 - adds r0, r2, 0 - bl sub_81DAA20 - ldr r0, =sub_81DAF68 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081DB050: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81DB02C - - thumb_func_start sub_81DB060 -sub_81DB060: @ 81DB060 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0862B7D4 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081DB072: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081DB072 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DB060 - - thumb_func_start sub_81DB098 -sub_81DB098: @ 81DB098 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r0, 0xA - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _081DB0C4 - str r1, [sp] - movs r0, 0x8 - negs r0, r0 - str r0, [sp, 0x4] - str r1, [sp, 0x8] - movs r0, 0x78 - movs r1, 0xC5 - movs r2, 0 - movs r3, 0 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x10] - b _081DB112 -_081DB0C4: - cmp r1, 0x10 - bne _081DB0E8 - movs r0, 0x8 - negs r0, r0 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0xF1 - movs r1, 0x4E - movs r2, 0 - movs r3, 0 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x12] - b _081DB112 -_081DB0E8: - cmp r1, 0x20 - bne _081DB112 - movs r0, 0x1 - negs r0, r0 - movs r1, 0x8 - str r1, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - movs r1, 0x2 - str r1, [sp, 0x8] - movs r1, 0x4E - movs r2, 0 - movs r3, 0 - bl sub_81DA74C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x14] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_081DB112: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81DB098 - - thumb_func_start sub_81DB124 -sub_81DB124: @ 81DB124 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081DB148 - adds r0, r2, 0 - bl sub_81DAA20 - ldr r0, =sub_81DB060 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081DB148: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81DB124 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/unk_transition_2.s b/asm/unk_transition_2.s deleted file mode 100755 index a2ec93e5de..0000000000 --- a/asm/unk_transition_2.s +++ /dev/null @@ -1,268 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81DB158 -sub_81DB158: @ 81DB158 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0862B7E8 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081DB16A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081DB16A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DB158 - - thumb_func_start sub_81DB190 -sub_81DB190: @ 81DB190 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - movs r0, 0xA - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _081DB1BE - movs r0, 0x80 - str r0, [sp] - str r1, [sp, 0x4] - subs r0, 0x84 - str r0, [sp, 0x8] - str r1, [sp, 0xC] - movs r0, 0x78 - movs r1, 0x2D - movs r2, 0xC - movs r3, 0x4 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x10] - b _081DB212 -_081DB1BE: - cmp r1, 0x10 - bne _081DB1E6 - movs r0, 0x80 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - subs r0, 0x4 - str r0, [sp, 0x8] - movs r0, 0x1 - str r0, [sp, 0xC] - movs r0, 0x59 - movs r1, 0x61 - movs r2, 0xFC - movs r3, 0x4 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x12] - b _081DB212 -_081DB1E6: - cmp r1, 0x20 - bne _081DB212 - movs r0, 0x80 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - subs r0, 0x4 - str r0, [sp, 0x8] - movs r0, 0x2 - str r0, [sp, 0xC] - movs r0, 0x97 - movs r1, 0x61 - movs r2, 0x84 - movs r3, 0x4 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x14] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_081DB212: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r0, 0 - add sp, 0x10 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81DB190 - - thumb_func_start sub_81DB224 -sub_81DB224: @ 81DB224 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081DB248 - adds r0, r2, 0 - bl sub_81DAA20 - ldr r0, =sub_81DB158 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081DB248: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81DB224 - - thumb_func_start sub_81DB258 -sub_81DB258: @ 81DB258 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, =gUnknown_0862B7FC - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_081DB26A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _081DB26A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81DB258 - - thumb_func_start sub_81DB290 -sub_81DB290: @ 81DB290 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - movs r0, 0xA - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _081DB2C2 - movs r2, 0x8E - lsls r2, 1 - movs r0, 0x83 - str r0, [sp] - movs r0, 0x23 - str r0, [sp, 0x4] - subs r0, 0x26 - str r0, [sp, 0x8] - str r1, [sp, 0xC] - movs r0, 0x78 - movs r1, 0x50 - movs r3, 0x8 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x10] - b _081DB316 -_081DB2C2: - cmp r1, 0x10 - bne _081DB2EA - movs r0, 0x83 - str r0, [sp] - movs r0, 0x23 - str r0, [sp, 0x4] - subs r0, 0x26 - str r0, [sp, 0x8] - movs r0, 0x1 - str r0, [sp, 0xC] - movs r0, 0x78 - movs r1, 0x50 - movs r2, 0x2C - movs r3, 0x8 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x12] - b _081DB316 -_081DB2EA: - cmp r1, 0x20 - bne _081DB316 - movs r0, 0x83 - str r0, [sp] - movs r0, 0x23 - str r0, [sp, 0x4] - subs r0, 0x26 - str r0, [sp, 0x8] - movs r0, 0x2 - str r0, [sp, 0xC] - movs r0, 0x79 - movs r1, 0x50 - movs r2, 0xA4 - movs r3, 0x8 - bl sub_81DA8BC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x14] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_081DB316: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r0, 0 - add sp, 0x10 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81DB290 - - thumb_func_start sub_81DB328 -sub_81DB328: @ 81DB328 - push {lr} - adds r2, r0, 0 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081DB34C - adds r0, r2, 0 - bl sub_81DAA20 - ldr r0, =sub_81DB258 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_081DB34C: - movs r0, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_81DB328 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/unknown_task.s b/asm/unknown_task.s deleted file mode 100644 index f6b96287e9..0000000000 --- a/asm/unknown_task.s +++ /dev/null @@ -1,593 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start remove_some_task -remove_some_task: @ 80B9FB8 - push {r4,lr} - ldr r4, =gUnknown_02039B28 - movs r0, 0 - strb r0, [r4, 0x15] - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - ldrb r0, [r4, 0x18] - cmp r0, 0xFF - beq _080B9FE2 - bl DestroyTask - movs r0, 0xFF - strb r0, [r4, 0x18] -_080B9FE2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end remove_some_task - - thumb_func_start dp12_8087EA4 -dp12_8087EA4: @ 80B9FF8 - push {r4,lr} - sub sp, 0x4 - mov r0, sp - movs r4, 0 - strh r4, [r0] - ldr r1, =gUnknown_02038C28 - ldr r2, =0x01000780 - bl CpuSet - ldr r0, =gUnknown_02039B28 - movs r1, 0 - str r1, [r0] - str r1, [r0, 0x4] - str r1, [r0, 0x8] - str r1, [r0, 0xC] - strb r4, [r0, 0x14] - strb r4, [r0, 0x15] - strb r4, [r0, 0x16] - strb r4, [r0, 0x17] - movs r1, 0xFF - strb r1, [r0, 0x18] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end dp12_8087EA4 - - thumb_func_start sub_80BA038 -sub_80BA038: @ 80BA038 - push {lr} - sub sp, 0xC - str r0, [sp] - str r1, [sp, 0x4] - str r2, [sp, 0x8] - ldr r0, =0xa2600001 - cmp r1, r0 - bne _080BA06C - ldr r0, =gUnknown_02039B28 - ldr r1, =gUnknown_02038C2A - str r1, [r0] - movs r2, 0xF0 - lsls r2, 3 - adds r1, r2 - str r1, [r0, 0x4] - ldr r1, =sub_80BA134 - b _080BA07C - .pool -_080BA06C: - ldr r0, =gUnknown_02039B28 - ldr r1, =gUnknown_02038C2C - str r1, [r0] - movs r2, 0xF0 - lsls r2, 3 - adds r1, r2 - str r1, [r0, 0x4] - ldr r1, =sub_80BA154 -_080BA07C: - str r1, [r0, 0x10] - adds r1, r0, 0 - ldr r0, [sp, 0x4] - str r0, [r1, 0xC] - ldr r0, [sp] - str r0, [r1, 0x8] - mov r0, sp - ldrb r0, [r0, 0x8] - strb r0, [r1, 0x15] - mov r0, sp - ldrb r0, [r0, 0x9] - strb r0, [r1, 0x16] - strb r0, [r1, 0x17] - add sp, 0xC - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BA038 - - thumb_func_start sub_80BA0A8 -sub_80BA0A8: @ 80BA0A8 - push {r4,lr} - ldr r4, =gUnknown_02039B28 - ldrb r0, [r4, 0x15] - cmp r0, 0 - beq _080BA122 - cmp r0, 0x3 - bne _080BA0EC - movs r0, 0 - strb r0, [r4, 0x15] - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - ldr r1, =gUnknown_02039B44 - movs r0, 0x1 - strb r0, [r1] - b _080BA122 - .pool -_080BA0EC: - ldr r1, =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - ldrb r0, [r4, 0x14] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - ldr r0, [r4, 0x8] - str r0, [r1, 0x4] - ldr r0, [r4, 0xC] - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r0, [r4, 0x10] - bl _call_via_r0 - ldrb r0, [r4, 0x14] - movs r1, 0x1 - eors r0, r1 - strb r0, [r4, 0x14] -_080BA122: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BA0A8 - - thumb_func_start sub_80BA134 -sub_80BA134: @ 80BA134 - ldr r0, =gUnknown_02039B28 - ldr r2, [r0, 0x8] - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - ldr r1, =gUnknown_02038C28 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - bx lr - .pool - thumb_func_end sub_80BA134 - - thumb_func_start sub_80BA154 -sub_80BA154: @ 80BA154 - ldr r0, =gUnknown_02039B28 - ldr r2, [r0, 0x8] - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - ldr r1, =gUnknown_02038C28 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - bx lr - .pool - thumb_func_end sub_80BA154 - - thumb_func_start task00_for_dp12 -task00_for_dp12: @ 80BA174 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - movs r6, 0 - ldr r0, =gUnknown_02039B44 - ldrb r0, [r0] - cmp r0, 0 - beq _080BA1A4 - mov r0, r12 - bl DestroyTask - ldr r1, =gUnknown_02039B28 - movs r0, 0xFF - strb r0, [r1, 0x18] - b _080BA324 - .pool -_080BA1A4: - ldr r1, =gTasks - mov r0, r12 - lsls r2, r0, 2 - adds r0, r2, r0 - lsls r0, 3 - adds r3, r0, r1 - movs r4, 0x16 - ldrsh r0, [r3, r4] - mov r10, r1 - mov r9, r2 - cmp r0, 0 - beq _080BA250 - movs r1, 0x14 - ldrsh r0, [r3, r1] - cmp r0, 0xE - bhi _080BA250 - lsls r0, 2 - ldr r1, =_080BA1D8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080BA1D8: - .4byte _080BA214 - .4byte _080BA250 - .4byte _080BA21C - .4byte _080BA250 - .4byte _080BA224 - .4byte _080BA250 - .4byte _080BA22C - .4byte _080BA250 - .4byte _080BA234 - .4byte _080BA250 - .4byte _080BA23C - .4byte _080BA250 - .4byte _080BA244 - .4byte _080BA250 - .4byte _080BA24C -_080BA214: - ldr r0, =gBattle_BG0_X - b _080BA24E - .pool -_080BA21C: - ldr r0, =gBattle_BG0_Y - b _080BA24E - .pool -_080BA224: - ldr r0, =gBattle_BG1_X - b _080BA24E - .pool -_080BA22C: - ldr r0, =gBattle_BG1_Y - b _080BA24E - .pool -_080BA234: - ldr r0, =gBattle_BG2_X - b _080BA24E - .pool -_080BA23C: - ldr r0, =gBattle_BG2_Y - b _080BA24E - .pool -_080BA244: - ldr r0, =gBattle_BG3_X - b _080BA24E - .pool -_080BA24C: - ldr r0, =gBattle_BG3_Y -_080BA24E: - ldrh r6, [r0] -_080BA250: - mov r0, r9 - add r0, r12 - lsls r0, 3 - mov r2, r10 - adds r1, r0, r2 - ldrh r2, [r1, 0x10] - movs r3, 0x10 - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _080BA2BC - subs r0, r2, 0x1 - strh r0, [r1, 0x10] - movs r4, 0xE - ldrsh r0, [r1, r4] - movs r3, 0xA0 - lsls r3, 1 - adds r2, r0, r3 - movs r4, 0x8 - ldrsh r3, [r1, r4] - movs r4, 0xA - ldrsh r0, [r1, r4] - cmp r3, r0 - bge _080BA324 - ldr r5, =gUnknown_02038C28 - ldr r0, =gUnknown_02039B28 - mov r8, r0 - adds r7, r1, 0 - lsls r0, r2, 1 - adds r4, r0, r5 -_080BA28A: - lsls r2, r3, 1 - mov r0, r8 - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r5 - ldrh r0, [r4] - adds r0, r6 - strh r0, [r2] - adds r4, 0x2 - adds r3, 0x1 - movs r1, 0xA - ldrsh r0, [r7, r1] - cmp r3, r0 - blt _080BA28A - b _080BA324 - .pool -_080BA2BC: - ldrh r0, [r1, 0x12] - strh r0, [r1, 0x10] - movs r2, 0xE - ldrsh r0, [r1, r2] - movs r3, 0xA0 - lsls r3, 1 - adds r2, r0, r3 - movs r4, 0x8 - ldrsh r3, [r1, r4] - movs r4, 0xA - ldrsh r0, [r1, r4] - cmp r3, r0 - bge _080BA304 - ldr r5, =gUnknown_02038C28 - adds r7, r1, 0 - lsls r0, r2, 1 - adds r4, r0, r5 - ldr r0, =gUnknown_02039B28 - mov r8, r0 -_080BA2E2: - lsls r2, r3, 1 - mov r0, r8 - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r5 - ldrh r0, [r4] - adds r0, r6 - strh r0, [r2] - adds r4, 0x2 - adds r3, 0x1 - movs r1, 0xA - ldrsh r0, [r7, r1] - cmp r3, r0 - blt _080BA2E2 -_080BA304: - mov r0, r9 - add r0, r12 - lsls r0, 3 - mov r3, r10 - adds r2, r0, r3 - ldrh r0, [r2, 0xE] - adds r0, 0x1 - strh r0, [r2, 0xE] - lsls r0, 16 - asrs r0, 16 - movs r4, 0xC - ldrsh r1, [r2, r4] - cmp r0, r1 - bne _080BA324 - movs r0, 0 - strh r0, [r2, 0xE] -_080BA324: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end task00_for_dp12 - - thumb_func_start sub_80BA33C -sub_80BA33C: @ 80BA33C - push {r4-r7,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - movs r1, 0 - movs r2, 0 - ldr r0, =gSineTable - mov r12, r0 -_080BA350: - lsls r0, r1, 1 - adds r3, r0, r6 - lsls r0, r2, 1 - add r0, r12 - movs r7, 0 - ldrsh r0, [r0, r7] - muls r0, r4 - cmp r0, 0 - bge _080BA364 - adds r0, 0xFF -_080BA364: - asrs r0, 8 - strh r0, [r3] - adds r0, r2, r5 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0xFF - bls _080BA350 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80BA33C - - thumb_func_start sub_80BA384 -sub_80BA384: @ 80BA384 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - adds r5, r0, 0 - str r1, [sp, 0x10] - ldr r0, [sp, 0x40] - mov r8, r0 - ldr r1, [sp, 0x44] - mov r9, r1 - ldr r0, [sp, 0x48] - mov r10, r0 - lsls r5, 24 - lsrs r5, 24 - ldr r1, [sp, 0x10] - lsls r1, 24 - str r1, [sp, 0x14] - lsrs r0, r1, 24 - str r0, [sp, 0xC] - lsls r1, r2, 24 - lsrs r1, 24 - str r1, [sp, 0x18] - lsls r2, r3, 24 - lsrs r2, 24 - str r2, [sp, 0x1C] - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - mov r3, r9 - lsls r3, 24 - lsrs r3, 24 - mov r9, r3 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - bl dp12_8087EA4 - ldr r0, =0x04000010 - add r0, r9 - str r0, [sp] - ldr r0, =0xa2600001 - str r0, [sp, 0x4] - mov r1, sp - movs r0, 0x1 - strb r0, [r1, 0x8] - mov r0, sp - movs r1, 0 - strb r1, [r0, 0x9] - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl sub_80BA038 - ldr r0, =task00_for_dp12 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gTasks - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r0 - strh r5, [r4, 0x8] - mov r3, sp - ldrh r3, [r3, 0xC] - strh r3, [r4, 0xA] - movs r0, 0x80 - lsls r0, 1 - ldr r1, [sp, 0x18] - bl __divsi3 - strh r0, [r4, 0xC] - movs r0, 0 - strh r0, [r4, 0xE] - mov r1, r8 - strh r1, [r4, 0x10] - strh r1, [r4, 0x12] - mov r3, r9 - strh r3, [r4, 0x14] - mov r0, r10 - strh r0, [r4, 0x16] - ldr r0, =gUnknown_02039B28 - strb r7, [r0, 0x18] - ldr r0, =gUnknown_02039B44 - movs r1, 0 - strb r1, [r0] - ldr r4, =gUnknown_02038EA8 - ldr r3, [sp, 0xC] - subs r6, r3, r5 - lsls r3, r6, 24 - lsrs r3, 24 - adds r0, r4, 0 - ldr r1, [sp, 0x18] - ldr r2, [sp, 0x1C] - bl sub_80BA33C - ldr r0, [sp, 0xC] - cmp r5, r0 - bge _080BA47E - ldr r1, =0xfffffd80 - adds r2, r4, r1 - lsls r1, r5, 1 - movs r3, 0xF0 - lsls r3, 3 - adds r0, r1, r3 - adds r3, r0, r2 - adds r1, r2 - adds r2, r4, 0 - adds r5, r6, 0 -_080BA46A: - ldrh r0, [r2] - strh r0, [r1] - ldrh r0, [r2] - strh r0, [r3] - adds r2, 0x2 - adds r3, 0x2 - adds r1, 0x2 - subs r5, 0x1 - cmp r5, 0 - bne _080BA46A -_080BA47E: - adds r0, r7, 0 - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80BA384 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/use_pokeblock.s b/asm/use_pokeblock.s old mode 100755 new mode 100644 index 20d23a8782..5047ec65e8 --- a/asm/use_pokeblock.s +++ b/asm/use_pokeblock.s @@ -5,350 +5,10 @@ .text - thumb_func_start sub_8166204 -sub_8166204: @ 8166204 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - ldr r4, =gUnknown_0203BCAC - ldr r0, =0x0000806c - bl AllocZeroed - str r0, [r4] - ldr r1, =gUnknown_0203BC90 - ldr r2, =0x00007fd0 - adds r0, r2 - str r0, [r1] - str r5, [r0, 0x8] - str r6, [r0, 0x4] - ldr r0, =sub_8166380 - bl launch_c3_walk_stairs_and_run_once - ldr r0, =sub_816631C - bl SetMainCallback2 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8166204 - thumb_func_start sub_816624C -sub_816624C: @ 816624C - push {r4,r5,lr} - ldr r4, =gUnknown_0203BCAC - ldr r0, =0x0000806c - bl AllocZeroed - str r0, [r4] - ldr r5, =gUnknown_0203BC90 - ldr r1, =0x00007fd0 - adds r0, r1 - str r0, [r5] - ldr r1, =gUnknown_0203BC98 - ldr r1, [r1] - str r1, [r0, 0x8] - ldr r1, =gUnknown_0203BC94 - ldr r1, [r1] - str r1, [r0, 0x4] - ldr r4, =gUnknown_0203BC9C - ldrb r0, [r4] - bl sub_81672E4 - strb r0, [r4] - ldr r5, [r5] - movs r1, 0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08166284 - movs r1, 0x1 -_08166284: - adds r0, r5, 0 - adds r0, 0x56 - strb r1, [r0] - ldr r0, =sub_8166380 - bl launch_c3_walk_stairs_and_run_once - ldr r0, =sub_81662C0 - bl SetMainCallback2 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816624C - thumb_func_start sub_81662C0 -sub_81662C0: @ 81662C0 - push {r4,lr} - ldr r4, =gUnknown_0203BC90 - ldr r0, [r4] - ldr r0, [r0] - bl _call_via_r0 - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - ldr r4, [r4] - ldr r1, [r4] - ldr r0, =map_warp_consider_1_to_outside_or_stair_or_dive - cmp r1, r0 - bne _081662F0 - adds r0, r4, 0 - adds r0, 0x50 - movs r1, 0 - strb r1, [r0] - ldr r0, =sub_8166304 - bl SetMainCallback2 -_081662F0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81662C0 - - thumb_func_start sub_8166304 -sub_8166304: @ 8166304 - push {lr} - bl sub_81668F8 - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8166304 - - thumb_func_start sub_816631C -sub_816631C: @ 816631C - push {lr} - ldr r0, =gUnknown_0203BC90 - ldr r0, [r0] - ldr r0, [r0] - bl _call_via_r0 - bl AnimateSprites - bl BuildOamBuffer - bl RunTextPrinters - bl UpdatePaletteFade - pop {r0} - bx r0 - .pool - thumb_func_end sub_816631C - - thumb_func_start sub_8166340 -sub_8166340: @ 8166340 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r0, =gUnknown_0203BCAC - ldr r0, [r0] - ldr r1, =0x00007c58 - adds r0, r1 - bl sub_81D2108 - bl sub_80BA0A8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8166340 - - thumb_func_start launch_c3_walk_stairs_and_run_once -launch_c3_walk_stairs_and_run_once: @ 816636C - ldr r1, =gUnknown_0203BC90 - ldr r1, [r1] - str r0, [r1] - adds r1, 0x50 - movs r0, 0 - strb r0, [r1] - bx lr - .pool - thumb_func_end launch_c3_walk_stairs_and_run_once - - thumb_func_start sub_8166380 -sub_8166380: @ 8166380 - push {r4,r5,lr} - sub sp, 0x4 - ldr r1, =gUnknown_0203BC90 - ldr r0, [r1] - adds r0, 0x50 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0xF - bls _08166394 - b _08166556 -_08166394: - lsls r0, 2 - ldr r1, =_081663A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081663A8: - .4byte _081663E8 - .4byte _0816640C - .4byte _08166416 - .4byte _08166434 - .4byte _08166464 - .4byte _08166468 - .4byte _08166474 - .4byte _08166484 - .4byte _08166490 - .4byte _0816649C - .4byte _081664B8 - .4byte _081664BC - .4byte _081664E4 - .4byte _08166510 - .4byte _08166528 - .4byte _08166550 -_081663E8: - ldr r2, =gUnknown_0203BCAC - ldr r0, [r2] - ldr r1, =0x00007b10 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - ldr r0, [r2] - ldr r2, =0x00007c58 - adds r0, r2 - bl sub_81D1ED4 - b _0816653C - .pool -_0816640C: - bl ResetSpriteData - bl FreeAllSpritePalettes - b _0816653C -_08166416: - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - str r0, [sp] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, =0x05006000 - mov r0, sp - bl CpuSet - b _0816653C - .pool -_08166434: - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085DFCCC - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, =gUnknown_085DFCDC - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0 - movs r1, 0x97 - movs r2, 0xE0 - bl sub_809882C - b _0816653C - .pool -_08166464: - ldr r1, [r2] - b _08166540 -_08166468: - bl sub_8168328 - lsls r0, 24 - cmp r0, 0 - bne _08166556 - b _0816653C -_08166474: - ldr r1, =gKeyRepeatStartDelay - movs r0, 0x14 - strh r0, [r1] - bl sub_8167420 - b _0816653C - .pool -_08166484: - bl sub_8167930 - lsls r0, 24 - cmp r0, 0 - bne _08166556 - b _0816653C -_08166490: - movs r0, 0 - bl sub_8167608 - bl sub_8167760 - b _0816653C -_0816649C: - ldr r0, =gUnknown_0203BCAC - ldr r0, [r0] - ldr r1, =0x00007b0e - adds r0, r1 - bl sub_81D312C - lsls r0, 24 - cmp r0, 0 - bne _08166556 - b _0816653C - .pool -_081664B8: - ldr r1, [r2] - b _08166540 -_081664BC: - ldr r5, =gUnknown_0203BCAC - ldr r1, [r5] - ldr r4, =0x00007c58 - adds r0, r1, r4 - ldr r2, =0x00007c6c - adds r1, r2 - bl sub_81D2754 - ldr r0, [r5] - adds r0, r4 - bl sub_81D20AC - b _0816653C - .pool -_081664E4: - ldr r4, =gUnknown_0203BCAC - ldr r0, [r4] - ldr r1, =0x00007c58 - adds r0, r1 - bl sub_81D20BC - lsls r0, 24 - cmp r0, 0 - bne _08166556 - ldr r2, [r4] - ldr r1, =0x00007c58 - adds r0, r2, r1 - adds r1, 0x14 - adds r2, r1 - adds r1, r2, 0 - bl sub_81D1F84 - b _0816653C - .pool -_08166510: - ldr r0, =gUnknown_0203BCAC - ldr r0, [r0] - ldr r2, =0x00007c58 - adds r0, r2 - bl sub_81D2230 - b _0816653C - .pool -_08166528: - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x1 - bl sub_8167BA0 -_0816653C: - ldr r0, =gUnknown_0203BC90 - ldr r1, [r0] -_08166540: - adds r1, 0x50 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08166556 - .pool -_08166550: - ldr r0, =map_warp_consider_1_to_outside_or_stair_or_dive - bl launch_c3_walk_stairs_and_run_once -_08166556: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8166380 - - thumb_func_start map_warp_consider_1_to_outside_or_stair_or_dive -map_warp_consider_1_to_outside_or_stair_or_dive: @ 8166564 + thumb_func_start sub_8166564 +sub_8166564: @ 8166564 push {r4,lr} sub sp, 0x4 ldr r4, =gUnknown_0203BC90 @@ -424,14 +84,14 @@ _081665C0: bl sub_81D3480 _0816660A: ldr r0, =sub_8166634 - bl launch_c3_walk_stairs_and_run_once + bl sub_816636C _08166610: add sp, 0x4 pop {r4} pop {r0} bx r0 .pool - thumb_func_end map_warp_consider_1_to_outside_or_stair_or_dive + thumb_func_end sub_8166564 thumb_func_start sub_8166634 sub_8166634: @ 8166634 @@ -567,7 +227,7 @@ _0816675C: .pool _08166788: ldr r0, =sub_8166BEC - bl launch_c3_walk_stairs_and_run_once + bl sub_816636C b _0816680E .pool _08166794: @@ -611,7 +271,7 @@ _081667CC: .pool _081667E8: ldr r0, =sub_816681C - bl launch_c3_walk_stairs_and_run_once + bl sub_816636C b _0816680E .pool _081667F4: @@ -656,7 +316,7 @@ _08166838: adds r0, r1 ldrb r0, [r0] bl sub_81672A4 - ldr r1, =gUnknown_0203BC9C + ldr r1, =gPokeblockMonId strb r0, [r1] ldr r1, =gUnknown_0203BC94 ldr r2, [r5] @@ -708,9 +368,9 @@ _08166888: str r5, [r4] bl FreeAllWindowBuffers ldr r1, =gMain - ldr r0, =sub_816624C + ldr r0, =CB2_ReturnAndChooseMonToGivePokeblock str r0, [r1, 0x8] - bl sub_8179D70 + bl CB2_PreparePokeblockFeedScene _081668D4: add sp, 0x4 pop {r4,r5} @@ -752,7 +412,7 @@ _0816693C: ldr r0, [r0] ldr r1, =0x00008041 adds r0, r1 - ldr r1, =gUnknown_0203BC9C + ldr r1, =gPokeblockMonId ldrb r0, [r0] ldrb r1, [r1] cmp r0, r1 @@ -837,7 +497,7 @@ _081669F4: adds r0, r1 bl sub_81D3464 ldr r0, =sub_8166A34 - bl launch_c3_walk_stairs_and_run_once + bl sub_816636C ldr r0, =sub_816631C bl SetMainCallback2 _08166A18: @@ -1016,11 +676,11 @@ _08166BB6: lsls r0, 24 cmp r0, 0 bne _08166BDA - ldr r0, =gScriptItemId + ldr r0, =gSpecialVar_ItemId ldrb r0, [r0] - bl sub_8136F68 + bl TryClearPokeblock ldr r0, =sub_8166BEC - bl launch_c3_walk_stairs_and_run_once + bl sub_816636C _08166BDA: pop {r4-r6} pop {r0} @@ -1072,10 +732,10 @@ _08166C28: b _08166D18 .pool _08166C40: - ldr r1, =gUnknown_02039B28 + ldr r1, =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] - bl sub_80BA0A8 + bl ScanlineEffect_InitHBlankDmaTransfer _08166C4A: ldr r1, [r4] adds r1, 0x50 @@ -1225,7 +885,7 @@ sub_8166D44: @ 8166D44 movs r0, 0x2 movs r1, 0x3 bl CopyWindowToVram - ldr r0, =gUnknown_085DFCFC + ldr r0, =sUsePokeblockYesNoWinTemplate movs r1, 0x97 movs r2, 0xE movs r3, 0 @@ -1240,7 +900,7 @@ sub_8166D44: @ 8166D44 thumb_func_start sub_8166DE4 sub_8166DE4: @ 8166DE4 push {r4,lr} - bl sub_8198C58 + bl ProcessMenuInputNoWrap_ lsls r0, 24 lsrs r4, r0, 24 asrs r1, r0, 24 @@ -1497,7 +1157,7 @@ sub_8166FD4: @ 8166FD4 movs r0, 0 _08166FEC: lsls r0, 16 - ldr r1, =gUnknown_085DFD04 + ldr r1, =sContestStatNames lsls r0, r3, 2 adds r0, r1 ldr r1, [r0] @@ -1719,7 +1379,7 @@ sub_8167184: @ 8167184 adds r0, r3, 0 adds r0, 0x6E strh r1, [r0] - ldr r0, =gUnknown_0203BC9E + ldr r0, =gPokeblockGain movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 @@ -1769,7 +1429,7 @@ _0816721C: adds r0, r6, r0 ldrb r1, [r0] mov r0, r10 - bl GetMonFlavourRelation + bl GetMonFlavorRelation lsls r0, 24 asrs r2, r0, 24 cmp r0, r9 @@ -2737,7 +2397,7 @@ _08167A74: b _08167B7E .pool _08167A9C: - ldr r0, =gUnknown_08DCCF7C + ldr r0, =gUsePokeblockGraph_Gfx ldr r1, =gUnknown_0203BCA4 _08167AA0: ldr r1, [r1] @@ -2745,11 +2405,11 @@ _08167AA0: b _08167B7E .pool _08167AB0: - ldr r0, =gUnknown_08DCD81C + ldr r0, =gUsePokeblockGraph_Tilemap ldr r1, =gUnknown_0203BCA0 ldr r1, [r1] bl LZ77UnCompVram - ldr r0, =gUnknown_08DCCF5C + ldr r0, =gUsePokeblockGraph_Pal movs r1, 0x20 movs r2, 0x20 bl LoadPalette @@ -2771,7 +2431,7 @@ _08167AEC: ldr r1, [r0] movs r0, 0x1 bl SetBgTilemapBuffer - ldr r1, =gUnknown_08DCDA30 + ldr r1, =gUsePokeblockNatureWin_Pal movs r0, 0xC str r0, [sp] movs r0, 0x4 @@ -3599,7 +3259,7 @@ sub_8168248: @ 8168248 ldr r0, [r0] str r0, [sp, 0x8] str r1, [sp, 0xC] - ldr r0, =gUnknown_08DCCBB8 + ldr r0, =gUsePokeblockCondition_Gfx str r0, [sp] ldr r1, =0xffff0000 ldr r0, [sp, 0x4] diff --git a/asm/wallclock.s b/asm/wallclock.s deleted file mode 100644 index f8cc87fe8e..0000000000 --- a/asm/wallclock.s +++ /dev/null @@ -1,1515 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81347B4 -sub_81347B4: @ 81347B4 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_81347B4 - - thumb_func_start LoadWallClockGraphics -LoadWallClockGraphics: @ 81347C8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0xE - movs r1, 0 - bl SetGpuReg - movs r0, 0xC - movs r1, 0 - bl SetGpuReg - movs r0, 0xA - movs r1, 0 - bl SetGpuReg - movs r0, 0x8 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r0, sp, 0x4 - mov r8, r0 - mov r2, sp - movs r6, 0 - ldr r1, =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_0813486C: - strh r6, [r2] - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _0813486C - strh r6, [r2] - mov r2, sp - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0x4] - ldr r2, =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - mov r0, sp - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - ldr r0, =gUnknown_08DCC05C - movs r1, 0xC0 - lsls r1, 19 - bl LZ77UnCompVram - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _081348FC - ldr r0, =gUnknown_08DCC01C - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - b _08134906 - .pool -_081348FC: - ldr r0, =gUnknown_08DCC03C - movs r1, 0 - movs r2, 0x20 - bl LoadPalette -_08134906: - bl sub_8098C64 - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_085B21D4 - movs r1, 0xC0 - movs r2, 0x8 - bl LoadPalette - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_085B21FC - movs r0, 0 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r0, =gUnknown_085B21DC - bl InitWindows - bl DeactivateAllTextPrinters - movs r1, 0x94 - lsls r1, 2 - movs r0, 0 - movs r2, 0xD0 - bl sub_809882C - bl clear_scheduled_bg_copies_to_vram - bl remove_some_task - bl ResetTasks - bl ResetSpriteData - bl ResetPaletteFade - bl FreeAllSpritePalettes - ldr r0, =gUnknown_085B2208 - bl LoadCompressedObjectPic - ldr r0, =gUnknown_085B2218 - bl LoadSpritePalettes - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end LoadWallClockGraphics - - thumb_func_start sub_813498C -sub_813498C: @ 813498C - push {lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0x1 - bl EnableInterrupts - ldr r0, =sub_81347B4 - bl SetVBlankCallback - ldr r0, =sub_8134C9C - bl SetMainCallback2 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_813498C - - thumb_func_start Cb2_StartWallClock -Cb2_StartWallClock: @ 81349F4 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0xC - bl LoadWallClockGraphics - ldr r0, =gUnknown_08DCC648 - ldr r1, =0x06003800 - bl LZ77UnCompVram - ldr r0, =sub_8134CB8 - movs r1, 0 - bl CreateTask - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - mov r8, r1 - movs r1, 0xA - strh r1, [r0, 0xC] - mov r2, r8 - strh r2, [r0, 0xE] - strh r2, [r0, 0x10] - strh r2, [r0, 0x12] - strh r2, [r0, 0x14] - strh r2, [r0, 0x8] - movs r1, 0x96 - lsls r1, 1 - strh r1, [r0, 0xA] - ldr r0, =gUnknown_085B2250 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSprites - mov r9, r1 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r9 - strh r6, [r1, 0x2E] - ldrb r2, [r1, 0x1] - movs r5, 0x4 - negs r5, r5 - adds r0, r5, 0 - ands r0, r2 - movs r2, 0x1 - mov r10, r2 - mov r2, r10 - orrs r0, r2 - strb r0, [r1, 0x1] - ldrb r2, [r1, 0x3] - movs r4, 0x3F - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - strb r0, [r1, 0x3] - ldr r0, =gUnknown_085B2268 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r9 - strh r6, [r1, 0x2E] - ldrb r0, [r1, 0x1] - ands r5, r0 - mov r0, r10 - orrs r5, r0 - strb r5, [r1, 0x1] - ldrb r0, [r1, 0x3] - ands r4, r0 - movs r0, 0x2 - orrs r4, r0 - strb r4, [r1, 0x3] - ldr r0, =gUnknown_085B22A0 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r9 - strh r6, [r1, 0x2E] - movs r0, 0x2D - strh r0, [r1, 0x30] - ldr r0, =gUnknown_085B22B8 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r9 - strh r6, [r1, 0x2E] - movs r0, 0x5A - strh r0, [r1, 0x30] - bl sub_813498C - ldr r2, =gText_Confirm3 - movs r0, 0x1 - str r0, [sp] - mov r1, r8 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end Cb2_StartWallClock - - thumb_func_start Cb2_ViewWallClock -Cb2_ViewWallClock: @ 8134B44 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - bl LoadWallClockGraphics - ldr r0, =gUnknown_08DCC908 - ldr r1, =0x06003800 - bl LZ77UnCompVram - ldr r0, =sub_8134F10 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r7, 0 - bl sub_8135130 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r1, 0x12 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08134B9C - movs r2, 0x2D - mov r10, r2 - movs r0, 0x5A - str r0, [sp, 0xC] - b _08134BA4 - .pool -_08134B9C: - movs r1, 0x5A - mov r10, r1 - movs r2, 0x87 - str r2, [sp, 0xC] -_08134BA4: - ldr r0, =gUnknown_085B2250 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r6, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - movs r0, 0 - mov r9, r0 - strh r7, [r1, 0x2E] - ldrb r2, [r1, 0x1] - movs r5, 0x4 - negs r5, r5 - adds r0, r5, 0 - ands r0, r2 - movs r2, 0x1 - mov r8, r2 - mov r2, r8 - orrs r0, r2 - strb r0, [r1, 0x1] - ldrb r2, [r1, 0x3] - movs r4, 0x3F - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - strb r0, [r1, 0x3] - ldr r0, =gUnknown_085B2268 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - strh r7, [r1, 0x2E] - ldrb r0, [r1, 0x1] - ands r5, r0 - mov r0, r8 - orrs r5, r0 - strb r5, [r1, 0x1] - ldrb r0, [r1, 0x3] - ands r4, r0 - movs r0, 0x2 - orrs r4, r0 - strb r4, [r1, 0x3] - ldr r0, =gUnknown_085B22A0 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - strh r7, [r1, 0x2E] - mov r2, r10 - strh r2, [r1, 0x30] - ldr r0, =gUnknown_085B22B8 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - strh r7, [r1, 0x2E] - mov r0, sp - ldrh r0, [r0, 0xC] - strh r0, [r1, 0x30] - bl sub_813498C - ldr r2, =gText_Cancel4 - movs r0, 0x1 - str r0, [sp] - mov r1, r9 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end Cb2_ViewWallClock - - thumb_func_start sub_8134C9C -sub_8134C9C: @ 8134C9C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8134C9C - - thumb_func_start sub_8134CB8 -sub_8134CB8: @ 8134CB8 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08134CD8 - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8134CE8 - str r0, [r1] -_08134CD8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134CB8 - - thumb_func_start sub_8134CE8 -sub_8134CE8: @ 8134CE8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - movs r1, 0x6 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - beq _08134D1C - ldrh r0, [r5, 0x8] - ldrb r1, [r5, 0x10] - ldrb r2, [r5, 0x14] - bl sub_8134FFC - strh r0, [r5, 0x8] - b _08134DBE - .pool -_08134D1C: - movs r2, 0xE - ldrsh r1, [r5, r2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - strh r0, [r5, 0x8] - movs r3, 0xC - ldrsh r0, [r5, r3] - movs r1, 0xC - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - lsls r4, r0, 4 - subs r4, r0 - lsls r4, 1 - movs r1, 0xE - ldrsh r0, [r5, r1] - movs r1, 0xA - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 2 - adds r1, r0 - adds r4, r1 - strh r4, [r5, 0xA] - ldr r2, =gMain - ldrh r0, [r2, 0x2E] - movs r3, 0x1 - adds r1, r3, 0 - ands r1, r0 - cmp r1, 0 - beq _08134D70 - ldr r0, =sub_8134DC4 - str r0, [r5] - b _08134DBE - .pool -_08134D70: - strh r1, [r5, 0x10] - ldrh r1, [r2, 0x2C] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08134D7E - strh r3, [r5, 0x10] -_08134D7E: - ldrh r1, [r2, 0x2C] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08134D8C - movs r0, 0x2 - strh r0, [r5, 0x10] -_08134D8C: - ldrh r1, [r5, 0x10] - movs r2, 0x10 - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _08134DBC - ldrh r2, [r5, 0x14] - movs r3, 0x14 - ldrsh r0, [r5, r3] - cmp r0, 0xFE - bgt _08134DA4 - adds r0, r2, 0x1 - strh r0, [r5, 0x14] -_08134DA4: - ldrh r0, [r5, 0x8] - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r5, 0x14] - bl sub_8134FFC - strh r0, [r5, 0x8] - ldrb r1, [r5, 0x10] - adds r0, r6, 0 - bl sub_813504C - b _08134DBE -_08134DBC: - strh r0, [r5, 0x14] -_08134DBE: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8134CE8 - - thumb_func_start sub_8134DC4 -sub_8134DC4: @ 8134DC4 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r5, 0x94 - lsls r5, 2 - movs r0, 0 - movs r1, 0 - adds r2, r5, 0 - movs r3, 0xD - bl SetWindowBorderStyle - ldr r2, =gText_IsThisTheCorrectTime - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, =gUnknown_085B21F4 - adds r1, r5, 0 - movs r2, 0xD - movs r3, 0x1 - bl CreateYesNoMenu - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =c3_80BF560 - str r1, [r0] - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134DC4 - - thumb_func_start c3_80BF560 -c3_80BF560: @ 8134E30 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8198C58 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08134E56 - cmp r1, 0 - bgt _08134E50 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08134E74 - b _08134E96 -_08134E50: - cmp r1, 0x1 - beq _08134E74 - b _08134E96 -_08134E56: - movs r0, 0x5 - bl PlaySE - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8134EA4 - b _08134E94 - .pool -_08134E74: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - movs r1, 0 - bl sub_8198070 - movs r0, 0 - bl ClearWindowTilemap - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8134CE8 -_08134E94: - str r0, [r1] -_08134E96: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end c3_80BF560 - - thumb_func_start sub_8134EA4 -sub_8134EA4: @ 8134EA4 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - movs r1, 0xC - ldrsh r0, [r4, r1] - movs r2, 0xE - ldrsh r1, [r4, r2] - bl RtcInitLocalTimeOffset - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =c2_080111BC - str r0, [r4] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134EA4 - - thumb_func_start c2_080111BC -c2_080111BC: @ 8134EE8 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08134F02 - bl FreeAllWindowBuffers - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_08134F02: - pop {r0} - bx r0 - .pool - thumb_func_end c2_080111BC - - thumb_func_start sub_8134F10 -sub_8134F10: @ 8134F10 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08134F30 - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8134F40 - str r0, [r1] -_08134F30: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134F10 - - thumb_func_start sub_8134F40 -sub_8134F40: @ 8134F40 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_8135130 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08134F66 - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, =sub_8134F78 - str r0, [r1] -_08134F66: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134F40 - - thumb_func_start sub_8134F78 -sub_8134F78: @ 8134F78 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_8134FB0 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134F78 - - thumb_func_start sub_8134FB0 -sub_8134FB0: @ 8134FB0 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08134FC6 - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_08134FC6: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8134FB0 - - thumb_func_start sub_8134FD4 -sub_8134FD4: @ 8134FD4 - push {lr} - lsls r0, 16 - lsrs r0, 16 - adds r1, r0, 0 - cmp r0, 0x3C - bls _08134FE4 - movs r0, 0x6 - b _08134FF6 -_08134FE4: - cmp r0, 0x1E - bls _08134FEC - movs r0, 0x3 - b _08134FF6 -_08134FEC: - cmp r1, 0xA - bhi _08134FF4 - movs r0, 0x1 - b _08134FF6 -_08134FF4: - movs r0, 0x2 -_08134FF6: - pop {r1} - bx r1 - thumb_func_end sub_8134FD4 - - thumb_func_start sub_8134FFC -sub_8134FFC: @ 8134FFC - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - adds r0, r2, 0 - bl sub_8134FD4 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r5, 0x1 - beq _0813501E - cmp r5, 0x2 - beq _08135030 - b _08135044 -_0813501E: - cmp r4, 0 - beq _08135026 - subs r0, r4, r1 - b _0813503C -_08135026: - movs r2, 0xB4 - lsls r2, 1 - adds r0, r2, 0 - subs r0, r1 - b _0813503C -_08135030: - movs r0, 0xB4 - lsls r0, 1 - subs r0, r1 - cmp r4, r0 - bge _08135042 - adds r0, r4, r1 -_0813503C: - lsls r0, 16 - lsrs r4, r0, 16 - b _08135044 -_08135042: - movs r4, 0 -_08135044: - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8134FFC - - thumb_func_start sub_813504C -sub_813504C: @ 813504C - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r4, 0x1 - beq _08135060 - cmp r4, 0x2 - beq _081350A0 - b _081350DE -_08135060: - ldr r0, =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0xE] - movs r5, 0xE - ldrsh r0, [r1, r5] - cmp r0, 0 - ble _08135080 - subs r0, r2, 0x1 - strh r0, [r1, 0xE] - b _081350DE - .pool -_08135080: - movs r0, 0x3B - strh r0, [r1, 0xE] - ldrh r2, [r1, 0xC] - movs r6, 0xC - ldrsh r0, [r1, r6] - cmp r0, 0 - ble _08135092 - subs r0, r2, 0x1 - b _08135094 -_08135092: - movs r0, 0x17 -_08135094: - strh r0, [r1, 0xC] - adds r0, r3, 0 - adds r1, r4, 0 - bl sub_81350E8 - b _081350DE -_081350A0: - ldr r0, =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0xE] - movs r5, 0xE - ldrsh r0, [r1, r5] - cmp r0, 0x3A - bgt _081350C0 - adds r0, r2, 0x1 - strh r0, [r1, 0xE] - b _081350DE - .pool -_081350C0: - movs r5, 0 - strh r5, [r1, 0xE] - ldrh r2, [r1, 0xC] - movs r6, 0xC - ldrsh r0, [r1, r6] - cmp r0, 0x16 - bgt _081350D4 - adds r0, r2, 0x1 - strh r0, [r1, 0xC] - b _081350D6 -_081350D4: - strh r5, [r1, 0xC] -_081350D6: - adds r0, r3, 0 - adds r1, r4, 0 - bl sub_81350E8 -_081350DE: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_813504C - - thumb_func_start sub_81350E8 -sub_81350E8: @ 81350E8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0xC] - cmp r3, 0x1 - beq _0813510C - cmp r3, 0x2 - beq _0813511E - b _0813512A - .pool -_0813510C: - cmp r0, 0xB - beq _08135116 - cmp r0, 0x17 - beq _0813511A - b _0813512A -_08135116: - movs r0, 0 - b _08135128 -_0813511A: - strh r3, [r1, 0x12] - b _0813512A -_0813511E: - cmp r0, 0 - beq _08135128 - cmp r0, 0xC - bne _0813512A - movs r0, 0x1 -_08135128: - strh r0, [r1, 0x12] -_0813512A: - pop {r0} - bx r0 - thumb_func_end sub_81350E8 - - thumb_func_start sub_8135130 -sub_8135130: @ 8135130 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl RtcCalcLocalTime - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r6, r0, r1 - ldr r5, =gLocalTime - movs r0, 0x2 - ldrsb r0, [r5, r0] - strh r0, [r6, 0xC] - movs r0, 0x3 - ldrsb r0, [r5, r0] - strh r0, [r6, 0xE] - movs r0, 0xE - ldrsh r1, [r6, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - strh r0, [r6, 0x8] - movs r1, 0xC - ldrsh r0, [r6, r1] - movs r1, 0xC - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - lsls r4, r0, 4 - subs r4, r0 - lsls r4, 1 - movs r1, 0xE - ldrsh r0, [r6, r1] - movs r1, 0xA - bl __divsi3 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 2 - adds r1, r0 - adds r4, r1 - strh r4, [r6, 0xA] - movs r0, 0x2 - ldrsb r0, [r5, r0] - cmp r0, 0xB - bgt _081351A0 - movs r0, 0 - b _081351A2 - .pool -_081351A0: - movs r0, 0x1 -_081351A2: - strh r0, [r6, 0x12] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8135130 - - thumb_func_start sub_81351AC -sub_81351AC: @ 81351AC - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - ldr r2, =gTasks - movs r0, 0x2E - ldrsh r1, [r6, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r4, [r0, 0x8] - adds r7, r4, 0 - adds r0, r4, 0 - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _081351D4 - adds r0, 0xF -_081351D4: - lsls r0, 12 - lsrs r5, r0, 16 - adds r0, r4, 0 - bl Cos2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _081351E8 - adds r0, 0xF -_081351E8: - lsls r1, r0, 12 - lsrs r1, 16 - lsls r3, r5, 16 - lsrs r2, r3, 16 - negs r3, r3 - lsrs r3, 16 - str r1, [sp] - movs r0, 0 - bl SetOamMatrix - ldr r1, =gUnknown_085B22D0 - lsls r2, r7, 1 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r3, r0, 16 - adds r1, 0x1 - adds r2, r1 - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 16 - lsrs r2, r0, 16 - cmp r3, 0x80 - bls _08135224 - movs r1, 0xFF - lsls r1, 8 - adds r0, r1, 0 - orrs r3, r0 -_08135224: - cmp r2, 0x80 - bls _08135230 - movs r1, 0xFF - lsls r1, 8 - adds r0, r1, 0 - orrs r2, r0 -_08135230: - strh r3, [r6, 0x24] - strh r2, [r6, 0x26] - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81351AC - - thumb_func_start sub_8135244 -sub_8135244: @ 8135244 - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - ldr r2, =gTasks - movs r0, 0x2E - ldrsh r1, [r6, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r4, [r0, 0xA] - adds r7, r4, 0 - adds r0, r4, 0 - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0813526C - adds r0, 0xF -_0813526C: - lsls r0, 12 - lsrs r5, r0, 16 - adds r0, r4, 0 - bl Cos2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _08135280 - adds r0, 0xF -_08135280: - lsls r1, r0, 12 - lsrs r1, 16 - lsls r3, r5, 16 - lsrs r2, r3, 16 - negs r3, r3 - lsrs r3, 16 - str r1, [sp] - movs r0, 0x1 - bl SetOamMatrix - ldr r1, =gUnknown_085B22D0 - lsls r2, r7, 1 - adds r0, r2, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r3, r0, 16 - adds r1, 0x1 - adds r2, r1 - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 16 - lsrs r2, r0, 16 - cmp r3, 0x80 - bls _081352BC - movs r1, 0xFF - lsls r1, 8 - adds r0, r1, 0 - orrs r3, r0 -_081352BC: - cmp r2, 0x80 - bls _081352C8 - movs r1, 0xFF - lsls r1, 8 - adds r0, r1, 0 - orrs r2, r0 -_081352C8: - strh r3, [r6, 0x24] - strh r2, [r6, 0x26] - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8135244 - - thumb_func_start sub_81352DC -sub_81352DC: @ 81352DC - push {r4,lr} - adds r4, r0, 0 - ldr r2, =gTasks - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x12 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0813531C - ldrh r1, [r4, 0x30] - adds r0, r1, 0 - subs r0, 0x3C - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1D - bhi _08135308 - adds r0, r1, 0x5 - strh r0, [r4, 0x30] -_08135308: - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0x3B - bgt _0813533C - adds r0, r1, 0x1 - b _0813533A - .pool -_0813531C: - ldrh r1, [r4, 0x30] - adds r0, r1, 0 - subs r0, 0x2E - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1D - bhi _0813532E - subs r0, r1, 0x5 - strh r0, [r4, 0x30] -_0813532E: - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0x4B - ble _0813533C - subs r0, r1, 0x1 -_0813533A: - strh r0, [r4, 0x30] -_0813533C: - ldrh r0, [r4, 0x30] - bl Cos2 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - subs r1, r0 - lsls r0, r1, 1 - cmp r0, 0 - bge _08135354 - ldr r1, =0x00000fff - adds r0, r1 -_08135354: - asrs r0, 12 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - subs r1, r0 - lsls r0, r1, 1 - cmp r0, 0 - bge _08135370 - ldr r2, =0x00000fff - adds r0, r2 -_08135370: - asrs r0, 12 - strh r0, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81352DC - - thumb_func_start sub_8135380 -sub_8135380: @ 8135380 - push {r4,lr} - adds r4, r0, 0 - ldr r2, =gTasks - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x12 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _081353C0 - ldrh r1, [r4, 0x30] - adds r0, r1, 0 - subs r0, 0x69 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1D - bhi _081353AC - adds r0, r1, 0x5 - strh r0, [r4, 0x30] -_081353AC: - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0x68 - bgt _081353E0 - adds r0, r1, 0x1 - b _081353DE - .pool -_081353C0: - ldrh r1, [r4, 0x30] - adds r0, r1, 0 - subs r0, 0x5B - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1D - bhi _081353D2 - subs r0, r1, 0x5 - strh r0, [r4, 0x30] -_081353D2: - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0x78 - ble _081353E0 - subs r0, r1, 0x1 -_081353DE: - strh r0, [r4, 0x30] -_081353E0: - ldrh r0, [r4, 0x30] - bl Cos2 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - subs r1, r0 - lsls r0, r1, 1 - cmp r0, 0 - bge _081353F8 - ldr r1, =0x00000fff - adds r0, r1 -_081353F8: - asrs r0, 12 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - lsls r1, r0, 4 - subs r1, r0 - lsls r0, r1, 1 - cmp r0, 0 - bge _08135414 - ldr r2, =0x00000fff - adds r0, r2 -_08135414: - asrs r0, 12 - strh r0, [r4, 0x26] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8135380 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/wild_encounter.s b/asm/wild_encounter.s deleted file mode 100644 index 9b6c901f69..0000000000 --- a/asm/wild_encounter.s +++ /dev/null @@ -1,2353 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80B48B8 -sub_80B48B8: @ 80B48B8 - ldr r1, =gUnknown_02038C00 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_80B48B8 - - thumb_func_start sub_80B48C4 -sub_80B48C4: @ 80B48C4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp] - lsls r1, 16 - lsrs r1, 16 - str r1, [sp, 0x4] - lsls r2, 24 - lsrs r2, 24 - ldr r3, =gUnknown_08553A7C - lsls r1, r2, 1 - adds r1, r2 - lsls r2, r1, 1 - adds r2, r3 - adds r0, r1, 0x1 - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - mov r9, r0 - adds r1, 0x2 - lsls r1, 1 - adds r1, r3 - ldrh r6, [r1] - ldrh r5, [r2] - cmp r5, r9 - bhi _080B496E - ldr r0, =gMapHeader - mov r10, r0 -_080B4906: - movs r4, 0 - mov r1, r10 - ldr r0, [r1] - ldr r0, [r0] - cmp r4, r0 - bge _080B4964 - ldr r1, [sp] - lsls r0, r1, 16 - asrs r0, 16 - mov r8, r0 - ldr r1, [sp, 0x4] - lsls r0, r1, 16 - asrs r7, r0, 16 -_080B4920: - adds r0, r4, 0x7 - adds r1, r5, 0x7 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsSurfableAndNotWaterfall - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B4954 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r8, r4 - bne _080B4954 - cmp r7, r5 - bne _080B4954 - adds r0, r6, 0 - b _080B4974 - .pool -_080B4954: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - mov r1, r10 - ldr r0, [r1] - ldr r0, [r0] - cmp r4, r0 - blt _080B4920 -_080B4964: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r9 - bls _080B4906 -_080B496E: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r0, 16 -_080B4974: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80B48C4 - - thumb_func_start sub_80B4984 -sub_80B4984: @ 80B4984 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - movs r7, 0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - movs r0, 0x88 - lsls r0, 6 - cmp r1, r0 - bne _080B4A7A - add r5, sp, 0xC - mov r4, sp - adds r4, 0xE - adds r0, r5, 0 - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - ldrh r0, [r5] - subs r0, 0x7 - strh r0, [r5] - ldrh r0, [r4] - subs r0, 0x7 - strh r0, [r4] - movs r0, 0 - ldrsh r1, [r4, r0] - ldr r0, =gUnknown_08553A7C - mov r9, r5 - mov r8, r4 - ldrh r2, [r0, 0x6] - cmp r1, r2 - blt _080B49D0 - ldrh r3, [r0, 0x8] - cmp r1, r3 - bgt _080B49D0 - movs r7, 0x1 -_080B49D0: - mov r2, r8 - movs r3, 0 - ldrsh r1, [r2, r3] - ldrh r2, [r0, 0xC] - cmp r1, r2 - blt _080B49E4 - ldrh r0, [r0, 0xE] - cmp r1, r0 - bgt _080B49E4 - movs r7, 0x2 -_080B49E4: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x31 - bls _080B4A08 - b _080B4A7A - .pool -_080B4A04: - movs r0, 0x1 - b _080B4A7C -_080B4A08: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r3, =0x00002e6a - adds r0, r3 - ldrh r0, [r0] - bl sub_80B4AB8 - movs r5, 0 - ldr r6, =0x000001bf -_080B4A1A: - bl sub_80B4A98 - lsls r1, r5, 1 - mov r2, sp - adds r4, r2, r1 - lsls r0, 16 - lsrs r0, 16 - adds r1, r6, 0 - bl __umodsi3 - strh r0, [r4] - lsls r0, 16 - cmp r0, 0 - bne _080B4A38 - strh r6, [r4] -_080B4A38: - ldrh r0, [r4] - subs r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bls _080B4A4A - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_080B4A4A: - cmp r5, 0x6 - bne _080B4A1A - mov r3, r9 - movs r1, 0 - ldrsh r0, [r3, r1] - mov r2, r8 - movs r3, 0 - ldrsh r1, [r2, r3] - adds r2, r7, 0 - bl sub_80B48C4 - lsls r0, 16 - lsrs r1, r0, 16 - movs r5, 0 -_080B4A66: - lsls r0, r5, 1 - add r0, sp - ldrh r0, [r0] - cmp r1, r0 - beq _080B4A04 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _080B4A66 -_080B4A7A: - movs r0, 0 -_080B4A7C: - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80B4984 - - thumb_func_start sub_80B4A98 -sub_80B4A98: @ 80B4A98 - ldr r2, =gUnknown_02038C04 - ldr r1, [r2] - ldr r0, =0x41c64e6d - muls r0, r1 - ldr r1, =0x00003039 - adds r0, r1 - str r0, [r2] - lsrs r0, 16 - bx lr - .pool - thumb_func_end sub_80B4A98 - - thumb_func_start sub_80B4AB8 -sub_80B4AB8: @ 80B4AB8 - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gUnknown_02038C04 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_80B4AB8 - - thumb_func_start wild_pokemon_rand_grass -wild_pokemon_rand_grass: @ 80B4AC8 - push {lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x13 - bhi _080B4AE4 - movs r0, 0 - b _080B4B7E -_080B4AE4: - adds r0, r1, 0 - subs r0, 0x14 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x13 - bhi _080B4AF4 - movs r0, 0x1 - b _080B4B7E -_080B4AF4: - adds r0, r1, 0 - subs r0, 0x28 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x9 - bhi _080B4B04 - movs r0, 0x2 - b _080B4B7E -_080B4B04: - adds r0, r1, 0 - subs r0, 0x32 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x9 - bhi _080B4B14 - movs r0, 0x3 - b _080B4B7E -_080B4B14: - adds r0, r1, 0 - subs r0, 0x3C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x9 - bhi _080B4B24 - movs r0, 0x4 - b _080B4B7E -_080B4B24: - adds r0, r1, 0 - subs r0, 0x46 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x9 - bhi _080B4B34 - movs r0, 0x5 - b _080B4B7E -_080B4B34: - adds r0, r1, 0 - subs r0, 0x50 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B4B44 - movs r0, 0x6 - b _080B4B7E -_080B4B44: - adds r0, r1, 0 - subs r0, 0x55 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B4B54 - movs r0, 0x7 - b _080B4B7E -_080B4B54: - adds r0, r1, 0 - subs r0, 0x5A - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bhi _080B4B64 - movs r0, 0x8 - b _080B4B7E -_080B4B64: - adds r0, r1, 0 - subs r0, 0x5E - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bhi _080B4B74 - movs r0, 0x9 - b _080B4B7E -_080B4B74: - cmp r1, 0x62 - beq _080B4B7C - movs r0, 0xB - b _080B4B7E -_080B4B7C: - movs r0, 0xA -_080B4B7E: - pop {r1} - bx r1 - thumb_func_end wild_pokemon_rand_grass - - thumb_func_start wild_pokemon_rand_water -wild_pokemon_rand_water: @ 80B4B84 - push {lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 24 - lsrs r1, r0, 24 - adds r2, r1, 0 - cmp r1, 0x3B - bhi _080B4BA2 - movs r0, 0 - b _080B4BD4 -_080B4BA2: - adds r0, r1, 0 - subs r0, 0x3C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1D - bhi _080B4BB2 - movs r0, 0x1 - b _080B4BD4 -_080B4BB2: - adds r0, r1, 0 - subs r0, 0x5A - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bhi _080B4BC2 - movs r0, 0x2 - b _080B4BD4 -_080B4BC2: - adds r0, r2, 0 - subs r0, 0x5F - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _080B4BD2 - movs r0, 0x4 - b _080B4BD4 -_080B4BD2: - movs r0, 0x3 -_080B4BD4: - pop {r1} - bx r1 - thumb_func_end wild_pokemon_rand_water - - thumb_func_start sub_80B4BD8 -sub_80B4BD8: @ 80B4BD8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - movs r5, 0 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r4, 0x1 - beq _080B4C12 - cmp r4, 0x1 - bgt _080B4C02 - cmp r4, 0 - beq _080B4C08 - b _080B4C6C -_080B4C02: - cmp r6, 0x2 - beq _080B4C36 - b _080B4C6C -_080B4C08: - movs r5, 0x1 - cmp r1, 0x45 - bhi _080B4C6C - movs r5, 0 - b _080B4C6C -_080B4C12: - cmp r1, 0x3B - bhi _080B4C18 - movs r5, 0x2 -_080B4C18: - adds r0, r1, 0 - subs r0, 0x3C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x13 - bhi _080B4C26 - movs r5, 0x3 -_080B4C26: - adds r0, r1, 0 - subs r0, 0x50 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x13 - bhi _080B4C6C - movs r5, 0x4 - b _080B4C6C -_080B4C36: - cmp r1, 0x27 - bhi _080B4C3C - movs r5, 0x5 -_080B4C3C: - adds r0, r1, 0 - subs r0, 0x28 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x27 - bhi _080B4C4A - movs r5, 0x6 -_080B4C4A: - adds r0, r1, 0 - subs r0, 0x50 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xE - bhi _080B4C58 - movs r5, 0x7 -_080B4C58: - adds r0, r1, 0 - subs r0, 0x5F - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bhi _080B4C66 - movs r5, 0x8 -_080B4C66: - cmp r1, 0x63 - bne _080B4C6C - movs r5, 0x9 -_080B4C6C: - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80B4BD8 - - thumb_func_start sub_80B4C74 -sub_80B4C74: @ 80B4C74 - push {r4-r7,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x1] - ldrb r1, [r4] - cmp r0, r1 - bcc _080B4C86 - ldrb r7, [r4] - adds r6, r0, 0 - b _080B4C8A -_080B4C86: - ldrb r7, [r4, 0x1] - ldrb r6, [r4] -_080B4C8A: - subs r4, r6, r7 - adds r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r4, 0 - bl __modsi3 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, =gPlayerParty - adds r0, r5, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _080B4CEA - adds r0, r5, 0 - bl GetMonAbility - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x37 - beq _080B4CC8 - cmp r0, 0x48 - beq _080B4CC8 - cmp r0, 0x2E - bne _080B4CEA -_080B4CC8: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080B4CE0 - adds r0, r6, 0 - b _080B4CF0 - .pool -_080B4CE0: - cmp r4, 0 - beq _080B4CEA - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_080B4CEA: - adds r0, r7, r4 - lsls r0, 24 - lsrs r0, 24 -_080B4CF0: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80B4C74 - - thumb_func_start get_wild_data_index_for_map -get_wild_data_index_for_map: @ 80B4CF8 - push {r4-r6,lr} - movs r4, 0 - ldr r0, =gWildMonHeaders - ldrb r1, [r0] - adds r5, r0, 0 - cmp r1, 0xFF - beq _080B4D6C - ldr r6, =0x00006a18 -_080B4D08: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 2 - adds r3, r0, r5 - ldrb r1, [r3] - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r0, 0x4 - ldrsb r0, [r2, r0] - cmp r1, r0 - bne _080B4D58 - ldrb r1, [r3, 0x1] - movs r0, 0x5 - ldrsb r0, [r2, r0] - cmp r1, r0 - bne _080B4D58 - ldrh r0, [r2, 0x4] - cmp r0, r6 - bne _080B4D44 - ldr r0, =0x0000403e - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x8 - bls _080B4D3E - movs r0, 0 -_080B4D3E: - adds r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 -_080B4D44: - adds r0, r4, 0 - b _080B4D6E - .pool -_080B4D58: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0xFF - bne _080B4D08 -_080B4D6C: - ldr r0, =0x0000ffff -_080B4D6E: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end get_wild_data_index_for_map - - thumb_func_start sub_80B4D78 -sub_80B4D78: @ 80B4D78 - push {r4-r7,lr} - sub sp, 0x1C - bl GetSafariZoneFlag - cmp r0, 0x1 - bne _080B4E0E - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4F - bhi _080B4E0E - bl SafariZoneGetActivePokeblock - adds r7, r0, 0 - cmp r7, 0 - beq _080B4E0E - movs r5, 0 -_080B4DA6: - mov r1, sp - adds r0, r1, r5 - strb r5, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x18 - bls _080B4DA6 - movs r5, 0 -_080B4DB8: - adds r1, r5, 0x1 - lsls r0, r1, 24 - lsrs r4, r0, 24 - adds r6, r1, 0 - cmp r4, 0x18 - bhi _080B4DE8 - add r5, sp -_080B4DC6: - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _080B4DDE - ldrb r2, [r5] - mov r0, sp - adds r1, r0, r4 - ldrb r0, [r1] - strb r0, [r5] - strb r2, [r1] -_080B4DDE: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x18 - bls _080B4DC6 -_080B4DE8: - lsls r0, r6, 24 - lsrs r5, r0, 24 - cmp r5, 0x17 - bls _080B4DB8 - movs r5, 0 -_080B4DF2: - mov r1, sp - adds r4, r1, r5 - ldrb r0, [r4] - adds r1, r7, 0 - bl sub_8136FE4 - lsls r0, 16 - cmp r0, 0 - bgt _080B4E48 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x18 - bls _080B4DF2 -_080B4E0E: - ldr r4, =gPlayerParty - adds r0, r4, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _080B4E4C - adds r0, r4, 0 - bl GetMonAbility - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1C - bne _080B4E4C - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080B4E4C - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - b _080B4E54 - .pool -_080B4E48: - ldrb r0, [r4] - b _080B4E5E -_080B4E4C: - bl Random - lsls r0, 16 - lsrs r0, 16 -_080B4E54: - movs r1, 0x19 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 -_080B4E5E: - add sp, 0x1C - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80B4D78 - - thumb_func_start sub_80B4E68 -sub_80B4E68: @ 80B4E68 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r7, r1, 24 - bl ZeroEnemyPartyMons - movs r2, 0x1 - ldr r1, =gBaseStats - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x10] - cmp r0, 0 - beq _080B4E96 - cmp r0, 0 - blt _080B4E98 - cmp r0, 0xFF - bgt _080B4E98 - cmp r0, 0xFE - blt _080B4E98 -_080B4E96: - movs r2, 0 -_080B4E98: - cmp r2, 0 - beq _080B4F28 - ldr r5, =gPlayerParty - adds r0, r5, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _080B4F28 - adds r0, r5, 0 - bl GetMonAbility - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x38 - bne _080B4F28 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - beq _080B4F28 - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0 - bl GetMonData - adds r1, r0, 0 - adds r0, r4, 0 - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xFE - bne _080B4F00 - movs r4, 0 - b _080B4F02 - .pool -_080B4F00: - movs r4, 0xFE -_080B4F02: - bl sub_80B4D78 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gEnemyParty - str r4, [sp] - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r1, 0 - adds r1, r6, 0 - adds r2, r7, 0 - movs r3, 0x20 - bl CreateMonWithGenderNatureLetter - b _080B4F40 - .pool -_080B4F28: - bl sub_80B4D78 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gEnemyParty - str r0, [sp] - adds r0, r1, 0 - adds r1, r6, 0 - adds r2, r7, 0 - movs r3, 0x20 - bl CreateMonWithNature -_080B4F40: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B4E68 - - thumb_func_start sub_80B4F4C -sub_80B4F4C: @ 80B4F4C - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r1, 24 - lsrs r3, r1, 24 - adds r4, r3, 0 - lsls r2, 24 - lsrs r6, r2, 24 - movs r1, 0 - mov r0, sp - strb r1, [r0] - cmp r3, 0x1 - beq _080B4FA0 - cmp r3, 0x1 - bgt _080B4F70 - cmp r3, 0 - beq _080B4F76 - b _080B4FBA -_080B4F70: - cmp r4, 0x2 - beq _080B4FB2 - b _080B4FBA -_080B4F76: - ldr r0, [r5, 0x4] - movs r1, 0x8 - movs r2, 0x2A - mov r3, sp - bl TryGetAbilityInfluencedWildMonIndex - lsls r0, 24 - cmp r0, 0 - bne _080B4FBA - ldr r0, [r5, 0x4] - movs r1, 0xD - movs r2, 0x9 - mov r3, sp - bl TryGetAbilityInfluencedWildMonIndex - lsls r0, 24 - cmp r0, 0 - bne _080B4FBA - bl wild_pokemon_rand_grass - b _080B4FB6 -_080B4FA0: - ldr r0, [r5, 0x4] - movs r1, 0xD - movs r2, 0x9 - mov r3, sp - bl TryGetAbilityInfluencedWildMonIndex - lsls r0, 24 - cmp r0, 0 - bne _080B4FBA -_080B4FB2: - bl wild_pokemon_rand_water -_080B4FB6: - mov r1, sp - strb r0, [r1] -_080B4FBA: - mov r0, sp - ldrb r1, [r0] - lsls r1, 2 - ldr r0, [r5, 0x4] - adds r0, r1 - bl sub_80B4C74 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 - ands r0, r6 - cmp r0, 0 - beq _080B4FE0 - adds r0, r4, 0 - bl sub_80B58CC - lsls r0, 24 - cmp r0, 0 - beq _080B5000 -_080B4FE0: - ldr r0, =gMapHeader - ldrh r1, [r0, 0x12] - movs r0, 0xB3 - lsls r0, 1 - cmp r1, r0 - beq _080B5008 - movs r0, 0x2 - ands r0, r6 - cmp r0, 0 - beq _080B5008 - adds r0, r4, 0 - bl DoKeenEyeIntimidateWildEncounterTest - lsls r0, 24 - cmp r0, 0 - bne _080B5008 -_080B5000: - movs r0, 0 - b _080B501C - .pool -_080B5008: - mov r0, sp - ldrb r0, [r0] - ldr r1, [r5, 0x4] - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x2] - adds r1, r4, 0 - bl sub_80B4E68 - movs r0, 0x1 -_080B501C: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80B4F4C - - thumb_func_start sub_80B5024 -sub_80B5024: @ 80B5024 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_80B4BD8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 22 - ldr r0, [r5, 0x4] - adds r0, r4 - bl sub_80B4C74 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, [r5, 0x4] - adds r0, r4, r0 - ldrh r0, [r0, 0x2] - bl sub_80B4E68 - ldr r0, [r5, 0x4] - adds r4, r0 - ldrh r0, [r4, 0x2] - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B5024 - - thumb_func_start SetUpMassOutbreakEncounter -SetUpMassOutbreakEncounter: @ 80B505C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080B508C - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00002b94 - adds r0, r1 - ldrb r0, [r0] - bl sub_80B58CC - lsls r0, 24 - cmp r0, 0 - bne _080B508C - movs r0, 0 - b _080B50C6 - .pool -_080B508C: - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r2, =0x00002b90 - adds r0, r1, r2 - ldrh r0, [r0] - adds r2, 0x4 - adds r1, r2 - ldrb r1, [r1] - bl sub_80B4E68 - movs r4, 0 -_080B50A2: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - lsls r1, r4, 1 - ldr r2, =0x00002b98 - adds r0, r2 - adds r0, r1 - ldrh r1, [r0] - lsls r2, r4, 24 - lsrs r2, 24 - ldr r0, =gEnemyParty - bl SetMonMoveSlot - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _080B50A2 - movs r0, 0x1 -_080B50C6: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end SetUpMassOutbreakEncounter - - thumb_func_start DoMassOutbreakEncounterTest -DoMassOutbreakEncounterTest: @ 80B50DC - push {r4,lr} - ldr r4, =gSaveBlock1Ptr - ldr r2, [r4] - ldr r1, =0x00002b90 - adds r0, r2, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _080B513C - movs r1, 0x5 - ldrsb r1, [r2, r1] - ldr r3, =0x00002b92 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r1, r0 - bne _080B513C - movs r1, 0x4 - ldrsb r1, [r2, r1] - adds r3, 0x1 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r1, r0 - bne _080B513C - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - ldr r1, [r4] - ldr r2, =0x00002ba1 - adds r1, r2 - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1] - cmp r0, r1 - bcs _080B513C - movs r0, 0x1 - b _080B513E - .pool -_080B513C: - movs r0, 0 -_080B513E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end DoMassOutbreakEncounterTest - - thumb_func_start DoWildEncounterRateDiceRoll -DoWildEncounterRateDiceRoll: @ 80B5144 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xB4 - lsls r1, 4 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - bcc _080B5168 - movs r0, 0 - b _080B516A -_080B5168: - movs r0, 0x1 -_080B516A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end DoWildEncounterRateDiceRoll - - thumb_func_start DoWildEncounterRateTest -DoWildEncounterRateTest: @ 80B5170 - push {r4,lr} - sub sp, 0x4 - str r0, [sp] - lsls r1, 24 - lsrs r4, r1, 24 - lsls r0, 4 - str r0, [sp] - movs r0, 0x6 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _080B519A - ldr r1, [sp] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - movs r1, 0x64 - bl __udivsi3 - str r0, [sp] -_080B519A: - mov r0, sp - bl affects_encounter_rate_based_on_flags - mov r0, sp - bl ApplyCleanseTagWildEncounterRateReduction - cmp r4, 0 - bne _080B5216 - ldr r4, =gPlayerParty - adds r0, r4, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _080B5216 - adds r0, r4, 0 - bl GetMonAbility - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B51E8 - ldr r0, =gMapHeader - ldrh r1, [r0, 0x12] - ldr r0, =0x00000169 - cmp r1, r0 - bne _080B5210 - ldr r1, [sp] - lsls r0, r1, 1 - adds r0, r1 - lsrs r0, 2 - b _080B5214 - .pool -_080B51E8: - cmp r0, 0x23 - bne _080B51F2 - ldr r0, [sp] - lsls r0, 1 - b _080B5214 -_080B51F2: - cmp r0, 0x49 - beq _080B5210 - cmp r0, 0x47 - bne _080B5200 - ldr r0, [sp] - lsls r0, 1 - b _080B5214 -_080B5200: - cmp r0, 0x8 - bne _080B5216 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0x2E - ldrb r0, [r0] - cmp r0, 0x8 - bne _080B5216 -_080B5210: - ldr r0, [sp] - lsrs r0, 1 -_080B5214: - str r0, [sp] -_080B5216: - ldr r0, [sp] - movs r1, 0xB4 - lsls r1, 4 - cmp r0, r1 - bls _080B5222 - str r1, [sp] -_080B5222: - ldr r0, [sp] - lsls r0, 16 - lsrs r0, 16 - bl DoWildEncounterRateDiceRoll - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end DoWildEncounterRateTest - - thumb_func_start DoGlobalWildEncounterDiceRoll -DoGlobalWildEncounterDiceRoll: @ 80B523C - push {lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3B - bhi _080B5258 - movs r0, 0x1 - b _080B525A -_080B5258: - movs r0, 0 -_080B525A: - pop {r1} - bx r1 - thumb_func_end DoGlobalWildEncounterDiceRoll - - thumb_func_start sub_80B5260 -sub_80B5260: @ 80B5260 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - movs r0, 0xE0 - lsls r0, 3 - cmp r1, r0 - bne _080B5280 - movs r0, 0x53 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - b _080B5282 - .pool -_080B5280: - movs r0, 0 -_080B5282: - pop {r1} - bx r1 - thumb_func_end sub_80B5260 - - thumb_func_start is_it_battle_time_2 -is_it_battle_time_2: @ 80B5288 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 16 - lsrs r6, r0, 16 - mov r9, r6 - lsls r1, 16 - lsrs r7, r1, 16 - mov r8, r7 - ldr r0, =gUnknown_02038C00 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080B52A6 - b _080B54FE -_080B52A6: - bl get_wild_data_index_for_map - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, =0x0000ffff - cmp r5, r0 - bne _080B539C - ldr r0, =gMapHeader - ldrh r1, [r0, 0x12] - movs r0, 0xB3 - lsls r0, 1 - cmp r1, r0 - bne _080B5330 - bl sub_81A7D00 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r7, r6 - beq _080B52D8 - bl DoGlobalWildEncounterDiceRoll - lsls r0, 24 - cmp r0, 0 - bne _080B52D8 - b _080B54FE -_080B52D8: - ldr r1, =gUnknown_08553A14 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 2 - adds r1, 0x4 - adds r4, r0, r1 - ldr r0, [r4] - ldrb r0, [r0] - movs r1, 0 - bl DoWildEncounterRateTest - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B52F8 - b _080B54FE -_080B52F8: - ldr r0, [r4] - movs r1, 0 - movs r2, 0x2 - bl sub_80B4F4C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B530C - b _080B54FE -_080B530C: - movs r0, 0x1 - bl sub_81A7B90 - cmp r0, 0 - bne _080B5318 - b _080B54FE -_080B5318: - bl sub_80B06B0 - movs r0, 0x1 - b _080B5500 - .pool -_080B5330: - ldr r0, =0x00000169 - cmp r1, r0 - beq _080B5338 - b _080B54FE -_080B5338: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000cb2 - adds r0, r1 - ldrh r5, [r0] - cmp r7, r6 - beq _080B5352 - bl DoGlobalWildEncounterDiceRoll - lsls r0, 24 - cmp r0, 0 - bne _080B5352 - b _080B54FE -_080B5352: - ldr r1, =gUnknown_08553894 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 2 - adds r1, 0x4 - adds r4, r0, r1 - ldr r0, [r4] - ldrb r0, [r0] - movs r1, 0 - bl DoWildEncounterRateTest - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B5372 - b _080B54FE -_080B5372: - ldr r0, [r4] - movs r1, 0 - movs r2, 0x2 - bl sub_80B4F4C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B5386 - b _080B54FE -_080B5386: - bl sub_81A9C04 - b _080B54F6 - .pool -_080B539C: - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsLandWildEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B543C - ldr r1, =gWildMonHeaders - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 2 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - adds r4, r2, 0 - cmp r0, 0 - bne _080B53C4 - b _080B54FE -_080B53C4: - cmp r7, r6 - beq _080B53D4 - bl DoGlobalWildEncounterDiceRoll - lsls r0, 24 - cmp r0, 0 - bne _080B53D4 - b _080B54FE -_080B53D4: - ldr r1, =gWildMonHeaders - adds r0, r4, r5 - lsls r0, 2 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - ldrb r0, [r0] - movs r1, 0 - bl DoWildEncounterRateTest - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B53F2 - b _080B54FE -_080B53F2: - bl TryStartRoamerEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B54BA - bl DoMassOutbreakEncounterTest - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B5418 - movs r0, 0x3 - bl SetUpMassOutbreakEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B54F6 -_080B5418: - ldr r1, =gWildMonHeaders - adds r0, r4, r5 - lsls r0, 2 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - movs r2, 0x3 - bl sub_80B4F4C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B54F6 - b _080B54FE - .pool -_080B543C: - adds r0, r4, 0 - bl MetatileBehavior_IsWaterWildEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B5464 - movs r0, 0x8 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _080B54FE - adds r0, r4, 0 - bl MetatileBehavior_IsBridge - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B54FE -_080B5464: - bl sub_80B5260 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B54FE - ldr r1, =gWildMonHeaders - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 2 - adds r1, 0x8 - adds r0, r1 - ldr r0, [r0] - adds r4, r2, 0 - cmp r0, 0 - beq _080B54FE - cmp r8, r9 - beq _080B5492 - bl DoGlobalWildEncounterDiceRoll - lsls r0, 24 - cmp r0, 0 - beq _080B54FE -_080B5492: - ldr r1, =gWildMonHeaders - adds r0, r4, r5 - lsls r0, 2 - adds r1, 0x8 - adds r4, r0, r1 - ldr r0, [r4] - ldrb r0, [r0] - movs r1, 0 - bl DoWildEncounterRateTest - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B54FE - bl TryStartRoamerEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B54E4 -_080B54BA: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x000031dc - adds r0, r1 - ldrb r0, [r0, 0xC] - bl sub_80B58CC - lsls r0, 24 - cmp r0, 0 - beq _080B54FE - bl sub_80B072C - movs r0, 0x1 - b _080B5500 - .pool -_080B54E4: - ldr r0, [r4] - movs r1, 0x1 - movs r2, 0x3 - bl sub_80B4F4C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B54FE -_080B54F6: - bl sub_80B0698 - movs r0, 0x1 - b _080B5500 -_080B54FE: - movs r0, 0 -_080B5500: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end is_it_battle_time_2 - - thumb_func_start rock_smash_wild_pokemon_encounter -rock_smash_wild_pokemon_encounter: @ 80B550C - push {r4,lr} - bl get_wild_data_index_for_map - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, =0x0000ffff - cmp r2, r0 - beq _080B5568 - ldr r1, =gWildMonHeaders - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - adds r1, 0xC - adds r0, r1 - ldr r4, [r0] - cmp r4, 0 - beq _080B5554 - ldrb r0, [r4] - movs r1, 0x1 - bl DoWildEncounterRateTest - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B5568 - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0x3 - bl sub_80B4F4C - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bne _080B5568 - bl sub_80B0698 -_080B5554: - ldr r0, =gScriptResult - strh r4, [r0] - b _080B556E - .pool -_080B5568: - ldr r1, =gScriptResult - movs r0, 0 - strh r0, [r1] -_080B556E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end rock_smash_wild_pokemon_encounter - - thumb_func_start SweetScentWildEncounter -SweetScentWildEncounter: @ 80B5578 - push {r4,r5,lr} - sub sp, 0x4 - mov r5, sp - adds r5, 0x2 - mov r0, sp - adds r1, r5, 0 - bl PlayerGetDestCoords - bl get_wild_data_index_for_map - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x0000ffff - cmp r4, r0 - bne _080B562C - ldr r0, =gMapHeader - ldrh r1, [r0, 0x12] - movs r0, 0xB3 - lsls r0, 1 - cmp r1, r0 - bne _080B55E4 - bl sub_81A7D00 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gUnknown_08553A14 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 2 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - movs r2, 0 - bl sub_80B4F4C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B55CA - b _080B56F2 -_080B55CA: - movs r0, 0 - bl sub_81A7B90 - bl sub_80B06B0 - movs r0, 0x1 - b _080B56F4 - .pool -_080B55E4: - ldr r0, =0x00000169 - cmp r1, r0 - beq _080B55EC - b _080B56F2 -_080B55EC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000cb2 - adds r0, r1 - ldrh r4, [r0] - ldr r1, =gUnknown_08553894 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 2 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - movs r2, 0 - bl sub_80B4F4C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B56F2 - bl sub_81A9C04 - b _080B56EA - .pool -_080B562C: - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsLandWildEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B568C - ldr r1, =gWildMonHeaders - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 2 - adds r1, 0x4 - adds r0, r1 - ldr r4, [r0] - cmp r4, 0 - beq _080B56F2 - bl TryStartRoamerEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B56D4 - bl DoMassOutbreakEncounterTest - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B5680 - movs r0, 0 - bl SetUpMassOutbreakEncounter - b _080B56EA - .pool -_080B5680: - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl sub_80B4F4C - b _080B56EA -_080B568C: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsWaterWildEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B56F2 - bl sub_80B5260 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B56F2 - ldr r1, =gWildMonHeaders - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 2 - adds r1, 0x8 - adds r0, r1 - ldr r4, [r0] - cmp r4, 0 - beq _080B56F2 - bl TryStartRoamerEncounter - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B56E0 -_080B56D4: - bl sub_80B072C - movs r0, 0x1 - b _080B56F4 - .pool -_080B56E0: - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl sub_80B4F4C -_080B56EA: - bl sub_80B0698 - movs r0, 0x1 - b _080B56F4 -_080B56F2: - movs r0, 0 -_080B56F4: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end SweetScentWildEncounter - - thumb_func_start GetFishingWildMonListHeader -GetFishingWildMonListHeader: @ 80B56FC - push {lr} - bl get_wild_data_index_for_map - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, =0x0000ffff - cmp r2, r0 - beq _080B572C - ldr r0, =gWildMonHeaders - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r0, 0x10 - adds r1, r0 - ldr r0, [r1] - cmp r0, 0 - beq _080B572C - movs r0, 0x1 - b _080B572E - .pool -_080B572C: - movs r0, 0 -_080B572E: - pop {r1} - bx r1 - thumb_func_end GetFishingWildMonListHeader - - thumb_func_start sub_80B5734 -sub_80B5734: @ 80B5734 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_80B4984 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B5764 - ldr r4, =gUnknown_08553A78 - adds r0, r4, 0 - bl sub_80B4C74 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldrh r4, [r4, 0x2] - adds r0, r4, 0 - bl sub_80B4E68 - b _080B5784 - .pool -_080B5764: - ldr r4, =gWildMonHeaders - bl get_wild_data_index_for_map - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r4, 0x10 - adds r1, r4 - ldr r0, [r1] - adds r1, r5, 0 - bl sub_80B5024 - lsls r0, 16 - lsrs r4, r0, 16 -_080B5784: - movs r0, 0xC - bl IncrementGameStat - adds r0, r4, 0 - bl sub_80EDA3C - bl sub_80B0698 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80B5734 - - thumb_func_start wild_pokemon_rand_for_map -wild_pokemon_rand_for_map: @ 80B57A0 - push {r4-r6,lr} - adds r6, r0, 0 - movs r0, 0 - strb r0, [r6] - bl get_wild_data_index_for_map - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, =0x0000ffff - cmp r3, r0 - beq _080B57D2 - ldr r2, =gWildMonHeaders - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 2 - adds r0, r2, 0x4 - adds r0, r1, r0 - ldr r5, [r0] - adds r2, 0x8 - adds r1, r2 - ldr r4, [r1] - cmp r5, 0 - bne _080B57E0 - cmp r4, 0 - bne _080B57E6 -_080B57D2: - movs r0, 0 - b _080B5826 - .pool -_080B57E0: - cmp r4, 0 - bne _080B57F4 - b _080B5818 -_080B57E6: - movs r0, 0x1 - strb r0, [r6] - bl wild_pokemon_rand_water - lsls r0, 24 - ldr r1, [r4, 0x4] - b _080B5820 -_080B57F4: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4F - bls _080B5818 - movs r0, 0x1 - strb r0, [r6] - bl wild_pokemon_rand_water - lsls r0, 24 - ldr r1, [r4, 0x4] - b _080B5820 -_080B5818: - bl wild_pokemon_rand_grass - lsls r0, 24 - ldr r1, [r5, 0x4] -_080B5820: - lsrs r0, 22 - adds r0, r1 - ldrh r0, [r0, 0x2] -_080B5826: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end wild_pokemon_rand_for_map - - thumb_func_start sub_80B582C -sub_80B582C: @ 80B582C - push {r4,lr} - bl get_wild_data_index_for_map - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, =0x0000ffff - cmp r2, r0 - beq _080B5868 - ldr r1, =gWildMonHeaders - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - adds r1, 0x8 - adds r0, r1 - ldr r4, [r0] - cmp r4, 0 - beq _080B5868 - bl wild_pokemon_rand_water - lsls r0, 24 - ldr r1, [r4, 0x4] - lsrs r0, 22 - adds r0, r1 - ldrh r0, [r0, 0x2] - b _080B586A - .pool -_080B5868: - movs r0, 0 -_080B586A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80B582C - - thumb_func_start sub_80B5870 -sub_80B5870: @ 80B5870 - push {r4,r5,lr} - bl InBattlePike - lsls r0, 24 - cmp r0, 0 - bne _080B58C4 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - bne _080B58C4 - bl InUnionRoom - cmp r0, 0x1 - beq _080B58C4 - ldr r5, =0x00004021 - adds r0, r5, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _080B58C4 - subs r4, r0, 0x1 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl VarSet - cmp r4, 0 - bne _080B58C4 - ldr r0, =gUnknown_082A4B2A - bl ScriptContext1_SetupScript - movs r0, 0x1 - b _080B58C6 - .pool -_080B58C4: - movs r0, 0 -_080B58C6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80B5870 - - thumb_func_start sub_80B58CC -sub_80B58CC: @ 80B58CC - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =0x00004021 - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _080B5912 - movs r5, 0 -_080B58E0: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080B5920 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _080B5920 - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - bcc _080B592A -_080B5912: - movs r0, 0x1 - b _080B592C - .pool -_080B5920: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _080B58E0 -_080B592A: - movs r0, 0 -_080B592C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80B58CC - - thumb_func_start DoKeenEyeIntimidateWildEncounterTest -@ _BOOL1 DoKeenEyeIntimidateWildEncounterTest(u8 wildMonLevel) -DoKeenEyeIntimidateWildEncounterTest: @ 80B5934 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gPlayerParty - adds r0, r4, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _080B5988 - adds r0, r4, 0 - bl GetMonAbility - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x33 - beq _080B595A - cmp r0, 0x16 - bne _080B5988 -_080B595A: - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bls _080B5988 - subs r0, 0x5 - cmp r5, r0 - bgt _080B5988 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080B5988 - movs r0, 0 - b _080B598A - .pool -_080B5988: - movs r0, 0x1 -_080B598A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end DoKeenEyeIntimidateWildEncounterTest - - thumb_func_start TryGetRandomWildMonIndexByType -@ _BOOL1 TryGetRandomWildMonIndexByType(WildMonEntry *mons, u8 type, u8 numMons, u8 *monIndex) -TryGetRandomWildMonIndexByType: @ 80B5990 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r7, sp - mov r12, r0 - mov r8, r3 - lsls r1, 24 - lsrs r1, 24 - str r1, [r7] - lsls r2, 24 - lsrs r2, 24 - mov r9, sp - adds r0, r2, 0x3 - lsrs r0, 2 - lsls r0, 2 - mov r1, sp - subs r1, r0 - mov sp, r1 - mov r5, sp - movs r3, 0 - cmp r3, r2 - bcs _080B59D2 - movs r1, 0 -_080B59C4: - adds r0, r5, r3 - strb r1, [r0] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r2 - bcc _080B59C4 -_080B59D2: - movs r4, 0 - movs r3, 0 - cmp r4, r2 - bcs _080B5A12 - ldr r6, =gBaseStats - mov r10, r6 -_080B59DE: - lsls r0, r3, 2 - add r0, r12 - ldrh r1, [r0, 0x2] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - mov r6, r10 - adds r1, r0, r6 - ldrb r0, [r1, 0x6] - ldr r6, [r7] - cmp r0, r6 - beq _080B59FC - ldrb r0, [r1, 0x7] - cmp r0, r6 - bne _080B5A08 -_080B59FC: - adds r1, r4, 0 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r1, r5, r1 - strb r3, [r1] -_080B5A08: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r2 - bcc _080B59DE -_080B5A12: - cmp r4, 0 - beq _080B5A1A - cmp r4, r2 - bne _080B5A24 -_080B5A1A: - movs r0, 0 - b _080B5A3C - .pool -_080B5A24: - bl Random - lsls r0, 16 - lsrs r0, 16 - adds r1, r4, 0 - bl __modsi3 - adds r0, r5, r0 - ldrb r0, [r0] - mov r1, r8 - strb r0, [r1] - movs r0, 0x1 -_080B5A3C: - mov sp, r9 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end TryGetRandomWildMonIndexByType - - thumb_func_start TryGetAbilityInfluencedWildMonIndex -@ _BOOL1 TryGetAbilityInfluencedWildMonIndex(WildMonEntry *mons, u8 type, u8 abilityId, u8 *monIndex) -TryGetAbilityInfluencedWildMonIndex: @ 80B5A50 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - mov r8, r3 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - ldr r4, =gPlayerParty - adds r0, r4, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _080B5AA4 - adds r0, r4, 0 - bl GetMonAbility - lsls r0, 24 - lsrs r0, 24 - cmp r0, r5 - bne _080B5AA4 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080B5AA4 - adds r0, r7, 0 - adds r1, r6, 0 - movs r2, 0xC - mov r3, r8 - bl TryGetRandomWildMonIndexByType - lsls r0, 24 - lsrs r0, 24 - b _080B5AA6 - .pool -_080B5AA4: - movs r0, 0 -_080B5AA6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end TryGetAbilityInfluencedWildMonIndex - - thumb_func_start affects_encounter_rate_based_on_flags -@ void affects_encounter_rate_based_on_flags(u32 *val) -affects_encounter_rate_based_on_flags: @ 80B5AB0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =0x000008ad - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B5AD0 - ldr r0, [r4] - lsrs r1, r0, 1 - adds r0, r1 - b _080B5AE2 - .pool -_080B5AD0: - ldr r0, =0x000008ae - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B5AE4 - ldr r0, [r4] - lsrs r0, 1 -_080B5AE2: - str r0, [r4] -_080B5AE4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end affects_encounter_rate_based_on_flags - - thumb_func_start ApplyCleanseTagWildEncounterRateReduction -ApplyCleanseTagWildEncounterRateReduction: @ 80B5AF0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gPlayerParty - movs r1, 0xC - bl GetMonData - cmp r0, 0xBE - bne _080B5B0C - ldr r0, [r4] - lsls r0, 1 - movs r1, 0x3 - bl __udivsi3 - str r0, [r4] -_080B5B0C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ApplyCleanseTagWildEncounterRateReduction - - .align 2, 0 @ Don't pad with nop. diff --git a/asmdiff.sh b/asmdiff.sh old mode 100644 new mode 100755 diff --git a/build_tools.sh b/build_tools.sh new file mode 100755 index 0000000000..824ed025b8 --- /dev/null +++ b/build_tools.sh @@ -0,0 +1,8 @@ +#!/bin/sh +make -C tools/gbagfx CXX=${1:-g++} +make -C tools/scaninc CXX=${1:-g++} +make -C tools/preproc CXX=${1:-g++} +make -C tools/bin2c CXX=${1:-g++} +make -C tools/rsfont CXX=${1:-g++} +make -C tools/aif2pcm CXX=${1:-g++} +make -C tools/ramscrgen CXX=${1:-g++} diff --git a/charmap.txt b/charmap.txt index 05eff30128..a0d9f7ecf3 100644 --- a/charmap.txt +++ b/charmap.txt @@ -73,6 +73,7 @@ RIGHT_ARROW = 7C '?' = AC '.' = AD '-' = AE +'·' = AF '…' = B0 '“' = B1 '”' = B2 @@ -317,8 +318,7 @@ TALL_PLUS = FC 0C FB '?' = AC '。' = AD 'ー' = AE -'·' = AF -'‥' = B0 +'⋯' = B0 STRING = FD @@ -451,242 +451,536 @@ DYNAMIC_COLOR6 = 0F @ cerulean @ sound and music -SE_STOP = 00 00 -SE_KAIFUKU = 01 00 -SE_PC_LOGON = 02 00 -SE_PC_OFF = 03 00 -SE_PC_ON = 04 00 -SE_SELECT = 05 00 -SE_WIN_OPEN = 06 00 -SE_WALL_HIT = 07 00 -SE_DOOR = 08 00 -SE_KAIDAN = 09 00 -SE_DANSA = 0A 00 -SE_JITENSYA = 0B 00 -SE_KOUKA_L = 0C 00 -SE_KOUKA_M = 0D 00 -SE_KOUKA_H = 0E 00 -SE_BOWA2 = 0F 00 -SE_POKE_DEAD = 10 00 -SE_NIGERU = 11 00 -SE_JIDO_DOA = 12 00 -SE_NAMINORI = 13 00 -SE_BAN = 14 00 -SE_PIN = 15 00 -SE_BOO = 16 00 -SE_BOWA = 17 00 -SE_JYUNI = 18 00 -SE_A = 19 00 -SE_I = 1A 00 -SE_U = 1B 00 -SE_E = 1C 00 -SE_O = 1D 00 -SE_N = 1E 00 -SE_SEIKAI = 1F 00 -SE_HAZURE = 20 00 -SE_EXP = 21 00 -SE_JITE_PYOKO = 22 00 -SE_MU_PACHI = 23 00 -SE_TK_KASYA = 24 00 -SE_FU_ZAKU = 25 00 -SE_FU_ZAKU2 = 26 00 -SE_FU_ZUZUZU = 27 00 -SE_RU_GASHIN = 28 00 -SE_RU_GASYAN = 29 00 -SE_RU_BARI = 2A 00 -SE_RU_HYUU = 2B 00 -SE_KI_GASYAN = 2C 00 -SE_TK_WARPIN = 2D 00 -SE_TK_WARPOUT = 2E 00 -SE_TU_SAA = 2F 00 -SE_HI_TURUN = 30 00 -SE_TRACK_MOVE = 31 00 -SE_TRACK_STOP = 32 00 -SE_TRACK_HAIK = 33 00 -SE_TRACK_DOOR = 34 00 -SE_MOTER = 35 00 -SE_CARD = 36 00 -SE_SAVE = 37 00 -SE_KON = 38 00 -SE_KON2 = 39 00 -SE_KON3 = 3A 00 -SE_KON4 = 3B 00 -SE_SUIKOMU = 3C 00 -SE_NAGERU = 3D 00 -SE_TOY_C = 3E 00 -SE_TOY_D = 3F 00 -SE_TOY_E = 40 00 -SE_TOY_F = 41 00 -SE_TOY_G = 42 00 -SE_TOY_A = 43 00 -SE_TOY_B = 44 00 -SE_TOY_C1 = 45 00 -SE_MIZU = 46 00 -SE_HASHI = 47 00 -SE_DAUGI = 48 00 -SE_PINPON = 49 00 -SE_FUUSEN1 = 4A 00 -SE_FUUSEN2 = 4B 00 -SE_FUUSEN3 = 4C 00 -SE_TOY_KABE = 4D 00 -SE_TOY_DANGO = 4E 00 -SE_DOKU = 4F 00 -SE_ESUKA = 50 00 -SE_T_AME = 51 00 -SE_T_AME_E = 52 00 -SE_T_OOAME = 53 00 -SE_T_OOAME_E = 54 00 -SE_T_KOAME = 55 00 -SE_T_KOAME_E = 56 00 -SE_T_KAMI = 57 00 -SE_T_KAMI2 = 58 00 -SE_ELEBETA = 59 00 -SE_HINSI = 5A 00 -SE_EXPMAX = 5B 00 -SE_TAMAKORO = 5C 00 -SE_TAMAKORO_E = 5D 00 -SE_BASABASA = 5E 00 -SE_REGI = 5F 00 -SE_C_GAJI = 60 00 -SE_C_MAKU_U = 61 00 -SE_C_MAKU_D = 62 00 -SE_C_PASI = 63 00 -SE_C_SYU = 64 00 -SE_C_PIKON = 65 00 -SE_REAPOKE = 66 00 -SE_OP_BASYU = 67 00 -SE_BT_START = 68 00 -SE_DENDOU = 69 00 -SE_JIHANKI = 6A 00 -SE_TAMA = 6B 00 -SE_Z_SCROLL = 6C 00 -SE_Z_PAGE = 6D 00 -SE_PN_ON = 6E 00 -SE_PN_OFF = 6F 00 -SE_Z_SEARCH = 70 00 -SE_TAMAGO = 71 00 -SE_TB_START = 72 00 -SE_TB_KON = 73 00 -SE_TB_KARA = 74 00 -SE_BIDORO = 75 00 -BGM_STOP = 5D 01 -BGM_TETSUJI = 5E 01 -BGM_FIELD13 = 5F 01 -BGM_KACHI22 = 60 01 -BGM_KACHI2 = 61 01 -BGM_KACHI3 = 62 01 -BGM_KACHI5 = 63 01 -BGM_PCC = 64 01 -BGM_NIBI = 65 01 -BGM_SUIKUN = 66 01 -BGM_DOORO1 = 67 01 -BGM_DOORO_X1 = 68 01 -BGM_DOORO_X3 = 69 01 -BGM_MACHI_S2 = 6A 01 -BGM_MACHI_S4 = 6B 01 -BGM_GIM = 6C 01 -BGM_NAMINORI = 6D 01 -BGM_DAN01 = 6E 01 -BGM_FANFA1 = 6F 01 -BGM_ME_ASA = 70 01 -BGM_ME_BACHI = 71 01 -BGM_FANFA4 = 72 01 -BGM_FANFA5 = 73 01 -BGM_ME_WAZA = 74 01 -BGM_BIJYUTU = 75 01 -BGM_DOORO_X4 = 76 01 -BGM_FUNE_KAN = 77 01 -BGM_ME_SHINKA = 78 01 -BGM_SHINKA = 79 01 -BGM_ME_WASURE = 7A 01 -BGM_SYOUJOEYE = 7B 01 -BGM_BOYEYE = 7C 01 -BGM_DAN02 = 7D 01 -BGM_MACHI_S3 = 7E 01 -BGM_ODAMAKI = 7F 01 -BGM_B_TOWER = 80 01 -BGM_SWIMEYE = 81 01 -BGM_DAN03 = 82 01 -BGM_ME_KINOMI = 83 01 -BGM_ME_TAMA = 84 01 -BGM_ME_B_BIG = 85 01 -BGM_ME_B_SMALL = 86 01 -BGM_ME_ZANNEN = 87 01 -BGM_BD_TIME = 88 01 -BGM_TEST1 = 89 01 -BGM_TEST2 = 8A 01 -BGM_TEST3 = 8B 01 -BGM_TEST4 = 8C 01 -BGM_TEST = 8D 01 -BGM_GOMACHI0 = 8E 01 -BGM_GOTOWN = 8F 01 -BGM_POKECEN = 90 01 -BGM_NEXTROAD = 91 01 -BGM_GRANROAD = 92 01 -BGM_CYCLING = 93 01 -BGM_FRIENDLY = 94 01 -BGM_MISHIRO = 95 01 -BGM_TOZAN = 96 01 -BGM_GIRLEYE = 97 01 -BGM_MINAMO = 98 01 -BGM_ASHROAD = 99 01 -BGM_EVENT0 = 9A 01 -BGM_DEEPDEEP = 9B 01 -BGM_KACHI1 = 9C 01 -BGM_TITLE3 = 9D 01 -BGM_DEMO1 = 9E 01 -BGM_GIRL_SUP = 9F 01 -BGM_HAGESHII = A0 01 -BGM_KAKKOII = A1 01 -BGM_KAZANBAI = A2 01 -BGM_AQA_0 = A3 01 -BGM_TSURETEK = A4 01 -BGM_BOY_SUP = A5 01 -BGM_RAINBOW = A6 01 -BGM_AYASII = A7 01 -BGM_KACHI4 = A8 01 -BGM_ROPEWAY = A9 01 -BGM_CASINO = AA 01 -BGM_HIGHTOWN = AB 01 -BGM_SAFARI = AC 01 -BGM_C_ROAD = AD 01 -BGM_AJITO = AE 01 -BGM_M_BOAT = AF 01 -BGM_M_DUNGON = B0 01 -BGM_FINECITY = B1 01 -BGM_MACHUPI = B2 01 -BGM_P_SCHOOL = B3 01 -BGM_DENDOU = B4 01 -BGM_TONEKUSA = B5 01 -BGM_MABOROSI = B6 01 -BGM_CON_FAN = B7 01 -BGM_CONTEST0 = B8 01 -BGM_MGM0 = B9 01 -BGM_T_BATTLE = BA 01 -BGM_OOAME = BB 01 -BGM_HIDERI = BC 01 -BGM_RUNECITY = BD 01 -BGM_CON_K = BE 01 -BGM_EIKOU_R = BF 01 -BGM_KARAKURI = C0 01 -BGM_HUTAGO = C1 01 -BGM_SITENNOU = C2 01 -BGM_YAMA_EYE = C3 01 -BGM_CONLOBBY = C4 01 -BGM_INTER_V = C5 01 -BGM_DAIGO = C6 01 -BGM_THANKFOR = C7 01 -BGM_END = C8 01 -BGM_BATTLE27 = C9 01 -BGM_BATTLE31 = CA 01 -BGM_BATTLE20 = CB 01 -BGM_BATTLE32 = CC 01 -BGM_BATTLE33 = CD 01 -BGM_BATTLE36 = CE 01 -BGM_BATTLE34 = CF 01 -BGM_BATTLE35 = D0 01 -BGM_BATTLE38 = D1 01 -BGM_BATTLE30 = D2 01 +MUS_DUMMY = 00 00 +SE_KAIFUKU = 01 00 +SE_PC_LOGIN = 02 00 +SE_PC_OFF = 03 00 +SE_PC_ON = 04 00 +SE_SELECT = 05 00 +SE_WIN_OPEN = 06 00 +SE_WALL_HIT = 07 00 +SE_DOOR = 08 00 +SE_KAIDAN = 09 00 +SE_DANSA = 0A 00 +SE_JITENSYA = 0B 00 +SE_KOUKA_L = 0C 00 +SE_KOUKA_M = 0D 00 +SE_KOUKA_H = 0E 00 +SE_BOWA2 = 0F 00 +SE_POKE_DEAD = 10 00 +SE_NIGERU = 11 00 +SE_JIDO_DOA = 12 00 +SE_NAMINORI = 13 00 +SE_BAN = 14 00 +SE_PIN = 15 00 +SE_BOO = 16 00 +SE_BOWA = 17 00 +SE_JYUNI = 18 00 +SE_A = 19 00 +SE_I = 1A 00 +SE_U = 1B 00 +SE_E = 1C 00 +SE_O = 1D 00 +SE_N = 1E 00 +SE_SEIKAI = 1F 00 +SE_HAZURE = 20 00 +SE_EXP = 21 00 +SE_JITE_PYOKO = 22 00 +SE_MU_PACHI = 23 00 +SE_TK_KASYA = 24 00 +SE_FU_ZAKU = 25 00 +SE_FU_ZAKU2 = 26 00 +SE_FU_ZUZUZU = 27 00 +SE_RU_GASHIN = 28 00 +SE_RU_GASYAN = 29 00 +SE_RU_BARI = 2A 00 +SE_RU_HYUU = 2B 00 +SE_KI_GASYAN = 2C 00 +SE_TK_WARPIN = 2D 00 +SE_TK_WARPOUT = 2E 00 +SE_TU_SAA = 2F 00 +SE_HI_TURUN = 30 00 +SE_TRACK_MOVE = 31 00 +SE_TRACK_STOP = 32 00 +SE_TRACK_HAIKI = 33 00 +SE_TRACK_DOOR = 34 00 +SE_MOTER = 35 00 +SE_CARD = 36 00 +SE_SAVE = 37 00 +SE_KON = 38 00 +SE_KON2 = 39 00 +SE_KON3 = 3A 00 +SE_KON4 = 3B 00 +SE_SUIKOMU = 3C 00 +SE_NAGERU = 3D 00 +SE_TOY_C = 3E 00 +SE_TOY_D = 3F 00 +SE_TOY_E = 40 00 +SE_TOY_F = 41 00 +SE_TOY_G = 42 00 +SE_TOY_A = 43 00 +SE_TOY_B = 44 00 +SE_TOY_C1 = 45 00 +SE_MIZU = 46 00 +SE_HASHI = 47 00 +SE_DAUGI = 48 00 +SE_PINPON = 49 00 +SE_FUUSEN1 = 4A 00 +SE_FUUSEN2 = 4B 00 +SE_FUUSEN3 = 4C 00 +SE_TOY_KABE = 4D 00 +SE_TOY_DANGO = 4E 00 +SE_DOKU = 4F 00 +SE_ESUKA = 50 00 +SE_T_AME = 51 00 +SE_T_AME_E = 52 00 +SE_T_OOAME = 53 00 +SE_T_OOAME_E = 54 00 +SE_T_KOAME = 55 00 +SE_T_KOAME_E = 56 00 +SE_T_KAMI = 57 00 +SE_T_KAMI2 = 58 00 +SE_ELEBETA = 59 00 +SE_HINSI = 5A 00 +SE_EXPMAX = 5B 00 +SE_TAMAKORO = 5C 00 +SE_TAMAKORO_E = 5D 00 +SE_BASABASA = 5E 00 +SE_REGI = 5F 00 +SE_C_GAJI = 60 00 +SE_C_MAKU_U = 61 00 +SE_C_MAKU_D = 62 00 +SE_C_PASI = 63 00 +SE_C_SYU = 64 00 +SE_C_PIKON = 65 00 +SE_REAPOKE = 66 00 +SE_OP_BASYU = 67 00 +SE_BT_START = 68 00 +SE_DENDOU = 69 00 +SE_JIHANKI = 6A 00 +SE_TAMA = 6B 00 +SE_Z_SCROLL = 6C 00 +SE_Z_PAGE = 6D 00 +SE_PN_ON = 6E 00 +SE_PN_OFF = 6F 00 +SE_Z_SEARCH = 70 00 +SE_TAMAGO = 71 00 +SE_TB_START = 72 00 +SE_TB_KON = 73 00 +SE_TB_KARA = 74 00 +SE_BIDORO = 75 00 +SE_W085 = 76 00 +SE_W085B = 77 00 +SE_W231 = 78 00 +SE_W171 = 79 00 +SE_W233 = 7A 00 +SE_W233B = 7B 00 +SE_W145 = 7C 00 +SE_W145B = 7D 00 +SE_W145C = 7E 00 +SE_W240 = 7F 00 +SE_W015 = 80 00 +SE_W081 = 81 00 +SE_W081B = 82 00 +SE_W088 = 83 00 +SE_W016 = 84 00 +SE_W016B = 85 00 +SE_W003 = 86 00 +SE_W104 = 87 00 +SE_W013 = 88 00 +SE_W196 = 89 00 +SE_W086 = 8A 00 +SE_W004 = 8B 00 +SE_W025 = 8C 00 +SE_W025B = 8D 00 +SE_W152 = 8E 00 +SE_W026 = 8F 00 +SE_W172 = 90 00 +SE_W172B = 91 00 +SE_W053 = 92 00 +SE_W007 = 93 00 +SE_W092 = 94 00 +SE_W221 = 95 00 +SE_W221B = 96 00 +SE_W052 = 97 00 +SE_W036 = 98 00 +SE_W059 = 99 00 +SE_W059B = 9A 00 +SE_W010 = 9B 00 +SE_W011 = 9C 00 +SE_W017 = 9D 00 +SE_W019 = 9E 00 +SE_W028 = 9F 00 +SE_W013B = A0 00 +SE_W044 = A1 00 +SE_W029 = A2 00 +SE_W057 = A3 00 +SE_W056 = A4 00 +SE_W250 = A5 00 +SE_W030 = A6 00 +SE_W039 = A7 00 +SE_W054 = A8 00 +SE_W077 = A9 00 +SE_W020 = AA 00 +SE_W082 = AB 00 +SE_W047 = AC 00 +SE_W195 = AD 00 +SE_W006 = AE 00 +SE_W091 = AF 00 +SE_W146 = B0 00 +SE_W120 = B1 00 +SE_W153 = B2 00 +SE_W071B = B3 00 +SE_W071 = B4 00 +SE_W103 = B5 00 +SE_W062 = B6 00 +SE_W062B = B7 00 +SE_W048 = B8 00 +SE_W187 = B9 00 +SE_W118 = BA 00 +SE_W155 = BB 00 +SE_W122 = BC 00 +SE_W060 = BD 00 +SE_W185 = BE 00 +SE_W014 = BF 00 +SE_W043 = C0 00 +SE_W207 = C1 00 +SE_W207B = C2 00 +SE_W215 = C3 00 +SE_W109 = C4 00 +SE_W173 = C5 00 +SE_W280 = C6 00 +SE_W202 = C7 00 +SE_W060B = C8 00 +SE_W076 = C9 00 +SE_W080 = CA 00 +SE_W100 = CB 00 +SE_W107 = CC 00 +SE_W166 = CD 00 +SE_W129 = CE 00 +SE_W115 = CF 00 +SE_W112 = D0 00 +SE_W197 = D1 00 +SE_W199 = D2 00 +SE_W236 = D3 00 +SE_W204 = D4 00 +SE_W268 = D5 00 +SE_W070 = D6 00 +SE_W063 = D7 00 +SE_W127 = D8 00 +SE_W179 = D9 00 +SE_W151 = DA 00 +SE_W201 = DB 00 +SE_W161 = DC 00 +SE_W161B = DD 00 +SE_W227 = DE 00 +SE_W227B = DF 00 +SE_W226 = E0 00 +SE_W208 = E1 00 +SE_W213 = E2 00 +SE_W213B = E3 00 +SE_W234 = E4 00 +SE_W260 = E5 00 +SE_W328 = E6 00 +SE_W320 = E7 00 +SE_W255 = E8 00 +SE_W291 = E9 00 +SE_W089 = EA 00 +SE_W239 = EB 00 +SE_W230 = EC 00 +SE_W281 = ED 00 +SE_W327 = EE 00 +SE_W287 = EF 00 +SE_W257 = F0 00 +SE_W253 = F1 00 +SE_W258 = F2 00 +SE_W322 = F3 00 +SE_W298 = F4 00 +SE_W287B = F5 00 +SE_W114 = F6 00 +SE_W063B = F7 00 +SE_RG_W_DOOR = F8 00 +SE_RG_CARD1 = F9 00 +SE_RG_CARD2 = FA 00 +SE_RG_CARD3 = FB 00 +SE_RG_BAG1 = FC 00 +SE_RG_BAG2 = FD 00 +SE_RG_GETTING = FE 00 +SE_RG_SHOP = FF 00 +SE_RG_KITEKI = 00 01 +SE_RG_HELP_OP = 01 01 +SE_RG_HELP_CL = 02 01 +SE_RG_HELP_NG = 03 01 +SE_RG_DEOMOV = 04 01 +SE_RG_EXCELLENT = 05 01 +SE_RG_NAWAMISS = 06 01 +SE_TOREEYE = 07 01 +SE_TOREOFF = 08 01 +SE_HANTEI1 = 09 01 +SE_HANTEI2 = 0A 01 +SE_CURTAIN = 0B 01 +SE_CURTAIN1 = 0C 01 +SE_USSOKI = 0D 01 +MUS_TETSUJI = 5E 01 +MUS_FIELD13 = 5F 01 +MUS_KACHI22 = 60 01 +MUS_KACHI2 = 61 01 +MUS_KACHI3 = 62 01 +MUS_KACHI5 = 63 01 +MUS_PCC = 64 01 +MUS_NIBI = 65 01 +MUS_SUIKUN = 66 01 +MUS_DOORO1 = 67 01 +MUS_DOORO_X1 = 68 01 +MUS_DOORO_X3 = 69 01 +MUS_MACHI_S2 = 6A 01 +MUS_MACHI_S4 = 6B 01 +MUS_GIM = 6C 01 +MUS_NAMINORI = 6D 01 +MUS_DAN01 = 6E 01 +MUS_FANFA1 = 6F 01 +MUS_ME_ASA = 70 01 +MUS_ME_BACHI = 71 01 +MUS_FANFA4 = 72 01 +MUS_FANFA5 = 73 01 +MUS_ME_WAZA = 74 01 +MUS_BIJYUTU = 75 01 +MUS_DOORO_X4 = 76 01 +MUS_FUNE_KAN = 77 01 +MUS_ME_SHINKA = 78 01 +MUS_SHINKA = 79 01 +MUS_ME_WASURE = 7A 01 +MUS_SYOUJOEYE = 7B 01 +MUS_BOYEYE = 7C 01 +MUS_DAN02 = 7D 01 +MUS_MACHI_S3 = 7E 01 +MUS_ODAMAKI = 7F 01 +MUS_B_TOWER = 80 01 +MUS_SWIMEYE = 81 01 +MUS_DAN03 = 82 01 +MUS_ME_KINOMI = 83 01 +MUS_ME_TAMA = 84 01 +MUS_ME_B_BIG = 85 01 +MUS_ME_B_SMALL = 86 01 +MUS_ME_ZANNEN = 87 01 +MUS_BD_TIME = 88 01 +MUS_TEST1 = 89 01 +MUS_TEST2 = 8A 01 +MUS_TEST3 = 8B 01 +MUS_TEST4 = 8C 01 +MUS_TEST = 8D 01 +MUS_GOMACHI0 = 8E 01 +MUS_GOTOWN = 8F 01 +MUS_POKECEN = 90 01 +MUS_NEXTROAD = 91 01 +MUS_GRANROAD = 92 01 +MUS_CYCLING = 93 01 +MUS_FRIENDLY = 94 01 +MUS_MISHIRO = 95 01 +MUS_TOZAN = 96 01 +MUS_GIRLEYE = 97 01 +MUS_MINAMO = 98 01 +MUS_ASHROAD = 99 01 +MUS_EVENT0 = 9A 01 +MUS_DEEPDEEP = 9B 01 +MUS_KACHI1 = 9C 01 +MUS_TITLE3 = 9D 01 +MUS_DEMO1 = 9E 01 +MUS_GIRL_SUP = 9F 01 +MUS_HAGESHII = A0 01 +MUS_KAKKOII = A1 01 +MUS_KAZANBAI = A2 01 +MUS_AQA_0 = A3 01 +MUS_TSURETEK = A4 01 +MUS_BOY_SUP = A5 01 +MUS_RAINBOW = A6 01 +MUS_AYASII = A7 01 +MUS_KACHI4 = A8 01 +MUS_ROPEWAY = A9 01 +MUS_CASINO = AA 01 +MUS_HIGHTOWN = AB 01 +MUS_SAFARI = AC 01 +MUS_C_ROAD = AD 01 +MUS_AJITO = AE 01 +MUS_M_BOAT = AF 01 +MUS_M_DUNGON = B0 01 +MUS_FINECITY = B1 01 +MUS_MACHUPI = B2 01 +MUS_P_SCHOOL = B3 01 +MUS_DENDOU = B4 01 +MUS_TONEKUSA = B5 01 +MUS_MABOROSI = B6 01 +MUS_CON_FAN = B7 01 +MUS_CONTEST0 = B8 01 +MUS_MGM0 = B9 01 +MUS_T_BATTLE = BA 01 +MUS_OOAME = BB 01 +MUS_HIDERI = BC 01 +MUS_RUNECITY = BD 01 +MUS_CON_K = BE 01 +MUS_EIKOU_R = BF 01 +MUS_KARAKURI = C0 01 +MUS_HUTAGO = C1 01 +MUS_SITENNOU = C2 01 +MUS_YAMA_EYE = C3 01 +MUS_CONLOBBY = C4 01 +MUS_INTER_V = C5 01 +MUS_DAIGO = C6 01 +MUS_THANKFOR = C7 01 +MUS_END = C8 01 +MUS_B_FRONTIER = C9 01 +MUS_B_ARENA = CA 01 +MUS_ME_POINTGET = CB 01 +MUS_ME_TORE_EYE = CC 01 +MUS_PYRAMID = CD 01 +MUS_PYRAMID_TOP = CE 01 +MUS_B_PALACE = CF 01 +MUS_REKKUU_KOURIN = D0 01 +MUS_SATTOWER = D1 01 +MUS_ME_SYMBOLGET = D2 01 +MUS_B_DOME = D3 01 +MUS_B_TUBE = D4 01 +MUS_B_FACTORY = D5 01 +MUS_VS_REKKU = D6 01 +MUS_VS_FRONT = D7 01 +MUS_VS_MEW = D8 01 +MUS_B_DOME1 = D9 01 +MUS_BATTLE27 = DA 01 +MUS_BATTLE31 = DB 01 +MUS_BATTLE20 = DC 01 +MUS_BATTLE32 = DD 01 +MUS_BATTLE33 = DE 01 +MUS_BATTLE36 = DF 01 +MUS_BATTLE34 = E0 01 +MUS_BATTLE35 = E1 01 +MUS_BATTLE38 = E2 01 +MUS_BATTLE30 = E3 01 +MUS_RG_ANNAI = E4 01 +MUS_RG_SLOT = E5 01 +MUS_RG_AJITO = E6 01 +MUS_RG_GYM = E7 01 +MUS_RG_PURIN = E8 01 +MUS_RG_DEMO = E9 01 +MUS_RG_TITLE = EA 01 +MUS_RG_GUREN = EB 01 +MUS_RG_SHION = EC 01 +MUS_RG_KAIHUKU = ED 01 +MUS_RG_CYCLING = EE 01 +MUS_RG_ROCKET = EF 01 +MUS_RG_SHOUJO = F0 01 +MUS_RG_SHOUNEN = F1 01 +MUS_RG_DENDOU = F2 01 +MUS_RG_T_MORI = F3 01 +MUS_RG_OTSUKIMI = F4 01 +MUS_RG_POKEYASHI = F5 01 +MUS_RG_ENDING = F6 01 +MUS_RG_LOAD01 = F7 01 +MUS_RG_OPENING = F8 01 +MUS_RG_LOAD02 = F9 01 +MUS_RG_LOAD03 = FA 01 +MUS_RG_CHAMP_R = FB 01 +MUS_RG_VS_GYM = FC 01 +MUS_RG_VS_TORE = FD 01 +MUS_RG_VS_YASEI = FE 01 +MUS_RG_VS_LAST = FF 01 +MUS_RG_MASARA = 00 02 +MUS_RG_KENKYU = 01 02 +MUS_RG_OHKIDO = 02 02 +MUS_RG_POKECEN = 03 02 +MUS_RG_SANTOAN = 04 02 +MUS_RG_NAMINORI = 05 02 +MUS_RG_P_TOWER = 06 02 +MUS_RG_SHIRUHU = 07 02 +MUS_RG_HANADA = 08 02 +MUS_RG_TAMAMUSI = 09 02 +MUS_RG_WIN_TRE = 0A 02 +MUS_RG_WIN_YASEI = 0B 02 +MUS_RG_WIN_GYM = 0C 02 +MUS_RG_KUCHIBA = 0D 02 +MUS_RG_NIBI = 0E 02 +MUS_RG_RIVAL1 = 0F 02 +MUS_RG_RIVAL2 = 10 02 +MUS_RG_FAN2 = 11 02 +MUS_RG_FAN5 = 12 02 +MUS_RG_FAN6 = 13 02 +MUS_ME_RG_PHOTO = 14 02 +MUS_RG_TITLEROG = 15 02 +MUS_RG_GET_YASEI = 16 02 +MUS_RG_SOUSA = 17 02 +MUS_RG_SEKAIKAN = 18 02 +MUS_RG_SEIBETU = 19 02 +MUS_RG_JUMP = 1A 02 +MUS_RG_UNION = 1B 02 +MUS_RG_NETWORK = 1C 02 +MUS_RG_OKURIMONO = 1D 02 +MUS_RG_KINOMIKUI = 1E 02 +MUS_RG_NANADUNGEON = 1F 02 +MUS_RG_OSHIE_TV = 20 02 +MUS_RG_NANASHIMA = 21 02 +MUS_RG_NANAISEKI = 22 02 +MUS_RG_NANA123 = 23 02 +MUS_RG_NANA45 = 24 02 +MUS_RG_NANA67 = 25 02 +MUS_RG_POKEFUE = 26 02 +MUS_RG_VS_DEO = 27 02 +MUS_RG_VS_MYU2 = 28 02 +MUS_RG_VS_DEN = 29 02 +MUS_RG_EXEYE = 2A 02 +MUS_RG_DEOEYE = 2B 02 +MUS_RG_T_TOWER = 2C 02 +MUS_RG_SLOWMASARA = 2D 02 +MUS_RG_TVNOIZE = 2E 02 +PH_TRAP_BLEND = 2F 02 +PH_TRAP_HELD = 30 02 +PH_TRAP_SOLO = 31 02 +PH_FACE_BLEND = 32 02 +PH_FACE_HELD = 33 02 +PH_FACE_SOLO = 34 02 +PH_CLOTH_BLEND = 35 02 +PH_CLOTH_HELD = 36 02 +PH_CLOTH_SOLO = 37 02 +PH_DRESS_BLEND = 38 02 +PH_DRESS_HELD = 39 02 +PH_DRESS_SOLO = 3A 02 +PH_FLEECE_BLEND = 3B 02 +PH_FLEECE_HELD = 3C 02 +PH_FLEECE_SOLO = 3D 02 +PH_KIT_BLEND = 3E 02 +PH_KIT_HELD = 3F 02 +PH_KIT_SOLO = 40 02 +PH_PRICE_BLEND = 41 02 +PH_PRICE_HELD = 42 02 +PH_PRICE_SOLO = 43 02 +PH_LOT_BLEND = 44 02 +PH_LOT_HELD = 45 02 +PH_LOT_SOLO = 46 02 +PH_GOAT_BLEND = 47 02 +PH_GOAT_HELD = 48 02 +PH_GOAT_SOLO = 49 02 +PH_THOUGHT_BLEND = 4A 02 +PH_THOUGHT_HELD = 4B 02 +PH_THOUGHT_SOLO = 4C 02 +PH_CHOICE_BLEND = 4D 02 +PH_CHOICE_HELD = 4E 02 +PH_CHOICE_SOLO = 4F 02 +PH_MOUTH_BLEND = 50 02 +PH_MOUTH_HELD = 51 02 +PH_MOUTH_SOLO = 52 02 +PH_FOOT_BLEND = 53 02 +PH_FOOT_HELD = 54 02 +PH_FOOT_SOLO = 55 02 +PH_GOOSE_BLEND = 56 02 +PH_GOOSE_HELD = 57 02 +PH_GOOSE_SOLO = 58 02 +PH_STRUT_BLEND = 59 02 +PH_STRUT_HELD = 5A 02 +PH_STRUT_SOLO = 5B 02 +PH_CURE_BLEND = 5C 02 +PH_CURE_HELD = 5D 02 +PH_CURE_SOLO = 5E 02 +PH_NURSE_BLEND = 5F 02 +PH_NURSE_HELD = 60 02 +PH_NURSE_SOLO = 61 02 UNK_CTRL_F800 = F8 00 UNK_CTRL_F801 = F8 01 diff --git a/common_syms/battle_main.txt b/common_syms/battle_main.txt new file mode 100644 index 0000000000..35a925946f --- /dev/null +++ b/common_syms/battle_main.txt @@ -0,0 +1,9 @@ +gPreBattleCallback1 +gBattleMainFunc +gBattleResults +gLeveledUpInBattle +gBattlerControllerFuncs +gHealthboxSpriteIds +gMultiUsePlayerCursor +gNumberOfMovesToChoose +gUnknown_03005D7C diff --git a/common_syms/m4a_2.txt b/common_syms/m4a_2.txt index b9281c718b..0d6b13a79b 100644 --- a/common_syms/m4a_2.txt +++ b/common_syms/m4a_2.txt @@ -1,12 +1,12 @@ gSoundInfo gPokemonCrySongs gPokemonCryMusicPlayers -gMPlay_BGM +gMPlayInfo_BGM gMPlayJumpTable gCgbChans -gMPlay_SE1 -gMPlay_SE2 +gMPlayInfo_SE1 +gMPlayInfo_SE2 gPokemonCryTracks gPokemonCrySong gMPlayMemAccArea -gMPlay_SE3 +gMPlayInfo_SE3 diff --git a/common_syms/trainer_see.txt b/common_syms/trainer_see.txt new file mode 100644 index 0000000000..2d05143254 --- /dev/null +++ b/common_syms/trainer_see.txt @@ -0,0 +1,5 @@ +gUnknown_03006080 +gUnknown_03006084 +gApproachingTrainers +gNoOfApproachingTrainers +gUnknown_030060AC diff --git a/constants/ability_constants.inc b/constants/ability_constants.inc deleted file mode 100644 index 8ccc872f71..0000000000 --- a/constants/ability_constants.inc +++ /dev/null @@ -1,78 +0,0 @@ - .set ABILITY_NONE, 0x00 - .set ABILITY_STENCH, 0x01 - .set ABILITY_DRIZZLE, 0x02 - .set ABILITY_SPEED_BOOST, 0x03 - .set ABILITY_BATTLE_ARMOR, 0x04 - .set ABILITY_STURDY, 0x05 - .set ABILITY_DAMP, 0x06 - .set ABILITY_LIMBER, 0x07 - .set ABILITY_SAND_VEIL, 0x08 - .set ABILITY_STATIC, 0x09 - .set ABILITY_VOLT_ABSORB, 0x0a - .set ABILITY_WATER_ABSORB, 0x0b - .set ABILITY_OBLIVIOUS, 0x0c - .set ABILITY_CLOUD_NINE, 0x0d - .set ABILITY_COMPOUND_EYES, 0x0e - .set ABILITY_INSOMNIA, 0x0f - .set ABILITY_COLOR_CHANGE, 0x10 - .set ABILITY_IMMUNITY, 0x11 - .set ABILITY_FLASH_FIRE, 0x12 - .set ABILITY_SHIELD_DUST, 0x13 - .set ABILITY_OWN_TEMPO, 0x14 - .set ABILITY_SUCTION_CUPS, 0x15 - .set ABILITY_INTIMIDATE, 0x16 - .set ABILITY_SHADOW_TAG, 0x17 - .set ABILITY_ROUGH_SKIN, 0x18 - .set ABILITY_WONDER_GUARD, 0x19 - .set ABILITY_LEVITATE, 0x1a - .set ABILITY_EFFECT_SPORE, 0x1b - .set ABILITY_SYNCHRONIZE, 0x1c - .set ABILITY_CLEAR_BODY, 0x1d - .set ABILITY_NATURAL_CURE, 0x1e - .set ABILITY_LIGHTNING_ROD, 0x1f - .set ABILITY_SERENE_GRACE, 0x20 - .set ABILITY_SWIFT_SWIM, 0x21 - .set ABILITY_CHLOROPHYLL, 0x22 - .set ABILITY_ILLUMINATE, 0x23 - .set ABILITY_TRACE, 0x24 - .set ABILITY_HUGE_POWER, 0x25 - .set ABILITY_POISON_POINT, 0x26 - .set ABILITY_INNER_FOCUS, 0x27 - .set ABILITY_MAGMA_ARMOR, 0x28 - .set ABILITY_WATER_VEIL, 0x29 - .set ABILITY_MAGNET_PULL, 0x2a - .set ABILITY_SOUNDPROOF, 0x2b - .set ABILITY_RAIN_DISH, 0x2c - .set ABILITY_SAND_STREAM, 0x2d - .set ABILITY_PRESSURE, 0x2e - .set ABILITY_THICK_FAT, 0x2f - .set ABILITY_EARLY_BIRD, 0x30 - .set ABILITY_FLAME_BODY, 0x31 - .set ABILITY_RUN_AWAY, 0x32 - .set ABILITY_KEEN_EYE, 0x33 - .set ABILITY_HYPER_CUTTER, 0x34 - .set ABILITY_PICKUP, 0x35 - .set ABILITY_TRUANT, 0x36 - .set ABILITY_HUSTLE, 0x37 - .set ABILITY_CUTE_CHARM, 0x38 - .set ABILITY_PLUS, 0x39 - .set ABILITY_MINUS, 0x3a - .set ABILITY_FORECAST, 0x3b - .set ABILITY_STICKY_HOLD, 0x3c - .set ABILITY_SHED_SKIN, 0x3d - .set ABILITY_GUTS, 0x3e - .set ABILITY_MARVEL_SCALE, 0x3f - .set ABILITY_LIQUID_OOZE, 0x40 - .set ABILITY_OVERGROW, 0x41 - .set ABILITY_BLAZE, 0x42 - .set ABILITY_TORRENT, 0x43 - .set ABILITY_SWARM, 0x44 - .set ABILITY_ROCK_HEAD, 0x45 - .set ABILITY_DROUGHT, 0x46 - .set ABILITY_ARENA_TRAP, 0x47 - .set ABILITY_VITAL_SPIRIT, 0x48 - .set ABILITY_WHITE_SMOKE, 0x49 - .set ABILITY_PURE_POWER, 0x4a - .set ABILITY_SHELL_ARMOR, 0x4b - .set ABILITY_CACOPHONY, 0x4c - .set ABILITY_AIR_LOCK, 0x4d diff --git a/constants/constants.inc b/constants/constants.inc index 3928d63d60..10d582eb1a 100644 --- a/constants/constants.inc +++ b/constants/constants.inc @@ -1,19 +1,10 @@ .include "constants/gba_constants.inc" .include "constants/misc_constants.inc" - .include "constants/species_constants.inc" - .include "constants/ability_constants.inc" - .include "constants/move_constants.inc" - .include "constants/item_constants.inc" - .include "constants/type_constants.inc" .include "constants/contest_constants.inc" .include "constants/pokemon_data_constants.inc" .include "constants/item_data_constants.inc" .include "constants/battle_move_constants.inc" - .include "constants/easy_chat_constants.inc" - .include "constants/trainer_constants.inc" .include "constants/battle_frontier_constants.inc" .include "constants/map_constants.inc" - .include "constants/map_object_constants.inc" .include "constants/berry_constants.inc" - .include "constants/field_object_constants.inc" .include "constants/contest_move_effects.inc" diff --git a/constants/easy_chat_constants.inc b/constants/easy_chat_constants.inc deleted file mode 100644 index 4d9aecec52..0000000000 --- a/constants/easy_chat_constants.inc +++ /dev/null @@ -1,1067 +0,0 @@ - .set EC_GROUP_POKEMON, 0x0 - .set EC_GROUP_TRAINER, 0x1 - .set EC_GROUP_STATUS, 0x2 - .set EC_GROUP_BATTLE, 0x3 - .set EC_GROUP_GREETINGS, 0x4 - .set EC_GROUP_PEOPLE, 0x5 - .set EC_GROUP_VOICES, 0x6 - .set EC_GROUP_SPEECH, 0x7 - .set EC_GROUP_ENDINGS, 0x8 - .set EC_GROUP_FEELINGS, 0x9 - .set EC_GROUP_CONDITIONS, 0xa - .set EC_GROUP_ACTIONS, 0xb - .set EC_GROUP_LIFESTYLE, 0xc - .set EC_GROUP_HOBBIES, 0xd - .set EC_GROUP_TIME, 0xe - .set EC_GROUP_MISC, 0xf - .set EC_GROUP_ADJECTIVES, 0x10 - .set EC_GROUP_EVENTS, 0x11 - .set EC_GROUP_MOVE_1, 0x12 - .set EC_GROUP_MOVE_2, 0x13 - .set EC_GROUP_TRENDY_SAYING, 0x14 - .set EC_GROUP_POKEMON2, 0x15 - -@ Trainer - .set EC_WORD_I_CHOOSE_YOU, (EC_GROUP_TRAINER << 9) | 0x0 - .set EC_WORD_GOTCHA, (EC_GROUP_TRAINER << 9) | 0x1 - .set EC_WORD_TRADE, (EC_GROUP_TRAINER << 9) | 0x2 - .set EC_WORD_SAPPHIRE, (EC_GROUP_TRAINER << 9) | 0x3 - .set EC_WORD_EVOLVE, (EC_GROUP_TRAINER << 9) | 0x4 - .set EC_WORD_ENCYCLOPEDIA, (EC_GROUP_TRAINER << 9) | 0x5 - .set EC_WORD_NATURE, (EC_GROUP_TRAINER << 9) | 0x6 - .set EC_WORD_CENTER, (EC_GROUP_TRAINER << 9) | 0x7 - .set EC_WORD_EGG, (EC_GROUP_TRAINER << 9) | 0x8 - .set EC_WORD_LINK, (EC_GROUP_TRAINER << 9) | 0x9 - .set EC_WORD_SP_ABILITY, (EC_GROUP_TRAINER << 9) | 0xa - .set EC_WORD_TRAINER, (EC_GROUP_TRAINER << 9) | 0xb - .set EC_WORD_VERSION, (EC_GROUP_TRAINER << 9) | 0xc - .set EC_WORD_POKENAV, (EC_GROUP_TRAINER << 9) | 0xd - .set EC_WORD_POKEMON, (EC_GROUP_TRAINER << 9) | 0xe - .set EC_WORD_GET, (EC_GROUP_TRAINER << 9) | 0xf - .set EC_WORD_POKEDEX, (EC_GROUP_TRAINER << 9) | 0x10 - .set EC_WORD_RUBY, (EC_GROUP_TRAINER << 9) | 0x11 - .set EC_WORD_LEVEL, (EC_GROUP_TRAINER << 9) | 0x12 - .set EC_WORD_RED, (EC_GROUP_TRAINER << 9) | 0x13 - .set EC_WORD_GREEN, (EC_GROUP_TRAINER << 9) | 0x14 - .set EC_WORD_BAG, (EC_GROUP_TRAINER << 9) | 0x15 - .set EC_WORD_FLAME, (EC_GROUP_TRAINER << 9) | 0x16 - .set EC_WORD_GOLD, (EC_GROUP_TRAINER << 9) | 0x17 - .set EC_WORD_LEAF, (EC_GROUP_TRAINER << 9) | 0x18 - .set EC_WORD_SILVER, (EC_GROUP_TRAINER << 9) | 0x19 - .set EC_WORD_EMERALD, (EC_GROUP_TRAINER << 9) | 0x1a - -@ Status - .set EC_WORD_DARK, (EC_GROUP_STATUS << 9) | 0x0 - .set EC_WORD_STENCH, (EC_GROUP_STATUS << 9) | 0x1 - .set EC_WORD_THICK_FAT, (EC_GROUP_STATUS << 9) | 0x2 - .set EC_WORD_RAIN_DISH, (EC_GROUP_STATUS << 9) | 0x3 - .set EC_WORD_DRIZZLE, (EC_GROUP_STATUS << 9) | 0x4 - .set EC_WORD_ARENA_TRAP, (EC_GROUP_STATUS << 9) | 0x5 - .set EC_WORD_INTIMIDATE, (EC_GROUP_STATUS << 9) | 0x6 - .set EC_WORD_ROCK_HEAD, (EC_GROUP_STATUS << 9) | 0x7 - .set EC_WORD_COLOR, (EC_GROUP_STATUS << 9) | 0x8 - .set EC_WORD_ALT_COLOR, (EC_GROUP_STATUS << 9) | 0x9 - .set EC_WORD_ROCK, (EC_GROUP_STATUS << 9) | 0xa - .set EC_WORD_BEAUTIFUL, (EC_GROUP_STATUS << 9) | 0xb - .set EC_WORD_BEAUTY, (EC_GROUP_STATUS << 9) | 0xc - .set EC_WORD_AIR_LOCK, (EC_GROUP_STATUS << 9) | 0xd - .set EC_WORD_PSYCHIC, (EC_GROUP_STATUS << 9) | 0xe - .set EC_WORD_HYPER_CUTTER, (EC_GROUP_STATUS << 9) | 0xf - .set EC_WORD_FIGHTING, (EC_GROUP_STATUS << 9) | 0x10 - .set EC_WORD_SHADOW_TAG, (EC_GROUP_STATUS << 9) | 0x11 - .set EC_WORD_SMART, (EC_GROUP_STATUS << 9) | 0x12 - .set EC_WORD_SMARTNESS, (EC_GROUP_STATUS << 9) | 0x13 - .set EC_WORD_SPEED_BOOST, (EC_GROUP_STATUS << 9) | 0x14 - .set EC_WORD_COOL, (EC_GROUP_STATUS << 9) | 0x15 - .set EC_WORD_COOLNESS, (EC_GROUP_STATUS << 9) | 0x16 - .set EC_WORD_BATTLE_ARMOR, (EC_GROUP_STATUS << 9) | 0x17 - .set EC_WORD_CUTE, (EC_GROUP_STATUS << 9) | 0x18 - .set EC_WORD_CUTENESS, (EC_GROUP_STATUS << 9) | 0x19 - .set EC_WORD_STURDY, (EC_GROUP_STATUS << 9) | 0x1a - .set EC_WORD_SUCTION_CUPS, (EC_GROUP_STATUS << 9) | 0x1b - .set EC_WORD_GRASS, (EC_GROUP_STATUS << 9) | 0x1c - .set EC_WORD_CLEAR_BODY, (EC_GROUP_STATUS << 9) | 0x1d - .set EC_WORD_TORRENT, (EC_GROUP_STATUS << 9) | 0x1e - .set EC_WORD_GHOST, (EC_GROUP_STATUS << 9) | 0x1f - .set EC_WORD_ICE, (EC_GROUP_STATUS << 9) | 0x20 - .set EC_WORD_GUTS, (EC_GROUP_STATUS << 9) | 0x21 - .set EC_WORD_ROUGH_SKIN, (EC_GROUP_STATUS << 9) | 0x22 - .set EC_WORD_SHELL_ARMOR, (EC_GROUP_STATUS << 9) | 0x23 - .set EC_WORD_NATURAL_CURE, (EC_GROUP_STATUS << 9) | 0x24 - .set EC_WORD_DAMP, (EC_GROUP_STATUS << 9) | 0x25 - .set EC_WORD_GROUND, (EC_GROUP_STATUS << 9) | 0x26 - .set EC_WORD_LIMBER, (EC_GROUP_STATUS << 9) | 0x27 - .set EC_WORD_MAGNET_PULL, (EC_GROUP_STATUS << 9) | 0x28 - .set EC_WORD_WHITE_SMOKE, (EC_GROUP_STATUS << 9) | 0x29 - .set EC_WORD_SYNCHRONIZE, (EC_GROUP_STATUS << 9) | 0x2a - .set EC_WORD_OVERGROW, (EC_GROUP_STATUS << 9) | 0x2b - .set EC_WORD_SWIFT_SWIM, (EC_GROUP_STATUS << 9) | 0x2c - .set EC_WORD_SAND_STREAM, (EC_GROUP_STATUS << 9) | 0x2d - .set EC_WORD_SAND_VEIL, (EC_GROUP_STATUS << 9) | 0x2e - .set EC_WORD_KEEN_EYE, (EC_GROUP_STATUS << 9) | 0x2f - .set EC_WORD_INNER_FOCUS, (EC_GROUP_STATUS << 9) | 0x30 - .set EC_WORD_STATIC, (EC_GROUP_STATUS << 9) | 0x31 - .set EC_WORD_TYPE, (EC_GROUP_STATUS << 9) | 0x32 - .set EC_WORD_TOUGH, (EC_GROUP_STATUS << 9) | 0x33 - .set EC_WORD_TOUGHNESS, (EC_GROUP_STATUS << 9) | 0x34 - .set EC_WORD_SHED_SKIN, (EC_GROUP_STATUS << 9) | 0x35 - .set EC_WORD_HUGE_POWER, (EC_GROUP_STATUS << 9) | 0x36 - .set EC_WORD_VOLT_ABSORB, (EC_GROUP_STATUS << 9) | 0x37 - .set EC_WORD_WATER_ABSORB, (EC_GROUP_STATUS << 9) | 0x38 - .set EC_WORD_ELECTRIC, (EC_GROUP_STATUS << 9) | 0x39 - .set EC_WORD_FORECAST, (EC_GROUP_STATUS << 9) | 0x3a - .set EC_WORD_SERENE_GRACE, (EC_GROUP_STATUS << 9) | 0x3b - .set EC_WORD_POISON, (EC_GROUP_STATUS << 9) | 0x3c - .set EC_WORD_POISON_POINT, (EC_GROUP_STATUS << 9) | 0x3d - .set EC_WORD_DRAGON, (EC_GROUP_STATUS << 9) | 0x3e - .set EC_WORD_TRACE, (EC_GROUP_STATUS << 9) | 0x3f - .set EC_WORD_OBLIVIOUS, (EC_GROUP_STATUS << 9) | 0x40 - .set EC_WORD_TRUANT, (EC_GROUP_STATUS << 9) | 0x41 - .set EC_WORD_RUN_AWAY, (EC_GROUP_STATUS << 9) | 0x42 - .set EC_WORD_STICKY_HOLD, (EC_GROUP_STATUS << 9) | 0x43 - .set EC_WORD_CLOUD_NINE, (EC_GROUP_STATUS << 9) | 0x44 - .set EC_WORD_NORMAL, (EC_GROUP_STATUS << 9) | 0x45 - .set EC_WORD_STEEL, (EC_GROUP_STATUS << 9) | 0x46 - .set EC_WORD_ILLUMINATE, (EC_GROUP_STATUS << 9) | 0x47 - .set EC_WORD_EARLY_BIRD, (EC_GROUP_STATUS << 9) | 0x48 - .set EC_WORD_HUSTLE, (EC_GROUP_STATUS << 9) | 0x49 - .set EC_WORD_SHINE, (EC_GROUP_STATUS << 9) | 0x4a - .set EC_WORD_FLYING, (EC_GROUP_STATUS << 9) | 0x4b - .set EC_WORD_DROUGHT, (EC_GROUP_STATUS << 9) | 0x4c - .set EC_WORD_LIGHTNINGROD, (EC_GROUP_STATUS << 9) | 0x4d - .set EC_WORD_COMPOUNDEYES, (EC_GROUP_STATUS << 9) | 0x4e - .set EC_WORD_MARVEL_SCALE, (EC_GROUP_STATUS << 9) | 0x4f - .set EC_WORD_WONDER_GUARD, (EC_GROUP_STATUS << 9) | 0x50 - .set EC_WORD_INSOMNIA, (EC_GROUP_STATUS << 9) | 0x51 - .set EC_WORD_LEVITATE, (EC_GROUP_STATUS << 9) | 0x52 - .set EC_WORD_PLUS, (EC_GROUP_STATUS << 9) | 0x53 - .set EC_WORD_PRESSURE, (EC_GROUP_STATUS << 9) | 0x54 - .set EC_WORD_LIQUID_OOZE, (EC_GROUP_STATUS << 9) | 0x55 - .set EC_WORD_COLOR_CHANGE, (EC_GROUP_STATUS << 9) | 0x56 - .set EC_WORD_SOUNDPROOF, (EC_GROUP_STATUS << 9) | 0x57 - .set EC_WORD_EFFECT_SPORE, (EC_GROUP_STATUS << 9) | 0x58 - .set EC_WORD_PKRS, (EC_GROUP_STATUS << 9) | 0x59 - .set EC_WORD_FIRE, (EC_GROUP_STATUS << 9) | 0x5a - .set EC_WORD_FLAME_BODY, (EC_GROUP_STATUS << 9) | 0x5b - .set EC_WORD_MINUS, (EC_GROUP_STATUS << 9) | 0x5c - .set EC_WORD_OWN_TEMPO, (EC_GROUP_STATUS << 9) | 0x5d - .set EC_WORD_MAGMA_ARMOR, (EC_GROUP_STATUS << 9) | 0x5e - .set EC_WORD_WATER, (EC_GROUP_STATUS << 9) | 0x5f - .set EC_WORD_WATER_VEIL, (EC_GROUP_STATUS << 9) | 0x60 - .set EC_WORD_BUG, (EC_GROUP_STATUS << 9) | 0x61 - .set EC_WORD_SWARM, (EC_GROUP_STATUS << 9) | 0x62 - .set EC_WORD_CUTE_CHARM, (EC_GROUP_STATUS << 9) | 0x63 - .set EC_WORD_IMMUNITY, (EC_GROUP_STATUS << 9) | 0x64 - .set EC_WORD_BLAZE, (EC_GROUP_STATUS << 9) | 0x65 - .set EC_WORD_PICKUP, (EC_GROUP_STATUS << 9) | 0x66 - .set EC_WORD_PATTERN, (EC_GROUP_STATUS << 9) | 0x67 - .set EC_WORD_FLASH_FIRE, (EC_GROUP_STATUS << 9) | 0x68 - .set EC_WORD_VITAL_SPIRIT, (EC_GROUP_STATUS << 9) | 0x69 - .set EC_WORD_CHLOROPHYLL, (EC_GROUP_STATUS << 9) | 0x6a - .set EC_WORD_PURE_POWER, (EC_GROUP_STATUS << 9) | 0x6b - .set EC_WORD_SHIELD_DUST, (EC_GROUP_STATUS << 9) | 0x6c - -@ Battle - .set EC_WORD_MATCH_UP, (EC_GROUP_BATTLE << 9) | 0x0 - .set EC_WORD_GO, (EC_GROUP_BATTLE << 9) | 0x1 - .set EC_WORD_NO_1, (EC_GROUP_BATTLE << 9) | 0x2 - .set EC_WORD_DECIDE, (EC_GROUP_BATTLE << 9) | 0x3 - .set EC_WORD_LET_ME_WIN, (EC_GROUP_BATTLE << 9) | 0x4 - .set EC_WORD_WINS, (EC_GROUP_BATTLE << 9) | 0x5 - .set EC_WORD_WIN, (EC_GROUP_BATTLE << 9) | 0x6 - .set EC_WORD_WON, (EC_GROUP_BATTLE << 9) | 0x7 - .set EC_WORD_IF_I_WIN, (EC_GROUP_BATTLE << 9) | 0x8 - .set EC_WORD_WHEN_I_WIN, (EC_GROUP_BATTLE << 9) | 0x9 - .set EC_WORD_CAN_T_WIN, (EC_GROUP_BATTLE << 9) | 0xa - .set EC_WORD_CAN_WIN, (EC_GROUP_BATTLE << 9) | 0xb - .set EC_WORD_NO_MATCH, (EC_GROUP_BATTLE << 9) | 0xc - .set EC_WORD_SPIRIT, (EC_GROUP_BATTLE << 9) | 0xd - .set EC_WORD_DECIDED, (EC_GROUP_BATTLE << 9) | 0xe - .set EC_WORD_TRUMP_CARD, (EC_GROUP_BATTLE << 9) | 0xf - .set EC_WORD_TAKE_THAT, (EC_GROUP_BATTLE << 9) | 0x10 - .set EC_WORD_COME_ON, (EC_GROUP_BATTLE << 9) | 0x11 - .set EC_WORD_ATTACK, (EC_GROUP_BATTLE << 9) | 0x12 - .set EC_WORD_SURRENDER, (EC_GROUP_BATTLE << 9) | 0x13 - .set EC_WORD_GUTSY, (EC_GROUP_BATTLE << 9) | 0x14 - .set EC_WORD_TALENT, (EC_GROUP_BATTLE << 9) | 0x15 - .set EC_WORD_STRATEGY, (EC_GROUP_BATTLE << 9) | 0x16 - .set EC_WORD_SMITE, (EC_GROUP_BATTLE << 9) | 0x17 - .set EC_WORD_MATCH, (EC_GROUP_BATTLE << 9) | 0x18 - .set EC_WORD_VICTORY, (EC_GROUP_BATTLE << 9) | 0x19 - .set EC_WORD_OFFENSIVE, (EC_GROUP_BATTLE << 9) | 0x1a - .set EC_WORD_SENSE, (EC_GROUP_BATTLE << 9) | 0x1b - .set EC_WORD_VERSUS, (EC_GROUP_BATTLE << 9) | 0x1c - .set EC_WORD_FIGHTS, (EC_GROUP_BATTLE << 9) | 0x1d - .set EC_WORD_POWER, (EC_GROUP_BATTLE << 9) | 0x1e - .set EC_WORD_CHALLENGE, (EC_GROUP_BATTLE << 9) | 0x1f - .set EC_WORD_STRONG, (EC_GROUP_BATTLE << 9) | 0x20 - .set EC_WORD_TOO_STRONG, (EC_GROUP_BATTLE << 9) | 0x21 - .set EC_WORD_GO_EASY, (EC_GROUP_BATTLE << 9) | 0x22 - .set EC_WORD_FOE, (EC_GROUP_BATTLE << 9) | 0x23 - .set EC_WORD_GENIUS, (EC_GROUP_BATTLE << 9) | 0x24 - .set EC_WORD_LEGEND, (EC_GROUP_BATTLE << 9) | 0x25 - .set EC_WORD_ESCAPE, (EC_GROUP_BATTLE << 9) | 0x26 - .set EC_WORD_AIM, (EC_GROUP_BATTLE << 9) | 0x27 - .set EC_WORD_BATTLE, (EC_GROUP_BATTLE << 9) | 0x28 - .set EC_WORD_FIGHT, (EC_GROUP_BATTLE << 9) | 0x29 - .set EC_WORD_RESUSCITATE, (EC_GROUP_BATTLE << 9) | 0x2a - .set EC_WORD_POINTS, (EC_GROUP_BATTLE << 9) | 0x2b - .set EC_WORD_SERIOUS, (EC_GROUP_BATTLE << 9) | 0x2c - .set EC_WORD_GIVE_UP, (EC_GROUP_BATTLE << 9) | 0x2d - .set EC_WORD_LOSS, (EC_GROUP_BATTLE << 9) | 0x2e - .set EC_WORD_IF_I_LOSE, (EC_GROUP_BATTLE << 9) | 0x2f - .set EC_WORD_LOST, (EC_GROUP_BATTLE << 9) | 0x30 - .set EC_WORD_LOSE, (EC_GROUP_BATTLE << 9) | 0x31 - .set EC_WORD_GUARD, (EC_GROUP_BATTLE << 9) | 0x32 - .set EC_WORD_PARTNER, (EC_GROUP_BATTLE << 9) | 0x33 - .set EC_WORD_REJECT, (EC_GROUP_BATTLE << 9) | 0x34 - .set EC_WORD_ACCEPT, (EC_GROUP_BATTLE << 9) | 0x35 - .set EC_WORD_INVINCIBLE, (EC_GROUP_BATTLE << 9) | 0x36 - .set EC_WORD_RECEIVED, (EC_GROUP_BATTLE << 9) | 0x37 - .set EC_WORD_EASY, (EC_GROUP_BATTLE << 9) | 0x38 - .set EC_WORD_WEAK, (EC_GROUP_BATTLE << 9) | 0x39 - .set EC_WORD_TOO_WEAK, (EC_GROUP_BATTLE << 9) | 0x3a - .set EC_WORD_PUSHOVER, (EC_GROUP_BATTLE << 9) | 0x3b - .set EC_WORD_LEADER, (EC_GROUP_BATTLE << 9) | 0x3c - .set EC_WORD_RULE, (EC_GROUP_BATTLE << 9) | 0x3d - .set EC_WORD_MOVE, (EC_GROUP_BATTLE << 9) | 0x3e - -@ Greetings - .set EC_WORD_THANKS, (EC_GROUP_GREETINGS << 9) | 0x0 - .set EC_WORD_YES, (EC_GROUP_GREETINGS << 9) | 0x1 - .set EC_WORD_HERE_GOES, (EC_GROUP_GREETINGS << 9) | 0x2 - .set EC_WORD_HERE_I_COME, (EC_GROUP_GREETINGS << 9) | 0x3 - .set EC_WORD_HERE_IT_IS, (EC_GROUP_GREETINGS << 9) | 0x4 - .set EC_WORD_YEAH, (EC_GROUP_GREETINGS << 9) | 0x5 - .set EC_WORD_WELCOME, (EC_GROUP_GREETINGS << 9) | 0x6 - .set EC_WORD_OI, (EC_GROUP_GREETINGS << 9) | 0x7 - .set EC_WORD_HOW_DO, (EC_GROUP_GREETINGS << 9) | 0x8 - .set EC_WORD_CONGRATS, (EC_GROUP_GREETINGS << 9) | 0x9 - .set EC_WORD_GIVE_ME, (EC_GROUP_GREETINGS << 9) | 0xa - .set EC_WORD_SORRY, (EC_GROUP_GREETINGS << 9) | 0xb - .set EC_WORD_APOLOGIZE, (EC_GROUP_GREETINGS << 9) | 0xc - .set EC_WORD_FORGIVE, (EC_GROUP_GREETINGS << 9) | 0xd - .set EC_WORD_HEY_THERE, (EC_GROUP_GREETINGS << 9) | 0xe - .set EC_WORD_HELLO, (EC_GROUP_GREETINGS << 9) | 0xf - .set EC_WORD_GOOD_BYE, (EC_GROUP_GREETINGS << 9) | 0x10 - .set EC_WORD_THANK_YOU, (EC_GROUP_GREETINGS << 9) | 0x11 - .set EC_WORD_I_VE_ARRIVED, (EC_GROUP_GREETINGS << 9) | 0x12 - .set EC_WORD_PARDON, (EC_GROUP_GREETINGS << 9) | 0x13 - .set EC_WORD_EXCUSE, (EC_GROUP_GREETINGS << 9) | 0x14 - .set EC_WORD_SEE_YA, (EC_GROUP_GREETINGS << 9) | 0x15 - .set EC_WORD_EXCUSE_ME, (EC_GROUP_GREETINGS << 9) | 0x16 - .set EC_WORD_WELL_THEN, (EC_GROUP_GREETINGS << 9) | 0x17 - .set EC_WORD_GO_AHEAD, (EC_GROUP_GREETINGS << 9) | 0x18 - .set EC_WORD_APPRECIATE, (EC_GROUP_GREETINGS << 9) | 0x19 - .set EC_WORD_HEY_QUES, (EC_GROUP_GREETINGS << 9) | 0x1a - .set EC_WORD_WHAT_S_UP_QUES, (EC_GROUP_GREETINGS << 9) | 0x1b - .set EC_WORD_HUH_QUES, (EC_GROUP_GREETINGS << 9) | 0x1c - .set EC_WORD_NO, (EC_GROUP_GREETINGS << 9) | 0x1d - .set EC_WORD_HI, (EC_GROUP_GREETINGS << 9) | 0x1e - .set EC_WORD_YEAH_YEAH, (EC_GROUP_GREETINGS << 9) | 0x1f - .set EC_WORD_BYE_BYE, (EC_GROUP_GREETINGS << 9) | 0x20 - .set EC_WORD_MEET_YOU, (EC_GROUP_GREETINGS << 9) | 0x21 - .set EC_WORD_HEY, (EC_GROUP_GREETINGS << 9) | 0x22 - .set EC_WORD_SMELL, (EC_GROUP_GREETINGS << 9) | 0x23 - .set EC_WORD_LISTENING, (EC_GROUP_GREETINGS << 9) | 0x24 - .set EC_WORD_HOO_HAH, (EC_GROUP_GREETINGS << 9) | 0x25 - .set EC_WORD_YAHOO, (EC_GROUP_GREETINGS << 9) | 0x26 - .set EC_WORD_YO, (EC_GROUP_GREETINGS << 9) | 0x27 - .set EC_WORD_COME_OVER, (EC_GROUP_GREETINGS << 9) | 0x28 - .set EC_WORD_COUNT_ON, (EC_GROUP_GREETINGS << 9) | 0x29 - -@ People - .set EC_WORD_OPPONENT, (EC_GROUP_PEOPLE << 9) | 0x0 - .set EC_WORD_I, (EC_GROUP_PEOPLE << 9) | 0x1 - .set EC_WORD_YOU, (EC_GROUP_PEOPLE << 9) | 0x2 - .set EC_WORD_YOURS, (EC_GROUP_PEOPLE << 9) | 0x3 - .set EC_WORD_SON, (EC_GROUP_PEOPLE << 9) | 0x4 - .set EC_WORD_YOUR, (EC_GROUP_PEOPLE << 9) | 0x5 - .set EC_WORD_YOU_RE, (EC_GROUP_PEOPLE << 9) | 0x6 - .set EC_WORD_YOU_VE, (EC_GROUP_PEOPLE << 9) | 0x7 - .set EC_WORD_MOTHER, (EC_GROUP_PEOPLE << 9) | 0x8 - .set EC_WORD_GRANDFATHER, (EC_GROUP_PEOPLE << 9) | 0x9 - .set EC_WORD_UNCLE, (EC_GROUP_PEOPLE << 9) | 0xa - .set EC_WORD_FATHER, (EC_GROUP_PEOPLE << 9) | 0xb - .set EC_WORD_BOY, (EC_GROUP_PEOPLE << 9) | 0xc - .set EC_WORD_ADULT, (EC_GROUP_PEOPLE << 9) | 0xd - .set EC_WORD_BROTHER, (EC_GROUP_PEOPLE << 9) | 0xe - .set EC_WORD_SISTER, (EC_GROUP_PEOPLE << 9) | 0xf - .set EC_WORD_GRANDMOTHER, (EC_GROUP_PEOPLE << 9) | 0x10 - .set EC_WORD_AUNT, (EC_GROUP_PEOPLE << 9) | 0x11 - .set EC_WORD_PARENT, (EC_GROUP_PEOPLE << 9) | 0x12 - .set EC_WORD_MAN, (EC_GROUP_PEOPLE << 9) | 0x13 - .set EC_WORD_ME, (EC_GROUP_PEOPLE << 9) | 0x14 - .set EC_WORD_GIRL, (EC_GROUP_PEOPLE << 9) | 0x15 - .set EC_WORD_BABE, (EC_GROUP_PEOPLE << 9) | 0x16 - .set EC_WORD_FAMILY, (EC_GROUP_PEOPLE << 9) | 0x17 - .set EC_WORD_HER, (EC_GROUP_PEOPLE << 9) | 0x18 - .set EC_WORD_HIM, (EC_GROUP_PEOPLE << 9) | 0x19 - .set EC_WORD_HE, (EC_GROUP_PEOPLE << 9) | 0x1a - .set EC_WORD_PLACE, (EC_GROUP_PEOPLE << 9) | 0x1b - .set EC_WORD_DAUGHTER, (EC_GROUP_PEOPLE << 9) | 0x1c - .set EC_WORD_HIS, (EC_GROUP_PEOPLE << 9) | 0x1d - .set EC_WORD_HE_S, (EC_GROUP_PEOPLE << 9) | 0x1e - .set EC_WORD_AREN_T, (EC_GROUP_PEOPLE << 9) | 0x1f - .set EC_WORD_SIBLINGS, (EC_GROUP_PEOPLE << 9) | 0x20 - .set EC_WORD_KID, (EC_GROUP_PEOPLE << 9) | 0x21 - .set EC_WORD_CHILDREN, (EC_GROUP_PEOPLE << 9) | 0x22 - .set EC_WORD_MR, (EC_GROUP_PEOPLE << 9) | 0x23 - .set EC_WORD_MRS, (EC_GROUP_PEOPLE << 9) | 0x24 - .set EC_WORD_MYSELF, (EC_GROUP_PEOPLE << 9) | 0x25 - .set EC_WORD_I_WAS, (EC_GROUP_PEOPLE << 9) | 0x26 - .set EC_WORD_TO_ME, (EC_GROUP_PEOPLE << 9) | 0x27 - .set EC_WORD_MY, (EC_GROUP_PEOPLE << 9) | 0x28 - .set EC_WORD_I_AM, (EC_GROUP_PEOPLE << 9) | 0x29 - .set EC_WORD_I_VE, (EC_GROUP_PEOPLE << 9) | 0x2a - .set EC_WORD_WHO, (EC_GROUP_PEOPLE << 9) | 0x2b - .set EC_WORD_SOMEONE, (EC_GROUP_PEOPLE << 9) | 0x2c - .set EC_WORD_WHO_WAS, (EC_GROUP_PEOPLE << 9) | 0x2d - .set EC_WORD_TO_WHOM, (EC_GROUP_PEOPLE << 9) | 0x2e - .set EC_WORD_WHOSE, (EC_GROUP_PEOPLE << 9) | 0x2f - .set EC_WORD_WHO_IS, (EC_GROUP_PEOPLE << 9) | 0x30 - .set EC_WORD_IT_S, (EC_GROUP_PEOPLE << 9) | 0x31 - .set EC_WORD_LADY, (EC_GROUP_PEOPLE << 9) | 0x32 - .set EC_WORD_FRIEND, (EC_GROUP_PEOPLE << 9) | 0x33 - .set EC_WORD_ALLY, (EC_GROUP_PEOPLE << 9) | 0x34 - .set EC_WORD_PERSON, (EC_GROUP_PEOPLE << 9) | 0x35 - .set EC_WORD_DUDE, (EC_GROUP_PEOPLE << 9) | 0x36 - .set EC_WORD_THEY, (EC_GROUP_PEOPLE << 9) | 0x37 - .set EC_WORD_THEY_WERE, (EC_GROUP_PEOPLE << 9) | 0x38 - .set EC_WORD_TO_THEM, (EC_GROUP_PEOPLE << 9) | 0x39 - .set EC_WORD_THEIR, (EC_GROUP_PEOPLE << 9) | 0x3a - .set EC_WORD_THEY_RE, (EC_GROUP_PEOPLE << 9) | 0x3b - .set EC_WORD_THEY_VE, (EC_GROUP_PEOPLE << 9) | 0x3c - .set EC_WORD_WE, (EC_GROUP_PEOPLE << 9) | 0x3d - .set EC_WORD_BEEN, (EC_GROUP_PEOPLE << 9) | 0x3e - .set EC_WORD_TO_US, (EC_GROUP_PEOPLE << 9) | 0x3f - .set EC_WORD_OUR, (EC_GROUP_PEOPLE << 9) | 0x40 - .set EC_WORD_WE_RE, (EC_GROUP_PEOPLE << 9) | 0x41 - .set EC_WORD_RIVAL, (EC_GROUP_PEOPLE << 9) | 0x42 - .set EC_WORD_WE_VE, (EC_GROUP_PEOPLE << 9) | 0x43 - .set EC_WORD_WOMAN, (EC_GROUP_PEOPLE << 9) | 0x44 - .set EC_WORD_SHE, (EC_GROUP_PEOPLE << 9) | 0x45 - .set EC_WORD_SHE_WAS, (EC_GROUP_PEOPLE << 9) | 0x46 - .set EC_WORD_TO_HER, (EC_GROUP_PEOPLE << 9) | 0x47 - .set EC_WORD_HERS, (EC_GROUP_PEOPLE << 9) | 0x48 - .set EC_WORD_SHE_IS, (EC_GROUP_PEOPLE << 9) | 0x49 - .set EC_WORD_SOME, (EC_GROUP_PEOPLE << 9) | 0x4a - -@ Voices - .set EC_WORD_EXCL, (EC_GROUP_VOICES << 9) | 0x0 - .set EC_WORD_EXCL_EXCL, (EC_GROUP_VOICES << 9) | 0x1 - .set EC_WORD_QUES_EXCL, (EC_GROUP_VOICES << 9) | 0x2 - .set EC_WORD_QUES, (EC_GROUP_VOICES << 9) | 0x3 - .set EC_WORD_ELLIPSIS, (EC_GROUP_VOICES << 9) | 0x4 - .set EC_WORD_ELLIPSIS_EXCL, (EC_GROUP_VOICES << 9) | 0x5 - .set EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, (EC_GROUP_VOICES << 9) | 0x6 - .set EC_WORD_DASH, (EC_GROUP_VOICES << 9) | 0x7 - .set EC_WORD_DASH_DASH_DASH, (EC_GROUP_VOICES << 9) | 0x8 - .set EC_WORD_UH_OH, (EC_GROUP_VOICES << 9) | 0x9 - .set EC_WORD_WAAAH, (EC_GROUP_VOICES << 9) | 0xa - .set EC_WORD_AHAHA, (EC_GROUP_VOICES << 9) | 0xb - .set EC_WORD_OH_QUES, (EC_GROUP_VOICES << 9) | 0xc - .set EC_WORD_NOPE, (EC_GROUP_VOICES << 9) | 0xd - .set EC_WORD_URGH, (EC_GROUP_VOICES << 9) | 0xe - .set EC_WORD_HMM, (EC_GROUP_VOICES << 9) | 0xf - .set EC_WORD_WHOAH, (EC_GROUP_VOICES << 9) | 0x10 - .set EC_WORD_WROOOAAR_EXCL, (EC_GROUP_VOICES << 9) | 0x11 - .set EC_WORD_WOW, (EC_GROUP_VOICES << 9) | 0x12 - .set EC_WORD_GIGGLE, (EC_GROUP_VOICES << 9) | 0x13 - .set EC_WORD_SIGH, (EC_GROUP_VOICES << 9) | 0x14 - .set EC_WORD_UNBELIEVABLE, (EC_GROUP_VOICES << 9) | 0x15 - .set EC_WORD_CRIES, (EC_GROUP_VOICES << 9) | 0x16 - .set EC_WORD_AGREE, (EC_GROUP_VOICES << 9) | 0x17 - .set EC_WORD_EH_QUES, (EC_GROUP_VOICES << 9) | 0x18 - .set EC_WORD_CRY, (EC_GROUP_VOICES << 9) | 0x19 - .set EC_WORD_EHEHE, (EC_GROUP_VOICES << 9) | 0x1a - .set EC_WORD_OI_OI_OI, (EC_GROUP_VOICES << 9) | 0x1b - .set EC_WORD_OH_YEAH, (EC_GROUP_VOICES << 9) | 0x1c - .set EC_WORD_OH, (EC_GROUP_VOICES << 9) | 0x1d - .set EC_WORD_OOPS, (EC_GROUP_VOICES << 9) | 0x1e - .set EC_WORD_SHOCKED, (EC_GROUP_VOICES << 9) | 0x1f - .set EC_WORD_EEK, (EC_GROUP_VOICES << 9) | 0x20 - .set EC_WORD_GRAAAH, (EC_GROUP_VOICES << 9) | 0x21 - .set EC_WORD_GWAHAHAHA, (EC_GROUP_VOICES << 9) | 0x22 - .set EC_WORD_WAY, (EC_GROUP_VOICES << 9) | 0x23 - .set EC_WORD_TCH, (EC_GROUP_VOICES << 9) | 0x24 - .set EC_WORD_HEHE, (EC_GROUP_VOICES << 9) | 0x25 - .set EC_WORD_HAH, (EC_GROUP_VOICES << 9) | 0x26 - .set EC_WORD_YUP, (EC_GROUP_VOICES << 9) | 0x27 - .set EC_WORD_HAHAHA, (EC_GROUP_VOICES << 9) | 0x28 - .set EC_WORD_AIYEEH, (EC_GROUP_VOICES << 9) | 0x29 - .set EC_WORD_HIYAH, (EC_GROUP_VOICES << 9) | 0x2a - .set EC_WORD_FUFUFU, (EC_GROUP_VOICES << 9) | 0x2b - .set EC_WORD_LOL, (EC_GROUP_VOICES << 9) | 0x2c - .set EC_WORD_SNORT, (EC_GROUP_VOICES << 9) | 0x2d - .set EC_WORD_HUMPH, (EC_GROUP_VOICES << 9) | 0x2e - .set EC_WORD_HEHEHE, (EC_GROUP_VOICES << 9) | 0x2f - .set EC_WORD_HEH, (EC_GROUP_VOICES << 9) | 0x30 - .set EC_WORD_HOHOHO, (EC_GROUP_VOICES << 9) | 0x31 - .set EC_WORD_UH_HUH, (EC_GROUP_VOICES << 9) | 0x32 - .set EC_WORD_OH_DEAR, (EC_GROUP_VOICES << 9) | 0x33 - .set EC_WORD_ARRGH, (EC_GROUP_VOICES << 9) | 0x34 - .set EC_WORD_MUFUFU, (EC_GROUP_VOICES << 9) | 0x35 - .set EC_WORD_MMM, (EC_GROUP_VOICES << 9) | 0x36 - .set EC_WORD_OH_KAY, (EC_GROUP_VOICES << 9) | 0x37 - .set EC_WORD_OKAY, (EC_GROUP_VOICES << 9) | 0x38 - .set EC_WORD_LALALA, (EC_GROUP_VOICES << 9) | 0x39 - .set EC_WORD_YAY, (EC_GROUP_VOICES << 9) | 0x3a - .set EC_WORD_AWW, (EC_GROUP_VOICES << 9) | 0x3b - .set EC_WORD_WOWEE, (EC_GROUP_VOICES << 9) | 0x3c - .set EC_WORD_GWAH, (EC_GROUP_VOICES << 9) | 0x3d - .set EC_WORD_WAHAHAHA, (EC_GROUP_VOICES << 9) | 0x3e - -@ Speech - .set EC_WORD_LISTEN, (EC_GROUP_SPEECH << 9) | 0x0 - .set EC_WORD_NOT_VERY, (EC_GROUP_SPEECH << 9) | 0x1 - .set EC_WORD_MEAN, (EC_GROUP_SPEECH << 9) | 0x2 - .set EC_WORD_LIE, (EC_GROUP_SPEECH << 9) | 0x3 - .set EC_WORD_LAY, (EC_GROUP_SPEECH << 9) | 0x4 - .set EC_WORD_RECOMMEND, (EC_GROUP_SPEECH << 9) | 0x5 - .set EC_WORD_NITWIT, (EC_GROUP_SPEECH << 9) | 0x6 - .set EC_WORD_QUITE, (EC_GROUP_SPEECH << 9) | 0x7 - .set EC_WORD_FROM, (EC_GROUP_SPEECH << 9) | 0x8 - .set EC_WORD_FEELING, (EC_GROUP_SPEECH << 9) | 0x9 - .set EC_WORD_BUT, (EC_GROUP_SPEECH << 9) | 0xa - .set EC_WORD_HOWEVER, (EC_GROUP_SPEECH << 9) | 0xb - .set EC_WORD_CASE, (EC_GROUP_SPEECH << 9) | 0xc - .set EC_WORD_THE, (EC_GROUP_SPEECH << 9) | 0xd - .set EC_WORD_MISS, (EC_GROUP_SPEECH << 9) | 0xe - .set EC_WORD_HOW, (EC_GROUP_SPEECH << 9) | 0xf - .set EC_WORD_HIT, (EC_GROUP_SPEECH << 9) | 0x10 - .set EC_WORD_ENOUGH, (EC_GROUP_SPEECH << 9) | 0x11 - .set EC_WORD_A_LOT, (EC_GROUP_SPEECH << 9) | 0x12 - .set EC_WORD_A_LITTLE, (EC_GROUP_SPEECH << 9) | 0x13 - .set EC_WORD_ABSOLUTELY, (EC_GROUP_SPEECH << 9) | 0x14 - .set EC_WORD_AND, (EC_GROUP_SPEECH << 9) | 0x15 - .set EC_WORD_ONLY, (EC_GROUP_SPEECH << 9) | 0x16 - .set EC_WORD_AROUND, (EC_GROUP_SPEECH << 9) | 0x17 - .set EC_WORD_PROBABLY, (EC_GROUP_SPEECH << 9) | 0x18 - .set EC_WORD_IF, (EC_GROUP_SPEECH << 9) | 0x19 - .set EC_WORD_VERY, (EC_GROUP_SPEECH << 9) | 0x1a - .set EC_WORD_A_TINY_BIT, (EC_GROUP_SPEECH << 9) | 0x1b - .set EC_WORD_WILD, (EC_GROUP_SPEECH << 9) | 0x1c - .set EC_WORD_THAT_S, (EC_GROUP_SPEECH << 9) | 0x1d - .set EC_WORD_JUST, (EC_GROUP_SPEECH << 9) | 0x1e - .set EC_WORD_EVEN_SO, (EC_GROUP_SPEECH << 9) | 0x1f - .set EC_WORD_MUST_BE, (EC_GROUP_SPEECH << 9) | 0x20 - .set EC_WORD_NATURALLY, (EC_GROUP_SPEECH << 9) | 0x21 - .set EC_WORD_FOR_NOW, (EC_GROUP_SPEECH << 9) | 0x22 - .set EC_WORD_UNDERSTOOD, (EC_GROUP_SPEECH << 9) | 0x23 - .set EC_WORD_JOKING, (EC_GROUP_SPEECH << 9) | 0x24 - .set EC_WORD_READY, (EC_GROUP_SPEECH << 9) | 0x25 - .set EC_WORD_SOMETHING, (EC_GROUP_SPEECH << 9) | 0x26 - .set EC_WORD_SOMEHOW, (EC_GROUP_SPEECH << 9) | 0x27 - .set EC_WORD_ALTHOUGH, (EC_GROUP_SPEECH << 9) | 0x28 - .set EC_WORD_ALSO, (EC_GROUP_SPEECH << 9) | 0x29 - .set EC_WORD_PERFECT, (EC_GROUP_SPEECH << 9) | 0x2a - .set EC_WORD_AS_MUCH_AS, (EC_GROUP_SPEECH << 9) | 0x2b - .set EC_WORD_REALLY, (EC_GROUP_SPEECH << 9) | 0x2c - .set EC_WORD_TRULY, (EC_GROUP_SPEECH << 9) | 0x2d - .set EC_WORD_SERIOUSLY, (EC_GROUP_SPEECH << 9) | 0x2e - .set EC_WORD_TOTALLY, (EC_GROUP_SPEECH << 9) | 0x2f - .set EC_WORD_UNTIL, (EC_GROUP_SPEECH << 9) | 0x30 - .set EC_WORD_AS_IF, (EC_GROUP_SPEECH << 9) | 0x31 - .set EC_WORD_MOOD, (EC_GROUP_SPEECH << 9) | 0x32 - .set EC_WORD_RATHER, (EC_GROUP_SPEECH << 9) | 0x33 - .set EC_WORD_AWFULLY, (EC_GROUP_SPEECH << 9) | 0x34 - .set EC_WORD_MODE, (EC_GROUP_SPEECH << 9) | 0x35 - .set EC_WORD_MORE, (EC_GROUP_SPEECH << 9) | 0x36 - .set EC_WORD_TOO_LATE, (EC_GROUP_SPEECH << 9) | 0x37 - .set EC_WORD_FINALLY, (EC_GROUP_SPEECH << 9) | 0x38 - .set EC_WORD_ANY, (EC_GROUP_SPEECH << 9) | 0x39 - .set EC_WORD_INSTEAD, (EC_GROUP_SPEECH << 9) | 0x3a - .set EC_WORD_FANTASTIC, (EC_GROUP_SPEECH << 9) | 0x3b - -@ Endings - .set EC_WORD_WILL, (EC_GROUP_ENDINGS << 9) | 0x0 - .set EC_WORD_WILL_BE_HERE, (EC_GROUP_ENDINGS << 9) | 0x1 - .set EC_WORD_OR, (EC_GROUP_ENDINGS << 9) | 0x2 - .set EC_WORD_TIMES, (EC_GROUP_ENDINGS << 9) | 0x3 - .set EC_WORD_WONDER, (EC_GROUP_ENDINGS << 9) | 0x4 - .set EC_WORD_IS_IT_QUES, (EC_GROUP_ENDINGS << 9) | 0x5 - .set EC_WORD_BE, (EC_GROUP_ENDINGS << 9) | 0x6 - .set EC_WORD_GIMME, (EC_GROUP_ENDINGS << 9) | 0x7 - .set EC_WORD_COULD, (EC_GROUP_ENDINGS << 9) | 0x8 - .set EC_WORD_LIKELY_TO, (EC_GROUP_ENDINGS << 9) | 0x9 - .set EC_WORD_WOULD, (EC_GROUP_ENDINGS << 9) | 0xa - .set EC_WORD_IS, (EC_GROUP_ENDINGS << 9) | 0xb - .set EC_WORD_ISN_T_IT_QUES, (EC_GROUP_ENDINGS << 9) | 0xc - .set EC_WORD_LET_S, (EC_GROUP_ENDINGS << 9) | 0xd - .set EC_WORD_OTHER, (EC_GROUP_ENDINGS << 9) | 0xe - .set EC_WORD_ARE, (EC_GROUP_ENDINGS << 9) | 0xf - .set EC_WORD_WAS, (EC_GROUP_ENDINGS << 9) | 0x10 - .set EC_WORD_WERE, (EC_GROUP_ENDINGS << 9) | 0x11 - .set EC_WORD_THOSE, (EC_GROUP_ENDINGS << 9) | 0x12 - .set EC_WORD_ISN_T, (EC_GROUP_ENDINGS << 9) | 0x13 - .set EC_WORD_WON_T, (EC_GROUP_ENDINGS << 9) | 0x14 - .set EC_WORD_CAN_T, (EC_GROUP_ENDINGS << 9) | 0x15 - .set EC_WORD_CAN, (EC_GROUP_ENDINGS << 9) | 0x16 - .set EC_WORD_DON_T, (EC_GROUP_ENDINGS << 9) | 0x17 - .set EC_WORD_DO, (EC_GROUP_ENDINGS << 9) | 0x18 - .set EC_WORD_DOES, (EC_GROUP_ENDINGS << 9) | 0x19 - .set EC_WORD_WHOM, (EC_GROUP_ENDINGS << 9) | 0x1a - .set EC_WORD_WHICH, (EC_GROUP_ENDINGS << 9) | 0x1b - .set EC_WORD_WASN_T, (EC_GROUP_ENDINGS << 9) | 0x1c - .set EC_WORD_WEREN_T, (EC_GROUP_ENDINGS << 9) | 0x1d - .set EC_WORD_HAVE, (EC_GROUP_ENDINGS << 9) | 0x1e - .set EC_WORD_HAVEN_T, (EC_GROUP_ENDINGS << 9) | 0x1f - .set EC_WORD_A, (EC_GROUP_ENDINGS << 9) | 0x20 - .set EC_WORD_AN, (EC_GROUP_ENDINGS << 9) | 0x21 - .set EC_WORD_NOT, (EC_GROUP_ENDINGS << 9) | 0x22 - .set EC_WORD_THERE, (EC_GROUP_ENDINGS << 9) | 0x23 - .set EC_WORD_OK_QUES, (EC_GROUP_ENDINGS << 9) | 0x24 - .set EC_WORD_SO, (EC_GROUP_ENDINGS << 9) | 0x25 - .set EC_WORD_MAYBE, (EC_GROUP_ENDINGS << 9) | 0x26 - .set EC_WORD_ABOUT, (EC_GROUP_ENDINGS << 9) | 0x27 - .set EC_WORD_OVER, (EC_GROUP_ENDINGS << 9) | 0x28 - .set EC_WORD_IT, (EC_GROUP_ENDINGS << 9) | 0x29 - .set EC_WORD_ALL, (EC_GROUP_ENDINGS << 9) | 0x2a - .set EC_WORD_FOR, (EC_GROUP_ENDINGS << 9) | 0x2b - .set EC_WORD_ON, (EC_GROUP_ENDINGS << 9) | 0x2c - .set EC_WORD_OFF, (EC_GROUP_ENDINGS << 9) | 0x2d - .set EC_WORD_AS, (EC_GROUP_ENDINGS << 9) | 0x2e - .set EC_WORD_TO, (EC_GROUP_ENDINGS << 9) | 0x2f - .set EC_WORD_WITH, (EC_GROUP_ENDINGS << 9) | 0x30 - .set EC_WORD_BETTER, (EC_GROUP_ENDINGS << 9) | 0x31 - .set EC_WORD_EVER, (EC_GROUP_ENDINGS << 9) | 0x32 - .set EC_WORD_SINCE, (EC_GROUP_ENDINGS << 9) | 0x33 - .set EC_WORD_OF, (EC_GROUP_ENDINGS << 9) | 0x34 - .set EC_WORD_BELONGS_TO, (EC_GROUP_ENDINGS << 9) | 0x35 - .set EC_WORD_AT, (EC_GROUP_ENDINGS << 9) | 0x36 - .set EC_WORD_IN, (EC_GROUP_ENDINGS << 9) | 0x37 - .set EC_WORD_OUT, (EC_GROUP_ENDINGS << 9) | 0x38 - .set EC_WORD_TOO, (EC_GROUP_ENDINGS << 9) | 0x39 - .set EC_WORD_LIKE, (EC_GROUP_ENDINGS << 9) | 0x3a - .set EC_WORD_DID, (EC_GROUP_ENDINGS << 9) | 0x3b - .set EC_WORD_DIDN_T, (EC_GROUP_ENDINGS << 9) | 0x3c - .set EC_WORD_DOESN_T, (EC_GROUP_ENDINGS << 9) | 0x3d - .set EC_WORD_WITHOUT, (EC_GROUP_ENDINGS << 9) | 0x3e - .set EC_WORD_AFTER, (EC_GROUP_ENDINGS << 9) | 0x3f - .set EC_WORD_BEFORE, (EC_GROUP_ENDINGS << 9) | 0x40 - .set EC_WORD_WHILE, (EC_GROUP_ENDINGS << 9) | 0x41 - .set EC_WORD_THAN, (EC_GROUP_ENDINGS << 9) | 0x42 - .set EC_WORD_ONCE, (EC_GROUP_ENDINGS << 9) | 0x43 - .set EC_WORD_ANYWHERE, (EC_GROUP_ENDINGS << 9) | 0x44 - -@ Feelings - .set EC_WORD_MEET, (EC_GROUP_FEELINGS << 9) | 0x0 - .set EC_WORD_PLAY, (EC_GROUP_FEELINGS << 9) | 0x1 - .set EC_WORD_HURRIED, (EC_GROUP_FEELINGS << 9) | 0x2 - .set EC_WORD_GOES, (EC_GROUP_FEELINGS << 9) | 0x3 - .set EC_WORD_GIDDY, (EC_GROUP_FEELINGS << 9) | 0x4 - .set EC_WORD_HAPPY, (EC_GROUP_FEELINGS << 9) | 0x5 - .set EC_WORD_HAPPINESS, (EC_GROUP_FEELINGS << 9) | 0x6 - .set EC_WORD_EXCITE, (EC_GROUP_FEELINGS << 9) | 0x7 - .set EC_WORD_IMPORTANT, (EC_GROUP_FEELINGS << 9) | 0x8 - .set EC_WORD_FUNNY, (EC_GROUP_FEELINGS << 9) | 0x9 - .set EC_WORD_GOT, (EC_GROUP_FEELINGS << 9) | 0xa - .set EC_WORD_GO_HOME, (EC_GROUP_FEELINGS << 9) | 0xb - .set EC_WORD_DISAPPOINTED, (EC_GROUP_FEELINGS << 9) | 0xc - .set EC_WORD_DISAPPOINTS, (EC_GROUP_FEELINGS << 9) | 0xd - .set EC_WORD_SAD, (EC_GROUP_FEELINGS << 9) | 0xe - .set EC_WORD_TRY, (EC_GROUP_FEELINGS << 9) | 0xf - .set EC_WORD_TRIES, (EC_GROUP_FEELINGS << 9) | 0x10 - .set EC_WORD_HEARS, (EC_GROUP_FEELINGS << 9) | 0x11 - .set EC_WORD_THINK, (EC_GROUP_FEELINGS << 9) | 0x12 - .set EC_WORD_HEAR, (EC_GROUP_FEELINGS << 9) | 0x13 - .set EC_WORD_WANTS, (EC_GROUP_FEELINGS << 9) | 0x14 - .set EC_WORD_MISHEARD, (EC_GROUP_FEELINGS << 9) | 0x15 - .set EC_WORD_DISLIKE, (EC_GROUP_FEELINGS << 9) | 0x16 - .set EC_WORD_ANGRY, (EC_GROUP_FEELINGS << 9) | 0x17 - .set EC_WORD_ANGER, (EC_GROUP_FEELINGS << 9) | 0x18 - .set EC_WORD_SCARY, (EC_GROUP_FEELINGS << 9) | 0x19 - .set EC_WORD_LONESOME, (EC_GROUP_FEELINGS << 9) | 0x1a - .set EC_WORD_DISAPPOINT, (EC_GROUP_FEELINGS << 9) | 0x1b - .set EC_WORD_JOY, (EC_GROUP_FEELINGS << 9) | 0x1c - .set EC_WORD_GETS, (EC_GROUP_FEELINGS << 9) | 0x1d - .set EC_WORD_NEVER, (EC_GROUP_FEELINGS << 9) | 0x1e - .set EC_WORD_DARN, (EC_GROUP_FEELINGS << 9) | 0x1f - .set EC_WORD_DOWNCAST, (EC_GROUP_FEELINGS << 9) | 0x20 - .set EC_WORD_INCREDIBLE, (EC_GROUP_FEELINGS << 9) | 0x21 - .set EC_WORD_LIKES, (EC_GROUP_FEELINGS << 9) | 0x22 - .set EC_WORD_DISLIKES, (EC_GROUP_FEELINGS << 9) | 0x23 - .set EC_WORD_BORING, (EC_GROUP_FEELINGS << 9) | 0x24 - .set EC_WORD_CARE, (EC_GROUP_FEELINGS << 9) | 0x25 - .set EC_WORD_CARES, (EC_GROUP_FEELINGS << 9) | 0x26 - .set EC_WORD_ALL_RIGHT, (EC_GROUP_FEELINGS << 9) | 0x27 - .set EC_WORD_ADORE, (EC_GROUP_FEELINGS << 9) | 0x28 - .set EC_WORD_DISASTER, (EC_GROUP_FEELINGS << 9) | 0x29 - .set EC_WORD_ENJOY, (EC_GROUP_FEELINGS << 9) | 0x2a - .set EC_WORD_ENJOYS, (EC_GROUP_FEELINGS << 9) | 0x2b - .set EC_WORD_EAT, (EC_GROUP_FEELINGS << 9) | 0x2c - .set EC_WORD_LACKING, (EC_GROUP_FEELINGS << 9) | 0x2d - .set EC_WORD_BAD, (EC_GROUP_FEELINGS << 9) | 0x2e - .set EC_WORD_HARD, (EC_GROUP_FEELINGS << 9) | 0x2f - .set EC_WORD_TERRIBLE, (EC_GROUP_FEELINGS << 9) | 0x30 - .set EC_WORD_SHOULD, (EC_GROUP_FEELINGS << 9) | 0x31 - .set EC_WORD_NICE, (EC_GROUP_FEELINGS << 9) | 0x32 - .set EC_WORD_DRINK, (EC_GROUP_FEELINGS << 9) | 0x33 - .set EC_WORD_SURPRISE, (EC_GROUP_FEELINGS << 9) | 0x34 - .set EC_WORD_FEAR, (EC_GROUP_FEELINGS << 9) | 0x35 - .set EC_WORD_WANT, (EC_GROUP_FEELINGS << 9) | 0x36 - .set EC_WORD_WAIT, (EC_GROUP_FEELINGS << 9) | 0x37 - .set EC_WORD_SATISFIED, (EC_GROUP_FEELINGS << 9) | 0x38 - .set EC_WORD_SEE, (EC_GROUP_FEELINGS << 9) | 0x39 - .set EC_WORD_RARE, (EC_GROUP_FEELINGS << 9) | 0x3a - .set EC_WORD_NEGATIVE, (EC_GROUP_FEELINGS << 9) | 0x3b - .set EC_WORD_DONE, (EC_GROUP_FEELINGS << 9) | 0x3c - .set EC_WORD_DANGER, (EC_GROUP_FEELINGS << 9) | 0x3d - .set EC_WORD_DEFEATED, (EC_GROUP_FEELINGS << 9) | 0x3e - .set EC_WORD_BEAT, (EC_GROUP_FEELINGS << 9) | 0x3f - .set EC_WORD_GREAT, (EC_GROUP_FEELINGS << 9) | 0x40 - .set EC_WORD_ROMANTIC, (EC_GROUP_FEELINGS << 9) | 0x41 - .set EC_WORD_QUESTION, (EC_GROUP_FEELINGS << 9) | 0x42 - .set EC_WORD_UNDERSTAND, (EC_GROUP_FEELINGS << 9) | 0x43 - .set EC_WORD_UNDERSTANDS, (EC_GROUP_FEELINGS << 9) | 0x44 - -@ Conditions - .set EC_WORD_HOT, (EC_GROUP_CONDITIONS << 9) | 0x0 - .set EC_WORD_EXISTS, (EC_GROUP_CONDITIONS << 9) | 0x1 - .set EC_WORD_EXCESS, (EC_GROUP_CONDITIONS << 9) | 0x2 - .set EC_WORD_APPROVED, (EC_GROUP_CONDITIONS << 9) | 0x3 - .set EC_WORD_HAS, (EC_GROUP_CONDITIONS << 9) | 0x4 - .set EC_WORD_GOOD, (EC_GROUP_CONDITIONS << 9) | 0x5 - .set EC_WORD_LESS, (EC_GROUP_CONDITIONS << 9) | 0x6 - .set EC_WORD_MOMENTUM, (EC_GROUP_CONDITIONS << 9) | 0x7 - .set EC_WORD_GOING, (EC_GROUP_CONDITIONS << 9) | 0x8 - .set EC_WORD_WEIRD, (EC_GROUP_CONDITIONS << 9) | 0x9 - .set EC_WORD_BUSY, (EC_GROUP_CONDITIONS << 9) | 0xa - .set EC_WORD_TOGETHER, (EC_GROUP_CONDITIONS << 9) | 0xb - .set EC_WORD_FULL, (EC_GROUP_CONDITIONS << 9) | 0xc - .set EC_WORD_ABSENT, (EC_GROUP_CONDITIONS << 9) | 0xd - .set EC_WORD_BEING, (EC_GROUP_CONDITIONS << 9) | 0xe - .set EC_WORD_NEED, (EC_GROUP_CONDITIONS << 9) | 0xf - .set EC_WORD_TASTY, (EC_GROUP_CONDITIONS << 9) | 0x10 - .set EC_WORD_SKILLED, (EC_GROUP_CONDITIONS << 9) | 0x11 - .set EC_WORD_NOISY, (EC_GROUP_CONDITIONS << 9) | 0x12 - .set EC_WORD_BIG, (EC_GROUP_CONDITIONS << 9) | 0x13 - .set EC_WORD_LATE, (EC_GROUP_CONDITIONS << 9) | 0x14 - .set EC_WORD_CLOSE, (EC_GROUP_CONDITIONS << 9) | 0x15 - .set EC_WORD_DOCILE, (EC_GROUP_CONDITIONS << 9) | 0x16 - .set EC_WORD_AMUSING, (EC_GROUP_CONDITIONS << 9) | 0x17 - .set EC_WORD_ENTERTAINING, (EC_GROUP_CONDITIONS << 9) | 0x18 - .set EC_WORD_PERFECTION, (EC_GROUP_CONDITIONS << 9) | 0x19 - .set EC_WORD_PRETTY, (EC_GROUP_CONDITIONS << 9) | 0x1a - .set EC_WORD_HEALTHY, (EC_GROUP_CONDITIONS << 9) | 0x1b - .set EC_WORD_EXCELLENT, (EC_GROUP_CONDITIONS << 9) | 0x1c - .set EC_WORD_UPSIDE_DOWN, (EC_GROUP_CONDITIONS << 9) | 0x1d - .set EC_WORD_COLD, (EC_GROUP_CONDITIONS << 9) | 0x1e - .set EC_WORD_REFRESHING, (EC_GROUP_CONDITIONS << 9) | 0x1f - .set EC_WORD_UNAVOIDABLE, (EC_GROUP_CONDITIONS << 9) | 0x20 - .set EC_WORD_MUCH, (EC_GROUP_CONDITIONS << 9) | 0x21 - .set EC_WORD_OVERWHELMING, (EC_GROUP_CONDITIONS << 9) | 0x22 - .set EC_WORD_FABULOUS, (EC_GROUP_CONDITIONS << 9) | 0x23 - .set EC_WORD_ELSE, (EC_GROUP_CONDITIONS << 9) | 0x24 - .set EC_WORD_EXPENSIVE, (EC_GROUP_CONDITIONS << 9) | 0x25 - .set EC_WORD_CORRECT, (EC_GROUP_CONDITIONS << 9) | 0x26 - .set EC_WORD_IMPOSSIBLE, (EC_GROUP_CONDITIONS << 9) | 0x27 - .set EC_WORD_SMALL, (EC_GROUP_CONDITIONS << 9) | 0x28 - .set EC_WORD_DIFFERENT, (EC_GROUP_CONDITIONS << 9) | 0x29 - .set EC_WORD_TIRED, (EC_GROUP_CONDITIONS << 9) | 0x2a - .set EC_WORD_SKILL, (EC_GROUP_CONDITIONS << 9) | 0x2b - .set EC_WORD_TOP, (EC_GROUP_CONDITIONS << 9) | 0x2c - .set EC_WORD_NON_STOP, (EC_GROUP_CONDITIONS << 9) | 0x2d - .set EC_WORD_PREPOSTEROUS, (EC_GROUP_CONDITIONS << 9) | 0x2e - .set EC_WORD_NONE, (EC_GROUP_CONDITIONS << 9) | 0x2f - .set EC_WORD_NOTHING, (EC_GROUP_CONDITIONS << 9) | 0x30 - .set EC_WORD_NATURAL, (EC_GROUP_CONDITIONS << 9) | 0x31 - .set EC_WORD_BECOMES, (EC_GROUP_CONDITIONS << 9) | 0x32 - .set EC_WORD_LUKEWARM, (EC_GROUP_CONDITIONS << 9) | 0x33 - .set EC_WORD_FAST, (EC_GROUP_CONDITIONS << 9) | 0x34 - .set EC_WORD_LOW, (EC_GROUP_CONDITIONS << 9) | 0x35 - .set EC_WORD_AWFUL, (EC_GROUP_CONDITIONS << 9) | 0x36 - .set EC_WORD_ALONE, (EC_GROUP_CONDITIONS << 9) | 0x37 - .set EC_WORD_BORED, (EC_GROUP_CONDITIONS << 9) | 0x38 - .set EC_WORD_SECRET, (EC_GROUP_CONDITIONS << 9) | 0x39 - .set EC_WORD_MYSTERY, (EC_GROUP_CONDITIONS << 9) | 0x3a - .set EC_WORD_LACKS, (EC_GROUP_CONDITIONS << 9) | 0x3b - .set EC_WORD_BEST, (EC_GROUP_CONDITIONS << 9) | 0x3c - .set EC_WORD_LOUSY, (EC_GROUP_CONDITIONS << 9) | 0x3d - .set EC_WORD_MISTAKE, (EC_GROUP_CONDITIONS << 9) | 0x3e - .set EC_WORD_KIND, (EC_GROUP_CONDITIONS << 9) | 0x3f - .set EC_WORD_WELL, (EC_GROUP_CONDITIONS << 9) | 0x40 - .set EC_WORD_WEAKENED, (EC_GROUP_CONDITIONS << 9) | 0x41 - .set EC_WORD_SIMPLE, (EC_GROUP_CONDITIONS << 9) | 0x42 - .set EC_WORD_SEEMS, (EC_GROUP_CONDITIONS << 9) | 0x43 - .set EC_WORD_BADLY, (EC_GROUP_CONDITIONS << 9) | 0x44 - -@ Actions - .set EC_WORD_MEETS, (EC_GROUP_ACTIONS << 9) | 0x0 - .set EC_WORD_CONCEDE, (EC_GROUP_ACTIONS << 9) | 0x1 - .set EC_WORD_GIVE, (EC_GROUP_ACTIONS << 9) | 0x2 - .set EC_WORD_GIVES, (EC_GROUP_ACTIONS << 9) | 0x3 - .set EC_WORD_PLAYED, (EC_GROUP_ACTIONS << 9) | 0x4 - .set EC_WORD_PLAYS, (EC_GROUP_ACTIONS << 9) | 0x5 - .set EC_WORD_COLLECT, (EC_GROUP_ACTIONS << 9) | 0x6 - .set EC_WORD_WALKING, (EC_GROUP_ACTIONS << 9) | 0x7 - .set EC_WORD_WALKS, (EC_GROUP_ACTIONS << 9) | 0x8 - .set EC_WORD_SAYS, (EC_GROUP_ACTIONS << 9) | 0x9 - .set EC_WORD_WENT, (EC_GROUP_ACTIONS << 9) | 0xa - .set EC_WORD_SAID, (EC_GROUP_ACTIONS << 9) | 0xb - .set EC_WORD_WAKE_UP, (EC_GROUP_ACTIONS << 9) | 0xc - .set EC_WORD_WAKES_UP, (EC_GROUP_ACTIONS << 9) | 0xd - .set EC_WORD_ANGERS, (EC_GROUP_ACTIONS << 9) | 0xe - .set EC_WORD_TEACH, (EC_GROUP_ACTIONS << 9) | 0xf - .set EC_WORD_TEACHES, (EC_GROUP_ACTIONS << 9) | 0x10 - .set EC_WORD_PLEASE, (EC_GROUP_ACTIONS << 9) | 0x11 - .set EC_WORD_LEARN, (EC_GROUP_ACTIONS << 9) | 0x12 - .set EC_WORD_CHANGE, (EC_GROUP_ACTIONS << 9) | 0x13 - .set EC_WORD_STORY, (EC_GROUP_ACTIONS << 9) | 0x14 - .set EC_WORD_TRUST, (EC_GROUP_ACTIONS << 9) | 0x15 - .set EC_WORD_LAVISH, (EC_GROUP_ACTIONS << 9) | 0x16 - .set EC_WORD_LISTENS, (EC_GROUP_ACTIONS << 9) | 0x17 - .set EC_WORD_HEARING, (EC_GROUP_ACTIONS << 9) | 0x18 - .set EC_WORD_TRAINS, (EC_GROUP_ACTIONS << 9) | 0x19 - .set EC_WORD_CHOOSE, (EC_GROUP_ACTIONS << 9) | 0x1a - .set EC_WORD_COME, (EC_GROUP_ACTIONS << 9) | 0x1b - .set EC_WORD_CAME, (EC_GROUP_ACTIONS << 9) | 0x1c - .set EC_WORD_SEARCH, (EC_GROUP_ACTIONS << 9) | 0x1d - .set EC_WORD_MAKE, (EC_GROUP_ACTIONS << 9) | 0x1e - .set EC_WORD_CAUSE, (EC_GROUP_ACTIONS << 9) | 0x1f - .set EC_WORD_KNOW, (EC_GROUP_ACTIONS << 9) | 0x20 - .set EC_WORD_KNOWS, (EC_GROUP_ACTIONS << 9) | 0x21 - .set EC_WORD_REFUSE, (EC_GROUP_ACTIONS << 9) | 0x22 - .set EC_WORD_STORES, (EC_GROUP_ACTIONS << 9) | 0x23 - .set EC_WORD_BRAG, (EC_GROUP_ACTIONS << 9) | 0x24 - .set EC_WORD_IGNORANT, (EC_GROUP_ACTIONS << 9) | 0x25 - .set EC_WORD_THINKS, (EC_GROUP_ACTIONS << 9) | 0x26 - .set EC_WORD_BELIEVE, (EC_GROUP_ACTIONS << 9) | 0x27 - .set EC_WORD_SLIDE, (EC_GROUP_ACTIONS << 9) | 0x28 - .set EC_WORD_EATS, (EC_GROUP_ACTIONS << 9) | 0x29 - .set EC_WORD_USE, (EC_GROUP_ACTIONS << 9) | 0x2a - .set EC_WORD_USES, (EC_GROUP_ACTIONS << 9) | 0x2b - .set EC_WORD_USING, (EC_GROUP_ACTIONS << 9) | 0x2c - .set EC_WORD_COULDN_T, (EC_GROUP_ACTIONS << 9) | 0x2d - .set EC_WORD_CAPABLE, (EC_GROUP_ACTIONS << 9) | 0x2e - .set EC_WORD_DISAPPEAR, (EC_GROUP_ACTIONS << 9) | 0x2f - .set EC_WORD_APPEAR, (EC_GROUP_ACTIONS << 9) | 0x30 - .set EC_WORD_THROW, (EC_GROUP_ACTIONS << 9) | 0x31 - .set EC_WORD_WORRY, (EC_GROUP_ACTIONS << 9) | 0x32 - .set EC_WORD_SLEPT, (EC_GROUP_ACTIONS << 9) | 0x33 - .set EC_WORD_SLEEP, (EC_GROUP_ACTIONS << 9) | 0x34 - .set EC_WORD_RELEASE, (EC_GROUP_ACTIONS << 9) | 0x35 - .set EC_WORD_DRINKS, (EC_GROUP_ACTIONS << 9) | 0x36 - .set EC_WORD_RUNS, (EC_GROUP_ACTIONS << 9) | 0x37 - .set EC_WORD_RUN, (EC_GROUP_ACTIONS << 9) | 0x38 - .set EC_WORD_WORKS, (EC_GROUP_ACTIONS << 9) | 0x39 - .set EC_WORD_WORKING, (EC_GROUP_ACTIONS << 9) | 0x3a - .set EC_WORD_TALKING, (EC_GROUP_ACTIONS << 9) | 0x3b - .set EC_WORD_TALK, (EC_GROUP_ACTIONS << 9) | 0x3c - .set EC_WORD_SINK, (EC_GROUP_ACTIONS << 9) | 0x3d - .set EC_WORD_SMACK, (EC_GROUP_ACTIONS << 9) | 0x3e - .set EC_WORD_PRETEND, (EC_GROUP_ACTIONS << 9) | 0x3f - .set EC_WORD_PRAISE, (EC_GROUP_ACTIONS << 9) | 0x40 - .set EC_WORD_OVERDO, (EC_GROUP_ACTIONS << 9) | 0x41 - .set EC_WORD_SHOW, (EC_GROUP_ACTIONS << 9) | 0x42 - .set EC_WORD_LOOKS, (EC_GROUP_ACTIONS << 9) | 0x43 - .set EC_WORD_SEES, (EC_GROUP_ACTIONS << 9) | 0x44 - .set EC_WORD_SEEK, (EC_GROUP_ACTIONS << 9) | 0x45 - .set EC_WORD_OWN, (EC_GROUP_ACTIONS << 9) | 0x46 - .set EC_WORD_TAKE, (EC_GROUP_ACTIONS << 9) | 0x47 - .set EC_WORD_ALLOW, (EC_GROUP_ACTIONS << 9) | 0x48 - .set EC_WORD_FORGET, (EC_GROUP_ACTIONS << 9) | 0x49 - .set EC_WORD_FORGETS, (EC_GROUP_ACTIONS << 9) | 0x4a - .set EC_WORD_APPEARS, (EC_GROUP_ACTIONS << 9) | 0x4b - .set EC_WORD_FAINT, (EC_GROUP_ACTIONS << 9) | 0x4c - .set EC_WORD_FAINTED, (EC_GROUP_ACTIONS << 9) | 0x4d - -@ Lifestyle - .set EC_WORD_CHORES, (EC_GROUP_LIFESTYLE << 9) | 0x0 - .set EC_WORD_HOME, (EC_GROUP_LIFESTYLE << 9) | 0x1 - .set EC_WORD_MONEY, (EC_GROUP_LIFESTYLE << 9) | 0x2 - .set EC_WORD_ALLOWANCE, (EC_GROUP_LIFESTYLE << 9) | 0x3 - .set EC_WORD_BATH, (EC_GROUP_LIFESTYLE << 9) | 0x4 - .set EC_WORD_CONVERSATION, (EC_GROUP_LIFESTYLE << 9) | 0x5 - .set EC_WORD_SCHOOL, (EC_GROUP_LIFESTYLE << 9) | 0x6 - .set EC_WORD_COMMEMORATE, (EC_GROUP_LIFESTYLE << 9) | 0x7 - .set EC_WORD_HABIT, (EC_GROUP_LIFESTYLE << 9) | 0x8 - .set EC_WORD_GROUP, (EC_GROUP_LIFESTYLE << 9) | 0x9 - .set EC_WORD_WORD, (EC_GROUP_LIFESTYLE << 9) | 0xa - .set EC_WORD_STORE, (EC_GROUP_LIFESTYLE << 9) | 0xb - .set EC_WORD_SERVICE, (EC_GROUP_LIFESTYLE << 9) | 0xc - .set EC_WORD_WORK, (EC_GROUP_LIFESTYLE << 9) | 0xd - .set EC_WORD_SYSTEM, (EC_GROUP_LIFESTYLE << 9) | 0xe - .set EC_WORD_TRAIN, (EC_GROUP_LIFESTYLE << 9) | 0xf - .set EC_WORD_CLASS, (EC_GROUP_LIFESTYLE << 9) | 0x10 - .set EC_WORD_LESSONS, (EC_GROUP_LIFESTYLE << 9) | 0x11 - .set EC_WORD_INFORMATION, (EC_GROUP_LIFESTYLE << 9) | 0x12 - .set EC_WORD_LIVING, (EC_GROUP_LIFESTYLE << 9) | 0x13 - .set EC_WORD_TEACHER, (EC_GROUP_LIFESTYLE << 9) | 0x14 - .set EC_WORD_TOURNAMENT, (EC_GROUP_LIFESTYLE << 9) | 0x15 - .set EC_WORD_LETTER, (EC_GROUP_LIFESTYLE << 9) | 0x16 - .set EC_WORD_EVENT, (EC_GROUP_LIFESTYLE << 9) | 0x17 - .set EC_WORD_DIGITAL, (EC_GROUP_LIFESTYLE << 9) | 0x18 - .set EC_WORD_TEST, (EC_GROUP_LIFESTYLE << 9) | 0x19 - .set EC_WORD_DEPT_STORE, (EC_GROUP_LIFESTYLE << 9) | 0x1a - .set EC_WORD_TELEVISION, (EC_GROUP_LIFESTYLE << 9) | 0x1b - .set EC_WORD_PHONE, (EC_GROUP_LIFESTYLE << 9) | 0x1c - .set EC_WORD_ITEM, (EC_GROUP_LIFESTYLE << 9) | 0x1d - .set EC_WORD_NAME, (EC_GROUP_LIFESTYLE << 9) | 0x1e - .set EC_WORD_NEWS, (EC_GROUP_LIFESTYLE << 9) | 0x1f - .set EC_WORD_POPULAR, (EC_GROUP_LIFESTYLE << 9) | 0x20 - .set EC_WORD_PARTY, (EC_GROUP_LIFESTYLE << 9) | 0x21 - .set EC_WORD_STUDY, (EC_GROUP_LIFESTYLE << 9) | 0x22 - .set EC_WORD_MACHINE, (EC_GROUP_LIFESTYLE << 9) | 0x23 - .set EC_WORD_MAIL, (EC_GROUP_LIFESTYLE << 9) | 0x24 - .set EC_WORD_MESSAGE, (EC_GROUP_LIFESTYLE << 9) | 0x25 - .set EC_WORD_PROMISE, (EC_GROUP_LIFESTYLE << 9) | 0x26 - .set EC_WORD_DREAM, (EC_GROUP_LIFESTYLE << 9) | 0x27 - .set EC_WORD_KINDERGARTEN, (EC_GROUP_LIFESTYLE << 9) | 0x28 - .set EC_WORD_LIFE, (EC_GROUP_LIFESTYLE << 9) | 0x29 - .set EC_WORD_RADIO, (EC_GROUP_LIFESTYLE << 9) | 0x2a - .set EC_WORD_RENTAL, (EC_GROUP_LIFESTYLE << 9) | 0x2b - .set EC_WORD_WORLD, (EC_GROUP_LIFESTYLE << 9) | 0x2c - -@ Hobbies - .set EC_WORD_IDOL, (EC_GROUP_HOBBIES << 9) | 0x0 - .set EC_WORD_ANIME, (EC_GROUP_HOBBIES << 9) | 0x1 - .set EC_WORD_SONG, (EC_GROUP_HOBBIES << 9) | 0x2 - .set EC_WORD_MOVIE, (EC_GROUP_HOBBIES << 9) | 0x3 - .set EC_WORD_SWEETS, (EC_GROUP_HOBBIES << 9) | 0x4 - .set EC_WORD_CHAT, (EC_GROUP_HOBBIES << 9) | 0x5 - .set EC_WORD_CHILD_S_PLAY, (EC_GROUP_HOBBIES << 9) | 0x6 - .set EC_WORD_TOYS, (EC_GROUP_HOBBIES << 9) | 0x7 - .set EC_WORD_MUSIC, (EC_GROUP_HOBBIES << 9) | 0x8 - .set EC_WORD_CARDS, (EC_GROUP_HOBBIES << 9) | 0x9 - .set EC_WORD_SHOPPING, (EC_GROUP_HOBBIES << 9) | 0xa - .set EC_WORD_CAMERA, (EC_GROUP_HOBBIES << 9) | 0xb - .set EC_WORD_VIEWING, (EC_GROUP_HOBBIES << 9) | 0xc - .set EC_WORD_SPECTATOR, (EC_GROUP_HOBBIES << 9) | 0xd - .set EC_WORD_GOURMET, (EC_GROUP_HOBBIES << 9) | 0xe - .set EC_WORD_GAME, (EC_GROUP_HOBBIES << 9) | 0xf - .set EC_WORD_RPG, (EC_GROUP_HOBBIES << 9) | 0x10 - .set EC_WORD_COLLECTION, (EC_GROUP_HOBBIES << 9) | 0x11 - .set EC_WORD_COMPLETE, (EC_GROUP_HOBBIES << 9) | 0x12 - .set EC_WORD_MAGAZINE, (EC_GROUP_HOBBIES << 9) | 0x13 - .set EC_WORD_WALK, (EC_GROUP_HOBBIES << 9) | 0x14 - .set EC_WORD_BIKE, (EC_GROUP_HOBBIES << 9) | 0x15 - .set EC_WORD_HOBBY, (EC_GROUP_HOBBIES << 9) | 0x16 - .set EC_WORD_SPORTS, (EC_GROUP_HOBBIES << 9) | 0x17 - .set EC_WORD_SOFTWARE, (EC_GROUP_HOBBIES << 9) | 0x18 - .set EC_WORD_SONGS, (EC_GROUP_HOBBIES << 9) | 0x19 - .set EC_WORD_DIET, (EC_GROUP_HOBBIES << 9) | 0x1a - .set EC_WORD_TREASURE, (EC_GROUP_HOBBIES << 9) | 0x1b - .set EC_WORD_TRAVEL, (EC_GROUP_HOBBIES << 9) | 0x1c - .set EC_WORD_DANCE, (EC_GROUP_HOBBIES << 9) | 0x1d - .set EC_WORD_CHANNEL, (EC_GROUP_HOBBIES << 9) | 0x1e - .set EC_WORD_MAKING, (EC_GROUP_HOBBIES << 9) | 0x1f - .set EC_WORD_FISHING, (EC_GROUP_HOBBIES << 9) | 0x20 - .set EC_WORD_DATE, (EC_GROUP_HOBBIES << 9) | 0x21 - .set EC_WORD_DESIGN, (EC_GROUP_HOBBIES << 9) | 0x22 - .set EC_WORD_LOCOMOTIVE, (EC_GROUP_HOBBIES << 9) | 0x23 - .set EC_WORD_PLUSH_DOLL, (EC_GROUP_HOBBIES << 9) | 0x24 - .set EC_WORD_PC, (EC_GROUP_HOBBIES << 9) | 0x25 - .set EC_WORD_FLOWERS, (EC_GROUP_HOBBIES << 9) | 0x26 - .set EC_WORD_HERO, (EC_GROUP_HOBBIES << 9) | 0x27 - .set EC_WORD_NAP, (EC_GROUP_HOBBIES << 9) | 0x28 - .set EC_WORD_HEROINE, (EC_GROUP_HOBBIES << 9) | 0x29 - .set EC_WORD_FASHION, (EC_GROUP_HOBBIES << 9) | 0x2a - .set EC_WORD_ADVENTURE, (EC_GROUP_HOBBIES << 9) | 0x2b - .set EC_WORD_BOARD, (EC_GROUP_HOBBIES << 9) | 0x2c - .set EC_WORD_BALL, (EC_GROUP_HOBBIES << 9) | 0x2d - .set EC_WORD_BOOK, (EC_GROUP_HOBBIES << 9) | 0x2e - .set EC_WORD_FESTIVAL, (EC_GROUP_HOBBIES << 9) | 0x2f - .set EC_WORD_COMICS, (EC_GROUP_HOBBIES << 9) | 0x30 - .set EC_WORD_HOLIDAY, (EC_GROUP_HOBBIES << 9) | 0x31 - .set EC_WORD_PLANS, (EC_GROUP_HOBBIES << 9) | 0x32 - .set EC_WORD_TRENDY, (EC_GROUP_HOBBIES << 9) | 0x33 - .set EC_WORD_VACATION, (EC_GROUP_HOBBIES << 9) | 0x34 - .set EC_WORD_LOOK, (EC_GROUP_HOBBIES << 9) | 0x35 - -@ Time - .set EC_WORD_FALL, (EC_GROUP_TIME << 9) | 0x0 - .set EC_WORD_MORNING, (EC_GROUP_TIME << 9) | 0x1 - .set EC_WORD_TOMORROW, (EC_GROUP_TIME << 9) | 0x2 - .set EC_WORD_LAST, (EC_GROUP_TIME << 9) | 0x3 - .set EC_WORD_DAY, (EC_GROUP_TIME << 9) | 0x4 - .set EC_WORD_SOMETIME, (EC_GROUP_TIME << 9) | 0x5 - .set EC_WORD_ALWAYS, (EC_GROUP_TIME << 9) | 0x6 - .set EC_WORD_CURRENT, (EC_GROUP_TIME << 9) | 0x7 - .set EC_WORD_FOREVER, (EC_GROUP_TIME << 9) | 0x8 - .set EC_WORD_DAYS, (EC_GROUP_TIME << 9) | 0x9 - .set EC_WORD_END, (EC_GROUP_TIME << 9) | 0xa - .set EC_WORD_TUESDAY, (EC_GROUP_TIME << 9) | 0xb - .set EC_WORD_YESTERDAY, (EC_GROUP_TIME << 9) | 0xc - .set EC_WORD_TODAY, (EC_GROUP_TIME << 9) | 0xd - .set EC_WORD_FRIDAY, (EC_GROUP_TIME << 9) | 0xe - .set EC_WORD_MONDAY, (EC_GROUP_TIME << 9) | 0xf - .set EC_WORD_LATER, (EC_GROUP_TIME << 9) | 0x10 - .set EC_WORD_EARLIER, (EC_GROUP_TIME << 9) | 0x11 - .set EC_WORD_ANOTHER, (EC_GROUP_TIME << 9) | 0x12 - .set EC_WORD_TIME, (EC_GROUP_TIME << 9) | 0x13 - .set EC_WORD_FINISH, (EC_GROUP_TIME << 9) | 0x14 - .set EC_WORD_WEDNESDAY, (EC_GROUP_TIME << 9) | 0x15 - .set EC_WORD_SOON, (EC_GROUP_TIME << 9) | 0x16 - .set EC_WORD_START, (EC_GROUP_TIME << 9) | 0x17 - .set EC_WORD_MONTH, (EC_GROUP_TIME << 9) | 0x18 - .set EC_WORD_STOP, (EC_GROUP_TIME << 9) | 0x19 - .set EC_WORD_NOW, (EC_GROUP_TIME << 9) | 0x1a - .set EC_WORD_FINAL, (EC_GROUP_TIME << 9) | 0x1b - .set EC_WORD_NEXT, (EC_GROUP_TIME << 9) | 0x1c - .set EC_WORD_AGE, (EC_GROUP_TIME << 9) | 0x1d - .set EC_WORD_SATURDAY, (EC_GROUP_TIME << 9) | 0x1e - .set EC_WORD_SUMMER, (EC_GROUP_TIME << 9) | 0x1f - .set EC_WORD_SUNDAY, (EC_GROUP_TIME << 9) | 0x20 - .set EC_WORD_BEGINNING, (EC_GROUP_TIME << 9) | 0x21 - .set EC_WORD_SPRING, (EC_GROUP_TIME << 9) | 0x22 - .set EC_WORD_DAYTIME, (EC_GROUP_TIME << 9) | 0x23 - .set EC_WORD_WINTER, (EC_GROUP_TIME << 9) | 0x24 - .set EC_WORD_DAILY, (EC_GROUP_TIME << 9) | 0x25 - .set EC_WORD_OLDEN, (EC_GROUP_TIME << 9) | 0x26 - .set EC_WORD_ALMOST, (EC_GROUP_TIME << 9) | 0x27 - .set EC_WORD_NEARLY, (EC_GROUP_TIME << 9) | 0x28 - .set EC_WORD_THURSDAY, (EC_GROUP_TIME << 9) | 0x29 - .set EC_WORD_NIGHTTIME, (EC_GROUP_TIME << 9) | 0x2a - .set EC_WORD_NIGHT, (EC_GROUP_TIME << 9) | 0x2b - .set EC_WORD_WEEK, (EC_GROUP_TIME << 9) | 0x2c - -@ Misc. - .set EC_WORD_HIGHS, (EC_GROUP_MISC << 9) | 0x0 - .set EC_WORD_LOWS, (EC_GROUP_MISC << 9) | 0x1 - .set EC_WORD_UM, (EC_GROUP_MISC << 9) | 0x2 - .set EC_WORD_REAR, (EC_GROUP_MISC << 9) | 0x3 - .set EC_WORD_THINGS, (EC_GROUP_MISC << 9) | 0x4 - .set EC_WORD_THING, (EC_GROUP_MISC << 9) | 0x5 - .set EC_WORD_BELOW, (EC_GROUP_MISC << 9) | 0x6 - .set EC_WORD_ABOVE, (EC_GROUP_MISC << 9) | 0x7 - .set EC_WORD_BACK, (EC_GROUP_MISC << 9) | 0x8 - .set EC_WORD_HIGH, (EC_GROUP_MISC << 9) | 0x9 - .set EC_WORD_HERE, (EC_GROUP_MISC << 9) | 0xa - .set EC_WORD_INSIDE, (EC_GROUP_MISC << 9) | 0xb - .set EC_WORD_OUTSIDE, (EC_GROUP_MISC << 9) | 0xc - .set EC_WORD_BESIDE, (EC_GROUP_MISC << 9) | 0xd - .set EC_WORD_THIS_IS_IT_EXCL, (EC_GROUP_MISC << 9) | 0xe - .set EC_WORD_THIS, (EC_GROUP_MISC << 9) | 0xf - .set EC_WORD_EVERY, (EC_GROUP_MISC << 9) | 0x10 - .set EC_WORD_THESE, (EC_GROUP_MISC << 9) | 0x11 - .set EC_WORD_THESE_WERE, (EC_GROUP_MISC << 9) | 0x12 - .set EC_WORD_DOWN, (EC_GROUP_MISC << 9) | 0x13 - .set EC_WORD_THAT, (EC_GROUP_MISC << 9) | 0x14 - .set EC_WORD_THOSE_ARE, (EC_GROUP_MISC << 9) | 0x15 - .set EC_WORD_THOSE_WERE, (EC_GROUP_MISC << 9) | 0x16 - .set EC_WORD_THAT_S_IT_EXCL, (EC_GROUP_MISC << 9) | 0x17 - .set EC_WORD_AM, (EC_GROUP_MISC << 9) | 0x18 - .set EC_WORD_THAT_WAS, (EC_GROUP_MISC << 9) | 0x19 - .set EC_WORD_FRONT, (EC_GROUP_MISC << 9) | 0x1a - .set EC_WORD_UP, (EC_GROUP_MISC << 9) | 0x1b - .set EC_WORD_CHOICE, (EC_GROUP_MISC << 9) | 0x1c - .set EC_WORD_FAR, (EC_GROUP_MISC << 9) | 0x1d - .set EC_WORD_AWAY, (EC_GROUP_MISC << 9) | 0x1e - .set EC_WORD_NEAR, (EC_GROUP_MISC << 9) | 0x1f - .set EC_WORD_WHERE, (EC_GROUP_MISC << 9) | 0x20 - .set EC_WORD_WHEN, (EC_GROUP_MISC << 9) | 0x21 - .set EC_WORD_WHAT, (EC_GROUP_MISC << 9) | 0x22 - .set EC_WORD_DEEP, (EC_GROUP_MISC << 9) | 0x23 - .set EC_WORD_SHALLOW, (EC_GROUP_MISC << 9) | 0x24 - .set EC_WORD_WHY, (EC_GROUP_MISC << 9) | 0x25 - .set EC_WORD_CONFUSED, (EC_GROUP_MISC << 9) | 0x26 - .set EC_WORD_OPPOSITE, (EC_GROUP_MISC << 9) | 0x27 - .set EC_WORD_LEFT, (EC_GROUP_MISC << 9) | 0x28 - .set EC_WORD_RIGHT, (EC_GROUP_MISC << 9) | 0x29 - -@ Adjectives - .set EC_WORD_WANDERING, (EC_GROUP_ADJECTIVES << 9) | 0x0 - .set EC_WORD_RICKETY, (EC_GROUP_ADJECTIVES << 9) | 0x1 - .set EC_WORD_ROCK_SOLID, (EC_GROUP_ADJECTIVES << 9) | 0x2 - .set EC_WORD_HUNGRY, (EC_GROUP_ADJECTIVES << 9) | 0x3 - .set EC_WORD_TIGHT, (EC_GROUP_ADJECTIVES << 9) | 0x4 - .set EC_WORD_TICKLISH, (EC_GROUP_ADJECTIVES << 9) | 0x5 - .set EC_WORD_TWIRLING, (EC_GROUP_ADJECTIVES << 9) | 0x6 - .set EC_WORD_SPIRALING, (EC_GROUP_ADJECTIVES << 9) | 0x7 - .set EC_WORD_THIRSTY, (EC_GROUP_ADJECTIVES << 9) | 0x8 - .set EC_WORD_LOLLING, (EC_GROUP_ADJECTIVES << 9) | 0x9 - .set EC_WORD_SILKY, (EC_GROUP_ADJECTIVES << 9) | 0xa - .set EC_WORD_SADLY, (EC_GROUP_ADJECTIVES << 9) | 0xb - .set EC_WORD_HOPELESS, (EC_GROUP_ADJECTIVES << 9) | 0xc - .set EC_WORD_USELESS, (EC_GROUP_ADJECTIVES << 9) | 0xd - .set EC_WORD_DROOLING, (EC_GROUP_ADJECTIVES << 9) | 0xe - .set EC_WORD_EXCITING, (EC_GROUP_ADJECTIVES << 9) | 0xf - .set EC_WORD_THICK, (EC_GROUP_ADJECTIVES << 9) | 0x10 - .set EC_WORD_SMOOTH, (EC_GROUP_ADJECTIVES << 9) | 0x11 - .set EC_WORD_SLIMY, (EC_GROUP_ADJECTIVES << 9) | 0x12 - .set EC_WORD_THIN, (EC_GROUP_ADJECTIVES << 9) | 0x13 - .set EC_WORD_BREAK, (EC_GROUP_ADJECTIVES << 9) | 0x14 - .set EC_WORD_VORACIOUS, (EC_GROUP_ADJECTIVES << 9) | 0x15 - .set EC_WORD_SCATTER, (EC_GROUP_ADJECTIVES << 9) | 0x16 - .set EC_WORD_AWESOME, (EC_GROUP_ADJECTIVES << 9) | 0x17 - .set EC_WORD_WIMPY, (EC_GROUP_ADJECTIVES << 9) | 0x18 - .set EC_WORD_WOBBLY, (EC_GROUP_ADJECTIVES << 9) | 0x19 - .set EC_WORD_SHAKY, (EC_GROUP_ADJECTIVES << 9) | 0x1a - .set EC_WORD_RIPPED, (EC_GROUP_ADJECTIVES << 9) | 0x1b - .set EC_WORD_SHREDDED, (EC_GROUP_ADJECTIVES << 9) | 0x1c - .set EC_WORD_INCREASING, (EC_GROUP_ADJECTIVES << 9) | 0x1d - .set EC_WORD_YET, (EC_GROUP_ADJECTIVES << 9) | 0x1e - .set EC_WORD_DESTROYED, (EC_GROUP_ADJECTIVES << 9) | 0x1f - .set EC_WORD_FIERY, (EC_GROUP_ADJECTIVES << 9) | 0x20 - .set EC_WORD_LOVEY_DOVEY, (EC_GROUP_ADJECTIVES << 9) | 0x21 - .set EC_WORD_HAPPILY, (EC_GROUP_ADJECTIVES << 9) | 0x22 - .set EC_WORD_ANTICIPATION, (EC_GROUP_ADJECTIVES << 9) | 0x23 - -@ Events - .set EC_WORD_APPEAL, (EC_GROUP_EVENTS << 9) | 0x0 - .set EC_WORD_EVENTS, (EC_GROUP_EVENTS << 9) | 0x1 - .set EC_WORD_STAY_AT_HOME, (EC_GROUP_EVENTS << 9) | 0x2 - .set EC_WORD_BERRY, (EC_GROUP_EVENTS << 9) | 0x3 - .set EC_WORD_CONTEST, (EC_GROUP_EVENTS << 9) | 0x4 - .set EC_WORD_MC, (EC_GROUP_EVENTS << 9) | 0x5 - .set EC_WORD_JUDGE, (EC_GROUP_EVENTS << 9) | 0x6 - .set EC_WORD_SUPER, (EC_GROUP_EVENTS << 9) | 0x7 - .set EC_WORD_STAGE, (EC_GROUP_EVENTS << 9) | 0x8 - .set EC_WORD_HALL_OF_FAME, (EC_GROUP_EVENTS << 9) | 0x9 - .set EC_WORD_EVOLUTION, (EC_GROUP_EVENTS << 9) | 0xa - .set EC_WORD_HYPER, (EC_GROUP_EVENTS << 9) | 0xb - .set EC_WORD_BATTLE_TOWER, (EC_GROUP_EVENTS << 9) | 0xc - .set EC_WORD_LEADERS, (EC_GROUP_EVENTS << 9) | 0xd - .set EC_WORD_BATTLE_ROOM, (EC_GROUP_EVENTS << 9) | 0xe - .set EC_WORD_HIDDEN, (EC_GROUP_EVENTS << 9) | 0xf - .set EC_WORD_SECRET_BASE, (EC_GROUP_EVENTS << 9) | 0x10 - .set EC_WORD_BLEND, (EC_GROUP_EVENTS << 9) | 0x11 - .set EC_WORD_POKEBLOCK, (EC_GROUP_EVENTS << 9) | 0x12 - .set EC_WORD_MASTER, (EC_GROUP_EVENTS << 9) | 0x13 - .set EC_WORD_RANK, (EC_GROUP_EVENTS << 9) | 0x14 - .set EC_WORD_RIBBON, (EC_GROUP_EVENTS << 9) | 0x15 - .set EC_WORD_CRUSH, (EC_GROUP_EVENTS << 9) | 0x16 - .set EC_WORD_DIRECT, (EC_GROUP_EVENTS << 9) | 0x17 - .set EC_WORD_TOWER, (EC_GROUP_EVENTS << 9) | 0x18 - .set EC_WORD_UNION, (EC_GROUP_EVENTS << 9) | 0x19 - .set EC_WORD_ROOM, (EC_GROUP_EVENTS << 9) | 0x1a - .set EC_WORD_WIRELESS, (EC_GROUP_EVENTS << 9) | 0x1b - .set EC_WORD_FRONTIER, (EC_GROUP_EVENTS << 9) | 0x1c - -@ Trendy Saying - .set EC_WORD_KTHX_BYE, (EC_GROUP_TRENDY_SAYING << 9) | 0x0 - .set EC_WORD_YES_SIR_EXCL, (EC_GROUP_TRENDY_SAYING << 9) | 0x1 - .set EC_WORD_AVANT_GARDE, (EC_GROUP_TRENDY_SAYING << 9) | 0x2 - .set EC_WORD_COUPLE, (EC_GROUP_TRENDY_SAYING << 9) | 0x3 - .set EC_WORD_MUCH_OBLIGED, (EC_GROUP_TRENDY_SAYING << 9) | 0x4 - .set EC_WORD_YEEHAW_EXCL, (EC_GROUP_TRENDY_SAYING << 9) | 0x5 - .set EC_WORD_MEGA, (EC_GROUP_TRENDY_SAYING << 9) | 0x6 - .set EC_WORD_1_HIT_KO_EXCL, (EC_GROUP_TRENDY_SAYING << 9) | 0x7 - .set EC_WORD_DESTINY, (EC_GROUP_TRENDY_SAYING << 9) | 0x8 - .set EC_WORD_CANCEL, (EC_GROUP_TRENDY_SAYING << 9) | 0x9 - .set EC_WORD_NEW, (EC_GROUP_TRENDY_SAYING << 9) | 0xa - .set EC_WORD_FLATTEN, (EC_GROUP_TRENDY_SAYING << 9) | 0xb - .set EC_WORD_KIDDING, (EC_GROUP_TRENDY_SAYING << 9) | 0xc - .set EC_WORD_LOSER, (EC_GROUP_TRENDY_SAYING << 9) | 0xd - .set EC_WORD_LOSING, (EC_GROUP_TRENDY_SAYING << 9) | 0xe - .set EC_WORD_HAPPENING, (EC_GROUP_TRENDY_SAYING << 9) | 0xf - .set EC_WORD_HIP_AND, (EC_GROUP_TRENDY_SAYING << 9) | 0x10 - .set EC_WORD_SHAKE, (EC_GROUP_TRENDY_SAYING << 9) | 0x11 - .set EC_WORD_SHADY, (EC_GROUP_TRENDY_SAYING << 9) | 0x12 - .set EC_WORD_UPBEAT, (EC_GROUP_TRENDY_SAYING << 9) | 0x13 - .set EC_WORD_MODERN, (EC_GROUP_TRENDY_SAYING << 9) | 0x14 - .set EC_WORD_SMELL_YA, (EC_GROUP_TRENDY_SAYING << 9) | 0x15 - .set EC_WORD_BANG, (EC_GROUP_TRENDY_SAYING << 9) | 0x16 - .set EC_WORD_KNOCKOUT, (EC_GROUP_TRENDY_SAYING << 9) | 0x17 - .set EC_WORD_HASSLE, (EC_GROUP_TRENDY_SAYING << 9) | 0x18 - .set EC_WORD_WINNER, (EC_GROUP_TRENDY_SAYING << 9) | 0x19 - .set EC_WORD_FEVER, (EC_GROUP_TRENDY_SAYING << 9) | 0x1a - .set EC_WORD_WANNABE, (EC_GROUP_TRENDY_SAYING << 9) | 0x1b - .set EC_WORD_BABY, (EC_GROUP_TRENDY_SAYING << 9) | 0x1c - .set EC_WORD_HEART, (EC_GROUP_TRENDY_SAYING << 9) | 0x1d - .set EC_WORD_OLD, (EC_GROUP_TRENDY_SAYING << 9) | 0x1e - .set EC_WORD_YOUNG, (EC_GROUP_TRENDY_SAYING << 9) | 0x1f - .set EC_WORD_UGLY, (EC_GROUP_TRENDY_SAYING << 9) | 0x20 - diff --git a/constants/field_object_constants.inc b/constants/field_object_constants.inc deleted file mode 100644 index 50cdbd8484..0000000000 --- a/constants/field_object_constants.inc +++ /dev/null @@ -1,251 +0,0 @@ - .set FIELD_OBJ_GFX_BRENDAN_NORMAL, 0 - .set FIELD_OBJ_GFX_BRENDAN_MACH_BIKE, 1 - .set FIELD_OBJ_GFX_BRENDAN_SURFING, 2 - .set FIELD_OBJ_GFX_BRENDAN_FIELD_MOVE, 3 - .set FIELD_OBJ_GFX_QUINTY_PLUMP, 4 - .set FIELD_OBJ_GFX_LITTLE_BOY_1, 5 - .set FIELD_OBJ_GFX_LITTLE_GIRL_1, 6 - .set FIELD_OBJ_GFX_BOY_1, 7 - .set FIELD_OBJ_GFX_GIRL_1, 8 - .set FIELD_OBJ_GFX_BOY_2, 9 - .set FIELD_OBJ_GFX_GIRL_2, 10 - .set FIELD_OBJ_GFX_LITTLE_BOY_2, 11 - .set FIELD_OBJ_GFX_LITTLE_GIRL_2, 12 - .set FIELD_OBJ_GFX_BOY_3, 13 - .set FIELD_OBJ_GFX_GIRL_3, 14 - .set FIELD_OBJ_GFX_BOY_4, 15 - .set FIELD_OBJ_GFX_WOMAN_1, 16 - .set FIELD_OBJ_GFX_FAT_MAN, 17 - .set FIELD_OBJ_GFX_WOMAN_2, 18 - .set FIELD_OBJ_GFX_MAN_1, 19 - .set FIELD_OBJ_GFX_WOMAN_3, 20 - .set FIELD_OBJ_GFX_OLD_MAN_1, 21 - .set FIELD_OBJ_GFX_OLD_WOMAN_1, 22 - .set FIELD_OBJ_GFX_MAN_2, 23 - .set FIELD_OBJ_GFX_WOMAN_4, 24 - .set FIELD_OBJ_GFX_MAN_3, 25 - .set FIELD_OBJ_GFX_WOMAN_5, 26 - .set FIELD_OBJ_GFX_COOK, 27 - .set FIELD_OBJ_GFX_WOMAN_6, 28 - .set FIELD_OBJ_GFX_OLD_MAN_2, 29 - .set FIELD_OBJ_GFX_OLD_WOMAN_2, 30 - .set FIELD_OBJ_GFX_CAMPER, 31 - .set FIELD_OBJ_GFX_PICNICKER, 32 - .set FIELD_OBJ_GFX_MAN_4, 33 - .set FIELD_OBJ_GFX_WOMAN_7, 34 - .set FIELD_OBJ_GFX_YOUNGSTER, 35 - .set FIELD_OBJ_GFX_BUG_CATCHER, 36 - .set FIELD_OBJ_GFX_PSYCHIC_M, 37 - .set FIELD_OBJ_GFX_SCHOOL_KID_M, 38 - .set FIELD_OBJ_GFX_MANIAC, 39 - .set FIELD_OBJ_GFX_HEX_MANIAC, 40 - .set FIELD_OBJ_GFX_RAYQUAZA_1, 41 - .set FIELD_OBJ_GFX_SWIMMER_M, 42 - .set FIELD_OBJ_GFX_SWIMMER_F, 43 - .set FIELD_OBJ_GFX_BLACK_BELT, 44 - .set FIELD_OBJ_GFX_BEAUTY, 45 - .set FIELD_OBJ_GFX_SCIENTIST_1, 46 - .set FIELD_OBJ_GFX_LASS, 47 - .set FIELD_OBJ_GFX_GENTLEMAN, 48 - .set FIELD_OBJ_GFX_SAILOR, 49 - .set FIELD_OBJ_GFX_FISHERMAN, 50 - .set FIELD_OBJ_GFX_RUNNING_TRIATHLETE_M, 51 - .set FIELD_OBJ_GFX_RUNNING_TRIATHLETE_F, 52 - .set FIELD_OBJ_GFX_TUBER_F, 53 - .set FIELD_OBJ_GFX_TUBER_M, 54 - .set FIELD_OBJ_GFX_HIKER, 55 - .set FIELD_OBJ_GFX_CYCLING_TRIATHLETE_M, 56 - .set FIELD_OBJ_GFX_CYCLING_TRIATHLETE_F, 57 - .set FIELD_OBJ_GFX_NURSE, 58 - .set FIELD_OBJ_GFX_ITEM_BALL, 59 - .set FIELD_OBJ_GFX_BERRY_TREE, 60 - .set FIELD_OBJ_GFX_BERRY_TREE_EARLY_STAGES, 61 - .set FIELD_OBJ_GFX_BERRY_TREE_LATE_STAGES, 62 - .set FIELD_OBJ_GFX_BRENDAN_ACRO_BIKE, 63 - .set FIELD_OBJ_GFX_PROF_BIRCH, 64 - .set FIELD_OBJ_GFX_MAN_5, 65 - .set FIELD_OBJ_GFX_MAN_6, 66 - .set FIELD_OBJ_GFX_REPORTER_M, 67 - .set FIELD_OBJ_GFX_REPORTER_F, 68 - .set FIELD_OBJ_GFX_MAUVILLE_OLD_MAN, 69 - .set FIELD_OBJ_GFX_ANABEL, 70 - .set FIELD_OBJ_GFX_TUCKER, 71 - .set FIELD_OBJ_GFX_GRETA, 72 - .set FIELD_OBJ_GFX_SPENSER, 73 - .set FIELD_OBJ_GFX_NOLAND, 74 - .set FIELD_OBJ_GFX_LUCY, 75 - .set FIELD_OBJ_GFX_UNUSED_NATU_DOLL, 76 - .set FIELD_OBJ_GFX_UNUSED_MAGNEMITE_DOLL, 77 - .set FIELD_OBJ_GFX_UNUSED_SQUIRTLE_DOLL, 78 - .set FIELD_OBJ_GFX_UNUSED_WOOPER_DOLL, 79 - .set FIELD_OBJ_GFX_UNUSED_PIKACHU_DOLL, 80 - .set FIELD_OBJ_GFX_UNUSED_PORYGON2_DOLL, 81 - .set FIELD_OBJ_GFX_CUTTABLE_TREE, 82 - .set FIELD_OBJ_GFX_MART_EMPLOYEE, 83 - .set FIELD_OBJ_GFX_ROOFTOP_SALE_WOMAN, 84 - .set FIELD_OBJ_GFX_TEALA, 85 - .set FIELD_OBJ_GFX_BREAKABLE_ROCK, 86 - .set FIELD_OBJ_GFX_PUSHABLE_BOULDER, 87 - .set FIELD_OBJ_GFX_MR_BRINEYS_BOAT, 88 - .set FIELD_OBJ_GFX_MAY_NORMAL, 89 - .set FIELD_OBJ_GFX_MAY_MACH_BIKE, 90 - .set FIELD_OBJ_GFX_MAY_ACRO_BIKE, 91 - .set FIELD_OBJ_GFX_MAY_SURFING, 92 - .set FIELD_OBJ_GFX_MAY_FIELD_MOVE, 93 - .set FIELD_OBJ_GFX_TRUCK, 94 - .set FIELD_OBJ_GFX_VIGOROTH_CARRYING_BOX, 95 - .set FIELD_OBJ_GFX_VIGOROTH_FACING_AWAY, 96 - .set FIELD_OBJ_GFX_BIRCHS_BAG, 97 - .set FIELD_OBJ_GFX_ENEMY_ZIGZAGOON, 98 - .set FIELD_OBJ_GFX_ARTIST, 99 - .set FIELD_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 100 - .set FIELD_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE, 101 - .set FIELD_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE, 102 - .set FIELD_OBJ_GFX_RIVAL_BRENDAN_SURFING, 103 - .set FIELD_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE, 104 - .set FIELD_OBJ_GFX_RIVAL_MAY_NORMAL, 105 - .set FIELD_OBJ_GFX_RIVAL_MAY_MACH_BIKE, 106 - .set FIELD_OBJ_GFX_RIVAL_MAY_ACRO_BIKE, 107 - .set FIELD_OBJ_GFX_RIVAL_MAY_SURFING, 108 - .set FIELD_OBJ_GFX_RIVAL_MAY_FIELD_MOVE, 109 - .set FIELD_OBJ_GFX_CAMERAMAN, 110 - .set FIELD_OBJ_GFX_BRENDAN_UNDERWATER, 111 - .set FIELD_OBJ_GFX_MAY_UNDERWATER, 112 - .set FIELD_OBJ_GFX_MOVING_BOX, 113 - .set FIELD_OBJ_GFX_CABLE_CAR, 114 - .set FIELD_OBJ_GFX_SCIENTIST_2, 115 - .set FIELD_OBJ_GFX_MAN_7, 116 - .set FIELD_OBJ_GFX_AQUA_MEMBER_M, 117 - .set FIELD_OBJ_GFX_AQUA_MEMBER_F, 118 - .set FIELD_OBJ_GFX_MAGMA_MEMBER_M, 119 - .set FIELD_OBJ_GFX_MAGMA_MEMBER_F, 120 - .set FIELD_OBJ_GFX_SIDNEY, 121 - .set FIELD_OBJ_GFX_PHOEBE, 122 - .set FIELD_OBJ_GFX_GLACIA, 123 - .set FIELD_OBJ_GFX_DRAKE, 124 - .set FIELD_OBJ_GFX_ROXANNE, 125 - .set FIELD_OBJ_GFX_BRAWLY, 126 - .set FIELD_OBJ_GFX_WATTSON, 127 - .set FIELD_OBJ_GFX_FLANNERY, 128 - .set FIELD_OBJ_GFX_NORMAN, 129 - .set FIELD_OBJ_GFX_WINONA, 130 - .set FIELD_OBJ_GFX_LIZA, 131 - .set FIELD_OBJ_GFX_TATE, 132 - .set FIELD_OBJ_GFX_WALLACE, 133 - .set FIELD_OBJ_GFX_STEVEN, 134 - .set FIELD_OBJ_GFX_WALLY, 135 - .set FIELD_OBJ_GFX_RUBY_SAPPHIRE_LITTLE_BOY, 136 - .set FIELD_OBJ_GFX_BRENDAN_FISHING, 137 - .set FIELD_OBJ_GFX_MAY_FISHING, 138 - .set FIELD_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN, 139 - .set FIELD_OBJ_GFX_SS_TIDAL, 140 - .set FIELD_OBJ_GFX_SUBMARINE_SHADOW, 141 - .set FIELD_OBJ_GFX_PICHU_DOLL, 142 - .set FIELD_OBJ_GFX_PIKACHU_DOLL, 143 - .set FIELD_OBJ_GFX_MARILL_DOLL, 144 - .set FIELD_OBJ_GFX_TOGEPI_DOLL, 145 - .set FIELD_OBJ_GFX_CYNDAQUIL_DOLL, 146 - .set FIELD_OBJ_GFX_CHIKORITA_DOLL, 147 - .set FIELD_OBJ_GFX_TOTODILE_DOLL, 148 - .set FIELD_OBJ_GFX_JIGGLYPUFF_DOLL, 149 - .set FIELD_OBJ_GFX_MEOWTH_DOLL, 150 - .set FIELD_OBJ_GFX_CLEFAIRY_DOLL, 151 - .set FIELD_OBJ_GFX_DITTO_DOLL, 152 - .set FIELD_OBJ_GFX_SMOOCHUM_DOLL, 153 - .set FIELD_OBJ_GFX_TREECKO_DOLL, 154 - .set FIELD_OBJ_GFX_TORCHIC_DOLL, 155 - .set FIELD_OBJ_GFX_MUDKIP_DOLL, 156 - .set FIELD_OBJ_GFX_DUSKULL_DOLL, 157 - .set FIELD_OBJ_GFX_WYNAUT_DOLL, 158 - .set FIELD_OBJ_GFX_BALTOY_DOLL, 159 - .set FIELD_OBJ_GFX_KECLEON_DOLL, 160 - .set FIELD_OBJ_GFX_AZURILL_DOLL, 161 - .set FIELD_OBJ_GFX_SKITTY_DOLL, 162 - .set FIELD_OBJ_GFX_SWABLU_DOLL, 163 - .set FIELD_OBJ_GFX_GULPIN_DOLL, 164 - .set FIELD_OBJ_GFX_LOTAD_DOLL, 165 - .set FIELD_OBJ_GFX_SEEDOT_DOLL, 166 - .set FIELD_OBJ_GFX_PIKA_CUSHION, 167 - .set FIELD_OBJ_GFX_ROUND_CUSHION, 168 - .set FIELD_OBJ_GFX_KISS_CUSHION, 169 - .set FIELD_OBJ_GFX_ZIGZAG_CUSHION, 170 - .set FIELD_OBJ_GFX_SPIN_CUSHION, 171 - .set FIELD_OBJ_GFX_DIAMOND_CUSHION, 172 - .set FIELD_OBJ_GFX_BALL_CUSHION, 173 - .set FIELD_OBJ_GFX_GRASS_CUSHION, 174 - .set FIELD_OBJ_GFX_FIRE_CUSHION, 175 - .set FIELD_OBJ_GFX_WATER_CUSHION, 176 - .set FIELD_OBJ_GFX_BIG_SNORLAX_DOLL, 177 - .set FIELD_OBJ_GFX_BIG_RHYDON_DOLL, 178 - .set FIELD_OBJ_GFX_BIG_LAPRAS_DOLL, 179 - .set FIELD_OBJ_GFX_BIG_VENUSAUR_DOLL, 180 - .set FIELD_OBJ_GFX_BIG_CHARIZARD_DOLL, 181 - .set FIELD_OBJ_GFX_BIG_BLASTOISE_DOLL, 182 - .set FIELD_OBJ_GFX_BIG_WAILMER_DOLL, 183 - .set FIELD_OBJ_GFX_BIG_REGIROCK_DOLL, 184 - .set FIELD_OBJ_GFX_BIG_REGICE_DOLL, 185 - .set FIELD_OBJ_GFX_BIG_REGISTEEL_DOLL, 186 - .set FIELD_OBJ_GFX_LATIAS, 187 - .set FIELD_OBJ_GFX_LATIOS, 188 - .set FIELD_OBJ_GFX_BOY_5, 189 - .set FIELD_OBJ_GFX_CONTEST_OLD_MAN, 190 - .set FIELD_OBJ_GFX_BRENDAN_WATERING, 191 - .set FIELD_OBJ_GFX_MAY_WATERING, 192 - .set FIELD_OBJ_GFX_BRENDAN_UNKNOWN, 193 - .set FIELD_OBJ_GFX_MAY_UNKNOWN, 194 - .set FIELD_OBJ_GFX_ARCHIE, 195 - .set FIELD_OBJ_GFX_MAXIE, 196 - .set FIELD_OBJ_GFX_KYOGRE_1, 197 - .set FIELD_OBJ_GFX_GROUDON_1, 198 - .set FIELD_OBJ_GFX_FOSSIL, 199 - .set FIELD_OBJ_GFX_REGIROCK, 200 - .set FIELD_OBJ_GFX_REGICE, 201 - .set FIELD_OBJ_GFX_REGISTEEL, 202 - .set FIELD_OBJ_GFX_SKITTY, 203 - .set FIELD_OBJ_GFX_KECLEON_1, 204 - .set FIELD_OBJ_GFX_KYOGRE_2, 205 - .set FIELD_OBJ_GFX_GROUDON_2, 206 - .set FIELD_OBJ_GFX_RAYQUAZA_2, 207 - .set FIELD_OBJ_GFX_ZIGZAGOON, 208 - .set FIELD_OBJ_GFX_PIKACHU, 209 - .set FIELD_OBJ_GFX_AZUMARILL, 210 - .set FIELD_OBJ_GFX_WINGULL, 211 - .set FIELD_OBJ_GFX_KECLEON_2, 212 - .set FIELD_OBJ_GFX_TUBER_M_SWIMMING, 213 - .set FIELD_OBJ_GFX_AZURILL, 214 - .set FIELD_OBJ_GFX_MOM, 215 - .set FIELD_OBJ_GFX_LINK_BRENDAN, 216 - .set FIELD_OBJ_GFX_LINK_MAY, 217 - .set FIELD_OBJ_GFX_JUAN, 218 - .set FIELD_OBJ_GFX_SCOTT, 219 - .set FIELD_OBJ_GFX_POOCHYENA, 220 - .set FIELD_OBJ_GFX_KYOGRE_3, 221 - .set FIELD_OBJ_GFX_GROUDON_3, 222 - .set FIELD_OBJ_GFX_MYSTERY_EVENT_DELIVERYMAN, 223 - .set FIELD_OBJ_GFX_STATUE, 224 - .set FIELD_OBJ_GFX_KIRLIA, 225 - .set FIELD_OBJ_GFX_DUSCLOPS, 226 - .set FIELD_OBJ_GFX_UNION_ROOM_ATTENDANT, 227 - .set FIELD_OBJ_GFX_SUDOWOODO, 228 - .set FIELD_OBJ_GFX_MEW, 229 - .set FIELD_OBJ_GFX_RED, 230 - .set FIELD_OBJ_GFX_LEAF, 231 - .set FIELD_OBJ_GFX_DEOXYS, 232 - .set FIELD_OBJ_GFX_BIRTH_ISLAND_STONE, 233 - .set FIELD_OBJ_GFX_BRANDON, 234 - .set FIELD_OBJ_GFX_RUBY_SAPPHIRE_BRENDAN, 235 - .set FIELD_OBJ_GFX_RUBY_SAPPHIRE_MAY, 236 - .set FIELD_OBJ_GFX_LUGIA, 237 - .set FIELD_OBJ_GFX_HO_OH, 238 - - .set SHADOW_SIZE_S, 0 - .set SHADOW_SIZE_M, 1 - .set SHADOW_SIZE_L, 2 - .set SHADOW_SIZE_XL, 3 - - .set F_INANIMATE, 1 << 6 - .set F_DISABLE_REFLECTION_PALETTE_LOAD, 1 << 7 - - .set TRACKS_NONE, 0 - .set TRACKS_FOOT, 1 - .set TRACKS_BIKE_TIRE, 2 diff --git a/constants/item_constants.inc b/constants/item_constants.inc deleted file mode 100644 index 934ebd7989..0000000000 --- a/constants/item_constants.inc +++ /dev/null @@ -1,310 +0,0 @@ - .set ITEM_NONE, 0x000 - .set ITEM_MASTER_BALL, 0x001 - .set ITEM_ULTRA_BALL, 0x002 - .set ITEM_GREAT_BALL, 0x003 - .set ITEM_POKE_BALL, 0x004 - .set ITEM_SAFARI_BALL, 0x005 - .set ITEM_NET_BALL, 0x006 - .set ITEM_DIVE_BALL, 0x007 - .set ITEM_NEST_BALL, 0x008 - .set ITEM_REPEAT_BALL, 0x009 - .set ITEM_TIMER_BALL, 0x00a - .set ITEM_LUXURY_BALL, 0x00b - .set ITEM_PREMIER_BALL, 0x00c - .set ITEM_POTION, 0x00d - .set ITEM_ANTIDOTE, 0x00e - .set ITEM_BURN_HEAL, 0x00f - .set ITEM_ICE_HEAL, 0x010 - .set ITEM_AWAKENING, 0x011 - .set ITEM_PARALYZE_HEAL, 0x012 - .set ITEM_FULL_RESTORE, 0x013 - .set ITEM_MAX_POTION, 0x014 - .set ITEM_HYPER_POTION, 0x015 - .set ITEM_SUPER_POTION, 0x016 - .set ITEM_FULL_HEAL, 0x017 - .set ITEM_REVIVE, 0x018 - .set ITEM_MAX_REVIVE, 0x019 - .set ITEM_FRESH_WATER, 0x01a - .set ITEM_SODA_POP, 0x01b - .set ITEM_LEMONADE, 0x01c - .set ITEM_MOOMOO_MILK, 0x01d - .set ITEM_ENERGY_POWDER, 0x01e - .set ITEM_ENERGY_ROOT, 0x01f - .set ITEM_HEAL_POWDER, 0x020 - .set ITEM_REVIVAL_HERB, 0x021 - .set ITEM_ETHER, 0x022 - .set ITEM_MAX_ETHER, 0x023 - .set ITEM_ELIXIR, 0x024 - .set ITEM_MAX_ELIXIR, 0x025 - .set ITEM_LAVA_COOKIE, 0x026 - .set ITEM_BLUE_FLUTE, 0x027 - .set ITEM_YELLOW_FLUTE, 0x028 - .set ITEM_RED_FLUTE, 0x029 - .set ITEM_BLACK_FLUTE, 0x02a - .set ITEM_WHITE_FLUTE, 0x02b - .set ITEM_BERRY_JUICE, 0x02c - .set ITEM_SACRED_ASH, 0x02d - .set ITEM_SHOAL_SALT, 0x02e - .set ITEM_SHOAL_SHELL, 0x02f - .set ITEM_RED_SHARD, 0x030 - .set ITEM_BLUE_SHARD, 0x031 - .set ITEM_YELLOW_SHARD, 0x032 - .set ITEM_GREEN_SHARD, 0x033 - .set ITEM_HP_UP, 0x03f - .set ITEM_PROTEIN, 0x040 - .set ITEM_IRON, 0x041 - .set ITEM_CARBOS, 0x042 - .set ITEM_CALCIUM, 0x043 - .set ITEM_RARE_CANDY, 0x044 - .set ITEM_PP_UP, 0x045 - .set ITEM_ZINC, 0x046 - .set ITEM_PP_MAX, 0x047 - .set ITEM_GUARD_SPEC, 0x049 - .set ITEM_DIRE_HIT, 0x04a - .set ITEM_X_ATTACK, 0x04b - .set ITEM_X_DEFEND, 0x04c - .set ITEM_X_SPEED, 0x04d - .set ITEM_X_ACCURACY, 0x04e - .set ITEM_X_SPECIAL, 0x04f - .set ITEM_POKE_DOLL, 0x050 - .set ITEM_FLUFFY_TAIL, 0x051 - .set ITEM_SUPER_REPEL, 0x053 - .set ITEM_MAX_REPEL, 0x054 - .set ITEM_ESCAPE_ROPE, 0x055 - .set ITEM_REPEL, 0x056 - .set ITEM_SUN_STONE, 0x05d - .set ITEM_MOON_STONE, 0x05e - .set ITEM_FIRE_STONE, 0x05f - .set ITEM_THUNDER_STONE, 0x060 - .set ITEM_WATER_STONE, 0x061 - .set ITEM_LEAF_STONE, 0x062 - .set ITEM_TINY_MUSHROOM, 0x067 - .set ITEM_BIG_MUSHROOM, 0x068 - .set ITEM_PEARL, 0x06a - .set ITEM_BIG_PEARL, 0x06b - .set ITEM_STARDUST, 0x06c - .set ITEM_STAR_PIECE, 0x06d - .set ITEM_NUGGET, 0x06e - .set ITEM_HEART_SCALE, 0x06f - .set ITEM_ORANGE_MAIL, 0x079 - .set ITEM_HARBOR_MAIL, 0x07a - .set ITEM_GLITTER_MAIL, 0x07b - .set ITEM_MECH_MAIL, 0x07c - .set ITEM_WOOD_MAIL, 0x07d - .set ITEM_WAVE_MAIL, 0x07e - .set ITEM_BEAD_MAIL, 0x07f - .set ITEM_SHADOW_MAIL, 0x080 - .set ITEM_TROPIC_MAIL, 0x081 - .set ITEM_DREAM_MAIL, 0x082 - .set ITEM_FAB_MAIL, 0x083 - .set ITEM_RETRO_MAIL, 0x084 - .set ITEM_CHERI_BERRY, 0x085 - .set ITEM_CHESTO_BERRY, 0x086 - .set ITEM_PECHA_BERRY, 0x087 - .set ITEM_RAWST_BERRY, 0x088 - .set ITEM_ASPEAR_BERRY, 0x089 - .set ITEM_LEPPA_BERRY, 0x08a - .set ITEM_ORAN_BERRY, 0x08b - .set ITEM_PERSIM_BERRY, 0x08c - .set ITEM_LUM_BERRY, 0x08d - .set ITEM_SITRUS_BERRY, 0x08e - .set ITEM_FIGY_BERRY, 0x08f - .set ITEM_WIKI_BERRY, 0x090 - .set ITEM_MAGO_BERRY, 0x091 - .set ITEM_AGUAV_BERRY, 0x092 - .set ITEM_IAPAPA_BERRY, 0x093 - .set ITEM_RAZZ_BERRY, 0x094 - .set ITEM_BLUK_BERRY, 0x095 - .set ITEM_NANAB_BERRY, 0x096 - .set ITEM_WEPEAR_BERRY, 0x097 - .set ITEM_PINAP_BERRY, 0x098 - .set ITEM_POMEG_BERRY, 0x099 - .set ITEM_KELPSY_BERRY, 0x09a - .set ITEM_QUALOT_BERRY, 0x09b - .set ITEM_HONDEW_BERRY, 0x09c - .set ITEM_GREPA_BERRY, 0x09d - .set ITEM_TAMATO_BERRY, 0x09e - .set ITEM_CORNN_BERRY, 0x09f - .set ITEM_MAGOST_BERRY, 0x0a0 - .set ITEM_RABUTA_BERRY, 0x0a1 - .set ITEM_NOMEL_BERRY, 0x0a2 - .set ITEM_SPELON_BERRY, 0x0a3 - .set ITEM_PAMTRE_BERRY, 0x0a4 - .set ITEM_WATMEL_BERRY, 0x0a5 - .set ITEM_DURIN_BERRY, 0x0a6 - .set ITEM_BELUE_BERRY, 0x0a7 - .set ITEM_LIECHI_BERRY, 0x0a8 - .set ITEM_GANLON_BERRY, 0x0a9 - .set ITEM_SALAC_BERRY, 0x0aa - .set ITEM_PETAYA_BERRY, 0x0ab - .set ITEM_APICOT_BERRY, 0x0ac - .set ITEM_LANSAT_BERRY, 0x0ad - .set ITEM_STARF_BERRY, 0x0ae - .set ITEM_ENIGMA_BERRY, 0x0af - .set ITEM_BRIGHT_POWDER, 0x0b3 - .set ITEM_WHITE_HERB, 0x0b4 - .set ITEM_MACHO_BRACE, 0x0b5 - .set ITEM_EXP_SHARE, 0x0b6 - .set ITEM_QUICK_CLAW, 0x0b7 - .set ITEM_SOOTHE_BELL, 0x0b8 - .set ITEM_MENTAL_HERB, 0x0b9 - .set ITEM_CHOICE_BAND, 0x0ba - .set ITEM_KINGS_ROCK, 0x0bb - .set ITEM_SILVER_POWDER, 0x0bc - .set ITEM_AMULET_COIN, 0x0bd - .set ITEM_CLEANSE_TAG, 0x0be - .set ITEM_SOUL_DEW, 0x0bf - .set ITEM_DEEP_SEA_TOOTH, 0x0c0 - .set ITEM_DEEP_SEA_SCALE, 0x0c1 - .set ITEM_SMOKE_BALL, 0x0c2 - .set ITEM_EVERSTONE, 0x0c3 - .set ITEM_FOCUS_BAND, 0x0c4 - .set ITEM_LUCKY_EGG, 0x0c5 - .set ITEM_SCOPE_LENS, 0x0c6 - .set ITEM_METAL_COAT, 0x0c7 - .set ITEM_LEFTOVERS, 0x0c8 - .set ITEM_DRAGON_SCALE, 0x0c9 - .set ITEM_LIGHT_BALL, 0x0ca - .set ITEM_SOFT_SAND, 0x0cb - .set ITEM_HARD_STONE, 0x0cc - .set ITEM_MIRACLE_SEED, 0x0cd - .set ITEM_BLACK_GLASSES, 0x0ce - .set ITEM_BLACK_BELT, 0x0cf - .set ITEM_MAGNET, 0x0d0 - .set ITEM_MYSTIC_WATER, 0x0d1 - .set ITEM_SHARP_BEAK, 0x0d2 - .set ITEM_POISON_BARB, 0x0d3 - .set ITEM_NEVER_MELT_ICE, 0x0d4 - .set ITEM_SPELL_TAG, 0x0d5 - .set ITEM_TWISTED_SPOON, 0x0d6 - .set ITEM_CHARCOAL, 0x0d7 - .set ITEM_DRAGON_FANG, 0x0d8 - .set ITEM_SILK_SCARF, 0x0d9 - .set ITEM_UP_GRADE, 0x0da - .set ITEM_SHELL_BELL, 0x0db - .set ITEM_SEA_INCENSE, 0x0dc - .set ITEM_LAX_INCENSE, 0x0dd - .set ITEM_LUCKY_PUNCH, 0x0de - .set ITEM_METAL_POWDER, 0x0df - .set ITEM_THICK_CLUB, 0x0e0 - .set ITEM_STICK, 0x0e1 - .set ITEM_RED_SCARF, 0x0fe - .set ITEM_BLUE_SCARF, 0x0ff - .set ITEM_PINK_SCARF, 0x100 - .set ITEM_GREEN_SCARF, 0x101 - .set ITEM_YELLOW_SCARF, 0x102 - .set ITEM_MACH_BIKE, 0x103 - .set ITEM_COIN_CASE, 0x104 - .set ITEM_ITEMFINDER, 0x105 - .set ITEM_OLD_ROD, 0x106 - .set ITEM_GOOD_ROD, 0x107 - .set ITEM_SUPER_ROD, 0x108 - .set ITEM_SS_TICKET, 0x109 - .set ITEM_CONTEST_PASS, 0x10a - .set ITEM_WAILMER_PAIL, 0x10c - .set ITEM_DEVON_GOODS, 0x10d - .set ITEM_SOOT_SACK, 0x10e - .set ITEM_BASEMENT_KEY, 0x10f - .set ITEM_ACRO_BIKE, 0x110 - .set ITEM_POKEBLOCK_CASE, 0x111 - .set ITEM_LETTER, 0x112 - .set ITEM_EON_TICKET, 0x113 - .set ITEM_RED_ORB, 0x114 - .set ITEM_BLUE_ORB, 0x115 - .set ITEM_SCANNER, 0x116 - .set ITEM_GO_GOGGLES, 0x117 - .set ITEM_METEORITE, 0x118 - .set ITEM_ROOM_1_KEY, 0x119 - .set ITEM_ROOM_2_KEY, 0x11a - .set ITEM_ROOM_4_KEY, 0x11b - .set ITEM_ROOM_6_KEY, 0x11c - .set ITEM_STORAGE_KEY, 0x11d - .set ITEM_ROOT_FOSSIL, 0x11e - .set ITEM_CLAW_FOSSIL, 0x11f - .set ITEM_DEVON_SCOPE, 0x120 - .set ITEM_TM01, 0x121 - .set ITEM_TM02, 0x122 - .set ITEM_TM03, 0x123 - .set ITEM_TM04, 0x124 - .set ITEM_TM05, 0x125 - .set ITEM_TM06, 0x126 - .set ITEM_TM07, 0x127 - .set ITEM_TM08, 0x128 - .set ITEM_TM09, 0x129 - .set ITEM_TM10, 0x12a - .set ITEM_TM11, 0x12b - .set ITEM_TM12, 0x12c - .set ITEM_TM13, 0x12d - .set ITEM_TM14, 0x12e - .set ITEM_TM15, 0x12f - .set ITEM_TM16, 0x130 - .set ITEM_TM17, 0x131 - .set ITEM_TM18, 0x132 - .set ITEM_TM19, 0x133 - .set ITEM_TM20, 0x134 - .set ITEM_TM21, 0x135 - .set ITEM_TM22, 0x136 - .set ITEM_TM23, 0x137 - .set ITEM_TM24, 0x138 - .set ITEM_TM25, 0x139 - .set ITEM_TM26, 0x13a - .set ITEM_TM27, 0x13b - .set ITEM_TM28, 0x13c - .set ITEM_TM29, 0x13d - .set ITEM_TM30, 0x13e - .set ITEM_TM31, 0x13f - .set ITEM_TM32, 0x140 - .set ITEM_TM33, 0x141 - .set ITEM_TM34, 0x142 - .set ITEM_TM35, 0x143 - .set ITEM_TM36, 0x144 - .set ITEM_TM37, 0x145 - .set ITEM_TM38, 0x146 - .set ITEM_TM39, 0x147 - .set ITEM_TM40, 0x148 - .set ITEM_TM41, 0x149 - .set ITEM_TM42, 0x14a - .set ITEM_TM43, 0x14b - .set ITEM_TM44, 0x14c - .set ITEM_TM45, 0x14d - .set ITEM_TM46, 0x14e - .set ITEM_TM47, 0x14f - .set ITEM_TM48, 0x150 - .set ITEM_TM49, 0x151 - .set ITEM_TM50, 0x152 - .set ITEM_HM01, 0x153 - .set ITEM_HM02, 0x154 - .set ITEM_HM03, 0x155 - .set ITEM_HM04, 0x156 - .set ITEM_HM05, 0x157 - .set ITEM_HM06, 0x158 - .set ITEM_HM07, 0x159 - .set ITEM_HM08, 0x15a - .set ITEM_OAKS_PARCEL, 0x15d - .set ITEM_POKE_FLUTE, 0x15e - .set ITEM_SECRET_KEY, 0x15f - .set ITEM_BIKE_VOUCHER, 0x160 - .set ITEM_GOLD_TEETH, 0x161 - .set ITEM_OLD_AMBER, 0x162 - .set ITEM_CARD_KEY, 0x163 - .set ITEM_LIFT_KEY, 0x164 - .set ITEM_HELIX_FOSSIL, 0x165 - .set ITEM_DOME_FOSSIL, 0x166 - .set ITEM_SILPH_SCOPE, 0x167 - .set ITEM_BICYCLE, 0x168 - .set ITEM_TOWN_MAP, 0x169 - .set ITEM_VS_SEEKER, 0x16a - .set ITEM_FAME_CHECKER, 0x16b - .set ITEM_TM_CASE, 0x16c - .set ITEM_BERRY_POUCH, 0x16d - .set ITEM_TEACHY_TV, 0x16e - .set ITEM_TRI_PASS, 0x16f - .set ITEM_RAINBOW_PASS, 0x170 - .set ITEM_TEA, 0x171 - .set ITEM_MYSTIC_TICKET, 0x172 - .set ITEM_AURORA_TICKET, 0x173 - .set ITEM_POWDER_JAR, 0x174 - .set ITEM_RUBY, 0x175 - .set ITEM_SAPPHIRE, 0x176 - .set ITEM_MAGMA_EMBLEM, 0x177 - .set ITEM_OLD_SEA_MAP, 0x178 diff --git a/constants/item_data_constants.inc b/constants/item_data_constants.inc index 07ceb6e3b5..f0badc4678 100644 --- a/constants/item_data_constants.inc +++ b/constants/item_data_constants.inc @@ -2,4 +2,4 @@ .set POCKET_POKE_BALLS, 0x02 .set POCKET_TM_HM, 0x03 .set POCKET_BERRIES, 0x04 - .set POCKET_KEY_ITEMS, 0x05 + .set BAG_KEYITEMS, 0x05 diff --git a/constants/map_constants.inc b/constants/map_constants.inc index eabfe6e69d..a061d2501a 100644 --- a/constants/map_constants.inc +++ b/constants/map_constants.inc @@ -1,3 +1,4 @@ +@ TODO: these need to match the names in include/constants/maps.h .set cur_map_group, -1 new_map_group diff --git a/constants/map_object_constants.inc b/constants/map_object_constants.inc deleted file mode 100644 index 014eb05c88..0000000000 --- a/constants/map_object_constants.inc +++ /dev/null @@ -1,230 +0,0 @@ - .set MAP_OBJ_GFX_BRENDAN_NORMAL, 0 - .set MAP_OBJ_GFX_BRENDAN_MACH_BIKE, 1 - .set MAP_OBJ_GFX_BRENDAN_SURFING, 2 - .set MAP_OBJ_GFX_BRENDAN_FIELD_MOVE, 3 - .set MAP_OBJ_GFX_QUINTY_PLUMP, 4 - .set MAP_OBJ_GFX_LITTLE_BOY_1, 5 - .set MAP_OBJ_GFX_LITTLE_GIRL_1, 6 - .set MAP_OBJ_GFX_BOY_1, 7 - .set MAP_OBJ_GFX_GIRL_1, 8 - .set MAP_OBJ_GFX_BOY_2, 9 - .set MAP_OBJ_GFX_GIRL_2, 10 - .set MAP_OBJ_GFX_LITTLE_BOY_2, 11 - .set MAP_OBJ_GFX_LITTLE_GIRL_2, 12 - .set MAP_OBJ_GFX_BOY_3, 13 - .set MAP_OBJ_GFX_GIRL_3, 14 - .set MAP_OBJ_GFX_BOY_4, 15 - .set MAP_OBJ_GFX_WOMAN_1, 16 - .set MAP_OBJ_GFX_FAT_MAN, 17 - .set MAP_OBJ_GFX_WOMAN_2, 18 - .set MAP_OBJ_GFX_MAN_1, 19 - .set MAP_OBJ_GFX_WOMAN_3, 20 - .set MAP_OBJ_GFX_OLD_MAN_1, 21 - .set MAP_OBJ_GFX_OLD_WOMAN_1, 22 - .set MAP_OBJ_GFX_MAN_2, 23 - .set MAP_OBJ_GFX_WOMAN_4, 24 - .set MAP_OBJ_GFX_MAN_3, 25 - .set MAP_OBJ_GFX_WOMAN_5, 26 - .set MAP_OBJ_GFX_COOK, 27 - .set MAP_OBJ_GFX_WOMAN_6, 28 - .set MAP_OBJ_GFX_OLD_MAN_2, 29 - .set MAP_OBJ_GFX_OLD_WOMAN_2, 30 - .set MAP_OBJ_GFX_CAMPER, 31 - .set MAP_OBJ_GFX_PICNICKER, 32 - .set MAP_OBJ_GFX_MAN_4, 33 - .set MAP_OBJ_GFX_WOMAN_7, 34 - .set MAP_OBJ_GFX_YOUNGSTER, 35 - .set MAP_OBJ_GFX_BUG_CATCHER, 36 - .set MAP_OBJ_GFX_PSYCHIC_M, 37 - .set MAP_OBJ_GFX_SCHOOL_KID_M, 38 - .set MAP_OBJ_GFX_MANIAC, 39 - .set MAP_OBJ_GFX_HEX_MANIAC, 40 - .set MAP_OBJ_GFX_RAYQUAZA, 41 - .set MAP_OBJ_GFX_SWIMMER_M, 42 - .set MAP_OBJ_GFX_SWIMMER_F, 43 - .set MAP_OBJ_GFX_BLACK_BELT, 44 - .set MAP_OBJ_GFX_BEAUTY, 45 - .set MAP_OBJ_GFX_SCIENTIST_1, 46 - .set MAP_OBJ_GFX_LASS, 47 - .set MAP_OBJ_GFX_GENTLEMAN, 48 - .set MAP_OBJ_GFX_SAILOR, 49 - .set MAP_OBJ_GFX_FISHERMAN, 50 - .set MAP_OBJ_GFX_RUNNING_TRIATHLETE_M, 51 - .set MAP_OBJ_GFX_RUNNING_TRIATHLETE_F, 52 - .set MAP_OBJ_GFX_TUBER_F, 53 - .set MAP_OBJ_GFX_TUBER_M, 54 - .set MAP_OBJ_GFX_HIKER, 55 - .set MAP_OBJ_GFX_CYCLING_TRIATHLETE_M, 56 - .set MAP_OBJ_GFX_CYCLING_TRIATHLETE_F, 57 - .set MAP_OBJ_GFX_NURSE, 58 - .set MAP_OBJ_GFX_ITEM_BALL, 59 - .set MAP_OBJ_GFX_BERRY_TREE, 60 - .set MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES, 61 - .set MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES, 62 - .set MAP_OBJ_GFX_BRENDAN_ACRO_BIKE, 63 - .set MAP_OBJ_GFX_PROF_BIRCH, 64 - .set MAP_OBJ_GFX_MAN_5, 65 - .set MAP_OBJ_GFX_MAN_6, 66 - .set MAP_OBJ_GFX_REPORTER_M, 67 - .set MAP_OBJ_GFX_REPORTER_F, 68 - .set MAP_OBJ_GFX_BARD, 69 - .set MAP_OBJ_GFX_HIPSTER, 70 - .set MAP_OBJ_GFX_TRADER, 71 - .set MAP_OBJ_GFX_STORYTELLER, 72 - .set MAP_OBJ_GFX_GIDDY, 73 - .set MAP_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_1, 74 - .set MAP_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_2, 75 - .set MAP_OBJ_GFX_UNUSED_NATU_DOLL, 76 - .set MAP_OBJ_GFX_UNUSED_MAGNEMITE_DOLL, 77 - .set MAP_OBJ_GFX_UNUSED_SQUIRTLE_DOLL, 78 - .set MAP_OBJ_GFX_UNUSED_WOOPER_DOLL, 79 - .set MAP_OBJ_GFX_UNUSED_PIKACHU_DOLL, 80 - .set MAP_OBJ_GFX_UNUSED_PORYGON2_DOLL, 81 - .set MAP_OBJ_GFX_CUTTABLE_TREE, 82 - .set MAP_OBJ_GFX_MART_EMPLOYEE, 83 - .set MAP_OBJ_GFX_ROOFTOP_SALE_WOMAN, 84 - .set MAP_OBJ_GFX_TEALA, 85 - .set MAP_OBJ_GFX_BREAKABLE_ROCK, 86 - .set MAP_OBJ_GFX_PUSHABLE_BOULDER, 87 - .set MAP_OBJ_GFX_MR_BRINEYS_BOAT, 88 - .set MAP_OBJ_GFX_MAY_NORMAL, 89 - .set MAP_OBJ_GFX_MAY_MACH_BIKE, 90 - .set MAP_OBJ_GFX_MAY_ACRO_BIKE, 91 - .set MAP_OBJ_GFX_MAY_SURFING, 92 - .set MAP_OBJ_GFX_MAY_FIELD_MOVE, 93 - .set MAP_OBJ_GFX_TRUCK, 94 - .set MAP_OBJ_GFX_MACHOKE_CARRYING_BOX, 95 - .set MAP_OBJ_GFX_MACHOKE_FACING_AWAY, 96 - .set MAP_OBJ_GFX_BIRCHS_BAG, 97 - .set MAP_OBJ_GFX_ZIGZAGOON, 98 - .set MAP_OBJ_GFX_ARTIST, 99 - .set MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 100 - .set MAP_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE, 101 - .set MAP_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE, 102 - .set MAP_OBJ_GFX_RIVAL_BRENDAN_SURFING, 103 - .set MAP_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE, 104 - .set MAP_OBJ_GFX_RIVAL_MAY_NORMAL, 105 - .set MAP_OBJ_GFX_RIVAL_MAY_MACH_BIKE, 106 - .set MAP_OBJ_GFX_RIVAL_MAY_ACRO_BIKE, 107 - .set MAP_OBJ_GFX_RIVAL_MAY_SURFING, 108 - .set MAP_OBJ_GFX_RIVAL_MAY_FIELD_MOVE, 109 - .set MAP_OBJ_GFX_CAMERAMAN, 110 - .set MAP_OBJ_GFX_BRENDAN_UNDERWATER, 111 - .set MAP_OBJ_GFX_MAY_UNDERWATER, 112 - .set MAP_OBJ_GFX_MOVING_BOX, 113 - .set MAP_OBJ_GFX_CABLE_CAR, 114 - .set MAP_OBJ_GFX_SCIENTIST_2, 115 - .set MAP_OBJ_GFX_MAN_7, 116 - .set MAP_OBJ_GFX_AQUA_MEMBER_M, 117 - .set MAP_OBJ_GFX_AQUA_MEMBER_F, 118 - .set MAP_OBJ_GFX_MAGMA_MEMBER_M, 119 - .set MAP_OBJ_GFX_MAGMA_MEMBER_F, 120 - .set MAP_OBJ_GFX_SIDNEY, 121 - .set MAP_OBJ_GFX_PHOEBE, 122 - .set MAP_OBJ_GFX_GLACIA, 123 - .set MAP_OBJ_GFX_DRAKE, 124 - .set MAP_OBJ_GFX_ROXANNE, 125 - .set MAP_OBJ_GFX_BRAWLY, 126 - .set MAP_OBJ_GFX_WATTSON, 127 - .set MAP_OBJ_GFX_FLANNERY, 128 - .set MAP_OBJ_GFX_NORMAN, 129 - .set MAP_OBJ_GFX_WINONA, 130 - .set MAP_OBJ_GFX_LIZA, 131 - .set MAP_OBJ_GFX_TATE, 132 - .set MAP_OBJ_GFX_WALLACE, 133 - .set MAP_OBJ_GFX_STEVEN, 134 - .set MAP_OBJ_GFX_WALLY, 135 - .set MAP_OBJ_GFX_LITTLE_BOY_3, 136 - .set MAP_OBJ_GFX_BRENDAN_FISHING, 137 - .set MAP_OBJ_GFX_MAY_FISHING, 138 - .set MAP_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN, 139 - .set MAP_OBJ_GFX_SS_TIDAL, 140 - .set MAP_OBJ_GFX_SUBMARINE_SHADOW, 141 - .set MAP_OBJ_GFX_PICHU_DOLL, 142 - .set MAP_OBJ_GFX_PIKACHU_DOLL, 143 - .set MAP_OBJ_GFX_MARILL_DOLL, 144 - .set MAP_OBJ_GFX_TOGEPI_DOLL, 145 - .set MAP_OBJ_GFX_CYNDAQUIL_DOLL, 146 - .set MAP_OBJ_GFX_CHIKORITA_DOLL, 147 - .set MAP_OBJ_GFX_TOTODILE_DOLL, 148 - .set MAP_OBJ_GFX_JIGGLYPUFF_DOLL, 149 - .set MAP_OBJ_GFX_MEOWTH_DOLL, 150 - .set MAP_OBJ_GFX_CLEFAIRY_DOLL, 151 - .set MAP_OBJ_GFX_DITTO_DOLL, 152 - .set MAP_OBJ_GFX_SMOOCHUM_DOLL, 153 - .set MAP_OBJ_GFX_TREECKO_DOLL, 154 - .set MAP_OBJ_GFX_TORCHIC_DOLL, 155 - .set MAP_OBJ_GFX_MUDKIP_DOLL, 156 - .set MAP_OBJ_GFX_DUSKULL_DOLL, 157 - .set MAP_OBJ_GFX_WYNAUT_DOLL, 158 - .set MAP_OBJ_GFX_BALTOY_DOLL, 159 - .set MAP_OBJ_GFX_KECLEON_DOLL, 160 - .set MAP_OBJ_GFX_AZURILL_DOLL, 161 - .set MAP_OBJ_GFX_SKITTY_DOLL, 162 - .set MAP_OBJ_GFX_SWABLU_DOLL, 163 - .set MAP_OBJ_GFX_GULPIN_DOLL, 164 - .set MAP_OBJ_GFX_LOTAD_DOLL, 165 - .set MAP_OBJ_GFX_SEEDOT_DOLL, 166 - .set MAP_OBJ_GFX_PIKA_CUSHION, 167 - .set MAP_OBJ_GFX_ROUND_CUSHION, 168 - .set MAP_OBJ_GFX_KISS_CUSHION, 169 - .set MAP_OBJ_GFX_ZIGZAG_CUSHION, 170 - .set MAP_OBJ_GFX_SPIN_CUSHION, 171 - .set MAP_OBJ_GFX_DIAMOND_CUSHION, 172 - .set MAP_OBJ_GFX_BALL_CUSHION, 173 - .set MAP_OBJ_GFX_GRASS_CUSHION, 174 - .set MAP_OBJ_GFX_FIRE_CUSHION, 175 - .set MAP_OBJ_GFX_WATER_CUSHION, 176 - .set MAP_OBJ_GFX_BIG_SNORLAX_DOLL, 177 - .set MAP_OBJ_GFX_BIG_RHYDON_DOLL, 178 - .set MAP_OBJ_GFX_BIG_LAPRAS_DOLL, 179 - .set MAP_OBJ_GFX_BIG_VENUSAUR_DOLL, 180 - .set MAP_OBJ_GFX_BIG_CHARIZARD_DOLL, 181 - .set MAP_OBJ_GFX_BIG_BLASTOISE_DOLL, 182 - .set MAP_OBJ_GFX_BIG_WAILMER_DOLL, 183 - .set MAP_OBJ_GFX_BIG_REGIROCK_DOLL, 184 - .set MAP_OBJ_GFX_BIG_REGICE_DOLL, 185 - .set MAP_OBJ_GFX_BIG_REGISTEEL_DOLL, 186 - .set MAP_OBJ_GFX_LATIAS, 187 - .set MAP_OBJ_GFX_LATIOS, 188 - .set MAP_OBJ_GFX_BOY_5, 189 - .set MAP_OBJ_GFX_CONTEST_JUDGE, 190 - .set MAP_OBJ_GFX_BRENDAN_WATERING, 191 - .set MAP_OBJ_GFX_MAY_WATERING, 192 - .set MAP_OBJ_GFX_BRENDAN_DECORATING, 193 - .set MAP_OBJ_GFX_MAY_DECORATING, 194 - .set MAP_OBJ_GFX_ARCHIE, 195 - .set MAP_OBJ_GFX_MAXIE, 196 - .set MAP_OBJ_GFX_KYOGRE_1, 197 - .set MAP_OBJ_GFX_GROUDON_1, 198 - .set MAP_OBJ_GFX_FOSSIL, 199 - .set MAP_OBJ_GFX_REGIROCK, 200 - .set MAP_OBJ_GFX_REGICE, 201 - .set MAP_OBJ_GFX_REGISTEEL, 202 - .set MAP_OBJ_GFX_SKITTY, 203 - .set MAP_OBJ_GFX_KECLEON_1, 204 - .set MAP_OBJ_GFX_KYOGRE_2, 205 - .set MAP_OBJ_GFX_GROUDON_2, 206 - .set MAP_OBJ_GFX_RAYQUAZA_2, 207 - .set MAP_OBJ_GFX_ZIGZAGOON_2, 208 - .set MAP_OBJ_GFX_PIKACHU, 209 - .set MAP_OBJ_GFX_AZUMARILL, 210 - .set MAP_OBJ_GFX_WINGULL, 211 - .set MAP_OBJ_GFX_KECLEON_2, 212 - .set MAP_OBJ_GFX_TUBER_M_SWIMMING, 213 - .set MAP_OBJ_GFX_AZURILL, 214 - .set MAP_OBJ_GFX_MOM, 215 - .set MAP_OBJ_GFX_LINK_BRENDAN, 216 - .set MAP_OBJ_GFX_LINK_MAY, 217 - - .set SHADOW_SIZE_S, 0 - .set SHADOW_SIZE_M, 1 - .set SHADOW_SIZE_L, 2 - .set SHADOW_SIZE_XL, 3 - - .set F_INANIMATE, 1 << 6 - .set F_DISABLE_REFLECTION_PALETTE_LOAD, 1 << 7 - - .set TRACKS_NONE, 0 - .set TRACKS_FOOT, 1 - .set TRACKS_BIKE_TIRE, 2 diff --git a/constants/move_constants.inc b/constants/move_constants.inc deleted file mode 100644 index b6c8edf988..0000000000 --- a/constants/move_constants.inc +++ /dev/null @@ -1,355 +0,0 @@ - .set MOVE_NONE, 0x000 - .set MOVE_POUND, 0x001 - .set MOVE_KARATE_CHOP, 0x002 - .set MOVE_DOUBLE_SLAP, 0x003 - .set MOVE_COMET_PUNCH, 0x004 - .set MOVE_MEGA_PUNCH, 0x005 - .set MOVE_PAY_DAY, 0x006 - .set MOVE_FIRE_PUNCH, 0x007 - .set MOVE_ICE_PUNCH, 0x008 - .set MOVE_THUNDER_PUNCH, 0x009 - .set MOVE_SCRATCH, 0x00a - .set MOVE_VICE_GRIP, 0x00b - .set MOVE_GUILLOTINE, 0x00c - .set MOVE_RAZOR_WIND, 0x00d - .set MOVE_SWORDS_DANCE, 0x00e - .set MOVE_CUT, 0x00f - .set MOVE_GUST, 0x010 - .set MOVE_WING_ATTACK, 0x011 - .set MOVE_WHIRLWIND, 0x012 - .set MOVE_FLY, 0x013 - .set MOVE_BIND, 0x014 - .set MOVE_SLAM, 0x015 - .set MOVE_VINE_WHIP, 0x016 - .set MOVE_STOMP, 0x017 - .set MOVE_DOUBLE_KICK, 0x018 - .set MOVE_MEGA_KICK, 0x019 - .set MOVE_JUMP_KICK, 0x01a - .set MOVE_ROLLING_KICK, 0x01b - .set MOVE_SAND_ATTACK, 0x01c - .set MOVE_HEADBUTT, 0x01d - .set MOVE_HORN_ATTACK, 0x01e - .set MOVE_FURY_ATTACK, 0x01f - .set MOVE_HORN_DRILL, 0x020 - .set MOVE_TACKLE, 0x021 - .set MOVE_BODY_SLAM, 0x022 - .set MOVE_WRAP, 0x023 - .set MOVE_TAKE_DOWN, 0x024 - .set MOVE_THRASH, 0x025 - .set MOVE_DOUBLE_EDGE, 0x026 - .set MOVE_TAIL_WHIP, 0x027 - .set MOVE_POISON_STING, 0x028 - .set MOVE_TWINEEDLE, 0x029 - .set MOVE_PIN_MISSILE, 0x02a - .set MOVE_LEER, 0x02b - .set MOVE_BITE, 0x02c - .set MOVE_GROWL, 0x02d - .set MOVE_ROAR, 0x02e - .set MOVE_SING, 0x02f - .set MOVE_SUPERSONIC, 0x030 - .set MOVE_SONIC_BOOM, 0x031 - .set MOVE_DISABLE, 0x032 - .set MOVE_ACID, 0x033 - .set MOVE_EMBER, 0x034 - .set MOVE_FLAMETHROWER, 0x035 - .set MOVE_MIST, 0x036 - .set MOVE_WATER_GUN, 0x037 - .set MOVE_HYDRO_PUMP, 0x038 - .set MOVE_SURF, 0x039 - .set MOVE_ICE_BEAM, 0x03a - .set MOVE_BLIZZARD, 0x03b - .set MOVE_PSYBEAM, 0x03c - .set MOVE_BUBBLE_BEAM, 0x03d - .set MOVE_AURORA_BEAM, 0x03e - .set MOVE_HYPER_BEAM, 0x03f - .set MOVE_PECK, 0x040 - .set MOVE_DRILL_PECK, 0x041 - .set MOVE_SUBMISSION, 0x042 - .set MOVE_LOW_KICK, 0x043 - .set MOVE_COUNTER, 0x044 - .set MOVE_SEISMIC_TOSS, 0x045 - .set MOVE_STRENGTH, 0x046 - .set MOVE_ABSORB, 0x047 - .set MOVE_MEGA_DRAIN, 0x048 - .set MOVE_LEECH_SEED, 0x049 - .set MOVE_GROWTH, 0x04a - .set MOVE_RAZOR_LEAF, 0x04b - .set MOVE_SOLAR_BEAM, 0x04c - .set MOVE_POISON_POWDER, 0x04d - .set MOVE_STUN_SPORE, 0x04e - .set MOVE_SLEEP_POWDER, 0x04f - .set MOVE_PETAL_DANCE, 0x050 - .set MOVE_STRING_SHOT, 0x051 - .set MOVE_DRAGON_RAGE, 0x052 - .set MOVE_FIRE_SPIN, 0x053 - .set MOVE_THUNDER_SHOCK, 0x054 - .set MOVE_THUNDERBOLT, 0x055 - .set MOVE_THUNDER_WAVE, 0x056 - .set MOVE_THUNDER, 0x057 - .set MOVE_ROCK_THROW, 0x058 - .set MOVE_EARTHQUAKE, 0x059 - .set MOVE_FISSURE, 0x05a - .set MOVE_DIG, 0x05b - .set MOVE_TOXIC, 0x05c - .set MOVE_CONFUSION, 0x05d - .set MOVE_PSYCHIC, 0x05e - .set MOVE_HYPNOSIS, 0x05f - .set MOVE_MEDITATE, 0x060 - .set MOVE_AGILITY, 0x061 - .set MOVE_QUICK_ATTACK, 0x062 - .set MOVE_RAGE, 0x063 - .set MOVE_TELEPORT, 0x064 - .set MOVE_NIGHT_SHADE, 0x065 - .set MOVE_MIMIC, 0x066 - .set MOVE_SCREECH, 0x067 - .set MOVE_DOUBLE_TEAM, 0x068 - .set MOVE_RECOVER, 0x069 - .set MOVE_HARDEN, 0x06a - .set MOVE_MINIMIZE, 0x06b - .set MOVE_SMOKESCREEN, 0x06c - .set MOVE_CONFUSE_RAY, 0x06d - .set MOVE_WITHDRAW, 0x06e - .set MOVE_DEFENSE_CURL, 0x06f - .set MOVE_BARRIER, 0x070 - .set MOVE_LIGHT_SCREEN, 0x071 - .set MOVE_HAZE, 0x072 - .set MOVE_REFLECT, 0x073 - .set MOVE_FOCUS_ENERGY, 0x074 - .set MOVE_BIDE, 0x075 - .set MOVE_METRONOME, 0x076 - .set MOVE_MIRROR_MOVE, 0x077 - .set MOVE_SELF_DESTRUCT, 0x078 - .set MOVE_EGG_BOMB, 0x079 - .set MOVE_LICK, 0x07a - .set MOVE_SMOG, 0x07b - .set MOVE_SLUDGE, 0x07c - .set MOVE_BONE_CLUB, 0x07d - .set MOVE_FIRE_BLAST, 0x07e - .set MOVE_WATERFALL, 0x07f - .set MOVE_CLAMP, 0x080 - .set MOVE_SWIFT, 0x081 - .set MOVE_SKULL_BASH, 0x082 - .set MOVE_SPIKE_CANNON, 0x083 - .set MOVE_CONSTRICT, 0x084 - .set MOVE_AMNESIA, 0x085 - .set MOVE_KINESIS, 0x086 - .set MOVE_SOFT_BOILED, 0x087 - .set MOVE_HI_JUMP_KICK, 0x088 - .set MOVE_GLARE, 0x089 - .set MOVE_DREAM_EATER, 0x08a - .set MOVE_POISON_GAS, 0x08b - .set MOVE_BARRAGE, 0x08c - .set MOVE_LEECH_LIFE, 0x08d - .set MOVE_LOVELY_KISS, 0x08e - .set MOVE_SKY_ATTACK, 0x08f - .set MOVE_TRANSFORM, 0x090 - .set MOVE_BUBBLE, 0x091 - .set MOVE_DIZZY_PUNCH, 0x092 - .set MOVE_SPORE, 0x093 - .set MOVE_FLASH, 0x094 - .set MOVE_PSYWAVE, 0x095 - .set MOVE_SPLASH, 0x096 - .set MOVE_ACID_ARMOR, 0x097 - .set MOVE_CRABHAMMER, 0x098 - .set MOVE_EXPLOSION, 0x099 - .set MOVE_FURY_SWIPES, 0x09a - .set MOVE_BONEMERANG, 0x09b - .set MOVE_REST, 0x09c - .set MOVE_ROCK_SLIDE, 0x09d - .set MOVE_HYPER_FANG, 0x09e - .set MOVE_SHARPEN, 0x09f - .set MOVE_CONVERSION, 0x0a0 - .set MOVE_TRI_ATTACK, 0x0a1 - .set MOVE_SUPER_FANG, 0x0a2 - .set MOVE_SLASH, 0x0a3 - .set MOVE_SUBSTITUTE, 0x0a4 - .set MOVE_STRUGGLE, 0x0a5 - .set MOVE_SKETCH, 0x0a6 - .set MOVE_TRIPLE_KICK, 0x0a7 - .set MOVE_THIEF, 0x0a8 - .set MOVE_SPIDER_WEB, 0x0a9 - .set MOVE_MIND_READER, 0x0aa - .set MOVE_NIGHTMARE, 0x0ab - .set MOVE_FLAME_WHEEL, 0x0ac - .set MOVE_SNORE, 0x0ad - .set MOVE_CURSE, 0x0ae - .set MOVE_FLAIL, 0x0af - .set MOVE_CONVERSION_2, 0x0b0 - .set MOVE_AEROBLAST, 0x0b1 - .set MOVE_COTTON_SPORE, 0x0b2 - .set MOVE_REVERSAL, 0x0b3 - .set MOVE_SPITE, 0x0b4 - .set MOVE_POWDER_SNOW, 0x0b5 - .set MOVE_PROTECT, 0x0b6 - .set MOVE_MACH_PUNCH, 0x0b7 - .set MOVE_SCARY_FACE, 0x0b8 - .set MOVE_FAINT_ATTACK, 0x0b9 - .set MOVE_SWEET_KISS, 0x0ba - .set MOVE_BELLY_DRUM, 0x0bb - .set MOVE_SLUDGE_BOMB, 0x0bc - .set MOVE_MUD_SLAP, 0x0bd - .set MOVE_OCTAZOOKA, 0x0be - .set MOVE_SPIKES, 0x0bf - .set MOVE_ZAP_CANNON, 0x0c0 - .set MOVE_FORESIGHT, 0x0c1 - .set MOVE_DESTINY_BOND, 0x0c2 - .set MOVE_PERISH_SONG, 0x0c3 - .set MOVE_ICY_WIND, 0x0c4 - .set MOVE_DETECT, 0x0c5 - .set MOVE_BONE_RUSH, 0x0c6 - .set MOVE_LOCK_ON, 0x0c7 - .set MOVE_OUTRAGE, 0x0c8 - .set MOVE_SANDSTORM, 0x0c9 - .set MOVE_GIGA_DRAIN, 0x0ca - .set MOVE_ENDURE, 0x0cb - .set MOVE_CHARM, 0x0cc - .set MOVE_ROLLOUT, 0x0cd - .set MOVE_FALSE_SWIPE, 0x0ce - .set MOVE_SWAGGER, 0x0cf - .set MOVE_MILK_DRINK, 0x0d0 - .set MOVE_SPARK, 0x0d1 - .set MOVE_FURY_CUTTER, 0x0d2 - .set MOVE_STEEL_WING, 0x0d3 - .set MOVE_MEAN_LOOK, 0x0d4 - .set MOVE_ATTRACT, 0x0d5 - .set MOVE_SLEEP_TALK, 0x0d6 - .set MOVE_HEAL_BELL, 0x0d7 - .set MOVE_RETURN, 0x0d8 - .set MOVE_PRESENT, 0x0d9 - .set MOVE_FRUSTRATION, 0x0da - .set MOVE_SAFEGUARD, 0x0db - .set MOVE_PAIN_SPLIT, 0x0dc - .set MOVE_SACRED_FIRE, 0x0dd - .set MOVE_MAGNITUDE, 0x0de - .set MOVE_DYNAMIC_PUNCH, 0x0df - .set MOVE_MEGAHORN, 0x0e0 - .set MOVE_DRAGON_BREATH, 0x0e1 - .set MOVE_BATON_PASS, 0x0e2 - .set MOVE_ENCORE, 0x0e3 - .set MOVE_PURSUIT, 0x0e4 - .set MOVE_RAPID_SPIN, 0x0e5 - .set MOVE_SWEET_SCENT, 0x0e6 - .set MOVE_IRON_TAIL, 0x0e7 - .set MOVE_METAL_CLAW, 0x0e8 - .set MOVE_VITAL_THROW, 0x0e9 - .set MOVE_MORNING_SUN, 0x0ea - .set MOVE_SYNTHESIS, 0x0eb - .set MOVE_MOONLIGHT, 0x0ec - .set MOVE_HIDDEN_POWER, 0x0ed - .set MOVE_CROSS_CHOP, 0x0ee - .set MOVE_TWISTER, 0x0ef - .set MOVE_RAIN_DANCE, 0x0f0 - .set MOVE_SUNNY_DAY, 0x0f1 - .set MOVE_CRUNCH, 0x0f2 - .set MOVE_MIRROR_COAT, 0x0f3 - .set MOVE_PSYCH_UP, 0x0f4 - .set MOVE_EXTREME_SPEED, 0x0f5 - .set MOVE_ANCIENT_POWER, 0x0f6 - .set MOVE_SHADOW_BALL, 0x0f7 - .set MOVE_FUTURE_SIGHT, 0x0f8 - .set MOVE_ROCK_SMASH, 0x0f9 - .set MOVE_WHIRLPOOL, 0x0fa - .set MOVE_BEAT_UP, 0x0fb - .set MOVE_FAKE_OUT, 0x0fc - .set MOVE_UPROAR, 0x0fd - .set MOVE_STOCKPILE, 0x0fe - .set MOVE_SPIT_UP, 0x0ff - .set MOVE_SWALLOW, 0x100 - .set MOVE_HEAT_WAVE, 0x101 - .set MOVE_HAIL, 0x102 - .set MOVE_TORMENT, 0x103 - .set MOVE_FLATTER, 0x104 - .set MOVE_WILL_O_WISP, 0x105 - .set MOVE_MEMENTO, 0x106 - .set MOVE_FACADE, 0x107 - .set MOVE_FOCUS_PUNCH, 0x108 - .set MOVE_SMELLING_SALT, 0x109 - .set MOVE_FOLLOW_ME, 0x10a - .set MOVE_NATURE_POWER, 0x10b - .set MOVE_CHARGE, 0x10c - .set MOVE_TAUNT, 0x10d - .set MOVE_HELPING_HAND, 0x10e - .set MOVE_TRICK, 0x10f - .set MOVE_ROLE_PLAY, 0x110 - .set MOVE_WISH, 0x111 - .set MOVE_ASSIST, 0x112 - .set MOVE_INGRAIN, 0x113 - .set MOVE_SUPERPOWER, 0x114 - .set MOVE_MAGIC_COAT, 0x115 - .set MOVE_RECYCLE, 0x116 - .set MOVE_REVENGE, 0x117 - .set MOVE_BRICK_BREAK, 0x118 - .set MOVE_YAWN, 0x119 - .set MOVE_KNOCK_OFF, 0x11a - .set MOVE_ENDEAVOR, 0x11b - .set MOVE_ERUPTION, 0x11c - .set MOVE_SKILL_SWAP, 0x11d - .set MOVE_IMPRISON, 0x11e - .set MOVE_REFRESH, 0x11f - .set MOVE_GRUDGE, 0x120 - .set MOVE_SNATCH, 0x121 - .set MOVE_SECRET_POWER, 0x122 - .set MOVE_DIVE, 0x123 - .set MOVE_ARM_THRUST, 0x124 - .set MOVE_CAMOUFLAGE, 0x125 - .set MOVE_TAIL_GLOW, 0x126 - .set MOVE_LUSTER_PURGE, 0x127 - .set MOVE_MIST_BALL, 0x128 - .set MOVE_FEATHER_DANCE, 0x129 - .set MOVE_TEETER_DANCE, 0x12a - .set MOVE_BLAZE_KICK, 0x12b - .set MOVE_MUD_SPORT, 0x12c - .set MOVE_ICE_BALL, 0x12d - .set MOVE_NEEDLE_ARM, 0x12e - .set MOVE_SLACK_OFF, 0x12f - .set MOVE_HYPER_VOICE, 0x130 - .set MOVE_POISON_FANG, 0x131 - .set MOVE_CRUSH_CLAW, 0x132 - .set MOVE_BLAST_BURN, 0x133 - .set MOVE_HYDRO_CANNON, 0x134 - .set MOVE_METEOR_MASH, 0x135 - .set MOVE_ASTONISH, 0x136 - .set MOVE_WEATHER_BALL, 0x137 - .set MOVE_AROMATHERAPY, 0x138 - .set MOVE_FAKE_TEARS, 0x139 - .set MOVE_AIR_CUTTER, 0x13a - .set MOVE_OVERHEAT, 0x13b - .set MOVE_ODOR_SLEUTH, 0x13c - .set MOVE_ROCK_TOMB, 0x13d - .set MOVE_SILVER_WIND, 0x13e - .set MOVE_METAL_SOUND, 0x13f - .set MOVE_GRASS_WHISTLE, 0x140 - .set MOVE_TICKLE, 0x141 - .set MOVE_COSMIC_POWER, 0x142 - .set MOVE_WATER_SPOUT, 0x143 - .set MOVE_SIGNAL_BEAM, 0x144 - .set MOVE_SHADOW_PUNCH, 0x145 - .set MOVE_EXTRASENSORY, 0x146 - .set MOVE_SKY_UPPERCUT, 0x147 - .set MOVE_SAND_TOMB, 0x148 - .set MOVE_SHEER_COLD, 0x149 - .set MOVE_MUDDY_WATER, 0x14a - .set MOVE_BULLET_SEED, 0x14b - .set MOVE_AERIAL_ACE, 0x14c - .set MOVE_ICICLE_SPEAR, 0x14d - .set MOVE_IRON_DEFENSE, 0x14e - .set MOVE_BLOCK, 0x14f - .set MOVE_HOWL, 0x150 - .set MOVE_DRAGON_CLAW, 0x151 - .set MOVE_FRENZY_PLANT, 0x152 - .set MOVE_BULK_UP, 0x153 - .set MOVE_BOUNCE, 0x154 - .set MOVE_MUD_SHOT, 0x155 - .set MOVE_POISON_TAIL, 0x156 - .set MOVE_COVET, 0x157 - .set MOVE_VOLT_TACKLE, 0x158 - .set MOVE_MAGICAL_LEAF, 0x159 - .set MOVE_WATER_SPORT, 0x15a - .set MOVE_CALM_MIND, 0x15b - .set MOVE_LEAF_BLADE, 0x15c - .set MOVE_DRAGON_DANCE, 0x15d - .set MOVE_ROCK_BLAST, 0x15e - .set MOVE_SHOCK_WAVE, 0x15f - .set MOVE_WATER_PULSE, 0x160 - .set MOVE_DOOM_DESIRE, 0x161 - .set MOVE_PSYCHO_BOOST, 0x162 diff --git a/constants/pokemon_data_constants.inc b/constants/pokemon_data_constants.inc index cf5d4df41b..646bd6d4cc 100644 --- a/constants/pokemon_data_constants.inc +++ b/constants/pokemon_data_constants.inc @@ -1,29 +1,3 @@ - .set NATURE_HARDY, 0 - .set NATURE_LONELY, 1 - .set NATURE_BRAVE, 2 - .set NATURE_ADAMANT, 3 - .set NATURE_NAUGHTY, 4 - .set NATURE_BOLD, 5 - .set NATURE_DOCILE, 6 - .set NATURE_RELAXED, 7 - .set NATURE_IMPISH, 8 - .set NATURE_LAX, 9 - .set NATURE_TIMID, 10 - .set NATURE_HASTY, 11 - .set NATURE_SERIOUS, 12 - .set NATURE_JOLLY, 13 - .set NATURE_NAIVE, 14 - .set NATURE_MODEST, 15 - .set NATURE_MILD, 16 - .set NATURE_QUIET, 17 - .set NATURE_BASHFUL, 18 - .set NATURE_RASH, 19 - .set NATURE_CALM, 20 - .set NATURE_GENTLE, 21 - .set NATURE_SASSY, 22 - .set NATURE_CAREFUL, 23 - .set NATURE_QUIRKY, 24 - .set GROWTH_MEDIUM_FAST, 0x00 .set GROWTH_ERRATIC, 0x01 .set GROWTH_FLUCTUATING, 0x02 @@ -31,23 +5,6 @@ .set GROWTH_FAST, 0x04 .set GROWTH_SLOW, 0x05 - .set EGG_GROUP_NONE, 0x00 - .set EGG_GROUP_MONSTER, 0x01 - .set EGG_GROUP_WATER_1, 0x02 - .set EGG_GROUP_BUG, 0x03 - .set EGG_GROUP_FLYING, 0x04 - .set EGG_GROUP_FIELD, 0x05 - .set EGG_GROUP_FAIRY, 0x06 - .set EGG_GROUP_GRASS, 0x07 - .set EGG_GROUP_HUMAN_LIKE, 0x08 - .set EGG_GROUP_WATER_3, 0x09 - .set EGG_GROUP_MINERAL, 0x0a - .set EGG_GROUP_AMORPHOUS, 0x0b - .set EGG_GROUP_WATER_2, 0x0c - .set EGG_GROUP_DITTO, 0x0d - .set EGG_GROUP_DRAGON, 0x0e - .set EGG_GROUP_UNDISCOVERED, 0x0f - .set BODY_COLOR_RED, 0x00 .set BODY_COLOR_BLUE, 0x01 .set BODY_COLOR_YELLOW, 0x02 diff --git a/constants/species_constants.inc b/constants/species_constants.inc deleted file mode 100644 index 7ee94df612..0000000000 --- a/constants/species_constants.inc +++ /dev/null @@ -1,386 +0,0 @@ - .set SPECIES_BULBASAUR, 0x001 - .set SPECIES_IVYSAUR, 0x002 - .set SPECIES_VENUSAUR, 0x003 - .set SPECIES_CHARMANDER, 0x004 - .set SPECIES_CHARMELEON, 0x005 - .set SPECIES_CHARIZARD, 0x006 - .set SPECIES_SQUIRTLE, 0x007 - .set SPECIES_WARTORTLE, 0x008 - .set SPECIES_BLASTOISE, 0x009 - .set SPECIES_CATERPIE, 0x00a - .set SPECIES_METAPOD, 0x00b - .set SPECIES_BUTTERFREE, 0x00c - .set SPECIES_WEEDLE, 0x00d - .set SPECIES_KAKUNA, 0x00e - .set SPECIES_BEEDRILL, 0x00f - .set SPECIES_PIDGEY, 0x010 - .set SPECIES_PIDGEOTTO, 0x011 - .set SPECIES_PIDGEOT, 0x012 - .set SPECIES_RATTATA, 0x013 - .set SPECIES_RATICATE, 0x014 - .set SPECIES_SPEAROW, 0x015 - .set SPECIES_FEAROW, 0x016 - .set SPECIES_EKANS, 0x017 - .set SPECIES_ARBOK, 0x018 - .set SPECIES_PIKACHU, 0x019 - .set SPECIES_RAICHU, 0x01a - .set SPECIES_SANDSHREW, 0x01b - .set SPECIES_SANDSLASH, 0x01c - .set SPECIES_NIDORAN_F, 0x01d - .set SPECIES_NIDORINA, 0x01e - .set SPECIES_NIDOQUEEN, 0x01f - .set SPECIES_NIDORAN_M, 0x020 - .set SPECIES_NIDORINO, 0x021 - .set SPECIES_NIDOKING, 0x022 - .set SPECIES_CLEFAIRY, 0x023 - .set SPECIES_CLEFABLE, 0x024 - .set SPECIES_VULPIX, 0x025 - .set SPECIES_NINETALES, 0x026 - .set SPECIES_JIGGLYPUFF, 0x027 - .set SPECIES_WIGGLYTUFF, 0x028 - .set SPECIES_ZUBAT, 0x029 - .set SPECIES_GOLBAT, 0x02a - .set SPECIES_ODDISH, 0x02b - .set SPECIES_GLOOM, 0x02c - .set SPECIES_VILEPLUME, 0x02d - .set SPECIES_PARAS, 0x02e - .set SPECIES_PARASECT, 0x02f - .set SPECIES_VENONAT, 0x030 - .set SPECIES_VENOMOTH, 0x031 - .set SPECIES_DIGLETT, 0x032 - .set SPECIES_DUGTRIO, 0x033 - .set SPECIES_MEOWTH, 0x034 - .set SPECIES_PERSIAN, 0x035 - .set SPECIES_PSYDUCK, 0x036 - .set SPECIES_GOLDUCK, 0x037 - .set SPECIES_MANKEY, 0x038 - .set SPECIES_PRIMEAPE, 0x039 - .set SPECIES_GROWLITHE, 0x03a - .set SPECIES_ARCANINE, 0x03b - .set SPECIES_POLIWAG, 0x03c - .set SPECIES_POLIWHIRL, 0x03d - .set SPECIES_POLIWRATH, 0x03e - .set SPECIES_ABRA, 0x03f - .set SPECIES_KADABRA, 0x040 - .set SPECIES_ALAKAZAM, 0x041 - .set SPECIES_MACHOP, 0x042 - .set SPECIES_MACHOKE, 0x043 - .set SPECIES_MACHAMP, 0x044 - .set SPECIES_BELLSPROUT, 0x045 - .set SPECIES_WEEPINBELL, 0x046 - .set SPECIES_VICTREEBEL, 0x047 - .set SPECIES_TENTACOOL, 0x048 - .set SPECIES_TENTACRUEL, 0x049 - .set SPECIES_GEODUDE, 0x04a - .set SPECIES_GRAVELER, 0x04b - .set SPECIES_GOLEM, 0x04c - .set SPECIES_PONYTA, 0x04d - .set SPECIES_RAPIDASH, 0x04e - .set SPECIES_SLOWPOKE, 0x04f - .set SPECIES_SLOWBRO, 0x050 - .set SPECIES_MAGNEMITE, 0x051 - .set SPECIES_MAGNETON, 0x052 - .set SPECIES_FARFETCH_D, 0x053 - .set SPECIES_DODUO, 0x054 - .set SPECIES_DODRIO, 0x055 - .set SPECIES_SEEL, 0x056 - .set SPECIES_DEWGONG, 0x057 - .set SPECIES_GRIMER, 0x058 - .set SPECIES_MUK, 0x059 - .set SPECIES_SHELLDER, 0x05a - .set SPECIES_CLOYSTER, 0x05b - .set SPECIES_GASTLY, 0x05c - .set SPECIES_HAUNTER, 0x05d - .set SPECIES_GENGAR, 0x05e - .set SPECIES_ONIX, 0x05f - .set SPECIES_DROWZEE, 0x060 - .set SPECIES_HYPNO, 0x061 - .set SPECIES_KRABBY, 0x062 - .set SPECIES_KINGLER, 0x063 - .set SPECIES_VOLTORB, 0x064 - .set SPECIES_ELECTRODE, 0x065 - .set SPECIES_EXEGGCUTE, 0x066 - .set SPECIES_EXEGGUTOR, 0x067 - .set SPECIES_CUBONE, 0x068 - .set SPECIES_MAROWAK, 0x069 - .set SPECIES_HITMONLEE, 0x06a - .set SPECIES_HITMONCHAN, 0x06b - .set SPECIES_LICKITUNG, 0x06c - .set SPECIES_KOFFING, 0x06d - .set SPECIES_WEEZING, 0x06e - .set SPECIES_RHYHORN, 0x06f - .set SPECIES_RHYDON, 0x070 - .set SPECIES_CHANSEY, 0x071 - .set SPECIES_TANGELA, 0x072 - .set SPECIES_KANGASKHAN, 0x073 - .set SPECIES_HORSEA, 0x074 - .set SPECIES_SEADRA, 0x075 - .set SPECIES_GOLDEEN, 0x076 - .set SPECIES_SEAKING, 0x077 - .set SPECIES_STARYU, 0x078 - .set SPECIES_STARMIE, 0x079 - .set SPECIES_MR_MIME, 0x07a - .set SPECIES_SCYTHER, 0x07b - .set SPECIES_JYNX, 0x07c - .set SPECIES_ELECTABUZZ, 0x07d - .set SPECIES_MAGMAR, 0x07e - .set SPECIES_PINSIR, 0x07f - .set SPECIES_TAUROS, 0x080 - .set SPECIES_MAGIKARP, 0x081 - .set SPECIES_GYARADOS, 0x082 - .set SPECIES_LAPRAS, 0x083 - .set SPECIES_DITTO, 0x084 - .set SPECIES_EEVEE, 0x085 - .set SPECIES_VAPOREON, 0x086 - .set SPECIES_JOLTEON, 0x087 - .set SPECIES_FLAREON, 0x088 - .set SPECIES_PORYGON, 0x089 - .set SPECIES_OMANYTE, 0x08a - .set SPECIES_OMASTAR, 0x08b - .set SPECIES_KABUTO, 0x08c - .set SPECIES_KABUTOPS, 0x08d - .set SPECIES_AERODACTYL, 0x08e - .set SPECIES_SNORLAX, 0x08f - .set SPECIES_ARTICUNO, 0x090 - .set SPECIES_ZAPDOS, 0x091 - .set SPECIES_MOLTRES, 0x092 - .set SPECIES_DRATINI, 0x093 - .set SPECIES_DRAGONAIR, 0x094 - .set SPECIES_DRAGONITE, 0x095 - .set SPECIES_MEWTWO, 0x096 - .set SPECIES_MEW, 0x097 - .set SPECIES_CHIKORITA, 0x098 - .set SPECIES_BAYLEEF, 0x099 - .set SPECIES_MEGANIUM, 0x09a - .set SPECIES_CYNDAQUIL, 0x09b - .set SPECIES_QUILAVA, 0x09c - .set SPECIES_TYPHLOSION, 0x09d - .set SPECIES_TOTODILE, 0x09e - .set SPECIES_CROCONAW, 0x09f - .set SPECIES_FERALIGATR, 0x0a0 - .set SPECIES_SENTRET, 0x0a1 - .set SPECIES_FURRET, 0x0a2 - .set SPECIES_HOOTHOOT, 0x0a3 - .set SPECIES_NOCTOWL, 0x0a4 - .set SPECIES_LEDYBA, 0x0a5 - .set SPECIES_LEDIAN, 0x0a6 - .set SPECIES_SPINARAK, 0x0a7 - .set SPECIES_ARIADOS, 0x0a8 - .set SPECIES_CROBAT, 0x0a9 - .set SPECIES_CHINCHOU, 0x0aa - .set SPECIES_LANTURN, 0x0ab - .set SPECIES_PICHU, 0x0ac - .set SPECIES_CLEFFA, 0x0ad - .set SPECIES_IGGLYBUFF, 0x0ae - .set SPECIES_TOGEPI, 0x0af - .set SPECIES_TOGETIC, 0x0b0 - .set SPECIES_NATU, 0x0b1 - .set SPECIES_XATU, 0x0b2 - .set SPECIES_MAREEP, 0x0b3 - .set SPECIES_FLAAFFY, 0x0b4 - .set SPECIES_AMPHAROS, 0x0b5 - .set SPECIES_BELLOSSOM, 0x0b6 - .set SPECIES_MARILL, 0x0b7 - .set SPECIES_AZUMARILL, 0x0b8 - .set SPECIES_SUDOWOODO, 0x0b9 - .set SPECIES_POLITOED, 0x0ba - .set SPECIES_HOPPIP, 0x0bb - .set SPECIES_SKIPLOOM, 0x0bc - .set SPECIES_JUMPLUFF, 0x0bd - .set SPECIES_AIPOM, 0x0be - .set SPECIES_SUNKERN, 0x0bf - .set SPECIES_SUNFLORA, 0x0c0 - .set SPECIES_YANMA, 0x0c1 - .set SPECIES_WOOPER, 0x0c2 - .set SPECIES_QUAGSIRE, 0x0c3 - .set SPECIES_ESPEON, 0x0c4 - .set SPECIES_UMBREON, 0x0c5 - .set SPECIES_MURKROW, 0x0c6 - .set SPECIES_SLOWKING, 0x0c7 - .set SPECIES_MISDREAVUS, 0x0c8 - .set SPECIES_UNOWN, 0x0c9 - .set SPECIES_WOBBUFFET, 0x0ca - .set SPECIES_GIRAFARIG, 0x0cb - .set SPECIES_PINECO, 0x0cc - .set SPECIES_FORRETRESS, 0x0cd - .set SPECIES_DUNSPARCE, 0x0ce - .set SPECIES_GLIGAR, 0x0cf - .set SPECIES_STEELIX, 0x0d0 - .set SPECIES_SNUBBULL, 0x0d1 - .set SPECIES_GRANBULL, 0x0d2 - .set SPECIES_QWILFISH, 0x0d3 - .set SPECIES_SCIZOR, 0x0d4 - .set SPECIES_SHUCKLE, 0x0d5 - .set SPECIES_HERACROSS, 0x0d6 - .set SPECIES_SNEASEL, 0x0d7 - .set SPECIES_TEDDIURSA, 0x0d8 - .set SPECIES_URSARING, 0x0d9 - .set SPECIES_SLUGMA, 0x0da - .set SPECIES_MAGCARGO, 0x0db - .set SPECIES_SWINUB, 0x0dc - .set SPECIES_PILOSWINE, 0x0dd - .set SPECIES_CORSOLA, 0x0de - .set SPECIES_REMORAID, 0x0df - .set SPECIES_OCTILLERY, 0x0e0 - .set SPECIES_DELIBIRD, 0x0e1 - .set SPECIES_MANTINE, 0x0e2 - .set SPECIES_SKARMORY, 0x0e3 - .set SPECIES_HOUNDOUR, 0x0e4 - .set SPECIES_HOUNDOOM, 0x0e5 - .set SPECIES_KINGDRA, 0x0e6 - .set SPECIES_PHANPY, 0x0e7 - .set SPECIES_DONPHAN, 0x0e8 - .set SPECIES_PORYGON2, 0x0e9 - .set SPECIES_STANTLER, 0x0ea - .set SPECIES_SMEARGLE, 0x0eb - .set SPECIES_TYROGUE, 0x0ec - .set SPECIES_HITMONTOP, 0x0ed - .set SPECIES_SMOOCHUM, 0x0ee - .set SPECIES_ELEKID, 0x0ef - .set SPECIES_MAGBY, 0x0f0 - .set SPECIES_MILTANK, 0x0f1 - .set SPECIES_BLISSEY, 0x0f2 - .set SPECIES_RAIKOU, 0x0f3 - .set SPECIES_ENTEI, 0x0f4 - .set SPECIES_SUICUNE, 0x0f5 - .set SPECIES_LARVITAR, 0x0f6 - .set SPECIES_PUPITAR, 0x0f7 - .set SPECIES_TYRANITAR, 0x0f8 - .set SPECIES_LUGIA, 0x0f9 - .set SPECIES_HO_OH, 0x0fa - .set SPECIES_CELEBI, 0x0fb - .set SPECIES_TREECKO, 0x115 - .set SPECIES_GROVYLE, 0x116 - .set SPECIES_SCEPTILE, 0x117 - .set SPECIES_TORCHIC, 0x118 - .set SPECIES_COMBUSKEN, 0x119 - .set SPECIES_BLAZIKEN, 0x11a - .set SPECIES_MUDKIP, 0x11b - .set SPECIES_MARSHTOMP, 0x11c - .set SPECIES_SWAMPERT, 0x11d - .set SPECIES_POOCHYENA, 0x11e - .set SPECIES_MIGHTYENA, 0x11f - .set SPECIES_ZIGZAGOON, 0x120 - .set SPECIES_LINOONE, 0x121 - .set SPECIES_WURMPLE, 0x122 - .set SPECIES_SILCOON, 0x123 - .set SPECIES_BEAUTIFLY, 0x124 - .set SPECIES_CASCOON, 0x125 - .set SPECIES_DUSTOX, 0x126 - .set SPECIES_LOTAD, 0x127 - .set SPECIES_LOMBRE, 0x128 - .set SPECIES_LUDICOLO, 0x129 - .set SPECIES_SEEDOT, 0x12a - .set SPECIES_NUZLEAF, 0x12b - .set SPECIES_SHIFTRY, 0x12c - .set SPECIES_NINCADA, 0x12d - .set SPECIES_NINJASK, 0x12e - .set SPECIES_SHEDINJA, 0x12f - .set SPECIES_TAILLOW, 0x130 - .set SPECIES_SWELLOW, 0x131 - .set SPECIES_SHROOMISH, 0x132 - .set SPECIES_BRELOOM, 0x133 - .set SPECIES_SPINDA, 0x134 - .set SPECIES_WINGULL, 0x135 - .set SPECIES_PELIPPER, 0x136 - .set SPECIES_SURSKIT, 0x137 - .set SPECIES_MASQUERAIN, 0x138 - .set SPECIES_WAILMER, 0x139 - .set SPECIES_WAILORD, 0x13a - .set SPECIES_SKITTY, 0x13b - .set SPECIES_DELCATTY, 0x13c - .set SPECIES_KECLEON, 0x13d - .set SPECIES_BALTOY, 0x13e - .set SPECIES_CLAYDOL, 0x13f - .set SPECIES_NOSEPASS, 0x140 - .set SPECIES_TORKOAL, 0x141 - .set SPECIES_SABLEYE, 0x142 - .set SPECIES_BARBOACH, 0x143 - .set SPECIES_WHISCASH, 0x144 - .set SPECIES_LUVDISC, 0x145 - .set SPECIES_CORPHISH, 0x146 - .set SPECIES_CRAWDAUNT, 0x147 - .set SPECIES_FEEBAS, 0x148 - .set SPECIES_MILOTIC, 0x149 - .set SPECIES_CARVANHA, 0x14a - .set SPECIES_SHARPEDO, 0x14b - .set SPECIES_TRAPINCH, 0x14c - .set SPECIES_VIBRAVA, 0x14d - .set SPECIES_FLYGON, 0x14e - .set SPECIES_MAKUHITA, 0x14f - .set SPECIES_HARIYAMA, 0x150 - .set SPECIES_ELECTRIKE, 0x151 - .set SPECIES_MANECTRIC, 0x152 - .set SPECIES_NUMEL, 0x153 - .set SPECIES_CAMERUPT, 0x154 - .set SPECIES_SPHEAL, 0x155 - .set SPECIES_SEALEO, 0x156 - .set SPECIES_WALREIN, 0x157 - .set SPECIES_CACNEA, 0x158 - .set SPECIES_CACTURNE, 0x159 - .set SPECIES_SNORUNT, 0x15a - .set SPECIES_GLALIE, 0x15b - .set SPECIES_LUNATONE, 0x15c - .set SPECIES_SOLROCK, 0x15d - .set SPECIES_AZURILL, 0x15e - .set SPECIES_SPOINK, 0x15f - .set SPECIES_GRUMPIG, 0x160 - .set SPECIES_PLUSLE, 0x161 - .set SPECIES_MINUN, 0x162 - .set SPECIES_MAWILE, 0x163 - .set SPECIES_MEDITITE, 0x164 - .set SPECIES_MEDICHAM, 0x165 - .set SPECIES_SWABLU, 0x166 - .set SPECIES_ALTARIA, 0x167 - .set SPECIES_WYNAUT, 0x168 - .set SPECIES_DUSKULL, 0x169 - .set SPECIES_DUSCLOPS, 0x16a - .set SPECIES_ROSELIA, 0x16b - .set SPECIES_SLAKOTH, 0x16c - .set SPECIES_VIGOROTH, 0x16d - .set SPECIES_SLAKING, 0x16e - .set SPECIES_GULPIN, 0x16f - .set SPECIES_SWALOT, 0x170 - .set SPECIES_TROPIUS, 0x171 - .set SPECIES_WHISMUR, 0x172 - .set SPECIES_LOUDRED, 0x173 - .set SPECIES_EXPLOUD, 0x174 - .set SPECIES_CLAMPERL, 0x175 - .set SPECIES_HUNTAIL, 0x176 - .set SPECIES_GOREBYSS, 0x177 - .set SPECIES_ABSOL, 0x178 - .set SPECIES_SHUPPET, 0x179 - .set SPECIES_BANETTE, 0x17a - .set SPECIES_SEVIPER, 0x17b - .set SPECIES_ZANGOOSE, 0x17c - .set SPECIES_RELICANTH, 0x17d - .set SPECIES_ARON, 0x17e - .set SPECIES_LAIRON, 0x17f - .set SPECIES_AGGRON, 0x180 - .set SPECIES_CASTFORM, 0x181 - .set SPECIES_VOLBEAT, 0x182 - .set SPECIES_ILLUMISE, 0x183 - .set SPECIES_LILEEP, 0x184 - .set SPECIES_CRADILY, 0x185 - .set SPECIES_ANORITH, 0x186 - .set SPECIES_ARMALDO, 0x187 - .set SPECIES_RALTS, 0x188 - .set SPECIES_KIRLIA, 0x189 - .set SPECIES_GARDEVOIR, 0x18a - .set SPECIES_BAGON, 0x18b - .set SPECIES_SHELGON, 0x18c - .set SPECIES_SALAMENCE, 0x18d - .set SPECIES_BELDUM, 0x18e - .set SPECIES_METANG, 0x18f - .set SPECIES_METAGROSS, 0x190 - .set SPECIES_REGIROCK, 0x191 - .set SPECIES_REGICE, 0x192 - .set SPECIES_REGISTEEL, 0x193 - .set SPECIES_KYOGRE, 0x194 - .set SPECIES_GROUDON, 0x195 - .set SPECIES_RAYQUAZA, 0x196 - .set SPECIES_LATIAS, 0x197 - .set SPECIES_LATIOS, 0x198 - .set SPECIES_JIRACHI, 0x199 - .set SPECIES_DEOXYS, 0x19a - .set SPECIES_CHIMECHO, 0x19b diff --git a/constants/trainer_constants.inc b/constants/trainer_constants.inc deleted file mode 100644 index f761b721ca..0000000000 --- a/constants/trainer_constants.inc +++ /dev/null @@ -1,1122 +0,0 @@ - .set TRAINER_NONE, 0 - .set TRAINER_SAWYER_1, 1 - .set TRAINER_GRUNT_1, 2 - .set TRAINER_GRUNT_2, 3 - .set TRAINER_GRUNT_3, 4 - .set TRAINER_GRUNT_4, 5 - .set TRAINER_GRUNT_5, 6 - .set TRAINER_GRUNT_6, 7 - .set TRAINER_GRUNT_7, 8 - .set TRAINER_GABRIELLE_1, 9 - .set TRAINER_GRUNT_8, 10 - .set TRAINER_MARCEL, 11 - .set TRAINER_ALBERTO, 12 - .set TRAINER_ED, 13 - .set TRAINER_GRUNT_9, 14 - .set TRAINER_DECLAN, 15 - .set TRAINER_GRUNT_10, 16 - .set TRAINER_GRUNT_11, 17 - .set TRAINER_GRUNT_12, 18 - .set TRAINER_GRUNT_13, 19 - .set TRAINER_GRUNT_14, 20 - .set TRAINER_GRUNT_15, 21 - .set TRAINER_GRUNT_16, 22 - .set TRAINER_GRUNT_17, 23 - .set TRAINER_GRUNT_18, 24 - .set TRAINER_GRUNT_19, 25 - .set TRAINER_GRUNT_20, 26 - .set TRAINER_GRUNT_21, 27 - .set TRAINER_GRUNT_22, 28 - .set TRAINER_FREDRICK, 29 - .set TRAINER_MATT, 30 - .set TRAINER_ZANDER, 31 - .set TRAINER_SHELLY_1, 32 - .set TRAINER_SHELLY_2, 33 - .set TRAINER_ARCHIE, 34 - .set TRAINER_LEAH, 35 - .set TRAINER_DAISY, 36 - .set TRAINER_ROSE_1, 37 - .set TRAINER_FELIX, 38 - .set TRAINER_VIOLET, 39 - .set TRAINER_ROSE_2, 40 - .set TRAINER_ROSE_3, 41 - .set TRAINER_ROSE_4, 42 - .set TRAINER_ROSE_5, 43 - .set TRAINER_DUSTY_1, 44 - .set TRAINER_CHIP, 45 - .set TRAINER_FOSTER, 46 - .set TRAINER_DUSTY_2, 47 - .set TRAINER_DUSTY_3, 48 - .set TRAINER_DUSTY_4, 49 - .set TRAINER_DUSTY_5, 50 - .set TRAINER_GABBY_AND_TY_1, 51 - .set TRAINER_GABBY_AND_TY_2, 52 - .set TRAINER_GABBY_AND_TY_3, 53 - .set TRAINER_GABBY_AND_TY_4, 54 - .set TRAINER_GABBY_AND_TY_5, 55 - .set TRAINER_GABBY_AND_TY_6, 56 - .set TRAINER_LOLA_1, 57 - .set TRAINER_AUSTINA, 58 - .set TRAINER_GWEN, 59 - .set TRAINER_LOLA_2, 60 - .set TRAINER_LOLA_3, 61 - .set TRAINER_LOLA_4, 62 - .set TRAINER_LOLA_5, 63 - .set TRAINER_RICKY_1, 64 - .set TRAINER_SIMON, 65 - .set TRAINER_CHARLIE, 66 - .set TRAINER_RICKY_2, 67 - .set TRAINER_RICKY_3, 68 - .set TRAINER_RICKY_4, 69 - .set TRAINER_RICKY_5, 70 - .set TRAINER_RANDALL, 71 - .set TRAINER_PARKER, 72 - .set TRAINER_GEORGE, 73 - .set TRAINER_BERKE, 74 - .set TRAINER_BRAXTON, 75 - .set TRAINER_VINCENT, 76 - .set TRAINER_LEROY, 77 - .set TRAINER_WILTON_1, 78 - .set TRAINER_EDGAR, 79 - .set TRAINER_ALBERT, 80 - .set TRAINER_SAMUEL, 81 - .set TRAINER_VITO, 82 - .set TRAINER_OWEN, 83 - .set TRAINER_WILTON_2, 84 - .set TRAINER_WILTON_3, 85 - .set TRAINER_WILTON_4, 86 - .set TRAINER_WILTON_5, 87 - .set TRAINER_WARREN, 88 - .set TRAINER_MARY, 89 - .set TRAINER_ALEXIA, 90 - .set TRAINER_JODY, 91 - .set TRAINER_WENDY, 92 - .set TRAINER_KEIRA, 93 - .set TRAINER_BROOKE_1, 94 - .set TRAINER_JENNIFER, 95 - .set TRAINER_HOPE, 96 - .set TRAINER_SHANNON, 97 - .set TRAINER_MICHELLE, 98 - .set TRAINER_CAROLINE, 99 - .set TRAINER_JULIE, 100 - .set TRAINER_BROOKE_2, 101 - .set TRAINER_BROOKE_3, 102 - .set TRAINER_BROOKE_4, 103 - .set TRAINER_BROOKE_5, 104 - .set TRAINER_PATRICIA, 105 - .set TRAINER_KINDRA, 106 - .set TRAINER_TAMMY, 107 - .set TRAINER_VALERIE_1, 108 - .set TRAINER_TASHA, 109 - .set TRAINER_VALERIE_2, 110 - .set TRAINER_VALERIE_3, 111 - .set TRAINER_VALERIE_4, 112 - .set TRAINER_VALERIE_5, 113 - .set TRAINER_CINDY_1, 114 - .set TRAINER_DAPHNE, 115 - .set TRAINER_GRUNT_23, 116 - .set TRAINER_CINDY_2, 117 - .set TRAINER_BRIANNA, 118 - .set TRAINER_NAOMI, 119 - .set TRAINER_CINDY_3, 120 - .set TRAINER_CINDY_4, 121 - .set TRAINER_CINDY_5, 122 - .set TRAINER_CINDY_6, 123 - .set TRAINER_MELISSA, 124 - .set TRAINER_SHEILA, 125 - .set TRAINER_SHIRLEY, 126 - .set TRAINER_JESSICA_1, 127 - .set TRAINER_CONNIE, 128 - .set TRAINER_BRIDGET, 129 - .set TRAINER_OLIVIA, 130 - .set TRAINER_TIFFANY, 131 - .set TRAINER_JESSICA_2, 132 - .set TRAINER_JESSICA_3, 133 - .set TRAINER_JESSICA_4, 134 - .set TRAINER_JESSICA_5, 135 - .set TRAINER_WINSTON_1, 136 - .set TRAINER_MOLLIE, 137 - .set TRAINER_GARRET, 138 - .set TRAINER_WINSTON_2, 139 - .set TRAINER_WINSTON_3, 140 - .set TRAINER_WINSTON_4, 141 - .set TRAINER_WINSTON_5, 142 - .set TRAINER_STEVE_1, 143 - .set TRAINER_THALIA_1, 144 - .set TRAINER_MARK, 145 - .set TRAINER_GRUNT_24, 146 - .set TRAINER_STEVE_2, 147 - .set TRAINER_STEVE_3, 148 - .set TRAINER_STEVE_4, 149 - .set TRAINER_STEVE_5, 150 - .set TRAINER_LUIS, 151 - .set TRAINER_DOMINIK, 152 - .set TRAINER_DOUGLAS, 153 - .set TRAINER_DARRIN, 154 - .set TRAINER_TONY_1, 155 - .set TRAINER_JEROME, 156 - .set TRAINER_MATTHEW, 157 - .set TRAINER_DAVID, 158 - .set TRAINER_SPENCER, 159 - .set TRAINER_ROLAND, 160 - .set TRAINER_NOLEN, 161 - .set TRAINER_STAN, 162 - .set TRAINER_BARRY, 163 - .set TRAINER_DEAN, 164 - .set TRAINER_RODNEY, 165 - .set TRAINER_RICHARD, 166 - .set TRAINER_HERMAN, 167 - .set TRAINER_SANTIAGO, 168 - .set TRAINER_GILBERT, 169 - .set TRAINER_FRANKLIN, 170 - .set TRAINER_KEVIN, 171 - .set TRAINER_JACK, 172 - .set TRAINER_DUDLEY, 173 - .set TRAINER_CHAD, 174 - .set TRAINER_TONY_2, 175 - .set TRAINER_TONY_3, 176 - .set TRAINER_TONY_4, 177 - .set TRAINER_TONY_5, 178 - .set TRAINER_TAKAO, 179 - .set TRAINER_HITOSHI, 180 - .set TRAINER_KIYO, 181 - .set TRAINER_KOICHI, 182 - .set TRAINER_NOB_1, 183 - .set TRAINER_NOB_2, 184 - .set TRAINER_NOB_3, 185 - .set TRAINER_NOB_4, 186 - .set TRAINER_NOB_5, 187 - .set TRAINER_YUJI, 188 - .set TRAINER_DAISUKE, 189 - .set TRAINER_ATSUSHI, 190 - .set TRAINER_KIRK, 191 - .set TRAINER_GRUNT_25, 192 - .set TRAINER_GRUNT_26, 193 - .set TRAINER_SHAWN, 194 - .set TRAINER_FERNANDO_1, 195 - .set TRAINER_DALTON_1, 196 - .set TRAINER_DALTON_2, 197 - .set TRAINER_DALTON_3, 198 - .set TRAINER_DALTON_4, 199 - .set TRAINER_DALTON_5, 200 - .set TRAINER_COLE, 201 - .set TRAINER_JEFF, 202 - .set TRAINER_AXLE, 203 - .set TRAINER_JACE, 204 - .set TRAINER_KEEGAN, 205 - .set TRAINER_BERNIE_1, 206 - .set TRAINER_BERNIE_2, 207 - .set TRAINER_BERNIE_3, 208 - .set TRAINER_BERNIE_4, 209 - .set TRAINER_BERNIE_5, 210 - .set TRAINER_DREW, 211 - .set TRAINER_BEAU, 212 - .set TRAINER_LARRY, 213 - .set TRAINER_SHANE, 214 - .set TRAINER_JUSTIN, 215 - .set TRAINER_ETHAN_1, 216 - .set TRAINER_AUTUMN, 217 - .set TRAINER_TRAVIS, 218 - .set TRAINER_ETHAN_2, 219 - .set TRAINER_ETHAN_3, 220 - .set TRAINER_ETHAN_4, 221 - .set TRAINER_ETHAN_5, 222 - .set TRAINER_BRENT, 223 - .set TRAINER_DONALD, 224 - .set TRAINER_TAYLOR, 225 - .set TRAINER_JEFFREY_1, 226 - .set TRAINER_DEREK, 227 - .set TRAINER_JEFFREY_2, 228 - .set TRAINER_JEFFREY_3, 229 - .set TRAINER_JEFFREY_4, 230 - .set TRAINER_JEFFREY_5, 231 - .set TRAINER_EDWARD, 232 - .set TRAINER_PRESTON, 233 - .set TRAINER_VIRGIL, 234 - .set TRAINER_BLAKE, 235 - .set TRAINER_WILLIAM, 236 - .set TRAINER_JOSHUA, 237 - .set TRAINER_CAMERON_1, 238 - .set TRAINER_CAMERON_2, 239 - .set TRAINER_CAMERON_3, 240 - .set TRAINER_CAMERON_4, 241 - .set TRAINER_CAMERON_5, 242 - .set TRAINER_JACLYN, 243 - .set TRAINER_HANNAH, 244 - .set TRAINER_SAMANTHA, 245 - .set TRAINER_MAURA, 246 - .set TRAINER_KAYLA, 247 - .set TRAINER_ALEXIS, 248 - .set TRAINER_JACKI_1, 249 - .set TRAINER_JACKI_2, 250 - .set TRAINER_JACKI_3, 251 - .set TRAINER_JACKI_4, 252 - .set TRAINER_JACKI_5, 253 - .set TRAINER_WALTER_1, 254 - .set TRAINER_MICAH, 255 - .set TRAINER_THOMAS, 256 - .set TRAINER_WALTER_2, 257 - .set TRAINER_WALTER_3, 258 - .set TRAINER_WALTER_4, 259 - .set TRAINER_WALTER_5, 260 - .set TRAINER_SIDNEY, 261 - .set TRAINER_PHOEBE, 262 - .set TRAINER_GLACIA, 263 - .set TRAINER_DRAKE, 264 - .set TRAINER_ROXANNE_1, 265 - .set TRAINER_BRAWLY_1, 266 - .set TRAINER_WATTSON_1, 267 - .set TRAINER_FLANNERY_1, 268 - .set TRAINER_NORMAN_1, 269 - .set TRAINER_WINONA_1, 270 - .set TRAINER_TATE_AND_LIZA_1, 271 - .set TRAINER_JUAN_1, 272 - .set TRAINER_JERRY_1, 273 - .set TRAINER_TED, 274 - .set TRAINER_PAUL, 275 - .set TRAINER_JERRY_2, 276 - .set TRAINER_JERRY_3, 277 - .set TRAINER_JERRY_4, 278 - .set TRAINER_JERRY_5, 279 - .set TRAINER_KAREN_1, 280 - .set TRAINER_GEORGIA, 281 - .set TRAINER_KAREN_2, 282 - .set TRAINER_KAREN_3, 283 - .set TRAINER_KAREN_4, 284 - .set TRAINER_KAREN_5, 285 - .set TRAINER_KATE_AND_JOY, 286 - .set TRAINER_ANNA_AND_MEG_1, 287 - .set TRAINER_ANNA_AND_MEG_2, 288 - .set TRAINER_ANNA_AND_MEG_3, 289 - .set TRAINER_ANNA_AND_MEG_4, 290 - .set TRAINER_ANNA_AND_MEG_5, 291 - .set TRAINER_VICTOR, 292 - .set TRAINER_MIGUEL_1, 293 - .set TRAINER_COLTON, 294 - .set TRAINER_MIGUEL_2, 295 - .set TRAINER_MIGUEL_3, 296 - .set TRAINER_MIGUEL_4, 297 - .set TRAINER_MIGUEL_5, 298 - .set TRAINER_VICTORIA, 299 - .set TRAINER_VANESSA, 300 - .set TRAINER_BETHANY, 301 - .set TRAINER_ISABEL_1, 302 - .set TRAINER_ISABEL_2, 303 - .set TRAINER_ISABEL_3, 304 - .set TRAINER_ISABEL_4, 305 - .set TRAINER_ISABEL_5, 306 - .set TRAINER_TIMOTHY_1, 307 - .set TRAINER_TIMOTHY_2, 308 - .set TRAINER_TIMOTHY_3, 309 - .set TRAINER_TIMOTHY_4, 310 - .set TRAINER_TIMOTHY_5, 311 - .set TRAINER_VICKY, 312 - .set TRAINER_SHELBY_1, 313 - .set TRAINER_SHELBY_2, 314 - .set TRAINER_SHELBY_3, 315 - .set TRAINER_SHELBY_4, 316 - .set TRAINER_SHELBY_5, 317 - .set TRAINER_CALVIN_1, 318 - .set TRAINER_BILLY, 319 - .set TRAINER_JOSH, 320 - .set TRAINER_TOMMY, 321 - .set TRAINER_JOEY, 322 - .set TRAINER_BEN, 323 - .set TRAINER_QUINCY, 324 - .set TRAINER_KATELYNN, 325 - .set TRAINER_JAYLEN, 326 - .set TRAINER_DILLON, 327 - .set TRAINER_CALVIN_2, 328 - .set TRAINER_CALVIN_3, 329 - .set TRAINER_CALVIN_4, 330 - .set TRAINER_CALVIN_5, 331 - .set TRAINER_EDDIE, 332 - .set TRAINER_ALLEN, 333 - .set TRAINER_TIMMY, 334 - .set TRAINER_WALLACE, 335 - .set TRAINER_ANDREW, 336 - .set TRAINER_IVAN, 337 - .set TRAINER_CLAUDE, 338 - .set TRAINER_ELLIOT_1, 339 - .set TRAINER_NED, 340 - .set TRAINER_DALE, 341 - .set TRAINER_NOLAN, 342 - .set TRAINER_BARNY, 343 - .set TRAINER_WADE, 344 - .set TRAINER_CARTER, 345 - .set TRAINER_ELLIOT_2, 346 - .set TRAINER_ELLIOT_3, 347 - .set TRAINER_ELLIOT_4, 348 - .set TRAINER_ELLIOT_5, 349 - .set TRAINER_RONALD, 350 - .set TRAINER_JACOB, 351 - .set TRAINER_ANTHONY, 352 - .set TRAINER_BENJAMIN_1, 353 - .set TRAINER_BENJAMIN_2, 354 - .set TRAINER_BENJAMIN_3, 355 - .set TRAINER_BENJAMIN_4, 356 - .set TRAINER_BENJAMIN_5, 357 - .set TRAINER_ABIGAIL_1, 358 - .set TRAINER_JASMINE, 359 - .set TRAINER_ABIGAIL_2, 360 - .set TRAINER_ABIGAIL_3, 361 - .set TRAINER_ABIGAIL_4, 362 - .set TRAINER_ABIGAIL_5, 363 - .set TRAINER_DYLAN_1, 364 - .set TRAINER_DYLAN_2, 365 - .set TRAINER_DYLAN_3, 366 - .set TRAINER_DYLAN_4, 367 - .set TRAINER_DYLAN_5, 368 - .set TRAINER_MARIA_1, 369 - .set TRAINER_MARIA_2, 370 - .set TRAINER_MARIA_3, 371 - .set TRAINER_MARIA_4, 372 - .set TRAINER_MARIA_5, 373 - .set TRAINER_CAMDEN, 374 - .set TRAINER_DEMETRIUS, 375 - .set TRAINER_ISAIAH_1, 376 - .set TRAINER_PABLO_1, 377 - .set TRAINER_CHASE, 378 - .set TRAINER_ISAIAH_2, 379 - .set TRAINER_ISAIAH_3, 380 - .set TRAINER_ISAIAH_4, 381 - .set TRAINER_ISAIAH_5, 382 - .set TRAINER_ISOBEL, 383 - .set TRAINER_DONNY, 384 - .set TRAINER_TALIA, 385 - .set TRAINER_KATELYN_1, 386 - .set TRAINER_ALLISON, 387 - .set TRAINER_KATELYN_2, 388 - .set TRAINER_KATELYN_3, 389 - .set TRAINER_KATELYN_4, 390 - .set TRAINER_KATELYN_5, 391 - .set TRAINER_NICOLAS_1, 392 - .set TRAINER_NICOLAS_2, 393 - .set TRAINER_NICOLAS_3, 394 - .set TRAINER_NICOLAS_4, 395 - .set TRAINER_NICOLAS_5, 396 - .set TRAINER_AARON, 397 - .set TRAINER_PERRY, 398 - .set TRAINER_HUGH, 399 - .set TRAINER_PHIL, 400 - .set TRAINER_JARED, 401 - .set TRAINER_HUMBERTO, 402 - .set TRAINER_PRESLEY, 403 - .set TRAINER_EDWARDO, 404 - .set TRAINER_COLIN, 405 - .set TRAINER_ROBERT_1, 406 - .set TRAINER_BENNY, 407 - .set TRAINER_CHESTER, 408 - .set TRAINER_ROBERT_2, 409 - .set TRAINER_ROBERT_3, 410 - .set TRAINER_ROBERT_4, 411 - .set TRAINER_ROBERT_5, 412 - .set TRAINER_ALEX, 413 - .set TRAINER_BECK, 414 - .set TRAINER_YASU, 415 - .set TRAINER_TAKASHI, 416 - .set TRAINER_DIANNE, 417 - .set TRAINER_JANI, 418 - .set TRAINER_LAO_1, 419 - .set TRAINER_LUNG, 420 - .set TRAINER_LAO_2, 421 - .set TRAINER_LAO_3, 422 - .set TRAINER_LAO_4, 423 - .set TRAINER_LAO_5, 424 - .set TRAINER_JOCELYN, 425 - .set TRAINER_LAURA, 426 - .set TRAINER_CYNDY_1, 427 - .set TRAINER_CORA, 428 - .set TRAINER_PAULA, 429 - .set TRAINER_CYNDY_2, 430 - .set TRAINER_CYNDY_3, 431 - .set TRAINER_CYNDY_4, 432 - .set TRAINER_CYNDY_5, 433 - .set TRAINER_MADELINE_1, 434 - .set TRAINER_CLARISSA, 435 - .set TRAINER_ANGELICA, 436 - .set TRAINER_MADELINE_2, 437 - .set TRAINER_MADELINE_3, 438 - .set TRAINER_MADELINE_4, 439 - .set TRAINER_MADELINE_5, 440 - .set TRAINER_BEVERLY, 441 - .set TRAINER_IMANI, 442 - .set TRAINER_KYLA, 443 - .set TRAINER_DENISE, 444 - .set TRAINER_BETH, 445 - .set TRAINER_TARA, 446 - .set TRAINER_MISSY, 447 - .set TRAINER_ALICE, 448 - .set TRAINER_JENNY_1, 449 - .set TRAINER_GRACE, 450 - .set TRAINER_TANYA, 451 - .set TRAINER_SHARON, 452 - .set TRAINER_NIKKI, 453 - .set TRAINER_BRENDA, 454 - .set TRAINER_KATIE, 455 - .set TRAINER_SUSIE, 456 - .set TRAINER_KARA, 457 - .set TRAINER_DANA, 458 - .set TRAINER_SIENNA, 459 - .set TRAINER_DEBRA, 460 - .set TRAINER_LINDA, 461 - .set TRAINER_KAYLEE, 462 - .set TRAINER_LAUREL, 463 - .set TRAINER_CARLEE, 464 - .set TRAINER_JENNY_2, 465 - .set TRAINER_JENNY_3, 466 - .set TRAINER_JENNY_4, 467 - .set TRAINER_JENNY_5, 468 - .set TRAINER_HEIDI, 469 - .set TRAINER_BECKY, 470 - .set TRAINER_CAROL, 471 - .set TRAINER_NANCY, 472 - .set TRAINER_MARTHA, 473 - .set TRAINER_DIANA_1, 474 - .set TRAINER_CEDRIC, 475 - .set TRAINER_IRENE, 476 - .set TRAINER_DIANA_2, 477 - .set TRAINER_DIANA_3, 478 - .set TRAINER_DIANA_4, 479 - .set TRAINER_DIANA_5, 480 - .set TRAINER_AMY_AND_LIV_1, 481 - .set TRAINER_AMY_AND_LIV_2, 482 - .set TRAINER_GINA_AND_MIA_1, 483 - .set TRAINER_MIU_AND_YUKI, 484 - .set TRAINER_AMY_AND_LIV_3, 485 - .set TRAINER_GINA_AND_MIA_2, 486 - .set TRAINER_AMY_AND_LIV_4, 487 - .set TRAINER_AMY_AND_LIV_5, 488 - .set TRAINER_AMY_AND_LIV_6, 489 - .set TRAINER_HUEY, 490 - .set TRAINER_EDMOND, 491 - .set TRAINER_ERNEST_1, 492 - .set TRAINER_DWAYNE, 493 - .set TRAINER_PHILLIP, 494 - .set TRAINER_LEONARD, 495 - .set TRAINER_DUNCAN, 496 - .set TRAINER_ERNEST_2, 497 - .set TRAINER_ERNEST_3, 498 - .set TRAINER_ERNEST_4, 499 - .set TRAINER_ERNEST_5, 500 - .set TRAINER_ELI, 501 - .set TRAINER_ANNIKA, 502 - .set TRAINER_JAZMYN, 503 - .set TRAINER_JONAS, 504 - .set TRAINER_KAYLEY, 505 - .set TRAINER_AURON, 506 - .set TRAINER_KELVIN, 507 - .set TRAINER_MARLEY, 508 - .set TRAINER_REYNA, 509 - .set TRAINER_HUDSON, 510 - .set TRAINER_CONOR, 511 - .set TRAINER_EDWIN_1, 512 - .set TRAINER_HECTOR, 513 - .set TRAINER_TABITHA_1, 514 - .set TRAINER_EDWIN_2, 515 - .set TRAINER_EDWIN_3, 516 - .set TRAINER_EDWIN_4, 517 - .set TRAINER_EDWIN_5, 518 - .set TRAINER_WALLY_1, 519 - .set TRAINER_BRENDAN_1, 520 - .set TRAINER_BRENDAN_2, 521 - .set TRAINER_BRENDAN_3, 522 - .set TRAINER_BRENDAN_4, 523 - .set TRAINER_BRENDAN_5, 524 - .set TRAINER_BRENDAN_6, 525 - .set TRAINER_BRENDAN_7, 526 - .set TRAINER_BRENDAN_8, 527 - .set TRAINER_BRENDAN_9, 528 - .set TRAINER_MAY_1, 529 - .set TRAINER_MAY_2, 530 - .set TRAINER_MAY_3, 531 - .set TRAINER_MAY_4, 532 - .set TRAINER_MAY_5, 533 - .set TRAINER_MAY_6, 534 - .set TRAINER_MAY_7, 535 - .set TRAINER_MAY_8, 536 - .set TRAINER_MAY_9, 537 - .set TRAINER_ISAAC_1, 538 - .set TRAINER_DAVIS, 539 - .set TRAINER_MITCHELL, 540 - .set TRAINER_ISAAC_2, 541 - .set TRAINER_ISAAC_3, 542 - .set TRAINER_ISAAC_4, 543 - .set TRAINER_ISAAC_5, 544 - .set TRAINER_LYDIA_1, 545 - .set TRAINER_HALLE, 546 - .set TRAINER_GARRISON, 547 - .set TRAINER_LYDIA_2, 548 - .set TRAINER_LYDIA_3, 549 - .set TRAINER_LYDIA_4, 550 - .set TRAINER_LYDIA_5, 551 - .set TRAINER_JACKSON_1, 552 - .set TRAINER_LORENZO, 553 - .set TRAINER_SEBASTIAN, 554 - .set TRAINER_JACKSON_2, 555 - .set TRAINER_JACKSON_3, 556 - .set TRAINER_JACKSON_4, 557 - .set TRAINER_JACKSON_5, 558 - .set TRAINER_CATHERINE_1, 559 - .set TRAINER_JENNA, 560 - .set TRAINER_SOPHIA, 561 - .set TRAINER_CATHERINE_2, 562 - .set TRAINER_CATHERINE_3, 563 - .set TRAINER_CATHERINE_4, 564 - .set TRAINER_CATHERINE_5, 565 - .set TRAINER_JULIO, 566 - .set TRAINER_GRUNT_27, 567 - .set TRAINER_GRUNT_28, 568 - .set TRAINER_GRUNT_29, 569 - .set TRAINER_GRUNT_30, 570 - .set TRAINER_MARC, 571 - .set TRAINER_BRENDEN, 572 - .set TRAINER_LILITH, 573 - .set TRAINER_CRISTIAN, 574 - .set TRAINER_SYLVIA, 575 - .set TRAINER_LEONARDO, 576 - .set TRAINER_ATHENA, 577 - .set TRAINER_HARRISON, 578 - .set TRAINER_GRUNT_31, 579 - .set TRAINER_CLARENCE, 580 - .set TRAINER_TERRY, 581 - .set TRAINER_NATE, 582 - .set TRAINER_KATHLEEN, 583 - .set TRAINER_CLIFFORD, 584 - .set TRAINER_NICHOLAS, 585 - .set TRAINER_GRUNT_32, 586 - .set TRAINER_GRUNT_33, 587 - .set TRAINER_GRUNT_34, 588 - .set TRAINER_GRUNT_35, 589 - .set TRAINER_GRUNT_36, 590 - .set TRAINER_MACEY, 591 - .set TRAINER_BRENDAN_10, 592 - .set TRAINER_BRENDAN_11, 593 - .set TRAINER_PAXTON, 594 - .set TRAINER_ISABELLA, 595 - .set TRAINER_GRUNT_37, 596 - .set TRAINER_TABITHA_2, 597 - .set TRAINER_JONATHAN, 598 - .set TRAINER_BRENDAN_12, 599 - .set TRAINER_MAY_10, 600 - .set TRAINER_MAXIE_1, 601 - .set TRAINER_MAXIE_2, 602 - .set TRAINER_TIANA, 603 - .set TRAINER_HALEY_1, 604 - .set TRAINER_JANICE, 605 - .set TRAINER_VIVI, 606 - .set TRAINER_HALEY_2, 607 - .set TRAINER_HALEY_3, 608 - .set TRAINER_HALEY_4, 609 - .set TRAINER_HALEY_5, 610 - .set TRAINER_SALLY, 611 - .set TRAINER_ROBIN, 612 - .set TRAINER_ANDREA, 613 - .set TRAINER_CRISSY, 614 - .set TRAINER_RICK, 615 - .set TRAINER_LYLE, 616 - .set TRAINER_JOSE, 617 - .set TRAINER_DOUG, 618 - .set TRAINER_GREG, 619 - .set TRAINER_KENT, 620 - .set TRAINER_JAMES_1, 621 - .set TRAINER_JAMES_2, 622 - .set TRAINER_JAMES_3, 623 - .set TRAINER_JAMES_4, 624 - .set TRAINER_JAMES_5, 625 - .set TRAINER_BRICE, 626 - .set TRAINER_TRENT_1, 627 - .set TRAINER_LENNY, 628 - .set TRAINER_LUCAS_1, 629 - .set TRAINER_ALAN, 630 - .set TRAINER_CLARK, 631 - .set TRAINER_ERIC, 632 - .set TRAINER_LUCAS_2, 633 - .set TRAINER_MIKE_1, 634 - .set TRAINER_MIKE_2, 635 - .set TRAINER_TRENT_2, 636 - .set TRAINER_TRENT_3, 637 - .set TRAINER_TRENT_4, 638 - .set TRAINER_TRENT_5, 639 - .set TRAINER_DEZ_AND_LUKE, 640 - .set TRAINER_LEA_AND_JED, 641 - .set TRAINER_KIRA_AND_DAN_1, 642 - .set TRAINER_KIRA_AND_DAN_2, 643 - .set TRAINER_KIRA_AND_DAN_3, 644 - .set TRAINER_KIRA_AND_DAN_4, 645 - .set TRAINER_KIRA_AND_DAN_5, 646 - .set TRAINER_JOHANNA, 647 - .set TRAINER_GERALD, 648 - .set TRAINER_VIVIAN, 649 - .set TRAINER_DANIELLE, 650 - .set TRAINER_HIDEO, 651 - .set TRAINER_KEIGO, 652 - .set TRAINER_RILEY, 653 - .set TRAINER_FLINT, 654 - .set TRAINER_ASHLEY, 655 - .set TRAINER_WALLY_2, 656 - .set TRAINER_WALLY_3, 657 - .set TRAINER_WALLY_4, 658 - .set TRAINER_WALLY_5, 659 - .set TRAINER_WALLY_6, 660 - .set TRAINER_BRENDAN_13, 661 - .set TRAINER_BRENDAN_14, 662 - .set TRAINER_BRENDAN_15, 663 - .set TRAINER_MAY_11, 664 - .set TRAINER_MAY_12, 665 - .set TRAINER_MAY_13, 666 - .set TRAINER_JONAH, 667 - .set TRAINER_HENRY, 668 - .set TRAINER_ROGER, 669 - .set TRAINER_ALEXA, 670 - .set TRAINER_RUBEN, 671 - .set TRAINER_KOJI_1, 672 - .set TRAINER_WAYNE, 673 - .set TRAINER_AIDAN, 674 - .set TRAINER_REED, 675 - .set TRAINER_TISHA, 676 - .set TRAINER_TORI_AND_TIA, 677 - .set TRAINER_KIM_AND_IRIS, 678 - .set TRAINER_TYRA_AND_IVY, 679 - .set TRAINER_MEL_AND_PAUL, 680 - .set TRAINER_JOHN_AND_JAY_1, 681 - .set TRAINER_JOHN_AND_JAY_2, 682 - .set TRAINER_JOHN_AND_JAY_3, 683 - .set TRAINER_JOHN_AND_JAY_4, 684 - .set TRAINER_JOHN_AND_JAY_5, 685 - .set TRAINER_RELI_AND_IAN, 686 - .set TRAINER_LILA_AND_ROY_1, 687 - .set TRAINER_LILA_AND_ROY_2, 688 - .set TRAINER_LILA_AND_ROY_3, 689 - .set TRAINER_LILA_AND_ROY_4, 690 - .set TRAINER_LILA_AND_ROY_5, 691 - .set TRAINER_LISA_AND_RAY, 692 - .set TRAINER_CHRIS, 693 - .set TRAINER_DAWSON, 694 - .set TRAINER_SARAH, 695 - .set TRAINER_DARIAN, 696 - .set TRAINER_HAILEY, 697 - .set TRAINER_CHANDLER, 698 - .set TRAINER_KALEB, 699 - .set TRAINER_JOSEPH, 700 - .set TRAINER_ALYSSA, 701 - .set TRAINER_MARCOS, 702 - .set TRAINER_RHETT, 703 - .set TRAINER_TYRON, 704 - .set TRAINER_CELINA, 705 - .set TRAINER_BIANCA, 706 - .set TRAINER_HAYDEN, 707 - .set TRAINER_SOPHIE, 708 - .set TRAINER_COBY, 709 - .set TRAINER_LAWRENCE, 710 - .set TRAINER_WYATT, 711 - .set TRAINER_ANGELINA, 712 - .set TRAINER_KAI, 713 - .set TRAINER_CHARLOTTE, 714 - .set TRAINER_DEANDRE, 715 - .set TRAINER_GRUNT_38, 716 - .set TRAINER_GRUNT_39, 717 - .set TRAINER_GRUNT_40, 718 - .set TRAINER_GRUNT_41, 719 - .set TRAINER_GRUNT_42, 720 - .set TRAINER_GRUNT_43, 721 - .set TRAINER_GRUNT_44, 722 - .set TRAINER_GRUNT_45, 723 - .set TRAINER_GRUNT_46, 724 - .set TRAINER_GRUNT_47, 725 - .set TRAINER_GRUNT_48, 726 - .set TRAINER_GRUNT_49, 727 - .set TRAINER_GRUNT_50, 728 - .set TRAINER_GRUNT_51, 729 - .set TRAINER_GRUNT_52, 730 - .set TRAINER_GRUNT_53, 731 - .set TRAINER_TABITHA_3, 732 - .set TRAINER_DARCY, 733 - .set TRAINER_MAXIE_3, 734 - .set TRAINER_PETE, 735 - .set TRAINER_ISABELLE, 736 - .set TRAINER_ANDRES_1, 737 - .set TRAINER_JOSUE, 738 - .set TRAINER_CAMRON, 739 - .set TRAINER_CORY_1, 740 - .set TRAINER_CAROLINA, 741 - .set TRAINER_ELIJAH, 742 - .set TRAINER_CELIA, 743 - .set TRAINER_BRYAN, 744 - .set TRAINER_BRANDEN, 745 - .set TRAINER_BRYANT, 746 - .set TRAINER_SHAYLA, 747 - .set TRAINER_KYRA, 748 - .set TRAINER_JAIDEN, 749 - .set TRAINER_ALIX, 750 - .set TRAINER_HELENE, 751 - .set TRAINER_MARLENE, 752 - .set TRAINER_DEVAN, 753 - .set TRAINER_JOHNSON, 754 - .set TRAINER_MELINA, 755 - .set TRAINER_BRANDI, 756 - .set TRAINER_AISHA, 757 - .set TRAINER_MAKAYLA, 758 - .set TRAINER_FABIAN, 759 - .set TRAINER_DAYTON, 760 - .set TRAINER_RACHEL, 761 - .set TRAINER_LEONEL, 762 - .set TRAINER_CALLIE, 763 - .set TRAINER_CALE, 764 - .set TRAINER_MYLES, 765 - .set TRAINER_PAT, 766 - .set TRAINER_CRISTIN_1, 767 - .set TRAINER_MAY_14, 768 - .set TRAINER_MAY_15, 769 - .set TRAINER_ROXANNE_2, 770 - .set TRAINER_ROXANNE_3, 771 - .set TRAINER_ROXANNE_4, 772 - .set TRAINER_ROXANNE_5, 773 - .set TRAINER_BRAWLY_2, 774 - .set TRAINER_BRAWLY_3, 775 - .set TRAINER_BRAWLY_4, 776 - .set TRAINER_BRAWLY_5, 777 - .set TRAINER_WATTSON_2, 778 - .set TRAINER_WATTSON_3, 779 - .set TRAINER_WATTSON_4, 780 - .set TRAINER_WATTSON_5, 781 - .set TRAINER_FLANNERY_2, 782 - .set TRAINER_FLANNERY_3, 783 - .set TRAINER_FLANNERY_4, 784 - .set TRAINER_FLANNERY_5, 785 - .set TRAINER_NORMAN_2, 786 - .set TRAINER_NORMAN_3, 787 - .set TRAINER_NORMAN_4, 788 - .set TRAINER_NORMAN_5, 789 - .set TRAINER_WINONA_2, 790 - .set TRAINER_WINONA_3, 791 - .set TRAINER_WINONA_4, 792 - .set TRAINER_WINONA_5, 793 - .set TRAINER_TATE_AND_LIZA_2, 794 - .set TRAINER_TATE_AND_LIZA_3, 795 - .set TRAINER_TATE_AND_LIZA_4, 796 - .set TRAINER_TATE_AND_LIZA_5, 797 - .set TRAINER_JUAN_2, 798 - .set TRAINER_JUAN_3, 799 - .set TRAINER_JUAN_4, 800 - .set TRAINER_JUAN_5, 801 - .set TRAINER_ANGELO, 802 - .set TRAINER_DARIUS, 803 - .set TRAINER_STEVEN, 804 - .set TRAINER_ANABEL, 805 - .set TRAINER_TUCKER, 806 - .set TRAINER_SPENSER, 807 - .set TRAINER_GRETA, 808 - .set TRAINER_NOLAND, 809 - .set TRAINER_LUCY, 810 - .set TRAINER_BRANDON, 811 - .set TRAINER_ANDRES_2, 812 - .set TRAINER_ANDRES_3, 813 - .set TRAINER_ANDRES_4, 814 - .set TRAINER_ANDRES_5, 815 - .set TRAINER_CORY_2, 816 - .set TRAINER_CORY_3, 817 - .set TRAINER_CORY_4, 818 - .set TRAINER_CORY_5, 819 - .set TRAINER_PABLO_2, 820 - .set TRAINER_PABLO_3, 821 - .set TRAINER_PABLO_4, 822 - .set TRAINER_PABLO_5, 823 - .set TRAINER_KOJI_2, 824 - .set TRAINER_KOJI_3, 825 - .set TRAINER_KOJI_4, 826 - .set TRAINER_KOJI_5, 827 - .set TRAINER_CRISTIN_2, 828 - .set TRAINER_CRISTIN_3, 829 - .set TRAINER_CRISTIN_4, 830 - .set TRAINER_CRISTIN_5, 831 - .set TRAINER_FERNANDO_2, 832 - .set TRAINER_FERNANDO_3, 833 - .set TRAINER_FERNANDO_4, 834 - .set TRAINER_FERNANDO_5, 835 - .set TRAINER_SAWYER_2, 836 - .set TRAINER_SAWYER_3, 837 - .set TRAINER_SAWYER_4, 838 - .set TRAINER_SAWYER_5, 839 - .set TRAINER_GABRIELLE_2, 840 - .set TRAINER_GABRIELLE_3, 841 - .set TRAINER_GABRIELLE_4, 842 - .set TRAINER_GABRIELLE_5, 843 - .set TRAINER_THALIA_2, 844 - .set TRAINER_THALIA_3, 845 - .set TRAINER_THALIA_4, 846 - .set TRAINER_THALIA_5, 847 - .set TRAINER_MARIELA, 848 - .set TRAINER_ALVARO, 849 - .set TRAINER_EVERETT, 850 - .set TRAINER_RED, 851 - .set TRAINER_LEAF, 852 - .set TRAINER_BRENDAN_16, 853 - .set TRAINER_MAY_16, 854 - - .set TRAINER_PIC_HIKER, 0 - .set TRAINER_PIC_AQUA_GRUNT_M, 1 - .set TRAINER_PIC_POKEMON_BREEDER_F, 2 - .set TRAINER_PIC_COOL_TRAINER_M, 3 - .set TRAINER_PIC_BIRD_KEEPER, 4 - .set TRAINER_PIC_COLLECTOR, 5 - .set TRAINER_PIC_AQUA_GRUNT_F, 6 - .set TRAINER_PIC_SWIMMER_M, 7 - .set TRAINER_PIC_MAGMA_GRUNT_M, 8 - .set TRAINER_PIC_EXPERT_M, 9 - .set TRAINER_PIC_AQUA_ADMIN_M, 10 - .set TRAINER_PIC_BLACK_BELT, 11 - .set TRAINER_PIC_AQUA_ADMIN_F, 12 - .set TRAINER_PIC_AQUA_LEADER_ARCHIE, 13 - .set TRAINER_PIC_HEX_MANIAC, 14 - .set TRAINER_PIC_AROMA_LADY, 15 - .set TRAINER_PIC_RUIN_MANIAC, 16 - .set TRAINER_PIC_INTERVIEWER, 17 - .set TRAINER_PIC_TUBER_F, 18 - .set TRAINER_PIC_TUBER_M, 19 - .set TRAINER_PIC_COOL_TRAINER_F, 20 - .set TRAINER_PIC_LADY, 21 - .set TRAINER_PIC_BEAUTY, 22 - .set TRAINER_PIC_RICH_BOY, 23 - .set TRAINER_PIC_EXPERT_F, 24 - .set TRAINER_PIC_POKEMANIAC, 25 - .set TRAINER_PIC_MAGMA_GRUNT_F, 26 - .set TRAINER_PIC_GUITARIST, 27 - .set TRAINER_PIC_KINDLER, 28 - .set TRAINER_PIC_CAMPER, 29 - .set TRAINER_PIC_PICNICKER, 30 - .set TRAINER_PIC_BUG_MANIAC, 31 - .set TRAINER_PIC_POKEMON_BREEDER_M, 32 - .set TRAINER_PIC_PSYCHIC_M, 33 - .set TRAINER_PIC_PSYCHIC_F, 34 - .set TRAINER_PIC_GENTLEMAN, 35 - .set TRAINER_PIC_ELITE_FOUR_SIDNEY, 36 - .set TRAINER_PIC_ELITE_FOUR_PHOEBE, 37 - .set TRAINER_PIC_ELITE_FOUR_GLACIA, 38 - .set TRAINER_PIC_ELITE_FOUR_DRAKE, 39 - .set TRAINER_PIC_LEADER_ROXANNE, 40 - .set TRAINER_PIC_LEADER_BRAWLY, 41 - .set TRAINER_PIC_LEADER_WATTSON, 42 - .set TRAINER_PIC_LEADER_FLANNERY, 43 - .set TRAINER_PIC_LEADER_NORMAN, 44 - .set TRAINER_PIC_LEADER_WINONA, 45 - .set TRAINER_PIC_LEADER_TATE_AND_LIZA, 46 - .set TRAINER_PIC_LEADER_JUAN, 47 - .set TRAINER_PIC_SCHOOL_KID_M, 48 - .set TRAINER_PIC_SCHOOL_KID_F, 49 - .set TRAINER_PIC_SR_AND_JR, 50 - .set TRAINER_PIC_WINSTRATE_M, 51 - .set TRAINER_PIC_WINSTRATE_F, 52 - .set TRAINER_PIC_YOUNGSTER, 53 - .set TRAINER_PIC_CHAMPION_WALLACE, 54 - .set TRAINER_PIC_FISHERMAN, 55 - .set TRAINER_PIC_CYCLING_TRIATHLETE_M, 56 - .set TRAINER_PIC_CYCLING_TRIATHLETE_F, 57 - .set TRAINER_PIC_RUNNING_TRIATHLETE_M, 58 - .set TRAINER_PIC_RUNNING_TRIATHLETE_F, 59 - .set TRAINER_PIC_SWIMMING_TRIATHLETE_M, 60 - .set TRAINER_PIC_SWIMMING_TRIATHLETE_F, 61 - .set TRAINER_PIC_DRAGON_TAMER, 62 - .set TRAINER_PIC_NINJA_BOY, 63 - .set TRAINER_PIC_BATTLE_GIRL, 64 - .set TRAINER_PIC_PARASOL_LADY, 65 - .set TRAINER_PIC_SWIMMER_F, 66 - .set TRAINER_PIC_TWINS, 67 - .set TRAINER_PIC_SAILOR, 68 - .set TRAINER_PIC_MAGMA_ADMIN, 69 - .set TRAINER_PIC_WALLY, 70 - .set TRAINER_PIC_BRENDAN, 71 - .set TRAINER_PIC_MAY, 72 - .set TRAINER_PIC_BUG_CATCHER, 73 - .set TRAINER_PIC_POKEMON_RANGER_M, 74 - .set TRAINER_PIC_POKEMON_RANGER_F, 75 - .set TRAINER_PIC_MAGMA_LEADER_MAXIE, 76 - .set TRAINER_PIC_LASS, 77 - .set TRAINER_PIC_YOUNG_COUPLE, 78 - .set TRAINER_PIC_OLD_COUPLE, 79 - .set TRAINER_PIC_SIS_AND_BRO, 80 - .set TRAINER_PIC_STEVEN, 81 - .set TRAINER_PIC_SALON_MAIDEN_ANABEL, 82 - .set TRAINER_PIC_DOME_ACE_TUCKER, 83 - .set TRAINER_PIC_PALACE_MAVEN_SPENSER, 84 - .set TRAINER_PIC_ARENA_TYCOON_GRETA, 85 - .set TRAINER_PIC_FACTORY_HEAD_NOLAND, 86 - .set TRAINER_PIC_PIKE_QUEEN_LUCY, 87 - .set TRAINER_PIC_PYRAMID_KING_BRANDON, 88 - .set TRAINER_PIC_RED, 89 - .set TRAINER_PIC_LEAF, 90 - .set TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN, 91 - .set TRAINER_PIC_RUBY_SAPPHIRE_MAY, 92 - - .set TRAINER_CLASS_HIKER, 0x0 - .set TRAINER_CLASS_TEAM_AQUA_1, 0x1 - .set TRAINER_CLASS_PKMN_BREEDER_1, 0x2 - .set TRAINER_CLASS_COOLTRAINER_1, 0x3 - .set TRAINER_CLASS_BIRD_KEEPER, 0x4 - .set TRAINER_CLASS_COLLECTOR, 0x5 - .set TRAINER_CLASS_TEAM_AQUA_2, 0x6 - .set TRAINER_CLASS_SWIMMER_M, 0x7 - .set TRAINER_CLASS_TEAM_MAGMA_1, 0x8 - .set TRAINER_CLASS_EXPERT_1, 0x9 - .set TRAINER_CLASS_BLACK_BELT, 0xa - .set TRAINER_CLASS_AQUA_LEADER, 0xb - .set TRAINER_CLASS_HEX_MANIAC, 0xc - .set TRAINER_CLASS_AROMA_LADY, 0xd - .set TRAINER_CLASS_RUIN_MANIAC, 0xe - .set TRAINER_CLASS_INTERVIEWER, 0xf - .set TRAINER_CLASS_TUBER_1, 0x10 - .set TRAINER_CLASS_TUBER_2, 0x11 - .set TRAINER_CLASS_COOLTRAINER_2, 0x12 - .set TRAINER_CLASS_LADY, 0x13 - .set TRAINER_CLASS_BEAUTY, 0x14 - .set TRAINER_CLASS_RICH_BOY, 0x15 - .set TRAINER_CLASS_EXPERT_2, 0x16 - .set TRAINER_CLASS_POKEMANIAC, 0x17 - .set TRAINER_CLASS_TEAM_MAGMA_2, 0x18 - .set TRAINER_CLASS_GUITARIST, 0x19 - .set TRAINER_CLASS_KINDLER, 0x1a - .set TRAINER_CLASS_CAMPER, 0x1b - .set TRAINER_CLASS_PICNICKER, 0x1c - .set TRAINER_CLASS_BUG_MANIAC, 0x1d - .set TRAINER_CLASS_PSYCHIC_1, 0x1e - .set TRAINER_CLASS_PSYCHIC_2, 0x1f - .set TRAINER_CLASS_GENTLEMAN, 0x20 - .set TRAINER_CLASS_ELITE_FOUR_1, 0x21 - .set TRAINER_CLASS_ELITE_FOUR_2, 0x22 - .set TRAINER_CLASS_LEADER_1, 0x23 - .set TRAINER_CLASS_LEADER_2, 0x24 - .set TRAINER_CLASS_LEADER_3, 0x25 - .set TRAINER_CLASS_SCHOOL_KID_1, 0x26 - .set TRAINER_CLASS_SCHOOL_KID_2, 0x27 - .set TRAINER_CLASS_SR_AND_JR, 0x28 - .set TRAINER_CLASS_POKEFAN_1, 0x29 - .set TRAINER_CLASS_POKEFAN_2, 0x2a - .set TRAINER_CLASS_YOUNGSTER, 0x2b - .set TRAINER_CLASS_CHAMPION, 0x2c - .set TRAINER_CLASS_FISHERMAN, 0x2d - .set TRAINER_CLASS_TRIATHLETE_1, 0x2e - .set TRAINER_CLASS_TRIATHLETE_2, 0x2f - .set TRAINER_CLASS_TRIATHLETE_3, 0x30 - .set TRAINER_CLASS_TRIATHLETE_4, 0x31 - .set TRAINER_CLASS_TRIATHLETE_5, 0x32 - .set TRAINER_CLASS_TRIATHLETE_6, 0x33 - .set TRAINER_CLASS_DRAGON_TAMER, 0x34 - .set TRAINER_CLASS_NINJA_BOY, 0x35 - .set TRAINER_CLASS_BATTLE_GIRL, 0x36 - .set TRAINER_CLASS_PARASOL_LADY, 0x37 - .set TRAINER_CLASS_SWIMMER_F, 0x38 - .set TRAINER_CLASS_TWINS, 0x39 - .set TRAINER_CLASS_SAILOR, 0x3a - .set TRAINER_CLASS_PKMN_TRAINER_1, 0x3b - .set TRAINER_CLASS_PKMN_TRAINER_2, 0x3c - .set TRAINER_CLASS_PKMN_TRAINER_3, 0x3d - .set TRAINER_CLASS_PKMN_TRAINER_4, 0x3e - .set TRAINER_CLASS_PKMN_TRAINER_5, 0x3f - .set TRAINER_CLASS_PKMN_TRAINER_6, 0x40 - .set TRAINER_CLASS_PKMN_TRAINER_7, 0x41 - .set TRAINER_CLASS_PKMN_BREEDER_2, 0x42 - .set TRAINER_CLASS_BUG_CATCHER, 0x43 - .set TRAINER_CLASS_PKMN_RANGER_1, 0x44 - .set TRAINER_CLASS_PKMN_RANGER_2, 0x45 - .set TRAINER_CLASS_MAGMA_LEADER, 0x46 - .set TRAINER_CLASS_LASS, 0x47 - .set TRAINER_CLASS_YOUNG_COUPLE, 0x48 - .set TRAINER_CLASS_OLD_COUPLE, 0x49 - .set TRAINER_CLASS_SIS_AND_BRO, 0x4a - .set TRAINER_CLASS_PKMN_TRAINER_8, 0x4b - .set TRAINER_CLASS_SALON_MAIDEN, 0x4c - .set TRAINER_CLASS_DOME_ACE, 0x4d - .set TRAINER_CLASS_PKMN_TRAINER_9, 0x4e - .set TRAINER_CLASS_PKMN_TRAINER_10, 0x4f - .set TRAINER_CLASS_PKMN_TRAINER_11, 0x50 - .set TRAINER_CLASS_PKMN_TRAINER_12, 0x51 - - .set TRAINER_CLASS_NAME_PKMN_TRAINER_1, 0x0 - .set TRAINER_CLASS_NAME_PKMN_TRAINER_2, 0x1 - .set TRAINER_CLASS_NAME_HIKER, 0x2 - .set TRAINER_CLASS_NAME_TEAM_AQUA, 0x3 - .set TRAINER_CLASS_NAME_PKMN_BREEDER, 0x4 - .set TRAINER_CLASS_NAME_COOLTRAINER_1, 0x5 - .set TRAINER_CLASS_NAME_BIRD_KEEPER, 0x6 - .set TRAINER_CLASS_NAME_COLLECTOR, 0x7 - .set TRAINER_CLASS_NAME_SWIMMER_M, 0x8 - .set TRAINER_CLASS_NAME_TEAM_MAGMA, 0x9 - .set TRAINER_CLASS_NAME_EXPERT, 0xa - .set TRAINER_CLASS_NAME_AQUA_ADMIN, 0xb - .set TRAINER_CLASS_NAME_BLACK_BELT, 0xc - .set TRAINER_CLASS_NAME_AQUA_LEADER, 0xd - .set TRAINER_CLASS_NAME_HEX_MANIAC, 0xe - .set TRAINER_CLASS_NAME_AROMA_LADY, 0xf - .set TRAINER_CLASS_NAME_RUIN_MANIAC, 0x10 - .set TRAINER_CLASS_NAME_INTERVIEWER, 0x11 - .set TRAINER_CLASS_NAME_TUBER_1, 0x12 - .set TRAINER_CLASS_NAME_TUBER_2, 0x13 - .set TRAINER_CLASS_NAME_LADY, 0x14 - .set TRAINER_CLASS_NAME_BEAUTY, 0x15 - .set TRAINER_CLASS_NAME_RICH_BOY, 0x16 - .set TRAINER_CLASS_NAME_POKEMANIAC, 0x17 - .set TRAINER_CLASS_NAME_GUITARIST, 0x18 - .set TRAINER_CLASS_NAME_KINDLER, 0x19 - .set TRAINER_CLASS_NAME_CAMPER, 0x1a - .set TRAINER_CLASS_NAME_PICNICKER, 0x1b - .set TRAINER_CLASS_NAME_BUG_MANIAC, 0x1c - .set TRAINER_CLASS_NAME_PSYCHIC, 0x1d - .set TRAINER_CLASS_NAME_GENTLEMAN, 0x1e - .set TRAINER_CLASS_NAME_ELITE_FOUR, 0x1f - .set TRAINER_CLASS_NAME_LEADER, 0x20 - .set TRAINER_CLASS_NAME_SCHOOL_KID, 0x21 - .set TRAINER_CLASS_NAME_SR_AND_JR, 0x22 - .set TRAINER_CLASS_NAME_WINSTRATE, 0x23 - .set TRAINER_CLASS_NAME_POKEFAN, 0x24 - .set TRAINER_CLASS_NAME_YOUNGSTER, 0x25 - .set TRAINER_CLASS_NAME_CHAMPION, 0x26 - .set TRAINER_CLASS_NAME_FISHERMAN, 0x27 - .set TRAINER_CLASS_NAME_TRIATHLETE, 0x28 - .set TRAINER_CLASS_NAME_DRAGON_TAMER, 0x29 - .set TRAINER_CLASS_NAME_NINJA_BOY, 0x2a - .set TRAINER_CLASS_NAME_BATTLE_GIRL, 0x2b - .set TRAINER_CLASS_NAME_PARASOL_LADY, 0x2c - .set TRAINER_CLASS_NAME_SWIMMER_F, 0x2d - .set TRAINER_CLASS_NAME_TWINS, 0x2e - .set TRAINER_CLASS_NAME_SAILOR, 0x2f - .set TRAINER_CLASS_NAME_COOLTRAINER_2, 0x30 - .set TRAINER_CLASS_NAME_MAGMA_ADMIN, 0x31 - .set TRAINER_CLASS_NAME_PKMN_TRAINER_3, 0x32 - .set TRAINER_CLASS_NAME_BUG_CATCHER, 0x33 - .set TRAINER_CLASS_NAME_PKMN_RANGER, 0x34 - .set TRAINER_CLASS_NAME_MAGMA_LEADER, 0x35 - .set TRAINER_CLASS_NAME_LASS, 0x36 - .set TRAINER_CLASS_NAME_YOUNG_COUPLE, 0x37 - .set TRAINER_CLASS_NAME_OLD_COUPLE, 0x38 - .set TRAINER_CLASS_NAME_SIS_AND_BRO, 0x39 - .set TRAINER_CLASS_NAME_SALON_MAIDEN, 0x3a - .set TRAINER_CLASS_NAME_DOME_ACE, 0x3b - .set TRAINER_CLASS_NAME_PALACE_MAVEN, 0x3c - .set TRAINER_CLASS_NAME_ARENA_TYCOON, 0x3d - .set TRAINER_CLASS_NAME_FACTORY_HEAD, 0x3e - .set TRAINER_CLASS_NAME_PIKE_QUEEN, 0x3f - .set TRAINER_CLASS_NAME_PYRAMID_KING, 0x40 - .set TRAINER_CLASS_NAME_PKMN_TRAINER_4, 0x41 - - .set TRAINER_ENCOUNTER_MUSIC_MALE, 0 @ standard male encounter music - .set TRAINER_ENCOUNTER_MUSIC_FEMALE, 1 @ standard female encounter music - .set TRAINER_ENCOUNTER_MUSIC_GIRL, 2 @ used for male Tubers and Young Couples too - .set TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, 3 - .set TRAINER_ENCOUNTER_MUSIC_INTENSE, 4 - .set TRAINER_ENCOUNTER_MUSIC_COOL, 5 - .set TRAINER_ENCOUNTER_MUSIC_AQUA, 6 - .set TRAINER_ENCOUNTER_MUSIC_MAGMA, 7 - .set TRAINER_ENCOUNTER_MUSIC_SWIMMER, 8 - .set TRAINER_ENCOUNTER_MUSIC_TWINS, 9 @ used for other trainer classes too - .set TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR, 10 - .set TRAINER_ENCOUNTER_MUSIC_HIKER, 11 @ used for other trainer classes too - .set TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, 12 - .set TRAINER_ENCOUNTER_MUSIC_RICH, 13 @ Rich Boys and Gentlemen - - .set F_TRAINER_FEMALE, 1 << 7 - -@ All trainer parties specify the IV, level, and species for each Pokémon in the -@ party. Some trainer parties also specify held items and custom moves for each -@ Pokémon. - .set F_TRAINER_PARTY_CUSTOM_MOVESET, 1 << 0 - .set F_TRAINER_PARTY_HELD_ITEM, 1 << 1 diff --git a/constants/type_constants.inc b/constants/type_constants.inc deleted file mode 100644 index 86e3c9df30..0000000000 --- a/constants/type_constants.inc +++ /dev/null @@ -1,18 +0,0 @@ - .set TYPE_NORMAL, 0x00 - .set TYPE_FIGHTING, 0x01 - .set TYPE_FLYING, 0x02 - .set TYPE_POISON, 0x03 - .set TYPE_GROUND, 0x04 - .set TYPE_ROCK, 0x05 - .set TYPE_BUG, 0x06 - .set TYPE_GHOST, 0x07 - .set TYPE_STEEL, 0x08 - .set TYPE_UNKNOWN, 0x09 - .set TYPE_FIRE, 0x0a - .set TYPE_WATER, 0x0b - .set TYPE_GRASS, 0x0c - .set TYPE_ELECTRIC, 0x0d - .set TYPE_PSYCHIC, 0x0e - .set TYPE_ICE, 0x0f - .set TYPE_DRAGON, 0x10 - .set TYPE_DARK, 0x11 diff --git a/data/base_stats.inc b/data/base_stats.inc deleted file mode 100644 index 43b5ae4992..0000000000 --- a/data/base_stats.inc +++ /dev/null @@ -1,8635 +0,0 @@ - .align 2 -gBaseStats:: @ 83203CC -@ ?????????? - .fill 28, 1, 0 - -@ Bulbasaur - base_stats 45, 49, 49, 45, 65, 65 - .byte TYPE_GRASS - .byte TYPE_POISON - .byte 45 @ catch rate - .byte 64 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_GRASS - .byte ABILITY_OVERGROW - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Ivysaur - base_stats 60, 62, 63, 60, 80, 80 - .byte TYPE_GRASS - .byte TYPE_POISON - .byte 45 @ catch rate - .byte 141 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 1 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_GRASS - .byte ABILITY_OVERGROW - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Venusaur - base_stats 80, 82, 83, 80, 100, 100 - .byte TYPE_GRASS - .byte TYPE_POISON - .byte 45 @ catch rate - .byte 208 @ base exp. yield - ev_yield 0, 0, 0, 0, 2, 1 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_GRASS - .byte ABILITY_OVERGROW - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Charmander - base_stats 39, 52, 43, 65, 60, 50 - .byte TYPE_FIRE - .byte TYPE_FIRE - .byte 45 @ catch rate - .byte 65 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_DRAGON - .byte ABILITY_BLAZE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Charmeleon - base_stats 58, 64, 58, 80, 80, 65 - .byte TYPE_FIRE - .byte TYPE_FIRE - .byte 45 @ catch rate - .byte 142 @ base exp. yield - ev_yield 0, 0, 0, 1, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_DRAGON - .byte ABILITY_BLAZE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Charizard - base_stats 78, 84, 78, 100, 109, 85 - .byte TYPE_FIRE - .byte TYPE_FLYING - .byte 45 @ catch rate - .byte 209 @ base exp. yield - ev_yield 0, 0, 0, 0, 3, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_DRAGON - .byte ABILITY_BLAZE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Squirtle - base_stats 44, 48, 65, 43, 50, 64 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 45 @ catch rate - .byte 66 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_WATER_1 - .byte ABILITY_TORRENT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Wartortle - base_stats 59, 63, 80, 58, 65, 80 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 45 @ catch rate - .byte 143 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 1 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_WATER_1 - .byte ABILITY_TORRENT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Blastoise - base_stats 79, 83, 100, 78, 85, 105 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 45 @ catch rate - .byte 210 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 3 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_WATER_1 - .byte ABILITY_TORRENT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Caterpie - base_stats 45, 30, 35, 45, 20, 20 - .byte TYPE_BUG - .byte TYPE_BUG - .byte 255 @ catch rate - .byte 53 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_SHIELD_DUST - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Metapod - base_stats 50, 20, 55, 30, 25, 25 - .byte TYPE_BUG - .byte TYPE_BUG - .byte 120 @ catch rate - .byte 72 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_SHED_SKIN - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Butterfree - base_stats 60, 45, 50, 70, 80, 80 - .byte TYPE_BUG - .byte TYPE_FLYING - .byte 45 @ catch rate - .byte 160 @ base exp. yield - ev_yield 0, 0, 0, 0, 2, 1 - .2byte ITEM_NONE - .2byte ITEM_SILVER_POWDER - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_COMPOUND_EYES - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_WHITE - .2byte 0 @ padding - -@ Weedle - base_stats 40, 35, 30, 50, 20, 20 - .byte TYPE_BUG - .byte TYPE_POISON - .byte 255 @ catch rate - .byte 52 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_SHIELD_DUST - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Kakuna - base_stats 45, 25, 50, 35, 25, 25 - .byte TYPE_BUG - .byte TYPE_POISON - .byte 120 @ catch rate - .byte 71 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_SHED_SKIN - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Beedrill - base_stats 65, 80, 40, 75, 45, 80 - .byte TYPE_BUG - .byte TYPE_POISON - .byte 45 @ catch rate - .byte 159 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 1 - .2byte ITEM_NONE - .2byte ITEM_POISON_BARB - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_SWARM - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Pidgey - base_stats 40, 45, 40, 56, 35, 35 - .byte TYPE_NORMAL - .byte TYPE_FLYING - .byte 255 @ catch rate - .byte 55 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_FLYING - .byte ABILITY_KEEN_EYE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Pidgeotto - base_stats 63, 60, 55, 71, 50, 50 - .byte TYPE_NORMAL - .byte TYPE_FLYING - .byte 120 @ catch rate - .byte 113 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_FLYING - .byte ABILITY_KEEN_EYE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Pidgeot - base_stats 83, 80, 75, 91, 70, 70 - .byte TYPE_NORMAL - .byte TYPE_FLYING - .byte 45 @ catch rate - .byte 172 @ base exp. yield - ev_yield 0, 0, 0, 3, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_FLYING - .byte ABILITY_KEEN_EYE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Rattata - base_stats 30, 56, 35, 72, 25, 35 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 255 @ catch rate - .byte 57 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_RUN_AWAY - .byte ABILITY_GUTS - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Raticate - base_stats 55, 81, 60, 97, 50, 70 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 127 @ catch rate - .byte 116 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_RUN_AWAY - .byte ABILITY_GUTS - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Spearow - base_stats 40, 60, 30, 70, 31, 31 - .byte TYPE_NORMAL - .byte TYPE_FLYING - .byte 255 @ catch rate - .byte 58 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_FLYING - .byte ABILITY_KEEN_EYE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Fearow - base_stats 65, 90, 65, 100, 61, 61 - .byte TYPE_NORMAL - .byte TYPE_FLYING - .byte 90 @ catch rate - .byte 162 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_SHARP_BEAK - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_FLYING - .byte ABILITY_KEEN_EYE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Ekans - base_stats 35, 60, 44, 55, 40, 54 - .byte TYPE_POISON - .byte TYPE_POISON - .byte 255 @ catch rate - .byte 62 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_DRAGON - .byte ABILITY_INTIMIDATE - .byte ABILITY_SHED_SKIN - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Arbok - base_stats 60, 85, 69, 80, 65, 79 - .byte TYPE_POISON - .byte TYPE_POISON - .byte 90 @ catch rate - .byte 147 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_DRAGON - .byte ABILITY_INTIMIDATE - .byte ABILITY_SHED_SKIN - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Pikachu - base_stats 35, 55, 30, 90, 50, 40 - .byte TYPE_ELECTRIC - .byte TYPE_ELECTRIC - .byte 190 @ catch rate - .byte 82 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_ORAN_BERRY - .2byte ITEM_LIGHT_BALL - .byte 127 @ gender - .byte 10 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FAIRY - .byte ABILITY_STATIC - .byte ABILITY_NONE - .byte 6 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Raichu - base_stats 60, 90, 55, 100, 90, 80 - .byte TYPE_ELECTRIC - .byte TYPE_ELECTRIC - .byte 75 @ catch rate - .byte 122 @ base exp. yield - ev_yield 0, 0, 0, 3, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_ORAN_BERRY - .byte 127 @ gender - .byte 10 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FAIRY - .byte ABILITY_STATIC - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Sandshrew - base_stats 50, 75, 85, 40, 20, 30 - .byte TYPE_GROUND - .byte TYPE_GROUND - .byte 255 @ catch rate - .byte 93 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_QUICK_CLAW - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_SAND_VEIL - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Sandslash - base_stats 75, 100, 110, 65, 45, 55 - .byte TYPE_GROUND - .byte TYPE_GROUND - .byte 90 @ catch rate - .byte 163 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_QUICK_CLAW - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_SAND_VEIL - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Nidoran♀ - base_stats 55, 47, 52, 41, 40, 40 - .byte TYPE_POISON - .byte TYPE_POISON - .byte 235 @ catch rate - .byte 59 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 254 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_FIELD - .byte ABILITY_POISON_POINT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Nidorina - base_stats 70, 62, 67, 56, 55, 55 - .byte TYPE_POISON - .byte TYPE_POISON - .byte 120 @ catch rate - .byte 117 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 254 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_POISON_POINT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Nidoqueen - base_stats 90, 82, 87, 76, 75, 85 - .byte TYPE_POISON - .byte TYPE_GROUND - .byte 45 @ catch rate - .byte 194 @ base exp. yield - ev_yield 3, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 254 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_POISON_POINT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Nidoran♂ - base_stats 46, 57, 40, 50, 40, 40 - .byte TYPE_POISON - .byte TYPE_POISON - .byte 235 @ catch rate - .byte 60 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 0 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_FIELD - .byte ABILITY_POISON_POINT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Nidorino - base_stats 61, 72, 57, 65, 55, 55 - .byte TYPE_POISON - .byte TYPE_POISON - .byte 120 @ catch rate - .byte 118 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 0 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_FIELD - .byte ABILITY_POISON_POINT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Nidoking - base_stats 81, 92, 77, 85, 85, 75 - .byte TYPE_POISON - .byte TYPE_GROUND - .byte 45 @ catch rate - .byte 195 @ base exp. yield - ev_yield 0, 3, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 0 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_FIELD - .byte ABILITY_POISON_POINT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Clefairy - base_stats 70, 45, 48, 35, 60, 65 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 150 @ catch rate - .byte 68 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_LEPPA_BERRY - .2byte ITEM_MOON_STONE - .byte 191 @ gender - .byte 10 @ egg cycles - .byte 140 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_FAIRY - .byte EGG_GROUP_FAIRY - .byte ABILITY_CUTE_CHARM - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Clefable - base_stats 95, 70, 73, 60, 85, 90 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 25 @ catch rate - .byte 129 @ base exp. yield - ev_yield 3, 0, 0, 0, 0, 0 - .2byte ITEM_LEPPA_BERRY - .2byte ITEM_MOON_STONE - .byte 191 @ gender - .byte 10 @ egg cycles - .byte 140 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_FAIRY - .byte EGG_GROUP_FAIRY - .byte ABILITY_CUTE_CHARM - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Vulpix - base_stats 38, 41, 40, 65, 50, 65 - .byte TYPE_FIRE - .byte TYPE_FIRE - .byte 190 @ catch rate - .byte 63 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_RAWST_BERRY - .2byte ITEM_RAWST_BERRY - .byte 191 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_FLASH_FIRE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Ninetales - base_stats 73, 76, 75, 100, 81, 100 - .byte TYPE_FIRE - .byte TYPE_FIRE - .byte 75 @ catch rate - .byte 178 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 1 - .2byte ITEM_RAWST_BERRY - .2byte ITEM_RAWST_BERRY - .byte 191 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_FLASH_FIRE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Jigglypuff - base_stats 115, 45, 20, 20, 45, 25 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 170 @ catch rate - .byte 76 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 191 @ gender - .byte 10 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_FAIRY - .byte EGG_GROUP_FAIRY - .byte ABILITY_CUTE_CHARM - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Wigglytuff - base_stats 140, 70, 45, 45, 75, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 50 @ catch rate - .byte 109 @ base exp. yield - ev_yield 3, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 191 @ gender - .byte 10 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_FAIRY - .byte EGG_GROUP_FAIRY - .byte ABILITY_CUTE_CHARM - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Zubat - base_stats 40, 45, 35, 55, 30, 40 - .byte TYPE_POISON - .byte TYPE_FLYING - .byte 255 @ catch rate - .byte 54 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_FLYING - .byte ABILITY_INNER_FOCUS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Golbat - base_stats 75, 80, 70, 90, 65, 75 - .byte TYPE_POISON - .byte TYPE_FLYING - .byte 90 @ catch rate - .byte 171 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_FLYING - .byte ABILITY_INNER_FOCUS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Oddish - base_stats 45, 50, 55, 30, 75, 65 - .byte TYPE_GRASS - .byte TYPE_POISON - .byte 255 @ catch rate - .byte 78 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_GRASS - .byte EGG_GROUP_GRASS - .byte ABILITY_CHLOROPHYLL - .byte ABILITY_NONE - .byte 4 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Gloom - base_stats 60, 65, 70, 40, 85, 75 - .byte TYPE_GRASS - .byte TYPE_POISON - .byte 120 @ catch rate - .byte 132 @ base exp. yield - ev_yield 0, 0, 0, 0, 2, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_GRASS - .byte EGG_GROUP_GRASS - .byte ABILITY_CHLOROPHYLL - .byte ABILITY_NONE - .byte 6 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Vileplume - base_stats 75, 80, 85, 50, 100, 90 - .byte TYPE_GRASS - .byte TYPE_POISON - .byte 45 @ catch rate - .byte 184 @ base exp. yield - ev_yield 0, 0, 0, 0, 3, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_GRASS - .byte EGG_GROUP_GRASS - .byte ABILITY_CHLOROPHYLL - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Paras - base_stats 35, 70, 55, 25, 45, 55 - .byte TYPE_BUG - .byte TYPE_GRASS - .byte 190 @ catch rate - .byte 70 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_TINY_MUSHROOM - .2byte ITEM_BIG_MUSHROOM - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_GRASS - .byte ABILITY_EFFECT_SPORE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Parasect - base_stats 60, 95, 80, 30, 60, 80 - .byte TYPE_BUG - .byte TYPE_GRASS - .byte 75 @ catch rate - .byte 128 @ base exp. yield - ev_yield 0, 2, 1, 0, 0, 0 - .2byte ITEM_TINY_MUSHROOM - .2byte ITEM_BIG_MUSHROOM - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_GRASS - .byte ABILITY_EFFECT_SPORE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Venonat - base_stats 60, 55, 50, 45, 40, 55 - .byte TYPE_BUG - .byte TYPE_POISON - .byte 190 @ catch rate - .byte 75 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 1 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_COMPOUND_EYES - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Venomoth - base_stats 70, 65, 60, 90, 90, 75 - .byte TYPE_BUG - .byte TYPE_POISON - .byte 75 @ catch rate - .byte 138 @ base exp. yield - ev_yield 0, 0, 0, 1, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_SHIELD_DUST - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Diglett - base_stats 10, 55, 25, 95, 35, 45 - .byte TYPE_GROUND - .byte TYPE_GROUND - .byte 255 @ catch rate - .byte 81 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_SAND_VEIL - .byte ABILITY_ARENA_TRAP - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Dugtrio - base_stats 35, 80, 50, 120, 50, 70 - .byte TYPE_GROUND - .byte TYPE_GROUND - .byte 50 @ catch rate - .byte 153 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_SAND_VEIL - .byte ABILITY_ARENA_TRAP - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Meowth - base_stats 40, 45, 35, 90, 40, 40 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 255 @ catch rate - .byte 69 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_PICKUP - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Persian - base_stats 65, 70, 60, 115, 65, 65 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 90 @ catch rate - .byte 148 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_LIMBER - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Psyduck - base_stats 50, 52, 48, 55, 65, 50 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 190 @ catch rate - .byte 80 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_FIELD - .byte ABILITY_DAMP - .byte ABILITY_CLOUD_NINE - .byte 6 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Golduck - base_stats 80, 82, 78, 85, 95, 80 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 75 @ catch rate - .byte 174 @ base exp. yield - ev_yield 0, 0, 0, 0, 2, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_FIELD - .byte ABILITY_DAMP - .byte ABILITY_CLOUD_NINE - .byte 8 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Mankey - base_stats 40, 80, 35, 70, 35, 45 - .byte TYPE_FIGHTING - .byte TYPE_FIGHTING - .byte 190 @ catch rate - .byte 74 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_VITAL_SPIRIT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Primeape - base_stats 65, 105, 60, 95, 60, 70 - .byte TYPE_FIGHTING - .byte TYPE_FIGHTING - .byte 75 @ catch rate - .byte 149 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_VITAL_SPIRIT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Growlithe - base_stats 55, 70, 45, 60, 70, 50 - .byte TYPE_FIRE - .byte TYPE_FIRE - .byte 190 @ catch rate - .byte 91 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_RAWST_BERRY - .2byte ITEM_RAWST_BERRY - .byte 63 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_INTIMIDATE - .byte ABILITY_FLASH_FIRE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Arcanine - base_stats 90, 110, 80, 95, 100, 80 - .byte TYPE_FIRE - .byte TYPE_FIRE - .byte 75 @ catch rate - .byte 213 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_RAWST_BERRY - .2byte ITEM_RAWST_BERRY - .byte 63 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_INTIMIDATE - .byte ABILITY_FLASH_FIRE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Poliwag - base_stats 40, 50, 40, 90, 40, 40 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 255 @ catch rate - .byte 77 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_WATER_1 - .byte ABILITY_WATER_ABSORB - .byte ABILITY_DAMP - .byte 0 @ Safari Zone flee rate - .byte F_SUMMARY_SCREEN_FLIP_SPRITE | BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Poliwhirl - base_stats 65, 65, 65, 90, 50, 50 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 120 @ catch rate - .byte 131 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_KINGS_ROCK - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_WATER_1 - .byte ABILITY_WATER_ABSORB - .byte ABILITY_DAMP - .byte 0 @ Safari Zone flee rate - .byte F_SUMMARY_SCREEN_FLIP_SPRITE | BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Poliwrath - base_stats 90, 85, 95, 70, 70, 90 - .byte TYPE_WATER - .byte TYPE_FIGHTING - .byte 45 @ catch rate - .byte 185 @ base exp. yield - ev_yield 0, 0, 3, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_KINGS_ROCK - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_WATER_1 - .byte ABILITY_WATER_ABSORB - .byte ABILITY_DAMP - .byte 0 @ Safari Zone flee rate - .byte F_SUMMARY_SCREEN_FLIP_SPRITE | BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Abra - base_stats 25, 20, 15, 90, 105, 55 - .byte TYPE_PSYCHIC - .byte TYPE_PSYCHIC - .byte 200 @ catch rate - .byte 73 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_TWISTED_SPOON - .byte 63 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_HUMAN_LIKE - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_SYNCHRONIZE - .byte ABILITY_INNER_FOCUS - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Kadabra - base_stats 40, 35, 30, 105, 120, 70 - .byte TYPE_PSYCHIC - .byte TYPE_PSYCHIC - .byte 100 @ catch rate - .byte 145 @ base exp. yield - ev_yield 0, 0, 0, 0, 2, 0 - .2byte ITEM_NONE - .2byte ITEM_TWISTED_SPOON - .byte 63 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_HUMAN_LIKE - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_SYNCHRONIZE - .byte ABILITY_INNER_FOCUS - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Alakazam - base_stats 55, 50, 45, 120, 135, 85 - .byte TYPE_PSYCHIC - .byte TYPE_PSYCHIC - .byte 50 @ catch rate - .byte 186 @ base exp. yield - ev_yield 0, 0, 0, 0, 3, 0 - .2byte ITEM_NONE - .2byte ITEM_TWISTED_SPOON - .byte 63 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_HUMAN_LIKE - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_SYNCHRONIZE - .byte ABILITY_INNER_FOCUS - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Machop - base_stats 70, 80, 50, 35, 35, 35 - .byte TYPE_FIGHTING - .byte TYPE_FIGHTING - .byte 180 @ catch rate - .byte 88 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 63 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_HUMAN_LIKE - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_GUTS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Machoke - base_stats 80, 100, 70, 45, 50, 60 - .byte TYPE_FIGHTING - .byte TYPE_FIGHTING - .byte 90 @ catch rate - .byte 146 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 63 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_HUMAN_LIKE - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_GUTS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Machamp - base_stats 90, 130, 80, 55, 65, 85 - .byte TYPE_FIGHTING - .byte TYPE_FIGHTING - .byte 45 @ catch rate - .byte 193 @ base exp. yield - ev_yield 0, 3, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 63 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_HUMAN_LIKE - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_GUTS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Bellsprout - base_stats 50, 75, 35, 40, 70, 30 - .byte TYPE_GRASS - .byte TYPE_POISON - .byte 255 @ catch rate - .byte 84 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_GRASS - .byte EGG_GROUP_GRASS - .byte ABILITY_CHLOROPHYLL - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Weepinbell - base_stats 65, 90, 50, 55, 85, 45 - .byte TYPE_GRASS - .byte TYPE_POISON - .byte 120 @ catch rate - .byte 151 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_GRASS - .byte EGG_GROUP_GRASS - .byte ABILITY_CHLOROPHYLL - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Victreebel - base_stats 80, 105, 65, 70, 100, 60 - .byte TYPE_GRASS - .byte TYPE_POISON - .byte 45 @ catch rate - .byte 191 @ base exp. yield - ev_yield 0, 3, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_GRASS - .byte EGG_GROUP_GRASS - .byte ABILITY_CHLOROPHYLL - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Tentacool - base_stats 40, 40, 35, 70, 50, 100 - .byte TYPE_WATER - .byte TYPE_POISON - .byte 190 @ catch rate - .byte 105 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 1 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_WATER_3 - .byte EGG_GROUP_WATER_3 - .byte ABILITY_CLEAR_BODY - .byte ABILITY_LIQUID_OOZE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Tentacruel - base_stats 80, 70, 65, 100, 80, 120 - .byte TYPE_WATER - .byte TYPE_POISON - .byte 60 @ catch rate - .byte 205 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_WATER_3 - .byte EGG_GROUP_WATER_3 - .byte ABILITY_CLEAR_BODY - .byte ABILITY_LIQUID_OOZE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Geodude - base_stats 40, 80, 100, 20, 30, 30 - .byte TYPE_ROCK - .byte TYPE_GROUND - .byte 255 @ catch rate - .byte 86 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_EVERSTONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MINERAL - .byte EGG_GROUP_MINERAL - .byte ABILITY_ROCK_HEAD - .byte ABILITY_STURDY - .byte 4 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Graveler - base_stats 55, 95, 115, 35, 45, 45 - .byte TYPE_ROCK - .byte TYPE_GROUND - .byte 120 @ catch rate - .byte 134 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_EVERSTONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MINERAL - .byte EGG_GROUP_MINERAL - .byte ABILITY_ROCK_HEAD - .byte ABILITY_STURDY - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Golem - base_stats 80, 110, 130, 45, 55, 65 - .byte TYPE_ROCK - .byte TYPE_GROUND - .byte 45 @ catch rate - .byte 177 @ base exp. yield - ev_yield 0, 0, 3, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_EVERSTONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MINERAL - .byte EGG_GROUP_MINERAL - .byte ABILITY_ROCK_HEAD - .byte ABILITY_STURDY - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Ponyta - base_stats 50, 85, 55, 90, 65, 65 - .byte TYPE_FIRE - .byte TYPE_FIRE - .byte 190 @ catch rate - .byte 152 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_RUN_AWAY - .byte ABILITY_FLASH_FIRE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Rapidash - base_stats 65, 100, 70, 105, 80, 80 - .byte TYPE_FIRE - .byte TYPE_FIRE - .byte 60 @ catch rate - .byte 192 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_RUN_AWAY - .byte ABILITY_FLASH_FIRE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Slowpoke - base_stats 90, 65, 65, 15, 40, 40 - .byte TYPE_WATER - .byte TYPE_PSYCHIC - .byte 190 @ catch rate - .byte 99 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_KINGS_ROCK - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_WATER_1 - .byte ABILITY_OBLIVIOUS - .byte ABILITY_OWN_TEMPO - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Slowbro - base_stats 95, 75, 110, 30, 100, 80 - .byte TYPE_WATER - .byte TYPE_PSYCHIC - .byte 75 @ catch rate - .byte 164 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_KINGS_ROCK - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_WATER_1 - .byte ABILITY_OBLIVIOUS - .byte ABILITY_OWN_TEMPO - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Magnemite - base_stats 25, 35, 70, 45, 95, 55 - .byte TYPE_ELECTRIC - .byte TYPE_STEEL - .byte 190 @ catch rate - .byte 89 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_METAL_COAT - .byte 255 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_MINERAL - .byte EGG_GROUP_MINERAL - .byte ABILITY_MAGNET_PULL - .byte ABILITY_STURDY - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Magneton - base_stats 50, 60, 95, 70, 120, 70 - .byte TYPE_ELECTRIC - .byte TYPE_STEEL - .byte 60 @ catch rate - .byte 161 @ base exp. yield - ev_yield 0, 0, 0, 0, 2, 0 - .2byte ITEM_NONE - .2byte ITEM_METAL_COAT - .byte 255 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_MINERAL - .byte EGG_GROUP_MINERAL - .byte ABILITY_MAGNET_PULL - .byte ABILITY_STURDY - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Farfetch'd - base_stats 52, 65, 55, 60, 58, 62 - .byte TYPE_NORMAL - .byte TYPE_FLYING - .byte 45 @ catch rate - .byte 94 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_STICK - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_FIELD - .byte ABILITY_KEEN_EYE - .byte ABILITY_INNER_FOCUS - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Doduo - base_stats 35, 85, 45, 75, 35, 35 - .byte TYPE_NORMAL - .byte TYPE_FLYING - .byte 190 @ catch rate - .byte 96 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_SHARP_BEAK - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_FLYING - .byte ABILITY_RUN_AWAY - .byte ABILITY_EARLY_BIRD - .byte 8 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Dodrio - base_stats 60, 110, 70, 100, 60, 60 - .byte TYPE_NORMAL - .byte TYPE_FLYING - .byte 45 @ catch rate - .byte 158 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_SHARP_BEAK - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_FLYING - .byte ABILITY_RUN_AWAY - .byte ABILITY_EARLY_BIRD - .byte 10 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Seel - base_stats 65, 45, 55, 45, 45, 70 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 190 @ catch rate - .byte 100 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 1 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_FIELD - .byte ABILITY_THICK_FAT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_WHITE - .2byte 0 @ padding - -@ Dewgong - base_stats 90, 70, 80, 70, 70, 95 - .byte TYPE_WATER - .byte TYPE_ICE - .byte 75 @ catch rate - .byte 176 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_FIELD - .byte ABILITY_THICK_FAT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_WHITE - .2byte 0 @ padding - -@ Grimer - base_stats 80, 80, 50, 25, 40, 50 - .byte TYPE_POISON - .byte TYPE_POISON - .byte 190 @ catch rate - .byte 90 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NUGGET - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_AMORPHOUS - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_STENCH - .byte ABILITY_STICKY_HOLD - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Muk - base_stats 105, 105, 75, 50, 65, 100 - .byte TYPE_POISON - .byte TYPE_POISON - .byte 75 @ catch rate - .byte 157 @ base exp. yield - ev_yield 1, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NUGGET - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_AMORPHOUS - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_STENCH - .byte ABILITY_STICKY_HOLD - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Shellder - base_stats 30, 65, 100, 40, 45, 25 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 190 @ catch rate - .byte 97 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 0 - .2byte ITEM_PEARL - .2byte ITEM_BIG_PEARL - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_WATER_3 - .byte EGG_GROUP_WATER_3 - .byte ABILITY_SHELL_ARMOR - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Cloyster - base_stats 50, 95, 180, 70, 85, 45 - .byte TYPE_WATER - .byte TYPE_ICE - .byte 60 @ catch rate - .byte 203 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_PEARL - .2byte ITEM_BIG_PEARL - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_WATER_3 - .byte EGG_GROUP_WATER_3 - .byte ABILITY_SHELL_ARMOR - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Gastly - base_stats 30, 35, 30, 80, 100, 35 - .byte TYPE_GHOST - .byte TYPE_POISON - .byte 190 @ catch rate - .byte 95 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_AMORPHOUS - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_LEVITATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Haunter - base_stats 45, 50, 45, 95, 115, 55 - .byte TYPE_GHOST - .byte TYPE_POISON - .byte 90 @ catch rate - .byte 126 @ base exp. yield - ev_yield 0, 0, 0, 0, 2, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_AMORPHOUS - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_LEVITATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Gengar - base_stats 60, 65, 60, 110, 130, 75 - .byte TYPE_GHOST - .byte TYPE_POISON - .byte 45 @ catch rate - .byte 190 @ base exp. yield - ev_yield 0, 0, 0, 0, 3, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_AMORPHOUS - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_LEVITATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Onix - base_stats 35, 45, 160, 70, 30, 45 - .byte TYPE_ROCK - .byte TYPE_GROUND - .byte 45 @ catch rate - .byte 108 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_MINERAL - .byte EGG_GROUP_MINERAL - .byte ABILITY_ROCK_HEAD - .byte ABILITY_STURDY - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Drowzee - base_stats 60, 48, 45, 42, 43, 90 - .byte TYPE_PSYCHIC - .byte TYPE_PSYCHIC - .byte 190 @ catch rate - .byte 102 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 1 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_HUMAN_LIKE - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_INSOMNIA - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Hypno - base_stats 85, 73, 70, 67, 73, 115 - .byte TYPE_PSYCHIC - .byte TYPE_PSYCHIC - .byte 75 @ catch rate - .byte 165 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_HUMAN_LIKE - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_INSOMNIA - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Krabby - base_stats 30, 105, 90, 50, 25, 25 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 225 @ catch rate - .byte 115 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_3 - .byte EGG_GROUP_WATER_3 - .byte ABILITY_HYPER_CUTTER - .byte ABILITY_SHELL_ARMOR - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Kingler - base_stats 55, 130, 115, 75, 50, 50 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 60 @ catch rate - .byte 206 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_3 - .byte EGG_GROUP_WATER_3 - .byte ABILITY_HYPER_CUTTER - .byte ABILITY_SHELL_ARMOR - .byte 0 @ Safari Zone flee rate - .byte F_SUMMARY_SCREEN_FLIP_SPRITE | BODY_COLOR_RED - .2byte 0 @ padding - -@ Voltorb - base_stats 40, 30, 50, 100, 55, 55 - .byte TYPE_ELECTRIC - .byte TYPE_ELECTRIC - .byte 190 @ catch rate - .byte 103 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_MINERAL - .byte EGG_GROUP_MINERAL - .byte ABILITY_SOUNDPROOF - .byte ABILITY_STATIC - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Electrode - base_stats 60, 50, 70, 140, 80, 80 - .byte TYPE_ELECTRIC - .byte TYPE_ELECTRIC - .byte 60 @ catch rate - .byte 150 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_MINERAL - .byte EGG_GROUP_MINERAL - .byte ABILITY_SOUNDPROOF - .byte ABILITY_STATIC - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Exeggcute - base_stats 60, 40, 80, 40, 60, 45 - .byte TYPE_GRASS - .byte TYPE_PSYCHIC - .byte 90 @ catch rate - .byte 98 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_GRASS - .byte EGG_GROUP_GRASS - .byte ABILITY_CHLOROPHYLL - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Exeggutor - base_stats 95, 95, 85, 55, 125, 65 - .byte TYPE_GRASS - .byte TYPE_PSYCHIC - .byte 45 @ catch rate - .byte 212 @ base exp. yield - ev_yield 0, 0, 0, 0, 2, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_GRASS - .byte EGG_GROUP_GRASS - .byte ABILITY_CHLOROPHYLL - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Cubone - base_stats 50, 50, 95, 35, 40, 50 - .byte TYPE_GROUND - .byte TYPE_GROUND - .byte 190 @ catch rate - .byte 87 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_THICK_CLUB - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_MONSTER - .byte ABILITY_ROCK_HEAD - .byte ABILITY_LIGHTNING_ROD - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Marowak - base_stats 60, 80, 110, 45, 50, 80 - .byte TYPE_GROUND - .byte TYPE_GROUND - .byte 75 @ catch rate - .byte 124 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_THICK_CLUB - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_MONSTER - .byte ABILITY_ROCK_HEAD - .byte ABILITY_LIGHTNING_ROD - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Hitmonlee - base_stats 50, 120, 53, 87, 35, 110 - .byte TYPE_FIGHTING - .byte TYPE_FIGHTING - .byte 45 @ catch rate - .byte 139 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 0 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_HUMAN_LIKE - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_LIMBER - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Hitmonchan - base_stats 50, 105, 79, 76, 35, 110 - .byte TYPE_FIGHTING - .byte TYPE_FIGHTING - .byte 45 @ catch rate - .byte 140 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 0 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_HUMAN_LIKE - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_KEEN_EYE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Lickitung - base_stats 90, 55, 75, 30, 60, 75 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 45 @ catch rate - .byte 127 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_MONSTER - .byte ABILITY_OWN_TEMPO - .byte ABILITY_OBLIVIOUS - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Koffing - base_stats 40, 65, 95, 35, 60, 45 - .byte TYPE_POISON - .byte TYPE_POISON - .byte 190 @ catch rate - .byte 114 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_SMOKE_BALL - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_AMORPHOUS - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_LEVITATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Weezing - base_stats 65, 90, 120, 60, 85, 70 - .byte TYPE_POISON - .byte TYPE_POISON - .byte 60 @ catch rate - .byte 173 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_SMOKE_BALL - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_AMORPHOUS - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_LEVITATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Rhyhorn - base_stats 80, 85, 95, 25, 30, 30 - .byte TYPE_GROUND - .byte TYPE_ROCK - .byte 120 @ catch rate - .byte 135 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_FIELD - .byte ABILITY_LIGHTNING_ROD - .byte ABILITY_ROCK_HEAD - .byte 4 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Rhydon - base_stats 105, 130, 120, 40, 45, 45 - .byte TYPE_GROUND - .byte TYPE_ROCK - .byte 60 @ catch rate - .byte 204 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_FIELD - .byte ABILITY_LIGHTNING_ROD - .byte ABILITY_ROCK_HEAD - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Chansey - base_stats 250, 5, 5, 50, 35, 105 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 30 @ catch rate - .byte 255 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_LUCKY_EGG - .byte 254 @ gender - .byte 40 @ egg cycles - .byte 140 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_FAIRY - .byte EGG_GROUP_FAIRY - .byte ABILITY_NATURAL_CURE - .byte ABILITY_SERENE_GRACE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Tangela - base_stats 65, 55, 115, 60, 100, 40 - .byte TYPE_GRASS - .byte TYPE_GRASS - .byte 45 @ catch rate - .byte 166 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_GRASS - .byte EGG_GROUP_GRASS - .byte ABILITY_CHLOROPHYLL - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Kangaskhan - base_stats 105, 95, 80, 90, 40, 80 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 45 @ catch rate - .byte 175 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 254 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_MONSTER - .byte ABILITY_EARLY_BIRD - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Horsea - base_stats 30, 40, 70, 60, 70, 25 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 225 @ catch rate - .byte 83 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_DRAGON_SCALE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_DRAGON - .byte ABILITY_SWIFT_SWIM - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Seadra - base_stats 55, 65, 95, 85, 95, 45 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 75 @ catch rate - .byte 155 @ base exp. yield - ev_yield 0, 0, 1, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_DRAGON_SCALE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_DRAGON - .byte ABILITY_POISON_POINT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Goldeen - base_stats 45, 67, 60, 63, 35, 50 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 225 @ catch rate - .byte 111 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_2 - .byte EGG_GROUP_WATER_2 - .byte ABILITY_SWIFT_SWIM - .byte ABILITY_WATER_VEIL - .byte 4 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Seaking - base_stats 80, 92, 65, 68, 65, 80 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 60 @ catch rate - .byte 170 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_2 - .byte EGG_GROUP_WATER_2 - .byte ABILITY_SWIFT_SWIM - .byte ABILITY_WATER_VEIL - .byte 6 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Staryu - base_stats 30, 45, 55, 85, 70, 55 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 225 @ catch rate - .byte 106 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_STARDUST - .2byte ITEM_STAR_PIECE - .byte 255 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_WATER_3 - .byte EGG_GROUP_WATER_3 - .byte ABILITY_ILLUMINATE - .byte ABILITY_NATURAL_CURE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Starmie - base_stats 60, 75, 85, 115, 100, 85 - .byte TYPE_WATER - .byte TYPE_PSYCHIC - .byte 60 @ catch rate - .byte 207 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_STARDUST - .2byte ITEM_STAR_PIECE - .byte 255 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_WATER_3 - .byte EGG_GROUP_WATER_3 - .byte ABILITY_ILLUMINATE - .byte ABILITY_NATURAL_CURE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Mr. mime - base_stats 40, 45, 65, 90, 100, 120 - .byte TYPE_PSYCHIC - .byte TYPE_PSYCHIC - .byte 45 @ catch rate - .byte 136 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 2 - .2byte ITEM_NONE - .2byte ITEM_LEPPA_BERRY - .byte 127 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_HUMAN_LIKE - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_SOUNDPROOF - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Scyther - base_stats 70, 110, 80, 105, 55, 80 - .byte TYPE_BUG - .byte TYPE_FLYING - .byte 45 @ catch rate - .byte 187 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_SWARM - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Jynx - base_stats 65, 50, 35, 95, 115, 95 - .byte TYPE_ICE - .byte TYPE_PSYCHIC - .byte 45 @ catch rate - .byte 137 @ base exp. yield - ev_yield 0, 0, 0, 0, 2, 0 - .2byte ITEM_ASPEAR_BERRY - .2byte ITEM_ASPEAR_BERRY - .byte 254 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_HUMAN_LIKE - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_OBLIVIOUS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Electabuzz - base_stats 65, 83, 57, 105, 95, 85 - .byte TYPE_ELECTRIC - .byte TYPE_ELECTRIC - .byte 45 @ catch rate - .byte 156 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 63 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_HUMAN_LIKE - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_STATIC - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte F_SUMMARY_SCREEN_FLIP_SPRITE | BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Magmar - base_stats 65, 95, 57, 93, 100, 85 - .byte TYPE_FIRE - .byte TYPE_FIRE - .byte 45 @ catch rate - .byte 167 @ base exp. yield - ev_yield 0, 0, 0, 0, 2, 0 - .2byte ITEM_RAWST_BERRY - .2byte ITEM_RAWST_BERRY - .byte 63 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_HUMAN_LIKE - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_FLAME_BODY - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Pinsir - base_stats 65, 125, 100, 85, 55, 70 - .byte TYPE_BUG - .byte TYPE_BUG - .byte 45 @ catch rate - .byte 200 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_HYPER_CUTTER - .byte ABILITY_NONE - .byte 8 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Tauros - base_stats 75, 100, 95, 110, 40, 70 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 45 @ catch rate - .byte 211 @ base exp. yield - ev_yield 0, 1, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 0 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_INTIMIDATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Magikarp - base_stats 20, 10, 55, 80, 15, 20 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 255 @ catch rate - .byte 20 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 5 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_WATER_2 - .byte EGG_GROUP_DRAGON - .byte ABILITY_SWIFT_SWIM - .byte ABILITY_NONE - .byte 4 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Gyarados - base_stats 95, 125, 79, 81, 60, 100 - .byte TYPE_WATER - .byte TYPE_FLYING - .byte 45 @ catch rate - .byte 214 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 5 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_WATER_2 - .byte EGG_GROUP_DRAGON - .byte ABILITY_INTIMIDATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Lapras - base_stats 130, 85, 80, 60, 85, 95 - .byte TYPE_WATER - .byte TYPE_ICE - .byte 45 @ catch rate - .byte 219 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 40 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_WATER_1 - .byte ABILITY_WATER_ABSORB - .byte ABILITY_SHELL_ARMOR - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Ditto - base_stats 48, 48, 48, 48, 48, 48 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 35 @ catch rate - .byte 61 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_METAL_POWDER - .byte 255 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_DITTO - .byte EGG_GROUP_DITTO - .byte ABILITY_LIMBER - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Eevee - base_stats 55, 55, 50, 55, 45, 65 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 45 @ catch rate - .byte 92 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 1 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 35 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_RUN_AWAY - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Vaporeon - base_stats 130, 65, 60, 65, 110, 95 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 45 @ catch rate - .byte 196 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 35 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_WATER_ABSORB - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Jolteon - base_stats 65, 65, 60, 130, 110, 95 - .byte TYPE_ELECTRIC - .byte TYPE_ELECTRIC - .byte 45 @ catch rate - .byte 197 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 35 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_VOLT_ABSORB - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Flareon - base_stats 65, 130, 60, 65, 95, 110 - .byte TYPE_FIRE - .byte TYPE_FIRE - .byte 45 @ catch rate - .byte 198 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 35 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_FLASH_FIRE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Porygon - base_stats 65, 60, 70, 40, 85, 75 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 45 @ catch rate - .byte 130 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_MINERAL - .byte EGG_GROUP_MINERAL - .byte ABILITY_TRACE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Omanyte - base_stats 35, 40, 100, 35, 90, 55 - .byte TYPE_ROCK - .byte TYPE_WATER - .byte 45 @ catch rate - .byte 120 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 30 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_WATER_3 - .byte ABILITY_SWIFT_SWIM - .byte ABILITY_SHELL_ARMOR - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Omastar - base_stats 70, 60, 125, 55, 115, 70 - .byte TYPE_ROCK - .byte TYPE_WATER - .byte 45 @ catch rate - .byte 199 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 30 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_WATER_3 - .byte ABILITY_SWIFT_SWIM - .byte ABILITY_SHELL_ARMOR - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Kabuto - base_stats 30, 80, 90, 55, 55, 45 - .byte TYPE_ROCK - .byte TYPE_WATER - .byte 45 @ catch rate - .byte 119 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 30 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_WATER_3 - .byte ABILITY_SWIFT_SWIM - .byte ABILITY_BATTLE_ARMOR - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Kabutops - base_stats 60, 115, 105, 80, 65, 70 - .byte TYPE_ROCK - .byte TYPE_WATER - .byte 45 @ catch rate - .byte 201 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 30 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_WATER_3 - .byte ABILITY_SWIFT_SWIM - .byte ABILITY_BATTLE_ARMOR - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Aerodactyl - base_stats 80, 105, 65, 130, 60, 75 - .byte TYPE_ROCK - .byte TYPE_FLYING - .byte 45 @ catch rate - .byte 202 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 35 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_FLYING - .byte ABILITY_ROCK_HEAD - .byte ABILITY_PRESSURE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Snorlax - base_stats 160, 110, 65, 30, 65, 110 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 25 @ catch rate - .byte 154 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_LEFTOVERS - .2byte ITEM_LEFTOVERS - .byte 31 @ gender - .byte 40 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_MONSTER - .byte ABILITY_IMMUNITY - .byte ABILITY_THICK_FAT - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ Articuno - base_stats 90, 85, 100, 85, 95, 125 - .byte TYPE_ICE - .byte TYPE_FLYING - .byte 3 @ catch rate - .byte 215 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 3 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 80 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_PRESSURE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Zapdos - base_stats 90, 90, 85, 100, 125, 90 - .byte TYPE_ELECTRIC - .byte TYPE_FLYING - .byte 3 @ catch rate - .byte 216 @ base exp. yield - ev_yield 0, 0, 0, 0, 3, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 80 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_PRESSURE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Moltres - base_stats 90, 100, 90, 90, 125, 85 - .byte TYPE_FIRE - .byte TYPE_FLYING - .byte 3 @ catch rate - .byte 217 @ base exp. yield - ev_yield 0, 0, 0, 0, 3, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 80 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_PRESSURE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Dratini - base_stats 41, 64, 45, 50, 50, 50 - .byte TYPE_DRAGON - .byte TYPE_DRAGON - .byte 45 @ catch rate - .byte 67 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_DRAGON_SCALE - .byte 127 @ gender - .byte 40 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_DRAGON - .byte ABILITY_SHED_SKIN - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Dragonair - base_stats 61, 84, 65, 70, 70, 70 - .byte TYPE_DRAGON - .byte TYPE_DRAGON - .byte 45 @ catch rate - .byte 144 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_DRAGON_SCALE - .byte 127 @ gender - .byte 40 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_DRAGON - .byte ABILITY_SHED_SKIN - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Dragonite - base_stats 91, 134, 95, 80, 100, 100 - .byte TYPE_DRAGON - .byte TYPE_FLYING - .byte 45 @ catch rate - .byte 218 @ base exp. yield - ev_yield 0, 3, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_DRAGON_SCALE - .byte 127 @ gender - .byte 40 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_DRAGON - .byte ABILITY_INNER_FOCUS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Mewtwo - base_stats 106, 110, 90, 130, 154, 90 - .byte TYPE_PSYCHIC - .byte TYPE_PSYCHIC - .byte 3 @ catch rate - .byte 220 @ base exp. yield - ev_yield 0, 0, 0, 0, 3, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_PRESSURE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Mew - base_stats 100, 100, 100, 100, 100, 100 - .byte TYPE_PSYCHIC - .byte TYPE_PSYCHIC - .byte 45 @ catch rate - .byte 64 @ base exp. yield - ev_yield 3, 0, 0, 0, 0, 0 - .2byte ITEM_LUM_BERRY - .2byte ITEM_LUM_BERRY - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 100 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_SYNCHRONIZE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Chikorita - base_stats 45, 49, 65, 45, 49, 65 - .byte TYPE_GRASS - .byte TYPE_GRASS - .byte 45 @ catch rate - .byte 64 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 1 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_GRASS - .byte ABILITY_OVERGROW - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Bayleef - base_stats 60, 62, 80, 60, 63, 80 - .byte TYPE_GRASS - .byte TYPE_GRASS - .byte 45 @ catch rate - .byte 141 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 1 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_GRASS - .byte ABILITY_OVERGROW - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Meganium - base_stats 80, 82, 100, 80, 83, 100 - .byte TYPE_GRASS - .byte TYPE_GRASS - .byte 45 @ catch rate - .byte 208 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_GRASS - .byte ABILITY_OVERGROW - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Cyndaquil - base_stats 39, 52, 43, 65, 60, 50 - .byte TYPE_FIRE - .byte TYPE_FIRE - .byte 45 @ catch rate - .byte 65 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_BLAZE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Quilava - base_stats 58, 64, 58, 80, 80, 65 - .byte TYPE_FIRE - .byte TYPE_FIRE - .byte 45 @ catch rate - .byte 142 @ base exp. yield - ev_yield 0, 0, 0, 1, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_BLAZE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Typhlosion - base_stats 78, 84, 78, 100, 109, 85 - .byte TYPE_FIRE - .byte TYPE_FIRE - .byte 45 @ catch rate - .byte 209 @ base exp. yield - ev_yield 0, 0, 0, 0, 3, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_BLAZE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Totodile - base_stats 50, 65, 64, 43, 44, 48 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 45 @ catch rate - .byte 66 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_WATER_1 - .byte ABILITY_TORRENT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Croconaw - base_stats 65, 80, 80, 58, 59, 63 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 45 @ catch rate - .byte 143 @ base exp. yield - ev_yield 0, 1, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_WATER_1 - .byte ABILITY_TORRENT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte F_SUMMARY_SCREEN_FLIP_SPRITE | BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Feraligatr - base_stats 85, 105, 100, 78, 79, 83 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 45 @ catch rate - .byte 210 @ base exp. yield - ev_yield 0, 2, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_WATER_1 - .byte ABILITY_TORRENT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Sentret - base_stats 35, 46, 34, 20, 35, 45 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 255 @ catch rate - .byte 57 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_ORAN_BERRY - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_RUN_AWAY - .byte ABILITY_KEEN_EYE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Furret - base_stats 85, 76, 64, 90, 45, 55 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 90 @ catch rate - .byte 116 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_ORAN_BERRY - .2byte ITEM_SITRUS_BERRY - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_RUN_AWAY - .byte ABILITY_KEEN_EYE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Hoothoot - base_stats 60, 30, 30, 50, 36, 56 - .byte TYPE_NORMAL - .byte TYPE_FLYING - .byte 255 @ catch rate - .byte 58 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_FLYING - .byte ABILITY_INSOMNIA - .byte ABILITY_KEEN_EYE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Noctowl - base_stats 100, 50, 50, 70, 76, 96 - .byte TYPE_NORMAL - .byte TYPE_FLYING - .byte 90 @ catch rate - .byte 162 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_FLYING - .byte ABILITY_INSOMNIA - .byte ABILITY_KEEN_EYE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Ledyba - base_stats 40, 20, 30, 55, 40, 80 - .byte TYPE_BUG - .byte TYPE_FLYING - .byte 255 @ catch rate - .byte 54 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 1 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_SWARM - .byte ABILITY_EARLY_BIRD - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Ledian - base_stats 55, 35, 50, 85, 55, 110 - .byte TYPE_BUG - .byte TYPE_FLYING - .byte 90 @ catch rate - .byte 134 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_SWARM - .byte ABILITY_EARLY_BIRD - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Spinarak - base_stats 40, 60, 40, 30, 40, 40 - .byte TYPE_BUG - .byte TYPE_POISON - .byte 255 @ catch rate - .byte 54 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_SWARM - .byte ABILITY_INSOMNIA - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Ariados - base_stats 70, 90, 70, 40, 60, 60 - .byte TYPE_BUG - .byte TYPE_POISON - .byte 90 @ catch rate - .byte 134 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_SWARM - .byte ABILITY_INSOMNIA - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Crobat - base_stats 85, 90, 80, 130, 70, 80 - .byte TYPE_POISON - .byte TYPE_FLYING - .byte 90 @ catch rate - .byte 204 @ base exp. yield - ev_yield 0, 0, 0, 3, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_FLYING - .byte ABILITY_INNER_FOCUS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Chinchou - base_stats 75, 38, 38, 67, 56, 56 - .byte TYPE_WATER - .byte TYPE_ELECTRIC - .byte 190 @ catch rate - .byte 90 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_YELLOW_SHARD - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_WATER_2 - .byte EGG_GROUP_WATER_2 - .byte ABILITY_VOLT_ABSORB - .byte ABILITY_ILLUMINATE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Lanturn - base_stats 125, 58, 58, 67, 76, 76 - .byte TYPE_WATER - .byte TYPE_ELECTRIC - .byte 75 @ catch rate - .byte 156 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_YELLOW_SHARD - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_WATER_2 - .byte EGG_GROUP_WATER_2 - .byte ABILITY_VOLT_ABSORB - .byte ABILITY_ILLUMINATE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Pichu - base_stats 20, 40, 15, 60, 35, 35 - .byte TYPE_ELECTRIC - .byte TYPE_ELECTRIC - .byte 190 @ catch rate - .byte 42 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_ORAN_BERRY - .byte 127 @ gender - .byte 10 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_STATIC - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Cleffa - base_stats 50, 25, 28, 15, 45, 55 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 150 @ catch rate - .byte 37 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 1 - .2byte ITEM_LEPPA_BERRY - .2byte ITEM_MOON_STONE - .byte 191 @ gender - .byte 10 @ egg cycles - .byte 140 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_CUTE_CHARM - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Igglybuff - base_stats 90, 30, 15, 15, 40, 20 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 170 @ catch rate - .byte 39 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 191 @ gender - .byte 10 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_CUTE_CHARM - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte F_SUMMARY_SCREEN_FLIP_SPRITE | BODY_COLOR_PINK - .2byte 0 @ padding - -@ Togepi - base_stats 35, 20, 65, 20, 40, 65 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 190 @ catch rate - .byte 74 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 1 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 10 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_HUSTLE - .byte ABILITY_SERENE_GRACE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_WHITE - .2byte 0 @ padding - -@ Togetic - base_stats 55, 40, 85, 40, 80, 105 - .byte TYPE_NORMAL - .byte TYPE_FLYING - .byte 75 @ catch rate - .byte 114 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 10 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_FAIRY - .byte ABILITY_HUSTLE - .byte ABILITY_SERENE_GRACE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_WHITE - .2byte 0 @ padding - -@ Natu - base_stats 40, 50, 45, 70, 70, 45 - .byte TYPE_PSYCHIC - .byte TYPE_FLYING - .byte 190 @ catch rate - .byte 73 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_FLYING - .byte ABILITY_SYNCHRONIZE - .byte ABILITY_EARLY_BIRD - .byte 6 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Xatu - base_stats 65, 75, 70, 95, 95, 70 - .byte TYPE_PSYCHIC - .byte TYPE_FLYING - .byte 75 @ catch rate - .byte 171 @ base exp. yield - ev_yield 0, 0, 0, 1, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_FLYING - .byte ABILITY_SYNCHRONIZE - .byte ABILITY_EARLY_BIRD - .byte 8 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Mareep - base_stats 55, 40, 40, 35, 65, 45 - .byte TYPE_ELECTRIC - .byte TYPE_ELECTRIC - .byte 235 @ catch rate - .byte 59 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_FIELD - .byte ABILITY_STATIC - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_WHITE - .2byte 0 @ padding - -@ Flaaffy - base_stats 70, 55, 55, 45, 80, 60 - .byte TYPE_ELECTRIC - .byte TYPE_ELECTRIC - .byte 120 @ catch rate - .byte 117 @ base exp. yield - ev_yield 0, 0, 0, 0, 2, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_FIELD - .byte ABILITY_STATIC - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Ampharos - base_stats 90, 75, 75, 55, 115, 90 - .byte TYPE_ELECTRIC - .byte TYPE_ELECTRIC - .byte 45 @ catch rate - .byte 194 @ base exp. yield - ev_yield 0, 0, 0, 0, 3, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_FIELD - .byte ABILITY_STATIC - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Bellossom - base_stats 75, 80, 85, 50, 90, 100 - .byte TYPE_GRASS - .byte TYPE_GRASS - .byte 45 @ catch rate - .byte 184 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 3 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_GRASS - .byte EGG_GROUP_GRASS - .byte ABILITY_CHLOROPHYLL - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Marill - base_stats 70, 20, 50, 40, 20, 50 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 190 @ catch rate - .byte 58 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 10 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_FAIRY - .byte ABILITY_THICK_FAT - .byte ABILITY_HUGE_POWER - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Azumarill - base_stats 100, 50, 80, 50, 50, 80 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 75 @ catch rate - .byte 153 @ base exp. yield - ev_yield 3, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 10 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_FAIRY - .byte ABILITY_THICK_FAT - .byte ABILITY_HUGE_POWER - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Sudowoodo - base_stats 70, 100, 115, 30, 30, 65 - .byte TYPE_ROCK - .byte TYPE_ROCK - .byte 65 @ catch rate - .byte 135 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_MINERAL - .byte EGG_GROUP_MINERAL - .byte ABILITY_STURDY - .byte ABILITY_ROCK_HEAD - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Politoed - base_stats 90, 75, 75, 70, 90, 100 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 45 @ catch rate - .byte 185 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 3 - .2byte ITEM_NONE - .2byte ITEM_KINGS_ROCK - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_WATER_1 - .byte ABILITY_WATER_ABSORB - .byte ABILITY_DAMP - .byte 0 @ Safari Zone flee rate - .byte F_SUMMARY_SCREEN_FLIP_SPRITE | BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Hoppip - base_stats 35, 35, 40, 50, 35, 55 - .byte TYPE_GRASS - .byte TYPE_FLYING - .byte 255 @ catch rate - .byte 74 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 1 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FAIRY - .byte EGG_GROUP_GRASS - .byte ABILITY_CHLOROPHYLL - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Skiploom - base_stats 55, 45, 50, 80, 45, 65 - .byte TYPE_GRASS - .byte TYPE_FLYING - .byte 120 @ catch rate - .byte 136 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FAIRY - .byte EGG_GROUP_GRASS - .byte ABILITY_CHLOROPHYLL - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Jumpluff - base_stats 75, 55, 70, 110, 55, 85 - .byte TYPE_GRASS - .byte TYPE_FLYING - .byte 45 @ catch rate - .byte 176 @ base exp. yield - ev_yield 0, 0, 0, 3, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FAIRY - .byte EGG_GROUP_GRASS - .byte ABILITY_CHLOROPHYLL - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Aipom - base_stats 55, 70, 55, 85, 40, 55 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 45 @ catch rate - .byte 94 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_RUN_AWAY - .byte ABILITY_PICKUP - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Sunkern - base_stats 30, 30, 30, 30, 30, 30 - .byte TYPE_GRASS - .byte TYPE_GRASS - .byte 235 @ catch rate - .byte 52 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_GRASS - .byte EGG_GROUP_GRASS - .byte ABILITY_CHLOROPHYLL - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Sunflora - base_stats 75, 75, 55, 30, 105, 85 - .byte TYPE_GRASS - .byte TYPE_GRASS - .byte 120 @ catch rate - .byte 146 @ base exp. yield - ev_yield 0, 0, 0, 0, 2, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_GRASS - .byte EGG_GROUP_GRASS - .byte ABILITY_CHLOROPHYLL - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Yanma - base_stats 65, 65, 45, 95, 75, 45 - .byte TYPE_BUG - .byte TYPE_FLYING - .byte 75 @ catch rate - .byte 147 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_SPEED_BOOST - .byte ABILITY_COMPOUND_EYES - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Wooper - base_stats 55, 45, 45, 15, 25, 25 - .byte TYPE_WATER - .byte TYPE_GROUND - .byte 255 @ catch rate - .byte 52 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_FIELD - .byte ABILITY_DAMP - .byte ABILITY_WATER_ABSORB - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Quagsire - base_stats 95, 85, 85, 35, 65, 65 - .byte TYPE_WATER - .byte TYPE_GROUND - .byte 90 @ catch rate - .byte 137 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_FIELD - .byte ABILITY_DAMP - .byte ABILITY_WATER_ABSORB - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Espeon - base_stats 65, 65, 60, 110, 130, 95 - .byte TYPE_PSYCHIC - .byte TYPE_PSYCHIC - .byte 45 @ catch rate - .byte 197 @ base exp. yield - ev_yield 0, 0, 0, 0, 2, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 35 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_SYNCHRONIZE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Umbreon - base_stats 95, 65, 110, 65, 60, 130 - .byte TYPE_DARK - .byte TYPE_DARK - .byte 45 @ catch rate - .byte 197 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 35 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_SYNCHRONIZE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ Murkrow - base_stats 60, 85, 42, 91, 85, 42 - .byte TYPE_DARK - .byte TYPE_FLYING - .byte 30 @ catch rate - .byte 107 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_FLYING - .byte ABILITY_INSOMNIA - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ Slowking - base_stats 95, 75, 80, 30, 100, 110 - .byte TYPE_WATER - .byte TYPE_PSYCHIC - .byte 70 @ catch rate - .byte 164 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 3 - .2byte ITEM_NONE - .2byte ITEM_KINGS_ROCK - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_WATER_1 - .byte ABILITY_OBLIVIOUS - .byte ABILITY_OWN_TEMPO - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Misdreavus - base_stats 60, 60, 60, 85, 85, 85 - .byte TYPE_GHOST - .byte TYPE_GHOST - .byte 45 @ catch rate - .byte 147 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 1 - .2byte ITEM_NONE - .2byte ITEM_SPELL_TAG - .byte 127 @ gender - .byte 25 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_AMORPHOUS - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_LEVITATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Unown - base_stats 48, 72, 48, 48, 72, 48 - .byte TYPE_PSYCHIC - .byte TYPE_PSYCHIC - .byte 225 @ catch rate - .byte 61 @ base exp. yield - ev_yield 0, 1, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 40 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_LEVITATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte F_SUMMARY_SCREEN_FLIP_SPRITE | BODY_COLOR_BLACK - .2byte 0 @ padding - -@ Wobbuffet - base_stats 190, 33, 58, 33, 33, 58 - .byte TYPE_PSYCHIC - .byte TYPE_PSYCHIC - .byte 45 @ catch rate - .byte 177 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_AMORPHOUS - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_SHADOW_TAG - .byte ABILITY_NONE - .byte 4 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Girafarig - base_stats 70, 80, 65, 85, 90, 65 - .byte TYPE_NORMAL - .byte TYPE_PSYCHIC - .byte 60 @ catch rate - .byte 149 @ base exp. yield - ev_yield 0, 0, 0, 0, 2, 0 - .2byte ITEM_NONE - .2byte ITEM_PERSIM_BERRY - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_INNER_FOCUS - .byte ABILITY_EARLY_BIRD - .byte 4 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Pineco - base_stats 50, 65, 90, 15, 35, 35 - .byte TYPE_BUG - .byte TYPE_BUG - .byte 190 @ catch rate - .byte 60 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_STURDY - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Forretress - base_stats 75, 90, 140, 40, 60, 60 - .byte TYPE_BUG - .byte TYPE_STEEL - .byte 75 @ catch rate - .byte 118 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_STURDY - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Dunsparce - base_stats 100, 70, 70, 45, 65, 65 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 190 @ catch rate - .byte 75 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_SERENE_GRACE - .byte ABILITY_RUN_AWAY - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Gligar - base_stats 65, 75, 105, 85, 35, 65 - .byte TYPE_GROUND - .byte TYPE_FLYING - .byte 60 @ catch rate - .byte 108 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_HYPER_CUTTER - .byte ABILITY_SAND_VEIL - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Steelix - base_stats 75, 85, 200, 30, 55, 65 - .byte TYPE_STEEL - .byte TYPE_GROUND - .byte 25 @ catch rate - .byte 196 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_METAL_COAT - .byte 127 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_MINERAL - .byte EGG_GROUP_MINERAL - .byte ABILITY_ROCK_HEAD - .byte ABILITY_STURDY - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Snubbull - base_stats 60, 80, 50, 30, 40, 40 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 190 @ catch rate - .byte 63 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 191 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FAIRY - .byte ABILITY_INTIMIDATE - .byte ABILITY_RUN_AWAY - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Granbull - base_stats 90, 120, 75, 45, 60, 60 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 75 @ catch rate - .byte 178 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 191 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FAIRY - .byte ABILITY_INTIMIDATE - .byte ABILITY_INTIMIDATE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Qwilfish - base_stats 65, 95, 75, 85, 55, 55 - .byte TYPE_WATER - .byte TYPE_POISON - .byte 45 @ catch rate - .byte 100 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_2 - .byte EGG_GROUP_WATER_2 - .byte ABILITY_POISON_POINT - .byte ABILITY_SWIFT_SWIM - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Scizor - base_stats 70, 130, 100, 65, 55, 80 - .byte TYPE_BUG - .byte TYPE_STEEL - .byte 25 @ catch rate - .byte 200 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_SWARM - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Shuckle - base_stats 20, 10, 230, 5, 10, 230 - .byte TYPE_BUG - .byte TYPE_ROCK - .byte 190 @ catch rate - .byte 80 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 1 - .2byte ITEM_ORAN_BERRY - .2byte ITEM_ORAN_BERRY - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_STURDY - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Heracross - base_stats 80, 125, 75, 85, 40, 95 - .byte TYPE_BUG - .byte TYPE_FIGHTING - .byte 45 @ catch rate - .byte 200 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_SWARM - .byte ABILITY_GUTS - .byte 8 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Sneasel - base_stats 55, 95, 55, 115, 35, 75 - .byte TYPE_DARK - .byte TYPE_ICE - .byte 60 @ catch rate - .byte 132 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_QUICK_CLAW - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_INNER_FOCUS - .byte ABILITY_KEEN_EYE - .byte 0 @ Safari Zone flee rate - .byte F_SUMMARY_SCREEN_FLIP_SPRITE | BODY_COLOR_BLACK - .2byte 0 @ padding - -@ Teddiursa - base_stats 60, 80, 50, 40, 50, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 120 @ catch rate - .byte 124 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_PICKUP - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte F_SUMMARY_SCREEN_FLIP_SPRITE | BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Ursaring - base_stats 90, 130, 75, 55, 75, 75 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 60 @ catch rate - .byte 189 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_GUTS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Slugma - base_stats 40, 40, 40, 20, 70, 40 - .byte TYPE_FIRE - .byte TYPE_FIRE - .byte 190 @ catch rate - .byte 78 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_AMORPHOUS - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_MAGMA_ARMOR - .byte ABILITY_FLAME_BODY - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Magcargo - base_stats 50, 50, 120, 30, 80, 80 - .byte TYPE_FIRE - .byte TYPE_ROCK - .byte 75 @ catch rate - .byte 154 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_AMORPHOUS - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_MAGMA_ARMOR - .byte ABILITY_FLAME_BODY - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Swinub - base_stats 50, 50, 40, 50, 30, 30 - .byte TYPE_ICE - .byte TYPE_GROUND - .byte 225 @ catch rate - .byte 78 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_OBLIVIOUS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Piloswine - base_stats 100, 100, 80, 50, 60, 60 - .byte TYPE_ICE - .byte TYPE_GROUND - .byte 75 @ catch rate - .byte 160 @ base exp. yield - ev_yield 1, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_OBLIVIOUS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Corsola - base_stats 55, 55, 85, 35, 65, 85 - .byte TYPE_WATER - .byte TYPE_ROCK - .byte 60 @ catch rate - .byte 113 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 1 - .2byte ITEM_NONE - .2byte ITEM_RED_SHARD - .byte 191 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_WATER_3 - .byte ABILITY_HUSTLE - .byte ABILITY_NATURAL_CURE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Remoraid - base_stats 35, 65, 35, 65, 65, 35 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 190 @ catch rate - .byte 78 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_WATER_2 - .byte ABILITY_HUSTLE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Octillery - base_stats 75, 105, 75, 45, 105, 75 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 75 @ catch rate - .byte 164 @ base exp. yield - ev_yield 0, 1, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_WATER_2 - .byte ABILITY_SUCTION_CUPS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Delibird - base_stats 45, 55, 45, 75, 65, 45 - .byte TYPE_ICE - .byte TYPE_FLYING - .byte 45 @ catch rate - .byte 183 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_FIELD - .byte ABILITY_VITAL_SPIRIT - .byte ABILITY_HUSTLE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Mantine - base_stats 65, 40, 70, 70, 80, 140 - .byte TYPE_WATER - .byte TYPE_FLYING - .byte 25 @ catch rate - .byte 168 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_WATER_1 - .byte ABILITY_SWIFT_SWIM - .byte ABILITY_WATER_ABSORB - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Skarmory - base_stats 65, 80, 140, 70, 40, 70 - .byte TYPE_STEEL - .byte TYPE_FLYING - .byte 25 @ catch rate - .byte 168 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_FLYING - .byte ABILITY_KEEN_EYE - .byte ABILITY_STURDY - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Houndour - base_stats 45, 60, 30, 65, 80, 50 - .byte TYPE_DARK - .byte TYPE_FIRE - .byte 120 @ catch rate - .byte 114 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_EARLY_BIRD - .byte ABILITY_FLASH_FIRE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ Houndoom - base_stats 75, 90, 50, 95, 110, 80 - .byte TYPE_DARK - .byte TYPE_FIRE - .byte 45 @ catch rate - .byte 204 @ base exp. yield - ev_yield 0, 0, 0, 0, 2, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_EARLY_BIRD - .byte ABILITY_FLASH_FIRE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ Kingdra - base_stats 75, 95, 95, 85, 95, 95 - .byte TYPE_WATER - .byte TYPE_DRAGON - .byte 45 @ catch rate - .byte 207 @ base exp. yield - ev_yield 0, 1, 0, 0, 1, 1 - .2byte ITEM_NONE - .2byte ITEM_DRAGON_SCALE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_DRAGON - .byte ABILITY_SWIFT_SWIM - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Phanpy - base_stats 90, 60, 60, 40, 40, 40 - .byte TYPE_GROUND - .byte TYPE_GROUND - .byte 120 @ catch rate - .byte 124 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_PICKUP - .byte ABILITY_NONE - .byte 10 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Donphan - base_stats 90, 120, 120, 50, 60, 60 - .byte TYPE_GROUND - .byte TYPE_GROUND - .byte 60 @ catch rate - .byte 189 @ base exp. yield - ev_yield 0, 1, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_STURDY - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Porygon2 - base_stats 85, 80, 90, 60, 105, 95 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 45 @ catch rate - .byte 180 @ base exp. yield - ev_yield 0, 0, 0, 0, 2, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_MINERAL - .byte EGG_GROUP_MINERAL - .byte ABILITY_TRACE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Stantler - base_stats 73, 95, 62, 85, 85, 65 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 45 @ catch rate - .byte 165 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_INTIMIDATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Smeargle - base_stats 55, 20, 35, 75, 20, 45 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 45 @ catch rate - .byte 106 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_OWN_TEMPO - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_WHITE - .2byte 0 @ padding - -@ Tyrogue - base_stats 35, 35, 35, 35, 35, 35 - .byte TYPE_FIGHTING - .byte TYPE_FIGHTING - .byte 75 @ catch rate - .byte 91 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 0 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_GUTS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Hitmontop - base_stats 50, 95, 95, 70, 35, 110 - .byte TYPE_FIGHTING - .byte TYPE_FIGHTING - .byte 45 @ catch rate - .byte 138 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 0 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_HUMAN_LIKE - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_INTIMIDATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Smoochum - base_stats 45, 30, 15, 65, 85, 65 - .byte TYPE_ICE - .byte TYPE_PSYCHIC - .byte 45 @ catch rate - .byte 87 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 0 - .2byte ITEM_ASPEAR_BERRY - .2byte ITEM_ASPEAR_BERRY - .byte 254 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_OBLIVIOUS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Elekid - base_stats 45, 63, 37, 95, 65, 55 - .byte TYPE_ELECTRIC - .byte TYPE_ELECTRIC - .byte 45 @ catch rate - .byte 106 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 63 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_STATIC - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte F_SUMMARY_SCREEN_FLIP_SPRITE | BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Magby - base_stats 45, 75, 37, 83, 70, 55 - .byte TYPE_FIRE - .byte TYPE_FIRE - .byte 45 @ catch rate - .byte 117 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_RAWST_BERRY - .2byte ITEM_RAWST_BERRY - .byte 63 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_FLAME_BODY - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Miltank - base_stats 95, 80, 105, 100, 40, 70 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 45 @ catch rate - .byte 200 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_MOOMOO_MILK - .2byte ITEM_MOOMOO_MILK - .byte 254 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_THICK_FAT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Blissey - base_stats 255, 10, 10, 55, 75, 135 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 30 @ catch rate - .byte 255 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_LUCKY_EGG - .byte 254 @ gender - .byte 40 @ egg cycles - .byte 140 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_FAIRY - .byte EGG_GROUP_FAIRY - .byte ABILITY_NATURAL_CURE - .byte ABILITY_SERENE_GRACE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Raikou - base_stats 90, 85, 75, 115, 115, 100 - .byte TYPE_ELECTRIC - .byte TYPE_ELECTRIC - .byte 3 @ catch rate - .byte 216 @ base exp. yield - ev_yield 0, 0, 0, 2, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 80 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_PRESSURE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Entei - base_stats 115, 115, 85, 100, 90, 75 - .byte TYPE_FIRE - .byte TYPE_FIRE - .byte 3 @ catch rate - .byte 217 @ base exp. yield - ev_yield 1, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 80 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_PRESSURE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Suicune - base_stats 100, 75, 115, 85, 90, 115 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 3 @ catch rate - .byte 215 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 80 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_PRESSURE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Larvitar - base_stats 50, 64, 50, 41, 45, 50 - .byte TYPE_ROCK - .byte TYPE_GROUND - .byte 45 @ catch rate - .byte 67 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 40 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_MONSTER - .byte ABILITY_GUTS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Pupitar - base_stats 70, 84, 70, 51, 65, 70 - .byte TYPE_ROCK - .byte TYPE_GROUND - .byte 45 @ catch rate - .byte 144 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 40 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_MONSTER - .byte ABILITY_SHED_SKIN - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Tyranitar - base_stats 100, 134, 110, 61, 95, 100 - .byte TYPE_ROCK - .byte TYPE_DARK - .byte 45 @ catch rate - .byte 218 @ base exp. yield - ev_yield 0, 3, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 40 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_MONSTER - .byte ABILITY_SAND_STREAM - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Lugia - base_stats 106, 90, 130, 110, 90, 154 - .byte TYPE_PSYCHIC - .byte TYPE_FLYING - .byte 3 @ catch rate - .byte 220 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 3 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_PRESSURE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_WHITE - .2byte 0 @ padding - -@ Ho-Oh - base_stats 106, 130, 90, 90, 110, 154 - .byte TYPE_FIRE - .byte TYPE_FLYING - .byte 3 @ catch rate - .byte 220 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 3 - .2byte ITEM_SACRED_ASH - .2byte ITEM_SACRED_ASH - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_PRESSURE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Celebi - base_stats 100, 100, 100, 100, 100, 100 - .byte TYPE_PSYCHIC - .byte TYPE_GRASS - .byte 45 @ catch rate - .byte 64 @ base exp. yield - ev_yield 3, 0, 0, 0, 0, 0 - .2byte ITEM_LUM_BERRY - .2byte ITEM_LUM_BERRY - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 100 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NATURAL_CURE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ ? - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 3 @ catch rate - .byte 1 @ base exp. yield - ev_yield 2, 2, 2, 2, 2, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_NONE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ Treecko - base_stats 40, 45, 35, 70, 65, 55 - .byte TYPE_GRASS - .byte TYPE_GRASS - .byte 45 @ catch rate - .byte 65 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_DRAGON - .byte ABILITY_OVERGROW - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Grovyle - base_stats 50, 65, 45, 95, 85, 65 - .byte TYPE_GRASS - .byte TYPE_GRASS - .byte 45 @ catch rate - .byte 141 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_DRAGON - .byte ABILITY_OVERGROW - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Sceptile - base_stats 70, 85, 65, 120, 105, 85 - .byte TYPE_GRASS - .byte TYPE_GRASS - .byte 45 @ catch rate - .byte 208 @ base exp. yield - ev_yield 0, 0, 0, 3, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_DRAGON - .byte ABILITY_OVERGROW - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Torchic - base_stats 45, 60, 40, 45, 70, 50 - .byte TYPE_FIRE - .byte TYPE_FIRE - .byte 45 @ catch rate - .byte 65 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_BLAZE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Combusken - base_stats 60, 85, 60, 55, 85, 60 - .byte TYPE_FIRE - .byte TYPE_FIGHTING - .byte 45 @ catch rate - .byte 142 @ base exp. yield - ev_yield 0, 1, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_BLAZE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Blaziken - base_stats 80, 120, 70, 80, 110, 70 - .byte TYPE_FIRE - .byte TYPE_FIGHTING - .byte 45 @ catch rate - .byte 209 @ base exp. yield - ev_yield 0, 3, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_BLAZE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Mudkip - base_stats 50, 70, 50, 40, 50, 50 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 45 @ catch rate - .byte 65 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_WATER_1 - .byte ABILITY_TORRENT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Marshtomp - base_stats 70, 85, 70, 50, 60, 70 - .byte TYPE_WATER - .byte TYPE_GROUND - .byte 45 @ catch rate - .byte 143 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_WATER_1 - .byte ABILITY_TORRENT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Swampert - base_stats 100, 110, 90, 60, 85, 90 - .byte TYPE_WATER - .byte TYPE_GROUND - .byte 45 @ catch rate - .byte 210 @ base exp. yield - ev_yield 0, 3, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_WATER_1 - .byte ABILITY_TORRENT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Poochyena - base_stats 35, 55, 35, 35, 30, 30 - .byte TYPE_DARK - .byte TYPE_DARK - .byte 255 @ catch rate - .byte 55 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_PECHA_BERRY - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_RUN_AWAY - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Mightyena - base_stats 70, 90, 70, 70, 60, 60 - .byte TYPE_DARK - .byte TYPE_DARK - .byte 127 @ catch rate - .byte 128 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_PECHA_BERRY - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_INTIMIDATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Zigzagoon - base_stats 38, 30, 41, 60, 30, 41 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 255 @ catch rate - .byte 60 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_ORAN_BERRY - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_PICKUP - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Linoone - base_stats 78, 70, 61, 100, 50, 61 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 90 @ catch rate - .byte 128 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_ORAN_BERRY - .2byte ITEM_SITRUS_BERRY - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_PICKUP - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_WHITE - .2byte 0 @ padding - -@ Wurmple - base_stats 45, 45, 35, 20, 20, 30 - .byte TYPE_BUG - .byte TYPE_BUG - .byte 255 @ catch rate - .byte 54 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_SHIELD_DUST - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Silcoon - base_stats 50, 35, 55, 15, 25, 25 - .byte TYPE_BUG - .byte TYPE_BUG - .byte 120 @ catch rate - .byte 71 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_SHED_SKIN - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_WHITE - .2byte 0 @ padding - -@ Beautifly - base_stats 60, 70, 50, 65, 90, 50 - .byte TYPE_BUG - .byte TYPE_FLYING - .byte 45 @ catch rate - .byte 161 @ base exp. yield - ev_yield 0, 0, 0, 0, 3, 0 - .2byte ITEM_NONE - .2byte ITEM_SILVER_POWDER - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_SWARM - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Cascoon - base_stats 50, 35, 55, 15, 25, 25 - .byte TYPE_BUG - .byte TYPE_BUG - .byte 120 @ catch rate - .byte 72 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_SHED_SKIN - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Dustox - base_stats 60, 50, 70, 65, 50, 90 - .byte TYPE_BUG - .byte TYPE_POISON - .byte 45 @ catch rate - .byte 160 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 3 - .2byte ITEM_NONE - .2byte ITEM_SILVER_POWDER - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_SHIELD_DUST - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Lotad - base_stats 40, 30, 30, 30, 40, 50 - .byte TYPE_WATER - .byte TYPE_GRASS - .byte 255 @ catch rate - .byte 74 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 1 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_GRASS - .byte ABILITY_SWIFT_SWIM - .byte ABILITY_RAIN_DISH - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Lombre - base_stats 60, 50, 50, 50, 60, 70 - .byte TYPE_WATER - .byte TYPE_GRASS - .byte 120 @ catch rate - .byte 141 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_GRASS - .byte ABILITY_SWIFT_SWIM - .byte ABILITY_RAIN_DISH - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Ludicolo - base_stats 80, 70, 70, 70, 90, 100 - .byte TYPE_WATER - .byte TYPE_GRASS - .byte 45 @ catch rate - .byte 181 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 3 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_GRASS - .byte ABILITY_SWIFT_SWIM - .byte ABILITY_RAIN_DISH - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Seedot - base_stats 40, 40, 50, 30, 30, 30 - .byte TYPE_GRASS - .byte TYPE_GRASS - .byte 255 @ catch rate - .byte 74 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_GRASS - .byte ABILITY_CHLOROPHYLL - .byte ABILITY_EARLY_BIRD - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Nuzleaf - base_stats 70, 70, 40, 60, 60, 40 - .byte TYPE_GRASS - .byte TYPE_DARK - .byte 120 @ catch rate - .byte 141 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_GRASS - .byte ABILITY_CHLOROPHYLL - .byte ABILITY_EARLY_BIRD - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Shiftry - base_stats 90, 100, 60, 80, 90, 60 - .byte TYPE_GRASS - .byte TYPE_DARK - .byte 45 @ catch rate - .byte 181 @ base exp. yield - ev_yield 0, 3, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_GRASS - .byte ABILITY_CHLOROPHYLL - .byte ABILITY_EARLY_BIRD - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Nincada - base_stats 31, 45, 90, 40, 30, 30 - .byte TYPE_BUG - .byte TYPE_GROUND - .byte 255 @ catch rate - .byte 65 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_ERRATIC - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_COMPOUND_EYES - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Ninjask - base_stats 61, 90, 45, 160, 50, 50 - .byte TYPE_BUG - .byte TYPE_FLYING - .byte 120 @ catch rate - .byte 155 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_ERRATIC - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_SPEED_BOOST - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Shedinja - base_stats 1, 90, 45, 40, 30, 30 - .byte TYPE_BUG - .byte TYPE_GHOST - .byte 45 @ catch rate - .byte 95 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_ERRATIC - .byte EGG_GROUP_MINERAL - .byte EGG_GROUP_MINERAL - .byte ABILITY_WONDER_GUARD - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Taillow - base_stats 40, 55, 30, 85, 30, 30 - .byte TYPE_NORMAL - .byte TYPE_FLYING - .byte 200 @ catch rate - .byte 59 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_FLYING - .byte ABILITY_GUTS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Swellow - base_stats 60, 85, 60, 125, 50, 50 - .byte TYPE_NORMAL - .byte TYPE_FLYING - .byte 45 @ catch rate - .byte 162 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_FLYING - .byte ABILITY_GUTS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Shroomish - base_stats 60, 40, 60, 35, 40, 60 - .byte TYPE_GRASS - .byte TYPE_GRASS - .byte 255 @ catch rate - .byte 65 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FLUCTUATING - .byte EGG_GROUP_FAIRY - .byte EGG_GROUP_GRASS - .byte ABILITY_EFFECT_SPORE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Breloom - base_stats 60, 130, 80, 70, 60, 60 - .byte TYPE_GRASS - .byte TYPE_FIGHTING - .byte 90 @ catch rate - .byte 165 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FLUCTUATING - .byte EGG_GROUP_FAIRY - .byte EGG_GROUP_GRASS - .byte ABILITY_EFFECT_SPORE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Spinda - base_stats 60, 60, 60, 60, 60, 60 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 255 @ catch rate - .byte 85 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_CHESTO_BERRY - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_OWN_TEMPO - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte F_SUMMARY_SCREEN_FLIP_SPRITE | BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Wingull - base_stats 40, 30, 30, 85, 55, 30 - .byte TYPE_WATER - .byte TYPE_FLYING - .byte 190 @ catch rate - .byte 64 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_FLYING - .byte ABILITY_KEEN_EYE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_WHITE - .2byte 0 @ padding - -@ Pelipper - base_stats 60, 50, 100, 65, 85, 70 - .byte TYPE_WATER - .byte TYPE_FLYING - .byte 45 @ catch rate - .byte 164 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_FLYING - .byte ABILITY_KEEN_EYE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Surskit - base_stats 40, 30, 32, 65, 50, 52 - .byte TYPE_BUG - .byte TYPE_WATER - .byte 200 @ catch rate - .byte 63 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_BUG - .byte ABILITY_SWIFT_SWIM - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Masquerain - base_stats 70, 60, 62, 60, 80, 82 - .byte TYPE_BUG - .byte TYPE_FLYING - .byte 75 @ catch rate - .byte 128 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 1 - .2byte ITEM_NONE - .2byte ITEM_SILVER_POWDER - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_BUG - .byte ABILITY_INTIMIDATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Wailmer - base_stats 130, 70, 35, 60, 70, 35 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 125 @ catch rate - .byte 137 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 40 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FLUCTUATING - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_WATER_2 - .byte ABILITY_WATER_VEIL - .byte ABILITY_OBLIVIOUS - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Wailord - base_stats 170, 90, 45, 60, 90, 45 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 60 @ catch rate - .byte 206 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 40 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FLUCTUATING - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_WATER_2 - .byte ABILITY_WATER_VEIL - .byte ABILITY_OBLIVIOUS - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Skitty - base_stats 50, 45, 45, 50, 35, 35 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 255 @ catch rate - .byte 65 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_LEPPA_BERRY - .byte 191 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FAIRY - .byte ABILITY_CUTE_CHARM - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Delcatty - base_stats 70, 65, 65, 70, 55, 55 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 60 @ catch rate - .byte 138 @ base exp. yield - ev_yield 1, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_LEPPA_BERRY - .byte 191 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FAIRY - .byte ABILITY_CUTE_CHARM - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Kecleon - base_stats 60, 90, 70, 40, 60, 120 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 200 @ catch rate - .byte 132 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 1 - .2byte ITEM_NONE - .2byte ITEM_PERSIM_BERRY - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_COLOR_CHANGE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Baltoy - base_stats 40, 40, 55, 55, 40, 70 - .byte TYPE_GROUND - .byte TYPE_PSYCHIC - .byte 255 @ catch rate - .byte 58 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 1 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_MINERAL - .byte EGG_GROUP_MINERAL - .byte ABILITY_LEVITATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Claydol - base_stats 60, 70, 105, 75, 70, 120 - .byte TYPE_GROUND - .byte TYPE_PSYCHIC - .byte 90 @ catch rate - .byte 189 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_MINERAL - .byte EGG_GROUP_MINERAL - .byte ABILITY_LEVITATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ Nosepass - base_stats 30, 45, 135, 30, 45, 90 - .byte TYPE_ROCK - .byte TYPE_ROCK - .byte 255 @ catch rate - .byte 108 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_MINERAL - .byte EGG_GROUP_MINERAL - .byte ABILITY_STURDY - .byte ABILITY_MAGNET_PULL - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Torkoal - base_stats 70, 85, 140, 20, 85, 70 - .byte TYPE_FIRE - .byte TYPE_FIRE - .byte 90 @ catch rate - .byte 161 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_WHITE_SMOKE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Sableye - base_stats 50, 75, 75, 50, 65, 65 - .byte TYPE_DARK - .byte TYPE_GHOST - .byte 45 @ catch rate - .byte 98 @ base exp. yield - ev_yield 0, 1, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 25 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_HUMAN_LIKE - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_KEEN_EYE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Barboach - base_stats 50, 48, 43, 60, 46, 41 - .byte TYPE_WATER - .byte TYPE_GROUND - .byte 190 @ catch rate - .byte 92 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_2 - .byte EGG_GROUP_WATER_2 - .byte ABILITY_OBLIVIOUS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Whiscash - base_stats 110, 78, 73, 60, 76, 71 - .byte TYPE_WATER - .byte TYPE_GROUND - .byte 75 @ catch rate - .byte 158 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_WATER_2 - .byte EGG_GROUP_WATER_2 - .byte ABILITY_OBLIVIOUS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Luvdisc - base_stats 43, 30, 55, 97, 40, 65 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 225 @ catch rate - .byte 110 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_HEART_SCALE - .2byte ITEM_NONE - .byte 191 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_WATER_2 - .byte EGG_GROUP_WATER_2 - .byte ABILITY_SWIFT_SWIM - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Corphish - base_stats 43, 80, 65, 35, 50, 35 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 205 @ catch rate - .byte 111 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FLUCTUATING - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_WATER_3 - .byte ABILITY_HYPER_CUTTER - .byte ABILITY_SHELL_ARMOR - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Crawdaunt - base_stats 63, 120, 85, 55, 90, 55 - .byte TYPE_WATER - .byte TYPE_DARK - .byte 155 @ catch rate - .byte 161 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FLUCTUATING - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_WATER_3 - .byte ABILITY_HYPER_CUTTER - .byte ABILITY_SHELL_ARMOR - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Feebas - base_stats 20, 15, 20, 80, 10, 55 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 255 @ catch rate - .byte 61 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_ERRATIC - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_DRAGON - .byte ABILITY_SWIFT_SWIM - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Milotic - base_stats 95, 60, 79, 81, 100, 125 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 60 @ catch rate - .byte 213 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_ERRATIC - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_DRAGON - .byte ABILITY_MARVEL_SCALE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Carvanha - base_stats 45, 90, 20, 65, 65, 20 - .byte TYPE_WATER - .byte TYPE_DARK - .byte 225 @ catch rate - .byte 88 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_WATER_2 - .byte EGG_GROUP_WATER_2 - .byte ABILITY_ROUGH_SKIN - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Sharpedo - base_stats 70, 120, 40, 95, 95, 40 - .byte TYPE_WATER - .byte TYPE_DARK - .byte 60 @ catch rate - .byte 175 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_WATER_2 - .byte EGG_GROUP_WATER_2 - .byte ABILITY_ROUGH_SKIN - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Trapinch - base_stats 45, 100, 45, 10, 45, 45 - .byte TYPE_GROUND - .byte TYPE_GROUND - .byte 255 @ catch rate - .byte 73 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_SOFT_SAND - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_HYPER_CUTTER - .byte ABILITY_ARENA_TRAP - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Vibrava - base_stats 50, 70, 50, 70, 50, 50 - .byte TYPE_GROUND - .byte TYPE_DRAGON - .byte 120 @ catch rate - .byte 126 @ base exp. yield - ev_yield 0, 1, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_LEVITATE - .byte ABILITY_LEVITATE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Flygon - base_stats 80, 100, 80, 100, 80, 80 - .byte TYPE_GROUND - .byte TYPE_DRAGON - .byte 45 @ catch rate - .byte 197 @ base exp. yield - ev_yield 0, 1, 0, 2, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_BUG - .byte EGG_GROUP_BUG - .byte ABILITY_LEVITATE - .byte ABILITY_LEVITATE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Makuhita - base_stats 72, 60, 30, 25, 20, 30 - .byte TYPE_FIGHTING - .byte TYPE_FIGHTING - .byte 180 @ catch rate - .byte 87 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 63 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FLUCTUATING - .byte EGG_GROUP_HUMAN_LIKE - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_THICK_FAT - .byte ABILITY_GUTS - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Hariyama - base_stats 144, 120, 60, 50, 40, 60 - .byte TYPE_FIGHTING - .byte TYPE_FIGHTING - .byte 200 @ catch rate - .byte 184 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_KINGS_ROCK - .byte 63 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FLUCTUATING - .byte EGG_GROUP_HUMAN_LIKE - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_THICK_FAT - .byte ABILITY_GUTS - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Electrike - base_stats 40, 45, 40, 65, 65, 40 - .byte TYPE_ELECTRIC - .byte TYPE_ELECTRIC - .byte 120 @ catch rate - .byte 104 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_STATIC - .byte ABILITY_LIGHTNING_ROD - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Manectric - base_stats 70, 75, 60, 105, 105, 60 - .byte TYPE_ELECTRIC - .byte TYPE_ELECTRIC - .byte 45 @ catch rate - .byte 168 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_STATIC - .byte ABILITY_LIGHTNING_ROD - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Numel - base_stats 60, 60, 40, 35, 65, 45 - .byte TYPE_FIRE - .byte TYPE_GROUND - .byte 255 @ catch rate - .byte 88 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 0 - .2byte ITEM_RAWST_BERRY - .2byte ITEM_RAWST_BERRY - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_OBLIVIOUS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Camerupt - base_stats 70, 100, 70, 40, 105, 75 - .byte TYPE_FIRE - .byte TYPE_GROUND - .byte 150 @ catch rate - .byte 175 @ base exp. yield - ev_yield 0, 1, 0, 0, 1, 0 - .2byte ITEM_RAWST_BERRY - .2byte ITEM_RAWST_BERRY - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_MAGMA_ARMOR - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Spheal - base_stats 70, 40, 50, 25, 55, 50 - .byte TYPE_ICE - .byte TYPE_WATER - .byte 255 @ catch rate - .byte 75 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_FIELD - .byte ABILITY_THICK_FAT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Sealeo - base_stats 90, 60, 70, 45, 75, 70 - .byte TYPE_ICE - .byte TYPE_WATER - .byte 120 @ catch rate - .byte 128 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_FIELD - .byte ABILITY_THICK_FAT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Walrein - base_stats 110, 80, 90, 65, 95, 90 - .byte TYPE_ICE - .byte TYPE_WATER - .byte 45 @ catch rate - .byte 192 @ base exp. yield - ev_yield 3, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_FIELD - .byte ABILITY_THICK_FAT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Cacnea - base_stats 50, 85, 40, 35, 85, 40 - .byte TYPE_GRASS - .byte TYPE_GRASS - .byte 190 @ catch rate - .byte 97 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_POISON_BARB - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_GRASS - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_SAND_VEIL - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Cacturne - base_stats 70, 115, 60, 55, 115, 60 - .byte TYPE_GRASS - .byte TYPE_DARK - .byte 60 @ catch rate - .byte 177 @ base exp. yield - ev_yield 0, 1, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_POISON_BARB - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_GRASS - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_SAND_VEIL - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Snorunt - base_stats 50, 50, 50, 50, 50, 50 - .byte TYPE_ICE - .byte TYPE_ICE - .byte 190 @ catch rate - .byte 74 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FAIRY - .byte EGG_GROUP_MINERAL - .byte ABILITY_INNER_FOCUS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Glalie - base_stats 80, 80, 80, 80, 80, 80 - .byte TYPE_ICE - .byte TYPE_ICE - .byte 75 @ catch rate - .byte 187 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NEVER_MELT_ICE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FAIRY - .byte EGG_GROUP_MINERAL - .byte ABILITY_INNER_FOCUS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Lunatone - base_stats 70, 55, 65, 70, 95, 85 - .byte TYPE_ROCK - .byte TYPE_PSYCHIC - .byte 45 @ catch rate - .byte 150 @ base exp. yield - ev_yield 0, 0, 0, 0, 2, 0 - .2byte ITEM_NONE - .2byte ITEM_MOON_STONE - .byte 255 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_MINERAL - .byte EGG_GROUP_MINERAL - .byte ABILITY_LEVITATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Solrock - base_stats 70, 95, 85, 70, 55, 65 - .byte TYPE_ROCK - .byte TYPE_PSYCHIC - .byte 45 @ catch rate - .byte 150 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_SUN_STONE - .byte 255 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_MINERAL - .byte EGG_GROUP_MINERAL - .byte ABILITY_LEVITATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Azurill - base_stats 50, 20, 40, 20, 20, 40 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 150 @ catch rate - .byte 33 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 191 @ gender - .byte 10 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_THICK_FAT - .byte ABILITY_HUGE_POWER - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Spoink - base_stats 60, 25, 35, 60, 70, 80 - .byte TYPE_PSYCHIC - .byte TYPE_PSYCHIC - .byte 255 @ catch rate - .byte 89 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 1 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_THICK_FAT - .byte ABILITY_OWN_TEMPO - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ Grumpig - base_stats 80, 45, 65, 80, 90, 110 - .byte TYPE_PSYCHIC - .byte TYPE_PSYCHIC - .byte 60 @ catch rate - .byte 164 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_THICK_FAT - .byte ABILITY_OWN_TEMPO - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Plusle - base_stats 60, 50, 40, 95, 85, 75 - .byte TYPE_ELECTRIC - .byte TYPE_ELECTRIC - .byte 200 @ catch rate - .byte 120 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FAIRY - .byte EGG_GROUP_FAIRY - .byte ABILITY_PLUS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Minun - base_stats 60, 40, 50, 95, 75, 85 - .byte TYPE_ELECTRIC - .byte TYPE_ELECTRIC - .byte 200 @ catch rate - .byte 120 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FAIRY - .byte EGG_GROUP_FAIRY - .byte ABILITY_MINUS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Mawile - base_stats 50, 85, 85, 50, 55, 55 - .byte TYPE_STEEL - .byte TYPE_STEEL - .byte 45 @ catch rate - .byte 98 @ base exp. yield - ev_yield 0, 1, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FAIRY - .byte ABILITY_HYPER_CUTTER - .byte ABILITY_INTIMIDATE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ Meditite - base_stats 30, 40, 55, 60, 40, 55 - .byte TYPE_FIGHTING - .byte TYPE_PSYCHIC - .byte 180 @ catch rate - .byte 91 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_HUMAN_LIKE - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_PURE_POWER - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Medicham - base_stats 60, 60, 75, 80, 60, 75 - .byte TYPE_FIGHTING - .byte TYPE_PSYCHIC - .byte 90 @ catch rate - .byte 153 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_HUMAN_LIKE - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_PURE_POWER - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Swablu - base_stats 45, 40, 60, 50, 40, 75 - .byte TYPE_NORMAL - .byte TYPE_FLYING - .byte 255 @ catch rate - .byte 74 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 1 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_ERRATIC - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_DRAGON - .byte ABILITY_NATURAL_CURE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Altaria - base_stats 75, 70, 90, 80, 70, 105 - .byte TYPE_DRAGON - .byte TYPE_FLYING - .byte 45 @ catch rate - .byte 188 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_ERRATIC - .byte EGG_GROUP_FLYING - .byte EGG_GROUP_DRAGON - .byte ABILITY_NATURAL_CURE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Wynaut - base_stats 95, 23, 48, 23, 23, 48 - .byte TYPE_PSYCHIC - .byte TYPE_PSYCHIC - .byte 125 @ catch rate - .byte 44 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_SHADOW_TAG - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Duskull - base_stats 20, 40, 90, 25, 30, 90 - .byte TYPE_GHOST - .byte TYPE_GHOST - .byte 190 @ catch rate - .byte 97 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 1 - .2byte ITEM_NONE - .2byte ITEM_SPELL_TAG - .byte 127 @ gender - .byte 25 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_AMORPHOUS - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_LEVITATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ Dusclops - base_stats 40, 70, 130, 25, 60, 130 - .byte TYPE_GHOST - .byte TYPE_GHOST - .byte 90 @ catch rate - .byte 179 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 2 - .2byte ITEM_NONE - .2byte ITEM_SPELL_TAG - .byte 127 @ gender - .byte 25 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_AMORPHOUS - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_PRESSURE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ Roselia - base_stats 50, 60, 45, 65, 100, 80 - .byte TYPE_GRASS - .byte TYPE_POISON - .byte 150 @ catch rate - .byte 152 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_POISON_BARB - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FAIRY - .byte EGG_GROUP_GRASS - .byte ABILITY_NATURAL_CURE - .byte ABILITY_POISON_POINT - .byte 0 @ Safari Zone flee rate - .byte F_SUMMARY_SCREEN_FLIP_SPRITE | BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Slakoth - base_stats 60, 60, 60, 30, 35, 35 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 255 @ catch rate - .byte 83 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_TRUANT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Vigoroth - base_stats 80, 80, 80, 90, 55, 55 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 120 @ catch rate - .byte 126 @ base exp. yield - ev_yield 0, 0, 0, 2, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_VITAL_SPIRIT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_WHITE - .2byte 0 @ padding - -@ Slaking - base_stats 150, 160, 100, 100, 95, 65 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 45 @ catch rate - .byte 210 @ base exp. yield - ev_yield 3, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_TRUANT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Gulpin - base_stats 70, 43, 53, 40, 43, 53 - .byte TYPE_POISON - .byte TYPE_POISON - .byte 225 @ catch rate - .byte 75 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_BIG_PEARL - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FLUCTUATING - .byte EGG_GROUP_AMORPHOUS - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_LIQUID_OOZE - .byte ABILITY_STICKY_HOLD - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Swalot - base_stats 100, 73, 83, 55, 73, 83 - .byte TYPE_POISON - .byte TYPE_POISON - .byte 75 @ catch rate - .byte 168 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_BIG_PEARL - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FLUCTUATING - .byte EGG_GROUP_AMORPHOUS - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_LIQUID_OOZE - .byte ABILITY_STICKY_HOLD - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Tropius - base_stats 99, 68, 83, 51, 72, 87 - .byte TYPE_GRASS - .byte TYPE_FLYING - .byte 200 @ catch rate - .byte 169 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_GRASS - .byte ABILITY_CHLOROPHYLL - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Whismur - base_stats 64, 51, 23, 28, 51, 23 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 190 @ catch rate - .byte 68 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_CHESTO_BERRY - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_FIELD - .byte ABILITY_SOUNDPROOF - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Loudred - base_stats 84, 71, 43, 48, 71, 43 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 120 @ catch rate - .byte 126 @ base exp. yield - ev_yield 2, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_CHESTO_BERRY - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_FIELD - .byte ABILITY_SOUNDPROOF - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Exploud - base_stats 104, 91, 63, 68, 91, 63 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 45 @ catch rate - .byte 184 @ base exp. yield - ev_yield 3, 0, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_CHESTO_BERRY - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_FIELD - .byte ABILITY_SOUNDPROOF - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Clamperl - base_stats 35, 64, 85, 32, 74, 55 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 255 @ catch rate - .byte 142 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_BLUE_SHARD - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_ERRATIC - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_WATER_1 - .byte ABILITY_SHELL_ARMOR - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Huntail - base_stats 55, 104, 105, 52, 94, 75 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 60 @ catch rate - .byte 178 @ base exp. yield - ev_yield 0, 1, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_ERRATIC - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_WATER_1 - .byte ABILITY_SWIFT_SWIM - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Gorebyss - base_stats 55, 84, 105, 52, 114, 75 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 60 @ catch rate - .byte 178 @ base exp. yield - ev_yield 0, 0, 0, 0, 2, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_ERRATIC - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_WATER_1 - .byte ABILITY_SWIFT_SWIM - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PINK - .2byte 0 @ padding - -@ Absol - base_stats 65, 130, 60, 75, 75, 60 - .byte TYPE_DARK - .byte TYPE_DARK - .byte 30 @ catch rate - .byte 174 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 25 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_MEDIUM_SLOW - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_PRESSURE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte F_SUMMARY_SCREEN_FLIP_SPRITE | BODY_COLOR_WHITE - .2byte 0 @ padding - -@ Shuppet - base_stats 44, 75, 35, 45, 63, 33 - .byte TYPE_GHOST - .byte TYPE_GHOST - .byte 225 @ catch rate - .byte 97 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_SPELL_TAG - .byte 127 @ gender - .byte 25 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_AMORPHOUS - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_INSOMNIA - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ Banette - base_stats 64, 115, 65, 65, 83, 63 - .byte TYPE_GHOST - .byte TYPE_GHOST - .byte 45 @ catch rate - .byte 179 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_SPELL_TAG - .byte 127 @ gender - .byte 25 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_AMORPHOUS - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_INSOMNIA - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLACK - .2byte 0 @ padding - -@ Seviper - base_stats 73, 100, 60, 65, 100, 60 - .byte TYPE_POISON - .byte TYPE_POISON - .byte 90 @ catch rate - .byte 165 @ base exp. yield - ev_yield 0, 1, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FLUCTUATING - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_DRAGON - .byte ABILITY_SHED_SKIN - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte F_SUMMARY_SCREEN_FLIP_SPRITE | BODY_COLOR_BLACK - .2byte 0 @ padding - -@ Zangoose - base_stats 73, 115, 60, 90, 60, 60 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 90 @ catch rate - .byte 165 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_ERRATIC - .byte EGG_GROUP_FIELD - .byte EGG_GROUP_FIELD - .byte ABILITY_IMMUNITY - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte F_SUMMARY_SCREEN_FLIP_SPRITE | BODY_COLOR_WHITE - .2byte 0 @ padding - -@ Relicanth - base_stats 100, 90, 130, 55, 45, 65 - .byte TYPE_WATER - .byte TYPE_ROCK - .byte 25 @ catch rate - .byte 198 @ base exp. yield - ev_yield 1, 0, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_GREEN_SHARD - .byte 31 @ gender - .byte 40 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_WATER_1 - .byte EGG_GROUP_WATER_2 - .byte ABILITY_SWIFT_SWIM - .byte ABILITY_ROCK_HEAD - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Aron - base_stats 50, 70, 100, 30, 40, 40 - .byte TYPE_STEEL - .byte TYPE_ROCK - .byte 180 @ catch rate - .byte 96 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_HARD_STONE - .byte 127 @ gender - .byte 35 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_MONSTER - .byte ABILITY_STURDY - .byte ABILITY_ROCK_HEAD - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Lairon - base_stats 60, 90, 140, 40, 50, 50 - .byte TYPE_STEEL - .byte TYPE_ROCK - .byte 90 @ catch rate - .byte 152 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_HARD_STONE - .byte 127 @ gender - .byte 35 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_MONSTER - .byte ABILITY_STURDY - .byte ABILITY_ROCK_HEAD - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Aggron - base_stats 70, 110, 180, 50, 60, 60 - .byte TYPE_STEEL - .byte TYPE_ROCK - .byte 45 @ catch rate - .byte 205 @ base exp. yield - ev_yield 0, 0, 3, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_HARD_STONE - .byte 127 @ gender - .byte 35 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_MONSTER - .byte EGG_GROUP_MONSTER - .byte ABILITY_STURDY - .byte ABILITY_ROCK_HEAD - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Castform - base_stats 70, 70, 70, 70, 70, 70 - .byte TYPE_NORMAL - .byte TYPE_NORMAL - .byte 45 @ catch rate - .byte 145 @ base exp. yield - ev_yield 1, 0, 0, 0, 0, 0 - .2byte ITEM_MYSTIC_WATER - .2byte ITEM_MYSTIC_WATER - .byte 127 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_MEDIUM_FAST - .byte EGG_GROUP_FAIRY - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_FORECAST - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_WHITE - .2byte 0 @ padding - -@ Volbeat - base_stats 65, 73, 55, 85, 47, 75 - .byte TYPE_BUG - .byte TYPE_BUG - .byte 150 @ catch rate - .byte 146 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 0 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_ERRATIC - .byte EGG_GROUP_BUG - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_ILLUMINATE - .byte ABILITY_SWARM - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Illumise - base_stats 65, 47, 55, 85, 73, 75 - .byte TYPE_BUG - .byte TYPE_BUG - .byte 150 @ catch rate - .byte 146 @ base exp. yield - ev_yield 0, 0, 0, 1, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 254 @ gender - .byte 15 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FLUCTUATING - .byte EGG_GROUP_BUG - .byte EGG_GROUP_HUMAN_LIKE - .byte ABILITY_OBLIVIOUS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Lileep - base_stats 66, 41, 77, 23, 61, 87 - .byte TYPE_ROCK - .byte TYPE_GRASS - .byte 45 @ catch rate - .byte 121 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 1 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 30 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_ERRATIC - .byte EGG_GROUP_WATER_3 - .byte EGG_GROUP_WATER_3 - .byte ABILITY_SUCTION_CUPS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_PURPLE - .2byte 0 @ padding - -@ Cradily - base_stats 86, 81, 97, 43, 81, 107 - .byte TYPE_ROCK - .byte TYPE_GRASS - .byte 45 @ catch rate - .byte 201 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 2 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 30 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_ERRATIC - .byte EGG_GROUP_WATER_3 - .byte EGG_GROUP_WATER_3 - .byte ABILITY_SUCTION_CUPS - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Anorith - base_stats 45, 95, 50, 75, 40, 50 - .byte TYPE_ROCK - .byte TYPE_BUG - .byte 45 @ catch rate - .byte 119 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 30 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_ERRATIC - .byte EGG_GROUP_WATER_3 - .byte EGG_GROUP_WATER_3 - .byte ABILITY_BATTLE_ARMOR - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Armaldo - base_stats 75, 125, 100, 45, 70, 80 - .byte TYPE_ROCK - .byte TYPE_BUG - .byte 45 @ catch rate - .byte 200 @ base exp. yield - ev_yield 0, 2, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 31 @ gender - .byte 30 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_ERRATIC - .byte EGG_GROUP_WATER_3 - .byte EGG_GROUP_WATER_3 - .byte ABILITY_BATTLE_ARMOR - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Ralts - base_stats 28, 25, 25, 40, 45, 35 - .byte TYPE_PSYCHIC - .byte TYPE_PSYCHIC - .byte 235 @ catch rate - .byte 70 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_AMORPHOUS - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_SYNCHRONIZE - .byte ABILITY_TRACE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_WHITE - .2byte 0 @ padding - -@ Kirlia - base_stats 38, 35, 35, 50, 65, 55 - .byte TYPE_PSYCHIC - .byte TYPE_PSYCHIC - .byte 120 @ catch rate - .byte 140 @ base exp. yield - ev_yield 0, 0, 0, 0, 2, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_AMORPHOUS - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_SYNCHRONIZE - .byte ABILITY_TRACE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_WHITE - .2byte 0 @ padding - -@ Gardevoir - base_stats 68, 65, 65, 80, 125, 115 - .byte TYPE_PSYCHIC - .byte TYPE_PSYCHIC - .byte 45 @ catch rate - .byte 208 @ base exp. yield - ev_yield 0, 0, 0, 0, 3, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 20 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_AMORPHOUS - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_SYNCHRONIZE - .byte ABILITY_TRACE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_WHITE - .2byte 0 @ padding - -@ Bagon - base_stats 45, 75, 60, 50, 40, 30 - .byte TYPE_DRAGON - .byte TYPE_DRAGON - .byte 45 @ catch rate - .byte 89 @ base exp. yield - ev_yield 0, 1, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_DRAGON_SCALE - .byte 127 @ gender - .byte 40 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_DRAGON - .byte EGG_GROUP_DRAGON - .byte ABILITY_ROCK_HEAD - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Shelgon - base_stats 65, 95, 100, 50, 60, 50 - .byte TYPE_DRAGON - .byte TYPE_DRAGON - .byte 45 @ catch rate - .byte 144 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_DRAGON_SCALE - .byte 127 @ gender - .byte 40 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_DRAGON - .byte EGG_GROUP_DRAGON - .byte ABILITY_ROCK_HEAD - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_WHITE - .2byte 0 @ padding - -@ Salamence - base_stats 95, 135, 80, 100, 110, 80 - .byte TYPE_DRAGON - .byte TYPE_FLYING - .byte 45 @ catch rate - .byte 218 @ base exp. yield - ev_yield 0, 3, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_DRAGON_SCALE - .byte 127 @ gender - .byte 40 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_DRAGON - .byte EGG_GROUP_DRAGON - .byte ABILITY_INTIMIDATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Beldum - base_stats 40, 55, 80, 30, 35, 60 - .byte TYPE_STEEL - .byte TYPE_PSYCHIC - .byte 3 @ catch rate - .byte 103 @ base exp. yield - ev_yield 0, 0, 1, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_METAL_COAT - .byte 255 @ gender - .byte 40 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_MINERAL - .byte EGG_GROUP_MINERAL - .byte ABILITY_CLEAR_BODY - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Metang - base_stats 60, 75, 100, 50, 55, 80 - .byte TYPE_STEEL - .byte TYPE_PSYCHIC - .byte 3 @ catch rate - .byte 153 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_METAL_COAT - .byte 255 @ gender - .byte 40 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_MINERAL - .byte EGG_GROUP_MINERAL - .byte ABILITY_CLEAR_BODY - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Metagross - base_stats 80, 135, 130, 70, 95, 90 - .byte TYPE_STEEL - .byte TYPE_PSYCHIC - .byte 3 @ catch rate - .byte 210 @ base exp. yield - ev_yield 0, 0, 3, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_METAL_COAT - .byte 255 @ gender - .byte 40 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_MINERAL - .byte EGG_GROUP_MINERAL - .byte ABILITY_CLEAR_BODY - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Regirock - base_stats 80, 100, 200, 50, 50, 100 - .byte TYPE_ROCK - .byte TYPE_ROCK - .byte 3 @ catch rate - .byte 217 @ base exp. yield - ev_yield 0, 0, 3, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 80 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_CLEAR_BODY - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BROWN - .2byte 0 @ padding - -@ Regice - base_stats 80, 50, 100, 50, 100, 200 - .byte TYPE_ICE - .byte TYPE_ICE - .byte 3 @ catch rate - .byte 216 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 3 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 80 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_CLEAR_BODY - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Registeel - base_stats 80, 75, 150, 50, 75, 150 - .byte TYPE_STEEL - .byte TYPE_STEEL - .byte 3 @ catch rate - .byte 215 @ base exp. yield - ev_yield 0, 0, 2, 0, 0, 1 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 80 @ egg cycles - .byte 35 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_CLEAR_BODY - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GRAY - .2byte 0 @ padding - -@ Kyogre - base_stats 100, 100, 90, 90, 150, 140 - .byte TYPE_WATER - .byte TYPE_WATER - .byte 5 @ catch rate - .byte 218 @ base exp. yield - ev_yield 0, 0, 0, 0, 3, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_DRIZZLE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Groudon - base_stats 100, 150, 140, 90, 100, 90 - .byte TYPE_GROUND - .byte TYPE_GROUND - .byte 5 @ catch rate - .byte 218 @ base exp. yield - ev_yield 0, 3, 0, 0, 0, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_DROUGHT - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Rayquaza - base_stats 105, 150, 90, 95, 150, 90 - .byte TYPE_DRAGON - .byte TYPE_FLYING - .byte 3 @ catch rate - .byte 220 @ base exp. yield - ev_yield 0, 2, 0, 0, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_AIR_LOCK - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_GREEN - .2byte 0 @ padding - -@ Latias - base_stats 80, 80, 90, 110, 110, 130 - .byte TYPE_DRAGON - .byte TYPE_PSYCHIC - .byte 3 @ catch rate - .byte 211 @ base exp. yield - ev_yield 0, 0, 0, 0, 0, 3 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 254 @ gender - .byte 120 @ egg cycles - .byte 90 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_LEVITATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_RED - .2byte 0 @ padding - -@ Latios - base_stats 80, 90, 80, 110, 130, 110 - .byte TYPE_DRAGON - .byte TYPE_PSYCHIC - .byte 3 @ catch rate - .byte 211 @ base exp. yield - ev_yield 0, 0, 0, 0, 3, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 0 @ gender - .byte 120 @ egg cycles - .byte 90 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_LEVITATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding - -@ Jirachi - base_stats 100, 100, 100, 100, 100, 100 - .byte TYPE_STEEL - .byte TYPE_PSYCHIC - .byte 3 @ catch rate - .byte 215 @ base exp. yield - ev_yield 3, 0, 0, 0, 0, 0 - .2byte ITEM_STAR_PIECE - .2byte ITEM_STAR_PIECE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 100 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_SERENE_GRACE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_YELLOW - .2byte 0 @ padding - -@ Deoxys - base_stats 50, 150, 50, 150, 150, 50 - .byte TYPE_PSYCHIC - .byte TYPE_PSYCHIC - .byte 3 @ catch rate - .byte 215 @ base exp. yield - ev_yield 0, 1, 0, 1, 1, 0 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 255 @ gender - .byte 120 @ egg cycles - .byte 0 @ base friendship - .byte GROWTH_SLOW - .byte EGG_GROUP_UNDISCOVERED - .byte EGG_GROUP_UNDISCOVERED - .byte ABILITY_PRESSURE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte F_SUMMARY_SCREEN_FLIP_SPRITE | BODY_COLOR_RED - .2byte 0 @ padding - -@ Chimecho - base_stats 65, 50, 70, 65, 95, 80 - .byte TYPE_PSYCHIC - .byte TYPE_PSYCHIC - .byte 45 @ catch rate - .byte 147 @ base exp. yield - ev_yield 0, 0, 0, 0, 1, 1 - .2byte ITEM_NONE - .2byte ITEM_NONE - .byte 127 @ gender - .byte 25 @ egg cycles - .byte 70 @ base friendship - .byte GROWTH_FAST - .byte EGG_GROUP_AMORPHOUS - .byte EGG_GROUP_AMORPHOUS - .byte ABILITY_LEVITATE - .byte ABILITY_NONE - .byte 0 @ Safari Zone flee rate - .byte BODY_COLOR_BLUE - .2byte 0 @ padding diff --git a/data/battle_7.s b/data/battle_7.s deleted file mode 100644 index ffd2e8daaf..0000000000 --- a/data/battle_7.s +++ /dev/null @@ -1,44 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_0832C0D0:: @ 832C0D0 - obj_tiles gUnknown_08C1F1C8, 0x1000, 0xd6ff - - .align 2 -gUnknown_0832C0D8:: @ 832C0D8 - obj_tiles gUnknown_08C1F46C, 0x1000, 0xd701 - - .align 2 -gUnknown_0832C0E0:: @ 832C0E0 - obj_tiles gUnknown_08C1F5E8, 0x0800, 0xd6ff - - .align 2 -gUnknown_0832C0E8:: @ 832C0E8 - obj_tiles gUnknown_08C1F5E8, 0x0800, 0xd700 - - .align 2 -gUnknown_0832C0F0:: @ 832C0F0 - obj_tiles gUnknown_08C1F76C, 0x0800, 0xd701 - - .align 2 -gUnknown_0832C0F8:: @ 832C0F8 - obj_tiles gUnknown_08C1F76C, 0x0800, 0xd702 - - .align 2 -gUnknown_0832C100:: @ 832C100 - obj_tiles gUnknown_08C1F8E8, 0x1000, 0xd70b - - .align 2 -gUnknown_0832C108:: @ 832C108 - obj_tiles gUnknown_08C0237C, 0x0100, 0xd704 - obj_tiles gUnknown_08C0237C, 0x0120, 0xd705 - obj_tiles gUnknown_08C0237C, 0x0100, 0xd706 - obj_tiles gUnknown_08C0237C, 0x0120, 0xd707 - - .align 2 -gUnknown_0832C128:: @ 832C128 - obj_pal gBattleInterface_BallStatusBarPal, 0xd6ff - obj_pal gBattleInterface_BallDisplayPal, 0xd704 diff --git a/data/battle_ai_scripts.s b/data/battle_ai_scripts.s index 834c4bf9d4..430f9f4036 100644 --- a/data/battle_ai_scripts.s +++ b/data/battle_ai_scripts.s @@ -1,81 +1,3393 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" +#include "constants/battle.h" +#include "constants/battle_ai.h" +#include "constants/abilities.h" +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/battle_move_effects.h" +#include "constants/hold_effects.h" +#include "constants/pokemon.h" + .include "asm/macros/battle_ai_script.inc" .section script_data, "aw", %progbits .align 2 gBattleAI_ScriptsTable:: @ 82DBEF8 - .4byte gBattleAIScript_82DBF78 - .4byte gBattleAIScript_82DDE3F - .4byte gBattleAIScript_82DC7B0 - .4byte gBattleAIScript_82DDE71 - .4byte gBattleAIScript_82DDEDD - .4byte gBattleAIScript_82DDEC8 - .4byte gBattleAIScript_82DDF09 - .4byte gBattleAIScript_82DDFB4 - .4byte gBattleAIScript_82DE193 - .4byte gBattleAIScript_82DE2ED - .4byte gBattleAIScript_82DE34E - .4byte gBattleAIScript_82DE34E - .4byte gBattleAIScript_82DE34E - .4byte gBattleAIScript_82DE34E - .4byte gBattleAIScript_82DE34E - .4byte gBattleAIScript_82DE34E - .4byte gBattleAIScript_82DE34E - .4byte gBattleAIScript_82DE34E - .4byte gBattleAIScript_82DE34E - .4byte gBattleAIScript_82DE34E - .4byte gBattleAIScript_82DE34E - .4byte gBattleAIScript_82DE34E - .4byte gBattleAIScript_82DE34E - .4byte gBattleAIScript_82DE34E - .4byte gBattleAIScript_82DE34E - .4byte gBattleAIScript_82DE34E - .4byte gBattleAIScript_82DE34E - .4byte gBattleAIScript_82DE34E - .4byte gBattleAIScript_82DE34E - .4byte gBattleAIScript_82DE309 - .4byte gBattleAIScript_82DE337 - .4byte gBattleAIScript_82DE33E + .4byte AI_CheckBadMove + .4byte AI_CheckViability + .4byte AI_TryToFaint + .4byte AI_SetupFirstTurn + .4byte AI_Risky + .4byte AI_PreferStrongestMove + .4byte AI_PreferBatonPass + .4byte AI_DoubleBattle + .4byte AI_HPAware + .4byte AI_Unknown + .4byte AI_Ret + .4byte AI_Ret + .4byte AI_Ret + .4byte AI_Ret + .4byte AI_Ret + .4byte AI_Ret + .4byte AI_Ret + .4byte AI_Ret + .4byte AI_Ret + .4byte AI_Ret + .4byte AI_Ret + .4byte AI_Ret + .4byte AI_Ret + .4byte AI_Ret + .4byte AI_Ret + .4byte AI_Ret + .4byte AI_Ret + .4byte AI_Ret + .4byte AI_Ret + .4byte AI_Roaming + .4byte AI_Safari + .4byte AI_FirstBattle -gBattleAIScript_82DBF78:: @ 82DBF78 - .incbin "baserom.gba", 0x2dbf78, 0x838 +AI_CheckBadMove: + if_target_is_ally AI_Ret + if_move MOVE_FISSURE, BattleAIScript_82DBF92 + if_move MOVE_HORN_DRILL, BattleAIScript_82DBF92 + get_how_powerful_move_is + if_equal 0, BattleAIScript_82DBFFE -gBattleAIScript_82DC7B0:: @ 82DC7B0 - .incbin "baserom.gba", 0x2dc7b0, 0x168F +BattleAIScript_82DBF92: + if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10 + get_ability AI_TARGET + if_equal ABILITY_VOLT_ABSORB, BattleAIScript_82DBFBD + if_equal ABILITY_WATER_ABSORB, BattleAIScript_82DBFCA + if_equal ABILITY_FLASH_FIRE, BattleAIScript_82DBFD7 + if_equal ABILITY_WONDER_GUARD, BattleAIScript_82DBFE4 + if_equal ABILITY_LEVITATE, BattleAIScript_82DBFEF + goto BattleAIScript_82DBFF7 -gBattleAIScript_82DDE3F:: @ 82DDE3F - .incbin "baserom.gba", 0x2dde3f, 0x32 +BattleAIScript_82DBFBD: + get_curr_move_type + if_equal_ TYPE_ELECTRIC, Score_Minus12 + goto BattleAIScript_82DBFF7 -gBattleAIScript_82DDE71:: @ 82DDE71 - .incbin "baserom.gba", 0x2dde71, 0x57 +BattleAIScript_82DBFCA: + get_curr_move_type + if_equal_ TYPE_WATER, Score_Minus12 + goto BattleAIScript_82DBFF7 -gBattleAIScript_82DDEC8:: @ 82DDEC8 - .incbin "baserom.gba", 0x2ddec8, 0x15 +BattleAIScript_82DBFD7: + get_curr_move_type + if_equal_ TYPE_FIRE, Score_Minus12 + goto BattleAIScript_82DBFF7 -gBattleAIScript_82DDEDD:: @ 82DDEDD - .incbin "baserom.gba", 0x2ddedd, 0x2c +BattleAIScript_82DBFE4: + if_type_effectiveness AI_EFFECTIVENESS_x2, BattleAIScript_82DBFF7 + goto Score_Minus10 -gBattleAIScript_82DDF09:: @ 82DDF09 - .incbin "baserom.gba", 0x2ddf09, 0xab +BattleAIScript_82DBFEF: + get_curr_move_type + if_equal_ TYPE_GROUND, Score_Minus10 -gBattleAIScript_82DDFB4:: @ 82DDFB4 - .incbin "baserom.gba", 0x2ddfb4, 0x1df +BattleAIScript_82DBFF7: + get_how_powerful_move_is + if_equal 0, BattleAIScript_82DBFFE -gBattleAIScript_82DE193:: @ 82DE193 - .incbin "baserom.gba", 0x2de193, 0x15a +BattleAIScript_82DBFFE: + get_ability AI_TARGET + if_not_equal ABILITY_SOUNDPROOF, BattleAIScript_82DC045 + if_move MOVE_GROWL, Score_Minus10 + if_move MOVE_ROAR, Score_Minus10 + if_move MOVE_SING, Score_Minus10 + if_move MOVE_SUPERSONIC, Score_Minus10 + if_move MOVE_SCREECH, Score_Minus10 + if_move MOVE_SNORE, Score_Minus10 + if_move MOVE_UPROAR, Score_Minus10 + if_move MOVE_METAL_SOUND, Score_Minus10 + if_move MOVE_GRASS_WHISTLE, Score_Minus10 -gBattleAIScript_82DE2ED:: @ 82DE2ED - .incbin "baserom.gba", 0x2de2ed, 0x1c +BattleAIScript_82DC045: + if_effect EFFECT_SLEEP, BattleAIScript_82DC2D4 + if_effect EFFECT_EXPLOSION, BattleAIScript_82DC2F7 + if_effect EFFECT_DREAM_EATER, BattleAIScript_82DC330 + if_effect EFFECT_ATTACK_UP, BattleAIScript_82DC348 + if_effect EFFECT_DEFENSE_UP, BattleAIScript_82DC351 + if_effect EFFECT_SPEED_UP, BattleAIScript_82DC35A + if_effect EFFECT_SPECIAL_ATTACK_UP, BattleAIScript_82DC363 + if_effect EFFECT_SPECIAL_DEFENSE_UP, BattleAIScript_82DC36C + if_effect EFFECT_ACCURACY_UP, BattleAIScript_82DC375 + if_effect EFFECT_EVASION_UP, BattleAIScript_82DC37E + if_effect EFFECT_ATTACK_DOWN, BattleAIScript_82DC387 + if_effect EFFECT_DEFENSE_DOWN, BattleAIScript_82DC39C + if_effect EFFECT_SPEED_DOWN, BattleAIScript_82DC3A9 + if_effect EFFECT_SPECIAL_ATTACK_DOWN, BattleAIScript_82DC3BF + if_effect EFFECT_SPECIAL_DEFENSE_DOWN, BattleAIScript_82DC3CC + if_effect EFFECT_ACCURACY_DOWN, BattleAIScript_82DC3D9 + if_effect EFFECT_EVASION_DOWN, BattleAIScript_82DC3EE + if_effect EFFECT_HAZE, BattleAIScript_82DC405 + if_effect EFFECT_BIDE, BattleAIScript_82DC4ED + if_effect EFFECT_ROAR, BattleAIScript_82DC47B + if_effect EFFECT_TOXIC, BattleAIScript_82DC48C + if_effect EFFECT_LIGHT_SCREEN, BattleAIScript_82DC4C5 + if_effect EFFECT_OHKO, BattleAIScript_82DC4D0 + if_effect EFFECT_RAZOR_WIND, BattleAIScript_82DC4ED + if_effect EFFECT_SUPER_FANG, BattleAIScript_82DC4ED + if_effect EFFECT_MIST, BattleAIScript_82DC507 + if_effect EFFECT_FOCUS_ENERGY, BattleAIScript_82DC512 + if_effect EFFECT_CONFUSE, BattleAIScript_82DC51D + if_effect EFFECT_ATTACK_UP_2, BattleAIScript_82DC348 + if_effect EFFECT_DEFENSE_UP_2, BattleAIScript_82DC351 + if_effect EFFECT_SPEED_UP_2, BattleAIScript_82DC35A + if_effect EFFECT_SPECIAL_ATTACK_UP_2, BattleAIScript_82DC363 + if_effect EFFECT_SPECIAL_DEFENSE_UP_2, BattleAIScript_82DC36C + if_effect EFFECT_ACCURACY_UP_2, BattleAIScript_82DC375 + if_effect EFFECT_EVASION_UP_2, BattleAIScript_82DC37E + if_effect EFFECT_ATTACK_DOWN_2, BattleAIScript_82DC387 + if_effect EFFECT_DEFENSE_DOWN_2, BattleAIScript_82DC39C + if_effect EFFECT_SPEED_DOWN_2, BattleAIScript_82DC3A9 + if_effect EFFECT_SPECIAL_ATTACK_DOWN_2, BattleAIScript_82DC3BF + if_effect EFFECT_SPECIAL_DEFENSE_DOWN_2, BattleAIScript_82DC3CC + if_effect EFFECT_ACCURACY_DOWN_2, BattleAIScript_82DC3D9 + if_effect EFFECT_EVASION_DOWN_2, BattleAIScript_82DC3EE + if_effect EFFECT_REFLECT, BattleAIScript_82DC53A + if_effect EFFECT_POISON, BattleAIScript_82DC48C + if_effect EFFECT_PARALYZE, BattleAIScript_82DC545 + if_effect EFFECT_SUBSTITUTE, BattleAIScript_82DC568 + if_effect EFFECT_RECHARGE, BattleAIScript_82DC4ED + if_effect EFFECT_LEECH_SEED, BattleAIScript_82DC57A + if_effect EFFECT_DISABLE, BattleAIScript_82DC595 + if_effect EFFECT_LEVEL_DAMAGE, BattleAIScript_82DC4ED + if_effect EFFECT_PSYWAVE, BattleAIScript_82DC4ED + if_effect EFFECT_COUNTER, BattleAIScript_82DC4ED + if_effect EFFECT_ENCORE, BattleAIScript_82DC59D + if_effect EFFECT_SNORE, BattleAIScript_82DC5A5 + if_effect EFFECT_SLEEP_TALK, BattleAIScript_82DC5A5 + if_effect EFFECT_FLAIL, BattleAIScript_82DC4ED + if_effect EFFECT_MEAN_LOOK, BattleAIScript_82DC5B0 + if_effect EFFECT_NIGHTMARE, BattleAIScript_82DC31B + if_effect EFFECT_MINIMIZE, BattleAIScript_82DC37E + if_effect EFFECT_CURSE, BattleAIScript_82DC5BB + if_effect EFFECT_SPIKES, BattleAIScript_82DC5CC + if_effect EFFECT_FORESIGHT, BattleAIScript_82DC5D7 + if_effect EFFECT_PERISH_SONG, BattleAIScript_82DC5E2 + if_effect EFFECT_SANDSTORM, BattleAIScript_82DC5ED + if_effect EFFECT_SWAGGER, BattleAIScript_82DC51D + if_effect EFFECT_ATTRACT, BattleAIScript_82DC5F5 + if_effect EFFECT_RETURN, BattleAIScript_82DC4ED + if_effect EFFECT_PRESENT, BattleAIScript_82DC4ED + if_effect EFFECT_FRUSTRATION, BattleAIScript_82DC4ED + if_effect EFFECT_SAFEGUARD, BattleAIScript_82DC635 + if_effect EFFECT_MAGNITUDE, BattleAIScript_82DC4E5 + if_effect EFFECT_BATON_PASS, BattleAIScript_82DC650 + if_effect EFFECT_SONICBOOM, BattleAIScript_82DC4ED + if_effect EFFECT_RAIN_DANCE, BattleAIScript_82DC659 + if_effect EFFECT_SUNNY_DAY, BattleAIScript_82DC661 + if_effect EFFECT_BELLY_DRUM, BattleAIScript_82DC341 + if_effect EFFECT_PSYCH_UP, BattleAIScript_82DC405 + if_effect EFFECT_MIRROR_COAT, BattleAIScript_82DC4ED + if_effect EFFECT_SKULL_BASH, BattleAIScript_82DC4ED + if_effect EFFECT_FUTURE_SIGHT, BattleAIScript_82DC669 + if_effect EFFECT_TELEPORT, Score_Minus10 + if_effect EFFECT_DEFENSE_CURL, BattleAIScript_82DC351 + if_effect EFFECT_FAKE_OUT, BattleAIScript_82DC680 + if_effect EFFECT_STOCKPILE, BattleAIScript_82DC689 + if_effect EFFECT_SPIT_UP, BattleAIScript_82DC692 + if_effect EFFECT_SWALLOW, BattleAIScript_82DC692 + if_effect EFFECT_HAIL, BattleAIScript_82DC6A1 + if_effect EFFECT_TORMENT, BattleAIScript_82DC6A9 + if_effect EFFECT_FLATTER, BattleAIScript_82DC51D + if_effect EFFECT_WILL_O_WISP, BattleAIScript_82DC6B4 + if_effect EFFECT_MEMENTO, BattleAIScript_82DC640 + if_effect EFFECT_FOCUS_PUNCH, BattleAIScript_82DC4ED + if_effect EFFECT_HELPING_HAND, BattleAIScript_82DC6E3 + if_effect EFFECT_TRICK, BattleAIScript_82DC6EB + if_effect EFFECT_INGRAIN, BattleAIScript_82DC6F4 + if_effect EFFECT_SUPERPOWER, BattleAIScript_82DC4ED + if_effect EFFECT_RECYCLE, BattleAIScript_82DC6FF + if_effect EFFECT_KNOCK_OFF, BattleAIScript_82DC6EB + if_effect EFFECT_ENDEAVOR, BattleAIScript_82DC4ED + if_effect EFFECT_IMPRISON, BattleAIScript_82DC708 + if_effect EFFECT_REFRESH, BattleAIScript_82DC713 + if_effect EFFECT_LOW_KICK, BattleAIScript_82DC4ED + if_effect EFFECT_MUD_SPORT, BattleAIScript_82DC71E + if_effect EFFECT_TICKLE, BattleAIScript_82DC729 + if_effect EFFECT_COSMIC_POWER, BattleAIScript_82DC73A + if_effect EFFECT_BULK_UP, BattleAIScript_82DC74B + if_effect EFFECT_WATER_SPORT, BattleAIScript_82DC75C + if_effect EFFECT_CALM_MIND, BattleAIScript_82DC767 + if_effect EFFECT_DRAGON_DANCE, BattleAIScript_82DC778 + end -gBattleAIScript_82DE309:: @ 82DE309 - .incbin "baserom.gba", 0x2de309, 0x2e +BattleAIScript_82DC2D4: + get_ability AI_TARGET + if_equal ABILITY_INSOMNIA, Score_Minus10 + if_equal ABILITY_VITAL_SPIRIT, Score_Minus10 + if_status AI_TARGET, STATUS1_ANY, Score_Minus10 + if_side_affecting AI_TARGET, SIDE_STATUS_SAFEGUARD, Score_Minus10 + end -gBattleAIScript_82DE337:: @ 82DE337 - .incbin "baserom.gba", 0x2de337, 0x7 +BattleAIScript_82DC2F7: + if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10 + get_ability AI_TARGET + if_equal ABILITY_DAMP, Score_Minus10 + count_usable_party_mons AI_USER + if_not_equal 0, BattleAIScript_82DC31A + count_usable_party_mons AI_TARGET + if_not_equal 0, Score_Minus10 + goto Score_Minus1 -gBattleAIScript_82DE33E:: @ 82DE33E - .incbin "baserom.gba", 0x2de33e, 0x10 +BattleAIScript_82DC31A: + end -gBattleAIScript_82DE34E:: @ 82DE34E - .incbin "baserom.gba", 0x2de34e, 0x2 +BattleAIScript_82DC31B: + if_status2 AI_TARGET, STATUS2_NIGHTMARE, Score_Minus10 + if_not_status AI_TARGET, STATUS1_SLEEP, Score_Minus8 + end + +BattleAIScript_82DC330: + if_not_status AI_TARGET, STATUS1_SLEEP, Score_Minus8 + if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10 + end + +BattleAIScript_82DC341: + if_hp_less_than AI_USER, 51, Score_Minus10 + +BattleAIScript_82DC348: + if_stat_level_equal AI_USER, STAT_ATK, 12, Score_Minus10 + end + +BattleAIScript_82DC351: + if_stat_level_equal AI_USER, STAT_DEF, 12, Score_Minus10 + end + +BattleAIScript_82DC35A: + if_stat_level_equal AI_USER, STAT_SPEED, 12, Score_Minus10 + end + +BattleAIScript_82DC363: + if_stat_level_equal AI_USER, STAT_SPATK, 12, Score_Minus10 + end + +BattleAIScript_82DC36C: + if_stat_level_equal AI_USER, STAT_SPDEF, 12, Score_Minus10 + end + +BattleAIScript_82DC375: + if_stat_level_equal AI_USER, STAT_ACC, 12, Score_Minus10 + end + +BattleAIScript_82DC37E: + if_stat_level_equal AI_USER, STAT_EVASION, 12, Score_Minus10 + end + +BattleAIScript_82DC387: + if_stat_level_equal AI_TARGET, STAT_ATK, 0, Score_Minus10 + get_ability AI_TARGET + if_equal ABILITY_HYPER_CUTTER, Score_Minus10 + goto BattleAIScript_82DC3F6 + +BattleAIScript_82DC39C: + if_stat_level_equal AI_TARGET, STAT_DEF, 0, Score_Minus10 + goto BattleAIScript_82DC3F6 + +BattleAIScript_82DC3A9: + if_stat_level_equal AI_TARGET, STAT_SPEED, 0, Score_Minus10 + if_ability AI_TARGET, ABILITY_SPEED_BOOST, Score_Minus10 + goto BattleAIScript_82DC3F6 + +BattleAIScript_82DC3BF: + if_stat_level_equal AI_TARGET, STAT_SPATK, 0, Score_Minus10 + goto BattleAIScript_82DC3F6 + +BattleAIScript_82DC3CC: + if_stat_level_equal AI_TARGET, STAT_SPDEF, 0, Score_Minus10 + goto BattleAIScript_82DC3F6 + +BattleAIScript_82DC3D9: + if_stat_level_equal AI_TARGET, STAT_ACC, 0, Score_Minus10 + get_ability AI_TARGET + if_equal ABILITY_KEEN_EYE, Score_Minus10 + goto BattleAIScript_82DC3F6 + +BattleAIScript_82DC3EE: + if_stat_level_equal AI_TARGET, STAT_EVASION, 0, Score_Minus10 + +BattleAIScript_82DC3F6: + get_ability AI_TARGET + if_equal ABILITY_CLEAR_BODY, Score_Minus10 + if_equal ABILITY_WHITE_SMOKE, Score_Minus10 + end + +BattleAIScript_82DC405: + if_stat_level_less_than AI_USER, STAT_ATK, 6, BattleAIScript_82DC47A + if_stat_level_less_than AI_USER, STAT_DEF, 6, BattleAIScript_82DC47A + if_stat_level_less_than AI_USER, STAT_SPEED, 6, BattleAIScript_82DC47A + if_stat_level_less_than AI_USER, STAT_SPATK, 6, BattleAIScript_82DC47A + if_stat_level_less_than AI_USER, STAT_SPDEF, 6, BattleAIScript_82DC47A + if_stat_level_less_than AI_USER, STAT_ACC, 6, BattleAIScript_82DC47A + if_stat_level_less_than AI_USER, STAT_EVASION, 6, BattleAIScript_82DC47A + if_stat_level_more_than AI_TARGET, STAT_ATK, 6, BattleAIScript_82DC47A + if_stat_level_more_than AI_TARGET, STAT_DEF, 6, BattleAIScript_82DC47A + if_stat_level_more_than AI_TARGET, STAT_SPEED, 6, BattleAIScript_82DC47A + if_stat_level_more_than AI_TARGET, STAT_SPATK, 6, BattleAIScript_82DC47A + if_stat_level_more_than AI_TARGET, STAT_SPDEF, 6, BattleAIScript_82DC47A + if_stat_level_more_than AI_TARGET, STAT_ACC, 6, BattleAIScript_82DC47A + if_stat_level_more_than AI_TARGET, STAT_EVASION, 6, BattleAIScript_82DC47A + goto Score_Minus10 + +BattleAIScript_82DC47A: + end + +BattleAIScript_82DC47B: + count_usable_party_mons AI_TARGET + if_equal 0, Score_Minus10 + get_ability AI_TARGET + if_equal ABILITY_SUCTION_CUPS, Score_Minus10 + end + +BattleAIScript_82DC48C: + get_target_type1 + if_equal TYPE_STEEL, Score_Minus10 + if_equal TYPE_POISON, Score_Minus10 + get_target_type2 + if_equal TYPE_STEEL, Score_Minus10 + if_equal TYPE_POISON, Score_Minus10 + get_ability AI_TARGET + if_equal ABILITY_IMMUNITY, Score_Minus10 + if_status AI_TARGET, STATUS1_ANY, Score_Minus10 + if_side_affecting AI_TARGET, SIDE_STATUS_SAFEGUARD, Score_Minus10 + end + +BattleAIScript_82DC4C5: + if_side_affecting AI_USER, SIDE_STATUS_LIGHTSCREEN, Score_Minus8 + end + +BattleAIScript_82DC4D0: + if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10 + get_ability AI_TARGET + if_equal ABILITY_STURDY, Score_Minus10 + if_level_cond 1, Score_Minus10 + end + +BattleAIScript_82DC4E5: + get_ability AI_TARGET + if_equal ABILITY_LEVITATE, Score_Minus10 + +BattleAIScript_82DC4ED: + if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10 + get_ability AI_TARGET + if_not_equal ABILITY_WONDER_GUARD, BattleAIScript_82DC506 + if_type_effectiveness AI_EFFECTIVENESS_x2, BattleAIScript_82DC506 + goto Score_Minus10 + +BattleAIScript_82DC506: + end + +BattleAIScript_82DC507: + if_side_affecting AI_USER, SIDE_STATUS_MIST, Score_Minus8 + end + +BattleAIScript_82DC512: + if_status2 AI_USER, STATUS2_FOCUS_ENERGY, Score_Minus10 + end + +BattleAIScript_82DC51D: + if_status2 AI_TARGET, STATUS2_CONFUSION, Score_Minus5 + get_ability AI_TARGET + if_equal ABILITY_OWN_TEMPO, Score_Minus10 + if_side_affecting AI_TARGET, SIDE_STATUS_SAFEGUARD, Score_Minus10 + end + +BattleAIScript_82DC53A: + if_side_affecting AI_USER, SIDE_STATUS_REFLECT, Score_Minus8 + end + +BattleAIScript_82DC545: + if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10 + get_ability AI_TARGET + if_equal ABILITY_LIMBER, Score_Minus10 + if_status AI_TARGET, STATUS1_ANY, Score_Minus10 + if_side_affecting AI_TARGET, SIDE_STATUS_SAFEGUARD, Score_Minus10 + end + +BattleAIScript_82DC568: + if_status2 AI_USER, STATUS2_SUBSTITUTE, Score_Minus8 + if_hp_less_than AI_USER, 26, Score_Minus10 + end + +BattleAIScript_82DC57A: + if_status3 AI_TARGET, STATUS3_LEECHSEED, Score_Minus10 + get_target_type1 + if_equal TYPE_GRASS, Score_Minus10 + get_target_type2 + if_equal TYPE_GRASS, Score_Minus10 + end + +BattleAIScript_82DC595: + if_any_move_disabled AI_TARGET, Score_Minus8 + end + +BattleAIScript_82DC59D: + if_any_move_encored AI_TARGET, Score_Minus8 + end + +BattleAIScript_82DC5A5: + if_not_status AI_USER, STATUS1_SLEEP, Score_Minus8 + end + +BattleAIScript_82DC5B0: + if_status2 AI_TARGET, STATUS2_ESCAPE_PREVENTION, Score_Minus10 + end + +BattleAIScript_82DC5BB: + if_stat_level_equal AI_USER, STAT_ATK, 12, Score_Minus10 + if_stat_level_equal AI_USER, STAT_DEF, 12, Score_Minus8 + end + +BattleAIScript_82DC5CC: + if_side_affecting AI_TARGET, SIDE_STATUS_SPIKES, Score_Minus10 + end + +BattleAIScript_82DC5D7: + if_status2 AI_TARGET, STATUS2_FORESIGHT, Score_Minus10 + end + +BattleAIScript_82DC5E2: + if_status3 AI_TARGET, STATUS3_PERISH_SONG, Score_Minus10 + end + +BattleAIScript_82DC5ED: + get_weather + if_equal AI_WEATHER_SANDSTORM, Score_Minus8 + end + +BattleAIScript_82DC5F5: + if_status2 AI_TARGET, STATUS2_INFATUATION, Score_Minus10 + get_ability AI_TARGET + if_equal ABILITY_OBLIVIOUS, Score_Minus10 + get_gender AI_USER + if_equal 0, BattleAIScript_82DC61A + if_equal 254, BattleAIScript_82DC627 + goto Score_Minus10 + +BattleAIScript_82DC61A: + get_gender AI_TARGET + if_equal 254, BattleAIScript_82DC634 + goto Score_Minus10 + +BattleAIScript_82DC627: + get_gender AI_TARGET + if_equal 0, BattleAIScript_82DC634 + goto Score_Minus10 + +BattleAIScript_82DC634: + end + +BattleAIScript_82DC635: + if_side_affecting AI_USER, SIDE_STATUS_SAFEGUARD, Score_Minus8 + end + +BattleAIScript_82DC640: + if_stat_level_equal AI_TARGET, STAT_ATK, 0, Score_Minus10 + if_stat_level_equal AI_TARGET, STAT_SPATK, 0, Score_Minus8 + +BattleAIScript_82DC650: + count_usable_party_mons AI_USER + if_equal 0, Score_Minus10 + end + +BattleAIScript_82DC659: + get_weather + if_equal AI_WEATHER_RAIN, Score_Minus8 + end + +BattleAIScript_82DC661: + get_weather + if_equal AI_WEATHER_SUN, Score_Minus8 + end + +BattleAIScript_82DC669: + if_side_affecting AI_TARGET, SIDE_STATUS_FUTUREATTACK, Score_Minus12 + if_side_affecting AI_USER, SIDE_STATUS_FUTUREATTACK, Score_Minus12 + score +5 + end + +BattleAIScript_82DC680: + is_first_turn_for AI_USER + if_equal 0, Score_Minus10 + end + +BattleAIScript_82DC689: + get_stockpile_count AI_USER + if_equal 3, Score_Minus10 + end + +BattleAIScript_82DC692: + if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10 + get_stockpile_count AI_USER + if_equal 0, Score_Minus10 + end + +BattleAIScript_82DC6A1: + get_weather + if_equal AI_WEATHER_HAIL, Score_Minus8 + end + +BattleAIScript_82DC6A9: + if_status2 AI_TARGET, STATUS2_TORMENT, Score_Minus10 + end + +BattleAIScript_82DC6B4: + get_ability AI_TARGET + if_equal ABILITY_WATER_VEIL, Score_Minus10 + if_status AI_TARGET, STATUS1_ANY, Score_Minus10 + if_type_effectiveness AI_EFFECTIVENESS_x0, Score_Minus10 + if_type_effectiveness AI_EFFECTIVENESS_x0_5, Score_Minus10 + if_type_effectiveness AI_EFFECTIVENESS_x0_25, Score_Minus10 + if_side_affecting AI_TARGET, SIDE_STATUS_SAFEGUARD, Score_Minus10 + end + +BattleAIScript_82DC6E3: + if_not_double_battle Score_Minus10 + end + +BattleAIScript_82DC6EB: + get_ability AI_TARGET + if_equal ABILITY_STICKY_HOLD, Score_Minus10 + end + +BattleAIScript_82DC6F4: + if_status3 AI_USER, STATUS3_ROOTED, Score_Minus10 + end + +BattleAIScript_82DC6FF: + get_used_held_item AI_USER + if_equal 0, Score_Minus10 + end + +BattleAIScript_82DC708: + if_status3 AI_USER, STATUS3_IMPRISONED_OTHERS, Score_Minus10 + end + +BattleAIScript_82DC713: + if_not_status AI_USER, STATUS1_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON, Score_Minus10 + end + +BattleAIScript_82DC71E: + if_status3 AI_USER, STATUS3_MUDSPORT, Score_Minus10 + end + +BattleAIScript_82DC729: + if_stat_level_equal AI_TARGET, STAT_ATK, 0, Score_Minus10 + if_stat_level_equal AI_TARGET, STAT_DEF, 0, Score_Minus8 + end + +BattleAIScript_82DC73A: + if_stat_level_equal AI_USER, STAT_DEF, 12, Score_Minus10 + if_stat_level_equal AI_USER, STAT_SPDEF, 12, Score_Minus8 + end + +BattleAIScript_82DC74B: + if_stat_level_equal AI_USER, STAT_ATK, 12, Score_Minus10 + if_stat_level_equal AI_USER, STAT_DEF, 12, Score_Minus8 + end + +BattleAIScript_82DC75C: + if_status3 AI_USER, STATUS3_WATERSPORT, Score_Minus10 + end + +BattleAIScript_82DC767: + if_stat_level_equal AI_USER, STAT_SPATK, 12, Score_Minus10 + if_stat_level_equal AI_USER, STAT_SPDEF, 12, Score_Minus8 + end + +BattleAIScript_82DC778: + if_stat_level_equal AI_USER, STAT_ATK, 12, Score_Minus10 + if_stat_level_equal AI_USER, STAT_SPEED, 12, Score_Minus8 + end + +Score_Minus1: + score -1 + end + +Score_Minus2: + score -2 + end + +Score_Minus3: + score -3 + end + +Score_Minus5: + score -5 + end + +Score_Minus8: + score -8 + end + +Score_Minus10: + score -10 + end + +Score_Minus12: + score -12 + end + +Score_Minus30: + score -30 + end + +Score_Plus1: + score +1 + end + +Score_Plus2: + score +2 + end + +Score_Plus3: + score +3 + end + +Score_Plus5: + score +5 + end + +Score_Plus10: + score +10 + end + +AI_TryToFaint: + if_target_is_ally AI_Ret + if_effect EFFECT_SLEEP, BattleAIScript_82DCA92 + if_effect EFFECT_ABSORB, BattleAIScript_82DCAAE + if_effect EFFECT_EXPLOSION, BattleAIScript_82DCAC8 + if_effect EFFECT_DREAM_EATER, BattleAIScript_82DCB26 + if_effect EFFECT_MIRROR_MOVE, BattleAIScript_82DCB3A + if_effect EFFECT_ATTACK_UP, BattleAIScript_82DCBBC + if_effect EFFECT_DEFENSE_UP, BattleAIScript_82DCBF7 + if_effect EFFECT_SPEED_UP, BattleAIScript_82DCC5D + if_effect EFFECT_SPECIAL_ATTACK_UP, BattleAIScript_82DCC73 + if_effect EFFECT_SPECIAL_DEFENSE_UP, BattleAIScript_82DCCAE + if_effect EFFECT_ACCURACY_UP, BattleAIScript_82DCD14 + if_effect EFFECT_EVASION_UP, BattleAIScript_82DCD2E + if_effect EFFECT_ALWAYS_HIT, BattleAIScript_82DCDC8 + if_effect EFFECT_ATTACK_DOWN, BattleAIScript_82DCDF8 + if_effect EFFECT_DEFENSE_DOWN, BattleAIScript_82DCE4A + if_effect EFFECT_SPEED_DOWN, BattleAIScript_82DCE81 + if_effect EFFECT_SPECIAL_ATTACK_DOWN, BattleAIScript_82DCE97 + if_effect EFFECT_SPECIAL_DEFENSE_DOWN, BattleAIScript_82DCEEB + if_effect EFFECT_ACCURACY_DOWN, BattleAIScript_82DCF0C + if_effect EFFECT_EVASION_DOWN, BattleAIScript_82DCFA0 + if_effect EFFECT_HAZE, BattleAIScript_82DCFC1 + if_effect EFFECT_BIDE, BattleAIScript_82DD084 + if_effect EFFECT_ROAR, BattleAIScript_82DD08E + if_effect EFFECT_CONVERSION, BattleAIScript_82DD0C6 + if_effect EFFECT_RESTORE_HP, BattleAIScript_82DD0F7 + if_effect EFFECT_TOXIC, BattleAIScript_82DD150 + if_effect EFFECT_LIGHT_SCREEN, BattleAIScript_82DD18F + if_effect EFFECT_REST, BattleAIScript_82DD1BE + if_effect EFFECT_OHKO, BattleAIScript_82DD21E + if_effect EFFECT_RAZOR_WIND, BattleAIScript_82DDA0B + if_effect EFFECT_SUPER_FANG, BattleAIScript_82DD21F + if_effect EFFECT_TRAP, BattleAIScript_82DD229 + if_effect EFFECT_HIGH_CRITICAL, BattleAIScript_82DD25F + if_effect EFFECT_CONFUSE, BattleAIScript_82DD296 + if_effect EFFECT_ATTACK_UP_2, BattleAIScript_82DCBBC + if_effect EFFECT_DEFENSE_UP_2, BattleAIScript_82DCBF7 + if_effect EFFECT_SPEED_UP_2, BattleAIScript_82DCC5D + if_effect EFFECT_SPECIAL_ATTACK_UP_2, BattleAIScript_82DCC73 + if_effect EFFECT_SPECIAL_DEFENSE_UP_2, BattleAIScript_82DCCAE + if_effect EFFECT_ACCURACY_UP_2, BattleAIScript_82DCD14 + if_effect EFFECT_EVASION_UP_2, BattleAIScript_82DCD2E + if_effect EFFECT_ATTACK_DOWN_2, BattleAIScript_82DCDF8 + if_effect EFFECT_DEFENSE_DOWN_2, BattleAIScript_82DCE4A + if_effect EFFECT_SPEED_DOWN_2, BattleAIScript_82DCE81 + if_effect EFFECT_SPECIAL_ATTACK_DOWN_2, BattleAIScript_82DCE97 + if_effect EFFECT_SPECIAL_DEFENSE_DOWN_2, BattleAIScript_82DCEEB + if_effect EFFECT_ACCURACY_DOWN_2, BattleAIScript_82DCF0C + if_effect EFFECT_EVASION_DOWN_2, BattleAIScript_82DCFA0 + if_effect EFFECT_REFLECT, BattleAIScript_82DD2D3 + if_effect EFFECT_POISON, BattleAIScript_82DD303 + if_effect EFFECT_PARALYZE, BattleAIScript_82DD314 + if_effect EFFECT_SWAGGER, BattleAIScript_82DD286 + if_effect EFFECT_SPEED_DOWN_HIT, BattleAIScript_82DCE6B + if_effect EFFECT_SKY_ATTACK, BattleAIScript_82DDA0B + if_effect EFFECT_VITAL_THROW, BattleAIScript_82DD331 + if_effect EFFECT_SUBSTITUTE, BattleAIScript_82DD354 + if_effect EFFECT_RECHARGE, BattleAIScript_82DD3EA + if_effect EFFECT_LEECH_SEED, BattleAIScript_82DD150 + if_effect EFFECT_DISABLE, BattleAIScript_82DD412 + if_effect EFFECT_COUNTER, BattleAIScript_82DD431 + if_effect EFFECT_ENCORE, BattleAIScript_82DD4E3 + if_effect EFFECT_PAIN_SPLIT, BattleAIScript_82DD54B + if_effect EFFECT_SNORE, BattleAIScript_82DD577 + if_effect EFFECT_LOCK_ON, BattleAIScript_82DD57A + if_effect EFFECT_SLEEP_TALK, BattleAIScript_82DD583 + if_effect EFFECT_DESTINY_BOND, BattleAIScript_82DD590 + if_effect EFFECT_FLAIL, BattleAIScript_82DD5C6 + if_effect EFFECT_HEAL_BELL, BattleAIScript_82DD60B + if_effect EFFECT_THIEF, BattleAIScript_82DD622 + if_effect EFFECT_MEAN_LOOK, BattleAIScript_82DD229 + if_effect EFFECT_MINIMIZE, BattleAIScript_82DCD2E + if_effect EFFECT_CURSE, BattleAIScript_82DD645 + if_effect EFFECT_PROTECT, BattleAIScript_82DD694 + if_effect EFFECT_FORESIGHT, BattleAIScript_82DD75D + if_effect EFFECT_ENDURE, BattleAIScript_82DD78B + if_effect EFFECT_BATON_PASS, BattleAIScript_82DD7A9 + if_effect EFFECT_PURSUIT, BattleAIScript_82DD845 + if_effect EFFECT_MORNING_SUN, BattleAIScript_82DD0DD + if_effect EFFECT_SYNTHESIS, BattleAIScript_82DD0DD + if_effect EFFECT_MOONLIGHT, BattleAIScript_82DD0DD + if_effect EFFECT_RAIN_DANCE, BattleAIScript_82DD87B + if_effect EFFECT_SUNNY_DAY, BattleAIScript_82DD8BA + if_effect EFFECT_BELLY_DRUM, BattleAIScript_82DD8E3 + if_effect EFFECT_PSYCH_UP, BattleAIScript_82DD8F2 + if_effect EFFECT_MIRROR_COAT, BattleAIScript_82DD95A + if_effect EFFECT_SKULL_BASH, BattleAIScript_82DDA0B + if_effect EFFECT_SOLARBEAM, BattleAIScript_82DDA0B + if_effect EFFECT_SEMI_INVULNERABLE, BattleAIScript_82DDA2F + if_effect EFFECT_SOFTBOILED, BattleAIScript_82DD0F7 + if_effect EFFECT_FAKE_OUT, BattleAIScript_82DDAB9 + if_effect EFFECT_SPIT_UP, BattleAIScript_82DDABC + if_effect EFFECT_SWALLOW, BattleAIScript_82DD0F7 + if_effect EFFECT_HAIL, BattleAIScript_82DDACD + if_effect EFFECT_FLATTER, BattleAIScript_82DD28E + if_effect EFFECT_MEMENTO, BattleAIScript_82DCAC8 + if_effect EFFECT_FACADE, BattleAIScript_82DDAF6 + if_effect EFFECT_FOCUS_PUNCH, BattleAIScript_82DDB03 + if_effect EFFECT_SMELLINGSALT, BattleAIScript_82DDB5C + if_effect EFFECT_TRICK, BattleAIScript_82DDB6E + if_effect EFFECT_ROLE_PLAY, BattleAIScript_82DDBB9 + if_effect EFFECT_SUPERPOWER, BattleAIScript_82DDBF0 + if_effect EFFECT_MAGIC_COAT, BattleAIScript_82DDC20 + if_effect EFFECT_RECYCLE, BattleAIScript_82DDC53 + if_effect EFFECT_REVENGE, BattleAIScript_82DDC72 + if_effect EFFECT_BRICK_BREAK, BattleAIScript_82DDCA0 + if_effect EFFECT_KNOCK_OFF, BattleAIScript_82DDCB2 + if_effect EFFECT_ENDEAVOR, BattleAIScript_82DDCCA + if_effect EFFECT_ERUPTION, BattleAIScript_82DDCF6 + if_effect EFFECT_SKILL_SWAP, BattleAIScript_82DDBB9 + if_effect EFFECT_IMPRISON, BattleAIScript_82DDD1E + if_effect EFFECT_REFRESH, BattleAIScript_82DDD2F + if_effect EFFECT_SNATCH, BattleAIScript_82DDD3E + if_effect EFFECT_BLAZE_KICK, BattleAIScript_82DD25F + if_effect EFFECT_MUD_SPORT, BattleAIScript_82DDDA8 + if_effect EFFECT_OVERHEAT, BattleAIScript_82DDDCE + if_effect EFFECT_TICKLE, BattleAIScript_82DCE4A + if_effect EFFECT_COSMIC_POWER, BattleAIScript_82DCCAE + if_effect EFFECT_BULK_UP, BattleAIScript_82DCBF7 + if_effect EFFECT_POISON_TAIL, BattleAIScript_82DD25F + if_effect EFFECT_WATER_SPORT, BattleAIScript_82DDDF6 + if_effect EFFECT_CALM_MIND, BattleAIScript_82DCCAE + if_effect EFFECT_DRAGON_DANCE, BattleAIScript_82DDE1C + end + +BattleAIScript_82DCA92: + if_has_move_with_effect AI_TARGET, EFFECT_DREAM_EATER, BattleAIScript_82DCAA5 + if_has_move_with_effect AI_TARGET, EFFECT_NIGHTMARE, BattleAIScript_82DCAA5 + goto BattleAIScript_82DCAAD + +BattleAIScript_82DCAA5: + if_random_less_than 128, BattleAIScript_82DCAAD + score +1 + +BattleAIScript_82DCAAD: + end + +BattleAIScript_82DCAAE: + if_type_effectiveness AI_EFFECTIVENESS_x0_5, BattleAIScript_82DCABF + if_type_effectiveness AI_EFFECTIVENESS_x0_25, BattleAIScript_82DCABF + goto BattleAIScript_82DCAC7 + +BattleAIScript_82DCABF: + if_random_less_than 50, BattleAIScript_82DCAC7 + score -3 + +BattleAIScript_82DCAC7: + end + +BattleAIScript_82DCAC8: + if_stat_level_less_than AI_TARGET, STAT_EVASION, 7, BattleAIScript_82DCAE2 + score -1 + if_stat_level_less_than AI_TARGET, STAT_EVASION, 10, BattleAIScript_82DCAE2 + if_random_less_than 128, BattleAIScript_82DCAE2 + score -1 + +BattleAIScript_82DCAE2: + if_hp_less_than AI_USER, 80, BattleAIScript_82DCAFA + if_target_faster BattleAIScript_82DCAFA + if_random_less_than 50, BattleAIScript_82DCB25 + goto Score_Minus3 + +BattleAIScript_82DCAFA: + if_hp_more_than AI_USER, 50, BattleAIScript_82DCB1D + if_random_less_than 128, BattleAIScript_82DCB09 + score +1 + +BattleAIScript_82DCB09: + if_hp_more_than AI_USER, 30, BattleAIScript_82DCB25 + if_random_less_than 50, BattleAIScript_82DCB25 + score +1 + goto BattleAIScript_82DCB25 + +BattleAIScript_82DCB1D: + if_random_less_than 50, BattleAIScript_82DCB25 + score -1 + +BattleAIScript_82DCB25: + end + +BattleAIScript_82DCB26: + if_type_effectiveness AI_EFFECTIVENESS_x0_25, BattleAIScript_82DCB37 + if_type_effectiveness AI_EFFECTIVENESS_x0_5, BattleAIScript_82DCB37 + goto BattleAIScript_82DCB39 + +BattleAIScript_82DCB37: + score -1 + +BattleAIScript_82DCB39: + end + +BattleAIScript_82DCB3A: + if_target_faster BattleAIScript_82DCB58 + get_last_used_bank_move AI_TARGET + if_not_in_hwords sMovesTable_82DCB6C, BattleAIScript_82DCB58 + if_random_less_than 128, BattleAIScript_82DCB6B + score +2 + goto BattleAIScript_82DCB6B + +BattleAIScript_82DCB58: + get_last_used_bank_move AI_TARGET + if_in_hwords sMovesTable_82DCB6C, BattleAIScript_82DCB6B + if_random_less_than 80, BattleAIScript_82DCB6B + score -1 + +BattleAIScript_82DCB6B: + end + +sMovesTable_82DCB6C: + .2byte MOVE_SLEEP_POWDER + .2byte MOVE_LOVELY_KISS + .2byte MOVE_SPORE + .2byte MOVE_HYPNOSIS + .2byte MOVE_SING + .2byte MOVE_GRASS_WHISTLE + .2byte MOVE_SHADOW_PUNCH + .2byte MOVE_SAND_ATTACK + .2byte MOVE_SMOKESCREEN + .2byte MOVE_TOXIC + .2byte MOVE_GUILLOTINE + .2byte MOVE_HORN_DRILL + .2byte MOVE_FISSURE + .2byte MOVE_SHEER_COLD + .2byte MOVE_CROSS_CHOP + .2byte MOVE_AEROBLAST + .2byte MOVE_CONFUSE_RAY + .2byte MOVE_SWEET_KISS + .2byte MOVE_SCREECH + .2byte MOVE_COTTON_SPORE + .2byte MOVE_SCARY_FACE + .2byte MOVE_FAKE_TEARS + .2byte MOVE_METAL_SOUND + .2byte MOVE_THUNDER_WAVE + .2byte MOVE_GLARE + .2byte MOVE_POISON_POWDER + .2byte MOVE_SHADOW_BALL + .2byte MOVE_DYNAMIC_PUNCH + .2byte MOVE_HYPER_BEAM + .2byte MOVE_EXTREME_SPEED + .2byte MOVE_THIEF + .2byte MOVE_COVET + .2byte MOVE_ATTRACT + .2byte MOVE_SWAGGER + .2byte MOVE_TORMENT + .2byte MOVE_FLATTER + .2byte MOVE_TRICK + .2byte MOVE_SUPERPOWER + .2byte MOVE_SKILL_SWAP + .2byte -1 + +BattleAIScript_82DCBBC: + if_stat_level_less_than AI_USER, STAT_ATK, 9, BattleAIScript_82DCBD1 + if_random_less_than 100, BattleAIScript_82DCBE0 + score -1 + goto BattleAIScript_82DCBE0 + +BattleAIScript_82DCBD1: + if_hp_not_equal AI_USER, 100, BattleAIScript_82DCBE0 + if_random_less_than 128, BattleAIScript_82DCBE0 + score +2 + +BattleAIScript_82DCBE0: + if_hp_more_than AI_USER, 70, BattleAIScript_82DCBF6 + if_hp_less_than AI_USER, 40, BattleAIScript_82DCBF4 + if_random_less_than 40, BattleAIScript_82DCBF6 + +BattleAIScript_82DCBF4: + score -2 + +BattleAIScript_82DCBF6: + end + +BattleAIScript_82DCBF7: + if_stat_level_less_than AI_USER, STAT_DEF, 9, BattleAIScript_82DCC0C + if_random_less_than 100, BattleAIScript_82DCC1B + score -1 + goto BattleAIScript_82DCC1B + +BattleAIScript_82DCC0C: + if_hp_not_equal AI_USER, 100, BattleAIScript_82DCC1B + if_random_less_than 128, BattleAIScript_82DCC1B + score +2 + +BattleAIScript_82DCC1B: + if_hp_less_than AI_USER, 70, BattleAIScript_82DCC28 + if_random_less_than 200, BattleAIScript_82DCC52 + +BattleAIScript_82DCC28: + if_hp_less_than AI_USER, 40, BattleAIScript_82DCC50 + get_last_used_bank_move AI_TARGET + get_move_power_from_result + if_equal 0, BattleAIScript_82DCC4A + get_last_used_bank_move AI_TARGET + get_move_type_from_result + if_not_in_bytes sTypesTable_82DCC53, BattleAIScript_82DCC50 + if_random_less_than 60, BattleAIScript_82DCC52 + +BattleAIScript_82DCC4A: + if_random_less_than 60, BattleAIScript_82DCC52 + +BattleAIScript_82DCC50: + score -2 + +BattleAIScript_82DCC52: + end + +sTypesTable_82DCC53: + .byte TYPE_NORMAL + .byte TYPE_FIGHTING + .byte TYPE_POISON + .byte TYPE_GROUND + .byte TYPE_FLYING + .byte TYPE_ROCK + .byte TYPE_BUG + .byte TYPE_GHOST + .byte TYPE_STEEL + .byte -1 + +BattleAIScript_82DCC5D: + if_target_faster BattleAIScript_82DCC6A + score -3 + goto BattleAIScript_82DCC72 + +BattleAIScript_82DCC6A: + if_random_less_than 70, BattleAIScript_82DCC72 + score +3 + +BattleAIScript_82DCC72: + end + +BattleAIScript_82DCC73: + if_stat_level_less_than AI_USER, STAT_SPATK, 9, BattleAIScript_82DCC88 + if_random_less_than 100, BattleAIScript_82DCC97 + score -1 + goto BattleAIScript_82DCC97 + +BattleAIScript_82DCC88: + if_hp_not_equal AI_USER, 100, BattleAIScript_82DCC97 + if_random_less_than 128, BattleAIScript_82DCC97 + score +2 + +BattleAIScript_82DCC97: + if_hp_more_than AI_USER, 70, BattleAIScript_82DCCAD + if_hp_less_than AI_USER, 40, BattleAIScript_82DCCAB + if_random_less_than 70, BattleAIScript_82DCCAD + +BattleAIScript_82DCCAB: + score -2 + +BattleAIScript_82DCCAD: + end + +BattleAIScript_82DCCAE: + if_stat_level_less_than AI_USER, STAT_SPDEF, 9, BattleAIScript_82DCCC3 + if_random_less_than 100, BattleAIScript_82DCCD2 + score -1 + goto BattleAIScript_82DCCD2 + +BattleAIScript_82DCCC3: + if_hp_not_equal AI_USER, 100, BattleAIScript_82DCCD2 + if_random_less_than 128, BattleAIScript_82DCCD2 + score +2 + +BattleAIScript_82DCCD2: + if_hp_less_than AI_USER, 70, BattleAIScript_82DCCDF + if_random_less_than 200, BattleAIScript_82DCD09 + +BattleAIScript_82DCCDF: + if_hp_less_than AI_USER, 40, BattleAIScript_82DCD07 + get_last_used_bank_move AI_TARGET + get_move_power_from_result + if_equal 0, BattleAIScript_82DCD01 + get_last_used_bank_move AI_TARGET + get_move_type_from_result + if_in_bytes sTypesTable_82DCD0A, BattleAIScript_82DCD07 + if_random_less_than 60, BattleAIScript_82DCD09 + +BattleAIScript_82DCD01: + if_random_less_than 60, BattleAIScript_82DCD09 + +BattleAIScript_82DCD07: + score -2 + +BattleAIScript_82DCD09: + end + +sTypesTable_82DCD0A: + .byte TYPE_NORMAL + .byte TYPE_FIGHTING + .byte TYPE_POISON + .byte TYPE_GROUND + .byte TYPE_FLYING + .byte TYPE_ROCK + .byte TYPE_BUG + .byte TYPE_GHOST + .byte TYPE_STEEL + .byte -1 + +BattleAIScript_82DCD14: + if_stat_level_less_than AI_USER, STAT_ACC, 9, BattleAIScript_82DCD24 + if_random_less_than 50, BattleAIScript_82DCD24 + score -2 + +BattleAIScript_82DCD24: + if_hp_more_than AI_USER, 70, BattleAIScript_82DCD2D + score -2 + +BattleAIScript_82DCD2D: + end + +BattleAIScript_82DCD2E: + if_hp_less_than AI_USER, 90, BattleAIScript_82DCD3D + if_random_less_than 100, BattleAIScript_82DCD3D + score +3 + +BattleAIScript_82DCD3D: + if_stat_level_less_than AI_USER, STAT_EVASION, 9, BattleAIScript_82DCD4D + if_random_less_than 128, BattleAIScript_82DCD4D + score -1 + +BattleAIScript_82DCD4D: + if_not_status AI_TARGET, STATUS1_TOXIC_POISON, BattleAIScript_82DCD6C + if_hp_more_than AI_USER, 50, BattleAIScript_82DCD64 + if_random_less_than 80, BattleAIScript_82DCD6C + +BattleAIScript_82DCD64: + if_random_less_than 50, BattleAIScript_82DCD6C + score +3 + +BattleAIScript_82DCD6C: + if_not_status3 AI_TARGET, STATUS3_LEECHSEED, BattleAIScript_82DCD7E + if_random_less_than 70, BattleAIScript_82DCD7E + score +3 + +BattleAIScript_82DCD7E: + if_not_status3 AI_USER, STATUS3_ROOTED, BattleAIScript_82DCD90 + if_random_less_than 128, BattleAIScript_82DCD90 + score +2 + +BattleAIScript_82DCD90: + if_not_status2 AI_TARGET, STATUS2_CURSED, BattleAIScript_82DCDA2 + if_random_less_than 70, BattleAIScript_82DCDA2 + score +3 + +BattleAIScript_82DCDA2: + if_hp_more_than AI_USER, 70, BattleAIScript_82DCDC7 + if_stat_level_equal AI_USER, STAT_EVASION, 6, BattleAIScript_82DCDC7 + if_hp_less_than AI_USER, 40, BattleAIScript_82DCDC5 + if_hp_less_than AI_TARGET, 40, BattleAIScript_82DCDC5 + if_random_less_than 70, BattleAIScript_82DCDC7 + +BattleAIScript_82DCDC5: + score -2 + +BattleAIScript_82DCDC7: + end + +BattleAIScript_82DCDC8: + if_stat_level_more_than AI_TARGET, STAT_EVASION, 10, BattleAIScript_82DCDED + if_stat_level_less_than AI_USER, STAT_ACC, 2, BattleAIScript_82DCDED + if_stat_level_more_than AI_TARGET, STAT_EVASION, 8, BattleAIScript_82DCDEF + if_stat_level_less_than AI_USER, STAT_ACC, 4, BattleAIScript_82DCDEF + goto BattleAIScript_82DCDF7 + +BattleAIScript_82DCDED: + score +1 + +BattleAIScript_82DCDEF: + if_random_less_than 100, BattleAIScript_82DCDF7 + score +1 + +BattleAIScript_82DCDF7: + end + +BattleAIScript_82DCDF8: + if_stat_level_equal AI_TARGET, STAT_ATK, 6, BattleAIScript_82DCE1B + score -1 + if_hp_more_than AI_USER, 90, BattleAIScript_82DCE0B + score -1 + +BattleAIScript_82DCE0B: + if_stat_level_more_than AI_TARGET, STAT_ATK, 3, BattleAIScript_82DCE1B + if_random_less_than 50, BattleAIScript_82DCE1B + score -2 + +BattleAIScript_82DCE1B: + if_hp_more_than AI_TARGET, 70, BattleAIScript_82DCE24 + score -2 + +BattleAIScript_82DCE24: + get_target_type1 + if_in_bytes sTypesTable_82DCE43, BattleAIScript_82DCE42 + get_target_type2 + if_in_bytes sTypesTable_82DCE43, BattleAIScript_82DCE42 + if_random_less_than 50, BattleAIScript_82DCE42 + score -2 + +BattleAIScript_82DCE42: + end + +sTypesTable_82DCE43: + .byte TYPE_NORMAL + .byte TYPE_FIGHTING + .byte TYPE_GROUND + .byte TYPE_ROCK + .byte TYPE_BUG + .byte TYPE_STEEL + .byte -1 + +BattleAIScript_82DCE4A: + if_hp_less_than AI_USER, 70, BattleAIScript_82DCE59 + if_stat_level_more_than AI_TARGET, STAT_DEF, 3, BattleAIScript_82DCE61 + +BattleAIScript_82DCE59: + if_random_less_than 50, BattleAIScript_82DCE61 + score -2 + +BattleAIScript_82DCE61: + if_hp_more_than AI_TARGET, 70, BattleAIScript_82DCE6A + score -2 + +BattleAIScript_82DCE6A: + end + +BattleAIScript_82DCE6B: + if_move MOVE_ICY_WIND, BattleAIScript_82DCE81 + if_move MOVE_ROCK_TOMB, BattleAIScript_82DCE81 + if_move MOVE_MUD_SHOT, BattleAIScript_82DCE81 + end + +BattleAIScript_82DCE81: + if_target_faster BattleAIScript_82DCE8E + score -3 + goto BattleAIScript_82DCE96 + +BattleAIScript_82DCE8E: + if_random_less_than 70, BattleAIScript_82DCE96 + score +2 + +BattleAIScript_82DCE96: + end + +BattleAIScript_82DCE97: + if_stat_level_equal AI_TARGET, STAT_ATK, 6, BattleAIScript_82DCEBA + score -1 + if_hp_more_than AI_USER, 90, BattleAIScript_82DCEAA + score -1 + +BattleAIScript_82DCEAA: + if_stat_level_more_than AI_TARGET, STAT_SPATK, 3, BattleAIScript_82DCEBA + if_random_less_than 50, BattleAIScript_82DCEBA + score -2 + +BattleAIScript_82DCEBA: + if_hp_more_than AI_TARGET, 70, BattleAIScript_82DCEC3 + score -2 + +BattleAIScript_82DCEC3: + get_target_type1 + if_in_bytes sTypesTable_82DCEE2, BattleAIScript_82DCEE1 + get_target_type2 + if_in_bytes sTypesTable_82DCEE2, BattleAIScript_82DCEE1 + if_random_less_than 50, BattleAIScript_82DCEE1 + score -2 + +BattleAIScript_82DCEE1: + end + +sTypesTable_82DCEE2: + .byte TYPE_FIRE + .byte TYPE_WATER + .byte TYPE_GRASS + .byte TYPE_ELECTRIC + .byte TYPE_PSYCHIC + .byte TYPE_ICE + .byte TYPE_DRAGON + .byte TYPE_DARK + .byte -1 + +BattleAIScript_82DCEEB: + if_hp_less_than AI_USER, 70, BattleAIScript_82DCEFA + if_stat_level_more_than AI_TARGET, STAT_SPDEF, 3, BattleAIScript_82DCF02 + +BattleAIScript_82DCEFA: + if_random_less_than 50, BattleAIScript_82DCF02 + score -2 + +BattleAIScript_82DCF02: + if_hp_more_than AI_TARGET, 70, BattleAIScript_82DCF0B + score -2 + +BattleAIScript_82DCF0B: + end + +BattleAIScript_82DCF0C: + if_hp_less_than AI_USER, 70, BattleAIScript_82DCF1A + if_hp_more_than AI_TARGET, 70, BattleAIScript_82DCF22 + +BattleAIScript_82DCF1A: + if_random_less_than 100, BattleAIScript_82DCF22 + score -1 + +BattleAIScript_82DCF22: + if_stat_level_more_than AI_USER, STAT_ACC, 4, BattleAIScript_82DCF32 + if_random_less_than 80, BattleAIScript_82DCF32 + score -2 + +BattleAIScript_82DCF32: + if_not_status AI_TARGET, STATUS1_TOXIC_POISON, BattleAIScript_82DCF44 + if_random_less_than 70, BattleAIScript_82DCF44 + score +2 + +BattleAIScript_82DCF44: + if_not_status3 AI_TARGET, STATUS3_LEECHSEED, BattleAIScript_82DCF56 + if_random_less_than 70, BattleAIScript_82DCF56 + score +2 + +BattleAIScript_82DCF56: + if_not_status3 AI_USER, STATUS3_ROOTED, BattleAIScript_82DCF68 + if_random_less_than 128, BattleAIScript_82DCF68 + score +1 + +BattleAIScript_82DCF68: + if_not_status2 AI_TARGET, STATUS2_CURSED, BattleAIScript_82DCF7A + if_random_less_than 70, BattleAIScript_82DCF7A + score +2 + +BattleAIScript_82DCF7A: + if_hp_more_than AI_USER, 70, BattleAIScript_82DCF9F + if_stat_level_equal AI_TARGET, STAT_ACC, 6, BattleAIScript_82DCF9F + if_hp_less_than AI_USER, 40, BattleAIScript_82DCF9D + if_hp_less_than AI_TARGET, 40, BattleAIScript_82DCF9D + if_random_less_than 70, BattleAIScript_82DCF9F + +BattleAIScript_82DCF9D: + score -2 + +BattleAIScript_82DCF9F: + end + +BattleAIScript_82DCFA0: + if_hp_less_than AI_USER, 70, BattleAIScript_82DCFAF + if_stat_level_more_than AI_TARGET, STAT_EVASION, 3, BattleAIScript_82DCFB7 + +BattleAIScript_82DCFAF: + if_random_less_than 50, BattleAIScript_82DCFB7 + score -2 + +BattleAIScript_82DCFB7: + if_hp_more_than AI_TARGET, 70, BattleAIScript_82DCFC0 + score -2 + +BattleAIScript_82DCFC0: + end + +BattleAIScript_82DCFC1: + if_stat_level_more_than AI_USER, STAT_ATK, 8, BattleAIScript_82DD016 + if_stat_level_more_than AI_USER, STAT_DEF, 8, BattleAIScript_82DD016 + if_stat_level_more_than AI_USER, STAT_SPATK, 8, BattleAIScript_82DD016 + if_stat_level_more_than AI_USER, STAT_SPDEF, 8, BattleAIScript_82DD016 + if_stat_level_more_than AI_USER, STAT_EVASION, 8, BattleAIScript_82DD016 + if_stat_level_less_than AI_TARGET, STAT_ATK, 4, BattleAIScript_82DD016 + if_stat_level_less_than AI_TARGET, STAT_DEF, 4, BattleAIScript_82DD016 + if_stat_level_less_than AI_TARGET, STAT_SPATK, 4, BattleAIScript_82DD016 + if_stat_level_less_than AI_TARGET, STAT_SPDEF, 4, BattleAIScript_82DD016 + if_stat_level_less_than AI_TARGET, STAT_ACC, 4, BattleAIScript_82DD016 + goto BattleAIScript_82DD01E + +BattleAIScript_82DD016: + if_random_less_than 50, BattleAIScript_82DD01E + score -3 + +BattleAIScript_82DD01E: + if_stat_level_more_than AI_TARGET, STAT_ATK, 8, BattleAIScript_82DD07B + if_stat_level_more_than AI_TARGET, STAT_DEF, 8, BattleAIScript_82DD07B + if_stat_level_more_than AI_TARGET, STAT_SPATK, 8, BattleAIScript_82DD07B + if_stat_level_more_than AI_TARGET, STAT_SPDEF, 8, BattleAIScript_82DD07B + if_stat_level_more_than AI_TARGET, STAT_EVASION, 8, BattleAIScript_82DD07B + if_stat_level_less_than AI_USER, STAT_ATK, 4, BattleAIScript_82DD07B + if_stat_level_less_than AI_USER, STAT_DEF, 4, BattleAIScript_82DD07B + if_stat_level_less_than AI_USER, STAT_SPATK, 4, BattleAIScript_82DD07B + if_stat_level_less_than AI_USER, STAT_SPDEF, 4, BattleAIScript_82DD07B + if_stat_level_less_than AI_USER, STAT_ACC, 4, BattleAIScript_82DD07B + if_random_less_than 50, BattleAIScript_82DD083 + score -1 + goto BattleAIScript_82DD083 + +BattleAIScript_82DD07B: + if_random_less_than 50, BattleAIScript_82DD083 + score +3 + +BattleAIScript_82DD083: + end + +BattleAIScript_82DD084: + if_hp_more_than AI_USER, 90, BattleAIScript_82DD08D + score -2 + +BattleAIScript_82DD08D: + end + +BattleAIScript_82DD08E: + if_stat_level_more_than AI_TARGET, STAT_ATK, 8, BattleAIScript_82DD0BD + if_stat_level_more_than AI_TARGET, STAT_DEF, 8, BattleAIScript_82DD0BD + if_stat_level_more_than AI_TARGET, STAT_SPATK, 8, BattleAIScript_82DD0BD + if_stat_level_more_than AI_TARGET, STAT_SPDEF, 8, BattleAIScript_82DD0BD + if_stat_level_more_than AI_TARGET, STAT_EVASION, 8, BattleAIScript_82DD0BD + score -3 + goto BattleAIScript_82DD0C5 + +BattleAIScript_82DD0BD: + if_random_less_than 128, BattleAIScript_82DD0C5 + score +2 + +BattleAIScript_82DD0C5: + end + +BattleAIScript_82DD0C6: + if_hp_more_than AI_USER, 90, BattleAIScript_82DD0CF + score -2 + +BattleAIScript_82DD0CF: + get_turn_count + if_equal 0, BattleAIScript_82DD0DC + if_random_less_than 200, Score_Minus2 + +BattleAIScript_82DD0DC: + end + +BattleAIScript_82DD0DD: + get_weather + if_equal AI_WEATHER_HAIL, BattleAIScript_82DD0F5 + if_equal AI_WEATHER_RAIN, BattleAIScript_82DD0F5 + if_equal AI_WEATHER_SANDSTORM, BattleAIScript_82DD0F5 + goto BattleAIScript_82DD0F7 + +BattleAIScript_82DD0F5: + score -2 + +BattleAIScript_82DD0F7: + if_hp_equal AI_USER, 100, BattleAIScript_82DD11F + if_target_faster BattleAIScript_82DD126 + score -8 + goto BattleAIScript_82DD14F + +AI_CV_Heal2: + if_hp_less_than AI_USER, 50, BattleAIScript_82DD13A + if_hp_more_than AI_USER, 80, BattleAIScript_82DD11F + if_random_less_than 70, BattleAIScript_82DD13A + +BattleAIScript_82DD11F: + score -3 + goto BattleAIScript_82DD14F + +BattleAIScript_82DD126: + if_hp_less_than AI_USER, 70, BattleAIScript_82DD13A + if_random_less_than 30, BattleAIScript_82DD13A + score -3 + goto BattleAIScript_82DD14F + +BattleAIScript_82DD13A: + if_doesnt_have_move_with_effect AI_TARGET, EFFECT_SNATCH, BattleAIScript_82DD147 + if_random_less_than 100, BattleAIScript_82DD14F + +BattleAIScript_82DD147: + if_random_less_than 20, BattleAIScript_82DD14F + score +2 + +BattleAIScript_82DD14F: + end + +BattleAIScript_82DD150: + if_user_has_no_attacking_moves BattleAIScript_82DD173 + if_hp_more_than AI_USER, 50, BattleAIScript_82DD164 + if_random_less_than 50, BattleAIScript_82DD164 + score -3 + +BattleAIScript_82DD164: + if_hp_more_than AI_TARGET, 50, BattleAIScript_82DD173 + if_random_less_than 50, BattleAIScript_82DD173 + score -3 + +BattleAIScript_82DD173: + if_has_move_with_effect AI_USER, EFFECT_SPECIAL_DEFENSE_UP, BattleAIScript_82DD186 + if_has_move_with_effect AI_USER, EFFECT_PROTECT, BattleAIScript_82DD186 + goto BattleAIScript_82DD18E + +BattleAIScript_82DD186: + if_random_less_than 60, BattleAIScript_82DD18E + score +2 + +BattleAIScript_82DD18E: + end + +BattleAIScript_82DD18F: + if_hp_less_than AI_USER, 50, BattleAIScript_82DD1B2 + get_target_type1 + if_in_bytes sTypesTable_82DD1B5, BattleAIScript_82DD1B4 + get_target_type2 + if_in_bytes sTypesTable_82DD1B5, BattleAIScript_82DD1B4 + if_random_less_than 50, BattleAIScript_82DD1B4 + +BattleAIScript_82DD1B2: + score -2 + +BattleAIScript_82DD1B4: + end + +sTypesTable_82DD1B5: + .byte TYPE_FIRE + .byte TYPE_WATER + .byte TYPE_GRASS + .byte TYPE_ELECTRIC + .byte TYPE_PSYCHIC + .byte TYPE_ICE + .byte TYPE_DRAGON + .byte TYPE_DARK + .byte -1 + +BattleAIScript_82DD1BE: + if_target_faster BattleAIScript_82DD1ED + if_hp_not_equal AI_USER, 100, BattleAIScript_82DD1D2 + score -8 + goto BattleAIScript_82DD21D + +BattleAIScript_82DD1D2: + if_hp_less_than AI_USER, 40, BattleAIScript_82DD208 + if_hp_more_than AI_USER, 50, BattleAIScript_82DD1E6 + if_random_less_than 70, BattleAIScript_82DD208 + +BattleAIScript_82DD1E6: + score -3 + goto BattleAIScript_82DD21D + +BattleAIScript_82DD1ED: + if_hp_less_than AI_USER, 60, BattleAIScript_82DD208 + if_hp_more_than AI_USER, 70, BattleAIScript_82DD201 + if_random_less_than 50, BattleAIScript_82DD208 + +BattleAIScript_82DD201: + score -3 + goto BattleAIScript_82DD21D + +BattleAIScript_82DD208: + if_doesnt_have_move_with_effect AI_TARGET, EFFECT_SNATCH, BattleAIScript_82DD215 + if_random_less_than 50, BattleAIScript_82DD21D + +BattleAIScript_82DD215: + if_random_less_than 10, BattleAIScript_82DD21D + score +3 + +BattleAIScript_82DD21D: + end + +BattleAIScript_82DD21E: + end + +BattleAIScript_82DD21F: + if_hp_more_than AI_TARGET, 50, BattleAIScript_82DD228 + score -1 + +BattleAIScript_82DD228: + end + +BattleAIScript_82DD229: + if_status AI_TARGET, STATUS1_TOXIC_POISON, BattleAIScript_82DD256 + if_status2 AI_TARGET, STATUS2_CURSED, BattleAIScript_82DD256 + if_status3 AI_TARGET, STATUS3_PERISH_SONG, BattleAIScript_82DD256 + if_status2 AI_TARGET, STATUS2_INFATUATION, BattleAIScript_82DD256 + goto BattleAIScript_82DD25E + +BattleAIScript_82DD256: + if_random_less_than 128, BattleAIScript_82DD25E + score +1 + +BattleAIScript_82DD25E: + end + +BattleAIScript_82DD25F: + if_type_effectiveness AI_EFFECTIVENESS_x0_25, BattleAIScript_82DD285 + if_type_effectiveness AI_EFFECTIVENESS_x0_5, BattleAIScript_82DD285 + if_type_effectiveness AI_EFFECTIVENESS_x2, BattleAIScript_82DD27D + if_type_effectiveness AI_EFFECTIVENESS_x4, BattleAIScript_82DD27D + if_random_less_than 128, BattleAIScript_82DD285 + +BattleAIScript_82DD27D: + if_random_less_than 128, BattleAIScript_82DD285 + score +1 + +BattleAIScript_82DD285: + end + +BattleAIScript_82DD286: + if_has_move AI_USER, MOVE_PSYCH_UP, BattleAIScript_82DD2B8 + +BattleAIScript_82DD28E: + if_random_less_than 128, BattleAIScript_82DD296 + score +1 + +BattleAIScript_82DD296: + if_hp_more_than AI_TARGET, 70, BattleAIScript_82DD2B7 + if_random_less_than 128, BattleAIScript_82DD2A5 + score -1 + +BattleAIScript_82DD2A5: + if_hp_more_than AI_TARGET, 50, BattleAIScript_82DD2B7 + score -1 + if_hp_more_than AI_TARGET, 30, BattleAIScript_82DD2B7 + score -1 + +BattleAIScript_82DD2B7: + end + +BattleAIScript_82DD2B8: + if_stat_level_more_than AI_TARGET, STAT_ATK, 3, BattleAIScript_82DD2D0 + score +3 + get_turn_count + if_not_equal 0, BattleAIScript_82DD2D2 + score +2 + goto BattleAIScript_82DD2D2 + +BattleAIScript_82DD2D0: + score -5 + +BattleAIScript_82DD2D2: + end + +BattleAIScript_82DD2D3: + if_hp_less_than AI_USER, 50, BattleAIScript_82DD2F6 + get_target_type1 + if_in_bytes sTypesTable_82DD2F9, BattleAIScript_82DD2F8 + get_target_type2 + if_in_bytes sTypesTable_82DD2F9, BattleAIScript_82DD2F8 + if_random_less_than 50, BattleAIScript_82DD2F8 + +BattleAIScript_82DD2F6: + score -2 + +BattleAIScript_82DD2F8: + end + +sTypesTable_82DD2F9: + .byte TYPE_NORMAL + .byte TYPE_FIGHTING + .byte TYPE_FLYING + .byte TYPE_POISON + .byte TYPE_GROUND + .byte TYPE_ROCK + .byte TYPE_BUG + .byte TYPE_GHOST + .byte TYPE_STEEL + .byte -1 + +BattleAIScript_82DD303: + if_hp_less_than AI_USER, 50, BattleAIScript_82DD311 + if_hp_more_than AI_TARGET, 50, BattleAIScript_82DD313 + +BattleAIScript_82DD311: + score -1 + +BattleAIScript_82DD313: + end + +BattleAIScript_82DD314: + if_target_faster BattleAIScript_82DD328 + if_hp_more_than AI_USER, 70, BattleAIScript_82DD330 + score -1 + goto BattleAIScript_82DD330 + +BattleAIScript_82DD328: + if_random_less_than 20, BattleAIScript_82DD330 + score +3 + +BattleAIScript_82DD330: + end + +BattleAIScript_82DD331: + if_target_faster BattleAIScript_82DD353 + if_hp_more_than AI_USER, 60, BattleAIScript_82DD353 + if_hp_less_than AI_USER, 40, BattleAIScript_82DD34B + if_random_less_than 180, BattleAIScript_82DD353 + +BattleAIScript_82DD34B: + if_random_less_than 50, BattleAIScript_82DD353 + score -1 + +BattleAIScript_82DD353: + end + +BattleAIScript_82DD354: + if_hp_more_than AI_USER, 90, BattleAIScript_82DD381 + if_hp_more_than AI_USER, 70, BattleAIScript_82DD379 + if_hp_more_than AI_USER, 50, BattleAIScript_82DD371 + if_random_less_than 100, BattleAIScript_82DD371 + score -1 + +BattleAIScript_82DD371: + if_random_less_than 100, BattleAIScript_82DD379 + score -1 + +BattleAIScript_82DD379: + if_random_less_than 100, BattleAIScript_82DD381 + score -1 + +BattleAIScript_82DD381: + if_target_faster BattleAIScript_82DD3E9 + get_last_used_bank_move AI_TARGET + get_move_effect_from_result + if_equal EFFECT_SLEEP, BattleAIScript_82DD3B9 + if_equal EFFECT_TOXIC, BattleAIScript_82DD3B9 + if_equal EFFECT_POISON, BattleAIScript_82DD3B9 + if_equal EFFECT_PARALYZE, BattleAIScript_82DD3B9 + if_equal EFFECT_WILL_O_WISP, BattleAIScript_82DD3B9 + if_equal EFFECT_CONFUSE, BattleAIScript_82DD3C8 + if_equal EFFECT_LEECH_SEED, BattleAIScript_82DD3D7 + goto BattleAIScript_82DD3E9 + +BattleAIScript_82DD3B9: + if_not_status AI_TARGET, STATUS1_ANY, BattleAIScript_82DD3E1 + goto BattleAIScript_82DD3E9 + +BattleAIScript_82DD3C8: + if_not_status2 AI_TARGET, STATUS2_CONFUSION, BattleAIScript_82DD3E1 + goto BattleAIScript_82DD3E9 + +BattleAIScript_82DD3D7: + if_status3 AI_TARGET, STATUS3_LEECHSEED, BattleAIScript_82DD3E9 + +BattleAIScript_82DD3E1: + if_random_less_than 100, BattleAIScript_82DD3E9 + score +1 + +BattleAIScript_82DD3E9: + end + +BattleAIScript_82DD3EA: + if_type_effectiveness AI_EFFECTIVENESS_x0_25, BattleAIScript_82DD40F + if_type_effectiveness AI_EFFECTIVENESS_x0_5, BattleAIScript_82DD40F + if_target_faster BattleAIScript_82DD408 + if_hp_more_than AI_USER, 40, BattleAIScript_82DD40F + goto BattleAIScript_82DD411 + +BattleAIScript_82DD408: + if_hp_less_than AI_USER, 60, BattleAIScript_82DD411 + +BattleAIScript_82DD40F: + score -1 + +BattleAIScript_82DD411: + end + +BattleAIScript_82DD412: + if_target_faster BattleAIScript_82DD430 + get_last_used_bank_move AI_TARGET + get_move_power_from_result + if_equal 0, BattleAIScript_82DD428 + score +1 + goto BattleAIScript_82DD430 + +BattleAIScript_82DD428: + if_random_less_than 100, BattleAIScript_82DD430 + score -1 + +BattleAIScript_82DD430: + end + +BattleAIScript_82DD431: + if_status AI_TARGET, STATUS1_SLEEP, BattleAIScript_82DD4D6 + if_status2 AI_TARGET, STATUS2_INFATUATION, BattleAIScript_82DD4D6 + if_status2 AI_TARGET, STATUS2_CONFUSION, BattleAIScript_82DD4D6 + if_hp_more_than AI_USER, 30, BattleAIScript_82DD45E + if_random_less_than 10, BattleAIScript_82DD45E + score -1 + +BattleAIScript_82DD45E: + if_hp_more_than AI_USER, 50, BattleAIScript_82DD46D + if_random_less_than 100, BattleAIScript_82DD46D + score -1 + +BattleAIScript_82DD46D: + if_has_move AI_USER, MOVE_MIRROR_COAT, BattleAIScript_82DD4CD + get_last_used_bank_move AI_TARGET + get_move_power_from_result + if_equal 0, BattleAIScript_82DD4A4 + if_target_not_taunted BattleAIScript_82DD48B + if_random_less_than 100, BattleAIScript_82DD48B + score +1 + +BattleAIScript_82DD48B: + get_last_used_bank_move AI_TARGET + get_move_type_from_result + if_not_in_bytes sTypesTable_82DD4D9, BattleAIScript_82DD4D6 + if_random_less_than 100, BattleAIScript_82DD4D8 + score +1 + goto BattleAIScript_82DD4D8 + +BattleAIScript_82DD4A4: + if_target_not_taunted BattleAIScript_82DD4B1 + if_random_less_than 100, BattleAIScript_82DD4B1 + score +1 + +BattleAIScript_82DD4B1: + get_target_type1 + if_in_bytes sTypesTable_82DD4D9, BattleAIScript_82DD4D8 + get_target_type2 + if_in_bytes sTypesTable_82DD4D9, BattleAIScript_82DD4D8 + if_random_less_than 50, BattleAIScript_82DD4D8 + +BattleAIScript_82DD4CD: + if_random_less_than 100, BattleAIScript_82DD4D5 + score +4 + +BattleAIScript_82DD4D5: + end + +BattleAIScript_82DD4D6: + score -1 + +BattleAIScript_82DD4D8: + end + +sTypesTable_82DD4D9: + .byte TYPE_NORMAL + .byte TYPE_FIGHTING + .byte TYPE_FLYING + .byte TYPE_POISON + .byte TYPE_GROUND + .byte TYPE_ROCK + .byte TYPE_BUG + .byte TYPE_GHOST + .byte TYPE_STEEL + .byte -1 + +BattleAIScript_82DD4E3: + if_any_move_disabled AI_TARGET, BattleAIScript_82DD4FC + if_target_faster BattleAIScript_82DD509 + get_last_used_bank_move AI_TARGET + get_move_effect_from_result + if_not_in_bytes sMoveEffectsTable_82DD50C, BattleAIScript_82DD509 + +BattleAIScript_82DD4FC: + if_random_less_than 30, BattleAIScript_82DD50B + score +3 + goto BattleAIScript_82DD50B + +BattleAIScript_82DD509: + score -2 + +BattleAIScript_82DD50B: + end + +sMoveEffectsTable_82DD50C: + .byte EFFECT_DREAM_EATER + .byte EFFECT_ATTACK_UP + .byte EFFECT_DEFENSE_UP + .byte EFFECT_SPEED_UP + .byte EFFECT_SPECIAL_ATTACK_UP + .byte EFFECT_HAZE + .byte EFFECT_ROAR + .byte EFFECT_CONVERSION + .byte EFFECT_TOXIC + .byte EFFECT_LIGHT_SCREEN + .byte EFFECT_REST + .byte EFFECT_SUPER_FANG + .byte EFFECT_SPECIAL_DEFENSE_UP_2 + .byte EFFECT_CONFUSE + .byte EFFECT_POISON + .byte EFFECT_PARALYZE + .byte EFFECT_LEECH_SEED + .byte EFFECT_SPLASH + .byte EFFECT_ATTACK_UP_2 + .byte EFFECT_ENCORE + .byte EFFECT_CONVERSION_2 + .byte EFFECT_LOCK_ON + .byte EFFECT_HEAL_BELL + .byte EFFECT_MEAN_LOOK + .byte EFFECT_NIGHTMARE + .byte EFFECT_PROTECT + .byte EFFECT_SKILL_SWAP + .byte EFFECT_FORESIGHT + .byte EFFECT_PERISH_SONG + .byte EFFECT_SANDSTORM + .byte EFFECT_ENDURE + .byte EFFECT_SWAGGER + .byte EFFECT_ATTRACT + .byte EFFECT_SAFEGUARD + .byte EFFECT_RAIN_DANCE + .byte EFFECT_SUNNY_DAY + .byte EFFECT_BELLY_DRUM + .byte EFFECT_PSYCH_UP + .byte EFFECT_FUTURE_SIGHT + .byte EFFECT_FAKE_OUT + .byte EFFECT_STOCKPILE + .byte EFFECT_SPIT_UP + .byte EFFECT_SWALLOW + .byte EFFECT_HAIL + .byte EFFECT_TORMENT + .byte EFFECT_WILL_O_WISP + .byte EFFECT_FOLLOW_ME + .byte EFFECT_CHARGE + .byte EFFECT_TRICK + .byte EFFECT_ROLE_PLAY + .byte EFFECT_INGRAIN + .byte EFFECT_RECYCLE + .byte EFFECT_KNOCK_OFF + .byte EFFECT_SKILL_SWAP + .byte EFFECT_IMPRISON + .byte EFFECT_REFRESH + .byte EFFECT_GRUDGE + .byte EFFECT_TEETER_DANCE + .byte EFFECT_MUD_SPORT + .byte EFFECT_WATER_SPORT + .byte EFFECT_DRAGON_DANCE + .byte EFFECT_CAMOUFLAGE + .byte -1 + +BattleAIScript_82DD54B: + if_hp_less_than AI_TARGET, 80, BattleAIScript_82DD574 + if_target_faster BattleAIScript_82DD566 + if_hp_more_than AI_USER, 40, BattleAIScript_82DD574 + score +1 + goto BattleAIScript_82DD576 + +BattleAIScript_82DD566: + if_hp_more_than AI_USER, 60, BattleAIScript_82DD574 + score +1 + goto BattleAIScript_82DD576 + +BattleAIScript_82DD574: + score -1 + +BattleAIScript_82DD576: + end + +BattleAIScript_82DD577: + score +2 + end + +BattleAIScript_82DD57A: + if_random_less_than 128, BattleAIScript_82DD582 + score +2 + +BattleAIScript_82DD582: + end + +BattleAIScript_82DD583: + if_status AI_USER, STATUS1_SLEEP, Score_Plus10 + score -5 + end + +BattleAIScript_82DD590: + score -1 + if_target_faster BattleAIScript_82DD5C5 + if_hp_more_than AI_USER, 70, BattleAIScript_82DD5C5 + if_random_less_than 128, BattleAIScript_82DD5A7 + score +1 + +BattleAIScript_82DD5A7: + if_hp_more_than AI_USER, 50, BattleAIScript_82DD5C5 + if_random_less_than 128, BattleAIScript_82DD5B6 + score +1 + +BattleAIScript_82DD5B6: + if_hp_more_than AI_USER, 30, BattleAIScript_82DD5C5 + if_random_less_than 100, BattleAIScript_82DD5C5 + score +2 + +BattleAIScript_82DD5C5: + end + +BattleAIScript_82DD5C6: + if_target_faster BattleAIScript_82DD5E6 + if_hp_more_than AI_USER, 33, BattleAIScript_82DD608 + if_hp_more_than AI_USER, 20, BattleAIScript_82DD60A + if_hp_less_than AI_USER, 8, BattleAIScript_82DD5F9 + goto BattleAIScript_82DD5FB + +BattleAIScript_82DD5E6: + if_hp_more_than AI_USER, 60, BattleAIScript_82DD608 + if_hp_more_than AI_USER, 40, BattleAIScript_82DD60A + goto BattleAIScript_82DD5FB + +BattleAIScript_82DD5F9: + score +1 + +BattleAIScript_82DD5FB: + if_random_less_than 100, BattleAIScript_82DD60A + score +1 + goto BattleAIScript_82DD60A + +BattleAIScript_82DD608: + score -1 + +BattleAIScript_82DD60A: + end + +BattleAIScript_82DD60B: + if_status AI_TARGET, STATUS1_ANY, BattleAIScript_82DD621 + if_status_in_party AI_TARGET, STATUS1_ANY, BattleAIScript_82DD621 + score -5 + +BattleAIScript_82DD621: + end + +BattleAIScript_82DD622: + get_hold_effect AI_TARGET + if_not_in_bytes sHoldEffectsTable_82DD63D, BattleAIScript_82DD63A + if_random_less_than 50, BattleAIScript_82DD63C + score +1 + goto BattleAIScript_82DD63C + +BattleAIScript_82DD63A: + score -2 + +BattleAIScript_82DD63C: + end + +sHoldEffectsTable_82DD63D: + .byte HOLD_EFFECT_CURE_SLP + .byte HOLD_EFFECT_CURE_STATUS + .byte HOLD_EFFECT_RESTORE_HP + .byte HOLD_EFFECT_EVASION_UP + .byte HOLD_EFFECT_LEFTOVERS + .byte HOLD_EFFECT_LIGHT_BALL + .byte HOLD_EFFECT_THICK_CLUB + .byte -1 + +BattleAIScript_82DD645: + get_user_type1 + if_equal TYPE_GHOST, BattleAIScript_82DD68A + get_user_type2 + if_equal TYPE_GHOST, BattleAIScript_82DD68A + if_stat_level_more_than AI_USER, STAT_DEF, 9, BattleAIScript_82DD693 + if_random_less_than 128, BattleAIScript_82DD665 + score +1 + +BattleAIScript_82DD665: + if_stat_level_more_than AI_USER, STAT_DEF, 7, BattleAIScript_82DD693 + if_random_less_than 128, BattleAIScript_82DD675 + score +1 + +BattleAIScript_82DD675: + if_stat_level_more_than AI_USER, STAT_DEF, 6, BattleAIScript_82DD693 + if_random_less_than 128, BattleAIScript_82DD693 + score +1 + goto BattleAIScript_82DD693 + +BattleAIScript_82DD68A: + if_hp_more_than AI_USER, 80, BattleAIScript_82DD693 + score -1 + +BattleAIScript_82DD693: + end + +BattleAIScript_82DD694: + get_protect_count AI_USER + if_more_than 1, BattleAIScript_82DD75A + if_status AI_USER, STATUS1_TOXIC_POISON, BattleAIScript_82DD751 + if_status2 AI_USER, STATUS2_CURSED, BattleAIScript_82DD751 + if_status3 AI_USER, STATUS3_PERISH_SONG, BattleAIScript_82DD751 + if_status2 AI_USER, STATUS2_INFATUATION, BattleAIScript_82DD751 + if_status3 AI_USER, STATUS3_LEECHSEED, BattleAIScript_82DD751 + if_status3 AI_USER, STATUS3_YAWN, BattleAIScript_82DD751 + if_has_move_with_effect AI_TARGET, EFFECT_RESTORE_HP, BattleAIScript_82DD751 + if_has_move_with_effect AI_TARGET, EFFECT_DEFENSE_CURL, BattleAIScript_82DD751 + if_status AI_TARGET, STATUS1_TOXIC_POISON, BattleAIScript_82DD730 + if_status2 AI_TARGET, STATUS2_CURSED, BattleAIScript_82DD730 + if_status3 AI_TARGET, STATUS3_PERISH_SONG, BattleAIScript_82DD730 + if_status2 AI_TARGET, STATUS2_INFATUATION, BattleAIScript_82DD730 + if_status3 AI_TARGET, STATUS3_LEECHSEED, BattleAIScript_82DD730 + if_status3 AI_TARGET, STATUS3_YAWN, BattleAIScript_82DD730 + get_last_used_bank_move AI_TARGET + get_move_effect_from_result + if_not_equal EFFECT_LOCK_ON, BattleAIScript_82DD730 + goto BattleAIScript_82DD732 + +BattleAIScript_82DD730: + score +2 + +BattleAIScript_82DD732: + if_random_less_than 128, BattleAIScript_82DD73A + score -1 + +BattleAIScript_82DD73A: + get_protect_count AI_USER + if_equal 0, BattleAIScript_82DD75C + score -1 + if_random_less_than 128, BattleAIScript_82DD75C + score -1 + goto BattleAIScript_82DD75C + +BattleAIScript_82DD751: + get_last_used_bank_move AI_TARGET + get_move_effect_from_result + if_not_equal EFFECT_LOCK_ON, BattleAIScript_82DD75C + +BattleAIScript_82DD75A: + score -2 + +BattleAIScript_82DD75C: + end + +BattleAIScript_82DD75D: + get_user_type1 + if_equal TYPE_GHOST, BattleAIScript_82DD77C + get_user_type2 + if_equal TYPE_GHOST, BattleAIScript_82DD77C + if_stat_level_more_than AI_USER, STAT_EVASION, 8, BattleAIScript_82DD782 + score -2 + goto BattleAIScript_82DD78A + +BattleAIScript_82DD77C: + if_random_less_than 80, BattleAIScript_82DD78A + +BattleAIScript_82DD782: + if_random_less_than 80, BattleAIScript_82DD78A + score +2 + +BattleAIScript_82DD78A: + end + +BattleAIScript_82DD78B: + if_hp_less_than AI_USER, 4, BattleAIScript_82DD799 + if_hp_less_than AI_USER, 35, BattleAIScript_82DD7A0 + +BattleAIScript_82DD799: + score -1 + goto BattleAIScript_82DD7A8 + +BattleAIScript_82DD7A0: + if_random_less_than 70, BattleAIScript_82DD7A8 + score +1 + +BattleAIScript_82DD7A8: + end + +BattleAIScript_82DD7A9: + if_stat_level_more_than AI_USER, STAT_ATK, 8, BattleAIScript_82DD7D6 + if_stat_level_more_than AI_USER, STAT_DEF, 8, BattleAIScript_82DD7D6 + if_stat_level_more_than AI_USER, STAT_SPATK, 8, BattleAIScript_82DD7D6 + if_stat_level_more_than AI_USER, STAT_SPDEF, 8, BattleAIScript_82DD7D6 + if_stat_level_more_than AI_USER, STAT_EVASION, 8, BattleAIScript_82DD7D6 + goto BattleAIScript_82DD7FC + +BattleAIScript_82DD7D6: + if_target_faster BattleAIScript_82DD7E8 + if_hp_more_than AI_USER, 60, BattleAIScript_82DD844 + goto BattleAIScript_82DD7EF + +BattleAIScript_82DD7E8: + if_hp_more_than AI_USER, 70, BattleAIScript_82DD844 + +BattleAIScript_82DD7EF: + if_random_less_than 80, BattleAIScript_82DD844 + score +2 + goto BattleAIScript_82DD844 + +BattleAIScript_82DD7FC: + if_stat_level_more_than AI_USER, STAT_ATK, 7, BattleAIScript_82DD829 + if_stat_level_more_than AI_USER, STAT_DEF, 7, BattleAIScript_82DD829 + if_stat_level_more_than AI_USER, STAT_SPATK, 7, BattleAIScript_82DD829 + if_stat_level_more_than AI_USER, STAT_SPDEF, 7, BattleAIScript_82DD829 + if_stat_level_more_than AI_USER, STAT_EVASION, 7, BattleAIScript_82DD829 + goto BattleAIScript_82DD842 + +BattleAIScript_82DD829: + if_target_faster BattleAIScript_82DD83B + if_hp_more_than AI_USER, 60, BattleAIScript_82DD842 + goto BattleAIScript_82DD844 + +BattleAIScript_82DD83B: + if_hp_less_than AI_USER, 70, BattleAIScript_82DD844 + +BattleAIScript_82DD842: + score -2 + +BattleAIScript_82DD844: + end + +BattleAIScript_82DD845: + is_first_turn_for AI_USER + if_not_equal 0, BattleAIScript_82DD87A + get_target_type1 + if_equal TYPE_GHOST, BattleAIScript_82DD872 + get_target_type1 + if_equal TYPE_PSYCHIC, BattleAIScript_82DD872 + get_target_type2 + if_equal TYPE_GHOST, BattleAIScript_82DD872 + get_target_type2 + if_equal TYPE_PSYCHIC, BattleAIScript_82DD872 + goto BattleAIScript_82DD87A + +BattleAIScript_82DD872: + if_random_less_than 128, BattleAIScript_82DD87A + score +1 + +BattleAIScript_82DD87A: + end + +BattleAIScript_82DD87B: + if_user_faster BattleAIScript_82DD889 + get_ability AI_USER + if_equal ABILITY_SWIFT_SWIM, BattleAIScript_82DD8B0 + +BattleAIScript_82DD889: + if_hp_less_than AI_USER, 40, BattleAIScript_82DD8B7 + get_weather + if_equal AI_WEATHER_HAIL, BattleAIScript_82DD8B0 + if_equal AI_WEATHER_SUN, BattleAIScript_82DD8B0 + if_equal AI_WEATHER_SANDSTORM, BattleAIScript_82DD8B0 + get_ability AI_USER + if_equal ABILITY_RAIN_DISH, BattleAIScript_82DD8B0 + goto BattleAIScript_82DD8B9 + +BattleAIScript_82DD8B0: + score +1 + goto BattleAIScript_82DD8B9 + +BattleAIScript_82DD8B7: + score -1 + +BattleAIScript_82DD8B9: + end + +BattleAIScript_82DD8BA: + if_hp_less_than AI_USER, 40, BattleAIScript_82DD8E0 + get_weather + if_equal AI_WEATHER_HAIL, BattleAIScript_82DD8D9 + if_equal AI_WEATHER_RAIN, BattleAIScript_82DD8D9 + if_equal AI_WEATHER_SANDSTORM, BattleAIScript_82DD8D9 + goto BattleAIScript_82DD8E2 + +BattleAIScript_82DD8D9: + score +1 + goto BattleAIScript_82DD8E2 + +BattleAIScript_82DD8E0: + score -1 + +BattleAIScript_82DD8E2: + end + +BattleAIScript_82DD8E3: + if_hp_less_than AI_USER, 90, BattleAIScript_82DD8EF + goto BattleAIScript_82DD8F1 + +BattleAIScript_82DD8EF: + score -2 + +BattleAIScript_82DD8F1: + end + +BattleAIScript_82DD8F2: + if_stat_level_more_than AI_TARGET, STAT_ATK, 8, BattleAIScript_82DD91F + if_stat_level_more_than AI_TARGET, STAT_DEF, 8, BattleAIScript_82DD91F + if_stat_level_more_than AI_TARGET, STAT_SPATK, 8, BattleAIScript_82DD91F + if_stat_level_more_than AI_TARGET, STAT_SPDEF, 8, BattleAIScript_82DD91F + if_stat_level_more_than AI_TARGET, STAT_EVASION, 8, BattleAIScript_82DD91F + goto BattleAIScript_82DD957 + +BattleAIScript_82DD91F: + if_stat_level_less_than AI_USER, STAT_ATK, 7, BattleAIScript_82DD954 + if_stat_level_less_than AI_USER, STAT_DEF, 7, BattleAIScript_82DD954 + if_stat_level_less_than AI_USER, STAT_SPATK, 7, BattleAIScript_82DD954 + if_stat_level_less_than AI_USER, STAT_SPDEF, 7, BattleAIScript_82DD954 + if_stat_level_less_than AI_USER, STAT_EVASION, 7, BattleAIScript_82DD952 + if_random_less_than 50, BattleAIScript_82DD959 + goto BattleAIScript_82DD957 + +BattleAIScript_82DD952: + score +1 + +BattleAIScript_82DD954: + score +1 + end + +BattleAIScript_82DD957: + score -2 + +BattleAIScript_82DD959: + end + +BattleAIScript_82DD95A: + if_status AI_TARGET, STATUS1_SLEEP, BattleAIScript_82DD9FF + if_status2 AI_TARGET, STATUS2_INFATUATION, BattleAIScript_82DD9FF + if_status2 AI_TARGET, STATUS2_CONFUSION, BattleAIScript_82DD9FF + if_hp_more_than AI_USER, 30, BattleAIScript_82DD987 + if_random_less_than 10, BattleAIScript_82DD987 + score -1 + +BattleAIScript_82DD987: + if_hp_more_than AI_USER, 50, BattleAIScript_82DD996 + if_random_less_than 100, BattleAIScript_82DD996 + score -1 + +BattleAIScript_82DD996: + if_has_move AI_USER, MOVE_COUNTER, BattleAIScript_82DD9F6 + get_last_used_bank_move AI_TARGET + get_move_power_from_result + if_equal 0, BattleAIScript_82DD9CD + if_target_not_taunted BattleAIScript_82DD9B4 + if_random_less_than 100, BattleAIScript_82DD9B4 + score +1 + +BattleAIScript_82DD9B4: + get_last_used_bank_move AI_TARGET + get_move_type_from_result + if_not_in_bytes sTypesTable_82DDA02, BattleAIScript_82DD9FF + if_random_less_than 100, BattleAIScript_82DDA01 + score +1 + goto BattleAIScript_82DDA01 + +BattleAIScript_82DD9CD: + if_target_not_taunted BattleAIScript_82DD9DA + if_random_less_than 100, BattleAIScript_82DD9DA + score +1 + +BattleAIScript_82DD9DA: + get_target_type1 + if_in_bytes sTypesTable_82DDA02, BattleAIScript_82DDA01 + get_target_type2 + if_in_bytes sTypesTable_82DDA02, BattleAIScript_82DDA01 + if_random_less_than 50, BattleAIScript_82DDA01 + +BattleAIScript_82DD9F6: + if_random_less_than 100, BattleAIScript_82DD9FE + score +4 + +BattleAIScript_82DD9FE: + end + +BattleAIScript_82DD9FF: + score -1 + +BattleAIScript_82DDA01: + end + +sTypesTable_82DDA02: + .byte TYPE_FIRE + .byte TYPE_WATER + .byte TYPE_GRASS + .byte TYPE_ELECTRIC + .byte TYPE_PSYCHIC + .byte TYPE_ICE + .byte TYPE_DRAGON + .byte TYPE_DARK + .byte -1 + +BattleAIScript_82DDA0B: + if_type_effectiveness AI_EFFECTIVENESS_x0_25, BattleAIScript_82DDA2C + if_type_effectiveness AI_EFFECTIVENESS_x0_5, BattleAIScript_82DDA2C + if_has_move_with_effect AI_TARGET, EFFECT_PROTECT, BattleAIScript_82DDA2C + if_hp_more_than AI_USER, 38, BattleAIScript_82DDA2E + score -1 + goto BattleAIScript_82DDA2E + +BattleAIScript_82DDA2C: + score -2 + +BattleAIScript_82DDA2E: + end + +BattleAIScript_82DDA2F: + if_doesnt_have_move_with_effect AI_TARGET, EFFECT_PROTECT, BattleAIScript_82DDA3D + score -1 + goto BattleAIScript_82DDAB4 + +BattleAIScript_82DDA3D: + if_status AI_TARGET, STATUS1_TOXIC_POISON, BattleAIScript_82DDAAC + if_status2 AI_TARGET, STATUS2_CURSED, BattleAIScript_82DDAAC + if_status3 AI_TARGET, STATUS3_LEECHSEED, BattleAIScript_82DDAAC + get_weather + if_equal AI_WEATHER_HAIL, BattleAIScript_82DDA6D + if_equal AI_WEATHER_SANDSTORM, BattleAIScript_82DDA88 + goto BattleAIScript_82DDA98 + +BattleAIScript_82DDA6D: + get_user_type1 + if_in_bytes sTypesTable_82DDAB5, BattleAIScript_82DDAAC + get_user_type2 + if_in_bytes sTypesTable_82DDAB5, BattleAIScript_82DDAAC + goto BattleAIScript_82DDA98 + +BattleAIScript_82DDA88: + get_user_type1 + if_equal TYPE_ICE, BattleAIScript_82DDAAC + get_user_type2 + if_equal TYPE_ICE, BattleAIScript_82DDAAC + +BattleAIScript_82DDA98: + if_target_faster BattleAIScript_82DDAB4 + get_last_used_bank_move AI_TARGET + get_move_effect_from_result + if_not_equal EFFECT_LOCK_ON, BattleAIScript_82DDAAC + goto BattleAIScript_82DDAB4 + +BattleAIScript_82DDAAC: + if_random_less_than 80, BattleAIScript_82DDAB4 + score +1 + +BattleAIScript_82DDAB4: + end + +sTypesTable_82DDAB5: + .byte TYPE_GROUND + .byte TYPE_ROCK + .byte TYPE_STEEL + .byte -1 + +BattleAIScript_82DDAB9: + score +2 + end + +BattleAIScript_82DDABC: + get_stockpile_count AI_USER + if_less_than 2, BattleAIScript_82DDACC + if_random_less_than 80, BattleAIScript_82DDACC + score +2 + +BattleAIScript_82DDACC: + end + +BattleAIScript_82DDACD: + if_hp_less_than AI_USER, 40, BattleAIScript_82DDAF3 + get_weather + if_equal AI_WEATHER_SUN, BattleAIScript_82DDAEC + if_equal AI_WEATHER_RAIN, BattleAIScript_82DDAEC + if_equal AI_WEATHER_SANDSTORM, BattleAIScript_82DDAEC + goto BattleAIScript_82DDAF5 + +BattleAIScript_82DDAEC: + score +1 + goto BattleAIScript_82DDAF5 + +BattleAIScript_82DDAF3: + score -1 + +BattleAIScript_82DDAF5: + end + +BattleAIScript_82DDAF6: + if_not_status AI_TARGET, STATUS1_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON, BattleAIScript_82DDB02 + score +1 + +BattleAIScript_82DDB02: + end + +BattleAIScript_82DDB03: + if_type_effectiveness AI_EFFECTIVENESS_x0_25, BattleAIScript_82DDB42 + if_type_effectiveness AI_EFFECTIVENESS_x0_5, BattleAIScript_82DDB42 + if_status AI_TARGET, STATUS1_SLEEP, BattleAIScript_82DDB59 + if_status2 AI_TARGET, STATUS2_INFATUATION, BattleAIScript_82DDB49 + if_status2 AI_TARGET, STATUS2_CONFUSION, BattleAIScript_82DDB49 + is_first_turn_for AI_USER + if_not_equal 0, BattleAIScript_82DDB5B + if_random_less_than 100, BattleAIScript_82DDB5B + score +1 + goto BattleAIScript_82DDB5B + +BattleAIScript_82DDB42: + score -1 + goto BattleAIScript_82DDB5B + +BattleAIScript_82DDB49: + if_random_less_than 100, BattleAIScript_82DDB5B + if_status2 AI_USER, STATUS2_SUBSTITUTE, Score_Plus5 + +BattleAIScript_82DDB59: + score +1 + +BattleAIScript_82DDB5B: + end + +BattleAIScript_82DDB5C: + if_status AI_TARGET, STATUS1_PARALYSIS, BattleAIScript_82DDB6B + goto BattleAIScript_82DDB6D + +BattleAIScript_82DDB6B: + score +1 + +BattleAIScript_82DDB6D: + end + +BattleAIScript_82DDB6E: + get_hold_effect AI_USER + if_in_bytes sHoldEffectsTable_82DDBB7, BattleAIScript_82DDB89 + if_in_bytes sHoldEffectsTable_82DDBAF, BattleAIScript_82DDB9B + +BattleAIScript_82DDB82: + score -3 + goto BattleAIScript_82DDBAE + +BattleAIScript_82DDB89: + get_hold_effect AI_TARGET + if_in_bytes sHoldEffectsTable_82DDBB7, BattleAIScript_82DDB82 + score +5 + goto BattleAIScript_82DDBAE + +BattleAIScript_82DDB9B: + get_hold_effect AI_TARGET + if_in_bytes sHoldEffectsTable_82DDBAF, BattleAIScript_82DDB82 + if_random_less_than 50, BattleAIScript_82DDBAE + score +2 + +BattleAIScript_82DDBAE: + end + +sHoldEffectsTable_82DDBAF: + .byte HOLD_EFFECT_CONFUSE_SPICY + .byte HOLD_EFFECT_CONFUSE_DRY + .byte HOLD_EFFECT_CONFUSE_SWEET + .byte HOLD_EFFECT_CONFUSE_BITTER + .byte HOLD_EFFECT_CONFUSE_SOUR + .byte HOLD_EFFECT_MACHO_BRACE + .byte HOLD_EFFECT_CHOICE_BAND + .byte -1 + +sHoldEffectsTable_82DDBB7: + .byte HOLD_EFFECT_CHOICE_BAND + .byte -1 + +BattleAIScript_82DDBB9: + get_ability AI_USER + if_in_bytes sAbilitiesTable_82DDBDF, BattleAIScript_82DDBCF + get_ability AI_TARGET + if_in_bytes sAbilitiesTable_82DDBDF, BattleAIScript_82DDBD6 + +BattleAIScript_82DDBCF: + score -1 + goto BattleAIScript_82DDBDE + +BattleAIScript_82DDBD6: + if_random_less_than 50, BattleAIScript_82DDBDE + score +2 + +BattleAIScript_82DDBDE: + end + +sAbilitiesTable_82DDBDF: + .byte ABILITY_SPEED_BOOST + .byte ABILITY_BATTLE_ARMOR + .byte ABILITY_SAND_VEIL + .byte ABILITY_STATIC + .byte ABILITY_FLASH_FIRE + .byte ABILITY_WONDER_GUARD + .byte ABILITY_EFFECT_SPORE + .byte ABILITY_SWIFT_SWIM + .byte ABILITY_HUGE_POWER + .byte ABILITY_RAIN_DISH + .byte ABILITY_CUTE_CHARM + .byte ABILITY_SHED_SKIN + .byte ABILITY_MARVEL_SCALE + .byte ABILITY_PURE_POWER + .byte ABILITY_CHLOROPHYLL + .byte ABILITY_SHIELD_DUST + .byte -1 + +BattleAIScript_82DDBF0: + if_type_effectiveness AI_EFFECTIVENESS_x0_25, BattleAIScript_82DDC1D + if_type_effectiveness AI_EFFECTIVENESS_x0_5, BattleAIScript_82DDC1D + if_stat_level_less_than AI_USER, STAT_ATK, 6, BattleAIScript_82DDC1D + if_target_faster BattleAIScript_82DDC16 + if_hp_more_than AI_USER, 40, BattleAIScript_82DDC1D + goto BattleAIScript_82DDC1F + +BattleAIScript_82DDC16: + if_hp_less_than AI_USER, 60, BattleAIScript_82DDC1F + +BattleAIScript_82DDC1D: + score -1 + +BattleAIScript_82DDC1F: + end + +BattleAIScript_82DDC20: + if_hp_more_than AI_TARGET, 30, BattleAIScript_82DDC2F + if_random_less_than 100, BattleAIScript_82DDC2F + score -1 + +BattleAIScript_82DDC2F: + is_first_turn_for AI_USER + if_equal 0, BattleAIScript_82DDC4A + if_random_less_than 150, BattleAIScript_82DDC52 + score +1 + goto BattleAIScript_82DDC52 + +AI_CV_MagicCoat3: + if_random_less_than 50, BattleAIScript_82DDC52 + +BattleAIScript_82DDC4A: + if_random_less_than 30, BattleAIScript_82DDC52 + score -1 + +BattleAIScript_82DDC52: + end + +BattleAIScript_82DDC53: + get_used_held_item AI_USER + if_not_in_bytes sItemsTable_82DDC6E, BattleAIScript_82DDC6B + if_random_less_than 50, BattleAIScript_82DDC6D + score +1 + goto BattleAIScript_82DDC6D + +BattleAIScript_82DDC6B: + score -2 + +BattleAIScript_82DDC6D: + end + +sItemsTable_82DDC6E: + .byte ITEM_CHESTO_BERRY + .byte ITEM_LUM_BERRY + .byte ITEM_STARF_BERRY + .byte -1 + +BattleAIScript_82DDC72: + if_status AI_TARGET, STATUS1_SLEEP, BattleAIScript_82DDC9D + if_status2 AI_TARGET, STATUS2_INFATUATION, BattleAIScript_82DDC9D + if_status2 AI_TARGET, STATUS2_CONFUSION, BattleAIScript_82DDC9D + if_random_less_than 180, BattleAIScript_82DDC9D + score +2 + goto BattleAIScript_82DDC9F + +BattleAIScript_82DDC9D: + score -2 + +BattleAIScript_82DDC9F: + end + +BattleAIScript_82DDCA0: + if_side_affecting AI_TARGET, SIDE_STATUS_REFLECT, BattleAIScript_82DDCAF + goto BattleAIScript_82DDCB1 + +BattleAIScript_82DDCAF: + score +1 + +BattleAIScript_82DDCB1: + end + +BattleAIScript_82DDCB2: + if_hp_less_than AI_TARGET, 30, BattleAIScript_82DDCC9 + is_first_turn_for AI_USER + if_more_than 0, BattleAIScript_82DDCC9 + if_random_less_than 180, BattleAIScript_82DDCC9 + score +1 + +BattleAIScript_82DDCC9: + end + +BattleAIScript_82DDCCA: + if_hp_less_than AI_TARGET, 70, BattleAIScript_82DDCF3 + if_target_faster BattleAIScript_82DDCE5 + if_hp_more_than AI_USER, 40, BattleAIScript_82DDCF3 + score +1 + goto BattleAIScript_82DDCF5 + +BattleAIScript_82DDCE5: + if_hp_more_than AI_USER, 50, BattleAIScript_82DDCF3 + score +1 + goto BattleAIScript_82DDCF5 + +BattleAIScript_82DDCF3: + score -1 + +BattleAIScript_82DDCF5: + end + +BattleAIScript_82DDCF6: + if_type_effectiveness AI_EFFECTIVENESS_x0_25, BattleAIScript_82DDD1B + if_type_effectiveness AI_EFFECTIVENESS_x0_5, BattleAIScript_82DDD1B + if_target_faster BattleAIScript_82DDD14 + if_hp_more_than AI_TARGET, 50, BattleAIScript_82DDD1D + goto BattleAIScript_82DDD1B + +BattleAIScript_82DDD14: + if_hp_more_than AI_TARGET, 70, BattleAIScript_82DDD1D + +BattleAIScript_82DDD1B: + score -1 + +BattleAIScript_82DDD1D: + end + +BattleAIScript_82DDD1E: + is_first_turn_for AI_USER + if_more_than 0, BattleAIScript_82DDD2E + if_random_less_than 100, BattleAIScript_82DDD2E + score +2 + +BattleAIScript_82DDD2E: + end + +BattleAIScript_82DDD2F: + if_hp_less_than AI_TARGET, 50, BattleAIScript_82DDD3B + goto BattleAIScript_82DDD3D + +BattleAIScript_82DDD3B: + score -1 + +BattleAIScript_82DDD3D: + end + +BattleAIScript_82DDD3E: + is_first_turn_for AI_USER + if_equal 1, BattleAIScript_82DDD85 + if_random_less_than 30, BattleAIScript_82DDDA7 + if_target_faster BattleAIScript_82DDD6B + if_hp_not_equal AI_USER, 100, BattleAIScript_82DDD9F + if_hp_less_than AI_TARGET, 70, BattleAIScript_82DDD9F + if_random_less_than 60, BattleAIScript_82DDDA7 + goto BattleAIScript_82DDD9F + +BattleAIScript_82DDD6B: + if_hp_more_than AI_TARGET, 25, BattleAIScript_82DDD9F + if_has_move_with_effect AI_TARGET, EFFECT_RESTORE_HP, BattleAIScript_82DDD85 + if_has_move_with_effect AI_TARGET, EFFECT_DEFENSE_CURL, BattleAIScript_82DDD85 + goto BattleAIScript_82DDD92 + +BattleAIScript_82DDD85: + if_random_less_than 150, BattleAIScript_82DDDA7 + score +2 + goto BattleAIScript_82DDDA7 + +BattleAIScript_82DDD92: + if_random_less_than 230, BattleAIScript_82DDD9F + score +1 + goto BattleAIScript_82DDDA7 + +BattleAIScript_82DDD9F: + if_random_less_than 30, BattleAIScript_82DDDA7 + score -2 + +BattleAIScript_82DDDA7: + end + +BattleAIScript_82DDDA8: + if_hp_less_than AI_USER, 50, BattleAIScript_82DDDCB + get_target_type1 + if_equal TYPE_ELECTRIC, BattleAIScript_82DDDC4 + get_target_type2 + if_equal TYPE_ELECTRIC, BattleAIScript_82DDDC4 + goto BattleAIScript_82DDDCB + +BattleAIScript_82DDDC4: + score +1 + goto BattleAIScript_82DDDCD + +BattleAIScript_82DDDCB: + score -1 + +BattleAIScript_82DDDCD: + end + +BattleAIScript_82DDDCE: + if_type_effectiveness AI_EFFECTIVENESS_x0_25, BattleAIScript_82DDDF3 + if_type_effectiveness AI_EFFECTIVENESS_x0_5, BattleAIScript_82DDDF3 + if_target_faster BattleAIScript_82DDDEC + if_hp_more_than AI_USER, 60, BattleAIScript_82DDDF5 + goto BattleAIScript_82DDDF3 + +BattleAIScript_82DDDEC: + if_hp_more_than AI_USER, 80, BattleAIScript_82DDDF5 + +BattleAIScript_82DDDF3: + score -1 + +BattleAIScript_82DDDF5: + end + +BattleAIScript_82DDDF6: + if_hp_less_than AI_USER, 50, BattleAIScript_82DDE19 + get_target_type1 + if_equal TYPE_FIRE, BattleAIScript_82DDE12 + get_target_type2 + if_equal TYPE_FIRE, BattleAIScript_82DDE12 + goto BattleAIScript_82DDE19 + +BattleAIScript_82DDE12: + score +1 + goto BattleAIScript_82DDE1B + +BattleAIScript_82DDE19: + score -1 + +BattleAIScript_82DDE1B: + end + +BattleAIScript_82DDE1C: + if_target_faster BattleAIScript_82DDE36 + if_hp_more_than AI_USER, 50, BattleAIScript_82DDE3E + if_random_less_than 70, BattleAIScript_82DDE3E + score -1 + goto BattleAIScript_82DDE3E + +BattleAIScript_82DDE36: + if_random_less_than 128, BattleAIScript_82DDE3E + score +1 + +BattleAIScript_82DDE3E: + end + +AI_CheckViability: + if_target_is_ally AI_Ret + if_can_faint BattleAIScript_82DDE60 + get_how_powerful_move_is + if_equal 1, Score_Minus1 + if_type_effectiveness AI_EFFECTIVENESS_x4, BattleAIScript_82DDE57 + end + +BattleAIScript_82DDE57: + if_random_less_than 80, BattleAIScript_82DDE70 + score +2 + end + +BattleAIScript_82DDE60: + if_effect EFFECT_EXPLOSION, BattleAIScript_82DDE70 + if_not_effect EFFECT_QUICK_ATTACK, BattleAIScript_82DDE6E + score +2 + +BattleAIScript_82DDE6E: + score +4 + +BattleAIScript_82DDE70: + end + +AI_SetupFirstTurn: + if_target_is_ally AI_Ret + get_turn_count + if_not_equal 0, BattleAIScript_82DDE8F + get_considered_move_effect + if_not_in_bytes sMoveEffectsTable_82DDE90, BattleAIScript_82DDE8F + if_random_less_than 80, BattleAIScript_82DDE8F + score +2 + +BattleAIScript_82DDE8F: + end + +sMoveEffectsTable_82DDE90: + .byte EFFECT_ATTACK_UP + .byte EFFECT_DEFENSE_UP + .byte EFFECT_SPEED_UP + .byte EFFECT_SPECIAL_ATTACK_UP + .byte EFFECT_SPECIAL_DEFENSE_UP + .byte EFFECT_ACCURACY_UP + .byte EFFECT_EVASION_UP + .byte EFFECT_ATTACK_DOWN + .byte EFFECT_DEFENSE_DOWN + .byte EFFECT_SPEED_DOWN + .byte EFFECT_SPECIAL_ATTACK_DOWN + .byte EFFECT_SPECIAL_DEFENSE_DOWN + .byte EFFECT_ACCURACY_DOWN + .byte EFFECT_EVASION_DOWN + .byte EFFECT_CONVERSION + .byte EFFECT_LIGHT_SCREEN + .byte EFFECT_SPECIAL_DEFENSE_UP_2 + .byte EFFECT_FOCUS_ENERGY + .byte EFFECT_CONFUSE + .byte EFFECT_ATTACK_UP_2 + .byte EFFECT_DEFENSE_UP_2 + .byte EFFECT_SPEED_UP_2 + .byte EFFECT_SPECIAL_ATTACK_UP_2 + .byte EFFECT_SPECIAL_DEFENSE_UP_2 + .byte EFFECT_ACCURACY_UP_2 + .byte EFFECT_EVASION_UP_2 + .byte EFFECT_ATTACK_DOWN_2 + .byte EFFECT_DEFENSE_DOWN_2 + .byte EFFECT_SPEED_DOWN_2 + .byte EFFECT_SPECIAL_ATTACK_DOWN_2 + .byte EFFECT_SPECIAL_DEFENSE_DOWN_2 + .byte EFFECT_ACCURACY_DOWN_2 + .byte EFFECT_EVASION_DOWN_2 + .byte EFFECT_REFLECT + .byte EFFECT_POISON + .byte EFFECT_PARALYZE + .byte EFFECT_SUBSTITUTE + .byte EFFECT_LEECH_SEED + .byte EFFECT_MINIMIZE + .byte EFFECT_CURSE + .byte EFFECT_SWAGGER + .byte EFFECT_CAMOUFLAGE + .byte EFFECT_YAWN + .byte EFFECT_DEFENSE_CURL + .byte EFFECT_TORMENT + .byte EFFECT_FLATTER + .byte EFFECT_WILL_O_WISP + .byte EFFECT_INGRAIN + .byte EFFECT_IMPRISON + .byte EFFECT_TEETER_DANCE + .byte EFFECT_TICKLE + .byte EFFECT_COSMIC_POWER + .byte EFFECT_BULK_UP + .byte EFFECT_CALM_MIND + .byte EFFECT_CAMOUFLAGE + .byte -1 + +AI_PreferStrongestMove: + if_target_is_ally AI_Ret + get_how_powerful_move_is + if_not_equal 0, BattleAIScript_82DDEDC + if_random_less_than 100, BattleAIScript_82DDEDC + score +2 + +BattleAIScript_82DDEDC: + end + +AI_Risky: + if_target_is_ally AI_Ret + get_considered_move_effect + if_not_in_bytes sMoveEffectsTable_82DDEF5, BattleAIScript_82DDEF4 + if_random_less_than 128, BattleAIScript_82DDEF4 + score +2 + +BattleAIScript_82DDEF4: + end + +sMoveEffectsTable_82DDEF5: + .byte EFFECT_SLEEP + .byte EFFECT_EXPLOSION + .byte EFFECT_MIRROR_MOVE + .byte EFFECT_OHKO + .byte EFFECT_HIGH_CRITICAL + .byte EFFECT_CONFUSE + .byte EFFECT_METRONOME + .byte EFFECT_PSYWAVE + .byte EFFECT_COUNTER + .byte EFFECT_DESTINY_BOND + .byte EFFECT_SWAGGER + .byte EFFECT_ATTRACT + .byte EFFECT_PRESENT + .byte EFFECT_ALL_STATS_UP_HIT + .byte EFFECT_BELLY_DRUM + .byte EFFECT_MIRROR_COAT + .byte EFFECT_FOCUS_PUNCH + .byte EFFECT_REVENGE + .byte EFFECT_TEETER_DANCE + .byte -1 + +AI_PreferBatonPass: + if_target_is_ally AI_Ret + count_usable_party_mons AI_USER + if_equal 0, BattleAIScript_82DDFB3 + get_how_powerful_move_is + if_not_equal 0, BattleAIScript_82DDFB3 + if_has_move_with_effect AI_USER, EFFECT_BATON_PASS, BattleAIScript_82DDF2A + if_random_less_than 80, BattleAIScript_82DDEF4 + +BattleAIScript_82DDF2A: + if_move MOVE_SWORDS_DANCE, BattleAIScript_82DDF54 + if_move MOVE_DRAGON_DANCE, BattleAIScript_82DDF54 + if_move MOVE_CALM_MIND, BattleAIScript_82DDF54 + if_effect EFFECT_PROTECT, BattleAIScript_82DDF67 + if_move MOVE_BATON_PASS, BattleAIScript_82DDF7B + if_random_less_than 20, BattleAIScript_82DDEF4 + score +3 + +BattleAIScript_82DDF54: + get_turn_count + if_equal 0, Score_Plus5 + if_hp_less_than AI_USER, 60, Score_Minus10 + goto Score_Plus1 + +BattleAIScript_82DDF67: + get_last_used_bank_move AI_USER + if_in_hwords sMovesTable_82DDF75, Score_Minus2 + score +2 + end + +sMovesTable_82DDF75: + .2byte MOVE_PROTECT + .2byte MOVE_DETECT + .2byte -1 + +BattleAIScript_82DDF7B: + get_turn_count + if_equal 0, Score_Minus2 + if_stat_level_more_than AI_USER, STAT_ATK, 8, Score_Plus3 + if_stat_level_more_than AI_USER, STAT_ATK, 7, Score_Plus2 + if_stat_level_more_than AI_USER, STAT_ATK, 6, Score_Plus1 + if_stat_level_more_than AI_USER, STAT_SPATK, 8, Score_Plus3 + if_stat_level_more_than AI_USER, STAT_SPATK, 7, Score_Plus2 + if_stat_level_more_than AI_USER, STAT_SPATK, 6, Score_Plus1 + end + +BattleAIScript_82DDFB3: + end + +AI_DoubleBattle: + if_target_is_ally AI_TryOnAlly + if_move MOVE_SKILL_SWAP, BattleAIScript_82DE04B + get_curr_move_type + if_move MOVE_EARTHQUAKE, BattleAIScript_82DE010 + if_move MOVE_MAGNITUDE, BattleAIScript_82DE010 + if_equal 13, BattleAIScript_82DE062 + if_equal 10, BattleAIScript_82DE079 + get_ability AI_USER + if_not_equal ABILITY_GUTS, BattleAIScript_82DDFF5 + if_has_move AI_USER_PARTNER, MOVE_HELPING_HAND, BattleAIScript_82DDFED + end + +BattleAIScript_82DDFED: + get_how_powerful_move_is + if_not_equal 0, Score_Plus1 + end + +BattleAIScript_82DDFF5: + if_status AI_USER, STATUS1_ANY, BattleAIScript_82DE000 + end + +BattleAIScript_82DE000: + get_how_powerful_move_is + if_equal 0, Score_Minus5 + score +1 + if_equal 2, Score_Plus2 + end + +BattleAIScript_82DE010: + if_ability AI_USER_PARTNER, ABILITY_LEVITATE, Score_Plus2 + if_type AI_USER_PARTNER, TYPE_FLYING, Score_Plus2 + if_type AI_USER_PARTNER, TYPE_FIRE, Score_Minus10 + if_type AI_USER_PARTNER, TYPE_ELECTRIC, Score_Minus10 + if_type AI_USER_PARTNER, TYPE_POISON, Score_Minus10 + if_type AI_USER_PARTNER, TYPE_ROCK, Score_Minus10 + goto Score_Minus3 + +BattleAIScript_82DE04B: + get_ability AI_USER + if_equal ABILITY_TRUANT, Score_Plus5 + get_ability AI_TARGET + if_equal ABILITY_SHADOW_TAG, Score_Plus2 + if_equal ABILITY_PURE_POWER, Score_Plus2 + end + +BattleAIScript_82DE062: + if_no_ability AI_TARGET_PARTNER, ABILITY_LIGHTNING_ROD, BattleAIScript_82DE078 + score -2 + if_no_type AI_TARGET_PARTNER, TYPE_GROUND, BattleAIScript_82DE078 + score -8 + +BattleAIScript_82DE078: + end + +BattleAIScript_82DE079: + if_flash_fired AI_USER, BattleAIScript_82DE080 + end + +BattleAIScript_82DE080: + goto Score_Plus1 + +AI_TryOnAlly: + get_how_powerful_move_is + if_equal 0, BattleAIScript_82DE0B2 + get_curr_move_type + if_equal TYPE_FIRE, BattleAIScript_82DE099 + +AI_DiscourageOnAlly: + goto Score_Minus30 + +BattleAIScript_82DE099: + if_ability AI_USER_PARTNER, ABILITY_FLASH_FIRE, BattleAIScript_82DE0A7 + goto AI_DiscourageOnAlly + +BattleAIScript_82DE0A7: + if_flash_fired AI_USER_PARTNER, AI_DiscourageOnAlly + goto Score_Plus3 + +BattleAIScript_82DE0B2: + if_move MOVE_SKILL_SWAP, BattleAIScript_82DE0DA + if_move MOVE_WILL_O_WISP, BattleAIScript_82DE14F + if_move MOVE_TOXIC, BattleAIScript_82DE14F + if_move MOVE_HELPING_HAND, BattleAIScript_82DE16D + if_move MOVE_SWAGGER, BattleAIScript_82DE178 + goto Score_Minus30_ + +BattleAIScript_82DE0DA: + get_ability AI_TARGET + if_equal ABILITY_TRUANT, Score_Plus10 + get_ability AI_USER + if_not_equal ABILITY_LEVITATE, BattleAIScript_82DE107 + get_ability AI_TARGET + if_equal ABILITY_LEVITATE, Score_Minus30_ + get_target_type1 + if_not_equal TYPE_ELECTRIC, BattleAIScript_82DE107 + score +1 + get_target_type2 + if_not_equal TYPE_ELECTRIC, BattleAIScript_82DE107 + score +1 + end + +BattleAIScript_82DE107: + if_not_equal 14, Score_Minus30_ + if_has_move AI_USER_PARTNER, MOVE_FIRE_BLAST, BattleAIScript_82DE14A + if_has_move AI_USER_PARTNER, MOVE_THUNDER, BattleAIScript_82DE14A + if_has_move AI_USER_PARTNER, MOVE_CROSS_CHOP, BattleAIScript_82DE14A + if_has_move AI_USER_PARTNER, MOVE_HYDRO_PUMP, BattleAIScript_82DE14A + if_has_move AI_USER_PARTNER, MOVE_DYNAMIC_PUNCH, BattleAIScript_82DE14A + if_has_move AI_USER_PARTNER, MOVE_BLIZZARD, BattleAIScript_82DE14A + if_has_move AI_USER_PARTNER, MOVE_MEGAHORN, BattleAIScript_82DE14A + goto Score_Minus30_ + +BattleAIScript_82DE14A: + goto Score_Plus3 + +BattleAIScript_82DE14F: + get_ability AI_TARGET + if_not_equal ABILITY_GUTS, Score_Minus30_ + if_status AI_TARGET, STATUS1_ANY, Score_Minus30_ + if_hp_less_than AI_USER, 91, Score_Minus30_ + goto Score_Plus5 + +BattleAIScript_82DE16D: + if_random_less_than 64, Score_Minus1 + goto Score_Plus2 + +BattleAIScript_82DE178: + if_holds_item AI_TARGET, ITEM_PERSIM_BERRY, BattleAIScript_82DE185 + goto Score_Minus30_ + +BattleAIScript_82DE185: + if_stat_level_more_than AI_TARGET, STAT_ATK, 7, BattleAIScript_82DE18F + score +3 + +BattleAIScript_82DE18F: + end + +Score_Minus30_: + score -30 + end + +AI_HPAware: + if_target_is_ally AI_TryOnAlly + if_hp_more_than AI_USER, 70, BattleAIScript_82DE1B5 + if_hp_more_than AI_USER, 30, BattleAIScript_82DE1C4 + get_considered_move_effect + if_in_bytes sMoveEffectsTable_82DE258, BattleAIScript_82DE1D3 + goto BattleAIScript_82DE1DB + +BattleAIScript_82DE1B5: + get_considered_move_effect + if_in_bytes sMoveEffectsTable_82DE21F, BattleAIScript_82DE1D3 + goto BattleAIScript_82DE1DB + +BattleAIScript_82DE1C4: + get_considered_move_effect + if_in_bytes sMoveEffectsTable_82DE22D, BattleAIScript_82DE1D3 + goto BattleAIScript_82DE1DB + +BattleAIScript_82DE1D3: + if_random_less_than 50, BattleAIScript_82DE1DB + score -2 + +BattleAIScript_82DE1DB: + if_hp_more_than AI_TARGET, 70, BattleAIScript_82DE1F8 + if_hp_more_than AI_TARGET, 30, BattleAIScript_82DE207 + get_considered_move_effect + if_in_bytes sMoveEffectsTable_82DE2B1, BattleAIScript_82DE216 + goto BattleAIScript_82DE21E + +BattleAIScript_82DE1F8: + get_considered_move_effect + if_in_bytes sMoveEffectsTable_82DE288, BattleAIScript_82DE216 + goto BattleAIScript_82DE21E + +BattleAIScript_82DE207: + get_considered_move_effect + if_in_bytes sMoveEffectsTable_82DE289, BattleAIScript_82DE216 + goto BattleAIScript_82DE21E + +BattleAIScript_82DE216: + if_random_less_than 50, BattleAIScript_82DE21E + score -2 + +BattleAIScript_82DE21E: + end + +sMoveEffectsTable_82DE21F: + .byte EFFECT_EXPLOSION + .byte EFFECT_RESTORE_HP + .byte EFFECT_REST + .byte EFFECT_DESTINY_BOND + .byte EFFECT_FLAIL + .byte EFFECT_ENDURE + .byte EFFECT_MORNING_SUN + .byte EFFECT_SYNTHESIS + .byte EFFECT_MOONLIGHT + .byte EFFECT_SOFTBOILED + .byte EFFECT_MEMENTO + .byte EFFECT_GRUDGE + .byte EFFECT_OVERHEAT + .byte -1 + +sMoveEffectsTable_82DE22D: + .byte EFFECT_EXPLOSION + .byte EFFECT_ATTACK_UP + .byte EFFECT_DEFENSE_UP + .byte EFFECT_SPEED_UP + .byte EFFECT_SPECIAL_ATTACK_UP + .byte EFFECT_SPECIAL_DEFENSE_UP + .byte EFFECT_ACCURACY_UP + .byte EFFECT_EVASION_UP + .byte EFFECT_ATTACK_DOWN + .byte EFFECT_DEFENSE_DOWN + .byte EFFECT_SPEED_DOWN + .byte EFFECT_SPECIAL_ATTACK_DOWN + .byte EFFECT_SPECIAL_DEFENSE_DOWN + .byte EFFECT_ACCURACY_DOWN + .byte EFFECT_EVASION_DOWN + .byte EFFECT_BIDE + .byte EFFECT_CONVERSION + .byte EFFECT_LIGHT_SCREEN + .byte EFFECT_MIST + .byte EFFECT_FOCUS_ENERGY + .byte EFFECT_ATTACK_UP_2 + .byte EFFECT_DEFENSE_UP_2 + .byte EFFECT_SPEED_UP_2 + .byte EFFECT_SPECIAL_ATTACK_UP_2 + .byte EFFECT_SPECIAL_DEFENSE_UP_2 + .byte EFFECT_ACCURACY_UP_2 + .byte EFFECT_EVASION_UP_2 + .byte EFFECT_ATTACK_DOWN_2 + .byte EFFECT_DEFENSE_DOWN_2 + .byte EFFECT_SPEED_DOWN_2 + .byte EFFECT_SPECIAL_ATTACK_DOWN_2 + .byte EFFECT_SPECIAL_DEFENSE_DOWN_2 + .byte EFFECT_ACCURACY_DOWN_2 + .byte EFFECT_EVASION_DOWN_2 + .byte EFFECT_CONVERSION_2 + .byte EFFECT_SAFEGUARD + .byte EFFECT_BELLY_DRUM + .byte EFFECT_TICKLE + .byte EFFECT_COSMIC_POWER + .byte EFFECT_BULK_UP + .byte EFFECT_CALM_MIND + .byte EFFECT_DRAGON_DANCE + .byte -1 + +sMoveEffectsTable_82DE258: + .byte EFFECT_ATTACK_UP + .byte EFFECT_DEFENSE_UP + .byte EFFECT_SPEED_UP + .byte EFFECT_SPECIAL_ATTACK_UP + .byte EFFECT_SPECIAL_DEFENSE_UP + .byte EFFECT_ACCURACY_UP + .byte EFFECT_EVASION_UP + .byte EFFECT_ATTACK_DOWN + .byte EFFECT_DEFENSE_DOWN + .byte EFFECT_SPEED_DOWN + .byte EFFECT_SPECIAL_ATTACK_DOWN + .byte EFFECT_SPECIAL_DEFENSE_DOWN + .byte EFFECT_ACCURACY_DOWN + .byte EFFECT_EVASION_DOWN + .byte EFFECT_BIDE + .byte EFFECT_CONVERSION + .byte EFFECT_LIGHT_SCREEN + .byte EFFECT_MIST + .byte EFFECT_FOCUS_ENERGY + .byte EFFECT_ATTACK_UP_2 + .byte EFFECT_DEFENSE_UP_2 + .byte EFFECT_SPEED_UP_2 + .byte EFFECT_SPECIAL_ATTACK_UP_2 + .byte EFFECT_SPECIAL_DEFENSE_UP_2 + .byte EFFECT_ACCURACY_UP_2 + .byte EFFECT_EVASION_UP_2 + .byte EFFECT_ATTACK_DOWN_2 + .byte EFFECT_DEFENSE_DOWN_2 + .byte EFFECT_SPEED_DOWN_2 + .byte EFFECT_SPECIAL_ATTACK_DOWN_2 + .byte EFFECT_SPECIAL_DEFENSE_DOWN_2 + .byte EFFECT_ACCURACY_DOWN_2 + .byte EFFECT_EVASION_DOWN_2 + .byte EFFECT_RAGE + .byte EFFECT_CONVERSION_2 + .byte EFFECT_LOCK_ON + .byte EFFECT_SAFEGUARD + .byte EFFECT_BELLY_DRUM + .byte EFFECT_PSYCH_UP + .byte EFFECT_MIRROR_COAT + .byte EFFECT_SOLARBEAM + .byte EFFECT_ERUPTION + .byte EFFECT_TICKLE + .byte EFFECT_COSMIC_POWER + .byte EFFECT_BULK_UP + .byte EFFECT_CALM_MIND + .byte EFFECT_DRAGON_DANCE + .byte -1 + +sMoveEffectsTable_82DE288: + .byte -1 + +sMoveEffectsTable_82DE289: + .byte EFFECT_ATTACK_UP + .byte EFFECT_DEFENSE_UP + .byte EFFECT_SPEED_UP + .byte EFFECT_SPECIAL_ATTACK_UP + .byte EFFECT_SPECIAL_DEFENSE_UP + .byte EFFECT_ACCURACY_UP + .byte EFFECT_EVASION_UP + .byte EFFECT_ATTACK_DOWN + .byte EFFECT_DEFENSE_DOWN + .byte EFFECT_SPEED_DOWN + .byte EFFECT_SPECIAL_ATTACK_DOWN + .byte EFFECT_SPECIAL_DEFENSE_DOWN + .byte EFFECT_ACCURACY_DOWN + .byte EFFECT_EVASION_DOWN + .byte EFFECT_MIST + .byte EFFECT_FOCUS_ENERGY + .byte EFFECT_ATTACK_UP_2 + .byte EFFECT_DEFENSE_UP_2 + .byte EFFECT_SPEED_UP_2 + .byte EFFECT_SPECIAL_ATTACK_UP_2 + .byte EFFECT_SPECIAL_DEFENSE_UP_2 + .byte EFFECT_ACCURACY_UP_2 + .byte EFFECT_EVASION_UP_2 + .byte EFFECT_ATTACK_DOWN_2 + .byte EFFECT_DEFENSE_DOWN_2 + .byte EFFECT_SPEED_DOWN_2 + .byte EFFECT_SPECIAL_ATTACK_DOWN_2 + .byte EFFECT_SPECIAL_DEFENSE_DOWN_2 + .byte EFFECT_ACCURACY_DOWN_2 + .byte EFFECT_EVASION_DOWN_2 + .byte EFFECT_POISON + .byte EFFECT_PAIN_SPLIT + .byte EFFECT_PERISH_SONG + .byte EFFECT_SAFEGUARD + .byte EFFECT_TICKLE + .byte EFFECT_COSMIC_POWER + .byte EFFECT_BULK_UP + .byte EFFECT_CALM_MIND + .byte EFFECT_DRAGON_DANCE + .byte -1 + +sMoveEffectsTable_82DE2B1: + .byte EFFECT_SLEEP + .byte EFFECT_EXPLOSION + .byte EFFECT_ATTACK_UP + .byte EFFECT_DEFENSE_UP + .byte EFFECT_SPEED_UP + .byte EFFECT_SPECIAL_ATTACK_UP + .byte EFFECT_SPECIAL_DEFENSE_UP + .byte EFFECT_ACCURACY_UP + .byte EFFECT_EVASION_UP + .byte EFFECT_ATTACK_DOWN + .byte EFFECT_DEFENSE_DOWN + .byte EFFECT_SPEED_DOWN + .byte EFFECT_SPECIAL_ATTACK_DOWN + .byte EFFECT_SPECIAL_DEFENSE_DOWN + .byte EFFECT_ACCURACY_DOWN + .byte EFFECT_EVASION_DOWN + .byte EFFECT_BIDE + .byte EFFECT_CONVERSION + .byte EFFECT_TOXIC + .byte EFFECT_LIGHT_SCREEN + .byte EFFECT_OHKO + .byte EFFECT_SUPER_FANG + .byte EFFECT_SUPER_FANG + .byte EFFECT_MIST + .byte EFFECT_FOCUS_ENERGY + .byte EFFECT_CONFUSE + .byte EFFECT_ATTACK_UP_2 + .byte EFFECT_DEFENSE_UP_2 + .byte EFFECT_SPEED_UP_2 + .byte EFFECT_SPECIAL_ATTACK_UP_2 + .byte EFFECT_SPECIAL_DEFENSE_UP_2 + .byte EFFECT_ACCURACY_UP_2 + .byte EFFECT_EVASION_UP_2 + .byte EFFECT_ATTACK_DOWN_2 + .byte EFFECT_DEFENSE_DOWN_2 + .byte EFFECT_SPEED_DOWN_2 + .byte EFFECT_SPECIAL_ATTACK_DOWN_2 + .byte EFFECT_SPECIAL_DEFENSE_DOWN_2 + .byte EFFECT_ACCURACY_DOWN_2 + .byte EFFECT_EVASION_DOWN_2 + .byte EFFECT_POISON + .byte EFFECT_PARALYZE + .byte EFFECT_PAIN_SPLIT + .byte EFFECT_CONVERSION_2 + .byte EFFECT_LOCK_ON + .byte EFFECT_SPITE + .byte EFFECT_PERISH_SONG + .byte EFFECT_SWAGGER + .byte EFFECT_FURY_CUTTER + .byte EFFECT_ATTRACT + .byte EFFECT_SAFEGUARD + .byte EFFECT_PSYCH_UP + .byte EFFECT_MIRROR_COAT + .byte EFFECT_WILL_O_WISP + .byte EFFECT_TICKLE + .byte EFFECT_COSMIC_POWER + .byte EFFECT_BULK_UP + .byte EFFECT_CALM_MIND + .byte EFFECT_DRAGON_DANCE + .byte -1 + +AI_Unknown: + if_target_is_ally AI_TryOnAlly + if_not_effect EFFECT_SUNNY_DAY, BattleAIScript_82DE308 + if_equal 0, BattleAIScript_82DE308 + is_first_turn_for AI_USER + if_equal 0, BattleAIScript_82DE308 + score +5 + +BattleAIScript_82DE308: + end + +AI_Roaming: + if_status2 AI_USER, STATUS2_WRAPPED, BattleAIScript_82DE336 + if_status2 AI_USER, STATUS2_ESCAPE_PREVENTION, BattleAIScript_82DE336 + get_ability AI_TARGET + if_equal ABILITY_SHADOW_TAG, BattleAIScript_82DE336 + get_ability AI_USER + if_equal ABILITY_LEVITATE, BattleAIScript_82DE335 + get_ability AI_TARGET + if_equal ABILITY_ARENA_TRAP, BattleAIScript_82DE336 + +BattleAIScript_82DE335: + flee + +BattleAIScript_82DE336: + end + +AI_Safari: + if_random_safari_flee BattleAIScript_82DE33D + watch + +BattleAIScript_82DE33D: + flee + +AI_FirstBattle: + if_hp_equal AI_TARGET, 20, BattleAIScript_82DE34D + if_hp_less_than AI_TARGET, 20, BattleAIScript_82DE34D + end + +BattleAIScript_82DE34D: + flee + +AI_Ret: + end diff --git a/data/battle_anim_80A9C70.s b/data/battle_anim_80A9C70.s new file mode 100644 index 0000000000..56486b8b71 --- /dev/null +++ b/data/battle_anim_80A9C70.s @@ -0,0 +1,105 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 +gUnknown_0853EDE4:: @ 853EDE4 + .2byte 0x0000, 0x0003, 0x0004, 0x0003, 0x0008, 0x0003, 0x000c, 0x0003, 0xfffe, 0x0000 + + .align 2 +gUnknown_0853EDF8:: @ 853EDF8 + .4byte gUnknown_0853EDE4 + + .align 2 +gUnknown_0853EDFC:: @ 853EDFC + spr_template 0x2714, 0x2714, gUnknown_0852490C, gUnknown_0853EDF8, NULL, gDummySpriteAffineAnimTable, sub_80A8AEC + spr_template 0x2714, 0x2714, gUnknown_0852490C, gUnknown_0853EDF8, NULL, gDummySpriteAffineAnimTable, sub_80A8A6C + + .align 2 +gUnknown_0853EE2C:: @ 853EE2C + .2byte 0x0000, 0x0003, 0xfffe, 0x0000 + + .align 2 +gUnknown_0853EE34:: @ 853EE34 + .4byte gUnknown_0853EE2C + + .align 2 +gUnknown_0853EE38:: @ 853EE38 + spr_template 0x282b, 0x282b, gUnknown_08524914, gUnknown_0853EE34, NULL, gDummySpriteAffineAnimTable, sub_80A8E30 + + .align 2 +gUnknown_0853EE50:: @ 853EE50 + spr_template 0x282b, 0x282b, gUnknown_08524914, gUnknown_0853EE34, NULL, gDummySpriteAffineAnimTable, sub_80A8EE4 + + .align 2 +gUnknown_0853EE68:: @ 853EE68 + .2byte 0x0000, 0x0003, 0x0010, 0x0003, 0x0020, 0x0003, 0x0030, 0x0003, 0x0040, 0x0003, 0xffff, 0x0000 + + .align 2 +gUnknown_0853EE80:: @ 853EE80 + .4byte gUnknown_0853EE68 + + .align 2 +gUnknown_0853EE84:: @ 853EE84 + spr_template 0x2757, 0x2757, gUnknown_08524914, gUnknown_0853EE80, NULL, gDummySpriteAffineAnimTable, sub_80A8B64 + spr_template 0x2743, 0x2743, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8AEC + + .align 2 +gUnknown_0853EEB4:: @ 853EEB4 + .2byte 0x0000, 0x0005, 0xfffe, 0x0000 + + .align 2 +gUnknown_0853EEBC:: @ 853EEBC + .2byte 0x0000, 0x0005, 0xfffe, 0x0000 + + .align 2 +gUnknown_0853EEC4:: @ 853EEC4 + .2byte 0x0000, 0x0005, 0xfffe, 0x0000 + + .align 2 +gUnknown_0853EECC:: @ 853EECC + .4byte gUnknown_0853EEB4 + .4byte gUnknown_0853EEBC + .4byte gUnknown_0853EEC4 + + .align 2 +gUnknown_0853EED8:: @ 853EED8 + spr_template 0x2797, 0x2797, gUnknown_08524914, gUnknown_0853EECC, NULL, gDummySpriteAffineAnimTable, sub_80A8AEC + + .align 2 +gUnknown_0853EEF0:: @ 853EEF0 + .2byte 0x0000, 0x000f, 0xfffe, 0x0000 + + .align 2 +gUnknown_0853EEF8:: @ 853EEF8 + .4byte gUnknown_0853EEF0 + + .align 2 +gUnknown_0853EEFC:: @ 853EEFC + .2byte 0x0060, 0x0060, 0x0000, 0x0000, 0x0002, 0x0002, 0x0100, 0x0000, 0x7ffe, 0x0001, 0x0000, 0x0000 + + .align 2 +gUnknown_0853EF14:: @ 853EF14 + .4byte gUnknown_0853EEFC + + .align 2 +gUnknown_0853EF18:: @ 853EF18 + spr_template 0x2714, 0x2714, gUnknown_085249CC, gUnknown_0853EEF8, NULL, gUnknown_0853EF14, sub_80A8A6C + + .align 2 +gUnknown_0853EF30:: @ 853EF30 + .byte 0xf0, 0xf0, 0x0c, 0x80, 0xf0, 0x30, 0x0d, 0x84, 0x30, 0xf0, 0x0e, 0x86, 0x30, 0x30, 0x08, 0x88 + + .align 2 +gUnknown_0853EF40:: @ 853EF40 + .4byte 0x00000004, gUnknown_0853EF30 + + .align 2 +gUnknown_0853EF48:: @ 853EF48 + spr_template 0x271a, 0x271a, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gUnknown_0853EF60:: @ 853EF60 + spr_template 0x2798, 0x2798, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A9E44 + diff --git a/data/battle_anim_80FE840.s b/data/battle_anim_80FE840.s index 78631ee6ed..749db42f85 100644 --- a/data/battle_anim_80FE840.s +++ b/data/battle_anim_80FE840.s @@ -16,7 +16,13 @@ gUnknown_08592114:: @ 8592114 .align 2 gUnknown_08592118:: @ 8592118 spr_template 0x2753, 0x2753, gUnknown_08524944, gUnknown_08592114, NULL, gDummySpriteAffineAnimTable, sub_80FE840 + + .align 2 +gUnknown_08592130:: @ 8592130 spr_template 0x2754, 0x2754, gUnknown_08524944, gUnknown_08592114, NULL, gDummySpriteAffineAnimTable, sub_80FE840 + + .align 2 +gUnknown_08592148:: @ 8592148 spr_template 0x2751, 0x2751, gUnknown_08524944, gUnknown_08592114, NULL, gDummySpriteAffineAnimTable, sub_80FE840 .align 2 diff --git a/data/battle_anim_815A0D4.s b/data/battle_anim_815A0D4.s index d89a83daf1..0cb95a7e12 100644 --- a/data/battle_anim_815A0D4.s +++ b/data/battle_anim_815A0D4.s @@ -18,9 +18,11 @@ gUnknown_085CE020:: @ 85CE020 spr_template 0x2799, 0x2799, gUnknown_08524A34, gUnknown_085CE01C, NULL, gDummySpriteAffineAnimTable, sub_80A77C8 .align 2 +gUnknown_085CE038:: @ 85CE038 spr_template 0x2720, 0x2720, gUnknown_08524934, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815A0D4 .align 2 +gUnknown_085CE050:: @ 85CE050 spr_template 0x2721, 0x2721, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A78AC .align 2 @@ -37,9 +39,11 @@ gUnknown_085CE07C:: @ 85CE07C spr_template 0x27ce, 0x27ce, gUnknown_08524914, gUnknown_085CE078, NULL, gDummySpriteAffineAnimTable, sub_80A77C8 .align 2 +gUnknown_085CE094:: spr_template 0x27cf, 0x27cf, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815A1B0 .align 2 +gUnknown_085CE0AC:: spr_template 0x27cd, 0x27cd, gUnknown_08524974, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815A254 .align 2 @@ -65,6 +69,7 @@ gUnknown_085CE104:: @ 85CE104 spr_template 0x27cb, 0x27cb, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_085CE0FC, sub_815A2F0 .align 2 +gUnknown_085CE11C:: @ 85CE11C spr_template 0x27a8, 0x27a8, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815A6C4 .align 2 @@ -147,9 +152,11 @@ gUnknown_085CE22C:: @ 85CE22C spr_template 0x27f3, 0x27f3, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gUnknown_085CE224, sub_815A934 .align 2 +gUnknown_085CE244:: spr_template 0x2807, 0x2807, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815AAA4 .align 2 +gUnknown_085CE25C:: spr_template 0x2807, 0x2807, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815ABD0 .align 2 @@ -164,64 +171,339 @@ gUnknown_085CE284:: @ 85CE284 .align 2 gUnknown_085CE288:: @ 85CE288 spr_template 0x27f5, 0x27f5, gUnknown_08524934, gUnknown_085CE284, NULL, gDummySpriteAffineAnimTable, sub_815ACD0 - + + .align 2 gUnknown_085CE2A0:: @ 85CE2A0 - .incbin "baserom.gba", 0x5ce2a0, 0xb0 + .2byte 0xfff4, 0x0008, 0x0400, 0x0000, 0x0014, 0xffec, 0x0400, 0x0000, 0xfff8, 0x000c, 0x0400, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + .align 2 +gUnknown_085CE2C0:: @ 85CE2C0 + .2byte 0x0000, 0x0008, 0xffff, 0x0000 + + .align 2 +gUnknown_085CE2C8:: @ 85CE2C8 + .4byte gUnknown_085CE2C0 + + .align 2 +gUnknown_085CE2CC:: @ 85CE2CC + .2byte 0x0000, 0x0000, 0x2805, 0x0000, 0x0000, 0x0000, 0x0a0a, 0x0000, 0x0000, 0x0000, 0x0a0f, 0x0000, 0x0000, 0x0000, 0x2814, 0x0000 + .2byte 0x7ffe, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_085CE2F4:: @ 85CE2F4 + .4byte gUnknown_085CE2CC + + .align 2 +gUnknown_085CE2F8:: @ 85CE2F8 + spr_template 0x27f6, 0x27f6, gUnknown_085249DC, gUnknown_085CE2C8, NULL, gUnknown_085CE2F4, sub_815B27C + + .align 2 +gUnknown_085CE310:: @ 85CE310 + .2byte 0x0000, 0x0003, 0x0010, 0x0003, 0x0020, 0x0003, 0x0030, 0x0003, 0x0020, 0x0043, 0x0010, 0x0043, 0x0000, 0x0043, 0xfffd, 0x0001 + .2byte 0xffff, 0x0000 + + .align 2 +gUnknown_085CE334:: @ 85CE334 + .4byte gUnknown_085CE310 + + .align 2 +gUnknown_085CE338:: @ 85CE338 + spr_template 0x27fa, 0x27fa, gUnknown_08524914, gUnknown_085CE334, NULL, gDummySpriteAffineAnimTable, sub_80A77C8 + + .align 2 gUnknown_085CE350:: @ 85CE350 - .incbin "baserom.gba", 0x5ce350, 0x38 + .2byte 0xfff4, 0x0014, 0x0800, 0x0000, 0x000c, 0xffec, 0x0800, 0x0000, 0x7ffd, 0x0002, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + .align 2 +gUnknown_085CE370:: @ 85CE370 + spr_template 0x27f2, 0x27f2, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815B394 + + .align 2 gUnknown_085CE388:: @ 85CE388 - .incbin "baserom.gba", 0x5ce388, 0x18 + spr_template 0x27f9, 0x27f9, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815B49C + .align 2 gUnknown_085CE3A0:: @ 85CE3A0 - .incbin "baserom.gba", 0x5ce3a0, 0x18 + spr_template 0x27f9, 0x27f9, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815B570 + .align 2 gUnknown_085CE3B8:: @ 85CE3B8 - .incbin "baserom.gba", 0x5ce3b8, 0x28 + .2byte 0x0008, 0xfff8, 0x0c00, 0x0000, 0xfff0, 0x0010, 0x0c00, 0x0000, 0x0008, 0xfff8, 0x0c00, 0x0000, 0x7ffd, 0x0001, 0x0000, 0x0000 + .2byte 0x7fff, 0x0000, 0x0000, 0x0000 + .align 2 gUnknown_085CE3E0:: @ 85CE3E0 - .incbin "baserom.gba", 0x5ce3e0, 0x50 + .2byte 0x0000, 0x0006, 0x1400, 0x0000, 0x0000, 0x0000, 0x1400, 0x0000, 0x0000, 0xffee, 0x0600, 0x0000, 0xffee, 0xffee, 0x0300, 0x0000 + .2byte 0x0000, 0x0000, 0x0f00, 0x0000, 0x0004, 0x0004, 0x0d00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + .align 2 +gUnknown_085CE418:: @ 85CE418 + spr_template 0x27fc, 0x27fc, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815B70C + + .align 2 gUnknown_085CE430:: @ 85CE430 - .incbin "baserom.gba", 0x5ce430, 0x30 + .2byte 0x0000, 0x0006, 0x1400, 0x0000, 0x0000, 0x0000, 0x1400, 0x0000, 0x0007, 0xffe2, 0x0600, 0x0000, 0x0000, 0x0000, 0x1400, 0x0000 + .2byte 0xfffe, 0x0003, 0x1400, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + .align 2 gUnknown_085CE460:: @ 85CE460 - .incbin "baserom.gba", 0x5ce460, 0x2c + .byte 0xe8, 0x18, 0xfc, 0x00 + .align 2 +gUnknown_085CE464:: @ 85CE464 + .2byte 0x0000, 0x0006, 0x0004, 0x0006, 0xfffe, 0x0000 + + .align 2 +gUnknown_085CE470:: @ 85CE470 + .2byte 0x0008, 0x0006, 0xffff, 0x0000 + + .align 2 +gUnknown_085CE478:: @ 85CE478 + .2byte 0x000c, 0x0006, 0xffff, 0x0000 + + .align 2 +gUnknown_085CE480:: @ 85CE480 + .4byte gUnknown_085CE464 + .4byte gUnknown_085CE470 + .4byte gUnknown_085CE478 + + .align 2 gUnknown_085CE48C:: @ 85CE48C - .incbin "baserom.gba", 0x5ce48c, 0x18 + spr_template 0x2801, 0x2801, gUnknown_0852490C, gUnknown_085CE480, NULL, gDummySpriteAffineAnimTable, sub_815BE04 + .align 2 gUnknown_085CE4A4:: @ 85CE4A4 - .incbin "baserom.gba", 0x5ce4a4, 0x4 + .byte 0x78, 0x50, 0x28, 0x00 + .align 2 gUnknown_085CE4A8:: @ 85CE4A8 - .incbin "baserom.gba", 0x5ce4a8, 0x8 + .2byte 0x0000, 0x0000, 0x0032, 0x0000 + .align 2 gUnknown_085CE4B0:: @ 85CE4B0 - .incbin "baserom.gba", 0x5ce4b0, 0x140 + .2byte 0x0000, 0xfff1, 0x0700, 0x0000, 0x0000, 0x000f, 0x0700, 0x0000, 0x7ffd, 0x0002, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + .align 2 +gUnknown_085CE4D0:: @ 85CE4D0 + spr_template 0x2767, 0x2767, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815C400 + + .align 2 +gUnknown_085CE4E8:: @ 85CE4E8 + .2byte 0x0000, 0x0008, 0x0001, 0x0008, 0x0002, 0x0008, 0x0003, 0x0008, 0x0003, 0x0088, 0x0002, 0x0088, 0x0000, 0x0088, 0x0001, 0x0088 + .2byte 0xfffe, 0x0000 + + .align 2 +gUnknown_085CE50C:: @ 85CE50C + .2byte 0x0000, 0x0048, 0x0001, 0x0048, 0x0002, 0x0048, 0x0003, 0x0048, 0x0003, 0x00c8, 0x0002, 0x00c8, 0x0000, 0x00c8, 0x0001, 0x00c8 + .2byte 0xfffe, 0x0000 + + .align 2 +gUnknown_085CE530:: @ 85CE530 + .2byte 0x0000, 0x0008, 0xffff, 0x0000 + + .align 2 +gUnknown_085CE538:: @ 85CE538 + .4byte gUnknown_085CE4E8 + .4byte gUnknown_085CE50C + .4byte gUnknown_085CE530 + + .align 2 +gUnknown_085CE544:: @ 85CE544 + spr_template 0x27fe, 0x27fe, gUnknown_08524904, gUnknown_085CE538, NULL, gDummySpriteAffineAnimTable, sub_815C6B0 + + .align 2 +gUnknown_085CE55C:: @ 85CE55C + .byte 0x0c, 0x18, 0x10, 0x16, 0x13, 0x13, 0x15, 0x10, 0x17, 0x0c, 0x16, 0x07, 0x13, 0x04, 0x10, 0x01, 0x0b, 0x00, 0x06, 0x01, 0x04, 0x04, 0x01, 0x07, 0x00, 0x0c, 0x02, 0x11, 0x04, 0x13, 0x08, 0x16 + + .align 2 +gUnknown_085CE57C:: @ 85CE57C + .2byte 0x0000, 0x0005, 0x0004, 0x0009, 0x0008, 0x0005, 0xffff, 0x0000 + + .align 2 +gUnknown_085CE58C:: @ 85CE58C + .4byte gUnknown_085CE57C + + .align 2 +gUnknown_085CE590:: @ 85CE590 + spr_template 0x27ff, 0x27ff, gUnknown_0852490C, gUnknown_085CE58C, NULL, gDummySpriteAffineAnimTable, sub_815C95C +gUnknown_085CE5A8:: + spr_template 0x2800, 0x2800, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815CB88 +gUnknown_085CE5C0:: + spr_template 0x27f3, 0x27f3, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gUnknown_085CE224, sub_815CC94 +gUnknown_085CE5D8:: + spr_template 0x27fc, 0x27fc, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815CDB4 + + .align 2 gUnknown_085CE5F0:: @ 85CE5F0 - .incbin "baserom.gba", 0x5ce5f0, 0x15c + .2byte 0x0010, 0x0000, 0x0400, 0x0000, 0x0000, 0xfffd, 0x1000, 0x0000, 0x0004, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x1800, 0x0000 + .2byte 0xfffb, 0x0003, 0x1000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + .align 2 +gUnknown_085CE620:: @ 85CE620 + .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0xfff8, 0xfff8, 0x0800, 0x0000, 0x0008, 0x0008, 0x0800, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_085CE640:: @ 85CE640 + .2byte 0x00c0, 0x00c0, 0x0000, 0x0000, 0x0008, 0x0008, 0x0800, 0x0000, 0xfff8, 0xfff8, 0x0800, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_085CE660:: @ 85CE660 + .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0008, 0x0008, 0x0800, 0x0000, 0xfff8, 0xfff8, 0x0800, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_085CE680:: @ 85CE680 + .4byte gUnknown_085CE620 + .4byte gUnknown_085CE640 + .4byte gUnknown_085CE660 + + .align 2 +gUnknown_085CE68C:: @ 85CE68C + spr_template 0x2802, 0x2802, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_085CE680, sub_815D7B4 + + .align 2 +gUnknown_085CE6A4:: @ 85CE6A4 + .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0xfffc, 0xfffa, 0x1000, 0x0000, 0x0004, 0x0006, 0x1000, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_085CE6C4:: @ 85CE6C4 + .2byte 0x00c0, 0x00c0, 0x0000, 0x0000, 0x0004, 0x0006, 0x1000, 0x0000, 0xfffc, 0xfffa, 0x1000, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_085CE6E4:: @ 85CE6E4 + .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0004, 0x0006, 0x1000, 0x0000, 0xfffc, 0xfffa, 0x1000, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_085CE704:: @ 85CE704 + .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0008, 0x000a, 0x1e00, 0x0000, 0xfff8, 0xfff6, 0x1000, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_085CE724:: @ 85CE724 + .4byte gUnknown_085CE6A4 + .4byte gUnknown_085CE6C4 + .4byte gUnknown_085CE6E4 + .4byte gUnknown_085CE704 + + .align 2 +gUnknown_085CE734:: @ 85CE734 + spr_template 0x2802, 0x2802, gUnknown_085249D4, gDummySpriteAnimTable, NULL, gUnknown_085CE724, sub_815D870 + + .align 2 gUnknown_085CE74C:: @ 85CE74C - .incbin "baserom.gba", 0x5ce74c, 0x20 + .2byte 0xfff0, 0x0010, 0x0600, 0x0000, 0x0010, 0xfff0, 0x0c00, 0x0000, 0xfff0, 0x0010, 0x0600, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + .align 2 gUnknown_085CE76C:: @ 85CE76C - .incbin "baserom.gba", 0x5ce76c, 0x18 + spr_template 0x2803, 0x2803, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815DEBC + .align 2 gUnknown_085CE784:: @ 85CE784 - .incbin "baserom.gba", 0x5ce784, 0x68 + .byte 0x3c, 0x07, 0xbc, 0x16, 0x5b, 0x22, 0xdb, 0x2d, 0x5a, 0x3d, 0xfa, 0x48, 0x79, 0x54, 0x19, 0x64, 0x19, 0x5c, 0x19, 0x50, 0x19, 0x40, 0x19, 0x34, 0x1a, 0x28, 0x1a, 0x18, 0x1a, 0x0c, 0x1b, 0x00 + .byte 0x3b, 0x00, 0xbb, 0x00, 0x3b, 0x01, 0x9b, 0x01, 0x1c, 0x02, 0x7c, 0x02, 0xfc, 0x02, 0x7d, 0x03 + .align 2 +gUnknown_085CE7B4:: @ 85CE7B4 + .2byte 0x0000, 0x0003, 0x0010, 0x0003, 0xfffe, 0x0000 + + .align 2 +gUnknown_085CE7C0:: @ 85CE7C0 + .2byte 0x0020, 0x0003, 0x0030, 0x0003, 0xfffe, 0x0000 + + .align 2 +gUnknown_085CE7CC:: @ 85CE7CC + .4byte gUnknown_085CE7B4 + .4byte gUnknown_085CE7C0 + + .align 2 +gUnknown_085CE7D4:: @ 85CE7D4 + spr_template 0x2745, 0x2745, gUnknown_08524914, gUnknown_085CE7CC, NULL, gDummySpriteAffineAnimTable, sub_815E01C + + .align 2 gUnknown_085CE7EC:: @ 85CE7EC - .incbin "baserom.gba", 0x5ce7ec, 0x60 + spr_template 0x2808, 0x2808, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815E404 +gUnknown_085CE804:: + spr_template 0x280c, 0x280c, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815E444 + .align 2 +gUnknown_085CE81C:: @ 85CE81C + .2byte 0x0000, 0x0000, 0x18fc, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_085CE82C:: @ 85CE82C + .2byte 0x0100, 0x0100, 0x00c0, 0x0000, 0x0000, 0x0000, 0x1804, 0x0000 + .2byte 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_085CE844:: @ 85CE844 + .4byte gUnknown_085CE81C + .4byte gUnknown_085CE82C + + .align 2 gUnknown_085CE84C:: @ 85CE84C - .incbin "baserom.gba", 0x5ce84c, 0x30 + spr_template 0x280e, 0x280e, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_085CE844, SpriteCallbackDummy + .align 2 +gUnknown_085CE864:: + spr_template 0x2807, 0x2807, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815E6D8 + + .align 2 gUnknown_085CE87C:: @ 85CE87C - .incbin "baserom.gba", 0x5ce87c, 0x14c + .2byte 0x0000, 0xfff0, 0x0600, 0x0000, 0x0000, 0x0010, 0x0600, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + .align 2 +gUnknown_085CE894:: @ 85CE894 + spr_template 0x280f, 0x280f, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815E954 +gUnknown_085CE8AC:: + spr_template 0x2807, 0x2807, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815EA14 +gUnknown_085CE8C4:: + spr_template 0x2812, 0x2812, gUnknown_08524A34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815EE84 +gUnknown_085CE8DC:: + spr_template 0x27f9, 0x27f9, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815F18C +gUnknown_085CE8F4:: + spr_template 0x27f9, 0x27f9, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81061C4 +gUnknown_085CE90C:: + spr_template 0x280a, 0x280a, gUnknown_0852491C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815F48C +gUnknown_085CE924:: + spr_template 0x27f0, 0x27f0, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815FE80 + + .align 2 +gUnknown_085CE93C:: @ 85CE93C + .2byte 0x0000, 0x0004, 0x0040, 0x0004, 0xffff, 0x0000 + + .align 2 +gUnknown_085CE948:: @ 85CE948 + .4byte gUnknown_085CE93C + + .align 2 +gUnknown_085CE94C:: @ 85CE94C + .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x08fc, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_085CE964:: @ 85CE964 + .2byte 0xff00, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0804, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_085CE97C:: @ 85CE97C + .4byte gUnknown_085CE94C + .4byte gUnknown_085CE964 + + .align 2 +gUnknown_085CE984:: @ 85CE984 + spr_template 0x2825, 0x2825, gUnknown_0852497C, gUnknown_085CE948, NULL, gUnknown_085CE97C, sub_8160338 + + .align 2 +gUnknown_085CE99C:: @ 85CE99C + .2byte 0x0000, 0x0000, 0x40fc, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_085CE9AC:: @ 85CE9AC + .4byte gUnknown_085CE99C + + .align 2 +gUnknown_085CE9B0:: @ 85CE9B0 + spr_template 0x2826, 0x2826, gUnknown_08524A9C, gDummySpriteAnimTable, NULL, gUnknown_085CE9AC, sub_81603A8 + + .align 2 gUnknown_085CE9C8:: @ 85CE9C8 - .incbin "baserom.gba", 0x5ce9c8, 0x1e8 + .2byte 0x0000, 0x0010, 0x0400, 0x0000, 0xfffe, 0x0000, 0x0800, 0x0000, 0x0000, 0x0004, 0x0400, 0x0000, 0x0000, 0x0000, 0x1800, 0x0000 + .2byte 0x0001, 0xfffb, 0x1000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 diff --git a/data/battle_anim_8170478.s b/data/battle_anim_8170478.s index 0e0f749fe9..07516ba35a 100644 --- a/data/battle_anim_8170478.s +++ b/data/battle_anim_8170478.s @@ -10,33 +10,33 @@ gUnknown_085E5088:: @ 85E5088 .align 2 gUnknown_085E5094:: @ 85E5094 - .4byte gUnknown_08C1A490, 0xd6ec0100 - .4byte gUnknown_08C1A490, 0xd6ed0100 - .4byte gUnknown_08C1A490, 0xd6ee0100 - .4byte gUnknown_08C1A490, 0xd6ef0100 - .4byte gUnknown_08C1A490, 0xd6f00100 - .4byte gUnknown_08C1A490, 0xd6f10100 - .4byte gUnknown_08C1A490, 0xd6f20100 - .4byte gUnknown_08C1A490, 0xd6f30100 - .4byte gUnknown_08C1A490, 0xd6f40100 - .4byte gUnknown_08C1A490, 0xd6f50100 - .4byte gUnknown_08C1A490, 0xd6f60100 - .4byte gUnknown_08C1A490, 0xd6f70100 + obj_tiles gBattleAnimSpriteSheet_Particles, 0x0100, 0xd6ec + obj_tiles gBattleAnimSpriteSheet_Particles, 0x0100, 0xd6ed + obj_tiles gBattleAnimSpriteSheet_Particles, 0x0100, 0xd6ee + obj_tiles gBattleAnimSpriteSheet_Particles, 0x0100, 0xd6ef + obj_tiles gBattleAnimSpriteSheet_Particles, 0x0100, 0xd6f0 + obj_tiles gBattleAnimSpriteSheet_Particles, 0x0100, 0xd6f1 + obj_tiles gBattleAnimSpriteSheet_Particles, 0x0100, 0xd6f2 + obj_tiles gBattleAnimSpriteSheet_Particles, 0x0100, 0xd6f3 + obj_tiles gBattleAnimSpriteSheet_Particles, 0x0100, 0xd6f4 + obj_tiles gBattleAnimSpriteSheet_Particles, 0x0100, 0xd6f5 + obj_tiles gBattleAnimSpriteSheet_Particles, 0x0100, 0xd6f6 + obj_tiles gBattleAnimSpriteSheet_Particles, 0x0100, 0xd6f7 .align 2 gUnknown_085E50F4:: @ 85E50F4 - .4byte gUnknown_08C1A564, 0x0000d6ec - .4byte gUnknown_08C1A564, 0x0000d6ed - .4byte gUnknown_08C1A564, 0x0000d6ee - .4byte gUnknown_08C1A564, 0x0000d6ef - .4byte gUnknown_08C1A564, 0x0000d6f0 - .4byte gUnknown_08C1A564, 0x0000d6f1 - .4byte gUnknown_08C1A564, 0x0000d6f2 - .4byte gUnknown_08C1A564, 0x0000d6f3 - .4byte gUnknown_08C1A564, 0x0000d6f4 - .4byte gUnknown_08C1A564, 0x0000d6f5 - .4byte gUnknown_08C1A564, 0x0000d6f6 - .4byte gUnknown_08C1A564, 0x0000d6f7 + obj_pal gBattleAnimSpritePalette_136, 0xd6ec + obj_pal gBattleAnimSpritePalette_136, 0xd6ed + obj_pal gBattleAnimSpritePalette_136, 0xd6ee + obj_pal gBattleAnimSpritePalette_136, 0xd6ef + obj_pal gBattleAnimSpritePalette_136, 0xd6f0 + obj_pal gBattleAnimSpritePalette_136, 0xd6f1 + obj_pal gBattleAnimSpritePalette_136, 0xd6f2 + obj_pal gBattleAnimSpritePalette_136, 0xd6f3 + obj_pal gBattleAnimSpritePalette_136, 0xd6f4 + obj_pal gBattleAnimSpritePalette_136, 0xd6f5 + obj_pal gBattleAnimSpritePalette_136, 0xd6f6 + obj_pal gBattleAnimSpritePalette_136, 0xd6f7 .align 2 gUnknown_085E5154:: @ 85E5154 @@ -140,6 +140,7 @@ gUnknown_085E5310:: @ 85E5310 .2byte 0x0100, 0x0503, 0x0506, 0x0004 .align 2 +gUnknown_085E5338:: @ 85E5338 spr_template 0x281d, 0x281d, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_817330C .align 2 diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index e979438405..727a62f3d6 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -1,19 +1,10937 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" +#include "constants/battle_anim.h" +#include "constants/rgb.h" +#include "constants/songs.h" + .include "asm/macros/battle_anim_script.inc" .section script_data, "aw", %progbits +.align 2 gUnknown_082C8D64:: @ 82C8D64 - .incbin "baserom.gba", 0x2c8d64, 0x8 + .2byte 0x2F, 0xC3, 0x140, 0xFFFF +.align 2 gBattleAnims_Moves:: @ 82C8D6C - .incbin "baserom.gba", 0x2c8d6c, 0x590 + .4byte Move_NONE + .4byte Move_POUND + .4byte Move_KARATE_CHOP + .4byte Move_DOUBLE_SLAP + .4byte Move_COMET_PUNCH + .4byte Move_MEGA_PUNCH + .4byte Move_PAY_DAY + .4byte Move_FIRE_PUNCH + .4byte Move_ICE_PUNCH + .4byte Move_THUNDER_PUNCH + .4byte Move_SCRATCH + .4byte Move_VICE_GRIP + .4byte Move_GUILLOTINE + .4byte Move_RAZOR_WIND + .4byte Move_SWORDS_DANCE + .4byte Move_CUT + .4byte Move_GUST + .4byte Move_WING_ATTACK + .4byte Move_WHIRLWIND + .4byte Move_FLY + .4byte Move_BIND + .4byte Move_SLAM + .4byte Move_VINE_WHIP + .4byte Move_STOMP + .4byte Move_DOUBLE_KICK + .4byte Move_MEGA_KICK + .4byte Move_JUMP_KICK + .4byte Move_ROLLING_KICK + .4byte Move_SAND_ATTACK + .4byte Move_HEADBUTT + .4byte Move_HORN_ATTACK + .4byte Move_FURY_ATTACK + .4byte Move_HORN_DRILL + .4byte Move_TACKLE + .4byte Move_BODY_SLAM + .4byte Move_WRAP + .4byte Move_TAKE_DOWN + .4byte Move_THRASH + .4byte Move_DOUBLE_EDGE + .4byte Move_TAIL_WHIP + .4byte Move_POISON_STING + .4byte Move_TWINEEDLE + .4byte Move_PIN_MISSILE + .4byte Move_LEER + .4byte Move_BITE + .4byte Move_GROWL + .4byte Move_ROAR + .4byte Move_SING + .4byte Move_SUPERSONIC + .4byte Move_SONIC_BOOM + .4byte Move_DISABLE + .4byte Move_ACID + .4byte Move_EMBER + .4byte Move_FLAMETHROWER + .4byte Move_MIST + .4byte Move_WATER_GUN + .4byte Move_HYDRO_PUMP + .4byte Move_SURF + .4byte Move_ICE_BEAM + .4byte Move_BLIZZARD + .4byte Move_PSYBEAM + .4byte Move_BUBBLE_BEAM + .4byte Move_AURORA_BEAM + .4byte Move_HYPER_BEAM + .4byte Move_PECK + .4byte Move_DRILL_PECK + .4byte Move_SUBMISSION + .4byte Move_LOW_KICK + .4byte Move_COUNTER + .4byte Move_SEISMIC_TOSS + .4byte Move_STRENGTH + .4byte Move_ABSORB + .4byte Move_MEGA_DRAIN + .4byte Move_LEECH_SEED + .4byte Move_GROWTH + .4byte Move_RAZOR_LEAF + .4byte Move_SOLAR_BEAM + .4byte Move_POISON_POWDER + .4byte Move_STUN_SPORE + .4byte Move_SLEEP_POWDER + .4byte Move_PETAL_DANCE + .4byte Move_STRING_SHOT + .4byte Move_DRAGON_RAGE + .4byte Move_FIRE_SPIN + .4byte Move_THUNDER_SHOCK + .4byte Move_THUNDERBOLT + .4byte Move_THUNDER_WAVE + .4byte Move_THUNDER + .4byte Move_ROCK_THROW + .4byte Move_EARTHQUAKE + .4byte Move_FISSURE + .4byte Move_DIG + .4byte Move_TOXIC + .4byte Move_CONFUSION + .4byte Move_PSYCHIC + .4byte Move_HYPNOSIS + .4byte Move_MEDITATE + .4byte Move_AGILITY + .4byte Move_QUICK_ATTACK + .4byte Move_RAGE + .4byte Move_TELEPORT + .4byte Move_NIGHT_SHADE + .4byte Move_MIMIC + .4byte Move_SCREECH + .4byte Move_DOUBLE_TEAM + .4byte Move_RECOVER + .4byte Move_HARDEN + .4byte Move_MINIMIZE + .4byte Move_SMOKESCREEN + .4byte Move_CONFUSE_RAY + .4byte Move_WITHDRAW + .4byte Move_DEFENSE_CURL + .4byte Move_BARRIER + .4byte Move_LIGHT_SCREEN + .4byte Move_HAZE + .4byte Move_REFLECT + .4byte Move_FOCUS_ENERGY + .4byte Move_BIDE + .4byte Move_METRONOME + .4byte Move_MIRROR_MOVE @ doesn't have an actual animation + .4byte Move_SELF_DESTRUCT + .4byte Move_EGG_BOMB + .4byte Move_LICK + .4byte Move_SMOG + .4byte Move_SLUDGE + .4byte Move_BONE_CLUB + .4byte Move_FIRE_BLAST + .4byte Move_WATERFALL + .4byte Move_CLAMP + .4byte Move_SWIFT + .4byte Move_SKULL_BASH + .4byte Move_SPIKE_CANNON + .4byte Move_CONSTRICT + .4byte Move_AMNESIA + .4byte Move_KINESIS + .4byte Move_SOFT_BOILED + .4byte Move_HI_JUMP_KICK + .4byte Move_GLARE + .4byte Move_DREAM_EATER + .4byte Move_POISON_GAS + .4byte Move_BARRAGE + .4byte Move_LEECH_LIFE + .4byte Move_LOVELY_KISS + .4byte Move_SKY_ATTACK + .4byte Move_TRANSFORM + .4byte Move_BUBBLE + .4byte Move_DIZZY_PUNCH + .4byte Move_SPORE + .4byte Move_FLASH + .4byte Move_PSYWAVE + .4byte Move_SPLASH + .4byte Move_ACID_ARMOR + .4byte Move_CRABHAMMER + .4byte Move_EXPLOSION + .4byte Move_FURY_SWIPES + .4byte Move_BONEMERANG + .4byte Move_REST + .4byte Move_ROCK_SLIDE + .4byte Move_HYPER_FANG + .4byte Move_SHARPEN + .4byte Move_CONVERSION + .4byte Move_TRI_ATTACK + .4byte Move_SUPER_FANG + .4byte Move_SLASH + .4byte Move_SUBSTITUTE + .4byte Move_STRUGGLE + .4byte Move_SKETCH + .4byte Move_TRIPLE_KICK + .4byte Move_THIEF + .4byte Move_SPIDER_WEB + .4byte Move_MIND_READER + .4byte Move_NIGHTMARE + .4byte Move_FLAME_WHEEL + .4byte Move_SNORE + .4byte Move_CURSE + .4byte Move_FLAIL + .4byte Move_CONVERSION_2 + .4byte Move_AEROBLAST + .4byte Move_COTTON_SPORE + .4byte Move_REVERSAL + .4byte Move_SPITE + .4byte Move_POWDER_SNOW + .4byte Move_PROTECT + .4byte Move_MACH_PUNCH + .4byte Move_SCARY_FACE + .4byte Move_FAINT_ATTACK + .4byte Move_SWEET_KISS + .4byte Move_BELLY_DRUM + .4byte Move_SLUDGE_BOMB + .4byte Move_MUD_SLAP + .4byte Move_OCTAZOOKA + .4byte Move_SPIKES + .4byte Move_ZAP_CANNON + .4byte Move_FORESIGHT + .4byte Move_DESTINY_BOND + .4byte Move_PERISH_SONG + .4byte Move_ICY_WIND + .4byte Move_DETECT + .4byte Move_BONE_RUSH + .4byte Move_LOCK_ON + .4byte Move_OUTRAGE + .4byte Move_SANDSTORM + .4byte Move_GIGA_DRAIN + .4byte Move_ENDURE + .4byte Move_CHARM + .4byte Move_ROLLOUT + .4byte Move_FALSE_SWIPE + .4byte Move_SWAGGER + .4byte Move_MILK_DRINK + .4byte Move_SPARK + .4byte Move_FURY_CUTTER + .4byte Move_STEEL_WING + .4byte Move_MEAN_LOOK + .4byte Move_ATTRACT + .4byte Move_SLEEP_TALK + .4byte Move_HEAL_BELL + .4byte Move_RETURN + .4byte Move_PRESENT + .4byte Move_FRUSTRATION + .4byte Move_SAFEGUARD + .4byte Move_PAIN_SPLIT + .4byte Move_SACRED_FIRE + .4byte Move_MAGNITUDE + .4byte Move_DYNAMIC_PUNCH + .4byte Move_MEGAHORN + .4byte Move_DRAGON_BREATH + .4byte Move_BATON_PASS + .4byte Move_ENCORE + .4byte Move_PURSUIT + .4byte Move_RAPID_SPIN + .4byte Move_SWEET_SCENT + .4byte Move_IRON_TAIL + .4byte Move_METAL_CLAW + .4byte Move_VITAL_THROW + .4byte Move_MORNING_SUN + .4byte Move_SYNTHESIS + .4byte Move_MOONLIGHT + .4byte Move_HIDDEN_POWER + .4byte Move_CROSS_CHOP + .4byte Move_TWISTER + .4byte Move_RAIN_DANCE + .4byte Move_SUNNY_DAY + .4byte Move_CRUNCH + .4byte Move_MIRROR_COAT + .4byte Move_PSYCH_UP + .4byte Move_EXTREME_SPEED + .4byte Move_ANCIENT_POWER + .4byte Move_SHADOW_BALL + .4byte Move_FUTURE_SIGHT + .4byte Move_ROCK_SMASH + .4byte Move_WHIRLPOOL + .4byte Move_BEAT_UP + .4byte Move_FAKE_OUT + .4byte Move_UPROAR + .4byte Move_STOCKPILE + .4byte Move_SPIT_UP + .4byte Move_SWALLOW + .4byte Move_HEAT_WAVE + .4byte Move_HAIL + .4byte Move_TORMENT + .4byte Move_FLATTER + .4byte Move_WILL_O_WISP + .4byte Move_MEMENTO + .4byte Move_FACADE + .4byte Move_FOCUS_PUNCH + .4byte Move_SMELLING_SALT + .4byte Move_FOLLOW_ME + .4byte Move_NATURE_POWER @ doesnt have an actual animation + .4byte Move_CHARGE + .4byte Move_TAUNT + .4byte Move_HELPING_HAND + .4byte Move_TRICK + .4byte Move_ROLE_PLAY + .4byte Move_WISH + .4byte Move_ASSIST + .4byte Move_INGRAIN + .4byte Move_SUPERPOWER + .4byte Move_MAGIC_COAT + .4byte Move_RECYCLE + .4byte Move_REVENGE + .4byte Move_BRICK_BREAK + .4byte Move_YAWN + .4byte Move_KNOCK_OFF + .4byte Move_ENDEAVOR + .4byte Move_ERUPTION + .4byte Move_SKILL_SWAP + .4byte Move_IMPRISON + .4byte Move_REFRESH + .4byte Move_GRUDGE + .4byte Move_SNATCH + .4byte Move_SECRET_POWER + .4byte Move_DIVE + .4byte Move_ARM_THRUST + .4byte Move_CAMOUFLAGE + .4byte Move_TAIL_GLOW + .4byte Move_LUSTER_PURGE + .4byte Move_MIST_BALL + .4byte Move_FEATHER_DANCE + .4byte Move_TEETER_DANCE + .4byte Move_BLAZE_KICK + .4byte Move_MUD_SPORT + .4byte Move_ICE_BALL + .4byte Move_NEEDLE_ARM + .4byte Move_SLACK_OFF + .4byte Move_HYPER_VOICE + .4byte Move_POISON_FANG + .4byte Move_CRUSH_CLAW + .4byte Move_BLAST_BURN + .4byte Move_HYDRO_CANNON + .4byte Move_METEOR_MASH + .4byte Move_ASTONISH + .4byte Move_WEATHER_BALL + .4byte Move_AROMATHERAPY + .4byte Move_FAKE_TEARS + .4byte Move_AIR_CUTTER + .4byte Move_OVERHEAT + .4byte Move_ODOR_SLEUTH + .4byte Move_ROCK_TOMB + .4byte Move_SILVER_WIND + .4byte Move_METAL_SOUND + .4byte Move_GRASS_WHISTLE + .4byte Move_TICKLE + .4byte Move_COSMIC_POWER + .4byte Move_WATER_SPOUT + .4byte Move_SIGNAL_BEAM + .4byte Move_SHADOW_PUNCH + .4byte Move_EXTRASENSORY + .4byte Move_SKY_UPPERCUT + .4byte Move_SAND_TOMB + .4byte Move_SHEER_COLD + .4byte Move_MUDDY_WATER + .4byte Move_BULLET_SEED + .4byte Move_AERIAL_ACE + .4byte Move_ICICLE_SPEAR + .4byte Move_IRON_DEFENSE + .4byte Move_BLOCK + .4byte Move_HOWL + .4byte Move_DRAGON_CLAW + .4byte Move_FRENZY_PLANT + .4byte Move_BULK_UP + .4byte Move_BOUNCE + .4byte Move_MUD_SHOT + .4byte Move_POISON_TAIL + .4byte Move_COVET + .4byte Move_VOLT_TACKLE + .4byte Move_MAGICAL_LEAF + .4byte Move_WATER_SPORT + .4byte Move_CALM_MIND + .4byte Move_LEAF_BLADE + .4byte Move_DRAGON_DANCE + .4byte Move_ROCK_BLAST + .4byte Move_SHOCK_WAVE + .4byte Move_WATER_PULSE + .4byte Move_DOOM_DESIRE + .4byte Move_PSYCHO_BOOST + .4byte Move_COUNT @ cannot be reached, because last move is Psycho Boost -gUnknown_082C92FC:: @ 82C92FC - .incbin "baserom.gba", 0x2c92fc, 0x24 +.align 2 +gBattleAnims_Statuses:: @ 82C92FC + .4byte Status_Poison + .4byte Status_Confusion + .4byte Status_Burn + .4byte Status_Infatuation + .4byte Status_Sleep + .4byte Status_Paralysis + .4byte Status_Freeze + .4byte Status_Curse + .4byte Status_Nightmare -gUnknown_082C9320:: @ 82C9320 - .incbin "baserom.gba", 0x2c9320, 0x5c +.align 2 +gBattleAnims_VariousTable:: @ 82C9320 + .4byte Anim_CastformTransform + .4byte Anim_StatChange + .4byte Anim_SubsituteOff + .4byte Anim_SubsituteOn + .4byte Anim_Table_4 + .4byte Anim_ItemKnockOff + .4byte Status_Wrap + .4byte Anim_ItemEffect + .4byte Anim_SmokeBallEscape + .4byte Anim_HangedOn + .4byte Anim_Rain + .4byte Anim_Sun + .4byte Anim_Sandstorm + .4byte Anim_Hail + .4byte Status_LeechSeed + .4byte Anim_Hit + .4byte Anim_ItemSteal + .4byte Anim_SnatchMove + .4byte Anim_FutureSightHit + .4byte Anim_DoomDesireHit + .4byte Anim_Table_x14 + .4byte Status_Ingrain + .4byte Anim_WishHeal -gUnknown_082C937C:: @ 82C937C - .incbin "baserom.gba", 0x2c937c, 0xf32c +.align 2 +gBattleAnims_Special:: @ 82C937C + .4byte Anim_LevelUp + .4byte Anim_SwitchOutPlayer + .4byte Anim_SwitchOutOpponent + .4byte Anim_BallThrow + .4byte Anim_SafariBallThrow + .4byte Anim_SubstituteToMon + .4byte Anim_MonToSubstitute + +Move_NONE: +Move_MIRROR_MOVE: +Move_POUND: + loadspritegfx 0x2797 + monbg ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W003, +63 + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 + createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +Move_DOUBLE_SLAP: + loadspritegfx 0x2797 + monbg ANIM_TARGET + setalpha 0x80C + choosetwoturnanim AnimScript_82C93F4, AnimScript_82C9408 + +AnimScript_82C93DA: + createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + playsewithpan SE_W003, +63 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +AnimScript_82C93F4: + createsprite gUnknown_08597358, 0x2, -8, 0, 1, 2 + goto AnimScript_82C93DA + +AnimScript_82C9408: + createsprite gUnknown_08597358, 0x2, 8, 0, 1, 2 + goto AnimScript_82C93DA + +Move_POISON_POWDER: + loadspritegfx 0x2751 + loadspritegfx 0x27A6 + loopsewithpan SE_W077, +63, 0xA, 0x6 + createsprite gUnknown_08592148, 0x82, -30, -22, 117, 80, 5, 1 + createsprite gUnknown_08592148, 0x82, 10, -22, 117, 80, -5, 1 + createsprite gUnknown_08592148, 0x82, -25, -22, 117, 112, 5, 3 + delay 0xF + createsprite gUnknown_08592148, 0x82, -5, -22, 117, 80, -5, 1 + createsprite gUnknown_08592148, 0x82, 5, -22, 117, 96, 5, 1 + createsprite gUnknown_08592148, 0x82, 0, -22, 117, 69, -5, 1 + createsprite gUnknown_08592148, 0x82, -15, -22, 117, 112, 5, 2 + delay 0x1E + createsprite gUnknown_08592148, 0x82, -15, -22, 117, 112, 5, 2 + createsprite gUnknown_08592148, 0x82, 15, -22, 117, 80, -5, 1 + createsprite gUnknown_08592148, 0x82, -10, -22, 117, 96, 7, 2 + createsprite gUnknown_08592148, 0x82, -5, -22, 117, 90, -8, 0 + delay 0x14 + createsprite gUnknown_08592148, 0x82, -10, -22, 117, 80, -5, 1 + createsprite gUnknown_08592148, 0x82, 0, -22, 117, 89, 5, 2 + createsprite gUnknown_08592148, 0x82, 20, -22, 117, 112, -8, 2 + createsprite gUnknown_08592148, 0x82, 5, -22, 117, 80, 5, 1 + waitforvisualfinish + end + +Move_STUN_SPORE: + loadspritegfx 0x2754 + loopsewithpan SE_W077, +63, 0xA, 0x6 + createsprite gUnknown_08592130, 0x82, -30, -22, 117, 80, 5, 1 + createsprite gUnknown_08592130, 0x82, 10, -22, 117, 80, -5, 1 + createsprite gUnknown_08592130, 0x82, -25, -22, 117, 112, 5, 3 + delay 0xF + createsprite gUnknown_08592130, 0x82, -5, -22, 117, 80, -5, 1 + createsprite gUnknown_08592130, 0x82, 5, -22, 117, 96, 5, 1 + createsprite gUnknown_08592130, 0x82, 0, -22, 117, 69, -5, 1 + createsprite gUnknown_08592130, 0x82, -15, -22, 117, 112, 5, 2 + delay 0x1E + createsprite gUnknown_08592130, 0x82, -15, -22, 117, 112, 5, 2 + createsprite gUnknown_08592130, 0x82, 15, -22, 117, 80, -5, 1 + createsprite gUnknown_08592130, 0x82, -10, -22, 117, 96, 7, 2 + createsprite gUnknown_08592130, 0x82, -5, -22, 117, 90, -8, 0 + delay 0x14 + createsprite gUnknown_08592130, 0x82, -10, -22, 117, 80, -5, 1 + createsprite gUnknown_08592130, 0x82, 0, -22, 117, 89, 5, 2 + createsprite gUnknown_08592130, 0x82, 20, -22, 117, 112, -8, 2 + createsprite gUnknown_08592130, 0x82, 5, -22, 117, 80, 5, 1 + waitforvisualfinish + end + +Move_SLEEP_POWDER: + loadspritegfx 0x2753 + loopsewithpan SE_W077, +63, 0xA, 0x6 + createsprite gUnknown_08592118, 0x82, -30, -22, 117, 80, 5, 1 + createsprite gUnknown_08592118, 0x82, 10, -22, 117, 80, -5, 1 + createsprite gUnknown_08592118, 0x82, -25, -22, 117, 112, 5, 3 + delay 0xF + createsprite gUnknown_08592118, 0x82, -5, -22, 117, 80, -5, 1 + createsprite gUnknown_08592118, 0x82, 5, -22, 117, 96, 5, 1 + createsprite gUnknown_08592118, 0x82, 0, -22, 117, 69, -5, 1 + createsprite gUnknown_08592118, 0x82, -15, -22, 117, 112, 5, 2 + delay 0x1E + createsprite gUnknown_08592118, 0x82, -15, -22, 117, 112, 5, 2 + createsprite gUnknown_08592118, 0x82, 15, -22, 117, 80, -5, 1 + createsprite gUnknown_08592118, 0x82, -10, -22, 117, 96, 7, 2 + createsprite gUnknown_08592118, 0x82, -5, -22, 117, 90, -8, 0 + delay 0x14 + createsprite gUnknown_08592118, 0x82, -10, -22, 117, 80, -5, 1 + createsprite gUnknown_08592118, 0x82, 0, -22, 117, 89, 5, 2 + createsprite gUnknown_08592118, 0x82, 20, -22, 117, 112, -8, 2 + createsprite gUnknown_08592118, 0x82, 5, -22, 117, 80, 5, 1 + waitforvisualfinish + end + +Move_SWIFT: + loadspritegfx 0x27BE + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + playsewithpan SE_W129, -64 + createsprite gUnknown_08592404, 0x83, 20, -10, 20, 0, 22, 20, 1 + delay 0x5 + playsewithpan SE_W129, -64 + createsprite gUnknown_08592404, 0x83, 20, -10, 20, 5, 22, -18, 1 + delay 0x5 + playsewithpan SE_W129, -64 + createsprite gUnknown_08592404, 0x83, 20, -10, 20, -10, 22, 15, 1 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 18, 1 + createvisualtask sub_80D52D0, 0x2, 3, 2, 0, 18, 1 + delay 0x5 + playsewithpan SE_W129, -64 + createsprite gUnknown_08592404, 0x83, 20, -10, 20, 0, 22, -20, 1 + delay 0x5 + playsewithpan SE_W129, -64 + createsprite gUnknown_08592404, 0x83, 20, -10, 20, 0, 22, 12, 1 + delay 0x5 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_STRENGTH: + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + playsewithpan SE_W036, -64 + createvisualtask sub_80D5644, 0x5, 0, 2, 0, 96, 30 + waitforvisualfinish + delay 0xA + createsprite gUnknown_0857FE58, 0x2, 0, 0, 4 + createvisualtask sub_80D5830, 0x2, 1, 18, 6, 2, 4 + delay 0x4 + playsewithpan SE_W025B, +63 + createsprite gUnknown_08597358, 0x3, 16, 12, 1, 1 + delay 0x4 + playsewithpan SE_W025B, +63 + createsprite gUnknown_08597358, 0x3, -16, -12, 1, 1 + delay 0x4 + playsewithpan SE_W025B, +63 + createsprite gUnknown_08597358, 0x3, 3, 4, 1, 1 + waitforvisualfinish + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_TACKLE: + loadspritegfx 0x2797 + monbg ANIM_TARGET + setalpha 0x80C + createsprite gUnknown_0857FE28, 0x2, 4, 4 + delay 0x6 + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 + createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + playsewithpan SE_W004, +63 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +Move_BODY_SLAM: + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + playsewithpan SE_W036, -64 + createsprite gUnknown_0857FE40, 0x2, 6, 1, 0 + waitforvisualfinish + delay 0xB + createsprite gUnknown_0857FE70, 0x2, 0, 26, 0, 0, 5 + delay 0x6 + createsprite gUnknown_08597358, 0x4, -10, 0, 1, 0 + loopsewithpan SE_W025B, +63, 0xA, 0x2 + delay 0x1 + createsprite gUnknown_0857FE70, 0x2, 1, -28, 0, 0, 3 + waitforvisualfinish + createvisualtask sub_80D5484, 0x2, 1, 4, 0, 12, 1 + waitforvisualfinish + delay 0xA + createsprite gUnknown_0857FE58, 0x2, 0, 0, 6 + delay 0x5 + createsprite gUnknown_0857FE58, 0x2, 1, 0, 6 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_SUPERSONIC: + loadspritegfx 0x27B3 + monbg ANIM_ATK_PARTNER + monbgprio_2A ANIM_ATTACKER + setalpha 0x80C + createvisualtask sub_80D52D0, 0x2, 0, 2, 0, 8, 1 + call AnimScript_82C99FF + call AnimScript_82C99FF + call AnimScript_82C99FF + call AnimScript_82C99FF + call AnimScript_82C99FF + call AnimScript_82C99FF + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + blendoff + end + +AnimScript_82C99FF: + playsewithpan SE_W048, -64 + createsprite gUnknown_08593428, 0x82, 16, 0, 0, 0, 30, 0 + delay 0x2 + return + +Move_SCREECH: + loadspritegfx 0x27B4 + createvisualtask sub_80D52D0, 0x2, 0, 3, 0, 2, 1 + call AnimScript_82C9A4C + call AnimScript_82C9A4C + delay 0x10 + createvisualtask sub_80D5EB8, 0x5, 0, 6, 2048, 2, 1 + waitforvisualfinish + end + +AnimScript_82C9A4C: + playsewithpan SE_W103, -64 + createsprite gUnknown_08593440, 0x82, 16, 0, 0, 0, 30, 0 + delay 0x2 + return + +Move_FLAME_WHEEL: + loadspritegfx 0x272D + monbg ANIM_DEF_PARTNER + monbgprio_2A ANIM_TARGET + createsprite gUnknown_08595584, 0x3, 0, 0, 56, 0 + playsewithpan SE_W172, -64 + delay 0x2 + createsprite gUnknown_08595584, 0x3, 0, 0, 56, 4 + playsewithpan SE_W172, -64 + delay 0x2 + createsprite gUnknown_08595584, 0x3, 0, 0, 56, 8 + playsewithpan SE_W172, -64 + delay 0x2 + createsprite gUnknown_08595584, 0x3, 0, 0, 56, 12 + playsewithpan SE_W172, -64 + delay 0x2 + createsprite gUnknown_08595584, 0x3, 0, 0, 56, 16 + playsewithpan SE_W172, -64 + delay 0x2 + createsprite gUnknown_08595584, 0x3, 0, 0, 56, 20 + playsewithpan SE_W172, -64 + delay 0x2 + createsprite gUnknown_08595584, 0x3, 0, 0, 56, 24 + playsewithpan SE_W172, -64 + waitforvisualfinish + createsprite gUnknown_0857FE70, 0x2, 0, 24, 0, 0, 6 + delay 0x4 + createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 8, 1 + createvisualtask sub_80A7B98, 0x3, 1, RGB_RED, 12, 1, 1 + playsewithpan SE_W172B, +63 + call AnimScript_82D2D18 + delay 0x7 + createsprite gUnknown_0857FE58, 0x2, 0, 0, 9 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + end + +AnimScript_82C9B50: + createsprite gUnknown_08595584, 0x3, 0, 0, 50 + delay 0x4 + return + +Move_PIN_MISSILE: + loadspritegfx 0x27B1 + loadspritegfx 0x2797 + monbg ANIM_TARGET + monbgprio_28 ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W026, -64 + createsprite gUnknown_08596A5C, 0x2, 20, -8, -8, -8, 20, -32 + delay 0xF + createsprite gUnknown_08596A5C, 0x2, 20, -8, 8, 8, 20, -40 + delay 0x4 + playsewithpan SE_W030, +63 + createsprite gUnknown_08597358, 0x3, -8, -8, 1, 2 + createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 2, 1 + delay 0x9 + createsprite gUnknown_08596A5C, 0x2, 20, -8, 0, 0, 20, -32 + delay 0x4 + playsewithpan SE_W030, +63 + createsprite gUnknown_08597358, 0x3, 8, 8, 1, 2 + createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 2, 1 + delay 0xE + playsewithpan SE_W030, +63 + createsprite gUnknown_08597358, 0x3, 0, 0, 1, 2 + createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 2, 1 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +Move_ICICLE_SPEAR: + loadspritegfx 0x2816 + loadspritegfx 0x2797 + monbg ANIM_TARGET + monbgprio_28 ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W196, -64 + createsprite gUnknown_08596A74, 0x2, 20, -8, -8, -8, 20, -32 + delay 0xF + createsprite gUnknown_08596A74, 0x2, 20, -8, 8, 8, 20, -40 + delay 0x4 + playsewithpan SE_W030, +63 + createsprite gUnknown_08597358, 0x3, -8, -8, 1, 2 + createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 2, 1 + delay 0x9 + createsprite gUnknown_08596A74, 0x2, 20, -8, 0, 0, 20, -32 + delay 0x4 + playsewithpan SE_W030, +63 + createsprite gUnknown_08597358, 0x3, 8, 8, 1, 2 + createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 2, 1 + delay 0xE + playsewithpan SE_W030, +63 + createsprite gUnknown_08597358, 0x3, 0, 0, 1, 2 + createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 2, 1 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +Move_TAKE_DOWN: + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + createvisualtask sub_80D5C50, 0x5, 0, -24, 8, 23, 10, 40, 10 + delay 0x23 + createsprite gUnknown_0859728C, 0x2, 31, 3, 1, 0, 10, 0, 0 + createsprite gUnknown_08597358, 0x4, -10, 0, 1, 0 + playsewithpan SE_W025B, +63 + delay 0x1 + createsprite gUnknown_0857FE70, 0x2, 1, -16, 0, 0, 4 + waitforvisualfinish + createvisualtask sub_80D5484, 0x2, 1, 4, 0, 12, 1 + waitforvisualfinish + delay 0x2 + createsprite gUnknown_0857FE58, 0x2, 0, 0, 5 + delay 0x3 + createsprite gUnknown_0857FE58, 0x2, 1, 0, 7 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_DOUBLE_EDGE: + loadspritegfx 0x2797 + playsewithpan SE_W129, -64 + createsprite gUnknown_0859728C, 0x2, 2, 4, 2, 0x7FFF, 10, 0, 0 + waitforvisualfinish + delay 0xA + playsewithpan SE_W207, -64 + waitplaysewithpan SE_W207, -64, 0x8 + createvisualtask sub_80D5830, 0x2, 0, 18, 6, 2, 4 + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 0, 16, 16, RGB_WHITE + createsprite gUnknown_0857FE70, 0x2, 0, 20, 0, 0, 4 + delay 0x3 + waitforvisualfinish + playsewithpan SE_W025B, +63 + createsprite gUnknown_08597358, 0x84, -10, 0, 1, 0 + createsprite gUnknown_0857FE70, 0x2, 1, -32, 0, 0, 3 + waitforvisualfinish + createvisualtask sub_80D6134, 0x2, 8, -256, 0, 0 + createvisualtask sub_80D6134, 0x2, 8, -256, 1, 0 + createvisualtask sub_80D5484, 0x2, 0, 4, 0, 12, 1 + createvisualtask sub_80D5484, 0x2, 1, 4, 0, 12, 1 + createsprite gUnknown_08597274, 0x2, 1, 2, 16, 0, RGB_WHITE + waitforvisualfinish + createvisualtask sub_80D6134, 0x2, 8, -256, 0, 1 + createvisualtask sub_80D6134, 0x2, 8, -256, 1, 1 + waitforvisualfinish + createsprite gUnknown_0857FE58, 0x2, 0, 0, 5 + delay 0x3 + createsprite gUnknown_0857FE58, 0x2, 1, 0, 7 + waitforvisualfinish + end + +Move_POISON_STING: + loadspritegfx 0x27B1 + loadspritegfx 0x2797 + loadspritegfx 0x27A6 + monbg ANIM_TARGET + monbgprio_28 ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W013B, -64 + createsprite gUnknown_08596A44, 0x82, 20, 0, -8, 0, 20 + waitforvisualfinish + createsprite gUnknown_08597358, 0x3, 0, 0, 1, 2 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 5, 1 + playsewithpan SE_W030, +63 + waitforvisualfinish + call AnimScript_82D7A71 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +Move_TWINEEDLE: + loadspritegfx 0x27B1 + loadspritegfx 0x2797 + monbg ANIM_TARGET + monbgprio_28 ANIM_TARGET + setalpha 0x80C + loopsewithpan SE_W013B, -64, 0x6, 0x2 + createsprite gUnknown_08596A44, 0x82, 10, -4, 0, -4, 20 + createsprite gUnknown_08596A44, 0x82, 20, 12, 10, 12, 20 + delay 0x14 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 5, 1 + createsprite gUnknown_08597370, 0x3, 0, -4, 1, 3 + loopsewithpan SE_W030, +63, 0x5, 0x2 + delay 0x1 + createsprite gUnknown_08597370, 0x3, 10, 12, 1, 3 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +Move_FIRE_BLAST: + loadspritegfx 0x272D + createsoundtask sub_8158B30, 144, 145 + call AnimScript_82C9FE9 + call AnimScript_82C9FE9 + call AnimScript_82C9FE9 + delay 0x18 + createvisualtask sub_8116620, 0xA, 1, 3, 0, 8, 0 + waitforvisualfinish + delay 0x13 + createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 20, 1 + call AnimScript_82CA02D + delay 0x3 + call AnimScript_82CA02D + delay 0x3 + call AnimScript_82CA02D + delay 0x3 + call AnimScript_82CA02D + delay 0x3 + call AnimScript_82CA02D + delay 0x3 + call AnimScript_82CA02D + delay 0x3 + call AnimScript_82CA02D + delay 0x3 + call AnimScript_82CA02D + delay 0x3 + call AnimScript_82CA02D + waitforvisualfinish + createvisualtask sub_8116620, 0xA, 1, 2, 8, 0, 0 + waitforvisualfinish + end + +AnimScript_82C9FE9: + createsprite gUnknown_0859551C, 0x82, 0, 0, 0 + createsprite gUnknown_0859551C, 0x82, 0, 0, 51 + createsprite gUnknown_0859551C, 0x82, 0, 0, 102 + createsprite gUnknown_0859551C, 0x82, 0, 0, 153 + createsprite gUnknown_0859551C, 0x82, 0, 0, 204 + delay 0x5 + return + +AnimScript_82CA02D: + createsprite gUnknown_0859556C, 0x82, 0, 0, 10, 0, -2 + createsprite gUnknown_0859556C, 0x82, 0, 0, 13, -2, 0 + createsprite gUnknown_0859556C, 0x82, 0, 0, 13, 2, 0 + createsprite gUnknown_0859556C, 0x82, 0, 0, 15, -2, 2 + createsprite gUnknown_0859556C, 0x82, 0, 0, 15, 2, 2 + return + +Move_LEECH_SEED: + loadspritegfx 0x2716 + playsewithpan SE_W077, -64 + createsprite gUnknown_085922BC, 0x82, 15, 0, 0, 24, 35, -32 + delay 0x8 + playsewithpan SE_W077, -64 + createsprite gUnknown_085922BC, 0x82, 15, 0, -16, 24, 35, -40 + delay 0x8 + playsewithpan SE_W077, -64 + createsprite gUnknown_085922BC, 0x82, 15, 0, 16, 24, 35, -37 + delay 0xC + loopsewithpan SE_W039, +63, 0xA, 0x8 + waitforvisualfinish + end + +Move_EMBER: + loadspritegfx 0x272D + loopsewithpan SE_W052, -64, 0x5, 0x2 + createsprite gUnknown_085954D4, 0x82, 20, 0, -16, 24, 20, 1 + delay 0x4 + createsprite gUnknown_085954D4, 0x82, 20, 0, 0, 24, 20, 1 + delay 0x4 + createsprite gUnknown_085954D4, 0x82, 20, 0, 16, 24, 20, 1 + delay 0x10 + playsewithpan SE_W172, +63 + call AnimScript_82CA135 + call AnimScript_82CA135 + call AnimScript_82CA135 + end + +AnimScript_82CA135: + createsprite gUnknown_085954EC, 0x82, -24, 24, 24, 24, 20, 1, 1 + delay 0x4 + return + +Move_MEGA_PUNCH: + loadspritegfx 0x2797 + loadspritegfx 0x279F + monbg ANIM_TARGET + delay 0x2 + createsprite gUnknown_08597274, 0x2, 1, 0, 0, 16, RGB_BLACK + setalpha 0x80C + playsewithpan SE_W025, +63 + createsprite gUnknown_08595F48, 0x3, 0, 0, 0, 50 + createvisualtask sub_8116620, 0xA, 4, 2, 0, 7, 0x7FFF + delay 0x32 + call AnimScript_82CA1E9 + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 0 + createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 22, 1 + createvisualtask sub_8116620, 0xA, 4, 2, 0, 0, 0x7FFF + createsprite gUnknown_0859728C, 0x2, 31, 3, 1, 0, 8, 0, 0 + playsewithpan SE_W233B, +63 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + delay 0x2 + restorebg + waitbgfadein + end + +AnimScript_82CA1E9: + delay 0x2 + createvisualtask sub_8117E60, 0x2 + jumpargeq 0x7, 0x1, AnimScript_82CA220 + createvisualtask sub_815A8C8, 0x2 + jumpargeq 0x7, 0x0, AnimScript_82CA212 + jumpargeq 0x7, 0x1, AnimScript_82CA219 + +AnimScript_82CA211: + return + +AnimScript_82CA212: + changebg BG_IMPACT_OPPONENT + goto AnimScript_82CA211 + +AnimScript_82CA219: + changebg BG_IMPACT_PLAYER + goto AnimScript_82CA211 + +AnimScript_82CA220: + changebg BG_IMPACT_CONTESTS + goto AnimScript_82CA211 + +Move_MEGA_KICK: + loadspritegfx 0x2797 + loadspritegfx 0x279F + monbg ANIM_TARGET + delay 0x2 + createsprite gUnknown_08597274, 0x2, 1, 0, 0, 16, RGB_BLACK + setalpha 0x80C + playsewithpan SE_W025, +63 + createsprite gUnknown_08595F48, 0x3, 0, 0, 1, 50 + createvisualtask sub_8116620, 0xA, 4, 2, 0, 7, 0x7FFF + delay 0x32 + playsewithpan SE_W025B, +63 + call AnimScript_82CA1E9 + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 0 + createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 22, 1 + createvisualtask sub_8116620, 0xA, 4, 2, 0, 0, 0x7FFF + createsprite gUnknown_0859728C, 0x2, 31, 3, 1, 0, 8, 0, 0 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + delay 0x2 + restorebg + waitbgfadein + end + +Move_COMET_PUNCH: + loadspritegfx 0x2797 + loadspritegfx 0x279F + monbg ANIM_TARGET + setalpha 0x80C + choosetwoturnanim AnimScript_82CA2F1, AnimScript_82CA316 + +AnimScript_82CA2D7: + createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + playsewithpan SE_W004, +63 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +AnimScript_82CA2F1: + createsprite gUnknown_08597358, 0x2, -8, -8, 1, 2 + createsprite gUnknown_08595E98, 0x3, -8, 0, 8, 1, 0 + goto AnimScript_82CA2D7 + +AnimScript_82CA316: + createsprite gUnknown_08597358, 0x2, 8, -8, 1, 2 + createsprite gUnknown_08595E98, 0x3, 8, 0, 8, 1, 0 + goto AnimScript_82CA2D7 + +Move_SONIC_BOOM: + loadspritegfx 0x2713 + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + monbgprio_28 ANIM_TARGET + setalpha 0x80C + call AnimScript_82CA372 + call AnimScript_82CA372 + call AnimScript_82CA372 + createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 10, 1 + call AnimScript_82CA38A + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +AnimScript_82CA372: + playsewithpan SE_W013B, -64 + createsprite gUnknown_08593398, 0x82, 16, 0, 0, 0, 15 + delay 0x4 + return + +AnimScript_82CA38A: + createsprite gUnknown_08597358, 0x83, 0, 0, 1, 2 + delay 0x4 + return + +Move_THUNDER_SHOCK: + loadspritegfx 0x2711 + loadspritegfx 0x271B + createvisualtask sub_8116620, 0xA, 1, 0, 0, 6, 0 + waitforvisualfinish + delay 0xA + createvisualtask sub_810A7DC, 0x5, 0, -44, 0 + playsewithpan SE_W085, +63 + delay 0x9 + createvisualtask sub_8116620, 0xA, 4, 0, 0, 13, 0 + waitforvisualfinish + createvisualtask sub_8116620, 0xA, 4, 0, 13, 0, 0 + waitforvisualfinish + delay 0x14 + call AnimScript_82D7BEA + waitforvisualfinish + delay 0x14 + createvisualtask sub_8116620, 0xA, 1, 0, 6, 0, 0 + waitforvisualfinish + end + +Move_THUNDERBOLT: + loadspritegfx 0x2711 + loadspritegfx 0x282A + loadspritegfx 0x271B + createvisualtask sub_8116620, 0xA, 1, 0, 0, 6, 0 + waitforvisualfinish + delay 0xA + createvisualtask sub_810A7DC, 0x5, 24, -52, 0 + playsewithpan SE_W085, +63 + delay 0x7 + createvisualtask sub_810A7DC, 0x5, -24, -52, 0 + playsewithpan SE_W085, +63 + delay 0x7 + createvisualtask sub_810A7DC, 0x5, 0, -60, 1 + playsewithpan SE_W085, +63 + delay 0x9 + createvisualtask sub_8116620, 0xA, 4, 0, 0, 13, 0 + waitforvisualfinish + createvisualtask sub_8116620, 0xA, 4, 0, 13, 0, 0 + waitforvisualfinish + delay 0x14 + createsprite gUnknown_085957E0, 0x83, 44, 0, 0, 3 + createsprite gUnknown_085957F8, 0x84, 0, 0, 32, 44, 0, 40, 0, -32765 + createsprite gUnknown_085957F8, 0x84, 0, 0, 32, 44, 64, 40, 1, -32765 + createsprite gUnknown_085957F8, 0x84, 0, 0, 32, 44, 128, 40, 0, -32765 + createsprite gUnknown_085957F8, 0x84, 0, 0, 32, 44, 192, 40, 2, -32765 + createsprite gUnknown_085957F8, 0x84, 0, 0, 16, 44, 32, 40, 0, -32765 + createsprite gUnknown_085957F8, 0x84, 0, 0, 16, 44, 96, 40, 1, -32765 + createsprite gUnknown_085957F8, 0x84, 0, 0, 16, 44, 160, 40, 0, -32765 + createsprite gUnknown_085957F8, 0x84, 0, 0, 16, 44, 224, 40, 2, -32765 + playsewithpan SE_W063, +63 + delay 0x0 + createvisualtask sub_8116620, 0xA, 1, 0, 2, 2, 0 + delay 0x6 + createvisualtask sub_8116620, 0xA, 1, 0, 6, 6, 0 + delay 0x6 + createvisualtask sub_8116620, 0xA, 1, 0, 2, 2, 0 + delay 0x6 + createvisualtask sub_8116620, 0xA, 1, 0, 6, 6, 0 + waitforvisualfinish + delay 0x14 + waitplaysewithpan SE_W085B, +63, 0x13 + call AnimScript_82D7BEA + waitforvisualfinish + delay 0x14 + createvisualtask sub_8116620, 0xA, 1, 0, 6, 0, 0 + waitforvisualfinish + end + +Move_THUNDER_WAVE: + loadspritegfx 0x2711 + loadspritegfx 0x271B + loadspritegfx 0x27BD + createvisualtask sub_8116620, 0xA, 1, 0, 0, 6, 0 + waitforvisualfinish + delay 0xA + createvisualtask sub_810A7DC, 0x5, 0, -48, 0 + playsewithpan SE_W086, +63 + delay 0x14 + loopsewithpan SE_W085B, +63, 0xA, 0x4 + createsprite gUnknown_08595840, 0x82, -16, -16 + delay 0x4 + createsprite gUnknown_08595840, 0x82, -16, 0 + delay 0x4 + createsprite gUnknown_08595840, 0x82, -16, 16 + waitforvisualfinish + createvisualtask sub_8116620, 0xA, 1, 0, 6, 0, 0 + waitforvisualfinish + end + +Move_BEAT_UP: + loadspritegfx 0x2797 + loadspritegfx 0x279F + monbg ANIM_TARGET + setalpha 0x80C + choosetwoturnanim AnimScript_82CA648, AnimScript_82CA6B9 + +AnimScript_82CA643: + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +AnimScript_82CA648: + createsprite gUnknown_08597358, 0x82, -20, -20, 1, 2 + createsprite gUnknown_08595E98, 0x83, -20, -12, 8, 1, 0 + createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + playsewithpan SE_W233B, +63 + delay 0x8 + createsprite gUnknown_08597358, 0x82, 8, 0, 1, 2 + createsprite gUnknown_08595E98, 0x83, 8, 8, 8, 1, 0 + createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + playsewithpan SE_W233B, +63 + goto AnimScript_82CA643 + +AnimScript_82CA6B9: + createsprite gUnknown_08597358, 0x82, 12, -20, 1, 2 + createsprite gUnknown_08595E98, 0x83, 12, -12, 8, 1, 0 + createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + playsewithpan SE_W233B, +63 + delay 0x8 + createsprite gUnknown_08597358, 0x82, -12, 0, 1, 2 + createsprite gUnknown_08595E98, 0x83, -12, 8, 8, 1, 0 + createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + playsewithpan SE_W233B, +63 + goto AnimScript_82CA643 + +Move_STOMP: + loadspritegfx 0x279F + loadspritegfx 0x2797 + monbg ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W104, +63 + createsprite gUnknown_08595F60, 0x3, 0, -32, 15 + delay 0x13 + createsprite gUnknown_08597358, 0x2, 0, -8, 1, 1 + createvisualtask sub_80D51AC, 0x2, 1, 0, 4, 9, 1 + playsewithpan SE_W025B, +63 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +Move_TAIL_WHIP: + loopsewithpan SE_W039, -64, 0x18, 0x3 + createvisualtask sub_80D5830, 0x2, 0, 12, 4, 2, 3 + waitforvisualfinish + end + +Move_CUT: + loadspritegfx 0x279A + monbg ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W015, +63 + createsprite gUnknown_08592A1C, 0x2, 40, -32, 0 + delay 0x5 + createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 10, 1 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + waitforvisualfinish + end + +Move_HIDDEN_POWER: + loadspritegfx 0x27E9 + playsewithpan SE_W036, -64 + createvisualtask sub_80D6064, 0x5, -7, -7, 11, 0, 0 + waitforvisualfinish + delay 0x1E + createvisualtask sub_80A7B98, 0x5, 0, RGB(31, 31, 19), 12, 5, 1 + delay 0x4 + createvisualtask sub_80D6064, 0x5, -7, -7, 11, 0, 0 + playsewithpan SE_W179, -64 + createsprite gUnknown_08593A04, 0x2, 26, 0 + createsprite gUnknown_08593A04, 0x2, 26, 42 + createsprite gUnknown_08593A04, 0x2, 26, 84 + createsprite gUnknown_08593A04, 0x2, 26, 126 + createsprite gUnknown_08593A04, 0x2, 26, 168 + createsprite gUnknown_08593A04, 0x2, 26, 210 + delay 0x34 + setarg 0x7, 0xFFFF + playsewithpan SE_W115, -64 + createvisualtask sub_80D6064, 0x5, -7, -7, 11, 0, 0 + createsprite gUnknown_08593A1C, 0x82, 0 + createsprite gUnknown_08593A1C, 0x82, 32 + createsprite gUnknown_08593A1C, 0x82, 64 + createsprite gUnknown_08593A1C, 0x82, 96 + createsprite gUnknown_08593A1C, 0x82, 128 + createsprite gUnknown_08593A1C, 0x82, 160 + createsprite gUnknown_08593A1C, 0x82, 192 + createsprite gUnknown_08593A1C, 0x82, 224 + end + +Move_REVERSAL: + loadspritegfx 0x27FC + loadspritegfx 0x279F + loadspritegfx 0x2797 + playsewithpan SE_W197, -64 + createsprite gUnknown_0859728C, 0x2, 31, 3, 3, 0x7FFF, 8, 0, 0 + waitforvisualfinish + delay 0x1E + createvisualtask sub_8115A04, 0x2, 31, 3, 2, 0, 10, 0x7FFF + delay 0xA + playsewithpan SE_W179, -64 + createsprite gUnknown_085CE5D8, 0x2, 26, 0 + createsprite gUnknown_085CE5D8, 0x2, 26, 42 + createsprite gUnknown_085CE5D8, 0x2, 26, 84 + createsprite gUnknown_085CE5D8, 0x2, 26, 126 + createsprite gUnknown_085CE5D8, 0x2, 26, 168 + createsprite gUnknown_085CE5D8, 0x2, 26, 210 + waitforvisualfinish + delay 0x14 + createsprite gUnknown_0857FE28, 0x2, 6, 4 + delay 0x8 + playsewithpan SE_W233B, +63 + createsprite gUnknown_0859728C, 0x2, 31, 3, 1, 0x7FFF, 8, 0, 0 + createsprite gUnknown_08595E98, 0x84, 0, 0, 10, 1, 0 + createsprite gUnknown_08597358, 0x83, 0, 0, 1, 1 + createvisualtask sub_80D6388, 0x5, 0, 1, 8, 1, 0 + end + +Move_PURSUIT: + loadspritegfx 0x2797 + monbg ANIM_TARGET + fadetobg BG_DARK + waitbgfadein + delay 0x0 + setalpha 0x80C + choosetwoturnanim AnimScript_82CA99F, AnimScript_82CA9C8 + +AnimScript_82CA996: + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + delay 0x0 + restorebg + waitbgfadein + end + +AnimScript_82CA99F: + playsewithpan SE_W004, +63 + createsprite gUnknown_08597358, 0x3, 0, 0, 1, 2 + createvisualtask sub_80D6388, 0x5, 0, 1, 6, 1, 0 + goto AnimScript_82CA996 + +AnimScript_82CA9C8: + playsewithpan SE_W004, +63 + createsprite gUnknown_08597358, 0x3, 0, 0, 1, 1 + createvisualtask sub_80D6388, 0x5, 0, 1, 6, 1, 0 + goto AnimScript_82CA996 + +Move_SPIKE_CANNON: + loadspritegfx 0x27B1 + loadspritegfx 0x2797 + monbg ANIM_TARGET + monbgprio_28 ANIM_TARGET + setalpha 0x80C + createvisualtask sub_80D5C50, 0x5, 0, -4, 0, 4, 6, 8, 4 + waitforvisualfinish + loopsewithpan SE_W013B, -64, 0x5, 0x3 + createsprite gUnknown_0857FE58, 0x2, 0, 0, 5 + createsprite gUnknown_08596A44, 0x2, 10, -8, -8, -8, 20 + createsprite gUnknown_08596A44, 0x2, 18, 0, 0, 0, 20 + createsprite gUnknown_08596A44, 0x2, 26, 8, 8, 8, 20 + waitforvisualfinish + createsprite gUnknown_08597370, 0x3, -8, -8, 1, 2 + createsprite gUnknown_08597370, 0x3, 0, 0, 1, 2 + createsprite gUnknown_08597370, 0x3, 8, 8, 1, 2 + createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 7, 1 + loopsewithpan SE_W030, +63, 0x5, 0x3 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +Move_SWORDS_DANCE: + loadspritegfx 0x2715 + monbg ANIM_ATTACKER + setalpha 0x80C + playsewithpan SE_W014, -64 + createvisualtask sub_80D5830, 0x2, 0, 16, 6, 1, 4 + createsprite gUnknown_08593380, 0x2, 0, 0 + delay 0x16 + createvisualtask sub_8115D94, 0x2, 10005, 2, 2, 32754, 16, 0, 0 + waitforvisualfinish + clearmonbg ANIM_ATTACKER + blendoff + delay 0x1 + end + +Move_PSYCH_UP: + loadspritegfx 0x27D4 + monbg ANIM_ATK_PARTNER + createvisualtask sub_8115B0C, 0x2, 1, 2, 6, 1, 11, 0 + setalpha 0x80C + loopsewithpan SE_W060B, -64, 0x5, 0xA + createsprite gUnknown_08596548, 0x2, 0, 0, 0, 0 + createvisualtask sub_80D5EB8, 0x5, 0, 5, 2560, 8, 0 + delay 0x7F + delay 0x4 + playsewithpan SE_W060, -64 + createvisualtask sub_80D6064, 0x5, -5, -5, 10, 0, 1 + createvisualtask sub_8116620, 0x9, 2, 2, 10, 0, 1023 + delay 0x1E + clearmonbg ANIM_ATK_PARTNER + blendoff + waitforvisualfinish + end + +Move_DIZZY_PUNCH: + loadspritegfx 0x2759 + loadspritegfx 0x279F + loadspritegfx 0x2797 + monbg ANIM_TARGET + setalpha 0x80C + call AnimScript_82CAC77 + createsprite gUnknown_08595E98, 0x85, 16, 8, 20, 1, 0 + createsprite gUnknown_08597358, 0x84, 16, 0, 1, 1 + playsewithpan SE_W004, +63 + createsprite gUnknown_08595F78, 0x83, 16, 8, 160, -32 + createsprite gUnknown_08595F78, 0x83, 16, 8, -256, -40 + createsprite gUnknown_08595F78, 0x83, 16, 8, 128, -16 + createsprite gUnknown_08595F78, 0x83, 16, 8, 416, -38 + createsprite gUnknown_08595F78, 0x83, 16, 8, -128, -22 + createsprite gUnknown_08595F78, 0x83, 16, 8, -384, -31 + delay 0xA + call AnimScript_82CAC77 + createsprite gUnknown_08595E98, 0x85, -16, -8, 20, 1, 0 + createsprite gUnknown_08597358, 0x84, -16, -16, 1, 1 + playsewithpan SE_W233B, +63 + createsprite gUnknown_08595F78, 0x83, -16, -8, 160, -32 + createsprite gUnknown_08595F78, 0x83, -16, -8, -256, -40 + createsprite gUnknown_08595F78, 0x83, -16, -8, 128, -16 + createsprite gUnknown_08595F78, 0x83, -16, -8, 416, -38 + createsprite gUnknown_08595F78, 0x83, -16, -8, -128, -22 + createsprite gUnknown_08595F78, 0x83, -16, -8, -384, -31 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +AnimScript_82CAC77: + createsprite gUnknown_0857FE28, 0x2, 6, 4 + delay 0x6 + createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 7, 1 + return + +Move_FIRE_SPIN: + loadspritegfx 0x272D + playsewithpan SE_W221B, +63 + createvisualtask sub_80D51AC, 0x5, 1, 0, 2, 47, 1 + call AnimScript_82CACBF + call AnimScript_82CACBF + call AnimScript_82CACBF + waitforvisualfinish + end + +AnimScript_82CACBF: + createsprite gUnknown_08596B88, 0x82, 0, 28, 528, 30, 13, 50, 1 + delay 0x2 + createsprite gUnknown_08596B88, 0x82, 0, 32, 480, 20, 16, -46, 1 + delay 0x2 + createsprite gUnknown_08596B88, 0x82, 0, 33, 576, 20, 8, 42, 1 + delay 0x2 + createsprite gUnknown_08596B88, 0x82, 0, 31, 400, 25, 11, -42, 1 + delay 0x2 + createsprite gUnknown_08596B88, 0x82, 0, 28, 512, 25, 16, 46, 1 + delay 0x2 + createsprite gUnknown_08596B88, 0x82, 0, 33, 464, 30, 15, -50, 1 + delay 0x2 + return + +Move_FURY_CUTTER: + loadspritegfx 0x279A + monbg ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W013, +63 + createvisualtask sub_8107144, 0x2 + jumpargeq 0x7, 0x0, AnimScript_82CADA7 + goto AnimScript_82CADB9 + +AnimScript_82CAD6A: + createvisualtask sub_8107168, 0x2 + jumpargeq 0x7, 0x1, AnimScript_82CAD8E + jumpargeq 0x7, 0x2, AnimScript_82CADCB + jumpargeq 0x7, 0x3, AnimScript_82CADE5 + goto AnimScript_82CADFF + +AnimScript_82CAD8E: + delay 0x5 + createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 10, 1 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + waitforvisualfinish + end + +AnimScript_82CADA7: + createsprite gUnknown_08592A1C, 0x2, 40, -32, 0 + goto AnimScript_82CAD6A + +AnimScript_82CADB9: + createsprite gUnknown_08592A1C, 0x2, 40, -32, 1 + goto AnimScript_82CAD6A + +AnimScript_82CADCB: + createsprite gUnknown_0859728C, 0x2, 31, 3, 1, 10505, 4, 0, 0 + goto AnimScript_82CAD8E + +AnimScript_82CADE5: + createsprite gUnknown_0859728C, 0x2, 31, 3, 3, 10505, 4, 0, 0 + goto AnimScript_82CAD8E + +AnimScript_82CADFF: + createsprite gUnknown_0859728C, 0x2, 31, 3, 3, 10505, 4, 0, 0 + goto AnimScript_82CAD8E + +Move_SELF_DESTRUCT: + loadspritegfx 0x27D6 + createvisualtask sub_8116620, 0xA, 2, 1, 0, 9, 31 + createvisualtask sub_80D52D0, 0x5, 4, 6, 0, 38, 1 + createvisualtask sub_80D52D0, 0x5, 5, 6, 0, 38, 1 + createvisualtask sub_80D52D0, 0x5, 6, 6, 0, 38, 1 + createvisualtask sub_80D52D0, 0x5, 7, 6, 0, 38, 1 + createvisualtask sub_80D52D0, 0x5, 8, 6, 0, 38, 1 + call AnimScript_82CAE9F + call AnimScript_82CAE9F + waitforvisualfinish + createvisualtask sub_8116620, 0xA, 2, 1, 9, 0, 31 + end + +AnimScript_82CAE9F: + playsewithpan SE_W120, -64 + createsprite gUnknown_0859371C, 0x3, 0, 0, 0, 1 + delay 0x6 + playsewithpan SE_W120, -64 + createsprite gUnknown_0859371C, 0x3, 24, -24, 0, 1 + delay 0x6 + playsewithpan SE_W120, -64 + createsprite gUnknown_0859371C, 0x3, -16, 16, 0, 1 + delay 0x6 + playsewithpan SE_W120, -64 + createsprite gUnknown_0859371C, 0x3, -24, -12, 0, 1 + delay 0x6 + playsewithpan SE_W120, -64 + createsprite gUnknown_0859371C, 0x3, 16, 16, 0, 1 + delay 0x6 + return + +Move_SLAM: + loadspritegfx 0x2748 + loadspritegfx 0x2797 + monbg ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W004, -64 + createsprite gUnknown_0857FE70, 0x2, 0, 20, 3, 0, 4 + delay 0x1 + createsprite gUnknown_085928D0, 0x2, 0, 0 + delay 0x3 + playsewithpan SE_W025B, +63 + createsprite gUnknown_08597358, 0x3, 0, 0, 1, 1 + createsprite gUnknown_0857FE70, 0x2, 1, -12, 10, 0, 3 + createsprite gUnknown_0857FE58, 0x2, 0, 0, 5 + delay 0x3 + createvisualtask sub_80D5484, 0x2, 1, 0, 3, 6, 1 + waitforvisualfinish + delay 0x5 + createsprite gUnknown_0857FE58, 0x2, 1, 0, 6 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +Move_VINE_WHIP: + loadspritegfx 0x282F + playsewithpan SE_W026, -64 + createsprite gUnknown_0857FE28, 0x2, 4, 6 + delay 0x6 + playsewithpan SE_W010, +63 + createsprite gUnknown_085928E8, 0x82, 0, 0 + delay 0x6 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 6, 1 + end + +Move_DRILL_PECK: + loadspritegfx 0x2797 + loadspritegfx 0x27B2 + createsprite gUnknown_08592CD8, 0x2, 0 + playsewithpan SE_W029, -64 + waitforvisualfinish + delay 0x2 + createsprite gUnknown_08592CD8, 0x2, 1 + delay 0x2 + loopsewithpan SE_W030, +63, 0x4, 0x8 + createvisualtask sub_810EB88, 0x5 + createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 18, 1 + waitforvisualfinish + createsprite gUnknown_08592CD8, 0x2, 2 + waitforvisualfinish + createsprite gUnknown_0857FE58, 0x2, 0, 0, 6 + waitforvisualfinish + end + +Move_WATERFALL: + loadspritegfx 0x27A4 + loadspritegfx 0x27AB + loadspritegfx 0x279D + monbg ANIM_DEF_PARTNER + setalpha 0x80C + createvisualtask sub_80D51AC, 0x5, 0, 0, 2, 23, 1 + delay 0x5 + playsewithpan SE_W152, -64 + createsprite gUnknown_08595238, 0x2, 10, 10, 25, 0 + delay 0x4 + playsewithpan SE_W152, -64 + createsprite gUnknown_08595238, 0x2, -15, 0, 25, 0 + delay 0x4 + playsewithpan SE_W152, -64 + createsprite gUnknown_08595238, 0x2, 20, 10, 25, 0 + delay 0x4 + playsewithpan SE_W152, -64 + createsprite gUnknown_08595238, 0x2, 0, -10, 25, 0 + delay 0x4 + playsewithpan SE_W152, -64 + createsprite gUnknown_08595238, 0x2, -10, 15, 25, 0 + delay 0x4 + playsewithpan SE_W152, -64 + createsprite gUnknown_08595238, 0x2, 25, 20, 25, 0 + delay 0x4 + playsewithpan SE_W152, -64 + createsprite gUnknown_08595238, 0x2, -20, 20, 25, 0 + delay 0x4 + playsewithpan SE_W152, -64 + createsprite gUnknown_08595238, 0x2, 12, 0, 25, 0 + waitforvisualfinish + delay 0xA + createsprite gUnknown_0857FE28, 0x2, 6, 5 + delay 0x6 + call AnimScript_82CB102 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +AnimScript_82CB102: + playsewithpan SE_W127, +63 + createvisualtask sub_80D52D0, 0x5, 1, 4, 0, 17, 1 + createsprite gUnknown_08597388, 0x3, 0, 20, 1, 1 + createsprite gUnknown_08595250, 0x4, 0, 20 + createsprite gUnknown_08595250, 0x4, 0, 20 + delay 0x2 + createsprite gUnknown_08597388, 0x3, 0, 15, 1, 1 + createsprite gUnknown_08595250, 0x4, 0, 15 + createsprite gUnknown_08595250, 0x4, 0, 15 + delay 0x2 + createsprite gUnknown_08597388, 0x3, 0, 10, 1, 1 + createsprite gUnknown_08595250, 0x4, 0, 10 + createsprite gUnknown_08595250, 0x4, 0, 10 + delay 0x2 + createsprite gUnknown_08597388, 0x3, 0, 5, 1, 1 + createsprite gUnknown_08595250, 0x4, 0, 5 + createsprite gUnknown_08595250, 0x4, 0, 5 + delay 0x2 + createsprite gUnknown_08597388, 0x3, 0, 0, 1, 1 + createsprite gUnknown_08595250, 0x4, 0, 0 + createsprite gUnknown_08595250, 0x4, 0, 0 + delay 0x2 + createsprite gUnknown_08597388, 0x3, 0, -5, 1, 1 + createsprite gUnknown_08595250, 0x4, 0, -5 + createsprite gUnknown_08595250, 0x4, 0, -5 + delay 0x2 + createsprite gUnknown_08597388, 0x3, 0, -10, 1, 1 + createsprite gUnknown_08595250, 0x4, 0, -10 + createsprite gUnknown_08595250, 0x4, 0, -10 + delay 0x2 + createsprite gUnknown_08597388, 0x3, 0, -15, 1, 1 + createsprite gUnknown_08595250, 0x4, 0, -15 + createsprite gUnknown_08595250, 0x4, 0, -15 + delay 0x2 + createsprite gUnknown_08597388, 0x3, 0, -20, 1, 1 + createsprite gUnknown_08595250, 0x4, 0, -20 + createsprite gUnknown_08595250, 0x4, 0, -20 + return + +Move_EXPLOSION: + loadspritegfx 0x27D6 + createsprite gUnknown_0859728C, 0x2, 1, 8, 9, 8474, 8, 0, 8 + createvisualtask sub_80D52D0, 0x5, 4, 8, 0, 40, 1 + createvisualtask sub_80D52D0, 0x5, 5, 8, 0, 40, 1 + createvisualtask sub_80D52D0, 0x5, 6, 8, 0, 40, 1 + createvisualtask sub_80D52D0, 0x5, 7, 8, 0, 40, 1 + createvisualtask sub_80D52D0, 0x5, 8, 8, 0, 40, 1 + call AnimScript_82CB312 + call AnimScript_82CB312 + waitforvisualfinish + createvisualtask sub_8116620, 0xA, 1, 1, 16, 16, 0x7FFF + delay 0x32 + createvisualtask sub_8116620, 0xA, 1, 3, 16, 0, 0x7FFF + end + +AnimScript_82CB312: + playsewithpan SE_W153, -64 + createsprite gUnknown_0859371C, 0x3, 0, 0, 0, 1 + delay 0x6 + playsewithpan SE_W153, -64 + createsprite gUnknown_0859371C, 0x3, 24, -24, 0, 1 + delay 0x6 + playsewithpan SE_W153, -64 + createsprite gUnknown_0859371C, 0x3, -16, 16, 0, 1 + delay 0x6 + playsewithpan SE_W153, -64 + createsprite gUnknown_0859371C, 0x3, -24, -12, 0, 1 + delay 0x6 + playsewithpan SE_W153, -64 + createsprite gUnknown_0859371C, 0x3, 16, 16, 0, 1 + delay 0x6 + return + +Move_DEFENSE_CURL: + loadspritegfx 0x27FA + loopsewithpan SE_W161, -64, 0x12, 0x3 + createvisualtask sub_811489C, 0x5, 0, 0 + createvisualtask sub_815B338, 0x5 + waitforvisualfinish + createsprite gUnknown_085CE338, 0x2, 0, 6, 0, 1 + waitforvisualfinish + createvisualtask sub_811489C, 0x5, 0, 1 + waitforvisualfinish + end + +Move_PROTECT: + loadspritegfx 0x2828 + monbg ANIM_ATK_PARTNER + monbgprio_28 ANIM_ATTACKER + waitplaysewithpan SE_W115, -64, 0x10 + createsprite gUnknown_08592ADC, 0x2, 24, 0, 90 + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + end + +Move_DETECT: + loadspritegfx 0x2757 + createsprite gUnknown_08597274, 0x2, 1, 2, 0, 9, RGB_BLACK + waitforvisualfinish + createvisualtask sub_8116620, 0xA, 2, 1, 0, 9, 0x7FFF + delay 0x12 + playsewithpan SE_W197, -64 + createsprite gUnknown_0853EE84, 0xD, 20, -20 + waitforvisualfinish + delay 0xA + createsprite gUnknown_08597274, 0x2, 1, 2, 9, 0, RGB_BLACK + createvisualtask sub_8116620, 0xA, 2, 2, 9, 0, 0x7FFF + waitforvisualfinish + end + +Move_FRUSTRATION: + loadspritegfx 0x2797 + loadspritegfx 0x2767 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + createvisualtask sub_80A8140, 0x1 + jumpargeq 0x7, 0x0, AnimScript_82CB464 + jumpargeq 0x7, 0x1, AnimScript_82CB56A + jumpargeq 0x7, 0x2, AnimScript_82CB637 + goto AnimScript_82CB6B3 + +AnimScript_82CB45F: + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +AnimScript_82CB464: + playsewithpan SE_W082, -64 + createvisualtask sub_80D52D0, 0x5, 0, 1, 0, 15, 1 + createvisualtask sub_8116620, 0xA, 2, 3, 0, 9, 31 + waitforvisualfinish + delay 0x14 + playsewithpan SE_W207B, -64 + createsprite gUnknown_0859368C, 0x2, 0, 20, -28 + waitforvisualfinish + playsewithpan SE_W207B, -64 + createsprite gUnknown_0859368C, 0x2, 0, 20, -28 + waitforvisualfinish + delay 0xA + createvisualtask sub_80D5EB8, 0x5, 0, 16, 6144, 8, 0 + delay 0x5 + createvisualtask sub_80D52D0, 0x5, 1, 4, 0, 30, 1 + createsprite gUnknown_08597358, 0x3, 0, 0, 1, 0 + playsewithpan SE_W004, +63 + delay 0x5 + createsprite gUnknown_08597358, 0x3, 24, 8, 1, 0 + playsewithpan SE_W004, +63 + delay 0x5 + createsprite gUnknown_08597358, 0x3, -24, -16, 1, 0 + playsewithpan SE_W004, +63 + delay 0x5 + createsprite gUnknown_08597358, 0x3, 8, 4, 1, 0 + playsewithpan SE_W004, +63 + delay 0x5 + createsprite gUnknown_08597358, 0x3, -16, 19, 1, 0 + playsewithpan SE_W004, +63 + delay 0x5 + createsprite gUnknown_08597358, 0x3, 18, -18, 1, 0 + playsewithpan SE_W004, +63 + waitforvisualfinish + createvisualtask sub_8116620, 0xA, 2, 3, 9, 0, 31 + goto AnimScript_82CB45F + +AnimScript_82CB56A: + playsewithpan SE_W082, -64 + createvisualtask sub_80D52D0, 0x5, 0, 1, 0, 15, 1 + createvisualtask sub_8116620, 0xA, 2, 3, 0, 9, 31 + waitforvisualfinish + delay 0x14 + playsewithpan SE_W207B, -64 + createsprite gUnknown_0859368C, 0x2, 0, 20, -28 + waitforvisualfinish + delay 0x5 + createvisualtask sub_815C3A8, 0x5 + delay 0x7 + playsewithpan SE_W004, +63 + createsprite gUnknown_08597358, 0x3, 0, 8, 1, 1 + createvisualtask sub_80D52D0, 0x5, 1, 4, 0, 6, 1 + delay 0xE + playsewithpan SE_W004, +63 + createsprite gUnknown_08597358, 0x3, 12, -6, 1, 1 + createvisualtask sub_80D52D0, 0x5, 1, 4, 0, 6, 1 + delay 0xE + playsewithpan SE_W004, +63 + createsprite gUnknown_08597358, 0x3, -12, -6, 1, 1 + createvisualtask sub_80D52D0, 0x5, 1, 4, 0, 6, 1 + waitforvisualfinish + createvisualtask sub_8116620, 0xA, 2, 3, 9, 0, 31 + goto AnimScript_82CB45F + +AnimScript_82CB637: + playsewithpan SE_W207B, -64 + createsprite gUnknown_0859368C, 0x2, 0, 20, -28 + waitforvisualfinish + delay 0x5 + createsprite gUnknown_0857FE28, 0x2, 4, 4 + delay 0x6 + playsewithpan SE_W004, +63 + createsprite gUnknown_08597358, 0x2, 10, 4, 1, 1 + createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 6, 1 + waitforvisualfinish + createsprite gUnknown_0857FE28, 0x2, 4, 4 + delay 0x6 + playsewithpan SE_W004, +63 + createsprite gUnknown_08597358, 0x2, -10, -4, 1, 2 + createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 6, 1 + goto AnimScript_82CB45F + +AnimScript_82CB6B3: + createsprite gUnknown_085CE4D0, 0x2, 20, -28 + waitforvisualfinish + delay 0xA + createsprite gUnknown_0857FE28, 0x2, 10, 2 + delay 0xC + playsewithpan SE_W004, +63 + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 + createvisualtask sub_80D52D0, 0x2, 1, 1, 0, 6, 1 + goto AnimScript_82CB45F + +Move_SAFEGUARD: + loadspritegfx 0x2804 + monbg ANIM_ATK_PARTNER + setalpha 0x808 + playsewithpan SE_W208, -64 + createsprite gUnknown_08593C64, 0x2 + delay 0x4 + createsprite gUnknown_08593C64, 0x2 + delay 0x4 + createsprite gUnknown_08593C64, 0x2 + waitforvisualfinish + playsewithpan SE_REAPOKE, -64 + createvisualtask sub_8115A04, 0x2, 10, 0, 2, 0, 10, 0x7FFF + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + blendoff + end + +Move_PAIN_SPLIT: + loadspritegfx 0x27FF + createsprite gUnknown_085CE590, 0x2, -8, -42, 0 + createsprite gUnknown_085CE590, 0x82, -8, -42, 1 + delay 0xA + playsewithpan SE_W207B, 0 + createvisualtask sub_815CA20, 0x2, 0, 0 + createvisualtask sub_815CA20, 0x2, 1, 0 + waitforvisualfinish + createsprite gUnknown_085CE590, 0x2, -24, -42, 0 + createsprite gUnknown_085CE590, 0x82, -24, -42, 1 + delay 0xA + playsewithpan SE_W207B, 0 + createvisualtask sub_815CA20, 0x2, 0, 1 + createvisualtask sub_815CA20, 0x2, 1, 1 + waitforvisualfinish + createsprite gUnknown_085CE590, 0x2, 8, -42, 0 + createsprite gUnknown_085CE590, 0x82, 8, -42, 1 + delay 0xA + playsewithpan SE_W207B, 0 + createvisualtask sub_815CA20, 0x2, 0, 2 + createvisualtask sub_815CA20, 0x2, 1, 2 + end + +Move_VICE_GRIP: + loadspritegfx 0x279A + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + playsewithpan SE_W011, +63 + createsprite gUnknown_08593590, 0x2, 0 + createsprite gUnknown_08593590, 0x2, 1 + delay 0x9 + createsprite gUnknown_08597358, 0x1, 0, 0, 1, 2 + createvisualtask sub_80D52D0, 0x5, 1, 2, 0, 5, 1 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_GUILLOTINE: + loadspritegfx 0x279A + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + fadetobgfromset BG_GUILLOTINE_OPPONENT, BG_GUILLOTINE_PLAYER, BG_GUILLOTINE_CONTESTS + waitbgfadein + playsewithpan SE_W011, +63 + createsprite gUnknown_085935D0, 0x2, 0 + createsprite gUnknown_085935D0, 0x2, 1 + createvisualtask sub_8116620, 0xA, 4, 2, 0, 16, 0 + delay 0x9 + createvisualtask sub_80D52D0, 0x5, 1, 2, 0, 23, 1 + delay 0x2E + createvisualtask sub_80D52D0, 0x5, 1, 4, 0, 8, 1 + createsprite gUnknown_08597358, 0x3, 0, 0, 1, 0 + createsprite gUnknown_0859728C, 0x2, 31, 3, 1, 0, 8, 0, 0 + playsewithpan SE_W013, +63 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + restorebg + waitbgfadein + end + +Move_PAY_DAY: + loadspritegfx 0x2774 + loadspritegfx 0x2797 + monbg ANIM_TARGET + monbgprio_28 ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W013B, -64 + createsprite gUnknown_085934D8, 0x2, 20, 0, 0, 0, 1152 + waitforvisualfinish + playsewithpan SE_W006, +63 + createsprite gUnknown_08597358, 0x1, 0, 0, 1, 2 + createsprite gUnknown_085934F0, 0x2 + createvisualtask sub_80D52D0, 0x2, 1, 1, 0, 6, 1 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +Move_OUTRAGE: + loadspritegfx 0x272D + loopsewithpan SE_W082, -64, 0x8, 0x3 + createvisualtask sub_8115A04, 0x2, 7, 2, 5, 3, 8, 430 + createvisualtask sub_80D5830, 0x2, 0, 12, 6, 5, 4 + delay 0x0 + createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, 1280, 0, 3 + delay 0x0 + createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, -1280, 0, 3 + delay 0x0 + createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, 0, 1280, 3 + delay 0x0 + createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, 0, -1280, 3 + delay 0x0 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 40, 1 + createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, 1280, 768, 3 + delay 0x0 + createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, -1280, 768, 3 + delay 0x0 + createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, 1280, -768, 3 + delay 0x0 + createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, -1280, -768, 3 + delay 0x0 + createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, 1280, 0, 3 + call AnimScript_82CBA0F + call AnimScript_82CBA0F + waitforvisualfinish + end + +AnimScript_82CBA0F: + delay 0x3 + createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, -1280, 0, 3 + delay 0x0 + createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, 0, 1280, 3 + delay 0x0 + createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, 0, -1280, 3 + delay 0x0 + createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, 1280, 768, 3 + delay 0x0 + createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, -1280, 768, 3 + delay 0x0 + createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, 1280, -768, 3 + delay 0x0 + createsprite gUnknown_08596E7C, 0x82, 0, 0, 30, -1280, -768, 3 + return + +Move_SPARK: + loadspritegfx 0x2797 + loadspritegfx 0x271B + delay 0x0 + createvisualtask sub_8115A04, 0x2, 3, -31, 1, 5, 5, 23551 + playsewithpan SE_W085B, -64 + createsprite gUnknown_0859574C, 0x0, 32, 24, 190, 12, 0, 1, 0 + delay 0x0 + createsprite gUnknown_0859574C, 0x0, 80, 24, 22, 12, 0, 1, 0 + createsprite gUnknown_0859574C, 0x0, 156, 24, 121, 13, 0, 1, 1 + delay 0x0 + createvisualtask sub_8115A04, 0x2, 3, -31, 1, 0, 0, 23551 + delay 0xA + createvisualtask sub_8115A04, 0x2, 3, -31, 1, 5, 5, 23551 + playsewithpan SE_W085B, -64 + createsprite gUnknown_0859574C, 0x0, 100, 24, 60, 10, 0, 1, 0 + createsprite gUnknown_0859574C, 0x0, 170, 24, 42, 11, 0, 1, 1 + delay 0x0 + createsprite gUnknown_0859574C, 0x0, 238, 24, 165, 10, 0, 1, 1 + delay 0x0 + createvisualtask sub_8115A04, 0x2, 3, -31, 1, 0, 0, 23551 + delay 0x14 + createvisualtask sub_8115A04, 0x2, 3, -31, 1, 7, 7, 23551 + playsewithpan SE_W085B, -64 + createsprite gUnknown_085957F8, 0x4, 0, 0, 32, 12, 0, 20, 0, 0 + createsprite gUnknown_085957F8, 0x4, 0, 0, 32, 12, 64, 20, 1, 0 + createsprite gUnknown_085957F8, 0x4, 0, 0, 32, 12, 128, 20, 0, 0 + createsprite gUnknown_085957F8, 0x4, 0, 0, 32, 12, 192, 20, 2, 0 + createsprite gUnknown_085957F8, 0x4, 0, 0, 16, 12, 32, 20, 0, 0 + createsprite gUnknown_085957F8, 0x4, 0, 0, 16, 12, 96, 20, 1, 0 + createsprite gUnknown_085957F8, 0x4, 0, 0, 16, 12, 160, 20, 0, 0 + createsprite gUnknown_085957F8, 0x4, 0, 0, 16, 12, 224, 20, 2, 0 + delay 0x4 + waitforvisualfinish + createvisualtask sub_8115A04, 0x2, 3, -31, 1, 0, 0, 23551 + createsprite gUnknown_0857FE28, 0x2, 4, 4 + delay 0x4 + playsewithpan SE_W063, +63 + createsprite gUnknown_08597358, 0x82, 0, 0, 1, 2 + createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + waitforvisualfinish + createvisualtask sub_8115A04, 0x2, 4, -31, 2, 0, 6, 23551 + call AnimScript_82D7BEA + waitforvisualfinish + end + +Move_ATTRACT: + loadspritegfx 0x27E8 + loopsewithpan SE_W204, -64, 0xC, 0x3 + createvisualtask sub_80D5EB8, 0x5, 0, 12, 4096, 4, 0 + delay 0xF + createsprite gUnknown_085939A0, 0x83, 20, -8 + waitforvisualfinish + playsewithpan SE_W213, +63 + createsprite gUnknown_085939B8, 0x83, 160, -32 + createsprite gUnknown_085939B8, 0x83, -256, -40 + createsprite gUnknown_085939B8, 0x83, 128, -16 + createsprite gUnknown_085939B8, 0x83, 416, -38 + createsprite gUnknown_085939B8, 0x83, -128, -22 + createsprite gUnknown_085939B8, 0x83, -384, -31 + waitforvisualfinish + waitplaysewithpan SE_W213B, 0, 0xF + createvisualtask sub_81062E8, 0x5 + createsprite gUnknown_085939D0, 0x28, 16, 256, 0 + createsprite gUnknown_085939D0, 0x28, 224, 240, 15 + createsprite gUnknown_085939D0, 0x28, 126, 272, 30 + createsprite gUnknown_085939D0, 0x28, 80, 224, 45 + createsprite gUnknown_085939D0, 0x28, 170, 272, 60 + createsprite gUnknown_085939D0, 0x28, 40, 256, 75 + createsprite gUnknown_085939D0, 0x28, 112, 256, 90 + createsprite gUnknown_085939D0, 0x28, 200, 272, 90 + delay 0x4B + createvisualtask sub_8115A04, 0x2, 4, 4, 4, 0, 10, 28479 + end + +Move_GROWTH: + call AnimScript_82CBDC0 + waitforvisualfinish + call AnimScript_82CBDC0 + waitforvisualfinish + end + +AnimScript_82CBDC0: + createvisualtask sub_8115A04, 0x2, 2, 0, 2, 0, 8, 0x7FFF + playsewithpan SE_W036, -64 + createvisualtask sub_80D6064, 0x5, -3, -3, 16, 0, 0 + return + +Move_WHIRLWIND: + loadspritegfx 0x27B2 + createsprite gUnknown_085963D4, 0x2, 0, -8, 1, 60, 0 + createsprite gUnknown_085963D4, 0x2, 0, 0, 1, 60, 1 + createsprite gUnknown_085963D4, 0x2, 0, 8, 1, 60, 2 + createsprite gUnknown_085963D4, 0x2, 0, 16, 1, 60, 3 + createsprite gUnknown_085963D4, 0x2, 0, 24, 1, 60, 4 + createsprite gUnknown_085963D4, 0x2, 0, 32, 1, 60, 0 + delay 0x5 + loopsewithpan SE_W104, +63, 0xA, 0x4 + createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 15, 1 + delay 0x1D + createvisualtask sub_80D5830, 0x2, 1, 12, 6, 1, 5 + delay 0x7 + playsewithpan SE_W081, +63 + createvisualtask sub_80D5DB0, 0x5, 1, 8 + waitforvisualfinish + end + +Move_CONFUSE_RAY: + loadspritegfx 0x271D + monbg ANIM_DEF_PARTNER + fadetobg BG_GHOST + waitbgfadein + createvisualtask sub_8159278, 0x2, -64, 63, 2, 0 + createvisualtask sub_8115C80, 0x2, 10013, 0, 6, 0, 14, 351 + createsprite gUnknown_08596D14, 0x82, 28, 0, 288 + waitforvisualfinish + setalpha 0x808 + playsewithpan SE_W081B, +63 + createsprite gUnknown_08596D2C, 0x82, 0, -16 + waitforvisualfinish + delay 0x0 + blendoff + clearmonbg ANIM_DEF_PARTNER + restorebg + waitbgfadein + end + +Move_LOCK_ON: + loadspritegfx 0x271E + createsprite gUnknown_08592CA0, 0x28 + createsprite gUnknown_08592CB8, 0x28, 1 + createsprite gUnknown_08592CB8, 0x28, 2 + createsprite gUnknown_08592CB8, 0x28, 3 + createsprite gUnknown_08592CB8, 0x28, 4 + delay 0x78 + setarg 0x7, 0xFFFF + waitforvisualfinish + end + +Move_MEAN_LOOK: + loadspritegfx 0x27CB + monbg ANIM_DEF_PARTNER + playsewithpan SE_W060, -64 + createsprite gUnknown_08597274, 0x2, 1, 1, 0, 16, RGB_BLACK + loopsewithpan SE_W109, +63, 0xF, 0x4 + waitplaysewithpan SE_W043, +63, 0x55 + createsprite gUnknown_085CE104, 0x2 + delay 0x78 + createsprite gUnknown_08597274, 0x2, 1, 2, 16, 0, RGB_BLACK + delay 0x1E + clearmonbg ANIM_DEF_PARTNER + waitforvisualfinish + end + +Move_ROCK_THROW: + loadspritegfx 0x274A + createsprite gUnknown_085972D8, 0x82, 6, 1, 15, 1 + createsprite gUnknown_08596B04, 0x82, 0, 1, 0, 0 + playsewithpan SE_W088, +63 + delay 0x6 + createsprite gUnknown_08596B04, 0x82, 19, 1, 10, 0 + playsewithpan SE_W088, +63 + delay 0x6 + createsprite gUnknown_08596B04, 0x82, -23, 2, -10, 0 + playsewithpan SE_W088, +63 + createvisualtask sub_80D51AC, 0x2, 1, 0, 5, 20, 1 + delay 0x6 + createsprite gUnknown_08596B04, 0x82, -15, 1, -10, 0 + playsewithpan SE_W088, +63 + delay 0x6 + createsprite gUnknown_08596B04, 0x82, 23, 2, 10, 0 + playsewithpan SE_W088, +63 + waitforvisualfinish + end + +Move_ROCK_SLIDE: + loadspritegfx 0x274A + monbg ANIM_DEF_PARTNER + createsprite gUnknown_085972D8, 0x2, 7, 1, 11, 1 + createsprite gUnknown_08596B04, 0x82, -5, 1, -5, 1 + playsewithpan SE_W088, +63 + delay 0x2 + createsprite gUnknown_08596B04, 0x82, 5, 0, 6, 1 + playsewithpan SE_W088, +63 + delay 0x2 + createsprite gUnknown_08596B04, 0x82, 19, 1, 10, 1 + playsewithpan SE_W088, +63 + delay 0x2 + createsprite gUnknown_08596B04, 0x82, -23, 2, -10, 1 + playsewithpan SE_W088, +63 + createvisualtask sub_80D51AC, 0x2, 1, 0, 5, 50, 1 + createvisualtask sub_80D51AC, 0x2, 3, 0, 5, 50, 1 + delay 0x2 + call AnimScript_82CC083 + call AnimScript_82CC083 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + end + +AnimScript_82CC083: + createsprite gUnknown_08596B04, 0x82, -20, 0, -10, 1 + playsewithpan SE_W088, +63 + delay 0x2 + createsprite gUnknown_08596B04, 0x82, 28, 1, 10, 1 + playsewithpan SE_W088, +63 + delay 0x2 + createsprite gUnknown_08596B04, 0x82, -10, 1, -5, 1 + playsewithpan SE_W088, +63 + delay 0x2 + createsprite gUnknown_08596B04, 0x82, 10, 0, 6, 1 + playsewithpan SE_W088, +63 + delay 0x2 + createsprite gUnknown_08596B04, 0x82, 24, 1, 10, 1 + playsewithpan SE_W088, +63 + delay 0x2 + createsprite gUnknown_08596B04, 0x82, -32, 2, -10, 1 + playsewithpan SE_W088, +63 + delay 0x2 + createsprite gUnknown_08596B04, 0x82, -20, 0, -10, 1 + playsewithpan SE_W088, +63 + delay 0x2 + createsprite gUnknown_08596B04, 0x82, 30, 2, 10, 1 + playsewithpan SE_W088, +63 + delay 0x2 + return + +Move_THIEF: + loadspritegfx 0x2797 + monbg ANIM_TARGET + delay 0x1 + fadetobg BG_DARK + waitbgfadein + setalpha 0x80C + createsprite gUnknown_0857FE28, 0x2, 6, 4 + delay 0x6 + playsewithpan SE_W233, +63 + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 + createvisualtask sub_80D52D0, 0x2, 1, 1, 0, 8, 1 + waitforvisualfinish + delay 0x14 + clearmonbg ANIM_TARGET + blendoff + restorebg + waitbgfadein + end + +Move_BUBBLE_BEAM: + loadspritegfx 0x27A2 + loadspritegfx 0x27AB + monbg ANIM_TARGET + monbgprio_28 ANIM_TARGET + setalpha 0x80C + delay 0x1 + call AnimScript_82CC1AD + createvisualtask sub_80D5EB8, 0x5, 0, 3, 3072, 8, 1 + call AnimScript_82CC1AD + call AnimScript_82CC1AD + waitforvisualfinish + call AnimScript_82D7AE2 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +AnimScript_82CC1AD: + createsprite gUnknown_08595068, 0x2, 18, 0, 35, 70, 0, 256, 50 + playsewithpan SE_W145, -64 + delay 0x3 + createsprite gUnknown_08595068, 0x2, 18, 0, 20, 40, -10, 256, 50 + playsewithpan SE_W145, -64 + delay 0x3 + createsprite gUnknown_08595068, 0x2, 18, 0, 10, -60, 0, 256, 50 + playsewithpan SE_W145, -64 + delay 0x3 + createsprite gUnknown_08595068, 0x2, 18, 0, 15, -15, 10, 256, 50 + playsewithpan SE_W145, -64 + delay 0x3 + createsprite gUnknown_08595068, 0x2, 18, 0, 30, 10, -10, 256, 50 + playsewithpan SE_W145, -64 + delay 0x3 + createsprite gUnknown_08595068, 0x2, 18, 0, 25, -30, 10, 256, 50 + playsewithpan SE_W145, -64 + delay 0x3 + return + +Move_ICY_WIND: + loadspritegfx 0x279D + loadspritegfx 0x279E + monbg ANIM_DEF_PARTNER + createvisualtask sub_8116620, 0xA, 11, 4, 0, 4, 0 + fadetobg BG_ICE + waitbgfadeout + playsewithpan SE_W196, 0 + waitbgfadein + waitforvisualfinish + panse_1B SE_W016, -64, +63, +2, 0x0 + call AnimScript_82CC2A8 + delay 0x5 + call AnimScript_82CC2A8 + playsewithpan SE_W016B, +63 + delay 0x37 + call AnimScript_82D78F8 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + restorebg + waitbgfadeout + createvisualtask sub_8116620, 0xA, 11, 4, 4, 0, 0 + waitbgfadein + end + +AnimScript_82CC2A8: + createsprite gUnknown_08595B98, 0xA8, 0, 0, 0, 0, 72, 1 + delay 0x5 + createsprite gUnknown_08595B98, 0xA8, 0, 10, 0, 10, 72, 1 + delay 0x5 + createsprite gUnknown_08595B98, 0xA8, 0, -10, 0, -10, 72, 1 + delay 0x5 + createsprite gUnknown_08595B98, 0xA8, 0, 15, 0, 15, 72, 1 + delay 0x5 + createsprite gUnknown_08595B98, 0xA8, 0, -5, 0, -5, 72, 1 + return + +Move_SMOKESCREEN: + loadspritegfx 0x2720 + loadspritegfx 0x2721 + playsewithpan SE_W104, -64 + createsprite gUnknown_085CE050, 0x82, 20, 0, 0, 0, 35, -25 + waitforvisualfinish + createvisualtask sub_815A160, 0x2 + delay 0x2 + playsewithpan SE_W028, +63 + createsprite gUnknown_085CE038, 0x84, 0, -12, 104, 0, 75 + createsprite gUnknown_085CE038, 0x84, 0, -12, 72, 1, 75 + createsprite gUnknown_085CE038, 0x84, 0, -6, 56, 1, 75 + createsprite gUnknown_085CE038, 0x84, 0, -6, 88, 0, 75 + createsprite gUnknown_085CE038, 0x84, 0, 0, 56, 0, 75 + createsprite gUnknown_085CE038, 0x84, 0, 0, 88, 1, 75 + createsprite gUnknown_085CE038, 0x84, 0, 6, 72, 0, 75 + createsprite gUnknown_085CE038, 0x84, 0, 6, 104, 1, 75 + createsprite gUnknown_085CE038, 0x84, 0, 12, 72, 0, 75 + createsprite gUnknown_085CE038, 0x84, 0, 12, 56, 1, 75 + createsprite gUnknown_085CE038, 0x84, 0, 18, 80, 0, 75 + createsprite gUnknown_085CE038, 0x84, 0, 18, 72, 1, 75 + waitforvisualfinish + end + +Move_CONVERSION: + loadspritegfx 0x2722 + monbg ANIM_ATK_PARTNER + monbgprio_28 ANIM_ATTACKER + setalpha 0x10 + delay 0x0 + playsewithpan SE_W129, -64 + createsprite gUnknown_08592E74, 0x2, -24, -24 + delay 0x3 + createsprite gUnknown_08592E74, 0x2, -8, -24 + delay 0x3 + createsprite gUnknown_08592E74, 0x2, 8, -24 + delay 0x3 + createsprite gUnknown_08592E74, 0x2, 24, -24 + delay 0x3 + playsewithpan SE_W129, -64 + createsprite gUnknown_08592E74, 0x2, -24, -8 + delay 0x3 + createsprite gUnknown_08592E74, 0x2, -8, -8 + delay 0x3 + createsprite gUnknown_08592E74, 0x2, 8, -8 + delay 0x3 + createsprite gUnknown_08592E74, 0x2, 24, -8 + delay 0x3 + playsewithpan SE_W129, -64 + createsprite gUnknown_08592E74, 0x2, -24, 8 + delay 0x3 + createsprite gUnknown_08592E74, 0x2, -8, 8 + delay 0x3 + createsprite gUnknown_08592E74, 0x2, 8, 8 + delay 0x3 + createsprite gUnknown_08592E74, 0x2, 24, 8 + delay 0x3 + playsewithpan SE_W129, -64 + createsprite gUnknown_08592E74, 0x2, -24, 24 + delay 0x3 + createsprite gUnknown_08592E74, 0x2, -8, 24 + delay 0x3 + createsprite gUnknown_08592E74, 0x2, 8, 24 + delay 0x3 + createsprite gUnknown_08592E74, 0x2, 24, 24 + delay 0x14 + playsewithpan SE_W112, -64 + createvisualtask sub_8115D94, 0x2, 10018, 1, 1, 14335, 12, 0, 0 + delay 0x6 + createvisualtask sub_81022D4, 0x5 + waitforvisualfinish + delay 0x1 + clearmonbg ANIM_ATK_PARTNER + blendoff + end + +Move_CONVERSION_2: + loadspritegfx 0x2722 + monbg ANIM_DEF_PARTNER + monbgprio_2A ANIM_TARGET + setalpha 0x1000 + delay 0x0 + playsewithpan SE_W112, +63 + createsprite gUnknown_08592EA4, 0x2, -24, -24, 60 + createsprite gUnknown_08592EA4, 0x2, -8, -24, 65 + createsprite gUnknown_08592EA4, 0x2, 8, -24, 70 + createsprite gUnknown_08592EA4, 0x2, 24, -24, 75 + createsprite gUnknown_08592EA4, 0x2, -24, -8, 80 + createsprite gUnknown_08592EA4, 0x2, -8, -8, 85 + createsprite gUnknown_08592EA4, 0x2, 8, -8, 90 + createsprite gUnknown_08592EA4, 0x2, 24, -8, 95 + createsprite gUnknown_08592EA4, 0x2, -24, 8, 100 + createsprite gUnknown_08592EA4, 0x2, -8, 8, 105 + createsprite gUnknown_08592EA4, 0x2, 8, 8, 110 + createsprite gUnknown_08592EA4, 0x2, 24, 8, 115 + createsprite gUnknown_08592EA4, 0x2, -24, 24, 120 + createsprite gUnknown_08592EA4, 0x2, -8, 24, 125 + createsprite gUnknown_08592EA4, 0x2, 8, 24, 130 + createsprite gUnknown_08592EA4, 0x2, 24, 24, 135 + createvisualtask sub_81023E0, 0x5 + delay 0x3C + playsewithpan SE_W129, +63 + delay 0xA + playsewithpan SE_W129, +63 + delay 0xA + playsewithpan SE_W129, +63 + delay 0xA + playsewithpan SE_W129, +63 + delay 0xA + playsewithpan SE_W129, +63 + delay 0xA + playsewithpan SE_W129, +63 + delay 0xA + playsewithpan SE_W129, +63 + delay 0xA + playsewithpan SE_W129, +63 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_ROLLING_KICK: + loadspritegfx 0x279F + loadspritegfx 0x2797 + monbg ANIM_TARGET + setalpha 0x80C + createvisualtask sub_80D5830, 0x2, 0, 18, 6, 1, 4 + playsewithpan SE_W104, -64 + delay 0x6 + playsewithpan SE_W104, -64 + waitforvisualfinish + createsprite gUnknown_0857FE70, 0x2, 0, 20, 0, 0, 4 + createsprite gUnknown_08595EE0, 0x2, -24, 0, 48, 10, 160, 0 + delay 0x5 + playsewithpan SE_W233B, +63 + createsprite gUnknown_08597358, 0x2, -8, 0, 1, 2 + createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 6, 1 + waitforvisualfinish + createsprite gUnknown_0857FE58, 0x2, 0, 1, 8 + clearmonbg ANIM_TARGET + blendoff + end + +Move_HEADBUTT: + loadspritegfx 0x2797 + createsprite gUnknown_08592CD8, 0x2, 0 + playsewithpan SE_W029, -64 + waitforvisualfinish + delay 0x2 + createsprite gUnknown_08592CD8, 0x2, 1 + waitforvisualfinish + createvisualtask sub_80D5484, 0x2, 0, 2, 0, 4, 1 + createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 6, 1 + createsprite gUnknown_08592CD8, 0x2, 2 + createsprite gUnknown_085973E8, 0x83, 0, 0, 1, 1 + playsewithpan SE_W233B, +63 + waitforvisualfinish + end + +Move_HORN_ATTACK: + loadspritegfx 0x2797 + loadspritegfx 0x2724 + createsprite gUnknown_08592CD8, 0x2, 0 + playsewithpan SE_W029, -64 + waitforvisualfinish + delay 0x2 + createsprite gUnknown_08592CD8, 0x2, 1 + createsprite gUnknown_08592F44, 0x84, 0, 0, 10 + waitforvisualfinish + createvisualtask sub_80D5484, 0x2, 0, 2, 0, 4, 1 + createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 6, 1 + createsprite gUnknown_08592CD8, 0x2, 2 + createsprite gUnknown_085973E8, 0x83, 0, 0, 1, 1 + playsewithpan SE_W030, +63 + waitforvisualfinish + end + +Move_FURY_ATTACK: + loadspritegfx 0x2797 + loadspritegfx 0x2724 + createvisualtask sub_80D6134, 0x2, 4, 256, 0, 2 + choosetwoturnanim AnimScript_82CC7B8, AnimScript_82CC7DE + +AnimScript_82CC7A5: + createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 6, 1 + waitforvisualfinish + end + +AnimScript_82CC7B8: + createsprite gUnknown_08592F44, 0x84, 8, 8, 10 + waitforvisualfinish + createsprite gUnknown_085973E8, 0x83, 0, 0, 1, 1 + playsewithpan SE_W030, +63 + goto AnimScript_82CC7A5 + +AnimScript_82CC7DE: + createsprite gUnknown_08592F44, 0x84, -8, -8, 10 + waitforvisualfinish + createsprite gUnknown_085973E8, 0x83, 0, 0, 1, 1 + playsewithpan SE_W030, +63 + goto AnimScript_82CC7A5 + +Move_HORN_DRILL: + loadspritegfx 0x2797 + loadspritegfx 0x2724 + jumpifcontest AnimScript_82CC96A + fadetobg BG_DRILL + waitbgfadeout + createvisualtask sub_8117660, 0x5, -2304, 768, 1, -1 + +AnimScript_82CC821: + waitbgfadein + setalpha 0x80C + createsprite gUnknown_08592CD8, 0x2, 0 + playsewithpan SE_W029, -64 + waitforvisualfinish + delay 0x2 + createsprite gUnknown_08592CD8, 0x2, 1 + createsprite gUnknown_08592F44, 0x84, 0, 0, 12 + waitforvisualfinish + playse SE_BAN + createvisualtask sub_80D5484, 0x2, 0, 2, 0, 40, 1 + createvisualtask sub_80D5484, 0x2, 1, 10, 0, 40, 1 + createsprite gUnknown_085973E8, 0x83, 0, 0, 1, 3 + playsewithpan SE_W030, +63 + delay 0x4 + createsprite gUnknown_085973E8, 0x83, 0, 2, 1, 3 + playsewithpan SE_W030, +63 + delay 0x4 + createsprite gUnknown_085973E8, 0x83, -4, 3, 1, 3 + playsewithpan SE_W030, +63 + delay 0x4 + createsprite gUnknown_085973E8, 0x83, -8, -5, 1, 3 + playsewithpan SE_W030, +63 + delay 0x4 + createsprite gUnknown_085973E8, 0x83, 4, -12, 1, 3 + playsewithpan SE_W030, +63 + delay 0x4 + createsprite gUnknown_085973E8, 0x83, 16, 0, 1, 3 + playsewithpan SE_W030, +63 + delay 0x4 + createsprite gUnknown_085973E8, 0x83, 5, 18, 1, 3 + playsewithpan SE_W030, +63 + delay 0x4 + createsprite gUnknown_085973E8, 0x83, -17, 12, 1, 2 + playsewithpan SE_W030, +63 + delay 0x4 + createsprite gUnknown_085973E8, 0x83, -21, -15, 1, 2 + playsewithpan SE_W030, +63 + delay 0x4 + createsprite gUnknown_085973E8, 0x83, 8, -27, 1, 2 + playsewithpan SE_W030, +63 + delay 0x4 + createsprite gUnknown_085973E8, 0x83, 32, 0, 1, 2 + playsewithpan SE_W030, +63 + delay 0x4 + createsprite gUnknown_08592CD8, 0x2, 2 + waitforvisualfinish + restorebg + waitbgfadeout + setarg 0x7, 0xFFFF + waitbgfadein + end + +AnimScript_82CC96A: + fadetobg BG_DRILL_CONTESTS + waitbgfadeout + createvisualtask sub_8117660, 0x5, 2304, 768, 0, -1 + goto AnimScript_82CC821 + +Move_THRASH: + loadspritegfx 0x2797 + loadspritegfx 0x279F + createvisualtask sub_8104C38, 0x2 + createvisualtask sub_8104CA4, 0x2 + createsprite gUnknown_08595EB0, 0x83, 1, 10, 0 + createvisualtask sub_80D5484, 0x2, 1, 4, 0, 7, 1 + playsewithpan SE_W004, +63 + delay 0x1C + createsprite gUnknown_08595EB0, 0x83, 1, 10, 1 + createvisualtask sub_80D5484, 0x2, 1, 4, 0, 7, 1 + playsewithpan SE_W233B, +63 + delay 0x1C + createsprite gUnknown_08595EB0, 0x83, 1, 10, 3 + createvisualtask sub_80D5484, 0x2, 1, 8, 0, 16, 1 + playsewithpan SE_W025B, +63 + end + +Move_SING: + loadspritegfx 0x2758 + monbg ANIM_DEF_PARTNER + createvisualtask sub_8102BE8, 0x2 + waitforvisualfinish + panse_1B SE_W047, -64, +63, +2, 0x0 + createsprite gUnknown_08593008, 0x82, 7, 0, 12 + delay 0x5 + createsprite gUnknown_08593008, 0x82, 6, 1, 12 + delay 0x5 + createsprite gUnknown_08593008, 0x82, 1, 2, 12 + delay 0x5 + createsprite gUnknown_08593008, 0x82, 2, 3, 12 + delay 0x5 + createsprite gUnknown_08593008, 0x82, 3, 0, 12 + delay 0x4 + createsprite gUnknown_08593008, 0x82, 2, 1, 12 + delay 0x4 + createsprite gUnknown_08593008, 0x82, 5, 2, 12 + delay 0x4 + createsprite gUnknown_08593008, 0x82, 6, 3, 12 + delay 0x4 + createsprite gUnknown_08593008, 0x82, 2, 0, 12 + delay 0x4 + createsprite gUnknown_08593008, 0x82, 2, 1, 12 + delay 0x4 + createsprite gUnknown_08593008, 0x82, 1, 2, 12 + delay 0x4 + createsprite gUnknown_08593008, 0x82, 5, 3, 12 + delay 0x4 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + createvisualtask sub_8102CA0, 0x2 + waitforvisualfinish + end + +Move_LOW_KICK: + loadspritegfx 0x279F + loadspritegfx 0x2797 + createsprite gUnknown_0857FE70, 0x2, 0, 20, 0, 0, 4 + createsprite gUnknown_08595EE0, 0x82, -24, 28, 40, 8, 160, 0 + delay 0x4 + createsprite gUnknown_08597358, 0x82, -8, 8, 1, 2 + createvisualtask sub_80D6134, 0x2, 6, 384, 1, 2 + playsewithpan SE_W233B, +63 + waitforvisualfinish + createsprite gUnknown_0857FE58, 0x2, 0, 1, 4 + end + +Move_EARTHQUAKE: + createvisualtask sub_81152DC, 0x5, 5, 10, 50 + createvisualtask sub_81152DC, 0x5, 4, 10, 50 + playsewithpan SE_W089, 0 + delay 0xA + createsprite gUnknown_0859728C, 0x2, 1, 3, 1, 0, 14, 0x7FFF, 14 + delay 0x10 + createsprite gUnknown_0859728C, 0x2, 1, 3, 1, 0, 14, 0x7FFF, 14 + end + +Move_FISSURE: + loadspritegfx 0x275A + createvisualtask sub_81152DC, 0x3, 5, 10, 50 + createvisualtask sub_81152DC, 0x3, 1, 10, 50 + playsewithpan SE_W089, +63 + delay 0x8 + call AnimScript_82CCBFF + delay 0xF + createsprite gUnknown_0859728C, 0x2, 1, 3, 1, 0, 14, 0x7FFF, 14 + delay 0xF + call AnimScript_82CCC50 + delay 0xF + createsprite gUnknown_0859728C, 0x2, 1, 3, 1, 0, 14, 0x7FFF, 14 + delay 0xF + call AnimScript_82CCBFF + delay 0x32 + fadetobg BG_FISSURE + waitbgfadeout + createvisualtask sub_8115628, 0x5, 1, 5, -1 + waitbgfadein + delay 0x28 + restorebg + waitbgfadeout + setarg 0x7, 0xFFFF + waitbgfadein + end + +AnimScript_82CCBFF: + createsprite gUnknown_085971FC, 0x82, 1, 0, 12, -48, -16, 24 + createsprite gUnknown_085971FC, 0x82, 1, 0, 16, -16, -10, 24 + createsprite gUnknown_085971FC, 0x82, 1, 1, 14, -52, -18, 24 + createsprite gUnknown_085971FC, 0x82, 1, 1, 12, -32, -16, 24 + playsewithpan SE_W091, +63 + return + +AnimScript_82CCC50: + createsprite gUnknown_085971FC, 0x82, 1, 0, 12, -24, -16, 24 + createsprite gUnknown_085971FC, 0x82, 1, 0, 16, -38, -10, 24 + createsprite gUnknown_085971FC, 0x82, 1, 1, 14, -20, -18, 24 + createsprite gUnknown_085971FC, 0x82, 1, 1, 12, -36, -16, 24 + playsewithpan SE_W091, +63 + return + +Move_DIG: + choosetwoturnanim AnimScript_82CCCAB, AnimScript_82CCD06 + +AnimScript_82CCCAA: + end + +AnimScript_82CCCAB: + loadspritegfx 0x275A + loadspritegfx 0x2829 + createsprite gUnknown_08597214, 0x1, 0, 0, 180 + createsprite gUnknown_08597214, 0x1, 0, 1, 180 + monbg_22 ANIM_ATTACKER + delay 0x1 + createvisualtask sub_8114CBC, 0x2, 0 + delay 0x6 + call AnimScript_82CCD6A + call AnimScript_82CCD6A + call AnimScript_82CCD6A + call AnimScript_82CCD6A + call AnimScript_82CCD6A + waitforvisualfinish + clearmonbg_23 ANIM_ATTACKER + delay 0x1 + createvisualtask sub_8114CBC, 0x2, 1 + goto AnimScript_82CCCAA + +AnimScript_82CCD06: + loadspritegfx 0x2797 + loadspritegfx 0x2829 + createvisualtask sub_8114F14, 0x2, 0 + waitforvisualfinish + monbg ANIM_ATTACKER + createsprite gUnknown_08597214, 0x1, 0, 0, 48 + createsprite gUnknown_08597214, 0x1, 0, 1, 48 + delay 0x1 + createvisualtask sub_8114F14, 0x2, 1 + delay 0x10 + createsprite gUnknown_08597358, 0x2, -8, 0, 1, 2 + createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 6, 1 + playsewithpan SE_W025B, -64 + clearmonbg ANIM_ATTACKER + goto AnimScript_82CCCAA + +AnimScript_82CCD6A: + createsprite gUnknown_085971FC, 0x2, 0, 0, 12, 4, -16, 18 + createsprite gUnknown_085971FC, 0x2, 0, 0, 16, 4, -10, 18 + createsprite gUnknown_085971FC, 0x2, 0, 1, 14, 4, -18, 18 + createsprite gUnknown_085971FC, 0x2, 0, 1, 12, 4, -16, 18 + playsewithpan SE_W091, -64 + delay 0x20 + return + +Move_MEDITATE: + call AnimScript_82D7CD1 + createvisualtask sub_810F7D4, 0x2 + playsewithpan SE_W029, -64 + delay 0x10 + playsewithpan SE_W036, -64 + waitforvisualfinish + call AnimScript_82D7CDD + end + +Move_AGILITY: + monbg ANIM_ATK_PARTNER + setalpha 0x80C + createvisualtask sub_80D5830, 0x2, 0, 24, 6, 4, 4 + createvisualtask sub_81169C0, 0x2, 0, 4, 7, 10 + playsewithpan SE_W104, -64 + delay 0xC + playsewithpan SE_W104, -64 + delay 0xC + playsewithpan SE_W104, -64 + delay 0xC + playsewithpan SE_W104, -64 + delay 0xC + playsewithpan SE_W104, -64 + delay 0xC + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + blendoff + delay 0x1 + end + +Move_QUICK_ATTACK: + loadspritegfx 0x2797 + monbg ANIM_ATK_PARTNER + setalpha 0x80C + createvisualtask sub_80D5830, 0x2, 0, 24, 6, 1, 5 + createvisualtask sub_81169C0, 0x2, 0, 4, 7, 3 + playsewithpan SE_W026, -64 + delay 0x4 + createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 6, 1 + createsprite gUnknown_08597358, 0x84, 0, 0, 1, 1 + playsewithpan SE_W233B, +63 + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + blendoff + waitforvisualfinish + end + +Move_RAGE: + loadspritegfx 0x2797 + loadspritegfx 0x2767 + monbg ANIM_TARGET + setalpha 0x80C + createvisualtask sub_80A7B98, 0x3, 0, RGB_RED, 10, 0, 2 + createsprite gUnknown_0859368C, 0x2, 0, -20, -28 + playsewithpan SE_W207B, -64 + delay 0x14 + createsprite gUnknown_0859368C, 0x2, 0, 20, -28 + playsewithpan SE_W207B, -64 + waitforvisualfinish + createsprite gUnknown_0857FE28, 0x2, 4, 6 + delay 0x4 + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 + createvisualtask sub_80D6388, 0x2, 1, 1, 10, 1, 0 + playsewithpan SE_W233B, +63 + waitforvisualfinish + clearmonbg ANIM_TARGET + end + +Move_TELEPORT: + call AnimScript_82D7CD1 + createvisualtask sub_810F83C, 0x2 + playsewithpan SE_W100, -64 + delay 0xF + call AnimScript_82D7CDD + waitforvisualfinish + end + +Move_DOUBLE_TEAM: + createvisualtask sub_81029B4, 0x2 + setalpha 0x80C + monbg ANIM_ATK_PARTNER + playsewithpan SE_W104, -64 + delay 0x20 + playsewithpan SE_W104, -64 + delay 0x18 + playsewithpan SE_W104, -64 + delay 0x10 + playsewithpan SE_W104, -64 + delay 0x8 + playsewithpan SE_W104, -64 + delay 0x8 + playsewithpan SE_W104, -64 + delay 0x8 + playsewithpan SE_W104, -64 + delay 0x8 + playsewithpan SE_W104, -64 + delay 0x8 + playsewithpan SE_W104, -64 + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + blendoff + delay 0x1 + end + +Move_MINIMIZE: + setalpha 0x80A + createvisualtask sub_8104674, 0x2 + loopsewithpan SE_W107, -64, 0x22, 0x3 + waitforvisualfinish + blendoff + end + +Move_METRONOME: + loadspritegfx 0x2750 + loadspritegfx 0x27E1 + createsprite gUnknown_08593114, 0xB, 0, 100 + playsewithpan SE_W118, -64 + delay 0x6 + createsprite gUnknown_085931BC, 0xC, 0 + delay 0x18 + loopsewithpan SE_W039, -64, 0x16, 0x3 + waitforvisualfinish + end + +Move_SKULL_BASH: + choosetwoturnanim AnimScript_82CCF99, AnimScript_82CCFE6 + +AnimScript_82CCF98: + end + +AnimScript_82CCF99: + call AnimScript_82CCFA9 + call AnimScript_82CCFA9 + waitforvisualfinish + goto AnimScript_82CCF98 + +AnimScript_82CCFA9: + createsprite gUnknown_0857FE88, 0x2, 0, -24, 0, 0, 10, 0 + playsewithpan SE_W036, -64 + waitforvisualfinish + createvisualtask sub_80D6134, 0x2, 16, 96, 0, 2 + waitforvisualfinish + createsprite gUnknown_0857FE88, 0x2, 0, 24, 0, 0, 10, 1 + waitforvisualfinish + return + +AnimScript_82CCFE6: + loadspritegfx 0x2797 + createvisualtask sub_8101C94, 0x2, 0 + playsewithpan SE_W036, -64 + waitforvisualfinish + playse SE_BAN + createsprite gUnknown_0859728C, 0x2, 1, 3, 1, 0, 14, 0x7FFF, 14 + createvisualtask sub_80D5484, 0x2, 0, 2, 0, 40, 1 + createvisualtask sub_80D5484, 0x2, 1, 10, 0, 40, 1 + createsprite gUnknown_085973E8, 0x84, 0, 0, 1, 0 + loopsewithpan SE_W025B, +63, 0x8, 0x3 + waitforvisualfinish + createvisualtask sub_8101C94, 0x2, 1 + goto AnimScript_82CCF98 + +Move_AMNESIA: + loadspritegfx 0x276D + call AnimScript_82D7CD1 + delay 0x8 + createsprite gUnknown_08596744, 0x14 + playsewithpan SE_W118, -64 + delay 0x36 + loopsewithpan SE_W118, -64, 0x10, 0x3 + waitforvisualfinish + call AnimScript_82D7CDD + end + +Move_KINESIS: + loadspritegfx 0x275B + loadspritegfx 0x2771 + playsewithpan SE_W060, -64 + call AnimScript_82D7CD1 + createsprite gUnknown_085966DC, 0x14 + createsprite gUnknown_08593344, 0x13, 32, -8, 0 + createsprite gUnknown_08593344, 0x13, 32, 16, 1 + loopsewithpan SE_W109, -64, 0x15, 0x2 + delay 0x3C + playsewithpan SE_W146, -64 + delay 0x1E + loopsewithpan SE_W146, -64, 0x14, 0x2 + delay 0x46 + playsewithpan SE_W207B, -64 + waitforvisualfinish + call AnimScript_82D7CDD + end + +Move_GLARE: + loadspritegfx 0x2808 + loadspritegfx 0x27EA + createvisualtask sub_815E114, 0x5, 0 + playsewithpan SE_W060B, -64 + waitforvisualfinish + createvisualtask sub_8116620, 0x5, 1, 0, 0, 16, 0 + waitforvisualfinish + createsprite gUnknown_08593A84, 0x0, -16, -8 + createsprite gUnknown_08593A84, 0x0, 16, -8 + createvisualtask sub_81064F8, 0x5 + playsewithpan SE_W043, -64 + delay 0x2 + createvisualtask sub_810A094, 0x3, 20, 1, 0 + waitforvisualfinish + createvisualtask sub_8116620, 0x5, 1, 0, 16, 0, 0 + end + +Move_BARRAGE: + loadspritegfx 0x280E + createvisualtask sub_815E47C, 0x3 + playsewithpan SE_W207, -64 + delay 0x18 + createsprite gUnknown_085972D8, 0x2, 8, 1, 40, 1 + createvisualtask sub_80D51AC, 0x3, 1, 0, 4, 20, 1 + createvisualtask sub_80D51AC, 0x3, 3, 0, 4, 20, 1 + loopsewithpan SE_W070, +63, 0x8, 0x2 + end + +Move_SKY_ATTACK: + choosetwoturnanim AnimScript_82CD185, AnimScript_82CD28E + +AnimScript_82CD184: + end + +AnimScript_82CD185: + monbg ANIM_DEF_PARTNER + setalpha 0xB0C + createvisualtask sub_81177AC, 0x5, 7 + jumpargeq 0x7, 0x0, AnimScript_82CD1A0 + goto AnimScript_82CD217 + +AnimScript_82CD1A0: + createvisualtask sub_8116620, 0xA, 27, 1, 0, 12, 0 + waitforvisualfinish + delay 0xC + createvisualtask sub_8116620, 0xA, 2, 1, 8, 0, 0 + createvisualtask sub_81152DC, 0x5, 0, 2, 16 + loopsewithpan SE_W287, -64, 0x4, 0x8 + createvisualtask sub_8116620, 0xA, 2, 1, 0, 15, 0x7FFF + delay 0x14 + createvisualtask sub_8116620, 0xA, 2, 1, 15, 0, 0x7FFF + waitforvisualfinish + createvisualtask sub_8116620, 0xA, 25, 1, 8, 0, 0 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + goto AnimScript_82CD184 + +AnimScript_82CD217: + createvisualtask sub_8116664, 0xA, 1, 1, 0, 12, 0 + waitforvisualfinish + delay 0xC + createvisualtask sub_8116620, 0xA, 2, 1, 8, 0, 0 + createvisualtask sub_81152DC, 0x5, 0, 2, 16 + playsewithpan SE_W287, -64 + delay 0x8 + createvisualtask sub_8116620, 0xA, 2, 1, 0, 15, 0x7FFF + delay 0x14 + createvisualtask sub_8116620, 0xA, 2, 1, 15, 0, 0x7FFF + waitforvisualfinish + createvisualtask sub_8116664, 0xA, 4, 1, 8, 0, 0 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + goto AnimScript_82CD184 + +AnimScript_82CD28E: + loadspritegfx 0x2797 + loadspritegfx 0x282C + call AnimScript_82D7CE5 + monbg ANIM_ATTACKER + createvisualtask sub_8116620, 0xA, 2, 0, 0, 16, 0x7FFF + delay 0x4 + createvisualtask sub_81136E8, 0x5, 0 + waitforvisualfinish + createvisualtask sub_8159244, 0x5, 238, -64 + createsprite gUnknown_08596514, 0x82 + delay 0xE + createvisualtask sub_80D52D0, 0x2, 1, 10, 0, 18, 1 + createvisualtask sub_8159210, 0x5, 141, 63 + delay 0x14 + createvisualtask sub_81137E4, 0x5, 1 + delay 0x2 + createvisualtask sub_8116620, 0xA, 2, 0, 15, 0, 0x7FFF + waitforvisualfinish + clearmonbg ANIM_ATTACKER + call AnimScript_82D7D15 + goto AnimScript_82CD184 + +Move_FLASH: + playsewithpan SE_W043, -64 + createvisualtask sub_8117494, 0x2 + waitforvisualfinish + end + +Move_SPLASH: + createvisualtask sub_8104938, 0x2, 0, 3 + delay 0x8 + loopsewithpan SE_W039, -64, 0x26, 0x3 + waitforvisualfinish + end + +Move_ACID_ARMOR: + monbg ANIM_ATTACKER + setalpha 0xF + createvisualtask sub_815D240, 0x2, 0 + playsewithpan SE_W151, -64 + waitforvisualfinish + blendoff + clearmonbg ANIM_ATTACKER + delay 0x1 + end + +Move_SHARPEN: + loadspritegfx 0x27C9 + createsprite gUnknown_08592DE4, 0x2 + waitforvisualfinish + end + +Move_SUPER_FANG: + loadspritegfx 0x27D0 + createvisualtask sub_80D5484, 0x2, 0, 1, 0, 20, 1 + playsewithpan SE_W082, -64 + waitforvisualfinish + createvisualtask sub_80D5484, 0x2, 0, 3, 0, 48, 1 + createvisualtask sub_80A7B98, 0x2, 0, RGB(31, 6, 1), 12, 4, 1 + waitforvisualfinish + delay 0x14 + createsprite gUnknown_0857FE28, 0x2, 4, 4 + delay 0x4 + createsprite gUnknown_08592F74, 0x82 + playsewithpan SE_W044, +63 + delay 0x8 + createsprite gUnknown_0859728C, 0x2, 1, 3, 1, 2143, 14, 0x7FFF, 14 + createvisualtask sub_80D51AC, 0x2, 1, 0, 7, 12, 1 + waitforvisualfinish + blendoff + end + +Move_SLASH: + loadspritegfx 0x27C7 + createsprite gUnknown_08592D2C, 0x82, 1, -8, 0 + playsewithpan SE_W013, +63 + delay 0x4 + createsprite gUnknown_08592D2C, 0x82, 1, 8, 0 + createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 18, 1 + playsewithpan SE_W013, +63 + waitforvisualfinish + end + +Move_STRUGGLE: + loadspritegfx 0x2797 + loadspritegfx 0x27E7 + monbg ANIM_TARGET + setalpha 0x80C + createvisualtask sub_80D5484, 0x2, 0, 3, 0, 12, 4 + createsprite gUnknown_08593B80, 0x2, 0, 0, 2 + createsprite gUnknown_08593B80, 0x2, 0, 1, 2 + loopsewithpan SE_W029, -64, 0xC, 0x4 + waitforvisualfinish + createsprite gUnknown_08597358, 0x3, 0, 0, 1, 2 + createvisualtask sub_80D5484, 0x2, 1, 3, 0, 6, 1 + playsewithpan SE_W025B, +63 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +Move_SKETCH: + loadspritegfx 0x2712 + monbg ANIM_TARGET + createvisualtask sub_8104E74, 0x2 + createsprite gUnknown_085936D4, 0x82 + waitforvisualfinish + clearmonbg ANIM_TARGET + createvisualtask sub_8104938, 0x2, 0, 2 + loopsewithpan SE_W039, -64, 0x26, 0x2 + end + +Move_NIGHTMARE: + fadetobg BG_GHOST + waitbgfadein + jumpifcontest AnimScript_82CD4CF + monbg ANIM_DEF_PARTNER + createvisualtask sub_8111C50, 0x2 + createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 40, 1 + playsewithpan SE_W171, +63 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + restorebg + waitbgfadein + end + +AnimScript_82CD4CF: + createvisualtask sub_80A7B98, 0x2, 0, RGB_WHITE, 10, 2, 1 + createvisualtask sub_80D51AC, 0x2, 0, 3, 0, 32, 1 + playsewithpan SE_W171, +63 + waitforvisualfinish + restorebg + waitbgfadein + end + +Move_FLAIL: + loadspritegfx 0x2797 + monbg ANIM_TARGET + setalpha 0x80C + createvisualtask sub_815C770, 0x2, 0 + loopsewithpan SE_W029, -64, 0x8, 0x2 + waitforvisualfinish + createsprite gUnknown_085973A0, 0x83, 1, 3 + createvisualtask sub_80D6388, 0x2, 0, 1, 30, 1, 0 + playsewithpan SE_W025B, +63 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +Move_SPITE: + fadetobg BG_GHOST + playsewithpan SE_W060, -64 + waitbgfadein + monbg ANIM_DEF_PARTNER + createvisualtask sub_8115A04, 0x2, 2, 2, 6, 0, 8, 0x7FFF + createvisualtask sub_8111E50, 0x2 + loopsewithpan SE_W060, +63, 0x14, 0x3 + waitforvisualfinish + restorebg + waitbgfadein + clearmonbg ANIM_TARGET + end + +Move_MACH_PUNCH: + loadspritegfx 0x2797 + loadspritegfx 0x279F + monbg ANIM_ATK_PARTNER + createvisualtask sub_8117754, 0x2 + jumpargeq 0x7, 0x1, AnimScript_82CD5E6 + fadetobg BG_HIGHSPEED_OPPONENT + +AnimScript_82CD57E: + waitbgfadeout + createvisualtask sub_8117660, 0x5, -2304, 0, 1, -1 + waitbgfadein + delay 0x0 + setalpha 0x809 + createvisualtask sub_80A8BC4, 0x2, 28968, 10 + playsewithpan SE_W026, -64 + delay 0x6 + createsprite gUnknown_08597358, 0x83, 0, 0, 1, 1 + createsprite gUnknown_08595E98, 0x84, 0, 0, 8, 1, 0 + playsewithpan SE_W004, +63 + createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + blendoff + restorebg + waitbgfadeout + setarg 0x7, 0xFFFF + waitbgfadein + end + +AnimScript_82CD5E6: + fadetobg BG_HIGHSPEED_PLAYER + goto AnimScript_82CD57E + +Move_FORESIGHT: + loadspritegfx 0x2812 + monbg ANIM_DEF_PARTNER + monbgprio_28 ANIM_TARGET + setalpha 0x10 + createsprite gUnknown_085CE8C4, 0x82, 1 + delay 0x11 + loopsewithpan SE_W166, +63, 0x10, 0x4 + delay 0x30 + delay 0x18 + playsewithpan SE_W166, +63 + delay 0xA + createvisualtask sub_80A7B98, 0x5, 1, RGB_WHITE, 12, 2, 1 + playsewithpan SE_W197, +63 + waitforvisualfinish + blendoff + clearmonbg ANIM_DEF_PARTNER + end + +Move_DESTINY_BOND: + loadspritegfx 0x27CC + fadetobg BG_GHOST + playsewithpan SE_W060, -64 + waitbgfadein + createvisualtask sub_81123C4, 0x5, 0, 48 + playsewithpan SE_W109, -64 + delay 0x30 + createvisualtask sub_80D5484, 0x2, 0, 2, 0, 24, 1 + createvisualtask sub_8116664, 0x2, 6, 1, 0, 12, 30653 + delay 0x18 + createvisualtask sub_8116664, 0x2, 6, 1, 12, 0, 30653 + playsewithpan SE_W171, +63 + waitforvisualfinish + restorebg + waitbgfadein + blendoff + clearmonbg 5 + end + +Move_ENDURE: + loadspritegfx 0x27C8 + playsewithpan SE_W082, -64 + call AnimScript_82CD6C7 + delay 0x8 + createvisualtask sub_8115A04, 0x2, 2, 2, 2, 0, 11, 31 + createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 32, 1 + call AnimScript_82CD6C7 + delay 0x8 + call AnimScript_82CD6C7 + waitforvisualfinish + end + +AnimScript_82CD6C7: + createsprite gUnknown_08592D8C, 0x2, 0, -24, 26, 2 + delay 0x4 + createsprite gUnknown_08592D8C, 0x2, 0, 14, 28, 1 + delay 0x4 + createsprite gUnknown_08592D8C, 0x2, 0, -5, 10, 2 + delay 0x4 + createsprite gUnknown_08592D8C, 0x2, 0, 28, 26, 3 + delay 0x4 + createsprite gUnknown_08592D8C, 0x2, 0, -12, 0, 1 + return + +Move_CHARM: + loadspritegfx 0x27E2 + createvisualtask sub_815C478, 0x5, 0, 2, 0 + createsprite gUnknown_08593970, 0x3, 0, 20 + playsewithpan SE_W204, -64 + delay 0xF + createsprite gUnknown_08593970, 0x3, -20, 20 + playsewithpan SE_W204, -64 + delay 0xF + createsprite gUnknown_08593970, 0x3, 20, 20 + playsewithpan SE_W204, -64 + waitforvisualfinish + end + +Move_ROLLOUT: + loadspritegfx 0x2797 + loadspritegfx 0x275A + loadspritegfx 0x274A + monbg ANIM_DEF_PARTNER + monbgprio_28 ANIM_TARGET + setalpha 0x80C + createvisualtask sub_8110F74, 0x2 + waitforvisualfinish + createvisualtask sub_80D6388, 0x2, 0, 1, 30, 1, 0 + createsprite gUnknown_08597358, 0x4, 0, 0, 1, 2 + playsewithpan SE_W025B, +63 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_FALSE_SWIPE: + loadspritegfx 0x282E + loadspritegfx 0x2797 + createsprite gUnknown_08592D44, 0x82 + playsewithpan SE_W233, +63 + delay 0x10 + createsprite gUnknown_08592D5C, 0x82, 0 + playsewithpan SE_W104, +63 + delay 0x2 + createsprite gUnknown_08592D5C, 0x82, 16 + delay 0x2 + createsprite gUnknown_08592D5C, 0x82, 32 + playsewithpan SE_W104, +63 + delay 0x2 + createsprite gUnknown_08592D5C, 0x82, 48 + delay 0x2 + createsprite gUnknown_08592D5C, 0x82, 64 + playsewithpan SE_W104, +63 + delay 0x2 + createsprite gUnknown_08592D5C, 0x82, 80 + delay 0x2 + waitforvisualfinish + createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 6, 1 + createsprite gUnknown_08597358, 0x84, 0, 0, 1, 3 + playsewithpan SE_W004, +63 + end + +Move_SWAGGER: + loadspritegfx 0x2766 + loadspritegfx 0x2767 + createvisualtask sub_8104AB4, 0x2 + playsewithpan SE_W207, -64 + waitforvisualfinish + createsprite gUnknown_08593658, 0x2 + loopsewithpan SE_W207, -64, 0x4, 0x2 + waitforvisualfinish + delay 0x18 + createsprite gUnknown_0859368C, 0x82, 1, -20, -28 + playsewithpan SE_W207B, +63 + delay 0xC + createsprite gUnknown_0859368C, 0x82, 1, 20, -28 + playsewithpan SE_W207B, +63 + waitforvisualfinish + end + +Move_MILK_DRINK: + loadspritegfx 0x2773 + loadspritegfx 0x27DB + loadspritegfx 0x272F + monbg ANIM_TARGET + createsprite gUnknown_08592B3C, 0x2 + delay 0x28 + playsewithpan SE_W152, -64 + delay 0xC + playsewithpan SE_W152, -64 + delay 0x14 + playsewithpan SE_W152, -64 + waitforvisualfinish + createsprite gUnknown_0859381C, 0x3, 0, 0, 1, 0 + playsewithpan SE_W208, -64 + waitforvisualfinish + clearmonbg ANIM_TARGET + call AnimScript_82D7A28 + waitforvisualfinish + end + +Move_MAGNITUDE: + createvisualtask sub_8115600, 0x2 + waitforvisualfinish + jumpargeq 0xF, 0x0, AnimScript_82CD8C9 + jumpargeq 0xF, 0x1, AnimScript_82CD8EE + +AnimScript_82CD8C8: + end + +AnimScript_82CD8C9: + createvisualtask sub_81152DC, 0x5, 5, 0, 50 + createvisualtask sub_81152DC, 0x5, 4, 0, 50 + loopsewithpan SE_W070, +63, 0x8, 0xA + goto AnimScript_82CD8C8 + +AnimScript_82CD8EE: + createvisualtask sub_81152DC, 0x5, 5, 0, 50 + createvisualtask sub_81152DC, 0x5, 4, 0, 50 + loopsewithpan SE_W070, +63, 0x8, 0xA + delay 0xA + createsprite gUnknown_0859728C, 0x2, 1, 3, 1, 0, 14, 0x7FFF, 14 + delay 0x10 + createsprite gUnknown_0859728C, 0x2, 1, 3, 1, 0, 14, 0x7FFF, 14 + goto AnimScript_82CD8C8 + +Move_RAPID_SPIN: + loadspritegfx 0x2797 + loadspritegfx 0x27F5 + monbg ANIM_ATTACKER + createsprite gUnknown_085CE288, 0x2, 0, 0, 32, -32, 40, -2 + createvisualtask sub_815ADB0, 0x2, 0, 2, 0 + loopsewithpan SE_W013B, -64, 0x8, 0x4 + waitforvisualfinish + createsprite gUnknown_08597358, 0x82, 0, 0, 1, 2 + createvisualtask sub_80D6388, 0x2, 0, 1, 10, 1, 0 + playsewithpan SE_W003, +63 + waitforvisualfinish + delay 0x8 + createvisualtask sub_815ADB0, 0x2, 0, 2, 1 + loopsewithpan SE_W013B, -64, 0x8, 0x4 + waitforvisualfinish + clearmonbg ANIM_ATTACKER + end + +Move_MOONLIGHT: + loadspritegfx 0x27D2 + loadspritegfx 0x27D3 + loadspritegfx 0x272F + setalpha 0x1000 + createsprite gUnknown_08597274, 0x2, 1, 1, 0, 16, RGB_BLACK + waitforvisualfinish + createsprite gUnknown_08592EBC, 0x2, 120, 56 + createvisualtask sub_80A7A74, 0x3, 0, 16, 16, 0, 1 + playsewithpan SE_W236, 0 + delay 0x1E + createsprite gUnknown_08592EEC, 0x28, -12, 0 + delay 0x1E + createsprite gUnknown_08592EEC, 0x28, -24, 0 + delay 0x1E + createsprite gUnknown_08592EEC, 0x28, 21, 0 + delay 0x1E + createsprite gUnknown_08592EEC, 0x28, 0, 0 + delay 0x1E + createsprite gUnknown_08592EEC, 0x28, 10, 0 + delay 0x14 + createvisualtask sub_81025C0, 0x2 + waitforvisualfinish + call AnimScript_82D79DF + waitforvisualfinish + end + +Move_EXTREME_SPEED: + loadspritegfx 0x27DF + loadspritegfx 0x2797 + createvisualtask sub_8117754, 0x2 + jumpargeq 0x7, 0x1, AnimScript_82CDAF5 + fadetobg BG_HIGHSPEED_OPPONENT + +AnimScript_82CDA55: + waitbgfadeout + createvisualtask sub_8117660, 0x5, -2304, 0, 1, -1 + waitbgfadein + createvisualtask sub_810577C, 0x2 + loopsewithpan SE_W013B, -64, 0x8, 0x3 + waitforvisualfinish + delay 0x1 + createvisualtask sub_8117F60, 0x2 + monbg ANIM_TARGET + setalpha 0x80C + delay 0x12 + createvisualtask sub_8105810, 0x2 + delay 0x2 + playsewithpan SE_W004, +63 + createsprite gUnknown_085973B8, 0x82, 1, 0, -12, 3 + delay 0xA + playsewithpan SE_W004, +63 + createsprite gUnknown_085973B8, 0x82, 1, 0, 12, 3 + delay 0xA + playsewithpan SE_W233B, +63 + createsprite gUnknown_085973B8, 0x82, 1, 0, 0, 3 + waitforvisualfinish + createvisualtask sub_8105AAC, 0x2 + delay 0xA + createvisualtask sub_810599C, 0x2 + loopsewithpan SE_W104, -64, 0x8, 0x4 + waitforvisualfinish + restorebg + waitbgfadeout + setarg 0x7, 0xFFFF + waitbgfadein + clearmonbg ANIM_TARGET + blendoff + delay 0x1 + setarg 0x7, 0x1000 + delay 0x1 + end + +AnimScript_82CDAF5: + fadetobg BG_HIGHSPEED_PLAYER + goto AnimScript_82CDA55 + +Move_UPROAR: + loadspritegfx 0x27F1 + loadspritegfx 0x27DB + monbg ANIM_DEF_PARTNER + createvisualtask sub_8106D90, 0x2, 0 + createsprite gUnknown_08593898, 0x3, 0, 0, 0, 0, 31, 8 + playsewithpan SE_W253, -64 + createsprite gUnknown_08593BB8, 0x2, 0, 29, -12, 0 + createsprite gUnknown_08593BB8, 0x2, 0, -12, -29, 1 + delay 0x10 + createvisualtask sub_8106D90, 0x2, 0 + createsprite gUnknown_08593898, 0x3, 0, 0, 0, 0, 31, 8 + playsewithpan SE_W253, -64 + createsprite gUnknown_08593BB8, 0x2, 0, 12, -29, 1 + createsprite gUnknown_08593BB8, 0x2, 0, -29, -12, 0 + delay 0x10 + createvisualtask sub_8106D90, 0x2, 0 + createsprite gUnknown_08593898, 0x3, 0, 0, 0, 0, 31, 8 + playsewithpan SE_W253, -64 + createsprite gUnknown_08593BB8, 0x2, 0, 24, -24, 1 + createsprite gUnknown_08593BB8, 0x2, 0, -24, -24, 0 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + end + +Move_HEAT_WAVE: + loadspritegfx 0x2815 + createvisualtask sub_8116848, 0x5, 10261, 0, 6, 6, RGB_RED + createvisualtask sub_8110BCC, 0x5, 1 + createvisualtask sub_810A060, 0x6, 6, 31 + panse_1B SE_W257, -64, +63, +2, 0x0 + delay 0x4 + createvisualtask sub_8109DBC, 0x5 + delay 0xC + createsprite gUnknown_08596BA0, 0x28, 10, 2304, 96, 1 + delay 0xA + createsprite gUnknown_08596BA0, 0x28, 90, 2048, 96, 1 + delay 0xA + createsprite gUnknown_08596BA0, 0x28, 50, 2560, 96, 1 + delay 0xA + createsprite gUnknown_08596BA0, 0x28, 20, 2304, 96, 1 + delay 0xA + createsprite gUnknown_08596BA0, 0x28, 70, 1984, 96, 1 + delay 0xA + createsprite gUnknown_08596BA0, 0x28, 0, 2816, 96, 1 + delay 0xA + createsprite gUnknown_08596BA0, 0x28, 60, 2560, 96, 1 + end + +Move_HAIL: + loadspritegfx 0x2817 + loadspritegfx 0x279D + createvisualtask sub_8116620, 0xA, 1, 3, 0, 6, 0 + waitforvisualfinish + createvisualtask sub_810C918, 0x5 + loopsewithpan SE_W258, 0, 0x8, 0xA + waitforvisualfinish + createvisualtask sub_8116620, 0xA, 1, 3, 6, 0, 0 + end + +Move_TORMENT: + loadspritegfx 0x2767 + loadspritegfx 0x27E1 + createvisualtask sub_815AFF0, 0x2 + waitforvisualfinish + createvisualtask sub_80A7B98, 0x2, 1, RGB_RED, 10, 1, 1 + createsprite gUnknown_0859368C, 0x82, 1, -20, -28 + playsewithpan SE_W207B, +63 + delay 0x14 + createsprite gUnknown_0859368C, 0x82, 1, 20, -28 + playsewithpan SE_W207B, +63 + end + +Move_MEMENTO: + setalpha 0x1000 + delay 0x1 + createvisualtask sub_81143C0, 0x2 + delay 0x1 + createvisualtask sub_8113BAC, 0x5 + playsewithpan SE_W060, -64 + delay 0x30 + playsewithpan SE_W060B, -64 + waitforvisualfinish + createvisualtask sub_8114470, 0x2 + delay 0xC + setalpha 0x1000 + delay 0x1 + monbg_22 ANIM_TARGET + createvisualtask sub_8113E78, 0x5 + playsewithpan SE_W060, +63 + waitforvisualfinish + clearmonbg_23 ANIM_TARGET + delay 0x1 + blendoff + delay 0x1 + end + +Move_FACADE: + loadspritegfx 0x2803 + createvisualtask sub_815DCA4, 0x2, 0, 3 + createvisualtask sub_815DF0C, 0x2, 0, 72 + loopsewithpan SE_W207, -64, 0x18, 0x3 + end + +Move_SMELLING_SALT: + loadspritegfx 0x2807 + loadspritegfx 0x280F + createsprite gUnknown_085CE864, 0x82, 1, 0, 2 + createsprite gUnknown_085CE864, 0x82, 1, 1, 2 + delay 0x20 + createvisualtask sub_815E840, 0x3, 1, 2 + loopsewithpan SE_W003, +63, 0xC, 0x2 + waitforvisualfinish + delay 0x4 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 6, 2 + createsprite gUnknown_085CE894, 0x82, 1, 8, 3 + loopsewithpan SE_W207B, +63, 0x10, 0x3 + end + +Move_FOLLOW_ME: + loadspritegfx 0x2750 + createsprite gUnknown_085931D4, 0x2, 0 + playsewithpan SE_W039, -64 + delay 0x12 + playsewithpan SE_W213, -64 + delay 0x47 + loopsewithpan SE_W039, -64, 0x16, 0x3 + end + +Move_CHARGE: + loadspritegfx 0x27E3 + loadspritegfx 0x27E4 + loadspritegfx 0x27E5 + monbg ANIM_ATTACKER + setalpha 0x80C + createsprite gUnknown_08597274, 0x2, 1, 2, 0, 4, RGB_BLACK + waitforvisualfinish + createvisualtask sub_810AAFC, 0x2, 0, 60, 2, 12 + playsewithpan SE_W268, -64 + delay 0x1E + playsewithpan SE_W268, -64 + delay 0x1E + playsewithpan SE_W268, -64 + createsprite gUnknown_0859595C, 0x2, 0 + delay 0x19 + playsewithpan SE_W268, -64 + delay 0x14 + playsewithpan SE_W268, -64 + delay 0xF + playsewithpan SE_W268, -64 + delay 0xA + delay 0x6 + loopsewithpan SE_W268, -64, 0x6, 0x5 + waitforvisualfinish + createsprite gUnknown_0859598C, 0x2, 0, 16, 16 + delay 0x2 + createsprite gUnknown_0859598C, 0x2, 0, -16, -16 + playsewithpan SE_W085B, -64 + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 4, 4, 0, RGB_BLACK + clearmonbg ANIM_ATTACKER + blendoff + end + +Move_TAUNT: + loadspritegfx 0x27E6 + loadspritegfx 0x27E1 + loadspritegfx 0x2767 + createsprite gUnknown_08593114, 0xB, 0, 45 + playsewithpan SE_W118, -64 + delay 0x6 + createsprite gUnknown_0859324C, 0xC, 0 + delay 0x4 + loopsewithpan SE_W039, -64, 0x10, 0x2 + waitforvisualfinish + delay 0x8 + createsprite gUnknown_0859368C, 0x82, 1, -20, -28 + playsewithpan SE_W207B, +63 + waitforvisualfinish + delay 0xC + createsprite gUnknown_0859368C, 0x82, 1, 20, -28 + playsewithpan SE_W207B, +63 + end + +Move_HELPING_HAND: + loadspritegfx 0x2807 + createvisualtask sub_815EC48, 0x5 + createsprite gUnknown_085CE8AC, 0x28, 0 + createsprite gUnknown_085CE8AC, 0x28, 1 + delay 0x13 + playsewithpan SE_W227, 0 + createvisualtask sub_80D52D0, 0x2, 2, 2, 0, 5, 1 + delay 0xE + playsewithpan SE_W227, 0 + createvisualtask sub_80D52D0, 0x2, 2, 2, 0, 5, 1 + delay 0x14 + playsewithpan SE_W227, 0 + createvisualtask sub_80D52D0, 0x2, 2, 3, 0, 10, 1 + createvisualtask sub_80A7B98, 0x2, 2, RGB_YELLOW, 12, 1, 1 + end + +Move_ASSIST: + loadspritegfx 0x280C + createsprite gUnknown_085CE804, 0x32, 112, -16, 140, 128, 36 + delay 0x2 + createsprite gUnknown_085CE804, 0x32, 208, 128, -16, 48, 36 + playsewithpan SE_W010, 0 + delay 0x2 + createsprite gUnknown_085CE804, 0x32, -16, 112, 256, -16, 36 + playsewithpan SE_W010, 0 + delay 0x2 + createsprite gUnknown_085CE804, 0x32, 108, 128, 84, -16, 36 + playsewithpan SE_W010, 0 + delay 0x2 + createsprite gUnknown_085CE804, 0x32, -16, 56, 256, 56, 36 + playsewithpan SE_W010, 0 + end + +Move_SUPERPOWER: + loadspritegfx 0x27E4 + loadspritegfx 0x2810 + loadspritegfx 0x2811 + monbg ANIM_ATK_PARTNER + monbgprio_28 ANIM_ATTACKER + setalpha 0x80C + createsprite gUnknown_08595FEC, 0x82, 0 + playsewithpan SE_W025, -64 + delay 0x14 + createsprite gUnknown_085972D8, 0x2, 4, 1, 180, 1 + createvisualtask sub_8159244, 0x5, 234, 0 + delay 0x28 + createsprite gUnknown_08596004, 0x29, 200, 96, 1, 120 + delay 0x8 + createsprite gUnknown_08596004, 0x29, 20, 248, 4, 112 + delay 0x8 + createsprite gUnknown_08596004, 0x29, 130, 160, 2, 104 + delay 0x8 + createsprite gUnknown_08596004, 0x29, 160, 192, 0, 96 + delay 0x8 + createsprite gUnknown_08596004, 0x29, 60, 288, 3, 88 + delay 0x4A + createsprite gUnknown_0859601C, 0x83, 0 + playsewithpan SE_W207, -64 + delay 0x10 + createvisualtask sub_80D52D0, 0x2, 1, 8, 0, 16, 1 + playsewithpan SE_W025B, +63 + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + blendoff + delay 0x1 + end + +Move_RECYCLE: + loadspritegfx 0x2826 + monbg ANIM_ATTACKER + setalpha 0x1000 + delay 0x1 + createsprite gUnknown_085CE9B0, 0x2 + loopsewithpan SE_W036, -64, 0x18, 0x3 + waitforvisualfinish + createvisualtask sub_80A7B98, 0x5, 0, RGB_WHITE, 12, 2, 1 + playsewithpan SE_W036, -64 + waitforvisualfinish + blendoff + clearmonbg ANIM_ATTACKER + delay 0x1 + end + +Move_BRICK_BREAK: + loadspritegfx 0x27B7 + loadspritegfx 0x2797 + loadspritegfx 0x279F + loadspritegfx 0x27E0 + choosetwoturnanim AnimScript_82CE0A7, AnimScript_82CE154 + +AnimScript_82CE0A7: + monbg ANIM_TARGET + setalpha 0x80C + createsprite gUnknown_0857FE28, 0x2, 3, 8 + delay 0x4 + delay 0x1 + createsprite gUnknown_08597358, 0x3, -18, -18, 1, 1 + playsewithpan SE_W233, +63 + delay 0x14 + createsprite gUnknown_0857FE28, 0x2, 3, 8 + delay 0x5 + createsprite gUnknown_08597358, 0x3, 18, 18, 1, 1 + playsewithpan SE_W233, +63 + delay 0x14 + createvisualtask sub_80D5C50, 0x2, 0, -24, 0, 24, 10, 24, 3 + createsprite gUnknown_08597274, 0x2, 1, 2, 0, 6, RGB_BLACK + delay 0x25 + createsprite gUnknown_08597358, 0x3, 0, 0, 1, 1 + createsprite gUnknown_08595E98, 0x4, 0, 0, 10, 1, 0 + playsewithpan SE_W233B, +63 + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 2, 6, 0, RGB_BLACK + waitforvisualfinish + clearmonbg ANIM_TARGET + end + +AnimScript_82CE154: + monbg ANIM_TARGET + setalpha 0x80C + createsprite gUnknown_0857FE28, 0x2, 3, 8 + delay 0x4 + createsprite gUnknown_08595F90, 0x3, 1, 0, 0, 90, 10 + delay 0x1 + createsprite gUnknown_08597358, 0x3, -18, -18, 1, 1 + playsewithpan SE_W233, +63 + delay 0x14 + createsprite gUnknown_0857FE28, 0x2, 3, 8 + delay 0x5 + createsprite gUnknown_08597358, 0x3, 18, 18, 1, 1 + playsewithpan SE_W233, +63 + delay 0x14 + createvisualtask sub_80D5C50, 0x2, 0, -24, 0, 24, 10, 24, 3 + createsprite gUnknown_08597274, 0x2, 1, 2, 0, 6, RGB_BLACK + delay 0x25 + createsprite gUnknown_08597358, 0x3, 0, 0, 1, 1 + createsprite gUnknown_08595E98, 0x4, 0, 0, 10, 1, 0 + playsewithpan SE_W233B, +63 + waitforvisualfinish + createsprite gUnknown_08595FA8, 0x2, 1, 0, -8, -12 + createsprite gUnknown_08595FA8, 0x2, 1, 1, 8, -12 + createsprite gUnknown_08595FA8, 0x2, 1, 2, -8, 12 + createsprite gUnknown_08595FA8, 0x2, 1, 3, 8, 12 + playsewithpan SE_W280, +63 + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 2, 6, 0, RGB_BLACK + waitforvisualfinish + clearmonbg ANIM_TARGET + end + +Move_YAWN: + loadspritegfx 0x2802 + createvisualtask sub_815D64C, 0x2, 0 + playsewithpan SE_W281, -64 + waitforvisualfinish + createsprite gUnknown_085CE68C, 0x85, 2 + playsewithpan SE_W255, -64 + delay 0x4 + createsprite gUnknown_085CE68C, 0x85, 1 + delay 0x4 + createsprite gUnknown_085CE68C, 0x85, 0 + waitforvisualfinish + createvisualtask sub_815D64C, 0x2, 1 + playsewithpan SE_W281, +63 + end + +Move_ENDEAVOR: + loadspritegfx 0x2803 + loadspritegfx 0x2797 + createvisualtask sub_815DCA4, 0x2, 0, 2 + loopsewithpan SE_W039, -64, 0x18, 0x2 + createvisualtask sub_80A7B98, 0x5, 0, RGB(31, 21, 0), 12, 1, 2 + delay 0x6 + createvisualtask sub_80D6388, 0x5, 0, 1, 8, 1, 0 + createsprite gUnknown_08597358, 0x82, 12, -12, 1, 2 + playsewithpan SE_W003, +63 + delay 0x18 + createvisualtask sub_80D6388, 0x5, 0, 1, 8, 1, 0 + createsprite gUnknown_08597358, 0x82, -12, 12, 1, 2 + playsewithpan SE_W004, +63 + end + +Move_ERUPTION: + loadspritegfx 0x27D9 + createsprite gUnknown_08597274, 0x2, 31, 2, 0, 4, RGB_RED + waitforvisualfinish + createvisualtask sub_8109460, 0x2 + waitplaysewithpan SE_W153, -64, 0x3C + waitforvisualfinish + createvisualtask sub_8109460, 0x2 + waitplaysewithpan SE_W153, -64, 0x3C + waitforvisualfinish + delay 0x1E + createsprite gUnknown_085955E8, 0x28, 200, -32, 0, 100, 0 + createsprite gUnknown_085955E8, 0x28, 30, -32, 16, 90, 1 + createsprite gUnknown_085955E8, 0x28, 150, -32, 32, 60, 2 + createsprite gUnknown_085955E8, 0x28, 90, -32, 48, 80, 3 + createsprite gUnknown_085955E8, 0x28, 110, -32, 64, 50, 0 + createsprite gUnknown_085955E8, 0x28, 60, -32, 80, 70, 1 + delay 0x16 + createvisualtask sub_81152DC, 0x5, 5, 8, 60 + createvisualtask sub_81152DC, 0x5, 4, 8, 60 + loopsewithpan SE_W088, +63, 0x10, 0xC + delay 0x50 + createsprite gUnknown_08597274, 0x28, 31, 4, 4, 0, RGB_RED + end + +Move_SKILL_SWAP: + loadspritegfx 0x280B + call AnimScript_82D7CD1 + createvisualtask sub_810FBF0, 0x3, 1 + createvisualtask sub_80A7B98, 0x5, 1, RGB_WHITE, 12, 3, 1 + loopsewithpan SE_W179, -64, 0x18, 0x3 + delay 0x10 + createvisualtask sub_810FBF0, 0x3, 0 + createvisualtask sub_80A7B98, 0x5, 0, RGB_WHITE, 12, 3, 1 + waitforvisualfinish + call AnimScript_82D7CDD + end + +Move_IMPRISON: + loadspritegfx 0x2809 + loadspritegfx 0x280A + call AnimScript_82D7CD1 + monbg ANIM_DEF_PARTNER + createvisualtask sub_810F940, 0x5 + delay 0x8 + loopsewithpan SE_W030, -64, 0x8, 0x5 + waitforvisualfinish + delay 0x4 + createsprite gUnknown_085967AC, 0x5, 0, 40 + createvisualtask sub_81152DC, 0x5, 4, 1, 10 + playsewithpan SE_W063, -64 + clearmonbg ANIM_DEF_PARTNER + call AnimScript_82D7CDD + end + +Move_GRUDGE: + loadspritegfx 0x280D + monbg ANIM_ATTACKER + monbgprio_29 + fadetobg BG_GHOST + playsewithpan SE_W060, -64 + waitbgfadein + createvisualtask sub_8112C6C, 0x3 + loopsewithpan SE_W052, -64, 0x10, 0x4 + delay 0xA + delay 0x50 + playsewithpan SE_W171, +63 + waitforvisualfinish + restorebg + waitbgfadein + clearmonbg ANIM_ATTACKER + end + +Move_CAMOUFLAGE: + monbg ANIM_ATK_PARTNER + monbgprio_28 ANIM_ATTACKER + setalpha 0x10 + createvisualtask sub_811675C, 0x5, 2, 3, 0, 14 + delay 0x10 + createvisualtask sub_81136E8, 0x2, 4 + playsewithpan SE_W185, -64 + waitforvisualfinish + delay 0x8 + createvisualtask sub_811675C, 0x5, 2, 0, 0, 0 + waitforvisualfinish + createvisualtask sub_81137E4, 0x2, 1 + waitforvisualfinish + blendoff + clearmonbg ANIM_ATK_PARTNER + end + +Move_TAIL_GLOW: + loadspritegfx 0x27E4 + monbg ANIM_ATTACKER + setalpha 0x80C + createsprite gUnknown_08597274, 0x2, 1, 2, 0, 4, RGB_BLACK + waitforvisualfinish + createsprite gUnknown_08596AC8, 0x42, 0 + delay 0x12 + loopsewithpan SE_W234, -64, 0x10, 0x6 + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 4, 4, 0, RGB_BLACK + clearmonbg ANIM_ATTACKER + blendoff + delay 0x1 + end + +Move_LUSTER_PURGE: + loadspritegfx 0x281B + loadspritegfx 0x2797 + fadetobg BG_PSYCHIC + waitbgfadeout + createvisualtask sub_815A5C8, 0x5 + waitbgfadein + monbg ANIM_ATTACKER + setalpha 0x80C + playsewithpan SE_W076, -64 + createsprite gUnknown_08596898, 0x29, 0, 0, 0, 0 + delay 0x14 + createvisualtask sub_8116664, 0x5, 5, 2, 0, 16, -1 + createvisualtask sub_8116848, 0x5, 10267, 2, 0, 16, -1 + waitforvisualfinish + createvisualtask sub_8116848, 0x5, 10135, 0, 12, 12, 23552 + waitforvisualfinish + createsprite gUnknown_085973A0, 0x83, 1, 2 + createvisualtask sub_8159210, 0x5, 215, 63 + delay 0x3 + createsprite gUnknown_085973A0, 0x83, 1, 2 + createvisualtask sub_8159210, 0x5, 215, 63 + delay 0x3 + createsprite gUnknown_085973A0, 0x83, 1, 2 + createvisualtask sub_8159210, 0x5, 215, 63 + delay 0x3 + createsprite gUnknown_085973A0, 0x83, 1, 2 + createvisualtask sub_8159210, 0x5, 215, 63 + delay 0x3 + createsprite gUnknown_085973A0, 0x83, 1, 2 + createvisualtask sub_8159210, 0x5, 215, 63 + delay 0x3 + createsprite gUnknown_085973A0, 0x83, 1, 2 + createvisualtask sub_8159210, 0x5, 215, 63 + waitforvisualfinish + createvisualtask sub_8116664, 0x5, 5, 2, 16, 0, -1 + createvisualtask sub_81152DC, 0x5, 1, 5, 14 + waitforvisualfinish + clearmonbg ANIM_ATTACKER + blendoff + call AnimScript_82D7CDD + end + +Move_MIST_BALL: + loadspritegfx 0x27AB + loadspritegfx 0x281E + delay 0x0 + playsewithpan SE_W081, -64 + createsprite gUnknown_08595C70, 0x80, 0, 0, 0, 0, 30, 0 + waitforvisualfinish + playsewithpan SE_W028, +63 + createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 10, 0 + createsprite gUnknown_0859728C, 0x0, 1, 1, 1, 32279, 16, 0x7FFF, 16 + delay 0x0 + playsewithpan SE_W114, 0 + createvisualtask sub_810C324, 0x5 + createvisualtask sub_8116620, 0xA, 4, 3, 0, 16, 0x7FFF + delay 0x8 + createvisualtask sub_80D51AC, 0x2, 1, 4, 0, 70, 0 + delay 0x46 + createvisualtask sub_8116620, 0xA, 4, 2, 16, 0, 0x7FFF + end + +Move_FEATHER_DANCE: + loadspritegfx 0x281E + monbg ANIM_DEF_PARTNER + monbgprio_29 + playsewithpan SE_W080, +63 + delay 0x0 + createsprite gUnknown_08596388, 0x80, 0, -16, 64, 2, 104, 11304, 32, 1 + delay 0x6 + createsprite gUnknown_08596388, 0x80, 0, -16, 32, 2, 104, 11304, 32, 1 + createsprite gUnknown_08596388, 0x80, 0, -16, 0, 2, 104, 11304, 32, 1 + delay 0x6 + createsprite gUnknown_08596388, 0x80, 0, -16, 224, 2, 104, 11304, 32, 1 + createsprite gUnknown_08596388, 0x80, 0, -16, 128, 2, 104, 11304, 32, 1 + delay 0x6 + createsprite gUnknown_08596388, 0x80, 0, -16, 192, 2, 104, 11304, 32, 1 + createsprite gUnknown_08596388, 0x80, 0, -16, 160, 2, 104, 11304, 32, 1 + delay 0x6 + createsprite gUnknown_08596388, 0x80, 0, -16, 96, 2, 104, 11304, 32, 1 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + end + +Move_TEETER_DANCE: + loadspritegfx 0x2758 + loadspritegfx 0x2759 + createvisualtask sub_8160164, 0x5 + createsprite gUnknown_08593050, 0x2, 0, 16, -2 + playsewithpan SE_W298, -64 + delay 0x18 + createsprite gUnknown_08593050, 0x2, 0, 0, -2 + playsewithpan SE_W298, -64 + delay 0x18 + createsprite gUnknown_08593050, 0x2, 0, -16, -2 + playsewithpan SE_W298, -64 + delay 0x18 + createsprite gUnknown_08593050, 0x2, 1, -8, -2 + playsewithpan SE_W298, -64 + delay 0x18 + createsprite gUnknown_08593050, 0x2, 2, 8, -2 + playsewithpan SE_W298, -64 + end + +Move_MUD_SPORT: + loadspritegfx 0x275A + createvisualtask sub_8104938, 0x2, 0, 6 + delay 0x18 + createsprite gUnknown_085971E4, 0x82, 0, -4, -16 + createsprite gUnknown_085971E4, 0x82, 0, 4, -12 + playsewithpan SE_W091, -64 + delay 0x20 + createsprite gUnknown_085971E4, 0x82, 0, -3, -12 + createsprite gUnknown_085971E4, 0x82, 0, 5, -14 + playsewithpan SE_W091, -64 + delay 0x20 + createsprite gUnknown_085971E4, 0x82, 0, -5, -18 + createsprite gUnknown_085971E4, 0x82, 0, 3, -14 + playsewithpan SE_W091, -64 + delay 0x10 + createsprite gUnknown_085971E4, 0x82, 1, 220, 60 + waitplaysewithpan SE_W145B, 0, 0xF + delay 0x2 + createsprite gUnknown_085971E4, 0x82, 1, 60, 100 + waitplaysewithpan SE_W145B, 0, 0x19 + delay 0x2 + createsprite gUnknown_085971E4, 0x82, 1, 140, 55 + waitplaysewithpan SE_W145B, 0, 0xE + delay 0x2 + createsprite gUnknown_085971E4, 0x82, 1, 180, 50 + waitplaysewithpan SE_W145B, 0, 0xA + delay 0x2 + createsprite gUnknown_085971E4, 0x82, 1, 20, 90 + waitplaysewithpan SE_W145B, 0, 0x16 + delay 0x2 + createsprite gUnknown_085971E4, 0x82, 1, 90, 90 + waitplaysewithpan SE_W145B, 0, 0x16 + delay 0x2 + createsprite gUnknown_085971E4, 0x82, 1, 160, 60 + waitplaysewithpan SE_W145B, 0, 0xF + delay 0x2 + createsprite gUnknown_085971E4, 0x82, 1, 30, 90 + waitplaysewithpan SE_W145B, 0, 0x16 + delay 0x2 + createsprite gUnknown_085971E4, 0x82, 1, 120, 60 + waitplaysewithpan SE_W145B, 0, 0xF + delay 0x2 + createsprite gUnknown_085971E4, 0x82, 1, 200, 40 + waitplaysewithpan SE_W145B, 0, 0xA + end + +Move_NEEDLE_ARM: + loadspritegfx 0x281A + loadspritegfx 0x2797 + loadspritegfx 0x279F + loopsewithpan SE_W030, +63, 0x2, 0x10 + createsprite gUnknown_08592888, 0x82, 1, 0, 0, -32, 16 + delay 0x2 + createsprite gUnknown_08592888, 0x82, 1, 0, 22, -22, 16 + delay 0x2 + createsprite gUnknown_08592888, 0x82, 1, 0, 30, 0, 16 + delay 0x2 + createsprite gUnknown_08592888, 0x82, 1, 0, 20, 20, 16 + delay 0x2 + createsprite gUnknown_08592888, 0x82, 1, 0, 0, 28, 16 + delay 0x2 + createsprite gUnknown_08592888, 0x82, 1, 0, -19, 19, 16 + delay 0x2 + createsprite gUnknown_08592888, 0x82, 1, 0, -27, 0, 16 + delay 0x2 + createsprite gUnknown_08592888, 0x82, 1, 0, -18, -18, 16 + delay 0x2 + createsprite gUnknown_08592888, 0x82, 1, 0, 0, -25, 16 + delay 0x2 + createsprite gUnknown_08592888, 0x82, 1, 0, 17, -17, 16 + delay 0x2 + createsprite gUnknown_08592888, 0x82, 1, 0, 23, 0, 16 + delay 0x2 + createsprite gUnknown_08592888, 0x82, 1, 0, 16, 16, 16 + waitforvisualfinish + createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 18, 1 + createsprite gUnknown_08597358, 0x83, 0, 0, 1, 1 + createsprite gUnknown_08595E98, 0x84, 0, 0, 8, 1, 0 + playsewithpan SE_W233B, +63 + createsprite gUnknown_08592888, 0x82, 1, 1, 0, -24, 10 + createsprite gUnknown_08592888, 0x82, 1, 1, 17, -17, 10 + createsprite gUnknown_08592888, 0x82, 1, 1, 24, 0, 10 + createsprite gUnknown_08592888, 0x82, 1, 1, 17, 17, 10 + createsprite gUnknown_08592888, 0x82, 1, 1, 0, 24, 10 + createsprite gUnknown_08592888, 0x82, 1, 1, -17, 17, 10 + createsprite gUnknown_08592888, 0x82, 1, 1, -24, 0, 10 + createsprite gUnknown_08592888, 0x82, 1, 1, -17, -17, 10 + end + +Move_SLACK_OFF: + loadspritegfx 0x272F + createvisualtask sub_8160544, 0x2, 0 + playsewithpan SE_W281, -64 + waitforvisualfinish + call AnimScript_82D79DF + waitforvisualfinish + end + +Move_CRUSH_CLAW: + loadspritegfx 0x27B7 + loadspritegfx 0x2737 + loadspritegfx 0x27E0 + monbg ANIM_TARGET + setalpha 0x80C + createsprite gUnknown_0857FE28, 0x2, 6, 4 + delay 0x4 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 18, 1 + createsprite gUnknown_08597138, 0x82, -10, -10, 0 + createsprite gUnknown_08597138, 0x82, -10, 10, 0 + playsewithpan SE_W013, +63 + delay 0xC + createsprite gUnknown_08597138, 0x82, 10, -10, 1 + createsprite gUnknown_08597138, 0x82, 10, 10, 1 + playsewithpan SE_W013, +63 + waitforvisualfinish + blendoff + clearmonbg ANIM_TARGET + end + +Move_AROMATHERAPY: + playsewithpan SE_W080, 0 + loadspritegfx 0x27AF + loadspritegfx 0x27DB + loadspritegfx 0x2741 + createsprite gUnknown_08597274, 0x0, 1, 0, 0, 7, RGB(13, 31, 12) + delay 0x1 + monbg ANIM_ATTACKER + delay 0x1 + createsprite gUnknown_085927AC, 0x0, 24, 16, 0, 2, 2, 0, 0 + createsprite gUnknown_085927AC, 0x42, 64, 24, 0, 3, 1, 1, 0 + createsprite gUnknown_085927C4, 0x0, 16, 24, 0, 2, 1, 0, 0 + delay 0x14 + createsprite gUnknown_085927AC, 0x42, 48, 12, 0, 4, 3, 1, 0 + createsprite gUnknown_085927AC, 0x0, 100, 16, 0, 3, 2, 0, 0 + createsprite gUnknown_085927AC, 0x0, 74, 24, 180, 3, 2, 0, 0 + delay 0xA + createsprite gUnknown_085927AC, 0x42, 80, 30, 0, 4, 1, 1, 0 + createsprite gUnknown_085927AC, 0x0, 128, 12, 0, 3, 3, 0, 0 + createsprite gUnknown_085927C4, 0x0, 90, 16, 0, 2, 1, 0, 0 + waitforvisualfinish + clearmonbg ANIM_ATTACKER + delay 0x1 + createsprite gUnknown_08597274, 0x0, 1, 0, 7, 0, RGB(13, 31, 12) + delay 0x1 + playsewithpan SE_W287, -64 + createvisualtask sub_815DFCC, 0x2, 1 + waitforvisualfinish + playsewithpan SE_W234, -64 + createsprite gUnknown_08592B94, 0x10, -15, 0, 0, 0, 32, 60, 1 + delay 0x8 + createsprite gUnknown_08592B94, 0x10, 12, -5, 0, 0, 32, 60, 1 + waitforvisualfinish + playsewithpan SE_REAPOKE, -64 + createsprite gUnknown_08597274, 0x0, 43, 3, 10, 0, RGB(13, 31, 12) + createsprite gUnknown_08593868, 0x10, 0, 0, 0, 1 + waitforvisualfinish + end + +Move_FAKE_TEARS: + loadspritegfx 0x27AB + loadspritegfx 0x27E1 + loadspritegfx 0x2758 + createvisualtask sub_8116848, 0x5, 10155, 0, 4, 4, RGB(12, 11, 31) + waitforvisualfinish + createvisualtask sub_815C478, 0x5, 0, 2, 1 + loopsewithpan SE_W039, -64, 0xC, 0x4 + delay 0x8 + createsprite gUnknown_085970E8, 0x2, 0, 0 + createsprite gUnknown_085970E8, 0x2, 0, 1 + delay 0x8 + createsprite gUnknown_085970E8, 0x2, 0, 2 + createsprite gUnknown_085970E8, 0x2, 0, 3 + delay 0x8 + createsprite gUnknown_085970E8, 0x2, 0, 0 + createsprite gUnknown_085970E8, 0x2, 0, 1 + delay 0x8 + createsprite gUnknown_085970E8, 0x2, 0, 2 + createsprite gUnknown_085970E8, 0x2, 0, 3 + waitforvisualfinish + end + +Move_AIR_CUTTER: + loadspritegfx 0x2713 + loadspritegfx 0x279A + loadspritegfx 0x2797 + delay 0x0 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + delay 0x0 + createvisualtask sub_8103CF0, 0x2, 32, -24, 1536, 2, 128 + waitforvisualfinish + playsewithpan SE_W015, +63 + createsprite gUnknown_08592A34, 0x2, 40, -32, 0, 2 + delay 0x5 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 + createvisualtask sub_80D52D0, 0x2, 3, 2, 0, 8, 1 + waitforvisualfinish + blendoff + clearmonbg ANIM_DEF_PARTNER + delay 0x0 + end + +Move_ODOR_SLEUTH: + monbg ANIM_TARGET + createvisualtask sub_815F620, 0x5 + delay 0x18 + createsprite gUnknown_0857FE28, 0x2, 3, 4 + playsewithpan SE_W207, -64 + delay 0x6 + createsprite gUnknown_0857FE28, 0x2, 3, 4 + playsewithpan SE_W207, -64 + waitforvisualfinish + clearmonbg ANIM_TARGET + delay 0x1 + createsprite gUnknown_0859728C, 0x2, 1, 3, 1, -1, 16, -1, 0 + playsewithpan SE_W043, -64 + end + +Move_GRASS_WHISTLE: + loadspritegfx 0x2758 + createsprite gUnknown_08597274, 0x2, 1, 2, 0, 4, RGB(18, 31, 12) + waitforvisualfinish + createvisualtask sub_8102BE8, 0x2 + waitforvisualfinish + panse_1B SE_W320, -64, +63, +2, 0x0 + createsprite gUnknown_08593008, 0x82, 7, 1, 0 + delay 0x5 + createsprite gUnknown_08593008, 0x82, 6, 1, 0 + delay 0x5 + createsprite gUnknown_08593008, 0x82, 1, 1, 0 + delay 0x5 + createsprite gUnknown_08593008, 0x82, 2, 1, 0 + delay 0x5 + createsprite gUnknown_08593008, 0x82, 3, 1, 0 + delay 0x4 + createsprite gUnknown_08593008, 0x82, 2, 1, 0 + delay 0x4 + createsprite gUnknown_08593008, 0x82, 5, 1, 0 + delay 0x4 + createsprite gUnknown_08593008, 0x82, 6, 1, 0 + delay 0x4 + createsprite gUnknown_08593008, 0x82, 2, 1, 0 + delay 0x4 + createsprite gUnknown_08593008, 0x82, 2, 1, 0 + delay 0x4 + createsprite gUnknown_08593008, 0x82, 1, 1, 0 + delay 0x4 + createsprite gUnknown_08593008, 0x82, 5, 1, 0 + delay 0x4 + waitforvisualfinish + createvisualtask sub_8102CA0, 0x2 + createsprite gUnknown_08597274, 0x2, 1, 4, 4, 0, RGB(18, 31, 12) + waitforvisualfinish + end + +Move_TICKLE: + loadspritegfx 0x27EA + createsprite gUnknown_08597274, 0x2, 2, 0, 0, 16, RGB_BLACK + waitforvisualfinish + createsprite gUnknown_08593A84, 0x0, -16, -8 + createsprite gUnknown_08593A84, 0x0, 16, -8 + playsewithpan SE_W197, -64 + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 2, 0, 16, 0, RGB_BLACK + waitforvisualfinish + delay 0x14 + createvisualtask sub_80D5EB8, 0x3, 0, 6, 1280, 3, 0 + delay 0xC + createvisualtask sub_815C478, 0x3, 1, 6, 2 + loopsewithpan SE_W039, +63, 0x8, 0x8 + waitforvisualfinish + end + +Move_WATER_SPOUT: + loadspritegfx 0x281C + loadspritegfx 0x27A4 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + createvisualtask sub_81080E4, 0x5 + playsewithpan SE_W029, -64 + delay 0x2C + playsewithpan SE_W291, -64 + waitforvisualfinish + delay 0x10 + createvisualtask sub_81085C8, 0x5 + playsewithpan SE_W057, +63 + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_SHADOW_PUNCH: + loadspritegfx 0x2797 + loadspritegfx 0x279F + fadetobg BG_GHOST + waitbgfadein + monbg ANIM_ATK_PARTNER + setalpha 0x809 + createvisualtask sub_80A8BC4, 0x2, 0, 13 + playsewithpan SE_W026, -64 + delay 0x6 + createsprite gUnknown_08597358, 0x83, 0, 0, 1, 1 + createsprite gUnknown_08595E98, 0x84, 0, 0, 8, 1, 0 + playsewithpan SE_W004, +63 + createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + blendoff + restorebg + waitbgfadein + end + +Move_EXTRASENSORY: + call AnimScript_82D7CD1 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + createvisualtask sub_80A7B98, 0x5, 0, RGB(27, 27, 0), 12, 1, 1 + createvisualtask sub_810FE14, 0x5, 0 + playsewithpan SE_W020, +63 + waitforvisualfinish + createvisualtask sub_80A7B98, 0x5, 0, RGB(27, 27, 0), 12, 1, 1 + createvisualtask sub_810FE14, 0x5, 1 + playsewithpan SE_W020, +63 + waitforvisualfinish + createvisualtask sub_8110034, 0x5, 0 + createvisualtask sub_810FE14, 0x5, 2 + playsewithpan SE_W043, -64 + waitforvisualfinish + blendoff + clearmonbg ANIM_DEF_PARTNER + call AnimScript_82D7CDD + end + +Move_AERIAL_ACE: + loadspritegfx 0x279A + monbg ANIM_TARGET + setalpha 0x80C + createvisualtask sub_80D5830, 0x2, 0, 24, 6, 1, 5 + createvisualtask sub_81169C0, 0x2, 0, 4, 7, 3 + createsprite gUnknown_08592A1C, 0x2, 40, -32, 0 + playsewithpan SE_W013B, -64 + delay 0x5 + createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 10, 1 + createsprite gUnknown_0859728C, 0x2, 31, 3, 1, 0, 10, 0, 0 + playsewithpan SE_W013, +63 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +Move_IRON_DEFENSE: + loopsewithpan SE_REAPOKE, -64, 0x1C, 0x2 + createvisualtask sub_81144F8, 0x5, 0, 0, 0 + createsprite gUnknown_0859728C, 0x2, 1, 8, 2, -1, 14, -1, 0 + waitforvisualfinish + end + +Move_BLOCK: + loadspritegfx 0x280A + createsprite gUnknown_085CE90C, 0xC2 + playsewithpan SE_W207, +63 + end + +Move_HOWL: + loadspritegfx 0x2745 + createvisualtask sub_815D64C, 0x2, 0 + delay 0xC + call AnimScript_82CFECB + createvisualtask sub_8158D8C, 0x2, 0, 3 + waitforvisualfinish + delay 0x1E + end + +Move_BULK_UP: + loadspritegfx 0x2766 + createvisualtask sub_8104AB4, 0x2 + playsewithpan SE_W207, -64 + waitforvisualfinish + createsprite gUnknown_08593658, 0x2 + loopsewithpan SE_W207, -64, 0x4, 0x2 + waitforvisualfinish + end + +Move_COVET: + loadspritegfx 0x27E2 + loadspritegfx 0x27F0 + createvisualtask sub_815C478, 0x5, 0, 2, 0 + createsprite gUnknown_08593970, 0x3, 0, 20 + playsewithpan SE_W204, -64 + delay 0xF + createsprite gUnknown_08593970, 0x3, -20, 20 + playsewithpan SE_W204, -64 + delay 0xF + createsprite gUnknown_08593970, 0x3, 20, 20 + playsewithpan SE_W204, -64 + waitforvisualfinish + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 + loopsewithpan SE_W146, +63, 0x4, 0x3 + end + +Move_VOLT_TACKLE: + loadspritegfx 0x2711 + loadspritegfx 0x27E4 + loadspritegfx 0x27E5 + monbg ANIM_ATTACKER + setalpha 0x80C + createvisualtask sub_8116620, 0xA, 1, 0, 0, 8, 0 + waitforvisualfinish + createsprite gUnknown_085959A4, 0x1 + playsewithpan SE_W268, -64 + waitforvisualfinish + clearmonbg ANIM_ATTACKER + blendoff + delay 0x8 + createvisualtask sub_810AFCC, 0x5, 0 + playsewithpan SE_W085, -64 + waitforvisualfinish + createvisualtask sub_810AFCC, 0x5, 1 + playsewithpan SE_W085, +63 + waitforvisualfinish + createvisualtask sub_810AFCC, 0x5, 2 + playsewithpan SE_W085, -64 + waitforvisualfinish + createvisualtask sub_810AFCC, 0x5, 3 + playsewithpan SE_W085, +63 + waitforvisualfinish + createvisualtask sub_810AFCC, 0x5, 4 + playsewithpan SE_W085, -64 + delay 0x8 + createvisualtask sub_80D52D0, 0x2, 1, 10, 0, 18, 1 + playsewithpan SE_W120, +63 + createsprite gUnknown_0859598C, 0x2, 1, 16, 16 + delay 0x2 + createsprite gUnknown_0859598C, 0x2, 1, -16, -16 + delay 0x8 + createvisualtask sub_810AE5C, 0x5 + waitforvisualfinish + createvisualtask sub_80D52D0, 0x2, 0, 3, 0, 9, 1 + playsewithpan SE_W085B, -64 + createsprite gUnknown_0859598C, 0x2, 0, 16, 16 + delay 0x2 + createsprite gUnknown_0859598C, 0x2, 0, -16, -16 + waitforvisualfinish + createvisualtask sub_8116620, 0xA, 1, 0, 8, 0, 0 + waitforvisualfinish + end + +Move_WATER_SPORT: + loadspritegfx 0x281C + createvisualtask sub_81088E4, 0x5 + delay 0x8 + playsewithpan SE_W057, -64 + delay 0x2C + playsewithpan SE_W057, -64 + delay 0x2C + playsewithpan SE_W057, -64 + delay 0x2C + panse_1B SE_W057, -64, +63, +2, 0x0 + end + +Move_CALM_MIND: + loadspritegfx 0x27DB + monbg ANIM_ATK_PARTNER + createvisualtask sub_8116664, 0x5, 0, 0, 0, 16, 0 + waitforvisualfinish + createvisualtask sub_81177E4, 0x5, 1 + waitforvisualfinish + createsprite gUnknown_08593850, 0x28, 0, 0, 0, 0 + playsewithpan SE_W048, -64 + delay 0xE + createsprite gUnknown_08593850, 0x28, 0, 0, 0, 0 + playsewithpan SE_W048, -64 + delay 0xE + createsprite gUnknown_08593850, 0x28, 0, 0, 0, 0 + playsewithpan SE_W048, -64 + waitforvisualfinish + createvisualtask sub_81177E4, 0x5, 0 + waitforvisualfinish + createvisualtask sub_8116664, 0x5, 0, 0, 16, 0, 0 + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + end + +Move_LEAF_BLADE: + loadspritegfx 0x274F + loadspritegfx 0x282D + createvisualtask sub_80FFFC0, 0x5 + delay 0x2 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 + playsewithpan SE_W015, +63 + delay 0x32 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 + playsewithpan SE_W015, +63 + delay 0x32 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 + playsewithpan SE_W015, +63 + waitforvisualfinish + monbg ANIM_TARGET + setalpha 0x80C + delay 0xC + createvisualtask sub_80D52D0, 0x2, 1, 8, 0, 18, 1 + createsprite gUnknown_085973D0, 0x82, 0, 0, 1, 36 + playsewithpan SE_W043, +63 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +Move_DRAGON_DANCE: + loadspritegfx 0x2809 + monbg ANIM_ATTACKER + monbgprio_28 ANIM_ATTACKER + delay 0x1 + createvisualtask sub_81133E8, 0x5 + playsewithpan SE_W100, -64 + delay 0x8 + createvisualtask sub_80A7CB4, 0x5, 10249, 19456, 14, 0, 3 + createsprite gUnknown_08596F98, 0x2, 0 + createsprite gUnknown_08596F98, 0x2, 43 + createsprite gUnknown_08596F98, 0x2, 85 + createsprite gUnknown_08596F98, 0x2, 128 + createsprite gUnknown_08596F98, 0x2, 170 + createsprite gUnknown_08596F98, 0x2, 213 + delay 0x1E + playsewithpan SE_W100, -64 + delay 0x1E + playsewithpan SE_W100, -64 + waitforvisualfinish + clearmonbg ANIM_ATTACKER + delay 0x1 + end + +Move_SHOCK_WAVE: + loadspritegfx 0x27E3 + loadspritegfx 0x27E4 + loadspritegfx 0x2711 + loadspritegfx 0x2735 + monbg ANIM_ATTACKER + setalpha 0x80C + createsprite gUnknown_08597274, 0x2, 1, 2, 0, 4, RGB_BLACK + waitforvisualfinish + createvisualtask sub_810AAFC, 0x2, 0, 20, 0, 2 + playsewithpan SE_W268, -64 + delay 0xC + createsprite gUnknown_08595A18, 0x2 + delay 0x1E + createvisualtask sub_810B29C, 0x5 + delay 0xC + waitforvisualfinish + createvisualtask sub_810B55C, 0x5 + playsewithpan SE_W161B, +63 + waitforvisualfinish + createvisualtask sub_80D51AC, 0x2, 1, 0, 6, 18, 1 + createvisualtask sub_8116620, 0x5, 1, 3, 16, 0, 0x7FFF + createvisualtask sub_8116620, 0x5, 4, 0, 16, 16, 0 + delay 0x4 + createvisualtask sub_8116620, 0x5, 4, 0, 0, 0, 0 + waitforvisualfinish + clearmonbg ANIM_ATTACKER + blendoff + end + +Move_HARDEN: + loopsewithpan SE_W231, -64, 0x1C, 0x2 + createvisualtask sub_81144F8, 0x5, 0, 0, 0 + waitforvisualfinish + end + +Move_BELLY_DRUM: + loadspritegfx 0x2758 + loadspritegfx 0x27D1 + createvisualtask sub_8102BE8, 0x2 + waitforvisualfinish + call AnimScript_82CF5A6 + createsprite gUnknown_0859309C, 0x2, 0, 0, 0, 0 + playsewithpan SE_W187, -64 + delay 0xF + call AnimScript_82CF58B + createsprite gUnknown_0859309C, 0x2, 1, 1, 1, 0 + playsewithpan SE_W187, -64 + delay 0xF + call AnimScript_82CF5A6 + createsprite gUnknown_0859309C, 0x2, 0, 3, 3, 128 + playsewithpan SE_W187, -64 + delay 0x7 + call AnimScript_82CF58B + createsprite gUnknown_0859309C, 0x2, 1, 2, 0, 128 + playsewithpan SE_W187, -64 + delay 0x7 + call AnimScript_82CF5A6 + createsprite gUnknown_0859309C, 0x2, 0, 1, 1, 0 + playsewithpan SE_W187, -64 + delay 0x7 + call AnimScript_82CF58B + createsprite gUnknown_0859309C, 0x2, 1, 0, 3, 0 + playsewithpan SE_W187, -64 + waitforvisualfinish + createvisualtask sub_8102CA0, 0x2 + waitforvisualfinish + end + +AnimScript_82CF58B: + createsprite gUnknown_08593068, 0x3, 0 + createvisualtask sub_80D51AC, 0x2, 0, 0, 8, 2, 1 + return + +AnimScript_82CF5A6: + createsprite gUnknown_08593068, 0x3, 1 + createvisualtask sub_80D51AC, 0x2, 0, 0, 8, 2, 1 + return + +Move_MIND_READER: + loadspritegfx 0x27CD + loadspritegfx 0x27CE + loadspritegfx 0x27CF + monbg ANIM_DEF_PARTNER + playsewithpan SE_W109, +63 + createsprite gUnknown_085CE07C, 0x5, 0, 0, 1, 0 + createsprite gUnknown_085CE094, 0x5 + delay 0x28 + playsewithpan SE_W043, +63 + createvisualtask sub_8115A04, 0x2, 1, 1, 2, 0, 10, 0 + call AnimScript_82CF608 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + end + +AnimScript_82CF608: + createsprite gUnknown_085CE0AC, 0x4, 70, 0, 6 + createsprite gUnknown_085CE0AC, 0x4, 40, 40, 6 + createsprite gUnknown_085CE0AC, 0x4, 10, -60, 6 + createsprite gUnknown_085CE0AC, 0x4, -50, -40, 6 + createsprite gUnknown_085CE0AC, 0x4, -40, 40, 6 + createsprite gUnknown_085CE0AC, 0x4, 50, -50, 6 + delay 0x2 + createsprite gUnknown_085CE0AC, 0x4, 50, -30, 6 + createsprite gUnknown_085CE0AC, 0x4, 60, 10, 6 + createsprite gUnknown_085CE0AC, 0x4, 0, 60, 6 + createsprite gUnknown_085CE0AC, 0x4, 0, -40, 6 + createsprite gUnknown_085CE0AC, 0x4, -60, 20, 6 + createsprite gUnknown_085CE0AC, 0x4, -60, -30, 6 + delay 0x2 + createsprite gUnknown_085CE0AC, 0x4, -50, 50, 6 + createsprite gUnknown_085CE0AC, 0x4, -60, 20, 6 + createsprite gUnknown_085CE0AC, 0x4, -40, -40, 6 + createsprite gUnknown_085CE0AC, 0x4, 20, -60, 6 + createsprite gUnknown_085CE0AC, 0x4, 50, -50, 6 + createsprite gUnknown_085CE0AC, 0x4, 35, 40, 6 + delay 0x2 + return + +Move_ICE_PUNCH: + monbg ANIM_DEF_PARTNER + setalpha 0x80C + loadspritegfx 0x279D + loadspritegfx 0x2797 + loadspritegfx 0x279F + createsprite gUnknown_08597274, 0x2, 1, 1, 0, 7, RGB_BLACK + createvisualtask sub_8116620, 0xA, 4, 2, 0, 9, 32588 + delay 0x14 + playsewithpan SE_W081, +63 + createsprite gUnknown_08595AE8, 0x2, 0 + createsprite gUnknown_08595AE8, 0x2, 64 + createsprite gUnknown_08595AE8, 0x2, 128 + createsprite gUnknown_08595AE8, 0x2, 192 + delay 0x5 + createsprite gUnknown_08595AD0, 0x2, 32 + createsprite gUnknown_08595AD0, 0x2, 96 + createsprite gUnknown_08595AD0, 0x2, 160 + createsprite gUnknown_08595AD0, 0x2, 224 + delay 0x11 + createsprite gUnknown_08595E98, 0x4, 0, -10, 8, 1, 0 + createsprite gUnknown_08597358, 0x3, 0, -10, 1, 1 + playsewithpan SE_W004, +63 + delay 0x2 + createvisualtask sub_80D51AC, 0x5, 1, 0, 5, 3, 1 + waitforvisualfinish + delay 0xF + call AnimScript_82D7720 + delay 0x5 + createvisualtask sub_8116620, 0xA, 4, 2, 9, 0, 32588 + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 0, 7, 0, RGB_BLACK + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_REST: + playsewithpan SE_W173, -64 + loadspritegfx 0x27F4 + createsprite gUnknown_08592C88, 0x2, 4, -10, 16, 0, 0 + delay 0x14 + createsprite gUnknown_08592C88, 0x2, 4, -10, 16, 0, 0 + delay 0x14 + createsprite gUnknown_08592C88, 0x2, 4, -10, 16, 0, 0 + waitforvisualfinish + end + +Move_CONFUSION: + monbg ANIM_DEF_PARTNER + call AnimScript_82D7CD1 + setalpha 0x808 + createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 10, 1 + createvisualtask sub_8115A04, 0x2, 2, 0, 2, 0, 8, 0x7FFF + waitforvisualfinish + playsewithpan SE_W048, +63 + createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 15, 1 + createvisualtask sub_80D6064, 0x5, -4, -4, 15, 1, 1 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + delay 0x1 + call AnimScript_82D7CDD + end + +Move_PSYCHIC: + monbg ANIM_DEF_PARTNER + call AnimScript_82D7CD1 + setalpha 0x808 + createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 10, 1 + createvisualtask sub_8115A04, 0x2, 2, 0, 2, 0, 8, 767 + waitforvisualfinish + loopsewithpan SE_W048, +63, 0xA, 0x3 + createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 15, 1 + createvisualtask sub_80D6064, 0x5, -6, -6, 15, 1, 1 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + delay 0x1 + call AnimScript_82D7CDD + end + +Move_FUTURE_SIGHT: + goto AnimScript_82CF8F6 + +AnimScript_82CF8ED: + waitforvisualfinish + delay 0x1 + call AnimScript_82D7CDD + end + +AnimScript_82CF8F6: + monbg ANIM_ATK_PARTNER + playsewithpan SE_W060, -64 + call AnimScript_82D7CD1 + setalpha 0x808 + playsewithpan SE_W048, -64 + createvisualtask sub_8115A04, 0x2, 2, 0, 2, 0, 8, 0x7FFF + createvisualtask sub_80D6064, 0x5, -4, -4, 15, 0, 1 + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + blendoff + goto AnimScript_82CF8ED + +Move_THUNDER: + loadspritegfx 0x2735 + fadetobg BG_THUNDER + waitbgfadeout + createvisualtask sub_8117660, 0x5, -256, 0, 1, -1 + waitbgfadein + createsprite gUnknown_08597274, 0x2, 1, 2, 0, 16, RGB_BLACK + delay 0x10 + createvisualtask sub_8115F10, 0x2, 257, 257, 257 + playsewithpan SE_W086, +63 + delay 0x1 + createsprite gUnknown_085956C0, 0x82, 16, -36 + delay 0x1 + createsprite gUnknown_085956C0, 0x82, 16, -20 + delay 0x1 + createsprite gUnknown_085956C0, 0x82, 16, 12 + delay 0x14 + createsprite gUnknown_085956C0, 0x86, -16, -32 + playsewithpan SE_W086, +63 + delay 0x1 + createsprite gUnknown_085956C0, 0x86, -16, -16 + delay 0x1 + createsprite gUnknown_085956C0, 0x86, -16, 16 + playsewithpan SE_W086, +63 + delay 0x5 + createvisualtask sub_8115F10, 0x2, 257, 257, 257 + delay 0x1 + createsprite gUnknown_085956C0, 0x82, 24, -32 + delay 0x1 + createsprite gUnknown_085956C0, 0x82, 24, -16 + delay 0x1 + createsprite gUnknown_085956C0, 0x82, 24, 16 + delay 0x1E + createvisualtask sub_8115F10, 0x2, 257, 257, 257 + delay 0x5 + createvisualtask sub_8115F10, 0x2, 257, 257, 257 + delay 0x1 + createsprite gUnknown_085956C0, 0x82, 0, -32 + playsewithpan SE_W161B, +63 + delay 0x1 + createsprite gUnknown_085956C0, 0x82, 0, -16 + delay 0x1 + createsprite gUnknown_085956C0, 0x82, 0, 16 + delay 0xA + createvisualtask sub_8115F10, 0x2, 257, 257, 257 + delay 0x1 + createvisualtask sub_810A094, 0x2, 30, 3, 1, 0 + delay 0x2 + createvisualtask sub_8115F10, 0x2, 257, 257, 257 + delay 0x1 + createsprite gUnknown_08597274, 0x82, 1, 2, 16, 0, RGB_BLACK + waitforvisualfinish + restorebg + waitbgfadeout + setarg 0x7, 0xFFFF + waitbgfadein + end + +Move_THUNDER_PUNCH: + loadspritegfx 0x2797 + loadspritegfx 0x279F + loadspritegfx 0x2735 + monbg ANIM_TARGET + setalpha 0x80C + createsprite gUnknown_08597274, 0x2, 1, 2, 0, 16, RGB_BLACK + waitforvisualfinish + playsewithpan SE_W004, +63 + createsprite gUnknown_08595E98, 0x84, 0, 0, 8, 1, 0 + createsprite gUnknown_08597358, 0x83, 0, 0, 1, 1 + delay 0x1 + createvisualtask sub_8115F10, 0x2, 257, 257, 257 + delay 0x1 + createsprite gUnknown_085956C0, 0x82, 0, -48 + delay 0x1 + createsprite gUnknown_085956C0, 0x2, 0, -16 + delay 0x1 + createsprite gUnknown_085956C0, 0x2, 0, 16 + delay 0x1 + playsewithpan SE_W161B, +63 + createvisualtask sub_8115F10, 0x2, 257, 257, 257 + delay 0x2 + createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 15, 1 + createsprite gUnknown_08597358, 0x3, 0, 0, 1, 2 + delay 0x1 + createsprite gUnknown_08597274, 0x2, 1, 2, 16, 0, RGB_BLACK + delay 0x14 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +Move_SACRED_FIRE: + loadspritegfx 0x2731 + loadspritegfx 0x2733 + loopsewithpan SE_W221, -64, 0x7, 0x5 + createsprite gUnknown_08595428, 0x2, -32, 0, 50, 5, -2, 0 + delay 0x1 + createsprite gUnknown_08595428, 0x42, -20, -10, 50, 5, -1, -1 + delay 0x1 + createsprite gUnknown_08595428, 0x42, 0, -16, 50, 5, 0, -1 + delay 0x1 + createsprite gUnknown_08595428, 0x42, 20, -10, 50, 5, 1, -1 + delay 0x1 + createsprite gUnknown_08595428, 0x2, 32, 0, 50, 5, 2, 0 + delay 0x1 + createsprite gUnknown_08595428, 0x2, 20, 10, 50, 5, 1, 1 + delay 0x1 + createvisualtask sub_8115F10, 0x2, 257, 257, 257 + delay 0x1 + createsprite gUnknown_08595428, 0x2, 0, 16, 50, 5, 0, 1 + delay 0x1 + createsprite gUnknown_08595428, 0x2, -20, 10, 50, 5, -1, 1 + createvisualtask sub_8115F10, 0x2, 257, 257, 257 + delay 0x1 + waitforvisualfinish + playsewithpan SE_W221B, +63 + createsprite gUnknown_085953F8, 0x82, -16, 0, 70, 16, 0, 1 + delay 0xA + playsewithpan SE_W221B, +63 + createsprite gUnknown_085953F8, 0x82, 0, 0, 70, 16, 0, 1 + delay 0xA + playsewithpan SE_W221B, +63 + createsprite gUnknown_085953F8, 0x82, 16, 0, 80, 16, 0, 1 + delay 0x1 + createvisualtask sub_8115F10, 0x2, 257, 257, 257 + delay 0x1 + waitforvisualfinish + createvisualtask sub_8115F10, 0x2, 257, 257, 257 + delay 0x1 + playsewithpan SE_W172B, +63 + createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, -1, 0 + delay 0x1 + createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, 0, 1 + delay 0x1 + createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, -1, -1 + delay 0x1 + createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, 2, 1 + delay 0x1 + createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, 1, -1 + delay 0x1 + createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, -1, 1 + delay 0x1 + createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, 1, -2 + delay 0x1 + createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, 3, 1 + waitforvisualfinish + end + +Move_SCRATCH: + loadspritegfx 0x2799 + monbg ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W010, +63 + createsprite gUnknown_085CE020, 0x2, 0, 0, 1, 0 + createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + waitforvisualfinish + end + +Move_DRAGON_BREATH: + loadspritegfx 0x272D + monbg ANIM_DEF_PARTNER + monbgprio_28 ANIM_TARGET + loopsewithpan SE_W172, -64, 0x7, 0x7 + createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 + delay 0x2 + createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 + delay 0x2 + createvisualtask sub_8116620, 0xA, 4, 1, 0, 9, 31 + createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 + delay 0x2 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 21, 1 + createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 + delay 0x2 + createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 + delay 0x2 + createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 + delay 0x2 + createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 + delay 0x2 + createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 + delay 0x2 + createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 + delay 0x2 + createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 + delay 0x2 + createsprite gUnknown_08596EF4, 0x82, 0, 0, 0, 0, 20 + waitforvisualfinish + createvisualtask sub_8116620, 0xA, 4, 1, 9, 0, 31 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + end + +Move_ROAR: + loadspritegfx 0x2745 + monbg ANIM_ATTACKER + monbgprio_28 ANIM_ATTACKER + setalpha 0x808 + createvisualtask sub_8158E9C, 0x2, 0, 2 + createvisualtask sub_80D6064, 0x5, -5, -5, 10, 0, 1 + call AnimScript_82CFECB + delay 0x14 + createvisualtask sub_80D5DB0, 0x5, 1, 2 + waitforvisualfinish + clearmonbg ANIM_ATTACKER + blendoff + waitforvisualfinish + createvisualtask sub_8159078, 0x5 + waitforvisualfinish + end + +AnimScript_82CFECB: + createsprite gUnknown_085CE7D4, 0x2, 24, -8, 0 + createsprite gUnknown_085CE7D4, 0x2, 24, 0, 2 + createsprite gUnknown_085CE7D4, 0x2, 24, 8, 1 + delay 0xF + createsprite gUnknown_085CE7D4, 0x2, 24, -8, 0 + createsprite gUnknown_085CE7D4, 0x2, 24, 0, 2 + createsprite gUnknown_085CE7D4, 0x2, 24, 8, 1 + return + +Move_GROWL: + loadspritegfx 0x2745 + createvisualtask sub_8158E9C, 0x2, 0, 255 + call AnimScript_82CFECB + delay 0xA + createvisualtask sub_80D52D0, 0x2, 1, 1, 0, 9, 1 + createvisualtask sub_80D52D0, 0x2, 3, 1, 0, 9, 1 + waitforvisualfinish + createvisualtask sub_8159078, 0x5 + waitforvisualfinish + end + +Move_SNORE: + loadspritegfx 0x27D5 + monbg ANIM_ATK_PARTNER + setalpha 0x808 + call AnimScript_82CFF76 + delay 0x1E + call AnimScript_82CFF76 + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + blendoff + end + +AnimScript_82CFF76: + playsewithpan SE_W173, -64 + createvisualtask sub_80D6064, 0x5, -7, -7, 7, 0, 1 + createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 7, 1 + createsprite gUnknown_085972D8, 0x2, 6, 1, 14, 0, 0 + createsprite gUnknown_085936EC, 0x2, 0, 0, -42, -38, 24, 0, 0 + createsprite gUnknown_085936EC, 0x2, 0, 0, 0, -42, 24, 0, 0 + createsprite gUnknown_085936EC, 0x2, 0, 0, 42, -38, 24, 0, 0 + return + +Move_LIGHT_SCREEN: + loadspritegfx 0x2756 + loadspritegfx 0x27B6 + setalpha 0x1000 + waitplaysewithpan SE_W115, -64, 0xF + createsprite gUnknown_08596560, 0x1, 40, 0, 10166 + delay 0xA + call AnimScript_82D0014 + waitforvisualfinish + delay 0x1 + blendoff + end + +AnimScript_82D0014: + createsprite gUnknown_08596624, 0x2, 23, 0, 0, 1 + delay 0x6 + createsprite gUnknown_08596624, 0x2, 31, -8, 0, 1 + delay 0x5 + createsprite gUnknown_08596624, 0x2, 30, 20, 0, 1 + delay 0x7 + createsprite gUnknown_08596624, 0x2, 10, -15, 0, 1 + delay 0x6 + createsprite gUnknown_08596624, 0x2, 20, 10, 0, 1 + delay 0x6 + createsprite gUnknown_08596624, 0x2, 10, 18, 0, 1 + return + +Move_MIRROR_COAT: + loadspritegfx 0x2756 + loadspritegfx 0x27B8 + setalpha 0x1000 + createsprite gUnknown_08596590, 0x1, 40, 0, 10168 + delay 0xA + playsewithpan SE_W115, -64 + call AnimScript_82D0014 + waitforvisualfinish + delay 0x1 + blendoff + end + +Move_REFLECT: + loadspritegfx 0x2757 + loadspritegfx 0x27B7 + setalpha 0x1000 + waitplaysewithpan SE_W115, -64, 0xF + createsprite gUnknown_08596578, 0x1, 40, 0, 10167 + delay 0x14 + createsprite gUnknown_085965F4, 0x2, 30, 0, 0, 1 + delay 0x7 + createsprite gUnknown_085965F4, 0x2, 19, -12, 0, 1 + delay 0x7 + createsprite gUnknown_085965F4, 0x2, 10, 20, 0, 1 + waitforvisualfinish + delay 0x1 + blendoff + end + +Move_BARRIER: + loadspritegfx 0x27B9 + setalpha 0x1000 + waitplaysewithpan SE_W112, -64, 0xF + createsprite gUnknown_085965A8, 0x3, 40, 0, 10169 + waitforvisualfinish + delay 0x1 + blendoff + end + +Move_BUBBLE: + loadspritegfx 0x27A2 + loadspritegfx 0x27AB + monbg ANIM_TARGET + setalpha 0x80C + delay 0x1 + createsprite gUnknown_08595068, 0x2, 18, 0, 15, -15, 10, 128, 100 + playsewithpan SE_W145, -64 + waitplaysewithpan SE_W145B, +63, 0x64 + delay 0x6 + createsprite gUnknown_08595068, 0x2, 18, 0, 35, 37, 40, 128, 100 + playsewithpan SE_W145, -64 + waitplaysewithpan SE_W145B, +63, 0x64 + delay 0x6 + createsprite gUnknown_08595068, 0x2, 18, 0, 10, -37, 30, 128, 100 + playsewithpan SE_W145, -64 + waitplaysewithpan SE_W145B, +63, 0x64 + delay 0x6 + createsprite gUnknown_08595068, 0x2, 18, 0, 30, 10, 15, 128, 100 + playsewithpan SE_W145, -64 + waitplaysewithpan SE_W145B, +63, 0x64 + delay 0x6 + createsprite gUnknown_08595068, 0x2, 18, 0, 20, 33, 20, 128, 100 + playsewithpan SE_W145, -64 + waitplaysewithpan SE_W145B, +63, 0x64 + delay 0x6 + createsprite gUnknown_08595068, 0x2, 18, 0, 25, -30, 10, 128, 100 + playsewithpan SE_W145, -64 + waitplaysewithpan SE_W145B, +63, 0x64 + waitforvisualfinish + call AnimScript_82D7B53 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +Move_SMOG: + loadspritegfx 0x27BC + monbg ANIM_DEF_PARTNER + monbgprio_29 + setalpha 0x80C + loopsewithpan SE_W054, +63, 0x11, 0xA + call AnimScript_82D024A + call AnimScript_82D024A + call AnimScript_82D024A + call AnimScript_82D024A + call AnimScript_82D024A + call AnimScript_82D024A + call AnimScript_82D024A + delay 0x78 + loopsewithpan SE_W092, +63, 0x12, 0x2 + createvisualtask sub_8115A04, 0x2, 4, 2, 2, 0, 12, 26650 + delay 0xA + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 15, 1 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +AnimScript_82D024A: + createsprite gUnknown_08595C44, 0x2, 0, -24, 48, 240, 1, 0 + delay 0x7 + return + +Move_FAINT_ATTACK: + loadspritegfx 0x2797 + monbg ANIM_ATTACKER + fadetobg BG_DARK + waitbgfadein + delay 0x0 + playsewithpan SE_W185, -64 + createvisualtask sub_80D5830, 0x2, 0, 18, 6, 1, 3 + createvisualtask sub_81136E8, 0x2, 1 + waitforvisualfinish + clearmonbg ANIM_ATTACKER + invisible ANIM_ATTACKER + delay 0x1 + createvisualtask sub_8117F60, 0x2 + setalpha 0x80C + monbg ANIM_TARGET + delay 0x1 + playsewithpan SE_W233B, +63 + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 1 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 9, 1 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + delay 0x1 + setarg 0x7, 0x1000 + delay 0x20 + createvisualtask sub_8113888, 0x2 + monbg ANIM_ATTACKER + createvisualtask sub_81137E4, 0x2, 1 + waitforvisualfinish + clearmonbg ANIM_ATTACKER + delay 0x1 + restorebg + waitbgfadein + end + +Move_SAND_ATTACK: + loadspritegfx 0x275A + monbg ANIM_ATK_PARTNER + monbgprio_28 ANIM_ATTACKER + setalpha 0x80C + playsewithpan SE_W028, -64 + createsprite gUnknown_0857FE70, 0x2, 0, -10, 0, 0, 3 + waitforvisualfinish + createsprite gUnknown_0857FE58, 0x2, 0, 0, 2 + call AnimScript_82D0337 + call AnimScript_82D0337 + call AnimScript_82D0337 + call AnimScript_82D0337 + call AnimScript_82D0337 + call AnimScript_82D0337 + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + blendoff + end + +AnimScript_82D0337: + createsprite gUnknown_085971A8, 0x82, 15, 15, 20, 0, 0 + createsprite gUnknown_085971A8, 0x82, 15, 15, 20, 10, 10 + createsprite gUnknown_085971A8, 0x82, 15, 15, 20, -10, -10 + createsprite gUnknown_085971A8, 0x82, 15, 15, 20, 20, 5 + createsprite gUnknown_085971A8, 0x82, 15, 15, 20, -20, -5 + delay 0x2 + return + +Move_MUD_SLAP: + loadspritegfx 0x275A + playsewithpan SE_W028, -64 + createsprite gUnknown_0857FE70, 0x2, 0, -10, 0, 0, 3 + waitforvisualfinish + createsprite gUnknown_0857FE58, 0x2, 0, 0, 2 + call AnimScript_82D03D5 + call AnimScript_82D03D5 + call AnimScript_82D03D5 + call AnimScript_82D03D5 + call AnimScript_82D03D5 + call AnimScript_82D03D5 + waitforvisualfinish + end + +AnimScript_82D03D5: + createsprite gUnknown_085971CC, 0x82, 15, 15, 20, 0, 0 + createsprite gUnknown_085971CC, 0x82, 15, 15, 20, 10, 5 + createsprite gUnknown_085971CC, 0x82, 15, 15, 20, -10, -5 + createsprite gUnknown_085971CC, 0x82, 15, 15, 20, 20, 10 + createsprite gUnknown_085971CC, 0x82, 15, 15, 20, -20, -10 + delay 0x2 + return + +Move_DRAGON_RAGE: + loadspritegfx 0x272D + loadspritegfx 0x2733 + playsewithpan SE_W082, -64 + createvisualtask sub_80D51AC, 0x5, 0, 0, 2, 40, 1 + waitforvisualfinish + createsprite gUnknown_0857FE70, 0x82, 0, 15, 0, 0, 4 + waitforvisualfinish + createsprite gUnknown_08596F80, 0x82, 30, 15, 0, 10, 10 + waitforvisualfinish + loopsewithpan SE_W172B, +63, 0xB, 0x3 + createvisualtask sub_80D51AC, 0x5, 1, 0, 3, 25, 1 + createsprite gUnknown_08596F28, 0xC2, 1, 5, 0 + delay 0x1 + createsprite gUnknown_08596F28, 0xC2, 1, -10, -15 + delay 0x1 + createsprite gUnknown_08596F28, 0x82, 1, 0, 25 + delay 0x1 + createsprite gUnknown_08596F28, 0xC2, 1, 15, 5 + delay 0x1 + createsprite gUnknown_08596F28, 0xC2, 1, -25, 0 + delay 0x1 + createsprite gUnknown_08596F28, 0x82, 1, 30, 30 + delay 0x1 + createsprite gUnknown_08596F28, 0x82, 1, -27, 25 + delay 0x1 + createsprite gUnknown_08596F28, 0xC2, 1, 0, 8 + waitforvisualfinish + createsprite gUnknown_0857FE58, 0xC2, 0, 0, 4 + waitforvisualfinish + end + +Move_RAIN_DANCE: + loadspritegfx 0x2783 + playsewithpan SE_W240, -64 + createvisualtask sub_8116620, 0xA, 1921, 2, 0, 4, 0 + waitforvisualfinish + createvisualtask sub_8107188, 0x2, 0, 3, 120 + createvisualtask sub_8107188, 0x2, 0, 3, 120 + delay 0x78 + delay 0x1E + waitforvisualfinish + createvisualtask sub_8116620, 0xA, 1921, 2, 4, 0, 0 + waitforvisualfinish + end + +Move_BITE: + loadspritegfx 0x279B + loadspritegfx 0x2797 + monbg ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W044, +63 + createsprite gUnknown_08597080, 0x2, 0, -32, 0, 0, 819, 10 + createsprite gUnknown_08597080, 0x2, 0, 32, 4, 0, -819, 10 + delay 0xA + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 + createvisualtask sub_80D51AC, 0x5, 1, 0, 4, 7, 1 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + delay 0x1 + end + +Move_CRUNCH: + loadspritegfx 0x279B + loadspritegfx 0x2797 + monbg ANIM_TARGET + fadetobg BG_DARK + waitbgfadein + setalpha 0x80C + playsewithpan SE_W044, +63 + createsprite gUnknown_08597080, 0x2, -32, -32, 1, 819, 819, 10 + createsprite gUnknown_08597080, 0x2, 32, 32, 5, -819, -819, 10 + delay 0xA + createsprite gUnknown_08597358, 0x2, -8, 0, 1, 1 + createvisualtask sub_80D51AC, 0x5, 1, 0, 7, 5, 2 + waitforvisualfinish + playsewithpan SE_W044, +63 + createsprite gUnknown_08597080, 0x2, 32, -32, 7, -819, 819, 10 + createsprite gUnknown_08597080, 0x2, -32, 32, 3, 819, -819, 10 + delay 0xA + createsprite gUnknown_08597358, 0x2, 8, 0, 1, 1 + createvisualtask sub_80D51AC, 0x5, 1, 0, 8, 4, 2 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + delay 0x1 + restorebg + waitbgfadein + end + +Move_CLAMP: + loadspritegfx 0x27A1 + loadspritegfx 0x2797 + monbg ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W011, +63 + createsprite gUnknown_08597098, 0x2, -32, 0, 2, 819, 0, 10 + createsprite gUnknown_08597098, 0x2, 32, 0, 6, -819, 0, 10 + delay 0xA + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 + createvisualtask sub_80D51AC, 0x5, 1, 3, 0, 5, 1 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + waitforvisualfinish + end + +Move_ICE_BEAM: + monbg ANIM_TARGET + monbgprio_28 ANIM_TARGET + setalpha 0x80C + loadspritegfx 0x279D + createsprite gUnknown_08597274, 0x2, 1, 1, 0, 7, RGB_BLACK + waitforvisualfinish + createsoundtask sub_8158C58, 183, -64, 63, 4, 4, 0, 10 + createsprite gUnknown_08595B2C, 0x2, 20, 12, 0, 12, 20 + createsprite gUnknown_08595B2C, 0x2, 20, -12, 0, -12, 20 + delay 0x1 + call AnimScript_82D07C1 + call AnimScript_82D07C1 + call AnimScript_82D07C1 + createsprite gUnknown_08597274, 0x2, 4, -31, 0, 7, RGB(0, 20, 31) + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 25, 1 + call AnimScript_82D07C1 + call AnimScript_82D07C1 + call AnimScript_82D07C1 + call AnimScript_82D07C1 + call AnimScript_82D07C1 + call AnimScript_82D07C1 + call AnimScript_82D07C1 + call AnimScript_82D07C1 + createsprite gUnknown_08595B14, 0x2, 20, 0, 0, 0, 11 + delay 0x1 + createsprite gUnknown_08595B14, 0x2, 20, 0, 0, 0, 11 + waitforvisualfinish + delay 0x14 + call AnimScript_82D7720 + createsprite gUnknown_08597274, 0x2, 4, 5, 7, 0, RGB(0, 20, 31) + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 0, 7, 0, RGB_BLACK + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +AnimScript_82D07C1: + createsprite gUnknown_08595B2C, 0x2, 20, 12, 0, 12, 20 + createsprite gUnknown_08595B2C, 0x2, 20, -12, 0, -12, 20 + createsprite gUnknown_08595B14, 0x2, 20, 0, 0, 0, 11 + delay 0x1 + return + +Move_WITHDRAW: + playsewithpan SE_W029, -64 + createvisualtask sub_81036A0, 0x5 + waitforvisualfinish + end + +Move_AURORA_BEAM: + loadspritegfx 0x279C + fadetobg BG_AURORABEAM + waitbgfadein + playsewithpan SE_W062, -64 + setarg 0x7, 0x0 + createvisualtask sub_8107528, 0xA, 130 + call AnimScript_82D088B + createvisualtask sub_80D52D0, 0x5, 1, 1, 0, 17, 1 + call AnimScript_82D088B + call AnimScript_82D088B + call AnimScript_82D088B + setarg 0x7, 0xFFFF + createsoundtask sub_8158C58, 183, -64, 63, 3, 6, 0, 10 + createvisualtask sub_80D52D0, 0x5, 1, 2, 0, 40, 1 + call AnimScript_82D088B + call AnimScript_82D088B + call AnimScript_82D088B + call AnimScript_82D088B + call AnimScript_82D088B + call AnimScript_82D088B + waitforvisualfinish + restorebg + waitbgfadein + end + +AnimScript_82D088B: + createsprite gUnknown_085950B4, 0x82, 20, 0, 0, 0, 17 + delay 0x1 + createsprite gUnknown_085950B4, 0x82, 20, 0, 0, 0, 17 + delay 0x1 + createsprite gUnknown_085950B4, 0x82, 20, 0, 0, 0, 17 + delay 0x1 + createsprite gUnknown_085950B4, 0x82, 20, 0, 0, 0, 17 + delay 0x1 + return + +Move_SOLAR_BEAM: + loadspritegfx 0x27A3 + choosetwoturnanim AnimScript_82D08E6, AnimScript_82D09E3 + +AnimScript_82D08E4: + waitforvisualfinish + end + +AnimScript_82D08E6: + monbg ANIM_ATK_PARTNER + setalpha 0x80C + createvisualtask sub_8115A04, 0x2, 2, 1, 4, 0, 11, 12287 + playsewithpan SE_W025, -64 + call AnimScript_82D0910 + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + blendoff + goto AnimScript_82D08E4 + +AnimScript_82D0910: + createsprite gUnknown_085921E0, 0x2, 40, 40, 16 + delay 0x2 + createsprite gUnknown_085921E0, 0x2, -40, -40, 16 + delay 0x2 + createsprite gUnknown_085921E0, 0x2, 0, 40, 16 + delay 0x2 + createsprite gUnknown_085921E0, 0x2, 0, -40, 16 + delay 0x2 + createsprite gUnknown_085921E0, 0x2, 40, -20, 16 + delay 0x2 + createsprite gUnknown_085921E0, 0x2, 40, 20, 16 + delay 0x2 + createsprite gUnknown_085921E0, 0x2, -40, -20, 16 + delay 0x2 + createsprite gUnknown_085921E0, 0x2, -40, 20, 16 + delay 0x2 + createsprite gUnknown_085921E0, 0x2, -20, 30, 16 + delay 0x2 + createsprite gUnknown_085921E0, 0x2, 20, -30, 16 + delay 0x2 + createsprite gUnknown_085921E0, 0x2, -20, -30, 16 + delay 0x2 + createsprite gUnknown_085921E0, 0x2, 20, 30, 16 + delay 0x2 + createsprite gUnknown_085921E0, 0x2, -40, 0, 16 + delay 0x2 + createsprite gUnknown_085921E0, 0x2, 40, 0, 16 + delay 0x2 + return + +AnimScript_82D09E3: + call AnimScript_82D7D1D + panse_1B SE_W076, -64, +63, +2, 0x0 + createvisualtask sub_80FEA58, 0x5 + createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 0 + delay 0x4 + createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 1 + delay 0x4 + createvisualtask sub_8116620, 0xA, 4, 1, 0, 10, 1017 + createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 2 + delay 0x4 + createvisualtask sub_80D52D0, 0x5, 1, 2, 0, 65, 1 + createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 3 + delay 0x4 + createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 4 + delay 0x4 + createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 5 + delay 0x4 + createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 6 + delay 0x4 + call AnimScript_82D0AB5 + call AnimScript_82D0AB5 + waitforvisualfinish + createvisualtask sub_8116620, 0xA, 4, 1, 10, 0, 1017 + call AnimScript_82D7D57 + goto AnimScript_82D08E4 + +AnimScript_82D0AB5: + createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 0 + delay 0x4 + createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 1 + delay 0x4 + createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 2 + delay 0x4 + createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 3 + delay 0x4 + createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 4 + delay 0x4 + createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 5 + delay 0x4 + createsprite gUnknown_085921F8, 0x83, 15, 0, 20, 6 + delay 0x4 + return + +Move_BLIZZARD: + loadspritegfx 0x279D + monbg ANIM_DEF_PARTNER + createvisualtask sub_8117754, 0x2 + jumpargeq 0x7, 0x1, AnimScript_82D0CB2 + fadetobg BG_HIGHSPEED_OPPONENT + +AnimScript_82D0B43: + waitbgfadeout + createvisualtask sub_8117660, 0x5, -2304, 0, 1, -1 + waitbgfadein + waitforvisualfinish + panse_1B SE_W059, -64, +63, +2, 0x0 + call AnimScript_82D0B7D + call AnimScript_82D0B7D + playsewithpan SE_W059B, +63 + waitforvisualfinish + call AnimScript_82D77A4 + waitforvisualfinish + delay 0x14 + restorebg + waitbgfadeout + setarg 0x7, 0xFFFF + waitbgfadein + clearmonbg ANIM_DEF_PARTNER + end + +AnimScript_82D0B7D: + createsprite gUnknown_08595B98, 0x28, 0, -10, 0, -10, 72, 1 + createsprite gUnknown_08595BB0, 0x28, 0, 0, 0, 0, 80, 0, 0, 1 + delay 0x3 + createsprite gUnknown_08595B98, 0x28, 0, -15, 0, -15, 72, 1 + createsprite gUnknown_08595BB0, 0x28, 0, -10, 0, -10, 80, 0, 0, 1 + delay 0x3 + createsprite gUnknown_08595B98, 0x28, 0, -5, 0, -5, 72, 1 + createsprite gUnknown_08595BB0, 0x28, 0, 10, 0, 10, 80, 0, 0, 1 + delay 0x3 + createsprite gUnknown_08595B98, 0x28, 0, -10, 0, -10, 72, 1 + createsprite gUnknown_08595BB0, 0x28, 0, -20, 0, -20, 80, 0, 0, 1 + delay 0x3 + createsprite gUnknown_08595B98, 0x28, 0, -20, 0, -20, 72, 1 + createsprite gUnknown_08595BB0, 0x28, 0, 15, 0, 15, 80, 0, 0, 1 + delay 0x3 + createsprite gUnknown_08595B98, 0x28, 0, -15, 0, -15, 72, 1 + createsprite gUnknown_08595BB0, 0x28, 0, -20, 0, -20, 80, 0, 0, 1 + delay 0x3 + createsprite gUnknown_08595B98, 0x28, 0, -25, 0, -25, 72, 1 + createsprite gUnknown_08595BB0, 0x28, 0, 20, 0, 20, 80, 0, 0, 1 + delay 0x3 + return + +AnimScript_82D0CB2: + fadetobg BG_HIGHSPEED_PLAYER + goto AnimScript_82D0B43 + +Move_POWDER_SNOW: + loadspritegfx 0x279D + monbg ANIM_DEF_PARTNER + createsprite gUnknown_08597274, 0x2, 31, 1, 0, 3, RGB_BLACK + waitforvisualfinish + panse_1B SE_W016, -64, +63, +2, 0x0 + call AnimScript_82D0D03 + call AnimScript_82D0D03 + playsewithpan SE_W016B, +63 + waitforvisualfinish + waitsound + call AnimScript_82D77A4 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + delay 0x14 + createsprite gUnknown_08597274, 0x2, 31, 1, 3, 0, RGB_BLACK + end + +AnimScript_82D0D03: + createsprite gUnknown_08595BC8, 0x28, 0, 0, 0, 0, 56, 4, 4, 1 + delay 0x3 + createsprite gUnknown_08595BC8, 0x28, 0, -10, 0, -10, 56, 4, 4, 1 + delay 0x3 + createsprite gUnknown_08595BC8, 0x28, 0, 10, 0, 10, 56, -4, 3, 1 + delay 0x3 + createsprite gUnknown_08595BC8, 0x28, 0, -20, 0, -20, 56, -4, 5, 1 + delay 0x3 + createsprite gUnknown_08595BC8, 0x28, 0, 15, 0, 15, 56, 4, 4, 1 + delay 0x3 + createsprite gUnknown_08595BC8, 0x28, 0, -20, 0, -20, 56, 4, 4, 1 + delay 0x3 + createsprite gUnknown_08595BC8, 0x28, 0, 20, 0, 20, 56, 4, 4, 1 + delay 0x3 + return + +Move_HYDRO_PUMP: + loadspritegfx 0x27A5 + loadspritegfx 0x27A4 + monbg ANIM_DEF_PARTNER + monbgprio_28 ANIM_TARGET + setalpha 0x80C + createvisualtask sub_80D51AC, 0x5, 0, 0, 2, 40, 1 + delay 0x6 + panse_1B SE_W056, -64, +63, +2, 0x0 + createvisualtask sub_81076C8, 0x5, 100 + call AnimScript_82D0E52 + call AnimScript_82D0E52 + call AnimScript_82D0E52 + createvisualtask sub_80D51AC, 0x5, 1, 3, 0, 37, 1 + call AnimScript_82D0E93 + call AnimScript_82D0E52 + call AnimScript_82D0E52 + call AnimScript_82D0E93 + call AnimScript_82D0E52 + call AnimScript_82D0E52 + call AnimScript_82D0E93 + call AnimScript_82D0E52 + call AnimScript_82D0E52 + call AnimScript_82D0E93 + call AnimScript_82D0E52 + call AnimScript_82D0E52 + call AnimScript_82D0E93 + delay 0x1 + delay 0x1 + call AnimScript_82D0E93 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +AnimScript_82D0E52: + createsprite gUnknown_085950E4, 0x3, 10, 10, 0, 16 + createsprite gUnknown_085950E4, 0x3, 10, 10, 0, -16 + delay 0x1 + createsprite gUnknown_085950E4, 0x3, 10, 10, 0, 16 + createsprite gUnknown_085950E4, 0x3, 10, 10, 0, -16 + delay 0x1 + return + +AnimScript_82D0E93: + createsprite gUnknown_08597388, 0x4, 0, 15, 1, 1 + createsprite gUnknown_08597388, 0x4, 0, -15, 1, 1 + return + +Move_SIGNAL_BEAM: + loadspritegfx 0x2818 + loadspritegfx 0x2819 + loadspritegfx 0x2759 + createvisualtask sub_80D51AC, 0x5, 0, 0, 2, 25, 1 + delay 0x6 + panse_1B SE_W062, -64, +63, +1, 0x0 + createvisualtask sub_81076C8, 0x5, 100 + call AnimScript_82D0F79 + call AnimScript_82D0F79 + call AnimScript_82D0F79 + call AnimScript_82D0F79 + call AnimScript_82D0F79 + call AnimScript_82D0F79 + createvisualtask sub_80D51AC, 0x5, 1, 3, 0, 25, 1 + createsprite gUnknown_0859728C, 0x2, 4, 8, 5, 31, 8, 961, 8 + call AnimScript_82D0F79 + call AnimScript_82D0F79 + call AnimScript_82D0F79 + call AnimScript_82D0F79 + call AnimScript_82D0F79 + call AnimScript_82D0F79 + call AnimScript_82D0F79 + call AnimScript_82D0F79 + call AnimScript_82D0F79 + call AnimScript_82D0F79 + call AnimScript_82D0F79 + call AnimScript_82D0F79 + call AnimScript_82D0F79 + call AnimScript_82D0F79 + call AnimScript_82D0F79 + call AnimScript_82D0F79 + call AnimScript_82D0F79 + waitforvisualfinish + end + +AnimScript_82D0F79: + createsprite gUnknown_08595114, 0x83, 10, 10, 0, 16 + createsprite gUnknown_0859512C, 0x83, 10, 10, 0, -16 + delay 0x1 + return + +Move_ABSORB: + loadspritegfx 0x27A3 + loadspritegfx 0x272F + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + monbgprio_2A ANIM_TARGET + setalpha 0x80C + createsprite gUnknown_08597274, 0x2, 1, 1, 0, 4, RGB(13, 31, 12) + waitforvisualfinish + playsewithpan SE_W071, +63 + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 + delay 0x2 + createvisualtask sub_80D51AC, 0x5, 1, 0, 5, 5, 1 + waitforvisualfinish + delay 0x3 + call AnimScript_82D1009 + waitforvisualfinish + delay 0xF + call AnimScript_82D79DF + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 1, 4, 0, RGB(13, 31, 12) + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +AnimScript_82D1009: + playsewithpan SE_W152, +63 + createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 + delay 0x4 + playsewithpan SE_W152, +63 + createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 + delay 0x4 + playsewithpan SE_W152, +63 + createsprite gUnknown_08592270, 0x3, -5, 15, 16, 33 + delay 0x4 + playsewithpan SE_W152, +63 + createsprite gUnknown_08592270, 0x3, 0, -15, -16, 36 + delay 0x4 + playsewithpan SE_W152, +63 + createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 + delay 0x4 + playsewithpan SE_W152, +63 + createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 + delay 0x4 + playsewithpan SE_W152, +63 + createsprite gUnknown_08592270, 0x3, -10, 20, 20, 39 + delay 0x4 + playsewithpan SE_W152, +63 + createsprite gUnknown_08592270, 0x3, 5, -18, -20, 35 + delay 0x4 + return + +Move_MEGA_DRAIN: + loadspritegfx 0x27A3 + loadspritegfx 0x272F + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + monbgprio_2A ANIM_TARGET + setalpha 0x80C + createsprite gUnknown_08597274, 0x2, 1, 1, 0, 8, RGB(13, 31, 12) + waitforvisualfinish + playsewithpan SE_W071, +63 + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 1 + delay 0x2 + createvisualtask sub_80D51AC, 0x5, 1, 0, 5, 5, 1 + waitforvisualfinish + delay 0x3 + call AnimScript_82D1121 + waitforvisualfinish + delay 0xF + call AnimScript_82D79DF + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 1, 8, 0, RGB(13, 31, 12) + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +AnimScript_82D1121: + playsewithpan SE_W145C, +63 + createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 0x3, 5, -18, -20, 35 + delay 0x4 + playsewithpan SE_W145C, +63 + createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 + createsprite gUnknown_08592270, 0x3, -10, 20, 20, 39 + delay 0x4 + playsewithpan SE_W145C, +63 + createsprite gUnknown_08592270, 0x3, -5, 15, 16, 33 + createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 + delay 0x4 + playsewithpan SE_W145C, +63 + createsprite gUnknown_08592270, 0x3, 0, -15, -16, 36 + createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 + delay 0x4 + playsewithpan SE_W145C, +63 + createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 0x3, 0, -15, -16, 36 + delay 0x4 + playsewithpan SE_W145C, +63 + createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 + createsprite gUnknown_08592270, 0x3, -5, 15, 16, 33 + delay 0x4 + playsewithpan SE_W145C, +63 + createsprite gUnknown_08592270, 0x3, -10, 20, 20, 39 + createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 + delay 0x4 + playsewithpan SE_W145C, +63 + createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 0x3, 5, -18, -20, 35 + delay 0x4 + return + +Move_GIGA_DRAIN: + loadspritegfx 0x27A3 + loadspritegfx 0x272F + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + monbgprio_2A ANIM_TARGET + setalpha 0x80C + createsprite gUnknown_08597274, 0x2, 1, 1, 0, 12, RGB(13, 31, 12) + waitforvisualfinish + playsewithpan SE_W071, +63 + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 0 + delay 0x2 + createvisualtask sub_80D51AC, 0x5, 1, 0, 5, 5, 1 + waitforvisualfinish + delay 0x3 + call AnimScript_82D12B1 + waitforvisualfinish + delay 0xF + call AnimScript_82D79DF + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 1, 12, 0, RGB(13, 31, 12) + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +AnimScript_82D12B1: + playsewithpan SE_W202, +63 + createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 0x3, 5, -18, -40, 35 + createsprite gUnknown_08592270, 0x3, -10, 20, 20, 39 + delay 0x4 + playsewithpan SE_W202, +63 + createsprite gUnknown_08592270, 0x3, 0, 5, 28, 26 + createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 + createsprite gUnknown_08592270, 0x3, -10, 20, 40, 39 + delay 0x4 + playsewithpan SE_W202, +63 + createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 + createsprite gUnknown_08592270, 0x3, -5, 15, 16, 33 + createsprite gUnknown_08592270, 0x3, 10, -5, -32, 26 + delay 0x4 + playsewithpan SE_W202, +63 + createsprite gUnknown_08592270, 0x3, 0, -15, -16, 36 + createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 + delay 0x4 + playsewithpan SE_W202, +63 + createsprite gUnknown_08592270, 0x3, -5, 15, 16, 33 + createsprite gUnknown_08592270, 0x3, 0, -15, -16, 36 + createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 + delay 0x4 + playsewithpan SE_W202, +63 + createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 0x3, -5, 15, 16, 33 + createsprite gUnknown_08592270, 0x3, 10, -5, -40, 26 + delay 0x4 + playsewithpan SE_W202, +63 + createsprite gUnknown_08592270, 0x3, -5, 15, 36, 33 + createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 + createsprite gUnknown_08592270, 0x3, -10, 20, 20, 39 + delay 0x4 + playsewithpan SE_W202, +63 + createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 0x3, 5, -18, -20, 35 + delay 0x4 + return + +Move_LEECH_LIFE: + loadspritegfx 0x27B1 + loadspritegfx 0x27A3 + delay 0x1 + loadspritegfx 0x272F + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + monbgprio_2A ANIM_TARGET + setalpha 0x80C + delay 0x1 + createsprite gUnknown_085969C8, 0x2, -20, 15, 12 + waitforvisualfinish + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 + playsewithpan SE_W071, +63 + delay 0x2 + createvisualtask sub_80D51AC, 0x5, 1, 0, 5, 5, 1 + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 1, 0, 7, 0 + waitforvisualfinish + call AnimScript_82D1009 + waitforvisualfinish + delay 0xF + call AnimScript_82D79DF + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 1, 7, 0, 0 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_SYNTHESIS: + loadspritegfx 0x2741 + createvisualtask sub_8115A04, 0x2, 2, 2, 2, 0, 16, 19451 + playsewithpan SE_W025, -64 + call AnimScript_82D79B4 + waitforvisualfinish + unloadspritegfx 0x2741 + delay 0x1 + loadspritegfx 0x272F + call AnimScript_82D79DF + waitforvisualfinish + end + +Move_TOXIC: + loadspritegfx 0x27A7 + loadspritegfx 0x27A6 + call AnimScript_82D1515 + call AnimScript_82D1515 + waitforvisualfinish + delay 0xF + call AnimScript_82D7A71 + waitforvisualfinish + end + +AnimScript_82D1515: + createsprite gUnknown_08596134, 0x82, -24, 16, 1, 1 + playsewithpan SE_W092, +63 + delay 0xF + createsprite gUnknown_08596134, 0x82, 8, 16, 1, 1 + playsewithpan SE_W092, +63 + delay 0xF + createsprite gUnknown_08596134, 0x82, -8, 16, 1, 1 + playsewithpan SE_W092, +63 + delay 0xF + createsprite gUnknown_08596134, 0x82, 24, 16, 1, 1 + playsewithpan SE_W092, +63 + delay 0xF + return + +Move_SLUDGE: + loadspritegfx 0x27A6 + playsewithpan SE_W145C, -64 + createsprite gUnknown_085961A8, 0x82, 20, 0, 40, 0 + waitforvisualfinish + createvisualtask sub_80D51AC, 0x5, 1, 3, 0, 5, 1 + createvisualtask sub_8115A04, 0x2, 4, 1, 2, 0, 12, 31774 + call AnimScript_82D7A71 + waitforvisualfinish + end + +Move_SLUDGE_BOMB: + loadspritegfx 0x27A6 + call AnimScript_82D16BC + call AnimScript_82D16BC + call AnimScript_82D16BC + call AnimScript_82D16BC + call AnimScript_82D16BC + call AnimScript_82D16BC + call AnimScript_82D16BC + call AnimScript_82D16BC + call AnimScript_82D16BC + call AnimScript_82D16BC + createvisualtask sub_80D52D0, 0x5, 1, 3, 0, 15, 1 + createvisualtask sub_8115A04, 0x2, 4, 1, 2, 0, 12, 31774 + createsprite gUnknown_085961D8, 0x82, 42, 27, 20 + createsprite gUnknown_085961D8, 0x82, -27, 44, 20 + createsprite gUnknown_085961D8, 0x82, 39, -28, 20 + createsprite gUnknown_085961D8, 0x82, -42, -42, 20 + playsewithpan SE_W091, +63 + delay 0x5 + createsprite gUnknown_085961D8, 0x82, 0, 40, 20 + createsprite gUnknown_085961D8, 0x82, -8, -44, 20 + createsprite gUnknown_085961D8, 0x82, -46, -28, 20 + createsprite gUnknown_085961D8, 0x82, 46, 9, 20 + playsewithpan SE_W091, +63 + delay 0x5 + createsprite gUnknown_085961D8, 0x82, 42, 0, 20 + createsprite gUnknown_085961D8, 0x82, -43, -12, 20 + createsprite gUnknown_085961D8, 0x82, 16, -46, 20 + createsprite gUnknown_085961D8, 0x82, -16, 44, 20 + playsewithpan SE_W091, +63 + delay 0x0 + waitsound + waitforvisualfinish + call AnimScript_82D7A71 + waitforvisualfinish + end + +AnimScript_82D16BC: + playsewithpan SE_W145C, -64 + createsprite gUnknown_085961A8, 0x82, 20, 0, 40, 0 + delay 0x3 + return + +Move_ACID: + loadspritegfx 0x27A6 + monbg ANIM_DEF_PARTNER + createsprite gUnknown_085961C0, 0x82, 20, 0, 40, 1, 0, 0 + playsewithpan SE_W145C, -64 + delay 0x5 + createsprite gUnknown_085961C0, 0x82, 20, 0, 40, 1, 24, 0 + playsewithpan SE_W145C, -64 + delay 0x5 + createsprite gUnknown_085961C0, 0x82, 20, 0, 40, 1, -24, 0 + playsewithpan SE_W145C, -64 + delay 0xF + createvisualtask sub_80D52D0, 0x5, 1, 2, 0, 10, 1 + createvisualtask sub_80D52D0, 0x5, 3, 2, 0, 10, 1 + createvisualtask sub_8115A04, 0x2, 20, 2, 2, 0, 12, 31774 + createsprite gUnknown_0859620C, 0x82, 0, -22, 0, 15, 55 + playsewithpan SE_W145, +63 + delay 0xA + createsprite gUnknown_0859620C, 0x82, -26, -24, 0, 15, 55 + playsewithpan SE_W145, +63 + delay 0xA + createsprite gUnknown_0859620C, 0x82, 15, -27, 0, 15, 50 + playsewithpan SE_W145, +63 + delay 0xA + createsprite gUnknown_0859620C, 0x82, -15, -17, 0, 10, 45 + playsewithpan SE_W145, +63 + delay 0xA + createsprite gUnknown_0859620C, 0x82, 27, -22, 0, 15, 50 + playsewithpan SE_W145, +63 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + end + +Move_BONEMERANG: + loadspritegfx 0x2710 + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + monbgprio_28 ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W155, -64 + createsprite gUnknown_08597178, 0x2 + delay 0x14 + playsewithpan SE_W030, +63 + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 1 + createvisualtask sub_80D51AC, 0x5, 1, 5, 0, 5, 1 + delay 0x11 + playsewithpan SE_W233, -64 + createsprite gUnknown_0857FE28, 0x2, 6, -4 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_BONE_CLUB: + loadspritegfx 0x2710 + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + monbgprio_28 ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W155, +63 + createsprite gUnknown_08597190, 0x2, -42, -25, 0, 0, 15 + delay 0xC + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 1 + createvisualtask sub_80D51AC, 0x5, 1, 0, 5, 5, 1 + createsprite gUnknown_0859728C, 0x2, 7, 5, 1, 0, 10, 0, 0 + playsewithpan SE_W233B, +63 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_BONE_RUSH: + loadspritegfx 0x2710 + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + playsewithpan SE_W155, +63 + createsprite gUnknown_08597190, 0x2, -42, -25, 0, 0, 15 + delay 0xC + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 + createvisualtask sub_80D51AC, 0x5, 1, 0, 3, 5, 1 + playsewithpan SE_W030, +63 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_SPIKES: + loadspritegfx 0x27A8 + monbg ANIM_DEF_PARTNER + playsewithpan SE_W026, -64 + waitplaysewithpan SE_W030, +63, 0x1C + createsprite gUnknown_085CE11C, 0x82, 20, 0, 0, 24, 30 + delay 0xA + playsewithpan SE_W026, -64 + waitplaysewithpan SE_W030, +63, 0x1C + createsprite gUnknown_085CE11C, 0x82, 20, 0, -24, 24, 30 + delay 0xA + waitplaysewithpan SE_W030, +63, 0x1C + createsprite gUnknown_085CE11C, 0x82, 20, 0, 24, 24, 30 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + end + +Move_MEGAHORN: + loadspritegfx 0x27A9 + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + playsewithpan SE_W082, -64 + jumpifcontest AnimScript_82D19FA + fadetobg BG_DRILL + waitbgfadeout + createvisualtask sub_8117660, 0x5, -2304, 768, 1, -1 + +AnimScript_82D1947: + waitbgfadein + setalpha 0x80C + createvisualtask sub_80D51AC, 0x5, 0, 2, 0, 15, 1 + waitforvisualfinish + delay 0xA + createsprite gUnknown_0857FE70, 0x2, 0, 24, 0, 0, 6 + delay 0x3 + createsprite gUnknown_08596974, 0x3, -42, 25, 0, 0, 6 + delay 0x4 + playsewithpan SE_W011, +63 + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 0 + createsprite gUnknown_0857FE70, 0x2, 1, -16, 4, 1, 4 + waitforvisualfinish + createvisualtask sub_80D5484, 0x2, 1, -4, 1, 12, 1 + createsprite gUnknown_0859728C, 0x2, 7, 5, 1, 0x7FFF, 10, 0, 0 + delay 0xA + createsprite gUnknown_0857FE58, 0x2, 0, 0, 11 + delay 0x3 + createsprite gUnknown_0857FE58, 0x2, 1, 0, 7 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + restorebg + waitbgfadeout + setarg 0x7, 0xFFFF + waitbgfadein + end + +AnimScript_82D19FA: + fadetobg BG_DRILL_CONTESTS + waitbgfadeout + createvisualtask sub_8117660, 0x5, 2304, 768, 0, -1 + goto AnimScript_82D1947 + +Move_GUST: + loadspritegfx 0x2719 + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + monbgprio_28 ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W016, +63 + createsprite gUnknown_08596270, 0x2, 0, -16 + createvisualtask sub_810DED8, 0x5, 1, 70 + waitforvisualfinish + createvisualtask sub_80D52D0, 0x5, 1, 1, 0, 7, 1 + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 + playsewithpan SE_W016B, +63 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_WING_ATTACK: + loadspritegfx 0x2719 + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + monbgprio_28 ANIM_TARGET + setalpha 0x80C + loopsewithpan SE_W017, -64, 0x14, 0x2 + createvisualtask sub_80D5738, 0x2, 0, 12, 4, 1, 4 + createvisualtask sub_810DED8, 0x5, 1, 70 + createsprite gUnknown_085962A4, 0x2, -25, 0, 0, 0, 20 + createsprite gUnknown_085962A4, 0x2, 25, 0, 0, 0, 20 + delay 0x18 + createsprite gUnknown_0857FE70, 0x2, 0, 24, 0, 0, 9 + delay 0x11 + createsprite gUnknown_08597358, 0x2, 16, 0, 1, 1 + createsprite gUnknown_08597358, 0x2, -16, 0, 1, 1 + loopsewithpan SE_W003, +63, 0x5, 0x2 + waitforvisualfinish + createsprite gUnknown_0857FE58, 0x2, 0, 0, 11 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_PECK: + loadspritegfx 0x2797 + playsewithpan SE_W030, +63 + createvisualtask sub_80D622C, 0x2, 3, -768, 1, 2 + createsprite gUnknown_085973E8, 0x83, -12, 0, 1, 3 + waitforvisualfinish + end + +Move_AEROBLAST: + loadspritegfx 0x27AA + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + call AnimScript_82D7CE5 + monbgprio_28 ANIM_TARGET + setalpha 0x80C + call AnimScript_82D1B82 + createvisualtask sub_80D51AC, 0x5, 1, 5, 0, 50, 1 + call AnimScript_82D1B82 + call AnimScript_82D1B82 + call AnimScript_82D1B82 + call AnimScript_82D1B82 + waitforvisualfinish + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 0 + playsewithpan SE_W013, +63 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + delay 0x0 + call AnimScript_82D7D15 + end + +AnimScript_82D1B82: + playsewithpan SE_W026, -64 + createsprite gUnknown_085962D4, 0x2, 14, -12, 0, -12, 15, 0, 0 + createsprite gUnknown_085962D4, 0x2, 26, 8, 12, 8, 15, 0, 0 + delay 0x3 + playsewithpan SE_W026, -64 + createsprite gUnknown_085962D4, 0x2, 14, -12, 0, -12, 15, 1, 0 + createsprite gUnknown_085962D4, 0x2, 26, 8, 12, 8, 15, 1, 0 + delay 0x3 + playsewithpan SE_W026, -64 + createsprite gUnknown_085962D4, 0x2, 14, -12, 0, -12, 15, 2, 0 + createsprite gUnknown_085962D4, 0x2, 26, 8, 12, 8, 15, 2, 0 + delay 0x3 + playsewithpan SE_W026, -64 + createsprite gUnknown_085962D4, 0x2, 14, -12, 0, -12, 15, 3, 0 + createsprite gUnknown_085962D4, 0x2, 26, 8, 12, 8, 15, 3, 0 + delay 0x3 + return + +Move_WATER_GUN: + loadspritegfx 0x27AB + loadspritegfx 0x27A4 + monbg ANIM_DEF_PARTNER + monbgprio_28 ANIM_TARGET + setalpha 0x80C + createsprite gUnknown_08595208, 0x2, 20, 0, 0, 0, 40, -25 + playsewithpan SE_W145, -64 + waitforvisualfinish + createvisualtask sub_80D52D0, 0x5, 1, 1, 0, 8, 1 + createsprite gUnknown_08597388, 0x4, 0, 0, 1, 2 + createsprite gUnknown_08595220, 0x2, 0, -15, 0, 15, 55 + playsewithpan SE_W152, +63 + delay 0xA + createsprite gUnknown_08595220, 0x2, 15, -20, 0, 15, 50 + playsewithpan SE_W152, +63 + delay 0xA + createsprite gUnknown_08595220, 0x2, -15, -10, 0, 10, 45 + playsewithpan SE_W152, +63 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_CRABHAMMER: + loadspritegfx 0x279D + loadspritegfx 0x27A4 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + createsprite gUnknown_08597388, 0x4, 0, 0, 1, 0 + playsewithpan SE_W233B, +63 + delay 0x1 + createsprite gUnknown_0859728C, 0x2, 31, 3, 1, 32429, 10, 0, 0 + createsprite gUnknown_0857FE70, 0x2, 1, -24, 0, 0, 4 + waitforvisualfinish + delay 0x8 + waitforvisualfinish + createsprite gUnknown_0857FE58, 0x2, 1, 0, 4 + waitforvisualfinish + loopsewithpan SE_W152, +63, 0x14, 0x3 + createvisualtask sub_80D51AC, 0x5, 1, 0, 4, 8, 1 + createsprite gUnknown_08595238, 0x2, 10, 10, 20, 1 + delay 0x4 + createsprite gUnknown_08595238, 0x2, 20, -20, 20, 1 + delay 0x4 + createsprite gUnknown_08595238, 0x2, -15, 15, 20, 1 + delay 0x4 + createsprite gUnknown_08595238, 0x2, 0, 0, 20, 1 + delay 0x4 + createsprite gUnknown_08595238, 0x2, -10, -20, 20, 1 + delay 0x4 + createsprite gUnknown_08595238, 0x2, 16, -8, 20, 1 + delay 0x4 + createsprite gUnknown_08595238, 0x2, 5, 8, 20, 1 + delay 0x4 + createsprite gUnknown_08595238, 0x2, -16, 0, 20, 1 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_SURF: + createvisualtask sub_8107954, 0x2, 0 + delay 0x18 + panse_1B SE_W057, -64, +63, +2, 0x0 + waitforvisualfinish + end + +Move_FLAMETHROWER: + loadspritegfx 0x272D + monbg ANIM_DEF_PARTNER + monbgprio_28 ANIM_TARGET + setalpha 0x80C + createvisualtask sub_80D51AC, 0x5, 0, 0, 2, 46, 1 + delay 0x6 + createvisualtask sub_81076C8, 0x5, 100 + panse_1B SE_W053, -64, +63, +2, 0x0 + call AnimScript_82D1E58 + call AnimScript_82D1E58 + call AnimScript_82D1E58 + createvisualtask sub_80D51AC, 0x5, 1, 3, 0, 43, 1 + call AnimScript_82D1E58 + call AnimScript_82D1E58 + call AnimScript_82D1E58 + call AnimScript_82D1E58 + call AnimScript_82D1E58 + call AnimScript_82D1E58 + call AnimScript_82D1E58 + call AnimScript_82D1E58 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +AnimScript_82D1E58: + createsprite gUnknown_08595158, 0x3, 10, 10, 0, 16 + delay 0x2 + createsprite gUnknown_08595158, 0x3, 10, 10, 0, 16 + delay 0x2 + return + +Move_SANDSTORM: + loadspritegfx 0x2815 + playsewithpan SE_W201, 0 + createvisualtask sub_8110BCC, 0x5, 0 + delay 0x10 + createsprite gUnknown_08596BA0, 0x28, 10, 2304, 96, 0 + delay 0xA + createsprite gUnknown_08596BA0, 0x28, 90, 2048, 96, 0 + delay 0xA + createsprite gUnknown_08596BA0, 0x28, 50, 2560, 96, 0 + delay 0xA + createsprite gUnknown_08596BA0, 0x28, 20, 2304, 96, 0 + delay 0xA + createsprite gUnknown_08596BA0, 0x28, 70, 1984, 96, 0 + delay 0xA + createsprite gUnknown_08596BA0, 0x28, 0, 2816, 96, 0 + delay 0xA + createsprite gUnknown_08596BA0, 0x28, 60, 2560, 96, 0 + end + +Move_WHIRLPOOL: + loadspritegfx 0x27A5 + monbg ANIM_DEF_PARTNER + monbgprio_28 ANIM_TARGET + setalpha 0x80C + delay 0x0 + createsprite gUnknown_08597274, 0x0, 4, 2, 0, 7, RGB(0, 13, 23) + playsewithpan SE_W250, +63 + createvisualtask sub_80D51AC, 0x5, 1, 0, 2, 50, 1 + call AnimScript_82D1F5B + call AnimScript_82D1F5B + call AnimScript_82D1F5B + delay 0xC + createsprite gUnknown_08597274, 0x0, 4, 2, 7, 0, RGB(0, 13, 23) + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + end + +AnimScript_82D1F5B: + createsprite gUnknown_08596B70, 0x82, 0, 28, 384, 50, 8, 50, 1 + delay 0x2 + createsprite gUnknown_08596B70, 0x82, 0, 32, 240, 40, 11, -46, 1 + delay 0x2 + createsprite gUnknown_08596B70, 0x82, 0, 33, 416, 40, 4, 42, 1 + delay 0x2 + createsprite gUnknown_08596B70, 0x82, 0, 31, 288, 45, 6, -42, 1 + delay 0x2 + createsprite gUnknown_08596B70, 0x82, 0, 28, 448, 45, 11, 46, 1 + delay 0x2 + createsprite gUnknown_08596B70, 0x82, 0, 33, 464, 50, 10, -50, 1 + delay 0x2 + return + +Move_FLY: + loadspritegfx 0x27AC + loadspritegfx 0x2797 + choosetwoturnanim AnimScript_82D1FF7, AnimScript_82D200F + +AnimScript_82D1FF5: + waitforvisualfinish + end + +AnimScript_82D1FF7: + playsewithpan SE_W019, -64 + createsprite gUnknown_08596340, 0x2, 0, 0, 13, 336 + goto AnimScript_82D1FF5 + +AnimScript_82D200F: + monbg ANIM_DEF_PARTNER + setalpha 0x80C + playsewithpan SE_W104, -64 + createsprite gUnknown_08596358, 0x2, 20 + delay 0x14 + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 0 + createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 + playsewithpan SE_W013, +63 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + goto AnimScript_82D1FF5 + +Move_BOUNCE: + loadspritegfx 0x27AC + loadspritegfx 0x2797 + choosetwoturnanim AnimScript_82D2060, AnimScript_82D2074 + +AnimScript_82D205F: + end + +AnimScript_82D2060: + playsewithpan SE_W100, -64 + createsprite gUnknown_08596420, 0x2, 0, 0 + goto AnimScript_82D205F + +AnimScript_82D2074: + monbg ANIM_DEF_PARTNER + setalpha 0x80C + playsewithpan SE_W207, +63 + createsprite gUnknown_0859644C, 0x83 + delay 0x7 + playsewithpan SE_W025B, +63 + createsprite gUnknown_08597358, 0x82, 0, 0, 1, 0 + createvisualtask sub_80D51AC, 0x5, 1, 0, 5, 11, 1 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + goto AnimScript_82D205F + +Move_KARATE_CHOP: + loadspritegfx 0x279F + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + monbgprio_28 ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W104, +63 + createsprite gUnknown_08595E68, 0x2, -16, 0, 0, 0, 10, 1, 3, 0 + waitforvisualfinish + playsewithpan SE_W004, +63 + createsprite gUnknown_08597358, 0x3, 0, 0, 1, 2 + createvisualtask sub_80D51AC, 0x5, 1, 4, 0, 6, 1 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_CROSS_CHOP: + loadspritegfx 0x279F + loadspritegfx 0x282D + monbg ANIM_DEF_PARTNER + setalpha 0x80C + playsewithpan SE_W025, +63 + createsprite gUnknown_08595EC8, 0x2, 0, 0, 0 + createsprite gUnknown_08595EC8, 0x2, 0, 0, 1 + delay 0x28 + playsewithpan SE_W013, +63 + createsprite gUnknown_0859728C, 0x2, 31, 3, 1, 0x7FFF, 10, 0, 10 + createsprite gUnknown_085973D0, 0x3, 0, 0, 1, 20 + createvisualtask sub_80D51AC, 0x5, 1, 7, 0, 9, 1 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_JUMP_KICK: + loadspritegfx 0x279F + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + createsprite gUnknown_0857FE28, 0x2, 4, 4 + delay 0x3 + createsprite gUnknown_08595E80, 0x2, -16, 8, 0, 0, 10, 1, 1, 1 + playsewithpan SE_W026, +63 + waitforvisualfinish + createsprite gUnknown_08597358, 0x1, 0, 0, 1, 1 + createvisualtask sub_80D51AC, 0x5, 1, 5, 0, 7, 1 + playsewithpan SE_W004, +63 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_HI_JUMP_KICK: + loadspritegfx 0x279F + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + createsprite gUnknown_0857FE70, 0x2, 0, -24, 0, 0, 8 + waitforvisualfinish + delay 0xA + createsprite gUnknown_0857FE58, 0x2, 0, 0, 3 + delay 0x2 + createsprite gUnknown_08595E80, 0x2, -16, 8, 0, 0, 10, 1, 1, 1 + playsewithpan SE_W026, +63 + waitforvisualfinish + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 1 + playsewithpan SE_W233B, +63 + createsprite gUnknown_0857FE70, 0x2, 1, -28, 0, 0, 3 + delay 0x3 + createvisualtask sub_80D5484, 0x2, 1, 3, 0, 11, 1 + waitforvisualfinish + delay 0x5 + createsprite gUnknown_0857FE58, 0x2, 1, 0, 6 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_DOUBLE_KICK: + loadspritegfx 0x279F + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + createsprite gUnknown_08595EB0, 0x3, 1, 20, 1 + createvisualtask sub_80D51AC, 0x5, 1, 4, 0, 6, 1 + playsewithpan SE_W233B, +63 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_TRIPLE_KICK: + loadspritegfx 0x279F + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + playsewithpan SE_W233B, +63 + jumpifmoveturn 0x0, AnimScript_82D22B8 + jumpifmoveturn 0x1, AnimScript_82D22EE + goto AnimScript_82D2324 + +AnimScript_82D22B3: + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +AnimScript_82D22B8: + createsprite gUnknown_08595E98, 0x84, -16, -8, 20, 1, 1 + createsprite gUnknown_08597358, 0x83, -16, -16, 1, 2 + createvisualtask sub_80D51AC, 0x5, 1, 4, 0, 6, 1 + goto AnimScript_82D22B3 + +AnimScript_82D22EE: + createsprite gUnknown_08595E98, 0x84, 8, 8, 20, 1, 1 + createsprite gUnknown_08597358, 0x83, 8, 0, 1, 2 + createvisualtask sub_80D51AC, 0x5, 1, 4, 0, 6, 1 + goto AnimScript_82D22B3 + +AnimScript_82D2324: + createsprite gUnknown_08595E98, 0x84, 0, 0, 20, 1, 1 + createsprite gUnknown_08597358, 0x83, 0, -8, 1, 1 + createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 + goto AnimScript_82D22B3 + +Move_DYNAMIC_PUNCH: + loadspritegfx 0x279F + loadspritegfx 0x2797 + loadspritegfx 0x27D6 + loadspritegfx 0x2717 + delay 0x1 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + playsewithpan SE_W233B, +63 + createsprite gUnknown_08595E98, 0x83, 0, 0, 20, 1, 0 + createsprite gUnknown_08597358, 0x82, 0, 0, 1, 0 + createvisualtask sub_80D51AC, 0x5, 1, 5, 0, 7, 1 + delay 0x1 + waitsound + playsewithpan SE_W120, +63 + createvisualtask sub_80D52D0, 0x5, 1, 5, 0, 28, 1 + createsprite gUnknown_0859371C, 0x3, 0, 0, 1, 1 + delay 0x6 + playsewithpan SE_W120, +63 + createsprite gUnknown_0859371C, 0x3, 24, -24, 1, 1 + delay 0x6 + playsewithpan SE_W120, +63 + createsprite gUnknown_0859371C, 0x3, -16, 16, 1, 1 + delay 0x6 + playsewithpan SE_W120, +63 + createsprite gUnknown_0859371C, 0x3, -24, -12, 1, 1 + delay 0x6 + playsewithpan SE_W120, +63 + createsprite gUnknown_0859371C, 0x3, 16, 16, 1, 1 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_COUNTER: + loadspritegfx 0x2797 + loadspritegfx 0x279F + monbg ANIM_DEF_PARTNER + setalpha 0x80C + createvisualtask sub_80D5830, 0x2, 0, 18, 6, 1, 4 + playsewithpan SE_W233, -64 + waitforvisualfinish + createsprite gUnknown_0857FE70, 0x2, 0, 20, 0, 0, 4 + delay 0x4 + createsprite gUnknown_08597358, 0x2, -15, 18, 1, 0 + playsewithpan SE_W233B, +63 + delay 0x1 + createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 25, 1 + createsprite gUnknown_08595E98, 0x3, -15, 18, 8, 1, 0 + delay 0x3 + createsprite gUnknown_08597358, 0x2, 0, -4, 1, 0 + playsewithpan SE_W233B, +63 + delay 0x1 + createsprite gUnknown_08595E98, 0x3, 0, -4, 8, 1, 0 + delay 0x3 + createsprite gUnknown_08597358, 0x2, 15, 9, 1, 0 + playsewithpan SE_W233B, +63 + delay 0x1 + createsprite gUnknown_08595E98, 0x3, 15, 9, 8, 1, 0 + delay 0x5 + createsprite gUnknown_0857FE58, 0x2, 0, 0, 5 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_VITAL_THROW: + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + playsewithpan SE_W233, -64 + createvisualtask sub_80D5830, 0x2, 0, 12, 4, 1, 2 + waitforvisualfinish + createsprite gUnknown_0857FE70, 0x2, 0, 20, 0, 0, 4 + delay 0x2 + createsprite gUnknown_08597358, 0x3, 0, 0, 1, 1 + playsewithpan SE_W233B, +63 + delay 0x1 + createsprite gUnknown_0857FE70, 0x2, 1, -24, 0, 0, 4 + waitforvisualfinish + delay 0x3 + createsprite gUnknown_0857FE58, 0x2, 0, 0, 7 + delay 0xB + createsprite gUnknown_0857FE58, 0x2, 1, 0, 10 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_ROCK_SMASH: + loadspritegfx 0x274A + loadspritegfx 0x2797 + loadspritegfx 0x279F + monbg ANIM_DEF_PARTNER + setalpha 0x80C + delay 0x1 + createsprite gUnknown_08597358, 0x3, 0, 0, 1, 1 + createsprite gUnknown_08595E98, 0x2, 0, 0, 8, 1, 0 + playsewithpan SE_W233B, +63 + createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 5, 1 + waitforvisualfinish + playsewithpan SE_W088, +63 + createsprite gUnknown_08596B1C, 0x2, 0, 0, 20, 24, 14, 2 + createsprite gUnknown_08596B1C, 0x2, 5, 0, -20, 24, 14, 1 + createsprite gUnknown_08596B1C, 0x2, 0, 5, 20, -24, 14, 2 + createsprite gUnknown_08596B1C, 0x2, -5, 0, -20, -24, 14, 2 + createsprite gUnknown_08596B1C, 0x2, 0, -5, 30, 18, 8, 2 + createsprite gUnknown_08596B1C, 0x2, 0, 0, 30, -18, 8, 2 + createsprite gUnknown_08596B1C, 0x2, 0, 0, -30, 18, 8, 2 + createsprite gUnknown_08596B1C, 0x2, 0, 0, -30, -18, 8, 2 + createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 7, 1 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_SUBMISSION: + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + playsewithpan SE_W104, -64 + waitplaysewithpan SE_W004, +63, 0xA + waitplaysewithpan SE_W104, -64, 0x14 + waitplaysewithpan SE_W004, +63, 0x1E + waitplaysewithpan SE_W104, -64, 0x28 + waitplaysewithpan SE_W004, +63, 0x32 + waitplaysewithpan SE_W104, -64, 0x3C + waitplaysewithpan SE_W004, +63, 0x46 + waitplaysewithpan SE_W104, -64, 0x50 + waitplaysewithpan SE_W004, +63, 0x5A + createvisualtask sub_80D5738, 0x2, 0, -18, 6, 6, 4 + createvisualtask sub_80D5738, 0x2, 1, 18, 6, 6, 4 + call AnimScript_82D26D3 + call AnimScript_82D26D3 + call AnimScript_82D26D3 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +AnimScript_82D26D3: + createsprite gUnknown_08597358, 0x3, 0, -12, 1, 1 + delay 0x8 + createsprite gUnknown_08597358, 0x3, -12, 8, 1, 1 + delay 0x8 + createsprite gUnknown_08597358, 0x3, 12, 0, 1, 1 + delay 0x8 + return + +Move_SUNNY_DAY: + loadspritegfx 0x27AD + monbg ANIM_ATK_PARTNER + setalpha 0x30D + createvisualtask sub_8116620, 0xA, 1921, 1, 0, 6, 0x7FFF + waitforvisualfinish + panse_26 SE_W080, -64, +63, +1, 0x0 + call AnimScript_82D2753 + call AnimScript_82D2753 + call AnimScript_82D2753 + call AnimScript_82D2753 + waitforvisualfinish + createvisualtask sub_8116620, 0xA, 1921, 1, 6, 0, 0x7FFF + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + blendoff + end + +AnimScript_82D2753: + createsprite gUnknown_085954A0, 0x28 + delay 0x6 + return + +Move_COTTON_SPORE: + loadspritegfx 0x27AE + monbg ANIM_DEF_PARTNER + monbgprio_28 ANIM_TARGET + loopsewithpan SE_W077, +63, 0x12, 0xA + call AnimScript_82D277D + call AnimScript_82D277D + call AnimScript_82D277D + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + end + +AnimScript_82D277D: + createsprite gUnknown_085922EC, 0x2, 0, -20, 85, 80, 0 + delay 0xC + createsprite gUnknown_085922EC, 0x2, 0, -10, 170, 80, 0 + delay 0xC + createsprite gUnknown_085922EC, 0x2, 0, -15, 0, 80, 0 + delay 0xC + return + +Move_SPORE: + loadspritegfx 0x27AE + monbg ANIM_DEF_PARTNER + setalpha 0x80C + createvisualtask sub_80FEE1C, 0x2 + loopsewithpan SE_W077, +63, 0x10, 0xB + call AnimScript_82D27E2 + call AnimScript_82D27E2 + call AnimScript_82D27E2 + waitforvisualfinish + delay 0x1 + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +AnimScript_82D27E2: + createsprite gUnknown_085922EC, 0x82, 0, -20, 85, 80, 1 + delay 0xC + createsprite gUnknown_085922EC, 0x82, 0, -10, 170, 80, 1 + delay 0xC + createsprite gUnknown_085922EC, 0x82, 0, -15, 0, 80, 1 + delay 0xC + return + +Move_PETAL_DANCE: + loadspritegfx 0x27AF + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + playsewithpan SE_W080, -64 + createvisualtask sub_80D5830, 0x2, 0, 12, 6, 6, 3 + createsprite gUnknown_0859231C, 0x2, 0, -24, 8, 140 + createsprite gUnknown_08592334, 0x2, 16, -24, 8, 100 + createsprite gUnknown_08592334, 0x2, -16, -24, 8, 100 + delay 0xF + createsprite gUnknown_0859231C, 0x2, 0, -24, 8, 140 + createsprite gUnknown_08592334, 0x2, 32, -24, 8, 100 + createsprite gUnknown_08592334, 0x2, -32, -24, 8, 100 + delay 0xF + createsprite gUnknown_0859231C, 0x2, 0, -24, 8, 140 + createsprite gUnknown_08592334, 0x2, 24, -24, 8, 100 + createsprite gUnknown_08592334, 0x2, -24, -24, 8, 100 + delay 0x1E + createsprite gUnknown_08592334, 0x2, 16, -24, 0, 100 + createsprite gUnknown_08592334, 0x2, -16, -24, 0, 100 + delay 0x1E + createsprite gUnknown_08592334, 0x2, 20, -16, 14, 80 + createsprite gUnknown_08592334, 0x2, -20, -14, 16, 80 + waitforvisualfinish + createsprite gUnknown_0857FE70, 0x2, 0, 24, 0, 0, 5 + delay 0x3 + playsewithpan SE_W025B, +63 + createsprite gUnknown_08597358, 0x3, 0, 0, 1, 0 + createvisualtask sub_80D51AC, 0x2, 1, 6, 0, 8, 1 + waitforvisualfinish + delay 0x8 + createsprite gUnknown_0857FE58, 0x2, 0, 0, 7 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_RAZOR_LEAF: + loadspritegfx 0x274F + loadspritegfx 0x27B0 + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + delay 0x1 + loopsewithpan SE_W077, -64, 0xA, 0x5 + createsprite gUnknown_08592390, 0x2, -3, -2, 10 + delay 0x2 + createsprite gUnknown_08592390, 0x2, -1, -1, 15 + delay 0x2 + createsprite gUnknown_08592390, 0x2, -4, -4, 7 + delay 0x2 + createsprite gUnknown_08592390, 0x2, 3, -3, 11 + delay 0x2 + createsprite gUnknown_08592390, 0x2, -1, -6, 8 + delay 0x2 + createsprite gUnknown_08592390, 0x2, 2, -1, 12 + delay 0x2 + createsprite gUnknown_08592390, 0x2, -3, -4, 13 + delay 0x2 + createsprite gUnknown_08592390, 0x2, 4, -5, 7 + delay 0x2 + createsprite gUnknown_08592390, 0x2, 2, -6, 11 + delay 0x2 + createsprite gUnknown_08592390, 0x2, -3, -5, 8 + delay 0x3C + playsewithpan SE_W013B, -64 + createsprite gUnknown_085923D8, 0x83, 20, -10, 20, 0, 22, 20, 1 + createsprite gUnknown_085923D8, 0x83, 20, -10, 20, 0, 22, -20, 1 + delay 0x14 + playsewithpan SE_W013, +63 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 + createvisualtask sub_80D52D0, 0x2, 3, 2, 0, 8, 1 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_NATURE_POWER: +Move_ANCIENT_POWER: + loadspritegfx 0x274A + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + createsprite gUnknown_085972D8, 0x2, 4, 1, 10, 1 + createsprite gUnknown_08596C10, 0x2, 20, 32, -48, 50, 2 + createsprite gUnknown_08596C10, 0x2, 0, 32, -38, 25, 5 + createsprite gUnknown_08596C10, 0x2, 32, 32, -28, 40, 3 + createsprite gUnknown_08596C10, 0x2, -20, 32, -48, 50, 2 + createsprite gUnknown_08596C10, 0x2, 20, 32, -28, 60, 1 + createsprite gUnknown_08596C10, 0x2, 0, 32, -28, 30, 4 + createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 30, 1 + playsewithpan SE_W082, -64 + delay 0xA + createsprite gUnknown_08596C10, 0x2, 15, 32, -48, 25, 5 + createsprite gUnknown_08596C10, 0x2, -10, 32, -42, 30, 4 + delay 0xA + createsprite gUnknown_08596C10, 0x2, 0, 32, -42, 25, 5 + createsprite gUnknown_08596C10, 0x2, -25, 32, -48, 30, 4 + waitforvisualfinish + createsprite gUnknown_0857FE70, 0x2, 0, 16, 0, 0, 4 + delay 0x3 + playsewithpan SE_W120, +63 + createsprite gUnknown_08597358, 0x3, 0, 0, 1, 1 + createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 6, 1 + waitforvisualfinish + createsprite gUnknown_0857FE58, 0x2, 0, 0, 7 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_OCTAZOOKA: + loadspritegfx 0x272E + loadspritegfx 0x2721 + playsewithpan SE_W025B, -64 + createsprite gUnknown_08592DFC, 0x82, 20, 0, 0, 0, 20, 0 + waitforvisualfinish + playsewithpan SE_W120, +63 + createsprite gUnknown_08592E30, 0x82, 8, 8, 1, 0 + delay 0x2 + createsprite gUnknown_08592E30, 0x82, -8, -8, 1, 0 + delay 0x2 + createsprite gUnknown_08592E30, 0x82, 8, -8, 1, 0 + delay 0x2 + createsprite gUnknown_08592E30, 0x82, -8, 8, 1, 0 + waitforvisualfinish + end + +Move_MIST: + loadspritegfx 0x27A0 + monbg ANIM_ATK_PARTNER + setalpha 0x80C + loopsewithpan SE_W054, -64, 0x14, 0xF + call AnimScript_82D2C34 + call AnimScript_82D2C34 + call AnimScript_82D2C34 + call AnimScript_82D2C34 + call AnimScript_82D2C34 + call AnimScript_82D2C34 + call AnimScript_82D2C34 + delay 0x20 + createvisualtask sub_8115A04, 0x2, 10, 8, 2, 0, 14, 0x7FFF + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + blendoff + end + +AnimScript_82D2C34: + createsprite gUnknown_08595C2C, 0x2, 0, -24, 48, 240, 0, 1 + delay 0x7 + return + +Move_HAZE: + waitforvisualfinish + playsewithpan SE_W114, 0 + createvisualtask sub_810C0A0, 0x5 + delay 0x1E + createvisualtask sub_8116620, 0xA, 1920, 2, 0, 16, 0 + delay 0x5A + createvisualtask sub_8116620, 0xA, 1920, 1, 16, 0, 0 + end + +Move_FIRE_PUNCH: + loadspritegfx 0x279F + loadspritegfx 0x272D + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + createvisualtask sub_8116620, 0xA, 4, 2, 0, 9, 31 + createsprite gUnknown_08595368, 0x81, 0 + createsprite gUnknown_08595368, 0x81, 64 + createsprite gUnknown_08595368, 0x81, 128 + createsprite gUnknown_08595368, 0x81, 196 + playsewithpan SE_W172, +63 + waitforvisualfinish + createsprite gUnknown_08595E98, 0x83, 0, 0, 8, 1, 0 + createsprite gUnknown_08597358, 0x82, 0, 0, 1, 1 + createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 15, 1 + call AnimScript_82D2D18 + delay 0x4 + playsewithpan SE_W007, +63 + waitforvisualfinish + createvisualtask sub_8116620, 0xA, 4, 0, 9, 0, 31 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +AnimScript_82D2D18: + createsprite gUnknown_08595380, 0x81, 0, 10, 192, 176, 40 + createsprite gUnknown_08595380, 0x81, 0, 10, -192, 240, 40 + createsprite gUnknown_08595380, 0x81, 0, 10, 192, -160, 40 + createsprite gUnknown_08595380, 0x81, 0, 10, -192, -112, 40 + createsprite gUnknown_08595380, 0x81, 0, 10, 160, 48, 40 + createsprite gUnknown_08595380, 0x81, 0, 10, -224, -32, 40 + createsprite gUnknown_08595380, 0x81, 0, 10, 112, -128, 40 + return + +Move_LEER: + loadspritegfx 0x272B + monbg ANIM_ATTACKER + monbgprio_28 ANIM_ATTACKER + setalpha 0x808 + playsewithpan SE_W043, -64 + createsprite gUnknown_085CE150, 0x2, 24, -12 + createvisualtask sub_80D6064, 0x5, -5, -5, 10, 0, 1 + waitforvisualfinish + delay 0xA + createvisualtask sub_80D52D0, 0x2, 1, 1, 0, 9, 1 + createvisualtask sub_80D52D0, 0x2, 3, 1, 0, 9, 1 + waitforvisualfinish + clearmonbg ANIM_ATTACKER + blendoff + delay 0x1 + waitforvisualfinish + end + +Move_DREAM_EATER: + loadspritegfx 0x27A3 + loadspritegfx 0x272F + monbg ANIM_DEF_PARTNER + monbgprio_2A ANIM_TARGET + playsewithpan SE_W060, -64 + call AnimScript_82D7CD1 + setalpha 0x808 + playsewithpan SE_W107, +63 + createvisualtask sub_80D51AC, 0x2, 1, 5, 0, 15, 1 + createvisualtask sub_80D6064, 0x5, -6, -6, 15, 1, 1 + waitforvisualfinish + setalpha 0x80C + createvisualtask sub_80D51AC, 0x2, 1, 0, 2, 25, 1 + call AnimScript_82D2E51 + waitforvisualfinish + delay 0xF + call AnimScript_82D79DF + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + delay 0x1 + call AnimScript_82D7CDD + end + +AnimScript_82D2E51: + playsewithpan SE_W207, +63 + createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 0x3, 5, -18, -40, 35 + createsprite gUnknown_08592270, 0x3, -10, 20, 20, 39 + delay 0x4 + playsewithpan SE_W207, +63 + createsprite gUnknown_08592270, 0x3, 0, 5, 28, 26 + createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 + createsprite gUnknown_08592270, 0x3, -10, 20, 40, 39 + delay 0x4 + playsewithpan SE_W207, +63 + createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 + createsprite gUnknown_08592270, 0x3, -5, 15, 16, 33 + createsprite gUnknown_08592270, 0x3, 10, -5, -32, 26 + delay 0x4 + playsewithpan SE_W207, +63 + createsprite gUnknown_08592270, 0x3, 0, -15, -16, 36 + createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 + delay 0x4 + playsewithpan SE_W207, +63 + createsprite gUnknown_08592270, 0x3, -5, 15, 16, 33 + createsprite gUnknown_08592270, 0x3, 0, -15, -16, 36 + createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 + delay 0x4 + playsewithpan SE_W207, +63 + createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 0x3, -5, 15, 16, 33 + createsprite gUnknown_08592270, 0x3, 10, -5, -40, 26 + delay 0x4 + playsewithpan SE_W207, +63 + createsprite gUnknown_08592270, 0x3, -5, 15, 36, 33 + createsprite gUnknown_08592270, 0x3, 10, -5, -8, 26 + createsprite gUnknown_08592270, 0x3, -10, 20, 20, 39 + delay 0x4 + playsewithpan SE_W207, +63 + createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 0x3, 0, 5, 8, 26 + createsprite gUnknown_08592270, 0x3, 5, -18, -20, 35 + delay 0x4 + return + +Move_POISON_GAS: + loadspritegfx 0x27BC + loadspritegfx 0x27A6 + delay 0x0 + monbg ANIM_DEF_PARTNER + monbgprio_29 + setalpha 0x80C + delay 0x0 + playsewithpan SE_W054, -64 + createsprite gUnknown_08595C9C, 0x80, 64, 0, 0, -32, -6, 4192, 1072, 0 + delay 0x4 + playsewithpan SE_W054, -64 + createsprite gUnknown_08595C9C, 0x80, 64, 0, 0, -32, -6, 4192, 1072, 0 + delay 0x4 + playsewithpan SE_W054, -64 + createsprite gUnknown_08595C9C, 0x80, 64, 0, 0, -32, -6, 4192, 1072, 0 + delay 0x4 + playsewithpan SE_W054, -64 + createsprite gUnknown_08595C9C, 0x80, 64, 0, 0, -32, -6, 4192, 1072, 0 + delay 0x4 + playsewithpan SE_W054, -64 + createsprite gUnknown_08595C9C, 0x80, 64, 0, 0, -32, -6, 4192, 1072, 0 + delay 0x4 + playsewithpan SE_W054, -64 + createsprite gUnknown_08595C9C, 0x80, 64, 0, 0, -32, -6, 4192, 1072, 0 + delay 0x28 + loopsewithpan SE_W054, +63, 0x1C, 0x6 + createvisualtask sub_8115A04, 0x2, 4, 6, 2, 0, 12, 26650 + waitforvisualfinish + blendoff + clearmonbg ANIM_DEF_PARTNER + delay 0x0 + end + +Move_BIND: + createvisualtask sub_80D5EB8, 0x5, 0, 6, 3328, 4, 0 + goto AnimScript_82D30DE + +AnimScript_82D30DE: + playsewithpan SE_W020, +63 + call AnimScript_82D30EE + call AnimScript_82D30EE + waitforvisualfinish + end + +AnimScript_82D30EE: + createvisualtask sub_80D6064, 0x5, 10, -5, 5, 1, 0 + delay 0x10 + return + +Move_WRAP: + createvisualtask sub_80D5830, 0x2, 0, 6, 4, 2, 4 + goto AnimScript_82D30DE + +Move_PSYBEAM: + loadspritegfx 0x27B3 + playsewithpan SE_W060, -64 + call AnimScript_82D7CD1 + createsoundtask sub_8158C58, 200, -64, 63, 3, 4, 0, 15 + call AnimScript_82D319C + call AnimScript_82D319C + createvisualtask sub_80D5EB8, 0x5, 0, 6, 2048, 4, 1 + createvisualtask sub_8115A04, 0x2, 4, 2, 2, 0, 12, 32351 + call AnimScript_82D319C + call AnimScript_82D319C + call AnimScript_82D319C + call AnimScript_82D319C + call AnimScript_82D319C + call AnimScript_82D319C + call AnimScript_82D319C + call AnimScript_82D319C + call AnimScript_82D319C + waitforvisualfinish + delay 0x1 + call AnimScript_82D7CDD + end + +AnimScript_82D319C: + createsprite gUnknown_0859663C, 0x82, 16, 0, 0, 0, 13, 0 + delay 0x4 + return + +Move_HYPNOSIS: + loadspritegfx 0x27B3 + call AnimScript_82D7CD1 + call AnimScript_82D31E5 + call AnimScript_82D31E5 + call AnimScript_82D31E5 + createvisualtask sub_8115A04, 0x2, 4, 2, 2, 0, 12, 32351 + waitforvisualfinish + delay 0x1 + call AnimScript_82D7CDD + end + +AnimScript_82D31E5: + playsewithpan SE_W048, -64 + createsprite gUnknown_0859663C, 0x82, 0, 8, 0, 8, 27, 0 + createsprite gUnknown_0859663C, 0x82, 16, -8, 0, -8, 27, 0 + delay 0x6 + return + +Move_PSYWAVE: + loadspritegfx 0x27B5 + playsewithpan SE_W060, -64 + call AnimScript_82D7CD1 + createvisualtask sub_81076C8, 0x5, 100 + createsoundtask sub_8158C58, 203, -64, 63, 2, 9, 0, 10 + call AnimScript_82D3275 + call AnimScript_82D3275 + createvisualtask sub_8115A04, 0x2, 4, 1, 4, 0, 12, 32351 + call AnimScript_82D3275 + call AnimScript_82D3275 + call AnimScript_82D3275 + call AnimScript_82D3275 + waitforvisualfinish + delay 0x1 + call AnimScript_82D7CDD + end + +AnimScript_82D3275: + createsprite gUnknown_08595170, 0x83, 10, 10, 0, 16 + delay 0x4 + createsprite gUnknown_08595170, 0x83, 10, 10, 0, 16 + delay 0x4 + return + +Move_ZAP_CANNON: + loadspritegfx 0x27BB + loadspritegfx 0x271B + playsewithpan SE_W086, -64 + createsprite gUnknown_08595764, 0x83, 10, 0, 0, 0, 30, 0 + createsprite gUnknown_08595790, 0x84, 10, 0, 16, 30, 0, 40, 0 + createsprite gUnknown_08595790, 0x84, 10, 0, 16, 30, 64, 40, 1 + createsprite gUnknown_08595790, 0x84, 10, 0, 16, 30, 128, 40, 0 + createsprite gUnknown_08595790, 0x84, 10, 0, 16, 30, 192, 40, 2 + createsprite gUnknown_08595790, 0x84, 10, 0, 8, 30, 32, 40, 0 + createsprite gUnknown_08595790, 0x84, 10, 0, 8, 30, 96, 40, 1 + createsprite gUnknown_08595790, 0x84, 10, 0, 8, 30, 160, 40, 0 + createsprite gUnknown_08595790, 0x84, 10, 0, 8, 30, 224, 40, 2 + waitforvisualfinish + createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 5, 1 + delay 0xF + waitplaysewithpan SE_W085B, +63, 0x13 + call AnimScript_82D7BEA + waitforvisualfinish + end + +Move_STEEL_WING: + loadspritegfx 0x2719 + loadspritegfx 0x2797 + loopsewithpan SE_W231, -64, 0x1C, 0x2 + createvisualtask sub_81144F8, 0x5, 0, 0, 0 + waitforvisualfinish + monbg ANIM_DEF_PARTNER + monbgprio_28 ANIM_TARGET + setalpha 0x80C + loopsewithpan SE_W017, -64, 0x14, 0x2 + createvisualtask sub_80D5738, 0x2, 0, 12, 4, 1, 4 + createvisualtask sub_810DED8, 0x5, 1, 70 + createsprite gUnknown_085962A4, 0x2, -25, 0, 0, 0, 20 + createsprite gUnknown_085962A4, 0x2, 25, 0, 0, 0, 20 + delay 0x18 + createsprite gUnknown_0857FE70, 0x2, 0, 24, 0, 0, 9 + delay 0x11 + createsprite gUnknown_08597358, 0x2, 16, 0, 1, 1 + createsprite gUnknown_08597358, 0x2, -16, 0, 1, 1 + playsewithpan SE_W013, +63 + waitforvisualfinish + createsprite gUnknown_0857FE58, 0x2, 0, 0, 11 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_IRON_TAIL: + loadspritegfx 0x2797 + loopsewithpan SE_W231, -64, 0x1C, 0x2 + createvisualtask sub_81144F8, 0x5, 1, 0, 0 + waitforvisualfinish + monbg ANIM_TARGET + setalpha 0x80C + createsprite gUnknown_0857FE28, 0x2, 4, 4 + delay 0x6 + createsprite gUnknown_08597358, 0x82, 0, 0, 1, 2 + createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + playsewithpan SE_W233B, +63 + waitforvisualfinish + createvisualtask sub_811489C, 0x5, 0, 1 + clearmonbg ANIM_TARGET + blendoff + waitforvisualfinish + end + +Move_POISON_TAIL: + loadspritegfx 0x2797 + loadspritegfx 0x27A6 + loopsewithpan SE_W231, -64, 0x1C, 0x2 + createvisualtask sub_81144F8, 0x5, 1, 1, RGB(24, 6, 23) + waitforvisualfinish + monbg ANIM_TARGET + setalpha 0x80C + createsprite gUnknown_0857FE28, 0x2, 4, 4 + delay 0x6 + createsprite gUnknown_08597358, 0x82, 0, 0, 1, 2 + createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + playsewithpan SE_W233B, +63 + waitforvisualfinish + createvisualtask sub_811489C, 0x5, 0, 1 + clearmonbg ANIM_TARGET + blendoff + call AnimScript_82D7A71 + waitforvisualfinish + end + +Move_METAL_CLAW: + loadspritegfx 0x2737 + loopsewithpan SE_W231, -64, 0x1C, 0x2 + createvisualtask sub_81144F8, 0x5, 0, 0, 0 + waitforvisualfinish + createsprite gUnknown_0857FE28, 0x2, 6, 4 + delay 0x2 + playsewithpan SE_W013, +63 + createsprite gUnknown_08597138, 0x82, -10, -10, 0 + createsprite gUnknown_08597138, 0x82, -10, 10, 0 + createsprite gUnknown_085972D8, 0x2, -4, 1, 10, 3, 1 + delay 0x8 + createsprite gUnknown_0857FE28, 0x2, 6, 4 + delay 0x2 + playsewithpan SE_W013, +63 + createsprite gUnknown_08597138, 0x82, 10, -10, 1 + createsprite gUnknown_08597138, 0x82, 10, 10, 1 + createsprite gUnknown_085972D8, 0x2, -4, 1, 10, 3, 1 + waitforvisualfinish + end + +Move_NIGHT_SHADE: + monbg ANIM_ATTACKER + monbgprio_28 ANIM_ATTACKER + playsewithpan SE_W060, -64 + fadetobg BG_GHOST + waitbgfadein + delay 0xA + playsewithpan SE_W043, -64 + createvisualtask sub_811188C, 0x5, 85 + delay 0x46 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 12, 1 + createvisualtask sub_8115A04, 0x2, 4, 0, 2, 0, 13, 0 + waitforvisualfinish + clearmonbg ANIM_ATTACKER + delay 0x1 + restorebg + waitbgfadein + end + +Move_EGG_BOMB: + loadspritegfx 0x27D6 + loadspritegfx 0x27BF + playsewithpan SE_W039, -64 + createsprite gUnknown_08593488, 0x82, 10, 0, 0, 0, 25, -32 + waitforvisualfinish + createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 16, 1 + createsprite gUnknown_0859371C, 0x84, 6, 5, 1, 0 + playsewithpan SE_W120, +63 + delay 0x3 + createsprite gUnknown_0859371C, 0x84, -16, -15, 1, 0 + playsewithpan SE_W120, +63 + delay 0x3 + createsprite gUnknown_0859371C, 0x84, 16, -5, 1, 0 + playsewithpan SE_W120, +63 + delay 0x3 + createsprite gUnknown_0859371C, 0x84, -12, 18, 1, 0 + playsewithpan SE_W120, +63 + delay 0x3 + createsprite gUnknown_0859371C, 0x84, 0, 5, 1, 0 + playsewithpan SE_W120, +63 + delay 0x3 + waitforvisualfinish + end + +Move_SHADOW_BALL: + loadspritegfx 0x27C0 + fadetobg BG_GHOST + waitbgfadein + delay 0xF + createsoundtask sub_8158C58, 168, -64, 63, 5, 5, 0, 5 + createsprite gUnknown_08596D58, 0x82, 16, 16, 8 + waitforvisualfinish + playsewithpan SE_W028, +63 + createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 8, 1 + waitforvisualfinish + restorebg + waitbgfadein + end + +Move_LICK: + loadspritegfx 0x27C1 + delay 0xF + playsewithpan SE_W122, +63 + createsprite gUnknown_08596D8C, 0x82, 0, 0 + createvisualtask sub_80D52D0, 0x2, 1, 1, 0, 16, 1 + waitforvisualfinish + end + +Move_FOCUS_ENERGY: + loadspritegfx 0x27C8 + playsewithpan SE_W082, -64 + call AnimScript_82CD6C7 + delay 0x8 + createvisualtask sub_8115A04, 0x2, 2, 2, 2, 0, 11, 0x7FFF + createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 32, 1 + call AnimScript_82CD6C7 + delay 0x8 + call AnimScript_82CD6C7 + waitforvisualfinish + end + +Move_BIDE: + choosetwoturnanim AnimScript_82D3719, AnimScript_82D3745 + end + +AnimScript_82D3719: + loopsewithpan SE_W036, -64, 0x9, 0x2 + createvisualtask sub_8115A04, 0x2, 2, 2, 2, 0, 11, 31 + createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 32, 1 + waitforvisualfinish + end + +AnimScript_82D3745: + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + loopsewithpan SE_W036, -64, 0x9, 0x2 + createvisualtask sub_8116620, 0xA, 2, 2, 0, 11, 31 + createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 32, 1 + waitforvisualfinish + createsprite gUnknown_0857FE70, 0x2, 0, 24, 0, 0, 4 + waitforvisualfinish + createvisualtask sub_80D5484, 0x2, 0, 2, 0, 12, 1 + createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 16, 1 + playsewithpan SE_W004, +63 + createsprite gUnknown_08597358, 0x1, 18, -8, 1, 1 + delay 0x5 + playsewithpan SE_W004, +63 + createsprite gUnknown_08597358, 0x1, -18, 8, 1, 1 + delay 0x5 + playsewithpan SE_W004, +63 + createsprite gUnknown_08597358, 0x1, -8, -5, 1, 1 + waitforvisualfinish + delay 0x5 + createsprite gUnknown_0857FE58, 0x2, 0, 0, 7 + waitforvisualfinish + createvisualtask sub_8116620, 0xA, 2, 2, 11, 0, 31 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_STRING_SHOT: + loadspritegfx 0x27C3 + loadspritegfx 0x27C4 + monbg ANIM_DEF_PARTNER + delay 0x0 + createsprite gUnknown_08597274, 0x5, 1, 2, 0, 9, 0 + waitforvisualfinish + loopsewithpan SE_W081, -64, 0x9, 0x6 + call AnimScript_82D38CC + call AnimScript_82D38CC + call AnimScript_82D38CC + call AnimScript_82D38CC + call AnimScript_82D38CC + call AnimScript_82D38CC + call AnimScript_82D38CC + call AnimScript_82D38CC + call AnimScript_82D38CC + call AnimScript_82D38CC + call AnimScript_82D38CC + call AnimScript_82D38CC + call AnimScript_82D38CC + call AnimScript_82D38CC + call AnimScript_82D38CC + call AnimScript_82D38CC + call AnimScript_82D38CC + call AnimScript_82D38CC + waitforvisualfinish + playsewithpan SE_W081B, +63 + createsprite gUnknown_085969F8, 0x82, 0, 10 + delay 0x4 + createsprite gUnknown_085969F8, 0x82, 0, -2 + delay 0x4 + createsprite gUnknown_085969F8, 0x82, 0, 22 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + delay 0x1 + waitforvisualfinish + createsprite gUnknown_08597274, 0x5, 1, 2, 9, 0, 0 + end + +AnimScript_82D38CC: + createsprite gUnknown_085969E0, 0x82, 20, 0, 512, 20, 1 + delay 0x1 + return + +Move_SPIDER_WEB: + loadspritegfx 0x27C5 + loadspritegfx 0x27C4 + monbg ANIM_DEF_PARTNER + delay 0x0 + createsprite gUnknown_08597274, 0x5, 1, 2, 0, 9, 0 + waitforvisualfinish + monbgprio_28 ANIM_TARGET + loopsewithpan SE_W081, -64, 0x9, 0x6 + call AnimScript_82D396D + call AnimScript_82D396D + call AnimScript_82D396D + call AnimScript_82D396D + call AnimScript_82D396D + call AnimScript_82D396D + call AnimScript_82D396D + call AnimScript_82D396D + call AnimScript_82D396D + call AnimScript_82D396D + call AnimScript_82D396D + call AnimScript_82D396D + call AnimScript_82D396D + call AnimScript_82D396D + waitforvisualfinish + playsewithpan SE_W081B, +63 + createsprite gUnknown_08596A2C, 0x2 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + delay 0x1 + createsprite gUnknown_08597274, 0x5, 1, 2, 9, 0, 0 + end + +AnimScript_82D396D: + createsprite gUnknown_085969E0, 0x82, 20, 0, 512, 20, 0 + delay 0x1 + return + +Move_RAZOR_WIND: + choosetwoturnanim AnimScript_82D398C, AnimScript_82D39DC + +AnimScript_82D398A: + waitforvisualfinish + end + +AnimScript_82D398C: + loadspritegfx 0x2719 + playsewithpan SE_W016, -64 + createsprite gUnknown_08593550, 0x2, 32, 0, 16, 16, 0, 7, 40 + createsprite gUnknown_08593550, 0x2, 32, 0, 16, 16, 85, 7, 40 + createsprite gUnknown_08593550, 0x2, 32, 0, 16, 16, 170, 7, 40 + waitforvisualfinish + playsewithpan SE_W016B, -64 + goto AnimScript_82D398A + +AnimScript_82D39DC: + loadspritegfx 0x27AA + loadspritegfx 0x2797 + monbg ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W013B, -64 + createsprite gUnknown_085962D4, 0x2, 14, 8, 0, 0, 22, 2, 1 + delay 0x2 + playsewithpan SE_W013B, -64 + createsprite gUnknown_085962D4, 0x2, 14, -8, 16, 14, 22, 1, 1 + delay 0x2 + playsewithpan SE_W013B, -64 + createsprite gUnknown_085962D4, 0x2, 14, 12, -16, -14, 22, 0, 1 + delay 0x11 + playsewithpan SE_W013, +63 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 10, 1 + createvisualtask sub_80D52D0, 0x2, 3, 2, 0, 10, 1 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + goto AnimScript_82D398A + +Move_DISABLE: + loadspritegfx 0x2757 + monbg ANIM_TARGET + monbgprio_28 ANIM_TARGET + setalpha 0x808 + playsewithpan SE_W197, -64 + createsprite gUnknown_0853EE84, 0xD, 24, -16 + waitforvisualfinish + createvisualtask sub_81045B0, 0x5 + loopsewithpan SE_W020, +63, 0xF, 0x4 + waitforvisualfinish + delay 0x1 + clearmonbg ANIM_TARGET + blendoff + end + +Move_RECOVER: + loadspritegfx 0x27A3 + loadspritegfx 0x272F + monbg ANIM_ATK_PARTNER + setalpha 0x80C + loopsewithpan SE_W025, -64, 0xD, 0x3 + createvisualtask sub_8115A04, 0x2, 2, 0, 6, 0, 11, 12287 + call AnimScript_82D3AD5 + call AnimScript_82D3AD5 + call AnimScript_82D3AD5 + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + blendoff + delay 0x1 + call AnimScript_82D79DF + waitforvisualfinish + end + +AnimScript_82D3AD5: + createsprite gUnknown_085921E0, 0x2, 40, -10, 13 + delay 0x3 + createsprite gUnknown_085921E0, 0x2, -35, -10, 13 + delay 0x3 + createsprite gUnknown_085921E0, 0x2, 15, -40, 13 + delay 0x3 + createsprite gUnknown_085921E0, 0x2, -10, -32, 13 + delay 0x3 + createsprite gUnknown_085921E0, 0x2, 25, -20, 13 + delay 0x3 + createsprite gUnknown_085921E0, 0x2, -40, -20, 13 + delay 0x3 + createsprite gUnknown_085921E0, 0x2, 5, -40, 13 + delay 0x3 + return + +Move_MIMIC: + loadspritegfx 0x27A3 + setalpha 0x50B + monbg_22 ANIM_DEF_PARTNER + monbgprio_29 + panse_1B SE_W107, +63, -64, -3, 0x0 + createvisualtask sub_80FF458, 0x5, 128, 24 + delay 0xF + createsprite gUnknown_085924DC, 0x82, -12, 24 + delay 0xA + setarg 0x7, 0xFFFF + waitforvisualfinish + playsewithpan SE_W036, -64 + createvisualtask sub_8115A04, 0x2, 2, 0, 2, 0, 11, 0x7FFF + waitforvisualfinish + clearmonbg_23 ANIM_DEF_PARTNER + blendoff + end + +Move_CONSTRICT: + loadspritegfx 0x27CA + loopsewithpan SE_W010, +63, 0x6, 0x4 + createsprite gUnknown_08592494, 0x84, 0, 16, 0, 2 + delay 0x7 + createsprite gUnknown_08592494, 0x83, 0, 0, 0, 2 + createsprite gUnknown_08592494, 0x82, 0, 8, 1, 2 + delay 0x7 + createsprite gUnknown_08592494, 0x83, 0, -8, 1, 2 + delay 0x8 + createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 6, 1 + delay 0x14 + playsewithpan SE_W020, +63 + setarg 0x7, 0xFFFF + waitforvisualfinish + end + +Move_CURSE: + choosetwoturnanim AnimScript_82D3BFB, AnimScript_82D3C78 + +AnimScript_82D3BFB: + loadspritegfx 0x27D7 + loadspritegfx 0x27D8 + monbg ANIM_ATK_PARTNER + createvisualtask sub_8112758, 0x5 + waitforvisualfinish + delay 0x14 + createsprite gUnknown_08596DD0, 0x2 + delay 0x3C + call AnimScript_82D3C62 + delay 0x29 + call AnimScript_82D3C62 + delay 0x29 + call AnimScript_82D3C62 + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + delay 0x1 + monbg ANIM_DEF_PARTNER + playsewithpan SE_W171, +63 + createsprite gUnknown_08596DE8, 0x82 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 14, 1 + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 1, 16, 0, 0 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + end + +AnimScript_82D3C62: + createvisualtask sub_80D52D0, 0x2, 0, 4, 0, 10, 0 + playsewithpan SE_W020, -64 + return + +AnimScript_82D3C78: + createvisualtask sub_80D5EB8, 0x5, 0, 10, 1536, 3, 0 + waitforvisualfinish + delay 0xA + call AnimScript_82D3C93 + waitforvisualfinish + end + +AnimScript_82D3C93: + playsewithpan SE_W082, -64 + createvisualtask sub_8116B14, 0x5 + createvisualtask sub_8115A04, 0x5, 2, 4, 2, 0, 10, 31 + return + +Move_SOFT_BOILED: + loadspritegfx 0x27DA + loadspritegfx 0x27DB + loadspritegfx 0x272F + monbg ANIM_ATK_PARTNER + playsewithpan SE_W039, -64 + createvisualtask sub_80D51AC, 0x2, 0, 0, 2, 6, 1 + createsprite gUnknown_085937B0, 0x4, 0, 16, 0 + createsprite gUnknown_085937B0, 0x4, 0, 16, 1 + delay 0x78 + delay 0x7 + playsewithpan SE_W030, -64 + createsprite gUnknown_08597274, 0x2, 31, 3, 10, 0, RGB(12, 24, 30) + createsprite gUnknown_0859381C, 0x3, 31, 16, 0, 1 + delay 0x8 + createsprite gUnknown_0859381C, 0x3, 31, 16, 0, 1 + delay 0x3C + setarg 0x7, 0xFFFF + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + call AnimScript_82D7A28 + end + +Move_HEAL_BELL: + loadspritegfx 0x27DD + loadspritegfx 0x27DE + loadspritegfx 0x27DB + createvisualtask sub_8116620, 0xA, 10, 0, 0, 10, 0x7FFF + waitforvisualfinish + createvisualtask sub_8105CB4, 0x5 + createsprite gUnknown_08593938, 0x2, 0, -24, 0, 1 + delay 0xC + createsprite gUnknown_08593958, 0x28, 0, -24, 48, -18, 35, 0, 0 + createsprite gUnknown_08593958, 0x28, 0, -24, -48, 20, 30, 1, 1 + createsprite gUnknown_08593958, 0x28, 0, -24, -38, -29, 30, 2, 2 + createsprite gUnknown_08593958, 0x28, 0, -24, 36, 18, 30, 3, 3 + call AnimScript_82D3EF8 + delay 0x21 + createsprite gUnknown_08593958, 0x28, 0, -24, 19, 26, 35, 4, 4 + createsprite gUnknown_08593958, 0x28, 0, -24, -34, -12, 30, 5, 5 + createsprite gUnknown_08593958, 0x28, 0, -24, 41, -20, 34, 6, 2 + createsprite gUnknown_08593958, 0x28, 0, -24, -15, 26, 32, 7, 0 + call AnimScript_82D3EF8 + delay 0x21 + createsprite gUnknown_08593958, 0x28, 0, -24, -48, 18, 31, 0, 2 + createsprite gUnknown_08593958, 0x28, 0, -24, 48, -20, 30, 2, 5 + createsprite gUnknown_08593958, 0x28, 0, -24, 38, 29, 33, 4, 3 + createsprite gUnknown_08593958, 0x28, 0, -24, -36, -18, 30, 6, 1 + call AnimScript_82D3EF8 + waitforvisualfinish + createvisualtask sub_8105D60, 0x5 + waitforvisualfinish + unloadspritegfx 0x27DD + unloadspritegfx 0x27DE + unloadspritegfx 0x27DB + loadspritegfx 0x2741 + playsewithpan SE_W234, -64 + createsprite gUnknown_08592B94, 0x10, -15, 0, 0, 0, 32, 60, 1 + delay 0x8 + createsprite gUnknown_08592B94, 0x10, 12, -5, 0, 0, 32, 60, 1 + waitforvisualfinish + unloadspritegfx 0x2741 + loadspritegfx 0x27DB + playsewithpan SE_REAPOKE, -64 + createvisualtask sub_8116664, 0xA, 4, 3, 10, 0, 31500 + createvisualtask sub_8116620, 0xA, 10, 3, 10, 0, 0x7FFF + createsprite gUnknown_08593868, 0x10, 0, 0, 0, 1 + end + +AnimScript_82D3EF8: + createvisualtask sub_8116664, 0xA, 4, 3, 8, 0, 31500 + createvisualtask sub_8116620, 0xA, 10, 3, 2, 10, 0x7FFF + createsprite gUnknown_0859381C, 0x28, 0, -24, 0, 1 + playsewithpan SE_W215, -64 + return + +Move_FAKE_OUT: + playsewithpan SE_W260, 0 + createvisualtask sub_8105EB0, 0x5 + waitforvisualfinish + playsewithpan SE_W166, +63 + createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 5, 1 + createvisualtask sub_8106020, 0x3 + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 3, 16, 0, RGB_WHITE + end + +Move_SCARY_FACE: + loadspritegfx 0x27EA + createsprite gUnknown_08597274, 0x2, 27, 3, 0, 16, 0 + playsewithpan SE_W060, -64 + waitforvisualfinish + delay 0xA + playsewithpan SE_W043, -64 + createvisualtask sub_81064F8, 0x5 + delay 0xD + createsprite gUnknown_08593A84, 0x0, -16, -8 + createsprite gUnknown_08593A84, 0x0, 16, -8 + waitforvisualfinish + createvisualtask sub_810A094, 0x3, 20, 1, 0 + playsewithpan SE_W081B, +63 + createsprite gUnknown_08597274, 0x2, 27, 3, 16, 0, 0 + waitforvisualfinish + end + +Move_SWEET_KISS: + loadspritegfx 0x27E8 + loadspritegfx 0x27EC + createsprite gUnknown_08593AA8, 0x82, 16, -48 + playsewithpan SE_W215, +63 + delay 0x17 + playsewithpan SE_W215, +63 + delay 0x17 + playsewithpan SE_W215, +63 + waitforvisualfinish + createsprite gUnknown_085939B8, 0x83, 160, -30 + playsewithpan SE_W213, +63 + createsprite gUnknown_085939B8, 0x83, -256, -42 + createsprite gUnknown_085939B8, 0x83, 128, -14 + createsprite gUnknown_085939B8, 0x83, 416, -38 + createsprite gUnknown_085939B8, 0x83, -128, -22 + createsprite gUnknown_085939B8, 0x83, -384, -31 + end + +Move_LOVELY_KISS: + loadspritegfx 0x27EB + loadspritegfx 0x27ED + createsprite gUnknown_08593AF0, 0x82, 0, -24 + playsewithpan SE_W060B, +63 + waitforvisualfinish + playsewithpan SE_W213, +63 + createsprite gUnknown_08593AC0, 0x83, -256, -42 + createsprite gUnknown_08593AC0, 0x83, 128, -14 + createsprite gUnknown_08593AC0, 0x83, 416, -38 + createsprite gUnknown_08593AC0, 0x83, -128, -22 + end + +Move_FURY_SWIPES: + loadspritegfx 0x27EE + createsprite gUnknown_0857FE28, 0x2, 5, 5 + delay 0x4 + playsewithpan SE_W010, +63 + createsprite gUnknown_08593B38, 0x82, 16, 0, 1 + createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 5, 1 + delay 0xA + createsprite gUnknown_0857FE28, 0x82, 5, 5 + delay 0x4 + playsewithpan SE_W010, +63 + createsprite gUnknown_08593B38, 0x82, -16, 0, 0 + createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 7, 1 + end + +Move_INGRAIN: + loadspritegfx 0x27EF + loadspritegfx 0x27A3 + createsprite gUnknown_0859254C, 0x2, 16, 26, -1, 2, 150 + playsewithpan SE_W010, -64 + delay 0xA + createsprite gUnknown_0859254C, 0x2, -32, 20, 1, 1, 140 + playsewithpan SE_W010, -64 + delay 0xA + createsprite gUnknown_0859254C, 0x2, 32, 22, 1, 0, 130 + playsewithpan SE_W010, -64 + delay 0xA + createsprite gUnknown_0859254C, 0x2, -16, 25, -1, 3, 120 + playsewithpan SE_W010, -64 + delay 0x28 + createsprite gUnknown_0859258C, 0x3, 32, 26, -1, 3, 30 + delay 0x5 + playsewithpan SE_W145C, -64 + delay 0x5 + createsprite gUnknown_0859258C, 0x3, -48, 20, 1, 2, 30 + playsewithpan SE_W145C, -64 + delay 0x5 + playsewithpan SE_W145C, -64 + delay 0x5 + createsprite gUnknown_0859258C, 0x3, 48, 26, -2, 3, 18 + playsewithpan SE_W145C, -64 + delay 0xA + waitforvisualfinish + end + +Move_PRESENT: + loadspritegfx 0x27F0 + createvisualtask sub_815A904, 0x2 + createsprite gUnknown_08592610, 0x82, 0, -5, 10, 2, -1 + playsewithpan SE_W039, -64 + delay 0xE + playsewithpan SE_W145B, -64 + delay 0xE + playsewithpan SE_W145B, 0 + delay 0x14 + playsewithpan SE_W145B, +63 + waitforvisualfinish + jumpargeq 0x7, 0x0, AnimScript_82D41D4 + jumpargeq 0x7, 0x1, AnimScript_82D423F + end + +AnimScript_82D41D4: + loadspritegfx 0x27D6 + playsewithpan SE_W120, +63 + createsprite gUnknown_0859371C, 0x83, 0, 0, 1, 1 + delay 0x6 + playsewithpan SE_W120, +63 + createsprite gUnknown_0859371C, 0x83, 24, -24, 1, 1 + delay 0x6 + playsewithpan SE_W120, +63 + createsprite gUnknown_0859371C, 0x83, -16, 16, 1, 1 + delay 0x6 + playsewithpan SE_W120, +63 + createsprite gUnknown_0859371C, 0x83, -24, -12, 1, 1 + delay 0x6 + playsewithpan SE_W120, +63 + createsprite gUnknown_0859371C, 0x83, 16, 16, 1, 1 + end + +AnimScript_82D423F: + loadspritegfx 0x27D3 + loadspritegfx 0x272F + playsewithpan SE_W234, +63 + createsprite gUnknown_08592658, 0x84, -16, 32, -3, 1 + delay 0x3 + createsprite gUnknown_08592658, 0x84, 16, 32, -3, -1 + delay 0x3 + createsprite gUnknown_08592658, 0x84, 32, 32, -3, 1 + delay 0x3 + createsprite gUnknown_08592658, 0x84, -32, 32, -3, 1 + delay 0x3 + createsprite gUnknown_08592658, 0x84, 0, 32, -3, 1 + delay 0x3 + createsprite gUnknown_08592658, 0x84, -8, 32, -3, 1 + delay 0x3 + createsprite gUnknown_08592658, 0x84, -8, 32, -3, 1 + delay 0x3 + createsprite gUnknown_08592658, 0x84, 24, 32, -3, 1 + delay 0x3 + createsprite gUnknown_08592658, 0x84, -24, 32, -3, 1 + waitforvisualfinish + waitsound + call AnimScript_82D7A28 + end + +Move_BATON_PASS: + loadspritegfx 0x27F2 + playsewithpan SE_W226, -64 + createvisualtask sub_8115A04, 0x2, 31, 1, 2, 0, 11, 31455 + createsprite gUnknown_085CE370, 0x2 + end + +Move_PERISH_SONG: + loadspritegfx 0x27DE + createsprite gUnknown_08593C0C, 0x4, 0, 0, 0 + createsprite gUnknown_08593C0C, 0x4, 1, 1, 16 + createsprite gUnknown_08593C0C, 0x4, 2, 1, 32 + createsprite gUnknown_08593C0C, 0x4, 3, 2, 48 + createsprite gUnknown_08593C0C, 0x4, 4, 2, 64 + createsprite gUnknown_08593C0C, 0x4, 5, 0, 80 + createsprite gUnknown_08593C0C, 0x4, 6, 0, 96 + createsprite gUnknown_08593C0C, 0x4, 7, 1, 112 + createsprite gUnknown_08593C0C, 0x4, 8, 2, 128 + createsprite gUnknown_08593C0C, 0x4, 9, 0, 144 + createsprite gUnknown_08593C0C, 0x4, 10, 2, 160 + createsprite gUnknown_08593C0C, 0x4, 11, 0, 176 + createsprite gUnknown_08593C0C, 0x4, 12, 1, 192 + createsprite gUnknown_08593C0C, 0x4, 13, 3, 208 + createsprite gUnknown_08593C0C, 0x4, 14, 3, 224 + createsprite gUnknown_08593C0C, 0x4, 15, 0, 240 + createsprite gUnknown_08593C24, 0x4, 15, 0, 0 + delay 0x14 + panse_1B SE_W195, -64, +63, +2, 0x0 + delay 0x50 + createsprite gUnknown_08597274, 0x2, 1, 3, 0, 16, 0 + createvisualtask sub_811489C, 0x5, 4, 0 + createvisualtask sub_811489C, 0x5, 5, 0 + createvisualtask sub_811489C, 0x5, 6, 0 + createvisualtask sub_811489C, 0x5, 7, 0 + delay 0x64 + createsprite gUnknown_08597274, 0x2, 1, 3, 16, 0, 0 + createvisualtask sub_811489C, 0x5, 4, 1 + createvisualtask sub_811489C, 0x5, 5, 1 + createvisualtask sub_811489C, 0x5, 6, 1 + createvisualtask sub_811489C, 0x5, 7, 1 + waitforvisualfinish + end + +Move_SLEEP_TALK: + loadspritegfx 0x27F4 + createvisualtask sub_80D5EB8, 0x5, 0, 4, 4096, 2, 0 + delay 0x14 + createsprite gUnknown_085CE190, 0x82, 0, 20, 5, -1 + playsewithpan SE_W173, -64 + delay 0x6 + createsprite gUnknown_085CE190, 0x82, 0, 20, 5, -1 + delay 0x6 + createsprite gUnknown_085CE190, 0x82, 0, 20, 5, -1 + delay 0x14 + createsprite gUnknown_085CE190, 0x82, 0, 20, 5, -5 + playsewithpan SE_W173, -64 + delay 0x6 + createsprite gUnknown_085CE190, 0x82, 0, 20, 5, -5 + delay 0x6 + createsprite gUnknown_085CE190, 0x82, 0, 20, 5, -5 + delay 0x14 + createsprite gUnknown_085CE190, 0x82, 0, 20, 5, -3 + playsewithpan SE_W173, -64 + delay 0x6 + createsprite gUnknown_085CE190, 0x82, 0, 20, 5, -3 + delay 0x6 + createsprite gUnknown_085CE190, 0x82, 0, 20, 5, -3 + waitforvisualfinish + end + +Move_HYPER_FANG: + loadspritegfx 0x27D0 + playsewithpan SE_W044, +63 + delay 0x1 + delay 0x2 + createvisualtask sub_8117E60, 0x2 + jumpargeq 0x7, 0x1, AnimScript_82D458E + createvisualtask sub_815A8C8, 0x2 + jumpargeq 0x7, 0x0, AnimScript_82D4580 + goto AnimScript_82D4587 + +AnimScript_82D455C: + waitbgfadeout + createsprite gUnknown_085CE1DC, 0x82 + waitbgfadein + createvisualtask sub_80D51AC, 0x3, 1, 0, 10, 10, 1 + playsewithpan SE_W043, +63 + delay 0x14 + restorebg + waitbgfadein + waitforvisualfinish + end + +AnimScript_82D4580: + fadetobg BG_IMPACT_OPPONENT + goto AnimScript_82D455C + +AnimScript_82D4587: + fadetobg BG_IMPACT_PLAYER + goto AnimScript_82D455C + +AnimScript_82D458E: + fadetobg BG_IMPACT_CONTESTS + goto AnimScript_82D455C + +Move_TRI_ATTACK: + loadspritegfx 0x27F6 + createsprite gUnknown_085CE2F8, 0x82, 16, 0 + playsewithpan SE_W161, -64 + delay 0x14 + playsewithpan SE_W161, -64 + delay 0x14 + createsoundtask sub_8158C58, 220, -64, 63, 5, 6, 0, 7 + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 2, 0, 16, 0 + delay 0x10 + loadspritegfx 0x2731 + createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, -1, 0 + playsewithpan SE_W172B, +63 + createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, 0, 1 + delay 0x1 + createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, -1, -1 + delay 0x1 + createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, 2, 1 + delay 0x1 + createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, 1, -1 + delay 0x1 + createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, -1, 1 + delay 0x1 + createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, 1, -2 + delay 0x1 + createsprite gUnknown_08595410, 0x82, 0, 0, 30, 30, 3, 1 + delay 0x2 + createvisualtask sub_810A094, 0x2, 20, 3, 1, 1 + waitforvisualfinish + loadspritegfx 0x2735 + createvisualtask sub_8115F10, 0x2, 257, 257, 257 + playsewithpan SE_W161B, +63 + createsprite gUnknown_085956C0, 0x82, 0, -48 + delay 0x1 + createsprite gUnknown_085956C0, 0x82, 0, -16 + delay 0x1 + createsprite gUnknown_085956C0, 0x82, 0, 16 + delay 0x14 + createvisualtask sub_810A094, 0x2, 20, 3, 1, 0 + delay 0x2 + createvisualtask sub_8115F10, 0x2, 257, 257, 257 + waitforvisualfinish + loadspritegfx 0x279D + call AnimScript_82D7720 + createsprite gUnknown_08597274, 0x2, 1, 2, 16, 0, 0 + waitforvisualfinish + end + +Move_WILL_O_WISP: + loadspritegfx 0x27F8 + loadspritegfx 0x27F7 + monbg ANIM_DEF_PARTNER + monbgprio_2A ANIM_TARGET + playsewithpan SE_W052, -64 + waitplaysewithpan SE_W052, -64, 0xA + createvisualtask sub_8159278, 0x2, -64, -64, 1, 0 + createsprite gUnknown_0859563C, 0x2, 0, 0, 0 + delay 0x3 + createsprite gUnknown_0859563C, 0x3, 0, 0, 1 + delay 0x3 + createsprite gUnknown_0859563C, 0x4, 0, 0, 2 + delay 0x3 + createsprite gUnknown_0859563C, 0x4, 0, 0, 3 + delay 0x28 + createvisualtask sub_8159278, 0x2, -64, 63, 2, 0 + waitforvisualfinish + monbgprio_29 + playsewithpan SE_W172B, +63 + createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 13, 1 + createsprite gUnknown_0859566C, 0x2, 0 + createsprite gUnknown_0859566C, 0x2, 42 + createsprite gUnknown_0859566C, 0x2, 84 + createsprite gUnknown_0859566C, 0x2, 126 + createsprite gUnknown_0859566C, 0x2, 168 + createsprite gUnknown_0859566C, 0x2, 210 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + end + +Move_ENCORE: + loadspritegfx 0x27F3 + loadspritegfx 0x2807 + createvisualtask sub_815ABEC, 0x2 + createvisualtask sub_8116960, 0x2, 248, 3, 0, 10, 0 + waitforvisualfinish + createsprite gUnknown_085CE22C, 0x82, 0, -8 + createsprite gUnknown_085CE244, 0x2, -2, 0, 0, 0, 9 + createsprite gUnknown_085CE244, 0x2, 2, 0, 1, 0, 9 + createsprite gUnknown_085CE25C, 0x3, -2, 0, 0, 0, 9 + createsprite gUnknown_085CE25C, 0x3, 2, 0, 1, 0, 9 + delay 0x10 + createvisualtask sub_8159244, 0x5, 223, 63 + createvisualtask sub_80D5EB8, 0x5, 1, 8, 1536, 5, 1 + waitforvisualfinish + createvisualtask sub_8116960, 0x2, 248, 3, 10, 0, 1 + waitforvisualfinish + createvisualtask sub_815AC8C, 0x2 + end + +Move_TRICK: + loadspritegfx 0x27F0 + loadspritegfx 0x27DF + createsprite gUnknown_085926E8, 0x2, -40, 80 + createsprite gUnknown_085926E8, 0x2, -40, 208 + delay 0x10 + playsewithpan SE_W166, 0 + createvisualtask sub_8106020, 0x3 + createvisualtask sub_81060B0, 0x3 + delay 0x1E + playsewithpan SE_W104, 0 + delay 0x18 + playsewithpan SE_W104, 0 + delay 0x10 + playsewithpan SE_W104, 0 + delay 0x10 + playsewithpan SE_W104, 0 + delay 0x10 + playsewithpan SE_W104, 0 + delay 0x10 + playsewithpan SE_W104, 0 + delay 0x10 + playsewithpan SE_W213, 0 + createvisualtask sub_80D51AC, 0x3, 0, 5, 0, 7, 2 + createvisualtask sub_80D51AC, 0x3, 1, 5, 0, 7, 2 + waitforvisualfinish + end + +Move_WISH: + loadspritegfx 0x27F9 + loadspritegfx 0x2741 + createsprite gUnknown_08597274, 0x2, 1, 3, 0, 10, 0 + waitforvisualfinish + panse_27 SE_W115, +63, -64, -3, 0x0 + createsprite gUnknown_085CE388, 0x28 + waitforvisualfinish + delay 0x3C + loopsewithpan SE_W215, -64, 0x10, 0x3 + call AnimScript_82D79B4 + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 3, 10, 0, 0 + waitforvisualfinish + end + +Move_STOCKPILE: + loadspritegfx 0x27FB + playsewithpan SE_W025, -64 + createvisualtask sub_8115A04, 0x2, 2, 8, 1, 0, 12, 0x7FFF + createvisualtask sub_815B65C, 0x5 + call AnimScript_82D4972 + call AnimScript_82D4972 + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 2, 0, 12, 0, RGB_WHITE + end + +AnimScript_82D4972: + createsprite gUnknown_08592244, 0x2, 55, 55, 13 + delay 0x1 + createsprite gUnknown_08592244, 0x2, -55, -55, 13 + delay 0x1 + createsprite gUnknown_08592244, 0x2, 0, 55, 13 + delay 0x1 + createsprite gUnknown_08592244, 0x2, 0, -55, 13 + delay 0x1 + createsprite gUnknown_08592244, 0x2, 55, -34, 13 + delay 0x1 + createsprite gUnknown_08592244, 0x2, 55, 34, 13 + delay 0x1 + createsprite gUnknown_08592244, 0x2, -55, -34, 13 + delay 0x1 + createsprite gUnknown_08592244, 0x2, -55, 34, 13 + delay 0x1 + return + +Move_SPIT_UP: + loadspritegfx 0x27FD + loadspritegfx 0x2797 + playsewithpan SE_W036, -64 + createvisualtask sub_815B6B4, 0x5 + createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 8, 2 + delay 0x2D + playsewithpan SE_W255, -64 + delay 0x3 + createsprite gUnknown_08593A50, 0x2, 0, 12 + createsprite gUnknown_08593A50, 0x2, 32, 12 + createsprite gUnknown_08593A50, 0x2, 64, 12 + createsprite gUnknown_08593A50, 0x2, 96, 12 + createsprite gUnknown_08593A50, 0x2, 128, 12 + createsprite gUnknown_08593A50, 0x2, 160, 12 + createsprite gUnknown_08593A50, 0x2, 192, 12 + createsprite gUnknown_08593A50, 0x2, 224, 12 + delay 0x5 + jumpifmoveturn 0x2, AnimScript_82D4AB8 + jumpifmoveturn 0x3, AnimScript_82D4AE1 + +AnimScript_82D4A7B: + delay 0x5 + createvisualtask sub_80D6388, 0x2, 0, 1, 8, 1, 0 + playsewithpan SE_W003, +63 + createsprite gUnknown_085973E8, 0x83, -12, 10, 1, 1 + delay 0x5 + playsewithpan SE_W003, +63 + createsprite gUnknown_085973E8, 0x83, 12, -10, 1, 1 + waitforvisualfinish + end + +AnimScript_82D4AB8: + createsprite gUnknown_08593A50, 0x2, 16 + createsprite gUnknown_08593A50, 0x2, 80 + createsprite gUnknown_08593A50, 0x2, 144 + createsprite gUnknown_08593A50, 0x2, 208 + goto AnimScript_82D4A7B + +AnimScript_82D4AE1: + createsprite gUnknown_08593A50, 0x2, 16 + createsprite gUnknown_08593A50, 0x2, 48 + createsprite gUnknown_08593A50, 0x2, 80 + createsprite gUnknown_08593A50, 0x2, 112 + createsprite gUnknown_08593A50, 0x2, 144 + createsprite gUnknown_08593A50, 0x2, 176 + createsprite gUnknown_08593A50, 0x2, 208 + createsprite gUnknown_08593A50, 0x2, 240 + goto AnimScript_82D4A7B + +Move_SWALLOW: + loadspritegfx 0x27FC + loadspritegfx 0x272F + playsewithpan SE_W036, -64 + createvisualtask sub_815B778, 0x5 + createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 8, 2 + delay 0x26 + playsewithpan SE_W255, -64 + createvisualtask sub_80D52D0, 0x2, 0, 2, 0, 12, 1 + call AnimScript_82D4B7F + jumpifmoveturn 0x2, AnimScript_82D4BC1 + jumpifmoveturn 0x3, AnimScript_82D4BCB + +AnimScript_82D4B78: + waitforvisualfinish + call AnimScript_82D79DF + end + +AnimScript_82D4B7F: + createsprite gUnknown_085CE418, 0x2, 0, -8 + delay 0x1 + createsprite gUnknown_085CE418, 0x2, -24, -8 + delay 0x1 + createsprite gUnknown_085CE418, 0x2, 16, -8 + delay 0x1 + createsprite gUnknown_085CE418, 0x2, -16, -8 + delay 0x1 + createsprite gUnknown_085CE418, 0x2, 24, -8 + delay 0x1 + return + +AnimScript_82D4BC1: + call AnimScript_82D4B7F + goto AnimScript_82D4B78 + +AnimScript_82D4BCB: + call AnimScript_82D4B7F + call AnimScript_82D4B7F + goto AnimScript_82D4B78 + +Move_TRANSFORM: + monbg ANIM_ATTACKER + playsewithpan SE_W100, -64 + waitplaysewithpan SE_W107, -64, 0x30 + createvisualtask sub_815B7D0, 0x2, 0 + waitforvisualfinish + clearmonbg ANIM_ATTACKER + end + +Move_MORNING_SUN: + loadspritegfx 0x2801 + loadspritegfx 0x272F + createvisualtask sub_815BB84, 0x5 + delay 0x8 + createvisualtask sub_8116620, 0xA, 1921, 8, 0, 12, 0x7FFF + delay 0xE + call AnimScript_82D4C78 + call AnimScript_82D4C78 + call AnimScript_82D4C78 + call AnimScript_82D4C78 + call AnimScript_82D4C78 + call AnimScript_82D4C78 + call AnimScript_82D4C78 + call AnimScript_82D4C78 + call AnimScript_82D4C78 + call AnimScript_82D4C78 + call AnimScript_82D4C78 + call AnimScript_82D4C78 + call AnimScript_82D4C78 + call AnimScript_82D4C78 + call AnimScript_82D4C78 + createvisualtask sub_8116620, 0xA, 1921, 3, 12, 0, 0x7FFF + waitforvisualfinish + waitsound + call AnimScript_82D79DF + end + +AnimScript_82D4C78: + createsprite gUnknown_085CE48C, 0x2, 30, 640 + delay 0x5 + return + +Move_SWEET_SCENT: + loadspritegfx 0x27FE + playsewithpan SE_W230, -64 + createsprite gUnknown_085CE544, 0x2, 100, 0, 100 + delay 0x19 + setpan 0 + call AnimScript_82D4CCA + createsprite gUnknown_085CE544, 0x2, 55, 0 + setpan +63 + createvisualtask sub_8115A04, 0x2, 20, 1, 5, 5, 13, 22207 + call AnimScript_82D4CCA + waitforvisualfinish + end + +AnimScript_82D4CCA: + createsprite gUnknown_085CE544, 0x2, 70, 1, 64 + delay 0x2 + createsprite gUnknown_085CE544, 0x2, 60, 0, 64 + delay 0x5 + createsprite gUnknown_085CE544, 0x2, 80, 1, 64 + delay 0x2 + createsprite gUnknown_085CE544, 0x2, 58, 0, 120 + delay 0x2 + createsprite gUnknown_085CE544, 0x2, 100, 0, 120 + delay 0x2 + createsprite gUnknown_085CE544, 0x2, 90, 0, 64 + delay 0x2 + createsprite gUnknown_085CE544, 0x2, 48, 0, 64 + delay 0x2 + createsprite gUnknown_085CE544, 0x2, 95, 1, 80 + delay 0x2 + createsprite gUnknown_085CE544, 0x2, 100, 0, 120 + delay 0x2 + createsprite gUnknown_085CE544, 0x2, 75, 1, 64 + delay 0x2 + createsprite gUnknown_085CE544, 0x2, 85, 0, 120 + delay 0x2 + return + +Move_HYPER_BEAM: + loadspritegfx 0x27A3 + createsprite gUnknown_08597274, 0x2, 1, 4, 0, 16, 0 + waitforvisualfinish + delay 0xA + playsewithpan SE_W063, -64 + createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 4, 1 + waitforvisualfinish + delay 0x1E + createsoundtask sub_8158C58, 247, -64, 63, 1, 15, 0, 5 + createvisualtask sub_80D51AC, 0x2, 0, 0, 4, 50, 1 + createvisualtask sub_8115D94, 0x2, 10147, 1, 12, 31, 16, 0, 0 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 50, 1 + createvisualtask sub_8116620, 0xA, 4, 2, 0, 11, 26425 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + call AnimScript_82D4EA1 + createvisualtask sub_8116620, 0xA, 4, 2, 11, 0, 26425 + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 4, 16, 0, 0 + end + +AnimScript_82D4EA1: + createsprite gUnknown_08592288, 0x82 + createsprite gUnknown_08592288, 0x82 + delay 0x1 + return + +Move_FLATTER: + loadspritegfx 0x27F3 + loadspritegfx 0x2800 + createvisualtask sub_8159244, 0x5, 223, 63 + createvisualtask sub_815ABEC, 0x2 + createvisualtask sub_8116960, 0x2, 248, 3, 0, 10, 0 + waitforvisualfinish + createsprite gUnknown_085CE5C0, 0x82, 0, -8, 80 + delay 0x0 + createsprite gUnknown_0857FE40, 0x2, 5, 2, 1 + delay 0xA + createsprite gUnknown_0857FE40, 0x2, 5, 2, 1 + delay 0x0 + createvisualtask sub_8159210, 0x5, 229, -64 + call AnimScript_82D4F9B + call AnimScript_82D4F9B + call AnimScript_82D4F9B + call AnimScript_82D4F9B + call AnimScript_82D4F9B + call AnimScript_82D4F9B + call AnimScript_82D4F9B + call AnimScript_82D4F9B + call AnimScript_82D4F9B + call AnimScript_82D4F9B + call AnimScript_82D4F9B + call AnimScript_82D4F9B + call AnimScript_82D4F9B + call AnimScript_82D4F9B + call AnimScript_82D4F9B + call AnimScript_82D4F9B + call AnimScript_82D4F9B + call AnimScript_82D4F9B + call AnimScript_82D4F9B + delay 0x5 + createvisualtask sub_8159210, 0x5, 229, 63 + waitforvisualfinish + createvisualtask sub_8116960, 0x2, 248, 3, 10, 0, 1 + waitforvisualfinish + createvisualtask sub_815AC8C, 0x2 + end + +AnimScript_82D4F9B: + createsprite gUnknown_085CE5A8, 0x28, 0 + createsprite gUnknown_085CE5A8, 0x28, 1 + return + +Move_ROLE_PLAY: + monbg ANIM_ATK_PARTNER + createvisualtask sub_8116620, 0xA, 4, 2, 0, 16, 0x7FFF + createsprite gUnknown_08597274, 0x2, 1, 2, 0, 10, 0 + waitforvisualfinish + playsewithpan SE_W161, -64 + waitplaysewithpan SE_W197, -64, 0x1E + createvisualtask sub_815CED8, 0x2 + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + createvisualtask sub_8116620, 0xA, 4, 2, 16, 0, 0x7FFF + delay 0x8 + createsprite gUnknown_08597274, 0x2, 1, 2, 10, 0, 0 + end + +Move_REFRESH: + loadspritegfx 0x27DB + loadspritegfx 0x2741 + playsewithpan SE_W287, -64 + createvisualtask sub_815DFCC, 0x2, 0 + waitforvisualfinish + playsewithpan SE_W234, -64 + call AnimScript_82D79B4 + waitforvisualfinish + playsewithpan SE_REAPOKE, -64 + createsprite gUnknown_08597274, 0x2, 31, 3, 10, 0, RGB(12, 24, 30) + createsprite gUnknown_0859381C, 0x3, 0, 0, 0, 0 + end + +Move_BLAZE_KICK: + loadspritegfx 0x2797 + loadspritegfx 0x279F + loadspritegfx 0x272D + monbg ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W172, +63 + createsprite gUnknown_08595F14, 0x83, 0, 0, 1, 30 + createvisualtask sub_8116620, 0xA, 4, 2, 0, 7, 0x7FFF + delay 0x1E + playsewithpan SE_W007, +63 + createsprite gUnknown_08597358, 0x82, 0, 0, 1, 0 + createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 14, 1 + createvisualtask sub_8116620, 0xA, 4, 2, 0, 0, 0x7FFF + createsprite gUnknown_0859728C, 0x2, 31, 3, 1, 0, 8, 0, 0 + call AnimScript_82D2D18 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +Move_HYPER_VOICE: + loadspritegfx 0x27DB + createvisualtask sub_81590B8, 0x5, 0 + call AnimScript_82D50FA + waitforvisualfinish + delay 0x8 + createvisualtask sub_81590B8, 0x5, 1 + call AnimScript_82D50FA + waitforvisualfinish + end + +AnimScript_82D50FA: + createsprite gUnknown_08597274, 0x2, 31, 3, 8, 0, RGB_YELLOW + createvisualtask sub_80D6064, 0x5, -5, -5, 5, 0, 0 + createsprite gUnknown_08593880, 0x0, 45, 0, 0, 0, 0, 0, 1 + createvisualtask sub_80D52D0, 0x2, 1, 1, 0, 6, 1 + createvisualtask sub_80D52D0, 0x2, 3, 1, 0, 6, 1 + createvisualtask sub_81162A4, 0x2, 1, 0, 6, 1 + createvisualtask sub_8159078, 0x5 + return + +Move_SAND_TOMB: + loadspritegfx 0x275A + createsprite gUnknown_08597274, 0x0, 4, 2, 0, 7, RGB(19, 17, 0) + createvisualtask sub_80D51AC, 0x5, 1, 0, 2, 43, 1 + playsewithpan SE_W328, +63 + call AnimScript_82D51B7 + call AnimScript_82D51B7 + call AnimScript_82D51B7 + delay 0x16 + createsprite gUnknown_08597274, 0x0, 4, 2, 7, 0, RGB(19, 17, 0) + waitforvisualfinish + end + +AnimScript_82D51B7: + createsprite gUnknown_08596B34, 0x82, 0, 32, 528, 30, 10, 50, 1 + delay 0x2 + createsprite gUnknown_08596B34, 0x82, 0, 36, 480, 20, 13, -46, 1 + delay 0x2 + createsprite gUnknown_08596B34, 0x82, 0, 37, 576, 20, 5, 42, 1 + delay 0x2 + createsprite gUnknown_08596B34, 0x82, 0, 35, 400, 25, 8, -42, 1 + delay 0x2 + createsprite gUnknown_08596B34, 0x82, 0, 32, 512, 25, 13, 46, 1 + delay 0x2 + createsprite gUnknown_08596B34, 0x82, 0, 37, 464, 30, 12, -50, 1 + delay 0x2 + return + +Move_SHEER_COLD: + fadetobg BG_ICE + waitbgfadeout + playsewithpan SE_W196, 0 + waitbgfadein + loadspritegfx 0x271A + monbg ANIM_DEF_PARTNER + monbgprio_28 ANIM_TARGET + setalpha 0x80C + createvisualtask sub_80A9EF4, 0x2 + waitplaysewithpan SE_W258, +63, 0x11 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + restorebg + waitbgfadein + end + +Move_ARM_THRUST: + loadspritegfx 0x279F + loadspritegfx 0x2797 + monbgprio_28 ANIM_TARGET + setalpha 0x80C + createvisualtask sub_80D6134, 0x5, 8, 5, 0, 0 + delay 0x6 + createsprite gUnknown_0857FE28, 0x2, 4, 3 + delay 0x4 + playsewithpan SE_W207, +63 + createsprite gUnknown_08596034, 0x82, 10, -8, 14, 3 + waitforvisualfinish + createvisualtask sub_80D6134, 0x5, 8, 5, 0, 1 + playsewithpan SE_W003, +63 + choosetwoturnanim AnimScript_82D52D4, AnimScript_82D52E8 + +AnimScript_82D52C0: + createvisualtask sub_80D51AC, 0x5, 1, 4, 0, 6, 1 + waitforvisualfinish + blendoff + end + +AnimScript_82D52D4: + createsprite gUnknown_08597358, 0x82, 8, 0, 1, 2 + goto AnimScript_82D52C0 + +AnimScript_82D52E8: + createsprite gUnknown_08597358, 0x82, -8, 0, 1, 2 + goto AnimScript_82D52C0 + +Move_MUDDY_WATER: + panse_1B SE_W250, -64, +63, +2, 0x0 + createvisualtask sub_8107954, 0x2, 1 + waitforvisualfinish + end + +Move_BULLET_SEED: + loadspritegfx 0x2716 + createsprite gUnknown_0859351C, 0x82, 20, 0 + delay 0x5 + createsprite gUnknown_0859351C, 0x82, 20, 0 + delay 0x5 + createsprite gUnknown_0859351C, 0x82, 20, 0 + delay 0x5 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 30, 1 + createsprite gUnknown_0859351C, 0x82, 20, 0 + delay 0x5 + createsprite gUnknown_0859351C, 0x82, 20, 0 + delay 0x5 + createsprite gUnknown_0859351C, 0x82, 20, 0 + delay 0x5 + createsprite gUnknown_0859351C, 0x82, 20, 0 + delay 0x5 + createsprite gUnknown_0859351C, 0x82, 20, 0 + delay 0x5 + createsprite gUnknown_0859351C, 0x82, 20, 0 + delay 0x5 + createsprite gUnknown_0859351C, 0x82, 20, 0 + waitforvisualfinish + end + +Move_DRAGON_CLAW: + loadspritegfx 0x272D + loadspritegfx 0x2737 + playsewithpan SE_W221B, -64 + createvisualtask sub_8116620, 0xA, 2, 4, 0, 8, 639 + createvisualtask sub_80D51AC, 0x5, 0, 0, 2, 15, 1 + call AnimScript_82D5581 + call AnimScript_82D5581 + createsprite gUnknown_0857FE28, 0x2, 6, 4 + createsprite gUnknown_08596B88, 0x2, 0, 28, 528, 30, 13, 50, 0 + delay 0x2 + createvisualtask sub_8159210, 0x5, 136, 63 + createsprite gUnknown_08597138, 0x82, -10, -10, 0 + createsprite gUnknown_08597138, 0x82, -10, 10, 0 + createsprite gUnknown_085972D8, 0x2, -4, 1, 10, 3, 1 + createsprite gUnknown_08596B88, 0x2, 0, 32, 480, 20, 16, -46, 0 + delay 0x2 + createsprite gUnknown_08596B88, 0x2, 0, 33, 576, 20, 8, 42, 0 + delay 0x2 + createsprite gUnknown_08596B88, 0x2, 0, 31, 400, 25, 11, -42, 0 + delay 0x2 + createsprite gUnknown_0857FE28, 0x2, 6, 4 + createsprite gUnknown_08596B88, 0x2, 0, 28, 512, 25, 16, 46, 0 + delay 0x2 + createvisualtask sub_8159210, 0x5, 136, 63 + createsprite gUnknown_08597138, 0x82, 10, -10, 1 + createsprite gUnknown_08597138, 0x82, 10, 10, 1 + createsprite gUnknown_085972D8, 0x2, -4, 1, 10, 3, 1 + createsprite gUnknown_08596B88, 0x2, 0, 33, 464, 30, 15, -50, 0 + delay 0x2 + createsprite gUnknown_08596B88, 0x2, 0, 28, 528, 30, 13, 50, 0 + delay 0x2 + createsprite gUnknown_08596B88, 0x2, 0, 32, 480, 20, 16, -46, 0 + delay 0x2 + createsprite gUnknown_08596B88, 0x2, 0, 33, 576, 20, 8, 42, 0 + delay 0x2 + createsprite gUnknown_08596B88, 0x2, 0, 31, 400, 25, 11, -42, 0 + delay 0x2 + createsprite gUnknown_08596B88, 0x2, 0, 28, 512, 25, 16, 46, 0 + delay 0x2 + createsprite gUnknown_08596B88, 0x2, 0, 33, 464, 30, 15, -50, 0 + createvisualtask sub_8116620, 0xA, 2, 4, 8, 0, 639 + waitforvisualfinish + end + +AnimScript_82D5581: + createsprite gUnknown_08596B88, 0x2, 0, 28, 528, 30, 13, 50, 0 + delay 0x2 + createsprite gUnknown_08596B88, 0x2, 0, 32, 480, 20, 16, -46, 0 + delay 0x2 + createsprite gUnknown_08596B88, 0x2, 0, 33, 576, 20, 8, 42, 0 + delay 0x2 + createsprite gUnknown_08596B88, 0x2, 0, 31, 400, 25, 11, -42, 0 + delay 0x2 + createsprite gUnknown_08596B88, 0x2, 0, 28, 512, 25, 16, 46, 0 + delay 0x2 + createsprite gUnknown_08596B88, 0x2, 0, 33, 464, 30, 15, -50, 0 + delay 0x2 + return + +AnimScript_82D560C: + end + +Move_MUD_SHOT: + loadspritegfx 0x2813 + monbg ANIM_DEF_PARTNER + monbgprio_28 ANIM_TARGET + setalpha 0x80C + createvisualtask sub_80D51AC, 0x5, 0, 0, 2, 46, 1 + delay 0x6 + createvisualtask sub_81076C8, 0x5, 100 + panse_1B SE_W250, -64, +63, +1, 0x0 + call AnimScript_82D5687 + call AnimScript_82D5687 + call AnimScript_82D5687 + createvisualtask sub_80D51AC, 0x5, 1, 3, 0, 43, 1 + call AnimScript_82D5687 + call AnimScript_82D5687 + call AnimScript_82D5687 + call AnimScript_82D5687 + call AnimScript_82D5687 + call AnimScript_82D5687 + call AnimScript_82D5687 + call AnimScript_82D5687 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +AnimScript_82D5687: + createsprite gUnknown_085950FC, 0x3, 10, 10, 0, 16 + delay 0x2 + createsprite gUnknown_085950FC, 0x3, 10, 10, 0, 16 + delay 0x2 + return + +Move_METEOR_MASH: + loadspritegfx 0x27F9 + loadspritegfx 0x2797 + loadspritegfx 0x279F + panse_1B SE_W112, -64, +63, +3, 0x0 + fadetobg BG_COSMIC + waitbgfadein + waitforvisualfinish + createsprite gUnknown_085CE8DC, 0x83, -48, -64, 72, 32, 30 + delay 0xA + createsprite gUnknown_085CE8DC, 0x83, -112, -64, 8, 32, 30 + delay 0x28 + createsprite gUnknown_08595F14, 0x83, 0, 0, 0, 30 + createsprite gUnknown_085CE8DC, 0x83, -80, -64, 40, 32, 30 + delay 0x14 + playsewithpan SE_W233B, +63 + createsprite gUnknown_08597358, 0x83, 0, 0, 1, 1 + createvisualtask sub_80D52D0, 0x2, 1, 5, 0, 20, 1 + waitforvisualfinish + delay 0xA + restorebg + waitbgfadein + waitforvisualfinish + end + +Move_REVENGE: + loadspritegfx 0x2805 + monbg ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W036, -64 + createsprite gUnknown_08596088, 0x2, 10, -10 + waitforvisualfinish + createvisualtask sub_8115A04, 0x2, 2, 0, 4, 2, 8, 31 + waitforvisualfinish + unloadspritegfx 0x2805 + loadspritegfx 0x2806 + createsprite gUnknown_0857FE28, 0x2, 6, 4 + delay 0x4 + playsewithpan SE_W207, +63 + createsprite gUnknown_085960D0, 0x82, 10, -10 + waitforvisualfinish + unloadspritegfx 0x2806 + loadspritegfx 0x2797 + createvisualtask sub_80D52D0, 0x2, 1, 3, 0, 10, 1 + createsprite gUnknown_08597400, 0x83, -10, -8, 1, 1, 8 + playsewithpan SE_W233B, +63 + delay 0x8 + createsprite gUnknown_08597400, 0x83, 10, 8, 1, 1, 8 + playsewithpan SE_W025B, +63 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +Move_POISON_FANG: + loadspritegfx 0x27D0 + loadspritegfx 0x27A6 + playsewithpan SE_W044, +63 + createsprite gUnknown_085CE1DC, 0x82 + delay 0xA + createvisualtask sub_80D51AC, 0x3, 1, 3, 0, 10, 1 + waitforvisualfinish + createvisualtask sub_8115A04, 0x2, 4, 0, 4, 0, 12, 26650 + call AnimScript_82D7A71 + waitforvisualfinish + end + +Move_SUBSTITUTE: + playsewithpan SE_W213, -64 + createvisualtask sub_815F20C, 0x2 + end + +Move_FRENZY_PLANT: + loadspritegfx 0x27EF + loadspritegfx 0x2797 + monbg ANIM_TARGET + monbgprio_28 ANIM_TARGET + setalpha 0x80C + createsprite gUnknown_08597274, 0x0, 1, 2, 0, 5, 0 + waitforvisualfinish + createsprite gUnknown_08592564, 0x2, 10, 8, 2, 0, 0, 100 + playsewithpan SE_W010, -64 + delay 0x5 + createsprite gUnknown_08592564, 0x2, 20, -8, -2, 0, 1, 95 + playsewithpan SE_W010, -43 + delay 0x5 + createsprite gUnknown_08592564, 0x2, 30, 8, -4, 0, 0, 90 + playsewithpan SE_W010, -22 + delay 0x5 + createsprite gUnknown_08592564, 0x2, 40, -8, 4, 0, 1, 85 + playsewithpan SE_W010, 0 + delay 0x5 + createsprite gUnknown_08592564, 0x2, 50, 8, 0, 0, 0, 85 + playsewithpan SE_W010, +21 + delay 0x5 + createsprite gUnknown_08592564, 0x2, 60, -8, -2, 0, 1, 85 + playsewithpan SE_W010, +42 + delay 0x5 + createsprite gUnknown_08592564, 0x2, 75, 8, 0, 0, 0, 85 + playsewithpan SE_W010, +63 + delay 0x5 + createsprite gUnknown_08592564, 0x2, 85, 16, 6, 0, 3, 80 + playsewithpan SE_W010, +63 + delay 0x5 + createsprite gUnknown_08592564, 0x2, 85, -16, -6, 0, 2, 75 + playsewithpan SE_W010, +63 + delay 0x5 + createsprite gUnknown_08597358, 0x2, -10, -10, 1, 3 + playsewithpan SE_W003, +63 + createvisualtask sub_80D51AC, 0x3, 1, 8, 0, 20, 1 + delay 0x3 + createsprite gUnknown_08597358, 0x2, 10, 8, 1, 3 + playsewithpan SE_W003, +63 + delay 0x3 + createsprite gUnknown_08597358, 0x2, 10, -3, 1, 2 + playsewithpan SE_W003, +63 + delay 0x3 + createsprite gUnknown_08597358, 0x2, -3, 1, 1, 2 + playsewithpan SE_W003, +63 + delay 0x2 + createsprite gUnknown_08597358, 0x2, -10, 1, 1, 1 + playsewithpan SE_W003, +63 + delay 0x2 + createsprite gUnknown_08597358, 0x2, 0, 10, 1, 1 + playsewithpan SE_W003, +63 + waitforvisualfinish + createsprite gUnknown_08597274, 0x0, 1, 2, 5, 0, 0 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +Move_METAL_SOUND: + loadspritegfx 0x2814 + monbg ANIM_DEF_PARTNER + monbgprio_2A ANIM_TARGET + createvisualtask sub_80D52D0, 0x2, 0, 2, 0, 8, 1 + call AnimScript_82D59EA + call AnimScript_82D59EA + call AnimScript_82D59EA + call AnimScript_82D59EA + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + delay 0x0 + waitforvisualfinish + end + +AnimScript_82D59EA: + panse_1B SE_W103, -64, +63, +2, 0x0 + createsprite gUnknown_08593458, 0x82, 16, 0, 0, 0, 30, 0 + delay 0x2 + return + +Move_FOCUS_PUNCH: + goto AnimScript_82D5A0E + +AnimScript_82D5A0C: + waitforvisualfinish + end + +AnimScript_82D5A0E: + loadspritegfx 0x2797 + loadspritegfx 0x279F + delay 0x1 + createvisualtask sub_8117E60, 0x2 + jumpargeq 0x7, 0x1, AnimScript_82D5AC7 + createvisualtask sub_815A8C8, 0x2 + jumpargeq 0x7, 0x0, AnimScript_82D5AB9 + jumpargeq 0x7, 0x1, AnimScript_82D5AC0 + +AnimScript_82D5A3C: + waitbgfadein + monbg ANIM_DEF_PARTNER + setalpha 0x80C + playsewithpan SE_W207, +63 + createsprite gUnknown_08596104, 0x82 + delay 0xA + createsprite gUnknown_08597358, 0x2, -10, -8, 1, 0 + createvisualtask sub_80D51AC, 0x5, 1, 8, 0, 24, 1 + delay 0x8 + createsprite gUnknown_08597358, 0x2, 10, 2, 1, 0 + playsewithpan SE_W233B, +63 + delay 0x8 + createsprite gUnknown_08597358, 0x2, 10, -6, 1, 0 + playsewithpan SE_W233B, +63 + delay 0x8 + createsprite gUnknown_08597358, 0x2, 0, 8, 1, 0 + playsewithpan SE_W025B, +63 + waitforvisualfinish + restorebg + waitbgfadein + clearmonbg ANIM_DEF_PARTNER + blendoff + goto AnimScript_82D5A0C + +AnimScript_82D5AB9: + fadetobg BG_IMPACT_OPPONENT + goto AnimScript_82D5A3C + +AnimScript_82D5AC0: + fadetobg BG_IMPACT_PLAYER + goto AnimScript_82D5A3C + +AnimScript_82D5AC7: + fadetobg BG_IMPACT_CONTESTS + goto AnimScript_82D5A3C + +Move_RETURN: + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + createvisualtask sub_815F8A0, 0x2 + delay 0x2 + jumpargeq 0x7, 0x0, AnimScript_82D5B04 + jumpargeq 0x7, 0x1, AnimScript_82D5B56 + jumpargeq 0x7, 0x2, AnimScript_82D5BB6 + jumpargeq 0x7, 0x3, AnimScript_82D5CD1 + +AnimScript_82D5AFF: + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +AnimScript_82D5B04: + createsprite gUnknown_0857FE40, 0x2, 16, 1, 0 + createvisualtask sub_8159244, 0x5, 167, -64 + waitforvisualfinish + createsprite gUnknown_0857FE40, 0x2, 16, 1, 0 + createvisualtask sub_8159244, 0x5, 167, -64 + delay 0x5 + createsprite gUnknown_08597358, 0x2, -10, -8, 1, 2 + createvisualtask sub_8159210, 0x5, 139, 63 + goto AnimScript_82D5AFF + +AnimScript_82D5B56: + createsprite gUnknown_0857FE40, 0x2, 6, 1, 0 + createvisualtask sub_8159244, 0x5, 167, -64 + waitforvisualfinish + createsprite gUnknown_0857FE40, 0x2, 6, 1, 0 + createvisualtask sub_8159244, 0x5, 167, -64 + waitforvisualfinish + delay 0xB + createsprite gUnknown_0857FE28, 0x2, 5, 4 + delay 0x6 + createsprite gUnknown_08597358, 0x3, 0, 0, 1, 2 + createvisualtask sub_8159210, 0x5, 141, 63 + goto AnimScript_82D5AFF + +AnimScript_82D5BB6: + createsprite gUnknown_0857FE40, 0x2, 6, 1, 0 + createvisualtask sub_8159244, 0x5, 167, -64 + waitforvisualfinish + createsprite gUnknown_0857FE40, 0x2, 6, 1, 0 + createvisualtask sub_8159244, 0x5, 167, -64 + waitforvisualfinish + createsprite gUnknown_0857FE40, 0x2, 6, 1, 0 + createvisualtask sub_8159244, 0x5, 167, -64 + waitforvisualfinish + createsprite gUnknown_0857FE40, 0x2, 6, 1, 0 + createvisualtask sub_8159244, 0x5, 167, -64 + waitforvisualfinish + createsprite gUnknown_08597358, 0x2, -10, -8, 1, 2 + createvisualtask sub_8159210, 0x5, 123, 63 + createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 + delay 0x8 + createsprite gUnknown_08597358, 0x2, 10, 10, 1, 2 + createvisualtask sub_8159210, 0x5, 123, 63 + createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 + delay 0x8 + createsprite gUnknown_08597358, 0x2, 3, -5, 1, 2 + createvisualtask sub_8159210, 0x5, 123, 63 + createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 + delay 0x8 + createsprite gUnknown_08597358, 0x2, -5, 3, 1, 2 + createvisualtask sub_8159210, 0x5, 123, 63 + createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 + goto AnimScript_82D5AFF + +AnimScript_82D5CD1: + createsprite gUnknown_08597274, 0x2, 1, 0, 0, 6, 0 + waitforvisualfinish + createsprite gUnknown_0857FE40, 0x2, 16, 1, 0 + createvisualtask sub_8159244, 0x5, 167, -64 + delay 0x8 + createsprite gUnknown_08597358, 0x2, 3, -5, 1, 2 + createvisualtask sub_8159210, 0x5, 123, 63 + waitforvisualfinish + createsprite gUnknown_0857FE40, 0x2, 12, 1, 0 + createvisualtask sub_8159244, 0x5, 167, -64 + delay 0x5 + createsprite gUnknown_08597358, 0x2, -10, -8, 1, 2 + createvisualtask sub_8159210, 0x5, 123, 63 + createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 + waitforvisualfinish + delay 0x4 + createsprite gUnknown_0857FE40, 0x2, 8, 1, 0 + createvisualtask sub_8159244, 0x5, 167, -64 + delay 0x5 + createsprite gUnknown_08597358, 0x2, -10, -8, 1, 2 + createvisualtask sub_8159210, 0x5, 123, 63 + createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 + waitforvisualfinish + delay 0x2 + createvisualtask sub_81169C0, 0x2, 0, 4, 5, 1 + createsprite gUnknown_0857FE40, 0x2, 4, 1, 0 + createvisualtask sub_8159244, 0x5, 167, -64 + createsprite gUnknown_08597358, 0x2, -10, -8, 1, 2 + createvisualtask sub_8159210, 0x5, 123, 63 + createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 + createvisualtask sub_81169C0, 0x2, 0, 4, 5, 1 + waitforvisualfinish + createsprite gUnknown_0857FE40, 0x2, 4, 2, 0 + createvisualtask sub_8159244, 0x5, 167, -64 + delay 0x5 + createsprite gUnknown_08597358, 0x2, -10, -8, 1, 2 + createvisualtask sub_8159210, 0x5, 123, 63 + createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 + createvisualtask sub_81169C0, 0x2, 0, 4, 5, 1 + waitforvisualfinish + call AnimScript_82D5F09 + call AnimScript_82D5F09 + call AnimScript_82D5F09 + call AnimScript_82D5F09 + createsprite gUnknown_08597358, 0x2, -10, -8, 1, 0 + createvisualtask sub_8159210, 0x5, 141, 63 + createvisualtask sub_80D51AC, 0x5, 1, 8, 0, 24, 1 + delay 0x6 + createsprite gUnknown_08597358, 0x2, 10, 10, 1, 0 + createvisualtask sub_8159210, 0x5, 141, 63 + delay 0x6 + createsprite gUnknown_08597358, 0x2, 3, -5, 1, 0 + createvisualtask sub_8159210, 0x5, 141, 63 + delay 0x6 + createsprite gUnknown_08597358, 0x2, -5, 3, 1, 0 + createvisualtask sub_8159210, 0x5, 141, 63 + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 0, 6, 0, 0 + goto AnimScript_82D5AFF + +AnimScript_82D5F09: + createsprite gUnknown_0857FE40, 0x2, 4, 3, 0 + createvisualtask sub_8159244, 0x5, 167, -64 + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 + createvisualtask sub_8159210, 0x5, 123, 63 + createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 + createvisualtask sub_81169C0, 0x2, 0, 4, 5, 1 + waitforvisualfinish + return + +Move_COSMIC_POWER: + loadspritegfx 0x2741 + createvisualtask sub_8159244, 0x5, 243, 0 + playsewithpan SE_W322, 0 + createvisualtask sub_8117610, 0x2, 0, 0, 15, 0 + waitforvisualfinish + fadetobg BG_COSMIC + waitbgfadeout + createvisualtask sub_8117660, 0x2, 0, 128, 0, -1 + waitbgfadein + delay 0x46 + createvisualtask sub_8159210, 0x5, 228, -64 + createsprite gUnknown_08592B7C, 0x2, -15, 0, 0, 0, 32, 60 + delay 0x8 + createsprite gUnknown_08592B7C, 0x2, 12, -5, 0, 0, 32, 60 + delay 0x28 + createvisualtask sub_8117610, 0x2, 0, 15, 0, 0 + waitforvisualfinish + restorebg + waitbgfadeout + setarg 0x7, 0xFFFF + waitbgfadein + waitforvisualfinish + end + +Move_BLAST_BURN: + loadspritegfx 0x2733 + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + playsewithpan SE_W221, -64 + createsprite gUnknown_08595428, 0x2, -32, 0, 24, 0, 0, 0 + createsprite gUnknown_08595428, 0x2, -20, -10, 24, 0, 0, 0 + createsprite gUnknown_08595428, 0x42, 0, -16, 24, 0, 0, 0 + createsprite gUnknown_08595428, 0x42, 20, -10, 24, 0, 0, 0 + createsprite gUnknown_08595428, 0x42, 32, 0, 24, 0, 0, 0 + createsprite gUnknown_08595428, 0x42, 20, 10, 24, 0, 0, 0 + createsprite gUnknown_08595428, 0x2, 0, 16, 24, 0, 0, 0 + createsprite gUnknown_08595428, 0x2, -20, 10, 24, 0, 0, 0 + delay 0x19 + playsewithpan SE_W172B, -64 + createsprite gUnknown_08595428, 0x2, -64, 0, 24, 0, 0, 0 + createsprite gUnknown_08595428, 0x6, -40, -20, 24, 0, 0, 0 + createsprite gUnknown_08595428, 0x46, 0, -32, 24, 0, 0, 0 + createsprite gUnknown_08595428, 0x46, 40, -20, 24, 0, 0, 0 + createvisualtask sub_80D51AC, 0x5, 1, 6, 0, 8, 1 + createsprite gUnknown_08595428, 0x42, 64, 0, 24, 0, 0, 0 + createsprite gUnknown_08595428, 0x42, 40, 20, 24, 0, 0, 0 + createsprite gUnknown_08595428, 0x2, 0, 32, 24, 0, 0, 0 + createsprite gUnknown_08595428, 0x2, -40, 20, 24, 0, 0, 0 + createvisualtask sub_8115F10, 0x2, 257, 257, 257 + delay 0x19 + playsewithpan SE_W172B, -64 + createsprite gUnknown_08595428, 0x2, -96, 0, 24, 0, 0, 0 + createsprite gUnknown_08595428, 0x6, -60, -30, 24, 0, 0, 0 + createsprite gUnknown_08595428, 0x46, 0, -48, 24, 0, 0, 0 + createsprite gUnknown_08595428, 0x46, 60, -30, 24, 0, 0, 0 + createsprite gUnknown_08597358, 0x82, -4, 3, 1, 0 + createvisualtask sub_80D51AC, 0x5, 1, 12, 0, 20, 1 + createvisualtask sub_81162A4, 0x2, 2, 0, 10, 1 + createsprite gUnknown_08595428, 0x42, 96, 0, 24, 0, 0, 0 + createsprite gUnknown_08595428, 0x42, 60, 30, 24, 0, 0, 0 + createsprite gUnknown_08595428, 0x2, 0, 48, 24, 0, 0, 0 + createsprite gUnknown_08595428, 0x2, -60, 30, 24, 0, 0, 0 + createvisualtask sub_8115F10, 0x2, 257, 257, 257 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_ROCK_TOMB: + loadspritegfx 0x280A + loadspritegfx 0x274A + createvisualtask sub_81162A4, 0x2, 2, 0, 10, 1 + waitforvisualfinish + createsprite gUnknown_08596C58, 0x82, 20, 12, 64, 114, 0 + delay 0x8 + createvisualtask sub_81162A4, 0x2, 0, 2, 3, 1 + playsewithpan SE_W070, +63 + delay 0x8 + createsprite gUnknown_08596C58, 0x82, -20, 12, 64, 98, 0 + delay 0x8 + createvisualtask sub_81162A4, 0x2, 0, 2, 3, 1 + playsewithpan SE_W070, +63 + delay 0x8 + createsprite gUnknown_08596C58, 0xC2, 3, 6, 64, 82, 0 + delay 0x8 + createvisualtask sub_81162A4, 0x2, 0, 2, 3, 1 + playsewithpan SE_W070, +63 + delay 0x8 + createsprite gUnknown_08596C58, 0x82, -3, 13, 64, 66, 0 + delay 0x8 + createvisualtask sub_81162A4, 0x2, 0, 2, 3, 1 + playsewithpan SE_W070, +63 + delay 0x18 + playsewithpan SE_W063, +63 + createsprite gUnknown_085967AC, 0x85, 1, 50 + createvisualtask sub_80D51AC, 0x5, 1, 3, 0, 20, 1 + createvisualtask sub_81162A4, 0x2, 2, 0, 10, 1 + waitforvisualfinish + end + +Move_SILVER_WIND: + loadspritegfx 0x281F + panse_1B SE_W016, -64, +63, +2, 0x0 + playsewithpan SE_W234, 0 + delay 0x0 + monbg ANIM_DEF_PARTNER + monbgprio_29 + delay 0x0 + createvisualtask sub_8116664, 0xA, 1, 0, 0, 4, 0 + createvisualtask sub_8117780, 0x2 + jumpargeq 0x7, 0x1, AnimScript_82D650C + fadetobg BG_BUG_OPPONENT + waitbgfadeout + createvisualtask sub_8117660, 0x5, 1536, 0, 0, -1 + +AnimScript_82D6352: + delay 0x0 + createvisualtask sub_8116620, 0xA, 1, 0, 4, 4, 0 + waitbgfadein + createsprite gUnknown_08592830, 0xC2, -32, 16, 0, 6, 2, 3, 1 + createsprite gUnknown_08592830, 0xC2, -8, 18, 64, 3, 2, 2, 1 + createsprite gUnknown_08592830, 0x78, -24, 18, 90, 5, 1, 2, 1 + createsprite gUnknown_08592830, 0x78, -40, 14, 128, 4, 1, 2, 1 + delay 0x0 + createsprite gUnknown_08592848, 0xC2, -32, 16, 0, 6, 2, 3, 1 + createsprite gUnknown_08592848, 0xC2, -8, 18, 64, 3, 2, 2, 1 + createsprite gUnknown_08592848, 0x78, -24, 18, 90, 5, 1, 2, 1 + createsprite gUnknown_08592848, 0x78, -40, 14, 128, 4, 1, 2, 1 + delay 0x0 + createsprite gUnknown_08592860, 0xC2, -32, 16, 0, 6, 2, 3, 1 + createsprite gUnknown_08592860, 0xC2, -8, 18, 64, 3, 2, 2, 1 + createsprite gUnknown_08592860, 0x78, -24, 18, 90, 5, 1, 2, 1 + createsprite gUnknown_08592860, 0x78, -40, 14, 128, 4, 1, 2, 1 + delay 0x6 + createsprite gUnknown_08592830, 0xC2, -4, 16, 0, 6, 1, 2, 1 + createsprite gUnknown_08592830, 0xC2, -16, 12, 192, 5, 2, 3, 1 + delay 0x0 + createsprite gUnknown_08592848, 0xC2, -4, 16, 0, 6, 1, 2, 1 + createsprite gUnknown_08592848, 0xC2, -16, 12, 192, 5, 2, 3, 1 + delay 0x0 + createsprite gUnknown_08592860, 0xC2, -4, 16, 0, 6, 1, 2, 1 + createsprite gUnknown_08592860, 0xC2, -16, 12, 192, 5, 2, 3, 1 + waitforvisualfinish + playsewithpan SE_W016B, +63 + clearmonbg ANIM_DEF_PARTNER + delay 0x0 + restorebg + waitbgfadeout + createvisualtask sub_8116664, 0xA, 1, 0, 4, 0, 0 + setarg 0x7, 0xFFFF + waitbgfadein + end + +AnimScript_82D650C: + fadetobg BG_BUG_PLAYER + waitbgfadeout + createvisualtask sub_8117660, 0x5, -1536, 0, 0, -1 + goto AnimScript_82D6352 + +Move_SNATCH: + playsewithpan SE_W036, -64 + createvisualtask sub_80D5C50, 0x5, 0, -12, 4, 10, 10, 12, 6 + end + +Move_DIVE: + loadspritegfx 0x2820 + loadspritegfx 0x2821 + choosetwoturnanim AnimScript_82D654C, AnimScript_82D65A1 + +AnimScript_82D654C: + loadspritegfx 0x27AC + playsewithpan SE_W029, -64 + createsprite gUnknown_08596490, 0x2, 0, 0, 13, 336 + waitforvisualfinish + playsewithpan SE_W291, -64 + createsprite gUnknown_085964CC, 0x3, 0 + call AnimScript_82D658A + call AnimScript_82D658A + call AnimScript_82D658A + call AnimScript_82D658A + call AnimScript_82D658A + end + +AnimScript_82D658A: + createsprite gUnknown_085964E4, 0x5, 0, 0 + createsprite gUnknown_085964E4, 0x5, 1, 0 + return + +AnimScript_82D65A1: + loadspritegfx 0x27A4 + loadspritegfx 0x27AB + monbg ANIM_DEF_PARTNER + setalpha 0x80C + playsewithpan SE_W153, +63 + createsprite gUnknown_085964CC, 0x83, 1 + call AnimScript_82D65E0 + call AnimScript_82D65E0 + call AnimScript_82D65E0 + call AnimScript_82D65E0 + call AnimScript_82D65E0 + delay 0xC + call AnimScript_82CB102 + waitforvisualfinish + visible ANIM_ATTACKER + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +AnimScript_82D65E0: + createsprite gUnknown_085964E4, 0x85, 0, 1 + createsprite gUnknown_085964E4, 0x85, 1, 1 + return + +Move_ROCK_BLAST: + loadspritegfx 0x274A + loadspritegfx 0x2797 + createsprite gUnknown_0857FE28, 0x2, 4, 6 + delay 0x3 + playsewithpan SE_W207, -64 + createsprite gUnknown_08596C98, 0x82, 16, 0, 0, 0, 25, 257 + waitforvisualfinish + createsprite gUnknown_08597358, 0x83, 0, 0, 1, 1 + playsewithpan SE_W088, +63 + createsprite gUnknown_08596B1C, 0x82, 0, 0, 20, 24, 14, 2 + createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 5, 1 + createsprite gUnknown_08596B1C, 0x82, 5, 0, -20, 24, 14, 1 + createsprite gUnknown_08596B1C, 0x82, 0, 5, 20, -24, 14, 2 + createsprite gUnknown_08596B1C, 0x82, -5, 0, -20, -24, 14, 2 + waitforvisualfinish + end + +Move_OVERHEAT: + loadspritegfx 0x272D + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x120C + createsprite gUnknown_08597274, 0x2, 1, 1, 0, 5, RGB(28, 0, 0) + waitforvisualfinish + createvisualtask sub_8117C44, 0x5 + waitforvisualfinish + createvisualtask sub_8117CA0, 0x5, 0, 1 + delay 0x1 + createvisualtask sub_8117DD8, 0x5, 0 + delay 0x1 + playsewithpan SE_W082, -64 + createvisualtask sub_8117CA0, 0x5, 1, 0 + delay 0x1 + createsprite gUnknown_08597274, 0x2, 2, 1, 0, 13, RGB(28, 0, 0) + createvisualtask sub_80D51AC, 0x5, 0, 2, 0, 15, 1 + waitforvisualfinish + playsewithpan SE_W172B, -64 + createsprite gUnknown_08596FB0, 0x2, 1, 0, 30, 25, -20 + createsprite gUnknown_08596FB0, 0x2, 1, 32, 30, 25, -20 + createsprite gUnknown_08596FB0, 0x2, 1, 64, 30, 25, -20 + createsprite gUnknown_08596FB0, 0x2, 1, 96, 30, 25, -20 + createsprite gUnknown_08596FB0, 0x2, 1, 128, 30, 25, -20 + createsprite gUnknown_08596FB0, 0x42, 1, 160, 30, 25, -20 + createsprite gUnknown_08596FB0, 0x42, 1, 192, 30, 25, -20 + createsprite gUnknown_08596FB0, 0x42, 1, 224, 30, 25, -20 + delay 0x5 + createsprite gUnknown_08596FB0, 0x2, 1, 0, 30, 25, 0 + createsprite gUnknown_08596FB0, 0x2, 1, 32, 30, 25, 0 + createsprite gUnknown_08596FB0, 0x2, 1, 64, 30, 25, 0 + createsprite gUnknown_08596FB0, 0x2, 1, 96, 30, 25, 0 + createsprite gUnknown_08596FB0, 0x2, 1, 128, 30, 25, 0 + createsprite gUnknown_08596FB0, 0x42, 1, 160, 30, 25, 0 + createsprite gUnknown_08596FB0, 0x42, 1, 192, 30, 25, 0 + createsprite gUnknown_08596FB0, 0x42, 1, 224, 30, 25, 0 + delay 0x5 + createsprite gUnknown_08596FB0, 0x2, 1, 0, 30, 25, 10 + createsprite gUnknown_08596FB0, 0x2, 1, 32, 30, 25, 10 + createsprite gUnknown_08596FB0, 0x2, 1, 64, 30, 25, 10 + createsprite gUnknown_08596FB0, 0x2, 1, 96, 30, 25, 10 + createsprite gUnknown_08596FB0, 0x2, 1, 128, 30, 25, 10 + createsprite gUnknown_08596FB0, 0x42, 1, 160, 30, 25, 10 + createsprite gUnknown_08596FB0, 0x42, 1, 192, 30, 25, 10 + createsprite gUnknown_08596FB0, 0x42, 1, 224, 30, 25, 10 + delay 0x5 + waitforvisualfinish + createsprite gUnknown_08597358, 0x83, -5, 3, 1, 0 + playsewithpan SE_W007, +63 + createvisualtask sub_80D51AC, 0x2, 1, 10, 0, 25, 1 + delay 0x6 + createsprite gUnknown_08597358, 0x83, 8, -5, 1, 0 + playsewithpan SE_W007, +63 + delay 0x8 + createsprite gUnknown_08597358, 0x83, 10, 10, 1, 0 + playsewithpan SE_W007, +63 + delay 0x8 + createsprite gUnknown_08597358, 0x83, 0, 0, 1, 0 + playsewithpan SE_W007, +63 + createvisualtask sub_8117DD8, 0x5, 1 + delay 0x1 + createsprite gUnknown_08597274, 0x2, 2, -1, 0, 13, RGB(18, 18, 18) + createvisualtask sub_80D51AC, 0x5, 0, 3, 0, 15, 1 + waitforvisualfinish + createvisualtask sub_8117D3C, 0x5, 0, 1 + delay 0x1 + createsprite gUnknown_08597274, 0x2, 1, 1, 5, 0, RGB(28, 0, 0) + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + waitforvisualfinish + delay 0xF + createvisualtask sub_8117D3C, 0x5, 1, 0 + delay 0x1 + createsprite gUnknown_08597274, 0x2, 2, 0, 13, 0, RGB(18, 18, 18) + waitforvisualfinish + createvisualtask sub_8117C70, 0x5 + waitforvisualfinish + end + +Move_HYDRO_CANNON: + loadspritegfx 0x27A5 + loadspritegfx 0x27A4 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + playsewithpan SE_W057, -64 + createsprite gUnknown_085951C0, 0x82 + delay 0xA + createvisualtask sub_8115F10, 0x2, 257, 257, 257 + delay 0x1E + panse_1B SE_W056, -64, +63, +2, 0x0 + call AnimScript_82D6A50 + createvisualtask sub_80D51AC, 0x5, 1, 10, 0, 40, 1 + createsprite gUnknown_08597388, 0x82, 0, 0, 1, 0 + call AnimScript_82D6A50 + createsprite gUnknown_08597388, 0x82, 0, 0, 1, 0 + call AnimScript_82D6A50 + createsprite gUnknown_08597388, 0x82, 0, 0, 1, 0 + call AnimScript_82D6A50 + createsprite gUnknown_08597388, 0x82, 0, 0, 1, 0 + call AnimScript_82D6A50 + createsprite gUnknown_08597388, 0x82, 0, 0, 1, 0 + call AnimScript_82D6A50 + createsprite gUnknown_08597388, 0x82, 0, 0, 1, 0 + waitforvisualfinish + createvisualtask sub_8115F10, 0x2, 257, 257, 257 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +AnimScript_82D6A50: + createsprite gUnknown_085951D8, 0x82, 10, -10, 0, 0, 15, 257 + delay 0x1 + createsprite gUnknown_085951D8, 0x82, 10, -10, 0, 0, 15, 257 + delay 0x1 + createsprite gUnknown_085951D8, 0x82, 10, -10, 0, 0, 15, 257 + delay 0x1 + createsprite gUnknown_085951D8, 0x82, 10, -10, 0, 0, 15, 257 + delay 0x1 + createsprite gUnknown_085951D8, 0x82, 10, -10, 0, 0, 15, 257 + return + +Move_ASTONISH: + loadspritegfx 0x2821 + playsewithpan SE_W227, -64 + createsprite gUnknown_0857FE28, 0x2, 4, 6 + delay 0x19 + createsprite gUnknown_085964E4, 0x85, 0, 1 + playsewithpan SE_W166, +63 + createsprite gUnknown_085964E4, 0x85, 1, 1 + createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 5, 1 + createvisualtask sub_8106020, 0x3 + waitforvisualfinish + end + +Move_SEISMIC_TOSS: + loadspritegfx 0x2797 + loadspritegfx 0x274A + setarg 0x7, 0x0 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + waitforvisualfinish + createvisualtask sub_81114EC, 0x3 + delay 0x1 + fadetobg BG_SEISMICTOSS_SKUUPPERCUT + waitbgfadeout + createvisualtask sub_811152C, 0x3 + playsewithpan SE_W327, 0 + waitbgfadein + waitforvisualfinish + createvisualtask sub_8111590, 0x3 + jumpargeq 0x7, 0x0, AnimScript_82D6B53 + jumpargeq 0x7, 0x1, AnimScript_82D6B64 + jumpargeq 0x7, 0x2, AnimScript_82D6B7C + +AnimScript_82D6B48: + restorebg + waitbgfadeout + setarg 0x7, 0xFFF + waitbgfadein + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +AnimScript_82D6B53: + call AnimScript_82D6B9B + delay 0x10 + call AnimScript_82D6BFC + goto AnimScript_82D6B48 + +AnimScript_82D6B64: + call AnimScript_82D6B9B + delay 0xE + call AnimScript_82D6BFC + delay 0xE + call AnimScript_82D6B9B + goto AnimScript_82D6B48 + +AnimScript_82D6B7C: + call AnimScript_82D6BFC + delay 0xA + call AnimScript_82D6B9B + delay 0xA + call AnimScript_82D6BFC + delay 0xA + call AnimScript_82D6B9B + goto AnimScript_82D6B48 + +AnimScript_82D6B9B: + createsprite gUnknown_08597358, 0x83, -10, -8, 1, 1 + playsewithpan SE_W070, +63 + createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 5, 1 + createsprite gUnknown_08596CB0, 0x82, -12, 27, 2, 3 + createsprite gUnknown_08596CB0, 0x82, 8, 28, 3, 4 + createsprite gUnknown_08596CB0, 0x82, -4, 30, 2, 3 + createsprite gUnknown_08596CB0, 0x82, 12, 25, 4, 4 + return + +AnimScript_82D6BFC: + createsprite gUnknown_08597358, 0x83, 10, -8, 1, 1 + playsewithpan SE_W088, +63 + createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 5, 1 + createsprite gUnknown_08596CB0, 0x82, -12, 32, 3, 4 + createsprite gUnknown_08596CB0, 0x82, 8, 31, 2, 2 + createsprite gUnknown_08596CB0, 0x82, -4, 28, 2, 3 + createsprite gUnknown_08596CB0, 0x82, 12, 30, 4, 3 + return + +Move_MAGIC_COAT: + loadspritegfx 0x27BA + setalpha 0x1000 + waitplaysewithpan SE_W112, -64, 0xF + createsprite gUnknown_085965C0, 0x3, 40, 0, 10170 + waitforvisualfinish + delay 0x1 + blendoff + end + +Move_WATER_PULSE: + loadspritegfx 0x27AB + loadspritegfx 0x2830 + monbg ANIM_TARGET + monbgprio_28 ANIM_TARGET + playsewithpan SE_W145C, -64 + createsprite gUnknown_08597274, 0x2, 1, 0, 0, 7, RGB(0, 25, 28) + delay 0xA + createsprite gUnknown_085952F8, 0x42, 100, 100, 8, 1, 20, 40, 0 + createsprite gUnknown_085952F8, 0x42, 20, 100, 16, 2, 10, 35, 1 + createsprite gUnknown_085952F8, 0x42, 200, 80, 8, 1, 40, 20, 0 + createsprite gUnknown_085952F8, 0x42, 80, 60, 10, 3, 20, 50, 0 + createsprite gUnknown_085952F8, 0x42, 140, 100, 16, 1, 20, 30, 1 + playsewithpan SE_W145C, +63 + waitforvisualfinish + playsewithpan SE_W202, -64 + createsprite gUnknown_08593470, 0x82, 0, 0, 40, 15 + delay 0x5 + playsewithpan SE_W202, -64 + createsprite gUnknown_08593470, 0x82, 0, 0, 40, 15 + delay 0x5 + playsewithpan SE_W202, -64 + createsprite gUnknown_08593470, 0x82, 0, 0, 40, 15 + delay 0xD + createvisualtask sub_80D51AC, 0x2, 1, 0, 8, 18, 1 + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 1, 7, 0, RGB(0, 25, 28) + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + end + +Move_PSYCHO_BOOST: + loadspritegfx 0x27E4 + monbg ANIM_ATK_PARTNER + fadetobg BG_PSYCHIC + waitbgfadeout + createvisualtask sub_815A5C8, 0x5 + waitbgfadein + delay 0x6 + createvisualtask sub_8115A04, 0x2, 1, 2, 8, 0, 10, 0 + delay 0x0 + monbgprio_28 ANIM_ATTACKER + setalpha 0x808 + delay 0xA + createvisualtask sub_80D51AC, 0x2, 0, 3, 0, 240, 0 + loopsewithpan SE_W060B, -64, 0xE, 0xA + createsprite gUnknown_08596920, 0x2 + delay 0x6E + loopsewithpan SE_W060B, -64, 0x7, 0xA + waitforvisualfinish + createvisualtask sub_80D52D0, 0x2, 1, -8, 1, 24, 1 + playsewithpan SE_W043, +63 + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + blendoff + call AnimScript_82D7CDD + end + +Move_KNOCK_OFF: + loadspritegfx 0x2825 + loadspritegfx 0x2797 + createsprite gUnknown_0857FE28, 0x2, 4, 6 + delay 0x4 + playsewithpan SE_W233, +63 + createsprite gUnknown_085CE984, 0x82, -16, -16 + delay 0x8 + createsprite gUnknown_0859728C, 0x2, 31, 5, 1, 0x7FFF, 10, 0, 0 + createsprite gUnknown_08597358, 0x83, 0, 0, 1, 2 + playsewithpan SE_W004, +63 + createsprite gUnknown_0857FE70, 0x2, 1, -12, 10, 0, 3 + createsprite gUnknown_0857FE58, 0x2, 0, 0, 5 + delay 0x3 + createvisualtask sub_80D5484, 0x2, 1, 0, 3, 6, 1 + delay 0x5 + createsprite gUnknown_0857FE58, 0x2, 1, 0, 6 + delay 0xA + waitforvisualfinish + end + +Move_DOOM_DESIRE: + createvisualtask sub_8114960, 0x2 + delay 0x1 + monbg ANIM_ATK_PARTNER + createvisualtask sub_811489C, 0x5, 1, 0 + createsprite gUnknown_08597274, 0x2, 1, 1, 0, 4, 0 + waitforvisualfinish + setalpha 0x808 + playsewithpan SE_W060, -64 + createvisualtask sub_80D6064, 0x5, -4, -4, 15, 0, 1 + waitforvisualfinish + delay 0x14 + createvisualtask sub_811489C, 0x5, 1, 1 + createsprite gUnknown_08597274, 0x2, 1, 1, 4, 0, 0 + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + blendoff + end + +Move_SKY_UPPERCUT: + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + monbgprio_28 ANIM_TARGET + fadetobg BG_SEISMICTOSS_SKUUPPERCUT + waitbgfadeout + playsewithpan SE_W327, -64 + createvisualtask sub_810DABC, 0x5, 55 + waitbgfadein + setalpha 0x80C + delay 0x26 + createsprite gUnknown_0857FE70, 0x2, 0, 28, 0, 0, 5 + delay 0x4 + createvisualtask sub_80D52D0, 0x2, 1, 4, 0, 6, 1 + playsewithpan SE_W233B, +63 + createsprite gUnknown_08597358, 0x83, -28, 28, 1, 1 + delay 0x1 + playsewithpan SE_W233B, +63 + createsprite gUnknown_08597358, 0x83, -15, 8, 1, 1 + playsewithpan SE_W233B, +63 + delay 0x1 + playsewithpan SE_W233B, +63 + createsprite gUnknown_08597358, 0x83, -5, -12, 1, 1 + delay 0x1 + playsewithpan SE_W233B, +63 + createsprite gUnknown_08597358, 0x83, 0, -32, 1, 1 + delay 0x1 + playsewithpan SE_W233B, +63 + createsprite gUnknown_08597358, 0x83, 5, -52, 1, 1 + createsprite gUnknown_0857FE70, 0x2, 1, -26, 16, 1, 4 + delay 0x4 + createvisualtask sub_80D5484, 0x2, 1, 0, 3, 6, 1 + delay 0x1E + createsprite gUnknown_0857FE58, 0x2, 0, 0, 6 + delay 0x4 + createsprite gUnknown_0857FE58, 0x2, 1, 0, 6 + clearmonbg ANIM_DEF_PARTNER + blendoff + restorebg + waitbgfadeout + setarg 0x7, 0xFFFF + waitbgfadein + end + +Move_SECRET_POWER: + createvisualtask sub_8117C24, 0x5 + jumpargeq 0x0, 0x0, Move_NEEDLE_ARM + jumpargeq 0x0, 0x1, Move_MAGICAL_LEAF + jumpargeq 0x0, 0x2, Move_MUD_SHOT + jumpargeq 0x0, 0x3, Move_WATERFALL + jumpargeq 0x0, 0x4, Move_SURF + jumpargeq 0x0, 0x5, Move_BUBBLE_BEAM + jumpargeq 0x0, 0x6, Move_ROCK_THROW + jumpargeq 0x0, 0x7, Move_BITE + jumpargeq 0x0, 0x8, Move_STRENGTH + goto Move_SLAM + +Move_TWISTER: + loadspritegfx 0x274F + loadspritegfx 0x2797 + loadspritegfx 0x274A + monbg ANIM_DEF_PARTNER + monbgprio_28 ANIM_TARGET + playsewithpan SE_W239, +63 + createsprite gUnknown_085923A8, 0x82, 120, 70, 5, 70, 30 + delay 0x1 + createsprite gUnknown_085923A8, 0x82, 115, 55, 6, 60, 25 + delay 0x1 + createsprite gUnknown_085923A8, 0x82, 115, 60, 7, 60, 30 + createsprite gUnknown_085923A8, 0x82, 115, 55, 10, 60, 30 + delay 0x3 + createsprite gUnknown_08596CC8, 0x82, 100, 50, 4, 50, 26 + delay 0x1 + createsprite gUnknown_085923A8, 0x82, 105, 25, 8, 60, 20 + delay 0x1 + createsprite gUnknown_085923A8, 0x82, 115, 40, 10, 48, 30 + delay 0x3 + createsprite gUnknown_08596CC8, 0x82, 120, 30, 6, 45, 25 + createsprite gUnknown_085923A8, 0x82, 115, 35, 10, 60, 30 + delay 0x3 + createsprite gUnknown_08596CC8, 0x82, 105, 20, 8, 40, 0 + delay 0x3 + createsprite gUnknown_085923A8, 0x82, 20, 255, 15, 32, 0 + createsprite gUnknown_085923A8, 0x82, 110, 10, 8, 32, 20 + waitforvisualfinish + createsprite gUnknown_08597358, 0x83, -32, -16, 1, 3 + playsewithpan SE_W004, +63 + createvisualtask sub_80D5484, 0x2, 1, 3, 0, 12, 1 + createvisualtask sub_80D5484, 0x2, 3, 3, 0, 12, 1 + delay 0x4 + createsprite gUnknown_085973A0, 0x83, 1, 3 + playsewithpan SE_W004, +63 + delay 0x4 + createsprite gUnknown_085973A0, 0x83, 1, 3 + playsewithpan SE_W004, +63 + delay 0x4 + createsprite gUnknown_08597358, 0x83, 32, 20, 1, 3 + playsewithpan SE_W004, +63 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_MAGICAL_LEAF: + loadspritegfx 0x274F + loadspritegfx 0x27B0 + loadspritegfx 0x2797 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + delay 0x1 + loopsewithpan SE_W077, -64, 0xA, 0x5 + createvisualtask sub_81007C4, 0x5 + createsprite gUnknown_08592390, 0x2, -3, -2, 10 + delay 0x2 + createsprite gUnknown_08592390, 0x2, -1, -1, 15 + delay 0x2 + createsprite gUnknown_08592390, 0x2, -4, -4, 7 + delay 0x2 + createsprite gUnknown_08592390, 0x2, 3, -3, 11 + delay 0x2 + createsprite gUnknown_08592390, 0x2, -1, -6, 8 + delay 0x2 + createsprite gUnknown_08592390, 0x2, 2, -1, 12 + delay 0x2 + createsprite gUnknown_08592390, 0x2, -3, -4, 13 + delay 0x2 + createsprite gUnknown_08592390, 0x2, 4, -5, 7 + delay 0x2 + createsprite gUnknown_08592390, 0x2, 2, -6, 11 + delay 0x2 + createsprite gUnknown_08592390, 0x2, -3, -5, 8 + delay 0x3C + playsewithpan SE_W013B, -64 + createsprite gUnknown_085923D8, 0x83, 20, -10, 20, 0, 32, 20, 0 + createsprite gUnknown_085923D8, 0x83, 20, -10, 20, 0, 32, -20, 0 + delay 0x1E + playsewithpan SE_W013, +63 + createsprite gUnknown_08597358, 0x84, -10, -4, 1, 2 + createsprite gUnknown_08597358, 0x84, 10, 4, 1, 2 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 + delay 0x14 + setarg 0x7, 0xFFFF + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_ICE_BALL: + loadspritegfx 0x273B + loadspritegfx 0x279D + createvisualtask sub_810CDFC, 0x5, 0 + jumpargeq 0x0, 0x4, AnimScript_82D731B + +AnimScript_82D72BB: + playsewithpan SE_W196, -64 + createsprite gUnknown_08595DE4, 0x82, 15, 0, -12, -16, 30, -40 + delay 0x1C + playsewithpan SE_W280, +63 + createvisualtask sub_810CDFC, 0x5, 0 + jumpargeq 0x0, 0x0, AnimScript_82D732C + jumpargeq 0x0, 0x1, AnimScript_82D735B + jumpargeq 0x0, 0x2, AnimScript_82D7394 + jumpargeq 0x0, 0x3, AnimScript_82D73D7 + jumpargeq 0x0, 0x4, AnimScript_82D741F + +AnimScript_82D7309: + createvisualtask sub_810CDFC, 0x5, 0 + jumpargeq 0x0, 0x4, AnimScript_82D7322 + +AnimScript_82D731A: + end + +AnimScript_82D731B: + fadetobg BG_ICE + goto AnimScript_82D72BB + +AnimScript_82D7322: + waitbgfadein + delay 0x2D + restorebg + waitbgfadein + goto AnimScript_82D731A + +AnimScript_82D732C: + createvisualtask sub_80D6388, 0x2, 0, 1, 8, 1, 0 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + goto AnimScript_82D7309 + +AnimScript_82D735B: + createvisualtask sub_80D6388, 0x2, 0, 1, 10, 1, 0 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + goto AnimScript_82D7309 + +AnimScript_82D7394: + createvisualtask sub_80D6388, 0x2, 0, 1, 14, 1, 0 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + goto AnimScript_82D7309 + +AnimScript_82D73D7: + createvisualtask sub_80D6388, 0x2, 0, 1, 18, 1, 0 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + goto AnimScript_82D7309 + +AnimScript_82D741F: + createvisualtask sub_80D6388, 0x2, 0, 1, 30, 1, 0 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + call AnimScript_82D7467 + goto AnimScript_82D7309 + +AnimScript_82D7467: + createsprite gUnknown_08595DFC, 0x84, -12, -16 + return + +Move_WEATHER_BALL: + loadspritegfx 0x282B + createsprite gUnknown_0857FE40, 0x2, 8, 1, 0 + delay 0x8 + playsewithpan SE_W207, -64 + createsprite gUnknown_0853EE38, 0x2 + waitforvisualfinish + delay 0xF + playsewithpan SE_W197, 0 + createsprite gUnknown_0859728C, 0x2, 31, 5, 1, 0x7FFF, 10, 0, 0 + waitforvisualfinish + createvisualtask sub_81604F0, 0x2 + delay 0x1 + jumpargeq 0x7, 0x0, AnimScript_82D74DE + jumpargeq 0x7, 0x1, AnimScript_82D751B + jumpargeq 0x7, 0x2, AnimScript_82D757F + jumpargeq 0x7, 0x3, AnimScript_82D75E3 + jumpargeq 0x7, 0x4, AnimScript_82D7683 + +AnimScript_82D74DE: + loadspritegfx 0x2797 + createsprite gUnknown_0853EE50, 0x82, -30, -100, 25, 1, 0, 0 + waitforvisualfinish + playsewithpan SE_W025B, +63 + createsprite gUnknown_08597358, 0x84, -10, 0, 1, 2 + createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 8, 1 + waitforvisualfinish + end + +AnimScript_82D751B: + loadspritegfx 0x272D + createsprite gUnknown_0859559C, 0x82, -30, -100, 25, 1, 40, 10 + playsewithpan SE_W172, +63 + delay 0xA + createsprite gUnknown_0859559C, 0x82, -30, -100, 25, 1, -40, 20 + playsewithpan SE_W172, +63 + delay 0xA + createsprite gUnknown_0859559C, 0x82, -30, -100, 25, 1, 0, 0 + playsewithpan SE_W172, +63 + waitforvisualfinish + playsewithpan SE_W172B, +63 + createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 8, 1 + waitforvisualfinish + end + +AnimScript_82D757F: + loadspritegfx 0x27AB + createsprite gUnknown_08595328, 0x82, -30, -100, 25, 1, 50, 10 + playsewithpan SE_W152, +63 + delay 0x8 + createsprite gUnknown_08595328, 0x82, -30, -100, 25, 1, -20, 20 + playsewithpan SE_W152, +63 + delay 0xD + createsprite gUnknown_08595328, 0x82, -30, -100, 25, 1, 0, 0 + playsewithpan SE_W152, +63 + waitforvisualfinish + createvisualtask sub_80D51AC, 0x2, 1, 0, 3, 8, 1 + playsewithpan SE_W202, +63 + waitforvisualfinish + end + +AnimScript_82D75E3: + loadspritegfx 0x274A + createsprite gUnknown_08596CE0, 0x82, -30, -100, 25, 1, 30, 0 + playsewithpan SE_W088, +63 + delay 0x5 + createsprite gUnknown_08596CE0, 0x82, -30, -100, 25, 1, -40, 20 + playsewithpan SE_W088, +63 + delay 0xE + createsprite gUnknown_08596CE0, 0x82, -30, -100, 25, 1, 0, 0 + playsewithpan SE_W088, +63 + waitforvisualfinish + playsewithpan SE_W070, +63 + createsprite gUnknown_08596CB0, 0x82, -12, 27, 2, 3 + createsprite gUnknown_08596CB0, 0x82, 8, 28, 3, 4 + createsprite gUnknown_08596CB0, 0x82, -4, 30, 2, 3 + createsprite gUnknown_08596CB0, 0x82, 12, 25, 4, 4 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 + waitforvisualfinish + end + +AnimScript_82D7683: + loadspritegfx 0x2817 + loadspritegfx 0x279D + createsprite gUnknown_08595D44, 0x82, -30, -100, 25, 25, -40, 20 + playsewithpan SE_W258, +63 + delay 0xA + createsprite gUnknown_08595D44, 0x82, -30, -100, 25, 25, 40, 0 + playsewithpan SE_W258, +63 + delay 0xA + createsprite gUnknown_08595D44, 0x82, -30, -100, 25, 25, 0, 0 + playsewithpan SE_W258, +63 + waitforvisualfinish + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 + playsewithpan SE_W196, +63 + call AnimScript_82D7720 + waitforvisualfinish + end + +Move_COUNT: + loadspritegfx 0x2797 + monbg ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W003, +63 + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 + createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +AnimScript_82D7720: + createsprite gUnknown_08595B68, 0x82, -10, -10, 0 + playsewithpan SE_W196, +63 + delay 0x4 + createsprite gUnknown_08595B80, 0x82, 10, 20, 0 + playsewithpan SE_W196, +63 + delay 0x4 + createsprite gUnknown_08595B68, 0x82, -5, 10, 0 + playsewithpan SE_W196, +63 + delay 0x4 + createsprite gUnknown_08595B80, 0x82, 17, -12, 0 + playsewithpan SE_W196, +63 + delay 0x4 + createsprite gUnknown_08595B80, 0x82, -15, 15, 0 + playsewithpan SE_W196, +63 + delay 0x4 + createsprite gUnknown_08595B80, 0x82, 0, 0, 0 + playsewithpan SE_W196, +63 + delay 0x4 + createsprite gUnknown_08595B68, 0x82, 20, 2, 0 + playsewithpan SE_W196, +63 + return + +AnimScript_82D77A4: + createsprite gUnknown_08595B68, 0x82, -10, -10, 1 + playsewithpan SE_W196, +63 + delay 0x4 + createsprite gUnknown_08595B80, 0x82, 10, 20, 1 + playsewithpan SE_W196, +63 + delay 0x4 + createsprite gUnknown_08595B68, 0x82, -29, 0, 1 + playsewithpan SE_W196, +63 + delay 0x4 + createsprite gUnknown_08595B80, 0x82, 29, -20, 1 + playsewithpan SE_W196, +63 + delay 0x4 + createsprite gUnknown_08595B68, 0x82, -5, 10, 1 + playsewithpan SE_W196, +63 + delay 0x4 + createsprite gUnknown_08595B80, 0x82, 17, -12, 1 + playsewithpan SE_W196, +63 + delay 0x4 + createsprite gUnknown_08595B68, 0x82, -20, 0, 1 + playsewithpan SE_W196, +63 + delay 0x4 + createsprite gUnknown_08595B80, 0x82, -15, 15, 1 + playsewithpan SE_W196, +63 + delay 0x4 + createsprite gUnknown_08595B80, 0x82, 26, -5, 1 + playsewithpan SE_W196, +63 + delay 0x4 + createsprite gUnknown_08595B80, 0x82, 0, 0, 1 + playsewithpan SE_W196, +63 + delay 0x4 + createsprite gUnknown_08595B68, 0x82, 20, 2, 1 + playsewithpan SE_W196, +63 + return + +AnimScript_82D7874: + loopsewithpan SE_W196, +63, 0x6, 0x4 + createsprite gUnknown_08595C04, 0x82, 0, 24, 0 + delay 0x4 + createsprite gUnknown_08595C04, 0x82, 8, 24, 0 + createsprite gUnknown_08595C04, 0x82, -8, 24, 0 + delay 0x4 + createsprite gUnknown_08595C04, 0x82, 16, 24, 0 + createsprite gUnknown_08595C04, 0x82, -16, 24, 0 + delay 0x4 + createsprite gUnknown_08595C04, 0x82, 24, 24, 0 + createsprite gUnknown_08595C04, 0x82, -24, 24, 0 + delay 0x4 + createsprite gUnknown_08595C04, 0x82, 32, 24, 0 + createsprite gUnknown_08595C04, 0x82, -32, 24, 0 + return + +AnimScript_82D78F8: + loopsewithpan SE_W196, +63, 0x6, 0x4 + createsprite gUnknown_08595C04, 0x82, 0, 24, 1 + delay 0x4 + createsprite gUnknown_08595C04, 0x82, 8, 24, 1 + createsprite gUnknown_08595C04, 0x82, -8, 24, 1 + delay 0x4 + createsprite gUnknown_08595C04, 0x82, 16, 24, 1 + createsprite gUnknown_08595C04, 0x82, -16, 24, 1 + delay 0x4 + createsprite gUnknown_08595C04, 0x82, 24, 24, 1 + createsprite gUnknown_08595C04, 0x82, -24, 24, 1 + delay 0x4 + createsprite gUnknown_08595C04, 0x82, 32, 24, 1 + createsprite gUnknown_08595C04, 0x82, -32, 24, 1 + delay 0x4 + createsprite gUnknown_08595C04, 0x82, 40, 24, 1 + createsprite gUnknown_08595C04, 0x82, -40, 24, 1 + delay 0x4 + createsprite gUnknown_08595C04, 0x82, 48, 24, 1 + createsprite gUnknown_08595C04, 0x82, -48, 24, 1 + return + +AnimScript_82D79B4: + createsprite gUnknown_08592B7C, 0x2, -15, 0, 0, 0, 32, 60 + delay 0x8 + createsprite gUnknown_08592B7C, 0x2, 12, -5, 0, 0, 32, 60 + delay 0x8 + return + +AnimScript_82D79DF: + playsewithpan SE_W071B, -64 + createsprite gUnknown_08592F2C, 0x2, 0, -5, 0, 0 + delay 0x7 + createsprite gUnknown_08592F2C, 0x2, -15, 10, 0, 0 + delay 0x7 + createsprite gUnknown_08592F2C, 0x2, -15, -15, 0, 0 + delay 0x7 + createsprite gUnknown_08592F2C, 0x2, 10, -5, 0, 0 + delay 0x7 + return + +AnimScript_82D7A28: + playsewithpan SE_W071B, +63 + createsprite gUnknown_08592F2C, 0x82, 0, -5, 1, 0 + delay 0x7 + createsprite gUnknown_08592F2C, 0x82, -15, 10, 1, 0 + delay 0x7 + createsprite gUnknown_08592F2C, 0x82, -15, -15, 1, 0 + delay 0x7 + createsprite gUnknown_08592F2C, 0x82, 10, -5, 1, 0 + delay 0x7 + return + +AnimScript_82D7A71: + createsprite gUnknown_08596240, 0x82, 10, 10, 0 + playsewithpan SE_W092, +63 + delay 0x6 + createsprite gUnknown_08596240, 0x82, 20, -20, 0 + playsewithpan SE_W092, +63 + delay 0x6 + createsprite gUnknown_08596240, 0x82, -20, 15, 0 + playsewithpan SE_W092, +63 + delay 0x6 + createsprite gUnknown_08596240, 0x82, 0, 0, 0 + playsewithpan SE_W092, +63 + delay 0x6 + createsprite gUnknown_08596240, 0x82, -20, -20, 0 + playsewithpan SE_W092, +63 + delay 0x6 + createsprite gUnknown_08596240, 0x82, 16, -8, 0 + playsewithpan SE_W092, +63 + return + +AnimScript_82D7AE2: + createsprite gUnknown_08596258, 0x2, 10, 10, 0 + playsewithpan SE_W145C, +63 + delay 0x6 + createsprite gUnknown_08596258, 0x2, 20, -20, 0 + playsewithpan SE_W145C, +63 + delay 0x6 + createsprite gUnknown_08596258, 0x2, -20, 15, 0 + playsewithpan SE_W145C, +63 + delay 0x6 + createsprite gUnknown_08596258, 0x2, 0, 0, 0 + playsewithpan SE_W145C, +63 + delay 0x6 + createsprite gUnknown_08596258, 0x2, -20, -20, 0 + playsewithpan SE_W145C, +63 + delay 0x6 + createsprite gUnknown_08596258, 0x2, 16, -8, 0 + playsewithpan SE_W145C, +63 + return + +AnimScript_82D7B53: + createsprite gUnknown_08596258, 0x2, 10, 10, 1 + playsewithpan SE_W145C, +63 + delay 0x6 + createsprite gUnknown_08596258, 0x2, -28, -10, 1 + playsewithpan SE_W145C, +63 + delay 0x6 + createsprite gUnknown_08596258, 0x2, 20, -20, 1 + playsewithpan SE_W145C, +63 + delay 0x6 + createsprite gUnknown_08596258, 0x2, -20, 15, 1 + playsewithpan SE_W145C, +63 + delay 0x6 + createsprite gUnknown_08596258, 0x2, 0, 0, 1 + playsewithpan SE_W145C, +63 + delay 0x6 + createsprite gUnknown_08596258, 0x2, 27, 8, 1 + playsewithpan SE_W145C, +63 + delay 0x6 + createsprite gUnknown_08596258, 0x2, -20, -20, 1 + playsewithpan SE_W145C, +63 + delay 0x6 + createsprite gUnknown_08596258, 0x2, 16, -8, 1 + playsewithpan SE_W145C, +63 + return + +AnimScript_82D7BEA: + playsewithpan SE_W085B, +63 + createsprite gUnknown_08595810, 0x82, 5, 0, 5, 0 + delay 0x2 + createsprite gUnknown_08595810, 0x82, -5, 10, 5, 1 + delay 0x2 + createsprite gUnknown_08595810, 0x82, 15, 20, 5, 2 + delay 0x2 + createsprite gUnknown_08595810, 0x82, -15, -10, 5, 0 + delay 0x2 + createsprite gUnknown_08595810, 0x82, 25, 0, 5, 1 + delay 0x2 + createsprite gUnknown_08595810, 0x82, -8, 8, 5, 2 + delay 0x2 + createsprite gUnknown_08595810, 0x82, 2, -8, 5, 0 + delay 0x2 + createsprite gUnknown_08595810, 0x82, -20, 15, 5, 1 + return + +AnimScript_82D7C75: + loopsewithpan SE_W146, +63, 0xD, 0x6 + createsprite gUnknown_0859725C, 0x82, 0, -15, 0, 3, 90 + createsprite gUnknown_0859725C, 0x82, 0, -15, 51, 3, 90 + createsprite gUnknown_0859725C, 0x82, 0, -15, 102, 3, 90 + createsprite gUnknown_0859725C, 0x82, 0, -15, 153, 3, 90 + createsprite gUnknown_0859725C, 0x82, 0, -15, 204, 3, 90 + return + +AnimScript_82D7CD1: + fadetobg BG_PSYCHIC + waitbgfadeout + createvisualtask sub_815A504, 0x5 + waitbgfadein + return + +AnimScript_82D7CDD: + restorebg + waitbgfadeout + setarg 0x7, 0xFFFF + waitbgfadein + return + +AnimScript_82D7CE5: + jumpifcontest AnimScript_82D7CFE + fadetobg BG_FLYING + waitbgfadeout + createvisualtask sub_8117660, 0x5, -2304, 768, 1, -1 + +AnimScript_82D7CFC: + waitbgfadein + return + +AnimScript_82D7CFE: + fadetobg BG_FLYING_CONTESTS + waitbgfadeout + createvisualtask sub_8117660, 0x5, 2304, 768, 0, -1 + goto AnimScript_82D7CFC + +AnimScript_82D7D15: + restorebg + waitbgfadeout + setarg 0x7, 0xFFFF + waitbgfadein + return + +AnimScript_82D7D1D: + createvisualtask sub_8117E60, 0x2 + jumpargeq 0x7, 0x1, AnimScript_82D7D42 + createvisualtask sub_815A8C8, 0x2 + jumpargeq 0x7, 0x0, AnimScript_82D7D50 + goto AnimScript_82D7D49 + +AnimScript_82D7D40: + waitbgfadein + return + +AnimScript_82D7D42: + fadetobg BG_SOLARBEAM_CONTESTS + goto AnimScript_82D7D40 + +AnimScript_82D7D49: + fadetobg BG_SOLARBEAM_PLAYER + goto AnimScript_82D7D40 + +AnimScript_82D7D50: + fadetobg BG_SOLARBEAM_OPPONENT + goto AnimScript_82D7D40 + +AnimScript_82D7D57: + restorebg + waitbgfadein + return + +Status_Poison: + loopsewithpan SE_W092, +63, 0xD, 0x6 + createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 18, 2 + createvisualtask sub_8115A04, 0x2, 2, 2, 2, 0, 12, 31774 + end + +Status_Confusion: + loadspritegfx 0x2759 + call AnimScript_82D7C75 + end + +Status_Burn: + loadspritegfx 0x272D + playsewithpan SE_W172, +63 + call AnimScript_82D7DA6 + call AnimScript_82D7DA6 + call AnimScript_82D7DA6 + waitforvisualfinish + end + +AnimScript_82D7DA6: + createsprite gUnknown_08595504, 0x82, -24, 24, 24, 24, 20, 1, 1 + delay 0x4 + return + +Status_Infatuation: + loadspritegfx 0x27E2 + playsewithpan SE_W204, -64 + createsprite gUnknown_08593970, 0x3, 0, 20 + delay 0xF + playsewithpan SE_W204, -64 + createsprite gUnknown_08593970, 0x3, -20, 20 + delay 0xF + playsewithpan SE_W204, -64 + createsprite gUnknown_08593970, 0x3, 20, 20 + end + +Status_Sleep: + loadspritegfx 0x27F4 + playsewithpan SE_W173, -64 + createsprite gUnknown_08592C88, 0x2, 4, -10, 16, 0, 0 + delay 0x1E + createsprite gUnknown_08592C88, 0x2, 4, -10, 16, 0, 0 + end + +Status_Paralysis: + loadspritegfx 0x271B + createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 10, 1 + call AnimScript_82D7BEA + end + +Status_Freeze: + playsewithpan SE_W196, 0 + loadspritegfx 0x271A + monbg ANIM_DEF_PARTNER + monbgprio_28 ANIM_TARGET + waitplaysewithpan SE_W258, +63, 0x11 + createvisualtask sub_80A9EF4, 0x2 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + end + +Status_Curse: + loadspritegfx 0x27D8 + monbg ANIM_DEF_PARTNER + playsewithpan SE_W171, +63 + createsprite gUnknown_08596DE8, 0x82 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 14, 1 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + end + +Status_Nightmare: + loadspritegfx 0x27ED + monbg ANIM_DEF_PARTNER + playsewithpan SE_W171, +63 + createsprite gUnknown_08596E00, 0x82 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 14, 1 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + end + +Anim_CastformTransform: + createvisualtask sub_815BB18, 0x2 + jumpargeq 0x7, 0x1, AnimScript_82D7ECA + goto AnimScript_82D7EB2 + +AnimScript_82D7EB2: + monbg ANIM_ATTACKER + playsewithpan SE_W100, -64 + waitplaysewithpan SE_W107, -64, 0x30 + createvisualtask sub_815B7D0, 0x2, 1 + waitforvisualfinish + clearmonbg ANIM_ATTACKER + end + +AnimScript_82D7ECA: + createvisualtask sub_815BB58, 0x2, 1 + end + +Anim_StatChange: + createvisualtask sub_80AA18C, 0x5 + waitforvisualfinish + end + +Anim_SubsituteOff: + monbg ANIM_ATTACKER + createvisualtask sub_8172D98, 0x5 + createvisualtask sub_8116620, 0xA, 2, 0, 0, 16, 0x7FFF + waitforvisualfinish + delay 0x1 + clearmonbg ANIM_ATTACKER + delay 0x2 + blendoff + createvisualtask sub_8116620, 0xA, 2, 0, 0, 0, 0x7FFF + createvisualtask sub_8172BF0, 0x2, 1 + end + +Anim_SubsituteOn: + createvisualtask sub_815F20C, 0x2 + end + +Anim_Table_4: + createvisualtask sub_817345C, 0x2, 0 + createvisualtask sub_81732B0, 0x2 + delay 0x0 + waitplaysewithpan SE_W026, -64, 0x16 + createsprite gUnknown_085E5338, 0x83, -18, 12, 0, 32 + delay 0x32 + loopsewithpan SE_W039, +63, 0x13, 0x2 + createvisualtask sub_80D5EB8, 0x5, 1, 8, 1536, 2, 1 + waitforvisualfinish + createvisualtask sub_81732E4, 0x2 + end + +Anim_ItemKnockOff: + loadspritegfx 0x27F0 + createsprite gUnknown_08592628, 0x82 + end + +Status_Wrap: + createvisualtask sub_81734B4, 0x5 + jumpargeq 0x0, 0x1, AnimScript_82D7FE9 + jumpargeq 0x0, 0x2, AnimScript_82D800E + jumpargeq 0x0, 0x3, AnimScript_82D8062 + jumpargeq 0x0, 0x4, AnimScript_82D80BF + goto AnimScript_82D7FA1 + +AnimScript_82D7FA1: + loadspritegfx 0x27CA + loopsewithpan SE_W010, +63, 0x6, 0x2 + createsprite gUnknown_08592494, 0x84, 0, 16, 0, 1 + delay 0x7 + createsprite gUnknown_08592494, 0x82, 0, 8, 1, 1 + delay 0x3 + createvisualtask sub_80D52D0, 0x2, 1, 2, 0, 8, 1 + delay 0x14 + setarg 0x7, 0xFFFF + playsewithpan SE_W020, +63 + waitforvisualfinish + end + +AnimScript_82D7FE9: + loadspritegfx 0x272D + playsewithpan SE_W221B, +63 + createvisualtask sub_80D51AC, 0x5, 1, 0, 2, 30, 1 + call AnimScript_82CACBF + call AnimScript_82CACBF + waitforvisualfinish + stopsound + end + +AnimScript_82D800E: + loadspritegfx 0x27A5 + monbg ANIM_DEF_PARTNER + monbgprio_28 ANIM_TARGET + setalpha 0x80C + delay 0x0 + createsprite gUnknown_08597274, 0x0, 4, 2, 0, 7, RGB(0, 13, 23) + playsewithpan SE_W250, +63 + createvisualtask sub_80D51AC, 0x5, 1, 0, 2, 30, 1 + call AnimScript_82D1F5B + call AnimScript_82D1F5B + delay 0xC + createsprite gUnknown_08597274, 0x0, 4, 2, 7, 0, RGB(0, 13, 23) + waitforvisualfinish + stopsound + clearmonbg ANIM_DEF_PARTNER + end + +AnimScript_82D8062: + loadspritegfx 0x27A1 + loadspritegfx 0x2797 + monbg ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W011, +63 + createsprite gUnknown_08597098, 0x2, -32, 0, 2, 819, 0, 10 + createsprite gUnknown_08597098, 0x2, 32, 0, 6, -819, 0, 10 + delay 0xA + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 + createvisualtask sub_80D51AC, 0x5, 1, 3, 0, 5, 1 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + waitforvisualfinish + end + +AnimScript_82D80BF: + loadspritegfx 0x275A + createsprite gUnknown_08597274, 0x0, 4, 2, 0, 7, RGB(19, 17, 0) + createvisualtask sub_80D51AC, 0x5, 1, 0, 2, 30, 1 + playsewithpan SE_W328, +63 + call AnimScript_82D51B7 + call AnimScript_82D51B7 + delay 0x16 + createsprite gUnknown_08597274, 0x0, 4, 2, 7, 0, RGB(19, 17, 0) + waitforvisualfinish + stopsound + end + +Anim_ItemEffect: + loadspritegfx 0x27DB + loadspritegfx 0x2741 + delay 0x0 + playsewithpan SE_W036, -64 + createvisualtask sub_80D622C, 0x2, 16, 128, 0, 2 + waitforvisualfinish + playsewithpan SE_W036, -64 + createvisualtask sub_80D622C, 0x2, 16, 128, 0, 2 + waitforvisualfinish + playsewithpan SE_W036, -64 + createvisualtask sub_80D622C, 0x2, 16, 128, 0, 2 + waitforvisualfinish + playsewithpan SE_W234, -64 + call AnimScript_82D79B4 + waitforvisualfinish + playsewithpan SE_REAPOKE, -64 + createsprite gUnknown_08597274, 0x2, 2, 3, 7, 0, RGB(17, 31, 25) + createsprite gUnknown_0859381C, 0x3, 0, 0, 0, 0 + waitforvisualfinish + end + +Anim_SmokeBallEscape: + loadspritegfx 0x2802 + monbg ANIM_ATTACKER + setalpha 0x40C + delay 0x0 + playsewithpan SE_BOWA2, +63 + createsprite gUnknown_085CE734, 0x80, 0, 32, 28, 30 + delay 0x4 + playsewithpan SE_BOWA2, +63 + createsprite gUnknown_085CE734, 0x7F, 2, 12, 20, 30 + delay 0xC + playsewithpan SE_BOWA2, +63 + createsprite gUnknown_085CE734, 0x7E, 2, -28, 4, 30 + delay 0xC + playsewithpan SE_BOWA2, +63 + createsprite gUnknown_085CE734, 0x7C, 2, 14, -20, 30 + delay 0x4 + playsewithpan SE_BOWA2, +63 + createvisualtask sub_81136E8, 0x2, 2 + createsprite gUnknown_085CE734, 0x7B, 3, 4, 4, 30 + delay 0xE + playsewithpan SE_BOWA2, +63 + createsprite gUnknown_085CE734, 0x7A, 3, -14, 18, 46 + delay 0x0 + createsprite gUnknown_085CE734, 0x79, 3, 14, -14, 46 + delay 0x0 + createsprite gUnknown_085CE734, 0x78, 3, -12, -10, 46 + delay 0x0 + createsprite gUnknown_085CE734, 0x77, 3, 14, 14, 46 + delay 0x0 + createsprite gUnknown_085CE734, 0x76, 3, 0, 0, 46 + waitforvisualfinish + clearmonbg ANIM_ATTACKER + invisible ANIM_ATTACKER + delay 0x0 + blendoff + end + +Anim_HangedOn: + createsprite gUnknown_08597274, 0x0, 2, 7, 0, 9, RGB_RED + playsewithpan SE_W082, -64 + createvisualtask sub_815DB90, 0x5, 30, 128, 0, 1, 2, 0, 1 + waitforvisualfinish + createsprite gUnknown_08597274, 0x0, 2, 4, 9, 0, RGB_RED + waitforvisualfinish + delay 0x6 + createsprite gUnknown_0857FE58, 0x0, 0, 0, 15 + end + +Anim_Rain: + loadspritegfx 0x2783 + playsewithpan SE_W240, -64 + createvisualtask sub_8116620, 0xA, 1921, 2, 0, 4, 0 + waitforvisualfinish + createvisualtask sub_8107188, 0x2, 0, 3, 60 + createvisualtask sub_8107188, 0x2, 0, 3, 60 + delay 0x32 + waitforvisualfinish + createvisualtask sub_8116620, 0xA, 1921, 2, 4, 0, 0 + waitforvisualfinish + end + +Anim_Sun: + goto Move_SUNNY_DAY + +Anim_Sandstorm: + goto Move_SANDSTORM + +Anim_Hail: + goto Move_HAIL + +Status_LeechSeed: + createvisualtask sub_817351C, 0x5 + delay 0x0 + goto Move_ABSORB + +Anim_Hit: + loadspritegfx 0x2797 + monbg ANIM_TARGET + setalpha 0x80C + playsewithpan SE_W003, +63 + createsprite gUnknown_08597358, 0x2, 0, 0, 1, 2 + createvisualtask sub_80D51AC, 0x2, 1, 3, 0, 6, 1 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + +Anim_ItemSteal: + loadspritegfx 0x27F0 + createvisualtask sub_8117F30, 0x2 + createvisualtask sub_8172ED0, 0x2 + delay 0x1 + createsprite gUnknown_08592670, 0x2, 0, -5, 10, 2, -1 + end + +Anim_SnatchMove: + loadspritegfx 0x27F0 + createvisualtask sub_8117E94, 0x2 + call AnimScript_82D85A3 + delay 0x1 + createvisualtask sub_80D5EB8, 0x2, 0, 5, 5120, 4, 1 + waitforvisualfinish + createvisualtask sub_8117EC4, 0x2 + jumpargeq 0x7, 0x0, AnimScript_82D839F + goto AnimScript_82D83AF + +AnimScript_82D8398: + waitforvisualfinish + call AnimScript_82D85C3 + end + +AnimScript_82D839F: + playsewithpan SE_W104, -64 + createvisualtask sub_815F8F4, 0x2 + goto AnimScript_82D8398 + +AnimScript_82D83AF: + playsewithpan SE_W104, -64 + createvisualtask sub_815FFC4, 0x2 + goto AnimScript_82D8398 + +Anim_FutureSightHit: + createvisualtask sub_8117F10, 0x2 + monbg ANIM_DEF_PARTNER + playsewithpan SE_W060, -64 + call AnimScript_82D7CD1 + setalpha 0x808 + playsewithpan SE_W048, +63 + waitplaysewithpan SE_W048, +63, 0x8 + createvisualtask sub_80D51AC, 0x2, 1, 4, 0, 15, 1 + createvisualtask sub_80D6064, 0x5, -5, -5, 15, 1, 1 + waitforvisualfinish + createvisualtask sub_80D51AC, 0x2, 1, 4, 0, 24, 1 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + waitforvisualfinish + delay 0x1 + call AnimScript_82D7CDD + end + +Anim_DoomDesireHit: + createvisualtask sub_8117F10, 0x2 + loadspritegfx 0x27D6 + createsprite gUnknown_08597274, 0x2, 1, 3, 0, 16, RGB_WHITE + waitforvisualfinish + delay 0xA + createvisualtask sub_815C0A4, 0x5 + delay 0x9 + playsewithpan SE_W109, -64 + delay 0x9 + playsewithpan SE_W109, 0 + delay 0x9 + playsewithpan SE_W109, +63 + delay 0x19 + createvisualtask sub_80D5484, 0x2, 1, 10, 0, 20, 1 + playsewithpan SE_W120, +63 + createsprite gUnknown_0859371C, 0x3, 0, 0, 1, 1 + delay 0x6 + playsewithpan SE_W120, +63 + createsprite gUnknown_0859371C, 0x3, 24, -24, 1, 1 + delay 0x6 + playsewithpan SE_W120, +63 + createsprite gUnknown_0859371C, 0x3, -16, 16, 1, 1 + delay 0x6 + playsewithpan SE_W120, +63 + createsprite gUnknown_0859371C, 0x3, -24, -12, 1, 1 + delay 0x6 + playsewithpan SE_W120, +63 + createsprite gUnknown_0859371C, 0x3, 16, 16, 1, 1 + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 3, 16, 0, RGB_WHITE + waitforvisualfinish + end + +Anim_Table_x14: + loadspritegfx 0x27C8 + playsewithpan SE_W082, -64 + call AnimScript_82CD6C7 + delay 0x8 + createvisualtask sub_8115A04, 0x2, 2, 2, 2, 0, 11, 31 + createvisualtask sub_80D52D0, 0x2, 0, 1, 0, 32, 1 + call AnimScript_82CD6C7 + delay 0x8 + call AnimScript_82CD6C7 + waitforvisualfinish + end + +Status_Ingrain: + loadspritegfx 0x27A3 + loadspritegfx 0x272F + monbg ANIM_DEF_PARTNER + setalpha 0x80C + createsprite gUnknown_08597274, 0x2, 1, 1, 0, 4, RGB(13, 31, 12) + waitforvisualfinish + delay 0x3 + call AnimScript_82D1009 + waitforvisualfinish + delay 0xF + call AnimScript_82D79DF + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 1, 4, 0, RGB(13, 31, 12) + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Anim_WishHeal: + loadspritegfx 0x2741 + createsprite gUnknown_08597274, 0x2, 1, 3, 0, 10, 0 + waitforvisualfinish + playsewithpan SE_W025, -64 + call AnimScript_82D79B4 + waitforvisualfinish + unloadspritegfx 0x2741 + loadspritegfx 0x272F + call AnimScript_82D79DF + waitforvisualfinish + createsprite gUnknown_08597274, 0x2, 1, 3, 10, 0, 0 + end + +AnimScript_82D85A3: + createvisualtask sub_8172E9C, 0x2 + jumpargeq 0x7, 0x1, AnimScript_82D85B4 + +AnimScript_82D85B2: + waitforvisualfinish + return + +AnimScript_82D85B4: + createvisualtask sub_8172BF0, 0x2, 1 + waitforvisualfinish + goto AnimScript_82D85B2 + +AnimScript_82D85C3: + createvisualtask sub_8172E9C, 0x2 + jumpargeq 0x7, 0x1, AnimScript_82D85D4 + +AnimScript_82D85D2: + waitforvisualfinish + return + +AnimScript_82D85D4: + createvisualtask sub_8172BF0, 0x2, 0 + waitforvisualfinish + goto AnimScript_82D85D2 + +Anim_LevelUp: + playsewithpan SE_EXPMAX, 0 + createvisualtask sub_8170920, 0x2 + delay 0x0 + createvisualtask sub_8170A0C, 0x5, 0, 0 + waitforvisualfinish + createvisualtask sub_81709EC, 0x2 + end + +Anim_SwitchOutPlayer: + createvisualtask sub_8170BB0, 0x2 + delay 0xA + createvisualtask sub_8170B04, 0x2 + end + +Anim_SwitchOutOpponent: + createvisualtask sub_8170BB0, 0x2 + delay 0xA + createvisualtask sub_8170B04, 0x2 + end + +Anim_BallThrow: + createvisualtask sub_8170CFC, 0x2 + delay 0x0 + playsewithpan SE_NAGERU, 0 + createvisualtask sub_8170E04, 0x2 + createvisualtask sub_8170D4C, 0x2 + jumpargeq 0x7, 0xFFFF, AnimScript_82D8652 + +AnimScript_82D8649: + waitforvisualfinish + createvisualtask sub_8170D24, 0x2 + end + +AnimScript_82D8652: + loadspritegfx 0x2797 + delay 0x19 + monbg ANIM_DEF_PARTNER + setalpha 0x80C + delay 0x0 + playsewithpan SE_W003, +63 + createsprite gUnknown_08597358, 0x82, -4, -20, 1, 2 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + goto AnimScript_82D8649 + +Anim_SafariBallThrow: + createvisualtask sub_8170CFC, 0x2 + delay 0x0 + createvisualtask sub_8170F2C, 0x2 + waitforvisualfinish + createvisualtask sub_8170D24, 0x2 + end + +Anim_SubstituteToMon: + createvisualtask sub_8172BF0, 0x2, 1 + end + +Anim_MonToSubstitute: + createvisualtask sub_8172BF0, 0x2, 0 + end diff --git a/data/battle_anims.s b/data/battle_anims.s index 082a86fa1a..955da1a2ea 100644 --- a/data/battle_anims.s +++ b/data/battle_anims.s @@ -4,8 +4,6 @@ .section .rodata .align 2, 0 - @ only partially done because this file terrifies me - gUnknown_08524904:: @ 8524904 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00 @@ -295,614 +293,615 @@ gUnknown_08524B3C:: @ 8524B3C .align 2 gBattleAnimPicTable:: @ 8524B44 - obj_tiles 0x08c02538, 0x0200, 0x2710 - obj_tiles 0x08c1c6e0, 0x0300, 0x2711 - obj_tiles 0x08c20784, 0x0200, 0x2712 - obj_tiles 0x08c025e8, 0x0100, 0x2713 - obj_tiles 0x08c0265c, 0x0200, 0x2714 - obj_tiles 0x08c0270c, 0x0400, 0x2715 - obj_tiles 0x08c027e0, 0x0180, 0x2716 - obj_tiles 0x08c029cc, 0x0800, 0x2717 - obj_tiles 0x08c02b68, 0x0020, 0x2718 - obj_tiles 0x08c02fa4, 0x0400, 0x2719 - obj_tiles 0x08c02bc4, 0x1200, 0x271a - obj_tiles 0x08c032ac, 0x0180, 0x271b - obj_tiles 0x08c0334c, 0x0080, 0x271c - obj_tiles 0x08c03438, 0x0080, 0x271d - obj_tiles 0x08c1fbd4, 0x0280, 0x271e - obj_tiles 0x08c03484, 0x0080, 0x271f - obj_tiles 0x08c03518, 0x0100, 0x2720 - obj_tiles 0x08c03598, 0x0020, 0x2721 - obj_tiles 0x08c24d7c, 0x0080, 0x2722 - obj_tiles 0x08c035f8, 0x0400, 0x2723 - obj_tiles 0x08c036b8, 0x0200, 0x2724 - obj_tiles 0x08c03a28, 0x0a00, 0x2725 - obj_tiles 0x08c03a28, 0x0a00, 0x2726 - obj_tiles 0x08c037d4, 0x0380, 0x2727 - obj_tiles 0x08c03ea0, 0x0300, 0x2728 - obj_tiles 0x08c03db0, 0x0a00, 0x2729 - obj_tiles 0x08c04494, 0x0a00, 0x272a - obj_tiles 0x08c0481c, 0x0a00, 0x272b - obj_tiles 0x08c04b40, 0x0a00, 0x272c - obj_tiles 0x08c04e90, 0x0a00, 0x272d - obj_tiles 0x08c05170, 0x0a00, 0x272e - obj_tiles 0x08c03f80, 0x0e00, 0x272f - obj_tiles 0x08c043a8, 0x0380, 0x2730 - obj_tiles 0x08c0557c, 0x1000, 0x2731 - obj_tiles 0x08c05eec, 0x0800, 0x2732 - obj_tiles 0x08c062b8, 0x0a00, 0x2733 - obj_tiles 0x08c06678, 0x0800, 0x2734 - obj_tiles 0x08c06a4c, 0x0a00, 0x2735 - obj_tiles 0x08c07964, 0x0a00, 0x2736 - obj_tiles 0x08c07b88, 0x0a00, 0x2737 - obj_tiles 0x08c07e84, 0x0a00, 0x2738 - obj_tiles 0x08c08090, 0x0a00, 0x2739 - obj_tiles 0x08c082c4, 0x0a00, 0x273a - obj_tiles 0x08c085bc, 0x0a00, 0x273b - obj_tiles 0x08c08a0c, 0x0a00, 0x273c - obj_tiles 0x08c08ca0, 0x0a00, 0x273d - obj_tiles 0x08c09604, 0x1000, 0x273e - obj_tiles 0x08c09604, 0x1000, 0x273f - obj_tiles 0x08c09cf0, 0x1000, 0x2740 - obj_tiles 0x08c09cf0, 0x1000, 0x2741 - obj_tiles 0x08c09ffc, 0x0200, 0x2742 - obj_tiles 0x08c0a09c, 0x0200, 0x2743 - obj_tiles 0x08c0a148, 0x0200, 0x2744 - obj_tiles 0x08c2e830, 0x0800, 0x2745 - obj_tiles 0x08c0a3a8, 0x0080, 0x2746 - obj_tiles 0x08c0a8bc, 0x0200, 0x2747 - obj_tiles 0x08c0a3ec, 0x1000, 0x2748 - obj_tiles 0x08c0a980, 0x0180, 0x2749 - obj_tiles 0x08c0aa2c, 0x0c00, 0x274a - obj_tiles 0x08c0aebc, 0x0100, 0x274b - obj_tiles 0x08c0af38, 0x0040, 0x274c - obj_tiles 0x08c0af7c, 0x0180, 0x274d - obj_tiles 0x08c0b04c, 0x0800, 0x274e - obj_tiles 0x08c0b444, 0x0480, 0x274f - obj_tiles 0x08c23104, 0x0200, 0x2750 - obj_tiles 0x08c0b6bc, 0x0200, 0x2751 - obj_tiles 0x08c0b7f0, 0x0100, 0x2752 - obj_tiles 0x08c0b6bc, 0x0200, 0x2753 - obj_tiles 0x08c0b6bc, 0x0200, 0x2754 - obj_tiles 0x08c0b6bc, 0x0200, 0x2755 - obj_tiles 0x08c0b864, 0x0200, 0x2756 - obj_tiles 0x08c0b90c, 0x0a00, 0x2757 - obj_tiles 0x08c0bb38, 0x0300, 0x2758 - obj_tiles 0x08c0bc20, 0x0180, 0x2759 - obj_tiles 0x08c1b29c, 0x00a0, 0x275a - obj_tiles 0x08c0bd5c, 0x0700, 0x275b - obj_tiles 0x08c14cec, 0x0400, 0x275c - obj_tiles 0x08c14f50, 0x0200, 0x275d - obj_tiles 0x08c0bffc, 0x0300, 0x275e - obj_tiles 0x08c0c1bc, 0x0c00, 0x275f - obj_tiles 0x08c0c5ec, 0x0a00, 0x2760 - obj_tiles 0x08c0c974, 0x0080, 0x2761 - obj_tiles 0x08c0cb90, 0x0040, 0x2762 - obj_tiles 0x08c0ce18, 0x0e00, 0x2763 - obj_tiles 0x08c0d2bc, 0x0e00, 0x2764 - obj_tiles 0x08c0d680, 0x0280, 0x2765 - obj_tiles 0x08c0d738, 0x0200, 0x2766 - obj_tiles 0x08c24cfc, 0x0080, 0x2767 - obj_tiles 0x08c0d8a8, 0x00c0, 0x2768 - obj_tiles 0x08c0d8f8, 0x0a00, 0x2769 - obj_tiles 0x08c0db6c, 0x0200, 0x276a - obj_tiles 0x08c0dbfc, 0x0180, 0x276b - obj_tiles 0x08c0dd30, 0x0080, 0x276c - obj_tiles 0x08c0ddac, 0x1000, 0x276d - obj_tiles 0x08c0e47c, 0x0a00, 0x276e - obj_tiles 0x08c0e620, 0x0180, 0x276f - obj_tiles 0x08c0e6d0, 0x0380, 0x2770 - obj_tiles 0x08c0e840, 0x0c00, 0x2771 - obj_tiles 0x08c0ea20, 0x0200, 0x2772 - obj_tiles 0x08c27cec, 0x0200, 0x2773 - obj_tiles 0x08c0eb58, 0x0200, 0x2774 - obj_tiles 0x08c0ec58, 0x0200, 0x2775 - obj_tiles 0x08c0ed88, 0x0400, 0x2776 - obj_tiles 0x08c0ef20, 0x0080, 0x2777 - obj_tiles 0x08c0ef8c, 0x0400, 0x2778 - obj_tiles 0x08c0f174, 0x0c00, 0x2779 - obj_tiles 0x08c0f720, 0x0200, 0x277a - obj_tiles 0x08c0f810, 0x1000, 0x277b - obj_tiles 0x08c0fbe4, 0x0a00, 0x277c - obj_tiles 0x08c0ff68, 0x0020, 0x277d - obj_tiles 0x08c0ffb8, 0x0e00, 0x277e - obj_tiles 0x08c1039c, 0x0080, 0x277f - obj_tiles 0x08c10404, 0x0a00, 0x2780 - obj_tiles 0x08c10754, 0x0400, 0x2781 - obj_tiles 0x08c109e8, 0x0200, 0x2782 - obj_tiles 0x08c115e4, 0x0700, 0x2783 - obj_tiles 0x08c12e88, 0x0800, 0x2784 - obj_tiles 0x08c1315c, 0x0a00, 0x2785 - obj_tiles 0x08c133b4, 0x0600, 0x2786 - obj_tiles 0x08c13568, 0x0800, 0x2787 - obj_tiles 0x08c13820, 0x0200, 0x2788 - obj_tiles 0x08c1393c, 0x0040, 0x2789 - obj_tiles 0x08c1398c, 0x0180, 0x278a - obj_tiles 0x08c13aa4, 0x0600, 0x278b - obj_tiles 0x08c13be0, 0x0600, 0x278c - obj_tiles 0x08c13ea0, 0x0200, 0x278d - obj_tiles 0x08c13fb4, 0x0080, 0x278e - obj_tiles 0x08c1403c, 0x0200, 0x278f - obj_tiles 0x08c14200, 0x0800, 0x2790 - obj_tiles 0x08c1448c, 0x0080, 0x2791 - obj_tiles 0x08c144f0, 0x0a00, 0x2792 - obj_tiles 0x08c148e8, 0x0280, 0x2793 - obj_tiles 0x08c14a58, 0x0280, 0x2794 - obj_tiles 0x08c14b78, 0x0100, 0x2795 - obj_tiles 0x08c14c1c, 0x0200, 0x2796 - obj_tiles 0x08c1a3a0, 0x0200, 0x2797 - obj_tiles 0x08c1a540, 0x0020, 0x2798 - obj_tiles 0x08c1a58c, 0x0a00, 0x2799 - obj_tiles 0x08c1ab40, 0x0800, 0x279a - obj_tiles 0x08c1a790, 0x0800, 0x279b - obj_tiles 0x08c1ac8c, 0x00c0, 0x279c - obj_tiles 0x08c1ad2c, 0x01c0, 0x279d - obj_tiles 0x08c1ae54, 0x0100, 0x279e - obj_tiles 0x08c2cbac, 0x0800, 0x279f - obj_tiles 0x08c1bc64, 0x0200, 0x27a0 - obj_tiles 0x08c1a9a0, 0x0800, 0x27a1 - obj_tiles 0x08c02478, 0x0180, 0x27a2 - obj_tiles 0x08c1af6c, 0x0180, 0x27a3 - obj_tiles 0x08c1b178, 0x0200, 0x27a4 - obj_tiles 0x08c1b0a8, 0x0200, 0x27a5 - obj_tiles 0x08c1b328, 0x0180, 0x27a6 - obj_tiles 0x08c1b418, 0x0400, 0x27a7 - obj_tiles 0x08c033cc, 0x0080, 0x27a8 - obj_tiles 0x08c1b510, 0x0100, 0x27a9 - obj_tiles 0x08c1b594, 0x0100, 0x27aa - obj_tiles 0x08c1b660, 0x0140, 0x27ab - obj_tiles 0x08c1b748, 0x0800, 0x27ac - obj_tiles 0x08c1b988, 0x0200, 0x27ad - obj_tiles 0x08c1ba04, 0x0100, 0x27ae - obj_tiles 0x08c1baf0, 0x00a0, 0x27af - obj_tiles 0x08c1bb94, 0x0100, 0x27b0 - obj_tiles 0x08c0297c, 0x0080, 0x27b1 - obj_tiles 0x08c1be40, 0x0300, 0x27b2 - obj_tiles 0x08c1bee4, 0x0100, 0x27b3 - obj_tiles 0x08c1bee4, 0x0100, 0x27b4 - obj_tiles 0x08c1bee4, 0x0100, 0x27b5 - obj_tiles 0x08c1bfa4, 0x0800, 0x27b6 - obj_tiles 0x08c1bfa4, 0x0800, 0x27b7 - obj_tiles 0x08c1bfa4, 0x0800, 0x27b8 - obj_tiles 0x08c1bfa4, 0x0800, 0x27b9 - obj_tiles 0x08c1bfa4, 0x0800, 0x27ba - obj_tiles 0x08c1c350, 0x0080, 0x27bb - obj_tiles 0x08c1bc64, 0x0200, 0x27bc - obj_tiles 0x08c1c7bc, 0x0200, 0x27bd - obj_tiles 0x08c1d5fc, 0x0200, 0x27be - obj_tiles 0x08c1d6c4, 0x0080, 0x27bf - obj_tiles 0x08c1d750, 0x0200, 0x27c0 - obj_tiles 0x08c1d8d0, 0x0500, 0x27c1 - obj_tiles 0x08c1d9ac, 0x0800, 0x27c2 - obj_tiles 0x08c1db64, 0x0400, 0x27c3 - obj_tiles 0x08c1dc40, 0x0020, 0x27c4 - obj_tiles 0x08c1dc58, 0x0800, 0x27c5 - obj_tiles 0x08c1dfe8, 0x0100, 0x27c6 - obj_tiles 0x08c1e0b4, 0x0800, 0x27c7 - obj_tiles 0x08c1e354, 0x0400, 0x27c8 - obj_tiles 0x08c1e4d0, 0x0a00, 0x27c9 - obj_tiles 0x08c1edd8, 0x1000, 0x27ca - obj_tiles 0x08c1ebc8, 0x0800, 0x27cb - obj_tiles 0x08d966c0, 0x0400, 0x27cc - obj_tiles 0x08c20198, 0x0200, 0x27cd - obj_tiles 0x08c1fc84, 0x0800, 0x27ce - obj_tiles 0x08c1ff04, 0x0800, 0x27cf - obj_tiles 0x08c2023c, 0x0800, 0x27d0 - obj_tiles 0x08c204e4, 0x0200, 0x27d1 - obj_tiles 0x08c20c4c, 0x0800, 0x27d2 - obj_tiles 0x08c20fac, 0x0200, 0x27d3 - obj_tiles 0x08c20890, 0x0800, 0x27d4 - obj_tiles 0x08c21084, 0x0200, 0x27d5 - obj_tiles 0x08c2121c, 0x0800, 0x27d6 - obj_tiles 0x08c21634, 0x0400, 0x27d7 - obj_tiles 0x08c21718, 0x0200, 0x27d8 - obj_tiles 0x08c21874, 0x0a80, 0x27d9 - obj_tiles 0x08c220a8, 0x0600, 0x27da - obj_tiles 0x08c22234, 0x0800, 0x27db - obj_tiles 0x08c21f0c, 0x0200, 0x27dc - obj_tiles 0x08c226a4, 0x0600, 0x27dd - obj_tiles 0x08c22404, 0x0800, 0x27de - obj_tiles 0x08c228fc, 0x0180, 0x27df - obj_tiles 0x08c229ec, 0x0800, 0x27e0 - obj_tiles 0x08c22ddc, 0x0800, 0x27e1 - obj_tiles 0x08c23218, 0x0080, 0x27e2 - obj_tiles 0x08c242b0, 0x0080, 0x27e3 - obj_tiles 0x08c2407c, 0x0800, 0x27e4 - obj_tiles 0x08c24300, 0x0800, 0x27e5 - obj_tiles 0x08c24590, 0x0600, 0x27e6 - obj_tiles 0x08c24820, 0x0600, 0x27e7 - obj_tiles 0x08c23218, 0x0080, 0x27e8 - obj_tiles 0x08c23ff4, 0x0080, 0x27e9 - obj_tiles 0x08c24c50, 0x0180, 0x27ea - obj_tiles 0x08c23218, 0x0080, 0x27eb - obj_tiles 0x08c24dfc, 0x0200, 0x27ec - obj_tiles 0x08c24f48, 0x0400, 0x27ed - obj_tiles 0x08c251ac, 0x0a00, 0x27ee - obj_tiles 0x08c254e0, 0x0800, 0x27ef - obj_tiles 0x08c25794, 0x0200, 0x27f0 - obj_tiles 0x08c27764, 0x0400, 0x27f1 - obj_tiles 0x08c27a58, 0x0080, 0x27f2 - obj_tiles 0x08c27910, 0x0800, 0x27f3 - obj_tiles 0x08c25b1c, 0x0200, 0x27f4 - obj_tiles 0x08c27b08, 0x0300, 0x27f5 - obj_tiles 0x08c258b8, 0x0800, 0x27f6 - obj_tiles 0x08c28394, 0x0380, 0x27f7 - obj_tiles 0x08c27e34, 0x0800, 0x27f8 - obj_tiles 0x08c28564, 0x00c0, 0x27f9 - obj_tiles 0x08c28610, 0x0800, 0x27fa - obj_tiles 0x08c28880, 0x0060, 0x27fb - obj_tiles 0x08c28880, 0x0060, 0x27fc - obj_tiles 0x08c28880, 0x0060, 0x27fd - obj_tiles 0x08c287f4, 0x0080, 0x27fe - obj_tiles 0x08c2caa0, 0x0180, 0x27ff - obj_tiles 0x08c2cdf4, 0x0180, 0x2800 - obj_tiles 0x08c2d348, 0x0200, 0x2801 - obj_tiles 0x08c2d570, 0x0200, 0x2802 - obj_tiles 0x08c2d6d0, 0x0020, 0x2803 - obj_tiles 0x08c2e554, 0x0400, 0x2804 - obj_tiles 0x08c2df08, 0x0600, 0x2805 - obj_tiles 0x08c2e0ac, 0x1000, 0x2806 - obj_tiles 0x08c2e64c, 0x0400, 0x2807 - obj_tiles 0x08c2eba4, 0x0020, 0x2808 - obj_tiles 0x08c2ebd4, 0x0080, 0x2809 - obj_tiles 0x08c2ec44, 0x0800, 0x280a - obj_tiles 0x08c2ee38, 0x0080, 0x280b - obj_tiles 0x08c2eeb4, 0x0200, 0x280c - obj_tiles 0x08c2eff0, 0x0400, 0x280d - obj_tiles 0x08c2f1f4, 0x0200, 0x280e - obj_tiles 0x08c2f354, 0x0200, 0x280f - obj_tiles 0x08c2f4f0, 0x0800, 0x2810 - obj_tiles 0x08c2f8a4, 0x0280, 0x2811 - obj_tiles 0x08c2f3e0, 0x0200, 0x2812 - obj_tiles 0x08c1b0a8, 0x0200, 0x2813 - obj_tiles 0x08d8dae0, 0x0400, 0x2814 - obj_tiles 0x08d8d2a4, 0x0200, 0x2815 - obj_tiles 0x08d8e840, 0x0200, 0x2816 - obj_tiles 0x08d93b44, 0x0080, 0x2817 - obj_tiles 0x08d8ea54, 0x0020, 0x2818 - obj_tiles 0x08d8ea54, 0x0020, 0x2819 - obj_tiles 0x08d93b9c, 0x0080, 0x281a - obj_tiles 0x08c2407c, 0x0800, 0x281b - obj_tiles 0x08d8ea54, 0x0020, 0x281c - obj_tiles 0x08d8ef2c, 0x0080, 0x281d - obj_tiles 0x08dba378, 0x0400, 0x281e - obj_tiles 0x08dba4b8, 0x0080, 0x281f - obj_tiles 0x08d8ecc4, 0x0800, 0x2820 - obj_tiles 0x08d8ef04, 0x0020, 0x2821 - obj_tiles 0x08d8ef98, 0x0800, 0x2822 - obj_tiles 0x08d8f118, 0x0800, 0x2823 - obj_tiles 0x08d8f284, 0x0800, 0x2824 - obj_tiles 0x08d92eec, 0x1000, 0x2825 - obj_tiles 0x08d93c24, 0x0800, 0x2826 - obj_tiles 0x08d93e4c, 0x00a0, 0x2827 - obj_tiles 0x08d8f780, 0x0800, 0x2828 - obj_tiles 0x08d93eb4, 0x0200, 0x2829 - obj_tiles 0x08dba174, 0x0600, 0x282a - obj_tiles 0x08d93474, 0x0200, 0x282b - obj_tiles 0x08d94658, 0x0800, 0x282c - obj_tiles 0x08d949f0, 0x0200, 0x282d - obj_tiles 0x08c1e0b4, 0x0800, 0x282e - obj_tiles 0x08c0a3ec, 0x1000, 0x282f - obj_tiles 0x08c1bee4, 0x0100, 0x2830 + obj_tiles gBattleAnimSpriteSheet_000, 0x0200, 0x2710 + obj_tiles gBattleAnimSpriteSheet_001, 0x0300, 0x2711 + obj_tiles gBattleAnimSpriteSheet_002, 0x0200, 0x2712 + obj_tiles gBattleAnimSpriteSheet_003, 0x0100, 0x2713 + obj_tiles gBattleAnimSpriteSheet_004, 0x0200, 0x2714 + obj_tiles gBattleAnimSpriteSheet_005, 0x0400, 0x2715 + obj_tiles gBattleAnimSpriteSheet_006, 0x0180, 0x2716 + obj_tiles gBattleAnimSpriteSheet_007, 0x0800, 0x2717 + obj_tiles gBattleAnimSpriteSheet_008, 0x0020, 0x2718 + obj_tiles gBattleAnimSpriteSheet_009, 0x0400, 0x2719 + obj_tiles gBattleAnimSpriteSheet_010, 0x1200, 0x271a + obj_tiles gBattleAnimSpriteSheet_011, 0x0180, 0x271b + obj_tiles gBattleAnimSpriteSheet_012, 0x0080, 0x271c + obj_tiles gBattleAnimSpriteSheet_013, 0x0080, 0x271d + obj_tiles gBattleAnimSpriteSheet_014, 0x0280, 0x271e + obj_tiles gBattleAnimSpriteSheet_015, 0x0080, 0x271f + obj_tiles gBattleAnimSpriteSheet_016, 0x0100, 0x2720 + obj_tiles gBattleAnimSpriteSheet_017, 0x0020, 0x2721 + obj_tiles gBattleAnimSpriteSheet_018, 0x0080, 0x2722 + obj_tiles gBattleAnimSpriteSheet_019, 0x0400, 0x2723 + obj_tiles gBattleAnimSpriteSheet_020, 0x0200, 0x2724 + obj_tiles gBattleAnimSpriteSheet_021, 0x0a00, 0x2725 + obj_tiles gBattleAnimSpriteSheet_021, 0x0a00, 0x2726 + obj_tiles gBattleAnimSpriteSheet_023, 0x0380, 0x2727 + obj_tiles gBattleAnimSpriteSheet_024, 0x0300, 0x2728 + obj_tiles gBattleAnimSpriteSheet_025, 0x0a00, 0x2729 + obj_tiles gBattleAnimSpriteSheet_026, 0x0a00, 0x272a + obj_tiles gBattleAnimSpriteSheet_027, 0x0a00, 0x272b + obj_tiles gBattleAnimSpriteSheet_028, 0x0a00, 0x272c + obj_tiles gBattleAnimSpriteSheet_029, 0x0a00, 0x272d + obj_tiles gBattleAnimSpriteSheet_030, 0x0a00, 0x272e + obj_tiles gBattleAnimSpriteSheet_031, 0x0e00, 0x272f + obj_tiles gBattleAnimSpriteSheet_032, 0x0380, 0x2730 + obj_tiles gBattleAnimSpriteSheet_033, 0x1000, 0x2731 + obj_tiles gBattleAnimSpriteSheet_034, 0x0800, 0x2732 + obj_tiles gBattleAnimSpriteSheet_035, 0x0a00, 0x2733 + obj_tiles gBattleAnimSpriteSheet_036, 0x0800, 0x2734 + obj_tiles gBattleAnimSpriteSheet_037, 0x0a00, 0x2735 + obj_tiles gBattleAnimSpriteSheet_038, 0x0a00, 0x2736 + obj_tiles gBattleAnimSpriteSheet_039, 0x0a00, 0x2737 + obj_tiles gBattleAnimSpriteSheet_040, 0x0a00, 0x2738 + obj_tiles gBattleAnimSpriteSheet_041, 0x0a00, 0x2739 + obj_tiles gBattleAnimSpriteSheet_042, 0x0a00, 0x273a + obj_tiles gBattleAnimSpriteSheet_043, 0x0a00, 0x273b + obj_tiles gBattleAnimSpriteSheet_044, 0x0a00, 0x273c + obj_tiles gBattleAnimSpriteSheet_045, 0x0a00, 0x273d + obj_tiles gBattleAnimSpriteSheet_046, 0x1000, 0x273e + obj_tiles gBattleAnimSpriteSheet_046, 0x1000, 0x273f + obj_tiles gBattleAnimSpriteSheet_048, 0x1000, 0x2740 + obj_tiles gBattleAnimSpriteSheet_048, 0x1000, 0x2741 + obj_tiles gBattleAnimSpriteSheet_050, 0x0200, 0x2742 + obj_tiles gBattleAnimSpriteSheet_051, 0x0200, 0x2743 + obj_tiles gBattleAnimSpriteSheet_052, 0x0200, 0x2744 + obj_tiles gBattleAnimSpriteSheet_053, 0x0800, 0x2745 + obj_tiles gBattleAnimSpriteSheet_054, 0x0080, 0x2746 + obj_tiles gBattleAnimSpriteSheet_055, 0x0200, 0x2747 + obj_tiles gBattleAnimSpriteSheet_056, 0x1000, 0x2748 + obj_tiles gBattleAnimSpriteSheet_057, 0x0180, 0x2749 + obj_tiles gBattleAnimSpriteSheet_058, 0x0c00, 0x274a + obj_tiles gBattleAnimSpriteSheet_059, 0x0100, 0x274b + obj_tiles gBattleAnimSpriteSheet_060, 0x0040, 0x274c + obj_tiles gBattleAnimSpriteSheet_061, 0x0180, 0x274d + obj_tiles gBattleAnimSpriteSheet_062, 0x0800, 0x274e + obj_tiles gBattleAnimSpriteSheet_063, 0x0480, 0x274f + obj_tiles gBattleAnimSpriteSheet_064, 0x0200, 0x2750 + obj_tiles gBattleAnimSpriteSheet_065, 0x0200, 0x2751 + obj_tiles gBattleAnimSpriteSheet_066, 0x0100, 0x2752 + obj_tiles gBattleAnimSpriteSheet_065, 0x0200, 0x2753 + obj_tiles gBattleAnimSpriteSheet_065, 0x0200, 0x2754 + obj_tiles gBattleAnimSpriteSheet_065, 0x0200, 0x2755 + obj_tiles gBattleAnimSpriteSheet_070, 0x0200, 0x2756 + obj_tiles gBattleAnimSpriteSheet_071, 0x0a00, 0x2757 + obj_tiles gBattleAnimSpriteSheet_072, 0x0300, 0x2758 + obj_tiles gBattleAnimSpriteSheet_073, 0x0180, 0x2759 + obj_tiles gBattleAnimSpriteSheet_074, 0x00a0, 0x275a + obj_tiles gBattleAnimSpriteSheet_075, 0x0700, 0x275b + obj_tiles gBattleAnimSpriteSheet_076, 0x0400, 0x275c + obj_tiles gBattleAnimSpriteSheet_077, 0x0200, 0x275d + obj_tiles gBattleAnimSpriteSheet_078, 0x0300, 0x275e + obj_tiles gBattleAnimSpriteSheet_079, 0x0c00, 0x275f + obj_tiles gBattleAnimSpriteSheet_080, 0x0a00, 0x2760 + obj_tiles gBattleAnimSpriteSheet_081, 0x0080, 0x2761 + obj_tiles gBattleAnimSpriteSheet_082, 0x0040, 0x2762 + obj_tiles gBattleAnimSpriteSheet_083, 0x0e00, 0x2763 + obj_tiles gBattleAnimSpriteSheet_084, 0x0e00, 0x2764 + obj_tiles gBattleAnimSpriteSheet_085, 0x0280, 0x2765 + obj_tiles gBattleAnimSpriteSheet_086, 0x0200, 0x2766 + obj_tiles gBattleAnimSpriteSheet_087, 0x0080, 0x2767 + obj_tiles gBattleAnimSpriteSheet_088, 0x00c0, 0x2768 + obj_tiles gBattleAnimSpriteSheet_089, 0x0a00, 0x2769 + obj_tiles gBattleAnimSpriteSheet_090, 0x0200, 0x276a + obj_tiles gBattleAnimSpriteSheet_091, 0x0180, 0x276b + obj_tiles gBattleAnimSpriteSheet_092, 0x0080, 0x276c + obj_tiles gBattleAnimSpriteSheet_093, 0x1000, 0x276d + obj_tiles gBattleAnimSpriteSheet_094, 0x0a00, 0x276e + obj_tiles gBattleAnimSpriteSheet_095, 0x0180, 0x276f + obj_tiles gBattleAnimSpriteSheet_096, 0x0380, 0x2770 + obj_tiles gBattleAnimSpriteSheet_097, 0x0c00, 0x2771 + obj_tiles gBattleAnimSpriteSheet_098, 0x0200, 0x2772 + obj_tiles gBattleAnimSpriteSheet_099, 0x0200, 0x2773 + obj_tiles gBattleAnimSpriteSheet_100, 0x0200, 0x2774 + obj_tiles gBattleAnimSpriteSheet_101, 0x0200, 0x2775 + obj_tiles gBattleAnimSpriteSheet_102, 0x0400, 0x2776 + obj_tiles gBattleAnimSpriteSheet_103, 0x0080, 0x2777 + obj_tiles gBattleAnimSpriteSheet_104, 0x0400, 0x2778 + obj_tiles gBattleAnimSpriteSheet_105, 0x0c00, 0x2779 + obj_tiles gBattleAnimSpriteSheet_106, 0x0200, 0x277a + obj_tiles gBattleAnimSpriteSheet_107, 0x1000, 0x277b + obj_tiles gBattleAnimSpriteSheet_108, 0x0a00, 0x277c + obj_tiles gBattleAnimSpriteSheet_109, 0x0020, 0x277d + obj_tiles gBattleAnimSpriteSheet_110, 0x0e00, 0x277e + obj_tiles gBattleAnimSpriteSheet_111, 0x0080, 0x277f + obj_tiles gBattleAnimSpriteSheet_112, 0x0a00, 0x2780 + obj_tiles gBattleAnimSpriteSheet_113, 0x0400, 0x2781 + obj_tiles gBattleAnimSpriteSheet_114, 0x0200, 0x2782 + obj_tiles gBattleAnimSpriteSheet_115, 0x0700, 0x2783 + obj_tiles gBattleAnimSpriteSheet_116, 0x0800, 0x2784 + obj_tiles gBattleAnimSpriteSheet_117, 0x0a00, 0x2785 + obj_tiles gBattleAnimSpriteSheet_118, 0x0600, 0x2786 + obj_tiles gBattleAnimSpriteSheet_119, 0x0800, 0x2787 + obj_tiles gBattleAnimSpriteSheet_120, 0x0200, 0x2788 + obj_tiles gBattleAnimSpriteSheet_121, 0x0040, 0x2789 + obj_tiles gBattleAnimSpriteSheet_122, 0x0180, 0x278a + obj_tiles gBattleAnimSpriteSheet_123, 0x0600, 0x278b + obj_tiles gBattleAnimSpriteSheet_124, 0x0600, 0x278c + obj_tiles gBattleAnimSpriteSheet_125, 0x0200, 0x278d + obj_tiles gBattleAnimSpriteSheet_126, 0x0080, 0x278e + obj_tiles gBattleAnimSpriteSheet_127, 0x0200, 0x278f + obj_tiles gBattleAnimSpriteSheet_128, 0x0800, 0x2790 + obj_tiles gBattleAnimSpriteSheet_129, 0x0080, 0x2791 + obj_tiles gBattleAnimSpriteSheet_130, 0x0a00, 0x2792 + obj_tiles gBattleAnimSpriteSheet_131, 0x0280, 0x2793 + obj_tiles gBattleAnimSpriteSheet_132, 0x0280, 0x2794 + obj_tiles gBattleAnimSpriteSheet_133, 0x0100, 0x2795 + obj_tiles gBattleAnimSpriteSheet_134, 0x0200, 0x2796 + obj_tiles gBattleAnimSpriteSheet_135, 0x0200, 0x2797 + obj_tiles gBattleAnimSpriteSheet_136, 0x0020, 0x2798 + obj_tiles gBattleAnimSpriteSheet_137, 0x0a00, 0x2799 + obj_tiles gBattleAnimSpriteSheet_138, 0x0800, 0x279a + obj_tiles gBattleAnimSpriteSheet_139, 0x0800, 0x279b + obj_tiles gBattleAnimSpriteSheet_140, 0x00c0, 0x279c + obj_tiles gBattleAnimSpriteSheet_141, 0x01c0, 0x279d + obj_tiles gBattleAnimSpriteSheet_142, 0x0100, 0x279e + obj_tiles gBattleAnimSpriteSheet_143, 0x0800, 0x279f + obj_tiles gBattleAnimSpriteSheet_144, 0x0200, 0x27a0 + obj_tiles gBattleAnimSpriteSheet_145, 0x0800, 0x27a1 + obj_tiles gBattleAnimSpriteSheet_146, 0x0180, 0x27a2 + obj_tiles gBattleAnimSpriteSheet_147, 0x0180, 0x27a3 + obj_tiles gBattleAnimSpriteSheet_148, 0x0200, 0x27a4 + obj_tiles gBattleAnimSpriteSheet_149, 0x0200, 0x27a5 + obj_tiles gBattleAnimSpriteSheet_150, 0x0180, 0x27a6 + obj_tiles gBattleAnimSpriteSheet_151, 0x0400, 0x27a7 + obj_tiles gBattleAnimSpriteSheet_152, 0x0080, 0x27a8 + obj_tiles gBattleAnimSpriteSheet_153, 0x0100, 0x27a9 + obj_tiles gBattleAnimSpriteSheet_154, 0x0100, 0x27aa + obj_tiles gBattleAnimSpriteSheet_155, 0x0140, 0x27ab + obj_tiles gBattleAnimSpriteSheet_156, 0x0800, 0x27ac + obj_tiles gBattleAnimSpriteSheet_157, 0x0200, 0x27ad + obj_tiles gBattleAnimSpriteSheet_158, 0x0100, 0x27ae + obj_tiles gBattleAnimSpriteSheet_159, 0x00a0, 0x27af + obj_tiles gBattleAnimSpriteSheet_160, 0x0100, 0x27b0 + obj_tiles gBattleAnimSpriteSheet_161, 0x0080, 0x27b1 + obj_tiles gBattleAnimSpriteSheet_162, 0x0300, 0x27b2 + obj_tiles gBattleAnimSpriteSheet_163, 0x0100, 0x27b3 + obj_tiles gBattleAnimSpriteSheet_163, 0x0100, 0x27b4 + obj_tiles gBattleAnimSpriteSheet_163, 0x0100, 0x27b5 + obj_tiles gBattleAnimSpriteSheet_166, 0x0800, 0x27b6 + obj_tiles gBattleAnimSpriteSheet_166, 0x0800, 0x27b7 + obj_tiles gBattleAnimSpriteSheet_166, 0x0800, 0x27b8 + obj_tiles gBattleAnimSpriteSheet_166, 0x0800, 0x27b9 + obj_tiles gBattleAnimSpriteSheet_166, 0x0800, 0x27ba + obj_tiles gBattleAnimSpriteSheet_171, 0x0080, 0x27bb + obj_tiles gBattleAnimSpriteSheet_144, 0x0200, 0x27bc + obj_tiles gBattleAnimSpriteSheet_173, 0x0200, 0x27bd + obj_tiles gBattleAnimSpriteSheet_174, 0x0200, 0x27be + obj_tiles gBattleAnimSpriteSheet_175, 0x0080, 0x27bf + obj_tiles gBattleAnimSpriteSheet_176, 0x0200, 0x27c0 + obj_tiles gBattleAnimSpriteSheet_177, 0x0500, 0x27c1 + obj_tiles gBattleAnimSpriteSheet_178, 0x0800, 0x27c2 + obj_tiles gBattleAnimSpriteSheet_179, 0x0400, 0x27c3 + obj_tiles gBattleAnimSpriteSheet_180, 0x0020, 0x27c4 + obj_tiles gBattleAnimSpriteSheet_181, 0x0800, 0x27c5 + obj_tiles gBattleAnimSpriteSheet_182, 0x0100, 0x27c6 + obj_tiles gBattleAnimSpriteSheet_183, 0x0800, 0x27c7 + obj_tiles gBattleAnimSpriteSheet_184, 0x0400, 0x27c8 + obj_tiles gBattleAnimSpriteSheet_185, 0x0a00, 0x27c9 + obj_tiles gBattleAnimSpriteSheet_186, 0x1000, 0x27ca + obj_tiles gBattleAnimSpriteSheet_187, 0x0800, 0x27cb + obj_tiles gBattleAnimSpriteSheet_188, 0x0400, 0x27cc + obj_tiles gBattleAnimSpriteSheet_189, 0x0200, 0x27cd + obj_tiles gBattleAnimSpriteSheet_190, 0x0800, 0x27ce + obj_tiles gBattleAnimSpriteSheet_191, 0x0800, 0x27cf + obj_tiles gBattleAnimSpriteSheet_192, 0x0800, 0x27d0 + obj_tiles gBattleAnimSpriteSheet_193, 0x0200, 0x27d1 + obj_tiles gBattleAnimSpriteSheet_194, 0x0800, 0x27d2 + obj_tiles gBattleAnimSpriteSheet_195, 0x0200, 0x27d3 + obj_tiles gBattleAnimSpriteSheet_196, 0x0800, 0x27d4 + obj_tiles gBattleAnimSpriteSheet_197, 0x0200, 0x27d5 + obj_tiles gBattleAnimSpriteSheet_198, 0x0800, 0x27d6 + obj_tiles gBattleAnimSpriteSheet_199, 0x0400, 0x27d7 + obj_tiles gBattleAnimSpriteSheet_200, 0x0200, 0x27d8 + obj_tiles gBattleAnimSpriteSheet_201, 0x0a80, 0x27d9 + obj_tiles gBattleAnimSpriteSheet_202, 0x0600, 0x27da + obj_tiles gBattleAnimSpriteSheet_203, 0x0800, 0x27db + obj_tiles gBattleAnimSpriteSheet_204, 0x0200, 0x27dc + obj_tiles gBattleAnimSpriteSheet_205, 0x0600, 0x27dd + obj_tiles gBattleAnimSpriteSheet_206, 0x0800, 0x27de + obj_tiles gBattleAnimSpriteSheet_207, 0x0180, 0x27df + obj_tiles gBattleAnimSpriteSheet_208, 0x0800, 0x27e0 + obj_tiles gBattleAnimSpriteSheet_209, 0x0800, 0x27e1 + obj_tiles gBattleAnimSpriteSheet_210, 0x0080, 0x27e2 + obj_tiles gBattleAnimSpriteSheet_211, 0x0080, 0x27e3 + obj_tiles gBattleAnimSpriteSheet_212, 0x0800, 0x27e4 + obj_tiles gBattleAnimSpriteSheet_213, 0x0800, 0x27e5 + obj_tiles gBattleAnimSpriteSheet_214, 0x0600, 0x27e6 + obj_tiles gBattleAnimSpriteSheet_215, 0x0600, 0x27e7 + obj_tiles gBattleAnimSpriteSheet_210, 0x0080, 0x27e8 + obj_tiles gBattleAnimSpriteSheet_217, 0x0080, 0x27e9 + obj_tiles gBattleAnimSpriteSheet_218, 0x0180, 0x27ea + obj_tiles gBattleAnimSpriteSheet_210, 0x0080, 0x27eb + obj_tiles gBattleAnimSpriteSheet_220, 0x0200, 0x27ec + obj_tiles gBattleAnimSpriteSheet_221, 0x0400, 0x27ed + obj_tiles gBattleAnimSpriteSheet_222, 0x0a00, 0x27ee + obj_tiles gBattleAnimSpriteSheet_223, 0x0800, 0x27ef + obj_tiles gBattleAnimSpriteSheet_224, 0x0200, 0x27f0 + obj_tiles gBattleAnimSpriteSheet_225, 0x0400, 0x27f1 + obj_tiles gBattleAnimSpriteSheet_226, 0x0080, 0x27f2 + obj_tiles gBattleAnimSpriteSheet_227, 0x0800, 0x27f3 + obj_tiles gBattleAnimSpriteSheet_228, 0x0200, 0x27f4 + obj_tiles gBattleAnimSpriteSheet_229, 0x0300, 0x27f5 + obj_tiles gBattleAnimSpriteSheet_230, 0x0800, 0x27f6 + obj_tiles gBattleAnimSpriteSheet_231, 0x0380, 0x27f7 + obj_tiles gBattleAnimSpriteSheet_232, 0x0800, 0x27f8 + obj_tiles gBattleAnimSpriteSheet_233, 0x00c0, 0x27f9 + obj_tiles gBattleAnimSpriteSheet_234, 0x0800, 0x27fa + obj_tiles gBattleAnimSpriteSheet_235, 0x0060, 0x27fb + obj_tiles gBattleAnimSpriteSheet_235, 0x0060, 0x27fc + obj_tiles gBattleAnimSpriteSheet_235, 0x0060, 0x27fd + obj_tiles gBattleAnimSpriteSheet_238, 0x0080, 0x27fe + obj_tiles gBattleAnimSpriteSheet_239, 0x0180, 0x27ff + obj_tiles gBattleAnimSpriteSheet_240, 0x0180, 0x2800 + obj_tiles gBattleAnimSpriteSheet_241, 0x0200, 0x2801 + obj_tiles gBattleAnimSpriteSheet_242, 0x0200, 0x2802 + obj_tiles gBattleAnimSpriteSheet_243, 0x0020, 0x2803 + obj_tiles gBattleAnimSpriteSheet_244, 0x0400, 0x2804 + obj_tiles gBattleAnimSpriteSheet_245, 0x0600, 0x2805 + obj_tiles gBattleAnimSpriteSheet_246, 0x1000, 0x2806 + obj_tiles gBattleAnimSpriteSheet_247, 0x0400, 0x2807 + obj_tiles gBattleAnimSpriteSheet_248, 0x0020, 0x2808 + obj_tiles gBattleAnimSpriteSheet_249, 0x0080, 0x2809 + obj_tiles gBattleAnimSpriteSheet_250, 0x0800, 0x280a + obj_tiles gBattleAnimSpriteSheet_251, 0x0080, 0x280b + obj_tiles gBattleAnimSpriteSheet_252, 0x0200, 0x280c + obj_tiles gBattleAnimSpriteSheet_253, 0x0400, 0x280d + obj_tiles gBattleAnimSpriteSheet_254, 0x0200, 0x280e + obj_tiles gBattleAnimSpriteSheet_255, 0x0200, 0x280f + obj_tiles gBattleAnimSpriteSheet_256, 0x0800, 0x2810 + obj_tiles gBattleAnimSpriteSheet_257, 0x0280, 0x2811 + obj_tiles gBattleAnimSpriteSheet_258, 0x0200, 0x2812 + obj_tiles gBattleAnimSpriteSheet_149, 0x0200, 0x2813 + obj_tiles gBattleAnimSpriteSheet_260, 0x0400, 0x2814 + obj_tiles gBattleAnimSpriteSheet_261, 0x0200, 0x2815 + obj_tiles gBattleAnimSpriteSheet_262, 0x0200, 0x2816 + obj_tiles gBattleAnimSpriteSheet_263, 0x0080, 0x2817 + obj_tiles gBattleAnimSpriteSheet_264, 0x0020, 0x2818 + obj_tiles gBattleAnimSpriteSheet_264, 0x0020, 0x2819 + obj_tiles gBattleAnimSpriteSheet_266, 0x0080, 0x281a + obj_tiles gBattleAnimSpriteSheet_212, 0x0800, 0x281b + obj_tiles gBattleAnimSpriteSheet_264, 0x0020, 0x281c + obj_tiles gBattleAnimSpriteSheet_269, 0x0080, 0x281d + obj_tiles gBattleAnimSpriteSheet_270, 0x0400, 0x281e + obj_tiles gBattleAnimSpriteSheet_271, 0x0080, 0x281f + obj_tiles gBattleAnimSpriteSheet_272, 0x0800, 0x2820 + obj_tiles gBattleAnimSpriteSheet_273, 0x0020, 0x2821 + obj_tiles gBattleAnimSpriteSheet_274, 0x0800, 0x2822 + obj_tiles gBattleAnimSpriteSheet_275, 0x0800, 0x2823 + obj_tiles gBattleAnimSpriteSheet_276, 0x0800, 0x2824 + obj_tiles gBattleAnimSpriteSheet_277, 0x1000, 0x2825 + obj_tiles gBattleAnimSpriteSheet_278, 0x0800, 0x2826 + obj_tiles gBattleAnimSpriteSheet_279, 0x00a0, 0x2827 + obj_tiles gBattleAnimSpriteSheet_280, 0x0800, 0x2828 + obj_tiles gBattleAnimSpriteSheet_281, 0x0200, 0x2829 + obj_tiles gBattleAnimSpriteSheet_282, 0x0600, 0x282a + obj_tiles gBattleAnimSpriteSheet_283, 0x0200, 0x282b + obj_tiles gBattleAnimSpriteSheet_284, 0x0800, 0x282c + obj_tiles gBattleAnimSpriteSheet_285, 0x0200, 0x282d + obj_tiles gBattleAnimSpriteSheet_183, 0x0800, 0x282e + obj_tiles gBattleAnimSpriteSheet_056, 0x1000, 0x282f + obj_tiles gBattleAnimSpriteSheet_163, 0x0100, 0x2830 .align 2 gBattleAnimPaletteTable:: @ 852544C - obj_pal 0x08c028cc, 0x2710 - obj_pal 0x08c1c794, 0x2711 - obj_pal 0x08c20868, 0x2712 - obj_pal 0x08c028f0, 0x2713 - obj_pal 0x08c02918, 0x2714 - obj_pal 0x08c0292c, 0x2715 - obj_pal 0x08c02954, 0x2716 - obj_pal 0x08c02b48, 0x2717 - obj_pal 0x08c02b88, 0x2718 - obj_pal 0x08c0328c, 0x2719 - obj_pal 0x08c02ba4, 0x271a - obj_pal 0x08c03324, 0x271b - obj_pal 0x08c033b4, 0x271c - obj_pal 0x08c0346c, 0x271d - obj_pal 0x08c1fc68, 0x271e - obj_pal 0x08c034f0, 0x271f - obj_pal 0x08c03588, 0x2720 - obj_pal 0x08c03588, 0x2721 - obj_pal 0x08c24db8, 0x2722 - obj_pal 0x08c035dc, 0x2723 - obj_pal 0x08c03784, 0x2724 - obj_pal 0x08c03a00, 0x2725 - obj_pal 0x08c03d60, 0x2726 - obj_pal 0x08c037ac, 0x2727 - obj_pal 0x08c03f6c, 0x2728 - obj_pal 0x08c03d88, 0x2729 - obj_pal 0x08c047cc, 0x272a - obj_pal 0x08c047f4, 0x272b - obj_pal 0x08c04b18, 0x272c - obj_pal 0x08c05148, 0x272d - obj_pal 0x08c05530, 0x272e - obj_pal 0x08c04360, 0x272f - obj_pal 0x08c04380, 0x2730 - obj_pal 0x08c05554, 0x2731 - obj_pal 0x08c05554, 0x2732 - obj_pal 0x08c05554, 0x2733 - obj_pal 0x08c06650, 0x2734 - obj_pal 0x08c06650, 0x2735 - obj_pal 0x08c07914, 0x2736 - obj_pal 0x08c0793c, 0x2737 - obj_pal 0x08c07914, 0x2738 - obj_pal 0x08c07914, 0x2739 - obj_pal 0x08c08594, 0x273a - obj_pal 0x08c089bc, 0x273b - obj_pal 0x08c089e4, 0x273c - obj_pal 0x08c08c78, 0x273d - obj_pal 0x08c099e4, 0x273e - obj_pal 0x08c09a04, 0x273e - obj_pal 0x08c09f88, 0x2740 - obj_pal 0x08c09fb0, 0x2741 - obj_pal 0x08c09fd8, 0x2742 - obj_pal 0x08c09fd8, 0x2743 - obj_pal 0x08c09fd8, 0x2744 - obj_pal 0x08c047cc, 0x2745 - obj_pal 0x08c0a3d4, 0x2746 - obj_pal 0x08c09fd8, 0x2747 - obj_pal 0x08c0a894, 0x2748 - obj_pal 0x08c0aa08, 0x2749 - obj_pal 0x08c0ae94, 0x274a - obj_pal 0x08c0af1c, 0x274b - obj_pal 0x08c0af60, 0x274c - obj_pal 0x08c0b02c, 0x274d - obj_pal 0x08c0b41c, 0x274e - obj_pal 0x08c0b600, 0x274f - obj_pal 0x08c231f4, 0x2750 - obj_pal 0x08c0b7d0, 0x2751 - obj_pal 0x08c0b83c, 0x2752 - obj_pal 0x08d8eaa4, 0x2753 - obj_pal 0x08d8eac4, 0x2754 - obj_pal 0x08c0b7d0, 0x2755 - obj_pal 0x08c0b8e4, 0x2756 - obj_pal 0x08c0b8e4, 0x2757 - obj_pal 0x08c0bc08, 0x2758 - obj_pal 0x08c0bd3c, 0x2759 - obj_pal 0x08c1b304, 0x275a - obj_pal 0x08c0bfd8, 0x275b - obj_pal 0x08c14f28, 0x275c - obj_pal 0x08c14f28, 0x275d - obj_pal 0x08c0c194, 0x275e - obj_pal 0x08c0c194, 0x275f - obj_pal 0x08c0c950, 0x2760 - obj_pal 0x08c0c9f8, 0x2761 - obj_pal 0x08c0cbb4, 0x2762 - obj_pal 0x08c0cbc8, 0x2763 - obj_pal 0x08c0cbf0, 0x2764 - obj_pal 0x08c0cc18, 0x2765 - obj_pal 0x08c0cc30, 0x2766 - obj_pal 0x08c24d54, 0x2767 - obj_pal 0x08c0cc58, 0x2768 - obj_pal 0x08c0cc74, 0x2769 - obj_pal 0x08c0cc9c, 0x276a - obj_pal 0x08c0b698, 0x276b - obj_pal 0x08c0ccc0, 0x276c - obj_pal 0x08c0ccdc, 0x276d - obj_pal 0x08c0cd04, 0x276e - obj_pal 0x08c0cd44, 0x276f - obj_pal 0x08c0cd6c, 0x2770 - obj_pal 0x08c0cd88, 0x2771 - obj_pal 0x08c0cd04, 0x2772 - obj_pal 0x08c27e0c, 0x2773 - obj_pal 0x08c0cdb0, 0x2774 - obj_pal 0x08c0cdcc, 0x2775 - obj_pal 0x08c0cdcc, 0x2776 - obj_pal 0x08c0cdf4, 0x2777 - obj_pal 0x08c0f14c, 0x2778 - obj_pal 0x08c0f6f8, 0x2779 - obj_pal 0x08c0f6f8, 0x277a - obj_pal 0x08c0fbbc, 0x277b - obj_pal 0x08c0fbbc, 0x277c - obj_pal 0x08c0ff90, 0x277d - obj_pal 0x08c0ff90, 0x277e - obj_pal 0x08c103e0, 0x277f - obj_pal 0x08c1072c, 0x2780 - obj_pal 0x08c109c0, 0x2781 - obj_pal 0x08c10adc, 0x2782 - obj_pal 0x08c028ac, 0x2783 - obj_pal 0x08c13134, 0x2784 - obj_pal 0x08c13398, 0x2785 - obj_pal 0x08c1354c, 0x2786 - obj_pal 0x08c137f8, 0x2787 - obj_pal 0x08c13914, 0x2788 - obj_pal 0x08c13968, 0x2789 - obj_pal 0x08c13a88, 0x278a - obj_pal 0x08c13a88, 0x278b - obj_pal 0x08c13e78, 0x278c - obj_pal 0x08c13f8c, 0x278d - obj_pal 0x08c1401c, 0x278e - obj_pal 0x08c141dc, 0x278f - obj_pal 0x08c1446c, 0x2790 - obj_pal 0x08c1446c, 0x2791 - obj_pal 0x08c148c0, 0x2792 - obj_pal 0x08c148c0, 0x2793 - obj_pal 0x08c14b58, 0x2794 - obj_pal 0x08c14bf4, 0x2795 - obj_pal 0x08c14bf4, 0x2796 - obj_pal 0x08c1a478, 0x2797 - obj_pal 0x08c1a564, 0x2798 - obj_pal 0x08c1a478, 0x2799 - obj_pal 0x08c1a478, 0x279a - obj_pal 0x08c1a980, 0x279b - obj_pal 0x08c1ad0c, 0x279c - obj_pal 0x08c1ae34, 0x279d - obj_pal 0x08c1ae34, 0x279e - obj_pal 0x08c2cddc, 0x279f - obj_pal 0x08c1bcdc, 0x27a0 - obj_pal 0x08c1a980, 0x27a1 - obj_pal 0x08c028ac, 0x27a2 - obj_pal 0x08c1b080, 0x27a3 - obj_pal 0x08c1b25c, 0x27a4 - obj_pal 0x08c1b25c, 0x27a5 - obj_pal 0x08c1b3fc, 0x27a6 - obj_pal 0x08c1b3fc, 0x27a7 - obj_pal 0x08c03414, 0x27a8 - obj_pal 0x08c1b57c, 0x27a9 - obj_pal 0x08c1b640, 0x27aa - obj_pal 0x08c1b728, 0x27ab - obj_pal 0x08c1b960, 0x27ac - obj_pal 0x08c1b9ec, 0x27ad - obj_pal 0x08c1bacc, 0x27ae - obj_pal 0x08c1bb6c, 0x27af - obj_pal 0x08c1bc3c, 0x27b0 - obj_pal 0x08c029a4, 0x27b1 - obj_pal 0x08c1bec4, 0x27b2 - obj_pal 0x08c1bf44, 0x27b3 - obj_pal 0x08c1bf74, 0x27b4 - obj_pal 0x08c1bf8c, 0x27b5 - obj_pal 0x08c1c2b0, 0x27b6 - obj_pal 0x08c1c2d0, 0x27b7 - obj_pal 0x08c1c2f0, 0x27b8 - obj_pal 0x08c1c310, 0x27b9 - obj_pal 0x08c1c330, 0x27ba - obj_pal 0x08c1c39c, 0x27bb - obj_pal 0x08c1c3c4, 0x27bc - obj_pal 0x08c1c794, 0x27bd - obj_pal 0x08c1d69c, 0x27be - obj_pal 0x08c1d728, 0x27bf - obj_pal 0x08c1d8a8, 0x27c0 - obj_pal 0x08c1d994, 0x27c1 - obj_pal 0x08c1db14, 0x27c2 - obj_pal 0x08c1db3c, 0x27c3 - obj_pal 0x08c1db3c, 0x27c4 - obj_pal 0x08c1db3c, 0x27c5 - obj_pal 0x08c1e08c, 0x27c6 - obj_pal 0x08c1e32c, 0x27c7 - obj_pal 0x08c1e4a8, 0x27c8 - obj_pal 0x08c1e8e4, 0x27c9 - obj_pal 0x08c1f1a4, 0x27ca - obj_pal 0x08c1edb8, 0x27cb - obj_pal 0x08d967d4, 0x27cc - obj_pal 0x08c2021c, 0x27cd - obj_pal 0x08c1fee0, 0x27ce - obj_pal 0x08c20170, 0x27cf - obj_pal 0x08c204bc, 0x27d0 - obj_pal 0x08c20640, 0x27d1 - obj_pal 0x08c20f84, 0x27d2 - obj_pal 0x08c21064, 0x27d3 - obj_pal 0x08c20c34, 0x27d4 - obj_pal 0x08c211f4, 0x27d5 - obj_pal 0x08c2160c, 0x27d6 - obj_pal 0x08c216fc, 0x27d7 - obj_pal 0x08c21858, 0x27d8 - obj_pal 0x08c21ee4, 0x27d9 - obj_pal 0x08c22210, 0x27da - obj_pal 0x08c223e0, 0x27db - obj_pal 0x08c22080, 0x27dc - obj_pal 0x08c228d8, 0x27dd - obj_pal 0x08c22610, 0x27de - obj_pal 0x08c229c8, 0x27df - obj_pal 0x08c1c2d0, 0x27e0 - obj_pal 0x08c230e4, 0x27e1 - obj_pal 0x08c232a0, 0x27e2 - obj_pal 0x08c2456c, 0x27e3 - obj_pal 0x08c2456c, 0x27e4 - obj_pal 0x08c2456c, 0x27e5 - obj_pal 0x08c231f4, 0x27e6 - obj_pal 0x08c249ac, 0x27e7 - obj_pal 0x08c232c0, 0x27e8 - obj_pal 0x08c2405c, 0x27e9 - obj_pal 0x08c24c28, 0x27ea - obj_pal 0x08c23280, 0x27eb - obj_pal 0x08c24dd4, 0x27ec - obj_pal 0x08c24f28, 0x27ed - obj_pal 0x08c25498, 0x27ee - obj_pal 0x08c254c0, 0x27ef - obj_pal 0x08c25774, 0x27f0 - obj_pal 0x08c278e8, 0x27f1 - obj_pal 0x08c27ae4, 0x27f2 - obj_pal 0x08c27ae4, 0x27f3 - obj_pal 0x08c25afc, 0x27f4 - obj_pal 0x08c27cc4, 0x27f5 - obj_pal 0x08c25890, 0x27f6 - obj_pal 0x08c2836c, 0x27f7 - obj_pal 0x08c2836c, 0x27f8 - obj_pal 0x08c285e8, 0x27f9 - obj_pal 0x08c287d0, 0x27fa - obj_pal 0x08c288d0, 0x27fb - obj_pal 0x08c288ec, 0x27fc - obj_pal 0x08c28908, 0x27fd - obj_pal 0x08c2885c, 0x27fe - obj_pal 0x08c2cb84, 0x27ff - obj_pal 0x08c2ce94, 0x2800 - obj_pal 0x08c2d40c, 0x2801 - obj_pal 0x08c2d6ac, 0x2802 - obj_pal 0x08c2d6f8, 0x2803 - obj_pal 0x08c2e630, 0x2804 - obj_pal 0x08c2dee0, 0x2805 - obj_pal 0x08c2dee0, 0x2806 - obj_pal 0x08c231f4, 0x2807 - obj_pal 0x08c2ebbc, 0x2808 - obj_pal 0x08c2ec24, 0x2809 - obj_pal 0x08c2ec24, 0x280a - obj_pal 0x08c2ee9c, 0x280b - obj_pal 0x08c2efcc, 0x280c - obj_pal 0x08c2f1cc, 0x280d - obj_pal 0x08c2f32c, 0x280e - obj_pal 0x08c2f3cc, 0x280f - obj_pal 0x08c2f87c, 0x2810 - obj_pal 0x08c2f9c0, 0x2811 - obj_pal 0x08c2f4c8, 0x2812 - obj_pal 0x08c1b27c, 0x2813 - obj_pal 0x08d8dc9c, 0x2814 - obj_pal 0x08d8dab8, 0x2815 - obj_pal 0x08d8e914, 0x2816 - obj_pal 0x08d93b84, 0x2817 - obj_pal 0x08d8ea74, 0x2818 - obj_pal 0x08d8ea8c, 0x2819 - obj_pal 0x08d93bdc, 0x281a - obj_pal 0x08d93bf4, 0x281b - obj_pal 0x08d93c0c, 0x281c - obj_pal 0x08d8ef80, 0x281d - obj_pal 0x08dba35c, 0x281e - obj_pal 0x08dba4a0, 0x281f - obj_pal 0x08d8eee0, 0x2820 - obj_pal 0x08d8eee0, 0x2821 - obj_pal 0x08d8f3ec, 0x2822 - obj_pal 0x08d8f3ec, 0x2823 - obj_pal 0x08d8f3ec, 0x2824 - obj_pal 0x08d92ec4, 0x2825 - obj_pal 0x08d93e30, 0x2826 - obj_pal 0x08d93e98, 0x2827 - obj_pal 0x08d8fb7c, 0x2828 - obj_pal 0x08d9403c, 0x2829 - obj_pal 0x08dba14c, 0x282a - obj_pal 0x08d93458, 0x282b - obj_pal 0x08d949d4, 0x282c - obj_pal 0x08d94a90, 0x282d - obj_pal 0x08d96698, 0x282e - obj_pal 0x08d9104c, 0x282f - obj_pal 0x08c1bf5c, 0x2830 + obj_pal gBattleAnimSpritePalette_000, 0x2710 + obj_pal gBattleAnimSpritePalette_001, 0x2711 + obj_pal gBattleAnimSpritePalette_002, 0x2712 + obj_pal gBattleAnimSpritePalette_003, 0x2713 + obj_pal gBattleAnimSpritePalette_004, 0x2714 + obj_pal gBattleAnimSpritePalette_005, 0x2715 + obj_pal gBattleAnimSpritePalette_006, 0x2716 + obj_pal gBattleAnimSpritePalette_007, 0x2717 + obj_pal gBattleAnimSpritePalette_008, 0x2718 + obj_pal gBattleAnimSpritePalette_009, 0x2719 + obj_pal gBattleAnimSpritePalette_010, 0x271a + obj_pal gBattleAnimSpritePalette_011, 0x271b + obj_pal gBattleAnimSpritePalette_012, 0x271c + obj_pal gBattleAnimSpritePalette_013, 0x271d + obj_pal gBattleAnimSpritePalette_014, 0x271e + obj_pal gBattleAnimSpritePalette_015, 0x271f + obj_pal gBattleAnimSpritePalette_016, 0x2720 + obj_pal gBattleAnimSpritePalette_016, 0x2721 + obj_pal gBattleAnimSpritePalette_018, 0x2722 + obj_pal gBattleAnimSpritePalette_019, 0x2723 + obj_pal gBattleAnimSpritePalette_020, 0x2724 + obj_pal gBattleAnimSpritePalette_021, 0x2725 + obj_pal gBattleAnimSpritePalette_022, 0x2726 + obj_pal gBattleAnimSpritePalette_023, 0x2727 + obj_pal gBattleAnimSpritePalette_024, 0x2728 + obj_pal gBattleAnimSpritePalette_025, 0x2729 + obj_pal gBattleAnimSpritePalette_026, 0x272a + obj_pal gBattleAnimSpritePalette_027, 0x272b + obj_pal gBattleAnimSpritePalette_028, 0x272c + obj_pal gBattleAnimSpritePalette_029, 0x272d + obj_pal gBattleAnimSpritePalette_030, 0x272e + obj_pal gBattleAnimSpritePalette_031, 0x272f + obj_pal gBattleAnimSpritePalette_032, 0x2730 + obj_pal gBattleAnimSpritePalette_033, 0x2731 + obj_pal gBattleAnimSpritePalette_033, 0x2732 + obj_pal gBattleAnimSpritePalette_033, 0x2733 + obj_pal gBattleAnimSpritePalette_036, 0x2734 + obj_pal gBattleAnimSpritePalette_036, 0x2735 + obj_pal gBattleAnimSpritePalette_038, 0x2736 + obj_pal gBattleAnimSpritePalette_039, 0x2737 + obj_pal gBattleAnimSpritePalette_038, 0x2738 + obj_pal gBattleAnimSpritePalette_038, 0x2739 + obj_pal gBattleAnimSpritePalette_042, 0x273a + obj_pal gBattleAnimSpritePalette_043, 0x273b + obj_pal gBattleAnimSpritePalette_044, 0x273c + obj_pal gBattleAnimSpritePalette_045, 0x273d + obj_pal gBattleAnimSpritePalette_046, 0x273e + obj_pal gBattleAnimSpritePalette_047, 0x273e + obj_pal gBattleAnimSpritePalette_048, 0x2740 + obj_pal gBattleAnimSpritePalette_049, 0x2741 + obj_pal gBattleAnimSpritePalette_050, 0x2742 + obj_pal gBattleAnimSpritePalette_050, 0x2743 + obj_pal gBattleAnimSpritePalette_050, 0x2744 + obj_pal gBattleAnimSpritePalette_026, 0x2745 + obj_pal gBattleAnimSpritePalette_054, 0x2746 + obj_pal gBattleAnimSpritePalette_050, 0x2747 + obj_pal gBattleAnimSpritePalette_056, 0x2748 + obj_pal gBattleAnimSpritePalette_057, 0x2749 + obj_pal gBattleAnimSpritePalette_058, 0x274a + obj_pal gBattleAnimSpritePalette_059, 0x274b + obj_pal gBattleAnimSpritePalette_060, 0x274c + obj_pal gBattleAnimSpritePalette_061, 0x274d + obj_pal gBattleAnimSpritePalette_062, 0x274e + obj_pal gBattleAnimSpritePalette_063, 0x274f + obj_pal gBattleAnimSpritePalette_064, 0x2750 + obj_pal gBattleAnimSpritePalette_065, 0x2751 + obj_pal gBattleAnimSpritePalette_066, 0x2752 + obj_pal gBattleAnimSpritePalette_067, 0x2753 + obj_pal gBattleAnimSpritePalette_068, 0x2754 + obj_pal gBattleAnimSpritePalette_065, 0x2755 + obj_pal gBattleAnimSpritePalette_070, 0x2756 + obj_pal gBattleAnimSpritePalette_070, 0x2757 + obj_pal gBattleAnimSpritePalette_072, 0x2758 + obj_pal gBattleAnimSpritePalette_073, 0x2759 + obj_pal gBattleAnimSpritePalette_074, 0x275a + obj_pal gBattleAnimSpritePalette_075, 0x275b + obj_pal gBattleAnimSpritePalette_076, 0x275c + obj_pal gBattleAnimSpritePalette_076, 0x275d + obj_pal gBattleAnimSpritePalette_078, 0x275e + obj_pal gBattleAnimSpritePalette_078, 0x275f + obj_pal gBattleAnimSpritePalette_080, 0x2760 + obj_pal gBattleAnimSpritePalette_081, 0x2761 + obj_pal gBattleAnimSpritePalette_082, 0x2762 + obj_pal gBattleAnimSpritePalette_083, 0x2763 + obj_pal gBattleAnimSpritePalette_084, 0x2764 + obj_pal gBattleAnimSpritePalette_085, 0x2765 + obj_pal gBattleAnimSpritePalette_086, 0x2766 + obj_pal gBattleAnimSpritePalette_087, 0x2767 + obj_pal gBattleAnimSpritePalette_088, 0x2768 + obj_pal gBattleAnimSpritePalette_089, 0x2769 + obj_pal gBattleAnimSpritePalette_090, 0x276a + obj_pal gBattleAnimSpritePalette_091, 0x276b + obj_pal gBattleAnimSpritePalette_092, 0x276c + obj_pal gBattleAnimSpritePalette_093, 0x276d + obj_pal gBattleAnimSpritePalette_094, 0x276e + obj_pal gBattleAnimSpritePalette_095, 0x276f + obj_pal gBattleAnimSpritePalette_096, 0x2770 + obj_pal gBattleAnimSpritePalette_097, 0x2771 + obj_pal gBattleAnimSpritePalette_094, 0x2772 + obj_pal gBattleAnimSpritePalette_099, 0x2773 + obj_pal gBattleAnimSpritePalette_100, 0x2774 + obj_pal gBattleAnimSpritePalette_101, 0x2775 + obj_pal gBattleAnimSpritePalette_101, 0x2776 + obj_pal gBattleAnimSpritePalette_103, 0x2777 + obj_pal gBattleAnimSpritePalette_104, 0x2778 + obj_pal gBattleAnimSpritePalette_105, 0x2779 + obj_pal gBattleAnimSpritePalette_105, 0x277a + obj_pal gBattleAnimSpritePalette_107, 0x277b + obj_pal gBattleAnimSpritePalette_107, 0x277c + obj_pal gBattleAnimSpritePalette_109, 0x277d + obj_pal gBattleAnimSpritePalette_109, 0x277e + obj_pal gBattleAnimSpritePalette_111, 0x277f + obj_pal gBattleAnimSpritePalette_112, 0x2780 + obj_pal gBattleAnimSpritePalette_113, 0x2781 + obj_pal gBattleAnimSpritePalette_114, 0x2782 + obj_pal gBattleAnimSpritePalette_115, 0x2783 + obj_pal gBattleAnimSpritePalette_116, 0x2784 + obj_pal gBattleAnimSpritePalette_117, 0x2785 + obj_pal gBattleAnimSpritePalette_118, 0x2786 + obj_pal gBattleAnimSpritePalette_119, 0x2787 + obj_pal gBattleAnimSpritePalette_120, 0x2788 + obj_pal gBattleAnimSpritePalette_121, 0x2789 + obj_pal gBattleAnimSpritePalette_122, 0x278a + obj_pal gBattleAnimSpritePalette_122, 0x278b + obj_pal gBattleAnimSpritePalette_124, 0x278c + obj_pal gBattleAnimSpritePalette_125, 0x278d + obj_pal gBattleAnimSpritePalette_126, 0x278e + obj_pal gBattleAnimSpritePalette_127, 0x278f + obj_pal gBattleAnimSpritePalette_128, 0x2790 + obj_pal gBattleAnimSpritePalette_128, 0x2791 + obj_pal gBattleAnimSpritePalette_130, 0x2792 + obj_pal gBattleAnimSpritePalette_130, 0x2793 + obj_pal gBattleAnimSpritePalette_132, 0x2794 + obj_pal gBattleAnimSpritePalette_133, 0x2795 + obj_pal gBattleAnimSpritePalette_133, 0x2796 + obj_pal gBattleAnimSpritePalette_135, 0x2797 + obj_pal gBattleAnimSpritePalette_136, 0x2798 + obj_pal gBattleAnimSpritePalette_135, 0x2799 + obj_pal gBattleAnimSpritePalette_135, 0x279a + obj_pal gBattleAnimSpritePalette_139, 0x279b + obj_pal gBattleAnimSpritePalette_140, 0x279c + obj_pal gBattleAnimSpritePalette_141, 0x279d + obj_pal gBattleAnimSpritePalette_141, 0x279e + obj_pal gBattleAnimSpritePalette_143, 0x279f + obj_pal gBattleAnimSpritePalette_144, 0x27a0 + obj_pal gBattleAnimSpritePalette_139, 0x27a1 + obj_pal gBattleAnimSpritePalette_115, 0x27a2 + obj_pal gBattleAnimSpritePalette_147, 0x27a3 + obj_pal gBattleAnimSpritePalette_148, 0x27a4 + obj_pal gBattleAnimSpritePalette_148, 0x27a5 + obj_pal gBattleAnimSpritePalette_150, 0x27a6 + obj_pal gBattleAnimSpritePalette_150, 0x27a7 + obj_pal gBattleAnimSpritePalette_152, 0x27a8 + obj_pal gBattleAnimSpritePalette_153, 0x27a9 + obj_pal gBattleAnimSpritePalette_154, 0x27aa + obj_pal gBattleAnimSpritePalette_155, 0x27ab + obj_pal gBattleAnimSpritePalette_156, 0x27ac + obj_pal gBattleAnimSpritePalette_157, 0x27ad + obj_pal gBattleAnimSpritePalette_158, 0x27ae + obj_pal gBattleAnimSpritePalette_159, 0x27af + obj_pal gBattleAnimSpritePalette_160, 0x27b0 + obj_pal gBattleAnimSpritePalette_161, 0x27b1 + obj_pal gBattleAnimSpritePalette_162, 0x27b2 + obj_pal gBattleAnimSpritePalette_163, 0x27b3 + obj_pal gBattleAnimSpritePalette_164, 0x27b4 + obj_pal gBattleAnimSpritePalette_165, 0x27b5 + obj_pal gBattleAnimSpritePalette_166, 0x27b6 + obj_pal gBattleAnimSpritePalette_167, 0x27b7 + obj_pal gBattleAnimSpritePalette_168, 0x27b8 + obj_pal gBattleAnimSpritePalette_169, 0x27b9 + obj_pal gBattleAnimSpritePalette_170, 0x27ba + obj_pal gBattleAnimSpritePalette_171, 0x27bb + obj_pal gBattleAnimSpritePalette_172, 0x27bc + obj_pal gBattleAnimSpritePalette_001, 0x27bd + obj_pal gBattleAnimSpritePalette_174, 0x27be + obj_pal gBattleAnimSpritePalette_175, 0x27bf + obj_pal gBattleAnimSpritePalette_176, 0x27c0 + obj_pal gBattleAnimSpritePalette_177, 0x27c1 + obj_pal gBattleAnimSpritePalette_178, 0x27c2 + obj_pal gBattleAnimSpritePalette_179, 0x27c3 + obj_pal gBattleAnimSpritePalette_179, 0x27c4 + obj_pal gBattleAnimSpritePalette_179, 0x27c5 + obj_pal gBattleAnimSpritePalette_182, 0x27c6 + obj_pal gBattleAnimSpritePalette_183, 0x27c7 + obj_pal gBattleAnimSpritePalette_184, 0x27c8 + obj_pal gBattleAnimSpritePalette_185, 0x27c9 + obj_pal gBattleAnimSpritePalette_186, 0x27ca + obj_pal gBattleAnimSpritePalette_187, 0x27cb + obj_pal gBattleAnimSpritePalette_188, 0x27cc + obj_pal gBattleAnimSpritePalette_189, 0x27cd + obj_pal gBattleAnimSpritePalette_190, 0x27ce + obj_pal gBattleAnimSpritePalette_191, 0x27cf + obj_pal gBattleAnimSpritePalette_192, 0x27d0 + obj_pal gBattleAnimSpritePalette_193, 0x27d1 + obj_pal gBattleAnimSpritePalette_194, 0x27d2 + obj_pal gBattleAnimSpritePalette_195, 0x27d3 + obj_pal gBattleAnimSpritePalette_196, 0x27d4 + obj_pal gBattleAnimSpritePalette_197, 0x27d5 + obj_pal gBattleAnimSpritePalette_198, 0x27d6 + obj_pal gBattleAnimSpritePalette_199, 0x27d7 + obj_pal gBattleAnimSpritePalette_200, 0x27d8 + obj_pal gBattleAnimSpritePalette_201, 0x27d9 + obj_pal gBattleAnimSpritePalette_202, 0x27da + obj_pal gBattleAnimSpritePalette_203, 0x27db + obj_pal gBattleAnimSpritePalette_204, 0x27dc + obj_pal gBattleAnimSpritePalette_205, 0x27dd + obj_pal gBattleAnimSpritePalette_206, 0x27de + obj_pal gBattleAnimSpritePalette_207, 0x27df + obj_pal gBattleAnimSpritePalette_167, 0x27e0 + obj_pal gBattleAnimSpritePalette_209, 0x27e1 + obj_pal gBattleAnimSpritePalette_210, 0x27e2 + obj_pal gBattleAnimSpritePalette_211, 0x27e3 + obj_pal gBattleAnimSpritePalette_211, 0x27e4 + obj_pal gBattleAnimSpritePalette_211, 0x27e5 + obj_pal gBattleAnimSpritePalette_064, 0x27e6 + obj_pal gBattleAnimSpritePalette_215, 0x27e7 + obj_pal gBattleAnimSpritePalette_216, 0x27e8 + obj_pal gBattleAnimSpritePalette_217, 0x27e9 + obj_pal gBattleAnimSpritePalette_218, 0x27ea + obj_pal gBattleAnimSpritePalette_219, 0x27eb + obj_pal gBattleAnimSpritePalette_220, 0x27ec + obj_pal gBattleAnimSpritePalette_221, 0x27ed + obj_pal gBattleAnimSpritePalette_222, 0x27ee + obj_pal gBattleAnimSpritePalette_223, 0x27ef + obj_pal gBattleAnimSpritePalette_224, 0x27f0 + obj_pal gBattleAnimSpritePalette_225, 0x27f1 + obj_pal gBattleAnimSpritePalette_226, 0x27f2 + obj_pal gBattleAnimSpritePalette_226, 0x27f3 + obj_pal gBattleAnimSpritePalette_228, 0x27f4 + obj_pal gBattleAnimSpritePalette_229, 0x27f5 + obj_pal gBattleAnimSpritePalette_230, 0x27f6 + obj_pal gBattleAnimSpritePalette_231, 0x27f7 + obj_pal gBattleAnimSpritePalette_231, 0x27f8 + obj_pal gBattleAnimSpritePalette_233, 0x27f9 + obj_pal gBattleAnimSpritePalette_234, 0x27fa + obj_pal gBattleAnimSpritePalette_235, 0x27fb + obj_pal gBattleAnimSpritePalette_236, 0x27fc + obj_pal gBattleAnimSpritePalette_237, 0x27fd + obj_pal gBattleAnimSpritePalette_238, 0x27fe + obj_pal gBattleAnimSpritePalette_239, 0x27ff + obj_pal gBattleAnimSpritePalette_240, 0x2800 + obj_pal gBattleAnimSpritePalette_241, 0x2801 + obj_pal gBattleAnimSpritePalette_242, 0x2802 + obj_pal gBattleAnimSpritePalette_243, 0x2803 + obj_pal gBattleAnimSpritePalette_244, 0x2804 + obj_pal gBattleAnimSpritePalette_245, 0x2805 + obj_pal gBattleAnimSpritePalette_245, 0x2806 + obj_pal gBattleAnimSpritePalette_064, 0x2807 + obj_pal gBattleAnimSpritePalette_248, 0x2808 + obj_pal gBattleAnimSpritePalette_249, 0x2809 + obj_pal gBattleAnimSpritePalette_249, 0x280a + obj_pal gBattleAnimSpritePalette_251, 0x280b + obj_pal gBattleAnimSpritePalette_252, 0x280c + obj_pal gBattleAnimSpritePalette_253, 0x280d + obj_pal gBattleAnimSpritePalette_254, 0x280e + obj_pal gBattleAnimSpritePalette_255, 0x280f + obj_pal gBattleAnimSpritePalette_256, 0x2810 + obj_pal gBattleAnimSpritePalette_257, 0x2811 + obj_pal gBattleAnimSpritePalette_258, 0x2812 + obj_pal gBattleAnimSpritePalette_259, 0x2813 + obj_pal gBattleAnimSpritePalette_260, 0x2814 + obj_pal gBattleAnimSpritePalette_261, 0x2815 + obj_pal gBattleAnimSpritePalette_262, 0x2816 + obj_pal gBattleAnimSpritePalette_263, 0x2817 + obj_pal gBattleAnimSpritePalette_264, 0x2818 + obj_pal gBattleAnimSpritePalette_265, 0x2819 + obj_pal gBattleAnimSpritePalette_266, 0x281a + obj_pal gBattleAnimSpritePalette_267, 0x281b + obj_pal gBattleAnimSpritePalette_268, 0x281c + obj_pal gBattleAnimSpritePalette_269, 0x281d + obj_pal gBattleAnimSpritePalette_270, 0x281e + obj_pal gBattleAnimSpritePalette_271, 0x281f + obj_pal gBattleAnimSpritePalette_272, 0x2820 + obj_pal gBattleAnimSpritePalette_272, 0x2821 + obj_pal gBattleAnimSpritePalette_274, 0x2822 + obj_pal gBattleAnimSpritePalette_274, 0x2823 + obj_pal gBattleAnimSpritePalette_274, 0x2824 + obj_pal gBattleAnimSpritePalette_277, 0x2825 + obj_pal gBattleAnimSpritePalette_278, 0x2826 + obj_pal gBattleAnimSpritePalette_279, 0x2827 + obj_pal gBattleAnimSpritePalette_280, 0x2828 + obj_pal gBattleAnimSpritePalette_281, 0x2829 + obj_pal gBattleAnimSpritePalette_282, 0x282a + obj_pal gBattleAnimSpritePalette_283, 0x282b + obj_pal gBattleAnimSpritePalette_284, 0x282c + obj_pal gBattleAnimSpritePalette_285, 0x282d + obj_pal gBattleAnimSpritePalette_286, 0x282e + obj_pal gBattleAnimSpritePalette_287, 0x282f + obj_pal gBattleAnimSpritePalette_288, 0x2830 .align 2 gBattleAnimBackgroundTable:: @ 8525D54 - .4byte 0x08c1c844, 0x08c1ce3c, 0x08c1ce5c - .4byte 0x08c1c844, 0x08c1ce3c, 0x08c1ce5c - .4byte 0x08d90074, 0x08d90d3c, 0x08d90d58 - .4byte 0x08c1e90c, 0x08c1eadc, 0x08c1eb00 - .4byte 0x08c25bec, 0x08c25bc4, 0x08c26958 - .4byte 0x08c25bec, 0x08c25bc4, 0x08c26e54 - .4byte 0x08c25bec, 0x08c25bc4, 0x08c27324 - .4byte 0x08c28924, 0x08c28acc, 0x08c28b1c - .4byte 0x08c28924, 0x08c28acc, 0x08c28cac - .4byte 0x08c29dbc, 0x08c29d7c, 0x08c29a84 - .4byte 0x08c29dbc, 0x08c29d7c, 0x08c2a33c - .4byte 0x08c2bde4, 0x08c2c780, 0x08c2c7a8 - .4byte 0x08c2b05c, 0x08c2bdc4, 0x08c2a808 - .4byte 0x08c2b05c, 0x08c2bdc4, 0x08c2aad0 - .4byte 0x08c2b05c, 0x08c2bdc4, 0x08c2adcc - .4byte 0x08d8dcb4, 0x08d8e624, 0x08d8e648 - .4byte 0x08d92b28, 0x08d92b00, 0x08d92d88 - .4byte 0x08d8f414, 0x08d8f570, 0x08d8f598 - .4byte 0x08c28924, 0x08c28af4, 0x08c28b1c - .4byte 0x08c28924, 0x08c28af4, 0x08c28cac - .4byte 0x08c28e38, 0x08c29860, 0x08c29880 - .4byte 0x08d9405c, 0x08d94350, 0x08d9436c - .4byte 0x08c29dbc, 0x08c29d9c, 0x08c29a84 - .4byte 0x08c29dbc, 0x08c29d9c, 0x08c2a33c - .4byte 0x08c25bec, 0x08d91074, 0x08c26958 - .4byte 0x08c25bec, 0x08d91074, 0x08c26e54 - .4byte 0x08c25bec, 0x08d91074, 0x08c27324 + .4byte gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00 + .4byte gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00 + .4byte gBattleAnimBackgroundImage_02, gBattleAnimBackgroundPalette_02, gBattleAnimBackgroundTilemap_02 + .4byte gBattleAnimBackgroundImage_03, gBattleAnimBackgroundPalette_03, gBattleAnimBackgroundTilemap_03 + .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_04 + .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_05 + .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_06 + .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_07 + .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_08 + .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_09 + .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_10 + .4byte gBattleAnimBackgroundImage_11, gBattleAnimBackgroundPalette_11, gBattleAnimBackgroundTilemap_11 + .4byte gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_12 + .4byte gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_13 + .4byte gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_14 + .4byte gBattleAnimBackgroundImage_15, gBattleAnimBackgroundPalette_15, gBattleAnimBackgroundTilemap_15 + .4byte gBattleAnimBackgroundImage_16, gBattleAnimBackgroundPalette_16, gBattleAnimBackgroundTilemap_16 + .4byte gBattleAnimBackgroundImage_17, gBattleAnimBackgroundPalette_17, gBattleAnimBackgroundTilemap_17 + .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_07 + .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_08 + .4byte gBattleAnimBackgroundImage_20, gBattleAnimBackgroundPalette_20, gBattleAnimBackgroundTilemap_20 + .4byte gBattleAnimBackgroundImage_21, gBattleAnimBackgroundPalette_21, gBattleAnimBackgroundTilemap_21 + .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_09 + .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_10 + .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_04 + .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_05 + .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_06 + diff --git a/data/battle_frontier/battle_frontier_mons.inc b/data/battle_frontier/battle_frontier_mons.inc index 47ba6b4ef9..6b77c83781 100644 --- a/data/battle_frontier/battle_frontier_mons.inc +++ b/data/battle_frontier/battle_frontier_mons.inc @@ -960,7 +960,7 @@ gBattleFrontierMons:: @ 85D97BC .4byte NATURE_DOCILE @ 137 - .2byte SPECIES_FARFETCH_D + .2byte SPECIES_FARFETCHD .2byte MOVE_SLASH, MOVE_KNOCK_OFF, MOVE_SWORDS_DANCE, MOVE_AGILITY .byte BATTLE_FRONTIER_ITEM_STICK .byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP diff --git a/data/battle_frontier/battle_frontier_trainers.inc b/data/battle_frontier/battle_frontier_trainers.inc index fc8f292612..1fe938099d 100644 --- a/data/battle_frontier/battle_frontier_trainers.inc +++ b/data/battle_frontier/battle_frontier_trainers.inc @@ -1,2105 +1,2105 @@ .align 2 gBattleFrontierTrainers:: @ 85D5ACC @ 0 - .4byte TRAINER_CLASS_YOUNGSTER + .4byte FACILITY_CLASS_YOUNGSTER .string "BRADY$", 8 @ pre-battle speech - ec_word I_AM - ec_word NEVER - ec_word GOING - ec_word TO - ec_word LOSE - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_NEVER + .2byte EC_WORD_GOING + .2byte EC_WORD_TO + .2byte EC_WORD_LOSE + .2byte EC_WORD_EXCL @ win speech - ec_word I_AM - ec_word STRONG - ec_word AREN_T - ec_word I - ec_word QUES + .2byte EC_WORD_I_AM + .2byte EC_WORD_STRONG + .2byte EC_WORD_AREN_T + .2byte EC_WORD_I + .2byte EC_WORD_QUES .2byte -1 @ loss speech - ec_word WHAT - ec_word QUES + .2byte EC_WORD_WHAT + .2byte EC_WORD_QUES .2byte -1 - ec_word BUT - ec_word HOW - ec_word QUES + .2byte EC_WORD_BUT + .2byte EC_WORD_HOW + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Brady @ 1 - .4byte TRAINER_CLASS_YOUNGSTER + .4byte FACILITY_CLASS_YOUNGSTER .string "CONNER$", 8 @ pre-battle speech - ec_word LOSING - ec_word DOESN_T - ec_word BUG - ec_word ME + .2byte EC_WORD_LOSING + .2byte EC_WORD_DOESN_T + .2byte EC_WORD_BUG + .2byte EC_WORD_ME .2byte -1 .2byte -1 @ win speech - ec_word A - ec_word WIN - ec_word IS - ec_word JUST - ec_word AWESOME + .2byte EC_WORD_A + .2byte EC_WORD_WIN + .2byte EC_WORD_IS + .2byte EC_WORD_JUST + .2byte EC_WORD_AWESOME .2byte -1 @ loss speech - ec_word DARN - ec_word ELLIPSIS - ec_word LOSING - ec_word DOES - ec_word BUG - ec_word ME + .2byte EC_WORD_DARN + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_LOSING + .2byte EC_WORD_DOES + .2byte EC_WORD_BUG + .2byte EC_WORD_ME .4byte gBattleFrontierTrainerMons_Conner @ 2 - .4byte TRAINER_CLASS_YOUNGSTER + .4byte FACILITY_CLASS_YOUNGSTER .string "BRADLEY$", 8 @ pre-battle speech - ec_word HEY_THERE - ec_word EXCL - ec_word YOU_RE - ec_word MY - ec_word OPPONENT - ec_word TODAY + .2byte EC_WORD_HEY_THERE + .2byte EC_WORD_EXCL + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_MY + .2byte EC_WORD_OPPONENT + .2byte EC_WORD_TODAY @ win speech - ec_word HAHAHA - ec_word EXCL + .2byte EC_WORD_HAHAHA + .2byte EC_WORD_EXCL .2byte -1 - ec_word SEE_YA - ec_word LATER - ec_word EXCL + .2byte EC_WORD_SEE_YA + .2byte EC_WORD_LATER + .2byte EC_WORD_EXCL @ loss speech - ec_word TOMORROW - ec_word IS - ec_word WHEN - ec_word WE - ec_word REALLY - ec_word BATTLE + .2byte EC_WORD_TOMORROW + .2byte EC_WORD_IS + .2byte EC_WORD_WHEN + .2byte EC_WORD_WE + .2byte EC_WORD_REALLY + .2byte EC_WORD_BATTLE .4byte gBattleFrontierTrainerMons_Bradley @ 3 - .4byte TRAINER_CLASS_LASS + .4byte FACILITY_CLASS_LASS .string "CYBIL$", 8 @ pre-battle speech - ec_word YOU_RE - ec_word REALLY - ec_word NOT_VERY - ec_word SCARY - ec_word AT - ec_word ALL + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_REALLY + .2byte EC_WORD_NOT_VERY + .2byte EC_WORD_SCARY + .2byte EC_WORD_AT + .2byte EC_WORD_ALL @ win speech - ec_word IT_S - ec_word SAD - ec_word TO - ec_word SEE - ec_word YOU - ec_move2 STRUGGLE + .2byte EC_WORD_IT_S + .2byte EC_WORD_SAD + .2byte EC_WORD_TO + .2byte EC_WORD_SEE + .2byte EC_WORD_YOU + .2byte EC_MOVE2(STRUGGLE) @ loss speech - ec_word THIS - ec_word CAN_T - ec_word BE - ec_word HAPPENING - ec_word TO_ME - ec_word EXCL + .2byte EC_WORD_THIS + .2byte EC_WORD_CAN_T + .2byte EC_WORD_BE + .2byte EC_WORD_HAPPENING + .2byte EC_WORD_TO_ME + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Cybil @ 4 - .4byte TRAINER_CLASS_LASS + .4byte FACILITY_CLASS_LASS .string "RODETTE$", 8 @ pre-battle speech - ec_word OH - ec_word THIS - ec_word IS - ec_word SO - ec_word EXCITING - ec_word EXCL + .2byte EC_WORD_OH + .2byte EC_WORD_THIS + .2byte EC_WORD_IS + .2byte EC_WORD_SO + .2byte EC_WORD_EXCITING + .2byte EC_WORD_EXCL @ win speech - ec_word IT_S - ec_word INCREDIBLE - ec_word HOW - ec_word STRONG - ec_word I_AM - ec_word EXCL + .2byte EC_WORD_IT_S + .2byte EC_WORD_INCREDIBLE + .2byte EC_WORD_HOW + .2byte EC_WORD_STRONG + .2byte EC_WORD_I_AM + .2byte EC_WORD_EXCL @ loss speech - ec_word OH_DEAR - ec_word ELLIPSIS - ec_word I_AM - ec_word JUST - ec_word NO - ec_word GOOD + .2byte EC_WORD_OH_DEAR + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_I_AM + .2byte EC_WORD_JUST + .2byte EC_WORD_NO + .2byte EC_WORD_GOOD .4byte gBattleFrontierTrainerMons_Rodette @ 5 - .4byte TRAINER_CLASS_LASS + .4byte FACILITY_CLASS_LASS .string "PEGGY$", 8 @ pre-battle speech - ec_word GET - ec_word READY - ec_word TO - ec_word BE - ec_word DESTROYED - ec_word EXCL + .2byte EC_WORD_GET + .2byte EC_WORD_READY + .2byte EC_WORD_TO + .2byte EC_WORD_BE + .2byte EC_WORD_DESTROYED + .2byte EC_WORD_EXCL @ win speech - ec_word HAHAHA - ec_word EXCL_EXCL + .2byte EC_WORD_HAHAHA + .2byte EC_WORD_EXCL_EXCL .2byte -1 - ec_word I_AM - ec_word LOLLING - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_LOLLING + .2byte EC_WORD_EXCL @ loss speech - ec_word I_AM - ec_word FEELING - ec_word SAD - ec_word THANKS - ec_word TO - ec_word YOU + .2byte EC_WORD_I_AM + .2byte EC_WORD_FEELING + .2byte EC_WORD_SAD + .2byte EC_WORD_THANKS + .2byte EC_WORD_TO + .2byte EC_WORD_YOU .4byte gBattleFrontierTrainerMons_Peggy @ 6 - .4byte TRAINER_CLASS_SCHOOL_KID_1 + .4byte FACILITY_CLASS_SCHOOL_KID_1 .string "KEITH$", 8 @ pre-battle speech - ec_word I - ec_word DON_T - ec_word JUST - ec_word STUDY - ec_word YOU - ec_word KNOW + .2byte EC_WORD_I + .2byte EC_WORD_DON_T + .2byte EC_WORD_JUST + .2byte EC_WORD_STUDY + .2byte EC_WORD_YOU + .2byte EC_WORD_KNOW @ win speech - ec_word YOU - ec_word DON_T - ec_word STUDY - ec_word ENOUGH - ec_word ELLIPSIS + .2byte EC_WORD_YOU + .2byte EC_WORD_DON_T + .2byte EC_WORD_STUDY + .2byte EC_WORD_ENOUGH + .2byte EC_WORD_ELLIPSIS .2byte -1 @ loss speech - ec_word I - ec_word NEED - ec_word TO - ec_word STUDY - ec_word MORE - ec_word ELLIPSIS + .2byte EC_WORD_I + .2byte EC_WORD_NEED + .2byte EC_WORD_TO + .2byte EC_WORD_STUDY + .2byte EC_WORD_MORE + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Keith @ 7 - .4byte TRAINER_CLASS_SCHOOL_KID_1 + .4byte FACILITY_CLASS_SCHOOL_KID_1 .string "GRAYSON$", 8 @ pre-battle speech - ec_word A - ec_word POKEMON - ec_word BATTLE - ec_word ISN_T - ec_word CHILD_S_PLAY - ec_word EXCL + .2byte EC_WORD_A + .2byte EC_WORD_POKEMON + .2byte EC_WORD_BATTLE + .2byte EC_WORD_ISN_T + .2byte EC_WORD_CHILD_S_PLAY + .2byte EC_WORD_EXCL @ win speech - ec_word YOU_RE - ec_word DONE - ec_word AREN_T - ec_word YOU - ec_word QUES + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_DONE + .2byte EC_WORD_AREN_T + .2byte EC_WORD_YOU + .2byte EC_WORD_QUES .2byte -1 @ loss speech - ec_word WE - ec_word WERE - ec_word LIKE - ec_word TOYS - ec_word TO - ec_word YOU + .2byte EC_WORD_WE + .2byte EC_WORD_WERE + .2byte EC_WORD_LIKE + .2byte EC_WORD_TOYS + .2byte EC_WORD_TO + .2byte EC_WORD_YOU .4byte gBattleFrontierTrainerMons_Grayson @ 8 - .4byte TRAINER_CLASS_SCHOOL_KID_1 + .4byte FACILITY_CLASS_SCHOOL_KID_1 .string "GLENN$", 8 @ pre-battle speech - ec_word I - ec_word WOULD - ec_word BE - ec_word COOL - ec_word IF_I_WIN + .2byte EC_WORD_I + .2byte EC_WORD_WOULD + .2byte EC_WORD_BE + .2byte EC_WORD_COOL + .2byte EC_WORD_IF_I_WIN .2byte -1 @ win speech - ec_word COOL - ec_word EXCL + .2byte EC_WORD_COOL + .2byte EC_WORD_EXCL .2byte -1 - ec_word THAT_S - ec_word WHAT - ec_word I_AM + .2byte EC_WORD_THAT_S + .2byte EC_WORD_WHAT + .2byte EC_WORD_I_AM @ loss speech - ec_word I_AM - ec_word NOT - ec_word GOING - ec_word TO - ec_word BE - ec_word COOL + .2byte EC_WORD_I_AM + .2byte EC_WORD_NOT + .2byte EC_WORD_GOING + .2byte EC_WORD_TO + .2byte EC_WORD_BE + .2byte EC_WORD_COOL .4byte gBattleFrontierTrainerMons_Glenn @ 9 - .4byte TRAINER_CLASS_SCHOOL_KID_2 + .4byte FACILITY_CLASS_SCHOOL_KID_2 .string "LILIANA$", 8 @ pre-battle speech - ec_word I - ec_word WON_T - ec_word GIVE_UP - ec_word UNTIL - ec_word I - ec_word WIN + .2byte EC_WORD_I + .2byte EC_WORD_WON_T + .2byte EC_WORD_GIVE_UP + .2byte EC_WORD_UNTIL + .2byte EC_WORD_I + .2byte EC_WORD_WIN @ win speech - ec_word THERE - ec_word IS - ec_word NO - ec_word SURRENDER - ec_word IN - ec_word ME + .2byte EC_WORD_THERE + .2byte EC_WORD_IS + .2byte EC_WORD_NO + .2byte EC_WORD_SURRENDER + .2byte EC_WORD_IN + .2byte EC_WORD_ME @ loss speech - ec_word THAT_S - ec_word IT - ec_word ELLIPSIS - ec_word I - ec_word GIVE_UP - ec_word ELLIPSIS + .2byte EC_WORD_THAT_S + .2byte EC_WORD_IT + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_I + .2byte EC_WORD_GIVE_UP + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Liliana @ 10 - .4byte TRAINER_CLASS_SCHOOL_KID_2 + .4byte FACILITY_CLASS_SCHOOL_KID_2 .string "ELISE$", 8 @ pre-battle speech - ec_word MY - ec_word STRATEGY - ec_word IS - ec_word FROM - ec_word MY - ec_word FATHER + .2byte EC_WORD_MY + .2byte EC_WORD_STRATEGY + .2byte EC_WORD_IS + .2byte EC_WORD_FROM + .2byte EC_WORD_MY + .2byte EC_WORD_FATHER @ win speech - ec_word I - ec_word WIN - ec_word EXCL - ec_word FATHER - ec_word I_VE - ec_word WON + .2byte EC_WORD_I + .2byte EC_WORD_WIN + .2byte EC_WORD_EXCL + .2byte EC_WORD_FATHER + .2byte EC_WORD_I_VE + .2byte EC_WORD_WON @ loss speech - ec_word FORGIVE - ec_word ME - ec_word FATHER - ec_word FOR - ec_word I_VE - ec_word LOST + .2byte EC_WORD_FORGIVE + .2byte EC_WORD_ME + .2byte EC_WORD_FATHER + .2byte EC_WORD_FOR + .2byte EC_WORD_I_VE + .2byte EC_WORD_LOST .4byte gBattleFrontierTrainerMons_Elise @ 11 - .4byte TRAINER_CLASS_SCHOOL_KID_2 + .4byte FACILITY_CLASS_SCHOOL_KID_2 .string "ZOEY$", 8 @ pre-battle speech - ec_word PLEASE - ec_word BATTLE - ec_word LIKE - ec_word YOU - ec_word MEAN - ec_word IT + .2byte EC_WORD_PLEASE + .2byte EC_WORD_BATTLE + .2byte EC_WORD_LIKE + .2byte EC_WORD_YOU + .2byte EC_WORD_MEAN + .2byte EC_WORD_IT @ win speech - ec_word THANK_YOU - ec_word EXCL_EXCL + .2byte EC_WORD_THANK_YOU + .2byte EC_WORD_EXCL_EXCL .2byte -1 - ec_word THANK_YOU - ec_word SO - ec_word MUCH + .2byte EC_WORD_THANK_YOU + .2byte EC_WORD_SO + .2byte EC_WORD_MUCH @ loss speech - ec_word WERE - ec_word YOU - ec_word REALLY - ec_word BEING - ec_word SERIOUS - ec_word QUES + .2byte EC_WORD_WERE + .2byte EC_WORD_YOU + .2byte EC_WORD_REALLY + .2byte EC_WORD_BEING + .2byte EC_WORD_SERIOUS + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Zoey @ 12 - .4byte TRAINER_CLASS_RICH_BOY + .4byte FACILITY_CLASS_RICH_BOY .string "MANUEL$", 8 @ pre-battle speech - ec_word ME - ec_word LOSE - ec_word QUES - ec_word THAT_S - ec_word PREPOSTEROUS - ec_word EXCL + .2byte EC_WORD_ME + .2byte EC_WORD_LOSE + .2byte EC_WORD_QUES + .2byte EC_WORD_THAT_S + .2byte EC_WORD_PREPOSTEROUS + .2byte EC_WORD_EXCL @ win speech - ec_word NATURALLY - ec_word I - ec_word WIN + .2byte EC_WORD_NATURALLY + .2byte EC_WORD_I + .2byte EC_WORD_WIN .2byte -1 .2byte -1 .2byte -1 @ loss speech - ec_word WAAAH - ec_word EXCL + .2byte EC_WORD_WAAAH + .2byte EC_WORD_EXCL .2byte -1 - ec_word I - ec_word LOST - ec_word MOTHER + .2byte EC_WORD_I + .2byte EC_WORD_LOST + .2byte EC_WORD_MOTHER .4byte gBattleFrontierTrainerMons_Manuel @ 13 - .4byte TRAINER_CLASS_RICH_BOY + .4byte FACILITY_CLASS_RICH_BOY .string "RUSS$", 8 @ pre-battle speech - ec_word THEY - ec_word ALL - ec_word WANT - ec_word MY - ec_word FABULOUS - ec_word POKEMON + .2byte EC_WORD_THEY + .2byte EC_WORD_ALL + .2byte EC_WORD_WANT + .2byte EC_WORD_MY + .2byte EC_WORD_FABULOUS + .2byte EC_WORD_POKEMON @ win speech - ec_word I - ec_word WILL - ec_word HAVE - ec_word A - ec_word POKEMON - ec_word PARTY + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_WORD_HAVE + .2byte EC_WORD_A + .2byte EC_WORD_POKEMON + .2byte EC_WORD_PARTY @ loss speech - ec_word HOW - ec_word COULD - ec_word YOU - ec_word DO - ec_word THAT - ec_word QUES + .2byte EC_WORD_HOW + .2byte EC_WORD_COULD + .2byte EC_WORD_YOU + .2byte EC_WORD_DO + .2byte EC_WORD_THAT + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Russ @ 14 - .4byte TRAINER_CLASS_RICH_BOY + .4byte FACILITY_CLASS_RICH_BOY .string "DUSTIN$", 8 @ pre-battle speech - ec_word I - ec_word REALLY - ec_word LIKE - ec_word COOL - ec_word POKEMON + .2byte EC_WORD_I + .2byte EC_WORD_REALLY + .2byte EC_WORD_LIKE + .2byte EC_WORD_COOL + .2byte EC_WORD_POKEMON .2byte -1 @ win speech - ec_word I - ec_word LIKE - ec_word MYSELF - ec_word WHEN_I_WIN - ec_word EXCL + .2byte EC_WORD_I + .2byte EC_WORD_LIKE + .2byte EC_WORD_MYSELF + .2byte EC_WORD_WHEN_I_WIN + .2byte EC_WORD_EXCL .2byte -1 @ loss speech - ec_word I - ec_word LIKE - ec_word MYSELF - ec_word IF_I_LOSE - ec_word TOO + .2byte EC_WORD_I + .2byte EC_WORD_LIKE + .2byte EC_WORD_MYSELF + .2byte EC_WORD_IF_I_LOSE + .2byte EC_WORD_TOO .2byte -1 .4byte gBattleFrontierTrainerMons_Dustin @ 15 - .4byte TRAINER_CLASS_LADY + .4byte FACILITY_CLASS_LADY .string "TINA$", 8 @ pre-battle speech - ec_word IF_I_WIN - ec_word YOU - ec_word CAN - ec_word HAVE - ec_word A - ec_move2 SWEET_KISS + .2byte EC_WORD_IF_I_WIN + .2byte EC_WORD_YOU + .2byte EC_WORD_CAN + .2byte EC_WORD_HAVE + .2byte EC_WORD_A + .2byte EC_MOVE2(SWEET_KISS) @ win speech - ec_word HERE_IT_IS - ec_word YOUR - ec_move2 SWEET_KISS - ec_word FROM - ec_word MY - ec_pokemon2 JYNX + .2byte EC_WORD_HERE_IT_IS + .2byte EC_WORD_YOUR + .2byte EC_MOVE2(SWEET_KISS) + .2byte EC_WORD_FROM + .2byte EC_WORD_MY + .2byte EC_POKEMON2(JYNX) @ loss speech - ec_word YOU - ec_word WANT - ec_word A - ec_move1 SWIFT - ec_move2 MEGA_KICK - ec_word INSTEAD + .2byte EC_WORD_YOU + .2byte EC_WORD_WANT + .2byte EC_WORD_A + .2byte EC_MOVE(SWIFT) + .2byte EC_MOVE2(MEGA_KICK) + .2byte EC_WORD_INSTEAD .4byte gBattleFrontierTrainerMons_Tina @ 16 - .4byte TRAINER_CLASS_LADY + .4byte FACILITY_CLASS_LADY .string "GILLIAN$", 8 @ pre-battle speech - ec_word THE - ec_word GOURMET - ec_word THING - ec_word IS - ec_word SO - ec_word YESTERDAY + .2byte EC_WORD_THE + .2byte EC_WORD_GOURMET + .2byte EC_WORD_THING + .2byte EC_WORD_IS + .2byte EC_WORD_SO + .2byte EC_WORD_YESTERDAY @ win speech - ec_word POKEMON - ec_word NEVER - ec_word GO - ec_word OUT - ec_word OF - ec_word FASHION + .2byte EC_WORD_POKEMON + .2byte EC_WORD_NEVER + .2byte EC_WORD_GO + .2byte EC_WORD_OUT + .2byte EC_WORD_OF + .2byte EC_WORD_FASHION @ loss speech - ec_word LOSING - ec_word DOESN_T - ec_word DISAPPOINT - ec_word ME + .2byte EC_WORD_LOSING + .2byte EC_WORD_DOESN_T + .2byte EC_WORD_DISAPPOINT + .2byte EC_WORD_ME .2byte -1 .2byte -1 .4byte gBattleFrontierTrainerMons_Gillian @ 17 - .4byte TRAINER_CLASS_LADY + .4byte FACILITY_CLASS_LADY .string "ZOE$", 8 @ pre-battle speech - ec_word I - ec_word HAVEN_T - ec_word A - ec_word WORRY - ec_word AT - ec_word ALL + .2byte EC_WORD_I + .2byte EC_WORD_HAVEN_T + .2byte EC_WORD_A + .2byte EC_WORD_WORRY + .2byte EC_WORD_AT + .2byte EC_WORD_ALL @ win speech - ec_word LIFE - ec_word IS - ec_word ALWAYS - ec_word GOOD - ec_word TO_ME + .2byte EC_WORD_LIFE + .2byte EC_WORD_IS + .2byte EC_WORD_ALWAYS + .2byte EC_WORD_GOOD + .2byte EC_WORD_TO_ME .2byte -1 @ loss speech - ec_word I - ec_word WORRY - ec_word ABOUT - ec_word MY - ec_word POKEMON - ec_word SKILL + .2byte EC_WORD_I + .2byte EC_WORD_WORRY + .2byte EC_WORD_ABOUT + .2byte EC_WORD_MY + .2byte EC_WORD_POKEMON + .2byte EC_WORD_SKILL .4byte gBattleFrontierTrainerMons_Zoe @ 18 - .4byte TRAINER_CLASS_CAMPER + .4byte FACILITY_CLASS_CAMPER .string "CHEN$", 8 @ pre-battle speech - ec_word I_AM - ec_word TOTALLY - ec_word READY - ec_word TO - ec_word ROCK - ec_word TODAY + .2byte EC_WORD_I_AM + .2byte EC_WORD_TOTALLY + .2byte EC_WORD_READY + .2byte EC_WORD_TO + .2byte EC_WORD_ROCK + .2byte EC_WORD_TODAY @ win speech - ec_word I_AM - ec_word READY - ec_word TO - ec_word GO - ec_word ON - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_READY + .2byte EC_WORD_TO + .2byte EC_WORD_GO + .2byte EC_WORD_ON + .2byte EC_WORD_EXCL @ loss speech - ec_word I_VE - ec_word LOST - ec_word MY - ec_move1 FOCUS_ENERGY - ec_word AND - ec_word TOUGHNESS + .2byte EC_WORD_I_VE + .2byte EC_WORD_LOST + .2byte EC_WORD_MY + .2byte EC_MOVE(FOCUS_ENERGY) + .2byte EC_WORD_AND + .2byte EC_WORD_TOUGHNESS .4byte gBattleFrontierTrainerMons_Chen @ 19 - .4byte TRAINER_CLASS_CAMPER + .4byte FACILITY_CLASS_CAMPER .string "AL$", 8 @ pre-battle speech - ec_word YOUR - ec_word LOOK - ec_word SAYS - ec_word YOU_RE - ec_word REALLY - ec_word TOUGH + .2byte EC_WORD_YOUR + .2byte EC_WORD_LOOK + .2byte EC_WORD_SAYS + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_REALLY + .2byte EC_WORD_TOUGH @ win speech - ec_word IT_S - ec_word ME - ec_word WHO_IS - ec_word REALLY - ec_word TOUGH + .2byte EC_WORD_IT_S + .2byte EC_WORD_ME + .2byte EC_WORD_WHO_IS + .2byte EC_WORD_REALLY + .2byte EC_WORD_TOUGH .2byte -1 @ loss speech - ec_word I_AM - ec_word RIGHT - ec_word EXCL - ec_word YOU_RE - ec_word REALLY - ec_word TOUGH + .2byte EC_WORD_I_AM + .2byte EC_WORD_RIGHT + .2byte EC_WORD_EXCL + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_REALLY + .2byte EC_WORD_TOUGH .4byte gBattleFrontierTrainerMons_Al @ 20 - .4byte TRAINER_CLASS_CAMPER + .4byte FACILITY_CLASS_CAMPER .string "MITCH$", 8 @ pre-battle speech - ec_word MOTHER - ec_word NATURE - ec_word IS - ec_word MY - ec_word ALLY - ec_word EXCL + .2byte EC_WORD_MOTHER + .2byte EC_WORD_NATURE + .2byte EC_WORD_IS + .2byte EC_WORD_MY + .2byte EC_WORD_ALLY + .2byte EC_WORD_EXCL @ win speech - ec_word WAS - ec_word THAT - ec_word ENOUGH - ec_word FOR - ec_word YOU - ec_word QUES + .2byte EC_WORD_WAS + .2byte EC_WORD_THAT + .2byte EC_WORD_ENOUGH + .2byte EC_WORD_FOR + .2byte EC_WORD_YOU + .2byte EC_WORD_QUES @ loss speech - ec_word MOTHER - ec_word NATURE - ec_word DIDN_T - ec_word LET_ME_WIN - ec_word QUES + .2byte EC_WORD_MOTHER + .2byte EC_WORD_NATURE + .2byte EC_WORD_DIDN_T + .2byte EC_WORD_LET_ME_WIN + .2byte EC_WORD_QUES .2byte -1 .4byte gBattleFrontierTrainerMons_Mitch @ 21 - .4byte TRAINER_CLASS_PICNICKER + .4byte FACILITY_CLASS_PICNICKER .string "ANNE$", 8 @ pre-battle speech - ec_word I - ec_word CAN_T - ec_word WAIT - ec_word LET_S - ec_word BATTLE - ec_word NOW + .2byte EC_WORD_I + .2byte EC_WORD_CAN_T + .2byte EC_WORD_WAIT + .2byte EC_WORD_LET_S + .2byte EC_WORD_BATTLE + .2byte EC_WORD_NOW @ win speech - ec_word MY - ec_word HAPPINESS - ec_word IS - ec_word OVERWHELMING - ec_word EXCL + .2byte EC_WORD_MY + .2byte EC_WORD_HAPPINESS + .2byte EC_WORD_IS + .2byte EC_WORD_OVERWHELMING + .2byte EC_WORD_EXCL .2byte -1 @ loss speech - ec_word YOU_VE - ec_word DESTROYED - ec_word MY - ec_word HAPPINESS - ec_word ELLIPSIS + .2byte EC_WORD_YOU_VE + .2byte EC_WORD_DESTROYED + .2byte EC_WORD_MY + .2byte EC_WORD_HAPPINESS + .2byte EC_WORD_ELLIPSIS .2byte -1 .4byte gBattleFrontierTrainerMons_Anne @ 22 - .4byte TRAINER_CLASS_PICNICKER + .4byte FACILITY_CLASS_PICNICKER .string "ALIZE$", 8 @ pre-battle speech - ec_word CUTE - ec_word AND - ec_word AWFULLY - ec_word STRONG - ec_word THAT_S - ec_word ME + .2byte EC_WORD_CUTE + .2byte EC_WORD_AND + .2byte EC_WORD_AWFULLY + .2byte EC_WORD_STRONG + .2byte EC_WORD_THAT_S + .2byte EC_WORD_ME @ win speech - ec_word YUP - ec_word I_AM - ec_word CUTE - ec_word AND - ec_word AWFULLY - ec_word STRONG + .2byte EC_WORD_YUP + .2byte EC_WORD_I_AM + .2byte EC_WORD_CUTE + .2byte EC_WORD_AND + .2byte EC_WORD_AWFULLY + .2byte EC_WORD_STRONG @ loss speech - ec_word I_AM - ec_word WEAK - ec_word ELLIPSIS - ec_word BUT - ec_word I_AM - ec_word CUTE + .2byte EC_WORD_I_AM + .2byte EC_WORD_WEAK + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_BUT + .2byte EC_WORD_I_AM + .2byte EC_WORD_CUTE .4byte gBattleFrontierTrainerMons_Alize @ 23 - .4byte TRAINER_CLASS_PICNICKER + .4byte FACILITY_CLASS_PICNICKER .string "LAUREN$", 8 @ pre-battle speech - ec_word I_AM - ec_word OLD - ec_word BUT - ec_word I_AM - ec_word ALSO - ec_word GOOD + .2byte EC_WORD_I_AM + .2byte EC_WORD_OLD + .2byte EC_WORD_BUT + .2byte EC_WORD_I_AM + .2byte EC_WORD_ALSO + .2byte EC_WORD_GOOD @ win speech - ec_word I - ec_word SAID - ec_word I_WAS - ec_word OLD - ec_word BUT - ec_word GOOD + .2byte EC_WORD_I + .2byte EC_WORD_SAID + .2byte EC_WORD_I_WAS + .2byte EC_WORD_OLD + .2byte EC_WORD_BUT + .2byte EC_WORD_GOOD @ loss speech - ec_word WHAT - ec_word A - ec_word WEIRD - ec_word DREAM - ec_word THAT_WAS - ec_word EXCL + .2byte EC_WORD_WHAT + .2byte EC_WORD_A + .2byte EC_WORD_WEIRD + .2byte EC_WORD_DREAM + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Lauren @ 24 - .4byte TRAINER_CLASS_TUBER_2 + .4byte FACILITY_CLASS_TUBER_2 .string "KIPP$", 8 @ pre-battle speech - ec_word IF_I_WIN - ec_word I_AM - ec_word GOING - ec_word TO - ec_word GO - ec_move2 SURF + .2byte EC_WORD_IF_I_WIN + .2byte EC_WORD_I_AM + .2byte EC_WORD_GOING + .2byte EC_WORD_TO + .2byte EC_WORD_GO + .2byte EC_MOVE2(SURF) @ win speech - ec_word YEAH - ec_word EXCL - ec_word I_AM - ec_word OFF - ec_word TO - ec_move2 SURF + .2byte EC_WORD_YEAH + .2byte EC_WORD_EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_OFF + .2byte EC_WORD_TO + .2byte EC_MOVE2(SURF) @ loss speech - ec_word OH - ec_word NO - ec_word EXCL - ec_word A - ec_move1 WHIRLPOOL - ec_word EXCL + .2byte EC_WORD_OH + .2byte EC_WORD_NO + .2byte EC_WORD_EXCL + .2byte EC_WORD_A + .2byte EC_MOVE(WHIRLPOOL) + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Kipp @ 25 - .4byte TRAINER_CLASS_TUBER_2 + .4byte FACILITY_CLASS_TUBER_2 .string "JASON$", 8 @ pre-battle speech - ec_word TEACH - ec_word ME - ec_word A - ec_word GOOD - ec_word STRATEGY + .2byte EC_WORD_TEACH + .2byte EC_WORD_ME + .2byte EC_WORD_A + .2byte EC_WORD_GOOD + .2byte EC_WORD_STRATEGY .2byte -1 @ win speech - ec_word THAT_WAS - ec_word YOUR - ec_word GOOD - ec_word STRATEGY - ec_word QUES_EXCL + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_YOUR + .2byte EC_WORD_GOOD + .2byte EC_WORD_STRATEGY + .2byte EC_WORD_QUES_EXCL .2byte -1 @ loss speech - ec_word WOW - ec_word THAT - ec_word IS - ec_word AN - ec_word AWESOME - ec_word STRATEGY + .2byte EC_WORD_WOW + .2byte EC_WORD_THAT + .2byte EC_WORD_IS + .2byte EC_WORD_AN + .2byte EC_WORD_AWESOME + .2byte EC_WORD_STRATEGY .4byte gBattleFrontierTrainerMons_Jason @ 26 - .4byte TRAINER_CLASS_TUBER_2 + .4byte FACILITY_CLASS_TUBER_2 .string "JOHN$", 8 @ pre-battle speech - ec_word I_AM - ec_word A - ec_word PRETTY - ec_word NEW - ec_word TRAINER + .2byte EC_WORD_I_AM + .2byte EC_WORD_A + .2byte EC_WORD_PRETTY + .2byte EC_WORD_NEW + .2byte EC_WORD_TRAINER .2byte -1 @ win speech - ec_word I_AM - ec_word NEW - ec_word BUT - ec_word I - ec_word WON - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_NEW + .2byte EC_WORD_BUT + .2byte EC_WORD_I + .2byte EC_WORD_WON + .2byte EC_WORD_EXCL @ loss speech - ec_word I_AM - ec_word NEW - ec_word SO - ec_word WHAT - ec_word IF_I_LOSE - ec_word QUES + .2byte EC_WORD_I_AM + .2byte EC_WORD_NEW + .2byte EC_WORD_SO + .2byte EC_WORD_WHAT + .2byte EC_WORD_IF_I_LOSE + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_John @ 27 - .4byte TRAINER_CLASS_TUBER_1 + .4byte FACILITY_CLASS_TUBER_1 .string "ANN$", 8 @ pre-battle speech - ec_word IT_S - ec_word SO - ec_word EXCITING - ec_word IT - ec_word REALLY - ec_word IS + .2byte EC_WORD_IT_S + .2byte EC_WORD_SO + .2byte EC_WORD_EXCITING + .2byte EC_WORD_IT + .2byte EC_WORD_REALLY + .2byte EC_WORD_IS @ win speech - ec_word I_AM - ec_word SO - ec_word HAPPY - ec_word I - ec_word CAN - ec_word CRY + .2byte EC_WORD_I_AM + .2byte EC_WORD_SO + .2byte EC_WORD_HAPPY + .2byte EC_WORD_I + .2byte EC_WORD_CAN + .2byte EC_WORD_CRY @ loss speech - ec_word I_AM - ec_word SO - ec_word SAD - ec_word I - ec_word WILL - ec_word CRY + .2byte EC_WORD_I_AM + .2byte EC_WORD_SO + .2byte EC_WORD_SAD + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_WORD_CRY .4byte gBattleFrontierTrainerMons_Ann @ 28 - .4byte TRAINER_CLASS_TUBER_1 + .4byte FACILITY_CLASS_TUBER_1 .string "EILEEN$", 8 @ pre-battle speech - ec_word LET_S - ec_word PRETEND - ec_word I_AM - ec_word AN - ec_word ADULT - ec_word OK_QUES + .2byte EC_WORD_LET_S + .2byte EC_WORD_PRETEND + .2byte EC_WORD_I_AM + .2byte EC_WORD_AN + .2byte EC_WORD_ADULT + .2byte EC_WORD_OK_QUES @ win speech - ec_word SO - ec_word THIS - ec_word IS - ec_word AN - ec_word ADULT - ec_word FEELING + .2byte EC_WORD_SO + .2byte EC_WORD_THIS + .2byte EC_WORD_IS + .2byte EC_WORD_AN + .2byte EC_WORD_ADULT + .2byte EC_WORD_FEELING @ loss speech - ec_word AN - ec_word ADULT - ec_word CAN_T - ec_word BEAT - ec_word YOU - ec_word QUES + .2byte EC_WORD_AN + .2byte EC_WORD_ADULT + .2byte EC_WORD_CAN_T + .2byte EC_WORD_BEAT + .2byte EC_WORD_YOU + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Eileen @ 29 - .4byte TRAINER_CLASS_TUBER_1 + .4byte FACILITY_CLASS_TUBER_1 .string "CARLIE$", 8 @ pre-battle speech - ec_word MY - ec_word SUMMER - ec_word VACATION - ec_word IS - ec_word FOR - ec_word POKEMON + .2byte EC_WORD_MY + .2byte EC_WORD_SUMMER + .2byte EC_WORD_VACATION + .2byte EC_WORD_IS + .2byte EC_WORD_FOR + .2byte EC_WORD_POKEMON @ win speech - ec_word MY - ec_word SUMMER - ec_word VACATION - ec_word WILL - ec_word BE - ec_word AWESOME + .2byte EC_WORD_MY + .2byte EC_WORD_SUMMER + .2byte EC_WORD_VACATION + .2byte EC_WORD_WILL + .2byte EC_WORD_BE + .2byte EC_WORD_AWESOME @ loss speech - ec_word I - ec_word CAN_T_WIN - ec_word LIKE - ec_word THIS - ec_word ELLIPSIS + .2byte EC_WORD_I + .2byte EC_WORD_CAN_T_WIN + .2byte EC_WORD_LIKE + .2byte EC_WORD_THIS + .2byte EC_WORD_ELLIPSIS .2byte -1 .4byte gBattleFrontierTrainerMons_Carlie @ 30 - .4byte TRAINER_CLASS_SWIMMER_M + .4byte FACILITY_CLASS_SWIMMER_M .string "GORDON$", 8 @ pre-battle speech - ec_word VICTORY - ec_word WILL - ec_word COME - ec_word TO_ME - ec_word EXCL + .2byte EC_WORD_VICTORY + .2byte EC_WORD_WILL + .2byte EC_WORD_COME + .2byte EC_WORD_TO_ME + .2byte EC_WORD_EXCL .2byte -1 @ win speech - ec_word OH_YEAH - ec_word EXCL + .2byte EC_WORD_OH_YEAH + .2byte EC_WORD_EXCL .2byte -1 - ec_word I - ec_word REALLY - ec_word WON + .2byte EC_WORD_I + .2byte EC_WORD_REALLY + .2byte EC_WORD_WON @ loss speech - ec_word NOTHING - ec_word IS - ec_word WORKING - ec_word OUT - ec_word FOR - ec_word ME + .2byte EC_WORD_NOTHING + .2byte EC_WORD_IS + .2byte EC_WORD_WORKING + .2byte EC_WORD_OUT + .2byte EC_WORD_FOR + .2byte EC_WORD_ME .4byte gBattleFrontierTrainerMons_Gordon @ 31 - .4byte TRAINER_CLASS_SWIMMER_M + .4byte FACILITY_CLASS_SWIMMER_M .string "AYDEN$", 8 @ pre-battle speech - ec_word COME_ON - ec_word I - ec_word NEED - ec_word A - ec_word HOT - ec_word BATTLE + .2byte EC_WORD_COME_ON + .2byte EC_WORD_I + .2byte EC_WORD_NEED + .2byte EC_WORD_A + .2byte EC_WORD_HOT + .2byte EC_WORD_BATTLE @ win speech - ec_word I - ec_word NEED - ec_word WATER - ec_word TO - ec_word COOL - ec_word DOWN + .2byte EC_WORD_I + .2byte EC_WORD_NEED + .2byte EC_WORD_WATER + .2byte EC_WORD_TO + .2byte EC_WORD_COOL + .2byte EC_WORD_DOWN @ loss speech - ec_word YOU - ec_word HAVE - ec_word ME - ec_word FEELING - ec_word ICE - ec_word COLD + .2byte EC_WORD_YOU + .2byte EC_WORD_HAVE + .2byte EC_WORD_ME + .2byte EC_WORD_FEELING + .2byte EC_WORD_ICE + .2byte EC_WORD_COLD .4byte gBattleFrontierTrainerMons_Ayden @ 32 - .4byte TRAINER_CLASS_SWIMMER_M + .4byte FACILITY_CLASS_SWIMMER_M .string "MARCO$", 8 @ pre-battle speech - ec_word I - ec_move2 SURF - ec_word IN - ec_word THE - ec_word WINTER - ec_word TOO + .2byte EC_WORD_I + .2byte EC_MOVE2(SURF) + .2byte EC_WORD_IN + .2byte EC_WORD_THE + .2byte EC_WORD_WINTER + .2byte EC_WORD_TOO @ win speech - ec_word I - ec_word WILL - ec_word GO - ec_move2 SURF - ec_word RIGHT - ec_word NOW + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_WORD_GO + .2byte EC_MOVE2(SURF) + .2byte EC_WORD_RIGHT + .2byte EC_WORD_NOW @ loss speech - ec_word I - ec_word WILL - ec_move2 BEAT_UP - ec_word MY - ec_move2 SURF - ec_word BOARD + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_MOVE2(BEAT_UP) + .2byte EC_WORD_MY + .2byte EC_MOVE2(SURF) + .2byte EC_WORD_BOARD .4byte gBattleFrontierTrainerMons_Marco @ 33 - .4byte TRAINER_CLASS_SWIMMER_F + .4byte FACILITY_CLASS_SWIMMER_F .string "CIERRA$", 8 @ pre-battle speech - ec_word I - ec_word LIKE - ec_word TO - ec_word SYNCHRONIZE - ec_word MY - ec_word SWIFT_SWIM + .2byte EC_WORD_I + .2byte EC_WORD_LIKE + .2byte EC_WORD_TO + .2byte EC_WORD_SYNCHRONIZE + .2byte EC_WORD_MY + .2byte EC_WORD_SWIFT_SWIM @ win speech - ec_word MY - ec_word POKEMON - ec_word SYNCHRONIZE - ec_word WITH - ec_word ME + .2byte EC_WORD_MY + .2byte EC_WORD_POKEMON + .2byte EC_WORD_SYNCHRONIZE + .2byte EC_WORD_WITH + .2byte EC_WORD_ME .2byte -1 @ loss speech - ec_word I - ec_word NEED - ec_word TO - ec_word SYNCHRONIZE - ec_word BETTER - ec_word ELLIPSIS + .2byte EC_WORD_I + .2byte EC_WORD_NEED + .2byte EC_WORD_TO + .2byte EC_WORD_SYNCHRONIZE + .2byte EC_WORD_BETTER + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Cierra @ 34 - .4byte TRAINER_CLASS_SWIMMER_F + .4byte FACILITY_CLASS_SWIMMER_F .string "MARCY$", 8 @ pre-battle speech - ec_word I_AM - ec_word A - ec_word KNOCKOUT - ec_word YOU - ec_word CAN_T_WIN - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_A + .2byte EC_WORD_KNOCKOUT + .2byte EC_WORD_YOU + .2byte EC_WORD_CAN_T_WIN + .2byte EC_WORD_EXCL @ win speech - ec_word AFTER - ec_word ALL - ec_word I_AM - ec_word A - ec_word KNOCKOUT - ec_word EXCL + .2byte EC_WORD_AFTER + .2byte EC_WORD_ALL + .2byte EC_WORD_I_AM + .2byte EC_WORD_A + .2byte EC_WORD_KNOCKOUT + .2byte EC_WORD_EXCL @ loss speech - ec_word THAT_S - ec_word NOT - ec_word THE - ec_word KNOCKOUT - ec_word I - ec_word MEAN + .2byte EC_WORD_THAT_S + .2byte EC_WORD_NOT + .2byte EC_WORD_THE + .2byte EC_WORD_KNOCKOUT + .2byte EC_WORD_I + .2byte EC_WORD_MEAN .4byte gBattleFrontierTrainerMons_Marcy @ 35 - .4byte TRAINER_CLASS_SWIMMER_F + .4byte FACILITY_CLASS_SWIMMER_F .string "KATHY$", 8 @ pre-battle speech - ec_word I_VE - ec_word WON - ec_word EVERY - ec_word MATCH - ec_word TODAY - ec_word EXCL + .2byte EC_WORD_I_VE + .2byte EC_WORD_WON + .2byte EC_WORD_EVERY + .2byte EC_WORD_MATCH + .2byte EC_WORD_TODAY + .2byte EC_WORD_EXCL @ win speech - ec_word IT_S - ec_word SO - ec_word GREAT - ec_word TO - ec_word WIN - ec_word EXCL + .2byte EC_WORD_IT_S + .2byte EC_WORD_SO + .2byte EC_WORD_GREAT + .2byte EC_WORD_TO + .2byte EC_WORD_WIN + .2byte EC_WORD_EXCL @ loss speech - ec_word HUH_QUES - ec_word I - ec_word SHOULD - ec_word NOT - ec_word HAVE - ec_word LOST + .2byte EC_WORD_HUH_QUES + .2byte EC_WORD_I + .2byte EC_WORD_SHOULD + .2byte EC_WORD_NOT + .2byte EC_WORD_HAVE + .2byte EC_WORD_LOST .4byte gBattleFrontierTrainerMons_Kathy @ 36 - .4byte TRAINER_CLASS_POKEFAN_1 + .4byte FACILITY_CLASS_POKEFAN_1 .string "PEYTON$", 8 @ pre-battle speech - ec_word I_AM - ec_word NEVER - ec_word DISAPPOINTED - ec_word WITH - ec_word MY - ec_word POKEMON + .2byte EC_WORD_I_AM + .2byte EC_WORD_NEVER + .2byte EC_WORD_DISAPPOINTED + .2byte EC_WORD_WITH + .2byte EC_WORD_MY + .2byte EC_WORD_POKEMON @ win speech - ec_word I_AM - ec_word HAPPY - ec_word IF - ec_word WE - ec_word WIN - ec_word TOGETHER + .2byte EC_WORD_I_AM + .2byte EC_WORD_HAPPY + .2byte EC_WORD_IF + .2byte EC_WORD_WE + .2byte EC_WORD_WIN + .2byte EC_WORD_TOGETHER @ loss speech - ec_word I - ec_word ADORE - ec_word MY - ec_word POKEMON - ec_word MORE - ec_word IF_I_LOSE + .2byte EC_WORD_I + .2byte EC_WORD_ADORE + .2byte EC_WORD_MY + .2byte EC_WORD_POKEMON + .2byte EC_WORD_MORE + .2byte EC_WORD_IF_I_LOSE .4byte gBattleFrontierTrainerMons_Peyton @ 37 - .4byte TRAINER_CLASS_POKEFAN_1 + .4byte FACILITY_CLASS_POKEFAN_1 .string "JULIAN$", 8 @ pre-battle speech - ec_word YOU - ec_word ADORE - ec_word YOUR - ec_word POKEMON - ec_word RIGHT - ec_word QUES + .2byte EC_WORD_YOU + .2byte EC_WORD_ADORE + .2byte EC_WORD_YOUR + .2byte EC_WORD_POKEMON + .2byte EC_WORD_RIGHT + .2byte EC_WORD_QUES @ win speech - ec_word YOU_RE - ec_word TOTALLY - ec_word OUT - ec_word OF - ec_word THE - ec_word QUESTION + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_TOTALLY + .2byte EC_WORD_OUT + .2byte EC_WORD_OF + .2byte EC_WORD_THE + .2byte EC_WORD_QUESTION @ loss speech - ec_word YOU - ec_word DO - ec_word ADORE - ec_word YOUR - ec_word POKEMON - ec_word EXCL + .2byte EC_WORD_YOU + .2byte EC_WORD_DO + .2byte EC_WORD_ADORE + .2byte EC_WORD_YOUR + .2byte EC_WORD_POKEMON + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Julian @ 38 - .4byte TRAINER_CLASS_POKEFAN_1 + .4byte FACILITY_CLASS_POKEFAN_1 .string "QUINN$", 8 @ pre-battle speech - ec_word MY - ec_word POKEMON - ec_word ARE - ec_word BUT - ec_word A - ec_word DREAM + .2byte EC_WORD_MY + .2byte EC_WORD_POKEMON + .2byte EC_WORD_ARE + .2byte EC_WORD_BUT + .2byte EC_WORD_A + .2byte EC_WORD_DREAM @ win speech - ec_word THIS - ec_word IS - ec_word A - ec_word BEAUTIFUL - ec_word DREAM - ec_word EXCL + .2byte EC_WORD_THIS + .2byte EC_WORD_IS + .2byte EC_WORD_A + .2byte EC_WORD_BEAUTIFUL + .2byte EC_WORD_DREAM + .2byte EC_WORD_EXCL @ loss speech - ec_word THIS - ec_word IS - ec_word AN - ec_word AWFUL - ec_move1 NIGHTMARE - ec_word EXCL + .2byte EC_WORD_THIS + .2byte EC_WORD_IS + .2byte EC_WORD_AN + .2byte EC_WORD_AWFUL + .2byte EC_MOVE(NIGHTMARE) + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Quinn @ 39 - .4byte TRAINER_CLASS_POKEFAN_2 + .4byte FACILITY_CLASS_POKEFAN_2 .string "HAYLEE$", 8 @ pre-battle speech - ec_word I - ec_word DON_T - ec_word KNOW - ec_word HOW - ec_word I_AM - ec_word FEELING + .2byte EC_WORD_I + .2byte EC_WORD_DON_T + .2byte EC_WORD_KNOW + .2byte EC_WORD_HOW + .2byte EC_WORD_I_AM + .2byte EC_WORD_FEELING @ win speech - ec_word I_AM - ec_word FEELING - ec_word OVERWHELMING - ec_word JOY - ec_word OVER - ec_word THIS + .2byte EC_WORD_I_AM + .2byte EC_WORD_FEELING + .2byte EC_WORD_OVERWHELMING + .2byte EC_WORD_JOY + .2byte EC_WORD_OVER + .2byte EC_WORD_THIS @ loss speech - ec_word DESTROYED - ec_word IS - ec_word THE - ec_word WAY - ec_word I_AM - ec_word FEELING + .2byte EC_WORD_DESTROYED + .2byte EC_WORD_IS + .2byte EC_WORD_THE + .2byte EC_WORD_WAY + .2byte EC_WORD_I_AM + .2byte EC_WORD_FEELING .4byte gBattleFrontierTrainerMons_Haylee @ 40 - .4byte TRAINER_CLASS_POKEFAN_2 + .4byte FACILITY_CLASS_POKEFAN_2 .string "AMANDA$", 8 @ pre-battle speech - ec_word I - ec_word COME - ec_word FROM - ec_word A - ec_word TRAINER - ec_word FAMILY + .2byte EC_WORD_I + .2byte EC_WORD_COME + .2byte EC_WORD_FROM + .2byte EC_WORD_A + .2byte EC_WORD_TRAINER + .2byte EC_WORD_FAMILY @ win speech - ec_word I - ec_word WILL - ec_word TREASURE - ec_word THIS - ec_word WIN + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_WORD_TREASURE + .2byte EC_WORD_THIS + .2byte EC_WORD_WIN .2byte -1 @ loss speech - ec_word I - ec_word WANT - ec_word TO - ec_word GO_HOME - ec_word RIGHT - ec_word NOW + .2byte EC_WORD_I + .2byte EC_WORD_WANT + .2byte EC_WORD_TO + .2byte EC_WORD_GO_HOME + .2byte EC_WORD_RIGHT + .2byte EC_WORD_NOW .4byte gBattleFrontierTrainerMons_Amanda @ 41 - .4byte TRAINER_CLASS_POKEFAN_2 + .4byte FACILITY_CLASS_POKEFAN_2 .string "STACY$", 8 @ pre-battle speech - ec_word ALL - ec_word POKEMON - ec_word HAVE - ec_word THEIR - ec_word OWN - ec_word CUTE_CHARM + .2byte EC_WORD_ALL + .2byte EC_WORD_POKEMON + .2byte EC_WORD_HAVE + .2byte EC_WORD_THEIR + .2byte EC_WORD_OWN + .2byte EC_WORD_CUTE_CHARM @ win speech - ec_word YOU - ec_word SEE - ec_word WHAT - ec_word I - ec_word MEAN - ec_word QUES + .2byte EC_WORD_YOU + .2byte EC_WORD_SEE + .2byte EC_WORD_WHAT + .2byte EC_WORD_I + .2byte EC_WORD_MEAN + .2byte EC_WORD_QUES @ loss speech - ec_word SHOULD - ec_word I - ec_word NOT - ec_word ADORE - ec_word POKEMON - ec_word QUES + .2byte EC_WORD_SHOULD + .2byte EC_WORD_I + .2byte EC_WORD_NOT + .2byte EC_WORD_ADORE + .2byte EC_WORD_POKEMON + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Stacy @ 42 - .4byte TRAINER_CLASS_PKMN_BREEDER_2 + .4byte FACILITY_CLASS_PKMN_BREEDER_2 .string "RAFAEL$", 8 @ pre-battle speech - ec_word COME_ON - ec_word EXCL - ec_word LET_S - ec_word SEE - ec_word SOME - ec_word SPIRIT + .2byte EC_WORD_COME_ON + .2byte EC_WORD_EXCL + .2byte EC_WORD_LET_S + .2byte EC_WORD_SEE + .2byte EC_WORD_SOME + .2byte EC_WORD_SPIRIT @ win speech - ec_word THAT_S_IT_EXCL - ec_word THAT_S - ec_word THE - ec_word SPIRIT - ec_word EXCL + .2byte EC_WORD_THAT_S_IT_EXCL + .2byte EC_WORD_THAT_S + .2byte EC_WORD_THE + .2byte EC_WORD_SPIRIT + .2byte EC_WORD_EXCL .2byte -1 @ loss speech - ec_word WELL - ec_word SO - ec_word MUCH - ec_word FOR - ec_word OUR - ec_word SPIRIT + .2byte EC_WORD_WELL + .2byte EC_WORD_SO + .2byte EC_WORD_MUCH + .2byte EC_WORD_FOR + .2byte EC_WORD_OUR + .2byte EC_WORD_SPIRIT .4byte gBattleFrontierTrainerMons_Rafael @ 43 - .4byte TRAINER_CLASS_PKMN_BREEDER_2 + .4byte FACILITY_CLASS_PKMN_BREEDER_2 .string "OLIVER$", 8 @ pre-battle speech - ec_word A - ec_word GENIUS - ec_word THAT_S - ec_word WHAT - ec_word I_AM - ec_word EXCL + .2byte EC_WORD_A + .2byte EC_WORD_GENIUS + .2byte EC_WORD_THAT_S + .2byte EC_WORD_WHAT + .2byte EC_WORD_I_AM + .2byte EC_WORD_EXCL @ win speech - ec_word THAT_S - ec_word HOW - ec_word A - ec_word GENIUS - ec_word WORKS - ec_word EXCL + .2byte EC_WORD_THAT_S + .2byte EC_WORD_HOW + .2byte EC_WORD_A + .2byte EC_WORD_GENIUS + .2byte EC_WORD_WORKS + .2byte EC_WORD_EXCL @ loss speech - ec_word YOU_RE - ec_word MORE - ec_word A - ec_word GENIUS - ec_word THAN - ec_word I_AM + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_MORE + .2byte EC_WORD_A + .2byte EC_WORD_GENIUS + .2byte EC_WORD_THAN + .2byte EC_WORD_I_AM .4byte gBattleFrontierTrainerMons_Oliver @ 44 - .4byte TRAINER_CLASS_PKMN_BREEDER_2 + .4byte FACILITY_CLASS_PKMN_BREEDER_2 .string "PAYTON$", 8 @ pre-battle speech - ec_word I - ec_word TRAIN - ec_word FROM - ec_word THE - ec_word EGG - ec_word UP + .2byte EC_WORD_I + .2byte EC_WORD_TRAIN + .2byte EC_WORD_FROM + .2byte EC_WORD_THE + .2byte EC_WORD_EGG + .2byte EC_WORD_UP @ win speech - ec_word WELL - ec_word DONE - ec_word EXCL + .2byte EC_WORD_WELL + .2byte EC_WORD_DONE + .2byte EC_WORD_EXCL .2byte -1 .2byte -1 .2byte -1 @ loss speech - ec_word THAT_WAS - ec_word A - ec_move2 SOFT_BOILED - ec_word LOSS - ec_word ELLIPSIS + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_A + .2byte EC_MOVE2(SOFT_BOILED) + .2byte EC_WORD_LOSS + .2byte EC_WORD_ELLIPSIS .2byte -1 .4byte gBattleFrontierTrainerMons_Payton @ 45 - .4byte TRAINER_CLASS_PKMN_BREEDER_1 + .4byte FACILITY_CLASS_PKMN_BREEDER_1 .string "PAMELA$", 8 @ pre-battle speech - ec_word ALL - ec_word POKEMON - ec_word ADORE - ec_word A - ec_word KIND - ec_word TRAINER + .2byte EC_WORD_ALL + .2byte EC_WORD_POKEMON + .2byte EC_WORD_ADORE + .2byte EC_WORD_A + .2byte EC_WORD_KIND + .2byte EC_WORD_TRAINER @ win speech - ec_word IT_S - ec_word TOO - ec_word BAD - ec_word YOU - ec_word LOST + .2byte EC_WORD_IT_S + .2byte EC_WORD_TOO + .2byte EC_WORD_BAD + .2byte EC_WORD_YOU + .2byte EC_WORD_LOST .2byte -1 @ loss speech - ec_word YOU_RE - ec_word KIND - ec_word AND - ec_word YOU_RE - ec_word ALSO - ec_word STRONG + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_KIND + .2byte EC_WORD_AND + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_ALSO + .2byte EC_WORD_STRONG .4byte gBattleFrontierTrainerMons_Pamela @ 46 - .4byte TRAINER_CLASS_PKMN_BREEDER_1 + .4byte FACILITY_CLASS_PKMN_BREEDER_1 .string "ELIZA$", 8 @ pre-battle speech - ec_word I - ec_word ADORE - ec_word POKEMON - ec_word LIKE - ec_word MY - ec_word CHILDREN + .2byte EC_WORD_I + .2byte EC_WORD_ADORE + .2byte EC_WORD_POKEMON + .2byte EC_WORD_LIKE + .2byte EC_WORD_MY + .2byte EC_WORD_CHILDREN @ win speech - ec_word I_AM - ec_word SO - ec_word HAPPY - ec_word FOR - ec_word MY - ec_word POKEMON + .2byte EC_WORD_I_AM + .2byte EC_WORD_SO + .2byte EC_WORD_HAPPY + .2byte EC_WORD_FOR + .2byte EC_WORD_MY + .2byte EC_WORD_POKEMON @ loss speech - ec_word OH_DEAR - ec_word I_AM - ec_word SO - ec_word SORRY - ec_word ABOUT - ec_word THIS + .2byte EC_WORD_OH_DEAR + .2byte EC_WORD_I_AM + .2byte EC_WORD_SO + .2byte EC_WORD_SORRY + .2byte EC_WORD_ABOUT + .2byte EC_WORD_THIS .4byte gBattleFrontierTrainerMons_Eliza @ 47 - .4byte TRAINER_CLASS_PKMN_BREEDER_1 + .4byte FACILITY_CLASS_PKMN_BREEDER_1 .string "MARISA$", 8 @ pre-battle speech - ec_word I - ec_word PROMISE - ec_word TO - ec_word BATTLE - ec_word SERIOUSLY + .2byte EC_WORD_I + .2byte EC_WORD_PROMISE + .2byte EC_WORD_TO + .2byte EC_WORD_BATTLE + .2byte EC_WORD_SERIOUSLY .2byte -1 @ win speech - ec_word PROMISE - ec_word ME - ec_word YOU - ec_word WILL - ec_word DO - ec_word BETTER + .2byte EC_WORD_PROMISE + .2byte EC_WORD_ME + .2byte EC_WORD_YOU + .2byte EC_WORD_WILL + .2byte EC_WORD_DO + .2byte EC_WORD_BETTER @ loss speech - ec_word PROMISE - ec_word ME - ec_word ANOTHER - ec_word BATTLE - ec_word PLEASE - ec_word EXCL + .2byte EC_WORD_PROMISE + .2byte EC_WORD_ME + .2byte EC_WORD_ANOTHER + .2byte EC_WORD_BATTLE + .2byte EC_WORD_PLEASE + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Marisa @ 48 - .4byte TRAINER_CLASS_BUG_CATCHER + .4byte FACILITY_CLASS_BUG_CATCHER .string "LEWIS$", 8 @ pre-battle speech - ec_word A_LITTLE - ec_word BUG - ec_word IS - ec_word SCARY - ec_word QUES - ec_word HAHAHA + .2byte EC_WORD_A_LITTLE + .2byte EC_WORD_BUG + .2byte EC_WORD_IS + .2byte EC_WORD_SCARY + .2byte EC_WORD_QUES + .2byte EC_WORD_HAHAHA @ win speech - ec_word LOOK - ec_word LOOK - ec_word EXCL - ec_word A - ec_word SCARY - ec_word BUG + .2byte EC_WORD_LOOK + .2byte EC_WORD_LOOK + .2byte EC_WORD_EXCL + .2byte EC_WORD_A + .2byte EC_WORD_SCARY + .2byte EC_WORD_BUG @ loss speech - ec_word OH - ec_word A - ec_word BUG - ec_word ISN_T - ec_word SCARY - ec_word ELLIPSIS + .2byte EC_WORD_OH + .2byte EC_WORD_A + .2byte EC_WORD_BUG + .2byte EC_WORD_ISN_T + .2byte EC_WORD_SCARY + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Lewis @ 49 - .4byte TRAINER_CLASS_BUG_CATCHER + .4byte FACILITY_CLASS_BUG_CATCHER .string "YOSHI$", 8 @ pre-battle speech - ec_word BUG - ec_word POKEMON - ec_word MAKE - ec_word ME - ec_word FEELING - ec_word LOVEY_DOVEY + .2byte EC_WORD_BUG + .2byte EC_WORD_POKEMON + .2byte EC_WORD_MAKE + .2byte EC_WORD_ME + .2byte EC_WORD_FEELING + .2byte EC_WORD_LOVEY_DOVEY @ win speech - ec_word BUG - ec_word POKEMON - ec_word ARE - ec_word THE - ec_word BEST - ec_word EXCL + .2byte EC_WORD_BUG + .2byte EC_WORD_POKEMON + .2byte EC_WORD_ARE + .2byte EC_WORD_THE + .2byte EC_WORD_BEST + .2byte EC_WORD_EXCL @ loss speech - ec_word YOU_RE - ec_word IGNORANT - ec_word ABOUT - ec_word BUG - ec_word POKEMON + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_IGNORANT + .2byte EC_WORD_ABOUT + .2byte EC_WORD_BUG + .2byte EC_WORD_POKEMON .2byte -1 .4byte gBattleFrontierTrainerMons_Yoshi @ 50 - .4byte TRAINER_CLASS_BUG_CATCHER + .4byte FACILITY_CLASS_BUG_CATCHER .string "DESTIN$", 8 @ pre-battle speech - ec_word IT_S - ec_word WAY - ec_word TOO - ec_word HOT - ec_word HERE + .2byte EC_WORD_IT_S + .2byte EC_WORD_WAY + .2byte EC_WORD_TOO + .2byte EC_WORD_HOT + .2byte EC_WORD_HERE .2byte -1 @ win speech - ec_word I_AM - ec_word ABOUT - ec_word TO - ec_move1 OVERHEAT + .2byte EC_WORD_I_AM + .2byte EC_WORD_ABOUT + .2byte EC_WORD_TO + .2byte EC_MOVE(OVERHEAT) .2byte -1 .2byte -1 @ loss speech - ec_word PLEASE - ec_word I - ec_word NEED - ec_word SOME - ec_word WATER + .2byte EC_WORD_PLEASE + .2byte EC_WORD_I + .2byte EC_WORD_NEED + .2byte EC_WORD_SOME + .2byte EC_WORD_WATER .2byte -1 .4byte gBattleFrontierTrainerMons_Destin @ 51 - .4byte TRAINER_CLASS_NINJA_BOY + .4byte FACILITY_CLASS_NINJA_BOY .string "KEON$", 8 @ pre-battle speech - ec_word FORGIVE - ec_word ME - ec_word BUT - ec_word HERE_I_COME - ec_word EXCL + .2byte EC_WORD_FORGIVE + .2byte EC_WORD_ME + .2byte EC_WORD_BUT + .2byte EC_WORD_HERE_I_COME + .2byte EC_WORD_EXCL .2byte -1 @ win speech - ec_word FORGIVE - ec_word ME - ec_word FOR - ec_word MY - ec_word OVERWHELMING - ec_word POWER + .2byte EC_WORD_FORGIVE + .2byte EC_WORD_ME + .2byte EC_WORD_FOR + .2byte EC_WORD_MY + .2byte EC_WORD_OVERWHELMING + .2byte EC_WORD_POWER @ loss speech - ec_word I_AM - ec_word SORRY - ec_word ELLIPSIS + .2byte EC_WORD_I_AM + .2byte EC_WORD_SORRY + .2byte EC_WORD_ELLIPSIS .2byte -1 .2byte -1 .2byte -1 .4byte gBattleFrontierTrainerMons_Keon @ 52 - .4byte TRAINER_CLASS_NINJA_BOY + .4byte FACILITY_CLASS_NINJA_BOY .string "STUART$", 8 @ pre-battle speech - ec_word I - ec_word PROMISE - ec_word YOU - ec_word A - ec_word HOT - ec_word BATTLE + .2byte EC_WORD_I + .2byte EC_WORD_PROMISE + .2byte EC_WORD_YOU + .2byte EC_WORD_A + .2byte EC_WORD_HOT + .2byte EC_WORD_BATTLE @ win speech - ec_word THE - ec_word MASTER - ec_word OF - ec_word COOL - ec_word THAT_S - ec_word ME + .2byte EC_WORD_THE + .2byte EC_WORD_MASTER + .2byte EC_WORD_OF + .2byte EC_WORD_COOL + .2byte EC_WORD_THAT_S + .2byte EC_WORD_ME @ loss speech - ec_word I - ec_word SEE - ec_word I_AM - ec_word NOT - ec_word SO - ec_word COOL + .2byte EC_WORD_I + .2byte EC_WORD_SEE + .2byte EC_WORD_I_AM + .2byte EC_WORD_NOT + .2byte EC_WORD_SO + .2byte EC_WORD_COOL .4byte gBattleFrontierTrainerMons_Stuart @ 53 - .4byte TRAINER_CLASS_NINJA_BOY + .4byte FACILITY_CLASS_NINJA_BOY .string "NESTOR$", 8 @ pre-battle speech - ec_word SHOW - ec_word ME - ec_word A - ec_word REALLY - ec_word SMOOTH - ec_word MOVE + .2byte EC_WORD_SHOW + .2byte EC_WORD_ME + .2byte EC_WORD_A + .2byte EC_WORD_REALLY + .2byte EC_WORD_SMOOTH + .2byte EC_WORD_MOVE @ win speech - ec_word THERE - ec_word WAS - ec_word NOTHING - ec_word SMOOTH - ec_word ABOUT - ec_word THAT + .2byte EC_WORD_THERE + .2byte EC_WORD_WAS + .2byte EC_WORD_NOTHING + .2byte EC_WORD_SMOOTH + .2byte EC_WORD_ABOUT + .2byte EC_WORD_THAT @ loss speech - ec_word YOU - ec_word REALLY - ec_word ARE - ec_word SMOOTH - ec_word EXCL + .2byte EC_WORD_YOU + .2byte EC_WORD_REALLY + .2byte EC_WORD_ARE + .2byte EC_WORD_SMOOTH + .2byte EC_WORD_EXCL .2byte -1 .4byte gBattleFrontierTrainerMons_Nestor @ 54 - .4byte TRAINER_CLASS_BUG_MANIAC + .4byte FACILITY_CLASS_BUG_MANIAC .string "DERRICK$", 8 @ pre-battle speech - ec_word LET_S - ec_word SEE - ec_word YOU - ec_move2 MEDITATE - ec_word LIKE - ec_word ME + .2byte EC_WORD_LET_S + .2byte EC_WORD_SEE + .2byte EC_WORD_YOU + .2byte EC_MOVE2(MEDITATE) + .2byte EC_WORD_LIKE + .2byte EC_WORD_ME @ win speech - ec_word HOW - ec_word I - ec_move2 MEDITATE - ec_word IS - ec_word JUST - ec_word BEAUTIFUL + .2byte EC_WORD_HOW + .2byte EC_WORD_I + .2byte EC_MOVE2(MEDITATE) + .2byte EC_WORD_IS + .2byte EC_WORD_JUST + .2byte EC_WORD_BEAUTIFUL @ loss speech - ec_word I - ec_word WILL - ec_move2 MEDITATE - ec_word FOR - ec_word A - ec_move2 CALM_MIND + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_MOVE2(MEDITATE) + .2byte EC_WORD_FOR + .2byte EC_WORD_A + .2byte EC_MOVE2(CALM_MIND) .4byte gBattleFrontierTrainerMons_Derrick @ 55 - .4byte TRAINER_CLASS_BUG_MANIAC + .4byte FACILITY_CLASS_BUG_MANIAC .string "BRYSON$", 8 @ pre-battle speech - ec_move2 POISON_POWDER - ec_word IS - ec_word IN - ec_word OUR - ec_move2 COTTON_SPORE - ec_word MOVE + .2byte EC_MOVE2(POISON_POWDER) + .2byte EC_WORD_IS + .2byte EC_WORD_IN + .2byte EC_WORD_OUR + .2byte EC_MOVE2(COTTON_SPORE) + .2byte EC_WORD_MOVE @ win speech - ec_word HOW_DO - ec_word YOU - ec_word LIKE - ec_word OUR - ec_move2 POISON_POWDER - ec_word QUES + .2byte EC_WORD_HOW_DO + .2byte EC_WORD_YOU + .2byte EC_WORD_LIKE + .2byte EC_WORD_OUR + .2byte EC_MOVE2(POISON_POWDER) + .2byte EC_WORD_QUES @ loss speech - ec_word MY - ec_move2 COTTON_SPORE - ec_word WAS - ec_word USELESS + .2byte EC_WORD_MY + .2byte EC_MOVE2(COTTON_SPORE) + .2byte EC_WORD_WAS + .2byte EC_WORD_USELESS .2byte -1 .2byte -1 .4byte gBattleFrontierTrainerMons_Bryson @ 56 - .4byte TRAINER_CLASS_BUG_MANIAC + .4byte FACILITY_CLASS_BUG_MANIAC .string "CLAYTON$", 8 @ pre-battle speech - ec_word HUH_QUES + .2byte EC_WORD_HUH_QUES .2byte -1 .2byte -1 - ec_word WHERE - ec_word IS_IT_QUES + .2byte EC_WORD_WHERE + .2byte EC_WORD_IS_IT_QUES .2byte -1 @ win speech - ec_word WHERE - ec_word IS_IT_QUES - ec_word I_VE - ec_word LOST - ec_word MY - ec_word POKENAV + .2byte EC_WORD_WHERE + .2byte EC_WORD_IS_IT_QUES + .2byte EC_WORD_I_VE + .2byte EC_WORD_LOST + .2byte EC_WORD_MY + .2byte EC_WORD_POKENAV @ loss speech - ec_word WHERE - ec_word IS_IT_QUES - ec_word I_VE - ec_word LOST - ec_word MY - ec_word SENSE + .2byte EC_WORD_WHERE + .2byte EC_WORD_IS_IT_QUES + .2byte EC_WORD_I_VE + .2byte EC_WORD_LOST + .2byte EC_WORD_MY + .2byte EC_WORD_SENSE .4byte gBattleFrontierTrainerMons_Clayton @ 57 - .4byte TRAINER_CLASS_FISHERMAN + .4byte FACILITY_CLASS_FISHERMAN .string "TRENTON$", 8 @ pre-battle speech - ec_word COME_OVER - ec_word FOR - ec_word SOME - ec_word TASTY - ec_word WATER + .2byte EC_WORD_COME_OVER + .2byte EC_WORD_FOR + .2byte EC_WORD_SOME + .2byte EC_WORD_TASTY + .2byte EC_WORD_WATER .2byte -1 @ win speech - ec_word MMM - ec_word DO - ec_word YOU - ec_word WANT - ec_word SOME - ec_word QUES + .2byte EC_WORD_MMM + .2byte EC_WORD_DO + .2byte EC_WORD_YOU + .2byte EC_WORD_WANT + .2byte EC_WORD_SOME + .2byte EC_WORD_QUES @ loss speech - ec_word I - ec_word GOT - ec_word THIS - ec_word TASTY - ec_word WATER - ec_word SHOPPING + .2byte EC_WORD_I + .2byte EC_WORD_GOT + .2byte EC_WORD_THIS + .2byte EC_WORD_TASTY + .2byte EC_WORD_WATER + .2byte EC_WORD_SHOPPING .4byte gBattleFrontierTrainerMons_Trenton @ 58 - .4byte TRAINER_CLASS_FISHERMAN + .4byte FACILITY_CLASS_FISHERMAN .string "JENSON$", 8 @ pre-battle speech - ec_word MY - ec_word POKEMON - ec_word WILL - ec_word MAKE - ec_word YOU - ec_word DOWNCAST + .2byte EC_WORD_MY + .2byte EC_WORD_POKEMON + .2byte EC_WORD_WILL + .2byte EC_WORD_MAKE + .2byte EC_WORD_YOU + .2byte EC_WORD_DOWNCAST @ win speech - ec_word YOUR - ec_word POKEMON - ec_word DON_T - ec_word MAKE - ec_word THE - ec_move1 CUT + .2byte EC_WORD_YOUR + .2byte EC_WORD_POKEMON + .2byte EC_WORD_DON_T + .2byte EC_WORD_MAKE + .2byte EC_WORD_THE + .2byte EC_MOVE(CUT) @ loss speech - ec_word I_AM - ec_word THE - ec_word TRAINER - ec_word WHO_IS - ec_word FEELING - ec_word DOWNCAST + .2byte EC_WORD_I_AM + .2byte EC_WORD_THE + .2byte EC_WORD_TRAINER + .2byte EC_WORD_WHO_IS + .2byte EC_WORD_FEELING + .2byte EC_WORD_DOWNCAST .4byte gBattleFrontierTrainerMons_Jenson @ 59 - .4byte TRAINER_CLASS_FISHERMAN + .4byte FACILITY_CLASS_FISHERMAN .string "WESLEY$", 8 @ pre-battle speech - ec_pokemon2 MEW - ec_pokemon2 MEW - ec_word IS - ec_word HOW - ec_word I - ec_word CRY + .2byte EC_POKEMON2(MEW) + .2byte EC_POKEMON2(MEW) + .2byte EC_WORD_IS + .2byte EC_WORD_HOW + .2byte EC_WORD_I + .2byte EC_WORD_CRY @ win speech - ec_word YES - ec_word I - ec_word KNOW - ec_word I_AM - ec_word CUTE - ec_word EXCL + .2byte EC_WORD_YES + .2byte EC_WORD_I + .2byte EC_WORD_KNOW + .2byte EC_WORD_I_AM + .2byte EC_WORD_CUTE + .2byte EC_WORD_EXCL @ loss speech - ec_pokemon2 MEW - ec_pokemon2 MEW - ec_word EXCL - ec_pokemon2 MEW - ec_word EXCL_EXCL + .2byte EC_POKEMON2(MEW) + .2byte EC_POKEMON2(MEW) + .2byte EC_WORD_EXCL + .2byte EC_POKEMON2(MEW) + .2byte EC_WORD_EXCL_EXCL .2byte -1 .4byte gBattleFrontierTrainerMons_Wesley @ 60 - .4byte TRAINER_CLASS_RUIN_MANIAC + .4byte FACILITY_CLASS_RUIN_MANIAC .string "ANTON$", 8 @ pre-battle speech - ec_word GET - ec_word READY - ec_word FOR - ec_word ME - ec_word TO - ec_move1 THRASH + .2byte EC_WORD_GET + .2byte EC_WORD_READY + .2byte EC_WORD_FOR + .2byte EC_WORD_ME + .2byte EC_WORD_TO + .2byte EC_MOVE(THRASH) @ win speech - ec_word WAHAHAHA - ec_word EXCL - ec_word SORRY - ec_word ABOUT - ec_word THAT - ec_word EXCL + .2byte EC_WORD_WAHAHAHA + .2byte EC_WORD_EXCL + .2byte EC_WORD_SORRY + .2byte EC_WORD_ABOUT + .2byte EC_WORD_THAT + .2byte EC_WORD_EXCL @ loss speech - ec_word IT_S - ec_word A - ec_word TOUGH - ec_word LOSS - ec_word TO - ec_move2 SWALLOW + .2byte EC_WORD_IT_S + .2byte EC_WORD_A + .2byte EC_WORD_TOUGH + .2byte EC_WORD_LOSS + .2byte EC_WORD_TO + .2byte EC_MOVE2(SWALLOW) .4byte gBattleFrontierTrainerMons_Anton @ 61 - .4byte TRAINER_CLASS_RUIN_MANIAC + .4byte FACILITY_CLASS_RUIN_MANIAC .string "LAWSON$", 8 @ pre-battle speech - ec_word I_AM - ec_word YOUNG - ec_word AT - ec_word HEART - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_YOUNG + .2byte EC_WORD_AT + .2byte EC_WORD_HEART + .2byte EC_WORD_EXCL .2byte -1 @ win speech - ec_word NOT - ec_word COOL - ec_word EXCL - ec_word NOT - ec_word AT - ec_word ALL + .2byte EC_WORD_NOT + .2byte EC_WORD_COOL + .2byte EC_WORD_EXCL + .2byte EC_WORD_NOT + .2byte EC_WORD_AT + .2byte EC_WORD_ALL @ loss speech - ec_word I_AM - ec_word OLD - ec_word AND - ec_word FEELING - ec_word SHAKY - ec_word ELLIPSIS + .2byte EC_WORD_I_AM + .2byte EC_WORD_OLD + .2byte EC_WORD_AND + .2byte EC_WORD_FEELING + .2byte EC_WORD_SHAKY + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Lawson @ 62 - .4byte TRAINER_CLASS_RUIN_MANIAC + .4byte FACILITY_CLASS_RUIN_MANIAC .string "SAMMY$", 8 @ pre-battle speech - ec_word MY - ec_word PARTY - ec_word IS - ec_word READY - ec_word TO - ec_word ROCK + .2byte EC_WORD_MY + .2byte EC_WORD_PARTY + .2byte EC_WORD_IS + .2byte EC_WORD_READY + .2byte EC_WORD_TO + .2byte EC_WORD_ROCK @ win speech - ec_word MY - ec_word PARTY - ec_word IS - ec_word JUST - ec_word INCREDIBLE - ec_word EXCL + .2byte EC_WORD_MY + .2byte EC_WORD_PARTY + .2byte EC_WORD_IS + .2byte EC_WORD_JUST + .2byte EC_WORD_INCREDIBLE + .2byte EC_WORD_EXCL @ loss speech - ec_word I - ec_word CRY - ec_word FOR - ec_word MY - ec_word PARTY - ec_word ELLIPSIS + .2byte EC_WORD_I + .2byte EC_WORD_CRY + .2byte EC_WORD_FOR + .2byte EC_WORD_MY + .2byte EC_WORD_PARTY + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Sammy @ 63 - .4byte TRAINER_CLASS_COLLECTOR + .4byte FACILITY_CLASS_COLLECTOR .string "ARNIE$", 8 @ pre-battle speech - ec_word I_AM - ec_word NO_1 - ec_word I - ec_word HAVE - ec_word NO - ec_word RIVAL + .2byte EC_WORD_I_AM + .2byte EC_WORD_NO_1 + .2byte EC_WORD_I + .2byte EC_WORD_HAVE + .2byte EC_WORD_NO + .2byte EC_WORD_RIVAL @ win speech - ec_word YOU - ec_word SEE - ec_word QUES - ec_word I - ec_word CAN_T - ec_word LOSE + .2byte EC_WORD_YOU + .2byte EC_WORD_SEE + .2byte EC_WORD_QUES + .2byte EC_WORD_I + .2byte EC_WORD_CAN_T + .2byte EC_WORD_LOSE @ loss speech - ec_word NO - ec_word EXCL - ec_word I - ec_word WON_T - ec_word ACCEPT - ec_word THIS + .2byte EC_WORD_NO + .2byte EC_WORD_EXCL + .2byte EC_WORD_I + .2byte EC_WORD_WON_T + .2byte EC_WORD_ACCEPT + .2byte EC_WORD_THIS .4byte gBattleFrontierTrainerMons_Arnie @ 64 - .4byte TRAINER_CLASS_COLLECTOR + .4byte FACILITY_CLASS_COLLECTOR .string "ADRIAN$", 8 @ pre-battle speech - ec_word YAHOO - ec_word EXCL + .2byte EC_WORD_YAHOO + .2byte EC_WORD_EXCL .2byte -1 - ec_word YAHOO - ec_word EXCL_EXCL + .2byte EC_WORD_YAHOO + .2byte EC_WORD_EXCL_EXCL .2byte -1 @ win speech - ec_word THANK_YOU - ec_word EXCL + .2byte EC_WORD_THANK_YOU + .2byte EC_WORD_EXCL .2byte -1 - ec_word THANK_YOU - ec_word EXCL_EXCL + .2byte EC_WORD_THANK_YOU + .2byte EC_WORD_EXCL_EXCL .2byte -1 @ loss speech - ec_word GOOD_BYE - ec_word EXCL + .2byte EC_WORD_GOOD_BYE + .2byte EC_WORD_EXCL .2byte -1 - ec_word GOOD_BYE - ec_word EXCL_EXCL + .2byte EC_WORD_GOOD_BYE + .2byte EC_WORD_EXCL_EXCL .2byte -1 .4byte gBattleFrontierTrainerMons_Adrian @ 65 - .4byte TRAINER_CLASS_COLLECTOR + .4byte FACILITY_CLASS_COLLECTOR .string "TRISTAN$", 8 @ pre-battle speech - ec_word CONFUSED - ec_word QUES + .2byte EC_WORD_CONFUSED + .2byte EC_WORD_QUES .2byte -1 - ec_word I_AM - ec_word A - ec_word GENIUS + .2byte EC_WORD_I_AM + .2byte EC_WORD_A + .2byte EC_WORD_GENIUS @ win speech - ec_word SEE - ec_word QUES + .2byte EC_WORD_SEE + .2byte EC_WORD_QUES .2byte -1 - ec_word I_AM - ec_word A - ec_word GENIUS + .2byte EC_WORD_I_AM + .2byte EC_WORD_A + .2byte EC_WORD_GENIUS @ loss speech - ec_word I_AM - ec_word NOT - ec_word A - ec_word GENIUS - ec_word IN - ec_word BATTLE + .2byte EC_WORD_I_AM + .2byte EC_WORD_NOT + .2byte EC_WORD_A + .2byte EC_WORD_GENIUS + .2byte EC_WORD_IN + .2byte EC_WORD_BATTLE .4byte gBattleFrontierTrainerMons_Tristan @ 66 - .4byte TRAINER_CLASS_PARASOL_LADY + .4byte FACILITY_CLASS_PARASOL_LADY .string "JULIANA$", 8 @ pre-battle speech - ec_word I - ec_word THINK - ec_word I_AM - ec_word SHOPPING - ec_word TOO - ec_word MUCH + .2byte EC_WORD_I + .2byte EC_WORD_THINK + .2byte EC_WORD_I_AM + .2byte EC_WORD_SHOPPING + .2byte EC_WORD_TOO + .2byte EC_WORD_MUCH @ win speech - ec_word BUT - ec_word I - ec_word WANT - ec_word A - ec_word POKEMON - ec_word PLUSH_DOLL + .2byte EC_WORD_BUT + .2byte EC_WORD_I + .2byte EC_WORD_WANT + .2byte EC_WORD_A + .2byte EC_WORD_POKEMON + .2byte EC_WORD_PLUSH_DOLL @ loss speech - ec_word I - ec_word SO - ec_word WANT - ec_word ANOTHER - ec_word POKEMON - ec_word PLUSH_DOLL + .2byte EC_WORD_I + .2byte EC_WORD_SO + .2byte EC_WORD_WANT + .2byte EC_WORD_ANOTHER + .2byte EC_WORD_POKEMON + .2byte EC_WORD_PLUSH_DOLL .4byte gBattleFrontierTrainerMons_Juliana @ 67 - .4byte TRAINER_CLASS_PARASOL_LADY + .4byte FACILITY_CLASS_PARASOL_LADY .string "RYLEE$", 8 @ pre-battle speech - ec_word SHOW - ec_word ME - ec_word THAT - ec_word YOU - ec_word HAVE - ec_word GUTS + .2byte EC_WORD_SHOW + .2byte EC_WORD_ME + .2byte EC_WORD_THAT + .2byte EC_WORD_YOU + .2byte EC_WORD_HAVE + .2byte EC_WORD_GUTS @ win speech - ec_word BYE_BYE - ec_word EXCL - ec_word YOU - ec_word HAVE - ec_word NO - ec_word GUTS + .2byte EC_WORD_BYE_BYE + .2byte EC_WORD_EXCL + .2byte EC_WORD_YOU + .2byte EC_WORD_HAVE + .2byte EC_WORD_NO + .2byte EC_WORD_GUTS @ loss speech - ec_word THAT_WAS - ec_word GUTSY - ec_word ELLIPSIS - ec_word YOU_RE - ec_word QUITE - ec_word SUPER + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_GUTSY + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_QUITE + .2byte EC_WORD_SUPER .4byte gBattleFrontierTrainerMons_Rylee @ 68 - .4byte TRAINER_CLASS_PARASOL_LADY + .4byte FACILITY_CLASS_PARASOL_LADY .string "CHELSEA$", 8 @ pre-battle speech - ec_word I - ec_word SERIOUSLY - ec_word MEAN - ec_word TO - ec_word WIN - ec_word EXCL + .2byte EC_WORD_I + .2byte EC_WORD_SERIOUSLY + .2byte EC_WORD_MEAN + .2byte EC_WORD_TO + .2byte EC_WORD_WIN + .2byte EC_WORD_EXCL @ win speech - ec_word THAT_WAS - ec_word MY - ec_word WILL - ec_word TO - ec_word WIN + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_MY + .2byte EC_WORD_WILL + .2byte EC_WORD_TO + .2byte EC_WORD_WIN .2byte -1 @ loss speech - ec_word YOU_RE - ec_word FAR - ec_word TOO_STRONG - ec_word FOR - ec_word ME + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_FAR + .2byte EC_WORD_TOO_STRONG + .2byte EC_WORD_FOR + .2byte EC_WORD_ME .2byte -1 .4byte gBattleFrontierTrainerMons_Chelsea @ 69 - .4byte TRAINER_CLASS_BEAUTY + .4byte FACILITY_CLASS_BEAUTY .string "DANELA$", 8 @ pre-battle speech - ec_word YOU - ec_word MUST_BE - ec_word MY - ec_word OPPONENT - ec_word NOW - ec_word EXCL + .2byte EC_WORD_YOU + .2byte EC_WORD_MUST_BE + .2byte EC_WORD_MY + .2byte EC_WORD_OPPONENT + .2byte EC_WORD_NOW + .2byte EC_WORD_EXCL @ win speech - ec_word OH_DEAR - ec_word TOO_WEAK - ec_word EXCL - ec_word DON_T - ec_word GIVE_UP - ec_word EXCL + .2byte EC_WORD_OH_DEAR + .2byte EC_WORD_TOO_WEAK + .2byte EC_WORD_EXCL + .2byte EC_WORD_DON_T + .2byte EC_WORD_GIVE_UP + .2byte EC_WORD_EXCL @ loss speech - ec_word THAT_WAS - ec_word GOOD - ec_word AND - ec_word THIS - ec_word IS - ec_word GOOD_BYE + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_GOOD + .2byte EC_WORD_AND + .2byte EC_WORD_THIS + .2byte EC_WORD_IS + .2byte EC_WORD_GOOD_BYE .4byte gBattleFrontierTrainerMons_Danela @ 70 - .4byte TRAINER_CLASS_BEAUTY + .4byte FACILITY_CLASS_BEAUTY .string "LIZBETH$", 8 @ pre-battle speech - ec_word IF_I_LOSE - ec_word YOU - ec_word CAN - ec_word HAVE - ec_word A - ec_move2 PRESENT + .2byte EC_WORD_IF_I_LOSE + .2byte EC_WORD_YOU + .2byte EC_WORD_CAN + .2byte EC_WORD_HAVE + .2byte EC_WORD_A + .2byte EC_MOVE2(PRESENT) @ win speech - ec_word HERE_IT_IS - ec_word A_LITTLE - ec_word PRAISE - ec_word AS - ec_word YOUR - ec_move2 PRESENT + .2byte EC_WORD_HERE_IT_IS + .2byte EC_WORD_A_LITTLE + .2byte EC_WORD_PRAISE + .2byte EC_WORD_AS + .2byte EC_WORD_YOUR + .2byte EC_MOVE2(PRESENT) @ loss speech - ec_word YOUR - ec_move2 PRESENT - ec_word QUES_EXCL - ec_word HERE_IT_IS - ec_word A - ec_move1 DOUBLE_SLAP + .2byte EC_WORD_YOUR + .2byte EC_MOVE2(PRESENT) + .2byte EC_WORD_QUES_EXCL + .2byte EC_WORD_HERE_IT_IS + .2byte EC_WORD_A + .2byte EC_MOVE(DOUBLE_SLAP) .4byte gBattleFrontierTrainerMons_Lizbeth @ 71 - .4byte TRAINER_CLASS_BEAUTY + .4byte FACILITY_CLASS_BEAUTY .string "AMELIA$", 8 @ pre-battle speech - ec_word I - ec_word BELIEVE - ec_word IN - ec_word CUTE - ec_word FASHION - ec_word APPEAL + .2byte EC_WORD_I + .2byte EC_WORD_BELIEVE + .2byte EC_WORD_IN + .2byte EC_WORD_CUTE + .2byte EC_WORD_FASHION + .2byte EC_WORD_APPEAL @ win speech - ec_word YOUR - ec_word FASHION - ec_word SENSE - ec_word IS - ec_word A - ec_word DISASTER + .2byte EC_WORD_YOUR + .2byte EC_WORD_FASHION + .2byte EC_WORD_SENSE + .2byte EC_WORD_IS + .2byte EC_WORD_A + .2byte EC_WORD_DISASTER @ loss speech - ec_word THAT_WAS - ec_word AWFUL - ec_word EXCL - ec_word I_AM - ec_word GOING - ec_word HOME + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_AWFUL + .2byte EC_WORD_EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_GOING + .2byte EC_WORD_HOME .4byte gBattleFrontierTrainerMons_Amelia @ 72 - .4byte TRAINER_CLASS_AROMA_LADY + .4byte FACILITY_CLASS_AROMA_LADY .string "JILLIAN$", 8 @ pre-battle speech - ec_word WHAT - ec_word IS - ec_word THAT - ec_word I - ec_word SMELL - ec_word QUES + .2byte EC_WORD_WHAT + .2byte EC_WORD_IS + .2byte EC_WORD_THAT + .2byte EC_WORD_I + .2byte EC_WORD_SMELL + .2byte EC_WORD_QUES @ win speech - ec_word IT_S - ec_word THE - ec_move1 SWEET_SCENT - ec_word OF - ec_word TASTY - ec_word WATER + .2byte EC_WORD_IT_S + .2byte EC_WORD_THE + .2byte EC_MOVE(SWEET_SCENT) + .2byte EC_WORD_OF + .2byte EC_WORD_TASTY + .2byte EC_WORD_WATER @ loss speech - ec_word IT_S - ec_word YOUR - ec_word OFFENSIVE - ec_word STENCH - ec_word THAT_S - ec_word WHAT + .2byte EC_WORD_IT_S + .2byte EC_WORD_YOUR + .2byte EC_WORD_OFFENSIVE + .2byte EC_WORD_STENCH + .2byte EC_WORD_THAT_S + .2byte EC_WORD_WHAT .4byte gBattleFrontierTrainerMons_Jillian @ 73 - .4byte TRAINER_CLASS_AROMA_LADY + .4byte FACILITY_CLASS_AROMA_LADY .string "ABBIE$", 8 @ pre-battle speech - ec_word YOU - ec_word TRY - ec_word MY - ec_word SECRET - ec_move1 AROMATHERAPY - ec_word OK_QUES + .2byte EC_WORD_YOU + .2byte EC_WORD_TRY + .2byte EC_WORD_MY + .2byte EC_WORD_SECRET + .2byte EC_MOVE(AROMATHERAPY) + .2byte EC_WORD_OK_QUES @ win speech - ec_word MY - ec_move1 AROMATHERAPY - ec_word IS - ec_word TERRIBLE - ec_word FOR - ec_word YOU + .2byte EC_WORD_MY + .2byte EC_MOVE(AROMATHERAPY) + .2byte EC_WORD_IS + .2byte EC_WORD_TERRIBLE + .2byte EC_WORD_FOR + .2byte EC_WORD_YOU @ loss speech - ec_word DIDN_T - ec_word YOU - ec_word SMELL - ec_word A - ec_word THING - ec_word QUES_EXCL + .2byte EC_WORD_DIDN_T + .2byte EC_WORD_YOU + .2byte EC_WORD_SMELL + .2byte EC_WORD_A + .2byte EC_WORD_THING + .2byte EC_WORD_QUES_EXCL .4byte gBattleFrontierTrainerMons_Abbie @ 74 - .4byte TRAINER_CLASS_AROMA_LADY + .4byte FACILITY_CLASS_AROMA_LADY .string "BRIANA$", 8 @ pre-battle speech - ec_word MY - ec_word BOY - ec_word FRIEND - ec_word WORKS - ec_word TOO - ec_word MUCH + .2byte EC_WORD_MY + .2byte EC_WORD_BOY + .2byte EC_WORD_FRIEND + .2byte EC_WORD_WORKS + .2byte EC_WORD_TOO + .2byte EC_WORD_MUCH @ win speech - ec_word I - ec_word ONLY - ec_word MISS - ec_word HIM - ec_word MORE - ec_word ELLIPSIS + .2byte EC_WORD_I + .2byte EC_WORD_ONLY + .2byte EC_WORD_MISS + .2byte EC_WORD_HIM + .2byte EC_WORD_MORE + .2byte EC_WORD_ELLIPSIS @ loss speech - ec_word I_AM - ec_word SO - ec_word LONESOME - ec_word WITHOUT - ec_word HIM - ec_word ELLIPSIS + .2byte EC_WORD_I_AM + .2byte EC_WORD_SO + .2byte EC_WORD_LONESOME + .2byte EC_WORD_WITHOUT + .2byte EC_WORD_HIM + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Briana @ 75 - .4byte TRAINER_CLASS_GUITARIST + .4byte FACILITY_CLASS_GUITARIST .string "ANTONIO$", 8 @ pre-battle speech - ec_word I - ec_word KNOW - ec_word HOW - ec_word TO - ec_word GO - ec_word GO + .2byte EC_WORD_I + .2byte EC_WORD_KNOW + .2byte EC_WORD_HOW + .2byte EC_WORD_TO + .2byte EC_WORD_GO + .2byte EC_WORD_GO @ win speech - ec_word BUT - ec_word I - ec_word DON_T - ec_word LIKE - ec_word TO - ec_word DANCE + .2byte EC_WORD_BUT + .2byte EC_WORD_I + .2byte EC_WORD_DON_T + .2byte EC_WORD_LIKE + .2byte EC_WORD_TO + .2byte EC_WORD_DANCE @ loss speech - ec_word GO - ec_word GO - ec_word ELLIPSIS - ec_word JUST - ec_move1 FLAIL - ec_word ABOUT + .2byte EC_WORD_GO + .2byte EC_WORD_GO + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_JUST + .2byte EC_MOVE(FLAIL) + .2byte EC_WORD_ABOUT .4byte gBattleFrontierTrainerMons_Antonio @ 76 - .4byte TRAINER_CLASS_GUITARIST + .4byte FACILITY_CLASS_GUITARIST .string "JADEN$", 8 @ pre-battle speech - ec_word HELLO - ec_word I - ec_word THINK - ec_word I - ec_word ADORE - ec_word YOU + .2byte EC_WORD_HELLO + .2byte EC_WORD_I + .2byte EC_WORD_THINK + .2byte EC_WORD_I + .2byte EC_WORD_ADORE + .2byte EC_WORD_YOU @ win speech - ec_word YOU - ec_word MAKE - ec_word ME - ec_move1 THRASH - ec_word IN - ec_move2 FRUSTRATION + .2byte EC_WORD_YOU + .2byte EC_WORD_MAKE + .2byte EC_WORD_ME + .2byte EC_MOVE(THRASH) + .2byte EC_WORD_IN + .2byte EC_MOVE2(FRUSTRATION) @ loss speech - ec_word THIS_IS_IT_EXCL + .2byte EC_WORD_THIS_IS_IT_EXCL .2byte -1 .2byte -1 - ec_word GOOD_BYE - ec_word FOREVER - ec_word EXCL + .2byte EC_WORD_GOOD_BYE + .2byte EC_WORD_FOREVER + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Jaden @ 77 - .4byte TRAINER_CLASS_GUITARIST + .4byte FACILITY_CLASS_GUITARIST .string "DAKOTA$", 8 @ pre-battle speech - ec_word YOU - ec_word HAVE - ec_word TO - ec_word DANCE - ec_word WITH - ec_word POWER + .2byte EC_WORD_YOU + .2byte EC_WORD_HAVE + .2byte EC_WORD_TO + .2byte EC_WORD_DANCE + .2byte EC_WORD_WITH + .2byte EC_WORD_POWER @ win speech - ec_word GOT - ec_word IT - ec_word QUES - ec_word DANCE - ec_word WITH - ec_word POWER + .2byte EC_WORD_GOT + .2byte EC_WORD_IT + .2byte EC_WORD_QUES + .2byte EC_WORD_DANCE + .2byte EC_WORD_WITH + .2byte EC_WORD_POWER @ loss speech - ec_word OKAY - ec_word YOU - ec_word UNDERSTAND - ec_word ALL_RIGHT - ec_word EXCL + .2byte EC_WORD_OKAY + .2byte EC_WORD_YOU + .2byte EC_WORD_UNDERSTAND + .2byte EC_WORD_ALL_RIGHT + .2byte EC_WORD_EXCL .2byte -1 .4byte gBattleFrontierTrainerMons_Dakota @ 78 - .4byte TRAINER_CLASS_BIRD_KEEPER + .4byte FACILITY_CLASS_BIRD_KEEPER .string "BRAYDEN$", 8 @ pre-battle speech - ec_word COLOR_CHANGE - ec_word VERSION - ec_word TOYS - ec_word ARE - ec_word USELESS - ec_word EXCL + .2byte EC_WORD_COLOR_CHANGE + .2byte EC_WORD_VERSION + .2byte EC_WORD_TOYS + .2byte EC_WORD_ARE + .2byte EC_WORD_USELESS + .2byte EC_WORD_EXCL @ win speech - ec_word I - ec_word ONLY - ec_word COLLECT - ec_word NORMAL - ec_word VERSION - ec_word TOYS + .2byte EC_WORD_I + .2byte EC_WORD_ONLY + .2byte EC_WORD_COLLECT + .2byte EC_WORD_NORMAL + .2byte EC_WORD_VERSION + .2byte EC_WORD_TOYS @ loss speech - ec_word I - ec_move2 ATTRACT - ec_word COLOR_CHANGE - ec_word VERSION - ec_word TOYS - ec_word ELLIPSIS + .2byte EC_WORD_I + .2byte EC_MOVE2(ATTRACT) + .2byte EC_WORD_COLOR_CHANGE + .2byte EC_WORD_VERSION + .2byte EC_WORD_TOYS + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Brayden @ 79 - .4byte TRAINER_CLASS_BIRD_KEEPER + .4byte FACILITY_CLASS_BIRD_KEEPER .string "CORSON$", 8 @ pre-battle speech - ec_word I - ec_word GET - ec_word TO - ec_move2 BEAT_UP - ec_word ON - ec_word YOU + .2byte EC_WORD_I + .2byte EC_WORD_GET + .2byte EC_WORD_TO + .2byte EC_MOVE2(BEAT_UP) + .2byte EC_WORD_ON + .2byte EC_WORD_YOU @ win speech - ec_word TOO - ec_word EASY - ec_word EXCL - ec_word I_AM - ec_word SO - ec_word COOL + .2byte EC_WORD_TOO + .2byte EC_WORD_EASY + .2byte EC_WORD_EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_SO + .2byte EC_WORD_COOL @ loss speech - ec_word WHY - ec_word QUES_EXCL + .2byte EC_WORD_WHY + .2byte EC_WORD_QUES_EXCL .2byte -1 - ec_word I - ec_move2 CURSE - ec_word YOU + .2byte EC_WORD_I + .2byte EC_MOVE2(CURSE) + .2byte EC_WORD_YOU .4byte gBattleFrontierTrainerMons_Corson @ 80 - .4byte TRAINER_CLASS_BIRD_KEEPER + .4byte FACILITY_CLASS_BIRD_KEEPER .string "TREVIN$", 8 @ pre-battle speech - ec_word THERE - ec_word IS - ec_word NONE - ec_word BETTER - ec_word THAN - ec_word ME + .2byte EC_WORD_THERE + .2byte EC_WORD_IS + .2byte EC_WORD_NONE + .2byte EC_WORD_BETTER + .2byte EC_WORD_THAN + .2byte EC_WORD_ME @ win speech - ec_word YES_SIR_EXCL + .2byte EC_WORD_YES_SIR_EXCL .2byte -1 .2byte -1 - ec_word I_AM - ec_word THE - ec_word BEST + .2byte EC_WORD_I_AM + .2byte EC_WORD_THE + .2byte EC_WORD_BEST @ loss speech - ec_word SERIOUS - ec_word QUES_EXCL + .2byte EC_WORD_SERIOUS + .2byte EC_WORD_QUES_EXCL .2byte -1 .2byte -1 .2byte -1 @@ -2107,935 +2107,935 @@ gBattleFrontierTrainers:: @ 85D5ACC .4byte gBattleFrontierTrainerMons_Trevin @ 81 - .4byte TRAINER_CLASS_SAILOR + .4byte FACILITY_CLASS_SAILOR .string "PATRICK$", 8 @ pre-battle speech - ec_word I_AM - ec_word PERFECT - ec_word EXCL - ec_word GIVE_UP - ec_word NOW + .2byte EC_WORD_I_AM + .2byte EC_WORD_PERFECT + .2byte EC_WORD_EXCL + .2byte EC_WORD_GIVE_UP + .2byte EC_WORD_NOW .2byte -1 @ win speech - ec_word DON_T - ec_word BE - ec_word DISAPPOINTED - ec_word I_AM - ec_word PERFECT + .2byte EC_WORD_DON_T + .2byte EC_WORD_BE + .2byte EC_WORD_DISAPPOINTED + .2byte EC_WORD_I_AM + .2byte EC_WORD_PERFECT .2byte -1 @ loss speech - ec_word BUT - ec_word HOW - ec_word QUES - ec_word I_AM - ec_word PERFECT - ec_word ELLIPSIS + .2byte EC_WORD_BUT + .2byte EC_WORD_HOW + .2byte EC_WORD_QUES + .2byte EC_WORD_I_AM + .2byte EC_WORD_PERFECT + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Patrick @ 82 - .4byte TRAINER_CLASS_SAILOR + .4byte FACILITY_CLASS_SAILOR .string "KADEN$", 8 @ pre-battle speech - ec_word WHAT - ec_word ARE - ec_word YOU - ec_word UP - ec_word TO - ec_word QUES + .2byte EC_WORD_WHAT + .2byte EC_WORD_ARE + .2byte EC_WORD_YOU + .2byte EC_WORD_UP + .2byte EC_WORD_TO + .2byte EC_WORD_QUES @ win speech - ec_word YOU - ec_word WERE - ec_word A - ec_word SURPRISE - ec_word TO_ME - ec_word EXCL + .2byte EC_WORD_YOU + .2byte EC_WORD_WERE + .2byte EC_WORD_A + .2byte EC_WORD_SURPRISE + .2byte EC_WORD_TO_ME + .2byte EC_WORD_EXCL @ loss speech - ec_word I - ec_word DON_T - ec_word KNOW - ec_word WHO - ec_word I_AM - ec_word ELLIPSIS + .2byte EC_WORD_I + .2byte EC_WORD_DON_T + .2byte EC_WORD_KNOW + .2byte EC_WORD_WHO + .2byte EC_WORD_I_AM + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Kaden @ 83 - .4byte TRAINER_CLASS_SAILOR + .4byte FACILITY_CLASS_SAILOR .string "MAXWELL$", 8 @ pre-battle speech - ec_word HEY_THERE - ec_word WHO_IS - ec_word YOUR - ec_word RIVAL - ec_word QUES + .2byte EC_WORD_HEY_THERE + .2byte EC_WORD_WHO_IS + .2byte EC_WORD_YOUR + .2byte EC_WORD_RIVAL + .2byte EC_WORD_QUES .2byte -1 @ win speech - ec_word MY - ec_word RIVAL - ec_word IS - ec_word MY - ec_word GIRL - ec_word FRIEND + .2byte EC_WORD_MY + .2byte EC_WORD_RIVAL + .2byte EC_WORD_IS + .2byte EC_WORD_MY + .2byte EC_WORD_GIRL + .2byte EC_WORD_FRIEND @ loss speech - ec_word I_AM - ec_word MAKING - ec_word YOU - ec_word MY - ec_word RIVAL + .2byte EC_WORD_I_AM + .2byte EC_WORD_MAKING + .2byte EC_WORD_YOU + .2byte EC_WORD_MY + .2byte EC_WORD_RIVAL .2byte -1 .4byte gBattleFrontierTrainerMons_Maxwell @ 84 - .4byte TRAINER_CLASS_HIKER + .4byte FACILITY_CLASS_HIKER .string "DARYL$", 8 @ pre-battle speech - ec_word I - ec_word ONLY - ec_word KNOW - ec_word HOW - ec_word TO - ec_move1 CHARGE + .2byte EC_WORD_I + .2byte EC_WORD_ONLY + .2byte EC_WORD_KNOW + .2byte EC_WORD_HOW + .2byte EC_WORD_TO + .2byte EC_MOVE(CHARGE) @ win speech - ec_word AM - ec_word I - ec_word OVERWHELMING - ec_word OR - ec_word WHAT - ec_word QUES + .2byte EC_WORD_AM + .2byte EC_WORD_I + .2byte EC_WORD_OVERWHELMING + .2byte EC_WORD_OR + .2byte EC_WORD_WHAT + .2byte EC_WORD_QUES @ loss speech - ec_word YOU_RE - ec_word GOING - ec_word TO - ec_word A - ec_word LEGEND - ec_word EXCL + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_GOING + .2byte EC_WORD_TO + .2byte EC_WORD_A + .2byte EC_WORD_LEGEND + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Daryl @ 85 - .4byte TRAINER_CLASS_HIKER + .4byte FACILITY_CLASS_HIKER .string "KENNETH$", 8 @ pre-battle speech - ec_word YOU - ec_word BETTER - ec_word NOT - ec_move2 SLACK_OFF - ec_word WITH - ec_word ME + .2byte EC_WORD_YOU + .2byte EC_WORD_BETTER + .2byte EC_WORD_NOT + .2byte EC_MOVE2(SLACK_OFF) + .2byte EC_WORD_WITH + .2byte EC_WORD_ME @ win speech - ec_word DID - ec_word MY - ec_move2 TAUNT - ec_word INTIMIDATE - ec_word YOU - ec_word QUES + .2byte EC_WORD_DID + .2byte EC_WORD_MY + .2byte EC_MOVE2(TAUNT) + .2byte EC_WORD_INTIMIDATE + .2byte EC_WORD_YOU + .2byte EC_WORD_QUES @ loss speech - ec_word I_AM - ec_word SORRY - ec_word ELLIPSIS + .2byte EC_WORD_I_AM + .2byte EC_WORD_SORRY + .2byte EC_WORD_ELLIPSIS .2byte -1 .2byte -1 .2byte -1 .4byte gBattleFrontierTrainerMons_Kenneth @ 86 - .4byte TRAINER_CLASS_HIKER + .4byte FACILITY_CLASS_HIKER .string "RICH$", 8 @ pre-battle speech - ec_word YOUR - ec_move1 FACADE - ec_word DOESN_T - ec_move2 TRICK - ec_word ME + .2byte EC_WORD_YOUR + .2byte EC_MOVE(FACADE) + .2byte EC_WORD_DOESN_T + .2byte EC_MOVE2(TRICK) + .2byte EC_WORD_ME .2byte -1 @ win speech - ec_word SERIOUSLY - ec_word ARE - ec_word YOU - ec_word REALLY - ec_word OK_QUES + .2byte EC_WORD_SERIOUSLY + .2byte EC_WORD_ARE + .2byte EC_WORD_YOU + .2byte EC_WORD_REALLY + .2byte EC_WORD_OK_QUES .2byte -1 @ loss speech - ec_word THAT_WAS - ec_word REALLY - ec_word TOUGH - ec_word ON - ec_word ME + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_REALLY + .2byte EC_WORD_TOUGH + .2byte EC_WORD_ON + .2byte EC_WORD_ME .2byte -1 .4byte gBattleFrontierTrainerMons_Rich @ 87 - .4byte TRAINER_CLASS_KINDLER + .4byte FACILITY_CLASS_KINDLER .string "CADEN$", 8 @ pre-battle speech - ec_word I - ec_word CAN_T - ec_word BE - ec_word DEFEATED - ec_word EXCL + .2byte EC_WORD_I + .2byte EC_WORD_CAN_T + .2byte EC_WORD_BE + .2byte EC_WORD_DEFEATED + .2byte EC_WORD_EXCL .2byte -1 @ win speech - ec_word FIRE - ec_word EXCL + .2byte EC_WORD_FIRE + .2byte EC_WORD_EXCL .2byte -1 - ec_word FIRE - ec_word EXCL_EXCL + .2byte EC_WORD_FIRE + .2byte EC_WORD_EXCL_EXCL .2byte -1 @ loss speech - ec_word I_AM - ec_word TIRED - ec_word ELLIPSIS - ec_word IT_S - ec_word SO - ec_word HOT + .2byte EC_WORD_I_AM + .2byte EC_WORD_TIRED + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_IT_S + .2byte EC_WORD_SO + .2byte EC_WORD_HOT .4byte gBattleFrontierTrainerMons_Caden @ 88 - .4byte TRAINER_CLASS_KINDLER + .4byte FACILITY_CLASS_KINDLER .string "MARLON$", 8 @ pre-battle speech - ec_word A - ec_word POKEDEX - ec_word IS - ec_word A_LITTLE - ec_word RADIO - ec_word QUES + .2byte EC_WORD_A + .2byte EC_WORD_POKEDEX + .2byte EC_WORD_IS + .2byte EC_WORD_A_LITTLE + .2byte EC_WORD_RADIO + .2byte EC_WORD_QUES @ win speech - ec_word A_LITTLE - ec_word RADIO - ec_word HUH_QUES - ec_word THAT_S - ec_word TOTALLY - ec_word COOL + .2byte EC_WORD_A_LITTLE + .2byte EC_WORD_RADIO + .2byte EC_WORD_HUH_QUES + .2byte EC_WORD_THAT_S + .2byte EC_WORD_TOTALLY + .2byte EC_WORD_COOL @ loss speech - ec_word IT_S - ec_word NOT - ec_word QUES - ec_word IS - ec_word POKENAV - ec_word QUES + .2byte EC_WORD_IT_S + .2byte EC_WORD_NOT + .2byte EC_WORD_QUES + .2byte EC_WORD_IS + .2byte EC_WORD_POKENAV + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Marlon @ 89 - .4byte TRAINER_CLASS_KINDLER + .4byte FACILITY_CLASS_KINDLER .string "NASH$", 8 @ pre-battle speech - ec_word I_AM - ec_word ON - ec_word FIRE - ec_word BABY - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_ON + .2byte EC_WORD_FIRE + .2byte EC_WORD_BABY + .2byte EC_WORD_EXCL .2byte -1 @ win speech - ec_word I - ec_word LEFT - ec_word YOU - ec_word JUST - ec_word AN - ec_move2 EMBER + .2byte EC_WORD_I + .2byte EC_WORD_LEFT + .2byte EC_WORD_YOU + .2byte EC_WORD_JUST + .2byte EC_WORD_AN + .2byte EC_MOVE2(EMBER) @ loss speech - ec_word AIYEEH - ec_word EXCL_EXCL + .2byte EC_WORD_AIYEEH + .2byte EC_WORD_EXCL_EXCL .2byte -1 - ec_word NO - ec_word WATER - ec_word PLEASE + .2byte EC_WORD_NO + .2byte EC_WORD_WATER + .2byte EC_WORD_PLEASE .4byte gBattleFrontierTrainerMons_Nash @ 90 - .4byte TRAINER_CLASS_TRIATHLETE_3 + .4byte FACILITY_CLASS_TRIATHLETE_3 .string "ROBBY$", 8 @ pre-battle speech - ec_word HAHAHA - ec_word EXCL - ec_word HAPPY - ec_word TO - ec_word MEET_YOU - ec_word EXCL + .2byte EC_WORD_HAHAHA + .2byte EC_WORD_EXCL + .2byte EC_WORD_HAPPY + .2byte EC_WORD_TO + .2byte EC_WORD_MEET_YOU + .2byte EC_WORD_EXCL @ win speech - ec_word I_AM - ec_word THE - ec_word LEADER - ec_word WITH - ec_word REFRESHING - ec_word SERENE_GRACE + .2byte EC_WORD_I_AM + .2byte EC_WORD_THE + .2byte EC_WORD_LEADER + .2byte EC_WORD_WITH + .2byte EC_WORD_REFRESHING + .2byte EC_WORD_SERENE_GRACE @ loss speech - ec_word I - ec_word WILL - ec_move1 THRASH - ec_word MY - ec_word TOYS - ec_word EXCL + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_MOVE(THRASH) + .2byte EC_WORD_MY + .2byte EC_WORD_TOYS + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Robby @ 91 - .4byte TRAINER_CLASS_TRIATHLETE_3 + .4byte FACILITY_CLASS_TRIATHLETE_3 .string "REECE$", 8 @ pre-battle speech - ec_word MY - ec_move2 QUICK_ATTACK - ec_word CAN - ec_word BEAT - ec_word A - ec_move2 TELEPORT + .2byte EC_WORD_MY + .2byte EC_MOVE2(QUICK_ATTACK) + .2byte EC_WORD_CAN + .2byte EC_WORD_BEAT + .2byte EC_WORD_A + .2byte EC_MOVE2(TELEPORT) @ win speech - ec_word LIKE - ec_word I - ec_word SAID - ec_word I_AM - ec_word DARN - ec_word FAST + .2byte EC_WORD_LIKE + .2byte EC_WORD_I + .2byte EC_WORD_SAID + .2byte EC_WORD_I_AM + .2byte EC_WORD_DARN + .2byte EC_WORD_FAST @ loss speech - ec_word I_WAS - ec_word KIDDING - ec_word ABOUT - ec_word THAT - ec_move2 TELEPORT - ec_word THING + .2byte EC_WORD_I_WAS + .2byte EC_WORD_KIDDING + .2byte EC_WORD_ABOUT + .2byte EC_WORD_THAT + .2byte EC_MOVE2(TELEPORT) + .2byte EC_WORD_THING .4byte gBattleFrontierTrainerMons_Reece @ 92 - .4byte TRAINER_CLASS_TRIATHLETE_4 + .4byte FACILITY_CLASS_TRIATHLETE_4 .string "KATHRYN$", 8 @ pre-battle speech - ec_word I - ec_word DON_T - ec_word TRAIN - ec_word GOOD - ec_word ENOUGH - ec_word QUES + .2byte EC_WORD_I + .2byte EC_WORD_DON_T + .2byte EC_WORD_TRAIN + .2byte EC_WORD_GOOD + .2byte EC_WORD_ENOUGH + .2byte EC_WORD_QUES @ win speech - ec_word DON_T - ec_move2 TAUNT - ec_word ME - ec_word LIKE - ec_word THAT - ec_word OK_QUES + .2byte EC_WORD_DON_T + .2byte EC_MOVE2(TAUNT) + .2byte EC_WORD_ME + .2byte EC_WORD_LIKE + .2byte EC_WORD_THAT + .2byte EC_WORD_OK_QUES @ loss speech - ec_word WHY - ec_word COULDN_T - ec_word I - ec_word WIN - ec_word THIS - ec_word QUES + .2byte EC_WORD_WHY + .2byte EC_WORD_COULDN_T + .2byte EC_WORD_I + .2byte EC_WORD_WIN + .2byte EC_WORD_THIS + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Kathryn @ 93 - .4byte TRAINER_CLASS_TRIATHLETE_4 + .4byte FACILITY_CLASS_TRIATHLETE_4 .string "ELLEN$", 8 @ pre-battle speech - ec_word CRUSH - ec_word YOU - ec_word LIKE - ec_word AN - ec_word EGG - ec_word EXCL + .2byte EC_WORD_CRUSH + .2byte EC_WORD_YOU + .2byte EC_WORD_LIKE + .2byte EC_WORD_AN + .2byte EC_WORD_EGG + .2byte EC_WORD_EXCL @ win speech - ec_word THAT_WAS - ec_word A - ec_word TASTY - ec_word VICTORY - ec_word FOR - ec_word ME + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_A + .2byte EC_WORD_TASTY + .2byte EC_WORD_VICTORY + .2byte EC_WORD_FOR + .2byte EC_WORD_ME @ loss speech - ec_word TOO - ec_word TOUGH - ec_word TO - ec_word CRUSH - ec_word EXCL + .2byte EC_WORD_TOO + .2byte EC_WORD_TOUGH + .2byte EC_WORD_TO + .2byte EC_WORD_CRUSH + .2byte EC_WORD_EXCL .2byte -1 .4byte gBattleFrontierTrainerMons_Ellen @ 94 - .4byte TRAINER_CLASS_TRIATHLETE_5 + .4byte FACILITY_CLASS_TRIATHLETE_5 .string "RAMON$", 8 @ pre-battle speech - ec_word OKAY - ec_word EXCL + .2byte EC_WORD_OKAY + .2byte EC_WORD_EXCL .2byte -1 - ec_word THIS - ec_word IS - ec_word PERFECTION + .2byte EC_WORD_THIS + .2byte EC_WORD_IS + .2byte EC_WORD_PERFECTION @ win speech - ec_word I_AM - ec_word HAPPY - ec_word THAT - ec_word I - ec_word WON - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_HAPPY + .2byte EC_WORD_THAT + .2byte EC_WORD_I + .2byte EC_WORD_WON + .2byte EC_WORD_EXCL @ loss speech - ec_word IT_S - ec_word A - ec_word SECRET - ec_word WHY - ec_word I_AM - ec_word HAPPY + .2byte EC_WORD_IT_S + .2byte EC_WORD_A + .2byte EC_WORD_SECRET + .2byte EC_WORD_WHY + .2byte EC_WORD_I_AM + .2byte EC_WORD_HAPPY .4byte gBattleFrontierTrainerMons_Ramon @ 95 - .4byte TRAINER_CLASS_TRIATHLETE_5 + .4byte FACILITY_CLASS_TRIATHLETE_5 .string "ARTHUR$", 8 @ pre-battle speech - ec_word HERE_I_COME - ec_word FEELING - ec_word READY - ec_word FOR - ec_word IT - ec_word ALL + .2byte EC_WORD_HERE_I_COME + .2byte EC_WORD_FEELING + .2byte EC_WORD_READY + .2byte EC_WORD_FOR + .2byte EC_WORD_IT + .2byte EC_WORD_ALL @ win speech - ec_word THAT_S_IT_EXCL + .2byte EC_WORD_THAT_S_IT_EXCL .2byte -1 .2byte -1 - ec_word THAT_WAS - ec_word FABULOUS - ec_word EXCL + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_FABULOUS + .2byte EC_WORD_EXCL @ loss speech - ec_word THAT_WAS - ec_word NOT - ec_word WHAT - ec_word I - ec_word NEED + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_NOT + .2byte EC_WORD_WHAT + .2byte EC_WORD_I + .2byte EC_WORD_NEED .2byte -1 .4byte gBattleFrontierTrainerMons_Arthur @ 96 - .4byte TRAINER_CLASS_TRIATHLETE_6 + .4byte FACILITY_CLASS_TRIATHLETE_6 .string "ALONDRA$", 8 @ pre-battle speech - ec_word EVERY - ec_word DAY - ec_word IS - ec_word A - ec_word GREAT - ec_word DAY + .2byte EC_WORD_EVERY + .2byte EC_WORD_DAY + .2byte EC_WORD_IS + .2byte EC_WORD_A + .2byte EC_WORD_GREAT + .2byte EC_WORD_DAY @ win speech - ec_word MY - ec_move2 DIVE - ec_word WILL - ec_word BE - ec_word A - ec_word LEGEND + .2byte EC_WORD_MY + .2byte EC_MOVE2(DIVE) + .2byte EC_WORD_WILL + .2byte EC_WORD_BE + .2byte EC_WORD_A + .2byte EC_WORD_LEGEND @ loss speech - ec_word MY - ec_move2 DIVE - ec_word LEFT - ec_word ME - ec_word COLD - ec_word ELLIPSIS + .2byte EC_WORD_MY + .2byte EC_MOVE2(DIVE) + .2byte EC_WORD_LEFT + .2byte EC_WORD_ME + .2byte EC_WORD_COLD + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Alondra @ 97 - .4byte TRAINER_CLASS_TRIATHLETE_6 + .4byte FACILITY_CLASS_TRIATHLETE_6 .string "ADRIANA$", 8 @ pre-battle speech - ec_word COME - ec_word SEE - ec_word AN - ec_word INCREDIBLE - ec_word SWIFT_SWIM - ec_word EXCL + .2byte EC_WORD_COME + .2byte EC_WORD_SEE + .2byte EC_WORD_AN + .2byte EC_WORD_INCREDIBLE + .2byte EC_WORD_SWIFT_SWIM + .2byte EC_WORD_EXCL @ win speech - ec_word I - ec_word MAKE - ec_word IT - ec_word LOOK - ec_word SO - ec_word EASY + .2byte EC_WORD_I + .2byte EC_WORD_MAKE + .2byte EC_WORD_IT + .2byte EC_WORD_LOOK + .2byte EC_WORD_SO + .2byte EC_WORD_EASY @ loss speech - ec_word I_AM - ec_word FEELING - ec_move2 BEAT_UP - ec_word AND - ec_word TIRED + .2byte EC_WORD_I_AM + .2byte EC_WORD_FEELING + .2byte EC_MOVE2(BEAT_UP) + .2byte EC_WORD_AND + .2byte EC_WORD_TIRED .2byte -1 .4byte gBattleFrontierTrainerMons_Adriana @ 98 - .4byte TRAINER_CLASS_TRIATHLETE_1 + .4byte FACILITY_CLASS_TRIATHLETE_1 .string "MALIK$", 8 @ pre-battle speech - ec_word OH - ec_word NOT - ec_word ANOTHER - ec_word BATTLE - ec_word PLEASE - ec_word ELLIPSIS + .2byte EC_WORD_OH + .2byte EC_WORD_NOT + .2byte EC_WORD_ANOTHER + .2byte EC_WORD_BATTLE + .2byte EC_WORD_PLEASE + .2byte EC_WORD_ELLIPSIS @ win speech - ec_word I - ec_word FINALLY - ec_word WON - ec_word ELLIPSIS - ec_word I_AM - ec_word TIRED + .2byte EC_WORD_I + .2byte EC_WORD_FINALLY + .2byte EC_WORD_WON + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_I_AM + .2byte EC_WORD_TIRED @ loss speech - ec_word I - ec_word FINALLY - ec_word LOST - ec_word ELLIPSIS - ec_word I_AM - ec_word TIRED + .2byte EC_WORD_I + .2byte EC_WORD_FINALLY + .2byte EC_WORD_LOST + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_I_AM + .2byte EC_WORD_TIRED .4byte gBattleFrontierTrainerMons_Malik @ 99 - .4byte TRAINER_CLASS_TRIATHLETE_2 + .4byte FACILITY_CLASS_TRIATHLETE_2 .string "JILL$", 8 @ pre-battle speech - ec_word I_AM - ec_word THE - ec_move2 QUICK_ATTACK - ec_word TRAINER - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_THE + .2byte EC_MOVE2(QUICK_ATTACK) + .2byte EC_WORD_TRAINER + .2byte EC_WORD_EXCL .2byte -1 @ win speech - ec_word THE - ec_move2 QUICK_ATTACK - ec_word TRAINER - ec_word WINS - ec_word EXCL + .2byte EC_WORD_THE + .2byte EC_MOVE2(QUICK_ATTACK) + .2byte EC_WORD_TRAINER + .2byte EC_WORD_WINS + .2byte EC_WORD_EXCL .2byte -1 @ loss speech - ec_word THE - ec_move2 QUICK_ATTACK - ec_word TRAINER - ec_word GIVES - ec_word UP - ec_word EXCL + .2byte EC_WORD_THE + .2byte EC_MOVE2(QUICK_ATTACK) + .2byte EC_WORD_TRAINER + .2byte EC_WORD_GIVES + .2byte EC_WORD_UP + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Jill @ 100 - .4byte TRAINER_CLASS_TRIATHLETE_3 + .4byte FACILITY_CLASS_TRIATHLETE_3 .string "ERIK$", 8 @ pre-battle speech - ec_word I_AM - ec_word THE - ec_word SPEED_BOOST - ec_word HERO - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_THE + .2byte EC_WORD_SPEED_BOOST + .2byte EC_WORD_HERO + .2byte EC_WORD_EXCL .2byte -1 @ win speech - ec_word THANK_YOU - ec_word FROM - ec_word THE - ec_word SPEED_BOOST - ec_word HERO - ec_word EXCL + .2byte EC_WORD_THANK_YOU + .2byte EC_WORD_FROM + .2byte EC_WORD_THE + .2byte EC_WORD_SPEED_BOOST + .2byte EC_WORD_HERO + .2byte EC_WORD_EXCL @ loss speech - ec_word WAAAH - ec_word EXCL_EXCL + .2byte EC_WORD_WAAAH + .2byte EC_WORD_EXCL_EXCL .2byte -1 - ec_word NO - ec_word NO - ec_word EXCL_EXCL + .2byte EC_WORD_NO + .2byte EC_WORD_NO + .2byte EC_WORD_EXCL_EXCL .4byte gBattleFrontierTrainerMons_Erik @ 101 - .4byte TRAINER_CLASS_TRIATHLETE_4 + .4byte FACILITY_CLASS_TRIATHLETE_4 .string "YAZMIN$", 8 @ pre-battle speech - ec_word I - ec_word WOULD - ec_word RATHER - ec_word RUN - ec_word THAN - ec_word BIKE + .2byte EC_WORD_I + .2byte EC_WORD_WOULD + .2byte EC_WORD_RATHER + .2byte EC_WORD_RUN + .2byte EC_WORD_THAN + .2byte EC_WORD_BIKE @ win speech - ec_word YES - ec_word I - ec_word WOULD - ec_word MUCH - ec_word RATHER - ec_word RUN + .2byte EC_WORD_YES + .2byte EC_WORD_I + .2byte EC_WORD_WOULD + .2byte EC_WORD_MUCH + .2byte EC_WORD_RATHER + .2byte EC_WORD_RUN @ loss speech - ec_word BYE_BYE - ec_word EXCL - ec_word I_AM - ec_word GOING - ec_word TO - ec_word RUN_AWAY + .2byte EC_WORD_BYE_BYE + .2byte EC_WORD_EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_GOING + .2byte EC_WORD_TO + .2byte EC_WORD_RUN_AWAY .4byte gBattleFrontierTrainerMons_Yazmin @ 102 - .4byte TRAINER_CLASS_TRIATHLETE_5 + .4byte FACILITY_CLASS_TRIATHLETE_5 .string "JAMAL$", 8 @ pre-battle speech - ec_word I_AM - ec_word GOING - ec_word TO - ec_word BE - ec_word A - ec_word FATHER + .2byte EC_WORD_I_AM + .2byte EC_WORD_GOING + .2byte EC_WORD_TO + .2byte EC_WORD_BE + .2byte EC_WORD_A + .2byte EC_WORD_FATHER @ win speech - ec_word I - ec_word CAN_T - ec_word WAIT - ec_word FOR - ec_word MY - ec_word BABY + .2byte EC_WORD_I + .2byte EC_WORD_CAN_T + .2byte EC_WORD_WAIT + .2byte EC_WORD_FOR + .2byte EC_WORD_MY + .2byte EC_WORD_BABY @ loss speech - ec_word MY - ec_word BABY - ec_word WILL - ec_word BE - ec_word TOTALLY - ec_word AWESOME + .2byte EC_WORD_MY + .2byte EC_WORD_BABY + .2byte EC_WORD_WILL + .2byte EC_WORD_BE + .2byte EC_WORD_TOTALLY + .2byte EC_WORD_AWESOME .4byte gBattleFrontierTrainerMons_Jamal @ 103 - .4byte TRAINER_CLASS_TRIATHLETE_6 + .4byte FACILITY_CLASS_TRIATHLETE_6 .string "LESLIE$", 8 @ pre-battle speech - ec_word I_AM - ec_word GOING - ec_word TO - ec_word BE - ec_word A - ec_word MOTHER + .2byte EC_WORD_I_AM + .2byte EC_WORD_GOING + .2byte EC_WORD_TO + .2byte EC_WORD_BE + .2byte EC_WORD_A + .2byte EC_WORD_MOTHER @ win speech - ec_word A - ec_word BABY - ec_word WILL - ec_word BE - ec_word A_LITTLE - ec_word CHALLENGE + .2byte EC_WORD_A + .2byte EC_WORD_BABY + .2byte EC_WORD_WILL + .2byte EC_WORD_BE + .2byte EC_WORD_A_LITTLE + .2byte EC_WORD_CHALLENGE @ loss speech - ec_word I_AM - ec_word TOO - ec_word HAPPY - ec_word TO - ec_word BE - ec_word ANGRY + .2byte EC_WORD_I_AM + .2byte EC_WORD_TOO + .2byte EC_WORD_HAPPY + .2byte EC_WORD_TO + .2byte EC_WORD_BE + .2byte EC_WORD_ANGRY .4byte gBattleFrontierTrainerMons_Leslie @ 104 - .4byte TRAINER_CLASS_TRIATHLETE_1 + .4byte FACILITY_CLASS_TRIATHLETE_1 .string "DAVE$", 8 @ pre-battle speech - ec_word WHAT - ec_word SHOULD - ec_word I - ec_word DO - ec_word TODAY - ec_word QUES + .2byte EC_WORD_WHAT + .2byte EC_WORD_SHOULD + .2byte EC_WORD_I + .2byte EC_WORD_DO + .2byte EC_WORD_TODAY + .2byte EC_WORD_QUES @ win speech - ec_word I - ec_word SHOULD - ec_word ENJOY - ec_word SOME - ec_word SPORTS - ec_word EXCL + .2byte EC_WORD_I + .2byte EC_WORD_SHOULD + .2byte EC_WORD_ENJOY + .2byte EC_WORD_SOME + .2byte EC_WORD_SPORTS + .2byte EC_WORD_EXCL @ loss speech - ec_word I - ec_word WILL - ec_word GO - ec_word PLAY - ec_word A - ec_word GAME + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_WORD_GO + .2byte EC_WORD_PLAY + .2byte EC_WORD_A + .2byte EC_WORD_GAME .4byte gBattleFrontierTrainerMons_Dave @ 105 - .4byte TRAINER_CLASS_TRIATHLETE_1 + .4byte FACILITY_CLASS_TRIATHLETE_1 .string "CARLO$", 8 @ pre-battle speech - ec_word HAH - ec_word EXCL_EXCL + .2byte EC_WORD_HAH + .2byte EC_WORD_EXCL_EXCL .2byte -1 - ec_word YEAH - ec_word EXCL_EXCL + .2byte EC_WORD_YEAH + .2byte EC_WORD_EXCL_EXCL .2byte -1 @ win speech - ec_word I - ec_word DO - ec_word THINGS - ec_word AT - ec_move1 EXTREME_SPEED - ec_word EXCL + .2byte EC_WORD_I + .2byte EC_WORD_DO + .2byte EC_WORD_THINGS + .2byte EC_WORD_AT + .2byte EC_MOVE(EXTREME_SPEED) + .2byte EC_WORD_EXCL @ loss speech - ec_word I - ec_word LOST - ec_word AT - ec_move1 EXTREME_SPEED - ec_word ELLIPSIS + .2byte EC_WORD_I + .2byte EC_WORD_LOST + .2byte EC_WORD_AT + .2byte EC_MOVE(EXTREME_SPEED) + .2byte EC_WORD_ELLIPSIS .2byte -1 .4byte gBattleFrontierTrainerMons_Carlo @ 106 - .4byte TRAINER_CLASS_TRIATHLETE_2 + .4byte FACILITY_CLASS_TRIATHLETE_2 .string "EMILIA$", 8 @ pre-battle speech - ec_word ME - ec_word WORRY - ec_word QUES - ec_word I - ec_word HAVE - ec_word NONE + .2byte EC_WORD_ME + .2byte EC_WORD_WORRY + .2byte EC_WORD_QUES + .2byte EC_WORD_I + .2byte EC_WORD_HAVE + .2byte EC_WORD_NONE @ win speech - ec_word AHAHA - ec_word SEE - ec_word QUES - ec_word THAT_WAS - ec_word FANTASTIC - ec_word EXCL + .2byte EC_WORD_AHAHA + .2byte EC_WORD_SEE + .2byte EC_WORD_QUES + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_FANTASTIC + .2byte EC_WORD_EXCL @ loss speech - ec_word AHAHA - ec_word SEE - ec_word QUES - ec_word THAT_WAS - ec_word ENTERTAINING - ec_word EXCL + .2byte EC_WORD_AHAHA + .2byte EC_WORD_SEE + .2byte EC_WORD_QUES + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_ENTERTAINING + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Emilia @ 107 - .4byte TRAINER_CLASS_TRIATHLETE_2 + .4byte FACILITY_CLASS_TRIATHLETE_2 .string "DALIA$", 8 @ pre-battle speech - ec_word MY - ec_word BIKE - ec_word IS - ec_word VERY - ec_word EXPENSIVE + .2byte EC_WORD_MY + .2byte EC_WORD_BIKE + .2byte EC_WORD_IS + .2byte EC_WORD_VERY + .2byte EC_WORD_EXPENSIVE .2byte -1 @ win speech - ec_word DON_T - ec_word COME - ec_word NEAR - ec_word MY - ec_word BIKE - ec_word EXCL + .2byte EC_WORD_DON_T + .2byte EC_WORD_COME + .2byte EC_WORD_NEAR + .2byte EC_WORD_MY + .2byte EC_WORD_BIKE + .2byte EC_WORD_EXCL @ loss speech - ec_word MY - ec_word BIKE - ec_word IS - ec_word MY - ec_word BEST - ec_word FRIEND + .2byte EC_WORD_MY + .2byte EC_WORD_BIKE + .2byte EC_WORD_IS + .2byte EC_WORD_MY + .2byte EC_WORD_BEST + .2byte EC_WORD_FRIEND .4byte gBattleFrontierTrainerMons_Dalia @ 108 - .4byte TRAINER_CLASS_BLACK_BELT + .4byte FACILITY_CLASS_BLACK_BELT .string "HITOMI$", 8 @ pre-battle speech - ec_word YEAH - ec_word EXCL_EXCL + .2byte EC_WORD_YEAH + .2byte EC_WORD_EXCL_EXCL .2byte -1 - ec_word HAH - ec_word EXCL_EXCL + .2byte EC_WORD_HAH + .2byte EC_WORD_EXCL_EXCL .2byte -1 @ win speech - ec_word WHAT - ec_word QUES_EXCL + .2byte EC_WORD_WHAT + .2byte EC_WORD_QUES_EXCL .2byte -1 - ec_word I - ec_word WON - ec_word QUES_EXCL + .2byte EC_WORD_I + .2byte EC_WORD_WON + .2byte EC_WORD_QUES_EXCL @ loss speech - ec_word AIYEEH - ec_word EXCL_EXCL + .2byte EC_WORD_AIYEEH + .2byte EC_WORD_EXCL_EXCL .2byte -1 - ec_word I_AM - ec_word SORRY - ec_word EXCL_EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_SORRY + .2byte EC_WORD_EXCL_EXCL .4byte gBattleFrontierTrainerMons_Hitomi @ 109 - .4byte TRAINER_CLASS_BLACK_BELT + .4byte FACILITY_CLASS_BLACK_BELT .string "RICARDO$", 8 @ pre-battle speech - ec_word COME_ON - ec_word EXCL - ec_word PLAY - ec_word TIME - ec_word IS - ec_word OVER + .2byte EC_WORD_COME_ON + .2byte EC_WORD_EXCL + .2byte EC_WORD_PLAY + .2byte EC_WORD_TIME + .2byte EC_WORD_IS + .2byte EC_WORD_OVER @ win speech - ec_word YOU_RE - ec_word OUT - ec_word OF - ec_word HERE - ec_word EXCL + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_OUT + .2byte EC_WORD_OF + .2byte EC_WORD_HERE + .2byte EC_WORD_EXCL .2byte -1 @ loss speech - ec_word PLEASE - ec_word DON_T - ec_word HIT - ec_word ME - ec_word EXCL + .2byte EC_WORD_PLEASE + .2byte EC_WORD_DON_T + .2byte EC_WORD_HIT + .2byte EC_WORD_ME + .2byte EC_WORD_EXCL .2byte -1 .4byte gBattleFrontierTrainerMons_Ricardo @ 110 - .4byte TRAINER_CLASS_BLACK_BELT + .4byte FACILITY_CLASS_BLACK_BELT .string "SHIZUKA$", 8 @ pre-battle speech - ec_word SHOW - ec_word ME - ec_word THAT - ec_word YOU_RE - ec_word SERIOUS - ec_word EXCL + .2byte EC_WORD_SHOW + .2byte EC_WORD_ME + .2byte EC_WORD_THAT + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_SERIOUS + .2byte EC_WORD_EXCL @ win speech - ec_word I - ec_word WON_T - ec_word FORGET - ec_word ABOUT - ec_word YOU + .2byte EC_WORD_I + .2byte EC_WORD_WON_T + .2byte EC_WORD_FORGET + .2byte EC_WORD_ABOUT + .2byte EC_WORD_YOU .2byte -1 @ loss speech - ec_word YOU_RE - ec_word PERFECT - ec_word IN - ec_word EVERY - ec_word WAY - ec_word EXCL + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_PERFECT + .2byte EC_WORD_IN + .2byte EC_WORD_EVERY + .2byte EC_WORD_WAY + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Shizuka @ 111 - .4byte TRAINER_CLASS_BATTLE_GIRL + .4byte FACILITY_CLASS_BATTLE_GIRL .string "JOANA$", 8 @ pre-battle speech - ec_word YOU_RE - ec_word GOING - ec_word TO - ec_word LOSE - ec_word RIGHT - ec_word AWAY + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_GOING + .2byte EC_WORD_TO + .2byte EC_WORD_LOSE + .2byte EC_WORD_RIGHT + .2byte EC_WORD_AWAY @ win speech - ec_word I_AM - ec_word THE - ec_word WINNER - ec_word HEAR - ec_word ME - ec_move2 ROAR + .2byte EC_WORD_I_AM + .2byte EC_WORD_THE + .2byte EC_WORD_WINNER + .2byte EC_WORD_HEAR + .2byte EC_WORD_ME + .2byte EC_MOVE2(ROAR) @ loss speech - ec_word I - ec_word REFUSE - ec_word TO - ec_word ACCEPT - ec_word THAT - ec_move1 OUTRAGE + .2byte EC_WORD_I + .2byte EC_WORD_REFUSE + .2byte EC_WORD_TO + .2byte EC_WORD_ACCEPT + .2byte EC_WORD_THAT + .2byte EC_MOVE(OUTRAGE) .4byte gBattleFrontierTrainerMons_Joana @ 112 - .4byte TRAINER_CLASS_BATTLE_GIRL + .4byte FACILITY_CLASS_BATTLE_GIRL .string "KELLY$", 8 @ pre-battle speech - ec_word MY - ec_word NIGHT - ec_word SCHOOL - ec_word IS - ec_word REALLY - ec_word SCARY + .2byte EC_WORD_MY + .2byte EC_WORD_NIGHT + .2byte EC_WORD_SCHOOL + .2byte EC_WORD_IS + .2byte EC_WORD_REALLY + .2byte EC_WORD_SCARY @ win speech - ec_word A - ec_word LADY - ec_word GHOST - ec_word APPEARS - ec_word THERE + .2byte EC_WORD_A + .2byte EC_WORD_LADY + .2byte EC_WORD_GHOST + .2byte EC_WORD_APPEARS + .2byte EC_WORD_THERE .2byte -1 @ loss speech - ec_word THE - ec_word HOME - ec_word WORK - ec_word IS - ec_word AWFULLY - ec_word SCARY + .2byte EC_WORD_THE + .2byte EC_WORD_HOME + .2byte EC_WORD_WORK + .2byte EC_WORD_IS + .2byte EC_WORD_AWFULLY + .2byte EC_WORD_SCARY .4byte gBattleFrontierTrainerMons_Kelly @ 113 - .4byte TRAINER_CLASS_BATTLE_GIRL + .4byte FACILITY_CLASS_BATTLE_GIRL .string "RAYNA$", 8 @ pre-battle speech - ec_word I_AM - ec_word NO_1 - ec_word WHEN - ec_word IT_S - ec_word ABOUT - ec_word POWER + .2byte EC_WORD_I_AM + .2byte EC_WORD_NO_1 + .2byte EC_WORD_WHEN + .2byte EC_WORD_IT_S + .2byte EC_WORD_ABOUT + .2byte EC_WORD_POWER @ win speech - ec_word UNDERSTAND - ec_word MY - ec_word POWER - ec_word NOW - ec_word QUES + .2byte EC_WORD_UNDERSTAND + .2byte EC_WORD_MY + .2byte EC_WORD_POWER + .2byte EC_WORD_NOW + .2byte EC_WORD_QUES .2byte -1 @ loss speech - ec_word TERRIBLE - ec_word ELLIPSIS + .2byte EC_WORD_TERRIBLE + .2byte EC_WORD_ELLIPSIS .2byte -1 - ec_word I_AM - ec_word TERRIBLE - ec_word ELLIPSIS + .2byte EC_WORD_I_AM + .2byte EC_WORD_TERRIBLE + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Rayna @ 114 - .4byte TRAINER_CLASS_EXPERT_1 + .4byte FACILITY_CLASS_EXPERT_1 .string "EVAN$", 8 @ pre-battle speech - ec_word EVERY - ec_word BATTLE - ec_word HAS - ec_word A - ec_word SMELL + .2byte EC_WORD_EVERY + .2byte EC_WORD_BATTLE + .2byte EC_WORD_HAS + .2byte EC_WORD_A + .2byte EC_WORD_SMELL .2byte -1 @ win speech - ec_word OH - ec_word EXCL - ec_word THE - ec_move1 SWEET_SCENT - ec_word OF - ec_word VICTORY + .2byte EC_WORD_OH + .2byte EC_WORD_EXCL + .2byte EC_WORD_THE + .2byte EC_MOVE(SWEET_SCENT) + .2byte EC_WORD_OF + .2byte EC_WORD_VICTORY @ loss speech - ec_word THE - ec_word AWFUL - ec_word STENCH - ec_word OF - ec_word A - ec_word LOSS + .2byte EC_WORD_THE + .2byte EC_WORD_AWFUL + .2byte EC_WORD_STENCH + .2byte EC_WORD_OF + .2byte EC_WORD_A + .2byte EC_WORD_LOSS .4byte gBattleFrontierTrainerMons_Evan @ 115 - .4byte TRAINER_CLASS_EXPERT_1 + .4byte FACILITY_CLASS_EXPERT_1 .string "JORDAN$", 8 @ pre-battle speech - ec_word GOOD - ec_word EXCL + .2byte EC_WORD_GOOD + .2byte EC_WORD_EXCL .2byte -1 - ec_word COME_ON - ec_word EXCL_EXCL + .2byte EC_WORD_COME_ON + .2byte EC_WORD_EXCL_EXCL .2byte -1 @ win speech - ec_word YOU - ec_word CAN_T - ec_word BEAT - ec_word ME - ec_word EXCL + .2byte EC_WORD_YOU + .2byte EC_WORD_CAN_T + .2byte EC_WORD_BEAT + .2byte EC_WORD_ME + .2byte EC_WORD_EXCL .2byte -1 @ loss speech - ec_word WHAT - ec_word QUES_EXCL + .2byte EC_WORD_WHAT + .2byte EC_WORD_QUES_EXCL .2byte -1 - ec_word BUT - ec_word HOW - ec_word QUES + .2byte EC_WORD_BUT + .2byte EC_WORD_HOW + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Jordan @ 116 - .4byte TRAINER_CLASS_EXPERT_1 + .4byte FACILITY_CLASS_EXPERT_1 .string "JOEL$", 8 @ pre-battle speech - ec_word FUFUFU - ec_word ELLIPSIS + .2byte EC_WORD_FUFUFU + .2byte EC_WORD_ELLIPSIS .2byte -1 .2byte -1 .2byte -1 .2byte -1 @ win speech - ec_word GIGGLE - ec_word ELLIPSIS + .2byte EC_WORD_GIGGLE + .2byte EC_WORD_ELLIPSIS .2byte -1 .2byte -1 .2byte -1 .2byte -1 @ loss speech - ec_word HAHAHA - ec_word ELLIPSIS + .2byte EC_WORD_HAHAHA + .2byte EC_WORD_ELLIPSIS .2byte -1 .2byte -1 .2byte -1 @@ -3043,4759 +3043,4759 @@ gBattleFrontierTrainers:: @ 85D5ACC .4byte gBattleFrontierTrainerMons_Joel @ 117 - .4byte TRAINER_CLASS_EXPERT_2 + .4byte FACILITY_CLASS_EXPERT_2 .string "KRISTEN$", 8 @ pre-battle speech - ec_word HAHAHA - ec_word ELLIPSIS + .2byte EC_WORD_HAHAHA + .2byte EC_WORD_ELLIPSIS .2byte -1 - ec_word A - ec_word KID - ec_word ELLIPSIS + .2byte EC_WORD_A + .2byte EC_WORD_KID + .2byte EC_WORD_ELLIPSIS @ win speech - ec_word JUST - ec_word A_LITTLE - ec_word KID - ec_word AFTER - ec_word ALL - ec_word EXCL + .2byte EC_WORD_JUST + .2byte EC_WORD_A_LITTLE + .2byte EC_WORD_KID + .2byte EC_WORD_AFTER + .2byte EC_WORD_ALL + .2byte EC_WORD_EXCL @ loss speech - ec_word A - ec_word TOUGH - ec_word KID - ec_word HUH_QUES - ec_word HUMPH - ec_word EXCL + .2byte EC_WORD_A + .2byte EC_WORD_TOUGH + .2byte EC_WORD_KID + .2byte EC_WORD_HUH_QUES + .2byte EC_WORD_HUMPH + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Kristen @ 118 - .4byte TRAINER_CLASS_EXPERT_2 + .4byte FACILITY_CLASS_EXPERT_2 .string "SELPHY$", 8 @ pre-battle speech - ec_word HUH_QUES - ec_word WHAT - ec_word IS_IT_QUES + .2byte EC_WORD_HUH_QUES + .2byte EC_WORD_WHAT + .2byte EC_WORD_IS_IT_QUES .2byte -1 .2byte -1 .2byte -1 @ win speech - ec_word OH - ec_word YES - ec_word EXCL - ec_word WHY - ec_word NOT - ec_word QUES + .2byte EC_WORD_OH + .2byte EC_WORD_YES + .2byte EC_WORD_EXCL + .2byte EC_WORD_WHY + .2byte EC_WORD_NOT + .2byte EC_WORD_QUES @ loss speech - ec_word OH - ec_word NO - ec_word EXCL - ec_word WHY - ec_word NOT - ec_word QUES + .2byte EC_WORD_OH + .2byte EC_WORD_NO + .2byte EC_WORD_EXCL + .2byte EC_WORD_WHY + .2byte EC_WORD_NOT + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Selphy @ 119 - .4byte TRAINER_CLASS_EXPERT_2 + .4byte FACILITY_CLASS_EXPERT_2 .string "CHLOE$", 8 @ pre-battle speech - ec_word COME - ec_word WE - ec_word WILL - ec_word DO - ec_word BATTLE - ec_word NOW + .2byte EC_WORD_COME + .2byte EC_WORD_WE + .2byte EC_WORD_WILL + .2byte EC_WORD_DO + .2byte EC_WORD_BATTLE + .2byte EC_WORD_NOW @ win speech - ec_word MORE - ec_word EXCL + .2byte EC_WORD_MORE + .2byte EC_WORD_EXCL .2byte -1 - ec_word ANOTHER - ec_word BATTLE - ec_word EXCL + .2byte EC_WORD_ANOTHER + .2byte EC_WORD_BATTLE + .2byte EC_WORD_EXCL @ loss speech - ec_word OH - ec_word EXCL + .2byte EC_WORD_OH + .2byte EC_WORD_EXCL .2byte -1 - ec_word STRONG - ec_word YOU - ec_word ARE + .2byte EC_WORD_STRONG + .2byte EC_WORD_YOU + .2byte EC_WORD_ARE .4byte gBattleFrontierTrainerMons_Chloe @ 120 - .4byte TRAINER_CLASS_PSYCHIC_1 + .4byte FACILITY_CLASS_PSYCHIC_1 .string "NORTON$", 8 @ pre-battle speech - ec_word I - ec_word KNOW - ec_word ONLY - ec_word YOU + .2byte EC_WORD_I + .2byte EC_WORD_KNOW + .2byte EC_WORD_ONLY + .2byte EC_WORD_YOU .2byte -1 .2byte -1 @ win speech - ec_word EXCUSE_ME - ec_word BUT - ec_word YOU_RE - ec_word A - ec_word PUSHOVER - ec_word EXCL + .2byte EC_WORD_EXCUSE_ME + .2byte EC_WORD_BUT + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_A + .2byte EC_WORD_PUSHOVER + .2byte EC_WORD_EXCL @ loss speech - ec_word YOU_RE - ec_word SOME - ec_word KIND - ec_word OF - ec_word AWESOME - ec_word EXCL + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_SOME + .2byte EC_WORD_KIND + .2byte EC_WORD_OF + .2byte EC_WORD_AWESOME + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Norton @ 121 - .4byte TRAINER_CLASS_PSYCHIC_1 + .4byte FACILITY_CLASS_PSYCHIC_1 .string "LUKAS$", 8 @ pre-battle speech - ec_word MY - ec_word JOKING - ec_word IS - ec_word PRETTY - ec_word TERRIBLE - ec_word ELLIPSIS + .2byte EC_WORD_MY + .2byte EC_WORD_JOKING + .2byte EC_WORD_IS + .2byte EC_WORD_PRETTY + .2byte EC_WORD_TERRIBLE + .2byte EC_WORD_ELLIPSIS @ win speech - ec_word YOUR - ec_word ROCK_HEAD - ec_word EXISTS - ec_word TO - ec_word SHINE - ec_word EXCL + .2byte EC_WORD_YOUR + .2byte EC_WORD_ROCK_HEAD + .2byte EC_WORD_EXISTS + .2byte EC_WORD_TO + .2byte EC_WORD_SHINE + .2byte EC_WORD_EXCL @ loss speech - ec_word YOUR - ec_word ROCK_HEAD - ec_word COME - ec_word TO - ec_word SHINE + .2byte EC_WORD_YOUR + .2byte EC_WORD_ROCK_HEAD + .2byte EC_WORD_COME + .2byte EC_WORD_TO + .2byte EC_WORD_SHINE .2byte -1 .4byte gBattleFrontierTrainerMons_Lukas @ 122 - .4byte TRAINER_CLASS_PSYCHIC_1 + .4byte FACILITY_CLASS_PSYCHIC_1 .string "ZACH$", 8 @ pre-battle speech - ec_word I_AM - ec_word AN - ec_word EXCELLENT - ec_move2 MIMIC - ec_word OF - ec_word POKEMON + .2byte EC_WORD_I_AM + .2byte EC_WORD_AN + .2byte EC_WORD_EXCELLENT + .2byte EC_MOVE2(MIMIC) + .2byte EC_WORD_OF + .2byte EC_WORD_POKEMON @ win speech - ec_word I_AM - ec_word HAPPY - ec_word LIKE - ec_word A_LITTLE - ec_pokemon2 TOGEPI - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_HAPPY + .2byte EC_WORD_LIKE + .2byte EC_WORD_A_LITTLE + .2byte EC_POKEMON2(TOGEPI) + .2byte EC_WORD_EXCL @ loss speech - ec_word I_AM - ec_word ANGRY - ec_word LIKE - ec_word A - ec_pokemon2 MANKEY - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_ANGRY + .2byte EC_WORD_LIKE + .2byte EC_WORD_A + .2byte EC_POKEMON2(MANKEY) + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Zach @ 123 - .4byte TRAINER_CLASS_PSYCHIC_2 + .4byte FACILITY_CLASS_PSYCHIC_2 .string "KAITLYN$", 8 @ pre-battle speech - ec_word I - ec_word CRUSH - ec_word THINGS - ec_word WITH - ec_word PSYCHIC - ec_word POWER + .2byte EC_WORD_I + .2byte EC_WORD_CRUSH + .2byte EC_WORD_THINGS + .2byte EC_WORD_WITH + .2byte EC_WORD_PSYCHIC + .2byte EC_WORD_POWER @ win speech - ec_word MY - ec_word VICTORY - ec_word WILL - ec_word MAKE - ec_word THE - ec_word NEWS + .2byte EC_WORD_MY + .2byte EC_WORD_VICTORY + .2byte EC_WORD_WILL + .2byte EC_WORD_MAKE + .2byte EC_WORD_THE + .2byte EC_WORD_NEWS @ loss speech - ec_word NO - ec_word NO - ec_word ELLIPSIS - ec_word THIS - ec_word WON_T - ec_word DO + .2byte EC_WORD_NO + .2byte EC_WORD_NO + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_THIS + .2byte EC_WORD_WON_T + .2byte EC_WORD_DO .4byte gBattleFrontierTrainerMons_Kaitlyn @ 124 - .4byte TRAINER_CLASS_PSYCHIC_2 + .4byte FACILITY_CLASS_PSYCHIC_2 .string "BREANNA$", 8 @ pre-battle speech - ec_word MY - ec_word POKEMON - ec_word WILL - ec_word CRUSH - ec_word YOU - ec_word EXCL + .2byte EC_WORD_MY + .2byte EC_WORD_POKEMON + .2byte EC_WORD_WILL + .2byte EC_WORD_CRUSH + .2byte EC_WORD_YOU + .2byte EC_WORD_EXCL @ win speech - ec_word HAVE - ec_word SOME - ec_word MORE - ec_word OF - ec_word THIS - ec_word EXCL + .2byte EC_WORD_HAVE + .2byte EC_WORD_SOME + .2byte EC_WORD_MORE + .2byte EC_WORD_OF + .2byte EC_WORD_THIS + .2byte EC_WORD_EXCL @ loss speech - ec_word YOU - ec_word HAVE - ec_word GUTS - ec_word AND - ec_word SKILL + .2byte EC_WORD_YOU + .2byte EC_WORD_HAVE + .2byte EC_WORD_GUTS + .2byte EC_WORD_AND + .2byte EC_WORD_SKILL .2byte -1 .4byte gBattleFrontierTrainerMons_Breanna @ 125 - .4byte TRAINER_CLASS_PSYCHIC_2 + .4byte FACILITY_CLASS_PSYCHIC_2 .string "KENDRA$", 8 @ pre-battle speech - ec_word IF - ec_word YOU_RE - ec_word SMART - ec_word STOP - ec_word RIGHT - ec_word NOW + .2byte EC_WORD_IF + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_SMART + .2byte EC_WORD_STOP + .2byte EC_WORD_RIGHT + .2byte EC_WORD_NOW @ win speech - ec_word I - ec_word SAID - ec_word THAT - ec_word YOU - ec_word SHOULD - ec_word STOP + .2byte EC_WORD_I + .2byte EC_WORD_SAID + .2byte EC_WORD_THAT + .2byte EC_WORD_YOU + .2byte EC_WORD_SHOULD + .2byte EC_WORD_STOP @ loss speech - ec_word WHY - ec_word DIDN_T - ec_word YOU - ec_word STOP - ec_word QUES + .2byte EC_WORD_WHY + .2byte EC_WORD_DIDN_T + .2byte EC_WORD_YOU + .2byte EC_WORD_STOP + .2byte EC_WORD_QUES .2byte -1 .4byte gBattleFrontierTrainerMons_Kendra @ 126 - .4byte TRAINER_CLASS_HEX_MANIAC + .4byte FACILITY_CLASS_HEX_MANIAC .string "MOLLY$", 8 @ pre-battle speech - ec_word WILL - ec_word MY - ec_word CUTE_CHARM - ec_move2 ATTRACT - ec_word YOU - ec_word QUES + .2byte EC_WORD_WILL + .2byte EC_WORD_MY + .2byte EC_WORD_CUTE_CHARM + .2byte EC_MOVE2(ATTRACT) + .2byte EC_WORD_YOU + .2byte EC_WORD_QUES @ win speech - ec_word YOUR - ec_word POKEMON - ec_word ARE - ec_word MY - ec_word TOYS - ec_word NOW + .2byte EC_WORD_YOUR + .2byte EC_WORD_POKEMON + .2byte EC_WORD_ARE + .2byte EC_WORD_MY + .2byte EC_WORD_TOYS + .2byte EC_WORD_NOW @ loss speech - ec_word OH - ec_word HOW - ec_word COULD - ec_word YOU - ec_word QUES + .2byte EC_WORD_OH + .2byte EC_WORD_HOW + .2byte EC_WORD_COULD + .2byte EC_WORD_YOU + .2byte EC_WORD_QUES .2byte -1 .4byte gBattleFrontierTrainerMons_Molly @ 127 - .4byte TRAINER_CLASS_HEX_MANIAC + .4byte FACILITY_CLASS_HEX_MANIAC .string "JAZMIN$", 8 @ pre-battle speech - ec_word I - ec_word FORECAST - ec_word TERRIBLE - ec_word THINGS - ec_word FOR - ec_word YOU + .2byte EC_WORD_I + .2byte EC_WORD_FORECAST + .2byte EC_WORD_TERRIBLE + .2byte EC_WORD_THINGS + .2byte EC_WORD_FOR + .2byte EC_WORD_YOU @ win speech - ec_word THERE - ec_word WASN_T - ec_word MY - ec_word FORECAST - ec_word RIGHT - ec_word QUES + .2byte EC_WORD_THERE + .2byte EC_WORD_WASN_T + .2byte EC_WORD_MY + .2byte EC_WORD_FORECAST + .2byte EC_WORD_RIGHT + .2byte EC_WORD_QUES @ loss speech - ec_word MY - ec_move2 FORESIGHT - ec_word DIDN_T - ec_word SHOW - ec_word ME - ec_word THIS + .2byte EC_WORD_MY + .2byte EC_MOVE2(FORESIGHT) + .2byte EC_WORD_DIDN_T + .2byte EC_WORD_SHOW + .2byte EC_WORD_ME + .2byte EC_WORD_THIS .4byte gBattleFrontierTrainerMons_Jazmin @ 128 - .4byte TRAINER_CLASS_HEX_MANIAC + .4byte FACILITY_CLASS_HEX_MANIAC .string "KELSEY$", 8 @ pre-battle speech - ec_word I - ec_word HAVEN_T - ec_word SLEPT - ec_word IN - ec_word DAYS - ec_word ELLIPSIS + .2byte EC_WORD_I + .2byte EC_WORD_HAVEN_T + .2byte EC_WORD_SLEPT + .2byte EC_WORD_IN + .2byte EC_WORD_DAYS + .2byte EC_WORD_ELLIPSIS @ win speech - ec_word MY - ec_word SLEEP - ec_word WILL - ec_word BE - ec_word EXCELLENT - ec_word NOW + .2byte EC_WORD_MY + .2byte EC_WORD_SLEEP + .2byte EC_WORD_WILL + .2byte EC_WORD_BE + .2byte EC_WORD_EXCELLENT + .2byte EC_WORD_NOW @ loss speech - ec_word YOU - ec_word HAVE - ec_word DESTROYED - ec_word MY - ec_word SLEEP - ec_word ELLIPSIS + .2byte EC_WORD_YOU + .2byte EC_WORD_HAVE + .2byte EC_WORD_DESTROYED + .2byte EC_WORD_MY + .2byte EC_WORD_SLEEP + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Kelsey @ 129 - .4byte TRAINER_CLASS_POKEMANIAC + .4byte FACILITY_CLASS_POKEMANIAC .string "JALEN$", 8 @ pre-battle speech - ec_word I - ec_word DON_T - ec_word ALLOW - ec_word POKEMON - ec_word TO - ec_move1 THRASH + .2byte EC_WORD_I + .2byte EC_WORD_DON_T + .2byte EC_WORD_ALLOW + .2byte EC_WORD_POKEMON + .2byte EC_WORD_TO + .2byte EC_MOVE(THRASH) @ win speech - ec_word HAHAHA - ec_word EXCL - ec_word ARE - ec_word YOU - ec_word ANGRY - ec_word QUES + .2byte EC_WORD_HAHAHA + .2byte EC_WORD_EXCL + .2byte EC_WORD_ARE + .2byte EC_WORD_YOU + .2byte EC_WORD_ANGRY + .2byte EC_WORD_QUES @ loss speech - ec_word WHY - ec_word IS - ec_word THIS - ec_word SO - ec_word HARD - ec_word QUES + .2byte EC_WORD_WHY + .2byte EC_WORD_IS + .2byte EC_WORD_THIS + .2byte EC_WORD_SO + .2byte EC_WORD_HARD + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Jalen @ 130 - .4byte TRAINER_CLASS_POKEMANIAC + .4byte FACILITY_CLASS_POKEMANIAC .string "GRIFFEN$", 8 @ pre-battle speech - ec_word I - ec_move2 SWALLOW - ec_move2 SLUDGE - ec_word TO - ec_move2 TRANSFORM - ec_word MYSELF + .2byte EC_WORD_I + .2byte EC_MOVE2(SWALLOW) + .2byte EC_MOVE2(SLUDGE) + .2byte EC_WORD_TO + .2byte EC_MOVE2(TRANSFORM) + .2byte EC_WORD_MYSELF @ win speech - ec_word I - ec_word HAVE - ec_word A - ec_move1 GROWTH - ec_word OF - ec_move2 ACID_ARMOR + .2byte EC_WORD_I + .2byte EC_WORD_HAVE + .2byte EC_WORD_A + .2byte EC_MOVE(GROWTH) + .2byte EC_WORD_OF + .2byte EC_MOVE2(ACID_ARMOR) @ loss speech - ec_word I - ec_word HAVE - ec_word A - ec_move1 GROWTH - ec_word OF - ec_word SUCTION_CUPS + .2byte EC_WORD_I + .2byte EC_WORD_HAVE + .2byte EC_WORD_A + .2byte EC_MOVE(GROWTH) + .2byte EC_WORD_OF + .2byte EC_WORD_SUCTION_CUPS .4byte gBattleFrontierTrainerMons_Griffen @ 131 - .4byte TRAINER_CLASS_POKEMANIAC + .4byte FACILITY_CLASS_POKEMANIAC .string "XANDER$", 8 @ pre-battle speech - ec_word I - ec_word GOT - ec_word MY - ec_word POKEMON - ec_word ON - ec_word RENTAL + .2byte EC_WORD_I + .2byte EC_WORD_GOT + .2byte EC_WORD_MY + .2byte EC_WORD_POKEMON + .2byte EC_WORD_ON + .2byte EC_WORD_RENTAL @ win speech - ec_word IT_S - ec_word INCREDIBLE - ec_word MY - ec_word RENTAL - ec_word POKEMON - ec_word WON + .2byte EC_WORD_IT_S + .2byte EC_WORD_INCREDIBLE + .2byte EC_WORD_MY + .2byte EC_WORD_RENTAL + .2byte EC_WORD_POKEMON + .2byte EC_WORD_WON @ loss speech - ec_word RENTAL - ec_word POKEMON - ec_word AREN_T - ec_word UP - ec_word TO - ec_move2 SCRATCH + .2byte EC_WORD_RENTAL + .2byte EC_WORD_POKEMON + .2byte EC_WORD_AREN_T + .2byte EC_WORD_UP + .2byte EC_WORD_TO + .2byte EC_MOVE2(SCRATCH) .4byte gBattleFrontierTrainerMons_Xander @ 132 - .4byte TRAINER_CLASS_GENTLEMAN + .4byte FACILITY_CLASS_GENTLEMAN .string "MARVIN$", 8 @ pre-battle speech - ec_word YOU_RE - ec_word UP - ec_word TO - ec_word THE - ec_word CHALLENGE - ec_word QUES + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_UP + .2byte EC_WORD_TO + .2byte EC_WORD_THE + .2byte EC_WORD_CHALLENGE + .2byte EC_WORD_QUES @ win speech - ec_word I - ec_word DIDN_T - ec_word THINK - ec_word YOU_RE - ec_word GOOD - ec_word ENOUGH + .2byte EC_WORD_I + .2byte EC_WORD_DIDN_T + .2byte EC_WORD_THINK + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_GOOD + .2byte EC_WORD_ENOUGH @ loss speech - ec_word I_AM - ec_word FEELING - ec_word PERFECT - ec_word THANK_YOU - ec_word SO - ec_word MUCH + .2byte EC_WORD_I_AM + .2byte EC_WORD_FEELING + .2byte EC_WORD_PERFECT + .2byte EC_WORD_THANK_YOU + .2byte EC_WORD_SO + .2byte EC_WORD_MUCH .4byte gBattleFrontierTrainerMons_Marvin @ 133 - .4byte TRAINER_CLASS_GENTLEMAN + .4byte FACILITY_CLASS_GENTLEMAN .string "BRENNAN$", 8 @ pre-battle speech - ec_word I - ec_move2 WISH - ec_word TO - ec_word SEE - ec_word THE - ec_word NEWS + .2byte EC_WORD_I + .2byte EC_MOVE2(WISH) + .2byte EC_WORD_TO + .2byte EC_WORD_SEE + .2byte EC_WORD_THE + .2byte EC_WORD_NEWS @ win speech - ec_word COMICS - ec_word GET - ec_word DAMP - ec_word FROM - ec_word DRIZZLE - ec_word QUES + .2byte EC_WORD_COMICS + .2byte EC_WORD_GET + .2byte EC_WORD_DAMP + .2byte EC_WORD_FROM + .2byte EC_WORD_DRIZZLE + .2byte EC_WORD_QUES @ loss speech - ec_word THE - ec_word TIGHT - ec_word MONEY - ec_word LIVING - ec_word CHANNEL - ec_word QUES_EXCL + .2byte EC_WORD_THE + .2byte EC_WORD_TIGHT + .2byte EC_WORD_MONEY + .2byte EC_WORD_LIVING + .2byte EC_WORD_CHANNEL + .2byte EC_WORD_QUES_EXCL .4byte gBattleFrontierTrainerMons_Brennan @ 134 - .4byte TRAINER_CLASS_BUG_MANIAC + .4byte FACILITY_CLASS_BUG_MANIAC .string "BALEY$", 8 @ pre-battle speech - ec_move1 SCREECH - ec_word IS - ec_word LIKE - ec_word MUSIC - ec_word TO_ME - ec_word EXCL + .2byte EC_MOVE(SCREECH) + .2byte EC_WORD_IS + .2byte EC_WORD_LIKE + .2byte EC_WORD_MUSIC + .2byte EC_WORD_TO_ME + .2byte EC_WORD_EXCL @ win speech - ec_word MY - ec_move1 SCREECH - ec_word STRATEGY - ec_word IS - ec_word THE - ec_word BEST + .2byte EC_WORD_MY + .2byte EC_MOVE(SCREECH) + .2byte EC_WORD_STRATEGY + .2byte EC_WORD_IS + .2byte EC_WORD_THE + .2byte EC_WORD_BEST @ loss speech - ec_word YOU_RE - ec_word SOUNDPROOF - ec_word QUES + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_SOUNDPROOF + .2byte EC_WORD_QUES .2byte -1 .2byte -1 .2byte -1 .4byte gBattleFrontierTrainerMons_Baley @ 135 - .4byte TRAINER_CLASS_RUIN_MANIAC + .4byte FACILITY_CLASS_RUIN_MANIAC .string "ZACKARY$", 8 @ pre-battle speech - ec_word CAN - ec_word YOU - ec_move1 DIG - ec_word IT - ec_word YO - ec_word QUES + .2byte EC_WORD_CAN + .2byte EC_WORD_YOU + .2byte EC_MOVE(DIG) + .2byte EC_WORD_IT + .2byte EC_WORD_YO + .2byte EC_WORD_QUES @ win speech - ec_move2 TAKE_DOWN - ec_word TAKE - ec_word A - ec_move2 DIVE - ec_word YO - ec_word YO + .2byte EC_MOVE2(TAKE_DOWN) + .2byte EC_WORD_TAKE + .2byte EC_WORD_A + .2byte EC_MOVE2(DIVE) + .2byte EC_WORD_YO + .2byte EC_WORD_YO @ loss speech - ec_word BREAK - ec_word DOWN - ec_move2 DIVE - ec_word TIME - ec_word FOR - ec_word ME + .2byte EC_WORD_BREAK + .2byte EC_WORD_DOWN + .2byte EC_MOVE2(DIVE) + .2byte EC_WORD_TIME + .2byte EC_WORD_FOR + .2byte EC_WORD_ME .4byte gBattleFrontierTrainerMons_Zackary @ 136 - .4byte TRAINER_CLASS_COLLECTOR + .4byte FACILITY_CLASS_COLLECTOR .string "GABRIEL$", 8 @ pre-battle speech - ec_move2 POUND - ec_word THE - ec_word THICK_FAT - ec_word ON - ec_word MY - ec_move2 BELLY_DRUM + .2byte EC_MOVE2(POUND) + .2byte EC_WORD_THE + .2byte EC_WORD_THICK_FAT + .2byte EC_WORD_ON + .2byte EC_WORD_MY + .2byte EC_MOVE2(BELLY_DRUM) @ win speech - ec_move2 POUND - ec_word MY - ec_move2 BELLY_DRUM - ec_move2 POUND - ec_word MY - ec_move2 BELLY_DRUM + .2byte EC_MOVE2(POUND) + .2byte EC_WORD_MY + .2byte EC_MOVE2(BELLY_DRUM) + .2byte EC_MOVE2(POUND) + .2byte EC_WORD_MY + .2byte EC_MOVE2(BELLY_DRUM) @ loss speech - ec_word MY - ec_move2 BELLY_DRUM - ec_word WAS - ec_word TOO_WEAK - ec_word ELLIPSIS + .2byte EC_WORD_MY + .2byte EC_MOVE2(BELLY_DRUM) + .2byte EC_WORD_WAS + .2byte EC_WORD_TOO_WEAK + .2byte EC_WORD_ELLIPSIS .2byte -1 .4byte gBattleFrontierTrainerMons_Gabriel @ 137 - .4byte TRAINER_CLASS_PARASOL_LADY + .4byte FACILITY_CLASS_PARASOL_LADY .string "EMILY$", 8 @ pre-battle speech - ec_word HOW - ec_word ABOUT - ec_word A_TINY_BIT - ec_word OF - ec_move1 HYPNOSIS - ec_word QUES + .2byte EC_WORD_HOW + .2byte EC_WORD_ABOUT + .2byte EC_WORD_A_TINY_BIT + .2byte EC_WORD_OF + .2byte EC_MOVE(HYPNOSIS) + .2byte EC_WORD_QUES @ win speech - ec_word MY - ec_move1 HYPNOSIS - ec_word STRATEGY - ec_word WORKS - ec_word TO - ec_word PERFECTION + .2byte EC_WORD_MY + .2byte EC_MOVE(HYPNOSIS) + .2byte EC_WORD_STRATEGY + .2byte EC_WORD_WORKS + .2byte EC_WORD_TO + .2byte EC_WORD_PERFECTION @ loss speech - ec_word MY - ec_move1 HYPNOSIS - ec_word STRATEGY - ec_word WENT - ec_word BADLY - ec_word ELLIPSIS + .2byte EC_WORD_MY + .2byte EC_MOVE(HYPNOSIS) + .2byte EC_WORD_STRATEGY + .2byte EC_WORD_WENT + .2byte EC_WORD_BADLY + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Emily @ 138 - .4byte TRAINER_CLASS_BEAUTY + .4byte FACILITY_CLASS_BEAUTY .string "JORDYN$", 8 @ pre-battle speech - ec_word YOU - ec_word DON_T - ec_word KNOW - ec_word MY - ec_word SECRET - ec_word ELLIPSIS + .2byte EC_WORD_YOU + .2byte EC_WORD_DON_T + .2byte EC_WORD_KNOW + .2byte EC_WORD_MY + .2byte EC_WORD_SECRET + .2byte EC_WORD_ELLIPSIS @ win speech - ec_word I_AM - ec_word NOT - ec_word AS - ec_word I - ec_word APPEAR - ec_word ELLIPSIS + .2byte EC_WORD_I_AM + .2byte EC_WORD_NOT + .2byte EC_WORD_AS + .2byte EC_WORD_I + .2byte EC_WORD_APPEAR + .2byte EC_WORD_ELLIPSIS @ loss speech - ec_word BUT - ec_word HOW - ec_word DID - ec_word YOU - ec_word KNOW - ec_word QUES + .2byte EC_WORD_BUT + .2byte EC_WORD_HOW + .2byte EC_WORD_DID + .2byte EC_WORD_YOU + .2byte EC_WORD_KNOW + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Jordyn @ 139 - .4byte TRAINER_CLASS_AROMA_LADY + .4byte FACILITY_CLASS_AROMA_LADY .string "SOFIA$", 8 @ pre-battle speech - ec_pokemon1 LOUDRED - ec_word PROBABLY - ec_word HAS - ec_word A - ec_move1 SWEET_SCENT + .2byte EC_POKEMON(LOUDRED) + .2byte EC_WORD_PROBABLY + .2byte EC_WORD_HAS + .2byte EC_WORD_A + .2byte EC_MOVE(SWEET_SCENT) .2byte -1 @ win speech - ec_word THAT_S - ec_word THE - ec_word FEELING - ec_word THAT - ec_word I - ec_word GET + .2byte EC_WORD_THAT_S + .2byte EC_WORD_THE + .2byte EC_WORD_FEELING + .2byte EC_WORD_THAT + .2byte EC_WORD_I + .2byte EC_WORD_GET @ loss speech - ec_word I - ec_word WORK - ec_word AT - ec_word THE - ec_word DEPT_STORE + .2byte EC_WORD_I + .2byte EC_WORD_WORK + .2byte EC_WORD_AT + .2byte EC_WORD_THE + .2byte EC_WORD_DEPT_STORE .2byte -1 .4byte gBattleFrontierTrainerMons_Sofia @ 140 - .4byte TRAINER_CLASS_COOLTRAINER_1 + .4byte FACILITY_CLASS_COOLTRAINER_1 .string "BRADEN$", 8 @ pre-battle speech - ec_word I_CHOOSE_YOU - ec_word EXCL + .2byte EC_WORD_I_CHOOSE_YOU + .2byte EC_WORD_EXCL .2byte -1 - ec_word THIS_IS_IT_EXCL + .2byte EC_WORD_THIS_IS_IT_EXCL .2byte -1 .2byte -1 @ win speech - ec_word I_AM - ec_word FEELING - ec_word PRETTY - ec_word AWESOME - ec_word ABOUT - ec_word MYSELF + .2byte EC_WORD_I_AM + .2byte EC_WORD_FEELING + .2byte EC_WORD_PRETTY + .2byte EC_WORD_AWESOME + .2byte EC_WORD_ABOUT + .2byte EC_WORD_MYSELF @ loss speech - ec_word ALL_RIGHT - ec_word EXCL + .2byte EC_WORD_ALL_RIGHT + .2byte EC_WORD_EXCL .2byte -1 - ec_word I - ec_word SURRENDER - ec_word EXCL + .2byte EC_WORD_I + .2byte EC_WORD_SURRENDER + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Braden @ 141 - .4byte TRAINER_CLASS_COOLTRAINER_1 + .4byte FACILITY_CLASS_COOLTRAINER_1 .string "KAYDEN$", 8 @ pre-battle speech - ec_word THEY - ec_word OVERDO - ec_word THAT - ec_word GOURMET - ec_word THING - ec_word ELLIPSIS + .2byte EC_WORD_THEY + .2byte EC_WORD_OVERDO + .2byte EC_WORD_THAT + .2byte EC_WORD_GOURMET + .2byte EC_WORD_THING + .2byte EC_WORD_ELLIPSIS @ win speech - ec_word THAT - ec_word GOURMET - ec_word THING - ec_word ISN_T - ec_word FOR - ec_word ME + .2byte EC_WORD_THAT + .2byte EC_WORD_GOURMET + .2byte EC_WORD_THING + .2byte EC_WORD_ISN_T + .2byte EC_WORD_FOR + .2byte EC_WORD_ME @ loss speech - ec_word HEY - ec_word THIS - ec_word IS - ec_word PRETTY - ec_word TASTY + .2byte EC_WORD_HEY + .2byte EC_WORD_THIS + .2byte EC_WORD_IS + .2byte EC_WORD_PRETTY + .2byte EC_WORD_TASTY .2byte -1 .4byte gBattleFrontierTrainerMons_Kayden @ 142 - .4byte TRAINER_CLASS_COOLTRAINER_1 + .4byte FACILITY_CLASS_COOLTRAINER_1 .string "COOPER$", 8 @ pre-battle speech - ec_word THIS - ec_word SHOULD - ec_word ABSOLUTELY - ec_word BE - ec_word A - ec_word PUSHOVER + .2byte EC_WORD_THIS + .2byte EC_WORD_SHOULD + .2byte EC_WORD_ABSOLUTELY + .2byte EC_WORD_BE + .2byte EC_WORD_A + .2byte EC_WORD_PUSHOVER @ win speech - ec_word THAT_WAS - ec_word TOO - ec_word EXCITING - ec_word FOR - ec_word ME - ec_word ELLIPSIS + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_TOO + .2byte EC_WORD_EXCITING + .2byte EC_WORD_FOR + .2byte EC_WORD_ME + .2byte EC_WORD_ELLIPSIS @ loss speech - ec_word PLEASE - ec_word EXCL + .2byte EC_WORD_PLEASE + .2byte EC_WORD_EXCL .2byte -1 - ec_word SORRY - ec_word I_AM - ec_word SORRY + .2byte EC_WORD_SORRY + .2byte EC_WORD_I_AM + .2byte EC_WORD_SORRY .4byte gBattleFrontierTrainerMons_Cooper @ 143 - .4byte TRAINER_CLASS_COOLTRAINER_2 + .4byte FACILITY_CLASS_COOLTRAINER_2 .string "JULIA$", 8 @ pre-battle speech - ec_word SPIRIT - ec_word ALONE - ec_word WON_T - ec_word MAKE - ec_word YOU - ec_word WIN + .2byte EC_WORD_SPIRIT + .2byte EC_WORD_ALONE + .2byte EC_WORD_WON_T + .2byte EC_WORD_MAKE + .2byte EC_WORD_YOU + .2byte EC_WORD_WIN @ win speech - ec_word YOU - ec_word SHOULD - ec_word ACCEPT - ec_word THIS - ec_word WITH - ec_word SERENE_GRACE + .2byte EC_WORD_YOU + .2byte EC_WORD_SHOULD + .2byte EC_WORD_ACCEPT + .2byte EC_WORD_THIS + .2byte EC_WORD_WITH + .2byte EC_WORD_SERENE_GRACE @ loss speech - ec_word FOR_NOW - ec_word GOOD_BYE - ec_word BUT - ec_word IT_S - ec_word NOT - ec_word OVER + .2byte EC_WORD_FOR_NOW + .2byte EC_WORD_GOOD_BYE + .2byte EC_WORD_BUT + .2byte EC_WORD_IT_S + .2byte EC_WORD_NOT + .2byte EC_WORD_OVER .4byte gBattleFrontierTrainerMons_Julia @ 144 - .4byte TRAINER_CLASS_COOLTRAINER_2 + .4byte FACILITY_CLASS_COOLTRAINER_2 .string "AMARA$", 8 @ pre-battle speech - ec_word WROOOAAR_EXCL - ec_word EXCL_EXCL - ec_word I_AM - ec_word SO - ec_word READY - ec_word EXCL_EXCL + .2byte EC_WORD_WROOOAAR_EXCL + .2byte EC_WORD_EXCL_EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_SO + .2byte EC_WORD_READY + .2byte EC_WORD_EXCL_EXCL @ win speech - ec_word I - ec_word LOSE - ec_word MYSELF - ec_word IF - ec_word IT_S - ec_word EXCITING + .2byte EC_WORD_I + .2byte EC_WORD_LOSE + .2byte EC_WORD_MYSELF + .2byte EC_WORD_IF + .2byte EC_WORD_IT_S + .2byte EC_WORD_EXCITING @ loss speech - ec_word THAT_S - ec_word TOO - ec_word MUCH - ec_word TO - ec_move2 TACKLE - ec_word EXCL + .2byte EC_WORD_THAT_S + .2byte EC_WORD_TOO + .2byte EC_WORD_MUCH + .2byte EC_WORD_TO + .2byte EC_MOVE2(TACKLE) + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Amara @ 145 - .4byte TRAINER_CLASS_COOLTRAINER_2 + .4byte FACILITY_CLASS_COOLTRAINER_2 .string "LYNN$", 8 @ pre-battle speech - ec_word YOUR - ec_word SECRET - ec_word CAN_T - ec_word BE - ec_word HIDDEN - ec_word FOREVER + .2byte EC_WORD_YOUR + .2byte EC_WORD_SECRET + .2byte EC_WORD_CAN_T + .2byte EC_WORD_BE + .2byte EC_WORD_HIDDEN + .2byte EC_WORD_FOREVER @ win speech - ec_word I - ec_word KNOW - ec_word YOUR - ec_word SECRET - ec_word NOW - ec_word EXCL + .2byte EC_WORD_I + .2byte EC_WORD_KNOW + .2byte EC_WORD_YOUR + .2byte EC_WORD_SECRET + .2byte EC_WORD_NOW + .2byte EC_WORD_EXCL @ loss speech - ec_word YOU - ec_word CAN_T - ec_move1 SAFEGUARD - ec_word YOUR - ec_word OWN - ec_word SECRET + .2byte EC_WORD_YOU + .2byte EC_WORD_CAN_T + .2byte EC_MOVE(SAFEGUARD) + .2byte EC_WORD_YOUR + .2byte EC_WORD_OWN + .2byte EC_WORD_SECRET .4byte gBattleFrontierTrainerMons_Lynn @ 146 - .4byte TRAINER_CLASS_PKMN_RANGER_1 + .4byte FACILITY_CLASS_PKMN_RANGER_1 .string "JOVAN$", 8 @ pre-battle speech - ec_word YOUR - ec_word BATTLE - ec_word SENSE - ec_word IS - ec_word SADLY - ec_word LACKING + .2byte EC_WORD_YOUR + .2byte EC_WORD_BATTLE + .2byte EC_WORD_SENSE + .2byte EC_WORD_IS + .2byte EC_WORD_SADLY + .2byte EC_WORD_LACKING @ win speech - ec_word MY - ec_word BATTLE - ec_word SENSE - ec_word IS - ec_word COOL - ec_word ISN_T_IT_QUES + .2byte EC_WORD_MY + .2byte EC_WORD_BATTLE + .2byte EC_WORD_SENSE + .2byte EC_WORD_IS + .2byte EC_WORD_COOL + .2byte EC_WORD_ISN_T_IT_QUES @ loss speech - ec_word I_WAS - ec_word MINUS - ec_word MY - ec_word NORMAL - ec_word POWER - ec_word TODAY + .2byte EC_WORD_I_WAS + .2byte EC_WORD_MINUS + .2byte EC_WORD_MY + .2byte EC_WORD_NORMAL + .2byte EC_WORD_POWER + .2byte EC_WORD_TODAY .4byte gBattleFrontierTrainerMons_Jovan @ 147 - .4byte TRAINER_CLASS_PKMN_RANGER_1 + .4byte FACILITY_CLASS_PKMN_RANGER_1 .string "DOMINIC$", 8 @ pre-battle speech - ec_word I - ec_word HAVE - ec_word THIS - ec_word EXCELLENT - ec_word CAMERA + .2byte EC_WORD_I + .2byte EC_WORD_HAVE + .2byte EC_WORD_THIS + .2byte EC_WORD_EXCELLENT + .2byte EC_WORD_CAMERA .2byte -1 @ win speech - ec_word MY - ec_word CAMERA - ec_word WAS - ec_word AWFULLY - ec_word EXPENSIVE + .2byte EC_WORD_MY + .2byte EC_WORD_CAMERA + .2byte EC_WORD_WAS + .2byte EC_WORD_AWFULLY + .2byte EC_WORD_EXPENSIVE .2byte -1 @ loss speech - ec_word MY - ec_word CAMERA - ec_word DOESN_T - ec_word MISS - ec_word A - ec_word THING + .2byte EC_WORD_MY + .2byte EC_WORD_CAMERA + .2byte EC_WORD_DOESN_T + .2byte EC_WORD_MISS + .2byte EC_WORD_A + .2byte EC_WORD_THING .4byte gBattleFrontierTrainerMons_Dominic @ 148 - .4byte TRAINER_CLASS_PKMN_RANGER_1 + .4byte FACILITY_CLASS_PKMN_RANGER_1 .string "NIKOLAS$", 8 @ pre-battle speech - ec_word I - ec_move2 MIMIC - ec_word POKEMON - ec_word AFTER - ec_word EVERY - ec_word BATTLE + .2byte EC_WORD_I + .2byte EC_MOVE2(MIMIC) + .2byte EC_WORD_POKEMON + .2byte EC_WORD_AFTER + .2byte EC_WORD_EVERY + .2byte EC_WORD_BATTLE @ win speech - ec_word IF_I_WIN - ec_word I - ec_word PRETEND - ec_word I_AM - ec_word A - ec_pokemon2 TAUROS + .2byte EC_WORD_IF_I_WIN + .2byte EC_WORD_I + .2byte EC_WORD_PRETEND + .2byte EC_WORD_I_AM + .2byte EC_WORD_A + .2byte EC_POKEMON2(TAUROS) @ loss speech - ec_word IF_I_LOSE - ec_word I - ec_word PRETEND - ec_word I_AM - ec_word A - ec_pokemon2 MILTANK + .2byte EC_WORD_IF_I_LOSE + .2byte EC_WORD_I + .2byte EC_WORD_PRETEND + .2byte EC_WORD_I_AM + .2byte EC_WORD_A + .2byte EC_POKEMON2(MILTANK) .4byte gBattleFrontierTrainerMons_Nikolas @ 149 - .4byte TRAINER_CLASS_PKMN_RANGER_2 + .4byte FACILITY_CLASS_PKMN_RANGER_2 .string "VALERIA$", 8 @ pre-battle speech - ec_word I - ec_move2 WISH - ec_word YOU - ec_word WOULD - ec_word NOT - ec_move2 GLARE + .2byte EC_WORD_I + .2byte EC_MOVE2(WISH) + .2byte EC_WORD_YOU + .2byte EC_WORD_WOULD + .2byte EC_WORD_NOT + .2byte EC_MOVE2(GLARE) @ win speech - ec_word YOU_RE - ec_word MEAN - ec_word EXCL - ec_word I - ec_word MEAN - ec_word REALLY + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_MEAN + .2byte EC_WORD_EXCL + .2byte EC_WORD_I + .2byte EC_WORD_MEAN + .2byte EC_WORD_REALLY @ loss speech - ec_word YOU - ec_word HAVE - ec_word A - ec_word REALLY - ec_move1 SCARY_FACE - ec_word EXCL + .2byte EC_WORD_YOU + .2byte EC_WORD_HAVE + .2byte EC_WORD_A + .2byte EC_WORD_REALLY + .2byte EC_MOVE(SCARY_FACE) + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Valeria @ 150 - .4byte TRAINER_CLASS_PKMN_RANGER_2 + .4byte FACILITY_CLASS_PKMN_RANGER_2 .string "DELANEY$", 8 @ pre-battle speech - ec_word SCHOOL - ec_word IS - ec_word OVER - ec_word TIME - ec_word TO - ec_word PLAY + .2byte EC_WORD_SCHOOL + .2byte EC_WORD_IS + .2byte EC_WORD_OVER + .2byte EC_WORD_TIME + .2byte EC_WORD_TO + .2byte EC_WORD_PLAY @ win speech - ec_word MY - ec_word BOY - ec_word FRIEND - ec_word IS - ec_word FROM - ec_word SCHOOL + .2byte EC_WORD_MY + .2byte EC_WORD_BOY + .2byte EC_WORD_FRIEND + .2byte EC_WORD_IS + .2byte EC_WORD_FROM + .2byte EC_WORD_SCHOOL @ loss speech - ec_word I - ec_word HAVE - ec_word TO - ec_word WORK - ec_word NEXT - ec_word WEEK + .2byte EC_WORD_I + .2byte EC_WORD_HAVE + .2byte EC_WORD_TO + .2byte EC_WORD_WORK + .2byte EC_WORD_NEXT + .2byte EC_WORD_WEEK .4byte gBattleFrontierTrainerMons_Delaney @ 151 - .4byte TRAINER_CLASS_PKMN_RANGER_2 + .4byte FACILITY_CLASS_PKMN_RANGER_2 .string "MEGHAN$", 8 @ pre-battle speech - ec_word SCHOOL - ec_word IS - ec_word OUT - ec_word TIME - ec_word TO - ec_word PLAY + .2byte EC_WORD_SCHOOL + .2byte EC_WORD_IS + .2byte EC_WORD_OUT + .2byte EC_WORD_TIME + .2byte EC_WORD_TO + .2byte EC_WORD_PLAY @ win speech - ec_word MY - ec_word BOY - ec_word FRIEND - ec_word LIKES - ec_word COMICS + .2byte EC_WORD_MY + .2byte EC_WORD_BOY + .2byte EC_WORD_FRIEND + .2byte EC_WORD_LIKES + .2byte EC_WORD_COMICS .2byte -1 @ loss speech - ec_word IT_S - ec_word BACK - ec_word TO - ec_word SCHOOL - ec_word SOON + .2byte EC_WORD_IT_S + .2byte EC_WORD_BACK + .2byte EC_WORD_TO + .2byte EC_WORD_SCHOOL + .2byte EC_WORD_SOON .2byte -1 .4byte gBattleFrontierTrainerMons_Meghan @ 152 - .4byte TRAINER_CLASS_DRAGON_TAMER + .4byte FACILITY_CLASS_DRAGON_TAMER .string "ROBERTO$", 8 @ pre-battle speech - ec_word DRAGON - ec_word POKEMON - ec_word ARE - ec_word INVINCIBLE - ec_word EXCL + .2byte EC_WORD_DRAGON + .2byte EC_WORD_POKEMON + .2byte EC_WORD_ARE + .2byte EC_WORD_INVINCIBLE + .2byte EC_WORD_EXCL .2byte -1 @ win speech - ec_word YOU - ec_word WEREN_T - ec_word BAD - ec_word I_WAS - ec_word JUST - ec_word BETTER + .2byte EC_WORD_YOU + .2byte EC_WORD_WEREN_T + .2byte EC_WORD_BAD + .2byte EC_WORD_I_WAS + .2byte EC_WORD_JUST + .2byte EC_WORD_BETTER @ loss speech - ec_word AREN_T - ec_word YOU - ec_word SATISFIED - ec_word YET - ec_word QUES + .2byte EC_WORD_AREN_T + .2byte EC_WORD_YOU + .2byte EC_WORD_SATISFIED + .2byte EC_WORD_YET + .2byte EC_WORD_QUES .2byte -1 .4byte gBattleFrontierTrainerMons_Roberto @ 153 - .4byte TRAINER_CLASS_DRAGON_TAMER + .4byte FACILITY_CLASS_DRAGON_TAMER .string "DAMIAN$", 8 @ pre-battle speech - ec_word MY - ec_word PURE_POWER - ec_word IS - ec_word MACHINE - ec_word LIKE - ec_word EXCL + .2byte EC_WORD_MY + .2byte EC_WORD_PURE_POWER + .2byte EC_WORD_IS + .2byte EC_WORD_MACHINE + .2byte EC_WORD_LIKE + .2byte EC_WORD_EXCL @ win speech - ec_word MY - ec_move2 MACH_PUNCH - ec_word WILL - ec_word MAKE - ec_word A - ec_move1 BRICK_BREAK + .2byte EC_WORD_MY + .2byte EC_MOVE2(MACH_PUNCH) + .2byte EC_WORD_WILL + .2byte EC_WORD_MAKE + .2byte EC_WORD_A + .2byte EC_MOVE(BRICK_BREAK) @ loss speech - ec_word ARRGH - ec_word EXCL + .2byte EC_WORD_ARRGH + .2byte EC_WORD_EXCL .2byte -1 - ec_word NO - ec_word EXCL_EXCL + .2byte EC_WORD_NO + .2byte EC_WORD_EXCL_EXCL .2byte -1 .4byte gBattleFrontierTrainerMons_Damian @ 154 - .4byte TRAINER_CLASS_DRAGON_TAMER + .4byte FACILITY_CLASS_DRAGON_TAMER .string "BRODY$", 8 @ pre-battle speech - ec_word MY - ec_word FASHION - ec_word SENSE - ec_word SEEMS - ec_pokemon1 ODDISH - ec_word QUES + .2byte EC_WORD_MY + .2byte EC_WORD_FASHION + .2byte EC_WORD_SENSE + .2byte EC_WORD_SEEMS + .2byte EC_POKEMON(ODDISH) + .2byte EC_WORD_QUES @ win speech - ec_word IT_S - ec_word MY - ec_word FAMILY - ec_word STAY_AT_HOME - ec_word LOOK - ec_word EXCL + .2byte EC_WORD_IT_S + .2byte EC_WORD_MY + .2byte EC_WORD_FAMILY + .2byte EC_WORD_STAY_AT_HOME + .2byte EC_WORD_LOOK + .2byte EC_WORD_EXCL @ loss speech - ec_word I - ec_word QUESTION - ec_word YOUR - ec_word FASHION - ec_word SENSE - ec_word SERIOUSLY + .2byte EC_WORD_I + .2byte EC_WORD_QUESTION + .2byte EC_WORD_YOUR + .2byte EC_WORD_FASHION + .2byte EC_WORD_SENSE + .2byte EC_WORD_SERIOUSLY .4byte gBattleFrontierTrainerMons_Brody @ 155 - .4byte TRAINER_CLASS_DRAGON_TAMER + .4byte FACILITY_CLASS_DRAGON_TAMER .string "GRAHAM$", 8 @ pre-battle speech - ec_word YEAH - ec_word EXCL + .2byte EC_WORD_YEAH + .2byte EC_WORD_EXCL .2byte -1 - ec_word YEAH_YEAH - ec_word EXCL_EXCL + .2byte EC_WORD_YEAH_YEAH + .2byte EC_WORD_EXCL_EXCL .2byte -1 @ win speech - ec_word WAHAHAHA - ec_word WAHAHAHA - ec_word EXCL - ec_word WAHAHAHA - ec_word WAHAHAHA - ec_word EXCL_EXCL + .2byte EC_WORD_WAHAHAHA + .2byte EC_WORD_WAHAHAHA + .2byte EC_WORD_EXCL + .2byte EC_WORD_WAHAHAHA + .2byte EC_WORD_WAHAHAHA + .2byte EC_WORD_EXCL_EXCL @ loss speech - ec_word I_AM - ec_word SORRY - ec_word ELLIPSIS - ec_word IT_S - ec_word MY - ec_word BAD + .2byte EC_WORD_I_AM + .2byte EC_WORD_SORRY + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_IT_S + .2byte EC_WORD_MY + .2byte EC_WORD_BAD .4byte gBattleFrontierTrainerMons_Graham @ 156 - .4byte TRAINER_CLASS_POKEFAN_1 + .4byte FACILITY_CLASS_POKEFAN_1 .string "TYLOR$", 8 @ pre-battle speech - ec_word ARE - ec_word YOU - ec_word FEELING - ec_word MY - ec_move2 HEAT_WAVE - ec_word QUES + .2byte EC_WORD_ARE + .2byte EC_WORD_YOU + .2byte EC_WORD_FEELING + .2byte EC_WORD_MY + .2byte EC_MOVE2(HEAT_WAVE) + .2byte EC_WORD_QUES @ win speech - ec_word YES - ec_word I_AM - ec_word ON - ec_word FIRE - ec_word EXCL + .2byte EC_WORD_YES + .2byte EC_WORD_I_AM + .2byte EC_WORD_ON + .2byte EC_WORD_FIRE + .2byte EC_WORD_EXCL .2byte -1 @ loss speech - ec_word BUT - ec_word I_WAS - ec_word ON - ec_word FIRE - ec_word FOR - ec_word YOU + .2byte EC_WORD_BUT + .2byte EC_WORD_I_WAS + .2byte EC_WORD_ON + .2byte EC_WORD_FIRE + .2byte EC_WORD_FOR + .2byte EC_WORD_YOU .4byte gBattleFrontierTrainerMons_Tylor @ 157 - .4byte TRAINER_CLASS_POKEFAN_2 + .4byte FACILITY_CLASS_POKEFAN_2 .string "JAREN$", 8 @ pre-battle speech - ec_word FIGHTING - ec_word SPIRIT - ec_word QUES - ec_word ME - ec_word QUES + .2byte EC_WORD_FIGHTING + .2byte EC_WORD_SPIRIT + .2byte EC_WORD_QUES + .2byte EC_WORD_ME + .2byte EC_WORD_QUES .2byte -1 @ win speech - ec_word I - ec_word WANT - ec_word MORE - ec_word CUTE - ec_word POKEMON + .2byte EC_WORD_I + .2byte EC_WORD_WANT + .2byte EC_WORD_MORE + .2byte EC_WORD_CUTE + .2byte EC_WORD_POKEMON .2byte -1 @ loss speech - ec_word YOUR - ec_word POKEMON - ec_word LOOK - ec_word QUITE - ec_word CUTE + .2byte EC_WORD_YOUR + .2byte EC_WORD_POKEMON + .2byte EC_WORD_LOOK + .2byte EC_WORD_QUITE + .2byte EC_WORD_CUTE .2byte -1 .4byte gBattleFrontierTrainerMons_Jaren @ 158 - .4byte TRAINER_CLASS_PKMN_BREEDER_2 + .4byte FACILITY_CLASS_PKMN_BREEDER_2 .string "CORDELL$", 8 @ pre-battle speech - ec_word A - ec_word BATTLE - ec_word IS - ec_word DECIDED - ec_word ON - ec_word SPIRIT + .2byte EC_WORD_A + .2byte EC_WORD_BATTLE + .2byte EC_WORD_IS + .2byte EC_WORD_DECIDED + .2byte EC_WORD_ON + .2byte EC_WORD_SPIRIT @ win speech - ec_word CAN_T - ec_word YOU - ec_word ACCEPT - ec_word THAT - ec_word QUES + .2byte EC_WORD_CAN_T + .2byte EC_WORD_YOU + .2byte EC_WORD_ACCEPT + .2byte EC_WORD_THAT + .2byte EC_WORD_QUES .2byte -1 @ loss speech - ec_word I - ec_word WILL - ec_word BE - ec_word ON - ec_word MY - ec_word WAY + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_WORD_BE + .2byte EC_WORD_ON + .2byte EC_WORD_MY + .2byte EC_WORD_WAY .4byte gBattleFrontierTrainerMons_Cordell @ 159 - .4byte TRAINER_CLASS_PKMN_BREEDER_1 + .4byte FACILITY_CLASS_PKMN_BREEDER_1 .string "JAZLYN$", 8 @ pre-battle speech - ec_word IS - ec_word YOUR - ec_word POKEDEX - ec_word REALLY - ec_word AWESOME - ec_word QUES + .2byte EC_WORD_IS + .2byte EC_WORD_YOUR + .2byte EC_WORD_POKEDEX + .2byte EC_WORD_REALLY + .2byte EC_WORD_AWESOME + .2byte EC_WORD_QUES @ win speech - ec_word OH_YEAH - ec_word WOW - ec_word YOUR - ec_word POKEDEX - ec_word IS - ec_word SUPER + .2byte EC_WORD_OH_YEAH + .2byte EC_WORD_WOW + .2byte EC_WORD_YOUR + .2byte EC_WORD_POKEDEX + .2byte EC_WORD_IS + .2byte EC_WORD_SUPER @ loss speech - ec_word AN - ec_word AVANT_GARDE - ec_word POKEDEX - ec_word WOULD - ec_word BE - ec_word AWESOME + .2byte EC_WORD_AN + .2byte EC_WORD_AVANT_GARDE + .2byte EC_WORD_POKEDEX + .2byte EC_WORD_WOULD + .2byte EC_WORD_BE + .2byte EC_WORD_AWESOME .4byte gBattleFrontierTrainerMons_Jazlyn @ 160 - .4byte TRAINER_CLASS_YOUNGSTER + .4byte FACILITY_CLASS_YOUNGSTER .string "ZACHERY$", 8 @ pre-battle speech - ec_word I - ec_word HAVE - ec_word MY - ec_word OWN - ec_word PLACE - ec_word YEEHAW_EXCL + .2byte EC_WORD_I + .2byte EC_WORD_HAVE + .2byte EC_WORD_MY + .2byte EC_WORD_OWN + .2byte EC_WORD_PLACE + .2byte EC_WORD_YEEHAW_EXCL @ win speech - ec_word IT_S - ec_word AN - ec_word EXCITING - ec_word TIME - ec_word FOR - ec_word ME + .2byte EC_WORD_IT_S + .2byte EC_WORD_AN + .2byte EC_WORD_EXCITING + .2byte EC_WORD_TIME + .2byte EC_WORD_FOR + .2byte EC_WORD_ME @ loss speech - ec_word YOU - ec_word CAN_T - ec_word FLATTEN - ec_word MY - ec_word HAPPINESS - ec_word EXCL + .2byte EC_WORD_YOU + .2byte EC_WORD_CAN_T + .2byte EC_WORD_FLATTEN + .2byte EC_WORD_MY + .2byte EC_WORD_HAPPINESS + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Zachery @ 161 - .4byte TRAINER_CLASS_YOUNGSTER + .4byte FACILITY_CLASS_YOUNGSTER .string "JOHAN$", 8 @ pre-battle speech - ec_word WINTER - ec_word WILL - ec_word SOON - ec_word BE - ec_word HERE + .2byte EC_WORD_WINTER + .2byte EC_WORD_WILL + .2byte EC_WORD_SOON + .2byte EC_WORD_BE + .2byte EC_WORD_HERE .2byte -1 @ win speech - ec_word MY - ec_word ALLOWANCE - ec_word COULD - ec_word USE - ec_word A - ec_move2 HELPING_HAND + .2byte EC_WORD_MY + .2byte EC_WORD_ALLOWANCE + .2byte EC_WORD_COULD + .2byte EC_WORD_USE + .2byte EC_WORD_A + .2byte EC_MOVE2(HELPING_HAND) @ loss speech - ec_word I - ec_word ALWAYS - ec_word USE - ec_word MY - ec_word ALLOWANCE - ec_word UP + .2byte EC_WORD_I + .2byte EC_WORD_ALWAYS + .2byte EC_WORD_USE + .2byte EC_WORD_MY + .2byte EC_WORD_ALLOWANCE + .2byte EC_WORD_UP .4byte gBattleFrontierTrainerMons_Johan @ 162 - .4byte TRAINER_CLASS_LASS + .4byte FACILITY_CLASS_LASS .string "SHEA$", 8 @ pre-battle speech - ec_word DO - ec_word YOU - ec_word BATTLE - ec_word WITH - ec_word BEAUTY - ec_word QUES + .2byte EC_WORD_DO + .2byte EC_WORD_YOU + .2byte EC_WORD_BATTLE + .2byte EC_WORD_WITH + .2byte EC_WORD_BEAUTY + .2byte EC_WORD_QUES @ win speech - ec_word YOU - ec_word BATTLE - ec_word IN - ec_word AN - ec_word UGLY - ec_word WAY + .2byte EC_WORD_YOU + .2byte EC_WORD_BATTLE + .2byte EC_WORD_IN + .2byte EC_WORD_AN + .2byte EC_WORD_UGLY + .2byte EC_WORD_WAY @ loss speech - ec_word WHAT - ec_word IS - ec_word BEAUTY - ec_word TO - ec_word YOU - ec_word QUES + .2byte EC_WORD_WHAT + .2byte EC_WORD_IS + .2byte EC_WORD_BEAUTY + .2byte EC_WORD_TO + .2byte EC_WORD_YOU + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Shea @ 163 - .4byte TRAINER_CLASS_LASS + .4byte FACILITY_CLASS_LASS .string "KAILA$", 8 @ pre-battle speech - ec_word I_AM - ec_word FEELING - ec_word THIRSTY - ec_word RIGHT - ec_word NOW - ec_word ELLIPSIS + .2byte EC_WORD_I_AM + .2byte EC_WORD_FEELING + .2byte EC_WORD_THIRSTY + .2byte EC_WORD_RIGHT + .2byte EC_WORD_NOW + .2byte EC_WORD_ELLIPSIS @ win speech - ec_word I - ec_word COULD - ec_word USE - ec_word A - ec_word COLD - ec_word DRINK + .2byte EC_WORD_I + .2byte EC_WORD_COULD + .2byte EC_WORD_USE + .2byte EC_WORD_A + .2byte EC_WORD_COLD + .2byte EC_WORD_DRINK @ loss speech - ec_word THAT - ec_word LOSS - ec_word IS - ec_word HARD - ec_word TO - ec_move2 SWALLOW + .2byte EC_WORD_THAT + .2byte EC_WORD_LOSS + .2byte EC_WORD_IS + .2byte EC_WORD_HARD + .2byte EC_WORD_TO + .2byte EC_MOVE2(SWALLOW) .4byte gBattleFrontierTrainerMons_Kaila @ 164 - .4byte TRAINER_CLASS_SCHOOL_KID_1 + .4byte FACILITY_CLASS_SCHOOL_KID_1 .string "ISIAH$", 8 @ pre-battle speech - ec_word I - ec_word PRETEND - ec_word TO - ec_word STUDY - ec_word A_LOT + .2byte EC_WORD_I + .2byte EC_WORD_PRETEND + .2byte EC_WORD_TO + .2byte EC_WORD_STUDY + .2byte EC_WORD_A_LOT .2byte -1 @ win speech - ec_word I - ec_move2 TRICK - ec_word MOTHER - ec_word FOR - ec_word MY - ec_word ALLOWANCE + .2byte EC_WORD_I + .2byte EC_MOVE2(TRICK) + .2byte EC_WORD_MOTHER + .2byte EC_WORD_FOR + .2byte EC_WORD_MY + .2byte EC_WORD_ALLOWANCE @ loss speech - ec_word I - ec_word DON_T - ec_word WANT - ec_word TO - ec_word STUDY - ec_word MORE + .2byte EC_WORD_I + .2byte EC_WORD_DON_T + .2byte EC_WORD_WANT + .2byte EC_WORD_TO + .2byte EC_WORD_STUDY + .2byte EC_WORD_MORE .4byte gBattleFrontierTrainerMons_Isiah @ 165 - .4byte TRAINER_CLASS_SCHOOL_KID_1 + .4byte FACILITY_CLASS_SCHOOL_KID_1 .string "GARRETT$", 8 @ pre-battle speech - ec_word I - ec_word ENJOY - ec_word COMICS - ec_word AND - ec_word THIS - ec_word GAME + .2byte EC_WORD_I + .2byte EC_WORD_ENJOY + .2byte EC_WORD_COMICS + .2byte EC_WORD_AND + .2byte EC_WORD_THIS + .2byte EC_WORD_GAME @ win speech - ec_word I - ec_word LIKE - ec_word THIS - ec_word MUSIC - ec_word IDOL - ec_word TOO + .2byte EC_WORD_I + .2byte EC_WORD_LIKE + .2byte EC_WORD_THIS + .2byte EC_WORD_MUSIC + .2byte EC_WORD_IDOL + .2byte EC_WORD_TOO @ loss speech - ec_word BUT - ec_word I - ec_word HAVE - ec_word TO - ec_word STUDY - ec_word MORE + .2byte EC_WORD_BUT + .2byte EC_WORD_I + .2byte EC_WORD_HAVE + .2byte EC_WORD_TO + .2byte EC_WORD_STUDY + .2byte EC_WORD_MORE .4byte gBattleFrontierTrainerMons_Garrett @ 166 - .4byte TRAINER_CLASS_SCHOOL_KID_2 + .4byte FACILITY_CLASS_SCHOOL_KID_2 .string "HAYLIE$", 8 @ pre-battle speech - ec_word I - ec_word WORRY - ec_word TOO - ec_word MUCH - ec_word TO - ec_word SLEEP + .2byte EC_WORD_I + .2byte EC_WORD_WORRY + .2byte EC_WORD_TOO + .2byte EC_WORD_MUCH + .2byte EC_WORD_TO + .2byte EC_WORD_SLEEP @ win speech - ec_word A - ec_word WIN - ec_word GIVES - ec_word ME - ec_word A - ec_move2 CALM_MIND + .2byte EC_WORD_A + .2byte EC_WORD_WIN + .2byte EC_WORD_GIVES + .2byte EC_WORD_ME + .2byte EC_WORD_A + .2byte EC_MOVE2(CALM_MIND) @ loss speech - ec_word MY - ec_word INSOMNIA - ec_word WILL - ec_word GET - ec_word BAD - ec_word ELLIPSIS + .2byte EC_WORD_MY + .2byte EC_WORD_INSOMNIA + .2byte EC_WORD_WILL + .2byte EC_WORD_GET + .2byte EC_WORD_BAD + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Haylie @ 167 - .4byte TRAINER_CLASS_SCHOOL_KID_2 + .4byte FACILITY_CLASS_SCHOOL_KID_2 .string "MEGAN$", 8 @ pre-battle speech - ec_word I - ec_word BELIEVE - ec_word IN - ec_word AN - ec_move1 AROMATHERAPY - ec_word BATH + .2byte EC_WORD_I + .2byte EC_WORD_BELIEVE + .2byte EC_WORD_IN + .2byte EC_WORD_AN + .2byte EC_MOVE(AROMATHERAPY) + .2byte EC_WORD_BATH @ win speech - ec_word I - ec_word WANT - ec_word A - ec_word HEALTHY - ec_word CLEAR_BODY + .2byte EC_WORD_I + .2byte EC_WORD_WANT + .2byte EC_WORD_A + .2byte EC_WORD_HEALTHY + .2byte EC_WORD_CLEAR_BODY .2byte -1 @ loss speech - ec_word IF - ec_word ONLY - ec_move1 AROMATHERAPY - ec_word WERE - ec_word LESS - ec_word EXPENSIVE + .2byte EC_WORD_IF + .2byte EC_WORD_ONLY + .2byte EC_MOVE(AROMATHERAPY) + .2byte EC_WORD_WERE + .2byte EC_WORD_LESS + .2byte EC_WORD_EXPENSIVE .4byte gBattleFrontierTrainerMons_Megan @ 168 - .4byte TRAINER_CLASS_RICH_BOY + .4byte FACILITY_CLASS_RICH_BOY .string "ISSAC$", 8 @ pre-battle speech - ec_word MY - ec_word HOBBY - ec_word QUES + .2byte EC_WORD_MY + .2byte EC_WORD_HOBBY + .2byte EC_WORD_QUES .2byte -1 .2byte -1 .2byte -1 @ win speech - ec_word I - ec_word LIKE - ec_word ANY - ec_word KIND - ec_word OF - ec_move2 WATER_SPORT + .2byte EC_WORD_I + .2byte EC_WORD_LIKE + .2byte EC_WORD_ANY + .2byte EC_WORD_KIND + .2byte EC_WORD_OF + .2byte EC_MOVE2(WATER_SPORT) @ loss speech - ec_word I - ec_word DISLIKE - ec_word ANY - ec_word KIND - ec_word OF - ec_move2 MUD_SPORT + .2byte EC_WORD_I + .2byte EC_WORD_DISLIKE + .2byte EC_WORD_ANY + .2byte EC_WORD_KIND + .2byte EC_WORD_OF + .2byte EC_MOVE2(MUD_SPORT) .4byte gBattleFrontierTrainerMons_Issac @ 169 - .4byte TRAINER_CLASS_RICH_BOY + .4byte FACILITY_CLASS_RICH_BOY .string "QUINTON$", 8 @ pre-battle speech - ec_word I_AM - ec_word SAD - ec_word CAUSE - ec_word I_AM - ec_word TOO_WEAK + .2byte EC_WORD_I_AM + .2byte EC_WORD_SAD + .2byte EC_WORD_CAUSE + .2byte EC_WORD_I_AM + .2byte EC_WORD_TOO_WEAK .2byte -1 @ win speech - ec_word YOU - ec_word AREN_T - ec_word TOO_STRONG - ec_word FOR - ec_word ME + .2byte EC_WORD_YOU + .2byte EC_WORD_AREN_T + .2byte EC_WORD_TOO_STRONG + .2byte EC_WORD_FOR + .2byte EC_WORD_ME .2byte -1 @ loss speech - ec_word HEY - ec_word WHAT - ec_word DID - ec_word I - ec_word DO - ec_word QUES + .2byte EC_WORD_HEY + .2byte EC_WORD_WHAT + .2byte EC_WORD_DID + .2byte EC_WORD_I + .2byte EC_WORD_DO + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Quinton @ 170 - .4byte TRAINER_CLASS_LADY + .4byte FACILITY_CLASS_LADY .string "SALMA$", 8 @ pre-battle speech - ec_word YOU_VE - ec_word GOT - ec_word YOUR - ec_word HUSTLE - ec_word ON - ec_word EXCL + .2byte EC_WORD_YOU_VE + .2byte EC_WORD_GOT + .2byte EC_WORD_YOUR + .2byte EC_WORD_HUSTLE + .2byte EC_WORD_ON + .2byte EC_WORD_EXCL @ win speech - ec_word I - ec_word WIN - ec_word YOU - ec_word HUSTLE - ec_word ON - ec_word OUT + .2byte EC_WORD_I + .2byte EC_WORD_WIN + .2byte EC_WORD_YOU + .2byte EC_WORD_HUSTLE + .2byte EC_WORD_ON + .2byte EC_WORD_OUT @ loss speech - ec_word I - ec_word DON_T - ec_word GET - ec_word HOW - ec_word I - ec_word LOST + .2byte EC_WORD_I + .2byte EC_WORD_DON_T + .2byte EC_WORD_GET + .2byte EC_WORD_HOW + .2byte EC_WORD_I + .2byte EC_WORD_LOST .4byte gBattleFrontierTrainerMons_Salma @ 171 - .4byte TRAINER_CLASS_LADY + .4byte FACILITY_CLASS_LADY .string "ANSLEY$", 8 @ pre-battle speech - ec_word I_AM - ec_word BORED - ec_word ELLIPSIS - ec_word DANCE - ec_word FOR - ec_word ME + .2byte EC_WORD_I_AM + .2byte EC_WORD_BORED + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_DANCE + .2byte EC_WORD_FOR + .2byte EC_WORD_ME @ win speech - ec_word YOU_VE - ec_word BORED - ec_word ME - ec_word SOME - ec_word MORE + .2byte EC_WORD_YOU_VE + .2byte EC_WORD_BORED + .2byte EC_WORD_ME + .2byte EC_WORD_SOME + .2byte EC_WORD_MORE .2byte -1 @ loss speech - ec_word TAKE - ec_word YOUR - ec_move2 FRUSTRATION - ec_word SOME - ec_word OTHER - ec_word PLACE + .2byte EC_WORD_TAKE + .2byte EC_WORD_YOUR + .2byte EC_MOVE2(FRUSTRATION) + .2byte EC_WORD_SOME + .2byte EC_WORD_OTHER + .2byte EC_WORD_PLACE .4byte gBattleFrontierTrainerMons_Ansley @ 172 - .4byte TRAINER_CLASS_BUG_CATCHER + .4byte FACILITY_CLASS_BUG_CATCHER .string "HOLDEN$", 8 @ pre-battle speech - ec_word LET_S - ec_word COMMEMORATE - ec_word MY - ec_word COOLNESS - ec_word IN - ec_word BATTLE + .2byte EC_WORD_LET_S + .2byte EC_WORD_COMMEMORATE + .2byte EC_WORD_MY + .2byte EC_WORD_COOLNESS + .2byte EC_WORD_IN + .2byte EC_WORD_BATTLE @ win speech - ec_word YOU_RE - ec_word TOO_WEAK - ec_word FOR - ec_word ANY - ec_word PRAISE + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_TOO_WEAK + .2byte EC_WORD_FOR + .2byte EC_WORD_ANY + .2byte EC_WORD_PRAISE .2byte -1 @ loss speech - ec_word YOUR - ec_word BATTLE - ec_word SENSE - ec_word IS - ec_word AMUSING + .2byte EC_WORD_YOUR + .2byte EC_WORD_BATTLE + .2byte EC_WORD_SENSE + .2byte EC_WORD_IS + .2byte EC_WORD_AMUSING .2byte -1 .4byte gBattleFrontierTrainerMons_Holden @ 173 - .4byte TRAINER_CLASS_BUG_CATCHER + .4byte FACILITY_CLASS_BUG_CATCHER .string "LUCA$", 8 @ pre-battle speech - ec_word WE - ec_word WILL - ec_word HAVE - ec_word A - ec_word COOL - ec_word BATTLE + .2byte EC_WORD_WE + .2byte EC_WORD_WILL + .2byte EC_WORD_HAVE + .2byte EC_WORD_A + .2byte EC_WORD_COOL + .2byte EC_WORD_BATTLE @ win speech - ec_word I - ec_word WON - ec_word IN - ec_word A - ec_word COOL - ec_word WAY + .2byte EC_WORD_I + .2byte EC_WORD_WON + .2byte EC_WORD_IN + .2byte EC_WORD_A + .2byte EC_WORD_COOL + .2byte EC_WORD_WAY @ loss speech - ec_word HELLO - ec_word QUES - ec_word I_AM - ec_word JUST - ec_word A - ec_word KID + .2byte EC_WORD_HELLO + .2byte EC_WORD_QUES + .2byte EC_WORD_I_AM + .2byte EC_WORD_JUST + .2byte EC_WORD_A + .2byte EC_WORD_KID .4byte gBattleFrontierTrainerMons_Luca @ 174 - .4byte TRAINER_CLASS_NINJA_BOY + .4byte FACILITY_CLASS_NINJA_BOY .string "JAMISON$", 8 @ pre-battle speech - ec_word MY - ec_move2 SECRET_POWER - ec_word IS - ec_word OVERWHELMING - ec_word TO - ec_word POKEMON + .2byte EC_WORD_MY + .2byte EC_MOVE2(SECRET_POWER) + .2byte EC_WORD_IS + .2byte EC_WORD_OVERWHELMING + .2byte EC_WORD_TO + .2byte EC_WORD_POKEMON @ win speech - ec_word DID - ec_word YOU - ec_word SEE - ec_word THAT - ec_word QUES + .2byte EC_WORD_DID + .2byte EC_WORD_YOU + .2byte EC_WORD_SEE + .2byte EC_WORD_THAT + .2byte EC_WORD_QUES .2byte -1 @ loss speech - ec_word I - ec_word WILL - ec_word USE - ec_move1 SMOKESCREEN - ec_word TO - ec_word ESCAPE + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_WORD_USE + .2byte EC_MOVE(SMOKESCREEN) + .2byte EC_WORD_TO + .2byte EC_WORD_ESCAPE .4byte gBattleFrontierTrainerMons_Jamison @ 175 - .4byte TRAINER_CLASS_NINJA_BOY + .4byte FACILITY_CLASS_NINJA_BOY .string "GUNNAR$", 8 @ pre-battle speech - ec_word I - ec_move1 CUT - ec_word DOWN - ec_word EVERY - ec_word OPPONENT + .2byte EC_WORD_I + .2byte EC_MOVE(CUT) + .2byte EC_WORD_DOWN + .2byte EC_WORD_EVERY + .2byte EC_WORD_OPPONENT .2byte -1 @ win speech - ec_word DON_T - ec_move1 GRUDGE - ec_word ME - ec_word FOR - ec_word YOUR - ec_word LOSS + .2byte EC_WORD_DON_T + .2byte EC_MOVE(GRUDGE) + .2byte EC_WORD_ME + .2byte EC_WORD_FOR + .2byte EC_WORD_YOUR + .2byte EC_WORD_LOSS @ loss speech - ec_word PLEASE - ec_word LOSE - ec_word THAT - ec_move1 SCARY_FACE - ec_word OF - ec_word YOURS + .2byte EC_WORD_PLEASE + .2byte EC_WORD_LOSE + .2byte EC_WORD_THAT + .2byte EC_MOVE(SCARY_FACE) + .2byte EC_WORD_OF + .2byte EC_WORD_YOURS .4byte gBattleFrontierTrainerMons_Gunnar @ 176 - .4byte TRAINER_CLASS_TUBER_2 + .4byte FACILITY_CLASS_TUBER_2 .string "CRAIG$", 8 @ pre-battle speech - ec_word I - ec_word CAN_T - ec_word WAIT - ec_word FOR - ec_word MY - ec_word TRAIN + .2byte EC_WORD_I + .2byte EC_WORD_CAN_T + .2byte EC_WORD_WAIT + .2byte EC_WORD_FOR + .2byte EC_WORD_MY + .2byte EC_WORD_TRAIN @ win speech - ec_word MY - ec_word TRAIN - ec_word ISN_T - ec_word HERE - ec_word YET - ec_word ELLIPSIS + .2byte EC_WORD_MY + .2byte EC_WORD_TRAIN + .2byte EC_WORD_ISN_T + .2byte EC_WORD_HERE + .2byte EC_WORD_YET + .2byte EC_WORD_ELLIPSIS @ loss speech - ec_word HERE_IT_IS - ec_word MY - ec_word TRAIN - ec_word SEE_YA - ec_word EXCL + .2byte EC_WORD_HERE_IT_IS + .2byte EC_WORD_MY + .2byte EC_WORD_TRAIN + .2byte EC_WORD_SEE_YA + .2byte EC_WORD_EXCL .2byte -1 .4byte gBattleFrontierTrainerMons_Craig @ 177 - .4byte TRAINER_CLASS_TUBER_2 + .4byte FACILITY_CLASS_TUBER_2 .string "PIERCE$", 8 @ pre-battle speech - ec_word THERE - ec_word WAS - ec_word A - ec_move2 HEAT_WAVE - ec_word LAST - ec_word WEEK + .2byte EC_WORD_THERE + .2byte EC_WORD_WAS + .2byte EC_WORD_A + .2byte EC_MOVE2(HEAT_WAVE) + .2byte EC_WORD_LAST + .2byte EC_WORD_WEEK @ win speech - ec_word I - ec_word CAN_T - ec_word TAKE - ec_word A - ec_move2 HEAT_WAVE + .2byte EC_WORD_I + .2byte EC_WORD_CAN_T + .2byte EC_WORD_TAKE + .2byte EC_WORD_A + .2byte EC_MOVE2(HEAT_WAVE) .2byte -1 @ loss speech - ec_word DIDN_T - ec_word IT - ec_move1 HAIL - ec_word TOO - ec_word QUES + .2byte EC_WORD_DIDN_T + .2byte EC_WORD_IT + .2byte EC_MOVE(HAIL) + .2byte EC_WORD_TOO + .2byte EC_WORD_QUES .2byte -1 .4byte gBattleFrontierTrainerMons_Pierce @ 178 - .4byte TRAINER_CLASS_TUBER_1 + .4byte FACILITY_CLASS_TUBER_1 .string "REGINA$", 8 @ pre-battle speech - ec_word I - ec_word LIKE - ec_word TO - ec_word PLAY - ec_word IN - ec_word WATER + .2byte EC_WORD_I + .2byte EC_WORD_LIKE + .2byte EC_WORD_TO + .2byte EC_WORD_PLAY + .2byte EC_WORD_IN + .2byte EC_WORD_WATER @ win speech - ec_word I - ec_word REFUSE - ec_word TO - ec_word COME - ec_word OUT + .2byte EC_WORD_I + .2byte EC_WORD_REFUSE + .2byte EC_WORD_TO + .2byte EC_WORD_COME + .2byte EC_WORD_OUT .2byte -1 @ loss speech - ec_word YOU_RE - ec_word NOT - ec_word MUCH - ec_word GOOD - ec_word IN - ec_word WATER + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_NOT + .2byte EC_WORD_MUCH + .2byte EC_WORD_GOOD + .2byte EC_WORD_IN + .2byte EC_WORD_WATER .4byte gBattleFrontierTrainerMons_Regina @ 179 - .4byte TRAINER_CLASS_TUBER_1 + .4byte FACILITY_CLASS_TUBER_1 .string "ALISON$", 8 @ pre-battle speech - ec_word THIS - ec_word KINDERGARTEN - ec_word MAGAZINE - ec_word IS - ec_word TOO - ec_word MUCH + .2byte EC_WORD_THIS + .2byte EC_WORD_KINDERGARTEN + .2byte EC_WORD_MAGAZINE + .2byte EC_WORD_IS + .2byte EC_WORD_TOO + .2byte EC_WORD_MUCH @ win speech - ec_word HOW - ec_word TO - ec_word BUG - ec_word YOUR - ec_word TEACHER - ec_word QUES + .2byte EC_WORD_HOW + .2byte EC_WORD_TO + .2byte EC_WORD_BUG + .2byte EC_WORD_YOUR + .2byte EC_WORD_TEACHER + .2byte EC_WORD_QUES @ loss speech - ec_word ENJOY - ec_word A - ec_word TASTY - ec_word SCHOOL - ec_word DIET - ec_word QUES + .2byte EC_WORD_ENJOY + .2byte EC_WORD_A + .2byte EC_WORD_TASTY + .2byte EC_WORD_SCHOOL + .2byte EC_WORD_DIET + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Alison @ 180 - .4byte TRAINER_CLASS_BUG_MANIAC + .4byte FACILITY_CLASS_BUG_MANIAC .string "HANK$", 8 @ pre-battle speech - ec_word THERE - ec_word IS - ec_word A - ec_word BUG - ec_word EVENT - ec_word SOON + .2byte EC_WORD_THERE + .2byte EC_WORD_IS + .2byte EC_WORD_A + .2byte EC_WORD_BUG + .2byte EC_WORD_EVENT + .2byte EC_WORD_SOON @ win speech - ec_word IT_S - ec_word A - ec_word BUG - ec_word FASHION - ec_word SHOW - ec_word EXCL + .2byte EC_WORD_IT_S + .2byte EC_WORD_A + .2byte EC_WORD_BUG + .2byte EC_WORD_FASHION + .2byte EC_WORD_SHOW + .2byte EC_WORD_EXCL @ loss speech - ec_word DON_T - ec_word YOU - ec_word LIKE - ec_word BUG - ec_word POKEMON - ec_word QUES + .2byte EC_WORD_DON_T + .2byte EC_WORD_YOU + .2byte EC_WORD_LIKE + .2byte EC_WORD_BUG + .2byte EC_WORD_POKEMON + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Hank @ 181 - .4byte TRAINER_CLASS_BUG_MANIAC + .4byte FACILITY_CLASS_BUG_MANIAC .string "EARL$", 8 @ pre-battle speech - ec_word THE - ec_word INVINCIBLE - ec_word BUG - ec_word TRAINER - ec_word IS - ec_word HERE + .2byte EC_WORD_THE + .2byte EC_WORD_INVINCIBLE + .2byte EC_WORD_BUG + .2byte EC_WORD_TRAINER + .2byte EC_WORD_IS + .2byte EC_WORD_HERE @ win speech - ec_word THE - ec_word INVINCIBLE - ec_word BUG - ec_word TRAINER - ec_word AM - ec_word I + .2byte EC_WORD_THE + .2byte EC_WORD_INVINCIBLE + .2byte EC_WORD_BUG + .2byte EC_WORD_TRAINER + .2byte EC_WORD_AM + .2byte EC_WORD_I @ loss speech - ec_word SEE - ec_word HOW - ec_word FAST - ec_word I - ec_word RUN_AWAY - ec_word EXCL + .2byte EC_WORD_SEE + .2byte EC_WORD_HOW + .2byte EC_WORD_FAST + .2byte EC_WORD_I + .2byte EC_WORD_RUN_AWAY + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Earl @ 182 - .4byte TRAINER_CLASS_FISHERMAN + .4byte FACILITY_CLASS_FISHERMAN .string "RAMIRO$", 8 @ pre-battle speech - ec_word I - ec_word WENT - ec_word TO - ec_word A - ec_word FISHING - ec_word SCHOOL + .2byte EC_WORD_I + .2byte EC_WORD_WENT + .2byte EC_WORD_TO + .2byte EC_WORD_A + .2byte EC_WORD_FISHING + .2byte EC_WORD_SCHOOL @ win speech - ec_word SERIOUSLY - ec_word I_AM - ec_word IN - ec_word THE - ec_word FISHING - ec_word HALL_OF_FAME + .2byte EC_WORD_SERIOUSLY + .2byte EC_WORD_I_AM + .2byte EC_WORD_IN + .2byte EC_WORD_THE + .2byte EC_WORD_FISHING + .2byte EC_WORD_HALL_OF_FAME @ loss speech - ec_word I - ec_word WANT - ec_word TO - ec_word GO - ec_word BACK - ec_word ELLIPSIS + .2byte EC_WORD_I + .2byte EC_WORD_WANT + .2byte EC_WORD_TO + .2byte EC_WORD_GO + .2byte EC_WORD_BACK + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Ramiro @ 183 - .4byte TRAINER_CLASS_FISHERMAN + .4byte FACILITY_CLASS_FISHERMAN .string "HUNTER$", 8 @ pre-battle speech - ec_word SHOW - ec_word ME - ec_word A - ec_word TOTALLY - ec_word COOL - ec_move1 CROSS_CHOP + .2byte EC_WORD_SHOW + .2byte EC_WORD_ME + .2byte EC_WORD_A + .2byte EC_WORD_TOTALLY + .2byte EC_WORD_COOL + .2byte EC_MOVE(CROSS_CHOP) @ win speech - ec_word YOU_RE - ec_word TOO_WEAK - ec_word TO - ec_word DO - ec_word A - ec_move1 CROSS_CHOP + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_TOO_WEAK + .2byte EC_WORD_TO + .2byte EC_WORD_DO + .2byte EC_WORD_A + .2byte EC_MOVE(CROSS_CHOP) @ loss speech - ec_word WAS - ec_word IT - ec_word A - ec_word MISTAKE - ec_word QUES + .2byte EC_WORD_WAS + .2byte EC_WORD_IT + .2byte EC_WORD_A + .2byte EC_WORD_MISTAKE + .2byte EC_WORD_QUES .2byte -1 .4byte gBattleFrontierTrainerMons_Hunter @ 184 - .4byte TRAINER_CLASS_RUIN_MANIAC + .4byte FACILITY_CLASS_RUIN_MANIAC .string "AIDEN$", 8 @ pre-battle speech - ec_word MY - ec_word WORK - ec_word IS - ec_word MAKING - ec_word ME - ec_word HEALTHY + .2byte EC_WORD_MY + .2byte EC_WORD_WORK + .2byte EC_WORD_IS + .2byte EC_WORD_MAKING + .2byte EC_WORD_ME + .2byte EC_WORD_HEALTHY @ win speech - ec_word YOU - ec_word SEE - ec_word QUES - ec_word I_AM - ec_word HEALTHY - ec_word EXCL + .2byte EC_WORD_YOU + .2byte EC_WORD_SEE + .2byte EC_WORD_QUES + .2byte EC_WORD_I_AM + .2byte EC_WORD_HEALTHY + .2byte EC_WORD_EXCL @ loss speech - ec_word YOU_RE - ec_word MORE - ec_word HEALTHY - ec_word THAN - ec_word I_AM - ec_word ELLIPSIS + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_MORE + .2byte EC_WORD_HEALTHY + .2byte EC_WORD_THAN + .2byte EC_WORD_I_AM + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Aiden @ 185 - .4byte TRAINER_CLASS_RUIN_MANIAC + .4byte FACILITY_CLASS_RUIN_MANIAC .string "XAVIER$", 8 @ pre-battle speech - ec_word HEY_THERE - ec_word EXCL + .2byte EC_WORD_HEY_THERE + .2byte EC_WORD_EXCL .2byte -1 - ec_word LOOK - ec_word LOOK - ec_word EXCL_EXCL + .2byte EC_WORD_LOOK + .2byte EC_WORD_LOOK + .2byte EC_WORD_EXCL_EXCL @ win speech - ec_word GOOD_BYE - ec_word AND - ec_word THANK_YOU - ec_word THAT_WAS - ec_word FUNNY + .2byte EC_WORD_GOOD_BYE + .2byte EC_WORD_AND + .2byte EC_WORD_THANK_YOU + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_FUNNY .2byte -1 @ loss speech - ec_word WOWEE - ec_word EXCL + .2byte EC_WORD_WOWEE + .2byte EC_WORD_EXCL .2byte -1 - ec_word NO - ec_word NO - ec_word EXCL_EXCL + .2byte EC_WORD_NO + .2byte EC_WORD_NO + .2byte EC_WORD_EXCL_EXCL .4byte gBattleFrontierTrainerMons_Xavier @ 186 - .4byte TRAINER_CLASS_COLLECTOR + .4byte FACILITY_CLASS_COLLECTOR .string "CLINTON$", 8 @ pre-battle speech - ec_word WANT - ec_word TO - ec_word SEE - ec_word MY - ec_move1 HYPNOSIS - ec_word QUES + .2byte EC_WORD_WANT + .2byte EC_WORD_TO + .2byte EC_WORD_SEE + .2byte EC_WORD_MY + .2byte EC_MOVE(HYPNOSIS) + .2byte EC_WORD_QUES @ win speech - ec_word YOUR - ec_move2 FURY_SWIPES - ec_word YOUR - ec_move1 STRENGTH - ec_word YOUNG - ec_word TRAINER + .2byte EC_WORD_YOUR + .2byte EC_MOVE2(FURY_SWIPES) + .2byte EC_WORD_YOUR + .2byte EC_MOVE(STRENGTH) + .2byte EC_WORD_YOUNG + .2byte EC_WORD_TRAINER @ loss speech - ec_word TCH - ec_word ELLIPSIS + .2byte EC_WORD_TCH + .2byte EC_WORD_ELLIPSIS .2byte -1 - ec_word I_AM - ec_word TOO_WEAK - ec_word ELLIPSIS + .2byte EC_WORD_I_AM + .2byte EC_WORD_TOO_WEAK + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Clinton @ 187 - .4byte TRAINER_CLASS_COLLECTOR + .4byte FACILITY_CLASS_COLLECTOR .string "JESSE$", 8 @ pre-battle speech - ec_word THIS - ec_word BATTLE - ec_word IS - ec_word FOR - ec_word MY - ec_word MOTHER + .2byte EC_WORD_THIS + .2byte EC_WORD_BATTLE + .2byte EC_WORD_IS + .2byte EC_WORD_FOR + .2byte EC_WORD_MY + .2byte EC_WORD_MOTHER @ win speech - ec_word MOTHER - ec_word WILL - ec_word BE - ec_word HAPPY - ec_word FOR - ec_word ME + .2byte EC_WORD_MOTHER + .2byte EC_WORD_WILL + .2byte EC_WORD_BE + .2byte EC_WORD_HAPPY + .2byte EC_WORD_FOR + .2byte EC_WORD_ME @ loss speech - ec_word I - ec_word WANT - ec_word MY - ec_word MOTHER - ec_word EXCL + .2byte EC_WORD_I + .2byte EC_WORD_WANT + .2byte EC_WORD_MY + .2byte EC_WORD_MOTHER + .2byte EC_WORD_EXCL .2byte -1 .4byte gBattleFrontierTrainerMons_Jesse @ 188 - .4byte TRAINER_CLASS_GUITARIST + .4byte FACILITY_CLASS_GUITARIST .string "EDUARDO$", 8 @ pre-battle speech - ec_word OUR - ec_word MUSIC - ec_word WILL - ec_word PLAY - ec_word ALL - ec_word NIGHT + .2byte EC_WORD_OUR + .2byte EC_WORD_MUSIC + .2byte EC_WORD_WILL + .2byte EC_WORD_PLAY + .2byte EC_WORD_ALL + .2byte EC_WORD_NIGHT @ win speech - ec_word NIGHTTIME - ec_word IS - ec_word WHEN - ec_word I - ec_word PLAY - ec_word BEST + .2byte EC_WORD_NIGHTTIME + .2byte EC_WORD_IS + .2byte EC_WORD_WHEN + .2byte EC_WORD_I + .2byte EC_WORD_PLAY + .2byte EC_WORD_BEST @ loss speech - ec_word LET_S - ec_word PARTY - ec_word UNTIL - ec_word THE - ec_move1 MORNING_SUN - ec_word EXCL + .2byte EC_WORD_LET_S + .2byte EC_WORD_PARTY + .2byte EC_WORD_UNTIL + .2byte EC_WORD_THE + .2byte EC_MOVE(MORNING_SUN) + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Eduardo @ 189 - .4byte TRAINER_CLASS_GUITARIST + .4byte FACILITY_CLASS_GUITARIST .string "HAL$", 8 @ pre-battle speech - ec_word I_AM - ec_word TRENDY - ec_word AREN_T - ec_word I - ec_word QUES + .2byte EC_WORD_I_AM + .2byte EC_WORD_TRENDY + .2byte EC_WORD_AREN_T + .2byte EC_WORD_I + .2byte EC_WORD_QUES .2byte -1 @ win speech - ec_word I_AM - ec_word FEELING - ec_word HIP_AND - ec_word HAPPENING - ec_word OH_YEAH - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_FEELING + .2byte EC_WORD_HIP_AND + .2byte EC_WORD_HAPPENING + .2byte EC_WORD_OH_YEAH + .2byte EC_WORD_EXCL @ loss speech - ec_word I_AM - ec_word ALWAYS - ec_word TRENDY - ec_word THANK_YOU - ec_word VERY - ec_word MUCH + .2byte EC_WORD_I_AM + .2byte EC_WORD_ALWAYS + .2byte EC_WORD_TRENDY + .2byte EC_WORD_THANK_YOU + .2byte EC_WORD_VERY + .2byte EC_WORD_MUCH .4byte gBattleFrontierTrainerMons_Hal @ 190 - .4byte TRAINER_CLASS_BIRD_KEEPER + .4byte FACILITY_CLASS_BIRD_KEEPER .string "GAGE$", 8 @ pre-battle speech - ec_word HERE_IT_IS - ec_word A - ec_word FLYING - ec_word TYPE - ec_word HIDDEN - ec_word MOVE + .2byte EC_WORD_HERE_IT_IS + .2byte EC_WORD_A + .2byte EC_WORD_FLYING + .2byte EC_WORD_TYPE + .2byte EC_WORD_HIDDEN + .2byte EC_WORD_MOVE @ win speech - ec_word IT_S - ec_word A - ec_word FLYING - ec_word TYPE - ec_word VICTORY - ec_word EXCL + .2byte EC_WORD_IT_S + .2byte EC_WORD_A + .2byte EC_WORD_FLYING + .2byte EC_WORD_TYPE + .2byte EC_WORD_VICTORY + .2byte EC_WORD_EXCL @ loss speech - ec_word IF_I_LOSE - ec_word I - ec_word JUST - ec_move1 FLY - ec_word AWAY + .2byte EC_WORD_IF_I_LOSE + .2byte EC_WORD_I + .2byte EC_WORD_JUST + .2byte EC_MOVE(FLY) + .2byte EC_WORD_AWAY .2byte -1 .4byte gBattleFrontierTrainerMons_Gage @ 191 - .4byte TRAINER_CLASS_BIRD_KEEPER + .4byte FACILITY_CLASS_BIRD_KEEPER .string "ARNOLD$", 8 @ pre-battle speech - ec_word I_AM - ec_word FEELING - ec_word WEIRD - ec_word FROM - ec_word A - ec_word DREAM + .2byte EC_WORD_I_AM + .2byte EC_WORD_FEELING + .2byte EC_WORD_WEIRD + .2byte EC_WORD_FROM + .2byte EC_WORD_A + .2byte EC_WORD_DREAM @ win speech - ec_word YOUR - ec_move1 SCARY_FACE - ec_word WAS - ec_word IN - ec_word MY - ec_word DREAM + .2byte EC_WORD_YOUR + .2byte EC_MOVE(SCARY_FACE) + .2byte EC_WORD_WAS + .2byte EC_WORD_IN + .2byte EC_WORD_MY + .2byte EC_WORD_DREAM @ loss speech - ec_word MY - ec_word INCREDIBLE - ec_word DREAM - ec_word WAS - ec_word SO - ec_word WEIRD + .2byte EC_WORD_MY + .2byte EC_WORD_INCREDIBLE + .2byte EC_WORD_DREAM + .2byte EC_WORD_WAS + .2byte EC_WORD_SO + .2byte EC_WORD_WEIRD .4byte gBattleFrontierTrainerMons_Arnold @ 192 - .4byte TRAINER_CLASS_SAILOR + .4byte FACILITY_CLASS_SAILOR .string "JARRETT$", 8 @ pre-battle speech - ec_word COME_ON - ec_word LET_S - ec_word DANCE - ec_word LIKE - ec_word IT_S - ec_word YESTERDAY + .2byte EC_WORD_COME_ON + .2byte EC_WORD_LET_S + .2byte EC_WORD_DANCE + .2byte EC_WORD_LIKE + .2byte EC_WORD_IT_S + .2byte EC_WORD_YESTERDAY @ win speech - ec_word YOU - ec_word LIKE - ec_word HOW - ec_word I - ec_word DANCE - ec_word QUES + .2byte EC_WORD_YOU + .2byte EC_WORD_LIKE + .2byte EC_WORD_HOW + .2byte EC_WORD_I + .2byte EC_WORD_DANCE + .2byte EC_WORD_QUES @ loss speech - ec_word YOU - ec_word DON_T - ec_word APPRECIATE - ec_word HOW - ec_word I - ec_word DANCE + .2byte EC_WORD_YOU + .2byte EC_WORD_DON_T + .2byte EC_WORD_APPRECIATE + .2byte EC_WORD_HOW + .2byte EC_WORD_I + .2byte EC_WORD_DANCE .4byte gBattleFrontierTrainerMons_Jarrett @ 193 - .4byte TRAINER_CLASS_SAILOR + .4byte FACILITY_CLASS_SAILOR .string "GARETT$", 8 @ pre-battle speech - ec_word MY - ec_word GIRL - ec_word GIVES - ec_word ME - ec_word A_LITTLE - ec_move2 SWEET_KISS + .2byte EC_WORD_MY + .2byte EC_WORD_GIRL + .2byte EC_WORD_GIVES + .2byte EC_WORD_ME + .2byte EC_WORD_A_LITTLE + .2byte EC_MOVE2(SWEET_KISS) @ win speech - ec_word MY - ec_word GIRL - ec_word FRIEND - ec_word IS - ec_word MY - ec_word TREASURE + .2byte EC_WORD_MY + .2byte EC_WORD_GIRL + .2byte EC_WORD_FRIEND + .2byte EC_WORD_IS + .2byte EC_WORD_MY + .2byte EC_WORD_TREASURE @ loss speech - ec_word A - ec_word TREASURE - ec_word ISN_T - ec_word ALWAYS - ec_word ABOUT - ec_word MONEY + .2byte EC_WORD_A + .2byte EC_WORD_TREASURE + .2byte EC_WORD_ISN_T + .2byte EC_WORD_ALWAYS + .2byte EC_WORD_ABOUT + .2byte EC_WORD_MONEY .4byte gBattleFrontierTrainerMons_Garett @ 194 - .4byte TRAINER_CLASS_HIKER + .4byte FACILITY_CLASS_HIKER .string "EMANUEL$", 8 @ pre-battle speech - ec_word SMARTNESS - ec_word ALONE - ec_word WON_T - ec_word MAKE - ec_word YOU - ec_word WIN + .2byte EC_WORD_SMARTNESS + .2byte EC_WORD_ALONE + .2byte EC_WORD_WON_T + .2byte EC_WORD_MAKE + .2byte EC_WORD_YOU + .2byte EC_WORD_WIN @ win speech - ec_word I_AM - ec_word NOT_VERY - ec_word SMART - ec_word BUT - ec_word I - ec_word WON + .2byte EC_WORD_I_AM + .2byte EC_WORD_NOT_VERY + .2byte EC_WORD_SMART + .2byte EC_WORD_BUT + .2byte EC_WORD_I + .2byte EC_WORD_WON @ loss speech - ec_word HOW - ec_word DID - ec_word YOU - ec_move2 FAKE_OUT - ec_word ME - ec_word QUES + .2byte EC_WORD_HOW + .2byte EC_WORD_DID + .2byte EC_WORD_YOU + .2byte EC_MOVE2(FAKE_OUT) + .2byte EC_WORD_ME + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Emanuel @ 195 - .4byte TRAINER_CLASS_HIKER + .4byte FACILITY_CLASS_HIKER .string "GUSTAVO$", 8 @ pre-battle speech - ec_move1 CHARGE - ec_word EXCL + .2byte EC_MOVE(CHARGE) + .2byte EC_WORD_EXCL .2byte -1 - ec_move1 CHARGE - ec_word EXCL_EXCL + .2byte EC_MOVE(CHARGE) + .2byte EC_WORD_EXCL_EXCL .2byte -1 @ win speech - ec_word SURRENDER - ec_word QUES + .2byte EC_WORD_SURRENDER + .2byte EC_WORD_QUES .2byte -1 - ec_word SO - ec_word SOON - ec_word QUES + .2byte EC_WORD_SO + .2byte EC_WORD_SOON + .2byte EC_WORD_QUES @ loss speech - ec_word YOU - ec_word CAN_T - ec_word MAKE - ec_word ME - ec_word SURRENDER - ec_word YET + .2byte EC_WORD_YOU + .2byte EC_WORD_CAN_T + .2byte EC_WORD_MAKE + .2byte EC_WORD_ME + .2byte EC_WORD_SURRENDER + .2byte EC_WORD_YET .4byte gBattleFrontierTrainerMons_Gustavo @ 196 - .4byte TRAINER_CLASS_KINDLER + .4byte FACILITY_CLASS_KINDLER .string "KAMERON$", 8 @ pre-battle speech - ec_word TAKE_THAT - ec_word EXCL - ec_word IT_S - ec_word MY - ec_word FIERY - ec_move2 TRICK + .2byte EC_WORD_TAKE_THAT + .2byte EC_WORD_EXCL + .2byte EC_WORD_IT_S + .2byte EC_WORD_MY + .2byte EC_WORD_FIERY + .2byte EC_MOVE2(TRICK) @ win speech - ec_word DID - ec_word MY - ec_word FIERY - ec_move2 TRICK - ec_move1 ASTONISH - ec_word QUES + .2byte EC_WORD_DID + .2byte EC_WORD_MY + .2byte EC_WORD_FIERY + .2byte EC_MOVE2(TRICK) + .2byte EC_MOVE(ASTONISH) + .2byte EC_WORD_QUES @ loss speech - ec_word YOU - ec_word DIDN_T - ec_word FALL - ec_word FOR - ec_word MY - ec_move2 TRICK + .2byte EC_WORD_YOU + .2byte EC_WORD_DIDN_T + .2byte EC_WORD_FALL + .2byte EC_WORD_FOR + .2byte EC_WORD_MY + .2byte EC_MOVE2(TRICK) .4byte gBattleFrontierTrainerMons_Kameron @ 197 - .4byte TRAINER_CLASS_KINDLER + .4byte FACILITY_CLASS_KINDLER .string "ALFREDO$", 8 @ pre-battle speech - ec_word A - ec_word FIERY - ec_word GOURMET - ec_word AM - ec_word I - ec_word EXCL + .2byte EC_WORD_A + .2byte EC_WORD_FIERY + .2byte EC_WORD_GOURMET + .2byte EC_WORD_AM + .2byte EC_WORD_I + .2byte EC_WORD_EXCL @ win speech - ec_word IT_S - ec_word A - ec_word TASTY - ec_word GOURMET - ec_word VICTORY - ec_word EXCL + .2byte EC_WORD_IT_S + .2byte EC_WORD_A + .2byte EC_WORD_TASTY + .2byte EC_WORD_GOURMET + .2byte EC_WORD_VICTORY + .2byte EC_WORD_EXCL @ loss speech - ec_word WHAT - ec_word A - ec_word DISASTER - ec_word THAT_WAS - ec_word EXCL + .2byte EC_WORD_WHAT + .2byte EC_WORD_A + .2byte EC_WORD_DISASTER + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_EXCL .2byte -1 .4byte gBattleFrontierTrainerMons_Alfredo @ 198 - .4byte TRAINER_CLASS_GENTLEMAN + .4byte FACILITY_CLASS_GENTLEMAN .string "RUBEN$", 8 @ pre-battle speech - ec_word I - ec_word CAN_T - ec_word WAIT - ec_word TO - ec_word GET - ec_word GOING + .2byte EC_WORD_I + .2byte EC_WORD_CAN_T + .2byte EC_WORD_WAIT + .2byte EC_WORD_TO + .2byte EC_WORD_GET + .2byte EC_WORD_GOING @ win speech - ec_word GET - ec_word GOING - ec_word EXCL - ec_word THIS - ec_word IS - ec_word GOOD_BYE + .2byte EC_WORD_GET + .2byte EC_WORD_GOING + .2byte EC_WORD_EXCL + .2byte EC_WORD_THIS + .2byte EC_WORD_IS + .2byte EC_WORD_GOOD_BYE @ loss speech - ec_word I_VE - ec_word GOT - ec_word TO - ec_word GET - ec_word GOING + .2byte EC_WORD_I_VE + .2byte EC_WORD_GOT + .2byte EC_WORD_TO + .2byte EC_WORD_GET + .2byte EC_WORD_GOING .2byte -1 .4byte gBattleFrontierTrainerMons_Ruben @ 199 - .4byte TRAINER_CLASS_GENTLEMAN + .4byte FACILITY_CLASS_GENTLEMAN .string "LAMAR$", 8 @ pre-battle speech - ec_word A - ec_move2 PRESENT - ec_word FOR - ec_word ME - ec_word QUES + .2byte EC_WORD_A + .2byte EC_MOVE2(PRESENT) + .2byte EC_WORD_FOR + .2byte EC_WORD_ME + .2byte EC_WORD_QUES .2byte -1 @ win speech - ec_word MMM - ec_word THIS - ec_word IS - ec_word QUITE - ec_word TASTY - ec_word ELLIPSIS + .2byte EC_WORD_MMM + .2byte EC_WORD_THIS + .2byte EC_WORD_IS + .2byte EC_WORD_QUITE + .2byte EC_WORD_TASTY + .2byte EC_WORD_ELLIPSIS @ loss speech - ec_word OH - ec_word IT_S - ec_word A - ec_word GAME - ec_word IS_IT_QUES + .2byte EC_WORD_OH + .2byte EC_WORD_IT_S + .2byte EC_WORD_A + .2byte EC_WORD_GAME + .2byte EC_WORD_IS_IT_QUES .2byte -1 .4byte gBattleFrontierTrainerMons_Lamar @ 200 - .4byte TRAINER_CLASS_YOUNGSTER + .4byte FACILITY_CLASS_YOUNGSTER .string "JAXON$", 8 @ pre-battle speech - ec_word A - ec_word SHELL_ARMOR - ec_word IS - ec_word WHAT - ec_word I - ec_word WANT + .2byte EC_WORD_A + .2byte EC_WORD_SHELL_ARMOR + .2byte EC_WORD_IS + .2byte EC_WORD_WHAT + .2byte EC_WORD_I + .2byte EC_WORD_WANT @ win speech - ec_word MY - ec_word FATHER - ec_word AND - ec_word MOTHER - ec_word WON_T - ec_word ACCEPT + .2byte EC_WORD_MY + .2byte EC_WORD_FATHER + .2byte EC_WORD_AND + .2byte EC_WORD_MOTHER + .2byte EC_WORD_WON_T + .2byte EC_WORD_ACCEPT @ loss speech - ec_word PLEASE - ec_word I - ec_word NEED - ec_word A - ec_word SHELL_ARMOR - ec_word EXCL + .2byte EC_WORD_PLEASE + .2byte EC_WORD_I + .2byte EC_WORD_NEED + .2byte EC_WORD_A + .2byte EC_WORD_SHELL_ARMOR + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Jaxon @ 201 - .4byte TRAINER_CLASS_YOUNGSTER + .4byte FACILITY_CLASS_YOUNGSTER .string "LOGAN$", 8 @ pre-battle speech - ec_word IF_I_LOSE - ec_word I - ec_word WILL - ec_word STUDY - ec_word FOR - ec_word SCHOOL + .2byte EC_WORD_IF_I_LOSE + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_WORD_STUDY + .2byte EC_WORD_FOR + .2byte EC_WORD_SCHOOL @ win speech - ec_word ME - ec_word STUDY - ec_word QUES - ec_word NOT_VERY - ec_word LIKELY_TO - ec_word SEE + .2byte EC_WORD_ME + .2byte EC_WORD_STUDY + .2byte EC_WORD_QUES + .2byte EC_WORD_NOT_VERY + .2byte EC_WORD_LIKELY_TO + .2byte EC_WORD_SEE @ loss speech - ec_word NO - ec_word THANKS - ec_word I_AM - ec_word GOING - ec_word TO - ec_word SLEEP + .2byte EC_WORD_NO + .2byte EC_WORD_THANKS + .2byte EC_WORD_I_AM + .2byte EC_WORD_GOING + .2byte EC_WORD_TO + .2byte EC_WORD_SLEEP .4byte gBattleFrontierTrainerMons_Logan @ 202 - .4byte TRAINER_CLASS_LASS + .4byte FACILITY_CLASS_LASS .string "EMILEE$", 8 @ pre-battle speech - ec_word IS - ec_word THIS - ec_word KIND - ec_word OF - ec_word BATTLE - ec_word OK_QUES + .2byte EC_WORD_IS + .2byte EC_WORD_THIS + .2byte EC_WORD_KIND + .2byte EC_WORD_OF + .2byte EC_WORD_BATTLE + .2byte EC_WORD_OK_QUES @ win speech - ec_word LET_S - ec_word GO - ec_word FOR - ec_word AN - ec_move1 ICY_WIND - ec_move2 SURF + .2byte EC_WORD_LET_S + .2byte EC_WORD_GO + .2byte EC_WORD_FOR + .2byte EC_WORD_AN + .2byte EC_MOVE(ICY_WIND) + .2byte EC_MOVE2(SURF) @ loss speech - ec_word HOW - ec_word ABOUT - ec_word A - ec_move1 ROCK_SLIDE - ec_word SHOW - ec_word QUES + .2byte EC_WORD_HOW + .2byte EC_WORD_ABOUT + .2byte EC_WORD_A + .2byte EC_MOVE(ROCK_SLIDE) + .2byte EC_WORD_SHOW + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Emilee @ 203 - .4byte TRAINER_CLASS_LASS + .4byte FACILITY_CLASS_LASS .string "JOSIE$", 8 @ pre-battle speech - ec_word A - ec_word POKEMON - ec_word FASHION - ec_word CONTEST - ec_word IS - ec_word PRETTY + .2byte EC_WORD_A + .2byte EC_WORD_POKEMON + .2byte EC_WORD_FASHION + .2byte EC_WORD_CONTEST + .2byte EC_WORD_IS + .2byte EC_WORD_PRETTY @ win speech - ec_word I - ec_word REALLY - ec_word LIKE - ec_word MODE - ec_word FASHION - ec_word THINGS + .2byte EC_WORD_I + .2byte EC_WORD_REALLY + .2byte EC_WORD_LIKE + .2byte EC_WORD_MODE + .2byte EC_WORD_FASHION + .2byte EC_WORD_THINGS @ loss speech - ec_word YOU_RE - ec_word TOTALLY - ec_word LACKING - ec_word IN - ec_word FASHION - ec_word SENSE + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_TOTALLY + .2byte EC_WORD_LACKING + .2byte EC_WORD_IN + .2byte EC_WORD_FASHION + .2byte EC_WORD_SENSE .4byte gBattleFrontierTrainerMons_Josie @ 204 - .4byte TRAINER_CLASS_CAMPER + .4byte FACILITY_CLASS_CAMPER .string "ARMANDO$", 8 @ pre-battle speech - ec_word I - ec_word NEED - ec_word MORE - ec_word GRASS - ec_word TYPE - ec_word POKEMON + .2byte EC_WORD_I + .2byte EC_WORD_NEED + .2byte EC_WORD_MORE + .2byte EC_WORD_GRASS + .2byte EC_WORD_TYPE + .2byte EC_WORD_POKEMON @ win speech - ec_word TRADE - ec_word ME - ec_word A - ec_word GRASS - ec_word POKEMON - ec_word PLEASE + .2byte EC_WORD_TRADE + .2byte EC_WORD_ME + .2byte EC_WORD_A + .2byte EC_WORD_GRASS + .2byte EC_WORD_POKEMON + .2byte EC_WORD_PLEASE @ loss speech - ec_word THERE - ec_word AREN_T - ec_word ENOUGH - ec_word GRASS - ec_word TYPE - ec_word POKEMON + .2byte EC_WORD_THERE + .2byte EC_WORD_AREN_T + .2byte EC_WORD_ENOUGH + .2byte EC_WORD_GRASS + .2byte EC_WORD_TYPE + .2byte EC_WORD_POKEMON .4byte gBattleFrontierTrainerMons_Armando @ 205 - .4byte TRAINER_CLASS_CAMPER + .4byte FACILITY_CLASS_CAMPER .string "SKYLER$", 8 @ pre-battle speech - ec_move2 INGRAIN - ec_word IS - ec_word MY - ec_word CHOICE - ec_word BATTLE - ec_word MOVE + .2byte EC_MOVE2(INGRAIN) + .2byte EC_WORD_IS + .2byte EC_WORD_MY + .2byte EC_WORD_CHOICE + .2byte EC_WORD_BATTLE + .2byte EC_WORD_MOVE @ win speech - ec_word YOU - ec_word CAN_T - ec_word MOVE - ec_word ME - ec_word NOW - ec_word EXCL + .2byte EC_WORD_YOU + .2byte EC_WORD_CAN_T + .2byte EC_WORD_MOVE + .2byte EC_WORD_ME + .2byte EC_WORD_NOW + .2byte EC_WORD_EXCL @ loss speech - ec_word YOU - ec_move1 CUT - ec_word ME - ec_word DOWN - ec_word ELLIPSIS + .2byte EC_WORD_YOU + .2byte EC_MOVE(CUT) + .2byte EC_WORD_ME + .2byte EC_WORD_DOWN + .2byte EC_WORD_ELLIPSIS .2byte -1 .4byte gBattleFrontierTrainerMons_Skyler @ 206 - .4byte TRAINER_CLASS_PICNICKER + .4byte FACILITY_CLASS_PICNICKER .string "RUTH$", 8 @ pre-battle speech - ec_word I - ec_word WANT - ec_word TO - ec_word ENJOY - ec_word THIS - ec_word BATTLE + .2byte EC_WORD_I + .2byte EC_WORD_WANT + .2byte EC_WORD_TO + .2byte EC_WORD_ENJOY + .2byte EC_WORD_THIS + .2byte EC_WORD_BATTLE @ win speech - ec_word THAT_WAS - ec_word MUCH - ec_word TOO - ec_word EASY - ec_word EXCL + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_MUCH + .2byte EC_WORD_TOO + .2byte EC_WORD_EASY + .2byte EC_WORD_EXCL .2byte -1 @ loss speech - ec_word PLEASE - ec_word STOP - ec_word I - ec_word DON_T - ec_word ENJOY - ec_word THIS + .2byte EC_WORD_PLEASE + .2byte EC_WORD_STOP + .2byte EC_WORD_I + .2byte EC_WORD_DON_T + .2byte EC_WORD_ENJOY + .2byte EC_WORD_THIS .4byte gBattleFrontierTrainerMons_Ruth @ 207 - .4byte TRAINER_CLASS_PICNICKER + .4byte FACILITY_CLASS_PICNICKER .string "MELODY$", 8 @ pre-battle speech - ec_word I - ec_move2 WISH - ec_word SUNDAY - ec_word IS - ec_word A - ec_move2 SUNNY_DAY + .2byte EC_WORD_I + .2byte EC_MOVE2(WISH) + .2byte EC_WORD_SUNDAY + .2byte EC_WORD_IS + .2byte EC_WORD_A + .2byte EC_MOVE2(SUNNY_DAY) @ win speech - ec_word SUNDAY - ec_word SEEMS - ec_word FOREVER - ec_word TO - ec_word COME - ec_word ELLIPSIS + .2byte EC_WORD_SUNDAY + .2byte EC_WORD_SEEMS + .2byte EC_WORD_FOREVER + .2byte EC_WORD_TO + .2byte EC_WORD_COME + .2byte EC_WORD_ELLIPSIS @ loss speech - ec_word THE - ec_word FORECAST - ec_word SAYS - ec_word IT - ec_word WILL - ec_move1 HAIL + .2byte EC_WORD_THE + .2byte EC_WORD_FORECAST + .2byte EC_WORD_SAYS + .2byte EC_WORD_IT + .2byte EC_WORD_WILL + .2byte EC_MOVE(HAIL) .4byte gBattleFrontierTrainerMons_Melody @ 208 - .4byte TRAINER_CLASS_SWIMMER_M + .4byte FACILITY_CLASS_SWIMMER_M .string "PEDRO$", 8 @ pre-battle speech - ec_word A - ec_word SWIFT_SWIM - ec_word WILL - ec_word DO - ec_word YOU - ec_word GOOD + .2byte EC_WORD_A + .2byte EC_WORD_SWIFT_SWIM + .2byte EC_WORD_WILL + .2byte EC_WORD_DO + .2byte EC_WORD_YOU + .2byte EC_WORD_GOOD @ win speech - ec_word THAT_S - ec_word HOW - ec_word I - ec_word SINK - ec_word AN - ec_word OPPONENT + .2byte EC_WORD_THAT_S + .2byte EC_WORD_HOW + .2byte EC_WORD_I + .2byte EC_WORD_SINK + .2byte EC_WORD_AN + .2byte EC_WORD_OPPONENT @ loss speech - ec_word UH_OH - ec_word EXCL + .2byte EC_WORD_UH_OH + .2byte EC_WORD_EXCL .2byte -1 - ec_word A - ec_move1 WHIRLPOOL - ec_word EXCL + .2byte EC_WORD_A + .2byte EC_MOVE(WHIRLPOOL) + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Pedro @ 209 - .4byte TRAINER_CLASS_SWIMMER_M + .4byte FACILITY_CLASS_SWIMMER_M .string "ERICK$", 8 @ pre-battle speech - ec_word I - ec_word WILL - ec_move2 TACKLE - ec_word YOU - ec_word DOWN - ec_word EXCL + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_MOVE2(TACKLE) + .2byte EC_WORD_YOU + .2byte EC_WORD_DOWN + .2byte EC_WORD_EXCL @ win speech - ec_word DON_T - ec_word YOU - ec_word RUN_AWAY - ec_word YOU - ec_word LOSER - ec_word EXCL + .2byte EC_WORD_DON_T + .2byte EC_WORD_YOU + .2byte EC_WORD_RUN_AWAY + .2byte EC_WORD_YOU + .2byte EC_WORD_LOSER + .2byte EC_WORD_EXCL @ loss speech - ec_word I - ec_word DIDN_T - ec_word THINK - ec_word YOU - ec_word WOULD - ec_move1 COUNTER + .2byte EC_WORD_I + .2byte EC_WORD_DIDN_T + .2byte EC_WORD_THINK + .2byte EC_WORD_YOU + .2byte EC_WORD_WOULD + .2byte EC_MOVE(COUNTER) .4byte gBattleFrontierTrainerMons_Erick @ 210 - .4byte TRAINER_CLASS_SWIMMER_F + .4byte FACILITY_CLASS_SWIMMER_F .string "ELAINE$", 8 @ pre-battle speech - ec_word MY - ec_word HEROINE - ec_word ADVENTURE - ec_word ISN_T - ec_word GOING - ec_word WELL + .2byte EC_WORD_MY + .2byte EC_WORD_HEROINE + .2byte EC_WORD_ADVENTURE + .2byte EC_WORD_ISN_T + .2byte EC_WORD_GOING + .2byte EC_WORD_WELL @ win speech - ec_word THANK_YOU - ec_word EXCL - ec_word THAT_S - ec_word WHAT - ec_word I - ec_word NEED + .2byte EC_WORD_THANK_YOU + .2byte EC_WORD_EXCL + .2byte EC_WORD_THAT_S + .2byte EC_WORD_WHAT + .2byte EC_WORD_I + .2byte EC_WORD_NEED @ loss speech - ec_word I - ec_word KNOW - ec_word I_AM - ec_word NOT - ec_word A - ec_word HEROINE + .2byte EC_WORD_I + .2byte EC_WORD_KNOW + .2byte EC_WORD_I_AM + .2byte EC_WORD_NOT + .2byte EC_WORD_A + .2byte EC_WORD_HEROINE .4byte gBattleFrontierTrainerMons_Elaine @ 211 - .4byte TRAINER_CLASS_SWIMMER_F + .4byte FACILITY_CLASS_SWIMMER_F .string "JOYCE$", 8 @ pre-battle speech - ec_word YOU - ec_word MAKE - ec_word ME - ec_word GO - ec_word AHAHA - ec_word EXCL + .2byte EC_WORD_YOU + .2byte EC_WORD_MAKE + .2byte EC_WORD_ME + .2byte EC_WORD_GO + .2byte EC_WORD_AHAHA + .2byte EC_WORD_EXCL @ win speech - ec_word LALALA - ec_word NO - ec_word LOSING - ec_word FOR - ec_word ME - ec_word EXCL + .2byte EC_WORD_LALALA + .2byte EC_WORD_NO + .2byte EC_WORD_LOSING + .2byte EC_WORD_FOR + .2byte EC_WORD_ME + .2byte EC_WORD_EXCL @ loss speech - ec_word LALALA - ec_word ELLIPSIS + .2byte EC_WORD_LALALA + .2byte EC_WORD_ELLIPSIS .2byte -1 - ec_word HUH_QUES + .2byte EC_WORD_HUH_QUES .2byte -1 .2byte -1 .4byte gBattleFrontierTrainerMons_Joyce @ 212 - .4byte TRAINER_CLASS_POKEFAN_1 + .4byte FACILITY_CLASS_POKEFAN_1 .string "TODD$", 8 @ pre-battle speech - ec_word YOU_RE - ec_word A - ec_word LIGHTNINGROD - ec_word FOR - ec_word MY - ec_word POWER + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_A + .2byte EC_WORD_LIGHTNINGROD + .2byte EC_WORD_FOR + .2byte EC_WORD_MY + .2byte EC_WORD_POWER @ win speech - ec_word THAT_S - ec_word ALL - ec_word YOU - ec_word COULD - ec_move1 ABSORB - ec_word QUES + .2byte EC_WORD_THAT_S + .2byte EC_WORD_ALL + .2byte EC_WORD_YOU + .2byte EC_WORD_COULD + .2byte EC_MOVE(ABSORB) + .2byte EC_WORD_QUES @ loss speech - ec_word YOU - ec_move2 REFLECT - ec_word MY - ec_word POWER - ec_word BACK - ec_word QUES + .2byte EC_WORD_YOU + .2byte EC_MOVE2(REFLECT) + .2byte EC_WORD_MY + .2byte EC_WORD_POWER + .2byte EC_WORD_BACK + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Todd @ 213 - .4byte TRAINER_CLASS_POKEFAN_1 + .4byte FACILITY_CLASS_POKEFAN_1 .string "GAVIN$", 8 @ pre-battle speech - ec_word I - ec_word WILL - ec_move1 BIDE - ec_word MY - ec_word TIME + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_MOVE(BIDE) + .2byte EC_WORD_MY + .2byte EC_WORD_TIME .2byte -1 @ win speech - ec_word IT_S - ec_word OVER - ec_word SO - ec_word SOON - ec_word QUES + .2byte EC_WORD_IT_S + .2byte EC_WORD_OVER + .2byte EC_WORD_SO + .2byte EC_WORD_SOON + .2byte EC_WORD_QUES .2byte -1 @ loss speech - ec_word MY - ec_word MISTAKE - ec_word WAS - ec_word TOO - ec_word EXPENSIVE - ec_word ELLIPSIS + .2byte EC_WORD_MY + .2byte EC_WORD_MISTAKE + .2byte EC_WORD_WAS + .2byte EC_WORD_TOO + .2byte EC_WORD_EXPENSIVE + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Gavin @ 214 - .4byte TRAINER_CLASS_POKEFAN_2 + .4byte FACILITY_CLASS_POKEFAN_2 .string "MALORY$", 8 @ pre-battle speech - ec_word PROMISE - ec_word TO - ec_word SHOW - ec_word ME - ec_word CUTE - ec_word POKEMON + .2byte EC_WORD_PROMISE + .2byte EC_WORD_TO + .2byte EC_WORD_SHOW + .2byte EC_WORD_ME + .2byte EC_WORD_CUTE + .2byte EC_WORD_POKEMON @ win speech - ec_word GIGGLE - ec_word ELLIPSIS + .2byte EC_WORD_GIGGLE + .2byte EC_WORD_ELLIPSIS .2byte -1 - ec_word THANK_YOU - ec_word SO - ec_word MUCH + .2byte EC_WORD_THANK_YOU + .2byte EC_WORD_SO + .2byte EC_WORD_MUCH @ loss speech - ec_word TCH - ec_word YOUR - ec_word POKEMON - ec_word AREN_T - ec_word VERY - ec_word NICE + .2byte EC_WORD_TCH + .2byte EC_WORD_YOUR + .2byte EC_WORD_POKEMON + .2byte EC_WORD_AREN_T + .2byte EC_WORD_VERY + .2byte EC_WORD_NICE .4byte gBattleFrontierTrainerMons_Malory @ 215 - .4byte TRAINER_CLASS_POKEFAN_2 + .4byte FACILITY_CLASS_POKEFAN_2 .string "ESTHER$", 8 @ pre-battle speech - ec_word I - ec_word WANT - ec_word A - ec_word NICE - ec_move2 PRESENT - ec_word ELLIPSIS + .2byte EC_WORD_I + .2byte EC_WORD_WANT + .2byte EC_WORD_A + .2byte EC_WORD_NICE + .2byte EC_MOVE2(PRESENT) + .2byte EC_WORD_ELLIPSIS @ win speech - ec_word PLEASE - ec_word GET - ec_word ME - ec_word A - ec_word POKEMON - ec_word GAME + .2byte EC_WORD_PLEASE + .2byte EC_WORD_GET + .2byte EC_WORD_ME + .2byte EC_WORD_A + .2byte EC_WORD_POKEMON + .2byte EC_WORD_GAME @ loss speech - ec_word MESSAGE - ec_word CARDS - ec_word MAKE - ec_word A - ec_word WEAK - ec_move2 PRESENT + .2byte EC_WORD_MESSAGE + .2byte EC_WORD_CARDS + .2byte EC_WORD_MAKE + .2byte EC_WORD_A + .2byte EC_WORD_WEAK + .2byte EC_MOVE2(PRESENT) .4byte gBattleFrontierTrainerMons_Esther @ 216 - .4byte TRAINER_CLASS_PKMN_BREEDER_2 + .4byte FACILITY_CLASS_PKMN_BREEDER_2 .string "OSCAR$", 8 @ pre-battle speech - ec_word LET_S - ec_word SEE - ec_word YOUR - ec_word POWER - ec_word IN - ec_word FULL + .2byte EC_WORD_LET_S + .2byte EC_WORD_SEE + .2byte EC_WORD_YOUR + .2byte EC_WORD_POWER + .2byte EC_WORD_IN + .2byte EC_WORD_FULL @ win speech - ec_word THAT_WAS - ec_word NOT - ec_word YOUR - ec_word FULL - ec_word POWER - ec_word EXCL + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_NOT + .2byte EC_WORD_YOUR + .2byte EC_WORD_FULL + .2byte EC_WORD_POWER + .2byte EC_WORD_EXCL @ loss speech - ec_word NOT - ec_word FUNNY - ec_word ELLIPSIS - ec_word YOU_RE - ec_word TOO_STRONG + .2byte EC_WORD_NOT + .2byte EC_WORD_FUNNY + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_TOO_STRONG .2byte -1 .4byte gBattleFrontierTrainerMons_Oscar @ 217 - .4byte TRAINER_CLASS_PKMN_BREEDER_2 + .4byte FACILITY_CLASS_PKMN_BREEDER_2 .string "WILSON$", 8 @ pre-battle speech - ec_word WORK - ec_word IS - ec_word MAKING - ec_word ME - ec_word AN - ec_word EARLY_BIRD + .2byte EC_WORD_WORK + .2byte EC_WORD_IS + .2byte EC_WORD_MAKING + .2byte EC_WORD_ME + .2byte EC_WORD_AN + .2byte EC_WORD_EARLY_BIRD @ win speech - ec_word ALL - ec_word WORK - ec_word AND - ec_word NO - ec_word PLAY - ec_word ELLIPSIS + .2byte EC_WORD_ALL + .2byte EC_WORD_WORK + .2byte EC_WORD_AND + .2byte EC_WORD_NO + .2byte EC_WORD_PLAY + .2byte EC_WORD_ELLIPSIS @ loss speech - ec_move1 ENDURE - ec_word IS - ec_word ALL - ec_word I - ec_word CAN - ec_word DO + .2byte EC_MOVE(ENDURE) + .2byte EC_WORD_IS + .2byte EC_WORD_ALL + .2byte EC_WORD_I + .2byte EC_WORD_CAN + .2byte EC_WORD_DO .4byte gBattleFrontierTrainerMons_Wilson @ 218 - .4byte TRAINER_CLASS_PKMN_BREEDER_1 + .4byte FACILITY_CLASS_PKMN_BREEDER_1 .string "CLARE$", 8 @ pre-battle speech - ec_word YAY - ec_word EXCL - ec_word A - ec_word TOUGH - ec_word TRAINER - ec_word EXCL + .2byte EC_WORD_YAY + .2byte EC_WORD_EXCL + .2byte EC_WORD_A + .2byte EC_WORD_TOUGH + .2byte EC_WORD_TRAINER + .2byte EC_WORD_EXCL @ win speech - ec_word AWW - ec_word EXCL - ec_word A - ec_word WIMPY - ec_word TRAINER - ec_word EXCL + .2byte EC_WORD_AWW + .2byte EC_WORD_EXCL + .2byte EC_WORD_A + .2byte EC_WORD_WIMPY + .2byte EC_WORD_TRAINER + .2byte EC_WORD_EXCL @ loss speech - ec_word COOL - ec_word EXCL - ec_word A - ec_word GENIUS - ec_word TRAINER - ec_word EXCL + .2byte EC_WORD_COOL + .2byte EC_WORD_EXCL + .2byte EC_WORD_A + .2byte EC_WORD_GENIUS + .2byte EC_WORD_TRAINER + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Clare @ 219 - .4byte TRAINER_CLASS_PKMN_BREEDER_1 + .4byte FACILITY_CLASS_PKMN_BREEDER_1 .string "TESS$", 8 @ pre-battle speech - ec_word WANT - ec_word SOME - ec_pokemon1 GULPIN - ec_word DESIGN - ec_word SWEETS - ec_word QUES + .2byte EC_WORD_WANT + .2byte EC_WORD_SOME + .2byte EC_POKEMON(GULPIN) + .2byte EC_WORD_DESIGN + .2byte EC_WORD_SWEETS + .2byte EC_WORD_QUES @ win speech - ec_word THEY_RE - ec_word A - ec_word SECRET - ec_word POKEMON - ec_word GOURMET - ec_word ITEM + .2byte EC_WORD_THEY_RE + .2byte EC_WORD_A + .2byte EC_WORD_SECRET + .2byte EC_WORD_POKEMON + .2byte EC_WORD_GOURMET + .2byte EC_WORD_ITEM @ loss speech - ec_word THEY_RE - ec_word TASTY - ec_word EXCL - ec_word REFRESHING - ec_word TOO - ec_word EXCL + .2byte EC_WORD_THEY_RE + .2byte EC_WORD_TASTY + .2byte EC_WORD_EXCL + .2byte EC_WORD_REFRESHING + .2byte EC_WORD_TOO + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Tess @ 220 - .4byte TRAINER_CLASS_COOLTRAINER_1 + .4byte FACILITY_CLASS_COOLTRAINER_1 .string "LEON$", 8 @ pre-battle speech - ec_word I_AM - ec_word BETTER - ec_word THAN - ec_word ANY - ec_word OTHER - ec_word TRAINER + .2byte EC_WORD_I_AM + .2byte EC_WORD_BETTER + .2byte EC_WORD_THAN + .2byte EC_WORD_ANY + .2byte EC_WORD_OTHER + .2byte EC_WORD_TRAINER @ win speech - ec_word I - ec_word DID - ec_word IT - ec_move2 JUMP_KICK - ec_word FOR - ec_word JOY + .2byte EC_WORD_I + .2byte EC_WORD_DID + .2byte EC_WORD_IT + .2byte EC_MOVE2(JUMP_KICK) + .2byte EC_WORD_FOR + .2byte EC_WORD_JOY @ loss speech - ec_word BACK - ec_word HOME - ec_word I - ec_word WILL - ec_word GO - ec_word ELLIPSIS + .2byte EC_WORD_BACK + .2byte EC_WORD_HOME + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_WORD_GO + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Leon @ 221 - .4byte TRAINER_CLASS_COOLTRAINER_1 + .4byte FACILITY_CLASS_COOLTRAINER_1 .string "ALONZO$", 8 @ pre-battle speech - ec_word I_VE - ec_word NOT - ec_word LOST - ec_word ONCE - ec_word YET - ec_word EXCL + .2byte EC_WORD_I_VE + .2byte EC_WORD_NOT + .2byte EC_WORD_LOST + .2byte EC_WORD_ONCE + .2byte EC_WORD_YET + .2byte EC_WORD_EXCL @ win speech - ec_word YOUR - ec_word SAD - ec_word LOOK - ec_word BECOMES - ec_word YOU + .2byte EC_WORD_YOUR + .2byte EC_WORD_SAD + .2byte EC_WORD_LOOK + .2byte EC_WORD_BECOMES + .2byte EC_WORD_YOU .2byte -1 @ loss speech - ec_word I - ec_word DON_T - ec_word BELIEVE - ec_word THIS - ec_word ELLIPSIS + .2byte EC_WORD_I + .2byte EC_WORD_DON_T + .2byte EC_WORD_BELIEVE + .2byte EC_WORD_THIS + .2byte EC_WORD_ELLIPSIS .2byte -1 .4byte gBattleFrontierTrainerMons_Alonzo @ 222 - .4byte TRAINER_CLASS_COOLTRAINER_1 + .4byte FACILITY_CLASS_COOLTRAINER_1 .string "VINCE$", 8 @ pre-battle speech - ec_word THE - ec_word TOP - ec_word TRAINER - ec_word THAT_S - ec_word ME - ec_word EXCL + .2byte EC_WORD_THE + .2byte EC_WORD_TOP + .2byte EC_WORD_TRAINER + .2byte EC_WORD_THAT_S + .2byte EC_WORD_ME + .2byte EC_WORD_EXCL @ win speech - ec_word THE - ec_word TOP - ec_word RANK - ec_word BELONGS_TO - ec_word ME - ec_word EXCL + .2byte EC_WORD_THE + .2byte EC_WORD_TOP + .2byte EC_WORD_RANK + .2byte EC_WORD_BELONGS_TO + .2byte EC_WORD_ME + .2byte EC_WORD_EXCL @ loss speech - ec_word I - ec_word WILL - ec_word APPEAL - ec_word THIS - ec_move1 OUTRAGE - ec_word EXCL + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_WORD_APPEAL + .2byte EC_WORD_THIS + .2byte EC_MOVE(OUTRAGE) + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Vince @ 223 - .4byte TRAINER_CLASS_COOLTRAINER_1 + .4byte FACILITY_CLASS_COOLTRAINER_1 .string "BRYON$", 8 @ pre-battle speech - ec_word MY - ec_move2 BARRAGE - ec_word WILL - ec_move2 SLAM - ec_word YOU - ec_word EXCL + .2byte EC_WORD_MY + .2byte EC_MOVE2(BARRAGE) + .2byte EC_WORD_WILL + .2byte EC_MOVE2(SLAM) + .2byte EC_WORD_YOU + .2byte EC_WORD_EXCL @ win speech - ec_word YOU - ec_word DIDN_T - ec_word COUNT_ON - ec_word ANY - ec_word LESS - ec_word QUES + .2byte EC_WORD_YOU + .2byte EC_WORD_DIDN_T + .2byte EC_WORD_COUNT_ON + .2byte EC_WORD_ANY + .2byte EC_WORD_LESS + .2byte EC_WORD_QUES @ loss speech - ec_word I - ec_word JUST - ec_word DON_T - ec_word GET - ec_word IT - ec_word ELLIPSIS + .2byte EC_WORD_I + .2byte EC_WORD_JUST + .2byte EC_WORD_DON_T + .2byte EC_WORD_GET + .2byte EC_WORD_IT + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Bryon @ 224 - .4byte TRAINER_CLASS_COOLTRAINER_2 + .4byte FACILITY_CLASS_COOLTRAINER_2 .string "AVA$", 8 @ pre-battle speech - ec_word I_AM - ec_word A - ec_word TREASURE - ec_word OF - ec_word THIS - ec_word WORLD + .2byte EC_WORD_I_AM + .2byte EC_WORD_A + .2byte EC_WORD_TREASURE + .2byte EC_WORD_OF + .2byte EC_WORD_THIS + .2byte EC_WORD_WORLD @ win speech - ec_word MY - ec_word WORLD - ec_word IS - ec_word FULL - ec_word OF - ec_word WONDER + .2byte EC_WORD_MY + .2byte EC_WORD_WORLD + .2byte EC_WORD_IS + .2byte EC_WORD_FULL + .2byte EC_WORD_OF + .2byte EC_WORD_WONDER @ loss speech - ec_word WHY - ec_word ARE - ec_word YOU - ec_word SO - ec_word TERRIBLE - ec_word QUES + .2byte EC_WORD_WHY + .2byte EC_WORD_ARE + .2byte EC_WORD_YOU + .2byte EC_WORD_SO + .2byte EC_WORD_TERRIBLE + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Ava @ 225 - .4byte TRAINER_CLASS_COOLTRAINER_2 + .4byte FACILITY_CLASS_COOLTRAINER_2 .string "MIRIAM$", 8 @ pre-battle speech - ec_word OH - ec_word A - ec_word TRAINER - ec_word WITH - ec_word A - ec_move1 SCARY_FACE + .2byte EC_WORD_OH + .2byte EC_WORD_A + .2byte EC_WORD_TRAINER + .2byte EC_WORD_WITH + .2byte EC_WORD_A + .2byte EC_MOVE(SCARY_FACE) @ win speech - ec_word AHAHA - ec_word YOU - ec_word ONLY - ec_word LOOK - ec_word SCARY - ec_word EXCL + .2byte EC_WORD_AHAHA + .2byte EC_WORD_YOU + .2byte EC_WORD_ONLY + .2byte EC_WORD_LOOK + .2byte EC_WORD_SCARY + .2byte EC_WORD_EXCL @ loss speech - ec_word AIYEEH - ec_word EXCL - ec_word YOU - ec_word REALLY - ec_word ARE - ec_word SCARY + .2byte EC_WORD_AIYEEH + .2byte EC_WORD_EXCL + .2byte EC_WORD_YOU + .2byte EC_WORD_REALLY + .2byte EC_WORD_ARE + .2byte EC_WORD_SCARY .4byte gBattleFrontierTrainerMons_Miriam @ 226 - .4byte TRAINER_CLASS_COOLTRAINER_2 + .4byte FACILITY_CLASS_COOLTRAINER_2 .string "CARRIE$", 8 @ pre-battle speech - ec_word I - ec_word WILL - ec_word SHOW - ec_word YOU - ec_word GUTSY - ec_word EXCL + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_WORD_SHOW + .2byte EC_WORD_YOU + .2byte EC_WORD_GUTSY + .2byte EC_WORD_EXCL @ win speech - ec_word IT_S - ec_word ALL - ec_word ABOUT - ec_word GUTS - ec_word EXCL + .2byte EC_WORD_IT_S + .2byte EC_WORD_ALL + .2byte EC_WORD_ABOUT + .2byte EC_WORD_GUTS + .2byte EC_WORD_EXCL .2byte -1 @ loss speech - ec_word OH - ec_word NO - ec_word ELLIPSIS - ec_move1 SELF_DESTRUCT - ec_word MODE - ec_word EXCL + .2byte EC_WORD_OH + .2byte EC_WORD_NO + .2byte EC_WORD_ELLIPSIS + .2byte EC_MOVE(SELF_DESTRUCT) + .2byte EC_WORD_MODE + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Carrie @ 227 - .4byte TRAINER_CLASS_COOLTRAINER_2 + .4byte FACILITY_CLASS_COOLTRAINER_2 .string "GILLIAN$", 8 @ pre-battle speech - ec_word I - ec_word SEEK - ec_word A - ec_word TRULY - ec_word GREAT - ec_word BATTLE + .2byte EC_WORD_I + .2byte EC_WORD_SEEK + .2byte EC_WORD_A + .2byte EC_WORD_TRULY + .2byte EC_WORD_GREAT + .2byte EC_WORD_BATTLE @ win speech - ec_word I - ec_word NEED - ec_word A_LOT - ec_word BETTER - ec_word BATTLE - ec_word ELLIPSIS + .2byte EC_WORD_I + .2byte EC_WORD_NEED + .2byte EC_WORD_A_LOT + .2byte EC_WORD_BETTER + .2byte EC_WORD_BATTLE + .2byte EC_WORD_ELLIPSIS @ loss speech - ec_word THAT_WAS - ec_word A_LITTLE - ec_word TOO - ec_word MUCH - ec_word TO - ec_word TAKE + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_A_LITTLE + .2byte EC_WORD_TOO + .2byte EC_WORD_MUCH + .2byte EC_WORD_TO + .2byte EC_WORD_TAKE .4byte gBattleFrontierTrainerMons_Gillian2 @ 228 - .4byte TRAINER_CLASS_PKMN_RANGER_1 + .4byte FACILITY_CLASS_PKMN_RANGER_1 .string "TYLER$", 8 @ pre-battle speech - ec_word YO - ec_word EXCL + .2byte EC_WORD_YO + .2byte EC_WORD_EXCL .2byte -1 - ec_word LET_S - ec_word GO - ec_word EXCL_EXCL + .2byte EC_WORD_LET_S + .2byte EC_WORD_GO + .2byte EC_WORD_EXCL_EXCL @ win speech - ec_word YO - ec_word EXCL + .2byte EC_WORD_YO + .2byte EC_WORD_EXCL .2byte -1 - ec_word I - ec_word WON - ec_word YO + .2byte EC_WORD_I + .2byte EC_WORD_WON + .2byte EC_WORD_YO @ loss speech - ec_word YO - ec_word EXCL + .2byte EC_WORD_YO + .2byte EC_WORD_EXCL .2byte -1 - ec_word I - ec_word LOST - ec_word YO + .2byte EC_WORD_I + .2byte EC_WORD_LOST + .2byte EC_WORD_YO .4byte gBattleFrontierTrainerMons_Tyler @ 229 - .4byte TRAINER_CLASS_PKMN_RANGER_1 + .4byte FACILITY_CLASS_PKMN_RANGER_1 .string "CHAZ$", 8 @ pre-battle speech - ec_word MY - ec_word POKEMON - ec_word HAVE - ec_word TOO - ec_word MUCH - ec_word POWER + .2byte EC_WORD_MY + .2byte EC_WORD_POKEMON + .2byte EC_WORD_HAVE + .2byte EC_WORD_TOO + .2byte EC_WORD_MUCH + .2byte EC_WORD_POWER @ win speech - ec_word THEY - ec_word HAVE - ec_word MORE - ec_word POWER - ec_word NOW - ec_word EXCL + .2byte EC_WORD_THEY + .2byte EC_WORD_HAVE + .2byte EC_WORD_MORE + .2byte EC_WORD_POWER + .2byte EC_WORD_NOW + .2byte EC_WORD_EXCL @ loss speech - ec_word YEAH - ec_move2 TAKE_DOWN - ec_word THEIR - ec_word POWER - ec_word A_TINY_BIT - ec_word PLEASE + .2byte EC_WORD_YEAH + .2byte EC_MOVE2(TAKE_DOWN) + .2byte EC_WORD_THEIR + .2byte EC_WORD_POWER + .2byte EC_WORD_A_TINY_BIT + .2byte EC_WORD_PLEASE .4byte gBattleFrontierTrainerMons_Chaz @ 230 - .4byte TRAINER_CLASS_PKMN_RANGER_1 + .4byte FACILITY_CLASS_PKMN_RANGER_1 .string "NELSON$", 8 @ pre-battle speech - ec_word WELL_THEN - ec_word WILL - ec_word THIS - ec_word POKEMON - ec_word WORK - ec_word QUES + .2byte EC_WORD_WELL_THEN + .2byte EC_WORD_WILL + .2byte EC_WORD_THIS + .2byte EC_WORD_POKEMON + .2byte EC_WORD_WORK + .2byte EC_WORD_QUES @ win speech - ec_word I - ec_word SEE - ec_word THAT - ec_word IT - ec_word WAS - ec_word TOO_STRONG + .2byte EC_WORD_I + .2byte EC_WORD_SEE + .2byte EC_WORD_THAT + .2byte EC_WORD_IT + .2byte EC_WORD_WAS + .2byte EC_WORD_TOO_STRONG @ loss speech - ec_word IT - ec_word DIDN_T - ec_word MATCH_UP - ec_word WELL - ec_word I - ec_word THINK + .2byte EC_WORD_IT + .2byte EC_WORD_DIDN_T + .2byte EC_WORD_MATCH_UP + .2byte EC_WORD_WELL + .2byte EC_WORD_I + .2byte EC_WORD_THINK .4byte gBattleFrontierTrainerMons_Nelson @ 231 - .4byte TRAINER_CLASS_PKMN_RANGER_2 + .4byte FACILITY_CLASS_PKMN_RANGER_2 .string "SHANIA$", 8 @ pre-battle speech - ec_word ALL - ec_word MY - ec_word POKEMON - ec_word ABSOLUTELY - ec_word ADORE - ec_word ME + .2byte EC_WORD_ALL + .2byte EC_WORD_MY + .2byte EC_WORD_POKEMON + .2byte EC_WORD_ABSOLUTELY + .2byte EC_WORD_ADORE + .2byte EC_WORD_ME @ win speech - ec_word HAPPINESS - ec_word IS - ec_word A - ec_word POKEMON - ec_word WITH - ec_word CUTE_CHARM + .2byte EC_WORD_HAPPINESS + .2byte EC_WORD_IS + .2byte EC_WORD_A + .2byte EC_WORD_POKEMON + .2byte EC_WORD_WITH + .2byte EC_WORD_CUTE_CHARM @ loss speech - ec_word YOU_RE - ec_word SO - ec_word MEAN - ec_word TO - ec_word CUTE - ec_word POKEMON + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_SO + .2byte EC_WORD_MEAN + .2byte EC_WORD_TO + .2byte EC_WORD_CUTE + .2byte EC_WORD_POKEMON .4byte gBattleFrontierTrainerMons_Shania @ 232 - .4byte TRAINER_CLASS_PKMN_RANGER_2 + .4byte FACILITY_CLASS_PKMN_RANGER_2 .string "STELLA$", 8 @ pre-battle speech - ec_word I - ec_word WANT - ec_word TO - ec_word SEE - ec_word YOUR - ec_word POKEMON + .2byte EC_WORD_I + .2byte EC_WORD_WANT + .2byte EC_WORD_TO + .2byte EC_WORD_SEE + .2byte EC_WORD_YOUR + .2byte EC_WORD_POKEMON @ win speech - ec_word WELL - ec_word AREN_T - ec_word THEY - ec_word BORING - ec_word QUES - ec_word AHAHA + .2byte EC_WORD_WELL + .2byte EC_WORD_AREN_T + .2byte EC_WORD_THEY + .2byte EC_WORD_BORING + .2byte EC_WORD_QUES + .2byte EC_WORD_AHAHA @ loss speech - ec_word YOUR - ec_word POKEMON - ec_word ARE - ec_word SOMETHING - ec_word ELSE - ec_word ALL_RIGHT + .2byte EC_WORD_YOUR + .2byte EC_WORD_POKEMON + .2byte EC_WORD_ARE + .2byte EC_WORD_SOMETHING + .2byte EC_WORD_ELSE + .2byte EC_WORD_ALL_RIGHT .4byte gBattleFrontierTrainerMons_Stella @ 233 - .4byte TRAINER_CLASS_PKMN_RANGER_2 + .4byte FACILITY_CLASS_PKMN_RANGER_2 .string "DORINE$", 8 @ pre-battle speech - ec_word I_AM - ec_word YOUNG - ec_word AND - ec_word STRONG - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_YOUNG + .2byte EC_WORD_AND + .2byte EC_WORD_STRONG + .2byte EC_WORD_EXCL .2byte -1 @ win speech - ec_word SEE - ec_word QUES - ec_word AREN_T - ec_word I - ec_word GOOD - ec_word QUES + .2byte EC_WORD_SEE + .2byte EC_WORD_QUES + .2byte EC_WORD_AREN_T + .2byte EC_WORD_I + .2byte EC_WORD_GOOD + .2byte EC_WORD_QUES @ loss speech - ec_word THIS - ec_word ISN_T - ec_word WORKING - ec_word OUT - ec_word AT - ec_word ALL + .2byte EC_WORD_THIS + .2byte EC_WORD_ISN_T + .2byte EC_WORD_WORKING + .2byte EC_WORD_OUT + .2byte EC_WORD_AT + .2byte EC_WORD_ALL .4byte gBattleFrontierTrainerMons_Dorine @ 234 - .4byte TRAINER_CLASS_DRAGON_TAMER + .4byte FACILITY_CLASS_DRAGON_TAMER .string "MADDOX$", 8 @ pre-battle speech - ec_word DRAGON - ec_word POKEMON - ec_word ARE - ec_word MY - ec_word NO_1 - ec_word CHOICE + .2byte EC_WORD_DRAGON + .2byte EC_WORD_POKEMON + .2byte EC_WORD_ARE + .2byte EC_WORD_MY + .2byte EC_WORD_NO_1 + .2byte EC_WORD_CHOICE @ win speech - ec_word IT_S - ec_word NO - ec_word SECRET - ec_word DRAGON - ec_word POKEMON - ec_word WIN + .2byte EC_WORD_IT_S + .2byte EC_WORD_NO + .2byte EC_WORD_SECRET + .2byte EC_WORD_DRAGON + .2byte EC_WORD_POKEMON + .2byte EC_WORD_WIN @ loss speech - ec_word DRAGON - ec_word POKEMON - ec_word SHOULD - ec_word NOT - ec_word LOSE - ec_word EXCL + .2byte EC_WORD_DRAGON + .2byte EC_WORD_POKEMON + .2byte EC_WORD_SHOULD + .2byte EC_WORD_NOT + .2byte EC_WORD_LOSE + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Maddox @ 235 - .4byte TRAINER_CLASS_DRAGON_TAMER + .4byte FACILITY_CLASS_DRAGON_TAMER .string "DAVIN$", 8 @ pre-battle speech - ec_word LET_S - ec_word HEAR - ec_word YOU - ec_move2 ROAR - ec_word EXCL + .2byte EC_WORD_LET_S + .2byte EC_WORD_HEAR + .2byte EC_WORD_YOU + .2byte EC_MOVE2(ROAR) + .2byte EC_WORD_EXCL .2byte -1 @ win speech - ec_word WROOOAAR_EXCL + .2byte EC_WORD_WROOOAAR_EXCL .2byte -1 .2byte -1 - ec_word VICTORY - ec_word EXCL_EXCL + .2byte EC_WORD_VICTORY + .2byte EC_WORD_EXCL_EXCL .2byte -1 @ loss speech - ec_word WROOOAAR_EXCL + .2byte EC_WORD_WROOOAAR_EXCL .2byte -1 .2byte -1 - ec_word WHY - ec_word QUES_EXCL + .2byte EC_WORD_WHY + .2byte EC_WORD_QUES_EXCL .2byte -1 .4byte gBattleFrontierTrainerMons_Davin @ 236 - .4byte TRAINER_CLASS_DRAGON_TAMER + .4byte FACILITY_CLASS_DRAGON_TAMER .string "TREVON$", 8 @ pre-battle speech - ec_word I_AM - ec_word LIVING - ec_word ONLY - ec_word WITH - ec_word DRAGON - ec_word POKEMON + .2byte EC_WORD_I_AM + .2byte EC_WORD_LIVING + .2byte EC_WORD_ONLY + .2byte EC_WORD_WITH + .2byte EC_WORD_DRAGON + .2byte EC_WORD_POKEMON @ win speech - ec_word THE - ec_word WAY - ec_word I_AM - ec_word LIVING - ec_word IS - ec_word PERFECT + .2byte EC_WORD_THE + .2byte EC_WORD_WAY + .2byte EC_WORD_I_AM + .2byte EC_WORD_LIVING + .2byte EC_WORD_IS + .2byte EC_WORD_PERFECT @ loss speech - ec_word YOU_VE - ec_word DESTROYED - ec_word THE - ec_word WAY - ec_word I_AM - ec_word LIVING + .2byte EC_WORD_YOU_VE + .2byte EC_WORD_DESTROYED + .2byte EC_WORD_THE + .2byte EC_WORD_WAY + .2byte EC_WORD_I_AM + .2byte EC_WORD_LIVING .4byte gBattleFrontierTrainerMons_Trevon @ 237 - .4byte TRAINER_CLASS_BLACK_BELT + .4byte FACILITY_CLASS_BLACK_BELT .string "MATEO$", 8 @ pre-battle speech - ec_word THIS - ec_word SHOULD - ec_word BE - ec_word OVER - ec_word SOON - ec_word ENOUGH + .2byte EC_WORD_THIS + .2byte EC_WORD_SHOULD + .2byte EC_WORD_BE + .2byte EC_WORD_OVER + .2byte EC_WORD_SOON + .2byte EC_WORD_ENOUGH @ win speech - ec_word WELL - ec_word THAT - ec_word DIDN_T - ec_word TAKE - ec_word VERY - ec_word MUCH + .2byte EC_WORD_WELL + .2byte EC_WORD_THAT + .2byte EC_WORD_DIDN_T + .2byte EC_WORD_TAKE + .2byte EC_WORD_VERY + .2byte EC_WORD_MUCH @ loss speech - ec_word I - ec_word CAN_T - ec_word LOSE - ec_word SO - ec_word SOON - ec_word EXCL + .2byte EC_WORD_I + .2byte EC_WORD_CAN_T + .2byte EC_WORD_LOSE + .2byte EC_WORD_SO + .2byte EC_WORD_SOON + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Mateo @ 238 - .4byte TRAINER_CLASS_BLACK_BELT + .4byte FACILITY_CLASS_BLACK_BELT .string "BRET$", 8 @ pre-battle speech - ec_word I - ec_word LIKE - ec_word ROCK_SOLID - ec_word POKEMON - ec_word THE - ec_word BEST + .2byte EC_WORD_I + .2byte EC_WORD_LIKE + .2byte EC_WORD_ROCK_SOLID + .2byte EC_WORD_POKEMON + .2byte EC_WORD_THE + .2byte EC_WORD_BEST @ win speech - ec_word TOUGHNESS - ec_word IS - ec_word THE - ec_word WAY - ec_word TO - ec_word GO + .2byte EC_WORD_TOUGHNESS + .2byte EC_WORD_IS + .2byte EC_WORD_THE + .2byte EC_WORD_WAY + .2byte EC_WORD_TO + .2byte EC_WORD_GO @ loss speech - ec_word I - ec_word ALSO - ec_word HAVE - ec_word A - ec_word PLUSH_DOLL - ec_word COLLECTION + .2byte EC_WORD_I + .2byte EC_WORD_ALSO + .2byte EC_WORD_HAVE + .2byte EC_WORD_A + .2byte EC_WORD_PLUSH_DOLL + .2byte EC_WORD_COLLECTION .4byte gBattleFrontierTrainerMons_Bret @ 239 - .4byte TRAINER_CLASS_BLACK_BELT + .4byte FACILITY_CLASS_BLACK_BELT .string "RAUL$", 8 @ pre-battle speech - ec_word I - ec_word REJECT - ec_word EVERY - ec_word WEAK - ec_word TRAINER + .2byte EC_WORD_I + .2byte EC_WORD_REJECT + .2byte EC_WORD_EVERY + .2byte EC_WORD_WEAK + .2byte EC_WORD_TRAINER .2byte -1 @ win speech - ec_word HUMPH - ec_word EXCL - ec_word ANOTHER - ec_word WEAK - ec_word TRAINER - ec_word ELLIPSIS + .2byte EC_WORD_HUMPH + .2byte EC_WORD_EXCL + .2byte EC_WORD_ANOTHER + .2byte EC_WORD_WEAK + .2byte EC_WORD_TRAINER + .2byte EC_WORD_ELLIPSIS @ loss speech - ec_word THERE - ec_word IS - ec_word NOTHING - ec_word WEAK - ec_word ABOUT - ec_word YOU + .2byte EC_WORD_THERE + .2byte EC_WORD_IS + .2byte EC_WORD_NOTHING + .2byte EC_WORD_WEAK + .2byte EC_WORD_ABOUT + .2byte EC_WORD_YOU .4byte gBattleFrontierTrainerMons_Raul @ 240 - .4byte TRAINER_CLASS_BATTLE_GIRL + .4byte FACILITY_CLASS_BATTLE_GIRL .string "KAY$", 8 @ pre-battle speech - ec_word AND - ec_word YET - ec_word ANOTHER - ec_word BATTLE - ec_word QUES + .2byte EC_WORD_AND + .2byte EC_WORD_YET + .2byte EC_WORD_ANOTHER + .2byte EC_WORD_BATTLE + .2byte EC_WORD_QUES .2byte -1 @ win speech - ec_word I - ec_word WON - ec_word BUT - ec_word I_AM - ec_word TIRED - ec_word ELLIPSIS + .2byte EC_WORD_I + .2byte EC_WORD_WON + .2byte EC_WORD_BUT + .2byte EC_WORD_I_AM + .2byte EC_WORD_TIRED + .2byte EC_WORD_ELLIPSIS @ loss speech - ec_word GOOD - ec_word IT_S - ec_word OVER - ec_word AT - ec_word LAST - ec_word ELLIPSIS + .2byte EC_WORD_GOOD + .2byte EC_WORD_IT_S + .2byte EC_WORD_OVER + .2byte EC_WORD_AT + .2byte EC_WORD_LAST + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Kay @ 241 - .4byte TRAINER_CLASS_BATTLE_GIRL + .4byte FACILITY_CLASS_BATTLE_GIRL .string "ELENA$", 8 @ pre-battle speech - ec_word A - ec_word BATTLE - ec_word GIRL - ec_word THAT_S - ec_word ME - ec_word EXCL + .2byte EC_WORD_A + .2byte EC_WORD_BATTLE + .2byte EC_WORD_GIRL + .2byte EC_WORD_THAT_S + .2byte EC_WORD_ME + .2byte EC_WORD_EXCL @ win speech - ec_word ISN_T - ec_word A - ec_word BATTLE - ec_word GIRL - ec_word AWESOME - ec_word QUES + .2byte EC_WORD_ISN_T + .2byte EC_WORD_A + .2byte EC_WORD_BATTLE + .2byte EC_WORD_GIRL + .2byte EC_WORD_AWESOME + .2byte EC_WORD_QUES @ loss speech - ec_word YOU - ec_word DISLIKE - ec_word A - ec_word BATTLE - ec_word GIRL - ec_word QUES + .2byte EC_WORD_YOU + .2byte EC_WORD_DISLIKE + .2byte EC_WORD_A + .2byte EC_WORD_BATTLE + .2byte EC_WORD_GIRL + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Elena @ 242 - .4byte TRAINER_CLASS_BATTLE_GIRL + .4byte FACILITY_CLASS_BATTLE_GIRL .string "ALANA$", 8 @ pre-battle speech - ec_word EAT - ec_word MY - ec_word INVINCIBLE - ec_word ATTACK - ec_word YOU - ec_word EXCL + .2byte EC_WORD_EAT + .2byte EC_WORD_MY + .2byte EC_WORD_INVINCIBLE + .2byte EC_WORD_ATTACK + .2byte EC_WORD_YOU + .2byte EC_WORD_EXCL @ win speech - ec_word YOU - ec_word HAVE - ec_word MUCH - ec_word TO - ec_word LEARN + .2byte EC_WORD_YOU + .2byte EC_WORD_HAVE + .2byte EC_WORD_MUCH + .2byte EC_WORD_TO + .2byte EC_WORD_LEARN .2byte -1 @ loss speech - ec_word SO - ec_word MUCH - ec_word FOR - ec_word MY - ec_word INVINCIBLE - ec_word ATTACK + .2byte EC_WORD_SO + .2byte EC_WORD_MUCH + .2byte EC_WORD_FOR + .2byte EC_WORD_MY + .2byte EC_WORD_INVINCIBLE + .2byte EC_WORD_ATTACK .4byte gBattleFrontierTrainerMons_Alana @ 243 - .4byte TRAINER_CLASS_EXPERT_1 + .4byte FACILITY_CLASS_EXPERT_1 .string "ALEXAS$", 8 @ pre-battle speech - ec_word GOOD - ec_word TO - ec_word MEET_YOU - ec_word YOUNG - ec_word TRAINER - ec_word EXCL + .2byte EC_WORD_GOOD + .2byte EC_WORD_TO + .2byte EC_WORD_MEET_YOU + .2byte EC_WORD_YOUNG + .2byte EC_WORD_TRAINER + .2byte EC_WORD_EXCL @ win speech - ec_word WAHAHAHA - ec_word EXCL + .2byte EC_WORD_WAHAHAHA + .2byte EC_WORD_EXCL .2byte -1 - ec_word GIVE - ec_word IT - ec_word UP + .2byte EC_WORD_GIVE + .2byte EC_WORD_IT + .2byte EC_WORD_UP @ loss speech - ec_word YOU - ec_word ARE - ec_word A - ec_word STRONG - ec_word TRAINER - ec_word KID + .2byte EC_WORD_YOU + .2byte EC_WORD_ARE + .2byte EC_WORD_A + .2byte EC_WORD_STRONG + .2byte EC_WORD_TRAINER + .2byte EC_WORD_KID .4byte gBattleFrontierTrainerMons_Alexas @ 244 - .4byte TRAINER_CLASS_EXPERT_1 + .4byte FACILITY_CLASS_EXPERT_1 .string "WESTON$", 8 @ pre-battle speech - ec_word I - ec_word DON_T - ec_word PLAY - ec_word DOWN - ec_word ALL_RIGHT - ec_word QUES + .2byte EC_WORD_I + .2byte EC_WORD_DON_T + .2byte EC_WORD_PLAY + .2byte EC_WORD_DOWN + .2byte EC_WORD_ALL_RIGHT + .2byte EC_WORD_QUES @ win speech - ec_word YOU_RE - ec_word FAR - ec_word TOO - ec_word EASY - ec_word TO - ec_word ATTACK + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_FAR + .2byte EC_WORD_TOO + .2byte EC_WORD_EASY + .2byte EC_WORD_TO + .2byte EC_WORD_ATTACK @ loss speech - ec_word WELL - ec_word WELL - ec_word ELLIPSIS - ec_word I - ec_word SURRENDER - ec_word ELLIPSIS + .2byte EC_WORD_WELL + .2byte EC_WORD_WELL + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_I + .2byte EC_WORD_SURRENDER + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Weston @ 245 - .4byte TRAINER_CLASS_EXPERT_1 + .4byte FACILITY_CLASS_EXPERT_1 .string "JASPER$", 8 @ pre-battle speech - ec_word I_AM - ec_word NOT - ec_word OLD - ec_word I_AM - ec_word SKILLED - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_NOT + .2byte EC_WORD_OLD + .2byte EC_WORD_I_AM + .2byte EC_WORD_SKILLED + .2byte EC_WORD_EXCL @ win speech - ec_word SKILLED - ec_word THAT_S - ec_word WHAT - ec_word I_AM - ec_word EXCL + .2byte EC_WORD_SKILLED + .2byte EC_WORD_THAT_S + .2byte EC_WORD_WHAT + .2byte EC_WORD_I_AM + .2byte EC_WORD_EXCL .2byte -1 @ loss speech - ec_word I_AM - ec_word SHOCKED - ec_word EXCL - ec_word DOWN - ec_word I - ec_word GO + .2byte EC_WORD_I_AM + .2byte EC_WORD_SHOCKED + .2byte EC_WORD_EXCL + .2byte EC_WORD_DOWN + .2byte EC_WORD_I + .2byte EC_WORD_GO .4byte gBattleFrontierTrainerMons_Jasper @ 246 - .4byte TRAINER_CLASS_EXPERT_2 + .4byte FACILITY_CLASS_EXPERT_2 .string "NADIA$", 8 @ pre-battle speech - ec_word YOU - ec_word CAN_T - ec_word BEAT - ec_word ME - ec_word DOWN - ec_word EXCL + .2byte EC_WORD_YOU + .2byte EC_WORD_CAN_T + .2byte EC_WORD_BEAT + .2byte EC_WORD_ME + .2byte EC_WORD_DOWN + .2byte EC_WORD_EXCL @ win speech - ec_word HAH - ec_word EXCL + .2byte EC_WORD_HAH + .2byte EC_WORD_EXCL .2byte -1 - ec_word I - ec_word BEAT - ec_word YOU + .2byte EC_WORD_I + .2byte EC_WORD_BEAT + .2byte EC_WORD_YOU @ loss speech - ec_word I_AM - ec_move2 BEAT_UP - ec_word AND - ec_word DOWNCAST - ec_word ELLIPSIS + .2byte EC_WORD_I_AM + .2byte EC_MOVE2(BEAT_UP) + .2byte EC_WORD_AND + .2byte EC_WORD_DOWNCAST + .2byte EC_WORD_ELLIPSIS .2byte -1 .4byte gBattleFrontierTrainerMons_Nadia @ 247 - .4byte TRAINER_CLASS_EXPERT_2 + .4byte FACILITY_CLASS_EXPERT_2 .string "MIRANDA$", 8 @ pre-battle speech - ec_word WELL - ec_word WELL + .2byte EC_WORD_WELL + .2byte EC_WORD_WELL .2byte -1 - ec_word LET_S - ec_word START + .2byte EC_WORD_LET_S + .2byte EC_WORD_START .2byte -1 @ win speech - ec_word WHAT - ec_word QUES - ec_word DONE - ec_word SO - ec_word SOON - ec_word QUES + .2byte EC_WORD_WHAT + .2byte EC_WORD_QUES + .2byte EC_WORD_DONE + .2byte EC_WORD_SO + .2byte EC_WORD_SOON + .2byte EC_WORD_QUES @ loss speech - ec_word WELL - ec_word I - ec_word SEE - ec_word THAT - ec_word I_AM - ec_word TOO_WEAK + .2byte EC_WORD_WELL + .2byte EC_WORD_I + .2byte EC_WORD_SEE + .2byte EC_WORD_THAT + .2byte EC_WORD_I_AM + .2byte EC_WORD_TOO_WEAK .4byte gBattleFrontierTrainerMons_Miranda @ 248 - .4byte TRAINER_CLASS_EXPERT_2 + .4byte FACILITY_CLASS_EXPERT_2 .string "EMMA$", 8 @ pre-battle speech - ec_word I_VE - ec_word BEEN - ec_word HEARING - ec_word ABOUT - ec_word YOU + .2byte EC_WORD_I_VE + .2byte EC_WORD_BEEN + .2byte EC_WORD_HEARING + .2byte EC_WORD_ABOUT + .2byte EC_WORD_YOU .2byte -1 @ win speech - ec_word I - ec_word THINK - ec_word I_VE - ec_word MISHEARD - ec_word THINGS + .2byte EC_WORD_I + .2byte EC_WORD_THINK + .2byte EC_WORD_I_VE + .2byte EC_WORD_MISHEARD + .2byte EC_WORD_THINGS .2byte -1 @ loss speech - ec_word WHAT - ec_word I_VE - ec_word BEEN - ec_word HEARING - ec_word IS - ec_word RIGHT + .2byte EC_WORD_WHAT + .2byte EC_WORD_I_VE + .2byte EC_WORD_BEEN + .2byte EC_WORD_HEARING + .2byte EC_WORD_IS + .2byte EC_WORD_RIGHT .4byte gBattleFrontierTrainerMons_Emma @ 249 - .4byte TRAINER_CLASS_PSYCHIC_1 + .4byte FACILITY_CLASS_PSYCHIC_1 .string "ROLANDO$", 8 @ pre-battle speech - ec_word I_AM - ec_word A - ec_word SUPER - ec_word POKEMON - ec_word HERO - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_A + .2byte EC_WORD_SUPER + .2byte EC_WORD_POKEMON + .2byte EC_WORD_HERO + .2byte EC_WORD_EXCL @ win speech - ec_word WAS - ec_word THAT - ec_word ENOUGH - ec_word FOR - ec_word YOU - ec_word QUES + .2byte EC_WORD_WAS + .2byte EC_WORD_THAT + .2byte EC_WORD_ENOUGH + .2byte EC_WORD_FOR + .2byte EC_WORD_YOU + .2byte EC_WORD_QUES @ loss speech - ec_word YOU - ec_word SHOULD - ec_word NOT - ec_word BEAT - ec_word A - ec_word HERO + .2byte EC_WORD_YOU + .2byte EC_WORD_SHOULD + .2byte EC_WORD_NOT + .2byte EC_WORD_BEAT + .2byte EC_WORD_A + .2byte EC_WORD_HERO .4byte gBattleFrontierTrainerMons_Rolando @ 250 - .4byte TRAINER_CLASS_PSYCHIC_1 + .4byte FACILITY_CLASS_PSYCHIC_1 .string "STANLY$", 8 @ pre-battle speech - ec_word THIS - ec_word SHOULD - ec_word BE - ec_word AN - ec_word EASY - ec_word MATCH + .2byte EC_WORD_THIS + .2byte EC_WORD_SHOULD + .2byte EC_WORD_BE + .2byte EC_WORD_AN + .2byte EC_WORD_EASY + .2byte EC_WORD_MATCH @ win speech - ec_word IT - ec_word REALLY - ec_word WAS - ec_word EASY + .2byte EC_WORD_IT + .2byte EC_WORD_REALLY + .2byte EC_WORD_WAS + .2byte EC_WORD_EASY .2byte -1 .2byte -1 @ loss speech - ec_word ARE - ec_word YOU - ec_word HAPPY - ec_word NOW - ec_word QUES + .2byte EC_WORD_ARE + .2byte EC_WORD_YOU + .2byte EC_WORD_HAPPY + .2byte EC_WORD_NOW + .2byte EC_WORD_QUES .2byte -1 .4byte gBattleFrontierTrainerMons_Stanly @ 251 - .4byte TRAINER_CLASS_PSYCHIC_1 + .4byte FACILITY_CLASS_PSYCHIC_1 .string "DARIO$", 8 @ pre-battle speech - ec_word MY - ec_move2 FORESIGHT - ec_word SAYS - ec_word I - ec_word WILL - ec_word WIN + .2byte EC_WORD_MY + .2byte EC_MOVE2(FORESIGHT) + .2byte EC_WORD_SAYS + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_WORD_WIN @ win speech - ec_word MY - ec_move2 FORESIGHT - ec_word HAS - ec_word BEEN - ec_word PERFECT + .2byte EC_WORD_MY + .2byte EC_MOVE2(FORESIGHT) + .2byte EC_WORD_HAS + .2byte EC_WORD_BEEN + .2byte EC_WORD_PERFECT .2byte -1 @ loss speech - ec_word I - ec_word DIDN_T - ec_word SEE - ec_word THIS - ec_move1 REVERSAL - ec_word ELLIPSIS + .2byte EC_WORD_I + .2byte EC_WORD_DIDN_T + .2byte EC_WORD_SEE + .2byte EC_WORD_THIS + .2byte EC_MOVE(REVERSAL) + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Dario @ 252 - .4byte TRAINER_CLASS_PSYCHIC_2 + .4byte FACILITY_CLASS_PSYCHIC_2 .string "KARLEE$", 8 @ pre-battle speech - ec_word SOMETHING - ec_word GOOD - ec_word WILL - ec_word COME - ec_word OF - ec_word THIS + .2byte EC_WORD_SOMETHING + .2byte EC_WORD_GOOD + .2byte EC_WORD_WILL + .2byte EC_WORD_COME + .2byte EC_WORD_OF + .2byte EC_WORD_THIS @ win speech - ec_word YOU - ec_word SEE - ec_word QUES - ec_word FANTASTIC - ec_word EXCL + .2byte EC_WORD_YOU + .2byte EC_WORD_SEE + .2byte EC_WORD_QUES + .2byte EC_WORD_FANTASTIC + .2byte EC_WORD_EXCL .2byte -1 @ loss speech - ec_word THAT - ec_word SOMETHING - ec_word GOOD - ec_word WENT - ec_word TO - ec_word YOU + .2byte EC_WORD_THAT + .2byte EC_WORD_SOMETHING + .2byte EC_WORD_GOOD + .2byte EC_WORD_WENT + .2byte EC_WORD_TO + .2byte EC_WORD_YOU .4byte gBattleFrontierTrainerMons_Karlee @ 253 - .4byte TRAINER_CLASS_PSYCHIC_2 + .4byte FACILITY_CLASS_PSYCHIC_2 .string "JAYLIN$", 8 @ pre-battle speech - ec_word EVERY - ec_word TRAINER - ec_word HAS - ec_word BEEN - ec_word TOO_WEAK - ec_word ELLIPSIS + .2byte EC_WORD_EVERY + .2byte EC_WORD_TRAINER + .2byte EC_WORD_HAS + .2byte EC_WORD_BEEN + .2byte EC_WORD_TOO_WEAK + .2byte EC_WORD_ELLIPSIS @ win speech - ec_word IT_S - ec_word MAKING - ec_word ME - ec_move1 YAWN - ec_word THAT - ec_word BATTLE + .2byte EC_WORD_IT_S + .2byte EC_WORD_MAKING + .2byte EC_WORD_ME + .2byte EC_MOVE(YAWN) + .2byte EC_WORD_THAT + .2byte EC_WORD_BATTLE @ loss speech - ec_word I - ec_word SLEPT - ec_word AND - ec_word SO - ec_word I - ec_word LOST + .2byte EC_WORD_I + .2byte EC_WORD_SLEPT + .2byte EC_WORD_AND + .2byte EC_WORD_SO + .2byte EC_WORD_I + .2byte EC_WORD_LOST .4byte gBattleFrontierTrainerMons_Jaylin @ 254 - .4byte TRAINER_CLASS_PSYCHIC_2 + .4byte FACILITY_CLASS_PSYCHIC_2 .string "INGRID$", 8 @ pre-battle speech - ec_word I_AM - ec_word NOT - ec_word A - ec_word VERY - ec_word MEAN - ec_word TRAINER + .2byte EC_WORD_I_AM + .2byte EC_WORD_NOT + .2byte EC_WORD_A + .2byte EC_WORD_VERY + .2byte EC_WORD_MEAN + .2byte EC_WORD_TRAINER @ win speech - ec_word WASN_T - ec_word THAT - ec_word A - ec_word GOOD - ec_word MATCH - ec_word QUES + .2byte EC_WORD_WASN_T + .2byte EC_WORD_THAT + .2byte EC_WORD_A + .2byte EC_WORD_GOOD + .2byte EC_WORD_MATCH + .2byte EC_WORD_QUES @ loss speech - ec_word I - ec_word LOST - ec_word CAUSE - ec_word YOU_RE - ec_word MEAN - ec_word ELLIPSIS + .2byte EC_WORD_I + .2byte EC_WORD_LOST + .2byte EC_WORD_CAUSE + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_MEAN + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Ingrid @ 255 - .4byte TRAINER_CLASS_HEX_MANIAC + .4byte FACILITY_CLASS_HEX_MANIAC .string "DELILAH$", 8 @ pre-battle speech - ec_word DON_T - ec_move1 GRUDGE - ec_word ME - ec_word IF_I_WIN - ec_word OK_QUES + .2byte EC_WORD_DON_T + .2byte EC_MOVE(GRUDGE) + .2byte EC_WORD_ME + .2byte EC_WORD_IF_I_WIN + .2byte EC_WORD_OK_QUES .2byte -1 @ win speech - ec_word I_AM - ec_word SORRY - ec_word TO - ec_word SEE - ec_word YOU - ec_word ANGRY + .2byte EC_WORD_I_AM + .2byte EC_WORD_SORRY + .2byte EC_WORD_TO + .2byte EC_WORD_SEE + .2byte EC_WORD_YOU + .2byte EC_WORD_ANGRY @ loss speech - ec_word I - ec_word HAVE - ec_word A - ec_move1 GRUDGE - ec_word WITH - ec_word YOU + .2byte EC_WORD_I + .2byte EC_WORD_HAVE + .2byte EC_WORD_A + .2byte EC_MOVE(GRUDGE) + .2byte EC_WORD_WITH + .2byte EC_WORD_YOU .4byte gBattleFrontierTrainerMons_Delilah @ 256 - .4byte TRAINER_CLASS_HEX_MANIAC + .4byte FACILITY_CLASS_HEX_MANIAC .string "CARLY$", 8 @ pre-battle speech - ec_word I - ec_word WILL - ec_word SCATTER - ec_word SOME - ec_move2 POISON_POWDER - ec_word ABOUT + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_WORD_SCATTER + .2byte EC_WORD_SOME + .2byte EC_MOVE2(POISON_POWDER) + .2byte EC_WORD_ABOUT @ win speech - ec_word IT_S - ec_word SCARY - ec_word HOW - ec_word MY - ec_word STRATEGY - ec_word WORKS + .2byte EC_WORD_IT_S + .2byte EC_WORD_SCARY + .2byte EC_WORD_HOW + .2byte EC_WORD_MY + .2byte EC_WORD_STRATEGY + .2byte EC_WORD_WORKS @ loss speech - ec_word I - ec_word DISLIKE - ec_word YOU - ec_word AND - ec_word YOUR - ec_word POKEMON + .2byte EC_WORD_I + .2byte EC_WORD_DISLIKE + .2byte EC_WORD_YOU + .2byte EC_WORD_AND + .2byte EC_WORD_YOUR + .2byte EC_WORD_POKEMON .4byte gBattleFrontierTrainerMons_Carly @ 257 - .4byte TRAINER_CLASS_HEX_MANIAC + .4byte FACILITY_CLASS_HEX_MANIAC .string "LEXIE$", 8 @ pre-battle speech - ec_word WANT - ec_word TO - ec_word SEE - ec_word SCARY - ec_word POKEMON - ec_word QUES + .2byte EC_WORD_WANT + .2byte EC_WORD_TO + .2byte EC_WORD_SEE + .2byte EC_WORD_SCARY + .2byte EC_WORD_POKEMON + .2byte EC_WORD_QUES @ win speech - ec_word WASN_T - ec_word THAT - ec_word SCARY - ec_word EH_QUES + .2byte EC_WORD_WASN_T + .2byte EC_WORD_THAT + .2byte EC_WORD_SCARY + .2byte EC_WORD_EH_QUES .2byte -1 .2byte -1 @ loss speech - ec_word YOU_RE - ec_word MORE - ec_word SCARY - ec_word THAN - ec_word MY - ec_word POKEMON + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_MORE + .2byte EC_WORD_SCARY + .2byte EC_WORD_THAN + .2byte EC_WORD_MY + .2byte EC_WORD_POKEMON .4byte gBattleFrontierTrainerMons_Lexie @ 258 - .4byte TRAINER_CLASS_POKEMANIAC + .4byte FACILITY_CLASS_POKEMANIAC .string "MILLER$", 8 @ pre-battle speech - ec_word HELLO - ec_word QUES + .2byte EC_WORD_HELLO + .2byte EC_WORD_QUES .2byte -1 - ec_word HELLO - ec_word QUES_EXCL + .2byte EC_WORD_HELLO + .2byte EC_WORD_QUES_EXCL .2byte -1 @ win speech - ec_word HELLO - ec_word MOTHER - ec_word EXCL - ec_word I - ec_word WON - ec_word EXCL + .2byte EC_WORD_HELLO + .2byte EC_WORD_MOTHER + .2byte EC_WORD_EXCL + .2byte EC_WORD_I + .2byte EC_WORD_WON + .2byte EC_WORD_EXCL @ loss speech - ec_word MY - ec_word PHONE - ec_word ISN_T - ec_word WORKING - ec_word ELLIPSIS + .2byte EC_WORD_MY + .2byte EC_WORD_PHONE + .2byte EC_WORD_ISN_T + .2byte EC_WORD_WORKING + .2byte EC_WORD_ELLIPSIS .2byte -1 .4byte gBattleFrontierTrainerMons_Miller @ 259 - .4byte TRAINER_CLASS_POKEMANIAC + .4byte FACILITY_CLASS_POKEMANIAC .string "MARV$", 8 @ pre-battle speech - ec_word YOU - ec_word CAN - ec_word LOSE - ec_word YOUR - ec_move1 SWAGGER - ec_word NOW + .2byte EC_WORD_YOU + .2byte EC_WORD_CAN + .2byte EC_WORD_LOSE + .2byte EC_WORD_YOUR + .2byte EC_MOVE(SWAGGER) + .2byte EC_WORD_NOW @ win speech - ec_word THERE - ec_word IS - ec_word NO - ec_move1 SWAGGER - ec_word LEFT - ec_word EH_QUES + .2byte EC_WORD_THERE + .2byte EC_WORD_IS + .2byte EC_WORD_NO + .2byte EC_MOVE(SWAGGER) + .2byte EC_WORD_LEFT + .2byte EC_WORD_EH_QUES @ loss speech - ec_word GO - ec_word ON - ec_move1 SWAGGER - ec_word ALL - ec_word YOU - ec_word WANT + .2byte EC_WORD_GO + .2byte EC_WORD_ON + .2byte EC_MOVE(SWAGGER) + .2byte EC_WORD_ALL + .2byte EC_WORD_YOU + .2byte EC_WORD_WANT .4byte gBattleFrontierTrainerMons_Marv @ 260 - .4byte TRAINER_CLASS_POKEMANIAC + .4byte FACILITY_CLASS_POKEMANIAC .string "LAYTON$", 8 @ pre-battle speech - ec_word I - ec_word KNOW - ec_word I_AM - ec_word TOTALLY - ec_word COOL - ec_word EXCL + .2byte EC_WORD_I + .2byte EC_WORD_KNOW + .2byte EC_WORD_I_AM + .2byte EC_WORD_TOTALLY + .2byte EC_WORD_COOL + .2byte EC_WORD_EXCL @ win speech - ec_word YOU - ec_word CAN - ec_word LOOK - ec_word UP - ec_word TO - ec_word ME + .2byte EC_WORD_YOU + .2byte EC_WORD_CAN + .2byte EC_WORD_LOOK + .2byte EC_WORD_UP + .2byte EC_WORD_TO + .2byte EC_WORD_ME @ loss speech - ec_word YOU_RE - ec_word COOL - ec_word EXCL - ec_word NO - ec_word REALLY - ec_word EXCL + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_COOL + .2byte EC_WORD_EXCL + .2byte EC_WORD_NO + .2byte EC_WORD_REALLY + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Layton @ 261 - .4byte TRAINER_CLASS_GENTLEMAN + .4byte FACILITY_CLASS_GENTLEMAN .string "BROOKS$", 8 @ pre-battle speech - ec_word THIS - ec_word IS - ec_word A - ec_word HIGH - ec_word LEVEL - ec_word BATTLE + .2byte EC_WORD_THIS + .2byte EC_WORD_IS + .2byte EC_WORD_A + .2byte EC_WORD_HIGH + .2byte EC_WORD_LEVEL + .2byte EC_WORD_BATTLE @ win speech - ec_word THAT_WAS - ec_word HIGH - ec_word LEVEL - ec_word AND - ec_word EXCITING - ec_word TOO + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_HIGH + .2byte EC_WORD_LEVEL + .2byte EC_WORD_AND + .2byte EC_WORD_EXCITING + .2byte EC_WORD_TOO @ loss speech - ec_word YOU_RE - ec_word TOO - ec_word HIGH - ec_word IN - ec_word LEVEL - ec_word ELLIPSIS + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_TOO + .2byte EC_WORD_HIGH + .2byte EC_WORD_IN + .2byte EC_WORD_LEVEL + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Brooks @ 262 - .4byte TRAINER_CLASS_GENTLEMAN + .4byte FACILITY_CLASS_GENTLEMAN .string "GREGORY$", 8 @ pre-battle speech - ec_word I_AM - ec_word NOT - ec_word THAT - ec_word OLD - ec_word YET + .2byte EC_WORD_I_AM + .2byte EC_WORD_NOT + .2byte EC_WORD_THAT + .2byte EC_WORD_OLD + .2byte EC_WORD_YET .2byte -1 @ win speech - ec_word WHO - ec_word SAYS - ec_word I_AM - ec_word TOO - ec_word OLD - ec_word QUES + .2byte EC_WORD_WHO + .2byte EC_WORD_SAYS + .2byte EC_WORD_I_AM + .2byte EC_WORD_TOO + .2byte EC_WORD_OLD + .2byte EC_WORD_QUES @ loss speech - ec_word PLEASE - ec_word I_AM - ec_word REALLY - ec_word NOT - ec_word THAT - ec_word OLD + .2byte EC_WORD_PLEASE + .2byte EC_WORD_I_AM + .2byte EC_WORD_REALLY + .2byte EC_WORD_NOT + .2byte EC_WORD_THAT + .2byte EC_WORD_OLD .4byte gBattleFrontierTrainerMons_Gregory @ 263 - .4byte TRAINER_CLASS_GENTLEMAN + .4byte FACILITY_CLASS_GENTLEMAN .string "REESE$", 8 @ pre-battle speech - ec_word I_VE - ec_word A - ec_word COUPLE - ec_word THINGS + .2byte EC_WORD_I_VE + .2byte EC_WORD_A + .2byte EC_WORD_COUPLE + .2byte EC_WORD_THINGS .2byte -1 .2byte -1 @ win speech - ec_word DON_T - ec_word DIET - ec_word PLAY - ec_word SPORTS - ec_word INSTEAD + .2byte EC_WORD_DON_T + .2byte EC_WORD_DIET + .2byte EC_WORD_PLAY + .2byte EC_WORD_SPORTS + .2byte EC_WORD_INSTEAD .2byte -1 @ loss speech - ec_word INSTEAD - ec_word OF - ec_word TELEVISION - ec_word GET - ec_word A - ec_word BOOK + .2byte EC_WORD_INSTEAD + .2byte EC_WORD_OF + .2byte EC_WORD_TELEVISION + .2byte EC_WORD_GET + .2byte EC_WORD_A + .2byte EC_WORD_BOOK .4byte gBattleFrontierTrainerMons_Reese @ 264 - .4byte TRAINER_CLASS_TRIATHLETE_3 + .4byte FACILITY_CLASS_TRIATHLETE_3 .string "MASON$", 8 @ pre-battle speech - ec_word PLEASE - ec_word DON_T - ec_word MAKE - ec_word THIS - ec_word SCARY + .2byte EC_WORD_PLEASE + .2byte EC_WORD_DON_T + .2byte EC_WORD_MAKE + .2byte EC_WORD_THIS + .2byte EC_WORD_SCARY .2byte -1 @ win speech - ec_word THANK_YOU - ec_word ELLIPSIS + .2byte EC_WORD_THANK_YOU + .2byte EC_WORD_ELLIPSIS .2byte -1 - ec_word I_AM - ec_word HAPPY - ec_word NOW + .2byte EC_WORD_I_AM + .2byte EC_WORD_HAPPY + .2byte EC_WORD_NOW @ loss speech - ec_word I_AM - ec_word DISAPPOINTED - ec_word ELLIPSIS + .2byte EC_WORD_I_AM + .2byte EC_WORD_DISAPPOINTED + .2byte EC_WORD_ELLIPSIS .2byte -1 .2byte -1 .2byte -1 .4byte gBattleFrontierTrainerMons_Mason @ 265 - .4byte TRAINER_CLASS_TRIATHLETE_3 + .4byte FACILITY_CLASS_TRIATHLETE_3 .string "TOBY$", 8 @ pre-battle speech - ec_word LISTEN - ec_word UP + .2byte EC_WORD_LISTEN + .2byte EC_WORD_UP .2byte -1 - ec_word I - ec_word ALWAYS - ec_word WIN + .2byte EC_WORD_I + .2byte EC_WORD_ALWAYS + .2byte EC_WORD_WIN @ win speech - ec_word I_AM - ec_word A - ec_word GENIUS - ec_word OR - ec_word WHAT - ec_word QUES + .2byte EC_WORD_I_AM + .2byte EC_WORD_A + .2byte EC_WORD_GENIUS + .2byte EC_WORD_OR + .2byte EC_WORD_WHAT + .2byte EC_WORD_QUES @ loss speech - ec_word I - ec_word CAN - ec_word BEAT - ec_word YOU - ec_word AT - ec_word SMARTNESS + .2byte EC_WORD_I + .2byte EC_WORD_CAN + .2byte EC_WORD_BEAT + .2byte EC_WORD_YOU + .2byte EC_WORD_AT + .2byte EC_WORD_SMARTNESS .4byte gBattleFrontierTrainerMons_Toby @ 266 - .4byte TRAINER_CLASS_TRIATHLETE_4 + .4byte FACILITY_CLASS_TRIATHLETE_4 .string "DOROTHY$", 8 @ pre-battle speech - ec_word THE - ec_word SPORTS - ec_word WORLD - ec_word SHOULD - ec_word ACCEPT - ec_word POKEMON + .2byte EC_WORD_THE + .2byte EC_WORD_SPORTS + .2byte EC_WORD_WORLD + .2byte EC_WORD_SHOULD + .2byte EC_WORD_ACCEPT + .2byte EC_WORD_POKEMON @ win speech - ec_word THANK_YOU - ec_word EXCL - ec_word THAT - ec_word WIN - ec_word WAS - ec_word REFRESHING + .2byte EC_WORD_THANK_YOU + .2byte EC_WORD_EXCL + .2byte EC_WORD_THAT + .2byte EC_WORD_WIN + .2byte EC_WORD_WAS + .2byte EC_WORD_REFRESHING @ loss speech - ec_word THANK_YOU - ec_word EXCL - ec_word THAT - ec_word LOSS - ec_word WAS - ec_word REFRESHING + .2byte EC_WORD_THANK_YOU + .2byte EC_WORD_EXCL + .2byte EC_WORD_THAT + .2byte EC_WORD_LOSS + .2byte EC_WORD_WAS + .2byte EC_WORD_REFRESHING .4byte gBattleFrontierTrainerMons_Dorothy @ 267 - .4byte TRAINER_CLASS_TRIATHLETE_4 + .4byte FACILITY_CLASS_TRIATHLETE_4 .string "PIPER$", 8 @ pre-battle speech - ec_word COME_ON - ec_word YOU - ec_word NEED - ec_word A - ec_word SPEED_BOOST - ec_word QUES + .2byte EC_WORD_COME_ON + .2byte EC_WORD_YOU + .2byte EC_WORD_NEED + .2byte EC_WORD_A + .2byte EC_WORD_SPEED_BOOST + .2byte EC_WORD_QUES @ win speech - ec_word YOU - ec_word NEED - ec_word TO - ec_word SHOW - ec_word MORE - ec_word GUTS + .2byte EC_WORD_YOU + .2byte EC_WORD_NEED + .2byte EC_WORD_TO + .2byte EC_WORD_SHOW + .2byte EC_WORD_MORE + .2byte EC_WORD_GUTS @ loss speech - ec_word OH - ec_word YOU - ec_word EXCL + .2byte EC_WORD_OH + .2byte EC_WORD_YOU + .2byte EC_WORD_EXCL .2byte -1 .2byte -1 .2byte -1 .4byte gBattleFrontierTrainerMons_Piper @ 268 - .4byte TRAINER_CLASS_TRIATHLETE_5 + .4byte FACILITY_CLASS_TRIATHLETE_5 .string "FINN$", 8 @ pre-battle speech - ec_word NOT - ec_word ANOTHER - ec_word TRAINER - ec_word BATTLE - ec_word ELLIPSIS + .2byte EC_WORD_NOT + .2byte EC_WORD_ANOTHER + .2byte EC_WORD_TRAINER + .2byte EC_WORD_BATTLE + .2byte EC_WORD_ELLIPSIS .2byte -1 @ win speech - ec_word WON_T - ec_word THIS - ec_word EVER - ec_word END - ec_word QUES + .2byte EC_WORD_WON_T + .2byte EC_WORD_THIS + .2byte EC_WORD_EVER + .2byte EC_WORD_END + .2byte EC_WORD_QUES .2byte -1 @ loss speech - ec_word I - ec_word FINALLY - ec_word GET - ec_word TO - ec_move2 REST - ec_word A_LITTLE + .2byte EC_WORD_I + .2byte EC_WORD_FINALLY + .2byte EC_WORD_GET + .2byte EC_WORD_TO + .2byte EC_MOVE2(REST) + .2byte EC_WORD_A_LITTLE .4byte gBattleFrontierTrainerMons_Finn @ 269 - .4byte TRAINER_CLASS_TRIATHLETE_5 + .4byte FACILITY_CLASS_TRIATHLETE_5 .string "SAMIR$", 8 @ pre-battle speech - ec_word I - ec_move2 DIVE - ec_word BELOW - ec_word THE - ec_move2 SURF - ec_word EXCL + .2byte EC_WORD_I + .2byte EC_MOVE2(DIVE) + .2byte EC_WORD_BELOW + .2byte EC_WORD_THE + .2byte EC_MOVE2(SURF) + .2byte EC_WORD_EXCL @ win speech - ec_word YAHOO - ec_word TAKE - ec_word A - ec_move2 DIVE - ec_word YOU - ec_word EXCL + .2byte EC_WORD_YAHOO + .2byte EC_WORD_TAKE + .2byte EC_WORD_A + .2byte EC_MOVE2(DIVE) + .2byte EC_WORD_YOU + .2byte EC_WORD_EXCL @ loss speech - ec_word I_AM - ec_word GOING - ec_word TO - ec_word SINK - ec_word ELLIPSIS + .2byte EC_WORD_I_AM + .2byte EC_WORD_GOING + .2byte EC_WORD_TO + .2byte EC_WORD_SINK + .2byte EC_WORD_ELLIPSIS .2byte -1 .4byte gBattleFrontierTrainerMons_Samir @ 270 - .4byte TRAINER_CLASS_TRIATHLETE_6 + .4byte FACILITY_CLASS_TRIATHLETE_6 .string "FIONA$", 8 @ pre-battle speech - ec_word DID - ec_word YOU - ec_word LIMBER - ec_word UP - ec_word BEFORE - ec_word QUES + .2byte EC_WORD_DID + .2byte EC_WORD_YOU + .2byte EC_WORD_LIMBER + .2byte EC_WORD_UP + .2byte EC_WORD_BEFORE + .2byte EC_WORD_QUES @ win speech - ec_word YOU - ec_word NEED - ec_word TO - ec_word BE - ec_word MORE - ec_word READY + .2byte EC_WORD_YOU + .2byte EC_WORD_NEED + .2byte EC_WORD_TO + .2byte EC_WORD_BE + .2byte EC_WORD_MORE + .2byte EC_WORD_READY @ loss speech - ec_word BEING - ec_word LIMBER - ec_word DIDN_T - ec_word WORK - ec_word FOR - ec_word ME + .2byte EC_WORD_BEING + .2byte EC_WORD_LIMBER + .2byte EC_WORD_DIDN_T + .2byte EC_WORD_WORK + .2byte EC_WORD_FOR + .2byte EC_WORD_ME .4byte gBattleFrontierTrainerMons_Fiona @ 271 - .4byte TRAINER_CLASS_TRIATHLETE_6 + .4byte FACILITY_CLASS_TRIATHLETE_6 .string "GLORIA$", 8 @ pre-battle speech - ec_word I - ec_word LIKE - ec_word TO - ec_word ATTACK - ec_word WITH - ec_word SUCTION_CUPS + .2byte EC_WORD_I + .2byte EC_WORD_LIKE + .2byte EC_WORD_TO + .2byte EC_WORD_ATTACK + .2byte EC_WORD_WITH + .2byte EC_WORD_SUCTION_CUPS @ win speech - ec_word GIGGLE - ec_word ELLIPSIS - ec_word IT_S - ec_word OVER - ec_word FOR - ec_word YOU + .2byte EC_WORD_GIGGLE + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_IT_S + .2byte EC_WORD_OVER + .2byte EC_WORD_FOR + .2byte EC_WORD_YOU @ loss speech - ec_word I - ec_word DON_T - ec_word GET - ec_word HOW - ec_word SUCTION_CUPS - ec_word WORK + .2byte EC_WORD_I + .2byte EC_WORD_DON_T + .2byte EC_WORD_GET + .2byte EC_WORD_HOW + .2byte EC_WORD_SUCTION_CUPS + .2byte EC_WORD_WORK .4byte gBattleFrontierTrainerMons_Gloria @ 272 - .4byte TRAINER_CLASS_TRIATHLETE_1 + .4byte FACILITY_CLASS_TRIATHLETE_1 .string "NICO$", 8 @ pre-battle speech - ec_word LIKE - ec_word A - ec_move1 SONIC_BOOM - ec_word I_VE_ARRIVED + .2byte EC_WORD_LIKE + .2byte EC_WORD_A + .2byte EC_MOVE(SONIC_BOOM) + .2byte EC_WORD_I_VE_ARRIVED .2byte -1 .2byte -1 @ win speech - ec_word SORRY - ec_word TO - ec_word MAKE - ec_word YOU - ec_word SO - ec_word DOWNCAST + .2byte EC_WORD_SORRY + .2byte EC_WORD_TO + .2byte EC_WORD_MAKE + .2byte EC_WORD_YOU + .2byte EC_WORD_SO + .2byte EC_WORD_DOWNCAST @ loss speech - ec_word I_AM - ec_word GOING - ec_word WITH - ec_word A - ec_move2 SUPERSONIC - ec_word SPEED_BOOST + .2byte EC_WORD_I_AM + .2byte EC_WORD_GOING + .2byte EC_WORD_WITH + .2byte EC_WORD_A + .2byte EC_MOVE2(SUPERSONIC) + .2byte EC_WORD_SPEED_BOOST .4byte gBattleFrontierTrainerMons_Nico @ 273 - .4byte TRAINER_CLASS_TRIATHLETE_1 + .4byte FACILITY_CLASS_TRIATHLETE_1 .string "JEREMY$", 8 @ pre-battle speech - ec_word A - ec_word POKEMON - ec_word MASTER - ec_word THAT_S - ec_word MY - ec_word DREAM + .2byte EC_WORD_A + .2byte EC_WORD_POKEMON + .2byte EC_WORD_MASTER + .2byte EC_WORD_THAT_S + .2byte EC_WORD_MY + .2byte EC_WORD_DREAM @ win speech - ec_word MY - ec_word DREAM - ec_word ISN_T - ec_word FAR - ec_word OFF - ec_word EXCL + .2byte EC_WORD_MY + .2byte EC_WORD_DREAM + .2byte EC_WORD_ISN_T + .2byte EC_WORD_FAR + .2byte EC_WORD_OFF + .2byte EC_WORD_EXCL @ loss speech - ec_word WHAT - ec_word I - ec_word DREAM - ec_word ISN_T - ec_word HAPPENING - ec_word ELLIPSIS + .2byte EC_WORD_WHAT + .2byte EC_WORD_I + .2byte EC_WORD_DREAM + .2byte EC_WORD_ISN_T + .2byte EC_WORD_HAPPENING + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Jeremy @ 274 - .4byte TRAINER_CLASS_TRIATHLETE_2 + .4byte FACILITY_CLASS_TRIATHLETE_2 .string "CAITLIN$", 8 @ pre-battle speech - ec_word DON_T - ec_word YOU - ec_word THINK - ec_word I_AM - ec_word CUTE - ec_word QUES + .2byte EC_WORD_DON_T + .2byte EC_WORD_YOU + .2byte EC_WORD_THINK + .2byte EC_WORD_I_AM + .2byte EC_WORD_CUTE + .2byte EC_WORD_QUES @ win speech - ec_word THERE - ec_word IS - ec_word MORE - ec_word TO_ME - ec_word THAN - ec_word CUTENESS + .2byte EC_WORD_THERE + .2byte EC_WORD_IS + .2byte EC_WORD_MORE + .2byte EC_WORD_TO_ME + .2byte EC_WORD_THAN + .2byte EC_WORD_CUTENESS @ loss speech - ec_word MY - ec_word CUTE_CHARM - ec_word DOESN_T - ec_move2 ATTRACT - ec_word YOU - ec_word QUES + .2byte EC_WORD_MY + .2byte EC_WORD_CUTE_CHARM + .2byte EC_WORD_DOESN_T + .2byte EC_MOVE2(ATTRACT) + .2byte EC_WORD_YOU + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Caitlin @ 275 - .4byte TRAINER_CLASS_TRIATHLETE_2 + .4byte FACILITY_CLASS_TRIATHLETE_2 .string "REENA$", 8 @ pre-battle speech - ec_word I_AM - ec_word ALWAYS - ec_word HAPPY - ec_word HAPPY - ec_word HAPPY - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_ALWAYS + .2byte EC_WORD_HAPPY + .2byte EC_WORD_HAPPY + .2byte EC_WORD_HAPPY + .2byte EC_WORD_EXCL @ win speech - ec_word OH - ec_word YAY - ec_word EXCL - ec_word YAHOO - ec_word FOR - ec_word ME + .2byte EC_WORD_OH + .2byte EC_WORD_YAY + .2byte EC_WORD_EXCL + .2byte EC_WORD_YAHOO + .2byte EC_WORD_FOR + .2byte EC_WORD_ME @ loss speech - ec_word YAHOO - ec_word EXCL - ec_word I_AM - ec_word HAPPY - ec_word FOR - ec_word YOU + .2byte EC_WORD_YAHOO + .2byte EC_WORD_EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_HAPPY + .2byte EC_WORD_FOR + .2byte EC_WORD_YOU .4byte gBattleFrontierTrainerMons_Reena @ 276 - .4byte TRAINER_CLASS_BUG_MANIAC + .4byte FACILITY_CLASS_BUG_MANIAC .string "AVERY$", 8 @ pre-battle speech - ec_word I_VE - ec_word GOT - ec_word A_LOT - ec_word OF - ec_word BUG - ec_word POKEMON + .2byte EC_WORD_I_VE + .2byte EC_WORD_GOT + .2byte EC_WORD_A_LOT + .2byte EC_WORD_OF + .2byte EC_WORD_BUG + .2byte EC_WORD_POKEMON @ win speech - ec_word MY - ec_word BUG - ec_word POKEMON - ec_word ARE - ec_word ALL - ec_word UNBELIEVABLE + .2byte EC_WORD_MY + .2byte EC_WORD_BUG + .2byte EC_WORD_POKEMON + .2byte EC_WORD_ARE + .2byte EC_WORD_ALL + .2byte EC_WORD_UNBELIEVABLE @ loss speech - ec_word MY - ec_word BUG - ec_word POKEMON - ec_word ARE - ec_word ALL - ec_word UPSIDE_DOWN + .2byte EC_WORD_MY + .2byte EC_WORD_BUG + .2byte EC_WORD_POKEMON + .2byte EC_WORD_ARE + .2byte EC_WORD_ALL + .2byte EC_WORD_UPSIDE_DOWN .4byte gBattleFrontierTrainerMons_Avery @ 277 - .4byte TRAINER_CLASS_BUG_MANIAC + .4byte FACILITY_CLASS_BUG_MANIAC .string "LIAM$", 8 @ pre-battle speech - ec_word WE - ec_word REALLY - ec_word DISLIKE - ec_word FIRE - ec_word AND - ec_word FLYING + .2byte EC_WORD_WE + .2byte EC_WORD_REALLY + .2byte EC_WORD_DISLIKE + .2byte EC_WORD_FIRE + .2byte EC_WORD_AND + .2byte EC_WORD_FLYING @ win speech - ec_word BUG - ec_word POKEMON - ec_word AREN_T - ec_word BAD - ec_word HEY_QUES + .2byte EC_WORD_BUG + .2byte EC_WORD_POKEMON + .2byte EC_WORD_AREN_T + .2byte EC_WORD_BAD + .2byte EC_WORD_HEY_QUES .2byte -1 @ loss speech - ec_word YOU - ec_word KNOW - ec_word WHAT - ec_word WE - ec_word DISLIKE - ec_word HEY_QUES + .2byte EC_WORD_YOU + .2byte EC_WORD_KNOW + .2byte EC_WORD_WHAT + .2byte EC_WORD_WE + .2byte EC_WORD_DISLIKE + .2byte EC_WORD_HEY_QUES .4byte gBattleFrontierTrainerMons_Liam @ 278 - .4byte TRAINER_CLASS_FISHERMAN + .4byte FACILITY_CLASS_FISHERMAN .string "THEO$", 8 @ pre-battle speech - ec_word FISHING - ec_word IS - ec_word MY - ec_word CHOICE - ec_word IN - ec_word LIFE + .2byte EC_WORD_FISHING + .2byte EC_WORD_IS + .2byte EC_WORD_MY + .2byte EC_WORD_CHOICE + .2byte EC_WORD_IN + .2byte EC_WORD_LIFE @ win speech - ec_word WATER - ec_word POKEMON - ec_move2 ATTRACT - ec_word ME - ec_word WITHOUT - ec_word END + .2byte EC_WORD_WATER + .2byte EC_WORD_POKEMON + .2byte EC_MOVE2(ATTRACT) + .2byte EC_WORD_ME + .2byte EC_WORD_WITHOUT + .2byte EC_WORD_END @ loss speech - ec_word DON_T - ec_word COUNT_ON - ec_word THAT - ec_word HAPPENING - ec_word ANOTHER - ec_word TIME + .2byte EC_WORD_DON_T + .2byte EC_WORD_COUNT_ON + .2byte EC_WORD_THAT + .2byte EC_WORD_HAPPENING + .2byte EC_WORD_ANOTHER + .2byte EC_WORD_TIME .4byte gBattleFrontierTrainerMons_Theo @ 279 - .4byte TRAINER_CLASS_FISHERMAN + .4byte FACILITY_CLASS_FISHERMAN .string "BAILEY$", 8 @ pre-battle speech - ec_word I_AM - ec_word AN - ec_word ADULT - ec_word I - ec_word BATTLE - ec_word EASY + .2byte EC_WORD_I_AM + .2byte EC_WORD_AN + .2byte EC_WORD_ADULT + .2byte EC_WORD_I + .2byte EC_WORD_BATTLE + .2byte EC_WORD_EASY @ win speech - ec_word I_AM - ec_word AN - ec_word ADULT - ec_word I - ec_move2 SWALLOW - ec_word JOY + .2byte EC_WORD_I_AM + .2byte EC_WORD_AN + .2byte EC_WORD_ADULT + .2byte EC_WORD_I + .2byte EC_MOVE2(SWALLOW) + .2byte EC_WORD_JOY @ loss speech - ec_word I_AM - ec_word AN - ec_word ADULT - ec_word I - ec_move2 SWALLOW - ec_move2 FRUSTRATION + .2byte EC_WORD_I_AM + .2byte EC_WORD_AN + .2byte EC_WORD_ADULT + .2byte EC_WORD_I + .2byte EC_MOVE2(SWALLOW) + .2byte EC_MOVE2(FRUSTRATION) .4byte gBattleFrontierTrainerMons_Bailey @ 280 - .4byte TRAINER_CLASS_RUIN_MANIAC + .4byte FACILITY_CLASS_RUIN_MANIAC .string "HUGO$", 8 @ pre-battle speech - ec_word I - ec_word TRY - ec_word THE - ec_word BEST - ec_word I - ec_word CAN + .2byte EC_WORD_I + .2byte EC_WORD_TRY + .2byte EC_WORD_THE + .2byte EC_WORD_BEST + .2byte EC_WORD_I + .2byte EC_WORD_CAN @ win speech - ec_word I - ec_word CAN_WIN - ec_word IF - ec_word I - ec_word TRY - ec_word ENOUGH + .2byte EC_WORD_I + .2byte EC_WORD_CAN_WIN + .2byte EC_WORD_IF + .2byte EC_WORD_I + .2byte EC_WORD_TRY + .2byte EC_WORD_ENOUGH @ loss speech - ec_word I - ec_word DID - ec_word TRY - ec_word DIDN_T - ec_word I - ec_word QUES + .2byte EC_WORD_I + .2byte EC_WORD_DID + .2byte EC_WORD_TRY + .2byte EC_WORD_DIDN_T + .2byte EC_WORD_I + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Hugo @ 281 - .4byte TRAINER_CLASS_RUIN_MANIAC + .4byte FACILITY_CLASS_RUIN_MANIAC .string "BRYCE$", 8 @ pre-battle speech - ec_word I_WAS - ec_word ON - ec_word VACATION - ec_word UNTIL - ec_word ONLY - ec_word YESTERDAY + .2byte EC_WORD_I_WAS + .2byte EC_WORD_ON + .2byte EC_WORD_VACATION + .2byte EC_WORD_UNTIL + .2byte EC_WORD_ONLY + .2byte EC_WORD_YESTERDAY @ win speech - ec_word I - ec_word HAVEN_T - ec_word LOST - ec_word MY - ec_word SKILL - ec_word YET + .2byte EC_WORD_I + .2byte EC_WORD_HAVEN_T + .2byte EC_WORD_LOST + .2byte EC_WORD_MY + .2byte EC_WORD_SKILL + .2byte EC_WORD_YET @ loss speech - ec_word THAT_S - ec_word IT - ec_word ELLIPSIS - ec_word I - ec_word NEED - ec_word SLEEP + .2byte EC_WORD_THAT_S + .2byte EC_WORD_IT + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_I + .2byte EC_WORD_NEED + .2byte EC_WORD_SLEEP .4byte gBattleFrontierTrainerMons_Bryce @ 282 - .4byte TRAINER_CLASS_COLLECTOR + .4byte FACILITY_CLASS_COLLECTOR .string "GIDEON$", 8 @ pre-battle speech - ec_word WHAT_S_UP_QUES - ec_word YOU - ec_word THINK - ec_word I_AM - ec_word SCARY - ec_word QUES + .2byte EC_WORD_WHAT_S_UP_QUES + .2byte EC_WORD_YOU + .2byte EC_WORD_THINK + .2byte EC_WORD_I_AM + .2byte EC_WORD_SCARY + .2byte EC_WORD_QUES @ win speech - ec_word I_AM - ec_word COOL - ec_word BUT - ec_word NOT - ec_word SCARY - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_COOL + .2byte EC_WORD_BUT + .2byte EC_WORD_NOT + .2byte EC_WORD_SCARY + .2byte EC_WORD_EXCL @ loss speech - ec_word LOOK - ec_word AT - ec_word MY - ec_word FABULOUS - ec_word FASHION - ec_word SENSE + .2byte EC_WORD_LOOK + .2byte EC_WORD_AT + .2byte EC_WORD_MY + .2byte EC_WORD_FABULOUS + .2byte EC_WORD_FASHION + .2byte EC_WORD_SENSE .4byte gBattleFrontierTrainerMons_Gideon @ 283 - .4byte TRAINER_CLASS_COLLECTOR + .4byte FACILITY_CLASS_COLLECTOR .string "TRISTON$", 8 @ pre-battle speech - ec_word I - ec_word WOULD - ec_word RATHER - ec_word LOOK - ec_word AT - ec_word POKEMON + .2byte EC_WORD_I + .2byte EC_WORD_WOULD + .2byte EC_WORD_RATHER + .2byte EC_WORD_LOOK + .2byte EC_WORD_AT + .2byte EC_WORD_POKEMON @ win speech - ec_word HUH_QUES - ec_word YOU - ec_word MEAN - ec_word I - ec_word WON - ec_word QUES_EXCL + .2byte EC_WORD_HUH_QUES + .2byte EC_WORD_YOU + .2byte EC_WORD_MEAN + .2byte EC_WORD_I + .2byte EC_WORD_WON + .2byte EC_WORD_QUES_EXCL @ loss speech - ec_word SEE - ec_word QUES + .2byte EC_WORD_SEE + .2byte EC_WORD_QUES .2byte -1 - ec_word I - ec_word ALWAYS - ec_word LOSE + .2byte EC_WORD_I + .2byte EC_WORD_ALWAYS + .2byte EC_WORD_LOSE .4byte gBattleFrontierTrainerMons_Triston @ 284 - .4byte TRAINER_CLASS_GUITARIST + .4byte FACILITY_CLASS_GUITARIST .string "CHARLES$", 8 @ pre-battle speech - ec_word IT_S - ec_word HOPELESS - ec_word TO - ec_move2 STRUGGLE - ec_word WITH - ec_word ME + .2byte EC_WORD_IT_S + .2byte EC_WORD_HOPELESS + .2byte EC_WORD_TO + .2byte EC_MOVE2(STRUGGLE) + .2byte EC_WORD_WITH + .2byte EC_WORD_ME @ win speech - ec_move1 SUBMISSION - ec_word WAS - ec_word YOUR - ec_word ONLY - ec_word CHOICE + .2byte EC_MOVE(SUBMISSION) + .2byte EC_WORD_WAS + .2byte EC_WORD_YOUR + .2byte EC_WORD_ONLY + .2byte EC_WORD_CHOICE .2byte -1 @ loss speech - ec_word I_AM - ec_word GOING - ec_word DOWN - ec_word DOWN - ec_word DOWN - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_GOING + .2byte EC_WORD_DOWN + .2byte EC_WORD_DOWN + .2byte EC_WORD_DOWN + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Charles @ 285 - .4byte TRAINER_CLASS_GUITARIST + .4byte FACILITY_CLASS_GUITARIST .string "RAYMOND$", 8 @ pre-battle speech - ec_word WANT - ec_word TO - ec_word HEAR - ec_word MY - ec_word SONG - ec_word QUES + .2byte EC_WORD_WANT + .2byte EC_WORD_TO + .2byte EC_WORD_HEAR + .2byte EC_WORD_MY + .2byte EC_WORD_SONG + .2byte EC_WORD_QUES @ win speech - ec_word SATISFIED - ec_word THAT_S - ec_word WHAT - ec_word I_AM - ec_word EXCL + .2byte EC_WORD_SATISFIED + .2byte EC_WORD_THAT_S + .2byte EC_WORD_WHAT + .2byte EC_WORD_I_AM + .2byte EC_WORD_EXCL .2byte -1 @ loss speech - ec_word SATISFIED - ec_word IS - ec_word WHAT - ec_word I - ec_word CAN_T - ec_word BE + .2byte EC_WORD_SATISFIED + .2byte EC_WORD_IS + .2byte EC_WORD_WHAT + .2byte EC_WORD_I + .2byte EC_WORD_CAN_T + .2byte EC_WORD_BE .4byte gBattleFrontierTrainerMons_Raymond @ 286 - .4byte TRAINER_CLASS_BIRD_KEEPER + .4byte FACILITY_CLASS_BIRD_KEEPER .string "DIRK$", 8 @ pre-battle speech - ec_word FLYING - ec_word POKEMON - ec_word ARE - ec_word ABOVE - ec_word THE - ec_move2 REST + .2byte EC_WORD_FLYING + .2byte EC_WORD_POKEMON + .2byte EC_WORD_ARE + .2byte EC_WORD_ABOVE + .2byte EC_WORD_THE + .2byte EC_MOVE2(REST) @ win speech - ec_word YOU - ec_word CAN_T_WIN - ec_word EXCL - ec_word FLYING - ec_word POKEMON - ec_word RULE + .2byte EC_WORD_YOU + .2byte EC_WORD_CAN_T_WIN + .2byte EC_WORD_EXCL + .2byte EC_WORD_FLYING + .2byte EC_WORD_POKEMON + .2byte EC_WORD_RULE @ loss speech - ec_word AREN_T - ec_word THERE - ec_word MORE - ec_word FLYING - ec_word POKEMON - ec_word QUES + .2byte EC_WORD_AREN_T + .2byte EC_WORD_THERE + .2byte EC_WORD_MORE + .2byte EC_WORD_FLYING + .2byte EC_WORD_POKEMON + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Dirk @ 287 - .4byte TRAINER_CLASS_BIRD_KEEPER + .4byte FACILITY_CLASS_BIRD_KEEPER .string "HAROLD$", 8 @ pre-battle speech - ec_word MY - ec_word POKEMON - ec_word APPEAL - ec_word TO - ec_word YOU - ec_word QUES + .2byte EC_WORD_MY + .2byte EC_WORD_POKEMON + .2byte EC_WORD_APPEAL + .2byte EC_WORD_TO + .2byte EC_WORD_YOU + .2byte EC_WORD_QUES @ win speech - ec_word YOU - ec_word DO - ec_word LIKE - ec_word MY - ec_word POKEMON - ec_word QUES + .2byte EC_WORD_YOU + .2byte EC_WORD_DO + .2byte EC_WORD_LIKE + .2byte EC_WORD_MY + .2byte EC_WORD_POKEMON + .2byte EC_WORD_QUES @ loss speech - ec_word SO - ec_word YOU - ec_word DISLIKE - ec_word MY - ec_word POKEMON - ec_word QUES + .2byte EC_WORD_SO + .2byte EC_WORD_YOU + .2byte EC_WORD_DISLIKE + .2byte EC_WORD_MY + .2byte EC_WORD_POKEMON + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Harold @ 288 - .4byte TRAINER_CLASS_SAILOR + .4byte FACILITY_CLASS_SAILOR .string "OMAR$", 8 @ pre-battle speech - ec_word LET_ME_WIN - ec_word IN - ec_move1 RETURN - ec_word FOR - ec_word A - ec_move2 PRESENT + .2byte EC_WORD_LET_ME_WIN + .2byte EC_WORD_IN + .2byte EC_MOVE(RETURN) + .2byte EC_WORD_FOR + .2byte EC_WORD_A + .2byte EC_MOVE2(PRESENT) @ win speech - ec_word HERE - ec_word YOU - ec_word ARE - ec_word SOME - ec_move2 TOXIC - ec_word SWEETS + .2byte EC_WORD_HERE + .2byte EC_WORD_YOU + .2byte EC_WORD_ARE + .2byte EC_WORD_SOME + .2byte EC_MOVE2(TOXIC) + .2byte EC_WORD_SWEETS @ loss speech - ec_word YOUR - ec_move2 PRESENT - ec_word QUES - ec_word WHAT - ec_word FOR - ec_word QUES_EXCL + .2byte EC_WORD_YOUR + .2byte EC_MOVE2(PRESENT) + .2byte EC_WORD_QUES + .2byte EC_WORD_WHAT + .2byte EC_WORD_FOR + .2byte EC_WORD_QUES_EXCL .4byte gBattleFrontierTrainerMons_Omar @ 289 - .4byte TRAINER_CLASS_SAILOR + .4byte FACILITY_CLASS_SAILOR .string "PETER$", 8 @ pre-battle speech - ec_word I - ec_word BRAG - ec_word ABOUT - ec_word MY - ec_word HAPPINESS - ec_word OK_QUES + .2byte EC_WORD_I + .2byte EC_WORD_BRAG + .2byte EC_WORD_ABOUT + .2byte EC_WORD_MY + .2byte EC_WORD_HAPPINESS + .2byte EC_WORD_OK_QUES @ win speech - ec_word YOU - ec_word HAVE - ec_word TO - ec_word LISTEN - ec_word TO_ME - ec_word BRAG + .2byte EC_WORD_YOU + .2byte EC_WORD_HAVE + .2byte EC_WORD_TO + .2byte EC_WORD_LISTEN + .2byte EC_WORD_TO_ME + .2byte EC_WORD_BRAG @ loss speech - ec_word I_AM - ec_word DISAPPOINTED - ec_word YOU - ec_word WON_T - ec_word LISTEN - ec_word TO_ME + .2byte EC_WORD_I_AM + .2byte EC_WORD_DISAPPOINTED + .2byte EC_WORD_YOU + .2byte EC_WORD_WON_T + .2byte EC_WORD_LISTEN + .2byte EC_WORD_TO_ME .4byte gBattleFrontierTrainerMons_Peter @ 290 - .4byte TRAINER_CLASS_HIKER + .4byte FACILITY_CLASS_HIKER .string "DEV$", 8 @ pre-battle speech - ec_word COME_ON - ec_word LET_S - ec_word GET - ec_word A - ec_word MOVE - ec_word ON + .2byte EC_WORD_COME_ON + .2byte EC_WORD_LET_S + .2byte EC_WORD_GET + .2byte EC_WORD_A + .2byte EC_WORD_MOVE + .2byte EC_WORD_ON @ win speech - ec_word I - ec_word GET - ec_word TO - ec_word NAP - ec_word AFTER - ec_word THAT + .2byte EC_WORD_I + .2byte EC_WORD_GET + .2byte EC_WORD_TO + .2byte EC_WORD_NAP + .2byte EC_WORD_AFTER + .2byte EC_WORD_THAT @ loss speech - ec_word I - ec_word NEED - ec_word TO - ec_word NAP - ec_word AFTER - ec_word THAT + .2byte EC_WORD_I + .2byte EC_WORD_NEED + .2byte EC_WORD_TO + .2byte EC_WORD_NAP + .2byte EC_WORD_AFTER + .2byte EC_WORD_THAT .4byte gBattleFrontierTrainerMons_Dev @ 291 - .4byte TRAINER_CLASS_HIKER + .4byte FACILITY_CLASS_HIKER .string "COREY$", 8 @ pre-battle speech - ec_word LET_S - ec_word TEACH - ec_word YOU - ec_word HOW - ec_word TOUGH - ec_word I_AM + .2byte EC_WORD_LET_S + .2byte EC_WORD_TEACH + .2byte EC_WORD_YOU + .2byte EC_WORD_HOW + .2byte EC_WORD_TOUGH + .2byte EC_WORD_I_AM @ win speech - ec_word LOOK - ec_word AT - ec_word ME - ec_word MAKE - ec_word A - ec_move1 BRICK_BREAK + .2byte EC_WORD_LOOK + .2byte EC_WORD_AT + .2byte EC_WORD_ME + .2byte EC_WORD_MAKE + .2byte EC_WORD_A + .2byte EC_MOVE(BRICK_BREAK) @ loss speech - ec_word MY - ec_move2 FRUSTRATION - ec_word IS - ec_word CLOSE - ec_word TO - ec_move2 ERUPTION + .2byte EC_WORD_MY + .2byte EC_MOVE2(FRUSTRATION) + .2byte EC_WORD_IS + .2byte EC_WORD_CLOSE + .2byte EC_WORD_TO + .2byte EC_MOVE2(ERUPTION) .4byte gBattleFrontierTrainerMons_Corey @ 292 - .4byte TRAINER_CLASS_KINDLER + .4byte FACILITY_CLASS_KINDLER .string "ANDRE$", 8 @ pre-battle speech - ec_word NOW - ec_word THIS - ec_word IS - ec_word A - ec_word PERFECT - ec_word FLAME_BODY + .2byte EC_WORD_NOW + .2byte EC_WORD_THIS + .2byte EC_WORD_IS + .2byte EC_WORD_A + .2byte EC_WORD_PERFECT + .2byte EC_WORD_FLAME_BODY @ win speech - ec_word LOOK - ec_word AT - ec_word MY - ec_word FIERY - ec_word DANCE - ec_word EXCL + .2byte EC_WORD_LOOK + .2byte EC_WORD_AT + .2byte EC_WORD_MY + .2byte EC_WORD_FIERY + .2byte EC_WORD_DANCE + .2byte EC_WORD_EXCL @ loss speech - ec_word YOU - ec_word WANT - ec_word AN - ec_move2 EXPLOSION - ec_word HERE - ec_word QUES + .2byte EC_WORD_YOU + .2byte EC_WORD_WANT + .2byte EC_WORD_AN + .2byte EC_MOVE2(EXPLOSION) + .2byte EC_WORD_HERE + .2byte EC_WORD_QUES .4byte gBattleFrontierTrainerMons_Andre @ 293 - .4byte TRAINER_CLASS_KINDLER + .4byte FACILITY_CLASS_KINDLER .string "FERRIS$", 8 @ pre-battle speech - ec_word I_AM - ec_word NO_1 - ec_word IN - ec_word THE - ec_word OLD - ec_word CLASS + .2byte EC_WORD_I_AM + .2byte EC_WORD_NO_1 + .2byte EC_WORD_IN + .2byte EC_WORD_THE + .2byte EC_WORD_OLD + .2byte EC_WORD_CLASS @ win speech - ec_word NO_1 - ec_word THAT_S - ec_word WHAT - ec_word I_AM - ec_word EXCL + .2byte EC_WORD_NO_1 + .2byte EC_WORD_THAT_S + .2byte EC_WORD_WHAT + .2byte EC_WORD_I_AM + .2byte EC_WORD_EXCL .2byte -1 @ loss speech - ec_word I_AM - ec_word NOT - ec_word NO_1 - ec_word ANY - ec_word MORE - ec_word ELLIPSIS + .2byte EC_WORD_I_AM + .2byte EC_WORD_NOT + .2byte EC_WORD_NO_1 + .2byte EC_WORD_ANY + .2byte EC_WORD_MORE + .2byte EC_WORD_ELLIPSIS .4byte gBattleFrontierTrainerMons_Ferris @ 294 - .4byte TRAINER_CLASS_PARASOL_LADY + .4byte FACILITY_CLASS_PARASOL_LADY .string "ALIVIA$", 8 @ pre-battle speech - ec_word I_AM - ec_word FEELING - ec_word GIDDY - ec_word SO - ec_word SHOULD - ec_word YOU + .2byte EC_WORD_I_AM + .2byte EC_WORD_FEELING + .2byte EC_WORD_GIDDY + .2byte EC_WORD_SO + .2byte EC_WORD_SHOULD + .2byte EC_WORD_YOU @ win speech - ec_word IT - ec_word WAS - ec_word ALL - ec_word TOGETHER - ec_word TOO - ec_word EASY + .2byte EC_WORD_IT + .2byte EC_WORD_WAS + .2byte EC_WORD_ALL + .2byte EC_WORD_TOGETHER + .2byte EC_WORD_TOO + .2byte EC_WORD_EASY @ loss speech - ec_word I - ec_word WILL - ec_word GIDDY - ec_word UP - ec_word AND - ec_word AWAY + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_WORD_GIDDY + .2byte EC_WORD_UP + .2byte EC_WORD_AND + .2byte EC_WORD_AWAY .4byte gBattleFrontierTrainerMons_Alivia @ 295 - .4byte TRAINER_CLASS_PARASOL_LADY + .4byte FACILITY_CLASS_PARASOL_LADY .string "PAIGE$", 8 @ pre-battle speech - ec_word LET_S - ec_word ENJOY - ec_word OUR - ec_word BATTLE - ec_word TOGETHER + .2byte EC_WORD_LET_S + .2byte EC_WORD_ENJOY + .2byte EC_WORD_OUR + .2byte EC_WORD_BATTLE + .2byte EC_WORD_TOGETHER .2byte -1 @ win speech - ec_word THAT_S_IT_EXCL + .2byte EC_WORD_THAT_S_IT_EXCL .2byte -1 .2byte -1 - ec_word THANK_YOU - ec_word VERY - ec_word MUCH + .2byte EC_WORD_THANK_YOU + .2byte EC_WORD_VERY + .2byte EC_WORD_MUCH @ loss speech - ec_word THAT_S_IT_EXCL + .2byte EC_WORD_THAT_S_IT_EXCL .2byte -1 .2byte -1 - ec_word DO - ec_word GO - ec_word ON + .2byte EC_WORD_DO + .2byte EC_WORD_GO + .2byte EC_WORD_ON .4byte gBattleFrontierTrainerMons_Paige @ 296 - .4byte TRAINER_CLASS_BEAUTY + .4byte FACILITY_CLASS_BEAUTY .string "ANYA$", 8 @ pre-battle speech - ec_word I - ec_word DISLIKE - ec_word OH - ec_word SO - ec_word PRETTY - ec_word FASHION + .2byte EC_WORD_I + .2byte EC_WORD_DISLIKE + .2byte EC_WORD_OH + .2byte EC_WORD_SO + .2byte EC_WORD_PRETTY + .2byte EC_WORD_FASHION @ win speech - ec_word FASHION - ec_word SHOULD - ec_word MATCH - ec_word THE - ec_word PERSON + .2byte EC_WORD_FASHION + .2byte EC_WORD_SHOULD + .2byte EC_WORD_MATCH + .2byte EC_WORD_THE + .2byte EC_WORD_PERSON .2byte -1 @ loss speech - ec_word PRETTY - ec_word COULD - ec_word BE - ec_word GOOD + .2byte EC_WORD_PRETTY + .2byte EC_WORD_COULD + .2byte EC_WORD_BE + .2byte EC_WORD_GOOD .2byte -1 .2byte -1 .4byte gBattleFrontierTrainerMons_Anya @ 297 - .4byte TRAINER_CLASS_BEAUTY + .4byte FACILITY_CLASS_BEAUTY .string "DAWN$", 8 @ pre-battle speech - ec_word I - ec_word GO - ec_word ALL - ec_word OUT - ec_word EXCL + .2byte EC_WORD_I + .2byte EC_WORD_GO + .2byte EC_WORD_ALL + .2byte EC_WORD_OUT + .2byte EC_WORD_EXCL .2byte -1 @ win speech - ec_word DON_T - ec_word BE - ec_word A - ec_word BABY - ec_word EXCL + .2byte EC_WORD_DON_T + .2byte EC_WORD_BE + .2byte EC_WORD_A + .2byte EC_WORD_BABY + .2byte EC_WORD_EXCL .2byte -1 @ loss speech - ec_word YOU - ec_word WON - ec_word EXCL - ec_word MOVE - ec_word ON - ec_word EXCL + .2byte EC_WORD_YOU + .2byte EC_WORD_WON + .2byte EC_WORD_EXCL + .2byte EC_WORD_MOVE + .2byte EC_WORD_ON + .2byte EC_WORD_EXCL .4byte gBattleFrontierTrainerMons_Dawn @ 298 - .4byte TRAINER_CLASS_AROMA_LADY + .4byte FACILITY_CLASS_AROMA_LADY .string "ABBY$", 8 @ pre-battle speech - ec_word I - ec_word LIKE - ec_word A - ec_word TRAINER - ec_word THAT_S - ec_word REFRESHING + .2byte EC_WORD_I + .2byte EC_WORD_LIKE + .2byte EC_WORD_A + .2byte EC_WORD_TRAINER + .2byte EC_WORD_THAT_S + .2byte EC_WORD_REFRESHING @ win speech - ec_word VICTORY - ec_word HAS - ec_word A - ec_move1 SWEET_SCENT - ec_word EXCL + .2byte EC_WORD_VICTORY + .2byte EC_WORD_HAS + .2byte EC_WORD_A + .2byte EC_MOVE(SWEET_SCENT) + .2byte EC_WORD_EXCL .2byte -1 @ loss speech - ec_word WHAT - ec_word AN - ec_word AWFUL - ec_word STENCH - ec_word EXCL + .2byte EC_WORD_WHAT + .2byte EC_WORD_AN + .2byte EC_WORD_AWFUL + .2byte EC_WORD_STENCH + .2byte EC_WORD_EXCL .2byte -1 .4byte gBattleFrontierTrainerMons_Abby @ 299 - .4byte TRAINER_CLASS_AROMA_LADY + .4byte FACILITY_CLASS_AROMA_LADY .string "GRETEL$", 8 @ pre-battle speech - ec_word I - ec_word CAUSE - ec_move1 OUTRAGE - ec_word AS - ec_word A - ec_word TRAINER + .2byte EC_WORD_I + .2byte EC_WORD_CAUSE + .2byte EC_MOVE(OUTRAGE) + .2byte EC_WORD_AS + .2byte EC_WORD_A + .2byte EC_WORD_TRAINER @ win speech - ec_word IT_S - ec_word ONLY - ec_word NATURAL - ec_word SEE_YA - ec_word BYE_BYE - ec_word EXCL + .2byte EC_WORD_IT_S + .2byte EC_WORD_ONLY + .2byte EC_WORD_NATURAL + .2byte EC_WORD_SEE_YA + .2byte EC_WORD_BYE_BYE + .2byte EC_WORD_EXCL @ loss speech - ec_word IT_S - ec_word HARD - ec_word TO - ec_word BELIEVE - ec_word BUT - ec_word CONGRATS + .2byte EC_WORD_IT_S + .2byte EC_WORD_HARD + .2byte EC_WORD_TO + .2byte EC_WORD_BELIEVE + .2byte EC_WORD_BUT + .2byte EC_WORD_CONGRATS .4byte gBattleFrontierTrainerMons_Gretel diff --git a/data/battle_frontier/fallarbor_battle_tent_trainers.inc b/data/battle_frontier/fallarbor_battle_tent_trainers.inc index 049cca1adb..4975f0cd44 100644 --- a/data/battle_frontier/fallarbor_battle_tent_trainers.inc +++ b/data/battle_frontier/fallarbor_battle_tent_trainers.inc @@ -1,781 +1,781 @@ .align 2 gFallarborBattleTentTrainers:: @ 85DF084 @ 0 - .4byte TRAINER_CLASS_AROMA_LADY + .4byte FACILITY_CLASS_AROMA_LADY .string "AMBER$", 8 @ pre-battle speech - ec_word I - ec_word HAVE - ec_word TO - ec_word DIET - ec_word EVERY - ec_word DAY + .2byte EC_WORD_I + .2byte EC_WORD_HAVE + .2byte EC_WORD_TO + .2byte EC_WORD_DIET + .2byte EC_WORD_EVERY + .2byte EC_WORD_DAY @ win speech - ec_word A - ec_move1 NIGHTMARE - ec_word OF - ec_word SWEETS - ec_word SHOCKED - ec_word ME + .2byte EC_WORD_A + .2byte EC_MOVE(NIGHTMARE) + .2byte EC_WORD_OF + .2byte EC_WORD_SWEETS + .2byte EC_WORD_SHOCKED + .2byte EC_WORD_ME @ loss speech - ec_word IF - ec_word YOU - ec_word GIVE_UP - ec_word YOU - ec_word WILL - ec_word LOSE + .2byte EC_WORD_IF + .2byte EC_WORD_YOU + .2byte EC_WORD_GIVE_UP + .2byte EC_WORD_YOU + .2byte EC_WORD_WILL + .2byte EC_WORD_LOSE .4byte gFallarborBattleTentTrainerMons_Amber @ 1 - .4byte TRAINER_CLASS_RUIN_MANIAC + .4byte FACILITY_CLASS_RUIN_MANIAC .string "JAVIER$", 8 @ pre-battle speech - ec_word I - ec_word NEVER - ec_word EVER - ec_word HAVE - ec_word ENOUGH - ec_word MONEY + .2byte EC_WORD_I + .2byte EC_WORD_NEVER + .2byte EC_WORD_EVER + .2byte EC_WORD_HAVE + .2byte EC_WORD_ENOUGH + .2byte EC_WORD_MONEY @ win speech - ec_word I - ec_word WON - ec_word BUT - ec_word I - ec_word NEED - ec_word MONEY + .2byte EC_WORD_I + .2byte EC_WORD_WON + .2byte EC_WORD_BUT + .2byte EC_WORD_I + .2byte EC_WORD_NEED + .2byte EC_WORD_MONEY @ loss speech - ec_word I - ec_word NEED - ec_word MONEY - ec_word FOR - ec_word A - ec_word BIKE + .2byte EC_WORD_I + .2byte EC_WORD_NEED + .2byte EC_WORD_MONEY + .2byte EC_WORD_FOR + .2byte EC_WORD_A + .2byte EC_WORD_BIKE .4byte gFallarborBattleTentTrainerMons_Javier @ 2 - .4byte TRAINER_CLASS_TUBER_1 + .4byte FACILITY_CLASS_TUBER_1 .string "NATALIE$", 8 @ pre-battle speech - ec_word THE - ec_word WAY - ec_word I - ec_word BATTLE - ec_word IS - ec_word WEIRD + .2byte EC_WORD_THE + .2byte EC_WORD_WAY + .2byte EC_WORD_I + .2byte EC_WORD_BATTLE + .2byte EC_WORD_IS + .2byte EC_WORD_WEIRD @ win speech - ec_word YOU_RE - ec_word MUCH - ec_word TOO_WEAK - ec_word FOR - ec_word THIS - ec_word PLACE + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_MUCH + .2byte EC_WORD_TOO_WEAK + .2byte EC_WORD_FOR + .2byte EC_WORD_THIS + .2byte EC_WORD_PLACE @ loss speech - ec_word GIVE_ME - ec_word AN - ec_word EASY - ec_word MATCH - ec_word NEXT - ec_word TIME + .2byte EC_WORD_GIVE_ME + .2byte EC_WORD_AN + .2byte EC_WORD_EASY + .2byte EC_WORD_MATCH + .2byte EC_WORD_NEXT + .2byte EC_WORD_TIME .4byte gFallarborBattleTentTrainerMons_Natalie @ 3 - .4byte TRAINER_CLASS_TUBER_2 + .4byte FACILITY_CLASS_TUBER_2 .string "TREVE$", 8 @ pre-battle speech - ec_word LOOK - ec_word AT - ec_word MY - ec_move2 METRONOME - ec_word AND - ec_word SLEEP + .2byte EC_WORD_LOOK + .2byte EC_WORD_AT + .2byte EC_WORD_MY + .2byte EC_MOVE2(METRONOME) + .2byte EC_WORD_AND + .2byte EC_WORD_SLEEP @ win speech - ec_word YEAH - ec_word EXCL - ec_move1 HYPNOSIS - ec_word IS - ec_word TOTALLY - ec_word GREAT + .2byte EC_WORD_YEAH + .2byte EC_WORD_EXCL + .2byte EC_MOVE(HYPNOSIS) + .2byte EC_WORD_IS + .2byte EC_WORD_TOTALLY + .2byte EC_WORD_GREAT @ loss speech - ec_word MY - ec_move1 HYPNOSIS - ec_word DIDN_T - ec_word WORK - ec_word ELLIPSIS + .2byte EC_WORD_MY + .2byte EC_MOVE(HYPNOSIS) + .2byte EC_WORD_DIDN_T + .2byte EC_WORD_WORK + .2byte EC_WORD_ELLIPSIS .2byte -1 .4byte gFallarborBattleTentTrainerMons_Treve @ 4 - .4byte TRAINER_CLASS_LADY + .4byte FACILITY_CLASS_LADY .string "ARIANNA$", 8 @ pre-battle speech - ec_word IF_I_WIN - ec_word GIVE_ME - ec_word POKEMON - ec_word FOR - ec_word MY - ec_word COLLECTION + .2byte EC_WORD_IF_I_WIN + .2byte EC_WORD_GIVE_ME + .2byte EC_WORD_POKEMON + .2byte EC_WORD_FOR + .2byte EC_WORD_MY + .2byte EC_WORD_COLLECTION @ win speech - ec_word YOUR - ec_word POKEMON - ec_word ARE - ec_word TOO_WEAK - ec_word TO - ec_word COLLECT + .2byte EC_WORD_YOUR + .2byte EC_WORD_POKEMON + .2byte EC_WORD_ARE + .2byte EC_WORD_TOO_WEAK + .2byte EC_WORD_TO + .2byte EC_WORD_COLLECT @ loss speech - ec_word YOUR - ec_word POKEMON - ec_word ARE - ec_word SOMETHING - ec_word ELSE - ec_word ELLIPSIS + .2byte EC_WORD_YOUR + .2byte EC_WORD_POKEMON + .2byte EC_WORD_ARE + .2byte EC_WORD_SOMETHING + .2byte EC_WORD_ELSE + .2byte EC_WORD_ELLIPSIS .4byte gFallarborBattleTentTrainerMons_Arianna @ 5 - .4byte TRAINER_CLASS_BEAUTY + .4byte FACILITY_CLASS_BEAUTY .string "JADYN$", 8 @ pre-battle speech - ec_word MY - ec_word NAME - ec_word IS - ec_word REALLY - ec_word A - ec_word MYSTERY + .2byte EC_WORD_MY + .2byte EC_WORD_NAME + .2byte EC_WORD_IS + .2byte EC_WORD_REALLY + .2byte EC_WORD_A + .2byte EC_WORD_MYSTERY @ win speech - ec_word MY - ec_word NAME - ec_word GOES - ec_word ON - ec_word A - ec_word MYSTERY + .2byte EC_WORD_MY + .2byte EC_WORD_NAME + .2byte EC_WORD_GOES + .2byte EC_WORD_ON + .2byte EC_WORD_A + .2byte EC_WORD_MYSTERY @ loss speech - ec_word MY - ec_word NAME - ec_word QUES - ec_word I_AM - ec_word YOUR - ec_word MOTHER + .2byte EC_WORD_MY + .2byte EC_WORD_NAME + .2byte EC_WORD_QUES + .2byte EC_WORD_I_AM + .2byte EC_WORD_YOUR + .2byte EC_WORD_MOTHER .4byte gFallarborBattleTentTrainerMons_Jadyn @ 6 - .4byte TRAINER_CLASS_RICH_BOY + .4byte FACILITY_CLASS_RICH_BOY .string "GERARDO$", 8 @ pre-battle speech - ec_word I_AM - ec_word THE - ec_word BEST - ec_word HERO - ec_word EVER - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_THE + .2byte EC_WORD_BEST + .2byte EC_WORD_HERO + .2byte EC_WORD_EVER + .2byte EC_WORD_EXCL @ win speech - ec_word SEE - ec_word WHAT - ec_word I - ec_word MEAN - ec_word QUES + .2byte EC_WORD_SEE + .2byte EC_WORD_WHAT + .2byte EC_WORD_I + .2byte EC_WORD_MEAN + .2byte EC_WORD_QUES .2byte -1 @ loss speech - ec_word HUH_QUES - ec_word YOU - ec_word WERE - ec_word RIGHT - ec_word QUES + .2byte EC_WORD_HUH_QUES + .2byte EC_WORD_YOU + .2byte EC_WORD_WERE + .2byte EC_WORD_RIGHT + .2byte EC_WORD_QUES .2byte -1 .4byte gFallarborBattleTentTrainerMons_Gerardo @ 7 - .4byte TRAINER_CLASS_POKEMANIAC + .4byte FACILITY_CLASS_POKEMANIAC .string "JONN$", 8 @ pre-battle speech - ec_word THE - ec_word WORLD - ec_move2 SUPERPOWER - ec_move2 STOMP - ec_word CONTEST - ec_word EXCL_EXCL + .2byte EC_WORD_THE + .2byte EC_WORD_WORLD + .2byte EC_MOVE2(SUPERPOWER) + .2byte EC_MOVE2(STOMP) + .2byte EC_WORD_CONTEST + .2byte EC_WORD_EXCL_EXCL @ win speech - ec_word I_AM - ec_word NO_1 - ec_word EXCL_EXCL - ec_word HEAR - ec_word ME - ec_move2 ROAR + .2byte EC_WORD_I_AM + .2byte EC_WORD_NO_1 + .2byte EC_WORD_EXCL_EXCL + .2byte EC_WORD_HEAR + .2byte EC_WORD_ME + .2byte EC_MOVE2(ROAR) @ loss speech - ec_word I - ec_word GIVE_UP - ec_word EXCL - ec_word YOU_RE - ec_word NO_1 - ec_word EXCL + .2byte EC_WORD_I + .2byte EC_WORD_GIVE_UP + .2byte EC_WORD_EXCL + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_NO_1 + .2byte EC_WORD_EXCL .4byte gFallarborBattleTentTrainerMons_Jonn @ 8 - .4byte TRAINER_CLASS_SWIMMER_M + .4byte FACILITY_CLASS_SWIMMER_M .string "ESTEBAN$", 8 @ pre-battle speech - ec_word YOU_RE - ec_word A - ec_word GOOD - ec_word TRAINER - ec_word QUES - ec_word UNBELIEVABLE + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_A + .2byte EC_WORD_GOOD + .2byte EC_WORD_TRAINER + .2byte EC_WORD_QUES + .2byte EC_WORD_UNBELIEVABLE @ win speech - ec_word YOU_RE - ec_word SOME - ec_word PUSHOVER - ec_word OF - ec_word A - ec_word TRAINER + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_SOME + .2byte EC_WORD_PUSHOVER + .2byte EC_WORD_OF + .2byte EC_WORD_A + .2byte EC_WORD_TRAINER @ loss speech - ec_word YOU_RE - ec_word MUCH - ec_word TOO - ec_word MUCH - ec_word FOR - ec_word ME + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_MUCH + .2byte EC_WORD_TOO + .2byte EC_WORD_MUCH + .2byte EC_WORD_FOR + .2byte EC_WORD_ME .4byte gFallarborBattleTentTrainerMons_Esteban @ 9 - .4byte TRAINER_CLASS_CAMPER + .4byte FACILITY_CLASS_CAMPER .string "JAMESON$", 8 @ pre-battle speech - ec_word MY - ec_word POKEMON - ec_word ARE - ec_word SILKY - ec_word SMOOTH - ec_word EXCL + .2byte EC_WORD_MY + .2byte EC_WORD_POKEMON + .2byte EC_WORD_ARE + .2byte EC_WORD_SILKY + .2byte EC_WORD_SMOOTH + .2byte EC_WORD_EXCL @ win speech - ec_word MY - ec_word SILKY - ec_word SMOOTH - ec_word POKEMON - ec_word RULE - ec_word EXCL + .2byte EC_WORD_MY + .2byte EC_WORD_SILKY + .2byte EC_WORD_SMOOTH + .2byte EC_WORD_POKEMON + .2byte EC_WORD_RULE + .2byte EC_WORD_EXCL @ loss speech - ec_word MY - ec_word POKEMON - ec_move2 STRUGGLE - ec_word IN - ec_word YOUR - ec_word STICKY_HOLD + .2byte EC_WORD_MY + .2byte EC_WORD_POKEMON + .2byte EC_MOVE2(STRUGGLE) + .2byte EC_WORD_IN + .2byte EC_WORD_YOUR + .2byte EC_WORD_STICKY_HOLD .4byte gFallarborBattleTentTrainerMons_Jameson @ 10 - .4byte TRAINER_CLASS_BUG_MANIAC + .4byte FACILITY_CLASS_BUG_MANIAC .string "ALANZO$", 8 @ pre-battle speech - ec_move2 FORESIGHT - ec_word IS - ec_word A - ec_word POWER - ec_word I - ec_word HAVE + .2byte EC_MOVE2(FORESIGHT) + .2byte EC_WORD_IS + .2byte EC_WORD_A + .2byte EC_WORD_POWER + .2byte EC_WORD_I + .2byte EC_WORD_HAVE @ win speech - ec_word YOU_RE - ec_word OBLIVIOUS - ec_word ABOUT - ec_move2 FORESIGHT - ec_word EXCL + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_OBLIVIOUS + .2byte EC_WORD_ABOUT + .2byte EC_MOVE2(FORESIGHT) + .2byte EC_WORD_EXCL .2byte -1 @ loss speech - ec_word MY - ec_move2 FORESIGHT - ec_word IS - ec_word ALWAYS - ec_word RIGHT - ec_word EXCL + .2byte EC_WORD_MY + .2byte EC_MOVE2(FORESIGHT) + .2byte EC_WORD_IS + .2byte EC_WORD_ALWAYS + .2byte EC_WORD_RIGHT + .2byte EC_WORD_EXCL .4byte gFallarborBattleTentTrainerMons_Alanzo @ 11 - .4byte TRAINER_CLASS_GENTLEMAN + .4byte FACILITY_CLASS_GENTLEMAN .string "HOWARD$", 8 @ pre-battle speech - ec_word YOUR - ec_word POKEMON - ec_word CAN_T - ec_word BEAT - ec_word ME + .2byte EC_WORD_YOUR + .2byte EC_WORD_POKEMON + .2byte EC_WORD_CAN_T + .2byte EC_WORD_BEAT + .2byte EC_WORD_ME .2byte -1 @ win speech - ec_word YOU - ec_word COULDN_T - ec_word WIN - ec_word COULD - ec_word YOU - ec_word QUES + .2byte EC_WORD_YOU + .2byte EC_WORD_COULDN_T + .2byte EC_WORD_WIN + .2byte EC_WORD_COULD + .2byte EC_WORD_YOU + .2byte EC_WORD_QUES @ loss speech - ec_word YOU - ec_word WOULD - ec_word GO - ec_word ALL - ec_word OUT - ec_word ELLIPSIS + .2byte EC_WORD_YOU + .2byte EC_WORD_WOULD + .2byte EC_WORD_GO + .2byte EC_WORD_ALL + .2byte EC_WORD_OUT + .2byte EC_WORD_ELLIPSIS .4byte gFallarborBattleTentTrainerMons_Howard @ 12 - .4byte TRAINER_CLASS_GUITARIST + .4byte FACILITY_CLASS_GUITARIST .string "CONRAD$", 8 @ pre-battle speech - ec_word YOUR - ec_word POKEMON - ec_word ARE - ec_word PRETTY - ec_word WILD - ec_word EXCL + .2byte EC_WORD_YOUR + .2byte EC_WORD_POKEMON + .2byte EC_WORD_ARE + .2byte EC_WORD_PRETTY + .2byte EC_WORD_WILD + .2byte EC_WORD_EXCL @ win speech - ec_word WHOAH - ec_word EXCL_EXCL + .2byte EC_WORD_WHOAH + .2byte EC_WORD_EXCL_EXCL .2byte -1 - ec_word LET_S - ec_word DANCE - ec_word EXCL + .2byte EC_WORD_LET_S + .2byte EC_WORD_DANCE + .2byte EC_WORD_EXCL @ loss speech - ec_word MY - ec_word MUSIC - ec_word WILL - ec_word PLAY - ec_word ON - ec_word ELLIPSIS + .2byte EC_WORD_MY + .2byte EC_WORD_MUSIC + .2byte EC_WORD_WILL + .2byte EC_WORD_PLAY + .2byte EC_WORD_ON + .2byte EC_WORD_ELLIPSIS .4byte gFallarborBattleTentTrainerMons_Conrad @ 13 - .4byte TRAINER_CLASS_SCHOOL_KID_2 + .4byte FACILITY_CLASS_SCHOOL_KID_2 .string "MAKENNA$", 8 @ pre-battle speech - ec_word SHOW - ec_word ME - ec_word THAT - ec_word YOU - ec_word MEAN - ec_word IT + .2byte EC_WORD_SHOW + .2byte EC_WORD_ME + .2byte EC_WORD_THAT + .2byte EC_WORD_YOU + .2byte EC_WORD_MEAN + .2byte EC_WORD_IT @ win speech - ec_word THAT_S - ec_word WHY - ec_word I - ec_word STUDY - ec_word EVERY - ec_word DAY + .2byte EC_WORD_THAT_S + .2byte EC_WORD_WHY + .2byte EC_WORD_I + .2byte EC_WORD_STUDY + .2byte EC_WORD_EVERY + .2byte EC_WORD_DAY @ loss speech - ec_word AWW - ec_word I - ec_word STUDY - ec_word EVERY - ec_word DAY - ec_word TOO + .2byte EC_WORD_AWW + .2byte EC_WORD_I + .2byte EC_WORD_STUDY + .2byte EC_WORD_EVERY + .2byte EC_WORD_DAY + .2byte EC_WORD_TOO .4byte gFallarborBattleTentTrainerMons_Makenna @ 14 - .4byte TRAINER_CLASS_COOLTRAINER_1 + .4byte FACILITY_CLASS_COOLTRAINER_1 .string "BRAYAN$", 8 @ pre-battle speech - ec_word CAN - ec_word YOU - ec_word SEE - ec_word MY - ec_word POWER - ec_word QUES + .2byte EC_WORD_CAN + .2byte EC_WORD_YOU + .2byte EC_WORD_SEE + .2byte EC_WORD_MY + .2byte EC_WORD_POWER + .2byte EC_WORD_QUES @ win speech - ec_word HOW - ec_word BORING - ec_word ELLIPSIS - ec_word THIS - ec_word IS - ec_word GOOD_BYE + .2byte EC_WORD_HOW + .2byte EC_WORD_BORING + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_THIS + .2byte EC_WORD_IS + .2byte EC_WORD_GOOD_BYE @ loss speech - ec_word AM - ec_word I - ec_word THE - ec_word WEAK - ec_word TRAINER - ec_word QUES + .2byte EC_WORD_AM + .2byte EC_WORD_I + .2byte EC_WORD_THE + .2byte EC_WORD_WEAK + .2byte EC_WORD_TRAINER + .2byte EC_WORD_QUES .4byte gFallarborBattleTentTrainerMons_Brayan @ 15 - .4byte TRAINER_CLASS_COOLTRAINER_2 + .4byte FACILITY_CLASS_COOLTRAINER_2 .string "MARIANA$", 8 @ pre-battle speech - ec_word A - ec_word LIE - ec_word CAN - ec_word BE - ec_word KIND - ec_word ELLIPSIS + .2byte EC_WORD_A + .2byte EC_WORD_LIE + .2byte EC_WORD_CAN + .2byte EC_WORD_BE + .2byte EC_WORD_KIND + .2byte EC_WORD_ELLIPSIS @ win speech - ec_word THIS - ec_word IS - ec_word LIKE - ec_word THE - ec_word SUNDAY - ec_word COMICS + .2byte EC_WORD_THIS + .2byte EC_WORD_IS + .2byte EC_WORD_LIKE + .2byte EC_WORD_THE + .2byte EC_WORD_SUNDAY + .2byte EC_WORD_COMICS @ loss speech - ec_word THIS - ec_word IS - ec_word LIKE - ec_word FROM - ec_word A - ec_word MOVIE + .2byte EC_WORD_THIS + .2byte EC_WORD_IS + .2byte EC_WORD_LIKE + .2byte EC_WORD_FROM + .2byte EC_WORD_A + .2byte EC_WORD_MOVIE .4byte gFallarborBattleTentTrainerMons_Mariana @ 16 - .4byte TRAINER_CLASS_POKEFAN_1 + .4byte FACILITY_CLASS_POKEFAN_1 .string "SHELDON$", 8 @ pre-battle speech - ec_word A - ec_word POKEMON - ec_word TEACHER - ec_word GETS - ec_word NO - ec_move2 REST + .2byte EC_WORD_A + .2byte EC_WORD_POKEMON + .2byte EC_WORD_TEACHER + .2byte EC_WORD_GETS + .2byte EC_WORD_NO + .2byte EC_MOVE2(REST) @ win speech - ec_word MY - ec_word SMARTNESS - ec_word GETS - ec_word ME - ec_word EASY - ec_word WINS + .2byte EC_WORD_MY + .2byte EC_WORD_SMARTNESS + .2byte EC_WORD_GETS + .2byte EC_WORD_ME + .2byte EC_WORD_EASY + .2byte EC_WORD_WINS @ loss speech - ec_word I - ec_word HAVE - ec_word TO - ec_word GO - ec_word WORK - ec_word BYE_BYE + .2byte EC_WORD_I + .2byte EC_WORD_HAVE + .2byte EC_WORD_TO + .2byte EC_WORD_GO + .2byte EC_WORD_WORK + .2byte EC_WORD_BYE_BYE .4byte gFallarborBattleTentTrainerMons_Sheldon @ 17 - .4byte TRAINER_CLASS_POKEFAN_2 + .4byte FACILITY_CLASS_POKEFAN_2 .string "GIANNA$", 8 @ pre-battle speech - ec_word AHAHA - ec_word YES - ec_word EXCL - ec_word LOVEY_DOVEY - ec_word POKEMON - ec_word WORLD + .2byte EC_WORD_AHAHA + .2byte EC_WORD_YES + .2byte EC_WORD_EXCL + .2byte EC_WORD_LOVEY_DOVEY + .2byte EC_WORD_POKEMON + .2byte EC_WORD_WORLD @ win speech - ec_word MY - ec_word SHINE - ec_word IS - ec_word MAKING - ec_word THINGS - ec_word BETTER + .2byte EC_WORD_MY + .2byte EC_WORD_SHINE + .2byte EC_WORD_IS + .2byte EC_WORD_MAKING + .2byte EC_WORD_THINGS + .2byte EC_WORD_BETTER @ loss speech - ec_word DO - ec_word YOU - ec_word DISLIKE - ec_word POKEMON - ec_word QUES + .2byte EC_WORD_DO + .2byte EC_WORD_YOU + .2byte EC_WORD_DISLIKE + .2byte EC_WORD_POKEMON + .2byte EC_WORD_QUES .2byte -1 .4byte gFallarborBattleTentTrainerMons_Gianna @ 18 - .4byte TRAINER_CLASS_EXPERT_1 + .4byte FACILITY_CLASS_EXPERT_1 .string "YAHIR$", 8 @ pre-battle speech - ec_word YOU - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word COME_ON - ec_word EXCL + .2byte EC_WORD_YOU + .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS + .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS + .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS + .2byte EC_WORD_COME_ON + .2byte EC_WORD_EXCL @ win speech - ec_word YOU - ec_word NEED - ec_word TO - ec_word TRAIN - ec_word A_LOT - ec_word MORE + .2byte EC_WORD_YOU + .2byte EC_WORD_NEED + .2byte EC_WORD_TO + .2byte EC_WORD_TRAIN + .2byte EC_WORD_A_LOT + .2byte EC_WORD_MORE @ loss speech - ec_word NOT - ec_word ENOUGH - ec_word ELLIPSIS - ec_word JUST - ec_word NOT - ec_word ENOUGH + .2byte EC_WORD_NOT + .2byte EC_WORD_ENOUGH + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_JUST + .2byte EC_WORD_NOT + .2byte EC_WORD_ENOUGH .4byte gFallarborBattleTentTrainerMons_Yahir @ 19 - .4byte TRAINER_CLASS_EXPERT_2 + .4byte FACILITY_CLASS_EXPERT_2 .string "BRITNEY$", 8 @ pre-battle speech - ec_word IT - ec_word SEEMS - ec_word THAT - ec_word YOU_RE - ec_word QUITE - ec_word GOOD + .2byte EC_WORD_IT + .2byte EC_WORD_SEEMS + .2byte EC_WORD_THAT + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_QUITE + .2byte EC_WORD_GOOD @ win speech - ec_word YOU_RE - ec_word A - ec_word LUKEWARM - ec_word TALENT - ec_word AT - ec_word BEST + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_A + .2byte EC_WORD_LUKEWARM + .2byte EC_WORD_TALENT + .2byte EC_WORD_AT + .2byte EC_WORD_BEST @ loss speech - ec_word YOU_RE - ec_word A - ec_word COOL - ec_word HERO - ec_word AT - ec_word THIS + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_A + .2byte EC_WORD_COOL + .2byte EC_WORD_HERO + .2byte EC_WORD_AT + .2byte EC_WORD_THIS .4byte gFallarborBattleTentTrainerMons_Britney @ 20 - .4byte TRAINER_CLASS_YOUNGSTER + .4byte FACILITY_CLASS_YOUNGSTER .string "HECTER$", 8 @ pre-battle speech - ec_word MY - ec_move2 HIDDEN_POWER - ec_word IS - ec_word EXCITING - ec_word ME - ec_word EXCL + .2byte EC_WORD_MY + .2byte EC_MOVE2(HIDDEN_POWER) + .2byte EC_WORD_IS + .2byte EC_WORD_EXCITING + .2byte EC_WORD_ME + .2byte EC_WORD_EXCL @ win speech - ec_word YEEHAW_EXCL - ec_word LET_S - ec_word HAVE - ec_word A - ec_move2 HIDDEN_POWER - ec_word PARTY + .2byte EC_WORD_YEEHAW_EXCL + .2byte EC_WORD_LET_S + .2byte EC_WORD_HAVE + .2byte EC_WORD_A + .2byte EC_MOVE2(HIDDEN_POWER) + .2byte EC_WORD_PARTY @ loss speech - ec_word WAAAH - ec_word EXCL - ec_word DON_T - ec_word YOU - ec_move2 MIMIC - ec_word ME + .2byte EC_WORD_WAAAH + .2byte EC_WORD_EXCL + .2byte EC_WORD_DON_T + .2byte EC_WORD_YOU + .2byte EC_MOVE2(MIMIC) + .2byte EC_WORD_ME .4byte gFallarborBattleTentTrainerMons_Hecter @ 21 - .4byte TRAINER_CLASS_FISHERMAN + .4byte FACILITY_CLASS_FISHERMAN .string "TANNOR$", 8 @ pre-battle speech - ec_word YOU - ec_word HAVE - ec_word GOT - ec_word TO - ec_word BE - ec_word JOKING + .2byte EC_WORD_YOU + .2byte EC_WORD_HAVE + .2byte EC_WORD_GOT + .2byte EC_WORD_TO + .2byte EC_WORD_BE + .2byte EC_WORD_JOKING @ win speech - ec_word YOU_RE - ec_word THE - ec_word BEST - ec_word AT - ec_word BEING - ec_word FUNNY + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_THE + .2byte EC_WORD_BEST + .2byte EC_WORD_AT + .2byte EC_WORD_BEING + .2byte EC_WORD_FUNNY @ loss speech - ec_word YOU - ec_word WEREN_T - ec_word BEING - ec_word FUNNY - ec_word AT - ec_word ALL + .2byte EC_WORD_YOU + .2byte EC_WORD_WEREN_T + .2byte EC_WORD_BEING + .2byte EC_WORD_FUNNY + .2byte EC_WORD_AT + .2byte EC_WORD_ALL .4byte gFallarborBattleTentTrainerMons_Tannor @ 22 - .4byte TRAINER_CLASS_BIRD_KEEPER + .4byte FACILITY_CLASS_BIRD_KEEPER .string "BENJI$", 8 @ pre-battle speech - ec_word YOU - ec_word DON_T - ec_word THINK - ec_word VERY - ec_word FAST - ec_word HUH_QUES + .2byte EC_WORD_YOU + .2byte EC_WORD_DON_T + .2byte EC_WORD_THINK + .2byte EC_WORD_VERY + .2byte EC_WORD_FAST + .2byte EC_WORD_HUH_QUES @ win speech - ec_word SORRY - ec_word EXCL - ec_word I - ec_word DIDN_T - ec_word MEAN - ec_word YOU + .2byte EC_WORD_SORRY + .2byte EC_WORD_EXCL + .2byte EC_WORD_I + .2byte EC_WORD_DIDN_T + .2byte EC_WORD_MEAN + .2byte EC_WORD_YOU @ loss speech - ec_word YOU - ec_word LEFT - ec_word ME - ec_word FEELING - ec_word SAD - ec_word ELLIPSIS + .2byte EC_WORD_YOU + .2byte EC_WORD_LEFT + .2byte EC_WORD_ME + .2byte EC_WORD_FEELING + .2byte EC_WORD_SAD + .2byte EC_WORD_ELLIPSIS .4byte gFallarborBattleTentTrainerMons_Benji @ 23 - .4byte TRAINER_CLASS_NINJA_BOY + .4byte FACILITY_CLASS_NINJA_BOY .string "RORY$", 8 @ pre-battle speech - ec_word DON_T - ec_word CAUSE - ec_word AN - ec_move1 UPROAR - ec_word YOU - ec_word EXCL + .2byte EC_WORD_DON_T + .2byte EC_WORD_CAUSE + .2byte EC_WORD_AN + .2byte EC_MOVE(UPROAR) + .2byte EC_WORD_YOU + .2byte EC_WORD_EXCL @ win speech - ec_word I - ec_word DON_T - ec_word NEED - ec_word AN - ec_move1 UPROAR - ec_word EXCL + .2byte EC_WORD_I + .2byte EC_WORD_DON_T + .2byte EC_WORD_NEED + .2byte EC_WORD_AN + .2byte EC_MOVE(UPROAR) + .2byte EC_WORD_EXCL @ loss speech - ec_word I_AM - ec_word GOING - ec_word TO - ec_word CAUSE - ec_word AN - ec_move1 UPROAR + .2byte EC_WORD_I_AM + .2byte EC_WORD_GOING + .2byte EC_WORD_TO + .2byte EC_WORD_CAUSE + .2byte EC_WORD_AN + .2byte EC_MOVE(UPROAR) .4byte gFallarborBattleTentTrainerMons_Rory @ 24 - .4byte TRAINER_CLASS_PARASOL_LADY + .4byte FACILITY_CLASS_PARASOL_LADY .string "ELEANOR$", 8 @ pre-battle speech - ec_word I - ec_word REALLY - ec_word WANT - ec_word TO - ec_word PARTY + .2byte EC_WORD_I + .2byte EC_WORD_REALLY + .2byte EC_WORD_WANT + .2byte EC_WORD_TO + .2byte EC_WORD_PARTY .2byte -1 @ win speech - ec_word A - ec_word TRENDY - ec_word PARTY - ec_word WOULD - ec_word BE - ec_word REFRESHING + .2byte EC_WORD_A + .2byte EC_WORD_TRENDY + .2byte EC_WORD_PARTY + .2byte EC_WORD_WOULD + .2byte EC_WORD_BE + .2byte EC_WORD_REFRESHING @ loss speech - ec_word DON_T - ec_word YOU - ec_word LIKE - ec_word TO - ec_word PARTY - ec_word QUES + .2byte EC_WORD_DON_T + .2byte EC_WORD_YOU + .2byte EC_WORD_LIKE + .2byte EC_WORD_TO + .2byte EC_WORD_PARTY + .2byte EC_WORD_QUES .4byte gFallarborBattleTentTrainerMons_Eleanor @ 25 - .4byte TRAINER_CLASS_SWIMMER_F + .4byte FACILITY_CLASS_SWIMMER_F .string "EVELYN$", 8 @ pre-battle speech - ec_word MY - ec_word PC - ec_word IS - ec_word MY - ec_word SECRET_BASE - ec_word EXCL + .2byte EC_WORD_MY + .2byte EC_WORD_PC + .2byte EC_WORD_IS + .2byte EC_WORD_MY + .2byte EC_WORD_SECRET_BASE + .2byte EC_WORD_EXCL @ win speech - ec_word IT_S - ec_word ALL - ec_word SECRET - ec_word ON - ec_word MY - ec_word PC + .2byte EC_WORD_IT_S + .2byte EC_WORD_ALL + .2byte EC_WORD_SECRET + .2byte EC_WORD_ON + .2byte EC_WORD_MY + .2byte EC_WORD_PC @ loss speech - ec_word NO - ec_word EXCL + .2byte EC_WORD_NO + .2byte EC_WORD_EXCL .2byte -1 - ec_word I - ec_word REJECT - ec_word THIS + .2byte EC_WORD_I + .2byte EC_WORD_REJECT + .2byte EC_WORD_THIS .4byte gFallarborBattleTentTrainerMons_Evelyn @ 26 - .4byte TRAINER_CLASS_PICNICKER + .4byte FACILITY_CLASS_PICNICKER .string "ARIELLE$", 8 @ pre-battle speech - ec_word IT_S - ec_word NOT_VERY - ec_word PRETTY - ec_word BUT - ec_word I - ec_word TRY + .2byte EC_WORD_IT_S + .2byte EC_WORD_NOT_VERY + .2byte EC_WORD_PRETTY + .2byte EC_WORD_BUT + .2byte EC_WORD_I + .2byte EC_WORD_TRY @ win speech - ec_word WE_RE - ec_word NOT_VERY - ec_word PRETTY - ec_word BUT - ec_word WE_RE - ec_word GREAT + .2byte EC_WORD_WE_RE + .2byte EC_WORD_NOT_VERY + .2byte EC_WORD_PRETTY + .2byte EC_WORD_BUT + .2byte EC_WORD_WE_RE + .2byte EC_WORD_GREAT @ loss speech - ec_word THAT_WAS - ec_word PRETTY - ec_word MEAN - ec_word OF - ec_word YOU - ec_word EXCL + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_PRETTY + .2byte EC_WORD_MEAN + .2byte EC_WORD_OF + .2byte EC_WORD_YOU + .2byte EC_WORD_EXCL .4byte gFallarborBattleTentTrainerMons_Arielle @ 27 - .4byte TRAINER_CLASS_SAILOR + .4byte FACILITY_CLASS_SAILOR .string "CONNAR$", 8 @ pre-battle speech - ec_word I_AM - ec_word NOT - ec_word STRONG - ec_word ENOUGH - ec_word FOR - ec_word THIS + .2byte EC_WORD_I_AM + .2byte EC_WORD_NOT + .2byte EC_WORD_STRONG + .2byte EC_WORD_ENOUGH + .2byte EC_WORD_FOR + .2byte EC_WORD_THIS @ win speech - ec_word DO - ec_word YOU - ec_word THINK - ec_word YOU_RE - ec_word OK_QUES + .2byte EC_WORD_DO + .2byte EC_WORD_YOU + .2byte EC_WORD_THINK + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_OK_QUES .2byte -1 @ loss speech - ec_word GOOD_BYE - ec_word AND - ec_word THANK_YOU + .2byte EC_WORD_GOOD_BYE + .2byte EC_WORD_AND + .2byte EC_WORD_THANK_YOU .2byte -1 .2byte -1 .2byte -1 .4byte gFallarborBattleTentTrainerMons_Connar @ 28 - .4byte TRAINER_CLASS_COLLECTOR + .4byte FACILITY_CLASS_COLLECTOR .string "MAURICE$", 8 @ pre-battle speech - ec_word THERE - ec_word IS - ec_word NO - ec_word RADIO - ec_word OR - ec_word TELEVISION + .2byte EC_WORD_THERE + .2byte EC_WORD_IS + .2byte EC_WORD_NO + .2byte EC_WORD_RADIO + .2byte EC_WORD_OR + .2byte EC_WORD_TELEVISION @ win speech - ec_word BUT - ec_word THERE - ec_word IS - ec_word A_LOT - ec_word OF - ec_word POKEMON + .2byte EC_WORD_BUT + .2byte EC_WORD_THERE + .2byte EC_WORD_IS + .2byte EC_WORD_A_LOT + .2byte EC_WORD_OF + .2byte EC_WORD_POKEMON @ loss speech - ec_word I - ec_word CAN_T - ec_word ENJOY - ec_word MYSELF - ec_word WITHOUT - ec_word MONEY + .2byte EC_WORD_I + .2byte EC_WORD_CAN_T + .2byte EC_WORD_ENJOY + .2byte EC_WORD_MYSELF + .2byte EC_WORD_WITHOUT + .2byte EC_WORD_MONEY .4byte gFallarborBattleTentTrainerMons_Maurice @ 29 - .4byte TRAINER_CLASS_LASS + .4byte FACILITY_CLASS_LASS .string "KIANNA$", 8 @ pre-battle speech - ec_word I - ec_word WANT - ec_word TO - ec_word GO - ec_word DEPT_STORE - ec_word SHOPPING + .2byte EC_WORD_I + .2byte EC_WORD_WANT + .2byte EC_WORD_TO + .2byte EC_WORD_GO + .2byte EC_WORD_DEPT_STORE + .2byte EC_WORD_SHOPPING @ win speech - ec_word I - ec_word DISLIKE - ec_word SHOPPING - ec_word ALONE + .2byte EC_WORD_I + .2byte EC_WORD_DISLIKE + .2byte EC_WORD_SHOPPING + .2byte EC_WORD_ALONE .2byte -1 .2byte -1 @ loss speech - ec_word WANT - ec_word TO - ec_word GO - ec_word SHOPPING - ec_word TOGETHER - ec_word QUES + .2byte EC_WORD_WANT + .2byte EC_WORD_TO + .2byte EC_WORD_GO + .2byte EC_WORD_SHOPPING + .2byte EC_WORD_TOGETHER + .2byte EC_WORD_QUES .4byte gFallarborBattleTentTrainerMons_Kianna diff --git a/data/battle_frontier/slateport_battle_tent_trainers.inc b/data/battle_frontier/slateport_battle_tent_trainers.inc index 00b874c071..6fdd852159 100644 --- a/data/battle_frontier/slateport_battle_tent_trainers.inc +++ b/data/battle_frontier/slateport_battle_tent_trainers.inc @@ -1,648 +1,648 @@ .align 2 gSlateportBattleTentTrainers:: @ 85DDA14 @ 0 - .4byte TRAINER_CLASS_AROMA_LADY + .4byte FACILITY_CLASS_AROMA_LADY .string "JOLIE$", 8 @ pre-battle speech - ec_word WHAT - ec_word WILL - ec_word I - ec_word BE - ec_word TOMORROW - ec_word QUES + .2byte EC_WORD_WHAT + .2byte EC_WORD_WILL + .2byte EC_WORD_I + .2byte EC_WORD_BE + .2byte EC_WORD_TOMORROW + .2byte EC_WORD_QUES @ win speech - ec_word I_AM - ec_word FEELING - ec_word LIKE - ec_word IT_S - ec_word FRIDAY - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_FEELING + .2byte EC_WORD_LIKE + .2byte EC_WORD_IT_S + .2byte EC_WORD_FRIDAY + .2byte EC_WORD_EXCL @ loss speech - ec_word I_AM - ec_word FEELING - ec_word LIKE - ec_word IT_S - ec_word MONDAY - ec_word ELLIPSIS + .2byte EC_WORD_I_AM + .2byte EC_WORD_FEELING + .2byte EC_WORD_LIKE + .2byte EC_WORD_IT_S + .2byte EC_WORD_MONDAY + .2byte EC_WORD_ELLIPSIS .4byte gSlateportBattleTentTrainerMons_Jolie @ 1 - .4byte TRAINER_CLASS_RUIN_MANIAC + .4byte FACILITY_CLASS_RUIN_MANIAC .string "MALACHI$", 8 @ pre-battle speech - ec_word BAD - ec_word NEWS - ec_word EXCL - ec_word IT_S - ec_word A - ec_move1 SAND_TOMB + .2byte EC_WORD_BAD + .2byte EC_WORD_NEWS + .2byte EC_WORD_EXCL + .2byte EC_WORD_IT_S + .2byte EC_WORD_A + .2byte EC_MOVE(SAND_TOMB) @ win speech - ec_word YEEHAW_EXCL + .2byte EC_WORD_YEEHAW_EXCL .2byte -1 .2byte -1 - ec_word I_VE - ec_word DONE - ec_word IT + .2byte EC_WORD_I_VE + .2byte EC_WORD_DONE + .2byte EC_WORD_IT @ loss speech - ec_word I_VE - ec_word LOST - ec_word IN - ec_word THIS - ec_move1 SAND_TOMB - ec_word ELLIPSIS + .2byte EC_WORD_I_VE + .2byte EC_WORD_LOST + .2byte EC_WORD_IN + .2byte EC_WORD_THIS + .2byte EC_MOVE(SAND_TOMB) + .2byte EC_WORD_ELLIPSIS .4byte gSlateportBattleTentTrainerMons_Malachi @ 2 - .4byte TRAINER_CLASS_TUBER_1 + .4byte FACILITY_CLASS_TUBER_1 .string "KELSIE$", 8 @ pre-battle speech - ec_word GO - ec_word EXCL_EXCL - ec_word MY - ec_word BATH - ec_word POKEMON - ec_word EXCL_EXCL + .2byte EC_WORD_GO + .2byte EC_WORD_EXCL_EXCL + .2byte EC_WORD_MY + .2byte EC_WORD_BATH + .2byte EC_WORD_POKEMON + .2byte EC_WORD_EXCL_EXCL @ win speech - ec_word YAHOO - ec_word EXCL_EXCL - ec_word MY - ec_word BATH - ec_word POKEMON - ec_word EXCL_EXCL + .2byte EC_WORD_YAHOO + .2byte EC_WORD_EXCL_EXCL + .2byte EC_WORD_MY + .2byte EC_WORD_BATH + .2byte EC_WORD_POKEMON + .2byte EC_WORD_EXCL_EXCL @ loss speech - ec_word GWAH - ec_word EXCL_EXCL - ec_word MY - ec_word BATH - ec_word POKEMON - ec_word EXCL_EXCL + .2byte EC_WORD_GWAH + .2byte EC_WORD_EXCL_EXCL + .2byte EC_WORD_MY + .2byte EC_WORD_BATH + .2byte EC_WORD_POKEMON + .2byte EC_WORD_EXCL_EXCL .4byte gSlateportBattleTentTrainerMons_Kelsie @ 3 - .4byte TRAINER_CLASS_TUBER_2 + .4byte FACILITY_CLASS_TUBER_2 .string "DAVON$", 8 @ pre-battle speech - ec_word YEAH_YEAH - ec_word EXCL_EXCL + .2byte EC_WORD_YEAH_YEAH + .2byte EC_WORD_EXCL_EXCL .2byte -1 - ec_word GREAT - ec_move1 WHIRLPOOL - ec_word ISN_T_IT_QUES + .2byte EC_WORD_GREAT + .2byte EC_MOVE(WHIRLPOOL) + .2byte EC_WORD_ISN_T_IT_QUES @ win speech - ec_word THAT_WAS - ec_word LIKE - ec_word A - ec_move1 WHIRLPOOL - ec_word YEAH_YEAH - ec_word EXCL_EXCL + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_LIKE + .2byte EC_WORD_A + .2byte EC_MOVE(WHIRLPOOL) + .2byte EC_WORD_YEAH_YEAH + .2byte EC_WORD_EXCL_EXCL @ loss speech - ec_word DON_T - ec_word GET - ec_move2 BEAT_UP - ec_word IN - ec_word THAT - ec_move1 WHIRLPOOL + .2byte EC_WORD_DON_T + .2byte EC_WORD_GET + .2byte EC_MOVE2(BEAT_UP) + .2byte EC_WORD_IN + .2byte EC_WORD_THAT + .2byte EC_MOVE(WHIRLPOOL) .4byte gSlateportBattleTentTrainerMons_Davon @ 4 - .4byte TRAINER_CLASS_LADY + .4byte FACILITY_CLASS_LADY .string "GLENDA$", 8 @ pre-battle speech - ec_word CONVERSATION - ec_word CAN - ec_word WAIT - ec_word UNTIL - ec_word I - ec_word WIN + .2byte EC_WORD_CONVERSATION + .2byte EC_WORD_CAN + .2byte EC_WORD_WAIT + .2byte EC_WORD_UNTIL + .2byte EC_WORD_I + .2byte EC_WORD_WIN @ win speech - ec_word FABULOUS - ec_word EXCL - ec_word I_AM - ec_word GOING - ec_word TO - ec_word ROCK + .2byte EC_WORD_FABULOUS + .2byte EC_WORD_EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_GOING + .2byte EC_WORD_TO + .2byte EC_WORD_ROCK @ loss speech - ec_word NO - ec_word EXCL + .2byte EC_WORD_NO + .2byte EC_WORD_EXCL .2byte -1 - ec_word I - ec_word WASN_T - ec_word SERIOUS + .2byte EC_WORD_I + .2byte EC_WORD_WASN_T + .2byte EC_WORD_SERIOUS .4byte gSlateportBattleTentTrainerMons_Glenda @ 5 - .4byte TRAINER_CLASS_BEAUTY + .4byte FACILITY_CLASS_BEAUTY .string "HELENA$", 8 @ pre-battle speech - ec_word DOES - ec_word MY - ec_word BEAUTY - ec_word INTIMIDATE - ec_word YOU - ec_word QUES + .2byte EC_WORD_DOES + .2byte EC_WORD_MY + .2byte EC_WORD_BEAUTY + .2byte EC_WORD_INTIMIDATE + .2byte EC_WORD_YOU + .2byte EC_WORD_QUES @ win speech - ec_word I_AM - ec_word SO - ec_word SORRY - ec_word BUT - ec_word YOU_RE - ec_word BORING + .2byte EC_WORD_I_AM + .2byte EC_WORD_SO + .2byte EC_WORD_SORRY + .2byte EC_WORD_BUT + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_BORING @ loss speech - ec_word I - ec_word DO - ec_word SO - ec_word ENJOY - ec_word THIS - ec_word EXCL + .2byte EC_WORD_I + .2byte EC_WORD_DO + .2byte EC_WORD_SO + .2byte EC_WORD_ENJOY + .2byte EC_WORD_THIS + .2byte EC_WORD_EXCL .4byte gSlateportBattleTentTrainerMons_Helena @ 6 - .4byte TRAINER_CLASS_RICH_BOY + .4byte FACILITY_CLASS_RICH_BOY .string "RODOLFO$", 8 @ pre-battle speech - ec_word GO - ec_word GET - ec_word A - ec_pokemon1 WHISCASH - ec_word FOR - ec_word ME + .2byte EC_WORD_GO + .2byte EC_WORD_GET + .2byte EC_WORD_A + .2byte EC_POKEMON(WHISCASH) + .2byte EC_WORD_FOR + .2byte EC_WORD_ME @ win speech - ec_word AWW - ec_word YOU - ec_word DON_T - ec_word HAVE - ec_word A - ec_pokemon1 WHISCASH + .2byte EC_WORD_AWW + .2byte EC_WORD_YOU + .2byte EC_WORD_DON_T + .2byte EC_WORD_HAVE + .2byte EC_WORD_A + .2byte EC_POKEMON(WHISCASH) @ loss speech - ec_word PLEASE - ec_word I - ec_word NEED - ec_word A - ec_pokemon1 WHISCASH - ec_word BADLY + .2byte EC_WORD_PLEASE + .2byte EC_WORD_I + .2byte EC_WORD_NEED + .2byte EC_WORD_A + .2byte EC_POKEMON(WHISCASH) + .2byte EC_WORD_BADLY .4byte gSlateportBattleTentTrainerMons_Rodolfo @ 7 - .4byte TRAINER_CLASS_POKEMANIAC + .4byte FACILITY_CLASS_POKEMANIAC .string "DAVION$", 8 @ pre-battle speech - ec_word GRAAAH - ec_word GRAAAH - ec_word EXCL_EXCL - ec_word GRAAAH - ec_word GRAAAH - ec_word EXCL_EXCL + .2byte EC_WORD_GRAAAH + .2byte EC_WORD_GRAAAH + .2byte EC_WORD_EXCL_EXCL + .2byte EC_WORD_GRAAAH + .2byte EC_WORD_GRAAAH + .2byte EC_WORD_EXCL_EXCL @ win speech - ec_move2 ROAR - ec_word EXCL + .2byte EC_MOVE2(ROAR) + .2byte EC_WORD_EXCL .2byte -1 - ec_move2 ROAR - ec_word EXCL_EXCL + .2byte EC_MOVE2(ROAR) + .2byte EC_WORD_EXCL_EXCL .2byte -1 @ loss speech - ec_word URGH - ec_word WAAAH - ec_word EXCL_EXCL + .2byte EC_WORD_URGH + .2byte EC_WORD_WAAAH + .2byte EC_WORD_EXCL_EXCL .2byte -1 .2byte -1 .2byte -1 .4byte gSlateportBattleTentTrainerMons_Davion @ 8 - .4byte TRAINER_CLASS_SWIMMER_M + .4byte FACILITY_CLASS_SWIMMER_M .string "KENDALL$", 8 @ pre-battle speech - ec_word A_LITTLE - ec_move2 PETAL_DANCE - ec_word TO - ec_word PLEASE - ec_word YOU - ec_word EXCL + .2byte EC_WORD_A_LITTLE + .2byte EC_MOVE2(PETAL_DANCE) + .2byte EC_WORD_TO + .2byte EC_WORD_PLEASE + .2byte EC_WORD_YOU + .2byte EC_WORD_EXCL @ win speech - ec_word I - ec_word DO - ec_word THIS - ec_word ONLY - ec_word FOR - ec_word WORK + .2byte EC_WORD_I + .2byte EC_WORD_DO + .2byte EC_WORD_THIS + .2byte EC_WORD_ONLY + .2byte EC_WORD_FOR + .2byte EC_WORD_WORK @ loss speech - ec_word HOW - ec_word COULD - ec_word YOU - ec_move2 POUND - ec_word ME - ec_word QUES + .2byte EC_WORD_HOW + .2byte EC_WORD_COULD + .2byte EC_WORD_YOU + .2byte EC_MOVE2(POUND) + .2byte EC_WORD_ME + .2byte EC_WORD_QUES .4byte gSlateportBattleTentTrainerMons_Kendall @ 9 - .4byte TRAINER_CLASS_CAMPER + .4byte FACILITY_CLASS_CAMPER .string "COLTEN$", 8 @ pre-battle speech - ec_word I - ec_word WANT - ec_word TO - ec_word GO - ec_word RUN - ec_word AROUND + .2byte EC_WORD_I + .2byte EC_WORD_WANT + .2byte EC_WORD_TO + .2byte EC_WORD_GO + .2byte EC_WORD_RUN + .2byte EC_WORD_AROUND @ win speech - ec_word YAY - ec_word EXCL - ec_word WANT - ec_word TO - ec_word RUN - ec_word QUES + .2byte EC_WORD_YAY + .2byte EC_WORD_EXCL + .2byte EC_WORD_WANT + .2byte EC_WORD_TO + .2byte EC_WORD_RUN + .2byte EC_WORD_QUES @ loss speech - ec_word A - ec_word SWIFT_SWIM - ec_word WOULD - ec_word BE - ec_word GOOD - ec_word TOO + .2byte EC_WORD_A + .2byte EC_WORD_SWIFT_SWIM + .2byte EC_WORD_WOULD + .2byte EC_WORD_BE + .2byte EC_WORD_GOOD + .2byte EC_WORD_TOO .4byte gSlateportBattleTentTrainerMons_Colten @ 10 - .4byte TRAINER_CLASS_BUG_MANIAC + .4byte FACILITY_CLASS_BUG_MANIAC .string "IRVIN$", 8 @ pre-battle speech - ec_word HAVE - ec_word A - ec_word LOOK - ec_word AT - ec_word MY - ec_move1 CONFUSE_RAY + .2byte EC_WORD_HAVE + .2byte EC_WORD_A + .2byte EC_WORD_LOOK + .2byte EC_WORD_AT + .2byte EC_WORD_MY + .2byte EC_MOVE(CONFUSE_RAY) @ win speech - ec_word YAHOO - ec_word MY - ec_move1 CONFUSE_RAY - ec_word IS - ec_word THE - ec_word BEST + .2byte EC_WORD_YAHOO + .2byte EC_WORD_MY + .2byte EC_MOVE(CONFUSE_RAY) + .2byte EC_WORD_IS + .2byte EC_WORD_THE + .2byte EC_WORD_BEST @ loss speech - ec_word GWAH - ec_word EXCL_EXCL + .2byte EC_WORD_GWAH + .2byte EC_WORD_EXCL_EXCL .2byte -1 - ec_word I_AM - ec_word SORRY - ec_word EXCL + .2byte EC_WORD_I_AM + .2byte EC_WORD_SORRY + .2byte EC_WORD_EXCL .4byte gSlateportBattleTentTrainerMons_Irvin @ 11 - .4byte TRAINER_CLASS_GENTLEMAN + .4byte FACILITY_CLASS_GENTLEMAN .string "SHAUN$", 8 @ pre-battle speech - ec_word LISTEN - ec_word ELLIPSIS - ec_word YOU - ec_word AREN_T - ec_word VERY - ec_word GOOD + .2byte EC_WORD_LISTEN + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_YOU + .2byte EC_WORD_AREN_T + .2byte EC_WORD_VERY + .2byte EC_WORD_GOOD @ win speech - ec_word YOU - ec_word SEE - ec_word QUES - ec_word I - ec_word WAS - ec_word RIGHT + .2byte EC_WORD_YOU + .2byte EC_WORD_SEE + .2byte EC_WORD_QUES + .2byte EC_WORD_I + .2byte EC_WORD_WAS + .2byte EC_WORD_RIGHT @ loss speech - ec_word YES - ec_word YES - ec_word ELLIPSIS - ec_word YOU_RE - ec_word QUITE - ec_word SOMETHING + .2byte EC_WORD_YES + .2byte EC_WORD_YES + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_QUITE + .2byte EC_WORD_SOMETHING .4byte gSlateportBattleTentTrainerMons_Shaun @ 12 - .4byte TRAINER_CLASS_GUITARIST + .4byte FACILITY_CLASS_GUITARIST .string "KYLER$", 8 @ pre-battle speech - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word QUES + .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS + .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS + .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS + .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS + .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS + .2byte EC_WORD_QUES @ win speech - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word YAY + .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS + .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS + .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS + .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS + .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS + .2byte EC_WORD_YAY @ loss speech - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word WOW + .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS + .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS + .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS + .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS + .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS + .2byte EC_WORD_WOW .4byte gSlateportBattleTentTrainerMons_Kyler @ 13 - .4byte TRAINER_CLASS_SCHOOL_KID_2 + .4byte FACILITY_CLASS_SCHOOL_KID_2 .string "MAGGIE$", 8 @ pre-battle speech - ec_pokemon1 VULPIX - ec_pokemon1 XATU - ec_pokemon2 UMBREON - ec_word ELLIPSIS - ec_word UM - ec_word ELLIPSIS + .2byte EC_POKEMON(VULPIX) + .2byte EC_POKEMON(XATU) + .2byte EC_POKEMON2(UMBREON) + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_UM + .2byte EC_WORD_ELLIPSIS @ win speech - ec_pokemon1 NOSEPASS - ec_word ELLIPSIS - ec_word UM - ec_pokemon1 SEVIPER - ec_word EXCL + .2byte EC_POKEMON(NOSEPASS) + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_UM + .2byte EC_POKEMON(SEVIPER) + .2byte EC_WORD_EXCL .2byte -1 @ loss speech - ec_pokemon1 NOSEPASS - ec_word ELLIPSIS - ec_word UM - ec_pokemon2 SNORLAX - ec_word ELLIPSIS - ec_word UH_OH + .2byte EC_POKEMON(NOSEPASS) + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_UM + .2byte EC_POKEMON2(SNORLAX) + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_UH_OH .4byte gSlateportBattleTentTrainerMons_Maggie @ 14 - .4byte TRAINER_CLASS_COOLTRAINER_1 + .4byte FACILITY_CLASS_COOLTRAINER_1 .string "STEPHON$", 8 @ pre-battle speech - ec_word I_AM - ec_word GOING - ec_word TO - ec_word ENJOY - ec_word AN - ec_word EGG + .2byte EC_WORD_I_AM + .2byte EC_WORD_GOING + .2byte EC_WORD_TO + .2byte EC_WORD_ENJOY + .2byte EC_WORD_AN + .2byte EC_WORD_EGG @ win speech - ec_word I - ec_word WILL - ec_word ENJOY - ec_word THIS - ec_word TASTY - ec_word VICTORY + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_WORD_ENJOY + .2byte EC_WORD_THIS + .2byte EC_WORD_TASTY + .2byte EC_WORD_VICTORY @ loss speech - ec_word AWFUL - ec_word EXCL_EXCL + .2byte EC_WORD_AWFUL + .2byte EC_WORD_EXCL_EXCL .2byte -1 - ec_word JUST - ec_word AWFUL - ec_word EXCL_EXCL + .2byte EC_WORD_JUST + .2byte EC_WORD_AWFUL + .2byte EC_WORD_EXCL_EXCL .4byte gSlateportBattleTentTrainerMons_Stephon @ 15 - .4byte TRAINER_CLASS_COOLTRAINER_2 + .4byte FACILITY_CLASS_COOLTRAINER_2 .string "REBECCA$", 8 @ pre-battle speech - ec_word THAT - ec_word EGG - ec_word HAS - ec_word A - ec_word TASTY - ec_word SHINE + .2byte EC_WORD_THAT + .2byte EC_WORD_EGG + .2byte EC_WORD_HAS + .2byte EC_WORD_A + .2byte EC_WORD_TASTY + .2byte EC_WORD_SHINE @ win speech - ec_word I - ec_word CAN_T - ec_word EXCL - ec_word SMELL - ec_word THAT - ec_word STENCH + .2byte EC_WORD_I + .2byte EC_WORD_CAN_T + .2byte EC_WORD_EXCL + .2byte EC_WORD_SMELL + .2byte EC_WORD_THAT + .2byte EC_WORD_STENCH @ loss speech - ec_word YOU - ec_word CAN_T - ec_word MAKE - ec_word ME - ec_word STOP - ec_word ELLIPSIS + .2byte EC_WORD_YOU + .2byte EC_WORD_CAN_T + .2byte EC_WORD_MAKE + .2byte EC_WORD_ME + .2byte EC_WORD_STOP + .2byte EC_WORD_ELLIPSIS .4byte gSlateportBattleTentTrainerMons_Rebecca @ 16 - .4byte TRAINER_CLASS_POKEFAN_1 + .4byte FACILITY_CLASS_POKEFAN_1 .string "REGGIE$", 8 @ pre-battle speech - ec_word POKEMON - ec_word COME - ec_word BEFORE - ec_word MONEY - ec_word OR - ec_word FAMILY + .2byte EC_WORD_POKEMON + .2byte EC_WORD_COME + .2byte EC_WORD_BEFORE + .2byte EC_WORD_MONEY + .2byte EC_WORD_OR + .2byte EC_WORD_FAMILY @ win speech - ec_word THAT_S - ec_word WHAT - ec_word IS - ec_word MAKING - ec_word ME - ec_word STRONG + .2byte EC_WORD_THAT_S + .2byte EC_WORD_WHAT + .2byte EC_WORD_IS + .2byte EC_WORD_MAKING + .2byte EC_WORD_ME + .2byte EC_WORD_STRONG @ loss speech - ec_word THAT_S - ec_word WHY - ec_word I_AM - ec_word SO - ec_word THICK - ec_word ELLIPSIS + .2byte EC_WORD_THAT_S + .2byte EC_WORD_WHY + .2byte EC_WORD_I_AM + .2byte EC_WORD_SO + .2byte EC_WORD_THICK + .2byte EC_WORD_ELLIPSIS .4byte gSlateportBattleTentTrainerMons_Reggie @ 17 - .4byte TRAINER_CLASS_POKEFAN_2 + .4byte FACILITY_CLASS_POKEFAN_2 .string "JANAE$", 8 @ pre-battle speech - ec_word I - ec_word JUST - ec_word ADORE - ec_word YOUR - ec_word TOUGH - ec_word LOOK + .2byte EC_WORD_I + .2byte EC_WORD_JUST + .2byte EC_WORD_ADORE + .2byte EC_WORD_YOUR + .2byte EC_WORD_TOUGH + .2byte EC_WORD_LOOK @ win speech - ec_word I - ec_word LIKE - ec_word HOW - ec_word YOU - ec_move2 STRUGGLE + .2byte EC_WORD_I + .2byte EC_WORD_LIKE + .2byte EC_WORD_HOW + .2byte EC_WORD_YOU + .2byte EC_MOVE2(STRUGGLE) .2byte -1 @ loss speech - ec_word YOU_RE - ec_word A - ec_word MEAN - ec_word AND - ec_word AWFUL - ec_word TRAINER + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_A + .2byte EC_WORD_MEAN + .2byte EC_WORD_AND + .2byte EC_WORD_AWFUL + .2byte EC_WORD_TRAINER .4byte gSlateportBattleTentTrainerMons_Janae @ 18 - .4byte TRAINER_CLASS_EXPERT_1 + .4byte FACILITY_CLASS_EXPERT_1 .string "CAIDEN$", 8 @ pre-battle speech - ec_word MY - ec_move2 CURSE - ec_word WILL - ec_word BREAK - ec_word YOUR - ec_word SPIRIT + .2byte EC_WORD_MY + .2byte EC_MOVE2(CURSE) + .2byte EC_WORD_WILL + .2byte EC_WORD_BREAK + .2byte EC_WORD_YOUR + .2byte EC_WORD_SPIRIT @ win speech - ec_move2 CURSE - ec_word QUES - ec_word IT_S - ec_word A - ec_word LIE - ec_word ELLIPSIS + .2byte EC_MOVE2(CURSE) + .2byte EC_WORD_QUES + .2byte EC_WORD_IT_S + .2byte EC_WORD_A + .2byte EC_WORD_LIE + .2byte EC_WORD_ELLIPSIS @ loss speech - ec_word MY - ec_move2 CURSE - ec_word WILL - ec_word LAST - ec_word FOREVER + .2byte EC_WORD_MY + .2byte EC_MOVE2(CURSE) + .2byte EC_WORD_WILL + .2byte EC_WORD_LAST + .2byte EC_WORD_FOREVER .2byte -1 .4byte gSlateportBattleTentTrainerMons_Caiden @ 19 - .4byte TRAINER_CLASS_EXPERT_2 + .4byte FACILITY_CLASS_EXPERT_2 .string "KIRSTEN$", 8 @ pre-battle speech - ec_word HUH_QUES - ec_word A - ec_word BATTLE - ec_word YOU - ec_word SAID - ec_word QUES + .2byte EC_WORD_HUH_QUES + .2byte EC_WORD_A + .2byte EC_WORD_BATTLE + .2byte EC_WORD_YOU + .2byte EC_WORD_SAID + .2byte EC_WORD_QUES @ win speech - ec_word HUH_QUES - ec_word STRONG - ec_word BUT - ec_word NOT - ec_word STRONG - ec_word ENOUGH + .2byte EC_WORD_HUH_QUES + .2byte EC_WORD_STRONG + .2byte EC_WORD_BUT + .2byte EC_WORD_NOT + .2byte EC_WORD_STRONG + .2byte EC_WORD_ENOUGH @ loss speech - ec_word HUH_QUES - ec_word I - ec_word SURRENDER - ec_word TO - ec_word YOUR - ec_move1 STRENGTH + .2byte EC_WORD_HUH_QUES + .2byte EC_WORD_I + .2byte EC_WORD_SURRENDER + .2byte EC_WORD_TO + .2byte EC_WORD_YOUR + .2byte EC_MOVE(STRENGTH) .4byte gSlateportBattleTentTrainerMons_Kirsten @ 20 - .4byte TRAINER_CLASS_YOUNGSTER + .4byte FACILITY_CLASS_YOUNGSTER .string "KURTIS$", 8 @ pre-battle speech - ec_word SORRY - ec_word YOU_RE - ec_word GOING - ec_word TO - ec_word GET - ec_move2 BEAT_UP + .2byte EC_WORD_SORRY + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_GOING + .2byte EC_WORD_TO + .2byte EC_WORD_GET + .2byte EC_MOVE2(BEAT_UP) @ win speech - ec_word I - ec_word SAID - ec_word WE - ec_word WOULD - ec_move2 POUND - ec_word YOU + .2byte EC_WORD_I + .2byte EC_WORD_SAID + .2byte EC_WORD_WE + .2byte EC_WORD_WOULD + .2byte EC_MOVE2(POUND) + .2byte EC_WORD_YOU @ loss speech - ec_word HOW - ec_word DID - ec_word I - ec_word GET - ec_move2 BEAT_UP - ec_word QUES + .2byte EC_WORD_HOW + .2byte EC_WORD_DID + .2byte EC_WORD_I + .2byte EC_WORD_GET + .2byte EC_MOVE2(BEAT_UP) + .2byte EC_WORD_QUES .4byte gSlateportBattleTentTrainerMons_Kurtis @ 21 - .4byte TRAINER_CLASS_FISHERMAN + .4byte FACILITY_CLASS_FISHERMAN .string "STEFAN$", 8 @ pre-battle speech - ec_word I - ec_word ONLY - ec_word WANT - ec_word CUTE - ec_word POKEMON + .2byte EC_WORD_I + .2byte EC_WORD_ONLY + .2byte EC_WORD_WANT + .2byte EC_WORD_CUTE + .2byte EC_WORD_POKEMON .2byte -1 @ win speech - ec_word WHAT - ec_word IS - ec_word IT - ec_word TO - ec_word YOU - ec_word QUES + .2byte EC_WORD_WHAT + .2byte EC_WORD_IS + .2byte EC_WORD_IT + .2byte EC_WORD_TO + .2byte EC_WORD_YOU + .2byte EC_WORD_QUES @ loss speech - ec_word YOU_RE - ec_word KIND - ec_word OF - ec_word AWESOME - ec_word ELLIPSIS + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_KIND + .2byte EC_WORD_OF + .2byte EC_WORD_AWESOME + .2byte EC_WORD_ELLIPSIS .2byte -1 .4byte gSlateportBattleTentTrainerMons_Stefan @ 22 - .4byte TRAINER_CLASS_BIRD_KEEPER + .4byte FACILITY_CLASS_BIRD_KEEPER .string "AVERY$", 8 @ pre-battle speech - ec_word TOYS - ec_word EXCL - ec_word I - ec_word NEED - ec_word MORE - ec_word TOYS + .2byte EC_WORD_TOYS + .2byte EC_WORD_EXCL + .2byte EC_WORD_I + .2byte EC_WORD_NEED + .2byte EC_WORD_MORE + .2byte EC_WORD_TOYS @ win speech - ec_word I - ec_word NEED - ec_word SOME - ec_word EASY - ec_word MONEY - ec_word FAST + .2byte EC_WORD_I + .2byte EC_WORD_NEED + .2byte EC_WORD_SOME + .2byte EC_WORD_EASY + .2byte EC_WORD_MONEY + .2byte EC_WORD_FAST @ loss speech - ec_word I - ec_word NEED - ec_word TO - ec_word WORK - ec_word FOR - ec_word MONEY + .2byte EC_WORD_I + .2byte EC_WORD_NEED + .2byte EC_WORD_TO + .2byte EC_WORD_WORK + .2byte EC_WORD_FOR + .2byte EC_WORD_MONEY .4byte gSlateportBattleTentTrainerMons_Avery @ 23 - .4byte TRAINER_CLASS_NINJA_BOY + .4byte FACILITY_CLASS_NINJA_BOY .string "DWANE$", 8 @ pre-battle speech - ec_word MMM - ec_word TASTY - ec_word ELLIPSIS - ec_word WONDER - ec_word WHAT - ec_word QUES + .2byte EC_WORD_MMM + .2byte EC_WORD_TASTY + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_WONDER + .2byte EC_WORD_WHAT + .2byte EC_WORD_QUES @ win speech - ec_word MMM - ec_word MMM - ec_word ELLIPSIS - ec_word YOU - ec_word DON_T - ec_word KNOW + .2byte EC_WORD_MMM + .2byte EC_WORD_MMM + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_YOU + .2byte EC_WORD_DON_T + .2byte EC_WORD_KNOW @ loss speech - ec_word MMM - ec_word MMM - ec_word ELLIPSIS - ec_word OH_YEAH - ec_word THIS_IS_IT_EXCL + .2byte EC_WORD_MMM + .2byte EC_WORD_MMM + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_OH_YEAH + .2byte EC_WORD_THIS_IS_IT_EXCL .2byte -1 .4byte gSlateportBattleTentTrainerMons_Dwane @ 24 - .4byte TRAINER_CLASS_PARASOL_LADY + .4byte FACILITY_CLASS_PARASOL_LADY .string "MCKENNA$", 8 @ pre-battle speech - ec_word I - ec_word DISLIKE - ec_word SMALL - ec_word TALK - ec_word LET_S - ec_word GO + .2byte EC_WORD_I + .2byte EC_WORD_DISLIKE + .2byte EC_WORD_SMALL + .2byte EC_WORD_TALK + .2byte EC_WORD_LET_S + .2byte EC_WORD_GO @ win speech - ec_word YUP - ec_word THAT_S - ec_word THAT + .2byte EC_WORD_YUP + .2byte EC_WORD_THAT_S + .2byte EC_WORD_THAT .2byte -1 .2byte -1 .2byte -1 @ loss speech - ec_word KTHX_BYE + .2byte EC_WORD_KTHX_BYE .2byte -1 .2byte -1 .2byte -1 @@ -651,131 +651,131 @@ gSlateportBattleTentTrainers:: @ 85DDA14 .4byte gSlateportBattleTentTrainerMons_Mckenna @ 25 - .4byte TRAINER_CLASS_SWIMMER_F + .4byte FACILITY_CLASS_SWIMMER_F .string "CAMRYN$", 8 @ pre-battle speech - ec_word MR - ec_word JUDGE - ec_word YOU - ec_word HAVE - ec_word OUR - ec_word TRUST + .2byte EC_WORD_MR + .2byte EC_WORD_JUDGE + .2byte EC_WORD_YOU + .2byte EC_WORD_HAVE + .2byte EC_WORD_OUR + .2byte EC_WORD_TRUST @ win speech - ec_word YES_SIR_EXCL - ec_word WE_RE - ec_word NO_1 - ec_word IN - ec_word THIS - ec_word CONTEST + .2byte EC_WORD_YES_SIR_EXCL + .2byte EC_WORD_WE_RE + .2byte EC_WORD_NO_1 + .2byte EC_WORD_IN + .2byte EC_WORD_THIS + .2byte EC_WORD_CONTEST @ loss speech - ec_word I - ec_word WON_T - ec_word GIVE_UP - ec_word MY - ec_word IDOL - ec_word DREAM + .2byte EC_WORD_I + .2byte EC_WORD_WON_T + .2byte EC_WORD_GIVE_UP + .2byte EC_WORD_MY + .2byte EC_WORD_IDOL + .2byte EC_WORD_DREAM .4byte gSlateportBattleTentTrainerMons_Camryn @ 26 - .4byte TRAINER_CLASS_PICNICKER + .4byte FACILITY_CLASS_PICNICKER .string "NATASHA$", 8 @ pre-battle speech - ec_word COME_OVER - ec_word TO - ec_word MY - ec_word PLACE - ec_word OK_QUES + .2byte EC_WORD_COME_OVER + .2byte EC_WORD_TO + .2byte EC_WORD_MY + .2byte EC_WORD_PLACE + .2byte EC_WORD_OK_QUES .2byte -1 @ win speech - ec_word COME_ON - ec_word OVER - ec_word IT - ec_word WILL - ec_word BE - ec_word GREAT + .2byte EC_WORD_COME_ON + .2byte EC_WORD_OVER + .2byte EC_WORD_IT + .2byte EC_WORD_WILL + .2byte EC_WORD_BE + .2byte EC_WORD_GREAT @ loss speech - ec_word AWW - ec_word WON_T - ec_word YOU - ec_word COME_OVER - ec_word QUES + .2byte EC_WORD_AWW + .2byte EC_WORD_WON_T + .2byte EC_WORD_YOU + .2byte EC_WORD_COME_OVER + .2byte EC_WORD_QUES .2byte -1 .4byte gSlateportBattleTentTrainerMons_Natasha @ 27 - .4byte TRAINER_CLASS_SAILOR + .4byte FACILITY_CLASS_SAILOR .string "AUSTYN$", 8 @ pre-battle speech - ec_word I - ec_word DON_T - ec_word CARE - ec_word HOW - ec_word WE - ec_word MATCH_UP + .2byte EC_WORD_I + .2byte EC_WORD_DON_T + .2byte EC_WORD_CARE + .2byte EC_WORD_HOW + .2byte EC_WORD_WE + .2byte EC_WORD_MATCH_UP @ win speech - ec_word HAH - ec_word BACK - ec_word TO - ec_word SCHOOL - ec_word FOR - ec_word YOU + .2byte EC_WORD_HAH + .2byte EC_WORD_BACK + .2byte EC_WORD_TO + .2byte EC_WORD_SCHOOL + .2byte EC_WORD_FOR + .2byte EC_WORD_YOU @ loss speech - ec_word I - ec_word NEED - ec_word TO - ec_word STUDY - ec_word MY - ec_word LESSONS + .2byte EC_WORD_I + .2byte EC_WORD_NEED + .2byte EC_WORD_TO + .2byte EC_WORD_STUDY + .2byte EC_WORD_MY + .2byte EC_WORD_LESSONS .4byte gSlateportBattleTentTrainerMons_Austyn @ 28 - .4byte TRAINER_CLASS_COLLECTOR + .4byte FACILITY_CLASS_COLLECTOR .string "DONOVAN$", 8 @ pre-battle speech - ec_word OH - ec_word I_AM - ec_word FEELING - ec_word SLIMY - ec_word ALL - ec_word OVER + .2byte EC_WORD_OH + .2byte EC_WORD_I_AM + .2byte EC_WORD_FEELING + .2byte EC_WORD_SLIMY + .2byte EC_WORD_ALL + .2byte EC_WORD_OVER @ win speech - ec_word YOU_RE - ec_word GOING - ec_word DOWN - ec_word THE - ec_move2 MEGA_DRAIN - ec_word HAHAHA + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_GOING + .2byte EC_WORD_DOWN + .2byte EC_WORD_THE + .2byte EC_MOVE2(MEGA_DRAIN) + .2byte EC_WORD_HAHAHA @ loss speech - ec_word I_AM - ec_word NATURALLY - ec_word SLIMY - ec_word THAT_S - ec_word WHAT - ec_word I_AM + .2byte EC_WORD_I_AM + .2byte EC_WORD_NATURALLY + .2byte EC_WORD_SLIMY + .2byte EC_WORD_THAT_S + .2byte EC_WORD_WHAT + .2byte EC_WORD_I_AM .4byte gSlateportBattleTentTrainerMons_Donovan @ 29 - .4byte TRAINER_CLASS_LASS + .4byte FACILITY_CLASS_LASS .string "TAMIA$", 8 @ pre-battle speech - ec_word I_AM - ec_word ANGRY - ec_word WITH - ec_word MY - ec_word FATHER - ec_word ELLIPSIS + .2byte EC_WORD_I_AM + .2byte EC_WORD_ANGRY + .2byte EC_WORD_WITH + .2byte EC_WORD_MY + .2byte EC_WORD_FATHER + .2byte EC_WORD_ELLIPSIS @ win speech - ec_word I - ec_word REALLY - ec_word DISLIKE - ec_word MY - ec_word FATHER - ec_word EXCL + .2byte EC_WORD_I + .2byte EC_WORD_REALLY + .2byte EC_WORD_DISLIKE + .2byte EC_WORD_MY + .2byte EC_WORD_FATHER + .2byte EC_WORD_EXCL @ loss speech - ec_word I - ec_word JUST - ec_word SO - ec_word ADORE - ec_word MY - ec_word FATHER + .2byte EC_WORD_I + .2byte EC_WORD_JUST + .2byte EC_WORD_SO + .2byte EC_WORD_ADORE + .2byte EC_WORD_MY + .2byte EC_WORD_FATHER .4byte gSlateportBattleTentTrainerMons_Tamia diff --git a/data/battle_frontier/verdanturf_battle_tent_trainers.inc b/data/battle_frontier/verdanturf_battle_tent_trainers.inc index af9a039104..a31f52ba61 100644 --- a/data/battle_frontier/verdanturf_battle_tent_trainers.inc +++ b/data/battle_frontier/verdanturf_battle_tent_trainers.inc @@ -1,467 +1,467 @@ .align 2 gVerdanturfBattleTentTrainers:: @ 85DE610 @ 0 - .4byte TRAINER_CLASS_AROMA_LADY + .4byte FACILITY_CLASS_AROMA_LADY .string "BRENNA$", 8 @ pre-battle speech - ec_word NO - ec_word DAYS - ec_word GO - ec_word WITHOUT - ec_word MY - ec_move1 FAKE_TEARS + .2byte EC_WORD_NO + .2byte EC_WORD_DAYS + .2byte EC_WORD_GO + .2byte EC_WORD_WITHOUT + .2byte EC_WORD_MY + .2byte EC_MOVE(FAKE_TEARS) @ win speech - ec_word OH - ec_word THAT_WAS - ec_word SO - ec_word REFRESHING - ec_word EXCL + .2byte EC_WORD_OH + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_SO + .2byte EC_WORD_REFRESHING + .2byte EC_WORD_EXCL .2byte -1 @ loss speech - ec_word ALL - ec_word I - ec_word EVER - ec_word GET - ec_word IS - ec_move1 TORMENT + .2byte EC_WORD_ALL + .2byte EC_WORD_I + .2byte EC_WORD_EVER + .2byte EC_WORD_GET + .2byte EC_WORD_IS + .2byte EC_MOVE(TORMENT) .4byte gVerdanturfBattleTentTrainerMons_Brenna @ 1 - .4byte TRAINER_CLASS_RUIN_MANIAC + .4byte FACILITY_CLASS_RUIN_MANIAC .string "DILAN$", 8 @ pre-battle speech - ec_word YOU - ec_word DON_T - ec_word KNOW - ec_word HOW - ec_word BORED - ec_word I_AM + .2byte EC_WORD_YOU + .2byte EC_WORD_DON_T + .2byte EC_WORD_KNOW + .2byte EC_WORD_HOW + .2byte EC_WORD_BORED + .2byte EC_WORD_I_AM @ win speech - ec_word LOSING - ec_word ISN_T - ec_word EXCITING - ec_word AT - ec_word ALL - ec_word ELLIPSIS + .2byte EC_WORD_LOSING + .2byte EC_WORD_ISN_T + .2byte EC_WORD_EXCITING + .2byte EC_WORD_AT + .2byte EC_WORD_ALL + .2byte EC_WORD_ELLIPSIS @ loss speech - ec_word EXCITING - ec_word EXCL_EXCL - ec_word BYE_BYE - ec_word TO - ec_word BEING - ec_word BORED + .2byte EC_WORD_EXCITING + .2byte EC_WORD_EXCL_EXCL + .2byte EC_WORD_BYE_BYE + .2byte EC_WORD_TO + .2byte EC_WORD_BEING + .2byte EC_WORD_BORED .4byte gVerdanturfBattleTentTrainerMons_Dilan @ 2 - .4byte TRAINER_CLASS_TUBER_1 + .4byte FACILITY_CLASS_TUBER_1 .string "ELIANA$", 8 @ pre-battle speech - ec_word I_AM - ec_word GOING - ec_word ON - ec_word A - ec_word VACATION - ec_word SOON + .2byte EC_WORD_I_AM + .2byte EC_WORD_GOING + .2byte EC_WORD_ON + .2byte EC_WORD_A + .2byte EC_WORD_VACATION + .2byte EC_WORD_SOON @ win speech - ec_word I - ec_word NEED - ec_word TO - ec_word GET - ec_word SOME - ec_word MONEY + .2byte EC_WORD_I + .2byte EC_WORD_NEED + .2byte EC_WORD_TO + .2byte EC_WORD_GET + .2byte EC_WORD_SOME + .2byte EC_WORD_MONEY @ loss speech - ec_word NO - ec_word SLEEP - ec_word UNTIL - ec_word I - ec_word GET - ec_word HOME + .2byte EC_WORD_NO + .2byte EC_WORD_SLEEP + .2byte EC_WORD_UNTIL + .2byte EC_WORD_I + .2byte EC_WORD_GET + .2byte EC_WORD_HOME .4byte gVerdanturfBattleTentTrainerMons_Eliana @ 3 - .4byte TRAINER_CLASS_TUBER_2 + .4byte FACILITY_CLASS_TUBER_2 .string "MARKUS$", 8 @ pre-battle speech - ec_word I_AM - ec_word SMART - ec_word EXCL - ec_word IF_I_LOSE - ec_word I - ec_move1 SELF_DESTRUCT + .2byte EC_WORD_I_AM + .2byte EC_WORD_SMART + .2byte EC_WORD_EXCL + .2byte EC_WORD_IF_I_LOSE + .2byte EC_WORD_I + .2byte EC_MOVE(SELF_DESTRUCT) @ win speech - ec_word IT_S - ec_word A - ec_word NON_STOP - ec_move2 EXPLOSION - ec_word OF - ec_word JOY + .2byte EC_WORD_IT_S + .2byte EC_WORD_A + .2byte EC_WORD_NON_STOP + .2byte EC_MOVE2(EXPLOSION) + .2byte EC_WORD_OF + .2byte EC_WORD_JOY @ loss speech - ec_word I_VE - ec_word LOST - ec_word ELLIPSIS - ec_word TIME - ec_word TO - ec_move1 SELF_DESTRUCT + .2byte EC_WORD_I_VE + .2byte EC_WORD_LOST + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_TIME + .2byte EC_WORD_TO + .2byte EC_MOVE(SELF_DESTRUCT) .4byte gVerdanturfBattleTentTrainerMons_Markus @ 4 - .4byte TRAINER_CLASS_LADY + .4byte FACILITY_CLASS_LADY .string "CAITLYN$", 8 @ pre-battle speech - ec_word I_AM - ec_word BORED - ec_word OF - ec_word BEING - ec_word AN - ec_word IDOL + .2byte EC_WORD_I_AM + .2byte EC_WORD_BORED + .2byte EC_WORD_OF + .2byte EC_WORD_BEING + .2byte EC_WORD_AN + .2byte EC_WORD_IDOL @ win speech - ec_word A - ec_word BATTLE - ec_word IS - ec_word BEST - ec_word FOR - ec_word HAPPINESS + .2byte EC_WORD_A + .2byte EC_WORD_BATTLE + .2byte EC_WORD_IS + .2byte EC_WORD_BEST + .2byte EC_WORD_FOR + .2byte EC_WORD_HAPPINESS @ loss speech - ec_word LOSING - ec_word DOESN_T - ec_word BUG - ec_word ME - ec_word AT - ec_word ALL + .2byte EC_WORD_LOSING + .2byte EC_WORD_DOESN_T + .2byte EC_WORD_BUG + .2byte EC_WORD_ME + .2byte EC_WORD_AT + .2byte EC_WORD_ALL .4byte gVerdanturfBattleTentTrainerMons_Caitlyn @ 5 - .4byte TRAINER_CLASS_BEAUTY + .4byte FACILITY_CLASS_BEAUTY .string "DESIREE$", 8 @ pre-battle speech - ec_word DOESN_T - ec_word MY - ec_word BEAUTY - ec_move1 ASTONISH - ec_word YOU - ec_word QUES + .2byte EC_WORD_DOESN_T + .2byte EC_WORD_MY + .2byte EC_WORD_BEAUTY + .2byte EC_MOVE(ASTONISH) + .2byte EC_WORD_YOU + .2byte EC_WORD_QUES @ win speech - ec_word DID - ec_word I - ec_word INTIMIDATE - ec_word YOU - ec_word QUES + .2byte EC_WORD_DID + .2byte EC_WORD_I + .2byte EC_WORD_INTIMIDATE + .2byte EC_WORD_YOU + .2byte EC_WORD_QUES .2byte -1 @ loss speech - ec_word MY - ec_word BEAUTY - ec_word DID - ec_word NOTHING - ec_word FOR - ec_word YOU + .2byte EC_WORD_MY + .2byte EC_WORD_BEAUTY + .2byte EC_WORD_DID + .2byte EC_WORD_NOTHING + .2byte EC_WORD_FOR + .2byte EC_WORD_YOU .4byte gVerdanturfBattleTentTrainerMons_Desiree @ 6 - .4byte TRAINER_CLASS_RICH_BOY + .4byte FACILITY_CLASS_RICH_BOY .string "RONALD$", 8 @ pre-battle speech - ec_word COME_ON - ec_word I - ec_word WILL - ec_word BATTLE - ec_word SERIOUSLY + .2byte EC_WORD_COME_ON + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_WORD_BATTLE + .2byte EC_WORD_SERIOUSLY .2byte -1 @ win speech - ec_word GIVE_UP - ec_word QUES + .2byte EC_WORD_GIVE_UP + .2byte EC_WORD_QUES .2byte -1 - ec_word THAT_S - ec_word REALLY - ec_word WEAK + .2byte EC_WORD_THAT_S + .2byte EC_WORD_REALLY + .2byte EC_WORD_WEAK @ loss speech - ec_word I - ec_word NEED - ec_word TO - ec_word DO - ec_word A - ec_move2 BATON_PASS + .2byte EC_WORD_I + .2byte EC_WORD_NEED + .2byte EC_WORD_TO + .2byte EC_WORD_DO + .2byte EC_WORD_A + .2byte EC_MOVE2(BATON_PASS) .4byte gVerdanturfBattleTentTrainerMons_Ronald @ 7 - .4byte TRAINER_CLASS_POKEMANIAC + .4byte FACILITY_CLASS_POKEMANIAC .string "ASHTEN$", 8 @ pre-battle speech - ec_word OH_YEAH - ec_word ANOTHER - ec_word EXCITING - ec_word BATTLE - ec_word EXCL + .2byte EC_WORD_OH_YEAH + .2byte EC_WORD_ANOTHER + .2byte EC_WORD_EXCITING + .2byte EC_WORD_BATTLE + .2byte EC_WORD_EXCL .2byte -1 @ win speech - ec_word YOUR - ec_word POKEMON - ec_word ARE - ec_word WIMPY - ec_word AND - ec_word BORING + .2byte EC_WORD_YOUR + .2byte EC_WORD_POKEMON + .2byte EC_WORD_ARE + .2byte EC_WORD_WIMPY + .2byte EC_WORD_AND + .2byte EC_WORD_BORING @ loss speech - ec_word THAT_WAS - ec_word AN - ec_word EXCITING - ec_word LOSS - ec_word WOW - ec_word EXCL + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_AN + .2byte EC_WORD_EXCITING + .2byte EC_WORD_LOSS + .2byte EC_WORD_WOW + .2byte EC_WORD_EXCL .4byte gVerdanturfBattleTentTrainerMons_Ashten @ 8 - .4byte TRAINER_CLASS_SWIMMER_M + .4byte FACILITY_CLASS_SWIMMER_M .string "GERARD$", 8 @ pre-battle speech - ec_word LOOK - ec_word AT - ec_word MY - ec_word SUPER - ec_move2 TEETER_DANCE - ec_word EXCL + .2byte EC_WORD_LOOK + .2byte EC_WORD_AT + .2byte EC_WORD_MY + .2byte EC_WORD_SUPER + .2byte EC_MOVE2(TEETER_DANCE) + .2byte EC_WORD_EXCL @ win speech - ec_word THAT_WAS - ec_word HARD - ec_word ELLIPSIS - ec_word AM - ec_word I - ec_word OK_QUES + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_HARD + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_AM + .2byte EC_WORD_I + .2byte EC_WORD_OK_QUES @ loss speech - ec_word I - ec_word WON_T - ec_word FORGIVE - ec_word YOU - ec_word FOR - ec_word THAT + .2byte EC_WORD_I + .2byte EC_WORD_WON_T + .2byte EC_WORD_FORGIVE + .2byte EC_WORD_YOU + .2byte EC_WORD_FOR + .2byte EC_WORD_THAT .4byte gVerdanturfBattleTentTrainerMons_Gerard @ 9 - .4byte TRAINER_CLASS_CAMPER + .4byte FACILITY_CLASS_CAMPER .string "BRADLY$", 8 @ pre-battle speech - ec_word IT_S - ec_word LONESOME - ec_word BUT - ec_word I - ec_word VACATION - ec_word ALONE + .2byte EC_WORD_IT_S + .2byte EC_WORD_LONESOME + .2byte EC_WORD_BUT + .2byte EC_WORD_I + .2byte EC_WORD_VACATION + .2byte EC_WORD_ALONE @ win speech - ec_word I - ec_word WILL - ec_move1 WITHDRAW - ec_word INSIDE - ec_word MY - ec_word SHELL_ARMOR + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_MOVE(WITHDRAW) + .2byte EC_WORD_INSIDE + .2byte EC_WORD_MY + .2byte EC_WORD_SHELL_ARMOR @ loss speech - ec_word OH - ec_word ELLIPSIS + .2byte EC_WORD_OH + .2byte EC_WORD_ELLIPSIS .2byte -1 - ec_word ALONE - ec_word AS - ec_word ALWAYS + .2byte EC_WORD_ALONE + .2byte EC_WORD_AS + .2byte EC_WORD_ALWAYS .4byte gVerdanturfBattleTentTrainerMons_Bradly @ 10 - .4byte TRAINER_CLASS_BUG_MANIAC + .4byte FACILITY_CLASS_BUG_MANIAC .string "DENNIS$", 8 @ pre-battle speech - ec_word ARE - ec_word YOU - ec_word REALLY - ec_word STRONG - ec_word QUES + .2byte EC_WORD_ARE + .2byte EC_WORD_YOU + .2byte EC_WORD_REALLY + .2byte EC_WORD_STRONG + .2byte EC_WORD_QUES .2byte -1 @ win speech - ec_word WAHAHAHA - ec_word EXCL + .2byte EC_WORD_WAHAHAHA + .2byte EC_WORD_EXCL .2byte -1 - ec_word WAHAHAHA - ec_word EXCL_EXCL + .2byte EC_WORD_WAHAHAHA + .2byte EC_WORD_EXCL_EXCL .2byte -1 @ loss speech - ec_word NICE - ec_word GOING - ec_word EXCL - ec_word I - ec_word WAS - ec_word CHILD_S_PLAY + .2byte EC_WORD_NICE + .2byte EC_WORD_GOING + .2byte EC_WORD_EXCL + .2byte EC_WORD_I + .2byte EC_WORD_WAS + .2byte EC_WORD_CHILD_S_PLAY .4byte gVerdanturfBattleTentTrainerMons_Dennis @ 11 - .4byte TRAINER_CLASS_GENTLEMAN + .4byte FACILITY_CLASS_GENTLEMAN .string "PRESTIN$", 8 @ pre-battle speech - ec_word THIS - ec_word IS - ec_word A - ec_move1 NIGHTMARE - ec_word FOR - ec_word YOU + .2byte EC_WORD_THIS + .2byte EC_WORD_IS + .2byte EC_WORD_A + .2byte EC_MOVE(NIGHTMARE) + .2byte EC_WORD_FOR + .2byte EC_WORD_YOU @ win speech - ec_word FORGIVE - ec_word ME - ec_word ELLIPSIS - ec_word IT_S - ec_word A - ec_word DREAM + .2byte EC_WORD_FORGIVE + .2byte EC_WORD_ME + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_IT_S + .2byte EC_WORD_A + .2byte EC_WORD_DREAM @ loss speech - ec_word I - ec_word WANT - ec_word TO - ec_word WAKE_UP - ec_word FROM - ec_word THIS + .2byte EC_WORD_I + .2byte EC_WORD_WANT + .2byte EC_WORD_TO + .2byte EC_WORD_WAKE_UP + .2byte EC_WORD_FROM + .2byte EC_WORD_THIS .4byte gVerdanturfBattleTentTrainerMons_Prestin @ 12 - .4byte TRAINER_CLASS_GUITARIST + .4byte FACILITY_CLASS_GUITARIST .string "ERNESTO$", 8 @ pre-battle speech - ec_word THIS - ec_word PARTY - ec_word GOES - ec_word ON - ec_word FOREVER - ec_word EXCL + .2byte EC_WORD_THIS + .2byte EC_WORD_PARTY + .2byte EC_WORD_GOES + .2byte EC_WORD_ON + .2byte EC_WORD_FOREVER + .2byte EC_WORD_EXCL @ win speech - ec_word THE - ec_word MUSIC - ec_word PLAYS - ec_word ON - ec_word WITHOUT - ec_word END + .2byte EC_WORD_THE + .2byte EC_WORD_MUSIC + .2byte EC_WORD_PLAYS + .2byte EC_WORD_ON + .2byte EC_WORD_WITHOUT + .2byte EC_WORD_END @ loss speech - ec_word NO - ec_word EXCL - ec_word THE - ec_word MUSIC - ec_word CAN_T - ec_word STOP + .2byte EC_WORD_NO + .2byte EC_WORD_EXCL + .2byte EC_WORD_THE + .2byte EC_WORD_MUSIC + .2byte EC_WORD_CAN_T + .2byte EC_WORD_STOP .4byte gVerdanturfBattleTentTrainerMons_Ernesto @ 13 - .4byte TRAINER_CLASS_SCHOOL_KID_2 + .4byte FACILITY_CLASS_SCHOOL_KID_2 .string "NALA$", 8 @ pre-battle speech - ec_word I - ec_word WANT - ec_word THE - ec_word WORLD - ec_word MOVIE - ec_word COLLECTION + .2byte EC_WORD_I + .2byte EC_WORD_WANT + .2byte EC_WORD_THE + .2byte EC_WORD_WORLD + .2byte EC_WORD_MOVIE + .2byte EC_WORD_COLLECTION @ win speech - ec_word I - ec_word DON_T - ec_word LIKE - ec_word RADIO - ec_word VERY - ec_word MUCH + .2byte EC_WORD_I + .2byte EC_WORD_DON_T + .2byte EC_WORD_LIKE + .2byte EC_WORD_RADIO + .2byte EC_WORD_VERY + .2byte EC_WORD_MUCH @ loss speech - ec_word I - ec_word REFUSE - ec_word TO - ec_word BELIEVE - ec_word THIS - ec_word EXCL + .2byte EC_WORD_I + .2byte EC_WORD_REFUSE + .2byte EC_WORD_TO + .2byte EC_WORD_BELIEVE + .2byte EC_WORD_THIS + .2byte EC_WORD_EXCL .4byte gVerdanturfBattleTentTrainerMons_Nala @ 14 - .4byte TRAINER_CLASS_COOLTRAINER_1 + .4byte FACILITY_CLASS_COOLTRAINER_1 .string "DARNELL$", 8 @ pre-battle speech - ec_word I - ec_word WILL - ec_word GO_EASY - ec_word ON - ec_word YOU + .2byte EC_WORD_I + .2byte EC_WORD_WILL + .2byte EC_WORD_GO_EASY + .2byte EC_WORD_ON + .2byte EC_WORD_YOU .2byte -1 @ win speech - ec_word YOUR - ec_move2 FRUSTRATION - ec_word SHOULD - ec_word BE - ec_word HIDDEN - ec_word AWAY + .2byte EC_WORD_YOUR + .2byte EC_MOVE2(FRUSTRATION) + .2byte EC_WORD_SHOULD + .2byte EC_WORD_BE + .2byte EC_WORD_HIDDEN + .2byte EC_WORD_AWAY @ loss speech - ec_word YOU_RE - ec_word TOO - ec_word MUCH - ec_word TO - ec_word TAKE - ec_word ELLIPSIS + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_TOO + .2byte EC_WORD_MUCH + .2byte EC_WORD_TO + .2byte EC_WORD_TAKE + .2byte EC_WORD_ELLIPSIS .4byte gVerdanturfBattleTentTrainerMons_Darnell @ 15 - .4byte TRAINER_CLASS_COOLTRAINER_2 + .4byte FACILITY_CLASS_COOLTRAINER_2 .string "ASHLYN$", 8 @ pre-battle speech - ec_word I - ec_word LOOK - ec_word TOUGH - ec_word DO - ec_word I - ec_word QUES + .2byte EC_WORD_I + .2byte EC_WORD_LOOK + .2byte EC_WORD_TOUGH + .2byte EC_WORD_DO + .2byte EC_WORD_I + .2byte EC_WORD_QUES @ win speech - ec_word I_AM - ec_word NOT - ec_word OVER - ec_word YOUR - ec_move2 TAUNT - ec_word YET + .2byte EC_WORD_I_AM + .2byte EC_WORD_NOT + .2byte EC_WORD_OVER + .2byte EC_WORD_YOUR + .2byte EC_MOVE2(TAUNT) + .2byte EC_WORD_YET @ loss speech - ec_word YOU_RE - ec_word MEAN - ec_word EXCL_EXCL + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_MEAN + .2byte EC_WORD_EXCL_EXCL .2byte -1 .2byte -1 .2byte -1 .4byte gVerdanturfBattleTentTrainerMons_Ashlyn @ 16 - .4byte TRAINER_CLASS_POKEFAN_1 + .4byte FACILITY_CLASS_POKEFAN_1 .string "ADDISON$", 8 @ pre-battle speech - ec_word YES - ec_word EXCL + .2byte EC_WORD_YES + .2byte EC_WORD_EXCL .2byte -1 - ec_word MY - ec_word POKEMON - ec_word EXCL + .2byte EC_WORD_MY + .2byte EC_WORD_POKEMON + .2byte EC_WORD_EXCL @ win speech - ec_word WELL - ec_word WASN_T - ec_word THAT - ec_word EASY - ec_word QUES + .2byte EC_WORD_WELL + .2byte EC_WORD_WASN_T + .2byte EC_WORD_THAT + .2byte EC_WORD_EASY + .2byte EC_WORD_QUES .2byte -1 @ loss speech - ec_word WAAAH - ec_word EXCL + .2byte EC_WORD_WAAAH + .2byte EC_WORD_EXCL .2byte -1 - ec_word BUT - ec_word WHY - ec_word QUES + .2byte EC_WORD_BUT + .2byte EC_WORD_WHY + .2byte EC_WORD_QUES .4byte gVerdanturfBattleTentTrainerMons_Addison @ 17 - .4byte TRAINER_CLASS_POKEFAN_2 + .4byte FACILITY_CLASS_POKEFAN_2 .string "JUSTINE$", 8 @ pre-battle speech - ec_word YES - ec_word EXCL + .2byte EC_WORD_YES + .2byte EC_WORD_EXCL .2byte -1 - ec_word COME_ON - ec_word I_AM - ec_word READY + .2byte EC_WORD_COME_ON + .2byte EC_WORD_I_AM + .2byte EC_WORD_READY @ win speech - ec_word YOU_RE - ec_word JUST - ec_word NOT - ec_word GOOD - ec_word ENOUGH - ec_word EXCL + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_JUST + .2byte EC_WORD_NOT + .2byte EC_WORD_GOOD + .2byte EC_WORD_ENOUGH + .2byte EC_WORD_EXCL @ loss speech - ec_word WOWEE - ec_word EXCL_EXCL + .2byte EC_WORD_WOWEE + .2byte EC_WORD_EXCL_EXCL .2byte -1 .2byte -1 .2byte -1 @@ -469,313 +469,313 @@ gVerdanturfBattleTentTrainers:: @ 85DE610 .4byte gVerdanturfBattleTentTrainerMons_Justine @ 18 - .4byte TRAINER_CLASS_EXPERT_1 + .4byte FACILITY_CLASS_EXPERT_1 .string "TYSON$", 8 @ pre-battle speech - ec_word YOU_RE - ec_word GOING - ec_word TO - ec_word PRESSURE - ec_word ME - ec_word QUES + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_GOING + .2byte EC_WORD_TO + .2byte EC_WORD_PRESSURE + .2byte EC_WORD_ME + .2byte EC_WORD_QUES @ win speech - ec_word WHAT - ec_word QUES - ec_word YOU_RE - ec_word MUCH - ec_word TOO_WEAK - ec_word EXCL + .2byte EC_WORD_WHAT + .2byte EC_WORD_QUES + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_MUCH + .2byte EC_WORD_TOO_WEAK + .2byte EC_WORD_EXCL @ loss speech - ec_word THIS - ec_word DOESN_T - ec_word MAKE - ec_word ME - ec_word HAPPY - ec_word EXCL + .2byte EC_WORD_THIS + .2byte EC_WORD_DOESN_T + .2byte EC_WORD_MAKE + .2byte EC_WORD_ME + .2byte EC_WORD_HAPPY + .2byte EC_WORD_EXCL .4byte gVerdanturfBattleTentTrainerMons_Tyson @ 19 - .4byte TRAINER_CLASS_EXPERT_2 + .4byte FACILITY_CLASS_EXPERT_2 .string "LAILA$", 8 @ pre-battle speech - ec_word A - ec_move2 STRUGGLE - ec_word ISN_T - ec_word VERY - ec_word COOL + .2byte EC_WORD_A + .2byte EC_MOVE2(STRUGGLE) + .2byte EC_WORD_ISN_T + .2byte EC_WORD_VERY + .2byte EC_WORD_COOL .2byte -1 @ win speech - ec_word NOPE - ec_word NOT_VERY - ec_word COOL - ec_word AT - ec_word ALL - ec_word EXCL + .2byte EC_WORD_NOPE + .2byte EC_WORD_NOT_VERY + .2byte EC_WORD_COOL + .2byte EC_WORD_AT + .2byte EC_WORD_ALL + .2byte EC_WORD_EXCL @ loss speech - ec_word YOU_RE - ec_word NOT - ec_word COOL - ec_word BUT - ec_word YOU - ec_word WON + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_NOT + .2byte EC_WORD_COOL + .2byte EC_WORD_BUT + .2byte EC_WORD_YOU + .2byte EC_WORD_WON .4byte gVerdanturfBattleTentTrainerMons_Laila @ 20 - .4byte TRAINER_CLASS_YOUNGSTER + .4byte FACILITY_CLASS_YOUNGSTER .string "WAREN$", 8 @ pre-battle speech - ec_word DANGER - ec_word EXCL + .2byte EC_WORD_DANGER + .2byte EC_WORD_EXCL .2byte -1 - ec_word I - ec_word SENSE - ec_word DANGER + .2byte EC_WORD_I + .2byte EC_WORD_SENSE + .2byte EC_WORD_DANGER @ win speech - ec_word DID - ec_word YOU - ec_word BELIEVE - ec_word MY - ec_word LIE - ec_word QUES_EXCL + .2byte EC_WORD_DID + .2byte EC_WORD_YOU + .2byte EC_WORD_BELIEVE + .2byte EC_WORD_MY + .2byte EC_WORD_LIE + .2byte EC_WORD_QUES_EXCL @ loss speech - ec_word I - ec_word REALLY - ec_word DID - ec_word SENSE - ec_word DANGER - ec_word ELLIPSIS + .2byte EC_WORD_I + .2byte EC_WORD_REALLY + .2byte EC_WORD_DID + .2byte EC_WORD_SENSE + .2byte EC_WORD_DANGER + .2byte EC_WORD_ELLIPSIS .4byte gVerdanturfBattleTentTrainerMons_Waren @ 21 - .4byte TRAINER_CLASS_FISHERMAN + .4byte FACILITY_CLASS_FISHERMAN .string "TOBIAS$", 8 @ pre-battle speech - ec_move2 BARRIER - ec_word EXCL_EXCL + .2byte EC_MOVE2(BARRIER) + .2byte EC_WORD_EXCL_EXCL .2byte -1 - ec_word NOW - ec_word COME_ON - ec_word EXCL + .2byte EC_WORD_NOW + .2byte EC_WORD_COME_ON + .2byte EC_WORD_EXCL @ win speech - ec_word HUH_QUES - ec_word YOU - ec_word MEAN - ec_word I - ec_word WON - ec_word QUES + .2byte EC_WORD_HUH_QUES + .2byte EC_WORD_YOU + .2byte EC_WORD_MEAN + .2byte EC_WORD_I + .2byte EC_WORD_WON + .2byte EC_WORD_QUES @ loss speech - ec_word I - ec_word SHOULD - ec_word KNOW - ec_word THAT - ec_word IT_S - ec_word HOPELESS + .2byte EC_WORD_I + .2byte EC_WORD_SHOULD + .2byte EC_WORD_KNOW + .2byte EC_WORD_THAT + .2byte EC_WORD_IT_S + .2byte EC_WORD_HOPELESS .4byte gVerdanturfBattleTentTrainerMons_Tobias @ 22 - .4byte TRAINER_CLASS_BIRD_KEEPER + .4byte FACILITY_CLASS_BIRD_KEEPER .string "JOSIAH$", 8 @ pre-battle speech - ec_word I - ec_word PROMISE - ec_word TO - ec_move1 FLY - ec_word IF_I_LOSE + .2byte EC_WORD_I + .2byte EC_WORD_PROMISE + .2byte EC_WORD_TO + .2byte EC_MOVE(FLY) + .2byte EC_WORD_IF_I_LOSE .2byte -1 @ win speech - ec_word TOO_WEAK - ec_word ELLIPSIS + .2byte EC_WORD_TOO_WEAK + .2byte EC_WORD_ELLIPSIS .2byte -1 - ec_word YOU - ec_move1 FLY - ec_word INSTEAD + .2byte EC_WORD_YOU + .2byte EC_MOVE(FLY) + .2byte EC_WORD_INSTEAD @ loss speech - ec_word I - ec_word PROMISE - ec_word TO - ec_move1 FLY - ec_word SOMETIME - ec_word SOON + .2byte EC_WORD_I + .2byte EC_WORD_PROMISE + .2byte EC_WORD_TO + .2byte EC_MOVE(FLY) + .2byte EC_WORD_SOMETIME + .2byte EC_WORD_SOON .4byte gVerdanturfBattleTentTrainerMons_Josiah @ 23 - .4byte TRAINER_CLASS_NINJA_BOY + .4byte FACILITY_CLASS_NINJA_BOY .string "DION$", 8 @ pre-battle speech - ec_word IT_S - ec_word TRENDY - ec_word UM - ec_word BATTLE - ec_word SOMETHING + .2byte EC_WORD_IT_S + .2byte EC_WORD_TRENDY + .2byte EC_WORD_UM + .2byte EC_WORD_BATTLE + .2byte EC_WORD_SOMETHING .2byte -1 @ win speech - ec_word WAS - ec_word IT - ec_word ELLIPSIS - ec_word BATTLE - ec_word DATE - ec_word QUES + .2byte EC_WORD_WAS + .2byte EC_WORD_IT + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_BATTLE + .2byte EC_WORD_DATE + .2byte EC_WORD_QUES @ loss speech - ec_word WAS - ec_word IT - ec_word ELLIPSIS - ec_word BATTLE - ec_word GOURMET - ec_word QUES + .2byte EC_WORD_WAS + .2byte EC_WORD_IT + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_BATTLE + .2byte EC_WORD_GOURMET + .2byte EC_WORD_QUES .4byte gVerdanturfBattleTentTrainerMons_Dion @ 24 - .4byte TRAINER_CLASS_PARASOL_LADY + .4byte FACILITY_CLASS_PARASOL_LADY .string "KENZIE$", 8 @ pre-battle speech - ec_word THE - ec_move1 MORNING_SUN - ec_word GIVES - ec_word ME - ec_move1 STRENGTH + .2byte EC_WORD_THE + .2byte EC_MOVE(MORNING_SUN) + .2byte EC_WORD_GIVES + .2byte EC_WORD_ME + .2byte EC_MOVE(STRENGTH) .2byte -1 @ win speech - ec_word BUT - ec_word I - ec_word LIKE - ec_move2 MOONLIGHT - ec_word TOO + .2byte EC_WORD_BUT + .2byte EC_WORD_I + .2byte EC_WORD_LIKE + .2byte EC_MOVE2(MOONLIGHT) + .2byte EC_WORD_TOO .2byte -1 @ loss speech - ec_word YOU_RE - ec_word LIKE - ec_word A - ec_word TERRIBLE - ec_move1 SANDSTORM - ec_word ELLIPSIS + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_LIKE + .2byte EC_WORD_A + .2byte EC_WORD_TERRIBLE + .2byte EC_MOVE(SANDSTORM) + .2byte EC_WORD_ELLIPSIS .4byte gVerdanturfBattleTentTrainerMons_Kenzie @ 25 - .4byte TRAINER_CLASS_SWIMMER_F + .4byte FACILITY_CLASS_SWIMMER_F .string "LILLIAN$", 8 @ pre-battle speech - ec_word I - ec_word DO - ec_word THINGS - ec_word AT - ec_word MY - ec_word OWN_TEMPO + .2byte EC_WORD_I + .2byte EC_WORD_DO + .2byte EC_WORD_THINGS + .2byte EC_WORD_AT + .2byte EC_WORD_MY + .2byte EC_WORD_OWN_TEMPO @ win speech - ec_word I - ec_word WON - ec_word QUES - ec_word WHAT - ec_word A - ec_word SURPRISE + .2byte EC_WORD_I + .2byte EC_WORD_WON + .2byte EC_WORD_QUES + .2byte EC_WORD_WHAT + .2byte EC_WORD_A + .2byte EC_WORD_SURPRISE @ loss speech - ec_word AWW - ec_word ELLIPSIS - ec_word I - ec_word NEED - ec_word A - ec_word NAP + .2byte EC_WORD_AWW + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_I + .2byte EC_WORD_NEED + .2byte EC_WORD_A + .2byte EC_WORD_NAP .4byte gVerdanturfBattleTentTrainerMons_Lillian @ 26 - .4byte TRAINER_CLASS_PICNICKER + .4byte FACILITY_CLASS_PICNICKER .string "LESLEY$", 8 @ pre-battle speech - ec_word YOU - ec_word SHOULD - ec_word NOT - ec_word BE - ec_word LOLLING - ec_word ABOUT + .2byte EC_WORD_YOU + .2byte EC_WORD_SHOULD + .2byte EC_WORD_NOT + .2byte EC_WORD_BE + .2byte EC_WORD_LOLLING + .2byte EC_WORD_ABOUT @ win speech - ec_word YOU - ec_word SHOULD - ec_word GET - ec_word UP - ec_word EARLIER + .2byte EC_WORD_YOU + .2byte EC_WORD_SHOULD + .2byte EC_WORD_GET + .2byte EC_WORD_UP + .2byte EC_WORD_EARLIER .2byte -1 @ loss speech - ec_word THIS - ec_word SHOULD - ec_word NOT - ec_word BE - ec_word HAPPENING - ec_word EXCL + .2byte EC_WORD_THIS + .2byte EC_WORD_SHOULD + .2byte EC_WORD_NOT + .2byte EC_WORD_BE + .2byte EC_WORD_HAPPENING + .2byte EC_WORD_EXCL .4byte gVerdanturfBattleTentTrainerMons_Lesley @ 27 - .4byte TRAINER_CLASS_SAILOR + .4byte FACILITY_CLASS_SAILOR .string "MARQUIS$", 8 @ pre-battle speech - ec_word NONE - ec_word OF - ec_word THIS - ec_word IS - ec_word MAKING - ec_word SENSE + .2byte EC_WORD_NONE + .2byte EC_WORD_OF + .2byte EC_WORD_THIS + .2byte EC_WORD_IS + .2byte EC_WORD_MAKING + .2byte EC_WORD_SENSE @ win speech - ec_word SEE - ec_word QUES - ec_word THIS - ec_word JUST - ec_word ISN_T - ec_word NORMAL + .2byte EC_WORD_SEE + .2byte EC_WORD_QUES + .2byte EC_WORD_THIS + .2byte EC_WORD_JUST + .2byte EC_WORD_ISN_T + .2byte EC_WORD_NORMAL @ loss speech - ec_word SHOULD - ec_word I - ec_word CAUSE - ec_word AN - ec_move1 UPROAR - ec_word QUES + .2byte EC_WORD_SHOULD + .2byte EC_WORD_I + .2byte EC_WORD_CAUSE + .2byte EC_WORD_AN + .2byte EC_MOVE(UPROAR) + .2byte EC_WORD_QUES .4byte gVerdanturfBattleTentTrainerMons_Marquis @ 28 - .4byte TRAINER_CLASS_COLLECTOR + .4byte FACILITY_CLASS_COLLECTOR .string "FREDDY$", 8 @ pre-battle speech - ec_word I - ec_word ADORE - ec_word THIS - ec_word CUTE - ec_word TELEVISION - ec_word IDOL + .2byte EC_WORD_I + .2byte EC_WORD_ADORE + .2byte EC_WORD_THIS + .2byte EC_WORD_CUTE + .2byte EC_WORD_TELEVISION + .2byte EC_WORD_IDOL @ win speech - ec_word YOU_RE - ec_word SO - ec_word FUNNY - ec_word WHEN - ec_word YOU_RE - ec_word ANGRY + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_SO + .2byte EC_WORD_FUNNY + .2byte EC_WORD_WHEN + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_ANGRY @ loss speech - ec_word LATE - ec_word NIGHT - ec_word TELEVISION - ec_word IS - ec_word MY - ec_word LIFE + .2byte EC_WORD_LATE + .2byte EC_WORD_NIGHT + .2byte EC_WORD_TELEVISION + .2byte EC_WORD_IS + .2byte EC_WORD_MY + .2byte EC_WORD_LIFE .4byte gVerdanturfBattleTentTrainerMons_Freddy @ 29 - .4byte TRAINER_CLASS_LASS + .4byte FACILITY_CLASS_LASS .string "CECILIA$", 8 @ pre-battle speech - ec_word MY - ec_word FABULOUS - ec_word CUTENESS - ec_word IS - ec_word IN - ec_word FASHION + .2byte EC_WORD_MY + .2byte EC_WORD_FABULOUS + .2byte EC_WORD_CUTENESS + .2byte EC_WORD_IS + .2byte EC_WORD_IN + .2byte EC_WORD_FASHION @ win speech - ec_word YOU_RE - ec_word NO - ec_word MATCH - ec_word FOR - ec_word MY - ec_word CUTE_CHARM + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_NO + .2byte EC_WORD_MATCH + .2byte EC_WORD_FOR + .2byte EC_WORD_MY + .2byte EC_WORD_CUTE_CHARM @ loss speech - ec_word DON_T - ec_word YOU - ec_word HAVE - ec_word FASHION - ec_word SENSE - ec_word QUES + .2byte EC_WORD_DON_T + .2byte EC_WORD_YOU + .2byte EC_WORD_HAVE + .2byte EC_WORD_FASHION + .2byte EC_WORD_SENSE + .2byte EC_WORD_QUES .4byte gVerdanturfBattleTentTrainerMons_Cecilia diff --git a/data/battle_frontier_1.s b/data/battle_frontier_1.s index 5d82c25f24..34e8df6d2e 100644 --- a/data/battle_frontier_1.s +++ b/data/battle_frontier_1.s @@ -1,206 +1,1895 @@ +#include "constants/flags.h" + .include "asm/macros.inc" .include "constants/constants.inc" .section .rodata - .align 2, 0 gUnknown_0860B358:: @ 860B358 - .incbin "baserom.gba", 0x60b358, 0x1630 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01 + .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 + .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00 + .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01 gUnknown_0860C988:: @ 860C988 - .incbin "baserom.gba", 0x60c988, 0x269 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 + .byte 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00 gUnknown_0860CBF1:: @ 860CBF1 - .incbin "baserom.gba", 0x60cbf1, 0x283 + .byte 0x07, 0x01, 0x08, 0x10, 0x07, 0x01, 0x08, 0x10, 0x07, 0x01, 0x08, 0x10, 0x07, 0x01, 0x08, 0x10, 0x07, 0x01, 0x08, 0x10, 0x00, 0x02, 0x09, 0x10, 0x00, 0x02, 0x09, 0x10, 0x00, 0x02, 0x09, 0x10 + .byte 0x00, 0x02, 0x09, 0x10, 0x00, 0x02, 0x09, 0x10, 0x01, 0x03, 0x0a, 0x11, 0x01, 0x03, 0x0a, 0x11, 0x01, 0x03, 0x0a, 0x11, 0x01, 0x03, 0x0a, 0x11, 0x01, 0x03, 0x0a, 0x11, 0x02, 0x04, 0x0b, 0x11 + .byte 0x02, 0x04, 0x0b, 0x11, 0x02, 0x04, 0x0b, 0x11, 0x02, 0x04, 0x0b, 0x11, 0x02, 0x04, 0x0b, 0x11, 0x03, 0x05, 0x0c, 0x12, 0x03, 0x05, 0x0c, 0x12, 0x03, 0x05, 0x0c, 0x12, 0x03, 0x05, 0x0c, 0x12 + .byte 0x03, 0x05, 0x0c, 0x12, 0x04, 0x06, 0x0d, 0x12, 0x04, 0x06, 0x0d, 0x12, 0x04, 0x06, 0x0d, 0x12, 0x04, 0x06, 0x0d, 0x12, 0x04, 0x06, 0x0d, 0x12, 0x05, 0x07, 0x0e, 0x13, 0x05, 0x07, 0x0e, 0x13 + .byte 0x05, 0x07, 0x0e, 0x13, 0x05, 0x07, 0x0e, 0x13, 0x05, 0x07, 0x0e, 0x13, 0x06, 0x00, 0x0f, 0x13, 0x06, 0x00, 0x0f, 0x13, 0x06, 0x00, 0x0f, 0x13, 0x06, 0x00, 0x0f, 0x13, 0x06, 0x00, 0x0f, 0x13 + .byte 0x1f, 0x09, 0x14, 0x1f, 0x1f, 0x09, 0x14, 0x1f, 0x1f, 0x09, 0x14, 0x1f, 0x1f, 0x09, 0x14, 0x1f, 0x1f, 0x09, 0x14, 0x1f, 0x08, 0x0a, 0x14, 0x01, 0x08, 0x0a, 0x14, 0x01, 0x08, 0x0a, 0x14, 0x01 + .byte 0x08, 0x0a, 0x14, 0x01, 0x08, 0x0a, 0x14, 0x01, 0x09, 0x0b, 0x15, 0x02, 0x09, 0x0b, 0x15, 0x02, 0x09, 0x0b, 0x15, 0x02, 0x09, 0x0b, 0x15, 0x02, 0x09, 0x0b, 0x15, 0x02, 0x0a, 0x0c, 0x15, 0x03 + .byte 0x0a, 0x0c, 0x15, 0x03, 0x0a, 0x0c, 0x15, 0x03, 0x0a, 0x0c, 0x15, 0x03, 0x0a, 0x0c, 0x15, 0x03, 0x0b, 0x0d, 0x16, 0x04, 0x0b, 0x0d, 0x16, 0x04, 0x0b, 0x0d, 0x16, 0x04, 0x0b, 0x0d, 0x16, 0x04 + .byte 0x0b, 0x0d, 0x16, 0x04, 0x0c, 0x0e, 0x16, 0x05, 0x0c, 0x0e, 0x16, 0x05, 0x0c, 0x0e, 0x16, 0x05, 0x0c, 0x0e, 0x16, 0x05, 0x0c, 0x0e, 0x16, 0x05, 0x0d, 0x0f, 0x17, 0x06, 0x0d, 0x0f, 0x17, 0x06 + .byte 0x0d, 0x0f, 0x17, 0x06, 0x0d, 0x0f, 0x17, 0x06, 0x0d, 0x0f, 0x17, 0x06, 0x0e, 0x1f, 0x17, 0x07, 0x0e, 0x1f, 0x17, 0x07, 0x0e, 0x1f, 0x17, 0x07, 0x0e, 0x1f, 0x17, 0x07, 0x0e, 0x1f, 0x17, 0x07 + .byte 0x13, 0x11, 0x00, 0x14, 0x13, 0x11, 0x00, 0x18, 0x13, 0x11, 0x00, 0x18, 0x13, 0x11, 0x00, 0x18, 0x13, 0x11, 0x00, 0x18, 0x10, 0x12, 0x02, 0x15, 0x10, 0x12, 0x02, 0x18, 0x10, 0x12, 0x02, 0x18 + .byte 0x10, 0x12, 0x02, 0x18, 0x10, 0x12, 0x02, 0x18, 0x11, 0x13, 0x04, 0x16, 0x11, 0x13, 0x04, 0x19, 0x11, 0x13, 0x04, 0x19, 0x11, 0x13, 0x04, 0x19, 0x11, 0x13, 0x04, 0x19, 0x12, 0x10, 0x06, 0x17 + .byte 0x12, 0x10, 0x06, 0x19, 0x12, 0x10, 0x06, 0x19, 0x12, 0x10, 0x06, 0x19, 0x12, 0x10, 0x06, 0x19, 0x17, 0x15, 0x10, 0x08, 0x17, 0x15, 0x1a, 0x08, 0x17, 0x15, 0x1a, 0x08, 0x17, 0x15, 0x1a, 0x08 + .byte 0x17, 0x15, 0x1a, 0x08, 0x14, 0x16, 0x11, 0x0a, 0x14, 0x16, 0x1a, 0x0a, 0x14, 0x16, 0x1a, 0x0a, 0x14, 0x16, 0x1a, 0x0a, 0x14, 0x16, 0x1a, 0x0a, 0x15, 0x17, 0x12, 0x0c, 0x15, 0x17, 0x1b, 0x0c + .byte 0x15, 0x17, 0x1b, 0x0c, 0x15, 0x17, 0x1b, 0x0c, 0x15, 0x17, 0x1b, 0x0c, 0x16, 0x14, 0x13, 0x0e, 0x16, 0x14, 0x1b, 0x0e, 0x16, 0x14, 0x1b, 0x0e, 0x16, 0x14, 0x1b, 0x0e, 0x16, 0x14, 0x1b, 0x0e + .byte 0xff, 0xff, 0xff, 0xff, 0x19, 0x19, 0x10, 0x1a, 0x19, 0x19, 0x10, 0x1c, 0x19, 0x19, 0x10, 0x1c, 0x19, 0x19, 0x10, 0x1c, 0xff, 0xff, 0xff, 0xff, 0x18, 0x18, 0x12, 0x1b, 0x18, 0x18, 0x12, 0x1c + .byte 0x18, 0x18, 0x12, 0x1c, 0x18, 0x18, 0x12, 0x1c, 0xff, 0xff, 0xff, 0xff, 0x1b, 0x1b, 0x18, 0x14, 0x1b, 0x1b, 0x1d, 0x14, 0x1b, 0x1b, 0x1d, 0x14, 0x1b, 0x1b, 0x1d, 0x14, 0xff, 0xff, 0xff, 0xff + .byte 0x1a, 0x1a, 0x19, 0x16, 0x1a, 0x1a, 0x1d, 0x16, 0x1a, 0x1a, 0x1d, 0x16, 0x1a, 0x1a, 0x1d, 0x16, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x18, 0x1d, 0xff, 0xff, 0x18, 0x1e + .byte 0xff, 0xff, 0x18, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1c, 0x1a, 0xff, 0xff, 0x1e, 0x1a, 0xff, 0xff, 0x1e, 0x1a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1c, 0x1d, 0xff, 0xff, 0x1c, 0x1d, 0x0f, 0x08, 0x08, 0x00, 0x0f, 0x08, 0x08, 0x00, 0x0f, 0x08, 0x08, 0x00, 0x0f, 0x08, 0x08, 0x00, 0x0f, 0x08, 0x08, 0x00 + .byte 0x00, 0x00, 0x00 + .align 2 gUnknown_0860CE74:: @ 860CE74 - .incbin "baserom.gba", 0x60ce74, 0x10 + .4byte 0x000001c0, 0x000011d5, 0x000021ea, 0x000021fb + .align 2 gUnknown_0860CE84:: @ 860CE84 - .incbin "baserom.gba", 0x60ce84, 0x10 + .4byte 0x00000740, 0x00000785, 0x000017ca, 0x0000107b + .align 2 gUnknown_0860CE94:: @ 860CE94 - .incbin "baserom.gba", 0x60ce94, 0x20 + window_template 0x00, 0x00, 0x03, 0x08, 0x10, 0x0f, 0x0010 + window_template 0x00, 0x16, 0x03, 0x08, 0x10, 0x0f, 0x0090 + window_template 0x00, 0x08, 0x01, 0x0e, 0x02, 0x0f, 0x0110 + null_window_template + .align 2 gUnknown_0860CEB4:: @ 860CEB4 - .incbin "baserom.gba", 0x60ceb4, 0x90 + window_template 0x00, 0x02, 0x02, 0x1a, 0x02, 0x0f, 0x0001 + window_template 0x00, 0x10, 0x05, 0x08, 0x02, 0x0f, 0x0035 + window_template 0x00, 0x13, 0x07, 0x09, 0x03, 0x0f, 0x0045 + window_template 0x00, 0x10, 0x0a, 0x08, 0x02, 0x0f, 0x0060 + window_template 0x00, 0x02, 0x0c, 0x1a, 0x07, 0x0f, 0x0070 + window_template 0x00, 0x05, 0x02, 0x17, 0x02, 0x0f, 0x0126 + window_template 0x00, 0x02, 0x05, 0x08, 0x02, 0x0f, 0x0154 + window_template 0x00, 0x14, 0x05, 0x08, 0x02, 0x0f, 0x0164 + window_template 0x00, 0x02, 0x10, 0x1a, 0x02, 0x0f, 0x0174 + window_template 0x01, 0x02, 0x02, 0x1a, 0x02, 0x0f, 0x0001 + window_template 0x01, 0x10, 0x05, 0x08, 0x02, 0x0f, 0x0035 + window_template 0x01, 0x13, 0x07, 0x09, 0x03, 0x0f, 0x0045 + window_template 0x01, 0x10, 0x0a, 0x08, 0x02, 0x0f, 0x0060 + window_template 0x01, 0x02, 0x0c, 0x1a, 0x07, 0x0f, 0x0070 + window_template 0x01, 0x05, 0x02, 0x17, 0x02, 0x0f, 0x0126 + window_template 0x01, 0x02, 0x05, 0x08, 0x02, 0x0f, 0x0154 + window_template 0x01, 0x14, 0x05, 0x08, 0x02, 0x0f, 0x0164 + window_template 0x01, 0x02, 0x10, 0x1a, 0x02, 0x0f, 0x0174 + .align 2 gUnknown_0860CF44:: @ 860CF44 - .incbin "baserom.gba", 0x60cf44, 0xc + .4byte 0x0400000e, 0xa2600001, 0x00000001 + .align 2 gUnknown_0860CF50:: @ 860CF50 - .incbin "baserom.gba", 0x60cf50, 0x58 + obj_tiles gBattleFrontierGfx_DomeOptions, 0x0600, 0x0000 + null_obj_tiles + .align 2 +gUnknown_0860CF60:: @ 860CF60 + obj_pal gUnknown_08D85444, 0x0000 + null_obj_pal + + .align 2 +gUnknown_0860CF70:: @ 860CF70 + .byte 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00 + + .align 2 +gUnknown_0860CF78:: @ 860CF78 + .byte 0x00, 0x40, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00 + + .align 2 +gUnknown_0860CF80:: @ 860CF80 + .byte 0x00, 0x40, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00 + + .align 2 +gUnknown_0860CF88:: @ 860CF88 + .byte 0x00, 0x80, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00 + + .align 2 +gUnknown_0860CF90:: @ 860CF90 + .2byte 0x0014, 0x0001, 0xffff, 0x0000 + + .align 2 +gUnknown_0860CF98:: @ 860CF98 + .2byte 0x0018, 0x0001, 0xffff, 0x0000 + + .align 2 +gUnknown_0860CFA0:: @ 860CFA0 + .4byte gUnknown_0860CF90 + .4byte gUnknown_0860CF98 + + .align 2 gUnknown_0860CFA8:: @ 860CFA8 - .incbin "baserom.gba", 0x60cfa8, 0x30 + spr_template 0x0000, 0xffff, gUnknown_0860CF70, gUnknown_0860CFA0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 +gUnknown_0860CFC0:: @ 860CFC0 + .2byte 0x0008, 0x0001, 0xffff, 0x0000 + + .align 2 +gUnknown_0860CFC8:: @ 860CFC8 + .2byte 0x0000, 0x0001, 0xffff, 0x0000 + + .align 2 +gUnknown_0860CFD0:: @ 860CFD0 + .4byte gUnknown_0860CFC0 + .4byte gUnknown_0860CFC8 + + .align 2 gUnknown_0860CFD8:: @ 860CFD8 - .incbin "baserom.gba", 0x60cfd8, 0x30 + spr_template 0x0000, 0xffff, gUnknown_0860CF78, gUnknown_0860CFD0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 +gUnknown_0860CFF0:: @ 860CFF0 + .2byte 0x0028, 0x0001, 0xffff, 0x0000 + + .align 2 +gUnknown_0860CFF8:: @ 860CFF8 + .2byte 0x0020, 0x0001, 0xffff, 0x0000 + + .align 2 +gUnknown_0860D000:: @ 860D000 + .4byte gUnknown_0860CFF0 + .4byte gUnknown_0860CFF8 + + .align 2 gUnknown_0860D008:: @ 860D008 - .incbin "baserom.gba", 0x60d008, 0x48 + spr_template 0x0000, 0xffff, gUnknown_0860CF78, gUnknown_0860D000, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 +gUnknown_0860D020:: @ 860D020 + .2byte 0x0012, 0x0001, 0xffff, 0x0000 + + .align 2 +gUnknown_0860D028:: @ 860D028 + .2byte 0x0012, 0x0081, 0xffff, 0x0000 + + .align 2 +gUnknown_0860D030:: @ 860D030 + .2byte 0x0010, 0x0041, 0xffff, 0x0000 + + .align 2 +gUnknown_0860D038:: @ 860D038 + .2byte 0x0010, 0x0001, 0xffff, 0x0000 + + .align 2 +gUnknown_0860D040:: @ 860D040 + .4byte gUnknown_0860D020 + .4byte gUnknown_0860D028 + + .align 2 +gUnknown_0860D048:: @ 860D048 + .4byte gUnknown_0860D030 + .4byte gUnknown_0860D038 + + .align 2 gUnknown_0860D050:: @ 860D050 - .incbin "baserom.gba", 0x60d050, 0x18 + spr_template 0x0000, 0xffff, gUnknown_0860CF88, gUnknown_0860D048, NULL, gDummySpriteAffineAnimTable, sub_8190B40 + .align 2 gUnknown_0860D068:: @ 860D068 - .incbin "baserom.gba", 0x60d068, 0x18 + spr_template 0x0000, 0xffff, gUnknown_0860CF80, gUnknown_0860D040, NULL, gDummySpriteAffineAnimTable, sub_8190C6C + .align 2 gUnknown_0860D080:: @ 860D080 - .incbin "baserom.gba", 0x60d080, 0x10 + .byte 0x00, 0x08, 0x0c, 0x04, 0x07, 0x0f, 0x0b, 0x03, 0x02, 0x0a, 0x0e, 0x06, 0x05, 0x0d, 0x09, 0x01 + .align 2 gUnknown_0860D090:: @ 860D090 - .incbin "baserom.gba", 0x60d090, 0x5c + .4byte sub_818E9CC + .4byte sub_818EA84 + .4byte sub_818ED28 + .4byte sub_818F9B0 + .4byte sub_818F9E0 + .4byte sub_818FA20 + .4byte sub_81903B8 + .4byte sub_81938A4 + .4byte sub_81938E0 + .4byte sub_8190298 + .4byte sub_81902E4 + .4byte sub_8193D40 + .4byte sub_8193D7C + .4byte sub_81902F8 + .4byte sub_819033C + .4byte sub_8194D48 + .4byte sub_8194D68 + .4byte sub_8194E44 + .4byte sub_8194EB4 + .4byte sub_8194EC0 + .4byte sub_8194EF8 + .4byte sub_8194F58 + .4byte sub_818F02C + .align 2 gUnknown_0860D0EC:: @ 860D0EC - .incbin "baserom.gba", 0x60d0ec, 0x10 + .4byte 0x00000004, 0x00000008, 0x00100000, 0x00200000 + .align 2 gUnknown_0860D0FC:: @ 860D0FC - .incbin "baserom.gba", 0x60d0fc, 0x10 + .4byte 0xfffffffb, 0xfffffff7, 0xffefffff, 0xffdfffff + .align 2 gUnknown_0860D10C:: @ 860D10C - .incbin "baserom.gba", 0x60d10c, 0x40 + .byte 0x08, 0x00, 0x04, 0x08, 0x09, 0x0c, 0x08, 0x00, 0x0a, 0x08, 0x0c, 0x00, 0x0b, 0x04, 0x00, 0x08, 0x0c, 0x00, 0x04, 0x08, 0x0d, 0x0c, 0x08, 0x00, 0x0e, 0x08, 0x0c, 0x00, 0x0f, 0x04, 0x00, 0x08 + .byte 0x00, 0x00, 0x04, 0x08, 0x01, 0x0c, 0x08, 0x00, 0x02, 0x08, 0x0c, 0x00, 0x03, 0x04, 0x00, 0x08, 0x04, 0x00, 0x04, 0x08, 0x05, 0x0c, 0x08, 0x00, 0x06, 0x08, 0x0c, 0x00, 0x07, 0x04, 0x00, 0x08 + .align 2 gUnknown_0860D14C:: @ 860D14C - .incbin "baserom.gba", 0x60d14c, 0x10 + .byte 0x00, 0x08, 0x04, 0x0c, 0x07, 0x0f, 0x03, 0x0b, 0x02, 0x0a, 0x06, 0x0e, 0x05, 0x0d, 0x01, 0x09 + .align 2 gUnknown_0860D15C:: @ 860D15C - .incbin "baserom.gba", 0x60d15c, 0x40 + .byte 0x00, 0x08, 0x0c, 0x0e, 0x00, 0x08, 0x0c, 0x0e, 0x01, 0x08, 0x0c, 0x0e, 0x01, 0x08, 0x0c, 0x0e, 0x02, 0x09, 0x0c, 0x0e, 0x02, 0x09, 0x0c, 0x0e, 0x03, 0x09, 0x0c, 0x0e, 0x03, 0x09, 0x0c, 0x0e + .byte 0x04, 0x0a, 0x0d, 0x0e, 0x04, 0x0a, 0x0d, 0x0e, 0x05, 0x0a, 0x0d, 0x0e, 0x05, 0x0a, 0x0d, 0x0e, 0x06, 0x0b, 0x0d, 0x0e, 0x06, 0x0b, 0x0d, 0x0e, 0x07, 0x0b, 0x0d, 0x0e, 0x07, 0x0b, 0x0d, 0x0e + .align 2 gUnknown_0860D19C:: @ 860D19C - .incbin "baserom.gba", 0x60d19c, 0x4 + .byte 0x17, 0x1b, 0x1d, 0x1e + .align 2 gUnknown_0860D1A0:: @ 860D1A0 - .incbin "baserom.gba", 0x60d1a0, 0x20 + .byte 0x10, 0x18, 0x1c, 0x1e, 0x11, 0x18, 0x1c, 0x1e, 0x12, 0x19, 0x1c, 0x1e, 0x13, 0x19, 0x1c, 0x1e, 0x14, 0x1a, 0x1d, 0x1e, 0x15, 0x1a, 0x1d, 0x1e, 0x16, 0x1b, 0x1d, 0x1e, 0x17, 0x1b, 0x1d, 0x1e + .align 2 gUnknown_0860D1C0:: @ 860D1C0 - .incbin "baserom.gba", 0x60d1c0, 0x10 + .byte 0x00, 0x0f, 0x08, 0x07, 0x03, 0x0c, 0x0b, 0x04, 0x01, 0x0e, 0x09, 0x06, 0x02, 0x0d, 0x0a, 0x05 -gUnknown_0860D1D0:: @ 860D1D0 - .incbin "baserom.gba", 0x60d1d0, 0x44 + .align 2 +gBattleDomePotentialPointers:: @ 860D1D0 + .4byte gBattleDomeOpponentPotential1 + .4byte gBattleDomeOpponentPotential2 + .4byte gBattleDomeOpponentPotential3 + .4byte gBattleDomeOpponentPotential4 + .4byte gBattleDomeOpponentPotential5 + .4byte gBattleDomeOpponentPotential6 + .4byte gBattleDomeOpponentPotential7 + .4byte gBattleDomeOpponentPotential8 + .4byte gBattleDomeOpponentPotential9 + .4byte gBattleDomeOpponentPotential10 + .4byte gBattleDomeOpponentPotential11 + .4byte gBattleDomeOpponentPotential12 + .4byte gBattleDomeOpponentPotential13 + .4byte gBattleDomeOpponentPotential14 + .4byte gBattleDomeOpponentPotential15 + .4byte gBattleDomeOpponentPotential16 + .4byte gBattleDomeOpponentPotential17 -gUnknown_0860D214:: @ 860D214 - .incbin "baserom.gba", 0x60d214, 0x80 + .align 2 +gBattleDomeOpponentStylePointers:: @ 860D214 + .4byte gBattleDomeOpponentStyle1 + .4byte gBattleDomeOpponentStyle2 + .4byte gBattleDomeOpponentStyle3 + .4byte gBattleDomeOpponentStyle4 + .4byte gBattleDomeOpponentStyle5 + .4byte gBattleDomeOpponentStyle6 + .4byte gBattleDomeOpponentStyle7 + .4byte gBattleDomeOpponentStyle8 + .4byte gBattleDomeOpponentStyle9 + .4byte gBattleDomeOpponentStyle10 + .4byte gBattleDomeOpponentStyle11 + .4byte gBattleDomeOpponentStyle12 + .4byte gBattleDomeOpponentStyle13 + .4byte gBattleDomeOpponentStyle14 + .4byte gBattleDomeOpponentStyle15 + .4byte gBattleDomeOpponentStyle16 + .4byte gBattleDomeOpponentStyle17 + .4byte gBattleDomeOpponentStyle18 + .4byte gBattleDomeOpponentStyle19 + .4byte gBattleDomeOpponentStyle20 + .4byte gBattleDomeOpponentStyle21 + .4byte gBattleDomeOpponentStyle22 + .4byte gBattleDomeOpponentStyle23 + .4byte gBattleDomeOpponentStyle24 + .4byte gBattleDomeOpponentStyle25 + .4byte gBattleDomeOpponentStyle26 + .4byte gBattleDomeOpponentStyle27 + .4byte gBattleDomeOpponentStyle28 + .4byte gBattleDomeOpponentStyleUnused1 + .4byte gBattleDomeOpponentStyleUnused2 + .4byte gBattleDomeOpponentStyleUnused3 + .4byte gBattleDomeOpponentStyleUnused4 -gUnknown_0860D294:: @ 860D294 - .incbin "baserom.gba", 0x60d294, 0xac + .align 2 +gBattleDomeOpponentStatsPointers:: @ 860D294 + .4byte gBattleDomeOpponentStats1 + .4byte gBattleDomeOpponentStats2 + .4byte gBattleDomeOpponentStats3 + .4byte gBattleDomeOpponentStats4 + .4byte gBattleDomeOpponentStats5 + .4byte gBattleDomeOpponentStats6 + .4byte gBattleDomeOpponentStats7 + .4byte gBattleDomeOpponentStats8 + .4byte gBattleDomeOpponentStats9 + .4byte gBattleDomeOpponentStats10 + .4byte gBattleDomeOpponentStats11 + .4byte gBattleDomeOpponentStats12 + .4byte gBattleDomeOpponentStats13 + .4byte gBattleDomeOpponentStats14 + .4byte gBattleDomeOpponentStats15 + .4byte gBattleDomeOpponentStats16 + .4byte gBattleDomeOpponentStats17 + .4byte gBattleDomeOpponentStats18 + .4byte gBattleDomeOpponentStats19 + .4byte gBattleDomeOpponentStats20 + .4byte gBattleDomeOpponentStats21 + .4byte gBattleDomeOpponentStats22 + .4byte gBattleDomeOpponentStats23 + .4byte gBattleDomeOpponentStats24 + .4byte gBattleDomeOpponentStats25 + .4byte gBattleDomeOpponentStats26 + .4byte gBattleDomeOpponentStats27 + .4byte gBattleDomeOpponentStats28 + .4byte gBattleDomeOpponentStats29 + .4byte gBattleDomeOpponentStats30 + .4byte gBattleDomeOpponentStats31 + .4byte gBattleDomeOpponentStats32 + .4byte gBattleDomeOpponentStats33 + .4byte gBattleDomeOpponentStats34 + .4byte gBattleDomeOpponentStats35 + .4byte gBattleDomeOpponentStats36 + .4byte gBattleDomeOpponentStats37 + .4byte gBattleDomeOpponentStats38 + .4byte gBattleDomeOpponentStats39 + .4byte gBattleDomeOpponentStats40 + .4byte gBattleDomeOpponentStats41 + .4byte gBattleDomeOpponentStats42 + .4byte gBattleDomeOpponentStats43 gUnknown_0860D340:: @ 860D340 - .incbin "baserom.gba", 0x60d340, 0x3 + .byte 0x68, 0x88, 0x68 gUnknown_0860D343:: @ 860D343 - .incbin "baserom.gba", 0x60d343, 0x3 + .byte 0x26, 0x3e, 0x4e gUnknown_0860D346:: @ 860D346 - .incbin "baserom.gba", 0x60d346, 0x3 + .byte 0x00, 0x04, 0x00 gUnknown_0860D349:: @ 860D349 - .incbin "baserom.gba", 0x60d349, 0x7 + .byte 0x00, 0x05, 0x09, 0x0c, 0x0e, 0x00, 0x00 -gUnknown_0860D350:: @ 860D350 - .incbin "baserom.gba", 0x60d350, 0x3c + .align 2 +gBattleDomeMatchNumberPointers:: @ 860D350 + .4byte gBattleDomeMatchNumber1 + .4byte gBattleDomeMatchNumber2 + .4byte gBattleDomeMatchNumber3 + .4byte gBattleDomeMatchNumber4 + .4byte gBattleDomeMatchNumber5 + .4byte gBattleDomeMatchNumber6 + .4byte gBattleDomeMatchNumber7 + .4byte gBattleDomeMatchNumber8 + .4byte gBattleDomeMatchNumber9 + .4byte gBattleDomeMatchNumber10 + .4byte gBattleDomeMatchNumber11 + .4byte gBattleDomeMatchNumber12 + .4byte gBattleDomeMatchNumber13 + .4byte gBattleDomeMatchNumber14 + .4byte gBattleDomeMatchNumber15 -gUnknown_0860D38C:: @ 860D38C - .incbin "baserom.gba", 0x60d38c, 0x1c + .align 2 +gBattleDomeWinStringsPointers:: @ 860D38C + .4byte gBattleDomeWinStrings1 + .4byte gBattleDomeWinStrings2 + .4byte gBattleDomeWinStrings3 + .4byte gBattleDomeWinStrings4 + .4byte gBattleDomeWinStrings5 + .4byte gBattleDomeWinStrings6 + .4byte gBattleDomeWinStrings7 gUnknown_0860D3A8:: @ 860D3A8 - .incbin "baserom.gba", 0x60d3a8, 0x3 + .byte 0x60, 0x60, 0x60 gUnknown_0860D3AB:: @ 860D3AB - .incbin "baserom.gba", 0x60d3ab, 0x3 + .byte 0x38, 0x50, 0x68 gUnknown_0860D3AE:: @ 860D3AE - .incbin "baserom.gba", 0x60d3ae, 0x3 + .byte 0x90, 0x90, 0x90 gUnknown_0860D3B1:: @ 860D3B1 - .incbin "baserom.gba", 0x60d3b1, 0x3 + .byte 0x38, 0x50, 0x68 gUnknown_0860D3B4:: @ 860D3B4 - .incbin "baserom.gba", 0x60d3b4, 0x10 + .byte 0x00, 0x08, 0x0c, 0x04, 0x07, 0x0f, 0x0b, 0x03, 0x02, 0x0a, 0x0e, 0x06, 0x05, 0x0d, 0x09, 0x01 gUnknown_0860D3C4:: @ 860D3C4 - .incbin "baserom.gba", 0x60d3c4, 0x2 + .byte 0x00, 0x02 gUnknown_0860D3C6:: @ 860D3C6 - .incbin "baserom.gba", 0x60d3c6, 0x2b + .byte 0x00, 0x02, 0x02, 0x00, 0x04, 0x02, 0x00, 0x06, 0x02, 0x00, 0x08, 0x02, 0x00, 0x0a, 0x02, 0x00, 0x0c, 0x02, 0x00, 0x0e, 0x02, 0x00, 0x00, 0x04, 0x01, 0x04, 0x04, 0x01, 0x08, 0x04, 0x01, 0x0c + .byte 0x04, 0x01, 0x00, 0x08, 0x02, 0x08, 0x08, 0x02, 0x00, 0x10, 0x03 gUnknown_0860D3F1:: @ 860D3F1 - .incbin "baserom.gba", 0x60d3f1, 0x1 + .byte 0x00 gUnknown_0860D3F2:: @ 860D3F2 - .incbin "baserom.gba", 0x60d3f2, 0x1f + .byte 0x00, 0x01, 0x70, 0x01, 0x00, 0x00, 0x70, 0x00, 0x30, 0x01, 0x40, 0x01, 0x30, 0x00, 0x40, 0x00, 0x10, 0x01, 0x60, 0x01, 0x10, 0x00, 0x60, 0x00, 0x20, 0x01, 0x50, 0x01, 0x20, 0x00, 0x50 -gUnknown_0860D411:: @ 860D411 - .incbin "baserom.gba", 0x60d411, 0x8ff +gUnknown_0860D411:: @ 860D411 struct - byte 1 and 2 loaded seperately, 2 added to move 1 addr across + .byte 0x44, 0x21, 0x44, 0x31, 0x44, 0x41, 0x44, 0x51, 0x44, 0x61, 0x44, 0x71, 0x44, 0x81, 0x44, 0x91, 0xac, 0x21, 0xac, 0x31, 0xac, 0x41, 0xac, 0x51, 0xac, 0x61, 0xac, 0x71, 0xac, 0x81, 0xac, 0x91 + .byte 0x57, 0x29, 0x57, 0x49, 0x57, 0x69, 0x57, 0x89, 0x99, 0x29, 0x99, 0x49, 0x99, 0x69, 0x99, 0x89, 0x5f, 0x39, 0x5f, 0x79, 0x91, 0x39, 0x91, 0x79, 0x67, 0x59, 0x89, 0x59, 0x78, 0x59, 0x00 + .align 2 +gUnknown_0860d450:: @ 860D450 + .4byte 0x60210409 + .4byte 0x6023040a + .4byte 0x6047050a + .4byte 0x6043050b + + .align 2 +gUnknown_0860d460:: @ 860D460 + .4byte 0x60210409 + .4byte 0x6023040a + .4byte 0x6047050a + .4byte 0x6023050b + .4byte 0x6027060b + .4byte 0x6047070b + .4byte 0x6043070c + + .align 2 +gUnknown_0860d47c:: @ 860D47C + .4byte 0x60210409 + .4byte 0x6023040a + .4byte 0x6047050a + .4byte 0x6023050b + .4byte 0x6027060b + .4byte 0x6047070b + .4byte 0x6023070c + .4byte 0x6027080c + .4byte 0x6027090c + .4byte 0x60270a0c + .4byte 0x603b0b0c + + .align 2 +gUnknown_0860d4a8:: @ 860D4A8 + .4byte 0x60210409 + .4byte 0x6023040a + .4byte 0x6047050a + .4byte 0x6023050b + .4byte 0x6027060b + .4byte 0x6047070b + .4byte 0x6023070c + .4byte 0x6027080c + .4byte 0x6027090c + .4byte 0x60270a0c + .4byte 0x603b0b0c + .4byte 0x602c0b0d + .4byte 0x602d0b0e + + .align 2 +gUnknown_0860d4dc:: @ 860D4DC + .4byte 0x60210609 + .4byte 0x6021060a + .4byte 0x6027050a + .4byte 0x6043050b + + .align 2 +gUnknown_0860d4ec:: @ 860D4EC + .4byte 0x60210609 + .4byte 0x6021060a + .4byte 0x6027050a + .4byte 0x6023050b + .4byte 0x6027060b + .4byte 0x6047070b + .4byte 0x6043070c + + .align 2 +gUnknown_0860d508:: @ 860D508 + .4byte 0x60210609 + .4byte 0x6021060a + .4byte 0x6027050a + .4byte 0x6023050b + .4byte 0x6027060b + .4byte 0x6047070b + .4byte 0x6023070c + .4byte 0x6027080c + .4byte 0x6027090c + .4byte 0x60270a0c + .4byte 0x603b0b0c + + .align 2 +gUnknown_0860d534:: @ 860D534 + .4byte 0x60210609 + .4byte 0x6021060a + .4byte 0x6027050a + .4byte 0x6023050b + .4byte 0x6027060b + .4byte 0x6047070b + .4byte 0x6023070c + .4byte 0x6027080c + .4byte 0x6027090c + .4byte 0x60270a0c + .4byte 0x603b0b0c + .4byte 0x602c0b0d + .4byte 0x602d0b0e + + .align 2 +gUnknown_0860d568:: @ 860D568 + .4byte 0x60210809 + .4byte 0x6023080a + .4byte 0x6047090a + .4byte 0x6021090b + + .align 2 +gUnknown_0860d578:: @ 860D578 + .4byte 0x60210809 + .4byte 0x6023080a + .4byte 0x6047090a + .4byte 0x6021090b + .4byte 0x6027080b + .4byte 0x6027070b + .4byte 0x6043070c + + .align 2 +gUnknown_0860d594:: @ 860D594 + .4byte 0x60210809 + .4byte 0x6023080a + .4byte 0x6047090a + .4byte 0x6021090b + .4byte 0x6027080b + .4byte 0x6027070b + .4byte 0x6023070c + .4byte 0x6027080c + .4byte 0x6027090c + .4byte 0x60270a0c + .4byte 0x603b0b0c + + .align 2 +gUnknown_0860d5c0:: @ 860D5C0 + .4byte 0x60210809 + .4byte 0x6023080a + .4byte 0x6047090a + .4byte 0x6021090b + .4byte 0x6027080b + .4byte 0x6027070b + .4byte 0x6023070c + .4byte 0x6027080c + .4byte 0x6027090c + .4byte 0x60270a0c + .4byte 0x603b0b0c + .4byte 0x602c0b0d + .4byte 0x602d0b0e + + .align 2 +gUnknown_0860d5f4:: @ 860D5F4 + .4byte 0x60210a09 + .4byte 0x60210a0a + .4byte 0x6027090a + .4byte 0x6021090b + + .align 2 +gUnknown_0860d604:: @ 860D604 + .4byte 0x60210a09 + .4byte 0x60210a0a + .4byte 0x6027090a + .4byte 0x6021090b + .4byte 0x6027080b + .4byte 0x6027070b + .4byte 0x6043070c + + .align 2 +gUnknown_0860d620:: @ 860D620 + .4byte 0x60210a09 + .4byte 0x60210a0a + .4byte 0x6027090a + .4byte 0x6021090b + .4byte 0x6027080b + .4byte 0x6027070b + .4byte 0x6023070c + .4byte 0x6027080c + .4byte 0x6027090c + .4byte 0x60270a0c + .4byte 0x603b0b0c + + .align 2 +gUnknown_0860d64c:: @ 860D64C + .4byte 0x60210a09 + .4byte 0x60210a0a + .4byte 0x6027090a + .4byte 0x6021090b + .4byte 0x6027080b + .4byte 0x6027070b + .4byte 0x6023070c + .4byte 0x6027080c + .4byte 0x6027090c + .4byte 0x60270a0c + .4byte 0x603b0b0c + .4byte 0x602c0b0d + .4byte 0x602d0b0e + + .align 2 +gUnknown_0860d680:: @ 860D680 + .4byte 0x60210c09 + .4byte 0x60230c0a + .4byte 0x60470d0a + .4byte 0x60430d0b + + .align 2 +gUnknown_0860d690:: @ 860D690 + .4byte 0x60210c09 + .4byte 0x60230c0a + .4byte 0x60470d0a + .4byte 0x60230d0b + .4byte 0x60270e0b + .4byte 0x60470f0b + .4byte 0x60210f0c + + .align 2 +gUnknown_0860d6ac:: @ 860D6AC + .4byte 0x60210c09 + .4byte 0x60230c0a + .4byte 0x60470d0a + .4byte 0x60230d0b + .4byte 0x60270e0b + .4byte 0x60470f0b + .4byte 0x60210f0c + .4byte 0x60330e0c + .4byte 0x60320d0c + .4byte 0x60310c0c + .4byte 0x60300b0c + + .align 2 +gUnknown_0860d6d8:: @ 860D6D8 + .4byte 0x60210c09 + .4byte 0x60230c0a + .4byte 0x60470d0a + .4byte 0x60230d0b + .4byte 0x60270e0b + .4byte 0x60470f0b + .4byte 0x60210f0c + .4byte 0x60330e0c + .4byte 0x60320d0c + .4byte 0x60310c0c + .4byte 0x60300b0c + .4byte 0x602c0b0d + .4byte 0x602d0b0e + + .align 2 +gUnknown_0860d70c:: @ 860D70C + .4byte 0x60210e09 + .4byte 0x60210e0a + .4byte 0x60270d0a + .4byte 0x60430d0b + + .align 2 +gUnknown_0860d71c:: @ 860D71C + .4byte 0x60210e09 + .4byte 0x60210e0a + .4byte 0x60270d0a + .4byte 0x60230d0b + .4byte 0x60270e0b + .4byte 0x60470f0b + .4byte 0x60210f0c + + .align 2 +gUnknown_0860d738:: @ 860D738 + .4byte 0x60210e09 + .4byte 0x60210e0a + .4byte 0x60270d0a + .4byte 0x60230d0b + .4byte 0x60270e0b + .4byte 0x60470f0b + .4byte 0x60210f0c + .4byte 0x60330e0c + .4byte 0x60320d0c + .4byte 0x60310c0c + .4byte 0x60300b0c + + .align 2 +gUnknown_0860d764:: @ 860D764 + .4byte 0x60210e09 + .4byte 0x60210e0a + .4byte 0x60270d0a + .4byte 0x60230d0b + .4byte 0x60270e0b + .4byte 0x60470f0b + .4byte 0x60210f0c + .4byte 0x60330e0c + .4byte 0x60320d0c + .4byte 0x60310c0c + .4byte 0x60300b0c + .4byte 0x602c0b0d + .4byte 0x602d0b0e + + .align 2 +gUnknown_0860d798:: @ 860D798 + .4byte 0x60211009 + .4byte 0x6023100a + .4byte 0x6047110a + .4byte 0x6021110b + + .align 2 +gUnknown_0860d7a8:: @ 860D7A8 + .4byte 0x60211009 + .4byte 0x6023100a + .4byte 0x6047110a + .4byte 0x6021110b + .4byte 0x6027100b + .4byte 0x60270f0b + .4byte 0x60210f0c + + .align 2 +gUnknown_0860d7c4:: @ 860D7C4 + .4byte 0x60211009 + .4byte 0x6023100a + .4byte 0x6047110a + .4byte 0x6021110b + .4byte 0x6027100b + .4byte 0x60270f0b + .4byte 0x60210f0c + .4byte 0x60330e0c + .4byte 0x60320d0c + .4byte 0x60310c0c + .4byte 0x60300b0c + + .align 2 +gUnknown_0860d7f0:: @ 860D7F0 + .4byte 0x60211009 + .4byte 0x6023100a + .4byte 0x6047110a + .4byte 0x6021110b + .4byte 0x6027100b + .4byte 0x60270f0b + .4byte 0x60210f0c + .4byte 0x60330e0c + .4byte 0x60320d0c + .4byte 0x60310c0c + .4byte 0x60300b0c + .4byte 0x602c0b0d + .4byte 0x602d0b0e + + .align 2 +gUnknown_0860d824:: @ 860D824 + .4byte 0x602b1209 + .4byte 0x602b120a + .4byte 0x6027110a + .4byte 0x6021110b + + .align 2 +gUnknown_0860d834:: @ 860D834 + .4byte 0x602b1209 + .4byte 0x602b120a + .4byte 0x6027110a + .4byte 0x6021110b + .4byte 0x6027100b + .4byte 0x60270f0b + .4byte 0x60210f0c + + .align 2 +gUnknown_0860d850:: @ 860D850 + .4byte 0x602b1209 + .4byte 0x602b120a + .4byte 0x6027110a + .4byte 0x6021110b + .4byte 0x6027100b + .4byte 0x60270f0b + .4byte 0x60210f0c + .4byte 0x60330e0c + .4byte 0x60320d0c + .4byte 0x60310c0c + .4byte 0x60300b0c + + .align 2 +gUnknown_0860d87c:: @ 860D87C + .4byte 0x602b1209 + .4byte 0x602b120a + .4byte 0x6027110a + .4byte 0x6021110b + .4byte 0x6027100b + .4byte 0x60270f0b + .4byte 0x60210f0c + .4byte 0x60330e0c + .4byte 0x60320d0c + .4byte 0x60310c0c + .4byte 0x60300b0c + .4byte 0x602c0b0d + .4byte 0x602d0b0e + + .align 2 +gUnknown_0860d8b0:: @ 860D8B0 + .4byte 0x60210414 + .4byte 0x60250413 + .4byte 0x60490513 + .4byte 0x60450512 + + .align 2 +gUnknown_0860d8c0:: @ 860D8C0 + .4byte 0x60210414 + .4byte 0x60250413 + .4byte 0x60490513 + .4byte 0x60250512 + .4byte 0x60290612 + .4byte 0x60490712 + .4byte 0x60450711 + + .align 2 +gUnknown_0860d8dc:: @ 860D8DC + .4byte 0x60210414 + .4byte 0x60250413 + .4byte 0x60490513 + .4byte 0x60250512 + .4byte 0x60290612 + .4byte 0x60490712 + .4byte 0x60250711 + .4byte 0x60290811 + .4byte 0x60290911 + .4byte 0x60290a11 + .4byte 0x603c0b11 + + .align 2 +gUnknown_0860d908:: @ 860D908 + .4byte 0x60210414 + .4byte 0x60250413 + .4byte 0x60490513 + .4byte 0x60250512 + .4byte 0x60290612 + .4byte 0x60490712 + .4byte 0x60250711 + .4byte 0x60290811 + .4byte 0x60290911 + .4byte 0x60290a11 + .4byte 0x603c0b11 + .4byte 0x602f0b10 + .4byte 0x602e0b0f + + .align 2 +gUnknown_0860d93c:: @ 860D93C + .4byte 0x60210614 + .4byte 0x60210613 + .4byte 0x60290513 + .4byte 0x60450512 + + .align 2 +gUnknown_0860d94c:: @ 860D94C + .4byte 0x60210614 + .4byte 0x60210613 + .4byte 0x60290513 + .4byte 0x60250512 + .4byte 0x60290612 + .4byte 0x60490712 + .4byte 0x60450711 + + .align 2 +gUnknown_0860d968:: @ 860D968 + .4byte 0x60210614 + .4byte 0x60210613 + .4byte 0x60290513 + .4byte 0x60250512 + .4byte 0x60290612 + .4byte 0x60490712 + .4byte 0x60250711 + .4byte 0x60290811 + .4byte 0x60290911 + .4byte 0x60290a11 + .4byte 0x603c0b11 + + .align 2 +gUnknown_0860d994:: @ 860D994 + .4byte 0x60210614 + .4byte 0x60210613 + .4byte 0x60290513 + .4byte 0x60250512 + .4byte 0x60290612 + .4byte 0x60490712 + .4byte 0x60250711 + .4byte 0x60290811 + .4byte 0x60290911 + .4byte 0x60290a11 + .4byte 0x603c0b11 + .4byte 0x602f0b10 + .4byte 0x602e0b0f + + .align 2 +gUnknown_0860d9c8:: @ 860D9C8 + .4byte 0x60210814 + .4byte 0x60250813 + .4byte 0x60490913 + .4byte 0x60210912 + + .align 2 +gUnknown_0860d9d8:: @ 860D9D8 + .4byte 0x60210814 + .4byte 0x60250813 + .4byte 0x60490913 + .4byte 0x60210912 + .4byte 0x60290812 + .4byte 0x60290712 + .4byte 0x60450711 + + .align 2 +gUnknown_0860d9f4:: @ 860D9F4 + .4byte 0x60210814 + .4byte 0x60250813 + .4byte 0x60490913 + .4byte 0x60210912 + .4byte 0x60290812 + .4byte 0x60290712 + .4byte 0x60250711 + .4byte 0x60290811 + .4byte 0x60290911 + .4byte 0x60290a11 + .4byte 0x603c0b11 + + .align 2 +gUnknown_0860da20:: @ 860DA20 + .4byte 0x60210814 + .4byte 0x60250813 + .4byte 0x60490913 + .4byte 0x60210912 + .4byte 0x60290812 + .4byte 0x60290712 + .4byte 0x60250711 + .4byte 0x60290811 + .4byte 0x60290911 + .4byte 0x60290a11 + .4byte 0x603c0b11 + .4byte 0x602f0b10 + .4byte 0x602e0b0f + + .align 2 +gUnknown_0860da54:: @ 860DA54 + .4byte 0x60210a14 + .4byte 0x60210a13 + .4byte 0x60290913 + .4byte 0x60210912 + + .align 2 +gUnknown_0860da64:: @ 860DA64 + .4byte 0x60210a14 + .4byte 0x60210a13 + .4byte 0x60290913 + .4byte 0x60210912 + .4byte 0x60290812 + .4byte 0x60290712 + .4byte 0x60450711 + + .align 2 +gUnknown_0860da80:: @ 860DA80 + .4byte 0x60210a14 + .4byte 0x60210a13 + .4byte 0x60290913 + .4byte 0x60210912 + .4byte 0x60290812 + .4byte 0x60290712 + .4byte 0x60250711 + .4byte 0x60290811 + .4byte 0x60290911 + .4byte 0x60290a11 + .4byte 0x603c0b11 + + .align 2 +gUnknown_0860daac:: @ 860DAAC + .4byte 0x60210a14 + .4byte 0x60210a13 + .4byte 0x60290913 + .4byte 0x60210912 + .4byte 0x60290812 + .4byte 0x60290712 + .4byte 0x60250711 + .4byte 0x60290811 + .4byte 0x60290911 + .4byte 0x60290a11 + .4byte 0x603c0b11 + .4byte 0x602f0b10 + .4byte 0x602e0b0f + + .align 2 +gUnknown_0860dae0:: @ 860DAE0 + .4byte 0x60210c14 + .4byte 0x60250c13 + .4byte 0x60490d13 + .4byte 0x60450d12 + + .align 2 +gUnknown_0860daf0:: @ 860DAF0 + .4byte 0x60210c14 + .4byte 0x60250c13 + .4byte 0x60490d13 + .4byte 0x60250d12 + .4byte 0x60290e12 + .4byte 0x60490f12 + .4byte 0x60210f11 + + .align 2 +gUnknown_0860db0c:: @ 860DB0C + .4byte 0x60210c14 + .4byte 0x60250c13 + .4byte 0x60490d13 + .4byte 0x60250d12 + .4byte 0x60290e12 + .4byte 0x60490f12 + .4byte 0x60210f11 + .4byte 0x60380e11 + .4byte 0x60370d11 + .4byte 0x60360c11 + .4byte 0x60350b11 + + .align 2 +gUnknown_0860db38:: @ 860DB38 + .4byte 0x60210c14 + .4byte 0x60250c13 + .4byte 0x60490d13 + .4byte 0x60250d12 + .4byte 0x60290e12 + .4byte 0x60490f12 + .4byte 0x60210f11 + .4byte 0x60380e11 + .4byte 0x60370d11 + .4byte 0x60360c11 + .4byte 0x60350b11 + .4byte 0x602f0b10 + .4byte 0x602e0b0f + + .align 2 +gUnknown_0860db6c:: @ 860DB6C + .4byte 0x60210e14 + .4byte 0x60210e13 + .4byte 0x60290d13 + .4byte 0x60450d12 + + .align 2 +gUnknown_0860db7c:: @ 860DB7C + .4byte 0x60210e14 + .4byte 0x60210e13 + .4byte 0x60290d13 + .4byte 0x60250d12 + .4byte 0x60290e12 + .4byte 0x60490f12 + .4byte 0x60210f11 + + .align 2 +gUnknown_0860db98:: @ 860DB98 + .4byte 0x60210e14 + .4byte 0x60210e13 + .4byte 0x60290d13 + .4byte 0x60250d12 + .4byte 0x60290e12 + .4byte 0x60490f12 + .4byte 0x60210f11 + .4byte 0x60380e11 + .4byte 0x60370d11 + .4byte 0x60360c11 + .4byte 0x60350b11 + + .align 2 +gUnknown_0860dbc4:: @ 860DBC4 + .4byte 0x60210e14 + .4byte 0x60210e13 + .4byte 0x60290d13 + .4byte 0x60250d12 + .4byte 0x60290e12 + .4byte 0x60490f12 + .4byte 0x60210f11 + .4byte 0x60380e11 + .4byte 0x60370d11 + .4byte 0x60360c11 + .4byte 0x60350b11 + .4byte 0x602f0b10 + .4byte 0x602e0b0f + + .align 2 +gUnknown_0860dbf8:: @ 860DBF8 + .4byte 0x60211014 + .4byte 0x60251013 + .4byte 0x60491113 + .4byte 0x60211112 + + .align 2 +gUnknown_0860dc08:: @ 860DC08 + .4byte 0x60211014 + .4byte 0x60251013 + .4byte 0x60491113 + .4byte 0x60211112 + .4byte 0x60291012 + .4byte 0x60290f12 + .4byte 0x60210f11 + + .align 2 +gUnknown_0860dc24:: @ 860DC24 + .4byte 0x60211014 + .4byte 0x60251013 + .4byte 0x60491113 + .4byte 0x60211112 + .4byte 0x60291012 + .4byte 0x60290f12 + .4byte 0x60210f11 + .4byte 0x60380e11 + .4byte 0x60370d11 + .4byte 0x60360c11 + .4byte 0x60350b11 + + .align 2 +gUnknown_0860dc50:: @ 860DC50 + .4byte 0x60211014 + .4byte 0x60251013 + .4byte 0x60491113 + .4byte 0x60211112 + .4byte 0x60291012 + .4byte 0x60290f12 + .4byte 0x60210f11 + .4byte 0x60380e11 + .4byte 0x60370d11 + .4byte 0x60360c11 + .4byte 0x60350b11 + .4byte 0x602f0b10 + .4byte 0x602e0b0f + + .align 2 +gUnknown_0860dc84:: @ 860DC84 + .4byte 0x602b1214 + .4byte 0x602b1213 + .4byte 0x60291113 + .4byte 0x60211112 + + .align 2 +gUnknown_0860dc94:: @ 860DC94 + .4byte 0x602b1214 + .4byte 0x602b1213 + .4byte 0x60291113 + .4byte 0x60211112 + .4byte 0x60291012 + .4byte 0x60290f12 + .4byte 0x60210f11 + + .align 2 +gUnknown_0860dcb0:: @ 860DCB0 + .4byte 0x602b1214 + .4byte 0x602b1213 + .4byte 0x60291113 + .4byte 0x60211112 + .4byte 0x60291012 + .4byte 0x60290f12 + .4byte 0x60210f11 + .4byte 0x60380e11 + .4byte 0x60370d11 + .4byte 0x60360c11 + .4byte 0x60350b11 + + .align 2 +gUnknown_0860dcdc:: @ 860DCDC + .4byte 0x602b1214 + .4byte 0x602b1213 + .4byte 0x60291113 + .4byte 0x60211112 + .4byte 0x60291012 + .4byte 0x60290f12 + .4byte 0x60210f11 + .4byte 0x60380e11 + .4byte 0x60370d11 + .4byte 0x60360c11 + .4byte 0x60350b11 + .4byte 0x602f0b10 + .4byte 0x602e0b0f + + .align 2 gUnknown_0860DD10:: @ 860DD10 - .incbin "baserom.gba", 0x60dd10, 0x100 + .4byte gUnknown_0860d450 + .4byte gUnknown_0860d460 + .4byte gUnknown_0860d47c + .4byte gUnknown_0860d4a8 + .4byte gUnknown_0860dc84 + .4byte gUnknown_0860dc94 + .4byte gUnknown_0860dcb0 + .4byte gUnknown_0860dcdc + .4byte gUnknown_0860d8b0 + .4byte gUnknown_0860d8c0 + .4byte gUnknown_0860d8dc + .4byte gUnknown_0860d908 + .4byte gUnknown_0860d824 + .4byte gUnknown_0860d834 + .4byte gUnknown_0860d850 + .4byte gUnknown_0860d87c + .4byte gUnknown_0860d5f4 + .4byte gUnknown_0860d604 + .4byte gUnknown_0860d620 + .4byte gUnknown_0860d64c + .4byte gUnknown_0860dae0 + .4byte gUnknown_0860daf0 + .4byte gUnknown_0860db0c + .4byte gUnknown_0860db38 + .4byte gUnknown_0860da54 + .4byte gUnknown_0860da64 + .4byte gUnknown_0860da80 + .4byte gUnknown_0860daac + .4byte gUnknown_0860d680 + .4byte gUnknown_0860d690 + .4byte gUnknown_0860d6ac + .4byte gUnknown_0860d6d8 + .4byte gUnknown_0860d4dc + .4byte gUnknown_0860d4ec + .4byte gUnknown_0860d508 + .4byte gUnknown_0860d534 + .4byte gUnknown_0860dbf8 + .4byte gUnknown_0860dc08 + .4byte gUnknown_0860dc24 + .4byte gUnknown_0860dc50 + .4byte gUnknown_0860d93c + .4byte gUnknown_0860d94c + .4byte gUnknown_0860d968 + .4byte gUnknown_0860d994 + .4byte gUnknown_0860d798 + .4byte gUnknown_0860d7a8 + .4byte gUnknown_0860d7c4 + .4byte gUnknown_0860d7f0 + .4byte gUnknown_0860d568 + .4byte gUnknown_0860d578 + .4byte gUnknown_0860d594 + .4byte gUnknown_0860d5c0 + .4byte gUnknown_0860db6c + .4byte gUnknown_0860db7c + .4byte gUnknown_0860db98 + .4byte gUnknown_0860dbc4 + .4byte gUnknown_0860d9c8 + .4byte gUnknown_0860d9d8 + .4byte gUnknown_0860d9f4 + .4byte gUnknown_0860da20 + .4byte gUnknown_0860d70c + .4byte gUnknown_0860d71c + .4byte gUnknown_0860d738 + .4byte gUnknown_0860d764 gUnknown_0860DE10:: @ 860DE10 - .incbin "baserom.gba", 0x60de10, 0x40 + .byte 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d + .byte 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d, 0x04, 0x07, 0x0b, 0x0d + .align 2 gUnknown_0860DE50:: @ 860DE50 - .incbin "baserom.gba", 0x60de50, 0x28 - + .4byte sub_8195980 + .4byte sub_8195A38 + .4byte sub_8195AE4 + .4byte sub_8195BB0 + .4byte sub_8195C20 + .4byte sub_8195C50 + .4byte sub_8195C7C + .4byte sub_8195CE4 + .4byte sub_8195D28 + .4byte sub_8195DB8 + gUnknown_0860DE78:: @ 860DE78 - .incbin "baserom.gba", 0x60de78, 0xc + .2byte 0x003f, 0x0040, 0x0041, 0x0043, 0x0042, 0x0046 gUnknown_0860DE84:: @ 860DE84 - .incbin "baserom.gba", 0x60de84, 0x14 + .2byte 0x00b3, 0x00b4, 0x00b7, 0x00c8, 0x00b9, 0x00bb, 0x00c4, 0x00c6, 0x00ba, 0x0000 gUnknown_0860DE98:: @ 860DE98 - .incbin "baserom.gba", 0x60de98, 0x10 + .4byte 0x00000010, 0x00000020, 0x00400000, 0x00800000 gUnknown_0860DEA8:: @ 860DEA8 - .incbin "baserom.gba", 0x60dea8, 0x10 + .4byte 0xffffffef, 0xffffffdf, 0xffbfffff, 0xff7fffff -gUnknown_0860DEB8:: @ 860DEB8 - .incbin "baserom.gba", 0x60deb8, 0xb68 + .align 2 +gUnknown_0860DEB8:: @ 860DEB8 //struct + .2byte 0x0025, 0x0000, 0x0108, 0x0208, 0x0308, 0x0103, 0x0008, 0x0108, 0x0208, 0x0000 + .2byte 0x02e1, 0x0000, 0x010c, 0x020c, 0x030c, 0x013e, 0x000c, 0x010c, 0x020c, 0x0000 + .2byte 0x002c, 0x0000, 0x010c, 0x020c, 0x030c, 0x0104, 0x000c, 0x010c, 0x020c, 0x0000 + .2byte 0x0039, 0x0000, 0x0102, 0x0202, 0x0302, 0x0105, 0x0002, 0x0102, 0x0202, 0x0000 + .2byte 0x0040, 0x0000, 0x0101, 0x0201, 0x0301, 0x0106, 0x0001, 0x0101, 0x0201, 0x0000 + .2byte 0x02af, 0x0004, 0x0101, 0x0201, 0x0301, 0x013d, 0x0001, 0x0101, 0x0201, 0x0000 + .2byte 0x02ff, 0x0000, 0x010a, 0x020a, 0x030a, 0x0140, 0x000a, 0x010a, 0x020a, 0x0000 + .2byte 0x005e, 0x0000, 0x0109, 0x0209, 0x0309, 0x0108, 0x0009, 0x0109, 0x0209, 0x0000 + .2byte 0x004e, 0x0000, 0x0106, 0x0206, 0x0306, 0x0107, 0x0006, 0x0106, 0x0206, 0x0000 + .2byte 0x006c, 0x0000, 0x0108, 0x0208, 0x0308, 0x0109, 0x0008, 0x0108, 0x0208, 0x0000 + .2byte 0x0072, 0x0000, 0x0108, 0x0208, 0x0308, 0x010a, 0x0008, 0x0108, 0x0208, 0x0000 + .2byte 0x0090, 0x0000, 0x0108, 0x020a, 0x030a, 0x010e, 0x000a, 0x0108, 0x020a, 0x0000 + .2byte 0x007f, 0x0000, 0x010a, 0x020a, 0x030a, 0x010b, 0x000a, 0x0108, 0x020a, 0x0000 + .2byte 0x0088, 0x0000, 0x0104, 0x0204, 0x0304, 0x010c, 0x0004, 0x0104, 0x0204, 0x0000 + .2byte 0x008f, 0x0000, 0x0107, 0x0207, 0x0307, 0x010d, 0x0007, 0x0107, 0x0207, 0x0000 + .2byte 0x009b, 0x0000, 0x0105, 0x0205, 0x0305, 0x010f, 0x0005, 0x0105, 0x0205, 0x0000 + .2byte 0x00b7, 0x0000, 0x0103, 0x0203, 0x0303, 0x0110, 0x0003, 0x0103, 0x0203, 0x0000 + .2byte 0x02a0, 0x0000, 0x0103, 0x0203, 0x0303, 0x013b, 0x0003, 0x0103, 0x0203, 0x0000 + .2byte 0x00c3, 0x0000, 0x0106, 0x0206, 0x0306, 0x0111, 0x0006, 0x0106, 0x0206, 0x0000 + .2byte 0x00c4, 0x0000, 0x0104, 0x0204, 0x0304, 0x0112, 0x0004, 0x0104, 0x0204, 0x0000 + .2byte 0x00ce, 0x0000, 0x010b, 0x020b, 0x030b, 0x0113, 0x000b, 0x010b, 0x020b, 0x0000 + .2byte 0x00d8, 0x0000, 0x0101, 0x0201, 0x0301, 0x0114, 0x0001, 0x0101, 0x0201, 0x0000 + .2byte 0x02a9, 0x0003, 0x010c, 0x020c, 0x030c, 0x013c, 0x000c, 0x010c, 0x020c, 0x0000 + .2byte 0x00e2, 0x0000, 0x0107, 0x0207, 0x0307, 0x0115, 0x0007, 0x0107, 0x0207, 0x0000 + .2byte 0x00ee, 0x0000, 0x0104, 0x0204, 0x0304, 0x0116, 0x0001, 0x0104, 0x0204, 0x0000 + .2byte 0x00f9, 0x0000, 0x0108, 0x0208, 0x0308, 0x0117, 0x0008, 0x0108, 0x0208, 0x0000 + .2byte 0x00fe, 0x0000, 0x010c, 0x020c, 0x030c, 0x0118, 0x000c, 0x010c, 0x020c, 0x0000 + .2byte 0x0118, 0x0000, 0x0102, 0x0202, 0x0302, 0x011a, 0x0002, 0x0102, 0x0202, 0x0000 + .2byte 0x0111, 0x0000, 0x0101, 0x0201, 0x0301, 0x0119, 0x0001, 0x0101, 0x0201, 0x0000 + .2byte 0x011f, 0x0006, 0x0109, 0x0209, 0x0309, 0x011b, 0x0009, 0x0109, 0x0209, 0x0000 + .2byte 0x012e, 0x0000, 0x010e, 0x020e, 0x030e, 0x011d, 0x000e, 0x010e, 0x020e, 0x0000 + .2byte 0x0125, 0x0000, 0x010b, 0x020b, 0x030b, 0x011c, 0x000b, 0x010b, 0x020b, 0x0000 + .2byte 0x0133, 0x0000, 0x010c, 0x020c, 0x030c, 0x011e, 0x000c, 0x010c, 0x020c, 0x0000 + .2byte 0x0139, 0x0000, 0x010d, 0x020d, 0x030d, 0x011f, 0x000d, 0x010d, 0x020d, 0x0000 + .2byte 0x013e, 0x0000, 0x0101, 0x0201, 0x0301, 0x0120, 0x0001, 0x0101, 0x0201, 0x0000 + .2byte 0x0153, 0x0000, 0x0103, 0x0203, 0x0303, 0x0121, 0x0003, 0x0103, 0x0203, 0x0000 + .2byte 0x0178, 0x0000, 0x0105, 0x0205, 0x0305, 0x0126, 0x0005, 0x0105, 0x0205, 0x0000 + .2byte 0x0171, 0x0000, 0x0109, 0x0209, 0x0309, 0x0125, 0x0009, 0x0109, 0x0209, 0x0000 + .2byte 0x0166, 0x0000, 0x0109, 0x0209, 0x0309, 0x0123, 0x0009, 0x0109, 0x0209, 0x0000 + .2byte 0x016c, 0x0000, 0x0105, 0x0205, 0x0305, 0x0124, 0x0005, 0x0105, 0x0205, 0x0000 + .2byte 0x0182, 0x0000, 0x0109, 0x0209, 0x0309, 0x0128, 0x0009, 0x0109, 0x0209, 0x0000 + .2byte 0x0161, 0x0000, 0x0105, 0x0205, 0x0305, 0x0122, 0x0005, 0x0105, 0x0205, 0x0000 + .2byte 0x0179, 0x0000, 0x0105, 0x0205, 0x0305, 0x0127, 0x0005, 0x0105, 0x0205, 0x0000 + .2byte 0x0188, 0x0000, 0x0104, 0x0204, 0x0304, 0x0129, 0x0004, 0x0104, 0x0204, 0x0000 + .2byte 0x0196, 0x0000, 0x0106, 0x0206, 0x0306, 0x012a, 0x0006, 0x0106, 0x0206, 0x0000 + .2byte 0x01a3, 0x0000, 0x0101, 0x0201, 0x0301, 0x012b, 0x0001, 0x0101, 0x0201, 0x0000 + .2byte 0x01ab, 0x0000, 0x0109, 0x0209, 0x0309, 0x012c, 0x0009, 0x0109, 0x0209, 0x0000 + .2byte 0x01b2, 0x0000, 0x0108, 0x0208, 0x0308, 0x012d, 0x0008, 0x0108, 0x0208, 0x0000 + .2byte 0x01c1, 0x0000, 0x0109, 0x0209, 0x0309, 0x012e, 0x0009, 0x0109, 0x0209, 0x0000 + .2byte 0x01da, 0x0000, 0x0102, 0x0202, 0x0302, 0x012f, 0x0002, 0x0102, 0x0202, 0x0000 + .2byte 0x01e1, 0x0002, 0x0102, 0x0202, 0x0302, 0x0130, 0x0001, 0x0102, 0x0202, 0x0000 + .2byte 0x01ec, 0x0000, 0x0103, 0x0203, 0x0303, 0x0131, 0x0003, 0x0103, 0x0203, 0x0000 + .2byte 0x02e4, 0x0000, 0x0103, 0x0203, 0x0303, 0x013f, 0x0003, 0x0103, 0x0203, 0x0000 + .2byte 0x0200, 0x0000, 0x0107, 0x0207, 0x0307, 0x0132, 0x0007, 0x0107, 0x0207, 0x0000 + .2byte 0x0221, 0x0000, 0x0108, 0x0208, 0x0308, 0x0134, 0x0008, 0x0108, 0x0208, 0x0000 + .2byte 0x021a, 0x0000, 0x0105, 0x0205, 0x0305, 0x0133, 0x0005, 0x0105, 0x0205, 0x0000 + .2byte 0x0009, 0x0000, 0x0108, 0x0208, 0x0308, 0x0102, 0x0008, 0x0108, 0x0208, 0x0000 + .2byte 0x022f, 0x0000, 0x0109, 0x0209, 0x0309, 0x0136, 0x0009, 0x0109, 0x0209, 0x0000 + .2byte 0x0228, 0x0000, 0x0105, 0x0205, 0x0305, 0x0135, 0x0005, 0x0105, 0x0205, 0x0000 + .2byte 0x025c, 0x0000, 0x0102, 0x0202, 0x0302, 0x0137, 0x0002, 0x0102, 0x0202, 0x0000 + .2byte 0x026d, 0x0000, 0x0101, 0x0201, 0x0301, 0x0138, 0x0001, 0x0101, 0x0201, 0x0000 + .2byte 0x0273, 0x0000, 0x0103, 0x0203, 0x0303, 0x0139, 0x0003, 0x0103, 0x0203, 0x0000 + .2byte 0x0001, 0x0000, 0x010f, 0x0203, 0x0303, 0x0101, 0x0003, 0x0103, 0x0203, 0x0000 + .2byte 0x0282, 0x0001, 0x0109, 0x0209, 0x0309, 0x013a, 0x0009, 0x0109, 0x0209, 0x0000 + .align 2 +gUnknown_0860E3B8:: @ 860E3B8 + .4byte BattleFrontier_PokeNav_2A971C, 0x00ff0200 + .4byte BattleFrontier_PokeNav_2A9798, 0x00ff0200 + .4byte BattleFrontier_PokeNav_2A9813, 0x00ff0200 + .4byte BattleFrontier_PokeNav_2A98A8, 0x00ff0200 + .4byte BattleFrontier_PokeNav_2A9977, 0x00ff0200 + .4byte BattleFrontier_PokeNav_2A99FD, 0x00ff0200 + .4byte BattleFrontier_PokeNav_2A9A78, 0x00ff0200 + .4byte BattleFrontier_PokeNav_2A9AE8, 0x00ff0200 + .4byte BattleFrontier_PokeNav_2A9BA7, 0x00ff0200 + .4byte BattleFrontier_PokeNav_2A9C36, 0x00ff0200 + .4byte BattleFrontier_PokeNav_2A9CC8, 0x00ff0200 + .4byte BattleFrontier_PokeNav_2A9D44, 0x00ff0200 + .4byte BattleFrontier_PokeNav_2A9DD7, 0x00ff0200 + .4byte BattleFrontier_PokeNav_2A9E70, 0x00ff0200 + .4byte BattleFrontier_PokeNav_2A9EFD, 0x00ff0200 + + .align 2 +gUnknown_0860E430:: @ 860E430 + .4byte BattleFrontier_PokeNav_2A9FAB, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AA028, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AA099, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AA100, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AA188, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AA214, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AA2A1, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AA31B, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AA3A8, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AA442, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AA4C5, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AA520, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AA5AD, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AA64D, 0x00ffff00 + + .align 2 +gUnknown_0860E4A0:: @ 860E4A0 + .4byte BattleFrontier_PokeNav_2AA6AF, 0x00ff0300 + .4byte BattleFrontier_PokeNav_2AA730, 0x00ff0300 + .4byte BattleFrontier_PokeNav_2AA77A, 0x00ff0300 + .4byte BattleFrontier_PokeNav_2AA81C, 0x00ff0300 + .4byte BattleFrontier_PokeNav_2AA88C, 0x00ff0300 + .4byte BattleFrontier_PokeNav_2AA934, 0x00ff0300 + .4byte BattleFrontier_PokeNav_2AA9D3, 0x00ff0300 + .4byte BattleFrontier_PokeNav_2AAA40, 0x00ff0300 + .4byte BattleFrontier_PokeNav_2AAAE4, 0x00ff0300 + .4byte BattleFrontier_PokeNav_2AAB8C, 0x00ff0300 + .4byte BattleFrontier_PokeNav_2AAC25, 0x00ff0300 + .4byte BattleFrontier_PokeNav_2AAC9D, 0x00ff0300 + .4byte BattleFrontier_PokeNav_2AAD41, 0x00ff0300 + .4byte BattleFrontier_PokeNav_2AAE00, 0x00ff0300 + + .align 2 +gUnknown_0860E510:: @ 860E510 + .4byte BattleFrontier_PokeNav_2AAE7F, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2AAEF1, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2AAF69, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2AB010, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2AB076, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2AB11A, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2AB1B4, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2AB23D, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2AB2E9, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2AB382, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2AB410, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2AB4B0, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2AB538, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2AB5E4, 0x00ff0100 + + .align 2 +gUnknown_0860E580:: @ 860E580 + .4byte BattleFrontier_PokeNav_2AB670, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2AB6CD, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2AB73C, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2AB808, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2AB8B7, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2AB95D, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2ABA03, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2ABA9F, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2ABB62, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2ABC26, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2ABCE9, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2ABDA2, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2ABE5E, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2ABF36, 0x00ff0100 + + .align 2 +gUnknown_0860E5F0:: @ 860E5F0 + .4byte BattleFrontier_PokeNav_2AC009, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2AC0BD, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AC18C, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AC228, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AC30C, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AC3B6, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AC446, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AC5C7, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AC682, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AC755, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AC82C, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AC914, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2ACA59, 0x00ff0200 + .4byte BattleFrontier_PokeNav_2ACB02, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2ACC3F, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2ACD2F, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2ACE1E, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2ACF32, 0x00ff0300 + .4byte BattleFrontier_PokeNav_2ACFBE, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AD0AC, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AD194, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AD1DF, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AD2A8, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AD34F, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AD44E, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AD53A, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AD642, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AD801, 0x00ff0300 + .4byte BattleFrontier_PokeNav_2AD92E, 0x00ff0300 + .4byte BattleFrontier_PokeNav_2ADA8F, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2ADB9B, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2ADC92, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2ADE08, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2ADF07, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AE0D9, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AE1FD, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AE327, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AE3DA, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AE489, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AE5CD, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AE698, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AE704, 0x00ff0300 + .4byte BattleFrontier_PokeNav_2AE78F, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AE859, 0x00ff0300 + .4byte BattleFrontier_PokeNav_2AE8E6, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AE998, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AEA8F, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AEB77, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AEBFA, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AECC1, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AED52, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2AEE35, 0x00ff0300 + .4byte BattleFrontier_PokeNav_2AEEF4, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AEFDA, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AF0E7, 0x00ff0100 + .4byte BattleFrontier_PokeNav_2AF1B8, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AF2C4, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AF371, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AF480, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AF671, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AF7D8, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AF8F7, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AFA39, 0x00ffff00 + .4byte BattleFrontier_PokeNav_2AFB26, 0x00ffff00 + + .align 2 +gUnknown_0860E7F0:: @860E7F0 + .4byte BattleFrontier_PokeNav_2AFC07, 0x00050400 + .4byte BattleFrontier_PokeNav_2AFC78, 0x00050400 + .4byte BattleFrontier_PokeNav_2AFCFF, 0x00050400 + .4byte BattleFrontier_PokeNav_2AFDA7, 0x00050400 + .4byte BattleFrontier_PokeNav_2AFE3D, 0x00050400 + .4byte BattleFrontier_PokeNav_2AFECA, 0x00050400 + .4byte BattleFrontier_PokeNav_2AFF64, 0x00050400 + .4byte BattleFrontier_PokeNav_2AFFF0, 0x00050400 + .4byte BattleFrontier_PokeNav_2B00B5, 0x00050400 + .4byte BattleFrontier_PokeNav_2B0129, 0x00050400 + .4byte BattleFrontier_PokeNav_2B01A5, 0x00050400 + .4byte BattleFrontier_PokeNav_2B0232, 0x00050400 + .4byte BattleFrontier_PokeNav_2B02D9, 0x00050400 + .4byte BattleFrontier_PokeNav_2B0366, 0x00050400 + + .align 2 +gUnknown_0860E860:: @860E860 + .4byte BattleFrontier_PokeNav_2B03E6, 0x00050400 + .4byte BattleFrontier_PokeNav_2B0457, 0x00050400 + .4byte BattleFrontier_PokeNav_2B04DE, 0x00050400 + .4byte BattleFrontier_PokeNav_2B0586, 0x00050400 + .4byte BattleFrontier_PokeNav_2B061C, 0x00050400 + .4byte BattleFrontier_PokeNav_2B06A3, 0x00050400 + .4byte BattleFrontier_PokeNav_2B073B, 0x00050400 + .4byte BattleFrontier_PokeNav_2B07C7, 0x00050400 + .4byte BattleFrontier_PokeNav_2B0894, 0x00050400 + .4byte BattleFrontier_PokeNav_2B0908, 0x00050400 + .4byte BattleFrontier_PokeNav_2B0984, 0x00050400 + .4byte BattleFrontier_PokeNav_2B0A11, 0x00050400 + .4byte BattleFrontier_PokeNav_2B0AB8, 0x00050400 + .4byte BattleFrontier_PokeNav_2B0B45, 0x00050400 + + .align 2 +gUnknown_0860E8D0:: @860E8D0 + .4byte BattleFrontier_PokeNav_2B0BC5, 0x00050400 + .4byte BattleFrontier_PokeNav_2B0C4A, 0x00050400 + .4byte BattleFrontier_PokeNav_2B0CC7, 0x00050400 + .4byte BattleFrontier_PokeNav_2B0D4A, 0x00050400 + .4byte BattleFrontier_PokeNav_2B0DC8, 0x00050400 + .4byte BattleFrontier_PokeNav_2B0E35, 0x00050400 + .4byte BattleFrontier_PokeNav_2B0ED1, 0x00050400 + .4byte BattleFrontier_PokeNav_2B0F72, 0x00050400 + .4byte BattleFrontier_PokeNav_2B102A, 0x00050400 + .4byte BattleFrontier_PokeNav_2B10A7, 0x00050400 + .4byte BattleFrontier_PokeNav_2B1121, 0x00050400 + .4byte BattleFrontier_PokeNav_2B11D3, 0x00050400 + .4byte BattleFrontier_PokeNav_2B124D, 0x00050400 + .4byte BattleFrontier_PokeNav_2B12D0, 0x00050400 + + .align 2 +gUnknown_0860E940:: @860E940 + .4byte BattleFrontier_PokeNav_2B1347, 0x00050400 + .4byte BattleFrontier_PokeNav_2B13B1, 0x00050400 + .4byte BattleFrontier_PokeNav_2B142B, 0x00050400 + .4byte BattleFrontier_PokeNav_2B14B4, 0x00050400 + .4byte BattleFrontier_PokeNav_2B1525, 0x00050400 + .4byte BattleFrontier_PokeNav_2B158E, 0x00050400 + .4byte BattleFrontier_PokeNav_2B1622, 0x00050400 + .4byte BattleFrontier_PokeNav_2B169D, 0x00050400 + .4byte BattleFrontier_PokeNav_2B1775, 0x00050400 + .4byte BattleFrontier_PokeNav_2B17F8, 0x00050400 + .4byte BattleFrontier_PokeNav_2B1877, 0x00050400 + .4byte BattleFrontier_PokeNav_2B1946, 0x00050400 + .4byte BattleFrontier_PokeNav_2B19C7, 0x00050400 + .4byte BattleFrontier_PokeNav_2B1A4C, 0x00050400 + + .align 2 +gUnknown_0860E9B0:: @860E9B0 + .4byte BattleFrontier_PokeNav_2B1ACA, 0x00050400 + .4byte BattleFrontier_PokeNav_2B1B50, 0x00050400 + .4byte BattleFrontier_PokeNav_2B1BE4, 0x00050400 + .4byte BattleFrontier_PokeNav_2B1C6A, 0x00050400 + .4byte BattleFrontier_PokeNav_2B1CCF, 0x00050400 + .4byte BattleFrontier_PokeNav_2B1D38, 0x00050400 + .4byte BattleFrontier_PokeNav_2B1DCD, 0x00050400 + .4byte BattleFrontier_PokeNav_2B1E4B, 0x00050400 + .4byte BattleFrontier_PokeNav_2B1F24, 0x00050400 + .4byte BattleFrontier_PokeNav_2B1FA8, 0x00050400 + .4byte BattleFrontier_PokeNav_2B2022, 0x00050400 + .4byte BattleFrontier_PokeNav_2B20F3, 0x00050400 + .4byte BattleFrontier_PokeNav_2B2175, 0x00050400 + .4byte BattleFrontier_PokeNav_2B21FC, 0x00050400 + + .align 2 gUnknown_0860EA20:: @ 860EA20 - .incbin "baserom.gba", 0x60ea20, 0xc + .4byte gUnknown_0860E3B8 + .4byte gUnknown_0860E430 + .4byte gUnknown_0860E4A0 + .align 2 gUnknown_0860EA2C:: @ 860EA2C - .incbin "baserom.gba", 0x60ea2c, 0x8 + .4byte gUnknown_0860E510 + .4byte gUnknown_0860E580 + .align 2 gUnknown_0860EA34:: @ 860EA34 - .incbin "baserom.gba", 0x60ea34, 0x18 + .4byte gUnknown_0860E5F0 + .4byte gUnknown_0860E7F0 + .4byte gUnknown_0860E860 + .4byte gUnknown_0860E8D0 + .4byte gUnknown_0860E940 + .4byte gUnknown_0860E9B0 + .align 2 gUnknown_0860EA4C:: @ 860EA4C - .incbin "baserom.gba", 0x60ea4c, 0x20 + .incbin "graphics/unknown/unknown_60EA4C.gbapal" + .align 2 gUnknown_0860EA6C:: @ 860EA6C - .incbin "baserom.gba", 0x60ea6c, 0x100 + .incbin "graphics/interface/menu_border.4bpp" + .align 2 gUnknown_0860EB6C:: @ 860EB6C - .incbin "baserom.gba", 0x60eb6c, 0x20 + .incbin "graphics/pokenav/icon.gbapal" + .align 2 gUnknown_0860EB8C:: @ 860EB8C - .incbin "baserom.gba", 0x60eb8c, 0x3e4 + .incbin "graphics/pokenav/icon.4bpp.lz" -gUnknown_0860EF70:: @ 860EF70 - .incbin "baserom.gba", 0x60ef70, 0x8 + .align 2 +gText_PokenavCallEllipsis:: @ 860EF70 + .string "………………\p$" + .align 2 gUnknown_0860EF78:: @ 860EF78 - .incbin "baserom.gba", 0x60ef78, 0x20 + .4byte sub_819612C + .4byte sub_81961F0 + .4byte sub_8196274 + .4byte sub_81962B0 + .4byte sub_81962D8 + .4byte sub_8196330 + .4byte sub_8196390 + .4byte sub_81963F0 + .align 2 gUnknown_0860EF98:: @ 860EF98 - .incbin "baserom.gba", 0x60ef98, 0x8 + window_template 0x00, 0x01, 0x0f, 0x1c, 0x04, 0x0f, 0x0200 + .align 2 gUnknown_0860EFA0:: @ 860EFA0 - .incbin "baserom.gba", 0x60efa0, 0xc + .4byte gStringVar1 + .4byte gStringVar2 + .4byte gStringVar3 + .align 2 gUnknown_0860EFAC:: @ 860EFAC - .incbin "baserom.gba", 0x60efac, 0x18 + .4byte sub_8196A44 + .4byte sub_8196A9C + .4byte sub_8196B98 + .4byte sub_8196C70 + .4byte sub_8196CF4 + .4byte sub_8196D14 + .align 2 gUnknown_0860EFC4:: @ 860EFC4 - .incbin "baserom.gba", 0x60efc4, 0x30 + .4byte 0x00000282, gText_Kira + .4byte 0x000001e1, gText_Amy + .4byte 0x000002a9, gText_John + .4byte 0x000002af, gText_Roy + .4byte 0x00000033, gText_Gabby + .4byte 0x0000011f, gText_Anna + .align 2 gUnknown_0860EFF4:: @ 860EFF4 - .incbin "baserom.gba", 0x60eff4, 0x1c + .4byte gText_BattleTower2 + .4byte gText_BattleDome + .4byte gText_BattlePalace + .4byte gText_BattleArena + .4byte gText_BattlePike + .4byte gText_BattleFactory + .4byte gText_BattlePyramid + .align 2 gUnknown_0860F010:: @ 860F010 - .incbin "baserom.gba", 0x60f010, 0x10 + .2byte FLAG_BADGE01_GET + .2byte FLAG_BADGE02_GET + .2byte FLAG_BADGE03_GET + .2byte FLAG_BADGE04_GET + .2byte FLAG_BADGE05_GET + .2byte FLAG_BADGE06_GET + .2byte FLAG_BADGE07_GET + .2byte FLAG_BADGE08_GET gUnknown_0860F020:: @ 860F020 - .incbin "baserom.gba", 0x60f020, 0x54 + .4byte gUnknown_082A5D6C + .4byte gUnknown_082A5DAB + .4byte gUnknown_082A5DF1 + .4byte gUnknown_082A5E34 + .4byte gUnknown_082A5E83 + .4byte gUnknown_082A5EB9 + .4byte gUnknown_082A5EF4 + .4byte gUnknown_082A5F39 + .4byte gUnknown_082A5F82 + .4byte gUnknown_082A5FB9 + .4byte gUnknown_082A6018 + .4byte gUnknown_082A6061 + .4byte gUnknown_082A609C + .4byte gUnknown_082A60D5 + .4byte gUnknown_082A6124 + .4byte gUnknown_082A616F + .4byte gUnknown_082A61D6 + .4byte gUnknown_082A623A + .4byte gUnknown_082A6287 + .4byte gUnknown_082A62C9 + .4byte gUnknown_082A6312 diff --git a/data/battle_frontier_2.s b/data/battle_frontier_2.s index 44c14f520b..8fc2939c6d 100644 --- a/data/battle_frontier_2.s +++ b/data/battle_frontier_2.s @@ -1,293 +1,1497 @@ +#include "constants/moves.h" +#include "constants/species.h" .include "asm/macros.inc" .include "constants/constants.inc" .section .rodata + .align 2 gUnknown_0860F13C:: @ 860F13C - .incbin "baserom.gba", 0x60f13c, 0x1100 + .incbin "graphics/unknown/unknown_60F13C.gbapal" + .align 2 +gUnknown_0860F15C:: @ 860F15C + .incbin "graphics/unknown/unknown_60F15C.gbapal" + + .align 2 +gUnknown_0860F17C:: @ 860F17C + .incbin "graphics/unknown/unknown_60F17C.gbapal" + + .align 2 +gUnknown_0860F1BC:: @ 860F1BC + .incbin "graphics/unknown/unknown_60F1BC.4bpp" + + .align 2 +gUnknown_0860F3BC:: @ 860F3BC + .incbin "graphics/unknown/unknown_60F3BC.4bpp" + + .align 2 +gUnknown_0860F43C:: @ 860F43C + .incbin "graphics/unknown/unknown_60F43C.4bpp" + + .align 2 +gUnknown_0860F53C:: @ 860F53C + .incbin "graphics/unknown/unknown_60F53C.4bpp" + + .align 2 +gUnknown_0860F63C:: @ 860F63C + .incbin "graphics/unknown/unknown_60F63C.4bpp" + + .align 2 +gUnknown_0860F6BC:: @ 860F6BC + .incbin "graphics/unknown/unknown_60F6BC.4bpp" + + .align 2 +gUnknown_0860F7BC:: @ 860F7BC + .incbin "graphics/unknown/unknown_60F7BC.4bpp" + + .align 2 +gUnknown_0860F83C:: @ 860F83C + .incbin "graphics/unknown/unknown_60F83C.4bpp" + + .align 2 +gUnknown_0860F93C:: @ 860F93C + .incbin "graphics/unknown/unknown_60F93C.4bpp" + + .align 2 +gUnknown_0860FA3C:: @ 860FA3C + .incbin "graphics/unknown/unknown_60FA3C.4bpp" + + .align 2 gUnknown_0861023C:: @ 861023C - .incbin "baserom.gba", 0x61023c, 0x100 + .incbin "graphics/unknown/unknown_61023C.bin" + .align 2 gUnknown_0861033C:: @ 861033C - .incbin "baserom.gba", 0x61033c, 0x60 + .incbin "graphics/unknown/unknown_61033C.4bpp" + .align 2 gUnknown_0861039C:: @ 861039C - .incbin "baserom.gba", 0x61039c, 0x20 + .incbin "graphics/unknown/unknown_61039C.gbapal" + .align 2 gUnknown_086103BC:: @ 86103BC - .incbin "baserom.gba", 0x6103bc, 0x28 + obj_tiles gUnknown_0860F3BC, 0x0080, 0x0065 + obj_tiles gUnknown_0860F43C, 0x0100, 0x0066 + obj_tiles gUnknown_0860F53C, 0x0100, 0x0067 + obj_tiles gUnknown_0860FA3C, 0x0800, 0x006d + null_obj_tiles + .align 2 gUnknown_086103E4:: @ 86103E4 - .incbin "baserom.gba", 0x6103e4, 0x10 + obj_tiles gUnknown_085B18AC, 0x0800, 0x0064 + null_obj_tiles + .align 2 gUnknown_086103F4:: @ 86103F4 - .incbin "baserom.gba", 0x6103f4, 0x28 + obj_pal gUnknown_0860F13C, 0x0064 + obj_pal gUnknown_0860F15C, 0x0065 + obj_pal gUnknown_0860F17C, 0x0066 + obj_pal gUnknown_0861039C, 0x0067 + null_obj_pal + .align 2 gUnknown_0861041C:: @ 861041C - .incbin "baserom.gba", 0x61041c, 0xc + .4byte sub_819BCCC + .4byte sub_819BC30 + .4byte sub_819BCD0 + .align 2 gUnknown_08610428:: @ 8610428 - .incbin "baserom.gba", 0x610428, 0xc + .4byte 0x00000180, 0x00003195, 0x000021bb + .align 2 gUnknown_08610434:: @ 8610434 - .incbin "baserom.gba", 0x610434, 0x38 + window_template 0x00, 0x00, 0x02, 0x0c, 0x02, 0x0f, 0x0001 + window_template 0x00, 0x13, 0x02, 0x0b, 0x02, 0x0e, 0x0019 + window_template 0x00, 0x00, 0x0f, 0x14, 0x03, 0x0f, 0x002f + window_template 0x00, 0x16, 0x0e, 0x08, 0x06, 0x0f, 0x006b + window_template 0x00, 0x16, 0x0e, 0x08, 0x04, 0x0f, 0x009b + window_template 0x00, 0x0f, 0x00, 0x0f, 0x02, 0x0f, 0x00bb + null_window_template + .align 1 gUnknown_0861046C:: @ 861046C - .incbin "baserom.gba", 0x61046c, 0xa + .incbin "graphics/unknown/unknown_61046C.gbapal" gUnknown_08610476:: @ 8610476 - .incbin "baserom.gba", 0x610476, 0x3 + .byte 0x00, 0x02, 0x00 gUnknown_08610479:: @ 8610479 - .incbin "baserom.gba", 0x610479, 0x15f + .byte 0x00, 0x04, 0x00 + .align 2 +gUnknown_0861047C:: @ 861047C + .byte 0x00, 0x00, 0x00, 0x80, 0x00, 0x0c, 0x00, 0x00 + + .align 2 +gUnknown_08610484:: @ 8610484 + .byte 0x00, 0x00, 0x00, 0x40, 0x00, 0x0c, 0x00, 0x00 + + .align 2 +gUnknown_0861048C:: @ 861048C + .byte 0x00, 0x40, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00 + + .align 2 +gUnknown_08610494:: @ 8610494 + .byte 0x00, 0x07, 0x00, 0xc0, 0x00, 0x00, 0x01, 0x00 + + .align 2 +gUnknown_0861049C:: @ 861049C + .2byte 0x0000, 0x0001, 0xffff, 0x0000 + + .align 2 +gUnknown_086104A4:: @ 86104A4 + .2byte 0x0000, 0x0001, 0xffff, 0x0000 + + .align 2 +gUnknown_086104AC:: @ 86104AC + .2byte 0x0000, 0x001e, 0xffff, 0x0000 + + .align 2 +gUnknown_086104B4:: @ 86104B4 + .2byte 0x0010, 0x0004, 0x0000, 0x0004, 0x0020, 0x0004, 0x0000, 0x0004, 0x0010, 0x0004, 0x0000, 0x0004, 0x0020, 0x0004, 0x0000, 0x0004 + .2byte 0x0000, 0x0020, 0x0010, 0x0008, 0x0000, 0x0008, 0x0020, 0x0008, 0x0000, 0x0008, 0x0010, 0x0008, 0x0000, 0x0008, 0x0020, 0x0008 + .2byte 0x0000, 0x0008, 0xffff, 0x0000 + + .align 2 +gUnknown_086104FC:: @ 86104FC + .4byte gUnknown_0861049C + + .align 2 +gUnknown_08610500:: @ 8610500 + .4byte gUnknown_086104A4 + + .align 2 +gUnknown_08610504:: @ 8610504 + .4byte gUnknown_086104AC + .4byte gUnknown_086104B4 + + .align 2 +gUnknown_0861050C:: @ 861050C + .2byte 0x0005, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0010, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000 + .2byte 0x0020, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0040, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000 + .2byte 0x0080, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0100, 0x0005, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_0861056C:: @ 861056C + .2byte 0x0080, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0040, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000 + .2byte 0x0020, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0010, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000 + .2byte 0x0005, 0x0005, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_086105BC:: @ 86105BC + .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_086105CC:: @ 86105CC + .4byte gUnknown_0861050C + .4byte gUnknown_0861056C + .4byte gUnknown_086105BC + + .align 2 gUnknown_086105D8:: @ 86105D8 - .incbin "baserom.gba", 0x6105d8, 0x18 + spr_template 0x0064, 0x0064, gUnknown_0861047C, gUnknown_08610504, NULL, gDummySpriteAffineAnimTable, sub_819A44C + .align 2 gUnknown_086105F0:: @ 86105F0 - .incbin "baserom.gba", 0x6105f0, 0x18 + spr_template 0x0065, 0x0066, gUnknown_08610484, gUnknown_086104FC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 gUnknown_08610608:: @ 8610608 - .incbin "baserom.gba", 0x610608, 0x18 + spr_template 0x0066, 0x0066, gUnknown_0861048C, gUnknown_086104FC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 gUnknown_08610620:: @ 8610620 - .incbin "baserom.gba", 0x610620, 0x18 + spr_template 0x0067, 0x0066, gUnknown_0861048C, gUnknown_086104FC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 gUnknown_08610638:: @ 8610638 - .incbin "baserom.gba", 0x610638, 0x18 + spr_template 0x006d, 0x0067, gUnknown_08610494, gUnknown_08610500, NULL, gUnknown_086105CC, SpriteCallbackDummy + .align 2 gUnknown_08610650:: @ 8610650 - .incbin "baserom.gba", 0x610650, 0x50 + obj_tiles gUnknown_0860F3BC, 0x0080, 0x0065 + obj_tiles gUnknown_0860F43C, 0x0100, 0x0066 + obj_tiles gUnknown_0860F53C, 0x0100, 0x0067 + obj_tiles gUnknown_0860F63C, 0x0080, 0x0068 + obj_tiles gUnknown_0860F6BC, 0x0100, 0x0069 + obj_tiles gUnknown_0860F7BC, 0x0100, 0x006a + obj_tiles gUnknown_0860F83C, 0x0100, 0x006b + obj_tiles gUnknown_0860F93C, 0x0100, 0x006c + obj_tiles gUnknown_0860FA3C, 0x0800, 0x006d + null_obj_tiles + .align 2 gUnknown_086106A0:: @ 86106A0 - .incbin "baserom.gba", 0x6106a0, 0x10 + obj_tiles gUnknown_085B18AC, 0x0800, 0x0064 + null_obj_tiles + .align 2 gUnknown_086106B0:: @ 86106B0 - .incbin "baserom.gba", 0x6106b0, 0x184 + obj_pal gUnknown_0860F13C, 0x0064 + obj_pal gUnknown_0860F15C, 0x0065 + obj_pal gUnknown_0860F17C, 0x0066 + obj_pal gUnknown_0861039C, 0x0067 + null_obj_pal + .align 2 +gUnknown_086106D8:: @ 86106D8 + .byte 0x00, 0x00, 0x00, 0x80, 0x00, 0x0c, 0x00, 0x00 + + .align 2 +gUnknown_086106E0:: @ 86106E0 + .byte 0x00, 0x00, 0x00, 0x40, 0x00, 0x0c, 0x00, 0x00 + + .align 2 +gUnknown_086106E8:: @ 86106E8 + .byte 0x00, 0x40, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00 + + .align 2 +gUnknown_086106F0:: @ 86106F0 + .byte 0x00, 0x07, 0x00, 0xc0, 0x00, 0x00, 0x01, 0x00 + + .align 2 +gUnknown_086106F8:: @ 86106F8 + .2byte 0x0000, 0x0001, 0xffff, 0x0000 + + .align 2 +gUnknown_08610700:: @ 8610700 + .2byte 0x0000, 0x0001, 0xffff, 0x0000 + + .align 2 +gUnknown_08610708:: @ 8610708 + .2byte 0x0000, 0x001e, 0xffff, 0x0000 + + .align 2 +gUnknown_08610710:: @ 8610710 + .2byte 0x0010, 0x0004, 0x0000, 0x0004, 0x0020, 0x0004, 0x0000, 0x0004, 0x0010, 0x0004, 0x0000, 0x0004, 0x0020, 0x0004, 0x0000, 0x0004 + .2byte 0x0000, 0x0020, 0x0010, 0x0008, 0x0000, 0x0008, 0x0020, 0x0008, 0x0000, 0x0008, 0x0010, 0x0008, 0x0000, 0x0008, 0x0020, 0x0008 + .2byte 0x0000, 0x0008, 0xffff, 0x0000 + + .align 2 +gUnknown_08610758:: @ 8610758 + .4byte gUnknown_086106F8 + + .align 2 +gUnknown_0861075C:: @ 861075C + .4byte gUnknown_08610700 + + .align 2 +gUnknown_08610760:: @ 8610760 + .4byte gUnknown_08610708 + .4byte gUnknown_08610710 + + .align 2 +gUnknown_08610768:: @ 8610768 + .2byte 0x0005, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0010, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000 + .2byte 0x0020, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0040, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000 + .2byte 0x0080, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0100, 0x0005, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_086107C8:: @ 86107C8 + .2byte 0x0080, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0040, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000 + .2byte 0x0020, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0010, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000 + .2byte 0x0005, 0x0005, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_08610818:: @ 8610818 + .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_08610828:: @ 8610828 + .4byte gUnknown_08610768 + .4byte gUnknown_086107C8 + .4byte gUnknown_08610818 + + .align 2 gUnknown_08610834:: @ 8610834 - .incbin "baserom.gba", 0x610834, 0x18 + spr_template 0x0064, 0x0064, gUnknown_086106D8, gUnknown_08610760, NULL, gDummySpriteAffineAnimTable, sub_819A44C + .align 2 gUnknown_0861084C:: @ 861084C - .incbin "baserom.gba", 0x61084c, 0x18 + spr_template 0x0065, 0x0066, gUnknown_086106E0, gUnknown_08610758, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 gUnknown_08610864:: @ 8610864 - .incbin "baserom.gba", 0x610864, 0x18 + spr_template 0x0066, 0x0066, gUnknown_086106E8, gUnknown_08610758, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 gUnknown_0861087C:: @ 861087C - .incbin "baserom.gba", 0x61087c, 0x18 + spr_template 0x0067, 0x0066, gUnknown_086106E8, gUnknown_08610758, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 gUnknown_08610894:: @ 8610894 - .incbin "baserom.gba", 0x610894, 0x18 + spr_template 0x006d, 0x0067, gUnknown_086106F0, gUnknown_0861075C, NULL, gUnknown_08610828, SpriteCallbackDummy + .align 2 gUnknown_086108AC:: @ 86108AC - .incbin "baserom.gba", 0x6108ac, 0xc + .4byte sub_819F114 + .4byte sub_819F0CC + .4byte sub_819F134 + .align 2 gUnknown_086108B8:: @ 86108B8 - .incbin "baserom.gba", 0x6108b8, 0x10 + .4byte 0x00001180, 0x00003195, 0x000001aa, 0x000021bb + .align 2 gUnknown_086108C8:: @ 86108C8 - .incbin "baserom.gba", 0x6108c8, 0x50 + window_template 0x00, 0x00, 0x02, 0x0c, 0x02, 0x0f, 0x0001 + window_template 0x02, 0x13, 0x02, 0x0b, 0x02, 0x0e, 0x0019 + window_template 0x00, 0x00, 0x0f, 0x14, 0x03, 0x0f, 0x002f + window_template 0x00, 0x15, 0x0e, 0x09, 0x06, 0x0f, 0x006b + window_template 0x00, 0x16, 0x0e, 0x08, 0x04, 0x0f, 0x00a1 + window_template 0x02, 0x15, 0x0f, 0x09, 0x05, 0x0e, 0x006b + window_template 0x02, 0x0a, 0x02, 0x04, 0x02, 0x0e, 0x00c1 + window_template 0x00, 0x13, 0x02, 0x0b, 0x02, 0x0f, 0x00c9 + window_template 0x00, 0x0f, 0x00, 0x0f, 0x02, 0x0f, 0x00df + null_window_template gUnknown_08610918:: @ 8610918 - .incbin "baserom.gba", 0x610918, 0xa + .byte 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0x1f, 0x00 gUnknown_08610922:: @ 8610922 - .incbin "baserom.gba", 0x610922, 0x3 + .byte 0x00, 0x02, 0x00 gUnknown_08610925:: @ 8610925 - .incbin "baserom.gba", 0x610925, 0x3 + .byte 0x00, 0x04, 0x00 + .align 2 gUnknown_08610928:: @ 8610928 - .incbin "baserom.gba", 0x610928, 0x20 + .4byte 0x00000001, sub_819F20C + .4byte 0x00000001, sub_819F20C + .4byte 0x00000001, sub_819F20C + .4byte 0x00000003, sub_819F1AC + .align 2 gUnknown_08610948:: @ 8610948 - .incbin "baserom.gba", 0x610948, 0x28 + .4byte 0x00000001, sub_819F20C + .4byte 0x00000001, sub_819F20C + .4byte 0x00000001, sub_819F20C + .4byte 0x00000002, sub_819F1DC + .4byte 0x00000003, sub_819F1AC + .align 2 @ struct, eight bytes x6 for names in different languages, then 0x28 more bytes of data gUnknown_08610970:: @ 8610970 - .incbin "baserom.gba", 0x610970, 0x34 - -gUnknown_086109A4:: @ 86109A4 - .incbin "baserom.gba", 0x6109a4, 0x16 - -gUnknown_086109BA:: @ 86109BA - .incbin "baserom.gba", 0x6109ba, 0x536 + .string "サダヒロ$", 8 + .string "ALANN$", 8 + .string "ALAIN$", 8 + .string "ADELFO$", 8 + .string "CLAUS$", 8 + .string "TEO$", 8 + .byte 0xC9, 0xBD + .2byte 0x43 + .2byte SPECIES_BEAUTIFLY, SPECIES_DUSTOX, SPECIES_ILLUMISE, SPECIES_SHIFTRY, SPECIES_BRELOOM, SPECIES_NINJASK, SPECIES_SHEDINJA, SPECIES_PINSIR, SPECIES_HERACROSS, SPECIES_VOLBEAT, 0 + .byte 0x1D, 8, 0x3e, 20, 0, 12, 1, 10, 0x30, 6, 0x44, 20, 0, 0 + .string "ヒロオ$", 8 + .string "LIONEL$", 8 + .string "LIONEL$", 8 + .string "CAIO$", 8 + .string "LUDWIG$", 8 + .string "LEO$", 8 + .byte 0x9, 0xCF + .2byte 0x2B + .2byte SPECIES_SWELLOW, SPECIES_SWALOT, SPECIES_SHUCKLE, SPECIES_MANECTRIC, SPECIES_TORKOAL, SPECIES_HARIYAMA, SPECIES_MIGHTYENA, SPECIES_LUDICOLO, SPECIES_CRAWDAUNT, SPECIES_WHISCASH, 1 + .byte 0x38, 12, 1, 10, 0x30, 6, 6, 10, 0x20, 0x10, 0x13, 0x22, 0, 0 + .string "ケイジ$", 8 + .string "SONNY$", 8 + .string "HERVE$", 8 + .string "FEDRO$", 8 + .string "WENZEL$", 8 + .string "SANTI$", 8 + .byte 0x34, 0x2E + .2byte 0x26 + .2byte SPECIES_LINOONE, SPECIES_MIGHTYENA, SPECIES_WHISCASH, SPECIES_ZANGOOSE, SPECIES_SEVIPER, SPECIES_NINETALES, SPECIES_KECLEON, SPECIES_SHUCKLE, SPECIES_MANECTRIC, SPECIES_MACHAMP, 2 + .byte 1, 10, 10, 0x16, 0x15, 14, 0x30, 6, 0x3b, 12, 0x4, 12, 0, 0 + .string "ユラ$", 8 + .string "LAYLA$", 8 + .string "LAYLA$", 8 + .string "ASTRID$", 8 + .string "SONJA$", 8 + .string "LOLA$", 8 + .byte 0xEF, 0x84 + .2byte 0x47 + .2byte SPECIES_SWALOT, SPECIES_XATU, SPECIES_ALTARIA, SPECIES_GOLDUCK, SPECIES_FLYGON, SPECIES_ALAKAZAM, SPECIES_GARDEVOIR, SPECIES_WAILORD, SPECIES_GRUMPIG, SPECIES_MIGHTYENA, 3 + .byte 11, 16, 15, 0x1e, 0x39, 16, 0x21, 0x14, 0x3, 12, 0xff, 0xff, 0, 0 + .string "ヨウカ$", 8 + .string "MACY$", 8 + .string "AMELIE$", 8 + .string "CLEO$", 8 + .string "MARIA$", 8 + .string "ELISA$", 8 + .byte 0x43, 0x1E + .2byte 0x27 + .2byte SPECIES_WIGGLYTUFF, SPECIES_LINOONE, SPECIES_KINGDRA, SPECIES_DELCATTY, SPECIES_RAICHU, SPECIES_FEAROW, SPECIES_STARMIE, SPECIES_MEDICHAM, SPECIES_SHIFTRY, SPECIES_BEAUTIFLY, 4 + .byte 15, 0x1e, 0x14, 16, 6, 16, 15, 0x28, 0x1c, 0x1c, 0x13, 0x1c, 0, 0 + .string "ヤスシ$", 8 + .string "DONTE$", 8 + .string "BRAHIM$", 8 + .string "GLAUCO$", 8 + .string "JOSEF$", 8 + .string "ROQUE$", 8 + .byte 0x9F, 0x37 + .2byte 0x30 + .2byte SPECIES_STARMIE, SPECIES_DODRIO, SPECIES_AGGRON, SPECIES_MAGNETON, SPECIES_MACHAMP, SPECIES_ARMALDO, SPECIES_HERACROSS, SPECIES_NOSEPASS, SPECIES_EXPLOUD, SPECIES_MIGHTYENA, 5 + .byte 0x29, 0x0A, 0x08, 0x14, 0x2F, 0x10, 0x38, 0x16, 0x20, 0x08, 0x00, 0x0C, 0x00, 0 + .string "ミサオ$", 8 + .string "AMIRA$", 8 + .string "LAURE$", 8 + .string "DAFNE$", 8 + .string "AMELIE$", 8 + .string "LARA$", 8 + .byte 0x55, 0xF5 + .2byte 0x31 + .2byte SPECIES_STARMIE, SPECIES_DODRIO, SPECIES_MAGNETON, SPECIES_MEDICHAM, SPECIES_MIGHTYENA, SPECIES_GLALIE, SPECIES_GOLEM, SPECIES_ELECTRODE, SPECIES_PELIPPER, SPECIES_SHARPEDO, 6 + .byte 0x0B, 0x0C, 0x3E, 0x12, 0x00, 0x0C, 0x31, 0x0A, 0x30, 0x14, 0x00, 0x0C, 0x00, 0x00 + .string "カズサ$", 8 + .string "KALI$", 8 + .string "JODIE$", 8 + .string "ILENIA$", 8 + .string "KARO$", 8 + .string "ELSA$", 8 + .byte 0x26, 0x8D + .2byte 0x14 + .2byte SPECIES_NINETALES, SPECIES_ALAKAZAM, SPECIES_SCEPTILE, SPECIES_SALAMENCE, SPECIES_GOLDUCK, SPECIES_MAWILE, SPECIES_WEEZING, SPECIES_LANTURN, SPECIES_GARDEVOIR, SPECIES_MILOTIC, 7 + .byte 0x06, 0x0A, 0x20, 0x06, 0x1F, 0x0A, 0x02, 0x0A, 0x03, 0x0C, 0xFF, 0xFF, 0x00, 0x00 + .string "スミレ$", 8 + .string "ANNIE$", 8 + .string "ANNIE$", 8 + .string "IMELDA$", 8 + .string "INES$", 8 + .string "ROSA$", 8 + .byte 0xC, 0x80 + .2byte 0xD + .2byte SPECIES_SCEPTILE, SPECIES_VILEPLUME, SPECIES_BELLOSSOM, SPECIES_ROSELIA, SPECIES_CORSOLA, SPECIES_FLYGON, SPECIES_BRELOOM, SPECIES_MILOTIC, SPECIES_ALTARIA, SPECIES_CRADILY, 8 + .byte 0x22, 0x1E, 0x33, 0x04, 0x0E, 0x02, 0x02, 0x0A, 0x1E, 0x10, 0x00, 0x0C, 0x00, 0x00 + .string "アキノリ$", 8 + .string "DILLEN$", 8 + .string "RENE$", 8 + .string "INDRO$", 8 + .string "DETLEF$", 8 + .string "PEDRO$", 8 + .byte 0x9f, 0x46 + .2byte 0 + .2byte SPECIES_SKARMORY, SPECIES_GOLEM, SPECIES_BLAZIKEN, SPECIES_CAMERUPT, SPECIES_DONPHAN, SPECIES_MUK, SPECIES_SALAMENCE, SPECIES_TROPIUS, SPECIES_SOLROCK, SPECIES_RHYDON, 9 + .byte 0x3D, 0x0A, 0x11, 0x10, 0x1E, 0x0E, 0x1C, 0x20, 0x04, 0x0C, 0xFF, 0xFF, 0x00, 0x00 + .string "トウゾウ$", 8 + .string "DALLAS$", 8 + .string "BRUNO$", 8 + .string "LEARCO$", 8 + .string "ANSGAR$", 8 + .string "MANOLO$", 8 + .byte 0xFC, 0x71 + .2byte 0x2D + .2byte SPECIES_SEAKING, SPECIES_STARMIE, SPECIES_GOLDUCK, SPECIES_TENTACRUEL, SPECIES_OCTILLERY, SPECIES_GOREBYSS, SPECIES_GLALIE, SPECIES_WAILORD, SPECIES_SHARPEDO, SPECIES_KINGDRA, 10 + .byte 0x05, 0x0A, 0x06, 0x06, 0x0E, 0x16, 0x14, 0x0A, 0x00, 0x0C, 0xFF, 0xFF, 0x00, 0x00 + .string "セイヤ$", 8 + .string "FRANK$", 8 + .string "FRANK$", 8 + .string "OLINDO$", 8 + .string "FRANK$", 8 + .string "MAURO$", 8 + .byte 0x9E, 0xA3 + .2byte 0x3A + .2byte SPECIES_QUAGSIRE, SPECIES_STARMIE, SPECIES_PELIPPER, SPECIES_CRAWDAUNT, SPECIES_WAILORD, SPECIES_GYARADOS, SPECIES_SWAMPERT, SPECIES_LANTURN, SPECIES_WHISCASH, SPECIES_SHUCKLE, 11 + .byte 0x0E, 0x28, 0x3D, 0x10, 0x0F, 0x24, 0x14, 0x0A, 0x23, 0x1E, 0x24, 0x10, 0x00, 0x00 + .string "リュウジ$", 8 + .string "LAMONT$", 8 + .string "XAV$", 8 + .string "ORFEO$", 8 + .string "J{0xf3}RGEN$", 8 @accent? + .string "JORGE$", 8 + .byte 0x90, 0xE5 + .2byte 0x19 + .2byte SPECIES_ABSOL, SPECIES_CROBAT, SPECIES_EXPLOUD, SPECIES_MAGNETON, SPECIES_SHARPEDO, SPECIES_MANECTRIC, SPECIES_METAGROSS, SPECIES_ELECTRODE, SPECIES_NOSEPASS, SPECIES_WEEZING, 12 + .byte 0x20, 0x10, 0x2E, 0x06, 0x0B, 0x10, 0x22, 0x1E, 0x0F, 0x1E, 0x0B, 0x10, 0x00, 0x00 + .string "カツアキ$", 8 + .string "TYRESE$", 8 + .string "ANDY$", 8 + .string "PARIDE$", 8 + .string "DAVID$", 8 + .string "CHICHO$", 8 + .byte 0x18, 0xD0 + .2byte 10 + .2byte SPECIES_BLAZIKEN, SPECIES_GOLEM, SPECIES_MACHAMP, SPECIES_RHYDON, SPECIES_HARIYAMA, SPECIES_AGGRON, SPECIES_MEDICHAM, SPECIES_ZANGOOSE, SPECIES_VIGOROTH, SPECIES_SLAKING, 13 + .byte 0x29, 0x0A, 0x3A, 0x06, 0x15, 0x0E, 0x35, 0x14, 0x34, 0x10, 0x1E, 0x06, 0x00, 0x00 + .string "トシミツ$", 8 + .string "DANTE$", 8 + .string "DANTE$", 8 + .string "RAOUL$", 8 + .string "LOTHAR$", 8 + .string "PABLO$", 8 + .byte 0x75, 0xBC + .2byte 14 + .2byte SPECIES_SCEPTILE, SPECIES_SANDSLASH, SPECIES_FLYGON, SPECIES_CLAYDOL, SPECIES_ARMALDO, SPECIES_CROBAT, SPECIES_CRADILY, SPECIES_SOLROCK, SPECIES_LUNATONE, SPECIES_GOLEM, 14 + .byte 0x01, 0x0A, 0x17, 0x10, 0x43, 0x12, 0x22, 0x1E, 0x0B, 0x10, 0x0F, 0x28, 0x00, 0x00 + .string "ローウェン$", 8 + .string "ARTURO$", 8 + .string "ARTURO$", 8 + .string "ROMOLO$", 8 + .string "BRIAN$", 8 + .string "ARTURO$", 8 + .byte 0x2, 0xFA + .2byte 0x20 + .2byte SPECIES_ABSOL, SPECIES_MIGHTYENA, SPECIES_ALAKAZAM, SPECIES_BANETTE, SPECIES_NINETALES, SPECIES_CLAYDOL, SPECIES_MUK, SPECIES_SALAMENCE, SPECIES_WALREIN, SPECIES_DUSCLOPS, 15 + .byte 0x0F, 0x1E, 0x04, 0x14, 0x2F, 0x10, 0x06, 0x10, 0x20, 0x10, 0x03, 0x0E, 0x00, 0x00 + .align 2 gUnknown_08610EF0:: @ 8610EF0 - .incbin "baserom.gba", 0x610ef0, 0x100 + .4byte gText_082B7229 + .4byte gText_082B731C + .4byte gText_082B735B + .4byte gText_082B7423 + .4byte gText_082B74C1 + .4byte gText_082B756F + .4byte gText_082B75B2 + .4byte gText_082B763F + .4byte gText_082B76AC + .4byte gText_082B7772 + .4byte gText_082B77CE + .4byte gText_082B7871 + .4byte gText_082B78D4 + .4byte gText_082B7B1A + .4byte gText_082B7C13 + .4byte gText_082B7D18 + .4byte gText_082B7DD4 + .4byte gText_082B7EE5 + .4byte gText_082B7F35 + .4byte gText_082B7FE8 + .4byte gText_082B8087 + .4byte gText_082B822B + .4byte gText_082B8286 + .4byte gText_082B8356 + .4byte gText_082B83CE + .4byte gText_082B84FC + .4byte gText_082B8559 + .4byte gText_082B8656 + .4byte gText_082B86EA + .4byte gText_082B87DA + .4byte gText_082B887C + .4byte gText_082B8957 + .4byte gText_082B89C6 + .4byte gText_082B8ACF + .4byte gText_082B8B66 + .4byte gText_082B8C20 + .4byte gText_082B8CAA + .4byte gText_082B8DD3 + .4byte gText_082B8E24 + .4byte gText_082B8ED5 + .4byte gText_082B8F45 + .4byte gText_082B905F + .4byte gText_082B910E + .4byte gText_082B9204 + .4byte gText_082B929C + .4byte gText_082B9438 + .4byte gText_082B9488 + .4byte gText_082B9564 + .4byte gText_082B95D8 + .4byte gText_082B9763 + .4byte gText_082B97E5 + .4byte gText_082B989A + .4byte gText_082B992D + .4byte gText_082B9A84 + .4byte gText_082B9AB9 + .4byte gText_082B9B76 + .4byte gText_082B9BF2 + .4byte gText_082B9D83 + .4byte gText_082B9DF9 + .4byte gText_082B9EAA + .4byte gText_082B9F55 + .4byte gText_082BA084 + .4byte gText_082BA11D + .4byte gText_082BA1F3 + .align 2 gUnknown_08610FF0:: @ 8610FF0 - .incbin "baserom.gba", 0x610ff0, 0x80 + .4byte gText_082BE50D + .4byte gText_082BE5F5 + .4byte gText_082BE679 + .4byte gText_082BE71E + .4byte gText_082BE762 + .4byte gText_082BE7F8 + .4byte gText_082BE850 + .4byte gText_082BE99C + .4byte gText_082BEA1B + .4byte gText_082BEAE9 + .4byte gText_082BEB72 + .4byte gText_082BEC8E + .4byte gText_082BED16 + .4byte gText_082BEE29 + .4byte gText_082BEEB4 + .4byte gText_082BEFE2 + .4byte gText_082BF04E + .4byte gText_082BF11D + .4byte gText_082BF1A8 + .4byte gText_082BF268 + .4byte gText_082BF2D1 + .4byte gText_082BF3CF + .4byte gText_082BF46A + .4byte gText_082BF551 + .4byte gText_082BF5C3 + .4byte gText_082BF6E5 + .4byte gText_082BF773 + .4byte gText_082BF869 + .4byte gText_082BF8DD + .4byte gText_082BF9BA + .4byte gText_082BFA5A + .4byte gText_082BFB4E + .align 2 gUnknown_08611070:: @ 8611070 - .incbin "baserom.gba", 0x611070, 0x140 + .4byte gText_082BA2A3 + .4byte gText_082BA34E + .4byte gText_082BA380 + .4byte gText_082BA3D2 + .4byte gText_082BA448 + .4byte gText_082BA4D3 + .4byte gText_082BA58C + .4byte gText_082BA5BF + .4byte gText_082BA5F3 + .4byte gText_082BA635 + .4byte gText_082BA6E6 + .4byte gText_082BA742 + .4byte gText_082BA770 + .4byte gText_082BA78F + .4byte gText_082BA7D8 + .4byte gText_082BA867 + .4byte gText_082BA96B + .4byte gText_082BA9B7 + .4byte gText_082BAA1B + .4byte gText_082BAA81 + .4byte gText_082BAB22 + .4byte gText_082BAC43 + .4byte gText_082BAC78 + .4byte gText_082BAD17 + .4byte gText_082BADB6 + .4byte gText_082BAE36 + .4byte gText_082BAF4E + .4byte gText_082BAF8F + .4byte gText_082BAFDB + .4byte gText_082BB05F + .4byte gText_082BB0D4 + .4byte gText_082BB18C + .4byte gText_082BB1CE + .4byte gText_082BB242 + .4byte gText_082BB2D9 + .4byte gText_082BB370 + .4byte gText_082BB4C3 + .4byte gText_082BB4FB + .4byte gText_082BB575 + .4byte gText_082BB5E1 + .4byte gText_082BB656 + .4byte gText_082BB6E5 + .4byte gText_082BB72C + .4byte gText_082BB7A2 + .4byte gText_082BB84A + .4byte gText_082BB8CD + .4byte gText_082BB970 + .4byte gText_082BB9AE + .4byte gText_082BBA05 + .4byte gText_082BBA6C + .4byte gText_082BBB01 + .4byte gText_082BBC1C + .4byte gText_082BBC4B + .4byte gText_082BBCF6 + .4byte gText_082BBD90 + .4byte gText_082BBE0B + .4byte gText_082BBEE5 + .4byte gText_082BBF25 + .4byte gText_082BBFA4 + .4byte gText_082BC024 + .4byte gText_082BC0C8 + .4byte gText_082BC213 + .4byte gText_082BC247 + .4byte gText_082BC2DD + .4byte gText_082BC373 + .4byte gText_082BC40E + .4byte gText_082BC514 + .4byte gText_082BC555 + .4byte gText_082BC5CE + .4byte gText_082BC666 + .4byte gText_082BC714 + .4byte gText_082BC808 + .4byte gText_082BC84D + .4byte gText_082BC8EA + .4byte gText_082BC984 + .4byte gText_082BCA4D + .4byte gText_082BCB75 + .4byte gText_082BCBA6 + .4byte gText_082BCBFC + .4byte gText_082BCCA4 + .align 2 gUnknown_086111B0:: @ 86111B0 - .incbin "baserom.gba", 0x6111b0, 0x80 + .4byte gText_082BFBF2 + .4byte gText_082BFCAE + .4byte gText_082BFD26 + .4byte gText_082BFDB1 + .4byte gText_082BFE24 + .4byte gText_082BFEAD + .4byte gText_082BFF0A + .4byte gText_082C0032 + .4byte gText_082C0090 + .4byte gText_082C016E + .4byte gText_082C01F7 + .4byte gText_082C034C + .4byte gText_082C03CA + .4byte gText_082C046E + .4byte gText_082C04F9 + .4byte gText_082C0598 + .4byte gText_082C0602 + .4byte gText_082C06D8 + .4byte gText_082C074A + .4byte gText_082C0809 + .4byte gText_082C086E + .4byte gText_082C0982 + .4byte gText_082C0A1D + .4byte gText_082C0AFD + .4byte gText_082C0B6F + .4byte gText_082C0C7D + .4byte gText_082C0D0B + .4byte gText_082C0DFE + .4byte gText_082C0E71 + .4byte gText_082C0F6D + .4byte gText_082C1003 + .4byte gText_082C1122 + .align 2 gUnknown_08611230:: @ 8611230 - .incbin "baserom.gba", 0x611230, 0x80 + .4byte gText_082BCD68 + .4byte gText_082BCE64 + .4byte gText_082BCEF2 + .4byte gText_082BCF61 + .4byte gText_082BCFA1 + .4byte gText_082BD03C + .4byte gText_082BD06D + .4byte gText_082BD18A + .4byte gText_082BD222 + .4byte gText_082BD325 + .4byte gText_082BD3B1 + .4byte gText_082BD493 + .4byte gText_082BD51C + .4byte gText_082BD609 + .4byte gText_082BD697 + .4byte gText_082BD797 + .4byte gText_082BD806 + .4byte gText_082BD8F5 + .4byte gText_082BD9BE + .4byte gText_082BDAE1 + .4byte gText_082BDB4E + .4byte gText_082BDC6B + .4byte gText_082BDD0D + .4byte gText_082BDDEC + .4byte gText_082BDE68 + .4byte gText_082BDF4D + .4byte gText_082BDFD8 + .4byte gText_082BE0FD + .4byte gText_082BE189 + .4byte gText_082BE2A5 + .4byte gText_082BE33E + .4byte gText_082BE46C + .align 2 gUnknown_086112B0:: @ 86112B0 - .incbin "baserom.gba", 0x6112b0, 0x80 + .4byte gText_082C11D1 + .4byte gText_082C12D5 + .4byte gText_082C13AB + .4byte gText_082C1444 + .4byte gText_082C1501 + .4byte gText_082C15B6 + .4byte gText_082C165E + .4byte gText_082C174F + .4byte gText_082C1862 + .4byte gText_082C19A0 + .4byte gText_082C1A76 + .4byte gText_082C1C16 + .4byte gText_082C1CF5 + .4byte gText_082C1DC1 + .4byte gText_082C1EDC + .4byte gText_082C1FEC + .4byte gText_082C20D1 + .4byte gText_082C21FF + .4byte gText_082C231C + .4byte gText_082C2407 + .4byte gText_082C24B5 + .4byte gText_082C25B1 + .4byte gText_082C2707 + .4byte gText_082C27D4 + .4byte gText_082C28D6 + .4byte gText_082C2A0B + .4byte gText_082C2B50 + .4byte gText_082C2C77 + .4byte gText_082C2D67 + .4byte gText_082C2E41 + .4byte gText_082C2EF5 + .4byte gText_082C3023 + .align 2 gUnknown_08611330:: @ 8611330 - .incbin "baserom.gba", 0x611330, 0x40 + .4byte gText_082B6EA5 + .4byte gText_082B6EEC + .4byte gText_082B6F16 + .4byte gText_082B6F4C + .4byte gText_082B6F92 + .4byte gText_082B6FC9 + .4byte gText_082B700C + .4byte gText_082B703A + .4byte gText_082B706A + .4byte gText_082B709C + .4byte gText_082B70CC + .4byte gText_082B710A + .4byte gText_082B714D + .4byte gText_082B7185 + .4byte gText_082B71C1 + .4byte gText_082B71F9 gUnknown_08611370:: @ 8611370 - .incbin "baserom.gba", 0x611370, 0x163 + .byte 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00 + .byte 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01 + .byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01 + .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01 + .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + .byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01 + .byte 0x01, 0x01, 0x01 gUnknown_086114D3:: @ 86114D3 - .incbin "baserom.gba", 0x6114d3, 0xd + .byte 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00 + .align 2 gUnknown_086114E0:: @ 86114E0 - .incbin "baserom.gba", 0x6114e0, 0x68 + .4byte sub_81A093C + .4byte sub_81A0964 + .4byte sub_81A0978 + .4byte sub_819FC60 + .4byte sub_81A0984 + .4byte sub_81A0990 + .4byte sub_81A09D0 + .4byte sub_81A0A20 + .4byte sub_81A0C9C + .4byte sub_81A087C + .4byte sub_81A1638 + .4byte sub_81A0CC0 + .4byte sub_81A09B4 + .4byte sub_81A0D40 + .4byte sub_81A0DD4 + .4byte sub_81A0FE4 + .4byte sub_81A0FFC + .4byte sub_81A0D80 + .4byte sub_81A11F8 + .4byte sub_81A1218 + .4byte sub_81A1224 + .4byte sub_81A1438 + .4byte sub_81A150C + .4byte sub_81A15A4 + .4byte sub_81A1644 + .4byte sub_81A1370 + .align 2 gUnknown_08611548:: @ 8611548 - .incbin "baserom.gba", 0x611548, 0x8 + .byte 0x00, 0x01, 0x02, 0x03, 0x06, 0x07, 0x08, 0x09 + .align 2 gUnknown_08611550:: @ 8611550 - .incbin "baserom.gba", 0x611550, 0x1c + .byte 0x23, 0x46, 0x23, 0x01, 0x04, 0x09, 0x05, 0x00, 0x15, 0x2a, 0x15, 0x01, 0x1c, 0x38, 0x1c, 0x01, 0x15, 0x2a, 0x15, 0x01, 0x1c, 0x8c, 0x38, 0x01, 0x15, 0x46, 0x23, 0x00 + .align 2 gUnknown_0861156C:: @ 861156C - .incbin "baserom.gba", 0x61156c, 0xc + .byte 0x41, 0x00, 0xb3, 0x00, 0x18, 0x0f, 0x6a, 0x00, 0x98, 0x98, 0x64, 0x00 + .align 2 gUnknown_08611578:: @ 8611578 - .incbin "baserom.gba", 0x611578, 0x33c + .2byte 0x0009, 0x0007, 0x0008, 0x0032, 0x00f4, 0x008d, 0x0118, 0x9864, 0x0098, 0x0664, 0x007e, 0x015b, 0x00d8, 0x002e, 0x008f, 0x00b7 + .2byte 0x0318, 0x9898, 0x0000, 0x646a, 0x0022, 0x00bb, 0x0119, 0x00f7, 0x00f3, 0x008d, 0x0f1f, 0x009e, 0x64fc, 0x0000, 0x0055, 0x015b + .2byte 0x0073, 0x009c, 0x0198, 0x00b3, 0x0f1f, 0x00fc, 0x06fc, 0x0000, 0x005e, 0x015b, 0x0069, 0x0151, 0x008f, 0x0086, 0x031f, 0xfcfc + .2byte 0x0000, 0x0006, 0x00ae, 0x00d8, 0x009c, 0x00f7, 0x011d, 0x00c4, 0x0214, 0x9898, 0x006a, 0x0064, 0x0039, 0x0059, 0x003a, 0x0044 + .2byte 0x018d, 0x008d, 0x0314, 0x9898, 0x646a, 0x0000, 0x0059, 0x0118, 0x0151, 0x014c, 0x0006, 0x00b4, 0x1114, 0x9864, 0x986a, 0x0000 + .2byte 0x013b, 0x009d, 0x014c, 0x0059, 0x011d, 0x00c8, 0x021f, 0xfcfc, 0x0006, 0x0000, 0x0039, 0x0059, 0x003a, 0x00f3, 0x0190, 0x00b7 + .2byte 0x021f, 0xfcfc, 0x0006, 0x0000, 0x005e, 0x0135, 0x0059, 0x00b6, 0x0197, 0x0086, 0x0f1f, 0x00fc, 0x06fc, 0x0000, 0x0055, 0x005e + .2byte 0x015b, 0x009c, 0x00a9, 0x00b3, 0x0310, 0x0098, 0x9800, 0x6a64, 0x006d, 0x0068, 0x005c, 0x0013, 0x016e, 0x00c6, 0x0010, 0x9898 + .2byte 0x6a00, 0x0064, 0x0059, 0x00cf, 0x00f7, 0x0118, 0x0083, 0x00b7, 0x1110, 0x0000, 0x00fc, 0x986a, 0x003a, 0x0020, 0x006d, 0x00b6 + .2byte 0x003b, 0x00b4, 0x0b1f, 0xfc06, 0x00fc, 0x0000, 0x013b, 0x00f5, 0x002e, 0x00b6, 0x016e, 0x00c6, 0x001f, 0xfc06, 0xfc00, 0x0000 + .2byte 0x003f, 0x0059, 0x00f7, 0x0119, 0x00f5, 0x00bb, 0x0b1f, 0x00fc, 0x06fc, 0x0000, 0x003b, 0x0039, 0x002c, 0x015b, 0x00d6, 0x00aa + .2byte 0x0d14, 0x986a, 0x9800, 0x6400, 0x00e0, 0x013d, 0x00cb, 0x00b3, 0x00c5, 0x00c8, 0x1414, 0x0098, 0x0064, 0x6a98, 0x0022, 0x006d + .2byte 0x005e, 0x00b9, 0x012f, 0x00b3, 0x0314, 0xfc00, 0xfc06, 0x0000, 0x00f7, 0x00d8, 0x006d, 0x014c, 0x00c5, 0x0086, 0x141f, 0x00fc + .2byte 0x0000, 0x06fc, 0x0026, 0x006d, 0x009c, 0x005e, 0x005e, 0x00c8, 0x0f1f, 0x00fc, 0x00fc, 0x0006, 0x005e, 0x005f, 0x008a, 0x00c2 + .2byte 0x0133, 0x008d, 0x0d1f, 0xfc06, 0xfc00, 0x0000, 0x0093, 0x0108, 0x00ca, 0x001d, 0x018f, 0x008e, 0x021f, 0xfc00, 0x00fc, 0x0006 + .2byte 0x0071, 0x005e, 0x0073, 0x00e8, 0x00e3, 0x008e, 0x081f, 0x00fc, 0x0000, 0xfc06, 0x005c, 0x014c, 0x00b6, 0x00d3, 0x0180, 0x008e + .2byte 0x031f, 0xfc00, 0x0000, 0x06fc, 0x0055, 0x00b6, 0x004c, 0x0151, 0x018f, 0x008e, 0x021f, 0xfc00, 0x00fc, 0x0006, 0x0071, 0x005e + .2byte 0x0073, 0x00e8, 0x00e3, 0x008e, 0x081f, 0x00fc, 0x0000, 0xfc06, 0x005c, 0x014c, 0x00b6, 0x00d3, 0x0180, 0x008e, 0x031f, 0xfc00 + .2byte 0x0000, 0x06fc, 0x0055, 0x00b6, 0x004c, 0x0151, 0x017b, 0x00b7, 0x0210, 0x00fc, 0x00fc, 0x0006, 0x00cf, 0x00f2, 0x0131, 0x00ca + .2byte 0x00d5, 0x0086, 0x0510, 0x00fc, 0x0000, 0xfc6a, 0x005c, 0x00c9, 0x00b6, 0x009c, 0x0149, 0x00c8, 0x0f10, 0x0098, 0x0064, 0x6a98 + .2byte 0x003a, 0x00f3, 0x0039, 0x0069, 0x017b, 0x00c4, 0x051f, 0x00fc, 0x0000, 0x06fc, 0x00cf, 0x00f2, 0x00bc, 0x00ca, 0x00d0, 0x00b3 + .2byte 0x021f, 0x00fc, 0x0000, 0xfc06, 0x0059, 0x009d, 0x0099, 0x0067, 0x0082, 0x0086, 0x031f, 0x06fc, 0x0000, 0xfc00, 0x015d, 0x00d8 + .2byte 0x002e, 0x009c, 0x0191, 0x00b7, 0x0310, 0x9898, 0x0000, 0x646a, 0x0099, 0x0114, 0x0059, 0x00f6, 0x0193, 0x00c8, 0x0310, 0x9898 + .2byte 0x0000, 0xc806, 0x0059, 0x00e8, 0x005c, 0x014e, 0x0192, 0x0086, 0x0f10, 0x006a, 0x0098, 0x9864, 0x003a, 0x0085, 0x0057, 0x009c + .2byte 0x0090, 0x00c6, 0x101f, 0x0006, 0xfcfc, 0x0000, 0x003b, 0x0160, 0x014c, 0x0073, 0x0091, 0x008d, 0x101f, 0x0006, 0xfcfc, 0x0000 + .2byte 0x0057, 0x00c5, 0x0041, 0x0071, 0x0092, 0x00b3, 0x101f, 0x0006, 0xfcfc, 0x0000, 0x007e, 0x003f, 0x014c, 0x00db gUnknown_086118B4:: @ 86118B4 - .incbin "baserom.gba", 0x6118b4, 0x348 + .byte 0x01, 0x02, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x04, 0x05, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x03, 0x04, 0x04 + .byte 0x01, 0x01, 0x00, 0x00, 0x04, 0x05, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x04, 0x05, 0x05, 0x02, 0x02, 0x00, 0x00 + .byte 0x05, 0x06, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x05, 0x06, 0x06, 0x02, 0x02, 0x00, 0x00, 0x05, 0x06, 0x00, 0x00 + .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x06, 0x07, 0x07, 0x03, 0x03, 0x00, 0x00, 0x06, 0x07, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 + .byte 0x05, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x07, 0x08, 0x08, 0x03, 0x03, 0x00, 0x00, 0x06, 0x07, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x06, 0x00, 0x00 + .byte 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x08, 0x09, 0x09, 0x04, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x07, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 + .byte 0x08, 0x00, 0x00, 0x00, 0x08, 0x09, 0x0a, 0x0a, 0x04, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x07, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 + .byte 0x09, 0x0a, 0x0b, 0x0b, 0x05, 0x05, 0x00, 0x00, 0x08, 0x09, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0a, 0x0b, 0x0c, 0x0c + .byte 0x05, 0x05, 0x00, 0x00, 0x08, 0x09, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0b, 0x0c, 0x0d, 0x0d, 0x06, 0x06, 0x00, 0x00 + .byte 0x09, 0x0a, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x09, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0c, 0x0d, 0x0e, 0x0e, 0x06, 0x06, 0x00, 0x00, 0x09, 0x0a, 0x00, 0x00 + .byte 0x06, 0x00, 0x00, 0x00, 0x08, 0x09, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x0e, 0x0f, 0x0f, 0x07, 0x07, 0x00, 0x00, 0x0a, 0x0b, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 + .byte 0x09, 0x0a, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0e, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x00, 0x00, 0x0a, 0x0b, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x0a, 0x00, 0x00 + .byte 0x0a, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x08, 0x00, 0x00, 0x0b, 0x0c, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0a, 0x0b, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00 + .byte 0x0c, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x08, 0x00, 0x00, 0x0b, 0x0c, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0a, 0x0b, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00 + .byte 0x0f, 0x0f, 0x0f, 0x0f, 0x09, 0x09, 0x00, 0x00, 0x0c, 0x0d, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x0c, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f + .byte 0x09, 0x09, 0x00, 0x00, 0x0c, 0x0d, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0c, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0a, 0x0a, 0x00, 0x00 + .byte 0x0d, 0x0e, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0d, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0a, 0x0a, 0x00, 0x00, 0x0d, 0x0e, 0x00, 0x00 + .byte 0x0e, 0x00, 0x00, 0x00, 0x0c, 0x0d, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0b, 0x0b, 0x00, 0x00, 0x0e, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00 + .byte 0x0d, 0x0e, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0b, 0x0b, 0x00, 0x00, 0x0e, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0d, 0x0e, 0x00, 0x00 + .byte 0x0e, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0c, 0x0c, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0e, 0x0f, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00 + .byte 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0c, 0x0c, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0e, 0x0f, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00 + .byte 0x0f, 0x0f, 0x0f, 0x0f, 0x0d, 0x0d, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f + .byte 0x0d, 0x0d, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x00, 0x00 + .byte 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00 + .byte 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00 + .byte 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00 + .byte 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00 + .align 2 gUnknown_08611BFC:: @ 8611BFC - .incbin "baserom.gba", 0x611bfc, 0x1c + .2byte 0x0001, 0x0002, 0x0004, 0x0008, 0x0010, 0x0020, 0x0040, 0x0080, 0x0100, 0x0200, 0x0400, 0x0800, 0x1000, 0x2000 + .align 2 gUnknown_08611C18:: @ 8611C18 - .incbin "baserom.gba", 0x611c18, 0x5c + .4byte sub_81A17A0 + .4byte sub_81A1830 + .4byte sub_81A1968 + .4byte sub_81A1AD4 + .4byte sub_81A1B1C + .4byte sub_81A1B28 + .4byte sub_81A1B38 + .4byte sub_81A1B98 + .4byte sub_81A31FC + .4byte sub_81A35EC + .4byte sub_81A3B00 + .4byte sub_81A3B64 + .4byte sub_81A3D30 + .4byte sub_81A3D58 + .4byte sub_81A3DA0 + .4byte sub_81A3FD4 + .4byte sub_81A4224 + .4byte sub_81A4230 + .4byte sub_81A43A8 + .4byte sub_81A4410 + .4byte sub_81A443C + .4byte sub_81A447C + .4byte sub_81A457C + .align 2 gUnknown_08611C74:: @ 8611C74 - .incbin "baserom.gba", 0x611c74, 0x8 + window_template 0x00, 0x01, 0x01, 0x1c, 0x12, 0x0f, 0x0001 + .align 2 gUnknown_08611C7C:: @ 8611C7C - .incbin "baserom.gba", 0x611c7c, 0x8 + window_template 0x00, 0x02, 0x02, 0x1a, 0x0f, 0x0f, 0x0001 + .align 2 gUnknown_08611C84:: @ 8611C84 - .incbin "baserom.gba", 0x611c84, 0x8 + window_template 0x00, 0x02, 0x01, 0x1a, 0x11, 0x0f, 0x0001 gUnknown_08611C8C:: @ 8611C8C - .incbin "baserom.gba", 0x611c8c, 0xe + .byte 0x46, 0x01, 0x47, 0x00, 0x49, 0x00, 0x48, 0x01, 0x4a, 0x00, 0x4b, 0x01, 0xea, 0x00 gUnknown_08611C9A:: @ 8611C9A - .incbin "baserom.gba", 0x611c9a, 0x16 + .2byte 0x0097, 0x0096, 0x00fa, 0x00f9, 0x00fb, 0x0194, 0x0195, 0x0196, 0x0199, 0x019a, 0xffff + .align 2 gUnknown_08611CB0:: @ 8611CB0 - .incbin "baserom.gba", 0x611cb0, 0x50 + .4byte gText_BattleTower2 + .4byte gUnknown_085ED164 + .4byte gText_BattleTower2 + .4byte gUnknown_085ED170 + .4byte gText_BattleTower2 + .4byte gUnknown_085ED17C + .4byte gText_BattleDome + .4byte gUnknown_085ED164 + .4byte gText_BattlePalace + .4byte gUnknown_085ED164 + .4byte gText_BattleArena + .4byte gUnknown_085ED190 + .4byte gText_BattleFactory + .4byte gUnknown_085ED164 + .4byte gText_BattlePike + .4byte gUnknown_085ED190 + .4byte gText_BattlePyramid + .4byte gUnknown_085ED190 + .4byte gText_BattleTower2 + .4byte gUnknown_085ED188 + .align 2 gUnknown_08611D00:: @ 8611D00 - .incbin "baserom.gba", 0x611d00, 0x8 + .4byte gUnknown_085EE3B0 + .4byte gUnknown_085EE3B8 + .align 2 gUnknown_08611D08:: @ 8611D08 - .incbin "baserom.gba", 0x611d08, 0x28 + .4byte gUnknown_085EE3C4 + .4byte gUnknown_085EE3C4 + .4byte gUnknown_085EE3C4 + .4byte gUnknown_085EE3D4 + .4byte gUnknown_085EE3C4 + .4byte gUnknown_085EE3FC + .4byte gUnknown_085EE3C4 + .4byte gUnknown_085EE3E8 + .4byte gUnknown_085EE410 + .4byte gUnknown_085EE3C4 + .align 1 gUnknown_08611D30:: @ 8611D30 - .incbin "baserom.gba", 0x611d30, 0x80 + .2byte 0x0325, 0x0326, 0x0327, 0x0328, 0x0329, 0x032a, 0x032b, 0x0000 + .align 2 +gUnknown_08611D40:: @ 8611D40 + .4byte gText_082C843F + .4byte gText_082C848B + .4byte gText_082C8628 + .4byte gText_082C85B4 + .4byte gText_082C8512 + .4byte gText_082C859D + .4byte gText_082C86C3 + + .align 2 +gUnknown_08611D5C:: @ 8611D5C + .4byte gText_082C8458 + .4byte gText_082C84C1 + .4byte gText_082C8662 + .4byte gText_082C85E3 + .4byte gText_082C853B + .4byte gText_082C85A4 + .4byte gText_082C86FE + + .align 2 +gUnknown_08611D78:: @ 8611D78 + .4byte gText_082C846C + .4byte gText_082C84D0 + .4byte gText_082C8682 + .4byte gText_082C85F5 + .4byte gText_082C8561 + .4byte gText_082C85A9 + .4byte gText_082C8739 + + .align 2 +gUnknown_08611D94:: @ 8611D94 + .4byte gText_082C8480 + .4byte gText_082C84F7 + .4byte gText_082C86B3 + .4byte gText_082C8611 + .4byte gText_082C8589 + .4byte gText_082C85AE + .4byte gText_082C877B + + .align 2 gUnknown_08611DB0:: @ 8611DB0 - .incbin "baserom.gba", 0x611db0, 0x8 + .4byte gUnknown_08611D40 + .4byte gUnknown_08611D78 + .align 2 gUnknown_08611DB8:: @ 8611DB8 - .incbin "baserom.gba", 0x611db8, 0x8 + .4byte gUnknown_08611D5C + .4byte gUnknown_08611D94 @ 8611DC0 .include "data/battle_frontier/battle_arena_move_mind_ratings.inc" .align 2 -@ 8611F24 - .incbin "baserom.gba", 0x611f24, 0x38 +gUnknown_08611F24:: @ 8611F24 + .byte 0x00, 0x00, 0x00, 0x40, 0x00, 0xf0, 0x00, 0x00 + .align 2 +gUnknown_08611F2C:: @ 8611F2C + .2byte 0x0000, 0x0001, 0xffff, 0x0000 + + .align 2 +gUnknown_08611F34:: @ 8611F34 + .2byte 0x0004, 0x0001, 0xffff, 0x0000 + + .align 2 +gUnknown_08611F3C:: @ 8611F3C + .2byte 0x0008, 0x0001, 0xffff, 0x0000 + + .align 2 +gUnknown_08611F44:: @ 8611F44 + .2byte 0x000c, 0x0001, 0xffff, 0x0000 + + .align 2 +gUnknown_08611F4C:: @ 8611F4C + .4byte gUnknown_08611F2C + .4byte gUnknown_08611F34 + .4byte gUnknown_08611F3C + .4byte gUnknown_08611F44 + + .align 2 gUnknown_08611F5C:: @ 8611F5C - .incbin "baserom.gba", 0x611f5c, 0x18 + spr_template 0x03e8, 0xffff, gUnknown_08611F24, gUnknown_08611F4C, NULL, gDummySpriteAffineAnimTable, sub_81A5698 + .align 2 gUnknown_08611F74:: @ 8611F74 - .incbin "baserom.gba", 0x611f74, 0x10 + obj_tiles gUnknown_08D854E8, 0x0200, 0x03e8 + null_obj_tiles + .align 2 gUnknown_08611F84:: @ 8611F84 - .incbin "baserom.gba", 0x611f84, 0x1c + .4byte sub_81A58B4 + .4byte sub_81A5964 + .4byte sub_81A59FC + .4byte sub_81A5AC4 + .4byte sub_81A5B08 + .4byte sub_81A5B88 + .4byte sub_81A5BE0 + .align 1 gUnknown_08611FA0:: @ 8611FA0 - .incbin "baserom.gba", 0x611fa0, 0xc + .2byte 0x003f, 0x0040, 0x0041, 0x0043, 0x0042, 0x0046 + .align 1 gUnknown_08611FAC:: @ 8611FAC - .incbin "baserom.gba", 0x611fac, 0x14 + .2byte 0x00b3, 0x00b4, 0x00b7, 0x00c8, 0x00b9, 0x00bb, 0x00c4, 0x00c6, 0x00ba, 0x0000 @ 8611FC0 .include "data/battle_frontier/battle_factory_style_move_lists.inc" + .align 2 gUnknown_08612120:: @ 8612120 - .incbin "baserom.gba", 0x612120, 0x44 + .4byte sub_81A5E94 + .4byte sub_81A5FA8 + .4byte sub_81A6054 + .4byte sub_81A613C + .4byte nullsub_75 + .4byte nullsub_123 + .4byte sub_81A6188 + .4byte sub_81A6198 + .4byte sub_81A61A4 + .4byte sub_81A63CC + .4byte sub_81A64C4 + .4byte sub_81A63B8 + .4byte sub_81A61B0 + .4byte sub_81A67EC + .4byte sub_81A6A08 + .4byte sub_81A6AEC + .4byte sub_81A6C1C + .align 2 gUnknown_08612164:: @ 8612164 - .incbin "baserom.gba", 0x612164, 0x10 + .4byte 0x00000100, 0x00000200, 0x01000000, 0x02000000 + .align 2 gUnknown_08612174:: @ 8612174 - .incbin "baserom.gba", 0x612174, 0x10 + .4byte 0xfffffeff, 0xfffffdff, 0xfeffffff, 0xfdffffff gUnknown_08612184:: @ 8612184 - .incbin "baserom.gba", 0x612184, 0x10 + .byte 0x03, 0x06, 0x06, 0x09, 0x09, 0x0c, 0x0c, 0x0f, 0x0f, 0x12, 0x15, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f + .align 1 gUnknown_08612194:: @ 8612194 - .incbin "baserom.gba", 0x612194, 0x180 + .2byte 0x006e, 0x00c7, 0x00a2, 0x010a, 0x010b, 0x0173, 0x0174, 0x01d3, 0x01d4, 0x0233, 0x0234, 0x0293, 0x0294, 0x02f3, 0x0174, 0x0351 + .2byte 0x0174, 0x01d3, 0x01d4, 0x0233, 0x0234, 0x0293, 0x0294, 0x02f3, 0x0174, 0x0371, 0x0174, 0x0371, 0x0174, 0x0371, 0x0174, 0x0371 + .align 1 +gUnknown_086121D4:: @ 86121D4 + .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x016a, 0x0005, 0x0105, 0x00d4 + .2byte 0x005c, 0x0145 + + .align 1 +gUnknown_086121F8:: @ 86121F8 + .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x0065, 0x0005, 0x0099, 0x0078 + .2byte 0x0057, 0x005c + + .align 1 +gUnknown_0861221C:: @ 861221C + .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x0133, 0x0005, 0x0093, 0x004e + .2byte 0x004d, 0x00ed + + .align 1 +gUnknown_08612240:: @ 8612240 + .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x00ca, 0x0005, 0x0044, 0x00f3 + .2byte 0x00db, 0x00c2 + + .align 2 +gUnknown_08612264:: @ 8612264 + .4byte gUnknown_086121D4 + .4byte gUnknown_086121F8 + .4byte gUnknown_0861221C + .4byte gUnknown_08612240 + + .align 1 +gUnknown_08612274:: @ 8612274 + .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x016a, 0x0005, 0x0105, 0x00d4 + .2byte 0x005c, 0x003a + + .align 1 +gUnknown_08612298:: @ 8612298 + .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x0065, 0x0005, 0x0099, 0x0078 + .2byte 0x0057, 0x005c + + .align 1 +gUnknown_086122BC:: @ 86122BC + .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x0133, 0x0005, 0x0093, 0x004e + .2byte 0x004d, 0x00ed + + .align 1 +gUnknown_086122E0:: @ 86122E0 + .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x00ca, 0x0005, 0x0044, 0x00f3 + .2byte 0x00db, 0x00e3 + + .align 2 +gUnknown_08612304:: @ 8612304 + .4byte gUnknown_08612274 + .4byte gUnknown_08612298 + .4byte gUnknown_086122BC + .4byte gUnknown_086122E0 + + .align 2 gUnknown_08612314:: @ 8612314 - .incbin "baserom.gba", 0x612314, 0x8 + .4byte gUnknown_08612264 + .4byte gUnknown_08612304 + .align 2 gUnknown_0861231C:: @ 861231C - .incbin "baserom.gba", 0x61231c, 0xc8 + .2byte 0x0012 + .byte 0x03, 0x05, 0x06 + .align 2 + .2byte 0x0005 + .byte 0x0d, 0x20, 0x25 + + .align 2 + .2byte 0x0011 + .byte 0x08, 0x0b, 0x0c + + .align 2 + .2byte 0x0024 + .byte 0x22, 0x1e, 0x21 + + .align 2 + .2byte 0x0015 + .byte 0x00, 0x00, 0x00 + + .align 2 + .2byte 0x001e + .byte 0x01, 0x01, 0x01 + + .align 2 + .2byte 0x002c + .byte 0x16, 0x17, 0x1b + + .align 2 + .2byte 0x0037 + .byte 0x08, 0x16, 0x1f + + .align 2 + .2byte 0x000e + .byte 0x0d, 0x27, 0x15 + + .align 2 + .2byte 0x0014 + .byte 0x02, 0x04, 0x11 + + .align 2 + .2byte 0x0038 + .byte 0x1e, 0x14, 0x24 + + .align 2 + .2byte 0x0042 + .byte 0x1c, 0x22, 0x19 + + .align 2 + .2byte 0x0026 + .byte 0x17, 0x26, 0x1a + + .align 2 + .2byte 0x0032 + .byte 0x17, 0x1e, 0x0b + + .align 2 + .2byte 0x002f + .byte 0x0f, 0x13, 0x0e + + .align 2 + .2byte 0x0027 + .byte 0x02, 0x1d, 0x1a + + .align 2 + .2byte 0x0033 + .byte 0x25, 0x0c, 0x20 + + .align 2 + .2byte 0x0021 + .byte 0x18, 0x17, 0x26 + + .align 2 + .2byte 0x0018 + .byte 0x05, 0x16, 0x04 + + .align 2 + .2byte 0x000b + .byte 0x29, 0x25, 0x23 + + .align 2 + .2byte 0x0035 + .byte 0x27, 0x0e, 0x0d + + .align 2 + .2byte 0x0030 + .byte 0x0a, 0x07, 0x09 + + .align 2 + .2byte 0x000c + .byte 0x28, 0x14, 0x10 + + .align 2 + .2byte 0x0034 + .byte 0x12, 0x0d, 0x15 + + .align 2 + .2byte 0x0013 + .byte 0x16, 0x1f, 0x1b + + .align 2 gUnknown_086123E4:: @ 86123E4 - .incbin "baserom.gba", 0x6123e4, 0x1f8 + .byte 0x29, 0x0a, 0x30, 0x06, 0x01, 0x0a, 0x0f, 0x14, 0x20, 0x10, 0x0e, 0x27 + .byte 0x2a, 0x0a, 0x1d, 0x08, 0x1b, 0x06, 0x34, 0x10, 0x20, 0x1e, 0x29, 0x0a + .byte 0x22, 0x1e, 0x31, 0x12, 0x01, 0x0a, 0x18, 0x10, 0x1a, 0x1c, 0x03, 0x0c + .byte 0x0f, 0x1e, 0x0b, 0x10, 0x39, 0x10, 0x0f, 0x20, 0x2b, 0x10, 0x14, 0x0a + .byte 0x3b, 0x10, 0x02, 0x0a, 0x1e, 0x16, 0x20, 0x10, 0x3e, 0x14, 0x03, 0x0c + .byte 0x31, 0x0a, 0x02, 0x0e, 0x15, 0x0e, 0x36, 0x14, 0x37, 0x10, 0x0a, 0x1e + .byte 0x29, 0x0a, 0x25, 0x10, 0x2a, 0x14, 0x34, 0x10, 0x0f, 0x1e, 0x1b, 0x0a + .byte 0x01, 0x0a, 0x07, 0x0e, 0x2a, 0x12, 0x0f, 0x1e, 0x1f, 0x06, 0xff, 0xff + .byte 0x35, 0x1a, 0x36, 0x10, 0x0f, 0x0e, 0x01, 0x0a, 0x21, 0x26, 0x0f, 0x1e + .byte 0x25, 0x0e, 0x2f, 0x10, 0x2d, 0x06, 0x1e, 0x20, 0x03, 0x0c, 0xff, 0xff + .byte 0x1d, 0x0c, 0x1d, 0x08, 0x2b, 0x0a, 0x0f, 0x10, 0x02, 0x0a, 0x03, 0x0c + .byte 0x2a, 0x0a, 0x3e, 0x0a, 0x00, 0x20, 0x27, 0x10, 0x08, 0x1c, 0x04, 0x0c + .byte 0x01, 0x0a, 0x12, 0x12, 0x01, 0x0a, 0x00, 0x10, 0x2d, 0x06, 0xff, 0xff + .byte 0x22, 0x1e, 0x31, 0x12, 0x01, 0x0a, 0x18, 0x10, 0x1c, 0x1c, 0x03, 0x0c + .byte 0x01, 0x0a, 0x0b, 0x06, 0x30, 0x10, 0x28, 0x0a, 0x49, 0x25, 0x24, 0x06 + .byte 0x14, 0x10, 0x2c, 0x0a, 0x15, 0x04, 0x42, 0x16, 0x1b, 0x1e, 0x03, 0x0c + .byte 0x28, 0x06, 0x0f, 0x1a, 0x0b, 0x10, 0x17, 0x20, 0x00, 0x0c, 0xff, 0xff + .byte 0x01, 0x0a, 0x15, 0x10, 0x47, 0x16, 0x0f, 0x1e, 0x39, 0x0e, 0x36, 0x0e + .byte 0x01, 0x0a, 0x17, 0x10, 0x20, 0x16, 0x19, 0x0e, 0x31, 0x0a, 0x38, 0x0c + .byte 0x1d, 0x0c, 0x1d, 0x08, 0x00, 0x0c, 0x22, 0x10, 0x12, 0x1c, 0x0b, 0x02 + .byte 0x29, 0x10, 0x04, 0x14, 0x2f, 0x10, 0x06, 0x10, 0x28, 0x1e, 0x1c, 0x1c + .byte 0x29, 0x10, 0x20, 0x0e, 0x28, 0x10, 0x16, 0x1c, 0x29, 0x1e, 0x03, 0x0c + .byte 0x0f, 0x1e, 0x0b, 0x10, 0x2f, 0x0e, 0x38, 0x06, 0x0c, 0x10, 0xff, 0xff + .byte 0x29, 0x0a, 0x08, 0x14, 0x2f, 0x10, 0x1e, 0x06, 0x2c, 0x10, 0xff, 0xff + .byte 0x23, 0x10, 0x0b, 0x10, 0x1d, 0x08, 0x2d, 0x06, 0x37, 0x10, 0x14, 0x0a + .byte 0x29, 0x0a, 0x22, 0x10, 0x08, 0x14, 0x2f, 0x10, 0x1e, 0x16, 0x29, 0x10 + .byte 0x01, 0x06, 0x2c, 0x10, 0x01, 0x0a, 0x15, 0x10, 0x39, 0x0e, 0x36, 0x0e + .byte 0x20, 0x10, 0x0b, 0x02, 0x3f, 0x10, 0x12, 0x1c, 0x04, 0x0c, 0xff, 0xff + .byte 0x18, 0x10, 0x02, 0x0a, 0x3a, 0x10, 0x46, 0x04, 0x0e, 0x02, 0x03, 0x0c + .byte 0x10, 0x1e, 0x0b, 0x02, 0x0a, 0x1e, 0x0b, 0x10, 0x3a, 0x06, 0xff, 0xff + .byte 0x02, 0x0a, 0x12, 0x12, 0x0f, 0x1e, 0x0b, 0x10, 0x38, 0x06, 0x03, 0x0c + .byte 0x22, 0x1e, 0x00, 0x10, 0x1b, 0x16, 0x3f, 0x10, 0x0f, 0x1e, 0x03, 0x0c + .byte 0x29, 0x0a, 0x1e, 0x0e, 0x25, 0x10, 0x26, 0x1e, 0x00, 0x0c, 0xff, 0xff + .byte 0x01, 0x0a, 0x1e, 0x0e, 0x36, 0x12, 0x2f, 0x10, 0x0b, 0x12, 0x04, 0x0c + .byte 0x05, 0x28, 0x0f, 0x1e, 0x1b, 0x0a, 0x0b, 0x10, 0x20, 0x10, 0x3b, 0x06 + .byte 0x01, 0x0a, 0x1f, 0x10, 0x3e, 0x0a, 0x37, 0x10, 0x20, 0x10, 0x28, 0x06 + .byte 0x26, 0x10, 0x31, 0x0a, 0x29, 0x1e, 0x1c, 0x1c, 0x01, 0x0a, 0x12, 0x12 + .byte 0x0a, 0x0c, 0x00, 0x0c, 0x29, 0x10, 0x1c, 0x10, 0x0f, 0x1e, 0x23, 0x0c + .byte 0x28, 0x0a, 0x0e, 0x02, 0x0f, 0x10, 0x39, 0x10, 0x2a, 0x14, 0x04, 0x0c + .byte 0x28, 0x0a, 0x0e, 0x02, 0x0f, 0x10, 0x20, 0x06, 0x2f, 0x10, 0x3c, 0x04 + .byte 0x39, 0x0c, 0x39, 0x0c, 0x00, 0x0c, 0x29, 0x0a, 0x17, 0x20, 0x39, 0x0c + .byte 0x5c, 0x26, 0x0b, 0x10, 0x20, 0x10, 0x30, 0x12, 0x05, 0x1e, 0x0c, 0x10 gUnknown_086125DC:: @ 86125DC - .incbin "baserom.gba", 0x6125dc, 0x1c + .byte 0x23, 0x46, 0x23, 0x01, 0x04, 0x09, 0x05, 0x00, 0x15, 0x2a, 0x15, 0x01, 0x1c, 0x38, 0x1c, 0x01, 0x15, 0x2a, 0x15, 0x01, 0x1c, 0x8c, 0x38, 0x01, 0x15, 0x46, 0x23, 0x00 + .align 2 gUnknown_086125F8:: @ 86125F8 - .incbin "baserom.gba", 0x6125f8, 0x74 + .4byte sub_81A705C + .4byte sub_81A7140 + .4byte sub_81A7248 + .4byte sub_81A73B8 + .4byte sub_81A7070 + .4byte sub_81A73EC + .4byte sub_81A7400 + .4byte sub_81A740C + .4byte sub_81A7418 + .4byte nullsub_76 + .4byte nullsub_124 + .4byte sub_81A7468 + .4byte sub_81A74CC + .4byte sub_81A74E0 + .4byte sub_81A7508 + .4byte sub_81A7580 + .4byte sub_81A8090 + .4byte sub_81A80DC + .4byte sub_81A825C + .4byte sub_81A827C + .4byte sub_81A84B4 + .4byte sub_81A84EC + .4byte sub_81A863C + .4byte sub_81A8658 + .4byte sub_81A869C + .4byte sub_81A86C0 + .4byte sub_81A8794 + .4byte sub_81A87E8 + .4byte sub_81A8830 gUnknown_0861266C:: @ 861266C - .incbin "baserom.gba", 0x61266c, 0x9 + .byte 0x03, 0x03, 0x01, 0x00, 0x00, 0x02, 0x02, 0x01, 0x04 gUnknown_08612675:: @ 8612675 - .incbin "baserom.gba", 0x612675, 0x13 + .byte 0x02, 0x01, 0x00, 0x02, 0x00, 0x01, 0x01, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x01, 0x00, 0x01, 0x02, 0x00 + .align 2 gUnknown_08612688:: @ 8612688 - .incbin "baserom.gba", 0x612688, 0x8 + .4byte sub_81A7D8C + .4byte sub_81A7DE8 + .align 2 gUnknown_08612690:: @ 8612690 - .incbin "baserom.gba", 0x612690, 0x8 + .4byte 0x00000400, 0x00000800 gUnknown_08612698:: @ 8612698 - .incbin "baserom.gba", 0x612698, 0x4 + step_94 + step_right + step_95 + step_end gUnknown_0861269C:: @ 861269C - .incbin "baserom.gba", 0x61269c, 0x4 + step_94 + step_down + step_95 + step_end gUnknown_086126A0:: @ 86126A0 - .incbin "baserom.gba", 0x6126a0, 0x4 + step_94 + step_left + step_95 + step_end gUnknown_086126A4:: @ 86126A4 - .incbin "baserom.gba", 0x6126a4, 0x4 + step_94 + step_up + step_95 + step_end gUnknown_086126A8:: @ 86126A8 - .incbin "baserom.gba", 0x6126a8, 0x2 + step_03 + step_end gUnknown_086126AA:: @ 86126AA - .incbin "baserom.gba", 0x6126aa, 0x2 + step_00 + step_end gUnknown_086126AC:: @ 86126AC - .incbin "baserom.gba", 0x6126ac, 0x2 + step_02 + step_end gUnknown_086126AE:: @ 86126AE - .incbin "baserom.gba", 0x6126ae, 0x2 + step_01 + step_end @ 86126B0 .include "data/battle_frontier/battle_pyramid_level_50_wild_mons.inc" @@ -295,53 +1499,497 @@ gUnknown_086126AE:: @ 86126AE @ 8612E80 .include "data/battle_frontier/battle_pyramid_open_level_wild_mons.inc" + .align 2 gUnknown_08613650:: @ 8613650 - .incbin "baserom.gba", 0x613650, 0x5 - -gUnknown_08613655:: @ 8613655 - .incbin "baserom.gba", 0x613655, 0xfb + .byte 0x07, 0x03, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x00, 0x00, 0x00, 0x06, 0x03, 0x00, 0x00, 0x80, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x00, 0x00, 0x00 + .byte 0x05, 0x03, 0x00, 0x00, 0x78, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x78, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x00, 0x00, 0x00 + .byte 0x04, 0x04, 0x00, 0x01, 0x70, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07, 0x00, 0x00, 0x00, 0x03, 0x05, 0x00, 0x02, 0x70, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00 + .byte 0x03, 0x05, 0x00, 0x00, 0x68, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x01, 0x68, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x00, 0x00, 0x00 + .byte 0x04, 0x05, 0x00, 0x02, 0x60, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x00, 0x00, 0x00, 0x03, 0x06, 0x00, 0x04, 0x60, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x00, 0x00, 0x00 + .byte 0x02, 0x03, 0x00, 0x00, 0x58, 0x0c, 0x0d, 0x0e, 0x0c, 0x0d, 0x0e, 0x0c, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x05, 0x00, 0x00, 0x58, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x00, 0x00, 0x00 + .byte 0x03, 0x07, 0x00, 0x00, 0x50, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x50, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x00, 0x00, 0x00 + .byte 0x03, 0x06, 0x00, 0x00, 0x50, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x03, 0x08, 0x00, 0x00, 0x50, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00 gUnknown_08613750:: @ 8613750 - .incbin "baserom.gba", 0x613750, 0x44 + .byte 0x28, 0x00, 0x46, 0x01, 0x5a, 0x02, 0x64, 0x03, 0x23, 0x01, 0x37, 0x02, 0x4b, 0x03, 0x5a, 0x04, 0x64, 0x0a, 0x23, 0x02, 0x37, 0x03, 0x4b, 0x04, 0x5a, 0x05, 0x64, 0x0b, 0x23, 0x03, 0x37, 0x04 + .byte 0x4b, 0x05, 0x5a, 0x06, 0x64, 0x0c, 0x23, 0x04, 0x37, 0x05, 0x4b, 0x06, 0x5a, 0x07, 0x64, 0x0d, 0x23, 0x05, 0x37, 0x06, 0x4b, 0x07, 0x5a, 0x08, 0x64, 0x0e, 0x23, 0x06, 0x37, 0x07, 0x4b, 0x08 + .byte 0x5a, 0x09, 0x64, 0x0f gUnknown_08613794:: @ 8613794 - .incbin "baserom.gba", 0x613794, 0x8 + .byte 0x00, 0x04, 0x09, 0x0e, 0x13, 0x18, 0x1d, 0x00 + .align 1 gUnknown_0861379C:: @ 861379C - .incbin "baserom.gba", 0x61379c, 0x190 + .2byte 0x0015, 0x0051, 0x0085, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x0087, 0x0022, 0x008a, 0x0018 + .2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x0088, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c + .2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x0086, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db + .2byte 0x0019, 0x002d, 0x0015, 0x004e, 0x008d, 0x0022, 0x008a, 0x0018, 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004f, 0x008d, 0x0022 + .2byte 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x0049, 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025 + .2byte 0x0015, 0x0051, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x008d, 0x0022, 0x008a, 0x0018 + .2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x008d, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c + .2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db + .2byte 0x0019, 0x002d, 0x0015, 0x004e, 0x008d, 0x0022, 0x008a, 0x0018, 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004f, 0x008d, 0x0022 + .2byte 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x0049, 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025 + .2byte 0x0015, 0x0051, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x008d, 0x0022, 0x008a, 0x0018 + .2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x008d, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c + .2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025 + .align 1 gUnknown_0861392C:: @ 861392C - .incbin "baserom.gba", 0x61392c, 0x190 + .2byte 0x0015, 0x0051, 0x0085, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x0087, 0x0022, 0x008a, 0x0018 + .2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x0088, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c + .2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x0086, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db + .2byte 0x0019, 0x002d, 0x0015, 0x004e, 0x008d, 0x0022, 0x008a, 0x0018, 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004f, 0x008d, 0x0022 + .2byte 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x0049, 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025 + .2byte 0x0015, 0x0051, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x008d, 0x0022, 0x008a, 0x0018 + .2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x008d, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c + .2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db + .2byte 0x0019, 0x002d, 0x0015, 0x004e, 0x008d, 0x0022, 0x008a, 0x0018, 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004f, 0x008d, 0x0022 + .2byte 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x0049, 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025 + .2byte 0x0015, 0x0051, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x008d, 0x0022, 0x008a, 0x0018 + .2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x008d, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c + .2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025 gUnknown_08613ABC:: @ 8613ABC - .incbin "baserom.gba", 0x613abc, 0x7e + .byte 0x1f, 0x00, 0x2e, 0x01, 0x3d, 0x02, 0x47, 0x03, 0x51, 0x04, 0x5b, 0x05, 0x5e, 0x06, 0x61, 0x07, 0x64, 0x08, 0x0f, 0x00, 0x2e, 0x01, 0x3d, 0x02, 0x47, 0x03, 0x51, 0x04, 0x5b, 0x05, 0x5e, 0x06 + .byte 0x61, 0x08, 0x64, 0x09, 0x0f, 0x00, 0x1e, 0x01, 0x3d, 0x02, 0x47, 0x03, 0x51, 0x04, 0x5b, 0x05, 0x5e, 0x06, 0x61, 0x07, 0x64, 0x08, 0x1c, 0x00, 0x2b, 0x01, 0x3a, 0x02, 0x44, 0x03, 0x4e, 0x04 + .byte 0x58, 0x05, 0x5c, 0x07, 0x60, 0x08, 0x64, 0x09, 0x0f, 0x00, 0x2b, 0x01, 0x3a, 0x02, 0x44, 0x03, 0x4e, 0x04, 0x58, 0x05, 0x5c, 0x06, 0x60, 0x07, 0x64, 0x09, 0x0f, 0x00, 0x1e, 0x01, 0x3a, 0x02 + .byte 0x44, 0x03, 0x4e, 0x04, 0x58, 0x05, 0x5c, 0x06, 0x60, 0x07, 0x64, 0x08, 0x1c, 0x00, 0x2b, 0x01, 0x3a, 0x02, 0x44, 0x03, 0x4e, 0x04, 0x58, 0x05, 0x5c, 0x06, 0x60, 0x08, 0x64, 0x09 gUnknown_08613B3A:: @ 8613B3A - .incbin "baserom.gba", 0x613b3a, 0xa + .byte 0x00, 0x09, 0x12, 0x1b, 0x24, 0x2d, 0x36, 0x00, 0x00, 0x00 + .align 2 gUnknown_08613B44:: @ 8613B44 - .incbin "baserom.gba", 0x613b44, 0xd8 + .byte 0x03, 0x06 + .align 2 + .byte 0x0b, 0x06 + + .align 2 + .byte 0x0d, 0x06 + + .align 2 + .byte 0x0f, 0x01 + + .align 2 + .byte 0x2b, 0x04 + + .align 2 + .byte 0x2d, 0x01 + + .align 2 + .byte 0x24, 0x09 + + .align 2 + .byte 0x29, 0x04 + + .align 2 + .byte 0x05, 0x05 + + .align 2 + .byte 0x18, 0x04 + + .align 2 + .byte 0x2f, 0x00 + + .align 2 + .byte 0x2e, 0x09 + + .align 2 + .byte 0x11, 0x0c + + .align 2 + .byte 0x10, 0x0b + + .align 2 + .byte 0x1e, 0x0d + + .align 2 + .byte 0x08, 0x01 + + .align 2 + .byte 0x17, 0x03 + + .align 2 + .byte 0x0c, 0x04 + + .align 2 + .byte 0x38, 0x04 + + .align 2 + .byte 0x1c, 0x03 + + .align 2 + .byte 0x1a, 0x00 + + .align 2 + .byte 0x19, 0x0b + + .align 2 + .byte 0x09, 0x07 + + .align 2 + .byte 0x31, 0x07 + + .align 2 + .byte 0x35, 0x07 + + .align 2 + .byte 0x36, 0x01 + + .align 2 + .byte 0x33, 0x00 + + .align 2 + .byte 0x2a, 0x03 + + .align 2 + .byte 0x16, 0x0d + + .align 2 + .byte 0x0e, 0x03 + + .align 2 + .byte 0x15, 0x01 + + .align 2 + .byte 0x14, 0x01 + + .align 2 + .byte 0x2c, 0x01 + + .align 2 + .byte 0x1b, 0x02 + + .align 2 + .byte 0x04, 0x01 + + .align 2 + .byte 0x07, 0x03 + + .align 2 + .byte 0x34, 0x05 + + .align 2 + .byte 0x32, 0x00 + + .align 2 + .byte 0x37, 0x02 + + .align 2 + .byte 0x1d, 0x04 + + .align 2 + .byte 0x22, 0x09 + + .align 2 + .byte 0x1f, 0x01 + + .align 2 + .byte 0x25, 0x00 + + .align 2 + .byte 0x0a, 0x04 + + .align 2 + .byte 0x28, 0x00 + + .align 2 + .byte 0x06, 0x05 + + .align 2 + .byte 0x27, 0x0b + + .align 2 + .byte 0x26, 0x00 + + .align 2 + .byte 0x13, 0x00 + + .align 2 + .byte 0x12, 0x02 + + .align 2 + .byte 0x39, 0x08 + + .align 2 + .byte 0x02, 0x0b + + .align 2 + .byte 0x20, 0x01 + + .align 2 + .byte 0x21, 0x00 + + .align 2 gUnknown_08613C1C:: @ 8613C1C - .incbin "baserom.gba", 0x613c1c, 0x2a4 + .byte 0x0d, 0x03, 0x0e, 0x04, 0x10, 0x01, 0x11, 0x00, 0x03, 0x02, 0x12, 0x03, 0x0c, 0x03, 0x13, 0x03, 0x14, 0x03, 0x15, 0x02, 0x17, 0x02, 0x07, 0x02, 0x0a, 0x04, 0x19, 0x02, 0x1a, 0x02, 0x1b, 0x00 + .byte 0x1d, 0x02, 0x1e, 0x02, 0x1f, 0x03, 0x20, 0x04, 0x26, 0x00, 0x27, 0x01, 0x29, 0x04, 0x2a, 0x05, 0x09, 0x04, 0x16, 0x05, 0x2b, 0x00, 0x2d, 0x04, 0x2e, 0x02, 0x30, 0x02, 0x32, 0x02, 0x31, 0x03 + .byte 0x2f, 0x03, 0x33, 0x03, 0x34, 0x02, 0x04, 0x02, 0x35, 0x00, 0x36, 0x03, 0x37, 0x03, 0x38, 0x03, 0x1c, 0x01, 0x3a, 0x02, 0x05, 0x02, 0x42, 0x02, 0x02, 0x03, 0x44, 0x02, 0x45, 0x03, 0x47, 0x03 + .byte 0x43, 0x00, 0x00, 0x04 + .align 2 +gUnknown_08613C80:: @ 8613C80 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252D2D + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252D57 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252D81 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252DAB + + .align 2 +gUnknown_08613C90:: @ 8613C90 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25330B + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2532CC + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25328B + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253248 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253206 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2531C4 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253183 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253140 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2530FD + + .align 2 +gUnknown_08613CB4:: @ 8613CB4 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2544A6 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25445A + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25440B + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2543BA + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25436A + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25431A + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2542CB + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25427A + + .align 2 +gUnknown_08613CD4:: @ 8613CD4 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252DD5 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252E03 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252E31 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252E5F + + .align 2 +gUnknown_08613CE4:: @ 8613CE4 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25362E + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2535D4 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253578 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25351A + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2534BD + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253460 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253404 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2533A6 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25334D + + .align 2 +gUnknown_08613D08:: @ 8613D08 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25471E + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2546CC + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25467C + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25462A + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2545D9 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254588 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254538 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2544E6 + + .align 2 +gUnknown_08613D28:: @ 8613D28 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252E8D + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252EAA + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252EC7 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252EE4 + + .align 2 +gUnknown_08613D38:: @ 8613D38 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2539EC + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253980 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253915 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2538A8 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25383C + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2537D0 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253765 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2536F8 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25368B + + .align 2 +gUnknown_08613D5C:: @ 8613D5C + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254A0B + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2549AE + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25494D + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2548EB + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25488A + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254829 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2547C9 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254767 + + .align 2 +gUnknown_08613D7C:: @ 8613D7C + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252F01 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252F3A + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252F73 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252FAC + + .align 2 +gUnknown_08613D8C:: @ 8613D8C + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253D3E + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253CE0 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253C87 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253C2C + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253BD2 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253B78 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253B1F + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253AC4 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253A69 + + .align 2 +gUnknown_08613DB0:: @ 8613DB0 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254C3E + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254BF1 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254BAE + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254B69 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254B25 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254AE1 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254A9E + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254A59 + + .align 2 +gUnknown_08613DD0:: @ 8613DD0 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252FE5 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253000 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25301B + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253036 + + .align 2 +gUnknown_08613DE0:: @ 8613DE0 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253F6C + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253F34 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253EFA + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253EBE + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253E83 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253E48 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253E0E + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253DD2 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253D96 + + .align 2 +gUnknown_08613E04:: @ 8613E04 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254E6E + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254E27 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254DE0 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254D97 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254D4F + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254D07 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254CC0 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254C77 + + .align 2 +gUnknown_08613E24:: @ 8613E24 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253051 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25307C + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2530A7 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2530D2 + + .align 2 +gUnknown_08613E34:: @ 8613E34 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25422B + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2541DD + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25418D + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25413B + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2540EA + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254099 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254049 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253FF7 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253FA5 + + .align 2 +gUnknown_08613E58:: @ 8613E58 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_255068 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25502F + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254FF6 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254FBB + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254F81 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254F47 + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254F0E + .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254ED3 + + .align 2 +gUnknown_08613E78:: @ 8613E78 + .4byte gUnknown_08613C80 + .4byte gUnknown_08613C90 + .4byte gUnknown_08613CB4 + + .align 2 +gUnknown_08613E84:: @ 8613E84 + .4byte gUnknown_08613CD4 + .4byte gUnknown_08613CE4 + .4byte gUnknown_08613D08 + + .align 2 +gUnknown_08613E90:: @ 8613E90 + .4byte gUnknown_08613D28 + .4byte gUnknown_08613D38 + .4byte gUnknown_08613D5C + + .align 2 +gUnknown_08613E9C:: @ 8613E9C + .4byte gUnknown_08613D7C + .4byte gUnknown_08613D8C + .4byte gUnknown_08613DB0 + + .align 2 +gUnknown_08613EA8:: @ 8613EA8 + .4byte gUnknown_08613DD0 + .4byte gUnknown_08613DE0 + .4byte gUnknown_08613E04 + + .align 2 +gUnknown_08613EB4:: @ 8613EB4 + .4byte gUnknown_08613E24 + .4byte gUnknown_08613E34 + .4byte gUnknown_08613E58 + + .align 2 gUnknown_08613EC0:: @ 8613EC0 - .incbin "baserom.gba", 0x613ec0, 0x18 + .4byte gUnknown_08613E78 + .4byte gUnknown_08613E84 + .4byte gUnknown_08613E90 + .4byte gUnknown_08613E9C + .4byte gUnknown_08613EA8 + .4byte gUnknown_08613EB4 gUnknown_08613ED8:: @ 8613ED8 - .incbin "baserom.gba", 0x613ed8, 0x8 + .byte 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x03, 0x04 + .align 2 gUnknown_08613EE0:: @ 8613EE0 - .incbin "baserom.gba", 0x613ee0, 0x48 + .4byte sub_81A8E9C + .4byte sub_81A8F38 + .4byte sub_81A9048 + .4byte sub_81A9134 + .4byte sub_81A917C + .4byte sub_81A91FC + .4byte sub_81A9254 + .4byte CalculateBattlePyramidItemBallItemId + .4byte sub_81A93C8 + .4byte sub_81A9414 + .4byte sub_81A9424 + .4byte sub_81A9618 + .4byte sub_81A966C + .4byte sub_81A9684 + .4byte sub_81A975C + .4byte sub_81A97C8 + .4byte sub_81A9828 + .4byte sub_81A9834 + .align 1 gUnknown_08613F28:: @ 8613F28 - .incbin "baserom.gba", 0x613f28, 0xc + .2byte 0x003f, 0x0040, 0x0041, 0x0043, 0x0042, 0x0046 + .align 2 gUnknown_08613F34:: @ 8613F34 - .incbin "baserom.gba", 0x613f34, 0x12 + .2byte 0x00b3, 0x00b4, 0x00b7, 0x00c8, 0x00b9, 0x00bb, 0x00c4, 0x00c6, 0x00ba gUnknown_08613F46:: @ 8613F46 - .incbin "baserom.gba", 0x613f46, 0x40 + .byte 0x01, 0x04, 0xff, 0xff, 0x00, 0x02, 0x05, 0xff, 0x01, 0x03, 0x06, 0xff, 0x02, 0x07, 0xff, 0xff, 0x00, 0x05, 0x08, 0xff, 0x01, 0x04, 0x06, 0x09, 0x02, 0x05, 0x07, 0x0a, 0x03, 0x06, 0x0b, 0xff + .byte 0x04, 0x09, 0x0c, 0xff, 0x05, 0x08, 0x0a, 0x0d, 0x06, 0x09, 0x0b, 0x0e, 0x07, 0x0a, 0x0f, 0xff, 0x08, 0x0d, 0xff, 0xff, 0x09, 0x0c, 0x0e, 0xff, 0x0a, 0x0d, 0x0f, 0xff, 0x0b, 0x0e, 0xff, 0xff gUnknown_08613F86:: @ 8613F86 - .incbin "baserom.gba", 0x613f86, 0xa + .byte 0x1e, 0x28, 0x32, 0x3c, 0x46, 0x50, 0x55, 0x5a, 0x5f, 0x64 + diff --git a/data/battle_link_817C95C.s b/data/battle_link_817C95C.s new file mode 100644 index 0000000000..24f70c79c4 --- /dev/null +++ b/data/battle_link_817C95C.s @@ -0,0 +1,174 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 1 +gUnknown_0860A4AC:: @ 860A4AC + .2byte 0x0044, 0x005a, 0x0075, 0x00f3, 0x0020, 0x00af, 0x00b3, 0x00ed, 0x0149, 0x0108, 0x011c, 0x0143, 0x008a, 0x0137, 0x00ad, 0x00dc + .2byte 0x000c, 0x00da, 0x00d8, 0x011b, 0x00d9, 0x0117, 0xffff, 0x00de, 0x0095, 0xffff + + .align 1 +gUnknown_0860A4E0:: @ 860A4E0 + .2byte 0x0001, 0x0001, 0x0001, 0x0004, 0x0001, 0x0001, 0x0001, 0x0000, 0x0005, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001 + .2byte 0x0001, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0005, 0x0005, 0x0004, 0x0005, 0x0001, 0x0003, 0x0001 + .2byte 0x0003, 0x0005, 0x0001, 0x0007, 0x0001, 0x0007, 0x0007, 0x0001, 0x0005, 0x0002, 0x0004, 0x0001, 0x0001, 0x0001, 0x0005, 0x0001 + .2byte 0x0002, 0x0004, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001 + .2byte 0x0001, 0x0007, 0x0004, 0x0004, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0004, 0x0001, 0x0001, 0x0001, 0x0004 + .2byte 0x0005, 0x0002, 0x0004, 0x0001, 0x0004, 0x0001, 0x0007, 0x0002, 0x0001, 0x0005, 0x0007, 0x0003, 0x0003, 0x0004, 0x0003, 0x0003 + .2byte 0x0003, 0x0003, 0x0003, 0x0002, 0x0004, 0x0001, 0x0005, 0x0001, 0x0001, 0x0004, 0x0005, 0x0003, 0x0001, 0x0002, 0x0001, 0x0005 + .2byte 0x0004, 0x0003, 0x0006, 0x0004, 0x0003, 0x0003, 0x0003, 0x0002, 0x0004, 0x0001, 0x0001, 0x0001, 0x0005, 0x0001, 0x0001, 0x0007 + .2byte 0x0002, 0x0002, 0x0001, 0x0001, 0x0004, 0x0004, 0x0004, 0x0001, 0x0004, 0x0004, 0x0001, 0x0001, 0x0001, 0x0001, 0x0007, 0x0007 + .2byte 0x0006, 0x0003, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0003, 0x0001, 0x0001, 0x0004, 0x0004 + .2byte 0x0003, 0x0003, 0x0003, 0x0001, 0x0004, 0x0007, 0x0007, 0x0005, 0x0007, 0x0001, 0x0007, 0x0001, 0x0005, 0x0000, 0x0004, 0x0004 + .2byte 0x0004, 0x0004, 0x0004, 0x0002, 0x0002, 0x0006, 0x0003, 0x0006, 0x0004, 0x0004, 0x0002, 0x0005, 0x0002, 0x0001, 0x0001, 0x0006 + .2byte 0x0006, 0x0006, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0006, 0x0001, 0x0004, 0x0001, 0x0001, 0x0003, 0x0001, 0x0001, 0x0001 + .2byte 0x0001, 0x0001, 0x0004, 0x0001, 0x0001, 0x0003 + + .align 1 +gUnknown_0860A68C:: @ 860A68C + .2byte 0x0004, 0xfffd, 0xfffa + + .align 1 +gUnknown_0860A692:: @ 860A692 + .2byte 0x0004, 0x0004, 0x0006, 0x0006, 0x0007, 0x0006, 0x0002 + + .align 1 +gUnknown_0860A6A0:: @ 860A6A0 + .2byte 0x0091, 0x0003, 0x00fa, 0x0003, 0x00be, 0x0003, 0x0080, 0x0003, 0x006e, 0x0003, 0x0098, 0x0003, 0x0143, 0x0003, 0x0123, 0x0003 + .2byte 0x007f, 0x0003, 0x014a, 0x0003, 0x0039, 0x0003, 0x0134, 0x0003, 0x0038, 0x0003, 0x003d, 0x0003, 0x015a, 0x0000, 0x0037, 0x0003 + .2byte 0x0160, 0x0003, 0x0137, 0x0003, 0x0057, 0x0003, 0x004c, 0xfffc, 0x013b, 0xfffc, 0x00ac, 0xfffc, 0x0035, 0xfffc, 0x00dd, 0xfffc + .2byte 0x007e, 0xfffc, 0x0101, 0xfffc, 0x0034, 0xfffc, 0x0133, 0xfffc, 0x012b, 0xfffc, 0x011c, 0xfffc, 0x0053, 0xfffc, 0x0007, 0xfffc + .2byte 0x004c, 0xfffc, 0xffff, 0x0000 + + .align 1 +gUnknown_0860A728:: @ 860A728 + .2byte 0x013b, 0x0003, 0x00ac, 0x0003, 0x0035, 0x0003, 0x00dd, 0x0003, 0x007e, 0x0003, 0x0101, 0x0003, 0x0034, 0x0003, 0x0133, 0x0003 + .2byte 0x012b, 0x0003, 0x011c, 0x0003, 0x0053, 0x0003, 0x0007, 0x0003, 0x004c, 0x0005, 0x00eb, 0x0003, 0x00ea, 0x0003, 0x00ec, 0x0003 + .2byte 0x0137, 0x0003, 0xffff, 0x0000 + + .align 1 +gUnknown_0860A770:: @ 860A770 + .2byte 0x0137, 0x0003, 0x004c, 0xfffd, 0xffff, 0x0000 + + .align 1 +gUnknown_0860A77C:: @ 860A77C + .2byte 0x0137, 0x0003, 0x004c, 0xfffd, 0xffff, 0x0000 + + .align 1 +gUnknown_0860A788:: @ 860A788 + .2byte 0x0055, 0x0003, 0x0009, 0x0003, 0x00d1, 0x0003, 0x0054, 0x0003, 0x00c0, 0x0003, 0x015f, 0x0003, 0x0056, 0x0000, 0x0057, 0x0003 + .2byte 0x0158, 0x0003, 0xffff, 0x0000 + + .align 1 +gUnknown_0860A7B0:: @ 860A7B0 + .2byte 0x0005, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003 + + .align 1 +gUnknown_0860A7BE:: @ 860A7BE + .2byte 0x0005, 0x0005, 0x0005, 0x0005, 0x0005 + + .align 1 +gUnknown_0860A7C8:: @ 860A7C8 + .2byte 0x0004 + + .align 1 +gUnknown_0860A7CA:: @ 860A7CA + .2byte 0x0005 + + .align 1 +gUnknown_0860A7CC:: @ 860A7CC + .2byte 0x0005 + + .align 1 +gUnknown_0860A7CE:: @ 860A7CE + .2byte 0x0003 + + .align 1 +gUnknown_0860A7D0:: @ 860A7D0 + .2byte 0x0003 + + .align 1 +gUnknown_0860A7D2:: @ 860A7D2 + .2byte 0x0004 + + .align 1 +gUnknown_0860A7D4:: @ 860A7D4 + .2byte 0x0003 + + .align 1 +gUnknown_0860A7D6:: @ 860A7D6 + .2byte 0x0006 + + .align 1 +gUnknown_0860A7D8:: @ 860A7D8 + .2byte 0x0006 + + .align 1 +gUnknown_0860A7DA:: @ 860A7DA + .2byte 0x0006 + + .align 1 +gUnknown_0860A7DC:: @ 860A7DC + .2byte 0x0004 + + .align 1 +gUnknown_0860A7DE:: @ 860A7DE + .2byte 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002 + + .align 1 +gUnknown_0860A7EC:: @ 860A7EC + .2byte 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004 + + .align 1 +gUnknown_0860A7FA:: @ 860A7FA + .2byte 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff + + .align 1 +gUnknown_0860A808:: @ 860A808 + .2byte 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002 + + .align 1 +gUnknown_0860A816:: @ 860A816 + .2byte 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004 + + .align 1 +gUnknown_0860A824:: @ 860A824 + .2byte 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe + + .align 2 +gUnknown_0860A834:: @ 860A834 + .4byte gUnknown_0860A4E0 + .4byte gUnknown_0860A68C + .4byte gUnknown_0860A692 + .4byte gUnknown_0860A6A0 + .4byte gUnknown_0860A728 + .4byte gUnknown_0860A770 + .4byte gUnknown_0860A77C + .4byte gUnknown_0860A788 + .4byte gUnknown_0860A7B0 + .4byte gUnknown_0860A7BE + .4byte gUnknown_0860A7C8 + .4byte gUnknown_0860A7CA + .4byte gUnknown_0860A7CC + .4byte gUnknown_0860A7CE + .4byte gUnknown_0860A7D0 + .4byte gUnknown_0860A7D2 + .4byte gUnknown_0860A7D4 + .4byte gUnknown_0860A7D6 + .4byte gUnknown_0860A7D8 + .4byte gUnknown_0860A7DA + .4byte gUnknown_0860A7DA + .4byte gUnknown_0860A7DC + .4byte gUnknown_0860A7DE + .4byte gUnknown_0860A7EC + .4byte gUnknown_0860A7FA + .4byte gUnknown_0860A808 + .4byte gUnknown_0860A816 + .4byte gUnknown_0860A824 + + .align 1 +gUnknown_0860A8A4:: @ 860A8A4 + .2byte 0x0097, 0x00b2, 0x00bc, 0x008c, 0x00b4, 0x00b5, 0x0093, 0x006a, 0x0091, 0x005e, 0x0030, 0x002a, 0x0095, 0x001c, 0x001d, 0x0064 + .2byte 0x0060, 0xffff + diff --git a/data/battle_moves.inc b/data/battle_moves.inc index 586248bf07..c5c0905469 100644 --- a/data/battle_moves.inc +++ b/data/battle_moves.inc @@ -1917,7 +1917,7 @@ gBattleMoves:: @ 831C898 @ Curse .byte 0x6d @ effect .byte 0 @ power - .byte TYPE_UNKNOWN + .byte TYPE_MYSTERY .byte 0 @ accuracy .byte 10 @ PP .byte 0 @ side effect chance diff --git a/data/battle_records.s b/data/battle_records.s new file mode 100644 index 0000000000..86dc9d8b96 --- /dev/null +++ b/data/battle_records.s @@ -0,0 +1,37 @@ + + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 +gUnknown_085B3484:: @ 85B3484 + .incbin "graphics/unknown/unknown_5B3484.4bpp" + + .align 2 +gUnknown_085B3544:: @ 85B3544 + .incbin "graphics/unknown/unknown_5B3484.gbapal" + + .align 2 +gUnknown_085B3564:: @ 85B3564 + .incbin "graphics/unknown/unknown_5B3564.bin" + + .align 2 +gUnknown_085B3D64:: @ 85B3D64 + .4byte 0x000001f0, 0x000031e7 + + .align 2 +gUnknown_085B3D6C:: @ 85B3D6C + window_template 0x00, 0x02, 0x01, 0x1a, 0x12, 0x0f, 0x0014 + null_window_template + + .align 2 +gUnknown_085B3D7C:: @ 85B3D7C + window_template 0x00, 0x02, 0x01, 0x1a, 0x11, 0x0f, 0x0001 + +gUnknown_085B3D84:: @ 85B3D84 + .string "-------$" + +gUnknown_085B3D8C:: @ 85B3D8C + .string "----$" + diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index b2dfec5d8c..058833fa9c 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -1,586 +1,4596 @@ +#include "constants/battle.h" +#include "constants/pokemon.h" +#include "constants/battle_script_commands.h" +#include "constants/battle_anim.h" +#include "constants/battle_string_ids.h" +#include "constants/abilities.h" +#include "constants/moves.h" +#include "constants/songs.h" .include "asm/macros.inc" + .include "asm/macros/battle_script.inc" .include "constants/constants.inc" .section script_data, "aw", %progbits - + +.align 2 gBattleScriptsForMoveEffects:: @ 82D86A8 - .incbin "baserom.gba", 0x2d86a8, 0x388 - -BattleScript_PresentDamageTarget:: @ 82D8A30 - .incbin "baserom.gba", 0x2d8a30, 0x1e - -BattleScript_MoveEnd:: @ 82D8A4E - .incbin "baserom.gba", 0x2d8a4e, 0x12 - -BattleScript_PauseEffectivenessSoundResultMsgEndMove:: @ 82D8A60 - .incbin "baserom.gba", 0x2d8a60, 0x274 - -BattleScript_StatUp:: @ 82D8CD4 - .incbin "baserom.gba", 0x2d8cd4, 0x91 - -BattleScript_StatDown:: @ 82D8D65 - .incbin "baserom.gba", 0x2d8d65, 0x6fd - -BattleScript_MoveUsedMustRecharge:: @ 82D9462 - .incbin "baserom.gba", 0x2d9462, 0xa7f - -BattleScript_PresentHealTarget:: @ 82D9EE1 - .incbin "baserom.gba", 0x2d9ee1, 0x1a - -BattleScript_AlreadyAtFullHp:: @ 82D9EFB - .incbin "baserom.gba", 0x2d9efb, 0x21 - -BattleScript_ButItFailed:: @ 82D9F1C - .incbin "baserom.gba", 0x2d9f1c, 0x88e - -BattleScript_FaintAttacker:: @ 82DA7AA - .incbin "baserom.gba", 0x2da7aa, 0xd - -BattleScript_FaintTarget:: @ 82DA7B7 - .incbin "baserom.gba", 0x2da7b7, 0xd - -gUnknown_082DA7C4:: @ 82DA7C4 - .incbin "baserom.gba", 0x2da7c4, 0x9 - -gUnknown_082DA7CD:: @ 82DA7CD - .incbin "baserom.gba", 0x2da7cd, 0x160 - -BattleScript_LocalTrainerBattleWon:: @ 82DA92D - .incbin "baserom.gba", 0x2da92d, 0x3d - -BattleScript_PayDayMoneyAndPickUpItems:: @ 82DA96A - .incbin "baserom.gba", 0x2da96a, 0x3 - -BattleScript_LocalBattleLost:: @ 82DA96D - .incbin "baserom.gba", 0x2da96d, 0x9e - -gUnknown_082DAA0B:: @ 82DAA0B - .incbin "baserom.gba", 0x2daa0b, 0x2a - -BattleScript_LinkBattleWonOrLost:: @ 82DAA35 - .incbin "baserom.gba", 0x2daa35, 0x52 - -BattleScript_FrontierTrainerBattleWon:: @ 82DAA87 - .incbin "baserom.gba", 0x2daa87, 0x54 - -BattleScript_SmokeBallEscape:: @ 82DAADB - .incbin "baserom.gba", 0x2daadb, 0xe - -BattleScript_RanAwayUsingMonAbility:: @ 82DAAE9 - .incbin "baserom.gba", 0x2daae9, 0x7 - -BattleScript_GotAwaySafely:: @ 82DAAF0 - .incbin "baserom.gba", 0x2daaf0, 0x7 - -BattleScript_WildMonFled:: @ 82DAAF7 - .incbin "baserom.gba", 0x2daaf7, 0x7 - -gUnknown_082DAAFE:: @ 82DAAFE - .incbin "baserom.gba", 0x2daafe, 0x4 - -BattleScript_PrintFailedToRunString:: @ 82DAB02 - .incbin "baserom.gba", 0x2dab02, 0x9 - -gUnknown_082DAB0B:: @ 82DAB0B - .incbin "baserom.gba", 0x2dab0b, 0x6 - -gUnknown_082DAB11:: @ 82DAB11 - .incbin "baserom.gba", 0x2dab11, 0x4 - -BattleScript_ActionSwitch:: @ 82DAB15 - .incbin "baserom.gba", 0x2dab15, 0xa4 - -BattleScript_Pausex20:: @ 82DABB9 - .incbin "baserom.gba", 0x2dabb9, 0x4 - -BattleScript_LevelUp:: @ 82DABBD - .incbin "baserom.gba", 0x2dabbd, 0x6f - -gUnknown_082DAC2C:: @ 82DAC2C - .incbin "baserom.gba", 0x2dac2c, 0x1b - -gUnknown_082DAC47:: @ 82DAC47 - .incbin "baserom.gba", 0x2dac47, 0x82 - -gUnknown_082DACC9:: @ 82DACC9 - .incbin "baserom.gba", 0x2dacc9, 0x9 - -gUnknown_082DACD2:: @ 82DACD2 - .incbin "baserom.gba", 0x2dacd2, 0xe - -gUnknown_082DACE0:: @ 82DACE0 - .incbin "baserom.gba", 0x2dace0, 0x7 - -gUnknown_082DACE7:: @ 82DACE7 - .incbin "baserom.gba", 0x2dace7, 0x13 - -gUnknown_082DACFA:: @ 82DACFA - .incbin "baserom.gba", 0x2dacfa, 0x11 - -gUnknown_082DAD0B:: @ 82DAD0B - .incbin "baserom.gba", 0x2dad0b, 0xa - -BattleScript_LeechSeedTurnDrain:: @ 82DAD15 - .incbin "baserom.gba", 0x2dad15, 0x5c - -BattleScript_BideStoringEnergy:: @ 82DAD71 - .incbin "baserom.gba", 0x2dad71, 0xb - -BattleScript_BideAttack:: @ 82DAD7C - .incbin "baserom.gba", 0x2dad7c, 0x48 - -BattleScript_BideNoEnergyToAttack:: @ 82DADC4 - .incbin "baserom.gba", 0x2dadc4, 0x14 - -gUnknown_082DADD8:: @ 82DADD8 - .incbin "baserom.gba", 0x2dadd8, 0x2b - -BattleScript_MistProtected:: @ 82DAE03 - .incbin "baserom.gba", 0x2dae03, 0xa - -BattleScript_RageIsBuilding:: @ 82DAE0D - .incbin "baserom.gba", 0x2dae0d, 0x7 - -BattleScript_MoveUsedIsDisabled:: @ 82DAE14 - .incbin "baserom.gba", 0x2dae14, 0xb - -gUnknown_082DAE1F:: @ 82DAE1F - .incbin "baserom.gba", 0x2dae1f, 0x4 - -BattleScript_DisabledNoMore:: @ 82DAE23 - .incbin "baserom.gba", 0x2dae23, 0x7 - -gUnknown_082DAE2A:: @ 82DAE2A - .incbin "baserom.gba", 0x2dae2a, 0xd - -BattleScript_EncoredNoMore:: @ 82DAE37 - .incbin "baserom.gba", 0x2dae37, 0x7 - -BattleScript_DestinyBondTakesLife:: @ 82DAE3E - .incbin "baserom.gba", 0x2dae3e, 0x1b - -gUnknown_082DAE59:: @ 82DAE59 - .incbin "baserom.gba", 0x2dae59, 0x37 - -gUnknown_082DAE90:: @ 82DAE90 - .incbin "baserom.gba", 0x2dae90, 0x37 - -gUnknown_082DAEC7:: @ 82DAEC7 - .incbin "baserom.gba", 0x2daec7, 0x3e - -gUnknown_082DAF05:: @ 82DAF05 - .incbin "baserom.gba", 0x2daf05, 0x1b - -gUnknown_082DAF20:: @ 82DAF20 - .incbin "baserom.gba", 0x2daf20, 0x7 - -BattleScript_AllStatsUp:: @ 82DAF27 - .incbin "baserom.gba", 0x2daf27, 0x9c - -BattleScript_RapidSpinAway:: @ 82DAFC3 - .incbin "baserom.gba", 0x2dafc3, 0x2 - -BattleScript_WrapFree:: @ 82DAFC5 - .incbin "baserom.gba", 0x2dafc5, 0x11 - -BattleScript_LeechSeedFree:: @ 82DAFD6 - .incbin "baserom.gba", 0x2dafd6, 0x7 - -BattleScript_SpikesFree:: @ 82DAFDD - .incbin "baserom.gba", 0x2dafdd, 0x7 - -gUnknown_082DAFE4:: @ 82DAFE4 - .incbin "baserom.gba", 0x2dafe4, 0x8e - -BattleScript_NoMovesLeft:: @ 82DB072 - .incbin "baserom.gba", 0x2db072, 0x4 - -gUnknown_082DB076:: @ 82DB076 - .incbin "baserom.gba", 0x2db076, 0x4 - -BattleScript_NoPPForMove:: @ 82DB07A - .incbin "baserom.gba", 0x2db07a, 0xf - -gUnknown_082DB089:: @ 82DB089 - .incbin "baserom.gba", 0x2db089, 0xf - -gUnknown_082DB098:: @ 82DB098 - .incbin "baserom.gba", 0x2db098, 0x8 - -gUnknown_082DB0A0:: @ 82DB0A0 - .incbin "baserom.gba", 0x2db0a0, 0x4 - -BattleScript_MoveUsedIsTaunted:: @ 82DB0A4 - .incbin "baserom.gba", 0x2db0a4, 0xb - -gUnknown_082DB0AF:: @ 82DB0AF - .incbin "baserom.gba", 0x2db0af, 0x8 - -BattleScript_WishComesTrue:: @ 82DB0B7 - .incbin "baserom.gba", 0x2db0b7, 0x37 - -BattleScript_IngrainTurnHeal:: @ 82DB0EE - .incbin "baserom.gba", 0x2db0ee, 0x29 - -BattleScript_AtkDefDown:: @ 82DB117 - .incbin "baserom.gba", 0x2db117, 0x51 - -BattleScript_KnockedOff:: @ 82DB168 - .incbin "baserom.gba", 0x2db168, 0xe - -BattleScript_MoveUsedIsImprisoned:: @ 82DB176 - .incbin "baserom.gba", 0x2db176, 0xb - -gUnknown_082DB181:: @ 82DB181 - .incbin "baserom.gba", 0x2db181, 0x4 - -gUnknown_082DB185:: @ 82DB185 - .incbin "baserom.gba", 0x2db185, 0x8 - -BattleScript_GrudgeTakesPp:: @ 82DB18D - .incbin "baserom.gba", 0x2db18d, 0x7 - -BattleScript_MagicCoatBounce:: @ 82DB194 - .incbin "baserom.gba", 0x2db194, 0x18 - -BattleScript_SnatchedMove:: @ 82DB1AC - .incbin "baserom.gba", 0x2db1ac, 0x1b - -BattleScript_EnduredMsg:: @ 82DB1C7 - .incbin "baserom.gba", 0x2db1c7, 0x7 - -BattleScript_OneHitKOMsg:: @ 82DB1CE - .incbin "baserom.gba", 0x2db1ce, 0x7 - -BattleScript_SAtkDown2:: @ 82DB1D5 - .incbin "baserom.gba", 0x2db1d5, 0x2a - -BattleScript_FocusPunchSetUp:: @ 82DB1FF - .incbin "baserom.gba", 0x2db1ff, 0x14 - -BattleScript_MoveUsedIsAsleep:: @ 82DB213 - .incbin "baserom.gba", 0x2db213, 0xd - -BattleScript_MoveUsedWokeUp:: @ 82DB220 - .incbin "baserom.gba", 0x2db220, 0x14 - -gUnknown_082DB234:: @ 82DB234 - .incbin "baserom.gba", 0x2db234, 0x9 - -BattleScript_PoisonTurnDmg:: @ 82DB23D - .incbin "baserom.gba", 0x2db23d, 0x22 - -BattleScript_BurnTurnDmg:: @ 82DB25F - .incbin "baserom.gba", 0x2db25f, 0xb - -BattleScript_MoveUsedIsFrozen:: @ 82DB26A - .incbin "baserom.gba", 0x2db26a, 0xd - -BattleScript_MoveUsedUnfroze:: @ 82DB277 - .incbin "baserom.gba", 0x2db277, 0xb - -BattleScript_DefrostedViaFireMove:: @ 82DB282 - .incbin "baserom.gba", 0x2db282, 0x9 - -BattleScript_MoveUsedIsParalyzed:: @ 82DB28B - .incbin "baserom.gba", 0x2db28b, 0x10 - -BattleScript_MoveUsedFlinched:: @ 82DB29B - .incbin "baserom.gba", 0x2db29b, 0xb - -gUnknown_082DB2A6:: @ 82DB2A6 - .incbin "baserom.gba", 0x2db2a6, 0x9 - -BattleScript_ThrashConfuses:: @ 82DB2AF - .incbin "baserom.gba", 0x2db2af, 0xe - -BattleScript_MoveUsedIsConfused:: @ 82DB2BD - .incbin "baserom.gba", 0x2db2bd, 0x43 - -BattleScript_MoveUsedIsConfusedNoMore:: @ 82DB300 - .incbin "baserom.gba", 0x2db300, 0x7 - -BattleScript_PrintPayDayMoneyString:: @ 82DB307 - .incbin "baserom.gba", 0x2db307, 0x7 - -BattleScript_WrapTurnDmg:: @ 82DB30E - .incbin "baserom.gba", 0x2db30e, 0x12 - -BattleScript_WrapEnds:: @ 82DB320 - .incbin "baserom.gba", 0x2db320, 0x7 - -BattleScript_MoveUsedIsInLove:: @ 82DB327 - .incbin "baserom.gba", 0x2db327, 0xd - -BattleScript_MoveUsedIsParalyzedCantAttack:: @ 82DB334 - .incbin "baserom.gba", 0x2db334, 0xb - -BattleScript_NightmareTurnDmg:: @ 82DB33F - .incbin "baserom.gba", 0x2db33f, 0x11 - -BattleScript_CurseTurnDmg:: @ 82DB350 - .incbin "baserom.gba", 0x2db350, 0x11 - -BattleScript_TargetPRLZHeal:: @ 82DB361 - .incbin "baserom.gba", 0x2db361, 0x9 - -BattleScript_MoveEffectSleep:: @ 82DB36A - .incbin "baserom.gba", 0x2db36A, 0xE - -BattleScript_YawnMakesAsleep:: @ 82DB378 - .incbin "baserom.gba", 0x2db378, 0xE - -BattleScript_MoveEffectPoison:: @ 82DB386 - .incbin "baserom.gba", 0x2db386, 0xF - -BattleScript_MoveEffectBurn:: @ 82DB395 - .incbin "baserom.gba", 0x2db395, 0xF - -BattleScript_MoveEffectFreeze:: @ 82DB3A4 - .incbin "baserom.gba", 0x2db3A4, 0xF - -BattleScript_MoveEffectParalysis:: @ 82DB3B3 - .incbin "baserom.gba", 0x2db3B3, 0xF - -BattleScript_MoveEffectUproar:: @ 82DB3C2 - .incbin "baserom.gba", 0x2db3C2, 0x7 - -BattleScript_MoveEffectToxic:: @ 82DB3C9 - .incbin "baserom.gba", 0x2db3C9, 0xD - -BattleScript_MoveEffectPayDay:: @ 82DB3D6 - .incbin "baserom.gba", 0x2db3D6, 0x7 - -BattleScript_MoveEffectWrap:: @ 82DB3DD - .incbin "baserom.gba", 0x2db3DD, 0x9 - -BattleScript_MoveEffectConfusion:: @ 82DB3E6 - .incbin "baserom.gba", 0x2db3E6, 0xE - -BattleScript_MoveEffectRecoil33:: @ 82DB3F4 - .incbin "baserom.gba", 0x2db3F4, 0x2e - -BattleScript_ItemSteal:: @ 82DB422 - .incbin "baserom.gba", 0x2db422, 0xe - -BattleScript_DrizzleActivates:: @ 82DB430 - .incbin "baserom.gba", 0x2db430, 0x14 - -BattleScript_SpeedBoostActivates:: @ 82DB444 - .incbin "baserom.gba", 0x2db444, 0xe - -BattleScript_TraceActivates:: @ 82DB452 - .incbin "baserom.gba", 0x2db452, 0xa - -BattleScript_RainDishActivates:: @ 82DB45C - .incbin "baserom.gba", 0x2db45c, 0x14 - -BattleScript_SandstreamActivates:: @ 82DB470 - .incbin "baserom.gba", 0x2db470, 0x14 - -BattleScript_ShedSkinActivates:: @ 82DB484 - .incbin "baserom.gba", 0x2db484, 0x25 - -BattleScript_CastformChange:: @ 82DB4A9 - .incbin "baserom.gba", 0x2db4a9, 0xf - -gUnknown_082DB4B8:: @ 82DB4B8 - .incbin "baserom.gba", 0x2db4b8, 0x9 - -gUnknown_082DB4C1:: @ 82DB4C1 - .incbin "baserom.gba", 0x2db4c1, 0x69 - -BattleScript_DroughtActivates:: @ 82DB52A - .incbin "baserom.gba", 0x2db52a, 0x14 - -BattleScript_TookAttack:: @ 82DB53E - .incbin "baserom.gba", 0x2db53e, 0x14 - -BattleScript_SturdyPreventsOHKO:: @ 82DB552 - .incbin "baserom.gba", 0x2db552, 0xe - -BattleScript_DampStopsExplosion:: @ 82DB560 - .incbin "baserom.gba", 0x2db560, 0xe - -BattleScript_MoveHPDrain_PPLoss:: @ 82DB56E - .incbin "baserom.gba", 0x2db56e, 0x1 - -BattleScript_MoveHPDrain:: @ 82DB56F - .incbin "baserom.gba", 0x2db56f, 0x22 - -gUnknown_082DB591:: @ 82DB591 - .incbin "baserom.gba", 0x2db591, 0x1 - -gUnknown_082DB592:: @ 82DB592 - .incbin "baserom.gba", 0x2db592, 0x15 - -BattleScript_FlashFireBoost_PPLoss:: @ 82DB5A7 - .incbin "baserom.gba", 0x2db5a7, 0x1 - -BattleScript_FlashFireBoost:: @ 82DB5A8 - .incbin "baserom.gba", 0x2db5a8, 0x1f - -BattleScript_AbilityNoStatLoss:: @ 82DB5C7 - .incbin "baserom.gba", 0x2db5c7, 0xa - -BattleScript_BRNPrevention:: @ 82DB5D1 - .incbin "baserom.gba", 0x2db5d1, 0xc - -BattleScript_PRLZPrevention:: @ 82DB5DD - .incbin "baserom.gba", 0x2db5dd, 0xc - -BattleScript_PSNPrevention:: @ 82DB5E9 - .incbin "baserom.gba", 0x2db5e9, 0xc - -BattleScript_ObliviousPreventsAttraction:: @ 82DB5F5 - .incbin "baserom.gba", 0x2db5f5, 0xe - -BattleScript_FlinchPrevention:: @ 82DB603 - .incbin "baserom.gba", 0x2db603, 0x1c - -BattleScript_SoundproofProtected:: @ 82DB61F - .incbin "baserom.gba", 0x2db61f, 0x10 - -BattleScript_AbilityNoSpecificStatLoss:: @ 82DB62F - .incbin "baserom.gba", 0x2db62f, 0x10 - -BattleScript_StickyHoldActivates:: @ 82DB63F - .incbin "baserom.gba", 0x2db63f, 0xe - -BattleScript_ColorChangeActivates:: @ 82DB64D - .incbin "baserom.gba", 0x2db64d, 0x7 - -BattleScript_RoughSkinActivates:: @ 82DB654 - .incbin "baserom.gba", 0x2db654, 0x1b - -BattleScript_CuteCharmActivates:: @ 82DB66F - .incbin "baserom.gba", 0x2db66f, 0xd - -BattleScript_ApplySecondaryEffect:: @ 82DB67C - .incbin "baserom.gba", 0x2db67c, 0x3 - -BattleScript_SynchronizeActivates:: @ 82DB67F - .incbin "baserom.gba", 0x2db67f, 0x3 - -BattleScript_NoItemSteal:: @ 82DB682 - .incbin "baserom.gba", 0x2db682, 0xa - -gUnknown_082DB68C:: @ 82DB68C - .incbin "baserom.gba", 0x2db68c, 0x9 - -gUnknown_082DB695:: @ 82DB695 - .incbin "baserom.gba", 0x2db695, 0x10 - -gUnknown_082DB6A5:: @ 82DB6A5 - .incbin "baserom.gba", 0x2db6a5, 0x8 - -BattleScript_MoveUsedLoafingAround:: @ 82DB6AD - .incbin "baserom.gba", 0x2db6ad, 0x2c - -gUnknown_082DB6D9:: @ 82DB6D9 - .incbin "baserom.gba", 0x2db6d9, 0x17 - -gUnknown_082DB6F0:: @ 82DB6F0 - .incbin "baserom.gba", 0x2db6f0, 0xb - -BattleScript_SubstituteFade:: @ 82DB6FB - .incbin "baserom.gba", 0x2db6fb, 0xb - -BattleScript_BerryCurePrlzEnd2:: @ 82DB706 - .incbin "baserom.gba", 0x2db706, 0x6 - -BattleScript_BerryCureParRet:: @ 82DB70C - .incbin "baserom.gba", 0x2db70c, 0x12 - -BattleScript_BerryCurePsnEnd2:: @ 82DB71E - .incbin "baserom.gba", 0x2db71e, 0x6 - -BattleScript_BerryCurePsnRet:: @ 82DB724 - .incbin "baserom.gba", 0x2db724, 0x12 - -BattleScript_BerryCureBrnEnd2:: @ 82DB736 - .incbin "baserom.gba", 0x2db736, 0x6 - -BattleScript_BerryCureBrnRet:: @ 82DB73C - .incbin "baserom.gba", 0x2db73c, 0x12 - -BattleScript_BerryCureFrzEnd2:: @ 82DB74E - .incbin "baserom.gba", 0x2db74e, 0x6 - -BattleScript_BerryCureFrzRet:: @ 82DB754 - .incbin "baserom.gba", 0x2db754, 0x12 - -BattleScript_BerryCureSlpEnd2:: @ 82DB766 - .incbin "baserom.gba", 0x2db766, 0x6 - -BattleScript_BerryCureSlpRet:: @ 82DB76C - .incbin "baserom.gba", 0x2db76c, 0x12 - -BattleScript_BerryCureConfusionEnd2:: @ 82DB77E - .incbin "baserom.gba", 0x2db77e, 0x6 - -BattleScript_BerryCureConfusionRet:: @ 82DB784 - .incbin "baserom.gba", 0x2db784, 0x10 - -BattleScript_BerryCureChosenStatusEnd2:: @ 82DB794 - .incbin "baserom.gba", 0x2db794, 0x6 - -BattleScript_BerryCureChosenStatusRet:: @ 82DB79A - .incbin "baserom.gba", 0x2db79a, 0x14 - -BattleScript_WhiteHerbEnd2:: @ 82DB7AE - .incbin "baserom.gba", 0x2db7ae, 0x6 - -BattleScript_WhiteHerbRet:: @ 82DB7B4 - .incbin "baserom.gba", 0x2db7b4, 0x10 - -BattleScript_ItemHealHP_RemoveItem:: @ 82DB7C4 - .incbin "baserom.gba", 0x2db7c4, 0x1d - -BattleScript_BerryPPHealEnd2:: @ 82DB7E1 - .incbin "baserom.gba", 0x2db7e1, 0x10 - -BattleScript_ItemHealHP_End2:: @ 82DB7F1 - .incbin "baserom.gba", 0x2db7f1, 0x6 - -BattleScript_ItemHealHP_Ret:: @ 82DB7F7 - .incbin "baserom.gba", 0x2db7f7, 0x1b - -gUnknown_082DB812:: @ 82DB812 - .incbin "baserom.gba", 0x2db812, 0x4 - -BattleScript_HangedOnMsg:: @ 82DB816 - .incbin "baserom.gba", 0x2db816, 0xe - -BattleScript_BerryConfuseHealEnd2:: @ 82DB824 - .incbin "baserom.gba", 0x2db824, 0x2a - -BattleScript_BerryStatRaiseEnd2:: @ 82DB84E - .incbin "baserom.gba", 0x2db84e, 0x1b - -BattleScript_BerryFocusEnergyEnd2:: @ 82DB869 - .incbin "baserom.gba", 0x2db869, 0x10 - -BattleScript_ActionSelectionItemsCantBeUsed:: @ 82DB879 - .incbin "baserom.gba", 0x2db879, 0x4 - -gUnknown_082DB87D:: @ 82DB87D - .incbin "baserom.gba", 0x2db87d, 0x4 - -gUnknown_082DB881:: @ 82DB881 - .incbin "baserom.gba", 0x2db881, 0x3d - -gUnknown_082DB8BE:: @ 82DB8BE - .incbin "baserom.gba", 0x2db8be, 0x35 - -gUnknown_082DB8F3:: @ 82DB8F3 - .incbin "baserom.gba", 0x2db8f3, 0xc7 - -gUnknown_082DB9BA:: @ 82DB9BA - .incbin "baserom.gba", 0x2db9ba, 0x7 - -gUnknown_082DB9C1:: @ 82DB9C1 - .incbin "baserom.gba", 0x2db9c1, 0x7 - -gUnknown_082DB9C8:: @ 82DB9C8 - .incbin "baserom.gba", 0x2db9c8, 0xc + .4byte BattleScript_EffectHit + .4byte BattleScript_EffectSleep + .4byte BattleScript_EffectPoisonHit + .4byte BattleScript_EffectAbsorb + .4byte BattleScript_EffectBurnHit + .4byte BattleScript_EffectFreezeHit + .4byte BattleScript_EffectParalyzeHit + .4byte BattleScript_EffectExplosion + .4byte BattleScript_EffectDreamEater + .4byte BattleScript_EffectMirrorMove + .4byte BattleScript_EffectAttackUp + .4byte BattleScript_EffectDefenseUp + .4byte BattleScript_EffectSpeedUp + .4byte BattleScript_EffectSpecialAttackUp + .4byte BattleScript_EffectSpecialDefenseUp + .4byte BattleScript_EffectAccuracyUp + .4byte BattleScript_EffectEvasionUp + .4byte BattleScript_EffectAlwaysHit + .4byte BattleScript_EffectAttackDown + .4byte BattleScript_EffectDefenseDown + .4byte BattleScript_EffectSpeedDown + .4byte BattleScript_EffectSpecialAttackDown + .4byte BattleScript_EffectSpecialDefenseDown + .4byte BattleScript_EffectAccuracyDown + .4byte BattleScript_EffectEvasionDown + .4byte BattleScript_EffectHaze + .4byte BattleScript_EffectBide + .4byte BattleScript_EffectRampage + .4byte BattleScript_EffectRoar + .4byte BattleScript_EffectMultiHit + .4byte BattleScript_EffectConversion + .4byte BattleScript_EffectFlinchHit + .4byte BattleScript_EffectRestoreHp + .4byte BattleScript_EffectToxic + .4byte BattleScript_EffectPayDay + .4byte BattleScript_EffectLightScreen + .4byte BattleScript_EffectTriAttack + .4byte BattleScript_EffectRest + .4byte BattleScript_EffectOHKO + .4byte BattleScript_EffectRazorWind + .4byte BattleScript_EffectSuperFang + .4byte BattleScript_EffectDragonRage + .4byte BattleScript_EffectTrap + .4byte BattleScript_EffectHighCritical + .4byte BattleScript_EffectDoubleHit + .4byte BattleScript_EffectRecoilIfMiss + .4byte BattleScript_EffectMist + .4byte BattleScript_EffectFocusEnergy + .4byte BattleScript_EffectRecoil + .4byte BattleScript_EffectConfuse + .4byte BattleScript_EffectAttackUp2 + .4byte BattleScript_EffectDefenseUp2 + .4byte BattleScript_EffectSpeedUp2 + .4byte BattleScript_EffectSpecialAttackUp2 + .4byte BattleScript_EffectSpecialDefenseUp2 + .4byte BattleScript_EffectAccuracyUp2 + .4byte BattleScript_EffectEvasionUp2 + .4byte BattleScript_EffectTransform + .4byte BattleScript_EffectAttackDown2 + .4byte BattleScript_EffectDefenseDown2 + .4byte BattleScript_EffectSpeedDown2 + .4byte BattleScript_EffectSpecialAttackDown2 + .4byte BattleScript_EffectSpecialDefenseDown2 + .4byte BattleScript_EffectAccuracyDown2 + .4byte BattleScript_EffectEvasionDown2 + .4byte BattleScript_EffectReflect + .4byte BattleScript_EffectPoison + .4byte BattleScript_EffectParalyze + .4byte BattleScript_EffectAttackDownHit + .4byte BattleScript_EffectDefenseDownHit + .4byte BattleScript_EffectSpeedDownHit + .4byte BattleScript_EffectSpecialAttackDownHit + .4byte BattleScript_EffectSpecialDefenseDownHit + .4byte BattleScript_EffectAccuracyDownHit + .4byte BattleScript_EffectEvasionDownHit + .4byte BattleScript_EffectSkyAttack + .4byte BattleScript_EffectConfuseHit + .4byte BattleScript_EffectTwineedle + .4byte BattleScript_EffectVitalThrow + .4byte BattleScript_EffectSubstitute + .4byte BattleScript_EffectRecharge + .4byte BattleScript_EffectRage + .4byte BattleScript_EffectMimic + .4byte BattleScript_EffectMetronome + .4byte BattleScript_EffectLeechSeed + .4byte BattleScript_EffectSplash + .4byte BattleScript_EffectDisable + .4byte BattleScript_EffectLevelDamage + .4byte BattleScript_EffectPsywave + .4byte BattleScript_EffectCounter + .4byte BattleScript_EffectEncore + .4byte BattleScript_EffectPainSplit + .4byte BattleScript_EffectSnore + .4byte BattleScript_EffectConversion2 + .4byte BattleScript_EffectLockOn + .4byte BattleScript_EffectSketch + .4byte BattleScript_EffectUnused60//Thaw + .4byte BattleScript_EffectSleepTalk + .4byte BattleScript_EffectDestinyBond + .4byte BattleScript_EffectFlail + .4byte BattleScript_EffectSpite + .4byte BattleScript_EffectFalseSwipe + .4byte BattleScript_EffectHealBell + .4byte BattleScript_EffectQuickAttack + .4byte BattleScript_EffectTripleKick + .4byte BattleScript_EffectThief + .4byte BattleScript_EffectMeanLook + .4byte BattleScript_EffectNightmare + .4byte BattleScript_EffectMinimize + .4byte BattleScript_EffectCurse + .4byte BattleScript_EffectUnused6e + .4byte BattleScript_EffectProtect + .4byte BattleScript_EffectSpikes + .4byte BattleScript_EffectForesight + .4byte BattleScript_EffectPerishSong + .4byte BattleScript_EffectSandstorm + .4byte BattleScript_EffectEndure + .4byte BattleScript_EffectRollout + .4byte BattleScript_EffectSwagger + .4byte BattleScript_EffectFuryCutter + .4byte BattleScript_EffectAttract + .4byte BattleScript_EffectReturn + .4byte BattleScript_EffectPresent + .4byte BattleScript_EffectFrustration + .4byte BattleScript_EffectSafeguard + .4byte BattleScript_EffectThawHit + .4byte BattleScript_EffectMagnitude + .4byte BattleScript_EffectBatonPass + .4byte BattleScript_EffectPursuit + .4byte BattleScript_EffectRapidSpin + .4byte BattleScript_EffectSonicboom + .4byte BattleScript_EffectUnused83 + .4byte BattleScript_EffectMorningSun + .4byte BattleScript_EffectSynthesis + .4byte BattleScript_EffectMoonlight + .4byte BattleScript_EffectHiddenPower + .4byte BattleScript_EffectRainDance + .4byte BattleScript_EffectSunnyDay + .4byte BattleScript_EffectDefenseUpHit + .4byte BattleScript_EffectAttackUpHit + .4byte BattleScript_EffectAllStatsUpHit + .4byte BattleScript_EffectUnused8d + .4byte BattleScript_EffectBellyDrum + .4byte BattleScript_EffectPsychUp + .4byte BattleScript_EffectMirrorCoat + .4byte BattleScript_EffectSkullBash + .4byte BattleScript_EffectTwister + .4byte BattleScript_EffectEarthquake + .4byte BattleScript_EffectFutureSight + .4byte BattleScript_EffectGust + .4byte BattleScript_EffectStomp + .4byte BattleScript_EffectSolarbeam + .4byte BattleScript_EffectThunder + .4byte BattleScript_EffectTeleport + .4byte BattleScript_EffectBeatUp + .4byte BattleScript_EffectSemiInvulnerable + .4byte BattleScript_EffectDefenseCurl + .4byte BattleScript_EffectSoftboiled + .4byte BattleScript_EffectFakeOut + .4byte BattleScript_EffectUproar + .4byte BattleScript_EffectStockpile + .4byte BattleScript_EffectSpitUp + .4byte BattleScript_EffectSwallow + .4byte BattleScript_EffectUnusedA3 + .4byte BattleScript_EffectHail + .4byte BattleScript_EffectTorment + .4byte BattleScript_EffectFlatter + .4byte BattleScript_EffectWillOWisp + .4byte BattleScript_EffectMemento + .4byte BattleScript_EffectFacade + .4byte BattleScript_EffectFocusPunch + .4byte BattleScript_EffectSmellingsalt + .4byte BattleScript_EffectFollowMe + .4byte BattleScript_EffectNaturePower + .4byte BattleScript_EffectCharge + .4byte BattleScript_EffectTaunt + .4byte BattleScript_EffectHelpingHand + .4byte BattleScript_EffectTrick + .4byte BattleScript_EffectRolePlay + .4byte BattleScript_EffectWish + .4byte BattleScript_EffectAssist + .4byte BattleScript_EffectIngrain + .4byte BattleScript_EffectSuperpower + .4byte BattleScript_EffectMagicCoat + .4byte BattleScript_EffectRecycle + .4byte BattleScript_EffectRevenge + .4byte BattleScript_EffectBrickBreak + .4byte BattleScript_EffectYawn + .4byte BattleScript_EffectKnockOff + .4byte BattleScript_EffectEndeavor + .4byte BattleScript_EffectEruption + .4byte BattleScript_EffectSkillSwap + .4byte BattleScript_EffectImprison + .4byte BattleScript_EffectRefresh + .4byte BattleScript_EffectGrudge + .4byte BattleScript_EffectSnatch + .4byte BattleScript_EffectLowKick + .4byte BattleScript_EffectSecretPower + .4byte BattleScript_EffectDoubleEdge + .4byte BattleScript_EffectTeeterDance + .4byte BattleScript_EffectBlazeKick + .4byte BattleScript_EffectMudSport + .4byte BattleScript_EffectPoisonFang + .4byte BattleScript_EffectWeatherBall + .4byte BattleScript_EffectOverheat + .4byte BattleScript_EffectTickle + .4byte BattleScript_EffectCosmicPower + .4byte BattleScript_EffectSkyUppercut + .4byte BattleScript_EffectBulkUp + .4byte BattleScript_EffectPoisonTail + .4byte BattleScript_EffectWaterSport + .4byte BattleScript_EffectCalmMind + .4byte BattleScript_EffectDragonDance + .4byte BattleScript_EffectCamouflage + +BattleScript_EffectSpeedUp:: +BattleScript_EffectSpecialDefenseUp:: +BattleScript_EffectAccuracyUp:: +BattleScript_EffectAlwaysHit:: +BattleScript_EffectSpecialAttackDown:: +BattleScript_EffectSpecialDefenseDown:: +BattleScript_EffectHighCritical:: +BattleScript_EffectAccuracyUp2:: +BattleScript_EffectEvasionUp2:: +BattleScript_EffectSpecialAttackDown2:: +BattleScript_EffectAccuracyDown2:: +BattleScript_EffectEvasionDown2:: +BattleScript_EffectEvasionDownHit:: +BattleScript_EffectVitalThrow:: +BattleScript_EffectUnused60:: +BattleScript_EffectFalseSwipe:: +BattleScript_EffectQuickAttack:: +BattleScript_EffectUnused6e:: +BattleScript_EffectPursuit:: +BattleScript_EffectUnused83:: +BattleScript_EffectUnused8d:: +BattleScript_EffectUnusedA3:: +BattleScript_EffectHit:: + jumpifnotmove MOVE_SURF, BattleScript_HitFromAtkCanceler + jumpifnostatus3 BS_TARGET, STATUS3_UNDERWATER, BattleScript_HitFromAtkCanceler + orword gHitMarker, HITMARKER_IGNORE_UNDERWATER + setbyte sDMG_MULTIPLIER, 0x2 +BattleScript_HitFromAtkCanceler:: + attackcanceler +BattleScript_HitFromAccCheck:: + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE +BattleScript_HitFromAtkString:: + attackstring + ppreduce +BattleScript_HitFromCritCalc:: + critcalc + damagecalc + typecalc + adjustnormaldamage +BattleScript_HitFromAtkAnimation:: + attackanimation + waitanimation + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + critmessage + waitmessage 0x40 + resultmessage + waitmessage 0x40 + seteffectwithchance + tryfaintmon BS_TARGET, FALSE, NULL +BattleScript_MoveEnd:: + setbyte sMOVEEND_STATE, 0x0 + moveend 0x0, 0x0 + end + +BattleScript_MakeMoveMissed:: + orbyte gMoveResultFlags, MOVE_RESULT_MISSED +BattleScript_PrintMoveMissed:: + attackstring + ppreduce +BattleScript_MoveMissedPause:: + pause 0x20 +BattleScript_MoveMissed:: + effectivenesssound + resultmessage + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectSleep:: + attackcanceler + attackstring + ppreduce + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_AlreadyAsleep + jumpifcantmakeasleep BattleScript_CantMakeAsleep + jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected + attackanimation + waitanimation + setmoveeffect MOVE_EFFECT_SLEEP + seteffectprimary + goto BattleScript_MoveEnd + +BattleScript_AlreadyAsleep:: + various23 BS_ATTACKER + pause 0x20 + printstring STRINGID_PKMNALREADYASLEEP + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_WasntAffected:: + pause 0x20 + printstring STRINGID_PKMNWASNTAFFECTED + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_CantMakeAsleep:: + pause 0x20 + printfromtable gUproarAwakeStringIds + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectPoisonHit:: +BattleScript_EffectPoisonTail:: + setmoveeffect MOVE_EFFECT_POISON + goto BattleScript_EffectHit + +BattleScript_EffectAbsorb:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + critcalc + damagecalc + typecalc + adjustnormaldamage + attackanimation + waitanimation + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + critmessage + waitmessage 0x40 + resultmessage + waitmessage 0x40 + negativedamage + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + jumpifability BS_TARGET, ABILITY_LIQUID_OOZE, BattleScript_AbsorbLiquidOoze + setbyte cMULTISTRING_CHOOSER, 0x0 + goto BattleScript_AbsorbUpdateHp +BattleScript_AbsorbLiquidOoze:: + manipulatedamage ATK80_DMG_CHANGE_SIGN + setbyte cMULTISTRING_CHOOSER, 0x1 +BattleScript_AbsorbUpdateHp:: + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + jumpifmovehadnoeffect BattleScript_AbsorbTryFainting + printfromtable gLeechSeedDrainStringIds + waitmessage 0x40 +BattleScript_AbsorbTryFainting:: + tryfaintmon BS_ATTACKER, FALSE, NULL + tryfaintmon BS_TARGET, FALSE, NULL + goto BattleScript_MoveEnd + +BattleScript_EffectBurnHit:: +BattleScript_EffectBlazeKick:: + setmoveeffect MOVE_EFFECT_BURN + goto BattleScript_EffectHit + +BattleScript_EffectFreezeHit:: + setmoveeffect MOVE_EFFECT_FREEZE + goto BattleScript_EffectHit + +BattleScript_EffectParalyzeHit:: + setmoveeffect MOVE_EFFECT_PARALYSIS + goto BattleScript_EffectHit + +BattleScript_EffectExplosion:: + attackcanceler + attackstring + ppreduce + faintifabilitynotdamp + setatkhptozero + waitstate + jumpifbyte CMP_NO_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_MISSED, BattleScript_82D8B94 + call BattleScript_82D8BEA + goto BattleScript_82D8B96 +BattleScript_82D8B94:: + attackanimation + waitanimation +BattleScript_82D8B96:: + movevaluescleanup + critcalc + damagecalc + typecalc + adjustnormaldamage + accuracycheck BattleScript_82D8BCF, ACC_CURR_MOVE + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + critmessage + waitmessage 0x40 + resultmessage + waitmessage 0x40 + tryfaintmon BS_TARGET, FALSE, NULL + setbyte sMOVEEND_STATE, 0x0 + moveend 0x2, 0x10 + jumpifnexttargetvalid BattleScript_82D8B96 + tryfaintmon BS_ATTACKER, FALSE, NULL + end +BattleScript_82D8BCF:: + effectivenesssound + resultmessage + waitmessage 0x40 + setbyte sMOVEEND_STATE, 0x0 + moveend 0x2, 0x10 + jumpifnexttargetvalid BattleScript_82D8B96 + tryfaintmon BS_ATTACKER, FALSE, NULL + end + +BattleScript_82D8BEA:: + bicbyte gMoveResultFlags, MOVE_RESULT_MISSED + attackanimation + waitanimation + orbyte gMoveResultFlags, MOVE_RESULT_MISSED + return + +BattleScript_EffectDreamEater:: + attackcanceler + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_82D8C0E + jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_82D8C18 +BattleScript_82D8C0E:: + attackstring + ppreduce + waitmessage 0x40 + goto BattleScript_WasntAffected +BattleScript_82D8C18:: + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + critcalc + damagecalc + typecalc + adjustnormaldamage + attackanimation + waitanimation + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + critmessage + waitmessage 0x40 + resultmessage + waitmessage 0x40 + negativedamage + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + jumpifmovehadnoeffect BattleScript_DreamEaterTryFaintEnd + printstring STRINGID_PKMNDREAMEATEN + waitmessage 0x40 +BattleScript_DreamEaterTryFaintEnd:: + tryfaintmon BS_TARGET, FALSE, NULL + goto BattleScript_MoveEnd + +BattleScript_EffectMirrorMove:: + attackcanceler + attackstring + pause 0x40 + trymirrormove + ppreduce + orbyte gMoveResultFlags, MOVE_RESULT_FAILED + printstring STRINGID_MIRRORMOVEFAILED + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectAttackUp:: + setstatchanger STAT_ATK, 1, FALSE + goto BattleScript_EffectStatUp + +BattleScript_EffectDefenseUp:: + setstatchanger STAT_DEF, 1, FALSE + goto BattleScript_EffectStatUp + +BattleScript_EffectSpecialAttackUp:: + setstatchanger STAT_SPATK, 1, FALSE + goto BattleScript_EffectStatUp + +BattleScript_EffectEvasionUp:: + setstatchanger STAT_EVASION, 1, FALSE +BattleScript_EffectStatUp:: + attackcanceler +BattleScript_EffectStatUpAfterAtkCanceler:: + attackstring + ppreduce + statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_StatUpEnd + jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_StatUpAttackAnim + pause 0x20 + goto BattleScript_StatUpPrintString +BattleScript_StatUpAttackAnim:: + attackanimation + waitanimation +BattleScript_StatUpDoAnim:: + setgraphicalstatchangevalues + playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 +BattleScript_StatUpPrintString:: + printfromtable gStatUpStringIds + waitmessage 0x40 +BattleScript_StatUpEnd:: + goto BattleScript_MoveEnd + +BattleScript_StatUp:: + playanimation BS_EFFECT_BATTLER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 + printfromtable gStatUpStringIds + waitmessage 0x40 + return + +BattleScript_EffectAttackDown:: + setstatchanger STAT_ATK, 1, TRUE + goto BattleScript_EffectStatDown + +BattleScript_EffectDefenseDown:: + setstatchanger STAT_DEF, 1, TRUE + goto BattleScript_EffectStatDown + +BattleScript_EffectSpeedDown:: + setstatchanger STAT_SPEED, 1, TRUE + goto BattleScript_EffectStatDown + +BattleScript_EffectAccuracyDown:: + setstatchanger STAT_ACC, 1, TRUE + goto BattleScript_EffectStatDown + +BattleScript_EffectEvasionDown:: + setstatchanger STAT_EVASION, 1, TRUE +BattleScript_EffectStatDown:: + attackcanceler + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailedAtkStringPpReduce + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + statbuffchange 0x1, BattleScript_StatDownEnd + jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, 0x2, BattleScript_StatDownDoAnim + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x3, BattleScript_StatDownEnd + pause 0x20 + goto BattleScript_StatDownPrintString +BattleScript_StatDownDoAnim:: + attackanimation + waitanimation + setgraphicalstatchangevalues + playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 +BattleScript_StatDownPrintString:: + printfromtable gStatDownStringIds + waitmessage 0x40 +BattleScript_StatDownEnd:: + goto BattleScript_MoveEnd + +BattleScript_StatDown:: + playanimation BS_EFFECT_BATTLER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 + printfromtable gStatDownStringIds + waitmessage 0x40 + return + +BattleScript_EffectHaze:: + attackcanceler + attackstring + ppreduce + attackanimation + waitanimation + normalisebuffs + printstring STRINGID_STATCHANGESGONE + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectBide:: + attackcanceler + attackstring + ppreduce + attackanimation + waitanimation + orword gHitMarker, HITMARKER_x8000000 + setbide + goto BattleScript_MoveEnd + +BattleScript_EffectRampage:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_82D8DAE + ppreduce +BattleScript_82D8DAE:: + confuseifrepeatingattackends + goto BattleScript_HitFromCritCalc + +BattleScript_EffectRoar:: + attackcanceler + attackstring + ppreduce + jumpifability BS_TARGET, ABILITY_SUCTION_CUPS, BattleScript_AbilityPreventsPhasingOut + jumpifstatus3 BS_TARGET, STATUS3_ROOTED, BattleScript_PrintMonIsRooted + accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON + accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE + jumpifbattletype BATTLE_TYPE_ARENA, BattleScript_ButItFailed + forcerandomswitch BattleScript_ButItFailed + +BattleScript_EffectMultiHit:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + setmultihitcounter 0x0 + initmultihitstring + setbyte sMULTIHIT_EFFECT, 0x0 +BattleScript_MultiHitLoop:: + jumpifhasnohp BS_ATTACKER, BattleScript_MultiHitEnd + jumpifhasnohp BS_TARGET, BattleScript_MultiHitPrintStrings + jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_DoMultiHit + jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_MultiHitPrintStrings +BattleScript_DoMultiHit:: + movevaluescleanup + copybyte cEFFECT_CHOOSER, sMULTIHIT_EFFECT + critcalc + damagecalc + typecalc + jumpifmovehadnoeffect BattleScript_MultiHitNoMoreHits + adjustnormaldamage + attackanimation + waitanimation + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + critmessage + waitmessage 0x40 + printstring STRINGID_EMPTYSTRING3 + waitmessage 0x1 + addbyte sMULTIHIT_STRING + 4, 0x1 + setbyte sMOVEEND_STATE, 0x0 + moveend 0x2, 0x10 + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_MultiHitPrintStrings + decrementmultihit BattleScript_MultiHitLoop + goto BattleScript_MultiHitPrintStrings +BattleScript_MultiHitNoMoreHits:: + pause 0x20 +BattleScript_MultiHitPrintStrings:: + resultmessage + waitmessage 0x40 + jumpifmovehadnoeffect BattleScript_MultiHitEnd + copyarray gBattleTextBuff1, sMULTIHIT_STRING, 0x6 + printstring STRINGID_HITXTIMES + waitmessage 0x40 +BattleScript_MultiHitEnd:: + seteffectwithchance + tryfaintmon BS_TARGET, FALSE, NULL + setbyte sMOVEEND_STATE, 0x2 + moveend 0x1, 0x0 + setbyte sMOVEEND_STATE, 0x4 + moveend 0x0, 0x0 + end + +BattleScript_EffectConversion:: + attackcanceler + attackstring + ppreduce + tryconversiontypechange BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_PKMNCHANGEDTYPE + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectFlinchHit:: + setmoveeffect MOVE_EFFECT_FLINCH + goto BattleScript_EffectHit + +BattleScript_EffectRestoreHp:: + attackcanceler + attackstring + ppreduce + tryhealhalfhealth BattleScript_AlreadyAtFullHp, BS_ATTACKER + attackanimation + waitanimation + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + printstring STRINGID_PKMNREGAINEDHEALTH + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectToxic:: + attackcanceler + attackstring + ppreduce + jumpifability BS_TARGET, ABILITY_IMMUNITY, BattleScript_ImmunityProtected + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus BS_TARGET, STATUS1_POISON, BattleScript_AlreadyPoisoned + jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON, BattleScript_AlreadyPoisoned + jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed + jumpiftype BS_TARGET, TYPE_POISON, BattleScript_NotAffected + jumpiftype BS_TARGET, TYPE_STEEL, BattleScript_NotAffected + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected + attackanimation + waitanimation + setmoveeffect MOVE_EFFECT_TOXIC + seteffectprimary + resultmessage + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_AlreadyPoisoned:: + various23 BS_ATTACKER + pause 0x40 + printstring STRINGID_PKMNALREADYPOISONED + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_ImmunityProtected:: + copybyte gEffectBattler, gBattlerTarget + setbyte cMULTISTRING_CHOOSER, 0x0 + call BattleScript_PSNPrevention + goto BattleScript_MoveEnd + +BattleScript_EffectPayDay:: + setmoveeffect MOVE_EFFECT_PAYDAY + goto BattleScript_EffectHit + +BattleScript_EffectLightScreen:: + attackcanceler + attackstring + ppreduce + setlightscreen + goto BattleScript_PrintReflectLightScreenSafeguardString + +BattleScript_EffectTriAttack:: + setmoveeffect MOVE_EFFECT_TRI_ATTACK + goto BattleScript_EffectHit + +BattleScript_EffectRest:: + attackcanceler + attackstring + ppreduce + jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_RestIsAlreadyAsleep + jumpifcantmakeasleep BattleScript_RestCantSleep + trysetrest BattleScript_AlreadyAtFullHp + pause 0x20 + printfromtable gRestUsedStringIds + waitmessage 0x40 + updatestatusicon BS_ATTACKER + waitstate + goto BattleScript_PresentHealTarget + +BattleScript_RestCantSleep:: + pause 0x40 + printfromtable gUproarAwakeStringIds + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_RestIsAlreadyAsleep:: + various23 BS_ATTACKER + pause 0x20 + printstring STRINGID_PKMNALREADYASLEEP2 + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectOHKO:: + attackcanceler + attackstring + ppreduce + accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON + typecalc + jumpifmovehadnoeffect BattleScript_HitFromAtkAnimation + tryKO BattleScript_KOFail + trysetdestinybondtohappen + goto BattleScript_HitFromAtkAnimation +BattleScript_KOFail:: + pause 0x40 + printfromtable gKOFailedStringIds + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectRazorWind:: + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn + jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn + setbyte sTWOTURN_STRINGID, 0x0 + call BattleScriptFirstChargingTurn + goto BattleScript_MoveEnd + +BattleScript_TwoTurnMovesSecondTurn:: + attackcanceler + setmoveeffect MOVE_EFFECT_CHARGING + setbyte sB_ANIM_TURN, 0x1 + clearstatusfromeffect BS_ATTACKER + orword gHitMarker, HITMARKER_NO_PPDEDUCT + jumpifnotmove MOVE_SKY_ATTACK, BattleScript_HitFromAccCheck + setmoveeffect MOVE_EFFECT_FLINCH + goto BattleScript_HitFromAccCheck + +BattleScriptFirstChargingTurn:: + attackcanceler + printstring STRINGID_EMPTYSTRING3 + ppreduce + attackanimation + waitanimation + orword gHitMarker, HITMARKER_x8000000 + setmoveeffect MOVE_EFFECT_CHARGING | MOVE_EFFECT_AFFECTS_USER + seteffectprimary + copybyte cMULTISTRING_CHOOSER, sTWOTURN_STRINGID + printfromtable gFirstTurnOfTwoStringIds + waitmessage 0x40 + return + +BattleScript_EffectSuperFang:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + typecalc + bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE + damagetohalftargethp + goto BattleScript_HitFromAtkAnimation + +BattleScript_EffectDragonRage:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + typecalc + bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE + setword gBattleMoveDamage, 40 + adjustsetdamage + goto BattleScript_HitFromAtkAnimation + +BattleScript_EffectTrap:: + jumpifnotmove MOVE_WHIRLPOOL, BattleScript_DoWrapEffect + jumpifnostatus3 BS_TARGET, STATUS3_UNDERWATER, BattleScript_DoWrapEffect + orword gHitMarker, HITMARKER_IGNORE_UNDERWATER + setbyte sDMG_MULTIPLIER, 0x2 +BattleScript_DoWrapEffect:: + setmoveeffect MOVE_EFFECT_WRAP + goto BattleScript_EffectHit + +BattleScript_EffectDoubleHit:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + setmultihitcounter 0x2 + initmultihitstring + setbyte sMULTIHIT_EFFECT, 0x0 + goto BattleScript_MultiHitLoop + +BattleScript_EffectRecoilIfMiss:: + attackcanceler + accuracycheck BattleScript_MoveMissedDoDamage, ACC_CURR_MOVE + goto BattleScript_HitFromAtkString +BattleScript_MoveMissedDoDamage:: + attackstring + ppreduce + pause 0x40 + resultmessage + waitmessage 0x40 + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE, BattleScript_MoveEnd + printstring STRINGID_PKMNCRASHED + waitmessage 0x40 + damagecalc + typecalc + adjustnormaldamage + manipulatedamage ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP + bicbyte gMoveResultFlags, MOVE_RESULT_MISSED + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + tryfaintmon BS_ATTACKER, FALSE, NULL + orbyte gMoveResultFlags, MOVE_RESULT_MISSED + goto BattleScript_MoveEnd + +BattleScript_EffectMist:: + attackcanceler + attackstring + ppreduce + setmist + attackanimation + waitanimation + printfromtable gMistUsedStringIds + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectFocusEnergy:: + attackcanceler + attackstring + ppreduce + jumpifstatus2 BS_ATTACKER, STATUS2_FOCUS_ENERGY, BattleScript_ButItFailed + setfocusenergy + attackanimation + waitanimation + printfromtable gFocusEnergyUsedStringIds + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectRecoil:: + setmoveeffect MOVE_EFFECT_RECOIL_25 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN + jumpifnotmove MOVE_STRUGGLE, BattleScript_EffectHit + incrementgamestat 0x1B + goto BattleScript_EffectHit + +BattleScript_EffectConfuse:: + attackcanceler + attackstring + ppreduce + jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_OwnTempoPrevents + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus2 BS_TARGET, STATUS2_CONFUSION, BattleScript_AlreadyConfused + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected + attackanimation + waitanimation + setmoveeffect MOVE_EFFECT_CONFUSION + seteffectprimary + resultmessage + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_AlreadyConfused:: + various23 BS_ATTACKER + pause 0x20 + printstring STRINGID_PKMNALREADYCONFUSED + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectAttackUp2:: + setstatchanger STAT_ATK, 2, FALSE + goto BattleScript_EffectStatUp + +BattleScript_EffectDefenseUp2:: + setstatchanger STAT_DEF, 2, FALSE + goto BattleScript_EffectStatUp + +BattleScript_EffectSpeedUp2:: + setstatchanger STAT_SPEED, 2, FALSE + goto BattleScript_EffectStatUp + +BattleScript_EffectSpecialAttackUp2:: + setstatchanger STAT_SPATK, 2, FALSE + goto BattleScript_EffectStatUp + +BattleScript_EffectSpecialDefenseUp2:: + setstatchanger STAT_SPDEF, 2, FALSE + goto BattleScript_EffectStatUp + +BattleScript_EffectTransform:: + attackcanceler + attackstring + ppreduce + transformdataexecution + attackanimation + waitanimation + printfromtable gTransformUsedStringIds + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectAttackDown2:: + setstatchanger STAT_ATK, 2, TRUE + goto BattleScript_EffectStatDown + +BattleScript_EffectDefenseDown2:: + setstatchanger STAT_DEF, 2, TRUE + goto BattleScript_EffectStatDown + +BattleScript_EffectSpeedDown2:: + setstatchanger STAT_SPEED, 2, TRUE + goto BattleScript_EffectStatDown + +BattleScript_EffectSpecialDefenseDown2:: + setstatchanger STAT_SPDEF, 2, TRUE + goto BattleScript_EffectStatDown + +BattleScript_EffectReflect:: + attackcanceler + attackstring + ppreduce + setreflect +BattleScript_PrintReflectLightScreenSafeguardString:: + attackanimation + waitanimation + printfromtable gReflectLightScreenSafeguardStringIds + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectPoison:: + attackcanceler + attackstring + ppreduce + jumpifability BS_TARGET, ABILITY_IMMUNITY, BattleScript_ImmunityProtected + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus BS_TARGET, STATUS1_POISON, BattleScript_AlreadyPoisoned + jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON, BattleScript_AlreadyPoisoned + jumpiftype BS_TARGET, TYPE_POISON, BattleScript_NotAffected + jumpiftype BS_TARGET, TYPE_STEEL, BattleScript_NotAffected + jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected + attackanimation + waitanimation + setmoveeffect MOVE_EFFECT_POISON + seteffectprimary + resultmessage + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectParalyze:: + attackcanceler + attackstring + ppreduce + jumpifability BS_TARGET, ABILITY_LIMBER, BattleScript_LimberProtected + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + typecalc + jumpifmovehadnoeffect BattleScript_ButItFailed + jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_AlreadyParalyzed + jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected + attackanimation + waitanimation + setmoveeffect MOVE_EFFECT_PARALYSIS + seteffectprimary + resultmessage + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_AlreadyParalyzed:: + various23 BS_ATTACKER + pause 0x20 + printstring STRINGID_PKMNISALREADYPARALYZED + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_LimberProtected:: + copybyte gEffectBattler, gBattlerTarget + setbyte cMULTISTRING_CHOOSER, 0x0 + call BattleScript_PRLZPrevention + goto BattleScript_MoveEnd + +BattleScript_EffectAttackDownHit:: + setmoveeffect MOVE_EFFECT_ATK_MINUS_1 + goto BattleScript_EffectHit + +BattleScript_EffectDefenseDownHit:: + setmoveeffect MOVE_EFFECT_DEF_MINUS_1 + goto BattleScript_EffectHit + +BattleScript_EffectSpeedDownHit:: + setmoveeffect MOVE_EFFECT_SPD_MINUS_1 + goto BattleScript_EffectHit + +BattleScript_EffectSpecialAttackDownHit:: + setmoveeffect MOVE_EFFECT_SP_ATK_MINUS_1 + goto BattleScript_EffectHit + +BattleScript_EffectSpecialDefenseDownHit:: + setmoveeffect MOVE_EFFECT_SP_DEF_MINUS_1 + goto BattleScript_EffectHit + +BattleScript_EffectAccuracyDownHit:: + setmoveeffect MOVE_EFFECT_ACC_MINUS_1 + goto BattleScript_EffectHit + +BattleScript_EffectSkyAttack:: + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn + jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn + setbyte sTWOTURN_STRINGID, 0x3 + call BattleScriptFirstChargingTurn + goto BattleScript_MoveEnd + +BattleScript_EffectConfuseHit:: + setmoveeffect MOVE_EFFECT_CONFUSION + goto BattleScript_EffectHit + +BattleScript_EffectTwineedle:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + setbyte sMULTIHIT_EFFECT, MOVE_EFFECT_POISON + attackstring + ppreduce + setmultihitcounter 0x2 + initmultihitstring + goto BattleScript_MultiHitLoop + +BattleScript_EffectSubstitute:: + attackcanceler + ppreduce + attackstring + waitstate + jumpifstatus2 BS_ATTACKER, STATUS2_SUBSTITUTE, BattleScript_AlreadyHasSubstitute + setsubstitute + jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x1, BattleScript_SubstituteAnim + pause 0x20 + goto BattleScript_SubstituteString +BattleScript_SubstituteAnim:: + attackanimation + waitanimation + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER +BattleScript_SubstituteString:: + printfromtable gSubsituteUsedStringIds + waitmessage 0x40 + goto BattleScript_MoveEnd +BattleScript_AlreadyHasSubstitute:: + various23 BS_ATTACKER + pause 0x20 + printstring STRINGID_PKMNHASSUBSTITUTE + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectRecharge:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + setmoveeffect MOVE_EFFECT_RECHARGE | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN + goto BattleScript_HitFromAtkString + +BattleScript_MoveUsedMustRecharge:: + printstring STRINGID_PKMNMUSTRECHARGE + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectRage:: + attackcanceler + accuracycheck BattleScript_RageMiss, ACC_CURR_MOVE + setmoveeffect MOVE_EFFECT_RAGE + seteffectprimary + setmoveeffect 0 + goto BattleScript_HitFromAtkString +BattleScript_RageMiss:: + setmoveeffect MOVE_EFFECT_RAGE + clearstatusfromeffect BS_ATTACKER + goto BattleScript_PrintMoveMissed + +BattleScript_EffectMimic:: + attackcanceler + attackstring + ppreduce + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON + mimicattackcopy BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_PKMNLEARNEDMOVE2 + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectMetronome:: + attackcanceler + attackstring + pause 0x20 + attackanimation + waitanimation + setbyte sB_ANIM_TURN, 0x0 + setbyte sB_ANIM_TARGETS_HIT, 0x0 + metronome + +BattleScript_EffectLeechSeed:: + attackcanceler + attackstring + pause 0x20 + ppreduce + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + accuracycheck BattleScript_DoLeechSeed, ACC_CURR_MOVE +BattleScript_DoLeechSeed:: + setseeded + attackanimation + waitanimation + printfromtable gLeechSeedStringIds + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectSplash:: + attackcanceler + attackstring + ppreduce + attackanimation + waitanimation + incrementgamestat 0x1A + printstring STRINGID_BUTNOTHINGHAPPENED + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectDisable:: + attackcanceler + attackstring + ppreduce + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE + disablelastusedattack BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_PKMNMOVEWASDISABLED + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectLevelDamage:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + typecalc + bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE + dmgtolevel + adjustsetdamage + goto BattleScript_HitFromAtkAnimation + +BattleScript_EffectPsywave:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + typecalc + bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE + psywavedamageeffect + adjustsetdamage + goto BattleScript_HitFromAtkAnimation + +BattleScript_EffectCounter:: + attackcanceler + counterdamagecalculator BattleScript_ButItFailedAtkStringPpReduce + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + typecalc2 + adjustsetdamage + goto BattleScript_HitFromAtkAnimation + +BattleScript_EffectEncore:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + trysetencore BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_PKMNGOTENCORE + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectPainSplit:: + attackcanceler + attackstring + ppreduce + accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON + painsplitdmgcalc BattleScript_ButItFailed + attackanimation + waitanimation + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + copyword gBattleMoveDamage, sPAINSPLIT_HP + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + printstring STRINGID_SHAREDPAIN + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectSnore:: + attackcanceler + jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_SnoreIsAsleep + attackstring + ppreduce + goto BattleScript_ButItFailed +BattleScript_SnoreIsAsleep:: + jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_DoSnore + printstring STRINGID_PKMNFASTASLEEP + waitmessage 0x40 + statusanimation BS_ATTACKER +BattleScript_DoSnore:: + attackstring + ppreduce + accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE + setmoveeffect MOVE_EFFECT_FLINCH + goto BattleScript_HitFromCritCalc + +BattleScript_EffectConversion2:: + attackcanceler + attackstring + ppreduce + settypetorandomresistance BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_PKMNCHANGEDTYPE + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectLockOn:: + attackcanceler + attackstring + ppreduce + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE + setalwayshitflag + attackanimation + waitanimation + printstring STRINGID_PKMNTOOKAIM + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectSketch:: + attackcanceler + attackstring + ppreduce + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + copymovepermanently BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_PKMNSKETCHEDMOVE + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectSleepTalk:: + attackcanceler + jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_SleepTalkIsAsleep + attackstring + ppreduce + goto BattleScript_ButItFailed +BattleScript_SleepTalkIsAsleep:: + printstring STRINGID_PKMNFASTASLEEP + waitmessage 0x40 + statusanimation BS_ATTACKER + attackstring + ppreduce + orword gHitMarker, HITMARKER_NO_PPDEDUCT + trychoosesleeptalkmove BattleScript_SleepTalkUsingMove + pause 0x40 + goto BattleScript_ButItFailed +BattleScript_SleepTalkUsingMove:: + attackanimation + waitanimation + setbyte sB_ANIM_TURN, 0x0 + setbyte sB_ANIM_TARGETS_HIT, 0x0 + jumptorandomattack TRUE + +BattleScript_EffectDestinyBond:: + attackcanceler + attackstring + ppreduce + setdestinybond + attackanimation + waitanimation + printstring STRINGID_PKMNTRYINGTOTAKEFOE + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectFlail:: + remaininghptopower + goto BattleScript_EffectHit + +BattleScript_EffectSpite:: + attackcanceler + attackstring + ppreduce + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE + tryspiteppreduce BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_PKMNREDUCEDPP + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectHealBell:: + attackcanceler + attackstring + ppreduce + healpartystatus + waitstate + attackanimation + waitanimation + printfromtable gPartyStatusHealStringIds + waitmessage 0x40 + jumpifnotmove MOVE_HEAL_BELL, BattleScript_PartyHealEnd + jumpifbyte CMP_NO_COMMON_BITS, cMULTISTRING_CHOOSER, 0x1, BattleScript_CheckHealBellMon2Unaffected + printstring STRINGID_PKMNSXBLOCKSY + waitmessage 0x40 +BattleScript_CheckHealBellMon2Unaffected:: + jumpifbyte CMP_NO_COMMON_BITS, cMULTISTRING_CHOOSER, 0x2, BattleScript_PartyHealEnd + printstring STRINGID_PKMNSXBLOCKSY2 + waitmessage 0x40 +BattleScript_PartyHealEnd:: + updatestatusicon BS_ATTACKER_WITH_PARTNER + waitstate + goto BattleScript_MoveEnd + +BattleScript_EffectTripleKick:: + attackcanceler + attackstring + ppreduce + sethword sTRIPLE_KICK_POWER, 0x0 + initmultihitstring + setmultihit 0x3 +BattleScript_TripleKickLoop:: + jumpifhasnohp BS_ATTACKER, BattleScript_TripleKickEnd + jumpifhasnohp BS_TARGET, BattleScript_TripleKickNoMoreHits + jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_DoTripleKickAttack + jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_TripleKickNoMoreHits +BattleScript_DoTripleKickAttack:: + accuracycheck BattleScript_TripleKickNoMoreHits, ACC_CURR_MOVE + movevaluescleanup + addbyte sTRIPLE_KICK_POWER, 10 + addbyte sMULTIHIT_STRING + 4, 0x1 + copyhword gDynamicBasePower, sTRIPLE_KICK_POWER + critcalc + damagecalc + typecalc + adjustnormaldamage + jumpifmovehadnoeffect BattleScript_TripleKickNoMoreHits + attackanimation + waitanimation + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + critmessage + waitmessage 0x40 + printstring STRINGID_EMPTYSTRING3 + waitmessage 0x1 + setbyte sMOVEEND_STATE, 0x0 + moveend 0x2, 0x10 + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_TripleKickPrintStrings + decrementmultihit BattleScript_TripleKickLoop + goto BattleScript_TripleKickPrintStrings +BattleScript_TripleKickNoMoreHits:: + pause 0x20 + jumpifbyte CMP_EQUAL, sMULTIHIT_STRING + 4, 0x0, BattleScript_TripleKickPrintStrings + bicbyte gMoveResultFlags, MOVE_RESULT_MISSED +BattleScript_TripleKickPrintStrings:: + resultmessage + waitmessage 0x40 + jumpifbyte CMP_EQUAL, sMULTIHIT_STRING + 4, 0x0, BattleScript_TripleKickEnd + jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE, BattleScript_TripleKickEnd + copyarray gBattleTextBuff1, sMULTIHIT_STRING, 0x6 + printstring STRINGID_HITXTIMES + waitmessage 0x40 +BattleScript_TripleKickEnd:: + seteffectwithchance + tryfaintmon BS_TARGET, FALSE, NULL + setbyte sMOVEEND_STATE, 0xE + moveend 0x0, 0x0 + end + +BattleScript_EffectThief:: + setmoveeffect MOVE_EFFECT_STEAL_ITEM + goto BattleScript_EffectHit + +BattleScript_EffectMeanLook:: + attackcanceler + attackstring + ppreduce + accuracycheck BattleScript_ButItFailed, NO_ACC_CALC + jumpifstatus2 BS_TARGET, STATUS2_ESCAPE_PREVENTION, BattleScript_ButItFailed + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + attackanimation + waitanimation + setmoveeffect MOVE_EFFECT_PREVENT_ESCAPE + seteffectprimary + printstring STRINGID_TARGETCANTESCAPENOW + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectNightmare:: + attackcanceler + attackstring + ppreduce + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus2 BS_TARGET, STATUS2_NIGHTMARE, BattleScript_ButItFailed + jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_NightmareWorked + goto BattleScript_ButItFailed +BattleScript_NightmareWorked:: + attackanimation + waitanimation + setmoveeffect MOVE_EFFECT_NIGHTMARE + seteffectprimary + printstring STRINGID_PKMNFELLINTONIGHTMARE + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectMinimize:: + attackcanceler + setminimize + setstatchanger STAT_EVASION, 1, FALSE + goto BattleScript_EffectStatUpAfterAtkCanceler + +BattleScript_EffectCurse:: + jumpiftype2 BS_ATTACKER, TYPE_GHOST, BattleScript_GhostCurse + attackcanceler + attackstring + ppreduce + jumpifstat BS_ATTACKER, CMP_GREATER_THAN, STAT_SPEED, 0x0, BattleScript_CurseTrySpeed + jumpifstat BS_ATTACKER, CMP_NOT_EQUAL, STAT_ATK, 0xC, BattleScript_CurseTrySpeed + jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, 0xC, BattleScript_ButItFailed +BattleScript_CurseTrySpeed:: + copybyte gBattlerTarget, gBattlerAttacker + setbyte sB_ANIM_TURN, 0x1 + attackanimation + waitanimation + setstatchanger STAT_SPEED, 1, TRUE + statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_CurseTryAttack + printfromtable gStatDownStringIds + waitmessage 0x40 +BattleScript_CurseTryAttack:: + setstatchanger STAT_ATK, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_CurseTryDefence + printfromtable gStatUpStringIds + waitmessage 0x40 +BattleScript_CurseTryDefence:: + setstatchanger STAT_DEF, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_CurseEnd + printfromtable gStatUpStringIds + waitmessage 0x40 +BattleScript_CurseEnd:: + goto BattleScript_MoveEnd +BattleScript_GhostCurse:: + jumpifbytenotequal gBattlerAttacker, gBattlerTarget, BattleScript_DoGhostCurse + getmovetarget BS_ATTACKER +BattleScript_DoGhostCurse:: + attackcanceler + attackstring + ppreduce + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON + cursetarget BattleScript_ButItFailed + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + setbyte sB_ANIM_TURN, 0x0 + attackanimation + waitanimation + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + printstring STRINGID_PKMNLAIDCURSE + waitmessage 0x40 + tryfaintmon BS_ATTACKER, FALSE, NULL + goto BattleScript_MoveEnd + +BattleScript_EffectProtect:: +BattleScript_EffectEndure:: + attackcanceler + attackstring + ppreduce + setprotectlike + attackanimation + waitanimation + printfromtable gProtectLikeUsedStringIds + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectSpikes:: + attackcanceler + trysetspikes BattleScript_ButItFailedAtkStringPpReduce + attackstring + ppreduce + attackanimation + waitanimation + printstring STRINGID_SPIKESSCATTERED + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectForesight:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + setforesight + attackanimation + waitanimation + printstring STRINGID_PKMNIDENTIFIED + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectPerishSong:: + attackcanceler + attackstring + ppreduce + trysetperishsong BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_FAINTINTHREE + waitmessage 0x40 + setbyte sBANK, 0x0 +BattleScript_PerishSongLoop:: + jumpifability BS_SCRIPTING, ABILITY_SOUNDPROOF, BattleScript_PerishSongNotAffected +BattleScript_PerishSongLoopIncrement:: + addbyte sBANK, 0x1 + jumpifbytenotequal sBANK, gBattlersCount, BattleScript_PerishSongLoop + goto BattleScript_MoveEnd + +BattleScript_PerishSongNotAffected:: + printstring STRINGID_PKMNSXBLOCKSY2 + waitmessage 0x40 + goto BattleScript_PerishSongLoopIncrement + +BattleScript_EffectSandstorm:: + attackcanceler + attackstring + ppreduce + setsandstorm + goto BattleScript_MoveWeatherChange + +BattleScript_EffectRollout:: + attackcanceler + attackstring + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_RolloutCheckAccuracy + ppreduce +BattleScript_RolloutCheckAccuracy:: + accuracycheck BattleScript_RolloutHit, ACC_CURR_MOVE +BattleScript_RolloutHit:: + typecalc2 + rolloutdamagecalculation + goto BattleScript_HitFromCritCalc + +BattleScript_EffectSwagger:: + attackcanceler + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_MakeMoveMissed + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + jumpifconfusedandstatmaxed STAT_ATK, BattleScript_ButItFailed + attackanimation + waitanimation + setstatchanger STAT_ATK, 2, FALSE + statbuffchange 0x1, BattleScript_SwaggerTryConfuse + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_SwaggerTryConfuse + setgraphicalstatchangevalues + playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 + printfromtable gStatUpStringIds + waitmessage 0x40 +BattleScript_SwaggerTryConfuse:: + jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_OwnTempoPrevents + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected + setmoveeffect MOVE_EFFECT_CONFUSION + seteffectprimary + goto BattleScript_MoveEnd + +BattleScript_EffectFuryCutter:: + attackcanceler + attackstring + ppreduce + accuracycheck BattleScript_FuryCutterHit, ACC_CURR_MOVE +BattleScript_FuryCutterHit:: + furycuttercalc + critcalc + damagecalc + typecalc + jumpifmovehadnoeffect BattleScript_FuryCutterHit + adjustnormaldamage + goto BattleScript_HitFromAtkAnimation + +BattleScript_EffectAttract:: + attackcanceler + attackstring + ppreduce + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE + tryinfatuating BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_PKMNFELLINLOVE + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectReturn:: +BattleScript_EffectFrustration:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + happinesstodamagecalculation + goto BattleScript_HitFromAtkString + +BattleScript_EffectPresent:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + typecalc + presentdamagecalculation + +BattleScript_EffectSafeguard:: + attackcanceler + attackstring + ppreduce + setsafeguard + goto BattleScript_PrintReflectLightScreenSafeguardString + +BattleScript_EffectThawHit:: + setmoveeffect MOVE_EFFECT_BURN + goto BattleScript_EffectHit + +BattleScript_EffectMagnitude:: + attackcanceler + attackstring + ppreduce + selectfirstvalidtarget + magnitudedamagecalculation + pause 0x20 + printstring STRINGID_MAGNITUDESTRENGTH + waitmessage 0x40 + goto BattleScript_HitsAllWithUndergroundBonusLoop + +BattleScript_EffectBatonPass:: + attackcanceler + attackstring + ppreduce + jumpifbattletype BATTLE_TYPE_ARENA, BattleScript_ButItFailed + jumpifcantswitch ATK4F_DONT_CHECK_STATUSES | BS_ATTACKER, BattleScript_ButItFailed + attackanimation + waitanimation + openpartyscreen 0x1, BattleScript_ButItFailed + switchoutabilities BS_ATTACKER + waitstate + switchhandleorder BS_ATTACKER, 0x2 + returntoball BS_ATTACKER + getswitchedmondata BS_ATTACKER + switchindataupdate BS_ATTACKER + hpthresholds BS_ATTACKER + printstring STRINGID_SWITCHINMON + switchinanim BS_ATTACKER, TRUE + waitstate + switchineffects BS_ATTACKER + goto BattleScript_MoveEnd + +BattleScript_EffectRapidSpin:: + setmoveeffect MOVE_EFFECT_RAPIDSPIN | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN + goto BattleScript_EffectHit + +BattleScript_EffectSonicboom:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + typecalc + bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE + setword gBattleMoveDamage, 20 + adjustsetdamage + goto BattleScript_HitFromAtkAnimation + +BattleScript_EffectMorningSun:: +BattleScript_EffectSynthesis:: +BattleScript_EffectMoonlight:: + attackcanceler + attackstring + ppreduce + recoverbasedonsunlight BattleScript_AlreadyAtFullHp + goto BattleScript_PresentHealTarget + +BattleScript_EffectHiddenPower:: + hiddenpowercalc + goto BattleScript_EffectHit + +BattleScript_EffectRainDance:: + attackcanceler + attackstring + ppreduce + setrain +BattleScript_MoveWeatherChange:: + attackanimation + waitanimation + printfromtable gMoveWeatherChangeStringIds + waitmessage 0x40 + call BattleScript_WeatherFormChanges + goto BattleScript_MoveEnd + +BattleScript_EffectSunnyDay:: + attackcanceler + attackstring + ppreduce + setsunny + goto BattleScript_MoveWeatherChange + +BattleScript_EffectDefenseUpHit:: + setmoveeffect MOVE_EFFECT_DEF_PLUS_1 | MOVE_EFFECT_AFFECTS_USER + goto BattleScript_EffectHit + +BattleScript_EffectAttackUpHit:: + setmoveeffect MOVE_EFFECT_ATK_PLUS_1 | MOVE_EFFECT_AFFECTS_USER + goto BattleScript_EffectHit + +BattleScript_EffectAllStatsUpHit:: + setmoveeffect MOVE_EFFECT_ALL_STATS_UP | MOVE_EFFECT_AFFECTS_USER + goto BattleScript_EffectHit + +BattleScript_EffectBellyDrum:: + attackcanceler + attackstring + ppreduce + maxattackhalvehp BattleScript_ButItFailed + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + attackanimation + waitanimation + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + printstring STRINGID_PKMNCUTHPMAXEDATTACK + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectPsychUp:: + attackcanceler + attackstring + ppreduce + copyfoestats BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_PKMNCOPIEDSTATCHANGES + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectMirrorCoat:: + attackcanceler + mirrorcoatdamagecalculator BattleScript_ButItFailedAtkStringPpReduce + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + typecalc2 + adjustsetdamage + goto BattleScript_HitFromAtkAnimation + +BattleScript_EffectSkullBash:: + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn + jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn + setbyte sTWOTURN_STRINGID, 0x2 + call BattleScriptFirstChargingTurn + setstatchanger STAT_DEF, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_SkullBashEnd + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_SkullBashEnd + setgraphicalstatchangevalues + playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 + printfromtable gStatUpStringIds + waitmessage 0x40 +BattleScript_SkullBashEnd:: + goto BattleScript_MoveEnd + +BattleScript_EffectTwister:: + jumpifnostatus3 BS_TARGET, STATUS3_ON_AIR, BattleScript_FlinchEffect + orword gHitMarker, HITMARKER_IGNORE_ON_AIR + setbyte sDMG_MULTIPLIER, 0x2 +BattleScript_FlinchEffect:: + setmoveeffect MOVE_EFFECT_FLINCH + goto BattleScript_EffectHit + +BattleScript_EffectEarthquake:: + attackcanceler + attackstring + ppreduce + selectfirstvalidtarget +BattleScript_HitsAllWithUndergroundBonusLoop:: + movevaluescleanup + jumpifnostatus3 BS_TARGET, STATUS3_UNDERGROUND, BattleScript_HitsAllNoUndergroundBonus + orword gHitMarker, HITMARKER_IGNORE_UNDERGROUND + setbyte sDMG_MULTIPLIER, 0x2 + goto BattleScript_DoHitAllWithUndergroundBonus +BattleScript_HitsAllNoUndergroundBonus:: + bicword gHitMarker, HITMARKER_IGNORE_UNDERGROUND + setbyte sDMG_MULTIPLIER, 0x1 +BattleScript_DoHitAllWithUndergroundBonus:: + accuracycheck BattleScript_HitAllWithUndergroundBonusMissed, ACC_CURR_MOVE + critcalc + damagecalc + typecalc + adjustnormaldamage + attackanimation + waitanimation + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + critmessage + waitmessage 0x40 + resultmessage + waitmessage 0x40 + printstring STRINGID_EMPTYSTRING3 + waitmessage 0x1 + tryfaintmon BS_TARGET, FALSE, NULL + setbyte sMOVEEND_STATE, 0x0 + moveend 0x2, 0x10 + jumpifnexttargetvalid BattleScript_HitsAllWithUndergroundBonusLoop + end +BattleScript_HitAllWithUndergroundBonusMissed:: + pause 0x20 + typecalc + effectivenesssound + resultmessage + waitmessage 0x40 + setbyte sMOVEEND_STATE, 0x0 + moveend 0x2, 0x10 + jumpifnexttargetvalid BattleScript_HitsAllWithUndergroundBonusLoop + end + +BattleScript_EffectFutureSight:: + attackcanceler + attackstring + ppreduce + trysetfutureattack BattleScript_ButItFailed + attackanimation + waitanimation + printfromtable gFutureMoveUsedStringIds + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectGust:: + jumpifnostatus3 BS_TARGET, STATUS3_ON_AIR, BattleScript_EffectHit + orword gHitMarker, HITMARKER_IGNORE_ON_AIR + setbyte sDMG_MULTIPLIER, 0x2 + goto BattleScript_EffectHit + +BattleScript_EffectStomp:: + jumpifnostatus3 BS_TARGET, STATUS3_MINIMIZED, BattleScript_FlinchEffect + setbyte sDMG_MULTIPLIER, 0x2 + goto BattleScript_FlinchEffect + +BattleScript_EffectSolarbeam:: + jumpifabilitypresent ABILITY_CLOUD_NINE, BattleScript_SolarbeamDecideTurn + jumpifabilitypresent ABILITY_AIR_LOCK, BattleScript_SolarbeamDecideTurn + jumpifhalfword CMP_COMMON_BITS, gBattleWeather, WEATHER_SUN_TEMPORARY | WEATHER_SUN_PERMANENT, BattleScript_SolarbeamOnFirstTurn +BattleScript_SolarbeamDecideTurn:: + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn + jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn + setbyte sTWOTURN_STRINGID, 0x1 + call BattleScriptFirstChargingTurn + goto BattleScript_MoveEnd +BattleScript_SolarbeamOnFirstTurn:: + orword gHitMarker, HITMARKER_x8000000 + setmoveeffect MOVE_EFFECT_CHARGING | MOVE_EFFECT_AFFECTS_USER + seteffectprimary + ppreduce + goto BattleScript_TwoTurnMovesSecondTurn + +BattleScript_EffectThunder:: + setmoveeffect MOVE_EFFECT_PARALYSIS + orword gHitMarker, HITMARKER_IGNORE_ON_AIR + goto BattleScript_EffectHit + +BattleScript_EffectTeleport:: + attackcanceler + attackstring + ppreduce + jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_ButItFailed + getifcantrunfrombattle BS_ATTACKER + jumpifbyte CMP_EQUAL, gBattleCommunication, 0x1, BattleScript_ButItFailed + jumpifbyte CMP_EQUAL, gBattleCommunication, 0x2, BattleScript_PrintAbilityMadeIneffective + attackanimation + waitanimation + printstring STRINGID_PKMNFLEDFROMBATTLE + waitmessage 0x40 + setoutcomeonteleport BS_ATTACKER + goto BattleScript_MoveEnd + +BattleScript_EffectBeatUp:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + pause 0x20 + ppreduce + setbyte gBattleCommunication, 0x0 +BattleScript_BeatUpLoop:: + movevaluescleanup + trydobeatup BattleScript_BeatUpEnd, BattleScript_ButItFailed + printstring STRINGID_PKMNATTACK + critcalc + jumpifbyte CMP_NOT_EQUAL, gCritMultiplier, 0x2, BattleScript_BeatUpAttack + manipulatedamage ATK80_DMG_DOUBLED +BattleScript_BeatUpAttack:: + adjustnormaldamage + attackanimation + waitanimation + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + critmessage + waitmessage 0x40 + resultmessage + waitmessage 0x40 + tryfaintmon BS_TARGET, FALSE, NULL + setbyte sMOVEEND_STATE, 0x0 + moveend 0x2, 0x10 + goto BattleScript_BeatUpLoop +BattleScript_BeatUpEnd:: + end + +BattleScript_EffectSemiInvulnerable:: + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_SecondTurnSemiInvulnerable + jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_SecondTurnSemiInvulnerable + jumpifmove MOVE_FLY, BattleScript_FirstTurnFly + jumpifmove MOVE_DIVE, BattleScript_FirstTurnDive + jumpifmove MOVE_BOUNCE, BattleScript_FirstTurnBounce + setbyte sTWOTURN_STRINGID, 0x5 + goto BattleScript_FirstTurnSemiInvulnerable + +BattleScript_FirstTurnBounce:: + setbyte sTWOTURN_STRINGID, 0x7 + goto BattleScript_FirstTurnSemiInvulnerable + +BattleScript_FirstTurnDive:: + setbyte sTWOTURN_STRINGID, 0x6 + goto BattleScript_FirstTurnSemiInvulnerable + +BattleScript_FirstTurnFly:: + setbyte sTWOTURN_STRINGID, 0x4 +BattleScript_FirstTurnSemiInvulnerable:: + call BattleScriptFirstChargingTurn + setsemiinvulnerablebit + goto BattleScript_MoveEnd + +BattleScript_SecondTurnSemiInvulnerable:: + attackcanceler + setmoveeffect MOVE_EFFECT_CHARGING + setbyte sB_ANIM_TURN, 0x1 + clearstatusfromeffect BS_ATTACKER + orword gHitMarker, HITMARKER_NO_PPDEDUCT + jumpifnotmove MOVE_BOUNCE, BattleScript_SemiInvulnerableTryHit + setmoveeffect MOVE_EFFECT_PARALYSIS +BattleScript_SemiInvulnerableTryHit:: + accuracycheck BattleScript_SemiInvulnerableMiss, ACC_CURR_MOVE + clearsemiinvulnerablebit + goto BattleScript_HitFromAtkString + +BattleScript_SemiInvulnerableMiss:: + clearsemiinvulnerablebit + goto BattleScript_PrintMoveMissed + +BattleScript_EffectDefenseCurl:: + attackcanceler + attackstring + ppreduce + setdefensecurlbit + setstatchanger STAT_DEF, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_DefenseCurlDoStatUpAnim + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_StatUpPrintString + attackanimation + waitanimation +BattleScript_DefenseCurlDoStatUpAnim:: + goto BattleScript_StatUpDoAnim + +BattleScript_EffectSoftboiled:: + attackcanceler + attackstring + ppreduce + tryhealhalfhealth BattleScript_AlreadyAtFullHp, BS_TARGET +BattleScript_PresentHealTarget:: + attackanimation + waitanimation + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + printstring STRINGID_PKMNREGAINEDHEALTH + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_AlreadyAtFullHp:: + pause 0x20 + printstring STRINGID_PKMNHPFULL + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectFakeOut:: + attackcanceler + jumpifnotfirstturn BattleScript_ButItFailedAtkStringPpReduce + setmoveeffect MOVE_EFFECT_FLINCH | MOVE_EFFECT_CERTAIN + goto BattleScript_EffectHit + +BattleScript_ButItFailedAtkStringPpReduce:: + attackstring +BattleScript_ButItFailedPpReduce:: + ppreduce +BattleScript_ButItFailed:: + pause 0x20 + orbyte gMoveResultFlags, MOVE_RESULT_FAILED + resultmessage + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_NotAffected:: + pause 0x20 + orbyte gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE + resultmessage + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectUproar:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + setmoveeffect MOVE_EFFECT_UPROAR | MOVE_EFFECT_AFFECTS_USER + attackstring + jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_UproarHit + ppreduce +BattleScript_UproarHit:: + nop + goto BattleScript_HitFromCritCalc + +BattleScript_EffectStockpile:: + attackcanceler + attackstring + ppreduce + stockpile + attackanimation + waitanimation + printfromtable gStockpileUsedStringIds + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectSpitUp:: + attackcanceler + jumpifbyte CMP_EQUAL, gBattleCommunication + 6, 0x1, BattleScript_82D9FA2 + attackstring + ppreduce + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + stockpiletobasedamage BattleScript_SpitUpFail + typecalc + adjustsetdamage + goto BattleScript_HitFromAtkAnimation +BattleScript_SpitUpFail:: + pause 0x20 + printstring STRINGID_FAILEDTOSPITUP + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_82D9FA2:: + attackstring + ppreduce + pause 0x40 + stockpiletobasedamage BattleScript_SpitUpFail + resultmessage + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectSwallow:: + attackcanceler + attackstring + ppreduce + stockpiletohpheal BattleScript_SwallowFail + goto BattleScript_PresentHealTarget + +BattleScript_SwallowFail:: + pause 0x20 + printfromtable gSwallowFailStringIds + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectHail:: + attackcanceler + attackstring + ppreduce + sethail + goto BattleScript_MoveWeatherChange + +BattleScript_EffectTorment:: + attackcanceler + attackstring + ppreduce + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE + settorment BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_PKMNSUBJECTEDTOTORMENT + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectFlatter:: + attackcanceler + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_MakeMoveMissed + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + jumpifconfusedandstatmaxed STAT_SPATK, BattleScript_ButItFailed + attackanimation + waitanimation + setstatchanger STAT_SPATK, 1, FALSE + statbuffchange 0x1, BattleScript_FlatterTryConfuse + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_FlatterTryConfuse + setgraphicalstatchangevalues + playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 + printfromtable gStatUpStringIds + waitmessage 0x40 +BattleScript_FlatterTryConfuse:: + jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_OwnTempoPrevents + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected + setmoveeffect MOVE_EFFECT_CONFUSION + seteffectprimary + goto BattleScript_MoveEnd + +BattleScript_EffectWillOWisp:: + attackcanceler + attackstring + ppreduce + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + jumpifstatus BS_TARGET, STATUS1_BURN, BattleScript_AlreadyBurned + jumpiftype BS_TARGET, TYPE_FIRE, BattleScript_NotAffected + jumpifability BS_TARGET, ABILITY_WATER_VEIL, BattleScript_WaterVeilPrevents + jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected + attackanimation + waitanimation + setmoveeffect MOVE_EFFECT_BURN + seteffectprimary + goto BattleScript_MoveEnd + +BattleScript_WaterVeilPrevents:: + copybyte gEffectBattler, gBattlerTarget + setbyte cMULTISTRING_CHOOSER, 0x0 + call BattleScript_BRNPrevention + goto BattleScript_MoveEnd + +BattleScript_AlreadyBurned:: + various23 BS_ATTACKER + pause 0x20 + printstring STRINGID_PKMNALREADYHASBURN + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectMemento:: + attackcanceler + jumpifbyte CMP_EQUAL, gBattleCommunication + 6, 0x1, BattleScript_82DA153 + attackstring + ppreduce + jumpifattackandspecialattackcannotfall BattleScript_ButItFailed + setatkhptozero + attackanimation + waitanimation + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_82DA148 + setbyte sFIELD_1B, 0x0 + playstatchangeanimation BS_TARGET, 0x12, 0x7 + playstatchangeanimation BS_TARGET, 0x2, 0x3 + setstatchanger STAT_ATK, 2, TRUE + statbuffchange 0x1, BattleScript_82DA119 + jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_82DA119 + printfromtable gStatDownStringIds + waitmessage 0x40 +BattleScript_82DA119:: + playstatchangeanimation BS_TARGET, 0x10, 0x3 + setstatchanger STAT_SPATK, 2, TRUE + statbuffchange 0x1, BattleScript_82DA13C + jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_82DA13C + printfromtable gStatDownStringIds + waitmessage 0x40 +BattleScript_82DA13C:: + tryfaintmon BS_ATTACKER, FALSE, NULL + goto BattleScript_MoveEnd +BattleScript_82DA148:: + printstring STRINGID_BUTNOEFFECT + waitmessage 0x40 + goto BattleScript_82DA13C +BattleScript_82DA153:: + attackstring + ppreduce + jumpifattackandspecialattackcannotfall BattleScript_82DA15A +BattleScript_82DA15A:: + setatkhptozero + pause 0x40 + effectivenesssound + resultmessage + waitmessage 0x40 + tryfaintmon BS_ATTACKER, FALSE, NULL + goto BattleScript_MoveEnd + +BattleScript_EffectFacade:: + jumpifstatus BS_ATTACKER, STATUS1_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON, BattleScript_FacadeDoubleDmg + goto BattleScript_EffectHit + +BattleScript_FacadeDoubleDmg:: + setbyte sDMG_MULTIPLIER, 0x2 + goto BattleScript_EffectHit + +BattleScript_EffectFocusPunch:: + attackcanceler + jumpifnodamage BattleScript_HitFromAccCheck + ppreduce + printstring STRINGID_PKMNLOSTFOCUS + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectSmellingsalt:: + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_EffectHit + setmoveeffect MOVE_EFFECT_REMOVE_PARALYSIS | MOVE_EFFECT_CERTAIN + jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_SmellingsaltDoubleDmg + goto BattleScript_EffectHit + +BattleScript_SmellingsaltDoubleDmg:: + setbyte sDMG_MULTIPLIER, 0x2 + goto BattleScript_EffectHit + +BattleScript_EffectFollowMe:: + attackcanceler + attackstring + ppreduce + setforcedtarget + attackanimation + waitanimation + printstring STRINGID_PKMNCENTERATTENTION + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectNaturePower:: + attackcanceler + attackstring + pause 0x20 + callterrainattack + printstring STRINGID_NATUREPOWERTURNEDINTO + waitmessage 0x40 + return + +BattleScript_EffectCharge:: + attackcanceler + attackstring + ppreduce + setcharge + attackanimation + waitanimation + printstring STRINGID_PKMNCHARGINGPOWER + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectTaunt:: + attackcanceler + attackstring + ppreduce + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE + settaunt BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_PKMNFELLFORTAUNT + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectHelpingHand:: + attackcanceler + attackstring + ppreduce + trysethelpinghand BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_PKMNREADYTOHELP + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectTrick:: + attackcanceler + attackstring + ppreduce + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE + tryswapitems BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_PKMNSWITCHEDITEMS + waitmessage 0x40 + printfromtable gItemSwapStringIds + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectRolePlay:: + attackcanceler + attackstring + ppreduce + accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON + trycopyability BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_PKMNCOPIEDFOE + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectWish:: + attackcanceler + attackstring + ppreduce + trywish 0x0, BattleScript_ButItFailed + attackanimation + waitanimation + goto BattleScript_MoveEnd + +BattleScript_EffectAssist:: + attackcanceler + attackstring + asistattackselect BattleScript_ButItFailedPpReduce + attackanimation + waitanimation + setbyte sB_ANIM_TURN, 0x0 + setbyte sB_ANIM_TARGETS_HIT, 0x0 + jumptorandomattack TRUE + +BattleScript_EffectIngrain:: + attackcanceler + attackstring + ppreduce + trysetroots BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_PKMNPLANTEDROOTS + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectSuperpower:: + setmoveeffect MOVE_EFFECT_ATK_DEF_DOWN | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN + goto BattleScript_EffectHit + +BattleScript_EffectMagicCoat:: + attackcanceler + trysetmagiccoat BattleScript_ButItFailedAtkStringPpReduce + attackstring + ppreduce + attackanimation + waitanimation + printstring STRINGID_PKMNSHROUDEDITSELF + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectRecycle:: + attackcanceler + attackstring + ppreduce + tryrecycleitem BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_XFOUNDONEY + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectRevenge:: + doubledamagedealtifdamaged + goto BattleScript_EffectHit + +BattleScript_EffectBrickBreak:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + removelightscreenreflect + critcalc + damagecalc + typecalc + adjustnormaldamage + jumpifbyte CMP_EQUAL, sB_ANIM_TURN, 0x0, BattleScript_BrickBreakAnim + bicbyte gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE +BattleScript_BrickBreakAnim:: + attackanimation + waitanimation + jumpifbyte CMP_LESS_THAN, sB_ANIM_TURN, 0x2, BattleScript_BrickBreakDoHit + printstring STRINGID_THEWALLSHATTERED + waitmessage 0x40 +BattleScript_BrickBreakDoHit:: + typecalc2 + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + critmessage + waitmessage 0x40 + resultmessage + waitmessage 0x40 + seteffectwithchance + tryfaintmon BS_TARGET, FALSE, NULL + goto BattleScript_MoveEnd + +BattleScript_EffectYawn:: + attackcanceler + attackstring + ppreduce + jumpifability BS_TARGET, ABILITY_VITAL_SPIRIT, BattleScript_PrintBankAbilityMadeIneffective + jumpifability BS_TARGET, ABILITY_INSOMNIA, BattleScript_PrintBankAbilityMadeIneffective + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected + accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON + jumpifcantmakeasleep BattleScript_ButItFailed + setyawn BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_PKMNWASMADEDROWSY + waitmessage 0x40 + goto BattleScript_MoveEnd +BattleScript_PrintBankAbilityMadeIneffective:: + copybyte sBANK, sBANK_WITH_ABILITY +BattleScript_PrintAbilityMadeIneffective:: + pause 0x20 + printstring STRINGID_PKMNSXMADEITINEFFECTIVE + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectKnockOff:: + setmoveeffect MOVE_EFFECT_KNOCK_OFF + goto BattleScript_EffectHit + +BattleScript_EffectEndeavor:: + attackcanceler + attackstring + ppreduce + setdamagetohealthdifference BattleScript_ButItFailed + copyword gHpDealt, gBattleMoveDamage + accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE + typecalc + jumpifmovehadnoeffect BattleScript_HitFromAtkAnimation + bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE + copyword gBattleMoveDamage, gHpDealt + adjustsetdamage + goto BattleScript_HitFromAtkAnimation + +BattleScript_EffectEruption:: + scaledamagebyhealthratio + goto BattleScript_EffectHit + +BattleScript_EffectSkillSwap:: + attackcanceler + attackstring + ppreduce + accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON + tryswapabilities BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_PKMNSWAPPEDABILITIES + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectImprison:: + attackcanceler + attackstring + ppreduce + tryimprision BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_PKMNSEALEDOPPONENTMOVE + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectRefresh:: + attackcanceler + attackstring + ppreduce + cureifburnedparalysedorpoisoned BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_PKMNSTATUSNORMAL + waitmessage 0x40 + updatestatusicon BS_ATTACKER + goto BattleScript_MoveEnd + +BattleScript_EffectGrudge:: + attackcanceler + attackstring + ppreduce + trysetgrudge BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_PKMNWANTSGRUDGE + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectSnatch:: + attackcanceler + trysetsnatch BattleScript_ButItFailedAtkStringPpReduce + attackstring + ppreduce + attackanimation + waitanimation + pause 0x20 + printstring STRINGID_PKMNWAITSFORTARGET + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectLowKick:: + attackcanceler + attackstring + ppreduce + weightdamagecalculation + accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE + goto BattleScript_HitFromCritCalc + +BattleScript_EffectSecretPower:: + getsecretpowereffect + goto BattleScript_EffectHit + +BattleScript_EffectDoubleEdge:: + setmoveeffect MOVE_EFFECT_RECOIL_33_PARALYSIS | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN + goto BattleScript_EffectHit + +BattleScript_EffectTeeterDance:: + attackcanceler + attackstring + ppreduce + setbyte gBattlerTarget, 0x0 +BattleScript_TeeterDanceLoop:: + movevaluescleanup + setmoveeffect MOVE_EFFECT_CONFUSION + jumpifbyteequal gBattlerAttacker, gBattlerTarget, BattleScript_TeeterDanceLoopIncrement + jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_TeeterDanceOwnTempoPrevents + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_TeeterDanceSubstitutePrevents + jumpifstatus2 BS_TARGET, STATUS2_CONFUSION, BattleScript_TeeterDanceAlreadyConfused + jumpifhasnohp BS_TARGET, BattleScript_TeeterDanceLoopIncrement + accuracycheck BattleScript_TeeterDanceMissed, ACC_CURR_MOVE + jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_TeeterDanceSafeguardProtected + attackanimation + waitanimation + seteffectprimary + resultmessage + waitmessage 0x40 +BattleScript_TeeterDanceDoMoveEndIncrement:: + setbyte sMOVEEND_STATE, 0x0 + moveend 0x2, 0x10 +BattleScript_TeeterDanceLoopIncrement:: + addbyte gBattlerTarget, 0x1 + jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_TeeterDanceLoop + end + +BattleScript_TeeterDanceOwnTempoPrevents:: + pause 0x20 + printstring STRINGID_PKMNPREVENTSCONFUSIONWITH + waitmessage 0x40 + goto BattleScript_TeeterDanceDoMoveEndIncrement + +BattleScript_TeeterDanceSafeguardProtected:: + pause 0x20 + printstring STRINGID_PKMNUSEDSAFEGUARD + waitmessage 0x40 + goto BattleScript_TeeterDanceDoMoveEndIncrement + +BattleScript_TeeterDanceSubstitutePrevents:: + pause 0x20 + printstring STRINGID_BUTITFAILED + waitmessage 0x40 + goto BattleScript_TeeterDanceDoMoveEndIncrement + +BattleScript_TeeterDanceAlreadyConfused:: + various23 BS_ATTACKER + pause 0x20 + printstring STRINGID_PKMNALREADYCONFUSED + waitmessage 0x40 + goto BattleScript_TeeterDanceDoMoveEndIncrement + +BattleScript_TeeterDanceMissed:: + resultmessage + waitmessage 0x40 + goto BattleScript_TeeterDanceDoMoveEndIncrement + +BattleScript_EffectMudSport:: +BattleScript_EffectWaterSport:: + attackcanceler + attackstring + ppreduce + settypebasedhalvers BattleScript_ButItFailed + attackanimation + waitanimation + printfromtable gSportsUsedStringIds + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectPoisonFang:: + setmoveeffect MOVE_EFFECT_TOXIC + goto BattleScript_EffectHit + +BattleScript_EffectWeatherBall:: + setweatherballtype + goto BattleScript_EffectHit + +BattleScript_EffectOverheat:: + setmoveeffect MOVE_EFFECT_SP_ATK_TWO_DOWN | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN + goto BattleScript_EffectHit + +BattleScript_EffectTickle:: + attackcanceler + attackstring + ppreduce + jumpifstat BS_TARGET, CMP_GREATER_THAN, STAT_ATK, 0x0, BattleScript_TickleDoMoveAnim + jumpifstat BS_TARGET, CMP_EQUAL, STAT_DEF, 0x0, BattleScript_CantLowerMultipleStats +BattleScript_TickleDoMoveAnim:: + accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE + attackanimation + waitanimation + setbyte sFIELD_1B, 0x0 + playstatchangeanimation BS_TARGET, 0x6, 0x5 + playstatchangeanimation BS_TARGET, 0x2, 0x1 + setstatchanger STAT_ATK, 1, TRUE + statbuffchange 0x1, BattleScript_TickleTryLowerDef + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_TickleTryLowerDef + printfromtable gStatDownStringIds + waitmessage 0x40 +BattleScript_TickleTryLowerDef:: + playstatchangeanimation BS_TARGET, 0x4, 0x1 + setstatchanger STAT_DEF, 1, TRUE + statbuffchange 0x1, BattleScript_TickleEnd + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_TickleEnd + printfromtable gStatDownStringIds + waitmessage 0x40 +BattleScript_TickleEnd:: + goto BattleScript_MoveEnd + +BattleScript_CantLowerMultipleStats:: + pause 0x20 + orbyte gMoveResultFlags, MOVE_RESULT_FAILED + printstring STRINGID_STATSWONTDECREASE2 + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectCosmicPower:: + attackcanceler + attackstring + ppreduce + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, 0xC, BattleScript_CosmicPowerDoMoveAnim + jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 0xC, BattleScript_CantRaiseMultipleStats +BattleScript_CosmicPowerDoMoveAnim:: + attackanimation + waitanimation + setbyte sFIELD_1B, 0x0 + playstatchangeanimation BS_ATTACKER, 0x24, 0x0 + setstatchanger STAT_DEF, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_CosmicPowerTrySpDef + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_CosmicPowerTrySpDef + printfromtable gStatUpStringIds + waitmessage 0x40 +BattleScript_CosmicPowerTrySpDef:: + setstatchanger STAT_SPDEF, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_CosmicPowerEnd + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_CosmicPowerEnd + printfromtable gStatUpStringIds + waitmessage 0x40 +BattleScript_CosmicPowerEnd:: + goto BattleScript_MoveEnd + +BattleScript_EffectSkyUppercut:: + orword gHitMarker, HITMARKER_IGNORE_ON_AIR + goto BattleScript_EffectHit + +BattleScript_EffectBulkUp:: + attackcanceler + attackstring + ppreduce + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 0xC, BattleScript_BulkUpDoMoveAnim + jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_DEF, 0xC, BattleScript_CantRaiseMultipleStats +BattleScript_BulkUpDoMoveAnim:: + attackanimation + waitanimation + setbyte sFIELD_1B, 0x0 + playstatchangeanimation BS_ATTACKER, 0x6, 0x0 + setstatchanger STAT_ATK, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_BulkUpTryDef + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_BulkUpTryDef + printfromtable gStatUpStringIds + waitmessage 0x40 +BattleScript_BulkUpTryDef:: + setstatchanger STAT_DEF, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_BulkUpEnd + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_BulkUpEnd + printfromtable gStatUpStringIds + waitmessage 0x40 +BattleScript_BulkUpEnd:: + goto BattleScript_MoveEnd + +BattleScript_EffectCalmMind:: + attackcanceler + attackstring + ppreduce + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, 0xC, BattleScript_CalmMindDoMoveAnim + jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 0xC, BattleScript_CantRaiseMultipleStats +BattleScript_CalmMindDoMoveAnim:: + attackanimation + waitanimation + setbyte sFIELD_1B, 0x0 + playstatchangeanimation BS_ATTACKER, 0x30, 0x0 + setstatchanger STAT_SPATK, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_CalmMindTrySpDef + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_CalmMindTrySpDef + printfromtable gStatUpStringIds + waitmessage 0x40 +BattleScript_CalmMindTrySpDef:: + setstatchanger STAT_SPDEF, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_CalmMindEnd + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_CalmMindEnd + printfromtable gStatUpStringIds + waitmessage 0x40 +BattleScript_CalmMindEnd:: + goto BattleScript_MoveEnd + +BattleScript_CantRaiseMultipleStats:: + pause 0x20 + orbyte gMoveResultFlags, MOVE_RESULT_FAILED + printstring STRINGID_STATSWONTINCREASE2 + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_EffectDragonDance:: + attackcanceler + attackstring + ppreduce + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 0xC, BattleScript_DragonDanceDoMoveAnim + jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPEED, 0xC, BattleScript_CantRaiseMultipleStats +BattleScript_DragonDanceDoMoveAnim:: + attackanimation + waitanimation + setbyte sFIELD_1B, 0x0 + playstatchangeanimation BS_ATTACKER, 0xA, 0x0 + setstatchanger STAT_ATK, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_DragonDanceTrySpeed + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_DragonDanceTrySpeed + printfromtable gStatUpStringIds + waitmessage 0x40 +BattleScript_DragonDanceTrySpeed:: + setstatchanger STAT_SPEED, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_DragonDanceEnd + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_DragonDanceEnd + printfromtable gStatUpStringIds + waitmessage 0x40 +BattleScript_DragonDanceEnd:: + goto BattleScript_MoveEnd + +BattleScript_EffectCamouflage:: + attackcanceler + attackstring + ppreduce + settypetoterrain BattleScript_ButItFailed + attackanimation + waitanimation + printstring STRINGID_PKMNCHANGEDTYPE + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_FaintAttacker:: + playfaintcry BS_ATTACKER + pause 0x40 + dofaintanimation BS_ATTACKER + cleareffectsonfaint BS_ATTACKER + printstring STRINGID_ATTACKERFAINTED + return + +BattleScript_FaintTarget:: + playfaintcry BS_TARGET + pause 0x40 + dofaintanimation BS_TARGET + cleareffectsonfaint BS_TARGET + printstring STRINGID_TARGETFAINTED + return + +BattleScript_GiveExp:: + setbyte sGIVEEXP_STATE, 0x0 + getexp BS_TARGET + end2 + +BattleScript_HandleFaintedMon:: + atk24 BattleScript_82DA8F6 + jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_FaintedMonEnd + jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_FaintedMonTryChooseAnother + jumpifword CMP_NO_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_FaintedMonTryChooseAnother + printstring STRINGID_USENEXTPKMN + setbyte gBattleCommunication, 0x0 + yesnobox + jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 0x0, BattleScript_FaintedMonTryChooseAnother + jumpifplayerran BattleScript_FaintedMonEnd + printstring STRINGID_CANTESCAPE2 +BattleScript_FaintedMonTryChooseAnother:: + openpartyscreen 0x3, BattleScript_FaintedMonEnd + switchhandleorder BS_FAINTED, 0x2 + jumpifnotbattletype BATTLE_TYPE_TRAINER, BattleScript_FaintedMonChooseAnother + jumpifbattletype BATTLE_TYPE_LINK, BattleScript_FaintedMonChooseAnother + jumpifbattletype BATTLE_TYPE_x2000000, BattleScript_FaintedMonChooseAnother + jumpifbattletype BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE | BATTLE_TYPE_PYRAMID, BattleScript_FaintedMonChooseAnother + jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_FaintedMonChooseAnother + jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_FaintedMonChooseAnother + jumpifbyte CMP_EQUAL, sBATTLE_STYLE, 0x1, BattleScript_FaintedMonChooseAnother + jumpifcantswitch 11, BattleScript_FaintedMonChooseAnother + printstring STRINGID_ENEMYABOUTTOSWITCHPKMN + setbyte gBattleCommunication, 0x0 + yesnobox + jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 0x1, BattleScript_FaintedMonChooseAnother + setatktoplayer0 + openpartyscreen 0x81, BattleScript_FaintedMonChooseAnother + switchhandleorder BS_ATTACKER, 0x2 + jumpifbyte CMP_EQUAL, gBattleCommunication, 0x6, BattleScript_FaintedMonChooseAnother + atknameinbuff1 + resetintrimidatetracebits BS_ATTACKER + hpthresholds2 BS_ATTACKER + printstring STRINGID_RETURNMON + switchoutabilities BS_ATTACKER + waitstate + returnatktoball + waitstate + drawpartystatussummary BS_ATTACKER + getswitchedmondata BS_ATTACKER + switchindataupdate BS_ATTACKER + hpthresholds BS_ATTACKER + printstring STRINGID_SWITCHINMON + atk62 BS_ATTACKER + switchinanim BS_ATTACKER, 0x0 + waitstate + switchineffects BS_ATTACKER + resetsentmonsvalue +BattleScript_FaintedMonChooseAnother:: + drawpartystatussummary BS_FAINTED + getswitchedmondata BS_FAINTED + switchindataupdate BS_FAINTED + hpthresholds BS_FAINTED + printstring STRINGID_SWITCHINMON + atk62 BS_FAINTED + switchinanim BS_FAINTED, FALSE + waitstate + various7 BS_ATTACKER + switchineffects BS_FAINTED + jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_FaintedMonEnd + cancelallactions +BattleScript_FaintedMonEnd:: + end2 + +BattleScript_82DA8F6:: + openpartyscreen 0x5, BattleScript_82DA8FC +BattleScript_82DA8FC:: + switchhandleorder BS_FAINTED, 0x0 + openpartyscreen 0x6, BattleScript_82DA92C + switchhandleorder BS_FAINTED, 0x0 +BattleScript_82DA908:: + switchhandleorder BS_FAINTED, 0x3 + drawpartystatussummary BS_FAINTED + getswitchedmondata BS_FAINTED + switchindataupdate BS_FAINTED + hpthresholds BS_FAINTED + printstring STRINGID_SWITCHINMON + atk62 BS_FAINTED + switchinanim BS_FAINTED, FALSE + waitstate + switchineffects 5 + jumpifbytenotequal gBattlerFainted, gBattlersCount, BattleScript_82DA908 +BattleScript_82DA92C:: + end2 + +BattleScript_LocalTrainerBattleWon:: + jumpifbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_LocalTwoTrainersDefeated + printstring STRINGID_PLAYERDEFEATEDTRAINER1 + goto BattleScript_LocalBattleWonLoseTexts +BattleScript_LocalTwoTrainersDefeated:: + printstring STRINGID_TWOENEMIESDEFEATED +BattleScript_LocalBattleWonLoseTexts:: + trainerslidein BS_ATTACKER + waitstate + printstring STRINGID_TRAINER1LOSETEXT + jumpifnotbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_LocalBattleWonReward + trainerslideout B_POSITION_OPPONENT_LEFT + waitstate + trainerslidein BS_FAINTED + waitstate + printstring STRINGID_TRAINER2LOSETEXT +BattleScript_LocalBattleWonReward:: + getmoneyreward + printstring STRINGID_PLAYERGOTMONEY + waitmessage 0x40 +BattleScript_PayDayMoneyAndPickUpItems:: + givepaydaymoney + pickup + end2 + +BattleScript_LocalBattleLost:: + jumpifbattletype BATTLE_TYPE_DOME, BattleScript_CheckDomeDrew + jumpifbattletype BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE | BATTLE_TYPE_PYRAMID, BattleScript_LocalBattleLostPrintTrainersWinText + jumpifbattletype BATTLE_TYPE_x4000000, BattleScript_LocalBattleLostPrintTrainersWinText + jumpifbattletype BATTLE_TYPE_EREADER_TRAINER, BattleScript_LocalBattleLostEnd + jumpifhalfword CMP_EQUAL, gTrainerBattleOpponent_A, 0x400, BattleScript_LocalBattleLostEnd +BattleScript_LocalBattleLostPrintWhiteOut:: + printstring STRINGID_PLAYERWHITEOUT + waitmessage 0x40 + printstring STRINGID_PLAYERWHITEOUT2 + waitmessage 0x40 +BattleScript_LocalBattleLostEnd:: + end2 +BattleScript_CheckDomeDrew:: + jumpifbyte CMP_EQUAL, gBattleOutcome, B_OUTCOME_DREW, BattleScript_LocalBattleLostEnd_ +BattleScript_LocalBattleLostPrintTrainersWinText:: + jumpifnotbattletype BATTLE_TYPE_TRAINER, BattleScript_LocalBattleLostPrintWhiteOut + returnopponentmon1toball BS_ATTACKER + waitstate + returnopponentmon2toball BS_ATTACKER + waitstate + trainerslidein BS_ATTACKER + waitstate + printstring STRINGID_TRAINER1WINTEXT + jumpifbattletype BATTLE_TYPE_x800000, BattleScript_LocalBattleLostDoTrainer2WinText + jumpifnotbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_LocalBattleLostEnd_ +BattleScript_LocalBattleLostDoTrainer2WinText:: + trainerslideout B_POSITION_OPPONENT_LEFT + waitstate + trainerslidein BS_FAINTED + waitstate + printstring STRINGID_TRAINER2WINTEXT +BattleScript_LocalBattleLostEnd_:: + end2 + +BattleScript_82DAA0B:: + returnopponentmon1toball BS_ATTACKER + waitstate + returnopponentmon2toball BS_ATTACKER + waitstate + trainerslidein BS_ATTACKER + waitstate + printstring STRINGID_TRAINER1WINTEXT + trainerslideout B_POSITION_OPPONENT_LEFT + waitstate + trainerslidein BS_FAINTED + waitstate + printstring STRINGID_TRAINER2WINTEXT + jumpifbattletype BATTLE_TYPE_RECORDED, BattleScript_82DAA31 + atk57 +BattleScript_82DAA31:: + waitmessage 0x40 + end2 + +BattleScript_LinkBattleWonOrLost:: + jumpifbattletype BATTLE_TYPE_BATTLE_TOWER, BattleScript_82DAA5C + printstring STRINGID_BATTLEEND + waitmessage 0x40 + jumpifbattletype BATTLE_TYPE_RECORDED, BattleScript_LinkBattleWonOrLostWaitEnd + atk57 +BattleScript_LinkBattleWonOrLostWaitEnd:: + waitmessage 0x40 + end2 + +BattleScript_82DAA5C:: + playtrainerdefeatbgm BS_ATTACKER + printstring STRINGID_BATTLEEND + waitmessage 0x40 + trainerslidein BS_ATTACKER + waitstate + printstring STRINGID_TRAINER1LOSETEXT + trainerslideout B_POSITION_OPPONENT_LEFT + waitstate + trainerslidein BS_FAINTED + waitstate + printstring STRINGID_TRAINER2LOSETEXT + jumpifbattletype BATTLE_TYPE_RECORDED, BattleScript_82DAA83 + atk57 +BattleScript_82DAA83:: + waitmessage 0x40 + end2 + +BattleScript_FrontierTrainerBattleWon:: + jumpifnotbattletype BATTLE_TYPE_TRAINER, BattleScript_PayDayMoneyAndPickUpItems + jumpifbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_82DAAAB + printstring STRINGID_PLAYERDEFEATEDTRAINER1 + goto BattleScript_82DAAAE +BattleScript_82DAAAB:: + printstring STRINGID_TWOENEMIESDEFEATED +BattleScript_82DAAAE:: + trainerslidein BS_ATTACKER + waitstate + printstring STRINGID_TRAINER1LOSETEXT + jumpifnotbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_82DAACB + trainerslideout B_POSITION_OPPONENT_LEFT + waitstate + trainerslidein BS_FAINTED + waitstate + printstring STRINGID_TRAINER2LOSETEXT +BattleScript_82DAACB:: + jumpifnotbattletype BATTLE_TYPE_PYRAMID, BattleScript_82DAADA + pickup +BattleScript_82DAADA:: + end2 + +BattleScript_SmokeBallEscape:: + playanimation BS_ATTACKER, B_ANIM_SMOKEBALL_ESCAPE, NULL + printstring STRINGID_PKMNFLEDUSINGITS + waitmessage 0x40 + end2 + +BattleScript_RanAwayUsingMonAbility:: + printstring STRINGID_PKMNFLEDUSING + waitmessage 0x40 + end2 + +BattleScript_GotAwaySafely:: + printstring STRINGID_GOTAWAYSAFELY + waitmessage 0x40 + end2 + +BattleScript_WildMonFled:: + printstring STRINGID_WILDPKMNFLED + waitmessage 0x40 + end2 + +BattleScript_PrintCantRunFromTrainer:: + printstring STRINGID_NORUNNINGFROMTRAINERS + end2 + +BattleScript_PrintFailedToRunString:: + printfromtable gNoEscapeStringIds + waitmessage 0x40 + end2 + +BattleScript_PrintCantEscapeFromBattle:: + printselectionstringfromtable gNoEscapeStringIds + endselectionscript + +BattleScript_PrintFullBox:: + printselectionstring STRINGID_BOXISFULL + endselectionscript + +BattleScript_ActionSwitch:: + hpthresholds2 BS_ATTACKER + printstring STRINGID_RETURNMON + setbyte sDMG_MULTIPLIER, 0x2 + jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_PursuitSwitchDmgSetMultihit + setmultihit 0x1 + goto BattleScript_PursuitSwitchDmgLoop +BattleScript_PursuitSwitchDmgSetMultihit:: + setmultihit 0x2 +BattleScript_PursuitSwitchDmgLoop:: + jumpifnopursuitswitchdmg BattleScript_DoSwitchOut + atk5F + trysetdestinybondtohappen + call BattleScript_PursuitDmgOnSwitchOut + atk5F +BattleScript_DoSwitchOut:: + decrementmultihit BattleScript_PursuitSwitchDmgLoop + switchoutabilities BS_ATTACKER + waitstate + returnatktoball + waitstate + drawpartystatussummary BS_ATTACKER + switchhandleorder BS_ATTACKER, 0x1 + getswitchedmondata BS_ATTACKER + switchindataupdate BS_ATTACKER + hpthresholds BS_ATTACKER + printstring STRINGID_SWITCHINMON + atk62 BS_ATTACKER + switchinanim BS_ATTACKER, FALSE + waitstate + switchineffects BS_ATTACKER + setbyte sMOVEEND_STATE, 0x4 + moveend 0x1, 0x0 + setbyte sMOVEEND_STATE, 0xF + moveend 0x1, 0x0 + end2 + +BattleScript_PursuitDmgOnSwitchOut:: + pause 0x20 + attackstring + ppreduce + critcalc + damagecalc + typecalc + adjustnormaldamage + attackanimation + waitanimation + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + critmessage + waitmessage 0x40 + resultmessage + waitmessage 0x40 + tryfaintmon BS_TARGET, FALSE, NULL + setbyte sMOVEEND_STATE, 0x3 + moveend 0x2, 0x6 + various4 BS_TARGET + jumpifbyte CMP_EQUAL, gBattleCommunication, 0x0, BattleScript_PursuitDmgOnSwitchOutRet + setbyte sGIVEEXP_STATE, 0x0 + getexp BS_TARGET +BattleScript_PursuitDmgOnSwitchOutRet:: + return + +BattleScript_Pausex20:: + pause 0x20 + return + +BattleScript_LevelUp:: + fanfare MUS_FANFA1 + printstring STRINGID_PKMNGREWTOLV + setbyte sLVLBOX_STATE, 0x0 + drawlvlupbox + handlelearnnewmove BattleScript_LearnedNewMove, BattleScript_LearnMoveReturn, TRUE + goto BattleScript_AskToLearnMove +BattleScript_TryLearnMoveLoop:: + handlelearnnewmove BattleScript_LearnedNewMove, BattleScript_LearnMoveReturn, FALSE +BattleScript_AskToLearnMove:: + buffermovetolearn + printstring STRINGID_TRYTOLEARNMOVE1 + printstring STRINGID_TRYTOLEARNMOVE2 + printstring STRINGID_TRYTOLEARNMOVE3 + waitstate + setbyte sLEARNMOVE_STATE, 0x0 + yesnoboxlearnmove BattleScript_ForgotAndLearnedNewMove + printstring STRINGID_STOPLEARNINGMOVE + waitstate + setbyte sLEARNMOVE_STATE, 0x0 + yesnoboxstoplearningmove BattleScript_AskToLearnMove + printstring STRINGID_DIDNOTLEARNMOVE + goto BattleScript_TryLearnMoveLoop +BattleScript_ForgotAndLearnedNewMove:: + printstring STRINGID_123POOF + printstring STRINGID_PKMNFORGOTMOVE + printstring STRINGID_ANDELLIPSIS +BattleScript_LearnedNewMove:: + buffermovetolearn + fanfare MUS_FANFA1 + printstring STRINGID_PKMNLEARNEDMOVE + waitmessage 0x40 + updatechoicemoveonlvlup BS_ATTACKER + goto BattleScript_TryLearnMoveLoop +BattleScript_LearnMoveReturn:: + return + +BattleScript_RainContinuesOrEnds:: + printfromtable gRainContinuesStringIds + waitmessage 0x40 + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_RainContinuesOrEndsEnd + playanimation BS_ATTACKER, B_ANIM_RAIN_CONTINUES, NULL +BattleScript_RainContinuesOrEndsEnd:: + end2 + +BattleScript_DamagingWeatherContinues:: + printfromtable gSandStormHailContinuesStringIds + waitmessage 0x40 + playanimation2 BS_ATTACKER, sB_ANIM_ARG1, NULL + setbyte gBattleCommunication, 0x0 +BattleScript_DamagingWeatherLoop:: + copyarraywithindex gBattlerAttacker, gBattleTurnOrder, gBattleCommunication, 0x1 + weatherdamage + jumpifword CMP_EQUAL, gBattleMoveDamage, 0x0, BattleScript_DamagingWeatherLoopIncrement + printfromtable gSandStormHailDmgStringIds + waitmessage 0x40 + orword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE + effectivenesssound + hitanimation BS_ATTACKER + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + tryfaintmon BS_ATTACKER, FALSE, NULL + atk24 BattleScript_DamagingWeatherLoopIncrement +BattleScript_DamagingWeatherLoopIncrement:: + jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_DamagingWeatherContinuesEnd + addbyte gBattleCommunication, 0x1 + jumpifbytenotequal gBattleCommunication, gBattlersCount, BattleScript_DamagingWeatherLoop +BattleScript_DamagingWeatherContinuesEnd:: + bicword gHitMarker, HITMARKER_x20 | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 | HITMARKER_GRUDGE + end2 + +BattleScript_SandStormHailEnds:: + printfromtable gSandStormHailEndStringIds + waitmessage 0x40 + end2 + +BattleScript_SunlightContinues:: + printstring STRINGID_SUNLIGHTSTRONG + waitmessage 0x40 + playanimation BS_ATTACKER, B_ANIM_SUN_CONTINUES, NULL + end2 + +BattleScript_SunlightFaded:: + printstring STRINGID_SUNLIGHTFADED + waitmessage 0x40 + end2 + +BattleScript_OverworldWeatherStarts:: + printfromtable gWeatherContinuesStringIds + waitmessage 0x40 + playanimation2 BS_ATTACKER, sB_ANIM_ARG1, NULL + end3 + +BattleScript_SideStatusWoreOff:: + printstring STRINGID_PKMNSXWOREOFF + waitmessage 0x40 + end2 + +BattleScript_SafeguardProtected:: + pause 0x20 + printstring STRINGID_PKMNUSEDSAFEGUARD + waitmessage 0x40 + end2 + +BattleScript_SafeguardEnds:: + pause 0x20 + printstring STRINGID_PKMNSAFEGUARDEXPIRED + waitmessage 0x40 + end2 + +BattleScript_LeechSeedTurnDrain:: + playanimation BS_ATTACKER, B_ANIM_LEECH_SEED_DRAIN, sB_ANIM_ARG1 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + copyword gBattleMoveDamage, gHpDealt + jumpifability BS_ATTACKER, ABILITY_LIQUID_OOZE, BattleScript_LeechSeedTurnPrintLiquidOoze + manipulatedamage ATK80_DMG_CHANGE_SIGN + setbyte cMULTISTRING_CHOOSER, 0x3 + goto BattleScript_LeechSeedTurnPrintAndUpdateHp +BattleScript_LeechSeedTurnPrintLiquidOoze:: + setbyte cMULTISTRING_CHOOSER, 0x4 +BattleScript_LeechSeedTurnPrintAndUpdateHp:: + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + printfromtable gLeechSeedStringIds + waitmessage 0x40 + tryfaintmon BS_ATTACKER, FALSE, NULL + tryfaintmon BS_TARGET, FALSE, NULL + end2 + +BattleScript_BideStoringEnergy:: + printstring STRINGID_PKMNSTORINGENERGY + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_BideAttack:: + attackcanceler + setmoveeffect MOVE_EFFECT_CHARGING + clearstatusfromeffect BS_ATTACKER + printstring STRINGID_PKMNUNLEASHEDENERGY + waitmessage 0x40 + accuracycheck BattleScript_MoveMissed, ACC_CURR_MOVE + typecalc + bicbyte gMoveResultFlags, MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE + copyword gBattleMoveDamage, sBIDE_DMG + adjustsetdamage + setbyte sB_ANIM_TURN, 0x1 + attackanimation + waitanimation + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + resultmessage + waitmessage 0x40 + tryfaintmon BS_TARGET, FALSE, NULL + goto BattleScript_MoveEnd + +BattleScript_BideNoEnergyToAttack:: + attackcanceler + setmoveeffect MOVE_EFFECT_CHARGING + clearstatusfromeffect BS_ATTACKER + printstring STRINGID_PKMNUNLEASHEDENERGY + waitmessage 0x40 + goto BattleScript_ButItFailed + +BattleScript_SuccessForceOut:: + attackanimation + waitanimation + switchoutabilities BS_TARGET + returntoball BS_TARGET + waitstate + jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_TrainerBattleForceOut + setoutcomeonteleport BS_ATTACKER + finishaction + +BattleScript_TrainerBattleForceOut:: + getswitchedmondata BS_TARGET + switchindataupdate BS_TARGET + switchinanim BS_TARGET, FALSE + waitstate + printstring STRINGID_PKMNWASDRAGGEDOUT + switchineffects BS_TARGET + goto BattleScript_MoveEnd + +BattleScript_MistProtected:: + pause 0x20 + printstring STRINGID_PKMNPROTECTEDBYMIST + waitmessage 0x40 + return + +BattleScript_RageIsBuilding:: + printstring STRINGID_PKMNRAGEBUILDING + waitmessage 0x40 + return + +BattleScript_MoveUsedIsDisabled:: + printstring STRINGID_PKMNMOVEISDISABLED + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_SelectingDisabledMove:: + printselectionstring STRINGID_PKMNMOVEISDISABLED + endselectionscript + +BattleScript_DisabledNoMore:: + printstring STRINGID_PKMNMOVEDISABLEDNOMORE + waitmessage 0x40 + end2 + +BattleScript_SelectingDisabledMoveInPalace:: + printstring STRINGID_PKMNMOVEISDISABLED +BattleScript_SelectingUnusableMoveInPalace:: + setbyte sMOVEEND_STATE, 0x0 + moveend 0x2, 0x10 + end + +BattleScript_EncoredNoMore:: + printstring STRINGID_PKMNENCOREENDED + waitmessage 0x40 + end2 + +BattleScript_DestinyBondTakesLife:: + printstring STRINGID_PKMNTOOKFOE + waitmessage 0x40 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + tryfaintmon BS_ATTACKER, FALSE, NULL + return + +BattleScript_SpikesOnAttacker:: + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + call BattleScript_PrintHurtBySpikes + tryfaintmon BS_ATTACKER, FALSE, NULL + tryfaintmon BS_ATTACKER, TRUE, BattleScript_SpikesOnAttackerFainted + return + +BattleScript_SpikesOnAttackerFainted:: + setbyte sGIVEEXP_STATE, 0x0 + getexp BS_ATTACKER + setbyte sMOVEEND_STATE, 0x0 + moveend 0x0, 0x0 + goto BattleScript_HandleFaintedMon + +BattleScript_SpikesOnTarget:: + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + call BattleScript_PrintHurtBySpikes + tryfaintmon BS_TARGET, FALSE, NULL + tryfaintmon BS_TARGET, TRUE, BattleScript_SpikesOnTargetFainted + return + +BattleScript_SpikesOnTargetFainted:: + setbyte sGIVEEXP_STATE, 0x0 + getexp BS_TARGET + setbyte sMOVEEND_STATE, 0x0 + moveend 0x0, 0x0 + goto BattleScript_HandleFaintedMon + +BattleScript_SpikesOnFaintedBattler:: + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + healthbarupdate BS_FAINTED + datahpupdate BS_FAINTED + call BattleScript_PrintHurtBySpikes + tryfaintmon BS_FAINTED, FALSE, NULL + tryfaintmon BS_FAINTED, TRUE, BattleScript_SpikesOnFaintedBattlerFainted + return + +BattleScript_SpikesOnFaintedBattlerFainted:: + setbyte sGIVEEXP_STATE, 0x0 + getexp BS_FAINTED + setbyte sMOVEEND_STATE, 0x0 + moveend 0x0, 0x0 + goto BattleScript_HandleFaintedMon + +BattleScript_PrintHurtBySpikes:: + printstring STRINGID_PKMNHURTBYSPIKES + waitmessage 0x40 + return + +BattleScript_PerishSongTakesLife:: + printstring STRINGID_PKMNPERISHCOUNTFELL + waitmessage 0x40 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + tryfaintmon BS_ATTACKER, FALSE, NULL + end2 + +BattleScript_PerishSongCountGoesDown:: + printstring STRINGID_PKMNPERISHCOUNTFELL + waitmessage 0x40 + end2 + +BattleScript_AllStatsUp:: + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, 0xC, BattleScript_AllStatsUpAtk + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, 0xC, BattleScript_AllStatsUpAtk + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPEED, 0xC, BattleScript_AllStatsUpAtk + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, 0xC, BattleScript_AllStatsUpAtk + jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 0xC, BattleScript_AllStatsUpRet +BattleScript_AllStatsUpAtk:: + setbyte sFIELD_1B, 0x0 + playstatchangeanimation BS_ATTACKER, 0x3E, 0x0 + setstatchanger STAT_ATK, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_AllStatsUpDef + printfromtable gStatUpStringIds + waitmessage 0x40 +BattleScript_AllStatsUpDef:: + setstatchanger STAT_DEF, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_AllStatsUpSpeed + printfromtable gStatUpStringIds + waitmessage 0x40 +BattleScript_AllStatsUpSpeed:: + setstatchanger STAT_SPEED, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_AllStatsUpSpAtk + printfromtable gStatUpStringIds + waitmessage 0x40 +BattleScript_AllStatsUpSpAtk:: + setstatchanger STAT_SPATK, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_AllStatsUpSpDef + printfromtable gStatUpStringIds + waitmessage 0x40 +BattleScript_AllStatsUpSpDef:: + setstatchanger STAT_SPDEF, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_AllStatsUpRet + printfromtable gStatUpStringIds + waitmessage 0x40 +BattleScript_AllStatsUpRet:: + return + +BattleScript_RapidSpinAway:: + rapidspinfree + return + +BattleScript_WrapFree:: + printstring STRINGID_PKMNGOTFREE + waitmessage 0x40 + copybyte gBattlerTarget, sBANK + return + +BattleScript_LeechSeedFree:: + printstring STRINGID_PKMNSHEDLEECHSEED + waitmessage 0x40 + return + +BattleScript_SpikesFree:: + printstring STRINGID_PKMNBLEWAWAYSPIKES + waitmessage 0x40 + return + +BattleScript_MonTookFutureAttack:: + printstring STRINGID_PKMNTOOKATTACK + waitmessage 0x40 + jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_CheckDoomDesireMiss + accuracycheck BattleScript_FutureAttackMiss, MOVE_FUTURE_SIGHT + goto BattleScript_FutureAttackAnimate +BattleScript_CheckDoomDesireMiss:: + accuracycheck BattleScript_FutureAttackMiss, MOVE_DOOM_DESIRE +BattleScript_FutureAttackAnimate:: + adjustnormaldamage2 + jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_FutureHitAnimDoomDesire + playanimation BS_ATTACKER, B_ANIM_FUTURE_SIGHT_HIT, NULL + goto BattleScript_DoFutureAttackHit +BattleScript_FutureHitAnimDoomDesire:: + playanimation BS_ATTACKER, B_ANIM_DOOM_DESIRE_HIT, NULL +BattleScript_DoFutureAttackHit:: + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + resultmessage + waitmessage 0x40 + tryfaintmon BS_TARGET, FALSE, NULL + atk24 BattleScript_FutureAttackEnd +BattleScript_FutureAttackEnd:: + setbyte sMOVEEND_STATE, 0x0 + moveend 0x1, 0x0 + setbyte sMOVEEND_STATE, 0xB + moveend 0x2, 0xE + setbyte gMoveResultFlags, 0 + end2 + +BattleScript_FutureAttackMiss:: + pause 0x20 + setbyte gMoveResultFlags, 0 + orbyte gMoveResultFlags, MOVE_RESULT_FAILED + resultmessage + waitmessage 0x40 + setbyte gMoveResultFlags, 0 + end2 + +BattleScript_NoMovesLeft:: + printselectionstring STRINGID_PKMNHASNOMOVESLEFT + endselectionscript + +BattleScript_SelectingMoveWithNoPP:: + printselectionstring STRINGID_NOPPLEFT + endselectionscript + +BattleScript_NoPPForMove:: + attackstring + pause 0x20 + printstring STRINGID_BUTNOPPLEFT + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_SelectingTormentedMove:: + printselectionstring STRINGID_PKMNCANTUSEMOVETORMENT + endselectionscript + +BattleScript_MoveUsedIsTormented:: + printstring STRINGID_PKMNCANTUSEMOVETORMENT + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_SelectingTormentedMoveInPalace:: + printstring STRINGID_PKMNCANTUSEMOVETORMENT + goto BattleScript_SelectingUnusableMoveInPalace + +BattleScript_SelectingNotAllowedMoveTaunt:: + printselectionstring STRINGID_PKMNCANTUSEMOVETAUNT + endselectionscript + +BattleScript_MoveUsedIsTaunted:: + printstring STRINGID_PKMNCANTUSEMOVETAUNT + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_SelectingNotAllowedMoveTauntInPalace:: + printstring STRINGID_PKMNCANTUSEMOVETAUNT + goto BattleScript_SelectingUnusableMoveInPalace + +BattleScript_WishComesTrue:: + trywish 0x1, BattleScript_WishButFullHp + playanimation BS_TARGET, B_ANIM_WISH_HEAL, NULL + printstring STRINGID_PKMNWISHCAMETRUE + waitmessage 0x40 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + printstring STRINGID_PKMNREGAINEDHEALTH + waitmessage 0x40 + end2 + +BattleScript_WishButFullHp:: + printstring STRINGID_PKMNWISHCAMETRUE + waitmessage 0x40 + pause 0x20 + printstring STRINGID_PKMNHPFULL + waitmessage 0x40 + end2 + +BattleScript_IngrainTurnHeal:: + playanimation BS_ATTACKER, B_ANIM_INGRAIN_HEAL, NULL + printstring STRINGID_PKMNABSORBEDNUTRIENTS + waitmessage 0x40 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + end2 + +BattleScript_PrintMonIsRooted:: + pause 0x20 + printstring STRINGID_PKMNANCHOREDITSELF + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_AtkDefDown:: + setbyte sFIELD_1B, 0x0 + playstatchangeanimation BS_ATTACKER, 0x6, 0xD + playstatchangeanimation BS_ATTACKER, 0x2, 0x9 + setstatchanger STAT_ATK, 1, TRUE + statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | 0x1, BattleScript_82DB144 + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DB144 + printfromtable gStatDownStringIds + waitmessage 0x40 +BattleScript_82DB144:: + playstatchangeanimation BS_ATTACKER, 0x4, 0x9 + setstatchanger STAT_DEF, 1, TRUE + statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | 0x1, BattleScript_82DB167 + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DB167 + printfromtable gStatDownStringIds + waitmessage 0x40 +BattleScript_82DB167:: + return + +BattleScript_KnockedOff:: + playanimation BS_TARGET, B_ANIM_ITEM_KNOCKOFF, NULL + printstring STRINGID_PKMNKNOCKEDOFF + waitmessage 0x40 + return + +BattleScript_MoveUsedIsImprisoned:: + printstring STRINGID_PKMNCANTUSEMOVESEALED + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_SelectingImprisionedMove:: + printselectionstring STRINGID_PKMNCANTUSEMOVESEALED + endselectionscript + +BattleScript_SelectingImprisionedMoveInPalace:: + printstring STRINGID_PKMNCANTUSEMOVESEALED + goto BattleScript_SelectingUnusableMoveInPalace + +BattleScript_GrudgeTakesPp:: + printstring STRINGID_PKMNLOSTPPGRUDGE + waitmessage 0x40 + return + +BattleScript_MagicCoatBounce:: + attackstring + ppreduce + pause 0x20 + printstring STRINGID_PKMNMOVEBOUNCED + waitmessage 0x40 + orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000 + setmagiccoattarget BS_ATTACKER + return + +BattleScript_SnatchedMove:: + attackstring + ppreduce + snatchsetbanks + playanimation BS_TARGET, B_ANIM_SNATCH_MOVE, NULL + printstring STRINGID_PKMNSNATCHEDMOVE + waitmessage 0x40 + orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED | HITMARKER_NO_PPDEDUCT | HITMARKER_x800000 + atk5F + return + +BattleScript_EnduredMsg:: + printstring STRINGID_PKMNENDUREDHIT + waitmessage 0x40 + return + +BattleScript_OneHitKOMsg:: + printstring STRINGID_ONEHITKO + waitmessage 0x40 + return + +BattleScript_SAtkDown2:: + setbyte sFIELD_1B, 0x0 + playstatchangeanimation BS_ATTACKER, 0x10, 0xB + setstatchanger STAT_SPATK, 2, TRUE + statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | 0x1, BattleScript_82DB1FE + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DB1FE + printfromtable gStatDownStringIds + waitmessage 0x40 +BattleScript_82DB1FE:: + return + +BattleScript_FocusPunchSetUp:: + printstring STRINGID_EMPTYSTRING3 + waitmessage 0x1 + playanimation BS_ATTACKER, B_ANIM_x14, NULL + printstring STRINGID_PKMNTIGHTENINGFOCUS + waitmessage 0x40 + end2 + +BattleScript_MoveUsedIsAsleep:: + printstring STRINGID_PKMNFASTASLEEP + waitmessage 0x40 + statusanimation BS_ATTACKER + goto BattleScript_MoveEnd + +BattleScript_MoveUsedWokeUp:: + bicword gHitMarker, HITMARKER_x10 + printfromtable gWokeUpStringIds + waitmessage 0x40 + updatestatusicon BS_ATTACKER + return + +BattleScript_MonWokeUpInUproar:: + printstring STRINGID_PKMNWOKEUPINUPROAR + waitmessage 0x40 + updatestatusicon BS_ATTACKER + end2 + +BattleScript_PoisonTurnDmg:: + printstring STRINGID_PKMNHURTBYPOISON + waitmessage 0x40 +BattleScript_DoStatusTurnDmg:: + statusanimation BS_ATTACKER +BattleScript_DoTurnDmg:: + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + tryfaintmon BS_ATTACKER, FALSE, NULL + atk24 BattleScript_DoTurnDmgEnd +BattleScript_DoTurnDmgEnd:: + end2 + +BattleScript_BurnTurnDmg:: + printstring STRINGID_PKMNHURTBYBURN + waitmessage 0x40 + goto BattleScript_DoStatusTurnDmg + +BattleScript_MoveUsedIsFrozen:: + printstring STRINGID_PKMNISFROZEN + waitmessage 0x40 + statusanimation BS_ATTACKER + goto BattleScript_MoveEnd + +BattleScript_MoveUsedUnfroze:: + printfromtable gGotDefrostedStringIds + waitmessage 0x40 + updatestatusicon BS_ATTACKER + return + +BattleScript_DefrostedViaFireMove:: + printstring STRINGID_PKMNWASDEFROSTED + waitmessage 0x40 + updatestatusicon BS_TARGET + return + +BattleScript_MoveUsedIsParalyzed:: + printstring STRINGID_PKMNISPARALYZED + waitmessage 0x40 + statusanimation BS_ATTACKER + cancelmultiturnmoves BS_ATTACKER + goto BattleScript_MoveEnd + +BattleScript_MoveUsedFlinched:: + printstring STRINGID_PKMNFLINCHED + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_PrintUproarOverTurns:: + printfromtable gUproarOverTurnStringIds + waitmessage 0x40 + end2 + +BattleScript_ThrashConfuses:: + chosenstatus2animation BS_ATTACKER, STATUS2_CONFUSION + printstring STRINGID_PKMNFATIGUECONFUSION + waitmessage 0x40 + end2 + +BattleScript_MoveUsedIsConfused:: + printstring STRINGID_PKMNISCONFUSED + waitmessage 0x40 + status2animation BS_ATTACKER, STATUS2_CONFUSION + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_MoveUsedIsConfusedRet +BattleScript_DoSelfConfusionDmg:: + cancelmultiturnmoves BS_ATTACKER + adjustnormaldamage2 + printstring STRINGID_ITHURTCONFUSION + waitmessage 0x40 + effectivenesssound + hitanimation BS_ATTACKER + waitstate + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + resultmessage + waitmessage 0x40 + tryfaintmon BS_ATTACKER, FALSE, NULL + goto BattleScript_MoveEnd +BattleScript_MoveUsedIsConfusedRet:: + return + +BattleScript_MoveUsedIsConfusedNoMore:: + printstring STRINGID_PKMNHEALEDCONFUSION + waitmessage 0x40 + return + +BattleScript_PrintPayDayMoneyString:: + printstring STRINGID_PKMNPICKEDUPITEM + waitmessage 0x40 + return + +BattleScript_WrapTurnDmg:: + playanimation BS_ATTACKER, B_ANIM_TURN_TRAP, sB_ANIM_ARG1 + printstring STRINGID_PKMNHURTBY + waitmessage 0x40 + goto BattleScript_DoTurnDmg + +BattleScript_WrapEnds:: + printstring STRINGID_PKMNFREEDFROM + waitmessage 0x40 + end2 + +BattleScript_MoveUsedIsInLove:: + printstring STRINGID_PKMNINLOVE + waitmessage 0x40 + status2animation BS_ATTACKER, STATUS2_INFATUATION + return + +BattleScript_MoveUsedIsParalyzedCantAttack:: + printstring STRINGID_PKMNIMMOBILIZEDBYLOVE + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_NightmareTurnDmg:: + printstring STRINGID_PKMNLOCKEDINNIGHTMARE + waitmessage 0x40 + status2animation BS_ATTACKER, STATUS2_NIGHTMARE + goto BattleScript_DoTurnDmg + +BattleScript_CurseTurnDmg:: + printstring STRINGID_PKMNAFFLICTEDBYCURSE + waitmessage 0x40 + status2animation BS_ATTACKER, STATUS2_CURSED + goto BattleScript_DoTurnDmg + +BattleScript_TargetPRLZHeal:: + printstring STRINGID_PKMNHEALEDPARALYSIS + waitmessage 0x40 + updatestatusicon BS_TARGET + return + +BattleScript_MoveEffectSleep:: + statusanimation BS_EFFECT_BATTLER + printfromtable gFellAsleepStringIds + waitmessage 0x40 +BattleScript_UpdateEffectStatusIconRet:: + updatestatusicon BS_EFFECT_BATTLER + waitstate + return + +BattleScript_YawnMakesAsleep:: + statusanimation BS_EFFECT_BATTLER + printstring STRINGID_PKMNFELLASLEEP + waitmessage 0x40 + updatestatusicon BS_EFFECT_BATTLER + waitstate + makevisible BS_EFFECT_BATTLER + end2 + +BattleScript_MoveEffectPoison:: + statusanimation BS_EFFECT_BATTLER + printfromtable gGotPoisonedStringIds + waitmessage 0x40 + goto BattleScript_UpdateEffectStatusIconRet + +BattleScript_MoveEffectBurn:: + statusanimation BS_EFFECT_BATTLER + printfromtable gGotBurnedStringIds + waitmessage 0x40 + goto BattleScript_UpdateEffectStatusIconRet + +BattleScript_MoveEffectFreeze:: + statusanimation BS_EFFECT_BATTLER + printfromtable gGotFrozenStringIds + waitmessage 0x40 + goto BattleScript_UpdateEffectStatusIconRet + +BattleScript_MoveEffectParalysis:: + statusanimation BS_EFFECT_BATTLER + printfromtable gGotParalyzedStringIds + waitmessage 0x40 + goto BattleScript_UpdateEffectStatusIconRet + +BattleScript_MoveEffectUproar:: + printstring STRINGID_PKMNCAUSEDUPROAR + waitmessage 0x40 + return + +BattleScript_MoveEffectToxic:: + statusanimation BS_EFFECT_BATTLER + printstring STRINGID_PKMNBADLYPOISONED + waitmessage 0x40 + goto BattleScript_UpdateEffectStatusIconRet + +BattleScript_MoveEffectPayDay:: + printstring STRINGID_COINSSCATTERED + waitmessage 0x40 + return + +BattleScript_MoveEffectWrap:: + printfromtable gWrappedStringIds + waitmessage 0x40 + return + +BattleScript_MoveEffectConfusion:: + chosenstatus2animation BS_EFFECT_BATTLER, STATUS2_CONFUSION + printstring STRINGID_PKMNWASCONFUSED + waitmessage 0x40 + return + +BattleScript_MoveEffectRecoil33:: + jumpifmove MOVE_STRUGGLE, BattleScript_DoRecoil33 + jumpifability BS_ATTACKER, ABILITY_ROCK_HEAD, BattleScript_Recoil33End +BattleScript_DoRecoil33:: + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + printstring STRINGID_PKMNHITWITHRECOIL + waitmessage 0x40 + tryfaintmon BS_ATTACKER, FALSE, NULL +BattleScript_Recoil33End:: + return + +BattleScript_ItemSteal:: + playanimation BS_TARGET, B_ANIM_ITEM_STEAL, NULL + printstring STRINGID_PKMNSTOLEITEM + waitmessage 0x40 + return + +BattleScript_DrizzleActivates:: + pause 0x20 + printstring STRINGID_PKMNMADEITRAIN + waitstate + playanimation BS_BANK_0, B_ANIM_RAIN_CONTINUES, NULL + call BattleScript_WeatherFormChanges + end3 + +BattleScript_SpeedBoostActivates:: + playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 + printstring STRINGID_PKMNRAISEDSPEED + waitmessage 0x40 + end3 + +BattleScript_TraceActivates:: + pause 0x20 + printstring STRINGID_PKMNTRACED + waitmessage 0x40 + end3 + +BattleScript_RainDishActivates:: + printstring STRINGID_PKMNSXRESTOREDHPALITTLE2 + waitmessage 0x40 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + end3 + +BattleScript_SandstreamActivates:: + pause 0x20 + printstring STRINGID_PKMNSXWHIPPEDUPSANDSTORM + waitstate + playanimation BS_BANK_0, B_ANIM_SANDSTORM_CONTINUES, NULL + call BattleScript_WeatherFormChanges + end3 + +BattleScript_ShedSkinActivates:: + printstring STRINGID_PKMNSXCUREDYPROBLEM + waitmessage 0x40 + updatestatusicon BS_ATTACKER + end3 + +BattleScript_WeatherFormChanges:: + setbyte sBANK, 0x0 +BattleScript_WeatherFormChangesLoop:: + trycastformdatachange + addbyte sBANK, 0x1 + jumpifbytenotequal sBANK, gBattlersCount, BattleScript_WeatherFormChangesLoop + return + +BattleScript_CastformChange:: + call BattleScript_82DB4AF + end3 + +BattleScript_82DB4AF:: + docastformchangeanimation + waitstate + printstring STRINGID_PKMNTRANSFORMED + waitmessage 0x40 + return + +BattleScript_82DB4B8:: + call BattleScript_82DB4BE + end3 + +BattleScript_82DB4BE:: + pause 0x20 +BattleScript_82DB4C1:: + setbyte gBattlerTarget, 0x0 + setstatchanger STAT_ATK, 1, TRUE +BattleScript_82DB4CD:: + trygetintimidatetarget BattleScript_82DB51B + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_82DB510 + jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_82DB51C + jumpifability BS_TARGET, ABILITY_HYPER_CUTTER, BattleScript_82DB51C + jumpifability BS_TARGET, ABILITY_WHITE_SMOKE, BattleScript_82DB51C + statbuffchange 0x21, BattleScript_82DB510 + jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_82DB510 + setgraphicalstatchangevalues + playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 + printstring STRINGID_PKMNCUTSATTACKWITH + waitmessage 0x40 +BattleScript_82DB510:: + addbyte gBattlerTarget, 0x1 + goto BattleScript_82DB4CD +BattleScript_82DB51B:: + return + +BattleScript_82DB51C:: + pause 0x20 + printstring STRINGID_PREVENTEDFROMWORKING + waitmessage 0x40 + goto BattleScript_82DB510 + +BattleScript_DroughtActivates:: + pause 0x20 + printstring STRINGID_PKMNSXINTENSIFIEDSUN + waitstate + playanimation BS_BANK_0, B_ANIM_SUN_CONTINUES, NULL + call BattleScript_WeatherFormChanges + end3 + +BattleScript_TookAttack:: + attackstring + pause 0x20 + printstring STRINGID_PKMNSXTOOKATTACK + waitmessage 0x40 + orword gHitMarker, HITMARKER_ATTACKSTRING_PRINTED + return + +BattleScript_SturdyPreventsOHKO:: + pause 0x20 + printstring STRINGID_PKMNPROTECTEDBY + pause 0x40 + goto BattleScript_MoveEnd + +BattleScript_DampStopsExplosion:: + pause 0x20 + printstring STRINGID_PKMNPREVENTSUSAGE + pause 0x40 + goto BattleScript_MoveEnd + +BattleScript_MoveHPDrain_PPLoss:: + ppreduce +BattleScript_MoveHPDrain:: + attackstring + pause 0x20 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + printstring STRINGID_PKMNRESTOREDHPUSING + waitmessage 0x40 + orbyte gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE + goto BattleScript_MoveEnd + +BattleScript_MonMadeMoveUseless_PPLoss:: + ppreduce +BattleScript_MonMadeMoveUseless:: + attackstring + pause 0x20 + printstring STRINGID_PKMNSXMADEYUSELESS + waitmessage 0x40 + orbyte gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE + goto BattleScript_MoveEnd + +BattleScript_FlashFireBoost_PPLoss:: + ppreduce +BattleScript_FlashFireBoost:: + attackstring + pause 0x20 + printfromtable gFlashFireStringIds + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_AbilityPreventsPhasingOut:: + pause 0x20 + printstring STRINGID_PKMNANCHORSITSELFWITH + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_AbilityNoStatLoss:: + pause 0x20 + printstring STRINGID_PKMNPREVENTSSTATLOSSWITH + waitmessage 0x40 + return + +BattleScript_BRNPrevention:: + pause 0x20 + printfromtable gBRNPreventionStringIds + waitmessage 0x40 + return + +BattleScript_PRLZPrevention:: + pause 0x20 + printfromtable gPRLZPreventionStringIds + waitmessage 0x40 + return + +BattleScript_PSNPrevention:: + pause 0x20 + printfromtable gPSNPreventionStringIds + waitmessage 0x40 + return + +BattleScript_ObliviousPreventsAttraction:: + pause 0x20 + printstring STRINGID_PKMNPREVENTSROMANCEWITH + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_FlinchPrevention:: + pause 0x20 + printstring STRINGID_PKMNSXPREVENTSFLINCHING + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_OwnTempoPrevents:: + pause 0x20 + printstring STRINGID_PKMNPREVENTSCONFUSIONWITH + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_SoundproofProtected:: + attackstring + ppreduce + pause 0x20 + printstring STRINGID_PKMNSXBLOCKSY + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_AbilityNoSpecificStatLoss:: + pause 0x20 + printstring STRINGID_PKMNSXPREVENTSYLOSS + waitmessage 0x40 + setbyte cMULTISTRING_CHOOSER, 0x3 + return + +BattleScript_StickyHoldActivates:: + pause 0x20 + printstring STRINGID_PKMNSXMADEYINEFFECTIVE + waitmessage 0x40 + goto BattleScript_MoveEnd + +BattleScript_ColorChangeActivates:: + printstring STRINGID_PKMNCHANGEDTYPEWITH + waitmessage 0x40 + return + +BattleScript_RoughSkinActivates:: + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000 + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + printstring STRINGID_PKMNHURTSWITH + waitmessage 0x40 + tryfaintmon BS_ATTACKER, FALSE, NULL + return + +BattleScript_CuteCharmActivates:: + status2animation BS_ATTACKER, STATUS2_INFATUATION + printstring STRINGID_PKMNSXINFATUATEDY + waitmessage 0x40 + return + +BattleScript_ApplySecondaryEffect:: + waitstate + seteffectsecondary + return + +BattleScript_SynchronizeActivates:: + waitstate + seteffectprimary + return + +BattleScript_NoItemSteal:: + pause 0x20 + printstring STRINGID_PKMNSXMADEYINEFFECTIVE + waitmessage 0x40 + return + +BattleScript_AbilityCuredStatus:: + printstring STRINGID_PKMNSXCUREDITSYPROBLEM + waitmessage 0x40 + updatestatusicon BS_SCRIPTING + return + +BattleScript_82DB695:: + printstring STRINGID_PKMNIGNORESASLEEP + waitmessage 0x40 + setbyte sMOVEEND_STATE, 0x0 + moveend 0x2, 0x10 + end + +BattleScript_IgnoresAndUsesRandomMove:: + printstring STRINGID_PKMNIGNOREDORDERS + waitmessage 0x40 + jumptorandomattack FALSE + +BattleScript_MoveUsedLoafingAround:: + jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, 0x4, BattleScript_82DB6C7 + setbyte gBattleCommunication, 0x0 + various24 BS_ATTACKER + setbyte cMULTISTRING_CHOOSER, 0x4 +BattleScript_82DB6C7:: + printfromtable gInobedientStringIds + waitmessage 0x40 + setbyte sMOVEEND_STATE, 0x0 + moveend 0x2, 0x10 + end + +BattleScript_IgnoresAndFallsAsleep:: + printstring STRINGID_PKMNBEGANTONAP + waitmessage 0x40 + setmoveeffect MOVE_EFFECT_SLEEP | MOVE_EFFECT_AFFECTS_USER + seteffectprimary + setbyte sMOVEEND_STATE, 0x0 + moveend 0x2, 0x10 + end + +BattleScript_82DB6F0:: + printstring STRINGID_PKMNWONTOBEY + waitmessage 0x40 + goto BattleScript_DoSelfConfusionDmg + +BattleScript_SubstituteFade:: + playanimation BS_TARGET, B_ANIM_SUBSTITUTE_FADE, NULL + printstring STRINGID_PKMNSUBSTITUTEFADED + return + +BattleScript_BerryCurePrlzEnd2:: + call BattleScript_BerryCureParRet + end2 + +BattleScript_BerryCureParRet:: + playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL + printstring STRINGID_PKMNSITEMCUREDPARALYSIS + waitmessage 0x40 + updatestatusicon BS_SCRIPTING + removeitem BS_SCRIPTING + return + +BattleScript_BerryCurePsnEnd2:: + call BattleScript_BerryCurePsnRet + end2 + +BattleScript_BerryCurePsnRet:: + playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL + printstring STRINGID_PKMNSITEMCUREDPOISON + waitmessage 0x40 + updatestatusicon BS_SCRIPTING + removeitem BS_SCRIPTING + return + +BattleScript_BerryCureBrnEnd2:: + call BattleScript_BerryCureBrnRet + end2 + +BattleScript_BerryCureBrnRet:: + playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL + printstring STRINGID_PKMNSITEMHEALEDBURN + waitmessage 0x40 + updatestatusicon BS_SCRIPTING + removeitem BS_SCRIPTING + return + +BattleScript_BerryCureFrzEnd2:: + call BattleScript_BerryCureFrzRet + end2 + +BattleScript_BerryCureFrzRet:: + playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL + printstring STRINGID_PKMNSITEMDEFROSTEDIT + waitmessage 0x40 + updatestatusicon BS_SCRIPTING + removeitem BS_SCRIPTING + return + +BattleScript_BerryCureSlpEnd2:: + call BattleScript_BerryCureSlpRet + end2 + +BattleScript_BerryCureSlpRet:: + playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL + printstring STRINGID_PKMNSITEMWOKEIT + waitmessage 0x40 + updatestatusicon BS_SCRIPTING + removeitem BS_SCRIPTING + return + +BattleScript_BerryCureConfusionEnd2:: + call BattleScript_BerryCureConfusionRet + end2 + +BattleScript_BerryCureConfusionRet:: + playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL + printstring STRINGID_PKMNSITEMSNAPPEDOUT + waitmessage 0x40 + removeitem BS_SCRIPTING + return + +BattleScript_BerryCureChosenStatusEnd2:: + call BattleScript_BerryCureChosenStatusRet + end2 + +BattleScript_BerryCureChosenStatusRet:: + playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL + printfromtable gBerryEffectStringIds + waitmessage 0x40 + updatestatusicon BS_SCRIPTING + removeitem BS_SCRIPTING + return + +BattleScript_WhiteHerbEnd2:: + call BattleScript_WhiteHerbRet + end2 + +BattleScript_WhiteHerbRet:: + playanimation BS_SCRIPTING, B_ANIM_ITEM_EFFECT, NULL + printstring STRINGID_PKMNSITEMRESTOREDSTATUS + waitmessage 0x40 + removeitem BS_SCRIPTING + return + +BattleScript_ItemHealHP_RemoveItem:: + playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL + printstring STRINGID_PKMNSITEMRESTOREDHEALTH + waitmessage 0x40 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + removeitem BS_ATTACKER + end2 + +BattleScript_BerryPPHealEnd2:: + playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL + printstring STRINGID_PKMNSITEMRESTOREDPP + waitmessage 0x40 + removeitem BS_ATTACKER + end2 + +BattleScript_ItemHealHP_End2:: + call BattleScript_ItemHealHP_Ret + end2 + +BattleScript_ItemHealHP_Ret:: + playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL + printstring STRINGID_PKMNSITEMRESTOREDHPALITTLE + waitmessage 0x40 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + return + +BattleScript_SelectingNotAllowedMoveChoiceItem:: + printselectionstring STRINGID_ITEMALLOWSONLYYMOVE + endselectionscript + +BattleScript_HangedOnMsg:: + playanimation BS_TARGET, B_ANIM_HANGED_ON, NULL + printstring STRINGID_PKMNHUNGONWITHX + waitmessage 0x40 + return + +BattleScript_BerryConfuseHealEnd2:: + playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL + printstring STRINGID_PKMNSITEMRESTOREDHEALTH + waitmessage 0x40 + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + printstring STRINGID_FORXCOMMAYZ + waitmessage 0x40 + setmoveeffect MOVE_EFFECT_CONFUSION | MOVE_EFFECT_AFFECTS_USER + seteffectprimary + removeitem BS_ATTACKER + end2 + +BattleScript_BerryStatRaiseEnd2:: + playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL + statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_82DB85B +BattleScript_82DB85B:: + setbyte cMULTISTRING_CHOOSER, 0x4 + call BattleScript_StatUp + removeitem BS_ATTACKER + end2 + +BattleScript_BerryFocusEnergyEnd2:: + playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL + printstring STRINGID_PKMNUSEDXTOGETPUMPED + waitmessage 0x40 + removeitem BS_ATTACKER + end2 + +BattleScript_ActionSelectionItemsCantBeUsed:: + printselectionstring STRINGID_ITEMSCANTBEUSEDNOW + endselectionscript + +BattleScript_82DB87D:: + printstring STRINGID_EMPTYSTRING3 + return + +BattleScript_82DB881:: + setbyte gBattleCommunication + 1, 0x0 +BattleScript_82DB887:: + various8 BS_ATTACKER + jumpifbyte CMP_NOT_EQUAL, gBattleCommunication, 0x1, BattleScript_82DB89D + printfromtable gStringIds_85CCF0A + waitmessage 0x40 +BattleScript_82DB89D:: + addbyte gBattleCommunication + 1, 0x1 + jumpifbytenotequal gBattleCommunication + 1, gBattlersCount, BattleScript_82DB887 + setbyte gBattleCommunication, 0x0 + setbyte gBattleCommunication + 1, 0x0 + end2 + +BattleScript_82DB8BE:: + waitcry BS_ATTACKER + various21 BS_ATTACKER + playse 0x109 + pause 0x8 + playse 0x109 + various14 BS_ATTACKER + various16 8 + various17 8 + pause 0x40 + various15 BS_ATTACKER + various22 BS_ATTACKER + end2 + +BattleScript_82DB8E0:: + playse SE_PINPON + various14 BS_ATTACKER + various16 BS_TARGET + various17 BS_TARGET + pause 0x40 + various15 BS_ATTACKER + end2 + +BattleScript_82DB8F3:: + makevisible 11 + waitstate + makevisible BS_OPPONENT1 + waitstate + various21 BS_ATTACKER + playse 0x109 + pause 0x8 + playse 0x109 + pause 0x40 + various14 BS_ATTACKER + various16 BS_ATTACKER + various17 BS_ATTACKER + pause 0x40 + setbyte gBattleCommunication, 0x0 + various9 BS_ATTACKER + pause 0x40 + various9 BS_ATTACKER + various16 BS_EFFECT_BATTLER + various17 BS_EFFECT_BATTLER + various9 BS_ATTACKER + various16 BS_FAINTED + various17 BS_FAINTED + various9 BS_ATTACKER + various16 0x4 + various17 0x4 + various9 BS_ATTACKER + jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 0x3, BattleScript_82DB973 + jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 0x4, BattleScript_82DB992 + various16 0x5 + various17 0x5 + various9 BS_ATTACKER + various15 BS_ATTACKER + printstring STRINGID_DEFEATEDOPPONENTBYREFEREE + waitmessage 0x40 + playfaintcry BS_OPPONENT1 + waitcry BS_ATTACKER + dofaintanimation BS_OPPONENT1 + cleareffectsonfaint BS_OPPONENT1 + various10 BS_ATTACKER + end2 + +BattleScript_82DB973:: + various16 0x6 + various17 0x6 + various9 BS_ATTACKER + various15 BS_ATTACKER + printstring STRINGID_LOSTTOOPPONENTBYREFEREE + waitmessage 0x40 + playfaintcry 11 + waitcry BS_ATTACKER + dofaintanimation 11 + cleareffectsonfaint 11 + various11 BS_ATTACKER + end2 + +BattleScript_82DB992:: + various16 BS_BANK_0 + various17 BS_BANK_0 + various9 BS_ATTACKER + various15 BS_ATTACKER + printstring STRINGID_TIEDOPPONENTBYREFEREE + waitmessage 0x40 + playfaintcry 11 + waitcry BS_ATTACKER + dofaintanimation 11 + cleareffectsonfaint 11 + playfaintcry BS_OPPONENT1 + waitcry BS_ATTACKER + dofaintanimation BS_OPPONENT1 + cleareffectsonfaint BS_OPPONENT1 + various12 BS_ATTACKER + end2 + +BattleScript_AskIfWantsToForfeitMatch:: + printselectionstring STRINGID_QUESTIONFORFEITMATCH + forfeityesnobox BS_ATTACKER + endselectionscript + +BattleScript_PrintPlayerForfeited:: + printstring STRINGID_FORFEITEDMATCH + waitmessage 0x40 + end2 + +BattleScript_PrintPlayerForfeitedLinkBattle:: + printstring STRINGID_FORFEITEDMATCH + waitmessage 0x40 + atk57 + waitmessage 0x40 + end2 diff --git a/data/battle_scripts_2.s b/data/battle_scripts_2.s index 4a4dc46653..8020d7c5c1 100644 --- a/data/battle_scripts_2.s +++ b/data/battle_scripts_2.s @@ -1,32 +1,39 @@ +#include "constants/battle.h" +#include "constants/battle_script_commands.h" +#include "constants/battle_anim.h" +#include "constants/battle_string_ids.h" +#include "constants/items.h" +#include "constants/songs.h" .include "asm/macros.inc" + .include "asm/macros/battle_script.inc" .include "constants/constants.inc" .section script_data, "aw", %progbits .align 2 gBattlescriptsForBallThrow:: @ 82DBD08 - .4byte gUnknown_082DBD68 - .4byte gUnknown_082DBD68 - .4byte gUnknown_082DBD68 - .4byte gUnknown_082DBD68 - .4byte gUnknown_082DBD68 - .4byte gUnknown_082DBD7E - .4byte gUnknown_082DBD68 - .4byte gUnknown_082DBD68 - .4byte gUnknown_082DBD68 - .4byte gUnknown_082DBD68 - .4byte gUnknown_082DBD68 - .4byte gUnknown_082DBD68 - .4byte gUnknown_082DBD68 + .4byte BattleScript_BallThrow + .4byte BattleScript_BallThrow + .4byte BattleScript_BallThrow + .4byte BattleScript_BallThrow + .4byte BattleScript_BallThrow + .4byte BattleScript_SafariBallThrow + .4byte BattleScript_BallThrow + .4byte BattleScript_BallThrow + .4byte BattleScript_BallThrow + .4byte BattleScript_BallThrow + .4byte BattleScript_BallThrow + .4byte BattleScript_BallThrow + .4byte BattleScript_BallThrow .align 2 -gUnknown_082DBD3C:: @ 82DBD3C - .4byte gUnknown_082DBE12 - .4byte gUnknown_082DBE1C - .4byte gUnknown_082DBE1C - .4byte gUnknown_082DBE4B - .4byte gUnknown_082DBE6F - .4byte gUnknown_082DBE91 +gBattlescriptsForUsingItem:: @ 82DBD3C + .4byte BattleScript_PlayerUsesItem + .4byte BattleScript_OpponentUsesHealItem + .4byte BattleScript_OpponentUsesHealItem + .4byte BattleScript_OpponentUsesStatusCureItem + .4byte BattleScript_OpponentUsesXItem + .4byte BattleScript_OpponentUsesGuardSpecs .align 2 gBattlescriptsForRunningByItem:: @ 82DBD54 @@ -34,55 +41,166 @@ gBattlescriptsForRunningByItem:: @ 82DBD54 .align 2 gBattlescriptsForSafariActions:: @ 82DBD58 - .4byte gUnknown_082DBEBD - .4byte gUnknown_082DBEC4 - .4byte gUnknown_082DBECD - .4byte gUnknown_082DBEE3 + .4byte BattleScript_ActionWatchesCarefully + .4byte BattleScript_ActionGetNear + .4byte BattleScript_ActionThrowPokeblock + .4byte BattleScript_82DBEE3 -gUnknown_082DBD68:: @ 82DBD68 - .incbin "baserom.gba", 0x2dbd68, 0x16 +BattleScript_BallThrow:: + jumpifword CMP_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_WALLY_TUTORIAL, BattleScript_BallThrowByWally + printstring STRINGID_PLAYERUSEDITEM + handleballthrow -gUnknown_082DBD7E:: @ 82DBD7E - .incbin "baserom.gba", 0x2dbd7e, 0x6 +BattleScript_BallThrowByWally:: + printstring STRINGID_WALLYUSEDITEM + handleballthrow -BattleScript_SuccessBallThrow:: @ 82DBD84 - .incbin "baserom.gba", 0x2dbd84, 0x46 +BattleScript_SafariBallThrow:: + printstring STRINGID_PLAYERUSEDITEM + updatestatusicon BS_ATTACKER + handleballthrow -BattleScript_WallyBallThrow:: @ 82DBDCA - .incbin "baserom.gba", 0x2dbdca, 0xa +BattleScript_SuccessBallThrow:: + jumpifhalfword CMP_EQUAL, gLastUsedItem, ITEM_SAFARI_BALL, BattleScript_PrintCaughtMonInfo + incrementgamestat 0xB +BattleScript_PrintCaughtMonInfo:: + printstring STRINGID_GOTCHAPKMNCAUGHT + trysetcaughtmondexflags BattleScript_TryNicknameCaughtMon + printstring STRINGID_PKMNDATAADDEDTODEX + waitstate + setbyte gBattleCommunication, 0x0 + displaydexinfo +BattleScript_TryNicknameCaughtMon:: + printstring STRINGID_GIVENICKNAMECAPTURED + waitstate + setbyte gBattleCommunication, 0x0 + trygivecaughtmonnick BattleScript_GiveCaughtMonEnd + givecaughtmon + printfromtable gCaughtMonStringIds + waitmessage 0x40 + goto BattleScript_SuccessBallThrowEnd +BattleScript_GiveCaughtMonEnd:: + givecaughtmon +BattleScript_SuccessBallThrowEnd:: + setbyte gBattleOutcome, B_OUTCOME_CAUGHT + finishturn -BattleScript_ShakeBallThrow:: @ 82DBDD4 - .incbin "baserom.gba", 0x2dbdd4, 0x2e +BattleScript_WallyBallThrow:: + printstring STRINGID_GOTCHAPKMNCAUGHT2 + setbyte gBattleOutcome, B_OUTCOME_CAUGHT + finishturn -BattleScript_TrainerBallBlock:: @ 82DBE02 - .incbin "baserom.gba", 0x2dbe02, 0x10 +BattleScript_ShakeBallThrow:: + printfromtable gBallEscapeStringIds + waitmessage 0x40 + jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_SAFARI, BattleScript_ShakeBallThrowEnd + jumpifbyte CMP_NOT_EQUAL, gNumSafariBalls, 0x0, BattleScript_ShakeBallThrowEnd + printstring STRINGID_OUTOFSAFARIBALLS + waitmessage 0x40 + setbyte gBattleOutcome, B_OUTCOME_NO_SAFARI_BALLS +BattleScript_ShakeBallThrowEnd:: + finishaction -gUnknown_082DBE12:: @ 82DBE12 - .incbin "baserom.gba", 0x2dbe12, 0xa +BattleScript_TrainerBallBlock:: + waitmessage 0x40 + printstring STRINGID_TRAINERBLOCKEDBALL + waitmessage 0x40 + printstring STRINGID_DONTBEATHIEF + waitmessage 0x40 + finishaction -gUnknown_082DBE1C:: @ 82DBE1C - .incbin "baserom.gba", 0x2dbe1c, 0x2f +BattleScript_PlayerUsesItem:: + setbyte sMOVEEND_STATE, 0xF + moveend 0x1, 0x0 + end -gUnknown_082DBE4B:: @ 82DBE4B - .incbin "baserom.gba", 0x2dbe4b, 0x24 +BattleScript_OpponentUsesHealItem:: + printstring STRINGID_EMPTYSTRING3 + pause 0x30 + playse SE_KAIFUKU + printstring STRINGID_TRAINER1USEDITEM + waitmessage 0x40 + useitemonopponent + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + printstring STRINGID_PKMNSITEMRESTOREDHEALTH + waitmessage 0x40 + updatestatusicon BS_ATTACKER + setbyte sMOVEEND_STATE, 0xF + moveend 0x1, 0x0 + finishaction -gUnknown_082DBE6F:: @ 82DBE6F - .incbin "baserom.gba", 0x2dbe6f, 0x22 +BattleScript_OpponentUsesStatusCureItem:: + printstring STRINGID_EMPTYSTRING3 + pause 0x30 + playse SE_KAIFUKU + printstring STRINGID_TRAINER1USEDITEM + waitmessage 0x40 + useitemonopponent + printfromtable gTrainerItemCuredStatusStringIds + waitmessage 0x40 + updatestatusicon BS_ATTACKER + setbyte sMOVEEND_STATE, 0xF + moveend 0x1, 0x0 + finishaction -gUnknown_082DBE91:: @ 82DBE91 - .incbin "baserom.gba", 0x2dbe91, 0x22 +BattleScript_OpponentUsesXItem:: + printstring STRINGID_EMPTYSTRING3 + pause 0x30 + playse SE_KAIFUKU + printstring STRINGID_TRAINER1USEDITEM + waitmessage 0x40 + useitemonopponent + printfromtable gStatUpStringIds + waitmessage 0x40 + setbyte sMOVEEND_STATE, 0xF + moveend 0x1, 0x0 + finishaction -BattleScript_RunByUsingItem:: @ 82DBEB3 - .incbin "baserom.gba", 0x2dbeb3, 0xA +BattleScript_OpponentUsesGuardSpecs:: + printstring STRINGID_EMPTYSTRING3 + pause 0x30 + playse SE_KAIFUKU + printstring STRINGID_TRAINER1USEDITEM + waitmessage 0x40 + useitemonopponent + printfromtable gMistUsedStringIds + waitmessage 0x40 + setbyte sMOVEEND_STATE, 0xF + moveend 0x1, 0x0 + finishaction -gUnknown_082DBEBD:: @ 82DBEBD - .incbin "baserom.gba", 0x2dbebd, 0x7 +BattleScript_RunByUsingItem:: + playse SE_NIGERU + setbyte gBattleOutcome, B_OUTCOME_RAN + finishturn -gUnknown_082DBEC4:: @ 82DBEC4 - .incbin "baserom.gba", 0x2dbec4, 0x9 +BattleScript_ActionWatchesCarefully:: + printstring STRINGID_PKMNWATCHINGCAREFULLY + waitmessage 0x40 + end2 -gUnknown_082DBECD:: @ 82DBECD - .incbin "baserom.gba", 0x2dbecd, 0x16 +BattleScript_ActionGetNear:: + printfromtable gSafariGetNearStringIds + waitmessage 0x40 + end2 -gUnknown_082DBEE3:: @ 82DBEE3 - .incbin "baserom.gba", 0x2dbee3, 0x15 +BattleScript_ActionThrowPokeblock:: + printstring STRINGID_THREWPOKEBLOCKATPKMN + waitmessage 0x40 + playanimation BS_ATTACKER, B_ANIM_x4, NULL + printfromtable gSafariPokeblockResultStringIds + waitmessage 0x40 + end2 + +BattleScript_82DBEE3:: + printstring STRINGID_RETURNMON + waitmessage 0x40 + returnatktoball + waitstate + trainerslidein BS_TARGET + waitstate + printstring STRINGID_YOUTHROWABALLNOWRIGHT + waitmessage 0x40 + end2 diff --git a/data/battle_setup.s b/data/battle_setup.s deleted file mode 100644 index d5043aae9b..0000000000 --- a/data/battle_setup.s +++ /dev/null @@ -1,190 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_0854FE88:: @ 854FE88 - .byte 0x08, 0x09, 0x05, 0x0a, 0x00, 0x0a, 0x07, 0x06 - -gUnknown_0854FE90:: @ 854FE90 - .byte 0x04, 0x0b, 0x02, 0x03, 0x00, 0x0a, 0x01, 0x06 - -gUnknown_0854FE98:: @ 854FE98 - .byte 0x1d, 0x1e, 0x1f, 0x20, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29 - -gUnknown_0854FEA4:: @ 854FEA4 - .byte 0x1f, 0x20, 0x21 - -gUnknown_0854FEA7:: @ 854FEA7 - .byte 0x1d, 0x1f, 0x20, 0x21, 0x00 - - .align 2 -gUnknown_0854FEAC:: @ 854FEAC - .4byte gUnknown_02038BC8, 0x00000000 - .4byte gTrainerBattleOpponent_A, 0x00000001 - .4byte gUnknown_02038BD0, 0x00000001 - .4byte gUnknown_02038BD4, 0x00000002 - .4byte gUnknown_02038BDC, 0x00000002 - .4byte gUnknown_02038BE4, 0x00000005 - .4byte gUnknown_02038BE8, 0x00000005 - .4byte gUnknown_02038BF0, 0x00000005 - .4byte gUnknown_02038BEC, 0x00000006 - - .align 2 -gUnknown_0854FEF4:: @ 854FEF4 - .4byte gUnknown_02038BC8, 0x00000000 - .4byte gTrainerBattleOpponent_A, 0x00000001 - .4byte gUnknown_02038BD0, 0x00000001 - .4byte gUnknown_02038BD4, 0x00000002 - .4byte gUnknown_02038BDC, 0x00000002 - .4byte gUnknown_02038BE4, 0x00000005 - .4byte gUnknown_02038BE8, 0x00000005 - .4byte gUnknown_02038BF0, 0x00000002 - .4byte gUnknown_02038BEC, 0x00000006 - - .align 2 -gUnknown_0854FF3C:: @ 854FF3C - .4byte gUnknown_02038BC8, 0x00000000 - .4byte gTrainerBattleOpponent_A, 0x00000001 - .4byte gUnknown_02038BD0, 0x00000001 - .4byte gUnknown_02038BD4, 0x00000002 - .4byte gUnknown_02038BDC, 0x00000002 - .4byte gUnknown_02038BE4, 0x00000005 - .4byte gUnknown_02038BE8, 0x00000002 - .4byte gUnknown_02038BF0, 0x00000005 - .4byte gUnknown_02038BEC, 0x00000006 - - .align 2 -gUnknown_0854FF84:: @ 854FF84 - .4byte gUnknown_02038BC8, 0x00000000 - .4byte gTrainerBattleOpponent_A, 0x00000001 - .4byte gUnknown_02038BD0, 0x00000001 - .4byte gUnknown_02038BD4, 0x00000005 - .4byte gUnknown_02038BDC, 0x00000002 - .4byte gUnknown_02038BE4, 0x00000005 - .4byte gUnknown_02038BE8, 0x00000005 - .4byte gUnknown_02038BF0, 0x00000005 - .4byte gUnknown_02038BEC, 0x00000006 - - .align 2 -gUnknown_0854FFCC:: @ 854FFCC - .4byte gUnknown_02038BC8, 0x00000000 - .4byte gTrainerBattleOpponent_A, 0x00000001 - .4byte gUnknown_02038BD0, 0x00000001 - .4byte gUnknown_02038BD4, 0x00000002 - .4byte gUnknown_02038BDC, 0x00000002 - .4byte gUnknown_02038BE4, 0x00000005 - .4byte gUnknown_02038BE8, 0x00000002 - .4byte gUnknown_02038BF0, 0x00000002 - .4byte gUnknown_02038BEC, 0x00000006 - - .align 2 -gUnknown_08550014:: @ 8550014 - .4byte gUnknown_02038BC8, 0x00000000 - .4byte gTrainerBattleOpponent_B, 0x00000001 - .4byte gUnknown_02038BD0, 0x00000001 - .4byte gUnknown_02038BD8, 0x00000002 - .4byte gUnknown_02038BE0, 0x00000002 - .4byte gUnknown_02038BE4, 0x00000005 - .4byte gUnknown_02038BE8, 0x00000005 - .4byte gUnknown_02038BF4, 0x00000005 - .4byte gUnknown_02038BEC, 0x00000006 - - .align 2 -gUnknown_0855005C:: @ 855005C - .4byte gUnknown_02038BC8, 0x00000000 - .4byte gTrainerBattleOpponent_B, 0x00000001 - .4byte gUnknown_02038BD0, 0x00000001 - .4byte gUnknown_02038BD8, 0x00000002 - .4byte gUnknown_02038BE0, 0x00000002 - .4byte gUnknown_02038BE4, 0x00000005 - .4byte gUnknown_02038BE8, 0x00000005 - .4byte gUnknown_02038BF4, 0x00000002 - .4byte gUnknown_02038BEC, 0x00000006 - - .align 2 -gUnknown_085500A4:: @ 85500A4 - .2byte 0x0025, 0x0028, 0x0029, 0x002a, 0x002b, 0x0000, 0x0021, 0x0000 - .2byte 0x02e1, 0x032c, 0x032d, 0x032e, 0x032f, 0x0000, 0x0014, 0x0000 - .2byte 0x002c, 0x002f, 0x0030, 0x0031, 0x0032, 0x0000, 0x001a, 0x0000 - .2byte 0x0039, 0x003c, 0x003d, 0x003e, 0x003f, 0x0000, 0x0018, 0x0000 - .2byte 0x0040, 0x0043, 0x0044, 0x0045, 0x0046, 0x0000, 0x0018, 0x0000 - .2byte 0x02af, 0x02b0, 0x02b1, 0x02b2, 0x02b3, 0x0000, 0x0027, 0x0000 - .2byte 0x02ff, 0x033c, 0x033d, 0x033e, 0x033f, 0x0000, 0x0024, 0x0000 - .2byte 0x005e, 0x0065, 0x0066, 0x0067, 0x0068, 0x0000, 0x001a, 0x0000 - .2byte 0x004e, 0x0054, 0x0055, 0x0056, 0x0057, 0x0000, 0x001a, 0x0000 - .2byte 0x006c, 0x006e, 0x006f, 0x0070, 0x0071, 0x0018, 0x0014, 0x0000 - .2byte 0x0072, 0x0078, 0x0079, 0x007a, 0x007b, 0x0000, 0x0013, 0x0000 - .2byte 0x0090, 0x034c, 0x034d, 0x034e, 0x034f, 0x0018, 0x0038, 0x0000 - .2byte 0x007f, 0x0084, 0x0085, 0x0086, 0x0087, 0x0000, 0x0024, 0x0000 - .2byte 0x0088, 0x008b, 0x008c, 0x008d, 0x008e, 0x0000, 0x0013, 0x0000 - .2byte 0x008f, 0x0093, 0x0094, 0x0095, 0x0096, 0x0000, 0x001d, 0x0000 - .2byte 0x009b, 0x00af, 0x00b0, 0x00b1, 0x00b2, 0x0000, 0x0016, 0x0000 - .2byte 0x00b7, 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x0000, 0x001e, 0x0000 - .2byte 0x02a0, 0x0338, 0x0339, 0x033a, 0x033b, 0x0000, 0x002a, 0x0000 - .2byte 0x00c3, 0x0340, 0x0341, 0x0342, 0x0343, 0x0000, 0x0026, 0x0000 - .2byte 0x00c4, 0x00c5, 0x00c6, 0x00c7, 0x00c8, 0x0000, 0x0021, 0x0000 - .2byte 0x00ce, 0x00cf, 0x00d0, 0x00d1, 0x00d2, 0x0000, 0x001d, 0x0000 - .2byte 0x00d8, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x0018, 0x000d, 0x0000 - .2byte 0x02a9, 0x02aa, 0x02ab, 0x02ac, 0x02ad, 0x0018, 0x0001, 0x0000 - .2byte 0x00e2, 0x00e4, 0x00e5, 0x00e6, 0x00e7, 0x0000, 0x0023, 0x0000 - .2byte 0x00ee, 0x00ef, 0x00f0, 0x00f1, 0x00f2, 0x0000, 0x0026, 0x0000 - .2byte 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x0000, 0x0026, 0x0000 - .2byte 0x00fe, 0x0101, 0x0102, 0x0103, 0x0104, 0x0000, 0x0024, 0x0000 - .2byte 0x0118, 0x011a, 0x011b, 0x011c, 0x011d, 0x0000, 0x001f, 0x0000 - .2byte 0x0111, 0x0114, 0x0115, 0x0116, 0x0117, 0x0000, 0x001f, 0x0000 - .2byte 0x011f, 0x0120, 0x0121, 0x0122, 0x0123, 0x0000, 0x0020, 0x0000 - .2byte 0x012e, 0x012f, 0x0130, 0x0131, 0x0132, 0x0000, 0x0019, 0x0000 - .2byte 0x0125, 0x0127, 0x0128, 0x0129, 0x012a, 0x0000, 0x0012, 0x0000 - .2byte 0x0133, 0x0134, 0x0135, 0x0136, 0x0137, 0x0000, 0x001e, 0x0000 - .2byte 0x0139, 0x013a, 0x013b, 0x013c, 0x013d, 0x0018, 0x000c, 0x0000 - .2byte 0x013e, 0x0148, 0x0149, 0x014a, 0x014b, 0x0000, 0x0011, 0x0000 - .2byte 0x0153, 0x015a, 0x015b, 0x015c, 0x015d, 0x0000, 0x0015, 0x0000 - .2byte 0x0178, 0x017b, 0x017c, 0x017d, 0x017e, 0x0000, 0x002b, 0x0000 - .2byte 0x0171, 0x0172, 0x0173, 0x0174, 0x0175, 0x0000, 0x0020, 0x0000 - .2byte 0x0166, 0x0168, 0x0169, 0x016a, 0x016b, 0x0000, 0x0019, 0x0000 - .2byte 0x016c, 0x016d, 0x016e, 0x016f, 0x0170, 0x0000, 0x0020, 0x0000 - .2byte 0x0182, 0x0184, 0x0185, 0x0186, 0x0187, 0x0000, 0x002b, 0x0000 - .2byte 0x0161, 0x0162, 0x0163, 0x0164, 0x0165, 0x0000, 0x0019, 0x0000 - .2byte 0x0179, 0x0334, 0x0335, 0x0336, 0x0337, 0x0000, 0x0029, 0x0000 - .2byte 0x0188, 0x0189, 0x018a, 0x018b, 0x018c, 0x0018, 0x0001, 0x0000 - .2byte 0x0196, 0x0199, 0x019a, 0x019b, 0x019c, 0x0000, 0x0023, 0x0000 - .2byte 0x01a3, 0x01a5, 0x01a6, 0x01a7, 0x01a8, 0x0000, 0x001c, 0x0000 - .2byte 0x01ab, 0x01ae, 0x01af, 0x01b0, 0x01b1, 0x0000, 0x001e, 0x0000 - .2byte 0x01b2, 0x01b5, 0x01b6, 0x01b7, 0x01b8, 0x0000, 0x001c, 0x0000 - .2byte 0x01c1, 0x01d1, 0x01d2, 0x01d3, 0x01d4, 0x0000, 0x0027, 0x0000 - .2byte 0x01da, 0x01dd, 0x01de, 0x01df, 0x01e0, 0x0018, 0x000d, 0x0000 - .2byte 0x01e1, 0x01e2, 0x01e7, 0x01e8, 0x01e9, 0x0000, 0x0012, 0x0000 - .2byte 0x01ec, 0x01f1, 0x01f2, 0x01f3, 0x01f4, 0x0000, 0x0028, 0x0000 - .2byte 0x02e4, 0x0330, 0x0331, 0x0332, 0x0333, 0x0000, 0x0017, 0x0000 - .2byte 0x0200, 0x0203, 0x0204, 0x0205, 0x0206, 0x0000, 0x0019, 0x0000 - .2byte 0x0221, 0x0224, 0x0225, 0x0226, 0x0227, 0x0000, 0x0020, 0x0000 - .2byte 0x021a, 0x021d, 0x021e, 0x021f, 0x0220, 0x0000, 0x0020, 0x0000 - .2byte 0x0009, 0x0348, 0x0349, 0x034a, 0x034b, 0x0018, 0x0011, 0x0000 - .2byte 0x022f, 0x0232, 0x0233, 0x0234, 0x0235, 0x0000, 0x0022, 0x0000 - .2byte 0x0228, 0x022b, 0x022c, 0x022d, 0x022e, 0x0000, 0x0022, 0x0000 - .2byte 0x025c, 0x025f, 0x0260, 0x0261, 0x0262, 0x0000, 0x0013, 0x0000 - .2byte 0x026d, 0x026e, 0x026f, 0x0270, 0x0271, 0x0018, 0x000b, 0x0000 - .2byte 0x0273, 0x027c, 0x027d, 0x027e, 0x027f, 0x0000, 0x001b, 0x0000 - .2byte 0x0001, 0x0344, 0x0345, 0x0346, 0x0347, 0x0018, 0x000c, 0x0000 - .2byte 0x0282, 0x0283, 0x0284, 0x0285, 0x0286, 0x0018, 0x003e, 0x0000 - .2byte 0x0291, 0x0292, 0x0293, 0x0294, 0x0294, 0x0018, 0x002b, 0x0000 - .2byte 0x0109, 0x0302, 0x0303, 0x0304, 0x0305, 0x0000, 0x0003, 0x0000 - .2byte 0x010a, 0x0306, 0x0307, 0x0308, 0x0309, 0x0000, 0x000b, 0x0000 - .2byte 0x010b, 0x030a, 0x030b, 0x030c, 0x030d, 0x0000, 0x0002, 0x0000 - .2byte 0x010c, 0x030e, 0x030f, 0x0310, 0x0311, 0x0000, 0x000c, 0x0000 - .2byte 0x010d, 0x0312, 0x0313, 0x0314, 0x0315, 0x0000, 0x0000, 0x0000 - .2byte 0x010e, 0x0316, 0x0317, 0x0318, 0x0319, 0x0000, 0x0004, 0x0000 - .2byte 0x010f, 0x031a, 0x031b, 0x031c, 0x031d, 0x0000, 0x0006, 0x0000 - .2byte 0x0110, 0x031e, 0x031f, 0x0320, 0x0321, 0x0000, 0x0007, 0x0000 - .2byte 0x0105, 0x0105, 0x0105, 0x0105, 0x0105, 0x0000, 0x0008, 0x0000 - .2byte 0x0106, 0x0106, 0x0106, 0x0106, 0x0106, 0x0000, 0x0008, 0x0000 - .2byte 0x0107, 0x0107, 0x0107, 0x0107, 0x0107, 0x0000, 0x0008, 0x0000 - .2byte 0x0108, 0x0108, 0x0108, 0x0108, 0x0108, 0x0000, 0x0008, 0x0000 - .2byte 0x014f, 0x014f, 0x014f, 0x014f, 0x014f, 0x0000, 0x0008, 0x0000 - - .align 2 -gUnknown_08550584:: @ 8550584 - .2byte 0x0867, 0x0868, 0x0869, 0x086a, 0x086b, 0x086c, 0x086d, 0x086e - diff --git a/data/battle_tent.s b/data/battle_tent.s index 0fd1f28eaa..06cfac50eb 100644 --- a/data/battle_tent.s +++ b/data/battle_tent.s @@ -3,20 +3,49 @@ .section .rodata + .align 2 gUnknown_086160B4:: @ 86160B4 - .incbin "baserom.gba", 0x6160b4, 0x20 + .4byte sub_81B99D4 + .4byte sub_81B9A28 + .4byte sub_81B9A44 + .4byte sub_81B9A60 + .4byte sub_81B9A90 + .4byte sub_81B9ABC + .4byte sub_81B9B00 + .4byte sub_81B9B28 + .align 2 gUnknown_086160D4:: @ 86160D4 - .incbin "baserom.gba", 0x6160d4, 0x4 + .4byte 0x00000008 + .align 2 gUnknown_086160D8:: @ 86160D8 - .incbin "baserom.gba", 0x6160d8, 0x1c + .4byte sub_81B9BA0 + .4byte sub_81B9BF4 + .4byte sub_81B9C10 + .4byte sub_81B9C2C + .4byte sub_81B9C70 + .4byte sub_81B9C98 + .4byte sub_81B9CF0 + .align 2 gUnknown_086160F4:: @ 86160F4 - .incbin "baserom.gba", 0x6160f4, 0x4 + .4byte 0x00000015 + .align 2 gUnknown_086160F8:: @ 86160F8 - .incbin "baserom.gba", 0x6160f8, 0x28 + .4byte sub_81B9D28 + .4byte sub_81B9D7C + .4byte sub_81B9D98 + .4byte sub_81B9DB4 + .4byte sub_81B9DF8 + .4byte sub_81B9E20 + .4byte sub_81B9E78 + .4byte sub_81B9E88 + .4byte sub_81BA040 + .4byte sub_81B9EC0 + .align 2 gUnknown_08616120:: @ 8616120 - .incbin "baserom.gba", 0x616120, 0x4 + .4byte 0x00000017 + diff --git a/data/battle_tower.s b/data/battle_tower.s index a952e07731..2cc0aa6391 100644 --- a/data/battle_tower.s +++ b/data/battle_tower.s @@ -1,3 +1,9 @@ +#include "constants/easy_chat.h" +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/species.h" +#include "constants/trainers.h" +#include "constants/pokemon.h" .include "asm/macros.inc" .include "constants/constants.inc" @@ -16,34 +22,634 @@ .include "data/battle_frontier/battle_frontier_mons.inc" gUnknown_085DCEDC:: @ 85DCEDC - .incbin "baserom.gba", 0x5dcedc, 0x1e + .byte 0x0e, 0x11, 0x03, 0x15, 0x17, 0x07, 0x0a, 0x19, 0x1a, 0x1b, 0x1d, 0x1e, 0x20, 0x26, 0x29, 0x09, 0x2b, 0x2d, 0x2e, 0x30, 0x32, 0x34, 0x04, 0x35, 0x3a, 0x05, 0x42, 0x44, 0x43, 0x00 gUnknown_085DCEFA:: @ 85DCEFA - .incbin "baserom.gba", 0x5dcefa, 0x14 + .byte 0x0d, 0x10, 0x12, 0x0c, 0x13, 0x14, 0x1f, 0x27, 0x2a, 0x16, 0x2f, 0x31, 0x33, 0x36, 0x37, 0x38, 0x1c, 0x02, 0x45, 0x47 gUnknown_085DCF0E:: @ 85DCF0E - .incbin "baserom.gba", 0x5dcf0e, 0x1e + .byte 0x37, 0x36, 0x21, 0x0f, 0x27, 0x33, 0x2c, 0x42, 0x42, 0x1f, 0x27, 0x25, 0x30, 0x26, 0x19, 0x15, 0x23, 0x32, 0x38, 0x33, 0x33, 0x21, 0x42, 0x05, 0x31, 0x27, 0x41, 0x1f, 0x24, 0x37 gUnknown_085DCF2C:: @ 85DCF2C - .incbin "baserom.gba", 0x5dcf2c, 0x14 + .byte 0x14, 0x35, 0x22, 0x28, 0x14, 0x2d, 0x2f, 0x0e, 0x12, 0x16, 0x39, 0x34, 0x34, 0x0e, 0x22, 0x34, 0x20, 0x14, 0x20, 0x2f gUnknown_085DCF40:: @ 85DCF40 - .incbin "baserom.gba", 0x5dcf40, 0x5c0 + .byte 0x00, 0x0b, 0x01, 0x01, 0x02, 0x06, 0x03, 0x0d, 0x04, 0x0e, 0x05, 0x0f, 0x06, 0x10, 0x07, 0x11, 0x08, 0x03, 0x09, 0x12, 0x0a, 0x0c, 0x0b, 0x13, 0x0c, 0x14, 0x0d, 0x15, 0x0e, 0x17, 0x0f, 0x07 + .byte 0x10, 0x0a, 0x11, 0x19, 0x12, 0x1a, 0x13, 0x1b, 0x14, 0x1d, 0x15, 0x1e, 0x16, 0x1f, 0x17, 0x20, 0x18, 0x21, 0x19, 0x22, 0x1a, 0x23, 0x1b, 0x24, 0x1c, 0x25, 0x1d, 0x26, 0x1e, 0x27, 0x1f, 0x28 + .byte 0x20, 0x29, 0x21, 0x2a, 0x22, 0x09, 0x23, 0x16, 0x24, 0x2b, 0x25, 0x2c, 0x26, 0x2d, 0x27, 0x2e, 0x28, 0x2f, 0x29, 0x30, 0x2a, 0x31, 0x2b, 0x32, 0x2c, 0x33, 0x2d, 0x34, 0x2e, 0x04, 0x2f, 0x35 + .byte 0x30, 0x36, 0x31, 0x37, 0x32, 0x38, 0x33, 0x1c, 0x34, 0x39, 0x35, 0x3a, 0x38, 0x05, 0x39, 0x3b, 0x3a, 0x3c, 0x3b, 0x3d, 0x3c, 0x3e, 0x3d, 0x3f, 0x3e, 0x40, 0x3f, 0x41, 0x40, 0x42, 0x41, 0x02 + .byte 0x42, 0x44, 0x43, 0x45, 0x44, 0x46, 0x45, 0x08, 0x46, 0x18, 0x47, 0x47, 0x48, 0x43, 0x49, 0x00, 0x4a, 0x48, 0x4b, 0x49, 0x4c, 0x4a, 0x00, 0x00 + .align 2 +gUnknown_085DCFD8:: @ 85DCFD8 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244383 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2443E7 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244413 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24444B + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2444D6 + + .align 2 +gUnknown_085DCFEC:: @ 85DCFEC + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2444EF + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24451E + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244549 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24459B + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2445C5 + + .align 2 +gUnknown_085DD000:: @ 85DD000 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2445E8 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244618 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244643 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24468F + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2446B4 + + .align 2 +gUnknown_085DD014:: @ 85DD014 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2446E5 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24474D + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24479E + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24480C + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2448A7 + + .align 2 +gUnknown_085DD028:: @ 85DD028 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2448CD + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2448F5 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244939 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244989 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2449E6 + + .align 2 +gUnknown_085DD03C:: @ 85DD03C + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244A23 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244AA9 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244AD6 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244B52 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244B93 + + .align 2 +gUnknown_085DD050:: @ 85DD050 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244BD2 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244C18 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244C6E + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244CD6 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244D07 + + .align 2 +gUnknown_085DD064:: @ 85DD064 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244D36 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244D82 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244DC6 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244DFE + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244E5B + + .align 2 +gUnknown_085DD078:: @ 85DD078 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244E7E + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244ECA + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244EF4 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244F4F + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244F98 + + .align 2 +gUnknown_085DD08C:: @ 85DD08C + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_244FD3 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245013 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24503D + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245087 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2450C0 + + .align 2 +gUnknown_085DD0A0:: @ 85DD0A0 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2450E6 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245196 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2451BD + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24522F + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24529A + + .align 2 +gUnknown_085DD0B4:: @ 85DD0B4 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2452EF + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2453B4 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245406 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245464 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2454A3 + + .align 2 +gUnknown_085DD0C8:: @ 85DD0C8 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2454D6 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245535 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24555F + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2455EC + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245656 + + .align 2 +gUnknown_085DD0DC:: @ 85DD0DC + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24568A + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2456F5 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245740 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2457D9 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24581F + + .align 2 +gUnknown_085DD0F0:: @ 85DD0F0 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245851 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24589C + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2458CE + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245923 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24597F + + .align 2 +gUnknown_085DD104:: @ 85DD104 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2459BE + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2459F7 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245A5F + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245AB4 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245B3E + + .align 2 +gUnknown_085DD118:: @ 85DD118 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245B79 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245B91 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245BBD + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245C05 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245C2D + + .align 2 +gUnknown_085DD12C:: @ 85DD12C + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245C66 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245C7F + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245CAC + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245CE6 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245D07 + + .align 2 +gUnknown_085DD140:: @ 85DD140 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245D4B + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245D60 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245D8D + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245DC7 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245DF0 + + .align 2 +gUnknown_085DD154:: @ 85DD154 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245E20 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245E41 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245E78 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245EBD + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245EEC + + .align 2 +gUnknown_085DD168:: @ 85DD168 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245F2B + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245F58 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245F87 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_245FC6 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246002 + + .align 2 +gUnknown_085DD17C:: @ 85DD17C + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246020 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246051 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246082 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2460D5 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24610D + + .align 2 +gUnknown_085DD190:: @ 85DD190 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24614A + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24615D + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24617D + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2461C7 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2461F5 + + .align 2 +gUnknown_085DD1A4:: @ 85DD1A4 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24622A + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246244 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24626E + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2462AA + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2462E4 + + .align 2 +gUnknown_085DD1B8:: @ 85DD1B8 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24631F + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24633C + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24636B + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2463C5 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2463FF + + .align 2 +gUnknown_085DD1CC:: @ 85DD1CC + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246449 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246478 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24649D + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2464EE + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246529 + + .align 2 +gUnknown_085DD1E0:: @ 85DD1E0 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246571 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24658C + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2465B5 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246605 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24662A + + .align 2 +gUnknown_085DD1F4:: @ 85DD1F4 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246662 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246686 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2466B4 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2466E6 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24670A + + .align 2 +gUnknown_085DD208:: @ 85DD208 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246741 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246760 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246791 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2467C4 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2467E6 + + .align 2 +gUnknown_085DD21C:: @ 85DD21C + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2467FF + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246831 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246864 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2468A7 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2468FE + + .align 2 +gUnknown_085DD230:: @ 85DD230 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24692B + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24694B + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24697C + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2469B4 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2469F1 + + .align 2 +gUnknown_085DD244:: @ 85DD244 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246A22 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246A4E + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246A85 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246ACF + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246AF7 + + .align 2 +gUnknown_085DD258:: @ 85DD258 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246B2B + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246B3F + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246B6B + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246BB2 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246BE9 + + .align 2 +gUnknown_085DD26C:: @ 85DD26C + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246C22 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246C35 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246C6C + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246CB3 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246CE9 + + .align 2 +gUnknown_085DD280:: @ 85DD280 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246D2D + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246D3F + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246D6A + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246D9E + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246DD3 + + .align 2 +gUnknown_085DD294:: @ 85DD294 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246E1A + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246E39 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246E64 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246EB6 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246EEE + + .align 2 +gUnknown_085DD2A8:: @ 85DD2A8 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246F21 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246F4C + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246F7B + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_246FCC + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247013 + + .align 2 +gUnknown_085DD2BC:: @ 85DD2BC + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24705B + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24707D + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2470B2 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2470FD + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24712A + + .align 2 +gUnknown_085DD2D0:: @ 85DD2D0 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24716C + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24718D + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2471C7 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2471FB + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247238 + + .align 2 +gUnknown_085DD2E4:: @ 85DD2E4 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247268 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247291 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2472C7 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247313 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247348 + + .align 2 +gUnknown_085DD2F8:: @ 85DD2F8 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24737A + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24738F + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2473C6 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2473FB + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247438 + + .align 2 +gUnknown_085DD30C:: @ 85DD30C + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247470 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247484 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2474AF + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2474EC + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24751D + + .align 2 +gUnknown_085DD320:: @ 85DD32 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24754A + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24755C + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24758B + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2475BC + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2475D5 + + .align 2 +gUnknown_085DD334:: @ 85DD334 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24760D + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247629 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247655 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24769B + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2476ED + + .align 2 +gUnknown_085DD348:: @ 85DD348 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247724 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247749 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24777A + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2477CE + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247807 + + .align 2 +gUnknown_085DD35C:: @ 85DD35C + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247838 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247854 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247889 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2478DD + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24790D + + .align 2 +gUnknown_085DD370:: @ 85DD370 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247942 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24795F + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247991 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2479CE + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247A18 + + .align 2 +gUnknown_085DD384:: @ 85DD384 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247A51 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247A76 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247AA1 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247AE3 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247B16 + + .align 2 +gUnknown_085DD398:: @ 85DD398 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247B3E + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247B62 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247B9B + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247BE7 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247C23 + + .align 2 +gUnknown_085DD3AC:: @ 85DD3AC + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247C4E + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247C8C + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247CB2 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247D07 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247D4E + + .align 2 +gUnknown_085DD3C0:: @ 85DD3C0 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247D97 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247DC7 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247DFE + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247E3E + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247E7E + + .align 2 +gUnknown_085DD3D4:: @ 85DD3D4 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247EA1 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247EB5 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247EE9 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247F3F + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247F6D + + .align 2 +gUnknown_085DD3E8:: @ 85DD3E8 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247FA3 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247FB7 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_247FE9 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248031 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24805E + + .align 2 +gUnknown_085DD3FC:: @ 85DD3FC + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24808D + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2480AB + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2480DC + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248128 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248151 + + .align 2 +gUnknown_085DD410:: @ 85DD410 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24818E + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2481A9 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2481E1 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248221 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24824F + + .align 2 +gUnknown_085DD424:: @ 85DD424 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248297 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2482B1 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2482DC + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248321 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24833D + + .align 2 +gUnknown_085DD438:: @ 85DD438 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248369 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24838D + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2483C1 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248401 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248431 + + .align 2 +gUnknown_085DD44C:: @ 85DD44C + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248467 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248477 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2484AC + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2484E7 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248517 + + .align 2 +gUnknown_085DD460:: @ 85DD460 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248553 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24856A + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24857D + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2485E5 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248614 + + .align 2 +gUnknown_085DD474:: @ 85DD474 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24864E + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248661 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248671 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2486C6 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2486FF + + .align 2 +gUnknown_085DD488:: @ 85DD488 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248725 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248751 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248781 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2487C9 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2487F7 + + .align 2 +gUnknown_085DD49C:: @ 85DD49C + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248829 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24885B + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248892 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2488D8 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248908 + + .align 2 +gUnknown_085DD4B0:: @ 85DD4B0 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24894B + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24895F + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_24896F + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2489BD + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_2489E7 + + .align 2 +gUnknown_085DD4C4:: @ 85DD4C4 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248A10 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248A40 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248A72 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248AC0 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248AEB + + .align 2 +gUnknown_085DD4D8:: @ 85DD4D8 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248B22 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248B39 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248B4C + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248BB4 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248BEE + + .align 2 +gUnknown_085DD4EC:: @ 85DD4EC + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248C2E + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248C5B + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248C90 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248CCF + .4byte BattleFrontier_BattleTowerMultiBattleRoom_Text_248D04 + + .align 2 gUnknown_085DD500:: @ 85DD500 - .incbin "baserom.gba", 0x5dd500, 0x190 + .4byte 0x00000047, gUnknown_085DD118 + .4byte 0x0000002b, gUnknown_085DD12C + .4byte 0x00000000, gUnknown_085DD140 + .4byte 0x00000014, gUnknown_085DD154 + .4byte 0x0000002d, gUnknown_085DD168 + .4byte 0x00000013, gUnknown_085DD17C + .4byte 0x0000002f, gUnknown_085DD190 + .4byte 0x00000043, gUnknown_085DD1A4 + .4byte 0x00000026, gUnknown_085DD1B8 + .4byte 0x00000015, gUnknown_085DD1CC + .4byte 0x0000000a, gUnknown_085DD1E0 + .4byte 0x00000010, gUnknown_085DD1F4 + .4byte 0x0000000c, gUnknown_085DD208 + .4byte 0x00000042, gUnknown_085DD21C + .4byte 0x00000031, gUnknown_085DD230 + .4byte 0x00000030, gUnknown_085DD244 + .4byte 0x00000036, gUnknown_085DD258 + .4byte 0x0000002e, gUnknown_085DD26C + .4byte 0x00000011, gUnknown_085DD280 + .4byte 0x00000019, gUnknown_085DD294 + .4byte 0x00000020, gUnknown_085DD2A8 + .4byte 0x00000029, gUnknown_085DD2BC + .4byte 0x00000009, gUnknown_085DD2D0 + .4byte 0x00000016, gUnknown_085DD2E4 + .4byte 0x00000034, gUnknown_085DD2F8 + .4byte 0x00000004, gUnknown_085DD30C + .4byte 0x00000035, gUnknown_085DD320 + .4byte 0x00000037, gUnknown_085DD334 + .4byte 0x0000001d, gUnknown_085DD348 + .4byte 0x0000003a, gUnknown_085DD35C + .4byte 0x00000005, gUnknown_085DD370 + .4byte 0x00000044, gUnknown_085DD384 + .4byte 0x00000045, gUnknown_085DD398 + .4byte 0x0000000d, gUnknown_085DD3AC + .4byte 0x0000000e, gUnknown_085DD3C0 + .4byte 0x00000003, gUnknown_085DD3D4 + .4byte 0x00000012, gUnknown_085DD3E8 + .4byte 0x00000017, gUnknown_085DD3FC + .4byte 0x0000001a, gUnknown_085DD410 + .4byte 0x0000001b, gUnknown_085DD424 + .4byte 0x0000001c, gUnknown_085DD438 + .4byte 0x0000001e, gUnknown_085DD44C + .4byte 0x0000001f, gUnknown_085DD460 + .4byte 0x00000027, gUnknown_085DD474 + .4byte 0x00000002, gUnknown_085DD488 + .4byte 0x0000002a, gUnknown_085DD49C + .4byte 0x00000038, gUnknown_085DD4B0 + .4byte 0x00000032, gUnknown_085DD4C4 + .4byte 0x00000033, gUnknown_085DD4D8 + .4byte 0x00000007, gUnknown_085DD4EC + .align 2 gUnknown_085DD690:: @ 85DD690 - .incbin "baserom.gba", 0x5dd690, 0x40 + .4byte gUnknown_085DCFD8 + .4byte gUnknown_085DCFEC + .4byte gUnknown_085DD000 + .4byte gUnknown_085DD014 + .4byte gUnknown_085DD028 + .4byte gUnknown_085DD03C + .4byte gUnknown_085DD050 + .4byte gUnknown_085DD064 + .4byte gUnknown_085DD078 + .4byte gUnknown_085DD08C + .4byte gUnknown_085DD0A0 + .4byte gUnknown_085DD0B4 + .4byte gUnknown_085DD0C8 + .4byte gUnknown_085DD0DC + .4byte gUnknown_085DD0F0 + .4byte gUnknown_085DD104 gUnknown_085DD6D0:: @ 85DD6D0 - .incbin "baserom.gba", 0x5dd6d0, 0x5 + .byte 0x8f, 0x01, 0x1f, 0x2a, 0x02 gUnknown_085DD6D5:: @ 85DD6D5 - .incbin "baserom.gba", 0x5dd6d5, 0x7 + .byte 0x00, 0xfc, 0xfc, 0x00, 0x06, 0x00, 0x00 + .align 1 gUnknown_085DD6DC:: @ 85DD6DC - .incbin "baserom.gba", 0x5dd6dc, 0x30 + .2byte 0x0071, 0x005e, 0x0073, 0x00e8, 0x00e3, 0x2b1f, 0xfc08, 0x0000, 0x0600, 0x00fc, 0x005c, 0x014c, 0x00b6, 0x00d3, 0x0180, 0x2c1f + .2byte 0x0003, 0x00fc, 0xfc00, 0x0006, 0x0057, 0x00b6, 0x004c, 0x0151 @ 85DD70C .include "data/battle_frontier/slateport_battle_tent_trainer_mons.inc" @@ -72,32 +678,56 @@ gUnknown_085DD6DC:: @ 85DD6DC @ 85DF69C .include "data/battle_frontier/fallarbor_battle_tent_mons.inc" + .align 2 gUnknown_085DF96C:: @ 85DF96C - .incbin "baserom.gba", 0x5df96c, 0x40 + .4byte sub_8161F94 + .4byte sub_8162054 + .4byte sub_81620F4 + .4byte sub_81623F0 + .4byte sub_81621C0 + .4byte sub_816502C + .4byte sub_8164040 + .4byte sub_8163914 + .4byte nullsub_61 + .4byte nullsub_116 + .4byte sub_81642A0 + .4byte sub_8164828 + .4byte sub_8164B74 + .4byte sub_8164DCC + .4byte sub_8164DE4 + .4byte sub_8164E04 + .align 2 gUnknown_085DF9AC:: @ 85DF9AC - .incbin "baserom.gba", 0x5df9ac, 0x20 + .4byte 0x00000001, 0x00000002, 0x00004000, 0x00008000, 0x00010000, 0x00020000, 0x00040000, 0x00080000 + .align 2 gUnknown_085DF9CC:: @ 85DF9CC - .incbin "baserom.gba", 0x5df9cc, 0x20 + .4byte 0xfffffffe, 0xfffffffd, 0xffffbfff, 0xffff7fff, 0xfffeffff, 0xfffdffff, 0xfffbffff, 0xfff7ffff gUnknown_085DF9EC:: @ 85DF9EC - .incbin "baserom.gba", 0x5df9ec, 0xa + .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x08, 0x09, 0x0a, 0x0b, 0x0c gUnknown_085DF9F6:: @ 85DF9F6 - .incbin "baserom.gba", 0x5df9f6, 0x4 + .byte 0x03, 0x04, 0x02, 0x02 + .align 1 gUnknown_085DF9FA:: @ 85DF9FA - .incbin "baserom.gba", 0x5df9fa, 0x20 + .2byte 0x0000, 0x0063, 0x0050, 0x0077, 0x0064, 0x008b, 0x0078, 0x009f, 0x008c, 0x00b3, 0x00a0, 0x00c7, 0x00b4, 0x00db, 0x00c8, 0x012b + .align 1 gUnknown_085DFA1A:: @ 85DFA1A - .incbin "baserom.gba", 0x5dfa1a, 0x28 + .2byte 0x0064, 0x0077, 0x0078, 0x008b, 0x008c, 0x009f, 0x00a0, 0x00b3, 0x00b4, 0x00c7, 0x00c8, 0x00db, 0x00dc, 0x00ef, 0x00c8, 0x012b + .2byte 0x00b3, 0x008d, 0x00c8, 0x00b7 gUnknown_085DFA42:: @ 85DFA42 - .incbin "baserom.gba", 0x5dfa42, 0x4 + .byte 0x03, 0x04, 0x02, 0x02 + .align 1 gUnknown_085DFA46:: @ 85DFA46 - .incbin "baserom.gba", 0x5dfa46, 0xc + .2byte 0x0c3a, 0x0c3a, 0x0c01, 0x0a2a, 0x0607, 0x0c01 + .align 1 gUnknown_085DFA52:: @ 85DFA52 - .incbin "baserom.gba", 0x5dfa52, 0xe + .2byte 0x1039, 0x122e, 0x0c04, 0x0a3d, 0x0630, 0x0c04, 0x0000 + diff --git a/data/berry_blender.s b/data/berry_blender.s deleted file mode 100644 index d3360d4d83..0000000000 --- a/data/berry_blender.s +++ /dev/null @@ -1,167 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_083390D4:: @ 83390D4 - .incbin "baserom.gba", 0x3390d4, 0x20 - -gUnknown_083390F4:: @ 83390F4 - .incbin "baserom.gba", 0x3390f4, 0x400 - -gUnknown_083394F4:: @ 83394F4 - .incbin "baserom.gba", 0x3394f4, 0x246 - -gUnknown_0833973A:: @ 833973A - .incbin "baserom.gba", 0x33973a, 0x61 - -gUnknown_0833979B:: @ 833979B - .incbin "baserom.gba", 0x33979b, 0x2 - -gUnknown_0833979D:: @ 833979D - .incbin "baserom.gba", 0x33979d, 0x33 - -gUnknown_083397D0:: @ 83397D0 - .incbin "baserom.gba", 0x3397d0, 0x4a - -gUnknown_0833981A:: @ 833981A - .incbin "baserom.gba", 0x33981a, 0x17 - -gUnknown_08339831:: @ 8339831 - .incbin "baserom.gba", 0x339831, 0x27 - -gUnknown_08339858:: @ 8339858 - .incbin "baserom.gba", 0x339858, 0x3e - -gUnknown_08339896:: @ 8339896 - .incbin "baserom.gba", 0x339896, 0x1a - -gUnknown_083398B0:: @ 83398B0 - .incbin "baserom.gba", 0x3398b0, 0x2d - -gUnknown_083398DD:: @ 83398DD - .incbin "baserom.gba", 0x3398dd, 0x18 - -gUnknown_083398F5:: @ 83398F5 - .incbin "baserom.gba", 0x3398f5, 0x1f - -gUnknown_08339914:: @ 8339914 - .incbin "baserom.gba", 0x339914, 0x7 - -gUnknown_0833991B:: @ 833991B - .incbin "baserom.gba", 0x33991b, 0x6 - -gUnknown_08339921:: @ 8339921 - .incbin "baserom.gba", 0x339921, 0x7 - -gUnknown_08339928:: @ 8339928 - .incbin "baserom.gba", 0x339928, 0x6 - -gUnknown_0833992E:: @ 833992E - .incbin "baserom.gba", 0x33992e, 0xe - -gUnknown_0833993C:: @ 833993C - .incbin "baserom.gba", 0x33993c, 0x5 - -gUnknown_08339941:: @ 8339941 - .incbin "baserom.gba", 0x339941, 0x2 - -gUnknown_08339943:: @ 8339943 - .incbin "baserom.gba", 0x339943, 0x4 - -gUnknown_08339947:: @ 8339947 - .incbin "baserom.gba", 0x339947, 0x8 - -gUnknown_0833994F:: @ 833994F - .incbin "baserom.gba", 0x33994f, 0xe - -gUnknown_0833995D:: @ 833995D - .incbin "baserom.gba", 0x33995d, 0x13 - -gUnknown_08339970:: @ 8339970 - .incbin "baserom.gba", 0x339970, 0x4 - -gUnknown_08339974:: @ 8339974 - .incbin "baserom.gba", 0x339974, 0xc - -gUnknown_08339980:: @ 8339980 - .incbin "baserom.gba", 0x339980, 0x38 - -gUnknown_083399B8:: @ 83399B8 - .incbin "baserom.gba", 0x3399b8, 0x8 - -gUnknown_083399C0:: @ 83399C0 - .incbin "baserom.gba", 0x3399c0, 0x8 - -gUnknown_083399C8:: @ 83399C8 - .incbin "baserom.gba", 0x3399c8, 0x8 - -gUnknown_083399D0:: @ 83399D0 - .incbin "baserom.gba", 0x3399d0, 0xc - -gUnknown_083399DC:: @ 83399DC - .incbin "baserom.gba", 0x3399dc, 0x8 - -gUnknown_083399E4:: @ 83399E4 - .incbin "baserom.gba", 0x3399e4, 0x3 - -gUnknown_083399E7:: @ 83399E7 - .incbin "baserom.gba", 0x3399e7, 0x5 - -gUnknown_083399EC:: @ 83399EC - .incbin "baserom.gba", 0x3399ec, 0xd4 - -gUnknown_08339AC0:: @ 8339AC0 - .incbin "baserom.gba", 0x339ac0, 0x8 - -gUnknown_08339AC8:: @ 8339AC8 - .incbin "baserom.gba", 0x339ac8, 0x8 - -gUnknown_08339AD0:: @ 8339AD0 - .incbin "baserom.gba", 0x339ad0, 0x8 - -gUnknown_08339AD8:: @ 8339AD8 - .incbin "baserom.gba", 0x339ad8, 0x60 - -gUnknown_08339B38:: @ 8339B38 - .incbin "baserom.gba", 0x339b38, 0x8 - -gUnknown_08339B40:: @ 8339B40 - .incbin "baserom.gba", 0x339b40, 0x98 - -gUnknown_08339BD8:: @ 8339BD8 - .incbin "baserom.gba", 0x339bd8, 0x8 - -gUnknown_08339BE0:: @ 8339BE0 - .incbin "baserom.gba", 0x339be0, 0x44 - -gUnknown_08339C24:: @ 8339C24 - .incbin "baserom.gba", 0x339c24, 0x8 - -gUnknown_08339C2C:: @ 8339C2C - .incbin "baserom.gba", 0x339c2c, 0x2c - -gUnknown_08339C58:: @ 8339C58 - .incbin "baserom.gba", 0x339c58, 0x8 - -gUnknown_08339C60:: @ 8339C60 - .incbin "baserom.gba", 0x339c60, 0x18 - -gUnknown_08339C78:: @ 8339C78 - .incbin "baserom.gba", 0x339c78, 0x28 - -gUnknown_08339CA0:: @ 8339CA0 - .incbin "baserom.gba", 0x339ca0, 0x1e - -gUnknown_08339CBE:: @ 8339CBE - .incbin "baserom.gba", 0x339cbe, 0x5 - -gUnknown_08339CC3:: @ 8339CC3 - .incbin "baserom.gba", 0x339cc3, 0x5 - -gUnknown_08339CC8:: @ 8339CC8 - .incbin "baserom.gba", 0x339cc8, 0x4c - -gUnknown_08339D14:: @ 8339D14 - .incbin "baserom.gba", 0x339d14, 0x8 diff --git a/data/berry_tag_screen.s b/data/berry_tag_screen.s deleted file mode 100644 index 01a44bb14f..0000000000 --- a/data/berry_tag_screen.s +++ /dev/null @@ -1,34 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_085EFCF0:: @ 85EFCF0 - .4byte 0x000001f0, 0x000011e1, 0x000021d2, 0x000031c3 - - .align 2 -gUnknown_085EFD00:: @ 85EFD00 - .incbin "graphics/interface/berry_tag_screen.gbapal" - - .align 2 -gUnknown_085EFD20:: @ 85EFD20 struct TextColor - .byte 0x00, 0x02, 0x03 - - .byte 0x0F, 0x0E, 0x0D - - .align 2 -gUnknown_085EFD28:: @ 85EFD28 - window_template 0x01, 0x0b, 0x04, 0x08, 0x02, 0x0f, 0x0045 - window_template 0x01, 0x0b, 0x07, 0x12, 0x04, 0x0f, 0x0055 - window_template 0x01, 0x04, 0x0e, 0x19, 0x04, 0x0f, 0x009d - window_template 0x00, 0x02, 0x00, 0x08, 0x02, 0x0f, 0x0101 - window_template_terminator - - .align 2 -gBerryFirmnessStringPointers:: @ 85EFD50 - .4byte gBerryFirmnessString_VerySoft - .4byte gBerryFirmnessString_Soft - .4byte gBerryFirmnessString_Hard - .4byte gBerryFirmnessString_VeryHard - .4byte gBerryFirmnessString_SuperHard diff --git a/data/bike.s b/data/bike.s deleted file mode 100644 index ffb33e52b6..0000000000 --- a/data/bike.s +++ /dev/null @@ -1,58 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_0859744C:: @ 859744C - .4byte sub_8119224 - .4byte sub_8119238 - .4byte sub_8119280 - .4byte sub_8119344 - - .align 2 -gUnknown_0859745C:: @ 859745C - .4byte PlayerGoSpeed0 - .4byte PlayerGoSpeed1 - .4byte PlayerGoSpeed3 - - .align 2 -gUnknown_08597468:: @ 8597468 - .4byte sub_81197E4 - .4byte sub_81197F4 - .4byte sub_8119830 - .4byte sub_81198C0 - .4byte sub_81198FC - .4byte sub_8119938 - .4byte sub_8119974 - .4byte sub_81199B0 - .4byte sub_8119A24 - .4byte sub_8119A94 - .4byte sub_8119AA4 - .4byte sub_8119B34 - .4byte sub_8119BC4 - - .align 2 -gUnknown_0859749C:: @ 859749C - .4byte CheckMovementInputAcroBikeNormal - .4byte CheckMovementInputAcroBikeChangingDirection - .4byte CheckMovementInputAcroBikeStandingWheelie - .4byte CheckMovementInputAcroBikeBunnyHop - .4byte CheckMovementInputAcroBikeMovingWheelie - .4byte CheckMovementInputAcroBikeUnknownMode5 - .4byte CheckMovementInputAcroBikeUnknownMode6 - - .align 2 -gUnknown_085974B8:: @ 85974B8 - .2byte 0x0001, 0x0002, 0x0004 - - .align 1 -gUnknown_085974BE:: @ 85974BE - .2byte 0x0004 - - .align 2 -gUnknown_085974C0:: @ 85974C0 - .4byte 0x00000001, 0x00000002, 0x0000000f, 0x0000000f, gUnknown_085974BE, gUnknown_085974BE, 0x00000001 - .4byte 0x00000002, 0x00000002, 0x0000000f, 0x0000000f, gUnknown_085974BE, gUnknown_085974BE, 0x00000002 - .4byte 0x00000003, 0x00000002, 0x0000000f, 0x0000000f, gUnknown_085974BE, gUnknown_085974BE, 0x00000003 - .4byte 0x00000004, 0x00000002, 0x0000000f, 0x0000000f, gUnknown_085974BE, gUnknown_085974BE, 0x00000004 diff --git a/data/cable_car.s b/data/cable_car.s index 23b81cba7b..32a265c97a 100644 --- a/data/cable_car.s +++ b/data/cable_car.s @@ -1,3 +1,4 @@ +#include "constants/map_objects.h" .include "asm/macros.inc" .include "constants/constants.inc" @@ -86,7 +87,7 @@ gMtChimneyHikerGraphicsIDs:: @ 85CDBE6 .byte MAP_OBJ_GFX_HIKER .byte MAP_OBJ_GFX_CAMPER .byte MAP_OBJ_GFX_PICNICKER - .byte MAP_OBJ_GFX_ZIGZAGOON @ not used + .byte MAP_OBJ_GFX_ZIGZAGOON_1 @ not used .align 1 gMtChimneyHikerCoords:: @ 85CDBEA diff --git a/data/contest.s b/data/contest.s index 09754327bc..357a95d1d6 100644 --- a/data/contest.s +++ b/data/contest.s @@ -1,104 +1,412 @@ - .include "asm/macros.inc" +#include "constants/species.h" +#include "constants/moves.h" + .include "asm/macros.inc" .include "constants/constants.inc" .section .rodata .align 2, 0 gUnknown_08587A6C:: @ 8587A6C - .incbin "baserom.gba", 0x587a6c, 0x4 + .byte 0x24, 0x4c, 0x74, 0x9c gUnknown_08587A70:: @ 8587A70 - .incbin "baserom.gba", 0x587a70, 0x4 + .byte 0x24, 0x4c, 0x74, 0x9c + .align 2 gUnknown_08587A74:: @ 8587A74 - .incbin "baserom.gba", 0x587a74, 0x5c + obj_tiles gTiles_8C19450, 0x0020, 0x4e20 -gUnknown_08587AD0:: @ 8587AD0 - .incbin "baserom.gba", 0x587ad0, 0x18 + .align 2 +gOamData_8587A7C:: @ 8587A7C + .2byte 0x0000 + .2byte 0x0000 + .2byte 0x0000 + .align 2 +gSpriteAffineAnim_8587A84:: @ 8587A84 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8587A94:: @ 8587A94 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, -20, 20 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8587AAC:: @ 8587AAC + obj_rot_scal_anim_frame 0x38, 0x38, 0, 0 + obj_rot_scal_anim_frame 0xA, 0xA, 20, 20 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_8587AC4:: @ 8587AC4 + .4byte gSpriteAffineAnim_8587A84 + .4byte gSpriteAffineAnim_8587A94 + .4byte gSpriteAffineAnim_8587AAC + + .align 2 +gSpriteTemplate_8587AD0:: @ 8587AD0 + spr_template 0x4e20, 0xabe0, gOamData_8587A7C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8587AC4, SpriteCallbackDummy + + .align 2 gUnknown_08587AE8:: @ 8587AE8 - .incbin "baserom.gba", 0x587ae8, 0x20 + obj_tiles gContestNextTurnGfx, 0x0100, 0x4e22 + obj_tiles gContestNextTurnGfx, 0x0100, 0x4e23 + obj_tiles gContestNextTurnGfx, 0x0100, 0x4e24 + obj_tiles gContestNextTurnGfx, 0x0100, 0x4e25 + .align 2 gUnknown_08587B08:: @ 8587B08 - .incbin "baserom.gba", 0x587b08, 0x10 + obj_pal gContestPal, 0x4e22 -gUnknown_08587B18:: @ 8587B18 - .incbin "baserom.gba", 0x587b18, 0x68 + .align 2 +gOamData_8587B10:: @ 8587B10 + .2byte 0x4000 + .2byte 0x4000 + .2byte 0x0000 -gUnknown_08587B80:: @ 8587B80 - .incbin "baserom.gba", 0x587b80, 0x30 + .align 2 +gSpriteTemplate_8587B18:: @ 8587B18 + spr_template 0x4e22, 0x4e22, gOamData_8587B10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + spr_template 0x4e23, 0x4e22, gOamData_8587B10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + spr_template 0x4e24, 0x4e22, gOamData_8587B10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + spr_template 0x4e25, 0x4e22, gOamData_8587B10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 +gSubspriteTable_8587B78:: @ 8587B78 + subsprite -28, -4, 0, 0, 32x8 + subsprite 4, -4, 0, 4, 32x8 + + .align 2 +gSubspriteTables_8587B80:: @ 8587B80 + .4byte 2, gSubspriteTable_8587B78 + + .align 2 +gUnknown_08587B88:: @ 8587B88 + obj_tiles gUnknown_08C19168, 0x0180, 0xabe1 + + .align 2 +gOamData_8587B90:: @ 8587B90 + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0000 + + .align 2 +gSpriteTemplate_8587B98:: @ 8587B98 + spr_template 0xabe1, 0xabe0, gOamData_8587B90, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 gUnknown_08587BB0:: @ 8587BB0 - .incbin "baserom.gba", 0x587bb0, 0x8 + obj_tiles gContestApplauseGfx, 0x0400, 0xabe2 + .align 2 gUnknown_08587BB8:: @ 8587BB8 - .incbin "baserom.gba", 0x587bb8, 0x10 + obj_pal gContestPal, 0xabe2 -gUnknown_08587BC8:: @ 8587BC8 - .incbin "baserom.gba", 0x587bc8, 0x20 + .align 2 +gOamData_8587BC0:: @ 8587BC0 + .2byte 0x4000 + .2byte 0xC000 + .2byte 0x0000 -gUnknown_08587BE8:: @ 8587BE8 - .incbin "baserom.gba", 0x587be8, 0x18 + .align 2 +gSpriteTemplate_8587BC8:: @ 8587BC8 + spr_template 0xabe2, 0xabe2, gOamData_8587BC0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 +gOamData_8587BE0:: @ 8587BE0 + .2byte 0x0000 + .2byte 0xC000 + .2byte 0x2C00 + + .align 2 +gSpriteTemplate_8587BE8:: @ 8587BE8 + spr_template 0x4e21, 0x4e21, gOamData_8587BE0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 gUnknown_08587C00:: @ 8587C00 - .incbin "baserom.gba", 0x587c00, 0x8 + obj_tiles gContestJudgeGfx, 0x0800, 0x4e21 + .align 2 gUnknown_08587C08:: @ 8587C08 - .incbin "baserom.gba", 0x587c08, 0x8 + obj_tiles gContestJudgeSymbolsGfx, 0x0380, 0xabe0 + .align 2 gUnknown_08587C10:: @ 8587C10 - .incbin "baserom.gba", 0x587c10, 0x8 + obj_pal gContest3Pal, 0xabe0 -gUnknown_08587C18:: @ 8587C18 - .incbin "baserom.gba", 0x587c18, 0x18 + .align 2 +gSpriteTemplate_8587C18:: @ 8587C18 + spr_template 0xabe0, 0xabe0, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 gUnknown_08587C30:: @ 8587C30 - .incbin "baserom.gba", 0x587c30, 0x20 + .incbin "graphics/unknown/unknown_587C30.gbapal" @ 8587C50 .include "data/text/contest_text_pointers.inc" -@ 8587D5C - .incbin "baserom.gba", 0x587d5c, 0x34 + .align 2 +gUnknown_08587D5C:: @ 8587D5C + .4byte gText_0827D5C1 + .4byte gText_0827D5DC + .4byte gText_0827D600 + .4byte gText_0827D612 + .4byte gText_0827D612 + .4byte gText_0827D62D + .4byte gText_0827D654 + .4byte gText_0827D67E + .4byte gText_0827D69C + .4byte gText_0827D6BA + .4byte gText_0827D6E5 + .4byte gText_0827D706 + .4byte gText_0827D71D + .align 2 gUnknown_08587D90:: @ 8587D90 - .incbin "baserom.gba", 0x587d90, 0x80 + .4byte gText_0827D743 + .4byte gText_0827D764 + .4byte gText_0827D785 + .4byte gText_0827D7A5 + .4byte gText_0827D7C8 + .4byte gText_0827D7E8 + .4byte gText_0827D831 + .4byte gText_0827D855 + .4byte gText_0827D830 + .4byte gText_0827D872 + .4byte gText_0827D88F + .4byte gText_0827D8B5 + .4byte gText_0827D8E4 + .4byte gText_0827D8FE + .4byte gText_0827D926 + .4byte gText_0827D947 + .4byte gText_0827D961 + .4byte gText_0827D986 + .4byte gText_0827D9B1 + .4byte gText_0827D9D9 + .4byte gText_0827DA03 + .4byte gText_0827DA31 + .4byte gText_0827DA5B + .4byte gText_0827DA85 + .4byte gText_0827DAB2 + .4byte gText_0827DADA + .4byte gText_0827DB03 + .4byte gText_0827D830 + .4byte gText_0827D830 + .4byte gText_0827D830 + .4byte gText_0827DB1F + .4byte gText_0827DB4E + .align 2 gUnknown_08587E10:: @ 8587E10 - .incbin "baserom.gba", 0x587e10, 0xf8 + .4byte gText_827DB75 + .4byte gText_827DBB0 + .4byte gText_827DBE0 + .4byte gText_827DC0F + .4byte gText_827DC45 + .4byte gText_827DC7C + .4byte gText_827DCB4 + .4byte gText_827DCE7 + .4byte gText_827DD12 + .4byte gText_827DD3D + .4byte gText_827DD6F + .4byte gText_827DD8E + .4byte gText_827DDC7 + .4byte gText_827DDF2 + .4byte gText_827DE14 + .4byte gText_827DE44 + .4byte gText_827DE73 + .4byte gText_827DEA5 + .4byte gText_827DED9 + .4byte gText_827DF02 + .4byte gText_827DF3A + .4byte gText_827DF63 + .4byte gText_827DF8C + .4byte gText_827DFB8 + .4byte gText_827DFE2 + .4byte gText_827E00C + .4byte gText_827E02F + .4byte gText_827E05F + .4byte gText_827E08B + .4byte gText_827E0B5 + .4byte gText_827E0DD + .4byte gText_827E107 + .4byte gText_827E143 + .4byte gText_827E17F + .4byte gText_827E1BB + .4byte gText_827E1F3 + .4byte gText_827E220 + .4byte gText_827E254 + .4byte gText_827E289 + .4byte gText_827E2C5 + .4byte gText_0827E2FE + .4byte gText_0827E32E + .4byte gText_0827E35B + .4byte gText_0827E38D + .4byte gText_0827E3C1 + .4byte gText_0827E3EB + .4byte gText_0827E416 + .4byte gText_0827E448 + .4byte gText_0827E473 + .4byte gText_0827E4A6 + .4byte gText_0827E4D5 + .4byte gText_0827E504 + .4byte gText_0827E531 + .4byte gText_0827E55A + .4byte gText_0827E5B2 + .4byte gText_0827E5D0 + .4byte gText_0827E606 + .4byte gText_0827E638 + .4byte gText_0827E658 + .4byte gText_0827E68B + .4byte gText_0827E6C4 + .4byte gText_0827E7BA + .align 2 gUnknown_08587F08:: @ 8587F08 - .incbin "baserom.gba", 0x587f08, 0x14 + .4byte gText_0827E85F + .4byte gText_0827E868 + .4byte gText_0827E86F + .4byte gText_0827E878 + .4byte gText_0827E882 + .align 2 gUnknown_08587F1C:: @ 8587F1C - .incbin "baserom.gba", 0x587f1c, 0x18 + .4byte gText_0827E894 + .4byte gText_0827E89E + .4byte gText_0827E8AA + .4byte gText_0827E8B4 + .4byte gText_0827E8BF + .4byte gText_0827E8CA + .align 2 gUnknown_08587F34:: @ 8587F34 - .incbin "baserom.gba", 0x587f34, 0x10 + .4byte 0x00000580, 0x000015e9, 0x000005c2, 0x000031a3 + .align 2 gUnknown_08587F44:: @ 8587F44 - .incbin "baserom.gba", 0x587f44, 0x60 + window_template 0x00, 0x12, 0x00, 0x0c, 0x02, 0x0f, 0x0200 + window_template 0x00, 0x12, 0x05, 0x0c, 0x02, 0x0f, 0x0218 + window_template 0x00, 0x12, 0x0a, 0x0c, 0x02, 0x0f, 0x0230 + window_template 0x00, 0x12, 0x0f, 0x0c, 0x02, 0x0f, 0x0248 + window_template 0x00, 0x01, 0x0f, 0x11, 0x04, 0x0f, 0x0260 + window_template 0x00, 0x01, 0x1f, 0x09, 0x02, 0x0f, 0x02a4 + window_template 0x00, 0x01, 0x21, 0x09, 0x02, 0x0f, 0x02b6 + window_template 0x00, 0x01, 0x23, 0x09, 0x02, 0x0f, 0x02c8 + window_template 0x00, 0x01, 0x25, 0x09, 0x02, 0x0f, 0x02da + window_template 0x00, 0x10, 0x1f, 0x01, 0x02, 0x0f, 0x02ec + window_template 0x00, 0x0b, 0x23, 0x12, 0x04, 0x0f, 0x02ee + null_window_template + .align 2 gUnknown_08587FA4:: @ 8587FA4 - .incbin "baserom.gba", 0x587fa4, 0x100 + .4byte NULL, 0xFFFF + .2byte SPECIES_ELECTRIKE + .byte 2 + .string "ELECTER$", 11 + .string "EZRA$", 8 + .2byte 0 + .4byte NULL, 0xFFFF + .2byte SPECIES_TROPIUS + .byte 0 + .string "TROPO$", 11 + .string "ALLAN$", 8 + .2byte 2 + .4byte NULL, 0xFFFF + .2byte SPECIES_XATU + .byte 1 + .string "TUXA$", 11 + .string "JULIET$", 8 + .2byte 0 + .4byte NULL, 0xFFFF + .2byte SPECIES_PLUSLE + .byte 4 + .string "PULSE$", 11 + .string "BAILY$", 8 + .2byte 3 + .4byte NULL, 0xFFFF + .2byte SPECIES_SHUPPET + .byte 3 + .string "SHUPUP$", 11 + .string "MELANY$", 8 + .2byte 1 + .4byte NULL, 0xFFFF + .2byte SPECIES_ZANGOOSE + .byte 0 + .string "GOOZAN$", 11 + .string "HANA$", 8 + .2byte 2 + .4byte NULL, 0xFFFF + .2byte SPECIES_LOUDRED + .byte 1 + .string "LOUDED$", 11 + .string "BRYANT$", 8 + .2byte 2 + .4byte NULL, 0xFFFF + .2byte SPECIES_DELCATTY + .byte 2 + .string "KITSY$", 11 + .string "OMAR$", 8 + .2byte 3 + + .align 2 gUnknown_085880A4:: @ 85880A4 - .incbin "baserom.gba", 0x5880a4, 0x1740 - -gUnknown_085897E4:: @ 85897E4 - .incbin "baserom.gba", 0x5897e4, 0xc0 + .include "data/contest_opponents.inc" gUnknown_085898A4:: @ 85898A4 - .incbin "baserom.gba", 0x5898a4, 0x60 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02 + .byte 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02 + .align 2 gUnknown_08589904:: @ 8589904 - .incbin "baserom.gba", 0x589904, 0x20 + obj_tiles gBlankGfxCompressed, 0x1000, 0x80e8 + obj_tiles gBlankGfxCompressed, 0x1000, 0x80e9 + obj_tiles gBlankGfxCompressed, 0x1000, 0x80ea + obj_tiles gBlankGfxCompressed, 0x1000, 0x80eb -gUnknown_08589924:: @ 8589924 - .incbin "baserom.gba", 0x589924, 0x68 + .align 2 +gUnknown_08589924:: @ 8589924 Yup this is super dangerous but that's how it is here + obj_pal gHeap + 0x1A0A4, 0x80e8 + obj_pal gHeap + 0x1A0C4, 0x80e9 + obj_pal gHeap + 0x1A0E4, 0x80ea + obj_pal gHeap + 0x1A104, 0x80eb -gUnknown_0858998C:: @ 858998C - .incbin "baserom.gba", 0x58998c, 0x60 + .align 2 +gOamData_8589944:: @ 8589944 + .2byte 0x0700 + .2byte 0xC000 + .2byte 0x0000 + .align 2 +gSpriteAffineAnim_858994C:: @ 858994C + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_858995C:: @ 858995C + obj_rot_scal_anim_frame 0x3, 0x3, 0, 15 + obj_rot_scal_anim_frame 0xFFFD, 0xFFFD, 0, 15 + obj_rot_scal_anim_frame 0x3, 0x3, 0, 15 + obj_rot_scal_anim_frame 0xFFFD, 0xFFFD, 0, 15 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_8589984:: @ 8589984 + .4byte gSpriteAffineAnim_858994C + .4byte gSpriteAffineAnim_858995C + + .align 2 +gSpriteTemplate_858998C:: @ 858998C + spr_template 0x80e8, 0x80e8, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy + spr_template 0x80e9, 0x80e9, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy + spr_template 0x80ea, 0x80ea, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy + spr_template 0x80eb, 0x80eb, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy + + .align 2 gUnknown_085899EC:: @ 85899EC - .incbin "baserom.gba", 0x5899ec, 0x1c + .2byte 0x0001, 0xffff, 0x0000, 0x0001, 0xffff, 0x00ff, 0x0001, 0xffff, 0x00ff, 0x0001, 0xff00, 0x00ff, 0x0001, 0x0000 + + diff --git a/data/contest_link_80F57C4.s b/data/contest_link_80F57C4.s index 7d30cea576..a434eee281 100644 --- a/data/contest_link_80F57C4.s +++ b/data/contest_link_80F57C4.s @@ -1,46 +1,88 @@ -@ the third big chunk of data - .include "asm/macros.inc" .include "constants/constants.inc" .section .rodata - .align 2, 0 + .align 2 gUnknown_0858D6B0:: @ 858D6B0 - .incbin "baserom.gba", 0x58d6b0, 0x20 + .incbin "graphics/unknown/unknown_58D6B0.gbapal" + .align 2 gUnknown_0858D6D0:: @ 858D6D0 - .incbin "baserom.gba", 0x58d6d0, 0x128 + .incbin "graphics/unknown/unknown_58D6D0.4bpp" -gUnknown_0858D7F8:: @ 858D7F8 - .incbin "baserom.gba", 0x58d7f8, 0x18 + .align 2 +gMiscBlank_Pal:: @ 858D7D0 + .incbin "graphics/interface/blank.gbapal" + .align 2 +gOamData_858D7F0:: @ 858D7F0 + .2byte 0x4000 + .2byte 0xC000 + .2byte 0x2C00 + + .align 2 +gSpriteTemplate_858D7F8:: @ 858D7F8 + spr_template 0x0bc1, 0x0bc1, gOamData_858D7F0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 gUnknown_0858D810:: @ 858D810 - .incbin "baserom.gba", 0x58d810, 0x40 + obj_tiles gMiscBlank_Gfx, 0x0400, 0x0bc1 + obj_tiles gMiscBlank_Gfx, 0x0400, 0x0bc2 + obj_tiles gMiscBlank_Gfx, 0x0400, 0x0bc3 + obj_tiles gMiscBlank_Gfx, 0x0400, 0x0bc4 + obj_tiles gMiscBlank_Gfx, 0x0400, 0x0bc5 + obj_tiles gMiscBlank_Gfx, 0x0400, 0x0bc6 + obj_tiles gMiscBlank_Gfx, 0x0400, 0x0bc7 + obj_tiles gMiscBlank_Gfx, 0x0400, 0x0bc8 + .align 2 gUnknown_0858D850:: @ 858D850 - .incbin "baserom.gba", 0x58d850, 0x10 + obj_pal gMiscBlank_Pal, 0x0bc1 -gUnknown_0858D860:: @ 858D860 - .incbin "baserom.gba", 0x58d860, 0x18 + .align 2 +gOamData_858D858:: @ 858D858 + .2byte 0x0000 + .2byte 0x0000 + .2byte 0x0000 + .align 2 +gSpriteTemplate_858D860:: @ 858D860 + spr_template 0x0bc9, 0x0bc9, gOamData_858D858, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80F7768 + + .align 2 gUnknown_0858D878:: @ 858D878 - .incbin "baserom.gba", 0x58d878, 0x8 + obj_tiles gContestConfetti_Gfx, 0x0220, 0x0bc9 + .align 2 gUnknown_0858D880:: @ 858D880 - .incbin "baserom.gba", 0x58d880, 0x8 + obj_pal gContestConfetti_Pal, 0x0bc9 + .align 2 gUnknown_0858D888:: @ 858D888 - .incbin "baserom.gba", 0x58d888, 0x10 + .4byte 0x000001e0, 0x00003181, 0x000031c2, 0x000031a3 + .align 2 gUnknown_0858D898:: @ 858D898 - .incbin "baserom.gba", 0x58d898, 0x30 + window_template 0x01, 0x07, 0x04, 0x0c, 0x02, 0x0f, 0x0302 + window_template 0x01, 0x07, 0x07, 0x0c, 0x02, 0x0f, 0x031a + window_template 0x01, 0x07, 0x0a, 0x0c, 0x02, 0x0f, 0x0332 + window_template 0x01, 0x07, 0x0d, 0x0c, 0x02, 0x0f, 0x034a + null_window_template -gUnknown_0858D8C8:: @ 858D8C8 - .incbin "baserom.gba", 0x58d8c8, 0x18 + .align 2 +gUnknown_0858D8C0:: @ 858D8C0 + .byte 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00 + .align 2 +gSpriteTemplate_858D8C8:: @ 858D8C8 + spr_template 0x56ce, 0x0000, gUnknown_0858D8C0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 gUnknown_0858D8E0:: @ 858D8E0 - .incbin "baserom.gba", 0x58d8e0, 0x8 + obj_tiles gMiscBlank_Gfx, 0x0200, 0x56ce + .align 2 gUnknown_0858D8E8:: @ 858D8E8 - .incbin "baserom.gba", 0x58d8e8, 0x4 + .byte 0x01, 0x0f, 0x0e, 0x00 + diff --git a/data/contest_opponents.inc b/data/contest_opponents.inc new file mode 100644 index 0000000000..9246bac211 --- /dev/null +++ b/data/contest_opponents.inc @@ -0,0 +1,2114 @@ +@todo: cleanup + .2byte SPECIES_POOCHYENA + .string "POOCHY$ " + .string "JIMMY$ " + .byte 7 + .2byte 0 + .4byte 0xc000fff + .2byte 68 + .2byte 46 + .2byte 44 + .2byte 36 + .2byte 336 + .byte 10 + .byte 4 + .byte 10 + .byte 3 + .byte 4 + .byte 50 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_ILLUMISE + .string "MUSILLE$ " + .string "EDITH$ " + .byte 8 + .2byte 0 + .4byte 0x82000fff + .2byte 16 + .2byte 156 + .2byte 263 + .2byte 33 + .2byte 343 + .byte 10 + .byte 10 + .byte 6 + .byte 1 + .byte 2 + .byte 60 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_DUSTOX + .string "DUSTER$ " + .string "EVAN$ " + .byte 11 + .2byte 0 + .4byte 0x21000fff + .2byte 8 + .2byte 318 + .2byte 236 + .2byte 113 + .2byte 16 + .byte 2 + .byte 10 + .byte 10 + .byte 12 + .byte 4 + .byte 70 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SEEDOT + .string "DOTS$ " + .string "KELSEY$ " + .byte 16 + .2byte 0 + .4byte 0x20800fff + .2byte 96 + .2byte 117 + .2byte 235 + .2byte 331 + .2byte 74 + .byte 3 + .byte 3 + .byte 5 + .byte 2 + .byte 7 + .byte 80 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_TAILLOW + .string "TATAY$ " + .string "MADISON$" + .byte 18 + .2byte 0 + .4byte 0x80400fff + .2byte 4 + .2byte 17 + .2byte 97 + .2byte 332 + .2byte 45 + .byte 1 + .byte 3 + .byte 3 + .byte 5 + .byte 4 + .byte 90 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_NINCADA + .string "NINDA$ " + .string "RAYMOND$" + .byte 44 + .2byte 0 + .4byte 0x10200fff + .2byte 32 + .2byte 141 + .2byte 206 + .2byte 154 + .2byte 170 + .byte 5 + .byte 2 + .byte 10 + .byte 7 + .byte 8 + .byte 100 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SHROOMISH + .string "SMISH$ " + .string "GRANT$ " + .byte 35 + .2byte 0 + .4byte 0x20100fff + .2byte 32 + .2byte 78 + .2byte 73 + .2byte 72 + .2byte 213 + .byte 3 + .byte 3 + .byte 10 + .byte 2 + .byte 2 + .byte 50 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SPHEAL + .string "SLEAL$ " + .string "PAIGE$ " + .byte 26 + .2byte 0 + .4byte 0x8080fff + .2byte 24 + .2byte 62 + .2byte 55 + .2byte 45 + .2byte 317 + .byte 3 + .byte 5 + .byte 1 + .byte 10 + .byte 10 + .byte 60 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SLAKOTH + .string "SLOKTH$ " + .string "ALEC$ " + .byte 31 + .2byte 0 + .4byte 0x40040fff + .2byte 88 + .2byte 70 + .2byte 68 + .2byte 281 + .2byte 227 + .byte 10 + .byte 4 + .byte 4 + .byte 5 + .byte 18 + .byte 70 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_WHISMUR + .string "WHIRIS$ " + .string "SYDNEY$ " + .byte 47 + .2byte 0 + .4byte 0x80020fff + .2byte 36 + .2byte 310 + .2byte 103 + .2byte 253 + .2byte 304 + .byte 2 + .byte 2 + .byte 7 + .byte 2 + .byte 7 + .byte 80 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_MAKUHITA + .string "MAHITA$ " + .string "MORRIS$ " + .byte 38 + .2byte 0 + .4byte 0x8010fff + .2byte 68 + .2byte 69 + .2byte 233 + .2byte 33 + .2byte 179 + .byte 9 + .byte 1 + .byte 1 + .byte 8 + .byte 1 + .byte 90 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_ARON + .string "RONAR$ " + .string "MARIAH$ " + .byte 10 + .2byte 0 + .4byte 0x8008fff + .2byte 68 + .2byte 232 + .2byte 334 + .2byte 29 + .2byte 36 + .byte 5 + .byte 10 + .byte 2 + .byte 10 + .byte 2 + .byte 100 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_CROBAT + .string "BATRO$ " + .string "RUSSELL$" + .byte 33 + .2byte 0 + .4byte 0x90004fff + .2byte 56 + .2byte 114 + .2byte 212 + .2byte 109 + .2byte 141 + .byte 4 + .byte 2 + .byte 2 + .byte 2 + .byte 10 + .byte 50 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_GULPIN + .string "GULIN$ " + .string "MELANIE$" + .byte 6 + .2byte 0 + .4byte 0x40002fff + .2byte 16 + .2byte 124 + .2byte 133 + .2byte 92 + .2byte 281 + .byte 1 + .byte 10 + .byte 1 + .byte 10 + .byte 5 + .byte 60 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_MANECTRIC + .string "RIKELEC$ " + .string "CHANCE$ " + .byte 15 + .2byte 0 + .4byte 0x80001fff + .2byte 12 + .2byte 209 + .2byte 86 + .2byte 87 + .2byte 46 + .byte 20 + .byte 10 + .byte 1 + .byte 1 + .byte 1 + .byte 70 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_BULBASAUR + .string "BULBY$ " + .string "AGATHA$ " + .byte 20 + .2byte 0 + .4byte 0xc000fff + .2byte 48 + .2byte 45 + .2byte 73 + .2byte 33 + .2byte 230 + .byte 5 + .byte 3 + .byte 10 + .byte 10 + .byte 4 + .byte 50 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_BUTTERFREE + .string "FUTTERBE$ " + .string "BEAU$ " + .byte 40 + .2byte 0 + .4byte 0x82000fff + .2byte 40 + .2byte 48 + .2byte 18 + .2byte 318 + .2byte 219 + .byte 3 + .byte 10 + .byte 2 + .byte 10 + .byte 4 + .byte 60 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_PIDGEOTTO + .string "PIDEOT$ " + .string "KAY$ " + .byte 34 + .2byte 0 + .4byte 0x21000fff + .2byte 12 + .2byte 119 + .2byte 98 + .2byte 332 + .2byte 297 + .byte 10 + .byte 8 + .byte 4 + .byte 2 + .byte 3 + .byte 70 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_DIGLETT + .string "DIGLE$ " + .string "CALE$ " + .byte 55 + .2byte 0 + .4byte 0x20800fff + .2byte 96 + .2byte 91 + .2byte 89 + .2byte 90 + .2byte 222 + .byte 4 + .byte 2 + .byte 3 + .byte 5 + .byte 10 + .byte 80 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_POLIWAG + .string "WAGIL$ " + .string "CAITLIN$" + .byte 53 + .2byte 0 + .4byte 0x80400fff + .2byte 72 + .2byte 56 + .2byte 240 + .2byte 34 + .2byte 58 + .byte 2 + .byte 10 + .byte 5 + .byte 3 + .byte 10 + .byte 90 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_TOTODILE + .string "TOTDIL$ " + .string "COLBY$ " + .byte 5 + .2byte 0 + .4byte 0x10200fff + .2byte 12 + .2byte 99 + .2byte 103 + .2byte 57 + .2byte 59 + .byte 6 + .byte 10 + .byte 2 + .byte 1 + .byte 5 + .byte 100 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_LEDYBA + .string "BALEDY$ " + .string "KYLIE$ " + .byte 45 + .2byte 0 + .4byte 0x20100fff + .2byte 20 + .2byte 226 + .2byte 97 + .2byte 129 + .2byte 213 + .byte 8 + .byte 6 + .byte 8 + .byte 6 + .byte 2 + .byte 90 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_DELIBIRD + .string "BIRDLY$ " + .string "LIAM$ " + .byte 66 + .2byte 0 + .4byte 0x8080fff + .2byte 112 + .2byte 217 + .2byte 263 + .2byte 264 + .2byte 216 + .byte 4 + .byte 3 + .byte 10 + .byte 5 + .byte 3 + .byte 80 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_LARVITAR + .string "TARVITAR$ " + .string "MILO$ " + .byte 39 + .2byte 0 + .4byte 0x40040fff + .2byte 64 + .2byte 37 + .2byte 259 + .2byte 242 + .2byte 91 + .byte 8 + .byte 5 + .byte 5 + .byte 8 + .byte 10 + .byte 70 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_ROSELIA + .string "RELIA$ " + .string "KARINA$ " + .byte 32 + .2byte 0 + .4byte 0x24000fff + .2byte 41 + .2byte 80 + .2byte 345 + .2byte 320 + .2byte 275 + .byte 50 + .byte 15 + .byte 75 + .byte 10 + .byte 20 + .byte 100 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_DODRIO + .string "DUODO$ " + .string "BOBBY$ " + .byte 51 + .2byte 0 + .4byte 0x82000fff + .2byte 125 + .2byte 64 + .2byte 31 + .2byte 216 + .2byte 45 + .byte 15 + .byte 21 + .byte 15 + .byte 85 + .byte 35 + .byte 110 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_TRAPINCH + .string "PINCHIN$ " + .string "CLAIRE$ " + .byte 8 + .2byte 0 + .4byte 0x81000fff + .2byte 113 + .2byte 44 + .2byte 28 + .2byte 91 + .2byte 185 + .byte 75 + .byte 25 + .byte 25 + .byte 10 + .byte 25 + .byte 120 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_CACNEA + .string "NACAC$ " + .string "WILLIE$ " + .byte 11 + .2byte 0 + .4byte 0x80800fff + .2byte 37 + .2byte 191 + .2byte 43 + .2byte 40 + .2byte 28 + .byte 10 + .byte 30 + .byte 25 + .byte 65 + .byte 25 + .byte 130 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SANDSLASH + .string "SHRAND$ " + .string "CASSIDY$" + .byte 18 + .2byte 0 + .4byte 0x10400fff + .2byte 69 + .2byte 163 + .2byte 111 + .2byte 129 + .2byte 154 + .byte 30 + .byte 90 + .byte 30 + .byte 10 + .byte 100 + .byte 140 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_BALTOY + .string "TOYBAL$ " + .string "MORGAN$ " + .byte 44 + .2byte 0 + .4byte 0x8200fff + .2byte 41 + .2byte 120 + .2byte 317 + .2byte 60 + .2byte 93 + .byte 50 + .byte 40 + .byte 10 + .byte 35 + .byte 35 + .byte 150 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_MEDICHAM + .string "CHAMCHAM$ " + .string "SUMMER$ " + .byte 26 + .2byte 0 + .4byte 0x10100fff + .2byte 77 + .2byte 179 + .2byte 9 + .2byte 7 + .2byte 8 + .byte 40 + .byte 20 + .byte 40 + .byte 40 + .byte 40 + .byte 100 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SPINDA + .string "SPININ$ " + .string "MILES$ " + .byte 31 + .2byte 0 + .4byte 0x80080fff + .2byte 49 + .2byte 298 + .2byte 244 + .2byte 95 + .2byte 253 + .byte 25 + .byte 75 + .byte 25 + .byte 10 + .byte 25 + .byte 110 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SWABLU + .string "SWABY$ " + .string "AUDREY$ " + .byte 47 + .2byte 0 + .4byte 0xa0040fff + .2byte 41 + .2byte 119 + .2byte 195 + .2byte 219 + .2byte 54 + .byte 30 + .byte 30 + .byte 40 + .byte 30 + .byte 25 + .byte 120 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SPOINK + .string "POINKER$ " + .string "AVERY$ " + .byte 38 + .2byte 0 + .4byte 0x80020fff + .2byte 49 + .2byte 150 + .2byte 109 + .2byte 173 + .2byte 156 + .byte 40 + .byte 10 + .byte 30 + .byte 40 + .byte 30 + .byte 130 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_KECLEON + .string "KECON$ " + .string "ARIANA$ " + .byte 10 + .2byte 0 + .4byte 0x80010fff + .2byte 97 + .2byte 168 + .2byte 103 + .2byte 246 + .2byte 20 + .byte 10 + .byte 10 + .byte 40 + .byte 75 + .byte 35 + .byte 140 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_GOLDEEN + .string "GOLDEN$ " + .string "ASHTON$ " + .byte 33 + .2byte 0 + .4byte 0x80008fff + .2byte 13 + .2byte 30 + .2byte 31 + .2byte 32 + .2byte 39 + .byte 70 + .byte 30 + .byte 5 + .byte 30 + .byte 25 + .byte 150 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_BARBOACH + .string "BOBOACH$ " + .string "SANDRA$ " + .byte 6 + .2byte 0 + .4byte 0x80004fff + .2byte 113 + .2byte 300 + .2byte 346 + .2byte 89 + .2byte 248 + .byte 45 + .byte 45 + .byte 60 + .byte 25 + .byte 15 + .byte 100 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SKARMORY + .string "CORPY$ " + .string "CARSON$ " + .byte 35 + .2byte 0 + .4byte 0x8002fff + .2byte 77 + .2byte 129 + .2byte 104 + .2byte 97 + .2byte 15 + .byte 40 + .byte 30 + .byte 25 + .byte 60 + .byte 20 + .byte 110 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_LOTAD + .string "TADO$ " + .string "KATRINA$" + .byte 16 + .2byte 0 + .4byte 0x8001fff + .2byte 57 + .2byte 310 + .2byte 45 + .2byte 240 + .2byte 352 + .byte 15 + .byte 15 + .byte 30 + .byte 15 + .byte 75 + .byte 120 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SLOWBRO + .string "BROWLO$ " + .string "LUKE$ " + .byte 17 + .2byte 0 + .4byte 0xc000fff + .2byte 49 + .2byte 281 + .2byte 50 + .2byte 45 + .2byte 93 + .byte 20 + .byte 40 + .byte 40 + .byte 30 + .byte 20 + .byte 100 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_FARFETCHD + .string "FETCHIN$ " + .string "RAUL$ " + .byte 66 + .2byte 0 + .4byte 0x82000fff + .2byte 21 + .2byte 263 + .2byte 210 + .2byte 19 + .2byte 216 + .byte 40 + .byte 10 + .byte 40 + .byte 20 + .byte 20 + .byte 110 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SEEL + .string "SEELEY$ " + .string "JADA$ " + .byte 20 + .2byte 0 + .4byte 0x21000fff + .2byte 25 + .2byte 213 + .2byte 58 + .2byte 219 + .2byte 45 + .byte 10 + .byte 30 + .byte 40 + .byte 20 + .byte 20 + .byte 120 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_DROWZEE + .string "DROWZIN$ " + .string "ZEEK$ " + .byte 37 + .2byte 0 + .4byte 0x20800fff + .2byte 121 + .2byte 50 + .2byte 248 + .2byte 237 + .2byte 216 + .byte 10 + .byte 40 + .byte 50 + .byte 30 + .byte 45 + .byte 130 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_HITMONCHAN + .string "HITEMON$ " + .string "DIEGO$ " + .byte 21 + .2byte 0 + .4byte 0x80400fff + .2byte 69 + .2byte 327 + .2byte 197 + .2byte 279 + .2byte 5 + .byte 45 + .byte 20 + .byte 10 + .byte 20 + .byte 45 + .byte 140 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_BLISSEY + .string "BLISS$ " + .string "ALIYAH$ " + .byte 85 + .2byte 0 + .4byte 0x10200fff + .2byte 89 + .2byte 47 + .2byte 135 + .2byte 121 + .2byte 38 + .byte 20 + .byte 35 + .byte 40 + .byte 20 + .byte 20 + .byte 150 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_ELEKID + .string "KIDLEK$ " + .string "NATALIA$" + .byte 18 + .2byte 0 + .4byte 0x20100fff + .2byte 21 + .2byte 351 + .2byte 98 + .2byte 103 + .2byte 213 + .byte 40 + .byte 10 + .byte 40 + .byte 25 + .byte 25 + .byte 140 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SNUBBULL + .string "SNUBBINS$ " + .string "DEVIN$ " + .byte 48 + .2byte 0 + .4byte 0x8080fff + .2byte 81 + .2byte 184 + .2byte 269 + .2byte 39 + .2byte 44 + .byte 20 + .byte 20 + .byte 20 + .byte 20 + .byte 20 + .byte 130 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_MISDREAVUS + .string "DREAVIS$ " + .string "TYLOR$ " + .byte 40 + .2byte 0 + .4byte 0x40040fff + .2byte 41 + .2byte 195 + .2byte 212 + .2byte 109 + .2byte 220 + .byte 10 + .byte 35 + .byte 10 + .byte 45 + .byte 20 + .byte 120 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_LAIRON + .string "LAIRN$ " + .string "RONNIE$ " + .byte 55 + .2byte 0 + .4byte 0x84000fff + .2byte 98 + .2byte 319 + .2byte 232 + .2byte 106 + .2byte 36 + .byte 30 + .byte 50 + .byte 35 + .byte 100 + .byte 90 + .byte 200 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SHIFTRY + .string "SHIFTY$ " + .string "CLAUDIA$" + .byte 8 + .2byte 0 + .4byte 0x82000fff + .2byte 14 + .2byte 74 + .2byte 13 + .2byte 153 + .2byte 326 + .byte 75 + .byte 75 + .byte 65 + .byte 35 + .byte 70 + .byte 210 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_NINJASK + .string "NINAS$ " + .string "ELIAS$ " + .byte 11 + .2byte 0 + .4byte 0x81000fff + .2byte 114 + .2byte 103 + .2byte 154 + .2byte 28 + .2byte 226 + .byte 30 + .byte 50 + .byte 95 + .byte 70 + .byte 70 + .byte 220 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SWELLOW + .string "WELOW$ " + .string "JADE$ " + .byte 18 + .2byte 0 + .4byte 0x80800fff + .2byte 14 + .2byte 97 + .2byte 332 + .2byte 17 + .2byte 19 + .byte 65 + .byte 85 + .byte 35 + .byte 75 + .byte 40 + .byte 230 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_MIGHTYENA + .string "YENA$ " + .string "FRANCIS$" + .byte 44 + .2byte 0 + .4byte 0x80400fff + .2byte 98 + .2byte 269 + .2byte 168 + .2byte 316 + .2byte 36 + .byte 40 + .byte 80 + .byte 35 + .byte 70 + .byte 70 + .byte 240 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_BEAUTIFLY + .string "TIFLY$ " + .string "ALISHA$ " + .byte 26 + .2byte 0 + .4byte 0x80200fff + .2byte 42 + .2byte 234 + .2byte 318 + .2byte 78 + .2byte 290 + .byte 40 + .byte 70 + .byte 25 + .byte 80 + .byte 100 + .byte 250 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SEAKING + .string "KINGSEA$ " + .string "SAUL$ " + .byte 31 + .2byte 0 + .4byte 0x80100fff + .2byte 118 + .2byte 175 + .2byte 48 + .2byte 30 + .2byte 31 + .byte 80 + .byte 60 + .byte 30 + .byte 70 + .byte 90 + .byte 200 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_CASTFORM + .string "CASTER$ " + .string "FELICIA$" + .byte 47 + .2byte 0 + .4byte 0x80080fff + .2byte 126 + .2byte 241 + .2byte 311 + .2byte 201 + .2byte 216 + .byte 70 + .byte 80 + .byte 80 + .byte 50 + .byte 65 + .byte 210 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_MACHOKE + .string "CHOKEM$ " + .string "EMILIO$ " + .byte 38 + .2byte 0 + .4byte 0x80040fff + .2byte 70 + .2byte 69 + .2byte 116 + .2byte 2 + .2byte 184 + .byte 70 + .byte 85 + .byte 25 + .byte 60 + .byte 50 + .byte 220 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_LOMBRE + .string "LOMBE$ " + .string "KARLA$ " + .byte 10 + .2byte 0 + .4byte 0x80020fff + .2byte 58 + .2byte 213 + .2byte 148 + .2byte 253 + .2byte 45 + .byte 40 + .byte 60 + .byte 90 + .byte 45 + .byte 70 + .byte 230 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SEVIPER + .string "VIPES$ " + .string "DARRYL$ " + .byte 33 + .2byte 0 + .4byte 0x80010fff + .2byte 98 + .2byte 305 + .2byte 137 + .2byte 35 + .2byte 103 + .byte 35 + .byte 50 + .byte 90 + .byte 40 + .byte 100 + .byte 240 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_WAILMER + .string "MERAIL$ " + .string "SELENA$ " + .byte 22 + .2byte 0 + .4byte 0x80008fff + .2byte 26 + .2byte 352 + .2byte 156 + .2byte 323 + .2byte 150 + .byte 30 + .byte 100 + .byte 100 + .byte 50 + .byte 30 + .byte 250 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_MAGIKARP + .string "KARPAG$ " + .string "NOEL$ " + .byte 35 + .2byte 0 + .4byte 0x80004fff + .2byte 82 + .2byte 33 + .2byte 150 + .2byte 175 + .2byte 33 + .byte 30 + .byte 30 + .byte 160 + .byte 50 + .byte 160 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_LUNATONE + .string "LUNONE$ " + .string "LACEY$ " + .byte 16 + .2byte 0 + .4byte 0x80002fff + .2byte 42 + .2byte 153 + .2byte 248 + .2byte 94 + .2byte 93 + .byte 50 + .byte 70 + .byte 60 + .byte 70 + .byte 50 + .byte 210 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_ABSOL + .string "ABSO$ " + .string "CORBIN$ " + .byte 39 + .2byte 0 + .4byte 0x80001fff + .2byte 14 + .2byte 195 + .2byte 258 + .2byte 63 + .2byte 163 + .byte 95 + .byte 80 + .byte 85 + .byte 35 + .byte 35 + .byte 220 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_EXEGGUTOR + .string "EGGSOR$ " + .string "GRACIE$ " + .byte 32 + .2byte 0 + .4byte 0xc000fff + .2byte 98 + .2byte 23 + .2byte 95 + .2byte 121 + .2byte 285 + .byte 40 + .byte 50 + .byte 60 + .byte 100 + .byte 80 + .byte 200 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_CUBONE + .string "CUBIN$ " + .string "COLTIN$ " + .byte 65 + .2byte 0 + .4byte 0x82000fff + .2byte 82 + .2byte 125 + .2byte 155 + .2byte 198 + .2byte 45 + .byte 40 + .byte 35 + .byte 85 + .byte 35 + .byte 100 + .byte 210 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_HITMONLEE + .string "HITMON$ " + .string "ELLIE$ " + .byte 22 + .2byte 0 + .4byte 0x21000fff + .2byte 70 + .2byte 179 + .2byte 279 + .2byte 116 + .2byte 25 + .byte 85 + .byte 30 + .byte 25 + .byte 50 + .byte 100 + .byte 220 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SQUIRTLE + .string "SURTLE$ " + .string "MARCUS$ " + .byte 49 + .2byte 0 + .4byte 0x20800fff + .2byte 82 + .2byte 39 + .2byte 145 + .2byte 264 + .2byte 110 + .byte 30 + .byte 35 + .byte 100 + .byte 40 + .byte 95 + .byte 230 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_KANGASKHAN + .string "KHANKAN$ " + .string "KIARA$ " + .byte 14 + .2byte 0 + .4byte 0x80400fff + .2byte 70 + .2byte 5 + .2byte 99 + .2byte 264 + .2byte 39 + .byte 100 + .byte 50 + .byte 30 + .byte 50 + .byte 100 + .byte 240 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_PINECO + .string "PINOC$ " + .string "BRYCE$ " + .byte 36 + .2byte 0 + .4byte 0x10200fff + .2byte 42 + .2byte 153 + .2byte 191 + .2byte 113 + .2byte 202 + .byte 80 + .byte 80 + .byte 80 + .byte 80 + .byte 80 + .byte 250 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_DUNSPARCE + .string "DILTOT$ " + .string "JAMIE$ " + .byte 34 + .2byte 0 + .4byte 0x20100fff + .2byte 82 + .2byte 180 + .2byte 281 + .2byte 111 + .2byte 36 + .byte 40 + .byte 35 + .byte 100 + .byte 40 + .byte 110 + .byte 240 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_HOUNDOOM + .string "DOOMOND$ " + .string "JORGE$ " + .byte 48 + .2byte 0 + .4byte 0x8080fff + .2byte 14 + .2byte 46 + .2byte 53 + .2byte 185 + .2byte 241 + .byte 100 + .byte 100 + .byte 30 + .byte 25 + .byte 80 + .byte 230 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_MILTANK + .string "MILKAN$ " + .string "DEVON$ " + .byte 25 + .2byte 0 + .4byte 0x40040fff + .2byte 26 + .2byte 208 + .2byte 215 + .2byte 111 + .2byte 59 + .byte 50 + .byte 110 + .byte 100 + .byte 35 + .byte 40 + .byte 220 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_GYARADOS + .string "RADOS$ " + .string "JUSTINA$" + .byte 32 + .2byte 0 + .4byte 0x84000fff + .2byte 79 + .2byte 63 + .2byte 56 + .2byte 240 + .2byte 44 + .byte 160 + .byte 200 + .byte 20 + .byte 40 + .byte 160 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_LOUDRED + .string "LOUDERD$ " + .string "RALPH$ " + .byte 21 + .2byte 0 + .4byte 0x82000fff + .2byte 71 + .2byte 304 + .2byte 23 + .2byte 46 + .2byte 336 + .byte 170 + .byte 50 + .byte 55 + .byte 150 + .byte 160 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SKITTY + .string "SITTY$ " + .string "ROSA$ " + .byte 8 + .2byte 0 + .4byte 0x81000fff + .2byte 59 + .2byte 213 + .2byte 274 + .2byte 185 + .2byte 39 + .byte 40 + .byte 200 + .byte 150 + .byte 185 + .byte 60 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SLAKING + .string "SLING$ " + .string "KEATON$ " + .byte 11 + .2byte 0 + .4byte 0x80800fff + .2byte 115 + .2byte 343 + .2byte 68 + .2byte 227 + .2byte 303 + .byte 85 + .byte 85 + .byte 170 + .byte 110 + .byte 150 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_ALTARIA + .string "TARIA$ " + .string "MAYRA$ " + .byte 18 + .2byte 0 + .4byte 0x80400fff + .2byte 15 + .2byte 349 + .2byte 63 + .2byte 195 + .2byte 219 + .byte 170 + .byte 150 + .byte 30 + .byte 30 + .byte 90 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_KIRLIA + .string "LIRKI$ " + .string "LAMAR$ " + .byte 15 + .2byte 0 + .4byte 0x80200fff + .2byte 39 + .2byte 351 + .2byte 247 + .2byte 285 + .2byte 216 + .byte 230 + .byte 60 + .byte 60 + .byte 230 + .byte 80 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_BELLOSSOM + .string "BLOSSOM$ " + .string "AUBREY$ " + .byte 26 + .2byte 0 + .4byte 0x80100fff + .2byte 59 + .2byte 80 + .2byte 230 + .2byte 78 + .2byte 148 + .byte 35 + .byte 200 + .byte 150 + .byte 130 + .byte 40 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SABLEYE + .string "EYESAB$ " + .string "NIGEL$ " + .byte 31 + .2byte 0 + .4byte 0x80080fff + .2byte 115 + .2byte 212 + .2byte 185 + .2byte 282 + .2byte 109 + .byte 25 + .byte 35 + .byte 230 + .byte 150 + .byte 160 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_NATU + .string "UTAN$ " + .string "CAMILLE$" + .byte 47 + .2byte 0 + .4byte 0x80040fff + .2byte 115 + .2byte 101 + .2byte 248 + .2byte 109 + .2byte 94 + .byte 35 + .byte 35 + .byte 150 + .byte 130 + .byte 170 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SHARPEDO + .string "PEDOS$ " + .string "DEON$ " + .byte 38 + .2byte 0 + .4byte 0x80020fff + .2byte 87 + .2byte 97 + .2byte 207 + .2byte 269 + .2byte 36 + .byte 140 + .byte 70 + .byte 140 + .byte 75 + .byte 100 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_LUVDISC + .string "LUVIS$ " + .string "JANELLE$" + .byte 10 + .2byte 0 + .4byte 0x80010fff + .2byte 83 + .2byte 186 + .2byte 213 + .2byte 36 + .2byte 204 + .byte 50 + .byte 100 + .byte 220 + .byte 40 + .byte 190 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_HERACROSS + .string "HEROSS$ " + .string "HEATH$ " + .byte 33 + .2byte 0 + .4byte 0x80008fff + .2byte 71 + .2byte 70 + .2byte 203 + .2byte 179 + .2byte 317 + .byte 170 + .byte 70 + .byte 110 + .byte 240 + .byte 140 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_ELECTRODE + .string "RODLECT$ " + .string "SASHA$ " + .byte 6 + .2byte 0 + .4byte 0x80004fff + .2byte 15 + .2byte 153 + .2byte 113 + .2byte 129 + .2byte 148 + .byte 200 + .byte 200 + .byte 30 + .byte 35 + .byte 50 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_PICHU + .string "CHUPY$ " + .string "FRANKIE$" + .byte 35 + .2byte 0 + .4byte 0x80002fff + .2byte 59 + .2byte 186 + .2byte 213 + .2byte 156 + .2byte 39 + .byte 25 + .byte 150 + .byte 180 + .byte 115 + .byte 120 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_WOBBUFFET + .string "WOBET$ " + .string "HELEN$ " + .byte 16 + .2byte 0 + .4byte 0x80001fff + .2byte 111 + .2byte 68 + .2byte 243 + .2byte 219 + .2byte 194 + .byte 60 + .byte 230 + .byte 50 + .byte 220 + .byte 210 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_GENGAR + .string "GAREN$ " + .string "CAMILE$ " + .byte 40 + .2byte 0 + .4byte 0xc000fff + .2byte 71 + .2byte 194 + .2byte 109 + .2byte 122 + .2byte 188 + .byte 200 + .byte 100 + .byte 50 + .byte 80 + .byte 180 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_PORYGON + .string "GONPOR$ " + .string "MARTIN$ " + .byte 46 + .2byte 0 + .4byte 0x82000fff + .2byte 127 + .2byte 176 + .2byte 160 + .2byte 216 + .2byte 278 + .byte 130 + .byte 130 + .byte 130 + .byte 130 + .byte 130 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_DRAGONITE + .string "DRITE$ " + .string "SERGIO$ " + .byte 7 + .2byte 0 + .4byte 0x21000fff + .2byte 71 + .2byte 200 + .2byte 21 + .2byte 239 + .2byte 89 + .byte 150 + .byte 140 + .byte 50 + .byte 120 + .byte 150 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_MEOWTH + .string "MEOWY$ " + .string "KAILEY$ " + .byte 6 + .2byte 0 + .4byte 0x20800fff + .2byte 51 + .2byte 45 + .2byte 269 + .2byte 6 + .2byte 44 + .byte 125 + .byte 110 + .byte 180 + .byte 170 + .byte 80 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_JYNX + .string "NYX$ " + .string "PERLA$ " + .byte 45 + .2byte 0 + .4byte 0x80400fff + .2byte 43 + .2byte 195 + .2byte 212 + .2byte 142 + .2byte 313 + .byte 100 + .byte 150 + .byte 100 + .byte 150 + .byte 120 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_TOGEPI + .string "GEPITO$ " + .string "CLARA$ " + .byte 20 + .2byte 0 + .4byte 0x10200fff + .2byte 19 + .2byte 45 + .2byte 281 + .2byte 227 + .2byte 266 + .byte 80 + .byte 120 + .byte 200 + .byte 120 + .byte 80 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_ESPEON + .string "SPEON$ " + .string "JAKOB$ " + .byte 37 + .2byte 0 + .4byte 0x20100fff + .2byte 15 + .2byte 129 + .2byte 98 + .2byte 234 + .2byte 39 + .byte 180 + .byte 150 + .byte 100 + .byte 80 + .byte 150 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_SLOWKING + .string "SLOWGO$ " + .string "TREY$ " + .byte 49 + .2byte 0 + .4byte 0x8080fff + .2byte 83 + .2byte 263 + .2byte 174 + .2byte 281 + .2byte 264 + .byte 100 + .byte 80 + .byte 200 + .byte 110 + .byte 170 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + .2byte SPECIES_URSARING + .string "URSING$ " + .string "LANE$ " + .byte 44 + .2byte 0 + .4byte 0x40040fff + .2byte 71 + .2byte 37 + .2byte 332 + .2byte 313 + .2byte 43 + .byte 180 + .byte 140 + .byte 30 + .byte 80 + .byte 190 + .byte 255 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0x0 + .4byte 0xffff + diff --git a/data/contest_painting.s b/data/contest_painting.s index 728649dec6..42d76f9bcf 100644 --- a/data/contest_painting.s +++ b/data/contest_painting.s @@ -4,61 +4,103 @@ .include "constants/constants.inc" .section .rodata - .align 2, 0 + .align 2 gUnknown_085A989C:: @ 85A989C - .incbin "baserom.gba", 0x5a989c, 0x200 + .incbin "graphics/picture_frame/bg.gbapal" + .align 2 gUnknown_085A9A9C:: @ 85A9A9C - .incbin "baserom.gba", 0x5a9a9c, 0x1084 + .incbin "graphics/picture_frame/frame0.4bpp.rl" + .align 2 gUnknown_085AAB20:: @ 85AAB20 - .incbin "baserom.gba", 0x5aab20, 0xc30 + .incbin "graphics/picture_frame/frame1.4bpp.rl" + .align 2 gUnknown_085AB750:: @ 85AB750 - .incbin "baserom.gba", 0x5ab750, 0xb38 + .incbin "graphics/picture_frame/frame2.4bpp.rl" + .align 2 gUnknown_085AC288:: @ 85AC288 - .incbin "baserom.gba", 0x5ac288, 0xfb8 + .incbin "graphics/picture_frame/frame3.4bpp.rl" + .align 2 gUnknown_085AD240:: @ 85AD240 - .incbin "baserom.gba", 0x5ad240, 0x1130 + .incbin "graphics/picture_frame/frame4.4bpp.rl" + .align 2 gUnknown_085AE370:: @ 85AE370 - .incbin "baserom.gba", 0x5ae370, 0x604 + .incbin "graphics/picture_frame/frame5.4bpp.rl" + .align 2 gUnknown_085AE974:: @ 85AE974 - .incbin "baserom.gba", 0x5ae974, 0x50c + .incbin "graphics/picture_frame/frame0_map.bin.rl" + .align 2 gUnknown_085AEE80:: @ 85AEE80 - .incbin "baserom.gba", 0x5aee80, 0x50c + .incbin "graphics/picture_frame/frame1_map.bin.rl" + .align 2 gUnknown_085AF38C:: @ 85AF38C - .incbin "baserom.gba", 0x5af38c, 0x50c + .incbin "graphics/picture_frame/frame2_map.bin.rl" + .align 2 gUnknown_085AF898:: @ 85AF898 - .incbin "baserom.gba", 0x5af898, 0x50c + .incbin "graphics/picture_frame/frame3_map.bin.rl" + .align 2 gUnknown_085AFDA4:: @ 85AFDA4 - .incbin "baserom.gba", 0x5afda4, 0x50c + .incbin "graphics/picture_frame/frame4_map.bin.rl" + .align 2 gUnknown_085B02B0:: @ 85B02B0 - .incbin "baserom.gba", 0x5b02b0, 0x524 + .incbin "graphics/picture_frame/frame5_map.bin.rl" -gUnknown_085B07D4:: @ 85B07D4 - .incbin "baserom.gba", 0x5b07d4, 0x14 + .align 2 +gUnknown_085B07C0:: @ 85B07C0 + .4byte gContestCoolness + .4byte gContestBeauty + .4byte gContestCuteness + .4byte gContestSmartness + .4byte gContestToughness + .align 2 +gContestRankTextPointers:: @ 85B07D4 + .4byte gContestRankNormal + .4byte gContestRankSuper + .4byte gContestRankHyper + .4byte gContestRankMaster + .4byte gContestLink + + .align 2 gUnknown_085B07E8:: @ 85B07E8 - .incbin "baserom.gba", 0x5b07e8, 0x4 + .4byte 0x000010a5 + .align 2 gUnknown_085B07EC:: @ 85B07EC - .incbin "baserom.gba", 0x5b07ec, 0x8 + window_template 0x01, 0x02, 0x0e, 0x1a, 0x04, 0x0f, 0x0001 -gUnknown_085B07F4:: @ 85B07F4 - .incbin "baserom.gba", 0x5b07f4, 0x3c + .align 2 +gContestPaintingDescriptionPointers:: @ 85B07F4 + .4byte gContestPaintingCool1 + .4byte gContestPaintingCool2 + .4byte gContestPaintingCool3 + .4byte gContestPaintingBeauty1 + .4byte gContestPaintingBeauty2 + .4byte gContestPaintingBeauty3 + .4byte gContestPaintingCute1 + .4byte gContestPaintingCute2 + .4byte gContestPaintingCute3 + .4byte gContestPaintingSmart1 + .4byte gContestPaintingSmart2 + .4byte gContestPaintingSmart3 + .4byte gContestPaintingTough1 + .4byte gContestPaintingTough2 + .4byte gContestPaintingTough3 gUnknown_085B0830:: @ 85B0830 - .incbin "baserom.gba", 0x5b0830, 0x8 + .4byte 0xc0003000, 0x00000000 gUnknown_085B0838:: @ 85B0838 - .incbin "baserom.gba", 0x5b0838, 0x4 + .2byte 0x0000, 0x0000 diff --git a/data/coord_event_weather.s b/data/coord_event_weather.s deleted file mode 100644 index 907a7c09f9..0000000000 --- a/data/coord_event_weather.s +++ /dev/null @@ -1,8 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_085102E0:: @ 85102E0 - .incbin "baserom.gba", 0x5102e0, 0x68 diff --git a/data/credits.s b/data/credits.s index cc75915a0a..a5c0837d1e 100644 --- a/data/credits.s +++ b/data/credits.s @@ -1493,7 +1493,7 @@ gUnknown_085E6F68:: @ 85E6F68 struct BgTemplate .align 2 gUnknown_085E6F6C:: @ 85E6F6C window_template 0x00, 0x00, 0x09, 0x1e, 0x0c, 0x08, 0x0001 - window_template_terminator + null_window_template .align 2 gUnknown_085E6F7C:: @ 85E6F7C diff --git a/data/cute_sketch.s b/data/cute_sketch.s index 8a8ee14811..d14b51a515 100644 --- a/data/cute_sketch.s +++ b/data/cute_sketch.s @@ -5,4 +5,304 @@ .align 2, 0 gUnknown_085A1F94:: @ 85A1F94 - .incbin "baserom.gba", 0x5a1f94, 0x2580 + .byte 0x00, 0x1d, 0x1c, 0x0e, 0x1e, 0x1b, 0x00, 0x01, 0x32, 0x2e, 0x1e, 0x37, 0x0a, 0x22, 0x1f, 0x05, 0x26, 0x2e, 0x12, 0x17, 0x1e, 0x1a, 0x03, 0x11, 0x05, 0x11, 0x18, 0x05, 0x27, 0x2f, 0x1a, 0x3f + .byte 0x12, 0x22, 0x3f, 0x16, 0x2b, 0x2f, 0x2e, 0x11, 0x02, 0x2d, 0x23, 0x0d, 0x28, 0x17, 0x0c, 0x19, 0x2f, 0x0e, 0x13, 0x30, 0x18, 0x20, 0x2d, 0x28, 0x22, 0x01, 0x03, 0x19, 0x0e, 0x2a, 0x2b, 0x22 + .byte 0x15, 0x25, 0x22, 0x0a, 0x26, 0x39, 0x06, 0x23, 0x16, 0x07, 0x2f, 0x22, 0x3a, 0x1b, 0x3b, 0x36, 0x35, 0x0a, 0x2b, 0x24, 0x36, 0x09, 0x12, 0x1c, 0x2f, 0x23, 0x2e, 0x38, 0x2c, 0x05, 0x2a, 0x20 + .byte 0x07, 0x14, 0x32, 0x31, 0x08, 0x17, 0x1a, 0x24, 0x2d, 0x22, 0x0a, 0x16, 0x1b, 0x26, 0x2b, 0x29, 0x16, 0x11, 0x35, 0x08, 0x14, 0x1e, 0x08, 0x14, 0x05, 0x31, 0x14, 0x38, 0x31, 0x17, 0x34, 0x33 + .byte 0x12, 0x11, 0x09, 0x1f, 0x28, 0x3d, 0x32, 0x35, 0x03, 0x1e, 0x3c, 0x2b, 0x2e, 0x10, 0x01, 0x17, 0x03, 0x3e, 0x22, 0x17, 0x18, 0x34, 0x08, 0x29, 0x19, 0x03, 0x24, 0x28, 0x3d, 0x33, 0x2f, 0x31 + .byte 0x24, 0x19, 0x1b, 0x18, 0x26, 0x07, 0x0d, 0x25, 0x2d, 0x3f, 0x12, 0x2f, 0x15, 0x25, 0x29, 0x0f, 0x12, 0x07, 0x2c, 0x12, 0x2c, 0x0b, 0x26, 0x12, 0x1a, 0x16, 0x00, 0x0b, 0x2f, 0x16, 0x35, 0x24 + .byte 0x1f, 0x1c, 0x22, 0x29, 0x33, 0x27, 0x3b, 0x30, 0x17, 0x11, 0x06, 0x35, 0x3e, 0x31, 0x2f, 0x11, 0x3a, 0x25, 0x2a, 0x02, 0x19, 0x33, 0x18, 0x35, 0x2a, 0x20, 0x21, 0x2e, 0x32, 0x1b, 0x3b, 0x1f + .byte 0x23, 0x39, 0x29, 0x2a, 0x2e, 0x31, 0x29, 0x2a, 0x0e, 0x2d, 0x2d, 0x00, 0x1f, 0x38, 0x28, 0x1b, 0x14, 0x3b, 0x2b, 0x2e, 0x04, 0x26, 0x36, 0x30, 0x11, 0x3b, 0x21, 0x2d, 0x2b, 0x3f, 0x1b, 0x20 + .byte 0x13, 0x31, 0x33, 0x0c, 0x30, 0x22, 0x2b, 0x2b, 0x16, 0x02, 0x1e, 0x1c, 0x12, 0x1c, 0x0f, 0x3c, 0x36, 0x38, 0x10, 0x2d, 0x18, 0x2f, 0x2d, 0x35, 0x3b, 0x11, 0x37, 0x31, 0x13, 0x13, 0x3d, 0x2f + .byte 0x1e, 0x2c, 0x33, 0x2e, 0x37, 0x12, 0x3c, 0x1f, 0x33, 0x32, 0x2a, 0x27, 0x0d, 0x3b, 0x1c, 0x35, 0x2a, 0x27, 0x09, 0x3d, 0x27, 0x12, 0x0b, 0x18, 0x0c, 0x15, 0x1d, 0x20, 0x01, 0x1c, 0x08, 0x3b + .byte 0x1c, 0x12, 0x37, 0x33, 0x15, 0x03, 0x2c, 0x2a, 0x3b, 0x31, 0x0f, 0x04, 0x35, 0x08, 0x17, 0x33, 0x38, 0x3d, 0x2a, 0x2f, 0x35, 0x16, 0x10, 0x35, 0x16, 0x23, 0x13, 0x2c, 0x2f, 0x06, 0x20, 0x27 + .byte 0x3a, 0x24, 0x00, 0x1c, 0x2a, 0x03, 0x39, 0x1d, 0x28, 0x07, 0x1a, 0x20, 0x0a, 0x37, 0x07, 0x35, 0x2d, 0x15, 0x2f, 0x2c, 0x10, 0x2c, 0x23, 0x3f, 0x29, 0x14, 0x2a, 0x21, 0x36, 0x34, 0x1a, 0x2c + .byte 0x1c, 0x3d, 0x33, 0x38, 0x2b, 0x22, 0x35, 0x28, 0x1f, 0x3d, 0x0f, 0x1c, 0x1e, 0x3e, 0x1b, 0x0c, 0x3e, 0x1f, 0x2b, 0x31, 0x2c, 0x32, 0x39, 0x11, 0x05, 0x09, 0x11, 0x04, 0x38, 0x2a, 0x32, 0x00 + .byte 0x16, 0x13, 0x0b, 0x31, 0x34, 0x2a, 0x13, 0x2c, 0x22, 0x21, 0x39, 0x2f, 0x15, 0x37, 0x28, 0x1e, 0x07, 0x3b, 0x2d, 0x11, 0x03, 0x28, 0x2d, 0x30, 0x1e, 0x31, 0x11, 0x11, 0x23, 0x01, 0x1e, 0x3d + .byte 0x31, 0x34, 0x1c, 0x02, 0x34, 0x21, 0x0e, 0x25, 0x3d, 0x07, 0x17, 0x33, 0x15, 0x10, 0x29, 0x32, 0x32, 0x18, 0x1f, 0x30, 0x2d, 0x3b, 0x30, 0x27, 0x3e, 0x16, 0x31, 0x15, 0x12, 0x30, 0x25, 0x17 + .byte 0x33, 0x06, 0x34, 0x00, 0x29, 0x18, 0x3c, 0x03, 0x12, 0x2c, 0x0c, 0x11, 0x09, 0x30, 0x30, 0x10, 0x0e, 0x11, 0x27, 0x16, 0x1b, 0x0c, 0x3b, 0x2e, 0x2b, 0x33, 0x1e, 0x13, 0x2d, 0x2d, 0x11, 0x24 + .byte 0x29, 0x34, 0x3e, 0x2b, 0x24, 0x1e, 0x21, 0x27, 0x1a, 0x2d, 0x04, 0x39, 0x16, 0x3e, 0x33, 0x26, 0x1b, 0x2e, 0x25, 0x0c, 0x06, 0x19, 0x25, 0x19, 0x18, 0x1d, 0x33, 0x33, 0x1d, 0x28, 0x2d, 0x1c + .byte 0x10, 0x2a, 0x1f, 0x35, 0x1e, 0x34, 0x02, 0x10, 0x2b, 0x3a, 0x14, 0x0d, 0x0b, 0x15, 0x0c, 0x2c, 0x10, 0x37, 0x3a, 0x19, 0x06, 0x13, 0x17, 0x24, 0x10, 0x25, 0x24, 0x04, 0x1e, 0x00, 0x35, 0x34 + .byte 0x3a, 0x00, 0x37, 0x3c, 0x07, 0x1a, 0x2b, 0x28, 0x36, 0x34, 0x39, 0x2f, 0x28, 0x09, 0x1f, 0x38, 0x31, 0x30, 0x16, 0x25, 0x31, 0x18, 0x28, 0x31, 0x18, 0x0c, 0x22, 0x06, 0x39, 0x2d, 0x3d, 0x20 + .byte 0x24, 0x2e, 0x27, 0x21, 0x3e, 0x18, 0x18, 0x15, 0x3c, 0x24, 0x06, 0x1b, 0x26, 0x15, 0x0e, 0x22, 0x0a, 0x0d, 0x1f, 0x18, 0x16, 0x34, 0x10, 0x28, 0x21, 0x20, 0x11, 0x11, 0x36, 0x32, 0x15, 0x3b + .byte 0x2e, 0x24, 0x1f, 0x2d, 0x12, 0x36, 0x2e, 0x20, 0x0b, 0x17, 0x33, 0x26, 0x03, 0x1f, 0x08, 0x19, 0x31, 0x2a, 0x18, 0x25, 0x35, 0x2d, 0x2d, 0x30, 0x38, 0x18, 0x1c, 0x25, 0x14, 0x1c, 0x22, 0x28 + .byte 0x08, 0x23, 0x21, 0x26, 0x1e, 0x30, 0x19, 0x0f, 0x15, 0x10, 0x2f, 0x22, 0x12, 0x02, 0x25, 0x3c, 0x01, 0x1d, 0x0e, 0x14, 0x18, 0x0d, 0x18, 0x17, 0x22, 0x0b, 0x31, 0x13, 0x34, 0x21, 0x0f, 0x2d + .byte 0x36, 0x39, 0x1f, 0x25, 0x18, 0x10, 0x1f, 0x2d, 0x20, 0x20, 0x19, 0x0b, 0x31, 0x33, 0x13, 0x14, 0x2e, 0x11, 0x21, 0x2d, 0x0a, 0x37, 0x07, 0x15, 0x1b, 0x32, 0x04, 0x32, 0x06, 0x18, 0x1b, 0x13 + .byte 0x24, 0x12, 0x36, 0x22, 0x16, 0x1d, 0x29, 0x1c, 0x35, 0x17, 0x21, 0x36, 0x17, 0x2b, 0x35, 0x32, 0x19, 0x2a, 0x0f, 0x2e, 0x10, 0x00, 0x34, 0x02, 0x0e, 0x28, 0x31, 0x32, 0x32, 0x3b, 0x05, 0x20 + .byte 0x36, 0x26, 0x12, 0x34, 0x06, 0x34, 0x1e, 0x31, 0x32, 0x35, 0x05, 0x34, 0x1e, 0x13, 0x15, 0x15, 0x14, 0x2c, 0x29, 0x1c, 0x18, 0x24, 0x24, 0x12, 0x22, 0x29, 0x18, 0x34, 0x36, 0x30, 0x1e, 0x01 + .byte 0x23, 0x0c, 0x3c, 0x24, 0x0a, 0x3d, 0x16, 0x27, 0x1e, 0x23, 0x15, 0x02, 0x12, 0x11, 0x19, 0x2a, 0x1d, 0x31, 0x15, 0x03, 0x3b, 0x2a, 0x21, 0x19, 0x2c, 0x0a, 0x23, 0x11, 0x25, 0x11, 0x1a, 0x1a + .byte 0x0a, 0x34, 0x3b, 0x0b, 0x33, 0x21, 0x0b, 0x37, 0x01, 0x31, 0x28, 0x35, 0x1d, 0x27, 0x2c, 0x30, 0x31, 0x2e, 0x39, 0x2d, 0x30, 0x05, 0x2c, 0x12, 0x2a, 0x2b, 0x39, 0x22, 0x20, 0x15, 0x34, 0x1c + .byte 0x1c, 0x01, 0x15, 0x20, 0x16, 0x22, 0x13, 0x04, 0x18, 0x1e, 0x13, 0x10, 0x25, 0x33, 0x15, 0x39, 0x03, 0x31, 0x3f, 0x36, 0x18, 0x14, 0x23, 0x10, 0x2f, 0x1e, 0x1f, 0x1f, 0x17, 0x2c, 0x02, 0x16 + .byte 0x31, 0x20, 0x18, 0x30, 0x2e, 0x18, 0x37, 0x3b, 0x0e, 0x30, 0x10, 0x39, 0x24, 0x26, 0x39, 0x1e, 0x30, 0x26, 0x2e, 0x12, 0x01, 0x14, 0x37, 0x2a, 0x2e, 0x21, 0x06, 0x1d, 0x2a, 0x16, 0x32, 0x09 + .byte 0x38, 0x1c, 0x07, 0x22, 0x17, 0x3b, 0x2d, 0x15, 0x07, 0x1e, 0x2e, 0x1b, 0x2e, 0x1d, 0x04, 0x09, 0x30, 0x30, 0x2d, 0x37, 0x2d, 0x34, 0x24, 0x18, 0x24, 0x25, 0x0e, 0x2d, 0x26, 0x23, 0x0a, 0x16 + .byte 0x12, 0x2d, 0x11, 0x21, 0x28, 0x2e, 0x0f, 0x01, 0x21, 0x01, 0x31, 0x12, 0x3f, 0x1b, 0x1e, 0x21, 0x25, 0x2b, 0x26, 0x18, 0x13, 0x15, 0x2d, 0x34, 0x23, 0x21, 0x36, 0x0e, 0x2e, 0x1c, 0x14, 0x22 + .byte 0x1c, 0x2c, 0x0b, 0x28, 0x1a, 0x18, 0x21, 0x21, 0x07, 0x1a, 0x24, 0x26, 0x29, 0x2b, 0x0a, 0x34, 0x3e, 0x27, 0x33, 0x12, 0x34, 0x1b, 0x1f, 0x01, 0x2a, 0x2e, 0x06, 0x23, 0x2f, 0x1f, 0x14, 0x18 + .byte 0x06, 0x26, 0x31, 0x1f, 0x2b, 0x22, 0x26, 0x2e, 0x1e, 0x15, 0x16, 0x20, 0x22, 0x28, 0x15, 0x37, 0x12, 0x25, 0x04, 0x2c, 0x1f, 0x04, 0x2e, 0x0c, 0x13, 0x18, 0x07, 0x0b, 0x36, 0x1d, 0x1c, 0x2a + .byte 0x30, 0x22, 0x1c, 0x2e, 0x12, 0x2f, 0x2b, 0x21, 0x1e, 0x16, 0x38, 0x30, 0x04, 0x02, 0x16, 0x05, 0x14, 0x20, 0x38, 0x3c, 0x33, 0x21, 0x1b, 0x2f, 0x14, 0x2a, 0x27, 0x38, 0x14, 0x1b, 0x2b, 0x1f + .byte 0x2b, 0x29, 0x2b, 0x25, 0x27, 0x36, 0x21, 0x11, 0x22, 0x1b, 0x29, 0x03, 0x1b, 0x18, 0x24, 0x28, 0x21, 0x2d, 0x36, 0x3c, 0x2c, 0x24, 0x33, 0x17, 0x1f, 0x2a, 0x3a, 0x21, 0x0a, 0x23, 0x37, 0x00 + .byte 0x0b, 0x21, 0x11, 0x38, 0x19, 0x0f, 0x0e, 0x1c, 0x1f, 0x0f, 0x37, 0x3c, 0x10, 0x37, 0x38, 0x31, 0x35, 0x07, 0x15, 0x28, 0x1e, 0x2e, 0x19, 0x26, 0x10, 0x33, 0x3d, 0x35, 0x2f, 0x3a, 0x04, 0x34 + .byte 0x0d, 0x18, 0x1a, 0x01, 0x2d, 0x15, 0x3d, 0x1a, 0x17, 0x17, 0x3f, 0x32, 0x0b, 0x21, 0x11, 0x1e, 0x26, 0x2b, 0x0d, 0x19, 0x24, 0x2e, 0x04, 0x1b, 0x1b, 0x33, 0x20, 0x15, 0x21, 0x1d, 0x1f, 0x04 + .byte 0x21, 0x0f, 0x12, 0x1f, 0x2d, 0x2a, 0x32, 0x03, 0x37, 0x1f, 0x35, 0x07, 0x27, 0x24, 0x1f, 0x31, 0x2f, 0x30, 0x15, 0x06, 0x00, 0x24, 0x0b, 0x22, 0x1a, 0x0c, 0x3b, 0x29, 0x14, 0x1a, 0x17, 0x37 + .byte 0x20, 0x25, 0x3f, 0x26, 0x37, 0x3a, 0x3e, 0x10, 0x22, 0x04, 0x11, 0x28, 0x12, 0x1c, 0x03, 0x2e, 0x2e, 0x0e, 0x38, 0x28, 0x01, 0x29, 0x22, 0x1e, 0x33, 0x19, 0x06, 0x21, 0x27, 0x33, 0x19, 0x1a + .byte 0x02, 0x05, 0x17, 0x11, 0x11, 0x2c, 0x1f, 0x26, 0x1e, 0x39, 0x1f, 0x28, 0x2e, 0x2f, 0x12, 0x22, 0x34, 0x13, 0x3b, 0x26, 0x2f, 0x34, 0x00, 0x14, 0x10, 0x31, 0x11, 0x1d, 0x2d, 0x2a, 0x08, 0x08 + .byte 0x37, 0x15, 0x18, 0x34, 0x04, 0x2b, 0x24, 0x2f, 0x1e, 0x27, 0x22, 0x2a, 0x24, 0x07, 0x14, 0x25, 0x01, 0x27, 0x19, 0x29, 0x0a, 0x29, 0x3d, 0x1c, 0x2f, 0x0d, 0x1f, 0x1c, 0x24, 0x3d, 0x32, 0x36 + .byte 0x1d, 0x24, 0x14, 0x21, 0x16, 0x1a, 0x0d, 0x29, 0x3f, 0x2b, 0x2a, 0x1a, 0x3e, 0x35, 0x11, 0x28, 0x18, 0x32, 0x05, 0x15, 0x21, 0x2e, 0x34, 0x2d, 0x14, 0x2a, 0x3c, 0x08, 0x37, 0x3f, 0x34, 0x1e + .byte 0x27, 0x24, 0x1c, 0x16, 0x16, 0x33, 0x29, 0x3b, 0x19, 0x36, 0x2f, 0x1c, 0x03, 0x25, 0x2c, 0x0b, 0x16, 0x36, 0x1c, 0x1d, 0x1b, 0x2c, 0x27, 0x1b, 0x0b, 0x1f, 0x2b, 0x08, 0x10, 0x27, 0x3f, 0x25 + .byte 0x2f, 0x33, 0x13, 0x1f, 0x04, 0x31, 0x37, 0x0e, 0x2f, 0x12, 0x08, 0x23, 0x20, 0x3a, 0x1a, 0x1e, 0x2f, 0x0b, 0x1f, 0x1e, 0x20, 0x19, 0x23, 0x3b, 0x14, 0x25, 0x00, 0x27, 0x14, 0x04, 0x25, 0x36 + .byte 0x1a, 0x2b, 0x27, 0x21, 0x15, 0x28, 0x13, 0x2c, 0x0e, 0x3c, 0x35, 0x0c, 0x2d, 0x2b, 0x37, 0x16, 0x15, 0x29, 0x15, 0x1d, 0x17, 0x34, 0x36, 0x09, 0x0a, 0x31, 0x37, 0x22, 0x28, 0x17, 0x2b, 0x35 + .byte 0x14, 0x2b, 0x12, 0x08, 0x13, 0x1f, 0x31, 0x13, 0x28, 0x06, 0x07, 0x35, 0x23, 0x3a, 0x29, 0x0f, 0x24, 0x2e, 0x07, 0x35, 0x26, 0x0e, 0x12, 0x15, 0x23, 0x33, 0x2c, 0x0e, 0x21, 0x26, 0x1c, 0x12 + .byte 0x25, 0x23, 0x1d, 0x2f, 0x04, 0x35, 0x33, 0x16, 0x01, 0x24, 0x3d, 0x2c, 0x2e, 0x35, 0x0a, 0x25, 0x11, 0x13, 0x25, 0x1b, 0x1b, 0x15, 0x15, 0x39, 0x10, 0x0b, 0x35, 0x24, 0x3a, 0x27, 0x30, 0x2e + .byte 0x2f, 0x15, 0x10, 0x1f, 0x35, 0x1b, 0x28, 0x35, 0x26, 0x30, 0x37, 0x34, 0x37, 0x2b, 0x0f, 0x30, 0x29, 0x2e, 0x3f, 0x2b, 0x38, 0x34, 0x2b, 0x2b, 0x2f, 0x25, 0x0d, 0x28, 0x2a, 0x33, 0x18, 0x10 + .byte 0x21, 0x12, 0x11, 0x1f, 0x22, 0x34, 0x11, 0x25, 0x23, 0x21, 0x3f, 0x11, 0x26, 0x27, 0x25, 0x28, 0x36, 0x12, 0x15, 0x26, 0x32, 0x11, 0x18, 0x24, 0x32, 0x25, 0x37, 0x27, 0x3a, 0x33, 0x35, 0x07 + .byte 0x1c, 0x1a, 0x0e, 0x2a, 0x1e, 0x2f, 0x1f, 0x00, 0x2e, 0x21, 0x1b, 0x3c, 0x14, 0x2f, 0x3a, 0x2f, 0x3e, 0x38, 0x15, 0x1a, 0x13, 0x2f, 0x29, 0x0d, 0x2f, 0x37, 0x17, 0x18, 0x30, 0x1c, 0x35, 0x15 + .byte 0x34, 0x14, 0x28, 0x11, 0x2c, 0x2c, 0x25, 0x2a, 0x20, 0x3f, 0x28, 0x0c, 0x34, 0x1b, 0x30, 0x2e, 0x25, 0x37, 0x1c, 0x24, 0x1f, 0x25, 0x26, 0x0c, 0x19, 0x34, 0x18, 0x10, 0x35, 0x0a, 0x13, 0x11 + .byte 0x25, 0x13, 0x20, 0x13, 0x19, 0x11, 0x20, 0x28, 0x1d, 0x3e, 0x30, 0x1b, 0x23, 0x24, 0x21, 0x0d, 0x23, 0x23, 0x1d, 0x28, 0x2e, 0x2d, 0x12, 0x1f, 0x0e, 0x2e, 0x2b, 0x0b, 0x31, 0x32, 0x24, 0x3c + .byte 0x2c, 0x13, 0x3c, 0x12, 0x28, 0x16, 0x2a, 0x05, 0x0c, 0x32, 0x39, 0x0b, 0x32, 0x21, 0x04, 0x14, 0x10, 0x31, 0x32, 0x12, 0x1f, 0x23, 0x39, 0x2e, 0x2e, 0x22, 0x3d, 0x27, 0x0c, 0x1e, 0x18, 0x25 + .byte 0x00, 0x17, 0x06, 0x31, 0x14, 0x13, 0x21, 0x1a, 0x14, 0x20, 0x35, 0x0a, 0x3b, 0x25, 0x33, 0x08, 0x28, 0x3d, 0x02, 0x33, 0x23, 0x00, 0x13, 0x22, 0x21, 0x28, 0x30, 0x14, 0x2e, 0x14, 0x32, 0x36 + .byte 0x39, 0x23, 0x1e, 0x1c, 0x11, 0x30, 0x37, 0x16, 0x30, 0x15, 0x31, 0x1f, 0x34, 0x28, 0x2c, 0x35, 0x05, 0x29, 0x37, 0x33, 0x2a, 0x1c, 0x17, 0x2e, 0x10, 0x06, 0x16, 0x32, 0x1f, 0x2f, 0x00, 0x29 + .byte 0x1e, 0x04, 0x01, 0x16, 0x3b, 0x23, 0x1e, 0x1b, 0x34, 0x2a, 0x30, 0x11, 0x2b, 0x03, 0x00, 0x1f, 0x1d, 0x37, 0x1a, 0x3a, 0x18, 0x25, 0x1c, 0x16, 0x2c, 0x04, 0x3f, 0x33, 0x26, 0x23, 0x2d, 0x15 + .byte 0x2c, 0x27, 0x02, 0x35, 0x27, 0x07, 0x35, 0x33, 0x1a, 0x0c, 0x10, 0x28, 0x26, 0x2c, 0x2f, 0x36, 0x16, 0x37, 0x0b, 0x27, 0x1b, 0x3d, 0x18, 0x27, 0x1f, 0x20, 0x2b, 0x2a, 0x33, 0x0b, 0x0f, 0x20 + .byte 0x35, 0x3c, 0x2f, 0x33, 0x21, 0x15, 0x2d, 0x26, 0x34, 0x1f, 0x1a, 0x21, 0x2f, 0x2c, 0x2a, 0x1a, 0x32, 0x1a, 0x3b, 0x3f, 0x21, 0x13, 0x3f, 0x13, 0x0f, 0x24, 0x22, 0x14, 0x1b, 0x10, 0x21, 0x06 + .byte 0x28, 0x25, 0x34, 0x10, 0x2e, 0x0e, 0x14, 0x3c, 0x3e, 0x25, 0x16, 0x06, 0x30, 0x0b, 0x04, 0x1f, 0x3e, 0x02, 0x24, 0x0c, 0x17, 0x25, 0x2b, 0x3c, 0x2d, 0x15, 0x36, 0x33, 0x18, 0x23, 0x2a, 0x1d + .byte 0x10, 0x2a, 0x35, 0x17, 0x28, 0x00, 0x37, 0x24, 0x0a, 0x3b, 0x15, 0x1d, 0x0b, 0x1f, 0x3c, 0x31, 0x25, 0x1d, 0x0f, 0x1d, 0x20, 0x13, 0x34, 0x11, 0x2b, 0x2e, 0x23, 0x0c, 0x2e, 0x24, 0x02, 0x14 + .byte 0x31, 0x16, 0x19, 0x0e, 0x23, 0x35, 0x1a, 0x10, 0x16, 0x14, 0x04, 0x19, 0x2d, 0x27, 0x37, 0x33, 0x02, 0x31, 0x02, 0x04, 0x16, 0x0d, 0x22, 0x25, 0x25, 0x00, 0x16, 0x2a, 0x3f, 0x26, 0x20, 0x0c + .byte 0x12, 0x2f, 0x2e, 0x35, 0x1b, 0x0d, 0x22, 0x1e, 0x01, 0x34, 0x05, 0x22, 0x21, 0x34, 0x2a, 0x32, 0x0b, 0x09, 0x1d, 0x3f, 0x32, 0x2f, 0x3d, 0x18, 0x2d, 0x0b, 0x38, 0x36, 0x39, 0x17, 0x28, 0x34 + .byte 0x04, 0x24, 0x36, 0x0e, 0x2a, 0x38, 0x01, 0x14, 0x3c, 0x24, 0x22, 0x21, 0x03, 0x18, 0x32, 0x2f, 0x12, 0x29, 0x24, 0x31, 0x0a, 0x3b, 0x12, 0x1a, 0x1c, 0x20, 0x30, 0x31, 0x1b, 0x1a, 0x21, 0x10 + .byte 0x05, 0x29, 0x10, 0x26, 0x2d, 0x13, 0x16, 0x0c, 0x1d, 0x2b, 0x06, 0x1b, 0x06, 0x12, 0x14, 0x38, 0x0f, 0x35, 0x23, 0x3a, 0x2c, 0x00, 0x19, 0x33, 0x29, 0x14, 0x2d, 0x2a, 0x21, 0x29, 0x14, 0x31 + .byte 0x14, 0x1a, 0x06, 0x1e, 0x18, 0x1b, 0x28, 0x3b, 0x16, 0x29, 0x15, 0x1e, 0x12, 0x34, 0x0a, 0x14, 0x1b, 0x05, 0x27, 0x0b, 0x01, 0x26, 0x2a, 0x22, 0x35, 0x21, 0x20, 0x18, 0x20, 0x37, 0x17, 0x14 + .byte 0x1f, 0x11, 0x1d, 0x11, 0x25, 0x24, 0x2b, 0x2f, 0x07, 0x3f, 0x1f, 0x2c, 0x25, 0x25, 0x2a, 0x29, 0x18, 0x11, 0x24, 0x28, 0x31, 0x2c, 0x2a, 0x39, 0x0b, 0x26, 0x28, 0x10, 0x26, 0x22, 0x06, 0x16 + .byte 0x09, 0x2c, 0x13, 0x34, 0x19, 0x15, 0x3a, 0x12, 0x21, 0x1d, 0x38, 0x23, 0x12, 0x25, 0x24, 0x21, 0x30, 0x12, 0x37, 0x1a, 0x12, 0x24, 0x3b, 0x25, 0x32, 0x15, 0x23, 0x0d, 0x1a, 0x10, 0x16, 0x2e + .byte 0x26, 0x1d, 0x14, 0x16, 0x3e, 0x2e, 0x1f, 0x0a, 0x16, 0x10, 0x1d, 0x30, 0x2b, 0x04, 0x3a, 0x19, 0x08, 0x2d, 0x2e, 0x28, 0x1e, 0x33, 0x0a, 0x12, 0x2e, 0x0d, 0x03, 0x2f, 0x26, 0x3a, 0x1e, 0x35 + .byte 0x3b, 0x2a, 0x03, 0x1a, 0x18, 0x3f, 0x0b, 0x27, 0x04, 0x05, 0x34, 0x36, 0x0b, 0x27, 0x3b, 0x17, 0x11, 0x0d, 0x27, 0x26, 0x2c, 0x1f, 0x20, 0x26, 0x10, 0x20, 0x25, 0x23, 0x2d, 0x37, 0x09, 0x13 + .byte 0x14, 0x17, 0x2d, 0x2e, 0x3d, 0x23, 0x1d, 0x1a, 0x1f, 0x21, 0x33, 0x2e, 0x28, 0x17, 0x13, 0x26, 0x3c, 0x36, 0x14, 0x1a, 0x33, 0x32, 0x20, 0x2b, 0x19, 0x3e, 0x20, 0x0c, 0x02, 0x2d, 0x3c, 0x3c + .byte 0x2a, 0x30, 0x30, 0x28, 0x25, 0x3f, 0x1e, 0x03, 0x17, 0x1e, 0x35, 0x11, 0x1c, 0x1b, 0x14, 0x2a, 0x28, 0x3a, 0x23, 0x0e, 0x1f, 0x12, 0x36, 0x21, 0x20, 0x07, 0x3b, 0x10, 0x23, 0x19, 0x34, 0x0d + .byte 0x2e, 0x18, 0x3f, 0x20, 0x25, 0x3e, 0x3b, 0x15, 0x0b, 0x2e, 0x12, 0x37, 0x0b, 0x23, 0x3d, 0x32, 0x1f, 0x16, 0x03, 0x27, 0x14, 0x0c, 0x21, 0x18, 0x03, 0x30, 0x3e, 0x21, 0x13, 0x0f, 0x00, 0x32 + .byte 0x3f, 0x23, 0x16, 0x0e, 0x31, 0x1d, 0x18, 0x1c, 0x1d, 0x30, 0x0e, 0x1e, 0x21, 0x20, 0x23, 0x3f, 0x0c, 0x1e, 0x14, 0x33, 0x22, 0x22, 0x21, 0x15, 0x36, 0x05, 0x1e, 0x1d, 0x31, 0x14, 0x20, 0x11 + .byte 0x37, 0x0d, 0x33, 0x19, 0x25, 0x05, 0x36, 0x1e, 0x31, 0x20, 0x35, 0x3a, 0x2f, 0x32, 0x2f, 0x30, 0x14, 0x23, 0x2d, 0x35, 0x1e, 0x29, 0x05, 0x05, 0x1b, 0x09, 0x1f, 0x26, 0x2f, 0x0b, 0x15, 0x15 + .byte 0x11, 0x13, 0x29, 0x1b, 0x18, 0x1c, 0x13, 0x35, 0x34, 0x31, 0x23, 0x27, 0x3f, 0x2f, 0x09, 0x30, 0x19, 0x23, 0x12, 0x34, 0x02, 0x2a, 0x21, 0x09, 0x3c, 0x1d, 0x0c, 0x02, 0x10, 0x22, 0x05, 0x17 + .byte 0x22, 0x08, 0x1b, 0x0a, 0x0f, 0x15, 0x02, 0x11, 0x13, 0x01, 0x21, 0x22, 0x16, 0x39, 0x33, 0x24, 0x38, 0x34, 0x0f, 0x1e, 0x2b, 0x2b, 0x15, 0x15, 0x20, 0x22, 0x2e, 0x3a, 0x3f, 0x31, 0x1a, 0x27 + .byte 0x2b, 0x29, 0x34, 0x14, 0x16, 0x39, 0x2f, 0x13, 0x3e, 0x16, 0x36, 0x21, 0x30, 0x00, 0x24, 0x2b, 0x24, 0x21, 0x30, 0x15, 0x31, 0x13, 0x10, 0x37, 0x24, 0x08, 0x07, 0x23, 0x21, 0x09, 0x25, 0x05 + .byte 0x3c, 0x32, 0x19, 0x03, 0x25, 0x0f, 0x29, 0x2b, 0x16, 0x07, 0x13, 0x3e, 0x3d, 0x25, 0x36, 0x0b, 0x28, 0x2e, 0x2b, 0x16, 0x0c, 0x31, 0x11, 0x30, 0x13, 0x2d, 0x26, 0x3e, 0x37, 0x29, 0x2f, 0x2e + .byte 0x15, 0x3d, 0x17, 0x1c, 0x2e, 0x21, 0x33, 0x2f, 0x10, 0x0d, 0x05, 0x1d, 0x1c, 0x1a, 0x12, 0x0e, 0x18, 0x37, 0x1b, 0x11, 0x14, 0x06, 0x14, 0x21, 0x31, 0x0e, 0x27, 0x1a, 0x03, 0x10, 0x00, 0x34 + .byte 0x31, 0x3f, 0x0b, 0x1d, 0x0f, 0x12, 0x1f, 0x1a, 0x15, 0x10, 0x0f, 0x00, 0x24, 0x3e, 0x0a, 0x2a, 0x30, 0x2b, 0x24, 0x26, 0x31, 0x10, 0x2d, 0x2f, 0x2f, 0x3f, 0x0c, 0x13, 0x12, 0x0b, 0x16, 0x15 + .byte 0x07, 0x1f, 0x28, 0x10, 0x32, 0x0f, 0x17, 0x15, 0x0b, 0x27, 0x33, 0x34, 0x1d, 0x10, 0x1c, 0x3a, 0x12, 0x2c, 0x27, 0x37, 0x0a, 0x1a, 0x32, 0x05, 0x1f, 0x21, 0x24, 0x0d, 0x1f, 0x1c, 0x17, 0x24 + .byte 0x2f, 0x3b, 0x32, 0x3b, 0x25, 0x10, 0x03, 0x2f, 0x21, 0x0c, 0x10, 0x23, 0x0e, 0x3a, 0x2c, 0x33, 0x03, 0x2c, 0x12, 0x06, 0x1c, 0x2a, 0x37, 0x30, 0x3f, 0x01, 0x1e, 0x35, 0x16, 0x37, 0x2c, 0x32 + .byte 0x35, 0x05, 0x11, 0x22, 0x29, 0x09, 0x20, 0x2b, 0x0d, 0x1f, 0x18, 0x0d, 0x20, 0x23, 0x39, 0x16, 0x0f, 0x3a, 0x18, 0x21, 0x35, 0x2b, 0x36, 0x26, 0x2b, 0x23, 0x05, 0x2f, 0x1b, 0x08, 0x17, 0x3e + .byte 0x09, 0x16, 0x2d, 0x3a, 0x37, 0x15, 0x35, 0x35, 0x29, 0x0a, 0x12, 0x02, 0x39, 0x1f, 0x14, 0x34, 0x33, 0x17, 0x1d, 0x18, 0x16, 0x1d, 0x1a, 0x01, 0x39, 0x22, 0x1e, 0x27, 0x36, 0x32, 0x14, 0x26 + .byte 0x0a, 0x39, 0x36, 0x1f, 0x0d, 0x1e, 0x0b, 0x0a, 0x19, 0x35, 0x1d, 0x34, 0x03, 0x12, 0x16, 0x0c, 0x13, 0x2e, 0x0c, 0x34, 0x1e, 0x10, 0x14, 0x1e, 0x23, 0x32, 0x27, 0x02, 0x10, 0x29, 0x35, 0x18 + .byte 0x33, 0x33, 0x1d, 0x1a, 0x3c, 0x15, 0x23, 0x3e, 0x3f, 0x22, 0x2a, 0x02, 0x2c, 0x28, 0x0a, 0x2f, 0x1a, 0x06, 0x35, 0x3c, 0x17, 0x2b, 0x03, 0x12, 0x17, 0x2f, 0x0a, 0x26, 0x12, 0x38, 0x11, 0x36 + .byte 0x1b, 0x23, 0x01, 0x39, 0x35, 0x19, 0x19, 0x17, 0x09, 0x28, 0x22, 0x1e, 0x27, 0x2c, 0x35, 0x33, 0x2c, 0x27, 0x25, 0x31, 0x06, 0x31, 0x2d, 0x1a, 0x39, 0x28, 0x2d, 0x04, 0x1e, 0x24, 0x3e, 0x1c + .byte 0x3c, 0x30, 0x1b, 0x3f, 0x3e, 0x37, 0x22, 0x36, 0x11, 0x00, 0x01, 0x1c, 0x12, 0x1a, 0x10, 0x12, 0x1e, 0x2c, 0x1f, 0x12, 0x2a, 0x2f, 0x06, 0x19, 0x35, 0x1a, 0x18, 0x3b, 0x09, 0x36, 0x34, 0x1d + .byte 0x13, 0x02, 0x07, 0x10, 0x20, 0x2f, 0x1d, 0x0b, 0x03, 0x33, 0x1c, 0x16, 0x31, 0x05, 0x13, 0x1b, 0x29, 0x06, 0x13, 0x30, 0x2d, 0x36, 0x2a, 0x2d, 0x2c, 0x19, 0x34, 0x1c, 0x0f, 0x15, 0x12, 0x36 + .byte 0x15, 0x2c, 0x3a, 0x06, 0x1c, 0x12, 0x1d, 0x26, 0x03, 0x38, 0x1d, 0x01, 0x01, 0x2d, 0x17, 0x2e, 0x10, 0x14, 0x17, 0x1c, 0x34, 0x0f, 0x28, 0x09, 0x37, 0x1b, 0x28, 0x1d, 0x26, 0x29, 0x2d, 0x36 + .byte 0x1e, 0x17, 0x28, 0x15, 0x0f, 0x1c, 0x20, 0x2d, 0x10, 0x27, 0x16, 0x2e, 0x14, 0x09, 0x12, 0x3b, 0x3d, 0x21, 0x25, 0x1a, 0x2c, 0x00, 0x22, 0x36, 0x0d, 0x30, 0x10, 0x17, 0x19, 0x1b, 0x00, 0x3b + .byte 0x21, 0x2a, 0x28, 0x34, 0x2d, 0x0f, 0x16, 0x0a, 0x30, 0x28, 0x06, 0x00, 0x25, 0x31, 0x2e, 0x2a, 0x14, 0x33, 0x28, 0x36, 0x10, 0x2e, 0x05, 0x2e, 0x19, 0x19, 0x1a, 0x15, 0x2c, 0x14, 0x17, 0x37 + .byte 0x0f, 0x13, 0x32, 0x17, 0x1b, 0x39, 0x18, 0x32, 0x2e, 0x32, 0x1e, 0x24, 0x1d, 0x31, 0x12, 0x1d, 0x2b, 0x14, 0x0c, 0x27, 0x36, 0x2e, 0x32, 0x06, 0x0a, 0x1a, 0x28, 0x28, 0x20, 0x3a, 0x3a, 0x17 + .byte 0x08, 0x27, 0x36, 0x18, 0x1a, 0x10, 0x1e, 0x26, 0x1b, 0x1f, 0x33, 0x1f, 0x21, 0x17, 0x2f, 0x01, 0x08, 0x20, 0x35, 0x03, 0x19, 0x3b, 0x02, 0x20, 0x02, 0x2d, 0x23, 0x0e, 0x17, 0x32, 0x31, 0x29 + .byte 0x11, 0x22, 0x17, 0x22, 0x3a, 0x2c, 0x23, 0x34, 0x20, 0x18, 0x00, 0x3a, 0x22, 0x25, 0x33, 0x21, 0x33, 0x04, 0x27, 0x04, 0x18, 0x32, 0x2c, 0x0c, 0x2f, 0x28, 0x14, 0x2c, 0x3f, 0x30, 0x2b, 0x30 + .byte 0x21, 0x1d, 0x01, 0x25, 0x32, 0x05, 0x23, 0x34, 0x24, 0x10, 0x30, 0x3d, 0x14, 0x1b, 0x3f, 0x38, 0x2f, 0x22, 0x1b, 0x32, 0x25, 0x07, 0x37, 0x0a, 0x0c, 0x1d, 0x03, 0x1e, 0x1a, 0x0f, 0x3c, 0x12 + .byte 0x11, 0x18, 0x1d, 0x00, 0x35, 0x2f, 0x32, 0x18, 0x14, 0x23, 0x30, 0x1b, 0x11, 0x3d, 0x12, 0x1a, 0x16, 0x35, 0x28, 0x05, 0x24, 0x17, 0x3d, 0x37, 0x2e, 0x09, 0x2e, 0x18, 0x1d, 0x17, 0x20, 0x1f + .byte 0x18, 0x23, 0x2c, 0x2f, 0x20, 0x3f, 0x16, 0x3f, 0x29, 0x2e, 0x23, 0x3b, 0x29, 0x18, 0x39, 0x13, 0x1e, 0x32, 0x35, 0x14, 0x1d, 0x2a, 0x35, 0x01, 0x1d, 0x3e, 0x3b, 0x1e, 0x22, 0x1e, 0x16, 0x18 + .byte 0x22, 0x12, 0x3e, 0x29, 0x33, 0x2f, 0x14, 0x19, 0x3b, 0x07, 0x15, 0x06, 0x3d, 0x29, 0x35, 0x37, 0x23, 0x34, 0x1d, 0x2d, 0x18, 0x12, 0x1b, 0x0b, 0x13, 0x24, 0x13, 0x38, 0x1c, 0x1f, 0x0b, 0x1b + .byte 0x13, 0x21, 0x1c, 0x06, 0x39, 0x32, 0x37, 0x3d, 0x26, 0x29, 0x26, 0x15, 0x3c, 0x33, 0x27, 0x00, 0x01, 0x2e, 0x15, 0x18, 0x31, 0x0d, 0x2c, 0x13, 0x27, 0x3b, 0x20, 0x2d, 0x01, 0x26, 0x23, 0x15 + .byte 0x30, 0x24, 0x00, 0x17, 0x37, 0x3f, 0x33, 0x25, 0x24, 0x31, 0x06, 0x3b, 0x37, 0x03, 0x18, 0x1a, 0x2c, 0x34, 0x14, 0x1d, 0x36, 0x18, 0x3a, 0x04, 0x23, 0x12, 0x26, 0x15, 0x2b, 0x19, 0x1a, 0x29 + .byte 0x2c, 0x36, 0x01, 0x19, 0x1d, 0x2f, 0x06, 0x2b, 0x0c, 0x12, 0x26, 0x36, 0x32, 0x1d, 0x0d, 0x12, 0x28, 0x03, 0x28, 0x13, 0x29, 0x06, 0x17, 0x03, 0x38, 0x21, 0x30, 0x2c, 0x10, 0x22, 0x00, 0x28 + .byte 0x24, 0x3b, 0x1c, 0x20, 0x3e, 0x13, 0x02, 0x0c, 0x19, 0x29, 0x2c, 0x1a, 0x39, 0x30, 0x22, 0x2a, 0x1f, 0x22, 0x14, 0x34, 0x2c, 0x14, 0x25, 0x1b, 0x06, 0x3b, 0x15, 0x06, 0x1c, 0x13, 0x15, 0x03 + .byte 0x18, 0x1e, 0x2a, 0x1b, 0x17, 0x25, 0x2f, 0x1c, 0x29, 0x2e, 0x02, 0x32, 0x1e, 0x1d, 0x28, 0x35, 0x36, 0x03, 0x34, 0x16, 0x3d, 0x2a, 0x12, 0x0d, 0x13, 0x1d, 0x2d, 0x21, 0x32, 0x17, 0x2e, 0x1a + .byte 0x15, 0x26, 0x22, 0x2f, 0x15, 0x3c, 0x0e, 0x20, 0x2f, 0x27, 0x13, 0x04, 0x09, 0x32, 0x1e, 0x01, 0x34, 0x06, 0x16, 0x1e, 0x2e, 0x1b, 0x1c, 0x28, 0x13, 0x2a, 0x30, 0x34, 0x12, 0x12, 0x32, 0x18 + .byte 0x1d, 0x1d, 0x35, 0x07, 0x1c, 0x16, 0x2d, 0x3d, 0x35, 0x1c, 0x1b, 0x24, 0x21, 0x2d, 0x1e, 0x10, 0x09, 0x14, 0x3d, 0x11, 0x12, 0x25, 0x02, 0x26, 0x23, 0x02, 0x19, 0x19, 0x05, 0x14, 0x0b, 0x21 + .byte 0x1a, 0x09, 0x02, 0x2c, 0x18, 0x28, 0x2d, 0x1e, 0x10, 0x12, 0x2e, 0x18, 0x2e, 0x1f, 0x02, 0x2c, 0x14, 0x17, 0x24, 0x39, 0x08, 0x32, 0x16, 0x14, 0x22, 0x16, 0x28, 0x21, 0x11, 0x10, 0x2c, 0x23 + .byte 0x36, 0x2b, 0x39, 0x21, 0x26, 0x0e, 0x06, 0x2d, 0x3c, 0x3e, 0x26, 0x2a, 0x1b, 0x1f, 0x00, 0x3c, 0x33, 0x35, 0x3f, 0x14, 0x00, 0x0b, 0x10, 0x34, 0x3c, 0x17, 0x2d, 0x07, 0x1f, 0x24, 0x39, 0x27 + .byte 0x16, 0x00, 0x1d, 0x33, 0x2b, 0x1e, 0x0f, 0x08, 0x31, 0x3a, 0x09, 0x13, 0x0c, 0x21, 0x1c, 0x2a, 0x17, 0x34, 0x29, 0x27, 0x10, 0x37, 0x1b, 0x18, 0x15, 0x08, 0x2f, 0x1f, 0x16, 0x12, 0x1f, 0x28 + .byte 0x34, 0x1c, 0x20, 0x22, 0x12, 0x01, 0x12, 0x21, 0x31, 0x10, 0x22, 0x26, 0x1e, 0x01, 0x3d, 0x11, 0x1e, 0x27, 0x25, 0x3d, 0x30, 0x24, 0x1d, 0x11, 0x22, 0x36, 0x30, 0x16, 0x1f, 0x3e, 0x2a, 0x3c + .byte 0x27, 0x1b, 0x1f, 0x29, 0x10, 0x1e, 0x05, 0x2a, 0x0a, 0x10, 0x14, 0x1f, 0x00, 0x2e, 0x0b, 0x3b, 0x18, 0x0a, 0x39, 0x30, 0x37, 0x0b, 0x1f, 0x1d, 0x0a, 0x29, 0x3e, 0x1c, 0x33, 0x13, 0x2e, 0x28 + .byte 0x27, 0x1b, 0x1e, 0x1d, 0x02, 0x1c, 0x01, 0x25, 0x14, 0x3a, 0x10, 0x1c, 0x12, 0x05, 0x2a, 0x30, 0x20, 0x26, 0x2f, 0x2e, 0x2e, 0x03, 0x07, 0x24, 0x36, 0x04, 0x2b, 0x11, 0x25, 0x2d, 0x28, 0x0e + .byte 0x2e, 0x0f, 0x1d, 0x15, 0x1c, 0x28, 0x30, 0x1f, 0x23, 0x26, 0x36, 0x12, 0x37, 0x3a, 0x31, 0x10, 0x2c, 0x2c, 0x2f, 0x1a, 0x0d, 0x15, 0x3f, 0x3c, 0x32, 0x35, 0x1c, 0x16, 0x33, 0x16, 0x28, 0x1d + .byte 0x3f, 0x21, 0x2c, 0x3e, 0x2b, 0x24, 0x23, 0x2f, 0x32, 0x15, 0x2a, 0x1b, 0x10, 0x35, 0x18, 0x37, 0x10, 0x3b, 0x1e, 0x11, 0x2b, 0x16, 0x24, 0x1d, 0x16, 0x26, 0x3c, 0x2d, 0x11, 0x15, 0x28, 0x28 + .byte 0x27, 0x27, 0x27, 0x3b, 0x3a, 0x16, 0x1a, 0x0c, 0x1a, 0x15, 0x08, 0x25, 0x0b, 0x10, 0x22, 0x1a, 0x3e, 0x17, 0x28, 0x1f, 0x1e, 0x01, 0x1e, 0x1e, 0x1c, 0x2f, 0x10, 0x25, 0x0b, 0x34, 0x3e, 0x0c + .byte 0x1a, 0x1b, 0x10, 0x2a, 0x0f, 0x14, 0x17, 0x0f, 0x3f, 0x17, 0x03, 0x15, 0x1f, 0x02, 0x36, 0x17, 0x15, 0x1d, 0x18, 0x08, 0x36, 0x10, 0x14, 0x0d, 0x2b, 0x0a, 0x05, 0x1d, 0x26, 0x12, 0x1e, 0x3e + .byte 0x18, 0x19, 0x36, 0x18, 0x37, 0x17, 0x39, 0x2e, 0x0d, 0x04, 0x19, 0x16, 0x22, 0x15, 0x3e, 0x26, 0x1f, 0x00, 0x06, 0x17, 0x33, 0x22, 0x1d, 0x2b, 0x39, 0x2b, 0x3e, 0x31, 0x1c, 0x22, 0x3f, 0x13 + .byte 0x30, 0x1c, 0x31, 0x07, 0x2b, 0x14, 0x32, 0x35, 0x1e, 0x02, 0x07, 0x20, 0x0f, 0x3b, 0x11, 0x20, 0x07, 0x12, 0x2a, 0x30, 0x1d, 0x28, 0x38, 0x36, 0x20, 0x01, 0x17, 0x15, 0x20, 0x21, 0x3a, 0x1b + .byte 0x1e, 0x38, 0x12, 0x24, 0x03, 0x3e, 0x1f, 0x29, 0x1d, 0x13, 0x20, 0x27, 0x19, 0x12, 0x25, 0x20, 0x32, 0x33, 0x2b, 0x3f, 0x05, 0x31, 0x35, 0x3c, 0x2d, 0x2d, 0x02, 0x2e, 0x10, 0x2a, 0x16, 0x17 + .byte 0x08, 0x31, 0x17, 0x2e, 0x2b, 0x30, 0x1e, 0x15, 0x31, 0x15, 0x26, 0x08, 0x10, 0x33, 0x15, 0x01, 0x27, 0x12, 0x07, 0x2f, 0x29, 0x27, 0x34, 0x3f, 0x08, 0x31, 0x1c, 0x20, 0x1a, 0x33, 0x0c, 0x13 + .byte 0x18, 0x31, 0x24, 0x37, 0x2d, 0x2e, 0x21, 0x18, 0x24, 0x3a, 0x27, 0x31, 0x35, 0x3e, 0x30, 0x3a, 0x14, 0x33, 0x0f, 0x1a, 0x2d, 0x30, 0x2e, 0x11, 0x1a, 0x31, 0x1d, 0x17, 0x3c, 0x18, 0x33, 0x31 + .byte 0x23, 0x1d, 0x39, 0x2d, 0x10, 0x1d, 0x2f, 0x24, 0x15, 0x1c, 0x25, 0x01, 0x2b, 0x22, 0x16, 0x2e, 0x1b, 0x25, 0x35, 0x37, 0x10, 0x26, 0x39, 0x01, 0x36, 0x17, 0x2b, 0x14, 0x09, 0x16, 0x17, 0x20 + .byte 0x28, 0x23, 0x26, 0x3a, 0x26, 0x27, 0x2a, 0x24, 0x36, 0x02, 0x2c, 0x29, 0x30, 0x35, 0x36, 0x01, 0x1f, 0x28, 0x3b, 0x1d, 0x23, 0x1e, 0x2d, 0x11, 0x1e, 0x2c, 0x2f, 0x32, 0x19, 0x3f, 0x26, 0x31 + .byte 0x38, 0x1e, 0x17, 0x05, 0x18, 0x2e, 0x00, 0x2e, 0x12, 0x34, 0x3f, 0x34, 0x16, 0x10, 0x29, 0x20, 0x3d, 0x36, 0x2f, 0x16, 0x25, 0x12, 0x17, 0x10, 0x21, 0x37, 0x35, 0x25, 0x37, 0x2d, 0x01, 0x08 + .byte 0x27, 0x03, 0x1f, 0x29, 0x0d, 0x2a, 0x16, 0x3a, 0x3f, 0x33, 0x2b, 0x19, 0x1d, 0x2a, 0x1f, 0x29, 0x28, 0x2c, 0x10, 0x28, 0x30, 0x10, 0x39, 0x14, 0x1b, 0x00, 0x18, 0x21, 0x28, 0x0c, 0x37, 0x11 + .byte 0x10, 0x11, 0x3c, 0x33, 0x32, 0x33, 0x36, 0x1a, 0x36, 0x00, 0x1c, 0x31, 0x1b, 0x1d, 0x38, 0x1d, 0x10, 0x3c, 0x39, 0x27, 0x3a, 0x3f, 0x14, 0x19, 0x12, 0x14, 0x0d, 0x1f, 0x18, 0x00, 0x25, 0x18 + .byte 0x28, 0x1c, 0x32, 0x27, 0x03, 0x1a, 0x26, 0x2d, 0x2a, 0x29, 0x28, 0x27, 0x0a, 0x2a, 0x18, 0x0a, 0x1a, 0x30, 0x20, 0x1a, 0x2e, 0x06, 0x0b, 0x1d, 0x0f, 0x0c, 0x1c, 0x35, 0x28, 0x1c, 0x3d, 0x16 + .byte 0x23, 0x21, 0x1c, 0x31, 0x14, 0x1c, 0x2e, 0x22, 0x32, 0x35, 0x09, 0x29, 0x30, 0x20, 0x1a, 0x10, 0x31, 0x3f, 0x2c, 0x0a, 0x3d, 0x37, 0x0b, 0x2e, 0x2d, 0x1f, 0x22, 0x31, 0x06, 0x07, 0x29, 0x22 + .byte 0x17, 0x2d, 0x30, 0x11, 0x18, 0x0c, 0x19, 0x15, 0x07, 0x0a, 0x34, 0x18, 0x29, 0x27, 0x33, 0x0c, 0x30, 0x03, 0x1a, 0x37, 0x06, 0x01, 0x2d, 0x0f, 0x3b, 0x2b, 0x11, 0x1f, 0x37, 0x2b, 0x21, 0x36 + .byte 0x3f, 0x23, 0x17, 0x17, 0x07, 0x2b, 0x2b, 0x0e, 0x30, 0x11, 0x39, 0x1d, 0x29, 0x03, 0x33, 0x30, 0x03, 0x2f, 0x3c, 0x20, 0x26, 0x03, 0x22, 0x14, 0x3a, 0x28, 0x35, 0x01, 0x28, 0x2b, 0x3e, 0x15 + .byte 0x18, 0x30, 0x07, 0x17, 0x3b, 0x2c, 0x30, 0x15, 0x07, 0x2c, 0x17, 0x27, 0x1d, 0x3f, 0x1e, 0x33, 0x0d, 0x17, 0x10, 0x15, 0x0e, 0x30, 0x09, 0x05, 0x30, 0x2d, 0x20, 0x15, 0x3c, 0x3d, 0x30, 0x0c + .byte 0x17, 0x1c, 0x1a, 0x0d, 0x25, 0x2b, 0x2b, 0x2a, 0x02, 0x16, 0x2d, 0x17, 0x31, 0x17, 0x00, 0x08, 0x13, 0x37, 0x35, 0x21, 0x1e, 0x1c, 0x1f, 0x2b, 0x32, 0x1c, 0x10, 0x2a, 0x16, 0x3a, 0x33, 0x31 + .byte 0x17, 0x2b, 0x2a, 0x0c, 0x3d, 0x11, 0x28, 0x0a, 0x30, 0x23, 0x0a, 0x26, 0x0a, 0x14, 0x24, 0x0b, 0x0f, 0x30, 0x1b, 0x1e, 0x29, 0x02, 0x35, 0x28, 0x3b, 0x02, 0x14, 0x00, 0x0f, 0x35, 0x1c, 0x3c + .byte 0x2e, 0x28, 0x38, 0x19, 0x1b, 0x11, 0x12, 0x09, 0x16, 0x10, 0x2e, 0x0d, 0x20, 0x3d, 0x04, 0x32, 0x16, 0x2c, 0x25, 0x02, 0x3d, 0x18, 0x0b, 0x13, 0x1c, 0x22, 0x2a, 0x1c, 0x20, 0x27, 0x22, 0x05 + .byte 0x26, 0x22, 0x12, 0x1d, 0x2c, 0x08, 0x05, 0x2e, 0x3f, 0x1c, 0x17, 0x24, 0x0d, 0x33, 0x36, 0x08, 0x24, 0x10, 0x22, 0x29, 0x1c, 0x0a, 0x11, 0x25, 0x0f, 0x10, 0x24, 0x38, 0x2f, 0x25, 0x32, 0x1e + .byte 0x06, 0x2a, 0x29, 0x3e, 0x3a, 0x28, 0x34, 0x17, 0x33, 0x18, 0x33, 0x17, 0x07, 0x14, 0x1f, 0x11, 0x17, 0x20, 0x13, 0x0e, 0x14, 0x3b, 0x1c, 0x12, 0x2a, 0x13, 0x37, 0x2a, 0x35, 0x32, 0x30, 0x02 + .byte 0x25, 0x00, 0x07, 0x1f, 0x0c, 0x04, 0x2c, 0x37, 0x37, 0x30, 0x25, 0x12, 0x25, 0x12, 0x22, 0x21, 0x22, 0x35, 0x33, 0x07, 0x20, 0x2d, 0x27, 0x0e, 0x30, 0x34, 0x19, 0x1a, 0x0a, 0x3c, 0x25, 0x07 + .byte 0x1d, 0x2b, 0x31, 0x3a, 0x12, 0x1a, 0x3d, 0x37, 0x16, 0x15, 0x16, 0x39, 0x13, 0x15, 0x2d, 0x03, 0x2e, 0x06, 0x39, 0x2c, 0x16, 0x00, 0x13, 0x35, 0x2a, 0x35, 0x24, 0x01, 0x18, 0x24, 0x37, 0x28 + .byte 0x25, 0x1b, 0x34, 0x25, 0x19, 0x17, 0x27, 0x2f, 0x1b, 0x27, 0x0d, 0x10, 0x36, 0x3c, 0x30, 0x3c, 0x33, 0x23, 0x3e, 0x27, 0x1e, 0x25, 0x2d, 0x29, 0x1f, 0x12, 0x21, 0x37, 0x32, 0x1f, 0x11, 0x21 + .byte 0x35, 0x30, 0x0c, 0x19, 0x25, 0x3d, 0x26, 0x17, 0x02, 0x1d, 0x14, 0x2e, 0x11, 0x38, 0x13, 0x30, 0x0a, 0x2b, 0x20, 0x1e, 0x10, 0x15, 0x37, 0x30, 0x2e, 0x1e, 0x04, 0x2c, 0x14, 0x34, 0x19, 0x08 + .byte 0x14, 0x18, 0x0e, 0x1c, 0x30, 0x1a, 0x2e, 0x1b, 0x1f, 0x39, 0x31, 0x0c, 0x1c, 0x28, 0x3e, 0x33, 0x23, 0x0f, 0x13, 0x16, 0x25, 0x39, 0x2f, 0x14, 0x1b, 0x1a, 0x28, 0x3e, 0x21, 0x2d, 0x19, 0x11 + .byte 0x0c, 0x34, 0x32, 0x39, 0x31, 0x19, 0x1a, 0x08, 0x34, 0x09, 0x2f, 0x11, 0x30, 0x04, 0x1c, 0x02, 0x3b, 0x1b, 0x33, 0x21, 0x33, 0x38, 0x02, 0x1a, 0x31, 0x38, 0x32, 0x1f, 0x1d, 0x16, 0x17, 0x10 + .byte 0x1b, 0x32, 0x20, 0x17, 0x00, 0x33, 0x12, 0x21, 0x0f, 0x27, 0x14, 0x19, 0x27, 0x24, 0x2c, 0x37, 0x25, 0x05, 0x2f, 0x3d, 0x25, 0x11, 0x12, 0x30, 0x1a, 0x16, 0x03, 0x1a, 0x14, 0x09, 0x13, 0x02 + .byte 0x23, 0x22, 0x01, 0x3c, 0x10, 0x3f, 0x2d, 0x23, 0x31, 0x3f, 0x23, 0x17, 0x00, 0x33, 0x3f, 0x0f, 0x2f, 0x26, 0x07, 0x15, 0x21, 0x2b, 0x2a, 0x38, 0x39, 0x1e, 0x09, 0x25, 0x2b, 0x3b, 0x30, 0x25 + .byte 0x12, 0x2d, 0x13, 0x32, 0x19, 0x28, 0x24, 0x1c, 0x2d, 0x35, 0x32, 0x26, 0x0d, 0x23, 0x1e, 0x1d, 0x07, 0x21, 0x0b, 0x34, 0x17, 0x2d, 0x32, 0x32, 0x3a, 0x3c, 0x35, 0x1a, 0x10, 0x33, 0x1a, 0x07 + .byte 0x22, 0x3b, 0x1b, 0x2a, 0x33, 0x1f, 0x26, 0x0e, 0x35, 0x1a, 0x3b, 0x0a, 0x1c, 0x11, 0x07, 0x11, 0x0d, 0x3c, 0x2d, 0x1e, 0x37, 0x29, 0x11, 0x05, 0x12, 0x15, 0x2f, 0x1c, 0x24, 0x31, 0x16, 0x2b + .byte 0x21, 0x1b, 0x23, 0x10, 0x31, 0x02, 0x14, 0x29, 0x26, 0x20, 0x16, 0x10, 0x17, 0x10, 0x0b, 0x0f, 0x33, 0x01, 0x2e, 0x14, 0x21, 0x0e, 0x37, 0x1a, 0x1d, 0x2f, 0x1e, 0x30, 0x24, 0x04, 0x14, 0x2d + .byte 0x11, 0x00, 0x30, 0x08, 0x2a, 0x1d, 0x1d, 0x22, 0x21, 0x24, 0x2c, 0x37, 0x24, 0x11, 0x12, 0x04, 0x2e, 0x28, 0x1d, 0x18, 0x23, 0x3c, 0x16, 0x16, 0x10, 0x17, 0x31, 0x20, 0x21, 0x12, 0x33, 0x3e + .byte 0x34, 0x06, 0x13, 0x13, 0x17, 0x38, 0x2b, 0x14, 0x0d, 0x15, 0x24, 0x3b, 0x2b, 0x34, 0x3b, 0x1e, 0x18, 0x07, 0x34, 0x37, 0x1d, 0x1f, 0x0b, 0x29, 0x20, 0x12, 0x1e, 0x1d, 0x1a, 0x24, 0x24, 0x3d + .byte 0x28, 0x24, 0x0b, 0x12, 0x33, 0x1b, 0x3a, 0x22, 0x14, 0x13, 0x2a, 0x31, 0x38, 0x15, 0x37, 0x2b, 0x2e, 0x19, 0x1e, 0x2c, 0x3f, 0x1b, 0x2a, 0x33, 0x1f, 0x33, 0x3f, 0x15, 0x29, 0x01, 0x1e, 0x18 + .byte 0x1f, 0x22, 0x19, 0x33, 0x3c, 0x34, 0x1e, 0x12, 0x22, 0x0d, 0x37, 0x2c, 0x0f, 0x08, 0x31, 0x2e, 0x09, 0x36, 0x01, 0x05, 0x1e, 0x1c, 0x04, 0x1e, 0x0c, 0x01, 0x1c, 0x29, 0x28, 0x2f, 0x39, 0x2d + .byte 0x14, 0x09, 0x22, 0x36, 0x04, 0x37, 0x37, 0x2d, 0x2f, 0x35, 0x24, 0x23, 0x1b, 0x08, 0x20, 0x32, 0x20, 0x1f, 0x34, 0x02, 0x31, 0x19, 0x18, 0x13, 0x36, 0x06, 0x2b, 0x1e, 0x0e, 0x1b, 0x10, 0x2f + .byte 0x0e, 0x1c, 0x11, 0x38, 0x13, 0x01, 0x37, 0x19, 0x14, 0x11, 0x26, 0x31, 0x3d, 0x33, 0x1d, 0x1b, 0x34, 0x25, 0x31, 0x2f, 0x11, 0x0a, 0x2f, 0x39, 0x17, 0x1b, 0x05, 0x0e, 0x13, 0x29, 0x25, 0x22 + .byte 0x15, 0x0d, 0x20, 0x2b, 0x27, 0x21, 0x3e, 0x24, 0x27, 0x2a, 0x2b, 0x16, 0x24, 0x3d, 0x15, 0x15, 0x30, 0x31, 0x0f, 0x33, 0x24, 0x06, 0x16, 0x13, 0x06, 0x31, 0x10, 0x2e, 0x3f, 0x10, 0x05, 0x0d + .byte 0x2f, 0x3c, 0x1f, 0x19, 0x12, 0x13, 0x24, 0x0f, 0x33, 0x36, 0x15, 0x3b, 0x33, 0x03, 0x0f, 0x2a, 0x3b, 0x3c, 0x2c, 0x36, 0x09, 0x29, 0x11, 0x3b, 0x27, 0x28, 0x2b, 0x31, 0x1a, 0x0e, 0x2f, 0x39 + .byte 0x2c, 0x31, 0x0e, 0x3c, 0x35, 0x2c, 0x24, 0x33, 0x3d, 0x11, 0x2b, 0x07, 0x3c, 0x37, 0x14, 0x18, 0x13, 0x1d, 0x3f, 0x2e, 0x30, 0x12, 0x25, 0x26, 0x1d, 0x11, 0x07, 0x11, 0x1e, 0x34, 0x01, 0x11 + .byte 0x0b, 0x39, 0x21, 0x29, 0x02, 0x29, 0x15, 0x10, 0x1a, 0x30, 0x1f, 0x35, 0x3c, 0x2b, 0x2a, 0x30, 0x3b, 0x36, 0x20, 0x1a, 0x23, 0x32, 0x24, 0x2b, 0x15, 0x20, 0x1c, 0x25, 0x3d, 0x36, 0x2d, 0x14 + .byte 0x31, 0x18, 0x23, 0x17, 0x18, 0x05, 0x13, 0x34, 0x30, 0x37, 0x0e, 0x39, 0x23, 0x1d, 0x1f, 0x17, 0x01, 0x15, 0x2f, 0x0b, 0x3e, 0x1b, 0x0d, 0x19, 0x2e, 0x31, 0x38, 0x1c, 0x15, 0x34, 0x15, 0x13 + .byte 0x19, 0x29, 0x19, 0x14, 0x27, 0x15, 0x18, 0x23, 0x29, 0x0c, 0x27, 0x2d, 0x0e, 0x17, 0x34, 0x18, 0x10, 0x3b, 0x1e, 0x29, 0x34, 0x2c, 0x22, 0x31, 0x08, 0x13, 0x1d, 0x18, 0x1a, 0x1c, 0x0b, 0x2a + .byte 0x19, 0x1e, 0x1a, 0x23, 0x27, 0x17, 0x3b, 0x0e, 0x37, 0x19, 0x2b, 0x16, 0x2f, 0x08, 0x21, 0x37, 0x02, 0x20, 0x0b, 0x32, 0x30, 0x16, 0x05, 0x30, 0x13, 0x05, 0x1a, 0x07, 0x39, 0x19, 0x0c, 0x3b + .byte 0x2a, 0x15, 0x05, 0x30, 0x30, 0x05, 0x19, 0x13, 0x00, 0x12, 0x27, 0x16, 0x2a, 0x0f, 0x28, 0x27, 0x0c, 0x23, 0x2f, 0x39, 0x28, 0x2a, 0x24, 0x25, 0x1f, 0x18, 0x29, 0x14, 0x16, 0x05, 0x1a, 0x35 + .byte 0x2f, 0x26, 0x0a, 0x3a, 0x29, 0x34, 0x2c, 0x36, 0x2e, 0x3a, 0x15, 0x1a, 0x0a, 0x2d, 0x16, 0x14, 0x2e, 0x35, 0x28, 0x2a, 0x35, 0x0f, 0x11, 0x11, 0x32, 0x19, 0x20, 0x1a, 0x28, 0x17, 0x1a, 0x28 + .byte 0x16, 0x33, 0x25, 0x13, 0x2c, 0x29, 0x09, 0x16, 0x33, 0x1d, 0x27, 0x26, 0x15, 0x0c, 0x2f, 0x22, 0x1c, 0x19, 0x29, 0x33, 0x10, 0x2d, 0x11, 0x1b, 0x16, 0x19, 0x2e, 0x0d, 0x0c, 0x28, 0x37, 0x3a + .byte 0x34, 0x2a, 0x1d, 0x37, 0x30, 0x0a, 0x36, 0x24, 0x39, 0x1b, 0x39, 0x0a, 0x32, 0x11, 0x03, 0x2d, 0x32, 0x1d, 0x30, 0x38, 0x1e, 0x27, 0x2e, 0x17, 0x18, 0x16, 0x17, 0x2a, 0x36, 0x3b, 0x31, 0x17 + .byte 0x04, 0x19, 0x3a, 0x25, 0x2d, 0x00, 0x36, 0x27, 0x25, 0x12, 0x33, 0x06, 0x0a, 0x14, 0x11, 0x05, 0x2f, 0x03, 0x35, 0x2f, 0x0b, 0x34, 0x29, 0x00, 0x31, 0x13, 0x27, 0x0f, 0x1c, 0x1d, 0x06, 0x2d + .byte 0x1c, 0x30, 0x27, 0x2f, 0x2a, 0x27, 0x16, 0x20, 0x31, 0x33, 0x2b, 0x2b, 0x05, 0x30, 0x36, 0x29, 0x23, 0x35, 0x10, 0x16, 0x2f, 0x2d, 0x20, 0x29, 0x37, 0x13, 0x24, 0x2d, 0x0e, 0x25, 0x08, 0x0a + .byte 0x18, 0x0f, 0x03, 0x1b, 0x31, 0x0c, 0x37, 0x1e, 0x34, 0x31, 0x1b, 0x0e, 0x25, 0x1a, 0x07, 0x34, 0x0d, 0x3c, 0x33, 0x00, 0x3a, 0x36, 0x04, 0x27, 0x12, 0x23, 0x18, 0x24, 0x0d, 0x0b, 0x18, 0x31 + .byte 0x32, 0x37, 0x00, 0x0d, 0x21, 0x32, 0x10, 0x12, 0x26, 0x0d, 0x19, 0x29, 0x24, 0x2b, 0x3d, 0x21, 0x1f, 0x1e, 0x1b, 0x28, 0x0d, 0x12, 0x28, 0x35, 0x1e, 0x23, 0x0a, 0x2e, 0x22, 0x27, 0x27, 0x35 + .byte 0x01, 0x0e, 0x20, 0x31, 0x39, 0x29, 0x3b, 0x24, 0x36, 0x14, 0x10, 0x33, 0x18, 0x2c, 0x26, 0x04, 0x2d, 0x15, 0x1a, 0x11, 0x37, 0x0f, 0x0b, 0x14, 0x0e, 0x2c, 0x2c, 0x21, 0x17, 0x2c, 0x16, 0x21 + .byte 0x35, 0x3e, 0x10, 0x10, 0x0a, 0x05, 0x1e, 0x3b, 0x09, 0x13, 0x26, 0x18, 0x1e, 0x23, 0x0c, 0x1a, 0x33, 0x37, 0x1f, 0x09, 0x12, 0x35, 0x3d, 0x0d, 0x15, 0x36, 0x06, 0x24, 0x33, 0x30, 0x29, 0x3b + .byte 0x0f, 0x28, 0x34, 0x2a, 0x2c, 0x02, 0x12, 0x35, 0x09, 0x22, 0x31, 0x3b, 0x31, 0x1c, 0x33, 0x22, 0x27, 0x3d, 0x34, 0x15, 0x14, 0x22, 0x28, 0x28, 0x10, 0x1e, 0x21, 0x31, 0x10, 0x2d, 0x16, 0x21 + .byte 0x1e, 0x05, 0x33, 0x0f, 0x30, 0x31, 0x0e, 0x1a, 0x35, 0x38, 0x2e, 0x28, 0x26, 0x37, 0x1e, 0x2b, 0x13, 0x33, 0x1f, 0x1e, 0x37, 0x0a, 0x28, 0x24, 0x32, 0x1c, 0x1a, 0x1f, 0x3f, 0x19, 0x39, 0x39 + .byte 0x29, 0x2c, 0x1b, 0x14, 0x15, 0x2a, 0x17, 0x32, 0x0f, 0x21, 0x30, 0x21, 0x18, 0x23, 0x2a, 0x27, 0x3d, 0x07, 0x10, 0x0b, 0x3f, 0x2f, 0x31, 0x02, 0x2e, 0x08, 0x39, 0x2f, 0x3f, 0x20, 0x18, 0x2d + .byte 0x34, 0x11, 0x2e, 0x34, 0x10, 0x26, 0x12, 0x23, 0x25, 0x0a, 0x37, 0x34, 0x09, 0x25, 0x0a, 0x3e, 0x16, 0x1a, 0x17, 0x11, 0x38, 0x1c, 0x20, 0x11, 0x21, 0x26, 0x05, 0x0f, 0x18, 0x26, 0x2b, 0x32 + .byte 0x0a, 0x0c, 0x16, 0x03, 0x29, 0x1d, 0x29, 0x3b, 0x23, 0x16, 0x1b, 0x29, 0x07, 0x09, 0x17, 0x17, 0x2c, 0x1c, 0x35, 0x33, 0x30, 0x17, 0x12, 0x1e, 0x3d, 0x1a, 0x2b, 0x21, 0x1d, 0x10, 0x0a, 0x08 + .byte 0x17, 0x14, 0x3c, 0x36, 0x28, 0x36, 0x36, 0x3b, 0x20, 0x1b, 0x13, 0x22, 0x1d, 0x13, 0x3a, 0x15, 0x02, 0x23, 0x2c, 0x3e, 0x19, 0x14, 0x39, 0x3c, 0x1a, 0x10, 0x08, 0x1e, 0x0a, 0x13, 0x29, 0x3f + .byte 0x38, 0x2c, 0x07, 0x23, 0x1f, 0x19, 0x2a, 0x24, 0x14, 0x3c, 0x1f, 0x0d, 0x04, 0x37, 0x1a, 0x2f, 0x28, 0x2a, 0x1d, 0x1e, 0x11, 0x37, 0x29, 0x28, 0x27, 0x12, 0x0d, 0x00, 0x26, 0x0a, 0x3c, 0x26 + .byte 0x1f, 0x1c, 0x33, 0x04, 0x3a, 0x2c, 0x24, 0x3d, 0x2b, 0x26, 0x31, 0x2f, 0x13, 0x1c, 0x21, 0x3e, 0x12, 0x23, 0x36, 0x0a, 0x1a, 0x2d, 0x1e, 0x19, 0x05, 0x1f, 0x1b, 0x1e, 0x0a, 0x1f, 0x20, 0x08 + .byte 0x24, 0x2c, 0x0c, 0x33, 0x1d, 0x1f, 0x11, 0x0e, 0x12, 0x10, 0x27, 0x12, 0x19, 0x2a, 0x13, 0x31, 0x1c, 0x04, 0x30, 0x1a, 0x38, 0x1f, 0x2c, 0x35, 0x25, 0x07, 0x0b, 0x33, 0x2d, 0x02, 0x1a, 0x2a + .byte 0x35, 0x35, 0x16, 0x2f, 0x14, 0x11, 0x31, 0x33, 0x2c, 0x31, 0x1e, 0x3c, 0x3a, 0x27, 0x3c, 0x2b, 0x12, 0x27, 0x1d, 0x12, 0x36, 0x2c, 0x2b, 0x25, 0x3b, 0x35, 0x12, 0x3d, 0x27, 0x13, 0x23, 0x19 + .byte 0x33, 0x2c, 0x26, 0x09, 0x3c, 0x12, 0x15, 0x1a, 0x23, 0x21, 0x07, 0x1a, 0x22, 0x25, 0x20, 0x19, 0x1b, 0x2c, 0x3a, 0x19, 0x35, 0x05, 0x26, 0x1d, 0x23, 0x22, 0x25, 0x0e, 0x1e, 0x11, 0x13, 0x30 + .byte 0x12, 0x2c, 0x22, 0x25, 0x0a, 0x1d, 0x18, 0x23, 0x3e, 0x1d, 0x02, 0x28, 0x25, 0x21, 0x0e, 0x20, 0x21, 0x22, 0x37, 0x18, 0x33, 0x27, 0x23, 0x23, 0x31, 0x24, 0x1a, 0x1a, 0x3e, 0x25, 0x24, 0x24 + .byte 0x01, 0x18, 0x34, 0x10, 0x22, 0x07, 0x00, 0x37, 0x06, 0x20, 0x20, 0x3a, 0x02, 0x2b, 0x07, 0x2c, 0x2c, 0x09, 0x2f, 0x2a, 0x01, 0x32, 0x2c, 0x00, 0x35, 0x13, 0x2b, 0x3c, 0x1f, 0x36, 0x37, 0x1e + .byte 0x20, 0x35, 0x1d, 0x0c, 0x07, 0x33, 0x16, 0x08, 0x12, 0x3f, 0x36, 0x11, 0x0b, 0x1f, 0x2d, 0x21, 0x20, 0x33, 0x17, 0x1a, 0x2e, 0x16, 0x01, 0x2f, 0x2f, 0x1c, 0x34, 0x29, 0x31, 0x2e, 0x3b, 0x38 + .byte 0x31, 0x0d, 0x16, 0x12, 0x07, 0x29, 0x24, 0x33, 0x3c, 0x34, 0x3e, 0x1e, 0x18, 0x30, 0x02, 0x34, 0x2a, 0x34, 0x1b, 0x2e, 0x23, 0x18, 0x34, 0x00, 0x1f, 0x20, 0x0e, 0x28, 0x15, 0x33, 0x37, 0x27 + .byte 0x35, 0x23, 0x37, 0x3e, 0x11, 0x32, 0x2e, 0x36, 0x3a, 0x02, 0x2b, 0x00, 0x36, 0x1d, 0x13, 0x29, 0x16, 0x08, 0x2b, 0x37, 0x08, 0x02, 0x27, 0x32, 0x2d, 0x34, 0x30, 0x36, 0x29, 0x2e, 0x10, 0x12 + .byte 0x3c, 0x2e, 0x2a, 0x04, 0x33, 0x30, 0x3f, 0x01, 0x22, 0x37, 0x14, 0x1d, 0x27, 0x00, 0x2f, 0x0c, 0x39, 0x26, 0x27, 0x04, 0x21, 0x19, 0x08, 0x1d, 0x01, 0x04, 0x1e, 0x27, 0x1b, 0x2b, 0x31, 0x17 + .byte 0x1f, 0x07, 0x01, 0x2d, 0x2e, 0x3b, 0x1f, 0x34, 0x24, 0x31, 0x32, 0x2b, 0x24, 0x0e, 0x07, 0x1e, 0x0f, 0x33, 0x10, 0x16, 0x21, 0x32, 0x39, 0x02, 0x1a, 0x33, 0x3d, 0x22, 0x0c, 0x25, 0x1a, 0x29 + .byte 0x29, 0x28, 0x3a, 0x32, 0x26, 0x0b, 0x13, 0x22, 0x1f, 0x0f, 0x1c, 0x04, 0x2c, 0x20, 0x39, 0x1a, 0x1b, 0x1a, 0x2a, 0x1f, 0x24, 0x13, 0x1a, 0x31, 0x3b, 0x33, 0x39, 0x23, 0x28, 0x31, 0x07, 0x31 + .byte 0x1f, 0x10, 0x20, 0x29, 0x17, 0x32, 0x26, 0x3b, 0x2d, 0x02, 0x3c, 0x1c, 0x0e, 0x00, 0x20, 0x14, 0x3e, 0x37, 0x01, 0x0f, 0x2d, 0x06, 0x12, 0x27, 0x30, 0x13, 0x19, 0x00, 0x33, 0x2a, 0x0c, 0x07 + .byte 0x27, 0x11, 0x3a, 0x1c, 0x15, 0x0a, 0x13, 0x1f, 0x0d, 0x2a, 0x37, 0x07, 0x2a, 0x34, 0x35, 0x34, 0x28, 0x16, 0x27, 0x06, 0x02, 0x36, 0x09, 0x23, 0x30, 0x14, 0x02, 0x28, 0x39, 0x32, 0x34, 0x24 + .byte 0x35, 0x12, 0x12, 0x22, 0x26, 0x09, 0x07, 0x33, 0x0f, 0x3e, 0x1e, 0x00, 0x3c, 0x33, 0x10, 0x37, 0x14, 0x3a, 0x03, 0x25, 0x2d, 0x1e, 0x24, 0x36, 0x36, 0x26, 0x1f, 0x3c, 0x1a, 0x37, 0x33, 0x25 + .byte 0x23, 0x13, 0x1f, 0x33, 0x0d, 0x13, 0x25, 0x30, 0x1e, 0x17, 0x03, 0x18, 0x18, 0x18, 0x14, 0x30, 0x07, 0x22, 0x3e, 0x33, 0x21, 0x14, 0x37, 0x16, 0x16, 0x00, 0x12, 0x2c, 0x12, 0x2f, 0x25, 0x3f + .byte 0x1e, 0x24, 0x19, 0x16, 0x16, 0x0f, 0x35, 0x2d, 0x10, 0x11, 0x24, 0x2a, 0x28, 0x19, 0x25, 0x2e, 0x0c, 0x16, 0x1f, 0x38, 0x21, 0x36, 0x3d, 0x1a, 0x2f, 0x3b, 0x32, 0x12, 0x36, 0x13, 0x29, 0x0e + .byte 0x30, 0x31, 0x19, 0x07, 0x2f, 0x25, 0x23, 0x28, 0x20, 0x08, 0x29, 0x2a, 0x00, 0x30, 0x30, 0x38, 0x23, 0x1e, 0x0f, 0x1f, 0x3b, 0x1b, 0x30, 0x3a, 0x37, 0x2f, 0x39, 0x37, 0x35, 0x39, 0x2d, 0x2f + .byte 0x1f, 0x2e, 0x1e, 0x1a, 0x2b, 0x1e, 0x14, 0x17, 0x20, 0x2f, 0x03, 0x11, 0x1d, 0x00, 0x30, 0x17, 0x2b, 0x1d, 0x35, 0x28, 0x25, 0x3b, 0x0f, 0x11, 0x09, 0x04, 0x2e, 0x23, 0x11, 0x1e, 0x13, 0x37 + .byte 0x1e, 0x37, 0x37, 0x1e, 0x07, 0x01, 0x32, 0x14, 0x06, 0x32, 0x11, 0x0c, 0x2e, 0x36, 0x2e, 0x24, 0x15, 0x2a, 0x1c, 0x22, 0x15, 0x34, 0x2c, 0x1e, 0x35, 0x22, 0x27, 0x33, 0x19, 0x3f, 0x2d, 0x21 + .byte 0x33, 0x15, 0x26, 0x1a, 0x11, 0x16, 0x3e, 0x12, 0x2b, 0x24, 0x15, 0x3c, 0x0f, 0x2d, 0x31, 0x15, 0x36, 0x3f, 0x24, 0x1d, 0x25, 0x01, 0x37, 0x33, 0x16, 0x1a, 0x1f, 0x0e, 0x10, 0x2f, 0x0b, 0x12 + .byte 0x2a, 0x1a, 0x25, 0x17, 0x0a, 0x35, 0x09, 0x28, 0x35, 0x02, 0x13, 0x36, 0x34, 0x2f, 0x17, 0x03, 0x04, 0x31, 0x3e, 0x26, 0x11, 0x35, 0x33, 0x31, 0x22, 0x17, 0x23, 0x1d, 0x05, 0x2b, 0x2e, 0x27 + .byte 0x20, 0x03, 0x2b, 0x1d, 0x01, 0x19, 0x1e, 0x0e, 0x05, 0x18, 0x16, 0x25, 0x17, 0x02, 0x28, 0x18, 0x19, 0x0b, 0x24, 0x3e, 0x35, 0x16, 0x2e, 0x29, 0x25, 0x3e, 0x38, 0x1e, 0x3a, 0x2f, 0x12, 0x14 + .byte 0x17, 0x2d, 0x11, 0x12, 0x30, 0x15, 0x31, 0x18, 0x08, 0x0b, 0x29, 0x2d, 0x00, 0x33, 0x2c, 0x06, 0x1a, 0x14, 0x1c, 0x2e, 0x04, 0x08, 0x12, 0x1b, 0x2b, 0x2d, 0x2a, 0x37, 0x33, 0x10, 0x27, 0x2c + .byte 0x1d, 0x0e, 0x34, 0x20, 0x02, 0x12, 0x1e, 0x1a, 0x2e, 0x07, 0x0b, 0x10, 0x36, 0x1e, 0x33, 0x2b, 0x28, 0x1b, 0x31, 0x25, 0x1f, 0x38, 0x3a, 0x2f, 0x39, 0x30, 0x2f, 0x12, 0x09, 0x14, 0x0e, 0x08 + .byte 0x19, 0x00, 0x0d, 0x2c, 0x1b, 0x0e, 0x34, 0x11, 0x25, 0x15, 0x0c, 0x2d, 0x26, 0x36, 0x2c, 0x16, 0x31, 0x31, 0x2c, 0x03, 0x1a, 0x16, 0x1c, 0x32, 0x14, 0x0a, 0x3e, 0x36, 0x33, 0x1b, 0x27, 0x1f + .byte 0x32, 0x18, 0x33, 0x26, 0x33, 0x1a, 0x13, 0x1a, 0x0f, 0x34, 0x1c, 0x35, 0x2c, 0x2f, 0x38, 0x03, 0x18, 0x15, 0x0f, 0x27, 0x31, 0x29, 0x20, 0x28, 0x0e, 0x28, 0x31, 0x2c, 0x2e, 0x15, 0x19, 0x1b + .byte 0x10, 0x03, 0x2f, 0x2e, 0x2a, 0x32, 0x2a, 0x27, 0x1b, 0x36, 0x04, 0x1e, 0x3b, 0x04, 0x21, 0x07, 0x2f, 0x19, 0x27, 0x1d, 0x1d, 0x3c, 0x3d, 0x2e, 0x25, 0x08, 0x32, 0x3b, 0x34, 0x2a, 0x0c, 0x10 + .byte 0x13, 0x25, 0x35, 0x1a, 0x2f, 0x19, 0x28, 0x17, 0x00, 0x2b, 0x0a, 0x1c, 0x17, 0x0a, 0x11, 0x1b, 0x35, 0x13, 0x37, 0x29, 0x1c, 0x28, 0x0c, 0x31, 0x35, 0x3c, 0x10, 0x1a, 0x1b, 0x3a, 0x2d, 0x3a + .byte 0x1c, 0x18, 0x22, 0x10, 0x2d, 0x1c, 0x3c, 0x12, 0x17, 0x18, 0x2a, 0x0b, 0x2b, 0x2f, 0x2d, 0x04, 0x2e, 0x3c, 0x13, 0x23, 0x01, 0x1c, 0x2e, 0x14, 0x16, 0x22, 0x0c, 0x24, 0x13, 0x35, 0x37, 0x34 + .byte 0x1b, 0x30, 0x1e, 0x3a, 0x1c, 0x20, 0x06, 0x06, 0x36, 0x09, 0x15, 0x1a, 0x1b, 0x1a, 0x27, 0x0f, 0x33, 0x35, 0x37, 0x06, 0x23, 0x3a, 0x12, 0x1d, 0x00, 0x16, 0x29, 0x0e, 0x1d, 0x35, 0x3f, 0x38 + .byte 0x16, 0x2a, 0x3c, 0x34, 0x13, 0x32, 0x10, 0x17, 0x2c, 0x37, 0x29, 0x2a, 0x1e, 0x35, 0x2f, 0x2d, 0x3c, 0x2a, 0x11, 0x28, 0x13, 0x21, 0x19, 0x1e, 0x34, 0x0c, 0x06, 0x2d, 0x09, 0x04, 0x1c, 0x1d + .byte 0x2f, 0x26, 0x39, 0x07, 0x16, 0x14, 0x04, 0x2d, 0x3a, 0x2f, 0x2e, 0x29, 0x15, 0x35, 0x24, 0x02, 0x36, 0x3f, 0x02, 0x1a, 0x0f, 0x18, 0x24, 0x16, 0x1d, 0x19, 0x14, 0x16, 0x10, 0x29, 0x1b, 0x13 + .byte 0x15, 0x0e, 0x19, 0x3a, 0x2e, 0x2b, 0x08, 0x30, 0x15, 0x35, 0x16, 0x30, 0x2e, 0x18, 0x35, 0x3b, 0x0b, 0x1c, 0x3a, 0x18, 0x13, 0x29, 0x13, 0x1e, 0x20, 0x13, 0x27, 0x04, 0x1d, 0x34, 0x00, 0x38 + .byte 0x19, 0x08, 0x39, 0x32, 0x20, 0x10, 0x26, 0x08, 0x02, 0x28, 0x3f, 0x0f, 0x16, 0x30, 0x1f, 0x19, 0x20, 0x2d, 0x10, 0x38, 0x17, 0x1c, 0x18, 0x31, 0x27, 0x33, 0x38, 0x30, 0x16, 0x33, 0x23, 0x00 + .byte 0x01, 0x36, 0x0d, 0x02, 0x23, 0x39, 0x04, 0x1f, 0x0e, 0x30, 0x24, 0x06, 0x01, 0x2c, 0x34, 0x33, 0x35, 0x16, 0x34, 0x2e, 0x32, 0x16, 0x24, 0x26, 0x39, 0x34, 0x1f, 0x3c, 0x1d, 0x28, 0x1d, 0x37 + .byte 0x17, 0x15, 0x2b, 0x27, 0x39, 0x30, 0x0b, 0x1b, 0x18, 0x35, 0x20, 0x2d, 0x0b, 0x35, 0x1c, 0x03, 0x0e, 0x21, 0x06, 0x0c, 0x20, 0x02, 0x18, 0x34, 0x1e, 0x36, 0x2d, 0x16, 0x0c, 0x19, 0x25, 0x09 + .byte 0x2c, 0x37, 0x05, 0x2e, 0x2e, 0x2b, 0x2c, 0x24, 0x1a, 0x14, 0x27, 0x04, 0x10, 0x32, 0x38, 0x33, 0x37, 0x15, 0x35, 0x11, 0x3f, 0x1d, 0x23, 0x23, 0x1f, 0x29, 0x3f, 0x1d, 0x1a, 0x3c, 0x2b, 0x1b + .byte 0x2c, 0x2c, 0x38, 0x3b, 0x36, 0x04, 0x13, 0x33, 0x2c, 0x14, 0x12, 0x1a, 0x09, 0x1b, 0x36, 0x11, 0x24, 0x3a, 0x3f, 0x11, 0x01, 0x0e, 0x2b, 0x3b, 0x03, 0x2a, 0x08, 0x0d, 0x2b, 0x2b, 0x13, 0x27 + .byte 0x3a, 0x3c, 0x1c, 0x3a, 0x15, 0x2a, 0x24, 0x00, 0x17, 0x3e, 0x0a, 0x15, 0x0c, 0x29, 0x2d, 0x1f, 0x15, 0x30, 0x35, 0x18, 0x19, 0x3d, 0x37, 0x37, 0x12, 0x38, 0x1b, 0x3b, 0x02, 0x20, 0x08, 0x21 + .byte 0x19, 0x2e, 0x36, 0x1d, 0x15, 0x3d, 0x24, 0x22, 0x0c, 0x27, 0x36, 0x3f, 0x33, 0x33, 0x12, 0x11, 0x1a, 0x19, 0x1f, 0x2b, 0x24, 0x12, 0x11, 0x2a, 0x18, 0x25, 0x32, 0x2a, 0x2c, 0x1a, 0x12, 0x26 + .byte 0x06, 0x10, 0x11, 0x29, 0x33, 0x2c, 0x09, 0x14, 0x2b, 0x12, 0x2b, 0x1d, 0x03, 0x24, 0x00, 0x12, 0x15, 0x22, 0x3d, 0x26, 0x15, 0x37, 0x1a, 0x0f, 0x12, 0x37, 0x24, 0x01, 0x18, 0x2a, 0x17, 0x13 + .byte 0x14, 0x3b, 0x29, 0x2a, 0x19, 0x32, 0x2d, 0x17, 0x17, 0x0b, 0x2c, 0x33, 0x07, 0x2d, 0x34, 0x07, 0x38, 0x1d, 0x1f, 0x36, 0x22, 0x11, 0x0a, 0x17, 0x14, 0x11, 0x13, 0x2a, 0x17, 0x25, 0x01, 0x3a + .byte 0x1c, 0x26, 0x27, 0x30, 0x2d, 0x3b, 0x35, 0x3a, 0x30, 0x34, 0x06, 0x3a, 0x1c, 0x2d, 0x05, 0x13, 0x21, 0x32, 0x12, 0x3e, 0x1e, 0x2c, 0x3a, 0x3f, 0x2d, 0x20, 0x2a, 0x34, 0x26, 0x03, 0x1a, 0x19 + .byte 0x27, 0x2e, 0x31, 0x04, 0x26, 0x2a, 0x3f, 0x30, 0x25, 0x23, 0x2a, 0x08, 0x08, 0x35, 0x2c, 0x30, 0x1e, 0x08, 0x05, 0x18, 0x06, 0x09, 0x2d, 0x19, 0x00, 0x27, 0x0d, 0x10, 0x19, 0x1c, 0x00, 0x13 + .byte 0x3d, 0x0b, 0x24, 0x2e, 0x1f, 0x16, 0x3d, 0x18, 0x34, 0x12, 0x1e, 0x15, 0x15, 0x39, 0x25, 0x33, 0x0f, 0x17, 0x1a, 0x1c, 0x1b, 0x37, 0x29, 0x1b, 0x3b, 0x38, 0x12, 0x1d, 0x22, 0x34, 0x26, 0x0a + .byte 0x31, 0x16, 0x2d, 0x13, 0x0d, 0x20, 0x27, 0x24, 0x1d, 0x16, 0x2e, 0x2b, 0x18, 0x16, 0x2a, 0x1b, 0x24, 0x17, 0x36, 0x02, 0x05, 0x2b, 0x37, 0x1a, 0x17, 0x11, 0x3d, 0x2c, 0x1e, 0x2f, 0x22, 0x2c + .byte 0x29, 0x1a, 0x2f, 0x04, 0x25, 0x36, 0x0c, 0x35, 0x30, 0x3e, 0x12, 0x11, 0x30, 0x37, 0x12, 0x21, 0x2e, 0x21, 0x30, 0x17, 0x2c, 0x3d, 0x24, 0x11, 0x23, 0x14, 0x1a, 0x32, 0x17, 0x39, 0x27, 0x18 + .byte 0x0f, 0x24, 0x19, 0x00, 0x3d, 0x37, 0x2c, 0x3c, 0x1c, 0x0b, 0x39, 0x23, 0x0e, 0x04, 0x1f, 0x1c, 0x31, 0x14, 0x00, 0x04, 0x15, 0x26, 0x2a, 0x2a, 0x20, 0x25, 0x2a, 0x0b, 0x3c, 0x33, 0x11, 0x0b + .byte 0x2e, 0x37, 0x22, 0x2e, 0x0e, 0x22, 0x26, 0x18, 0x2d, 0x27, 0x06, 0x0c, 0x1c, 0x26, 0x18, 0x2f, 0x3a, 0x01, 0x2a, 0x2f, 0x31, 0x34, 0x1f, 0x34, 0x1a, 0x31, 0x05, 0x10, 0x2e, 0x17, 0x34, 0x18 + .byte 0x22, 0x23, 0x23, 0x21, 0x32, 0x07, 0x08, 0x22, 0x26, 0x1c, 0x22, 0x31, 0x12, 0x2f, 0x08, 0x1f, 0x10, 0x27, 0x15, 0x2a, 0x1f, 0x0b, 0x26, 0x2f, 0x14, 0x35, 0x24, 0x1f, 0x26, 0x3b, 0x23, 0x33 + .byte 0x20, 0x3e, 0x2d, 0x17, 0x0c, 0x15, 0x13, 0x39, 0x1a, 0x30, 0x14, 0x25, 0x09, 0x07, 0x17, 0x38, 0x38, 0x1f, 0x29, 0x24, 0x27, 0x17, 0x27, 0x28, 0x1b, 0x12, 0x2a, 0x2b, 0x3d, 0x2d, 0x19, 0x34 + .byte 0x1c, 0x01, 0x1d, 0x10, 0x08, 0x39, 0x11, 0x0e, 0x36, 0x1b, 0x26, 0x13, 0x10, 0x16, 0x28, 0x1e, 0x3c, 0x28, 0x17, 0x3e, 0x39, 0x34, 0x0a, 0x03, 0x2e, 0x37, 0x1a, 0x13, 0x2b, 0x33, 0x26, 0x13 + .byte 0x2c, 0x21, 0x25, 0x14, 0x10, 0x16, 0x0b, 0x35, 0x1d, 0x35, 0x33, 0x21, 0x08, 0x33, 0x28, 0x21, 0x1a, 0x12, 0x0c, 0x1b, 0x36, 0x2a, 0x19, 0x2c, 0x2b, 0x23, 0x01, 0x0f, 0x26, 0x17, 0x0c, 0x18 + .byte 0x09, 0x0f, 0x11, 0x2b, 0x24, 0x1c, 0x09, 0x09, 0x15, 0x36, 0x08, 0x13, 0x20, 0x39, 0x21, 0x00, 0x3a, 0x1f, 0x2b, 0x36, 0x31, 0x02, 0x37, 0x13, 0x04, 0x34, 0x35, 0x37, 0x3d, 0x1a, 0x17, 0x3d + .byte 0x13, 0x2b, 0x36, 0x2f, 0x13, 0x1e, 0x13, 0x3e, 0x11, 0x33, 0x27, 0x3a, 0x2d, 0x1e, 0x31, 0x1a, 0x03, 0x03, 0x2d, 0x25, 0x37, 0x1f, 0x11, 0x01, 0x22, 0x1c, 0x12, 0x17, 0x30, 0x3a, 0x30, 0x17 + .byte 0x1d, 0x29, 0x0e, 0x13, 0x27, 0x1a, 0x2e, 0x24, 0x2d, 0x00, 0x1c, 0x17, 0x28, 0x1d, 0x09, 0x1f, 0x2e, 0x1a, 0x2d, 0x26, 0x0a, 0x13, 0x32, 0x3e, 0x00, 0x27, 0x0b, 0x3b, 0x30, 0x08, 0x3a, 0x2d + .byte 0x22, 0x12, 0x1e, 0x34, 0x1d, 0x2b, 0x26, 0x22, 0x35, 0x17, 0x2c, 0x17, 0x29, 0x13, 0x2d, 0x2d, 0x10, 0x10, 0x20, 0x31, 0x23, 0x1e, 0x33, 0x18, 0x33, 0x06, 0x2d, 0x26, 0x14, 0x27, 0x22, 0x1d + .byte 0x2a, 0x2d, 0x06, 0x18, 0x07, 0x09, 0x2e, 0x21, 0x15, 0x2e, 0x21, 0x38, 0x23, 0x35, 0x0b, 0x34, 0x24, 0x0b, 0x22, 0x1e, 0x01, 0x17, 0x0b, 0x24, 0x11, 0x17, 0x07, 0x20, 0x14, 0x25, 0x32, 0x1a + .byte 0x0e, 0x2f, 0x35, 0x17, 0x1f, 0x0c, 0x08, 0x21, 0x30, 0x35, 0x1f, 0x0c, 0x0b, 0x20, 0x04, 0x10, 0x11, 0x35, 0x11, 0x1e, 0x33, 0x3d, 0x16, 0x1e, 0x2b, 0x1d, 0x1a, 0x19, 0x10, 0x04, 0x06, 0x22 + .byte 0x03, 0x3d, 0x24, 0x2a, 0x0e, 0x35, 0x03, 0x3e, 0x17, 0x0b, 0x18, 0x36, 0x3d, 0x0d, 0x26, 0x35, 0x12, 0x20, 0x1f, 0x0d, 0x16, 0x23, 0x32, 0x1a, 0x00, 0x3d, 0x26, 0x30, 0x19, 0x36, 0x12, 0x0e + .byte 0x23, 0x01, 0x23, 0x28, 0x3b, 0x31, 0x11, 0x2d, 0x1c, 0x36, 0x2a, 0x05, 0x16, 0x14, 0x0e, 0x30, 0x3a, 0x37, 0x19, 0x1f, 0x30, 0x25, 0x10, 0x26, 0x2f, 0x22, 0x11, 0x1f, 0x2e, 0x2b, 0x1e, 0x16 + .byte 0x16, 0x21, 0x32, 0x18, 0x35, 0x23, 0x32, 0x1a, 0x3d, 0x0d, 0x19, 0x39, 0x09, 0x23, 0x30, 0x2e, 0x24, 0x1e, 0x0f, 0x24, 0x09, 0x21, 0x31, 0x05, 0x03, 0x11, 0x05, 0x22, 0x2a, 0x03, 0x07, 0x37 + .byte 0x04, 0x08, 0x13, 0x05, 0x10, 0x34, 0x37, 0x14, 0x29, 0x0a, 0x24, 0x32, 0x34, 0x1e, 0x1b, 0x12, 0x17, 0x2e, 0x01, 0x02, 0x13, 0x0a, 0x0c, 0x11, 0x02, 0x14, 0x13, 0x0d, 0x25, 0x23, 0x00, 0x07 + .byte 0x1a, 0x1c, 0x28, 0x35, 0x08, 0x0e, 0x2c, 0x1b, 0x3c, 0x15, 0x1c, 0x19, 0x1d, 0x32, 0x13, 0x1a, 0x1c, 0x00, 0x37, 0x22, 0x1b, 0x35, 0x39, 0x3e, 0x14, 0x32, 0x06, 0x31, 0x17, 0x05, 0x2b, 0x01 + .byte 0x0f, 0x20, 0x1e, 0x0f, 0x34, 0x18, 0x03, 0x1f, 0x2b, 0x00, 0x14, 0x15, 0x3a, 0x30, 0x25, 0x30, 0x21, 0x0b, 0x00, 0x37, 0x24, 0x37, 0x1d, 0x29, 0x21, 0x16, 0x24, 0x0f, 0x2c, 0x3e, 0x15, 0x36 + .byte 0x3c, 0x2d, 0x23, 0x3d, 0x3c, 0x17, 0x1a, 0x1c, 0x13, 0x0a, 0x29, 0x22, 0x25, 0x3f, 0x26, 0x3b, 0x39, 0x2f, 0x1d, 0x08, 0x16, 0x0b, 0x19, 0x14, 0x12, 0x01, 0x2c, 0x35, 0x11, 0x2a, 0x02, 0x00 + .byte 0x13, 0x39, 0x2a, 0x35, 0x07, 0x1a, 0x11, 0x24, 0x0e, 0x1e, 0x0e, 0x2c, 0x15, 0x08, 0x31, 0x1b, 0x21, 0x1d, 0x26, 0x1d, 0x1c, 0x2a, 0x1d, 0x24, 0x13, 0x01, 0x00, 0x18, 0x28, 0x2a, 0x37, 0x15 + .byte 0x0f, 0x13, 0x10, 0x32, 0x36, 0x22, 0x13, 0x31, 0x13, 0x05, 0x1e, 0x17, 0x35, 0x35, 0x3b, 0x0e, 0x24, 0x35, 0x3a, 0x1d, 0x1b, 0x36, 0x1b, 0x03, 0x1d, 0x24, 0x0f, 0x16, 0x30, 0x2d, 0x09, 0x25 + .byte 0x05, 0x21, 0x13, 0x0a, 0x27, 0x36, 0x04, 0x0d, 0x1c, 0x06, 0x3e, 0x21, 0x2a, 0x27, 0x33, 0x28, 0x0e, 0x15, 0x0b, 0x17, 0x1d, 0x1d, 0x32, 0x2d, 0x08, 0x3d, 0x29, 0x21, 0x32, 0x17, 0x33, 0x31 + .byte 0x22, 0x0e, 0x03, 0x21, 0x0d, 0x0b, 0x16, 0x3e, 0x2a, 0x2e, 0x19, 0x36, 0x2a, 0x0d, 0x00, 0x14, 0x22, 0x07, 0x36, 0x0a, 0x09, 0x15, 0x14, 0x10, 0x22, 0x07, 0x16, 0x2c, 0x36, 0x13, 0x15, 0x09 + .byte 0x2f, 0x1b, 0x20, 0x3b, 0x2e, 0x3a, 0x3a, 0x16, 0x0d, 0x15, 0x2a, 0x39, 0x13, 0x2b, 0x0b, 0x01, 0x2a, 0x13, 0x17, 0x1e, 0x08, 0x17, 0x1e, 0x0c, 0x0f, 0x34, 0x1f, 0x31, 0x12, 0x07, 0x3a, 0x1d + .byte 0x35, 0x1e, 0x12, 0x24, 0x2c, 0x15, 0x0e, 0x21, 0x19, 0x34, 0x3b, 0x33, 0x19, 0x0f, 0x28, 0x10, 0x2f, 0x2e, 0x23, 0x27, 0x31, 0x39, 0x2e, 0x18, 0x3c, 0x3f, 0x24, 0x07, 0x23, 0x30, 0x28, 0x13 + .byte 0x35, 0x13, 0x0a, 0x10, 0x35, 0x19, 0x33, 0x23, 0x28, 0x29, 0x13, 0x2f, 0x1a, 0x3a, 0x19, 0x14, 0x37, 0x36, 0x26, 0x20, 0x3b, 0x15, 0x37, 0x39, 0x10, 0x3c, 0x21, 0x34, 0x1c, 0x38, 0x30, 0x15 + .byte 0x07, 0x26, 0x27, 0x21, 0x19, 0x18, 0x11, 0x23, 0x30, 0x28, 0x37, 0x32, 0x2d, 0x1f, 0x2c, 0x3f, 0x30, 0x1d, 0x2f, 0x26, 0x01, 0x11, 0x1c, 0x3b, 0x0f, 0x12, 0x2a, 0x17, 0x27, 0x05, 0x00, 0x1b + .byte 0x25, 0x1c, 0x32, 0x04, 0x22, 0x2d, 0x10, 0x0f, 0x25, 0x0d, 0x39, 0x30, 0x0b, 0x2e, 0x27, 0x2d, 0x34, 0x15, 0x3e, 0x30, 0x36, 0x16, 0x26, 0x2a, 0x05, 0x3f, 0x2b, 0x20, 0x3b, 0x2e, 0x3b, 0x1c + .byte 0x2f, 0x01, 0x18, 0x16, 0x16, 0x3d, 0x10, 0x0a, 0x1f, 0x18, 0x17, 0x0f, 0x22, 0x06, 0x13, 0x11, 0x38, 0x21, 0x17, 0x17, 0x0a, 0x37, 0x1c, 0x19, 0x30, 0x16, 0x38, 0x31, 0x30, 0x10, 0x36, 0x31 + .byte 0x2f, 0x26, 0x3c, 0x1b, 0x23, 0x33, 0x2f, 0x19, 0x16, 0x35, 0x25, 0x3a, 0x18, 0x1f, 0x37, 0x01, 0x1e, 0x0d, 0x18, 0x12, 0x1f, 0x1c, 0x1b, 0x07, 0x34, 0x2d, 0x0b, 0x3f, 0x33, 0x1e, 0x34, 0x1d + .byte 0x2c, 0x13, 0x2c, 0x20, 0x20, 0x13, 0x20, 0x0f, 0x31, 0x08, 0x0f, 0x24, 0x18, 0x3d, 0x1c, 0x36, 0x34, 0x27, 0x33, 0x2a, 0x25, 0x2d, 0x30, 0x26, 0x3d, 0x37, 0x26, 0x25, 0x11, 0x11, 0x03, 0x05 + .byte 0x18, 0x10, 0x04, 0x29, 0x07, 0x2e, 0x36, 0x2a, 0x29, 0x15, 0x3a, 0x0e, 0x33, 0x2a, 0x06, 0x29, 0x3d, 0x01, 0x29, 0x27, 0x0e, 0x16, 0x1d, 0x28, 0x1b, 0x10, 0x33, 0x2b, 0x0c, 0x14, 0x1d, 0x15 + .byte 0x3f, 0x25, 0x37, 0x23, 0x1e, 0x04, 0x2c, 0x1c, 0x15, 0x34, 0x2a, 0x09, 0x2f, 0x15, 0x02, 0x3f, 0x14, 0x19, 0x2c, 0x33, 0x39, 0x32, 0x20, 0x2a, 0x18, 0x32, 0x17, 0x23, 0x21, 0x0b, 0x2d, 0x25 + .byte 0x24, 0x3a, 0x2d, 0x31, 0x3f, 0x34, 0x18, 0x19, 0x24, 0x1e, 0x15, 0x1a, 0x17, 0x33, 0x2b, 0x23, 0x09, 0x26, 0x1b, 0x0d, 0x15, 0x36, 0x26, 0x28, 0x3a, 0x1c, 0x14, 0x0c, 0x3e, 0x10, 0x18, 0x06 + .byte 0x35, 0x37, 0x26, 0x36, 0x21, 0x26, 0x17, 0x3d, 0x1c, 0x2c, 0x16, 0x25, 0x1d, 0x1e, 0x0b, 0x1e, 0x1d, 0x0d, 0x32, 0x08, 0x1f, 0x1b, 0x12, 0x1c, 0x12, 0x20, 0x2a, 0x28, 0x06, 0x3b, 0x35, 0x39 + .byte 0x0e, 0x1e, 0x31, 0x30, 0x28, 0x02, 0x21, 0x14, 0x06, 0x1e, 0x29, 0x16, 0x09, 0x1c, 0x27, 0x32, 0x2d, 0x39, 0x03, 0x27, 0x29, 0x09, 0x1e, 0x1b, 0x11, 0x1c, 0x28, 0x3a, 0x2c, 0x03, 0x03, 0x18 + .byte 0x23, 0x09, 0x2f, 0x30, 0x17, 0x23, 0x0f, 0x25, 0x33, 0x06, 0x24, 0x37, 0x22, 0x09, 0x33, 0x2c, 0x09, 0x2a, 0x0c, 0x12, 0x2a, 0x28, 0x20, 0x10, 0x15, 0x29, 0x33, 0x0f, 0x1a, 0x13, 0x13, 0x18 + .byte 0x36, 0x2e, 0x16, 0x13, 0x3c, 0x1a, 0x15, 0x3a, 0x11, 0x32, 0x02, 0x0a, 0x2c, 0x19, 0x39, 0x11, 0x31, 0x3e, 0x1d, 0x32, 0x14, 0x32, 0x12, 0x2e, 0x34, 0x3e, 0x36, 0x23, 0x37, 0x3e, 0x15, 0x15 + .byte 0x35, 0x34, 0x01, 0x3a, 0x2c, 0x26, 0x25, 0x22, 0x01, 0x2b, 0x37, 0x1c, 0x3d, 0x33, 0x3e, 0x10, 0x1c, 0x26, 0x33, 0x19, 0x05, 0x19, 0x17, 0x12, 0x38, 0x1c, 0x15, 0x3c, 0x32, 0x3f, 0x0f, 0x37 + .byte 0x02, 0x39, 0x32, 0x13, 0x00, 0x1d, 0x1d, 0x2c, 0x10, 0x39, 0x13, 0x31, 0x0f, 0x37, 0x19, 0x09, 0x0d, 0x2a, 0x20, 0x2f, 0x32, 0x3b, 0x34, 0x22, 0x26, 0x14, 0x10, 0x24, 0x3d, 0x22, 0x0b, 0x31 + .byte 0x23, 0x2f, 0x2d, 0x2a, 0x30, 0x04, 0x35, 0x19, 0x20, 0x2a, 0x16, 0x36, 0x37, 0x14, 0x28, 0x37, 0x11, 0x0b, 0x27, 0x1d, 0x06, 0x29, 0x35, 0x16, 0x2e, 0x24, 0x2e, 0x29, 0x36, 0x14, 0x2a, 0x21 + .byte 0x0c, 0x1f, 0x3f, 0x39, 0x19, 0x27, 0x10, 0x2a, 0x1e, 0x12, 0x34, 0x10, 0x24, 0x34, 0x1d, 0x13, 0x1d, 0x17, 0x16, 0x37, 0x27, 0x1b, 0x27, 0x07, 0x24, 0x21, 0x37, 0x21, 0x11, 0x37, 0x28, 0x24 + .byte 0x19, 0x02, 0x1c, 0x14, 0x12, 0x1d, 0x1b, 0x24, 0x2e, 0x2e, 0x3a, 0x15, 0x37, 0x34, 0x21, 0x33, 0x2d, 0x29, 0x2f, 0x1e, 0x34, 0x29, 0x3c, 0x12, 0x05, 0x15, 0x20, 0x05, 0x3e, 0x19, 0x18, 0x0b + .byte 0x30, 0x2f, 0x02, 0x27, 0x14, 0x1c, 0x34, 0x12, 0x20, 0x30, 0x2b, 0x22, 0x1b, 0x06, 0x31, 0x28, 0x15, 0x2d, 0x12, 0x01, 0x0e, 0x13, 0x13, 0x0c, 0x28, 0x07, 0x2a, 0x14, 0x1d, 0x36, 0x14, 0x15 + .byte 0x2b, 0x26, 0x03, 0x25, 0x15, 0x3e, 0x3b, 0x20, 0x35, 0x0c, 0x25, 0x2b, 0x16, 0x35, 0x1e, 0x31, 0x2c, 0x06, 0x03, 0x29, 0x24, 0x07, 0x1f, 0x32, 0x2f, 0x19, 0x25, 0x21, 0x31, 0x22, 0x26, 0x1d + .byte 0x00, 0x1b, 0x18, 0x2a, 0x24, 0x31, 0x20, 0x06, 0x2f, 0x1e, 0x32, 0x26, 0x32, 0x39, 0x12, 0x20, 0x01, 0x19, 0x0f, 0x15, 0x15, 0x27, 0x10, 0x2e, 0x09, 0x25, 0x19, 0x29, 0x37, 0x30, 0x13, 0x1c + .byte 0x1d, 0x29, 0x2d, 0x26, 0x02, 0x1a, 0x16, 0x1d, 0x2b, 0x1c, 0x18, 0x04, 0x34, 0x28, 0x2a, 0x21, 0x15, 0x1b, 0x2e, 0x16, 0x01, 0x10, 0x05, 0x09, 0x14, 0x22, 0x03, 0x22, 0x02, 0x1b, 0x34, 0x29 + .byte 0x2a, 0x23, 0x26, 0x36, 0x13, 0x23, 0x3d, 0x1a, 0x1d, 0x10, 0x24, 0x25, 0x2b, 0x37, 0x19, 0x24, 0x26, 0x28, 0x13, 0x16, 0x17, 0x14, 0x19, 0x0b, 0x2f, 0x25, 0x37, 0x34, 0x37, 0x39, 0x21, 0x1b + .byte 0x0f, 0x3d, 0x2d, 0x0d, 0x10, 0x20, 0x05, 0x0b, 0x2d, 0x01, 0x12, 0x24, 0x18, 0x3d, 0x32, 0x09, 0x21, 0x26, 0x1a, 0x0e, 0x1f, 0x30, 0x06, 0x1f, 0x0b, 0x3c, 0x29, 0x07, 0x3e, 0x27, 0x13, 0x1e + .byte 0x1a, 0x13, 0x07, 0x23, 0x10, 0x34, 0x1e, 0x32, 0x17, 0x23, 0x35, 0x16, 0x31, 0x32, 0x2e, 0x1b, 0x28, 0x0e, 0x22, 0x14, 0x3a, 0x23, 0x22, 0x03, 0x29, 0x2a, 0x10, 0x20, 0x3e, 0x3c, 0x27, 0x16 + .byte 0x20, 0x12, 0x3f, 0x24, 0x31, 0x0d, 0x2e, 0x32, 0x2f, 0x17, 0x2d, 0x36, 0x3b, 0x17, 0x24, 0x23, 0x18, 0x37, 0x1d, 0x13, 0x17, 0x3a, 0x1a, 0x0a, 0x3d, 0x1e, 0x05, 0x12, 0x16, 0x33, 0x32, 0x25 + .byte 0x1d, 0x1f, 0x29, 0x34, 0x2c, 0x26, 0x20, 0x29, 0x35, 0x0e, 0x32, 0x17, 0x01, 0x39, 0x2d, 0x27, 0x24, 0x23, 0x28, 0x3f, 0x18, 0x39, 0x38, 0x25, 0x23, 0x11, 0x11, 0x19, 0x2c, 0x29, 0x30, 0x08 + .byte 0x28, 0x25, 0x27, 0x1d, 0x17, 0x25, 0x21, 0x09, 0x3d, 0x16, 0x1b, 0x0f, 0x2c, 0x1b, 0x12, 0x22, 0x28, 0x3e, 0x26, 0x34, 0x10, 0x1b, 0x02, 0x34, 0x15, 0x1a, 0x29, 0x19, 0x29, 0x11, 0x31, 0x12 + .byte 0x27, 0x17, 0x27, 0x27, 0x2f, 0x34, 0x27, 0x24, 0x03, 0x19, 0x36, 0x17, 0x1d, 0x33, 0x19, 0x25, 0x1a, 0x2b, 0x39, 0x13, 0x3b, 0x33, 0x1d, 0x27, 0x31, 0x34, 0x28, 0x33, 0x37, 0x09, 0x30, 0x1b + .byte 0x03, 0x3a, 0x27, 0x19, 0x11, 0x1f, 0x0b, 0x1a, 0x34, 0x3d, 0x2a, 0x15, 0x04, 0x24, 0x36, 0x30, 0x23, 0x30, 0x0f, 0x22, 0x1b, 0x3d, 0x3d, 0x24, 0x29, 0x1d, 0x12, 0x16, 0x19, 0x2e, 0x03, 0x12 + .byte 0x17, 0x18, 0x25, 0x33, 0x2f, 0x23, 0x1a, 0x1a, 0x35, 0x27, 0x21, 0x26, 0x19, 0x1b, 0x30, 0x18, 0x2b, 0x22, 0x2d, 0x2c, 0x1a, 0x34, 0x3e, 0x12, 0x19, 0x28, 0x27, 0x15, 0x1b, 0x11, 0x12, 0x17 + .byte 0x15, 0x10, 0x34, 0x37, 0x25, 0x12, 0x3f, 0x15, 0x31, 0x0d, 0x37, 0x3e, 0x2a, 0x2d, 0x0f, 0x24, 0x24, 0x3c, 0x3f, 0x1f, 0x1d, 0x34, 0x17, 0x1a, 0x23, 0x1f, 0x37, 0x0f, 0x10, 0x32, 0x34, 0x35 + .byte 0x19, 0x05, 0x22, 0x33, 0x16, 0x34, 0x1e, 0x14, 0x1e, 0x08, 0x13, 0x29, 0x3a, 0x37, 0x30, 0x1d, 0x36, 0x15, 0x29, 0x2e, 0x1d, 0x32, 0x2e, 0x23, 0x35, 0x17, 0x1c, 0x36, 0x1d, 0x13, 0x23, 0x34 + .byte 0x34, 0x24, 0x1a, 0x37, 0x2f, 0x26, 0x2e, 0x1e, 0x17, 0x1a, 0x1f, 0x15, 0x1f, 0x2b, 0x1f, 0x19, 0x0a, 0x33, 0x1a, 0x35, 0x31, 0x24, 0x2d, 0x17, 0x2c, 0x0c, 0x21, 0x36, 0x2c, 0x35, 0x35, 0x1b + .byte 0x03, 0x27, 0x01, 0x0d, 0x1d, 0x1c, 0x0e, 0x11, 0x11, 0x2b, 0x10, 0x25, 0x3b, 0x20, 0x1f, 0x17, 0x19, 0x20, 0x08, 0x36, 0x13, 0x38, 0x19, 0x1b, 0x2b, 0x24, 0x0b, 0x1f, 0x29, 0x27, 0x15, 0x2c + .byte 0x37, 0x39, 0x10, 0x3a, 0x15, 0x2e, 0x2f, 0x11, 0x36, 0x24, 0x04, 0x20, 0x3b, 0x2a, 0x35, 0x27, 0x35, 0x34, 0x0d, 0x1b, 0x20, 0x10, 0x22, 0x37, 0x1f, 0x38, 0x27, 0x31, 0x0f, 0x28, 0x28, 0x25 + .byte 0x15, 0x00, 0x1d, 0x25, 0x31, 0x28, 0x28, 0x0b, 0x3a, 0x1d, 0x2d, 0x13, 0x1b, 0x03, 0x37, 0x2e, 0x1d, 0x28, 0x19, 0x08, 0x2d, 0x22, 0x27, 0x39, 0x32, 0x3f, 0x2f, 0x1d, 0x33, 0x34, 0x28, 0x18 + .byte 0x08, 0x31, 0x23, 0x1f, 0x13, 0x0d, 0x2c, 0x23, 0x3a, 0x2d, 0x1a, 0x02, 0x25, 0x13, 0x20, 0x36, 0x34, 0x12, 0x2b, 0x2d, 0x35, 0x35, 0x34, 0x23, 0x20, 0x21, 0x3a, 0x19, 0x1b, 0x1f, 0x2b, 0x19 + .byte 0x35, 0x0e, 0x19, 0x26, 0x24, 0x37, 0x18, 0x08, 0x10, 0x0c, 0x16, 0x2d, 0x1f, 0x34, 0x21, 0x05, 0x38, 0x19, 0x14, 0x21, 0x24, 0x11, 0x31, 0x14, 0x3e, 0x38, 0x29, 0x3f, 0x08, 0x25, 0x2a, 0x1f + .byte 0x25, 0x25, 0x06, 0x28, 0x0b, 0x1e, 0x14, 0x1a, 0x38, 0x22, 0x24, 0x18, 0x29, 0x1a, 0x11, 0x20, 0x3b, 0x3a, 0x1e, 0x1c, 0x26, 0x1a, 0x05, 0x32, 0x19, 0x39, 0x2a, 0x31, 0x09, 0x07, 0x25, 0x05 + .byte 0x3e, 0x16, 0x34, 0x26, 0x14, 0x1b, 0x32, 0x26, 0x05, 0x08, 0x37, 0x0f, 0x03, 0x20, 0x2a, 0x39, 0x31, 0x08, 0x01, 0x1e, 0x1d, 0x23, 0x31, 0x28, 0x1b, 0x28, 0x1e, 0x37, 0x14, 0x13, 0x0e, 0x28 + .byte 0x2a, 0x3b, 0x37, 0x2f, 0x1c, 0x28, 0x30, 0x30, 0x1a, 0x36, 0x1f, 0x16, 0x3e, 0x0d, 0x15, 0x2e, 0x16, 0x18, 0x15, 0x37, 0x20, 0x2a, 0x33, 0x30, 0x2b, 0x0e, 0x25, 0x18, 0x20, 0x16, 0x02, 0x19 + .byte 0x25, 0x0a, 0x2e, 0x30, 0x16, 0x03, 0x11, 0x04, 0x27, 0x25, 0x1b, 0x1c, 0x21, 0x29, 0x04, 0x27, 0x3d, 0x20, 0x1e, 0x28, 0x33, 0x31, 0x1e, 0x39, 0x10, 0x31, 0x29, 0x1e, 0x06, 0x25, 0x28, 0x19 + .byte 0x3b, 0x12, 0x0b, 0x1b, 0x1c, 0x3e, 0x37, 0x20, 0x0a, 0x37, 0x33, 0x02, 0x2c, 0x25, 0x15, 0x18, 0x14, 0x3b, 0x20, 0x1c, 0x22, 0x3b, 0x1c, 0x24, 0x34, 0x35, 0x0f, 0x2f, 0x31, 0x3b, 0x17, 0x35 + .byte 0x30, 0x39, 0x37, 0x0d, 0x15, 0x11, 0x10, 0x03, 0x1e, 0x1a, 0x39, 0x33, 0x2f, 0x2e, 0x28, 0x1c, 0x28, 0x36, 0x28, 0x18, 0x1f, 0x15, 0x01, 0x30, 0x3e, 0x32, 0x28, 0x34, 0x2f, 0x23, 0x07, 0x0c + .byte 0x36, 0x28, 0x2c, 0x34, 0x2a, 0x0c, 0x1f, 0x3f, 0x20, 0x13, 0x2b, 0x17, 0x27, 0x28, 0x29, 0x2a, 0x3c, 0x13, 0x36, 0x26, 0x2d, 0x2a, 0x0a, 0x06, 0x1e, 0x20, 0x04, 0x1a, 0x02, 0x07, 0x35, 0x0e + .byte 0x18, 0x30, 0x00, 0x34, 0x34, 0x2f, 0x14, 0x37, 0x21, 0x30, 0x1f, 0x15, 0x37, 0x1b, 0x3a, 0x0b, 0x32, 0x22, 0x22, 0x21, 0x1b, 0x35, 0x23, 0x0d, 0x03, 0x1c, 0x23, 0x3b, 0x13, 0x0e, 0x1d, 0x1f + .byte 0x1d, 0x3f, 0x2e, 0x39, 0x27, 0x2e, 0x0f, 0x38, 0x20, 0x31, 0x3c, 0x35, 0x0b, 0x0f, 0x2e, 0x06, 0x06, 0x28, 0x25, 0x39, 0x23, 0x0a, 0x32, 0x15, 0x0f, 0x1d, 0x25, 0x0c, 0x0d, 0x34, 0x12, 0x2e + .byte 0x21, 0x36, 0x18, 0x1f, 0x1f, 0x34, 0x1b, 0x05, 0x3a, 0x36, 0x2b, 0x01, 0x17, 0x0e, 0x16, 0x2b, 0x0e, 0x0b, 0x26, 0x0d, 0x2d, 0x10, 0x21, 0x11, 0x27, 0x3d, 0x13, 0x32, 0x15, 0x25, 0x2a, 0x1b + .byte 0x2d, 0x35, 0x2c, 0x2b, 0x26, 0x26, 0x1f, 0x20, 0x22, 0x2b, 0x12, 0x3f, 0x3d, 0x27, 0x30, 0x0a, 0x36, 0x35, 0x1f, 0x17, 0x21, 0x08, 0x29, 0x1d, 0x20, 0x33, 0x34, 0x11, 0x16, 0x05, 0x38, 0x2d + diff --git a/data/data2b.s b/data/data2b.s index e723b4c975..b34995bee7 100644 --- a/data/data2b.s +++ b/data/data2b.s @@ -1,5 +1,8 @@ -@ the second big chunk of data - +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/species.h" +#include "constants/trainers.h" +#include "constants/pokemon.h" .include "asm/macros.inc" .include "constants/constants.inc" @@ -4710,7 +4713,7 @@ gUnknown_0831AA18:: @ 831AA18 window_template 0x00, 0x0c, 0x02, 0x06, 0x02, 0x00, 0x00a0 window_template 0x00, 0x04, 0x02, 0x07, 0x02, 0x00, 0x00a0 window_template 0x00, 0x13, 0x02, 0x07, 0x02, 0x00, 0x00b0 - window_template_terminator + null_window_template .align 2 gUnknown_0831AAE0:: @ 831AAE0 @@ -4737,7 +4740,7 @@ gUnknown_0831AAE0:: @ 831AAE0 window_template 0x00, 0x0c, 0x08, 0x06, 0x02, 0x05, 0x013c window_template 0x00, 0x08, 0x0b, 0x0e, 0x02, 0x05, 0x0148 window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x07, 0x0090 - window_template_terminator + null_window_template .align 2 gUnknown_0831ABA0:: @ 831ABA0 @@ -4747,74 +4750,74 @@ gUnknown_0831ABA0:: @ 831ABA0 .align 2 gBattleTerrainTable:: @ 831ABA8 @ tall_grass - .4byte gUnknown_08D77D68 - .4byte gUnknown_08D78350 - .4byte gUnknown_08D7E280 - .4byte gUnknown_08D7E808 - .4byte gUnknown_08D78318 + .4byte gBattleTerrainTiles_TallGrass + .4byte gBattleTerrainTilemap_TallGrass + .4byte gBattleTerrainAnimTiles_TallGrass + .4byte gBattleTerrainAnimTilemap_TallGrass + .4byte gBattleTerrainPalette_TallGrass @ long_grass - .4byte gUnknown_08D78600 - .4byte gUnknown_08D78CB8 - .4byte gUnknown_08D7E9C4 - .4byte gUnknown_08D7F0D4 - .4byte gUnknown_08D78C78 + .4byte gBattleTerrainTiles_LongGrass + .4byte gBattleTerrainTilemap_LongGrass + .4byte gBattleTerrainAnimTiles_LongGrass + .4byte gBattleTerrainAnimTilemap_LongGrass + .4byte gBattleTerrainPalette_LongGrass @ sand - .4byte gUnknown_08D78F68 - .4byte gUnknown_08D795A8 - .4byte gUnknown_08D7F30C - .4byte gUnknown_08D7F850 - .4byte gUnknown_08D79560 + .4byte gBattleTerrainTiles_Sand + .4byte gBattleTerrainTilemap_Sand + .4byte gBattleTerrainAnimTiles_Sand + .4byte gBattleTerrainAnimTilemap_Sand + .4byte gBattleTerrainPalette_Sand @ underwater - .4byte gUnknown_08D79858 - .4byte gUnknown_08D79E58 - .4byte gUnknown_08D7F9F8 - .4byte gUnknown_08D7FEC4 - .4byte gUnknown_08D79E10 + .4byte gBattleTerrainTiles_Underwater + .4byte gBattleTerrainTilemap_Underwater + .4byte gBattleTerrainAnimTiles_Underwater + .4byte gBattleTerrainAnimTilemap_Underwater + .4byte gBattleTerrainPalette_Underwater @ water - .4byte gUnknown_08D7A108 - .4byte gUnknown_08D7A720 - .4byte gUnknown_08D80054 - .4byte gUnknown_08D80660 - .4byte gUnknown_08D7A6DC + .4byte gBattleTerrainTiles_Water + .4byte gBattleTerrainTilemap_Water + .4byte gBattleTerrainAnimTiles_Water + .4byte gBattleTerrainAnimTilemap_Water + .4byte gBattleTerrainPalette_Water @ pond_water - .4byte gUnknown_08D7A9D0 - .4byte gUnknown_08D7AFB8 - .4byte gUnknown_08D80804 - .4byte gUnknown_08D80D50 - .4byte gUnknown_08D7AF78 + .4byte gBattleTerrainTiles_PondWater + .4byte gBattleTerrainTilemap_PondWater + .4byte gBattleTerrainAnimTiles_PondWater + .4byte gBattleTerrainAnimTilemap_PondWater + .4byte gBattleTerrainPalette_PondWater @ rock - .4byte gUnknown_08D7B268 - .4byte gUnknown_08D7B864 - .4byte gUnknown_08D80E9C - .4byte gUnknown_08D8147C - .4byte gUnknown_08D7B828 + .4byte gBattleTerrainTiles_Rock + .4byte gBattleTerrainTilemap_Rock + .4byte gBattleTerrainAnimTiles_Rock + .4byte gBattleTerrainAnimTilemap_Rock + .4byte gBattleTerrainPalette_Rock @ cave - .4byte gUnknown_08D7BB14 - .4byte gUnknown_08D7C154 - .4byte gUnknown_08D81610 - .4byte gUnknown_08D81E2C - .4byte gUnknown_08D7C10C + .4byte gBattleTerrainTiles_Cave + .4byte gBattleTerrainTilemap_Cave + .4byte gBattleTerrainAnimTiles_Cave + .4byte gBattleTerrainAnimTilemap_Cave + .4byte gBattleTerrainPalette_Cave @ building - .4byte gUnknown_08D7C440 - .4byte gUnknown_08D7CA28 - .4byte gUnknown_08D820D4 - .4byte gUnknown_08D824E4 - .4byte gUnknown_08D7DEB4 + .4byte gBattleTerrainTiles_Building + .4byte gBattleTerrainTilemap_Building + .4byte gBattleTerrainAnimTiles_Building + .4byte gBattleTerrainAnimTilemap_Building + .4byte gBattleTerrainPalette_Building @ plain - .4byte gUnknown_08D7C440 - .4byte gUnknown_08D7CA28 - .4byte gUnknown_08D820D4 - .4byte gUnknown_08D824E4 - .4byte gUnknown_08D7C404 + .4byte gBattleTerrainTiles_Building + .4byte gBattleTerrainTilemap_Building + .4byte gBattleTerrainAnimTiles_Building + .4byte gBattleTerrainAnimTilemap_Building + .4byte gBattleTerrainPalette_Plain .align 2 gUnknown_0831AC70:: @ 831AC70 diff --git a/data/data2c.s b/data/data2c.s index be715493c4..8d134ccb25 100644 --- a/data/data2c.s +++ b/data/data2c.s @@ -1,5 +1,8 @@ -@ the second big chunk of data - +#include "constants/abilities.h" +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/species.h" +#include "constants/pokemon.h" .include "asm/macros.inc" .include "constants/constants.inc" @@ -7,189 +10,9 @@ .align 2 - @ 831C898 .include "data/battle_moves.inc" @ 0x31d93c @ unreferenced unknown data .byte 0x34, 0x00, 0x10, 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00 - -@ 831D94C - .include "data/pokedex_order.inc" - -@ 831E2F0 - .include "data/spinda_spot_graphics.inc" - -@ 831E380 - .include "data/item_effect_info.inc" - -@ 831E818 - .include "data/nature_stat_table.inc" - -@ 831E898 - .include "data/tm_hm_learnsets.inc" - -@ 831F578 - .include "data/trainer_pic_indices.inc" - -@ 831F5CA - .include "data/trainer_class_name_indices.inc" - -@ 831F61C - .include "data/cry_id_table.inc" - -@ 831F72C - .include "data/experience_tables.inc" - -@ 83203CC - .include "data/base_stats.inc" - -@ 83230DC - .include "data/level_up_learnsets.inc" - -@ 832531C - .include "data/evolution_table.inc" - -@ 832937C - .include "data/level_up_learnset_pointers.inc" - -@ 83299EC - .include "data/graphics/pokemon/front_anim_ids_table.inc" - -@ 8329B87 - .include "data/graphics/pokemon/animation_delay_table.inc" - - .align 1 -gUnknown_08329D22:: @ 8329D22 -@ Masks for getting PP Up count, also PP Max values - .byte 0x03, 0x0c, 0x30, 0xc0 - - .align 1 -gUnknown_08329D26:: @ 8329D26 -@ Masks for setting PP Up count - .byte 0xfc, 0xf3, 0xcf, 0x3f - - .align 1 -gUnknown_08329D2A:: @ 8329D2A -@ Values added to PP Up count - .byte 0x01, 0x04, 0x10, 0x40 - - .align 1 -gStatStageRatios:: @ 8329D2E - .byte 0x0a, 0x28 - .byte 0x0a, 0x23 - .byte 0x0a, 0x1e - .byte 0x0a, 0x19 - .byte 0x0a, 0x14 - .byte 0x0a, 0x0f - .byte 0x0a, 0x0a - .byte 0x0f, 0x0a - .byte 0x14, 0x0a - .byte 0x19, 0x0a - .byte 0x1e, 0x0a - .byte 0x23, 0x0a - .byte 0x28, 0x0a - - .align 1 -gUnknown_08329D48:: @ 8329D48 - .2byte 0x0032, 0x005f, 0x005a, 0x00b4, 0x005f, 0x005a - - .align 1 -gUnknown_08329D54:: @ 8329D54 - .2byte 0x0003, 0x000a, 0x001b, 0x002b, 0x001e, 0x0043, 0x0042, 0x0019 - .2byte 0x0012, 0x000c, 0x001c, 0x0047, 0x001f, 0x0036, 0x0002, 0x0014 - - .align 1 -gHoldEffectToType:: @ 8329D74 - .byte 0x1f, 0x06 - .byte 0x2a, 0x08 - .byte 0x2e, 0x04 - .byte 0x2f, 0x05 - .byte 0x30, 0x0c - .byte 0x31, 0x11 - .byte 0x32, 0x01 - .byte 0x33, 0x0d - .byte 0x34, 0x0b - .byte 0x35, 0x02 - .byte 0x36, 0x03 - .byte 0x37, 0x0f - .byte 0x38, 0x07 - .byte 0x39, 0x0e - .byte 0x3a, 0x0a - .byte 0x3b, 0x10 - .byte 0x3c, 0x00 - .byte 0x00, 0x00 - - .align 2 -gUnknown_08329D98:: @ 8329D98 - spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF3A8, gUnknown_082FF618, sub_8039BB4 - spr_template 0xffff, 0x0000, gUnknown_0831ACA8, NULL, gUnknown_082FF3C8, gUnknown_082FF694, oac_poke_opponent - spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF3E8, gUnknown_082FF618, sub_8039BB4 - spr_template 0xffff, 0x0000, gUnknown_0831ACA8, NULL, gUnknown_082FF408, gUnknown_082FF694, oac_poke_opponent - - .align 2 -gUnknown_08329DF8:: @ 8329DF8 - spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF428, gUnknown_082FF618, sub_8039BB4 - spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF448, gUnknown_082FF618, sub_8039BB4 - spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF468, gUnknown_082FF618, sub_8039BB4 - spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF490, gUnknown_082FF618, sub_8039BB4 - spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF4B8, gUnknown_082FF618, sub_8039BB4 - spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF4D8, gUnknown_082FF618, sub_8039BB4 - spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF4F8, gUnknown_082FF618, sub_8039BB4 - spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF518, gUnknown_082FF618, sub_8039BB4 - -gSecretBaseTrainerClasses:: @ 8329EB8 - .byte TRAINER_CLASS_YOUNGSTER, TRAINER_CLASS_BUG_CATCHER, TRAINER_CLASS_RICH_BOY, TRAINER_CLASS_CAMPER, TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_CLASS_LASS, TRAINER_CLASS_SCHOOL_KID_2, TRAINER_CLASS_LADY, TRAINER_CLASS_PICNICKER, TRAINER_CLASS_COOLTRAINER_2 - -gUnknown_08329EC2:: @ 8329EC2 - .byte 0x1a, 0x1b, 0x1c, 0x1d, 0x1f, 0x1e - -gUnknown_08329EC8:: @ 8329EC8 - .byte 1, 1, 3, 2, 4, 6 - -gUnknown_08329ECE:: @ 8329ECE -@ Happiness deltas - .byte 0x05, 0x03, 0x02 - .byte 0x05, 0x03, 0x02 - .byte 0x01, 0x01, 0x00 - .byte 0x03, 0x02, 0x01 - .byte 0x01, 0x01, 0x00 - .byte 0x01, 0x01, 0x01 - .byte 0xff, 0xff, 0xff - .byte 0xfb, 0xfb, 0xf6 - .byte 0xfb, 0xfb, 0xf6 - - .align 1 -gHMMoves:: @ 8329EEA - .2byte MOVE_CUT - .2byte MOVE_FLY - .2byte MOVE_SURF - .2byte MOVE_STRENGTH - .2byte MOVE_FLASH - .2byte MOVE_ROCK_SMASH - .2byte MOVE_WATERFALL - .2byte MOVE_DIVE - .2byte 0xffff - - .align 1 -gAlteringCaveWildMonHeldItems:: @ 8329EFC - .2byte 0, ITEM_NONE - .2byte SPECIES_MAREEP, ITEM_GANLON_BERRY - .2byte SPECIES_PINECO, ITEM_APICOT_BERRY - .2byte SPECIES_HOUNDOUR, ITEM_BIG_MUSHROOM - .2byte SPECIES_TEDDIURSA, ITEM_PETAYA_BERRY - .2byte SPECIES_AIPOM, ITEM_BERRY_JUICE - .2byte SPECIES_SHUCKLE, ITEM_BERRY_JUICE - .2byte SPECIES_STANTLER, ITEM_PETAYA_BERRY - .2byte SPECIES_SMEARGLE, ITEM_SALAC_BERRY - - .align 2 -gUnknown_08329F20:: @ 8329F20 - .byte 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_08329F28:: @ 8329F28 - spr_template 0xffff, 0xffff, gUnknown_08329F20, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - diff --git a/data/data2e.s b/data/data2e.s new file mode 100644 index 0000000000..597d53067b --- /dev/null +++ b/data/data2e.s @@ -0,0 +1,151 @@ +#include "constants/abilities.h" +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/species.h" +#include "constants/trainers.h" + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 + +@ 83299EC + .include "data/graphics/pokemon/front_anim_ids_table.inc" + +@ 8329B87 + .include "data/graphics/pokemon/animation_delay_table.inc" + + .align 1 +gUnknown_08329D22:: @ 8329D22 +@ Masks for getting PP Up count, also PP Max values + .byte 0x03, 0x0c, 0x30, 0xc0 + + .align 1 +gUnknown_08329D26:: @ 8329D26 +@ Masks for setting PP Up count + .byte 0xfc, 0xf3, 0xcf, 0x3f + + .align 1 +gUnknown_08329D2A:: @ 8329D2A +@ Values added to PP Up count + .byte 0x01, 0x04, 0x10, 0x40 + + .align 1 +gStatStageRatios:: @ 8329D2E + .byte 0x0a, 0x28 + .byte 0x0a, 0x23 + .byte 0x0a, 0x1e + .byte 0x0a, 0x19 + .byte 0x0a, 0x14 + .byte 0x0a, 0x0f + .byte 0x0a, 0x0a + .byte 0x0f, 0x0a + .byte 0x14, 0x0a + .byte 0x19, 0x0a + .byte 0x1e, 0x0a + .byte 0x23, 0x0a + .byte 0x28, 0x0a + + .align 1 +gUnknown_08329D48:: @ 8329D48 + .2byte 0x0032, 0x005f, 0x005a, 0x00b4, 0x005f, 0x005a + + .align 1 +gUnknown_08329D54:: @ 8329D54 + .2byte 0x0003, 0x000a, 0x001b, 0x002b, 0x001e, 0x0043, 0x0042, 0x0019 + .2byte 0x0012, 0x000c, 0x001c, 0x0047, 0x001f, 0x0036, 0x0002, 0x0014 + + .align 1 +gHoldEffectToType:: @ 8329D74 + .byte 0x1f, 0x06 + .byte 0x2a, 0x08 + .byte 0x2e, 0x04 + .byte 0x2f, 0x05 + .byte 0x30, 0x0c + .byte 0x31, 0x11 + .byte 0x32, 0x01 + .byte 0x33, 0x0d + .byte 0x34, 0x0b + .byte 0x35, 0x02 + .byte 0x36, 0x03 + .byte 0x37, 0x0f + .byte 0x38, 0x07 + .byte 0x39, 0x0e + .byte 0x3a, 0x0a + .byte 0x3b, 0x10 + .byte 0x3c, 0x00 + .byte 0x00, 0x00 + + .align 2 +gUnknown_08329D98:: @ 8329D98 + spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF3A8, gUnknown_082FF618, sub_8039BB4 + spr_template 0xffff, 0x0000, gUnknown_0831ACA8, NULL, gUnknown_082FF3C8, gUnknown_082FF694, oac_poke_opponent + spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF3E8, gUnknown_082FF618, sub_8039BB4 + spr_template 0xffff, 0x0000, gUnknown_0831ACA8, NULL, gUnknown_082FF408, gUnknown_082FF694, oac_poke_opponent + + .align 2 +gUnknown_08329DF8:: @ 8329DF8 + spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF428, gUnknown_082FF618, sub_8039BB4 + spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF448, gUnknown_082FF618, sub_8039BB4 + spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF468, gUnknown_082FF618, sub_8039BB4 + spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF490, gUnknown_082FF618, sub_8039BB4 + spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF4B8, gUnknown_082FF618, sub_8039BB4 + spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF4D8, gUnknown_082FF618, sub_8039BB4 + spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF4F8, gUnknown_082FF618, sub_8039BB4 + spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF518, gUnknown_082FF618, sub_8039BB4 + +gSecretBaseTrainerClasses:: @ 8329EB8 + .byte FACILITY_CLASS_YOUNGSTER, FACILITY_CLASS_BUG_CATCHER, FACILITY_CLASS_RICH_BOY, FACILITY_CLASS_CAMPER, FACILITY_CLASS_COOLTRAINER_1 + .byte FACILITY_CLASS_LASS, FACILITY_CLASS_SCHOOL_KID_2, FACILITY_CLASS_LADY, FACILITY_CLASS_PICNICKER, FACILITY_CLASS_COOLTRAINER_2 + +gUnknown_08329EC2:: @ 8329EC2 + .byte 0x1a, 0x1b, 0x1c, 0x1d, 0x1f, 0x1e + +gUnknown_08329EC8:: @ 8329EC8 + .byte 1, 1, 3, 2, 4, 6 + +gUnknown_08329ECE:: @ 8329ECE +@ Happiness deltas + .byte 0x05, 0x03, 0x02 + .byte 0x05, 0x03, 0x02 + .byte 0x01, 0x01, 0x00 + .byte 0x03, 0x02, 0x01 + .byte 0x01, 0x01, 0x00 + .byte 0x01, 0x01, 0x01 + .byte 0xff, 0xff, 0xff + .byte 0xfb, 0xfb, 0xf6 + .byte 0xfb, 0xfb, 0xf6 + + .align 1 +gHMMoves:: @ 8329EEA + .2byte MOVE_CUT + .2byte MOVE_FLY + .2byte MOVE_SURF + .2byte MOVE_STRENGTH + .2byte MOVE_FLASH + .2byte MOVE_ROCK_SMASH + .2byte MOVE_WATERFALL + .2byte MOVE_DIVE + .2byte 0xffff + + .align 1 +gAlteringCaveWildMonHeldItems:: @ 8329EFC + .2byte 0, ITEM_NONE + .2byte SPECIES_MAREEP, ITEM_GANLON_BERRY + .2byte SPECIES_PINECO, ITEM_APICOT_BERRY + .2byte SPECIES_HOUNDOUR, ITEM_BIG_MUSHROOM + .2byte SPECIES_TEDDIURSA, ITEM_PETAYA_BERRY + .2byte SPECIES_AIPOM, ITEM_BERRY_JUICE + .2byte SPECIES_SHUCKLE, ITEM_BERRY_JUICE + .2byte SPECIES_STANTLER, ITEM_PETAYA_BERRY + .2byte SPECIES_SMEARGLE, ITEM_SALAC_BERRY + + .align 2 +gUnknown_08329F20:: @ 8329F20 + .byte 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00 + + .align 2 +gUnknown_08329F28:: @ 8329F28 + spr_template 0xffff, 0xffff, gUnknown_08329F20, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + diff --git a/data/data4.s b/data/data4.s deleted file mode 100644 index e98518b738..0000000000 --- a/data/data4.s +++ /dev/null @@ -1,902 +0,0 @@ -@ the fourth big chunk of data - - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -gUnknown_085B09E4:: @ 85B09E4 - .incbin "baserom.gba", 0x5b09e4, 0x10 - -gUnknown_085B09F4:: @ 85B09F4 - .incbin "baserom.gba", 0x5b09f4, 0x4 - -gUnknown_085B09F8:: @ 85B09F8 - .incbin "baserom.gba", 0x5b09f8, 0x8 - -gBirchBagGrassPal:: @ 85B0A00 - .incbin "baserom.gba", 0x5b0a00, 0x80 - -gBirchBagTilemap:: @ 85B0A80 - .incbin "baserom.gba", 0x5b0a80, 0x18c - -gBirchGrassTilemap:: @ 85B0C0C - .incbin "baserom.gba", 0x5b0c0c, 0x1f8 - -gBirchHelpGfx:: @ 85B0E04 - .incbin "baserom.gba", 0x5b0e04, 0xfc8 - -gUnknown_085B1DCC:: @ 85B1DCC - .incbin "baserom.gba", 0x5b1dcc, 0x10 - -gUnknown_085B1DDC:: @ 85B1DDC - .incbin "baserom.gba", 0x5b1ddc, 0x8 - -gUnknown_085B1DE4:: @ 85B1DE4 - .incbin "baserom.gba", 0x5b1de4, 0x8 - -gUnknown_085B1DEC:: @ 85B1DEC - .incbin "baserom.gba", 0x5b1dec, 0x6 - -gUnknown_085B1DF2:: @ 85B1DF2 - .incbin "baserom.gba", 0x5b1df2, 0x6 - -gUnknown_085B1DF8:: @ 85B1DF8 - .incbin "baserom.gba", 0x5b1df8, 0x8 - -gUnknown_085B1E00:: @ 85B1E00 - .incbin "baserom.gba", 0x5b1e00, 0xc - -gUnknown_085B1E0C:: @ 85B1E0C - .incbin "baserom.gba", 0x5b1e0c, 0x1c - -gUnknown_085B1E28:: @ 85B1E28 - .incbin "baserom.gba", 0x5b1e28, 0xa8 - -gUnknown_085B1ED0:: @ 85B1ED0 - .incbin "baserom.gba", 0x5b1ed0, 0x8 - -gUnknown_085B1ED8:: @ 85B1ED8 - .incbin "baserom.gba", 0x5b1ed8, 0x10 - -gUnknown_085B1EE8:: @ 85B1EE8 - .incbin "baserom.gba", 0x5b1ee8, 0x10 - -gUnknown_085B1EF8:: @ 85B1EF8 - .incbin "baserom.gba", 0x5b1ef8, 0x18 - -gUnknown_085B1F10:: @ 85B1F10 - .incbin "baserom.gba", 0x5b1f10, 0x18 - -gUnknown_085B1F28:: @ 85B1F28 - .incbin "baserom.gba", 0x5b1f28, 0x18 - -gUnknown_085B1F40:: @ 85B1F40 - .incbin "baserom.gba", 0x5b1f40, 0x294 - -gUnknown_085B21D4:: @ 85B21D4 - .incbin "baserom.gba", 0x5b21d4, 0x8 - -gUnknown_085B21DC:: @ 85B21DC - .incbin "baserom.gba", 0x5b21dc, 0x18 - -gUnknown_085B21F4:: @ 85B21F4 - .incbin "baserom.gba", 0x5b21f4, 0x8 - -gUnknown_085B21FC:: @ 85B21FC - .incbin "baserom.gba", 0x5b21fc, 0xc - -gUnknown_085B2208:: @ 85B2208 - .incbin "baserom.gba", 0x5b2208, 0x10 - -gUnknown_085B2218:: @ 85B2218 - .incbin "baserom.gba", 0x5b2218, 0x38 - -gUnknown_085B2250:: @ 85B2250 - .incbin "baserom.gba", 0x5b2250, 0x18 - -gUnknown_085B2268:: @ 85B2268 - .incbin "baserom.gba", 0x5b2268, 0x38 - -gUnknown_085B22A0:: @ 85B22A0 - .incbin "baserom.gba", 0x5b22a0, 0x18 - -gUnknown_085B22B8:: @ 85B22B8 - .incbin "baserom.gba", 0x5b22b8, 0x18 - -gUnknown_085B22D0:: @ 85B22D0 - .incbin "baserom.gba", 0x5b22d0, 0x2d0 - -gPokeblockFlavorCompatibilityTable:: @ 85B25A0 - .incbin "baserom.gba", 0x5b25a0, 0x80 - -gUnknown_085B2620:: @ 85B2620 - .incbin "baserom.gba", 0x5b2620, 0xc - -gPokeblockNames:: @ 85B262C - .incbin "baserom.gba", 0x5b262c, 0x3c - -gUnknown_085B2668:: @ 85B2668 - .incbin "baserom.gba", 0x5b2668, 0x30 - -gUnknown_085B2698:: @ 85B2698 - .incbin "baserom.gba", 0x5b2698, 0x3 - -gUnknown_085B269B:: @ 85B269B - .incbin "baserom.gba", 0x5b269b, 0x2 - -gUnknown_085B269D:: @ 85B269D - .incbin "baserom.gba", 0x5b269d, 0x2 - -gUnknown_085B269F:: @ 85B269F - .incbin "baserom.gba", 0x5b269f, 0x5 - -gUnknown_085B26A4:: @ 85B26A4 - .incbin "baserom.gba", 0x5b26a4, 0x4c - -gUnknown_085B26F0:: @ 85B26F0 - .incbin "baserom.gba", 0x5b26f0, 0x4 - -gUnknown_085B26F4:: @ 85B26F4 - .incbin "baserom.gba", 0x5b26f4, 0x8 - -gUnknown_085B26FC:: @ 85B26FC - .incbin "baserom.gba", 0x5b26fc, 0x8 - -gUnknown_085B2704:: @ 85B2704 - .incbin "baserom.gba", 0x5b2704, 0x18 - -gUnknown_085B271C:: @ 85B271C - .incbin "baserom.gba", 0x5b271c, 0x4 - -gUnknown_085B2720:: @ 85B2720 - .incbin "baserom.gba", 0x5b2720, 0x28 - -gUnknown_085B2748:: @ 85B2748 - .incbin "baserom.gba", 0x5b2748, 0x60 - -gUnknown_085B27A8:: @ 85B27A8 - .incbin "baserom.gba", 0x5b27a8, 0x8 - -gUnknown_085B27B0:: @ 85B27B0 - .incbin "baserom.gba", 0x5b27b0, 0x18 - -gUnknown_085B27C8:: @ 85B27C8 - .incbin "baserom.gba", 0x5b27c8, 0x88 - -gUnknown_085B2850:: @ 85B2850 - .incbin "baserom.gba", 0x5b2850, 0x20 - -gUnknown_085B2870:: @ 85B2870 - .incbin "baserom.gba", 0x5b2870, 0x20 - -gUnknown_085B2890:: @ 85B2890 - .incbin "baserom.gba", 0x5b2890, 0x10 - -gUnknown_085B28A0:: @ 85B28A0 - .incbin "baserom.gba", 0x5b28a0, 0x10 - -gUnknown_085B28B0:: @ 85B28B0 - .incbin "baserom.gba", 0x5b28b0, 0x1e0 - -gUnknown_085B2A90:: @ 85B2A90 - .incbin "baserom.gba", 0x5b2a90, 0xb4 - -gUnknown_085B2B44:: @ 85B2B44 - .incbin "baserom.gba", 0x5b2b44, 0x18 - -gUnknown_085B2B5C:: @ 85B2B5C - .incbin "baserom.gba", 0x5b2b5c, 0x4 - -gUnknown_085B2B60:: @ 85B2B60 - .incbin "baserom.gba", 0x5b2b60, 0x8 - -gUnknown_085B2B68:: @ 85B2B68 - .incbin "baserom.gba", 0x5b2b68, 0x10 - -gUnknown_085B2B78:: @ 85B2B78 - .incbin "baserom.gba", 0x5b2b78, 0x6 - -gUnknown_085B2B7E:: @ 85B2B7E - .incbin "baserom.gba", 0x5b2b7e, 0xa - -gUnknown_085B2B88:: @ 85B2B88 - .incbin "baserom.gba", 0x5b2b88, 0xc - -gUnknown_085B2B94:: @ 85B2B94 - .incbin "baserom.gba", 0x5b2b94, 0xc - -gUnknown_085B2BA0:: @ 85B2BA0 - .incbin "baserom.gba", 0x5b2ba0, 0xc - -gUnknown_085B2BAC:: @ 85B2BAC - .incbin "baserom.gba", 0x5b2bac, 0x8 - -gUnknown_085B2BB4:: @ 85B2BB4 - .incbin "baserom.gba", 0x5b2bb4, 0x40 - -gUnknown_085B2BF4:: @ 85B2BF4 - .incbin "baserom.gba", 0x5b2bf4, 0x12 - -gUnknown_085B2C06:: @ 85B2C06 - .incbin "baserom.gba", 0x5b2c06, 0x12 - -gUnknown_085B2C18:: @ 85B2C18 - .incbin "baserom.gba", 0x5b2c18, 0x9 - -gUnknown_085B2C21:: @ 85B2C21 - .incbin "baserom.gba", 0x5b2c21, 0x9 - -gUnknown_085B2C2A:: @ 85B2C2A - .incbin "baserom.gba", 0x5b2c2a, 0x26 - -gUnknown_085B2C50:: @ 85B2C50 - .incbin "baserom.gba", 0x5b2c50, 0x78 - -gUnknown_085B2CC8:: @ 85B2CC8 - .incbin "baserom.gba", 0x5b2cc8, 0x14 - -gUnknown_085B2CDC:: @ 85B2CDC - .incbin "baserom.gba", 0x5b2cdc, 0x14 - -gUnknown_085B2CF0:: @ 85B2CF0 - .incbin "baserom.gba", 0x5b2cf0, 0x340 - -gUnknown_085B3030:: @ 85B3030 - .incbin "baserom.gba", 0x5b3030, 0x10 - -gUnknown_085B3040:: @ 85B3040 - .incbin "baserom.gba", 0x5b3040, 0x64 - -gUnknown_085B30A4:: @ 85B30A4 - .incbin "baserom.gba", 0x5b30a4, 0x30 - -gUnknown_085B30D4:: @ 85B30D4 - .incbin "baserom.gba", 0x5b30d4, 0x30 - -gUnknown_085B3104:: @ 85B3104 - .incbin "baserom.gba", 0x5b3104, 0x18 - -gUnknown_085B311C:: @ 85B311C - .incbin "baserom.gba", 0x5b311c, 0x8 - -gUnknown_085B3124:: @ 85B3124 - .incbin "baserom.gba", 0x5b3124, 0x8 - -gUnknown_085B312C:: @ 85B312C - .incbin "baserom.gba", 0x5b312c, 0x16 - -gUnknown_085B3142:: @ 85B3142 - .incbin "baserom.gba", 0x5b3142, 0xc - -gUnknown_085B314E:: @ 85B314E - .incbin "baserom.gba", 0x5b314e, 0xe - -gUnknown_085B315C:: @ 85B315C - .incbin "baserom.gba", 0x5b315c, 0x14 - -gUnknown_085B3170:: @ 85B3170 - .incbin "baserom.gba", 0x5b3170, 0x2c - -gUnknown_085B319C:: @ 85B319C - .incbin "baserom.gba", 0x5b319c, 0x18 - -gUnknown_085B31B4:: @ 85B31B4 - .incbin "baserom.gba", 0x5b31b4, 0x1c - -gUnknown_085B31D0:: @ 85B31D0 - .incbin "baserom.gba", 0x5b31d0, 0x28 - -gUnknown_085B31F8:: @ 85B31F8 - .incbin "baserom.gba", 0x5b31f8, 0x14 - -gUnknown_085B320C:: @ 85B320C - .incbin "baserom.gba", 0x5b320c, 0x14 - -gUnknown_085B3220:: @ 85B3220 - .incbin "baserom.gba", 0x5b3220, 0x8 - -gUnknown_085B3228:: @ 85B3228 - .incbin "baserom.gba", 0x5b3228, 0x2c - -gUnknown_085B3254:: @ 85B3254 - .incbin "baserom.gba", 0x5b3254, 0x2c - -gUnknown_085B3280:: @ 85B3280 - .incbin "baserom.gba", 0x5b3280, 0x160 - -gUnknown_085B33E0:: @ 85B33E0 - .incbin "baserom.gba", 0x5b33e0, 0x16 - -gUnknown_085B33F6:: @ 85B33F6 - .incbin "baserom.gba", 0x5b33f6, 0xa - -gUnknown_085B3400:: @ 85B3400 - .incbin "baserom.gba", 0x5b3400, 0x10 - -gUnknown_085B3410:: @ 85B3410 - .incbin "baserom.gba", 0x5b3410, 0x10 - -gUnknown_085B3420:: @ 85B3420 - .incbin "baserom.gba", 0x5b3420, 0x24 - -gUnknown_085B3444:: @ 85B3444 - .incbin "baserom.gba", 0x5b3444, 0x2c - -gUnknown_085B3470:: @ 85B3470 - .incbin "baserom.gba", 0x5b3470, 0x4 - -gUnknown_085B3474:: @ 85B3474 - .incbin "baserom.gba", 0x5b3474, 0x8 - -gUnknown_085B347C:: @ 85B347C - .incbin "baserom.gba", 0x5b347c, 0x8 - -gUnknown_085B3484:: @ 85B3484 - .incbin "baserom.gba", 0x5b3484, 0xc0 - -gUnknown_085B3544:: @ 85B3544 - .incbin "baserom.gba", 0x5b3544, 0x20 - -gUnknown_085B3564:: @ 85B3564 - .incbin "baserom.gba", 0x5b3564, 0x800 - -gUnknown_085B3D64:: @ 85B3D64 - .incbin "baserom.gba", 0x5b3d64, 0x8 - -gUnknown_085B3D6C:: @ 85B3D6C - .incbin "baserom.gba", 0x5b3d6c, 0x10 - -gUnknown_085B3D7C:: @ 85B3D7C - .incbin "baserom.gba", 0x5b3d7c, 0x8 - -gUnknown_085B3D84:: @ 85B3D84 - .incbin "baserom.gba", 0x5b3d84, 0x8 - -gUnknown_085B3D8C:: @ 85B3D8C - .incbin "baserom.gba", 0x5b3d8c, 0x8 - -gUnknown_085B3D94:: @ 85B3D94 - .incbin "baserom.gba", 0x5b3d94, 0x20 - -gUnknown_085B3DB4:: @ 85B3DB4 - .incbin "baserom.gba", 0x5b3db4, 0x134 - -gUnknown_085B3EE8:: @ 85B3EE8 - .incbin "baserom.gba", 0x5b3ee8, 0x2 - -gUnknown_085B3EEA:: @ 85B3EEA - .incbin "baserom.gba", 0x5b3eea, 0x6 - -gUnknown_085B3EF0:: @ 85B3EF0 - .incbin "baserom.gba", 0x5b3ef0, 0xc - -gUnknown_085B3EFC:: @ 85B3EFC - .incbin "baserom.gba", 0x5b3efc, 0x1c - -gUnknown_085B3F18:: @ 85B3F18 - .incbin "baserom.gba", 0x5b3f18, 0x100 - -gUnknown_085B4018:: @ 85B4018 - .incbin "baserom.gba", 0x5b4018, 0x4 - -gUnknown_085B401C:: @ 85B401C - .incbin "baserom.gba", 0x5b401c, 0x8 - -gUnknown_085B4024:: @ 85B4024 - .incbin "baserom.gba", 0x5b4024, 0x10 - -gUnknown_085B4034:: @ 85B4034 - .incbin "baserom.gba", 0x5b4034, 0xb8 - -gUnknown_085B40EC:: @ 85B40EC - .incbin "baserom.gba", 0x5b40ec, 0x10 - -gUnknown_085B40FC:: @ 85B40FC - .incbin "baserom.gba", 0x5b40fc, 0x38 - -gUnknown_085B4134:: @ 85B4134 - .incbin "baserom.gba", 0x5b4134, 0x6f8 - -gUnknown_085B482C:: @ 85B482C - .incbin "baserom.gba", 0x5b482c, 0x4e4 - -gUnknown_085B4D10:: @ 85B4D10 - .incbin "baserom.gba", 0x5b4d10, 0x4d4 - -gUnknown_085B51E4:: @ 85B51E4 - .incbin "baserom.gba", 0x5b51e4, 0x6a0 - -gUnknown_085B5884:: @ 85B5884 - .incbin "baserom.gba", 0x5b5884, 0x40 - -gText_ShedinjaJapaneseName2:: @ 85B58C4 - .incbin "baserom.gba", 0x5b58c4, 0x5 - -gUnknown_085B58C9:: @ 85B58C9 - .incbin "baserom.gba", 0x5b58c9, 0x10 - -gUnknown_085B58D9:: @ 85B58D9 - .incbin "baserom.gba", 0x5b58d9, 0x323 - -gUnknown_085B5BFC:: @ 85B5BFC - .incbin "baserom.gba", 0x5b5bfc, 0x200 - -gUnknown_085B5DFC:: @ 85B5DFC - .incbin "baserom.gba", 0x5b5dfc, 0x1a4 - -gUnknown_085B5FA0:: @ 85B5FA0 - .incbin "baserom.gba", 0x5b5fa0, 0x1a0 - -gUnknown_085B6140:: @ 85B6140 - .incbin "baserom.gba", 0x5b6140, 0xc - -gUnknown_085B614C:: @ 85B614C - .incbin "baserom.gba", 0x5b614c, 0x8 - -gUnknown_085B6154:: @ 85B6154 - .incbin "baserom.gba", 0x5b6154, 0xc - -gUnknown_085B6160:: @ 85B6160 - .incbin "baserom.gba", 0x5b6160, 0x184 - -gUnknown_085B62E4:: @ 85B62E4 - .incbin "baserom.gba", 0x5b62e4, 0x4 - -gUnknown_085B62E8:: @ 85B62E8 - .incbin "baserom.gba", 0x5b62e8, 0x5c - -gUnknown_085B6344:: @ 85B6344 - .incbin "baserom.gba", 0x5b6344, 0x4 - -gUnknown_085B6348:: @ 85B6348 - .incbin "baserom.gba", 0x5b6348, 0x40 - -gUnknown_085B6388:: @ 85B6388 - .incbin "baserom.gba", 0x5b6388, 0x68 - -gUnknown_085B63F0:: @ 85B63F0 - .incbin "baserom.gba", 0x5b63f0, 0x18 - -gUnknown_085B6408:: @ 85B6408 - .incbin "baserom.gba", 0x5b6408, 0x8 - -gUnknown_085B6410:: @ 85B6410 - .incbin "baserom.gba", 0x5b6410, 0x8 - -gUnknown_085B6418:: @ 85B6418 - .incbin "baserom.gba", 0x5b6418, 0x6 - -gUnknown_085B641E:: @ 85B641E - .incbin "baserom.gba", 0x5b641e, 0x4 - -gUnknown_085B6422:: @ 85B6422 - .incbin "baserom.gba", 0x5b6422, 0xa - -gUnknown_085B642C:: @ 85B642C - .incbin "baserom.gba", 0x5b642c, 0x10 - -gUnknown_085B643C:: @ 85B643C - .incbin "baserom.gba", 0x5b643c, 0xc - -gUnknown_085B6448:: @ 85B6448 - .incbin "baserom.gba", 0x5b6448, 0xf3c - -gUnknown_085B7384:: @ 85B7384 - .incbin "baserom.gba", 0x5b7384, 0x98 - -gUnknown_085B741C:: @ 85B741C - .incbin "baserom.gba", 0x5b741c, 0x6c - -gUnknown_085B7488:: @ 85B7488 - .incbin "baserom.gba", 0x5b7488, 0x8 - -gUnknown_085B7490:: @ 85B7490 - .incbin "baserom.gba", 0x5b7490, 0x78 - -gUnknown_085B7508:: @ 85B7508 - .incbin "baserom.gba", 0x5b7508, 0x60 - -gUnknown_085B7568:: @ 85B7568 - .incbin "baserom.gba", 0x5b7568, 0x48 - -gUnknown_085B75B0:: @ 85B75B0 - .incbin "baserom.gba", 0x5b75b0, 0x60 - -gUnknown_085B7610:: @ 85B7610 - .incbin "baserom.gba", 0x5b7610, 0x140 - -gUnknown_085B7750:: @ 85B7750 - .incbin "baserom.gba", 0x5b7750, 0x94 - -gUnknown_085B77E4:: @ 85B77E4 - .incbin "baserom.gba", 0x5b77e4, 0x18 - -gUnknown_085B77FC:: @ 85B77FC - .incbin "baserom.gba", 0x5b77fc, 0x18 - -gUnknown_085B7814:: @ 85B7814 - .incbin "baserom.gba", 0x5b7814, 0x18 - -gUnknown_085B782C:: @ 85B782C - .incbin "baserom.gba", 0x5b782c, 0x18 - -gUnknown_085B7844:: @ 85B7844 - .incbin "baserom.gba", 0x5b7844, 0x20 - -gUnknown_085B7864:: @ 85B7864 - .incbin "baserom.gba", 0x5b7864, 0xc4 - -gUnknown_085B7928:: @ 85B7928 - .incbin "baserom.gba", 0x5b7928, 0x20 - -gUnknown_085B7948:: @ 85B7948 - .incbin "baserom.gba", 0x5b7948, 0x8 - -gUnknown_085B7950:: @ 85B7950 - .incbin "baserom.gba", 0x5b7950, 0x28 - -gUnknown_085B7978:: @ 85B7978 - .incbin "baserom.gba", 0x5b7978, 0x80 - -gUnknown_085B79F8:: @ 85B79F8 - .incbin "baserom.gba", 0x5b79f8, 0x18 - -gUnknown_085B7A10:: @ 85B7A10 - .incbin "baserom.gba", 0x5b7a10, 0x30 - -gUnknown_085B7A40:: @ 85B7A40 - .incbin "baserom.gba", 0x5b7a40, 0x7c - -gUnknown_085B7ABC:: @ 85B7ABC - .incbin "baserom.gba", 0x5b7abc, 0x30 - -gUnknown_085B7AEC:: @ 85B7AEC - .incbin "baserom.gba", 0x5b7aec, 0x18 - -gUnknown_085B7B04:: @ 85B7B04 - .incbin "baserom.gba", 0x5b7b04, 0x6 - -gUnknown_085B7B0A:: @ 85B7B0A - .incbin "baserom.gba", 0x5b7b0a, 0x8 - -gUnknown_085B7B12:: @ 85B7B12 - .incbin "baserom.gba", 0x5b7b12, 0x8 - -gUnknown_085B7B1A:: @ 85B7B1A - .incbin "baserom.gba", 0x5b7b1a, 0x14 - -gUnknown_085B7B2E:: @ 85B7B2E - .incbin "baserom.gba", 0x5b7b2e, 0x18 - -gUnknown_085B7B46:: @ 85B7B46 - .incbin "baserom.gba", 0x5b7b46, 0x2 - -gUnknown_085B7B48:: @ 85B7B48 - .incbin "baserom.gba", 0x5b7b48, 0x8d0 - -gUnknown_085B8418:: @ 85B8418 - .incbin "baserom.gba", 0x5b8418, 0x20 - -gUnknown_085B8438:: @ 85B8438 - .incbin "baserom.gba", 0x5b8438, 0x338 - -gUnknown_085B8770:: @ 85B8770 - .incbin "baserom.gba", 0x5b8770, 0x480 - -gUnknown_085B8BF0:: @ 85B8BF0 - .incbin "baserom.gba", 0x5b8bf0, 0x20 - -gUnknown_085B8C10:: @ 85B8C10 - .incbin "baserom.gba", 0x5b8c10, 0x20 - -gUnknown_085B8C30:: @ 85B8C30 - .incbin "baserom.gba", 0x5b8c30, 0x2 - -gUnknown_085B8C32:: @ 85B8C32 - .incbin "baserom.gba", 0x5b8c32, 0x36 - -gUnknown_085B8C68:: @ 85B8C68 - .incbin "baserom.gba", 0x5b8c68, 0x18 - -gUnknown_085B8C80:: @ 85B8C80 - .incbin "baserom.gba", 0x5b8c80, 0x10 - -gUnknown_085B8C90:: @ 85B8C90 - .incbin "baserom.gba", 0x5b8c90, 0x528 - -gUnknown_085B91B8:: @ 85B91B8 - .incbin "baserom.gba", 0x5b91b8, 0x178 - -gUnknown_085B9330:: @ 85B9330 - .incbin "baserom.gba", 0x5b9330, 0x580 - -gUnknown_085B98B0:: @ 85B98B0 - .incbin "baserom.gba", 0x5b98b0, 0x240 - -gUnknown_085B9AF0:: @ 85B9AF0 - .incbin "baserom.gba", 0x5b9af0, 0x11e0 - -gUnknown_085BACD0:: @ 85BACD0 - .incbin "baserom.gba", 0x5bacd0, 0x1e0 - -gUnknown_085BAEB0:: @ 85BAEB0 - .incbin "baserom.gba", 0x5baeb0, 0x20 - -gUnknown_085BAED0:: @ 85BAED0 - .incbin "baserom.gba", 0x5baed0, 0x378 - -gUnknown_085BB248:: @ 85BB248 - .incbin "baserom.gba", 0x5bb248, 0x25c - -gUnknown_085BB4A4:: @ 85BB4A4 - .incbin "baserom.gba", 0x5bb4a4, 0x48c - -gUnknown_085BB930:: @ 85BB930 - .incbin "baserom.gba", 0x5bb930, 0x2e4 - -gUnknown_085BBC14:: @ 85BBC14 - .incbin "baserom.gba", 0x5bbc14, 0x6a0 - -gUnknown_085BC2B4:: @ 85BC2B4 - .incbin "baserom.gba", 0x5bc2b4, 0x20 - -gUnknown_085BC2D4:: @ 85BC2D4 - .incbin "baserom.gba", 0x5bc2d4, 0x20 - -gUnknown_085BC2F4:: @ 85BC2F4 - .incbin "baserom.gba", 0x5bc2f4, 0x20 - -gUnknown_085BC314:: @ 85BC314 - .incbin "baserom.gba", 0x5bc314, 0x800 - -gUnknown_085BCB14:: @ 85BCB14 - .incbin "baserom.gba", 0x5bcb14, 0x800 - -gUnknown_085BD314:: @ 85BD314 - .incbin "baserom.gba", 0x5bd314, 0x820 - -gUnknown_085BDB34:: @ 85BDB34 - .incbin "baserom.gba", 0x5bdb34, 0x6b4 - -gUnknown_085BE1E8:: @ 85BE1E8 - .incbin "baserom.gba", 0x5be1e8, 0x334 - -gUnknown_085BE51C:: @ 85BE51C - .incbin "baserom.gba", 0x5be51c, 0x56c - -gUnknown_085BEA88:: @ 85BEA88 - .incbin "baserom.gba", 0x5bea88, 0x318 - -gUnknown_085BEDA0:: @ 85BEDA0 - .incbin "baserom.gba", 0x5beda0, 0x140 - -gUnknown_085BEEE0:: @ 85BEEE0 - .incbin "baserom.gba", 0x5beee0, 0x1c0 - -gUnknown_085BF0A0:: @ 85BF0A0 - .incbin "baserom.gba", 0x5bf0a0, 0x200 - -gUnknown_085BF2A0:: @ 85BF2A0 - .incbin "baserom.gba", 0x5bf2a0, 0x200 - -gUnknown_085BF4A0:: @ 85BF4A0 - .incbin "baserom.gba", 0x5bf4a0, 0xa0 - -gUnknown_085BF540:: @ 85BF540 - .incbin "baserom.gba", 0x5bf540, 0x160 - -gUnknown_085BF6A0:: @ 85BF6A0 - .incbin "baserom.gba", 0x5bf6a0, 0x7540 - -gUnknown_085C6BE0:: @ 85C6BE0 - .incbin "baserom.gba", 0x5c6be0, 0x1000 - -gUnknown_085C7BE0:: @ 85C7BE0 - .incbin "baserom.gba", 0x5c7be0, 0x20 - -gUnknown_085C7C00:: @ 85C7C00 - .incbin "baserom.gba", 0x5c7c00, 0x68c - -gUnknown_085C828C:: @ 85C828C - .incbin "baserom.gba", 0x5c828c, 0x2ec - -gUnknown_085C8578:: @ 85C8578 - .incbin "baserom.gba", 0x5c8578, 0x20 - -gUnknown_085C8598:: @ 85C8598 - .incbin "baserom.gba", 0x5c8598, 0x15c - -gUnknown_085C86F4:: @ 85C86F4 - .incbin "baserom.gba", 0x5c86f4, 0x100 - -gUnknown_085C87F4:: @ 85C87F4 - .incbin "baserom.gba", 0x5c87f4, 0xb0 - -gUnknown_085C88A4:: @ 85C88A4 - .incbin "baserom.gba", 0x5c88a4, 0x84 - -gUnknown_085C8928:: @ 85C8928 - .incbin "baserom.gba", 0x5c8928, 0x20 - -gUnknown_085C8948:: @ 85C8948 - .incbin "baserom.gba", 0x5c8948, 0xa8 - -gUnknown_085C89F0:: @ 85C89F0 - .incbin "baserom.gba", 0x5c89f0, 0xa8 - -gUnknown_085C8A98:: @ 85C8A98 - .incbin "baserom.gba", 0x5c8a98, 0x10 - -gUnknown_085C8AA8:: @ 85C8AA8 - .incbin "baserom.gba", 0x5c8aa8, 0xc - -gUnknown_085C8AB4:: @ 85C8AB4 - .incbin "baserom.gba", 0x5c8ab4, 0x8 - -gUnknown_085C8ABC:: @ 85C8ABC - .incbin "baserom.gba", 0x5c8abc, 0x8 - -gUnknown_085C8AC4:: @ 85C8AC4 - .incbin "baserom.gba", 0x5c8ac4, 0x1c - -gUnknown_085C8AE0:: @ 85C8AE0 - .incbin "baserom.gba", 0x5c8ae0, 0x1c - -gUnknown_085C8AFC:: @ 85C8AFC - .incbin "baserom.gba", 0x5c8afc, 0x18 - -gUnknown_085C8B14:: @ 85C8B14 - .incbin "baserom.gba", 0x5c8b14, 0x18 - -gUnknown_085C8B2C:: @ 85C8B2C - .incbin "baserom.gba", 0x5c8b2c, 0x18 - -gUnknown_085C8B44:: @ 85C8B44 - .incbin "baserom.gba", 0x5c8b44, 0x18 - -gUnknown_085C8B5C:: @ 85C8B5C - .incbin "baserom.gba", 0x5c8b5c, 0x20 - -gUnknown_085C8B7C:: @ 85C8B7C - .incbin "baserom.gba", 0x5c8b7c, 0xc - -gUnknown_085C8B88:: @ 85C8B88 - .incbin "baserom.gba", 0x5c8b88, 0x4 - -gUnknown_085C8B8C:: @ 85C8B8C - .incbin "baserom.gba", 0x5c8b8c, 0xa - -gUnknown_085C8B96:: @ 85C8B96 - .incbin "baserom.gba", 0x5c8b96, 0x6 - -gUnknown_085C8B9C:: @ 85C8B9C - .incbin "baserom.gba", 0x5c8b9c, 0x1c - -gUnknown_085C8BB8:: @ 85C8BB8 - .incbin "baserom.gba", 0x5c8bb8, 0x8 - -gUnknown_085C8BC0:: @ 85C8BC0 - .incbin "baserom.gba", 0x5c8bc0, 0xc - -gUnknown_085C8BCC:: @ 85C8BCC - .incbin "baserom.gba", 0x5c8bcc, 0x28 - -gUnknown_085C8BF4:: @ 85C8BF4 - .incbin "baserom.gba", 0x5c8bf4, 0x6 - -gUnknown_085C8BFA:: @ 85C8BFA - .incbin "baserom.gba", 0x5c8bfa, 0x14 - -gUnknown_085C8C0E:: @ 85C8C0E - .incbin "baserom.gba", 0x5c8c0e, 0x16 - -gUnknown_085C8C24:: @ 85C8C24 - .incbin "baserom.gba", 0x5c8c24, 0x1c - -gUnknown_085C8C40:: @ 85C8C40 - .incbin "baserom.gba", 0x5c8c40, 0x4 - -gUnknown_085C8C44:: @ 85C8C44 - .incbin "baserom.gba", 0x5c8c44, 0x4 - -gUnknown_085C8C48:: @ 85C8C48 - .incbin "baserom.gba", 0x5c8c48, 0xc - -gUnknown_085C8C54:: @ 85C8C54 - .incbin "baserom.gba", 0x5c8c54, 0x10 - -gUnknown_085C8C64:: @ 85C8C64 - .incbin "baserom.gba", 0x5c8c64, 0x2 - -gUnknown_085C8C66:: @ 85C8C66 - .incbin "baserom.gba", 0x5c8c66, 0x6 - -gUnknown_085C8C6C:: @ 85C8C6C - .incbin "baserom.gba", 0x5c8c6c, 0xc - -gUnknown_085C8C78:: @ 85C8C78 - .incbin "baserom.gba", 0x5c8c78, 0x8 - -gUnknown_085C8C80:: @ 85C8C80 - .incbin "baserom.gba", 0x5c8c80, 0x4 - -gUnknown_085C8C84:: @ 85C8C84 - .incbin "baserom.gba", 0x5c8c84, 0xb4 - -gUnknown_085C8D38:: @ 85C8D38 - .incbin "baserom.gba", 0x5c8d38, 0x8 - -gUnknown_085C8D40:: @ 85C8D40 - .incbin "baserom.gba", 0x5c8d40, 0x20 - -gUnknown_085C8D60:: @ 85C8D60 - .incbin "baserom.gba", 0x5c8d60, 0x2c - -gUnknown_085C8D8C:: @ 85C8D8C - .incbin "baserom.gba", 0x5c8d8c, 0x14 - -gUnknown_085C8DA0:: @ 85C8DA0 - .incbin "baserom.gba", 0x5c8da0, 0x10 - -gUnknown_085C8DB0:: @ 85C8DB0 - .incbin "baserom.gba", 0x5c8db0, 0xc - -gUnknown_085C8DBC:: @ 85C8DBC - .incbin "baserom.gba", 0x5c8dbc, 0x14 - -gUnknown_085C8DD0:: @ 85C8DD0 - .incbin "baserom.gba", 0x5c8dd0, 0x46 - -gUnknown_085C8E16:: @ 85C8E16 - .incbin "baserom.gba", 0x5c8e16, 0xe - -gUnknown_085C8E24:: @ 85C8E24 - .incbin "baserom.gba", 0x5c8e24, 0x44 - -gUnknown_085C8E68:: @ 85C8E68 - .incbin "baserom.gba", 0x5c8e68, 0x6c - - .align 2 -gFieldEffectObjectPalette10:: @ 85C8ED4 - .incbin "graphics/map_objects/palettes/field_effect_object_palette_10.gbapal" - - .align 2 -gFieldEffectObjectPaletteInfo10:: @ 85C8EF4 - obj_pal gFieldEffectObjectPalette10, 0x1009 - - .incbin "baserom.gba", 0x5c8efc, 0xe0 - -gUnknown_085C8FDC:: @ 85C8FDC - .incbin "baserom.gba", 0x5c8fdc, 0x14 - -gUnknown_085C8FF0:: @ 85C8FF0 - .incbin "baserom.gba", 0x5c8ff0, 0x30 - -gUnknown_085C9020:: @ 85C9020 - .incbin "baserom.gba", 0x5c9020, 0x4b0 - -gUnknown_085C94D0:: @ 85C94D0 - .incbin "baserom.gba", 0x5c94d0, 0x500 - -gUnknown_085C99D0:: @ 85C99D0 - .incbin "baserom.gba", 0x5c99d0, 0x18 - -gUnknown_085C99E8:: @ 85C99E8 - .incbin "baserom.gba", 0x5c99e8, 0x10 - -gUnknown_085C99F8:: @ 85C99F8 - .incbin "baserom.gba", 0x5c99f8, 0x10 - -gUnknown_085C9A08:: @ 85C9A08 - .incbin "baserom.gba", 0x5c9a08, 0x14 - -gUnknown_085C9A1C:: @ 85C9A1C - .incbin "baserom.gba", 0x5c9a1c, 0x14 - -gUnknown_085C9A30:: @ 85C9A30 - .incbin "baserom.gba", 0x5c9a30, 0x23 - -gUnknown_085C9A53:: @ 85C9A53 - .incbin "baserom.gba", 0x5c9a53, 0x41 - diff --git a/data/data_860A4AC.s b/data/data_860A4AC.s deleted file mode 100644 index bac17590d0..0000000000 --- a/data/data_860A4AC.s +++ /dev/null @@ -1,50 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -gUnknown_0860A4AC:: @ 860A4AC - .incbin "baserom.gba", 0x60a4ac, 0x388 - -gUnknown_0860A834:: @ 860A834 - .incbin "baserom.gba", 0x60a834, 0x70 - -gUnknown_0860A8A4:: @ 860A8A4 - .incbin "baserom.gba", 0x60a8a4, 0x24 - -gUnknown_0860A8C8:: @ 860A8C8 - .incbin "baserom.gba", 0x60a8c8, 0x19c - -gUnknown_0860AA64:: @ 860AA64 - .incbin "baserom.gba", 0x60aa64, 0x1c - -gUnknown_0860AA80:: @ 860AA80 - .incbin "baserom.gba", 0x60aa80, 0x8 - -gUnknown_0860AA88:: @ 860AA88 - .incbin "baserom.gba", 0x60aa88, 0x25c - -gUnknown_0860ACE4:: @ 860ACE4 - .incbin "baserom.gba", 0x60ace4, 0x4b - -gUnknown_0860AD2F:: @ 860AD2F - .incbin "baserom.gba", 0x60ad2f, 0x39 - -gUnknown_0860AD68:: @ 860AD68 - .incbin "baserom.gba", 0x60ad68, 0x8 - -gUnknown_0860AD70:: @ 860AD70 - .incbin "baserom.gba", 0x60ad70, 0x1e - -gUnknown_0860AD8E:: @ 860AD8E - .incbin "baserom.gba", 0x60ad8e, 0x30 - -gUnknown_0860ADBE:: @ 860ADBE - .incbin "baserom.gba", 0x60adbe, 0xbe - -gUnknown_0860AE7C:: @ 860AE7C - .incbin "baserom.gba", 0x60ae7c, 0xc - -gUnknown_0860AE88:: @ 860AE88 - .incbin "baserom.gba", 0x60ae88, 0x8 - diff --git a/data/daycare.s b/data/daycare.s deleted file mode 100644 index c249a668c7..0000000000 --- a/data/daycare.s +++ /dev/null @@ -1,24 +0,0 @@ -@ the third big chunk of data - - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - - -@ 832ADD8 - .include "data/egg_moves.inc" - - .align 2 -gUnknown_0832B6C0:: @ 832B6C0 - .incbin "baserom.gba", 0x32b6c0, 0x20 - -gUnknown_0832B6E0:: @ 832B6E0 - .incbin "baserom.gba", 0x32b6e0, 0x18 - -gUnknown_0832B6F8:: @ 832B6F8 - .incbin "baserom.gba", 0x32b6f8, 0x10 - -gEggName:: @ 832B708 - .string "タマゴ$" @ "tamago" ("egg" in Japanese) diff --git a/data/easy_chat.s b/data/easy_chat.s index d6efc1c7f9..ce416dfbc9 100644 --- a/data/easy_chat.s +++ b/data/easy_chat.s @@ -1,92 +1,452 @@ +#include "constants/easy_chat.h" +#include "constants/moves.h" +#include "constants/species.h" .include "asm/macros.inc" .include "constants/constants.inc" .section .rodata - .align 2, 0 + .align 2 gUnknown_08597530:: @ 8597530 - .incbin "baserom.gba", 0x597530, 0x20 + .4byte 0x0000001a + .4byte sub_811A8CC + .4byte 0x00000019 + .4byte sub_811A8F0 + .4byte 0x0000001c + .4byte sub_811A914 + .4byte 0x0000001b + .4byte sub_811A938 gUnknown_08597550:: @ 8597550 - .incbin "baserom.gba", 0x597550, 0x1f8 + .byte 0x00, 0x02, 0x02, 0x00 + + .align 2 + .4byte gText_Profile + .4byte gText_CombineFourWordsOrPhrases + .4byte gText_AndMakeYourProfile + .4byte gText_YourProfile + .4byte gText_IsAsShownOkay + + .byte 0x01, 0x02, 0x03, 0x01 + + .align 2 + .4byte gText_AtTheBattlesStart + .4byte gText_CombineSixWordsOrPhrases + .4byte gText_AndMakeAMessage + .4byte gText_YourFeelingAtTheBattlesStart + .4byte gText_IsAsShownOkay + + .byte 0x02, 0x02, 0x03, 0x01 + + .align 2 + .4byte gText_UponWinningABattle + .4byte gText_CombineSixWordsOrPhrases + .4byte gText_AndMakeAMessage + .4byte gText_WhatYouSayIfYouWin + .4byte gText_IsAsShownOkay + + .byte 0x03, 0x02, 0x03, 0x01 + + .align 2 + .4byte gText_UponLosingABattle + .4byte gText_CombineSixWordsOrPhrases + .4byte gText_AndMakeAMessage + .4byte gText_WhatYouSayIfYouLose + .4byte gText_IsAsShownOkay + + .byte 0x04, 0x02, 0x05, 0x02 + + .align 2 + .4byte NULL + .4byte gText_CombineNineWordsOrPhrases + .4byte gText_AndMakeAMessage2 + .4byte gText_TheMailMessage + .4byte gText_IsAsShownOkay + + .byte 0x05, 0x02, 0x02, 0x05 + + .align 2 + .4byte gText_Interview + .4byte gText_CombineFourWordsOrPhrases + .4byte gText_LetsReplyToTheInterview + .4byte gText_TheAnswer + .4byte gText_IsAsShownOkay + + .byte 0x06, 0x02, 0x03, 0x01 + + .align 2 + .4byte gText_TheBardsSong + .4byte gText_ChangeJustOneWordOrPhrase + .4byte gText_AndImproveTheBardsSong + .4byte gText_TheBardsSong2 + .4byte gText_IsAsShownOkay + + .byte 0x07, 0x01, 0x01, 0x04 + + .align 2 + .4byte gText_Interview + .4byte gText_FindWordsThatDescribeYour + .4byte gText_FeelingsRightNow + .4byte gText_TheAnswer + .4byte gText_IsAsShownOkay + + .byte 0x09, 0x02, 0x01, 0x03 + + .align 2 + .4byte gText_WhatsHipAndHappening + .4byte gText_CombineTwoWordsOrPhrases + .4byte gText_AndMakeATrendySaying + .4byte gText_TheTrendySaying + .4byte gText_IsAsShownOkay + + .byte 0x10, 0x02, 0x05, 0x87 + + .align 2 + .4byte NULL + .4byte gText_AfterYouHaveReadTheQuiz + .4byte gText_QuestionPressTheAButton + .4byte NULL + .4byte NULL + + .byte 0x0f, 0x01, 0x01, 0x86 + + .align 2 + .4byte gText_TheQuizAnswerIs + .4byte gText_OutOfTheListedChoices + .4byte gText_SelectTheAnswerToTheQuiz + .4byte gText_TheAnswerColon + .4byte gText_IsAsShownOkay + + .byte 0x11, 0x02, 0x05, 0x88 + + .align 2 + .4byte NULL + .4byte gText_CombineNineWordsOrPhrases + .4byte gText_AndCreateAQuiz + .4byte gText_IsThisQuizOK + .4byte NULL + + .byte 0x12, 0x01, 0x01, 0x86 + + .align 2 + .4byte gText_TheQuizAnswerIs + .4byte gText_PickAWordOrPhraseAnd + .4byte gText_SetTheQuizAnswer + .4byte gText_IsThisQuizOK + .4byte NULL + + .byte 0x06, 0x02, 0x03, 0x01 + + .align 2 + .4byte gText_TheBardsSong + .4byte gText_ChangeJustOneWordOrPhrase + .4byte gText_AndImproveTheBardsSong + .4byte gText_TheBardsSong2 + .4byte gText_IsAsShownOkay + + .byte 0x13, 0x02, 0x03, 0x01 + + .align 2 + .4byte gText_ApprenticesPhrase + .4byte gText_FindWordsWhichFit + .4byte gText_TheTrainersImage + .4byte gText_ApprenticePhrase + .4byte gText_IsAsShownOkay + + .byte 0x0d, 0x02, 0x01, 0x03 + + .align 2 + .4byte gText_GoodSaying + .4byte gText_CombineTwoWordsOrPhrases2 + .4byte gText_ToTeachHerAGoodSaying + .4byte gText_TheAnswer + .4byte gText_IsAsShownOkay + + .byte 0x0a, 0x01, 0x01, 0x04 + + .align 2 + .4byte gText_Interview + .4byte gText_FindWordsThatDescribeYour + .4byte gText_FeelingsRightNow + .4byte gText_TheAnswer + .4byte gText_IsAsShownOkay + + .byte 0x0c, 0x01, 0x01, 0x04 + + .align 2 + .4byte gText_Interview + .4byte gText_FindWordsThatDescribeYour + .4byte gText_FeelingsRightNow + .4byte gText_TheAnswer + .4byte gText_IsAsShownOkay + + .byte 0x0b, 0x01, 0x01, 0x04 + + .align 2 + .4byte gText_Interview + .4byte gText_FindWordsThatDescribeYour + .4byte gText_FeelingsRightNow + .4byte gText_TheAnswer + .4byte gText_IsAsShownOkay + + .byte 0x0e, 0x01, 0x01, 0x04 + + .align 2 + .4byte gText_FansQuestion + .4byte gText_FindWordsWhichFit + .4byte gText_TheTrainersImage + .4byte gText_TheImage + .4byte gText_IsAsShownOkay + + .byte 0x14, 0x02, 0x02, 0x00 + + .align 2 + .4byte gText_Questionnaire + .4byte gText_CombineFourWordsOrPhrases + .4byte gText_AndFillOutTheQuestionnaire + .4byte gText_TheAnswer + .4byte gText_IsAsShownOkay gUnknown_08597748:: @ 8597748 - .incbin "baserom.gba", 0x597748, 0x1c + .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x00, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a gUnknown_08597764:: @ 8597764 - .incbin "baserom.gba", 0x597764, 0x8 + .2byte 0x0209, 0x140b, 0x1030, 0x102a gUnknown_0859776C:: @ 859776C - .incbin "baserom.gba", 0x59776c, 0x3a8 + .2byte 0x1240, 0x0628, 0x061f, 0x2204, 0x1422, 0x0197, 0x0415, 0x0198, 0x2207, 0x0449 + .align 2 +gUnknown_08597780:: @ 8597780 + .incbin "graphics/misc/interview_triangle_cursor.gbapal" + + .align 2 +gUnknown_085977A0:: @ 85977A0 + .incbin "graphics/misc/interview_triangle_cursor.4bpp" + + .align 2 +gUnknown_085977C0:: @ 85977C0 + .incbin "graphics/misc/interview_arrow.4bpp" + + .align 2 +gUnknown_085978C0:: @ 85978C0 + .incbin "graphics/misc/interview_buttons.4bpp" + + .align 2 +gUnknown_085979C0:: @ 85979C0 + .incbin "graphics/misc/interview_frame.gbapal" + + .align 2 +gUnknown_085979E0:: @ 85979E0 + .incbin "graphics/misc/interview_frame.4bpp.lz" + + .align 2 gUnknown_08597B14:: @ 8597B14 - .incbin "baserom.gba", 0x597b14, 0x20 + .incbin "graphics/misc/interview_frame_orange.gbapal" + .align 2 gUnknown_08597B34:: @ 8597B34 - .incbin "baserom.gba", 0x597b34, 0x20 + .incbin "graphics/misc/interview_frame_green.gbapal" + .align 2 gUnknown_08597B54:: @ 8597B54 - .incbin "baserom.gba", 0x597b54, 0xc8 + .incbin "graphics/misc/interview_frame_2.4bpp.lz" + .align 2 gUnknown_08597C1C:: @ 8597C1C - .incbin "baserom.gba", 0x597c1c, 0x8 + .incbin "graphics/misc/8597C1C.gbapal" + .align 2 gUnknown_08597C24:: @ 8597C24 - .incbin "baserom.gba", 0x597c24, 0xc + .incbin "graphics/misc/8597C24.gbapal" gUnknown_08597C30:: @ 8597C30 - .incbin "baserom.gba", 0x597c30, 0x24 + .byte 0x83, 0x18, 0x04, 0x00, 0x63, 0x18, 0x06, 0x00, 0x03, 0x18, 0x0a, 0x00, 0xa3, 0x18, 0x02, 0x00, 0xb0, 0x0c, 0x02, 0x00, 0x83, 0x18, 0x04, 0x00, 0x89, 0x0c, 0x02, 0x01, 0x65, 0x14, 0x0a, 0x03 + .byte 0x03, 0x18, 0x0a, 0x02 + .align 2 gUnknown_08597C54:: @ 8597C54 - .incbin "baserom.gba", 0x597c54, 0x10 + .4byte 0x000001c0, 0x000011dd, 0x002021e2, 0x000031fb + .align 2 gUnknown_08597C64:: @ 8597C64 - .incbin "baserom.gba", 0x597c64, 0x20 + window_template 0x01, 0x06, 0x00, 0x12, 0x02, 0x0a, 0x0010 + window_template 0x00, 0x03, 0x0f, 0x18, 0x04, 0x0f, 0x000a + window_template 0x02, 0x01, 0x00, 0x1c, 0x20, 0x03, 0x0000 + null_window_template + .align 2 gUnknown_08597C84:: @ 8597C84 - .incbin "baserom.gba", 0x597c84, 0x8 + window_template 0x00, 0x16, 0x09, 0x05, 0x04, 0x0f, 0x006a gUnknown_08597C8C:: @ 8597C8C - .incbin "baserom.gba", 0x597c8c, 0x4 + .string "{CLEAR 17}$" + .align 2 gUnknown_08597C90:: @ 8597C90 - .incbin "baserom.gba", 0x597c90, 0x10 + .4byte gUnknown_862B810 + .4byte gUnknown_862B832 + .4byte gUnknown_862B84B + .4byte gUnknown_862B86C + .align 2 gUnknown_08597CA0:: @ 8597CA0 - .incbin "baserom.gba", 0x597ca0, 0x20 + obj_tiles gUnknown_085977A0, 0x0020, 0x0000 + obj_tiles gUnknown_085977C0, 0x0100, 0x0002 + obj_tiles gUnknown_085978C0, 0x0100, 0x0003 + null_obj_tiles + .align 2 gUnknown_08597CC0:: @ 8597CC0 - .incbin "baserom.gba", 0x597cc0, 0x28 + obj_pal gUnknown_08597780, 0x0000 + obj_pal gEasyChatCursor_Pal, 0x0001 + obj_pal gEasyChatRightWindow_Pal, 0x0002 + obj_pal gUnknown_085979C0, 0x0003 + null_obj_pal + .align 2 gUnknown_08597CE8:: @ 8597CE8 - .incbin "baserom.gba", 0x597ce8, 0x20 + obj_tiles gUnknown_085979E0, 0x0800, 0x0005 + obj_tiles gEasyChatCursor_Gfx, 0x1000, 0x0001 + obj_tiles gEasyChatRightWindow_Gfx, 0x0800, 0x0006 + obj_tiles gEasyChatMode_Gfx, 0x1000, 0x0004 gUnknown_08597D08:: @ 8597D08 - .incbin "baserom.gba", 0x597d08, 0x10 + .byte 0x00, 0x0c, 0x18, 0x38, 0x44, 0x50, 0x5c, 0x00 + .align 2 +gOamData_8597D10:: @ 8597D10 + .2byte 0x0000 + .2byte 0x0000 + .2byte 0x0C00 + + .align 2 gUnknown_08597D18:: @ 8597D18 - .incbin "baserom.gba", 0x597d18, 0x50 + spr_template 0x0000, 0x0000, gOamData_8597D10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_811DF28 + .align 2 +gUnknown_08597D30:: @ 8597D30 + .2byte 0x4000, 0xc000, 0x0400, 0x0000 + + .align 2 +gUnknown_08597D38:: @ 8597D38 + .2byte 0x0000, 0x0000, 0xffff, 0x0000 + + .align 2 +gUnknown_08597D40:: @ 8597D40 + .2byte 0x0020, 0x0000, 0xffff, 0x0000 + + .align 2 +gUnknown_08597D48:: @ 8597D48 + .2byte 0x0040, 0x0000, 0xffff, 0x0000 + + .align 2 +gUnknown_08597D50:: @ 8597D50 + .2byte 0x0060, 0x0000, 0xffff, 0x0000 + + .align 2 +gUnknown_08597D58:: @ 8597D58 + .4byte gUnknown_08597D38 + .4byte gUnknown_08597D40 + .4byte gUnknown_08597D48 + .4byte gUnknown_08597D50 + + .align 2 gUnknown_08597D68:: @ 8597D68 - .incbin "baserom.gba", 0x597d68, 0x68 + spr_template 0x0001, 0x0001, gUnknown_08597D30, gUnknown_08597D58, NULL, gDummySpriteAffineAnimTable, sub_811DF28 + .align 2 +gUnknown_08597D80:: @ 8597D80 + .2byte 0x4000, 0xc000, 0x0400, 0x0000 + + .align 2 +gUnknown_08597D88:: @ 8597D88 + .2byte 0x0060, 0x0000, 0xffff, 0x0000 + + .align 2 +gUnknown_08597D90:: @ 8597D90 + .2byte 0x0040, 0x0004, 0x0020, 0x0004, 0xffff, 0x0000 + + .align 2 +gUnknown_08597D9C:: @ 8597D9C + .2byte 0x0040, 0x0004, 0x0000, 0x0004, 0xffff, 0x0000 + + .align 2 +gUnknown_08597DA8:: @ 8597DA8 + .2byte 0x0040, 0x0004, 0x0060, 0x0000, 0xffff, 0x0000 + + .align 2 +gUnknown_08597DB4:: @ 8597DB4 + .2byte 0x0040, 0x0004, 0xffff, 0x0000 + + .align 2 +gUnknown_08597DBC:: @ 8597DBC + .4byte gUnknown_08597D88 + .4byte gUnknown_08597D90 + .4byte gUnknown_08597D9C + .4byte gUnknown_08597DA8 + .4byte gUnknown_08597DB4 + + .align 2 gUnknown_08597DD0:: @ 8597DD0 - .incbin "baserom.gba", 0x597dd0, 0x20 + spr_template 0x0004, 0x0002, gUnknown_08597D80, gUnknown_08597DBC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 +gUnknown_08597DE8:: @ 8597DE8 + .2byte 0x0000, 0xc000, 0x0c00, 0x0000 + + .align 2 gUnknown_08597DF0:: @ 8597DF0 - .incbin "baserom.gba", 0x597df0, 0x40 + spr_template 0x0006, 0x0002, gUnknown_08597DE8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 +gUnknown_08597E08:: @ 8597E08 + .2byte 0x4000, 0x4000, 0x0400, 0x0000 + + .align 2 +gUnknown_08597E10:: @ 8597E10 + .2byte 0x0000, 0x4000, 0x0400, 0x0000 + + .align 2 +gUnknown_08597E18:: @ 8597E18 + .2byte 0x0000, 0x0000, 0xffff, 0x0000 + + .align 2 +gUnknown_08597E20:: @ 8597E20 + .2byte 0x0004, 0x0000, 0xffff, 0x0000 + + .align 2 +gUnknown_08597E28:: @ 8597E28 + .4byte gUnknown_08597E18 + .4byte gUnknown_08597E20 + + .align 2 gUnknown_08597E30:: @ 8597E30 - .incbin "baserom.gba", 0x597e30, 0x18 + spr_template 0x0003, 0x0002, gUnknown_08597E08, gUnknown_08597E28, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 gUnknown_08597E48:: @ 8597E48 - .incbin "baserom.gba", 0x597e48, 0x18 + spr_template 0x0002, 0x0002, gUnknown_08597E10, gUnknown_08597E28, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_08597E60:: @ 8597E60 - .incbin "baserom.gba", 0x597e60, 0xc + .byte 0x10, 0x6f, 0xc4, 0x00, 0x10, 0x4e, 0x82, 0xa0, 0x10, 0x50, 0x86, 0xaa + .align 2 gUnknown_08597E6C:: @ 8597E6C - .incbin "baserom.gba", 0x597e6c, 0x30 + .4byte gText_DelAll + .4byte gText_Cancel5 + .4byte gText_Ok2 + .4byte NULL + + .4byte gText_DelAll + .4byte gText_Cancel5 + .4byte gText_Ok2 + .4byte gText_Quiz + + .4byte gText_DelAll + .4byte gText_Cancel5 + .4byte gText_Ok2 + .4byte gText_Answer @ 8597E9C .include "data/text/easy_chat/easy_chat_groups.inc" @@ -98,16 +458,16 @@ gUnknown_08597E6C:: @ 8597E6C .include "data/text/easy_chat/easy_chat_group_name_pointers.inc" gUnknown_0859E62C:: @ 859E62C - .incbin "baserom.gba", 0x59e62c, 0x8 + .2byte 0x0a29, 0x1020, 0x020e, 0x0a33 gUnknown_0859E634:: @ 859E634 - .incbin "baserom.gba", 0x59e634, 0xc + .2byte 0x100f, 0x0a02, 0x0e25, 0x0c03, 0x0803, 0x0c00 gUnknown_0859E640:: @ 859E640 - .incbin "baserom.gba", 0x59e640, 0xc + .2byte 0x0c3a, 0x0c3a, 0x0c01, 0x0a2a, 0x0607, 0x0c01 gUnknown_0859E64C:: @ 859E64C - .incbin "baserom.gba", 0x59e64c, 0xc + .2byte 0x1039, 0x122e, 0x0c04, 0x0a3d, 0x0630, 0x0c04 gUnknown_0859E658:: @ 859E658 - .incbin "baserom.gba", 0x59e658, 0x4 + .2byte 0x019a, 0x0000 diff --git a/data/egg_moves.inc b/data/egg_moves.inc deleted file mode 100644 index 607f2aadae..0000000000 --- a/data/egg_moves.inc +++ /dev/null @@ -1,1306 +0,0 @@ - .align 2 -gEggMoves:: @ 832ADD8 - egg_moves_begin SPECIES_BULBASAUR - .2byte MOVE_LIGHT_SCREEN - .2byte MOVE_SKULL_BASH - .2byte MOVE_SAFEGUARD - .2byte MOVE_CHARM - .2byte MOVE_PETAL_DANCE - .2byte MOVE_MAGICAL_LEAF - .2byte MOVE_GRASS_WHISTLE - .2byte MOVE_CURSE - - egg_moves_begin SPECIES_CHARMANDER - .2byte MOVE_BELLY_DRUM - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_BITE - .2byte MOVE_OUTRAGE - .2byte MOVE_BEAT_UP - .2byte MOVE_SWORDS_DANCE - .2byte MOVE_DRAGON_DANCE - - egg_moves_begin SPECIES_SQUIRTLE - .2byte MOVE_MIRROR_COAT - .2byte MOVE_HAZE - .2byte MOVE_MIST - .2byte MOVE_FORESIGHT - .2byte MOVE_FLAIL - .2byte MOVE_REFRESH - .2byte MOVE_MUD_SPORT - .2byte MOVE_YAWN - - egg_moves_begin SPECIES_PIDGEY - .2byte MOVE_PURSUIT - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_FORESIGHT - .2byte MOVE_STEEL_WING - .2byte MOVE_AIR_CUTTER - - egg_moves_begin SPECIES_RATTATA - .2byte MOVE_SCREECH - .2byte MOVE_FLAME_WHEEL - .2byte MOVE_FURY_SWIPES - .2byte MOVE_BITE - .2byte MOVE_COUNTER - .2byte MOVE_REVERSAL - .2byte MOVE_UPROAR - .2byte MOVE_SWAGGER - - egg_moves_begin SPECIES_SPEAROW - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_FALSE_SWIPE - .2byte MOVE_SCARY_FACE - .2byte MOVE_QUICK_ATTACK - .2byte MOVE_TRI_ATTACK - .2byte MOVE_ASTONISH - .2byte MOVE_SKY_ATTACK - - egg_moves_begin SPECIES_EKANS - .2byte MOVE_PURSUIT - .2byte MOVE_SLAM - .2byte MOVE_SPITE - .2byte MOVE_BEAT_UP - .2byte MOVE_POISON_FANG - - egg_moves_begin SPECIES_SANDSHREW - .2byte MOVE_FLAIL - .2byte MOVE_SAFEGUARD - .2byte MOVE_COUNTER - .2byte MOVE_RAPID_SPIN - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_METAL_CLAW - .2byte MOVE_SWORDS_DANCE - .2byte MOVE_CRUSH_CLAW - - egg_moves_begin SPECIES_NIDORAN_F - .2byte MOVE_SUPERSONIC - .2byte MOVE_DISABLE - .2byte MOVE_TAKE_DOWN - .2byte MOVE_FOCUS_ENERGY - .2byte MOVE_CHARM - .2byte MOVE_COUNTER - .2byte MOVE_BEAT_UP - - egg_moves_begin SPECIES_NIDORAN_M - .2byte MOVE_COUNTER - .2byte MOVE_DISABLE - .2byte MOVE_SUPERSONIC - .2byte MOVE_TAKE_DOWN - .2byte MOVE_AMNESIA - .2byte MOVE_CONFUSION - .2byte MOVE_BEAT_UP - - egg_moves_begin SPECIES_VULPIX - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_HYPNOSIS - .2byte MOVE_FLAIL - .2byte MOVE_SPITE - .2byte MOVE_DISABLE - .2byte MOVE_HOWL - .2byte MOVE_PSYCH_UP - .2byte MOVE_HEAT_WAVE - - egg_moves_begin SPECIES_ZUBAT - .2byte MOVE_QUICK_ATTACK - .2byte MOVE_PURSUIT - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_GUST - .2byte MOVE_WHIRLWIND - .2byte MOVE_CURSE - - egg_moves_begin SPECIES_ODDISH - .2byte MOVE_SWORDS_DANCE - .2byte MOVE_RAZOR_LEAF - .2byte MOVE_FLAIL - .2byte MOVE_SYNTHESIS - .2byte MOVE_CHARM - .2byte MOVE_INGRAIN - - egg_moves_begin SPECIES_PARAS - .2byte MOVE_FALSE_SWIPE - .2byte MOVE_SCREECH - .2byte MOVE_COUNTER - .2byte MOVE_PSYBEAM - .2byte MOVE_FLAIL - .2byte MOVE_SWEET_SCENT - .2byte MOVE_LIGHT_SCREEN - .2byte MOVE_PURSUIT - - egg_moves_begin SPECIES_VENONAT - .2byte MOVE_BATON_PASS - .2byte MOVE_SCREECH - .2byte MOVE_GIGA_DRAIN - .2byte MOVE_SIGNAL_BEAM - - egg_moves_begin SPECIES_DIGLETT - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_SCREECH - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_PURSUIT - .2byte MOVE_BEAT_UP - .2byte MOVE_UPROAR - .2byte MOVE_ROCK_SLIDE - - egg_moves_begin SPECIES_MEOWTH - .2byte MOVE_SPITE - .2byte MOVE_CHARM - .2byte MOVE_HYPNOSIS - .2byte MOVE_AMNESIA - .2byte MOVE_PSYCH_UP - .2byte MOVE_ASSIST - - egg_moves_begin SPECIES_PSYDUCK - .2byte MOVE_HYPNOSIS - .2byte MOVE_PSYBEAM - .2byte MOVE_FORESIGHT - .2byte MOVE_LIGHT_SCREEN - .2byte MOVE_FUTURE_SIGHT - .2byte MOVE_PSYCHIC - .2byte MOVE_CROSS_CHOP - .2byte MOVE_REFRESH - - egg_moves_begin SPECIES_MANKEY - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_FORESIGHT - .2byte MOVE_MEDITATE - .2byte MOVE_COUNTER - .2byte MOVE_REVERSAL - .2byte MOVE_BEAT_UP - .2byte MOVE_REVENGE - .2byte MOVE_SMELLING_SALT - - egg_moves_begin SPECIES_GROWLITHE - .2byte MOVE_BODY_SLAM - .2byte MOVE_SAFEGUARD - .2byte MOVE_CRUNCH - .2byte MOVE_THRASH - .2byte MOVE_FIRE_SPIN - .2byte MOVE_HOWL - .2byte MOVE_HEAT_WAVE - - egg_moves_begin SPECIES_POLIWAG - .2byte MOVE_MIST - .2byte MOVE_SPLASH - .2byte MOVE_BUBBLE_BEAM - .2byte MOVE_HAZE - .2byte MOVE_MIND_READER - .2byte MOVE_WATER_SPORT - .2byte MOVE_ICE_BALL - - egg_moves_begin SPECIES_ABRA - .2byte MOVE_ENCORE - .2byte MOVE_BARRIER - .2byte MOVE_KNOCK_OFF - .2byte MOVE_FIRE_PUNCH - .2byte MOVE_THUNDER_PUNCH - .2byte MOVE_ICE_PUNCH - - egg_moves_begin SPECIES_MACHOP - .2byte MOVE_LIGHT_SCREEN - .2byte MOVE_MEDITATE - .2byte MOVE_ROLLING_KICK - .2byte MOVE_ENCORE - .2byte MOVE_SMELLING_SALT - .2byte MOVE_COUNTER - .2byte MOVE_ROCK_SLIDE - - egg_moves_begin SPECIES_BELLSPROUT - .2byte MOVE_SWORDS_DANCE - .2byte MOVE_ENCORE - .2byte MOVE_REFLECT - .2byte MOVE_SYNTHESIS - .2byte MOVE_LEECH_LIFE - .2byte MOVE_INGRAIN - .2byte MOVE_MAGICAL_LEAF - - egg_moves_begin SPECIES_TENTACOOL - .2byte MOVE_AURORA_BEAM - .2byte MOVE_MIRROR_COAT - .2byte MOVE_RAPID_SPIN - .2byte MOVE_HAZE - .2byte MOVE_SAFEGUARD - .2byte MOVE_CONFUSE_RAY - - egg_moves_begin SPECIES_GEODUDE - .2byte MOVE_MEGA_PUNCH - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_BLOCK - - egg_moves_begin SPECIES_PONYTA - .2byte MOVE_FLAME_WHEEL - .2byte MOVE_THRASH - .2byte MOVE_DOUBLE_KICK - .2byte MOVE_HYPNOSIS - .2byte MOVE_CHARM - .2byte MOVE_DOUBLE_EDGE - - egg_moves_begin SPECIES_SLOWPOKE - .2byte MOVE_SAFEGUARD - .2byte MOVE_BELLY_DRUM - .2byte MOVE_FUTURE_SIGHT - .2byte MOVE_STOMP - .2byte MOVE_MUD_SPORT - .2byte MOVE_SLEEP_TALK - .2byte MOVE_SNORE - - egg_moves_begin SPECIES_FARFETCH_D - .2byte MOVE_STEEL_WING - .2byte MOVE_FORESIGHT - .2byte MOVE_MIRROR_MOVE - .2byte MOVE_GUST - .2byte MOVE_QUICK_ATTACK - .2byte MOVE_FLAIL - .2byte MOVE_FEATHER_DANCE - .2byte MOVE_CURSE - - egg_moves_begin SPECIES_DODUO - .2byte MOVE_QUICK_ATTACK - .2byte MOVE_SUPERSONIC - .2byte MOVE_HAZE - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_FLAIL - .2byte MOVE_ENDEAVOR - - egg_moves_begin SPECIES_SEEL - .2byte MOVE_LICK - .2byte MOVE_PERISH_SONG - .2byte MOVE_DISABLE - .2byte MOVE_HORN_DRILL - .2byte MOVE_SLAM - .2byte MOVE_ENCORE - .2byte MOVE_FAKE_OUT - .2byte MOVE_ICICLE_SPEAR - - egg_moves_begin SPECIES_GRIMER - .2byte MOVE_HAZE - .2byte MOVE_MEAN_LOOK - .2byte MOVE_LICK - .2byte MOVE_IMPRISON - .2byte MOVE_CURSE - .2byte MOVE_SHADOW_PUNCH - .2byte MOVE_EXPLOSION - - egg_moves_begin SPECIES_SHELLDER - .2byte MOVE_BUBBLE_BEAM - .2byte MOVE_TAKE_DOWN - .2byte MOVE_BARRIER - .2byte MOVE_RAPID_SPIN - .2byte MOVE_SCREECH - .2byte MOVE_ICICLE_SPEAR - - egg_moves_begin SPECIES_GASTLY - .2byte MOVE_PSYWAVE - .2byte MOVE_PERISH_SONG - .2byte MOVE_HAZE - .2byte MOVE_ASTONISH - .2byte MOVE_WILL_O_WISP - .2byte MOVE_GRUDGE - .2byte MOVE_EXPLOSION - - egg_moves_begin SPECIES_ONIX - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_FLAIL - .2byte MOVE_EXPLOSION - .2byte MOVE_BLOCK - - egg_moves_begin SPECIES_DROWZEE - .2byte MOVE_BARRIER - .2byte MOVE_ASSIST - .2byte MOVE_ROLE_PLAY - .2byte MOVE_FIRE_PUNCH - .2byte MOVE_THUNDER_PUNCH - .2byte MOVE_ICE_PUNCH - - egg_moves_begin SPECIES_KRABBY - .2byte MOVE_DIG - .2byte MOVE_HAZE - .2byte MOVE_AMNESIA - .2byte MOVE_FLAIL - .2byte MOVE_SLAM - .2byte MOVE_KNOCK_OFF - .2byte MOVE_SWORDS_DANCE - - egg_moves_begin SPECIES_EXEGGCUTE - .2byte MOVE_SYNTHESIS - .2byte MOVE_MOONLIGHT - .2byte MOVE_REFLECT - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_PSYCH_UP - .2byte MOVE_INGRAIN - .2byte MOVE_CURSE - - egg_moves_begin SPECIES_CUBONE - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_BELLY_DRUM - .2byte MOVE_SCREECH - .2byte MOVE_SKULL_BASH - .2byte MOVE_PERISH_SONG - .2byte MOVE_SWORDS_DANCE - - egg_moves_begin SPECIES_LICKITUNG - .2byte MOVE_BELLY_DRUM - .2byte MOVE_MAGNITUDE - .2byte MOVE_BODY_SLAM - .2byte MOVE_CURSE - .2byte MOVE_SMELLING_SALT - .2byte MOVE_SLEEP_TALK - .2byte MOVE_SNORE - .2byte MOVE_SUBSTITUTE - - egg_moves_begin SPECIES_KOFFING - .2byte MOVE_SCREECH - .2byte MOVE_PSYWAVE - .2byte MOVE_PSYBEAM - .2byte MOVE_DESTINY_BOND - .2byte MOVE_PAIN_SPLIT - .2byte MOVE_WILL_O_WISP - - egg_moves_begin SPECIES_RHYHORN - .2byte MOVE_CRUNCH - .2byte MOVE_REVERSAL - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_COUNTER - .2byte MOVE_MAGNITUDE - .2byte MOVE_SWORDS_DANCE - .2byte MOVE_CURSE - .2byte MOVE_CRUSH_CLAW - - egg_moves_begin SPECIES_CHANSEY - .2byte MOVE_PRESENT - .2byte MOVE_METRONOME - .2byte MOVE_HEAL_BELL - .2byte MOVE_AROMATHERAPY - .2byte MOVE_SUBSTITUTE - - egg_moves_begin SPECIES_TANGELA - .2byte MOVE_FLAIL - .2byte MOVE_CONFUSION - .2byte MOVE_MEGA_DRAIN - .2byte MOVE_REFLECT - .2byte MOVE_AMNESIA - .2byte MOVE_LEECH_SEED - .2byte MOVE_NATURE_POWER - - egg_moves_begin SPECIES_KANGASKHAN - .2byte MOVE_STOMP - .2byte MOVE_FORESIGHT - .2byte MOVE_FOCUS_ENERGY - .2byte MOVE_SAFEGUARD - .2byte MOVE_DISABLE - .2byte MOVE_COUNTER - .2byte MOVE_CRUSH_CLAW - .2byte MOVE_SUBSTITUTE - - egg_moves_begin SPECIES_HORSEA - .2byte MOVE_FLAIL - .2byte MOVE_AURORA_BEAM - .2byte MOVE_OCTAZOOKA - .2byte MOVE_DISABLE - .2byte MOVE_SPLASH - .2byte MOVE_DRAGON_RAGE - .2byte MOVE_DRAGON_BREATH - - egg_moves_begin SPECIES_GOLDEEN - .2byte MOVE_PSYBEAM - .2byte MOVE_HAZE - .2byte MOVE_HYDRO_PUMP - .2byte MOVE_SLEEP_TALK - .2byte MOVE_MUD_SPORT - - egg_moves_begin SPECIES_MR_MIME - .2byte MOVE_FUTURE_SIGHT - .2byte MOVE_HYPNOSIS - .2byte MOVE_MIMIC - .2byte MOVE_PSYCH_UP - .2byte MOVE_FAKE_OUT - .2byte MOVE_TRICK - - egg_moves_begin SPECIES_SCYTHER - .2byte MOVE_COUNTER - .2byte MOVE_SAFEGUARD - .2byte MOVE_BATON_PASS - .2byte MOVE_RAZOR_WIND - .2byte MOVE_REVERSAL - .2byte MOVE_LIGHT_SCREEN - .2byte MOVE_ENDURE - .2byte MOVE_SILVER_WIND - - egg_moves_begin SPECIES_PINSIR - .2byte MOVE_FURY_ATTACK - .2byte MOVE_FLAIL - .2byte MOVE_FALSE_SWIPE - .2byte MOVE_FAINT_ATTACK - - egg_moves_begin SPECIES_LAPRAS - .2byte MOVE_FORESIGHT - .2byte MOVE_SUBSTITUTE - .2byte MOVE_TICKLE - .2byte MOVE_REFRESH - .2byte MOVE_DRAGON_DANCE - .2byte MOVE_CURSE - .2byte MOVE_SLEEP_TALK - .2byte MOVE_HORN_DRILL - - egg_moves_begin SPECIES_EEVEE - .2byte MOVE_CHARM - .2byte MOVE_FLAIL - .2byte MOVE_ENDURE - .2byte MOVE_CURSE - .2byte MOVE_TICKLE - .2byte MOVE_WISH - - egg_moves_begin SPECIES_OMANYTE - .2byte MOVE_BUBBLE_BEAM - .2byte MOVE_AURORA_BEAM - .2byte MOVE_SLAM - .2byte MOVE_SUPERSONIC - .2byte MOVE_HAZE - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_SPIKES - - egg_moves_begin SPECIES_KABUTO - .2byte MOVE_BUBBLE_BEAM - .2byte MOVE_AURORA_BEAM - .2byte MOVE_RAPID_SPIN - .2byte MOVE_DIG - .2byte MOVE_FLAIL - .2byte MOVE_KNOCK_OFF - .2byte MOVE_CONFUSE_RAY - - egg_moves_begin SPECIES_AERODACTYL - .2byte MOVE_WHIRLWIND - .2byte MOVE_PURSUIT - .2byte MOVE_FORESIGHT - .2byte MOVE_STEEL_WING - .2byte MOVE_DRAGON_BREATH - .2byte MOVE_CURSE - - egg_moves_begin SPECIES_SNORLAX - .2byte MOVE_LICK - .2byte MOVE_CHARM - .2byte MOVE_DOUBLE_EDGE - .2byte MOVE_CURSE - .2byte MOVE_FISSURE - .2byte MOVE_SUBSTITUTE - - egg_moves_begin SPECIES_DRATINI - .2byte MOVE_LIGHT_SCREEN - .2byte MOVE_MIST - .2byte MOVE_HAZE - .2byte MOVE_SUPERSONIC - .2byte MOVE_DRAGON_BREATH - .2byte MOVE_DRAGON_DANCE - - egg_moves_begin SPECIES_CHIKORITA - .2byte MOVE_VINE_WHIP - .2byte MOVE_LEECH_SEED - .2byte MOVE_COUNTER - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_FLAIL - .2byte MOVE_NATURE_POWER - .2byte MOVE_INGRAIN - .2byte MOVE_GRASS_WHISTLE - - egg_moves_begin SPECIES_CYNDAQUIL - .2byte MOVE_FURY_SWIPES - .2byte MOVE_QUICK_ATTACK - .2byte MOVE_REVERSAL - .2byte MOVE_THRASH - .2byte MOVE_FORESIGHT - .2byte MOVE_COVET - .2byte MOVE_HOWL - .2byte MOVE_CRUSH_CLAW - - egg_moves_begin SPECIES_TOTODILE - .2byte MOVE_CRUNCH - .2byte MOVE_THRASH - .2byte MOVE_HYDRO_PUMP - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_MUD_SPORT - .2byte MOVE_WATER_SPORT - .2byte MOVE_DRAGON_CLAW - - egg_moves_begin SPECIES_SENTRET - .2byte MOVE_DOUBLE_EDGE - .2byte MOVE_PURSUIT - .2byte MOVE_SLASH - .2byte MOVE_FOCUS_ENERGY - .2byte MOVE_REVERSAL - .2byte MOVE_SUBSTITUTE - .2byte MOVE_TRICK - .2byte MOVE_ASSIST - - egg_moves_begin SPECIES_HOOTHOOT - .2byte MOVE_MIRROR_MOVE - .2byte MOVE_SUPERSONIC - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_WING_ATTACK - .2byte MOVE_WHIRLWIND - .2byte MOVE_SKY_ATTACK - .2byte MOVE_FEATHER_DANCE - - egg_moves_begin SPECIES_LEDYBA - .2byte MOVE_PSYBEAM - .2byte MOVE_BIDE - .2byte MOVE_SILVER_WIND - - egg_moves_begin SPECIES_SPINARAK - .2byte MOVE_PSYBEAM - .2byte MOVE_DISABLE - .2byte MOVE_SONIC_BOOM - .2byte MOVE_BATON_PASS - .2byte MOVE_PURSUIT - .2byte MOVE_SIGNAL_BEAM - - egg_moves_begin SPECIES_CHINCHOU - .2byte MOVE_FLAIL - .2byte MOVE_SCREECH - .2byte MOVE_AMNESIA - - egg_moves_begin SPECIES_PICHU - .2byte MOVE_REVERSAL - .2byte MOVE_BIDE - .2byte MOVE_PRESENT - .2byte MOVE_ENCORE - .2byte MOVE_DOUBLE_SLAP - .2byte MOVE_WISH - .2byte MOVE_CHARGE - - egg_moves_begin SPECIES_CLEFFA - .2byte MOVE_PRESENT - .2byte MOVE_METRONOME - .2byte MOVE_AMNESIA - .2byte MOVE_BELLY_DRUM - .2byte MOVE_SPLASH - .2byte MOVE_MIMIC - .2byte MOVE_WISH - .2byte MOVE_SUBSTITUTE - - egg_moves_begin SPECIES_IGGLYBUFF - .2byte MOVE_PERISH_SONG - .2byte MOVE_PRESENT - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_WISH - .2byte MOVE_FAKE_TEARS - - egg_moves_begin SPECIES_TOGEPI - .2byte MOVE_PRESENT - .2byte MOVE_MIRROR_MOVE - .2byte MOVE_PECK - .2byte MOVE_FORESIGHT - .2byte MOVE_FUTURE_SIGHT - .2byte MOVE_SUBSTITUTE - .2byte MOVE_PSYCH_UP - - egg_moves_begin SPECIES_NATU - .2byte MOVE_HAZE - .2byte MOVE_DRILL_PECK - .2byte MOVE_QUICK_ATTACK - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_STEEL_WING - .2byte MOVE_PSYCH_UP - .2byte MOVE_FEATHER_DANCE - .2byte MOVE_REFRESH - - egg_moves_begin SPECIES_MAREEP - .2byte MOVE_TAKE_DOWN - .2byte MOVE_BODY_SLAM - .2byte MOVE_SAFEGUARD - .2byte MOVE_SCREECH - .2byte MOVE_REFLECT - .2byte MOVE_ODOR_SLEUTH - .2byte MOVE_CHARGE - - egg_moves_begin SPECIES_MARILL - .2byte MOVE_LIGHT_SCREEN - .2byte MOVE_PRESENT - .2byte MOVE_AMNESIA - .2byte MOVE_FUTURE_SIGHT - .2byte MOVE_BELLY_DRUM - .2byte MOVE_PERISH_SONG - .2byte MOVE_SUPERSONIC - .2byte MOVE_SUBSTITUTE - - egg_moves_begin SPECIES_SUDOWOODO - .2byte MOVE_SELF_DESTRUCT - - egg_moves_begin SPECIES_HOPPIP - .2byte MOVE_CONFUSION - .2byte MOVE_ENCORE - .2byte MOVE_DOUBLE_EDGE - .2byte MOVE_REFLECT - .2byte MOVE_AMNESIA - .2byte MOVE_HELPING_HAND - .2byte MOVE_PSYCH_UP - - egg_moves_begin SPECIES_AIPOM - .2byte MOVE_COUNTER - .2byte MOVE_SCREECH - .2byte MOVE_PURSUIT - .2byte MOVE_AGILITY - .2byte MOVE_SPITE - .2byte MOVE_SLAM - .2byte MOVE_DOUBLE_SLAP - .2byte MOVE_BEAT_UP - - egg_moves_begin SPECIES_SUNKERN - .2byte MOVE_GRASS_WHISTLE - .2byte MOVE_ENCORE - .2byte MOVE_LEECH_SEED - .2byte MOVE_NATURE_POWER - .2byte MOVE_CURSE - .2byte MOVE_HELPING_HAND - - egg_moves_begin SPECIES_YANMA - .2byte MOVE_WHIRLWIND - .2byte MOVE_REVERSAL - .2byte MOVE_LEECH_LIFE - .2byte MOVE_SIGNAL_BEAM - .2byte MOVE_SILVER_WIND - - egg_moves_begin SPECIES_WOOPER - .2byte MOVE_BODY_SLAM - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_SAFEGUARD - .2byte MOVE_CURSE - .2byte MOVE_MUD_SPORT - .2byte MOVE_STOCKPILE - .2byte MOVE_SWALLOW - .2byte MOVE_SPIT_UP - - egg_moves_begin SPECIES_MURKROW - .2byte MOVE_WHIRLWIND - .2byte MOVE_DRILL_PECK - .2byte MOVE_MIRROR_MOVE - .2byte MOVE_WING_ATTACK - .2byte MOVE_SKY_ATTACK - .2byte MOVE_CONFUSE_RAY - .2byte MOVE_FEATHER_DANCE - .2byte MOVE_PERISH_SONG - - egg_moves_begin SPECIES_MISDREAVUS - .2byte MOVE_SCREECH - .2byte MOVE_DESTINY_BOND - .2byte MOVE_PSYCH_UP - .2byte MOVE_IMPRISON - - egg_moves_begin SPECIES_GIRAFARIG - .2byte MOVE_TAKE_DOWN - .2byte MOVE_AMNESIA - .2byte MOVE_FORESIGHT - .2byte MOVE_FUTURE_SIGHT - .2byte MOVE_BEAT_UP - .2byte MOVE_PSYCH_UP - .2byte MOVE_WISH - .2byte MOVE_MAGIC_COAT - - egg_moves_begin SPECIES_PINECO - .2byte MOVE_REFLECT - .2byte MOVE_PIN_MISSILE - .2byte MOVE_FLAIL - .2byte MOVE_SWIFT - .2byte MOVE_COUNTER - .2byte MOVE_SAND_TOMB - - egg_moves_begin SPECIES_DUNSPARCE - .2byte MOVE_BIDE - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_BITE - .2byte MOVE_HEADBUTT - .2byte MOVE_ASTONISH - .2byte MOVE_CURSE - - egg_moves_begin SPECIES_GLIGAR - .2byte MOVE_METAL_CLAW - .2byte MOVE_WING_ATTACK - .2byte MOVE_RAZOR_WIND - .2byte MOVE_COUNTER - .2byte MOVE_SAND_TOMB - - egg_moves_begin SPECIES_SNUBBULL - .2byte MOVE_METRONOME - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_REFLECT - .2byte MOVE_PRESENT - .2byte MOVE_CRUNCH - .2byte MOVE_HEAL_BELL - .2byte MOVE_SNORE - .2byte MOVE_SMELLING_SALT - - egg_moves_begin SPECIES_QWILFISH - .2byte MOVE_FLAIL - .2byte MOVE_HAZE - .2byte MOVE_BUBBLE_BEAM - .2byte MOVE_SUPERSONIC - .2byte MOVE_ASTONISH - - egg_moves_begin SPECIES_SHUCKLE - .2byte MOVE_SWEET_SCENT - - egg_moves_begin SPECIES_HERACROSS - .2byte MOVE_HARDEN - .2byte MOVE_BIDE - .2byte MOVE_FLAIL - .2byte MOVE_FALSE_SWIPE - - egg_moves_begin SPECIES_SNEASEL - .2byte MOVE_COUNTER - .2byte MOVE_SPITE - .2byte MOVE_FORESIGHT - .2byte MOVE_REFLECT - .2byte MOVE_BITE - .2byte MOVE_CRUSH_CLAW - .2byte MOVE_FAKE_OUT - - egg_moves_begin SPECIES_TEDDIURSA - .2byte MOVE_CRUNCH - .2byte MOVE_TAKE_DOWN - .2byte MOVE_SEISMIC_TOSS - .2byte MOVE_COUNTER - .2byte MOVE_METAL_CLAW - .2byte MOVE_FAKE_TEARS - .2byte MOVE_YAWN - .2byte MOVE_SLEEP_TALK - - egg_moves_begin SPECIES_SLUGMA - .2byte MOVE_ACID_ARMOR - .2byte MOVE_HEAT_WAVE - - egg_moves_begin SPECIES_SWINUB - .2byte MOVE_TAKE_DOWN - .2byte MOVE_BITE - .2byte MOVE_BODY_SLAM - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_MUD_SHOT - .2byte MOVE_ICICLE_SPEAR - .2byte MOVE_DOUBLE_EDGE - - egg_moves_begin SPECIES_CORSOLA - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_SCREECH - .2byte MOVE_MIST - .2byte MOVE_AMNESIA - .2byte MOVE_BARRIER - .2byte MOVE_INGRAIN - .2byte MOVE_CONFUSE_RAY - .2byte MOVE_ICICLE_SPEAR - - egg_moves_begin SPECIES_REMORAID - .2byte MOVE_AURORA_BEAM - .2byte MOVE_OCTAZOOKA - .2byte MOVE_SUPERSONIC - .2byte MOVE_HAZE - .2byte MOVE_SCREECH - .2byte MOVE_THUNDER_WAVE - .2byte MOVE_ROCK_BLAST - - egg_moves_begin SPECIES_DELIBIRD - .2byte MOVE_AURORA_BEAM - .2byte MOVE_QUICK_ATTACK - .2byte MOVE_FUTURE_SIGHT - .2byte MOVE_SPLASH - .2byte MOVE_RAPID_SPIN - .2byte MOVE_ICE_BALL - - egg_moves_begin SPECIES_MANTINE - .2byte MOVE_TWISTER - .2byte MOVE_HYDRO_PUMP - .2byte MOVE_HAZE - .2byte MOVE_SLAM - .2byte MOVE_MUD_SPORT - .2byte MOVE_ROCK_SLIDE - - egg_moves_begin SPECIES_SKARMORY - .2byte MOVE_DRILL_PECK - .2byte MOVE_PURSUIT - .2byte MOVE_WHIRLWIND - .2byte MOVE_SKY_ATTACK - .2byte MOVE_CURSE - - egg_moves_begin SPECIES_HOUNDOUR - .2byte MOVE_FIRE_SPIN - .2byte MOVE_RAGE - .2byte MOVE_PURSUIT - .2byte MOVE_COUNTER - .2byte MOVE_SPITE - .2byte MOVE_REVERSAL - .2byte MOVE_BEAT_UP - .2byte MOVE_WILL_O_WISP - - egg_moves_begin SPECIES_PHANPY - .2byte MOVE_FOCUS_ENERGY - .2byte MOVE_BODY_SLAM - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_SNORE - .2byte MOVE_COUNTER - .2byte MOVE_FISSURE - - egg_moves_begin SPECIES_STANTLER - .2byte MOVE_SPITE - .2byte MOVE_DISABLE - .2byte MOVE_BITE - .2byte MOVE_SWAGGER - .2byte MOVE_PSYCH_UP - .2byte MOVE_EXTRASENSORY - - egg_moves_begin SPECIES_TYROGUE - .2byte MOVE_RAPID_SPIN - .2byte MOVE_HI_JUMP_KICK - .2byte MOVE_MACH_PUNCH - .2byte MOVE_MIND_READER - .2byte MOVE_HELPING_HAND - - egg_moves_begin SPECIES_SMOOCHUM - .2byte MOVE_MEDITATE - .2byte MOVE_PSYCH_UP - .2byte MOVE_FAKE_OUT - .2byte MOVE_WISH - .2byte MOVE_ICE_PUNCH - - egg_moves_begin SPECIES_ELEKID - .2byte MOVE_KARATE_CHOP - .2byte MOVE_BARRIER - .2byte MOVE_ROLLING_KICK - .2byte MOVE_MEDITATE - .2byte MOVE_CROSS_CHOP - .2byte MOVE_FIRE_PUNCH - .2byte MOVE_ICE_PUNCH - - egg_moves_begin SPECIES_MAGBY - .2byte MOVE_KARATE_CHOP - .2byte MOVE_MEGA_PUNCH - .2byte MOVE_BARRIER - .2byte MOVE_SCREECH - .2byte MOVE_CROSS_CHOP - .2byte MOVE_THUNDER_PUNCH - - egg_moves_begin SPECIES_MILTANK - .2byte MOVE_PRESENT - .2byte MOVE_REVERSAL - .2byte MOVE_SEISMIC_TOSS - .2byte MOVE_ENDURE - .2byte MOVE_PSYCH_UP - .2byte MOVE_CURSE - .2byte MOVE_HELPING_HAND - .2byte MOVE_SLEEP_TALK - - egg_moves_begin SPECIES_LARVITAR - .2byte MOVE_PURSUIT - .2byte MOVE_STOMP - .2byte MOVE_OUTRAGE - .2byte MOVE_FOCUS_ENERGY - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_DRAGON_DANCE - .2byte MOVE_CURSE - - egg_moves_begin SPECIES_TREECKO - .2byte MOVE_CRUNCH - .2byte MOVE_MUD_SPORT - .2byte MOVE_ENDEAVOR - .2byte MOVE_LEECH_SEED - .2byte MOVE_DRAGON_BREATH - .2byte MOVE_CRUSH_CLAW - - egg_moves_begin SPECIES_TORCHIC - .2byte MOVE_COUNTER - .2byte MOVE_REVERSAL - .2byte MOVE_ENDURE - .2byte MOVE_SWAGGER - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_SMELLING_SALT - - egg_moves_begin SPECIES_MUDKIP - .2byte MOVE_REFRESH - .2byte MOVE_UPROAR - .2byte MOVE_CURSE - .2byte MOVE_STOMP - .2byte MOVE_ICE_BALL - .2byte MOVE_MIRROR_COAT - - egg_moves_begin SPECIES_POOCHYENA - .2byte MOVE_ASTONISH - .2byte MOVE_POISON_FANG - .2byte MOVE_COVET - .2byte MOVE_LEER - .2byte MOVE_YAWN - - egg_moves_begin SPECIES_ZIGZAGOON - .2byte MOVE_CHARM - .2byte MOVE_PURSUIT - .2byte MOVE_SUBSTITUTE - .2byte MOVE_TICKLE - .2byte MOVE_TRICK - - egg_moves_begin SPECIES_LOTAD - .2byte MOVE_SYNTHESIS - .2byte MOVE_RAZOR_LEAF - .2byte MOVE_SWEET_SCENT - .2byte MOVE_LEECH_SEED - .2byte MOVE_FLAIL - .2byte MOVE_WATER_GUN - - egg_moves_begin SPECIES_SEEDOT - .2byte MOVE_LEECH_SEED - .2byte MOVE_AMNESIA - .2byte MOVE_QUICK_ATTACK - .2byte MOVE_RAZOR_WIND - .2byte MOVE_TAKE_DOWN - .2byte MOVE_FALSE_SWIPE - - egg_moves_begin SPECIES_NINCADA - .2byte MOVE_ENDURE - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_GUST - .2byte MOVE_SILVER_WIND - - egg_moves_begin SPECIES_TAILLOW - .2byte MOVE_PURSUIT - .2byte MOVE_SUPERSONIC - .2byte MOVE_REFRESH - .2byte MOVE_MIRROR_MOVE - .2byte MOVE_RAGE - .2byte MOVE_SKY_ATTACK - - egg_moves_begin SPECIES_SHROOMISH - .2byte MOVE_FAKE_TEARS - .2byte MOVE_SWAGGER - .2byte MOVE_CHARM - .2byte MOVE_FALSE_SWIPE - .2byte MOVE_HELPING_HAND - - egg_moves_begin SPECIES_SPINDA - .2byte MOVE_ENCORE - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_ASSIST - .2byte MOVE_DISABLE - .2byte MOVE_BATON_PASS - .2byte MOVE_WISH - .2byte MOVE_TRICK - .2byte MOVE_SMELLING_SALT - - egg_moves_begin SPECIES_WINGULL - .2byte MOVE_MIST - .2byte MOVE_TWISTER - .2byte MOVE_AGILITY - .2byte MOVE_GUST - .2byte MOVE_WATER_SPORT - - egg_moves_begin SPECIES_SURSKIT - .2byte MOVE_FORESIGHT - .2byte MOVE_MUD_SHOT - .2byte MOVE_PSYBEAM - .2byte MOVE_HYDRO_PUMP - .2byte MOVE_MIND_READER - - egg_moves_begin SPECIES_WAILMER - .2byte MOVE_DOUBLE_EDGE - .2byte MOVE_THRASH - .2byte MOVE_SWAGGER - .2byte MOVE_SNORE - .2byte MOVE_SLEEP_TALK - .2byte MOVE_CURSE - .2byte MOVE_FISSURE - .2byte MOVE_TICKLE - - egg_moves_begin SPECIES_SKITTY - .2byte MOVE_HELPING_HAND - .2byte MOVE_PSYCH_UP - .2byte MOVE_UPROAR - .2byte MOVE_FAKE_TEARS - .2byte MOVE_WISH - .2byte MOVE_BATON_PASS - .2byte MOVE_SUBSTITUTE - .2byte MOVE_TICKLE - - egg_moves_begin SPECIES_KECLEON - .2byte MOVE_DISABLE - .2byte MOVE_MAGIC_COAT - .2byte MOVE_TRICK - - egg_moves_begin SPECIES_NOSEPASS - .2byte MOVE_MAGNITUDE - .2byte MOVE_ROLLOUT - .2byte MOVE_EXPLOSION - - egg_moves_begin SPECIES_TORKOAL - .2byte MOVE_ERUPTION - .2byte MOVE_ENDURE - .2byte MOVE_SLEEP_TALK - .2byte MOVE_YAWN - - egg_moves_begin SPECIES_SABLEYE - .2byte MOVE_PSYCH_UP - .2byte MOVE_RECOVER - .2byte MOVE_MOONLIGHT - - egg_moves_begin SPECIES_BARBOACH - .2byte MOVE_THRASH - .2byte MOVE_WHIRLPOOL - .2byte MOVE_SPARK - - egg_moves_begin SPECIES_LUVDISC - .2byte MOVE_SPLASH - .2byte MOVE_SUPERSONIC - .2byte MOVE_WATER_SPORT - .2byte MOVE_MUD_SPORT - - egg_moves_begin SPECIES_CORPHISH - .2byte MOVE_MUD_SPORT - .2byte MOVE_ENDEAVOR - .2byte MOVE_BODY_SLAM - .2byte MOVE_ANCIENT_POWER - - egg_moves_begin SPECIES_FEEBAS - .2byte MOVE_MIRROR_COAT - .2byte MOVE_DRAGON_BREATH - .2byte MOVE_MUD_SPORT - .2byte MOVE_HYPNOSIS - .2byte MOVE_LIGHT_SCREEN - .2byte MOVE_CONFUSE_RAY - - egg_moves_begin SPECIES_CARVANHA - .2byte MOVE_HYDRO_PUMP - .2byte MOVE_DOUBLE_EDGE - .2byte MOVE_THRASH - - egg_moves_begin SPECIES_TRAPINCH - .2byte MOVE_FOCUS_ENERGY - .2byte MOVE_QUICK_ATTACK - .2byte MOVE_GUST - - egg_moves_begin SPECIES_MAKUHITA - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_DETECT - .2byte MOVE_FORESIGHT - .2byte MOVE_HELPING_HAND - .2byte MOVE_CROSS_CHOP - .2byte MOVE_REVENGE - .2byte MOVE_DYNAMIC_PUNCH - .2byte MOVE_COUNTER - - egg_moves_begin SPECIES_ELECTRIKE - .2byte MOVE_CRUNCH - .2byte MOVE_HEADBUTT - .2byte MOVE_UPROAR - .2byte MOVE_CURSE - .2byte MOVE_SWIFT - - egg_moves_begin SPECIES_NUMEL - .2byte MOVE_HOWL - .2byte MOVE_SCARY_FACE - .2byte MOVE_BODY_SLAM - .2byte MOVE_ROLLOUT - .2byte MOVE_DEFENSE_CURL - .2byte MOVE_STOMP - - egg_moves_begin SPECIES_SPHEAL - .2byte MOVE_WATER_SPORT - .2byte MOVE_STOCKPILE - .2byte MOVE_SWALLOW - .2byte MOVE_SPIT_UP - .2byte MOVE_YAWN - .2byte MOVE_ROCK_SLIDE - .2byte MOVE_CURSE - .2byte MOVE_FISSURE - - egg_moves_begin SPECIES_CACNEA - .2byte MOVE_GRASS_WHISTLE - .2byte MOVE_ACID - .2byte MOVE_TEETER_DANCE - .2byte MOVE_DYNAMIC_PUNCH - .2byte MOVE_COUNTER - - egg_moves_begin SPECIES_SNORUNT - .2byte MOVE_BLOCK - .2byte MOVE_SPIKES - - egg_moves_begin SPECIES_AZURILL - .2byte MOVE_ENCORE - .2byte MOVE_SING - .2byte MOVE_REFRESH - .2byte MOVE_SLAM - .2byte MOVE_TICKLE - - egg_moves_begin SPECIES_SPOINK - .2byte MOVE_FUTURE_SIGHT - .2byte MOVE_EXTRASENSORY - .2byte MOVE_SUBSTITUTE - .2byte MOVE_TRICK - - egg_moves_begin SPECIES_PLUSLE - .2byte MOVE_SUBSTITUTE - .2byte MOVE_WISH - - egg_moves_begin SPECIES_MINUN - .2byte MOVE_SUBSTITUTE - .2byte MOVE_WISH - - egg_moves_begin SPECIES_MAWILE - .2byte MOVE_SWORDS_DANCE - .2byte MOVE_FALSE_SWIPE - .2byte MOVE_POISON_FANG - .2byte MOVE_PSYCH_UP - .2byte MOVE_ANCIENT_POWER - .2byte MOVE_TICKLE - - egg_moves_begin SPECIES_MEDITITE - .2byte MOVE_FIRE_PUNCH - .2byte MOVE_THUNDER_PUNCH - .2byte MOVE_ICE_PUNCH - .2byte MOVE_FORESIGHT - .2byte MOVE_FAKE_OUT - .2byte MOVE_BATON_PASS - .2byte MOVE_DYNAMIC_PUNCH - - egg_moves_begin SPECIES_SWABLU - .2byte MOVE_AGILITY - .2byte MOVE_HAZE - .2byte MOVE_PURSUIT - .2byte MOVE_RAGE - - egg_moves_begin SPECIES_DUSKULL - .2byte MOVE_IMPRISON - .2byte MOVE_DESTINY_BOND - .2byte MOVE_PAIN_SPLIT - .2byte MOVE_GRUDGE - .2byte MOVE_MEMENTO - .2byte MOVE_FAINT_ATTACK - - egg_moves_begin SPECIES_ROSELIA - .2byte MOVE_SPIKES - .2byte MOVE_SYNTHESIS - .2byte MOVE_PIN_MISSILE - .2byte MOVE_COTTON_SPORE - - egg_moves_begin SPECIES_SLAKOTH - .2byte MOVE_PURSUIT - .2byte MOVE_SLASH - .2byte MOVE_BODY_SLAM - .2byte MOVE_SNORE - .2byte MOVE_CRUSH_CLAW - .2byte MOVE_CURSE - .2byte MOVE_SLEEP_TALK - - egg_moves_begin SPECIES_GULPIN - .2byte MOVE_DREAM_EATER - .2byte MOVE_ACID_ARMOR - .2byte MOVE_SMOG - .2byte MOVE_PAIN_SPLIT - - egg_moves_begin SPECIES_TROPIUS - .2byte MOVE_HEADBUTT - .2byte MOVE_SLAM - .2byte MOVE_RAZOR_WIND - .2byte MOVE_LEECH_SEED - .2byte MOVE_NATURE_POWER - - egg_moves_begin SPECIES_WHISMUR - .2byte MOVE_TAKE_DOWN - .2byte MOVE_SNORE - .2byte MOVE_SWAGGER - .2byte MOVE_EXTRASENSORY - .2byte MOVE_SMELLING_SALT - - egg_moves_begin SPECIES_CLAMPERL - .2byte MOVE_REFRESH - .2byte MOVE_MUD_SPORT - .2byte MOVE_BODY_SLAM - .2byte MOVE_SUPERSONIC - .2byte MOVE_BARRIER - .2byte MOVE_CONFUSE_RAY - - egg_moves_begin SPECIES_ABSOL - .2byte MOVE_BATON_PASS - .2byte MOVE_FAINT_ATTACK - .2byte MOVE_DOUBLE_EDGE - .2byte MOVE_MAGIC_COAT - .2byte MOVE_CURSE - .2byte MOVE_SUBSTITUTE - - egg_moves_begin SPECIES_SHUPPET - .2byte MOVE_DISABLE - .2byte MOVE_DESTINY_BOND - .2byte MOVE_FORESIGHT - .2byte MOVE_ASTONISH - .2byte MOVE_IMPRISON - - egg_moves_begin SPECIES_SEVIPER - .2byte MOVE_STOCKPILE - .2byte MOVE_SWALLOW - .2byte MOVE_SPIT_UP - .2byte MOVE_BODY_SLAM - - egg_moves_begin SPECIES_ZANGOOSE - .2byte MOVE_FLAIL - .2byte MOVE_DOUBLE_KICK - .2byte MOVE_RAZOR_WIND - .2byte MOVE_COUNTER - .2byte MOVE_ROAR - .2byte MOVE_CURSE - - egg_moves_begin SPECIES_RELICANTH - .2byte MOVE_MAGNITUDE - .2byte MOVE_SKULL_BASH - .2byte MOVE_WATER_SPORT - .2byte MOVE_AMNESIA - .2byte MOVE_SLEEP_TALK - .2byte MOVE_ROCK_SLIDE - - egg_moves_begin SPECIES_ARON - .2byte MOVE_ENDEAVOR - .2byte MOVE_BODY_SLAM - .2byte MOVE_STOMP - .2byte MOVE_SMELLING_SALT - - egg_moves_begin SPECIES_CASTFORM - .2byte MOVE_FUTURE_SIGHT - .2byte MOVE_PSYCH_UP - - egg_moves_begin SPECIES_VOLBEAT - .2byte MOVE_BATON_PASS - .2byte MOVE_SILVER_WIND - .2byte MOVE_TRICK - - egg_moves_begin SPECIES_ILLUMISE - .2byte MOVE_BATON_PASS - .2byte MOVE_SILVER_WIND - .2byte MOVE_GROWTH - - egg_moves_begin SPECIES_LILEEP - .2byte MOVE_BARRIER - .2byte MOVE_RECOVER - .2byte MOVE_MIRROR_COAT - .2byte MOVE_ROCK_SLIDE - - egg_moves_begin SPECIES_ANORITH - .2byte MOVE_RAPID_SPIN - .2byte MOVE_KNOCK_OFF - .2byte MOVE_SWORDS_DANCE - .2byte MOVE_ROCK_SLIDE - - egg_moves_begin SPECIES_RALTS - .2byte MOVE_DISABLE - .2byte MOVE_WILL_O_WISP - .2byte MOVE_MEAN_LOOK - .2byte MOVE_MEMENTO - .2byte MOVE_DESTINY_BOND - - egg_moves_begin SPECIES_BAGON - .2byte MOVE_HYDRO_PUMP - .2byte MOVE_THRASH - .2byte MOVE_DRAGON_RAGE - .2byte MOVE_TWISTER - .2byte MOVE_DRAGON_DANCE - - egg_moves_begin SPECIES_CHIMECHO - .2byte MOVE_DISABLE - .2byte MOVE_CURSE - .2byte MOVE_HYPNOSIS - .2byte MOVE_DREAM_EATER - - .2byte -1 diff --git a/data/event_script_command_function_table.inc b/data/event_script_command_function_table.inc deleted file mode 100644 index 7cd00c37d7..0000000000 --- a/data/event_script_command_function_table.inc +++ /dev/null @@ -1,229 +0,0 @@ - .align 2 -gScriptCmdTable:: @ 81DB67C - .4byte ScrCmd_nop - .4byte ScrCmd_nop1 - .4byte ScrCmd_end - .4byte ScrCmd_return - .4byte ScrCmd_call - .4byte ScrCmd_goto - .4byte ScrCmd_goto_if - .4byte ScrCmd_call_if - .4byte ScrCmd_gotostd - .4byte ScrCmd_callstd - .4byte ScrCmd_gotostd_if - .4byte ScrCmd_callstd_if - .4byte ScrCmd_gotoram - .4byte ScrCmd_killscript - .4byte ScrCmd_setmysteryeventstatus - .4byte ScrCmd_loadword - .4byte ScrCmd_loadbyte - .4byte ScrCmd_writebytetoaddr - .4byte ScrCmd_loadbytefromaddr - .4byte ScrCmd_setptrbyte - .4byte ScrCmd_copylocal - .4byte ScrCmd_copybyte - .4byte ScrCmd_setvar - .4byte ScrCmd_addvar - .4byte ScrCmd_subvar - .4byte ScrCmd_copyvar - .4byte ScrCmd_setorcopyvar - .4byte ScrCmd_compare_local_to_local - .4byte ScrCmd_compare_local_to_value - .4byte ScrCmd_compare_local_to_addr - .4byte ScrCmd_compare_addr_to_local - .4byte ScrCmd_compare_addr_to_value - .4byte ScrCmd_compare_addr_to_addr - .4byte ScrCmd_compare_var_to_value - .4byte ScrCmd_compare_var_to_var - .4byte ScrCmd_callnative - .4byte ScrCmd_gotonative - .4byte ScrCmd_special - .4byte ScrCmd_specialvar - .4byte ScrCmd_waitstate - .4byte ScrCmd_delay - .4byte ScrCmd_setflag - .4byte ScrCmd_clearflag - .4byte ScrCmd_checkflag - .4byte ScrCmd_initclock - .4byte ScrCmd_dodailyevents - .4byte ScrCmd_gettime - .4byte ScrCmd_playse - .4byte ScrCmd_waitse - .4byte ScrCmd_playfanfare - .4byte ScrCmd_waitfanfare - .4byte ScrCmd_playbgm - .4byte ScrCmd_savebgm - .4byte ScrCmd_fadedefaultbgm - .4byte ScrCmd_fadenewbgm - .4byte ScrCmd_fadeoutbgm - .4byte ScrCmd_fadeinbgm - .4byte ScrCmd_warp - .4byte ScrCmd_warpsilent - .4byte ScrCmd_warpdoor - .4byte ScrCmd_warphole - .4byte ScrCmd_warpteleport - .4byte ScrCmd_setwarp - .4byte ScrCmd_setdynamicwarp - .4byte ScrCmd_setdivewarp - .4byte ScrCmd_setholewarp - .4byte ScrCmd_getplayerxy - .4byte ScrCmd_countpokemon - .4byte ScrCmd_additem - .4byte ScrCmd_removeitem - .4byte ScrCmd_checkitemspace - .4byte ScrCmd_checkitem - .4byte ScrCmd_checkitemtype - .4byte ScrCmd_addpcitem - .4byte ScrCmd_checkpcitem - .4byte ScrCmd_adddecor - .4byte ScrCmd_removedecor - .4byte ScrCmd_hasdecor - .4byte ScrCmd_checkdecor - .4byte ScrCmd_applymovement - .4byte ScrCmd_applymovement_at - .4byte ScrCmd_waitmovement - .4byte ScrCmd_waitmovement_at - .4byte ScrCmd_removeobject - .4byte ScrCmd_removeobject_at - .4byte ScrCmd_addobject - .4byte ScrCmd_addobject_at - .4byte ScrCmd_setobjectxy - .4byte ScrCmd_showobject - .4byte ScrCmd_hideobject - .4byte ScrCmd_faceplayer - .4byte ScrCmd_turnobject - .4byte ScrCmd_trainerbattle - .4byte ScrCmd_battlebegin - .4byte ScrCmd_ontrainerbattleend - .4byte ScrCmd_ontrainerbattleendgoto - .4byte ScrCmd_checktrainerflag - .4byte ScrCmd_settrainerflag - .4byte ScrCmd_cleartrainerflag - .4byte ScrCmd_setobjectxyperm - .4byte ScrCmd_moveobjectoffscreen - .4byte ScrCmd_setobjectmovementtype - .4byte ScrCmd_waitmessage - .4byte ScrCmd_message - .4byte ScrCmd_closemessage - .4byte ScrCmd_lockall - .4byte ScrCmd_lock - .4byte ScrCmd_releaseall - .4byte ScrCmd_release - .4byte ScrCmd_waitbutton - .4byte ScrCmd_yesnobox - .4byte ScrCmd_multichoice - .4byte ScrCmd_multichoicedefault - .4byte ScrCmd_multichoicegrid - .4byte ScrCmd_drawbox - .4byte ScrCmd_erasebox - .4byte ScrCmd_drawboxtext - .4byte ScrCmd_drawpokepic - .4byte ScrCmd_erasepokepic - .4byte ScrCmd_drawcontestwinner - .4byte ScrCmd_braillemessage - .4byte ScrCmd_givepoke - .4byte ScrCmd_giveegg - .4byte ScrCmd_setpokemove - .4byte ScrCmd_checkpokemove - .4byte ScrCmd_getspeciesname - .4byte ScrCmd_getfirstpartypokename - .4byte ScrCmd_getpartypokename - .4byte ScrCmd_getitemname - .4byte ScrCmd_getdecorname - .4byte ScrCmd_getmovename - .4byte ScrCmd_getnumberstring - .4byte ScrCmd_getstdstring - .4byte ScrCmd_getstring - .4byte ScrCmd_pokemart - .4byte ScrCmd_pokemartdecor - .4byte ScrCmd_pokemartbp - .4byte ScrCmd_playslotmachine - .4byte ScrCmd_plantberrytree - .4byte ScrCmd_choosecontestpkmn - .4byte ScrCmd_startcontest - .4byte ScrCmd_showcontestresults - .4byte ScrCmd_contestlinktransfer - .4byte ScrCmd_random - .4byte ScrCmd_givemoney - .4byte ScrCmd_takemoney - .4byte ScrCmd_checkmoney - .4byte ScrCmd_showmoneybox - .4byte ScrCmd_hidemoneybox - .4byte ScrCmd_updatemoneybox - .4byte ScrCmd_getpricereduction - .4byte ScrCmd_fadescreen - .4byte ScrCmd_fadescreendelay - .4byte ScrCmd_setdarklevel - .4byte ScrCmd_animdarklevel - .4byte ScrCmd_messageautoscroll - .4byte ScrCmd_dofieldeffect - .4byte ScrCmd_setfieldeffect - .4byte ScrCmd_waitfieldeffect - .4byte ScrCmd_sethealplace - .4byte ScrCmd_checkplayergender - .4byte ScrCmd_playpokecry - .4byte ScrCmd_setmaptile - .4byte ScrCmd_resetweather - .4byte ScrCmd_setweather - .4byte ScrCmd_doweather - .4byte ScrCmd_tileeffect - .4byte ScrCmd_setmaplayoutindex - .4byte ScrCmd_setobjectpriority - .4byte ScrCmd_resetobjectpriority - .4byte ScrCmd_createvobject - .4byte ScrCmd_turnvobject - .4byte ScrCmd_opendoor - .4byte ScrCmd_closedoor - .4byte ScrCmd_waitdooranim - .4byte ScrCmd_setdooropen - .4byte ScrCmd_setdoorclosed - .4byte ScrCmd_addelevmenuitem - .4byte ScrCmd_showelevmenu - .4byte ScrCmd_checkcoins - .4byte ScrCmd_givecoins - .4byte ScrCmd_takecoins - .4byte ScrCmd_setwildbattle - .4byte ScrCmd_dowildbattle - .4byte ScrCmd_setvaddress - .4byte ScrCmd_vgoto - .4byte ScrCmd_vcall - .4byte ScrCmd_vgoto_if - .4byte ScrCmd_vcall_if - .4byte ScrCmd_vmessage - .4byte ScrCmd_vloadword - .4byte ScrCmd_vgetstring - .4byte ScrCmd_showcoinsbox - .4byte ScrCmd_hidecoinsbox - .4byte ScrCmd_updatecoinsbox - .4byte ScrCmd_incrementgamestat - .4byte ScrCmd_setescapewarp - .4byte ScrCmd_waitpokecry - .4byte ScrCmd_getboxname - .4byte ScrCmd_nop1 - .4byte ScrCmd_nop1 - .4byte ScrCmd_nop1 - .4byte ScrCmd_nop1 - .4byte ScrCmd_nop1 - .4byte ScrCmd_nop1 - .4byte ScrCmd_setpokeobedient - .4byte ScrCmd_checkpokeobedience - .4byte ScrCmd_cmdCF - .4byte ScrCmd_nop1 - .4byte ScrCmd_warpD1 - .4byte ScrCmd_setpokemetlocation - .4byte ScrCmd_mossdeepgym1 - .4byte ScrCmd_mossdeepgym2 - .4byte ScrCmd_mossdeepgym3 - .4byte ScrCmd_mossdeepgym4 - .4byte ScrCmd_warpD7 - .4byte ScrCmd_cmdD8 - .4byte ScrCmd_cmdD9 - .4byte ScrCmd_cmdDA - .4byte ScrCmd_cmdDB - .4byte ScrCmd_fadescreenswapbuffers - .4byte ScrCmd_gettrainerclass - .4byte ScrCmd_gettrainername - .4byte ScrCmd_pokenavcall - .4byte ScrCmd_warpE0 - .4byte ScrCmd_getcontesttype - .4byte ScrCmd_getitemnameplural diff --git a/data/event_scripts.s b/data/event_scripts.s index ad1216b914..b2b895903d 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -1,396 +1,3271 @@ +#include "constants/flags.h" +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/songs.h" +#include "constants/species.h" +#include "constants/vars.h" +#include "constants/trainers.h" .include "asm/macros.inc" + .include "asm/macros/event.inc" .include "constants/constants.inc" + .section script_data, "aw", %progbits @ 81DB67C - .include "data/event_script_command_function_table.inc" - -gScriptCmdTableEnd:: @ 81DBA08 - .incbin "baserom.gba", 0x1dba08, 0x4 + .include "data/script_cmd_table.inc" gSpecialVars:: @ 81DBA0C - .incbin "baserom.gba", 0x1dba0c, 0x58 + .4byte gSpecialVar_0x8000 + .4byte gSpecialVar_0x8001 + .4byte gSpecialVar_0x8002 + .4byte gSpecialVar_0x8003 + .4byte gSpecialVar_0x8004 + .4byte gSpecialVar_0x8005 + .4byte gSpecialVar_0x8006 + .4byte gSpecialVar_0x8007 + .4byte gSpecialVar_0x8008 + .4byte gSpecialVar_0x8009 + .4byte gSpecialVar_0x800A + .4byte gSpecialVar_0x800B + .4byte gSpecialVar_Facing + .4byte gSpecialVar_Result + .4byte gSpecialVar_ItemId + .4byte gSpecialVar_LastTalked + .4byte gSpecialVar_ContestRank + .4byte gSpecialVar_ContestCategory + .4byte gSpecialVar_MonBoxId + .4byte gSpecialVar_MonBoxPos + .4byte gSpecialVar_0x8014 + .4byte gTrainerBattleOpponent_A .include "data/specials.inc" gStdScripts:: @ 81DC2A0 - .incbin "baserom.gba", 0x1dc2a0, 0x2c + .4byte Std_ObtainItem + .4byte Std_FindItem + .4byte Std_2 + .4byte Std_3 + .4byte Std_4 + .4byte Std_5 + .4byte Std_6 + .4byte Std_ObtainDecoration + .4byte Std_8 + .4byte Std_9 + .4byte Std_10 gStdScripts_End:: @ 81DC2CC - .incbin "baserom.gba", 0x1dc2cc, 0x34ee + map_script 3, PetalburgCity_MapScript1_1DC2D7 + map_script 2, PetalburgCity_MapScript2_1DC31C + .byte 0 -gUnknown_081DF7BA:: @ 81DF7BA - .incbin "baserom.gba", 0x1df7ba, 0x69a3 - -gUnknown_081E615D:: @ 81E615D - .incbin "baserom.gba", 0x1e615d, 0xe88f - -gUnknown_081F49EC:: @ 81F49EC - .incbin "baserom.gba", 0x1f49ec, 0x3c21 - -gUnknown_081F860D:: @ 81F860D - .incbin "baserom.gba", 0x1f860d, 0x32 - -gUnknown_081F863F:: @ 81F863F - .incbin "baserom.gba", 0x1f863f, 0xf14 - -gUnknown_081F9553:: @ 81F9553 - .incbin "baserom.gba", 0x1f9553, 0x3c - -gUnknown_081F958F:: @ 81F958F - .incbin "baserom.gba", 0x1f958f, 0xf47 - -gUnknown_081FA4D6:: @ 81FA4D6 - .incbin "baserom.gba", 0x1fa4d6, 0x18ba5 - -gUnknown_0821307B:: @ 821307B - .incbin "baserom.gba", 0x21307b, 0x110dd - -gUnknown_08224158:: @ 8224158 - .incbin "baserom.gba", 0x224158, 0xf - -gUnknown_08224167:: @ 8224167 - .incbin "baserom.gba", 0x224167, 0xe - -gUnknown_08224175:: @ 8224175 - .incbin "baserom.gba", 0x224175, 0x14d3a - -gUnknown_08238EAF:: @ 8238EAF - .incbin "baserom.gba", 0x238eaf, 0x54a - -gUnknown_082393F9:: @ 82393F9 - .incbin "baserom.gba", 0x2393f9, 0x20c2 + .include "data/scripts/maps/PetalburgCity.inc" + .include "data/scripts/maps/SlateportCity.inc" + .include "data/scripts/maps/MauvilleCity.inc" + .include "data/scripts/maps/RustboroCity.inc" + .include "data/scripts/maps/FortreeCity.inc" + .include "data/scripts/maps/LilycoveCity.inc" + .include "data/scripts/maps/MossdeepCity.inc" + .include "data/scripts/maps/SootopolisCity.inc" + .include "data/scripts/maps/EverGrandeCity.inc" + .include "data/scripts/maps/LittlerootTown.inc" + .include "data/scripts/maps/OldaleTown.inc" + .include "data/scripts/maps/DewfordTown.inc" + .include "data/scripts/maps/LavaridgeTown.inc" + .include "data/scripts/maps/FallarborTown.inc" + .include "data/scripts/maps/VerdanturfTown.inc" + .include "data/scripts/maps/PacifidlogTown.inc" + .include "data/scripts/maps/Route101.inc" + .include "data/scripts/maps/Route102.inc" + .include "data/scripts/maps/Route103.inc" + .include "data/scripts/maps/Route104.inc" + .include "data/scripts/maps/Route105.inc" + .include "data/scripts/maps/Route106.inc" + .include "data/scripts/maps/Route107.inc" + .include "data/scripts/maps/Route108.inc" + .include "data/scripts/maps/Route109.inc" + .include "data/scripts/maps/Route110.inc" + .include "data/scripts/maps/Route111.inc" + .include "data/scripts/maps/Route112.inc" + .include "data/scripts/maps/Route113.inc" + .include "data/scripts/maps/Route114.inc" + .include "data/scripts/maps/Route115.inc" + .include "data/scripts/maps/Route116.inc" + .include "data/scripts/maps/Route117.inc" + .include "data/scripts/maps/Route118.inc" + .include "data/scripts/maps/Route119.inc" + .include "data/scripts/maps/Route120.inc" + .include "data/scripts/maps/Route121.inc" + .include "data/scripts/maps/Route122.inc" + .include "data/scripts/maps/Route123.inc" + .include "data/scripts/maps/Route124.inc" + .include "data/scripts/maps/Route125.inc" + .include "data/scripts/maps/Route126.inc" + .include "data/scripts/maps/Route127.inc" + .include "data/scripts/maps/Route128.inc" + .include "data/scripts/maps/Route129.inc" + .include "data/scripts/maps/Route130.inc" + .include "data/scripts/maps/Route131.inc" + .include "data/scripts/maps/Route132.inc" + .include "data/scripts/maps/Route133.inc" + .include "data/scripts/maps/Route134.inc" + .include "data/scripts/maps/Underwater1.inc" + .include "data/scripts/maps/Underwater2.inc" + .include "data/scripts/maps/Underwater3.inc" + .include "data/scripts/maps/Underwater4.inc" + .include "data/scripts/maps/Underwater5.inc" + .include "data/scripts/maps/Underwater6.inc" + .include "data/scripts/maps/Underwater7.inc" + .include "data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc" + .include "data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc" + .include "data/scripts/maps/LittlerootTown_MaysHouse_1F.inc" + .include "data/scripts/maps/LittlerootTown_MaysHouse_2F.inc" + .include "data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc" + .include "data/scripts/maps/OldaleTown_House1.inc" + .include "data/scripts/maps/OldaleTown_House2.inc" + .include "data/scripts/maps/OldaleTown_PokemonCenter_1F.inc" + .include "data/scripts/maps/OldaleTown_PokemonCenter_2F.inc" + .include "data/scripts/maps/OldaleTown_Mart.inc" + .include "data/scripts/maps/DewfordTown_House1.inc" + .include "data/scripts/maps/DewfordTown_PokemonCenter_1F.inc" + .include "data/scripts/maps/DewfordTown_PokemonCenter_2F.inc" + .include "data/scripts/maps/DewfordTown_Gym.inc" + .include "data/scripts/maps/DewfordTown_Hall.inc" + .include "data/scripts/maps/DewfordTown_House2.inc" + .include "data/scripts/maps/LavaridgeTown_HerbShop.inc" + .include "data/scripts/maps/LavaridgeTown_Gym_1F.inc" + .include "data/scripts/maps/LavaridgeTown_Gym_B1F.inc" + .include "data/scripts/maps/LavaridgeTown_House.inc" + .include "data/scripts/maps/LavaridgeTown_Mart.inc" + .include "data/scripts/maps/LavaridgeTown_PokemonCenter_1F.inc" + .include "data/scripts/maps/LavaridgeTown_PokemonCenter_2F.inc" + .include "data/scripts/maps/FallarborTown_Mart.inc" + .include "data/scripts/maps/FallarborTown_BattleTentLobby.inc" + .include "data/scripts/maps/FallarborTown_BattleTentCorridor.inc" + .include "data/scripts/maps/FallarborTown_BattleTentBattleRoom.inc" + .include "data/scripts/maps/FallarborTown_PokemonCenter_1F.inc" + .include "data/scripts/maps/FallarborTown_PokemonCenter_2F.inc" + .include "data/scripts/maps/FallarborTown_House1.inc" + .include "data/scripts/maps/FallarborTown_House2.inc" + .include "data/scripts/maps/VerdanturfTown_BattleTentLobby.inc" + .include "data/scripts/maps/VerdanturfTown_BattleTentCorridor.inc" + .include "data/scripts/maps/VerdanturfTown_BattleTentBattleRoom.inc" + .include "data/scripts/maps/VerdanturfTown_Mart.inc" + .include "data/scripts/maps/VerdanturfTown_PokemonCenter_1F.inc" + .include "data/scripts/maps/VerdanturfTown_PokemonCenter_2F.inc" + .include "data/scripts/maps/VerdanturfTown_WandasHouse.inc" + .include "data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc" + .include "data/scripts/maps/VerdanturfTown_House.inc" + .include "data/scripts/maps/PacifidlogTown_PokemonCenter_1F.inc" + .include "data/scripts/maps/PacifidlogTown_PokemonCenter_2F.inc" + .include "data/scripts/maps/PacifidlogTown_House1.inc" + .include "data/scripts/maps/PacifidlogTown_House2.inc" + .include "data/scripts/maps/PacifidlogTown_House3.inc" + .include "data/scripts/maps/PacifidlogTown_House4.inc" + .include "data/scripts/maps/PacifidlogTown_House5.inc" + .include "data/scripts/maps/PetalburgCity_WallysHouse.inc" + .include "data/scripts/maps/PetalburgCity_Gym.inc" + .include "data/scripts/maps/PetalburgCity_House1.inc" + .include "data/scripts/maps/PetalburgCity_House2.inc" + .include "data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc" + .include "data/scripts/maps/PetalburgCity_PokemonCenter_2F.inc" + .include "data/scripts/maps/PetalburgCity_Mart.inc" + .include "data/scripts/maps/SlateportCity_SternsShipyard_1F.inc" + .include "data/scripts/maps/SlateportCity_SternsShipyard_2F.inc" + .include "data/scripts/maps/SlateportCity_BattleTentLobby.inc" + .include "data/scripts/maps/SlateportCity_BattleTentCorridor.inc" + .include "data/scripts/maps/SlateportCity_BattleTentBattleRoom.inc" + .include "data/scripts/maps/SlateportCity_House1.inc" + .include "data/scripts/maps/SlateportCity_PokemonFanClub.inc" + .include "data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc" + .include "data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc" + .include "data/scripts/maps/SlateportCity_Harbor.inc" + .include "data/scripts/maps/SlateportCity_House2.inc" + .include "data/scripts/maps/SlateportCity_PokemonCenter_1F.inc" + .include "data/scripts/maps/SlateportCity_PokemonCenter_2F.inc" + .include "data/scripts/maps/SlateportCity_Mart.inc" + .include "data/scripts/maps/MauvilleCity_Gym.inc" + .include "data/scripts/maps/MauvilleCity_BikeShop.inc" + .include "data/scripts/maps/MauvilleCity_House1.inc" + .include "data/scripts/maps/MauvilleCity_GameCorner.inc" + .include "data/scripts/maps/MauvilleCity_House2.inc" + .include "data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc" + .include "data/scripts/maps/MauvilleCity_PokemonCenter_2F.inc" + .include "data/scripts/maps/MauvilleCity_Mart.inc" + .include "data/scripts/maps/RustboroCity_DevonCorp_1F.inc" + .include "data/scripts/maps/RustboroCity_DevonCorp_2F.inc" + .include "data/scripts/maps/RustboroCity_DevonCorp_3F.inc" + .include "data/scripts/maps/RustboroCity_Gym.inc" + .include "data/scripts/maps/RustboroCity_PokemonSchool.inc" + .include "data/scripts/maps/RustboroCity_PokemonCenter_1F.inc" + .include "data/scripts/maps/RustboroCity_PokemonCenter_2F.inc" + .include "data/scripts/maps/RustboroCity_Mart.inc" + .include "data/scripts/maps/RustboroCity_Flat1_1F.inc" + .include "data/scripts/maps/RustboroCity_Flat1_2F.inc" + .include "data/scripts/maps/RustboroCity_House1.inc" + .include "data/scripts/maps/RustboroCity_CuttersHouse.inc" + .include "data/scripts/maps/RustboroCity_House2.inc" + .include "data/scripts/maps/RustboroCity_Flat2_1F.inc" + .include "data/scripts/maps/RustboroCity_Flat2_2F.inc" + .include "data/scripts/maps/RustboroCity_Flat2_3F.inc" + .include "data/scripts/maps/RustboroCity_House3.inc" + .include "data/scripts/maps/FortreeCity_House1.inc" + .include "data/scripts/maps/FortreeCity_Gym.inc" + .include "data/scripts/maps/FortreeCity_PokemonCenter_1F.inc" + .include "data/scripts/maps/FortreeCity_PokemonCenter_2F.inc" + .include "data/scripts/maps/FortreeCity_Mart.inc" + .include "data/scripts/maps/FortreeCity_House2.inc" + .include "data/scripts/maps/FortreeCity_House3.inc" + .include "data/scripts/maps/FortreeCity_House4.inc" + .include "data/scripts/maps/FortreeCity_House5.inc" + .include "data/scripts/maps/FortreeCity_DecorationShop.inc" + .include "data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc" + .include "data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc" + .include "data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc" + .include "data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc" + .include "data/scripts/maps/LilycoveCity_ContestLobby.inc" + .include "data/scripts/maps/LilycoveCity_ContestHall.inc" + .include "data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc" + .include "data/scripts/maps/LilycoveCity_PokemonCenter_2F.inc" + .include "data/scripts/maps/LilycoveCity_UnusedMart.inc" + .include "data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc" + .include "data/scripts/maps/LilycoveCity_Harbor.inc" + .include "data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc" + .include "data/scripts/maps/LilycoveCity_House1.inc" + .include "data/scripts/maps/LilycoveCity_House2.inc" + .include "data/scripts/maps/LilycoveCity_House3.inc" + .include "data/scripts/maps/LilycoveCity_House4.inc" + .include "data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc" + .include "data/scripts/maps/LilycoveCity_DepartmentStore_2F.inc" + .include "data/scripts/maps/LilycoveCity_DepartmentStore_3F.inc" + .include "data/scripts/maps/LilycoveCity_DepartmentStore_4F.inc" + .include "data/scripts/maps/LilycoveCity_DepartmentStore_5F.inc" + .include "data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc" + .include "data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc" + .include "data/scripts/maps/MossdeepCity_Gym.inc" + .include "data/scripts/maps/MossdeepCity_House1.inc" + .include "data/scripts/maps/MossdeepCity_House2.inc" + .include "data/scripts/maps/MossdeepCity_PokemonCenter_1F.inc" + .include "data/scripts/maps/MossdeepCity_PokemonCenter_2F.inc" + .include "data/scripts/maps/MossdeepCity_Mart.inc" + .include "data/scripts/maps/MossdeepCity_House3.inc" + .include "data/scripts/maps/MossdeepCity_StevensHouse.inc" + .include "data/scripts/maps/MossdeepCity_House4.inc" + .include "data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc" + .include "data/scripts/maps/MossdeepCity_SpaceCenter_2F.inc" + .include "data/scripts/maps/MossdeepCity_GameCorner_1F.inc" + .include "data/scripts/maps/MossdeepCity_GameCorner_B1F.inc" + .include "data/scripts/maps/SootopolisCity_Gym_1F.inc" + .include "data/scripts/maps/SootopolisCity_Gym_B1F.inc" + .include "data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc" + .include "data/scripts/maps/SootopolisCity_PokemonCenter_2F.inc" + .include "data/scripts/maps/SootopolisCity_Mart.inc" + .include "data/scripts/maps/SootopolisCity_House1.inc" + .include "data/scripts/maps/SootopolisCity_House2.inc" + .include "data/scripts/maps/SootopolisCity_House3.inc" + .include "data/scripts/maps/SootopolisCity_House4.inc" + .include "data/scripts/maps/SootopolisCity_House5.inc" + .include "data/scripts/maps/SootopolisCity_House6.inc" + .include "data/scripts/maps/SootopolisCity_House7.inc" + .include "data/scripts/maps/SootopolisCity_LotadAndSeedotHouse.inc" + .include "data/scripts/maps/SootopolisCity_MysteryEventsHouse_1F.inc" + .include "data/scripts/maps/SootopolisCity_MysteryEventsHouse_B1F.inc" + .include "data/scripts/maps/EverGrandeCity_SidneysRoom.inc" + .include "data/scripts/maps/EverGrandeCity_PhoebesRoom.inc" + .include "data/scripts/maps/EverGrandeCity_GlaciasRoom.inc" + .include "data/scripts/maps/EverGrandeCity_DrakesRoom.inc" + .include "data/scripts/maps/EverGrandeCity_ChampionsRoom.inc" + .include "data/scripts/maps/EverGrandeCity_Hall1.inc" + .include "data/scripts/maps/EverGrandeCity_Hall2.inc" + .include "data/scripts/maps/EverGrandeCity_Hall3.inc" + .include "data/scripts/maps/EverGrandeCity_Hall4.inc" + .include "data/scripts/maps/EverGrandeCity_Hall5.inc" + .include "data/scripts/maps/EverGrandeCity_PokemonLeague_1F.inc" + .include "data/scripts/maps/EverGrandeCity_HallOfFame.inc" + .include "data/scripts/maps/EverGrandeCity_PokemonCenter_1F.inc" + .include "data/scripts/maps/EverGrandeCity_PokemonCenter_2F.inc" + .include "data/scripts/maps/EverGrandeCity_PokemonLeague_2F.inc" + .include "data/scripts/maps/Route104_MrBrineysHouse.inc" + .include "data/scripts/maps/Route104_PrettyPetalFlowerShop.inc" + .include "data/scripts/maps/Route111_WinstrateFamilysHouse.inc" + .include "data/scripts/maps/Route111_OldLadysRestStop.inc" + .include "data/scripts/maps/Route112_CableCarStation.inc" + .include "data/scripts/maps/MtChimney_CableCarStation.inc" + .include "data/scripts/maps/Route114_FossilManiacsHouse.inc" + .include "data/scripts/maps/Route114_FossilManiacsTunnel.inc" + .include "data/scripts/maps/Route114_LanettesHouse.inc" + .include "data/scripts/maps/Route116_TunnelersRestHouse.inc" + .include "data/scripts/maps/Route117_PokemonDayCare.inc" + .include "data/scripts/maps/Route121_SafariZoneEntrance.inc" + .include "data/scripts/maps/MeteorFalls_1F_1R.inc" + .include "data/scripts/maps/MeteorFalls_1F_2R.inc" + .include "data/scripts/maps/MeteorFalls_B1F_1R.inc" + .include "data/scripts/maps/MeteorFalls_B1F_2R.inc" + .include "data/scripts/maps/RusturfTunnel.inc" + .include "data/scripts/maps/Underwater_SootopolisCity.inc" + .include "data/scripts/maps/DesertRuins.inc" + .include "data/scripts/maps/GraniteCave_1F.inc" + .include "data/scripts/maps/GraniteCave_B1F.inc" + .include "data/scripts/maps/GraniteCave_B2F.inc" + .include "data/scripts/maps/GraniteCave_StevensRoom.inc" + .include "data/scripts/maps/PetalburgWoods.inc" + .include "data/scripts/maps/MtChimney.inc" + .include "data/scripts/maps/JaggedPass.inc" + .include "data/scripts/maps/FieryPath.inc" + .include "data/scripts/maps/MtPyre_1F.inc" + .include "data/scripts/maps/MtPyre_2F.inc" + .include "data/scripts/maps/MtPyre_3F.inc" + .include "data/scripts/maps/MtPyre_4F.inc" + .include "data/scripts/maps/MtPyre_5F.inc" + .include "data/scripts/maps/MtPyre_6F.inc" + .include "data/scripts/maps/MtPyre_Exterior.inc" + .include "data/scripts/maps/MtPyre_Summit.inc" + .include "data/scripts/maps/AquaHideout_1F.inc" + .include "data/scripts/maps/AquaHideout_B1F.inc" + .include "data/scripts/maps/AquaHideout_B2F.inc" + .include "data/scripts/maps/Underwater_SeafloorCavern.inc" + .include "data/scripts/maps/SeafloorCavern_Entrance.inc" + .include "data/scripts/maps/SeafloorCavern_Room1.inc" + .include "data/scripts/maps/SeafloorCavern_Room2.inc" + .include "data/scripts/maps/SeafloorCavern_Room3.inc" + .include "data/scripts/maps/SeafloorCavern_Room4.inc" + .include "data/scripts/maps/SeafloorCavern_Room5.inc" + .include "data/scripts/maps/SeafloorCavern_Room6.inc" + .include "data/scripts/maps/SeafloorCavern_Room7.inc" + .include "data/scripts/maps/SeafloorCavern_Room8.inc" + .include "data/scripts/maps/SeafloorCavern_Room9.inc" + .include "data/scripts/maps/CaveOfOrigin_Entrance.inc" + .include "data/scripts/maps/CaveOfOrigin_1F.inc" + .include "data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap1.inc" + .include "data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap2.inc" + .include "data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap3.inc" + .include "data/scripts/maps/CaveOfOrigin_B1F.inc" + .include "data/scripts/maps/VictoryRoad_1F.inc" + .include "data/scripts/maps/VictoryRoad_B1F.inc" + .include "data/scripts/maps/VictoryRoad_B2F.inc" + .include "data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc" + .include "data/scripts/maps/ShoalCave_LowTideInnerRoom.inc" + .include "data/scripts/maps/ShoalCave_LowTideStairsRoom.inc" + .include "data/scripts/maps/ShoalCave_LowTideLowerRoom.inc" + .include "data/scripts/maps/ShoalCave_HighTideEntranceRoom.inc" + .include "data/scripts/maps/ShoalCave_HighTideInnerRoom.inc" + .include "data/scripts/maps/NewMauville_Entrance.inc" + .include "data/scripts/maps/NewMauville_Inside.inc" + .include "data/scripts/maps/AbandonedShip_Deck.inc" + .include "data/scripts/maps/AbandonedShip_Corridors_1F.inc" + .include "data/scripts/maps/AbandonedShip_Rooms_1F.inc" + .include "data/scripts/maps/AbandonedShip_Corridors_B1F.inc" + .include "data/scripts/maps/AbandonedShip_Rooms_B1F.inc" + .include "data/scripts/maps/AbandonedShip_Rooms2_B1F.inc" + .include "data/scripts/maps/AbandonedShip_Underwater1.inc" + .include "data/scripts/maps/AbandonedShip_Room_B1F.inc" + .include "data/scripts/maps/AbandonedShip_Rooms2_1F.inc" + .include "data/scripts/maps/AbandonedShip_CaptainsOffice.inc" + .include "data/scripts/maps/AbandonedShip_Underwater2.inc" + .include "data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc" + .include "data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc" + .include "data/scripts/maps/IslandCave.inc" + .include "data/scripts/maps/AncientTomb.inc" + .include "data/scripts/maps/Underwater_Route134.inc" + .include "data/scripts/maps/Underwater_SealedChamber.inc" + .include "data/scripts/maps/SealedChamber_OuterRoom.inc" + .include "data/scripts/maps/SealedChamber_InnerRoom.inc" + .include "data/scripts/maps/ScorchedSlab.inc" + .include "data/scripts/maps/AquaHideout_UnusedRubyMap1.inc" + .include "data/scripts/maps/AquaHideout_UnusedRubyMap2.inc" + .include "data/scripts/maps/AquaHideout_UnusedRubyMap3.inc" + .include "data/scripts/maps/SkyPillar_Entrance.inc" + .include "data/scripts/maps/SkyPillar_Outside.inc" + .include "data/scripts/maps/SkyPillar_1F.inc" + .include "data/scripts/maps/SkyPillar_2F.inc" + .include "data/scripts/maps/SkyPillar_3F.inc" + .include "data/scripts/maps/SkyPillar_4F.inc" + .include "data/scripts/maps/ShoalCave_LowTideIceRoom.inc" + .include "data/scripts/maps/SkyPillar_5F.inc" + .include "data/scripts/maps/SkyPillar_Top.inc" + .include "data/scripts/maps/MagmaHideout_1F.inc" + .include "data/scripts/maps/MagmaHideout_2F_1R.inc" + .include "data/scripts/maps/MagmaHideout_2F_2R.inc" + .include "data/scripts/maps/MagmaHideout_3F_1R.inc" + .include "data/scripts/maps/MagmaHideout_3F_2R.inc" + .include "data/scripts/maps/MagmaHideout_4F.inc" + .include "data/scripts/maps/MagmaHideout_3F_3R.inc" + .include "data/scripts/maps/MagmaHideout_2F_3R.inc" + .include "data/scripts/maps/MirageTower_1F.inc" + .include "data/scripts/maps/MirageTower_2F.inc" + .include "data/scripts/maps/MirageTower_3F.inc" + .include "data/scripts/maps/MirageTower_4F.inc" + .include "data/scripts/maps/DesertUnderpass.inc" + .include "data/scripts/maps/ArtisanCave_B1F.inc" + .include "data/scripts/maps/ArtisanCave_1F.inc" + .include "data/scripts/maps/Underwater_MarineCave.inc" + .include "data/scripts/maps/MarineCave_Entrance.inc" + .include "data/scripts/maps/MarineCave_End.inc" + .include "data/scripts/maps/TerraCave_Entrance.inc" + .include "data/scripts/maps/TerraCave_End.inc" + .include "data/scripts/maps/AlteringCave.inc" + .include "data/scripts/maps/MeteorFalls_StevensCave.inc" + .include "data/scripts/maps/SecretBase_BlueCave1.inc" + .include "data/scripts/maps/SecretBase_BlueCave2.inc" + .include "data/scripts/maps/SecretBase_BlueCave3.inc" + .include "data/scripts/maps/SecretBase_BlueCave4.inc" + .include "data/scripts/maps/SecretBase_BrownCave1.inc" + .include "data/scripts/maps/SecretBase_BrownCave2.inc" + .include "data/scripts/maps/SecretBase_BrownCave3.inc" + .include "data/scripts/maps/SecretBase_BrownCave4.inc" + .include "data/scripts/maps/SecretBase_RedCave1.inc" + .include "data/scripts/maps/SecretBase_RedCave2.inc" + .include "data/scripts/maps/SecretBase_RedCave3.inc" + .include "data/scripts/maps/SecretBase_RedCave4.inc" + .include "data/scripts/maps/SecretBase_Shrub1.inc" + .include "data/scripts/maps/SecretBase_Shrub2.inc" + .include "data/scripts/maps/SecretBase_Shrub3.inc" + .include "data/scripts/maps/SecretBase_Shrub4.inc" + .include "data/scripts/maps/SecretBase_Tree1.inc" + .include "data/scripts/maps/SecretBase_Tree2.inc" + .include "data/scripts/maps/SecretBase_Tree3.inc" + .include "data/scripts/maps/SecretBase_Tree4.inc" + .include "data/scripts/maps/SecretBase_YellowCave1.inc" + .include "data/scripts/maps/SecretBase_YellowCave2.inc" + .include "data/scripts/maps/SecretBase_YellowCave3.inc" + .include "data/scripts/maps/SecretBase_YellowCave4.inc" gUnknown_0823B4BB:: @ 823B4BB - .incbin "baserom.gba", 0x23b4bb, 0x2d + lockall + playse 2 + message Text_276805 + dofieldeffect 61 + waitstate + waitmessage + waitbuttonpress + playse 5 + goto EventScript_23B4D3 + end + +EventScript_23B4D3:: @ 823B4D3 + message Text_27681A + waitmessage + checkflag FLAG_0x10C + goto_eq EventScript_23B4EF + goto EventScript_23B531 + end gUnknown_0823B4E8:: @ 823B4E8 - .incbin "baserom.gba", 0x23b4e8, 0xa1 + lockall + goto EventScript_23B4D3 + end + +EventScript_23B4EF:: @ 823B4EF + multichoice 0, 0, 6, 0 + switch VAR_RESULT + case 0, EventScript_23B581 + case 1, EventScript_23B568 + case 2, EventScript_23B585 + case 3, EventScript_23B66E + case 127, EventScript_23B66E + end + +EventScript_23B531:: @ 823B531 + multichoice 0, 0, 5, 0 + switch VAR_RESULT + case 0, EventScript_23B581 + case 1, EventScript_23B568 + case 2, EventScript_23B66E + case 127, EventScript_23B66E + end + +EventScript_23B568:: @ 823B568 + msgbox Text_2766AA, 5 + compare VAR_RESULT, 0 + goto_eq EventScript_23B4D3 + closemessage + special sub_80E9AC0 + releaseall + end + +EventScript_23B581:: @ 823B581 + special sub_80E9C74 + end + +EventScript_23B585:: @ 823B585 + special sub_80E9C88 + end gUnknown_0823B589:: @ 823B589 - .incbin "baserom.gba", 0x23b589, 0x60 + lockall + message Text_276805 + playse 2 + dofieldeffect 61 + waitstate + waitmessage + waitbuttonpress + playse 5 + goto EventScript_23B5A1 + end + +EventScript_23B5A1:: @ 823B5A1 + message Text_27681A + waitmessage + multichoice 0, 0, 7, 0 + switch VAR_RESULT + case 0, EventScript_23B5F0 + case 1, EventScript_23B585 + case 2, EventScript_23B660 + case 3, EventScript_23B66E + case 127, EventScript_23B66E + end gUnknown_0823B5E9:: @ 823B5E9 - .incbin "baserom.gba", 0x23b5e9, 0x9b + lockall + goto EventScript_23B5A1 + end + +EventScript_23B5F0:: @ 823B5F0 + special sub_80E9BDC + compare VAR_RESULT, 1 + goto_eq EventScript_23B62F + compare VAR_RESULT, 2 + goto_eq EventScript_23B652 + special sub_80E980C + msgbox Text_276707, 5 + compare VAR_RESULT, 0 + goto_eq EventScript_23B5A1 + msgbox Text_2767D1, 3 + special sub_80E9C2C + special sub_80FA57C + releaseall + end + +EventScript_23B62F:: @ 823B62F + msgbox Text_276731, 5 + compare VAR_RESULT, 0 + goto_eq EventScript_23B5A1 + msgbox Text_2767E9, 3 + special sub_80E9C2C + special sub_80FA57C + releaseall + end + +EventScript_23B652:: @ 823B652 + msgbox Text_27676F, 3 + special sub_80FA57C + closemessage + releaseall + end + +EventScript_23B660:: @ 823B660 + msgbox Text_276835, 4 + goto EventScript_23B5A1 + end + +EventScript_23B66E:: @ 823B66E + special sub_80FA57C + closemessage + releaseall + end + +EventScript_23B674:: @ 823B674 + special sub_80EB498 + end + +EventScript_23B678:: @ 823B678 + special sub_80EB56C + end + +EventScript_23B67C:: @ 823B67C + special sub_80EB9E0 + end + +EventScript_23B680:: @ 823B680 + special sub_80EBB28 + end gUnknown_0823B684:: @ 823B684 - .incbin "baserom.gba", 0x23b684, 0x8 + special sub_80EBE7C + dofieldeffect 52 + waitstate + end gUnknown_0823B68C:: @ 823B68C - .incbin "baserom.gba", 0x23b68c, 0x9c4 + special sub_80FAC78 + compare VAR_RESULT, 0 + goto_eq EventScript_23B6BC + compare VAR_RESULT, 1 + goto_eq EventScript_23B6C5 + compare VAR_RESULT, 2 + goto_eq EventScript_23B6CE + compare VAR_RESULT, 3 + goto_eq EventScript_23B6D7 + end -gUnknown_0823C050:: @ 823C050 - .incbin "baserom.gba", 0x23c050, 0x6431 +EventScript_23B6BC:: @ 823B6BC + msgbox Text_27692B, 3 + end -gText_BattleRecordCouldntBeSaved:: @ 8242481 - .incbin "baserom.gba", 0x242481, 0x87b +EventScript_23B6C5:: @ 823B6C5 + msgbox Text_276974, 3 + end -gUnknown_08242CFC:: @ 8242CFC - .incbin "baserom.gba", 0x242cfc, 0x6a91 +EventScript_23B6CE:: @ 823B6CE + msgbox Text_2769B8, 3 + end -gText_LinkStandby3:: @ 824978D - .string "Link standby…$" +EventScript_23B6D7:: @ 823B6D7 + msgbox Text_2769FF, 3 + end -gUnknown_0824979B:: @ 824979B - .incbin "baserom.gba", 0x24979b, 0x944d +gText_23B6E0:: @ 823B6E0 + .string "There’s a small indent in the wall.$" -gUnknown_08252BE8:: @ 8252BE8 - .incbin "baserom.gba", 0x252be8, 0x67 +gText_23B704:: @ 823B704 + .string "There’s a small indent in the wall.\p" + .string "Use the SECRET POWER?$" -gUnknown_08252C4F:: @ 8252C4F - .incbin "baserom.gba", 0x252c4f, 0x1b +gText_23B73E:: @ 823B73E + .string "Discovered a small cavern!$" -gUnknown_08252C6A:: @ 8252C6A - .incbin "baserom.gba", 0x252c6a, 0x1e +SecretBase_RedCave1_Text_23B759: @ 823B759 + .string "Want to make your SECRET BASE here?$" -gUnknown_08252C88:: @ 8252C88 - .incbin "baserom.gba", 0x252c88, 0x1f + .include "data/scripts/maps/SingleBattleColosseum.inc" + .include "data/scripts/maps/TradeCenter.inc" + .include "data/scripts/maps/RecordCorner.inc" + .include "data/scripts/maps/DoubleBattleColosseum.inc" + .include "data/scripts/maps/LinkContestRoom1.inc" + .include "data/scripts/maps/LinkContestRoom2.inc" + .include "data/scripts/maps/LinkContestRoom3.inc" + .include "data/scripts/maps/LinkContestRoom4.inc" + .include "data/scripts/maps/LinkContestRoom5.inc" + .include "data/scripts/maps/LinkContestRoom6.inc" + .include "data/scripts/maps/UnknownMap_25_29.inc" + .include "data/scripts/maps/UnknownMap_25_30.inc" + .include "data/scripts/maps/UnknownMap_25_31.inc" + .include "data/scripts/maps/UnknownMap_25_32.inc" + .include "data/scripts/maps/UnknownMap_25_33.inc" + .include "data/scripts/maps/UnknownMap_25_34.inc" + .include "data/scripts/maps/InsideOfTruck.inc" + .include "data/scripts/maps/SSTidalCorridor.inc" + .include "data/scripts/maps/SSTidalLowerDeck.inc" + .include "data/scripts/maps/SSTidalRooms.inc" + .include "data/scripts/maps/BattlePyramidSquare01.inc" + .include "data/scripts/maps/BattlePyramidSquare02.inc" + .include "data/scripts/maps/BattlePyramidSquare03.inc" + .include "data/scripts/maps/BattlePyramidSquare04.inc" + .include "data/scripts/maps/BattlePyramidSquare05.inc" + .include "data/scripts/maps/BattlePyramidSquare06.inc" + .include "data/scripts/maps/BattlePyramidSquare07.inc" + .include "data/scripts/maps/BattlePyramidSquare08.inc" + .include "data/scripts/maps/BattlePyramidSquare09.inc" + .include "data/scripts/maps/BattlePyramidSquare10.inc" + .include "data/scripts/maps/BattlePyramidSquare11.inc" + .include "data/scripts/maps/BattlePyramidSquare12.inc" + .include "data/scripts/maps/BattlePyramidSquare13.inc" + .include "data/scripts/maps/BattlePyramidSquare14.inc" + .include "data/scripts/maps/BattlePyramidSquare15.inc" + .include "data/scripts/maps/BattlePyramidSquare16.inc" + .include "data/scripts/maps/UnionRoom.inc" + .include "data/scripts/maps/SafariZone_Northwest.inc" + .include "data/scripts/maps/SafariZone_North.inc" + .include "data/scripts/maps/SafariZone_Southwest.inc" + .include "data/scripts/maps/SafariZone_South.inc" + .include "data/scripts/maps/BattleFrontier_OutsideWest.inc" + .include "data/scripts/maps/BattleFrontier_BattleTowerLobby.inc" + .include "data/scripts/maps/BattleFrontier_BattleTowerElevator.inc" + .include "data/scripts/maps/BattleFrontier_BattleTowerCorridor.inc" + .include "data/scripts/maps/BattleFrontier_BattleTowerBattleRoom.inc" + .include "data/scripts/maps/SouthernIsland_Exterior.inc" + .include "data/scripts/maps/SouthernIsland_Interior.inc" + .include "data/scripts/maps/SafariZone_RestHouse.inc" + .include "data/scripts/maps/SafariZone_Northeast.inc" + .include "data/scripts/maps/SafariZone_Southeast.inc" + .include "data/scripts/maps/BattleFrontier_OutsideEast.inc" + .include "data/scripts/maps/BattleFrontier_BattleTowerMultiBattleRoom.inc" + .include "data/scripts/maps/BattleFrontier_BattleTowerCorridor2.inc" + .include "data/scripts/maps/BattleFrontier_BattleTowerBattleRoom2.inc" + .include "data/scripts/maps/BattleFrontier_BattleDomeLobby.inc" + .include "data/scripts/maps/BattleFrontier_BattleDomeCorridor.inc" + .include "data/scripts/maps/BattleFrontier_BattleDomePreBattleRoom.inc" + .include "data/scripts/maps/BattleFrontier_BattleDomeBattleRoom.inc" + .include "data/scripts/maps/BattleFrontier_BattlePalaceLobby.inc" + .include "data/scripts/maps/BattleFrontier_BattlePalaceCorridor.inc" + .include "data/scripts/maps/BattleFrontier_BattlePalaceBattleRoom.inc" + .include "data/scripts/maps/BattleFrontier_BattlePyramidLobby.inc" + .include "data/scripts/maps/BattleFrontier_BattlePyramidEmptySquare.inc" + .include "data/scripts/maps/BattleFrontier_BattlePyramidTop.inc" + .include "data/scripts/maps/BattleFrontier_BattleArenaLobby.inc" + .include "data/scripts/maps/BattleFrontier_BattleArenaCorridor.inc" + .include "data/scripts/maps/BattleFrontier_BattleArenaBattleRoom.inc" + .include "data/scripts/maps/BattleFrontier_BattleFactoryLobby.inc" + .include "data/scripts/maps/BattleFrontier_BattleFactoryPreBattleRoom.inc" + .include "data/scripts/maps/BattleFrontier_BattleFactoryBattleRoom.inc" + .include "data/scripts/maps/BattleFrontier_BattlePikeLobby.inc" + .include "data/scripts/maps/BattleFrontier_BattlePikeCorridor.inc" + .include "data/scripts/maps/BattleFrontier_BattlePikeThreePathRoom.inc" + .include "data/scripts/maps/BattleFrontier_BattlePikeRandomRoom1.inc" + .include "data/scripts/maps/BattleFrontier_BattlePikeRandomRoom2.inc" + .include "data/scripts/maps/BattleFrontier_BattlePikeRandomRoom3.inc" + .include "data/scripts/maps/BattleFrontier_RankingHall.inc" + .include "data/scripts/maps/BattleFrontier_Lounge1.inc" + .include "data/scripts/maps/BattleFrontier_BattlePointExchangeServiceCorner.inc" + .include "data/scripts/maps/BattleFrontier_Lounge2.inc" + .include "data/scripts/maps/BattleFrontier_Lounge3.inc" + .include "data/scripts/maps/BattleFrontier_Lounge4.inc" + .include "data/scripts/maps/BattleFrontier_ScottsHouse.inc" + .include "data/scripts/maps/BattleFrontier_Lounge5.inc" + .include "data/scripts/maps/BattleFrontier_Lounge6.inc" + .include "data/scripts/maps/BattleFrontier_Lounge7.inc" + .include "data/scripts/maps/BattleFrontier_ReceptionGate.inc" + .include "data/scripts/maps/BattleFrontier_Lounge8.inc" + .include "data/scripts/maps/BattleFrontier_Lounge9.inc" + .include "data/scripts/maps/BattleFrontier_PokemonCenter_1F.inc" + .include "data/scripts/maps/BattleFrontier_PokemonCenter_2F.inc" + .include "data/scripts/maps/BattleFrontier_Mart.inc" + .include "data/scripts/maps/FarawayIsland_Entrance.inc" + .include "data/scripts/maps/FarawayIsland_Interior.inc" + .include "data/scripts/maps/BirthIsland_Exterior.inc" + .include "data/scripts/maps/BirthIsland_Harbor.inc" + .include "data/scripts/maps/TrainerHill_Entrance.inc" + .include "data/scripts/maps/TrainerHill_1F.inc" + .include "data/scripts/maps/TrainerHill_2F.inc" + .include "data/scripts/maps/TrainerHill_3F.inc" + .include "data/scripts/maps/TrainerHill_4F.inc" + .include "data/scripts/maps/TrainerHill_Roof.inc" + .include "data/scripts/maps/NavelRock_Exterior.inc" + .include "data/scripts/maps/NavelRock_Harbor.inc" + .include "data/scripts/maps/NavelRock_Entrance.inc" + .include "data/scripts/maps/NavelRock_B1F.inc" + .include "data/scripts/maps/NavelRock_Fork.inc" + .include "data/scripts/maps/NavelRock_Up1.inc" + .include "data/scripts/maps/NavelRock_Up2.inc" + .include "data/scripts/maps/NavelRock_Up3.inc" + .include "data/scripts/maps/NavelRock_Up4.inc" + .include "data/scripts/maps/NavelRock_Top.inc" + .include "data/scripts/maps/NavelRock_Down01.inc" + .include "data/scripts/maps/NavelRock_Down02.inc" + .include "data/scripts/maps/NavelRock_Down03.inc" + .include "data/scripts/maps/NavelRock_Down04.inc" + .include "data/scripts/maps/NavelRock_Down05.inc" + .include "data/scripts/maps/NavelRock_Down06.inc" + .include "data/scripts/maps/NavelRock_Down07.inc" + .include "data/scripts/maps/NavelRock_Down08.inc" + .include "data/scripts/maps/NavelRock_Down09.inc" + .include "data/scripts/maps/NavelRock_Down10.inc" + .include "data/scripts/maps/NavelRock_Down11.inc" + .include "data/scripts/maps/NavelRock_Bottom.inc" + .include "data/scripts/maps/TrainerHill_Elevator.inc" + .include "data/scripts/maps/Route104_Prototype.inc" + .include "data/scripts/maps/Route104_PrototypePrettyPetalFlowerShop.inc" + .include "data/scripts/maps/Route109_SeashoreHouse.inc" + .include "data/scripts/maps/Route110_TrickHouseEntrance.inc" + .include "data/scripts/maps/Route110_TrickHouseEnd.inc" + .include "data/scripts/maps/Route110_TrickHouseCorridor.inc" + .include "data/scripts/maps/Route110_TrickHousePuzzle1.inc" + .include "data/scripts/maps/Route110_TrickHousePuzzle2.inc" + .include "data/scripts/maps/Route110_TrickHousePuzzle3.inc" + .include "data/scripts/maps/Route110_TrickHousePuzzle4.inc" + .include "data/scripts/maps/Route110_TrickHousePuzzle5.inc" + .include "data/scripts/maps/Route110_TrickHousePuzzle6.inc" + .include "data/scripts/maps/Route110_TrickHousePuzzle7.inc" + .include "data/scripts/maps/Route110_TrickHousePuzzle8.inc" + .include "data/scripts/maps/Route110_SeasideCyclingRoadEntrance1.inc" + .include "data/scripts/maps/Route110_SeasideCyclingRoadEntrance2.inc" + .include "data/scripts/maps/Route113_GlassWorkshop.inc" + .include "data/scripts/maps/Route123_BerryMastersHouse.inc" + .include "data/scripts/maps/Route119_WeatherInstitute_1F.inc" + .include "data/scripts/maps/Route119_WeatherInstitute_2F.inc" + .include "data/scripts/maps/Route119_House.inc" + .include "data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc" -gUnknown_08252CA7:: @ 8252CA7 - .incbin "baserom.gba", 0x252ca7, 0x54 +Std_2: @ 8271315 + lock + faceplayer + message 0x0 + waitmessage + waitbuttonpress + release + return -gUnknown_08252CFB:: @ 8252CFB - .incbin "baserom.gba", 0x252cfb, 0x151e0 +Std_3: @ 8271320 + lockall + message 0x0 + waitmessage + waitbuttonpress + releaseall + return -gUnknown_08267EDB:: @ 8267EDB - .incbin "baserom.gba", 0x267edb, 0x234f +Std_4: @ 827132A + message 0x0 + waitmessage + waitbuttonpress + return -gUnknown_0826A22A:: @ 826A22A - .incbin "baserom.gba", 0x26a22a, 0x712a +Std_5: @ 8271332 + message 0x0 + waitmessage + yesnobox 20, 8 + return -gUnknown_08271354:: @ 8271354 - .incbin "baserom.gba", 0x271354, 0xe +Std_9: @ 827133C + message 0x0 + playfanfare MUS_ME_POINTGET + waitfanfare + waitmessage + return -gUnknown_08271362:: @ 8271362 - .incbin "baserom.gba", 0x271362, 0x28 +Std_10: @ 8271347 + pokenavcall 0x0 + waitmessage + return -gUnknown_0827138A:: @ 827138A - .incbin "baserom.gba", 0x27138a, 0x38 +EventScript_27134E: @ 827134E + return -gUnknown_082713C2:: @ 82713C2 - .incbin "baserom.gba", 0x2713c2, 0xf +BattleFrontier_BattleArenaLobby_EventScript_27134F:: @ 827134F +BattleFrontier_BattleDomeLobby_EventScript_27134F:: @ 827134F +BattleFrontier_BattleFactoryLobby_EventScript_27134F:: @ 827134F +BattleFrontier_BattlePalaceLobby_EventScript_27134F:: @ 827134F +BattleFrontier_BattlePikeLobby_EventScript_27134F:: @ 827134F +BattleFrontier_BattlePyramidLobby_EventScript_27134F:: @ 827134F +BattleFrontier_BattleTowerLobby_EventScript_27134F:: @ 827134F +FallarborTown_BattleTentLobby_EventScript_27134F:: @ 827134F +LilycoveCity_ContestLobby_EventScript_27134F:: @ 827134F +MossdeepCity_GameCorner_1F_EventScript_27134F:: @ 827134F +OldaleTown_PokemonCenter_2F_EventScript_27134F:: @ 827134F +SecretBase_RedCave1_EventScript_27134F:: @ 827134F +SlateportCity_BattleTentLobby_EventScript_27134F:: @ 827134F +SootopolisCity_MysteryEventsHouse_1F_EventScript_27134F:: @ 827134F +TrainerHill_Entrance_EventScript_27134F:: @ 827134F +VerdanturfTown_BattleTentLobby_EventScript_27134F:: @ 827134F + special sub_809FF80 + waitstate + return -gUnknown_082713D1:: @ 82713D1 - .incbin "baserom.gba", 0x2713d1, 0x27 +EventScript_271354:: @ 8271354 + cmdD8 + cmdD9 -gUnknown_082713F8:: @ 82713F8 - .incbin "baserom.gba", 0x2713f8, 0x1e6 +EventScript_271356:: @ 8271356 + special SetUpTrainerEncounterMusic + special EndTrainerApproach + waitstate + goto EventScript_ShowTrainerIntroMsg -gUnknown_082715DE:: @ 82715DE - .incbin "baserom.gba", 0x2715de, 0x279 +EventScript_271362:: @ 8271362 + lock + faceplayer + applymovement VAR_LAST_TALKED, Movement_27143A + waitmovement 0 + specialvar VAR_RESULT, GetTrainerFlag + compare VAR_RESULT, 0 + goto_if 5, EventScript_271389 + special SetUpTrainerEncounterMusic + special sub_80B16D8 + goto EventScript_ShowTrainerIntroMsg -gUnknown_08271857:: @ 8271857 - .incbin "baserom.gba", 0x271857, 0xb +EventScript_271389:: @ 8271389 + gotopostbattlescript -gUnknown_08271862:: @ 8271862 - .incbin "baserom.gba", 0x271862, 0x455 +EventScript_TryDoDoubleTrainerBattle:: @ 827138A + lock + faceplayer + call EventScript_27142F + specialvar VAR_RESULT, GetTrainerFlag + compare VAR_RESULT, 0 + goto_if 5, EventScript_2713C1 + special HasEnoughMonsForDoubleBattle + compare VAR_RESULT, 0 + goto_if 5, EventScript_NotEnoughMonsForDoubleBattle + special SetUpTrainerEncounterMusic + special sub_80B16D8 + goto EventScript_ShowTrainerIntroMsg -gUnknown_08271CB7:: @ 8271CB7 - .incbin "baserom.gba", 0x271cb7, 0xdb +EventScript_NotEnoughMonsForDoubleBattle:: @ 82713BA + special ShowTrainerCantBattleSpeech + waitmessage + waitbuttonpress + release + end -gUnknown_08271D92:: @ 8271D92 - .incbin "baserom.gba", 0x271d92, 0x10e +EventScript_2713C1:: @ 82713C1 + gotopostbattlescript -gUnknown_08271EA0:: @ 8271EA0 - .incbin "baserom.gba", 0x271ea0, 0x1ef +EventScript_2713C2:: @ 82713C2 + applymovement VAR_LAST_TALKED, Movement_27143A + waitmovement 0 + special SetUpTrainerEncounterMusic + trainerbattlebegin + gotopostbattlescript -gUnknown_0827208F:: @ 827208F - .incbin "baserom.gba", 0x27208f, 0x53f +EventScript_2713D1:: @ 82713D1 + call EventScript_27142F + specialvar VAR_RESULT, IsTrainerReadyForRematch + compare VAR_RESULT, 0 + goto_eq EventScript_2713F7 + special SetUpTrainerEncounterMusic + special sub_80B16D8 + special ShowTrainerIntroSpeech + waitmessage + waitbuttonpress + special BattleSetup_StartRematchBattle + waitstate + releaseall + end -gUnknown_082725CE:: @ 82725CE - .incbin "baserom.gba", 0x2725ce, 0x9 +EventScript_2713F7:: @ 82713F7 + gotopostbattlescript -gUnknown_082725D7:: @ 82725D7 - .incbin "baserom.gba", 0x2725d7, 0x9 +EventScript_TryDoDoubleRematchBattle:: @ 82713F8 + specialvar VAR_RESULT, IsTrainerReadyForRematch + compare VAR_RESULT, 0 + goto_eq EventScript_271427 + special HasEnoughMonsForDoubleBattle + compare VAR_RESULT, 0 + goto_if 5, EventScript_NotEnoughMonsForDoubleRematchBattle + special SetUpTrainerEncounterMusic + special sub_80B16D8 + special ShowTrainerIntroSpeech + waitmessage + waitbuttonpress + special BattleSetup_StartRematchBattle + waitstate + releaseall + end -gUnknown_082725E0:: @ 82725E0 - .incbin "baserom.gba", 0x2725e0, 0x9 +EventScript_271427:: @ 8271427 + gotopostbattlescript -gUnknown_082725E9:: @ 82725E9 - .incbin "baserom.gba", 0x2725e9, 0x9 +EventScript_NotEnoughMonsForDoubleRematchBattle:: @ 8271428 + special ShowTrainerCantBattleSpeech + waitmessage + waitbuttonpress + release + end -gUnknown_082725F2:: @ 82725F2 - .incbin "baserom.gba", 0x2725f2, 0x9 +EventScript_27142F:: @ 827142F + applymovement VAR_LAST_TALKED, Movement_27143A + waitmovement 0 + return -gUnknown_082725FB:: @ 82725FB - .incbin "baserom.gba", 0x2725fb, 0x9 +Movement_27143A: @ 827143A + step_59 + step_end -gUnknown_08272604:: @ 8272604 - .incbin "baserom.gba", 0x272604, 0x6b +EventScript_ShowTrainerIntroMsg:: @ 827143C + special ShowTrainerIntroSpeech + waitmessage + waitbuttonpress + special sub_80B45D0 + compare VAR_RESULT, 1 + goto_eq EventScript_271356 + goto EventScript_DoTrainerBattle + +EventScript_DoTrainerBattle:: @ 8271454 + trainerbattlebegin + specialvar VAR_RESULT, GetTrainerBattleMode + compare VAR_RESULT, 0 + goto_eq EventScript_271491 + compare VAR_RESULT, 2 + goto_eq EventScript_271491 + compare VAR_RESULT, 1 + goto_eq EventScript_271491 + compare VAR_RESULT, 6 + goto_eq EventScript_271491 + compare VAR_RESULT, 8 + goto_eq EventScript_271491 + +EventScript_271491:: @ 8271491 + gotobeatenscript + releaseall + end + +Std_6:: @ 8271494 + message 0x0 + waitmessage + waitbuttonpress + release + return + +EventScript_27149D:: @ 827149D + setberrytree 2, 7, 5 + setberrytree 1, 3, 5 + setberrytree 11, 7, 5 + setberrytree 13, 3, 5 + setberrytree 4, 7, 5 + setberrytree 76, 1, 5 + setberrytree 8, 1, 5 + setberrytree 10, 6, 5 + setberrytree 25, 20, 5 + setberrytree 26, 2, 5 + setberrytree 66, 2, 5 + setberrytree 67, 20, 5 + setberrytree 69, 22, 5 + setberrytree 70, 22, 5 + setberrytree 71, 22, 5 + setberrytree 55, 17, 5 + setberrytree 56, 17, 5 + setberrytree 5, 1, 5 + setberrytree 6, 6, 5 + setberrytree 7, 1, 5 + setberrytree 16, 18, 5 + setberrytree 17, 18, 5 + setberrytree 18, 18, 5 + setberrytree 29, 19, 5 + setberrytree 28, 19, 5 + setberrytree 27, 19, 5 + setberrytree 24, 4, 5 + setberrytree 23, 3, 5 + setberrytree 22, 3, 5 + setberrytree 21, 4, 5 + setberrytree 19, 16, 5 + setberrytree 20, 16, 5 + setberrytree 80, 7, 5 + setberrytree 81, 7, 5 + setberrytree 77, 8, 5 + setberrytree 78, 8, 5 + setberrytree 68, 8, 5 + setberrytree 31, 10, 5 + setberrytree 33, 10, 5 + setberrytree 34, 21, 5 + setberrytree 35, 21, 5 + setberrytree 36, 21, 5 + setberrytree 83, 24, 5 + setberrytree 84, 24, 5 + setberrytree 85, 10, 5 + setberrytree 86, 6, 5 + setberrytree 37, 5, 5 + setberrytree 38, 5, 5 + setberrytree 39, 5, 5 + setberrytree 40, 3, 5 + setberrytree 41, 3, 5 + setberrytree 42, 3, 5 + setberrytree 46, 19, 5 + setberrytree 45, 20, 5 + setberrytree 44, 18, 5 + setberrytree 43, 16, 5 + setberrytree 47, 8, 5 + setberrytree 48, 5, 5 + setberrytree 49, 4, 5 + setberrytree 50, 2, 5 + setberrytree 52, 18, 5 + setberrytree 53, 18, 5 + setberrytree 62, 6, 5 + setberrytree 64, 6, 5 + setberrytree 58, 21, 5 + setberrytree 59, 21, 5 + setberrytree 60, 25, 5 + setberrytree 61, 25, 5 + setberrytree 79, 23, 5 + setberrytree 14, 23, 5 + setberrytree 15, 21, 5 + setberrytree 30, 21, 5 + setberrytree 65, 25, 5 + setberrytree 72, 25, 5 + setberrytree 73, 23, 5 + setberrytree 74, 23, 5 + setberrytree 87, 3, 5 + setberrytree 88, 10, 5 + setberrytree 89, 4, 5 + setberrytree 82, 36, 5 + return + +EventScript_2715DE:: @ 82715DE + setflag FLAG_0x056 + setflag FLAG_0x301 + setflag FLAG_0x302 + setflag FLAG_0x303 + setflag FLAG_0x2D1 + setflag FLAG_0x379 + setflag FLAG_0x32B + setflag FLAG_0x32C + setflag FLAG_0x346 + setflag FLAG_0x2D6 + setflag FLAG_0x363 + setflag FLAG_0x2DB + setflag FLAG_0x2DC + setflag FLAG_0x32E + setflag FLAG_0x34C + setflag FLAG_0x364 + setflag FLAG_0x2E3 + setflag FLAG_0x371 + setflag FLAG_0x2E2 + setflag FLAG_0x2E4 + setflag FLAG_0x2E5 + setflag FLAG_0x2E7 + setflag FLAG_0x2E8 + setflag FLAG_0x38A + setflag FLAG_0x345 + setflag FLAG_0x306 + setflag FLAG_0x37F + setflag FLAG_0x308 + setflag FLAG_0x309 + setflag FLAG_0x30A + setflag FLAG_0x30B + setflag FLAG_0x30C + setflag FLAG_0x30D + setflag FLAG_0x338 + setflag FLAG_0x2E9 + setflag FLAG_0x2EA + setflag FLAG_0x2F8 + setflag FLAG_0x2D2 + setflag FLAG_0x2DE + setflag FLAG_0x351 + setflag FLAG_0x32F + setflag FLAG_0x315 + setflag FLAG_0x316 + setflag FLAG_0x317 + setflag FLAG_0x318 + setflag FLAG_0x2DA + setflag FLAG_0x31D + setflag FLAG_0x31E + setflag FLAG_0x31F + setflag FLAG_0x385 + setflag FLAG_0x386 + setflag FLAG_0x387 + setflag FLAG_0x388 + setflag FLAG_0x323 + setflag FLAG_0x322 + setflag FLAG_0x326 + setflag FLAG_0x328 + setflag FLAG_0x329 + setflag FLAG_0x3D8 + setflag FLAG_0x2FE + setflag FLAG_0x33E + setflag FLAG_0x362 + setflag FLAG_0x365 + setflag FLAG_0x33C + setflag FLAG_0x33D + setflag FLAG_0x33F + setflag FLAG_0x35B + setflag FLAG_0x355 + setflag FLAG_0x349 + setflag FLAG_0x34D + setflag FLAG_0x34E + setflag FLAG_0x35C + setflag FLAG_0x35D + setflag FLAG_0x343 + setflag FLAG_0x348 + setflag FLAG_0x350 + setflag FLAG_0x353 + setflag FLAG_0x312 + setflag FLAG_0x3CD + setflag FLAG_0x330 + setflag FLAG_0x366 + setflag FLAG_0x368 + setflag FLAG_0x36D + setflag FLAG_0x3E2 + setflag FLAG_0x36F + setflag FLAG_0x37B + setflag FLAG_0x370 + setflag FLAG_0x36E + setflag FLAG_0x327 + setflag FLAG_0x3D7 + setflag FLAG_0x376 + setflag FLAG_0x374 + setflag FLAG_0x375 + setflag FLAG_0x3C1 + setflag FLAG_0x378 + setflag FLAG_0x2F0 + setflag FLAG_0x2F5 + setflag FLAG_0x31A + setflag FLAG_0x31B + setflag FLAG_0x37C + setflag FLAG_0x380 + setflag FLAG_0x381 + setflag FLAG_0x382 + setflag FLAG_0x38D + setflag FLAG_0x2EC + setflag FLAG_0x38E + setflag FLAG_0x38F + setflag FLAG_0x393 + setflag FLAG_0x358 + setflag FLAG_0x390 + setflag FLAG_0x2FD + setflag FLAG_0x398 + setflag FLAG_0x399 + setflag FLAG_0x39A + setflag FLAG_0x39B + setflag FLAG_0x2CF + setflag FLAG_0x39D + setflag FLAG_0x3A1 + setflag FLAG_0x3A2 + setflag FLAG_0x3A6 + setflag FLAG_0x3AA + setflag FLAG_0x3AC + setflag FLAG_0x3A0 + setflag FLAG_0x3E0 + setflag FLAG_0x342 + setflag FLAG_0x3B0 + setflag FLAG_0x3B1 + setflag FLAG_0x3B3 + setflag FLAG_0x3B4 + setflag FLAG_0x2ED + setflag FLAG_0x35A + setflag FLAG_0x2EF + setflag FLAG_0x3B6 + setflag FLAG_0x3C7 + setflag FLAG_0x3C8 + setflag FLAG_0x2D7 + setflag FLAG_0x3D3 + setflag FLAG_0x3DF + setflag FLAG_0x3E3 + setflag FLAG_0x3E4 + setflag FLAG_0x3E5 + setflag FLAG_0x3E6 + setflag FLAG_0x356 + setflag FLAG_0x33A + setflag FLAG_0x33B + setflag FLAG_0x36C + setflag FLAG_0x36B + setflag FLAG_0x36A + setflag FLAG_0x337 + setflag FLAG_0x2F4 + setflag FLAG_0x35E + setflag FLAG_0x35F + setflag FLAG_0x340 + setflag FLAG_0x2FB + setflag FLAG_0x2EB + setflag FLAG_0x2FF + setflag FLAG_0x319 + setflag FLAG_0x357 + setflag FLAG_0x050 + call EventScript_27149D + end + +EverGrandeCity_HallOfFame_EventScript_2717C1:: @ 82717C1 + special sub_81AFDD0 + setflag FLAG_0x87F + call EverGrandeCity_HallOfFame_EventScript_271829 + compare VAR_0x40CC, 0 + call_if 1, EverGrandeCity_HallOfFame_EventScript_271839 + clearflag FLAG_0x39D + call EverGrandeCity_HallOfFame_EventScript_2718CC + setflag FLAG_0x365 + clearflag FLAG_0x3B6 + clearflag FLAG_0x2D7 + setvar VAR_0x40C6, 2 + setflag FLAG_0x35A + clearflag FLAG_0x2EF + clearflag FLAG_0x35C + clearflag FLAG_0x35D + setflag FLAG_0x2CD + clearflag FLAG_0x2EB + setflag FLAG_0x3CB + special sub_813BA60 + checkflag FLAG_0x123 + call_if 0, EverGrandeCity_HallOfFame_EventScript_271843 + checkflag FLAG_0x12A + call_if 0, EverGrandeCity_HallOfFame_EventScript_27183F + setflag FLAG_0x2F8 + setflag FLAG_0x2D2 + compare VAR_0x40D3, 0 + call_if 1, EverGrandeCity_HallOfFame_EventScript_271851 + return + +EverGrandeCity_HallOfFame_EventScript_271829:: @ 8271829 + clearflag FLAG_0x1C7 + clearflag FLAG_0x1C8 + clearflag FLAG_0x1AC + clearflag FLAG_0x1DD + clearflag FLAG_0x1DC + return + +EverGrandeCity_HallOfFame_EventScript_271839:: @ 8271839 + setvar VAR_0x40CC, 1 + return + +EverGrandeCity_HallOfFame_EventScript_27183F:: @ 827183F + clearflag FLAG_0x3C8 + return + +EverGrandeCity_HallOfFame_EventScript_271843:: @ 8271843 + setvar VAR_0x4082, 3 + setvar VAR_0x408C, 3 + clearflag FLAG_0x2DE + return + +EverGrandeCity_HallOfFame_EventScript_271851:: @ 8271851 + setvar VAR_0x40D3, 1 + return + +EverGrandeCity_HallOfFame_EventScript_271857:: @ 8271857 + call EverGrandeCity_HallOfFame_EventScript_2718CC + goto EverGrandeCity_HallOfFame_EventScript_271862 + end + +EverGrandeCity_HallOfFame_EventScript_271862:: @ 8271862 + compare VAR_0x4096, 1 + goto_eq EverGrandeCity_HallOfFame_EventScript_271884 + compare VAR_0x4096, 2 + goto_eq EverGrandeCity_HallOfFame_EventScript_27189A + compare VAR_0x4096, 3 + goto_eq EverGrandeCity_HallOfFame_EventScript_2718B3 + end + +EverGrandeCity_HallOfFame_EventScript_271884:: @ 8271884 + setflag FLAG_0x2E4 + setflag FLAG_0x2E7 + setflag FLAG_0x2E5 + setflag FLAG_0x2E8 + clearflag FLAG_0x2E6 + clearflag FLAG_0x2E3 + clearflag FLAG_0x371 + end + +EverGrandeCity_HallOfFame_EventScript_27189A:: @ 827189A + setflag FLAG_0x2E5 + setflag FLAG_0x2E8 + setflag FLAG_0x2E2 + setflag FLAG_0x2E6 + setflag FLAG_0x2E3 + setflag FLAG_0x371 + clearflag FLAG_0x2E4 + clearflag FLAG_0x2E7 + end + +EverGrandeCity_HallOfFame_EventScript_2718B3:: @ 82718B3 + setflag FLAG_0x2E2 + setflag FLAG_0x2E6 + setflag FLAG_0x2E3 + setflag FLAG_0x371 + setflag FLAG_0x2E4 + setflag FLAG_0x2E7 + clearflag FLAG_0x2E5 + clearflag FLAG_0x2E8 + end + +EverGrandeCity_HallOfFame_EventScript_2718CC:: @ 82718CC + clearflag FLAG_0x4FB + clearflag FLAG_0x4FC + clearflag FLAG_0x4FD + clearflag FLAG_0x4FE + setvar VAR_0x409C, 0 + return + +DewfordTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE +FallarborTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE +LavaridgeTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE +MauvilleCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE +OldaleTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE +PetalburgCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE +RustboroCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE +SlateportCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE +VerdanturfTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE + checkflag FLAG_0x0BC + goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_27374E + checkflag FLAG_0x4F4 + goto_eq OldaleTown_PokemonCenter_1F_EventScript_27374E + checkflag FLAG_0x2E6 + goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_27190C + checkflag FLAG_0x2E4 + goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_271912 + checkflag FLAG_0x2E5 + goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_271918 + return + +OldaleTown_PokemonCenter_1F_EventScript_27190C:: @ 827190C + setvar VAR_0x4096, 1 + return + +OldaleTown_PokemonCenter_1F_EventScript_271912:: @ 8271912 + setvar VAR_0x4096, 2 + return + +OldaleTown_PokemonCenter_1F_EventScript_271918:: @ 8271918 + setvar VAR_0x4096, 3 + return + +BattleFrontier_PokemonCenter_1F_EventScript_27191E:: @ 827191E +DewfordTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E +EverGrandeCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E +EverGrandeCity_PokemonLeague_1F_EventScript_27191E:: @ 827191E +FallarborTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E +FortreeCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E +LavaridgeTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E +LilycoveCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E +MauvilleCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E +MossdeepCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E +OldaleTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E +PacifidlogTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E +PetalburgCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E +RustboroCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E +SlateportCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E +SootopolisCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E +TrainerHill_Entrance_EventScript_27191E:: @ 827191E +VerdanturfTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E + lock + faceplayer + setvar VAR_0x8004, 0 + specialvar VAR_RESULT, sub_80C2E40 + compare VAR_RESULT, 4 + goto_eq OldaleTown_PokemonCenter_1F_EventScript_271A68 + msgbox gUnknown_082726EB, 5 + compare VAR_RESULT, 1 + goto_eq OldaleTown_PokemonCenter_1F_EventScript_27195A + compare VAR_RESULT, 0 + goto_eq OldaleTown_PokemonCenter_1F_EventScript_271954 + end + +OldaleTown_PokemonCenter_1F_EventScript_271954:: @ 8271954 + message gUnknown_082727DB + return + +OldaleTown_PokemonCenter_1F_EventScript_27195A:: @ 827195A + incrementgamestat 15 + compare VAR_0x8004, 0 + call_if 1, OldaleTown_PokemonCenter_1F_EventScript_271987 + compare VAR_0x8004, 1 + call_if 1, OldaleTown_PokemonCenter_1F_EventScript_27198D + waitmessage + call OldaleTown_PokemonCenter_1F_EventScript_271993 + checkflag FLAG_0x111 + goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_271A43 + goto OldaleTown_PokemonCenter_1F_EventScript_2719B1 + end + +OldaleTown_PokemonCenter_1F_EventScript_271987:: @ 8271987 + message gUnknown_08272768 + return + +OldaleTown_PokemonCenter_1F_EventScript_27198D:: @ 827198D + message gUnknown_082729C0 + return + +OldaleTown_PokemonCenter_1F_EventScript_271993:: @ 8271993 + applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_2725A4 + waitmovement 0 + dofieldeffect 25 + waitfieldeffect 25 + applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_2725AA + waitmovement 0 + special HealPlayerParty + return + +OldaleTown_PokemonCenter_1F_EventScript_2719B1:: @ 82719B1 + specialvar VAR_RESULT, sub_8139ED0 + compare VAR_RESULT, 0 + goto_eq OldaleTown_PokemonCenter_1F_EventScript_2719E2 + specialvar VAR_RESULT, sp182_move_string + copyvar VAR_0x8008, VAR_RESULT + compare VAR_0x8008, 0 + goto_eq OldaleTown_PokemonCenter_1F_EventScript_2719E2 + compare VAR_0x8008, 1 + goto_eq OldaleTown_PokemonCenter_1F_EventScript_271A19 + end + +OldaleTown_PokemonCenter_1F_EventScript_2719E2:: @ 82719E2 + compare VAR_0x8004, 1 + goto_eq OldaleTown_PokemonCenter_1F_EventScript_271A03 + message gUnknown_08272798 + waitmessage + applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_271AD0 + waitmovement 0 + message gUnknown_082727DB + return + +OldaleTown_PokemonCenter_1F_EventScript_271A03:: @ 8271A03 + message gUnknown_082729F0 + waitmessage + applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_271AD0 + waitmovement 0 + message gUnknown_08272A07 + return + +OldaleTown_PokemonCenter_1F_EventScript_271A19:: @ 8271A19 + checkflag FLAG_0x880 + goto_eq OldaleTown_PokemonCenter_1F_EventScript_2719E2 + msgbox gUnknown_08272798, 4 + setflag FLAG_0x880 + message OldaleTown_PokemonCenter_1F_Text_278A48 + waitmessage + applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_271AD0 + waitmovement 0 + message gUnknown_082727DB + return + +OldaleTown_PokemonCenter_1F_EventScript_271A43:: @ 8271A43 + specialvar VAR_RESULT, IsPokerusInParty + compare VAR_RESULT, 1 + goto_eq OldaleTown_PokemonCenter_1F_EventScript_271A5F + compare VAR_RESULT, 0 + goto_eq OldaleTown_PokemonCenter_1F_EventScript_2719B1 + end + +OldaleTown_PokemonCenter_1F_EventScript_271A5F:: @ 8271A5F + message gUnknown_08272F07 + setflag FLAG_0x111 + return + +OldaleTown_PokemonCenter_1F_EventScript_271A68:: @ 8271A68 + checkflag FLAG_0x159 + goto_eq OldaleTown_PokemonCenter_1F_EventScript_271AAC + setflag FLAG_0x159 + msgbox gUnknown_082727F5, 4 + playse SE_PIN + applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_272598 + waitmovement 0 + applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_27259A + waitmovement 0 + msgbox gUnknown_08272860, 5 + compare VAR_RESULT, 1 + goto_eq OldaleTown_PokemonCenter_1F_EventScript_271AC5 + message gUnknown_08272A07 + return + +OldaleTown_PokemonCenter_1F_EventScript_271AAC:: @ 8271AAC + msgbox gUnknown_08272982, 5 + compare VAR_RESULT, 1 + goto_eq OldaleTown_PokemonCenter_1F_EventScript_271AC5 + message gUnknown_08272A07 + return + +OldaleTown_PokemonCenter_1F_EventScript_271AC5:: @ 8271AC5 + setvar VAR_0x8004, 1 + goto OldaleTown_PokemonCenter_1F_EventScript_27195A + end + +OldaleTown_PokemonCenter_1F_Movement_271AD0: @ 8271AD0 + step_4f + step_12 + step_end + +Std_ObtainItem:: @ 8271AD3 + giveitem VAR_0x8000, 32769 + copyvar VAR_0x8007, VAR_RESULT + call EventScript_271AE3 + return + +EventScript_271AE3:: @ 8271AE3 + bufferitemnameplural 1, VAR_0x8000, 32769 + checkitemtype VAR_0x8000 + call EventScript_271B08 + compare VAR_0x8007, 1 + call_if 1, EventScript_271B95 + compare VAR_0x8007, 0 + call_if 1, EventScript_271BA9 + return + +EventScript_271B08:: @ 8271B08 + switch VAR_RESULT + case 1, EventScript_271B45 + case 5, EventScript_271B55 + case 2, EventScript_271B65 + case 3, EventScript_271B75 + case 4, EventScript_271B85 + end + +EventScript_271B45:: @ 8271B45 + bufferstdstring 2, 14 + compare VAR_0x8007, 1 + call_if 1, EventScript_271BAF + return + +EventScript_271B55:: @ 8271B55 + bufferstdstring 2, 15 + compare VAR_0x8007, 1 + call_if 1, EventScript_271BAF + return + +EventScript_271B65:: @ 8271B65 + bufferstdstring 2, 16 + compare VAR_0x8007, 1 + call_if 1, EventScript_271BAF + return + +EventScript_271B75:: @ 8271B75 + bufferstdstring 2, 17 + compare VAR_0x8007, 1 + call_if 1, EventScript_271BB3 + return + +EventScript_271B85:: @ 8271B85 + bufferstdstring 2, 18 + compare VAR_0x8007, 1 + call_if 1, EventScript_271BAF + return + +EventScript_271B95:: @ 8271B95 + message gUnknown_08272A78 + waitfanfare + msgbox gUnknown_08272A9A, 4 + setvar VAR_RESULT, 1 + return + +EventScript_271BA9:: @ 8271BA9 + setvar VAR_RESULT, 0 + return + +EventScript_271BAF:: @ 8271BAF + playfanfare MUS_FANFA4 + return + +EventScript_271BB3:: @ 8271BB3 + playfanfare MUS_ME_WAZA + return + +Std_ObtainDecoration:: @ 8271BB7 + givedecoration VAR_0x8000 + copyvar VAR_0x8007, VAR_RESULT + call EventScript_271BC5 + return + +EventScript_271BC5:: @ 8271BC5 + bufferdecorationname 1, VAR_0x8000 + compare VAR_0x8007, 1 + call_if 1, EventScript_271BE0 + compare VAR_0x8007, 0 + call_if 1, EventScript_271BF7 + return + +EventScript_271BE0:: @ 8271BE0 + playfanfare MUS_FANFA4 + message gUnknown_08272B09 + waitfanfare + msgbox gUnknown_08272B48, 4 + setvar VAR_RESULT, 1 + return + +EventScript_271BF7:: @ 8271BF7 + setvar VAR_RESULT, 0 + return + +Std_FindItem:: @ 8271BFD + lock + faceplayer + waitse + copyvar VAR_0x8004, VAR_0x8000 + copyvar VAR_0x8005, VAR_0x8001 + checkitemspace VAR_0x8000, 32769 + copyvar VAR_0x8007, VAR_RESULT + bufferitemnameplural 1, VAR_0x8000, 32769 + checkitemtype VAR_0x8000 + call EventScript_271B08 + compare VAR_0x8007, 1 + call_if 1, EventScript_271C3A + compare VAR_0x8007, 0 + call_if 1, EventScript_271CA1 + release + return + +EventScript_271C3A:: @ 8271C3A + removeobject VAR_LAST_TALKED + giveitem VAR_0x8004, 32773 + specialvar VAR_RESULT, sub_81398C0 + copyvar VAR_0x8008, VAR_RESULT + compare VAR_0x8008, 1 + call_if 1, EventScript_271C8F + compare VAR_0x8008, 0 + call_if 1, EventScript_271C9B + waitfanfare + waitmessage + bufferitemnameplural 1, VAR_0x8004, 32773 + setvar VAR_0x8004, 12 + special sub_81A8E7C + compare VAR_RESULT, 1 + goto_eq EventScript_271C86 + msgbox gUnknown_08272A9A, 4 + return + +EventScript_271C86:: @ 8271C86 + msgbox gUnknown_08272AEA, 4 + return + +EventScript_271C8F:: @ 8271C8F + bufferitemnameplural 0, VAR_0x8004, 32773 + message gUnknown_082731A9 + return + +EventScript_271C9B:: @ 8271C9B + message gUnknown_08272ABF + return + +EventScript_271CA1:: @ 8271CA1 + msgbox gUnknown_08272A78, 4 + msgbox gUnknown_08272AD0, 4 + setvar VAR_RESULT, 0 + return + +EventScript_271CB7:: @ 8271CB7 + lockall + waitse + giveitem VAR_0x8005, 1 + copyvar VAR_0x8007, VAR_RESULT + bufferitemnameplural 1, VAR_0x8005, 1 + checkitemtype VAR_0x8005 + call EventScript_271B08 + compare VAR_0x8007, 1 + goto_eq EventScript_271CE8 + compare VAR_0x8007, 0 + goto_eq EventScript_271D47 + end + +EventScript_271CE8:: @ 8271CE8 + copyvar VAR_0x8008, VAR_0x8004 + copyvar VAR_0x8004, VAR_0x8005 + specialvar VAR_RESULT, sub_81398C0 + compare VAR_RESULT, 1 + goto_eq EventScript_271D0E + compare VAR_RESULT, 0 + goto_eq EventScript_271D1F + end + +EventScript_271D0E:: @ 8271D0E + bufferitemnameplural 0, VAR_0x8004, 1 + message gUnknown_082731A9 + goto EventScript_271D2A + end + +EventScript_271D1F:: @ 8271D1F + message gUnknown_08272ABF + goto EventScript_271D2A + end + +EventScript_271D2A:: @ 8271D2A + waitmessage + waitfanfare + bufferitemnameplural 1, VAR_0x8004, 1 + copyvar VAR_0x8004, VAR_0x8008 + msgbox gUnknown_08272A9A, 4 + special sub_80EDCE8 + special SetFlagInVar + releaseall + end + +EventScript_271D47:: @ 8271D47 + msgbox gUnknown_08272ABF, 4 + msgbox gUnknown_08272AD0, 4 + setvar VAR_RESULT, 0 + releaseall + end + +EventScript_271D5E:: @ 8271D5E + lock + faceplayer + msgbox Text_27260D, 5 + compare VAR_RESULT, 1 + goto_eq EventScript_271D83 + compare VAR_RESULT, 0 + goto_eq EventScript_271D89 + goto EventScript_271D89 + +EventScript_271D83:: @ 8271D83 + special sub_80E6BE8 + waitstate + lock + faceplayer + +EventScript_271D89:: @ 8271D89 + message Text_272640 + waitmessage + waitbuttonpress + release + end + +EventScript_271D92:: @ 8271D92 + lockall + setvar VAR_0x8004, 0 + special DoPCTurnOnEffect + playse SE_PC_ON + msgbox Text_27265A, 4 + goto EventScript_271DAC + end + +EventScript_271DAC:: @ 8271DAC + message gUnknown_0827266F + waitmessage + special ScrSpecial_CreatePCMenu + waitstate + goto EventScript_271DBC + end + +EventScript_271DBC:: @ 8271DBC + switch VAR_RESULT + case 0, EventScript_271E0E + case 1, EventScript_271DF9 + case 2, EventScript_271E54 + case 3, EventScript_271E47 + case 127, EventScript_271E47 + end + +EventScript_271DF9:: @ 8271DF9 + playse SE_PC_LOGIN + msgbox gUnknown_082726C2, 4 + special sub_816AE98 + waitstate + goto EventScript_271DAC + end + +EventScript_271E0E:: @ 8271E0E + playse SE_PC_LOGIN + checkflag FLAG_SYS_PC_LANETTE + call_if 0, EventScript_271E35 + checkflag FLAG_SYS_PC_LANETTE + call_if 1, EventScript_271E3E + msgbox gUnknown_082726A3, 4 + special sub_80C7578 + waitstate + goto EventScript_271DAC + end + +EventScript_271E35:: @ 8271E35 + msgbox gUnknown_0827268C, 4 + return + +EventScript_271E3E:: @ 8271E3E + msgbox gUnknown_082726D4, 4 + return + +EventScript_271E47:: @ 8271E47 + setvar VAR_0x8004, 0 + playse SE_PC_OFF + special DoPCTurnOffEffect + releaseall + end + +EventScript_271E54:: @ 8271E54 + checkflag FLAG_SYS_GAME_CLEAR + goto_if 0, EventScript_271E47 + playse SE_PC_LOGIN + special AccessHallOfFamePC + waitstate + goto EventScript_271DBC + end + +BattleFrontier_OutsideWest_EventScript_271E6A:: @ 8271E6A +FallarborTown_EventScript_271E6A:: @ 8271E6A +FortreeCity_EventScript_271E6A:: @ 8271E6A +LavaridgeTown_EventScript_271E6A:: @ 8271E6A +MauvilleCity_EventScript_271E6A:: @ 8271E6A +MossdeepCity_EventScript_271E6A:: @ 8271E6A +OldaleTown_EventScript_271E6A:: @ 8271E6A +PetalburgCity_EventScript_271E6A:: @ 8271E6A +RustboroCity_EventScript_271E6A:: @ 8271E6A +SlateportCity_EventScript_271E6A:: @ 8271E6A +SootopolisCity_EventScript_271E6A:: @ 8271E6A +VerdanturfTown_EventScript_271E6A:: @ 8271E6A + msgbox gUnknown_08272B6A, 3 + end + +BattleFrontier_OutsideEast_EventScript_271E73:: @ 8271E73 +DewfordTown_EventScript_271E73:: @ 8271E73 +EverGrandeCity_EventScript_271E73:: @ 8271E73 +FallarborTown_EventScript_271E73:: @ 8271E73 +FortreeCity_EventScript_271E73:: @ 8271E73 +LavaridgeTown_EventScript_271E73:: @ 8271E73 +LilycoveCity_EventScript_271E73:: @ 8271E73 +MauvilleCity_EventScript_271E73:: @ 8271E73 +MossdeepCity_EventScript_271E73:: @ 8271E73 +OldaleTown_EventScript_271E73:: @ 8271E73 +PacifidlogTown_EventScript_271E73:: @ 8271E73 +PetalburgCity_EventScript_271E73:: @ 8271E73 +RustboroCity_EventScript_271E73:: @ 8271E73 +SlateportCity_EventScript_271E73:: @ 8271E73 +SootopolisCity_EventScript_271E73:: @ 8271E73 +VerdanturfTown_EventScript_271E73:: @ 8271E73 + msgbox gUnknown_08272B9E, 3 + end + +BattleFrontier_BattleTowerLobby_EventScript_271E7C:: @ 8271E7C +DewfordTown_EventScript_271E7C:: @ 8271E7C +LilycoveCity_ContestLobby_EventScript_271E7C:: @ 8271E7C +LilycoveCity_PokemonTrainerFanClub_EventScript_271E7C:: @ 8271E7C +MauvilleCity_PokemonCenter_1F_EventScript_271E7C:: @ 8271E7C +PetalburgCity_PokemonCenter_1F_EventScript_271E7C:: @ 8271E7C +Route111_EventScript_271E7C:: @ 8271E7C +Route123_BerryMastersHouse_EventScript_271E7C:: @ 8271E7C +SlateportCity_OceanicMuseum_1F_EventScript_271E7C:: @ 8271E7C +SlateportCity_PokemonFanClub_EventScript_271E7C:: @ 8271E7C + fadescreen 1 + special easy_chat_input_maybe + fadescreen 0 + return + +DewfordTown_Gym_EventScript_271E84:: @ 8271E84 +LavaridgeTown_Gym_1F_EventScript_271E84:: @ 8271E84 +MauvilleCity_Gym_EventScript_271E84:: @ 8271E84 +RustboroCity_Gym_EventScript_271E84:: @ 8271E84 + clearflag FLAG_0x30D + setflag FLAG_0x128 + return + +DewfordTown_EventScript_271E8B:: @ 8271E8B +DewfordTown_Hall_EventScript_271E8B:: @ 8271E8B + dodailyevents + setvar VAR_0x8004, 0 + special sub_8122998 + return + +DewfordTown_EventScript_271E95:: @ 8271E95 +Route104_MrBrineysHouse_EventScript_271E95:: @ 8271E95 +Route109_EventScript_271E95:: @ 8271E95 + copyvar VAR_0x8008, VAR_0x4096 + setvar VAR_0x4096, 0 + return + +EventScript_271EA0:: @ 8271EA0 + checkpartymove MOVE_SURF + compare VAR_RESULT, 6 + goto_eq EventScript_271ED6 + bufferpartymonnick 0, VAR_RESULT + setfieldeffectargument 0, VAR_RESULT + lockall + msgbox gUnknown_08272FD6, 5 + compare VAR_RESULT, 0 + goto_eq EventScript_271ED5 + msgbox gUnknown_0827300D, 4 + dofieldeffect 9 + +EventScript_271ED5:: @ 8271ED5 + releaseall + +EventScript_271ED6:: @ 8271ED6 + end + +EverGrandeCity_ChampionsRoom_EventScript_271ED7:: @ 8271ED7 +LavaridgeTown_EventScript_271ED7:: @ 8271ED7 +LilycoveCity_EventScript_271ED7:: @ 8271ED7 +LittlerootTown_EventScript_271ED7:: @ 8271ED7 +LittlerootTown_ProfessorBirchsLab_EventScript_271ED7:: @ 8271ED7 +OldaleTown_EventScript_271ED7:: @ 8271ED7 +Route103_EventScript_271ED7:: @ 8271ED7 +Route104_EventScript_271ED7:: @ 8271ED7 +Route110_EventScript_271ED7:: @ 8271ED7 +Route119_EventScript_271ED7:: @ 8271ED7 +RustboroCity_EventScript_271ED7:: @ 8271ED7 + checkplayergender + compare VAR_RESULT, 0 + goto_eq RustboroCity_EventScript_271EEF + compare VAR_RESULT, 1 + goto_eq RustboroCity_EventScript_271EF5 + end + +RustboroCity_EventScript_271EEF:: @ 8271EEF + setvar VAR_0x4010, 105 + return + +RustboroCity_EventScript_271EF5:: @ 8271EF5 + setvar VAR_0x4010, 100 + return + +LavaridgeTown_EventScript_271EFB:: @ 8271EFB +Route110_EventScript_271EFB:: @ 8271EFB +Route119_EventScript_271EFB:: @ 8271EFB + checkplayergender + compare VAR_RESULT, 0 + goto_eq LavaridgeTown_EventScript_271F13 + compare VAR_RESULT, 1 + goto_eq LavaridgeTown_EventScript_271F19 + end + +LavaridgeTown_EventScript_271F13:: @ 8271F13 + setvar VAR_0x4013, 106 + return + +LavaridgeTown_EventScript_271F19:: @ 8271F19 + setvar VAR_0x4013, 101 + return + +EventScript_271F1F:: @ 8271F1F + checkplayergender + compare VAR_RESULT, 0 + goto_eq EventScript_271F37 + compare VAR_RESULT, 1 + goto_eq EventScript_271F3D + end + +EventScript_271F37:: @ 8271F37 + setvar VAR_0x4010, 100 + return + +EventScript_271F3D:: @ 8271F3D + setvar VAR_0x4010, 105 + return + +DewfordTown_Gym_EventScript_271F43:: @ 8271F43 +FortreeCity_Gym_EventScript_271F43:: @ 8271F43 +LavaridgeTown_Gym_1F_EventScript_271F43:: @ 8271F43 +MauvilleCity_Gym_EventScript_271F43:: @ 8271F43 +MossdeepCity_Gym_EventScript_271F43:: @ 8271F43 +PetalburgCity_Gym_EventScript_271F43:: @ 8271F43 +RustboroCity_Gym_EventScript_271F43:: @ 8271F43 +SootopolisCity_Gym_1F_EventScript_271F43:: @ 8271F43 + switch VAR_0x8008 + case 1, DewfordTown_Gym_EventScript_271FA1 + case 2, DewfordTown_Gym_EventScript_271FAB + case 3, DewfordTown_Gym_EventScript_271FBE + case 4, DewfordTown_Gym_EventScript_271FCE + case 5, DewfordTown_Gym_EventScript_271FE7 + case 6, DewfordTown_Gym_EventScript_271FFD + case 7, DewfordTown_Gym_EventScript_272010 + case 8, DewfordTown_Gym_EventScript_272035 + end + +DewfordTown_Gym_EventScript_271FA1:: @ 8271FA1 + settrainerflag TRAINER_JOSH + settrainerflag TRAINER_TOMMY + settrainerflag TRAINER_MARC + return + +DewfordTown_Gym_EventScript_271FAB:: @ 8271FAB + settrainerflag TRAINER_TAKAO + settrainerflag TRAINER_JOCELYN + settrainerflag TRAINER_LAURA + settrainerflag TRAINER_BRENDEN + settrainerflag TRAINER_CRISTIAN + settrainerflag TRAINER_LILITH + return + +DewfordTown_Gym_EventScript_271FBE:: @ 8271FBE + settrainerflag TRAINER_KIRK + settrainerflag TRAINER_SHAWN + settrainerflag TRAINER_BEN + settrainerflag TRAINER_VIVIAN + settrainerflag TRAINER_ANGELO + return + +DewfordTown_Gym_EventScript_271FCE:: @ 8271FCE + settrainerflag TRAINER_COLE + settrainerflag TRAINER_AXLE + settrainerflag TRAINER_KEEGAN + settrainerflag TRAINER_GERALD + settrainerflag TRAINER_DANIELLE + settrainerflag TRAINER_JACE + settrainerflag TRAINER_JEFF + settrainerflag TRAINER_ELI + return + +DewfordTown_Gym_EventScript_271FE7:: @ 8271FE7 + settrainerflag TRAINER_RANDALL + settrainerflag TRAINER_PARKER + settrainerflag TRAINER_GEORGE + settrainerflag TRAINER_BERKE + settrainerflag TRAINER_MARY + settrainerflag TRAINER_ALEXIA + settrainerflag TRAINER_JODY + return + +DewfordTown_Gym_EventScript_271FFD:: @ 8271FFD + settrainerflag TRAINER_JARED + settrainerflag TRAINER_FLINT + settrainerflag TRAINER_ASHLEY + settrainerflag TRAINER_EDWARDO + settrainerflag TRAINER_HUMBERTO + settrainerflag TRAINER_DARIUS + return + +DewfordTown_Gym_EventScript_272010:: @ 8272010 + settrainerflag TRAINER_PRESTON + settrainerflag TRAINER_VIRGIL + settrainerflag TRAINER_BLAKE + settrainerflag TRAINER_HANNAH + settrainerflag TRAINER_SAMANTHA + settrainerflag TRAINER_MAURA + settrainerflag TRAINER_SYLVIA + settrainerflag TRAINER_NATE + settrainerflag TRAINER_KATHLEEN + settrainerflag TRAINER_CLIFFORD + settrainerflag TRAINER_MACEY + settrainerflag TRAINER_NICHOLAS + return + +DewfordTown_Gym_EventScript_272035:: @ 8272035 + settrainerflag TRAINER_ANDREA + settrainerflag TRAINER_CRISSY + settrainerflag TRAINER_BRIANNA + settrainerflag TRAINER_CONNIE + settrainerflag TRAINER_BRIDGET + settrainerflag TRAINER_OLIVIA + settrainerflag TRAINER_TIFFANY + settrainerflag TRAINER_BETHANY + settrainerflag TRAINER_ANNIKA + settrainerflag TRAINER_DAPHNE + return + +DewfordTown_Gym_EventScript_272054:: @ 8272054 +DewfordTown_Hall_EventScript_272054:: @ 8272054 +FallarborTown_House1_EventScript_272054:: @ 8272054 +FortreeCity_Gym_EventScript_272054:: @ 8272054 +FortreeCity_House2_EventScript_272054:: @ 8272054 +FortreeCity_House4_EventScript_272054:: @ 8272054 +LavaridgeTown_Gym_1F_EventScript_272054:: @ 8272054 +LavaridgeTown_HerbShop_EventScript_272054:: @ 8272054 +LilycoveCity_EventScript_272054:: @ 8272054 +LilycoveCity_House2_EventScript_272054:: @ 8272054 +LittlerootTown_BrendansHouse_1F_EventScript_272054:: @ 8272054 +MauvilleCity_EventScript_272054:: @ 8272054 +MauvilleCity_Gym_EventScript_272054:: @ 8272054 +MossdeepCity_EventScript_272054:: @ 8272054 +MossdeepCity_Gym_EventScript_272054:: @ 8272054 +MossdeepCity_SpaceCenter_1F_EventScript_272054:: @ 8272054 +MtPyre_1F_EventScript_272054:: @ 8272054 +PacifidlogTown_House2_EventScript_272054:: @ 8272054 +PetalburgCity_Gym_EventScript_272054:: @ 8272054 +PetalburgWoods_EventScript_272054:: @ 8272054 +Route104_EventScript_272054:: @ 8272054 +Route104_PrettyPetalFlowerShop_EventScript_272054:: @ 8272054 +Route109_EventScript_272054:: @ 8272054 +Route111_EventScript_272054:: @ 8272054 +Route111_WinstrateFamilysHouse_EventScript_272054:: @ 8272054 +Route114_EventScript_272054:: @ 8272054 +Route114_FossilManiacsHouse_EventScript_272054:: @ 8272054 +Route120_EventScript_272054:: @ 8272054 +Route123_BerryMastersHouse_EventScript_272054:: @ 8272054 +Route123_EventScript_272054:: @ 8272054 +RustboroCity_DevonCorp_3F_EventScript_272054:: @ 8272054 +RustboroCity_Flat2_2F_EventScript_272054:: @ 8272054 +RustboroCity_Gym_EventScript_272054:: @ 8272054 +RustboroCity_PokemonSchool_EventScript_272054:: @ 8272054 +SSTidalRooms_EventScript_272054:: @ 8272054 +ShoalCave_LowTideEntranceRoom_EventScript_272054:: @ 8272054 +ShoalCave_LowTideInnerRoom_EventScript_272054:: @ 8272054 +ShoalCave_LowTideLowerRoom_EventScript_272054:: @ 8272054 +ShoalCave_LowTideStairsRoom_EventScript_272054:: @ 8272054 +SlateportCity_BattleTentLobby_EventScript_272054:: @ 8272054 +SlateportCity_Harbor_EventScript_272054:: @ 8272054 +SlateportCity_PokemonFanClub_EventScript_272054:: @ 8272054 +SootopolisCity_EventScript_272054:: @ 8272054 +SootopolisCity_Gym_1F_EventScript_272054:: @ 8272054 +SootopolisCity_House1_EventScript_272054:: @ 8272054 +VerdanturfTown_BattleTentLobby_EventScript_272054:: @ 8272054 + msgbox gUnknown_08272AD0, 4 + release + end + +DewfordTown_Gym_EventScript_27205E:: @ 827205E +FortreeCity_Gym_EventScript_27205E:: @ 827205E +LavaridgeTown_Gym_1F_EventScript_27205E:: @ 827205E +LilycoveCity_ContestLobby_EventScript_27205E:: @ 827205E +LinkContestRoom1_EventScript_27205E:: @ 827205E +MauvilleCity_GameCorner_EventScript_27205E:: @ 827205E +MauvilleCity_Gym_EventScript_27205E:: @ 827205E +MossdeepCity_Gym_EventScript_27205E:: @ 827205E +PetalburgCity_Gym_EventScript_27205E:: @ 827205E +Route110_TrickHouseEnd_EventScript_27205E:: @ 827205E +Route110_TrickHouseEntrance_EventScript_27205E:: @ 827205E +Route113_GlassWorkshop_EventScript_27205E:: @ 827205E +SootopolisCity_Gym_1F_EventScript_27205E:: @ 827205E + msgbox gUnknown_08272AD0, 4 + return + +Route114_LanettesHouse_EventScript_272067:: @ 8272067 + msgbox gUnknown_08272B1A, 4 + release + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_272071:: @ 8272071 +MauvilleCity_GameCorner_EventScript_272071:: @ 8272071 +Route110_TrickHouseEnd_EventScript_272071:: @ 8272071 +Route110_TrickHouseEntrance_EventScript_272071:: @ 8272071 +Route113_GlassWorkshop_EventScript_272071:: @ 8272071 + msgbox gUnknown_08272B1A, 4 + return + +EverGrandeCity_EventScript_27207A:: @ 827207A +LilycoveCity_EventScript_27207A:: @ 827207A +MossdeepCity_EventScript_27207A:: @ 827207A +Route124_EventScript_27207A:: @ 827207A +Route125_EventScript_27207A:: @ 827207A +Route126_EventScript_27207A:: @ 827207A +Route127_EventScript_27207A:: @ 827207A +Route128_EventScript_27207A:: @ 827207A +Route129_EventScript_27207A:: @ 827207A +Route130_EventScript_27207A:: @ 827207A +Route131_EventScript_27207A:: @ 827207A +SkyPillar_Outside_EventScript_27207A:: @ 827207A +SootopolisCity_EventScript_27207A:: @ 827207A + setweather 15 + return + +DewfordTown_Gym_EventScript_27207E:: @ 827207E +FortreeCity_Gym_EventScript_27207E:: @ 827207E +LavaridgeTown_Gym_1F_EventScript_27207E:: @ 827207E +LilycoveCity_CoveLilyMotel_2F_EventScript_27207E:: @ 827207E +MauvilleCity_Gym_EventScript_27207E:: @ 827207E +MossdeepCity_Gym_EventScript_27207E:: @ 827207E +PetalburgCity_Gym_EventScript_27207E:: @ 827207E +RustboroCity_Gym_EventScript_27207E:: @ 827207E +SootopolisCity_Gym_1F_EventScript_27207E:: @ 827207E + playfanfare MUS_ME_BACHI + waitfanfare + return + +LittlerootTown_BrendansHouse_1F_EventScript_272083:: @ 8272083 +Route111_OldLadysRestStop_EventScript_272083:: @ 8272083 +Route119_WeatherInstitute_1F_EventScript_272083:: @ 8272083 +RustboroCity_DevonCorp_3F_EventScript_272083:: @ 8272083 +SSTidalRooms_EventScript_272083:: @ 8272083 + fadescreen 1 + playfanfare MUS_ME_ASA + waitfanfare + special HealPlayerParty + fadescreen 0 + return + +EventScript_27208F:: @ 827208F + lockall + msgbox LittlerootTown_BrendansHouse_2F_Text_1F8820, 4 + fadescreen 1 + special FieldShowRegionMap + waitstate + releaseall + end + +DewfordTown_EventScript_2720A0:: @ 82720A0 +Route104_EventScript_2720A0:: @ 82720A0 +Route109_EventScript_2720A0:: @ 82720A0 + setflag FLAG_SPECIAL_FLAG_0x4001 + playbgm MUS_M_BOAT, 0 + return + +DewfordTown_EventScript_2720A8:: @ 82720A8 +Route104_EventScript_2720A8:: @ 82720A8 +Route109_EventScript_2720A8:: @ 82720A8 + clearflag FLAG_SPECIAL_FLAG_0x4001 + fadedefaultbgm + return + +LittlerootTown_ProfessorBirchsLab_EventScript_2720AD:: @ 82720AD +Route101_EventScript_2720AD:: @ 82720AD +Route103_EventScript_2720AD:: @ 82720AD + compare VAR_0x4085, 0 + goto_eq Route101_EventScript_27374E + checkflag FLAG_SYS_GAME_CLEAR + goto_eq Route101_EventScript_27211A + compare VAR_BIRCH_STATE, 0 + call_if 1, Route101_EventScript_27211A + compare VAR_BIRCH_STATE, 1 + call_if 1, Route101_EventScript_27211A + compare VAR_BIRCH_STATE, 2 + call_if 1, Route101_EventScript_272127 + compare VAR_BIRCH_STATE, 3 + call_if 1, Route101_EventScript_272127 + compare VAR_BIRCH_STATE, 4 + call_if 1, Route101_EventScript_272134 + compare VAR_BIRCH_STATE, 5 + call_if 1, Route101_EventScript_272134 + compare VAR_BIRCH_STATE, 6 + call_if 1, Route101_EventScript_27211A + compare VAR_BIRCH_STATE, 7 + call_if 1, Route101_EventScript_27211A + return + +Route101_EventScript_27211A:: @ 827211A + clearflag FLAG_0x2D1 + clearflag FLAG_0x380 + setflag FLAG_0x381 + setflag FLAG_0x382 + return + +Route101_EventScript_272127:: @ 8272127 + clearflag FLAG_0x381 + setflag FLAG_0x2D1 + setflag FLAG_0x380 + setflag FLAG_0x382 + return + +Route101_EventScript_272134:: @ 8272134 + clearflag FLAG_0x382 + setflag FLAG_0x381 + setflag FLAG_0x2D1 + setflag FLAG_0x380 + return + +LittlerootTown_ProfessorBirchsLab_EventScript_272141:: @ 8272141 +Route101_EventScript_272141:: @ 8272141 +Route103_EventScript_272141:: @ 8272141 + lock + faceplayer + checkflag FLAG_HAS_MATCH_CALL + goto_if 0, Route101_EventScript_272155 + checkflag FLAG_0x119 + goto_if 0, Route101_EventScript_1FA2D2 + +Route101_EventScript_272155:: @ 8272155 + msgbox gUnknown_082A5C9C, 5 + compare VAR_RESULT, 0 + goto_eq Route101_EventScript_27216F + call Route101_EventScript_272184 + release + end + +Route101_EventScript_27216F:: @ 827216F + msgbox Route101_Text_2A5CEB, 4 + release + end + +Route101_EventScript_272179:: @ 8272179 + copyvar VAR_0x8004, VAR_0x8009 + special ShowPokedexRatingMessage + waitmessage + waitbuttonpress + return + +EverGrandeCity_ChampionsRoom_EventScript_272184:: @ 8272184 +Route101_EventScript_272184:: @ 8272184 + setvar VAR_0x8004, 0 + specialvar VAR_RESULT, ScriptGetPokedexInfo + copyvar VAR_0x8008, VAR_0x8005 + copyvar VAR_0x8009, VAR_0x8006 + copyvar VAR_0x800A, VAR_RESULT + buffernumberstring 0, VAR_0x8008 + buffernumberstring 1, VAR_0x8009 + msgbox gUnknown_082A5D2C, 4 + call Route101_EventScript_272179 + compare VAR_0x800A, 0 + goto_eq Route101_EventScript_27374E + setvar VAR_0x8004, 1 + specialvar VAR_RESULT, ScriptGetPokedexInfo + copyvar VAR_0x8008, VAR_0x8005 + copyvar VAR_0x8009, VAR_0x8006 + buffernumberstring 0, VAR_0x8008 + buffernumberstring 1, VAR_0x8009 + msgbox gUnknown_082A633D, 4 + return + +BattleFrontier_OutsideWest_EventScript_2721E2:: @ 82721E2 +LilycoveCity_Harbor_EventScript_2721E2:: @ 82721E2 +SlateportCity_Harbor_EventScript_2721E2:: @ 82721E2 + delay 60 + applymovement VAR_0x8004, SlateportCity_Harbor_Movement_2721F0 + waitmovement 0 + return + +SlateportCity_Harbor_Movement_2721F0: @ 82721F0 + slow_step_right + slow_step_right + slow_step_right + step_right + step_right + step_right + step_right + step_end + +PetalburgCity_Gym_EventScript_2721F8:: @ 82721F8 + setflag FLAG_0x2E4 + setflag FLAG_0x2E7 + setflag FLAG_0x2E5 + setflag FLAG_0x2E8 + setflag FLAG_0x2E2 + setflag FLAG_0x2E6 + setflag FLAG_0x2E3 + setflag FLAG_0x371 + setvar VAR_0x4096, 0 + return + +RusturfTunnel_EventScript_272216:: @ 8272216 + removeobject 1 + removeobject 10 + clearflag FLAG_0x328 + clearflag FLAG_0x3D8 + setvar VAR_0x409A, 6 + setflag FLAG_0x0C7 + return + +EventScript_27222B:: @ 827222B + delay 30 + applymovement 255, PetalburgCity_Movement_2725A6 + waitmovement 0 + showobjectat 255, PETALBURG_CITY + delay 30 + applymovement 255, Movement_27224E + waitmovement 0 + delay 30 + return + +Movement_27224E: @ 827224E + step_up + step_end + +BattleFrontier_OutsideWest_EventScript_272250:: @ 8272250 +BirthIsland_Harbor_EventScript_272250:: @ 8272250 +FarawayIsland_Entrance_EventScript_272250:: @ 8272250 +NavelRock_Harbor_EventScript_272250:: @ 8272250 +SouthernIsland_Exterior_EventScript_272250:: @ 8272250 + compare VAR_FACING, 1 + call_if 1, BattleFrontier_OutsideWest_EventScript_242A21 + compare VAR_FACING, 3 + call_if 1, BattleFrontier_OutsideWest_EventScript_242A2C + delay 30 + hideobjectat 255, PETALBURG_CITY + call BattleFrontier_OutsideWest_EventScript_2721E2 + return + +EventScript_272274:: @ 8272274 + lockall + waitse + playmoncry SPECIES_KYOGRE, 2 + waitmoncry + setvar VAR_0x4005, 1 + releaseall + end + +EventScript_272283:: @ 8272283 + lockall + setvar VAR_0x4001, 1 + goto EventScript_2722A7 + end + +EventScript_27228F:: @ 827228F + lockall + setvar VAR_0x4002, 1 + goto EventScript_2722A7 + end + +EventScript_27229B:: @ 827229B + lockall + setvar VAR_0x4003, 1 + goto EventScript_2722A7 + end + +EventScript_2722A7:: @ 82722A7 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 8 + setvar VAR_0x8007, 5 + special sub_8139560 + waitstate + releaseall + end + +CaveOfOrigin_1F_EventScript_2722C1:: @ 82722C1 +CaveOfOrigin_UnusedRubySapphireMap1_EventScript_2722C1:: @ 82722C1 +CaveOfOrigin_UnusedRubySapphireMap2_EventScript_2722C1:: @ 82722C1 +CaveOfOrigin_UnusedRubySapphireMap3_EventScript_2722C1:: @ 82722C1 + setvar VAR_0x4001, 1 + setvar VAR_0x4002, 1 + setvar VAR_0x4003, 1 + setvar VAR_0x4004, 1 + setvar VAR_0x4005, 1 + return + +Route120_EventScript_2722DB:: @ 82722DB + lock + faceplayer + setvar VAR_0x8009, 1 + goto Route120_EventScript_272336 + end + +Route120_EventScript_2722E8:: @ 82722E8 + lock + faceplayer + setvar VAR_0x8009, 2 + goto Route120_EventScript_272336 + end + +Route120_EventScript_2722F5:: @ 82722F5 + lock + faceplayer + setvar VAR_0x8009, 3 + goto Route120_EventScript_272336 + end + +Route120_EventScript_272302:: @ 8272302 + lock + faceplayer + setvar VAR_0x8009, 4 + goto Route120_EventScript_272336 + end + +Route120_EventScript_27230F:: @ 827230F + lock + faceplayer + setvar VAR_0x8009, 5 + goto Route120_EventScript_272336 + end + +Route119_EventScript_27231C:: @ 827231C + lock + faceplayer + setvar VAR_0x8009, 6 + goto Route119_EventScript_272336 + end + +Route119_EventScript_272329:: @ 8272329 + lock + faceplayer + setvar VAR_0x8009, 7 + goto Route119_EventScript_272336 + end + +Route119_EventScript_272336:: @ 8272336 +Route120_EventScript_272336:: @ 8272336 + checkitem ITEM_DEVON_SCOPE, 1 + compare VAR_RESULT, 1 + goto_eq Route119_EventScript_272350 + msgbox Route119_Text_1F5D00, 4 + release + end + +Route119_EventScript_272350:: @ 8272350 + msgbox Route119_Text_1F5D23, 5 + compare VAR_RESULT, 1 + goto_eq Route119_EventScript_272365 + release + end + +Route119_EventScript_272365:: @ 8272365 + msgbox Route119_Text_1F5D63, 4 + closemessage + applymovement VAR_LAST_TALKED, Route119_Movement_27259E + waitmovement 0 + applymovement VAR_LAST_TALKED, Route119_Movement_2723C7 + waitmovement 0 + waitse + playmoncry SPECIES_KECLEON, 2 + delay 40 + waitmoncry + setwildbattle SPECIES_KECLEON, 30, ITEM_NONE + setflag FLAG_SYS_CTRL_OBJ_DELETE + dowildbattle + clearflag FLAG_SYS_CTRL_OBJ_DELETE + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 1 + goto_eq Route119_EventScript_2723C1 + compare VAR_RESULT, 4 + goto_eq Route119_EventScript_2723C1 + compare VAR_RESULT, 5 + goto_eq Route119_EventScript_2723C1 + release + end + +Route119_EventScript_2723C1:: @ 82723C1 + goto Route119_EventScript_27376D + end + +FortreeCity_Movement_2723C7: @ 82723C7 +Route119_Movement_2723C7: @ 82723C7 +Route120_Movement_2723C7: @ 82723C7 + step_55 + step_12 + step_54 + step_12 + step_55 + step_12 + step_54 + step_12 + step_55 + step_13 + step_54 + step_13 + step_55 + step_13 + step_54 + step_13 + step_55 + step_14 + step_54 + step_14 + step_55 + step_end + +LittlerootTown_ProfessorBirchsLab_EventScript_2723DD:: @ 82723DD +MossdeepCity_StevensHouse_EventScript_2723DD:: @ 82723DD +Route119_WeatherInstitute_2F_EventScript_2723DD:: @ 82723DD +RustboroCity_DevonCorp_2F_EventScript_2723DD:: @ 82723DD +SlateportCity_House1_EventScript_2723DD:: @ 82723DD + fadescreen 1 + special ChangePokemonNickname + waitstate + return + +FallarborTown_House1_EventScript_2723E4:: @ 82723E4 +GraniteCave_StevensRoom_EventScript_2723E4:: @ 82723E4 +SlateportCity_OceanicMuseum_2F_EventScript_2723E4:: @ 82723E4 + bufferitemname 0, VAR_0x8004 + playfanfare MUS_ME_WAZA + message gUnknown_08273161 + waitmessage + waitfanfare + takeitem VAR_0x8004, 1 + return + +EverGrandeCity_DrakesRoom_EventScript_2723F8:: @ 82723F8 +EverGrandeCity_GlaciasRoom_EventScript_2723F8:: @ 82723F8 +EverGrandeCity_PhoebesRoom_EventScript_2723F8:: @ 82723F8 +EverGrandeCity_SidneysRoom_EventScript_2723F8:: @ 82723F8 + applymovement 255, EverGrandeCity_SidneysRoom_Movement_2725C6 + waitmovement 0 + playse SE_DOOR + setmetatile 6, 1, 836, 0 + setmetatile 6, 2, 837, 0 + setmetatile 0, 2, 734, 1 + setmetatile 1, 2, 733, 1 + setmetatile 2, 2, 734, 1 + setmetatile 3, 2, 733, 1 + setmetatile 4, 2, 734, 1 + setmetatile 8, 2, 733, 1 + setmetatile 9, 2, 734, 1 + setmetatile 10, 2, 733, 1 + setmetatile 11, 2, 734, 1 + setmetatile 12, 2, 733, 1 + special DrawWholeMapView + return + +EverGrandeCity_DrakesRoom_EventScript_272475:: @ 8272475 +EverGrandeCity_GlaciasRoom_EventScript_272475:: @ 8272475 +EverGrandeCity_PhoebesRoom_EventScript_272475:: @ 8272475 +EverGrandeCity_SidneysRoom_EventScript_272475:: @ 8272475 + applymovement 255, EverGrandeCity_SidneysRoom_Movement_2725BA + waitmovement 0 + playse SE_TRACK_DOOR + setmetatile 5, 12, 518, 1 + setmetatile 6, 12, 518, 1 + setmetatile 7, 12, 518, 1 + setmetatile 5, 13, 526, 1 + setmetatile 6, 13, 526, 1 + setmetatile 7, 13, 526, 1 + special DrawWholeMapView + return + +EverGrandeCity_DrakesRoom_EventScript_2724BC:: @ 82724BC +EverGrandeCity_GlaciasRoom_EventScript_2724BC:: @ 82724BC +EverGrandeCity_PhoebesRoom_EventScript_2724BC:: @ 82724BC +EverGrandeCity_SidneysRoom_EventScript_2724BC:: @ 82724BC + setmetatile 6, 1, 836, 0 + setmetatile 6, 2, 837, 0 + setmetatile 5, 12, 518, 1 + setmetatile 6, 12, 518, 1 + setmetatile 7, 12, 518, 1 + setmetatile 5, 13, 526, 1 + setmetatile 6, 13, 526, 1 + setmetatile 7, 13, 526, 1 + setmetatile 0, 2, 734, 1 + setmetatile 1, 2, 733, 1 + setmetatile 2, 2, 734, 1 + setmetatile 3, 2, 733, 1 + setmetatile 4, 2, 734, 1 + setmetatile 8, 2, 733, 1 + setmetatile 9, 2, 734, 1 + setmetatile 10, 2, 733, 1 + setmetatile 11, 2, 734, 1 + setmetatile 12, 2, 733, 1 + return + +EverGrandeCity_DrakesRoom_EventScript_27255F:: @ 827255F +EverGrandeCity_GlaciasRoom_EventScript_27255F:: @ 827255F +EverGrandeCity_PhoebesRoom_EventScript_27255F:: @ 827255F +EverGrandeCity_SidneysRoom_EventScript_27255F:: @ 827255F + setmetatile 5, 12, 518, 1 + setmetatile 6, 12, 518, 1 + setmetatile 7, 12, 518, 1 + setmetatile 5, 13, 526, 1 + setmetatile 6, 13, 526, 1 + setmetatile 7, 13, 526, 1 + return + +SlateportCity_Movement_272596: @ 8272596 + step_57 + step_end + +AquaHideout_B2F_Movement_272598: @ 8272598 +BattleFrontier_BattleTowerBattleRoom_Movement_272598: @ 8272598 +BattleFrontier_ReceptionGate_Movement_272598: @ 8272598 +CaveOfOrigin_B1F_Movement_272598: @ 8272598 +EverGrandeCity_ChampionsRoom_Movement_272598: @ 8272598 +FarawayIsland_Interior_Movement_272598: @ 8272598 +JaggedPass_Movement_272598: @ 8272598 +LavaridgeTown_Movement_272598: @ 8272598 +LilycoveCity_ContestLobby_Movement_272598: @ 8272598 +LilycoveCity_CoveLilyMotel_1F_Movement_272598: @ 8272598 +LilycoveCity_Harbor_Movement_272598: @ 8272598 +LittlerootTown_BrendansHouse_1F_Movement_272598: @ 8272598 +LittlerootTown_BrendansHouse_2F_Movement_272598: @ 8272598 +LittlerootTown_MaysHouse_1F_Movement_272598: @ 8272598 +LittlerootTown_MaysHouse_2F_Movement_272598: @ 8272598 +LittlerootTown_Movement_272598: @ 8272598 +MauvilleCity_House2_Movement_272598: @ 8272598 +MauvilleCity_Movement_272598: @ 8272598 +MeteorFalls_1F_1R_Movement_272598: @ 8272598 +MeteorFalls_StevensCave_Movement_272598: @ 8272598 +MossdeepCity_SpaceCenter_2F_Movement_272598: @ 8272598 +MossdeepCity_StevensHouse_Movement_272598: @ 8272598 +MtChimney_Movement_272598: @ 8272598 +MtPyre_Summit_Movement_272598: @ 8272598 +OldaleTown_PokemonCenter_1F_Movement_272598: @ 8272598 +PetalburgCity_Gym_Movement_272598: @ 8272598 +PetalburgCity_Movement_272598: @ 8272598 +Route103_Movement_272598: @ 8272598 +Route104_Movement_272598: @ 8272598 +Route110_Movement_272598: @ 8272598 +Route110_TrickHouseEnd_Movement_272598: @ 8272598 +Route110_TrickHouseEntrance_Movement_272598: @ 8272598 +Route110_TrickHousePuzzle5_Movement_272598: @ 8272598 +Route119_WeatherInstitute_2F_Movement_272598: @ 8272598 +RustboroCity_DevonCorp_2F_Movement_272598: @ 8272598 +RustboroCity_Movement_272598: @ 8272598 +RusturfTunnel_Movement_272598: @ 8272598 +SeafloorCavern_Entrance_Movement_272598: @ 8272598 +SeafloorCavern_Room9_Movement_272598: @ 8272598 +SlateportCity_Movement_272598: @ 8272598 +SlateportCity_OceanicMuseum_1F_Movement_272598: @ 8272598 +SlateportCity_PokemonFanClub_Movement_272598: @ 8272598 + step_56 + step_end + +BattleFrontier_BattleTowerBattleRoom_Movement_27259A: @ 827259A +BattleFrontier_ReceptionGate_Movement_27259A: @ 827259A +CaveOfOrigin_B1F_Movement_27259A: @ 827259A +EverGrandeCity_ChampionsRoom_Movement_27259A: @ 827259A +FarawayIsland_Interior_Movement_27259A: @ 827259A +JaggedPass_Movement_27259A: @ 827259A +LavaridgeTown_Movement_27259A: @ 827259A +LilycoveCity_CoveLilyMotel_1F_Movement_27259A: @ 827259A +LilycoveCity_Harbor_Movement_27259A: @ 827259A +LittlerootTown_BrendansHouse_1F_Movement_27259A: @ 827259A +LittlerootTown_BrendansHouse_2F_Movement_27259A: @ 827259A +LittlerootTown_MaysHouse_1F_Movement_27259A: @ 827259A +LittlerootTown_MaysHouse_2F_Movement_27259A: @ 827259A +MauvilleCity_House2_Movement_27259A: @ 827259A +MauvilleCity_Movement_27259A: @ 827259A +MeteorFalls_1F_1R_Movement_27259A: @ 827259A +MeteorFalls_StevensCave_Movement_27259A: @ 827259A +MossdeepCity_SpaceCenter_2F_Movement_27259A: @ 827259A +MossdeepCity_StevensHouse_Movement_27259A: @ 827259A +MtChimney_Movement_27259A: @ 827259A +MtPyre_Summit_Movement_27259A: @ 827259A +OldaleTown_PokemonCenter_1F_Movement_27259A: @ 827259A +PetalburgCity_Gym_Movement_27259A: @ 827259A +PetalburgCity_Movement_27259A: @ 827259A +Route103_Movement_27259A: @ 827259A +Route104_Movement_27259A: @ 827259A +Route110_Movement_27259A: @ 827259A +Route110_TrickHouseEntrance_Movement_27259A: @ 827259A +Route110_TrickHousePuzzle5_Movement_27259A: @ 827259A +Route119_WeatherInstitute_2F_Movement_27259A: @ 827259A +RustboroCity_DevonCorp_2F_Movement_27259A: @ 827259A +RustboroCity_Movement_27259A: @ 827259A +RusturfTunnel_Movement_27259A: @ 827259A +SeafloorCavern_Entrance_Movement_27259A: @ 827259A +SeafloorCavern_Room9_Movement_27259A: @ 827259A +SlateportCity_Movement_27259A: @ 827259A +SlateportCity_OceanicMuseum_1F_Movement_27259A: @ 827259A +SlateportCity_PokemonFanClub_Movement_27259A: @ 827259A + step_14 + step_14 + step_14 + step_end + +AquaHideout_B2F_Movement_27259E: @ 827259E +BattleFrontier_BattlePyramidLobby_Movement_27259E: @ 827259E +BattleFrontier_ScottsHouse_Movement_27259E: @ 827259E +CaveOfOrigin_B1F_Movement_27259E: @ 827259E +EverGrandeCity_PokemonLeague_1F_Movement_27259E: @ 827259E +FallarborTown_House2_Movement_27259E: @ 827259E +FortreeCity_House4_Movement_27259E: @ 827259E +JaggedPass_Movement_27259E: @ 827259E +LilycoveCity_ContestHall_Movement_27259E: @ 827259E +LilycoveCity_CoveLilyMotel_1F_Movement_27259E: @ 827259E +LilycoveCity_DepartmentStore_1F_Movement_27259E: @ 827259E +LilycoveCity_DepartmentStore_5F_Movement_27259E: @ 827259E +LilycoveCity_Harbor_Movement_27259E: @ 827259E +LilycoveCity_LilycoveMuseum_1F_Movement_27259E: @ 827259E +LilycoveCity_LilycoveMuseum_2F_Movement_27259E: @ 827259E +LilycoveCity_MoveDeletersHouse_Movement_27259E: @ 827259E +LilycoveCity_Movement_27259E: @ 827259E +LittlerootTown_BrendansHouse_1F_Movement_27259E: @ 827259E +LittlerootTown_BrendansHouse_2F_Movement_27259E: @ 827259E +MagmaHideout_4F_Movement_27259E: @ 827259E +MauvilleCity_Movement_27259E: @ 827259E +MeteorFalls_StevensCave_Movement_27259E: @ 827259E +MossdeepCity_SpaceCenter_2F_Movement_27259E: @ 827259E +MtChimney_Movement_27259E: @ 827259E +OldaleTown_Movement_27259E: @ 827259E +PetalburgCity_Gym_Movement_27259E: @ 827259E +PetalburgCity_Movement_27259E: @ 827259E +Route103_Movement_27259E: @ 827259E +Route104_Movement_27259E: @ 827259E +Route110_TrickHouseEnd_Movement_27259E: @ 827259E +Route110_TrickHouseEntrance_Movement_27259E: @ 827259E +Route110_TrickHousePuzzle5_Movement_27259E: @ 827259E +Route111_Movement_27259E: @ 827259E +Route119_Movement_27259E: @ 827259E +RustboroCity_Flat1_2F_Movement_27259E: @ 827259E +RustboroCity_Movement_27259E: @ 827259E +RusturfTunnel_Movement_27259E: @ 827259E +SeafloorCavern_Room9_Movement_27259E: @ 827259E +SlateportCity_Movement_27259E: @ 827259E +SlateportCity_SternsShipyard_1F_Movement_27259E: @ 827259E +SootopolisCity_Movement_27259E: @ 827259E + step_3e + step_end + +BattleFrontier_OutsideWest_Movement_2725A0: @ 82725A0 + step_3f + step_end + +BattleFrontier_Lounge3_Movement_2725A2: @ 82725A2 +BattleFrontier_OutsideWest_Movement_2725A2: @ 82725A2 +EverGrandeCity_PokemonLeague_1F_Movement_2725A2: @ 82725A2 +JaggedPass_Movement_2725A2: @ 82725A2 +LilycoveCity_ContestHall_Movement_2725A2: @ 82725A2 +LilycoveCity_ContestLobby_Movement_2725A2: @ 82725A2 +LilycoveCity_CoveLilyMotel_1F_Movement_2725A2: @ 82725A2 +LilycoveCity_House3_Movement_2725A2: @ 82725A2 +LilycoveCity_LilycoveMuseum_1F_Movement_2725A2: @ 82725A2 +LilycoveCity_Movement_2725A2: @ 82725A2 +LittlerootTown_Movement_2725A2: @ 82725A2 +MauvilleCity_GameCorner_Movement_2725A2: @ 82725A2 +MauvilleCity_Movement_2725A2: @ 82725A2 +MossdeepCity_Movement_2725A2: @ 82725A2 +MossdeepCity_SpaceCenter_1F_Movement_2725A2: @ 82725A2 +MossdeepCity_SpaceCenter_2F_Movement_2725A2: @ 82725A2 +MtChimney_Movement_2725A2: @ 82725A2 +OldaleTown_Movement_2725A2: @ 82725A2 +PetalburgCity_Movement_2725A2: @ 82725A2 +Route109_Movement_2725A2: @ 82725A2 +Route110_Movement_2725A2: @ 82725A2 +Route111_Movement_2725A2: @ 82725A2 +Route111_WinstrateFamilysHouse_Movement_2725A2: @ 82725A2 +Route112_Movement_2725A2: @ 82725A2 +Route119_Movement_2725A2: @ 82725A2 +RustboroCity_DevonCorp_3F_Movement_2725A2: @ 82725A2 +RustboroCity_Movement_2725A2: @ 82725A2 +RusturfTunnel_Movement_2725A2: @ 82725A2 +SlateportCity_Harbor_Movement_2725A2: @ 82725A2 +SlateportCity_Movement_2725A2: @ 82725A2 +SlateportCity_OceanicMuseum_2F_Movement_2725A2: @ 82725A2 +SlateportCity_SternsShipyard_1F_Movement_2725A2: @ 82725A2 +SootopolisCity_Movement_2725A2: @ 82725A2 +VerdanturfTown_Movement_2725A2: @ 82725A2 + step_4e + step_end + +AquaHideout_B2F_Movement_2725A4: @ 82725A4 +BattleFrontier_BattleFactoryBattleRoom_Movement_2725A4: @ 82725A4 +BattleFrontier_OutsideWest_Movement_2725A4: @ 82725A4 +BattleFrontier_ScottsHouse_Movement_2725A4: @ 82725A4 +DewfordTown_Hall_Movement_2725A4: @ 82725A4 +EverGrandeCity_ChampionsRoom_Movement_2725A4: @ 82725A4 +EverGrandeCity_HallOfFame_Movement_2725A4: @ 82725A4 +LavaridgeTown_Movement_2725A4: @ 82725A4 +LilycoveCity_Harbor_Movement_2725A4: @ 82725A4 +LilycoveCity_PokemonTrainerFanClub_Movement_2725A4: @ 82725A4 +LittlerootTown_BrendansHouse_1F_Movement_2725A4: @ 82725A4 +LittlerootTown_BrendansHouse_2F_Movement_2725A4: @ 82725A4 +LittlerootTown_MaysHouse_1F_Movement_2725A4: @ 82725A4 +LittlerootTown_MaysHouse_2F_Movement_2725A4: @ 82725A4 +LittlerootTown_Movement_2725A4: @ 82725A4 +LittlerootTown_ProfessorBirchsLab_Movement_2725A4: @ 82725A4 +MeteorFalls_1F_1R_Movement_2725A4: @ 82725A4 +MossdeepCity_SpaceCenter_2F_Movement_2725A4: @ 82725A4 +MossdeepCity_StevensHouse_Movement_2725A4: @ 82725A4 +MtChimney_Movement_2725A4: @ 82725A4 +MtPyre_Summit_Movement_2725A4: @ 82725A4 +OldaleTown_PokemonCenter_1F_Movement_2725A4: @ 82725A4 +PetalburgCity_Gym_Movement_2725A4: @ 82725A4 +PetalburgCity_Movement_2725A4: @ 82725A4 +PetalburgWoods_Movement_2725A4: @ 82725A4 +Route101_Movement_2725A4: @ 82725A4 +Route110_Movement_2725A4: @ 82725A4 +Route110_TrickHouseEnd_Movement_2725A4: @ 82725A4 +Route111_Movement_2725A4: @ 82725A4 +Route112_Movement_2725A4: @ 82725A4 +Route116_Movement_2725A4: @ 82725A4 +Route120_Movement_2725A4: @ 82725A4 +Route128_Movement_2725A4: @ 82725A4 +RustboroCity_Movement_2725A4: @ 82725A4 +SeafloorCavern_Entrance_Movement_2725A4: @ 82725A4 +SeafloorCavern_Room9_Movement_2725A4: @ 82725A4 +SkyPillar_Outside_Movement_2725A4: @ 82725A4 +SlateportCity_Movement_2725A4: @ 82725A4 +SlateportCity_OceanicMuseum_1F_Movement_2725A4: @ 82725A4 +SlateportCity_OceanicMuseum_2F_Movement_2725A4: @ 82725A4 +SootopolisCity_Movement_2725A4: @ 82725A4 + step_27 + step_end + +BattleFrontier_BattleTowerCorridor2_Movement_2725A6: @ 82725A6 +BattleFrontier_BattleTowerMultiBattleRoom_Movement_2725A6: @ 82725A6 +BattleFrontier_OutsideWest_Movement_2725A6: @ 82725A6 +BattleFrontier_ReceptionGate_Movement_2725A6: @ 82725A6 +BattleFrontier_ScottsHouse_Movement_2725A6: @ 82725A6 +CaveOfOrigin_B1F_Movement_2725A6: @ 82725A6 +DewfordTown_Hall_Movement_2725A6: @ 82725A6 +EverGrandeCity_ChampionsRoom_Movement_2725A6: @ 82725A6 +EverGrandeCity_HallOfFame_Movement_2725A6: @ 82725A6 +LavaridgeTown_Movement_2725A6: @ 82725A6 +LilycoveCity_DepartmentStore_5F_Movement_2725A6: @ 82725A6 +LilycoveCity_Harbor_Movement_2725A6: @ 82725A6 +LittlerootTown_BrendansHouse_1F_Movement_2725A6: @ 82725A6 +LittlerootTown_BrendansHouse_2F_Movement_2725A6: @ 82725A6 +LittlerootTown_MaysHouse_2F_Movement_2725A6: @ 82725A6 +LittlerootTown_Movement_2725A6: @ 82725A6 +LittlerootTown_ProfessorBirchsLab_Movement_2725A6: @ 82725A6 +MagmaHideout_4F_Movement_2725A6: @ 82725A6 +MeteorFalls_1F_1R_Movement_2725A6: @ 82725A6 +MossdeepCity_SpaceCenter_2F_Movement_2725A6: @ 82725A6 +MtPyre_Summit_Movement_2725A6: @ 82725A6 +NewMauville_Entrance_Movement_2725A6: @ 82725A6 +OldaleTown_PokemonCenter_2F_Movement_2725A6: @ 82725A6 +PetalburgCity_Gym_Movement_2725A6: @ 82725A6 +PetalburgCity_Movement_2725A6: @ 82725A6 +PetalburgWoods_Movement_2725A6: @ 82725A6 +Route104_Movement_2725A6: @ 82725A6 +Route110_TrickHouseEnd_Movement_2725A6: @ 82725A6 +Route110_TrickHouseEntrance_Movement_2725A6: @ 82725A6 +Route111_Movement_2725A6: @ 82725A6 +Route114_FossilManiacsTunnel_Movement_2725A6: @ 82725A6 +Route120_Movement_2725A6: @ 82725A6 +Route121_SafariZoneEntrance_Movement_2725A6: @ 82725A6 +Route128_Movement_2725A6: @ 82725A6 +RustboroCity_Movement_2725A6: @ 82725A6 +RusturfTunnel_Movement_2725A6: @ 82725A6 +SeafloorCavern_Entrance_Movement_2725A6: @ 82725A6 +SeafloorCavern_Room9_Movement_2725A6: @ 82725A6 +SlateportCity_BattleTentCorridor_Movement_2725A6: @ 82725A6 +SlateportCity_Harbor_Movement_2725A6: @ 82725A6 +SlateportCity_Movement_2725A6: @ 82725A6 +SlateportCity_OceanicMuseum_2F_Movement_2725A6: @ 82725A6 +SootopolisCity_MysteryEventsHouse_1F_Movement_2725A6: @ 82725A6 +VerdanturfTown_BattleTentBattleRoom_Movement_2725A6: @ 82725A6 + step_26 + step_end + +BattleFrontier_BattleFactoryBattleRoom_Movement_2725A8: @ 82725A8 +BattleFrontier_BattlePalaceBattleRoom_Movement_2725A8: @ 82725A8 +BattleFrontier_OutsideWest_Movement_2725A8: @ 82725A8 +BattleFrontier_ScottsHouse_Movement_2725A8: @ 82725A8 +DewfordTown_Hall_Movement_2725A8: @ 82725A8 +EverGrandeCity_ChampionsRoom_Movement_2725A8: @ 82725A8 +EverGrandeCity_HallOfFame_Movement_2725A8: @ 82725A8 +LavaridgeTown_Movement_2725A8: @ 82725A8 +LilycoveCity_DepartmentStore_1F_Movement_2725A8: @ 82725A8 +LilycoveCity_PokemonTrainerFanClub_Movement_2725A8: @ 82725A8 +LittlerootTown_BrendansHouse_1F_Movement_2725A8: @ 82725A8 +LittlerootTown_BrendansHouse_2F_Movement_2725A8: @ 82725A8 +LittlerootTown_MaysHouse_1F_Movement_2725A8: @ 82725A8 +LittlerootTown_Movement_2725A8: @ 82725A8 +LittlerootTown_ProfessorBirchsLab_Movement_2725A8: @ 82725A8 +MagmaHideout_4F_Movement_2725A8: @ 82725A8 +MauvilleCity_Movement_2725A8: @ 82725A8 +MossdeepCity_SpaceCenter_1F_Movement_2725A8: @ 82725A8 +MossdeepCity_SpaceCenter_2F_Movement_2725A8: @ 82725A8 +MtPyre_Summit_Movement_2725A8: @ 82725A8 +OldaleTown_Movement_2725A8: @ 82725A8 +PetalburgCity_Gym_Movement_2725A8: @ 82725A8 +PetalburgCity_Movement_2725A8: @ 82725A8 +Route101_Movement_2725A8: @ 82725A8 +Route110_Movement_2725A8: @ 82725A8 +Route110_TrickHouseEnd_Movement_2725A8: @ 82725A8 +Route112_Movement_2725A8: @ 82725A8 +Route116_Movement_2725A8: @ 82725A8 +Route120_Movement_2725A8: @ 82725A8 +Route128_Movement_2725A8: @ 82725A8 +RustboroCity_Movement_2725A8: @ 82725A8 +SSTidalCorridor_Movement_2725A8: @ 82725A8 +SeafloorCavern_Entrance_Movement_2725A8: @ 82725A8 +SkyPillar_Outside_Movement_2725A8: @ 82725A8 +SlateportCity_Harbor_Movement_2725A8: @ 82725A8 +SlateportCity_Movement_2725A8: @ 82725A8 +SlateportCity_OceanicMuseum_1F_Movement_2725A8: @ 82725A8 +SlateportCity_OceanicMuseum_2F_Movement_2725A8: @ 82725A8 +SootopolisCity_Movement_2725A8: @ 82725A8 +VerdanturfTown_BattleTentBattleRoom_Movement_2725A8: @ 82725A8 + step_28 + step_end + +BattleFrontier_OutsideWest_Movement_2725AA: @ 82725AA +BattleFrontier_ScottsHouse_Movement_2725AA: @ 82725AA +BirthIsland_Harbor_Movement_2725AA: @ 82725AA +DewfordTown_Hall_Movement_2725AA: @ 82725AA +EverGrandeCity_ChampionsRoom_Movement_2725AA: @ 82725AA +FarawayIsland_Entrance_Movement_2725AA: @ 82725AA +LilycoveCity_CoveLilyMotel_1F_Movement_2725AA: @ 82725AA +LilycoveCity_DepartmentStoreElevator_Movement_2725AA: @ 82725AA +LilycoveCity_Harbor_Movement_2725AA: @ 82725AA +LilycoveCity_Movement_2725AA: @ 82725AA +LilycoveCity_PokemonTrainerFanClub_Movement_2725AA: @ 82725AA +LittlerootTown_BrendansHouse_1F_Movement_2725AA: @ 82725AA +LittlerootTown_MaysHouse_1F_Movement_2725AA: @ 82725AA +LittlerootTown_Movement_2725AA: @ 82725AA +MauvilleCity_Movement_2725AA: @ 82725AA +MeteorFalls_1F_1R_Movement_2725AA: @ 82725AA +MossdeepCity_SpaceCenter_2F_Movement_2725AA: @ 82725AA +MtPyre_Summit_Movement_2725AA: @ 82725AA +NavelRock_Harbor_Movement_2725AA: @ 82725AA +OldaleTown_PokemonCenter_1F_Movement_2725AA: @ 82725AA +PetalburgCity_Gym_Movement_2725AA: @ 82725AA +PetalburgCity_Movement_2725AA: @ 82725AA +PetalburgWoods_Movement_2725AA: @ 82725AA +Route110_Movement_2725AA: @ 82725AA +Route110_TrickHouseEnd_Movement_2725AA: @ 82725AA +Route114_FossilManiacsTunnel_Movement_2725AA: @ 82725AA +Route119_Movement_2725AA: @ 82725AA +Route120_Movement_2725AA: @ 82725AA +Route128_Movement_2725AA: @ 82725AA +RustboroCity_Movement_2725AA: @ 82725AA +RustboroCity_PokemonSchool_Movement_2725AA: @ 82725AA +RusturfTunnel_Movement_2725AA: @ 82725AA +SeafloorCavern_Entrance_Movement_2725AA: @ 82725AA +SeafloorCavern_Room9_Movement_2725AA: @ 82725AA +SkyPillar_Outside_Movement_2725AA: @ 82725AA +SlateportCity_Harbor_Movement_2725AA: @ 82725AA +SlateportCity_Movement_2725AA: @ 82725AA +SlateportCity_OceanicMuseum_2F_Movement_2725AA: @ 82725AA +SouthernIsland_Exterior_Movement_2725AA: @ 82725AA +VerdanturfTown_BattleTentBattleRoom_Movement_2725AA: @ 82725AA +VictoryRoad_1F_Movement_2725AA: @ 82725AA + step_25 + step_end + +RustboroCity_Movement_2725AC: @ 82725AC + step_03 + step_end + +RustboroCity_Movement_2725AE: @ 82725AE + step_02 + step_end + +BattleFrontier_Mart_Movement_2725B0: @ 82725B0 +MeteorFalls_1F_1R_Movement_2725B0: @ 82725B0 + step_00 + step_end + +MarineCave_End_Movement_2725B2: @ 82725B2 +MtPyre_Summit_Movement_2725B2: @ 82725B2 +Route118_Movement_2725B2: @ 82725B2 +SkyPillar_Top_Movement_2725B2: @ 82725B2 +SlateportCity_Movement_2725B2: @ 82725B2 +TerraCave_End_Movement_2725B2: @ 82725B2 + step_01 + step_end + +BattleFrontier_BattleDomeBattleRoom_Movement_2725B4: @ 82725B4 +MeteorFalls_1F_1R_Movement_2725B4: @ 82725B4 + step_1d + step_end + +BattleFrontier_BattlePalaceBattleRoom_Movement_2725B6: @ 82725B6 +BattleFrontier_BattleTowerBattleRoom_Movement_2725B6: @ 82725B6 + step_1f + step_end + +Route121_Movement_2725B8: @ 82725B8 + step_20 + step_end + +EverGrandeCity_SidneysRoom_Movement_2725BA: @ 82725BA + step_up + step_up + step_up + step_up + step_up + step_up + step_end + +EverGrandeCity_ChampionsRoom_Movement_2725C1: @ 82725C1 + step_up + step_up + step_up + step_up + step_end + +EverGrandeCity_SidneysRoom_Movement_2725C6: @ 82725C6 + step_14 + step_14 + step_end + +Route110_TrickHouseEntrance_Movement_2725C9: @ 82725C9 + step_up + step_end + +Movement_2725CB:: @ 82725CB + step_up + step_up + step_end + +EventScript_2725CE:: @ 82725CE + msgbox Text_2A81E5, 3 + end + +EventScript_2725D7:: @ 82725D7 + msgbox Text_2A820D, 3 + end + +EventScript_2725E0:: @ 82725E0 + msgbox Text_2A8232, 3 + end + +EventScript_2725E9:: @ 82725E9 + msgbox Text_2A8276, 3 + end + +EventScript_2725F2:: @ 82725F2 + msgbox Text_2A82B3, 3 + end + +EventScript_2725FB:: @ 82725FB + msgbox Text_2A82BF, 3 + end + +EventScript_272604:: @ 8272604 + msgbox Text_2A82F7, 3 + end + +Text_27260D: @ 827260D + .string "Would you like to mix records with\n" + .string "other TRAINERS?$" + +Text_272640: @ 8272640 + .string "We hope to see you again!$" + +Text_27265A: @ 827265A + .string "{PLAYER} booted up the PC.$" gUnknown_0827266F:: @ 827266F .string "Which PC should be accessed?$" - gUnknown_0827268C:: @ 827268C .string "Accessed SOMEONE’S PC.$" - gUnknown_082726A3:: @ 82726A3 .string "POKéMON Storage System opened.$" - gUnknown_082726C2:: @ 82726C2 .string "Accessed {PLAYER}’s PC.$" - gUnknown_082726D4:: @ 82726D4 .string "Accessed LANETTE’s PC.$" - gUnknown_082726EB:: @ 82726EB .string "Hello, and welcome to\nthe POKéMON CENTER.\pWe restore your tired POKéMON\nto full health.\pWould you like to rest your POKéMON?$" - gUnknown_08272768:: @ 8272768 .string "Okay, I’ll take your POKéMON\nfor a few seconds.$" - gUnknown_08272798:: @ 8272798 .string "Thank you for waiting.\pWe’ve restored your POKéMON\nto full health.$" - gUnknown_082727DB:: @ 82727DB .string "We hope to see you again!$" - gUnknown_082727F5:: @ 82727F5 .string "Hello, and welcome to\nthe POKéMON CENTER.\pWe restore your tired POKéMON\nto full health.\pWould you like to…$" - gUnknown_08272860:: @ 8272860 .string "Th-that card…\nCould it be… The GOLD CARD?!\pOh, the gold color is brilliant!\nThe four stars seem to sparkle!\pI’ve seen several TRAINERS with\na SILVER CARD before, but, {PLAYER},\lyou’re the first TRAINER I’ve ever\lseen with a GOLD CARD!\pOkay, {PLAYER}, please allow me\nthe honor of resting your POKéMON!$" - gUnknown_08272982:: @ 8272982 .string "I’m delighted to see you, {PLAYER}!\nYou want the usual, am I right?$" - gUnknown_082729C0:: @ 82729C0 .string "Okay, I’ll take your POKéMON\nfor a few seconds.$" - gUnknown_082729F0:: @ 82729F0 .string "Thank you for waiting.$" - gUnknown_08272A07:: @ 8272A07 .string "We hope to see you again!$" - gUnknown_08272A21:: @ 8272A21 .string "Welcome!\pHow may I serve you?$" - gUnknown_08272A3F:: @ 8272A3F .string "Please come again!$" - gUnknown_08272A52:: @ 8272A52 .string "{PLAYER}{STRING 5}, welcome!\pWhat can I do for you?$" - gUnknown_08272A78:: @ 8272A78 .string "Obtained the {STR_VAR_2}!$" - gUnknown_08272A89:: @ 8272A89 .string "The BAG is full…$" - gUnknown_08272A9A:: @ 8272A9A .string "{PLAYER} put away the {STR_VAR_2}\nin the {STR_VAR_3} POCKET.$" - gUnknown_08272ABF:: @ 8272ABF .string "{PLAYER} found one {STR_VAR_2}!$" - gUnknown_08272AD0:: @ 8272AD0 .string "Too bad!\nThe BAG is full…$" - gUnknown_08272AEA:: @ 8272AEA .string "{PLAYER} put away the {STR_VAR_2}\nin the BAG.$" - gUnknown_08272B09:: @ 8272B09 .string "Obtained the {STR_VAR_2}!$" - gUnknown_08272B1A:: @ 8272B1A .string "Too bad! There’s no room left for\nanother {STR_VAR_2}…$" - gUnknown_08272B48:: @ 8272B48 .string "The {STR_VAR_2} was transferred\nto the PC.$" - gUnknown_08272B6A:: @ 8272B6A .string "“Selected items for your convenience!”\nPOKéMON MART$" - gUnknown_08272B9E:: @ 8272B9E .string "“Rejuvenate your tired partners!”\nPOKéMON CENTER$" - gUnknown_08272BCF:: @ 8272BCF .string "{STR_VAR_1} might like this program.\n… … … … … … … … … … … … … … … …\pBetter get going!$" - gUnknown_08272C1D:: @ 8272C1D .string "Welcome to LILYCOVE DEPARTMENT STORE.\pWhich floor would you like?$" - gUnknown_08272C5F:: @ 8272C5F .string "The sandstorm is vicious.\nIt’s impossible to keep going.$" - gUnknown_08272C98:: @ 8272C98 .string "An item in the BAG can be\nregistered to SELECT for easy use.$" - gUnknown_08272CD5:: @ 8272CD5 .string "There’s an e-mail from POKéMON TRAINER\nSCHOOL.\p… … … … … …\pA POKéMON may learn up to four moves.\pA TRAINER’s expertise is tested on the\nmove sets chosen for POKéMON.\p… … … … … …$" - gUnknown_08272D87:: @ 8272D87 .string "{PLAYER} booted up the PC.$" - gUnknown_08272D9C:: @ 8272D9C .string "The link was canceled.$" - gUnknown_08272DB3:: @ 8272DB3 .string "Want to give a nickname to\nthe {STR_VAR_2} you received?$" - gUnknown_08272DE3:: @ 8272DE3 .string "{PLAYER} is out of usable\nPOKéMON!\p{PLAYER} whited out!$" - gUnknown_08272E0F:: @ 8272E0F .string "Registered {STR_VAR_1} {STR_VAR_2}\nin the POKéNAV.$" - gUnknown_08272E30:: @ 8272E30 .string "Do you know the TM SECRET POWER?\pOur group, we love the TM SECRET\nPOWER.\pOne of our members will give it to you.\nCome back and show me if you get it.\pWe’ll accept you as a member and sell\nyou good stuff in secrecy.$" - gUnknown_08272F07:: @ 8272F07 .string "Your POKéMON may be infected with\nPOKéRUS.\pLittle is known about the POKéRUS\nexcept that they are microscopic life-\lforms that attach to POKéMON.\pWhile infected, POKéMON are said to\ngrow exceptionally well.$" - -gUnknown_08272FD6:: @ 8272FD6 - .string "The water is dyed a deep blue…\nWould you like to SURF?$" - - -gUnknown_0827300D:: @ 827300D - .string "{STR_VAR_1} used SURF!$" - + .include "data/text/surf.inc" gUnknown_0827301B:: @ 827301B .string "It sounded as if a door opened\nsomewhere far away.$" - gUnknown_0827304E:: @ 827304E .string "There is a big hole in the wall.$" - gUnknown_0827306F:: @ 827306F .string "I’m terribly sorry.\nThe POKéMON WIRELESS CLUB is\lundergoing adjustments now.$" - gUnknown_082730BC:: @ 82730BC .string "It appears to be undergoing\nadjustments…$" - gUnknown_082730E5:: @ 82730E5 .string "I’m terribly sorry. The TRADE CENTER\nis undergoing inspections.$" - gUnknown_08273125:: @ 8273125 .string "I’m terribly sorry. The RECORD CORNER\nis under preparation.$" - gUnknown_08273161:: @ 8273161 .string "{PLAYER} handed over the\n{STR_VAR_1}.$" - gUnknown_08273178:: @ 8273178 .string "Thank you for accessing the\nMYSTERY GIFT System.$" - gUnknown_082731A9:: @ 82731A9 .string "{PLAYER} found one {STR_VAR_1}\n{STR_VAR_2}!$" - gUnknown_082731BD:: @ 82731BD .string "The weird tree doesn’t like the\nWAILMER PAIL!\pThe weird tree attacked!$" - gUnknown_08273204:: @ 8273204 .string "The {STR_VAR_1} flew away!$" @@ -406,652 +3281,11549 @@ gText_PkmnBoxSomeonesPCFull:: @ 8273296 gText_PkmnBoxLanettesPCFull:: @ 82732D9 .string "BOX “{STR_VAR_3}” on\nLANETTE’S PC was full.\p{STR_VAR_2} was transferred to\nBOX “{STR_VAR_1}.”$" - gUnknown_0827331C:: @ 827331C .string "There’s no more room for POKéMON!\pThe POKéMON BOXES are full and\ncan’t accept any more!$" - gUnknown_08273374:: @ 8273374 .string "Do you want to give a nickname to\nthis {STR_VAR_1}?$" - gUnknown_0827339F:: @ 827339F .string "There is a questionnaire.\nWould you like to fill it out?$" - gUnknown_082733D8:: @ 82733D8 .string "Thank you for taking the time to\nfill out our questionnaire.\pYour feedback will be used for\nfuture reference.$" - gUnknown_08273446:: @ 8273446 .string "Oh, hello!\nYou know those words?\pThat means you must know about\nthe MYSTERY GIFT.\pFrom now on, you should be\nreceiving MYSTERY GIFTS!$" - gUnknown_082734CC:: @ 82734CC .string "Once you save your game, you can\naccess the MYSTERY GIFT.$" - gUnknown_08273506:: @ 8273506 .string "Oh, hello!\nYou know those words?\pThat means you must know about\nthe MYSTERY EVENT.$" - gUnknown_08273559:: @ 8273559 .string "Once you save your game, you can\naccess the MYSTERY EVENT.$" - gUnknown_08273594:: @ 8273594 .string "Thank you for using the MYSTERY\nEVENT System.\pYou must be {PLAYER}.\nThere is a ticket here for you.$" - gUnknown_082735F2:: @ 82735F2 .string "It appears to be for use at\nthe LILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$" - gUnknown_08273656:: @ 8273656 .string "The massive downpour appears to\nhave stopped…$" - gUnknown_08273684:: @ 8273684 .string "The intense sunshine appears to\nhave subsided…$" -gUnknown_082736B3:: @ 82736B3 - .incbin "baserom.gba", 0x2736b3, 0x9 +EventScript_2736B3:: @ 82736B3 + msgbox gUnknown_08272C98, 3 + end -gUnknown_082736BC:: @ 82736BC - .incbin "baserom.gba", 0x2736bc, 0x15f +EventScript_2736BC:: @ 82736BC + lockall + special sub_80F972C + waitstate + compare VAR_RESULT, 1 + goto_eq EventScript_2736D9 + compare VAR_RESULT, 2 + goto_eq EventScript_2736F8 + releaseall + end -gUnknown_0827381B:: @ 827381B - .incbin "baserom.gba", 0x27381b, 0x504 +EventScript_2736D9:: @ 82736D9 + message gUnknown_08272DE3 + waitmessage + waitbuttonpress + special sub_80B05B4 + waitstate + fadescreen 1 + checkflag FLAG_0x06C + call_if 1, EventScript_2736F4 + special sp0C8_whiteout_maybe + waitstate + end + +EventScript_2736F4:: @ 82736F4 + setrespawn 16 + return + +EventScript_2736F8:: @ 82736F8 + message gUnknown_08272DE3 + waitmessage + waitbuttonpress + setvar VAR_0x8004, 16 + special sub_81A703C + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222 + setvar VAR_0x8004, 12 + special sub_81A8E7C + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 + compare VAR_RESULT, 2 + goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 + setvar VAR_0x8004, 10 + special sp194_trainer_tower + compare VAR_RESULT, 1 + goto_eq TrainerHill_1F_EventScript_2C83C9 + special sub_80B05B4 + waitstate + fadescreen 1 + special sp0C8_whiteout_maybe + waitstate + end + +AncientTomb_EventScript_27374E:: @ 827374E +AquaHideout_B1F_EventScript_27374E:: @ 827374E +BattleFrontier_BattleDomeBattleRoom_EventScript_27374E:: @ 827374E +BattleFrontier_OutsideEast_EventScript_27374E:: @ 827374E +BirthIsland_Exterior_EventScript_27374E:: @ 827374E +DesertRuins_EventScript_27374E:: @ 827374E +EverGrandeCity_PokemonCenter_1F_EventScript_27374E:: @ 827374E +FarawayIsland_Interior_EventScript_27374E:: @ 827374E +IslandCave_EventScript_27374E:: @ 827374E +LilycoveCity_Harbor_EventScript_27374E:: @ 827374E +MarineCave_End_EventScript_27374E:: @ 827374E +NavelRock_Bottom_EventScript_27374E:: @ 827374E +NavelRock_Top_EventScript_27374E:: @ 827374E +NewMauville_Inside_EventScript_27374E:: @ 827374E +OldaleTown_PokemonCenter_1F_EventScript_27374E:: @ 827374E +PacifidlogTown_House2_EventScript_27374E:: @ 827374E +Route101_EventScript_27374E:: @ 827374E +Route119_EventScript_27374E:: @ 827374E +Route120_EventScript_27374E:: @ 827374E +SkyPillar_Top_EventScript_27374E:: @ 827374E +SouthernIsland_Interior_EventScript_27374E:: @ 827374E +TerraCave_End_EventScript_27374E:: @ 827374E + return + +EventScript_27374F:: @ 827374F + setvar VAR_RESULT, 1 + return + +OldaleTown_PokemonCenter_2F_EventScript_273755:: @ 8273755 + setvar VAR_RESULT, 0 + return + +BattleFrontier_PokemonCenter_2F_EventScript_27375B:: @ 827375B +DewfordTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B +EverGrandeCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B +EverGrandeCity_PokemonLeague_2F_EventScript_27375B:: @ 827375B +FallarborTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B +FortreeCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B +LavaridgeTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B +LilycoveCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B +MauvilleCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B +MossdeepCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B +OldaleTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B +PacifidlogTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B +PetalburgCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B +RustboroCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B +SlateportCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B +SootopolisCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B +VerdanturfTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B + call OldaleTown_PokemonCenter_2F_EventScript_27751B + end + +BattleFrontier_PokemonCenter_2F_EventScript_273761:: @ 8273761 +DewfordTown_PokemonCenter_2F_EventScript_273761:: @ 8273761 +EverGrandeCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 +EverGrandeCity_PokemonLeague_2F_EventScript_273761:: @ 8273761 +FallarborTown_PokemonCenter_2F_EventScript_273761:: @ 8273761 +FortreeCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 +LavaridgeTown_PokemonCenter_2F_EventScript_273761:: @ 8273761 +LilycoveCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 +MauvilleCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 +MossdeepCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 +OldaleTown_PokemonCenter_2F_EventScript_273761:: @ 8273761 +PacifidlogTown_PokemonCenter_2F_EventScript_273761:: @ 8273761 +PetalburgCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 +RustboroCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 +SlateportCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 +SootopolisCity_PokemonCenter_2F_EventScript_273761:: @ 8273761 +VerdanturfTown_PokemonCenter_2F_EventScript_273761:: @ 8273761 + call OldaleTown_PokemonCenter_2F_EventScript_277672 + end + +BattleFrontier_PokemonCenter_2F_EventScript_273767:: @ 8273767 +DewfordTown_PokemonCenter_2F_EventScript_273767:: @ 8273767 +EverGrandeCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 +EverGrandeCity_PokemonLeague_2F_EventScript_273767:: @ 8273767 +FallarborTown_PokemonCenter_2F_EventScript_273767:: @ 8273767 +FortreeCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 +LavaridgeTown_PokemonCenter_2F_EventScript_273767:: @ 8273767 +LilycoveCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 +MauvilleCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 +MossdeepCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 +OldaleTown_PokemonCenter_2F_EventScript_273767:: @ 8273767 +PacifidlogTown_PokemonCenter_2F_EventScript_273767:: @ 8273767 +PetalburgCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 +RustboroCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 +SlateportCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 +SootopolisCity_PokemonCenter_2F_EventScript_273767:: @ 8273767 +VerdanturfTown_PokemonCenter_2F_EventScript_273767:: @ 8273767 + call OldaleTown_PokemonCenter_2F_EventScript_2776A4 + end + +AncientTomb_EventScript_27376D:: @ 827376D +AquaHideout_B1F_EventScript_27376D:: @ 827376D +DesertRuins_EventScript_27376D:: @ 827376D +IslandCave_EventScript_27376D:: @ 827376D +MarineCave_End_EventScript_27376D:: @ 827376D +NewMauville_Inside_EventScript_27376D:: @ 827376D +Route119_EventScript_27376D:: @ 827376D +TerraCave_End_EventScript_27376D:: @ 827376D + fadescreenswapbuffers 1 + removeobject VAR_LAST_TALKED + fadescreenswapbuffers 0 + release + end + +AncientTomb_EventScript_273776:: @ 8273776 +BirthIsland_Exterior_EventScript_273776:: @ 8273776 +DesertRuins_EventScript_273776:: @ 8273776 +FarawayIsland_Interior_EventScript_273776:: @ 8273776 +IslandCave_EventScript_273776:: @ 8273776 +MarineCave_End_EventScript_273776:: @ 8273776 +NavelRock_Bottom_EventScript_273776:: @ 8273776 +NavelRock_Top_EventScript_273776:: @ 8273776 +SouthernIsland_Interior_EventScript_273776:: @ 8273776 +TerraCave_End_EventScript_273776:: @ 8273776 + fadescreenswapbuffers 1 + removeobject VAR_LAST_TALKED + fadescreenswapbuffers 0 + bufferspeciesname 0, VAR_0x8004 + msgbox gUnknown_08273204, 4 + release + end + +LittlerootTown_ProfessorBirchsLab_EventScript_27378B:: @ 827378B +MossdeepCity_StevensHouse_EventScript_27378B:: @ 827378B +Route119_WeatherInstitute_2F_EventScript_27378B:: @ 827378B +RustboroCity_DevonCorp_2F_EventScript_27378B:: @ 827378B + getpartysize + subvar VAR_RESULT, 1 + copyvar VAR_0x8004, VAR_RESULT + return + +LittlerootTown_ProfessorBirchsLab_EventScript_273797:: @ 8273797 +MossdeepCity_StevensHouse_EventScript_273797:: @ 8273797 +Route119_WeatherInstitute_2F_EventScript_273797:: @ 8273797 +RustboroCity_DevonCorp_2F_EventScript_273797:: @ 8273797 + fadescreen 1 + special ChangeBoxPokemonNickname + waitstate + lock + faceplayer + return + +LittlerootTown_ProfessorBirchsLab_EventScript_2737A0:: @ 82737A0 +MossdeepCity_StevensHouse_EventScript_2737A0:: @ 82737A0 +Route119_WeatherInstitute_2F_EventScript_2737A0:: @ 82737A0 +RustboroCity_DevonCorp_2F_EventScript_2737A0:: @ 82737A0 + bufferboxname 0, 16438 + bufferspeciesname 1, VAR_0x4001 + checkflag FLAG_SYS_PC_LANETTE + call_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_2737BB + checkflag FLAG_SYS_PC_LANETTE + call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_2737E6 + return + +LittlerootTown_ProfessorBirchsLab_EventScript_2737BB:: @ 82737BB + specialvar VAR_RESULT, sub_813B21C + compare VAR_RESULT, 1 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_2737D4 + msgbox gText_PkmnTransferredSomeonesPC, 4 + return + +LittlerootTown_ProfessorBirchsLab_EventScript_2737D4:: @ 82737D4 + specialvar VAR_RESULT, get_unknown_box_id + bufferboxname 2, 32781 + msgbox gText_PkmnBoxSomeonesPCFull, 4 + return + +LittlerootTown_ProfessorBirchsLab_EventScript_2737E6:: @ 82737E6 + specialvar VAR_RESULT, sub_813B21C + compare VAR_RESULT, 1 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_2737FF + msgbox gText_PkmnTransferredLanettesPC, 4 + return + +LittlerootTown_ProfessorBirchsLab_EventScript_2737FF:: @ 82737FF + specialvar VAR_RESULT, get_unknown_box_id + bufferboxname 2, 32781 + msgbox gText_PkmnBoxLanettesPCFull, 4 + return + +LittlerootTown_ProfessorBirchsLab_EventScript_273811:: @ 8273811 +MossdeepCity_StevensHouse_EventScript_273811:: @ 8273811 +Route119_WeatherInstitute_2F_EventScript_273811:: @ 8273811 +RustboroCity_DevonCorp_2F_EventScript_273811:: @ 8273811 + msgbox gUnknown_0827331C, 4 + release + end + +EventScript_27381B:: @ 827381B + lockall + msgbox gUnknown_0827339F, 5 + compare VAR_RESULT, 0 + goto_eq EventScript_2738FD + setvar VAR_0x8004, 20 + call MauvilleCity_PokemonCenter_1F_EventScript_271E7C + lock + faceplayer + specialvar VAR_0x8008, sub_813B490 + compare VAR_0x8004, 1 + goto_eq EventScript_27386D + compare VAR_0x8004, 2 + goto_eq EventScript_2738B5 + compare VAR_RESULT, 0 + goto_eq EventScript_2738FD + compare VAR_RESULT, 1 + goto_eq EventScript_2738FF + end + +EventScript_27386D:: @ 827386D + checkflag FLAG_SYS_POKEDEX_GET + goto_if 0, EventScript_2738FF + checkflag FLAG_SYS_MYSTERY_EVENT_ENABLE + goto_eq EventScript_2738FF + applymovement VAR_0x8008, BattleFrontier_Mart_Movement_2725B0 + waitmovement 0 + playse SE_PIN + applymovement VAR_0x8008, BattleFrontier_ReceptionGate_Movement_272598 + waitmovement 0 + applymovement VAR_0x8008, BattleFrontier_ReceptionGate_Movement_27259A + waitmovement 0 + msgbox gUnknown_08273506, 4 + setflag FLAG_SYS_MYSTERY_EVENT_ENABLE + msgbox gUnknown_08273559, 4 + releaseall + end + +EventScript_2738B5:: @ 82738B5 + checkflag FLAG_SYS_POKEDEX_GET + goto_if 0, EventScript_2738FF + checkflag FLAG_SYS_MYSTERY_GIFT_ENABLE + goto_eq EventScript_2738FF + applymovement VAR_0x8008, BattleFrontier_Mart_Movement_2725B0 + waitmovement 0 + playse SE_PIN + applymovement VAR_0x8008, BattleFrontier_ReceptionGate_Movement_272598 + waitmovement 0 + applymovement VAR_0x8008, BattleFrontier_ReceptionGate_Movement_27259A + waitmovement 0 + msgbox gUnknown_08273446, 4 + setflag FLAG_SYS_MYSTERY_GIFT_ENABLE + msgbox gUnknown_082734CC, 4 + releaseall + end + +EventScript_2738FD:: @ 82738FD + releaseall + end + +EventScript_2738FF:: @ 82738FF + applymovement VAR_0x8008, BattleFrontier_Mart_Movement_2725B0 + waitmovement 0 + msgbox gUnknown_082733D8, 4 + releaseall + end + +Route114_EventScript_273913:: @ 8273913 + setmetatile 7, 3, 839, 1 + setmetatile 7, 4, 847, 0 + return + +Route114_EventScript_273926:: @ 8273926 + setmetatile 6, 45, 601, 1 + setmetatile 6, 46, 609, 0 + return + +Route115_EventScript_273939:: @ 8273939 + setmetatile 21, 5, 601, 1 + setmetatile 21, 6, 609, 0 + return + +Route115_EventScript_27394C:: @ 827394C + setmetatile 36, 9, 601, 1 + setmetatile 36, 10, 609, 0 + return + +Route116_EventScript_27395F:: @ 827395F + setmetatile 59, 12, 159, 1 + setmetatile 59, 13, 167, 0 + return + +Route116_EventScript_273972:: @ 8273972 + setmetatile 79, 5, 159, 1 + setmetatile 79, 6, 167, 0 + return + +Route118_EventScript_273985:: @ 8273985 + setmetatile 42, 5, 159, 1 + setmetatile 42, 6, 167, 0 + return + +Route118_EventScript_273998:: @ 8273998 + setmetatile 9, 5, 159, 1 + setmetatile 9, 6, 167, 0 + return + +Route105_EventScript_2739AB:: @ 82739AB + setmetatile 10, 28, 334, 0 + setmetatile 11, 28, 334, 0 + setmetatile 9, 29, 334, 0 + setmetatile 10, 29, 335, 0 + setmetatile 11, 29, 335, 0 + setmetatile 12, 29, 334, 0 + setmetatile 9, 30, 334, 0 + setmetatile 10, 30, 335, 0 + setmetatile 11, 30, 335, 0 + setmetatile 12, 30, 334, 0 + setmetatile 10, 31, 334, 0 + setmetatile 11, 31, 334, 0 + return + +Route105_EventScript_273A18:: @ 8273A18 + setmetatile 20, 53, 334, 0 + setmetatile 21, 53, 334, 0 + setmetatile 19, 54, 334, 0 + setmetatile 20, 54, 335, 0 + setmetatile 21, 54, 335, 0 + setmetatile 22, 54, 334, 0 + setmetatile 19, 55, 334, 0 + setmetatile 20, 55, 335, 0 + setmetatile 21, 55, 335, 0 + setmetatile 22, 55, 334, 0 + setmetatile 20, 56, 334, 0 + setmetatile 21, 56, 334, 0 + return + +Route125_EventScript_273A85:: @ 8273A85 + setmetatile 8, 16, 334, 0 + setmetatile 9, 16, 334, 0 + setmetatile 7, 17, 334, 0 + setmetatile 8, 17, 335, 0 + setmetatile 9, 17, 335, 0 + setmetatile 10, 17, 334, 0 + setmetatile 7, 18, 334, 0 + setmetatile 8, 18, 335, 0 + setmetatile 9, 18, 335, 0 + setmetatile 10, 18, 334, 0 + setmetatile 8, 19, 334, 0 + setmetatile 9, 19, 334, 0 + return + +Route125_EventScript_273AF2:: @ 8273AF2 + setmetatile 53, 18, 334, 0 + setmetatile 54, 18, 334, 0 + setmetatile 52, 19, 334, 0 + setmetatile 53, 19, 335, 0 + setmetatile 54, 19, 335, 0 + setmetatile 55, 19, 334, 0 + setmetatile 52, 20, 334, 0 + setmetatile 53, 20, 335, 0 + setmetatile 54, 20, 335, 0 + setmetatile 55, 20, 334, 0 + setmetatile 53, 21, 334, 0 + setmetatile 54, 21, 334, 0 + return + +Route127_EventScript_273B5F:: @ 8273B5F + setmetatile 57, 9, 334, 0 + setmetatile 58, 9, 334, 0 + setmetatile 56, 10, 334, 0 + setmetatile 57, 10, 335, 0 + setmetatile 58, 10, 335, 0 + setmetatile 59, 10, 334, 0 + setmetatile 56, 11, 334, 0 + setmetatile 57, 11, 335, 0 + setmetatile 58, 11, 335, 0 + setmetatile 59, 11, 334, 0 + setmetatile 57, 12, 334, 0 + setmetatile 58, 12, 334, 0 + return + +Route127_EventScript_273BCC:: @ 8273BCC + setmetatile 61, 30, 334, 0 + setmetatile 62, 30, 334, 0 + setmetatile 60, 31, 334, 0 + setmetatile 61, 31, 335, 0 + setmetatile 62, 31, 335, 0 + setmetatile 63, 31, 334, 0 + setmetatile 60, 32, 334, 0 + setmetatile 61, 32, 335, 0 + setmetatile 62, 32, 335, 0 + setmetatile 63, 32, 334, 0 + setmetatile 61, 33, 334, 0 + setmetatile 62, 33, 334, 0 + return + +Route129_EventScript_273C39:: @ 8273C39 + setmetatile 16, 14, 334, 0 + setmetatile 17, 14, 334, 0 + setmetatile 15, 15, 334, 0 + setmetatile 16, 15, 335, 0 + setmetatile 17, 15, 335, 0 + setmetatile 18, 15, 334, 0 + setmetatile 15, 16, 334, 0 + setmetatile 16, 16, 335, 0 + setmetatile 17, 16, 335, 0 + setmetatile 18, 16, 334, 0 + setmetatile 16, 17, 334, 0 + setmetatile 17, 17, 334, 0 + return + +Route129_EventScript_273CA6:: @ 8273CA6 + setmetatile 42, 19, 334, 0 + setmetatile 43, 19, 334, 0 + setmetatile 41, 20, 334, 0 + setmetatile 42, 20, 335, 0 + setmetatile 43, 20, 335, 0 + setmetatile 44, 20, 334, 0 + setmetatile 41, 21, 334, 0 + setmetatile 42, 21, 335, 0 + setmetatile 43, 21, 335, 0 + setmetatile 44, 21, 334, 0 + setmetatile 42, 22, 334, 0 + setmetatile 43, 22, 334, 0 + return + +Route105_EventScript_273D13:: @ 8273D13 +Route114_EventScript_273D13:: @ 8273D13 +Route115_EventScript_273D13:: @ 8273D13 +Route116_EventScript_273D13:: @ 8273D13 +Route118_EventScript_273D13:: @ 8273D13 +Route125_EventScript_273D13:: @ 8273D13 +Route127_EventScript_273D13:: @ 8273D13 +Route129_EventScript_273D13:: @ 8273D13 + setflag FLAG_SPECIAL_FLAG_0x4000 + return + +Route105_EventScript_273D17:: @ 8273D17 +Route125_EventScript_273D17:: @ 8273D17 +Route127_EventScript_273D17:: @ 8273D17 +Route129_EventScript_273D17:: @ 8273D17 + setweather 13 + return + +Route114_EventScript_273D1B:: @ 8273D1B +Route115_EventScript_273D1B:: @ 8273D1B +Route116_EventScript_273D1B:: @ 8273D1B +Route118_EventScript_273D1B:: @ 8273D1B + setweather 12 + return gUnknown_08273D1F:: @ 8273D1F - .incbin "baserom.gba", 0x273d1f, 0x5c7 -gUnknown_082742E6:: @ 82742E6 - .incbin "baserom.gba", 0x2742e6, 0x13 - -BerryTreeScript:: @ 82742F9 - .incbin "baserom.gba", 0x2742f9, 0x189 - -gUnknown_08274482:: @ 8274482 - .incbin "baserom.gba", 0x274482, 0x3e - -gUnknown_082744C0:: @ 82744C0 - .incbin "baserom.gba", 0x2744c0, 0x4a6 - -gUnknown_08274966:: @ 8274966 - .incbin "baserom.gba", 0x274966, 0x1be - -gUnknown_08274B24:: @ 8274B24 - .incbin "baserom.gba", 0x274b24, 0x1ef - -gUnknown_08274D13:: @ 8274D13 - .incbin "baserom.gba", 0x274d13, 0x162 - -gUnknown_08274E75:: @ 8274E75 - .incbin "baserom.gba", 0x274e75, 0x189 - -gUnknown_08274FFE:: @ 8274FFE - .incbin "baserom.gba", 0x274ffe, 0x1e3 - -gUnknown_082751E1:: @ 82751E1 - .incbin "baserom.gba", 0x2751e1, 0x186 - -gUnknown_08275367:: @ 8275367 - .incbin "baserom.gba", 0x275367, 0x18f - -gUnknown_082754F6:: @ 82754F6 - .incbin "baserom.gba", 0x2754f6, 0x1d1 - -gUnknown_082756C7:: @ 82756C7 - .incbin "baserom.gba", 0x2756c7, 0x205 - -gUnknown_082758CC:: @ 82758CC - .incbin "baserom.gba", 0x2758cc, 0x125 - -gUnknown_082759F1:: @ 82759F1 - .incbin "baserom.gba", 0x2759f1, 0x95 - -gUnknown_08275A86:: @ 8275A86 - .incbin "baserom.gba", 0x275a86, 0x59 - -gUnknown_08275ADF:: @ 8275ADF - .incbin "baserom.gba", 0x275adf, 0x59 - -gUnknown_08275B38:: @ 8275B38 - .incbin "baserom.gba", 0x275b38, 0x7f - -gUnknown_08275BB7:: @ 8275BB7 - .incbin "baserom.gba", 0x275bb7, 0x155 - -gUnknown_08275D0C:: @ 8275D0C - .incbin "baserom.gba", 0x275d0c, 0x13 - -gUnknown_08275D1F:: @ 8275D1F - .incbin "baserom.gba", 0x275d1f, 0xf - -gUnknown_08275D2E:: @ 8275D2E - .incbin "baserom.gba", 0x275d2e, 0x974 - -gUnknown_082766A2:: @ 82766A2 - .incbin "baserom.gba", 0x2766a2, 0x4 - -gUnknown_082766A6:: @ 82766A6 - .incbin "baserom.gba", 0x2766a6, 0xcbf - -gUnknown_08277365:: @ 8277365 - .incbin "baserom.gba", 0x277365, 0xf - -gUnknown_08277374:: @ 8277374 - .incbin "baserom.gba", 0x277374, 0xa - -gUnknown_0827737E:: @ 827737E - .incbin "baserom.gba", 0x27737e, 0xa - -gUnknown_08277388:: @ 8277388 - .incbin "baserom.gba", 0x277388, 0x1b - -gUnknown_082773A3:: @ 82773A3 - .incbin "baserom.gba", 0x2773a3, 0x1b - -gUnknown_082773BE:: @ 82773BE - .incbin "baserom.gba", 0x2773be, 0x1b - -gUnknown_082773D9:: @ 82773D9 - .incbin "baserom.gba", 0x2773d9, 0x1c - -gUnknown_082773F5:: @ 82773F5 - .incbin "baserom.gba", 0x2773f5, 0xa - -gUnknown_082773FF:: @ 82773FF - .incbin "baserom.gba", 0x2773ff, 0x1e - -gUnknown_0827741D:: @ 827741D - .incbin "baserom.gba", 0x27741d, 0x15 - -gUnknown_08277432:: @ 8277432 - .incbin "baserom.gba", 0x277432, 0x15 - -gUnknown_08277447:: @ 8277447 - .incbin "baserom.gba", 0x277447, 0x15 - -gUnknown_0827745C:: @ 827745C - .incbin "baserom.gba", 0x27745c, 0x22 - -gUnknown_0827747E:: @ 827747E - .incbin "baserom.gba", 0x27747e, 0xf - -gUnknown_0827748D:: @ 827748D - .incbin "baserom.gba", 0x27748d, 0xf - -gUnknown_0827749C:: @ 827749C - .incbin "baserom.gba", 0x27749c, 0x53 - -gUnknown_082774EF:: @ 82774EF - .incbin "baserom.gba", 0x2774ef, 0x1a - -gUnknown_08277509:: @ 8277509 - .incbin "baserom.gba", 0x277509, 0xa - -gUnknown_08277513:: @ 8277513 - .incbin "baserom.gba", 0x277513, 0x677 - -gUnknown_08277B8A:: @ 8277B8A - .incbin "baserom.gba", 0x277b8a, 0x507 - -gUnknown_08278091:: @ 8278091 - .incbin "baserom.gba", 0x278091, 0x22 - -gUnknown_082780B3:: @ 82780B3 - .incbin "baserom.gba", 0x2780b3, 0x3f - -gUnknown_082780F2:: @ 82780F2 - .incbin "baserom.gba", 0x2780f2, 0x3f - -gUnknown_08278131:: @ 8278131 - .incbin "baserom.gba", 0x278131, 0x4a51 - -@ 827CB82 - .include "data/text/contest_text.inc" - -gUnknown_0827D507:: @ 827D507 - .incbin "baserom.gba", 0x27d507, 0x2a - -gUnknown_0827D531:: @ 827D531 - .incbin "baserom.gba", 0x27d531, 0x29 - -gUnknown_0827D55A:: @ 827D55A - .incbin "baserom.gba", 0x27d55a, 0x15 - -gUnknown_0827D56F:: @ 827D56F - .incbin "baserom.gba", 0x27d56f, 0x28 - -gUnknown_0827D597:: @ 827D597 - .incbin "baserom.gba", 0x27d597, 0xd67 - -gUnknown_0827E2FE:: @ 827E2FE - .incbin "baserom.gba", 0x27e2fe, 0x30 - -gUnknown_0827E32E:: @ 827E32E - .incbin "baserom.gba", 0x27e32e, 0x2d - -gUnknown_0827E35B:: @ 827E35B - .incbin "baserom.gba", 0x27e35b, 0x32 - -gUnknown_0827E38D:: @ 827E38D - .incbin "baserom.gba", 0x27e38d, 0x1fd - -gUnknown_0827E58A:: @ 827E58A - .incbin "baserom.gba", 0x27e58a, 0x159 - -gUnknown_0827E6E3:: @ 827E6E3 - .incbin "baserom.gba", 0x27e6e3, 0x34 - -gUnknown_0827E717:: @ 827E717 - .incbin "baserom.gba", 0x27e717, 0x25 - -gUnknown_0827E73C:: @ 827E73C - .incbin "baserom.gba", 0x27e73c, 0x2e - -gUnknown_0827E76A:: @ 827E76A - .incbin "baserom.gba", 0x27e76a, 0x29 - -gUnknown_0827E793:: @ 827E793 - .incbin "baserom.gba", 0x27e793, 0x57 - -gUnknown_0827E7EA:: @ 827E7EA - .incbin "baserom.gba", 0x27e7ea, 0x2d - -gUnknown_0827E817:: @ 827E817 - .incbin "baserom.gba", 0x27e817, 0x20 - -gUnknown_0827E837:: @ 827E837 - .incbin "baserom.gba", 0x27e837, 0x8 - -gUnknown_0827E83F:: @ 827E83F - .incbin "baserom.gba", 0x27e83f, 0x8 - -gUnknown_0827E847:: @ 827E847 - .incbin "baserom.gba", 0x27e847, 0x9 - -gUnknown_0827E850:: @ 827E850 - .incbin "baserom.gba", 0x27e850, 0xa - -gUnknown_0827E85A:: @ 827E85A - .incbin "baserom.gba", 0x27e85a, 0x80 +gUnknown_08273D1F:: @ 8273D1F + lockall + compare VAR_0x4037, 9 + goto_if 4, Route105_EventScript_273D51 + goto Route105_EventScript_273D5F + end + +Route105_EventScript_273D31:: @ 8273D31 + closemessage + fadescreenswapbuffers 1 + setweather 2 + doweather + call Route105_EventScript_273D6D + special DrawWholeMapView + setvar VAR_0x4037, 0 + setvar VAR_0x4039, 0 + clearflag FLAG_SPECIAL_FLAG_0x4000 + fadescreenswapbuffers 0 + releaseall + end + +Route105_EventScript_273D51:: @ 8273D51 + msgbox gUnknown_08273656, 4 + goto Route105_EventScript_273D31 + end + +Route105_EventScript_273D5F:: @ 8273D5F + msgbox gUnknown_08273684, 4 + goto Route105_EventScript_273D31 + end + +Route105_EventScript_273D6D:: @ 8273D6D + switch VAR_0x4037 + case 1, Route105_EventScript_273E23 + case 2, Route105_EventScript_273E36 + case 3, Route105_EventScript_273E49 + case 4, Route105_EventScript_273E5C + case 5, Route105_EventScript_273E6F + case 6, Route105_EventScript_273E82 + case 7, Route105_EventScript_273E95 + case 8, Route105_EventScript_273EA8 + case 9, Route105_EventScript_273EBB + case 10, Route105_EventScript_273F28 + case 11, Route105_EventScript_273F95 + case 12, Route105_EventScript_274002 + case 13, Route105_EventScript_27406F + case 14, Route105_EventScript_2740DC + case 15, Route105_EventScript_274149 + case 16, Route105_EventScript_2741B6 + return + +Route105_EventScript_273E23:: @ 8273E23 + setmetatile 7, 3, 617, 1 + setmetatile 7, 4, 617, 1 + return + +Route105_EventScript_273E36:: @ 8273E36 + setmetatile 6, 45, 613, 1 + setmetatile 6, 46, 613, 1 + return + +Route105_EventScript_273E49:: @ 8273E49 + setmetatile 21, 5, 613, 1 + setmetatile 21, 6, 613, 1 + return + +Route105_EventScript_273E5C:: @ 8273E5C + setmetatile 36, 9, 613, 1 + setmetatile 36, 10, 613, 1 + return + +Route105_EventScript_273E6F:: @ 8273E6F + setmetatile 59, 12, 124, 1 + setmetatile 59, 13, 124, 1 + return + +Route105_EventScript_273E82:: @ 8273E82 + setmetatile 79, 5, 124, 1 + setmetatile 79, 6, 124, 1 + return + +Route105_EventScript_273E95:: @ 8273E95 + setmetatile 42, 5, 124, 1 + setmetatile 42, 6, 121, 1 + return + +Route105_EventScript_273EA8:: @ 8273EA8 + setmetatile 9, 5, 124, 1 + setmetatile 9, 6, 121, 1 + return + +Route105_EventScript_273EBB:: @ 8273EBB + setmetatile 10, 28, 368, 0 + setmetatile 11, 28, 368, 0 + setmetatile 9, 29, 368, 0 + setmetatile 10, 29, 368, 0 + setmetatile 11, 29, 368, 0 + setmetatile 12, 29, 368, 0 + setmetatile 9, 30, 368, 0 + setmetatile 10, 30, 368, 0 + setmetatile 11, 30, 368, 0 + setmetatile 12, 30, 368, 0 + setmetatile 10, 31, 368, 0 + setmetatile 11, 31, 368, 0 + return + +Route105_EventScript_273F28:: @ 8273F28 + setmetatile 20, 53, 368, 0 + setmetatile 21, 53, 368, 0 + setmetatile 19, 54, 368, 0 + setmetatile 20, 54, 368, 0 + setmetatile 21, 54, 368, 0 + setmetatile 22, 54, 368, 0 + setmetatile 19, 55, 368, 0 + setmetatile 20, 55, 368, 0 + setmetatile 21, 55, 368, 0 + setmetatile 22, 55, 368, 0 + setmetatile 20, 56, 368, 0 + setmetatile 21, 56, 368, 0 + return + +Route105_EventScript_273F95:: @ 8273F95 + setmetatile 8, 16, 368, 0 + setmetatile 9, 16, 368, 0 + setmetatile 7, 17, 368, 0 + setmetatile 8, 17, 368, 0 + setmetatile 9, 17, 368, 0 + setmetatile 10, 17, 368, 0 + setmetatile 7, 18, 368, 0 + setmetatile 8, 18, 368, 0 + setmetatile 9, 18, 368, 0 + setmetatile 10, 18, 368, 0 + setmetatile 8, 19, 368, 0 + setmetatile 9, 19, 368, 0 + return + +Route105_EventScript_274002:: @ 8274002 + setmetatile 53, 18, 368, 0 + setmetatile 54, 18, 368, 0 + setmetatile 52, 19, 368, 0 + setmetatile 53, 19, 368, 0 + setmetatile 54, 19, 368, 0 + setmetatile 55, 19, 368, 0 + setmetatile 52, 20, 368, 0 + setmetatile 53, 20, 368, 0 + setmetatile 54, 20, 368, 0 + setmetatile 55, 20, 368, 0 + setmetatile 53, 21, 368, 0 + setmetatile 54, 21, 368, 0 + return + +Route105_EventScript_27406F:: @ 827406F + setmetatile 57, 9, 368, 0 + setmetatile 58, 9, 368, 0 + setmetatile 56, 10, 368, 0 + setmetatile 57, 10, 368, 0 + setmetatile 58, 10, 368, 0 + setmetatile 59, 10, 368, 0 + setmetatile 56, 11, 368, 0 + setmetatile 57, 11, 368, 0 + setmetatile 58, 11, 368, 0 + setmetatile 59, 11, 368, 0 + setmetatile 57, 12, 368, 0 + setmetatile 58, 12, 368, 0 + return + +Route105_EventScript_2740DC:: @ 82740DC + setmetatile 61, 30, 368, 0 + setmetatile 62, 30, 368, 0 + setmetatile 60, 31, 368, 0 + setmetatile 61, 31, 368, 0 + setmetatile 62, 31, 368, 0 + setmetatile 63, 31, 368, 0 + setmetatile 60, 32, 368, 0 + setmetatile 61, 32, 368, 0 + setmetatile 62, 32, 368, 0 + setmetatile 63, 32, 368, 0 + setmetatile 61, 33, 368, 0 + setmetatile 62, 33, 368, 0 + return + +Route105_EventScript_274149:: @ 8274149 + setmetatile 16, 14, 368, 0 + setmetatile 17, 14, 368, 0 + setmetatile 15, 15, 368, 0 + setmetatile 16, 15, 368, 0 + setmetatile 17, 15, 368, 0 + setmetatile 18, 15, 368, 0 + setmetatile 15, 16, 368, 0 + setmetatile 16, 16, 368, 0 + setmetatile 17, 16, 368, 0 + setmetatile 18, 16, 368, 0 + setmetatile 16, 17, 368, 0 + setmetatile 17, 17, 368, 0 + return + +Route105_EventScript_2741B6:: @ 82741B6 + setmetatile 42, 19, 368, 0 + setmetatile 43, 19, 368, 0 + setmetatile 41, 20, 368, 0 + setmetatile 42, 20, 368, 0 + setmetatile 43, 20, 368, 0 + setmetatile 44, 20, 368, 0 + setmetatile 41, 21, 368, 0 + setmetatile 42, 21, 368, 0 + setmetatile 43, 21, 368, 0 + setmetatile 44, 21, 368, 0 + setmetatile 42, 22, 368, 0 + setmetatile 43, 22, 368, 0 + return + +Underwater3_EventScript_274223:: @ 8274223 +Underwater5_EventScript_274223:: @ 8274223 +Underwater6_EventScript_274223:: @ 8274223 +Underwater7_EventScript_274223:: @ 8274223 + switch VAR_0x4037 + case 9, Underwater3_EventScript_274281 + case 10, Underwater3_EventScript_27428A + case 11, Underwater3_EventScript_274293 + case 12, Underwater3_EventScript_27429C + case 13, Underwater3_EventScript_2742A5 + case 14, Underwater3_EventScript_2742AE + case 15, Underwater3_EventScript_2742B7 + case 16, Underwater3_EventScript_2742C0 + return + +Underwater3_EventScript_274281:: @ 8274281 + setescapewarp ROUTE_105, 255, 11, 29 + return + +Underwater3_EventScript_27428A:: @ 827428A + setescapewarp ROUTE_105, 255, 21, 54 + return + +Underwater3_EventScript_274293:: @ 8274293 + setescapewarp ROUTE_125, 255, 9, 17 + return + +Underwater3_EventScript_27429C:: @ 827429C + setescapewarp ROUTE_125, 255, 54, 19 + return + +Underwater3_EventScript_2742A5:: @ 82742A5 + setescapewarp ROUTE_127, 255, 58, 10 + return + +Underwater3_EventScript_2742AE:: @ 82742AE + setescapewarp ROUTE_127, 255, 62, 31 + return + +Underwater3_EventScript_2742B7:: @ 82742B7 + setescapewarp ROUTE_129, 255, 17, 15 + return + +Underwater3_EventScript_2742C0:: @ 82742C0 + setescapewarp ROUTE_129, 255, 43, 20 + return + +Std_8:: @ 82742C9 + buffertrainerclassname 0, VAR_0x8000 + buffertrainername 1, VAR_0x8000 + closemessage + delay 30 + playfanfare MUS_ME_TORE_EYE + msgbox gUnknown_08272E0F, 4 + waitfanfare + closemessage + delay 30 + return + +EventScript_TryGetTrainerScript:: @ 82742E6 + special ShouldTryGetTrainerScript + compare VAR_RESULT, 1 + goto_eq EventScript_GotoTrainerScript + releaseall + end + +EventScript_GotoTrainerScript:: @ 82742F6 + gotobeatenscript + releaseall + end + + .include "data/scripts/berry_tree.inc" + +Text_274746: @ 8274746 + .string "If some vines drop down, this tree can\n" + .string "be climbed.$" + +Text_274779: @ 8274779 + .string "If some vines drop down, this tree can\n" + .string "be climbed.\p" + .string "Use the SECRET POWER?$" + +Text_2747C2: @ 82747C2 + .string "A thick vine dropped down!$" + +Text_2747DD: @ 82747DD + .string "If this clump of grass can be moved,\n" + .string "it might be possible to go inside.$" + +Text_274825: @ 8274825 + .string "If this clump of grass can be moved,\n" + .string "it might be possible to go inside.\p" + .string "Use the SECRET POWER?$" + +Text_274883: @ 8274883 + .string "Discovered a small entrance!$" + +SecretBase_RedCave1_Text_2748A0: @ 82748A0 + .string "Have you made a SECRET BASE already?\p" + .string "I went here, there, everywhere before\n" + .string "choosing this place.\p" + .string "Since you’re already here, how would\n" + .string "you like to battle?$" + +SecretBase_RedCave1_Text_274939: @ 8274939 + .string "Okay!\n" + .string "Here we come!$" + +SecretBase_RedCave1_Text_27494D: @ 827494D + .string "Hunh?\n" + .string "Oh, you can’t now…$" + +SecretBase_RedCave1_Text_274966:: @ 8274966 + .string "Waaargh! You’re too strong!\n" + .string "About me losing… Please keep it secret!$" + +SecretBase_RedCave1_Text_2749AA: @ 82749AA + .string "What do you think of my SECRET BASE?\n" + .string "Come visit me again tomorrow.$" + +SecretBase_RedCave1_Text_2749ED: @ 82749ED + .string "Have you made a SECRET BASE already?\p" + .string "I went here, there, everywhere before\n" + .string "choosing this place.\p" + .string "Feel free to hang out!$" + +SecretBase_RedCave1_Text_274A64: @ 8274A64 + .string "There’re a lot of places where\n" + .string "you can make a SECRET BASE.\p" + .string "But I like this spot best.\n" + .string "Don’t you think it’s nice?\p" + .string "Oh, would you like to have a battle?$" + +SecretBase_RedCave1_Text_274AFA: @ 8274AFA + .string "Okay, here goes!$" + +SecretBase_RedCave1_Text_274B0B: @ 8274B0B + .string "Oh…\n" + .string "You can’t now, okay.$" + +SecretBase_RedCave1_Text_274B24:: @ 8274B24 + .string "Hmmm… It’s our loss…\n" + .string "But don’t tell anyone!\l" + .string "It’s a confidential secret!$" + +SecretBase_RedCave1_Text_274B6C: @ 8274B6C + .string "If you’re in this area again,\n" + .string "I hope you’ll visit me.$" + +SecretBase_RedCave1_Text_274BA2: @ 8274BA2 + .string "There’re a lot of places where you can\n" + .string "make a SECRET BASE.\p" + .string "But I like this spot best.\n" + .string "Don’t you think it’s nice?$" + +SecretBase_RedCave1_Text_274C13: @ 8274C13 + .string "This is a popular spot.\n" + .string "It’s always taken.\p" + .string "Oh! Were you thinking about\n" + .string "taking this spot, too?\p" + .string "I’ll tell you what, you can have this\n" + .string "spot if you can beat me.$" + +SecretBase_RedCave1_Text_274CB0: @ 8274CB0 + .string "Okay!\n" + .string "I’m going to defend my SECRET BASE!$" + +SecretBase_RedCave1_Text_274CDA: @ 8274CDA + .string "Hunh? Is that right?\n" + .string "You’re not interested in this spot?$" + +SecretBase_RedCave1_Text_274D13:: @ 8274D13 + .string "I can’t keep going!\n" + .string "I surrender!$" + +SecretBase_RedCave1_Text_274D34: @ 8274D34 + .string "Okay, when I move one day,\n" + .string "this place will be yours!$" + +SecretBase_RedCave1_Text_274D69: @ 8274D69 + .string "This is a popular spot.\n" + .string "It’s always taken.\p" + .string "I waited a long time for it to open.\n" + .string "I finally got to use it!$" + +SecretBase_RedCave1_Text_274DD2: @ 8274DD2 + .string "Welcome to my POKéMON LAB.\p" + .string "I carry out research on battling in\n" + .string "secrecy.\p" + .string "Would you like to see how strong I am?$" + +SecretBase_RedCave1_Text_274E41: @ 8274E41 + .string "I’m going to go all out!$" + +SecretBase_RedCave1_Text_274E5A: @ 8274E5A + .string "Oh.\n" + .string "Some other time, then!$" + +SecretBase_RedCave1_Text_274E75:: @ 8274E75 + .string "Hmm… I’ve still got lots to learn.\n" + .string "I have to study some more.$" + +SecretBase_RedCave1_Text_274EB3: @ 8274EB3 + .string "Thanks for battling with me.\n" + .string "Please come back again tomorrow.$" + +SecretBase_RedCave1_Text_274EF1: @ 8274EF1 + .string "Welcome to my POKéMON LAB.\p" + .string "I carry out research on battling in\n" + .string "secrecy.$" + +SecretBase_RedCave1_Text_274F39: @ 8274F39 + .string "A big mansion is nice, but I like this\n" + .string "sort of place more.\p" + .string "I like it because all kinds of people\n" + .string "come visit me.\p" + .string "So, how would you like a battle?$" + +SecretBase_RedCave1_Text_274FCA: @ 8274FCA + .string "That’s the way!$" + +SecretBase_RedCave1_Text_274FDA: @ 8274FDA + .string "When you’re ready, give me a shout!$" + +SecretBase_RedCave1_Text_274FFE:: @ 8274FFE + .string "Aww! Done in!\n" + .string "But it’s still fun to battle!$" + +SecretBase_RedCave1_Text_27502A: @ 827502A + .string "Well, anyway, I should go buy some\n" + .string "decorations and furniture.\p" + .string "I want my SECRET BASE to be a place\n" + .string "other people can enjoy.$" + +SecretBase_RedCave1_Text_2750A4: @ 82750A4 + .string "A big mansion is nice, but I like this\n" + .string "sort of place more.\p" + .string "I like it because all kinds of people\n" + .string "come visit me.$" + +SecretBase_RedCave1_Text_275114: @ 8275114 + .string "I simply adore shopping for decorations\n" + .string "and furniture.\p" + .string "I also love raising POKéMON just\n" + .string "as much.\p" + .string "If you would be so kind, will you battle\n" + .string "with my POKéMON?$" + +SecretBase_RedCave1_Text_2751AF: @ 82751AF + .string "Thank you.\n" + .string "Shall we begin?$" + +SecretBase_RedCave1_Text_2751CA: @ 82751CA + .string "Oh.\n" + .string "How disappointing…$" + +SecretBase_RedCave1_Text_2751E1:: @ 82751E1 + .string "I concede…$" + +SecretBase_RedCave1_Text_2751EC: @ 82751EC + .string "That was all in good fun!\n" + .string "I should go enjoy shopping now.$" + +SecretBase_RedCave1_Text_275226: @ 8275226 + .string "I simply adore shopping for decorations\n" + .string "and furniture.\p" + .string "I also love raising POKéMON just\n" + .string "as much.$" + +SecretBase_RedCave1_Text_275287: @ 8275287 + .string "Some people make their SECRET BASES in\n" + .string "hard-to-find places.\l" + .string "Do they want to just lie low?\p" + .string "But since you found me, how about we\n" + .string "have a battle?$" + +SecretBase_RedCave1_Text_275315: @ 8275315 + .string "I’m not going down easily!$" + +SecretBase_RedCave1_Text_275330: @ 8275330 + .string "Oh… Are you maybe tired from searching\n" + .string "for this place?$" + +SecretBase_RedCave1_Text_275367:: @ 8275367 + .string "I went down…$" + +SecretBase_RedCave1_Text_275374: @ 8275374 + .string "Where’s your SECRET BASE?\n" + .string "I should go visit you there.$" + +SecretBase_RedCave1_Text_2753AB: @ 82753AB + .string "Some people make their SECRET BASES in\n" + .string "hard-to-find places.\l" + .string "Do they want to just lie low?$" + +SecretBase_RedCave1_Text_275405: @ 8275405 + .string "People have told me that you can get\n" + .string "decorations in several ways.\p" + .string "We should have a race to see who can\n" + .string "get nicer decorations and furniture!\p" + .string "In the meantime, want to battle?$" + +SecretBase_RedCave1_Text_2754B2: @ 82754B2 + .string "This is my SECRET BASE.\n" + .string "I can’t lose!$" + +SecretBase_RedCave1_Text_2754D8: @ 82754D8 + .string "I’ll battle with you anytime.$" + +SecretBase_RedCave1_Text_2754F6:: @ 82754F6 + .string "Huh?\n" + .string "Did I just lose?$" + +SecretBase_RedCave1_Text_27550C: @ 827550C + .string "I won’t lose at collecting decorations.\n" + .string "Come visit again!$" + +SecretBase_RedCave1_Text_275546: @ 8275546 + .string "People have told me that you can get\n" + .string "decorations in several ways.\p" + .string "We should have a race to see who can\n" + .string "get nicer decorations and furniture!$" + +SecretBase_RedCave1_Text_2755D2: @ 82755D2 + .string "I found a spot I liked, and I did it up\n" + .string "with my favorite decorations.\p" + .string "I raise my favorite POKéMON and grow\n" + .string "stronger with it.\p" + .string "That’s what I do.\n" + .string "Want to battle with me?$" + +SecretBase_RedCave1_Text_275679: @ 8275679 + .string "Show me what you’re made of!$" + +SecretBase_RedCave1_Text_275696: @ 8275696 + .string "I guess there are times when you’re not\n" + .string "into it.$" + +SecretBase_RedCave1_Text_2756C7:: @ 82756C7 + .string "I know exactly what you’re made of now.$" + +SecretBase_RedCave1_Text_2756EF: @ 82756EF + .string "We can both become stronger.\n" + .string "Let’s keep at it!$" + +SecretBase_RedCave1_Text_27571E: @ 827571E + .string "I found a spot I liked, and I did it up\n" + .string "with my favorite decorations.\p" + .string "I raise my favorite POKéMON and grow\n" + .string "stronger with it.\p" + .string "Every day is a great day.$" + +SecretBase_RedCave1_Text_2757B5: @ 82757B5 + .string "You can learn a lot about the taste\n" + .string "and sense of people by the kinds of\l" + .string "decorations they have, and how they\l" + .string "display them.\p" + .string "What do you think of my taste?\n" + .string "Are you speechless?\p" + .string "Want to see my taste in battling?$" + +SecretBase_RedCave1_Text_275884: @ 8275884 + .string "There’s no holding back!$" + +SecretBase_RedCave1_Text_27589D: @ 827589D + .string "I’ll be happy to demonstrate my style\n" + .string "anytime.$" + +SecretBase_RedCave1_Text_2758CC:: @ 82758CC + .string "You’re supremely talented!\n" + .string "Your power seems to be limitless…$" + +SecretBase_RedCave1_Text_275909: @ 8275909 + .string "What did you think of my style?\n" + .string "I’ll keep on polishing it!$" + +SecretBase_RedCave1_Text_275944: @ 8275944 + .string "You can learn a lot about the taste\n" + .string "and sense of people by the kinds of\l" + .string "decorations they have, and how they\l" + .string "display them.\p" + .string "What do you think of my taste?\n" + .string "Are you speechless?$" + +EventScript_2759F1:: @ 82759F1 + special sub_80E8C98 + special sub_80E8BC8 + compare VAR_RESULT, 1 + goto_eq EventScript_275BE8 + checkpartymove MOVE_SECRET_POWER + setfieldeffectargument 0, VAR_RESULT + buffermovename 1, MOVE_SECRET_POWER + compare VAR_0x8007, 1 + goto_eq EventScript_275A50 + compare VAR_0x8007, 2 + goto_eq EventScript_275A50 + compare VAR_0x8007, 3 + goto_eq EventScript_275A50 + compare VAR_0x8007, 4 + goto_eq EventScript_275A50 + compare VAR_0x8007, 5 + goto_eq EventScript_275AA9 + compare VAR_0x8007, 6 + goto_eq EventScript_275B02 + end + +EventScript_275A50:: @ 8275A50 + lockall + compare VAR_RESULT, 6 + goto_eq EventScript_275A91 + bufferpartymonnick 0, VAR_RESULT + msgbox gText_23B704, 5 + compare VAR_RESULT, 0 + goto_eq EventScript_275CDE + msgbox Route103_Text_290771, 4 + closemessage + dofieldeffect 11 + waitstate + goto EventScript_275A9B + end + +EventScript_275A86:: @ 8275A86 + lockall + dofieldeffect 11 + waitstate + goto EventScript_275A9B + end + +EventScript_275A91:: @ 8275A91 + msgbox gText_23B6E0, 4 + releaseall + end + +EventScript_275A9B:: @ 8275A9B + msgbox gText_23B73E, 4 + goto EventScript_275B5B + end + +EventScript_275AA9:: @ 8275AA9 + lockall + compare VAR_RESULT, 6 + goto_eq EventScript_275AEA + bufferpartymonnick 0, VAR_RESULT + msgbox Text_274779, 5 + compare VAR_RESULT, 0 + goto_eq EventScript_275CDE + msgbox Route103_Text_290771, 4 + closemessage + dofieldeffect 26 + waitstate + goto EventScript_275AF4 + end + +EventScript_275ADF:: @ 8275ADF + lockall + dofieldeffect 26 + waitstate + goto EventScript_275AF4 + end + +EventScript_275AEA:: @ 8275AEA + msgbox Text_274746, 4 + releaseall + end + +EventScript_275AF4:: @ 8275AF4 + msgbox Text_2747C2, 4 + goto EventScript_275B5B + end + +EventScript_275B02:: @ 8275B02 + lockall + compare VAR_RESULT, 6 + goto_eq EventScript_275B43 + bufferpartymonnick 0, VAR_RESULT + msgbox Text_274825, 5 + compare VAR_RESULT, 0 + goto_eq EventScript_275CDE + msgbox Route103_Text_290771, 4 + closemessage + dofieldeffect 27 + waitstate + goto EventScript_275B4D + end + +EventScript_275B38:: @ 8275B38 + lockall + dofieldeffect 27 + waitstate + goto EventScript_275B4D + end + +EventScript_275B43:: @ 8275B43 + msgbox Text_2747DD, 4 + releaseall + end + +EventScript_275B4D:: @ 8275B4D + msgbox Text_274883, 4 + goto EventScript_275B5B + end + +EventScript_275B5B:: @ 8275B5B + closemessage + playse SE_KAIDAN + setvar VAR_0x4097, 0 + setflag FLAG_0x0AD + special sub_80E8E18 + special sub_80E9068 + setvar VAR_0x8004, 0 + setvar VAR_0x8005, 0 + special sub_80E933C + setvar VAR_0x4089, 1 + waitstate + end + +SecretBase_RedCave1_EventScript_275B81:: @ 8275B81 + applymovement 255, SecretBase_RedCave1_Movement_275BB4 + waitmovement 0 + setvar VAR_0x4097, 1 + msgbox SecretBase_RedCave1_Text_23B759, 5 + compare VAR_RESULT, 1 + goto_eq SecretBase_RedCave1_EventScript_275BAB + closemessage + playse SE_KAIDAN + special sub_80E9A90 + end + +SecretBase_RedCave1_EventScript_275BAB:: @ 8275BAB + closemessage + setflag FLAG_0x060 + special sub_80E91F8 + waitstate + end + +SecretBase_RedCave1_Movement_275BB4: @ 8275BB4 + step_up + step_up + step_end + +EventScript_275BB7:: @ 8275BB7 + lockall + setvar VAR_0x4097, 1 + playse SE_KAIDAN + special sub_80E9744 + compare VAR_RESULT, 0 + goto_eq EventScript_275BDB + clearflag FLAG_0x0AD + special sub_80E9068 + setvar VAR_0x4089, 0 + waitstate + end + +EventScript_275BDB:: @ 8275BDB + setflag FLAG_0x0AD + special sub_80E9068 + setvar VAR_0x4089, 0 + waitstate + end + +EventScript_275BE8:: @ 8275BE8 + checkpartymove MOVE_SECRET_POWER + compare VAR_RESULT, 6 + goto_eq EventScript_275C9A + setfieldeffectargument 0, VAR_RESULT + setorcopyvar VAR_0x8004, VAR_RESULT + lockall + special GetSecretBaseNearbyMapName + msgbox Text_276A3D, 5 + compare VAR_RESULT, 0 + goto_eq EventScript_275CDE + msgbox Text_2766AA, 5 + compare VAR_RESULT, 0 + goto_eq EventScript_275CDE + fadescreenswapbuffers 1 + special sub_80E9B70 + closemessage + fadescreenswapbuffers 0 + msgbox Text_276A95, 5 + compare VAR_RESULT, 0 + goto_eq EventScript_275CDE + bufferpartymonnick 0, VAR_0x8004 + buffermovename 1, MOVE_SECRET_POWER + msgbox Route103_Text_290771, 4 + closemessage + closemessage + compare VAR_0x8007, 1 + goto_eq EventScript_275A86 + compare VAR_0x8007, 2 + goto_eq EventScript_275A86 + compare VAR_0x8007, 3 + goto_eq EventScript_275A86 + compare VAR_0x8007, 4 + goto_eq EventScript_275A86 + compare VAR_0x8007, 5 + goto_eq EventScript_275ADF + compare VAR_0x8007, 6 + goto_eq EventScript_275B38 + releaseall + end + +EventScript_275C9A:: @ 8275C9A + lockall + compare VAR_0x8007, 1 + goto_eq EventScript_275A91 + compare VAR_0x8007, 2 + goto_eq EventScript_275A91 + compare VAR_0x8007, 3 + goto_eq EventScript_275A91 + compare VAR_0x8007, 4 + goto_eq EventScript_275A91 + compare VAR_0x8007, 5 + goto_eq EventScript_275AEA + compare VAR_0x8007, 6 + goto_eq EventScript_275B43 + end + +EventScript_275CDE:: @ 8275CDE + closemessage + releaseall + end + +LittlerootTown_BrendansHouse_2F_EventScript_275CE1:: @ 8275CE1 +LittlerootTown_MaysHouse_2F_EventScript_275CE1:: @ 8275CE1 +SecretBase_RedCave1_EventScript_275CE1:: @ 8275CE1 + setflag FLAG_0x0AE + setflag FLAG_0x0AF + setflag FLAG_0x0B0 + setflag FLAG_0x0B1 + setflag FLAG_0x0B2 + setflag FLAG_0x0B3 + setflag FLAG_0x0B4 + setflag FLAG_0x0B5 + setflag FLAG_0x0B6 + setflag FLAG_0x0B7 + setflag FLAG_0x0B8 + setflag FLAG_0x0B9 + setflag FLAG_0x0BA + setflag FLAG_0x0BB + return + +EventScript_275D0C:: @ 8275D0C + setvar VAR_0x8004, 0 + setvar VAR_0x8005, 0 + special sub_80E933C + setvar VAR_0x4089, 1 + end + +EventScript_275D1F:: @ 8275D1F + setvar VAR_0x8005, 0 + goto EventScript_275D2A + end + +EventScript_275D2A:: @ 8275D2A + special sub_8127E18 + end + +EventScript_275D2E:: @ 8275D2E + setvar VAR_0x8004, 0 + goto EventScript_275D39 + end + +EventScript_275D39:: @ 8275D39 + special sub_8129708 + compare VAR_RESULT, 1 + goto_eq EventScript_275D63 + addvar VAR_0x8004, 1 + compare VAR_0x8005, 0 + goto_eq EventScript_275D39 + removeobject VAR_0x8006 + setflag 0x8005 + goto EventScript_275D39 + end + +EventScript_275D63:: @ 8275D63 + end + +SecretBase_BlueCave1_EventScript_275D64:: @ 8275D64 +SecretBase_BlueCave2_EventScript_275D64:: @ 8275D64 +SecretBase_BlueCave3_EventScript_275D64:: @ 8275D64 +SecretBase_BlueCave4_EventScript_275D64:: @ 8275D64 +SecretBase_BrownCave1_EventScript_275D64:: @ 8275D64 +SecretBase_BrownCave2_EventScript_275D64:: @ 8275D64 +SecretBase_BrownCave3_EventScript_275D64:: @ 8275D64 +SecretBase_BrownCave4_EventScript_275D64:: @ 8275D64 +SecretBase_RedCave1_EventScript_275D64:: @ 8275D64 +SecretBase_RedCave2_EventScript_275D64:: @ 8275D64 +SecretBase_RedCave3_EventScript_275D64:: @ 8275D64 +SecretBase_RedCave4_EventScript_275D64:: @ 8275D64 +SecretBase_Shrub1_EventScript_275D64:: @ 8275D64 +SecretBase_Shrub2_EventScript_275D64:: @ 8275D64 +SecretBase_Shrub3_EventScript_275D64:: @ 8275D64 +SecretBase_Shrub4_EventScript_275D64:: @ 8275D64 +SecretBase_Tree1_EventScript_275D64:: @ 8275D64 +SecretBase_Tree2_EventScript_275D64:: @ 8275D64 +SecretBase_Tree3_EventScript_275D64:: @ 8275D64 +SecretBase_Tree4_EventScript_275D64:: @ 8275D64 +SecretBase_YellowCave1_EventScript_275D64:: @ 8275D64 +SecretBase_YellowCave2_EventScript_275D64:: @ 8275D64 +SecretBase_YellowCave3_EventScript_275D64:: @ 8275D64 +SecretBase_YellowCave4_EventScript_275D64:: @ 8275D64 + special sub_80EA354 + compare VAR_0x8004, 0 + goto_eq SecretBase_RedCave1_EventScript_275DD6 + compare VAR_0x8004, 1 + goto_eq SecretBase_RedCave1_EventScript_275E4E + compare VAR_0x8004, 2 + goto_eq SecretBase_RedCave1_EventScript_275EC6 + compare VAR_0x8004, 3 + goto_eq SecretBase_RedCave1_EventScript_275F3E + compare VAR_0x8004, 4 + goto_eq SecretBase_RedCave1_EventScript_275FB6 + compare VAR_0x8004, 5 + goto_eq SecretBase_RedCave1_EventScript_27602E + compare VAR_0x8004, 6 + goto_eq SecretBase_RedCave1_EventScript_2760A6 + compare VAR_0x8004, 7 + goto_eq SecretBase_RedCave1_EventScript_27611E + compare VAR_0x8004, 8 + goto_eq SecretBase_RedCave1_EventScript_276196 + compare VAR_0x8004, 9 + goto_eq SecretBase_RedCave1_EventScript_27620E + end + +SecretBase_RedCave1_EventScript_275DD6:: @ 8275DD6 + lock + faceplayer + checkflag FLAG_SYS_GAME_CLEAR + goto_if 0, SecretBase_RedCave1_EventScript_275E25 + compare VAR_RESULT, 1 + goto_eq SecretBase_RedCave1_EventScript_275E44 + msgbox SecretBase_RedCave1_Text_2748A0, 5 + compare VAR_RESULT, 0 + goto_eq SecretBase_RedCave1_EventScript_275E2F + setvar VAR_RESULT, 1 + special sub_80EA30C + call SecretBase_RedCave1_EventScript_27134F + compare VAR_RESULT, 0 + goto_eq SecretBase_RedCave1_EventScript_275E2F + msgbox SecretBase_RedCave1_Text_274939, 4 + goto SecretBase_RedCave1_EventScript_276286 + end + +SecretBase_RedCave1_EventScript_275E25:: @ 8275E25 + msgbox SecretBase_RedCave1_Text_2749ED, 4 + release + end + +SecretBase_RedCave1_EventScript_275E2F:: @ 8275E2F + special sub_80EB300 + setvar VAR_RESULT, 0 + special sub_80EA30C + msgbox SecretBase_RedCave1_Text_27494D, 4 + release + end + +SecretBase_RedCave1_EventScript_275E44:: @ 8275E44 + msgbox SecretBase_RedCave1_Text_2749AA, 4 + release + end + +SecretBase_RedCave1_EventScript_275E4E:: @ 8275E4E + lock + faceplayer + checkflag FLAG_SYS_GAME_CLEAR + goto_if 0, SecretBase_RedCave1_EventScript_275E9D + compare VAR_RESULT, 1 + goto_eq SecretBase_RedCave1_EventScript_275EBC + msgbox SecretBase_RedCave1_Text_274C13, 5 + compare VAR_RESULT, 0 + goto_eq SecretBase_RedCave1_EventScript_275EA7 + setvar VAR_RESULT, 1 + special sub_80EA30C + call SecretBase_RedCave1_EventScript_27134F + compare VAR_RESULT, 0 + goto_eq SecretBase_RedCave1_EventScript_275EA7 + msgbox SecretBase_RedCave1_Text_274CB0, 4 + goto SecretBase_RedCave1_EventScript_276286 + end + +SecretBase_RedCave1_EventScript_275E9D:: @ 8275E9D + msgbox SecretBase_RedCave1_Text_274D69, 4 + release + end + +SecretBase_RedCave1_EventScript_275EA7:: @ 8275EA7 + special sub_80EB300 + setvar VAR_RESULT, 0 + special sub_80EA30C + msgbox SecretBase_RedCave1_Text_274CDA, 4 + release + end + +SecretBase_RedCave1_EventScript_275EBC:: @ 8275EBC + msgbox SecretBase_RedCave1_Text_274D34, 4 + release + end + +SecretBase_RedCave1_EventScript_275EC6:: @ 8275EC6 + lock + faceplayer + checkflag FLAG_SYS_GAME_CLEAR + goto_if 0, SecretBase_RedCave1_EventScript_275F15 + compare VAR_RESULT, 1 + goto_eq SecretBase_RedCave1_EventScript_275F34 + msgbox SecretBase_RedCave1_Text_274F39, 5 + compare VAR_RESULT, 0 + goto_eq SecretBase_RedCave1_EventScript_275F1F + setvar VAR_RESULT, 1 + special sub_80EA30C + call SecretBase_RedCave1_EventScript_27134F + compare VAR_RESULT, 0 + goto_eq SecretBase_RedCave1_EventScript_275F1F + msgbox SecretBase_RedCave1_Text_274FCA, 4 + goto SecretBase_RedCave1_EventScript_276286 + end + +SecretBase_RedCave1_EventScript_275F15:: @ 8275F15 + msgbox SecretBase_RedCave1_Text_2750A4, 4 + release + end + +SecretBase_RedCave1_EventScript_275F1F:: @ 8275F1F + special sub_80EB300 + setvar VAR_RESULT, 0 + special sub_80EA30C + msgbox SecretBase_RedCave1_Text_274FDA, 4 + release + end + +SecretBase_RedCave1_EventScript_275F34:: @ 8275F34 + msgbox SecretBase_RedCave1_Text_27502A, 4 + release + end + +SecretBase_RedCave1_EventScript_275F3E:: @ 8275F3E + lock + faceplayer + checkflag FLAG_SYS_GAME_CLEAR + goto_if 0, SecretBase_RedCave1_EventScript_275F8D + compare VAR_RESULT, 1 + goto_eq SecretBase_RedCave1_EventScript_275FAC + msgbox SecretBase_RedCave1_Text_275287, 5 + compare VAR_RESULT, 0 + goto_eq SecretBase_RedCave1_EventScript_275F97 + setvar VAR_RESULT, 1 + special sub_80EA30C + call SecretBase_RedCave1_EventScript_27134F + compare VAR_RESULT, 0 + goto_eq SecretBase_RedCave1_EventScript_275F97 + msgbox SecretBase_RedCave1_Text_275315, 4 + goto SecretBase_RedCave1_EventScript_276286 + end + +SecretBase_RedCave1_EventScript_275F8D:: @ 8275F8D + msgbox SecretBase_RedCave1_Text_2753AB, 4 + release + end + +SecretBase_RedCave1_EventScript_275F97:: @ 8275F97 + special sub_80EB300 + setvar VAR_RESULT, 0 + special sub_80EA30C + msgbox SecretBase_RedCave1_Text_275330, 4 + release + end + +SecretBase_RedCave1_EventScript_275FAC:: @ 8275FAC + msgbox SecretBase_RedCave1_Text_275374, 4 + release + end + +SecretBase_RedCave1_EventScript_275FB6:: @ 8275FB6 + lock + faceplayer + checkflag FLAG_SYS_GAME_CLEAR + goto_if 0, SecretBase_RedCave1_EventScript_276005 + compare VAR_RESULT, 1 + goto_eq SecretBase_RedCave1_EventScript_276024 + msgbox SecretBase_RedCave1_Text_2755D2, 5 + compare VAR_RESULT, 0 + goto_eq SecretBase_RedCave1_EventScript_27600F + setvar VAR_RESULT, 1 + special sub_80EA30C + call SecretBase_RedCave1_EventScript_27134F + compare VAR_RESULT, 0 + goto_eq SecretBase_RedCave1_EventScript_27600F + msgbox SecretBase_RedCave1_Text_275679, 4 + goto SecretBase_RedCave1_EventScript_276286 + end + +SecretBase_RedCave1_EventScript_276005:: @ 8276005 + msgbox SecretBase_RedCave1_Text_27571E, 4 + release + end + +SecretBase_RedCave1_EventScript_27600F:: @ 827600F + special sub_80EB300 + setvar VAR_RESULT, 0 + special sub_80EA30C + msgbox SecretBase_RedCave1_Text_275696, 4 + release + end + +SecretBase_RedCave1_EventScript_276024:: @ 8276024 + msgbox SecretBase_RedCave1_Text_2756EF, 4 + release + end + +SecretBase_RedCave1_EventScript_27602E:: @ 827602E + lock + faceplayer + checkflag FLAG_SYS_GAME_CLEAR + goto_if 0, SecretBase_RedCave1_EventScript_27607D + compare VAR_RESULT, 1 + goto_eq SecretBase_RedCave1_EventScript_27609C + msgbox SecretBase_RedCave1_Text_274A64, 5 + compare VAR_RESULT, 0 + goto_eq SecretBase_RedCave1_EventScript_276087 + setvar VAR_RESULT, 1 + special sub_80EA30C + call SecretBase_RedCave1_EventScript_27134F + compare VAR_RESULT, 0 + goto_eq SecretBase_RedCave1_EventScript_276087 + msgbox SecretBase_RedCave1_Text_274AFA, 4 + goto SecretBase_RedCave1_EventScript_276286 + end + +SecretBase_RedCave1_EventScript_27607D:: @ 827607D + msgbox SecretBase_RedCave1_Text_274BA2, 4 + release + end + +SecretBase_RedCave1_EventScript_276087:: @ 8276087 + special sub_80EB300 + setvar VAR_RESULT, 0 + special sub_80EA30C + msgbox SecretBase_RedCave1_Text_274B0B, 4 + release + end + +SecretBase_RedCave1_EventScript_27609C:: @ 827609C + msgbox SecretBase_RedCave1_Text_274B6C, 4 + release + end + +SecretBase_RedCave1_EventScript_2760A6:: @ 82760A6 + lock + faceplayer + checkflag FLAG_SYS_GAME_CLEAR + goto_if 0, SecretBase_RedCave1_EventScript_2760F5 + compare VAR_RESULT, 1 + goto_eq SecretBase_RedCave1_EventScript_276114 + msgbox SecretBase_RedCave1_Text_274DD2, 5 + compare VAR_RESULT, 0 + goto_eq SecretBase_RedCave1_EventScript_2760FF + setvar VAR_RESULT, 1 + special sub_80EA30C + call SecretBase_RedCave1_EventScript_27134F + compare VAR_RESULT, 0 + goto_eq SecretBase_RedCave1_EventScript_2760FF + msgbox SecretBase_RedCave1_Text_274E41, 4 + goto SecretBase_RedCave1_EventScript_276286 + end + +SecretBase_RedCave1_EventScript_2760F5:: @ 82760F5 + msgbox SecretBase_RedCave1_Text_274EF1, 4 + release + end + +SecretBase_RedCave1_EventScript_2760FF:: @ 82760FF + special sub_80EB300 + setvar VAR_RESULT, 0 + special sub_80EA30C + msgbox SecretBase_RedCave1_Text_274E5A, 4 + release + end + +SecretBase_RedCave1_EventScript_276114:: @ 8276114 + msgbox SecretBase_RedCave1_Text_274EB3, 4 + release + end + +SecretBase_RedCave1_EventScript_27611E:: @ 827611E + lock + faceplayer + checkflag FLAG_SYS_GAME_CLEAR + goto_if 0, SecretBase_RedCave1_EventScript_27616D + compare VAR_RESULT, 1 + goto_eq SecretBase_RedCave1_EventScript_27618C + msgbox SecretBase_RedCave1_Text_275114, 5 + compare VAR_RESULT, 0 + goto_eq SecretBase_RedCave1_EventScript_276177 + setvar VAR_RESULT, 1 + special sub_80EA30C + call SecretBase_RedCave1_EventScript_27134F + compare VAR_RESULT, 0 + goto_eq SecretBase_RedCave1_EventScript_276177 + msgbox SecretBase_RedCave1_Text_2751AF, 4 + goto SecretBase_RedCave1_EventScript_276286 + end + +SecretBase_RedCave1_EventScript_27616D:: @ 827616D + msgbox SecretBase_RedCave1_Text_275226, 4 + release + end + +SecretBase_RedCave1_EventScript_276177:: @ 8276177 + special sub_80EB300 + setvar VAR_RESULT, 0 + special sub_80EA30C + msgbox SecretBase_RedCave1_Text_2751CA, 4 + release + end + +SecretBase_RedCave1_EventScript_27618C:: @ 827618C + msgbox SecretBase_RedCave1_Text_2751EC, 4 + release + end + +SecretBase_RedCave1_EventScript_276196:: @ 8276196 + lock + faceplayer + checkflag FLAG_SYS_GAME_CLEAR + goto_if 0, SecretBase_RedCave1_EventScript_2761E5 + compare VAR_RESULT, 1 + goto_eq SecretBase_RedCave1_EventScript_276204 + msgbox SecretBase_RedCave1_Text_275405, 5 + compare VAR_RESULT, 0 + goto_eq SecretBase_RedCave1_EventScript_2761EF + setvar VAR_RESULT, 1 + special sub_80EA30C + call SecretBase_RedCave1_EventScript_27134F + compare VAR_RESULT, 0 + goto_eq SecretBase_RedCave1_EventScript_2761EF + msgbox SecretBase_RedCave1_Text_2754B2, 4 + goto SecretBase_RedCave1_EventScript_276286 + end + +SecretBase_RedCave1_EventScript_2761E5:: @ 82761E5 + msgbox SecretBase_RedCave1_Text_275546, 4 + release + end + +SecretBase_RedCave1_EventScript_2761EF:: @ 82761EF + special sub_80EB300 + setvar VAR_RESULT, 0 + special sub_80EA30C + msgbox SecretBase_RedCave1_Text_2754D8, 4 + release + end + +SecretBase_RedCave1_EventScript_276204:: @ 8276204 + msgbox SecretBase_RedCave1_Text_27550C, 4 + release + end + +SecretBase_RedCave1_EventScript_27620E:: @ 827620E + lock + faceplayer + checkflag FLAG_SYS_GAME_CLEAR + goto_if 0, SecretBase_RedCave1_EventScript_27625D + compare VAR_RESULT, 1 + goto_eq SecretBase_RedCave1_EventScript_27627C + msgbox SecretBase_RedCave1_Text_2757B5, 5 + compare VAR_RESULT, 0 + goto_eq SecretBase_RedCave1_EventScript_276267 + setvar VAR_RESULT, 1 + special sub_80EA30C + call SecretBase_RedCave1_EventScript_27134F + compare VAR_RESULT, 0 + goto_eq SecretBase_RedCave1_EventScript_276267 + msgbox SecretBase_RedCave1_Text_275884, 4 + goto SecretBase_RedCave1_EventScript_276286 + end + +SecretBase_RedCave1_EventScript_27625D:: @ 827625D + msgbox SecretBase_RedCave1_Text_275944, 4 + release + end + +SecretBase_RedCave1_EventScript_276267:: @ 8276267 + special sub_80EB300 + setvar VAR_RESULT, 0 + special sub_80EA30C + msgbox SecretBase_RedCave1_Text_27589D, 4 + release + end + +SecretBase_RedCave1_EventScript_27627C:: @ 827627C + msgbox SecretBase_RedCave1_Text_275909, 4 + release + end + +SecretBase_RedCave1_EventScript_276286:: @ 8276286 + special sub_80EA2E4 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 0 + special sub_8163AC4 + waitstate + compare VAR_RESULT, 3 + call_if 1, SecretBase_RedCave1_EventScript_2762BD + compare VAR_RESULT, 1 + call_if 1, SecretBase_RedCave1_EventScript_2762C1 + compare VAR_RESULT, 2 + call_if 1, SecretBase_RedCave1_EventScript_2762C5 + special HealPlayerParty + release + end + +SecretBase_RedCave1_EventScript_2762BD:: @ 82762BD + special sub_80EB438 + return + +SecretBase_RedCave1_EventScript_2762C1:: @ 82762C1 + special sub_80EB368 + return + +SecretBase_RedCave1_EventScript_2762C5:: @ 82762C5 + special sub_80EB3D0 + return + + .include "data/scripts/secret_power_tm.inc" + +Text_2766AA: @ 82766AA + .string "All decorations and furniture in your\n" + .string "SECRET BASE will be returned to your PC.\p" + .string "Is that okay?$" + +Text_276707: @ 8276707 + .string "Do you want to register\n" + .string "{STR_VAR_1}’s SECRET BASE?$" + +Text_276731: @ 8276731 + .string "This data is already registered.\n" + .string "Would you like to delete it?$" + +Text_27676F: @ 827676F + .string "Up to 10 locations can be registered.\p" + .string "Delete a location if you want to\n" + .string "register another location.$" + +Text_2767D1: @ 82767D1 + .string "Registration completed.$" + +Text_2767E9: @ 82767E9 + .string "Data has been unregistered.$" + +Text_276805: @ 8276805 + .string "{PLAYER} booted up the PC.$" + +Text_27681A: @ 827681A + .string "What would you like to do?$" + +Text_276835: @ 8276835 + .string "Once registered, a SECRET BASE will not\n" + .string "disappear unless the other TRAINER\l" + .string "moves it to a different location.\p" + .string "If a SECRET BASE is deleted from the\n" + .string "registered list, another one may take\l" + .string "its place.\p" + .string "Up to ten SECRET BASE locations\n" + .string "may be registered.$" + +Text_27692B: @ 827692B + .string "A shield of {STR_VAR_2} that marks winning\n" + .string "{STR_VAR_1} times in a row at the BATTLE TOWER.$" + +Text_276974: @ 8276974 + .string "A realistic toy TV. It could be easily\n" + .string "mistaken for the real thing.$" + +Text_2769B8: @ 82769B8 + .string "A toy TV shaped like a SEEDOT.\n" + .string "It looks ready to roll away on its own…$" + +Text_2769FF: @ 82769FF + .string "A toy TV shaped like a SKITTY.\n" + .string "It looks ready to stroll away…$" + +Text_276A3D: @ 8276A3D + .string "You may only make one SECRET BASE.\p" + .string "Would you like to move from the SECRET\n" + .string "BASE near {STR_VAR_1}?$" + +Text_276A95: @ 8276A95 + .string "Moving completed.\p" + .string "Would you like to use the SECRET POWER?$" + + .include "data/scripts/cable_club.inc" + .include "data/scripts/contest_hall.inc" + .include "data/text/contest_strings.inc" + +gUnknown_0827E8CE:: @ 827E8CE + .string "Missed turn$" gUnknown_0827E8DA:: @ 827E8DA - .incbin "baserom.gba", 0x27e8da, 0x132 + .string "Link standby!$" + +gUnknown_0827E8E8:: @ 827E8E8 + .string "The winner is {STR_VAR_1}’s {STR_VAR_2}!\n" + .string "Congratulations!$" + +gUnknown_0827E910:: @ 827E910 + .string "The winner is {STR_VAR_1}’s {STR_VAR_2}!{PAUSE_UNTIL_PRESS}$" + +gUnknown_0827E929:: @ 827E929 + .string "Primary judging: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$" + +gUnknown_0827E943:: @ 827E943 + .string "Secondary judging: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$" + +gUnknown_0827E95F:: @ 827E95F + .string "Set event: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$" + +gUnknown_0827E973:: @ 827E973 + .string "The move used most often:\n" + .string "{STR_VAR_1}{PAUSE_UNTIL_PRESS}$" + +gUnknown_0827E992:: @ 827E992 + .string "The most impressive POKéMON:\n" + .string "{STR_VAR_1}’s {STR_VAR_2}{PAUSE_UNTIL_PRESS}$" + +gUnknown_0827E9B9:: @ 827E9B9 + .string "Set event: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$" + +gUnknown_0827E9CD:: @ 827E9CD + .string "A link TV program will not be made\n" + .string "because the TRAINER lost.{PAUSE_UNTIL_PRESS}$" gUnknown_0827EA0C:: @ 827EA0C - .incbin "baserom.gba", 0x27ea0c, 0x2b0 + .string "{STR_VAR_1}\n" + .string "{STR_VAR_2}’s {STR_VAR_3}$" + +gUnknown_0827EA17:: @ 827EA17 + .string "CONTEST$" + +gContestRankNormal:: + .string "NORMAL RANK$" + +gContestRankSuper:: + .string "SUPER RANK$" + +gContestRankHyper:: + .string "HYPER RANK$" + +gContestRankMaster:: + .string "MASTER RANK$" + +gContestLink:: + .string "LINK$" + +gContestCoolness:: + .string "COOLNESS$" + +gContestBeauty:: + .string "BEAUTY$" + +gContestCuteness:: + .string "CUTENESS$" + +gContestSmartness:: + .string "SMARTNESS$" + +gContestToughness:: + .string "TOUGHNESS$" + +gContestPaintingCool1:: + .string "Nonstop supercool--\n" + .string "the inestimable {STR_VAR_1}$" + +gContestPaintingCool2:: + .string "Hey, there!\n" + .string "The good-looking POKéMON {STR_VAR_1}$" + +gContestPaintingCool3:: + .string "The marvelous, wonderful, and\n" + .string "very great {STR_VAR_1}$" + +gContestPaintingBeauty1:: + .string "This century’s last Venus--\n" + .string "the beautiful {STR_VAR_1}$" + +gContestPaintingBeauty2:: + .string "{STR_VAR_1}’s dazzling,\n" + .string "glittering smile$" + +gContestPaintingBeauty3:: + .string "POKéMON CENTER’s super idol--\n" + .string "the incomparable {STR_VAR_1}$" + +gContestPaintingCute1:: + .string "The lovely and sweet {STR_VAR_1}$" + +gContestPaintingCute2:: + .string "The pretty {STR_VAR_1}’s\n" + .string "winning portrait$" + +gContestPaintingCute3:: + .string "Give us a wink!\n" + .string "The cutie POKéMON {STR_VAR_1}$" + +gContestPaintingSmart1:: + .string "The smartness maestro--\n" + .string "the wise POKéMON {STR_VAR_1}$" + +gContestPaintingSmart2:: + .string "{STR_VAR_1}--the one chosen\n" + .string "above all POKéMON$" + +gContestPaintingSmart3:: + .string "The excellent {STR_VAR_1}’s\n" + .string "moment of elegance$" + +gContestPaintingTough1:: + .string "The powerfully muscular\n" + .string "speedster {STR_VAR_1}$" + +gContestPaintingTough2:: + .string "The strong, stronger, and\n" + .string "strongest {STR_VAR_1}$" + +gContestPaintingTough3:: + .string "The mighty tough\n" + .string "hyper POKéMON {STR_VAR_1}$" gUnknown_0827ECBC:: @ 27ECBC - .incbin "baserom.gba", 0x27ecbc, 0x7 + .string "ODDISH$" gUnknown_0827ECC3:: @ 27ECC3 - .incbin "baserom.gba", 0x27ecc3, 0xa + .string "POOCHYENA$" gUnknown_0827ECCD:: @ 27ECCD - .incbin "baserom.gba", 0x27eccd, 0x8 + .string "TAILLOW$" gUnknown_0827ECD5:: @ 27ECD5 - .incbin "baserom.gba", 0x27ecd5, 0x8 + .string "AZURILL$" gUnknown_0827ECDD:: @ 27ECDD - .incbin "baserom.gba", 0x27ecdd, 0x6 + .string "LOTAD$" gUnknown_0827ECE3:: @ 27ECE3 - .incbin "baserom.gba", 0x27ece3, 0x8 + .string "WINGULL$" gUnknown_0827ECEB:: @ 27ECEB - .incbin "baserom.gba", 0x27eceb, 0x7 + .string "DUSTOX$" gUnknown_0827ECF2:: @ 27ECF2 - .incbin "baserom.gba", 0x27ecf2, 0x6 + .string "ZUBAT$" gUnknown_0827ECF8:: @ 27ECF8 - .incbin "baserom.gba", 0x27ecf8, 0x8 + .string "NINCADA$" gUnknown_0827ED00:: @ 27ED00 - .incbin "baserom.gba", 0x27ed00, 0x6 + .string "RALTS$" gUnknown_0827ED06:: @ 27ED06 - .incbin "baserom.gba", 0x27ed06, 0xa + .string "ZIGZAGOON$" gUnknown_0827ED10:: @ 27ED10 - .incbin "baserom.gba", 0x27ed10, 0x8 + .string "SLAKOTH$" gUnknown_0827ED18:: @ 27ED18 - .incbin "baserom.gba", 0x27ed18, 0xa + .string "POOCHYENA$" gUnknown_0827ED22:: @ 27ED22 - .incbin "baserom.gba", 0x27ed22, 0xa + .string "SHROOMISH$" gUnknown_0827ED2C:: @ 27ED2C - .incbin "baserom.gba", 0x27ed2c, 0xa + .string "ZIGZAGOON$" gUnknown_0827ED36:: @ 27ED36 - .incbin "baserom.gba", 0x27ed36, 0xa + .string "POOCHYENA$" gUnknown_0827ED40:: @ 27ED40 - .incbin "baserom.gba", 0x27ed40, 0x6 + .string "ZUBAT$" gUnknown_0827ED46:: @ 27ED46 - .incbin "baserom.gba", 0x27ed46, 0x9 + .string "CARVANHA$" gUnknown_0827ED4F:: @ 27ED4F - .incbin "baserom.gba", 0x27ed4f, 0xa + .string "BURN HEAL$" gUnknown_0827ED59:: @ 27ED59 - .incbin "baserom.gba", 0x27ed59, 0xc + .string "HARBOR MAIL$" gUnknown_0827ED65:: @ 27ED65 - .incbin "baserom.gba", 0x27ed65, 0xb + .string "Same price$" gUnknown_0827ED70:: @ 27ED70 - .incbin "baserom.gba", 0x27ed70, 0x4 + .string "¥60$" gUnknown_0827ED74:: @ 27ED74 - .incbin "baserom.gba", 0x27ed74, 0x4 + .string "¥55$" gUnknown_0827ED78:: @ 27ED78 - .incbin "baserom.gba", 0x27ed78, 0x8 + .string "Nothing$" gUnknown_0827ED80:: @ 27ED80 - .incbin "baserom.gba", 0x27ed80, 0x15 + .string "They will cost more.$" gUnknown_0827ED95:: @ 27ED95 - .incbin "baserom.gba", 0x27ed95, 0x15 + .string "They will cost less.$" gUnknown_0827EDAA:: @ 27EDAA - .incbin "baserom.gba", 0x27edaa, 0xb + .string "Same price$" gUnknown_0827EDB5:: @ 27EDB5 - .incbin "baserom.gba", 0x27edb5, 0x5 + .string "Male$" gUnknown_0827EDBA:: @ 27EDBA - .incbin "baserom.gba", 0x27edba, 0x7 + .string "Female$" gUnknown_0827EDC1:: @ 27EDC1 - .incbin "baserom.gba", 0x27edc1, 0x8 + .string "Neither$" gUnknown_0827EDC9:: @ 27EDC9 - .incbin "baserom.gba", 0x27edc9, 0xc + .string "Elderly men$" gUnknown_0827EDD5:: @ 27EDD5 - .incbin "baserom.gba", 0x27edd5, 0xf + .string "Elderly ladies$" gUnknown_0827EDE4:: @ 27EDE4 - .incbin "baserom.gba", 0x27ede4, 0xc + .string "Same number$" gUnknown_0827EDF0:: @ 27EDF0 - .incbin "baserom.gba", 0x27edf0, 0x5 + .string "None$" gUnknown_0827EDF5:: @ 27EDF5 - .incbin "baserom.gba", 0x27edf5, 0x2 + .string "1$" gUnknown_0827EDF7:: @ 27EDF7 - .incbin "baserom.gba", 0x27edf7, 0x2 + .string "2$" gUnknown_0827EDF9:: @ 27EDF9 - .incbin "baserom.gba", 0x27edf9, 0x2 + .string "2$" gUnknown_0827EDFB:: @ 27EDFB - .incbin "baserom.gba", 0x27edfb, 0x2 + .string "3$" gUnknown_0827EDFD:: @ 27EDFD - .incbin "baserom.gba", 0x27edfd, 0x2 + .string "4$" gUnknown_0827EDFF:: @ 27EDFF - .incbin "baserom.gba", 0x27edff, 0x2 + .string "6$" gUnknown_0827EE01:: @ 27EE01 - .incbin "baserom.gba", 0x27ee01, 0x2 + .string "7$" gUnknown_0827EE03:: @ 27EE03 - .incbin "baserom.gba", 0x27ee03, 0x2 + .string "8$" gUnknown_0827EE05:: @ 27EE05 - .incbin "baserom.gba", 0x27ee05, 0x2 + .string "6$" gUnknown_0827EE07:: @ 27EE07 - .incbin "baserom.gba", 0x27ee07, 0x2 + .string "7$" gUnknown_0827EE09:: @ 27EE09 - .incbin "baserom.gba", 0x27ee09, 0x2 - -gUnknown_0827EE0B:: @ 827EE0B - .incbin "baserom.gba", 0x27ee0b, 0x46a + .string "8$" + .include "data/scripts/tv.inc" .include "data/text/tv.inc" - .incbin "baserom.gba", 0x0028c7e9, 0x90f +BattleFrontier_BattleTowerLobby_EventScript_28C7E9:: @ 828C7E9 +LilycoveCity_ContestLobby_EventScript_28C7E9:: @ 828C7E9 +SlateportCity_OceanicMuseum_1F_EventScript_28C7E9:: @ 828C7E9 +SlateportCity_PokemonFanClub_EventScript_28C7E9:: @ 828C7E9 + special InterviewAfter + incrementgamestat 6 + release + end +SlateportCity_PokemonFanClub_EventScript_28C7F0:: @ 828C7F0 + setvar VAR_0x8005, 1 + special InterviewBefore + compare VAR_RESULT, 1 + goto_eq SlateportCity_PokemonFanClub_EventScript_28C879 + copyvar VAR_0x8009, VAR_0x8006 + msgbox SlateportCity_PokemonFanClub_Text_280674, 5 + compare VAR_RESULT, 1 + goto_eq SlateportCity_PokemonFanClub_EventScript_28C827 + compare VAR_RESULT, 0 + goto_eq SlateportCity_PokemonFanClub_EventScript_28C85C + end + +SlateportCity_PokemonFanClub_EventScript_28C827:: @ 828C827 + msgbox SlateportCity_PokemonFanClub_Text_28073B, 4 + setvar VAR_0x8004, 5 + copyvar VAR_0x8005, VAR_0x8009 + setvar VAR_0x8006, 1 + call SlateportCity_PokemonFanClub_EventScript_271E7C + lock + faceplayer + compare VAR_RESULT, 1 + goto_eq SlateportCity_PokemonFanClub_EventScript_28C866 + compare VAR_RESULT, 0 + goto_eq SlateportCity_PokemonFanClub_EventScript_28C85C + end + +SlateportCity_PokemonFanClub_EventScript_28C85C:: @ 828C85C + msgbox SlateportCity_PokemonFanClub_Text_2805E2, 4 + release + end + +SlateportCity_PokemonFanClub_EventScript_28C866:: @ 828C866 + msgbox SlateportCity_PokemonFanClub_Text_280789, 4 + setvar VAR_0x8005, 1 + goto SlateportCity_PokemonFanClub_EventScript_28C7E9 + end + +SlateportCity_PokemonFanClub_EventScript_28C879:: @ 828C879 + msgbox SlateportCity_PokemonFanClub_Text_28062E, 4 + release + end + +SlateportCity_OceanicMuseum_1F_EventScript_28C883:: @ 828C883 + lock + faceplayer + setvar VAR_0x8005, 2 + special InterviewBefore + compare VAR_RESULT, 1 + goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C939 + copyvar VAR_0x8009, VAR_0x8006 + checkflag FLAG_0x069 + goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8C8 + setflag FLAG_0x069 + msgbox SlateportCity_OceanicMuseum_1F_Text_2811A0, 5 + compare VAR_RESULT, 1 + goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8E7 + compare VAR_RESULT, 0 + goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C + end + +SlateportCity_OceanicMuseum_1F_EventScript_28C8C8:: @ 828C8C8 + msgbox SlateportCity_OceanicMuseum_1F_Text_28126D, 5 + compare VAR_RESULT, 1 + goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8E7 + compare VAR_RESULT, 0 + goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C + end + +SlateportCity_OceanicMuseum_1F_EventScript_28C8E7:: @ 828C8E7 + msgbox SlateportCity_OceanicMuseum_1F_Text_2812F2, 4 + setvar VAR_0x8004, 5 + copyvar VAR_0x8005, VAR_0x8009 + setvar VAR_0x8006, 0 + call SlateportCity_OceanicMuseum_1F_EventScript_271E7C + lock + faceplayer + compare VAR_RESULT, 1 + goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C926 + compare VAR_RESULT, 0 + goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C + end + +SlateportCity_OceanicMuseum_1F_EventScript_28C91C:: @ 828C91C + msgbox SlateportCity_OceanicMuseum_1F_Text_281367, 4 + release + end + +SlateportCity_OceanicMuseum_1F_EventScript_28C926:: @ 828C926 + msgbox SlateportCity_OceanicMuseum_1F_Text_2813B9, 4 + setvar VAR_0x8005, 2 + goto SlateportCity_OceanicMuseum_1F_EventScript_28C7E9 + end + +SlateportCity_OceanicMuseum_1F_EventScript_28C939:: @ 828C939 + msgbox SlateportCity_OceanicMuseum_1F_Text_28144D, 4 + release + end + +SlateportCity_PokemonFanClub_EventScript_28C943:: @ 828C943 + lock + faceplayer + specialvar VAR_RESULT, sub_80EF8F8 + compare VAR_RESULT, 0 + goto_eq SlateportCity_PokemonFanClub_EventScript_28C7F0 + setvar VAR_0x8005, 3 + special InterviewBefore + compare VAR_RESULT, 1 + goto_eq SlateportCity_PokemonFanClub_EventScript_28CA4F + copyvar VAR_0x8009, VAR_0x8006 + msgbox SlateportCity_PokemonFanClub_Text_280270, 5 + compare VAR_RESULT, 1 + goto_eq SlateportCity_PokemonFanClub_EventScript_28C98C + compare VAR_RESULT, 0 + goto_eq SlateportCity_PokemonFanClub_EventScript_28CA45 + end + +SlateportCity_PokemonFanClub_EventScript_28C98C:: @ 828C98C + msgbox SlateportCity_PokemonFanClub_Text_28034F, 4 + random 3 + copyvar VAR_0x800A, VAR_RESULT + switch VAR_RESULT + case 0, SlateportCity_PokemonFanClub_EventScript_28C9C3 + case 1, SlateportCity_PokemonFanClub_EventScript_28C9D1 + case 2, SlateportCity_PokemonFanClub_EventScript_28C9DF + end + +SlateportCity_PokemonFanClub_EventScript_28C9C3:: @ 828C9C3 + msgbox SlateportCity_PokemonFanClub_Text_280393, 4 + goto SlateportCity_PokemonFanClub_EventScript_28C9ED + end + +SlateportCity_PokemonFanClub_EventScript_28C9D1:: @ 828C9D1 + msgbox SlateportCity_PokemonFanClub_Text_2803EF, 4 + goto SlateportCity_PokemonFanClub_EventScript_28C9ED + end + +SlateportCity_PokemonFanClub_EventScript_28C9DF:: @ 828C9DF + msgbox SlateportCity_PokemonFanClub_Text_280454, 4 + goto SlateportCity_PokemonFanClub_EventScript_28C9ED + end + +SlateportCity_PokemonFanClub_EventScript_28C9ED:: @ 828C9ED + setvar VAR_0x8004, 7 + copyvar VAR_0x8005, VAR_0x8009 + setvar VAR_0x8006, 0 + call SlateportCity_PokemonFanClub_EventScript_271E7C + lock + faceplayer + compare VAR_RESULT, 0 + goto_eq SlateportCity_PokemonFanClub_EventScript_28CA45 + msgbox SlateportCity_PokemonFanClub_Text_2804AC, 4 + setvar VAR_0x8006, 1 + call SlateportCity_PokemonFanClub_EventScript_271E7C + lock + faceplayer + compare VAR_RESULT, 0 + goto_eq SlateportCity_PokemonFanClub_EventScript_28CA45 + msgbox SlateportCity_PokemonFanClub_Text_280523, 4 + copyvar VAR_0x8007, VAR_0x800A + setvar VAR_0x8005, 3 + goto SlateportCity_PokemonFanClub_EventScript_28C7E9 + end + +SlateportCity_PokemonFanClub_EventScript_28CA45:: @ 828CA45 + msgbox SlateportCity_PokemonFanClub_Text_2805E2, 4 + release + end + +SlateportCity_PokemonFanClub_EventScript_28CA4F:: @ 828CA4F + msgbox SlateportCity_PokemonFanClub_Text_28062E, 4 + release + end + +LilycoveCity_ContestLobby_EventScript_28CA59:: @ 828CA59 + lock + faceplayer + checkflag FLAG_0x002 + goto_eq LilycoveCity_ContestLobby_EventScript_28CB21 + setvar VAR_0x8005, 6 + special InterviewBefore + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_28CB21 + copyvar VAR_0x8009, VAR_0x8006 + msgbox LilycoveCity_ContestLobby_Text_27EF15, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_28CA9B + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_28CAD0 + end + +LilycoveCity_ContestLobby_EventScript_28CA9B:: @ 828CA9B + msgbox LilycoveCity_ContestLobby_Text_27EFE7, 4 + setvar VAR_0x8004, 11 + copyvar VAR_0x8005, VAR_0x8009 + setvar VAR_0x8006, 0 + call LilycoveCity_ContestLobby_EventScript_271E7C + lock + faceplayer + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_28CADA + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_28CAD0 + end + +LilycoveCity_ContestLobby_EventScript_28CAD0:: @ 828CAD0 + msgbox LilycoveCity_ContestLobby_Text_27F1EF, 4 + release + end + +LilycoveCity_ContestLobby_EventScript_28CADA:: @ 828CADA + setvar VAR_0x8004, 24 + special SetContestCategoryStringVarForInterview + msgbox LilycoveCity_ContestLobby_Text_27F03E, 4 + setvar VAR_0x8004, 11 + copyvar VAR_0x8005, VAR_0x8009 + setvar VAR_0x8006, 1 + call LilycoveCity_ContestLobby_EventScript_271E7C + lock + faceplayer + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_28CAD0 + msgbox LilycoveCity_ContestLobby_Text_27F0EC, 4 + setflag FLAG_0x002 + setvar VAR_0x8005, 6 + goto LilycoveCity_ContestLobby_EventScript_28C7E9 + end + +LilycoveCity_ContestLobby_EventScript_28CB21:: @ 828CB21 + msgbox LilycoveCity_ContestLobby_Text_27F23F, 4 + release + end + +LilycoveCity_ContestLobby_EventScript_28CB2B:: @ 828CB2B + compare VAR_0x4086, 2 + goto_if 5, LilycoveCity_ContestLobby_EventScript_28CB95 + setvar VAR_0x8005, 6 + special InterviewBefore + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_28CB95 + switch VAR_0x4088 + case 0, LilycoveCity_ContestLobby_EventScript_28CB95 + case 2, LilycoveCity_ContestLobby_EventScript_28CB91 + case 1, LilycoveCity_ContestLobby_EventScript_28CB91 + case 3, LilycoveCity_ContestLobby_EventScript_28CB91 + case 4, LilycoveCity_ContestLobby_EventScript_28CB91 + case 5, LilycoveCity_ContestLobby_EventScript_28CB95 + end + +LilycoveCity_ContestLobby_EventScript_28CB91:: @ 828CB91 + clearflag FLAG_0x322 + return + +LilycoveCity_ContestLobby_EventScript_28CB95:: @ 828CB95 + return + +BattleFrontier_BattleTowerLobby_EventScript_28CB96:: @ 828CB96 + lock + faceplayer + checkflag FLAG_0x002 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC7A + setvar VAR_0x8005, 7 + special InterviewBefore + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC7A + copyvar VAR_0x8009, VAR_0x8006 + msgbox BattleFrontier_BattleTowerLobby_Text_27F704, 5 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CBD8 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC2E + end + +BattleFrontier_BattleTowerLobby_EventScript_28CBD8:: @ 828CBD8 + message BattleFrontier_BattleTowerLobby_Text_27F7BA + waitmessage + multichoice 20, 8, 45, 1 + copyvar VAR_0x8008, VAR_RESULT + compare VAR_RESULT, 0 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_28CC38 + compare VAR_RESULT, 1 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_28CC41 + msgbox BattleFrontier_BattleTowerLobby_Text_27F97A, 4 + setvar VAR_0x8004, 12 + copyvar VAR_0x8005, VAR_0x8009 + call BattleFrontier_BattleTowerLobby_EventScript_271E7C + lock + faceplayer + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC4A + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC70 + end + +BattleFrontier_BattleTowerLobby_EventScript_28CC2E:: @ 828CC2E + msgbox BattleFrontier_BattleTowerLobby_Text_27F84C, 4 + release + end + +BattleFrontier_BattleTowerLobby_EventScript_28CC38:: @ 828CC38 + msgbox BattleFrontier_BattleTowerLobby_Text_27F8AE, 4 + return + +BattleFrontier_BattleTowerLobby_EventScript_28CC41:: @ 828CC41 + msgbox BattleFrontier_BattleTowerLobby_Text_27F921, 4 + return + +BattleFrontier_BattleTowerLobby_EventScript_28CC4A:: @ 828CC4A + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC70 + msgbox BattleFrontier_BattleTowerLobby_Text_27F9FD, 4 + setflag FLAG_0x002 + copyvar VAR_0x8004, VAR_0x8008 + setvar VAR_0x8005, 7 + goto BattleFrontier_BattleTowerLobby_EventScript_28C7E9 + end + +BattleFrontier_BattleTowerLobby_EventScript_28CC70:: @ 828CC70 + msgbox BattleFrontier_BattleTowerLobby_Text_27FA6F, 4 + release + end + +BattleFrontier_BattleTowerLobby_EventScript_28CC7A:: @ 828CC7A + msgbox BattleFrontier_BattleTowerLobby_Text_27FAF3, 4 + release + end + +BattleFrontier_BattleTowerLobby_EventScript_28CC84:: @ 828CC84 + compare VAR_0x40BC, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CCA6 + setvar VAR_0x8005, 7 + special InterviewBefore + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CCA6 + clearflag FLAG_0x396 + return + +BattleFrontier_BattleTowerLobby_EventScript_28CCA6:: @ 828CCA6 + setflag FLAG_0x396 + return + + .include "data/scripts/gabby_and_ty.inc" .include "data/text/pokemon_news.inc" + .include "data/scripts/mauville_man.inc" + .include "data/scripts/field_move_scripts.inc" + .include "data/scripts/item_ball_scripts.inc" + .include "data/scripts/mystery_event_club.inc" + .include "data/scripts/day_care.inc" - .incbin "baserom.gba", 0x28e066, 0x269f +EventScript_2926F8:: @ 82926F8 + animateflash 1 + setflashradius 1 + end -gUnknown_08290705:: @ 8290705 - .incbin "baserom.gba", 0x290705, 0xeb + .include "data/scripts/players_house.inc" -gUnknown_082907F0:: @ 82907F0 - .incbin "baserom.gba", 0x2907f0, 0x10d +EventScript_292DE5:: @ 8292DE5 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7F66, 3 + end -gUnknown_082908FD:: @ 82908FD - .incbin "baserom.gba", 0x2908fd, 0x14c + .include "data/scripts/pokeblocks.inc" -gUnknown_08290A49:: @ 8290A49 - .incbin "baserom.gba", 0x290a49, 0x3a +gText_SoPretty:: @ 8294295 + .string " so pretty!$" -gUnknown_08290A83:: @ 8290A83 - .incbin "baserom.gba", 0x290a83, 0x8c +gText_SoDarling:: @ 82942A1 + .string " so darling!$" -gUnknown_08290B0F:: @ 8290B0F - .incbin "baserom.gba", 0x290b0f, 0x4b +gText_SoRelaxed:: @ 82942AE + .string " so relaxed!$" -gUnknown_08290B5A:: @ 8290B5A - .incbin "baserom.gba", 0x290b5a, 0x154 +gText_SoSunny:: @ 82942BB + .string " so sunny!$" -gUnknown_08290CAE:: @ 8290CAE - .incbin "baserom.gba", 0x290cae, 0x1312 +gText_SoDesirable:: @ 82942C6 + .string " so desirable!$" -gUnknown_08291FC0:: @ 8291FC0 - .incbin "baserom.gba", 0x291fc0, 0x738 +gText_SoExciting:: @ 82942D5 + .string " so exciting!$" -gUnknown_082926F8:: @ 82926F8 - .incbin "baserom.gba", 0x2926f8, 0x6ed +gText_SoAmusing:: @ 82942E3 + .string " so amusing!$" -gUnknown_08292DE5:: @ 8292DE5 - .incbin "baserom.gba", 0x292de5, 0x1518 +gText_SoMagical:: @ 82942F0 + .string " so magical!$" gUnknown_082942FD:: @ 82942FD - .incbin "baserom.gba", 0x2942fd, 0x4 + .string " is$" gUnknown_08294301:: @ 8294301 - .incbin "baserom.gba", 0x294301, 0x10829 + .string "\n" + .string "Don’t you agree?$" -gUnknown_082A4B2A:: @ 82A4B2A - .incbin "baserom.gba", 0x2a4b2a, 0x22 +gUnknown_08294313:: @ 8294313 + .string "I so want to go on a vacation.\n" + .string "Would you happen to know a nice place?$" -gUnknown_082A4B4C:: @ 82A4B4C - .incbin "baserom.gba", 0x2a4b4c, 0x23 +gUnknown_08294359:: @ 8294359 + .string "I bought crayons with 120 colors!\n" + .string "Don’t you think that’s nice?$" -gUnknown_082A4B6F:: @ 82A4B6F - .incbin "baserom.gba", 0x2a4b6f, 0x1b +gUnknown_08294398:: @ 8294398 + .string "Wouldn’t it be nice if we could float\n" + .string "away on a cloud of bubbles?$" -gUnknown_082A4B8A:: @ 82A4B8A - .incbin "baserom.gba", 0x2a4b8a, 0x11 +gUnknown_082943DA:: @ 82943DA + .string "When you write on a sandy beach,\n" + .string "they wash away. It makes me sad.$" -gUnknown_082A4B9B:: @ 82A4B9B - .incbin "baserom.gba", 0x2a4b9b, 0x11 +gUnknown_0829441C:: @ 829441C + .string "What’s the bottom of the sea like?\n" + .string "Just once I would so love to go!$" -gUnknown_082A4BAC:: @ 82A4BAC - .incbin "baserom.gba", 0x2a4bac, 0xf66 +gUnknown_08294460:: @ 8294460 + .string "When you see the setting sun, does it\n" + .string "make you want to go home?$" -gUnknown_082A5B12:: @ 82A5B12 - .incbin "baserom.gba", 0x2a5b12, 0x3c +gUnknown_082944A0:: @ 82944A0 + .string "Lying back in the green grass…\n" + .string "Oh, it’s so, so nice!$" -gUnknown_082A5B4E:: @ 82A5B4E - .incbin "baserom.gba", 0x2a5b4e, 0x1d +gUnknown_082944D5:: @ 82944D5 + .string "SECRET BASES are so wonderful!\n" + .string "Can’t you feel the excitement?$" -gUnknown_082A5B6B:: @ 82A5B6B - .incbin "baserom.gba", 0x2a5b6b, 0x1e + .include "data/text/trainers.inc" -gUnknown_082A5B89:: @ 82A5B89 - .incbin "baserom.gba", 0x2a5b89, 0x42 +EventScript_RepelWoreOff:: @ 82A4B2A + msgbox Text_RepelWoreOff, 3 + end -gUnknown_082A5BCB:: @ 82A5BCB - .incbin "baserom.gba", 0x2a5bcb, 0xc +Text_RepelWoreOff: @ 82A4B33 + .string "REPEL’s effect wore off…$" -gUnknown_082A5BD7:: @ 82A5BD7 - .incbin "baserom.gba", 0x2a5bd7, 0x9 + .include "data/scripts/safari_zone.inc" -gUnknown_082A5BE0:: @ 82A5BE0 - .incbin "baserom.gba", 0x2a5be0, 0xf +MauvilleCity_GameCorner_EventScript_2A5AB1:: @ 82A5AB1 + checkitem ITEM_COIN_CASE, 1 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_210456 + setvar VAR_0x8004, 0 + getpricereduction 2 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_2A5B0D + addvar VAR_0x8004, 128 + goto MauvilleCity_GameCorner_EventScript_2A5B0D + end -gUnknown_082A5BEF:: @ 82A5BEF - .incbin "baserom.gba", 0x2a5bef, 0x15 +MauvilleCity_GameCorner_EventScript_2A5ADF:: @ 82A5ADF + checkitem ITEM_COIN_CASE, 1 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_210456 + setvar VAR_0x8004, 1 + getpricereduction 2 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_2A5B0D + addvar VAR_0x8004, 128 + goto MauvilleCity_GameCorner_EventScript_2A5B0D + end -gUnknown_082A5C04:: @ 82A5C04 - .incbin "baserom.gba", 0x2a5c04, 0xf +MauvilleCity_GameCorner_EventScript_2A5B0D:: @ 82A5B0D + special sub_8142BC8 + waitstate + end -gUnknown_082A5C13:: @ 82A5C13 - .incbin "baserom.gba", 0x2a5c13, 0xe + .include "data/text/roulette.inc" + .include "data/text/pokedex_rating.inc" + .include "data/text/lottery_corner.inc" + .include "data/text/eon_ticket.inc" + .include "data/text/braille.inc" + .include "data/text/berries.inc" + .include "data/text/shoal_cave.inc" -gUnknown_082A5C21:: @ 82A5C21 - .incbin "baserom.gba", 0x2a5c21, 0x40 +Text_2A81E5: @ 82A81E5 + .string "There’s a set of POKéMON picture books.$" -gUnknown_082A5C61:: @ 82A5C61 - .incbin "baserom.gba", 0x2a5c61, 0x3b +Text_2A820D: @ 82A820D + .string "It’s filled with all sorts of books.$" -gUnknown_082A5C9C:: @ 82A5C9C - .incbin "baserom.gba", 0x2a5c9c, 0x90 +Text_2A8232: @ 82A8232 + .string "POKéMON magazines!\n" + .string "POKéMON PAL…\p" + .string "POKéMON HANDBOOK…\n" + .string "ADORABLE POKéMON…$" -gUnknown_082A5D2C:: @ 82A5D2C - .incbin "baserom.gba", 0x2a5d2c, 0x40 +Text_2A8276: @ 82A8276 + .string "This vase looks expensive…\n" + .string "Peered inside…\p" + .string "But, it was empty.$" -gUnknown_082A5D6C:: @ 82A5D6C - .incbin "baserom.gba", 0x2a5d6c, 0x3f +Text_2A82B3: @ 82A82B3 + .string "It’s empty.$" -gUnknown_082A5DAB:: @ 82A5DAB - .incbin "baserom.gba", 0x2a5dab, 0x46 +Text_2A82BF: @ 82A82BF + .string "The shelves brim with all sorts of\n" + .string "POKéMON merchandise.$" -gUnknown_082A5DF1:: @ 82A5DF1 - .incbin "baserom.gba", 0x2a5df1, 0x43 +Text_2A82F7: @ 82A82F7 + .string "A blueprint of some sort?\n" + .string "It’s too complicated!$" -gUnknown_082A5E34:: @ 82A5E34 - .incbin "baserom.gba", 0x2a5e34, 0x4f +GraniteCave_B1F_MapScript2_2A8327: @ 82A8327 +MirageTower_2F_MapScript2_2A8327: @ 82A8327 +MirageTower_3F_MapScript2_2A8327: @ 82A8327 +MtPyre_2F_MapScript2_2A8327: @ 82A8327 +SkyPillar_2F_MapScript2_2A8327: @ 82A8327 +SkyPillar_4F_MapScript2_2A8327: @ 82A8327 + map_script_2 VAR_ICE_STEP_COUNT, 0, gUnknown_082A8337 + .2byte 0 -gUnknown_082A5E83:: @ 82A5E83 - .incbin "baserom.gba", 0x2a5e83, 0x36 - -gUnknown_082A5EB9:: @ 82A5EB9 - .incbin "baserom.gba", 0x2a5eb9, 0x3b - -gUnknown_082A5EF4:: @ 82A5EF4 - .incbin "baserom.gba", 0x2a5ef4, 0x45 - -gUnknown_082A5F39:: @ 82A5F39 - .incbin "baserom.gba", 0x2a5f39, 0x49 - -gUnknown_082A5F82:: @ 82A5F82 - .incbin "baserom.gba", 0x2a5f82, 0x37 - -gUnknown_082A5FB9:: @ 82A5FB9 - .incbin "baserom.gba", 0x2a5fb9, 0x5f - -gUnknown_082A6018:: @ 82A6018 - .incbin "baserom.gba", 0x2a6018, 0x49 - -gUnknown_082A6061:: @ 82A6061 - .incbin "baserom.gba", 0x2a6061, 0x3b - -gUnknown_082A609C:: @ 82A609C - .incbin "baserom.gba", 0x2a609c, 0x39 - -gUnknown_082A60D5:: @ 82A60D5 - .incbin "baserom.gba", 0x2a60d5, 0x4f - -gUnknown_082A6124:: @ 82A6124 - .incbin "baserom.gba", 0x2a6124, 0x4b - -gUnknown_082A616F:: @ 82A616F - .incbin "baserom.gba", 0x2a616f, 0x67 - -gUnknown_082A61D6:: @ 82A61D6 - .incbin "baserom.gba", 0x2a61d6, 0x64 - -gUnknown_082A623A:: @ 82A623A - .incbin "baserom.gba", 0x2a623a, 0x4d - -gUnknown_082A6287:: @ 82A6287 - .incbin "baserom.gba", 0x2a6287, 0x42 - -gUnknown_082A62C9:: @ 82A62C9 - .incbin "baserom.gba", 0x2a62c9, 0x49 - -gUnknown_082A6312:: @ 82A6312 - .incbin "baserom.gba", 0x2a6312, 0x2b - -gUnknown_082A633D:: @ 82A633D - .incbin "baserom.gba", 0x2a633d, 0x1ffa +GraniteCave_B1F_MapScript1_2A8331: @ 82A8331 +MirageTower_2F_MapScript1_2A8331: @ 82A8331 +MirageTower_3F_MapScript1_2A8331: @ 82A8331 +MtPyre_2F_MapScript1_2A8331: @ 82A8331 + copyvar VAR_ICE_STEP_COUNT, 0x1 + end gUnknown_082A8337:: @ 82A8337 - .incbin "baserom.gba", 0x2a8337, 0x19 + lockall + delay 20 + applymovement 255, GraniteCave_B1F_Movement_2A8369 + waitmovement 0 + playse SE_RU_HYUU + delay 60 + warphole UNDEFINED + waitstate + end gUnknown_082A8350:: @ 82A8350 - .incbin "baserom.gba", 0x2a8350, 0x20043 + lockall + delay 20 + applymovement 255, GraniteCave_B1F_Movement_2A8369 + waitmovement 0 + playse SE_RU_HYUU + delay 60 + special sp13F_fall_to_last_warp + waitstate + end -gUnknown_082C8393:: @ 82C8393 - .incbin "baserom.gba", 0x2c8393, 0x5d +GraniteCave_B1F_Movement_2A8369: @ 82A8369 + step_54 + step_end -gUnknown_082C83F0:: @ 82C83F0 - .incbin "baserom.gba", 0x2c83f0, 0x46 +LilycoveCity_PokemonCenter_1F_EventScript_2A836B:: @ 82A836B + special sub_818DAEC + switch VAR_RESULT + case 0, LilycoveCity_PokemonCenter_1F_EventScript_2A8554 + case 1, LilycoveCity_PokemonCenter_1F_EventScript_2A8395 + case 2, LilycoveCity_PokemonCenter_1F_EventScript_2A882A + end -gUnknown_082C8436:: @ 82C8436 - .incbin "baserom.gba", 0x2c8436, 0x37e +LilycoveCity_PokemonCenter_1F_EventScript_2A8395:: @ 82A8395 + lock + faceplayer + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8A69, 4 + specialvar VAR_RESULT, sub_818DBE8 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83D0 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83C6 + compare VAR_RESULT, 2 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8510 + end -gUnknown_082C87B4:: @ 82C87B4 - .incbin "baserom.gba", 0x2c87b4, 0x21 +LilycoveCity_PokemonCenter_1F_EventScript_2A83C6:: @ 82A83C6 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8AB1, 4 + release + end -gUnknown_082C87D5:: @ 82C87D5 - .incbin "baserom.gba", 0x2c87d5, 0x3b +LilycoveCity_PokemonCenter_1F_EventScript_2A83D0:: @ 82A83D0 + special sub_818DC2C + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8A7D, 4 + specialvar VAR_RESULT, sub_818DC60 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8435 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83F7 + end -gUnknown_082C8810:: @ 82C8810 - .incbin "baserom.gba", 0x2c8810, 0x22 +LilycoveCity_PokemonCenter_1F_EventScript_2A83F7:: @ 82A83F7 + special sub_818DCC8 + special sub_818DD14 + specialvar VAR_RESULT, sub_818DD54 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8419 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8427 + end -gUnknown_082C8832:: @ 82C8832 - .incbin "baserom.gba", 0x2c8832, 0x13 +LilycoveCity_PokemonCenter_1F_EventScript_2A8419:: @ 82A8419 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8ACE, 4 + goto LilycoveCity_PokemonCenter_1F_EventScript_2A8435 + end -gUnknown_082C8845:: @ 82C8845 - .incbin "baserom.gba", 0x2c8845, 0xe5 +LilycoveCity_PokemonCenter_1F_EventScript_2A8427:: @ 82A8427 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8B36, 4 + goto LilycoveCity_PokemonCenter_1F_EventScript_2A8435 + end -gUnknown_082C892A:: @ 82C892A - .incbin "baserom.gba", 0x2c892a, 0x2f +LilycoveCity_PokemonCenter_1F_EventScript_2A8435:: @ 82A8435 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8B69, 5 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8454 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A845E + end -gUnknown_082C8959:: @ 82C8959 - .incbin "baserom.gba", 0x2c8959, 0x22 +LilycoveCity_PokemonCenter_1F_EventScript_2A8454:: @ 82A8454 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8BCD, 4 + release + end -gUnknown_082C897B:: @ 82C897B - .incbin "baserom.gba", 0x2c897b, 0xa4 +LilycoveCity_PokemonCenter_1F_EventScript_2A845E:: @ 82A845E + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8BAD, 4 + goto LilycoveCity_PokemonCenter_1F_EventScript_2A846C + end -gUnknown_082C8A1F:: @ 82C8A1F - .incbin "baserom.gba", 0x2c8a1f, 0x1b1 +LilycoveCity_PokemonCenter_1F_EventScript_2A846C:: @ 82A846C + fadescreen 1 + setvar VAR_RESULT, 0 + special sub_818DD78 + waitstate + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A848E + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84AD + end -gUnknown_082C8BD0:: @ 82C8BD0 - .incbin "baserom.gba", 0x2c8bd0, 0xd +LilycoveCity_PokemonCenter_1F_EventScript_2A848E:: @ 82A848E + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8BEE, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8454 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A846C + end -gUnknown_082C8BDD:: @ 82C8BDD - .incbin "baserom.gba", 0x2c8bdd, 0x22 +LilycoveCity_PokemonCenter_1F_EventScript_2A84AD:: @ 82A84AD + specialvar VAR_RESULT, sub_818DE44 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84C9 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84D6 + end -gUnknown_082C8BFF:: @ 82C8BFF - .incbin "baserom.gba", 0x2c8bff, 0x1d +LilycoveCity_PokemonCenter_1F_EventScript_2A84C9:: @ 82A84C9 + special sub_818DC2C + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8C0F, 4 + release + end -gUnknown_082C8C1C:: @ 82C8C1C - .incbin "baserom.gba", 0x2c8c1c, 0xe +LilycoveCity_PokemonCenter_1F_EventScript_2A84D6:: @ 82A84D6 + specialvar VAR_RESULT, sub_818DE5C + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84F2 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84FF + end -gUnknown_082C8C2A:: @ 82C8C2A - .incbin "baserom.gba", 0x2c8c2a, 0x50 +LilycoveCity_PokemonCenter_1F_EventScript_2A84F2:: @ 82A84F2 + special sub_818DC2C + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8C6F, 4 + release + end -gUnknown_082C8C7A:: @ 82C8C7A - .incbin "baserom.gba", 0x2c8c7a, 0xea +LilycoveCity_PokemonCenter_1F_EventScript_2A84FF:: @ 82A84FF + special sub_818DC2C + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8CC8, 4 + goto LilycoveCity_PokemonCenter_1F_EventScript_2A8510 + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8510:: @ 82A8510 + setvar VAR_0x8004, 0 + specialvar VAR_0x8004, sub_818DEA0 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8D5D, 4 + giveitem_std VAR_0x8004 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8545 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A854F + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8545:: @ 82A8545 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8DBD, 4 + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A854F:: @ 82A854F + special sub_818DEDC + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8554:: @ 82A8554 + lock + faceplayer + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8E2B, 4 + specialvar VAR_RESULT, sub_818E038 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8585 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85AC + compare VAR_RESULT, 2 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86EC + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8585:: @ 82A8585 + specialvar VAR_RESULT, sub_818E06C + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85C8 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85D2 + compare VAR_RESULT, 2 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85E0 + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A85AC:: @ 82A85AC + specialvar VAR_RESULT, sub_818E2D8 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8759 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85C8 + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A85C8:: @ 82A85C8 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8E4E, 4 + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A85D2:: @ 82A85D2 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8EAC, 4 + goto LilycoveCity_PokemonCenter_1F_EventScript_2A85EE + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A85E0:: @ 82A85E0 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8EAC, 4 + goto LilycoveCity_PokemonCenter_1F_EventScript_2A85EE + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A85EE:: @ 82A85EE + setvar VAR_0x8004, 0 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8EEC, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A861C + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8612 + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8612:: @ 82A8612 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F65, 4 + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A861C:: @ 82A861C + special sub_818E3BC + compare VAR_0x8004, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A864C + compare VAR_0x8004, 15 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8656 + +LilycoveCity_PokemonCenter_1F_EventScript_2A8635:: @ 82A8635 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8660 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8689 + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A864C:: @ 82A864C + special sub_811A858 + waitstate + goto LilycoveCity_PokemonCenter_1F_EventScript_2A8635 + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8656:: @ 82A8656 + special sub_818E2FC + waitstate + goto LilycoveCity_PokemonCenter_1F_EventScript_2A8635 + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8660:: @ 82A8660 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F7E, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A867F + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A861C + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A867F:: @ 82A867F + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F9A, 4 + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8689:: @ 82A8689 + special sub_818E37C + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F4D, 4 + specialvar VAR_RESULT, sub_818E308 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86C7 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86B0 + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A86B0:: @ 82A86B0 + playse SE_SEIKAI + delay 10 + playse SE_SEIKAI + msgbox LilycoveCity_PokemonCenter_1F_Text_2A8FC7, 4 + goto LilycoveCity_PokemonCenter_1F_EventScript_2A86EC + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A86C7:: @ 82A86C7 + special sub_818E538 + special sub_818E274 + playse SE_HAZURE + delay 10 + playse SE_HAZURE + msgbox LilycoveCity_PokemonCenter_1F_Text_2A90A5, 4 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A90CD, 4 + goto LilycoveCity_PokemonCenter_1F_EventScript_2A8759 + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A86EC:: @ 82A86EC + specialvar VAR_RESULT, sub_818E298 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8708 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8716 + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8708:: @ 82A8708 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A9007, 4 + goto LilycoveCity_PokemonCenter_1F_EventScript_2A8724 + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8716:: @ 82A8716 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A9007, 4 + goto LilycoveCity_PokemonCenter_1F_EventScript_2A8724 + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8724:: @ 82A8724 + setvar VAR_0x8005, 0 + special sub_818E358 + special sub_818E37C + giveitem_std VAR_0x8005 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A874C + goto LilycoveCity_PokemonCenter_1F_EventScript_2A8759 + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A874C:: @ 82A874C + msgbox LilycoveCity_PokemonCenter_1F_Text_2A906A, 4 + special sub_818E39C + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8759:: @ 82A8759 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A90FB, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8785 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778 + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8778:: @ 82A8778 + special sub_818E3EC + msgbox LilycoveCity_PokemonCenter_1F_Text_2A9131, 4 + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8785:: @ 82A8785 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A9153, 4 + +LilycoveCity_PokemonCenter_1F_EventScript_2A878D:: @ 82A878D + fadescreen 1 + setvar VAR_RESULT, 0 + special sub_818E3E0 + waitstate + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87AF + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87CE + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A87AF:: @ 82A87AF + msgbox LilycoveCity_PokemonCenter_1F_Text_2A9212, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A878D + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A87CE:: @ 82A87CE + msgbox LilycoveCity_PokemonCenter_1F_Text_2A9270, 4 + special sub_818E430 + special sub_818E3BC + setvar VAR_0x8004, 16 + +LilycoveCity_PokemonCenter_1F_EventScript_2A87E1:: @ 82A87E1 + fadescreen 1 + special sub_818E47C + waitstate + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87F8 + goto LilycoveCity_PokemonCenter_1F_EventScript_2A8817 + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A87F8:: @ 82A87F8 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A92D3, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87E1 + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8817:: @ 82A8817 + special sub_818E490 + special sub_818E4A4 + special sub_818E510 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A9336, 4 + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A882A:: @ 82A882A + lock + faceplayer + msgbox LilycoveCity_PokemonCenter_1F_Text_2A93A7, 4 + specialvar VAR_RESULT, sub_818E8B4 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8850 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A886C + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8850:: @ 82A8850 + specialvar VAR_RESULT, sub_818E8E0 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8876 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A886C + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A886C:: @ 82A886C + msgbox LilycoveCity_PokemonCenter_1F_Text_2A93D6, 4 + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8876:: @ 82A8876 + special sub_818E914 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A93F4, 4 + checkitem ITEM_POKEBLOCK_CASE, 1 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A89AE + msgbox LilycoveCity_PokemonCenter_1F_Text_2A94E8, 5 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88B0 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88BA + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A88B0:: @ 82A88B0 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A9556, 4 + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A88BA:: @ 82A88BA + fadescreen 1 + special sub_818E92C + waitstate + compare VAR_RESULT, 65535 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88D7 + compare VAR_RESULT, 65535 + goto_if 5, LilycoveCity_PokemonCenter_1F_EventScript_2A88F6 + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A88D7:: @ 82A88D7 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A9537, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88B0 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88BA + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A88F6:: @ 82A88F6 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A9571, 4 + special sub_818E940 + special sub_818E960 + goto LilycoveCity_PokemonCenter_1F_EventScript_2A890A + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A890A:: @ 82A890A + applymovement 4, LilycoveCity_PokemonCenter_1F_Movement_2A89B8 + waitmovement 0 + delay 60 + applymovement 5, LilycoveCity_PokemonCenter_1F_Movement_2A89BB + waitmovement 0 + delay 60 + waitse + playmoncry VAR_0x8005, 0 + delay 120 + waitmoncry + compare VAR_0x8004, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A893F + goto LilycoveCity_PokemonCenter_1F_EventScript_2A894C + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A893F:: @ 82A893F + applymovement 5, LilycoveCity_PokemonCenter_1F_Movement_2A89C2 + waitmovement 0 + delay 60 + +LilycoveCity_PokemonCenter_1F_EventScript_2A894C:: @ 82A894C + applymovement 4, LilycoveCity_PokemonCenter_1F_Movement_2A89C0 + waitmovement 0 + delay 60 + compare VAR_0x8004, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8970 + compare VAR_0x8004, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A897E + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8970:: @ 82A8970 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A95AD, 4 + goto LilycoveCity_PokemonCenter_1F_EventScript_2A898F + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A897E:: @ 82A897E + special sub_818E914 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A9605, 4 + goto LilycoveCity_PokemonCenter_1F_EventScript_2A898F + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A898F:: @ 82A898F + specialvar VAR_RESULT, sub_818E8E0 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A89A1 + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A89A1:: @ 82A89A1 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A9669, 4 + special PutLilycoveContestLadyShowOnTheAir + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A89AE:: @ 82A89AE + msgbox LilycoveCity_PokemonCenter_1F_Text_2A9451, 4 + release + end + +LilycoveCity_PokemonCenter_1F_Movement_2A89B8: @ 82A89B8 + step_03 + step_13 + step_end + +LilycoveCity_PokemonCenter_1F_Movement_2A89BB: @ 82A89BB + step_02 + step_13 + step_end + +LilycoveCity_PokemonCenter_1F_Movement_2A89BE: @ 82A89BE + step_00 + step_end + +LilycoveCity_PokemonCenter_1F_Movement_2A89C0: @ 82A89C0 + step_3e + step_end + +LilycoveCity_PokemonCenter_1F_Movement_2A89C2: @ 82A89C2 + step_51 + step_48 + step_51 + step_48 + step_end + +LilycoveCity_PokemonCenter_1F_EventScript_2A89C7:: @ 82A89C7 + specialvar VAR_RESULT, sub_818E990 + special sub_818E914 + special sub_818E960 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A0A + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A1D + compare VAR_RESULT, 2 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A30 + compare VAR_RESULT, 3 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A43 + compare VAR_RESULT, 4 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A56 + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8A0A:: @ 82A8A0A + lock + faceplayer + waitse + playmoncry VAR_0x8005, 0 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A96DA, 4 + waitmoncry + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8A1D:: @ 82A8A1D + lock + faceplayer + waitse + playmoncry VAR_0x8005, 0 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A970E, 4 + waitmoncry + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8A30:: @ 82A8A30 + lock + faceplayer + waitse + playmoncry VAR_0x8005, 0 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A96F6, 4 + waitmoncry + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8A43:: @ 82A8A43 + lock + faceplayer + waitse + playmoncry VAR_0x8005, 0 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A96E6, 4 + waitmoncry + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_2A8A56:: @ 82A8A56 + lock + faceplayer + waitse + playmoncry VAR_0x8005, 0 + msgbox LilycoveCity_PokemonCenter_1F_Text_2A9703, 4 + waitmoncry + release + end + +LilycoveCity_PokemonCenter_1F_Text_2A8A69: @ 82A8A69 + .string "I’m the FAVOR LADY…$" + +LilycoveCity_PokemonCenter_1F_Text_2A8A7D: @ 82A8A7D + .string "I’ve recently developed an obsession\n" + .string "for {STR_VAR_1} things…$" + +LilycoveCity_PokemonCenter_1F_Text_2A8AB1: @ 82A8AB1 + .string "Oh…\n" + .string "Thank you for last time…$" + +LilycoveCity_PokemonCenter_1F_Text_2A8ACE: @ 82A8ACE + .string "Before, I think it was {STR_VAR_3}…\p" + .string "{STR_VAR_3} gave me one {STR_VAR_2},\n" + .string "saying it was {STR_VAR_1}.\p" + .string "But it wasn’t {STR_VAR_1}.\n" + .string "Not in the least bit.$" + +LilycoveCity_PokemonCenter_1F_Text_2A8B36: @ 82A8B36 + .string "Before, {STR_VAR_3} gave me a very\n" + .string "{STR_VAR_1} {STR_VAR_2}.\p" + .string "I cherish it now.$" + +LilycoveCity_PokemonCenter_1F_Text_2A8B69: @ 82A8B69 + .string "Listen, if you have anything that\n" + .string "is {STR_VAR_1}, will you share it\l" + .string "with me?$" + +LilycoveCity_PokemonCenter_1F_Text_2A8BAD: @ 82A8BAD + .string "…Really?\n" + .string "What will you give me?$" + +LilycoveCity_PokemonCenter_1F_Text_2A8BCD: @ 82A8BCD + .string "Is that so?\n" + .string "Then, it’s good-bye…$" + +LilycoveCity_PokemonCenter_1F_Text_2A8BEE: @ 82A8BEE + .string "Oh…\n" + .string "You’re not willing to share?$" + +LilycoveCity_PokemonCenter_1F_Text_2A8C0F: @ 82A8C0F + .string "Oh?\n" + .string "That {STR_VAR_2} is {STR_VAR_1}?\p" + .string "…Oh, is that right?\p" + .string "Well, I owe you a thanks anyway.\n" + .string "I’ll try to cherish it…$" + +LilycoveCity_PokemonCenter_1F_Text_2A8C6F: @ 82A8C6F + .string "Oh…\p" + .string "That’s a quite {STR_VAR_1}\n" + .string "{STR_VAR_2}…\p" + .string "Isn’t it nice?\n" + .string "It’s so dreamy…\p" + .string "Thank you…\n" + .string "I will cherish this…$" + +LilycoveCity_PokemonCenter_1F_Text_2A8CC8: @ 82A8CC8 + .string "…Oh, oh, oh…\p" + .string "This is amazing!\n" + .string "This really is {STR_VAR_1}!\p" + .string "I never knew that one {STR_VAR_2}\n" + .string "could be this {STR_VAR_1}!\p" + .string "Thank you!\p" + .string "I will treasure this for the rest\n" + .string "of my life!$" + +LilycoveCity_PokemonCenter_1F_Text_2A8D5D: @ 82A8D5D + .string "I’ll give you this wonderful item in\n" + .string "return for your fabulous gift.\p" + .string "I hope you will cherish it…$" + +LilycoveCity_PokemonCenter_1F_Text_2A8DBD: @ 82A8DBD + .string "Oh, you can’t have it if you don’t have\n" + .string "the space for it.\p" + .string "Please come see me when you get\n" + .string "your BAG organized…$" + +LilycoveCity_PokemonCenter_1F_Text_2A8E2B: @ 82A8E2B + .string "I’m the QUIZ LADY!\n" + .string "I love quizzes!$" + +LilycoveCity_PokemonCenter_1F_Text_2A8E4E: @ 82A8E4E + .string "Oh?\p" + .string "I’m waiting for a challenger to answer\n" + .string "the quiz you made.\p" + .string "We can chat another time, okay?$" + +LilycoveCity_PokemonCenter_1F_Text_2A8EAC: @ 82A8EAC + .string "I’m waiting for someone to challenge\n" + .string "a quiz this {STR_VAR_1} thought up!$" + +LilycoveCity_PokemonCenter_1F_Text_2A8EEC: @ 82A8EEC + .string "If you answer correctly, you can win\n" + .string "fabulous prizes!\p" + .string "Would you like to take the quiz\n" + .string "challenge?$" + +LilycoveCity_PokemonCenter_1F_Text_2A8F4D: @ 82A8F4D + .string "… … … … … …\n" + .string "… … … … … …$" + +LilycoveCity_PokemonCenter_1F_Text_2A8F65: @ 82A8F65 + .string "Oh, how boring!\n" + .string "Bye-bye!$" + +LilycoveCity_PokemonCenter_1F_Text_2A8F7E: @ 82A8F7E + .string "Awww!\n" + .string "You’re going to quit?$" + +LilycoveCity_PokemonCenter_1F_Text_2A8F9A: @ 82A8F9A + .string "Please take the quiz challenge\n" + .string "another time!$" + +LilycoveCity_PokemonCenter_1F_Text_2A8FC7: @ 82A8FC7 + .string "You’re amazing! You’ve got it right!\n" + .string "You’re one sharp customer!$" + +LilycoveCity_PokemonCenter_1F_Text_2A9007: @ 82A9007 + .string "Congratulations!\n" + .string "You’ve got the quiz right!\p" + .string "You’ve won a prize provided by\n" + .string "{STR_VAR_1}!$" + +LilycoveCity_PokemonCenter_1F_Text_2A9056: @ 82A9056 + .string "{STR_VAR_1} received\n" + .string "one {STR_VAR_2}!$" + +LilycoveCity_PokemonCenter_1F_Text_2A906A: @ 82A906A + .string "Oh? Your BAG is filled up!\n" + .string "Come see me when you have room.$" + +LilycoveCity_PokemonCenter_1F_Text_2A90A5: @ 82A90A5 + .string "Hmm… Wrong!\n" + .string "The correct answer is “{STR_VAR_3}”!$" + +LilycoveCity_PokemonCenter_1F_Text_2A90CD: @ 82A90CD + .string "Too bad!\p" + .string "I get to keep the quiz prize\n" + .string "{STR_VAR_1} now!$" + +LilycoveCity_PokemonCenter_1F_Text_2A90FB: @ 82A90FB + .string "Listen, listen!\n" + .string "Would you like to make your own quiz?$" + +LilycoveCity_PokemonCenter_1F_Text_2A9131: @ 82A9131 + .string "Oh, I see…\n" + .string "Well, maybe next time!$" + +LilycoveCity_PokemonCenter_1F_Text_2A9153: @ 82A9153 + .string "Okay, the first thing you have to do\n" + .string "is pick the prize for the person that\l" + .string "answers your quiz correctly.\p" + .string "But beware, if the person taking\n" + .string "the quiz can’t get it right, I get to\l" + .string "keep the prize!$" + +LilycoveCity_PokemonCenter_1F_Text_2A9212: @ 82A9212 + .string "If you don’t choose a prize,\n" + .string "your quiz can’t be made.\p" + .string "Are you going to quit making\n" + .string "your quiz?$" + +LilycoveCity_PokemonCenter_1F_Text_2A9270: @ 82A9270 + .string "Oh, how nice!\n" + .string "That’s a wonderful prize!\p" + .string "Next, you need to write your quiz\n" + .string "question and its answer.$" + +LilycoveCity_PokemonCenter_1F_Text_2A92D3: @ 82A92D3 + .string "Are you going to quit writing\n" + .string "your quiz question?$" + +LilycoveCity_PokemonCenter_1F_Text_2A9305: @ 82A9305 + .string "Are you going to quit choosing\n" + .string "your quiz answer?$" + +LilycoveCity_PokemonCenter_1F_Text_2A9336: @ 82A9336 + .string "Thank you!\n" + .string "You’ve put together a nice quiz.\p" + .string "I’ll go look for someone who’ll take\n" + .string "your quiz challenge right away.$" + +LilycoveCity_PokemonCenter_1F_Text_2A93A7: @ 82A93A7 + .string "I’m the CONTEST LADY!\n" + .string "I sure do love CONTESTS!$" + +LilycoveCity_PokemonCenter_1F_Text_2A93D6: @ 82A93D6 + .string "Thanks for your {POKEBLOCK} before!$" + +LilycoveCity_PokemonCenter_1F_Text_2A93F4: @ 82A93F4 + .string "This is my friend {STR_VAR_1}!\n" + .string "It’s the epitome of {STR_VAR_2}!\p" + .string "But I think that it will display\n" + .string "even more {STR_VAR_2}!$" + +LilycoveCity_PokemonCenter_1F_Text_2A9451: @ 82A9451 + .string "So, I need your help!\p" + .string "Please, may I have one {POKEBLOCK}?\n" + .string "All I’m asking for is one!\p" + .string "…Oh, but…\n" + .string "Don’t you have a {POKEBLOCK} CASE?\l" + .string "That’s no good. Next time, then!$" + +LilycoveCity_PokemonCenter_1F_Text_2A94E8: @ 82A94E8 + .string "So, I need your help!\p" + .string "Please, may I have one {POKEBLOCK}?\n" + .string "All I’m asking for is one!$" + +LilycoveCity_PokemonCenter_1F_Text_2A9537: @ 82A9537 + .string "Awww!\n" + .string "I can’t have one {POKEBLOCK}?!$" + +LilycoveCity_PokemonCenter_1F_Text_2A9556: @ 82A9556 + .string "Sheesh!\n" + .string "What a cheapskate!$" + +LilycoveCity_PokemonCenter_1F_Text_2A9571: @ 82A9571 + .string "Yay!\n" + .string "Thank you!\p" + .string "I’ll feed my POKéMON your {POKEBLOCK}\n" + .string "right away.$" + +LilycoveCity_PokemonCenter_1F_Text_2A95AD: @ 82A95AD + .string "…It doesn’t seem to have changed\n" + .string "in any way at all…\p" + .string "Hmm…\p" + .string "Oh, well!\n" + .string "Thank you very much!$" + +LilycoveCity_PokemonCenter_1F_Text_2A9605: @ 82A9605 + .string "Oh, yay!\n" + .string "It’s really delighted!\p" + .string "I think it really improved {STR_VAR_1}’s\n" + .string "{STR_VAR_2} quality, too.\p" + .string "Thank you so much!$" + +LilycoveCity_PokemonCenter_1F_Text_2A9669: @ 82A9669 + .string "Hmm…\p" + .string "I think we may be ready to enter\n" + .string "some CONTESTS.\p" + .string "If you see us in one somewhere,\n" + .string "I hope you’ll cheer for us.$" + +LilycoveCity_PokemonCenter_1F_Text_2A96DA: @ 82A96DA + .string "{STR_VAR_1}: Guguuh!$" + +LilycoveCity_PokemonCenter_1F_Text_2A96E6: @ 82A96E6 + .string "{STR_VAR_1}: Igigigiiih!$" + +LilycoveCity_PokemonCenter_1F_Text_2A96F6: @ 82A96F6 + .string "{STR_VAR_1}: Baaarun…$" + +LilycoveCity_PokemonCenter_1F_Text_2A9703: @ 82A9703 + .string "{STR_VAR_1}: Pikka!$" + +LilycoveCity_PokemonCenter_1F_Text_2A970E: @ 82A970E + .string "{STR_VAR_1}: Umyaaaan!$" + +BattleFrontier_PokeNav_2A971C:: @ 82A971C + .string "Hi! {PLAYER}{STRING 5}, hello!\n" + .string "This is {STR_VAR_1}.\p" + .string "I saw this {STR_VAR_2} a while back\n" + .string "but I couldn’t catch it.\p" + .string "It was so close, too!\n" + .string "Well, see you again!$" + +BattleFrontier_PokeNav_2A9798:: @ 82A9798 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It’s {STR_VAR_1}.\p" + .string "I tried to catch a nice {STR_VAR_2}\n" + .string "a little while ago.\p" + .string "But, it got away.\n" + .string "I was sure disappointed!\p" + .string "Okay, bye!$" + +BattleFrontier_PokeNav_2A9813:: @ 82A9813 + .string "Hey there, {PLAYER}!\n" + .string "It’s me, {STR_VAR_1}.\p" + .string "I just took a shot at catching\n" + .string "this {STR_VAR_2}, but it took off.\p" + .string "I came oh so close, too!\p" + .string "It spoiled my day…\n" + .string "All right, see you!$" + +BattleFrontier_PokeNav_2A98A8:: @ 82A98A8 + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\p" + .string "You know the POKéMON {STR_VAR_2}?\n" + .string "I came close to getting one.\p" + .string "It was just a while back.\n" + .string "I thought I had it but it escaped.\p" + .string "If I see it again, I’ll get it for\n" + .string "sure, though.\p" + .string "Okay, catch you later.$" + +BattleFrontier_PokeNav_2A9977:: @ 82A9977 + .string "Hiya, {PLAYER}{STRING 5}!\n" + .string "It’s {STR_VAR_1}.\l" + .string "Catching any POKéMON lately?\p" + .string "A little while ago I came close to\n" + .string "nabbing one, but it got loose.\p" + .string "Right, take care!$" + +BattleFrontier_PokeNav_2A99FD:: @ 82A99FD + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\l" + .string "Caught any POKéMON lately?\p" + .string "I nearly nabbed one the other day.\n" + .string "But it evaded me somehow.\p" + .string "You take care.$" + +BattleFrontier_PokeNav_2A9A78:: @ 82A9A78 + .string "…Uh, {PLAYER}{STRING 5}?\n" + .string "It’s me, {STR_VAR_1}.\p" + .string "Oh, wait! Wait!\n" + .string "I can catch this {STR_VAR_2}…\p" + .string "Aaarrrgh! It bolted loose!\n" + .string "That wasn’t just close!$" + +BattleFrontier_PokeNav_2A9AE8:: @ 82A9AE8 + .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1} speaking.\p" + .string "Have you had success catching\n" + .string "POKéMON lately?\p" + .string "I came very close a little while\n" + .string "ago, but my target got free.\p" + .string "I need to try harder!\n" + .string "See you again!$" + +BattleFrontier_PokeNav_2A9BA7:: @ 82A9BA7 + .string "Oh, {PLAYER}{STRING 5}, hi there!\n" + .string "This is {STR_VAR_1}!\p" + .string "So? Are you getting more POKéMON\n" + .string "together?\p" + .string "I’m having a rotten time of it!\n" + .string "They all get away from me!\p" + .string "See you!$" + +BattleFrontier_PokeNav_2A9C36:: @ 82A9C36 + .string "Oh, {PLAYER}{STRING 5}, hello…\n" + .string "This is {STR_VAR_1}.\p" + .string "Listen, I came within a whisker of\n" + .string "catching this {STR_VAR_2}…\p" + .string "But, it gave me the slip…\p" + .string "I need to try harder.\n" + .string "See you around.$" + +BattleFrontier_PokeNav_2A9CC8:: @ 82A9CC8 + .string "Ah, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\l" + .string "How are things with you?\p" + .string "I tried to catch a wild {STR_VAR_2}\n" + .string "earlier, but it managed to flee.\p" + .string "I feel defeated…$" + +BattleFrontier_PokeNav_2A9D44:: @ 82A9D44 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It’s me, {STR_VAR_1}.\l" + .string "Are you still catching POKéMON?\p" + .string "I’ve been trying to catch them\n" + .string "myself, but it’s not so easy.\p" + .string "The way of POKéMON is deep!$" + +BattleFrontier_PokeNav_2A9DD7:: @ 82A9DD7 + .string "Ah, hello, {PLAYER}{STRING 5}!\n" + .string "This is {STR_VAR_1}!\l" + .string "Have you been catching POKéMON?\p" + .string "I’ve been trying to catch them\n" + .string "myself, but with little success.\p" + .string "The way of POKéMON is deep!$" + +BattleFrontier_PokeNav_2A9E70:: @ 82A9E70 + .string "Oh, hi, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1}.\p" + .string "Just now, I tried to catch a cute\n" + .string "{STR_VAR_2}.\p" + .string "It got away, though!\n" + .string "Oh, you bet I was disappointed!\p" + .string "Bye-bye!$" + +BattleFrontier_PokeNav_2A9EFD:: @ 82A9EFD + .string "Hey, {PLAYER}!\n" + .string "This is {STR_VAR_1}!\p" + .string "I’ve been thinking about trying\n" + .string "to catch me some POKéMON.\p" + .string "But I can’t seem to find any.\n" + .string "It’s a real puzzler for me!\p" + .string "I’m at my wit’s end!\n" + .string "See you around!$" + +BattleFrontier_PokeNav_2A9FAB:: @ 82A9FAB + .string "Hi! {PLAYER}{STRING 5}, hello!\n" + .string "This is {STR_VAR_1}.\p" + .string "I tried battling another TRAINER,\n" + .string "but I lost.\p" + .string "It was really disappointing.\n" + .string "Well, see you again!$" + +BattleFrontier_PokeNav_2AA028:: @ 82AA028 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It’s {STR_VAR_1}.\p" + .string "I challenged someone else after\n" + .string "we battled.\p" + .string "I came close, but I ended up\n" + .string "losing. Oh, well!$" + +BattleFrontier_PokeNav_2AA099:: @ 82AA099 + .string "Hey there, {PLAYER}!\n" + .string "It’s me, {STR_VAR_1}.\p" + .string "I just got cleaned in a battle.\p" + .string "I guess I need to raise my team\n" + .string "some more!$" + +BattleFrontier_PokeNav_2AA100:: @ 82AA100 + .string "Hey, {PLAYER}.\n" + .string "{STR_VAR_1} here.\p" + .string "I tried another battle yesterday,\n" + .string "but I couldn’t pull out the win.\p" + .string "My team needs more raising.\n" + .string "Okay, catch you later.$" + +BattleFrontier_PokeNav_2AA188:: @ 82AA188 + .string "Hiya, {PLAYER}!\n" + .string "It’s {STR_VAR_1}.\p" + .string "How are things with you?\p" + .string "I’ve been battling on,\n" + .string "but I haven’t won very often.\p" + .string "I can’t get it together.\n" + .string "Right, take care!$" + +BattleFrontier_PokeNav_2AA214:: @ 82AA214 + .string "Hey, {PLAYER}.\n" + .string "{STR_VAR_1} here.\p" + .string "How’s it going for you?\p" + .string "I’ve been battling hard lately,\n" + .string "but to little success.\p" + .string "I can’t get into the groove.\n" + .string "You take care.$" + +BattleFrontier_PokeNav_2AA2A1:: @ 82AA2A1 + .string "{STR_VAR_1} here.\n" + .string "How’s it going lately?\p" + .string "I lost a battle yesterday,\n" + .string "and it’s filled my thoughts.\p" + .string "I have to devise a plan…\n" + .string "See you.$" + +BattleFrontier_PokeNav_2AA31B:: @ 82AA31B + .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1} speaking.\p" + .string "How are your POKéMON doing?\n" + .string "I lost a match the other day.\p" + .string "I need to try harder!\n" + .string "See you again!$" + +BattleFrontier_PokeNav_2AA3A8:: @ 82AA3A8 + .string "Oh, {PLAYER}{STRING 5}, hi there!\n" + .string "This is {STR_VAR_1}!\p" + .string "Listen, listen, you have to hear\n" + .string "this!\p" + .string "I had a POKéMON battle earlier,\n" + .string "but I lost at the last second.\p" + .string "Oh, it burns me up!$" + +BattleFrontier_PokeNav_2AA442:: @ 82AA442 + .string "Oh, {PLAYER}{STRING 5}, hello…\n" + .string "This is {STR_VAR_1}.\p" + .string "A little earlier, I was in a battle.\n" + .string "I lost, though.\p" + .string "I need to raise my POKéMON more.\n" + .string "See you around.$" + +BattleFrontier_PokeNav_2AA4C5:: @ 82AA4C5 + .string "Ah, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\l" + .string "How are your POKéMON?\p" + .string "I just lost yet another battle.\p" + .string "Well, see you!$" + +BattleFrontier_PokeNav_2AA520:: @ 82AA520 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It’s me, {STR_VAR_1}.\l" + .string "Are you still battling hard?\p" + .string "As for me, I lost recently, so I’ve\n" + .string "been training my team all over.\p" + .string "Let’s meet again.$" + +BattleFrontier_PokeNav_2AA5AD:: @ 82AA5AD + .string "Ah, hello, {PLAYER}{STRING 5}!\n" + .string "This is {STR_VAR_1}!\p" + .string "I hope you’ve been keeping well.\p" + .string "I was in a battle just a little\n" + .string "while before this.\p" + .string "{PLAYER}{STRING 5}, try to be active like me.\n" + .string "See you again!$" + +BattleFrontier_PokeNav_2AA64D:: @ 82AA64D + .string "Oh, hi, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "Are you doing good?\p" + .string "You should go home every so often,\n" + .string "though.\p" + .string "Bye-bye!$" + +BattleFrontier_PokeNav_2AA6AF:: @ 82AA6AF + .string "Hi! {PLAYER}{STRING 5}, hello!\n" + .string "This is {STR_VAR_1}!\p" + .string "I battled another TRAINER earlier.\n" + .string "I won! I won!\p" + .string "My {STR_VAR_2} really worked hard\n" + .string "for me. This is so great!$" + +BattleFrontier_PokeNav_2AA730:: @ 82AA730 + .string "Hello, {PLAYER}{STRING 5}!\n" + .string "It’s {STR_VAR_1}!\p" + .string "I had a battle yesterday and\n" + .string "I won! It’s fantastic!$" + +BattleFrontier_PokeNav_2AA77A:: @ 82AA77A + .string "Hey there, {PLAYER}!\n" + .string "It’s me, {STR_VAR_1}!\l" + .string "How’s your battling?\p" + .string "Me, I had a battle the other day,\n" + .string "and my {STR_VAR_2} came up huge!\p" + .string "The next time I battle you,\n" + .string "{PLAYER}, it won’t be me losing!$" + +BattleFrontier_PokeNav_2AA81C:: @ 82AA81C + .string "Hey, {PLAYER}.\n" + .string "{STR_VAR_1} here.\p" + .string "I had a match earlier.\n" + .string "I managed to win, but it was close.\p" + .string "My {STR_VAR_2} put on one\n" + .string "inspired showing.$" + +BattleFrontier_PokeNav_2AA88C:: @ 82AA88C + .string "Hiya, {PLAYER}{STRING 5}!\n" + .string "It’s {STR_VAR_1}.\p" + .string "How are things with you?\n" + .string "Battling much?\p" + .string "I just won a while back!\n" + .string "My {STR_VAR_2} was brilliant!\p" + .string "You wait. I’m going to beat you\n" + .string "next time! Right, take care!$" + +BattleFrontier_PokeNav_2AA934:: @ 82AA934 + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\p" + .string "How’s it going for you?\p" + .string "I’ve been riding a hot streak.\n" + .string "Why, I just won a battle.\p" + .string "When we have our next battle,\n" + .string "I’m sure not going to lose!$" + +BattleFrontier_PokeNav_2AA9D3:: @ 82AA9D3 + .string "{PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here.\p" + .string "My {STR_VAR_2} is a force!\n" + .string "It won me another battle just now!\p" + .string "I can’t wait to have a rematch\n" + .string "with you.$" + +BattleFrontier_PokeNav_2AAA40:: @ 82AAA40 + .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1} speaking.\p" + .string "I hope you’ve been well.\n" + .string "I wanted to tell you I just won.\p" + .string "My {STR_VAR_2} worked especially\n" + .string "hard to get the win.\p" + .string "See you again!$" + +BattleFrontier_PokeNav_2AAAE4:: @ 82AAAE4 + .string "Oh, {PLAYER}{STRING 5}, hi there!\n" + .string "This is {STR_VAR_1}!\p" + .string "How are your POKéMON holding up?\n" + .string "Mine just won a battle!\p" + .string "My {STR_VAR_2} was spectacular,\n" + .string "I must say!\p" + .string "I wish I could’ve shown you!\n" + .string "See you again!$" + +BattleFrontier_PokeNav_2AAB8C:: @ 82AAB8C + .string "Oh, {PLAYER}{STRING 5}, hello…\n" + .string "This is {STR_VAR_1}.\p" + .string "How has life been treating you?\p" + .string "My POKéMON appear to be charged\n" + .string "with energy.\p" + .string "I just won a battle with them.\n" + .string "See you around.$" + +BattleFrontier_PokeNav_2AAC25:: @ 82AAC25 + .string "Ah, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "Been in any battles lately?\n" + .string "I just won another one today!\p" + .string "I’m on a roll! Gahahaha!\n" + .string "Well, see you!$" + +BattleFrontier_PokeNav_2AAC9D:: @ 82AAC9D + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It’s me, {STR_VAR_1}.\p" + .string "I trust you’ve been well?\n" + .string "I’m still bursting with life!\p" + .string "Why, just now, I won another match.\n" + .string "I’m not stepping aside to you\l" + .string "youngsters yet!$" + +BattleFrontier_PokeNav_2AAD41:: @ 82AAD41 + .string "Ah, hello, {PLAYER}{STRING 5}!\n" + .string "This is {STR_VAR_1}!\p" + .string "I hope you’ve been keeping well.\n" + .string "I still have a bounce in my step!\p" + .string "Why, I just won a battle yet again.\n" + .string "Oh, I won’t lose to young people\l" + .string "quite yet!\p" + .string "See you again!$" + +BattleFrontier_PokeNav_2AAE00:: @ 82AAE00 + .string "Oh, hi, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "I was in a battle recently, and my\n" + .string "{STR_VAR_2} was exceptional!\p" + .string "I wish you could have seen it,\n" + .string "{PLAYER}{STRING 5}. Bye-bye!$" + +BattleFrontier_PokeNav_2AAE7F:: @ 82AAE7F + .string "Hi! {PLAYER}, hello!\n" + .string "This is {STR_VAR_1}.\p" + .string "Huh? Wait, you’re near\n" + .string "{STR_VAR_2}?\p" + .string "Oh, wow, we have to battle, then!\n" + .string "I’ll be waiting! See you!$" + +BattleFrontier_PokeNav_2AAEF1:: @ 82AAEF1 + .string "Hello, {PLAYER}!\n" + .string "It’s {STR_VAR_1}.\p" + .string "Oh? You happen to be around\n" + .string "{STR_VAR_2} right now?\p" + .string "Would you like to battle now?\n" + .string "I’ll wait for you! See you!$" + +BattleFrontier_PokeNav_2AAF69:: @ 82AAF69 + .string "Hey there, {PLAYER}!\n" + .string "It’s me, {STR_VAR_1}.\p" + .string "Oh, hey, are you near\n" + .string "{STR_VAR_2} right now?\p" + .string "How would you like to battle with\n" + .string "me right now?\p" + .string "I’m not losing again!\n" + .string "I’ll be waiting! Catch you soon!$" + +BattleFrontier_PokeNav_2AB010:: @ 82AB010 + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\p" + .string "Whereabouts are you now?\n" + .string "Huh? {STR_VAR_2}?\p" + .string "Want to battle now?\n" + .string "I’ll wait for you. See you!$" + +BattleFrontier_PokeNav_2AB076:: @ 82AB076 + .string "Hiya, {PLAYER}{STRING 5}!\n" + .string "It’s {STR_VAR_1}.\l" + .string "How are things with you?\p" + .string "You’re where now?\n" + .string "{STR_VAR_2}?\p" + .string "Well, how about we have a quick\n" + .string "rematch right away?\p" + .string "I’ll keep an eye out for you.\n" + .string "See you soon!$" + +BattleFrontier_PokeNav_2AB11A:: @ 82AB11A + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\l" + .string "How are your POKéMON keeping?\p" + .string "Oh, is that right? You’re around\n" + .string "{STR_VAR_2}?\p" + .string "Well, then, we’d better have\n" + .string "a rematch.\p" + .string "I can wait, sure.\n" + .string "See you!$" + +BattleFrontier_PokeNav_2AB1B4:: @ 82AB1B4 + .string "…Er, {PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here…\p" + .string "Oh, you happen to be around\n" + .string "{STR_VAR_2}?\p" + .string "Then, let’s battle.\n" + .string "Right away, I mean.\p" + .string "I’ll show you my POKéMON.\n" + .string "I’ll wait for you.$" + +BattleFrontier_PokeNav_2AB23D:: @ 82AB23D + .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1} speaking.\p" + .string "I hope you’re doing well.\n" + .string "Oh, you’re near {STR_VAR_2}.\p" + .string "Would you like to have a battle\n" + .string "with me, then?\p" + .string "I’ll wait for you.\n" + .string "See you soon!$" + +BattleFrontier_PokeNav_2AB2E9:: @ 82AB2E9 + .string "Oh, {PLAYER}{STRING 5}, hi there!\n" + .string "This is {STR_VAR_1}!\p" + .string "Are you keeping up?\n" + .string "Oh, you’re near {STR_VAR_2}?\p" + .string "Oh, well, then don’t you think we\n" + .string "should battle?\p" + .string "Don’t keep me waiting too long!$" + +BattleFrontier_PokeNav_2AB382:: @ 82AB382 + .string "Oh, {PLAYER}{STRING 5}, hello…\n" + .string "This is {STR_VAR_1}.\p" + .string "How are things with you?\n" + .string "Oh, you’re near {STR_VAR_2}.\p" + .string "We should have a battle now, then.\p" + .string "I’m ready and waiting.\n" + .string "Be quick!$" + +BattleFrontier_PokeNav_2AB410:: @ 82AB410 + .string "Ah, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "Ah, so where you are now is\n" + .string "{STR_VAR_2}?\p" + .string "Well, then, we just have to have\n" + .string "a battle, don’t you think?\p" + .string "I’ll wait around for you!\n" + .string "See you real quick!$" + +BattleFrontier_PokeNav_2AB4B0:: @ 82AB4B0 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It’s me, {STR_VAR_1}.\l" + .string "Where might you be now?\p" + .string "{STR_VAR_2}?\n" + .string "That’s quite close by!\p" + .string "What do you say we have a battle\n" + .string "now?\p" + .string "I can wait.\n" + .string "See you!$" + +BattleFrontier_PokeNav_2AB538:: @ 82AB538 + .string "Ah, hello, {PLAYER}{STRING 5}!\n" + .string "This is {STR_VAR_1}!\p" + .string "I hope you’ve been keeping well.\n" + .string "Oh, you’re near {STR_VAR_2}?\p" + .string "Since that’s not very far away,\n" + .string "come see me for a battle.\p" + .string "I’ll wait for you.\n" + .string "Bye for now.$" + +BattleFrontier_PokeNav_2AB5E4:: @ 82AB5E4 + .string "Oh, hi, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "You’re what? …{STR_VAR_2}?\n" + .string "That’s very close.\p" + .string "Don’t you think we ought to have\n" + .string "a battle?\p" + .string "I’ll be looking for you!\n" + .string "Bye-bye!$" + +BattleFrontier_PokeNav_2AB670:: @ 82AB670 + .string "Hi! {PLAYER}, hello!\n" + .string "This is {STR_VAR_1}.\p" + .string "Want to have a battle with me?\p" + .string "I’ll be waiting for you around\n" + .string "{STR_VAR_2}!$" + +BattleFrontier_PokeNav_2AB6CD:: @ 82AB6CD + .string "Hello, {PLAYER}!\n" + .string "It’s {STR_VAR_1}.\p" + .string "Would you like to have a battle\n" + .string "with me again?\p" + .string "You can find me around\n" + .string "{STR_VAR_2}. I’ll be waiting!$" + +BattleFrontier_PokeNav_2AB73C:: @ 82AB73C + .string "Hey there, {PLAYER}!\n" + .string "It’s me, {STR_VAR_1}.\p" + .string "My POKéMON have grown a lot\n" + .string "tougher since last time.\p" + .string "I want to see how strong they’ve\n" + .string "become with your POKéMON, {PLAYER}.\p" + .string "So, let’s have a battle!\p" + .string "I’ll be waiting for you around\n" + .string "{STR_VAR_2}.$" + +BattleFrontier_PokeNav_2AB808:: @ 82AB808 + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\l" + .string "How are things with you?\p" + .string "My POKéMON have grown pretty\n" + .string "tough lately.\p" + .string "Hey, how would you like to have\n" + .string "another battle with me?\p" + .string "Let’s meet up around\n" + .string "{STR_VAR_2}, okay?$" + +BattleFrontier_PokeNav_2AB8B7:: @ 82AB8B7 + .string "Hiya, {PLAYER}{STRING 5}!\n" + .string "It’s {STR_VAR_1}.\p" + .string "My POKéMON are growing up in\n" + .string "decent ways.\p" + .string "I’d really like to have another\n" + .string "battle with you.\p" + .string "I’ll keep an eye out for you around\n" + .string "{STR_VAR_2}. See you soon!$" + +BattleFrontier_PokeNav_2AB95D:: @ 82AB95D + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\l" + .string "I hope you’re on top of things.\p" + .string "I was thinking I’d like another\n" + .string "battle with you. What do you say?\p" + .string "If you feel like a battle,\n" + .string "come to {STR_VAR_2}.\p" + .string "See you!$" + +BattleFrontier_PokeNav_2ABA03:: @ 82ABA03 + .string "…Er, {PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here…\l" + .string "So? Are your POKéMON growing?\p" + .string "Mine sure got stronger.\n" + .string "I’d like to show you.\p" + .string "I’ll be around {STR_VAR_2}.\n" + .string "Come see me for a match.\p" + .string "See you around.$" + +BattleFrontier_PokeNav_2ABA9F:: @ 82ABA9F + .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1} speaking.\p" + .string "I hope you’re doing well.\n" + .string "My POKéMON are very frisky.\p" + .string "If you’re ever in the area, please\n" + .string "give me a rematch.\p" + .string "I’ll be around {STR_VAR_2}.\n" + .string "Until then, good-bye!$" + +BattleFrontier_PokeNav_2ABB62:: @ 82ABB62 + .string "Oh, {PLAYER}{STRING 5}, hi there!\n" + .string "This is {STR_VAR_1}!\l" + .string "How are your POKéMON doing?\p" + .string "My POKéMON keep getting better.\n" + .string "I’d like to show you, {PLAYER}{STRING 5}.\p" + .string "I’m around {STR_VAR_2} now,\n" + .string "so let’s battle if you’re close by.\p" + .string "Hope I see you soon!$" + +BattleFrontier_PokeNav_2ABC26:: @ 82ABC26 + .string "Oh, {PLAYER}{STRING 5}, hello…\n" + .string "This is {STR_VAR_1}.\l" + .string "So, how are things with you?\p" + .string "My POKéMON have grown much\n" + .string "stronger than before.\p" + .string "I’d love another battle with you,\n" + .string "{PLAYER}{STRING 5}.\p" + .string "I’ll be around {STR_VAR_2}.\n" + .string "Come see me if you’re close.$" + +BattleFrontier_PokeNav_2ABCE9:: @ 82ABCE9 + .string "Ah, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\l" + .string "Where might you be now?\p" + .string "My POKéMON are full of life.\n" + .string "They appear to be looking forward\l" + .string "to seeing your POKéMON, {PLAYER}{STRING 5}.\p" + .string "I’m around {STR_VAR_2} now.\n" + .string "I hope you’ll seek us out.$" + +BattleFrontier_PokeNav_2ABDA2:: @ 82ABDA2 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It’s me, {STR_VAR_1}.\p" + .string "I should tell you, my POKéMON have\n" + .string "grown to be quite robust lately.\p" + .string "I would like to see them in a battle\n" + .string "with you, {PLAYER}{STRING 5}.\p" + .string "We’ll be around {STR_VAR_2}.\n" + .string "Come see us anytime!$" + +BattleFrontier_PokeNav_2ABE5E:: @ 82ABE5E + .string "Ah, hello, {PLAYER}{STRING 5}!\n" + .string "This is {STR_VAR_1}!\l" + .string "Are your POKéMON keeping well?\p" + .string "My POKéMON have been so healthy,\n" + .string "they don’t look capable of losing!\p" + .string "I would surely love to have another\n" + .string "battle with you.\p" + .string "If you’re near {STR_VAR_2},\n" + .string "do come see us.$" + +BattleFrontier_PokeNav_2ABF36:: @ 82ABF36 + .string "Oh, hi, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\l" + .string "Keeping well, I hope.\p" + .string "Oh, yes! My POKéMON are\n" + .string "much stronger than before.\p" + .string "Don’t you think we ought to have\n" + .string "a battle, {PLAYER}{STRING 5}?\p" + .string "We’ll be waiting for you around\n" + .string "{STR_VAR_2}.\p" + .string "Come see us anytime, okay?$" + +BattleFrontier_PokeNav_2AC009:: @ 82AC009 + .string "It’s me, the mountain-loving\n" + .string "{STR_VAR_1}!\p" + .string "Well, since we met, have you grown\n" + .string "to appreciate the mountains more?\p" + .string "I rarely see you in the mountains…\p" + .string "Next time, we’ll meet somewhere\n" + .string "around {STR_VAR_2}.$" + +BattleFrontier_PokeNav_2AC0BD:: @ 82AC0BD + .string "This is {STR_VAR_1}.\n" + .string "Hello.\p" + .string "I was just telling a new TRAINER\n" + .string "about you.\p" + .string "I told her about a strong TRAINER\n" + .string "who raises POKéMON with care.\p" + .string "I hope you’ll become a TRAINER\n" + .string "that everyone will admire.\p" + .string "I hope we meet again!$" + +BattleFrontier_PokeNav_2AC18C:: @ 82AC18C + .string "Hello! It’s {STR_VAR_1}.\p" + .string "I love where I am now.\n" + .string "It’s pleasant with sweet aromas!\p" + .string "I think someone planted BERRIES,\n" + .string "and they burst into bloom.\p" + .string "See you again sometime!$" + +BattleFrontier_PokeNav_2AC228:: @ 82AC228 + .string "Hello! Thirty years of exploration,\n" + .string "{STR_VAR_1} at your service!\p" + .string "It seems that you’re energetically\n" + .string "traveling here and there.\p" + .string "Have you discovered any new ruins?\n" + .string "Please tell if you have!\p" + .string "Now, if you’ll excuse me,\n" + .string "I have ruins to explore.$" + +BattleFrontier_PokeNav_2AC30C:: @ 82AC30C + .string "It’s {STR_VAR_1}!\p" + .string "Know what I’m doing today?\n" + .string "Looking at waves from the beach!\p" + .string "Sigh… The waves are all sparkly.\n" + .string "The sea is the prettiest from here.\l" + .string "I’m getting hungry, so bye-bye!$" + +BattleFrontier_PokeNav_2AC3B6:: @ 82AC3B6 + .string "Munch-chew…\n" + .string "Oh, hi, it’s {STR_VAR_1}.\l" + .string "I love eating on the beach.\p" + .string "My POKéMON and I have been doing\n" + .string "great. We’re fully fueled!\l" + .string "I’m going for a swim. Bye!$" + +BattleFrontier_PokeNav_2AC446:: @ 82AC446 + .string "Hello, this is {STR_VAR_1}…\p" + .string "I’ve grown a little jaded with this\n" + .string "whole COOLTRAINER thing…\p" + .string "Everyone thinks I’m a perfect\n" + .string "TRAINER, and that makes me try to\l" + .string "live up to that expectation.\p" + .string "But I guess that goes with being\n" + .string "a COOLTRAINER.\p" + .string "I’ll just have to buckle down…\n" + .string "and grin and bear it.\p" + .string "You’re the only person that I could\n" + .string "confide in like this.\p" + .string "But when I see you next,\n" + .string "don’t worry, I won’t whine!$" + +BattleFrontier_PokeNav_2AC5C7:: @ 82AC5C7 + .string "Yahoo, it’s {STR_VAR_1}!\n" + .string "How do you do?\p" + .string "I’ve been raising my POKéMON with\n" + .string "you as the target.\p" + .string "I don’t intend to lose when we\n" + .string "battle again.\p" + .string "Isn’t it great to have TRAINER\n" + .string "friends? Let’s meet again!$" + +BattleFrontier_PokeNav_2AC682:: @ 82AC682 + .string "It’s {STR_VAR_1}…\n" + .string "Right now, behind you…\l" + .string "Wasn’t there something…?\p" + .string "The power of the POKéMON that\n" + .string "sleep here at MT. PYRE…\p" + .string "It’s telling me about you…\p" + .string "You should walk away quickly and\n" + .string "never once look back…\p" + .string "Giggle…\n" + .string "Farewell…$" + +BattleFrontier_PokeNav_2AC755:: @ 82AC755 + .string "This is {STR_VAR_1}.\n" + .string "How do you do?\p" + .string "Isn’t it convenient that we can\n" + .string "chat like this at a distance?\p" + .string "Before, if I wanted to speak with\n" + .string "anyone, I had to have my father\l" + .string "drive me…\p" + .string "I should be going now.\n" + .string "I’m glad we had this chat.$" + +BattleFrontier_PokeNav_2AC82C:: @ 82AC82C + .string "It’s {STR_VAR_1}!\n" + .string "Will you listen to this?\p" + .string "I like the SAFARI ZONE a lot,\n" + .string "but whenever I go, I get lost!\p" + .string "All that tall grass!\n" + .string "And it’s much too spread out!\p" + .string "I feel better getting that off\n" + .string "my chest!\p" + .string "I’m off to the SAFARI ZONE again!\n" + .string "Catch you!$" + +BattleFrontier_PokeNav_2AC914:: @ 82AC914 + .string "Hello, {STR_VAR_1} here.\n" + .string "Yes, correct, I am rich, yes.\p" + .string "I should tell you, my wealth has\n" + .string "grown since we last met.\p" + .string "What’s more, my POKéMON have also\n" + .string "grown stronger.\p" + .string "I can’t shake the feeling that\n" + .string "this world exists for me!\p" + .string "Oh, no need to say a word!\n" + .string "Everyone knows it’s true!\p" + .string "Oh, you must excuse me, I have this\n" + .string "formal dinner to attend.$" + +BattleFrontier_PokeNav_2ACA59:: @ 82ACA59 + .string "Ufufufufu…\n" + .string "It’s me, {STR_VAR_1}…\p" + .string "Can you guess what I’m seeing?\n" + .string "A pair of {STR_VAR_2} in a battle.\p" + .string "Maybe I’ll try catching the winner…\n" + .string "Ufufufufufu…\p" + .string "I… I’m kind of busy now.\n" + .string "I have to go.$" + +BattleFrontier_PokeNav_2ACB02:: @ 82ACB02 + .string "Oh, it’s {STR_VAR_1}!\p" + .string "I was just thinking I’m getting\n" + .string "bored of the ABANDONED SHIP.\p" + .string "But since I’m already here,\n" + .string "and I want to beat you once,\l" + .string "I’ll be sticking around a bit more.\p" + .string "If you feel compelled, why don’t\n" + .string "you come see me?\p" + .string "I think today will be the day that\n" + .string "I finally challenge the man next\l" + .string "door to a match.\p" + .string "Be seeing you!$" + +BattleFrontier_PokeNav_2ACC3F:: @ 82ACC3F + .string "I’m {STR_VAR_1}!\n" + .string "The man of the sea!\p" + .string "You know what I think?\p" + .string "The TRAINERS out at sea are\n" + .string "the toughest of the tough!\p" + .string "You should learn from me and train\n" + .string "in the sea…\p" + .string "Whoops, giant surf rising!\p" + .string "It’s a great training opportunity!\n" + .string "Sorry, but I have to go!$" + +BattleFrontier_PokeNav_2ACD2F:: @ 82ACD2F + .string "It’s {STR_VAR_1}! Listen, I’ve been\n" + .string "teaching karate to my POKéMON.\p" + .string "But now they’re better than me!\n" + .string "I’ve done nothing but lose to them!\p" + .string "But even though I may lose to\n" + .string "POKéMON, I won’t lose to another\l" + .string "TRAINER, no sir!\p" + .string "We have to battle again!\n" + .string "Ugwaah!$" + +BattleFrontier_PokeNav_2ACE1E:: @ 82ACE1E + .string "It’s me, {STR_VAR_1}.\n" + .string "How’re your travels unwinding?\p" + .string "…Whoa, is that right?\n" + .string "Sounds awfully stimulating!\p" + .string "I think I could write a song about\n" + .string "one of your episodes.\p" + .string "…Oh, hey, I’m feeling it.\n" + .string "I hear the riffs in my head.\p" + .string "I’d better get this tune properly\n" + .string "written, so I’ve got to fly! Later!$" + +BattleFrontier_PokeNav_2ACF32:: @ 82ACF32 + .string "This is {STR_VAR_1}…\n" + .string "Hear my new song.\p" + .string "Lalala, {STR_VAR_2}, {STR_VAR_2}!\n" + .string "Why are you that {STR_VAR_2}?\l" + .string "Why can’t I be you, {STR_VAR_2}?\l" + .string "Lala, {STR_VAR_2} and {STR_VAR_1},\l" + .string "{STR_VAR_1} and {STR_VAR_2}…\p" + .string "Repeat chorus, fade…$" + +BattleFrontier_PokeNav_2ACFBE:: @ 82ACFBE + .string "I’m {STR_VAR_1}, you know,\n" + .string "the camping expert!\p" + .string "When we battled, I couldn’t help\n" + .string "but lose to you.\p" + .string "After all, my expertise is in\n" + .string "camping.\p" + .string "But win or lose, I like to battle\n" + .string "when I’m camping.\p" + .string "Battle with us again, okay?\n" + .string "Oh, and let’s go camping, too!$" + +BattleFrontier_PokeNav_2AD0AC:: @ 82AD0AC + .string "It’s me, me, {STR_VAR_1}!\p" + .string "I’d like to climb other mountains\n" + .string "than this one, to be honest.\p" + .string "But I’m not sure if there’d be any\n" + .string "ladies like on MT. CHIMNEY.\p" + .string "If you know any other mountain\n" + .string "with ladies around, let me know!\p" + .string "Ehehehe, see you around!$" + +BattleFrontier_PokeNav_2AD194:: @ 82AD194 + .string "… … … … … …\n" + .string "… … … … … …\l" + .string "It’s {STR_VAR_1}…\p" + .string "… … … … … …\n" + .string "… … … … … …\l" + .string "That’s all today…$" + +BattleFrontier_PokeNav_2AD1DF:: @ 82AD1DF + .string "This is {STR_VAR_1}. Today, I had\n" + .string "this feeling I would chat with you.\p" + .string "My desire to defeat you builds\n" + .string "by day and by night.\p" + .string "You have a rival like that, yes?\n" + .string "I wish it were me…\p" + .string "I’m glad you heard me out.\n" + .string "See you!$" + +BattleFrontier_PokeNav_2AD2A8:: @ 82AD2A8 + .string "It’s {STR_VAR_1}.\p" + .string "When there’s a strong TRAINER\n" + .string "nearby, I can sometimes sense that\l" + .string "somehow.\p" + .string "Did you pass close by, {PLAYER}{STRING 5}?\n" + .string "Maybe it was you.\p" + .string "I’ll be waiting for your visit.\n" + .string "Bye!$" + +BattleFrontier_PokeNav_2AD34F:: @ 82AD34F + .string "Hello, this is {STR_VAR_1}.\n" + .string "You sound well, {PLAYER}{STRING 5}.\p" + .string "I’ve traveled around the world,\n" + .string "but I must say I’ve taken a great\l" + .string "shine to this region.\p" + .string "I plan to stay here a while.\n" + .string "Perhaps we can meet again?\p" + .string "I’ve not forgotten your dazzling\n" + .string "techniques.\p" + .string "I do hope for a rematch.$" + +BattleFrontier_PokeNav_2AD44E:: @ 82AD44E + .string "Snivel… It’s… {STR_VAR_1}…\n" + .string "…Sob…\p" + .string "ROXANNE chewed me out in class\n" + .string "today.\p" + .string "But I don’t dislike her or anything.\p" + .string "ROXANNE tells me exactly what\n" + .string "I did wrong so I can learn from it.\p" + .string "You bet I’ll be going to\n" + .string "the TRAINER’S SCHOOL tomorrow!\p" + .string "See you later!$" + +BattleFrontier_PokeNav_2AD53A:: @ 82AD53A + .string "It’s {STR_VAR_1}!\p" + .string "ROXANNE let me battle with her\n" + .string "yesterday.\p" + .string "The results…\n" + .string "Terrible, like you needed to ask.\p" + .string "But I was delighted that ROXANNE\n" + .string "would even let me challenge her!\p" + .string "You wouldn’t believe how much\n" + .string "more I admire her!\p" + .string "I’m going to really focus and work!\n" + .string "I’d better go!$" + +BattleFrontier_PokeNav_2AD642:: @ 82AD642 + .string "Hi, it’s ANNA! I’m with my junior\n" + .string "partner MEG again today.\p" + .string "I really love caring for MEG and\n" + .string "POKéMON. They’re so cute!\p" + .string "I wish I could look after them\n" + .string "as if they were my siblings!\p" + .string "Oh, hi, MEG!\n" + .string "Did you get the buns?\p" + .string "Huh? No, no, I’m not treating you\n" + .string "like my personal slave!\p" + .string "You lost the match, so you have\n" + .string "to go buy the bread as punishment!\p" + .string "I wouldn’t treat you like a slave,\n" + .string "MEG! You’re too special to me!\p" + .string "I have to go now.\n" + .string "It’s time for our snack!$" + +BattleFrontier_PokeNav_2AD801:: @ 82AD801 + .string "I love POKéMON!\n" + .string "It’s {STR_VAR_1} from the FAN CLUB!\p" + .string "You have to hear this!\n" + .string "My sweet POKéMON…\p" + .string "Snort! Wahaha!\n" + .string "I can’t say any more! It’s a secret!\l" + .string "It’s just too cute for words!\p" + .string "Oh, my sweet {STR_VAR_2} is begging\n" + .string "for a {POKEBLOCK}!\p" + .string "It’s the picture of cuteness!\p" + .string "Sorry, but I can’t talk now!\n" + .string "You’ll have to hear this next time!$" + +BattleFrontier_PokeNav_2AD92E:: @ 82AD92E + .string "Ohoho!\p" + .string "This is {STR_VAR_1}! I can’t wait to\n" + .string "tell you about my darling POKéMON!\p" + .string "Please, you must listen to this.\n" + .string "It’s about my darling {STR_VAR_2}.\p" + .string "Whenever anyone picks it up,\n" + .string "it leaps straight into my arms!\p" + .string "Oh… Oh… Could there be anything\n" + .string "more blissful?\p" + .string "Oh, it feels so heavenly!\p" + .string "I’m so glad I could share some of\n" + .string "my happiness with you.\p" + .string "Well, I must be going.\n" + .string "Bye, now!$" + +BattleFrontier_PokeNav_2ADA8F:: @ 82ADA8F + .string "I am… {STR_VAR_1}.\n" + .string "People call me an EXPERT.\p" + .string "But there is one thing I know.\n" + .string "I could not be an EXPERT on my own\l" + .string "power.\p" + .string "Only with the help of POKéMON can\n" + .string "a TRAINER become an EXPERT.\p" + .string "Humph! I believe I may have said\n" + .string "something deep and profound!\p" + .string "I shall leave you in good spirits!$" + +BattleFrontier_PokeNav_2ADB9B:: @ 82ADB9B + .string "It’s {STR_VAR_1}.\n" + .string "I’m glad to chat with you!\p" + .string "I am feeling alive and refreshed\n" + .string "soaking in this hot-spring tub.\p" + .string "I’ve been battling young TRAINERS\n" + .string "since we met, but you’re still\l" + .string "the best of the lot.\p" + .string "I imagine you’ll become an EXPERT\n" + .string "in your old age! Ohohoho…$" + +BattleFrontier_PokeNav_2ADC92:: @ 82ADC92 + .string "Yay! This is {STR_VAR_1}!\n" + .string "What’s up?\p" + .string "I might be imagining this, but when\n" + .string "I win battles, my shorts seem to\l" + .string "feel, like, better. Materially.\p" + .string "What do I mean by that?\n" + .string "It’s kind of hard to explain, but…\l" + .string "How would I say this now…\l" + .string "My shorts feel silkier!\p" + .string "And when I battled you, {PLAYER}{STRING 5},\n" + .string "my shorts felt icky and coarse.\p" + .string "… … … … … …\n" + .string "You didn’t really believe that?\l" + .string "Ehehehe, that’s all! Bye now!$" + +BattleFrontier_PokeNav_2ADE08:: @ 82ADE08 + .string "Ahoy!\n" + .string "{STR_VAR_1} here!\p" + .string "As always, I’m fishing with wild\n" + .string "abandon!\p" + .string "Are there other places I can fish\n" + .string "than the sea and rivers?\p" + .string "I get these powerful urges to\n" + .string "fish just about anywhere!\p" + .string "Oh, gosh, darn it!\n" + .string "My line’s tangled up!\p" + .string "Gotta go!\n" + .string "Find me some new fishing spots!$" + +BattleFrontier_PokeNav_2ADF07:: @ 82ADF07 + .string "Hey, there! It’s {STR_VAR_1}.\n" + .string "Are you taking it casually?\p" + .string "Ever since I was a kid, you know,\n" + .string "I’ve always been placid, huh?\p" + .string "I never was much for getting all\n" + .string "stressed or rushing things.\p" + .string "But wouldn’t you know it,\n" + .string "I’m now a TRIATHLETE.\p" + .string "You just can’t tell where life will\n" + .string "take you, if you get my drift.\p" + .string "You’re a TRAINER now, but who\n" + .string "knows what the future holds, huh?\p" + .string "Imagine yourself as a teacher,\n" + .string "or maybe an artist. Cool, huh?\p" + .string "But, hey, be cool. Take it casual.\n" + .string "See you around.$" + +BattleFrontier_PokeNav_2AE0D9:: @ 82AE0D9 + .string "This is {STR_VAR_1}!\n" + .string "I’m cycling right now.\p" + .string "I love swimming and running,\n" + .string "but cycling is my first love!\p" + .string "It makes my whole body feel as if\n" + .string "I’m one with the wind.\p" + .string "It exhilarates me as if I were\n" + .string "flying!\p" + .string "Okay! Today, I’m going to set a new\n" + .string "CYCLING ROAD record!\p" + .string "You should make the challenge, too!\n" + .string "See you!$" + +BattleFrontier_PokeNav_2AE1FD:: @ 82AE1FD + .string "Yo, this is {STR_VAR_1}! I’m smack\n" + .string "in the middle of a triathlon!\p" + .string "But, hey, I’ve always got time to\n" + .string "shoot the breeze!\p" + .string "Working out with POKéMON feels\n" + .string "mighty good!\p" + .string "Without exchanging words, we synch\n" + .string "as if we shared a heart.\p" + .string "It’s inspiring!\p" + .string "Gasp… Chatting while running…\n" + .string "I’m getting run down…\l" + .string "Gasp… Have…to…go…$" + +BattleFrontier_PokeNav_2AE327:: @ 82AE327 + .string "Hi, it’s {STR_VAR_1}.\n" + .string "If you want to improve endurance,\l" + .string "high-altitude training is it!\p" + .string "Try running on a mountaintop.\n" + .string "You’ll be gasping in no time!\p" + .string "I’m getting oxygen starved, too!\n" + .string "See you!$" + +BattleFrontier_PokeNav_2AE3DA:: @ 82AE3DA + .string "Oh, it’s {STR_VAR_1}, hello.\p" + .string "I’ve been swimming a lot but I still\n" + .string "can’t seem to reach EVERGRANDE.\p" + .string "Maybe I’m just going in circles.\p" + .string "No, no, that can’t be possible.\n" + .string "Wahahaha.\l" + .string "Take care!$" + +BattleFrontier_PokeNav_2AE489:: @ 82AE489 + .string "Hey, it’s {STR_VAR_1}…\n" + .string "Whoops!\p" + .string "Splash!\p" + .string "Blug-blug-blug-blug…\p" + .string "Sploosh!\p" + .string "Whiff-whiff! Whiff-whiff!\p" + .string "Hey! Sorry about that!\n" + .string "I just put on some suntan oil.\p" + .string "So my POKéNAV went whoopsy\n" + .string "out of my hand into the water!\p" + .string "But, boy, DEVON’s POKéNAV is built\n" + .string "tough. It survived that dunking!\p" + .string "Anyways, I’m busy sunbathing,\n" + .string "so let’s chat another time.$" + +BattleFrontier_PokeNav_2AE5CD:: @ 82AE5CD + .string "Hello, this is {STR_VAR_1}.\p" + .string "Out of the three triathlon events,\n" + .string "I like swimming best.\p" + .string "But if I stay in the sea too long,\n" + .string "won’t I get all prune-like?\p" + .string "Ooh, triathlon is such a grueling\n" + .string "test of human endurance! Bye!$" + +BattleFrontier_PokeNav_2AE698:: @ 82AE698 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\p" + .string "How are your POKéMON doing?\p" + .string "My DRAGON POKéMON appear to be\n" + .string "in peak form. Bye for now.$" + +BattleFrontier_PokeNav_2AE704:: @ 82AE704 + .string "{STR_VAR_1} here.\p" + .string "My {STR_VAR_2} has grown even more\n" + .string "tough than that last time.\p" + .string "I’m not going to lose again to you.\n" + .string "You wait till next time!\p" + .string "See you around!$" + +BattleFrontier_PokeNav_2AE78F:: @ 82AE78F + .string "It is {STR_VAR_1} here.\p" + .string "I have continued with my studies\n" + .string "in the art of concealment.\p" + .string "But I have been too successful.\n" + .string "No one has been able to find me.\l" + .string "My success makes me lonely…\p" + .string "Like smoke I disappear!\n" + .string "Farewell!$" + +BattleFrontier_PokeNav_2AE859:: @ 82AE859 + .string "This is {STR_VAR_1}.\n" + .string "I kept up my training since we met.\p" + .string "My {STR_VAR_2} is getting pretty\n" + .string "tough.\p" + .string "Training on a beach is effective,\n" + .string "just as I thought. Bye now!$" + +BattleFrontier_PokeNav_2AE8E6:: @ 82AE8E6 + .string "How do you do?\n" + .string "This is {STR_VAR_1}.\p" + .string "I wonder when this yucky volcanic\n" + .string "ash will stop falling?\p" + .string "If it gets too deep, it will cover\n" + .string "up the pattern on my parasol…\p" + .string "Let’s promise to meet again!$" + +BattleFrontier_PokeNav_2AE998:: @ 82AE998 + .string "Hi, {STR_VAR_1} here.\p" + .string "Did you know that it’s easier to\n" + .string "float in the sea than a pool?\p" + .string "Just by lying still, your body will\n" + .string "float on its own.\p" + .string "But if you float for too long,\n" + .string "watch that you don’t get carried\l" + .string "off too far out.\p" + .string "…Where am I, anyway?\n" + .string "I’d better go!$" + +BattleFrontier_PokeNav_2AEA8F:: @ 82AEA8F + .string "Oh, {PLAYER}{STRING 5}, hello!\n" + .string "This is {STR_VAR_1}.\l" + .string "I’m up in the mountains now.\p" + .string "But the ground is too bumpy.\n" + .string "I can’t pitch my tent here…\p" + .string "Oh, I had a brilliant idea!\p" + .string "Maybe I can get my POKéMON to tamp\n" + .string "the ground flat here!\p" + .string "I’m going to try that!\n" + .string "Bye-bye!$" + +BattleFrontier_PokeNav_2AEB77:: @ 82AEB77 + .string "Oh, hi, hi, this is {STR_VAR_1}!\p" + .string "I’m raising POKéMON with LIV!\n" + .string "We’re trying very hard!\p" + .string "If we try harder, can we become\n" + .string "number one? Bye-bye!$" + +BattleFrontier_PokeNav_2AEBFA:: @ 82AEBFA + .string "{STR_VAR_1} here!\p" + .string "I’m a SAILOR, but I’m not on a boat\n" + .string "now.\p" + .string "It makes me wonder--what should\n" + .string "a SAILOR on land be called?\p" + .string "That’s what I’ve been thinking\n" + .string "while staring out across the waves.\p" + .string "All right, next time!$" + +BattleFrontier_PokeNav_2AECC1:: @ 82AECC1 + .string "It’s {STR_VAR_1}.\n" + .string "So? Get any more POKéMON?\p" + .string "If you catch a new POKéMON,\n" + .string "you have to come show me.\p" + .string "I won’t whine for it, honest.\n" + .string "I’ll be waiting. See you.$" + +BattleFrontier_PokeNav_2AED52:: @ 82AED52 + .string "This is {STR_VAR_1}.\p" + .string "Are you raising your POKéMON\n" + .string "in the optimal way?\p" + .string "The air is clean where I am.\n" + .string "It’s the perfect environment for\l" + .string "raising POKéMON.\p" + .string "If you’re going to focus on raising\n" + .string "POKéMON, you should come out to\l" + .string "{STR_VAR_2}. Take care now.$" + +BattleFrontier_PokeNav_2AEE35:: @ 82AEE35 + .string "Hi, this is {STR_VAR_1}.\p" + .string "I gave a {POKEBLOCK} to my {STR_VAR_2}.\n" + .string "It seemed to enjoy it very much.\p" + .string "It looks like POKéMON have their\n" + .string "likes and dislikes with {POKEBLOCK}S.\p" + .string "I find that quite fascinating.\n" + .string "Please do take care.$" + +BattleFrontier_PokeNav_2AEEF4:: @ 82AEEF4 + .string "{STR_VAR_1} here.\p" + .string "If you cooperate with POKéMON,\n" + .string "one can be comfortable in the wild.\p" + .string "Everyone should realize that and\n" + .string "cooperate with POKéMON more.\p" + .string "That would be ideal.\n" + .string "I really think so.\p" + .string "I think you’re on the right track!\n" + .string "Catch you later!$" + +BattleFrontier_PokeNav_2AEFDA:: @ 82AEFDA + .string "Hi, it’s {STR_VAR_1}. You know,\n" + .string "the TRAINER who’s always prepared!\p" + .string "{PLAYER}{STRING 5}, do you have enough items?\n" + .string "Are your POKéMON fit for action?\p" + .string "Keeping everything perfect around\n" + .string "you all the time is the secret to\l" + .string "keeping your journey going.\p" + .string "I’d better go check my own\n" + .string "supplies! Be vigilant!$" + +BattleFrontier_PokeNav_2AF0E7:: @ 82AF0E7 + .string "It’s {STR_VAR_1}!\n" + .string "It’s {STR_VAR_1}!\p" + .string "{STR_VAR_2} is a very busy\n" + .string "thoroughfare, so I get challenged\l" + .string "by all kinds of TRAINERS every day.\p" + .string "Today, I won five battles and lost\n" + .string "only three!\p" + .string "How did you do today?\n" + .string "Tell me about it next time, okay?$" + +BattleFrontier_PokeNav_2AF1B8:: @ 82AF1B8 + .string "It’s me, {STR_VAR_1}.\p" + .string "I’m popular because I have lots\n" + .string "of BUG POKéMON, right?\p" + .string "Well, I took a bunch of my fave\n" + .string "bugs to school today.\p" + .string "This girl I like started crying!\n" + .string "Go ahead and laugh if you want.\p" + .string "I have to try teaching her what\n" + .string "makes BUG POKéMON so appealing.\p" + .string "Snivel…\n" + .string "See you!$" + +BattleFrontier_PokeNav_2AF2C4:: @ 82AF2C4 + .string "Hah! Hah! Hah! Hah!\p" + .string "Hi! It’s {STR_VAR_1}! Hah! Hah!\p" + .string "Trying to chat…\n" + .string "While climbing…\l" + .string "Is harsh exercise… Hah! Hah!\p" + .string "Urgh! Oof…\n" + .string "It’s steeper now…\l" + .string "We’ll chat…another time…\l" + .string "Hah! Hah! Hah!$" + +BattleFrontier_PokeNav_2AF371:: @ 82AF371 + .string "Oh, hi!\p" + .string "I’m still searching for treasures\n" + .string "with KIRA!\p" + .string "Maybe there isn’t any treasure\n" + .string "here at all…\p" + .string "But the important thing is for me\n" + .string "to search alongside KIRA.\p" + .string "Oh, hey, KIRA!\n" + .string "Wh-why are you angry?\p" + .string "I’m not ignoring you, honey!\n" + .string "You’re my one and only!\p" + .string "…{PLAYER}, I have to go, bye!$" + +BattleFrontier_PokeNav_2AF480:: @ 82AF480 + .string "This is {STR_VAR_1}!\p" + .string "I went to DEWFORD’s GYM again\n" + .string "for training.\p" + .string "BRAWLY, the GYM LEADER, seems\n" + .string "to be tougher now.\p" + .string "Something about being toughened\n" + .string "by the wild waves…\p" + .string "But he’s still as cool as ever.\n" + .string "The ladies adore him!\l" + .string "It makes me envious, frankly.\p" + .string "I wonder… Is his friend BRUNO\n" + .string "the same way as BRAWLY?\p" + .string "You know, all sweaty or smelly,\n" + .string "and prone to calling people\l" + .string "“big wave,” that sort of thing.\p" + .string "But, hey, this jealousy thing isn’t\n" + .string "very seemly, is it?\p" + .string "Forget this chat ever happened,\n" + .string "how about it? So long!$" + +BattleFrontier_PokeNav_2AF671:: @ 82AF671 + .string "It’s a pleasure to chat with\n" + .string "a young TRAINER like you.\p" + .string "I imagine that you will continue to\n" + .string "enjoy POKéMON whatever your age.\p" + .string "Wouldn’t it be good if you had\n" + .string "a partnership like ours?\p" + .string "Of course, {PLAYER}{STRING 5}, you already\n" + .string "enjoy the trust and companionship\l" + .string "of your POKéMON now.\p" + .string "You have the makings of long and\n" + .string "enduring relationships already!\p" + .string "Hahaha!\n" + .string "Never be discouraged!$" + +BattleFrontier_PokeNav_2AF7D8:: @ 82AF7D8 + .string "Hi, this is {STR_VAR_1}!\n" + .string "We just won a battle!\p" + .string "We don’t win often, but it was this\n" + .string "cool SWIMMER guy.\p" + .string "My sister was steamed!\p" + .string "She wanted to pretend that she\n" + .string "was weak to make an impression!\p" + .string "She always chews me out whether\n" + .string "we win or lose!\p" + .string "{PLAYER}{STRING 5}, can you say something\n" + .string "to her next time?\p" + .string "Okay, see you!$" + +BattleFrontier_PokeNav_2AF8F7:: @ 82AF8F7 + .string "{STR_VAR_1} here, yes.\n" + .string "I headed out to sea yesterday.\p" + .string "I had been hoping to find a new\n" + .string "ruin to explore.\p" + .string "But the tides somehow seemed to\n" + .string "carry me back where I started.\p" + .string "I’m still weak at battling, too…\n" + .string "Feel free to mock me…\l" + .string "But I won’t give up.\p" + .string "My day will come when I discover\n" + .string "a new ruin!\p" + .string "That’s all I have to say!\n" + .string "Farewell for now!$" + +BattleFrontier_PokeNav_2AFA39:: @ 82AFA39 + .string "Ahoy there!\n" + .string "It’s me, {STR_VAR_1}!\l" + .string "I’m out on ROUTE 108 now!\l" + .string "In other words, where I always am!\p" + .string "Today, a gorgeous SWIMMER \n" + .string "swam by me!\p" + .string "So I startled her with a shout!\p" + .string "And she gave me a nasty glare!\p" + .string "That’s all from ROUTE 108!\n" + .string "Brought to you by {STR_VAR_1}!$" + +BattleFrontier_PokeNav_2AFB26:: @ 82AFB26 + .string "It’s {STR_VAR_1}!\p" + .string "I’m kind of busy, but I figured\n" + .string "I should let you know that I’ve\l" + .string "beaten five TRAINERS again today.\p" + .string "If I keep this pace up, I can\n" + .string "probably beat you next time.\p" + .string "I think we’ll be good rivals,\n" + .string "you and I. Good-bye for now!$" + +BattleFrontier_PokeNav_2AFC07:: @ 82AFC07 + .string "Hi! This is {STR_VAR_1}.\n" + .string "I heard the news!\p" + .string "They say you did excellent at\n" + .string "the {STR_VAR_2}.\p" + .string "It’s awesome, {STR_VAR_3} straight wins?\n" + .string "See you!$" + +BattleFrontier_PokeNav_2AFC78:: @ 82AFC78 + .string "Hello, it’s {STR_VAR_1}!\n" + .string "I heard about you!\p" + .string "They said you won {STR_VAR_3} straight\n" + .string "battles at the {STR_VAR_2}.\p" + .string "That’s special! I should try\n" + .string "harder, too! See you!$" + +BattleFrontier_PokeNav_2AFCFF:: @ 82AFCFF + .string "Hey there, {PLAYER}!\n" + .string "It’s me, {STR_VAR_1}.\p" + .string "I heard you went on a tear at\n" + .string "the {STR_VAR_2}!\p" + .string "A big {STR_VAR_3}-win streak…\n" + .string "That is a big record, isn’t it?\p" + .string "I’d better get it together, too!\n" + .string "Catch you soon!$" + +BattleFrontier_PokeNav_2AFDA7:: @ 82AFDA7 + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here. What’s up?\p" + .string "There’s a rumor going around that\n" + .string "you strung together {STR_VAR_3} straight\l" + .string "wins at the {STR_VAR_2}.\p" + .string "I’d better step it up, too.\n" + .string "See you!$" + +BattleFrontier_PokeNav_2AFE3D:: @ 82AFE3D + .string "Hiya, {PLAYER}{STRING 5}!\n" + .string "It’s {STR_VAR_1}.\p" + .string "You were at the {STR_VAR_2}\n" + .string "and won {STR_VAR_3} battles in a row?\l" + .string "Isn’t that something!\p" + .string "I’d better work on my POKéMON more.\n" + .string "See you soon!$" + +BattleFrontier_PokeNav_2AFECA:: @ 82AFECA + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here. How are you?\p" + .string "By the way, I heard you pulled off\n" + .string "the feat of {STR_VAR_3} straight wins at\l" + .string "the {STR_VAR_2}.\p" + .string "That inspires me to focus on\n" + .string "raising my team.$" + +BattleFrontier_PokeNav_2AFF64:: @ 82AFF64 + .string "…Er, {PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here…\p" + .string "Oh, yeah, you were over at\n" + .string "the {STR_VAR_2}, right?\p" + .string "And you won {STR_VAR_3} battles in a row.\p" + .string "Oh, there goes a rare POKéMON!\n" + .string "I have to go!$" + +BattleFrontier_PokeNav_2AFFF0:: @ 82AFFF0 + .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1} speaking.\l" + .string "I hope you’re doing well.\p" + .string "Oh, but, you are. I’ve heard that\n" + .string "you won {STR_VAR_3} matches in a row at\l" + .string "the {STR_VAR_2}.\p" + .string "That’s very impressive!\n" + .string "I hope you stay successful.$" + +BattleFrontier_PokeNav_2B00B5:: @ 82B00B5 + .string "Oh, {PLAYER}{STRING 5}, hi there!\n" + .string "This is {STR_VAR_1}!\p" + .string "I heard! Your {STR_VAR_3}-win streak at\n" + .string "the {STR_VAR_2}!\p" + .string "That is so cool!\n" + .string "I’d better try harder, too!$" + +BattleFrontier_PokeNav_2B0129:: @ 82B0129 + .string "Oh, {PLAYER}{STRING 5}, hello…\n" + .string "This is {STR_VAR_1}.\p" + .string "You won {STR_VAR_3} straight battles at\n" + .string "the {STR_VAR_2}?\p" + .string "That’s quite the accomplishment.\n" + .string "I need to work harder.$" + +BattleFrontier_PokeNav_2B01A5:: @ 82B01A5 + .string "Ah, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "I hear you’re the terror of\n" + .string "the {STR_VAR_2}?\p" + .string "You won, what, {STR_VAR_3} matches in\n" + .string "a row?\p" + .string "You’re good, you.\n" + .string "I wonder how many I can win?$" + +BattleFrontier_PokeNav_2B0232:: @ 82B0232 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It’s me, {STR_VAR_1}.\l" + .string "Are you keeping well?\p" + .string "Someone passed on word about you.\n" + .string "How you won {STR_VAR_3} straight battles\l" + .string "at a place named {STR_VAR_2}?\p" + .string "That’s quite the tale.\n" + .string "See you!$" + +BattleFrontier_PokeNav_2B02D9:: @ 82B02D9 + .string "Ah, hello, {PLAYER}{STRING 5}!\n" + .string "This is {STR_VAR_1}!\l" + .string "I hope you’ve been keeping well.\p" + .string "They say you won {STR_VAR_3} straight\n" + .string "battles at the {STR_VAR_2}.\p" + .string "I admire your energy!\n" + .string "Bye now.$" + +BattleFrontier_PokeNav_2B0366:: @ 82B0366 + .string "Oh, hi, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "I heard about you!\n" + .string "Didn’t you just win {STR_VAR_3} battles in\l" + .string "a row at the {STR_VAR_2}?\p" + .string "You’re an inspiration!\n" + .string "Bye-bye!$" + +BattleFrontier_PokeNav_2B03E6:: @ 82B03E6 + .string "Hi! This is {STR_VAR_1}.\n" + .string "I heard the news!\p" + .string "They say you did excellent at\n" + .string "the {STR_VAR_2}.\p" + .string "It’s awesome--{STR_VAR_3} straight wins?\n" + .string "See you!$" + +BattleFrontier_PokeNav_2B0457:: @ 82B0457 + .string "Hello, it’s {STR_VAR_1}!\n" + .string "I heard about you!\p" + .string "They said you won {STR_VAR_3} straight\n" + .string "battles at the {STR_VAR_2}.\p" + .string "That’s special! I should try\n" + .string "harder, too! See you!$" + +BattleFrontier_PokeNav_2B04DE:: @ 82B04DE + .string "Hey there, {PLAYER}!\n" + .string "It’s me, {STR_VAR_1}.\p" + .string "I heard you went on a tear at\n" + .string "the {STR_VAR_2}!\p" + .string "A big {STR_VAR_3}-win streak…\n" + .string "That is a big record, isn’t it?\p" + .string "I’d better get it together, too!\n" + .string "Catch you soon!$" + +BattleFrontier_PokeNav_2B0586:: @ 82B0586 + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here. What’s up?\p" + .string "There’s a rumor going around that\n" + .string "you strung together {STR_VAR_3} straight\l" + .string "wins at the {STR_VAR_2}.\p" + .string "I’d better step it up, too.\n" + .string "See you!$" + +BattleFrontier_PokeNav_2B061C:: @ 82B061C + .string "Hiya, {PLAYER}{STRING 5}!\n" + .string "It’s {STR_VAR_1}.\p" + .string "You were at the {STR_VAR_2}\n" + .string "and won {STR_VAR_3} battles in a row?\l" + .string "Isn’t that something!\p" + .string "Me? I’d say I’m coming along.\n" + .string "See you soon!$" + +BattleFrontier_PokeNav_2B06A3:: @ 82B06A3 + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here. How are you?\p" + .string "By the way, I heard you pulled off\n" + .string "the feat of {STR_VAR_3} straight wins at\l" + .string "the {STR_VAR_2}.\p" + .string "I’d better try harder myself!\n" + .string "See you soon!$" + +BattleFrontier_PokeNav_2B073B:: @ 82B073B + .string "…Er, {PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here…\p" + .string "Oh, yeah, you were over at\n" + .string "the {STR_VAR_2}, right?\p" + .string "And you won {STR_VAR_3} battles in a row.\p" + .string "Oh, there goes a rare POKéMON!\n" + .string "I have to go!$" + +BattleFrontier_PokeNav_2B07C7:: @ 82B07C7 + .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1} speaking.\l" + .string "I hope you’re doing well.\p" + .string "Oh, but, you are. I’ve heard that\n" + .string "you won {STR_VAR_3} matches in a row at\l" + .string "the {STR_VAR_2}.\p" + .string "That’s very impressive!\n" + .string "I’d better work on my POKéMON, too!$" + +BattleFrontier_PokeNav_2B0894:: @ 82B0894 + .string "Oh, {PLAYER}{STRING 5}, hi there!\n" + .string "This is {STR_VAR_1}!\p" + .string "I heard! Your {STR_VAR_3}-win streak at\n" + .string "the {STR_VAR_2}!\p" + .string "That is so cool!\n" + .string "I’d better try harder, too!$" + +BattleFrontier_PokeNav_2B0908:: @ 82B0908 + .string "Oh, {PLAYER}{STRING 5}, hello…\n" + .string "This is {STR_VAR_1}.\p" + .string "You won {STR_VAR_3} straight battles at\n" + .string "the {STR_VAR_2}?\p" + .string "That’s quite the accomplishment.\n" + .string "I need to work harder.$" + +BattleFrontier_PokeNav_2B0984:: @ 82B0984 + .string "Ah, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "I hear you’re the terror of\n" + .string "the {STR_VAR_2}?\p" + .string "You won, what, {STR_VAR_3} matches in\n" + .string "a row?\p" + .string "You’re good, you.\n" + .string "I wonder how many I can win?$" + +BattleFrontier_PokeNav_2B0A11:: @ 82B0A11 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It’s me, {STR_VAR_1}.\l" + .string "Are you keeping well?\p" + .string "Someone passed on word about you.\n" + .string "How you won {STR_VAR_3} straight battles\l" + .string "at a place named {STR_VAR_2}?\p" + .string "That’s quite the tale.\n" + .string "See you!$" + +BattleFrontier_PokeNav_2B0AB8:: @ 82B0AB8 + .string "Ah, hello, {PLAYER}{STRING 5}!\n" + .string "This is {STR_VAR_1}!\l" + .string "I hope you’ve been keeping well.\p" + .string "They say you won {STR_VAR_3} straight\n" + .string "battles at the {STR_VAR_2}.\p" + .string "I admire your energy!\n" + .string "Bye now.$" + +BattleFrontier_PokeNav_2B0B45:: @ 82B0B45 + .string "Oh, hi, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\l" + .string "I heard about you!\p" + .string "Didn’t you just win {STR_VAR_3} battles in\n" + .string "a row at the {STR_VAR_2}?\p" + .string "You’re an inspiration!\n" + .string "Bye-bye!$" + +BattleFrontier_PokeNav_2B0BC5:: @ 82B0BC5 + .string "Hi! {PLAYER}?\n" + .string "Hello, this is {STR_VAR_1}!\l" + .string "I heard the news!\p" + .string "You became the champion at\n" + .string "the {STR_VAR_2} {STR_VAR_3} times?\p" + .string "It’s awesome! I have to do better!\n" + .string "See you!$" + +BattleFrontier_PokeNav_2B0C4A:: @ 82B0C4A + .string "Hello, it’s {STR_VAR_1}!\n" + .string "I heard about you!\p" + .string "They said you won {STR_VAR_3} titles\n" + .string "at the {STR_VAR_2}.\p" + .string "That’s super! I wonder if I can\n" + .string "become a champion?$" + +BattleFrontier_PokeNav_2B0CC7:: @ 82B0CC7 + .string "Hey there, {PLAYER}!\n" + .string "It’s me, {STR_VAR_1}.\l" + .string "How’s it going?\p" + .string "I heard you won events {STR_VAR_3} times\n" + .string "at the {STR_VAR_2}!\p" + .string "Make it one more next time!\n" + .string "Catch you soon!$" + +BattleFrontier_PokeNav_2B0D4A:: @ 82B0D4A + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\p" + .string "I heard you became the champion\n" + .string "at the {STR_VAR_2} {STR_VAR_3} times.\p" + .string "Sounds like you’re working hard.\n" + .string "I’ll try to keep up!$" + +BattleFrontier_PokeNav_2B0DC8:: @ 82B0DC8 + .string "Hiya, {PLAYER}{STRING 5}!\n" + .string "It’s {STR_VAR_1}.\p" + .string "I heard you won {STR_VAR_3} times\n" + .string "outright at the {STR_VAR_2}.\p" + .string "I’d better get with it, too!\n" + .string "See you soon!$" + +BattleFrontier_PokeNav_2B0E35:: @ 82B0E35 + .string "Hey, {PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here. How are you?\p" + .string "By the way, I heard you became\n" + .string "the champion {STR_VAR_3} times at\l" + .string "the {STR_VAR_2}.\p" + .string "I’d better raise my POKéMON before\n" + .string "you pull farther ahead.$" + +BattleFrontier_PokeNav_2B0ED1:: @ 82B0ED1 + .string "{PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here.\p" + .string "You were at the {STR_VAR_2}\n" + .string "and became the champ {STR_VAR_3} times?\p" + .string "That’s neat. By the way, have you\n" + .string "caught any rare POKéMON lately?\p" + .string "Oh, is that right.\n" + .string "Okay, bye.$" + +BattleFrontier_PokeNav_2B0F72:: @ 82B0F72 + .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1} speaking.\l" + .string "I hope you’re doing well.\l" + .string "Oh, but, you are.\p" + .string "I’ve heard that you won {STR_VAR_3} titles\n" + .string "at the {STR_VAR_2}.\p" + .string "I must raise my POKéMON like you.\n" + .string "See you again.$" + +BattleFrontier_PokeNav_2B102A:: @ 82B102A + .string "Oh, {PLAYER}{STRING 5}, hi there!\n" + .string "This is {STR_VAR_1}!\p" + .string "I heard! You took the title\n" + .string "{STR_VAR_3} times at the {STR_VAR_2}!\p" + .string "That is so cool!\n" + .string "I’d better try harder, too!$" + +BattleFrontier_PokeNav_2B10A7:: @ 82B10A7 + .string "Oh, {PLAYER}{STRING 5}, hello.\n" + .string "This is {STR_VAR_1}.\p" + .string "You won {STR_VAR_3} straight times at\n" + .string "the {STR_VAR_2}?\p" + .string "That’s quite the accomplishment.\n" + .string "I need to work harder.$" + +BattleFrontier_PokeNav_2B1121:: @ 82B1121 + .string "Ah, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "I hear you’re the terror of\n" + .string "the {STR_VAR_2}?\p" + .string "You won, what, {STR_VAR_3} straight times\n" + .string "now?\p" + .string "I wonder if I can ever become\n" + .string "a champion?\p" + .string "…Pretty well impossible?\n" + .string "Well, see you!$" + +BattleFrontier_PokeNav_2B11D3:: @ 82B11D3 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It’s me, {STR_VAR_1}.\l" + .string "Are you keeping well?\p" + .string "You’ve won {STR_VAR_3} events at a place\n" + .string "named {STR_VAR_2}?\p" + .string "That’s quite the tale.\n" + .string "See you!$" + +BattleFrontier_PokeNav_2B124D:: @ 82B124D + .string "Ah, hello, {PLAYER}{STRING 5}!\n" + .string "This is {STR_VAR_1}!\l" + .string "I hope you’ve been keeping well.\p" + .string "They say you won {STR_VAR_3} events\n" + .string "at the {STR_VAR_2}?\p" + .string "I admire your energy!\n" + .string "Bye now.$" + +BattleFrontier_PokeNav_2B12D0:: @ 82B12D0 + .string "Oh, hi, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\l" + .string "I heard about you!\p" + .string "Didn’t you win {STR_VAR_3} titles\n" + .string "at the {STR_VAR_2}?\p" + .string "You’re an inspiration!\n" + .string "See you again!$" + +BattleFrontier_PokeNav_2B1347:: @ 82B1347 + .string "Hi! {PLAYER}?\n" + .string "Hello, this is {STR_VAR_1}!\l" + .string "I heard the news!\p" + .string "You got through {STR_VAR_3} rooms\n" + .string "at the {STR_VAR_2}!\p" + .string "That’s awesome!\n" + .string "See you!$" + +BattleFrontier_PokeNav_2B13B1:: @ 82B13B1 + .string "Hello, it’s {STR_VAR_1}!\n" + .string "I heard about you!\p" + .string "They said you won your way through\n" + .string "{STR_VAR_3} rooms at the {STR_VAR_2}.\p" + .string "I have to try much harder!\n" + .string "Bye!$" + +BattleFrontier_PokeNav_2B142B:: @ 82B142B + .string "Hey there, {PLAYER}!\n" + .string "It’s me, {STR_VAR_1}.\l" + .string "How’s it going?\p" + .string "I heard you won through {STR_VAR_3} rooms\n" + .string "at the {STR_VAR_2}!\p" + .string "Try to do even better next time!\n" + .string "Catch you soon!$" + +BattleFrontier_PokeNav_2B14B4:: @ 82B14B4 + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\p" + .string "I heard you blew through {STR_VAR_3} rooms\n" + .string "at the {STR_VAR_2}.\p" + .string "I’d better train my POKéMON and\n" + .string "try to keep up!$" + +BattleFrontier_PokeNav_2B1525:: @ 82B1525 + .string "Hiya, {PLAYER}{STRING 5}!\n" + .string "It’s {STR_VAR_1}.\p" + .string "I heard you got past {STR_VAR_3} rooms\n" + .string "at the {STR_VAR_2}.\p" + .string "I’d better get with it, too!\n" + .string "See you soon!$" + +BattleFrontier_PokeNav_2B158E:: @ 82B158E + .string "Hey, {PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here. How are you?\p" + .string "By the way, I heard you got through\n" + .string "{STR_VAR_3} rooms at the {STR_VAR_2}.\p" + .string "I’d better raise my POKéMON before\n" + .string "you pull further ahead.$" + +BattleFrontier_PokeNav_2B1622:: @ 82B1622 + .string "{PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here.\p" + .string "You were at the {STR_VAR_2}\n" + .string "and won your way past {STR_VAR_3} rooms?\p" + .string "That’s wicked.\p" + .string "Oh, there goes a rare POKéMON!\n" + .string "Okay, bye.$" + +BattleFrontier_PokeNav_2B169D:: @ 82B169D + .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1} speaking.\l" + .string "I hope you’re doing well.\l" + .string "Oh, but, you are.\p" + .string "I’ve heard that you got through\n" + .string "{STR_VAR_3} rooms at the {STR_VAR_2}.\p" + .string "That’s quite impressive!\n" + .string "I must raise my POKéMON like you.\l" + .string "See you again.$" + +BattleFrontier_PokeNav_2B1775:: @ 82B1775 + .string "Oh, {PLAYER}{STRING 5}, hi there!\n" + .string "This is {STR_VAR_1}!\p" + .string "I heard! You won your way through\n" + .string "{STR_VAR_3} rooms at the {STR_VAR_2}!\p" + .string "That is so cool!\n" + .string "I’d better try harder, too!$" + +BattleFrontier_PokeNav_2B17F8:: @ 82B17F8 + .string "Oh, {PLAYER}{STRING 5}, hello.\n" + .string "This is {STR_VAR_1}.\p" + .string "You won your way past {STR_VAR_3} rooms\n" + .string "at the {STR_VAR_2}?\p" + .string "That’s quite the accomplishment.\n" + .string "I need to work harder.$" + +BattleFrontier_PokeNav_2B1877:: @ 82B1877 + .string "Ah, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "I hear you’re the terror of\n" + .string "the {STR_VAR_2}?\p" + .string "You got through, what, {STR_VAR_3} rooms?\n" + .string "That’s gotta count for something.\p" + .string "I wonder if I can ever become\n" + .string "a champion?\p" + .string "…Pretty well impossible?\n" + .string "Well, see you!$" + +BattleFrontier_PokeNav_2B1946:: @ 82B1946 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It’s me, {STR_VAR_1}.\l" + .string "Are you keeping well?\p" + .string "You’ve won through {STR_VAR_3} rooms at\n" + .string "a place named {STR_VAR_2}?\p" + .string "That’s quite the tale.\n" + .string "See you!$" + +BattleFrontier_PokeNav_2B19C7:: @ 82B19C7 + .string "Ah, hello, {PLAYER}{STRING 5}!\n" + .string "This is {STR_VAR_1}!\l" + .string "I hope you’ve been keeping well.\p" + .string "They say you won in {STR_VAR_3} rooms\n" + .string "at the {STR_VAR_2}?\p" + .string "I admire your energy!\n" + .string "Bye now.$" + +BattleFrontier_PokeNav_2B1A4C:: @ 82B1A4C + .string "Oh, hi, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\l" + .string "I heard about you!\p" + .string "Didn’t you get through {STR_VAR_3} rooms\n" + .string "at the {STR_VAR_2}?\p" + .string "You’re an inspiration!\n" + .string "See you again!$" + +BattleFrontier_PokeNav_2B1ACA:: @ 82B1ACA + .string "Hi! {PLAYER}?\n" + .string "Hello, this is {STR_VAR_1}!\l" + .string "I heard the news!\p" + .string "You climbed {STR_VAR_3} floors inside\n" + .string "the {STR_VAR_2}, right?\p" + .string "That’s awesome!\n" + .string "I should try that challenge.$" + +BattleFrontier_PokeNav_2B1B50:: @ 82B1B50 + .string "Hello, it’s {STR_VAR_1}!\n" + .string "I heard about you!\p" + .string "They said you won your way through\n" + .string "{STR_VAR_3} floors in the {STR_VAR_2}.\p" + .string "Wow, that’s fantastic!\n" + .string "I’d better raise my POKéMON, too!$" + +BattleFrontier_PokeNav_2B1BE4:: @ 82B1BE4 + .string "Hey there, {PLAYER}!\n" + .string "It’s me, {STR_VAR_1}.\l" + .string "How’s it going?\p" + .string "I heard you climbed {STR_VAR_3} floors\n" + .string "in the {STR_VAR_2}!\p" + .string "Try to do even better next time!\n" + .string "Catch you soon!$" + +BattleFrontier_PokeNav_2B1C6A:: @ 82B1C6A + .string "Hey, {PLAYER}{STRING 5}.\n" + .string "{STR_VAR_1} here.\p" + .string "I heard you scaled {STR_VAR_3} floors\n" + .string "in the {STR_VAR_2}.\p" + .string "I’d better work hard and try\n" + .string "to keep up!$" + +BattleFrontier_PokeNav_2B1CCF:: @ 82B1CCF + .string "Hiya, {PLAYER}{STRING 5}!\n" + .string "It’s {STR_VAR_1}.\p" + .string "I heard you climbed {STR_VAR_3} floors\n" + .string "in the {STR_VAR_2}.\p" + .string "I’d better get with it, too!\n" + .string "See you soon!$" + +BattleFrontier_PokeNav_2B1D38:: @ 82B1D38 + .string "Hey, {PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here. How are you?\p" + .string "By the way, I heard you got through\n" + .string "{STR_VAR_3} floors in the {STR_VAR_2}.\p" + .string "I’d better raise my POKéMON before\n" + .string "you pull further ahead.$" + +BattleFrontier_PokeNav_2B1DCD:: @ 82B1DCD + .string "{PLAYER}{STRING 5}?\n" + .string "{STR_VAR_1} here.\p" + .string "You were at the {STR_VAR_2}\n" + .string "and won your way up {STR_VAR_3} floors?\p" + .string "Neat. Were there any rare POKéMON\n" + .string "there?\p" + .string "No, huh?\n" + .string "Okay, bye.$" + +BattleFrontier_PokeNav_2B1E4B:: @ 82B1E4B + .string "Oh, {PLAYER}{STRING 5}, how do you do?\n" + .string "This is {STR_VAR_1} speaking.\l" + .string "I hope you’re doing well.\l" + .string "Oh, but, you are.\p" + .string "I’ve heard that you got through\n" + .string "{STR_VAR_3} floors in the {STR_VAR_2}.\p" + .string "That’s quite impressive!\n" + .string "I must raise my POKéMON like you.\l" + .string "See you again.$" + +BattleFrontier_PokeNav_2B1F24:: @ 82B1F24 + .string "Oh, {PLAYER}{STRING 5}, hi there!\n" + .string "This is {STR_VAR_1}!\p" + .string "I heard! You won your way through\n" + .string "{STR_VAR_3} floors in the {STR_VAR_2}!\p" + .string "That is so cool!\n" + .string "I’d better try harder, too!$" + +BattleFrontier_PokeNav_2B1FA8:: @ 82B1FA8 + .string "Oh, {PLAYER}{STRING 5}, hello.\n" + .string "This is {STR_VAR_1}.\p" + .string "You climbed {STR_VAR_3} floors inside\n" + .string "the {STR_VAR_2}?\p" + .string "That’s quite the accomplishment.\n" + .string "I need to work harder.$" + +BattleFrontier_PokeNav_2B2022:: @ 82B2022 + .string "Ah, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\p" + .string "I hear you’re the terror of\n" + .string "the {STR_VAR_2}?\p" + .string "You rose through, what, {STR_VAR_3} floors?\n" + .string "That’s gotta count for something.\p" + .string "I wonder if I can ever become\n" + .string "a champion?\p" + .string "…Pretty well impossible?\n" + .string "Well, see you!$" + +BattleFrontier_PokeNav_2B20F3:: @ 82B20F3 + .string "Hello, {PLAYER}{STRING 5}.\n" + .string "It’s me, {STR_VAR_1}.\l" + .string "Are you keeping well?\p" + .string "You’ve won through {STR_VAR_3} floors in\n" + .string "a place named {STR_VAR_2}?\p" + .string "That’s quite the tale.\n" + .string "See you!$" + +BattleFrontier_PokeNav_2B2175:: @ 82B2175 + .string "Ah, hello, {PLAYER}{STRING 5}!\n" + .string "This is {STR_VAR_1}!\l" + .string "I hope you’ve been keeping well.\p" + .string "They say you climbed {STR_VAR_3} floors\n" + .string "in the {STR_VAR_2}?\p" + .string "I admire your energy!\n" + .string "Bye now.$" + +BattleFrontier_PokeNav_2B21FC:: @ 82B21FC + .string "Oh, hi, {PLAYER}{STRING 5}.\n" + .string "This is {STR_VAR_1}.\l" + .string "I heard about you!\p" + .string "Didn’t you get through {STR_VAR_3} floors\n" + .string "in the {STR_VAR_2}?\p" + .string "You’re an inspiration!\n" + .string "See you again!$" + +gText_Mom_Pokenav_2B227B:: @ 82B227B + .string "MOM: Your father and you…\n" + .string "Everyone is captivated by POKéMON.\p" + .string "What is the charm of POKéMON?\p" + .string "Me?\n" + .string "I adore POKéMON that help me with\l" + .string "my everyday chores.$" + +gText_Mom_Pokenav_2B2310:: @ 82B2310 + .string "MOM: Hi, {PLAYER}!\n" + .string "Your father keeps himself locked\l" + .string "away in the PETALBURG GYM.\p" + .string "He comes home every so often.\n" + .string "But he goes back to the GYM when\l" + .string "he’s eaten everything he can.\p" + .string "I’m guessing that losing to you\n" + .string "was a big blow to his pride!$" + +gText_Mom_Pokenav_2B23F3:: @ 82B23F3 + .string "MOM: {PLAYER}…\n" + .string "Don’t worry about me or the house.\p" + .string "Wear those RUNNING SHOES until\n" + .string "they fall apart, honey!$" + +gText_Roxanne_Pokenav_2B2456:: @ 82B2456 + .string "ROXANNE: Oh, hello, {PLAYER}!\p" + .string "I’ve been hard at work retraining\n" + .string "since we met.\p" + .string "I will still need some more time\n" + .string "before I can reopen the GYM.\p" + .string "But when I do, please visit my GYM\n" + .string "for a rematch!$" + +gText_Roxanne_Pokenav_2B250E:: @ 82B250E + .string "ROXANNE: Is this {PLAYER}?\n" + .string "Congratulations!\l" + .string "I’ve been hearing about you!\p" + .string "As for me, I need some more time\n" + .string "before I can reopen the GYM.\p" + .string "But when I do, please visit my GYM\n" + .string "for a rematch!$" + +gText_Roxanne_Pokenav_2B25C1:: @ 82B25C1 + .string "ROXANNE: {PLAYER}!\n" + .string "My GYM is ready!\p" + .string "Please visit RUSTBORO whenever\n" + .string "you can!$" + +gText_Roxanne_Pokenav_2B2607:: @ 82B2607 + .string "ROXANNE: At the RUSTBORO GYM,\n" + .string "the fact that we battled, {PLAYER},\l" + .string "is a matter of pride.$" + +gText_Brawly_Pokenav_2B2659:: @ 82B2659 + .string "BRAWLY: Hey, there, {PLAYER}{STRING 5}!\p" + .string "I learned a lot from the battle we\n" + .string "had together.\p" + .string "I intend to do my training over,\n" + .string "then reopen the GYM.\p" + .string "It’s going to take some time before\n" + .string "I’m ready to run the GYM again.\p" + .string "But if I can reopen the GYM,\n" + .string "I want you to challenge us again.$" + +gText_Brawly_Pokenav_2B275D:: @ 82B275D + .string "BRAWLY: Hey, {PLAYER}{STRING 5}!\n" + .string "Congratulations!\p" + .string "Word about your exploits arrived\n" + .string "on tidal winds!\p" + .string "It appears as if I need to work on\n" + .string "my training some more.\p" + .string "It’s going to take some time before\n" + .string "I’m ready to run the GYM again.\p" + .string "But if I can reopen the GYM,\n" + .string "I want you to challenge us again.$" + +gText_Brawly_Pokenav_2B286F:: @ 82B286F + .string "BRAWLY: Hey, {PLAYER}{STRING 5}!\n" + .string "My GYM’s ready for action!\p" + .string "Come back to DEWFORD anytime\n" + .string "for another challenge!$" + +gText_Brawly_Pokenav_2B28D1:: @ 82B28D1 + .string "BRAWLY: {PLAYER}{STRING 5}, I don’t think\n" + .string "I’ll ever get bored of battling you!$" + +gText_Wattson_Pokenav_2B2912:: @ 82B2912 + .string "WATTSON: Oh, it’s you!\p" + .string "After you left, I’ve been redoing\n" + .string "my training from scratch.\p" + .string "I’d say I could use a wee bit more\n" + .string "time to reopen my GYM.\p" + .string "You’ll have to wait till then!\n" + .string "Wahahahaha!$" + +gText_Wattson_Pokenav_2B29CA:: @ 82B29CA + .string "WATTSON: Wahahahaha!\p" + .string "You’ve really done it, haven’t you?\n" + .string "I’ve been getting word about you!\p" + .string "It seems I need to retrain some\n" + .string "more still.\p" + .string "I’d say I could use a wee bit more\n" + .string "time to reopen my GYM.\p" + .string "You’ll have to wait till then!\n" + .string "Wahahahaha!$" + +gText_Wattson_Pokenav_2B2AB6:: @ 82B2AB6 + .string "WATTSON: Oh, it’s you!\n" + .string "My GYM’s ready!\p" + .string "Visit MAUVILLE anytime!\n" + .string "Wahahahaha!$" + +gText_Wattson_Pokenav_2B2B01:: @ 82B2B01 + .string "WATTSON: Wahahaha!\p" + .string "A battle with you is always charged\n" + .string "with shocking power!$" + +gText_Flannery_Pokenav_2B2B4D:: @ 82B2B4D + .string "FLANNERY: {PLAYER}…\p" + .string "When we battled, I learned exactly\n" + .string "how immature I was.\p" + .string "But I’m not done yet!\p" + .string "I’m going to redo my training and\n" + .string "reopen the GYM.\p" + .string "When the time comes, {PLAYER},\n" + .string "please challenge us again.$" + +gText_Flannery_Pokenav_2B2C0E:: @ 82B2C0E + .string "FLANNERY: Hello, {PLAYER}?\n" + .string "Congratulations!\p" + .string "Word of your success has reached\n" + .string "us like the heat of a volcano!\p" + .string "Our training is coming along very\n" + .string "well here.\p" + .string "When the GYM’s ready, a mark will\n" + .string "appear beside my name in the\l" + .string "MATCH CALL list.$" + +gText_Flannery_Pokenav_2B2CF1:: @ 82B2CF1 + .string "FLANNERY: Oh, {PLAYER}?\n" + .string "Our GYM’s ready!\p" + .string "Come to LAVARIDGE for a soak\n" + .string "in the hot spring and a challenge!$" + +gText_Flannery_Pokenav_2B2D54:: @ 82B2D54 + .string "FLANNERY: {PLAYER}…\n" + .string "I’m positive that you keep getting\l" + .string "better at training every time.$" + +gText_Winona_Pokenav_2B2DA4:: @ 82B2DA4 + .string "WINONA: Hello, {PLAYER}!\p" + .string "Thanks to our battle, I’ve come\n" + .string "to understand my weak points!\p" + .string "When I reopen the GYM, I won’t go\n" + .string "down in defeat again!$" + +gText_Winona_Pokenav_2B2E2B:: @ 82B2E2B + .string "WINONA: You’ve done it, {PLAYER}!\p" + .string "News about the new CHAMPION\n" + .string "has reached us in FORTREE!\p" + .string "But… The next time we battle,\n" + .string "it’s not going to end the same way.$" + +gText_Winona_Pokenav_2B2EC2:: @ 82B2EC2 + .string "WINONA: Is this {PLAYER}?\n" + .string "Our GYM is back in operation!\p" + .string "We’re waiting for you in FORTREE!$" + +gText_Winona_Pokenav_2B2F16:: @ 82B2F16 + .string "WINONA: {PLAYER}…\n" + .string "Though I have lost, my wings will\l" + .string "never break.\p" + .string "Yes, in exactly the same way that\n" + .string "you never lost sight of your dream.$" + +gText_TateLiza_Pokenav_2B2F97:: @ 82B2F97 + .string "TATE: Oh! You’re…\n" + .string "LIZA: {PLAYER}!\p" + .string "TATE: We’re in training again…\n" + .string "LIZA: So we can reopen our GYM!\p" + .string "TATE: When our GYM is ready…\n" + .string "LIZA: When our GYM is ready…\p" + .string "TATE: A mark’ll appear by our name…\n" + .string "LIZA: On the MATCH CALL list.$" + +gText_TateLiza_Pokenav_2B306E:: @ 82B306E + .string "TATE: {PLAYER}, congratulations!\n" + .string "LIZA: {PLAYER}, congratulations!\p" + .string "TATE: The two of us are…\n" + .string "LIZA: Still in training!\p" + .string "TATE: We need some more time, but…\n" + .string "LIZA: When our GYM is ready…\p" + .string "TATE: A mark’ll appear by our name…\n" + .string "LIZA: On the MATCH CALL list.$" + +gText_TateLiza_Pokenav_2B3158:: @ 82B3158 + .string "TATE: {PLAYER}!\n" + .string "LIZA: {PLAYER}!\p" + .string "TATE: Our GYM is ready!\n" + .string "LIZA: Our GYM is ready!\p" + .string "TATE: Please come visit…\n" + .string "LIZA: MOSSDEEP anytime!$" + +gText_TateLiza_Pokenav_2B31CD:: @ 82B31CD + .string "TATE: {PLAYER}, the battle we had…\n" + .string "LIZA: Is an invaluable experience.\p" + .string "TATE: It would be nice if…\n" + .string "LIZA: We could all battle again!$" + +gText_Juan_Pokenav_2B3249:: @ 82B3249 + .string "JUAN: Hmm…\n" + .string "{PLAYER}{STRING 5}… Was it?\p" + .string "Our battle together--it brought\n" + .string "to me memories of when I first\l" + .string "encountered WALLACE.\p" + .string "Perhaps you are a genius who may\n" + .string "yet surpass WALLACE!$" + +gText_Juan_Pokenav_2B32EC:: @ 82B32EC + .string "JUAN: Fufu… {PLAYER}{STRING 5}…\n" + .string "You’ve finally achieved your goal.\p" + .string "My eye for appraising talent wasn’t\n" + .string "mistaken…\p" + .string "I wish for another chance to meet\n" + .string "you, for you have scaled the peak\l" + .string "of power and prestige.$" + +gText_Juan_Pokenav_2B33AA:: @ 82B33AA + .string "JUAN: Hoho… {PLAYER}{STRING 5}…\p" + .string "Our SOOTOPOLIS GYM has finally\n" + .string "reopened.\p" + .string "If you wish to see me, you are\n" + .string "welcome to visit anytime.$" + +gText_Juan_Pokenav_2B341E:: @ 82B341E + .string "JUAN: {PLAYER}{STRING 5}…\p" + .string "Like the finest music, the battles\n" + .string "we wage together strike chords\l" + .string "of inspiration in my heart…\p" + .string "When I close my eyes, I see visions\n" + .string "of you soaring with the melody…$" + +gText_Sidney_Pokenav_2B34CC:: @ 82B34CC + .string "SIDNEY: Yo, {PLAYER}!\p" + .string "If you want to battle with me\n" + .string "again, you come on back whenever\l" + .string "you like to the POKéMON LEAGUE.\p" + .string "I’ll always be here!\n" + .string "I’ll be waiting!$" + +gText_Phoebe_Pokenav_2B3561:: @ 82B3561 + .string "PHOEBE: Hi, {PLAYER}!\p" + .string "How about coming back here again\n" + .string "sometime?\p" + .string "I’d like to see how much tighter\n" + .string "your bond has grown with your\l" + .string "POKéMON.$" + +gText_Glacia_Pokenav_2B35E4:: @ 82B35E4 + .string "GLACIA: Hello, {PLAYER}.\p" + .string "I trust you haven’t become\n" + .string "complacent with your power?\p" + .string "If you feel the need to cool your\n" + .string "hot emotions just a little, do come\l" + .string "to the POKéMON LEAGUE…$" + +gText_Drake_Pokenav_2B368B:: @ 82B368B + .string "DRAKE: That voice… {PLAYER}, is it?\n" + .string "You sound well…\p" + .string "I understand that there is now\n" + .string "a facility called the BATTLE\l" + .string "FRONTIER that tests the skills of\l" + .string "TRAINERS.\p" + .string "However, if you wish to have real\n" + .string "battles, there is no substitute for\l" + .string "the POKéMON LEAGUE!\p" + .string "Don’t you agree, {PLAYER}?$" + +gText_Wallace_Pokenav_2B3790:: @ 82B3790 + .string "WALLACE: Hello, {PLAYER}{STRING 5}.\n" + .string "Have you met STEVEN?\p" + .string "He is…\n" + .string "Actually incredibly skilled.\p" + .string "However, he’s an odd soul who\n" + .string "rarely battles.\p" + .string "Instead, he would rather look for\n" + .string "rare stones.\p" + .string "I’m sure he’s digging in a cave or\n" + .string "a craggy mountain somewhere.\p" + .string "But what is a rare stone exactly?\n" + .string "All I can think of is a METEORITE…$" + +MossdeepCity_SpaceCenter_2F_Text_2B38C1: @ 82B38C1 + .string "… … … … … …\n" + .string "… … … … … Beep!\p" + .string "MAY: Hi, {PLAYER}{KUN}!\p" + .string "I was just in PACIFIDLOG a little\n" + .string "while ago.\p" + .string "I saw a giant green POKéMON\n" + .string "flying high in the sky.\p" + .string "I…\n" + .string "I’ve never seen anything like it.\p" + .string "I wonder what it was.\n" + .string "Is this maybe a major discovery?\p" + .string "… … … … … …\n" + .string "… … … … … Click!$" + +MossdeepCity_SpaceCenter_2F_Text_2B39C6: @ 82B39C6 + .string "… … … … … …\n" + .string "… … … … … Beep!\p" + .string "BRENDAN: Hey, {PLAYER}!\n" + .string "I was in PACIFIDLOG just now.\p" + .string "I saw this huge green POKéMON\n" + .string "flying across the sky.\p" + .string "I’ve never seen anything that\n" + .string "amazing before.\p" + .string "I wish you could’ve seen it,\n" + .string "{PLAYER}.\p" + .string "… … … … … …\n" + .string "… … … … … Click!$" + +gText_May_Pokenav_2B3AB3:: @ 2B3AB3 + .string "MAY: Hi, {PLAYER}{STRING 5}!\p" + .string "MR. BRINEY retired as a SAILOR,\n" + .string "but I still see him out on the sea\l" + .string "with his pet PEEKO sometimes.\p" + .string "He must love the sea still.$" + +gText_May_Pokenav_2B3B3F:: @ 2B3B3F + .string "MAY: Hi, {PLAYER}{STRING 5}!\p" + .string "You know how little towns like\n" + .string "PETALBURG and DEWFORD have GYMS?\p" + .string "For some reason, the big port of\n" + .string "SLATEPORT doesn’t have a GYM.\p" + .string "When they finally build a GYM there,\n" + .string "I should apply to be the LEADER.$" + +gText_May_Pokenav_2B3C13:: @ 2B3C13 + .string "MAY: Hi, {PLAYER}{STRING 5}!\p" + .string "Do you remember a man named\n" + .string "the CUTTER in RUSTBORO?\l" + .string "He had a house there, remember?\p" + .string "Well, I found out his younger\n" + .string "brother lives in MAUVILLE.\p" + .string "Can you guess his name?\p" + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "The ROCK SMASH GUY!$" + +gText_May_Pokenav_2B3CF3:: @ 2B3CF3 + .string "MAY: {PLAYER}{STRING 5}?\p" + .string "RUSTURF TUNNEL…\n" + .string "They named it that because it\l" + .string "joins RUSTBORO and VERDANTURF.$" + +gText_May_Pokenav_2B3D4B:: @ 2B3D4B + .string "MAY: {PLAYER}{STRING 5}, how are you?\p" + .string "I’m out on ROUTE 111 now.\p" + .string "I’m going to get a rest at an old\n" + .string "lady’s house.\p" + .string "She lives just north of\n" + .string "the desert.$" + +gText_May_Pokenav_2B3DD1:: @ 2B3DD1 + .string "MAY: Hi, {PLAYER}{STRING 5}!\p" + .string "Did you know about the MIRAGE\n" + .string "TOWER in the desert?\p" + .string "They say, like a mirage, it seems\n" + .string "to mysteriously come and go.\p" + .string "I wish I could see it.$" + +gText_May_Pokenav_2B3E69:: @ 2B3E69 + .string "MAY: {PLAYER}{STRING 5}, yahoo!\n" + .string "I’m on ROUTE 119 now.\p" + .string "There’s a big river here, and\n" + .string "it often rains.\p" + .string "I got soaked!$" + +gText_May_Pokenav_2B3ECD:: @ 2B3ECD + .string "MAY: {PLAYER}{STRING 5}, hi.\p" + .string "MT. PYRE is a memorial to POKéMON\n" + .string "whose lives have ended.\p" + .string "Maybe as a result, it’s infested\n" + .string "with many GHOST-type POKéMON!$" + +gText_May_Pokenav_2B3F2B:: @ 2B3F2B + .string "MAY: Hi, {PLAYER}{STRING 5}!\p" + .string "I was thinking of going to the hot\n" + .string "spring in LAVARIDGE.\p" + .string "But on the way, around JAGGED\n" + .string "PASS, I ran into some bad-looking\l" + .string "characters. The mood was ugly!$" + +gText_May_Pokenav_2B3FFB:: @ 2B3FFB + .string "MAY: Hi, {PLAYER}{STRING 5}!\n" + .string "Did you see the news?\p" + .string "They say CAPT. STERN discovered\n" + .string "the SEAFLOOR CAVERN while on his\l" + .string "submarine expedition.$" + +gText_May_Pokenav_2B402B:: @ 2B402B + .string "MAY: Hi, {PLAYER}{STRING 5}!\n" + .string "Don’t you think it’s neat?\p" + .string "Even if you don’t have a boat,\n" + .string "you can cross the sea using\l" + .string "a POKéMON’s move.\p" + .string "Did you know there’s more?\p" + .string "There’s a POKéMON move that lets\n" + .string "you go to the bottom of the sea.$" + +gText_May_Pokenav_2B414B:: @ 2B414B + .string "MAY: Hi, {PLAYER}{STRING 5}!\n" + .string "Hope things are okay!\p" + .string "Have you been on the sea and\n" + .string "found your way to the other side\l" + .string "blocked?\p" + .string "Try diving deep underwater and\n" + .string "following trenches.\p" + .string "When you get to the other side,\n" + .string "come up to the surface. Easy!$" + +gText_May_Pokenav_2B4228:: @ 2B4228 + .string "MAY: Hi, {PLAYER}{STRING 5}!\p" + .string "How’s it going?\n" + .string "Are you filling your POKéDEX?\p" + .string "I heard a rumor that there are\n" + .string "super-ancient POKéMON out there.\l" + .string "And there are three of them!\p" + .string "I would love to see even one…$" + +gText_May_Pokenav_2B42E0:: @ 2B42E0 + .string "MAY: {PLAYER}{STRING 5}!\n" + .string "I heard the rumors!\p" + .string "You beat the SOOTOPOLIS GYM\n" + .string "LEADER?\p" + .string "That means you don’t have far\n" + .string "to go, do you?$" + +gText_May_Pokenav_2B4350:: @ 2B4350 + .string "MAY: There isn’t a single TRAINER\n" + .string "left in HOENN who doesn’t know who\l" + .string "you are, {PLAYER}{STRING 5}!\p" + .string "When I tell people that I’m friends\n" + .string "with you, {PLAYER}{STRING 5}, they’re all\l" + .string "surprised!$" + +gText_Brendan_Pokenav_2B43EF:: @ 2B43EF + .string "BRENDAN: Hey, {PLAYER}!\p" + .string "MR. BRINEY retired as a SAILOR,\n" + .string "but I still see him out on the sea\l" + .string "with his pet PEEKO sometimes.\p" + .string "I guess he must love\n" + .string "the sea still.$" + +gText_Brendan_Pokenav_2B4486:: @ 2B4486 + .string "BRENDAN: Hey, {PLAYER}!\p" + .string "I don’t get how little towns like\n" + .string "PETALBURG and DEWFORD have GYMS.\p" + .string "I mean, not when the big port of\n" + .string "SLATEPORT doesn’t have a GYM.\p" + .string "When they finally build a GYM there,\n" + .string "I should apply to be the LEADER.$" + +gText_Brendan_Pokenav_2B4560:: @ 2B4560 + .string "BRENDAN: Yo, {PLAYER}!\p" + .string "Do you remember a guy named\n" + .string "the CUTTER in RUSTBORO?\l" + .string "He had a house there, right?\p" + .string "Well, it turns out his little\n" + .string "brother lives in MAUVILLE.\p" + .string "Can you guess his name?\p" + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "The ROCK SMASH GUY!$" + +gText_Brendan_Pokenav_2B463F:: @ 2B463F + .string "BRENDAN: This voice… {PLAYER}?\p" + .string "They gave RUSTURF TUNNEL its name\n" + .string "because it joins RUSTBORO and\l" + .string "VERDANTURF.\p" + .string "Did you know that?$" + +gText_Brendan_Pokenav_2B46B7:: @ 2B46B7 + .string "BRENDAN: {PLAYER}, what’s up?\p" + .string "Hey, I’m out on ROUTE 111 now.\p" + .string "I’m going to rest up at an old\n" + .string "lady’s house north of the desert.\p" + .string "If you’re in the area, you should\n" + .string "visit her, too.$" + +gText_Brendan_Pokenav_2B4761:: @ 2B4761 + .string "BRENDAN: Hey, {PLAYER}!\p" + .string "Did you know about the MIRAGE\n" + .string "TOWER in the desert?\p" + .string "They say, like a mirage, it can be\n" + .string "seen only sometimes.\p" + .string "I’d like to see that!$" + +gText_Brendan_Pokenav_2B47F4:: @ 2B47F4 + .string "BRENDAN: Who’s this? Oh, {PLAYER}?\n" + .string "Guess what? I’m on ROUTE 119 now.\p" + .string "There’s a big river here, and\n" + .string "it rains all the time.\p" + .string "I got soaked to the bone!$" + +gText_Brendan_Pokenav_2B4882:: @ 2B4882 + .string "BRENDAN: {PLAYER}!\p" + .string "MT. PYRE is a memorial to POKéMON\n" + .string "whose lives have ended.\p" + .string "That’s probably why it’s infested\n" + .string "with many GHOST-type POKéMON!$" + +gText_Brendan_Pokenav_2B4909:: @ 2B4909 + .string "BRENDAN: Hey there, {PLAYER}.\p" + .string "I was on my way back to the hot\n" + .string "spring in LAVARIDGE.\p" + .string "But around JAGGED PASS, I ran into\n" + .string "some nasty-looking characters.\p" + .string "Those creeps…\n" + .string "I think they were TEAM MAGMA.$" + +gText_Brendan_Pokenav_2B49C4:: @ 2B49C4 + .string "BRENDAN: Hi, {PLAYER}!\n" + .string "Did you catch the news?\p" + .string "They say CAPT. STERN discovered\n" + .string "the SEAFLOOR CAVERN while on his\l" + .string "submarine expedition.$" + +gText_Brendan_Pokenav_2B4A44:: @ 2B4A44 + .string "BRENDAN: Hey there, {PLAYER}!\n" + .string "Don’t you think it’s awesome?\p" + .string "Even if you don’t have a boat,\n" + .string "you can cross the sea using\l" + .string "a POKéMON’s move.\p" + .string "And, there’s a move that lets you\n" + .string "travel to the bottom of the sea.\p" + .string "Man, POKéMON can do anything!$" + +gText_Brendan_Pokenav_2B4B28:: @ 2B4B28 + .string "BRENDAN: Howdy, {PLAYER}!\n" + .string "How are you holding up?\p" + .string "Ever found your way to the other\n" + .string "side blocked while on the sea?\p" + .string "Try diving deep underwater and\n" + .string "following trenches at the bottom.\p" + .string "When you get to the other side,\n" + .string "come up to the surface. Simple!$" + +gText_Brendan_Pokenav_2B4C15:: @ 2B4C15 + .string "BRENDAN: Hey there, {PLAYER}!\p" + .string "How’s it going? Filling up your\n" + .string "POKéDEX successfully?\p" + .string "I heard a rumor that there are\n" + .string "super-ancient POKéMON out there.\l" + .string "And not just one--three!\p" + .string "I’d love to catch even one…$" + +gText_Brendan_Pokenav_2B4CD8:: @ 2B4CD8 + .string "BRENDAN: {PLAYER}!\n" + .string "I heard the rumors!\p" + .string "You beat the SOOTOPOLIS GYM\n" + .string "LEADER? Awesome!\p" + .string "You’re getting awful close now!$" + +gText_Brendan_Pokenav_2B4D46:: @ 2B4D46 + .string "BRENDAN: There isn’t a TRAINER in\n" + .string "all of HOENN who doesn’t know who\l" + .string "you are, {PLAYER}!\p" + .string "When I tell people that I’m friends\n" + .string "with you, {PLAYER}, they get pretty\l" + .string "envious!$" + +gText_Wally_Pokenav_2B4DE2:: @ 2B4DE2 + .string "WALLY: Oh, {PLAYER}!\p" + .string "I’ve been getting healthier and\n" + .string "more physically fit.\p" + .string "I hope I can become a TRAINER like\n" + .string "you soon, {PLAYER}!$" + +gText_Wally_Pokenav_2B4E57:: @ 2B4E57 + .string "WALLY: {PLAYER}, hello!\p" + .string "After RUSTURF TUNNEL went\n" + .string "through, WANDA’s been very happy!$" + +gText_Wally_Pokenav_2B4EA5:: @ 2B4EA5 + .string "WALLY: Oh, {PLAYER}!\p" + .string "I… I left my uncle’s place in\n" + .string "VERDANTURF without telling anyone.\p" + .string "I wonder if he’s furious with me…\p" + .string "{PLAYER}, you understand how\n" + .string "I feel, don’t you?$" + +gText_Wally_Pokenav_2B4F41:: @ 2B4F41 + .string "WALLY: {PLAYER}?\n" + .string "It’s me, WALLY!\p" + .string "The world of TRAINERS is amazing!\p" + .string "When I have my POKéMON with me,\n" + .string "all sorts of people say hi!\p" + .string "It’s as if everyone’s getting\n" + .string "connected through POKéMON!$" + +gText_Wally_Pokenav_2B4FF3:: @ 2B4FF3 + .string "WALLY: {PLAYER}? It’s awesome!\n" + .string "That RALTS we caught together?\l" + .string "It evolved, {PLAYER}!\p" + .string "Maybe I’m talented…\p" + .string "Oh, but I shouldn’t get a big head\n" + .string "like that!\p" + .string "After all, it’s the POKéMON that\n" + .string "should be praised!$" + +gText_Wally_Pokenav_2B50B1:: @ 2B50B1 + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "WALLY appears to be out of\n" + .string "the POKéNAV’s service area…$" + +gText_Wally_Pokenav_2B5100:: @ 2B5100 + .string "WALLY: Oh, {PLAYER}!\p" + .string "Before I met you, I hardly ever\n" + .string "left my house…\p" + .string "But now, I’m on an adventure with\n" + .string "my very own POKéMON…\p" + .string "{PLAYER}…\n" + .string "Thank you…$" + +gText_Scott_Pokenav_2B5184:: @ 2B5184 + .string "SCOTT: Howdy, {PLAYER}{STRING 5}!\p" + .string "You know how POKéMON can be found\n" + .string "everywhere?\p" + .string "Like in the mountains, in the sea,\n" + .string "in tall grass anywhere?\p" + .string "Just like POKéMON, you can find\n" + .string "TRAINERS everywhere, too.\p" + .string "As a result, I have to hurry\n" + .string "everywhere, too. Busy, busy!$" + +gText_Scott_Pokenav_2B5275:: @ 2B5275 + .string "SCOTT: I’m on ROUTE 119 right now.\n" + .string "It’s teeming with TRAINERS!\p" + .string "It’s also overgrown with tall grass\n" + .string "everywhere, it seems.\p" + .string "Walking around in shorts here\n" + .string "makes me all ticklish!$" + +gText_Scott_Pokenav_2B5323:: @ 2B5323 + .string "SCOTT: Hi, hi, {PLAYER}{STRING 5}!\p" + .string "Have you had the chance to climb\n" + .string "MT. PYRE?\p" + .string "The place is a memorial to POKéMON\n" + .string "that have passed away.\p" + .string "It’s somewhere every TRAINER\n" + .string "should climb to the top of once.$" + +gText_Scott_Pokenav_2B53DB:: @ 2B53DB + .string "SCOTT: Hi, {PLAYER}{STRING 5}!\p" + .string "I’ve been hearing about these odd\n" + .string "gangs being a nuisance.\p" + .string "TEAM MAGMA and TEAM AQUA,\n" + .string "I think they were.\p" + .string "I would think there’d be some\n" + .string "skilled TRAINERS among them.\p" + .string "…But if they’re thugs…$" + +gText_Scott_Pokenav_2B54A5:: @ 2B54A5 + .string "SCOTT: Oh, hi, {PLAYER}{STRING 5}.\p" + .string "Might there be tough TRAINERS\n" + .string "at the bottom of the sea?\p" + .string "I can’t go check for myself.\n" + .string "I can’t swim, for one.\l" + .string "And I don’t raise POKéMON…$" + +gText_Scott_Pokenav_2B5541:: @ 2B5541 + .string "SCOTT: Hi, hi, {PLAYER}{STRING 5}!\p" + .string "You know that you can challenge\n" + .string "the POKéMON LEAGUE when you’ve\l" + .string "collected all the GYM BADGES?\p" + .string "With your talent, becoming the\n" + .string "CHAMPION isn’t a pipe dream.\p" + .string "But did you know?\n" + .string "There’s somewhere even better.\p" + .string "But, that’s all I’m willing to say\n" + .string "for the time being.\p" + .string "It’s something you can look\n" + .string "forward to.\p" + .string "When you’ve won your way through\n" + .string "the POKéMON LEAGUE into the HALL\l" + .string "OF FAME!$" + +gText_Scott_Pokenav_2B56CA:: @ 2B56CA + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "SCOTT appears to be out of\n" + .string "the POKéNAV’s service area…$" + +gText_Norman_Pokenav_2B5719:: @ 82B5719 + .string "DAD: In RUSTBORO, there’s a man\n" + .string "that goes by the odd name of\l" + .string "the CUTTER.\p" + .string "If you’re in the area, you should\n" + .string "pay him a visit.$" + +gText_Norman_Pokenav_2B5795:: @ 82B5795 + .string "DAD: Hm… Little by little, but also\n" + .string "very surely, you’re getting\l" + .string "tougher, {PLAYER}.\p" + .string "The stronger you get, the farther\n" + .string "and higher you soar from Mother\l" + .string "and me…\p" + .string "This feeling is hard to explain.$" + +gText_Norman_Pokenav_2B584D:: @ 82B584D + .string "DAD: I see…\n" + .string "You’ve collected four GYM BADGES…\p" + .string "There’s no avoiding it now.\n" + .string "We will battle like I promised.\p" + .string "Come anytime.\n" + .string "We’ll all be waiting for you!$" + +gText_Norman_Pokenav_2B58E3:: @ 82B58E3 + .string "DAD: {PLAYER}! You’d better go visit\n" + .string "Mother every so often.\p" + .string "I’m going to remain here and\n" + .string "redouble my training.\p" + .string "The way of battling is deep\n" + .string "and unforgiving!$" + +gText_Norman_Pokenav_2B5979:: @ 82B5979 + .string "DAD: Oh, hi, {PLAYER}!\p" + .string "What’s that? MAGMA EMBLEM?\n" + .string "I don’t know what that’s about.\p" + .string "But with a name like that, it may\n" + .string "be somehow linked to a volcano!$" + +gText_Norman_Pokenav_2B5A07:: @ 82B5A07 + .string "DAD: Hiyah! Haah! Dwah!\p" + .string "…Oh? {PLAYER}!\p" + .string "You caught me right in the middle\n" + .string "of a POKéMON training session!$" + +gText_Norman_Pokenav_2B5A69:: @ 82B5A69 + .string "DAD: {PLAYER}!\p" + .string "Who would’ve thought you’d become\n" + .string "the POKéMON LEAGUE CHAMPION…\p" + .string "Okay!\n" + .string "I won’t be left behind!$" + +gText_Norman_Pokenav_2B5ACF:: @ 82B5ACF + .string "DAD: Hm? {PLAYER}?\n" + .string "What good timing!\p" + .string "This time, I’m going to challenge\n" + .string "you to battle.\p" + .string "I’m waiting in the PETALBURG GYM.\n" + .string "Accept my challenge anytime!$" + +gText_Norman_Pokenav_2B5B5E:: @ 82B5B5E + .string "DAD: …You amaze me, {PLAYER}.\n" + .string "How much higher will you soar?$" + +gText_Steven_Pokenav_2B5B95:: @ 82B5B95 + .string "STEVEN: Hi, {PLAYER}{STRING 5}!\p" + .string "Have you been to MAUVILLE\n" + .string "already?\p" + .string "You should visit the BIKE SHOP\n" + .string "and get a MACH BIKE.\p" + .string "Then, try exploring the GRANITE\n" + .string "CAVE thoroughly.\p" + .string "You may make a new discovery\n" + .string "there.$" + +gText_Steven_Pokenav_2B5C53:: @ 82B5C53 + .string "STEVEN: Hi, {PLAYER}{STRING 5}!\p" + .string "I’ve met a lot of different\n" + .string "TRAINERS so far.\p" + .string "But you’re one of a kind.\n" + .string "You’re not like anyone else.$" + +gText_Steven_Pokenav_2B5CC9:: @ 82B5CC9 + .string "STEVEN: Hi, {PLAYER}{STRING 5}!\p" + .string "When you’re on an adventure with\n" + .string "your POKéMON, what do you think?\p" + .string "Do you consider them to be strong\n" + .string "partners?\p" + .string "Do you think of them as fun\n" + .string "companions?\p" + .string "Depending on how you think, your\n" + .string "adventure’s significance changes.$" + +gText_Steven_Pokenav_2B5DB4:: @ 82B5DB4 + .string "STEVEN: Hello?\n" + .string "{PLAYER}{STRING 5}?\p" + .string "I’m involved in a spot of trouble\n" + .string "at the SPACE CENTER.\p" + .string "I’m sorry, but I can’t talk now.\n" + .string "Bye!$" + +gText_Steven_Pokenav_2B5E26:: @ 82B5E26 + .string "STEVEN: Oh!\n" + .string "{PLAYER}{STRING 5}!\p" + .string "There’s no need to talk.\n" + .string "It’s past time for talking.\p" + .string "You have to believe in yourself\n" + .string "and do what’s right.$" + +gText_Steven_Pokenav_2B5EA2:: @ 82B5EA2 + .string "… … … … … …\p" + .string "STEVEN appears not to be getting\n" + .string "the call…$" + +gText_Steven_Pokenav_2B5ED9:: @ 82B5ED9 + .string "STEVEN: {PLAYER}{STRING 5}… Congratulations\n" + .string "for entering the HALL OF FAME.\p" + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "I hope we can meet again\n" + .string "somewhere!$" + +Route101_Text_2B5F52: @ 82B5F52 + .string "PROF. BIRCH: Oh, {PLAYER}{KUN}!\n" + .string "I’ve already heard about you!\p" + .string "It seems your POKéNAV’s been\n" + .string "upgraded with MATCH CALL.\p" + .string "Well, I should register, too!\p" + .string "That way, I’d be able to examine\n" + .string "your POKéDEX even while you’re\l" + .string "out in the field.\p" + .string "… … … … … …$" + +Route101_Text_2B603A: @ 82B603A + .string "Registered PROF. BIRCH\n" + .string "in the POKéNAV.$" + + .string "PROF. BIRCH: When one has both\n" + .string "the POKéDEX and POKéNAV, studying\l" + .string "POKéMON becomes more fun, eh?$" + +gText_MrStone_Pokenav_2B60C0:: @ 82B60C0 + .string "MR. STONE: Oh? {PLAYER}{STRING 5}!\p" + .string "Since you called me, the POKéNAV\n" + .string "must be working properly!\p" + .string "Other people will be registered,\n" + .string "so try calling them up, too!\p" + .string "Good! Good!\n" + .string "You seem to be quite happy!\p" + .string "Hm…\n" + .string "How could I know that?\p" + .string "It’s because I’m looking down at\n" + .string "you from my office window!\p" + .string "Wahahaha!\n" + .string "See you again!$" + +gText_MrStone_Pokenav_2B61E6:: @ 82B61E6 + .string "MR. STONE: Oh? {PLAYER}{STRING 5}!\p" + .string "What’s wrong? Have you forgotten\n" + .string "about that little errand of mine?\p" + .string "I need you to deliver my letter\n" + .string "to STEVEN in DEWFORD.\p" + .string "After that, deliver our parcel to\n" + .string "CAPT. STERN in SLATEPORT.\p" + .string "You remember, don’t you?\p" + .string "Now, since I am a busy PRESIDENT,\n" + .string "I have to go! Bye-bye!$" + +gText_MrStone_Pokenav_2B6302:: @ 82B6302 + .string "MR. STONE: Oh! {PLAYER}{STRING 5}!\p" + .string "Ah, so you’ve met STEVEN!\n" + .string "I’d better reward you, then!\p" + .string "When you visit RUSTBORO again,\n" + .string "come see me at my office.\p" + .string "I’ll be waiting for you!$" + +gText_MrStone_Pokenav_2B63A0:: @ 82B63A0 + .string "MR. STONE: Oh! {PLAYER}{STRING 5}!\p" + .string "Did you know that DEVON was\n" + .string "digging the RUSTURF TUNNEL?\p" + .string "But we shut down the operation to\n" + .string "protect the POKéMON in the area.\p" + .string "It’s a no-brainer, really.\p" + .string "It’s more important to let POKéMON\n" + .string "live in peace than worry about our\l" + .string "own convenience.$" + +gText_MrStone_Pokenav_2B64A2:: @ 82B64A2 + .string "MR. STONE: Hello, hello, {PLAYER}{STRING 5}!\p" + .string "I heard from someone in PETALBURG\n" + .string "that you’re NORMAN’s child!\p" + .string "No wonder you’re such a capable\n" + .string "being!$" + +gText_MrStone_Pokenav_2B6526:: @ 82B6526 + .string "MR. STONE: What’s that?\p" + .string "You battled your own father and\n" + .string "defeated him?\p" + .string "That’s astounding!\p" + .string "I had no idea that I befriended\n" + .string "someone so special! Wahaha!$" + +gText_MrStone_Pokenav_2B65BB:: @ 82B65BB + .string "Hello!\n" + .string "This is DEVON CORPORATI…\l" + .string "Oh, hello, {PLAYER}!\p" + .string "Our PRESIDENT was here a little\n" + .string "while ago, but he’s gone out.\p" + .string "Our PRESIDENT is busy, but you\n" + .string "seem to be just as busy, {PLAYER}.$" + +gText_MrStone_Pokenav_2B6664:: @ 82B6664 + .string "…Huh? …What’s that?\p" + .string "GROU… Yes? …DON?\p" + .string "You’re breaking up…\n" + .string "…can’t hear…\p" + .string "BZZZZ…$" + +gText_MrStone_Pokenav_2B66B1:: @ 82B66B1 + .string "…Huh? …What’s that?\p" + .string "Seaflo… Yes? …Caver…?\p" + .string "You’re breaking up…\n" + .string "…can’t hear…\p" + .string "BZZZZ…$" + +gText_MrStone_Pokenav_2B6703:: @ 82B6703 + .string "MR. STONE: {PLAYER}{STRING 5}! It’s me!\p" + .string "You were apparently involved in all\n" + .string "sorts of things, but I, being busy,\l" + .string "haven’t a clue exactly what!\p" + .string "However, I urge you to take\n" + .string "the road you believe in and walk it.\p" + .string "I’ll always be in your corner!\n" + .string "Take care!$" + +gText_MrStone_Pokenav_2B67ED:: @ 82B67ED + .string "MR. STONE: … … … … … …\n" + .string "Is this maybe {PLAYER}{STRING 5}?\p" + .string "Your voice is so full of confidence,\n" + .string "I didn’t recognize you right off!\p" + .string "Hm! You must come visit us at DEVON\n" + .string "sometime!$" + +BattleFrontier_BattleTowerLobby_EventScript_2B688D:: @ 82B688D + lock + faceplayer + setvar VAR_0x8004, 0 + special sub_81A085C + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6900 + setvar VAR_0x8004, 10 + special sub_81A085C + compare VAR_0x8004, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B68BE + checkflag FLAG_0x934 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6E90 + +BattleFrontier_BattleTowerLobby_EventScript_2B68BE:: @ 82B68BE + setvar VAR_0x8004, 11 + special sub_81A085C + compare VAR_RESULT, 2 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B69D3 + compare VAR_RESULT, 4 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6ACF + compare VAR_RESULT, 3 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C77 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6D5C + compare VAR_RESULT, 5 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6DD4 + release + releaseall + end + +BattleFrontier_BattleTowerLobby_EventScript_2B6900:: @ 82B6900 + setvar VAR_0x8004, 16 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 6 + special sub_81A085C + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A085C + waitstate + +BattleFrontier_BattleTowerLobby_EventScript_2B6925:: @ 82B6925 + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 6 + special sub_81A085C + waitstate + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B69BB + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 2 + special sub_81A085C + waitstate + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 0 + special sub_81A085C + waitstate + setvar VAR_0x8004, 1 + setorcopyvar VAR_0x8005, VAR_RESULT + addvar VAR_0x8005, 1 + special sub_81A085C + setvar VAR_0x8004, 3 + special sub_81A085C + setvar VAR_0x8004, 16 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 8 + special sub_81A085C + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 3 + special sub_81A085C + waitstate + call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D + release + releaseall + switch VAR_FACING + case 2, BattleFrontier_BattleTowerLobby_EventScript_2B6E54 + goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72 + end + +BattleFrontier_BattleTowerLobby_EventScript_2B69BB:: @ 82B69BB + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 1 + special sub_81A085C + waitstate + goto BattleFrontier_BattleTowerLobby_EventScript_2B6925 + +BattleFrontier_BattleTowerLobby_EventScript_2B69D3:: @ 82B69D3 + setvar VAR_0x8004, 14 + setvar VAR_0x8005, 2 + special sub_81A085C + setvar VAR_0x8004, 16 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A085C + setvar VAR_0x8004, 16 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 1 + special sub_81A085C + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 6 + special sub_81A085C + waitstate + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 2 + special sub_81A085C + waitstate + copyvar VAR_0x8005, VAR_RESULT + compare VAR_0x8005, 0 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6ABA + compare VAR_0x8005, 1 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6AC0 + setvar VAR_0x8004, 12 + special sub_81A085C + copyvar VAR_0x8006, VAR_RESULT + setvar VAR_0x8004, 13 + special sub_81A085C + setvar VAR_0x8004, 5 + special sub_81A085C + setvar VAR_0x8004, 12 + special sub_81A085C + compare VAR_RESULT, 3 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6AC6 + setvar VAR_0x8004, 16 + setvar VAR_0x8005, 0 + copyvar VAR_0x8006, VAR_0x8007 + special sub_81A085C + setvar VAR_0x8004, 15 + special sub_81A085C + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 7 + special sub_81A085C + waitstate + call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D + release + releaseall + switch VAR_FACING + case 2, BattleFrontier_BattleTowerLobby_EventScript_2B6E54 + goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72 + end + +BattleFrontier_BattleTowerLobby_EventScript_2B6ABA:: @ 82B6ABA + setvar VAR_0x8007, 0 + return + +BattleFrontier_BattleTowerLobby_EventScript_2B6AC0:: @ 82B6AC0 + setvar VAR_0x8007, 1 + return + +BattleFrontier_BattleTowerLobby_EventScript_2B6AC6:: @ 82B6AC6 + setvar VAR_0x8004, 4 + special sub_81A085C + return + +BattleFrontier_BattleTowerLobby_EventScript_2B6ACF:: @ 82B6ACF + setvar VAR_0x8004, 14 + setvar VAR_0x8005, 4 + special sub_81A085C + setvar VAR_0x8004, 16 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 2 + special sub_81A085C + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 10 + special sub_81A085C + waitstate + setvar VAR_0x8004, 15 + special sub_81A085C + +BattleFrontier_BattleTowerLobby_EventScript_2B6B09:: @ 82B6B09 + fadescreen 1 + setvar VAR_RESULT, 0 + setvar VAR_0x8004, 19 + special sub_81A085C + waitstate + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B81 + setvar VAR_0x8004, 20 + special sub_81A085C + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C0C + setvar VAR_0x8004, 16 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 5 + special sub_81A085C + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 12 + special sub_81A085C + waitstate + setvar VAR_0x8004, 5 + special sub_81A085C + call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D + release + releaseall + switch VAR_FACING + case 2, BattleFrontier_BattleTowerLobby_EventScript_2B6E54 + goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72 + end + +BattleFrontier_BattleTowerLobby_EventScript_2B6B81:: @ 82B6B81 + setvar VAR_0x8004, 14 + setvar VAR_0x8005, 4 + special sub_81A085C + setvar VAR_0x8004, 16 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 2 + special sub_81A085C + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 13 + special sub_81A085C + waitstate + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 4 + special sub_81A085C + waitstate + setvar VAR_0x8004, 15 + special sub_81A085C + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09 + +BattleFrontier_BattleTowerLobby_EventScript_2B6BD4:: @ 82B6BD4 + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 14 + special sub_81A085C + waitstate + setvar VAR_0x8004, 5 + special sub_81A085C + call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D + release + releaseall + switch VAR_FACING + case 2, BattleFrontier_BattleTowerLobby_EventScript_2B6E54 + goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72 + end + +BattleFrontier_BattleTowerLobby_EventScript_2B6C0C:: @ 82B6C0C + setvar VAR_0x8004, 14 + setvar VAR_0x8005, 4 + special sub_81A085C + setvar VAR_0x8004, 16 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 5 + special sub_81A085C + setvar VAR_0x8004, 16 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 2 + special sub_81A085C + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 16 + special sub_81A085C + waitstate + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 4 + special sub_81A085C + waitstate + setvar VAR_0x8004, 15 + special sub_81A085C + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09 + goto BattleFrontier_BattleTowerLobby_EventScript_2B6BD4 + end + +BattleFrontier_BattleTowerLobby_EventScript_2B6C77:: @ 82B6C77 + setvar VAR_0x8004, 14 + setvar VAR_0x8005, 3 + special sub_81A085C + setvar VAR_0x8004, 16 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 2 + special sub_81A085C + setvar VAR_0x8004, 16 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 3 + special sub_81A085C + setvar VAR_0x8004, 16 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 4 + special sub_81A085C + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 8 + special sub_81A085C + waitstate + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 3 + special sub_81A085C + waitstate + copyvar VAR_0x8005, VAR_RESULT + compare VAR_0x8005, 0 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6D50 + compare VAR_0x8005, 1 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6D56 + setvar VAR_0x8004, 17 + special sub_81A085C + setvar VAR_0x8004, 5 + special sub_81A085C + setvar VAR_0x8004, 16 + setvar VAR_0x8005, 0 + copyvar VAR_0x8006, VAR_0x8007 + special sub_81A085C + setvar VAR_0x8004, 15 + special sub_81A085C + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 9 + special sub_81A085C + waitstate + call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D + release + releaseall + switch VAR_FACING + case 2, BattleFrontier_BattleTowerLobby_EventScript_2B6E54 + goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72 + end + +BattleFrontier_BattleTowerLobby_EventScript_2B6D50:: @ 82B6D50 + setvar VAR_0x8007, 3 + return + +BattleFrontier_BattleTowerLobby_EventScript_2B6D56:: @ 82B6D56 + setvar VAR_0x8007, 4 + return + +BattleFrontier_BattleTowerLobby_EventScript_2B6D5C:: @ 82B6D5C + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 4 + special sub_81A085C + waitstate + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 1 + special sub_81A085C + waitstate + copyvar VAR_0x8005, VAR_RESULT + setvar VAR_0x8004, 18 + special sub_81A085C + setvar VAR_0x8004, 5 + special sub_81A085C + setvar VAR_0x8004, 16 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 9 + special sub_81A085C + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 5 + special sub_81A085C + waitstate + call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D + release + releaseall + switch VAR_FACING + case 2, BattleFrontier_BattleTowerLobby_EventScript_2B6E54 + goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72 + end + +BattleFrontier_BattleTowerLobby_EventScript_2B6DD4:: @ 82B6DD4 + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 11 + special sub_81A085C + waitstate + setvar VAR_0x8004, 25 + special sub_81A085C + setvar VAR_0x8004, 19 + call BattleFrontier_BattleTowerLobby_EventScript_271E7C + lock + faceplayer + setvar VAR_0x8004, 21 + special sub_81A085C + setvar VAR_0x8004, 16 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 7 + special sub_81A085C + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 15 + special sub_81A085C + waitstate + setvar VAR_0x8004, 9 + special sub_81A085C + call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D + release + releaseall + switch VAR_FACING + case 2, BattleFrontier_BattleTowerLobby_EventScript_2B6E54 + goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72 + end + +BattleFrontier_BattleTowerLobby_EventScript_2B6E4D:: @ 82B6E4D + setflag FLAG_0x2BD + setflag FLAG_0x934 + return + +BattleFrontier_BattleTowerLobby_EventScript_2B6E54:: @ 82B6E54 + setvar VAR_0x8004, 24 + special sub_81A085C + compare VAR_0x8004, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6E93 + applymovement 6, BattleFrontier_BattleTowerLobby_Movement_2B6E94 + waitmovement 0 + end + +BattleFrontier_BattleTowerLobby_EventScript_2B6E72:: @ 82B6E72 + setvar VAR_0x8004, 24 + special sub_81A085C + compare VAR_0x8004, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6E93 + applymovement 6, BattleFrontier_BattleTowerLobby_Movement_2B6E95 + waitmovement 0 + end + +BattleFrontier_BattleTowerLobby_EventScript_2B6E90:: @ 82B6E90 + release + releaseall + end + +BattleFrontier_BattleTowerLobby_EventScript_2B6E93:: @ 82B6E93 + end + +BattleFrontier_BattleTowerLobby_Movement_2B6E94: @ 82B6E94 + step_18 + +BattleFrontier_BattleTowerLobby_Movement_2B6E95: @ 82B6E95 + step_15 + step_15 + step_18 + step_18 + step_18 + step_18 + step_18 + step_18 + step_18 + step_18 + step_18 + step_54 + step_31 + step_31 + step_31 + step_end + +gText_082B6EA5:: @ 82B6EA5 + .string "Um, I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n" + .string "Snivel… This tension is getting to me…$" + +gText_082B6EEC:: @ 82B6EEC + .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!\n" + .string "Here we come!$" + +gText_082B6F16:: @ 82B6F16 + .string "I’m the no. {STR_VAR_2} apprentice of {STR_VAR_1}!\n" + .string "Accept my challenge!$" + +gText_082B6F4C:: @ 82B6F4C + .string "Um… I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice…\n" + .string "Do you think someone like me can win?$" + +gText_082B6F92:: @ 82B6F92 + .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!\n" + .string "I’ll let you challenge me!$" + +gText_082B6FC9:: @ 82B6FC9 + .string "I’m horribly busy, but I also happen\n" + .string "to be {STR_VAR_1}’s no. {STR_VAR_2} apprentice.$" + +gText_082B700C:: @ 82B700C + .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n" + .string "Glad to meet you!$" + +gText_082B703A:: @ 82B703A + .string "I serve as {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n" + .string "May I begin?$" + +gText_082B706A:: @ 82B706A + .string "Eek! I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!\n" + .string "I’ll do my best!$" + +gText_082B709C:: @ 82B709C + .string "Yeehaw! I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!\n" + .string "Put ’em up!$" + +gText_082B70CC:: @ 82B70CC + .string "I’m {STR_VAR_1}’s 1,000th apprentice!\n" + .string "Actually, I’m no. {STR_VAR_2}! Here goes!$" + +gText_082B710A:: @ 82B710A + .string "Yeah, I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!\n" + .string "Let’s get rockin’ and a-rollin’!$" + +gText_082B714D:: @ 82B714D + .string "Yippee-yahoo! I’m what you call\n" + .string "{STR_VAR_1}’s no. {STR_VAR_2} apprentice!$" + +gText_082B7185:: @ 82B7185 + .string "Cough! I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n" + .string "Good to meet you! Cough!$" + +gText_082B71C1:: @ 82B71C1 + .string "This is nerve-racking…\n" + .string "I’m the no. {STR_VAR_2} apprentice of {STR_VAR_1}.$" + +gText_082B71F9:: @ 82B71F9 + .string "I am {STR_VAR_1}’s no. {STR_VAR_2} apprentice,\n" + .string "and that’s no lie.$" + +gText_082B7229:: @ 82B7229 + .string "Are you… {PLAYER}?\n" + .string "Oh! Sniff…sob…\p" + .string "Oh! S-sorry…\n" + .string "I’m so nervous, I can’t help crying…\p" + .string "I’m {STR_VAR_1}, and I really look up\n" + .string "to you, {PLAYER}.\p" + .string "I… I had this dream of one day meeting\n" + .string "you and asking you about POKéMON.\p" + .string "Please, please, {PLAYER}!\n" + .string "Please teach me about POKéMON!$" + +gText_082B731C:: @ 82B731C + .string "Oh… B-but…\n" + .string "Snivel… Waaaaaaah!\p" + .string "Please!\n" + .string "I’m begging you, please!$" + +gText_082B735B:: @ 82B735B + .string "Oh, really? You will?\n" + .string "Awesome! Wicked! Awoooh!\p" + .string "Oh… I’m sorry…\n" + .string "I’m so happy, I’m crying…\p" + .string "Um… Then please tell me!\n" + .string "It’s about the BATTLE TOWER.\p" + .string "Which would be better for me: Level 50\n" + .string "or the Open Level?$" + +gText_082B7423:: @ 82B7423 + .string "{STR_VAR_1}?\n" + .string "Waaaaah!\p" + .string "Oh! I’m so sorry!\n" + .string "You’ve made me happy by choosing\l" + .string "the level for me, and it’s made me cry…\p" + .string "Snivel…\n" + .string "Thank you so much!\l" + .string "Please talk with me again!$" + +gText_082B74C1:: @ 82B74C1 + .string "Wowee! You’re {PLAYER}, aren’t you?\n" + .string "You’re awesomely strong, aren’t you?\p" + .string "I’m {STR_VAR_1}!\n" + .string "I just became a TRAINER!\p" + .string "Please, {PLAYER}!\n" + .string "Can you be my teacher and tell me\l" + .string "lots about being a TRAINER?$" + +gText_082B756F:: @ 82B756F + .string "Aww, why?\n" + .string "Oh, please? Pretty please?\l" + .string "Please be my teacher, please!$" + +gText_082B75B2:: @ 82B75B2 + .string "Yay! Great!\p" + .string "The first thing I wanted to ask you is\n" + .string "about the BATTLE TOWER!\p" + .string "The Level 50 and Open Level Rooms…\n" + .string "Which would be perfect for me?$" + +gText_082B763F:: @ 82B763F + .string "{STR_VAR_1}, huh? That’s true!\n" + .string "I’ll do my best there!\p" + .string "If we meet here again, please teach\n" + .string "me something else, teacher!$" + +gText_082B76AC:: @ 82B76AC + .string "Um… Are you {PLAYER}?\n" + .string "My name is {STR_VAR_1}.\p" + .string "I want to become a POKéMON TRAINER,\n" + .string "but I don’t know what to do…\p" + .string "So I thought maybe I could ask you for\n" + .string "advice because you’re so famous.\p" + .string "{PLAYER}, could you give me advice?$" + +gText_082B7772:: @ 82B7772 + .string "Oh, but…\p" + .string "I sincerely want to become a POKéMON\n" + .string "TRAINER!\p" + .string "Please, can you answer my questions?$" + +gText_082B77CE:: @ 82B77CE + .string "Thank you!\n" + .string "Here’s my first question right away!\p" + .string "The BATTLE TOWER has two levels,\n" + .string "Level 50 and Open Level, right?\p" + .string "Which level do you think is more\n" + .string "suitable for me?$" + +gText_082B7871:: @ 82B7871 + .string "Oh, the {STR_VAR_1} challenge?\n" + .string "Understood!\p" + .string "If I have another question, I’ll come\n" + .string "back here for your advice!$" + +gText_082B78D4:: @ 82B78D4 + .string "Oh? Huh? You’re…\n" + .string "No, that can’t be true.\p" + .string "There isn’t any way that someone\n" + .string "like me could meet {PLAYER}.\p" + .string "…You really are {PLAYER}?\n" + .string "I can’t believe I’m talking to you!\p" + .string "When something this good happens,\n" + .string "only terrible things will happen to me\l" + .string "now, I just know it…\p" + .string "…I’m sorry…\n" + .string "I’m… {STR_VAR_1}…\p" + .string "There isn’t anything special about\n" + .string "me that I can be proud of…\p" + .string "I shouldn’t even say anything about\n" + .string "myself because you’ll forget…\p" + .string "I had this dream that if I ever met\n" + .string "you, {PLAYER}, that maybe I could ask\l" + .string "you for advice as a TRAINER.\p" + .string "But I don’t think you would agree\n" + .string "to that.\p" + .string "…Or will you be so kind as to give\n" + .string "me advice?$" + +gText_082B7B1A:: @ 82B7B1A + .string "I knew it…\p" + .string "It had to happen because I’m such\n" + .string "a really boring nobody…\p" + .string "But I thought just maybe…\n" + .string "You won’t reconsider, will you?\p" + .string "But I can’t give up just like that.\n" + .string "I’ll ask you while I’m still lucky!\p" + .string "Please, will you be so kind as to give\n" + .string "me advice?$" + +gText_082B7C13:: @ 82B7C13 + .string "Really? I can’t believe it!\n" + .string "I can’t believe you’ll advise me!\l" + .string "I… I’m so happy…\p" + .string "What I want to ask you is really\n" + .string "trivial, but I can’t decide…\p" + .string "At the BATTLE TOWER, they let you\n" + .string "choose Level 50 or Open Level.\p" + .string "Which course do you think even I may\n" + .string "have a chance at?$" + +gText_082B7D18:: @ 82B7D18 + .string "{STR_VAR_1}? Okay!\n" + .string "But do you really think someone like\l" + .string "me would have a chance?\p" + .string "I’ll do my best, even though I don’t\n" + .string "think it will work.\p" + .string "Thank you very much for spending\n" + .string "time with someone like me.$" + +gText_082B7DD4:: @ 82B7DD4 + .string "Oh! You’re {PLAYER}{STRING 5}, aren’t you?\p" + .string "I’ve heard that you’re tough at\n" + .string "POKéMON!\p" + .string "I’m {STR_VAR_1}!\n" + .string "I’ll be your friend!\p" + .string "Did you know?\p" + .string "You can’t win at the BATTLE FRONTIER\n" + .string "if all you know is what they teach at\l" + .string "the TRAINER’S SCHOOL.\p" + .string "I’m willing to listen to your advice.\n" + .string "You’ll agree, of course?$" + +gText_082B7EE5:: @ 82B7EE5 + .string "Huh? Why are you refusing me?\n" + .string "It’s me who’s asking you!\l" + .string "You have to reconsider!$" + +gText_082B7F35:: @ 82B7F35 + .string "Okay, so there is this something.\n" + .string "I want you to decide it for me.\p" + .string "You know that the BATTLE TOWER has\n" + .string "Level 50 and Open Level Rooms?\p" + .string "Which do you think would be good\n" + .string "for me, {PLAYER}{STRING 5}?$" + +gText_082B7FE8:: @ 82B7FE8 + .string "Okay, {STR_VAR_1} is suitable for me?\n" + .string "Thank you!\p" + .string "Knowing that you made the decision,\n" + .string "{PLAYER}{STRING 5}, I won’t be so upset if\l" + .string "I lose.\p" + .string "Okay, I’ll look to you for advice again.\n" + .string "Bye!$" + +gText_082B8087:: @ 82B8087 + .string "Oh, hi, there! {PLAYER}{STRING 5}!\n" + .string "I know you because you’re famous!\l" + .string "Call me {STR_VAR_1}! Glad to meet you!\p" + .string "I’m a TRIATHLETE, so I keep myself\n" + .string "fit even while I raise POKéMON.\p" + .string "I’m also involved with other things\n" + .string "like work, napping, ballroom dancing…\p" + .string "Being this busy, it’s not so easy for\n" + .string "me to become a decent TRAINER.\p" + .string "So, I have a proposition!\p" + .string "There must be a reason why we met.\n" + .string "So, {PLAYER}{STRING 5}, how about sharing your\l" + .string "wisdom with me every so often?$" + +gText_082B822B:: @ 82B822B + .string "Oh, but, please?\n" + .string "A guy like me needs someone like\l" + .string "you, {PLAYER}{STRING 5}!\p" + .string "Honestly, I need your advice!$" + +gText_082B8286:: @ 82B8286 + .string "Thank you! That’s more like it!\n" + .string "So, let’s start with an easy one!\p" + .string "You know about the BATTLE TOWER’s\n" + .string "two courses, right?\l" + .string "You know, Level 50 and Open Level.\p" + .string "Me being a busy guy, which one should\n" + .string "I gear up for?$" + +gText_082B8356:: @ 82B8356 + .string "{STR_VAR_1}, huh? Okay, gotcha.\n" + .string "I’ll find time somehow and give it a go!\p" + .string "…Whoops, I’d better go to work!\n" + .string "Thanks! See you around!$" + +gText_082B83CE:: @ 82B83CE + .string "No way! Uh-uh!\n" + .string "Are you maybe the real {PLAYER}?\p" + .string "A-hah! Awesome! I’m {STR_VAR_1},\n" + .string "so pleased to meet you!\p" + .string "{PLAYER}, you’re very strong,\n" + .string "aren’t you?\p" + .string "Everyone’s talking about you!\p" + .string "Oh! I just had this great idea!\n" + .string "I’ll get advice off you, {PLAYER}!\l" + .string "I’m sure it will make me tougher!\p" + .string "Isn’t it a great idea?\n" + .string "Please, I want your advice!$" + +gText_082B84FC:: @ 82B84FC + .string "Ahahaha, you can pretend to be mean,\n" + .string "but you can’t fool me!\l" + .string "You really mean okay, don’t you?$" + +gText_082B8559:: @ 82B8559 + .string "Yay! I knew you’d have a big heart,\n" + .string "{PLAYER}!\p" + .string "What should I ask you first?\n" + .string "…Oh, I thought of something!\p" + .string "Drum roll, please!\n" + .string "The question I have is…\p" + .string "If I were to take a BATTLE TOWER\n" + .string "challenge, which way should I go?\p" + .string "Level 50 or Open Level?\n" + .string "Which suits me more?$" + +gText_082B8656:: @ 82B8656 + .string "Oh-oh-oh!\n" + .string "{STR_VAR_1}, you say!\l" + .string "Thank you for a totally cool reply!\p" + .string "I guess that’s about all I wanted\n" + .string "to ask you today.\p" + .string "Let’s meet here again, okay?\n" + .string "Thanks!$" + +gText_082B86EA:: @ 82B86EA + .string "I beg your pardon, but…\n" + .string "Are you {PLAYER}?\p" + .string "I’m {STR_VAR_1}, and I am delighted to\n" + .string "make your acquaintance.\p" + .string "I have long been an admirer\n" + .string "of yours…\p" + .string "… … … … … …\p" + .string "Um… I hope you don’t find this\n" + .string "request too much of a burden, but…\p" + .string "May I become your apprentice,\n" + .string "{PLAYER}?$" + +gText_082B87DA:: @ 82B87DA + .string "Oh…!\p" + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "…I must have fainted from shock.\n" + .string "I’m sorry, I must have misheard you.\p" + .string "Please! Please say that you will\n" + .string "accept me as your apprentice!$" + +gText_082B887C:: @ 82B887C + .string "Oh… I’m delighted!\p" + .string "I don’t wish to waste your time,\n" + .string "so please advise me on this.\p" + .string "I plan to take a BATTLE TOWER\n" + .string "challenge soon.\p" + .string "However, there are two levels…\p" + .string "Which would be most suitable for me?\n" + .string "Level 50 or Open Level?$" + +gText_082B8957:: @ 82B8957 + .string "{STR_VAR_1} is your choice!\n" + .string "I see. I will do my best!\p" + .string "Thank you, {PLAYER}.\n" + .string "I hope I can count on you again.\l" + .string "Please take care!$" + +gText_082B89C6:: @ 82B89C6 + .string "Eek! Eek! {PLAYER}!\n" + .string "You spoke to me!\l" + .string "I… I’m overjoyed!\p" + .string "Me! My name is {STR_VAR_1}!\n" + .string "I just became a TRAINER!\p" + .string "I’m delighted I met you, {PLAYER},\n" + .string "the big name in POKéMON circles!\p" + .string "Oh-oh-oh, I know!\n" + .string "May I ask a huge favor, {PLAYER}?\p" + .string "Please take me in as your apprentice!\n" + .string "I want to learn from you!$" + +gText_082B8ACF:: @ 82B8ACF + .string "Waaaah!\n" + .string "{PLAYER} turned me down…\l" + .string "It… It’s an invaluable experience!\p" + .string "{PLAYER}, please! I want to hear\n" + .string "an affirmative answer this time!\p" + .string "I beg you for your guidance!$" + +gText_082B8B66:: @ 82B8B66 + .string "Hieeeeh! {PLAYER} said yes!\n" + .string "{PLAYER} said yes!\p" + .string "I won’t be able to sleep tonight…\n" + .string "Thank you ever so much!\p" + .string "Then, here’s my question!\p" + .string "At the BATTLE TOWER, what is right\n" + .string "for me, Level 50 or Open Level?$" + +gText_082B8C20:: @ 82B8C20 + .string "{STR_VAR_1}! Perfectly understood!\n" + .string "I understand perfectly!\l" + .string "I’m deliriously delighted!\p" + .string "I hope you’ll be willing to teach me\n" + .string "some more another time.$" + +gText_082B8CAA:: @ 82B8CAA + .string "Whoa! Could you be…\n" + .string "Might you be… {PLAYER}{STRING 5}?!\l" + .string "That strong and famous TRAINER?\l" + .string "Well, hello, aren’t I just the luckiest!\p" + .string "Hello, the name’s {STR_VAR_1}!\p" + .string "I’ve been on the lookout for\n" + .string "a POKéMON teacher.\p" + .string "And with impeccably good timing,\n" + .string "along came you, {PLAYER}{STRING 5}!\p" + .string "So, there you have it, {PLAYER}{STRING 5}!\n" + .string "Let me apprentice under you!$" + +gText_082B8DD3:: @ 82B8DD3 + .string "Gwaaaah!\n" + .string "You’re quite cool and tough…\p" + .string "Don’t be that way, please.\n" + .string "I’m asking you!$" + +gText_082B8E24:: @ 82B8E24 + .string "Oh, yeah! That’s a solid reply!\n" + .string "Excellent, I might add!\p" + .string "So how about a first piece of advice\n" + .string "on the BATTLE TOWER?\p" + .string "If I were to go, what would be better?\n" + .string "Level 50 or Open Level?$" + +gText_082B8ED5:: @ 82B8ED5 + .string "Uh-huh, {STR_VAR_1} it is!\n" + .string "OK, A-OK!\l" + .string "I’ll go show my mettle, like, jam!\p" + .string "All right, I’ll look to you as my mentor!\n" + .string "Adios!$" + +gText_082B8F45:: @ 82B8F45 + .string "Oh, hey, {PLAYER}{STRING 5}, right?\n" + .string "The police were looking for you!\p" + .string "… … …\n" + .string "Of course I’m lying!\p" + .string "Me, I’m {STR_VAR_1}. Despite the way\n" + .string "I look, I’m the POKéMON CHAMPION!\l" + .string "…That’s a lie, too!\p" + .string "This is no lie, though.\n" + .string "I’m not very good at battling.\p" + .string "So, how about you becoming my master\n" + .string "about all things POKéMON?$" + +gText_082B905F:: @ 82B905F + .string "If you’re going to act cold like that,\n" + .string "I’ll show you what I’ll do!\p" + .string "Waaah! Waaah! Waaah!\n" + .string "Hiccup!\p" + .string "Hahaha, that was my FAKE TEARS!\p" + .string "Come on, will you please be\n" + .string "my POKéMON master?$" + +gText_082B910E:: @ 82B910E + .string "Yippee!\n" + .string "I’ll buy you a boat for that!\p" + .string "Of course I’m lying again!\n" + .string "But… Thank you, master!\p" + .string "You know how there’s Level 50 and\n" + .string "Open Level at the BATTLE TOWER?\p" + .string "I’m having trouble deciding which\n" + .string "level I should challenge…\p" + .string "Can you decide for me, master?$" + +gText_082B9204:: @ 82B9204 + .string "Okay, so {STR_VAR_1} is better!\n" + .string "I’ll go to the other level, then!\p" + .string "Just kidding!\n" + .string "I’ll obey your teaching, master!\p" + .string "Thanks, master!\n" + .string "I hope you’ll keep teaching me!$" + +gText_082B929C:: @ 82B929C + .string "A-H-O-Y!\n" + .string "And that spells ahoy, and it means hi!\p" + .string "I’m {STR_VAR_1}, the rappin’ SAILOR\n" + .string "am I!\p" + .string "Your turn now, tell me a little about\n" + .string "yourself, give it a try!\p" + .string "Uh-huh, uh-huh!\n" + .string "{PLAYER}{STRING 5}’s your name,\l" + .string "and POKéMON’s your game!\p" + .string "And you’re at a delicate age\n" + .string "when all the world’s your stage!\p" + .string "Anyway, I just want to say,\n" + .string "that you’re the tenth TRAINER\l" + .string "I’ve spoken to today.\p" + .string "Let’s make that a celebration!\n" + .string "Become my mentor for commemoration!$" + +gText_082B9438:: @ 82B9438 + .string "But!\n" + .string "You have to work with me!\p" + .string "Don’t be such a tease!\n" + .string "Become my mentor, please!$" + +gText_082B9488:: @ 82B9488 + .string "That’s it!\n" + .string "{PLAYER}, you’ve got the spirit!\p" + .string "So here’s my first question\n" + .string "that begs your suggestion!\p" + .string "It’s about the BATTLE TOWER,\n" + .string "and it hinges on my power!\p" + .string "Level 50 and Open Level there be,\n" + .string "which is the one that’s good for me?$" + +gText_082B9564:: @ 82B9564 + .string "Okay, {STR_VAR_1} it is, you say!\n" + .string "I’ll go and take it on my way!\p" + .string "If it’s advice I ever need,\n" + .string "{PLAYER}, your word I’ll always heed!$" + +gText_082B95D8:: @ 82B95D8 + .string "Say, hey, aren’t you {PLAYER}?\n" + .string "What should I do? Talk to you?\l" + .string "Why not? I’m already talking to you!\p" + .string "{PLAYER}, are you surprised at me?\n" + .string "I’d better tell you who I happen to be!\p" + .string "{STR_VAR_1} is what you can call me.\n" + .string "The brightest star in guitardom,\l" + .string "that’s me!\p" + .string "Are you receiving me?\n" + .string "You are receiving me!\p" + .string "My luck’s at its best,\n" + .string "I’ll hit you with a request!\p" + .string "{PLAYER}, let me be your underling!\n" + .string "I want you to teach me everything!$" + +gText_082B9763:: @ 82B9763 + .string "You’re turning me down, then?\n" + .string "I’ll just have to ask you again!\p" + .string "{PLAYER}, I beg to be your underling!\n" + .string "I need you to teach me everything!$" + +gText_082B97E5:: @ 82B97E5 + .string "Lucky, yeah, woohoo!\n" + .string "Should I pop a question to you?\p" + .string "Since we’re near the BATTLE TOWER,\n" + .string "how about a question about its power?\p" + .string "Of the choices you see,\n" + .string "which is the right one for me?$" + +gText_082B989A:: @ 82B989A + .string "If {STR_VAR_1} is what you suggest,\n" + .string "it must be the very best!\p" + .string "Well, {PLAYER}, I have to roam free,\n" + .string "but don’t you forget about me.\p" + .string "See you again, my smart friend!$" + +gText_082B992D:: @ 82B992D + .string "Oh, hi! You there!\n" + .string "Can I get you to massage my shoulder?\p" + .string "…Yes, there! That’s it!\n" + .string "Ouch, ouch! Oooh, that feels great!\p" + .string "My name’s {STR_VAR_1}.\n" + .string "I take karate training, but my body’s\l" + .string "not built to take the abuse…\p" + .string "I decided I’ll battle POKéMON and\n" + .string "toughen myself up.\p" + .string "You’re {PLAYER}{STRING 5}, aren’t you?\n" + .string "The POKéMON LEAGUE CHAMP?\p" + .string "Listen, can I get you to give me\n" + .string "advice?$" + +gText_082B9A84:: @ 82B9A84 + .string "Oh, why?\p" + .string "I won’t be a big bother, I promise!\n" + .string "Please?$" + +gText_082B9AB9:: @ 82B9AB9 + .string "Thank you. Mighty good of you!\n" + .string "…Cough! Cough!\p" + .string "Oogh, I have to toughen up quick…\p" + .string "I’ll be heading off to the BATTLE TOWER\n" + .string "right away, but what would be better\l" + .string "for me? Level 50 or Open Level?$" + +gText_082B9B76:: @ 82B9B76 + .string "Hm, all right. That’s {STR_VAR_1}.\n" + .string "I’ll go there right away.\p" + .string "I hope I can keep hitting you up for\n" + .string "help--after all, you’re my mentor!$" + +gText_082B9BF2:: @ 82B9BF2 + .string "Er… Um…\n" + .string "{PLAYER}{STRING 5}…?\p" + .string "Please, don’t look at me that way.\n" + .string "You’re making me all self-conscious.\p" + .string "I… I’m {STR_VAR_1}.\p" + .string "I’m really embarrassed to say this,\n" + .string "but I explore ancient ruins and such.\p" + .string "I’m even more embarrassed to admit\n" + .string "I’m interested in the BATTLE FRONTIER.\p" + .string "{PLAYER}{STRING 5}, you have a reputation as\n" + .string "a tough TRAINER…\p" + .string "It’s hard for me to say this,\n" + .string "but I want to ask something.\p" + .string "Could you become my teacher and\n" + .string "give me advice?$" + +gText_082B9D83:: @ 82B9D83 + .string "Please don’t brush me off like this!\n" + .string "I can’t live with the humiliation.\p" + .string "Please become my teacher!\n" + .string "I need your advice!$" + +gText_082B9DF9:: @ 82B9DF9 + .string "Th-thank you…\p" + .string "But please don’t look at me like that.\n" + .string "It makes me all flustered.\p" + .string "Please, answer me without looking\n" + .string "at my eyes.\p" + .string "At the BATTLE TOWER…\n" + .string "Which level should I attempt?$" + +gText_082B9EAA:: @ 82B9EAA + .string "Oh… Okay!\n" + .string "I’ll try my hand at that.\p" + .string "I hope I can make a valiant challenge\n" + .string "without getting all flustered…\p" + .string "Thank you, {PLAYER}{STRING 5}.\n" + .string "If we meet again, I hope you will be\l" + .string "as helpful.$" + +gText_082B9F55:: @ 82B9F55 + .string "Hm? You appear to be {PLAYER}{STRING 5}…\n" + .string "But are you really real?\p" + .string "You may call me {STR_VAR_1}.\p" + .string "I have been toying with the idea of\n" + .string "apprenticing under a strong TRAINER.\p" + .string "So, I must say I’m lucky you came along!\n" + .string "…You really are {PLAYER}{STRING 5}, yes?\p" + .string "No, no, if you are real, it’s fine.\n" + .string "I merely want you to recognize me\l" + .string "as your apprentice.$" + +gText_082BA084:: @ 82BA084 + .string "Oh?\n" + .string "But what would compel you to refuse?\p" + .string "I apologize for being skeptical about\n" + .string "your identity.\p" + .string "Please accept my apology and\n" + .string "accept me as your apprentice.$" + +gText_082BA11D:: @ 82BA11D + .string "You really are accepting me?\n" + .string "I don’t wish to celebrate prematurely.\p" + .string "If it is true, I apologize.\n" + .string "But now, I need your advice.\p" + .string "If I were to enter the BATTLE TOWER,\n" + .string "what would be worthy of me?\l" + .string "Level 50 or Open Level?$" + +gText_082BA1F3:: @ 82BA1F3 + .string "{STR_VAR_1}?\n" + .string "Are you certain?\p" + .string "I see. If that’s the case, that’s fine.\n" + .string "I thank you for your time.\p" + .string "I realize I can annoy, but it delights\n" + .string "me that you have accepted me.\p" + .string "Let us meet again!$" + +gText_082BA2A3:: @ 82BA2A3 + .string "Sigh… Sob…\n" + .string "Oh, {PLAYER}!\p" + .string "I’m all tangled up in a dilemma\n" + .string "that I can’t decide.\p" + .string "I can’t decide what I should make\n" + .string "my {STR_VAR_1} hold.\p" + .string "Please tell me, {PLAYER}.\n" + .string "What item should I make it hold?$" + +gText_082BA34E:: @ 82BA34E + .string "Oh, really? I shouldn’t make\n" + .string "my {STR_VAR_1} hold anything?$" + +gText_082BA380:: @ 82BA380 + .string "Oh, okay! I’m delighted it’s settled!\n" + .string "Awesome! Wicked! Awoooh!\p" + .string "Thank you so much!$" + +gText_082BA3D2:: @ 82BA3D2 + .string "Oh, I’m so glad…\n" + .string "I think I have that {STR_VAR_1}, too.\p" + .string "I’m delighted it’s settled!\n" + .string "Awesome! Wicked! Awoooh!\p" + .string "Thank you so much!$" + +gText_082BA448:: @ 82BA448 + .string "Waaaah! Please don’t be mean!\p" + .string "That item {STR_VAR_1} was already\n" + .string "recommended to me before, sob…\p" + .string "Or do you mean I shouldn’t make\n" + .string "my {STR_VAR_2} hold anything?$" + +gText_082BA4D3:: @ 82BA4D3 + .string "Yay! It’s {PLAYER}!\n" + .string "Great! I wanted to ask you something!\p" + .string "Do you make your POKéMON hold items?\n" + .string "I want to make mine hold items, but…\p" + .string "What item would be good for\n" + .string "{STR_VAR_1} to hold?\p" + .string "What do you think?$" + +gText_082BA58C:: @ 82BA58C + .string "Huh? You mean my {STR_VAR_1} doesn’t\n" + .string "have to hold anything?$" + +gText_082BA5BF:: @ 82BA5BF + .string "Oh, I get it! I’ll do that!\n" + .string "Thanks for teaching me!$" + +gText_082BA5F3:: @ 82BA5F3 + .string "Oh, wow! One {STR_VAR_1}, huh?\n" + .string "Okay, I’ll do that!\p" + .string "Thanks for teaching me!$" + +gText_082BA635:: @ 82BA635 + .string "Oh, uh, no, that’s not what I meant.\n" + .string "I want to know about a different item\l" + .string "than the ones I already know.\p" + .string "Or do you mean that my POKéMON doesn’t\n" + .string "have to hold anything this time?$" + +gText_082BA6E6:: @ 82BA6E6 + .string "{PLAYER}, hello!\n" + .string "It’s about my {STR_VAR_1}…\p" + .string "I want to make it hold a good item.\n" + .string "What would be good for it?$" + +gText_082BA742:: @ 82BA742 + .string "Oh, then my {STR_VAR_1} doesn’t have\n" + .string "to hold anything?$" + +gText_082BA770:: @ 82BA770 + .string "Okay, I got it!\n" + .string "See you again!$" + +gText_082BA78F:: @ 82BA78F + .string "Oh, the item {STR_VAR_1}?\n" + .string "Understood!\p" + .string "I’ll do my best to find one!\n" + .string "See you again!$" + +gText_082BA7D8:: @ 82BA7D8 + .string "Somebody taught me about\n" + .string "the {STR_VAR_1} already.\p" + .string "I want my POKéMON to hold a different\n" + .string "kind of item.\p" + .string "Or do you think {STR_VAR_2} doesn’t\n" + .string "have to hold anything?$" + +gText_082BA867:: @ 82BA867 + .string "Hello, {PLAYER}…\n" + .string "I’m sorry to disturb you, but I have\l" + .string "something else I wanted to ask you.\p" + .string "I don’t think I’m good enough to win\n" + .string "matches on my own, so I’m thinking of\l" + .string "making my {STR_VAR_1} hold an item.\p" + .string "But I don’t know what would be good.\p" + .string "{PLAYER}, please, could you decide\n" + .string "for me?$" + +gText_082BA96B:: @ 82BA96B + .string "A POKéMON belonging to someone like me\n" + .string "would be better off without an item?$" + +gText_082BA9B7:: @ 82BA9B7 + .string "I understand…\n" + .string "You’re saying I shouldn’t rely on items.\l" + .string "I’ll do my best not to!\p" + .string "Thank you very much!$" + +gText_082BAA1B:: @ 82BAA1B + .string "The item {STR_VAR_1}, okay.\n" + .string "I’m not sure if I can get one…\l" + .string "No! I’ll do my best to get it.\p" + .string "Thank you very much!$" + +gText_082BAA81:: @ 82BAA81 + .string "Oh, but…\n" + .string "I think I’ve heard about that before…\p" + .string "Is it maybe because I haven’t handled\n" + .string "the item {STR_VAR_1} very well?\p" + .string "Or do you mean I shouldn’t make\n" + .string "my {STR_VAR_2} hold anything?$" + +gText_082BAB22:: @ 82BAB22 + .string "Oh, {PLAYER}{STRING 5}.\n" + .string "There’s something I wanted to ask you.\p" + .string "You know how you decided which\n" + .string "POKéMON I should have for me?\p" + .string "But I never asked you what item\n" + .string "it should be holding.\p" + .string "Since you already gave me advice,\n" + .string "how about seeing this to the end?\p" + .string "What would be good? I want to make\n" + .string "my {STR_VAR_1} hold something.$" + +gText_082BAC43:: @ 82BAC43 + .string "Oh! So my {STR_VAR_1} should do\n" + .string "the best it can empty-handed?$" + +gText_082BAC78:: @ 82BAC78 + .string "If you think that’s best, I’ll do that.\p" + .string "Knowing that you made the decision,\n" + .string "{PLAYER}{STRING 5}, I won’t be so upset if\l" + .string "I lose.\p" + .string "Okay, I’ll look to you for advice again.\n" + .string "Bye!$" + +gText_082BAD17:: @ 82BAD17 + .string "The item {STR_VAR_1}, huh?\n" + .string "Not bad. I’ll use it!\p" + .string "Knowing that you made the decision,\n" + .string "{PLAYER}{STRING 5}, I won’t be so upset if\l" + .string "I lose.\p" + .string "Okay, I’ll look to you for advice again.\n" + .string "Bye!$" + +gText_082BADB6:: @ 82BADB6 + .string "Huh? What are you saying?\n" + .string "You told me about the {STR_VAR_1}\l" + .string "already before.\p" + .string "Or do you mean my {STR_VAR_2} should\n" + .string "do the best it can empty-handed?$" + +gText_082BAE36:: @ 82BAE36 + .string "Yo, {PLAYER}{STRING 5}!\p" + .string "We’re both busy, but we seem to run\n" + .string "into each other often anyway!\p" + .string "Today I have to do some walking,\n" + .string "cleaning, and brushing.\p" + .string "I haven’t even had the time to buy\n" + .string "my precious {STR_VAR_1} anything.\p" + .string "I don’t have any time, so how about\n" + .string "giving me advice on what I should make\l" + .string "my {STR_VAR_1} hold?$" + +gText_082BAF4E:: @ 82BAF4E + .string "Oh, so me being a busy guy, you say\n" + .string "my {STR_VAR_1} doesn’t need anything?$" + +gText_082BAF8F:: @ 82BAF8F + .string "Okay, gotcha.\n" + .string "I won’t need any time for that.\p" + .string "Thanks today!\n" + .string "See you around!$" + +gText_082BAFDB:: @ 82BAFDB + .string "Okay, gotcha.\n" + .string "I’ll find time somehow and find\l" + .string "that {STR_VAR_1} you recommended.\p" + .string "I’m glad I met a good mentor in you.\n" + .string "Thanks! See you around!$" + +gText_082BB05F:: @ 82BB05F + .string "Huh? I already know about\n" + .string "that {STR_VAR_1}.\p" + .string "Oh, right, I get it.\n" + .string "So me being a busy guy, you say\l" + .string "my {STR_VAR_2} doesn’t need anything?$" + +gText_082BB0D4:: @ 82BB0D4 + .string "Hiya, {PLAYER}! It’s me!\n" + .string "I need to tap your mind again today.\l" + .string "Please, I need your advice!\p" + .string "Drum roll, please!\n" + .string "The question I have is…\p" + .string "If I want to make my {STR_VAR_1} hold\n" + .string "an item, what should it be?$" + +gText_082BB18C:: @ 82BB18C + .string "Is that right? My {STR_VAR_1} doesn’t\n" + .string "need to hold an item, you’re saying.$" + +gText_082BB1CE:: @ 82BB1CE + .string "Okay, that’s what I’ll do!\p" + .string "I guess that’s about all I wanted\n" + .string "to ask you today.\p" + .string "Let’s meet here again, okay?\n" + .string "Thanks!$" + +gText_082BB242:: @ 82BB242 + .string "Uh-huh! One {STR_VAR_1}.\n" + .string "What a cool choice!\l" + .string "I’ll definitely try that!\p" + .string "I guess that’s about all I wanted\n" + .string "to ask you today.\p" + .string "Let’s meet here again, okay?\n" + .string "Thanks!$" + +gText_082BB2D9:: @ 82BB2D9 + .string "Ahahah! That’s silly!\n" + .string "You already told me about that\l" + .string "{STR_VAR_1} before!\p" + .string "Are you feeling okay, {PLAYER}?\p" + .string "Oh, wait! My {STR_VAR_2} doesn’t\n" + .string "need to hold an item, you’re saying.$" + +gText_082BB370:: @ 82BB370 + .string "Hello, {PLAYER}. I hope you’ve been\n" + .string "keeping well.\p" + .string "May I approach you for advice?\p" + .string "In a recent battle, my opponent\n" + .string "seemed to have given his POKéMON\l" + .string "an item to hold.\p" + .string "As a result, I was defeated…\p" + .string "I don’t wish to be left behind.\n" + .string "I would like to make my {STR_VAR_1}\l" + .string "hold an item, too.\p" + .string "It would please me if you could decide\n" + .string "what would be right for my POKéMON…$" + +gText_082BB4C3:: @ 82BB4C3 + .string "In other words… My POKéMON has\n" + .string "no need to hold an item?$" + +gText_082BB4FB:: @ 82BB4FB + .string "I understand clearly now!\n" + .string "I will keep trying like this.\p" + .string "Thank you, {PLAYER}.\n" + .string "I hope I can count on you again.\l" + .string "Please take care!$" + +gText_082BB575:: @ 82BB575 + .string "One {STR_VAR_1} it is!\n" + .string "I will order it right away.\p" + .string "Thank you, {PLAYER}.\n" + .string "I hope I can count on you again.\l" + .string "Please take care!$" + +gText_082BB5E1:: @ 82BB5E1 + .string "You’ve already told me about that,\n" + .string "and I already have it.\p" + .string "Or are you saying… My POKéMON has\n" + .string "no need to hold an item?$" + +gText_082BB656:: @ 82BB656 + .string "Eek! {PLAYER}!\n" + .string "I… I’m overjoyed to see you again!\p" + .string "Oh-oh-oh! There’s something I just\n" + .string "had to ask you, {PLAYER}!\p" + .string "Please decide what my {STR_VAR_1}\n" + .string "should be holding!$" + +gText_082BB6E5:: @ 82BB6E5 + .string "Oh, wow! I didn’t expect that answer!\n" + .string "So, a hold item isn’t necessary?$" + +gText_082BB72C:: @ 82BB72C + .string "Perfectly understood!\n" + .string "I’ll keep at this without an item!\p" + .string "I hope you’ll be willing to teach me\n" + .string "some more another time.$" + +gText_082BB7A2:: @ 82BB7A2 + .string "{STR_VAR_1}! I’ll use that!\p" + .string "Um… Could it be, {PLAYER}, you also\n" + .string "make your POKéMON hold that item?\p" + .string "I’ll be sure to get it!\n" + .string "I hope you’ll be willing to teach me\l" + .string "some more another time.$" + +gText_082BB84A:: @ 82BB84A + .string "Oh? You recommended that\n" + .string "{STR_VAR_1} before, too.\p" + .string "Or is it the best thing to hold?\n" + .string "Or do you mean that my {STR_VAR_2}\l" + .string "doesn’t need anything to hold?$" + +gText_082BB8CD:: @ 82BB8CD + .string "Hola!\n" + .string "My maestro, {PLAYER}{STRING 5}!\p" + .string "I want to hit you up for advice on\n" + .string "POKéMON tools.\p" + .string "What do you think would be good for\n" + .string "my {STR_VAR_1} to hold?\p" + .string "Don’t be shy now.\n" + .string "Let’s blurt it out!$" + +gText_082BB970:: @ 82BB970 + .string "Oh? So, you’re saying my {STR_VAR_1}\n" + .string "can win without holding any item?$" + +gText_082BB9AE:: @ 82BB9AE + .string "Si, bueno!\n" + .string "I’ll give it my best shot, like, slam!\p" + .string "All right, thanks, as always!\n" + .string "Adios!$" + +gText_082BBA05:: @ 82BBA05 + .string "Uh-huh, that’s one {STR_VAR_1}?\n" + .string "Si, bueno!\l" + .string "I’ll go find me one, like, bam!\p" + .string "All right, thanks, as always!\n" + .string "Adios!$" + +gText_082BBA6C:: @ 82BBA6C + .string "No, no! You already told me about\n" + .string "that {STR_VAR_1} thing before.\p" + .string "Oh, now wait just one minute here…\n" + .string "So, you’re saying my {STR_VAR_2}\l" + .string "can win without holding any item?$" + +gText_082BBB01:: @ 82BBB01 + .string "{PLAYER}{STRING 5}, something unbelievable\n" + .string "has happened!\p" + .string "I woke up this morning, and my POKéMON\n" + .string "had 10 NUGGETS!\p" + .string "Of course I’m lying!\n" + .string "Wahahaha!\p" + .string "This is no lie, though.\n" + .string "I’m not very good at thinking about\l" + .string "what items POKéMON should hold.\p" + .string "So, how about deciding for me what\n" + .string "my {STR_VAR_1} should hold, master?$" + +gText_082BBC1C:: @ 82BBC1C + .string "What’s that mean?\n" + .string "Don’t make it hold anything?$" + +gText_082BBC4B:: @ 82BBC4B + .string "Okay, so it shouldn’t hold anything.\n" + .string "Then, I’d better get something for it!\p" + .string "Just kidding!\n" + .string "I’ll obey your teaching, master!\p" + .string "Thanks, master!\n" + .string "I hope you’ll keep teaching me!$" + +gText_082BBCF6:: @ 82BBCF6 + .string "Okay, so it’s one {STR_VAR_1}!\n" + .string "I’ll make it hold anything but that!\p" + .string "Just kidding!\n" + .string "I’ll obey your teaching, master!\p" + .string "Thanks, master!\n" + .string "I hope you’ll keep teaching me!$" + +gText_082BBD90:: @ 82BBD90 + .string "Um, you told me about that before,\n" + .string "didn’t you?\p" + .string "Isn’t there something else?\p" + .string "Or do you mean, don’t make\n" + .string "my {STR_VAR_2} hold anything?$" + +gText_082BBE0B:: @ 82BBE0B + .string "A-H-O-Y!\n" + .string "And that spells ahoy!\p" + .string "The rappin’ SAILOR am I!\n" + .string "I present to you a question\l" + .string "that’s pretty fly!\p" + .string "It’s an item question\n" + .string "that begs your suggestion!\p" + .string "My {STR_VAR_1} needs an item to hold,\n" + .string "What should it be, if I may be bold?$" + +gText_082BBEE5:: @ 82BBEE5 + .string "Is that right?\n" + .string "My {STR_VAR_1} doesn’t need to be\l" + .string "holding anything tight?$" + +gText_082BBF25:: @ 82BBF25 + .string "Okay, I hear you, sure I do!\n" + .string "My POKéMON will go empty-handed, too!\p" + .string "If it’s advice I ever need,\n" + .string "{PLAYER}, your word I’ll always heed!$" + +gText_082BBFA4:: @ 82BBFA4 + .string "Okay, one {STR_VAR_1},\n" + .string "that’s what I’ll use.\l" + .string "I was right to make you choose!\p" + .string "If it’s advice I ever need,\n" + .string "{PLAYER}, your word I’ll always heed!$" + +gText_082BC024:: @ 82BC024 + .string "Okay, one {STR_VAR_1}, you say?\n" + .string "You told me that the other day.\l" + .string "I need a new idea, a brand new way.\p" + .string "Or, what, is that right?\n" + .string "My POKéMON doesn’t need to hold\l" + .string "anything tight?$" + +gText_082BC0C8:: @ 82BC0C8 + .string "Say, hey, {PLAYER}!\n" + .string "I found you again today!\p" + .string "What should I do? Get your advice?\n" + .string "Why not? I’m already talking to you!\p" + .string "{PLAYER}, are you getting sick of me?\n" + .string "Nah, no way, that can’t be.\p" + .string "Will you hear me out?\n" + .string "I’m looking for advice--that’s what\l" + .string "I’m talking about.\p" + .string "It’s about a hold item for\n" + .string "my {STR_VAR_1} that’d be good.\l" + .string "My indecision is making me brood.$" + +gText_082BC213:: @ 82BC213 + .string "My {STR_VAR_1} needs nothing?\n" + .string "Doesn’t need to hold anything?$" + +gText_082BC247:: @ 82BC247 + .string "If holding nothing is the best,\n" + .string "I’ll do as you suggest!\p" + .string "Well, {PLAYER}, I have to roam free,\n" + .string "but don’t you forget about me.\p" + .string "See you again, my smart friend!$" + +gText_082BC2DD:: @ 82BC2DD + .string "If holding that {STR_VAR_1} is\n" + .string "the best, I’ll do as you suggest!\p" + .string "Well, {PLAYER}, I have to roam free,\n" + .string "but don’t you forget about me.\p" + .string "See you again, my smart friend!$" + +gText_082BC373:: @ 82BC373 + .string "Haven’t I heard about that\n" + .string "{STR_VAR_1} before?\l" + .string "I’m certain I have, that’s for sure!\p" + .string "I need a new something!\n" + .string "Or, my {STR_VAR_2} needs nothing?\l" + .string "Doesn’t need to hold anything?$" + +gText_082BC40E:: @ 82BC40E + .string "Gwah! Ouch! {PLAYER}{STRING 5}, my arm’s broken!\n" + .string "Don’t touch it, please!\p" + .string "I must’ve broken it while I was trying\n" + .string "out different hold items with my posse\l" + .string "of POKéMON.\p" + .string "So, things being this way,\n" + .string "I need you to decide for me.\p" + .string "{PLAYER}{STRING 5}, what do you think would be\n" + .string "good for my {STR_VAR_1} to hold?$" + +gText_082BC514:: @ 82BC514 + .string "Ouch…\p" + .string "So your suggestion is my {STR_VAR_1}\n" + .string "doesn’t have to hold anything?$" + +gText_082BC555:: @ 82BC555 + .string "Hm, all right. That would be easier\n" + .string "for me, the way things are now.\p" + .string "I hope I can keep hitting you up\n" + .string "for help like this.$" + +gText_082BC5CE:: @ 82BC5CE + .string "Hm, all right. That’s one {STR_VAR_1}.\n" + .string "My POKéMON’s arm is fine, so I’ll make\l" + .string "it hold that item right away.\p" + .string "I hope I can keep hitting you up\n" + .string "for help like this.$" + +gText_082BC666:: @ 82BC666 + .string "No, no, you told me about that\n" + .string "{STR_VAR_1} before, remember?\p" + .string "How about telling me something\n" + .string "even better?\p" + .string "Oh, wait a second.\n" + .string "So your suggestion is my {STR_VAR_2}\l" + .string "doesn’t have to hold anything?$" + +gText_082BC714:: @ 82BC714 + .string "Er… Um…\n" + .string "{PLAYER}{STRING 5}…\p" + .string "Please, don’t look at me that way.\n" + .string "My POKéMON don’t have anything.\p" + .string "I… I’m really embarrassed about this,\n" + .string "but I really need your advice.\p" + .string "I can’t decide what hold item would\n" + .string "make my {STR_VAR_1} strong.\p" + .string "{PLAYER}{STRING 5}, what do you think would\n" + .string "be good?$" + +gText_082BC808:: @ 82BC808 + .string "Oh… Then, you think it would be better\n" + .string "if my {STR_VAR_1} didn’t have an item?$" + +gText_082BC84D:: @ 82BC84D + .string "Oh… Okay!\n" + .string "I’ll go without an item.\p" + .string "This is nerve-racking, though.\n" + .string "Wouldn’t it be too cool?\p" + .string "Thank you, {PLAYER}{STRING 5}.\n" + .string "If we meet again, I hope you will be\l" + .string "as helpful.$" + +gText_082BC8EA:: @ 82BC8EA + .string "Oh… Okay!\n" + .string "I’ll go with that {STR_VAR_1}.\p" + .string "This is nerve-racking, though.\n" + .string "Wouldn’t it be too cool?\p" + .string "Thank you, {PLAYER}{STRING 5}.\n" + .string "If we meet again, I hope you will be\l" + .string "as helpful.$" + +gText_082BC984:: @ 82BC984 + .string "B-but I already heard about that.\p" + .string "Please don’t brush me off like this!\n" + .string "I can’t live with the humiliation.\p" + .string "Oh… Am I jumping to conclusions?\n" + .string "Do you think it would be better if\l" + .string "my {STR_VAR_2} didn’t have an item?$" + +gText_082BCA4D:: @ 82BCA4D + .string "Hm? You appear to be {PLAYER}{STRING 5}…\n" + .string "But are you really?\l" + .string "Perhaps you’re a twin?\p" + .string "Oh, no, no, no, don’t worry!\n" + .string "If you really are {PLAYER}, please\l" + .string "forget about my rudeness.\p" + .string "What I would like is some more of\n" + .string "your fine advice.\p" + .string "I have here my {STR_VAR_1} that I wish\n" + .string "to make hold a convenient item.\p" + .string "What would be worthy of it?$" + +gText_082BCB75:: @ 82BCB75 + .string "It’s better if it held nothing?\n" + .string "Are you certain?$" + +gText_082BCBA6:: @ 82BCBA6 + .string "I see. If that’s the case, that’s fine.\n" + .string "I thank you for your time.\p" + .string "Let us meet again!$" + +gText_082BCBFC:: @ 82BCBFC + .string "One {STR_VAR_1}?\n" + .string "Are you certain?\p" + .string "I see. If that’s the case, that’s fine.\n" + .string "I thank you for your time.\p" + .string "I do hope my POKéMON will be able to\n" + .string "put it to good use.\p" + .string "Let us meet again!$" + +gText_082BCCA4:: @ 82BCCA4 + .string "No, no, wait a minute.\n" + .string "I believe you taught me that before.\p" + .string "I would like you to recommend\n" + .string "something different this time.\p" + .string "Perhaps you’re suggesting that\n" + .string "my {STR_VAR_2} should hold nothing?\l" + .string "Are you certain?$" + +gText_082BCD68:: @ 82BCD68 + .string "Waah, {PLAYER}!\n" + .string "I have a dilemma, sob…\p" + .string "I want to begin battling other people,\n" + .string "but I don’t know what to do.\p" + .string "How should I line up my POKéMON\n" + .string "so they’ll be at their strongest?\p" + .string "Please tell me, {PLAYER}.\n" + .string "If you were me, which of these POKéMON\l" + .string "would you send out first?$" + +gText_082BCE64:: @ 82BCE64 + .string "My {STR_VAR_1} should go first?\n" + .string "Waaaaah!\p" + .string "Oh! I’m so sorry!\n" + .string "You’ve made me happy by choosing\l" + .string "my first POKéMON, and it’s made me cry…\p" + .string "Thank you so much!$" + +gText_082BCEF2:: @ 82BCEF2 + .string "Yay! It’s {PLAYER}!\n" + .string "Great! I wanted to ask you something!\p" + .string "Um, of my POKéMON, which do you\n" + .string "think should go out first?$" + +gText_082BCF61:: @ 82BCF61 + .string "My {STR_VAR_1}? That’s true.\n" + .string "Okay, I’ll do that!\p" + .string "Thanks for teaching me!$" + +gText_082BCFA1:: @ 82BCFA1 + .string "{PLAYER}, hello!\p" + .string "I think, in a battle, it’s very important\n" + .string "which POKéMON comes out first.\p" + .string "Out of the POKéMON that I have,\n" + .string "which would be good to send out first?$" + +gText_082BD03C:: @ 82BD03C + .string "My {STR_VAR_1} goes first?\n" + .string "Okay, I got it!\p" + .string "See you again!$" + +gText_082BD06D:: @ 82BD06D + .string "Hello, {PLAYER}…\n" + .string "I’m sorry to disturb you again with\l" + .string "another question.\p" + .string "I have so little confidence, I don’t\n" + .string "know what I’d do without you, {PLAYER}.\p" + .string "It may be a waste of time for me to\n" + .string "even worry about it, but I just can’t\l" + .string "decide something…\p" + .string "Which of my POKéMON should I send\n" + .string "out first in a battle?$" + +gText_082BD18A:: @ 82BD18A + .string "My {STR_VAR_1}?\n" + .string "Understood!\p" + .string "I can’t believe that you would bother\n" + .string "to answer my questions so often!\p" + .string "I’m so grateful that you would even\n" + .string "speak with me… Thank you!$" + +gText_082BD222:: @ 82BD222 + .string "Oh, {PLAYER}{STRING 5}! It’s me!\n" + .string "I’m so glad to see you because I have\l" + .string "this little problem.\p" + .string "I can’t decide how my POKéMON should\n" + .string "be lined up. Could you decide for me?\p" + .string "Oh, you don’t need to decide the whole\n" + .string "party right now.\p" + .string "How about deciding just the first\n" + .string "POKéMON for me?$" + +gText_082BD325:: @ 82BD325 + .string "My {STR_VAR_1}? That’s great!\p" + .string "Knowing that you made the decision,\n" + .string "{PLAYER}{STRING 5}, I won’t be so upset if\l" + .string "I lose.\p" + .string "Okay, I’ll look to you for advice again.\n" + .string "Bye!$" + +gText_082BD3B1:: @ 82BD3B1 + .string "Hi, my teacher {PLAYER}{STRING 5}!\n" + .string "I’m busy again today!\p" + .string "I have to do some cycling, shopping,\n" + .string "and humming.\p" + .string "I haven’t even had the time to decide\n" + .string "how to line up my POKéMON team.\p" + .string "So, how about checking out my team?\n" + .string "Which one should go first?$" + +gText_082BD493:: @ 82BD493 + .string "Okay, gotcha.\n" + .string "I have enough time at least to put\l" + .string "my {STR_VAR_1} at the head of the line!\p" + .string "Whoops, my girlfriend’s waiting!\n" + .string "Thanks! See you around!$" + +gText_082BD51C:: @ 82BD51C + .string "Yoohoo! Hiya, {PLAYER}!\n" + .string "You always walk around looking tough!\p" + .string "Listen, I need something from you\n" + .string "again! It’s the usual thing!\p" + .string "Drum roll, please!\n" + .string "The question I have is about my team.\p" + .string "Which POKéMON of mine should be first\n" + .string "to go out in a battle?$" + +gText_082BD609:: @ 82BD609 + .string "Hmhm!\n" + .string "My {STR_VAR_1}, you say!\l" + .string "Thanks for a most cool answer!\p" + .string "I guess that’s about all I wanted\n" + .string "to ask you today.\p" + .string "Let’s meet here again, okay?\n" + .string "Thanks!$" + +gText_082BD697:: @ 82BD697 + .string "Thank you so much for stopping to\n" + .string "chat with me, {PLAYER}.\p" + .string "I know I’m taking advantage of your\n" + .string "kindness, but may I ask for advice?\p" + .string "I would like you to decide on the order\n" + .string "of my POKéMON team.\p" + .string "It would please me if you could decide\n" + .string "which POKéMON should come first.$" + +gText_082BD797:: @ 82BD797 + .string "My {STR_VAR_1} it is!\n" + .string "I will put it first right away!\p" + .string "Thank you, {PLAYER}.\n" + .string "I hope I can count on you again.\l" + .string "Please take care!$" + +gText_082BD806:: @ 82BD806 + .string "Eek! {PLAYER}!\n" + .string "I… I’m overjoyed to see you again!\p" + .string "My POKéMON have become much\n" + .string "stronger!\p" + .string "But I don’t always win. It seems to\n" + .string "depend on which POKéMON goes first.\p" + .string "{PLAYER}, please, I need your help!\p" + .string "Please decide which of my POKéMON\n" + .string "should go out first!$" + +gText_082BD8F5:: @ 82BD8F5 + .string "Sigh… I’m overwhelmed with happiness…\p" + .string "It’s like a dream having you decide\n" + .string "for me, {PLAYER}.\p" + .string "But perfectly understood!\n" + .string "I will go with my {STR_VAR_1} first!\p" + .string "I hope you’ll be willing to teach me\n" + .string "some more another time.$" + +gText_082BD9BE:: @ 82BD9BE + .string "Hello, hello!\n" + .string "My mentor, {PLAYER}{STRING 5}!\l" + .string "Hit me with your sage advice today!\p" + .string "You see, I pulled together a team of\n" + .string "three POKéMON. So far so good.\p" + .string "But the team’s battling order’s not\n" + .string "settled yet.\p" + .string "This is where you come in, {PLAYER}{STRING 5}!\n" + .string "You decide which POKéMON leads off!\p" + .string "Don’t be shy now.\n" + .string "Let’s blurt it out!$" + +gText_082BDAE1:: @ 82BDAE1 + .string "Uh-huh, my {STR_VAR_1} leads off!\n" + .string "OK, A-OK!\l" + .string "I’ll reorder the lineup, like, wham!\p" + .string "All right, thanks, as always!\n" + .string "Adios!$" + +gText_082BDB4E:: @ 82BDB4E + .string "{PLAYER}{STRING 5}, listen!\n" + .string "It’s a crisis!\p" + .string "My POKéMON, all three of them, go into\n" + .string "battle at once!\p" + .string "Of course that’s impossible!\n" + .string "Wahahaha!\p" + .string "This is no lie, though.\n" + .string "I’m not very good at thinking about\l" + .string "how I should line up my POKéMON.\p" + .string "So, how about deciding for me which\n" + .string "POKéMON should go first, master?$" + +gText_082BDC6B:: @ 82BDC6B + .string "Okay, so it’s my {STR_VAR_1} you chose?\n" + .string "I’ll let any but that one go first!\p" + .string "Just kidding!\n" + .string "I’ll obey your teaching, master!\p" + .string "Thanks, master!\n" + .string "I hope you’ll keep teaching me!$" + +gText_082BDD0D:: @ 82BDD0D + .string "A-H-O-Y!\n" + .string "And that spells ahoy!\p" + .string "The rappin’ SAILOR am I!\n" + .string "I present to you a question\l" + .string "that’s pretty fly!\p" + .string "It’s a team lineup question\n" + .string "that begs your suggestion!\p" + .string "Out of this lot, which should go first\n" + .string "as the first on the spot?$" + +gText_082BDDEC:: @ 82BDDEC + .string "Okay, I hear you, sure I do!\n" + .string "I’ll switch them up, that I’ll do!\p" + .string "If it’s advice I ever need,\n" + .string "{PLAYER}, your word I’ll always heed!$" + +gText_082BDE68:: @ 82BDE68 + .string "Yahoo, {PLAYER}!\n" + .string "How do you do?\p" + .string "What should I do? Go ahead and ask?\n" + .string "Uh-huh, I have something to ask!\l" + .string "Are you receiving me?\l" + .string "You are receiving me!\p" + .string "You have to decide, which of my\n" + .string "POKéMON is the first to ride!\l" + .string "Into battle, I mean to say.$" + +gText_082BDF4D:: @ 82BDF4D + .string "My {STR_VAR_1}? Yes!\n" + .string "That’ll do, there’s no distress!\p" + .string "Well, {PLAYER}, I have to roam free,\n" + .string "but don’t you forget about me.\p" + .string "See you again, my smart friend!$" + +gText_082BDFD8:: @ 82BDFD8 + .string "…Oof…ooch… {PLAYER}{STRING 5}…\n" + .string "My stomach’s hurting all of a sudden…\p" + .string "…It’s getting better now…\p" + .string "I must’ve worried myself sick racking\n" + .string "my brains on how I should line up\l" + .string "my posse of POKéMON.\p" + .string "So, things being this way,\n" + .string "I need you to decide for me.\p" + .string "{PLAYER}{STRING 5}, which of my POKéMON should\n" + .string "go first? So I’d win, I mean.$" + +gText_082BE0FD:: @ 82BE0FD + .string "Hm, all right.\n" + .string "My {STR_VAR_1} goes first.\p" + .string "I’ll fix the lineup like that after\n" + .string "I have my supper.\p" + .string "I hope I can keep hitting you up\n" + .string "for help like this.$" + +gText_082BE189:: @ 82BE189 + .string "Er… Um…\n" + .string "{PLAYER}{STRING 5}?\p" + .string "Please, don’t look at me that way.\n" + .string "You’re making me feel all flustered.\p" + .string "Um…\n" + .string "I really need your advice.\p" + .string "It makes me bashful to say this,\n" + .string "but I chose my 3-POKéMON team.\l" + .string "I can’t decide on the order, though.\p" + .string "Which POKéMON should I send out first\n" + .string "so I at least look capable?$" + +gText_082BE2A5:: @ 82BE2A5 + .string "Oh… Okay!\n" + .string "I’ll lead with my {STR_VAR_1}.\p" + .string "I hope I can do my best without\n" + .string "getting all flustered.\p" + .string "Thank you, {PLAYER}{STRING 5}.\n" + .string "If we meet again, I hope you will be\l" + .string "as helpful.$" + +gText_082BE33E:: @ 82BE33E + .string "Hm? You appear to be {PLAYER}{STRING 5}…\n" + .string "But are you really?\l" + .string "Perhaps you’re a clever look-alike?\p" + .string "Oh, no, no, no, don’t worry!\n" + .string "If you really are {PLAYER}, please\l" + .string "forget about my rudeness.\p" + .string "What I would like is your fine advice.\p" + .string "I have here my POKéMON team.\n" + .string "I would like you to tell me which one\l" + .string "should go first in a battle.$" + +gText_082BE46C:: @ 82BE46C + .string "My {STR_VAR_1}…\n" + .string "You aren’t pulling my leg?\p" + .string "I see. If that’s the case, that’s fine.\n" + .string "I thank you for your time.\p" + .string "I am as you see, but I shall do\n" + .string "my best.\p" + .string "Let us meet again!$" + +gText_082BE50D:: @ 82BE50D + .string "Snivel…\n" + .string "Oh, {PLAYER}!\p" + .string "What perfect timing!\n" + .string "There’s something I just can’t decide…\p" + .string "I can’t decide which POKéMON I should\n" + .string "be using.\p" + .string "I can’t decide between the POKéMON\n" + .string "{STR_VAR_1} and {STR_VAR_2}…\p" + .string "{PLAYER}, which do you think will give\n" + .string "even me a chance at winning?$" + +gText_082BE5F5:: @ 82BE5F5 + .string "Snivel… I… I understand!\n" + .string "Oh! I’m so sorry!\l" + .string "You’ve made me so happy, I’m crying…\p" + .string "I’ll do my best to catch one\n" + .string "{STR_VAR_1}!\p" + .string "Thank you so much!$" + +gText_082BE679:: @ 82BE679 + .string "Yay! It’s {PLAYER}!\n" + .string "Yay, you came at the right time, too!\l" + .string "I need your advice again!\p" + .string "Um, I’m all mixed up--should I use\n" + .string "my {STR_VAR_1} or {STR_VAR_2}…\p" + .string "Which do you think I should raise,\n" + .string "{PLAYER}?$" + +gText_082BE71E:: @ 82BE71E + .string "Oh, so my {STR_VAR_1} is better!\n" + .string "Okay, I’ll do that!\p" + .string "Thanks for teaching me!$" + +gText_082BE762:: @ 82BE762 + .string "{PLAYER}, hello!\n" + .string "I have a question I wanted to ask.\p" + .string "I’m in a dilemma over whether I should\n" + .string "raise one {STR_VAR_1} or {STR_VAR_2}.\p" + .string "Which POKéMON do you think will\n" + .string "be stronger?$" + +gText_082BE7F8:: @ 82BE7F8 + .string "{STR_VAR_1} is your choice?\n" + .string "Okay, I got it!\p" + .string "I’ll go catch a strong {STR_VAR_1}\n" + .string "right away!\p" + .string "See you again!$" + +gText_082BE850:: @ 82BE850 + .string "Hello, {PLAYER}…\p" + .string "Um, you’ve probably already forgotten\n" + .string "about someone like me…\p" + .string "…But that doesn’t matter if you\n" + .string "could give me advice…\p" + .string "I can’t decide on the one kind of\n" + .string "POKéMON I should raise…\p" + .string "I’ve narrowed the field to the POKéMON\n" + .string "{STR_VAR_1} and {STR_VAR_2}, but that’s\l" + .string "where I became stuck…\p" + .string "{PLAYER}, you probably don’t want to\n" + .string "bother, but please decide for me.$" + +gText_082BE99C:: @ 82BE99C + .string "But will a wild {STR_VAR_1} even pay\n" + .string "attention to me?\p" + .string "I will try!\p" + .string "But will I even be able to catch one…\n" + .string "No! I’ll do my best!\p" + .string "Thank you!$" + +gText_082BEA1B:: @ 82BEA1B + .string "Oh, {PLAYER}{STRING 5}! I’m so glad to see you!\n" + .string "I was about to go looking for you!\p" + .string "Can you decide what kind of POKéMON\n" + .string "I should use?\p" + .string "For instance…\n" + .string "How about the POKéMON {STR_VAR_1}\l" + .string "and {STR_VAR_2}?\p" + .string "Which one do you think would be\n" + .string "better?$" + +gText_082BEAE9:: @ 82BEAE9 + .string "{STR_VAR_1}? That’s great!\p" + .string "Knowing that you made the decision,\n" + .string "{PLAYER}{STRING 5}, I won’t be so upset if\l" + .string "I lose.\p" + .string "Okay, I’ll look to you for advice again.\n" + .string "Bye!$" + +gText_082BEB72:: @ 82BEB72 + .string "If it isn’t {PLAYER}{STRING 5}! How’s it going?\n" + .string "I’m busy again as always!\p" + .string "I want to do good with POKéMON, too,\n" + .string "but I haven’t been able to decide\l" + .string "which POKéMON I should use.\p" + .string "You know how {STR_VAR_1} look strong?\n" + .string "But {STR_VAR_2} are tough to ignore.\p" + .string "{PLAYER}{STRING 5}, give me some of your good\n" + .string "advice! Which one’d be good for me?$" + +gText_082BEC8E:: @ 82BEC8E + .string "Okay, gotcha.\n" + .string "I’ll find time somehow and catch me\l" + .string "that {STR_VAR_1} you recommended.\p" + .string "I’m glad I met a good mentor in you.\n" + .string "Thanks! See you around!$" + +gText_082BED16:: @ 82BED16 + .string "Oh!\n" + .string "Yay, it’s {PLAYER}!\p" + .string "I didn’t waste any time boasting to\n" + .string "my friends about meeting you!\p" + .string "I need to tap your mind again today.\n" + .string "It’s an easy one for you!\p" + .string "Drum roll, please!\n" + .string "The question I have is…\p" + .string "If I were to raise a POKéMON,\n" + .string "and the choices were one {STR_VAR_1}\l" + .string "or {STR_VAR_2}, which should it be?$" + +gText_082BEE29:: @ 82BEE29 + .string "Ahhh!\n" + .string "{STR_VAR_1}, you say!\l" + .string "Thanks for a most cool answer!\p" + .string "I guess that’s about all I wanted\n" + .string "to ask you today.\p" + .string "Let’s meet here again, okay?\n" + .string "Thanks!$" + +gText_082BEEB4:: @ 82BEEB4 + .string "Oh, is it you, {PLAYER}?\n" + .string "I’m delighted to see you again!\p" + .string "Ever since I became your apprentice,\n" + .string "my confidence has been blooming.\p" + .string "I think I’m ready to raise a POKéMON\n" + .string "of my own!\p" + .string "{PLAYER}, may I impose on you to choose\n" + .string "which POKéMON I should raise?\p" + .string "The choices are the POKéMON\n" + .string "{STR_VAR_1} or {STR_VAR_2}…\l" + .string "Which POKéMON is right for me?$" + +gText_082BEFE2:: @ 82BEFE2 + .string "One {STR_VAR_1} it is!\n" + .string "I will find one right away!\p" + .string "Thank you, {PLAYER}.\n" + .string "I hope I can count on you again.\l" + .string "Please take care!$" + +gText_082BF04E:: @ 82BF04E + .string "Eek! {PLAYER}! I met you again!\n" + .string "I… I’m overjoyed!\p" + .string "Oh-oh-oh, I know!\n" + .string "I shouldn’t pass up this opportunity!\p" + .string "May I ask a huge favor, {PLAYER}?\n" + .string "Please choose a POKéMON for me!\p" + .string "Please decide which would be better,\n" + .string "{STR_VAR_1} or {STR_VAR_2}!$" + +gText_082BF11D:: @ 82BF11D + .string "Wow! You decided for me!\n" + .string "One {STR_VAR_1} is what I’ll raise to\l" + .string "the best of my ability.\p" + .string "I hope you’ll be willing to teach me\n" + .string "some more another time.$" + +gText_082BF1A8:: @ 82BF1A8 + .string "Hey, hey!\n" + .string "My mentor, {PLAYER}{STRING 5}!\p" + .string "Hello, I’ve been looking for you\n" + .string "for some more of your sage advice!\p" + .string "Which kind of POKéMON would be right\n" + .string "for me, one {STR_VAR_1} or {STR_VAR_2}?\p" + .string "Don’t be shy now.\n" + .string "Let’s blurt it out!$" + +gText_082BF268:: @ 82BF268 + .string "Uh-huh, one {STR_VAR_1} it is!\n" + .string "OK, A-OK!\l" + .string "I’ll get one in a BALL, like, cram!\p" + .string "All right, thanks, as always!\n" + .string "Adios!$" + +gText_082BF2D1:: @ 82BF2D1 + .string "{PLAYER}{STRING 5}, listen! Big news!\n" + .string "I caught a mirage POKéMON!\p" + .string "Of course I’m lying!\n" + .string "Wahahaha!\p" + .string "This is no lie, though.\n" + .string "I’m not very good at catching\l" + .string "POKéMON.\p" + .string "So, how about deciding for me which\n" + .string "kind of POKéMON I should catch,\l" + .string "master?\p" + .string "Which would be better?\n" + .string "{STR_VAR_1} or {STR_VAR_2}?$" + +gText_082BF3CF:: @ 82BF3CF + .string "Okay, so it’s {STR_VAR_1} you chose?\n" + .string "I’ll grab the other kind, then!\p" + .string "Just kidding!\n" + .string "I’ll obey your teaching, master!\p" + .string "Thanks, master!\n" + .string "I hope you’ll keep teaching me!$" + +gText_082BF46A:: @ 82BF46A + .string "A-H-O-Y!\n" + .string "And that spells ahoy!\p" + .string "The rappin’ SAILOR am I!\n" + .string "Surely you remember who am I?\p" + .string "Today, I have a POKéMON question\n" + .string "that begs your suggestion!\p" + .string "I have the choice between this\n" + .string "{STR_VAR_1} and {STR_VAR_2}, you see.\l" + .string "Which is the one to catch for me?$" + +gText_082BF551:: @ 82BF551 + .string "{STR_VAR_1}, you say, hey, hey!\n" + .string "I’ll go get me one right away!\p" + .string "If it’s advice I ever need,\n" + .string "{PLAYER}, your word I’ll always heed!$" + +gText_082BF5C3:: @ 82BF5C3 + .string "Oh, wow, if it isn’t {PLAYER}!\p" + .string "What should I do? Get your advice?\n" + .string "Why not? I’m already talking to you!\p" + .string "It’s been a long time. Let me break\n" + .string "the ice. I’m also looking for advice!\l" + .string "Are you receiving me?\l" + .string "You are receiving me!\p" + .string "My POKéMON--which should I use?\n" + .string "It’s either {STR_VAR_1} or {STR_VAR_2}.\l" + .string "Which do you choose?$" + +gText_082BF6E5:: @ 82BF6E5 + .string "If that {STR_VAR_1} is the best,\n" + .string "I’ll do as you suggest!\p" + .string "Well, {PLAYER}, I have to roam free,\n" + .string "but don’t you forget about me.\p" + .string "See you again, my smart friend!$" + +gText_082BF773:: @ 82BF773 + .string "Oh, hi, {PLAYER}{STRING 5}…\n" + .string "I have this horrible headache…\p" + .string "I must’ve worried too much about\n" + .string "the kind of POKéMON I should raise.\p" + .string "So, things being this way,\n" + .string "I need you to decide for me.\p" + .string "{PLAYER}{STRING 5}, if I had to choose between\n" + .string "the POKéMON {STR_VAR_1} and\l" + .string "{STR_VAR_2}, which should it be?$" + +gText_082BF869:: @ 82BF869 + .string "Hm, one {STR_VAR_1}, all right.\n" + .string "I’ll go look for one when I get better.\p" + .string "I hope I can keep hitting you up\n" + .string "for help like this.$" + +gText_082BF8DD:: @ 82BF8DD + .string "Er… Um…\n" + .string "{PLAYER}{STRING 5}…?\p" + .string "Please, don’t look at me that way.\n" + .string "I’m getting all flustered…\l" + .string "I… I need your advice.\p" + .string "I… I’m really embarrassed, but I can’t\n" + .string "decide which POKéMON to use.\p" + .string "If the choices were {STR_VAR_1} or\n" + .string "{STR_VAR_2}, which would be better?$" + +gText_082BF9BA:: @ 82BF9BA + .string "Oh… Okay!\n" + .string "I’ll do my best with one {STR_VAR_1}.\p" + .string "I hope I can do my best without\n" + .string "getting all flustered.\p" + .string "Thank you, {PLAYER}{STRING 5}.\n" + .string "If we meet again, I hope you will be\l" + .string "as helpful.$" + +gText_082BFA5A:: @ 82BFA5A + .string "Hm? You appear to be {PLAYER}{STRING 5}…\n" + .string "But are you really real?\p" + .string "No, no, if you are real, it’s fine.\n" + .string "Incidentally, I would like to obtain\l" + .string "your advice.\p" + .string "It’s about the POKéMON I am to use.\p" + .string "If the choices are the POKéMON\n" + .string "{STR_VAR_1} and {STR_VAR_2}, which is\l" + .string "more worthy of me?$" + +gText_082BFB4E:: @ 82BFB4E + .string "{STR_VAR_1}?\n" + .string "Are you certain?\p" + .string "I see. If that’s the case, that’s fine.\n" + .string "I thank you for your time.\p" + .string "I do hope it is something even I can\n" + .string "handle with aplomb.\p" + .string "Let us meet again!$" + +gText_082BFBF2:: @ 82BFBF2 + .string "Waaah! Oh, {PLAYER}!\n" + .string "Snivel… Hiccup…\p" + .string "I have a dilemma!\n" + .string "I can’t decide on a move for\l" + .string "my {STR_VAR_1}…\p" + .string "Please, please, {PLAYER}.\n" + .string "Can you decide for me?\p" + .string "For my {STR_VAR_1}, which move would\n" + .string "be the better choice: {STR_VAR_2}\l" + .string "or {STR_VAR_3}?$" + +gText_082BFCAE:: @ 82BFCAE + .string "{STR_VAR_1}?\n" + .string "Waaaaah!\p" + .string "Oh! I’m so sorry, {PLAYER}!\n" + .string "You’ve made me so happy by deciding\l" + .string "the move, I’m crying…\p" + .string "Snivel…\n" + .string "Thank you so much!$" + +gText_082BFD26:: @ 82BFD26 + .string "Yay! Hi, {PLAYER}!\n" + .string "I need your advice again!\p" + .string "I want to teach my {STR_VAR_1}\n" + .string "a cool move.\p" + .string "I like either of the moves\n" + .string "{STR_VAR_2} or {STR_VAR_3}.\l" + .string "What’s your recommendation?$" + +gText_082BFDB1:: @ 82BFDB1 + .string "{STR_VAR_1} is better? I guess so!\n" + .string "Okay, I’ll go with that!\p" + .string "If we meet here again, please teach\n" + .string "me something else, teacher!$" + +gText_082BFE24:: @ 82BFE24 + .string "{PLAYER}, hello!\n" + .string "It’s about my {STR_VAR_1}, but I’m\l" + .string "worried about its moves.\p" + .string "You see, it’s the moves {STR_VAR_2}\n" + .string "and {STR_VAR_3}.\p" + .string "Which is stronger and better for\n" + .string "my {STR_VAR_1}?$" + +gText_082BFEAD:: @ 82BFEAD + .string "{STR_VAR_1} is your choice?\n" + .string "Okay, I got it!\p" + .string "I’ll go teach {STR_VAR_1} to\n" + .string "my POKéMON right away!\p" + .string "See you again!$" + +gText_082BFF0A:: @ 82BFF0A + .string "Ohhh, {PLAYER}…\n" + .string "I’m hopeless, no, really!\p" + .string "I’ve decided to raise a POKéMON,\n" + .string "but now I can’t even decide what\l" + .string "move I should let it learn…\p" + .string "I know that it doesn’t mean anything\n" + .string "to you, {PLAYER}.\p" + .string "But it means a lot to me…\p" + .string "Please, {PLAYER}, could you choose\n" + .string "a move for my {STR_VAR_1}?\p" + .string "If you could even choose between\n" + .string "{STR_VAR_2} and {STR_VAR_3}…$" + +gText_082C0032:: @ 82C0032 + .string "I understand!\p" + .string "But will it even be willing to learn\n" + .string "{STR_VAR_1} for me…\l" + .string "No! I’ll do my best!\p" + .string "Thank you!$" + +gText_082C0090:: @ 82C0090 + .string "Oh, {PLAYER}{STRING 5}!\n" + .string "I was just hoping to see you, too!\p" + .string "I was wondering what move would\n" + .string "be suitable for my {STR_VAR_1}.\p" + .string "I can’t decide, so can you decide\n" + .string "for me instead?\p" + .string "For instance… How about the moves\n" + .string "{STR_VAR_2} and {STR_VAR_3}?\l" + .string "Which one would be better?$" + +gText_082C016E:: @ 82C016E + .string "{STR_VAR_1}? That’s great!\p" + .string "Knowing that you made the decision,\n" + .string "{PLAYER}{STRING 5}, I won’t be so upset if\l" + .string "I lose.\p" + .string "Okay, I’ll look to you for advice again.\n" + .string "Bye!$" + +gText_082C01F7:: @ 82C01F7 + .string "How could things be this busy?\n" + .string "Hey, if it isn’t {PLAYER}{STRING 5}!\l" + .string "How’s it going?\p" + .string "Since I got up this morning, I’ve done\n" + .string "my jogging, swimming, and cooking!\p" + .string "You wouldn’t believe how busy I am!\p" + .string "I can’t even decide what move\n" + .string "my {STR_VAR_1} should learn!\p" + .string "{STR_VAR_2} looks good, huh?\n" + .string "But {STR_VAR_3}’s also decent.\p" + .string "{PLAYER}{STRING 5}, give me some of your good\n" + .string "advice! Which move’d be good for me?$" + +gText_082C034C:: @ 82C034C + .string "Okay, gotcha.\n" + .string "I’ll make room in my schedule and\l" + .string "teach that move.\p" + .string "I’m glad I met a good mentor in you.\n" + .string "Thanks! See you around!$" + +gText_082C03CA:: @ 82C03CA + .string "Oh! Lucky!\n" + .string "I met you again, {PLAYER}!\l" + .string "I need to tap your mind again today.\p" + .string "Drum roll, please!\n" + .string "The question I have is…\p" + .string "For my {STR_VAR_1}, which is the move\n" + .string "best suited, {STR_VAR_2} or\l" + .string "{STR_VAR_3}?$" + +gText_082C046E:: @ 82C046E + .string "Ahhh!\n" + .string "{STR_VAR_1}, you say!\l" + .string "Thanks for a most cool answer!\p" + .string "I guess that’s about all I wanted\n" + .string "to ask you today.\p" + .string "Let’s meet here again, okay?\n" + .string "Thanks!$" + +gText_082C04F9:: @ 82C04F9 + .string "Oh, hello, {PLAYER}.\n" + .string "I trust you’ve been well?\p" + .string "I have to seek your advice again.\n" + .string "It’s about my dearest {STR_VAR_1}.\p" + .string "What would be the ideal move for\n" + .string "my lovable {STR_VAR_1}?\l" + .string "{STR_VAR_2} or {STR_VAR_3}?$" + +gText_082C0598:: @ 82C0598 + .string "{STR_VAR_1} it is!\n" + .string "I will teach that right away!\p" + .string "Thank you, {PLAYER}.\n" + .string "I hope I can count on you again.\l" + .string "Please take care!$" + +gText_082C0602:: @ 82C0602 + .string "Eek! {PLAYER}! I met you again!\n" + .string "I… I’m overjoyed!\p" + .string "Whenever I’m in need, you’re always\n" + .string "there for me, {PLAYER}!\p" + .string "Today, I want you to recommend\n" + .string "a move for me!\p" + .string "Please choose a move for\n" + .string "my {STR_VAR_1}!\p" + .string "Which move would be better,\n" + .string "{STR_VAR_2} or {STR_VAR_3}?$" + +gText_082C06D8:: @ 82C06D8 + .string "Oh-oh-oh! Thank you!\n" + .string "{STR_VAR_1} is it!\l" + .string "Perfectly understood!\p" + .string "I hope you’ll be willing to teach me\n" + .string "some more another time.$" + +gText_082C074A:: @ 82C074A + .string "Hola, {PLAYER}{STRING 5}, bueno!\n" + .string "I’m hoping for some more of\l" + .string "your sage advice today!\p" + .string "What would be the best move for\n" + .string "my {STR_VAR_1}?\p" + .string "It should be something that’ll\n" + .string "let me win just like that!\p" + .string "Would it be {STR_VAR_2}?\n" + .string "Or {STR_VAR_3}?$" + +gText_082C0809:: @ 82C0809 + .string "Uh-huh, {STR_VAR_1} it is!\n" + .string "Si, bueno!\l" + .string "I’ll get it taught, like, ka-blam!\p" + .string "All right, thanks, as always!\n" + .string "Adios!$" + +gText_082C086E:: @ 82C086E + .string "{PLAYER}{STRING 5}, it’s completely wild!\p" + .string "My POKéMON!\n" + .string "It learned six moves!\p" + .string "Of course I’m lying!\n" + .string "Wahahaha!\p" + .string "This is no lie, though.\n" + .string "I’m not very good at choosing moves\l" + .string "for my POKéMON.\p" + .string "So, how about deciding for me which\n" + .string "kind of move I should teach?\p" + .string "{STR_VAR_2} or {STR_VAR_3}--which\n" + .string "would go with my {STR_VAR_1} best?$" + +gText_082C0982:: @ 82C0982 + .string "Okay, so it’s {STR_VAR_1} you chose?\n" + .string "I’ll choose another move, then!\p" + .string "Just kidding!\n" + .string "I’ll obey your teaching, master!\p" + .string "Thanks, master!\n" + .string "I hope you’ll keep teaching me!$" + +gText_082C0A1D:: @ 82C0A1D + .string "A-H-O-Y!\n" + .string "And that spells ahoy!\p" + .string "The rappin’ SAILOR am I!\n" + .string "I’m always with it, don’t ask me why.\p" + .string "Today, I have a move question\n" + .string "that begs your suggestion!\p" + .string "{STR_VAR_2} and {STR_VAR_3} are\n" + .string "the moves. What would be the best\l" + .string "for my {STR_VAR_1} so it grooves?$" + +gText_082C0AFD:: @ 82C0AFD + .string "{STR_VAR_1}, you say, hey, hey!\n" + .string "I’ll go teach that right away!\p" + .string "If it’s advice I ever need,\n" + .string "{PLAYER}, your word I’ll always heed!$" + +gText_082C0B6F:: @ 82C0B6F + .string "Oh, yeahah, if it isn’t {PLAYER}!\p" + .string "What should I do? Get your advice?\n" + .string "Why not? I’m already talking to you!\p" + .string "{PLAYER}, are you surprised by me?\n" + .string "I want your advice, can’t you see?\p" + .string "Are you receiving me?\n" + .string "You are receiving me!\p" + .string "My {STR_VAR_1}--what should it use?\n" + .string "It’s {STR_VAR_2} or {STR_VAR_3},\l" + .string "what do you choose?$" + +gText_082C0C7D:: @ 82C0C7D + .string "If that {STR_VAR_1} is the best,\n" + .string "I’ll do as you suggest!\p" + .string "Well, {PLAYER}, I have to roam free,\n" + .string "but don’t you forget about me.\p" + .string "See you again, my smart friend!$" + +gText_082C0D0B:: @ 82C0D0B + .string "Gahack! Gaah! Oh, {PLAYER}{STRING 5}…\n" + .string "I have this lousy cold, I do…\p" + .string "I want to pick a move for my POKéMON,\n" + .string "but I’m not up to it…\p" + .string "So, things being this way,\n" + .string "I need you to decide for me.\p" + .string "{PLAYER}{STRING 5}, if I had to choose between\n" + .string "{STR_VAR_2} and {STR_VAR_3} for\l" + .string "my {STR_VAR_1}, which would it be?$" + +gText_082C0DFE:: @ 82C0DFE + .string "Hm, {STR_VAR_1}, all right. Cough!\n" + .string "I’ll go teach it when I get better.\p" + .string "I hope I can keep hitting you up\n" + .string "for help like this.$" + +gText_082C0E71:: @ 82C0E71 + .string "Er… Um…\n" + .string "{PLAYER}{STRING 5}…?\p" + .string "Please, don’t look at me that way.\n" + .string "I’m getting all flustered…\l" + .string "I… I need your advice.\p" + .string "I… I’m really embarrassed, but I can’t\n" + .string "decide what move I should teach\l" + .string "my POKéMON.\p" + .string "It’s for my {STR_VAR_1}.\n" + .string "If the choices were {STR_VAR_2} or\l" + .string "{STR_VAR_3}, which would be better?$" + +gText_082C0F6D:: @ 82C0F6D + .string "Oh… Okay!\n" + .string "I’ll try that {STR_VAR_1}.\p" + .string "I hope I can teach that move…\n" + .string "This is so nerve-racking…\p" + .string "Thank you, {PLAYER}{STRING 5}.\n" + .string "If we meet again, I hope you will be\l" + .string "as helpful.$" + +gText_082C1003:: @ 82C1003 + .string "Hm? You appear to be {PLAYER}{STRING 5}…\n" + .string "But are you really real?\p" + .string "Perhaps you’re one of those popular\n" + .string "mimics?\p" + .string "No, no, if you are real, it’s fine.\n" + .string "No need to be upset, I assure you!\p" + .string "Incidentally, I would like to obtain\n" + .string "your advice.\p" + .string "It’s about my {STR_VAR_1}.\p" + .string "Which move would be better for it to\n" + .string "use, {STR_VAR_2} or {STR_VAR_3}?$" + +gText_082C1122:: @ 82C1122 + .string "{STR_VAR_1}?\n" + .string "There’s no question about that?\p" + .string "I see. If that’s the case, that’s fine.\n" + .string "I thank you for your time.\p" + .string "I do hope it is something even\n" + .string "my POKéMON can learn.\p" + .string "Let us meet again!$" + +gText_082C11D1:: @ 82C11D1 + .string "Oh… {PLAYER}?\n" + .string "It is {PLAYER}!\l" + .string "Oh! Sniff…sob… Please, listen!\p" + .string "I… When I battle, I get so nervous,\n" + .string "I can’t help crying even if I win…\p" + .string "I wish I could say something cool\n" + .string "when I win…\p" + .string "Please, please, {PLAYER}!\n" + .string "Could you maybe teach me something\l" + .string "cool to say when I win so I don’t cry?$" + +gText_082C12D5:: @ 82C12D5 + .string "{STR_VAR_1}\p" + .string "Awesome! Wicked! Awoooh!\n" + .string "It’s really cool!\p" + .string "Oh… I’m sorry…\n" + .string "I’m so happy, I’m crying…\p" + .string "Snivel… {PLAYER}!\n" + .string "Thank you so much for everything!\p" + .string "I will battle the best I can for\n" + .string "your sake, {PLAYER}!\p" + .string "{PLAYER}…\n" + .string "Next time… We should battle!$" + +gText_082C13AB:: @ 82C13AB + .string "Yay! It’s {PLAYER}! Hello!\n" + .string "I wanted to ask you something!\p" + .string "I want to say something cool when\n" + .string "I win a match.\p" + .string "Do you have a cool saying that\n" + .string "you could recommend?$" + +gText_082C1444:: @ 82C1444 + .string "{STR_VAR_1}\p" + .string "Oh, wow! That is so cool!\n" + .string "Okay, I’ll say that!\p" + .string "Thanks for teaching me all this time!\n" + .string "I’m going to do the best I can\l" + .string "wherever I go from now on!\p" + .string "When we meet again, it’ll be for\n" + .string "a battle!$" + +gText_082C1501:: @ 82C1501 + .string "{PLAYER}, hello!\p" + .string "My POKéMON and I are ready for\n" + .string "anything, except for one thing.\p" + .string "I think it would be good if I had\n" + .string "something to shout when I win.\p" + .string "Could you think up something good\n" + .string "to say?$" + +gText_082C15B6:: @ 82C15B6 + .string "{STR_VAR_1}\p" + .string "…Cool!\n" + .string "I will use that!\p" + .string "I’m going out to battle all over\n" + .string "the place.\p" + .string "Who knows, I may even get to battle\n" + .string "you one day, {PLAYER}.\p" + .string "Next time, let’s meet at a place\n" + .string "of battle!$" + +gText_082C165E:: @ 82C165E + .string "Hello, {PLAYER}…\n" + .string "I’m sorry to bug you, but I’m hopeless…\p" + .string "Even when…\n" + .string "Even when I win, I don’t have anything\l" + .string "special to say…\p" + .string "I know that it doesn’t mean anything\n" + .string "to you, {PLAYER}.\p" + .string "But it means a lot to me…\p" + .string "Please, {PLAYER}, what should I say\n" + .string "if I win a battle?$" + +gText_082C174F:: @ 82C174F + .string "{STR_VAR_1}\p" + .string "That’s inspired…\p" + .string "Uh… Is it okay for someone like me\n" + .string "to even say that?\p" + .string "No! I’ll do my best!\p" + .string "{PLAYER}, thank you so much for\n" + .string "putting up with me for so long…\p" + .string "I promise to do my best from now on.\p" + .string "I’m sure you’ll quickly forget about\n" + .string "someone like me, but let’s meet\l" + .string "somewhere again!$" + +gText_082C1862:: @ 82C1862 + .string "Oh, {PLAYER}{STRING 5}.\n" + .string "There’s something I want you to hear.\p" + .string "I know that I don’t always sound\n" + .string "nice or polite…\p" + .string "When I win a battle, I think I come\n" + .string "across as being arrogant.\p" + .string "I don’t want people to dislike me,\n" + .string "so I want to say something nice to\l" + .string "someone I beat.\p" + .string "But I can’t think of anything good!\n" + .string "Could you think something up for me?$" + +gText_082C19A0:: @ 82C19A0 + .string "{STR_VAR_1}\p" + .string "Not bad!\n" + .string "Yup, that’s what I’ll go with!\p" + .string "I’m going to hit the road and do what\n" + .string "I can with what you taught me in\l" + .string "my head and heart.\p" + .string "I’m sorry that I’ve been so pushy\n" + .string "with you!\p" + .string "Next time, we battle, okay?\n" + .string "See you!$" + +gText_082C1A76:: @ 82C1A76 + .string "Oh, I can’t get over how busy I am!\n" + .string "Oh, hey, I was looking for you, {PLAYER}{STRING 5}.\p" + .string "Are you well as usual?\n" + .string "Things haven’t changed for me at all.\p" + .string "I’ve got running, fighting, and mapping\n" + .string "to do. Why am I so busy?\p" + .string "But even though I’m busy, it’d be rude\n" + .string "to just turn on my heels and walk away\l" + .string "from a win without saying a word.\p" + .string "So, what would be a cool saying to\n" + .string "underline my coolness when I’m done\l" + .string "and walking away? {PLAYER}{STRING 5}, help me!$" + +gText_082C1C16:: @ 82C1C16 + .string "{STR_VAR_1}\p" + .string "Okay, gotcha.\n" + .string "I can find time to say that!\p" + .string "Honestly, I’m glad I met a good mentor\n" + .string "like you.\p" + .string "I’m going to make time somehow so\n" + .string "I can get into battling.\p" + .string "Thanks for everything, {PLAYER}{STRING 5}!\n" + .string "We have to battle, you and me, one day!$" + +gText_082C1CF5:: @ 82C1CF5 + .string "I lucked out again!\n" + .string "{PLAYER}! Am I glad to see you!\l" + .string "Like usual, I need your advice!\p" + .string "Drum roll, please!\n" + .string "The last question I have is…\p" + .string "If I win a battle and want to end\n" + .string "it with a cool flourish, what\l" + .string "should I say?$" + +gText_082C1DC1:: @ 82C1DC1 + .string "{STR_VAR_1}\p" + .string "That… That’s fabulous!\n" + .string "It’s dignified and cool! I claim it!\p" + .string "…Listen, I think I’m getting decent\n" + .string "at this, huh?\p" + .string "So, I’m thinking of challenging other\n" + .string "TRAINERS from now on.\p" + .string "{PLAYER}, your advice really helped me.\p" + .string "Maybe one day, there’ll be a time when\n" + .string "we battle!\p" + .string "Thank you for everything!$" + +gText_082C1EDC:: @ 82C1EDC + .string "Oh, {PLAYER}.\n" + .string "I’m so glad I met you!\p" + .string "I no longer have any concerns with\n" + .string "regard to my POKéMON.\p" + .string "It’s myself that worries me…\p" + .string "Do you know how a TRAINER says\n" + .string "a few things upon winning a battle?\p" + .string "Definitely, I wish I could do that,\n" + .string "too!\p" + .string "Please, what should I say when\n" + .string "I win a battle?$" + +gText_082C1FEC:: @ 82C1FEC + .string "{STR_VAR_1}\p" + .string "Ah! That saying! It refreshes me\n" + .string "and makes me feel reborn!\p" + .string "I must use that right away!\p" + .string "And now, I must take my leave,\n" + .string "{PLAYER}…\p" + .string "I will go out to battle many others,\n" + .string "but never will I forget your teachings.\p" + .string "Perhaps one day…\n" + .string "Farewell!$" + +gText_082C20D1:: @ 82C20D1 + .string "Eek! I spotted {PLAYER}!\n" + .string "I… I’m overjoyed to see you!\p" + .string "Oh-oh-oh! There’s something I just\n" + .string "had to ask you!\p" + .string "A little while ago, I won a battle.\n" + .string "That part was giddying!\p" + .string "But it made me so overjoyed that\n" + .string "I choked up and couldn’t say a thing!\p" + .string "So now, {PLAYER}, please, I want you to\n" + .string "think up an exit line for when I win!$" + +gText_082C21FF:: @ 82C21FF + .string "{STR_VAR_1}\p" + .string "Waaaaah!\n" + .string "I’m going to say that?!\l" + .string "I… I’m delirious with joy!\p" + .string "Th-th-thank you!\n" + .string "I have nothing left to regret now!\p" + .string "I’m going to travel now and battle\n" + .string "all sorts of people.\p" + .string "Everything, I owe it to you, {PLAYER}.\n" + .string "Really, really, thank you!\p" + .string "I’ve got to go now, but let’s meet\n" + .string "in battle one day!$" + +gText_082C231C:: @ 82C231C + .string "Hola, bueno!\n" + .string "{PLAYER}{STRING 5}!\p" + .string "You know, I’m getting the itch to roam\n" + .string "and battle where I may.\p" + .string "But before I do, I want your advice\n" + .string "once again, please!\p" + .string "If I were to win a battle, what would\n" + .string "be a good boast I could say to my\l" + .string "fallen TRAINER opponent?$" + +gText_082C2407:: @ 82C2407 + .string "{STR_VAR_1}\p" + .string "Uh-huh, that’s sweet!\n" + .string "Si, bueno!\l" + .string "I’ll try saying that, like, ham!\p" + .string "And now, it’s time to say good-bye!\n" + .string "Thanks for all sorts of things!\p" + .string "Give me a battle one day, OK?\n" + .string "Adios!$" + +gText_082C24B5:: @ 82C24B5 + .string "{PLAYER}{STRING 5}, there’s big trouble!\p" + .string "When I win a battle, I brag about it\n" + .string "for an hour at least!\p" + .string "Of course I’m lying!\n" + .string "Wahahaha!\p" + .string "This is no lie, though.\n" + .string "I’m not very good at chatting.\p" + .string "So, how about deciding for me what\n" + .string "I should say after winning a battle,\l" + .string "master?$" + +gText_082C25B1:: @ 82C25B1 + .string "{STR_VAR_1}\p" + .string "That’s what I should say, huh?\n" + .string "Then, I’ll stay away from that!\p" + .string "Just kidding!\n" + .string "I’ll obey your teaching, master!\p" + .string "Thanks for teaching me all this time,\n" + .string "master!\p" + .string "I’m finally understanding what being\n" + .string "a TRAINER is about.\p" + .string "I’m going to go out and win battles\n" + .string "against any TRAINER.\p" + .string "Maybe it’ll be you one day, master!\p" + .string "That’s all!\n" + .string "Farewell, my master!$" + +gText_082C2707:: @ 82C2707 + .string "A-H-O-Y!\n" + .string "And that spells ahoy!\p" + .string "The rappin’ SAILOR am I!\n" + .string "This will be my last question,\l" + .string "don’t you cry!\p" + .string "It’s a saying question\n" + .string "that begs your suggestion!\p" + .string "If I win a match, what can I say\n" + .string "in a real cool way?$" + +gText_082C27D4:: @ 82C27D4 + .string "{STR_VAR_1}\p" + .string "Perfect! That’s what I’ll use.\n" + .string "I was right to make you choose!\p" + .string "And now, I think it’d be best,\n" + .string "if I were to fly the nest!\p" + .string "Thanks for all you taught me.\n" + .string "I’ll be off on a battle spree!\p" + .string "B-O-N-V-O-Y-A-G-E!\n" + .string "And that spells bon voyage,\l" + .string "to you this is my homage!$" + +gText_082C28D6:: @ 82C28D6 + .string "Oh, yeah, {PLAYER}!\n" + .string "I found you again today!\p" + .string "What should I do? Ask you again?\n" + .string "Why not? I’m already asking you!\p" + .string "Anyways, {PLAYER}…\n" + .string "Are you receiving me?\l" + .string "You are receiving me!\l" + .string "I need some more advice for me!\p" + .string "It’s about what I should yell.\n" + .string "Something cool to holler when\l" + .string "a battle ends well.\p" + .string "Come on, I wanna hear you say it!$" + +gText_082C2A0B:: @ 82C2A0B + .string "{STR_VAR_1}\p" + .string "All right, all right!\n" + .string "I’ll use that because it’s so tight!\p" + .string "I’m out of things to ask you.\n" + .string "Waving bye is all that’s left to do.\p" + .string "But maybe one day we’ll meet, with one\n" + .string "destined to go down in defeat.\p" + .string "But, it really is time to say farewell.\p" + .string "Well, {PLAYER}, I have to roam free,\n" + .string "but don’t you forget about me!\p" + .string "Take care, {PLAYER}!\n" + .string "Love ya!$" + +gText_082C2B50:: @ 82C2B50 + .string "{PLAYER}{STRING 5}, I’m finished…\n" + .string "My nose won’t stop dripping…\p" + .string "I was trying to think up something\n" + .string "cool to say when I win a battle.\p" + .string "It inspired me so much, it made me cry,\n" + .string "and now my nose won’t stop running…\p" + .string "So, things being this way,\n" + .string "I need you to decide for me, {PLAYER}{STRING 5}.\p" + .string "When I win a battle,\n" + .string "what should I say?$" + +gText_082C2C77:: @ 82C2C77 + .string "{STR_VAR_1}\p" + .string "… … …That’s good.\n" + .string "No, it’s awe inspiring!\l" + .string "It’s bringing fresh tears to my eyes!\p" + .string "But in spite of my tears and runny\n" + .string "nose, I will use that saying!\p" + .string "I’m plumb out of things to ask you,\n" + .string "{PLAYER}{STRING 5}.\p" + .string "From now on, we’re rivals!\n" + .string "Thanks for everything!$" + +gText_082C2D67:: @ 82C2D67 + .string "Er… Um…\n" + .string "{PLAYER}{STRING 5}…\p" + .string "Please, don’t look at me that way.\n" + .string "You’re making me all nervous.\p" + .string "I… I need your advice again.\n" + .string "I’ll make it my last, though…\p" + .string "It’s really embarrassing to ask,\n" + .string "but what if I win a battle?\l" + .string "What should I say?$" + +gText_082C2E41:: @ 82C2E41 + .string "{STR_VAR_1}\p" + .string "Oh… Okay!\n" + .string "I’ll try to say that!\l" + .string "I might be too nervous to say it…\p" + .string "Thank you, {PLAYER}{STRING 5}.\n" + .string "I have to say good-bye now.\p" + .string "I’ll obey all that you’ve taught me,\n" + .string "{PLAYER}{STRING 5}, and do the best I can.$" + +gText_082C2EF5:: @ 82C2EF5 + .string "Hm? You appear to be {PLAYER}{STRING 5}…\n" + .string "But are you really?\l" + .string "Perhaps a clever {PLAYER} DOLL?\p" + .string "Oh, no, no, no, don’t worry!\n" + .string "If you really are real, please\l" + .string "forget about my rudeness.\p" + .string "No need to be so angry. All I wish for\n" + .string "is more of your fine advice.\p" + .string "It concerns a saying.\p" + .string "More precisely, what should I say\n" + .string "if I win a battle?$" + +gText_082C3023:: @ 82C3023 + .string "{STR_VAR_1}\p" + .string "… … … … … …\n" + .string "When I win a match…\p" + .string "{STR_VAR_1}\p" + .string "…Are you serious?\p" + .string "I see. If you are serious, that’s fine.\n" + .string "I thank you for your time.\p" + .string "I do hope even I will be able to\n" + .string "put that saying to good use.\p" + .string "I seem to have run dry on what advice\n" + .string "I need.\p" + .string "I do believe it’s high time I bid you\n" + .string "farewell and strike out on my own.\p" + .string "Thank you, my mentor!\n" + .string "I apologize for my skepticism!$" + +gBattleDomeOpponentPotential1:: + .string "The best candidate to be a champ!$" + +gBattleDomeOpponentPotential2:: + .string "A sure-finalist team.$" + +gBattleDomeOpponentPotential3:: + .string "A likely top-three finisher.$" + +gBattleDomeOpponentPotential4:: + .string "A candidate to finish first.$" + +gBattleDomeOpponentPotential5:: + .string "A team with top-class potential.$" + +gBattleDomeOpponentPotential6:: + .string "The dark horse team this tournament.$" + +gBattleDomeOpponentPotential7:: + .string "A better-than-average team.$" + +gBattleDomeOpponentPotential8:: + .string "This tournament’s average team.$" + +gBattleDomeOpponentPotential9:: + .string "A team with average potential.$" + +gBattleDomeOpponentPotential10:: + .string "A weaker-than-average team.$" + +gBattleDomeOpponentPotential11:: + .string "A team looking for its first win.$" + +gBattleDomeOpponentPotential12:: + .string "One win will make this team proud.$" + +gBattleDomeOpponentPotential13:: + .string "Overall, a weak team.$" + +gBattleDomeOpponentPotential14:: + .string "A team with very low potential.$" + +gBattleDomeOpponentPotential15:: + .string "A team unlikely to win the tournament.$" + +gBattleDomeOpponentPotential16:: + .string "The team most unlikely to win.$" + +gBattleDomeOpponentPotential17:: + .string "The perfect, invincible superstar!$" + +gBattleDomeOpponentStyle1:: + .string "Willing to risk total disaster at times.$" + +gBattleDomeOpponentStyle2:: + .string "Skilled at enduring long battles.$" + +gBattleDomeOpponentStyle3:: + .string "Varies tactics to suit the opponent.$" + +gBattleDomeOpponentStyle4:: + .string "Has a tough winning pattern.$" + +gBattleDomeOpponentStyle5:: + .string "Occasionally uses a very rare move.$" + +gBattleDomeOpponentStyle6:: + .string "Uses startling and disruptive moves.$" + +gBattleDomeOpponentStyle7:: + .string "Constantly watches HP in battle.$" + +gBattleDomeOpponentStyle8:: + .string "Good at storing then loosing power.$" + +gBattleDomeOpponentStyle9:: + .string "Skilled at enfeebling foes.$" + +gBattleDomeOpponentStyle10:: + .string "Prefers tactics that rely on luck.$" + +gBattleDomeOpponentStyle11:: + .string "Attacks with a regal atmosphere.$" + +gBattleDomeOpponentStyle12:: + .string "Attacks with powerful, low-PP moves.$" + +gBattleDomeOpponentStyle13:: + .string "Skilled at enfeebling, then attacking.$" + +gBattleDomeOpponentStyle14:: + .string "Battles while enduring all attacks.$" + +gBattleDomeOpponentStyle15:: + .string "Skilled at upsetting foes emotionally.$" + +gBattleDomeOpponentStyle16:: + .string "Uses strong and straightforward moves.$" + +gBattleDomeOpponentStyle17:: + .string "Aggressively uses strong moves.$" + +gBattleDomeOpponentStyle18:: + .string "Battles while cleverly dodging attacks.$" + +gBattleDomeOpponentStyle19:: + .string "Skilled at using upsetting attacks.$" + +gBattleDomeOpponentStyle20:: + .string "Uses many popular moves.$" + +gBattleDomeOpponentStyle21:: + .string "Has moves for powerful combinations.$" + +gBattleDomeOpponentStyle22:: + .string "Uses high-probability attacks.$" + +gBattleDomeOpponentStyle23:: + .string "Aggressively uses spectacular moves.$" + +gBattleDomeOpponentStyle24:: + .string "Emphasizes offense over defense.$" + +gBattleDomeOpponentStyle25:: + .string "Emphasizes defense over offense.$" + +gBattleDomeOpponentStyle26:: + .string "Attacks quickly with strong moves.$" + +gBattleDomeOpponentStyle27:: + .string "Often uses moves with added effects.$" + +gBattleDomeOpponentStyle28:: + .string "Uses a well-balanced mix of moves.$" + +gBattleDomeOpponentStyleUnused1:: + .string "This is sample message 1.$" + +gBattleDomeOpponentStyleUnused2:: + .string "This is sample message 2.$" + +gBattleDomeOpponentStyleUnused3:: + .string "This is sample message 3.$" + +gBattleDomeOpponentStyleUnused4:: + .string "This is sample message 4.$" + +gBattleDomeOpponentStats1:: + .string "Emphasizes HP and ATTACK.$" + +gBattleDomeOpponentStats2:: + .string "Emphasizes HP and DEFENSE.$" + +gBattleDomeOpponentStats3:: + .string "Emphasizes HP and SPEED.$" + +gBattleDomeOpponentStats4:: + .string "Emphasizes HP and SP. ATTACK.$" + +gBattleDomeOpponentStats5:: + .string "Emphasizes HP and SP. DEFENSE.$" + +gBattleDomeOpponentStats6:: + .string "Emphasizes ATTACK and DEFENSE.$" + +gBattleDomeOpponentStats7:: + .string "Emphasizes ATTACK and SPEED.$" + +gBattleDomeOpponentStats8:: + .string "Emphasizes ATTACK and SP. ATTACK.$" + +gBattleDomeOpponentStats9:: + .string "Emphasizes ATTACK and SP. DEFENSE.$" + +gBattleDomeOpponentStats10:: + .string "Emphasizes DEFENSE and SPEED.$" + +gBattleDomeOpponentStats11:: + .string "Emphasizes DEFENSE and SP. ATTACK.$" + +gBattleDomeOpponentStats12:: + .string "Emphasizes DEFENSE and SP. DEFENSE.$" + +gBattleDomeOpponentStats13:: + .string "Emphasizes SPEED and SP. ATTACK.$" + +gBattleDomeOpponentStats14:: + .string "Emphasizes SPEED and SP. DEFENSE.$" + +gBattleDomeOpponentStats15:: + .string "Emphasizes SP. ATTACK and SP. DEFENSE.$" + +gBattleDomeOpponentStats16:: + .string "Emphasizes HP.$" + +gBattleDomeOpponentStats17:: + .string "Emphasizes ATTACK.$" + +gBattleDomeOpponentStats18:: + .string "Emphasizes DEFENSE.$" + +gBattleDomeOpponentStats19:: + .string "Emphasizes SPEED.$" + +gBattleDomeOpponentStats20:: + .string "Emphasizes SP. ATTACK.$" + +gBattleDomeOpponentStats21:: + .string "Emphasizes SP. DEFENSE.$" + +gBattleDomeOpponentStats22:: + .string "Neglects HP and ATTACK.$" + +gBattleDomeOpponentStats23:: + .string "Neglects HP and DEFENSE.$" + +gBattleDomeOpponentStats24:: + .string "Neglects HP and SPEED.$" + +gBattleDomeOpponentStats25:: + .string "Neglects HP and SP. ATTACK.$" + +gBattleDomeOpponentStats26:: + .string "Neglects HP and SP. DEFENSE.$" + +gBattleDomeOpponentStats27:: + .string "Neglects ATTACK and DEFENSE.$" + +gBattleDomeOpponentStats28:: + .string "Neglects ATTACK and SPEED.$" + +gBattleDomeOpponentStats29:: + .string "Neglects ATTACK and SP. ATTACK.$" + +gBattleDomeOpponentStats30:: + .string "Neglects ATTACK and SP. DEFENSE.$" + +gBattleDomeOpponentStats31:: + .string "Neglects DEFENSE and SPEED.$" + +gBattleDomeOpponentStats32:: + .string "Neglects DEFENSE and SP. ATTACK.$" + +gBattleDomeOpponentStats33:: + .string "Neglects DEFENSE and SP. DEFENSE.$" + +gBattleDomeOpponentStats34:: + .string "Neglects SPEED and SP. ATTACK.$" + +gBattleDomeOpponentStats35:: + .string "Neglects SPEED and SP. DEFENSE.$" + +gBattleDomeOpponentStats36:: + .string "Neglects SP. ATTACK and SP. DEFENSE.$" + +gBattleDomeOpponentStats37:: + .string "Neglects HP.$" + +gBattleDomeOpponentStats38:: + .string "Neglects ATTACK.$" + +gBattleDomeOpponentStats39:: + .string "Neglects DEFENSE.$" + +gBattleDomeOpponentStats40:: + .string "Neglects SPEED.$" + +gBattleDomeOpponentStats41:: + .string "Neglects SP. ATTACK.$" + +gBattleDomeOpponentStats42:: + .string "Neglects SP. DEFENSE.$" + +gBattleDomeOpponentStats43:: + .string "Raises POKéMON in a well-balanced way.$" + +gBattleDomeWinStrings1:: + .string "Let the battle begin!$" + +gBattleDomeWinStrings2:: + .string "{STR_VAR_1} won using {STR_VAR_2}!$" + +gBattleDomeWinStrings3:: + .string "{STR_VAR_1} became the champ!$" + +gBattleDomeWinStrings4:: + .string "{STR_VAR_1} won by default!$" + +gBattleDomeWinStrings5:: + .string "{STR_VAR_1} won outright by default!$" + +gBattleDomeWinStrings6:: + .string "{STR_VAR_1} won without using a move!$" + +gBattleDomeWinStrings7:: + .string "{STR_VAR_1} won outright with no moves!$" + +gBattleDomeMatchNumber1:: + .string "Round 1, Match 1$" + +gBattleDomeMatchNumber2:: + .string "Round 1, Match 2$" + +gBattleDomeMatchNumber3:: + .string "Round 1, Match 3$" + +gBattleDomeMatchNumber4:: + .string "Round 1, Match 4$" + +gBattleDomeMatchNumber5:: + .string "Round 1, Match 5$" + +gBattleDomeMatchNumber6:: + .string "Round 1, Match 6$" + +gBattleDomeMatchNumber7:: + .string "Round 1, Match 7$" + +gBattleDomeMatchNumber8:: + .string "Round 1, Match 8$" + +gBattleDomeMatchNumber9:: + .string "Round 2, Match 1$" + +gBattleDomeMatchNumber10:: + .string "Round 2, Match 2$" + +gBattleDomeMatchNumber11:: + .string "Round 2, Match 3$" + +gBattleDomeMatchNumber12:: + .string "Round 2, Match 4$" + +gBattleDomeMatchNumber13:: + .string "Semifinal Match 1$" + +gBattleDomeMatchNumber14:: + .string "Semifinal Match 2$" + +gBattleDomeMatchNumber15:: + .string "Final Match$" + +BattleFrontier_BattlePikeRandomRoom1_MapScripts_2C3E1B: @ 82C3E1B + map_script 3, BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C3E25 + map_script 4, BattleFrontier_BattlePikeRandomRoom1_MapScript2_2C3EDE + +BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C3E25: @ 82C3E25 + setvar VAR_0x8004, 4 + special sub_81A703C + setvar VAR_0x8004, 5 + special sub_81A703C + switch VAR_RESULT + case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1 + case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1 + case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EC0 + case 3, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EA2 + case 4, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1 + case 7, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3E93 + case 6, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EA2 + case 8, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3ECF + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3E93:: @ 82C3E93 + setobjectxyperm 1, 2, 5 + setobjectxyperm 2, 6, 5 + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EA2:: @ 82C3EA2 + setobjectxyperm 1, 4, 4 + setobjectxyperm 2, 3, 4 + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1:: @ 82C3EB1 + setobjectxyperm 1, 4, 4 + setobjectxyperm 2, 0, 0 + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EC0:: @ 82C3EC0 + setobjectxyperm 1, 5, 5 + setobjectxyperm 2, 0, 0 + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3ECF:: @ 82C3ECF + setobjectxyperm 1, 4, 3 + setobjectxyperm 2, 4, 4 + end + +BattleFrontier_BattlePikeRandomRoom1_MapScript2_2C3EDE: @ 82C3EDE + map_script_2 VAR_0x4004, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EE8 + .2byte 0 + +BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EE8:: @ 82C3EE8 + setvar VAR_0x4011, 28 + setvar VAR_0x4010, 28 + setvar VAR_0x8004, 5 + special sub_81A703C + compare VAR_RESULT, 3 + goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35 + compare VAR_RESULT, 6 + goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35 + compare VAR_RESULT, 7 + goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35 + compare VAR_RESULT, 8 + goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F3F + hideobjectat 2, BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_1 + setvar VAR_0x4004, 1 + turnobject 255, 2 + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35:: @ 82C3F35 + setvar VAR_0x4004, 1 + turnobject 255, 2 + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F3F:: @ 82C3F3F + setvar VAR_0x4004, 1 + turnobject 255, 2 + hideobjectat 1, BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_1 + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F4E:: @ 82C3F4E + setvar VAR_0x8007, 0 + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F59:: @ 82C3F59 + setvar VAR_0x8007, 1 + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F64:: @ 82C3F64 + setvar VAR_0x8007, 2 + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F:: @ 82C3F6F + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + special sub_81A703C + addvar VAR_RESULT, 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A703C + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + addvar VAR_RESULT, 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A1780 + setvar VAR_0x8004, 0 + special sub_81A703C + setvar VAR_0x8004, 5 + special sub_81A703C + switch VAR_RESULT + case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030 + case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030 + case 2, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030 + case 3, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030 + case 4, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030 + case 5, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4049 + case 6, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030 + case 7, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030 + case 8, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030 + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030:: @ 82C4030 + applymovement 255, BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A + waitmovement 0 + call BattleFrontier_BattlePikeThreePathRoom_EventScript_25BB49 + warpsilent BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_1, 255, 4, 7 + waitstate + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4049:: @ 82C4049 + applymovement 255, BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A + waitmovement 0 + call BattleFrontier_BattlePikeThreePathRoom_EventScript_25BB49 + warpsilent BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_3, 255, 4, 19 + waitstate + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062:: @ 82C4062 + setvar VAR_0x4003, 1 + setvar VAR_0x4002, 1 + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D:: @ 82C406D + setvar VAR_0x4003, 0 + setvar VAR_0x4002, 0 + lockall + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CE36, 4 + closemessage + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082:: @ 82C4082 + setvar VAR_0x4003, 1 + setvar VAR_0x4002, 1 + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D:: @ 82C408D + setvar VAR_0x4003, 0 + setvar VAR_0x4002, 0 + lockall + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25CE36, 4 + closemessage + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2:: @ 82C40A2 + setvar VAR_0x8004, 25 + special sub_81A703C + compare VAR_RESULT, 1 + call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4128 + compare VAR_RESULT, 1 + call_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + special sub_81A703C + addvar VAR_RESULT, 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A703C + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + addvar VAR_RESULT, 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A1780 + setvar VAR_0x8004, 3 + special sub_81A703C + compare VAR_RESULT, 1 + call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144 + compare VAR_RESULT, 0 + call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C415C + waitstate + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4128:: @ 82C4128 +BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128:: @ 82C4128 + setvar VAR_0x8004, 24 + setvar VAR_0x8005, 1 + special sub_81A703C + return + +BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136:: @ 82C4136 +BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136:: @ 82C4136 + setvar VAR_0x8004, 24 + setvar VAR_0x8005, 0 + special sub_81A703C + return + +BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144:: @ 82C4144 +BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144:: @ 82C4144 + applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A + waitmovement 0 + call BattleFrontier_BattlePikeRandomRoom1_EventScript_25BB49 + warpsilent BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_2, 255, 2, 7 + return + +BattleFrontier_BattlePikeRandomRoom1_EventScript_2C415C:: @ 82C415C +BattleFrontier_BattlePikeRandomRoom3_EventScript_2C415C:: @ 82C415C + applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A + waitmovement 0 + call BattleFrontier_BattlePikeRandomRoom1_EventScript_25BB49 + warpsilent BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM, 255, 6, 10 + return + +BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174:: @ 82C4174 + setvar VAR_0x8004, 7 + special sub_81A703C + setvar VAR_0x8004, 25 + special sub_81A703C + compare VAR_RESULT, 1 + call_if 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128 + compare VAR_RESULT, 1 + call_if 5, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + special sub_81A703C + addvar VAR_RESULT, 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A703C + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + addvar VAR_RESULT, 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A1780 + setvar VAR_0x8004, 3 + special sub_81A703C + compare VAR_RESULT, 1 + call_if 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144 + compare VAR_RESULT, 0 + call_if 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C415C + waitstate + end + +BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202:: @ 82C4202 + setvar VAR_0x4003, 1 + setvar VAR_0x4002, 1 + end + +BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D:: @ 82C420D + setvar VAR_0x4003, 0 + setvar VAR_0x4002, 0 + lockall + msgbox BattleFrontier_BattlePikeRandomRoom3_Text_25CE36, 4 + closemessage + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222:: @ 82C4222 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 4 + special sub_81A1780 + warp BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6 + waitstate + end + +BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C423E: @ 82C423E +BattleFrontier_BattlePikeThreePathRoom_MapScript1_2C423E: @ 82C423E + setorcopyvar VAR_0x8006, VAR_RESULT + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 0 + special sub_81A1780 + compare VAR_RESULT, 2 + goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B + call BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4271 + +BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B:: @ 82C426B + setorcopyvar VAR_RESULT, VAR_0x8006 + end + +BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4271:: @ 82C4271 +BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4271:: @ 82C4271 + setvar VAR_0x8004, 21 + special sub_81A1780 + return + +BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A: @ 82C427A +BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A: @ 82C427A + step_54 + step_end + +LilycoveCity_ContestLobby_Text_2C427C: @ 82C427C + .string "BLEND MASTER: Indeed I am!\n" + .string "The BLEND MASTER am I!\p" + .string "Blend with me, and you shall witness\n" + .string "the mastery I bring to blending!$" + +LilycoveCity_ContestLobby_Text_2C42F4: @ 82C42F4 + .string "BLEND MASTER: Hmmm! So, you wish to\n" + .string "see my mastery in action?$" + +LilycoveCity_ContestLobby_Text_2C4332: @ 82C4332 + .string "Hmmm!\p" + .string "So, you are too busy now, I see!\p" + .string "But fear not!\n" + .string "I shall be here all day!\l" + .string "Hurry back from your errand!$" + +LilycoveCity_ContestLobby_Text_2C439D: @ 82C439D + .string "Hmmm!\p" + .string "You haven’t got a single BERRY!\p" + .string "I shall be here all day!\n" + .string "Hurry back with some BERRIES!$" + +LilycoveCity_ContestLobby_Text_2C43FA: @ 82C43FA + .string "Of course!\n" + .string "Of course!\p" + .string "Incidentally…\n" + .string "You do know how to blend {POKEBLOCK}S\l" + .string "from BERRIES?$" + +LilycoveCity_ContestLobby_Text_2C444C: @ 82C444C + .string "Hmmm!\p" + .string "Ah, but it is a simple process!\p" + .string "When the BLENDER’s arrow comes to\n" + .string "your marker, just press the A Button.\p" + .string "That’s all you have to do.\p" + .string "When you see how precisely I press\n" + .string "the A Button, you will understand.$" + +LilycoveCity_ContestLobby_Text_2C451B: @ 82C451B + .string "Fine!\p" + .string "Let’s get started, then!\p" + .string "All together with the BLEND MASTER,\n" + .string "let’s BERRY BLENDER!$" + +LilycoveCity_ContestLobby_Text_2C4573: @ 82C4573 + .string "Hmmm!\p" + .string "You don’t appear to have gotten\n" + .string "the {POKEBLOCK} CASE!\p" + .string "I shall be here all day!\n" + .string "Obtain the {POKEBLOCK} CASE and hurry back!$" + +LilycoveCity_ContestLobby_Text_2C45E8: @ 82C45E8 + .string "Hmmm!\p" + .string "Your {POKEBLOCK} CASE appears to be full!\p" + .string "I shall be here all day!\n" + .string "Use some {POKEBLOCK}S and hurry back!$" + +LilycoveCity_ContestLobby_Text_2C464B: @ 82C464B + .string "Whoa!\n" + .string "Awesome!$" + +LilycoveCity_ContestLobby_Text_2C465A: @ 82C465A + .string "Wickedly fast!$" + +LilycoveCity_ContestLobby_Text_2C4669: @ 82C4669 + .string "What an expert!$" + +LilycoveCity_ContestLobby_Text_2C4679: @ 82C4679 + .string "When I blended with the MASTER,\n" + .string "we made amazing {POKEBLOCK}S!$" + +LilycoveCity_ContestLobby_Text_2C46B1: @ 82C46B1 + .string "Eyes that track the arrow with\n" + .string "machinelike intensity…\p" + .string "A hand that taps the A Button\n" + .string "with clockwork-like precision…\p" + .string "Possessing these qualities makes\n" + .string "the BLEND MASTER truly great.$" + +LilycoveCity_ContestLobby_Text_2C4763: @ 82C4763 + .string "The BLEND MASTER’s supposed to work\n" + .string "on his skills deep in the mountains.\p" + .string "Sometimes, he comes to LILYCOVE\n" + .string "to blend BERRIES all day long.$" + +FallarborTown_BattleTentLobby_Text_2C47EB: @ 82C47EB + .string "I welcome you to the BATTLE TENT\n" + .string "FALLARBOR SITE!\p" + .string "I am your guide to the Set KO Tourney!$" + +FallarborTown_BattleTentLobby_Text_2C4843: @ 82C4843 + .string "Now, do you wish to take the challenge\n" + .string "of a Set KO Tourney?$" + +FallarborTown_BattleTentLobby_Text_2C487F: @ 82C487F + .string "We await your challenge on\n" + .string "another occasion!$" + +FallarborTown_BattleTentLobby_Text_2C48AC: @ 82C48AC + .string "In the FALLARBOR BATTLE TENT,\n" + .string "we undertake the Set KO Tourney.\p" + .string "All participants enter with a team of\n" + .string "three POKéMON.\p" + .string "The three POKéMON must be lined up\n" + .string "in the order that they are to appear in.\p" + .string "During battle, the POKéMON will appear\n" + .string "one at a time in the preset order.\p" + .string "Once a POKéMON enters battle, it must\n" + .string "remain out until the match is decided.\p" + .string "If a match remains undecided in\n" + .string "three turns, it goes to judging.\p" + .string "If you wish to interrupt your challenge,\n" + .string "please save the game.\p" + .string "If you don’t save, you will not be able\n" + .string "to continue with your challenge.\p" + .string "If you pull off the feat of beating\n" + .string "three TRAINERS in succession,\l" + .string "we will present you with a fine prize.$" + +FallarborTown_BattleTentLobby_Text_2C4B35: @ 82C4B35 + .string "Before showing you to the BATTLE\n" + .string "TENT, I must save. Is that okay?$" + +FallarborTown_BattleTentLobby_Text_2C4B77: @ 82C4B77 + .string "We offer two levels of challenge,\n" + .string "Level 50 and Open Level.\l" + .string "Which is your choice?$" + +FallarborTown_BattleTentLobby_Text_2C4BC8: @ 82C4BC8 + .string "Very well, now select your\n" + .string "three POKéMON, please.$" + +FallarborTown_BattleTentLobby_Text_2C4BFA: @ 82C4BFA + .string "My dear challenger!\p" + .string "You do not have the three POKéMON\n" + .string "required for entry.\p" + .string "They also must not hold the same\n" + .string "kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "When you have made your preparations,\n" + .string "please do return.$" + +FallarborTown_BattleTentLobby_Text_2C4CC0: @ 82C4CC0 + .string "My dear challenger!\p" + .string "You do not have the three POKéMON\n" + .string "required for entry.\p" + .string "To qualify, you must bring three\n" + .string "different kinds of POKéMON.\p" + .string "They also must not hold the same\n" + .string "kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "When you have made your preparations,\n" + .string "please do return.$" + +FallarborTown_BattleTentLobby_Text_2C4DC3: @ 82C4DC3 + .string "I shall now guide you to\n" + .string "the BATTLE TENT.$" + +FallarborTown_BattleTentLobby_Text_2C4DED: @ 82C4DED + .string "My dear challenger!\p" + .string "You did not save the game before\n" + .string "shutting down, did you?\p" + .string "It is unfortunate, but that has\n" + .string "resulted in your disqualification\l" + .string "from your challenge.\p" + .string "You may, of course, start with a fresh\n" + .string "challenge.$" + +FallarborTown_BattleTentLobby_Text_2C4EC3: @ 82C4EC3 + .string "How splendid! You have beaten\n" + .string "three TRAINERS in succession!$" + +FallarborTown_BattleTentLobby_Text_2C4EFF: @ 82C4EFF + .string "Please wait while I save the game.$" + +FallarborTown_BattleTentLobby_Text_2C4F22: @ 82C4F22 + .string "In commemoration of your 3-win streak,\n" + .string "we present you with this prize.$" + +FallarborTown_BattleTentLobby_Text_2C4F69: @ 82C4F69 + .string "{PLAYER} received the prize\n" + .string "{STR_VAR_1}.$" + +FallarborTown_BattleTentLobby_Text_2C4F83: @ 82C4F83 + .string "Oh?\n" + .string "Your BAG seems to be full.\p" + .string "I urge you to clear space and\n" + .string "return for your prize.$" + +FallarborTown_BattleTentLobby_Text_2C4FD7: @ 82C4FD7 + .string "Thank you so much for participating!\p" + .string "Please wait while I save the game.$" + +FallarborTown_BattleTentLobby_Text_2C501F: @ 82C501F + .string "We await your challenge on\n" + .string "another occasion!$" + +FallarborTown_BattleTentLobby_Text_2C504C: @ 82C504C + .string "We have been looking forward to\n" + .string "your arrival.\p" + .string "Before I show you to the BATTLE TENT,\n" + .string "I must save the game. Please wait.$" + +VerdanturfTown_BattleTentLobby_Text_2C50C3: @ 82C50C3 + .string "I welcome you to the BATTLE TENT\n" + .string "VERDANTURF SITE!\p" + .string "Here, the TRAINER’s trust toward\n" + .string "POKéMON is tested.$" + +VerdanturfTown_BattleTentLobby_Text_2C5129: @ 82C5129 + .string "Do you wish to take the VERDANTURF\n" + .string "BATTLE TENT challenge?$" + +VerdanturfTown_BattleTentLobby_Text_2C5163: @ 82C5163 + .string "In the VERDANTURF BATTLE TENT,\n" + .string "there is one crucial rule that must\l" + .string "be obeyed.\p" + .string "TRAINERS are permitted only to switch\n" + .string "their POKéMON in and out.\p" + .string "TRAINERS are otherwise forbidden to\n" + .string "command their POKéMON.\p" + .string "The POKéMON are to behave according\n" + .string "to their nature and battle on their own.\p" + .string "You must put your trust in your\n" + .string "POKéMON and watch over them.\p" + .string "If you achieve the honor of beating\n" + .string "three TRAINERS in succession,\l" + .string "we will present you with a prize.\p" + .string "If you want to interrupt your\n" + .string "challenge, please save the game.\p" + .string "If you don’t save before interrupting,\n" + .string "you will be disqualified.$" + +VerdanturfTown_BattleTentLobby_Text_2C539A: @ 82C539A + .string "When you have fortified your heart\n" + .string "and POKéMON, you must return.$" + +VerdanturfTown_BattleTentLobby_Text_2C53DB: @ 82C53DB + .string "There are two levels of difficulty,\n" + .string "Level 50 and Open Level.\l" + .string "Which is your choice of a challenge?$" + +VerdanturfTown_BattleTentLobby_Text_2C543D: @ 82C543D + .string "Sigh…\p" + .string "You do not have the three POKéMON\n" + .string "required for the challenge.\p" + .string "To enter, you must provide three\n" + .string "different kinds of POKéMON.\p" + .string "They also must not be holding\n" + .string "the same kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "Come back when you have made\n" + .string "your preparations.$" + +VerdanturfTown_BattleTentLobby_Text_2C5538: @ 82C5538 + .string "Sigh…\p" + .string "You do not have the three POKéMON\n" + .string "required for the challenge.\p" + .string "To enter, you must provide three\n" + .string "different kinds of POKéMON.\p" + .string "They also must not be holding\n" + .string "the same kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "Come back when you have made\n" + .string "your preparations.$" + +VerdanturfTown_BattleTentLobby_Text_2C5633: @ 82C5633 + .string "Good. Now, you must select your\n" + .string "three POKéMON.$" + +VerdanturfTown_BattleTentLobby_Text_2C5662: @ 82C5662 + .string "I must save before I show you to\n" + .string "the BATTLE TENT. Is that okay?$" + +VerdanturfTown_BattleTentLobby_Text_2C56A2: @ 82C56A2 + .string "Good.\n" + .string "Now, follow me.$" + +VerdanturfTown_BattleTentLobby_Text_2C56B8: @ 82C56B8 + .string "I feel privileged for having seen\n" + .string "your POKéMON’s exploits.\p" + .string "The results will be recorded.\n" + .string "I must ask you to briefly wait.$" + +VerdanturfTown_BattleTentLobby_Text_2C5731: @ 82C5731 + .string "To achieve a 3-win streak…\p" + .string "The bonds that bind your heart with\n" + .string "your POKéMON seem firm and true.$" + +VerdanturfTown_BattleTentLobby_Text_2C5791: @ 82C5791 + .string "Your feat will be recorded.\n" + .string "I must ask you to briefly wait.$" + +VerdanturfTown_BattleTentLobby_Text_2C57CD: @ 82C57CD + .string "For the feat of your 3-win streak,\n" + .string "we present you with this prize.$" + +SlateportCity_BattleTentLobby_Text_2C5810: @ 82C5810 + .string "Welcome to the BATTLE TENT\n" + .string "SLATEPORT SITE!\p" + .string "I am your guide to the Battle Swap\n" + .string "Tournament.$" + +SlateportCity_BattleTentLobby_Text_2C586A: @ 82C586A + .string "Would you like to take the Battle\n" + .string "Swap challenge?$" + +SlateportCity_BattleTentLobby_Text_2C589C: @ 82C589C + .string "Here at the SLATEPORT BATTLE TENT,\n" + .string "we hold Battle Swap events\l" + .string "using rental POKéMON.\p" + .string "First, you will be loaned three\n" + .string "POKéMON specifically for this event.\p" + .string "Using the supplied rental POKéMON,\n" + .string "you must conduct a SINGLE BATTLE.\p" + .string "If you win, you are permitted to trade\n" + .string "one of your rental POKéMON.\p" + .string "Repeat this cycle of battling and\n" + .string "trading--if you win three times in\l" + .string "a row, you will earn a fine prize.\p" + .string "If you want to interrupt your\n" + .string "challenge, please save the game.\p" + .string "If you don’t save before interrupting,\n" + .string "you will be disqualified.$" + +SlateportCity_BattleTentLobby_Text_2C5AA5: @ 82C5AA5 + .string "We look forward to your next visit.$" + +SlateportCity_BattleTentLobby_Text_2C5AC9: @ 82C5AC9 + .string "Which level do you wish to challenge?\n" + .string "Level 50 or Level 100?$" + +SlateportCity_BattleTentLobby_Text_2C5B06: @ 82C5B06 + .string "Before you begin your challenge,\n" + .string "I need to save data. Is that okay?$" + +SlateportCity_BattleTentLobby_Text_2C5B4A: @ 82C5B4A + .string "Okay, I will hold your POKéMON for\n" + .string "safekeeping while you compete.$" + +SlateportCity_BattleTentLobby_Text_2C5B8C: @ 82C5B8C + .string "Please step this way.$" + +SlateportCity_BattleTentLobby_Text_2C5BA2: @ 82C5BA2 + .string "Thank you for participating!\p" + .string "I will return your POKéMON in exchange\n" + .string "for our rental POKéMON.\p" + .string "I must also save your event results.\n" + .string "Please wait.$" + +SlateportCity_BattleTentLobby_Text_2C5C30: @ 82C5C30 + .string "I will return your POKéMON in exchange\n" + .string "for our rental POKéMON.$" + +SlateportCity_BattleTentLobby_Text_2C5C6F: @ 82C5C6F + .string "Congratulations!\n" + .string "You’ve won three straight matches!\p" + .string "I will return your POKéMON in exchange\n" + .string "for our rental POKéMON.\p" + .string "I must also save your event results.\n" + .string "Please wait.$" + +SlateportCity_BattleTentLobby_Text_2C5D14: @ 82C5D14 + .string "In recognition of your 3-win streak,\n" + .string "we award you this prize.$" + +SlateportCity_BattleTentLobby_Text_2C5D52: @ 82C5D52 + .string "Oh?\n" + .string "You seem to have no room for this.\p" + .string "Please make room in your BAG and\n" + .string "let me know.$" + +SlateportCity_BattleTentLobby_Text_2C5DA7: @ 82C5DA7 + .string "We’ve been waiting for you!\p" + .string "Before we resume your challenge,\n" + .string "I must save the game.$" + +SlateportCity_BattleTentLobby_Text_2C5DFA: @ 82C5DFA + .string "I’m sorry to say this, but you didn’t\n" + .string "save before you quit playing last time.\p" + .string "As a result, you have been disqualified\n" + .string "from your challenge.$" + +SlateportCity_BattleTentLobby_Text_2C5E85: @ 82C5E85 + .string "We’ll return your personal POKéMON.$" + +SlateportCity_BattleTentLobby_Text_2C5EA9: @ 82C5EA9 + .string "{PLAYER} received the prize\n" + .string "{STR_VAR_1}.$" + +SlateportCity_BattleTentLobby_Text_2C5EC3: @ 82C5EC3 + .string "The Battle Swap rules are listed.$" + +SlateportCity_BattleTentLobby_Text_2C5EE5: @ 82C5EE5 + .string "Which heading do you want to read?$" + +SlateportCity_BattleTentLobby_Text_2C5F08: @ 82C5F08 + .string "In a Battle Swap event, you may use\n" + .string "only three POKéMON.\p" + .string "Whether you are renting or swapping,\n" + .string "your team may not have two or more\l" + .string "of the same POKéMON.$" + +SlateportCity_BattleTentLobby_Text_2C5F9D: @ 82C5F9D + .string "You may swap POKéMON only with\n" + .string "the TRAINER you have just defeated.\p" + .string "You may swap for only those POKéMON\n" + .string "used by the beaten TRAINER.$" + +SlateportCity_BattleTentLobby_Text_2C6020: @ 82C6020 + .string "After every battle you win, you may\n" + .string "swap for one of your defeated\l" + .string "opponent’s POKéMON.\p" + .string "You will not be able to swap POKéMON\n" + .string "with the third TRAINER in the event.$" + +SlateportCity_BattleTentLobby_Text_2C60C0: @ 82C60C0 + .string "There are two key points to be aware\n" + .string "of when swapping POKéMON.\p" + .string "First, when swapping, you can’t check\n" + .string "the stats of the POKéMON you are\l" + .string "about to receive.\p" + .string "Second, the POKéMON on your team\n" + .string "are lined up in sequence, depending on\l" + .string "the order in which you rented them.\p" + .string "This sequence remains unchanged\n" + .string "even when swaps are made.$" + +SlateportCity_BattleTentLobby_Text_2C61FE: @ 82C61FE + .string "The POKéMON of the SLATEPORT\n" + .string "BATTLE TENT are all rentals.\p" + .string "All rental POKéMON are kept at\n" + .string "Level 30.$" + +VerdanturfTown_BattleTentLobby_Text_2C6261: @ 82C6261 + .string "The VERDANTURF BATTLE TENT\n" + .string "rules are listed.$" + +VerdanturfTown_BattleTentLobby_Text_2C628E: @ 82C628E + .string "Which heading do you want to read?$" + +VerdanturfTown_BattleTentLobby_Text_2C62B1: @ 82C62B1 + .string "Here at the VERDANTURF BATTLE TENT,\n" + .string "POKéMON are required to think and\l" + .string "battle by themselves.\p" + .string "Unlike in the wild, POKéMON that live\n" + .string "with people behave differently\l" + .string "depending on their nature.$" + +VerdanturfTown_BattleTentLobby_Text_2C636D: @ 82C636D + .string "Depending on its nature, a POKéMON\n" + .string "may prefer to attack no matter what.\p" + .string "Another POKéMON may prefer to protect\n" + .string "itself from any harm.\p" + .string "Yet another may enjoy vexing or\n" + .string "confounding its foes.\p" + .string "Depending on its nature, a POKéMON\n" + .string "will have favorite moves that it is good\l" + .string "at using.\p" + .string "It may also dislike certain moves that\n" + .string "it has trouble using.$" + +VerdanturfTown_BattleTentLobby_Text_2C64BA: @ 82C64BA + .string "There are offensive moves that inflict\n" + .string "direct damage on the foe.\p" + .string "There are defensive moves that are\n" + .string "used to prepare for enemy attacks or\l" + .string "used to heal HP and so on.\p" + .string "There are also other somewhat-odd\n" + .string "moves that may enfeeble the foes with\l" + .string "stat problems including poison and \l" + .string "paralysis.\p" + .string "POKéMON will consider using moves in\n" + .string "these three categories.$" + +VerdanturfTown_BattleTentLobby_Text_2C6612: @ 82C6612 + .string "When not under command by its TRAINER,\n" + .string "a POKéMON may be unable to effectively\l" + .string "use certain moves.\p" + .string "A POKéMON is not good at using any\n" + .string "move that it dislikes.\p" + .string "If a POKéMON only knows moves that\n" + .string "do not match its nature, it will often\l" + .string "be unable to live up to its potential.$" + +VerdanturfTown_BattleTentLobby_Text_2C671E: @ 82C671E + .string "Depending on its nature, a POKéMON may\n" + .string "start using moves that don’t match its\l" + .string "nature when it is in trouble.\p" + .string "If a POKéMON begins behaving oddly\n" + .string "in a pinch, watch it carefully.$" + +FallarborTown_BattleTentLobby_Text_2C67CD: @ 82C67CD +VerdanturfTown_BattleTentLobby_Text_2C67CD: @ 82C67CD + .string "At this BATTLE TENT, the levels of\n" + .string "your opponents will be adjusted to\l" + .string "match the levels of your POKéMON.\p" + .string "However, no TRAINER you face will\n" + .string "have any POKéMON below Level 30.$" + +VerdanturfTown_BattleTentLobby_Text_2C6878: @ 82C6878 + .string "The VERDANTURF BATTLE TENT\n" + .string "rules are listed.$" + +LilycoveCity_Harbor_Text_2C68A5: @ 82C68A5 + .string "What’s up, youngster?\p" + .string "What, it’s you who’s supposed to have\n" + .string "a tattered old map?\p" + .string "Let’s have a look.\n" + .string "… … … … … …\p" + .string "Boy, this is quite a ways away.\n" + .string "I’m afraid I can’t help you…$" + +LilycoveCity_Harbor_Text_2C6951: @ 82C6951 + .string "BRINEY: Hold on a second!\p" + .string "What’s the idea of turning down\n" + .string "someone that I owe so much to?$" + +LilycoveCity_Harbor_Text_2C69AA: @ 82C69AA + .string "{PLAYER}{KUN}, I’m terribly sorry.\p" + .string "You came to me seeking my help,\n" + .string "and we almost turned you away.\p" + .string "Well, let me make things right.\p" + .string "We’ll sail right away, of course!\p" + .string "Let’s find this island on\n" + .string "this OLD SEA MAP!$" + +LilycoveCity_Harbor_Text_2C6A71: @ 82C6A71 + .string "Is it you who brought that odd\n" + .string "ticket?\p" + .string "Where you’re trying to go is an island\n" + .string "that’s far, far away.\p" + .string "No one knows what awaits there…\p" + .string "The very thought excites my blood\n" + .string "as a sailing man!\p" + .string "Get on board, youngster!$" + +FarawayIsland_Entrance_Text_2C6B42: @ 82C6B42 + .string "CAPT. BRINEY can be so maddeningly\n" + .string "fickle…\p" + .string "Do you want to return to LILYCOVE?$" + +BirthIsland_Harbor_Text_2C6B90: @ 82C6B90 + .string "What an oddly shaped island, eh?\n" + .string "Do you want to return to LILYCOVE?$" + +LilycoveCity_Harbor_Text_2C6BD4: @ 82C6BD4 + .string "Is it you who brought those\n" + .string "odd tickets?\p" + .string "… … …Hm.\p" + .string "These tickets will get you to islands\n" + .string "that are far, far away.\p" + .string "No one knows what awaits there,\n" + .string "or what may happen there.\p" + .string "The very thought excites my blood\n" + .string "as a sailing man!\p" + .string "Get on board, youngster!\n" + .string "Where shall we sail first?$" + +NavelRock_Harbor_Text_2C6CE6: @ 82C6CE6 + .string "Did… Did you hear that?\n" + .string "That low growling from deep in there.\p" + .string "Are you sure it’s safe?\n" + .string "Do you think we should leave?$" + +FarawayIsland_Entrance_Text_2C6D5A: @ 82C6D5A + .string "The writing is fading as if it was\n" + .string "written a long time ago…\p" + .string "“…ber, 6th day\n" + .string "If any human…sets foot here…\l" + .string "again…et it be a kindhearted pers…\l" + .string "…ith that hope, I depar…”$" + +FarawayIsland_Interior_Text_2C6DFF: @ 82C6DFF + .string "Myuu…$" + +MauvilleCity_Text_2C6E05: @ 82C6E05 + .string "This move can be learned only\n" + .string "once. Is that okay?$" + +SlateportCity_PokemonFanClub_Text_2C6E37: @ 82C6E37 + .string "Heh! My POKéMON totally rules!\n" + .string "It’s cooler than any POKéMON!\p" + .string "I was lipping off with a swagger in\n" + .string "my step like that when the CHAIRMAN\l" + .string "chewed me out.\p" + .string "That took the swagger out of my step.\p" + .string "If you’d like, I’ll teach the move\n" + .string "SWAGGER to a POKéMON of yours.$" + +SlateportCity_PokemonFanClub_Text_2C6F33: @ 82C6F33 + .string "What, no? Can’t you get into\n" + .string "the spirit of things?$" + +SlateportCity_PokemonFanClub_Text_2C6F66: @ 82C6F66 + .string "All right, which POKéMON wants to\n" + .string "learn how to SWAGGER?$" + +SlateportCity_PokemonFanClub_Text_2C6F9E: @ 82C6F9E + .string "I’ll just praise my POKéMON from now\n" + .string "on without the swagger.$" + +MauvilleCity_Text_2C6FDB: @ 82C6FDB + .string "Did you know that you can go from\n" + .string "here a long way in that direction\l" + .string "without changing direction?\p" + .string "I might even be able to roll\n" + .string "that way.\p" + .string "Do you think your POKéMON will\n" + .string "want to roll, too?\p" + .string "I can teach one the move ROLLOUT\n" + .string "if you’d like.$" + +MauvilleCity_Text_2C70C4: @ 82C70C4 + .string "You don’t need to be shy about it.\n" + .string "Let’s roll!$" + +MauvilleCity_Text_2C70F3: @ 82C70F3 + .string "Ehehe, sure thing! It’d be great if\n" + .string "the POKéMON looked like me.$" + +MauvilleCity_Text_2C7133: @ 82C7133 + .string "Rolling around in the grass makes me\n" + .string "happy. Come on, let’s roll!$" + +VerdanturfTown_PokemonCenter_1F_Text_2C7174: @ 82C7174 + .string "There’s a move that gets stronger\n" + .string "when you keep using it in a row.\p" + .string "It’s a BUG-type move, and it is\n" + .string "wickedly cool.\p" + .string "It’s called FURY CUTTER.\n" + .string "Want me to teach it to a POKéMON?$" + +VerdanturfTown_PokemonCenter_1F_Text_2C7221: @ 82C7221 + .string "We’re not on the same wavelength.$" + +VerdanturfTown_PokemonCenter_1F_Text_2C7243: @ 82C7243 + .string "Yay!\n" + .string "Show me which POKéMON I should teach.$" + +VerdanturfTown_PokemonCenter_1F_Text_2C726E: @ 82C726E + .string "I get a thrill watching to see if\n" + .string "the move keeps hitting in succession!$" + +LavaridgeTown_House_Text_2C72B6: @ 82C72B6 + .string "Ah, young one!\p" + .string "I am also a young one, but I mimic\n" + .string "the styles and speech of the elderly\l" + .string "folks of this town.\p" + .string "What do you say, young one?\n" + .string "Would you agree to it if I were to\l" + .string "offer to teach the move MIMIC?$" + +LavaridgeTown_House_Text_2C737F: @ 82C737F + .string "Oh, boo! I wanted to teach MIMIC\n" + .string "to your POKéMON!$" + +LavaridgeTown_House_Text_2C73B1: @ 82C73B1 + .string "Fwofwo! And so I shall!\n" + .string "Let me see the POKéMON\l" + .string "you wish me to teach.$" + +LavaridgeTown_House_Text_2C73F6: @ 82C73F6 + .string "MIMIC is a move of great depth.\p" + .string "Could you execute it to perfection\n" + .string "as well as me…?$" + +FallarborTown_Mart_Text_2C7449: @ 82C7449 + .string "I want all sorts of things!\n" + .string "But I used up my allowance…\p" + .string "Wouldn’t it be nice if there were\n" + .string "a spell that made money appear when\l" + .string "you waggle a finger?\p" + .string "If you want, I can teach your POKéMON\n" + .string "the move METRONOME.\p" + .string "Money won’t appear, but your POKéMON\n" + .string "will waggle a finger. Yes?$" + +FallarborTown_Mart_Text_2C7556: @ 82C7556 + .string "Okay. I’ll be here if you change\n" + .string "your mind.$" + +FallarborTown_Mart_Text_2C7582: @ 82C7582 + .string "Okay! I’ll teach it!\n" + .string "Which POKéMON should I teach?$" + +FallarborTown_Mart_Text_2C75B5: @ 82C75B5 + .string "When a POKéMON waggles its finger\n" + .string "like a METRONOME, all sorts of nice\l" + .string "things happen.\p" + .string "Wouldn’t it be nice if we could\n" + .string "use it, too?$" + +FortreeCity_House2_Text_2C7637: @ 82C7637 + .string "Humph! My wife relies on HIDDEN\n" + .string "POWER to stay awake.\p" + .string "She should just take a nap like I do,\n" + .string "and SLEEP TALK.\p" + .string "I can teach your POKéMON how to\n" + .string "SLEEP TALK instead. Interested?$" + +FortreeCity_House2_Text_2C76E2: @ 82C76E2 + .string "Oh, fine, fine. You want to stay awake\n" + .string "with HIDDEN POWER, too…$" + +FortreeCity_House2_Text_2C7721: @ 82C7721 + .string "Ah, an appreciative child!\n" + .string "Which POKéMON should I teach?$" + +FortreeCity_House2_Text_2C775A: @ 82C775A + .string "I’ve never once gotten my wife’s\n" + .string "coin trick right.\p" + .string "I would be happy if I got it right\n" + .string "even as I SLEEP TALK…$" + +LilycoveCity_DepartmentStoreRooftop_Text_2C77C6: @ 82C77C6 + .string "When I see the wide world from up\n" + .string "here on the roof…\p" + .string "I think about how nice it would be\n" + .string "if there were more than just one me\l" + .string "so I could enjoy all sorts of lives.\p" + .string "Of course it’s not possible.\n" + .string "Giggle…\p" + .string "I know! Would you be interested in\n" + .string "having a POKéMON learn SUBSTITUTE?$" + +LilycoveCity_DepartmentStoreRooftop_Text_2C78D1: @ 82C78D1 + .string "Oh, no?\p" + .string "A POKéMON can make a copy of\n" + .string "itself using it, you know.$" + +LilycoveCity_DepartmentStoreRooftop_Text_2C7911: @ 82C7911 + .string "Giggle…\n" + .string "Which POKéMON do you want me to\l" + .string "teach SUBSTITUTE?$" + +LilycoveCity_DepartmentStoreRooftop_Text_2C794B: @ 82C794B + .string "We human beings should enjoy our\n" + .string "own lives to the utmost!\p" + .string "I hope you’ll get that way, too!$" + +MossdeepCity_Text_2C79A6: @ 82C79A6 + .string "I can’t do this anymore!\p" + .string "It’s utterly hopeless!\p" + .string "I’m a FIGHTING-type TRAINER,\n" + .string "so I can’t win at the MOSSDEEP GYM\l" + .string "no matter how hard I try!\p" + .string "Argh! Punch! Punch! Punch!\n" + .string "Punch! Punch! Punch!\p" + .string "What, don’t look at me that way!\n" + .string "I’m only hitting the ground!\p" + .string "Or do you want me to teach your\n" + .string "POKéMON DYNAMICPUNCH?$" + +MossdeepCity_Text_2C7AD4: @ 82C7AD4 + .string "Darn! You’re even making fun of me?\n" + .string "Punch! Punch! Punch!$" + +MossdeepCity_Text_2C7B0D: @ 82C7B0D + .string "What? You do? You’re a good person!\n" + .string "Which POKéMON should I teach?$" + +MossdeepCity_Text_2C7B4F: @ 82C7B4F + .string "I want you to win at the MOSSDEEP GYM\n" + .string "using that DYNAMICPUNCH!$" + +SootopolisCity_PokemonCenter_1F_Text_2C7B8E: @ 82C7B8E + .string "Sigh…\p" + .string "SOOTOPOLIS’s GYM LEADER is really\n" + .string "lovably admirable.\p" + .string "But that also means I have many\n" + .string "rivals for his attention.\p" + .string "He’s got appeal with a DOUBLE-EDGE.\n" + .string "I couldn’t even catch his eye.\p" + .string "Please, let me teach your POKéMON\n" + .string "the move DOUBLE-EDGE!$" + +SootopolisCity_PokemonCenter_1F_Text_2C7C7E: @ 82C7C7E + .string "Oh…\n" + .string "Even you rejected me…$" + +SootopolisCity_PokemonCenter_1F_Text_2C7C98: @ 82C7C98 + .string "Okay, which POKéMON should I teach\n" + .string "DOUBLE-EDGE?$" + +SootopolisCity_PokemonCenter_1F_Text_2C7CC8: @ 82C7CC8 + .string "I won’t live for love anymore!\n" + .string "I’ll become tough!$" + +PacifidlogTown_PokemonCenter_1F_Text_2C7CFA: @ 82C7CFA + .string "I don’t intend to be going nowhere\n" + .string "fast in the sticks like this forever.\p" + .string "You watch me, I’ll get out to the city\n" + .string "and become a huge hit.\p" + .string "Seriously, I’m going to cause\n" + .string "a huge EXPLOSION of popularity!\p" + .string "If you overheard that, I’ll happily\n" + .string "teach EXPLOSION to your POKéMON!$" + +PacifidlogTown_PokemonCenter_1F_Text_2C7E04: @ 82C7E04 + .string "Gaah! You’re turning me down because\n" + .string "I live in the country?$" + +PacifidlogTown_PokemonCenter_1F_Text_2C7E40: @ 82C7E40 + .string "Fine! An EXPLOSION it is!\n" + .string "Which POKéMON wants to blow up?$" + +PacifidlogTown_PokemonCenter_1F_Text_2C7E7A: @ 82C7E7A + .string "For a long time, I’ve taught POKéMON\n" + .string "how to use EXPLOSION, but I’ve yet\l" + .string "to ignite my own EXPLOSION…\p" + .string "Maybe it’s because deep down,\n" + .string "I would rather stay here…$" + +SlateportCity_PokemonFanClub_EventScript_2C7F16:: @ 82C7F16 + lock + faceplayer + checkflag FLAG_0x1B1 + goto_eq SlateportCity_PokemonFanClub_EventScript_2C7F74 + msgbox SlateportCity_PokemonFanClub_Text_2C6E37, 5 + compare VAR_RESULT, 0 + goto_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A + call SlateportCity_PokemonFanClub_EventScript_2C832D + compare VAR_RESULT, 0 + goto_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A + msgbox SlateportCity_PokemonFanClub_Text_2C6F66, 4 + setvar VAR_0x8005, 23 + call SlateportCity_PokemonFanClub_EventScript_2C8326 + compare VAR_RESULT, 0 + goto_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A + setflag FLAG_0x1B1 + goto SlateportCity_PokemonFanClub_EventScript_2C7F74 + end + +SlateportCity_PokemonFanClub_EventScript_2C7F6A:: @ 82C7F6A + msgbox SlateportCity_PokemonFanClub_Text_2C6F33, 4 + release + end + +SlateportCity_PokemonFanClub_EventScript_2C7F74:: @ 82C7F74 + msgbox SlateportCity_PokemonFanClub_Text_2C6F9E, 4 + release + end + +MauvilleCity_EventScript_2C7F7E:: @ 82C7F7E + lock + faceplayer + checkflag FLAG_0x1B2 + goto_eq MauvilleCity_EventScript_2C7FDC + msgbox MauvilleCity_Text_2C6FDB, 5 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_EventScript_2C7FD2 + call MauvilleCity_EventScript_2C832D + compare VAR_RESULT, 0 + goto_eq MauvilleCity_EventScript_2C7FD2 + msgbox MauvilleCity_Text_2C70F3, 4 + setvar VAR_0x8005, 16 + call MauvilleCity_EventScript_2C8326 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_EventScript_2C7FD2 + setflag FLAG_0x1B2 + goto MauvilleCity_EventScript_2C7FDC + end + +MauvilleCity_EventScript_2C7FD2:: @ 82C7FD2 + msgbox MauvilleCity_Text_2C70C4, 4 + release + end + +MauvilleCity_EventScript_2C7FDC:: @ 82C7FDC + msgbox MauvilleCity_Text_2C7133, 4 + release + end + +VerdanturfTown_PokemonCenter_1F_EventScript_2C7FE6:: @ 82C7FE6 + lock + faceplayer + checkflag FLAG_0x1B3 + goto_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C8044 + msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7174, 5 + compare VAR_RESULT, 0 + goto_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A + call VerdanturfTown_PokemonCenter_1F_EventScript_2C832D + compare VAR_RESULT, 0 + goto_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A + msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7243, 4 + setvar VAR_0x8005, 29 + call VerdanturfTown_PokemonCenter_1F_EventScript_2C8326 + compare VAR_RESULT, 0 + goto_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A + setflag FLAG_0x1B3 + goto VerdanturfTown_PokemonCenter_1F_EventScript_2C8044 + end + +VerdanturfTown_PokemonCenter_1F_EventScript_2C803A:: @ 82C803A + msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7221, 4 + release + end + +VerdanturfTown_PokemonCenter_1F_EventScript_2C8044:: @ 82C8044 + msgbox VerdanturfTown_PokemonCenter_1F_Text_2C726E, 4 + release + end + +LavaridgeTown_House_EventScript_2C804E:: @ 82C804E + lock + faceplayer + checkflag FLAG_0x1B4 + goto_eq LavaridgeTown_House_EventScript_2C80AC + msgbox LavaridgeTown_House_Text_2C72B6, 5 + compare VAR_RESULT, 0 + goto_eq LavaridgeTown_House_EventScript_2C80A2 + call LavaridgeTown_House_EventScript_2C832D + compare VAR_RESULT, 0 + goto_eq LavaridgeTown_House_EventScript_2C80A2 + msgbox LavaridgeTown_House_Text_2C73B1, 4 + setvar VAR_0x8005, 7 + call LavaridgeTown_House_EventScript_2C8326 + compare VAR_RESULT, 0 + goto_eq LavaridgeTown_House_EventScript_2C80A2 + setflag FLAG_0x1B4 + goto LavaridgeTown_House_EventScript_2C80AC + end + +LavaridgeTown_House_EventScript_2C80A2:: @ 82C80A2 + msgbox LavaridgeTown_House_Text_2C737F, 4 + release + end + +LavaridgeTown_House_EventScript_2C80AC:: @ 82C80AC + msgbox LavaridgeTown_House_Text_2C73F6, 4 + release + end + +FallarborTown_Mart_EventScript_2C80B6:: @ 82C80B6 + lock + faceplayer + checkflag FLAG_0x1B5 + goto_eq FallarborTown_Mart_EventScript_2C8114 + msgbox FallarborTown_Mart_Text_2C7449, 5 + compare VAR_RESULT, 0 + goto_eq FallarborTown_Mart_EventScript_2C810A + call FallarborTown_Mart_EventScript_2C832D + compare VAR_RESULT, 0 + goto_eq FallarborTown_Mart_EventScript_2C810A + msgbox FallarborTown_Mart_Text_2C7582, 4 + setvar VAR_0x8005, 8 + call FallarborTown_Mart_EventScript_2C8326 + compare VAR_RESULT, 0 + goto_eq FallarborTown_Mart_EventScript_2C810A + setflag FLAG_0x1B5 + goto FallarborTown_Mart_EventScript_2C8114 + end + +FallarborTown_Mart_EventScript_2C810A:: @ 82C810A + msgbox FallarborTown_Mart_Text_2C7556, 4 + release + end + +FallarborTown_Mart_EventScript_2C8114:: @ 82C8114 + msgbox FallarborTown_Mart_Text_2C75B5, 4 + release + end + +FortreeCity_House2_EventScript_2C811E:: @ 82C811E + lock + faceplayer + checkflag FLAG_0x1B6 + goto_eq FortreeCity_House2_EventScript_2C817C + msgbox FortreeCity_House2_Text_2C7637, 5 + compare VAR_RESULT, 0 + goto_eq FortreeCity_House2_EventScript_2C8172 + call FortreeCity_House2_EventScript_2C832D + compare VAR_RESULT, 0 + goto_eq FortreeCity_House2_EventScript_2C8172 + msgbox FortreeCity_House2_Text_2C7721, 4 + setvar VAR_0x8005, 24 + call FortreeCity_House2_EventScript_2C8326 + compare VAR_RESULT, 0 + goto_eq FortreeCity_House2_EventScript_2C8172 + setflag FLAG_0x1B6 + goto FortreeCity_House2_EventScript_2C817C + end + +FortreeCity_House2_EventScript_2C8172:: @ 82C8172 + msgbox FortreeCity_House2_Text_2C76E2, 4 + release + end + +FortreeCity_House2_EventScript_2C817C:: @ 82C817C + msgbox FortreeCity_House2_Text_2C775A, 4 + release + end + +LilycoveCity_DepartmentStoreRooftop_EventScript_2C8186:: @ 82C8186 + lock + faceplayer + checkflag FLAG_0x1B7 + goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4 + msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C77C6, 5 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA + call LilycoveCity_DepartmentStoreRooftop_EventScript_2C832D + compare VAR_RESULT, 0 + goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA + msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C7911, 4 + setvar VAR_0x8005, 14 + call LilycoveCity_DepartmentStoreRooftop_EventScript_2C8326 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA + setflag FLAG_0x1B7 + goto LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4 + end + +LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA:: @ 82C81DA + msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C78D1, 4 + release + end + +LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4:: @ 82C81E4 + msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C794B, 4 + release + end + +MossdeepCity_EventScript_2C81EE:: @ 82C81EE + lock + faceplayer + checkflag FLAG_0x1B8 + goto_eq MossdeepCity_EventScript_2C824C + msgbox MossdeepCity_Text_2C79A6, 5 + compare VAR_RESULT, 0 + goto_eq MossdeepCity_EventScript_2C8242 + call MossdeepCity_EventScript_2C832D + compare VAR_RESULT, 0 + goto_eq MossdeepCity_EventScript_2C8242 + msgbox MossdeepCity_Text_2C7B0D, 4 + setvar VAR_0x8005, 15 + call MossdeepCity_EventScript_2C8326 + compare VAR_RESULT, 0 + goto_eq MossdeepCity_EventScript_2C8242 + setflag FLAG_0x1B8 + goto MossdeepCity_EventScript_2C824C + end + +MossdeepCity_EventScript_2C8242:: @ 82C8242 + msgbox MossdeepCity_Text_2C7AD4, 4 + release + end + +MossdeepCity_EventScript_2C824C:: @ 82C824C + msgbox MossdeepCity_Text_2C7B4F, 4 + release + end + +SootopolisCity_PokemonCenter_1F_EventScript_2C8256:: @ 82C8256 + lock + faceplayer + checkflag FLAG_0x1B9 + goto_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82B4 + msgbox SootopolisCity_PokemonCenter_1F_Text_2C7B8E, 5 + compare VAR_RESULT, 0 + goto_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA + call SootopolisCity_PokemonCenter_1F_EventScript_2C832D + compare VAR_RESULT, 0 + goto_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA + msgbox SootopolisCity_PokemonCenter_1F_Text_2C7C98, 4 + setvar VAR_0x8005, 4 + call SootopolisCity_PokemonCenter_1F_EventScript_2C8326 + compare VAR_RESULT, 0 + goto_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA + setflag FLAG_0x1B9 + goto SootopolisCity_PokemonCenter_1F_EventScript_2C82B4 + end + +SootopolisCity_PokemonCenter_1F_EventScript_2C82AA:: @ 82C82AA + msgbox SootopolisCity_PokemonCenter_1F_Text_2C7C7E, 4 + release + end + +SootopolisCity_PokemonCenter_1F_EventScript_2C82B4:: @ 82C82B4 + msgbox SootopolisCity_PokemonCenter_1F_Text_2C7CC8, 4 + release + end + +PacifidlogTown_PokemonCenter_1F_EventScript_2C82BE:: @ 82C82BE + lock + faceplayer + checkflag FLAG_0x1BA + goto_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C831C + msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7CFA, 5 + compare VAR_RESULT, 0 + goto_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312 + call PacifidlogTown_PokemonCenter_1F_EventScript_2C832D + compare VAR_RESULT, 0 + goto_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312 + msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E40, 4 + setvar VAR_0x8005, 12 + call PacifidlogTown_PokemonCenter_1F_EventScript_2C8326 + compare VAR_RESULT, 0 + goto_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312 + setflag FLAG_0x1BA + goto PacifidlogTown_PokemonCenter_1F_EventScript_2C831C + end + +PacifidlogTown_PokemonCenter_1F_EventScript_2C8312:: @ 82C8312 + msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E04, 4 + release + end + +PacifidlogTown_PokemonCenter_1F_EventScript_2C831C:: @ 82C831C + msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E7A, 4 + release + end + +FallarborTown_Mart_EventScript_2C8326:: @ 82C8326 +FortreeCity_House2_EventScript_2C8326:: @ 82C8326 +LavaridgeTown_House_EventScript_2C8326:: @ 82C8326 +LilycoveCity_DepartmentStoreRooftop_EventScript_2C8326:: @ 82C8326 +MauvilleCity_EventScript_2C8326:: @ 82C8326 +MossdeepCity_EventScript_2C8326:: @ 82C8326 +PacifidlogTown_PokemonCenter_1F_EventScript_2C8326:: @ 82C8326 +SlateportCity_PokemonFanClub_EventScript_2C8326:: @ 82C8326 +SootopolisCity_PokemonCenter_1F_EventScript_2C8326:: @ 82C8326 +VerdanturfTown_PokemonCenter_1F_EventScript_2C8326:: @ 82C8326 + special sub_81B892C + waitstate + lock + faceplayer + return + +FallarborTown_Mart_EventScript_2C832D:: @ 82C832D +FortreeCity_House2_EventScript_2C832D:: @ 82C832D +LavaridgeTown_House_EventScript_2C832D:: @ 82C832D +LilycoveCity_DepartmentStoreRooftop_EventScript_2C832D:: @ 82C832D +MauvilleCity_EventScript_2C832D:: @ 82C832D +MossdeepCity_EventScript_2C832D:: @ 82C832D +PacifidlogTown_PokemonCenter_1F_EventScript_2C832D:: @ 82C832D +SlateportCity_PokemonFanClub_EventScript_2C832D:: @ 82C832D +SootopolisCity_PokemonCenter_1F_EventScript_2C832D:: @ 82C832D +VerdanturfTown_PokemonCenter_1F_EventScript_2C832D:: @ 82C832D + msgbox MauvilleCity_Text_2C6E05, 5 + return + +TrainerHill_1F_MapScript1_2C8336: @ 82C8336 +TrainerHill_2F_MapScript1_2C8336: @ 82C8336 +TrainerHill_3F_MapScript1_2C8336: @ 82C8336 +TrainerHill_4F_MapScript1_2C8336: @ 82C8336 +TrainerHill_Roof_MapScript1_2C8336: @ 82C8336 + setvar VAR_0x4002, 0 + setvar VAR_0x8004, 4 + special sp194_trainer_tower + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 5 + special sub_81A1780 + compare VAR_RESULT, 2 + goto_eq TrainerHill_1F_EventScript_2C83C9 + compare VAR_RESULT, 3 + goto_eq TrainerHill_1F_EventScript_2C83C9 + compare VAR_RESULT, 9 + goto_eq TrainerHill_1F_EventScript_2C83C9 + end + +TrainerHill_1F_MapScript2_2C8372: @ 82C8372 +TrainerHill_2F_MapScript2_2C8372: @ 82C8372 + map_script_2 VAR_0x4003, 0, TrainerHill_1F_EventScript_2C837C + .2byte 0 + +TrainerHill_1F_EventScript_2C837C:: @ 82C837C + setvar VAR_0x4003, 1 +@ forced stop + +TrainerHill_1F_MapScript2_2C8381: @ 82C8381 +TrainerHill_2F_MapScript2_2C8381: @ 82C8381 +TrainerHill_3F_MapScript2_2C8381: @ 82C8381 +TrainerHill_4F_MapScript2_2C8381: @ 82C8381 +TrainerHill_Roof_MapScript2_2C8381: @ 82C8381 + map_script_2 VAR_0x4002, 0, TrainerHill_1F_EventScript_2C83A6 + map_script_2 VAR_0x4001, 1, TrainerHill_1F_EventScript_2C83DF + .2byte 0 + +TrainerHill_1F_EventScript_2C8393:: @ 82C8393 + lockall + setvar VAR_0x8004, 7 + special sp194_trainer_tower + msgbox TrainerHill_Entrance_Text_268D47, 4 + releaseall + end + +TrainerHill_1F_EventScript_2C83A6:: @ 82C83A6 + setvar VAR_0x4002, 1 + setvar VAR_0x8004, 9 + special sp194_trainer_tower + compare VAR_RESULT, 1 + goto_eq TrainerHill_1F_EventScript_2C83BF + end + +TrainerHill_1F_EventScript_2C83BF:: @ 82C83BF + warpsilent TRAINER_HILL_ENTRANCE, 255, 9, 6 + waitstate + end + +TrainerHill_1F_EventScript_2C83C9:: @ 82C83C9 + setvar VAR_0x8004, 12 + special sp194_trainer_tower + setvar VAR_0x8004, 5 + special sp194_trainer_tower + setvar VAR_0x4001, 1 + end + +TrainerHill_1F_EventScript_2C83DF:: @ 82C83DF +TrainerHill_Entrance_EventScript_2C83DF:: @ 82C83DF + setvar VAR_0x4001, 0 + warp TRAINER_HILL_ENTRANCE, 255, 9, 6 + waitstate + end + +TrainerHill_1F_Movement_2C83EE:: @ 82C83EE + step_54 + step_end + +EventScript_2C83F0:: @ 82C83F0 + trainerbattle 12, TRAINER_PHILLIP, 0, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D + setvar VAR_0x8004, 11 + special sp194_trainer_tower + waitmessage + waitbuttonpress + closemessage + end + +Text_ThisIsATestSignpostMsg:: @ 82C840A + .string "This is a test message.\n" + .string "This is a signpost.$" + +EventScript_TestSignpostMsg:: @ 82C8436 + msgbox Text_ThisIsATestSignpostMsg, 3 + end + +gText_082C843F:: @ 82C843F + .string "It’s very disappointing…$" + +gText_082C8458:: @ 82C8458 + .string "Okay, I understand…$" + +gText_082C846C:: @ 82C846C + .string "I’m terribly sorry…$" + +gText_082C8480:: @ 82C8480 + .string "Thank you…$" + +gText_082C848B:: @ 82C848B + .string "Ahahaha! Aren’t you embarrassed?\n" + .string "Everyone’s watching!$" + +gText_082C84C1:: @ 82C84C1 + .string "Grr…\n" + .string "What the…$" + +gText_082C84D0:: @ 82C84D0 + .string "My DOME ACE title isn’t just for show!$" + +gText_082C84F7:: @ 82C84F7 + .string "Ahahaha!\n" + .string "You’re inspiring!$" + +gText_082C8512:: @ 82C8512 + .string "Way to work!\n" + .string "That was a good lesson, eh?$" + +gText_082C853B:: @ 82C853B + .string "Good job!\n" + .string "You know what you’re doing!$" + +gText_082C8561:: @ 82C8561 + .string "Hey, hey, hey!\n" + .string "You’re finished already?$" + +gText_082C8589:: @ 82C8589 + .string "What happened here?$" + +gText_082C859D:: @ 82C859D + .string "Humph…$" + +gText_082C85A4:: @ 82C85A4 + .string "Urk…$" + +gText_082C85A9:: @ 82C85A9 + .string "Hah!$" + +gText_082C85AE:: @ 82C85AE + .string "Darn!$" + +gText_082C85B4:: @ 82C85B4 + .string "Oh, come on!\n" + .string "You have to try harder than that!$" + +gText_082C85E3:: @ 82C85E3 + .string "No way!\n" + .string "Good job!$" + +gText_082C85F5:: @ 82C85F5 + .string "Heheh!\n" + .string "What did you expect?$" + +gText_082C8611:: @ 82C8611 + .string "Huh?\n" + .string "Are you serious?!$" + +gText_082C8628:: @ 82C8628 + .string "Your POKéMON are wimpy because\n" + .string "you’re wimpy as a TRAINER!$" + +gText_082C8662:: @ 82C8662 + .string "Ah…\n" + .string "Now this is something else…$" + +gText_082C8682:: @ 82C8682 + .string "Gwahahaha!\n" + .string "My brethren, we have nothing to fear!$" + +gText_082C86B3:: @ 82C86B3 + .string "Gwah!\n" + .string "Hahahaha!$" + +gText_082C86C3:: @ 82C86C3 + .string "Hey! What’s wrong with you!\n" + .string "Let’s see some effort! Get up!$" + +gText_082C86FE:: @ 82C86FE + .string "That’s it! You’ve done great!\n" + .string "You’ve worked hard for this!$" + +gText_082C8739:: @ 82C8739 + .string "Hey! Don’t you give up now!\n" + .string "Get up! Don’t lose faith in yourself!$" + +gText_082C877B:: @ 82C877B + .string "That’s it! You’ve done it!\n" + .string "You kept working for this!$" + + .align 2 + .include "data/text/save.inc" + .include "data/text/birch_speech.inc" diff --git a/data/evolution_table.inc b/data/evolution_table.inc deleted file mode 100644 index 9ef168175c..0000000000 --- a/data/evolution_table.inc +++ /dev/null @@ -1,1420 +0,0 @@ - .align 2 -gEvolutionTable:: @ 832531C -@ ?????????? - empty_evo_entries 5 - -@ Bulbasaur - evo_entry EVO_LEVEL, 16, SPECIES_IVYSAUR - empty_evo_entries 4 - -@ Ivysaur - evo_entry EVO_LEVEL, 32, SPECIES_VENUSAUR - empty_evo_entries 4 - -@ Venusaur - empty_evo_entries 5 - -@ Charmander - evo_entry EVO_LEVEL, 16, SPECIES_CHARMELEON - empty_evo_entries 4 - -@ Charmeleon - evo_entry EVO_LEVEL, 36, SPECIES_CHARIZARD - empty_evo_entries 4 - -@ Charizard - empty_evo_entries 5 - -@ Squirtle - evo_entry EVO_LEVEL, 16, SPECIES_WARTORTLE - empty_evo_entries 4 - -@ Wartortle - evo_entry EVO_LEVEL, 36, SPECIES_BLASTOISE - empty_evo_entries 4 - -@ Blastoise - empty_evo_entries 5 - -@ Caterpie - evo_entry EVO_LEVEL, 7, SPECIES_METAPOD - empty_evo_entries 4 - -@ Metapod - evo_entry EVO_LEVEL, 10, SPECIES_BUTTERFREE - empty_evo_entries 4 - -@ Butterfree - empty_evo_entries 5 - -@ Weedle - evo_entry EVO_LEVEL, 7, SPECIES_KAKUNA - empty_evo_entries 4 - -@ Kakuna - evo_entry EVO_LEVEL, 10, SPECIES_BEEDRILL - empty_evo_entries 4 - -@ Beedrill - empty_evo_entries 5 - -@ Pidgey - evo_entry EVO_LEVEL, 18, SPECIES_PIDGEOTTO - empty_evo_entries 4 - -@ Pidgeotto - evo_entry EVO_LEVEL, 36, SPECIES_PIDGEOT - empty_evo_entries 4 - -@ Pidgeot - empty_evo_entries 5 - -@ Rattata - evo_entry EVO_LEVEL, 20, SPECIES_RATICATE - empty_evo_entries 4 - -@ Raticate - empty_evo_entries 5 - -@ Spearow - evo_entry EVO_LEVEL, 20, SPECIES_FEAROW - empty_evo_entries 4 - -@ Fearow - empty_evo_entries 5 - -@ Ekans - evo_entry EVO_LEVEL, 22, SPECIES_ARBOK - empty_evo_entries 4 - -@ Arbok - empty_evo_entries 5 - -@ Pikachu - evo_entry EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_RAICHU - empty_evo_entries 4 - -@ Raichu - empty_evo_entries 5 - -@ Sandshrew - evo_entry EVO_LEVEL, 22, SPECIES_SANDSLASH - empty_evo_entries 4 - -@ Sandslash - empty_evo_entries 5 - -@ Nidoran♀ - evo_entry EVO_LEVEL, 16, SPECIES_NIDORINA - empty_evo_entries 4 - -@ Nidorina - evo_entry EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOQUEEN - empty_evo_entries 4 - -@ Nidoqueen - empty_evo_entries 5 - -@ Nidoran♂ - evo_entry EVO_LEVEL, 16, SPECIES_NIDORINO - empty_evo_entries 4 - -@ Nidorino - evo_entry EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOKING - empty_evo_entries 4 - -@ Nidoking - empty_evo_entries 5 - -@ Clefairy - evo_entry EVO_ITEM, ITEM_MOON_STONE, SPECIES_CLEFABLE - empty_evo_entries 4 - -@ Clefable - empty_evo_entries 5 - -@ Vulpix - evo_entry EVO_ITEM, ITEM_FIRE_STONE, SPECIES_NINETALES - empty_evo_entries 4 - -@ Ninetales - empty_evo_entries 5 - -@ Jigglypuff - evo_entry EVO_ITEM, ITEM_MOON_STONE, SPECIES_WIGGLYTUFF - empty_evo_entries 4 - -@ Wigglytuff - empty_evo_entries 5 - -@ Zubat - evo_entry EVO_LEVEL, 22, SPECIES_GOLBAT - empty_evo_entries 4 - -@ Golbat - evo_entry EVO_FRIENDSHIP, 0, SPECIES_CROBAT - empty_evo_entries 4 - -@ Oddish - evo_entry EVO_LEVEL, 21, SPECIES_GLOOM - empty_evo_entries 4 - -@ Gloom - evo_entry EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VILEPLUME - evo_entry EVO_ITEM, ITEM_SUN_STONE, SPECIES_BELLOSSOM - empty_evo_entries 3 - -@ Vileplume - empty_evo_entries 5 - -@ Paras - evo_entry EVO_LEVEL, 24, SPECIES_PARASECT - empty_evo_entries 4 - -@ Parasect - empty_evo_entries 5 - -@ Venonat - evo_entry EVO_LEVEL, 31, SPECIES_VENOMOTH - empty_evo_entries 4 - -@ Venomoth - empty_evo_entries 5 - -@ Diglett - evo_entry EVO_LEVEL, 26, SPECIES_DUGTRIO - empty_evo_entries 4 - -@ Dugtrio - empty_evo_entries 5 - -@ Meowth - evo_entry EVO_LEVEL, 28, SPECIES_PERSIAN - empty_evo_entries 4 - -@ Persian - empty_evo_entries 5 - -@ Psyduck - evo_entry EVO_LEVEL, 33, SPECIES_GOLDUCK - empty_evo_entries 4 - -@ Golduck - empty_evo_entries 5 - -@ Mankey - evo_entry EVO_LEVEL, 28, SPECIES_PRIMEAPE - empty_evo_entries 4 - -@ Primeape - empty_evo_entries 5 - -@ Growlithe - evo_entry EVO_ITEM, ITEM_FIRE_STONE, SPECIES_ARCANINE - empty_evo_entries 4 - -@ Arcanine - empty_evo_entries 5 - -@ Poliwag - evo_entry EVO_LEVEL, 25, SPECIES_POLIWHIRL - empty_evo_entries 4 - -@ Poliwhirl - evo_entry EVO_ITEM, ITEM_WATER_STONE, SPECIES_POLIWRATH - evo_entry EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_POLITOED - empty_evo_entries 3 - -@ Poliwrath - empty_evo_entries 5 - -@ Abra - evo_entry EVO_LEVEL, 16, SPECIES_KADABRA - empty_evo_entries 4 - -@ Kadabra - evo_entry EVO_TRADE, 0, SPECIES_ALAKAZAM - empty_evo_entries 4 - -@ Alakazam - empty_evo_entries 5 - -@ Machop - evo_entry EVO_LEVEL, 28, SPECIES_MACHOKE - empty_evo_entries 4 - -@ Machoke - evo_entry EVO_TRADE, 0, SPECIES_MACHAMP - empty_evo_entries 4 - -@ Machamp - empty_evo_entries 5 - -@ Bellsprout - evo_entry EVO_LEVEL, 21, SPECIES_WEEPINBELL - empty_evo_entries 4 - -@ Weepinbell - evo_entry EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VICTREEBEL - empty_evo_entries 4 - -@ Victreebel - empty_evo_entries 5 - -@ Tentacool - evo_entry EVO_LEVEL, 30, SPECIES_TENTACRUEL - empty_evo_entries 4 - -@ Tentacruel - empty_evo_entries 5 - -@ Geodude - evo_entry EVO_LEVEL, 25, SPECIES_GRAVELER - empty_evo_entries 4 - -@ Graveler - evo_entry EVO_TRADE, 0, SPECIES_GOLEM - empty_evo_entries 4 - -@ Golem - empty_evo_entries 5 - -@ Ponyta - evo_entry EVO_LEVEL, 40, SPECIES_RAPIDASH - empty_evo_entries 4 - -@ Rapidash - empty_evo_entries 5 - -@ Slowpoke - evo_entry EVO_LEVEL, 37, SPECIES_SLOWBRO - evo_entry EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_SLOWKING - empty_evo_entries 3 - -@ Slowbro - empty_evo_entries 5 - -@ Magnemite - evo_entry EVO_LEVEL, 30, SPECIES_MAGNETON - empty_evo_entries 4 - -@ Magneton - empty_evo_entries 5 - -@ Farfetch'd - empty_evo_entries 5 - -@ Doduo - evo_entry EVO_LEVEL, 31, SPECIES_DODRIO - empty_evo_entries 4 - -@ Dodrio - empty_evo_entries 5 - -@ Seel - evo_entry EVO_LEVEL, 34, SPECIES_DEWGONG - empty_evo_entries 4 - -@ Dewgong - empty_evo_entries 5 - -@ Grimer - evo_entry EVO_LEVEL, 38, SPECIES_MUK - empty_evo_entries 4 - -@ Muk - empty_evo_entries 5 - -@ Shellder - evo_entry EVO_ITEM, ITEM_WATER_STONE, SPECIES_CLOYSTER - empty_evo_entries 4 - -@ Cloyster - empty_evo_entries 5 - -@ Gastly - evo_entry EVO_LEVEL, 25, SPECIES_HAUNTER - empty_evo_entries 4 - -@ Haunter - evo_entry EVO_TRADE, 0, SPECIES_GENGAR - empty_evo_entries 4 - -@ Gengar - empty_evo_entries 5 - -@ Onix - evo_entry EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_STEELIX - empty_evo_entries 4 - -@ Drowzee - evo_entry EVO_LEVEL, 26, SPECIES_HYPNO - empty_evo_entries 4 - -@ Hypno - empty_evo_entries 5 - -@ Krabby - evo_entry EVO_LEVEL, 28, SPECIES_KINGLER - empty_evo_entries 4 - -@ Kingler - empty_evo_entries 5 - -@ Voltorb - evo_entry EVO_LEVEL, 30, SPECIES_ELECTRODE - empty_evo_entries 4 - -@ Electrode - empty_evo_entries 5 - -@ Exeggcute - evo_entry EVO_ITEM, ITEM_LEAF_STONE, SPECIES_EXEGGUTOR - empty_evo_entries 4 - -@ Exeggutor - empty_evo_entries 5 - -@ Cubone - evo_entry EVO_LEVEL, 28, SPECIES_MAROWAK - empty_evo_entries 4 - -@ Marowak - empty_evo_entries 5 - -@ Hitmonlee - empty_evo_entries 5 - -@ Hitmonchan - empty_evo_entries 5 - -@ Lickitung - empty_evo_entries 5 - -@ Koffing - evo_entry EVO_LEVEL, 35, SPECIES_WEEZING - empty_evo_entries 4 - -@ Weezing - empty_evo_entries 5 - -@ Rhyhorn - evo_entry EVO_LEVEL, 42, SPECIES_RHYDON - empty_evo_entries 4 - -@ Rhydon - empty_evo_entries 5 - -@ Chansey - evo_entry EVO_FRIENDSHIP, 0, SPECIES_BLISSEY - empty_evo_entries 4 - -@ Tangela - empty_evo_entries 5 - -@ Kangaskhan - empty_evo_entries 5 - -@ Horsea - evo_entry EVO_LEVEL, 32, SPECIES_SEADRA - empty_evo_entries 4 - -@ Seadra - evo_entry EVO_TRADE_ITEM, ITEM_DRAGON_SCALE, SPECIES_KINGDRA - empty_evo_entries 4 - -@ Goldeen - evo_entry EVO_LEVEL, 33, SPECIES_SEAKING - empty_evo_entries 4 - -@ Seaking - empty_evo_entries 5 - -@ Staryu - evo_entry EVO_ITEM, ITEM_WATER_STONE, SPECIES_STARMIE - empty_evo_entries 4 - -@ Starmie - empty_evo_entries 5 - -@ Mr. mime - empty_evo_entries 5 - -@ Scyther - evo_entry EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_SCIZOR - empty_evo_entries 4 - -@ Jynx - empty_evo_entries 5 - -@ Electabuzz - empty_evo_entries 5 - -@ Magmar - empty_evo_entries 5 - -@ Pinsir - empty_evo_entries 5 - -@ Tauros - empty_evo_entries 5 - -@ Magikarp - evo_entry EVO_LEVEL, 20, SPECIES_GYARADOS - empty_evo_entries 4 - -@ Gyarados - empty_evo_entries 5 - -@ Lapras - empty_evo_entries 5 - -@ Ditto - empty_evo_entries 5 - -@ Eevee - evo_entry EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_JOLTEON - evo_entry EVO_ITEM, ITEM_WATER_STONE, SPECIES_VAPOREON - evo_entry EVO_ITEM, ITEM_FIRE_STONE, SPECIES_FLAREON - evo_entry EVO_FRIENDSHIP_DAY, 0, SPECIES_ESPEON - evo_entry EVO_FRIENDSHIP_NIGHT, 0, SPECIES_UMBREON - -@ Vaporeon - empty_evo_entries 5 - -@ Jolteon - empty_evo_entries 5 - -@ Flareon - empty_evo_entries 5 - -@ Porygon - evo_entry EVO_TRADE_ITEM, ITEM_UP_GRADE, SPECIES_PORYGON2 - empty_evo_entries 4 - -@ Omanyte - evo_entry EVO_LEVEL, 40, SPECIES_OMASTAR - empty_evo_entries 4 - -@ Omastar - empty_evo_entries 5 - -@ Kabuto - evo_entry EVO_LEVEL, 40, SPECIES_KABUTOPS - empty_evo_entries 4 - -@ Kabutops - empty_evo_entries 5 - -@ Aerodactyl - empty_evo_entries 5 - -@ Snorlax - empty_evo_entries 5 - -@ Articuno - empty_evo_entries 5 - -@ Zapdos - empty_evo_entries 5 - -@ Moltres - empty_evo_entries 5 - -@ Dratini - evo_entry EVO_LEVEL, 30, SPECIES_DRAGONAIR - empty_evo_entries 4 - -@ Dragonair - evo_entry EVO_LEVEL, 55, SPECIES_DRAGONITE - empty_evo_entries 4 - -@ Dragonite - empty_evo_entries 5 - -@ Mewtwo - empty_evo_entries 5 - -@ Mew - empty_evo_entries 5 - -@ Chikorita - evo_entry EVO_LEVEL, 16, SPECIES_BAYLEEF - empty_evo_entries 4 - -@ Bayleef - evo_entry EVO_LEVEL, 32, SPECIES_MEGANIUM - empty_evo_entries 4 - -@ Meganium - empty_evo_entries 5 - -@ Cyndaquil - evo_entry EVO_LEVEL, 14, SPECIES_QUILAVA - empty_evo_entries 4 - -@ Quilava - evo_entry EVO_LEVEL, 36, SPECIES_TYPHLOSION - empty_evo_entries 4 - -@ Typhlosion - empty_evo_entries 5 - -@ Totodile - evo_entry EVO_LEVEL, 18, SPECIES_CROCONAW - empty_evo_entries 4 - -@ Croconaw - evo_entry EVO_LEVEL, 30, SPECIES_FERALIGATR - empty_evo_entries 4 - -@ Feraligatr - empty_evo_entries 5 - -@ Sentret - evo_entry EVO_LEVEL, 15, SPECIES_FURRET - empty_evo_entries 4 - -@ Furret - empty_evo_entries 5 - -@ Hoothoot - evo_entry EVO_LEVEL, 20, SPECIES_NOCTOWL - empty_evo_entries 4 - -@ Noctowl - empty_evo_entries 5 - -@ Ledyba - evo_entry EVO_LEVEL, 18, SPECIES_LEDIAN - empty_evo_entries 4 - -@ Ledian - empty_evo_entries 5 - -@ Spinarak - evo_entry EVO_LEVEL, 22, SPECIES_ARIADOS - empty_evo_entries 4 - -@ Ariados - empty_evo_entries 5 - -@ Crobat - empty_evo_entries 5 - -@ Chinchou - evo_entry EVO_LEVEL, 27, SPECIES_LANTURN - empty_evo_entries 4 - -@ Lanturn - empty_evo_entries 5 - -@ Pichu - evo_entry EVO_FRIENDSHIP, 0, SPECIES_PIKACHU - empty_evo_entries 4 - -@ Cleffa - evo_entry EVO_FRIENDSHIP, 0, SPECIES_CLEFAIRY - empty_evo_entries 4 - -@ Igglybuff - evo_entry EVO_FRIENDSHIP, 0, SPECIES_JIGGLYPUFF - empty_evo_entries 4 - -@ Togepi - evo_entry EVO_FRIENDSHIP, 0, SPECIES_TOGETIC - empty_evo_entries 4 - -@ Togetic - empty_evo_entries 5 - -@ Natu - evo_entry EVO_LEVEL, 25, SPECIES_XATU - empty_evo_entries 4 - -@ Xatu - empty_evo_entries 5 - -@ Mareep - evo_entry EVO_LEVEL, 15, SPECIES_FLAAFFY - empty_evo_entries 4 - -@ Flaaffy - evo_entry EVO_LEVEL, 30, SPECIES_AMPHAROS - empty_evo_entries 4 - -@ Ampharos - empty_evo_entries 5 - -@ Bellossom - empty_evo_entries 5 - -@ Marill - evo_entry EVO_LEVEL, 18, SPECIES_AZUMARILL - empty_evo_entries 4 - -@ Azumarill - empty_evo_entries 5 - -@ Sudowoodo - empty_evo_entries 5 - -@ Politoed - empty_evo_entries 5 - -@ Hoppip - evo_entry EVO_LEVEL, 18, SPECIES_SKIPLOOM - empty_evo_entries 4 - -@ Skiploom - evo_entry EVO_LEVEL, 27, SPECIES_JUMPLUFF - empty_evo_entries 4 - -@ Jumpluff - empty_evo_entries 5 - -@ Aipom - empty_evo_entries 5 - -@ Sunkern - evo_entry EVO_ITEM, ITEM_SUN_STONE, SPECIES_SUNFLORA - empty_evo_entries 4 - -@ Sunflora - empty_evo_entries 5 - -@ Yanma - empty_evo_entries 5 - -@ Wooper - evo_entry EVO_LEVEL, 20, SPECIES_QUAGSIRE - empty_evo_entries 4 - -@ Quagsire - empty_evo_entries 5 - -@ Espeon - empty_evo_entries 5 - -@ Umbreon - empty_evo_entries 5 - -@ Murkrow - empty_evo_entries 5 - -@ Slowking - empty_evo_entries 5 - -@ Misdreavus - empty_evo_entries 5 - -@ Unown - empty_evo_entries 5 - -@ Wobbuffet - empty_evo_entries 5 - -@ Girafarig - empty_evo_entries 5 - -@ Pineco - evo_entry EVO_LEVEL, 31, SPECIES_FORRETRESS - empty_evo_entries 4 - -@ Forretress - empty_evo_entries 5 - -@ Dunsparce - empty_evo_entries 5 - -@ Gligar - empty_evo_entries 5 - -@ Steelix - empty_evo_entries 5 - -@ Snubbull - evo_entry EVO_LEVEL, 23, SPECIES_GRANBULL - empty_evo_entries 4 - -@ Granbull - empty_evo_entries 5 - -@ Qwilfish - empty_evo_entries 5 - -@ Scizor - empty_evo_entries 5 - -@ Shuckle - empty_evo_entries 5 - -@ Heracross - empty_evo_entries 5 - -@ Sneasel - empty_evo_entries 5 - -@ Teddiursa - evo_entry EVO_LEVEL, 30, SPECIES_URSARING - empty_evo_entries 4 - -@ Ursaring - empty_evo_entries 5 - -@ Slugma - evo_entry EVO_LEVEL, 38, SPECIES_MAGCARGO - empty_evo_entries 4 - -@ Magcargo - empty_evo_entries 5 - -@ Swinub - evo_entry EVO_LEVEL, 33, SPECIES_PILOSWINE - empty_evo_entries 4 - -@ Piloswine - empty_evo_entries 5 - -@ Corsola - empty_evo_entries 5 - -@ Remoraid - evo_entry EVO_LEVEL, 25, SPECIES_OCTILLERY - empty_evo_entries 4 - -@ Octillery - empty_evo_entries 5 - -@ Delibird - empty_evo_entries 5 - -@ Mantine - empty_evo_entries 5 - -@ Skarmory - empty_evo_entries 5 - -@ Houndour - evo_entry EVO_LEVEL, 24, SPECIES_HOUNDOOM - empty_evo_entries 4 - -@ Houndoom - empty_evo_entries 5 - -@ Kingdra - empty_evo_entries 5 - -@ Phanpy - evo_entry EVO_LEVEL, 25, SPECIES_DONPHAN - empty_evo_entries 4 - -@ Donphan - empty_evo_entries 5 - -@ Porygon2 - empty_evo_entries 5 - -@ Stantler - empty_evo_entries 5 - -@ Smeargle - empty_evo_entries 5 - -@ Tyrogue - evo_entry EVO_LEVEL_ATK_LT_DEF, 20, SPECIES_HITMONCHAN - evo_entry EVO_LEVEL_ATK_GT_DEF, 20, SPECIES_HITMONLEE - evo_entry EVO_LEVEL_ATK_EQ_DEF, 20, SPECIES_HITMONTOP - empty_evo_entries 2 - -@ Hitmontop - empty_evo_entries 5 - -@ Smoochum - evo_entry EVO_LEVEL, 30, SPECIES_JYNX - empty_evo_entries 4 - -@ Elekid - evo_entry EVO_LEVEL, 30, SPECIES_ELECTABUZZ - empty_evo_entries 4 - -@ Magby - evo_entry EVO_LEVEL, 30, SPECIES_MAGMAR - empty_evo_entries 4 - -@ Miltank - empty_evo_entries 5 - -@ Blissey - empty_evo_entries 5 - -@ Raikou - empty_evo_entries 5 - -@ Entei - empty_evo_entries 5 - -@ Suicune - empty_evo_entries 5 - -@ Larvitar - evo_entry EVO_LEVEL, 30, SPECIES_PUPITAR - empty_evo_entries 4 - -@ Pupitar - evo_entry EVO_LEVEL, 55, SPECIES_TYRANITAR - empty_evo_entries 4 - -@ Tyranitar - empty_evo_entries 5 - -@ Lugia - empty_evo_entries 5 - -@ Ho-Oh - empty_evo_entries 5 - -@ Celebi - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ ? - empty_evo_entries 5 - -@ Treecko - evo_entry EVO_LEVEL, 16, SPECIES_GROVYLE - empty_evo_entries 4 - -@ Grovyle - evo_entry EVO_LEVEL, 36, SPECIES_SCEPTILE - empty_evo_entries 4 - -@ Sceptile - empty_evo_entries 5 - -@ Torchic - evo_entry EVO_LEVEL, 16, SPECIES_COMBUSKEN - empty_evo_entries 4 - -@ Combusken - evo_entry EVO_LEVEL, 36, SPECIES_BLAZIKEN - empty_evo_entries 4 - -@ Blaziken - empty_evo_entries 5 - -@ Mudkip - evo_entry EVO_LEVEL, 16, SPECIES_MARSHTOMP - empty_evo_entries 4 - -@ Marshtomp - evo_entry EVO_LEVEL, 36, SPECIES_SWAMPERT - empty_evo_entries 4 - -@ Swampert - empty_evo_entries 5 - -@ Poochyena - evo_entry EVO_LEVEL, 18, SPECIES_MIGHTYENA - empty_evo_entries 4 - -@ Mightyena - empty_evo_entries 5 - -@ Zigzagoon - evo_entry EVO_LEVEL, 20, SPECIES_LINOONE - empty_evo_entries 4 - -@ Linoone - empty_evo_entries 5 - -@ Wurmple - evo_entry EVO_LEVEL_SILCOON, 7, SPECIES_SILCOON - evo_entry EVO_LEVEL_CASCOON, 7, SPECIES_CASCOON - empty_evo_entries 3 - -@ Silcoon - evo_entry EVO_LEVEL, 10, SPECIES_BEAUTIFLY - empty_evo_entries 4 - -@ Beautifly - empty_evo_entries 5 - -@ Cascoon - evo_entry EVO_LEVEL, 10, SPECIES_DUSTOX - empty_evo_entries 4 - -@ Dustox - empty_evo_entries 5 - -@ Lotad - evo_entry EVO_LEVEL, 14, SPECIES_LOMBRE - empty_evo_entries 4 - -@ Lombre - evo_entry EVO_ITEM, ITEM_WATER_STONE, SPECIES_LUDICOLO - empty_evo_entries 4 - -@ Ludicolo - empty_evo_entries 5 - -@ Seedot - evo_entry EVO_LEVEL, 14, SPECIES_NUZLEAF - empty_evo_entries 4 - -@ Nuzleaf - evo_entry EVO_ITEM, ITEM_LEAF_STONE, SPECIES_SHIFTRY - empty_evo_entries 4 - -@ Shiftry - empty_evo_entries 5 - -@ Nincada - evo_entry EVO_LEVEL_NINJASK, 20, SPECIES_NINJASK - evo_entry EVO_LEVEL_SHEDINJA, 20, SPECIES_SHEDINJA - empty_evo_entries 3 - -@ Ninjask - empty_evo_entries 5 - -@ Shedinja - empty_evo_entries 5 - -@ Taillow - evo_entry EVO_LEVEL, 22, SPECIES_SWELLOW - empty_evo_entries 4 - -@ Swellow - empty_evo_entries 5 - -@ Shroomish - evo_entry EVO_LEVEL, 23, SPECIES_BRELOOM - empty_evo_entries 4 - -@ Breloom - empty_evo_entries 5 - -@ Spinda - empty_evo_entries 5 - -@ Wingull - evo_entry EVO_LEVEL, 25, SPECIES_PELIPPER - empty_evo_entries 4 - -@ Pelipper - empty_evo_entries 5 - -@ Surskit - evo_entry EVO_LEVEL, 22, SPECIES_MASQUERAIN - empty_evo_entries 4 - -@ Masquerain - empty_evo_entries 5 - -@ Wailmer - evo_entry EVO_LEVEL, 40, SPECIES_WAILORD - empty_evo_entries 4 - -@ Wailord - empty_evo_entries 5 - -@ Skitty - evo_entry EVO_ITEM, ITEM_MOON_STONE, SPECIES_DELCATTY - empty_evo_entries 4 - -@ Delcatty - empty_evo_entries 5 - -@ Kecleon - empty_evo_entries 5 - -@ Baltoy - evo_entry EVO_LEVEL, 36, SPECIES_CLAYDOL - empty_evo_entries 4 - -@ Claydol - empty_evo_entries 5 - -@ Nosepass - empty_evo_entries 5 - -@ Torkoal - empty_evo_entries 5 - -@ Sableye - empty_evo_entries 5 - -@ Barboach - evo_entry EVO_LEVEL, 30, SPECIES_WHISCASH - empty_evo_entries 4 - -@ Whiscash - empty_evo_entries 5 - -@ Luvdisc - empty_evo_entries 5 - -@ Corphish - evo_entry EVO_LEVEL, 30, SPECIES_CRAWDAUNT - empty_evo_entries 4 - -@ Crawdaunt - empty_evo_entries 5 - -@ Feebas - evo_entry EVO_BEAUTY, 170, SPECIES_MILOTIC - empty_evo_entries 4 - -@ Milotic - empty_evo_entries 5 - -@ Carvanha - evo_entry EVO_LEVEL, 30, SPECIES_SHARPEDO - empty_evo_entries 4 - -@ Sharpedo - empty_evo_entries 5 - -@ Trapinch - evo_entry EVO_LEVEL, 35, SPECIES_VIBRAVA - empty_evo_entries 4 - -@ Vibrava - evo_entry EVO_LEVEL, 45, SPECIES_FLYGON - empty_evo_entries 4 - -@ Flygon - empty_evo_entries 5 - -@ Makuhita - evo_entry EVO_LEVEL, 24, SPECIES_HARIYAMA - empty_evo_entries 4 - -@ Hariyama - empty_evo_entries 5 - -@ Electrike - evo_entry EVO_LEVEL, 26, SPECIES_MANECTRIC - empty_evo_entries 4 - -@ Manectric - empty_evo_entries 5 - -@ Numel - evo_entry EVO_LEVEL, 33, SPECIES_CAMERUPT - empty_evo_entries 4 - -@ Camerupt - empty_evo_entries 5 - -@ Spheal - evo_entry EVO_LEVEL, 32, SPECIES_SEALEO - empty_evo_entries 4 - -@ Sealeo - evo_entry EVO_LEVEL, 44, SPECIES_WALREIN - empty_evo_entries 4 - -@ Walrein - empty_evo_entries 5 - -@ Cacnea - evo_entry EVO_LEVEL, 32, SPECIES_CACTURNE - empty_evo_entries 4 - -@ Cacturne - empty_evo_entries 5 - -@ Snorunt - evo_entry EVO_LEVEL, 42, SPECIES_GLALIE - empty_evo_entries 4 - -@ Glalie - empty_evo_entries 5 - -@ Lunatone - empty_evo_entries 5 - -@ Solrock - empty_evo_entries 5 - -@ Azurill - evo_entry EVO_FRIENDSHIP, 0, SPECIES_MARILL - empty_evo_entries 4 - -@ Spoink - evo_entry EVO_LEVEL, 32, SPECIES_GRUMPIG - empty_evo_entries 4 - -@ Grumpig - empty_evo_entries 5 - -@ Plusle - empty_evo_entries 5 - -@ Minun - empty_evo_entries 5 - -@ Mawile - empty_evo_entries 5 - -@ Meditite - evo_entry EVO_LEVEL, 37, SPECIES_MEDICHAM - empty_evo_entries 4 - -@ Medicham - empty_evo_entries 5 - -@ Swablu - evo_entry EVO_LEVEL, 35, SPECIES_ALTARIA - empty_evo_entries 4 - -@ Altaria - empty_evo_entries 5 - -@ Wynaut - evo_entry EVO_LEVEL, 15, SPECIES_WOBBUFFET - empty_evo_entries 4 - -@ Duskull - evo_entry EVO_LEVEL, 37, SPECIES_DUSCLOPS - empty_evo_entries 4 - -@ Dusclops - empty_evo_entries 5 - -@ Roselia - empty_evo_entries 5 - -@ Slakoth - evo_entry EVO_LEVEL, 18, SPECIES_VIGOROTH - empty_evo_entries 4 - -@ Vigoroth - evo_entry EVO_LEVEL, 36, SPECIES_SLAKING - empty_evo_entries 4 - -@ Slaking - empty_evo_entries 5 - -@ Gulpin - evo_entry EVO_LEVEL, 26, SPECIES_SWALOT - empty_evo_entries 4 - -@ Swalot - empty_evo_entries 5 - -@ Tropius - empty_evo_entries 5 - -@ Whismur - evo_entry EVO_LEVEL, 20, SPECIES_LOUDRED - empty_evo_entries 4 - -@ Loudred - evo_entry EVO_LEVEL, 40, SPECIES_EXPLOUD - empty_evo_entries 4 - -@ Exploud - empty_evo_entries 5 - -@ Clamperl - evo_entry EVO_TRADE_ITEM, ITEM_DEEP_SEA_TOOTH, SPECIES_HUNTAIL - evo_entry EVO_TRADE_ITEM, ITEM_DEEP_SEA_SCALE, SPECIES_GOREBYSS - empty_evo_entries 3 - -@ Huntail - empty_evo_entries 5 - -@ Gorebyss - empty_evo_entries 5 - -@ Absol - empty_evo_entries 5 - -@ Shuppet - evo_entry EVO_LEVEL, 37, SPECIES_BANETTE - empty_evo_entries 4 - -@ Banette - empty_evo_entries 5 - -@ Seviper - empty_evo_entries 5 - -@ Zangoose - empty_evo_entries 5 - -@ Relicanth - empty_evo_entries 5 - -@ Aron - evo_entry EVO_LEVEL, 32, SPECIES_LAIRON - empty_evo_entries 4 - -@ Lairon - evo_entry EVO_LEVEL, 42, SPECIES_AGGRON - empty_evo_entries 4 - -@ Aggron - empty_evo_entries 5 - -@ Castform - empty_evo_entries 5 - -@ Volbeat - empty_evo_entries 5 - -@ Illumise - empty_evo_entries 5 - -@ Lileep - evo_entry EVO_LEVEL, 40, SPECIES_CRADILY - empty_evo_entries 4 - -@ Cradily - empty_evo_entries 5 - -@ Anorith - evo_entry EVO_LEVEL, 40, SPECIES_ARMALDO - empty_evo_entries 4 - -@ Armaldo - empty_evo_entries 5 - -@ Ralts - evo_entry EVO_LEVEL, 20, SPECIES_KIRLIA - empty_evo_entries 4 - -@ Kirlia - evo_entry EVO_LEVEL, 30, SPECIES_GARDEVOIR - empty_evo_entries 4 - -@ Gardevoir - empty_evo_entries 5 - -@ Bagon - evo_entry EVO_LEVEL, 30, SPECIES_SHELGON - empty_evo_entries 4 - -@ Shelgon - evo_entry EVO_LEVEL, 50, SPECIES_SALAMENCE - empty_evo_entries 4 - -@ Salamence - empty_evo_entries 5 - -@ Beldum - evo_entry EVO_LEVEL, 20, SPECIES_METANG - empty_evo_entries 4 - -@ Metang - evo_entry EVO_LEVEL, 45, SPECIES_METAGROSS - empty_evo_entries 4 - -@ Metagross - empty_evo_entries 5 - -@ Regirock - empty_evo_entries 5 - -@ Regice - empty_evo_entries 5 - -@ Registeel - empty_evo_entries 5 - -@ Kyogre - empty_evo_entries 5 - -@ Groudon - empty_evo_entries 5 - -@ Rayquaza - empty_evo_entries 5 - -@ Latias - empty_evo_entries 5 - -@ Latios - empty_evo_entries 5 - -@ Jirachi - empty_evo_entries 5 - -@ Deoxys - empty_evo_entries 5 - -@ Chimecho - empty_evo_entries 5 diff --git a/data/experience_tables.inc b/data/experience_tables.inc deleted file mode 100644 index 4afd6df401..0000000000 --- a/data/experience_tables.inc +++ /dev/null @@ -1,11 +0,0 @@ - .align 2 -gExperienceTables:: @ 831F72C - .include "data/experience_tables/medium_fast_growth_rate.inc" - .include "data/experience_tables/erratic_growth_rate.inc" - .include "data/experience_tables/fluctuating_growth_rate.inc" - .include "data/experience_tables/medium_slow_growth_rate.inc" - .include "data/experience_tables/fast_growth_rate.inc" - .include "data/experience_tables/slow_growth_rate.inc" -@ TODO: find out if these copies are used - .include "data/experience_tables/medium_fast_growth_rate.inc" - .include "data/experience_tables/medium_fast_growth_rate.inc" diff --git a/data/experience_tables/erratic_growth_rate.inc b/data/experience_tables/erratic_growth_rate.inc deleted file mode 100644 index d3a455a9f2..0000000000 --- a/data/experience_tables/erratic_growth_rate.inc +++ /dev/null @@ -1,101 +0,0 @@ - .4byte 0 @ 0 - .4byte 1 @ 1 - .4byte 15 @ 2 - .4byte 52 @ 3 - .4byte 122 @ 4 - .4byte 237 @ 5 - .4byte 406 @ 6 - .4byte 637 @ 7 - .4byte 942 @ 8 - .4byte 1326 @ 9 - .4byte 1800 @ 10 - .4byte 2369 @ 11 - .4byte 3041 @ 12 - .4byte 3822 @ 13 - .4byte 4719 @ 14 - .4byte 5737 @ 15 - .4byte 6881 @ 16 - .4byte 8155 @ 17 - .4byte 9564 @ 18 - .4byte 11111 @ 19 - .4byte 12800 @ 20 - .4byte 14632 @ 21 - .4byte 16610 @ 22 - .4byte 18737 @ 23 - .4byte 21012 @ 24 - .4byte 23437 @ 25 - .4byte 26012 @ 26 - .4byte 28737 @ 27 - .4byte 31610 @ 28 - .4byte 34632 @ 29 - .4byte 37800 @ 30 - .4byte 41111 @ 31 - .4byte 44564 @ 32 - .4byte 48155 @ 33 - .4byte 51881 @ 34 - .4byte 55737 @ 35 - .4byte 59719 @ 36 - .4byte 63822 @ 37 - .4byte 68041 @ 38 - .4byte 72369 @ 39 - .4byte 76800 @ 40 - .4byte 81326 @ 41 - .4byte 85942 @ 42 - .4byte 90637 @ 43 - .4byte 95406 @ 44 - .4byte 100237 @ 45 - .4byte 105122 @ 46 - .4byte 110052 @ 47 - .4byte 115015 @ 48 - .4byte 120001 @ 49 - .4byte 125000 @ 50 - .4byte 131324 @ 51 - .4byte 137795 @ 52 - .4byte 144410 @ 53 - .4byte 151165 @ 54 - .4byte 158056 @ 55 - .4byte 165079 @ 56 - .4byte 172229 @ 57 - .4byte 179503 @ 58 - .4byte 186894 @ 59 - .4byte 194400 @ 60 - .4byte 202013 @ 61 - .4byte 209728 @ 62 - .4byte 217540 @ 63 - .4byte 225443 @ 64 - .4byte 233431 @ 65 - .4byte 241496 @ 66 - .4byte 249633 @ 67 - .4byte 257834 @ 68 - .4byte 267406 @ 69 - .4byte 276458 @ 70 - .4byte 286328 @ 71 - .4byte 296358 @ 72 - .4byte 305767 @ 73 - .4byte 316074 @ 74 - .4byte 326531 @ 75 - .4byte 336255 @ 76 - .4byte 346965 @ 77 - .4byte 357812 @ 78 - .4byte 367807 @ 79 - .4byte 378880 @ 80 - .4byte 390077 @ 81 - .4byte 400293 @ 82 - .4byte 411686 @ 83 - .4byte 423190 @ 84 - .4byte 433572 @ 85 - .4byte 445239 @ 86 - .4byte 457001 @ 87 - .4byte 467489 @ 88 - .4byte 479378 @ 89 - .4byte 491346 @ 90 - .4byte 501878 @ 91 - .4byte 513934 @ 92 - .4byte 526049 @ 93 - .4byte 536557 @ 94 - .4byte 548720 @ 95 - .4byte 560922 @ 96 - .4byte 571333 @ 97 - .4byte 583539 @ 98 - .4byte 591882 @ 99 - .4byte 600000 @ 100 diff --git a/data/experience_tables/fast_growth_rate.inc b/data/experience_tables/fast_growth_rate.inc deleted file mode 100644 index d8675fdc0b..0000000000 --- a/data/experience_tables/fast_growth_rate.inc +++ /dev/null @@ -1,101 +0,0 @@ - .4byte 0 @ 0 - .4byte 1 @ 1 - .4byte 6 @ 2 - .4byte 21 @ 3 - .4byte 51 @ 4 - .4byte 100 @ 5 - .4byte 172 @ 6 - .4byte 274 @ 7 - .4byte 409 @ 8 - .4byte 583 @ 9 - .4byte 800 @ 10 - .4byte 1064 @ 11 - .4byte 1382 @ 12 - .4byte 1757 @ 13 - .4byte 2195 @ 14 - .4byte 2700 @ 15 - .4byte 3276 @ 16 - .4byte 3930 @ 17 - .4byte 4665 @ 18 - .4byte 5487 @ 19 - .4byte 6400 @ 20 - .4byte 7408 @ 21 - .4byte 8518 @ 22 - .4byte 9733 @ 23 - .4byte 11059 @ 24 - .4byte 12500 @ 25 - .4byte 14060 @ 26 - .4byte 15746 @ 27 - .4byte 17561 @ 28 - .4byte 19511 @ 29 - .4byte 21600 @ 30 - .4byte 23832 @ 31 - .4byte 26214 @ 32 - .4byte 28749 @ 33 - .4byte 31443 @ 34 - .4byte 34300 @ 35 - .4byte 37324 @ 36 - .4byte 40522 @ 37 - .4byte 43897 @ 38 - .4byte 47455 @ 39 - .4byte 51200 @ 40 - .4byte 55136 @ 41 - .4byte 59270 @ 42 - .4byte 63605 @ 43 - .4byte 68147 @ 44 - .4byte 72900 @ 45 - .4byte 77868 @ 46 - .4byte 83058 @ 47 - .4byte 88473 @ 48 - .4byte 94119 @ 49 - .4byte 100000 @ 50 - .4byte 106120 @ 51 - .4byte 112486 @ 52 - .4byte 119101 @ 53 - .4byte 125971 @ 54 - .4byte 133100 @ 55 - .4byte 140492 @ 56 - .4byte 148154 @ 57 - .4byte 156089 @ 58 - .4byte 164303 @ 59 - .4byte 172800 @ 60 - .4byte 181584 @ 61 - .4byte 190662 @ 62 - .4byte 200037 @ 63 - .4byte 209715 @ 64 - .4byte 219700 @ 65 - .4byte 229996 @ 66 - .4byte 240610 @ 67 - .4byte 251545 @ 68 - .4byte 262807 @ 69 - .4byte 274400 @ 70 - .4byte 286328 @ 71 - .4byte 298598 @ 72 - .4byte 311213 @ 73 - .4byte 324179 @ 74 - .4byte 337500 @ 75 - .4byte 351180 @ 76 - .4byte 365226 @ 77 - .4byte 379641 @ 78 - .4byte 394431 @ 79 - .4byte 409600 @ 80 - .4byte 425152 @ 81 - .4byte 441094 @ 82 - .4byte 457429 @ 83 - .4byte 474163 @ 84 - .4byte 491300 @ 85 - .4byte 508844 @ 86 - .4byte 526802 @ 87 - .4byte 545177 @ 88 - .4byte 563975 @ 89 - .4byte 583200 @ 90 - .4byte 602856 @ 91 - .4byte 622950 @ 92 - .4byte 643485 @ 93 - .4byte 664467 @ 94 - .4byte 685900 @ 95 - .4byte 707788 @ 96 - .4byte 730138 @ 97 - .4byte 752953 @ 98 - .4byte 776239 @ 99 - .4byte 800000 @ 100 diff --git a/data/experience_tables/fluctuating_growth_rate.inc b/data/experience_tables/fluctuating_growth_rate.inc deleted file mode 100644 index 81a9623270..0000000000 --- a/data/experience_tables/fluctuating_growth_rate.inc +++ /dev/null @@ -1,101 +0,0 @@ - .4byte 0 @ 0 - .4byte 1 @ 1 - .4byte 4 @ 2 - .4byte 13 @ 3 - .4byte 32 @ 4 - .4byte 65 @ 5 - .4byte 112 @ 6 - .4byte 178 @ 7 - .4byte 276 @ 8 - .4byte 393 @ 9 - .4byte 540 @ 10 - .4byte 745 @ 11 - .4byte 967 @ 12 - .4byte 1230 @ 13 - .4byte 1591 @ 14 - .4byte 1957 @ 15 - .4byte 2457 @ 16 - .4byte 3046 @ 17 - .4byte 3732 @ 18 - .4byte 4526 @ 19 - .4byte 5440 @ 20 - .4byte 6482 @ 21 - .4byte 7666 @ 22 - .4byte 9003 @ 23 - .4byte 10506 @ 24 - .4byte 12187 @ 25 - .4byte 14060 @ 26 - .4byte 16140 @ 27 - .4byte 18439 @ 28 - .4byte 20974 @ 29 - .4byte 23760 @ 30 - .4byte 26811 @ 31 - .4byte 30146 @ 32 - .4byte 33780 @ 33 - .4byte 37731 @ 34 - .4byte 42017 @ 35 - .4byte 46656 @ 36 - .4byte 50653 @ 37 - .4byte 55969 @ 38 - .4byte 60505 @ 39 - .4byte 66560 @ 40 - .4byte 71677 @ 41 - .4byte 78533 @ 42 - .4byte 84277 @ 43 - .4byte 91998 @ 44 - .4byte 98415 @ 45 - .4byte 107069 @ 46 - .4byte 114205 @ 47 - .4byte 123863 @ 48 - .4byte 131766 @ 49 - .4byte 142500 @ 50 - .4byte 151222 @ 51 - .4byte 163105 @ 52 - .4byte 172697 @ 53 - .4byte 185807 @ 54 - .4byte 196322 @ 55 - .4byte 210739 @ 56 - .4byte 222231 @ 57 - .4byte 238036 @ 58 - .4byte 250562 @ 59 - .4byte 267840 @ 60 - .4byte 281456 @ 61 - .4byte 300293 @ 62 - .4byte 315059 @ 63 - .4byte 335544 @ 64 - .4byte 351520 @ 65 - .4byte 373744 @ 66 - .4byte 390991 @ 67 - .4byte 415050 @ 68 - .4byte 433631 @ 69 - .4byte 459620 @ 70 - .4byte 479600 @ 71 - .4byte 507617 @ 72 - .4byte 529063 @ 73 - .4byte 559209 @ 74 - .4byte 582187 @ 75 - .4byte 614566 @ 76 - .4byte 639146 @ 77 - .4byte 673863 @ 78 - .4byte 700115 @ 79 - .4byte 737280 @ 80 - .4byte 765275 @ 81 - .4byte 804997 @ 82 - .4byte 834809 @ 83 - .4byte 877201 @ 84 - .4byte 908905 @ 85 - .4byte 954084 @ 86 - .4byte 987754 @ 87 - .4byte 1035837 @ 88 - .4byte 1071552 @ 89 - .4byte 1122660 @ 90 - .4byte 1160499 @ 91 - .4byte 1214753 @ 92 - .4byte 1254796 @ 93 - .4byte 1312322 @ 94 - .4byte 1354652 @ 95 - .4byte 1415577 @ 96 - .4byte 1460276 @ 97 - .4byte 1524731 @ 98 - .4byte 1571884 @ 99 - .4byte 1640000 @ 100 diff --git a/data/experience_tables/medium_fast_growth_rate.inc b/data/experience_tables/medium_fast_growth_rate.inc deleted file mode 100644 index 5a51dd3816..0000000000 --- a/data/experience_tables/medium_fast_growth_rate.inc +++ /dev/null @@ -1,101 +0,0 @@ - .4byte 0 @ 0 - .4byte 1 @ 1 - .4byte 8 @ 2 - .4byte 27 @ 3 - .4byte 64 @ 4 - .4byte 125 @ 5 - .4byte 216 @ 6 - .4byte 343 @ 7 - .4byte 512 @ 8 - .4byte 729 @ 9 - .4byte 1000 @ 10 - .4byte 1331 @ 11 - .4byte 1728 @ 12 - .4byte 2197 @ 13 - .4byte 2744 @ 14 - .4byte 3375 @ 15 - .4byte 4096 @ 16 - .4byte 4913 @ 17 - .4byte 5832 @ 18 - .4byte 6859 @ 19 - .4byte 8000 @ 20 - .4byte 9261 @ 21 - .4byte 10648 @ 22 - .4byte 12167 @ 23 - .4byte 13824 @ 24 - .4byte 15625 @ 25 - .4byte 17576 @ 26 - .4byte 19683 @ 27 - .4byte 21952 @ 28 - .4byte 24389 @ 29 - .4byte 27000 @ 30 - .4byte 29791 @ 31 - .4byte 32768 @ 32 - .4byte 35937 @ 33 - .4byte 39304 @ 34 - .4byte 42875 @ 35 - .4byte 46656 @ 36 - .4byte 50653 @ 37 - .4byte 54872 @ 38 - .4byte 59319 @ 39 - .4byte 64000 @ 40 - .4byte 68921 @ 41 - .4byte 74088 @ 42 - .4byte 79507 @ 43 - .4byte 85184 @ 44 - .4byte 91125 @ 45 - .4byte 97336 @ 46 - .4byte 103823 @ 47 - .4byte 110592 @ 48 - .4byte 117649 @ 49 - .4byte 125000 @ 50 - .4byte 132651 @ 51 - .4byte 140608 @ 52 - .4byte 148877 @ 53 - .4byte 157464 @ 54 - .4byte 166375 @ 55 - .4byte 175616 @ 56 - .4byte 185193 @ 57 - .4byte 195112 @ 58 - .4byte 205379 @ 59 - .4byte 216000 @ 60 - .4byte 226981 @ 61 - .4byte 238328 @ 62 - .4byte 250047 @ 63 - .4byte 262144 @ 64 - .4byte 274625 @ 65 - .4byte 287496 @ 66 - .4byte 300763 @ 67 - .4byte 314432 @ 68 - .4byte 328509 @ 69 - .4byte 343000 @ 70 - .4byte 357911 @ 71 - .4byte 373248 @ 72 - .4byte 389017 @ 73 - .4byte 405224 @ 74 - .4byte 421875 @ 75 - .4byte 438976 @ 76 - .4byte 456533 @ 77 - .4byte 474552 @ 78 - .4byte 493039 @ 79 - .4byte 512000 @ 80 - .4byte 531441 @ 81 - .4byte 551368 @ 82 - .4byte 571787 @ 83 - .4byte 592704 @ 84 - .4byte 614125 @ 85 - .4byte 636056 @ 86 - .4byte 658503 @ 87 - .4byte 681472 @ 88 - .4byte 704969 @ 89 - .4byte 729000 @ 90 - .4byte 753571 @ 91 - .4byte 778688 @ 92 - .4byte 804357 @ 93 - .4byte 830584 @ 94 - .4byte 857375 @ 95 - .4byte 884736 @ 96 - .4byte 912673 @ 97 - .4byte 941192 @ 98 - .4byte 970299 @ 99 - .4byte 1000000 @ 100 diff --git a/data/experience_tables/medium_slow_growth_rate.inc b/data/experience_tables/medium_slow_growth_rate.inc deleted file mode 100644 index d4c16b8c0b..0000000000 --- a/data/experience_tables/medium_slow_growth_rate.inc +++ /dev/null @@ -1,101 +0,0 @@ - .4byte 0 @ 0 - .4byte 1 @ 1 - .4byte 9 @ 2 - .4byte 57 @ 3 - .4byte 96 @ 4 - .4byte 135 @ 5 - .4byte 179 @ 6 - .4byte 236 @ 7 - .4byte 314 @ 8 - .4byte 419 @ 9 - .4byte 560 @ 10 - .4byte 742 @ 11 - .4byte 973 @ 12 - .4byte 1261 @ 13 - .4byte 1612 @ 14 - .4byte 2035 @ 15 - .4byte 2535 @ 16 - .4byte 3120 @ 17 - .4byte 3798 @ 18 - .4byte 4575 @ 19 - .4byte 5460 @ 20 - .4byte 6458 @ 21 - .4byte 7577 @ 22 - .4byte 8825 @ 23 - .4byte 10208 @ 24 - .4byte 11735 @ 25 - .4byte 13411 @ 26 - .4byte 15244 @ 27 - .4byte 17242 @ 28 - .4byte 19411 @ 29 - .4byte 21760 @ 30 - .4byte 24294 @ 31 - .4byte 27021 @ 32 - .4byte 29949 @ 33 - .4byte 33084 @ 34 - .4byte 36435 @ 35 - .4byte 40007 @ 36 - .4byte 43808 @ 37 - .4byte 47846 @ 38 - .4byte 52127 @ 39 - .4byte 56660 @ 40 - .4byte 61450 @ 41 - .4byte 66505 @ 42 - .4byte 71833 @ 43 - .4byte 77440 @ 44 - .4byte 83335 @ 45 - .4byte 89523 @ 46 - .4byte 96012 @ 47 - .4byte 102810 @ 48 - .4byte 109923 @ 49 - .4byte 117360 @ 50 - .4byte 125126 @ 51 - .4byte 133229 @ 52 - .4byte 141677 @ 53 - .4byte 150476 @ 54 - .4byte 159635 @ 55 - .4byte 169159 @ 56 - .4byte 179056 @ 57 - .4byte 189334 @ 58 - .4byte 199999 @ 59 - .4byte 211060 @ 60 - .4byte 222522 @ 61 - .4byte 234393 @ 62 - .4byte 246681 @ 63 - .4byte 259392 @ 64 - .4byte 272535 @ 65 - .4byte 286115 @ 66 - .4byte 300140 @ 67 - .4byte 314618 @ 68 - .4byte 329555 @ 69 - .4byte 344960 @ 70 - .4byte 360838 @ 71 - .4byte 377197 @ 72 - .4byte 394045 @ 73 - .4byte 411388 @ 74 - .4byte 429235 @ 75 - .4byte 447591 @ 76 - .4byte 466464 @ 77 - .4byte 485862 @ 78 - .4byte 505791 @ 79 - .4byte 526260 @ 80 - .4byte 547274 @ 81 - .4byte 568841 @ 82 - .4byte 590969 @ 83 - .4byte 613664 @ 84 - .4byte 636935 @ 85 - .4byte 660787 @ 86 - .4byte 685228 @ 87 - .4byte 710266 @ 88 - .4byte 735907 @ 89 - .4byte 762160 @ 90 - .4byte 789030 @ 91 - .4byte 816525 @ 92 - .4byte 844653 @ 93 - .4byte 873420 @ 94 - .4byte 902835 @ 95 - .4byte 932903 @ 96 - .4byte 963632 @ 97 - .4byte 995030 @ 98 - .4byte 1027103 @ 99 - .4byte 1059860 @ 100 diff --git a/data/experience_tables/slow_growth_rate.inc b/data/experience_tables/slow_growth_rate.inc deleted file mode 100644 index 8d10b34ed6..0000000000 --- a/data/experience_tables/slow_growth_rate.inc +++ /dev/null @@ -1,101 +0,0 @@ - .4byte 0 @ 0 - .4byte 1 @ 1 - .4byte 10 @ 2 - .4byte 33 @ 3 - .4byte 80 @ 4 - .4byte 156 @ 5 - .4byte 270 @ 6 - .4byte 428 @ 7 - .4byte 640 @ 8 - .4byte 911 @ 9 - .4byte 1250 @ 10 - .4byte 1663 @ 11 - .4byte 2160 @ 12 - .4byte 2746 @ 13 - .4byte 3430 @ 14 - .4byte 4218 @ 15 - .4byte 5120 @ 16 - .4byte 6141 @ 17 - .4byte 7290 @ 18 - .4byte 8573 @ 19 - .4byte 10000 @ 20 - .4byte 11576 @ 21 - .4byte 13310 @ 22 - .4byte 15208 @ 23 - .4byte 17280 @ 24 - .4byte 19531 @ 25 - .4byte 21970 @ 26 - .4byte 24603 @ 27 - .4byte 27440 @ 28 - .4byte 30486 @ 29 - .4byte 33750 @ 30 - .4byte 37238 @ 31 - .4byte 40960 @ 32 - .4byte 44921 @ 33 - .4byte 49130 @ 34 - .4byte 53593 @ 35 - .4byte 58320 @ 36 - .4byte 63316 @ 37 - .4byte 68590 @ 38 - .4byte 74148 @ 39 - .4byte 80000 @ 40 - .4byte 86151 @ 41 - .4byte 92610 @ 42 - .4byte 99383 @ 43 - .4byte 106480 @ 44 - .4byte 113906 @ 45 - .4byte 121670 @ 46 - .4byte 129778 @ 47 - .4byte 138240 @ 48 - .4byte 147061 @ 49 - .4byte 156250 @ 50 - .4byte 165813 @ 51 - .4byte 175760 @ 52 - .4byte 186096 @ 53 - .4byte 196830 @ 54 - .4byte 207968 @ 55 - .4byte 219520 @ 56 - .4byte 231491 @ 57 - .4byte 243890 @ 58 - .4byte 256723 @ 59 - .4byte 270000 @ 60 - .4byte 283726 @ 61 - .4byte 297910 @ 62 - .4byte 312558 @ 63 - .4byte 327680 @ 64 - .4byte 343281 @ 65 - .4byte 359370 @ 66 - .4byte 375953 @ 67 - .4byte 393040 @ 68 - .4byte 410636 @ 69 - .4byte 428750 @ 70 - .4byte 447388 @ 71 - .4byte 466560 @ 72 - .4byte 486271 @ 73 - .4byte 506530 @ 74 - .4byte 527343 @ 75 - .4byte 548720 @ 76 - .4byte 570666 @ 77 - .4byte 593190 @ 78 - .4byte 616298 @ 79 - .4byte 640000 @ 80 - .4byte 664301 @ 81 - .4byte 689210 @ 82 - .4byte 714733 @ 83 - .4byte 740880 @ 84 - .4byte 767656 @ 85 - .4byte 795070 @ 86 - .4byte 823128 @ 87 - .4byte 851840 @ 88 - .4byte 881211 @ 89 - .4byte 911250 @ 90 - .4byte 941963 @ 91 - .4byte 973360 @ 92 - .4byte 1005446 @ 93 - .4byte 1038230 @ 94 - .4byte 1071718 @ 95 - .4byte 1105920 @ 96 - .4byte 1140841 @ 97 - .4byte 1176490 @ 98 - .4byte 1212873 @ 99 - .4byte 1250000 @ 100 diff --git a/data/field_door.s b/data/field_door.s deleted file mode 100644 index 69a7c65340..0000000000 --- a/data/field_door.s +++ /dev/null @@ -1,17 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_08496F8C:: @ 8496F8C - .incbin "baserom.gba", 0x496f8c, 0x14 - -gUnknown_08496FA0:: @ 8496FA0 - .incbin "baserom.gba", 0x496fa0, 0x14 - -gUnknown_08496FB4:: @ 8496FB4 - .incbin "baserom.gba", 0x496fb4, 0x1c0 - -gUnknown_08497174:: @ 8497174 - .incbin "baserom.gba", 0x497174, 0x288 diff --git a/data/field_effect.s b/data/field_effect.s index a1ddcc2470..e6f8a558ef 100644 --- a/data/field_effect.s +++ b/data/field_effect.s @@ -8,51 +8,88 @@ gNewGameBirchPic:: @ 8553A90 .incbin "graphics/birch_speech/birch.4bpp" - .incbin "baserom.gba", 0x554290, 0x66c0 + .space 0x3800 + + .incbin "graphics/unused/intro_birch_beauty.4bpp" .align 2 gNewGameBirchPalette:: @ 855A950 .incbin "graphics/birch_speech/birch.gbapal" .align 2 - .incbin "baserom.gba", 0x55a970, 0x20 +gSpriteImage_855A970:: @ 855A970 + .incbin "graphics/misc/pokeball_glow.4bpp" .align 2 gFieldEffectObjectPalette4:: @ 855A990 .incbin "graphics/map_objects/palettes/field_effect_object_palette_04.gbapal" - .incbin "baserom.gba", 0x55a9b0, 0x480 + .align 2 +gSpriteImage_855A9B0:: @ 855A9B0 + .incbin "graphics/misc/pokecenter_monitor/0.4bpp" + + .align 2 +gSpriteImage_855AA70:: @ 855AA70 + .incbin "graphics/misc/pokecenter_monitor/1.4bpp" + + .align 2 +gSpriteImage_855AB30:: @ 855AB30 + .incbin "graphics/misc/big_hof_monitor.4bpp" + + .align 2 +gSpriteImage_855AD30:: @ 855AD30 + .incbin "graphics/misc/small_hof_monitor.4bpp" .align 2 gFieldEffectObjectPalette5:: @ 855AE30 .incbin "graphics/map_objects/palettes/field_effect_object_palette_05.gbapal" + .align 2 gUnknown_0855AE50:: @ 855AE50 - .incbin "baserom.gba", 0x55ae50, 0x200 + .incbin "graphics/misc/field_move_streaks.4bpp" + .align 2 gUnknown_0855B050:: @ 855B050 - .incbin "baserom.gba", 0x55b050, 0x20 + .incbin "graphics/misc/field_move_streaks.gbapal" + .align 2 gUnknown_0855B070:: @ 855B070 - .incbin "baserom.gba", 0x55b070, 0x280 + .incbin "graphics/misc/field_move_streaks_map.bin" + .align 2 gUnknown_0855B2F0:: @ 855B2F0 - .incbin "baserom.gba", 0x55b2f0, 0x80 + .incbin "graphics/misc/darkness_field_move_streaks.4bpp" + .align 2 gUnknown_0855B370:: @ 855B370 - .incbin "baserom.gba", 0x55b370, 0x20 + .incbin "graphics/misc/darkness_field_move_streaks.gbapal" + .align 2 gUnknown_0855B390:: @ 855B390 - .incbin "baserom.gba", 0x55b390, 0x280 + .incbin "graphics/misc/darkness_field_move_streaks_map.bin" + .align 2 gUnknown_0855B610:: @ 855B610 - .incbin "baserom.gba", 0x55b610, 0x20 + .incbin "graphics/misc/spotlight.gbapal" + .align 2 gUnknown_0855B630:: @ 855B630 - .incbin "baserom.gba", 0x55b630, 0xbc0 + .incbin "graphics/misc/spotlight.4bpp" + .align 2 +gUnknown_0855C170:: @ 855C170 + .incbin "graphics/unknown/unknown_55C170.4bpp" + + .align 2 gUnknown_0855C1F0:: @ 855C1F0 - .incbin "baserom.gba", 0x55c1f0, 0x20 + .4byte FieldEffectCmd_loadtiles + .4byte FieldEffectCmd_loadfadedpal + .4byte FieldEffectCmd_loadpal + .4byte FieldEffectCmd_callnative + .4byte FieldEffectCmd_end + .4byte FieldEffectCmd_loadgfx_callnative + .4byte FieldEffectCmd_loadtiles_callnative + .4byte FieldEffectCmd_loadfadedpal_callnative .align 2 @ TODO: something else uses these too @@ -61,7 +98,12 @@ gNewGameBirchOamAttributes:: @ 855C210 .2byte 0 .align 2 - .incbin "baserom.gba", 0x55c218, 0x10 +gOamData_855C218:: @ 855C218 + .2byte 0x0000, 0x0000, 0x0000, 0x0000 + + .align 2 +gOamData_855C220:: @ 855C220 + .2byte 0x0000, 0x4000, 0x0000, 0x0000 .align 2 gNewGameBirchPicTable:: @ 855C228 @@ -82,13 +124,7 @@ gNewGameBirchImageAnimTable:: @ 855C240 .align 2 gNewGameBirchObjectTemplate:: @ 855C244 - .2byte 0xFFFF @ tiles tag - .2byte 0x1006 @ palette tag - .4byte gNewGameBirchOamAttributes - .4byte gNewGameBirchImageAnimTable - .4byte gNewGameBirchPicTable - .4byte gDummySpriteAffineAnimTable - .4byte SpriteCallbackDummy + spr_template 0xFFFF, 0x1006, gNewGameBirchOamAttributes, gNewGameBirchImageAnimTable, gNewGameBirchPicTable, gDummySpriteAffineAnimTable, SpriteCallbackDummy .align 2 gFieldEffectObjectPaletteInfo4:: @ 855C25C @@ -98,109 +134,318 @@ gFieldEffectObjectPaletteInfo4:: @ 855C25C gFieldEffectObjectPaletteInfo5:: @ 855C264 obj_pal gFieldEffectObjectPalette5, 0x1010 - .incbin "baserom.gba", 0x55c26c, 0x40 + .align 2 +gOamData_855C26C:: @ 855C26C + .2byte 0x4000, 0x8000, 0x0000, 0x0000 + .align 2 +gUnknown_855C274:: @ 855C274 + obj_frame_tiles gSpriteImage_855A970, 0x0020 + + .align 2 +gUnknown_855C27C:: @ 855C27C + obj_frame_tiles gSpriteImage_855A9B0, 0x00c0 + obj_frame_tiles gSpriteImage_855AA70, 0x00c0 + + .align 2 +gUnknown_855C28C:: @ 855C28C + obj_frame_tiles gSpriteImage_855AB30, 0x0200 + + .align 2 +gUnknown_855C294:: @ 855C294 + obj_frame_tiles gSpriteImage_855AD30, 0x0200 + + .align 2 +gSubspriteTable_855C29C:: @ 855C29C + subsprite -12, -8, 2, 0, 16x8 + subsprite 4, -8, 2, 2, 8x8 + subsprite -12, 0, 2, 3, 16x8 + subsprite 4, 0, 2, 5, 8x8 + + .align 2 gUnknown_0855C2AC:: @ 855C2AC - .incbin "baserom.gba", 0x55c2ac, 0x18 + .4byte 4, gSubspriteTable_855C29C + .align 2 +gSubspriteTable_855C2B4:: @ 855C2B4 + subsprite -32, -8, 2, 0, 32x8 + subsprite 0, -8, 2, 4, 32x8 + subsprite -32, 0, 2, 8, 32x8 + subsprite 0, 0, 2, 12, 32x8 + + .align 2 gUnknown_0855C2C4:: @ 855C2C4 - .incbin "baserom.gba", 0x55c2c4, 0x40 + .4byte 4, gSubspriteTable_855C2B4 + .align 2 +gUnknown_0855C2CC:: @ 855C2CC + .2byte 0x0000, 0x0001, 0xfffe, 0x0000 + + .align 2 +gUnknown_0855C2D4:: @ 855C2D4 + .2byte 0x0000, 0x0010, 0x0001, 0x0010, 0x0000, 0x0010, 0x0001, 0x0010, 0x0000, 0x0010, 0x0001, 0x0010, 0x0000, 0x0010, 0x0001, 0x0010 + .2byte 0xffff, 0x0000 + + .align 2 +gUnknown_0855C2F8:: @ 855C2F8 + .4byte gUnknown_0855C2CC + .4byte gUnknown_0855C2D4 + + .align 2 +gUnknown_0855C300:: @ 855C300 + .4byte gUnknown_0855C2CC + + .align 2 gUnknown_0855C304:: @ 855C304 - .incbin "baserom.gba", 0x55c304, 0x18 + spr_template 0xffff, 0x1007, gOamData_855C218, gUnknown_0855C2F8, gUnknown_855C274, gDummySpriteAffineAnimTable, sub_80B6828 + .align 2 gUnknown_0855C31C:: @ 855C31C - .incbin "baserom.gba", 0x55c31c, 0x18 + spr_template 0xffff, 0x1004, gOamData_855C220, gUnknown_0855C2F8, gUnknown_855C27C, gDummySpriteAffineAnimTable, sub_80B68AC + .align 2 gUnknown_0855C334:: @ 855C334 - .incbin "baserom.gba", 0x55c334, 0x18 + spr_template 0xffff, 0x1010, gOamData_855C220, gUnknown_0855C300, gUnknown_855C28C, gDummySpriteAffineAnimTable, sub_80B6970 + .align 2 gUnknown_0855C34C:: @ 855C34C - .incbin "baserom.gba", 0x55c34c, 0x18 + spr_template 0xffff, 0x1010, gOamData_855C26C, gUnknown_0855C300, gUnknown_855C294, gDummySpriteAffineAnimTable, sub_80B6970 + .align 2 gUnknown_0855C364:: @ 855C364 - .incbin "baserom.gba", 0x55c364, 0x10 + .4byte sub_80B6214 + .4byte sub_80B6250 + .4byte sub_80B628C + .4byte sub_80B62B4 + .align 2 gUnknown_0855C374:: @ 855C374 - .incbin "baserom.gba", 0x55c374, 0x10 + .4byte sub_80B6360 + .4byte sub_80B63D4 + .4byte sub_80B6404 + .4byte sub_80B642C + .align 2 gUnknown_0855C384:: @ 855C384 - .incbin "baserom.gba", 0x55c384, 0x20 + .4byte sub_80B64DC + .4byte sub_80B6574 + .4byte sub_80B65A8 + .4byte sub_80B66E8 + .4byte sub_80B67DC + .4byte sub_80B67F8 + .4byte sub_80B6800 + .4byte nullsub_97 + .align 1 gUnknown_0855C3A4:: @ 855C3A4 - .incbin "baserom.gba", 0x55c3a4, 0x18 + .2byte 0x0000, 0x0000, 0x0006, 0x0000, 0x0000, 0x0004, 0x0006, 0x0004, 0x0000, 0x0008, 0x0006, 0x0008 gUnknown_0855C3BC:: @ 855C3BC - .incbin "baserom.gba", 0x55c3bc, 0x4 + .byte 0x10, 0x0c, 0x08, 0x00 gUnknown_0855C3C0:: @ 855C3C0 - .incbin "baserom.gba", 0x55c3c0, 0x4 + .byte 0x10, 0x0c, 0x08, 0x00 gUnknown_0855C3C4:: @ 855C3C4 - .incbin "baserom.gba", 0x55c3c4, 0x4 + .byte 0x00, 0x00, 0x00, 0x00 + .align 2 gUnknown_0855C3C8:: @ 855C3C8 - .incbin "baserom.gba", 0x55c3c8, 0x1c + .4byte sub_80B6BCC + .4byte sub_80B6C74 + .4byte sub_80B6C90 + .4byte sub_80B6D04 + .4byte sub_80B6DBC + .4byte sub_80B6DD8 + .4byte sub_80B6E18 + .align 2 gUnknown_0855C3E4:: @ 855C3E4 - .incbin "baserom.gba", 0x55c3e4, 0x18 + .4byte sub_80B6EC0 + .4byte sub_80B6EE0 + .4byte sub_80B6F50 + .4byte sub_80B6F74 + .4byte sub_80B6F84 + .4byte sub_80B6FA8 + .align 2 gUnknown_0855C3FC:: @ 855C3FC - .incbin "baserom.gba", 0x55c3fc, 0x1c + .4byte sub_80B7114 + .4byte sub_80B7190 + .4byte sub_80B71D0 + .4byte sub_80B7230 + .4byte sub_80B7270 + .4byte sub_80B72D0 + .4byte sub_80B72F4 + .align 2 gUnknown_0855C418:: @ 855C418 - .incbin "baserom.gba", 0x55c418, 0x14 + .4byte sub_80B73D0 + .4byte waterfall_1_do_anim_probably + .4byte waterfall_2_wait_anim_finish_probably + .4byte sub_80B7450 + .4byte sub_80B7478 + .align 2 gUnknown_0855C42C:: @ 855C42C - .incbin "baserom.gba", 0x55c42c, 0xc + .4byte dive_1_lock + .4byte dive_2_unknown + .4byte dive_3_unknown + .align 2 gUnknown_0855C438:: @ 855C438 - .incbin "baserom.gba", 0x55c438, 0x18 + .4byte sub_80B764C + .4byte sub_80B7684 + .4byte sub_80B76B8 + .4byte sub_80B7704 + .4byte sub_80B77F8 + .4byte sub_80B7814 + .align 2 gUnknown_0855C450:: @ 855C450 - .incbin "baserom.gba", 0x55c450, 0x10 + .4byte sub_80B78EC + .4byte sub_80B791C + .4byte sub_80B7968 + .4byte sub_80B79BC + .align 2 gUnknown_0855C460:: @ 855C460 - .incbin "baserom.gba", 0x55c460, 0x14 + .4byte sub_80B7AE8 + .4byte sub_80B7B18 + .4byte sub_80B7B94 + .4byte sub_80B7BCC + .4byte sub_80B7BF4 + .align 2 gUnknown_0855C474:: @ 855C474 - .incbin "baserom.gba", 0x55c474, 0x8 + .4byte sub_80B7D14 + .4byte sub_80B7D34 gUnknown_0855C47C:: @ 855C47C - .incbin "baserom.gba", 0x55c47c, 0x8 + .byte 0x01, 0x03, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00 + .align 2 gUnknown_0855C484:: @ 855C484 - .incbin "baserom.gba", 0x55c484, 0x8 + .4byte sub_80B7EC4 + .4byte sub_80B7EE8 + .align 2 gUnknown_0855C48C:: @ 855C48C - .incbin "baserom.gba", 0x55c48c, 0x10 + .4byte sub_80B800C + .4byte sub_80B8034 + .4byte sub_80B80C4 + .4byte sub_80B8198 + .align 2 gUnknown_0855C49C:: @ 855C49C - .incbin "baserom.gba", 0x55c49c, 0xc + .4byte sub_80B8280 + .4byte sub_80B830C + .4byte sub_80B8410 + .align 2 gUnknown_0855C4A8:: @ 855C4A8 - .incbin "baserom.gba", 0x55c4a8, 0x1c + .4byte sub_80B8584 + .4byte sub_80B85F8 + .4byte sub_80B8660 + .4byte sub_80B86EC + .4byte sub_80B871C + .4byte sub_80B8770 + .4byte overworld_bg_setup_2 + .align 2 gUnknown_0855C4C4:: @ 855C4C4 - .incbin "baserom.gba", 0x55c4c4, 0x1c + .4byte sub_80B88E4 + .4byte sub_80B8920 + .4byte sub_80B898C + .4byte sub_80B89DC + .4byte sub_80B8A0C + .4byte sub_80B8A44 + .4byte sub_80B8A64 + .align 2 gUnknown_0855C4E0:: @ 855C4E0 - .incbin "baserom.gba", 0x55c4e0, 0x14 + .4byte sub_80B8DB4 + .4byte sub_80B8E14 + .4byte sub_80B8E60 + .4byte sub_80B8EA8 + .4byte sub_80B8F24 + .align 2 gUnknown_0855C4F4:: @ 855C4F4 - .incbin "baserom.gba", 0x55c4f4, 0x54 + .4byte sub_80B9204 + .4byte sub_80B925C + .4byte sub_80B92A0 + .4byte sub_80B92F8 + .4byte sub_80B933C + .4byte sub_80B9390 + .4byte sub_80B9418 + .4byte sub_80B9474 + .4byte sub_80B9494 + .align 2 +gUnknown_0855C518:: @ 855C518 + .2byte 0x0008, 0x0008, 0x00e2, 0x0000, 0x001c, 0x001c, 0x1e00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_0855C530:: @ 855C530 + .2byte 0x0100, 0x0100, 0x0040, 0x0000, 0xfff6, 0xfff6, 0x1600, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 gUnknown_0855C548:: @ 855C548 - .incbin "baserom.gba", 0x55c548, 0x8 + .4byte gUnknown_0855C518 + .4byte gUnknown_0855C530 + .align 2 gUnknown_0855C550:: @ 855C550 - .incbin "baserom.gba", 0x55c550, 0x1c + .4byte sub_80B9804 + .4byte sub_80B98B8 + .4byte sub_80B9924 + .4byte sub_80B9978 + .4byte sub_80B99F0 + .4byte sub_80B9A28 + .4byte sub_80B9A60 gUnknown_0855C56C:: @ 855C56C - .incbin "baserom.gba", 0x55c56c, 0x24 + .byte 0xfe, 0xff, 0xfc, 0xff, 0xfb, 0xff, 0xfa, 0xff, 0xf9, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf9, 0xff, 0xf9, 0xff, 0xfa, 0xff, 0xfb, 0xff, 0xfd, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x02, 0x00 + .byte 0x04, 0x00, 0x08, 0x00 + .align 2 gUnknown_0855C590:: @ 855C590 - .incbin "baserom.gba", 0x55c590, 0x5c + .4byte sub_80B9C28 + .4byte sub_80B9C54 + .4byte sub_80B9CDC + .align 2 +gUnknown_0855C59C:: @ 855C59C + obj_frame_tiles gUnknown_0855C170, 0x0020 + obj_frame_tiles gUnknown_0855C170 + 0x20, 0x0020 + obj_frame_tiles gUnknown_0855C170 + 0x40, 0x0020 + obj_frame_tiles gUnknown_0855C170 + 0x60, 0x0020 + + .align 2 +gUnknown_0855C5BC:: @ 855C5BC + .2byte 0x0000, 0x0000, 0xffff, 0x0000 + + .align 2 +gUnknown_0855C5C4:: @ 855C5C4 + .2byte 0x0001, 0x0000, 0xffff, 0x0000 + + .align 2 +gUnknown_0855C5CC:: @ 855C5CC + .2byte 0x0002, 0x0000, 0xffff, 0x0000 + + .align 2 +gUnknown_0855C5D4:: @ 855C5D4 + .2byte 0x0003, 0x0000, 0xffff, 0x0000 + + .align 2 +gUnknown_0855C5DC:: @ 855C5DC + .4byte gUnknown_0855C5BC + .4byte gUnknown_0855C5C4 + .4byte gUnknown_0855C5CC + .4byte gUnknown_0855C5D4 + + .align 2 gUnknown_0855C5EC:: @ 855C5EC - .incbin "baserom.gba", 0x55c5ec, 0x18 + spr_template 0xffff, 0x111a, gOamData_855C218, gUnknown_0855C5DC, gUnknown_0855C59C, gDummySpriteAffineAnimTable, sub_80B9DB8 + diff --git a/data/field_effect_helpers.s b/data/field_effect_helpers.s index 97086af0db..63fc1580ea 100644 --- a/data/field_effect_helpers.s +++ b/data/field_effect_helpers.s @@ -4,22 +4,29 @@ .section .rodata gUnknown_085CDC38:: @ 85CDC38 - .incbin "baserom.gba", 0x5cdc38, 0x6 + .2byte 12, 28, 44 gUnknown_085CDC3E:: @ 85CDC3E - .incbin "baserom.gba", 0x5cdc3e, 0x4 + .byte 0x00, 0x01, 0x02, 0x03 gUnknown_085CDC42:: @ 85CDC42 - .incbin "baserom.gba", 0x5cdc42, 0xa + .2byte 0x0004, 0x0004, 0x0004, 0x0010, 0x0000 gUnknown_085CDC4C:: @ 85CDC4C - .incbin "baserom.gba", 0x5cdc4c, 0x8 + .4byte sub_8154C7C + .4byte sub_8154CA0 gUnknown_085CDC54:: @ 85CDC54 - .incbin "baserom.gba", 0x5cdc54, 0xc + .4byte sub_815547C + .4byte sub_81554AC + .4byte sub_815550C gUnknown_085CDC60:: @ 85CDC60 - .incbin "baserom.gba", 0x5cdc60, 0xa - + .byte 0, 0, 1, 2, 3, 0, 0, 1, 1 + .byte 0 + gUnknown_085CDC6A:: @ 85CDC6A - .incbin "baserom.gba", 0x5cdc6a, 0x96 + .2byte 3, 7 + @the following might be unref, not sure + .byte 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00 + diff --git a/data/field_effect_misc.s b/data/field_effect_misc.s index 88f9f1c946..ef73c32635 100644 --- a/data/field_effect_misc.s +++ b/data/field_effect_misc.s @@ -4,28 +4,169 @@ .section .rodata .align 2 - .incbin "baserom.gba", 0x58d978, 0x2a0 +gSpriteImage_858D978:: @ 858D978 + .incbin "graphics/unknown/858E588/0.4bpp" + + .align 2 +gSpriteImage_858D9F8:: @ 858D9F8 + .incbin "graphics/unknown/858E588/1.4bpp" + + .align 2 +gSpriteImage_858DA78:: @ 858DA78 + .incbin "graphics/unknown/858E588/2.4bpp" + + .align 2 +gSpriteImage_858DAF8:: @ 858DAF8 + .incbin "graphics/unknown/858E588/3.4bpp" + + .align 2 +gSpriteImage_858DB78:: @ 858DB78 + .incbin "graphics/unknown/858E588/4.4bpp" + + .space 32 .align 2 gFieldEffectObjectPalette7:: @ 858DC18 .incbin "graphics/map_objects/palettes/field_effect_object_palette_07.gbapal" - .incbin "baserom.gba", 0x58dc38, 0x580 + .align 2 +gSpriteImage_858DC38:: @ 858DC38 + .incbin "graphics/unknown/858E5D8/0.4bpp" + + .align 2 +gSpriteImage_858DCB8:: @ 858DCB8 + .incbin "graphics/unknown/858E5D8/1.4bpp" + + .align 2 +gSpriteImage_858DD38:: @ 858DD38 + .incbin "graphics/unknown/858E5D8/2.4bpp" + + .align 2 +gSpriteImage_858DDB8:: @ 858DDB8 + .incbin "graphics/unknown/858E5D8/3.4bpp" + + .align 2 +gSpriteImage_858DE38:: @ 858DE38 + .incbin "graphics/unknown/858E5D8/4.4bpp" + + .align 2 +gSpriteImage_858DEB8:: @ 858DEB8 + .incbin "graphics/unknown/858E5B0/0.4bpp" + + .align 2 +gSpriteImage_858DF38:: @ 858DF38 + .incbin "graphics/unknown/858E5B0/1.4bpp" + + .align 2 +gSpriteImage_858DFB8:: @ 858DFB8 + .incbin "graphics/unknown/858E5B0/2.4bpp" + + .align 2 +gSpriteImage_858E038:: @ 858E038 + .incbin "graphics/unknown/858E5B0/3.4bpp" + + .align 2 +gSpriteImage_858E0B8:: @ 858E0B8 + .incbin "graphics/unknown/858E5B0/4.4bpp" + + .align 2 +gSpriteImage_858E138:: @ 858E138 + .incbin "graphics/unknown/858E5B0/5.4bpp" .align 2 gFieldEffectObjectPalette8:: @ 858E1B8 .incbin "graphics/map_objects/palettes/field_effect_object_palette_08.gbapal" - .incbin "baserom.gba", 0x58e1d8, 0x428 + .align 2 +gSpriteImage_858E1D8:: @ 858E1D8 + .incbin "graphics/unknown/858E674/0.4bpp" + .align 2 +gSpriteImage_858E2D8:: @ 858E2D8 + .incbin "graphics/unknown/858E674/1.4bpp" + + .align 2 +gSpriteImage_858E3D8:: @ 858E3D8 + .incbin "graphics/unknown/858E674/2.4bpp" + + .align 2 +gOamData_858E4D8:: @ 858E4D8 + .2byte 0x0000, 0x4000, 0x0800, 0x0000 + + .align 2 +gSpriteAnim_858E4E0:: @ 858E4E0 + .2byte 0x0000, 0x0008, 0x0001, 0x0008, 0x0002, 0x0008, 0x0003, 0x0008, 0x0004, 0x0008, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_858E4F8:: @ 858E4F8 + .2byte 0x0000, 0x0008, 0x0001, 0x0008, 0x0002, 0x0008, 0x0003, 0x0008, 0x0004, 0x0008, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_858E510:: @ 858E510 + .2byte 0x0004, 0x0008, 0x0003, 0x0008, 0x0002, 0x0008, 0x0001, 0x0008, 0x0000, 0x0008, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_858E528:: @ 858E528 + .2byte 0x0000, 0x0048, 0x0001, 0x0048, 0x0002, 0x0048, 0x0003, 0x0048, 0x0004, 0x0048, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_858E540:: @ 858E540 + .2byte 0x0004, 0x0048, 0x0003, 0x0048, 0x0002, 0x0048, 0x0001, 0x0048, 0x0000, 0x0048, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_858E558:: @ 858E558 + .2byte 0x0000, 0x0008, 0x0001, 0x0008, 0x0002, 0x0008, 0x0003, 0x0008, 0x0004, 0x0008, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_858E570:: @ 858E570 + .4byte gSpriteAnim_858E4E0 + + .align 2 +gSpriteAnimTable_858E574:: @ 858E574 + .4byte gSpriteAnim_858E4F8 + .4byte gSpriteAnim_858E510 + .4byte gSpriteAnim_858E528 + .4byte gSpriteAnim_858E540 + + .align 2 +gSpriteAnimTable_858E584:: @ 858E584 + .4byte gSpriteAnim_858E558 + + .align 2 +gUnknown_858E588:: @ 858E588 + obj_frame_tiles gSpriteImage_858D978, 0x0080 + obj_frame_tiles gSpriteImage_858D9F8, 0x0080 + obj_frame_tiles gSpriteImage_858DA78, 0x0080 + obj_frame_tiles gSpriteImage_858DAF8, 0x0080 + obj_frame_tiles gSpriteImage_858DB78, 0x0080 + + .align 2 +gUnknown_858E5B0:: @ 858E5B0 + obj_frame_tiles gSpriteImage_858DEB8, 0x0080 + obj_frame_tiles gSpriteImage_858DF38, 0x0080 + obj_frame_tiles gSpriteImage_858DFB8, 0x0080 + obj_frame_tiles gSpriteImage_858E038, 0x0080 + obj_frame_tiles gSpriteImage_858E0B8, 0x0080 + + .align 2 +gUnknown_858E5D8:: @ 858E5D8 + obj_frame_tiles gSpriteImage_858DC38, 0x0080 + obj_frame_tiles gSpriteImage_858DCB8, 0x0080 + obj_frame_tiles gSpriteImage_858DD38, 0x0080 + obj_frame_tiles gSpriteImage_858DDB8, 0x0080 + obj_frame_tiles gSpriteImage_858DE38, 0x0080 + + .align 2 gUnknown_0858E600:: @ 858E600 - .incbin "baserom.gba", 0x58e600, 0x18 + spr_template 0xffff, 0x1003, gOamData_858E4D8, gSpriteAnimTable_858E570, gUnknown_858E588, gDummySpriteAffineAnimTable, sub_80FA18C + .align 2 gUnknown_0858E618:: @ 858E618 - .incbin "baserom.gba", 0x58e618, 0x18 + spr_template 0xffff, 0x1008, gOamData_858E4D8, gSpriteAnimTable_858E574, gUnknown_858E5B0, gDummySpriteAffineAnimTable, sub_80FA2D8 + .align 2 gUnknown_0858E630:: @ 858E630 - .incbin "baserom.gba", 0x58e630, 0x18 + spr_template 0xffff, 0x1008, gOamData_858E4D8, gSpriteAnimTable_858E584, gUnknown_858E5D8, gDummySpriteAffineAnimTable, sub_80FA3FC .align 2 gFieldEffectObjectPaletteInfo7:: @ 858E648 @@ -35,10 +176,27 @@ gFieldEffectObjectPaletteInfo7:: @ 858E648 gFieldEffectObjectPaletteInfo8:: @ 858E650 obj_pal gFieldEffectObjectPalette8, 0x1008 - .incbin "baserom.gba", 0x58e658, 0x34 + .align 2 +gOamData_858E658:: @ 858E658 + .2byte 0x8000, 0x8000, 0x0800, 0x0000 + .align 2 +gSpriteAnim_858E660:: @ 858E660 + .2byte 0x0000, 0x0006, 0x0001, 0x0006, 0x0002, 0x0006, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_858E670:: @ 858E670 + .4byte gSpriteAnim_858E660 + + .align 2 +gUnknown_0858E674:: @ 858E674 + obj_frame_tiles gSpriteImage_858E1D8, 0x0100 + obj_frame_tiles gSpriteImage_858E2D8, 0x0100 + obj_frame_tiles gSpriteImage_858E3D8, 0x0100 + + .align 2 gUnknown_0858E68C:: @ 858E68C - .incbin "baserom.gba", 0x58e68c, 0x18 + spr_template 0xffff, 0x100e, gOamData_858E658, gSpriteAnimTable_858E670, gUnknown_0858E674, gDummySpriteAffineAnimTable, door_restore_tilemap .align 2 @ This uses one of the secret base palettes, so there is no @@ -46,10 +204,41 @@ gUnknown_0858E68C:: @ 858E68C gFieldEffectObjectPaletteInfo9:: @ 858E6A4 obj_pal gTilesetPalettes_SecretBase + 5 * 0x20, 0x100E - .incbin "baserom.gba", 0x58e6ac, 0x1b8 + .align 2 +gSpriteImage_858E6AC:: @ 858E6AC + .incbin "graphics/unknown/858E84C/0.4bpp" + .align 2 +gSpriteImage_858E72C:: @ 858E72C + .incbin "graphics/unknown/858E84C/1.4bpp" + + .align 2 +gSpriteImage_858E7AC:: @ 858E7AC + .incbin "graphics/unknown/858E84C/2.4bpp" + + .align 2 +gUnknown_0858E82C:: @ 858E82C + .incbin "graphics/unknown/unknown_58E82C.gbapal" + + .align 2 +gUnknown_0858E84C:: @ 858E84C + obj_frame_tiles gSpriteImage_858E6AC, 0x0080 + obj_frame_tiles gSpriteImage_858E72C, 0x0080 + obj_frame_tiles gSpriteImage_858E7AC, 0x0080 + + .align 2 gUnknown_0858E864:: @ 858E864 - .incbin "baserom.gba", 0x58e864, 0x1c + obj_pal gUnknown_0858E82C, 0x1000 + .align 2 +gSpriteAnim_858E86C:: @ 858E86C + .2byte 0x0000, 0x001e, 0x0001, 0x001e, 0x0002, 0x001e, 0xfffe, 0x0000 + + .align 2 +gSpriteAnimTable_858E87C:: @ 858E87C + .4byte gSpriteAnim_858E86C + + .align 2 gUnknown_0858E880:: @ 858E880 - .incbin "baserom.gba", 0x58e880, 0x18 + spr_template 0xffff, 0x1000, gFieldObjectBaseOam_32x8, gSpriteAnimTable_858E87C, gUnknown_0858E84C, gDummySpriteAffineAnimTable, SpriteCallbackDummy + diff --git a/data/field_effect_scripts.s b/data/field_effect_scripts.s index ceb3270843..1a877daa92 100644 --- a/data/field_effect_scripts.s +++ b/data/field_effect_scripts.s @@ -74,7 +74,7 @@ gFieldEffectScriptPointers:: @ 82DB9D4 .4byte gFieldEffectScript_Unknown66 gFieldEffectScript_ExclamationMarkIcon1:: @ 82DBAE0 - field_eff_callnative oei_exclamation_mark + field_eff_callnative FldEff_ExclamationMarkIcon1 field_eff_end gFieldEffectScript_UseCutOnTallGrass:: @ 82DBAE6 @@ -207,7 +207,7 @@ gFieldEffectScript_FlyIn:: @ 82DBBE9 field_eff_end gFieldEffectScript_ExclamationMarkIcon2:: @ 82DBBEF - field_eff_callnative sub_80B4658 + field_eff_callnative FldEff_ExclamationMarkIcon2 field_eff_end gFieldEffectScript_FeetInFlowingWater:: @ 82DBBF5 @@ -256,11 +256,11 @@ gFieldEffectScript_Unknown44:: @ 82DBC45 gFieldEffectScript_Unknown45:: @ 82DBC4B field_eff_loadpal gFieldEffectObjectPaletteInfo10 - field_eff_callnative sub_81470D0 + field_eff_callnative FldEff_Pokeball field_eff_end gFieldEffectScript_HeartIcon:: @ 82DBC56 - field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, sub_80B4690 + field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo0, FldEff_HeartIcon field_eff_end gFieldEffectScript_Unknown47:: @ 82DBC60 diff --git a/data/field_ground_effect.s b/data/field_ground_effect.s index 8b8b00cf9b..989d2add76 100644 --- a/data/field_ground_effect.s +++ b/data/field_ground_effect.s @@ -5,34 +5,65 @@ .align 2, 0 gUnknown_0850E5DC:: @ 850E5DC - .incbin "baserom.gba", 0x50e5dc, 0x8 + .4byte 0x00000020, 0x00000010 gUnknown_0850E5E4:: @ 850E5E4 - .incbin "baserom.gba", 0x50e5e4, 0x18 + .4byte MetatileBehavior_IsTallGrass + .4byte MetatileBehavior_IsLongGrass + .4byte MetatileBehavior_IsPuddle + .4byte MetatileBehavior_IsSurfableWaterOrUnderwater + .4byte MetatileBehavior_IsShallowFlowingWater + .4byte ShouldDoJumpLandingDustEffect gUnknown_0850E5FC:: @ 850E5FC - .incbin "baserom.gba", 0x50e5fc, 0x18 + .4byte 0x00001000, 0x00002000, 0x00004000, 0x00008000, 0x00004000, 0x00010000 gUnknown_0850E614:: @ 850E614 - .incbin "baserom.gba", 0x50e614, 0x10 + .4byte MetatileBehavior_IsJumpSouth + .4byte MetatileBehavior_IsJumpNorth + .4byte MetatileBehavior_IsJumpWest + .4byte MetatileBehavior_IsJumpEast gUnknown_0850E624:: @ 850E624 - .incbin "baserom.gba", 0x50e624, 0x10 + .byte 0x73, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x00, 0x00, 0x73 gUnknown_0850E634:: @ 850E634 - .incbin "baserom.gba", 0x50e634, 0x10 + .byte 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x02 gUnknown_0850E644:: @ 850E644 - .incbin "baserom.gba", 0x50e644, 0x10 + .byte 0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x01 gUnknown_0850E654:: @ 850E654 - .incbin "baserom.gba", 0x50e654, 0xc + .4byte DoTracksGroundEffect_None + .4byte DoTracksGroundEffect_Footprints + .4byte DoTracksGroundEffect_BikeTireTracks gUnknown_0850E660:: @ 850E660 - .incbin "baserom.gba", 0x50e660, 0x4 + .byte 13, 0 + .byte 24, 0 gUnknown_0850E664:: @ 850E664 - .incbin "baserom.gba", 0x50e664, 0x10 + .byte 0x01, 0x02, 0x07, 0x08, 0x01, 0x02, 0x06, 0x05, 0x05, 0x08, 0x03, 0x04, 0x06, 0x07, 0x03, 0x04 gUnknown_0850E674:: @ 850E674 - .incbin "baserom.gba", 0x50e674, 0xe0 + .4byte GroundEffect_SpawnOnTallGrass + .4byte GroundEffect_StepOnTallGrass + .4byte GroundEffect_SpawnOnLongGrass + .4byte GroundEffect_StepOnLongGrass + .4byte GroundEffect_WaterReflection + .4byte GroundEffect_IceReflection + .4byte GroundEffect_FlowingWater + .4byte GroundEffect_SandTracks + .4byte GroundEffect_DeepSandTracks + .4byte GroundEffect_Ripple + .4byte GroundEffect_StepOnPuddle + .4byte GroundEffect_SandHeap + .4byte GroundEffect_JumpOnTallGrass + .4byte GroundEffect_JumpOnLongGrass + .4byte GroundEffect_JumpOnShallowWater + .4byte GroundEffect_JumpOnWater + .4byte GroundEffect_JumpLandingDust + .4byte GroundEffect_ShortGrass + .4byte GroundEffect_HotSprings + .4byte GroundEffect_Seaweed + diff --git a/data/field_map_obj.s b/data/field_map_obj.s index 52b39f9321..844612a7c6 100644 --- a/data/field_map_obj.s +++ b/data/field_map_obj.s @@ -1,19 +1,16 @@ +#include "constants/map_objects.h" .include "asm/macros.inc" .include "constants/constants.inc" .section .rodata gUnknown_084975C4:: @ 84975C4 -@ replacing .incbin "baserom.gba", 0x004975c4, 0x10 .byte 0x01, 0x01, 0x06, 0x07, 0x08, 0x09, 0x06, 0x07, 0x08, 0x09, 0x0b, 0x0b, 0x00, 0x00, 0x00, 0x00 gUnknown_084975D4:: @ 84975D4 -@ replacing .incbin "baserom.gba", 0x004975d4, 0x18 - .2byte 0, 65535 - .4byte gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, ObjectCB_CameraObject + spr_template 0x0000, 0xFFFF, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, ObjectCB_CameraObject gUnknown_084975EC:: @ 84975EC -@ replacing .incbin "baserom.gba", 0x004975ec, 0xc .4byte CameraObject_0 .4byte CameraObject_1 .4byte CameraObject_2 @@ -22,7 +19,6 @@ gUnknown_084975EC:: @ 84975EC .include "data/graphics/field_objects/field_object_graphics.inc" gUnknown_08505438:: @ 8505438 -@ replacing .incbin "baserom.gba", 0x00505438, 0x144 .4byte FieldObjectCB_NoMovement1 .4byte FieldObjectCB_LookRandomDirections .4byte FieldObjectCB_GoRandomDirections @@ -106,13 +102,11 @@ gUnknown_08505438:: @ 8505438 .4byte FieldObjectCB_WalkInPlace4 gUnknown_0850557C:: @ 850557C -@ replacing .incbin "baserom.gba", 0x0050557c, 0x51 .byte 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 gUnknown_085055CD:: @ 85055CD -@ replacing .incbin "baserom.gba", 0x005055cd, 0x51 .byte 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x04, 0x02, 0x01, 0x03, 0x04, 0x01, 0x01, 0x01, 0x03, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x04, 0x02, 0x04, 0x01 .byte 0x03, 0x02, 0x03, 0x01, 0x04, 0x03, 0x02, 0x04, 0x01, 0x04, 0x02, 0x03, 0x01, 0x02, 0x01, 0x03, 0x04, 0x02, 0x01, 0x03, 0x04, 0x02, 0x01, 0x03, 0x04, 0x01, 0x01, 0x02, 0x01, 0x03, 0x04, 0x01 .byte 0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x03, 0x04, 0x01, 0x01, 0x02, 0x03, 0x04 @@ -131,7 +125,6 @@ gUnknown_085055CD:: @ 85055CD .include "data/graphics/field_objects/field_object_anims.inc" gUnknown_085094AC:: @ 85094AC -@ replacing .incbin "baserom.gba", 0x005094ac, 0x40 .4byte gFieldObjectImageAnimTable_QuintyPlump .byte 1, 3, 0, 2 .4byte gFieldObjectImageAnimTable_Standard @@ -156,7 +149,6 @@ gUnknown_085094AC:: @ 85094AC .include "data/graphics/field_objects/field_object_graphics_info.inc" gUnknown_0850BBC8:: @ 850BBC8 -@ replacing .incbin "baserom.gba", 0x0050bbc8, 0x138 .align 2, 0 .4byte gFieldObjectPalette0 .2byte 4355 @@ -268,19 +260,15 @@ gUnknown_0850BBC8:: @ 850BBC8 .align 2, 0 Unknown_0850BCE8:: @ 0850BCE8 -@ replacing .incbin "baserom.gba", 0x0050bce8, 0x8 .2byte 0x1101, 0x1101, 0x1101, 0x1101 Unknown_0850BCF0:: @ 0850BCF0 -@ replacing .incbin "baserom.gba", 0x0050bcf0, 0x8 .2byte 0x1111, 0x1111, 0x1111, 0x1111 Unknown_0850BCF8:: @ 0850BCF8 -@ replacing .incbin "baserom.gba", 0x0050bcf8, 0x8 .2byte 0x1115, 0x1115, 0x1115, 0x1115 gUnknown_0850BD00:: @ 850BD00 -@ replacing .incbin "baserom.gba", 0x0050bd00, 0x78 .2byte 4352, 0 .4byte Unknown_0850BCE8 .2byte 4368, 0 @@ -291,51 +279,39 @@ gUnknown_0850BD00:: @ 850BD00 .4byte NULL Unknown_0850BD20:: @ 0850BD20 -@ replacing .incbin "baserom.gba", 0x0050bd20, 0x8 .2byte 0x110c, 0x110c, 0x110c, 0x110c Unknown_0850BD28:: @ 0x0850bd28 -@ replacing .incbin "baserom.gba", 0x0050bd28, 0x8 .2byte 0x110d, 0x110d, 0x110d, 0x110d Unknown_0850BD30:: @ 0x0850bd30 -@ replacing .incbin "baserom.gba", 0x0050bd30, 0x8 .2byte 0x110e, 0x110e, 0x110e, 0x110e Unknown_0850BD38:: @ 0x0850bd38 -@ replacing .incbin "baserom.gba", 0x0050bd38, 0x8 .2byte 0x1112, 0x1112, 0x1112, 0x1112 Unknown_0850BD40:: @ 0x0850bd40 -@ replacing .incbin "baserom.gba", 0x0050bd40, 0x8 .2byte 0x1113, 0x1113, 0x1113, 0x1113 Unknown_0850BD48:: @ 0x0850bd48 -@ replacing .incbin "baserom.gba", 0x0050bd48, 0x8 .2byte 0x1114, 0x1114, 0x1114, 0x1114 Unknown_0850BD50:: @ 0x0850bd50 -@ replacing .incbin "baserom.gba", 0x0050bd50, 0x8 .2byte 0x111b, 0x111b, 0x111b, 0x111b Unknown_0850BD58:: @ 0x0850bd58 -@ replacing .incbin "baserom.gba", 0x0050bd58, 0x8 .2byte 0x1117, 0x1117, 0x1117, 0x1117 Unknown_0850BD60:: @ 0x0850bd60 -@ replacing .incbin "baserom.gba", 0x0050bd60, 0x8 .2byte 0x1119, 0x1119, 0x1119, 0x1119 Unknown_0850BD68:: @ 0x0850bd68 -@ replacing .incbin "baserom.gba", 0x0050bd68, 0x8 .2byte 0x1109, 0x1109, 0x1109, 0x1109 Unknown_0850BD70:: @ 0x0850bd70 -@ replacing .incbin "baserom.gba", 0x0050bd70, 0x8 .2byte 0x111d, 0x111d, 0x111d, 0x111d gUnknown_0850BD78:: @ 850BD78 -@ replacing .incbin "baserom.gba", 0x0050bd78, 0xc0 .2byte 4352, 0 .4byte Unknown_0850BCE8 .2byte 4368, 0 @@ -366,7 +342,6 @@ gUnknown_0850BD78:: @ 850BD78 .4byte NULL gUnknown_0850BDE8:: @ 850BDE8 -@ replacing .incbin "baserom.gba", 0x0050bde8, 0x50 .2byte 0x1100, 0x1101, 0x1103, 0x1104, 0x1105, 0x1106, 0x1107, 0x1108, 0x1109, 0x110a gUnknown_0850BDFC:: .2byte 0x1100, 0x1101, 0x1103, 0x1104, 0x1105, 0x1106, 0x1107, 0x1108, 0x1109, 0x110a @@ -376,7 +351,6 @@ gUnknown_0850BE24:: .2byte 0x1100, 0x1101, 0x1103, 0x1104, 0x1105, 0x1106, 0x1107, 0x1108, 0x1109, 0x110a gUnknown_0850BE38:: @ 850BE38 -@ replacing .incbin "baserom.gba", 0x0050be38, 0x10 .4byte gUnknown_0850BDE8 .4byte gUnknown_0850BDFC .4byte gUnknown_0850BE10 @@ -388,22 +362,18 @@ gUnknown_0850BE38:: @ 850BE38 @ 850C9C0 .include "data/graphics/field_objects/field_effect_objects.inc" -@ replacing .incbin "baserom.gba", 0x0050d6d4, 0x8 .align 2, 0 .4byte gFieldObjectPalette2 .2byte 4113 .align 2, 0 gUnknown_0850D6DC:: @ 850D6DC -@ replacing .incbin "baserom.gba", 0x0050d6dc, 0x10 .2byte 0x0020, 0x0040, 0x0060, 0x0080, 0x0020, 0x0040, 0x0080, 0x00c0 gUnknown_0850D6EC:: @ 850D6EC -@ replacing .incbin "baserom.gba", 0x0050d6ec, 0x8 .2byte 0x0020, 0x0030, 0x0040, 0x0050 gUnknown_0850D6F4:: @ 850D6F4 -@ replacing .incbin "baserom.gba", 0x0050d6f4, 0x1c .4byte sub_808F44C .4byte sub_808F460 .4byte sub_808F48C @@ -413,11 +383,9 @@ gUnknown_0850D6F4:: @ 850D6F4 .4byte sub_808F564 gUnknown_0850D710:: @ 850D710 -@ replacing .incbin "baserom.gba", 0x0050d710, 0x4 .byte 0x01, 0x02, 0x03, 0x04 gUnknown_0850D714:: @ 850D714 -@ replacing .incbin "baserom.gba", 0x0050d714, 0x2c .4byte GetRegularRunningPastFacingDirection .4byte GetNorthSouthRunningPastFacingDirection .4byte GetEastWestRunningPastFacingDirection @@ -431,7 +399,6 @@ gUnknown_0850D714:: @ 850D714 .4byte GetNonNorthRunningPastFacingDirection gUnknown_0850D740:: @ 850D740 -@ replacing .incbin "baserom.gba", 0x0050d740, 0x14 .4byte sub_808F988 .4byte sub_808F99C .4byte sub_808F9C8 @@ -439,7 +406,6 @@ gUnknown_0850D740:: @ 850D740 .4byte sub_808FA3C gUnknown_0850D754:: @ 850D754 -@ replacing .incbin "baserom.gba", 0x0050d754, 0x1c .4byte sub_808FAC8 .4byte sub_808FADC .4byte sub_808FB08 @@ -449,11 +415,9 @@ gUnknown_0850D754:: @ 850D754 .4byte sub_808FBE0 gUnknown_0850D770:: @ 850D770 -@ replacing .incbin "baserom.gba", 0x0050d770, 0x4 .byte 0x01, 0x02, 0x00, 0x00 gUnknown_0850D774:: @ 850D774 -@ replacing .incbin "baserom.gba", 0x0050d774, 0x1c .4byte sub_808FC4C .4byte sub_808FC60 .4byte sub_808FC8C @@ -463,17 +427,14 @@ gUnknown_0850D774:: @ 850D774 .4byte sub_808FD64 gUnknown_0850D790:: @ 850D790 -@ replacing .incbin "baserom.gba", 0x0050d790, 0x4 .byte 0x03, 0x04, 0x00, 0x00 gUnknown_0850D794:: @ 850D794 -@ replacing .incbin "baserom.gba", 0x0050d794, 0xc .4byte sub_808FDD0 .4byte sub_808FDFC .4byte sub_808FE1C gUnknown_0850D7A0:: @ 850D7A0 -@ replacing .incbin "baserom.gba", 0x0050d7a0, 0x14 .4byte do_berry_tree_growth_sparkle_1 .4byte sub_808FF48 .4byte do_berry_tree_growth_sparkle_2 @@ -481,7 +442,6 @@ gUnknown_0850D7A0:: @ 850D7A0 .4byte sub_8090004 gUnknown_0850D7B4:: @ 850D7B4 -@ replacing .incbin "baserom.gba", 0x0050d7b4, 0x14 .4byte sub_8090094 .4byte sub_80900A8 .4byte sub_80900D4 @@ -489,7 +449,6 @@ gUnknown_0850D7B4:: @ 850D7B4 .4byte sub_8090148 gUnknown_0850D7C8:: @ 850D7C8 -@ replacing .incbin "baserom.gba", 0x0050d7c8, 0x14 .4byte sub_80901D4 .4byte sub_80901E8 .4byte sub_8090214 @@ -497,7 +456,6 @@ gUnknown_0850D7C8:: @ 850D7C8 .4byte sub_8090288 gUnknown_0850D7DC:: @ 850D7DC -@ replacing .incbin "baserom.gba", 0x0050d7dc, 0x14 .4byte sub_8090314 .4byte sub_8090328 .4byte sub_8090354 @@ -505,11 +463,9 @@ gUnknown_0850D7DC:: @ 850D7DC .4byte sub_80903C8 gUnknown_0850D7F0:: @ 850D7F0 -@ replacing .incbin "baserom.gba", 0x0050d7f0, 0x4 .byte 0x02, 0x03, 0x00, 0x00 gUnknown_0850D7F4:: @ 850D7F4 -@ replacing .incbin "baserom.gba", 0x0050d7f4, 0x14 .4byte sub_8090454 .4byte sub_8090468 .4byte sub_8090494 @@ -517,11 +473,9 @@ gUnknown_0850D7F4:: @ 850D7F4 .4byte sub_8090508 gUnknown_0850D808:: @ 850D808 -@ replacing .incbin "baserom.gba", 0x0050d808, 0x4 .byte 0x02, 0x04, 0x00, 0x00 gUnknown_0850D80C:: @ 850D80C -@ replacing .incbin "baserom.gba", 0x0050d80c, 0x14 .4byte sub_8090594 .4byte sub_80905A8 .4byte sub_80905D4 @@ -529,11 +483,9 @@ gUnknown_0850D80C:: @ 850D80C .4byte sub_8090648 gUnknown_0850D820:: @ 850D820 -@ replacing .incbin "baserom.gba", 0x0050d820, 0x4 .byte 0x01, 0x03, 0x00, 0x00 gUnknown_0850D824:: @ 850D824 -@ replacing .incbin "baserom.gba", 0x0050d824, 0x14 .4byte sub_80906D4 .4byte sub_80906E8 .4byte sub_8090714 @@ -541,11 +493,9 @@ gUnknown_0850D824:: @ 850D824 .4byte sub_8090788 gUnknown_0850D838:: @ 850D838 -@ replacing .incbin "baserom.gba", 0x0050d838, 0x4 .byte 0x01, 0x04, 0x00, 0x00 gUnknown_0850D83C:: @ 850D83C -@ replacing .incbin "baserom.gba", 0x0050d83c, 0x14 .4byte sub_8090814 .4byte sub_8090828 .4byte sub_8090854 @@ -553,11 +503,9 @@ gUnknown_0850D83C:: @ 850D83C .4byte sub_80908C8 gUnknown_0850D850:: @ 850D850 -@ replacing .incbin "baserom.gba", 0x0050d850, 0x4 .byte 0x02, 0x01, 0x03, 0x01 gUnknown_0850D854:: @ 850D854 -@ replacing .incbin "baserom.gba", 0x0050d854, 0x14 .4byte sub_8090954 .4byte sub_8090968 .4byte sub_8090994 @@ -565,11 +513,9 @@ gUnknown_0850D854:: @ 850D854 .4byte sub_8090A08 gUnknown_0850D868:: @ 850D868 -@ replacing .incbin "baserom.gba", 0x0050d868, 0x4 .byte 0x01, 0x02, 0x04, 0x01 gUnknown_0850D86C:: @ 850D86C -@ replacing .incbin "baserom.gba", 0x0050d86c, 0x14 .4byte sub_8090A94 .4byte sub_8090AA8 .4byte sub_8090AD4 @@ -577,11 +523,9 @@ gUnknown_0850D86C:: @ 850D86C .4byte sub_8090B48 gUnknown_0850D880:: @ 850D880 -@ replacing .incbin "baserom.gba", 0x0050d880, 0x4 .byte 0x02, 0x03, 0x04, 0x02 gUnknown_0850D884:: @ 850D884 -@ replacing .incbin "baserom.gba", 0x0050d884, 0x14 .4byte sub_8090BD4 .4byte sub_8090BE8 .4byte sub_8090C14 @@ -589,282 +533,227 @@ gUnknown_0850D884:: @ 850D884 .4byte sub_8090C88 gUnknown_0850D898:: @ 850D898 -@ replacing .incbin "baserom.gba", 0x0050d898, 0x4 .byte 0x03, 0x04, 0x01, 0x01 gUnknown_0850D89C:: @ 850D89C -@ replacing .incbin "baserom.gba", 0x0050d89c, 0x10 .4byte sub_8090D14 .4byte sub_8090D40 .4byte sub_8090D64 .4byte sub_8090D90 gUnknown_0850D8AC:: @ 850D8AC -@ replacing .incbin "baserom.gba", 0x0050d8ac, 0x8 .byte 0x01, 0x04, 0x03, 0x01, 0x02, 0x00, 0x00, 0x00 gUnknown_0850D8B4:: @ 850D8B4 -@ replacing .incbin "baserom.gba", 0x0050d8b4, 0x10 .4byte sub_8090E18 .4byte sub_8090E44 .4byte sub_8090E68 .4byte sub_8090E94 gUnknown_0850D8C4:: @ 850D8C4 -@ replacing .incbin "baserom.gba", 0x0050d8c4, 0x8 .byte 0x01, 0x03, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00 gUnknown_0850D8CC:: @ 850D8CC -@ replacing .incbin "baserom.gba", 0x0050d8cc, 0x10 .4byte sub_8090F1C .4byte sub_8090F30 .4byte sub_8090F68 .4byte sub_8091020 gUnknown_0850D8DC:: @ 850D8DC -@ replacing .incbin "baserom.gba", 0x0050d8dc, 0xc .4byte sub_8091048 .4byte sub_809117C .4byte sub_8091110 gUnknown_0850D8E8:: @ 850D8E8 -@ replacing .incbin "baserom.gba", 0x0050d8e8, 0x4 .byte 0x02, 0x04, 0x03, 0x01 gUnknown_0850D8EC:: @ 850D8EC -@ replacing .incbin "baserom.gba", 0x0050d8ec, 0xc .4byte sub_8091048 .4byte sub_8091208 .4byte sub_8091110 gUnknown_0850D8F8:: @ 850D8F8 -@ replacing .incbin "baserom.gba", 0x0050d8f8, 0x4 .byte 0x04, 0x03, 0x01, 0x02 gUnknown_0850D8FC:: @ 850D8FC -@ replacing .incbin "baserom.gba", 0x0050d8fc, 0xc .4byte sub_8091048 .4byte sub_8091294 .4byte sub_8091110 gUnknown_0850D908:: @ 850D908 -@ replacing .incbin "baserom.gba", 0x0050d908, 0x4 .byte 0x01, 0x02, 0x04, 0x03 gUnknown_0850D90C:: @ 850D90C -@ replacing .incbin "baserom.gba", 0x0050d90c, 0xc .4byte sub_8091048 .4byte sub_8091320 .4byte sub_8091110 gUnknown_0850D918:: @ 850D918 -@ replacing .incbin "baserom.gba", 0x0050d918, 0x4 .byte 0x03, 0x01, 0x02, 0x04 gUnknown_0850D91C:: @ 850D91C -@ replacing .incbin "baserom.gba", 0x0050d91c, 0xc .4byte sub_8091048 .4byte sub_80913AC .4byte sub_8091110 gUnknown_0850D928:: @ 850D928 -@ replacing .incbin "baserom.gba", 0x0050d928, 0x4 .byte 0x02, 0x03, 0x04, 0x01 gUnknown_0850D92C:: @ 850D92C -@ replacing .incbin "baserom.gba", 0x0050d92c, 0xc .4byte sub_8091048 .4byte sub_8091438 .4byte sub_8091110 gUnknown_0850D938:: @ 850D938 -@ replacing .incbin "baserom.gba", 0x0050d938, 0x4 .byte 0x03, 0x04, 0x01, 0x02 gUnknown_0850D93C:: @ 850D93C -@ replacing .incbin "baserom.gba", 0x0050d93c, 0xc .4byte sub_8091048 .4byte sub_80914C4 .4byte sub_8091110 gUnknown_0850D948:: @ 850D948 -@ replacing .incbin "baserom.gba", 0x0050d948, 0xc .4byte sub_8091048 .4byte sub_8091550 .4byte sub_8091110 gUnknown_0850D954:: @ 850D954 -@ replacing .incbin "baserom.gba", 0x0050d954, 0x4 .byte 0x04, 0x01, 0x02, 0x03 gUnknown_0850D958:: @ 850D958 -@ replacing .incbin "baserom.gba", 0x0050d958, 0xc .4byte sub_8091048 .4byte sub_80915DC .4byte sub_8091110 gUnknown_0850D964:: @ 850D964 -@ replacing .incbin "baserom.gba", 0x0050d964, 0x4 .byte 0x03, 0x02, 0x01, 0x04 gUnknown_0850D968:: @ 850D968 -@ replacing .incbin "baserom.gba", 0x0050d968, 0xc .4byte sub_8091048 .4byte sub_8091668 .4byte sub_8091110 gUnknown_0850D974:: @ 850D974 -@ replacing .incbin "baserom.gba", 0x0050d974, 0x4 .byte 0x02, 0x01, 0x04, 0x03 gUnknown_0850D978:: @ 850D978 -@ replacing .incbin "baserom.gba", 0x0050d978, 0xc .4byte sub_8091048 .4byte sub_80916F4 .4byte sub_8091110 gUnknown_0850D984:: @ 850D984 -@ replacing .incbin "baserom.gba", 0x0050d984, 0x4 .byte 0x04, 0x03, 0x02, 0x01 gUnknown_0850D988:: @ 850D988 -@ replacing .incbin "baserom.gba", 0x0050d988, 0xc .4byte sub_8091048 .4byte sub_8091780 .4byte sub_8091110 gUnknown_0850D994:: @ 850D994 -@ replacing .incbin "baserom.gba", 0x0050d994, 0x4 .byte 0x01, 0x04, 0x03, 0x02 gUnknown_0850D998:: @ 850D998 -@ replacing .incbin "baserom.gba", 0x0050d998, 0xc .4byte sub_8091048 .4byte sub_809180C .4byte sub_8091110 gUnknown_0850D9A4:: @ 850D9A4 -@ replacing .incbin "baserom.gba", 0x0050d9a4, 0x4 .byte 0x04, 0x02, 0x01, 0x03 gUnknown_0850D9A8:: @ 850D9A8 -@ replacing .incbin "baserom.gba", 0x0050d9a8, 0xc .4byte sub_8091048 .4byte sub_8091898 .4byte sub_8091110 gUnknown_0850D9B4:: @ 850D9B4 -@ replacing .incbin "baserom.gba", 0x0050d9b4, 0x4 .byte 0x02, 0x01, 0x03, 0x04 gUnknown_0850D9B8:: @ 850D9B8 -@ replacing .incbin "baserom.gba", 0x0050d9b8, 0xc .4byte sub_8091048 .4byte sub_8091924 .4byte sub_8091110 gUnknown_0850D9C4:: @ 850D9C4 -@ replacing .incbin "baserom.gba", 0x0050d9c4, 0x4 .byte 0x03, 0x04, 0x02, 0x01 gUnknown_0850D9C8:: @ 850D9C8 -@ replacing .incbin "baserom.gba", 0x0050d9c8, 0xc .4byte sub_8091048 .4byte sub_80919B0 .4byte sub_8091110 gUnknown_0850D9D4:: @ 850D9D4 -@ replacing .incbin "baserom.gba", 0x0050d9d4, 0x4 .byte 0x01, 0x03, 0x04, 0x02 gUnknown_0850D9D8:: @ 850D9D8 -@ replacing .incbin "baserom.gba", 0x0050d9d8, 0xc .4byte sub_8091048 .4byte sub_8091A3C .4byte sub_8091110 gUnknown_0850D9E4:: @ 850D9E4 -@ replacing .incbin "baserom.gba", 0x0050d9e4, 0x4 .byte 0x02, 0x03, 0x01, 0x04 gUnknown_0850D9E8:: @ 850D9E8 -@ replacing .incbin "baserom.gba", 0x0050d9e8, 0xc .4byte sub_8091048 .4byte sub_8091AC8 .4byte sub_8091110 gUnknown_0850D9F4:: @ 850D9F4 -@ replacing .incbin "baserom.gba", 0x0050d9f4, 0x4 .byte 0x01, 0x04, 0x02, 0x03 gUnknown_0850D9F8:: @ 850D9F8 -@ replacing .incbin "baserom.gba", 0x0050d9f8, 0xc .4byte sub_8091048 .4byte sub_8091B54 .4byte sub_8091110 gUnknown_0850DA04:: @ 850DA04 -@ replacing .incbin "baserom.gba", 0x0050da04, 0x4 .byte 0x03, 0x01, 0x04, 0x02 gUnknown_0850DA08:: @ 850DA08 -@ replacing .incbin "baserom.gba", 0x0050da08, 0xc .4byte sub_8091048 .4byte sub_8091BE0 .4byte sub_8091110 gUnknown_0850DA14:: @ 850DA14 -@ replacing .incbin "baserom.gba", 0x0050da14, 0x4 .byte 0x04, 0x02, 0x03, 0x01 gUnknown_0850DA18:: @ 850DA18 -@ replacing .incbin "baserom.gba", 0x0050da18, 0xc .4byte sub_8091048 .4byte sub_8091C6C .4byte sub_8091110 gUnknown_0850DA24:: @ 850DA24 -@ replacing .incbin "baserom.gba", 0x0050da24, 0x4 .byte 0x02, 0x04, 0x01, 0x03 gUnknown_0850DA28:: @ 850DA28 -@ replacing .incbin "baserom.gba", 0x0050da28, 0xc .4byte sub_8091048 .4byte sub_8091CF8 .4byte sub_8091110 gUnknown_0850DA34:: @ 850DA34 -@ replacing .incbin "baserom.gba", 0x0050da34, 0x4 .byte 0x01, 0x03, 0x02, 0x04 gUnknown_0850DA38:: @ 850DA38 -@ replacing .incbin "baserom.gba", 0x0050da38, 0xc .4byte sub_8091048 .4byte sub_8091D84 .4byte sub_8091110 gUnknown_0850DA44:: @ 850DA44 -@ replacing .incbin "baserom.gba", 0x0050da44, 0x4 .byte 0x03, 0x02, 0x04, 0x01 gUnknown_0850DA48:: @ 850DA48 -@ replacing .incbin "baserom.gba", 0x0050da48, 0xc .4byte sub_8091048 .4byte sub_8091E10 .4byte sub_8091110 gUnknown_0850DA54:: @ 850DA54 -@ replacing .incbin "baserom.gba", 0x0050da54, 0x4 .byte 0x04, 0x01, 0x03, 0x02 gUnknown_0850DA58:: @ 850DA58 -@ replacing .incbin "baserom.gba", 0x0050da58, 0xc .4byte mss_npc_reset_oampriv3_1_unk2_unk3 .4byte sub_8091EC0 .4byte sub_8091F20 gUnknown_0850DA64:: @ 850DA64 -@ replacing .incbin "baserom.gba", 0x0050da64, 0x2c .4byte sub_8091F48 .4byte sub_8091F4C .4byte sub_8091F94 @@ -878,248 +767,191 @@ gUnknown_0850DA64:: @ 850DA64 .4byte sub_8091F48 gUnknown_0850DA90:: @ 850DA90 -@ replacing .incbin "baserom.gba", 0x0050da90, 0xc .4byte mss_npc_reset_oampriv3_1_unk2_unk3 .4byte mss_08062EA4 .4byte sub_8091F20 gUnknown_0850DA9C:: @ 850DA9C -@ replacing .incbin "baserom.gba", 0x0050da9c, 0x4 .4byte sub_80926AC gUnknown_0850DAA0:: @ 850DAA0 -@ replacing .incbin "baserom.gba", 0x0050daa0, 0x8 .4byte sub_8092718 .4byte sub_80926B8 gUnknown_0850DAA8:: @ 850DAA8 -@ replacing .incbin "baserom.gba", 0x0050daa8, 0x8 .4byte sub_8092788 .4byte sub_80926B8 gUnknown_0850DAB0:: @ 850DAB0 -@ replacing .incbin "baserom.gba", 0x0050dab0, 0x8 .4byte sub_80927F8 .4byte sub_80926B8 gUnknown_0850DAB8:: @ 850DAB8 -@ replacing .incbin "baserom.gba", 0x0050dab8, 0x8 .4byte sub_8092868 .4byte sub_80926B8 gUnknown_0850DAC0:: @ 850DAC0 -@ replacing .incbin "baserom.gba", 0x0050dac0, 0xc .4byte sub_80928D8 .4byte sub_809290C .4byte sub_809292C gUnknown_0850DACC:: @ 850DACC -@ replacing .incbin "baserom.gba", 0x0050dacc, 0x9 .byte 0x00, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0x01 gUnknown_0850DAD5:: @ 850DAD5 -@ replacing .incbin "baserom.gba", 0x0050dad5, 0x9 .byte 0x04, 0x04, 0x05, 0x06, 0x07, 0x04, 0x04, 0x05, 0x05 gUnknown_0850DADE:: @ 850DADE -@ replacing .incbin "baserom.gba", 0x0050dade, 0x9 .byte 0x08, 0x08, 0x09, 0x0a, 0x0b, 0x08, 0x08, 0x09, 0x09 gUnknown_0850DAE7:: @ 850DAE7 -@ replacing .incbin "baserom.gba", 0x0050dae7, 0x9 .byte 0x0c, 0x0c, 0x0d, 0x0e, 0x0f, 0x0c, 0x0c, 0x0d, 0x0d gUnknown_0850DAF0:: @ 850DAF0 -@ replacing .incbin "baserom.gba", 0x0050daf0, 0x9 .byte 0x10, 0x10, 0x11, 0x12, 0x13, 0x10, 0x10, 0x11, 0x11 gUnknown_0850DAF9:: @ 850DAF9 -@ replacing .incbin "baserom.gba", 0x0050daf9, 0x9 .byte 0x14, 0x14, 0x15, 0x16, 0x17, 0x14, 0x14, 0x15, 0x15 gUnknown_0850DB02:: @ 850DB02 -@ replacing .incbin "baserom.gba", 0x0050db02, 0x9 .byte 0x14, 0x14, 0x15, 0x16, 0x17, 0x14, 0x14, 0x15, 0x15 gUnknown_0850DB0B:: @ 850DB0B -@ replacing .incbin "baserom.gba", 0x0050db0b, 0x9 .byte 0x18, 0x18, 0x19, 0x1a, 0x1b, 0x18, 0x18, 0x19, 0x19 gUnknown_0850DB14:: @ 850DB14 -@ replacing .incbin "baserom.gba", 0x0050db14, 0x9 .byte 0x1c, 0x1c, 0x1d, 0x1e, 0x1f, 0x1c, 0x1c, 0x1d, 0x1d gUnknown_0850DB1D:: @ 850DB1D -@ replacing .incbin "baserom.gba", 0x0050db1d, 0x9 .byte 0x20, 0x20, 0x21, 0x22, 0x23, 0x20, 0x20, 0x21, 0x21 gUnknown_0850DB26:: @ 850DB26 -@ replacing .incbin "baserom.gba", 0x0050db26, 0x9 .byte 0x24, 0x24, 0x25, 0x26, 0x27, 0x24, 0x24, 0x25, 0x25 gUnknown_0850DB2F:: @ 850DB2F -@ replacing .incbin "baserom.gba", 0x0050db2f, 0x9 .byte 0x00, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0x01 gUnknown_0850DB38:: @ 850DB38 -@ replacing .incbin "baserom.gba", 0x0050db38, 0x9 .byte 0x04, 0x04, 0x05, 0x06, 0x07, 0x04, 0x04, 0x05, 0x05 gUnknown_0850DB41:: @ 850DB41 -@ replacing .incbin "baserom.gba", 0x0050db41, 0x9 .byte 0x08, 0x08, 0x09, 0x0a, 0x0b, 0x08, 0x08, 0x09, 0x09 gUnknown_0850DB4A:: @ 850DB4A -@ replacing .incbin "baserom.gba", 0x0050db4a, 0x9 .byte 0x14, 0x14, 0x15, 0x16, 0x17, 0x14, 0x14, 0x15, 0x15 gUnknown_0850DB53:: @ 850DB53 -@ replacing .incbin "baserom.gba", 0x0050db53, 0x9 .byte 0x08, 0x08, 0x07, 0x09, 0x0a, 0x08, 0x08, 0x07, 0x07 .align 2, 0 gUnknown_0850DB5C:: @ 850DB5C -@ replacing .incbin "baserom.gba", 0x0050db5c, 0x10 .4byte MetatileBehavior_IsSouthBlocked .4byte MetatileBehavior_IsNorthBlocked .4byte MetatileBehavior_IsWestBlocked .4byte MetatileBehavior_IsEastBlocked gUnknown_0850DB6C:: @ 850DB6C -@ replacing .incbin "baserom.gba", 0x0050db6c, 0x10 .4byte MetatileBehavior_IsNorthBlocked .4byte MetatileBehavior_IsSouthBlocked .4byte MetatileBehavior_IsEastBlocked .4byte MetatileBehavior_IsWestBlocked gUnknown_0850DB7C:: @ 850DB7C -@ replacing .incbin "baserom.gba", 0x0050db7c, 0x24 .2byte 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0xffff, 0xffff, 0x0000, 0x0001, 0x0000, 0xffff, 0x0001, 0x0001, 0x0001, 0xffff, 0xffff .2byte 0x0001, 0xffff gUnknown_0850DBA0:: @ 850DBA0 -@ replacing .incbin "baserom.gba", 0x0050dba0, 0x5 .byte 0x00, 0x00, 0x01, 0x02, 0x03 gUnknown_0850DBA5:: @ 850DBA5 -@ replacing .incbin "baserom.gba", 0x0050dba5, 0x5 .byte 0x04, 0x04, 0x05, 0x06, 0x07 gUnknown_0850DBAA:: @ 850DBAA -@ replacing .incbin "baserom.gba", 0x0050dbaa, 0x5 .byte 0x08, 0x08, 0x09, 0x0a, 0x0b gUnknown_0850DBAF:: @ 850DBAF -@ replacing .incbin "baserom.gba", 0x0050dbaf, 0x5 .byte 0x15, 0x15, 0x16, 0x17, 0x18 gUnknown_0850DBB4:: @ 850DBB4 -@ replacing .incbin "baserom.gba", 0x0050dbb4, 0x5 .byte 0x29, 0x29, 0x2a, 0x2b, 0x2c gUnknown_0850DBB9:: @ 850DBB9 -@ replacing .incbin "baserom.gba", 0x0050dbb9, 0x5 .byte 0x2d, 0x2d, 0x2e, 0x2f, 0x30 gUnknown_0850DBBE:: @ 850DBBE -@ replacing .incbin "baserom.gba", 0x0050dbbe, 0x5 .byte 0x31, 0x31, 0x32, 0x33, 0x34 gUnknown_0850DBC3:: @ 850DBC3 -@ replacing .incbin "baserom.gba", 0x0050dbc3, 0x5 .byte 0x35, 0x35, 0x36, 0x37, 0x38 gUnknown_0850DBC8:: @ 850DBC8 -@ replacing .incbin "baserom.gba", 0x0050dbc8, 0x5 .byte 0x0c, 0x0c, 0x0d, 0x0e, 0x0f gUnknown_0850DBCD:: @ 850DBCD -@ replacing .incbin "baserom.gba", 0x0050dbcd, 0x5 .byte 0x46, 0x46, 0x47, 0x48, 0x49 gUnknown_0850DBD2:: @ 850DBD2 -@ replacing .incbin "baserom.gba", 0x0050dbd2, 0x5 .byte 0x4b, 0x4b, 0x4a, 0x4d, 0x4c gUnknown_0850DBD7:: @ 850DBD7 -@ replacing .incbin "baserom.gba", 0x0050dbd7, 0x5 .byte 0x42, 0x42, 0x43, 0x44, 0x45 gUnknown_0850DBDC:: @ 850DBDC -@ replacing .incbin "baserom.gba", 0x0050dbdc, 0x5 .byte 0x3a, 0x3a, 0x3b, 0x3c, 0x3d gUnknown_0850DBE1:: @ 850DBE1 -@ replacing .incbin "baserom.gba", 0x0050dbe1, 0x5 .byte 0x19, 0x19, 0x1a, 0x1b, 0x1c gUnknown_0850DBE6:: @ 850DBE6 -@ replacing .incbin "baserom.gba", 0x0050dbe6, 0x5 .byte 0x1d, 0x1d, 0x1e, 0x1f, 0x20 gUnknown_0850DBEB:: @ 850DBEB -@ replacing .incbin "baserom.gba", 0x0050dbeb, 0x5 .byte 0x21, 0x21, 0x22, 0x23, 0x24 gUnknown_0850DBF0:: @ 850DBF0 -@ replacing .incbin "baserom.gba", 0x0050dbf0, 0x5 .byte 0x25, 0x25, 0x26, 0x27, 0x28 gUnknown_0850DBF5:: @ 850DBF5 -@ replacing .incbin "baserom.gba", 0x0050dbf5, 0x5 .byte 0x64, 0x64, 0x65, 0x66, 0x67 gUnknown_0850DBFA:: @ 850DBFA -@ replacing .incbin "baserom.gba", 0x0050dbfa, 0x5 .byte 0x68, 0x68, 0x69, 0x6a, 0x6b gUnknown_0850DBFF:: @ 850DBFF -@ replacing .incbin "baserom.gba", 0x0050dbff, 0x5 .byte 0x6c, 0x6c, 0x6d, 0x6e, 0x6f gUnknown_0850DC04:: @ 850DC04 -@ replacing .incbin "baserom.gba", 0x0050dc04, 0x5 .byte 0x70, 0x70, 0x71, 0x72, 0x73 gUnknown_0850DC09:: @ 850DC09 -@ replacing .incbin "baserom.gba", 0x0050dc09, 0x5 .byte 0x74, 0x74, 0x75, 0x76, 0x77 gUnknown_0850DC0E:: @ 850DC0E -@ replacing .incbin "baserom.gba", 0x0050dc0e, 0x5 .byte 0x78, 0x78, 0x79, 0x7a, 0x7b gUnknown_0850DC13:: @ 850DC13 -@ replacing .incbin "baserom.gba", 0x0050dc13, 0x5 .byte 0x7c, 0x7c, 0x7d, 0x7e, 0x7f gUnknown_0850DC18:: @ 850DC18 -@ replacing .incbin "baserom.gba", 0x0050dc18, 0x5 .byte 0x80, 0x80, 0x81, 0x82, 0x83 gUnknown_0850DC1D:: @ 850DC1D -@ replacing .incbin "baserom.gba", 0x0050dc1d, 0x5 .byte 0x84, 0x84, 0x85, 0x86, 0x87 gUnknown_0850DC22:: @ 850DC22 -@ replacing .incbin "baserom.gba", 0x0050dc22, 0x5 .byte 0x88, 0x88, 0x89, 0x8a, 0x8b gUnknown_0850DC27:: @ 850DC27 -@ replacing .incbin "baserom.gba", 0x0050dc27, 0x8 .byte 0x02, 0x01, 0x04, 0x03, 0x08, 0x07, 0x06, 0x05 gUnknown_0850DC2F:: @ 850DC2F -@ replacing .incbin "baserom.gba", 0x0050dc2f, 0x10 .byte 0x02, 0x01, 0x04, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x04, 0x02, 0x01, 0x04, 0x03, 0x01, 0x02 gUnknown_0850DC3F:: @ 850DC3F -@ replacing .incbin "baserom.gba", 0x0050dc3f, 0x11 .byte 0x02, 0x01, 0x04, 0x03, 0x01, 0x02, 0x03, 0x04, 0x04, 0x03, 0x01, 0x02, 0x03, 0x04, 0x02, 0x01, 0x00 .align 2, 0 gUnknown_0850DC50:: @ 850DC50 -@ replacing .incbin "baserom.gba", 0x0050dc50, 0x278 .4byte gUnknown_0850DEC8 .4byte gUnknown_0850DED0 .4byte gUnknown_0850DED8 @@ -1296,7 +1128,6 @@ gUnknown_0850DEE0:: .4byte sub_80964BC gUnknown_0850DEE8:: @ 850DEE8 -@ replacing .incbin "baserom.gba", 0x0050dee8, 0xd4 .4byte get_go_image_anim_num .4byte get_go_fast_image_anim_num .4byte get_go_fast_image_anim_num @@ -1369,15 +1200,12 @@ gUnknown_0850DFB0:: .4byte sub_80964BC gUnknown_0850DFBC:: @ 850DFBC -@ replacing .incbin "baserom.gba", 0x0050dfbc, 0x6 .byte 0x00, 0x00, 0x01, 0x00, 0x01, 0x00 gUnknown_0850DFC2:: @ 850DFC2 -@ replacing .incbin "baserom.gba", 0x0050dfc2, 0x6 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 gUnknown_0850DFC8:: @ 850DFC8 -@ replacing .incbin "baserom.gba", 0x0050dfc8, 0x614 .4byte sub_8094230 .4byte sub_8094230_2 .4byte sub_80964BC diff --git a/data/field_player_avatar.s b/data/field_player_avatar.s index 9524854636..c2e0d729de 100644 --- a/data/field_player_avatar.s +++ b/data/field_player_avatar.s @@ -8,76 +8,154 @@ gUnknown_084973FC:: @ 84973FC - .incbin "baserom.gba", 0x4973fc, 0x48 + .4byte MetatileBehavior_IsTrickHouseSlipperyFloor + .4byte MetatileBehavior_IsIce_2 + .4byte MetatileBehavior_IsWalkSouth + .4byte MetatileBehavior_IsWalkNorth + .4byte MetatileBehavior_IsWalkWest + .4byte MetatileBehavior_IsWalkEast + .4byte MetatileBehavior_IsSouthwardCurrent + .4byte MetatileBehavior_IsNorthwardCurrent + .4byte MetatileBehavior_IsWestwardCurrent + .4byte MetatileBehavior_IsEastwardCurrent + .4byte MetatileBehavior_IsSlideSouth + .4byte MetatileBehavior_IsSlideNorth + .4byte MetatileBehavior_IsSlideWest + .4byte MetatileBehavior_IsSlideEast + .4byte MetatileBehavior_IsWaterfall + .4byte MetatileBehavior_IsSecretBaseJumpMat + .4byte MetatileBehavior_IsSecretBaseSpinMat + .4byte MetatileBehavior_IsMuddySlope gUnknown_08497444:: @ 8497444 - .incbin "baserom.gba", 0x497444, 0x4c + .4byte ForcedMovement_None + .4byte ForcedMovement_Slip + .4byte ForcedMovement_Slip + .4byte ForcedMovement_WalkSouth + .4byte ForcedMovement_WalkNorth + .4byte ForcedMovement_WalkWest + .4byte ForcedMovement_WalkEast + .4byte ForcedMovement_PushedSouthByCurrent + .4byte ForcedMovement_PushedNorthByCurrent + .4byte ForcedMovement_PushedWestByCurrent + .4byte ForcedMovement_PushedEastByCurrent + .4byte ForcedMovement_SlideSouth + .4byte ForcedMovement_SlideNorth + .4byte ForcedMovement_SlideWest + .4byte ForcedMovement_SlideEast + .4byte ForcedMovement_PushedSouthByCurrent + .4byte ForcedMovement_0xBB + .4byte ForcedMovement_0xBC + .4byte ForcedMovement_MuddySlope gUnknown_08497490:: @ 8497490 - .incbin "baserom.gba", 0x497490, 0xc + .4byte PlayerNotOnBikeNotMoving + .4byte PlayerNotOnBikeTurningInPlace + .4byte PlayerNotOnBikeMoving gUnknown_0849749C:: @ 849749C - .incbin "baserom.gba", 0x49749c, 0x14 + .4byte MetatileBehavior_IsBumpySlope + .4byte MetatileBehavior_IsIsolatedVerticalRail + .4byte MetatileBehavior_IsIsolatedHorizontalRail + .4byte MetatileBehavior_IsVerticalRail + .4byte MetatileBehavior_IsHorizontalRail gUnknown_084974B0:: @ 84974B0 - .incbin "baserom.gba", 0x4974b0, 0x8 + .byte 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x00, 0x00, 0x00 gUnknown_084974B8:: @ 84974B8 - .incbin "baserom.gba", 0x4974b8, 0x20 + .4byte PlayerAvatarTransition_Normal + .4byte PlayerAvatarTransition_MachBike + .4byte PlayerAvatarTransition_AcroBike + .4byte PlayerAvatarTransition_Surfing + .4byte PlayerAvatarTransition_Underwater + .4byte PlayerAvatarTransition_ReturnToField + .4byte PlayerAvatarTransition_Dummy + .4byte PlayerAvatarTransition_Dummy gUnknown_084974D8:: @ 84974D8 - .incbin "baserom.gba", 0x4974d8, 0x10 + .4byte MetatileBehavior_IsSouthArrowWarp + .4byte MetatileBehavior_IsNorthArrowWarp + .4byte MetatileBehavior_IsWestArrowWarp + .4byte MetatileBehavior_IsEastArrowWarp gUnknown_084974E8:: @ 84974E8 - .incbin "baserom.gba", 0x4974e8, 0x10 + .byte 0x64, 0x69, 0x65, 0x6a, 0x66, 0x6b, 0x67, 0x6c, 0x6f, 0x70, 0x68, 0x6d, 0x89, 0x8a, 0xbf, 0xc0 gUnknown_084974F8:: @ 84974F8 - .incbin "baserom.gba", 0x4974f8, 0x10 + .byte 0x00, 0x59, 0x01, 0x5a, 0x3f, 0x5b, 0x02, 0x5c, 0x6f, 0x70, 0x03, 0x5d, 0x89, 0x8a, 0xbf, 0xc0 gUnknown_08497508:: @ 8497508 - .incbin "baserom.gba", 0x497508, 0x2 + .byte 0xe6, 0xe7 gUnknown_0849750A:: @ 849750A - .incbin "baserom.gba", 0x49750a, 0x2 + .byte 0xeb, 0xec gUnknown_0849750C:: @ 849750C - .incbin "baserom.gba", 0x49750c, 0x14 + .byte 0x00, 0x01, 0x01, 0x02, 0x3f, 0x04, 0x02, 0x08, 0x6f, 0x10, 0x59, 0x01, 0x5a, 0x02, 0x5b, 0x04, 0x5c, 0x08, 0x70, 0x10 gUnknown_08497520:: @ 8497520 - .incbin "baserom.gba", 0x497520, 0x10 + .4byte MetatileBehavior_IsSouthArrowWarp + .4byte MetatileBehavior_IsNorthArrowWarp + .4byte MetatileBehavior_IsWestArrowWarp + .4byte MetatileBehavior_IsEastArrowWarp gUnknown_08497530:: @ 8497530 - .incbin "baserom.gba", 0x497530, 0xc + .4byte sub_808C3A4 + .4byte do_boulder_dust + .4byte sub_808C484 gUnknown_0849753C:: @ 849753C - .incbin "baserom.gba", 0x49753c, 0x4 + .4byte sub_808C544 gUnknown_08497540:: @ 8497540 - .incbin "baserom.gba", 0x497540, 0x10 + .4byte sub_808C61C + .4byte sub_808C644 + .4byte sub_808C6BC + .4byte sub_808C6FC gUnknown_08497550:: @ 8497550 - .incbin "baserom.gba", 0x497550, 0x4 + .byte 3, 4, 2, 1 gUnknown_08497554:: @ 8497554 - .incbin "baserom.gba", 0x497554, 0x8 + .byte 16, 16, 17, 18, 19 + .align 2 gUnknown_0849755C:: @ 849755C - .incbin "baserom.gba", 0x49755c, 0x40 + .4byte fish0 + .4byte fish1 + .4byte fish2 + .4byte fish3 + .4byte fish4 + .4byte fish5 + .4byte fish6 + .4byte fish7 + .4byte fish8 + .4byte fish9 + .4byte fishA_wait_for_a_pressed + .4byte fishB + .4byte fishC + .4byte fishD + .4byte fishE + .4byte fishF gUnknown_0849759C:: @ 849759C - .incbin "baserom.gba", 0x49759c, 0x6 + .2byte 1, 1, 1 gUnknown_084975A2:: @ 84975A2 - .incbin "baserom.gba", 0x4975a2, 0x6 + .2byte 1, 3, 6 gUnknown_084975A8:: @ 84975A8 - .incbin "baserom.gba", 0x4975a8, 0x2 + .string "·$" gUnknown_084975AA:: @ 84975AA - .incbin "baserom.gba", 0x4975aa, 0x6 + .2byte 36, 33, 30 gUnknown_084975B0:: @ 84975B0 - .incbin "baserom.gba", 0x4975b0, 0xc + .2byte 0, 0 + .2byte 0x28, 10 + .2byte 0x46, 30 gUnknown_084975BC:: @ 84975BC - .incbin "baserom.gba", 0x4975bc, 0x8 + .byte 0x01, 0x03, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00 + diff --git a/data/field_region_map.s b/data/field_region_map.s deleted file mode 100644 index f179ba8ceb..0000000000 --- a/data/field_region_map.s +++ /dev/null @@ -1,14 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_085E5068:: @ 85E5068 struct BgTemplate - .4byte 0x000001f0, 0x00002dca - - .align 2 -gUnknown_085E5070:: @ 85E5070 - window_template 0x00, 0x11, 0x11, 0x0c, 0x02, 0x0f, 0x0001 - window_template 0x00, 0x16, 0x01, 0x07, 0x02, 0x0f, 0x0019 - window_template 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 diff --git a/data/field_screen.s b/data/field_screen.s index fd1b1f4669..f95e7e0ecc 100644 --- a/data/field_screen.s +++ b/data/field_screen.s @@ -1,113 +1,492 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" + .include "asm/macros.inc" + .include "constants/constants.inc" - .section .rodata - .align 2, 0 + .section .rodata + .align 2 gUnknown_0854014C:: @ 854014C - .incbin "baserom.gba", 0x54014c, 0xc000 + .incbin "graphics/misc/sunny_day/0.gbapal" + .incbin "graphics/misc/sunny_day/1.gbapal" + .incbin "graphics/misc/sunny_day/2.gbapal" + .incbin "graphics/misc/sunny_day/3.gbapal" + .incbin "graphics/misc/sunny_day/4.gbapal" + .incbin "graphics/misc/sunny_day/5.gbapal" + .incbin "graphics/misc/sunny_day/6.gbapal" + .incbin "graphics/misc/sunny_day/7.gbapal" + .incbin "graphics/misc/sunny_day/8.gbapal" + .incbin "graphics/misc/sunny_day/9.gbapal" + .incbin "graphics/misc/sunny_day/10.gbapal" + .incbin "graphics/misc/sunny_day/11.gbapal" + .incbin "graphics/misc/sunny_day/12.gbapal" + .incbin "graphics/misc/sunny_day/13.gbapal" + .incbin "graphics/misc/sunny_day/14.gbapal" + .incbin "graphics/misc/sunny_day/15.gbapal" + .incbin "graphics/misc/sunny_day/16.gbapal" + .incbin "graphics/misc/sunny_day/17.gbapal" + .incbin "graphics/misc/sunny_day/18.gbapal" + .incbin "graphics/misc/sunny_day/19.gbapal" + .incbin "graphics/misc/sunny_day/20.gbapal" + .incbin "graphics/misc/sunny_day/21.gbapal" + .incbin "graphics/misc/sunny_day/22.gbapal" + .incbin "graphics/misc/sunny_day/23.gbapal" + .incbin "graphics/misc/sunny_day/24.gbapal" + .incbin "graphics/misc/sunny_day/25.gbapal" + .incbin "graphics/misc/sunny_day/26.gbapal" + .incbin "graphics/misc/sunny_day/27.gbapal" + .incbin "graphics/misc/sunny_day/28.gbapal" + .incbin "graphics/misc/sunny_day/29.gbapal" + .incbin "graphics/misc/sunny_day/30.gbapal" + .incbin "graphics/misc/sunny_day/31.gbapal" + .incbin "graphics/misc/sunny_day/32.gbapal" + .incbin "graphics/misc/sunny_day/33.gbapal" + .incbin "graphics/misc/sunny_day/34.gbapal" + .incbin "graphics/misc/sunny_day/35.gbapal" + .incbin "graphics/misc/sunny_day/36.gbapal" + .incbin "graphics/misc/sunny_day/37.gbapal" + .incbin "graphics/misc/sunny_day/38.gbapal" + .incbin "graphics/misc/sunny_day/39.gbapal" + .incbin "graphics/misc/sunny_day/40.gbapal" + .incbin "graphics/misc/sunny_day/41.gbapal" + .incbin "graphics/misc/sunny_day/42.gbapal" + .incbin "graphics/misc/sunny_day/43.gbapal" + .incbin "graphics/misc/sunny_day/44.gbapal" + .incbin "graphics/misc/sunny_day/45.gbapal" + .incbin "graphics/misc/sunny_day/46.gbapal" + .incbin "graphics/misc/sunny_day/47.gbapal" + .incbin "graphics/misc/sunny_day/48.gbapal" + .incbin "graphics/misc/sunny_day/49.gbapal" + .incbin "graphics/misc/sunny_day/50.gbapal" + .incbin "graphics/misc/sunny_day/51.gbapal" + .incbin "graphics/misc/sunny_day/52.gbapal" + .incbin "graphics/misc/sunny_day/53.gbapal" + .incbin "graphics/misc/sunny_day/54.gbapal" + .incbin "graphics/misc/sunny_day/55.gbapal" + .incbin "graphics/misc/sunny_day/56.gbapal" + .incbin "graphics/misc/sunny_day/57.gbapal" + .incbin "graphics/misc/sunny_day/58.gbapal" + .incbin "graphics/misc/sunny_day/59.gbapal" + .incbin "graphics/misc/sunny_day/60.gbapal" + .incbin "graphics/misc/sunny_day/61.gbapal" + .incbin "graphics/misc/sunny_day/62.gbapal" + .incbin "graphics/misc/sunny_day/63.gbapal" + .incbin "graphics/misc/sunny_day/64.gbapal" + .incbin "graphics/misc/sunny_day/65.gbapal" + .incbin "graphics/misc/sunny_day/66.gbapal" + .incbin "graphics/misc/sunny_day/67.gbapal" + .incbin "graphics/misc/sunny_day/68.gbapal" + .incbin "graphics/misc/sunny_day/69.gbapal" + .incbin "graphics/misc/sunny_day/70.gbapal" + .incbin "graphics/misc/sunny_day/71.gbapal" + .incbin "graphics/misc/sunny_day/72.gbapal" + .incbin "graphics/misc/sunny_day/73.gbapal" + .incbin "graphics/misc/sunny_day/74.gbapal" + .incbin "graphics/misc/sunny_day/75.gbapal" + .incbin "graphics/misc/sunny_day/76.gbapal" + .incbin "graphics/misc/sunny_day/77.gbapal" + .incbin "graphics/misc/sunny_day/78.gbapal" + .incbin "graphics/misc/sunny_day/79.gbapal" + .incbin "graphics/misc/sunny_day/80.gbapal" + .incbin "graphics/misc/sunny_day/81.gbapal" + .incbin "graphics/misc/sunny_day/82.gbapal" + .incbin "graphics/misc/sunny_day/83.gbapal" + .incbin "graphics/misc/sunny_day/84.gbapal" + .incbin "graphics/misc/sunny_day/85.gbapal" + .incbin "graphics/misc/sunny_day/86.gbapal" + .incbin "graphics/misc/sunny_day/87.gbapal" + .incbin "graphics/misc/sunny_day/88.gbapal" + .incbin "graphics/misc/sunny_day/89.gbapal" + .incbin "graphics/misc/sunny_day/90.gbapal" + .incbin "graphics/misc/sunny_day/91.gbapal" + .incbin "graphics/misc/sunny_day/92.gbapal" + .incbin "graphics/misc/sunny_day/93.gbapal" + .incbin "graphics/misc/sunny_day/94.gbapal" + .incbin "graphics/misc/sunny_day/95.gbapal" + .align 2 gUnknown_0854C14C:: @ 854C14C - .incbin "baserom.gba", 0x54c14c, 0x4 + .4byte gUnknown_02038454 + .align 2 gUnknown_0854C150:: @ 854C150 - .incbin "baserom.gba", 0x54c150, 0xf0 + .4byte sub_80AB26C + .4byte nullsub_36 + .4byte sub_80AB26C + .4byte sub_80AB290 + .4byte sub_80AC438 + .4byte sub_80AC4B4 + .4byte sub_80AC484 + .4byte sub_80AC514 + .4byte sub_80AC55C + .4byte nullsub_95 + .4byte sub_80AC580 + .4byte sub_80AC590 + .4byte sub_80AC928 + .4byte sub_80AC9C4 + .4byte sub_80AC994 + .4byte sub_80ACA24 + .4byte sub_80ACF8C + .4byte snowflakes_progress2 + .4byte sub_80ACFDC + .4byte sub_80AD084 + .4byte sub_80AD444 + .4byte sub_80AD584 + .4byte sub_80AD4B8 + .4byte sub_80AD910 + .4byte sub_80ADA60 + .4byte sub_80ADAF0 + .4byte sub_80ADAC0 + .4byte sub_80ADBB0 + .4byte sub_80ADDBC + .4byte sub_80ADE48 + .4byte sub_80ADE18 + .4byte sub_80ADEF4 + .4byte sub_80AE45C + .4byte sub_80AE50C + .4byte sub_80AE4DC + .4byte sub_80AE588 + .4byte sub_80AE0E4 + .4byte sub_80AE198 + .4byte sub_80AE168 + .4byte sub_80AE1FC + .4byte sub_80ADA60 + .4byte sub_80ADAF0 + .4byte sub_80ADAC0 + .4byte sub_80ADBB0 + .4byte sub_80AE9F0 + .4byte nullsub_96 + .4byte sub_80AEA20 + .4byte sub_80AEA30 + .4byte sub_80AC6D0 + .4byte sub_80AC734 + .4byte sub_80AC704 + .4byte sub_80AC818 + .4byte sub_80AD4E8 + .4byte sub_80AD584 + .4byte sub_80AD554 + .4byte sub_80AD910 + .4byte sub_80AEA34 + .4byte sub_80AEAB8 + .4byte sub_80AEA88 + .4byte sub_80AEB2C + .align 2 gUnknown_0854C240:: @ 854C240 - .incbin "baserom.gba", 0x54c240, 0x10 + .4byte sub_80AB3A8 + .4byte sub_80AB434 + .4byte nullsub_94 + .4byte nullsub_94 + .align 2 gUnknown_0854C250:: @ 854C250 - .incbin "baserom.gba", 0x54c250, 0x20 + .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x02, 0x01, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01 + .align 2 gUnknown_0854C270:: @ 854C270 - .incbin "baserom.gba", 0x54c270, 0x20 + .incbin "graphics/weather/0.gbapal" + .align 2 gUnknown_0854C290:: @ 854C290 - .incbin "baserom.gba", 0x54c290, 0x20 + .incbin "graphics/weather/1.gbapal" + .align 2 gUnknown_0854C2B0:: @ 854C2B0 - .incbin "baserom.gba", 0x54c2b0, 0x820 + .incbin "graphics/weather/2.gbapal" -gUnknown_0854CAD0:: @ 854CAD0 - .incbin "baserom.gba", 0x54cad0, 0x3080 + .align 2 +gWeatherFog2Tiles:: @ 854C2D0 + .incbin "graphics/weather/fog2.4bpp" + .align 2 +gWeatherFog1Tiles:: @ 854CAD0 + .incbin "graphics/weather/fog1.4bpp" + + .align 2 +gWeatherCloudTiles:: @ 854D2D0 + .incbin "graphics/weather/cloud.4bpp" + + .align 2 +gWeatherSnow1Tiles:: @ 854DAD0 + .incbin "graphics/weather/snow0.4bpp" + + .align 2 +gWeatherSnow2Tiles:: @ 854DAF0 + .incbin "graphics/weather/snow1.4bpp" + + .align 2 +gWeatherBubbleTiles:: @ 854DB10 + .incbin "graphics/weather/bubble.4bpp" + + .align 2 +gWeatherAshTiles:: @ 854DB50 + .incbin "graphics/weather/ash.4bpp" + + .align 2 +gWeatherRainTiles:: @ 854EB50 + .incbin "graphics/weather/rain.4bpp" + + .align 2 +gWeatherSandstormTiles:: @ 854F150 + .incbin "graphics/weather/sandstorm.4bpp" + + .align 1 gUnknown_0854FB50:: @ 854FB50 - .incbin "baserom.gba", 0x54fb50, 0xc + .2byte 0x0000, 0x0042, 0x0005, 0x0049, 0x000a, 0x004e -gUnknown_0854FB5C:: @ 854FB5C - .incbin "baserom.gba", 0x54fb5c, 0x1c + .align 2 +sCloudSpriteSheet:: @ 854FB5C + obj_tiles gWeatherCloudTiles, 0x0800, 0x1200 -gUnknown_0854FB78:: @ 854FB78 - .incbin "baserom.gba", 0x54fb78, 0x18 + .align 2 +gOamData_854FB64:: @ 854FB64 + .2byte 0x0400, 0xc000, 0x0c00, 0x0000 + .align 2 +gSpriteAnim_854FB6C:: @ 854FB6C + .2byte 0x0000, 0x0010, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_854FB74:: @ 854FB74 + .4byte gSpriteAnim_854FB6C + + .align 2 +sCloudSpriteTemplate:: @ 854FB78 + spr_template 0x1200, 0x1201, gOamData_854FB64, gSpriteAnimTable_854FB74, NULL, gDummySpriteAffineAnimTable, sub_80AC6B4 + + .align 2 gUnknown_0854FB90:: @ 854FB90 - .incbin "baserom.gba", 0x54fb90, 0x9c + .2byte 0x0000, 0x0000, 0x0000, 0x00a0, 0x0000, 0x0040, 0x0090, 0x00e0, 0x0090, 0x0080, 0x0020, 0x0020, 0x0020, 0x00c0, 0x0020, 0x0060 + .2byte 0x0048, 0x0080, 0x0048, 0x0020, 0x0048, 0x00c0, 0x00d8, 0x0060, 0x00d8, 0x0000, 0x0068, 0x00a0, 0x0068, 0x0040, 0x0068, 0x00e0 + .2byte 0x0090, 0x0000, 0x0090, 0x00a0, 0x0090, 0x0040, 0x0020, 0x00e0, 0x0020, 0x0080, 0x0048, 0x0020, 0x0048, 0x00c0, 0x0030, 0x0060 -gUnknown_0854FC2C:: @ 854FC2C - .incbin "baserom.gba", 0x54fc2c, 0x18 + .align 2 +gOamData_854FBF0:: @ 854FBF0 + .2byte 0x8000, 0x8000, 0x2400, 0x0000 + .align 2 +gSpriteAnim_854FBF8:: @ 854FBF8 + .2byte 0x0000, 0x0010, 0xfffe, 0x0000 + + .align 2 +gSpriteAnim_854FC00:: @ 854FC00 + .2byte 0x0008, 0x0003, 0x0020, 0x0002, 0x0028, 0x0002, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_854FC10:: @ 854FC10 + .2byte 0x0008, 0x0003, 0x0010, 0x0003, 0x0018, 0x0004, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_854FC20:: @ 854FC20 + .4byte gSpriteAnim_854FBF8 + .4byte gSpriteAnim_854FC00 + .4byte gSpriteAnim_854FC10 + + .align 2 +gSpriteTemplate_854FC2C:: @ 854FC2C + spr_template 0x1206, 0x1200, gOamData_854FBF0, gSpriteAnimTable_854FC20, NULL, gDummySpriteAffineAnimTable, sub_80ACB84 + + .align 1 gUnknown_0854FC44:: @ 854FC44 - .incbin "baserom.gba", 0x54fc44, 0x8 + .2byte 0xff98, 0x00d0, 0xff60, 0x0140 + .align 1 gUnknown_0854FC4C:: @ 854FC4C - .incbin "baserom.gba", 0x54fc4c, 0x8 + .2byte 0x0012, 0x0007, 0x000c, 0x000a + .align 2 gUnknown_0854FC54:: @ 854FC54 - .incbin "baserom.gba", 0x54fc54, 0x38 + obj_tiles gWeatherRainTiles, 0x0600, 0x1206 + .align 2 +gOamData_854FC5C:: @ 854FC5C + .2byte 0x0000, 0x0000, 0x0400, 0x0000 + + .align 2 +gUnknown_0854FC64:: @ 854FC64 + obj_frame_tiles gWeatherSnow1Tiles, 0x0020 + obj_frame_tiles gWeatherSnow2Tiles, 0x0020 + + .align 2 +gSpriteAnim_854FC74:: @ 854FC74 + .2byte 0x0000, 0x0010, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_854FC7C:: @ 854FC7C + .2byte 0x0001, 0x0010, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_854FC84:: @ 854FC84 + .4byte gSpriteAnim_854FC74 + .4byte gSpriteAnim_854FC7C + + .align 2 gUnknown_0854FC8C:: @ 854FC8C - .incbin "baserom.gba", 0x54fc8c, 0x8c + spr_template 0xffff, 0x1200, gOamData_854FC5C, gSpriteAnimTable_854FC84, gUnknown_0854FC64, gDummySpriteAffineAnimTable, sub_80AD30C -gUnknown_0854FD18:: @ 854FD18 - .incbin "baserom.gba", 0x54fd18, 0x18 + .align 2 +gUnknown_0854FCA4:: @ 854FCA4 + .2byte 0x0000, 0x0006, 0x0006, 0x000c, 0x0012, 0x002a, 0x012c, 0x012c + .align 2 +gOamData_854FCB4:: @ 854FCB4 + .2byte 0x0400, 0xc000, 0x0800, 0x0000 + + .align 2 +gSpriteAnim_854FCBC:: @ 854FCBC + .2byte 0x0000, 0x0010, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_854FCC4:: @ 854FCC4 + .2byte 0x0020, 0x0010, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_854FCCC:: @ 854FCCC + .2byte 0x0040, 0x0010, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_854FCD4:: @ 854FCD4 + .2byte 0x0060, 0x0010, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_854FCDC:: @ 854FCDC + .2byte 0x0080, 0x0010, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_854FCE4:: @ 854FCE4 + .2byte 0x00a0, 0x0010, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_854FCEC:: @ 854FCEC + .4byte gSpriteAnim_854FCBC + .4byte gSpriteAnim_854FCC4 + .4byte gSpriteAnim_854FCCC + .4byte gSpriteAnim_854FCD4 + .4byte gSpriteAnim_854FCDC + .4byte gSpriteAnim_854FCE4 + + .align 2 +gSpriteAffineAnim_854FD04:: @ 854FD04 + .2byte 0x0200, 0x0200, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnimTable_854FD14:: @ 854FD14 + .4byte gSpriteAffineAnim_854FD04 + + .align 2 +gSpriteTemplate_854FD18:: @ 854FD18 + spr_template 0x1201, 0x1200, gOamData_854FCB4, gSpriteAnimTable_854FCEC, NULL, gSpriteAffineAnimTable_854FD14, sub_80ADC4C + + .align 2 gUnknown_0854FD30:: @ 854FD30 - .incbin "baserom.gba", 0x54fd30, 0x8 + obj_tiles gWeatherFog1Tiles, 0x0800, 0x1201 + .align 2 gUnknown_0854FD38:: @ 854FD38 - .incbin "baserom.gba", 0x54fd38, 0x20 + obj_tiles gWeatherAshTiles, 0x1000, 0x1202 -gUnknown_0854FD58:: @ 854FD58 - .incbin "baserom.gba", 0x54fd58, 0x18 + .align 2 +gOamData_854FD40:: @ 854FD40 + .2byte 0x0400, 0xc000, 0xf400, 0x0000 + .align 2 +gSpriteAnim_854FD48:: @ 854FD48 + .2byte 0x0000, 0x003c, 0x0040, 0x003c, 0xfffe, 0x0000 + + .align 2 +gSpriteAnimTable_854FD54:: @ 854FD54 + .4byte gSpriteAnim_854FD48 + + .align 2 +gSpriteTemplate_854FD58:: @ 854FD58 + spr_template 0x1202, 0x1200, gOamData_854FD40, gSpriteAnimTable_854FD54, NULL, gDummySpriteAffineAnimTable, sub_80AE068 + + .align 2 gUnknown_0854FD70:: @ 854FD70 - .incbin "baserom.gba", 0x54fd70, 0x1c + obj_tiles gWeatherFog2Tiles, 0x0800, 0x1203 -gUnknown_0854FD8C:: @ 854FD8C - .incbin "baserom.gba", 0x54fd8c, 0x38 + .align 2 +gOamData_854FD78:: @ 854FD78 + .2byte 0x0400, 0xc000, 0x0800, 0x0000 -gUnknown_0854FDC4:: @ 854FDC4 - .incbin "baserom.gba", 0x54fdc4, 0x18 + .align 2 +gSpriteAnim_854FD80:: @ 854FD80 + .2byte 0x0000, 0x0010, 0xffff, 0x0000 + .align 2 +gSpriteAnimTable_854FD88:: @ 854FD88 + .4byte gSpriteAnim_854FD80 + + .align 2 +gSpriteTemplate_854FD8C:: @ 854FD8C + spr_template 0x1203, 0x1200, gOamData_854FD78, gSpriteAnimTable_854FD88, NULL, gDummySpriteAffineAnimTable, sub_80AE3FC + + .align 2 +gOamData_854FDA4:: @ 854FDA4 + .2byte 0x0400, 0xc000, 0x0400, 0x0000 + + .align 2 +gSpriteAnim_854FDAC:: @ 854FDAC + .2byte 0x0000, 0x0003, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_854FDB4:: @ 854FDB4 + .2byte 0x0040, 0x0003, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_854FDBC:: @ 854FDBC + .4byte gSpriteAnim_854FDAC + .4byte gSpriteAnim_854FDB4 + + .align 2 +gSpriteTemplate_854FDC4:: @ 854FDC4 + spr_template 0x1204, 0x1201, gOamData_854FDA4, gSpriteAnimTable_854FDBC, NULL, gDummySpriteAffineAnimTable, sub_80AE8F8 + + .align 2 gUnknown_0854FDDC:: @ 854FDDC - .incbin "baserom.gba", 0x54fddc, 0x8 + obj_tiles gWeatherSandstormTiles, 0x0a00, 0x1204 + .align 1 gUnknown_0854FDE4:: @ 854FDE4 - .incbin "baserom.gba", 0x54fde4, 0xc + .2byte 0x0000, 0x0078, 0x0050, 0x00a0, 0x0028, 0x0000 gUnknown_0854FDF0:: @ 854FDF0 - .incbin "baserom.gba", 0x54fdf0, 0x8 + .byte 0x28, 0x5a, 0x3c, 0x5a, 0x02, 0x3c, 0x28, 0x1e + .align 2 gUnknown_0854FDF8:: @ 854FDF8 - .incbin "baserom.gba", 0x54fdf8, 0x8 + obj_tiles gWeatherBubbleTiles, 0x0040, 0x1205 + .align 1 gUnknown_0854FE00:: @ 854FE00 - .incbin "baserom.gba", 0x54fe00, 0x44 + .2byte 0x0078, 0x00a0, 0x0178, 0x00a0, 0x0028, 0x008c, 0x0128, 0x008c, 0x00b4, 0x0082, 0x01b4, 0x0082, 0x003c, 0x00a0, 0x01b4, 0x00a0 + .2byte 0x00dc, 0x00b4, 0x01dc, 0x00b4, 0x000a, 0x005a, 0x010a, 0x005a, 0x0100, 0x00a0 -gUnknown_0854FE44:: @ 854FE44 - .incbin "baserom.gba", 0x54fe44, 0x18 + .align 2 +gSpriteAnim_854FE34:: @ 854FE34 + .2byte 0x0000, 0x0010, 0x0001, 0x0010, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_854FE40:: @ 854FE40 + .4byte gSpriteAnim_854FE34 + + .align 2 +gSpriteTemplate_854FE44:: @ 854FE44 + spr_template 0x1205, 0x1200, gUnknown_08524904, gSpriteAnimTable_854FE40, NULL, gDummySpriteAffineAnimTable, sub_80AEC34 gUnknown_0854FE5C:: @ 854FE5C - .incbin "baserom.gba", 0x54fe5c, 0x4 + .byte 0x02, 0x03, 0x05, 0x03 gUnknown_0854FE60:: @ 854FE60 - .incbin "baserom.gba", 0x54fe60, 0x4 + .byte 0x02, 0x02, 0x03, 0x02 + .align 1 gUnknown_0854FE64:: @ 854FE64 - .incbin "baserom.gba", 0x54fe64, 0x14 + .2byte 0x00c8, 0x0048, 0x0040, 0x0038, 0x0030, 0x0028, 0x0020, 0x0018, 0x0000, 0x0000 + .align 2 gUnknown_0854FE78:: @ 854FE78 - .incbin "baserom.gba", 0x54fe78, 0x4 + .4byte 0x00000008 + .align 2 gUnknown_0854FE7C:: @ 854FE7C - .incbin "baserom.gba", 0x54fe7c, 0xc + .4byte 0x04000040, 0xa2600001, 0x00000001 + diff --git a/data/field_special_scene.s b/data/field_special_scene.s index fe8ef16226..16e5a366df 100644 --- a/data/field_special_scene.s +++ b/data/field_special_scene.s @@ -6,10 +6,10 @@ .align 2, 0 gTruckCamera_HorizontalTable:: @ 858E898 - .incbin "baserom.gba", 0x58e898, 0x13 + .byte 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, -1, -1, -1, 0 gUnknown_0858E8AB:: @ 858E8AB - .incbin "baserom.gba", 0x58e8ab, 0x2 + .byte 0x18, 0xFE gUnknown_0858E8AD:: @ 858E8AD - .incbin "baserom.gba", 0x58e8ad, 0x3 + .byte 0x17, 0xFE diff --git a/data/field_specials.s b/data/field_specials.s new file mode 100644 index 0000000000..8f9734a013 --- /dev/null +++ b/data/field_specials.s @@ -0,0 +1,547 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 +gUnknown_085B2B5C:: @ 85B2B5C + .byte 0x07, 0x09, 0x08, 0x0a + + .align 2 +gUnknown_085B2B60:: @ 85B2B60 + .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00 + +gUnknown_085B2B68:: @ 85B2B68 + .byte 0x07, 0x16, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0a, 0x10, 0x00, 0x00, 0x0f, 0x10, 0x00, 0x00 + +gUnknown_085B2B78:: @ 85B2B78 + .byte 0x00, 0x01, 0x01, 0x01, 0x01, 0x00 + + .align 1 +gUnknown_085B2B7E:: @ 85B2B7E + .2byte 0x0218, 0x0219, 0x021a, 0x021b, 0x021c + +gUnknown_085B2B88:: @ 85B2B88 + .byte 0x0c, 0x02, 0x04, 0x05, 0x01, 0x08, 0x07, 0x0b, 0x03, 0x0a, 0x09, 0x06 + +gUnknown_085B2B94:: @ 85B2B94 + .byte 0x00, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x04, 0x05 + +gUnknown_085B2BA0:: @ 85B2BA0 + .byte 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05 + + .align 2 +gUnknown_085B2BAC:: @ 85B2BAC + .byte 0x00, 0x15, 0x01, 0x08, 0x04, 0x0f, 0x08, 0x00 + + .align 2 +gElevatorFloorsTable:: @ 85B2BB4 + .4byte gText_B4F + .4byte gText_B3F + .4byte gText_B2F + .4byte gText_B1F + .4byte gText_1F + .4byte gText_2F + .4byte gText_3F + .4byte gText_4F + .4byte gText_5F + .4byte gText_6F + .4byte gText_7F + .4byte gText_8F + .4byte gText_9F + .4byte gText_10F + .4byte gText_11F + .4byte gText_Rooftop + + .align 1 +gUnknown_085B2BF4:: @ 85B2BF4 + .2byte 0x0329, 0x032a, 0x032b, 0x0331, 0x0332, 0x0333, 0x0339, 0x033a, 0x033b + + .align 1 +gUnknown_085B2C06:: @ 85B2C06 + .2byte 0x0329, 0x032b, 0x032a, 0x0331, 0x0333, 0x0332, 0x0339, 0x033b, 0x033a + +gUnknown_085B2C18:: @ 85B2C18 + .byte 0x08, 0x10, 0x18, 0x20, 0x26, 0x2e, 0x34, 0x38, 0x39 + +gUnknown_085B2C21:: @ 85B2C21 + .byte 0x03, 0x06, 0x09, 0x0c, 0x0f, 0x12, 0x15, 0x18, 0x1b + + .align 1 +gUnknown_085B2C2A:: @ 85B2C2A + .2byte 0x0202, 0x0301, 0x0405, 0x0504, 0x0604, 0x0700, 0x0804, 0x090b, 0x0a05, 0x0b05, 0x0c02, 0x0d06, 0x0e03, 0x0f02, 0x100c, 0x100a + .2byte 0x1a35, 0x193c, 0xffff + + .align 2 +gUnknown_085B2C50:: @ 85B2C50 + .4byte BattleFrontier_Lounge2_Text_260971 + .4byte BattleFrontier_Lounge2_Text_260A1E + .4byte BattleFrontier_Lounge2_Text_260AE7 + .4byte BattleFrontier_Lounge2_Text_2619AC + .4byte BattleFrontier_Lounge2_Text_261A91 + .4byte BattleFrontier_Lounge2_Text_261B0C + .4byte BattleFrontier_Lounge2_Text_261B95 + .4byte BattleFrontier_Lounge2_Text_261B95 + .4byte BattleFrontier_Lounge2_Text_261B95 + .4byte BattleFrontier_Lounge2_Text_261C1A + .4byte BattleFrontier_Lounge2_Text_261C1A + .4byte BattleFrontier_Lounge2_Text_261C1A + .4byte BattleFrontier_Lounge2_Text_260BC4 + .4byte BattleFrontier_Lounge2_Text_260C6D + .4byte BattleFrontier_Lounge2_Text_260D3A + .4byte BattleFrontier_Lounge2_Text_260E1E + .4byte BattleFrontier_Lounge2_Text_260EC7 + .4byte BattleFrontier_Lounge2_Text_260F74 + .4byte BattleFrontier_Lounge2_Text_2614E6 + .4byte BattleFrontier_Lounge2_Text_261591 + .4byte BattleFrontier_Lounge2_Text_26166F + .4byte BattleFrontier_Lounge2_Text_261282 + .4byte BattleFrontier_Lounge2_Text_261329 + .4byte BattleFrontier_Lounge2_Text_261403 + .4byte BattleFrontier_Lounge2_Text_261026 + .4byte BattleFrontier_Lounge2_Text_2610CC + .4byte BattleFrontier_Lounge2_Text_261194 + .4byte BattleFrontier_Lounge2_Text_26174D + .4byte BattleFrontier_Lounge2_Text_2617F9 + .4byte BattleFrontier_Lounge2_Text_2618C4 + +gUnknown_085B2CC8:: @ 85B2CC8 + .byte 0x15, 0x38, 0x15, 0x23, 0xff, 0xff, 0xff, 0xff, 0x02, 0x04, 0x07, 0x15, 0x07, 0x15, 0x0e, 0x1c, 0x0d, 0x70, 0x07, 0x38 + + .align 1 +gUnknown_085B2CDC:: @ 85B2CDC + .2byte 0x0007, 0x000e, 0x0015, 0x001c, 0x0023, 0x0031, 0x003f, 0x004d, 0x005b, 0x0000 + + .align 2 +gUnknown_085B2CF0:: @ 85B2CF0 + .4byte gText_Exit + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + + .4byte gText_BlueFlute + .4byte gText_YellowFlute + .4byte gText_RedFlute + .4byte gText_WhiteFlute + .4byte gText_BlackFlute + .4byte gText_PrettyChair + .4byte gText_PrettyDesk + .4byte gText_Exit + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + + .4byte gText_0Pts + .4byte gText_10Pts + .4byte gText_20Pts + .4byte gText_30Pts + .4byte gText_40Pts + .4byte gText_50Pts + .4byte gText_60Pts + .4byte gText_70Pts + .4byte gText_80Pts + .4byte gText_90Pts + .4byte gText_100Pts + .4byte gText_QuestionMark + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + + .4byte gText_KissPoster16BP + .4byte gText_KissCushion32BP + .4byte gText_SmoochumDoll32BP + .4byte gText_TogepiDoll48BP + .4byte gText_MeowthDoll48BP + .4byte gText_ClefairyDoll48BP + .4byte gText_DittoDoll48BP + .4byte gText_CyndaquilDoll80BP + .4byte gText_ChikoritaDoll80BP + .4byte gText_TotodileDoll80BP + .4byte gText_Exit + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + + .4byte gText_LaprasDoll128BP + .4byte gText_SnorlaxDoll128BP + .4byte gText_VenusaurDoll256BP + .4byte gText_CharizardDoll256BP + .4byte gText_BlastoiseDoll256BP + .4byte gText_Exit + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + + .4byte gText_Protein1BP + .4byte gText_Calcium1BP + .4byte gText_Iron1BP + .4byte gText_Zinc1BP + .4byte gText_Carbos1BP + .4byte gText_HpUp1BP + .4byte gText_Exit + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + + .4byte gText_Leftovers48BP + .4byte gText_WhiteHerb48BP + .4byte gText_QuickClaw48BP + .4byte gText_MentalHerb48BP + .4byte gText_BrightPowder64BP + .4byte gText_ChoiceBand64BP + .4byte gText_KingsRock64BP + .4byte gText_FocusBand64BP + .4byte gText_ScopeLens64BP + .4byte gText_Exit + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + + .4byte gText_EnergyPowder50 + .4byte gText_EnergyRoot80 + .4byte gText_HealPowder50 + .4byte gText_RevivalHerb300 + .4byte gText_Protein1000 + .4byte gText_Iron1000 + .4byte gText_Carbos1000 + .4byte gText_Calcium1000 + .4byte gText_Zinc1000 + .4byte gText_HPUp1000 + .4byte gText_PPUp3000 + .4byte gText_Exit + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + + .4byte gText_BattleTower2 + .4byte gText_BattleDome + .4byte gText_BattlePalace + .4byte gText_BattleArena + .4byte gText_BattleFactory + .4byte gText_BattlePike + .4byte gText_BattlePyramid + .4byte gText_RankingHall + .4byte gText_ExchangeService + .4byte gText_Exit + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + + .4byte gText_Softboiled16BP + .4byte gText_SeismicToss24BP + .4byte gText_DreamEater24BP + .4byte gText_MegaPunch24BP + .4byte gText_MegaKick48BP + .4byte gText_BodySlam48BP + .4byte gText_RockSlide48BP + .4byte gText_Counter48BP + .4byte gText_ThunderWave48BP + .4byte gText_SwordsDance48BP + .4byte gText_Exit + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + + .4byte gText_DefenseCurl16BP + .4byte gText_Snore24BP + .4byte gText_MudSlap24BP + .4byte gText_Swift24BP + .4byte gText_IcyWind24BP + .4byte gText_Endure48BP + .4byte gText_PsychUp48BP + .4byte gText_IcePunch48BP + .4byte gText_ThunderPunch48BP + .4byte gText_FirePunch48BP + .4byte gText_Exit + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + + .4byte gText_SlateportCity + .4byte gText_BattleFrontier + .4byte gText_SouthernIsland + .4byte gText_NavelRock + .4byte gText_BirthIsland + .4byte gText_FarawayIsland + .4byte gText_Exit + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + + .4byte gText_BattleTrainers + .4byte gText_BattleBasics + .4byte gText_PokemonNature + .4byte gText_PokemonMoves + .4byte gText_Underpowered + .4byte gText_WhenInDanger + .4byte gText_Exit + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + .4byte NULL + + .align 2 +gUnknown_085B3030:: @ 85B3030 + .4byte 0x03000002, 0x00000000, 0x07d00000, 0x00000064 + + .align 2 +gUnknown_085B3040:: @ 85B3040 + .4byte BattleFrontier_Lounge5_Text_26468D + .4byte BattleFrontier_Lounge5_Text_2646E5 + .4byte BattleFrontier_Lounge5_Text_264741 + .4byte BattleFrontier_Lounge5_Text_2647A4 + .4byte BattleFrontier_Lounge5_Text_2647FC + .4byte BattleFrontier_Lounge5_Text_264858 + .4byte BattleFrontier_Lounge5_Text_2648BE + .4byte BattleFrontier_Lounge5_Text_264916 + .4byte BattleFrontier_Lounge5_Text_264972 + .4byte BattleFrontier_Lounge5_Text_2649D5 + .4byte BattleFrontier_Lounge5_Text_264A3F + .4byte BattleFrontier_Lounge5_Text_264A9B + .4byte BattleFrontier_Lounge5_Text_264AF3 + .4byte BattleFrontier_Lounge5_Text_264B5D + .4byte BattleFrontier_Lounge5_Text_2648BE + .4byte BattleFrontier_Lounge5_Text_264BC3 + .4byte BattleFrontier_Lounge5_Text_264C36 + .4byte BattleFrontier_Lounge5_Text_2648BE + .4byte BattleFrontier_Lounge5_Text_264C95 + .4byte BattleFrontier_Lounge5_Text_264D01 + .4byte BattleFrontier_Lounge5_Text_264D6B + .4byte BattleFrontier_Lounge5_Text_264DD7 + .4byte BattleFrontier_Lounge5_Text_264E33 + .4byte BattleFrontier_Lounge5_Text_264E8F + .4byte BattleFrontier_Lounge5_Text_2648BE + + .align 2 +gUnknown_085B30A4:: @ 85B30A4 + .4byte BattleFrontier_Lounge3_Text_262261 + .4byte BattleFrontier_Lounge3_Text_26230D + .4byte BattleFrontier_Lounge3_Text_2623B9 + .4byte BattleFrontier_Lounge3_Text_262464 + .4byte BattleFrontier_Lounge3_Text_26250E + .4byte BattleFrontier_Lounge3_Text_2625B8 + .4byte BattleFrontier_Lounge3_Text_26266A + .4byte BattleFrontier_Lounge3_Text_26271C + .4byte BattleFrontier_Lounge3_Text_2627C9 + .4byte BattleFrontier_Lounge3_Text_262876 + .4byte BattleFrontier_Lounge3_Text_26291A + .4byte BattleFrontier_Lounge3_Text_2629BC + + .align 2 +gUnknown_085B30D4:: @ 85B30D4 + .4byte BattleFrontier_Lounge3_Text_262C04 + .4byte BattleFrontier_Lounge3_Text_262C90 + .4byte BattleFrontier_Lounge3_Text_262D1C + .4byte BattleFrontier_Lounge3_Text_262DA7 + .4byte BattleFrontier_Lounge3_Text_262E34 + .4byte BattleFrontier_Lounge3_Text_262EC1 + .4byte BattleFrontier_Lounge3_Text_262F56 + .4byte BattleFrontier_Lounge3_Text_262FEB + .4byte BattleFrontier_Lounge3_Text_263078 + .4byte BattleFrontier_Lounge3_Text_263105 + .4byte BattleFrontier_Lounge3_Text_26318C + .4byte BattleFrontier_Lounge3_Text_263211 + + .align 1 +gUnknown_085B3104:: @ 85B3104 + .2byte 0x0000, 0x0001, 0x0002, 0x0100, 0x0101, 0x0400, 0x0401, 0x0200, 0x0201, 0x0300, 0x0500, 0x0600 + + .align 2 +gUnknown_085B311C:: @ 85B311C + window_template 0x00, 0x01, 0x01, 0x06, 0x02, 0x0f, 0x0008 + + .align 2 +gUnknown_085B3124:: @ 85B3124 + window_template 0x00, 0x02, 0x09, 0x04, 0x04, 0x0f, 0x0014 + + .align 1 +gUnknown_085B312C:: @ 85B312C + .2byte 0x004b, 0x0067, 0x0057, 0x004f, 0x0054, 0x0055, 0x0056, 0x0050, 0x0051, 0x0052, 0xffff + + .align 1 +gUnknown_085B3142:: @ 85B3142 + .2byte 0x0071, 0x006f, 0x0072, 0x0073, 0x0074, 0xffff + + .align 1 +gUnknown_085B314E:: @ 85B314E + .2byte 0x0040, 0x0043, 0x0041, 0x0046, 0x0042, 0x003f, 0xffff + + .align 1 +gUnknown_085B315C:: @ 85B315C + .2byte 0x00c8, 0x00b4, 0x00b7, 0x00b9, 0x00b3, 0x00ba, 0x00bb, 0x00c4, 0x00c6, 0xffff + + .align 2 +gUnknown_085B3170:: @ 85B3170 + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0 + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260201 + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260287 + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5 + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0 + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E + .4byte gText_Exit + + .align 2 +gUnknown_085B319C:: @ 85B319C + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C + .4byte gText_Exit + + .align 2 +gUnknown_085B31B4:: @ 85B31B4 + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260397 + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6 + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260436 + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C + .4byte gText_Exit + + .align 2 +gUnknown_085B31D0:: @ 85B31D0 + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8 + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260542 + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260575 + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8 + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2 + .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260613 + .4byte gText_Exit + + .align 1 +gUnknown_085B31F8:: @ 85B31F8 + .2byte 0x0087, 0x0045, 0x008a, 0x0005, 0x0019, 0x0022, 0x009d, 0x0044, 0x0056, 0x000e + + .align 1 +gUnknown_085B320C:: @ 85B320C + .2byte 0x006f, 0x00ad, 0x00bd, 0x0081, 0x00c4, 0x00cb, 0x00f4, 0x0008, 0x0009, 0x0007 + + .align 2 +gUnknown_085B3220:: @ 85B3220 + window_template 0x00, 0x01, 0x07, 0x0c, 0x06, 0x0f, 0x001c + + .align 2 +gUnknown_085B3228:: @ 85B3228 + .4byte BattleFrontier_Lounge7_Text_265E30 + .4byte BattleFrontier_Lounge7_Text_265E5B + .4byte BattleFrontier_Lounge7_Text_265E8A + .4byte BattleFrontier_Lounge7_Text_265EC0 + .4byte BattleFrontier_Lounge7_Text_265EED + .4byte BattleFrontier_Lounge7_Text_265F1C + .4byte BattleFrontier_Lounge7_Text_265F47 + .4byte BattleFrontier_Lounge7_Text_265F77 + .4byte BattleFrontier_Lounge7_Text_265FAA + .4byte BattleFrontier_Lounge7_Text_265FDD + .4byte gText_Exit + + .align 2 +gUnknown_085B3254:: @ 85B3254 + .4byte BattleFrontier_Lounge7_Text_26600A + .4byte BattleFrontier_Lounge7_Text_26603E + .4byte BattleFrontier_Lounge7_Text_266070 + .4byte BattleFrontier_Lounge7_Text_2660A6 + .4byte BattleFrontier_Lounge7_Text_2660D0 + .4byte BattleFrontier_Lounge7_Text_2660FF + .4byte BattleFrontier_Lounge7_Text_26612D + .4byte BattleFrontier_Lounge7_Text_26615F + .4byte BattleFrontier_Lounge7_Text_266185 + .4byte BattleFrontier_Lounge7_Text_2661B5 + .4byte gText_Exit + + .align 2 +gUnknown_085B3280:: @ 85B3280 + .incbin "graphics/unknown/unknown_5B3280.gbapal" + +gUnknown_085B33E0:: @ 85B33E0 + .byte 0x0f, 0x0c, 0x0b, 0x0e, 0x0f, 0x08, 0x13, 0x0e, 0x0c, 0x0b, 0x12, 0x0b, 0x0f, 0x0e, 0x0b, 0x0e, 0x13, 0x0e, 0x0f, 0x0f, 0x0f, 0x0a + +gUnknown_085B33F6:: @ 85B33F6 + .byte 0x04, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x06, 0x03, 0x03 + +gUnknown_085B3400:: @ 85B3400 + .byte 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c + +gUnknown_085B3410:: @ 85B3410 + .byte 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c + +gUnknown_085B3420:: @ 85B3420 + .byte 0x02, 0x04, 0x01, 0x04, 0x04, 0x01, 0x05, 0x00, 0x01, 0x06, 0x03, 0x01, 0x08, 0x06, 0x01, 0x09, 0x0d, 0x01, 0x0a, 0x07, 0x01, 0x0b, 0x07, 0x01, 0x0c, 0x04, 0x01, 0x0e, 0x05, 0x01, 0x0f, 0x04 + .byte 0x01, 0x1a, 0x37, 0x01 + + .align 1 +gUnknown_085B3444:: @ 85B3444 + .2byte 0x0202, 0x0301, 0x0405, 0x0504, 0x0604, 0x0700, 0x0804, 0x090b, 0x0a05, 0x0b05, 0x0c02, 0x0d06, 0x0e03, 0x0f02, 0x100c, 0x100a + .2byte 0x1a35, 0x1918, 0x1919, 0x191a, 0x191b, 0xffff + +gUnknown_085B3470:: @ 85B3470 + .byte 0x02, 0x01, 0x02, 0x01 + +gUnknown_085B3474:: @ 85B3474 + .byte 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f + +gUnknown_085B347C:: @ 85B347C + .byte 0x08, 0x0d, 0x0e, 0x0b, 0x0a, 0x0c, 0x0f, 0x09 + diff --git a/data/field_tasks.s b/data/field_tasks.s index 8405c64d5d..310fd0e2ab 100644 --- a/data/field_tasks.s +++ b/data/field_tasks.s @@ -5,19 +5,95 @@ .align 2, 0 gUnknown_08510348:: @ 8510348 - .incbin "baserom.gba", 0x510348, 0x20 + .4byte nullsub_34 + .4byte sub_809E3B4 + .4byte sub_809DEF0 + .4byte sub_809DCB4 + .4byte sub_809E224 + .4byte EndTruckSequence + .4byte sub_80EA3E4 + .4byte sub_809E4CC gUnknown_08510368:: @ 8510368 - .incbin "baserom.gba", 0x510368, 0x20 + .byte 0 + .byte 0 + .2byte 0x259 + .byte 0 + .byte 1 + .2byte 0x261 + .byte 0 + .byte 0xFF + .2byte 0x259 + .byte 0 + .byte 0 + .2byte 0x261 + .byte 0 + .byte 0 + .2byte 0x252 + .byte 1 + .byte 0 + .2byte 0x253 + .byte 0xFF + .byte 0 + .2byte 0x252 + .byte 0 + .byte 0 + .2byte 0x253 gUnknown_08510388:: @ 8510388 - .incbin "baserom.gba", 0x510388, 0x20 + .byte 0 + .byte 0 + .2byte 0x25A + .byte 0 + .byte 1 + .2byte 0x262 + .byte 0 + .byte 0xFF + .2byte 0x25A + .byte 0 + .byte 0 + .2byte 0x262 + .byte 0 + .byte 0 + .2byte 0x254 + .byte 1 + .byte 0 + .2byte 0x255 + .byte 0xFF + .byte 0 + .2byte 0x254 + .byte 0 + .byte 0 + .2byte 0x255 gUnknown_085103A8:: @ 85103A8 - .incbin "baserom.gba", 0x5103a8, 0x20 + .byte 0 + .byte 0 + .2byte 0x258 + .byte 0 + .byte 1 + .2byte 0x260 + .byte 0 + .byte 0xFF + .2byte 0x258 + .byte 0 + .byte 0 + .2byte 0x260 + .byte 0 + .byte 0 + .2byte 0x250 + .byte 1 + .byte 0 + .2byte 0x251 + .byte 0xFF + .byte 0 + .2byte 0x250 + .byte 0 + .byte 0 + .2byte 0x251 gUnknown_085103C8:: @ 85103C8 - .incbin "baserom.gba", 0x5103c8, 0x34 + .2byte 0, 0, 0, 0, 0, 0, 0x4001, 0x4002, 0x4003, 0x4004, 0, 0, 0x4005, 0x4006, 0x4007, 0, 0, 0x4008, 0x4009, 0x400a, 0, 0, 0, 0, 0, 0 gUnknown_085103FC:: @ 85103FC - .incbin "baserom.gba", 0x5103fc, 0x8 + .2byte 0xE8, 0xeb, 0xea, 0xe9 diff --git a/data/fieldmap.s b/data/fieldmap.s index e2cc537da5..1daa3efdf2 100644 --- a/data/fieldmap.s +++ b/data/fieldmap.s @@ -5,4 +5,4 @@ .align 2, 0 gUnknown_08486EF8:: @ 8486EF8 - .incbin "baserom.gba", 0x486ef8, 0x4 + .4byte 0x00000000 diff --git a/data/fldeff_cut.s b/data/fldeff_cut.s index 96bdcede4a..ee5a09c379 100644 --- a/data/fldeff_cut.s +++ b/data/fldeff_cut.s @@ -5,14 +5,28 @@ .align 2, 0 gUnknown_0857C608:: @ 857C608 - .incbin "baserom.gba", 0x57c608, 0x2 + .byte 0xfe, 0xfe, 0x01, 0x00, 0xff, 0xfe, 0x01, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x01, 0xfe, 0x03, 0x00, 0x02, 0xfe, 0x03, 0x00, 0xfe, 0xff, 0x01, 0x00, 0x02, 0xff, 0x03, 0x00, 0xfe, 0x00, 0x04, 0x00, 0x02, 0x00 + .byte 0x06, 0x00, 0xfe, 0x01, 0x07, 0x00, 0x02, 0x01, 0x09, 0x00, 0xfe, 0x02, 0x07, 0x00, 0xff, 0x02, 0x07, 0x00, 0x00, 0x02, 0x08, 0x00, 0x01, 0x02, 0x09, 0x00, 0x02, 0x02, 0x09, 0x00 + +gUnknown_0857C648:: @ 857C648 + .2byte 0 + .2byte 0 + .2byte 0x1401 + .2byte 0 -gUnknown_0857C60A:: @ 857C60A - .incbin "baserom.gba", 0x57c60a, 0x5a +gUnknown_0857C650:: @ 857C650 + obj_image_anim_frame 0, 0x1E + obj_image_anim_jump 0 + +gUnknown_0857C658:: @ 857C658 + .4byte gUnknown_0857C650 + +gUnknown_0857C65C:: @ 857C65C + obj_frame_tiles gFieldEffectObjectPic_ShadowExtraLarge + 0x520, 32 .align 2 gFieldEffectObjectPaletteInfo6:: @ 857C664 obj_pal gFieldEffectObjectPalette6, 0x1000 gUnknown_0857C66C:: @ 857C66C - .incbin "baserom.gba", 0x57c66c, 0x18 + spr_template -1, 0x1000, gUnknown_0857C648, gUnknown_0857C658, gUnknown_0857C65C, gDummySpriteAffineAnimTable, objc_8097BA8 diff --git a/data/fldeff_flash.s b/data/fldeff_flash.s new file mode 100644 index 0000000000..3c3071b37a --- /dev/null +++ b/data/fldeff_flash.s @@ -0,0 +1,81 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 +gUnknown_085B27C8:: @ 85B27C8 + .byte 0x01, 0x04, 0x01, 0x00 + .4byte sub_81375A8 + + .byte 0x02, 0x04, 0x01, 0x00 + .4byte sub_81375A8 + + .byte 0x03, 0x04, 0x01, 0x00 + .4byte sub_81375A8 + + .byte 0x05, 0x04, 0x01, 0x00 + .4byte sub_81375A8 + + .byte 0x06, 0x04, 0x01, 0x00 + .4byte sub_81375A8 + + .byte 0x07, 0x04, 0x01, 0x00 + .4byte sub_81375A8 + + .byte 0x08, 0x04, 0x01, 0x00 + .4byte sub_81375A8 + + .byte 0x09, 0x04, 0x01, 0x00 + .4byte sub_81375A8 + + .byte 0x04, 0x01, 0x00, 0x01 + .4byte sub_81373F0 + + .byte 0x04, 0x02, 0x00, 0x01 + .4byte sub_81373F0 + + .byte 0x04, 0x03, 0x00, 0x01 + .4byte sub_81373F0 + + .byte 0x04, 0x05, 0x00, 0x01 + .4byte sub_81373F0 + + .byte 0x04, 0x06, 0x00, 0x01 + .4byte sub_81373F0 + + .byte 0x04, 0x07, 0x00, 0x01 + .4byte sub_81373F0 + + .byte 0x04, 0x08, 0x00, 0x01 + .4byte sub_81373F0 + + .byte 0x04, 0x09, 0x00, 0x01 + .4byte sub_81373F0 + + .byte 0x00, 0x00, 0x00, 0x00 + .4byte NULL + + .align 2 +gCaveTransitionPalette_White:: @ 85B2850 + .incbin "graphics/misc/cave_transition_white.gbapal" + + .align 2 +gCaveTransitionPalette_Black:: @ 85B2870 + .incbin "graphics/misc/cave_transition_black.gbapal" + + .align 2 +gUnknown_085B2890:: @ 85B2890 + .incbin "graphics/misc/85B2890.gbapal" + + .align 2 +gUnknown_085B28A0:: @ 85B28A0 + .incbin "graphics/misc/85B28A0.gbapal" + + .align 2 +gCaveTransitionTilemap:: @ 85B28B0 + .incbin "graphics/misc/cave_transition_map.bin.lz" + + .align 2 +gCaveTransitionTiles:: @ 85B2A90 + .incbin "graphics/misc/cave_transition.4bpp.lz" diff --git a/data/fossil_special_fldeff_groundshake.s b/data/fossil_special_fldeff_groundshake.s index 8f968d4094..8fa546ce83 100644 --- a/data/fossil_special_fldeff_groundshake.s +++ b/data/fossil_special_fldeff_groundshake.s @@ -3,32 +3,96 @@ .section .rodata + .align 2 gUnknown_08617274:: @ 8617274 - .incbin "baserom.gba", 0x617274, 0x920 + .space 0x20 + .incbin "graphics/misc/mirage_tower.4bpp" + .align 2 gUnknown_08617B94:: @ 8617B94 - .incbin "baserom.gba", 0x617b94, 0xb0 + .incbin "graphics/misc/mirage_tower.bin" -gUnknown_08617C44:: @ 8617C44 - .incbin "baserom.gba", 0x617c44, 0x120 + .align 2 +gRootFossil_Pal:: @ 8617C24 + .incbin "graphics/misc/fossil.gbapal" + .align 2 +gRootFossil_Gfx:: @ 8617C44 + .incbin "graphics/misc/fossil.4bpp" + + .align 2 +gMirageTowerCrumbles_Gfx:: @ 8617CC4 + .incbin "graphics/misc/mirage_tower_crumbles.4bpp" + + .align 2 +gMirageTowerCrumbles_Palette:: @ 8617D44 + .incbin "graphics/misc/mirage_tower_crumbles.gbapal" + + .align 1 gUnknown_08617D64:: @ 8617D64 - .incbin "baserom.gba", 0x617d64, 0x30 + .2byte 0x0000, 0x000a, 0x0041, 0x0011, 0x0003, 0x0032, 0xfff4, 0x0000, 0x004b, 0x000a, 0x000f, 0x005a, 0x0007, 0x0008, 0x0041, 0xffee + .2byte 0x0005, 0x004b, 0x0016, 0xfff6, 0x0037, 0xffe8, 0xfffc, 0x0041 + .align 2 gUnknown_08617D94:: @ 8617D94 - .incbin "baserom.gba", 0x617d94, 0x10 + obj_tiles gMirageTowerCrumbles_Gfx, 0x0080, 0x0fa0 + null_obj_tiles + .align 2 gUnknown_08617DA4:: @ 8617DA4 - .incbin "baserom.gba", 0x617da4, 0x5c + .byte 0x12, 0x35, 0x51, 0x02, 0x13, 0x35, 0x51, 0x02, 0x14, 0x35, 0x51, 0x02, 0x12, 0x36, 0x51, 0x02, 0x13, 0x36, 0x51, 0x02, 0x14, 0x36, 0x51, 0x02, 0x12, 0x37, 0x51, 0x02, 0x13, 0x37, 0x51, 0x02 + .byte 0x14, 0x37, 0x51, 0x02, 0x12, 0x38, 0x51, 0x02, 0x13, 0x38, 0x51, 0x02, 0x14, 0x38, 0x51, 0x02, 0x12, 0x39, 0x59, 0x02, 0x13, 0x39, 0x59, 0x02, 0x14, 0x39, 0x59, 0x02, 0x12, 0x3a, 0x21, 0x01 + .byte 0x13, 0x3a, 0x21, 0x01, 0x14, 0x3a, 0x21, 0x01 + .align 2 +gSpriteAnim_8617DEC:: @ 8617DEC + .2byte 0x0000, 0x0001, 0xffff, 0x0000 + + .align 2 +gOamData_8617DF4:: @ 8617DF4 + .2byte 0x0000, 0x4000, 0x3000, 0x0000 + + .align 2 +gSpriteAnimTable_8617DFC:: @ 8617DFC + .4byte gSpriteAnim_8617DEC + + .align 2 gUnknown_08617E00:: @ 8617E00 - .incbin "baserom.gba", 0x617e00, 0x18 + spr_template 0xffff, 0xffff, gOamData_8617DF4, gSpriteAnimTable_8617DFC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 gUnknown_08617E18:: @ 8617E18 - .incbin "baserom.gba", 0x617e18, 0x1c + .byte 0x3b, 0x43, 0x61, 0x00, 0x0f, 0x05, 0xff, 0x9b + .align 2 +gSpriteAnim_8617E20:: @ 8617E20 + .2byte 0x0000, 0x000c, 0xfffe, 0x0000 + + .align 2 +gSpriteAnimTable_8617E28:: @ 8617E28 + .4byte gSpriteAnim_8617E20 + + .align 2 +gUnknown_08617E2C:: @ 8617E2C + .2byte 0x0000, 0x0000, 0x0000, 0x0000 + + .align 2 gUnknown_08617E34:: @ 8617E34 - .incbin "baserom.gba", 0x617e34, 0x2c + spr_template 0x0fa0, 0xffff, gUnknown_08617E2C, gSpriteAnimTable_8617E28, NULL, gDummySpriteAffineAnimTable, sub_81BEAD8 + .align 2 +gSpriteAnim_8617E4C:: @ 8617E4C + .2byte 0x0000, 0x000c, 0xfffe, 0x0000 + + .align 2 +gSpriteAnim_8617E54:: @ 8617E54 + .4byte gSpriteAnim_8617E4C + + .align 2 +gOamData_8617E58:: @ 8617E58 + .2byte 0x0000, 0x4000, 0x0000, 0x0000 + + .align 2 gUnknown_08617E60:: @ 8617E60 - .incbin "baserom.gba", 0x617e60, 0x18 + spr_template 0x0fa0, 0xffff, gOamData_8617E58, gSpriteAnim_8617E54, NULL, gDummySpriteAffineAnimTable, sub_81BEAD8 + diff --git a/data/graphics.s b/data/graphics.s index e89177a1de..8527e570d0 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -1,34 +1,1021 @@ .section gfx_data, "aw", %progbits -gUnknown_08C00000:: @ 8C00000 - .incbin "baserom.gba", 0xc00000, 0x4e0 + .align 2 +gBattleTextboxTiles:: @ 8C00000 + .incbin "graphics/interface/menu.4bpp.lz" @ menu window and arrows -gUnknown_08C004E0:: @ 8C004E0 - .incbin "baserom.gba", 0xc004e0, 0x44 + .align 2 +gBattleTextboxPalette:: @ 8C004E0 + .incbin "graphics/interface/menu.gbapal.lz" -gUnknown_08C00524:: @ 8C00524 - .incbin "baserom.gba", 0xc00524, 0x22c + .align 2 +gBattleTextboxTilemap:: @ 8C00524 + .incbin "graphics/interface/menu_map.bin.lz" @ 8C00750 .include "data/graphics/pokemon/circled_question_mark_graphics.inc" @ 8C00C10 - .incbin "baserom.gba", 0xc00c10, 0xa34 + .incbin "graphics/unused/old_charmap.4bpp.lz" @ japanese table and bunch of stuff + .incbin "graphics/unused/old_charmap.bin.lz" + .incbin "graphics/unused/old_charmap.gbapal.lz" -gUnknown_08C01644:: @ 8C01644 - .incbin "baserom.gba", 0xc01644, 0xE0 + .align 2 +gSmokescreenImpactTiles:: @ 8C01644 + .incbin "graphics/battle_anims/sprites/smokescreen_impact.4bpp.lz" -gUnknown_08C01724:: @ 8C01724 - .incbin "baserom.gba", 0xc01724, 0xBDC + .align 2 +gSmokescreenImpactPalette:: @ 8C01724 + .incbin "graphics/battle_anims/sprites/smokescreen_impact.gbapal.lz" -gUnknown_08C02300:: @ 8C02300 - .incbin "baserom.gba", 0xc02300, 0x7c + .align 2 +gInterfaceGfx_PokeBall:: + .incbin "graphics/interface/ball/poke.4bpp.lz" @ 0xBC -gUnknown_08C0237C:: @ 8C0237C - .incbin "baserom.gba", 0xc0237c, 0x7074 + .align 2 +gInterfacePal_PokeBall:: + .incbin "graphics/interface/ball/poke.gbapal.lz" + .align 2 +gInterfaceGfx_GreatBall:: + .incbin "graphics/interface/ball/great.4bpp.lz" @ 0xBC + + .align 2 +gInterfacePal_GreatBall:: + .incbin "graphics/interface/ball/great.gbapal.lz" + + .align 2 +gInterfaceGfx_SafariBall:: + .incbin "graphics/interface/ball/safari.4bpp.lz" @ 0xBC + + .align 2 +gInterfacePal_SafariBall:: + .incbin "graphics/interface/ball/safari.gbapal.lz" + + .align 2 +gInterfaceGfx_UltraBall:: + .incbin "graphics/interface/ball/ultra.4bpp.lz" @ 0xBC + + .align 2 +gInterfacePal_UltraBall:: + .incbin "graphics/interface/ball/ultra.gbapal.lz" + + .align 2 +gInterfaceGfx_MasterBall:: + .incbin "graphics/interface/ball/master.4bpp.lz" @ 0xBC + + .align 2 +gInterfacePal_MasterBall:: + .incbin "graphics/interface/ball/master.gbapal.lz" + + .align 2 +gInterfaceGfx_NetBall:: + .incbin "graphics/interface/ball/net.4bpp.lz" @ 0xBC + + .align 2 +gInterfacePal_NetBall:: + .incbin "graphics/interface/ball/net.gbapal.lz" + + .align 2 +gInterfaceGfx_DiveBall:: + .incbin "graphics/interface/ball/dive.4bpp.lz" @ 0xBC + + .align 2 +gInterfacePal_DiveBall:: + .incbin "graphics/interface/ball/dive.gbapal.lz" + + .align 2 +gInterfaceGfx_NestBall:: + .incbin "graphics/interface/ball/nest.4bpp.lz" @ 0xBC + + .align 2 +gInterfacePal_NestBall:: + .incbin "graphics/interface/ball/nest.gbapal.lz" + + .align 2 +gInterfaceGfx_RepeatBall:: + .incbin "graphics/interface/ball/repeat.4bpp.lz" @ 0xBC + + .align 2 +gInterfacePal_RepeatBall:: + .incbin "graphics/interface/ball/repeat.gbapal.lz" + + .align 2 +gInterfaceGfx_TimerBall:: + .incbin "graphics/interface/ball/timer.4bpp.lz" @ 0xBC + + .align 2 +gInterfacePal_TimerBall:: + .incbin "graphics/interface/ball/timer.gbapal.lz" + + .align 2 +gInterfaceGfx_LuxuryBall:: + .incbin "graphics/interface/ball/luxury.4bpp.lz" @ 0xBC + + .align 2 +gInterfacePal_LuxuryBall:: + .incbin "graphics/interface/ball/luxury.gbapal.lz" + + .align 2 +gInterfaceGfx_PremierBall:: + .incbin "graphics/interface/ball/premier.4bpp.lz" @ 0xBC + + .align 2 +gInterfacePal_PremierBall:: + .incbin "graphics/interface/ball/premier.gbapal.lz" + + .align 2 +gOpenPokeballGfx:: @ 8C02300 + .incbin "graphics/interface/ball_open.4bpp.lz" + + .align 2 +gBlankGfxCompressed:: @ 8C0237C + .incbin "graphics/interface/blank.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_146:: + .incbin "graphics/battle_anims/sprites/146.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_000:: + .incbin "graphics/battle_anims/sprites/000.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_003:: + .incbin "graphics/battle_anims/sprites/003.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_004:: + .incbin "graphics/battle_anims/sprites/004.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_005:: + .incbin "graphics/battle_anims/sprites/005.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_006:: + .incbin "graphics/battle_anims/sprites/006.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_115:: + .incbin "graphics/battle_anims/sprites/115.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_000:: + .incbin "graphics/battle_anims/sprites/000.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_003:: + .incbin "graphics/battle_anims/sprites/003.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_004:: + .incbin "graphics/battle_anims/sprites/004.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_005:: + .incbin "graphics/battle_anims/sprites/005.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_006:: + .incbin "graphics/battle_anims/sprites/006.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_161:: + .incbin "graphics/battle_anims/sprites/161.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_161:: + .incbin "graphics/battle_anims/sprites/161.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_007:: + .incbin "graphics/battle_anims/sprites/007.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_007:: + .incbin "graphics/battle_anims/sprites/007.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_008:: + .incbin "graphics/battle_anims/sprites/008.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_008:: + .incbin "graphics/battle_anims/sprites/008.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_010:: + .incbin "graphics/battle_anims/sprites/010.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_010:: + .incbin "graphics/battle_anims/sprites/010.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_009:: + .incbin "graphics/battle_anims/sprites/009.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_009:: + .incbin "graphics/battle_anims/sprites/009.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_011:: + .incbin "graphics/battle_anims/sprites/011.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_011:: + .incbin "graphics/battle_anims/sprites/011.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_012:: + .incbin "graphics/battle_anims/sprites/012.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_012:: + .incbin "graphics/battle_anims/sprites/012.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_152:: + .incbin "graphics/battle_anims/sprites/152.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_152:: + .incbin "graphics/battle_anims/sprites/152.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_013:: + .incbin "graphics/battle_anims/sprites/013.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_013:: + .incbin "graphics/battle_anims/sprites/013.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_015:: + .incbin "graphics/battle_anims/sprites/015.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_015:: + .incbin "graphics/battle_anims/sprites/015.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_016:: + .incbin "graphics/battle_anims/sprites/016.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_016:: + .incbin "graphics/battle_anims/sprites/016.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_017:: + .incbin "graphics/battle_anims/sprites/017.4bpp.lz" + + .align 2 + .incbin "graphics/unknown/unknown_C035B8.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_019:: + .incbin "graphics/battle_anims/sprites/019.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_019:: + .incbin "graphics/battle_anims/sprites/019.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_020:: + .incbin "graphics/battle_anims/sprites/020.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_020:: + .incbin "graphics/battle_anims/sprites/020.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_023:: + .incbin "graphics/battle_anims/sprites/023.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_023:: + .incbin "graphics/battle_anims/sprites/023.4bpp.lz" + + .align 2 + .incbin "graphics/unused/battle_anim_023.gbapal.lz" + + .align 2 + .incbin "graphics/unused/music_notes.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_021:: + .incbin "graphics/battle_anims/sprites/021.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_021:: + .incbin "graphics/battle_anims/sprites/021.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_022:: + .incbin "graphics/battle_anims/sprites/022.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_025:: + .incbin "graphics/battle_anims/sprites/025.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_025:: + .incbin "graphics/battle_anims/sprites/025.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_024:: + .incbin "graphics/battle_anims/sprites/024.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_024:: + .incbin "graphics/battle_anims/sprites/024.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_031:: + .incbin "graphics/battle_anims/sprites/031.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_031:: + .incbin "graphics/battle_anims/sprites/031.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_032:: + .incbin "graphics/battle_anims/sprites/032.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_032:: + .incbin "graphics/battle_anims/sprites/032.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_026:: + .incbin "graphics/battle_anims/sprites/026.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_026:: + .incbin "graphics/battle_anims/sprites/026.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_027:: + .incbin "graphics/battle_anims/sprites/027.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_027:: + .incbin "graphics/battle_anims/sprites/027.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_028:: + .incbin "graphics/battle_anims/sprites/028.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_028:: + .incbin "graphics/battle_anims/sprites/028.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_029:: + .incbin "graphics/battle_anims/sprites/029.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_029:: + .incbin "graphics/battle_anims/sprites/029.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_030:: + .incbin "graphics/battle_anims/sprites/030.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_030:: + .incbin "graphics/battle_anims/sprites/030.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_033:: + .incbin "graphics/battle_anims/sprites/033.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_033:: + .incbin "graphics/battle_anims/sprites/033.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_034:: + .incbin "graphics/battle_anims/sprites/034.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_035:: + .incbin "graphics/battle_anims/sprites/035.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_036:: + .incbin "graphics/battle_anims/sprites/036.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_036:: + .incbin "graphics/battle_anims/sprites/036.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_037:: + .incbin "graphics/battle_anims/sprites/037.4bpp.lz" + + .align 2 + .incbin "graphics/unknown/unknown_C06D98.4bpp.lz" + + .align 2 + .incbin "graphics/unknown/unknown_C06D98.gbapal.lz" + + .align 2 + .incbin "graphics/unknown/unknown_C06D98_2.gbapal.lz" + +@ old battle interface data, unused + + .align 2 + .incbin "graphics/unused/obi1.4bpp.lz" + + .align 2 + .incbin "graphics/unused/obi_palpak1.gbapal.lz" @ palettes 1-3 + + .align 2 + .incbin "graphics/unused/old_pal4.gbapal.lz" @ 4 is by itself + + .align 2 + .incbin "graphics/unused/obi_palpak3.gbapal.lz" @ palettes 5-7 + + .align 2 + .incbin "graphics/unused/obi2.4bpp.lz" + + .align 2 + .incbin "graphics/unused/old_battle_interface_tilemap.bin.lz" + + .align 2 +gBattleAnimSpritePalette_038:: + .incbin "graphics/battle_anims/sprites/038.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_039:: + .incbin "graphics/battle_anims/sprites/039.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_038:: + .incbin "graphics/battle_anims/sprites/038.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_039:: + .incbin "graphics/battle_anims/sprites/039.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_040:: + .incbin "graphics/battle_anims/sprites/040.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_041:: + .incbin "graphics/battle_anims/sprites/041.4bpp.lz" + + @ why is this way up here? + + .align 2 +gPartyMenuHpBar_Gfx:: + .incbin "graphics/interface/party_menu_hpbar.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_042:: + .incbin "graphics/battle_anims/sprites/042.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_042:: + .incbin "graphics/battle_anims/sprites/042.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_043:: + .incbin "graphics/battle_anims/sprites/043.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_043:: + .incbin "graphics/battle_anims/sprites/043.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_044:: + .incbin "graphics/battle_anims/sprites/044.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_044:: + .incbin "graphics/battle_anims/sprites/044.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_045:: + .incbin "graphics/battle_anims/sprites/045.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_045:: + .incbin "graphics/battle_anims/sprites/045.4bpp.lz" + + @ two unused window frames. + + .align 2 +gUnknown_08C08F0C:: + .incbin "graphics/battle_interface/unused_window.4bpp.lz" + + .align 2 +gUnknown_08C093C8:: + .incbin "graphics/battle_interface/unused_window.gbapal.lz" + + .align 2 gUnknown_08C093F0:: @ 8C093F0 - .incbin "baserom.gba", 0xc093f0, 0x87ac + .incbin "graphics/interface/hp_numbers.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_046:: + .incbin "graphics/battle_anims/sprites/046.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_046:: + .incbin "graphics/battle_anims/sprites/046.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_047:: + .incbin "graphics/battle_anims/sprites/047.gbapal.lz" + + @ more unused windows + .align 2 + .incbin "graphics/battle_interface/unused_window2.4bpp.lz" + + .align 2 + .incbin "graphics/battle_interface/unused_window2bar.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_048:: + .incbin "graphics/battle_anims/sprites/048.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_048:: + .incbin "graphics/battle_anims/sprites/048.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_049:: + .incbin "graphics/battle_anims/sprites/049.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_050:: + .incbin "graphics/battle_anims/sprites/050.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_050:: + .incbin "graphics/battle_anims/sprites/050.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_051:: + .incbin "graphics/battle_anims/sprites/051.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_052:: + .incbin "graphics/battle_anims/sprites/052.4bpp.lz" + + .align 2 + .incbin "graphics/unused/line_sketch.4bpp.lz" @ unused + + .align 2 + .incbin "graphics/unused/line_sketch.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_054:: + .incbin "graphics/battle_anims/sprites/054.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_054:: + .incbin "graphics/battle_anims/sprites/054.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_056:: + .incbin "graphics/battle_anims/sprites/056.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_056:: + .incbin "graphics/battle_anims/sprites/056.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_055:: + .incbin "graphics/battle_anims/sprites/055.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_057:: + .incbin "graphics/battle_anims/sprites/057.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_057:: + .incbin "graphics/battle_anims/sprites/057.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_058:: + .incbin "graphics/battle_anims/sprites/058.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_058:: + .incbin "graphics/battle_anims/sprites/058.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_059:: + .incbin "graphics/battle_anims/sprites/059.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_059:: + .incbin "graphics/battle_anims/sprites/059.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_060:: + .incbin "graphics/battle_anims/sprites/060.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_060:: + .incbin "graphics/battle_anims/sprites/060.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_061:: + .incbin "graphics/battle_anims/sprites/061.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_061:: + .incbin "graphics/battle_anims/sprites/061.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_062:: + .incbin "graphics/battle_anims/sprites/062.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_062:: + .incbin "graphics/battle_anims/sprites/062.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_063:: + .incbin "graphics/battle_anims/sprites/063.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_063:: + .incbin "graphics/battle_anims/sprites/063.gbapal.lz" + + .align 2 + .incbin "graphics/unused/metronome_hand_small.4bpp.lz" @ unused, was for metronome at one point + + .align 2 +gBattleAnimSpritePalette_091:: + .incbin "graphics/battle_anims/sprites/091.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_065:: + .incbin "graphics/battle_anims/sprites/065.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_065:: + .incbin "graphics/battle_anims/sprites/065.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_066:: + .incbin "graphics/battle_anims/sprites/066.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_066:: + .incbin "graphics/battle_anims/sprites/066.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_070:: + .incbin "graphics/battle_anims/sprites/070.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_070:: + .incbin "graphics/battle_anims/sprites/070.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_071:: + .incbin "graphics/battle_anims/sprites/071.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_072:: + .incbin "graphics/battle_anims/sprites/072.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_072:: + .incbin "graphics/battle_anims/sprites/072.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_073:: + .incbin "graphics/battle_anims/sprites/073.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_073:: + .incbin "graphics/battle_anims/sprites/073.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_075:: + .incbin "graphics/battle_anims/sprites/075.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_075:: + .incbin "graphics/battle_anims/sprites/075.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_078:: + .incbin "graphics/battle_anims/sprites/078.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_078:: + .incbin "graphics/battle_anims/sprites/078.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_079:: + .incbin "graphics/battle_anims/sprites/079.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_080:: + .incbin "graphics/battle_anims/sprites/080.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_080:: + .incbin "graphics/battle_anims/sprites/080.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_081:: + .incbin "graphics/battle_anims/sprites/081.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_081:: + .incbin "graphics/battle_anims/sprites/081.gbapal.lz" + + .align 2 + .incbin "graphics/unknown/unknown_C0CA1C.bin" + + .align 2 + .incbin "graphics/unknown/unknown_C0CA40.bin" + + .align 2 + .incbin "graphics/unknown/unknown_C0CA64.bin" + + .align 2 + .incbin "graphics/unused/line_sketch_2.8bpp.lz" + + .align 2 + .incbin "graphics/unknown/unknown_C0CAE0.bin" + + .align 2 + .incbin "graphics/unused/line_sketch_2.bin.lz" + + .align 2 +gBattleAnimSpriteSheet_082:: + .incbin "graphics/battle_anims/sprites/082.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_082:: + .incbin "graphics/battle_anims/sprites/082.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_083:: + .incbin "graphics/battle_anims/sprites/083.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_084:: + .incbin "graphics/battle_anims/sprites/084.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_085:: + .incbin "graphics/battle_anims/sprites/085.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_086:: + .incbin "graphics/battle_anims/sprites/086.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_088:: + .incbin "graphics/battle_anims/sprites/088.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_089:: + .incbin "graphics/battle_anims/sprites/089.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_090:: + .incbin "graphics/battle_anims/sprites/090.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_092:: + .incbin "graphics/battle_anims/sprites/092.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_093:: + .incbin "graphics/battle_anims/sprites/093.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_094:: + .incbin "graphics/battle_anims/sprites/094.gbapal.lz" + + .align 2 + .incbin "graphics/unknown/unknown_D0D2B4.bin.lz" + + .align 2 +gBattleAnimSpritePalette_095:: + .incbin "graphics/battle_anims/sprites/095.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_096:: + .incbin "graphics/battle_anims/sprites/096.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_097:: + .incbin "graphics/battle_anims/sprites/097.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_100:: + .incbin "graphics/battle_anims/sprites/100.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_101:: + .incbin "graphics/battle_anims/sprites/101.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_103:: + .incbin "graphics/battle_anims/sprites/103.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_083:: + .incbin "graphics/battle_anims/sprites/083.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_084:: + .incbin "graphics/battle_anims/sprites/084.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_085:: + .incbin "graphics/battle_anims/sprites/085.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_086:: + .incbin "graphics/battle_anims/sprites/086.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_088:: + .incbin "graphics/battle_anims/sprites/088.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_089:: + .incbin "graphics/battle_anims/sprites/089.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_090:: + .incbin "graphics/battle_anims/sprites/090.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_091:: + .incbin "graphics/battle_anims/sprites/091.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_092:: + .incbin "graphics/battle_anims/sprites/092.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_093:: + .incbin "graphics/battle_anims/sprites/093.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_094:: + .incbin "graphics/battle_anims/sprites/094.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_095:: + .incbin "graphics/battle_anims/sprites/095.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_096:: + .incbin "graphics/battle_anims/sprites/096.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_097:: + .incbin "graphics/battle_anims/sprites/097.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_098:: + .incbin "graphics/battle_anims/sprites/098.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_100:: + .incbin "graphics/battle_anims/sprites/100.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_101:: + .incbin "graphics/battle_anims/sprites/101.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_102:: + .incbin "graphics/battle_anims/sprites/102.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_103:: + .incbin "graphics/battle_anims/sprites/103.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_104:: + .incbin "graphics/battle_anims/sprites/104.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_104:: + .incbin "graphics/battle_anims/sprites/104.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_105:: + .incbin "graphics/battle_anims/sprites/105.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_105:: + .incbin "graphics/battle_anims/sprites/105.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_106:: + .incbin "graphics/battle_anims/sprites/106.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_107:: + .incbin "graphics/battle_anims/sprites/107.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_107:: + .incbin "graphics/battle_anims/sprites/107.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_108:: + .incbin "graphics/battle_anims/sprites/108.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_109:: + .incbin "graphics/battle_anims/sprites/109.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_109:: + .incbin "graphics/battle_anims/sprites/109.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_110:: + .incbin "graphics/battle_anims/sprites/110.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_111:: + .incbin "graphics/battle_anims/sprites/111.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_111:: + .incbin "graphics/battle_anims/sprites/111.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_112:: + .incbin "graphics/battle_anims/sprites/112.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_112:: + .incbin "graphics/battle_anims/sprites/112.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_113:: + .incbin "graphics/battle_anims/sprites/113.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_113:: + .incbin "graphics/battle_anims/sprites/113.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_114:: + .incbin "graphics/battle_anims/sprites/114.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_114:: + .incbin "graphics/battle_anims/sprites/114.gbapal.lz" + + .align 2 + .incbin "graphics/unused/blue_frame.bin.lz" @ P1, P2, P3 and P4 tilemaps? + + .align 2 + .incbin "graphics/unused/redyellowgreen_frame.bin.lz" + + .align 2 + .incbin "graphics/unused/color_frames.4bpp.lz" + + .align 2 + .incbin "graphics/unused/color_frames.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_115:: + .incbin "graphics/battle_anims/sprites/115.4bpp.lz" + + .align 2 + .incbin "graphics/unused/water_splash.8bpp.lz" + + .align 2 + .incbin "graphics/unused/water_splash.bin.lz" + + .align 2 + .incbin "graphics/unused/water_splash.gbapal.lz" + + .align 2 + .incbin "graphics/unused/basic_frame.4bpp.lz" + + .align 2 + .incbin "graphics/unused/basic_frame.gbapal.lz" + + .align 2 + .incbin "graphics/unused/basic_frame.bin.lz" .align 2 gBattleInterface_BallStatusBarPal:: @ 8C11B9C @@ -40,7 +1027,16 @@ gBattleInterface_BallDisplayPal:: @ 8C11BBC .align 2 gHealthboxElementsGfxTable:: @ 8C11BDC - .incbin "baserom.gba", 0xc11bdc, 0x840 + .incbin "graphics/battle_interface/hpbar.4bpp" + .incbin "graphics/battle_interface/expbar.4bpp" + .incbin "graphics/battle_interface/status_psn.4bpp" + .incbin "graphics/battle_interface/status_par.4bpp" + .incbin "graphics/battle_interface/status_slp.4bpp" + .incbin "graphics/battle_interface/status_frz.4bpp" + .incbin "graphics/battle_interface/status_brn.4bpp" + .incbin "graphics/battle_interface/misc.4bpp" + .incbin "graphics/battle_interface/hpbar_anim.4bpp" + .incbin "graphics/battle_interface/misc_frameend.4bpp" .align 2 gBattleInterface_BallDisplayGfx:: @ 8C1241C @@ -48,163 +1044,1499 @@ gBattleInterface_BallDisplayGfx:: @ 8C1241C .align 2 gUnknown_08C1249C:: @ 8C1249C - .incbin "baserom.gba", 0xc1249c, 0x49f4 + .incbin "graphics/battle_interface/ball_display_unused_extra.4bpp" + .incbin "graphics/battle_interface/status2.4bpp" @ these three duplicate sets of graphics are for the opponent pokemon and are also for use in double battles. they use dynamic palettes so coloring them is an extreme headache and wont be done for now. + .incbin "graphics/battle_interface/status3.4bpp" + .incbin "graphics/battle_interface/status4.4bpp" + .incbin "graphics/unknown/unknown_D12FEC.4bpp" + .incbin "graphics/unknown/unknown_D1300C.4bpp" + @ even more seemingly unused windows. lovely. + .incbin "graphics/battle_interface/unused_window3.4bpp.lz" + .incbin "graphics/battle_interface/unused_window4.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_116:: + .incbin "graphics/battle_anims/sprites/116.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_116:: + .incbin "graphics/battle_anims/sprites/116.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_117:: + .incbin "graphics/battle_anims/sprites/117.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_117:: + .incbin "graphics/battle_anims/sprites/117.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_118:: + .incbin "graphics/battle_anims/sprites/118.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_118:: + .incbin "graphics/battle_anims/sprites/118.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_119:: + .incbin "graphics/battle_anims/sprites/119.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_119:: + .incbin "graphics/battle_anims/sprites/119.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_120:: + .incbin "graphics/battle_anims/sprites/120.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_120:: + .incbin "graphics/battle_anims/sprites/120.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_121:: + .incbin "graphics/battle_anims/sprites/121.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_121:: + .incbin "graphics/battle_anims/sprites/121.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_122:: + .incbin "graphics/battle_anims/sprites/122.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_122:: + .incbin "graphics/battle_anims/sprites/122.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_123:: + .incbin "graphics/battle_anims/sprites/123.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_124:: + .incbin "graphics/battle_anims/sprites/124.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_124:: + .incbin "graphics/battle_anims/sprites/124.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_125:: + .incbin "graphics/battle_anims/sprites/125.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_125:: + .incbin "graphics/battle_anims/sprites/125.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_126:: + .incbin "graphics/battle_anims/sprites/126.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_126:: + .incbin "graphics/battle_anims/sprites/126.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_127:: + .incbin "graphics/battle_anims/sprites/127.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_127:: + .incbin "graphics/battle_anims/sprites/127.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_128:: + .incbin "graphics/battle_anims/sprites/128.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_128:: + .incbin "graphics/battle_anims/sprites/128.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_129:: + .incbin "graphics/battle_anims/sprites/129.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_130:: + .incbin "graphics/battle_anims/sprites/130.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_130:: + .incbin "graphics/battle_anims/sprites/130.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_131:: + .incbin "graphics/battle_anims/sprites/131.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_132:: + .incbin "graphics/battle_anims/sprites/132.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_132:: + .incbin "graphics/battle_anims/sprites/132.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_133:: + .incbin "graphics/battle_anims/sprites/133.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_133:: + .incbin "graphics/battle_anims/sprites/133.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_134:: + .incbin "graphics/battle_anims/sprites/134.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_076:: + .incbin "graphics/battle_anims/sprites/076.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_076:: + .incbin "graphics/battle_anims/sprites/076.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_077:: + .incbin "graphics/battle_anims/sprites/077.4bpp.lz" + + .align 2 + .incbin "graphics/unused/old_contest.4bpp.lz" + + .align 2 + .incbin "graphics/unused/old_contest.gbapal.lz" + + .align 2 + .incbin "graphics/unused/old_contest.bin.lz" + + .align 2 + .incbin "graphics/unknown/unknown_C15BC0.bin.lz" + + .align 2 + .incbin "graphics/unused/old_contest_2.4bpp.lz" + + .align 2 gUnknown_08C16E90:: @ 8C16E90 - .incbin "baserom.gba", 0xc16e90, 0x118 + .incbin "graphics/unused/old_contest_2.gbapal.lz" + .align 2 gUnknown_08C16FA8:: @ 8C16FA8 - .incbin "baserom.gba", 0xc16fa8, 0x1c8 + .incbin "graphics/unused/old_contest_2.bin.lz" + .align 2 gUnknown_08C17170:: @ 8C17170 - .incbin "baserom.gba", 0xc17170, 0x810 + .incbin "graphics/unknown/unknown_C17170.bin.lz" + .align 2 + .incbin "graphics/unknown/unknown_C17410.bin.lz" + + .align 2 + .incbin "graphics/unknown/unknown_C1751C.bin.lz" + + .align 2 gUnknown_08C17980:: @ 8C17980 - .incbin "baserom.gba", 0xc17980, 0x130 + .incbin "graphics/unknown/unknown_C17980.bin.lz" + .align 2 gUnknown_08C17AB0:: @ 8C17AB0 - .incbin "baserom.gba", 0xc17ab0, 0xa5c + .incbin "graphics/contest/misc.4bpp.lz" + .align 2 gUnknown_08C1850C:: @ 8C1850C - .incbin "baserom.gba", 0xc1850c, 0x107c + .incbin "graphics/contest/audience.4bpp.lz" + .align 2 +gUnknown_08C19168:: + .incbin "graphics/contest/faces.4bpp.lz" + + .align 2 +gContestJudgeSymbolsGfx:: + .incbin "graphics/contest/judge_symbols.4bpp.lz" + + .align 2 +gContest3Pal:: + .incbin "graphics/contest/judge_symbols.gbapal.lz" + + .align 2 +gTiles_8C19450:: + .incbin "graphics/contest/heart.4bpp" + + .align 2 + .incbin "graphics/unknown/unknown_C19470.4bpp.lz" + + .align 2 + .incbin "graphics/unknown/unknown_C19470.gbapal.lz" + + .align 2 gUnknown_08C19588:: @ 8C19588 - .incbin "baserom.gba", 0xc19588, 0x964 + .incbin "graphics/contest/misc_2.4bpp.lz" + .align 2 gUnknown_08C19EEC:: @ 8C19EEC - .incbin "baserom.gba", 0xc19eec, 0x114 + .incbin "graphics/contest/misc_2_tilemap_1.bin.lz" + .align 2 gUnknown_08C1A000:: @ 8C1A000 - .incbin "baserom.gba", 0xc1a000, 0x12c + .incbin "graphics/contest/misc_2_tilemap_2.bin.lz" + .align 2 gUnknown_08C1A12C:: @ 8C1A12C - .incbin "baserom.gba", 0xc1a12c, 0x188 + .incbin "graphics/contest/misc_2_tilemap_3.bin.lz" + .align 2 gUnknown_08C1A2B4:: @ 8C1A2B4 - .incbin "baserom.gba", 0xc1a2b4, 0x1DC + .incbin "graphics/contest/misc_2.gbapal.lz" -gUnknown_08C1A490:: @ 8C1A490 - .incbin "baserom.gba", 0xc1a490, 0xD4 + .align 2 +gBattleAnimSpriteSheet_135:: + .incbin "graphics/battle_anims/sprites/135.4bpp.lz" -gUnknown_08C1A564:: @ 8C1A564 - .incbin "baserom.gba", 0xc1a564, 0x2154 + .align 2 +gBattleAnimSpritePalette_135:: + .incbin "graphics/battle_anims/sprites/135.gbapal.lz" -gUnknown_08C1C6B8:: @ 8C1C6B8 - .incbin "baserom.gba", 0xc1c6b8, 0x9f4 + .align 2 +gBattleAnimSpriteSheet_Particles:: + .incbin "graphics/battle_anims/sprites/particles.4bpp.lz" + .align 2 +gBattleAnimSpriteSheet_136:: + .incbin "graphics/battle_anims/sprites/136.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_136:: + .incbin "graphics/battle_anims/sprites/136.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_137:: + .incbin "graphics/battle_anims/sprites/137.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_139:: + .incbin "graphics/battle_anims/sprites/139.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_139:: + .incbin "graphics/battle_anims/sprites/139.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_145:: + .incbin "graphics/battle_anims/sprites/145.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_138:: + .incbin "graphics/battle_anims/sprites/138.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_140:: + .incbin "graphics/battle_anims/sprites/140.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_140:: + .incbin "graphics/battle_anims/sprites/140.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_141:: + .incbin "graphics/battle_anims/sprites/141.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_141:: + .incbin "graphics/battle_anims/sprites/141.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_142:: + .incbin "graphics/battle_anims/sprites/142.4bpp.lz" + + .align 2 + .incbin "graphics/unused/old_beatup.4bpp.lz" + + .align 2 + .incbin "graphics/unused/old_beatup.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_147:: + .incbin "graphics/battle_anims/sprites/147.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_147:: + .incbin "graphics/battle_anims/sprites/147.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_149:: + .incbin "graphics/battle_anims/sprites/149.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_148:: + .incbin "graphics/battle_anims/sprites/148.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_148:: + .incbin "graphics/battle_anims/sprites/148.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_259:: + .incbin "graphics/battle_anims/sprites/259.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_074:: + .incbin "graphics/battle_anims/sprites/074.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_074:: + .incbin "graphics/battle_anims/sprites/074.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_150:: + .incbin "graphics/battle_anims/sprites/150.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_150:: + .incbin "graphics/battle_anims/sprites/150.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_151:: + .incbin "graphics/battle_anims/sprites/151.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_153:: + .incbin "graphics/battle_anims/sprites/153.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_153:: + .incbin "graphics/battle_anims/sprites/153.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_154:: + .incbin "graphics/battle_anims/sprites/154.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_154:: + .incbin "graphics/battle_anims/sprites/154.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_155:: + .incbin "graphics/battle_anims/sprites/155.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_155:: + .incbin "graphics/battle_anims/sprites/155.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_156:: + .incbin "graphics/battle_anims/sprites/156.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_156:: + .incbin "graphics/battle_anims/sprites/156.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_157:: + .incbin "graphics/battle_anims/sprites/157.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_157:: + .incbin "graphics/battle_anims/sprites/157.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_158:: + .incbin "graphics/battle_anims/sprites/158.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_158:: + .incbin "graphics/battle_anims/sprites/158.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_159:: + .incbin "graphics/battle_anims/sprites/159.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_159:: + .incbin "graphics/battle_anims/sprites/159.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_160:: + .incbin "graphics/battle_anims/sprites/160.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_160:: + .incbin "graphics/battle_anims/sprites/160.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_144:: + .incbin "graphics/battle_anims/sprites/144.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_144:: + .incbin "graphics/battle_anims/sprites/144.gbapal.lz" + + .align 2 + .incbin "graphics/unknown/unknown_D1C060.4bpp.lz" + + .align 2 + .incbin "graphics/unknown/unknown_D1C060.gbapal.lz" + + .align 2 + .incbin "graphics/unknown/unknown_D1C060.bin.lz" + + .align 2 +gBattleAnimSpriteSheet_162:: + .incbin "graphics/battle_anims/sprites/162.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_162:: + .incbin "graphics/battle_anims/sprites/162.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_163:: + .incbin "graphics/battle_anims/sprites/163.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_163:: + .incbin "graphics/battle_anims/sprites/163.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_288:: + .incbin "graphics/battle_anims/sprites/288.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_164:: + .incbin "graphics/battle_anims/sprites/164.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_165:: + .incbin "graphics/battle_anims/sprites/165.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_166:: + .incbin "graphics/battle_anims/sprites/166.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_166:: + .incbin "graphics/battle_anims/sprites/166.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_167:: + .incbin "graphics/battle_anims/sprites/167.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_168:: + .incbin "graphics/battle_anims/sprites/168.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_169:: + .incbin "graphics/battle_anims/sprites/169.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_170:: + .incbin "graphics/battle_anims/sprites/170.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_171:: + .incbin "graphics/battle_anims/sprites/171.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_171:: + .incbin "graphics/battle_anims/sprites/171.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_172:: + .incbin "graphics/battle_anims/sprites/172.gbapal.lz" + + .align 2 +gContestJudgeGfx:: + .incbin "graphics/contest/judge.4bpp.lz" + + .align 2 +gContest2Pal:: @ 8C1C6B8 + .incbin "graphics/contest/judge.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_001:: + .incbin "graphics/battle_anims/sprites/001.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_001:: + .incbin "graphics/battle_anims/sprites/001.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_173:: + .incbin "graphics/battle_anims/sprites/173.4bpp.lz" + + .align 2 +gBattleAnimBackgroundImage_00:: + .incbin "graphics/battle_anims/backgrounds/00.4bpp.lz" + + .align 2 +gBattleAnimBackgroundPalette_00:: + .incbin "graphics/battle_anims/backgrounds/00.gbapal.lz" + + .align 2 +gBattleAnimBackgroundTilemap_00:: + .incbin "graphics/battle_anims/backgrounds/00.bin.lz" + + .align 2 gUnknown_08C1D0AC:: @ 8C1D0AC - .incbin "baserom.gba", 0xc1d0ac, 0x13c + .incbin "graphics/battle_anims/masks/metal_shine.4bpp.lz" + .align 2 gUnknown_08C1D1E8:: @ 8C1D1E8 - .incbin "baserom.gba", 0xc1d1e8, 0x28 + .incbin "graphics/battle_anims/masks/metal_shine.gbapal.lz" + .align 2 gUnknown_08C1D210:: @ 8C1D210 - .incbin "baserom.gba", 0xc1d210, 0x1fb8 + .incbin "graphics/battle_anims/masks/metal_shine.bin.lz" + .align 2 + .incbin "graphics/unused/goosuto.4bpp.lz" @ ghost + + .align 2 + .incbin "graphics/unused/goosuto.gbapal.lz" + + .align 2 + .incbin "graphics/unused/goosuto.bin.lz" + + .align 2 +gBattleAnimSpriteSheet_174:: + .incbin "graphics/battle_anims/sprites/174.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_174:: + .incbin "graphics/battle_anims/sprites/174.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_175:: + .incbin "graphics/battle_anims/sprites/175.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_175:: + .incbin "graphics/battle_anims/sprites/175.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_176:: + .incbin "graphics/battle_anims/sprites/176.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_176:: + .incbin "graphics/battle_anims/sprites/176.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_177:: + .incbin "graphics/battle_anims/sprites/177.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_177:: + .incbin "graphics/battle_anims/sprites/177.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_178:: + .incbin "graphics/battle_anims/sprites/178.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_178:: + .incbin "graphics/battle_anims/sprites/178.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_179:: + .incbin "graphics/battle_anims/sprites/179.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_179:: + .incbin "graphics/battle_anims/sprites/179.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_180:: + .incbin "graphics/battle_anims/sprites/180.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_181:: + .incbin "graphics/battle_anims/sprites/181.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_182:: + .incbin "graphics/battle_anims/sprites/182.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_182:: + .incbin "graphics/battle_anims/sprites/182.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_183:: + .incbin "graphics/battle_anims/sprites/183.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_183:: + .incbin "graphics/battle_anims/sprites/183.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_184:: + .incbin "graphics/battle_anims/sprites/184.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_184:: + .incbin "graphics/battle_anims/sprites/184.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_185:: + .incbin "graphics/battle_anims/sprites/185.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_185:: + .incbin "graphics/battle_anims/sprites/185.gbapal.lz" + + .align 2 +gBattleAnimBackgroundImage_03:: + .incbin "graphics/battle_anims/backgrounds/03.4bpp.lz" + + .align 2 +gBattleAnimBackgroundPalette_03:: + .incbin "graphics/battle_anims/backgrounds/03.gbapal.lz" + + .align 2 +gBattleAnimBackgroundTilemap_03:: + .incbin "graphics/battle_anims/backgrounds/03.bin.lz" + + .align 2 +gBattleAnimSpriteSheet_187:: + .incbin "graphics/battle_anims/sprites/187.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_187:: + .incbin "graphics/battle_anims/sprites/187.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_186:: + .incbin "graphics/battle_anims/sprites/186.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_186:: + .incbin "graphics/battle_anims/sprites/186.gbapal.lz" + + .align 2 gUnknown_08C1F1C8:: @ 8C1F1C8 - .incbin "baserom.gba", 0xc1f1c8, 0x2a4 + .incbin "graphics/battle_interface/window.4bpp.lz" + .align 2 gUnknown_08C1F46C:: @ 8C1F46C - .incbin "baserom.gba", 0xc1f46c, 0x17c + .incbin "graphics/battle_interface/window2.4bpp.lz" + .align 2 gUnknown_08C1F5E8:: @ 8C1F5E8 - .incbin "baserom.gba", 0xc1f5e8, 0x184 + .incbin "graphics/battle_interface/window3.4bpp.lz" + .align 2 gUnknown_08C1F76C:: @ 8C1F76C - .incbin "baserom.gba", 0xc1f76c, 0x17c + .incbin "graphics/battle_interface/window4.4bpp.lz" + .align 2 gUnknown_08C1F8E8:: @ 8C1F8E8 - .incbin "baserom.gba", 0xc1f8e8, 0xd80 + .incbin "graphics/battle_interface/window5.4bpp.lz" + .align 2 + .incbin "graphics/unused/shadow.4bpp.lz" + + .align 2 + .incbin "graphics/unused/shadow.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_014:: + .incbin "graphics/battle_anims/sprites/014.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_014:: + .incbin "graphics/battle_anims/sprites/014.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_190:: + .incbin "graphics/battle_anims/sprites/190.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_190:: + .incbin "graphics/battle_anims/sprites/190.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_191:: + .incbin "graphics/battle_anims/sprites/191.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_191:: + .incbin "graphics/battle_anims/sprites/191.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_189:: + .incbin "graphics/battle_anims/sprites/189.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_189:: + .incbin "graphics/battle_anims/sprites/189.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_192:: + .incbin "graphics/battle_anims/sprites/192.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_192:: + .incbin "graphics/battle_anims/sprites/192.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_193:: + .incbin "graphics/battle_anims/sprites/193.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_193:: + .incbin "graphics/battle_anims/sprites/193.gbapal.lz" + + .align 2 gUnknown_08C20668:: @ 8C20668 - .incbin "baserom.gba", 0xc20668, 0x1c + .incbin "graphics/battle_anims/masks/curse.4bpp.lz" + .align 2 gUnknown_08C20684:: @ 8C20684 - .incbin "baserom.gba", 0xc20684, 0x1f8c + .incbin "graphics/battle_anims/masks/curse.bin.lz" -gUnknown_08C22610:: @ 8C22610 - .incbin "baserom.gba", 0xc22610, 0xcd0 + .align 2 +gBattleAnimSpriteSheet_002:: @ 8D20B30 + .incbin "graphics/battle_anims/sprites/002.4bpp.lz" + .align 2 +gBattleAnimSpritePalette_002:: @ 8D20C14 + .incbin "graphics/battle_anims/sprites/002.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_196:: @ 8D20C3C + .incbin "graphics/battle_anims/sprites/196.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_196:: @ 8D20FE0 + .incbin "graphics/battle_anims/sprites/196.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_194:: @ 8D20FF8 + .incbin "graphics/battle_anims/sprites/194.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_194:: @ 8D21330 + .incbin "graphics/battle_anims/sprites/194.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_195:: @ 8D21358 + .incbin "graphics/battle_anims/sprites/195.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_195:: @ 8D21410 + .incbin "graphics/battle_anims/sprites/195.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_197:: @ 8D21430 + .incbin "graphics/battle_anims/sprites/197.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_197:: @ 8D215A0 + .incbin "graphics/battle_anims/sprites/197.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_198:: @ 8D215C8 + .incbin "graphics/battle_anims/sprites/198.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_198:: @ 8D219B8 + .incbin "graphics/battle_anims/sprites/198.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_199:: @ 8D219E0 + .incbin "graphics/battle_anims/sprites/199.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_199:: @ 8D21AA8 + .incbin "graphics/battle_anims/sprites/199.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_200:: @ 8D21AC4 + .incbin "graphics/battle_anims/sprites/200.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_200:: @ 8D21C04 + .incbin "graphics/battle_anims/sprites/200.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_201:: @ 8D21C20 + .incbin "graphics/battle_anims/sprites/201.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_201:: @ 8D22290 + .incbin "graphics/battle_anims/sprites/201.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_204:: @ 8D222B8 + .incbin "graphics/battle_anims/sprites/204.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_204:: @ 8D2242C + .incbin "graphics/battle_anims/sprites/204.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_202:: @ 8D22454 + .incbin "graphics/battle_anims/sprites/202.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_202:: @ 8D225BC + .incbin "graphics/battle_anims/sprites/202.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_203:: @ 8D225E0 + .incbin "graphics/battle_anims/sprites/203.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_203:: @ 8D2278C + .incbin "graphics/battle_anims/sprites/203.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_206:: @ 8D227B0 + .incbin "graphics/battle_anims/sprites/206.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_206:: @ 8D229BC + .incbin "graphics/battle_anims/sprites/206.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_205:: @ 8D22A50 + .incbin "graphics/battle_anims/sprites/205.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_205:: @ 8D22C84 + .incbin "graphics/battle_anims/sprites/205.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_207:: @ 8D22CA8 + .incbin "graphics/battle_anims/sprites/207.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_207:: @ 8D22D74 + .incbin "graphics/battle_anims/sprites/207.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_208:: @ 8D22D98 + .incbin "graphics/battle_anims/sprites/208.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_209:: @ 8D23188 + .incbin "graphics/battle_anims/sprites/209.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_209:: @ 8D23490 + .incbin "graphics/battle_anims/sprites/209.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_064:: @ 8D234B0 + .incbin "graphics/battle_anims/sprites/064.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_064:: @ 8D235A0 + .incbin "graphics/battle_anims/sprites/064.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_210:: @ 8D235C4 + .incbin "graphics/battle_anims/sprites/210.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_219:: @ 8D2362C + .incbin "graphics/battle_anims/sprites/219.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_210:: @ 8D2364C + .incbin "graphics/battle_anims/sprites/210.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_216:: @ 8D2366C + .incbin "graphics/battle_anims/sprites/216.gbapal.lz" + + .align 2 gUnknown_08C232E0:: @ 8C232E0 - .incbin "baserom.gba", 0xc232e0, 0xa70 + .incbin "graphics/battle_anims/backgrounds/attract.4bpp.lz" + .align 2 gUnknown_08C23D50:: @ 8C23D50 - .incbin "baserom.gba", 0xc23d50, 0x28 + .incbin "graphics/battle_anims/backgrounds/attract.gbapal.lz" + .align 2 gUnknown_08C23D78:: @ 8C23D78 - .incbin "baserom.gba", 0xc23d78, 0xc58 + .incbin "graphics/battle_anims/backgrounds/attract.bin.lz" + .align 2 +gBattleAnimSpriteSheet_217:: @ 8D243A0 + .incbin "graphics/battle_anims/sprites/217.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_217:: @ 8D24408 + .incbin "graphics/battle_anims/sprites/217.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_212:: @ 8D24428 + .incbin "graphics/battle_anims/sprites/212.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_211:: @ 8D2465C + .incbin "graphics/battle_anims/sprites/211.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_213:: @ 8D246AC + .incbin "graphics/battle_anims/sprites/213.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_211:: @ 8D24918 + .incbin "graphics/battle_anims/sprites/211.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_214:: @ 8D2493C + .incbin "graphics/battle_anims/sprites/214.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_215:: @ 8D24BCC + .incbin "graphics/battle_anims/sprites/215.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_215:: @ 8D24D58 + .incbin "graphics/battle_anims/sprites/215.gbapal.lz" + + .align 2 gUnknown_08C249D0:: @ 8C249D0 - .incbin "baserom.gba", 0xc249d0, 0x28 + .incbin "graphics/battle_anims/backgrounds/scary_face.gbapal.lz" + .align 2 gUnknown_08C249F8:: @ 8C249F8 - .incbin "baserom.gba", 0xc249f8, 0x5c3c + .incbin "graphics/battle_anims/backgrounds/scary_face.4bpp.lz" + .align 2 +gBattleAnimSpritePalette_218:: @ 8D24FD4 + .incbin "graphics/battle_anims/sprites/218.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_218:: @ 8D24FFC + .incbin "graphics/battle_anims/sprites/218.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_087:: @ 8D250A8 + .incbin "graphics/battle_anims/sprites/087.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_087:: @ 8D25100 + .incbin "graphics/battle_anims/sprites/087.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_018:: @ 8D25128 + .incbin "graphics/battle_anims/sprites/018.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_018:: @ 8D25164 + .incbin "graphics/battle_anims/sprites/018.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_220:: @ 8D25180 + .incbin "graphics/battle_anims/sprites/220.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_220:: @ 8D251A8 + .incbin "graphics/battle_anims/sprites/220.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_221:: @ 8D252D4 + .incbin "graphics/battle_anims/sprites/221.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_221:: @ 8D252F4 + .incbin "graphics/battle_anims/sprites/221.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_222:: @ 8D25558 + .incbin "graphics/battle_anims/sprites/222.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_222:: @ 8D25844 + .incbin "graphics/battle_anims/sprites/222.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_223:: @ 8D2586C + .incbin "graphics/battle_anims/sprites/223.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_223:: @ 8D2588C + .incbin "graphics/battle_anims/sprites/223.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_224:: @ 8D25B20 + .incbin "graphics/battle_anims/sprites/224.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_224:: @ 8D25B40 + .incbin "graphics/battle_anims/sprites/224.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_230:: @ 8D25C3C + .incbin "graphics/battle_anims/sprites/230.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_230:: @ 8D25C64 + .incbin "graphics/battle_anims/sprites/230.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_228:: @ 8D25EA8 + .incbin "graphics/battle_anims/sprites/228.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_228:: @ 8D25EC8 + .incbin "graphics/battle_anims/sprites/228.4bpp.lz" + + .align 2 +gBattleAnimBackgroundPalette_04:: @ 8D25F70 + .incbin "graphics/battle_anims/backgrounds/04.gbapal.lz" + + .align 2 +gBattleAnimBackgroundImage_04:: @ 8D25F98 + .incbin "graphics/battle_anims/backgrounds/04.4bpp.lz" + + .align 2 +gBattleAnimBackgroundTilemap_04:: @ 8D26D04 + .incbin "graphics/battle_anims/backgrounds/04.bin.lz" + + .align 2 +gBattleAnimBackgroundTilemap_05:: @ 8D27200 + .incbin "graphics/battle_anims/backgrounds/05.bin.lz" + + .align 2 +gBattleAnimBackgroundTilemap_06:: @ 8D276D0 + .incbin "graphics/battle_anims/backgrounds/06.bin.lz" + + .align 2 +gBattleAnimSpriteSheet_225:: @ 8D27B10 + .incbin "graphics/battle_anims/sprites/225.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_225:: @ 8D27C94 + .incbin "graphics/battle_anims/sprites/225.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_227:: @ 8D27CBC + .incbin "graphics/battle_anims/sprites/227.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_226:: @ 8D27E04 + .incbin "graphics/battle_anims/sprites/226.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_226:: @ 8D27E90 + .incbin "graphics/battle_anims/sprites/226.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_229:: @ 8D27EB4 + .incbin "graphics/battle_anims/sprites/229.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_229:: @ 8D28070 + .incbin "graphics/battle_anims/sprites/229.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_099:: @ 8D28098 + .incbin "graphics/battle_anims/sprites/099.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_099:: @ 8D281B8 + .incbin "graphics/battle_anims/sprites/099.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_232:: @ 8D281E0 + .incbin "graphics/battle_anims/sprites/232.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_231:: @ 8D28718 + .incbin "graphics/battle_anims/sprites/231.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_231:: @ 8D28740 + .incbin "graphics/battle_anims/sprites/231.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_233:: @ 8D28910 + .incbin "graphics/battle_anims/sprites/233.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_233:: @ 8D28994 + .incbin "graphics/battle_anims/sprites/233.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_234:: @ 8D289BC + .incbin "graphics/battle_anims/sprites/234.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_234:: @ 8D28B7C + .incbin "graphics/battle_anims/sprites/234.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_238:: @ 8D28BA0 + .incbin "graphics/battle_anims/sprites/238.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_238:: @ 8D28C08 + .incbin "graphics/battle_anims/sprites/238.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_235:: @ 8D28C2C + .incbin "graphics/battle_anims/sprites/235.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_235:: @ 8D28C7C + .incbin "graphics/battle_anims/sprites/235.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_236:: @ 8D28C98 + .incbin "graphics/battle_anims/sprites/236.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_237:: @ 8D28CB4 + .incbin "graphics/battle_anims/sprites/237.gbapal.lz" + + .align 2 +gBattleAnimBackgroundImage_07:: @ 8D28CD0 + .incbin "graphics/battle_anims/backgrounds/07.4bpp.lz" + + .align 2 +gBattleAnimBackgroundPalette_07:: @ 8D28E78 + .incbin "graphics/battle_anims/backgrounds/07.gbapal.lz" + + .align 2 +gBattleAnimBackgroundPalette_18:: @ 8D28EA0 + .incbin "graphics/battle_anims/backgrounds/18.gbapal.lz" + + .align 2 +gBattleAnimBackgroundTilemap_07:: @ 8D28EC8 + .incbin "graphics/battle_anims/backgrounds/07.bin.lz" + + .align 2 +gBattleAnimBackgroundTilemap_08:: @ 8D29058 + .incbin "graphics/battle_anims/backgrounds/08.bin.lz" + + .align 2 +gBattleAnimBackgroundImage_20:: @ 8D291E4 + .incbin "graphics/battle_anims/backgrounds/20.4bpp.lz" + + .align 2 +gBattleAnimBackgroundPalette_20:: @ 8D29C0C + .incbin "graphics/battle_anims/backgrounds/20.gbapal.lz" + + .align 2 +gBattleAnimBackgroundTilemap_20:: @ 8D29C2C + .incbin "graphics/battle_anims/backgrounds/20.bin.lz" + + .align 2 +gBattleAnimBackgroundTilemap_09:: @ 8D29E30 + .incbin "graphics/battle_anims/backgrounds/09.bin.lz" + + .align 2 +gBattleAnimBackgroundPalette_09:: @ 8D2A128 + .incbin "graphics/battle_anims/backgrounds/09.gbapal.lz" + + .align 2 +gBattleAnimBackgroundPalette_22:: @ 8D2A148 + .incbin "graphics/battle_anims/backgrounds/22.gbapal.lz" + + .align 2 +gBattleAnimBackgroundImage_09:: @ 8D2A168 + .incbin "graphics/battle_anims/backgrounds/09.4bpp.lz" + + .align 2 +gBattleAnimBackgroundTilemap_10:: @ 8D2A6E8 + .incbin "graphics/battle_anims/backgrounds/10.bin.lz" + + .align 2 gUnknown_08C2A634:: @ 8C2A634 - .incbin "baserom.gba", 0xc2a634, 0xa0 + .incbin "graphics/battle_anims/masks/morning_sun.4bpp.lz" + .align 2 gUnknown_08C2A6D4:: @ 8C2A6D4 - .incbin "baserom.gba", 0xc2a6d4, 0x18 + .incbin "graphics/battle_anims/masks/morning_sun.gbapal.lz" + .align 2 gUnknown_08C2A6EC:: @ 8C2A6EC - .incbin "baserom.gba", 0xc2a6ec, 0x27d0 + .incbin "graphics/battle_anims/masks/morning_sun.bin.lz" -gUnknown_08C2CEBC:: @ 8C2CEBC - .incbin "baserom.gba", 0xc2cebc, 0x24 + .align 2 +gBattleAnimBackgroundTilemap_12:: @ 8D2ABB4 + .incbin "graphics/battle_anims/backgrounds/12.bin.lz" -gUnknown_08C2CEE0:: @ 8C2CEE0 - .incbin "baserom.gba", 0xc2cee0, 0x240 + .align 2 +gBattleAnimBackgroundTilemap_13:: @ 8D2AE7C + .incbin "graphics/battle_anims/backgrounds/13.bin.lz" -gUnknown_08C2D120:: @ 8C2D120 - .incbin "baserom.gba", 0xc2d120, 0x600 + .align 2 +gBattleAnimBackgroundTilemap_14:: @ 8D2B178 + .incbin "graphics/battle_anims/backgrounds/14.bin.lz" + .align 2 +gBattleAnimBackgroundImage_12:: @ 8D2B408 + .incbin "graphics/battle_anims/backgrounds/12.4bpp.lz" + + .align 2 +gBattleAnimBackgroundPalette_12:: @ 8D2C170 + .incbin "graphics/battle_anims/backgrounds/12.gbapal.lz" + + .align 2 +gBattleAnimBackgroundImage_11:: @ 8D2C190 + .incbin "graphics/battle_anims/backgrounds/11.4bpp.lz" + + .align 2 +gBattleAnimBackgroundPalette_11:: @ 8D2CB2C + .incbin "graphics/battle_anims/backgrounds/11.gbapal.lz" + + .align 2 +gBattleAnimBackgroundTilemap_11:: @ 8D2CB54 + .incbin "graphics/battle_anims/backgrounds/11.bin.lz" + + .align 2 +gBattleAnimSpriteSheet_239:: @ 8D2CE4C + .incbin "graphics/battle_anims/sprites/239.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_239:: @ 8D2CF30 + .incbin "graphics/battle_anims/sprites/239.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_143:: @ 8D2CF58 + .incbin "graphics/battle_anims/sprites/143.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_143:: @ 8D2D188 + .incbin "graphics/battle_anims/sprites/143.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_240:: @ 8D2D1A0 + .incbin "graphics/battle_anims/sprites/240.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_240:: @ 8D2D240 + .incbin "graphics/battle_anims/sprites/240.gbapal.lz" + + .align 2 +gSubstituteDollPal:: @ 8C2CEBC + .incbin "graphics/battle_anims/sprites/substitute.gbapal.lz" + + .align 2 +gSubstituteDollGfx:: @ 8C2CEE0 + .incbin "graphics/battle_anims/sprites/substitute.4bpp.lz" + + .align 2 +gSubstituteDollTilemap:: @ 8C2D120 + .incbin "graphics/battle_anims/sprites/substitute.bin.lz" + + .align 2 +gBattleAnimSpriteSheet_241:: @ 8C2D348 + .incbin "graphics/battle_anims/sprites/241.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_241:: @ 8C2D40C + .incbin "graphics/battle_anims/sprites/241.gbapal.lz" + + .align 2 +gContestConfetti_Gfx:: @ 8C2D428 + .incbin "graphics/misc/confetti.4bpp.lz" + + .align 2 +gContestConfetti_Pal:: @ 8C2D548 + .incbin "graphics/misc/confetti.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_242:: @ 8C2D570 + .incbin "graphics/battle_anims/sprites/242.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_242:: @ 8C2D6AC + .incbin "graphics/battle_anims/sprites/242.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_243:: @ 8C2D6D0 + .incbin "graphics/battle_anims/sprites/243.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_243:: @ 8C2D6F8 + .incbin "graphics/battle_anims/sprites/243.gbapal.lz" + + .align 2 gUnknown_08C2D720:: @ 8C2D720 - .incbin "baserom.gba", 0xc2d720, 0x210 + .incbin "graphics/battle_anims/masks/stat.4bpp.lz" + .align 2 gUnknown_08C2D930:: @ 8C2D930 - .incbin "baserom.gba", 0xc2d930, 0x11c + .incbin "graphics/battle_anims/masks/stat_tilemap_1.bin.lz" + .align 2 gUnknown_08C2DA4C:: @ 8C2DA4C - .incbin "baserom.gba", 0xc2da4c, 0x11c + .incbin "graphics/battle_anims/masks/stat_tilemap_2.bin.lz" + .align 2 gUnknown_08C2DB68:: @ 8C2DB68 - .incbin "baserom.gba", 0xc2db68, 0x20 + .incbin "graphics/battle_anims/masks/stat1.gbapal.lz" + .align 2 gUnknown_08C2DB88:: @ 8C2DB88 - .incbin "baserom.gba", 0xc2db88, 0x20 + .incbin "graphics/battle_anims/masks/stat2.gbapal.lz" + .align 2 gUnknown_08C2DBA8:: @ 8C2DBA8 - .incbin "baserom.gba", 0xc2dba8, 0x20 + .incbin "graphics/battle_anims/masks/stat3.gbapal.lz" + .align 2 gUnknown_08C2DBC8:: @ 8C2DBC8 - .incbin "baserom.gba", 0xc2dbc8, 0x20 + .incbin "graphics/battle_anims/masks/stat4.gbapal.lz" + .align 2 gUnknown_08C2DBE8:: @ 8C2DBE8 - .incbin "baserom.gba", 0xc2dbe8, 0x20 + .incbin "graphics/battle_anims/masks/stat5.gbapal.lz" + .align 2 gUnknown_08C2DC08:: @ 8C2DC08 - .incbin "baserom.gba", 0xc2dc08, 0x20 + .incbin "graphics/battle_anims/masks/stat6.gbapal.lz" + .align 2 gUnknown_08C2DC28:: @ 8C2DC28 - .incbin "baserom.gba", 0xc2dc28, 0x20 + .incbin "graphics/battle_anims/masks/stat7.gbapal.lz" + .align 2 gUnknown_08C2DC48:: @ 8C2DC48 - .incbin "baserom.gba", 0xc2dc48, 0x20 + .incbin "graphics/battle_anims/masks/stat8.gbapal.lz" + .align 2 gUnknown_08C2DC68:: @ 8C2DC68 - .incbin "baserom.gba", 0xc2dc68, 0x13c + .incbin "graphics/battle_anims/masks/cure_bubbles.4bpp.lz" + .align 2 gUnknown_08C2DDA4:: @ 8C2DDA4 - .incbin "baserom.gba", 0xc2dda4, 0x20 + .incbin "graphics/battle_anims/masks/cure_bubbles.gbapal.lz" + .align 2 gUnknown_08C2DDC4:: @ 8C2DDC4 - .incbin "baserom.gba", 0xc2ddc4, 0xc8c + .incbin "graphics/battle_anims/masks/cure_bubbles.bin.lz" + .align 2 +gBattleAnimSpritePalette_245:: @ 8D2E28C + .incbin "graphics/battle_anims/sprites/245.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_245:: @ 8D2E2B4 + .incbin "graphics/battle_anims/sprites/245.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_246:: @ 8D2E458 + .incbin "graphics/battle_anims/sprites/246.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_244:: @ 8D2E900 + .incbin "graphics/battle_anims/sprites/244.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_244:: @ 8D2E9DC + .incbin "graphics/battle_anims/sprites/244.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_247:: @ 8D2E9F8 + .incbin "graphics/battle_anims/sprites/247.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_053:: @ 8D2EBDC + .incbin "graphics/battle_anims/sprites/053.4bpp.lz" + + .align 2 gUnknown_08C2EA50:: @ 8C2EA50 - .incbin "baserom.gba", 0xc2ea50, 0x4c + .incbin "graphics/battle_anims/masks/unknown_C2EA50.4bpp.lz" + .align 2 gUnknown_08C2EA9C:: @ 8C2EA9C - .incbin "baserom.gba", 0xc2ea9c, 0xf6c + .incbin "graphics/battle_anims/masks/unknown_C2EA50.bin.lz" + + .align 2 +gBattleAnimSpriteSheet_248:: @ 8D2EF50 + .incbin "graphics/battle_anims/sprites/248.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_248:: @ 8D2EF68 + .incbin "graphics/battle_anims/sprites/248.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_249:: @ 8D2EF80 + .incbin "graphics/battle_anims/sprites/249.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_249:: @ 8D2EFD0 + .incbin "graphics/battle_anims/sprites/249.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_250:: @ 8D2EFF0 + .incbin "graphics/battle_anims/sprites/250.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_251:: @ 8D2F1E4 + .incbin "graphics/battle_anims/sprites/251.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_251:: @ 8D2F248 + .incbin "graphics/battle_anims/sprites/251.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_252:: @ 8D2F260 + .incbin "graphics/battle_anims/sprites/252.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_252:: @ 8D2F378 + .incbin "graphics/battle_anims/sprites/252.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_253:: @ 8D2F39C + .incbin "graphics/battle_anims/sprites/253.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_253:: @ 8D2F578 + .incbin "graphics/battle_anims/sprites/253.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_254:: @ 8D2F5A0 + .incbin "graphics/battle_anims/sprites/254.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_254:: @ 8D2F6D8 + .incbin "graphics/battle_anims/sprites/254.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_255:: @ 8D2F700 + .incbin "graphics/battle_anims/sprites/255.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_255:: @ 8D2F778 + .incbin "graphics/battle_anims/sprites/255.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_258:: @ 8D2F78C + .incbin "graphics/battle_anims/sprites/258.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_258:: @ 8D2F874 + .incbin "graphics/battle_anims/sprites/258.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_256:: @ 8D2F89C + .incbin "graphics/battle_anims/sprites/256.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_256:: @ 8D2FC28 + .incbin "graphics/battle_anims/sprites/256.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_257:: @ 8D2FC50 + .incbin "graphics/battle_anims/sprites/257.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_257:: @ 8D2FD6C + .incbin "graphics/battle_anims/sprites/257.gbapal.lz" + + .incbin "graphics/unknown/unknown_C2F9E0.gbapal.lz" @ likely a palette @ 8C2FA08 .include "data/graphics/pokemon/graphics.inc" @@ -220,295 +2552,390 @@ gMonIcon_QuestionMark:: @ 8D774D0 gMonFootprint_QuestionMark:: @ 8D778D0 .incbin "graphics/pokemon/footprints/question_mark_footprint.1bpp" + .align 2 gUnknown_08D778F0:: @ 8D778F0 - .incbin "baserom.gba", 0xd778f0, 0xe8 + .incbin "graphics/battle_transitions/vs_frame.4bpp.lz" + .align 2 gUnknown_08D779D8:: @ 8D779D8 - .incbin "baserom.gba", 0xd779d8, 0x10c + .incbin "graphics/battle_transitions/vs_frame.bin.lz" + .align 2 gUnknown_08D77AE4:: @ 8D77AE4 - .incbin "baserom.gba", 0xd77ae4, 0x28 + .incbin "graphics/battle_transitions/vs_frame.gbapal.lz" + .align 2 gUnknown_08D77B0C:: @ 8D77B0C - .incbin "baserom.gba", 0xd77b0c, 0x25c + .incbin "graphics/battle_transitions/vs.4bpp.lz" -gUnknown_08D77D68:: @ 8D77D68 - .incbin "baserom.gba", 0xd77d68, 0x5b0 + .align 2 +gBattleTerrainTiles_TallGrass:: @ 8D77D68 + .incbin "graphics/battle_terrain/tall_grass/tiles.4bpp.lz" -gUnknown_08D78318:: @ 8D78318 - .incbin "baserom.gba", 0xd78318, 0x38 + .align 2 +gBattleTerrainPalette_TallGrass:: @ 8D78318 + .incbin "graphics/battle_terrain/tall_grass/palette.gbapal.lz" -gUnknown_08D78350:: @ 8D78350 - .incbin "baserom.gba", 0xd78350, 0x2b0 + .align 2 +gBattleTerrainTilemap_TallGrass:: @ 8D78350 + .incbin "graphics/battle_terrain/tall_grass/map.bin.lz" -gUnknown_08D78600:: @ 8D78600 - .incbin "baserom.gba", 0xd78600, 0x678 + .align 2 +gBattleTerrainTiles_LongGrass:: @ 8D78600 + .incbin "graphics/battle_terrain/long_grass/tiles.4bpp.lz" -gUnknown_08D78C78:: @ 8D78C78 - .incbin "baserom.gba", 0xd78C78, 0x40 + .align 2 +gBattleTerrainPalette_LongGrass:: @ 8D78C78 + .incbin "graphics/battle_terrain/long_grass/palette.gbapal.lz" -gUnknown_08D78CB8:: @ 8D78CB8 - .incbin "baserom.gba", 0xd78CB8, 0x2b0 + .align 2 +gBattleTerrainTilemap_LongGrass:: @ 8D78CB8 + .incbin "graphics/battle_terrain/long_grass/map.bin.lz" -gUnknown_08D78F68:: @ 8D78F68 - .incbin "baserom.gba", 0xd78f68, 0x5f8 + .align 2 +gBattleTerrainTiles_Sand:: @ 8D78F68 + .incbin "graphics/battle_terrain/sand/tiles.4bpp.lz" -gUnknown_08D79560:: @ 8D79560 - .incbin "baserom.gba", 0xd79560, 0x48 + .align 2 +gBattleTerrainPalette_Sand:: @ 8D79560 + .incbin "graphics/battle_terrain/sand/palette.gbapal.lz" -gUnknown_08D795A8:: @ 8D795A8 - .incbin "baserom.gba", 0xd795A8, 0x2b0 + .align 2 +gBattleTerrainTilemap_Sand:: @ 8D795A8 + .incbin "graphics/battle_terrain/sand/map.bin.lz" -gUnknown_08D79858:: @ 8D79858 - .incbin "baserom.gba", 0xd79858, 0x5b8 + .align 2 +gBattleTerrainTiles_Underwater:: @ 8D79858 + .incbin "graphics/battle_terrain/underwater/tiles.4bpp.lz" -gUnknown_08D79E10:: @ 8D79E10 - .incbin "baserom.gba", 0xd79E10, 0x48 + .align 2 +gBattleTerrainPalette_Underwater:: @ 8D79E10 + .incbin "graphics/battle_terrain/underwater/palette.gbapal.lz" -gUnknown_08D79E58:: @ 8D79E58 - .incbin "baserom.gba", 0xd79e58, 0x2b0 + .align 2 +gBattleTerrainTilemap_Underwater:: @ 8D79E58 + .incbin "graphics/battle_terrain/underwater/map.bin.lz" -gUnknown_08D7A108:: @ 8D7A108 - .incbin "baserom.gba", 0xd7a108, 0x5d4 + .align 2 +gBattleTerrainTiles_Water:: @ 8D7A108 + .incbin "graphics/battle_terrain/water/tiles.4bpp.lz" -gUnknown_08D7A6DC:: @ 8D7A6DC - .incbin "baserom.gba", 0xd7a6DC, 0x44 + .align 2 +gBattleTerrainPalette_Water:: @ 8D7A6DC + .incbin "graphics/battle_terrain/water/palette.gbapal.lz" -gUnknown_08D7A720:: @ 8D7A720 - .incbin "baserom.gba", 0xd7a720, 0x2b0 + .align 2 +gBattleTerrainTilemap_Water:: @ 8D7A720 + .incbin "graphics/battle_terrain/water/map.bin.lz" -gUnknown_08D7A9D0:: @ 8D7A9D0 - .incbin "baserom.gba", 0xd7a9D0, 0x5a8 + .align 2 +gBattleTerrainTiles_PondWater:: @ 8D7A9D0 + .incbin "graphics/battle_terrain/pond_water/tiles.4bpp.lz" -gUnknown_08D7AF78:: @ 8D7AF78 - .incbin "baserom.gba", 0xd7af78, 0x40 + .align 2 +gBattleTerrainPalette_PondWater:: @ 8D7AF78 + .incbin "graphics/battle_terrain/pond_water/palette.gbapal.lz" -gUnknown_08D7AFB8:: @ 8D7AFB8 - .incbin "baserom.gba", 0xd7aFB8, 0x2b0 + .align 2 +gBattleTerrainTilemap_PondWater:: @ 8D7AFB8 + .incbin "graphics/battle_terrain/pond_water/map.bin.lz" -gUnknown_08D7B268:: @ 8D7B268 - .incbin "baserom.gba", 0xd7b268, 0x5c0 + .align 2 +gBattleTerrainTiles_Rock:: @ 8D7B268 + .incbin "graphics/battle_terrain/rock/tiles.4bpp.lz" -gUnknown_08D7B828:: @ 8D7B828 - .incbin "baserom.gba", 0xd7b828, 0x3c + .align 2 +gBattleTerrainPalette_Rock:: @ 8D7B828 + .incbin "graphics/battle_terrain/rock/palette.gbapal.lz" -gUnknown_08D7B864:: @ 8D7B864 - .incbin "baserom.gba", 0xd7b864, 0x2b0 + .align 2 +gBattleTerrainTilemap_Rock:: @ 8D7B864 + .incbin "graphics/battle_terrain/rock/map.bin.lz" -gUnknown_08D7BB14:: @ 8D7BB14 - .incbin "baserom.gba", 0xd7bb14, 0x5f8 + .align 2 +gBattleTerrainTiles_Cave:: @ 8D7BB14 + .incbin "graphics/battle_terrain/cave/tiles.4bpp.lz" -gUnknown_08D7C10C:: @ 8D7C10C - .incbin "baserom.gba", 0xd7c10c, 0x48 + .align 2 +gBattleTerrainPalette_Cave:: @ 8D7C10C + .incbin "graphics/battle_terrain/cave/palette.gbapal.lz" -gUnknown_08D7C154:: @ 8D7C154 - .incbin "baserom.gba", 0xd7c154, 0x2b0 + .align 2 +gBattleTerrainTilemap_Cave:: @ 8D7C154 + .incbin "graphics/battle_terrain/cave/map.bin.lz" -gUnknown_08D7C404:: @ 8D7C404 - .incbin "baserom.gba", 0xd7c404, 0x3c + .align 2 +gBattleTerrainPalette_Plain:: @ 8D7C404 + .incbin "graphics/battle_terrain/plain/palette.gbapal.lz" -gUnknown_08D7C440:: @ 8D7C440 - .incbin "baserom.gba", 0xd7c440, 0x5ac + .align 2 +gBattleTerrainTiles_Building:: @ 8D7C440 + .incbin "graphics/battle_terrain/building/tiles.4bpp.lz" -gUnknown_08D7C9EC:: @ 8D7C9EC - .incbin "baserom.gba", 0xd7c9ec, 0x3c + .align 2 +gBattleTerrainPalette_Frontier:: @ 8D7C9EC + .incbin "graphics/battle_terrain/stadium/battle_frontier.gbapal.lz" @ this is also used for link battles -gUnknown_08D7CA28:: @ 8D7CA28 - .incbin "baserom.gba", 0xd7ca28, 0x2b0 + .align 2 +gBattleTerrainTilemap_Building:: @ 8D7CA28 + .incbin "graphics/battle_terrain/building/map.bin.lz" -gUnknown_08D7CCD8:: @ 8D7CCD8 - .incbin "baserom.gba", 0xd7ccd8, 0x608 + .align 2 +gBattleTerrainTiles_Stadium:: @ 8D7CCD8 + .incbin "graphics/battle_terrain/stadium/tiles.4bpp.lz" -gUnknown_08D7D2E0:: @ 8D7D2E0 - .incbin "baserom.gba", 0xd7d2e0, 0x2b0 + .align 2 +gBattleTerrainTilemap_Stadium:: @ 8D7D2E0 + .incbin "graphics/battle_terrain/stadium/map.bin.lz" -gUnknown_08D7D590:: @ 8D7D590 - .incbin "baserom.gba", 0xd7d590, 0x674 + .align 2 +gBattleTerrainTiles_Rayquaza:: @ 8D7D590 + .incbin "graphics/battle_terrain/sky/tiles.4bpp.lz" -gUnknown_08D7DC04:: @ 8D7DC04 - .incbin "baserom.gba", 0xd7dc04, 0x2b0 + .align 2 +gBattleTerrainTilemap_Rayquaza:: @ 8D7DC04 + .incbin "graphics/battle_terrain/sky/map.bin.lz" -gUnknown_08D7DEB4:: @ 8D7DEB4 - .incbin "baserom.gba", 0xd7deb4, 0x40 + .align 2 +gBattleTerrainPalette_Building:: @ 8D7DEB4 + .incbin "graphics/battle_terrain/building/palette.gbapal.lz" -gUnknown_08D7DEF4:: @ 8D7DEF4 - .incbin "baserom.gba", 0xd7def4, 0x3c + .align 2 +gBattleTerrainPalette_Kyogre:: @ 8D7DEF4 + .incbin "graphics/battle_terrain/water/kyogre.gbapal.lz" -gUnknown_08D7DF30:: @ 8D7DF30 - .incbin "baserom.gba", 0xd7df30, 0x58 + .align 2 +gBattleTerrainPalette_Groudon:: @ 8D7DF30 + .incbin "graphics/battle_terrain/cave/groudon.gbapal.lz" -gUnknown_08D7DF88:: @ 8D7DF88 - .incbin "baserom.gba", 0xd7df88, 0x3c + .align 2 +gBattleTerrainPalette_BuildingGym:: @ 8D7DF88 + .incbin "graphics/battle_terrain/building/palette2.gbapal.lz" -gUnknown_08D7DFC4:: @ 8D7DFC4 - .incbin "baserom.gba", 0xd7dfc4, 0x3c + .align 2 +gBattleTerrainPalette_BuildingLeader:: @ 8D7DFC4 + .incbin "graphics/battle_terrain/building/palette3.gbapal.lz" -gUnknown_08D7E000:: @ 8D7E000 - .incbin "baserom.gba", 0xd7e000, 0x60 + .align 2 +gBattleTerrainPalette_StadiumAqua:: @ 8D7E000 + .incbin "graphics/battle_terrain/stadium/palette1.gbapal.lz" -gUnknown_08D7E060:: @ 8D7E060 - .incbin "baserom.gba", 0xd7e060, 0x6c + .align 2 +gBattleTerrainPalette_StadiumMagma:: @ 8D7E060 + .incbin "graphics/battle_terrain/stadium/palette2.gbapal.lz" -gUnknown_08D7E0CC:: @ 8D7E0CC - .incbin "baserom.gba", 0xd7e0cc, 0x50 + .align 2 +gBattleTerrainPalette_StadiumSidney:: @ 8D7E0CC + .incbin "graphics/battle_terrain/stadium/palette3.gbapal.lz" -gUnknown_08D7E11C:: @ 8D7E11C - .incbin "baserom.gba", 0xd7e11c, 0x48 + .align 2 +gBattleTerrainPalette_StadiumPhoebe:: @ 8D7E11C + .incbin "graphics/battle_terrain/stadium/palette4.gbapal.lz" -gUnknown_08D7E164:: @ 8D7E164 - .incbin "baserom.gba", 0xd7e164, 0x44 + .align 2 +gBattleTerrainPalette_StadiumGlacia:: @ 8D7E164 + .incbin "graphics/battle_terrain/stadium/palette5.gbapal.lz" -gUnknown_08D7E1A8:: @ 8D7E1A8 - .incbin "baserom.gba", 0xd7e1a8, 0x50 + .align 2 +gBattleTerrainPalette_StadiumDrake:: @ 8D7E1A8 + .incbin "graphics/battle_terrain/stadium/palette6.gbapal.lz" -gUnknown_08D7E1F8:: @ 8D7E1F8 - .incbin "baserom.gba", 0xd7e1f8, 0x3c + .align 2 +gBattleTerrainPalette_StadiumWallace:: @ 8D7E1F8 + .incbin "graphics/battle_terrain/stadium/palette7.gbapal.lz" -gUnknown_08D7E234:: @ 8D7E234 - .incbin "baserom.gba", 0xd7e234, 0x4c + .align 2 +gBattleTerrainPalette_Rayquaza:: @ 8D7E234 + .incbin "graphics/battle_terrain/sky/palette.gbapal.lz" -gUnknown_08D7E280:: @ 8D7E280 - .incbin "baserom.gba", 0xd7e280, 0x588 + .align 2 +gBattleTerrainAnimTiles_TallGrass:: @ 8D7E280 + .incbin "graphics/battle_terrain/tall_grass/anim_tiles.4bpp.lz" -gUnknown_08D7E808:: @ 8D7E808 - .incbin "baserom.gba", 0xd7e808, 0x1bc + .align 2 +gBattleTerrainAnimTilemap_TallGrass:: @ 8D7E808 + .incbin "graphics/battle_terrain/tall_grass/anim_map.bin.lz" -gUnknown_08D7E9C4:: @ 8D7E9C4 - .incbin "baserom.gba", 0xd7e9C4, 0x710 + .align 2 +gBattleTerrainAnimTiles_LongGrass:: @ 8D7E9C4 + .incbin "graphics/battle_terrain/long_grass/anim_tiles.4bpp.lz" -gUnknown_08D7F0D4:: @ 8D7F0D4 - .incbin "baserom.gba", 0xd7F0D4, 0x238 + .align 2 +gBattleTerrainAnimTilemap_LongGrass:: @ 8D7F0D4 + .incbin "graphics/battle_terrain/long_grass/anim_map.bin.lz" -gUnknown_08D7F30C:: @ 8D7F30C - .incbin "baserom.gba", 0xd7F30c, 0x544 + .align 2 +gBattleTerrainAnimTiles_Sand:: @ 8D7F30C + .incbin "graphics/battle_terrain/sand/anim_tiles.4bpp.lz" -gUnknown_08D7F850:: @ 8D7F850 - .incbin "baserom.gba", 0xd7F850, 0x1a8 + .align 2 +gBattleTerrainAnimTilemap_Sand:: @ 8D7F850 + .incbin "graphics/battle_terrain/sand/anim_map.bin.lz" -gUnknown_08D7F9F8:: @ 8D7F9F8 - .incbin "baserom.gba", 0xd7f9f8, 0x4cc + .align 2 +gBattleTerrainAnimTiles_Underwater:: @ 8D7F9F8 + .incbin "graphics/battle_terrain/underwater/anim_tiles.4bpp.lz" -gUnknown_08D7FEC4:: @ 8D7FEC4 - .incbin "baserom.gba", 0xd7fec4, 0x190 + .align 2 +gBattleTerrainAnimTilemap_Underwater:: @ 8D7FEC4 + .incbin "graphics/battle_terrain/underwater/anim_map.bin.lz" -gUnknown_08D80054:: @ 8D80054 - .incbin "baserom.gba", 0xd80054, 0x60c + .align 2 +gBattleTerrainAnimTiles_Water:: @ 8D80054 + .incbin "graphics/battle_terrain/water/anim_tiles.4bpp.lz" -gUnknown_08D80660:: @ 8D80660 - .incbin "baserom.gba", 0xd80660, 0x1a4 + .align 2 +gBattleTerrainAnimTilemap_Water:: @ 8D80660 + .incbin "graphics/battle_terrain/water/anim_map.bin.lz" -gUnknown_08D80804:: @ 8D80804 - .incbin "baserom.gba", 0xd80804, 0x54c + .align 2 +gBattleTerrainAnimTiles_PondWater:: @ 8D80804 + .incbin "graphics/battle_terrain/pond_water/anim_tiles.4bpp.lz" -gUnknown_08D80D50:: @ 8D80D50 - .incbin "baserom.gba", 0xd80d50, 0x14C + .align 2 +gBattleTerrainAnimTilemap_PondWater:: @ 8D80D50 + .incbin "graphics/battle_terrain/pond_water/anim_map.bin.lz" -gUnknown_08D80E9C:: @ 8D80E9C - .incbin "baserom.gba", 0xd80e9c, 0x5e0 + .align 2 +gBattleTerrainAnimTiles_Rock:: @ 8D80E9C + .incbin "graphics/battle_terrain/rock/anim_tiles.4bpp.lz" -gUnknown_08D8147C:: @ 8D8147C - .incbin "baserom.gba", 0xd8147C, 0x194 + .align 2 +gBattleTerrainAnimTilemap_Rock:: @ 8D8147C + .incbin "graphics/battle_terrain/rock/anim_map.bin.lz" -gUnknown_08D81610:: @ 8D81610 - .incbin "baserom.gba", 0xd81610, 0x81c + .align 2 +gBattleTerrainAnimTiles_Cave:: @ 8D81610 + .incbin "graphics/battle_terrain/cave/anim_tiles.4bpp.lz" -gUnknown_08D81E2C:: @ 8D81E2C - .incbin "baserom.gba", 0xd81e2c, 0x2a8 + .align 2 +gBattleTerrainAnimTilemap_Cave:: @ 8D81E2C + .incbin "graphics/battle_terrain/cave/anim_map.bin.lz" -gUnknown_08D820D4:: @ 8D820D4 - .incbin "baserom.gba", 0xd820d4, 0x410 + .align 2 +gBattleTerrainAnimTiles_Building:: @ 8D820D4 + .incbin "graphics/battle_terrain/building/anim_tiles.4bpp.lz" -gUnknown_08D824E4:: @ 8D824E4 - .incbin "baserom.gba", 0xd824e4, 0x124 + .align 2 +gBattleTerrainAnimTilemap_Building:: @ 8D824E4 + .incbin "graphics/battle_terrain/building/anim_map.bin.lz" -gUnknown_08D82608:: @ 8D82608 - .incbin "baserom.gba", 0xd82608, 0x668 + .align 2 +gBattleTerrainAnimTiles_Rayquaza:: @ 8D82608 + .incbin "graphics/battle_terrain/sky/anim_tiles.4bpp.lz" -gUnknown_08D82C70:: @ 8D82C70 - .incbin "baserom.gba", 0xd82c70, 0x2a0 + .align 2 +gBattleTerrainAnimTilemap_Rayquaza:: @ 8D82C70 + .incbin "graphics/battle_terrain/sky/anim_map.bin.lz" + .align 2 gUnknown_08D82F10:: @ 8D82F10 - .incbin "baserom.gba", 0xd82f10, 0x5ec + .incbin "graphics/battle_frontier/tourney_bg.4bpp.lz" + .align 2 gUnknown_08D834FC:: @ 8D834FC - .incbin "baserom.gba", 0xd834fc, 0x404 + .incbin "graphics/battle_frontier/tourney_line.4bpp.lz" @ the red glow mask for the tourney advancement lines + .align 2 gUnknown_08D83900:: @ 8D83900 - .incbin "baserom.gba", 0xd83900, 0x22c + .incbin "graphics/unknown/unknown_D83900.bin.lz" @ tilemaps likely + .align 2 gUnknown_08D83B2C:: @ 8D83B2C - .incbin "baserom.gba", 0xd83b2c, 0x110 + .incbin "graphics/unknown/unknown_D83B2C.bin.lz" + .align 2 gUnknown_08D83C3C:: @ 8D83C3C - .incbin "baserom.gba", 0xd83c3c, 0x114 + .incbin "graphics/unknown/unknown_D83C3C.bin.lz" + .align 2 gUnknown_08D83D50:: @ 8D83D50 - .incbin "baserom.gba", 0xd83d50, 0xc20 + .incbin "graphics/battle_frontier/misc1.4bpp.lz" + .align 2 gUnknown_08D84970:: @ 8D84970 - .incbin "baserom.gba", 0xd84970, 0x590 + .incbin "graphics/unknown/unknown_D84970.bin.lz" + .align 2 gUnknown_08D84F00:: @ 8D84F00 - .incbin "baserom.gba", 0xd84f00, 0x458 + .incbin "graphics/unknown/unknown_D84F00.bin.lz" + .align 2 +gBattleFrontierGfx_DomeOptions:: @ 8D85058 + .incbin "graphics/battle_frontier/options.4bpp.lz" + + .align 2 gUnknown_08D85358:: @ 8D85358 - .incbin "baserom.gba", 0xd85358, 0xec + .incbin "graphics/battle_frontier/options_pal1.gbapal.lz" + .align 2 gUnknown_08D85444:: @ 8D85444 - .incbin "baserom.gba", 0xd85444, 0x84 + .incbin "graphics/battle_frontier/options_pal2.gbapal.lz" @ pokeball pal + .align 2 gUnknown_08D854C8:: @ 8D854C8 - .incbin "baserom.gba", 0xd854c8, 0x120 + .incbin "graphics/battle_frontier/options_pal3.gbapal.lz" @ arrow pal + .align 2 +gUnknown_08D854E8:: @ 8D854E8 + .incbin "graphics/battle_frontier/symbols.4bpp.lz" + + .align 2 gUnknown_08D855E8:: @ 8D855E8 - .incbin "baserom.gba", 0xd855e8, 0x18 + .incbin "graphics/battle_frontier/symbols.gbapal.lz" + .align 2 gUnknown_08D85600:: @ 8D85600 - .incbin "baserom.gba", 0xd85600, 0x20 + .incbin "graphics/battle_frontier/text.gbapal.lz" @ text palette for frontier text. + .align 2 gUnknown_08D85620:: @ 8D85620 - .incbin "baserom.gba", 0xd85620, 0x20 + .incbin "graphics/battle_frontier/text_pp.gbapal" @ text palette for PP text + @ dome anim pals + + .align 2 gUnknown_08D85640:: @ 8D85640 - .incbin "baserom.gba", 0xd85640, 0x20 + .incbin "graphics/battle_frontier/dome_anim1.gbapal" + .align 2 gUnknown_08D85660:: @ 8D85660 - .incbin "baserom.gba", 0xd85660, 0x20 + .incbin "graphics/battle_frontier/dome_anim2.gbapal" + .align 2 gUnknown_08D85680:: @ 8D85680 - .incbin "baserom.gba", 0xd85680, 0x20 + .incbin "graphics/battle_frontier/dome_anim3.gbapal" + .align 2 gUnknown_08D856A0:: @ 8D856A0 - .incbin "baserom.gba", 0xd856a0, 0x28 + .incbin "graphics/battle_frontier/dome_anim4.gbapal" + @ 8D856C0 + .2byte 0x013F, 0x0119, 0x0113, 0x010E @ unused? + + .align 2 gUnknown_08D856C8:: @ 8D856C8 - .incbin "baserom.gba", 0xd856c8, 0xe0 + .incbin "graphics/battle_frontier/pyramid_light.gbapal" @ unfaded pal for the player light in battle pyramid + .align 2 gUnknown_08D857A8:: @ 8D857A8 - .incbin "baserom.gba", 0xd857a8, 0x274 + .incbin "graphics/battle_frontier/battle_tilemap1.bin.lz" + .align 2 gUnknown_08D85A1C:: @ 8D85A1C - .incbin "baserom.gba", 0xd85a1c, 0x234 + .incbin "graphics/battle_frontier/battle_tilemap2.bin.lz" -gUnknown_08D85C50:: @ 8D85C50 - .incbin "baserom.gba", 0xd85c50, 0x60 + .align 2 +gIntro1GameFreakTextFadePal:: @ 8D85C50 + .incbin "graphics/intro/intro1_text.gbapal" @ game freak text blue fade .align 2 gIntro2BrendanNoTurnPal:: @ 8D85CB0 .incbin "graphics/intro/intro2_brendan_noturn.gbapal" .align 2 -gUnknown_08D85CD0:: @ 8D85CD0 - .incbin "baserom.gba", 0xd85cd0, 0x182 - -gUnknown_08D85E52:: @ 8D85E52 - .incbin "baserom.gba", 0xd85e52, 0x20 - -gUnknown_08D85E72:: @ 8D85E72 - .incbin "baserom.gba", 0xd85e72, 0xa - -gUnknown_08D85E7C:: @ 8D85E7C - .incbin "baserom.gba", 0xd85e7c, 0x54 +gIntro3BgPal:: @ 8D85CD0 + .incbin "graphics/intro/intro3.gbapal" .align 2 gIntro2VolbeatPal:: @ 8D85ED0 @@ -551,38 +2978,48 @@ gIntro2MayNoTurnGfx:: @ 8D87CA4 .incbin "graphics/intro/intro2_may_noturn.4bpp.lz" .align 2 -gUnknown_08D88494:: @ 8D88494 - .incbin "baserom.gba", 0xd88494, 0x8ac +gIntro3GroudonGfx:: @ 8D88494 + .incbin "graphics/intro/intro3_groudon.8bpp.lz" -gUnknown_08D88D40:: @ 8D88D40 - .incbin "baserom.gba", 0xd88d40, 0x4e4 + .align 2 +gIntro3GroudonTilemap:: @ 8D88D40 + .incbin "graphics/intro/intro3_groudon.bin.lz" -gUnknown_08D89224:: @ 8D89224 - .incbin "baserom.gba", 0xd89224, 0x898 + .align 2 +gIntro3KyogreGfx:: @ 8D89224 + .incbin "graphics/intro/intro3_kyogre.8bpp.lz" -gUnknown_08D89ABC:: @ 8D89ABC - .incbin "baserom.gba", 0xd89abc, 0x4c0 + .align 2 +gIntro3KyogreTilemap:: @ 8D89ABC + .incbin "graphics/intro/intro3_kyogre.bin.lz" -gUnknown_08D89F7C:: @ 8D89F7C - .incbin "baserom.gba", 0xd89f7c, 0x89c + .align 2 +gIntro3LegendBgGfx:: @ 8D89F7C + .incbin "graphics/intro/legend_bg.4bpp.lz" @ groudon/kyogre/bg -gUnknown_08D8A818:: @ 8D8A818 - .incbin "baserom.gba", 0xd8a818, 0x11c + .align 2 +gIntro3GroudonBgTilemap:: @ 8D8A818 + .incbin "graphics/intro/legend_bg1.bin.lz" -gUnknown_08D8A934:: @ 8D8A934 - .incbin "baserom.gba", 0xd8a934, 0x120 + .align 2 +gIntro3KyogreBgTilemap:: @ 8D8A934 + .incbin "graphics/intro/legend_bg2.bin.lz" -gUnknown_08D8AA54:: @ 8D8AA54 - .incbin "baserom.gba", 0xd8aa54, 0x72c + .align 2 +gIntro3CloudsGfx:: @ 8D8AA54 + .incbin "graphics/intro/intro3_clouds.4bpp.lz" -gUnknown_08D8B180:: @ 8D8B180 - .incbin "baserom.gba", 0xd8b180, 0x2c0 + .align 2 +gIntro3Clouds1Tilemap:: @ 8D8B180 + .incbin "graphics/intro/intro3_clouds1.bin.lz" -gUnknown_08D8B440:: @ 8D8B440 - .incbin "baserom.gba", 0xd8b440, 0x2a8 + .align 2 +gIntro3Clouds2Tilemap:: @ 8D8B440 + .incbin "graphics/intro/intro3_clouds2.bin.lz" -gUnknown_08D8B6E8:: @ 8D8B6E8 - .incbin "baserom.gba", 0xd8b6e8, 0x124 + .align 2 +gIntro3Clouds3Tilemap:: @ 8D8B6E8 + .incbin "graphics/intro/intro3_clouds3.bin.lz" .align 2 gIntro3LightningGfx:: @ 8D8B80C @@ -593,17 +3030,27 @@ gIntro3LightningPal:: @ 8D8BA54 .incbin "graphics/intro/intro3_lightning.gbapal" .align 2 -gUnknown_08D8BA74:: @ 8D8BA74 - .incbin "baserom.gba", 0xd8ba74, 0x6f8 +gIntro3RayquazaGfx:: @ 8D8BA74 + .incbin "graphics/intro/intro3_rayquaza.4bpp.lz" -gUnknown_08D8C16C:: @ 8D8C16C - .incbin "baserom.gba", 0xd8c16c, 0x6cc + .align 2 +gIntro3RayquazaTilemap:: @ 8D8C16C + .incbin "graphics/intro/intro3_rayquaza.bin.lz" -gUnknown_08D8C838:: @ 8D8C838 - .incbin "baserom.gba", 0xd8c838, 0x490 + @ seems to be 2 unused tilemaps + .align 2 + .incbin "graphics/unknown/unknown_D8C374.bin.lz" -gUnknown_08D8CCC8:: @ 8D8CCC8 - .incbin "baserom.gba", 0xd8ccc8, 0x27c + .align 2 + .incbin "graphics/unknown/unknown_D8C5C4.bin.lz" + + .align 2 +gIntro3Clouds2Gfx:: @ 8D8C838 + .incbin "graphics/intro/intro3_clouds2.4bpp.lz" @ clouds 2, during the rayquaza flash + + .align 2 +gIntro3Clouds4Tilemap:: @ 8D8CCC8 + .incbin "graphics/intro/intro3_clouds4.bin.lz" @ this is the tilemap for clouds 2, but clouds .align 2 gIntro2BubblesGfx:: @ 8D8CF44 @@ -622,31 +3069,156 @@ gIntro1SparkleGfx:: @ 8D8D208 .incbin "graphics/intro/intro1_sparkle.4bpp.lz" .align 2 - .incbin "baserom.gba", 0xd8d2a4, 0x16c +gBattleAnimSpriteSheet_261:: + .incbin "graphics/battle_anims/sprites/261.4bpp.lz" + .align 2 gUnknown_08D8D410:: @ 8D8D410 - .incbin "baserom.gba", 0xd8d410, 0x17c + .incbin "graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz" + .align 2 gUnknown_08D8D58C:: @ 8D8D58C - .incbin "baserom.gba", 0xd8d58c, 0x52c + .incbin "graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz" -gUnknown_08D8DAB8:: @ 8D8DAB8 - .incbin "baserom.gba", 0xd8dab8, 0xefc + .align 2 +gBattleAnimSpritePalette_261:: @ 8E68580 + .incbin "graphics/battle_anims/sprites/261.gbapal.lz" + .align 2 +gBattleAnimSpriteSheet_260:: @ 8E685A8 + .incbin "graphics/battle_anims/sprites/260.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_260:: @ 8E68764 + .incbin "graphics/battle_anims/sprites/260.gbapal.lz" + + .align 2 +gBattleAnimBackgroundImage_15:: @ 8E6877C + .incbin "graphics/battle_anims/backgrounds/15.4bpp.lz" + + .align 2 +gBattleAnimBackgroundPalette_15:: @ 8E690EC + .incbin "graphics/battle_anims/backgrounds/15.gbapal.lz" + + .align 2 +gBattleAnimBackgroundTilemap_15:: @ 8E69110 + .incbin "graphics/battle_anims/backgrounds/15.bin.lz" + + .align 2 +gBattleAnimSpriteSheet_262:: @ 8E69308 + .incbin "graphics/battle_anims/sprites/262.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_262:: @ 8E693DC + .incbin "graphics/battle_anims/sprites/262.gbapal.lz" + + .align 2 +gContestNextTurnGfx:: + .incbin "graphics/contest/nextturn.4bpp.lz" + + .align 2 gUnknown_08D8E9B4:: @ 8D8E9B4 - .incbin "baserom.gba", 0xd8e9b4, 0x80 + .incbin "graphics/contest/nextturn_numbers.4bpp" + .align 2 gUnknown_08D8EA34:: @ 8D8EA34 - .incbin "baserom.gba", 0xd8ea34, 0x1f0 + .incbin "graphics/contest/nextturn_random.4bpp" -gUnknown_08D8EC24:: @ 8D8EC24 - .incbin "baserom.gba", 0xd8ec24, 0xf78 + .align 2 +gBattleAnimSpriteSheet_264:: @ 8E695B8 + .incbin "graphics/battle_anims/sprites/264.4bpp.lz" -gUnknown_08D8FB9C:: @ 8D8FB9C - .incbin "baserom.gba", 0xd8fb9c, 0x24 + .align 2 +gBattleAnimSpritePalette_264:: @ 8E695D8 + .incbin "graphics/battle_anims/sprites/264.gbapal.lz" -gUnknown_08D8FBC0:: @ 8D8FBC0 - .incbin "baserom.gba", 0xd8fbc0, 0x30 + .align 2 +gBattleAnimSpritePalette_265:: @ 8E695F0 + .incbin "graphics/battle_anims/sprites/265.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_067:: @ 8E69608 + .incbin "graphics/battle_anims/sprites/067.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_068:: @ 8E69628 + .incbin "graphics/battle_anims/sprites/068.gbapal.lz" + + .align 2 +gContestApplauseGfx:: @ 8D8EAE4 + .incbin "graphics/contest/applause.4bpp.lz" + + .align 2 +gContestApplauseMeterGfx:: @ 8D8EC24 + .incbin "graphics/contest/applause_meter.4bpp" + + .align 2 +gContestPal:: @ 8D8ECA4 + .incbin "graphics/contest/nextturn.gbapal" + + .align 2 +gBattleAnimSpriteSheet_272:: @ 8E6982C + .incbin "graphics/battle_anims/sprites/272.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_272:: @ 8E69A48 + .incbin "graphics/battle_anims/sprites/272.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_273:: @ 8E69A6C + .incbin "graphics/battle_anims/sprites/273.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_269:: @ 8E69A94 + .incbin "graphics/battle_anims/sprites/269.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_269:: @ 8E69AE8 + .incbin "graphics/battle_anims/sprites/269.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_274:: @ 8E69B00 + .incbin "graphics/battle_anims/sprites/274.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_275:: @ 8E69C80 + .incbin "graphics/battle_anims/sprites/275.4bpp.lz" + + .align 2 +gBattleAnimSpriteSheet_276:: @ 8E69DEC + .incbin "graphics/battle_anims/sprites/276.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_274:: @ 8E69F54 + .incbin "graphics/battle_anims/sprites/274.gbapal.lz" + + .align 2 +gBattleAnimBackgroundImage_17:: @ 8E69F7C + .incbin "graphics/battle_anims/backgrounds/17.4bpp.lz" + + .align 2 +gBattleAnimBackgroundPalette_17:: @ 8E6A0D8 + .incbin "graphics/battle_anims/backgrounds/17.gbapal.lz" + + .align 2 +gBattleAnimBackgroundTilemap_17:: @ 8E6A100 + .incbin "graphics/battle_anims/backgrounds/17.bin.lz" + + .align 2 +gBattleAnimSpriteSheet_280:: @ 8E6A2E8 + .incbin "graphics/battle_anims/sprites/280.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_280:: @ 8E6A6E4 + .incbin "graphics/battle_anims/sprites/280.gbapal.lz" + + .align 2 +gBattleAnimBackgroundImageMuddyWater_Pal:: @ 8D8FB9C + .incbin "graphics/battle_anims/backgrounds/water_muddy.gbapal.lz" + + .align 2 +gEnemyMonShadow_Gfx:: @ 8D8FBC0 + .incbin "graphics/battle_interface/enemy_mon_shadow.4bpp.lz" .align 2 gBattleInterface_BallStatusBarGfx:: @ 8D8FBF0 @@ -656,226 +3228,647 @@ gBattleInterface_BallStatusBarGfx:: @ 8D8FBF0 gMonIcon_Egg:: @ 8D8FC74 .incbin "graphics/pokemon/icons/egg_icon.4bpp" - .incbin "baserom.gba", 0xd90074, 0x1524 + .align 2 +gBattleAnimBackgroundImage_02:: @ 8E6ABDC + .incbin "graphics/battle_anims/backgrounds/02.4bpp.lz" -gUnknown_08D91598:: @ 8D91598 - .incbin "baserom.gba", 0xd91598, 0x820 + .align 2 +gBattleAnimBackgroundPalette_02:: @ 8E6B8A4 + .incbin "graphics/battle_anims/backgrounds/02.gbapal.lz" + .align 2 +gBattleAnimBackgroundTilemap_02:: @ 8E6B8C0 + .incbin "graphics/battle_anims/backgrounds/02.bin.lz" + + .align 2 +gBattleAnimSpritePalette_287:: @ 8E6BBB4 + .incbin "graphics/battle_anims/sprites/287.gbapal.lz" + + .align 2 +gBattleAnimBackgroundPalette_24:: @ 8E6BBDC + .incbin "graphics/battle_anims/backgrounds/24.gbapal.lz" + + .align 2 + .incbin "graphics/unknown/unknown_E6BC04.bin.lz" @ TODO: rename + + .align 2 +sBlenderCenterGfx:: @ 8D91598 + .incbin "graphics/berry_blender/center.8bpp.lz" + + .align 2 gUnknown_08D91DB8:: @ 8D91DB8 - .incbin "baserom.gba", 0xd91db8, 0xa34 + .incbin "graphics/berry_blender/outer.4bpp.lz" + .align 2 gUnknown_08D927EC:: @ 8D927EC - .incbin "baserom.gba", 0xd927ec, 0xaf4 + .incbin "graphics/berry_blender/outer_map.bin.lz" -gUnknown_08D932E0:: @ 8D932E0 - .incbin "baserom.gba", 0xd932e0, 0x2b8 + .align 2 +gBattleAnimBackgroundPalette_16:: @ 8E6D668 + .incbin "graphics/battle_anims/backgrounds/16.gbapal.lz" -gUnknown_08D93598:: @ 8D93598 - .incbin "baserom.gba", 0xd93598, 0x1e4 + .align 2 +gBattleAnimBackgroundImage_16:: @ 8E6D690 + .incbin "graphics/battle_anims/backgrounds/16.4bpp.lz" -gUnknown_08D9377C:: @ 8D9377C - .incbin "baserom.gba", 0xd9377c, 0x1e4 + .align 2 +gBattleAnimBackgroundTilemap_16:: @ 8E6D8F0 + .incbin "graphics/battle_anims/backgrounds/16.bin.lz" -gUnknown_08D93960:: @ 8D93960 - .incbin "baserom.gba", 0xd93960, 0x1158 + .align 2 +gBattleAnimSpritePalette_277:: @ 8E6DA2C + .incbin "graphics/battle_anims/sprites/277.gbapal.lz" -gUnknown_08D94AB8:: @ 8D94AB8 - .incbin "baserom.gba", 0xd94ab8, 0x1320 + .align 2 +gBattleAnimSpriteSheet_277:: @ 8E6DA54 + .incbin "graphics/battle_anims/sprites/277.4bpp.lz" -gUnknown_08D95DD8:: @ 8D95DD8 - .incbin "baserom.gba", 0xd95dd8, 0x28 + .align 2 +gBattleAnimFogTilemap:: @ 8E6DE48 + .incbin "graphics/battle_anims/backgrounds/fog.bin.lz" + .align 2 +gBattleAnimSpritePalette_283:: @ 8E6DFC0 + .incbin "graphics/battle_anims/sprites/283.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_283:: @ 8E6DFDC + .incbin "graphics/battle_anims/sprites/283.4bpp.lz" + + .align 2 +gBattleAnimBackgroundTilemap_ScaryFacePlayer:: @ 8D93598 + .incbin "graphics/battle_anims/backgrounds/scary_face_player.bin.lz" + + .align 2 +gBattleAnimBackgroundTilemap_ScaryFaceOpponent:: @ 8D9377C + .incbin "graphics/battle_anims/backgrounds/scary_face_opponent.bin.lz" + + .align 2 +gBattleAnimBackgroundTilemap_ScaryFaceContest:: @ 8D93960 + .incbin "graphics/battle_anims/backgrounds/scary_face_contest.bin.lz" + + .align 2 +gBattleAnimSpriteSheet_263:: @ 8E6E6AC + .incbin "graphics/battle_anims/sprites/263.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_263:: @ 8E6E6EC + .incbin "graphics/battle_anims/sprites/263.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_266:: @ 8E6E704 + .incbin "graphics/battle_anims/sprites/266.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_266:: @ 8E6E744 + .incbin "graphics/battle_anims/sprites/266.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_267:: @ 8E6E75C + .incbin "graphics/battle_anims/sprites/267.gbapal.lz" + + .align 2 +gBattleAnimSpritePalette_268:: @ 8E6E774 + .incbin "graphics/battle_anims/sprites/268.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_278:: @ 8E6E78C + .incbin "graphics/battle_anims/sprites/278.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_278:: @ 8E6E998 + .incbin "graphics/battle_anims/sprites/278.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_279:: @ 8E6E9B4 + .incbin "graphics/battle_anims/sprites/279.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_279:: @ 8E6EA00 + .incbin "graphics/battle_anims/sprites/279.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_281:: @ 8E6EA1C + .incbin "graphics/battle_anims/sprites/281.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_281:: @ 8E6EBA4 + .incbin "graphics/battle_anims/sprites/281.gbapal.lz" + + .align 2 +gBattleAnimBackgroundImage_21:: @ 8E6EBC4 + .incbin "graphics/battle_anims/backgrounds/21.4bpp.lz" + + .align 2 +gBattleAnimBackgroundPalette_21:: @ 8E6EEB8 + .incbin "graphics/battle_anims/backgrounds/21.gbapal.lz" + + .align 2 +gBattleAnimBackgroundTilemap_21:: @ 8E6EED4 + .incbin "graphics/battle_anims/backgrounds/21.bin.lz" + + .align 2 +gBattleAnimSpriteSheet_284:: @ 8E6F1C0 + .incbin "graphics/battle_anims/sprites/284.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_284:: @ 8E6F53C + .incbin "graphics/battle_anims/sprites/284.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_285:: @ 8E6F558 + .incbin "graphics/battle_anims/sprites/285.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_285:: @ 8E6F5F8 + .incbin "graphics/battle_anims/sprites/285.gbapal.lz" + + .align 2 +gBattleAnimBackgroundImage_Surf:: @ 8D94AB8 + .incbin "graphics/battle_anims/backgrounds/water.4bpp.lz" + + .align 2 +gBattleAnimBackgroundPalette_Surf:: @ 8D95DD8 + .incbin "graphics/battle_anims/backgrounds/water.gbapal.lz" + + .align 2 gUnknown_08D95E00:: @ 8D95E00 - .incbin "baserom.gba", 0xd95e00, 0x2d0 + .incbin "graphics/unknown/unknown_D95E00.bin.lz" + .align 2 gUnknown_08D960D0:: @ 8D960D0 - .incbin "baserom.gba", 0xd960d0, 0x2d4 + .incbin "graphics/unknown/unknown_D960D0.bin.lz" + .align 2 gUnknown_08D963A4:: @ 8D963A4 - .incbin "baserom.gba", 0xd963a4, 0x448 + .incbin "graphics/unknown/unknown_D963A4.bin.lz" -gUnknown_08D967EC:: @ 8D967EC - .incbin "baserom.gba", 0xd967ec, 0x2c8 + .align 2 +gBattleAnimSpritePalette_286:: @ 8E71200 + .incbin "graphics/battle_anims/sprites/286.gbapal.lz" -gUnknown_08D96AB4:: @ 8D96AB4 - .incbin "baserom.gba", 0xd96ab4, 0xec + .align 2 +gBattleAnimSpriteSheet_188:: @ 8E71228 + .incbin "graphics/battle_anims/sprites/188.4bpp.lz" -gUnknown_08D96BA0:: @ 8D96BA0 - .incbin "baserom.gba", 0xd96ba0, 0xfe4 + .align 2 +gBattleAnimSpritePalette_188:: @ 8E7133C + .incbin "graphics/battle_anims/sprites/188.gbapal.lz" -gUnknown_08D97B84:: @ 8D97B84 - .incbin "baserom.gba", 0xd97b84, 0x188 + .align 2 +gPartyMenuMisc_Gfx:: @ 8D967EC + .incbin "graphics/interface/party_menu_misc.4bpp.lz" + .align 2 +gPartyMenuMisc_Pal:: @ 8D96AB4 + .incbin "graphics/interface/party_menu_misc.gbapal.lz" + + .align 2 +gPartyMenuMisc_Tilemap:: @ 8D96BA0 + .incbin "graphics/interface/party_menu_misc.bin.lz" + + .align 2 +gPartyMenuPokeball_Gfx:: @ 8D96CD8 + .incbin "graphics/interface/party_menu_pokeball.4bpp.lz" + + .align 2 +gPartyMenuPokeballSmall_Gfx:: @ 8D96E58 + .incbin "graphics/interface/party_menu_pokeball_small.4bpp.lz" @ unused + + .align 2 +gPartyMenuPokeball_Pal:: @ 8D96F6C + .incbin "graphics/interface/party_menu_pokeball.gbapal.lz" + + .align 2 +gStatusGfx_Icons:: @ 8D96F90 + .incbin "graphics/interface/status_icons.4bpp.lz" + + .align 2 +gStatusPal_Icons:: @ 8D97188 + .incbin "graphics/interface/status_icons.gbapal.lz" + + .align 2 +gMoveTypes_Gfx:: @ 8D971B0 + .incbin "graphics/types/move_types.4bpp.lz" + + .align 2 +gMoveTypes_Pal:: @ 8D97B84 + .incbin "graphics/types/move_types.gbapal.lz" + + .align 2 +gUnknown_08D97BEC:: @ 8D97BEC + .incbin "graphics/interface/summary_frames.4bpp.lz" + + .align 2 +gUnknown_08D97CF4:: @ 8D97CF4 + .incbin "graphics/interface/summary_frames.gbapal.lz" + + .align 2 gUnknown_08D97D0C:: @ 8D97D0C - .incbin "baserom.gba", 0xd97d0c, 0x830 + .incbin "graphics/interface/status_screen.4bpp.lz" + .align 2 gUnknown_08D9853C:: @ 8D9853C - .incbin "baserom.gba", 0xd9853c, 0xf0 + .incbin "graphics/interface/status_screen.gbapal.lz" + .align 2 gUnknown_08D9862C:: @ 8D9862C - .incbin "baserom.gba", 0xd9862c, 0x1d0 + .incbin "graphics/interface/status_screen.bin.lz" + .align 2 gUnknown_08D987FC:: @ 8D987FC - .incbin "baserom.gba", 0xd987fc, 0x190 + .incbin "graphics/interface/status_tilemap1.bin.lz" + .align 2 gUnknown_08D9898C:: @ 8D9898C - .incbin "baserom.gba", 0xd9898c, 0x19c + .incbin "graphics/interface/status_tilemap2.bin.lz" + .align 2 gUnknown_08D98B28:: @ 8D98B28 - .incbin "baserom.gba", 0xd98b28, 0x1a0 + .incbin "graphics/interface/status_tilemap3.bin.lz" + .align 2 gUnknown_08D98CC8:: @ 8D98CC8 - .incbin "baserom.gba", 0xd98cc8, 0x18c0 + .incbin "graphics/interface/status_tilemap0.bin.lz" -gUnknown_08D9A588:: @ 8D9A588 - .incbin "baserom.gba", 0xd9a588, 0x4c + .align 2 +gBagMaleTiles:: @ 8E75024 + .incbin "graphics/misc/bag_male.4bpp.lz" -gUnknown_08D9A5D4:: @ 8D9A5D4 - .incbin "baserom.gba", 0xd9a5d4, 0x4c + .align 2 +gBagFemaleTiles:: @ 8E75BA0 + .incbin "graphics/misc/bag_female.4bpp.lz" -gUnknown_08D9A620:: @ 8D9A620 - .incbin "baserom.gba", 0xd9a620, 0x26c + .align 2 +gBagPalette:: @ 8E76700 + .incbin "graphics/misc/bag.gbapal.lz" + .align 2 +gBagScreenMale_Pal:: @ 8D9A588 + .incbin "graphics/interface/bag_screen_male.gbapal.lz" + + .align 2 +gBagScreenFemale_Pal:: @ 8D9A5D4 + .incbin "graphics/interface/bag_screen_female.gbapal.lz" + + .align 2 +gBagScreen_Gfx:: @ 8D9A620 + .incbin "graphics/interface/bag_screen.4bpp.lz" + + .align 2 gUnknown_08D9A88C:: @ 8D9A88C - .incbin "baserom.gba", 0xd9a88c, 0x544 + .incbin "graphics/unknown/unknown_D9A88C.bin.lz" + .align 2 +gBattleFrontierGfx_PyramidBag:: @ 8D9A9EC + .incbin "graphics/interface/bag_pyramid.4bpp.lz" + + .align 2 gUnknown_08D9ADD0:: @ 8D9ADD0 - .incbin "baserom.gba", 0xd9add0, 0x34 + .incbin "graphics/interface/bag_pyramid.gbapal.lz" @ female palette is first and male is second. + .align 2 gUnknown_08D9AE04:: @ 8D9AE04 - .incbin "baserom.gba", 0xd9ae04, 0x140 + .incbin "graphics/unknown/unknown_D9AE04.bin.lz" @ tilemap? + .align 2 gUnknown_08D9AF44:: @ 8D9AF44 - .incbin "baserom.gba", 0xd9af44, 0x78 + .incbin "graphics/unknown/unknown_D9AF44.gbapal.lz" + .align 2 +gBagSwapLineGfx:: @ 8D9AF6C + .incbin "graphics/interface/bag_swap.4bpp.lz" + + .align 2 +gBagSwapLinePal:: @ 8D9AFAC + .incbin "graphics/interface/bag_swap.gbapal.lz" + + .align 2 gBuyMenuFrame_Gfx:: @ 8D9AFBC - .incbin "baserom.gba", 0xd9afbc, 0x10c + .incbin "graphics/interface/mart_frame.4bpp.lz" + .align 2 gMenuMoneyPal:: @ 8D9B0C8 - .incbin "baserom.gba", 0xd9b0c8, 0x28 + .incbin "graphics/interface/mart_frame.gbapal.lz" + .align 2 gBuyMenuFrame_Tilemap:: @ 8D9B0F0 - .incbin "baserom.gba", 0xd9b0f0, 0x140 - + .incbin "graphics/interface/mart_frame.bin.lz" + + .align 2 gMenuMoneyGfx:: @ 8D9B230 - .incbin "baserom.gba", 0xd9b230, 0x84 + .incbin "graphics/interface/money.4bpp.lz" -gUnknown_08D9B2B4:: @ 8D9B2B4 - .incbin "baserom.gba", 0xd9b2b4, 0x1bc + .align 2 +gMenuPokeblock_Gfx:: @ 8D9B2B4 + .incbin "graphics/interface/pokeblock_case_frame.4bpp.lz" -gUnknown_08D9B470:: @ 8D9B470 - .incbin "baserom.gba", 0xd9b470, 0x358 + .align 2 +gMenuPokeblock_Pal:: @ 8D9B470 + .incbin "graphics/interface/pokeblock_case_frame.gbapal.lz" -gUnknown_08D9B7C8:: @ 8D9B7C8 - .incbin "baserom.gba", 0xd9b7c8, 0x27c + .align 2 +gMenuPokeblockDevice_Gfx:: @ 8D9B4E0 + .incbin "graphics/interface/pokeblock_device.4bpp.lz" + .align 2 +gMenuPokeblockDevice_Pal:: @ 8D9B7A0 + .incbin "graphics/interface/pokeblock_device.gbapal.lz" + + .align 2 +gMenuPokeblock_Tilemap:: @ 8D9B7C8 + .incbin "graphics/interface/pokeblock.bin.lz" + + .align 2 +gPokeblock_Gfx:: + .incbin "graphics/pokeblock/pokeblock.4bpp.lz" + + .align 2 +gPokeblockRed_Pal:: + .incbin "graphics/pokeblock/red.gbapal.lz" + + .align 2 +gPokeblockBlue_Pal:: + .incbin "graphics/pokeblock/blue.gbapal.lz" + + .align 2 +gPokeblockPink_Pal:: + .incbin "graphics/pokeblock/pink.gbapal.lz" + + .align 2 +gPokeblockGreen_Pal:: + .incbin "graphics/pokeblock/green.gbapal.lz" + + .align 2 +gPokeblockYellow_Pal:: + .incbin "graphics/pokeblock/yellow.gbapal.lz" + + .align 2 +gPokeblockPurple_Pal:: + .incbin "graphics/pokeblock/purple.gbapal.lz" + + .align 2 +gPokeblockIndigo_Pal:: + .incbin "graphics/pokeblock/indigo.gbapal.lz" + + .align 2 +gPokeblockBrown_Pal:: + .incbin "graphics/pokeblock/brown.gbapal.lz" + + .align 2 +gPokeblockLiteBlue_Pal:: + .incbin "graphics/pokeblock/liteblue.gbapal.lz" + + .align 2 +gPokeblockOlive_Pal:: + .incbin "graphics/pokeblock/olive.gbapal.lz" + + .align 2 +gPokeblockGray_Pal:: + .incbin "graphics/pokeblock/gray.gbapal.lz" + + .align 2 +gPokeblockBlack_Pal:: + .incbin "graphics/pokeblock/black.gbapal.lz" + + .align 2 +gPokeblockWhite_Pal:: + .incbin "graphics/pokeblock/white.gbapal.lz" + + .align 2 +gPokeblockGold_Pal:: + .incbin "graphics/pokeblock/gold.gbapal.lz" + + .align 2 gUnknown_08D9BA44:: @ 8D9BA44 - .incbin "baserom.gba", 0xd9ba44, 0x100 + .incbin "graphics/interface/pokeblock_feeding_bg_map.bin.lz" + .align 2 gUnknown_08D9BB44:: @ 8D9BB44 - .incbin "baserom.gba", 0xd9bb44, 0x3ac + .incbin "graphics/interface/check_berry.4bpp.lz" + .align 2 gUnknown_08D9BEF0:: @ 8D9BEF0 - .incbin "baserom.gba", 0xd9bef0, 0xa8 + .incbin "graphics/interface/check_berry.gbapal.lz" + .align 2 gUnknown_08D9BF98:: @ 8D9BF98 - .incbin "baserom.gba", 0xd9bf98, 0x1a4 + .incbin "graphics/interface/berry_tag.bin.lz" + .align 2 gUnknown_08D9C13C:: @ 8D9C13C - .incbin "baserom.gba", 0xd9c13c, 0x26c + .incbin "graphics/interface/berry_tag_title.bin.lz" + + .align 2 +gBerryCheckCircle_Gfx:: @ 8D9C24C + .incbin "graphics/interface/check_berry_circle.4bpp.lz" @ 8D9C3A8 .include "data/graphics/berries/berry_graphics.inc" -@ 8DA1E78 - .incbin "baserom.gba", 0xda1e78, 0x1548 + .align 2 +gRaySceneGroudon_Gfx:: @ 8DA1E78 + .incbin "graphics/rayquaza_scene/groudon.4bpp.lz" -gUnknown_08DA33C0:: @ 8DA33C0 - .incbin "baserom.gba", 0xda33c0, 0x428 + .align 2 +gRaySceneGroudon2_Gfx:: @ 8DA2A5C + .incbin "graphics/rayquaza_scene/groudon_shoulder.4bpp.lz" -gUnknown_08DA37E8:: @ 8DA37E8 - .incbin "baserom.gba", 0xda37e8, 0x3c + .align 2 +gRaySceneGroudon3_Gfx:: @ 8DA2B28 + .incbin "graphics/rayquaza_scene/groudon_claw.4bpp.lz" -gUnknown_08DA3824:: @ 8DA3824 - .incbin "baserom.gba", 0xda3824, 0x164 + .align 2 +gRaySceneKyogre_Gfx:: @ 8DA2D1C + .incbin "graphics/rayquaza_scene/kyogre.4bpp.lz" -gUnknown_08DA3988:: @ 8DA3988 - .incbin "baserom.gba", 0xda3988, 0x100 + .align 2 +gRaySceneKyogre2_Gfx:: @ 8DA3250 + .incbin "graphics/rayquaza_scene/kyogre_shoulder.4bpp.lz" -gUnknown_08DA3A88:: @ 8DA3A88 - .incbin "baserom.gba", 0xda3a88, 0x20c + .align 2 +gRaySceneKyogre3_Gfx:: @ 8DA32A4 + .incbin "graphics/rayquaza_scene/kyogre_fin.4bpp.lz" -gUnknown_08DA3C94:: @ 8DA3C94 - .incbin "baserom.gba", 0xda3c94, 0x1114 + .align 2 +gRaySceneGroudon_Pal:: @ 8DA3370 + .incbin "graphics/rayquaza_scene/groudon.gbapal.lz" -gUnknown_08DA4DA8:: @ 8DA4DA8 - .incbin "baserom.gba", 0xda4da8, 0x44 + .align 2 +gRaySceneKyogre_Pal:: @ 8DA3398 + .incbin "graphics/rayquaza_scene/kyogre.gbapal.lz" -gUnknown_08DA4DEC:: @ 8DA4DEC - .incbin "baserom.gba", 0xda4dec, 0x184 + .align 2 +gRaySceneClouds_Gfx:: @ 8DA33C0 + .incbin "graphics/rayquaza_scene/clouds.4bpp.lz" -gUnknown_08DA4F70:: @ 8DA4F70 - .incbin "baserom.gba", 0xda4f70, 0x1148 + .align 2 +gRaySceneClouds_Pal:: @ 8DA37E8 + .incbin "graphics/rayquaza_scene/clouds.gbapal.lz" @ pal 1 clouds, pal 2 rain -gUnknown_08DA60B8:: @ 8DA60B8 - .incbin "baserom.gba", 0xda60b8, 0x904 + .align 2 +gRaySceneClouds1_Tilemap:: @ 8DA3824 + .incbin "graphics/rayquaza_scene/clouds1.bin.lz" -gUnknown_08DA69BC:: @ 8DA69BC - .incbin "baserom.gba", 0xda69bc, 0xb6c + .align 2 +gRaySceneClouds2_Tilemap:: @ 8DA3988 + .incbin "graphics/rayquaza_scene/clouds2.bin.lz" -gUnknown_08DA7528:: @ 8DA7528 - .incbin "baserom.gba", 0xda7528, 0x21c + .align 2 +gRaySceneClouds3_Tilemap:: @ 8DA3A88 + .incbin "graphics/rayquaza_scene/clouds3.bin.lz" -gUnknown_08DA7744:: @ 8DA7744 - .incbin "baserom.gba", 0xda7744, 0x40 + .align 2 +gRaySceneSmoke_Gfx:: @ 8DA3BC0 + .incbin "graphics/rayquaza_scene/smoke.4bpp.lz" -gUnknown_08DA7784:: @ 8DA7784 - .incbin "baserom.gba", 0xda7784, 0x328 + .align 2 +gRaySceneSmoke_Pal:: @ 8DA3C7C + .incbin "graphics/rayquaza_scene/smoke.gbapal.lz" -gUnknown_08DA7AAC:: @ 8DA7AAC - .incbin "baserom.gba", 0xda7aac, 0x184 + .align 2 +gRaySceneRayquaza_Gfx:: @ 8DA3C94 + .incbin "graphics/rayquaza_scene/rayquaza.8bpp.lz" -gUnknown_08DA7C30:: @ 8DA7C30 - .incbin "baserom.gba", 0xda7c30, 0x13c + .align 2 +gRaySceneRayquaza_Pal:: @ 8DA4DA8 + .incbin "graphics/rayquaza_scene/rayquaza.gbapal.lz" -gUnknown_08DA7D6C:: @ 8DA7D6C - .incbin "baserom.gba", 0xda7d6c, 0x140 + .align 2 +gRaySceneRayquaza_Tilemap:: @ 8DA4DEC + .incbin "graphics/rayquaza_scene/rayquaza.bin.lz" -gUnknown_08DA7EAC:: @ 8DA7EAC - .incbin "baserom.gba", 0xda7eac, 0x108 + .align 2 +gRaySceneOvercast_Gfx:: @ 8DA4F70 + .incbin "graphics/rayquaza_scene/overcast.4bpp.lz" @ uses pal 2 of gRaySceneRayquaza_Pal -gUnknown_08DA7FB4:: @ 8DA7FB4 - .incbin "baserom.gba", 0xda7fb4, 0x108 + .align 2 +gRaySceneOvercast_Tilemap:: @ 8DA60B8 + .incbin "graphics/rayquaza_scene/overcast.bin.lz" -gUnknown_08DA80BC:: @ 8DA80BC - .incbin "baserom.gba", 0xda80bc, 0xa84 + .align 2 +gRaySceneRayquazaFly1_Gfx:: @ 8DA6440 + .incbin "graphics/rayquaza_scene/rayquaza_fly1.4bpp.lz" -gUnknown_08DA8B40:: @ 8DA8B40 - .incbin "baserom.gba", 0xda8b40, 0x22c + .align 2 +gRaySceneRayquazaTail_Gfx:: @ 8DA68AC + .incbin "graphics/rayquaza_scene/rayquaza_tail_fix.4bpp.lz" @ for some reason there are an extra 0xC bytes at the end of the original 4bpp, so in order to produce the correct lz, we have to cat the bytes at the end with a make rule. not sure why those bytes are there, it may have been a bug in Game Freak's software. -gUnknown_08DA8D6C:: @ 8DA8D6C - .incbin "baserom.gba", 0xda8d6c, 0x118 + .align 2 +gRaySceneOvercast2_Gfx:: @ 8DA69BC + .incbin "graphics/rayquaza_scene/overcast2.4bpp.lz" -gUnknown_08DA8E84:: @ 8DA8E84 - .incbin "baserom.gba", 0xda8e84, 0x1a30 + .align 2 +gRaySceneRayquazaLight_Gfx:: @ 8DA7528 + .incbin "graphics/rayquaza_scene/rayquaza_light.4bpp.lz" @ uses pal 2 of gRaySceneOvercast2_Pal -gUnknown_08DAA8B4:: @ 8DAA8B4 - .incbin "baserom.gba", 0xdaa8b4, 0x270 + .align 2 +gRaySceneOvercast2_Pal:: @ 8DA7744 + .incbin "graphics/rayquaza_scene/overcast2.gbapal.lz" -gUnknown_08DAAB24:: @ 8DAAB24 - .incbin "baserom.gba", 0xdaab24, 0xf8 + .align 2 +gRaySceneOvercast2_Tilemap:: @ 8DA7784 + .incbin "graphics/rayquaza_scene/overcast2.bin.lz" -gUnknown_08DAAC1C:: @ 8DAAC1C - .incbin "baserom.gba", 0xdaac1c, 0x238 + .align 2 +gRaySceneRayquazaLight_Tilemap:: @ 8DA7AAC + .incbin "graphics/rayquaza_scene/rayquaza_light.bin.lz" -gUnknown_08DAAE54:: @ 8DAAE54 - .incbin "baserom.gba", 0xdaae54, 0x144 + .align 2 +gRaySceneChaseBg_Gfx:: @ 8DA7C30 + .incbin "graphics/rayquaza_scene/chase_bg.4bpp.lz" -gUnknown_08DAAF98:: @ 8DAAF98 - .incbin "baserom.gba", 0xdaaf98, 0x54 + .align 2 +gRaySceneChaseBg_Tilemap:: @ 8DA7D6C + .incbin "graphics/rayquaza_scene/chase_bg.bin.lz" -gUnknown_08DAAFEC:: @ 8DAAFEC - .incbin "baserom.gba", 0xdaafec, 0x6c + .align 2 +gRaySceneChaseStreaks_Gfx:: @ 8DA7EAC + .incbin "graphics/rayquaza_scene/chase_streaks.4bpp.lz" + + .align 2 +gRaySceneChaseStreaks_Tilemap:: @ 8DA7FB4 + .incbin "graphics/rayquaza_scene/chase_streaks.bin.lz" + + .align 2 +gRaySceneRayquazaChase_Gfx:: @ 8DA80BC + .incbin "graphics/rayquaza_scene/rayquaza_chase.4bpp.lz" + + .align 2 +gRayChaseRayquazaChase_Tilemap:: @ 8DA8B40 + .incbin "graphics/rayquaza_scene/rayquaza_chase.bin.lz" + + .align 2 +gRayChaseRayquazaChase2_Tilemap:: @ 8DA8D6C + .incbin "graphics/rayquaza_scene/rayquaza_chase2.bin.lz" + + .align 2 +gRaySceneChase_Pal:: @ 8DA8E84 + .incbin "graphics/rayquaza_scene/chase.gbapal.lz" + + .align 2 +gRaySceneGroudonLeft_Gfx:: @ 8DA8ED8 + .incbin "graphics/rayquaza_scene/groudon_left.4bpp.lz" + + .align 2 +gRaySceneGroudonTail_Gfx:: @ 8DA9670 + .incbin "graphics/rayquaza_scene/groudon_tail.4bpp.lz" + + .align 2 +gRaySceneKyogreRight_Gfx:: @ 8DA96B4 + .incbin "graphics/rayquaza_scene/kyogre_right.4bpp.lz" + + .align 2 +gRaySceneRayquazaHover_Gfx:: @ 8DA98FC + .incbin "graphics/rayquaza_scene/rayquaza_hover.4bpp.lz" + + .align 2 +gRaySceneRayquazaFlyIn_Gfx:: @ 8DAA5A4 + .incbin "graphics/rayquaza_scene/rayquaza_flyin.4bpp.lz" + + .align 2 +gRaySceneSplash_Gfx:: @ 8DAA794 + .incbin "graphics/rayquaza_scene/splash.4bpp.lz" + + .align 2 +gRaySceneGroudonLeft_Pal:: @ 8DAA82C + .incbin "graphics/rayquaza_scene/groudon_left.gbapal.lz" + + .align 2 +gRaySceneKyogreRight_Pal:: @ 8DAA854 + .incbin "graphics/rayquaza_scene/kyogre_right.gbapal.lz" + + .align 2 +gRaySceneRayquazaHover_Pal:: @ 8DAA87C + .incbin "graphics/rayquaza_scene/rayquaza_hover.gbapal.lz" + + .align 2 +gRaySceneSplash_Pal:: @ 8DAA8A4 + .incbin "graphics/rayquaza_scene/splash.gbapal.lz" + + .align 2 +gRaySceneHushBg_Gfx:: @ 8DAA8B4 + .incbin "graphics/rayquaza_scene/hush_bg.4bpp.lz" + + .align 2 +gRaySceneHushRing_Gfx:: @ 8DAAB24 + .incbin "graphics/rayquaza_scene/hush_ring.8bpp.lz" + + .align 2 +gRaySceneHushBg_Tilemap:: @ 8DAAC1C + .incbin "graphics/rayquaza_scene/hush_bg.bin.lz" + + .align 2 +gRaySceneHushRing_Tilemap:: @ 8DAAE54 + .incbin "graphics/rayquaza_scene/hush_ring.bin.lz" + + .align 2 +gRaySceneHushRing_Map:: @ 8DAAF98 + .incbin "graphics/rayquaza_scene/hush_ring_map.bin.lz" + + .align 2 +gRaySceneHushBg_Pal:: @ 8DAAFEC + .incbin "graphics/rayquaza_scene/hush_bg.gbapal.lz" @ 8DAB058 .include "data/graphics/items/item_graphics.inc" @@ -883,11 +3876,33 @@ gUnknown_08DAAFEC:: @ 8DAAFEC @ 8DB7AA0 .include "data/graphics/decorations/decoration_graphics.inc" -@ 8DBA14C - .incbin "baserom.gba", 0xdba14c, 0x3cc + .align 2 +gBattleAnimSpritePalette_282:: @ 8E7E7D0 + .incbin "graphics/battle_anims/sprites/282.gbapal.lz" + .align 2 +gBattleAnimSpriteSheet_282:: @ 8E7E7F8 + .incbin "graphics/battle_anims/sprites/282.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_270:: @ 8E7E9E0 + .incbin "graphics/battle_anims/sprites/270.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_270:: @ 8E7E9FC + .incbin "graphics/battle_anims/sprites/270.4bpp.lz" + + .align 2 +gBattleAnimSpritePalette_271:: @ 8E7EB24 + .incbin "graphics/battle_anims/sprites/271.gbapal.lz" + + .align 2 +gBattleAnimSpriteSheet_271:: @ 8E7EB3C + .incbin "graphics/battle_anims/sprites/271.4bpp.lz" + + .align 2 gUnknown_08DBA518:: @ 8DBA518 - .incbin "baserom.gba", 0xdba518, 0x80 + .incbin "graphics/misc/cable_car_bg.gbapal" .align 2 gCableCar_Pal:: @ 8DBA598 @@ -895,7 +3910,7 @@ gCableCar_Pal:: @ 8DBA598 .align 2 gUnknown_08DBA5B8:: @ 8DBA5B8 - .incbin "baserom.gba", 0xdba5b8, 0x19d8 + .incbin "graphics/misc/cable_car_bg.4bpp.lz" .align 2 gCableCar_Gfx:: @ 8DBBF90 @@ -910,185 +3925,303 @@ gCableCarCord_Gfx:: @ 8DBC2C0 .incbin "graphics/misc/cable_car_cord.4bpp.lz" .align 2 -gUnknown_08DBC2E8:: @ 8DBC2E8 - .incbin "baserom.gba", 0xdbc2e8, 0x72c +gRouletteMenuTiles:: @ 8DBC2E8 + .incbin "graphics/roulette/window.4bpp.lz" -gUnknown_08DBCA14:: @ 0x08DBCA14 - .incbin "baserom.gba", 0xdbca14, 0x1e04 + .align 2 +gRouletteWheelTiles:: + .incbin "graphics/roulette/wheel.8bpp.lz" -gUnknown_08DBE818:: @ 0x08DBE818 - .incbin "baserom.gba", 0xdbe818, 0x20 + .align 2 +gRouletteCenter_Gfx:: + .incbin "graphics/roulette/center.4bpp.lz" -gUnknown_08DBE838:: @ 0x08DBE838 - .incbin "baserom.gba", 0xdbe838, 0x20 + .align 2 +gRouletteHeadersTiles:: @ 8E824BC + .incbin "graphics/roulette/headers.4bpp.lz" -gUnknown_08DBE858:: @ 0x08DBE858 - .incbin "baserom.gba", 0xdbe858, 0x20 + .align 2 +gRouletteCreditTiles:: @ 8E82AE0 + .incbin "graphics/roulette/credit.4bpp.lz" -gUnknown_08DBE878:: @ 0x08DBE878 - .incbin "baserom.gba", 0xdbe878, 0x20 + .align 2 +gRouletteNumbersTiles:: @ 8E82C30 + .incbin "graphics/roulette/numbers.4bpp.lz" -gUnknown_08DBE898:: @ 0x08DBE898 - .incbin "baserom.gba", 0xdbe898, 0x20 + .align 2 +gRouletteMultiplierTiles:: @ 8E82D14 + .incbin "graphics/roulette/multiplier.4bpp.lz" -gUnknown_08DBE8B8:: @ 0x08DBE8B8 - .incbin "baserom.gba", 0xdbe8b8, 0x20 + .align 2 +gMailPalette_Orange:: @ 0x08DBE818 + .incbin "graphics/mail/orange/palette.gbapal" -gUnknown_08DBE8D8:: @ 0x08DBE8D8 - .incbin "baserom.gba", 0xdbe8d8, 0x20 + .align 2 +gMailPalette_Harbor:: @ 0x08DBE838 + .incbin "graphics/mail/harbor/palette.gbapal" -gUnknown_08DBE8F8:: @ 0x08DBE8F8 - .incbin "baserom.gba", 0xdbe8f8, 0x20 + .align 2 +gMailPalette_Glitter:: @ 0x08DBE858 + .incbin "graphics/mail/glitter/palette.gbapal" -gUnknown_08DBE918:: @ 0x08DBE918 - .incbin "baserom.gba", 0xdbe918, 0x20 + .align 2 +gMailPalette_Mech:: @ 0x08DBE878 + .incbin "graphics/mail/mech/palette.gbapal" -gUnknown_08DBE938:: @ 0x08DBE938 - .incbin "baserom.gba", 0xdbe938, 0x20 + .align 2 +gMailPalette_Wood:: @ 0x08DBE898 + .incbin "graphics/mail/wood/palette.gbapal" -gUnknown_08DBE958:: @ 0x08DBE958 - .incbin "baserom.gba", 0xdbe958, 0x20 + .align 2 +gMailPalette_Wave:: @ 0x08DBE8B8 + .incbin "graphics/mail/wave/palette.gbapal" -gUnknown_08DBE978:: @ 0x08DBE978 - .incbin "baserom.gba", 0xdbe978, 0x20 + .align 2 +gMailPalette_Bead:: @ 0x08DBE8D8 + .incbin "graphics/mail/bead/palette.gbapal" -gUnknown_08DBE998:: @ 0x08DBE998 - .incbin "baserom.gba", 0xdbe998, 0x1a0 + .align 2 +gMailPalette_Shadow:: @ 0x08DBE8F8 + .incbin "graphics/mail/shadow/palette.gbapal" -gUnknown_08DBEB38:: @ 0x08DBEB38 - .incbin "baserom.gba", 0xdbeb38, 0x13c + .align 2 +gMailPalette_Tropic:: @ 0x08DBE918 + .incbin "graphics/mail/tropic/palette.gbapal" -gUnknown_08DBEC74:: @ 0x08DBEC74 - .incbin "baserom.gba", 0xdbec74, 0x210 + .align 2 +gMailPalette_Dream:: @ 0x08DBE938 + .incbin "graphics/mail/dream/palette.gbapal" -gUnknown_08DBEE84:: @ 0x08DBEE84 - .incbin "baserom.gba", 0xdbee84, 0xd8 + .align 2 +gMailPalette_Fab:: @ 0x08DBE958 + .incbin "graphics/mail/fab/palette.gbapal" -gUnknown_08DBEF5C:: @ 0x08DBEF5C - .incbin "baserom.gba", 0xdbef5c, 0x1f8 + .align 2 +gMailPalette_Retro:: @ 0x08DBE978 + .incbin "graphics/mail/retro/palette.gbapal" -gUnknown_08DBF154:: @ 0x08DBF154 - .incbin "baserom.gba", 0xdbf154, 0x180 + .align 2 +gMailTiles_Orange:: @ 0x08DBE998 + .incbin "graphics/mail/orange/tiles.4bpp.lz" -gUnknown_08DBF2D4:: @ 0x08DBF2D4 - .incbin "baserom.gba", 0xdbf2d4, 0xa8 + .align 2 +gMailTiles_Harbor:: @ 0x08DBEB38 + .incbin "graphics/mail/harbor/tiles.4bpp.lz" -gUnknown_08DBF37C:: @ 0x08DBF37C - .incbin "baserom.gba", 0xdbf37c, 0x190 + .align 2 +gMailTiles_Glitter:: @ 0x08DBEC74 + .incbin "graphics/mail/glitter/tiles.4bpp.lz" -gUnknown_08DBF50C:: @ 0x08DBF50C - .incbin "baserom.gba", 0xdbf50c, 0x140 + .align 2 +gMailTiles_Mech:: @ 0x08DBEE84 + .incbin "graphics/mail/mech/tiles.4bpp.lz" -gUnknown_08DBF64C:: @ 0x08DBF64C - .incbin "baserom.gba", 0xdbf64c, 0x168 + .align 2 +gMailTiles_Wood:: @ 0x08DBEF5C + .incbin "graphics/mail/wood/tiles.4bpp.lz" -gUnknown_08DBF7B4:: @ 0x08DBF7B4 - .incbin "baserom.gba", 0xdbf7b4, 0x150 + .align 2 +gMailTiles_Wave:: @ 0x08DBF154 + .incbin "graphics/mail/wave/tiles.4bpp.lz" -gUnknown_08DBF904:: @ 0x08DBF904 - .incbin "baserom.gba", 0xdbf904, 0x2a0 + .align 2 +gMailTiles_Bead:: @ 0x08DBF2D4 + .incbin "graphics/mail/bead/tiles.4bpp.lz" -gUnknown_08DBFBA4:: @ 0x08DBFBA4 - .incbin "baserom.gba", 0xdbfba4, 0xd8 + .align 2 +gMailTiles_Shadow:: @ 0x08DBF37C + .incbin "graphics/mail/shadow/tiles.4bpp.lz" -gUnknown_08DBFC7C:: @ 0x08DBFC7C - .incbin "baserom.gba", 0xdbfc7c, 0xe0 + .align 2 +gMailTiles_Tropic:: @ 0x08DBF50C + .incbin "graphics/mail/tropic/tiles.4bpp.lz" -gUnknown_08DBFD5C:: @ 0x08DBFD5C - .incbin "baserom.gba", 0xdbfd5c, 0x10c + .align 2 +gMailTiles_Dream:: @ 0x08DBF64C + .incbin "graphics/mail/dream/tiles.4bpp.lz" -gUnknown_08DBFE68:: @ 0x08DBFE68 - .incbin "baserom.gba", 0xdbfe68, 0xdc + .align 2 +gMailTiles_Fab:: @ 0x08DBF7B4 + .incbin "graphics/mail/fab/tiles.4bpp.lz" -gUnknown_08DBFF44:: @ 0x08DBFF44 - .incbin "baserom.gba", 0xdbff44, 0xf0 + .align 2 +gMailTiles_Retro:: @ 0x08DBF904 + .incbin "graphics/mail/retro/tiles.4bpp.lz" -gUnknown_08DC0034:: @ 0x08DC0034 - .incbin "baserom.gba", 0xdc0034, 0xe0 + .align 2 +gMailTilemap_Orange:: @ 0x08DBFBA4 + .incbin "graphics/mail/orange/map.bin.lz" -gUnknown_08DC0114:: @ 0x08DC0114 - .incbin "baserom.gba", 0xdc0114, 0xe0 + .align 2 +gMailTilemap_Harbor:: @ 0x08DBFC7C + .incbin "graphics/mail/harbor/map.bin.lz" -gUnknown_08DC01F4:: @ 0x08DC01F4 - .incbin "baserom.gba", 0xdc01f4, 0x10c + .align 2 +gMailTilemap_Glitter:: @ 0x08DBFD5C + .incbin "graphics/mail/glitter/map.bin.lz" -gUnknown_08DC0300:: @ 0x08DC0300 - .incbin "baserom.gba", 0xdc0300, 0xf0 + .align 2 +gMailTilemap_Mech:: @ 0x08DBFE68 + .incbin "graphics/mail/mech/map.bin.lz" -gUnknown_08DC03F0:: @ 0x08DC03F0 - .incbin "baserom.gba", 0xdc03f0, 0xf8 + .align 2 +gMailTilemap_Wood:: @ 0x08DBFF44 + .incbin "graphics/mail/wood/map.bin.lz" -gUnknown_08DC04E8:: @ 0x08DC04E8 - .incbin "baserom.gba", 0xdc04e8, 0x118 + .align 2 +gMailTilemap_Wave:: @ 0x08DC0034 + .incbin "graphics/mail/wave/map.bin.lz" -gUnknown_08DC0600:: @ 0x08DC0600 - .incbin "baserom.gba", 0xdc0600, 0x114 + .align 2 +gMailTilemap_Bead:: @ 0x08DC0114 + .incbin "graphics/mail/bead/map.bin.lz" -gUnknown_08DC0714:: @ 8DC0714 - .incbin "baserom.gba", 0xdc0714, 0x40 + .align 2 +gMailTilemap_Shadow:: @ 0x08DC01F4 + .incbin "graphics/mail/shadow/map.bin.lz" -gUnknown_08DC0754:: @ 8DC0754 - .incbin "baserom.gba", 0xdc0754, 0x440 + .align 2 +gMailTilemap_Tropic:: @ 0x08DC0300 + .incbin "graphics/mail/tropic/map.bin.lz" -gUnknown_08DC0B94:: @ 8DC0B94 - .incbin "baserom.gba", 0xdc0b94, 0xb62 + .align 2 +gMailTilemap_Dream:: @ 0x08DC03F0 + .incbin "graphics/mail/dream/map.bin.lz" -gUnknown_08DC16F6:: @ 8DC16F6 - .incbin "baserom.gba", 0xdc16f6, 0x60 + .align 2 +gMailTilemap_Fab:: @ 0x08DC04E8 + .incbin "graphics/mail/fab/map.bin.lz" -gUnknown_08DC1756:: @ 8DC1756 - .incbin "baserom.gba", 0xdc1756, 0x60 + .align 2 +gMailTilemap_Retro:: @ 0x08DC0600 + .incbin "graphics/mail/retro/map.bin.lz" -gUnknown_08DC17B6:: @ 8DC17B6 - .incbin "baserom.gba", 0xdc17b6, 0xc0 + .align 2 +gFrontierFactorySelectMenu_Pal:: @ 8DC0714 + .incbin "graphics/battle_frontier/factory_menu1.gbapal" + .incbin "graphics/battle_frontier/factory_menu2.gbapal" -gUnknown_08DC1876:: @ 8DC1876 - .incbin "baserom.gba", 0xdc1876, 0xbe + .align 2 +gFrontierFactorySelectMenu_Gfx:: @ 8DC0754 + .incbin "graphics/battle_frontier/factory_menu1.4bpp" + .incbin "graphics/battle_frontier/factory_menu2.4bpp" -gUnknown_08DC1934:: @ 8DC1934 - .incbin "baserom.gba", 0xdc1934, 0x10d4 + .align 2 +gFrontierFactorySelectMenu_Tilemap:: @ 8DC0B94 + .incbin "graphics/battle_frontier/factory_menu.bin" + .align 2 +gFrontierPassMedals_Gfx:: @ 8DC1394 + .incbin "graphics/frontier_pass/medals.4bpp.lz" @ battle frontier medals + + .align 2 +gFrontierPassCursor_Pal:: @ 8DC1674 + .incbin "graphics/frontier_pass/cursor.gbapal" @ frontier pass cursor pal + + .align 2 +gFrontierPassMapCursor_Pal:: @ 8DC1694 + .incbin "graphics/frontier_pass/map_cursor.gbapal" @ frontier pass map cursor pal + + .align 2 +gFrontierPassMedalsSilver_Pal:: @ 8DC16B4 + .incbin "graphics/frontier_pass/silver.gbapal" + + .align 2 +gFrontierPassMedalsGold_Pal:: @ 8DC16D4 + .incbin "graphics/frontier_pass/gold.gbapal" + + .align 2 +gPokedexText_Pal:: @ 8DC16F4 + .incbin "graphics/pokedex/text.gbapal" + + .align 2 +gPokedexCaughtScreenFade_Pal:: @ 8DC1756 + .incbin "graphics/pokedex/fade.gbapal" + + .align 2 +gPokedexHoennBg_Pal:: @ 8DC17B6 + .incbin "graphics/pokedex/hoenn_bg.gbapal" + + .align 2 +gPokedexNationalBg_Pal:: @ 8DC1876 + .incbin "graphics/pokedex/national_bg.gbapal" + + .align 2 +gPokedexMenu_Gfx:: @ 8DC1934 + .incbin "graphics/pokedex/menu.4bpp.lz" + + .align 2 +gPokedexMenu2_Gfx:: @ 8DC234C + .incbin "graphics/pokedex/menu2.4bpp.lz" + + .align 2 + .incbin "graphics/pokedex/noball_unused.4bpp.lz" @ unused + + @ these are a series of 9 tilemaps used for something pokedex related. + + .align 2 gUnknown_08DC2A08:: @ 8DC2A08 - .incbin "baserom.gba", 0xdc2a08, 0x114 + .incbin "graphics/pokedex/tilemap1.bin.lz" + .align 2 gUnknown_08DC2B1C:: @ 8DC2B1C - .incbin "baserom.gba", 0xdc2b1c, 0x140 + .incbin "graphics/pokedex/tilemap2.bin.lz" + .align 2 gUnknown_08DC2C5C:: @ 8DC2C5C - .incbin "baserom.gba", 0xdc2c5c, 0x150 + .incbin "graphics/pokedex/tilemap3.bin.lz" + .align 2 gUnknown_08DC2DAC:: @ 8DC2DAC - .incbin "baserom.gba", 0xdc2dac, 0xc0 + .incbin "graphics/pokedex/tilemap4.bin.lz" + .align 2 gUnknown_08DC2E6C:: @ 8DC2E6C - .incbin "baserom.gba", 0xdc2e6c, 0xf0 + .incbin "graphics/pokedex/tilemap5.bin.lz" + .align 2 gUnknown_08DC2F5C:: @ 8DC2F5C - .incbin "baserom.gba", 0xdc2f5c, 0x90 + .incbin "graphics/pokedex/tilemap6.bin.lz" + .align 2 gUnknown_08DC2FEC:: @ 8DC2FEC - .incbin "baserom.gba", 0xdc2fec, 0x94 + .incbin "graphics/pokedex/tilemap7.bin.lz" + .align 2 gUnknown_08DC3080:: @ 8DC3080 - .incbin "baserom.gba", 0xdc3080, 0x118 + .incbin "graphics/pokedex/tilemap8.bin.lz" + .align 2 gUnknown_08DC3198:: @ 8DC3198 - .incbin "baserom.gba", 0xdc3198, 0xee + .incbin "graphics/pokedex/tilemap9.bin.lz" @ all tilemaps -gUnknown_08DC3286:: @ 8DC3286 - .incbin "baserom.gba", 0xdc3286, 0x7e + .align 2 +gPokedexSearchMenu_Pal:: @ 8DC3284 + .incbin "graphics/pokedex/search_menu.gbapal" -gUnknown_08DC3304:: @ 8DC3304 - .incbin "baserom.gba", 0xdc3304, 0x56c + .align 2 +gPokedexSearchMenu_Gfx:: @ 8DC3304 + .incbin "graphics/pokedex/search_menu.4bpp.lz" -gUnknown_08DC3870:: @ 8DC3870 - .incbin "baserom.gba", 0xdc3870, 0x19c + .align 2 +gPokedexSearch1_Tilemap:: @ 8DC3870 + .incbin "graphics/pokedex/search1.bin.lz" -gUnknown_08DC3A0C:: @ 8DC3A0C - .incbin "baserom.gba", 0xdc3a0c, 0x2c8 + .align 2 +gPokedexSearch2_Tilemap:: @ 8DC3A0C + .incbin "graphics/pokedex/search2.bin.lz" -gUnknown_08DC3CD4:: @ 8DC3CD4 - .incbin "baserom.gba", 0xdc3cd4, 0x80 + .align 2 +gSummaryScreenPowAcc_Tilemap:: @ 8DC3B94 + .incbin "graphics/interface/powacc_tilemap.bin" @ pow/acc tilemap + + .align 2 +gUnknown_08DC3C34:: @ 8DC3C34 + .incbin "graphics/interface/unk_tilemap.bin" @ probably trade summary screen related? cant check + + .align 2 +gSummaryScreenWindow_Tilemap:: @ 8DC3CD4 + .incbin "graphics/interface/summary.bin" .align 2 gIntroCopyright_Pal:: @ 8DC3D54 @@ -1103,232 +4236,664 @@ gIntroCopyright_Tilemap:: @ 8DC3FD4 .incbin "graphics/intro/copyright.bin.lz" .align 2 -gUnknown_08DC4120:: @ 8DC4120 - .incbin "baserom.gba", 0xdc4120, 0x20 +gPokedexAreaScreenAreaUnknown_Pal:: @ 8DC4120 + .incbin "graphics/pokedex/area_unknown.gbapal" -gUnknown_08DC4140:: @ 8DC4140 - .incbin "baserom.gba", 0xdc4140, 0x1d8 + .align 2 +gPokedexAreaScreenAreaUnknown_Gfx:: @ 8DC4140 + .incbin "graphics/pokedex/area_unknown.4bpp.lz" -gUnknown_08DC4318:: @ 8DC4318 - .incbin "baserom.gba", 0xdc4318, 0x20 + @ seems to be fire red leftovers, but the menu elements is reused in the item menu for TM descriptions. -gUnknown_08DC4338:: @ 8DC4338 - .incbin "baserom.gba", 0xdc4338, 0x20 + .align 2 +gFireRedMenuElements1_Pal:: @ 8DC4318 + .incbin "graphics/interface_fr/menu1.gbapal" -gUnknown_08DC4358:: @ 8DC4358 - .incbin "baserom.gba", 0xdc4358, 0x20 + .align 2 +gFireRedMenuElements2_Pal:: @ 8DC4338 + .incbin "graphics/interface_fr/menu2.gbapal" -gUnknown_08DC4378:: @ 8DC4378 - .incbin "baserom.gba", 0xdc4378, 0x2000 + .align 2 +gFireRedMenuElements3_Pal:: @ 8DC4358 + .incbin "graphics/interface_fr/menu3.gbapal" -gUnknown_08DC6378:: @ 8DC6378 - .incbin "baserom.gba", 0xdc6378, 0x80 + .align 2 +gFireRedMenuElements_Gfx:: @ 8DC4378 + .incbin "graphics/interface_fr/menu.4bpp" @ the types are reused for item menu + .align 2 +gBagMenuHMIcon_Gfx:: @ 8DC6378 + .incbin "graphics/interface/hm.4bpp" + + @ contest link stuff, appears to be a set of tilemaps + + .align 2 gUnknown_08DC63F8:: @ 8DC63F8 - .incbin "baserom.gba", 0xdc63f8, 0x28 + .incbin "graphics/contest/clink_tilemap1.bin" + .align 2 gUnknown_08DC6420:: @ 8DC6420 - .incbin "baserom.gba", 0xdc6420, 0x28 + .incbin "graphics/contest/clink_tilemap2.bin" + .align 2 gUnknown_08DC6448:: @ 8DC6448 - .incbin "baserom.gba", 0xdc6448, 0x28 + .incbin "graphics/contest/clink_tilemap3.bin" + .align 2 gUnknown_08DC6470:: @ 8DC6470 - .incbin "baserom.gba", 0xdc6470, 0x28 + .incbin "graphics/contest/clink_tilemap4.bin" + .align 2 gUnknown_08DC6498:: @ 8DC6498 - .incbin "baserom.gba", 0xdc6498, 0x14 + .incbin "graphics/contest/clink_tilemap5.bin" + .align 2 gUnknown_08DC64AC:: @ 8DC64AC - .incbin "baserom.gba", 0xdc64ac, 0x14 + .incbin "graphics/contest/clink_tilemap6.bin" + .align 2 gUnknown_08DC64C0:: @ 8DC64C0 - .incbin "baserom.gba", 0xdc64c0, 0x14 + .incbin "graphics/contest/clink_tilemap7.bin" + .align 2 gUnknown_08DC64D4:: @ 8DC64D4 - .incbin "baserom.gba", 0xdc64d4, 0x14 + .incbin "graphics/contest/clink_tilemap8.bin" + .align 2 gUnknown_08DC64E8:: @ 8DC64E8 - .incbin "baserom.gba", 0xdc64e8, 0x14 + .incbin "graphics/contest/clink_tilemap9.bin" + .align 2 gUnknown_08DC64FC:: @ 8DC64FC - .incbin "baserom.gba", 0xdc64fc, 0x14 + .incbin "graphics/contest/clink_tilemap10.bin" + .align 2 gUnknown_08DC6510:: @ 8DC6510 - .incbin "baserom.gba", 0xdc6510, 0x18 + .incbin "graphics/contest/clink_tilemap11.bin" -gUnknown_08DC6528:: @ 8DC6528 - .incbin "baserom.gba", 0xdc6528, 0x20 + @ pokenav -gUnknown_08DC6548:: @ 8DC6548 - .incbin "baserom.gba", 0xdc6548, 0x8b4 + .align 2 +gPokenavCondition_Pal:: @ 8DC6528 + .incbin "graphics/pokenav/condition.gbapal" -gUnknown_08DC6DFC:: @ 8DC6DFC - .incbin "baserom.gba", 0xdc6dfc, 0x274 + .align 2 +gPokenavCondition_Gfx:: @ 8DC6548 + .incbin "graphics/pokenav/condition.4bpp.lz" -gUnknown_08DC7070:: @ 8DC7070 - .incbin "baserom.gba", 0xdc7070, 0xaf0 + .align 2 +gPokenavCondition_Tilemap:: @ 8DC6DFC + .incbin "graphics/pokenav/condition.bin.lz" -gUnknown_08DC7B60:: @ 8DC7B60 - .incbin "baserom.gba", 0xdc7b60, 0x20 + .align 2 +gPokenavOptions_Tilemap:: @ 8DC7070 + .incbin "graphics/pokenav/options/options.bin" -gUnknown_08DC7B80:: @ 8DC7B80 - .incbin "baserom.gba", 0xdc7b80, 0x204 + .align 2 +gPokenavOptions_Gfx:: + .incbin "graphics/pokenav/options/options.4bpp.lz" -gUnknown_08DC7D84:: @ 8DC7D84 - .incbin "baserom.gba", 0xdc7d84, 0x17c + .align 2 +gPokenavOptions_Pal:: + .incbin "graphics/pokenav/options/options.gbapal" -gUnknown_08DC7F00:: @ 8DC7F00 - .incbin "baserom.gba", 0xdc7f00, 0x11c0 + .align 2 +gPokenavHeader_Pal:: @ 8DC7B60 + .incbin "graphics/pokenav/header.gbapal" -gUnknown_08DC90C0:: @ 8DC90C0 - .incbin "baserom.gba", 0xdc90c0, 0x20 + .align 2 +gPokenavHeader_Gfx:: @ 8DC7B80 + .incbin "graphics/pokenav/header.4bpp.lz" @ TODO: use width 9 and makefile rule for cleanliness, make wasnt behaving, didnt want to apply num_tiles to this -gUnknown_08DC90E0:: @ 8DC90E0 - .incbin "baserom.gba", 0xdc90e0, 0x50 + .align 2 +gPokenavHeader_Tilemap:: @ 8DC7D84 + .incbin "graphics/pokenav/header.bin.lz" -gUnknown_08DC9130:: @ 8DC9130 - .incbin "baserom.gba", 0xdc9130, 0xb8 + .align 2 +gPokenavLeftHeader_Pal:: @ 8DC7F00 + .incbin "graphics/pokenav/left_headers/palette.gbapal" -gUnknown_08DC91E8:: @ 8DC91E8 - .incbin "baserom.gba", 0xdc91e8, 0x420 + .align 2 +gPokenavLeftHeaderBeauty_Gfx:: @ 8DC7FA0 + .incbin "graphics/pokenav/left_headers/beauty.4bpp.lz" -gUnknown_08DC9608:: @ 8DC9608 - .incbin "baserom.gba", 0xdc9608, 0x20 + .align 2 +gPokenavLeftHeaderSmart_Gfx:: @ 8DC80DC + .incbin "graphics/pokenav/left_headers/smart.4bpp.lz" -gUnknown_08DC9628:: @ 8DC9628 - .incbin "baserom.gba", 0xdc9628, 0x2788 + .align 2 +gPokenavLeftHeaderCondition_Gfx:: @ 8DC8208 + .incbin "graphics/pokenav/left_headers/condition.4bpp.lz" -gUnknown_08DCBDB0:: @ 8DCBDB0 - .incbin "baserom.gba", 0xdcbdb0, 0x20 + .align 2 +gPokenavLeftHeaderCute_Gfx:: @ 8DC838C + .incbin "graphics/pokenav/left_headers/cute.4bpp.lz" -gUnknown_08DCBDD0:: @ 8DCBDD0 - .incbin "baserom.gba", 0xdcbdd0, 0x140 + .align 2 +gPokenavLeftHeaderMatchCall_Gfx:: @ 8DC84AC + .incbin "graphics/pokenav/left_headers/match_call.4bpp.lz" -gUnknown_08DCBF10:: @ 8DCBF10 - .incbin "baserom.gba", 0xdcbf10, 0x10c + .align 2 +gPokenavLeftHeaderMainMenu_Gfx:: @ 8DC864C + .incbin "graphics/pokenav/left_headers/main_menu.4bpp.lz" -gUnknown_08DCC01C:: @ 8DCC01C - .incbin "baserom.gba", 0xdcc01c, 0x20 + .align 2 +gPokenavLeftHeaderHoennMap_Gfx:: @ 8DC87F8 + .incbin "graphics/pokenav/left_headers/hoenn_map.4bpp.lz" -gUnknown_08DCC03C:: @ 8DCC03C - .incbin "baserom.gba", 0xdcc03c, 0x20 + .align 2 +gPokenavLeftHeaderRibbons_Gfx:: @ 8DC8AA4 + .incbin "graphics/pokenav/left_headers/ribbons.4bpp.lz" -gUnknown_08DCC05C:: @ 8DCC05C - .incbin "baserom.gba", 0xdcc05c, 0x5ec + .align 2 +gPokenavLeftHeaderSearch_Gfx:: @ 8DC8C14 + .incbin "graphics/pokenav/left_headers/search.4bpp.lz" + .align 2 +gPokenavLeftHeaderTough_Gfx:: @ 8DC8D50 + .incbin "graphics/pokenav/left_headers/tough.4bpp.lz" + + .align 2 +gPokenavLeftHeaderCool_Gfx:: @ 8DC8E64 + .incbin "graphics/pokenav/left_headers/cool.4bpp.lz" + + .align 2 +gPokenavLeftHeaderParty_Gfx:: @ 8DC8F64 + .incbin "graphics/pokenav/left_headers/party.4bpp.lz" + + .align 2 +gPokenavMessageBox_Pal:: @ 8DC90C0 + .incbin "graphics/pokenav/message.gbapal" + + .align 2 +gPokenavMessageBox_Gfx:: @ 8DC90E0 + .incbin "graphics/pokenav/message.4bpp.lz" + + .align 2 +gPokenavMessageBox_Tilemap:: @ 8DC9130 + .incbin "graphics/pokenav/message.bin.lz" + + .align 2 +gHoennMapZoomIcons_Pal:: @ 8DC91E8 + .incbin "graphics/pokenav/zoom.gbapal" + + .align 2 +gHoennMapZoomIcons_Gfx:: @ 8DC9208 + .incbin "graphics/pokenav/zoom.4bpp.lz" + + .align 2 +gPokenavConditionCancel_Pal:: + .incbin "graphics/pokenav/cancel.gbapal" + + .align 2 +gPokenavConditionCancel_Gfx:: + .incbin "graphics/pokenav/cancel.4bpp" + + .align 2 +gPokenavConditionMarker_Pal:: @ 8DC9608 + .incbin "graphics/pokenav/marker.gbapal" + + .align 2 +gPokenavConditionMarker_Gfx:: @ 8DC9628 + .incbin "graphics/pokenav/marker.4bpp" + + .align 2 +gBerryBlenderMiscPalette:: @ 8DCAB88 + .incbin "graphics/berry_blender/misc.gbapal" + + .align 2 +gBerryBlenderArrowPalette:: @ 8DC9948 + .incbin "graphics/berry_blender/arrow.gbapal" + + .align 2 +gBerryBlenderBetaArrow_Gfx:: @ 8DC9988 + .incbin "graphics/berry_blender/arrow_old.4bpp" @ unused + + .align 2 +gBerryBlenderMarubatsuTiles:: @ 8DC9B88 + .incbin "graphics/berry_blender/marubatsu.4bpp" + + .align 2 +gBerryBlenderParticlesTiles:: @ 8E90818 + .incbin "graphics/berry_blender/particles.4bpp" + + .space 0x120 + + .align 2 +gBerryBlenderCountdownNumbersTiles:: @ 8DC9F88 + .incbin "graphics/berry_blender/countdown_numbers.4bpp" + + .align 2 +gBerryBlenderStartTiles:: @ 8DCA588 + .incbin "graphics/berry_blender/start.4bpp" + + .space 0x200 + + .align 2 +gBerryBlenderArrowTiles:: @ 8DCAB88 + .incbin "graphics/berry_blender/arrow.4bpp" + + .space 0x2C0 + + .align 2 +gEasyChatCursor_Pal:: @ 8DCB648 + .incbin "graphics/easy_chat/cursor.gbapal" + + .align 2 +gEasyChatCursor_Gfx:: @ 8DCB668 + .incbin "graphics/easy_chat/cursor.4bpp.lz" + + .align 2 +gEasyChatRightWindow_Pal:: @ 8DCB86C + .incbin "graphics/easy_chat/rwindow.gbapal" + + .align 2 +gEasyChatRightWindow_Gfx:: @ 8DCB88C + .incbin "graphics/easy_chat/rwindow.4bpp.lz" + + .align 2 +gEasyChatMode_Gfx:: @ 8DCBAB0 + .incbin "graphics/easy_chat/mode.4bpp.lz" + + .align 2 +gEasyChatMode_Pal:: @ 8DCBDB0 + .incbin "graphics/easy_chat/mode.gbapal" + + .align 2 +gEasyChatWindow_Gfx:: @ 8DCBDD0 + .incbin "graphics/easy_chat/window.4bpp.lz" @ uses mode pal + + .align 2 +gEasyChatWindow_Tilemap:: @ 8DCBF10 + .incbin "graphics/easy_chat/window.bin.lz" + + .align 2 +gWallclockMale_Pal:: @ 8DCC01C + .incbin "graphics/interface/wallclock_male.gbapal" + + .align 2 +gWallclockFemale_Pal:: @ 8DCC03C + .incbin "graphics/interface/wallclock_female.gbapal" + + .align 2 +gWallclock_Gfx:: @ 8DCC05C + .incbin "graphics/interface/wallclock.4bpp.lz" + + .align 2 gUnknown_08DCC648:: @ 8DCC648 - .incbin "baserom.gba", 0xdcc648, 0x2c0 + .incbin "graphics/interface/wallclock1.bin.lz" + .align 2 gUnknown_08DCC908:: @ 8DCC908 - .incbin "baserom.gba", 0xdcc908, 0x2b0 + .incbin "graphics/interface/wallclock2.bin.lz" -gUnknown_08DCCBB8:: @ 8DCCBB8 - .incbin "baserom.gba", 0xdccbb8, 0x3a4 + .align 2 +gUsePokeblockCondition_Pal:: @ 8DCCB98 + .incbin "graphics/pokeblock/use_screen/condition.gbapal" -gUnknown_08DCCF5C:: @ 8DCCF5C - .incbin "baserom.gba", 0xdccf5c, 0x20 + .align 2 +gUsePokeblockCondition_Gfx:: @ 8DCCBB8 + .incbin "graphics/pokeblock/use_screen/condition.4bpp.lz" -gUnknown_08DCCF7C:: @ 8DCCF7C - .incbin "baserom.gba", 0xdccf7c, 0x8a0 + .align 2 +gUsePokeblockUpDown_Pal:: @ 8DCCD3C + .incbin "graphics/pokeblock/use_screen/updown.gbapal" -gUnknown_08DCD81C:: @ 8DCD81C - .incbin "baserom.gba", 0xdcd81c, 0x214 + .align 2 +gUsePokeblockUpDown_Gfx:: @ 8DCCD5C + .incbin "graphics/pokeblock/use_screen/updown.4bpp" -gUnknown_08DCDA30:: @ 8DCDA30 - .incbin "baserom.gba", 0xdcda30, 0x60 + .align 2 +gUsePokeblockGraph_Pal:: @ 8DCCF5C + .incbin "graphics/pokeblock/use_screen/graph.gbapal" -gUnknown_08DCDA90:: @ 8DCDA90 - .incbin "baserom.gba", 0xdcda90, 0xa0 + .align 2 +gUsePokeblockGraph_Gfx:: @ 8DCCF7C + .incbin "graphics/pokeblock/use_screen/graph.4bpp.lz" -gUnknown_08DCDB30:: @ 8DCDB30 - .incbin "baserom.gba", 0xdcdb30, 0xc40 + .align 2 +gUsePokeblockGraph_Tilemap:: @ 8DCD81C + .incbin "graphics/pokeblock/use_screen/graph.bin.lz" -gUnknown_08DCE770:: @ 8DCE770 - .incbin "baserom.gba", 0xdce770, 0x500 + .align 2 +gUsePokeblockNatureWin_Pal:: @ 8DCDA30 + .incbin "graphics/pokeblock/use_screen/nature.gbapal" + @ slot machine + + .align 2 +gSlotMachineMenu_Pal:: @ 8DCDA90 + .incbin "graphics/slot_machine/menu.gbapal" + + .align 2 +gSlotMachineMenu_Gfx:: @ 8DCDB30 + .incbin "graphics/slot_machine/menu.4bpp.lz" + + .align 2 +gSlotMachineMenu_Tilemap:: @ 8DCE770 + .incbin "graphics/slot_machine/menu.bin" + + .align 2 gUnknown_08DCEC70:: @ 8DCEC70 - .incbin "baserom.gba", 0xdcec70, 0x13e0 + .incbin "graphics/slot_machine/slots_layout.bin" -gUnknown_08DD0050:: @ 8DD0050 - .incbin "baserom.gba", 0xdd0050, 0x1a68 + .align 2 +gUnknown_08DCF170:: + .incbin "graphics/slot_machine/reel_symbols/1.gbapal" -gUnknown_08DD1AB8:: @ 8DD1AB8 - .incbin "baserom.gba", 0xdd1ab8, 0x4c0 + .align 2 +gUnknown_08DCF190:: + .incbin "graphics/slot_machine/reel_pikachu.gbapal" + .align 2 +gUnknown_08DCF1B0:: + .incbin "graphics/slot_machine/shadow.gbapal" + + .align 2 +gSlotMachineReelTime_Pal:: + .incbin "graphics/slot_machine/reel_time.gbapal" + + .align 2 +gUnknown_08DCF1F0:: + .incbin "graphics/slot_machine/smoke.gbapal" @ also duck and pika aura + + .align 2 +gUnknown_08DCF210:: + .incbin "graphics/slot_machine/reel_time_explosion/0.gbapal" + + .align 2 +gUnknown_08DCF230:: + .incbin "graphics/slot_machine/spr6.gbapal" @ huh? + + .align 2 +gSlotMachineReelSymbol1Tiles:: @ 8DCF250 + .incbin "graphics/slot_machine/reel_symbols/1.4bpp" + + .align 2 +gSlotMachineReelSymbol2Tiles:: + .incbin "graphics/slot_machine/reel_symbols/2.4bpp" + + .align 2 +gSlotMachineReelSymbol3Tiles:: + .incbin "graphics/slot_machine/reel_symbols/3.4bpp" + + .align 2 +gSlotMachineReelSymbol4Tiles:: + .incbin "graphics/slot_machine/reel_symbols/4.4bpp" + + .align 2 +gSlotMachineReelSymbol5Tiles:: + .incbin "graphics/slot_machine/reel_symbols/5.4bpp" + + .align 2 +gSlotMachineReelSymbol6Tiles:: + .incbin "graphics/slot_machine/reel_symbols/6.4bpp" + + .align 2 +gSlotMachineReelSymbol7Tiles:: + .incbin "graphics/slot_machine/reel_symbols/7.4bpp" + + .align 2 +gSlotMachineReelTime_Gfx:: @ 8DD0050 + .incbin "graphics/slot_machine/reel_time.4bpp.lz" + + .align 2 +gSlotMachineNumber0Tiles:: + .incbin "graphics/slot_machine/numbers/0.4bpp" + + .align 2 +gSlotMachineNumber1Tiles:: + .incbin "graphics/slot_machine/numbers/1.4bpp" + + .align 2 +gSlotMachineNumber2Tiles:: + .incbin "graphics/slot_machine/numbers/2.4bpp" + + .align 2 +gSlotMachineNumber3Tiles:: + .incbin "graphics/slot_machine/numbers/3.4bpp" + + .align 2 +gSlotMachineNumber4Tiles:: + .incbin "graphics/slot_machine/numbers/4.4bpp" + + .align 2 +gSlotMachineNumber5Tiles:: + .incbin "graphics/slot_machine/numbers/5.4bpp" + + .align 2 +gSlotMachineNumber6Tiles:: + .incbin "graphics/slot_machine/numbers/6.4bpp" + + .align 2 +gSlotMachineNumber7Tiles:: + .incbin "graphics/slot_machine/numbers/7.4bpp" + + .align 2 +gSlotMachineNumber8Tiles:: + .incbin "graphics/slot_machine/numbers/8.4bpp" + + .align 2 +gSlotMachineNumber9Tiles:: + .incbin "graphics/slot_machine/numbers/9.4bpp" + + .align 2 +gSlotMachineReelTimeBolt:: + .incbin "graphics/slot_machine/bolt.4bpp" + + .align 2 +gSlotMachineReelTimeDuck:: + .incbin "graphics/slot_machine/duck.4bpp" + + .align 2 +gSlotMachineReelTimeSmoke:: + .incbin "graphics/slot_machine/smoke.4bpp" + + .align 2 +gSlotMachineReelTimeNumber0:: + .incbin "graphics/slot_machine/reel_time_numbers/0.4bpp" + + .align 2 +gSlotMachineReelTimeNumber1:: + .incbin "graphics/slot_machine/reel_time_numbers/1.4bpp" + + .align 2 +gSlotMachineReelTimeNumber2:: + .incbin "graphics/slot_machine/reel_time_numbers/2.4bpp" + + .align 2 +gSlotMachineReelTimeNumber3:: + .incbin "graphics/slot_machine/reel_time_numbers/3.4bpp" + + .align 2 +gSlotMachineReelTimeNumber4:: + .incbin "graphics/slot_machine/reel_time_numbers/4.4bpp" + + .align 2 +gSlotMachineReelTimeNumber5:: + .incbin "graphics/slot_machine/reel_time_numbers/5.4bpp" + + .align 2 +gSlotMachineReelTimeLargeBolt0:: + .incbin "graphics/slot_machine/large_bolt/0.4bpp" + + .align 2 +gSlotMachineReelTimeLargeBolt1:: + .incbin "graphics/slot_machine/large_bolt/1.4bpp" + + .align 2 +gSlotMachineReelTimeExplosion0:: + .incbin "graphics/slot_machine/reel_time_explosion/0.4bpp" + + .align 2 +gSlotMachineReelTimeExplosion1:: + .incbin "graphics/slot_machine/reel_time_explosion/1.4bpp" + + .align 2 +gSlotMachineReelTimeShadow:: + .incbin "graphics/slot_machine/shadow.4bpp" + + .align 2 +gSlotMachineReelTimePikaAura:: + .incbin "graphics/slot_machine/pika_aura.4bpp" + + .align 2 +gUnknown_08DD19F8:: + .incbin "graphics/unknown/unknown_DD19F8.bin" @ might be a palette? + + .align 2 +gUnknown_08DD1A18:: + .incbin "graphics/unknown/unknown_DD1A18.4bpp" + + @ trainer card + + .align 2 +gEmeraldTrainerCard0Star_Pal:: @ 8DD1A58 + .incbin "graphics/trainer_card/0star.gbapal" + + .align 2 +gEmeraldTrainerCard_Gfx:: @ 8DD1AB8 + .incbin "graphics/trainer_card/card.4bpp.lz" + + @ what are these? lz compressed files used for something, cant tell if tilemaps + + .align 2 gUnknown_08DD1F78:: @ 8DD1F78 - .incbin "baserom.gba", 0xdd1f78, 0x98 + .incbin "graphics/unknown/unknown_DD1F78.bin.lz" + .align 2 gUnknown_08DD2010:: @ 8DD2010 - .incbin "baserom.gba", 0xdd2010, 0x1a0 + .incbin "graphics/unknown/unknown_DD2010.bin.lz" + .align 2 gUnknown_08DD21B0:: @ 8DD21B0 - .incbin "baserom.gba", 0xdd21b0, 0xdc + .incbin "graphics/unknown/unknown_DD21B0.bin.lz" + .align 2 gUnknown_08DD228C:: @ 8DD228C - .incbin "baserom.gba", 0xdd228c, 0x1e0 + .incbin "graphics/unknown/unknown_DD228C.bin.lz" -gUnknown_08DD246C:: @ 8DD246C - .incbin "baserom.gba", 0xdd246c, 0x674 + .align 2 +gFireRedTrainerCard0Star_Pal:: @ 8DD240C + .incbin "graphics/trainer_card/0star_fr.gbapal" + .align 2 +gFireRedTrainerCard_Gfx:: @ 8DD246C + .incbin "graphics/trainer_card/card_fr.4bpp.lz" + + @ more of these weird compressed files, probably for the FR trainer card + + .align 2 gUnknown_08DD2AE0:: @ 8DD2AE0 - .incbin "baserom.gba", 0xdd2ae0, 0x98 + .incbin "graphics/unknown/unknown_DD2AE0.bin.lz" + .align 2 gUnknown_08DD2B78:: @ 8DD2B78 - .incbin "baserom.gba", 0xdd2b78, 0x1b8 + .incbin "graphics/unknown/unknown_DD2B78.bin.lz" + .align 2 gUnknown_08DD2D30:: @ 8DD2D30 - .incbin "baserom.gba", 0xdd2d30, 0x12c + .incbin "graphics/unknown/unknown_DD2D30.bin.lz" + .align 2 gUnknown_08DD2E5C:: @ 8DD2E5C - .incbin "baserom.gba", 0xdd2e5c, 0x18c + .incbin "graphics/unknown/unknown_DD2E5C.bin.lz" -gUnknown_08DD2FE8:: @ 8DD2FE8 - .incbin "baserom.gba", 0xdd2fe8, 0x6c0 + @ pokemon storage system -gUnknown_08DD36A8:: @ 8DD36A8 - .incbin "baserom.gba", 0xdd36a8, 0x20 + .align 2 +gPSSMenu_Gfx:: @ 8DD2FE8 + .incbin "graphics/pokemon_storage/menu.4bpp.lz" + .align 2 +gPSSMenu_Pal:: @ 8DD36A8 + .incbin "graphics/pokemon_storage/menu.gbapal" @ pal for the options in the gfx + + .align 2 gUnknown_08DD36C8:: @ 8DD36C8 - .incbin "baserom.gba", 0xdd36c8, 0xb0 + .incbin "graphics/unknown/unknown_DD36C8.bin.lz" -gUnknown_08DD3778:: @ 8DD3778 - .incbin "baserom.gba", 0xdd3778, 0xc0 + @ naming screen -gUnknown_08DD3838:: @ 8DD3838 - .incbin "baserom.gba", 0xdd3838, 0xd0c + .align 2 +gNamingScreenMenu_Pal:: @ 8DD3778 + .incbin "graphics/naming_screen/menu.gbapal" + .align 2 +gNamingScreenMenu_Gfx:: @ 8DD3838 + .incbin "graphics/naming_screen/menu.4bpp.lz" + + .align 2 +gNamingScreenRWindow_Gfx:: @ 8DD3A04 + .incbin "graphics/naming_screen/rwindow.4bpp" + + .align 2 +gNamingScreenROptions_Gfx:: @ 8DD4044 + .incbin "graphics/naming_screen/roptions.4bpp" + + .align 2 +gNamingScreenCursor_Gfx:: @ 8DD4224 + .incbin "graphics/naming_screen/cursor.4bpp" + + .align 2 +gNamingScreenKeyboardButton_Gfx:: @ 8DD43E4 + .incbin "graphics/naming_screen/keyboard_button.4bpp" + + .align 2 +gNamingScreenRightPointingTriangleTiles:: @ 8DD4504 + .incbin "graphics/naming_screen/right_pointing_triangle.4bpp" + + .align 2 +gNamingScreenUnderscoreTiles:: @ 8DD4524 + .incbin "graphics/naming_screen/underscore.4bpp" + + .align 2 gUnknown_08DD4544:: @ 8DD4544 - .incbin "baserom.gba", 0xdd4544, 0xdc + .incbin "graphics/unknown/unknown_DD4544.bin.lz" + .align 2 gUnknown_08DD4620:: @ 8DD4620 - .incbin "baserom.gba", 0xdd4620, 0xc0 + .incbin "graphics/unknown/unknown_DD4620.bin.lz" + .align 2 gUnknown_08DD46E0:: @ 8DD46E0 - .incbin "baserom.gba", 0xdd46e0, 0x180 + .incbin "graphics/unknown/unknown_DD46E0.bin.lz" -gUnknown_08DD4860:: @ 8DD4860 - .incbin "baserom.gba", 0xdd4860, 0x20 + .align 2 +gUnknown_08DD47A0:: @ 8DD47A0 + .incbin "graphics/unknown/unknown_DD47A0.bin.lz" -gUnknown_08DD4880:: @ 8DD4880 - .incbin "baserom.gba", 0xdd4880, 0x238 + @ link -gUnknown_08DD4AB8:: @ 8DD4AB8 - .incbin "baserom.gba", 0xdd4ab8, 0xf8 + .align 2 +gLinkMiscMenu_Pal:: @ 8DD4860 + .incbin "graphics/link/misc.gbapal" + .align 2 +gLinkMiscMenu_Gfx:: @ 8DD4880 + .incbin "graphics/link/misc.4bpp.lz" @ dont know where this is used + + .align 2 +gLinkMiscMenu_Tilemap:: @ 8DD4AB8 + .incbin "graphics/link/misc.bin.lz" + + .align 2 gUnknown_08DD4BB0:: @ 8DD4BB0 - .incbin "baserom.gba", 0xdd4bb0, 0x20 + .incbin "graphics/link/link1.gbapal" + .align 2 gUnknown_08DD4BD0:: @ 8DD4BD0 - .incbin "baserom.gba", 0xdd4bd0, 0x20 + .incbin "graphics/link/link2.gbapal" + .align 2 gUnknown_08DD4BF0:: @ 8DD4BF0 - .incbin "baserom.gba", 0xdd4bf0, 0x5c + .incbin "graphics/link/link_winedge.4bpp.lz" + .align 2 gUnknown_08DD4C4C:: @ 8DD4C4C - .incbin "baserom.gba", 0xdd4c4c, 0xac + .incbin "graphics/link/link_winedge.bin.lz" - .align 2 + .align 2 gUnknown_08DD4CF8:: @ 8DD4CF8 .incbin "graphics/interface/unk_change_case.4bpp.lz" @@ -1355,95 +4920,185 @@ gTilesetPalettes_General:: @ 8DD4E10 gTilesetTiles_General:: @ 8DD5010 .incbin "data/tilesets/primary/general/tiles.4bpp.lz" -@ 8DD72E0 - .incbin "baserom.gba", 0xdd72e0, 0x20 + @ trade/egg hatch -gUnknown_08DD7300:: @ 8DD7300 - .incbin "baserom.gba", 0xdd7300, 0x60 + .align 2 +gTradeGba_Pal:: @ 8DD72E0 + .incbin "graphics/link/gba.gbapal" -gUnknown_08DD7360:: @ 8DD7360 - .incbin "baserom.gba", 0xdd7360, 0x1420 + .align 2 +gTradeGba2_Pal:: @ 8DD7300 + .incbin "graphics/link/gba_pal2.gbapal" @ used for in-game trade GBA? -gUnknown_08DD8780:: @ 8DD8780 - .incbin "baserom.gba", 0xdd8780, 0x40 + .align 2 +gTradeGba_Gfx:: @ 8DD7360 + .incbin "graphics/link/gba.4bpp" -gUnknown_08DD87C0:: @ 8DD87C0 - .incbin "baserom.gba", 0xdd87c0, 0x720 + @ 8DD8760 + .space 0x20 @ blank palette?? -gUnknown_08DD8EE0:: @ 8DD8EE0 - .incbin "baserom.gba", 0xdd8ee0, 0x1a0 + @ berry fix program -gUnknown_08DD9080:: @ 8DD9080 - .incbin "baserom.gba", 0xdd9080, 0x60 + .align 2 +gBerryFixGameboy_Pal:: @ 8DD8780 + .incbin "graphics/berry_fix/gba_small.gbapal" -gUnknown_08DD90E0:: @ 8DD90E0 - .incbin "baserom.gba", 0xdd90e0, 0x638 + .align 2 +gBerryFixGameboy_Gfx:: @ 8DD87C0 + .incbin "graphics/berry_fix/gba_small.4bpp.lz" -gUnknown_08DD9718:: @ 8DD9718 - .incbin "baserom.gba", 0xdd9718, 0x15c + .align 2 +gBerryFixGameboy_Tilemap:: @ 8DD8EE0 + .incbin "graphics/berry_fix/gba_small.bin.lz" -gUnknown_08DD9874:: @ 8DD9874 - .incbin "baserom.gba", 0xdd9874, 0x40 + .align 2 +gBerryFixGameboyLogo_Pal:: @ 8DD9080 + .incbin "graphics/berry_fix/logo.gbapal" -gUnknown_08DD98B4:: @ 8DD98B4 - .incbin "baserom.gba", 0xdd98b4, 0x5a4 + .align 2 +gBerryFixGameboyLogo_Gfx:: @ 8DD90E0 + .incbin "graphics/berry_fix/logo.4bpp.lz" -gUnknown_08DD9E58:: @ 8DD9E58 - .incbin "baserom.gba", 0xdd9e58, 0x194 + .align 2 +gBerryFixGameboyLogo_Tilemap:: @ 8DD9718 + .incbin "graphics/berry_fix/logo.bin.lz" -gUnknown_08DD9FEC:: @ 8DD9FEC - .incbin "baserom.gba", 0xdd9fec, 0x40 + .align 2 +gBerryFixGbaTransfer_Pal:: @ 8DD9874 + .incbin "graphics/berry_fix/gba_transfer.gbapal" -gUnknown_08DDA02C:: @ 8DDA02C - .incbin "baserom.gba", 0xdda02c, 0x610 + .align 2 +gBerryFixGbaTransfer_Gfx:: @ 8DD98B4 + .incbin "graphics/berry_fix/gba_transfer.4bpp.lz" -gUnknown_08DDA63C:: @ 8DDA63C - .incbin "baserom.gba", 0xdda63c, 0x1c4 + .align 2 +gBerryFixGbaTransfer_Tilemap:: @ 8DD9E58 + .incbin "graphics/berry_fix/gba_transfer.bin.lz" -gUnknown_08DDA800:: @ 8DDA800 - .incbin "baserom.gba", 0xdda800, 0x40 + .align 2 +gBerryFixGbaTransferHighlight_Pal:: @ 8DD9FEC + .incbin "graphics/berry_fix/gba_transfer_highlight.gbapal" -gUnknown_08DDA840:: @ 8DDA840 - .incbin "baserom.gba", 0xdda840, 0x600 + .align 2 +gBerryFixGbaTransferHighlight_Gfx:: @ 8DDA02C + .incbin "graphics/berry_fix/gba_transfer_highlight.4bpp.lz" -gUnknown_08DDAE40:: @ 8DDAE40 - .incbin "baserom.gba", 0xddae40, 0x1a0 + .align 2 +gBerryFixGbaTransferHighlight_Tilemap:: @ 8DDA63C + .incbin "graphics/berry_fix/gba_transfer_highlight.bin.lz" -gUnknown_08DDAFE0:: @ 8DDAFE0 - .incbin "baserom.gba", 0xddafe0, 0x40 + .align 2 +gBerryFixGbaTransferError_Pal:: @ 8DDA800 + .incbin "graphics/berry_fix/gba_transfer_error.gbapal" -gUnknown_08DDB020:: @ 8DDB020 - .incbin "baserom.gba", 0xddb020, 0x2a4 + .align 2 +gBerryFixGbaTransferError_Gfx:: @ 8DDA840 + .incbin "graphics/berry_fix/gba_transfer_error.4bpp.lz" -gUnknown_08DDB2C4:: @ 8DDB2C4 - .incbin "baserom.gba", 0xddb2c4, 0x120 + .align 2 +gBerryFixGbaTransferError_Tilemap:: @ 8DDAE40 + .incbin "graphics/berry_fix/gba_transfer_error.bin.lz" + .align 2 +gBerryFixWindow_Pal:: @ 8DDAFE0 + .incbin "graphics/berry_fix/window.gbapal" + + .align 2 +gBerryFixWindow_Gfx:: @ 8DDB020 + .incbin "graphics/berry_fix/window.4bpp.lz" @ why the absurd length? + + .align 2 +gBerryFixWindow_Tilemap:: @ 8DDB2C4 + .incbin "graphics/berry_fix/window.bin.lz" + + @ more trade stuff? + + .align 2 gUnknown_08DDB3E4:: @ 8DDB3E4 - .incbin "baserom.gba", 0xddb3e4, 0x80 + .incbin "graphics/trade/menu.gbapal" + .align 2 +gUnknown_08DDB444:: @ 8DDB444 + .incbin "graphics/unknown/unknown_DDB444.gbapal" + + .align 2 gUnknown_08DDB464:: @ 8DDB464 - .incbin "baserom.gba", 0xddb464, 0x1aa0 + .incbin "graphics/trade/menu.4bpp" + .align 2 +gUnknown_08DDC6E4:: @ 8DDC6E4 + .incbin "graphics/trade/buttons.4bpp" + + .align 2 + .incbin "graphics/unused/unused_DDCEE4.bin" @ unused + + .align 2 gUnknown_08DDCF04:: @ 8DDCF04 - .incbin "baserom.gba", 0xddcf04, 0x800 + .incbin "graphics/unknown/unknown_DDCF04.bin" @ tilemap + .align 2 gUnknown_08DDD704:: @ 8DDD704 - .incbin "baserom.gba", 0xddd704, 0x24 + .incbin "graphics/unknown/unknown_DDD704.bin" @ textbox tilemap?? -gUnknown_08DDD728:: @ 8DDD728 - .incbin "baserom.gba", 0xddd728, 0x20 + .align 2 +gMessageBox_Pal:: @ 8DDD728 + .incbin "graphics/text_window/message_box.gbapal" -gUnknown_08DDD748:: @ 8DDD748 - .incbin "baserom.gba", 0xddd748, 0x8c8 + .align 2 +gMessageBox_Gfx:: @ 8DDD748 + .incbin "graphics/text_window/message_box.4bpp" + .align 2 +gWallpaperIcon_Cross:: + .incbin "graphics/pokemon_storage/cross_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_Bolt:: + .incbin "graphics/pokemon_storage/bolt_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_Plusle:: + .incbin "graphics/pokemon_storage/plusle_icon.4bpp.lz" + + .align 2 +gWallpaperPalettes_Horizontal:: @ 8DDD950 + .incbin "graphics/pokemon_storage/friends_frame2.gbapal" + .incbin "graphics/pokemon_storage/horizontal_bg.gbapal" + + .align 2 +gWallpaperTiles_Horizontal:: @ 8DDD990 + .incbin "graphics/pokemon_storage/horizontal.4bpp.lz" + + .align 2 +gWallpaperTilemap_Horizontal:: @ 8DDDB80 + .incbin "graphics/pokemon_storage/horizontal.bin.lz" + + .align 2 +gWallpaperPalettes_Ribbon:: @ 8DDDC8C + .incbin "graphics/pokemon_storage/ribbon_frame.gbapal" + .incbin "graphics/pokemon_storage/ribbon_bg.gbapal" + + .align 2 +gWallpaperTiles_Ribbon:: @ 8DDDCCC + .incbin "graphics/pokemon_storage/ribbon.4bpp.lz" + + .align 2 +gWallpaperTilemap_Ribbon:: @ 8DDDEDC + .incbin "graphics/pokemon_storage/ribbon.bin.lz" + + @ pokenav + + .align 2 gUnknown_08DDE010:: @ 8DDE010 - .incbin "baserom.gba", 0xdde010, 0x20 + .incbin "graphics/pokenav/ribbons.gbapal" + .align 2 gUnknown_08DDE030:: @ 8DDE030 - .incbin "baserom.gba", 0xdde030, 0xfc + .incbin "graphics/pokenav/ribbons.4bpp.lz" + .align 2 gUnknown_08DDE12C:: @ 8DDE12C - .incbin "baserom.gba", 0xdde12c, 0xcc + .incbin "graphics/pokenav/ribbons.bin.lz" .align 2 gMonIconPalettes:: @ 8DDE1F8 @@ -1462,7 +5117,7 @@ gTitleScreenEmeraldVersionPal:: @ 8DDE438 .align 2 gUnknown_08DDE458:: @ 8DDE458 - .incbin "baserom.gba", 0xdde458, 0x238 + .incbin "graphics/title_screen/title_screen1.bin.lz" gTitleScreenPokemonLogoGfx:: @ 8DDE690 .incbin "graphics/title_screen/pokemon_logo.8bpp.lz" @@ -1481,31 +5136,54 @@ gTitleScreenPressStartGfx:: @ 8DE03E8 .align 2 gUnknown_08DE0644:: @ 8DE0644 - .incbin "baserom.gba", 0xde0644, 0x184 + .incbin "graphics/title_screen/title_screen2.bin.lz" + @ more trainer card stuff + + .align 2 gUnknown_08DE07C8:: @ 8DE07C8 - .incbin "baserom.gba", 0xde07c8, 0x100 + .incbin "graphics/frontier_pass/tiles.gbapal" @ size in LoadPalette calls is reported as 0xD0 << 1, which is 0x1A0, but palette is only 0x100 bytes long so it loads garbage as well + .align 2 gUnknown_08DE08C8:: @ 8DE08C8 - .incbin "baserom.gba", 0xde08c8, 0x17bc + .incbin "graphics/frontier_pass/tiles.4bpp.lz" + .align 2 gUnknown_08DE2084:: @ 8DE2084 - .incbin "baserom.gba", 0xde2084, 0xfdc + .incbin "graphics/frontier_pass/tiles2.8bpp.lz" + .align 2 gUnknown_08DE3060:: @ 8DE3060 - .incbin "baserom.gba", 0xde3060, 0x2f0 + .incbin "graphics/frontier_pass/tiles.bin.lz" + .align 2 gUnknown_08DE3350:: @ 8DE3350 - .incbin "baserom.gba", 0xde3350, 0x24 + .incbin "graphics/frontier_pass/tilemap1.bin" + .align 2 gUnknown_08DE3374:: @ 8DE3374 - .incbin "baserom.gba", 0xde3374, 0x24 + .incbin "graphics/frontier_pass/tilemap2.bin" + @ berry crusher + + .align 2 gUnknown_08DE3398:: @ 8DE3398 - .incbin "baserom.gba", 0xde3398, 0x120 + .incbin "graphics/berry_crusher/tiles.gbapal" + .align 2 gUnknown_08DE34B8:: @ 8DE34B8 - .incbin "baserom.gba", 0xde34b8, 0xb1c + .incbin "graphics/berry_crusher/tiles.4bpp.lz" + .align 2 gUnknown_08DE3FD4:: @ 8DE3FD4 - .incbin "baserom.gba", 0xde3fd4 + .incbin "graphics/berry_crusher/tiles.bin.lz" + + @ random garbage at the end. why, game freak? + .space 0x54BAC + .byte 0x0D, 0x00, 0x58, 0x02 @ why? + @ E38BC8 + .space 0x1145 + .byte 0x02 @ whyyyyy? + .space 0x3242 + .byte 0x40 @ WHYYYYYYYY + .space 0x13 diff --git a/data/graphics/berries/berry_graphics.inc b/data/graphics/berries/berry_graphics.inc index 01a7c776df..358cc8fc1a 100644 --- a/data/graphics/berries/berry_graphics.inc +++ b/data/graphics/berries/berry_graphics.inc @@ -1,343 +1,343 @@ .align 2 gBerryPic_Cheri:: @ 8D9C3A8 - .incbin "graphics/berries/pics/cheri.4bpp.lz" + .incbin "graphics/berries/cheri.4bpp.lz" .align 2 gBerryPic_Oran:: @ 8D9C4FC - .incbin "graphics/berries/pics/oran.4bpp.lz" + .incbin "graphics/berries/oran.4bpp.lz" .align 2 gBerryPic_Pecha:: @ 8D9C670 - .incbin "graphics/berries/pics/pecha.4bpp.lz" + .incbin "graphics/berries/pecha.4bpp.lz" .align 2 gBerryPic_Rawst:: @ 8D9C7E4 - .incbin "graphics/berries/pics/rawst.4bpp.lz" + .incbin "graphics/berries/rawst.4bpp.lz" .align 2 gBerryPic_Aspear:: @ 8D9C97C - .incbin "graphics/berries/pics/aspear.4bpp.lz" + .incbin "graphics/berries/aspear.4bpp.lz" .align 2 gBerryPic_Leppa:: @ 8D9CB24 - .incbin "graphics/berries/pics/leppa.4bpp.lz" + .incbin "graphics/berries/leppa.4bpp.lz" .align 2 gBerryPic_Chesto:: @ 8D9CC94 - .incbin "graphics/berries/pics/chesto.4bpp.lz" + .incbin "graphics/berries/chesto.4bpp.lz" .align 2 gBerryPic_Persim:: @ 8D9CE78 - .incbin "graphics/berries/pics/persim.4bpp.lz" + .incbin "graphics/berries/persim.4bpp.lz" .align 2 gBerryPic_Lum:: @ 8D9CFC8 - .incbin "graphics/berries/pics/lum.4bpp.lz" + .incbin "graphics/berries/lum.4bpp.lz" .align 2 gBerryPic_Sitrus:: @ 8D9D0E4 - .incbin "graphics/berries/pics/sitrus.4bpp.lz" + .incbin "graphics/berries/sitrus.4bpp.lz" .align 2 gBerryPic_Figy:: @ 8D9D288 - .incbin "graphics/berries/pics/figy.4bpp.lz" + .incbin "graphics/berries/figy.4bpp.lz" .align 2 gBerryPic_Wiki:: @ 8D9D434 - .incbin "graphics/berries/pics/wiki.4bpp.lz" + .incbin "graphics/berries/wiki.4bpp.lz" .align 2 gBerryPic_Mago:: @ 8D9D628 - .incbin "graphics/berries/pics/mago.4bpp.lz" + .incbin "graphics/berries/mago.4bpp.lz" .align 2 gBerryPic_Aguav:: @ 8D9D7DC - .incbin "graphics/berries/pics/aguav.4bpp.lz" + .incbin "graphics/berries/aguav.4bpp.lz" .align 2 gBerryPic_Iapapa:: @ 8D9D950 - .incbin "graphics/berries/pics/iapapa.4bpp.lz" + .incbin "graphics/berries/iapapa.4bpp.lz" .align 2 gBerryPic_Razz:: @ 8D9DC08 - .incbin "graphics/berries/pics/razz.4bpp.lz" + .incbin "graphics/berries/razz.4bpp.lz" .align 2 gBerryPic_Bluk:: @ 8D9DE38 - .incbin "graphics/berries/pics/bluk.4bpp.lz" + .incbin "graphics/berries/bluk.4bpp.lz" .align 2 gBerryPic_Nanab:: @ 8D9E020 - .incbin "graphics/berries/pics/nanab.4bpp.lz" + .incbin "graphics/berries/nanab.4bpp.lz" .align 2 gBerryPic_Wepear:: @ 8D9E194 - .incbin "graphics/berries/pics/wepear.4bpp.lz" + .incbin "graphics/berries/wepear.4bpp.lz" .align 2 gBerryPic_Pinap:: @ 8D9E35C - .incbin "graphics/berries/pics/pinap.4bpp.lz" + .incbin "graphics/berries/pinap.4bpp.lz" .align 2 gBerryPic_Pomeg:: @ 8D9E570 - .incbin "graphics/berries/pics/pomeg.4bpp.lz" + .incbin "graphics/berries/pomeg.4bpp.lz" .align 2 gBerryPic_Kelpsy:: @ 8D9E718 - .incbin "graphics/berries/pics/kelpsy.4bpp.lz" + .incbin "graphics/berries/kelpsy.4bpp.lz" .align 2 gBerryPic_Qualot:: @ 8D9E8C0 - .incbin "graphics/berries/pics/qualot.4bpp.lz" + .incbin "graphics/berries/qualot.4bpp.lz" .align 2 gBerryPic_Hondew:: @ 8D9EA8C - .incbin "graphics/berries/pics/hondew.4bpp.lz" + .incbin "graphics/berries/hondew.4bpp.lz" .align 2 gBerryPic_Grepa:: @ 8D9ECE4 - .incbin "graphics/berries/pics/grepa.4bpp.lz" + .incbin "graphics/berries/grepa.4bpp.lz" .align 2 gBerryPic_Tamato:: @ 8D9EE74 - .incbin "graphics/berries/pics/tamato.4bpp.lz" + .incbin "graphics/berries/tamato.4bpp.lz" .align 2 gBerryPic_Cornn:: @ 8D9F138 - .incbin "graphics/berries/pics/cornn.4bpp.lz" + .incbin "graphics/berries/cornn.4bpp.lz" .align 2 gBerryPic_Magost:: @ 8D9F33C - .incbin "graphics/berries/pics/magost.4bpp.lz" + .incbin "graphics/berries/magost.4bpp.lz" .align 2 gBerryPic_Rabuta:: @ 8D9F4E0 - .incbin "graphics/berries/pics/rabuta.4bpp.lz" + .incbin "graphics/berries/rabuta.4bpp.lz" .align 2 gBerryPic_Nomel:: @ 8D9F7D4 - .incbin "graphics/berries/pics/nomel.4bpp.lz" + .incbin "graphics/berries/nomel.4bpp.lz" .align 2 gBerryPic_Spelon:: @ 8D9F9B0 - .incbin "graphics/berries/pics/spelon.4bpp.lz" + .incbin "graphics/berries/spelon.4bpp.lz" .align 2 gBerryPic_Pamtre:: @ 8D9FBA0 - .incbin "graphics/berries/pics/pamtre.4bpp.lz" + .incbin "graphics/berries/pamtre.4bpp.lz" .align 2 gBerryPic_Watmel:: @ 8D9FDF0 - .incbin "graphics/berries/pics/watmel.4bpp.lz" + .incbin "graphics/berries/watmel.4bpp.lz" .align 2 gBerryPic_Durin:: @ 8DA00D4 - .incbin "graphics/berries/pics/durin.4bpp.lz" + .incbin "graphics/berries/durin.4bpp.lz" .align 2 gBerryPic_Belue:: @ 8DA04A0 - .incbin "graphics/berries/pics/belue.4bpp.lz" + .incbin "graphics/berries/belue.4bpp.lz" .align 2 gBerryPic_Liechi:: @ 8DA0778 - .incbin "graphics/berries/pics/liechi.4bpp.lz" + .incbin "graphics/berries/liechi.4bpp.lz" .align 2 gBerryPic_Ganlon:: @ 8DA09D0 - .incbin "graphics/berries/pics/ganlon.4bpp.lz" + .incbin "graphics/berries/ganlon.4bpp.lz" .align 2 gBerryPic_Salac:: @ 8DA0B68 - .incbin "graphics/berries/pics/salac.4bpp.lz" + .incbin "graphics/berries/salac.4bpp.lz" .align 2 gBerryPic_Petaya:: @ 8DA0DAC - .incbin "graphics/berries/pics/petaya.4bpp.lz" + .incbin "graphics/berries/petaya.4bpp.lz" .align 2 gBerryPic_Apicot:: @ 8DA1054 - .incbin "graphics/berries/pics/apicot.4bpp.lz" + .incbin "graphics/berries/apicot.4bpp.lz" .align 2 gBerryPic_Lansat:: @ 8DA11E4 - .incbin "graphics/berries/pics/lansat.4bpp.lz" + .incbin "graphics/berries/lansat.4bpp.lz" .align 2 gBerryPic_Starf:: @ 8DA13D8 - .incbin "graphics/berries/pics/starf.4bpp.lz" + .incbin "graphics/berries/starf.4bpp.lz" .align 2 gBerryPic_Enigma:: @ 8DA15A8 - .incbin "graphics/berries/pics/enigma.4bpp.lz" + .incbin "graphics/berries/enigma.4bpp.lz" .align 2 gBerryPalette_Cheri:: @ 8DA17C0 - .incbin "graphics/berries/palettes/cheri.gbapal.lz" + .incbin "graphics/berries/cheri.gbapal.lz" .align 2 gBerryPalette_Oran:: @ 8DA17E8 - .incbin "graphics/berries/palettes/oran.gbapal.lz" + .incbin "graphics/berries/oran.gbapal.lz" .align 2 gBerryPalette_Pecha:: @ 8DA1810 - .incbin "graphics/berries/palettes/pecha.gbapal.lz" + .incbin "graphics/berries/pecha.gbapal.lz" .align 2 gBerryPalette_Rawst:: @ 8DA1838 - .incbin "graphics/berries/palettes/rawst.gbapal.lz" + .incbin "graphics/berries/rawst.gbapal.lz" .align 2 gBerryPalette_Aspear:: @ 8DA1860 - .incbin "graphics/berries/palettes/aspear.gbapal.lz" + .incbin "graphics/berries/aspear.gbapal.lz" .align 2 gBerryPalette_Leppa:: @ 8DA1888 - .incbin "graphics/berries/palettes/leppa.gbapal.lz" + .incbin "graphics/berries/leppa.gbapal.lz" .align 2 gBerryPalette_Chesto:: @ 8DA18B0 - .incbin "graphics/berries/palettes/chesto.gbapal.lz" + .incbin "graphics/berries/chesto.gbapal.lz" .align 2 gBerryPalette_Persim:: @ 8DA18D8 - .incbin "graphics/berries/palettes/persim.gbapal.lz" + .incbin "graphics/berries/persim.gbapal.lz" .align 2 gBerryPalette_Lum:: @ 8DA1900 - .incbin "graphics/berries/palettes/lum.gbapal.lz" + .incbin "graphics/berries/lum.gbapal.lz" .align 2 gBerryPalette_Sitrus:: @ 8DA1928 - .incbin "graphics/berries/palettes/sitrus.gbapal.lz" + .incbin "graphics/berries/sitrus.gbapal.lz" .align 2 gBerryPalette_Figy:: @ 8DA1950 - .incbin "graphics/berries/palettes/figy.gbapal.lz" + .incbin "graphics/berries/figy.gbapal.lz" .align 2 gBerryPalette_Wiki:: @ 8DA1978 - .incbin "graphics/berries/palettes/wiki.gbapal.lz" + .incbin "graphics/berries/wiki.gbapal.lz" .align 2 gBerryPalette_Mago:: @ 8DA19A0 - .incbin "graphics/berries/palettes/mago.gbapal.lz" + .incbin "graphics/berries/mago.gbapal.lz" .align 2 gBerryPalette_Aguav:: @ 8DA19C8 - .incbin "graphics/berries/palettes/aguav.gbapal.lz" + .incbin "graphics/berries/aguav.gbapal.lz" .align 2 gBerryPalette_Iapapa:: @ 8DA19F0 - .incbin "graphics/berries/palettes/iapapa.gbapal.lz" + .incbin "graphics/berries/iapapa.gbapal.lz" .align 2 gBerryPalette_Razz:: @ 8DA1A18 - .incbin "graphics/berries/palettes/razz.gbapal.lz" + .incbin "graphics/berries/razz.gbapal.lz" .align 2 gBerryPalette_Bluk:: @ 8DA1A40 - .incbin "graphics/berries/palettes/bluk.gbapal.lz" + .incbin "graphics/berries/bluk.gbapal.lz" .align 2 gBerryPalette_Nanab:: @ 8DA1A68 - .incbin "graphics/berries/palettes/nanab.gbapal.lz" + .incbin "graphics/berries/nanab.gbapal.lz" .align 2 gBerryPalette_Wepear:: @ 8DA1A90 - .incbin "graphics/berries/palettes/wepear.gbapal.lz" + .incbin "graphics/berries/wepear.gbapal.lz" .align 2 gBerryPalette_Pinap:: @ 8DA1AB8 - .incbin "graphics/berries/palettes/pinap.gbapal.lz" + .incbin "graphics/berries/pinap.gbapal.lz" .align 2 gBerryPalette_Pomeg:: @ 8DA1AE0 - .incbin "graphics/berries/palettes/pomeg.gbapal.lz" + .incbin "graphics/berries/pomeg.gbapal.lz" .align 2 gBerryPalette_Kelpsy:: @ 8DA1B08 - .incbin "graphics/berries/palettes/kelpsy.gbapal.lz" + .incbin "graphics/berries/kelpsy.gbapal.lz" .align 2 gBerryPalette_Qualot:: @ 8DA1B30 - .incbin "graphics/berries/palettes/qualot.gbapal.lz" + .incbin "graphics/berries/qualot.gbapal.lz" .align 2 gBerryPalette_Hondew:: @ 8DA1B58 - .incbin "graphics/berries/palettes/hondew.gbapal.lz" + .incbin "graphics/berries/hondew.gbapal.lz" .align 2 gBerryPalette_Grepa:: @ 8DA1B80 - .incbin "graphics/berries/palettes/grepa.gbapal.lz" + .incbin "graphics/berries/grepa.gbapal.lz" .align 2 gBerryPalette_Tamato:: @ 8DA1BA8 - .incbin "graphics/berries/palettes/tamato.gbapal.lz" + .incbin "graphics/berries/tamato.gbapal.lz" .align 2 gBerryPalette_Cornn:: @ 8DA1BD0 - .incbin "graphics/berries/palettes/cornn.gbapal.lz" + .incbin "graphics/berries/cornn.gbapal.lz" .align 2 gBerryPalette_Magost:: @ 8DA1BF8 - .incbin "graphics/berries/palettes/magost.gbapal.lz" + .incbin "graphics/berries/magost.gbapal.lz" .align 2 gBerryPalette_Rabuta:: @ 8DA1C20 - .incbin "graphics/berries/palettes/rabuta.gbapal.lz" + .incbin "graphics/berries/rabuta.gbapal.lz" .align 2 gBerryPalette_Nomel:: @ 8DA1C48 - .incbin "graphics/berries/palettes/nomel.gbapal.lz" + .incbin "graphics/berries/nomel.gbapal.lz" .align 2 gBerryPalette_Spelon:: @ 8DA1C70 - .incbin "graphics/berries/palettes/spelon.gbapal.lz" + .incbin "graphics/berries/spelon.gbapal.lz" .align 2 gBerryPalette_Pamtre:: @ 8DA1C98 - .incbin "graphics/berries/palettes/pamtre.gbapal.lz" + .incbin "graphics/berries/pamtre.gbapal.lz" .align 2 gBerryPalette_Watmel:: @ 8DA1CC0 - .incbin "graphics/berries/palettes/watmel.gbapal.lz" + .incbin "graphics/berries/watmel.gbapal.lz" .align 2 gBerryPalette_Durin:: @ 8DA1CE8 - .incbin "graphics/berries/palettes/durin.gbapal.lz" + .incbin "graphics/berries/durin.gbapal.lz" .align 2 gBerryPalette_Belue:: @ 8DA1D10 - .incbin "graphics/berries/palettes/belue.gbapal.lz" + .incbin "graphics/berries/belue.gbapal.lz" .align 2 gBerryPalette_Liechi:: @ 8DA1D38 - .incbin "graphics/berries/palettes/liechi.gbapal.lz" + .incbin "graphics/berries/liechi.gbapal.lz" .align 2 gBerryPalette_Ganlon:: @ 8DA1D60 - .incbin "graphics/berries/palettes/ganlon.gbapal.lz" + .incbin "graphics/berries/ganlon.gbapal.lz" .align 2 gBerryPalette_Salac:: @ 8DA1D88 - .incbin "graphics/berries/palettes/salac.gbapal.lz" + .incbin "graphics/berries/salac.gbapal.lz" .align 2 gBerryPalette_Petaya:: @ 8DA1DB0 - .incbin "graphics/berries/palettes/petaya.gbapal.lz" + .incbin "graphics/berries/petaya.gbapal.lz" .align 2 gBerryPalette_Apicot:: @ 8DA1DD8 - .incbin "graphics/berries/palettes/apicot.gbapal.lz" + .incbin "graphics/berries/apicot.gbapal.lz" .align 2 gBerryPalette_Lansat:: @ 8DA1E00 - .incbin "graphics/berries/palettes/lansat.gbapal.lz" + .incbin "graphics/berries/lansat.gbapal.lz" .align 2 gBerryPalette_Starf:: @ 8DA1E28 - .incbin "graphics/berries/palettes/starf.gbapal.lz" + .incbin "graphics/berries/starf.gbapal.lz" .align 2 gBerryPalette_Enigma:: @ 8DA1E50 - .incbin "graphics/berries/palettes/enigma.gbapal.lz" + .incbin "graphics/berries/enigma.gbapal.lz" diff --git a/data/graphics/field_objects/berry_tree_graphics_tables.inc b/data/graphics/field_objects/berry_tree_graphics_tables.inc index 52c8719fed..8d716d7594 100644 --- a/data/graphics/field_objects/berry_tree_graphics_tables.inc +++ b/data/graphics/field_objects/berry_tree_graphics_tables.inc @@ -478,18 +478,18 @@ gFieldObjectPicTable_TamatoBerryTree:: @ 850C758 gBerryTreePaletteSlotTable_Tamato:: @ 850C7A0 berry_tree_palette_slot_table 2 - .byte FIELD_OBJ_GFX_BERRY_TREE_EARLY_STAGES - .byte FIELD_OBJ_GFX_BERRY_TREE_EARLY_STAGES - .byte FIELD_OBJ_GFX_BERRY_TREE_EARLY_STAGES - .byte FIELD_OBJ_GFX_BERRY_TREE_EARLY_STAGES - .byte FIELD_OBJ_GFX_BERRY_TREE_EARLY_STAGES + .byte MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES + .byte MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES + .byte MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES + .byte MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES + .byte MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES gBerryTreeFieldObjectGraphicsIdTable:: @ 850C7AA - .byte FIELD_OBJ_GFX_BERRY_TREE_EARLY_STAGES - .byte FIELD_OBJ_GFX_BERRY_TREE_EARLY_STAGES - .byte FIELD_OBJ_GFX_BERRY_TREE_LATE_STAGES - .byte FIELD_OBJ_GFX_BERRY_TREE_LATE_STAGES - .byte FIELD_OBJ_GFX_BERRY_TREE_LATE_STAGES + .byte MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES + .byte MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES + .byte MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES + .byte MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES + .byte MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES .align 2 gBerryTreePicTablePointers:: @ 850C7B0 diff --git a/data/graphics/field_objects/field_object_graphics.inc b/data/graphics/field_objects/field_object_graphics.inc index 0e55eb1468..59333b9a43 100644 --- a/data/graphics/field_objects/field_object_graphics.inc +++ b/data/graphics/field_objects/field_object_graphics.inc @@ -5386,7 +5386,8 @@ gFieldEffectObjectPic_ShadowLarge:: @ 84F68B8 gFieldEffectObjectPic_ShadowExtraLarge:: @ 84F6938 .incbin "graphics/map_objects/pics/effects/shadow_extra_large.4bpp" - .incbin "baserom.gba", 0x4f6d38, 0x160 +gUnknown_084F6D38:: @ 84F6D38 + .incbin "graphics/map_objects/pics/effects/unknown_4F6D38/0.4bpp" .align 2 gFieldEffectObjectPalette6:: @ 84F6E98 @@ -5500,7 +5501,17 @@ gFieldEffectObjectPic_BikeHopTallGrass_2:: @ 84F7938 gFieldEffectObjectPic_BikeHopTallGrass_3:: @ 84F7978 .incbin "graphics/map_objects/pics/effects/bike_hop_tall_grass/3.4bpp" - .incbin "baserom.gba", 0x4f79b8, 0x200 +gUnusedGrass_0:: @4F79B8 + .incbin "graphics/map_objects/pics/effects/unused_grass/0.4bpp" + +gUnusedGrass_1:: @4F7A38 + .incbin "graphics/map_objects/pics/effects/unused_grass/1.4bpp" + +gUnusedGrass_2:: @4F7AB8 + .incbin "graphics/map_objects/pics/effects/unused_grass/2.4bpp" + +gUnusedGrass_3:: @4F7B38 + .incbin "graphics/map_objects/pics/effects/unused_grass/3.4bpp" .align 2 gFieldEffectObjectPic_Unknown16_0:: @ 84F7BB8 @@ -5522,7 +5533,8 @@ gFieldEffectObjectPic_Unknown16_3:: @ 84F7D38 gFieldEffectObjectPic_Unknown16_4:: @ 84F7DB8 .incbin "graphics/map_objects/pics/effects/unknown_16/4.4bpp" - .incbin "baserom.gba", 0x4f7e38, 0x80 +gUnknown_084F7E38:: @ 84F7E38 + .incbin "graphics/map_objects/pics/effects/unknown_4F7E38/0.4bpp" .align 2 gFieldEffectObjectPic_Unknown16_5:: @ 84F7EB8 diff --git a/data/graphics/field_objects/field_object_oam.inc b/data/graphics/field_objects/field_object_oam.inc index 0e02efa57e..ea4da1c022 100644 --- a/data/graphics/field_objects/field_object_oam.inc +++ b/data/graphics/field_objects/field_object_oam.inc @@ -40,26 +40,26 @@ gFieldObjectBaseOam_64x64:: @ 8509524 .align 2 gFieldObjectSpriteOamTable_16x16_0:: @ 850952C - sprite_oam -8, -8, 2, 0, 16x16 + subsprite -8, -8, 2, 0, 16x16 .align 2 gFieldObjectSpriteOamTable_16x16_1:: @ 8509530 - sprite_oam -8, -8, 1, 0, 16x16 + subsprite -8, -8, 1, 0, 16x16 .align 2 gFieldObjectSpriteOamTable_16x16_2:: @ 8509534 - sprite_oam -8, -8, 2, 0, 16x8 - sprite_oam -8, 0, 3, 2, 16x8 + subsprite -8, -8, 2, 0, 16x8 + subsprite -8, 0, 3, 2, 16x8 .align 2 gFieldObjectSpriteOamTable_16x16_3:: @ 850953C - sprite_oam -8, -8, 2, 0, 16x16 - sprite_oam -8, -8, 3, 0, 16x16 + subsprite -8, -8, 2, 0, 16x16 + subsprite -8, -8, 3, 0, 16x16 .align 2 gFieldObjectSpriteOamTable_16x16_4:: @ 8509544 - sprite_oam -8, -8, 1, 0, 16x16 - sprite_oam -8, -8, 3, 0, 16x16 + subsprite -8, -8, 1, 0, 16x16 + subsprite -8, -8, 3, 0, 16x16 .align 2 gFieldObjectSpriteOamTables_16x16:: @ 850954C @@ -83,27 +83,27 @@ gFieldObjectSpriteOamTables_16x16:: @ 850954C .align 2 gFieldObjectSpriteOamTable_16x32_0:: @ 850957C - sprite_oam -8, -16, 2, 0, 16x32 + subsprite -8, -16, 2, 0, 16x32 .align 2 gFieldObjectSpriteOamTable_16x32_1:: @ 8509580 - sprite_oam -8, -16, 1, 0, 16x32 + subsprite -8, -16, 1, 0, 16x32 .align 2 gFieldObjectSpriteOamTable_16x32_2:: @ 8509584 - sprite_oam -8, -16, 2, 0, 16x16 - sprite_oam -8, 0, 2, 4, 16x8 - sprite_oam -8, 8, 3, 6, 16x8 + subsprite -8, -16, 2, 0, 16x16 + subsprite -8, 0, 2, 4, 16x8 + subsprite -8, 8, 3, 6, 16x8 .align 2 gFieldObjectSpriteOamTable_16x32_3:: @ 8509590 - sprite_oam -8, -16, 2, 0, 16x16 - sprite_oam -8, 0, 3, 4, 16x16 + subsprite -8, -16, 2, 0, 16x16 + subsprite -8, 0, 3, 4, 16x16 .align 2 gFieldObjectSpriteOamTable_16x32_4:: @ 8509598 - sprite_oam -8, -16, 1, 0, 16x16 - sprite_oam -8, 0, 3, 4, 16x16 + subsprite -8, -16, 1, 0, 16x16 + subsprite -8, 0, 3, 4, 16x16 .align 2 gFieldObjectSpriteOamTables_16x32:: @ 85095A0 @@ -127,27 +127,27 @@ gFieldObjectSpriteOamTables_16x32:: @ 85095A0 .align 2 gFieldObjectSpriteOamTable_32x32_0:: @ 85095D0 - sprite_oam -16, -16, 2, 0, 32x32 + subsprite -16, -16, 2, 0, 32x32 .align 2 gFieldObjectSpriteOamTable_32x32_1:: @ 85095D4 - sprite_oam -16, -16, 1, 0, 32x32 + subsprite -16, -16, 1, 0, 32x32 .align 2 gFieldObjectSpriteOamTable_32x32_2:: @ 85095D8 - sprite_oam -16, -16, 2, 0, 32x16 - sprite_oam -16, 0, 2, 8, 32x8 - sprite_oam -16, 8, 3, 12, 32x8 + subsprite -16, -16, 2, 0, 32x16 + subsprite -16, 0, 2, 8, 32x8 + subsprite -16, 8, 3, 12, 32x8 .align 2 gFieldObjectSpriteOamTable_32x32_3:: @ 85095E4 - sprite_oam -16, -16, 2, 0, 32x16 - sprite_oam -16, 0, 3, 8, 32x16 + subsprite -16, -16, 2, 0, 32x16 + subsprite -16, 0, 3, 8, 32x16 .align 2 gFieldObjectSpriteOamTable_32x32_4:: @ 85095EC - sprite_oam -16, -16, 1, 0, 32x16 - sprite_oam -16, 0, 3, 8, 32x16 + subsprite -16, -16, 1, 0, 32x16 + subsprite -16, 0, 3, 8, 32x16 .align 2 gFieldObjectSpriteOamTables_32x32:: @ 85095F4 @@ -171,18 +171,18 @@ gFieldObjectSpriteOamTables_32x32:: @ 85095F4 .align 2 gFieldObjectSpriteOamTable_Truck_0:: @ 8509624 - sprite_oam -24, -24, 2, 0, 32x8 - sprite_oam 8, -24, 2, 4, 16x8 - sprite_oam -24, -16, 2, 6, 32x8 - sprite_oam 8, -16, 2, 10, 16x8 - sprite_oam -24, -8, 2, 12, 32x8 - sprite_oam 8, -8, 2, 16, 16x8 - sprite_oam -24, 0, 2, 18, 32x8 - sprite_oam 8, 0, 2, 22, 16x8 - sprite_oam -24, 8, 2, 24, 32x8 - sprite_oam 8, 8, 2, 28, 16x8 - sprite_oam -24, 16, 2, 30, 32x8 - sprite_oam 8, 16, 2, 34, 16x8 + subsprite -24, -24, 2, 0, 32x8 + subsprite 8, -24, 2, 4, 16x8 + subsprite -24, -16, 2, 6, 32x8 + subsprite 8, -16, 2, 10, 16x8 + subsprite -24, -8, 2, 12, 32x8 + subsprite 8, -8, 2, 16, 16x8 + subsprite -24, 0, 2, 18, 32x8 + subsprite 8, 0, 2, 22, 16x8 + subsprite -24, 8, 2, 24, 32x8 + subsprite 8, 8, 2, 28, 16x8 + subsprite -24, 16, 2, 30, 32x8 + subsprite 8, 16, 2, 34, 16x8 .align 2 gFieldObjectSpriteOamTables_Truck:: @ 8509654 @@ -206,19 +206,19 @@ gFieldObjectSpriteOamTables_Truck:: @ 8509654 .align 2 gFieldObjectSpriteOamTable_Unused_0:: @ 8509684 - sprite_oam -32, -16, 2, 0, 64x32 + subsprite -32, -16, 2, 0, 64x32 .align 2 gFieldObjectSpriteOamTable_Unused_1:: @ 8509688 - sprite_oam -32, -16, 1, 0, 64x32 + subsprite -32, -16, 1, 0, 64x32 .align 2 gFieldObjectSpriteOamTable_Unused_2:: @ 850968C - sprite_oam -32, -16, 2, 0, 64x32 + subsprite -32, -16, 2, 0, 64x32 .align 2 gFieldObjectSpriteOamTable_Unused_3:: @ 8509690 - sprite_oam -32, -16, 2, 0, 64x32 + subsprite -32, -16, 2, 0, 64x32 .align 2 gFieldObjectSpriteOamTables_Unused:: @ 8509694 @@ -242,19 +242,19 @@ gFieldObjectSpriteOamTables_Unused:: @ 8509694 .align 2 gFieldObjectSpriteOamTable_64x64_0:: @ 85096C4 - sprite_oam -32, -32, 2, 0, 64x64 + subsprite -32, -32, 2, 0, 64x64 .align 2 gFieldObjectSpriteOamTable_64x64_1:: @ 85096C8 - sprite_oam -32, -32, 1, 0, 64x64 + subsprite -32, -32, 1, 0, 64x64 .align 2 gFieldObjectSpriteOamTable_64x64_2:: @ 85096CC - sprite_oam -32, -32, 2, 0, 64x64 + subsprite -32, -32, 2, 0, 64x64 .align 2 gFieldObjectSpriteOamTable_64x64_3:: @ 85096D0 - sprite_oam -32, -32, 2, 0, 64x64 + subsprite -32, -32, 2, 0, 64x64 .align 2 gFieldObjectSpriteOamTables_64x64:: @ 85096D4 @@ -278,75 +278,75 @@ gFieldObjectSpriteOamTables_64x64:: @ 85096D4 .align 2 gFieldObjectSpriteOamTable_SSTidal_0:: @ 8509704 - sprite_oam -48, -20, 2, 0, 32x8 - sprite_oam -16, -20, 2, 4, 32x8 - sprite_oam 16, -20, 2, 8, 32x8 - sprite_oam -48, -12, 2, 12, 32x8 - sprite_oam -16, -12, 2, 16, 32x8 - sprite_oam 16, -12, 2, 20, 32x8 - sprite_oam -48, -4, 2, 24, 32x8 - sprite_oam -16, -4, 2, 28, 32x8 - sprite_oam 16, -4, 2, 32, 32x8 - sprite_oam -48, 4, 2, 36, 32x8 - sprite_oam -16, 4, 2, 40, 32x8 - sprite_oam 16, 4, 2, 44, 32x8 - sprite_oam -48, 12, 2, 48, 32x8 - sprite_oam -16, 12, 2, 52, 32x8 - sprite_oam 16, 12, 2, 56, 32x8 + subsprite -48, -20, 2, 0, 32x8 + subsprite -16, -20, 2, 4, 32x8 + subsprite 16, -20, 2, 8, 32x8 + subsprite -48, -12, 2, 12, 32x8 + subsprite -16, -12, 2, 16, 32x8 + subsprite 16, -12, 2, 20, 32x8 + subsprite -48, -4, 2, 24, 32x8 + subsprite -16, -4, 2, 28, 32x8 + subsprite 16, -4, 2, 32, 32x8 + subsprite -48, 4, 2, 36, 32x8 + subsprite -16, 4, 2, 40, 32x8 + subsprite 16, 4, 2, 44, 32x8 + subsprite -48, 12, 2, 48, 32x8 + subsprite -16, 12, 2, 52, 32x8 + subsprite 16, 12, 2, 56, 32x8 .align 2 gFieldObjectSpriteOamTable_SSTidal_1:: @ 8509740 - sprite_oam -48, -20, 1, 0, 32x8 - sprite_oam -16, -20, 1, 4, 32x8 - sprite_oam 16, -20, 1, 8, 32x8 - sprite_oam -48, -12, 1, 12, 32x8 - sprite_oam -16, -12, 1, 16, 32x8 - sprite_oam 16, -12, 1, 20, 32x8 - sprite_oam -48, -4, 1, 24, 32x8 - sprite_oam -16, -4, 1, 28, 32x8 - sprite_oam 16, -4, 1, 32, 32x8 - sprite_oam -48, 4, 1, 36, 32x8 - sprite_oam -16, 4, 1, 40, 32x8 - sprite_oam 16, 4, 1, 44, 32x8 - sprite_oam -48, 12, 1, 48, 32x8 - sprite_oam -16, 12, 1, 52, 32x8 - sprite_oam 16, 12, 1, 56, 32x8 + subsprite -48, -20, 1, 0, 32x8 + subsprite -16, -20, 1, 4, 32x8 + subsprite 16, -20, 1, 8, 32x8 + subsprite -48, -12, 1, 12, 32x8 + subsprite -16, -12, 1, 16, 32x8 + subsprite 16, -12, 1, 20, 32x8 + subsprite -48, -4, 1, 24, 32x8 + subsprite -16, -4, 1, 28, 32x8 + subsprite 16, -4, 1, 32, 32x8 + subsprite -48, 4, 1, 36, 32x8 + subsprite -16, 4, 1, 40, 32x8 + subsprite 16, 4, 1, 44, 32x8 + subsprite -48, 12, 1, 48, 32x8 + subsprite -16, 12, 1, 52, 32x8 + subsprite 16, 12, 1, 56, 32x8 .align 2 gFieldObjectSpriteOamTable_SSTidal_2:: @ 850977C - sprite_oam -48, -20, 2, 0, 32x8 - sprite_oam -16, -20, 2, 4, 32x8 - sprite_oam 16, -20, 2, 8, 32x8 - sprite_oam -48, -12, 2, 12, 32x8 - sprite_oam -16, -12, 2, 16, 32x8 - sprite_oam 16, -12, 2, 20, 32x8 - sprite_oam -48, -4, 2, 24, 32x8 - sprite_oam -16, -4, 2, 28, 32x8 - sprite_oam 16, -4, 2, 32, 32x8 - sprite_oam -48, 4, 2, 36, 32x8 - sprite_oam -16, 4, 2, 40, 32x8 - sprite_oam 16, 4, 2, 44, 32x8 - sprite_oam -48, 12, 2, 48, 32x8 - sprite_oam -16, 12, 2, 52, 32x8 - sprite_oam 16, 12, 2, 56, 32x8 + subsprite -48, -20, 2, 0, 32x8 + subsprite -16, -20, 2, 4, 32x8 + subsprite 16, -20, 2, 8, 32x8 + subsprite -48, -12, 2, 12, 32x8 + subsprite -16, -12, 2, 16, 32x8 + subsprite 16, -12, 2, 20, 32x8 + subsprite -48, -4, 2, 24, 32x8 + subsprite -16, -4, 2, 28, 32x8 + subsprite 16, -4, 2, 32, 32x8 + subsprite -48, 4, 2, 36, 32x8 + subsprite -16, 4, 2, 40, 32x8 + subsprite 16, 4, 2, 44, 32x8 + subsprite -48, 12, 2, 48, 32x8 + subsprite -16, 12, 2, 52, 32x8 + subsprite 16, 12, 2, 56, 32x8 .align 2 gFieldObjectSpriteOamTable_SSTidal_3:: @ 85097B8 - sprite_oam -48, -20, 1, 0, 32x8 - sprite_oam -16, -20, 1, 4, 32x8 - sprite_oam 16, -20, 1, 8, 32x8 - sprite_oam -48, -12, 1, 12, 32x8 - sprite_oam -16, -12, 1, 16, 32x8 - sprite_oam 16, -12, 1, 20, 32x8 - sprite_oam -48, -4, 2, 24, 32x8 - sprite_oam -16, -4, 2, 28, 32x8 - sprite_oam 16, -4, 2, 32, 32x8 - sprite_oam -48, 4, 2, 36, 32x8 - sprite_oam -16, 4, 2, 40, 32x8 - sprite_oam 16, 4, 2, 44, 32x8 - sprite_oam -48, 12, 2, 48, 32x8 - sprite_oam -16, 12, 2, 52, 32x8 - sprite_oam 16, 12, 2, 56, 32x8 + subsprite -48, -20, 1, 0, 32x8 + subsprite -16, -20, 1, 4, 32x8 + subsprite 16, -20, 1, 8, 32x8 + subsprite -48, -12, 1, 12, 32x8 + subsprite -16, -12, 1, 16, 32x8 + subsprite 16, -12, 1, 20, 32x8 + subsprite -48, -4, 2, 24, 32x8 + subsprite -16, -4, 2, 28, 32x8 + subsprite 16, -4, 2, 32, 32x8 + subsprite -48, 4, 2, 36, 32x8 + subsprite -16, 4, 2, 40, 32x8 + subsprite 16, 4, 2, 44, 32x8 + subsprite -48, 12, 2, 48, 32x8 + subsprite -16, 12, 2, 52, 32x8 + subsprite 16, 12, 2, 56, 32x8 .align 2 gFieldObjectSpriteOamTables_SSTidal:: @ 85097F4 @@ -370,79 +370,79 @@ gFieldObjectSpriteOamTables_SSTidal:: @ 85097F4 .align 2 gFieldObjectSpriteOamTable_SubmarineShadow_0:: @ 8509824 - sprite_oam -48, -20, 2, 0, 32x8 - sprite_oam -16, -20, 2, 4, 32x8 - sprite_oam 16, -20, 2, 8, 16x8 - sprite_oam 32, -20, 2, 10, 8x8 - sprite_oam -48, -12, 2, 11, 32x8 - sprite_oam -16, -12, 2, 15, 32x8 - sprite_oam 16, -12, 2, 19, 16x8 - sprite_oam 32, -12, 2, 21, 8x8 - sprite_oam -48, -4, 2, 22, 32x8 - sprite_oam -16, -4, 2, 26, 32x8 - sprite_oam 16, -4, 2, 30, 16x8 - sprite_oam 32, -4, 2, 32, 8x8 - sprite_oam -48, 4, 2, 33, 32x8 - sprite_oam -16, 4, 2, 37, 32x8 - sprite_oam 16, 4, 2, 41, 16x8 - sprite_oam 32, 4, 2, 43, 8x8 + subsprite -48, -20, 2, 0, 32x8 + subsprite -16, -20, 2, 4, 32x8 + subsprite 16, -20, 2, 8, 16x8 + subsprite 32, -20, 2, 10, 8x8 + subsprite -48, -12, 2, 11, 32x8 + subsprite -16, -12, 2, 15, 32x8 + subsprite 16, -12, 2, 19, 16x8 + subsprite 32, -12, 2, 21, 8x8 + subsprite -48, -4, 2, 22, 32x8 + subsprite -16, -4, 2, 26, 32x8 + subsprite 16, -4, 2, 30, 16x8 + subsprite 32, -4, 2, 32, 8x8 + subsprite -48, 4, 2, 33, 32x8 + subsprite -16, 4, 2, 37, 32x8 + subsprite 16, 4, 2, 41, 16x8 + subsprite 32, 4, 2, 43, 8x8 .align 2 gFieldObjectSpriteOamTable_SubmarineShadow_1:: @ 8509864 - sprite_oam -48, -20, 1, 0, 32x8 - sprite_oam -16, -20, 1, 4, 32x8 - sprite_oam 16, -20, 1, 8, 16x8 - sprite_oam 32, -20, 1, 10, 8x8 - sprite_oam -48, -12, 1, 11, 32x8 - sprite_oam -16, -12, 1, 15, 32x8 - sprite_oam 16, -12, 1, 19, 16x8 - sprite_oam 32, -12, 1, 21, 8x8 - sprite_oam -48, -4, 1, 22, 32x8 - sprite_oam -16, -4, 1, 26, 32x8 - sprite_oam 16, -4, 1, 30, 16x8 - sprite_oam 32, -4, 1, 32, 8x8 - sprite_oam -48, 4, 1, 33, 32x8 - sprite_oam -16, 4, 1, 37, 32x8 - sprite_oam 16, 4, 1, 41, 16x8 - sprite_oam 32, 4, 1, 43, 8x8 + subsprite -48, -20, 1, 0, 32x8 + subsprite -16, -20, 1, 4, 32x8 + subsprite 16, -20, 1, 8, 16x8 + subsprite 32, -20, 1, 10, 8x8 + subsprite -48, -12, 1, 11, 32x8 + subsprite -16, -12, 1, 15, 32x8 + subsprite 16, -12, 1, 19, 16x8 + subsprite 32, -12, 1, 21, 8x8 + subsprite -48, -4, 1, 22, 32x8 + subsprite -16, -4, 1, 26, 32x8 + subsprite 16, -4, 1, 30, 16x8 + subsprite 32, -4, 1, 32, 8x8 + subsprite -48, 4, 1, 33, 32x8 + subsprite -16, 4, 1, 37, 32x8 + subsprite 16, 4, 1, 41, 16x8 + subsprite 32, 4, 1, 43, 8x8 .align 2 gFieldObjectSpriteOamTable_SubmarineShadow_2:: @ 85098A4 - sprite_oam -48, -20, 2, 0, 32x8 - sprite_oam -16, -20, 2, 4, 32x8 - sprite_oam 16, -20, 2, 8, 16x8 - sprite_oam 32, -20, 2, 10, 8x8 - sprite_oam -48, -12, 2, 11, 32x8 - sprite_oam -16, -12, 2, 15, 32x8 - sprite_oam 16, -12, 2, 19, 16x8 - sprite_oam 32, -12, 2, 21, 8x8 - sprite_oam -48, -4, 2, 22, 32x8 - sprite_oam -16, -4, 2, 26, 32x8 - sprite_oam 16, -4, 2, 30, 16x8 - sprite_oam 32, -4, 2, 32, 8x8 - sprite_oam -48, 4, 2, 33, 32x8 - sprite_oam -16, 4, 2, 37, 32x8 - sprite_oam 16, 4, 2, 41, 16x8 - sprite_oam 32, 4, 2, 43, 8x8 + subsprite -48, -20, 2, 0, 32x8 + subsprite -16, -20, 2, 4, 32x8 + subsprite 16, -20, 2, 8, 16x8 + subsprite 32, -20, 2, 10, 8x8 + subsprite -48, -12, 2, 11, 32x8 + subsprite -16, -12, 2, 15, 32x8 + subsprite 16, -12, 2, 19, 16x8 + subsprite 32, -12, 2, 21, 8x8 + subsprite -48, -4, 2, 22, 32x8 + subsprite -16, -4, 2, 26, 32x8 + subsprite 16, -4, 2, 30, 16x8 + subsprite 32, -4, 2, 32, 8x8 + subsprite -48, 4, 2, 33, 32x8 + subsprite -16, 4, 2, 37, 32x8 + subsprite 16, 4, 2, 41, 16x8 + subsprite 32, 4, 2, 43, 8x8 .align 2 gFieldObjectSpriteOamTable_SubmarineShadow_3:: @ 85098E4 - sprite_oam -48, -20, 1, 0, 32x8 - sprite_oam -16, -20, 1, 4, 32x8 - sprite_oam 16, -20, 1, 8, 16x8 - sprite_oam 32, -20, 1, 10, 8x8 - sprite_oam -48, -12, 1, 11, 32x8 - sprite_oam -16, -12, 1, 15, 32x8 - sprite_oam 16, -12, 1, 19, 16x8 - sprite_oam 32, -12, 1, 21, 8x8 - sprite_oam -48, -4, 2, 22, 32x8 - sprite_oam -16, -4, 2, 26, 32x8 - sprite_oam 16, -4, 2, 30, 16x8 - sprite_oam 32, -4, 2, 32, 8x8 - sprite_oam -48, 4, 2, 33, 32x8 - sprite_oam -16, 4, 2, 37, 32x8 - sprite_oam 16, 4, 2, 41, 16x8 - sprite_oam 32, 4, 2, 43, 8x8 + subsprite -48, -20, 1, 0, 32x8 + subsprite -16, -20, 1, 4, 32x8 + subsprite 16, -20, 1, 8, 16x8 + subsprite 32, -20, 1, 10, 8x8 + subsprite -48, -12, 1, 11, 32x8 + subsprite -16, -12, 1, 15, 32x8 + subsprite 16, -12, 1, 19, 16x8 + subsprite 32, -12, 1, 21, 8x8 + subsprite -48, -4, 2, 22, 32x8 + subsprite -16, -4, 2, 26, 32x8 + subsprite 16, -4, 2, 30, 16x8 + subsprite 32, -4, 2, 32, 8x8 + subsprite -48, 4, 2, 33, 32x8 + subsprite -16, 4, 2, 37, 32x8 + subsprite 16, 4, 2, 41, 16x8 + subsprite 32, 4, 2, 43, 8x8 .align 2 gFieldObjectSpriteOamTables_SubmarineShadow:: @ 8509924 diff --git a/data/graphics/pokemon/animation_delay_table.inc b/data/graphics/pokemon/animation_delay_table.inc index 55d602bab8..be517649b5 100644 --- a/data/graphics/pokemon/animation_delay_table.inc +++ b/data/graphics/pokemon/animation_delay_table.inc @@ -81,7 +81,7 @@ gMonAnimationDelayTable:: @ 8329B87 .byte 0x00 @ SPECIES_SLOWBRO .byte 0x00 @ SPECIES_MAGNEMITE .byte 0x00 @ SPECIES_MAGNETON - .byte 0x00 @ SPECIES_FARFETCH_D + .byte 0x00 @ SPECIES_FARFETCHD .byte 0x00 @ SPECIES_DODUO .byte 0x00 @ SPECIES_DODRIO .byte 0x00 @ SPECIES_SEEL diff --git a/data/graphics/pokemon/front_anim_ids_table.inc b/data/graphics/pokemon/front_anim_ids_table.inc index 6e2d7fe0e6..4f225348a8 100644 --- a/data/graphics/pokemon/front_anim_ids_table.inc +++ b/data/graphics/pokemon/front_anim_ids_table.inc @@ -81,7 +81,7 @@ gMonFrontAnimIdsTable:: @ 83299EC .byte 0x0b @ SPECIES_SLOWBRO .byte 0x54 @ SPECIES_MAGNEMITE .byte 0x2c @ SPECIES_MAGNETON - .byte 0x48 @ SPECIES_FARFETCH_D + .byte 0x48 @ SPECIES_FARFETCHD .byte 0x4c @ SPECIES_DODUO .byte 0x41 @ SPECIES_DODRIO .byte 0x0b @ SPECIES_SEEL diff --git a/data/graphics/pokemon/graphics.inc b/data/graphics/pokemon/graphics.inc index 45ddfe1b5e..4c4a0f57bb 100644 --- a/data/graphics/pokemon/graphics.inc +++ b/data/graphics/pokemon/graphics.inc @@ -9250,7 +9250,13 @@ gMonShinyPalette_Deoxys:: @ 8D3B7D0 gMonIcon_Deoxys:: @ 8D3B7F8 .incbin "graphics/pokemon/icons/deoxys_icon.4bpp" - .incbin "baserom.gba", 0xd3bbf8, 0x8000 + .incbin "graphics/pokemon/icons/deoxys_speed_icon.4bpp" + + .incbin "graphics/unused/deoxys_speed_icon_wide.4bpp" + + .space 0x6800 + + .incbin "graphics/unknown/unknown_D437F8.bin" .align 2 gMonFootprint_Deoxys:: @ 8D43BF8 diff --git a/data/graphics/pokemon/icon_palette_indices.inc b/data/graphics/pokemon/icon_palette_indices.inc deleted file mode 100644 index f1d57466ce..0000000000 --- a/data/graphics/pokemon/icon_palette_indices.inc +++ /dev/null @@ -1,442 +0,0 @@ - .align 2 -gMonIconPaletteIndices:: @ 857C388 - .byte 0 @ ?????????? - .byte 1 @ Bulbasaur - .byte 1 @ Ivysaur - .byte 1 @ Venusaur - .byte 0 @ Charmander - .byte 0 @ Charmeleon - .byte 0 @ Charizard - .byte 0 @ Squirtle - .byte 2 @ Wartortle - .byte 2 @ Blastoise - .byte 1 @ Caterpie - .byte 1 @ Metapod - .byte 0 @ Butterfree - .byte 1 @ Weedle - .byte 2 @ Kakuna - .byte 2 @ Beedrill - .byte 0 @ Pidgey - .byte 0 @ Pidgeotto - .byte 0 @ Pidgeot - .byte 2 @ Rattata - .byte 1 @ Raticate - .byte 0 @ Spearow - .byte 0 @ Fearow - .byte 2 @ Ekans - .byte 2 @ Arbok - .byte 2 @ Pikachu - .byte 0 @ Raichu - .byte 2 @ Sandshrew - .byte 2 @ Sandslash - .byte 2 @ Nidoran♀ - .byte 2 @ Nidorina - .byte 2 @ Nidoqueen - .byte 2 @ Nidoran♂ - .byte 2 @ Nidorino - .byte 2 @ Nidoking - .byte 0 @ Clefairy - .byte 0 @ Clefable - .byte 2 @ Vulpix - .byte 1 @ Ninetales - .byte 0 @ Jigglypuff - .byte 0 @ Wigglytuff - .byte 2 @ Zubat - .byte 2 @ Golbat - .byte 1 @ Oddish - .byte 0 @ Gloom - .byte 0 @ Vileplume - .byte 0 @ Paras - .byte 0 @ Parasect - .byte 0 @ Venonat - .byte 2 @ Venomoth - .byte 2 @ Diglett - .byte 2 @ Dugtrio - .byte 1 @ Meowth - .byte 1 @ Persian - .byte 1 @ Psyduck - .byte 2 @ Golduck - .byte 1 @ Mankey - .byte 2 @ Primeape - .byte 0 @ Growlithe - .byte 0 @ Arcanine - .byte 0 @ Poliwag - .byte 0 @ Poliwhirl - .byte 0 @ Poliwrath - .byte 2 @ Abra - .byte 2 @ Kadabra - .byte 2 @ Alakazam - .byte 0 @ Machop - .byte 2 @ Machoke - .byte 0 @ Machamp - .byte 1 @ Bellsprout - .byte 1 @ Weepinbell - .byte 1 @ Victreebel - .byte 2 @ Tentacool - .byte 2 @ Tentacruel - .byte 1 @ Geodude - .byte 1 @ Graveler - .byte 1 @ Golem - .byte 0 @ Ponyta - .byte 0 @ Rapidash - .byte 0 @ Slowpoke - .byte 0 @ Slowbro - .byte 0 @ Magnemite - .byte 0 @ Magneton - .byte 1 @ Farfetch'd - .byte 2 @ Doduo - .byte 2 @ Dodrio - .byte 2 @ Seel - .byte 2 @ Dewgong - .byte 2 @ Grimer - .byte 2 @ Muk - .byte 2 @ Shellder - .byte 2 @ Cloyster - .byte 2 @ Gastly - .byte 2 @ Haunter - .byte 2 @ Gengar - .byte 2 @ Onix - .byte 2 @ Drowzee - .byte 1 @ Hypno - .byte 2 @ Krabby - .byte 2 @ Kingler - .byte 0 @ Voltorb - .byte 0 @ Electrode - .byte 0 @ Exeggcute - .byte 1 @ Exeggutor - .byte 1 @ Cubone - .byte 1 @ Marowak - .byte 2 @ Hitmonlee - .byte 2 @ Hitmonchan - .byte 1 @ Lickitung - .byte 2 @ Koffing - .byte 2 @ Weezing - .byte 1 @ Rhyhorn - .byte 1 @ Rhydon - .byte 0 @ Chansey - .byte 0 @ Tangela - .byte 1 @ Kangaskhan - .byte 0 @ Horsea - .byte 0 @ Seadra - .byte 0 @ Goldeen - .byte 0 @ Seaking - .byte 2 @ Staryu - .byte 2 @ Starmie - .byte 0 @ Mr. mime - .byte 1 @ Scyther - .byte 2 @ Jynx - .byte 1 @ Electabuzz - .byte 0 @ Magmar - .byte 2 @ Pinsir - .byte 2 @ Tauros - .byte 0 @ Magikarp - .byte 0 @ Gyarados - .byte 2 @ Lapras - .byte 2 @ Ditto - .byte 2 @ Eevee - .byte 0 @ Vaporeon - .byte 0 @ Jolteon - .byte 0 @ Flareon - .byte 0 @ Porygon - .byte 0 @ Omanyte - .byte 0 @ Omastar - .byte 2 @ Kabuto - .byte 2 @ Kabutops - .byte 0 @ Aerodactyl - .byte 1 @ Snorlax - .byte 0 @ Articuno - .byte 0 @ Zapdos - .byte 0 @ Moltres - .byte 0 @ Dratini - .byte 0 @ Dragonair - .byte 2 @ Dragonite - .byte 2 @ Mewtwo - .byte 0 @ Mew - .byte 1 @ Chikorita - .byte 1 @ Bayleef - .byte 1 @ Meganium - .byte 1 @ Cyndaquil - .byte 1 @ Quilava - .byte 1 @ Typhlosion - .byte 2 @ Totodile - .byte 2 @ Croconaw - .byte 2 @ Feraligatr - .byte 2 @ Sentret - .byte 2 @ Furret - .byte 2 @ Hoothoot - .byte 2 @ Noctowl - .byte 0 @ Ledyba - .byte 0 @ Ledian - .byte 1 @ Spinarak - .byte 0 @ Ariados - .byte 2 @ Crobat - .byte 2 @ Chinchou - .byte 0 @ Lanturn - .byte 0 @ Pichu - .byte 0 @ Cleffa - .byte 1 @ Igglybuff - .byte 2 @ Togepi - .byte 2 @ Togetic - .byte 0 @ Natu - .byte 0 @ Xatu - .byte 2 @ Mareep - .byte 0 @ Flaaffy - .byte 0 @ Ampharos - .byte 1 @ Bellossom - .byte 2 @ Marill - .byte 2 @ Azumarill - .byte 1 @ Sudowoodo - .byte 1 @ Politoed - .byte 1 @ Hoppip - .byte 1 @ Skiploom - .byte 2 @ Jumpluff - .byte 2 @ Aipom - .byte 1 @ Sunkern - .byte 1 @ Sunflora - .byte 1 @ Yanma - .byte 0 @ Wooper - .byte 0 @ Quagsire - .byte 2 @ Espeon - .byte 2 @ Umbreon - .byte 2 @ Murkrow - .byte 0 @ Slowking - .byte 0 @ Misdreavus - .byte 0 @ Unown A - .byte 0 @ Wobbuffet - .byte 1 @ Girafarig - .byte 0 @ Pineco - .byte 2 @ Forretress - .byte 2 @ Dunsparce - .byte 2 @ Gligar - .byte 0 @ Steelix - .byte 0 @ Snubbull - .byte 2 @ Granbull - .byte 0 @ Qwilfish - .byte 0 @ Scizor - .byte 1 @ Shuckle - .byte 2 @ Heracross - .byte 0 @ Sneasel - .byte 0 @ Teddiursa - .byte 2 @ Ursaring - .byte 0 @ Slugma - .byte 0 @ Magcargo - .byte 2 @ Swinub - .byte 2 @ Piloswine - .byte 0 @ Corsola - .byte 0 @ Remoraid - .byte 0 @ Octillery - .byte 0 @ Delibird - .byte 2 @ Mantine - .byte 0 @ Skarmory - .byte 0 @ Houndour - .byte 0 @ Houndoom - .byte 0 @ Kingdra - .byte 0 @ Phanpy - .byte 0 @ Donphan - .byte 0 @ Porygon2 - .byte 2 @ Stantler - .byte 1 @ Smeargle - .byte 2 @ Tyrogue - .byte 2 @ Hitmontop - .byte 1 @ Smoochum - .byte 1 @ Elekid - .byte 1 @ Magby - .byte 1 @ Miltank - .byte 1 @ Blissey - .byte 0 @ Raikou - .byte 2 @ Entei - .byte 0 @ Suicune - .byte 1 @ Larvitar - .byte 0 @ Pupitar - .byte 1 @ Tyranitar - .byte 0 @ Lugia - .byte 1 @ Ho-Oh - .byte 1 @ Celebi - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 1 @ Treecko - .byte 0 @ Grovyle - .byte 1 @ Sceptile - .byte 0 @ Torchic - .byte 0 @ Combusken - .byte 0 @ Blaziken - .byte 0 @ Mudkip - .byte 0 @ Marshtomp - .byte 0 @ Swampert - .byte 2 @ Poochyena - .byte 2 @ Mightyena - .byte 2 @ Zigzagoon - .byte 2 @ Linoone - .byte 0 @ Wurmple - .byte 2 @ Silcoon - .byte 0 @ Beautifly - .byte 2 @ Cascoon - .byte 1 @ Dustox - .byte 1 @ Lotad - .byte 1 @ Lombre - .byte 1 @ Ludicolo - .byte 1 @ Seedot - .byte 1 @ Nuzleaf - .byte 0 @ Shiftry - .byte 1 @ Nincada - .byte 1 @ Ninjask - .byte 1 @ Shedinja - .byte 2 @ Taillow - .byte 2 @ Swellow - .byte 1 @ Shroomish - .byte 1 @ Breloom - .byte 1 @ Spinda - .byte 0 @ Wingull - .byte 0 @ Pelipper - .byte 2 @ Surskit - .byte 0 @ Masquerain - .byte 2 @ Wailmer - .byte 0 @ Wailord - .byte 0 @ Skitty - .byte 2 @ Delcatty - .byte 1 @ Kecleon - .byte 1 @ Baltoy - .byte 0 @ Claydol - .byte 0 @ Nosepass - .byte 1 @ Torkoal - .byte 2 @ Sableye - .byte 0 @ Barboach - .byte 0 @ Whiscash - .byte 0 @ Luvdisc - .byte 0 @ Corphish - .byte 0 @ Crawdaunt - .byte 2 @ Feebas - .byte 0 @ Milotic - .byte 0 @ Carvanha - .byte 0 @ Sharpedo - .byte 1 @ Trapinch - .byte 1 @ Vibrava - .byte 1 @ Flygon - .byte 2 @ Makuhita - .byte 1 @ Hariyama - .byte 1 @ Electrike - .byte 0 @ Manectric - .byte 1 @ Numel - .byte 0 @ Camerupt - .byte 2 @ Spheal - .byte 2 @ Sealeo - .byte 0 @ Walrein - .byte 1 @ Cacnea - .byte 1 @ Cacturne - .byte 2 @ Snorunt - .byte 0 @ Glalie - .byte 1 @ Lunatone - .byte 0 @ Solrock - .byte 2 @ Azurill - .byte 0 @ Spoink - .byte 2 @ Grumpig - .byte 0 @ Plusle - .byte 0 @ Minun - .byte 2 @ Mawile - .byte 0 @ Meditite - .byte 0 @ Medicham - .byte 0 @ Swablu - .byte 0 @ Altaria - .byte 0 @ Wynaut - .byte 0 @ Duskull - .byte 0 @ Dusclops - .byte 0 @ Roselia - .byte 2 @ Slakoth - .byte 2 @ Vigoroth - .byte 1 @ Slaking - .byte 1 @ Gulpin - .byte 2 @ Swalot - .byte 1 @ Tropius - .byte 0 @ Whismur - .byte 2 @ Loudred - .byte 2 @ Exploud - .byte 0 @ Clamperl - .byte 0 @ Huntail - .byte 0 @ Gorebyss - .byte 0 @ Absol - .byte 0 @ Shuppet - .byte 0 @ Banette - .byte 2 @ Seviper - .byte 0 @ Zangoose - .byte 1 @ Relicanth - .byte 2 @ Aron - .byte 2 @ Lairon - .byte 2 @ Aggron - .byte 0 @ Castform - .byte 0 @ Volbeat - .byte 2 @ Illumise - .byte 2 @ Lileep - .byte 0 @ Cradily - .byte 0 @ Anorith - .byte 0 @ Armaldo - .byte 1 @ Ralts - .byte 1 @ Kirlia - .byte 1 @ Gardevoir - .byte 2 @ Bagon - .byte 2 @ Shelgon - .byte 0 @ Salamence - .byte 0 @ Beldum - .byte 0 @ Metang - .byte 0 @ Metagross - .byte 2 @ Regirock - .byte 2 @ Regice - .byte 2 @ Registeel - .byte 2 @ Kyogre - .byte 0 @ Groudon - .byte 1 @ Rayquaza - .byte 0 @ Latias - .byte 2 @ Latios - .byte 0 @ Jirachi - .byte 0 @ Deoxys - .byte 0 @ Chimecho - .byte 1 @ Egg - .byte 0 @ Unown B - .byte 0 @ Unown C - .byte 0 @ Unown D - .byte 0 @ Unown E - .byte 0 @ Unown F - .byte 0 @ Unown G - .byte 0 @ Unown H - .byte 0 @ Unown I - .byte 0 @ Unown J - .byte 0 @ Unown K - .byte 0 @ Unown L - .byte 0 @ Unown M - .byte 0 @ Unown N - .byte 0 @ Unown O - .byte 0 @ Unown P - .byte 0 @ Unown Q - .byte 0 @ Unown R - .byte 0 @ Unown S - .byte 0 @ Unown T - .byte 0 @ Unown U - .byte 0 @ Unown V - .byte 0 @ Unown W - .byte 0 @ Unown X - .byte 0 @ Unown Y - .byte 0 @ Unown Z - .byte 0 @ Unown Exclamation Mark - .byte 0 @ Unown Question Mark diff --git a/data/graphics/pokemon/icon_palette_table.inc b/data/graphics/pokemon/icon_palette_table.inc deleted file mode 100644 index eb79194233..0000000000 --- a/data/graphics/pokemon/icon_palette_table.inc +++ /dev/null @@ -1,11 +0,0 @@ - .align 2 -gMonIconPaletteTable:: @ 857C540 - obj_pal gMonIconPalettes + 0 * 32, 56000 - obj_pal gMonIconPalettes + 1 * 32, 56001 - obj_pal gMonIconPalettes + 2 * 32, 56002 - -@ These palettes are actually part of the title screen BG palette and are not -@ used for Pokémon icons. - obj_pal gMonIconPalettes + 3 * 32, 56003 - obj_pal gMonIconPalettes + 4 * 32, 56004 - obj_pal gMonIconPalettes + 5 * 32, 56005 diff --git a/data/graphics/pokemon/icon_table.inc b/data/graphics/pokemon/icon_table.inc deleted file mode 100644 index 06a86de43d..0000000000 --- a/data/graphics/pokemon/icon_table.inc +++ /dev/null @@ -1,442 +0,0 @@ - .align 2 -gMonIconTable:: @ 857BCA8 - .4byte gMonIcon_Bulbasaur - .4byte gMonIcon_Bulbasaur - .4byte gMonIcon_Ivysaur - .4byte gMonIcon_Venusaur - .4byte gMonIcon_Charmander - .4byte gMonIcon_Charmeleon - .4byte gMonIcon_Charizard - .4byte gMonIcon_Squirtle - .4byte gMonIcon_Wartortle - .4byte gMonIcon_Blastoise - .4byte gMonIcon_Caterpie - .4byte gMonIcon_Metapod - .4byte gMonIcon_Butterfree - .4byte gMonIcon_Weedle - .4byte gMonIcon_Kakuna - .4byte gMonIcon_Beedrill - .4byte gMonIcon_Pidgey - .4byte gMonIcon_Pidgeotto - .4byte gMonIcon_Pidgeot - .4byte gMonIcon_Rattata - .4byte gMonIcon_Raticate - .4byte gMonIcon_Spearow - .4byte gMonIcon_Fearow - .4byte gMonIcon_Ekans - .4byte gMonIcon_Arbok - .4byte gMonIcon_Pikachu - .4byte gMonIcon_Raichu - .4byte gMonIcon_Sandshrew - .4byte gMonIcon_Sandslash - .4byte gMonIcon_NidoranF - .4byte gMonIcon_Nidorina - .4byte gMonIcon_Nidoqueen - .4byte gMonIcon_NidoranM - .4byte gMonIcon_Nidorino - .4byte gMonIcon_Nidoking - .4byte gMonIcon_Clefairy - .4byte gMonIcon_Clefable - .4byte gMonIcon_Vulpix - .4byte gMonIcon_Ninetales - .4byte gMonIcon_Jigglypuff - .4byte gMonIcon_Wigglytuff - .4byte gMonIcon_Zubat - .4byte gMonIcon_Golbat - .4byte gMonIcon_Oddish - .4byte gMonIcon_Gloom - .4byte gMonIcon_Vileplume - .4byte gMonIcon_Paras - .4byte gMonIcon_Parasect - .4byte gMonIcon_Venonat - .4byte gMonIcon_Venomoth - .4byte gMonIcon_Diglett - .4byte gMonIcon_Dugtrio - .4byte gMonIcon_Meowth - .4byte gMonIcon_Persian - .4byte gMonIcon_Psyduck - .4byte gMonIcon_Golduck - .4byte gMonIcon_Mankey - .4byte gMonIcon_Primeape - .4byte gMonIcon_Growlithe - .4byte gMonIcon_Arcanine - .4byte gMonIcon_Poliwag - .4byte gMonIcon_Poliwhirl - .4byte gMonIcon_Poliwrath - .4byte gMonIcon_Abra - .4byte gMonIcon_Kadabra - .4byte gMonIcon_Alakazam - .4byte gMonIcon_Machop - .4byte gMonIcon_Machoke - .4byte gMonIcon_Machamp - .4byte gMonIcon_Bellsprout - .4byte gMonIcon_Weepinbell - .4byte gMonIcon_Victreebel - .4byte gMonIcon_Tentacool - .4byte gMonIcon_Tentacruel - .4byte gMonIcon_Geodude - .4byte gMonIcon_Graveler - .4byte gMonIcon_Golem - .4byte gMonIcon_Ponyta - .4byte gMonIcon_Rapidash - .4byte gMonIcon_Slowpoke - .4byte gMonIcon_Slowbro - .4byte gMonIcon_Magnemite - .4byte gMonIcon_Magneton - .4byte gMonIcon_Farfetchd - .4byte gMonIcon_Doduo - .4byte gMonIcon_Dodrio - .4byte gMonIcon_Seel - .4byte gMonIcon_Dewgong - .4byte gMonIcon_Grimer - .4byte gMonIcon_Muk - .4byte gMonIcon_Shellder - .4byte gMonIcon_Cloyster - .4byte gMonIcon_Gastly - .4byte gMonIcon_Haunter - .4byte gMonIcon_Gengar - .4byte gMonIcon_Onix - .4byte gMonIcon_Drowzee - .4byte gMonIcon_Hypno - .4byte gMonIcon_Krabby - .4byte gMonIcon_Kingler - .4byte gMonIcon_Voltorb - .4byte gMonIcon_Electrode - .4byte gMonIcon_Exeggcute - .4byte gMonIcon_Exeggutor - .4byte gMonIcon_Cubone - .4byte gMonIcon_Marowak - .4byte gMonIcon_Hitmonlee - .4byte gMonIcon_Hitmonchan - .4byte gMonIcon_Lickitung - .4byte gMonIcon_Koffing - .4byte gMonIcon_Weezing - .4byte gMonIcon_Rhyhorn - .4byte gMonIcon_Rhydon - .4byte gMonIcon_Chansey - .4byte gMonIcon_Tangela - .4byte gMonIcon_Kangaskhan - .4byte gMonIcon_Horsea - .4byte gMonIcon_Seadra - .4byte gMonIcon_Goldeen - .4byte gMonIcon_Seaking - .4byte gMonIcon_Staryu - .4byte gMonIcon_Starmie - .4byte gMonIcon_Mrmime - .4byte gMonIcon_Scyther - .4byte gMonIcon_Jynx - .4byte gMonIcon_Electabuzz - .4byte gMonIcon_Magmar - .4byte gMonIcon_Pinsir - .4byte gMonIcon_Tauros - .4byte gMonIcon_Magikarp - .4byte gMonIcon_Gyarados - .4byte gMonIcon_Lapras - .4byte gMonIcon_Ditto - .4byte gMonIcon_Eevee - .4byte gMonIcon_Vaporeon - .4byte gMonIcon_Jolteon - .4byte gMonIcon_Flareon - .4byte gMonIcon_Porygon - .4byte gMonIcon_Omanyte - .4byte gMonIcon_Omastar - .4byte gMonIcon_Kabuto - .4byte gMonIcon_Kabutops - .4byte gMonIcon_Aerodactyl - .4byte gMonIcon_Snorlax - .4byte gMonIcon_Articuno - .4byte gMonIcon_Zapdos - .4byte gMonIcon_Moltres - .4byte gMonIcon_Dratini - .4byte gMonIcon_Dragonair - .4byte gMonIcon_Dragonite - .4byte gMonIcon_Mewtwo - .4byte gMonIcon_Mew - .4byte gMonIcon_Chikorita - .4byte gMonIcon_Bayleef - .4byte gMonIcon_Meganium - .4byte gMonIcon_Cyndaquil - .4byte gMonIcon_Quilava - .4byte gMonIcon_Typhlosion - .4byte gMonIcon_Totodile - .4byte gMonIcon_Croconaw - .4byte gMonIcon_Feraligatr - .4byte gMonIcon_Sentret - .4byte gMonIcon_Furret - .4byte gMonIcon_Hoothoot - .4byte gMonIcon_Noctowl - .4byte gMonIcon_Ledyba - .4byte gMonIcon_Ledian - .4byte gMonIcon_Spinarak - .4byte gMonIcon_Ariados - .4byte gMonIcon_Crobat - .4byte gMonIcon_Chinchou - .4byte gMonIcon_Lanturn - .4byte gMonIcon_Pichu - .4byte gMonIcon_Cleffa - .4byte gMonIcon_Igglybuff - .4byte gMonIcon_Togepi - .4byte gMonIcon_Togetic - .4byte gMonIcon_Natu - .4byte gMonIcon_Xatu - .4byte gMonIcon_Mareep - .4byte gMonIcon_Flaaffy - .4byte gMonIcon_Ampharos - .4byte gMonIcon_Bellossom - .4byte gMonIcon_Marill - .4byte gMonIcon_Azumarill - .4byte gMonIcon_Sudowoodo - .4byte gMonIcon_Politoed - .4byte gMonIcon_Hoppip - .4byte gMonIcon_Skiploom - .4byte gMonIcon_Jumpluff - .4byte gMonIcon_Aipom - .4byte gMonIcon_Sunkern - .4byte gMonIcon_Sunflora - .4byte gMonIcon_Yanma - .4byte gMonIcon_Wooper - .4byte gMonIcon_Quagsire - .4byte gMonIcon_Espeon - .4byte gMonIcon_Umbreon - .4byte gMonIcon_Murkrow - .4byte gMonIcon_Slowking - .4byte gMonIcon_Misdreavus - .4byte gMonIcon_UnownA - .4byte gMonIcon_Wobbuffet - .4byte gMonIcon_Girafarig - .4byte gMonIcon_Pineco - .4byte gMonIcon_Forretress - .4byte gMonIcon_Dunsparce - .4byte gMonIcon_Gligar - .4byte gMonIcon_Steelix - .4byte gMonIcon_Snubbull - .4byte gMonIcon_Granbull - .4byte gMonIcon_Qwilfish - .4byte gMonIcon_Scizor - .4byte gMonIcon_Shuckle - .4byte gMonIcon_Heracross - .4byte gMonIcon_Sneasel - .4byte gMonIcon_Teddiursa - .4byte gMonIcon_Ursaring - .4byte gMonIcon_Slugma - .4byte gMonIcon_Magcargo - .4byte gMonIcon_Swinub - .4byte gMonIcon_Piloswine - .4byte gMonIcon_Corsola - .4byte gMonIcon_Remoraid - .4byte gMonIcon_Octillery - .4byte gMonIcon_Delibird - .4byte gMonIcon_Mantine - .4byte gMonIcon_Skarmory - .4byte gMonIcon_Houndour - .4byte gMonIcon_Houndoom - .4byte gMonIcon_Kingdra - .4byte gMonIcon_Phanpy - .4byte gMonIcon_Donphan - .4byte gMonIcon_Porygon2 - .4byte gMonIcon_Stantler - .4byte gMonIcon_Smeargle - .4byte gMonIcon_Tyrogue - .4byte gMonIcon_Hitmontop - .4byte gMonIcon_Smoochum - .4byte gMonIcon_Elekid - .4byte gMonIcon_Magby - .4byte gMonIcon_Miltank - .4byte gMonIcon_Blissey - .4byte gMonIcon_Raikou - .4byte gMonIcon_Entei - .4byte gMonIcon_Suicune - .4byte gMonIcon_Larvitar - .4byte gMonIcon_Pupitar - .4byte gMonIcon_Tyranitar - .4byte gMonIcon_Lugia - .4byte gMonIcon_HoOh - .4byte gMonIcon_Celebi - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_Treecko - .4byte gMonIcon_Grovyle - .4byte gMonIcon_Sceptile - .4byte gMonIcon_Torchic - .4byte gMonIcon_Combusken - .4byte gMonIcon_Blaziken - .4byte gMonIcon_Mudkip - .4byte gMonIcon_Marshtomp - .4byte gMonIcon_Swampert - .4byte gMonIcon_Poochyena - .4byte gMonIcon_Mightyena - .4byte gMonIcon_Zigzagoon - .4byte gMonIcon_Linoone - .4byte gMonIcon_Wurmple - .4byte gMonIcon_Silcoon - .4byte gMonIcon_Beautifly - .4byte gMonIcon_Cascoon - .4byte gMonIcon_Dustox - .4byte gMonIcon_Lotad - .4byte gMonIcon_Lombre - .4byte gMonIcon_Ludicolo - .4byte gMonIcon_Seedot - .4byte gMonIcon_Nuzleaf - .4byte gMonIcon_Shiftry - .4byte gMonIcon_Nincada - .4byte gMonIcon_Ninjask - .4byte gMonIcon_Shedinja - .4byte gMonIcon_Taillow - .4byte gMonIcon_Swellow - .4byte gMonIcon_Shroomish - .4byte gMonIcon_Breloom - .4byte gMonIcon_Spinda - .4byte gMonIcon_Wingull - .4byte gMonIcon_Pelipper - .4byte gMonIcon_Surskit - .4byte gMonIcon_Masquerain - .4byte gMonIcon_Wailmer - .4byte gMonIcon_Wailord - .4byte gMonIcon_Skitty - .4byte gMonIcon_Delcatty - .4byte gMonIcon_Kecleon - .4byte gMonIcon_Baltoy - .4byte gMonIcon_Claydol - .4byte gMonIcon_Nosepass - .4byte gMonIcon_Torkoal - .4byte gMonIcon_Sableye - .4byte gMonIcon_Barboach - .4byte gMonIcon_Whiscash - .4byte gMonIcon_Luvdisc - .4byte gMonIcon_Corphish - .4byte gMonIcon_Crawdaunt - .4byte gMonIcon_Feebas - .4byte gMonIcon_Milotic - .4byte gMonIcon_Carvanha - .4byte gMonIcon_Sharpedo - .4byte gMonIcon_Trapinch - .4byte gMonIcon_Vibrava - .4byte gMonIcon_Flygon - .4byte gMonIcon_Makuhita - .4byte gMonIcon_Hariyama - .4byte gMonIcon_Electrike - .4byte gMonIcon_Manectric - .4byte gMonIcon_Numel - .4byte gMonIcon_Camerupt - .4byte gMonIcon_Spheal - .4byte gMonIcon_Sealeo - .4byte gMonIcon_Walrein - .4byte gMonIcon_Cacnea - .4byte gMonIcon_Cacturne - .4byte gMonIcon_Snorunt - .4byte gMonIcon_Glalie - .4byte gMonIcon_Lunatone - .4byte gMonIcon_Solrock - .4byte gMonIcon_Azurill - .4byte gMonIcon_Spoink - .4byte gMonIcon_Grumpig - .4byte gMonIcon_Plusle - .4byte gMonIcon_Minun - .4byte gMonIcon_Mawile - .4byte gMonIcon_Meditite - .4byte gMonIcon_Medicham - .4byte gMonIcon_Swablu - .4byte gMonIcon_Altaria - .4byte gMonIcon_Wynaut - .4byte gMonIcon_Duskull - .4byte gMonIcon_Dusclops - .4byte gMonIcon_Roselia - .4byte gMonIcon_Slakoth - .4byte gMonIcon_Vigoroth - .4byte gMonIcon_Slaking - .4byte gMonIcon_Gulpin - .4byte gMonIcon_Swalot - .4byte gMonIcon_Tropius - .4byte gMonIcon_Whismur - .4byte gMonIcon_Loudred - .4byte gMonIcon_Exploud - .4byte gMonIcon_Clamperl - .4byte gMonIcon_Huntail - .4byte gMonIcon_Gorebyss - .4byte gMonIcon_Absol - .4byte gMonIcon_Shuppet - .4byte gMonIcon_Banette - .4byte gMonIcon_Seviper - .4byte gMonIcon_Zangoose - .4byte gMonIcon_Relicanth - .4byte gMonIcon_Aron - .4byte gMonIcon_Lairon - .4byte gMonIcon_Aggron - .4byte gMonIcon_Castform - .4byte gMonIcon_Volbeat - .4byte gMonIcon_Illumise - .4byte gMonIcon_Lileep - .4byte gMonIcon_Cradily - .4byte gMonIcon_Anorith - .4byte gMonIcon_Armaldo - .4byte gMonIcon_Ralts - .4byte gMonIcon_Kirlia - .4byte gMonIcon_Gardevoir - .4byte gMonIcon_Bagon - .4byte gMonIcon_Shelgon - .4byte gMonIcon_Salamence - .4byte gMonIcon_Beldum - .4byte gMonIcon_Metang - .4byte gMonIcon_Metagross - .4byte gMonIcon_Regirock - .4byte gMonIcon_Regice - .4byte gMonIcon_Registeel - .4byte gMonIcon_Kyogre - .4byte gMonIcon_Groudon - .4byte gMonIcon_Rayquaza - .4byte gMonIcon_Latias - .4byte gMonIcon_Latios - .4byte gMonIcon_Jirachi - .4byte gMonIcon_Deoxys - .4byte gMonIcon_Chimecho - .4byte gMonIcon_Egg - .4byte gMonIcon_UnownB - .4byte gMonIcon_UnownC - .4byte gMonIcon_UnownD - .4byte gMonIcon_UnownE - .4byte gMonIcon_UnownF - .4byte gMonIcon_UnownG - .4byte gMonIcon_UnownH - .4byte gMonIcon_UnownI - .4byte gMonIcon_UnownJ - .4byte gMonIcon_UnownK - .4byte gMonIcon_UnownL - .4byte gMonIcon_UnownM - .4byte gMonIcon_UnownN - .4byte gMonIcon_UnownO - .4byte gMonIcon_UnownP - .4byte gMonIcon_UnownQ - .4byte gMonIcon_UnownR - .4byte gMonIcon_UnownS - .4byte gMonIcon_UnownT - .4byte gMonIcon_UnownU - .4byte gMonIcon_UnownV - .4byte gMonIcon_UnownW - .4byte gMonIcon_UnownX - .4byte gMonIcon_UnownY - .4byte gMonIcon_UnownZ - .4byte gMonIcon_UnownExclamationMark - .4byte gMonIcon_UnownQuestionMark diff --git a/data/hall_of_fame.s b/data/hall_of_fame.s deleted file mode 100644 index 2678d96a68..0000000000 --- a/data/hall_of_fame.s +++ /dev/null @@ -1,46 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -gUnknown_085E5374:: @ 85E5374 - .incbin "baserom.gba", 0x5e5374, 0xc - -gUnknown_085E5380:: @ 85E5380 - .incbin "baserom.gba", 0x5e5380, 0x8 - -gUnknown_085E5388:: @ 85E5388 - .incbin "baserom.gba", 0x5e5388, 0x4 - -gUnknown_085E538C:: @ 85E538C - .incbin "baserom.gba", 0x5e538c, 0x8 - -gUnknown_085E5394:: @ 85E5394 - .incbin "baserom.gba", 0x5e5394, 0x10 - -gUnknown_085E53A4:: @ 85E53A4 - .incbin "baserom.gba", 0x5e53a4, 0x10 - -gUnknown_085E53B4:: @ 85E53B4 - .incbin "baserom.gba", 0x5e53b4, 0x6 - -gUnknown_085E53BA:: @ 85E53BA - .incbin "baserom.gba", 0x5e53ba, 0x2a - -gUnknown_085E53E4:: @ 85E53E4 - .incbin "baserom.gba", 0x5e53e4, 0x18 - -gUnknown_085E53FC:: @ 85E53FC - .incbin "baserom.gba", 0x5e53fc, 0xd4 - -gUnknown_085E54D0:: @ 85E54D0 - .incbin "baserom.gba", 0x5e54d0, 0x18 - -gUnknown_085E54E8:: @ 85E54E8 - .incbin "baserom.gba", 0x5e54e8, 0x20 - -gUnknown_085E5508:: @ 85E5508 - .incbin "baserom.gba", 0x5e5508, 0x1cc - -gUnknown_085E56D4:: @ 85E56D4 - .incbin "baserom.gba", 0x5e56d4, 0x1c diff --git a/data/heal_location.s b/data/heal_location.s deleted file mode 100644 index 31aa1a3514..0000000000 --- a/data/heal_location.s +++ /dev/null @@ -1,11 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_0859F534:: @ 859F534 - .incbin "baserom.gba", 0x59f534, 0x8 - -gUnknown_0859F53C:: @ 859F53C - .incbin "baserom.gba", 0x59f53c, 0xd0 diff --git a/data/item_effect_info.inc b/data/item_effect_info.inc deleted file mode 100644 index adbe866196..0000000000 --- a/data/item_effect_info.inc +++ /dev/null @@ -1,824 +0,0 @@ -gPotionItemEffectInfo:: @ 831E380 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x04 - .byte 0x00 - .byte 20 - -gAntidoteItemEffectInfo:: @ 831E387 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x10 - .byte 0x00 - .byte 0x00 - -gBurnHealItemEffectInfo:: @ 831E38D - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x08 - .byte 0x00 - .byte 0x00 - -gIceHealItemEffectInfo:: @ 831E393 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x04 - .byte 0x00 - .byte 0x00 - -gAwakeningItemEffectInfo:: @ 831E399 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x20 - .byte 0x00 - .byte 0x00 - -gParalyzeHealItemEffectInfo:: @ 831E39F - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x02 - .byte 0x00 - .byte 0x00 - -gFullRestoreItemEffectInfo:: @ 831E3A5 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x3f - .byte 0x04 - .byte 0x00 - .byte 0xff - -gMaxPotionItemEffectInfo:: @ 831E3AC - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x04 - .byte 0x00 - .byte 0xff - -gHyperPotionItemEffectInfo:: @ 831E3B3 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x04 - .byte 0x00 - .byte 200 - -gSuperPotionItemEffectInfo:: @ 831E3BA - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x04 - .byte 0x00 - .byte 50 - -gFullHealItemEffectInfo:: @ 831E3C1 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x3f - .byte 0x00 - .byte 0x00 - -gReviveItemEffectInfo:: @ 831E3C7 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x44 - .byte 0x00 - .byte 0xfe - -gMaxReviveItemEffectInfo:: @ 831E3CE - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x44 - .byte 0x00 - .byte 0xff - -gFreshWaterItemEffectInfo:: @ 831E3D5 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x04 - .byte 0x00 - .byte 50 - -gSodaPopItemEffectInfo:: @ 831E3DC - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x04 - .byte 0x00 - .byte 60 - -gLemonadeItemEffectInfo:: @ 831E3E3 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x04 - .byte 0x00 - .byte 80 - -gMoomooMilkItemEffectInfo:: @ 831E3EA - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x04 - .byte 0x00 - .byte 100 - -gEnergyPowderItemEffectInfo:: @ 831E3F1 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x04 - .byte 0xe0 - .byte 50 - .byte 0xfb - .byte 0xfb - .byte 0xf6 - -gEnergyRootItemEffectInfo:: @ 831E3FB - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x04 - .byte 0xe0 - .byte 200 - .byte 0xf6 - .byte 0xf6 - .byte 0xf1 - -gHealPowderItemEffectInfo:: @ 831E405 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x3f - .byte 0x00 - .byte 0xe0 - .byte 0xfb - .byte 0xfb - .byte 0xf6 - -gRevivalHerbItemEffectInfo:: @ 831E40E - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x44 - .byte 0xe0 - .byte 0xff - .byte 0xf1 - .byte 0xf1 - .byte 0xec - -gEtherItemEffectInfo:: @ 831E418 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x18 - .byte 0x00 - .byte 0x0a - -gMaxEtherItemEffectInfo:: @ 831E41F - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x18 - .byte 0x00 - .byte 0x7f - -gElixirItemEffectInfo:: @ 831E426 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x08 - .byte 0x00 - .byte 0x0a - -gMaxElixirItemEffectInfo:: @ 831E42D - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x08 - .byte 0x00 - .byte 0x7f - -gLavaCookieItemEffectInfo:: @ 831E434 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x3f - .byte 0x00 - .byte 0x00 - -gBlueFluteItemEffectInfo:: @ 831E43A - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x20 - .byte 0x00 - .byte 0x00 - -gYellowFluteItemEffectInfo:: @ 831E440 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x01 - .byte 0x00 - .byte 0x00 - -gRedFluteItemEffectInfo:: @ 831E446 - .byte 0x80 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - -gBerryJuiceItemEffectInfo:: @ 831E44C - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x04 - .byte 0x00 - .byte 20 - -gSacredAshItemEffectInfo:: @ 831E453 - .byte 0x40 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x44 - .byte 0x00 - .byte 0xff - -gHPUpItemEffectInfo:: @ 831E45A - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x01 - .byte 0xe0 - .byte 0x0a - .byte 0x05 - .byte 0x03 - .byte 0x02 - -gProteinItemEffectInfo:: @ 831E464 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x02 - .byte 0xe0 - .byte 0x0a - .byte 0x05 - .byte 0x03 - .byte 0x02 - -gIronItemEffectInfo:: @ 831E46E - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0xe1 - .byte 0x0a - .byte 0x05 - .byte 0x03 - .byte 0x02 - -gCarbosItemEffectInfo:: @ 831E478 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0xe2 - .byte 0x0a - .byte 0x05 - .byte 0x03 - .byte 0x02 - -gCalciumItemEffectInfo:: @ 831E482 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0xe8 - .byte 0x0a - .byte 0x05 - .byte 0x03 - .byte 0x02 - -gRareCandyItemEffectInfo:: @ 831E48C - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x40 - .byte 0x44 - .byte 0xe0 - .byte 0xfd - .byte 0x05 - .byte 0x03 - .byte 0x02 - -gPPUpItemEffectInfo:: @ 831E496 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x20 - .byte 0xe0 - .byte 0x05 - .byte 0x03 - .byte 0x02 - -gZincItemEffectInfo:: @ 831E49F - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0xe4 - .byte 0x0a - .byte 0x05 - .byte 0x03 - .byte 0x02 - -gPPMaxItemEffectInfo:: @ 831E4A9 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0xf0 - .byte 0x05 - .byte 0x03 - .byte 0x02 - -gGuardSpecItemEffectInfo:: @ 831E4B2 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x80 - .byte 0x00 - .byte 0x60 - .byte 0x01 - .byte 0x01 - -gDireHitItemEffectInfo:: @ 831E4BA - .byte 0x20 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x60 - .byte 0x01 - .byte 0x01 - -gXAttackItemEffectInfo:: @ 831E4C2 - .byte 0x01 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x60 - .byte 0x01 - .byte 0x01 - -gXDefendItemEffectInfo:: @ 831E4CA - .byte 0x00 - .byte 0x10 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x60 - .byte 0x01 - .byte 0x01 - -gXSpeedItemEffectInfo:: @ 831E4D2 - .byte 0x00 - .byte 0x01 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x60 - .byte 0x01 - .byte 0x01 - -gXAccuracyItemEffectInfo:: @ 831E4DA - .byte 0x00 - .byte 0x00 - .byte 0x10 - .byte 0x00 - .byte 0x00 - .byte 0x60 - .byte 0x01 - .byte 0x01 - -gXSpecialItemEffectInfo:: @ 831E4E2 - .byte 0x00 - .byte 0x00 - .byte 0x01 - .byte 0x00 - .byte 0x00 - .byte 0x60 - .byte 0x01 - .byte 0x01 - -gSunStoneItemEffectInfo:: @ 831E4EA - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x80 - .byte 0x00 - -gMoonStoneItemEffectInfo:: @ 831E4F0 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x80 - .byte 0x00 - -gFireStoneItemEffectInfo:: @ 831E4F6 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x80 - .byte 0x00 - -gThunderStoneItemEffectInfo:: @ 831E4FC - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x80 - .byte 0x00 - -gWaterStoneItemEffectInfo:: @ 831E502 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x80 - .byte 0x00 - -gLeafStoneItemEffectInfo:: @ 831E508 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x80 - .byte 0x00 - -gCheriBerryItemEffectInfo:: @ 831E50E - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x02 - .byte 0x00 - .byte 0x00 - -gChestoBerryItemEffectInfo:: @ 831E514 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x20 - .byte 0x00 - .byte 0x00 - -gPechaBerryItemEffectInfo:: @ 831E51A - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x10 - .byte 0x00 - .byte 0x00 - -gRawstBerryItemEffectInfo:: @ 831E520 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x08 - .byte 0x00 - .byte 0x00 - -gAspearBerryItemEffectInfo:: @ 831E526 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x04 - .byte 0x00 - .byte 0x00 - -gLeppaBerryItemEffectInfo:: @ 831E52C - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x18 - .byte 0x00 - .byte 0x0a - -gOranBerryItemEffectInfo:: @ 831E533 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x04 - .byte 0x00 - .byte 10 - -gPersimBerryItemEffectInfo:: @ 831E53A - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x01 - .byte 0x00 - .byte 0x00 - -gLumBerryItemEffectInfo:: @ 831E540 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x3f - .byte 0x00 - .byte 0x00 - -gSitrusBerryItemEffectInfo:: @ 831E546 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x04 - .byte 0x00 - .byte 30 - -gPomegBerryItemEffectInfo:: @ 831E54D - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x01 - .byte 0xe0 - .byte 0xf6 - .byte 0x0a - .byte 0x05 - .byte 0x02 - -gKelpsyBerryItemEffectInfo:: @ 831E557 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x02 - .byte 0xe0 - .byte 0xf6 - .byte 0x0a - .byte 0x05 - .byte 0x02 - -gQualotBerryItemEffectInfo:: @ 831E561 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0xe1 - .byte 0xf6 - .byte 0x0a - .byte 0x05 - .byte 0x02 - -gHondewBerryItemEffectInfo:: @ 831E56B - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0xe8 - .byte 0xf6 - .byte 0x0a - .byte 0x05 - .byte 0x02 - -gGrepaBerryItemEffectInfo:: @ 831E575 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0xe4 - .byte 0xf6 - .byte 0x0a - .byte 0x05 - .byte 0x02 - -gTamatoBerryItemEffectInfo:: @ 831E57F - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0x00 - .byte 0xe2 - .byte 0xf6 - .byte 0x0a - .byte 0x05 - .byte 0x02 - - .align 2 -gItemEffectTable:: @ 831E58C - .4byte gPotionItemEffectInfo - .4byte gAntidoteItemEffectInfo - .4byte gBurnHealItemEffectInfo - .4byte gIceHealItemEffectInfo - .4byte gAwakeningItemEffectInfo - .4byte gParalyzeHealItemEffectInfo - .4byte gFullRestoreItemEffectInfo - .4byte gMaxPotionItemEffectInfo - .4byte gHyperPotionItemEffectInfo - .4byte gSuperPotionItemEffectInfo - .4byte gFullHealItemEffectInfo - .4byte gReviveItemEffectInfo - .4byte gMaxReviveItemEffectInfo - .4byte gFreshWaterItemEffectInfo - .4byte gSodaPopItemEffectInfo - .4byte gLemonadeItemEffectInfo - .4byte gMoomooMilkItemEffectInfo - .4byte gEnergyPowderItemEffectInfo - .4byte gEnergyRootItemEffectInfo - .4byte gHealPowderItemEffectInfo - .4byte gRevivalHerbItemEffectInfo - .4byte gEtherItemEffectInfo - .4byte gMaxEtherItemEffectInfo - .4byte gElixirItemEffectInfo - .4byte gMaxElixirItemEffectInfo - .4byte gLavaCookieItemEffectInfo - .4byte gBlueFluteItemEffectInfo - .4byte gYellowFluteItemEffectInfo - .4byte gRedFluteItemEffectInfo - .4byte 0 - .4byte 0 - .4byte gBerryJuiceItemEffectInfo - .4byte gSacredAshItemEffectInfo - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte gHPUpItemEffectInfo - .4byte gProteinItemEffectInfo - .4byte gIronItemEffectInfo - .4byte gCarbosItemEffectInfo - .4byte gCalciumItemEffectInfo - .4byte gRareCandyItemEffectInfo - .4byte gPPUpItemEffectInfo - .4byte gZincItemEffectInfo - .4byte gPPMaxItemEffectInfo - .4byte 0 - .4byte gGuardSpecItemEffectInfo - .4byte gDireHitItemEffectInfo - .4byte gXAttackItemEffectInfo - .4byte gXDefendItemEffectInfo - .4byte gXSpeedItemEffectInfo - .4byte gXAccuracyItemEffectInfo - .4byte gXSpecialItemEffectInfo - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte gSunStoneItemEffectInfo - .4byte gMoonStoneItemEffectInfo - .4byte gFireStoneItemEffectInfo - .4byte gThunderStoneItemEffectInfo - .4byte gWaterStoneItemEffectInfo - .4byte gLeafStoneItemEffectInfo - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte gCheriBerryItemEffectInfo - .4byte gChestoBerryItemEffectInfo - .4byte gPechaBerryItemEffectInfo - .4byte gRawstBerryItemEffectInfo - .4byte gAspearBerryItemEffectInfo - .4byte gLeppaBerryItemEffectInfo - .4byte gOranBerryItemEffectInfo - .4byte gPersimBerryItemEffectInfo - .4byte gLumBerryItemEffectInfo - .4byte gSitrusBerryItemEffectInfo - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte gPomegBerryItemEffectInfo - .4byte gKelpsyBerryItemEffectInfo - .4byte gQualotBerryItemEffectInfo - .4byte gHondewBerryItemEffectInfo - .4byte gGrepaBerryItemEffectInfo - .4byte gTamatoBerryItemEffectInfo - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 - .4byte 0 diff --git a/data/item_icon.s b/data/item_icon.s index dac00dc6ca..6fd94d0a08 100644 --- a/data/item_icon.s +++ b/data/item_icon.s @@ -6,8 +6,3 @@ @ 8614410 .include "data/graphics/items/item_icon_table.inc" -@ 8614FE0 - .incbin "baserom.gba", 0x614fe0, 0x14 - -gUnknown_08614FF4:: @ 8614FF4 - .incbin "baserom.gba", 0x614ff4, 0x18 diff --git a/data/item_menu.s b/data/item_menu.s index 762f10ca46..1b11c5e597 100644 --- a/data/item_menu.s +++ b/data/item_menu.s @@ -4,70 +4,124 @@ .section .rodata gUnknown_08613F90:: @ 8613F90 - .incbin "baserom.gba", 0x613f90, 0xc + .4byte 0x11F0, 0x1E1, 0x21DE +@ possibly a struct gUnknown_08613F9C:: @ 8613F9C - .incbin "baserom.gba", 0x613f9c, 0x18 + .4byte 0 + .4byte bag_menu_change_item_callback + .4byte sub_81AB520 + .4byte 0 + .4byte 0x80000 + .4byte 0x7003011 gUnknown_08613FB4:: @ 8613FB4 - .incbin "baserom.gba", 0x613fb4, 0x78 + .4byte gMenuText_Use, ItemMenu_UseOutOfBattle + .4byte gMenuText_Toss, ItemMenu_Toss + .4byte gMenuText_Register, ItemMenu_Register + .4byte gMenuText_Give, ItemMenu_Give + .4byte gText_Cancel2, ItemMenu_Cancel + .4byte gMenuText_Use, ItemMenu_UseInBattle + .4byte gMenuText_Check, ItemMenu_UseOutOfBattle + .4byte gMenuText_Walk, ItemMenu_UseOutOfBattle + .4byte gMenuText_Deselect, ItemMenu_Register + .4byte gMenuText_CheckTag, ItemMenu_CheckTag + .4byte gMenuText_Confirm, unknown_ItemMenu_Confirm + .4byte gMenuText_Show, unknown_ItemMenu_Show + .4byte gMenuText_Give2, unknown_ItemMenu_Give2 + .4byte gMenuText_Confirm, unknown_ItemMenu_Confirm2 + .4byte gText_EmptyString2, NULL gUnknown_0861402C:: @ 861402C - .incbin "baserom.gba", 0x61402c, 0x4 + .byte 0, 3, 1, 4 gUnknown_08614030:: @ 8614030 - .incbin "baserom.gba", 0x614030, 0x4 + .byte 0, 2, 14, 4 gUnknown_08614034:: @ 8614034 - .incbin "baserom.gba", 0x614034, 0x4 + .byte 3, 14, 1, 4 gUnknown_08614038:: @ 8614038 - .incbin "baserom.gba", 0x614038, 0x4 + .byte 0, 3, 14, 4 gUnknown_0861403C:: @ 861403C - .incbin "baserom.gba", 0x61403c, 0x6 + .byte 9, 14, 0, 3, 1, 4 gUnknown_08614042:: @ 8614042 - .incbin "baserom.gba", 0x614042, 0x2 + .byte 5, 4 gUnknown_08614044:: @ 8614044 - .incbin "baserom.gba", 0x614044, 0x2 + .byte 3, 4 gUnknown_08614046:: @ 8614046 - .incbin "baserom.gba", 0x614046, 0x1 + .byte 4 gUnknown_08614047:: @ 8614047 - .incbin "baserom.gba", 0x614047, 0x4 + .byte 10, 9, 14, 4 gUnknown_0861404B:: @ 861404B - .incbin "baserom.gba", 0x61404b, 0x2 + .byte 11, 4 gUnknown_0861404D:: @ 861404D - .incbin "baserom.gba", 0x61404d, 0x2 + .byte 12, 4 gUnknown_0861404F:: @ 861404F - .incbin "baserom.gba", 0x61404f, 0x5 + .byte 13, 4 + .align 2 gUnknown_08614054:: @ 8614054 - .incbin "baserom.gba", 0x614054, 0x30 + .4byte unknown_item_menu_type + .4byte unknown_item_menu_type + .4byte item_menu_type_2 + .4byte display_sell_item_ask_str + .4byte unknown_ItemMenu_Confirm + .4byte unknown_item_menu_type + .4byte display_deposit_item_ask_str + .4byte unknown_item_menu_type + .4byte unknown_item_menu_type + .4byte unknown_item_menu_type + .4byte NULL + .4byte item_menu_type_b + .align 2 gUnknown_08614084:: @ 8614084 - .incbin "baserom.gba", 0x614084, 0x8 + .4byte BagMenuActuallyToss + .4byte BagMenuCancelToss gUnknown_0861408C:: @ 861408C - .incbin "baserom.gba", 0x61408c, 0x8 + .4byte sub_81AD84C + .4byte sub_81AD6FC +@ probably a struct gUnknown_08614094:: @ 8614094 - .incbin "baserom.gba", 0x614094, 0x10 + .4byte 0x1101C00 + .4byte 0xFFFF1064 + .4byte 0x6FFFFF + .4byte 0x6F gUnknown_086140A4:: @ 86140A4 - .incbin "baserom.gba", 0x6140a4, 0xc0 + .incbin "graphics/interface/select_button.4bpp" gUnknown_08614164:: @ 8614164 - .incbin "baserom.gba", 0x614164, 0x10 + .byte 0, 1, 3, 0, 1, 4, 0, 3, 6, 2, 1, 3, 0, 14, 10, 0 gUnknown_08614174:: @ 8614174 - .incbin "baserom.gba", 0x614174, 0x38 + window_template 0, 14, 2, 15, 16, 1, 0x27 + window_template 0, 0, 13, 14, 6, 1, 0x117 + window_template 0, 4, 1, 8, 2, 1, 0x1A1 + window_template 0, 1, 13, 5, 6, 12, 0x16B + window_template 0, 7, 13, 4, 6, 12, 0x189 + window_template 1, 2, 15, 27, 4, 15, 0x1B1 + null_window_template gUnknown_086141AC:: @ 86141AC - .incbin "baserom.gba", 0x6141ac, 0x50 + window_template 1, 22, 17, 7, 2, 15, 0x21D + window_template 1, 22, 15, 7, 4, 15, 0x21D + window_template 1, 15, 15, 14, 4, 15, 0x21D + window_template 1, 15, 13, 14, 6, 15, 0x21D + window_template 1, 2, 15, 27, 4, 15, 0x1B1 + window_template 1, 24, 15, 5, 4, 15, 0x21D + window_template 1, 21, 9, 5, 4, 15, 0x21D + window_template 1, 24, 17, 5, 2, 15, 0x21D + window_template 1, 18, 11, 10, 2, 15, 0x245 + window_template 1, 1, 1, 10, 2, 15, 0x231 diff --git a/data/item_menu_icons.s b/data/item_menu_icons.s index 3b7b0ef89b..36f339b090 100644 --- a/data/item_menu_icons.s +++ b/data/item_menu_icons.s @@ -1,59 +1,221 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" +#include "constants/items.h" + .include "asm/macros.inc" + .include "constants/constants.inc" - .section .rodata - .align 2, 0 + .section .rodata -gUnknown_0857F464:: @ 857F464 - .incbin "baserom.gba", 0x57f464, 0xe0 + .align 2 +gUnknown_0857F564:: @ 857F564 + .incbin "graphics/interface/bag_spinner.gbapal" -gUnknown_0857F544:: @ 857F544 - .incbin "baserom.gba", 0x57f544, 0x5f0 + .align 2 +gUnknown_0857F584:: @ 857F584 + .incbin "graphics/interface/bag_spinner.4bpp" + .align 2 +gUnknown_0857F604:: @ 857F604 + .incbin "graphics/unused/cherry.4bpp" + + .align 2 +gUnknown_0857FA84:: @ 857FA84 + .incbin "graphics/unused/cherry.gbapal" + + .align 2 +gOamData_857FAA4:: @ 857FAA4 + .2byte 0x0100, 0xc000, 0x0400, 0x0000 + + .align 2 +gSpriteAnim_857FAAC:: @ 857FAAC + .2byte 0x0000, 0x0004, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_857FAB4:: @ 857FAB4 + .2byte 0x0040, 0x0004, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_857FABC:: @ 857FABC + .2byte 0x0080, 0x0004, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_857FAC4:: @ 857FAC4 + .2byte 0x00c0, 0x0004, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_857FACC:: @ 857FACC + .2byte 0x0100, 0x0004, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_857FAD4:: @ 857FAD4 + .2byte 0x0140, 0x0004, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_857FADC:: @ 857FADC + .4byte gSpriteAnim_857FAAC + .4byte gSpriteAnim_857FAB4 + .4byte gSpriteAnim_857FAC4 + .4byte gSpriteAnim_857FACC + .4byte gSpriteAnim_857FAD4 + .4byte gSpriteAnim_857FABC + + .align 2 +gSpriteAffineAnim_857FAF4:: @ 857FAF4 + .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_857FB04:: @ 857FB04 + .2byte 0x0000, 0x0000, 0x02fe, 0x0000, 0x0000, 0x0000, 0x0402, 0x0000, 0x0000, 0x0000, 0x04fe, 0x0000, 0x0000, 0x0000, 0x0202, 0x0000 + .2byte 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnimTable_857FB2C:: @ 857FB2C + .4byte gSpriteAffineAnim_857FAF4 + .4byte gSpriteAffineAnim_857FB04 + + .align 2 gUnknown_0857FB34:: @ 857FB34 - .incbin "baserom.gba", 0x57fb34, 0x8 + obj_tiles gBagMaleTiles, 0x3000, 0x0064 + .align 2 gUnknown_0857FB3C:: @ 857FB3C - .incbin "baserom.gba", 0x57fb3c, 0x8 + obj_tiles gBagFemaleTiles, 0x3000, 0x0064 + .align 2 gUnknown_0857FB44:: @ 857FB44 - .incbin "baserom.gba", 0x57fb44, 0x8 + obj_pal gBagPalette, 0x0064 + .align 2 gUnknown_0857FB4C:: @ 857FB4C - .incbin "baserom.gba", 0x57fb4c, 0x4c + spr_template 0x0064, 0x0064, gOamData_857FAA4, gSpriteAnimTable_857FADC, NULL, gSpriteAffineAnimTable_857FB2C, SpriteCallbackDummy + .align 2 +gOamData_857FB64:: @ 857FB64 + .2byte 0x0000, 0x4800, 0x0800, 0x0000 + + .align 2 +gSpriteAnim_857FB6C:: @ 857FB6C + .2byte 0x0000, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_857FB74:: @ 857FB74 + .4byte gSpriteAnim_857FB6C + + .align 2 +gSpriteAffineAnim_857FB78:: @ 857FB78 + .2byte 0x0000, 0x0000, 0x1008, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_857FB88:: @ 857FB88 + .2byte 0x0000, 0x0000, 0x10f8, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 gUnknown_0857FB98:: @ 857FB98 - .incbin "baserom.gba", 0x57fb98, 0x4 + .4byte gSpriteAffineAnim_857FB78 + .align 2 gUnknown_0857FB9C:: @ 857FB9C - .incbin "baserom.gba", 0x57fb9c, 0x4 + .4byte gSpriteAffineAnim_857FB88 + .align 2 gUnknown_0857FBA0:: @ 857FBA0 - .incbin "baserom.gba", 0x57fba0, 0x8 + obj_tiles gUnknown_0857F584, 0x0080, 0x0065 + .align 2 gUnknown_0857FBA8:: @ 857FBA8 - .incbin "baserom.gba", 0x57fba8, 0x8 + obj_pal gUnknown_0857F564, 0x0065 + .align 2 gUnknown_0857FBB0:: @ 857FBB0 - .incbin "baserom.gba", 0x57fbb0, 0x3c + spr_template 0x0065, 0x0065, gOamData_857FB64, gSpriteAnimTable_857FB74, NULL, gUnknown_0857FB98, ObjectCB_SwitchPocketRotatingBallInit + .align 2 +gOamData_857FBC8:: @ 857FBC8 + .2byte 0x0000, 0xc000, 0x7400, 0x0000 + + .align 2 +gOamData_857FBD0:: @ 857FBD0 + .2byte 0x0300, 0xc000, 0x7000, 0x0000 + + .align 2 +gSpriteAnim_857FBD8:: @ 857FBD8 + .2byte 0x0000, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_857FBE0:: @ 857FBE0 + .4byte gSpriteAnim_857FBD8 + + .align 2 +gOamData_857FBE4:: @ 857FBE4 + .2byte 0xc000, 0x0201, 0x0800, 0x0000 + + .align 2 gUnknown_0857FBEC:: @ 857FBEC - .incbin "baserom.gba", 0x57fbec, 0x90 + spr_template 0xffff, 0x7544, gOamData_857FBC8, gSpriteAnimTable_857FBE0, gOamData_857FBE4, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 +gSpriteAffineAnim_857FC04:: @ 857FC04 + .2byte 0xffff, 0xffff, 0x60fd, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0xfffe, 0xfffe, 0x40ff, 0x0000, 0xfff8, 0x0000, 0x1000, 0x0000 + .2byte 0x0000, 0xfff8, 0x1000, 0x0000, 0x0100, 0x0100, 0x0000, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_857FC3C:: @ 857FC3C + .2byte 0xffff, 0xffff, 0x6003, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0xfffe, 0xfffe, 0x4001, 0x0000, 0xfff8, 0x0000, 0x1000, 0x0000 + .2byte 0x0000, 0xfff8, 0x1000, 0x0000, 0x0100, 0x0100, 0x0000, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnimTable_857FC74:: @ 857FC74 + .4byte gSpriteAffineAnim_857FC04 + .4byte gSpriteAffineAnim_857FC3C + + .align 2 gUnknown_0857FC7C:: @ 857FC7C - .incbin "baserom.gba", 0x57fc7c, 0x18 + spr_template 0xffff, 0x7544, gOamData_857FBD0, gSpriteAnimTable_857FBE0, gOamData_857FBE4, gSpriteAffineAnimTable_857FC74, SpriteCallbackDummy @ 857FC94 .include "data/graphics/berries/berry_pic_table.inc" + .align 2 gUnknown_0857FDEC:: @ 857FDEC - .incbin "baserom.gba", 0x57fdec, 0x8 + obj_tiles gBerryCheckCircle_Gfx, 0x0800, 0x2710 + .align 2 gUnknown_0857FDF4:: @ 857FDF4 - .incbin "baserom.gba", 0x57fdf4, 0x1c + obj_pal gUnknown_08D9BEF0, 0x2710 + .align 2 +gOamData_857FDFC:: @ 857FDFC + .2byte 0x0000, 0xc000, 0x0400, 0x0000 + + .align 2 +gSpriteAnim_857FE04:: @ 857FE04 + .2byte 0x0000, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_857FE0C:: @ 857FE0C + .4byte gSpriteAnim_857FE04 + + .align 2 gUnknown_0857FE10:: @ 857FE10 - .incbin "baserom.gba", 0x57fe10, 0x90 + spr_template 0x2710, 0x2710, gOamData_857FDFC, gSpriteAnimTable_857FE0C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gUnknown_0857FE28:: @ 857FE28 + spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D5860 + + .align 2 +gUnknown_0857FE40:: @ 857FE40 + spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D58F8 + + .align 2 +gUnknown_0857FE58:: @ 857FE58 + spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D5968 + + .align 2 +gUnknown_0857FE70:: @ 857FE70 + spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D5A94 + + .align 2 +gUnknown_0857FE88:: @ 857FE88 + spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D5B48 @ 857FEA0 .include "data/text/item_descriptions.inc" diff --git a/data/items.inc b/data/items.inc index d5c43a2c90..aee4079666 100644 --- a/data/items.inc +++ b/data/items.inc @@ -3893,7 +3893,7 @@ gItems:: @ 85839A0 .4byte gMachBikeItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 2 .4byte ItemUseOutOfBattle_Bike .4byte 0 @@ -3908,7 +3908,7 @@ gItems:: @ 85839A0 .4byte gCoinCaseItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CoinCase .4byte 0 @@ -3923,7 +3923,7 @@ gItems:: @ 85839A0 .4byte gItemfinderItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 2 .4byte ItemUseOutOfBattle_Itemfinder .4byte 0 @@ -3938,7 +3938,7 @@ gItems:: @ 85839A0 .4byte gOldRodItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 2 .4byte ItemUseOutOfBattle_Rod .4byte 0 @@ -3953,7 +3953,7 @@ gItems:: @ 85839A0 .4byte gGoodRodItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 2 .4byte ItemUseOutOfBattle_Rod .4byte 0 @@ -3968,7 +3968,7 @@ gItems:: @ 85839A0 .4byte gSuperRodItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 2 .4byte ItemUseOutOfBattle_Rod .4byte 0 @@ -3983,7 +3983,7 @@ gItems:: @ 85839A0 .4byte gSSTicketItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -3998,7 +3998,7 @@ gItems:: @ 85839A0 .4byte gContestPassItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -4028,7 +4028,7 @@ gItems:: @ 85839A0 .4byte gWailmerPailItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 2 .4byte ItemUseOutOfBattle_WailmerPail .4byte 0 @@ -4043,7 +4043,7 @@ gItems:: @ 85839A0 .4byte gDevonGoodsItemDescription .byte 2 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -4058,7 +4058,7 @@ gItems:: @ 85839A0 .4byte gSootSackItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -4073,7 +4073,7 @@ gItems:: @ 85839A0 .4byte gBasementKeyItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -4088,7 +4088,7 @@ gItems:: @ 85839A0 .4byte gAcroBikeItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 2 .4byte ItemUseOutOfBattle_Bike .4byte 0 @@ -4103,7 +4103,7 @@ gItems:: @ 85839A0 .4byte gPokeblockCaseItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 3 .4byte ItemUseOutOfBattle_PokeblockCase .4byte 0 @@ -4118,7 +4118,7 @@ gItems:: @ 85839A0 .4byte gLetterItemDescription .byte 2 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -4133,7 +4133,7 @@ gItems:: @ 85839A0 .4byte gEonTicketItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -4148,7 +4148,7 @@ gItems:: @ 85839A0 .4byte gRedOrbItemDescription .byte 2 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -4163,7 +4163,7 @@ gItems:: @ 85839A0 .4byte gBlueOrbItemDescription .byte 2 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -4178,7 +4178,7 @@ gItems:: @ 85839A0 .4byte gScannerItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -4193,7 +4193,7 @@ gItems:: @ 85839A0 .4byte gGoGogglesItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -4208,7 +4208,7 @@ gItems:: @ 85839A0 .4byte gMeteoriteItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -4223,7 +4223,7 @@ gItems:: @ 85839A0 .4byte gRoom1KeyItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -4238,7 +4238,7 @@ gItems:: @ 85839A0 .4byte gRoom2KeyItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -4253,7 +4253,7 @@ gItems:: @ 85839A0 .4byte gRoom4KeyItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -4268,7 +4268,7 @@ gItems:: @ 85839A0 .4byte gRoom6KeyItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -4283,7 +4283,7 @@ gItems:: @ 85839A0 .4byte gStorageKeyItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -4298,7 +4298,7 @@ gItems:: @ 85839A0 .4byte gRootFossilItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -4313,7 +4313,7 @@ gItems:: @ 85839A0 .4byte gClawFossilItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -4328,7 +4328,7 @@ gItems:: @ 85839A0 .4byte gDevonScopeItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5243,7 +5243,7 @@ gItems:: @ 85839A0 .4byte gOaksParcelItemDescription .byte 2 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5258,7 +5258,7 @@ gItems:: @ 85839A0 .4byte gPokeFluteItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5273,7 +5273,7 @@ gItems:: @ 85839A0 .4byte gSecretKeyItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5288,7 +5288,7 @@ gItems:: @ 85839A0 .4byte gBikeVoucherItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5303,7 +5303,7 @@ gItems:: @ 85839A0 .4byte gGoldTeethItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5318,7 +5318,7 @@ gItems:: @ 85839A0 .4byte gOldAmberItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5333,7 +5333,7 @@ gItems:: @ 85839A0 .4byte gCardKeyItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5348,7 +5348,7 @@ gItems:: @ 85839A0 .4byte gLiftKeyItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5363,7 +5363,7 @@ gItems:: @ 85839A0 .4byte gHelixFossilItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5378,7 +5378,7 @@ gItems:: @ 85839A0 .4byte gDomeFossilItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5393,7 +5393,7 @@ gItems:: @ 85839A0 .4byte gSilphScopeItemDescription .byte 1 .byte 0 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5408,7 +5408,7 @@ gItems:: @ 85839A0 .4byte gBicycleItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 2 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5423,7 +5423,7 @@ gItems:: @ 85839A0 .4byte gTownMapItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5438,7 +5438,7 @@ gItems:: @ 85839A0 .4byte gVSSeekerItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 2 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5453,7 +5453,7 @@ gItems:: @ 85839A0 .4byte gFameCheckerItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5468,7 +5468,7 @@ gItems:: @ 85839A0 .4byte gTMCaseItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5483,7 +5483,7 @@ gItems:: @ 85839A0 .4byte gBerryPouchItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5498,7 +5498,7 @@ gItems:: @ 85839A0 .4byte gTeachyTVItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 2 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5513,7 +5513,7 @@ gItems:: @ 85839A0 .4byte gTriPassItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5528,7 +5528,7 @@ gItems:: @ 85839A0 .4byte gRainbowPassItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5543,7 +5543,7 @@ gItems:: @ 85839A0 .4byte gTeaItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5558,7 +5558,7 @@ gItems:: @ 85839A0 .4byte gMysticTicketItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5573,7 +5573,7 @@ gItems:: @ 85839A0 .4byte gAuroraTicketItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5588,7 +5588,7 @@ gItems:: @ 85839A0 .4byte gPowderJarItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_PowderJar .4byte 0 @@ -5603,7 +5603,7 @@ gItems:: @ 85839A0 .4byte gRubyItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5618,7 +5618,7 @@ gItems:: @ 85839A0 .4byte gSapphireItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5633,7 +5633,7 @@ gItems:: @ 85839A0 .4byte gMagmaEmblemItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 @@ -5648,7 +5648,7 @@ gItems:: @ 85839A0 .4byte gOldSeaMapItemDescription .byte 1 .byte 1 - .byte POCKET_KEY_ITEMS + .byte BAG_KEYITEMS .byte 4 .4byte ItemUseOutOfBattle_CannotUse .4byte 0 diff --git a/data/learn_move.s b/data/learn_move.s index bcb8aeba1a..0a2c31e581 100644 --- a/data/learn_move.s +++ b/data/learn_move.s @@ -2,21 +2,92 @@ .include "constants/constants.inc" .section .rodata + +gUnknown_085CE9F8:: @ 85CE9F8 + .incbin "graphics/interface/ui_learn_move.gbapal" + +gUnknown_085CEA18:: @ 85CEA18 + .incbin "graphics/interface/ui_learn_move.4bpp" + +gUnknown_085CEB98:: @ 85CEB98 + .2byte 0 + .2byte 0 + .2byte 0 + .2byte 0 + .2byte 0x8000 + .2byte 0 + .2byte 0 + .2byte 0 + .2byte 0x4000 + .2byte 0 + .2byte 0 + .2byte 0 gUnknown_085CEBB0:: @ 85CEBB0 - .incbin "baserom.gba", 0x5cebb0, 0x8 + obj_tiles gUnknown_085CEA18, 0x180, 0x1595 gUnknown_085CEBB8:: @ 85CEBB8 - .incbin "baserom.gba", 0x5cebb8, 0x8 + obj_pal gUnknown_085CE9F8, 0x1596 gUnknown_085CEBC0:: @ 85CEBC0 - .incbin "baserom.gba", 0x5cebc0, 0x10 + .byte 0 + .byte 0x1B + .byte 16 + .byte 1 + .byte 0x75 + .byte 16 + .2byte 0xFFFF + .2byte 0xFFFF + .2byte 0x14CD + .2byte 0x14CD + .byte 0, 0 gUnknown_085CEBD0:: @ 85CEBD0 - .incbin "baserom.gba", 0x5cebd0, 0x40 + .byte 2 + .byte 0xC0 + .byte 8 + .byte 3 + .byte 0xC0 + .byte 0x68 + .2byte 0 + .2byte 0 + .2byte 0x1531 + .2byte 0x1531 + .byte 0, 0 +gUnknown_085CEBE0:: @ 85CEBE0 + .2byte 8 + .2byte 5 + .2byte 0xFFFF + .2byte 0 + +gUnknown_085CEBE8:: @ 85CEBE8 + .2byte 9 + .2byte 5 + .2byte 0xFFFF + .2byte 0 + +gUnknown_085CEBF0:: @ 85CEBF0 + .2byte 10 + .2byte 5 + .2byte 0xFFFF + .2byte 0 + +gUnknown_085CEBF8:: @ 85CEBF8 + .2byte 11 + .2byte 5 + .2byte 0xFFFF + .2byte 0 + +gUnknown_085CEC00:: @ 85CEC00 + .4byte gUnknown_085CEBE0 + .4byte gUnknown_085CEBE8 + .4byte gUnknown_085CEBF0 + .4byte gUnknown_085CEBF8 + gUnknown_085CEC10:: @ 85CEC10 - .incbin "baserom.gba", 0x5cec10, 0x18 + spr_template 0x1595, 0x1596, gUnknown_085CEB98, gUnknown_085CEC00, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_085CEC28:: @ 85CEC28 - .incbin "baserom.gba", 0x5cec28, 0x8 + .4byte 0x1F0 + .4byte 0x11E1 diff --git a/data/level_up_learnset_pointers.inc b/data/level_up_learnset_pointers.inc deleted file mode 100644 index 4b757dda98..0000000000 --- a/data/level_up_learnset_pointers.inc +++ /dev/null @@ -1,414 +0,0 @@ - .align 2 -gLevelUpLearnsets:: @ 832937C - .4byte gBulbasaurLevelUpLearnset - .4byte gBulbasaurLevelUpLearnset - .4byte gIvysaurLevelUpLearnset - .4byte gVenusaurLevelUpLearnset - .4byte gCharmanderLevelUpLearnset - .4byte gCharmeleonLevelUpLearnset - .4byte gCharizardLevelUpLearnset - .4byte gSquirtleLevelUpLearnset - .4byte gWartortleLevelUpLearnset - .4byte gBlastoiseLevelUpLearnset - .4byte gCaterpieLevelUpLearnset - .4byte gMetapodLevelUpLearnset - .4byte gButterfreeLevelUpLearnset - .4byte gWeedleLevelUpLearnset - .4byte gKakunaLevelUpLearnset - .4byte gBeedrillLevelUpLearnset - .4byte gPidgeyLevelUpLearnset - .4byte gPidgeottoLevelUpLearnset - .4byte gPidgeotLevelUpLearnset - .4byte gRattataLevelUpLearnset - .4byte gRaticateLevelUpLearnset - .4byte gSpearowLevelUpLearnset - .4byte gFearowLevelUpLearnset - .4byte gEkansLevelUpLearnset - .4byte gArbokLevelUpLearnset - .4byte gPikachuLevelUpLearnset - .4byte gRaichuLevelUpLearnset - .4byte gSandshrewLevelUpLearnset - .4byte gSandslashLevelUpLearnset - .4byte gNidoranFLevelUpLearnset - .4byte gNidorinaLevelUpLearnset - .4byte gNidoqueenLevelUpLearnset - .4byte gNidoranMLevelUpLearnset - .4byte gNidorinoLevelUpLearnset - .4byte gNidokingLevelUpLearnset - .4byte gClefairyLevelUpLearnset - .4byte gClefableLevelUpLearnset - .4byte gVulpixLevelUpLearnset - .4byte gNinetalesLevelUpLearnset - .4byte gJigglypuffLevelUpLearnset - .4byte gWigglytuffLevelUpLearnset - .4byte gZubatLevelUpLearnset - .4byte gGolbatLevelUpLearnset - .4byte gOddishLevelUpLearnset - .4byte gGloomLevelUpLearnset - .4byte gVileplumeLevelUpLearnset - .4byte gParasLevelUpLearnset - .4byte gParasectLevelUpLearnset - .4byte gVenonatLevelUpLearnset - .4byte gVenomothLevelUpLearnset - .4byte gDiglettLevelUpLearnset - .4byte gDugtrioLevelUpLearnset - .4byte gMeowthLevelUpLearnset - .4byte gPersianLevelUpLearnset - .4byte gPsyduckLevelUpLearnset - .4byte gGolduckLevelUpLearnset - .4byte gMankeyLevelUpLearnset - .4byte gPrimeapeLevelUpLearnset - .4byte gGrowlitheLevelUpLearnset - .4byte gArcanineLevelUpLearnset - .4byte gPoliwagLevelUpLearnset - .4byte gPoliwhirlLevelUpLearnset - .4byte gPoliwrathLevelUpLearnset - .4byte gAbraLevelUpLearnset - .4byte gKadabraLevelUpLearnset - .4byte gAlakazamLevelUpLearnset - .4byte gMachopLevelUpLearnset - .4byte gMachokeLevelUpLearnset - .4byte gMachampLevelUpLearnset - .4byte gBellsproutLevelUpLearnset - .4byte gWeepinbellLevelUpLearnset - .4byte gVictreebelLevelUpLearnset - .4byte gTentacoolLevelUpLearnset - .4byte gTentacruelLevelUpLearnset - .4byte gGeodudeLevelUpLearnset - .4byte gGravelerLevelUpLearnset - .4byte gGolemLevelUpLearnset - .4byte gPonytaLevelUpLearnset - .4byte gRapidashLevelUpLearnset - .4byte gSlowpokeLevelUpLearnset - .4byte gSlowbroLevelUpLearnset - .4byte gMagnemiteLevelUpLearnset - .4byte gMagnetonLevelUpLearnset - .4byte gFarfetchdLevelUpLearnset - .4byte gDoduoLevelUpLearnset - .4byte gDodrioLevelUpLearnset - .4byte gSeelLevelUpLearnset - .4byte gDewgongLevelUpLearnset - .4byte gGrimerLevelUpLearnset - .4byte gMukLevelUpLearnset - .4byte gShellderLevelUpLearnset - .4byte gCloysterLevelUpLearnset - .4byte gGastlyLevelUpLearnset - .4byte gHaunterLevelUpLearnset - .4byte gGengarLevelUpLearnset - .4byte gOnixLevelUpLearnset - .4byte gDrowzeeLevelUpLearnset - .4byte gHypnoLevelUpLearnset - .4byte gKrabbyLevelUpLearnset - .4byte gKinglerLevelUpLearnset - .4byte gVoltorbLevelUpLearnset - .4byte gElectrodeLevelUpLearnset - .4byte gExeggcuteLevelUpLearnset - .4byte gExeggutorLevelUpLearnset - .4byte gCuboneLevelUpLearnset - .4byte gMarowakLevelUpLearnset - .4byte gHitmonleeLevelUpLearnset - .4byte gHitmonchanLevelUpLearnset - .4byte gLickitungLevelUpLearnset - .4byte gKoffingLevelUpLearnset - .4byte gWeezingLevelUpLearnset - .4byte gRhyhornLevelUpLearnset - .4byte gRhydonLevelUpLearnset - .4byte gChanseyLevelUpLearnset - .4byte gTangelaLevelUpLearnset - .4byte gKangaskhanLevelUpLearnset - .4byte gHorseaLevelUpLearnset - .4byte gSeadraLevelUpLearnset - .4byte gGoldeenLevelUpLearnset - .4byte gSeakingLevelUpLearnset - .4byte gStaryuLevelUpLearnset - .4byte gStarmieLevelUpLearnset - .4byte gMrmimeLevelUpLearnset - .4byte gScytherLevelUpLearnset - .4byte gJynxLevelUpLearnset - .4byte gElectabuzzLevelUpLearnset - .4byte gMagmarLevelUpLearnset - .4byte gPinsirLevelUpLearnset - .4byte gTaurosLevelUpLearnset - .4byte gMagikarpLevelUpLearnset - .4byte gGyaradosLevelUpLearnset - .4byte gLaprasLevelUpLearnset - .4byte gDittoLevelUpLearnset - .4byte gEeveeLevelUpLearnset - .4byte gVaporeonLevelUpLearnset - .4byte gJolteonLevelUpLearnset - .4byte gFlareonLevelUpLearnset - .4byte gPorygonLevelUpLearnset - .4byte gOmanyteLevelUpLearnset - .4byte gOmastarLevelUpLearnset - .4byte gKabutoLevelUpLearnset - .4byte gKabutopsLevelUpLearnset - .4byte gAerodactylLevelUpLearnset - .4byte gSnorlaxLevelUpLearnset - .4byte gArticunoLevelUpLearnset - .4byte gZapdosLevelUpLearnset - .4byte gMoltresLevelUpLearnset - .4byte gDratiniLevelUpLearnset - .4byte gDragonairLevelUpLearnset - .4byte gDragoniteLevelUpLearnset - .4byte gMewtwoLevelUpLearnset - .4byte gMewLevelUpLearnset - .4byte gChikoritaLevelUpLearnset - .4byte gBayleefLevelUpLearnset - .4byte gMeganiumLevelUpLearnset - .4byte gCyndaquilLevelUpLearnset - .4byte gQuilavaLevelUpLearnset - .4byte gTyphlosionLevelUpLearnset - .4byte gTotodileLevelUpLearnset - .4byte gCroconawLevelUpLearnset - .4byte gFeraligatrLevelUpLearnset - .4byte gSentretLevelUpLearnset - .4byte gFurretLevelUpLearnset - .4byte gHoothootLevelUpLearnset - .4byte gNoctowlLevelUpLearnset - .4byte gLedybaLevelUpLearnset - .4byte gLedianLevelUpLearnset - .4byte gSpinarakLevelUpLearnset - .4byte gAriadosLevelUpLearnset - .4byte gCrobatLevelUpLearnset - .4byte gChinchouLevelUpLearnset - .4byte gLanturnLevelUpLearnset - .4byte gPichuLevelUpLearnset - .4byte gCleffaLevelUpLearnset - .4byte gIgglybuffLevelUpLearnset - .4byte gTogepiLevelUpLearnset - .4byte gTogeticLevelUpLearnset - .4byte gNatuLevelUpLearnset - .4byte gXatuLevelUpLearnset - .4byte gMareepLevelUpLearnset - .4byte gFlaaffyLevelUpLearnset - .4byte gAmpharosLevelUpLearnset - .4byte gBellossomLevelUpLearnset - .4byte gMarillLevelUpLearnset - .4byte gAzumarillLevelUpLearnset - .4byte gSudowoodoLevelUpLearnset - .4byte gPolitoedLevelUpLearnset - .4byte gHoppipLevelUpLearnset - .4byte gSkiploomLevelUpLearnset - .4byte gJumpluffLevelUpLearnset - .4byte gAipomLevelUpLearnset - .4byte gSunkernLevelUpLearnset - .4byte gSunfloraLevelUpLearnset - .4byte gYanmaLevelUpLearnset - .4byte gWooperLevelUpLearnset - .4byte gQuagsireLevelUpLearnset - .4byte gEspeonLevelUpLearnset - .4byte gUmbreonLevelUpLearnset - .4byte gMurkrowLevelUpLearnset - .4byte gSlowkingLevelUpLearnset - .4byte gMisdreavusLevelUpLearnset - .4byte gUnownLevelUpLearnset - .4byte gWobbuffetLevelUpLearnset - .4byte gGirafarigLevelUpLearnset - .4byte gPinecoLevelUpLearnset - .4byte gForretressLevelUpLearnset - .4byte gDunsparceLevelUpLearnset - .4byte gGligarLevelUpLearnset - .4byte gSteelixLevelUpLearnset - .4byte gSnubbullLevelUpLearnset - .4byte gGranbullLevelUpLearnset - .4byte gQwilfishLevelUpLearnset - .4byte gScizorLevelUpLearnset - .4byte gShuckleLevelUpLearnset - .4byte gHeracrossLevelUpLearnset - .4byte gSneaselLevelUpLearnset - .4byte gTeddiursaLevelUpLearnset - .4byte gUrsaringLevelUpLearnset - .4byte gSlugmaLevelUpLearnset - .4byte gMagcargoLevelUpLearnset - .4byte gSwinubLevelUpLearnset - .4byte gPiloswineLevelUpLearnset - .4byte gCorsolaLevelUpLearnset - .4byte gRemoraidLevelUpLearnset - .4byte gOctilleryLevelUpLearnset - .4byte gDelibirdLevelUpLearnset - .4byte gMantineLevelUpLearnset - .4byte gSkarmoryLevelUpLearnset - .4byte gHoundourLevelUpLearnset - .4byte gHoundoomLevelUpLearnset - .4byte gKingdraLevelUpLearnset - .4byte gPhanpyLevelUpLearnset - .4byte gDonphanLevelUpLearnset - .4byte gPorygon2LevelUpLearnset - .4byte gStantlerLevelUpLearnset - .4byte gSmeargleLevelUpLearnset - .4byte gTyrogueLevelUpLearnset - .4byte gHitmontopLevelUpLearnset - .4byte gSmoochumLevelUpLearnset - .4byte gElekidLevelUpLearnset - .4byte gMagbyLevelUpLearnset - .4byte gMiltankLevelUpLearnset - .4byte gBlisseyLevelUpLearnset - .4byte gRaikouLevelUpLearnset - .4byte gEnteiLevelUpLearnset - .4byte gSuicuneLevelUpLearnset - .4byte gLarvitarLevelUpLearnset - .4byte gPupitarLevelUpLearnset - .4byte gTyranitarLevelUpLearnset - .4byte gLugiaLevelUpLearnset - .4byte gHoOhLevelUpLearnset - .4byte gCelebiLevelUpLearnset - .4byte gSpecies252LevelUpLearnset - .4byte gSpecies253LevelUpLearnset - .4byte gSpecies254LevelUpLearnset - .4byte gSpecies255LevelUpLearnset - .4byte gSpecies256LevelUpLearnset - .4byte gSpecies257LevelUpLearnset - .4byte gSpecies258LevelUpLearnset - .4byte gSpecies259LevelUpLearnset - .4byte gSpecies260LevelUpLearnset - .4byte gSpecies261LevelUpLearnset - .4byte gSpecies262LevelUpLearnset - .4byte gSpecies263LevelUpLearnset - .4byte gSpecies264LevelUpLearnset - .4byte gSpecies265LevelUpLearnset - .4byte gSpecies266LevelUpLearnset - .4byte gSpecies267LevelUpLearnset - .4byte gSpecies268LevelUpLearnset - .4byte gSpecies269LevelUpLearnset - .4byte gSpecies270LevelUpLearnset - .4byte gSpecies271LevelUpLearnset - .4byte gSpecies272LevelUpLearnset - .4byte gSpecies273LevelUpLearnset - .4byte gSpecies274LevelUpLearnset - .4byte gSpecies275LevelUpLearnset - .4byte gSpecies276LevelUpLearnset - .4byte gTreeckoLevelUpLearnset - .4byte gGrovyleLevelUpLearnset - .4byte gSceptileLevelUpLearnset - .4byte gTorchicLevelUpLearnset - .4byte gCombuskenLevelUpLearnset - .4byte gBlazikenLevelUpLearnset - .4byte gMudkipLevelUpLearnset - .4byte gMarshtompLevelUpLearnset - .4byte gSwampertLevelUpLearnset - .4byte gPoochyenaLevelUpLearnset - .4byte gMightyenaLevelUpLearnset - .4byte gZigzagoonLevelUpLearnset - .4byte gLinooneLevelUpLearnset - .4byte gWurmpleLevelUpLearnset - .4byte gSilcoonLevelUpLearnset - .4byte gBeautiflyLevelUpLearnset - .4byte gCascoonLevelUpLearnset - .4byte gDustoxLevelUpLearnset - .4byte gLotadLevelUpLearnset - .4byte gLombreLevelUpLearnset - .4byte gLudicoloLevelUpLearnset - .4byte gSeedotLevelUpLearnset - .4byte gNuzleafLevelUpLearnset - .4byte gShiftryLevelUpLearnset - .4byte gNincadaLevelUpLearnset - .4byte gNinjaskLevelUpLearnset - .4byte gShedinjaLevelUpLearnset - .4byte gTaillowLevelUpLearnset - .4byte gSwellowLevelUpLearnset - .4byte gShroomishLevelUpLearnset - .4byte gBreloomLevelUpLearnset - .4byte gSpindaLevelUpLearnset - .4byte gWingullLevelUpLearnset - .4byte gPelipperLevelUpLearnset - .4byte gSurskitLevelUpLearnset - .4byte gMasquerainLevelUpLearnset - .4byte gWailmerLevelUpLearnset - .4byte gWailordLevelUpLearnset - .4byte gSkittyLevelUpLearnset - .4byte gDelcattyLevelUpLearnset - .4byte gKecleonLevelUpLearnset - .4byte gBaltoyLevelUpLearnset - .4byte gClaydolLevelUpLearnset - .4byte gNosepassLevelUpLearnset - .4byte gTorkoalLevelUpLearnset - .4byte gSableyeLevelUpLearnset - .4byte gBarboachLevelUpLearnset - .4byte gWhiscashLevelUpLearnset - .4byte gLuvdiscLevelUpLearnset - .4byte gCorphishLevelUpLearnset - .4byte gCrawdauntLevelUpLearnset - .4byte gFeebasLevelUpLearnset - .4byte gMiloticLevelUpLearnset - .4byte gCarvanhaLevelUpLearnset - .4byte gSharpedoLevelUpLearnset - .4byte gTrapinchLevelUpLearnset - .4byte gVibravaLevelUpLearnset - .4byte gFlygonLevelUpLearnset - .4byte gMakuhitaLevelUpLearnset - .4byte gHariyamaLevelUpLearnset - .4byte gElectrikeLevelUpLearnset - .4byte gManectricLevelUpLearnset - .4byte gNumelLevelUpLearnset - .4byte gCameruptLevelUpLearnset - .4byte gSphealLevelUpLearnset - .4byte gSealeoLevelUpLearnset - .4byte gWalreinLevelUpLearnset - .4byte gCacneaLevelUpLearnset - .4byte gCacturneLevelUpLearnset - .4byte gSnoruntLevelUpLearnset - .4byte gGlalieLevelUpLearnset - .4byte gLunatoneLevelUpLearnset - .4byte gSolrockLevelUpLearnset - .4byte gAzurillLevelUpLearnset - .4byte gSpoinkLevelUpLearnset - .4byte gGrumpigLevelUpLearnset - .4byte gPlusleLevelUpLearnset - .4byte gMinunLevelUpLearnset - .4byte gMawileLevelUpLearnset - .4byte gMedititeLevelUpLearnset - .4byte gMedichamLevelUpLearnset - .4byte gSwabluLevelUpLearnset - .4byte gAltariaLevelUpLearnset - .4byte gWynautLevelUpLearnset - .4byte gDuskullLevelUpLearnset - .4byte gDusclopsLevelUpLearnset - .4byte gRoseliaLevelUpLearnset - .4byte gSlakothLevelUpLearnset - .4byte gVigorothLevelUpLearnset - .4byte gSlakingLevelUpLearnset - .4byte gGulpinLevelUpLearnset - .4byte gSwalotLevelUpLearnset - .4byte gTropiusLevelUpLearnset - .4byte gWhismurLevelUpLearnset - .4byte gLoudredLevelUpLearnset - .4byte gExploudLevelUpLearnset - .4byte gClamperlLevelUpLearnset - .4byte gHuntailLevelUpLearnset - .4byte gGorebyssLevelUpLearnset - .4byte gAbsolLevelUpLearnset - .4byte gShuppetLevelUpLearnset - .4byte gBanetteLevelUpLearnset - .4byte gSeviperLevelUpLearnset - .4byte gZangooseLevelUpLearnset - .4byte gRelicanthLevelUpLearnset - .4byte gAronLevelUpLearnset - .4byte gLaironLevelUpLearnset - .4byte gAggronLevelUpLearnset - .4byte gCastformLevelUpLearnset - .4byte gVolbeatLevelUpLearnset - .4byte gIllumiseLevelUpLearnset - .4byte gLileepLevelUpLearnset - .4byte gCradilyLevelUpLearnset - .4byte gAnorithLevelUpLearnset - .4byte gArmaldoLevelUpLearnset - .4byte gRaltsLevelUpLearnset - .4byte gKirliaLevelUpLearnset - .4byte gGardevoirLevelUpLearnset - .4byte gBagonLevelUpLearnset - .4byte gShelgonLevelUpLearnset - .4byte gSalamenceLevelUpLearnset - .4byte gBeldumLevelUpLearnset - .4byte gMetangLevelUpLearnset - .4byte gMetagrossLevelUpLearnset - .4byte gRegirockLevelUpLearnset - .4byte gRegiceLevelUpLearnset - .4byte gRegisteelLevelUpLearnset - .4byte gKyogreLevelUpLearnset - .4byte gGroudonLevelUpLearnset - .4byte gRayquazaLevelUpLearnset - .4byte gLatiasLevelUpLearnset - .4byte gLatiosLevelUpLearnset - .4byte gJirachiLevelUpLearnset - .4byte gDeoxysLevelUpLearnset - .4byte gChimechoLevelUpLearnset diff --git a/data/level_up_learnsets.inc b/data/level_up_learnsets.inc deleted file mode 100644 index 1a3de4b799..0000000000 --- a/data/level_up_learnsets.inc +++ /dev/null @@ -1,5204 +0,0 @@ -gBulbasaurLevelUpLearnset:: @ 83230DC - level_up_move 1, MOVE_TACKLE - level_up_move 4, MOVE_GROWL - level_up_move 7, MOVE_LEECH_SEED - level_up_move 10, MOVE_VINE_WHIP - level_up_move 15, MOVE_POISON_POWDER - level_up_move 15, MOVE_SLEEP_POWDER - level_up_move 20, MOVE_RAZOR_LEAF - level_up_move 25, MOVE_SWEET_SCENT - level_up_move 32, MOVE_GROWTH - level_up_move 39, MOVE_SYNTHESIS - level_up_move 46, MOVE_SOLAR_BEAM - .2byte -1 - -gIvysaurLevelUpLearnset:: @ 83230F4 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_LEECH_SEED - level_up_move 4, MOVE_GROWL - level_up_move 7, MOVE_LEECH_SEED - level_up_move 10, MOVE_VINE_WHIP - level_up_move 15, MOVE_POISON_POWDER - level_up_move 15, MOVE_SLEEP_POWDER - level_up_move 22, MOVE_RAZOR_LEAF - level_up_move 29, MOVE_SWEET_SCENT - level_up_move 38, MOVE_GROWTH - level_up_move 47, MOVE_SYNTHESIS - level_up_move 56, MOVE_SOLAR_BEAM - .2byte -1 - -gVenusaurLevelUpLearnset:: @ 8323110 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_LEECH_SEED - level_up_move 1, MOVE_VINE_WHIP - level_up_move 4, MOVE_GROWL - level_up_move 7, MOVE_LEECH_SEED - level_up_move 10, MOVE_VINE_WHIP - level_up_move 15, MOVE_POISON_POWDER - level_up_move 15, MOVE_SLEEP_POWDER - level_up_move 22, MOVE_RAZOR_LEAF - level_up_move 29, MOVE_SWEET_SCENT - level_up_move 41, MOVE_GROWTH - level_up_move 53, MOVE_SYNTHESIS - level_up_move 65, MOVE_SOLAR_BEAM - .2byte -1 - -gCharmanderLevelUpLearnset:: @ 832312E - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_GROWL - level_up_move 7, MOVE_EMBER - level_up_move 13, MOVE_SMOKESCREEN - level_up_move 19, MOVE_RAGE - level_up_move 25, MOVE_SCARY_FACE - level_up_move 31, MOVE_FLAMETHROWER - level_up_move 37, MOVE_SLASH - level_up_move 43, MOVE_DRAGON_RAGE - level_up_move 49, MOVE_FIRE_SPIN - .2byte -1 - -gCharmeleonLevelUpLearnset:: @ 8323144 - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_EMBER - level_up_move 7, MOVE_EMBER - level_up_move 13, MOVE_SMOKESCREEN - level_up_move 20, MOVE_RAGE - level_up_move 27, MOVE_SCARY_FACE - level_up_move 34, MOVE_FLAMETHROWER - level_up_move 41, MOVE_SLASH - level_up_move 48, MOVE_DRAGON_RAGE - level_up_move 55, MOVE_FIRE_SPIN - .2byte -1 - -gCharizardLevelUpLearnset:: @ 832315C - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_EMBER - level_up_move 1, MOVE_SMOKESCREEN - level_up_move 7, MOVE_EMBER - level_up_move 13, MOVE_SMOKESCREEN - level_up_move 20, MOVE_RAGE - level_up_move 27, MOVE_SCARY_FACE - level_up_move 34, MOVE_FLAMETHROWER - level_up_move 36, MOVE_WING_ATTACK - level_up_move 44, MOVE_SLASH - level_up_move 54, MOVE_DRAGON_RAGE - level_up_move 64, MOVE_FIRE_SPIN - .2byte -1 - -gSquirtleLevelUpLearnset:: @ 8323178 - level_up_move 1, MOVE_TACKLE - level_up_move 4, MOVE_TAIL_WHIP - level_up_move 7, MOVE_BUBBLE - level_up_move 10, MOVE_WITHDRAW - level_up_move 13, MOVE_WATER_GUN - level_up_move 18, MOVE_BITE - level_up_move 23, MOVE_RAPID_SPIN - level_up_move 28, MOVE_PROTECT - level_up_move 33, MOVE_RAIN_DANCE - level_up_move 40, MOVE_SKULL_BASH - level_up_move 47, MOVE_HYDRO_PUMP - .2byte -1 - -gWartortleLevelUpLearnset:: @ 8323190 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_BUBBLE - level_up_move 4, MOVE_TAIL_WHIP - level_up_move 7, MOVE_BUBBLE - level_up_move 10, MOVE_WITHDRAW - level_up_move 13, MOVE_WATER_GUN - level_up_move 19, MOVE_BITE - level_up_move 25, MOVE_RAPID_SPIN - level_up_move 31, MOVE_PROTECT - level_up_move 37, MOVE_RAIN_DANCE - level_up_move 45, MOVE_SKULL_BASH - level_up_move 53, MOVE_HYDRO_PUMP - .2byte -1 - -gBlastoiseLevelUpLearnset:: @ 83231AC - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_BUBBLE - level_up_move 1, MOVE_WITHDRAW - level_up_move 4, MOVE_TAIL_WHIP - level_up_move 7, MOVE_BUBBLE - level_up_move 10, MOVE_WITHDRAW - level_up_move 13, MOVE_WATER_GUN - level_up_move 19, MOVE_BITE - level_up_move 25, MOVE_RAPID_SPIN - level_up_move 31, MOVE_PROTECT - level_up_move 42, MOVE_RAIN_DANCE - level_up_move 55, MOVE_SKULL_BASH - level_up_move 68, MOVE_HYDRO_PUMP - .2byte -1 - -gCaterpieLevelUpLearnset:: @ 83231CA - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_STRING_SHOT - .2byte -1 - -gMetapodLevelUpLearnset:: @ 83231D0 - level_up_move 1, MOVE_HARDEN - level_up_move 7, MOVE_HARDEN - .2byte -1 - -gButterfreeLevelUpLearnset:: @ 83231D6 - level_up_move 1, MOVE_CONFUSION - level_up_move 10, MOVE_CONFUSION - level_up_move 13, MOVE_POISON_POWDER - level_up_move 14, MOVE_STUN_SPORE - level_up_move 15, MOVE_SLEEP_POWDER - level_up_move 18, MOVE_SUPERSONIC - level_up_move 23, MOVE_WHIRLWIND - level_up_move 28, MOVE_GUST - level_up_move 34, MOVE_PSYBEAM - level_up_move 40, MOVE_SAFEGUARD - level_up_move 47, MOVE_SILVER_WIND - .2byte -1 - -gWeedleLevelUpLearnset:: @ 83231EE - level_up_move 1, MOVE_POISON_STING - level_up_move 1, MOVE_STRING_SHOT - .2byte -1 - -gKakunaLevelUpLearnset:: @ 83231F4 - level_up_move 1, MOVE_HARDEN - level_up_move 7, MOVE_HARDEN - .2byte -1 - -gBeedrillLevelUpLearnset:: @ 83231FA - level_up_move 1, MOVE_FURY_ATTACK - level_up_move 10, MOVE_FURY_ATTACK - level_up_move 15, MOVE_FOCUS_ENERGY - level_up_move 20, MOVE_TWINEEDLE - level_up_move 25, MOVE_RAGE - level_up_move 30, MOVE_PURSUIT - level_up_move 35, MOVE_PIN_MISSILE - level_up_move 40, MOVE_AGILITY - level_up_move 45, MOVE_ENDEAVOR - .2byte -1 - -gPidgeyLevelUpLearnset:: @ 832320E - level_up_move 1, MOVE_TACKLE - level_up_move 5, MOVE_SAND_ATTACK - level_up_move 9, MOVE_GUST - level_up_move 13, MOVE_QUICK_ATTACK - level_up_move 19, MOVE_WHIRLWIND - level_up_move 25, MOVE_WING_ATTACK - level_up_move 31, MOVE_FEATHER_DANCE - level_up_move 39, MOVE_AGILITY - level_up_move 47, MOVE_MIRROR_MOVE - .2byte -1 - -gPidgeottoLevelUpLearnset:: @ 8323222 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_SAND_ATTACK - level_up_move 1, MOVE_GUST - level_up_move 5, MOVE_SAND_ATTACK - level_up_move 9, MOVE_GUST - level_up_move 13, MOVE_QUICK_ATTACK - level_up_move 20, MOVE_WHIRLWIND - level_up_move 27, MOVE_WING_ATTACK - level_up_move 34, MOVE_FEATHER_DANCE - level_up_move 43, MOVE_AGILITY - level_up_move 52, MOVE_MIRROR_MOVE - .2byte -1 - -gPidgeotLevelUpLearnset:: @ 832323A - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_SAND_ATTACK - level_up_move 1, MOVE_GUST - level_up_move 1, MOVE_QUICK_ATTACK - level_up_move 5, MOVE_SAND_ATTACK - level_up_move 9, MOVE_GUST - level_up_move 13, MOVE_QUICK_ATTACK - level_up_move 20, MOVE_WHIRLWIND - level_up_move 27, MOVE_WING_ATTACK - level_up_move 34, MOVE_FEATHER_DANCE - level_up_move 48, MOVE_AGILITY - level_up_move 62, MOVE_MIRROR_MOVE - .2byte -1 - -gRattataLevelUpLearnset:: @ 8323254 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 7, MOVE_QUICK_ATTACK - level_up_move 13, MOVE_HYPER_FANG - level_up_move 20, MOVE_FOCUS_ENERGY - level_up_move 27, MOVE_PURSUIT - level_up_move 34, MOVE_SUPER_FANG - level_up_move 41, MOVE_ENDEAVOR - .2byte -1 - -gRaticateLevelUpLearnset:: @ 8323266 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_QUICK_ATTACK - level_up_move 7, MOVE_QUICK_ATTACK - level_up_move 13, MOVE_HYPER_FANG - level_up_move 20, MOVE_SCARY_FACE - level_up_move 30, MOVE_PURSUIT - level_up_move 40, MOVE_SUPER_FANG - level_up_move 50, MOVE_ENDEAVOR - .2byte -1 - -gSpearowLevelUpLearnset:: @ 832327A - level_up_move 1, MOVE_PECK - level_up_move 1, MOVE_GROWL - level_up_move 7, MOVE_LEER - level_up_move 13, MOVE_FURY_ATTACK - level_up_move 19, MOVE_PURSUIT - level_up_move 25, MOVE_AERIAL_ACE - level_up_move 31, MOVE_MIRROR_MOVE - level_up_move 37, MOVE_DRILL_PECK - level_up_move 43, MOVE_AGILITY - .2byte -1 - -gFearowLevelUpLearnset:: @ 832328E - level_up_move 1, MOVE_PECK - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_FURY_ATTACK - level_up_move 7, MOVE_LEER - level_up_move 13, MOVE_FURY_ATTACK - level_up_move 26, MOVE_PURSUIT - level_up_move 32, MOVE_MIRROR_MOVE - level_up_move 40, MOVE_DRILL_PECK - level_up_move 47, MOVE_AGILITY - .2byte -1 - -gEkansLevelUpLearnset:: @ 83232A4 - level_up_move 1, MOVE_WRAP - level_up_move 1, MOVE_LEER - level_up_move 8, MOVE_POISON_STING - level_up_move 13, MOVE_BITE - level_up_move 20, MOVE_GLARE - level_up_move 25, MOVE_SCREECH - level_up_move 32, MOVE_ACID - level_up_move 37, MOVE_STOCKPILE - level_up_move 37, MOVE_SWALLOW - level_up_move 37, MOVE_SPIT_UP - level_up_move 44, MOVE_HAZE - .2byte -1 - -gArbokLevelUpLearnset:: @ 83232BC - level_up_move 1, MOVE_WRAP - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_POISON_STING - level_up_move 1, MOVE_BITE - level_up_move 8, MOVE_POISON_STING - level_up_move 13, MOVE_BITE - level_up_move 20, MOVE_GLARE - level_up_move 28, MOVE_SCREECH - level_up_move 38, MOVE_ACID - level_up_move 46, MOVE_STOCKPILE - level_up_move 46, MOVE_SWALLOW - level_up_move 46, MOVE_SPIT_UP - level_up_move 56, MOVE_HAZE - .2byte -1 - -gPikachuLevelUpLearnset:: @ 83232D8 - level_up_move 1, MOVE_THUNDER_SHOCK - level_up_move 1, MOVE_GROWL - level_up_move 6, MOVE_TAIL_WHIP - level_up_move 8, MOVE_THUNDER_WAVE - level_up_move 11, MOVE_QUICK_ATTACK - level_up_move 15, MOVE_DOUBLE_TEAM - level_up_move 20, MOVE_SLAM - level_up_move 26, MOVE_THUNDERBOLT - level_up_move 33, MOVE_AGILITY - level_up_move 41, MOVE_THUNDER - level_up_move 50, MOVE_LIGHT_SCREEN - .2byte -1 - -gRaichuLevelUpLearnset:: @ 83232F0 - level_up_move 1, MOVE_THUNDER_SHOCK - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_QUICK_ATTACK - level_up_move 1, MOVE_THUNDERBOLT - .2byte -1 - -gSandshrewLevelUpLearnset:: @ 83232FA - level_up_move 1, MOVE_SCRATCH - level_up_move 6, MOVE_DEFENSE_CURL - level_up_move 11, MOVE_SAND_ATTACK - level_up_move 17, MOVE_POISON_STING - level_up_move 23, MOVE_SLASH - level_up_move 30, MOVE_SWIFT - level_up_move 37, MOVE_FURY_SWIPES - level_up_move 45, MOVE_SAND_TOMB - level_up_move 53, MOVE_SANDSTORM - .2byte -1 - -gSandslashLevelUpLearnset:: @ 832330E - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_DEFENSE_CURL - level_up_move 1, MOVE_SAND_ATTACK - level_up_move 6, MOVE_DEFENSE_CURL - level_up_move 11, MOVE_SAND_ATTACK - level_up_move 17, MOVE_POISON_STING - level_up_move 24, MOVE_SLASH - level_up_move 33, MOVE_SWIFT - level_up_move 42, MOVE_FURY_SWIPES - level_up_move 52, MOVE_SAND_TOMB - level_up_move 62, MOVE_SANDSTORM - .2byte -1 - -gNidoranFLevelUpLearnset:: @ 8323326 - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_SCRATCH - level_up_move 8, MOVE_TAIL_WHIP - level_up_move 12, MOVE_DOUBLE_KICK - level_up_move 17, MOVE_POISON_STING - level_up_move 20, MOVE_BITE - level_up_move 23, MOVE_HELPING_HAND - level_up_move 30, MOVE_FURY_SWIPES - level_up_move 38, MOVE_FLATTER - level_up_move 47, MOVE_CRUNCH - .2byte -1 - -gNidorinaLevelUpLearnset:: @ 832333C - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_SCRATCH - level_up_move 8, MOVE_TAIL_WHIP - level_up_move 12, MOVE_DOUBLE_KICK - level_up_move 18, MOVE_POISON_STING - level_up_move 22, MOVE_BITE - level_up_move 26, MOVE_HELPING_HAND - level_up_move 34, MOVE_FURY_SWIPES - level_up_move 43, MOVE_FLATTER - level_up_move 53, MOVE_CRUNCH - .2byte -1 - -gNidoqueenLevelUpLearnset:: @ 8323352 - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_DOUBLE_KICK - level_up_move 1, MOVE_POISON_STING - level_up_move 23, MOVE_BODY_SLAM - .2byte -1 - -gNidoranMLevelUpLearnset:: @ 832335E - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_PECK - level_up_move 8, MOVE_FOCUS_ENERGY - level_up_move 12, MOVE_DOUBLE_KICK - level_up_move 17, MOVE_POISON_STING - level_up_move 20, MOVE_HORN_ATTACK - level_up_move 23, MOVE_HELPING_HAND - level_up_move 30, MOVE_FURY_ATTACK - level_up_move 38, MOVE_FLATTER - level_up_move 47, MOVE_HORN_DRILL - .2byte -1 - -gNidorinoLevelUpLearnset:: @ 8323374 - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_PECK - level_up_move 8, MOVE_FOCUS_ENERGY - level_up_move 12, MOVE_DOUBLE_KICK - level_up_move 18, MOVE_POISON_STING - level_up_move 22, MOVE_HORN_ATTACK - level_up_move 26, MOVE_HELPING_HAND - level_up_move 34, MOVE_FURY_ATTACK - level_up_move 43, MOVE_FLATTER - level_up_move 53, MOVE_HORN_DRILL - .2byte -1 - -gNidokingLevelUpLearnset:: @ 832338A - level_up_move 1, MOVE_PECK - level_up_move 1, MOVE_FOCUS_ENERGY - level_up_move 1, MOVE_DOUBLE_KICK - level_up_move 1, MOVE_POISON_STING - level_up_move 23, MOVE_THRASH - .2byte -1 - -gClefairyLevelUpLearnset:: @ 8323396 - level_up_move 1, MOVE_POUND - level_up_move 1, MOVE_GROWL - level_up_move 5, MOVE_ENCORE - level_up_move 9, MOVE_SING - level_up_move 13, MOVE_DOUBLE_SLAP - level_up_move 17, MOVE_FOLLOW_ME - level_up_move 21, MOVE_MINIMIZE - level_up_move 25, MOVE_DEFENSE_CURL - level_up_move 29, MOVE_METRONOME - level_up_move 33, MOVE_COSMIC_POWER - level_up_move 37, MOVE_MOONLIGHT - level_up_move 41, MOVE_LIGHT_SCREEN - level_up_move 45, MOVE_METEOR_MASH - .2byte -1 - -gClefableLevelUpLearnset:: @ 83233B2 - level_up_move 1, MOVE_SING - level_up_move 1, MOVE_DOUBLE_SLAP - level_up_move 1, MOVE_MINIMIZE - level_up_move 1, MOVE_METRONOME - .2byte -1 - -gVulpixLevelUpLearnset:: @ 83233BC - level_up_move 1, MOVE_EMBER - level_up_move 5, MOVE_TAIL_WHIP - level_up_move 9, MOVE_ROAR - level_up_move 13, MOVE_QUICK_ATTACK - level_up_move 17, MOVE_WILL_O_WISP - level_up_move 21, MOVE_CONFUSE_RAY - level_up_move 25, MOVE_IMPRISON - level_up_move 29, MOVE_FLAMETHROWER - level_up_move 33, MOVE_SAFEGUARD - level_up_move 37, MOVE_GRUDGE - level_up_move 41, MOVE_FIRE_SPIN - .2byte -1 - -gNinetalesLevelUpLearnset:: @ 83233D4 - level_up_move 1, MOVE_EMBER - level_up_move 1, MOVE_QUICK_ATTACK - level_up_move 1, MOVE_CONFUSE_RAY - level_up_move 1, MOVE_SAFEGUARD - level_up_move 45, MOVE_FIRE_SPIN - .2byte -1 - -gJigglypuffLevelUpLearnset:: @ 83233E0 - level_up_move 1, MOVE_SING - level_up_move 4, MOVE_DEFENSE_CURL - level_up_move 9, MOVE_POUND - level_up_move 14, MOVE_DISABLE - level_up_move 19, MOVE_ROLLOUT - level_up_move 24, MOVE_DOUBLE_SLAP - level_up_move 29, MOVE_REST - level_up_move 34, MOVE_BODY_SLAM - level_up_move 39, MOVE_MIMIC - level_up_move 44, MOVE_HYPER_VOICE - level_up_move 49, MOVE_DOUBLE_EDGE - .2byte -1 - -gWigglytuffLevelUpLearnset:: @ 83233F8 - level_up_move 1, MOVE_SING - level_up_move 1, MOVE_DISABLE - level_up_move 1, MOVE_DEFENSE_CURL - level_up_move 1, MOVE_DOUBLE_SLAP - .2byte -1 - -gZubatLevelUpLearnset:: @ 8323402 - level_up_move 1, MOVE_LEECH_LIFE - level_up_move 6, MOVE_SUPERSONIC - level_up_move 11, MOVE_ASTONISH - level_up_move 16, MOVE_BITE - level_up_move 21, MOVE_WING_ATTACK - level_up_move 26, MOVE_CONFUSE_RAY - level_up_move 31, MOVE_AIR_CUTTER - level_up_move 36, MOVE_MEAN_LOOK - level_up_move 41, MOVE_POISON_FANG - level_up_move 46, MOVE_HAZE - .2byte -1 - -gGolbatLevelUpLearnset:: @ 8323418 - level_up_move 1, MOVE_SCREECH - level_up_move 1, MOVE_LEECH_LIFE - level_up_move 1, MOVE_SUPERSONIC - level_up_move 1, MOVE_ASTONISH - level_up_move 6, MOVE_SUPERSONIC - level_up_move 11, MOVE_ASTONISH - level_up_move 16, MOVE_BITE - level_up_move 21, MOVE_WING_ATTACK - level_up_move 28, MOVE_CONFUSE_RAY - level_up_move 35, MOVE_AIR_CUTTER - level_up_move 42, MOVE_MEAN_LOOK - level_up_move 49, MOVE_POISON_FANG - level_up_move 56, MOVE_HAZE - .2byte -1 - -gOddishLevelUpLearnset:: @ 8323434 - level_up_move 1, MOVE_ABSORB - level_up_move 7, MOVE_SWEET_SCENT - level_up_move 14, MOVE_POISON_POWDER - level_up_move 16, MOVE_STUN_SPORE - level_up_move 18, MOVE_SLEEP_POWDER - level_up_move 23, MOVE_ACID - level_up_move 32, MOVE_MOONLIGHT - level_up_move 39, MOVE_PETAL_DANCE - .2byte -1 - -gGloomLevelUpLearnset:: @ 8323446 - level_up_move 1, MOVE_ABSORB - level_up_move 1, MOVE_SWEET_SCENT - level_up_move 1, MOVE_POISON_POWDER - level_up_move 7, MOVE_SWEET_SCENT - level_up_move 14, MOVE_POISON_POWDER - level_up_move 16, MOVE_STUN_SPORE - level_up_move 18, MOVE_SLEEP_POWDER - level_up_move 24, MOVE_ACID - level_up_move 35, MOVE_MOONLIGHT - level_up_move 44, MOVE_PETAL_DANCE - .2byte -1 - -gVileplumeLevelUpLearnset:: @ 832345C - level_up_move 1, MOVE_ABSORB - level_up_move 1, MOVE_AROMATHERAPY - level_up_move 1, MOVE_STUN_SPORE - level_up_move 1, MOVE_MEGA_DRAIN - level_up_move 44, MOVE_PETAL_DANCE - .2byte -1 - -gParasLevelUpLearnset:: @ 8323468 - level_up_move 1, MOVE_SCRATCH - level_up_move 7, MOVE_STUN_SPORE - level_up_move 13, MOVE_POISON_POWDER - level_up_move 19, MOVE_LEECH_LIFE - level_up_move 25, MOVE_SPORE - level_up_move 31, MOVE_SLASH - level_up_move 37, MOVE_GROWTH - level_up_move 43, MOVE_GIGA_DRAIN - level_up_move 49, MOVE_AROMATHERAPY - .2byte -1 - -gParasectLevelUpLearnset:: @ 832347C - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_STUN_SPORE - level_up_move 1, MOVE_POISON_POWDER - level_up_move 7, MOVE_STUN_SPORE - level_up_move 13, MOVE_POISON_POWDER - level_up_move 19, MOVE_LEECH_LIFE - level_up_move 27, MOVE_SPORE - level_up_move 35, MOVE_SLASH - level_up_move 43, MOVE_GROWTH - level_up_move 51, MOVE_GIGA_DRAIN - level_up_move 59, MOVE_AROMATHERAPY - .2byte -1 - -gVenonatLevelUpLearnset:: @ 8323494 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_DISABLE - level_up_move 1, MOVE_FORESIGHT - level_up_move 9, MOVE_SUPERSONIC - level_up_move 17, MOVE_CONFUSION - level_up_move 20, MOVE_POISON_POWDER - level_up_move 25, MOVE_LEECH_LIFE - level_up_move 28, MOVE_STUN_SPORE - level_up_move 33, MOVE_PSYBEAM - level_up_move 36, MOVE_SLEEP_POWDER - level_up_move 41, MOVE_PSYCHIC - .2byte -1 - -gVenomothLevelUpLearnset:: @ 83234AC - level_up_move 1, MOVE_SILVER_WIND - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_DISABLE - level_up_move 1, MOVE_FORESIGHT - level_up_move 1, MOVE_SUPERSONIC - level_up_move 9, MOVE_SUPERSONIC - level_up_move 17, MOVE_CONFUSION - level_up_move 20, MOVE_POISON_POWDER - level_up_move 25, MOVE_LEECH_LIFE - level_up_move 28, MOVE_STUN_SPORE - level_up_move 31, MOVE_GUST - level_up_move 36, MOVE_PSYBEAM - level_up_move 42, MOVE_SLEEP_POWDER - level_up_move 52, MOVE_PSYCHIC - .2byte -1 - -gDiglettLevelUpLearnset:: @ 83234CA - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_SAND_ATTACK - level_up_move 5, MOVE_GROWL - level_up_move 9, MOVE_MAGNITUDE - level_up_move 17, MOVE_DIG - level_up_move 25, MOVE_MUD_SLAP - level_up_move 33, MOVE_SLASH - level_up_move 41, MOVE_EARTHQUAKE - level_up_move 49, MOVE_FISSURE - .2byte -1 - -gDugtrioLevelUpLearnset:: @ 83234DE - level_up_move 1, MOVE_TRI_ATTACK - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_SAND_ATTACK - level_up_move 1, MOVE_GROWL - level_up_move 5, MOVE_GROWL - level_up_move 9, MOVE_MAGNITUDE - level_up_move 17, MOVE_DIG - level_up_move 25, MOVE_MUD_SLAP - level_up_move 26, MOVE_SAND_TOMB - level_up_move 38, MOVE_SLASH - level_up_move 51, MOVE_EARTHQUAKE - level_up_move 64, MOVE_FISSURE - .2byte -1 - -gMeowthLevelUpLearnset:: @ 83234F8 - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_GROWL - level_up_move 11, MOVE_BITE - level_up_move 20, MOVE_PAY_DAY - level_up_move 28, MOVE_FAINT_ATTACK - level_up_move 35, MOVE_SCREECH - level_up_move 41, MOVE_FURY_SWIPES - level_up_move 46, MOVE_SLASH - level_up_move 50, MOVE_FAKE_OUT - .2byte -1 - -gPersianLevelUpLearnset:: @ 832350C - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_BITE - level_up_move 11, MOVE_BITE - level_up_move 20, MOVE_PAY_DAY - level_up_move 29, MOVE_FAINT_ATTACK - level_up_move 38, MOVE_SCREECH - level_up_move 46, MOVE_FURY_SWIPES - level_up_move 53, MOVE_SLASH - level_up_move 59, MOVE_FAKE_OUT - .2byte -1 - -gPsyduckLevelUpLearnset:: @ 8323522 - level_up_move 1, MOVE_WATER_SPORT - level_up_move 1, MOVE_SCRATCH - level_up_move 5, MOVE_TAIL_WHIP - level_up_move 10, MOVE_DISABLE - level_up_move 16, MOVE_CONFUSION - level_up_move 23, MOVE_SCREECH - level_up_move 31, MOVE_PSYCH_UP - level_up_move 40, MOVE_FURY_SWIPES - level_up_move 50, MOVE_HYDRO_PUMP - .2byte -1 - -gGolduckLevelUpLearnset:: @ 8323536 - level_up_move 1, MOVE_WATER_SPORT - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_DISABLE - level_up_move 5, MOVE_TAIL_WHIP - level_up_move 10, MOVE_DISABLE - level_up_move 16, MOVE_CONFUSION - level_up_move 23, MOVE_SCREECH - level_up_move 31, MOVE_PSYCH_UP - level_up_move 44, MOVE_FURY_SWIPES - level_up_move 58, MOVE_HYDRO_PUMP - .2byte -1 - -gMankeyLevelUpLearnset:: @ 832354E - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_LEER - level_up_move 9, MOVE_LOW_KICK - level_up_move 15, MOVE_KARATE_CHOP - level_up_move 21, MOVE_FURY_SWIPES - level_up_move 27, MOVE_FOCUS_ENERGY - level_up_move 33, MOVE_SEISMIC_TOSS - level_up_move 39, MOVE_CROSS_CHOP - level_up_move 45, MOVE_SCREECH - level_up_move 51, MOVE_THRASH - .2byte -1 - -gPrimeapeLevelUpLearnset:: @ 8323564 - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_LOW_KICK - level_up_move 1, MOVE_RAGE - level_up_move 9, MOVE_LOW_KICK - level_up_move 15, MOVE_KARATE_CHOP - level_up_move 21, MOVE_FURY_SWIPES - level_up_move 27, MOVE_FOCUS_ENERGY - level_up_move 28, MOVE_RAGE - level_up_move 36, MOVE_SEISMIC_TOSS - level_up_move 45, MOVE_CROSS_CHOP - level_up_move 54, MOVE_SCREECH - level_up_move 63, MOVE_THRASH - .2byte -1 - -gGrowlitheLevelUpLearnset:: @ 8323580 - level_up_move 1, MOVE_BITE - level_up_move 1, MOVE_ROAR - level_up_move 7, MOVE_EMBER - level_up_move 13, MOVE_LEER - level_up_move 19, MOVE_ODOR_SLEUTH - level_up_move 25, MOVE_TAKE_DOWN - level_up_move 31, MOVE_FLAME_WHEEL - level_up_move 37, MOVE_HELPING_HAND - level_up_move 43, MOVE_AGILITY - level_up_move 49, MOVE_FLAMETHROWER - .2byte -1 - -gArcanineLevelUpLearnset:: @ 8323596 - level_up_move 1, MOVE_BITE - level_up_move 1, MOVE_ROAR - level_up_move 1, MOVE_EMBER - level_up_move 1, MOVE_ODOR_SLEUTH - level_up_move 49, MOVE_EXTREME_SPEED - .2byte -1 - -gPoliwagLevelUpLearnset:: @ 83235A2 - level_up_move 1, MOVE_BUBBLE - level_up_move 7, MOVE_HYPNOSIS - level_up_move 13, MOVE_WATER_GUN - level_up_move 19, MOVE_DOUBLE_SLAP - level_up_move 25, MOVE_RAIN_DANCE - level_up_move 31, MOVE_BODY_SLAM - level_up_move 37, MOVE_BELLY_DRUM - level_up_move 43, MOVE_HYDRO_PUMP - .2byte -1 - -gPoliwhirlLevelUpLearnset:: @ 83235B4 - level_up_move 1, MOVE_BUBBLE - level_up_move 1, MOVE_HYPNOSIS - level_up_move 1, MOVE_WATER_GUN - level_up_move 7, MOVE_HYPNOSIS - level_up_move 13, MOVE_WATER_GUN - level_up_move 19, MOVE_DOUBLE_SLAP - level_up_move 27, MOVE_RAIN_DANCE - level_up_move 35, MOVE_BODY_SLAM - level_up_move 43, MOVE_BELLY_DRUM - level_up_move 51, MOVE_HYDRO_PUMP - .2byte -1 - -gPoliwrathLevelUpLearnset:: @ 83235CA - level_up_move 1, MOVE_WATER_GUN - level_up_move 1, MOVE_HYPNOSIS - level_up_move 1, MOVE_DOUBLE_SLAP - level_up_move 1, MOVE_SUBMISSION - level_up_move 35, MOVE_SUBMISSION - level_up_move 51, MOVE_MIND_READER - .2byte -1 - -gAbraLevelUpLearnset:: @ 83235D8 - level_up_move 1, MOVE_TELEPORT - .2byte -1 - -gKadabraLevelUpLearnset:: @ 83235DC - level_up_move 1, MOVE_TELEPORT - level_up_move 1, MOVE_KINESIS - level_up_move 1, MOVE_CONFUSION - level_up_move 16, MOVE_CONFUSION - level_up_move 18, MOVE_DISABLE - level_up_move 21, MOVE_PSYBEAM - level_up_move 23, MOVE_REFLECT - level_up_move 25, MOVE_RECOVER - level_up_move 30, MOVE_FUTURE_SIGHT - level_up_move 33, MOVE_ROLE_PLAY - level_up_move 36, MOVE_PSYCHIC - level_up_move 43, MOVE_TRICK - .2byte -1 - -gAlakazamLevelUpLearnset:: @ 83235F6 - level_up_move 1, MOVE_TELEPORT - level_up_move 1, MOVE_KINESIS - level_up_move 1, MOVE_CONFUSION - level_up_move 16, MOVE_CONFUSION - level_up_move 18, MOVE_DISABLE - level_up_move 21, MOVE_PSYBEAM - level_up_move 23, MOVE_REFLECT - level_up_move 25, MOVE_RECOVER - level_up_move 30, MOVE_FUTURE_SIGHT - level_up_move 33, MOVE_CALM_MIND - level_up_move 36, MOVE_PSYCHIC - level_up_move 43, MOVE_TRICK - .2byte -1 - -gMachopLevelUpLearnset:: @ 8323610 - level_up_move 1, MOVE_LOW_KICK - level_up_move 1, MOVE_LEER - level_up_move 7, MOVE_FOCUS_ENERGY - level_up_move 13, MOVE_KARATE_CHOP - level_up_move 19, MOVE_SEISMIC_TOSS - level_up_move 22, MOVE_FORESIGHT - level_up_move 25, MOVE_REVENGE - level_up_move 31, MOVE_VITAL_THROW - level_up_move 37, MOVE_SUBMISSION - level_up_move 40, MOVE_CROSS_CHOP - level_up_move 43, MOVE_SCARY_FACE - level_up_move 49, MOVE_DYNAMIC_PUNCH - .2byte -1 - -gMachokeLevelUpLearnset:: @ 832362A - level_up_move 1, MOVE_LOW_KICK - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_FOCUS_ENERGY - level_up_move 7, MOVE_FOCUS_ENERGY - level_up_move 13, MOVE_KARATE_CHOP - level_up_move 19, MOVE_SEISMIC_TOSS - level_up_move 22, MOVE_FORESIGHT - level_up_move 25, MOVE_REVENGE - level_up_move 33, MOVE_VITAL_THROW - level_up_move 41, MOVE_SUBMISSION - level_up_move 46, MOVE_CROSS_CHOP - level_up_move 51, MOVE_SCARY_FACE - level_up_move 59, MOVE_DYNAMIC_PUNCH - .2byte -1 - -gMachampLevelUpLearnset:: @ 8323646 - level_up_move 1, MOVE_LOW_KICK - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_FOCUS_ENERGY - level_up_move 7, MOVE_FOCUS_ENERGY - level_up_move 13, MOVE_KARATE_CHOP - level_up_move 19, MOVE_SEISMIC_TOSS - level_up_move 22, MOVE_FORESIGHT - level_up_move 25, MOVE_REVENGE - level_up_move 33, MOVE_VITAL_THROW - level_up_move 41, MOVE_SUBMISSION - level_up_move 46, MOVE_CROSS_CHOP - level_up_move 51, MOVE_SCARY_FACE - level_up_move 59, MOVE_DYNAMIC_PUNCH - .2byte -1 - -gBellsproutLevelUpLearnset:: @ 8323662 - level_up_move 1, MOVE_VINE_WHIP - level_up_move 6, MOVE_GROWTH - level_up_move 11, MOVE_WRAP - level_up_move 15, MOVE_SLEEP_POWDER - level_up_move 17, MOVE_POISON_POWDER - level_up_move 19, MOVE_STUN_SPORE - level_up_move 23, MOVE_ACID - level_up_move 30, MOVE_SWEET_SCENT - level_up_move 37, MOVE_RAZOR_LEAF - level_up_move 45, MOVE_SLAM - .2byte -1 - -gWeepinbellLevelUpLearnset:: @ 8323678 - level_up_move 1, MOVE_VINE_WHIP - level_up_move 1, MOVE_GROWTH - level_up_move 1, MOVE_WRAP - level_up_move 6, MOVE_GROWTH - level_up_move 11, MOVE_WRAP - level_up_move 15, MOVE_SLEEP_POWDER - level_up_move 17, MOVE_POISON_POWDER - level_up_move 19, MOVE_STUN_SPORE - level_up_move 24, MOVE_ACID - level_up_move 33, MOVE_SWEET_SCENT - level_up_move 42, MOVE_RAZOR_LEAF - level_up_move 54, MOVE_SLAM - .2byte -1 - -gVictreebelLevelUpLearnset:: @ 8323692 - level_up_move 1, MOVE_VINE_WHIP - level_up_move 1, MOVE_SLEEP_POWDER - level_up_move 1, MOVE_SWEET_SCENT - level_up_move 1, MOVE_RAZOR_LEAF - .2byte -1 - -gTentacoolLevelUpLearnset:: @ 832369C - level_up_move 1, MOVE_POISON_STING - level_up_move 6, MOVE_SUPERSONIC - level_up_move 12, MOVE_CONSTRICT - level_up_move 19, MOVE_ACID - level_up_move 25, MOVE_BUBBLE_BEAM - level_up_move 30, MOVE_WRAP - level_up_move 36, MOVE_BARRIER - level_up_move 43, MOVE_SCREECH - level_up_move 49, MOVE_HYDRO_PUMP - .2byte -1 - -gTentacruelLevelUpLearnset:: @ 83236B0 - level_up_move 1, MOVE_POISON_STING - level_up_move 1, MOVE_SUPERSONIC - level_up_move 1, MOVE_CONSTRICT - level_up_move 6, MOVE_SUPERSONIC - level_up_move 12, MOVE_CONSTRICT - level_up_move 19, MOVE_ACID - level_up_move 25, MOVE_BUBBLE_BEAM - level_up_move 30, MOVE_WRAP - level_up_move 38, MOVE_BARRIER - level_up_move 47, MOVE_SCREECH - level_up_move 55, MOVE_HYDRO_PUMP - .2byte -1 - -gGeodudeLevelUpLearnset:: @ 83236C8 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_DEFENSE_CURL - level_up_move 6, MOVE_MUD_SPORT - level_up_move 11, MOVE_ROCK_THROW - level_up_move 16, MOVE_MAGNITUDE - level_up_move 21, MOVE_SELF_DESTRUCT - level_up_move 26, MOVE_ROLLOUT - level_up_move 31, MOVE_ROCK_BLAST - level_up_move 36, MOVE_EARTHQUAKE - level_up_move 41, MOVE_EXPLOSION - level_up_move 46, MOVE_DOUBLE_EDGE - .2byte -1 - -gGravelerLevelUpLearnset:: @ 83236E0 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_DEFENSE_CURL - level_up_move 1, MOVE_MUD_SPORT - level_up_move 1, MOVE_ROCK_THROW - level_up_move 6, MOVE_MUD_SPORT - level_up_move 11, MOVE_ROCK_THROW - level_up_move 16, MOVE_MAGNITUDE - level_up_move 21, MOVE_SELF_DESTRUCT - level_up_move 29, MOVE_ROLLOUT - level_up_move 37, MOVE_ROCK_BLAST - level_up_move 45, MOVE_EARTHQUAKE - level_up_move 53, MOVE_EXPLOSION - level_up_move 62, MOVE_DOUBLE_EDGE - .2byte -1 - -gGolemLevelUpLearnset:: @ 83236FC - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_DEFENSE_CURL - level_up_move 1, MOVE_MUD_SPORT - level_up_move 1, MOVE_ROCK_THROW - level_up_move 6, MOVE_MUD_SPORT - level_up_move 11, MOVE_ROCK_THROW - level_up_move 16, MOVE_MAGNITUDE - level_up_move 21, MOVE_SELF_DESTRUCT - level_up_move 29, MOVE_ROLLOUT - level_up_move 37, MOVE_ROCK_BLAST - level_up_move 45, MOVE_EARTHQUAKE - level_up_move 53, MOVE_EXPLOSION - level_up_move 62, MOVE_DOUBLE_EDGE - .2byte -1 - -gPonytaLevelUpLearnset:: @ 8323718 - level_up_move 1, MOVE_TACKLE - level_up_move 5, MOVE_GROWL - level_up_move 9, MOVE_TAIL_WHIP - level_up_move 14, MOVE_EMBER - level_up_move 19, MOVE_STOMP - level_up_move 25, MOVE_FIRE_SPIN - level_up_move 31, MOVE_TAKE_DOWN - level_up_move 38, MOVE_AGILITY - level_up_move 45, MOVE_BOUNCE - level_up_move 53, MOVE_FIRE_BLAST - .2byte -1 - -gRapidashLevelUpLearnset:: @ 832372E - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_EMBER - level_up_move 5, MOVE_GROWL - level_up_move 9, MOVE_TAIL_WHIP - level_up_move 14, MOVE_EMBER - level_up_move 19, MOVE_STOMP - level_up_move 25, MOVE_FIRE_SPIN - level_up_move 31, MOVE_TAKE_DOWN - level_up_move 38, MOVE_AGILITY - level_up_move 40, MOVE_FURY_ATTACK - level_up_move 50, MOVE_BOUNCE - level_up_move 63, MOVE_FIRE_BLAST - .2byte -1 - -gSlowpokeLevelUpLearnset:: @ 832374C - level_up_move 1, MOVE_CURSE - level_up_move 1, MOVE_YAWN - level_up_move 1, MOVE_TACKLE - level_up_move 6, MOVE_GROWL - level_up_move 15, MOVE_WATER_GUN - level_up_move 20, MOVE_CONFUSION - level_up_move 29, MOVE_DISABLE - level_up_move 34, MOVE_HEADBUTT - level_up_move 43, MOVE_AMNESIA - level_up_move 48, MOVE_PSYCHIC - .2byte -1 - -gSlowbroLevelUpLearnset:: @ 8323762 - level_up_move 1, MOVE_CURSE - level_up_move 1, MOVE_YAWN - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_GROWL - level_up_move 6, MOVE_GROWL - level_up_move 15, MOVE_WATER_GUN - level_up_move 20, MOVE_CONFUSION - level_up_move 29, MOVE_DISABLE - level_up_move 34, MOVE_HEADBUTT - level_up_move 37, MOVE_WITHDRAW - level_up_move 46, MOVE_AMNESIA - level_up_move 54, MOVE_PSYCHIC - .2byte -1 - -gMagnemiteLevelUpLearnset:: @ 832377C - level_up_move 1, MOVE_METAL_SOUND - level_up_move 1, MOVE_TACKLE - level_up_move 6, MOVE_THUNDER_SHOCK - level_up_move 11, MOVE_SUPERSONIC - level_up_move 16, MOVE_SONIC_BOOM - level_up_move 21, MOVE_THUNDER_WAVE - level_up_move 26, MOVE_SPARK - level_up_move 32, MOVE_LOCK_ON - level_up_move 38, MOVE_SWIFT - level_up_move 44, MOVE_SCREECH - level_up_move 50, MOVE_ZAP_CANNON - .2byte -1 - -gMagnetonLevelUpLearnset:: @ 8323794 - level_up_move 1, MOVE_METAL_SOUND - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_THUNDER_SHOCK - level_up_move 1, MOVE_SUPERSONIC - level_up_move 6, MOVE_THUNDER_SHOCK - level_up_move 11, MOVE_SUPERSONIC - level_up_move 16, MOVE_SONIC_BOOM - level_up_move 21, MOVE_THUNDER_WAVE - level_up_move 26, MOVE_SPARK - level_up_move 35, MOVE_LOCK_ON - level_up_move 44, MOVE_TRI_ATTACK - level_up_move 53, MOVE_SCREECH - level_up_move 62, MOVE_ZAP_CANNON - .2byte -1 - -gFarfetchdLevelUpLearnset:: @ 83237B0 - level_up_move 1, MOVE_PECK - level_up_move 6, MOVE_SAND_ATTACK - level_up_move 11, MOVE_LEER - level_up_move 16, MOVE_FURY_ATTACK - level_up_move 21, MOVE_KNOCK_OFF - level_up_move 26, MOVE_FURY_CUTTER - level_up_move 31, MOVE_SWORDS_DANCE - level_up_move 36, MOVE_AGILITY - level_up_move 41, MOVE_SLASH - level_up_move 46, MOVE_FALSE_SWIPE - .2byte -1 - -gDoduoLevelUpLearnset:: @ 83237C6 - level_up_move 1, MOVE_PECK - level_up_move 1, MOVE_GROWL - level_up_move 9, MOVE_PURSUIT - level_up_move 13, MOVE_FURY_ATTACK - level_up_move 21, MOVE_TRI_ATTACK - level_up_move 25, MOVE_RAGE - level_up_move 33, MOVE_UPROAR - level_up_move 37, MOVE_DRILL_PECK - level_up_move 45, MOVE_AGILITY - .2byte -1 - -gDodrioLevelUpLearnset:: @ 83237DA - level_up_move 1, MOVE_PECK - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_PURSUIT - level_up_move 1, MOVE_FURY_ATTACK - level_up_move 9, MOVE_PURSUIT - level_up_move 13, MOVE_FURY_ATTACK - level_up_move 21, MOVE_TRI_ATTACK - level_up_move 25, MOVE_RAGE - level_up_move 38, MOVE_UPROAR - level_up_move 47, MOVE_DRILL_PECK - level_up_move 60, MOVE_AGILITY - .2byte -1 - -gSeelLevelUpLearnset:: @ 83237F2 - level_up_move 1, MOVE_HEADBUTT - level_up_move 9, MOVE_GROWL - level_up_move 17, MOVE_ICY_WIND - level_up_move 21, MOVE_AURORA_BEAM - level_up_move 29, MOVE_REST - level_up_move 37, MOVE_TAKE_DOWN - level_up_move 41, MOVE_ICE_BEAM - level_up_move 49, MOVE_SAFEGUARD - .2byte -1 - -gDewgongLevelUpLearnset:: @ 8323804 - level_up_move 1, MOVE_HEADBUTT - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_ICY_WIND - level_up_move 1, MOVE_AURORA_BEAM - level_up_move 9, MOVE_GROWL - level_up_move 17, MOVE_ICY_WIND - level_up_move 21, MOVE_AURORA_BEAM - level_up_move 29, MOVE_REST - level_up_move 34, MOVE_SHEER_COLD - level_up_move 42, MOVE_TAKE_DOWN - level_up_move 51, MOVE_ICE_BEAM - level_up_move 64, MOVE_SAFEGUARD - .2byte -1 - -gGrimerLevelUpLearnset:: @ 832381E - level_up_move 1, MOVE_POISON_GAS - level_up_move 1, MOVE_POUND - level_up_move 4, MOVE_HARDEN - level_up_move 8, MOVE_DISABLE - level_up_move 13, MOVE_SLUDGE - level_up_move 19, MOVE_MINIMIZE - level_up_move 26, MOVE_SCREECH - level_up_move 34, MOVE_ACID_ARMOR - level_up_move 43, MOVE_SLUDGE_BOMB - level_up_move 53, MOVE_MEMENTO - .2byte -1 - -gMukLevelUpLearnset:: @ 8323834 - level_up_move 1, MOVE_POISON_GAS - level_up_move 1, MOVE_POUND - level_up_move 1, MOVE_HARDEN - level_up_move 4, MOVE_HARDEN - level_up_move 8, MOVE_DISABLE - level_up_move 13, MOVE_SLUDGE - level_up_move 19, MOVE_MINIMIZE - level_up_move 26, MOVE_SCREECH - level_up_move 34, MOVE_ACID_ARMOR - level_up_move 47, MOVE_SLUDGE_BOMB - level_up_move 61, MOVE_MEMENTO - .2byte -1 - -gShellderLevelUpLearnset:: @ 832384C - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_WITHDRAW - level_up_move 9, MOVE_SUPERSONIC - level_up_move 17, MOVE_AURORA_BEAM - level_up_move 25, MOVE_PROTECT - level_up_move 33, MOVE_LEER - level_up_move 41, MOVE_CLAMP - level_up_move 49, MOVE_ICE_BEAM - .2byte -1 - -gCloysterLevelUpLearnset:: @ 832385E - level_up_move 1, MOVE_WITHDRAW - level_up_move 1, MOVE_SUPERSONIC - level_up_move 1, MOVE_AURORA_BEAM - level_up_move 1, MOVE_PROTECT - level_up_move 33, MOVE_SPIKES - level_up_move 41, MOVE_SPIKE_CANNON - .2byte -1 - -gGastlyLevelUpLearnset:: @ 832386C - level_up_move 1, MOVE_HYPNOSIS - level_up_move 1, MOVE_LICK - level_up_move 8, MOVE_SPITE - level_up_move 13, MOVE_MEAN_LOOK - level_up_move 16, MOVE_CURSE - level_up_move 21, MOVE_NIGHT_SHADE - level_up_move 28, MOVE_CONFUSE_RAY - level_up_move 33, MOVE_DREAM_EATER - level_up_move 36, MOVE_DESTINY_BOND - .2byte -1 - -gHaunterLevelUpLearnset:: @ 8323880 - level_up_move 1, MOVE_HYPNOSIS - level_up_move 1, MOVE_LICK - level_up_move 1, MOVE_SPITE - level_up_move 8, MOVE_SPITE - level_up_move 13, MOVE_MEAN_LOOK - level_up_move 16, MOVE_CURSE - level_up_move 21, MOVE_NIGHT_SHADE - level_up_move 25, MOVE_SHADOW_PUNCH - level_up_move 31, MOVE_CONFUSE_RAY - level_up_move 39, MOVE_DREAM_EATER - level_up_move 48, MOVE_DESTINY_BOND - .2byte -1 - -gGengarLevelUpLearnset:: @ 8323898 - level_up_move 1, MOVE_HYPNOSIS - level_up_move 1, MOVE_LICK - level_up_move 1, MOVE_SPITE - level_up_move 8, MOVE_SPITE - level_up_move 13, MOVE_MEAN_LOOK - level_up_move 16, MOVE_CURSE - level_up_move 21, MOVE_NIGHT_SHADE - level_up_move 25, MOVE_SHADOW_PUNCH - level_up_move 31, MOVE_CONFUSE_RAY - level_up_move 39, MOVE_DREAM_EATER - level_up_move 48, MOVE_DESTINY_BOND - .2byte -1 - -gOnixLevelUpLearnset:: @ 83238B0 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_SCREECH - level_up_move 9, MOVE_BIND - level_up_move 13, MOVE_ROCK_THROW - level_up_move 21, MOVE_HARDEN - level_up_move 25, MOVE_RAGE - level_up_move 33, MOVE_SANDSTORM - level_up_move 37, MOVE_SLAM - level_up_move 45, MOVE_IRON_TAIL - level_up_move 49, MOVE_SAND_TOMB - level_up_move 57, MOVE_DOUBLE_EDGE - .2byte -1 - -gDrowzeeLevelUpLearnset:: @ 83238C8 - level_up_move 1, MOVE_POUND - level_up_move 1, MOVE_HYPNOSIS - level_up_move 10, MOVE_DISABLE - level_up_move 18, MOVE_CONFUSION - level_up_move 25, MOVE_HEADBUTT - level_up_move 31, MOVE_POISON_GAS - level_up_move 36, MOVE_MEDITATE - level_up_move 40, MOVE_PSYCHIC - level_up_move 43, MOVE_PSYCH_UP - level_up_move 45, MOVE_FUTURE_SIGHT - .2byte -1 - -gHypnoLevelUpLearnset:: @ 83238DE - level_up_move 1, MOVE_POUND - level_up_move 1, MOVE_HYPNOSIS - level_up_move 1, MOVE_DISABLE - level_up_move 1, MOVE_CONFUSION - level_up_move 10, MOVE_DISABLE - level_up_move 18, MOVE_CONFUSION - level_up_move 25, MOVE_HEADBUTT - level_up_move 33, MOVE_POISON_GAS - level_up_move 40, MOVE_MEDITATE - level_up_move 49, MOVE_PSYCHIC - level_up_move 55, MOVE_PSYCH_UP - level_up_move 60, MOVE_FUTURE_SIGHT - .2byte -1 - -gKrabbyLevelUpLearnset:: @ 83238F8 - level_up_move 1, MOVE_BUBBLE - level_up_move 5, MOVE_LEER - level_up_move 12, MOVE_VICE_GRIP - level_up_move 16, MOVE_HARDEN - level_up_move 23, MOVE_MUD_SHOT - level_up_move 27, MOVE_STOMP - level_up_move 34, MOVE_GUILLOTINE - level_up_move 41, MOVE_PROTECT - level_up_move 45, MOVE_CRABHAMMER - .2byte -1 - -gKinglerLevelUpLearnset:: @ 832390C - level_up_move 1, MOVE_BUBBLE - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_VICE_GRIP - level_up_move 5, MOVE_LEER - level_up_move 12, MOVE_VICE_GRIP - level_up_move 16, MOVE_HARDEN - level_up_move 23, MOVE_MUD_SHOT - level_up_move 27, MOVE_STOMP - level_up_move 38, MOVE_GUILLOTINE - level_up_move 49, MOVE_PROTECT - level_up_move 57, MOVE_CRABHAMMER - .2byte -1 - -gVoltorbLevelUpLearnset:: @ 8323924 - level_up_move 1, MOVE_CHARGE - level_up_move 1, MOVE_TACKLE - level_up_move 8, MOVE_SCREECH - level_up_move 15, MOVE_SONIC_BOOM - level_up_move 21, MOVE_SPARK - level_up_move 27, MOVE_SELF_DESTRUCT - level_up_move 32, MOVE_ROLLOUT - level_up_move 37, MOVE_LIGHT_SCREEN - level_up_move 42, MOVE_SWIFT - level_up_move 46, MOVE_EXPLOSION - level_up_move 49, MOVE_MIRROR_COAT - .2byte -1 - -gElectrodeLevelUpLearnset:: @ 832393C - level_up_move 1, MOVE_CHARGE - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_SCREECH - level_up_move 1, MOVE_SONIC_BOOM - level_up_move 8, MOVE_SCREECH - level_up_move 15, MOVE_SONIC_BOOM - level_up_move 21, MOVE_SPARK - level_up_move 27, MOVE_SELF_DESTRUCT - level_up_move 34, MOVE_ROLLOUT - level_up_move 41, MOVE_LIGHT_SCREEN - level_up_move 48, MOVE_SWIFT - level_up_move 54, MOVE_EXPLOSION - level_up_move 59, MOVE_MIRROR_COAT - .2byte -1 - -gExeggcuteLevelUpLearnset:: @ 8323958 - level_up_move 1, MOVE_BARRAGE - level_up_move 1, MOVE_UPROAR - level_up_move 1, MOVE_HYPNOSIS - level_up_move 7, MOVE_REFLECT - level_up_move 13, MOVE_LEECH_SEED - level_up_move 19, MOVE_CONFUSION - level_up_move 25, MOVE_STUN_SPORE - level_up_move 31, MOVE_POISON_POWDER - level_up_move 37, MOVE_SLEEP_POWDER - level_up_move 43, MOVE_SOLAR_BEAM - .2byte -1 - -gExeggutorLevelUpLearnset:: @ 832396E - level_up_move 1, MOVE_BARRAGE - level_up_move 1, MOVE_HYPNOSIS - level_up_move 1, MOVE_CONFUSION - level_up_move 19, MOVE_STOMP - level_up_move 31, MOVE_EGG_BOMB - .2byte -1 - -gCuboneLevelUpLearnset:: @ 832397A - level_up_move 1, MOVE_GROWL - level_up_move 5, MOVE_TAIL_WHIP - level_up_move 9, MOVE_BONE_CLUB - level_up_move 13, MOVE_HEADBUTT - level_up_move 17, MOVE_LEER - level_up_move 21, MOVE_FOCUS_ENERGY - level_up_move 25, MOVE_BONEMERANG - level_up_move 29, MOVE_RAGE - level_up_move 33, MOVE_FALSE_SWIPE - level_up_move 37, MOVE_THRASH - level_up_move 41, MOVE_BONE_RUSH - level_up_move 45, MOVE_DOUBLE_EDGE - .2byte -1 - -gMarowakLevelUpLearnset:: @ 8323994 - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_BONE_CLUB - level_up_move 1, MOVE_HEADBUTT - level_up_move 5, MOVE_TAIL_WHIP - level_up_move 9, MOVE_BONE_CLUB - level_up_move 13, MOVE_HEADBUTT - level_up_move 17, MOVE_LEER - level_up_move 21, MOVE_FOCUS_ENERGY - level_up_move 25, MOVE_BONEMERANG - level_up_move 32, MOVE_RAGE - level_up_move 39, MOVE_FALSE_SWIPE - level_up_move 46, MOVE_THRASH - level_up_move 53, MOVE_BONE_RUSH - level_up_move 61, MOVE_DOUBLE_EDGE - .2byte -1 - -gHitmonleeLevelUpLearnset:: @ 83239B4 - level_up_move 1, MOVE_REVENGE - level_up_move 1, MOVE_DOUBLE_KICK - level_up_move 6, MOVE_MEDITATE - level_up_move 11, MOVE_ROLLING_KICK - level_up_move 16, MOVE_JUMP_KICK - level_up_move 20, MOVE_BRICK_BREAK - level_up_move 21, MOVE_FOCUS_ENERGY - level_up_move 26, MOVE_HI_JUMP_KICK - level_up_move 31, MOVE_MIND_READER - level_up_move 36, MOVE_FORESIGHT - level_up_move 41, MOVE_ENDURE - level_up_move 46, MOVE_MEGA_KICK - level_up_move 51, MOVE_REVERSAL - .2byte -1 - -gHitmonchanLevelUpLearnset:: @ 83239D0 - level_up_move 1, MOVE_REVENGE - level_up_move 1, MOVE_COMET_PUNCH - level_up_move 7, MOVE_AGILITY - level_up_move 13, MOVE_PURSUIT - level_up_move 20, MOVE_MACH_PUNCH - level_up_move 26, MOVE_THUNDER_PUNCH - level_up_move 26, MOVE_ICE_PUNCH - level_up_move 26, MOVE_FIRE_PUNCH - level_up_move 32, MOVE_SKY_UPPERCUT - level_up_move 38, MOVE_MEGA_PUNCH - level_up_move 44, MOVE_DETECT - level_up_move 50, MOVE_COUNTER - .2byte -1 - -gLickitungLevelUpLearnset:: @ 83239EA - level_up_move 1, MOVE_LICK - level_up_move 7, MOVE_SUPERSONIC - level_up_move 12, MOVE_DEFENSE_CURL - level_up_move 18, MOVE_KNOCK_OFF - level_up_move 23, MOVE_STOMP - level_up_move 29, MOVE_WRAP - level_up_move 34, MOVE_DISABLE - level_up_move 40, MOVE_SLAM - level_up_move 45, MOVE_SCREECH - level_up_move 51, MOVE_REFRESH - .2byte -1 - -gKoffingLevelUpLearnset:: @ 8323A00 - level_up_move 1, MOVE_POISON_GAS - level_up_move 1, MOVE_TACKLE - level_up_move 9, MOVE_SMOG - level_up_move 17, MOVE_SELF_DESTRUCT - level_up_move 21, MOVE_SLUDGE - level_up_move 25, MOVE_SMOKESCREEN - level_up_move 33, MOVE_HAZE - level_up_move 41, MOVE_EXPLOSION - level_up_move 45, MOVE_DESTINY_BOND - level_up_move 49, MOVE_MEMENTO - .2byte -1 - -gWeezingLevelUpLearnset:: @ 8323A16 - level_up_move 1, MOVE_POISON_GAS - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_SMOG - level_up_move 1, MOVE_SELF_DESTRUCT - level_up_move 9, MOVE_SMOG - level_up_move 17, MOVE_SELF_DESTRUCT - level_up_move 21, MOVE_SLUDGE - level_up_move 25, MOVE_SMOKESCREEN - level_up_move 33, MOVE_HAZE - level_up_move 44, MOVE_EXPLOSION - level_up_move 51, MOVE_DESTINY_BOND - level_up_move 58, MOVE_MEMENTO - .2byte -1 - -gRhyhornLevelUpLearnset:: @ 8323A30 - level_up_move 1, MOVE_HORN_ATTACK - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 10, MOVE_STOMP - level_up_move 15, MOVE_FURY_ATTACK - level_up_move 24, MOVE_SCARY_FACE - level_up_move 29, MOVE_ROCK_BLAST - level_up_move 38, MOVE_HORN_DRILL - level_up_move 43, MOVE_TAKE_DOWN - level_up_move 52, MOVE_EARTHQUAKE - level_up_move 57, MOVE_MEGAHORN - .2byte -1 - -gRhydonLevelUpLearnset:: @ 8323A46 - level_up_move 1, MOVE_HORN_ATTACK - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_STOMP - level_up_move 1, MOVE_FURY_ATTACK - level_up_move 10, MOVE_STOMP - level_up_move 15, MOVE_FURY_ATTACK - level_up_move 24, MOVE_SCARY_FACE - level_up_move 29, MOVE_ROCK_BLAST - level_up_move 38, MOVE_HORN_DRILL - level_up_move 46, MOVE_TAKE_DOWN - level_up_move 58, MOVE_EARTHQUAKE - level_up_move 66, MOVE_MEGAHORN - .2byte -1 - -gChanseyLevelUpLearnset:: @ 8323A60 - level_up_move 1, MOVE_POUND - level_up_move 1, MOVE_GROWL - level_up_move 5, MOVE_TAIL_WHIP - level_up_move 9, MOVE_REFRESH - level_up_move 13, MOVE_SOFT_BOILED - level_up_move 17, MOVE_DOUBLE_SLAP - level_up_move 23, MOVE_MINIMIZE - level_up_move 29, MOVE_SING - level_up_move 35, MOVE_EGG_BOMB - level_up_move 41, MOVE_DEFENSE_CURL - level_up_move 49, MOVE_LIGHT_SCREEN - level_up_move 57, MOVE_DOUBLE_EDGE - .2byte -1 - -gTangelaLevelUpLearnset:: @ 8323A7A - level_up_move 1, MOVE_INGRAIN - level_up_move 1, MOVE_CONSTRICT - level_up_move 4, MOVE_SLEEP_POWDER - level_up_move 10, MOVE_ABSORB - level_up_move 13, MOVE_GROWTH - level_up_move 19, MOVE_POISON_POWDER - level_up_move 22, MOVE_VINE_WHIP - level_up_move 28, MOVE_BIND - level_up_move 31, MOVE_MEGA_DRAIN - level_up_move 37, MOVE_STUN_SPORE - level_up_move 40, MOVE_SLAM - level_up_move 46, MOVE_TICKLE - .2byte -1 - -gKangaskhanLevelUpLearnset:: @ 8323A94 - level_up_move 1, MOVE_COMET_PUNCH - level_up_move 1, MOVE_LEER - level_up_move 7, MOVE_BITE - level_up_move 13, MOVE_TAIL_WHIP - level_up_move 19, MOVE_FAKE_OUT - level_up_move 25, MOVE_MEGA_PUNCH - level_up_move 31, MOVE_RAGE - level_up_move 37, MOVE_ENDURE - level_up_move 43, MOVE_DIZZY_PUNCH - level_up_move 49, MOVE_REVERSAL - .2byte -1 - -gHorseaLevelUpLearnset:: @ 8323AAA - level_up_move 1, MOVE_BUBBLE - level_up_move 8, MOVE_SMOKESCREEN - level_up_move 15, MOVE_LEER - level_up_move 22, MOVE_WATER_GUN - level_up_move 29, MOVE_TWISTER - level_up_move 36, MOVE_AGILITY - level_up_move 43, MOVE_HYDRO_PUMP - level_up_move 50, MOVE_DRAGON_DANCE - .2byte -1 - -gSeadraLevelUpLearnset:: @ 8323ABC - level_up_move 1, MOVE_BUBBLE - level_up_move 1, MOVE_SMOKESCREEN - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_WATER_GUN - level_up_move 8, MOVE_SMOKESCREEN - level_up_move 15, MOVE_LEER - level_up_move 22, MOVE_WATER_GUN - level_up_move 29, MOVE_TWISTER - level_up_move 40, MOVE_AGILITY - level_up_move 51, MOVE_HYDRO_PUMP - level_up_move 62, MOVE_DRAGON_DANCE - .2byte -1 - -gGoldeenLevelUpLearnset:: @ 8323AD4 - level_up_move 1, MOVE_PECK - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_WATER_SPORT - level_up_move 10, MOVE_SUPERSONIC - level_up_move 15, MOVE_HORN_ATTACK - level_up_move 24, MOVE_FLAIL - level_up_move 29, MOVE_FURY_ATTACK - level_up_move 38, MOVE_WATERFALL - level_up_move 43, MOVE_HORN_DRILL - level_up_move 52, MOVE_AGILITY - .2byte -1 - -gSeakingLevelUpLearnset:: @ 8323AEA - level_up_move 1, MOVE_PECK - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_WATER_SPORT - level_up_move 1, MOVE_SUPERSONIC - level_up_move 10, MOVE_SUPERSONIC - level_up_move 15, MOVE_HORN_ATTACK - level_up_move 24, MOVE_FLAIL - level_up_move 29, MOVE_FURY_ATTACK - level_up_move 41, MOVE_WATERFALL - level_up_move 49, MOVE_HORN_DRILL - level_up_move 61, MOVE_AGILITY - .2byte -1 - -gStaryuLevelUpLearnset:: @ 8323B02 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_HARDEN - level_up_move 6, MOVE_WATER_GUN - level_up_move 10, MOVE_RAPID_SPIN - level_up_move 15, MOVE_RECOVER - level_up_move 19, MOVE_CAMOUFLAGE - level_up_move 24, MOVE_SWIFT - level_up_move 28, MOVE_BUBBLE_BEAM - level_up_move 33, MOVE_MINIMIZE - level_up_move 37, MOVE_LIGHT_SCREEN - level_up_move 42, MOVE_COSMIC_POWER - level_up_move 46, MOVE_HYDRO_PUMP - .2byte -1 - -gStarmieLevelUpLearnset:: @ 8323B1C - level_up_move 1, MOVE_WATER_GUN - level_up_move 1, MOVE_RAPID_SPIN - level_up_move 1, MOVE_RECOVER - level_up_move 1, MOVE_SWIFT - level_up_move 33, MOVE_CONFUSE_RAY - .2byte -1 - -gMrmimeLevelUpLearnset:: @ 8323B28 - level_up_move 1, MOVE_BARRIER - level_up_move 5, MOVE_CONFUSION - level_up_move 9, MOVE_SUBSTITUTE - level_up_move 13, MOVE_MEDITATE - level_up_move 17, MOVE_DOUBLE_SLAP - level_up_move 21, MOVE_LIGHT_SCREEN - level_up_move 21, MOVE_REFLECT - level_up_move 25, MOVE_ENCORE - level_up_move 29, MOVE_PSYBEAM - level_up_move 33, MOVE_RECYCLE - level_up_move 37, MOVE_TRICK - level_up_move 41, MOVE_ROLE_PLAY - level_up_move 45, MOVE_PSYCHIC - level_up_move 49, MOVE_BATON_PASS - level_up_move 53, MOVE_SAFEGUARD - .2byte -1 - -gScytherLevelUpLearnset:: @ 8323B48 - level_up_move 1, MOVE_QUICK_ATTACK - level_up_move 1, MOVE_LEER - level_up_move 6, MOVE_FOCUS_ENERGY - level_up_move 11, MOVE_PURSUIT - level_up_move 16, MOVE_FALSE_SWIPE - level_up_move 21, MOVE_AGILITY - level_up_move 26, MOVE_WING_ATTACK - level_up_move 31, MOVE_SLASH - level_up_move 36, MOVE_SWORDS_DANCE - level_up_move 41, MOVE_DOUBLE_TEAM - level_up_move 46, MOVE_FURY_CUTTER - .2byte -1 - -gJynxLevelUpLearnset:: @ 8323B60 - level_up_move 1, MOVE_POUND - level_up_move 1, MOVE_LICK - level_up_move 1, MOVE_LOVELY_KISS - level_up_move 1, MOVE_POWDER_SNOW - level_up_move 9, MOVE_LOVELY_KISS - level_up_move 13, MOVE_POWDER_SNOW - level_up_move 21, MOVE_DOUBLE_SLAP - level_up_move 25, MOVE_ICE_PUNCH - level_up_move 35, MOVE_MEAN_LOOK - level_up_move 41, MOVE_FAKE_TEARS - level_up_move 51, MOVE_BODY_SLAM - level_up_move 57, MOVE_PERISH_SONG - level_up_move 67, MOVE_BLIZZARD - .2byte -1 - -gElectabuzzLevelUpLearnset:: @ 8323B7C - level_up_move 1, MOVE_QUICK_ATTACK - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_THUNDER_PUNCH - level_up_move 9, MOVE_THUNDER_PUNCH - level_up_move 17, MOVE_LIGHT_SCREEN - level_up_move 25, MOVE_SWIFT - level_up_move 36, MOVE_SCREECH - level_up_move 47, MOVE_THUNDERBOLT - level_up_move 58, MOVE_THUNDER - .2byte -1 - -gMagmarLevelUpLearnset:: @ 8323B90 - level_up_move 1, MOVE_EMBER - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_SMOG - level_up_move 1, MOVE_FIRE_PUNCH - level_up_move 7, MOVE_LEER - level_up_move 13, MOVE_SMOG - level_up_move 19, MOVE_FIRE_PUNCH - level_up_move 25, MOVE_SMOKESCREEN - level_up_move 33, MOVE_SUNNY_DAY - level_up_move 41, MOVE_FLAMETHROWER - level_up_move 49, MOVE_CONFUSE_RAY - level_up_move 57, MOVE_FIRE_BLAST - .2byte -1 - -gPinsirLevelUpLearnset:: @ 8323BAA - level_up_move 1, MOVE_VICE_GRIP - level_up_move 1, MOVE_FOCUS_ENERGY - level_up_move 7, MOVE_BIND - level_up_move 13, MOVE_SEISMIC_TOSS - level_up_move 19, MOVE_HARDEN - level_up_move 25, MOVE_REVENGE - level_up_move 31, MOVE_BRICK_BREAK - level_up_move 37, MOVE_GUILLOTINE - level_up_move 43, MOVE_SUBMISSION - level_up_move 49, MOVE_SWORDS_DANCE - .2byte -1 - -gTaurosLevelUpLearnset:: @ 8323BC0 - level_up_move 1, MOVE_TACKLE - level_up_move 4, MOVE_TAIL_WHIP - level_up_move 8, MOVE_RAGE - level_up_move 13, MOVE_HORN_ATTACK - level_up_move 19, MOVE_SCARY_FACE - level_up_move 26, MOVE_PURSUIT - level_up_move 34, MOVE_REST - level_up_move 43, MOVE_THRASH - level_up_move 53, MOVE_TAKE_DOWN - .2byte -1 - -gMagikarpLevelUpLearnset:: @ 8323BD4 - level_up_move 1, MOVE_SPLASH - level_up_move 15, MOVE_TACKLE - level_up_move 30, MOVE_FLAIL - .2byte -1 - -gGyaradosLevelUpLearnset:: @ 8323BDC - level_up_move 1, MOVE_THRASH - level_up_move 20, MOVE_BITE - level_up_move 25, MOVE_DRAGON_RAGE - level_up_move 30, MOVE_LEER - level_up_move 35, MOVE_TWISTER - level_up_move 40, MOVE_HYDRO_PUMP - level_up_move 45, MOVE_RAIN_DANCE - level_up_move 50, MOVE_DRAGON_DANCE - level_up_move 55, MOVE_HYPER_BEAM - .2byte -1 - -gLaprasLevelUpLearnset:: @ 8323BF0 - level_up_move 1, MOVE_WATER_GUN - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_SING - level_up_move 7, MOVE_MIST - level_up_move 13, MOVE_BODY_SLAM - level_up_move 19, MOVE_CONFUSE_RAY - level_up_move 25, MOVE_PERISH_SONG - level_up_move 31, MOVE_ICE_BEAM - level_up_move 37, MOVE_RAIN_DANCE - level_up_move 43, MOVE_SAFEGUARD - level_up_move 49, MOVE_HYDRO_PUMP - level_up_move 55, MOVE_SHEER_COLD - .2byte -1 - -gDittoLevelUpLearnset:: @ 8323C0A - level_up_move 1, MOVE_TRANSFORM - .2byte -1 - -gEeveeLevelUpLearnset:: @ 8323C0E - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_HELPING_HAND - level_up_move 8, MOVE_SAND_ATTACK - level_up_move 16, MOVE_GROWL - level_up_move 23, MOVE_QUICK_ATTACK - level_up_move 30, MOVE_BITE - level_up_move 36, MOVE_BATON_PASS - level_up_move 42, MOVE_TAKE_DOWN - .2byte -1 - -gVaporeonLevelUpLearnset:: @ 8323C22 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_HELPING_HAND - level_up_move 8, MOVE_SAND_ATTACK - level_up_move 16, MOVE_WATER_GUN - level_up_move 23, MOVE_QUICK_ATTACK - level_up_move 30, MOVE_BITE - level_up_move 36, MOVE_AURORA_BEAM - level_up_move 42, MOVE_HAZE - level_up_move 47, MOVE_ACID_ARMOR - level_up_move 52, MOVE_HYDRO_PUMP - .2byte -1 - -gJolteonLevelUpLearnset:: @ 8323C3A - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_HELPING_HAND - level_up_move 8, MOVE_SAND_ATTACK - level_up_move 16, MOVE_THUNDER_SHOCK - level_up_move 23, MOVE_QUICK_ATTACK - level_up_move 30, MOVE_DOUBLE_KICK - level_up_move 36, MOVE_PIN_MISSILE - level_up_move 42, MOVE_THUNDER_WAVE - level_up_move 47, MOVE_AGILITY - level_up_move 52, MOVE_THUNDER - .2byte -1 - -gFlareonLevelUpLearnset:: @ 8323C52 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_HELPING_HAND - level_up_move 8, MOVE_SAND_ATTACK - level_up_move 16, MOVE_EMBER - level_up_move 23, MOVE_QUICK_ATTACK - level_up_move 30, MOVE_BITE - level_up_move 36, MOVE_FIRE_SPIN - level_up_move 42, MOVE_SMOG - level_up_move 47, MOVE_LEER - level_up_move 52, MOVE_FLAMETHROWER - .2byte -1 - -gPorygonLevelUpLearnset:: @ 8323C6A - level_up_move 1, MOVE_CONVERSION_2 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_CONVERSION - level_up_move 9, MOVE_AGILITY - level_up_move 12, MOVE_PSYBEAM - level_up_move 20, MOVE_RECOVER - level_up_move 24, MOVE_SHARPEN - level_up_move 32, MOVE_LOCK_ON - level_up_move 36, MOVE_TRI_ATTACK - level_up_move 44, MOVE_RECYCLE - level_up_move 48, MOVE_ZAP_CANNON - .2byte -1 - -gOmanyteLevelUpLearnset:: @ 8323C82 - level_up_move 1, MOVE_CONSTRICT - level_up_move 1, MOVE_WITHDRAW - level_up_move 13, MOVE_BITE - level_up_move 19, MOVE_WATER_GUN - level_up_move 25, MOVE_MUD_SHOT - level_up_move 31, MOVE_LEER - level_up_move 37, MOVE_PROTECT - level_up_move 43, MOVE_TICKLE - level_up_move 49, MOVE_ANCIENT_POWER - level_up_move 55, MOVE_HYDRO_PUMP - .2byte -1 - -gOmastarLevelUpLearnset:: @ 8323C98 - level_up_move 1, MOVE_CONSTRICT - level_up_move 1, MOVE_WITHDRAW - level_up_move 1, MOVE_BITE - level_up_move 13, MOVE_BITE - level_up_move 19, MOVE_WATER_GUN - level_up_move 25, MOVE_MUD_SHOT - level_up_move 31, MOVE_LEER - level_up_move 37, MOVE_PROTECT - level_up_move 40, MOVE_SPIKE_CANNON - level_up_move 46, MOVE_TICKLE - level_up_move 55, MOVE_ANCIENT_POWER - level_up_move 65, MOVE_HYDRO_PUMP - .2byte -1 - -gKabutoLevelUpLearnset:: @ 8323CB2 - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_HARDEN - level_up_move 13, MOVE_ABSORB - level_up_move 19, MOVE_LEER - level_up_move 25, MOVE_MUD_SHOT - level_up_move 31, MOVE_SAND_ATTACK - level_up_move 37, MOVE_ENDURE - level_up_move 43, MOVE_METAL_SOUND - level_up_move 49, MOVE_MEGA_DRAIN - level_up_move 55, MOVE_ANCIENT_POWER - .2byte -1 - -gKabutopsLevelUpLearnset:: @ 8323CC8 - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_HARDEN - level_up_move 1, MOVE_ABSORB - level_up_move 13, MOVE_ABSORB - level_up_move 19, MOVE_LEER - level_up_move 25, MOVE_MUD_SHOT - level_up_move 31, MOVE_SAND_ATTACK - level_up_move 37, MOVE_ENDURE - level_up_move 40, MOVE_SLASH - level_up_move 46, MOVE_METAL_SOUND - level_up_move 55, MOVE_MEGA_DRAIN - level_up_move 65, MOVE_ANCIENT_POWER - .2byte -1 - -gAerodactylLevelUpLearnset:: @ 8323CE2 - level_up_move 1, MOVE_WING_ATTACK - level_up_move 8, MOVE_AGILITY - level_up_move 15, MOVE_BITE - level_up_move 22, MOVE_SUPERSONIC - level_up_move 29, MOVE_ANCIENT_POWER - level_up_move 36, MOVE_SCARY_FACE - level_up_move 43, MOVE_TAKE_DOWN - level_up_move 50, MOVE_HYPER_BEAM - .2byte -1 - -gSnorlaxLevelUpLearnset:: @ 8323CF4 - level_up_move 1, MOVE_TACKLE - level_up_move 6, MOVE_AMNESIA - level_up_move 10, MOVE_DEFENSE_CURL - level_up_move 15, MOVE_BELLY_DRUM - level_up_move 19, MOVE_HEADBUTT - level_up_move 24, MOVE_YAWN - level_up_move 28, MOVE_REST - level_up_move 28, MOVE_SNORE - level_up_move 33, MOVE_BODY_SLAM - level_up_move 37, MOVE_BLOCK - level_up_move 42, MOVE_COVET - level_up_move 46, MOVE_ROLLOUT - level_up_move 51, MOVE_HYPER_BEAM - .2byte -1 - -gArticunoLevelUpLearnset:: @ 8323D10 - level_up_move 1, MOVE_GUST - level_up_move 1, MOVE_POWDER_SNOW - level_up_move 13, MOVE_MIST - level_up_move 25, MOVE_AGILITY - level_up_move 37, MOVE_MIND_READER - level_up_move 49, MOVE_ICE_BEAM - level_up_move 61, MOVE_REFLECT - level_up_move 73, MOVE_BLIZZARD - level_up_move 85, MOVE_SHEER_COLD - .2byte -1 - -gZapdosLevelUpLearnset:: @ 8323D24 - level_up_move 1, MOVE_PECK - level_up_move 1, MOVE_THUNDER_SHOCK - level_up_move 13, MOVE_THUNDER_WAVE - level_up_move 25, MOVE_AGILITY - level_up_move 37, MOVE_DETECT - level_up_move 49, MOVE_DRILL_PECK - level_up_move 61, MOVE_CHARGE - level_up_move 73, MOVE_LIGHT_SCREEN - level_up_move 85, MOVE_THUNDER - .2byte -1 - -gMoltresLevelUpLearnset:: @ 8323D38 - level_up_move 1, MOVE_WING_ATTACK - level_up_move 1, MOVE_EMBER - level_up_move 13, MOVE_FIRE_SPIN - level_up_move 25, MOVE_AGILITY - level_up_move 37, MOVE_ENDURE - level_up_move 49, MOVE_FLAMETHROWER - level_up_move 61, MOVE_SAFEGUARD - level_up_move 73, MOVE_HEAT_WAVE - level_up_move 85, MOVE_SKY_ATTACK - .2byte -1 - -gDratiniLevelUpLearnset:: @ 8323D4C - level_up_move 1, MOVE_WRAP - level_up_move 1, MOVE_LEER - level_up_move 8, MOVE_THUNDER_WAVE - level_up_move 15, MOVE_TWISTER - level_up_move 22, MOVE_DRAGON_RAGE - level_up_move 29, MOVE_SLAM - level_up_move 36, MOVE_AGILITY - level_up_move 43, MOVE_SAFEGUARD - level_up_move 50, MOVE_OUTRAGE - level_up_move 57, MOVE_HYPER_BEAM - .2byte -1 - -gDragonairLevelUpLearnset:: @ 8323D62 - level_up_move 1, MOVE_WRAP - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_THUNDER_WAVE - level_up_move 1, MOVE_TWISTER - level_up_move 8, MOVE_THUNDER_WAVE - level_up_move 15, MOVE_TWISTER - level_up_move 22, MOVE_DRAGON_RAGE - level_up_move 29, MOVE_SLAM - level_up_move 38, MOVE_AGILITY - level_up_move 47, MOVE_SAFEGUARD - level_up_move 56, MOVE_OUTRAGE - level_up_move 65, MOVE_HYPER_BEAM - .2byte -1 - -gDragoniteLevelUpLearnset:: @ 8323D7C - level_up_move 1, MOVE_WRAP - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_THUNDER_WAVE - level_up_move 1, MOVE_TWISTER - level_up_move 8, MOVE_THUNDER_WAVE - level_up_move 15, MOVE_TWISTER - level_up_move 22, MOVE_DRAGON_RAGE - level_up_move 29, MOVE_SLAM - level_up_move 38, MOVE_AGILITY - level_up_move 47, MOVE_SAFEGUARD - level_up_move 55, MOVE_WING_ATTACK - level_up_move 61, MOVE_OUTRAGE - level_up_move 75, MOVE_HYPER_BEAM - .2byte -1 - -gMewtwoLevelUpLearnset:: @ 8323D98 - level_up_move 1, MOVE_CONFUSION - level_up_move 1, MOVE_DISABLE - level_up_move 11, MOVE_BARRIER - level_up_move 22, MOVE_SWIFT - level_up_move 33, MOVE_PSYCH_UP - level_up_move 44, MOVE_FUTURE_SIGHT - level_up_move 55, MOVE_MIST - level_up_move 66, MOVE_PSYCHIC - level_up_move 77, MOVE_AMNESIA - level_up_move 88, MOVE_RECOVER - level_up_move 99, MOVE_SAFEGUARD - .2byte -1 - -gMewLevelUpLearnset:: @ 8323DB0 - level_up_move 1, MOVE_POUND - level_up_move 10, MOVE_TRANSFORM - level_up_move 20, MOVE_MEGA_PUNCH - level_up_move 30, MOVE_METRONOME - level_up_move 40, MOVE_PSYCHIC - level_up_move 50, MOVE_ANCIENT_POWER - .2byte -1 - -gChikoritaLevelUpLearnset:: @ 8323DBE - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_GROWL - level_up_move 8, MOVE_RAZOR_LEAF - level_up_move 12, MOVE_REFLECT - level_up_move 15, MOVE_POISON_POWDER - level_up_move 22, MOVE_SYNTHESIS - level_up_move 29, MOVE_BODY_SLAM - level_up_move 36, MOVE_LIGHT_SCREEN - level_up_move 43, MOVE_SAFEGUARD - level_up_move 50, MOVE_SOLAR_BEAM - .2byte -1 - -gBayleefLevelUpLearnset:: @ 8323DD4 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_RAZOR_LEAF - level_up_move 1, MOVE_REFLECT - level_up_move 8, MOVE_RAZOR_LEAF - level_up_move 12, MOVE_REFLECT - level_up_move 15, MOVE_POISON_POWDER - level_up_move 23, MOVE_SYNTHESIS - level_up_move 31, MOVE_BODY_SLAM - level_up_move 39, MOVE_LIGHT_SCREEN - level_up_move 47, MOVE_SAFEGUARD - level_up_move 55, MOVE_SOLAR_BEAM - .2byte -1 - -gMeganiumLevelUpLearnset:: @ 8323DEE - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_RAZOR_LEAF - level_up_move 1, MOVE_REFLECT - level_up_move 8, MOVE_RAZOR_LEAF - level_up_move 12, MOVE_REFLECT - level_up_move 15, MOVE_POISON_POWDER - level_up_move 23, MOVE_SYNTHESIS - level_up_move 31, MOVE_BODY_SLAM - level_up_move 41, MOVE_LIGHT_SCREEN - level_up_move 51, MOVE_SAFEGUARD - level_up_move 61, MOVE_SOLAR_BEAM - .2byte -1 - -gCyndaquilLevelUpLearnset:: @ 8323E08 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_LEER - level_up_move 6, MOVE_SMOKESCREEN - level_up_move 12, MOVE_EMBER - level_up_move 19, MOVE_QUICK_ATTACK - level_up_move 27, MOVE_FLAME_WHEEL - level_up_move 36, MOVE_SWIFT - level_up_move 46, MOVE_FLAMETHROWER - .2byte -1 - -gQuilavaLevelUpLearnset:: @ 8323E1A - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_SMOKESCREEN - level_up_move 6, MOVE_SMOKESCREEN - level_up_move 12, MOVE_EMBER - level_up_move 21, MOVE_QUICK_ATTACK - level_up_move 31, MOVE_FLAME_WHEEL - level_up_move 42, MOVE_SWIFT - level_up_move 54, MOVE_FLAMETHROWER - .2byte -1 - -gTyphlosionLevelUpLearnset:: @ 8323E2E - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_SMOKESCREEN - level_up_move 1, MOVE_EMBER - level_up_move 6, MOVE_SMOKESCREEN - level_up_move 12, MOVE_EMBER - level_up_move 21, MOVE_QUICK_ATTACK - level_up_move 31, MOVE_FLAME_WHEEL - level_up_move 45, MOVE_SWIFT - level_up_move 60, MOVE_FLAMETHROWER - .2byte -1 - -gTotodileLevelUpLearnset:: @ 8323E44 - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_LEER - level_up_move 7, MOVE_RAGE - level_up_move 13, MOVE_WATER_GUN - level_up_move 20, MOVE_BITE - level_up_move 27, MOVE_SCARY_FACE - level_up_move 35, MOVE_SLASH - level_up_move 43, MOVE_SCREECH - level_up_move 52, MOVE_HYDRO_PUMP - .2byte -1 - -gCroconawLevelUpLearnset:: @ 8323E58 - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_RAGE - level_up_move 7, MOVE_RAGE - level_up_move 13, MOVE_WATER_GUN - level_up_move 21, MOVE_BITE - level_up_move 28, MOVE_SCARY_FACE - level_up_move 37, MOVE_SLASH - level_up_move 45, MOVE_SCREECH - level_up_move 55, MOVE_HYDRO_PUMP - .2byte -1 - -gFeraligatrLevelUpLearnset:: @ 8323E6E - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_RAGE - level_up_move 1, MOVE_WATER_GUN - level_up_move 7, MOVE_RAGE - level_up_move 13, MOVE_WATER_GUN - level_up_move 21, MOVE_BITE - level_up_move 28, MOVE_SCARY_FACE - level_up_move 38, MOVE_SLASH - level_up_move 47, MOVE_SCREECH - level_up_move 58, MOVE_HYDRO_PUMP - .2byte -1 - -gSentretLevelUpLearnset:: @ 8323E86 - level_up_move 1, MOVE_SCRATCH - level_up_move 4, MOVE_DEFENSE_CURL - level_up_move 7, MOVE_QUICK_ATTACK - level_up_move 12, MOVE_FURY_SWIPES - level_up_move 17, MOVE_HELPING_HAND - level_up_move 24, MOVE_SLAM - level_up_move 31, MOVE_FOLLOW_ME - level_up_move 40, MOVE_REST - level_up_move 49, MOVE_AMNESIA - .2byte -1 - -gFurretLevelUpLearnset:: @ 8323E9A - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_DEFENSE_CURL - level_up_move 1, MOVE_QUICK_ATTACK - level_up_move 4, MOVE_DEFENSE_CURL - level_up_move 7, MOVE_QUICK_ATTACK - level_up_move 12, MOVE_FURY_SWIPES - level_up_move 19, MOVE_HELPING_HAND - level_up_move 28, MOVE_SLAM - level_up_move 37, MOVE_FOLLOW_ME - level_up_move 48, MOVE_REST - level_up_move 59, MOVE_AMNESIA - .2byte -1 - -gHoothootLevelUpLearnset:: @ 8323EB2 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_GROWL - level_up_move 6, MOVE_FORESIGHT - level_up_move 11, MOVE_PECK - level_up_move 16, MOVE_HYPNOSIS - level_up_move 22, MOVE_REFLECT - level_up_move 28, MOVE_TAKE_DOWN - level_up_move 34, MOVE_CONFUSION - level_up_move 48, MOVE_DREAM_EATER - .2byte -1 - -gNoctowlLevelUpLearnset:: @ 8323EC6 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_FORESIGHT - level_up_move 1, MOVE_PECK - level_up_move 6, MOVE_FORESIGHT - level_up_move 11, MOVE_PECK - level_up_move 16, MOVE_HYPNOSIS - level_up_move 25, MOVE_REFLECT - level_up_move 33, MOVE_TAKE_DOWN - level_up_move 41, MOVE_CONFUSION - level_up_move 57, MOVE_DREAM_EATER - .2byte -1 - -gLedybaLevelUpLearnset:: @ 8323EDE - level_up_move 1, MOVE_TACKLE - level_up_move 8, MOVE_SUPERSONIC - level_up_move 15, MOVE_COMET_PUNCH - level_up_move 22, MOVE_LIGHT_SCREEN - level_up_move 22, MOVE_REFLECT - level_up_move 22, MOVE_SAFEGUARD - level_up_move 29, MOVE_BATON_PASS - level_up_move 36, MOVE_SWIFT - level_up_move 43, MOVE_AGILITY - level_up_move 50, MOVE_DOUBLE_EDGE - .2byte -1 - -gLedianLevelUpLearnset:: @ 8323EF4 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_SUPERSONIC - level_up_move 8, MOVE_SUPERSONIC - level_up_move 15, MOVE_COMET_PUNCH - level_up_move 24, MOVE_LIGHT_SCREEN - level_up_move 24, MOVE_REFLECT - level_up_move 24, MOVE_SAFEGUARD - level_up_move 33, MOVE_BATON_PASS - level_up_move 42, MOVE_SWIFT - level_up_move 51, MOVE_AGILITY - level_up_move 60, MOVE_DOUBLE_EDGE - .2byte -1 - -gSpinarakLevelUpLearnset:: @ 8323F0C - level_up_move 1, MOVE_POISON_STING - level_up_move 1, MOVE_STRING_SHOT - level_up_move 6, MOVE_SCARY_FACE - level_up_move 11, MOVE_CONSTRICT - level_up_move 17, MOVE_NIGHT_SHADE - level_up_move 23, MOVE_LEECH_LIFE - level_up_move 30, MOVE_FURY_SWIPES - level_up_move 37, MOVE_SPIDER_WEB - level_up_move 45, MOVE_AGILITY - level_up_move 53, MOVE_PSYCHIC - .2byte -1 - -gAriadosLevelUpLearnset:: @ 8323F22 - level_up_move 1, MOVE_POISON_STING - level_up_move 1, MOVE_STRING_SHOT - level_up_move 1, MOVE_SCARY_FACE - level_up_move 1, MOVE_CONSTRICT - level_up_move 6, MOVE_SCARY_FACE - level_up_move 11, MOVE_CONSTRICT - level_up_move 17, MOVE_NIGHT_SHADE - level_up_move 25, MOVE_LEECH_LIFE - level_up_move 34, MOVE_FURY_SWIPES - level_up_move 43, MOVE_SPIDER_WEB - level_up_move 53, MOVE_AGILITY - level_up_move 63, MOVE_PSYCHIC - .2byte -1 - -gCrobatLevelUpLearnset:: @ 8323F3C - level_up_move 1, MOVE_SCREECH - level_up_move 1, MOVE_LEECH_LIFE - level_up_move 1, MOVE_SUPERSONIC - level_up_move 1, MOVE_ASTONISH - level_up_move 6, MOVE_SUPERSONIC - level_up_move 11, MOVE_ASTONISH - level_up_move 16, MOVE_BITE - level_up_move 21, MOVE_WING_ATTACK - level_up_move 28, MOVE_CONFUSE_RAY - level_up_move 35, MOVE_AIR_CUTTER - level_up_move 42, MOVE_MEAN_LOOK - level_up_move 49, MOVE_POISON_FANG - level_up_move 56, MOVE_HAZE - .2byte -1 - -gChinchouLevelUpLearnset:: @ 8323F58 - level_up_move 1, MOVE_BUBBLE - level_up_move 1, MOVE_THUNDER_WAVE - level_up_move 5, MOVE_SUPERSONIC - level_up_move 13, MOVE_FLAIL - level_up_move 17, MOVE_WATER_GUN - level_up_move 25, MOVE_SPARK - level_up_move 29, MOVE_CONFUSE_RAY - level_up_move 37, MOVE_TAKE_DOWN - level_up_move 41, MOVE_HYDRO_PUMP - level_up_move 49, MOVE_CHARGE - .2byte -1 - -gLanturnLevelUpLearnset:: @ 8323F6E - level_up_move 1, MOVE_BUBBLE - level_up_move 1, MOVE_THUNDER_WAVE - level_up_move 1, MOVE_SUPERSONIC - level_up_move 5, MOVE_SUPERSONIC - level_up_move 13, MOVE_FLAIL - level_up_move 17, MOVE_WATER_GUN - level_up_move 25, MOVE_SPARK - level_up_move 32, MOVE_CONFUSE_RAY - level_up_move 43, MOVE_TAKE_DOWN - level_up_move 50, MOVE_HYDRO_PUMP - level_up_move 61, MOVE_CHARGE - .2byte -1 - -gPichuLevelUpLearnset:: @ 8323F86 - level_up_move 1, MOVE_THUNDER_SHOCK - level_up_move 1, MOVE_CHARM - level_up_move 6, MOVE_TAIL_WHIP - level_up_move 8, MOVE_THUNDER_WAVE - level_up_move 11, MOVE_SWEET_KISS - .2byte -1 - -gCleffaLevelUpLearnset:: @ 8323F92 - level_up_move 1, MOVE_POUND - level_up_move 1, MOVE_CHARM - level_up_move 4, MOVE_ENCORE - level_up_move 8, MOVE_SING - level_up_move 13, MOVE_SWEET_KISS - .2byte -1 - -gIgglybuffLevelUpLearnset:: @ 8323F9E - level_up_move 1, MOVE_SING - level_up_move 1, MOVE_CHARM - level_up_move 4, MOVE_DEFENSE_CURL - level_up_move 9, MOVE_POUND - level_up_move 14, MOVE_SWEET_KISS - .2byte -1 - -gTogepiLevelUpLearnset:: @ 8323FAA - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_CHARM - level_up_move 6, MOVE_METRONOME - level_up_move 11, MOVE_SWEET_KISS - level_up_move 16, MOVE_YAWN - level_up_move 21, MOVE_ENCORE - level_up_move 26, MOVE_FOLLOW_ME - level_up_move 31, MOVE_WISH - level_up_move 36, MOVE_SAFEGUARD - level_up_move 41, MOVE_DOUBLE_EDGE - .2byte -1 - -gTogeticLevelUpLearnset:: @ 8323FC0 - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_CHARM - level_up_move 6, MOVE_METRONOME - level_up_move 11, MOVE_SWEET_KISS - level_up_move 16, MOVE_YAWN - level_up_move 21, MOVE_ENCORE - level_up_move 26, MOVE_FOLLOW_ME - level_up_move 31, MOVE_WISH - level_up_move 36, MOVE_SAFEGUARD - level_up_move 41, MOVE_DOUBLE_EDGE - .2byte -1 - -gNatuLevelUpLearnset:: @ 8323FD6 - level_up_move 1, MOVE_PECK - level_up_move 1, MOVE_LEER - level_up_move 10, MOVE_NIGHT_SHADE - level_up_move 20, MOVE_TELEPORT - level_up_move 30, MOVE_WISH - level_up_move 30, MOVE_FUTURE_SIGHT - level_up_move 40, MOVE_CONFUSE_RAY - level_up_move 50, MOVE_PSYCHIC - .2byte -1 - -gXatuLevelUpLearnset:: @ 8323FE8 - level_up_move 1, MOVE_PECK - level_up_move 1, MOVE_LEER - level_up_move 10, MOVE_NIGHT_SHADE - level_up_move 20, MOVE_TELEPORT - level_up_move 35, MOVE_WISH - level_up_move 35, MOVE_FUTURE_SIGHT - level_up_move 50, MOVE_CONFUSE_RAY - level_up_move 65, MOVE_PSYCHIC - .2byte -1 - -gMareepLevelUpLearnset:: @ 8323FFA - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_GROWL - level_up_move 9, MOVE_THUNDER_SHOCK - level_up_move 16, MOVE_THUNDER_WAVE - level_up_move 23, MOVE_COTTON_SPORE - level_up_move 30, MOVE_LIGHT_SCREEN - level_up_move 37, MOVE_THUNDER - .2byte -1 - -gFlaaffyLevelUpLearnset:: @ 832400A - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_THUNDER_SHOCK - level_up_move 9, MOVE_THUNDER_SHOCK - level_up_move 18, MOVE_THUNDER_WAVE - level_up_move 27, MOVE_COTTON_SPORE - level_up_move 36, MOVE_LIGHT_SCREEN - level_up_move 45, MOVE_THUNDER - .2byte -1 - -gAmpharosLevelUpLearnset:: @ 832401C - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_THUNDER_SHOCK - level_up_move 1, MOVE_THUNDER_WAVE - level_up_move 9, MOVE_THUNDER_SHOCK - level_up_move 18, MOVE_THUNDER_WAVE - level_up_move 27, MOVE_COTTON_SPORE - level_up_move 30, MOVE_THUNDER_PUNCH - level_up_move 42, MOVE_LIGHT_SCREEN - level_up_move 57, MOVE_THUNDER - .2byte -1 - -gBellossomLevelUpLearnset:: @ 8324032 - level_up_move 1, MOVE_ABSORB - level_up_move 1, MOVE_SWEET_SCENT - level_up_move 1, MOVE_STUN_SPORE - level_up_move 1, MOVE_MAGICAL_LEAF - level_up_move 44, MOVE_PETAL_DANCE - level_up_move 55, MOVE_SOLAR_BEAM - .2byte -1 - -gMarillLevelUpLearnset:: @ 8324040 - level_up_move 1, MOVE_TACKLE - level_up_move 3, MOVE_DEFENSE_CURL - level_up_move 6, MOVE_TAIL_WHIP - level_up_move 10, MOVE_WATER_GUN - level_up_move 15, MOVE_ROLLOUT - level_up_move 21, MOVE_BUBBLE_BEAM - level_up_move 28, MOVE_DOUBLE_EDGE - level_up_move 36, MOVE_RAIN_DANCE - level_up_move 45, MOVE_HYDRO_PUMP - .2byte -1 - -gAzumarillLevelUpLearnset:: @ 8324054 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_DEFENSE_CURL - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_WATER_GUN - level_up_move 3, MOVE_DEFENSE_CURL - level_up_move 6, MOVE_TAIL_WHIP - level_up_move 10, MOVE_WATER_GUN - level_up_move 15, MOVE_ROLLOUT - level_up_move 24, MOVE_BUBBLE_BEAM - level_up_move 34, MOVE_DOUBLE_EDGE - level_up_move 45, MOVE_RAIN_DANCE - level_up_move 57, MOVE_HYDRO_PUMP - .2byte -1 - -gSudowoodoLevelUpLearnset:: @ 832406E - level_up_move 1, MOVE_ROCK_THROW - level_up_move 1, MOVE_MIMIC - level_up_move 9, MOVE_FLAIL - level_up_move 17, MOVE_LOW_KICK - level_up_move 25, MOVE_ROCK_SLIDE - level_up_move 33, MOVE_BLOCK - level_up_move 41, MOVE_FAINT_ATTACK - level_up_move 49, MOVE_SLAM - level_up_move 57, MOVE_DOUBLE_EDGE - .2byte -1 - -gPolitoedLevelUpLearnset:: @ 8324082 - level_up_move 1, MOVE_WATER_GUN - level_up_move 1, MOVE_HYPNOSIS - level_up_move 1, MOVE_DOUBLE_SLAP - level_up_move 1, MOVE_PERISH_SONG - level_up_move 35, MOVE_PERISH_SONG - level_up_move 51, MOVE_SWAGGER - .2byte -1 - -gHoppipLevelUpLearnset:: @ 8324090 - level_up_move 1, MOVE_SPLASH - level_up_move 5, MOVE_SYNTHESIS - level_up_move 5, MOVE_TAIL_WHIP - level_up_move 10, MOVE_TACKLE - level_up_move 13, MOVE_POISON_POWDER - level_up_move 15, MOVE_STUN_SPORE - level_up_move 17, MOVE_SLEEP_POWDER - level_up_move 20, MOVE_LEECH_SEED - level_up_move 25, MOVE_COTTON_SPORE - level_up_move 30, MOVE_MEGA_DRAIN - .2byte -1 - -gSkiploomLevelUpLearnset:: @ 83240A6 - level_up_move 1, MOVE_SPLASH - level_up_move 1, MOVE_SYNTHESIS - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_TACKLE - level_up_move 5, MOVE_SYNTHESIS - level_up_move 5, MOVE_TAIL_WHIP - level_up_move 10, MOVE_TACKLE - level_up_move 13, MOVE_POISON_POWDER - level_up_move 15, MOVE_STUN_SPORE - level_up_move 17, MOVE_SLEEP_POWDER - level_up_move 22, MOVE_LEECH_SEED - level_up_move 29, MOVE_COTTON_SPORE - level_up_move 36, MOVE_MEGA_DRAIN - .2byte -1 - -gJumpluffLevelUpLearnset:: @ 83240C2 - level_up_move 1, MOVE_SPLASH - level_up_move 1, MOVE_SYNTHESIS - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_TACKLE - level_up_move 5, MOVE_SYNTHESIS - level_up_move 5, MOVE_TAIL_WHIP - level_up_move 10, MOVE_TACKLE - level_up_move 13, MOVE_POISON_POWDER - level_up_move 15, MOVE_STUN_SPORE - level_up_move 17, MOVE_SLEEP_POWDER - level_up_move 22, MOVE_LEECH_SEED - level_up_move 33, MOVE_COTTON_SPORE - level_up_move 44, MOVE_MEGA_DRAIN - .2byte -1 - -gAipomLevelUpLearnset:: @ 83240DE - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 6, MOVE_SAND_ATTACK - level_up_move 13, MOVE_ASTONISH - level_up_move 18, MOVE_BATON_PASS - level_up_move 25, MOVE_TICKLE - level_up_move 31, MOVE_FURY_SWIPES - level_up_move 38, MOVE_SWIFT - level_up_move 43, MOVE_SCREECH - level_up_move 50, MOVE_AGILITY - .2byte -1 - -gSunkernLevelUpLearnset:: @ 83240F4 - level_up_move 1, MOVE_ABSORB - level_up_move 6, MOVE_GROWTH - level_up_move 13, MOVE_MEGA_DRAIN - level_up_move 18, MOVE_INGRAIN - level_up_move 25, MOVE_ENDEAVOR - level_up_move 30, MOVE_SUNNY_DAY - level_up_move 37, MOVE_SYNTHESIS - level_up_move 42, MOVE_GIGA_DRAIN - .2byte -1 - -gSunfloraLevelUpLearnset:: @ 8324106 - level_up_move 1, MOVE_ABSORB - level_up_move 1, MOVE_POUND - level_up_move 6, MOVE_GROWTH - level_up_move 13, MOVE_RAZOR_LEAF - level_up_move 18, MOVE_INGRAIN - level_up_move 25, MOVE_BULLET_SEED - level_up_move 30, MOVE_SUNNY_DAY - level_up_move 37, MOVE_PETAL_DANCE - level_up_move 42, MOVE_SOLAR_BEAM - .2byte -1 - -gYanmaLevelUpLearnset:: @ 832411A - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_FORESIGHT - level_up_move 7, MOVE_QUICK_ATTACK - level_up_move 13, MOVE_DOUBLE_TEAM - level_up_move 19, MOVE_SONIC_BOOM - level_up_move 25, MOVE_DETECT - level_up_move 31, MOVE_SUPERSONIC - level_up_move 37, MOVE_UPROAR - level_up_move 43, MOVE_WING_ATTACK - level_up_move 49, MOVE_SCREECH - .2byte -1 - -gWooperLevelUpLearnset:: @ 8324130 - level_up_move 1, MOVE_WATER_GUN - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 11, MOVE_SLAM - level_up_move 16, MOVE_MUD_SHOT - level_up_move 21, MOVE_AMNESIA - level_up_move 31, MOVE_YAWN - level_up_move 36, MOVE_EARTHQUAKE - level_up_move 41, MOVE_RAIN_DANCE - level_up_move 51, MOVE_MIST - level_up_move 51, MOVE_HAZE - .2byte -1 - -gQuagsireLevelUpLearnset:: @ 8324146 - level_up_move 1, MOVE_WATER_GUN - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 11, MOVE_SLAM - level_up_move 16, MOVE_MUD_SHOT - level_up_move 23, MOVE_AMNESIA - level_up_move 35, MOVE_YAWN - level_up_move 42, MOVE_EARTHQUAKE - level_up_move 49, MOVE_RAIN_DANCE - level_up_move 61, MOVE_MIST - level_up_move 61, MOVE_HAZE - .2byte -1 - -gEspeonLevelUpLearnset:: @ 832415C - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_HELPING_HAND - level_up_move 8, MOVE_SAND_ATTACK - level_up_move 16, MOVE_CONFUSION - level_up_move 23, MOVE_QUICK_ATTACK - level_up_move 30, MOVE_SWIFT - level_up_move 36, MOVE_PSYBEAM - level_up_move 42, MOVE_PSYCH_UP - level_up_move 47, MOVE_PSYCHIC - level_up_move 52, MOVE_MORNING_SUN - .2byte -1 - -gUmbreonLevelUpLearnset:: @ 8324174 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_HELPING_HAND - level_up_move 8, MOVE_SAND_ATTACK - level_up_move 16, MOVE_PURSUIT - level_up_move 23, MOVE_QUICK_ATTACK - level_up_move 30, MOVE_CONFUSE_RAY - level_up_move 36, MOVE_FAINT_ATTACK - level_up_move 42, MOVE_MEAN_LOOK - level_up_move 47, MOVE_SCREECH - level_up_move 52, MOVE_MOONLIGHT - .2byte -1 - -gMurkrowLevelUpLearnset:: @ 832418C - level_up_move 1, MOVE_PECK - level_up_move 9, MOVE_ASTONISH - level_up_move 14, MOVE_PURSUIT - level_up_move 22, MOVE_HAZE - level_up_move 27, MOVE_NIGHT_SHADE - level_up_move 35, MOVE_FAINT_ATTACK - level_up_move 40, MOVE_TAUNT - level_up_move 48, MOVE_MEAN_LOOK - .2byte -1 - -gSlowkingLevelUpLearnset:: @ 832419E - level_up_move 1, MOVE_CURSE - level_up_move 1, MOVE_YAWN - level_up_move 1, MOVE_TACKLE - level_up_move 6, MOVE_GROWL - level_up_move 15, MOVE_WATER_GUN - level_up_move 20, MOVE_CONFUSION - level_up_move 29, MOVE_DISABLE - level_up_move 34, MOVE_HEADBUTT - level_up_move 43, MOVE_SWAGGER - level_up_move 48, MOVE_PSYCHIC - .2byte -1 - -gMisdreavusLevelUpLearnset:: @ 83241B4 - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_PSYWAVE - level_up_move 6, MOVE_SPITE - level_up_move 11, MOVE_ASTONISH - level_up_move 17, MOVE_CONFUSE_RAY - level_up_move 23, MOVE_MEAN_LOOK - level_up_move 30, MOVE_PSYBEAM - level_up_move 37, MOVE_PAIN_SPLIT - level_up_move 45, MOVE_PERISH_SONG - level_up_move 53, MOVE_GRUDGE - .2byte -1 - -gUnownLevelUpLearnset:: @ 83241CA - level_up_move 1, MOVE_HIDDEN_POWER - .2byte -1 - -gWobbuffetLevelUpLearnset:: @ 83241CE - level_up_move 1, MOVE_COUNTER - level_up_move 1, MOVE_MIRROR_COAT - level_up_move 1, MOVE_SAFEGUARD - level_up_move 1, MOVE_DESTINY_BOND - .2byte -1 - -gGirafarigLevelUpLearnset:: @ 83241D8 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_GROWL - level_up_move 7, MOVE_ASTONISH - level_up_move 13, MOVE_CONFUSION - level_up_move 19, MOVE_STOMP - level_up_move 25, MOVE_ODOR_SLEUTH - level_up_move 31, MOVE_AGILITY - level_up_move 37, MOVE_BATON_PASS - level_up_move 43, MOVE_PSYBEAM - level_up_move 49, MOVE_CRUNCH - .2byte -1 - -gPinecoLevelUpLearnset:: @ 83241EE - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_PROTECT - level_up_move 8, MOVE_SELF_DESTRUCT - level_up_move 15, MOVE_TAKE_DOWN - level_up_move 22, MOVE_RAPID_SPIN - level_up_move 29, MOVE_BIDE - level_up_move 36, MOVE_EXPLOSION - level_up_move 43, MOVE_SPIKES - level_up_move 50, MOVE_DOUBLE_EDGE - .2byte -1 - -gForretressLevelUpLearnset:: @ 8324202 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_PROTECT - level_up_move 1, MOVE_SELF_DESTRUCT - level_up_move 8, MOVE_SELF_DESTRUCT - level_up_move 15, MOVE_TAKE_DOWN - level_up_move 22, MOVE_RAPID_SPIN - level_up_move 29, MOVE_BIDE - level_up_move 39, MOVE_EXPLOSION - level_up_move 49, MOVE_SPIKES - level_up_move 59, MOVE_DOUBLE_EDGE - .2byte -1 - -gDunsparceLevelUpLearnset:: @ 8324218 - level_up_move 1, MOVE_RAGE - level_up_move 4, MOVE_DEFENSE_CURL - level_up_move 11, MOVE_YAWN - level_up_move 14, MOVE_GLARE - level_up_move 21, MOVE_SPITE - level_up_move 24, MOVE_PURSUIT - level_up_move 31, MOVE_SCREECH - level_up_move 34, MOVE_TAKE_DOWN - level_up_move 41, MOVE_ENDEAVOR - .2byte -1 - -gGligarLevelUpLearnset:: @ 832422C - level_up_move 1, MOVE_POISON_STING - level_up_move 6, MOVE_SAND_ATTACK - level_up_move 13, MOVE_HARDEN - level_up_move 20, MOVE_QUICK_ATTACK - level_up_move 28, MOVE_FAINT_ATTACK - level_up_move 36, MOVE_SLASH - level_up_move 44, MOVE_SCREECH - level_up_move 52, MOVE_GUILLOTINE - .2byte -1 - -gSteelixLevelUpLearnset:: @ 832423E - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_SCREECH - level_up_move 9, MOVE_BIND - level_up_move 13, MOVE_ROCK_THROW - level_up_move 21, MOVE_HARDEN - level_up_move 25, MOVE_RAGE - level_up_move 33, MOVE_SANDSTORM - level_up_move 37, MOVE_SLAM - level_up_move 45, MOVE_IRON_TAIL - level_up_move 49, MOVE_CRUNCH - level_up_move 57, MOVE_DOUBLE_EDGE - .2byte -1 - -gSnubbullLevelUpLearnset:: @ 8324256 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_SCARY_FACE - level_up_move 4, MOVE_TAIL_WHIP - level_up_move 8, MOVE_CHARM - level_up_move 13, MOVE_BITE - level_up_move 19, MOVE_LICK - level_up_move 26, MOVE_ROAR - level_up_move 34, MOVE_RAGE - level_up_move 43, MOVE_TAKE_DOWN - level_up_move 53, MOVE_CRUNCH - .2byte -1 - -gGranbullLevelUpLearnset:: @ 832426C - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_SCARY_FACE - level_up_move 4, MOVE_TAIL_WHIP - level_up_move 8, MOVE_CHARM - level_up_move 13, MOVE_BITE - level_up_move 19, MOVE_LICK - level_up_move 28, MOVE_ROAR - level_up_move 38, MOVE_RAGE - level_up_move 49, MOVE_TAKE_DOWN - level_up_move 61, MOVE_CRUNCH - .2byte -1 - -gQwilfishLevelUpLearnset:: @ 8324282 - level_up_move 1, MOVE_SPIKES - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_POISON_STING - level_up_move 10, MOVE_HARDEN - level_up_move 10, MOVE_MINIMIZE - level_up_move 19, MOVE_WATER_GUN - level_up_move 28, MOVE_PIN_MISSILE - level_up_move 37, MOVE_TAKE_DOWN - level_up_move 46, MOVE_HYDRO_PUMP - .2byte -1 - -gScizorLevelUpLearnset:: @ 8324296 - level_up_move 1, MOVE_QUICK_ATTACK - level_up_move 1, MOVE_LEER - level_up_move 6, MOVE_FOCUS_ENERGY - level_up_move 11, MOVE_PURSUIT - level_up_move 16, MOVE_FALSE_SWIPE - level_up_move 21, MOVE_AGILITY - level_up_move 26, MOVE_METAL_CLAW - level_up_move 31, MOVE_SLASH - level_up_move 36, MOVE_SWORDS_DANCE - level_up_move 41, MOVE_DOUBLE_TEAM - level_up_move 46, MOVE_FURY_CUTTER - .2byte -1 - -gShuckleLevelUpLearnset:: @ 83242AE - level_up_move 1, MOVE_CONSTRICT - level_up_move 1, MOVE_WITHDRAW - level_up_move 9, MOVE_WRAP - level_up_move 14, MOVE_ENCORE - level_up_move 23, MOVE_SAFEGUARD - level_up_move 28, MOVE_BIDE - level_up_move 37, MOVE_REST - .2byte -1 - -gHeracrossLevelUpLearnset:: @ 83242BE - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_LEER - level_up_move 6, MOVE_HORN_ATTACK - level_up_move 11, MOVE_ENDURE - level_up_move 17, MOVE_FURY_ATTACK - level_up_move 23, MOVE_BRICK_BREAK - level_up_move 30, MOVE_COUNTER - level_up_move 37, MOVE_TAKE_DOWN - level_up_move 45, MOVE_REVERSAL - level_up_move 53, MOVE_MEGAHORN - .2byte -1 - -gSneaselLevelUpLearnset:: @ 83242D4 - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_TAUNT - level_up_move 8, MOVE_QUICK_ATTACK - level_up_move 15, MOVE_SCREECH - level_up_move 22, MOVE_FAINT_ATTACK - level_up_move 29, MOVE_FURY_SWIPES - level_up_move 36, MOVE_AGILITY - level_up_move 43, MOVE_ICY_WIND - level_up_move 50, MOVE_SLASH - level_up_move 57, MOVE_BEAT_UP - level_up_move 64, MOVE_METAL_CLAW - .2byte -1 - -gTeddiursaLevelUpLearnset:: @ 83242EE - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_LEER - level_up_move 7, MOVE_LICK - level_up_move 13, MOVE_FURY_SWIPES - level_up_move 19, MOVE_FAKE_TEARS - level_up_move 25, MOVE_FAINT_ATTACK - level_up_move 31, MOVE_REST - level_up_move 37, MOVE_SLASH - level_up_move 43, MOVE_SNORE - level_up_move 49, MOVE_THRASH - .2byte -1 - -gUrsaringLevelUpLearnset:: @ 8324304 - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_LICK - level_up_move 1, MOVE_FURY_SWIPES - level_up_move 7, MOVE_LICK - level_up_move 13, MOVE_FURY_SWIPES - level_up_move 19, MOVE_FAKE_TEARS - level_up_move 25, MOVE_FAINT_ATTACK - level_up_move 31, MOVE_REST - level_up_move 37, MOVE_SLASH - level_up_move 43, MOVE_SNORE - level_up_move 49, MOVE_THRASH - .2byte -1 - -gSlugmaLevelUpLearnset:: @ 832431E - level_up_move 1, MOVE_YAWN - level_up_move 1, MOVE_SMOG - level_up_move 8, MOVE_EMBER - level_up_move 15, MOVE_ROCK_THROW - level_up_move 22, MOVE_HARDEN - level_up_move 29, MOVE_AMNESIA - level_up_move 36, MOVE_FLAMETHROWER - level_up_move 43, MOVE_ROCK_SLIDE - level_up_move 50, MOVE_BODY_SLAM - .2byte -1 - -gMagcargoLevelUpLearnset:: @ 8324332 - level_up_move 1, MOVE_YAWN - level_up_move 1, MOVE_SMOG - level_up_move 1, MOVE_EMBER - level_up_move 1, MOVE_ROCK_THROW - level_up_move 8, MOVE_EMBER - level_up_move 15, MOVE_ROCK_THROW - level_up_move 22, MOVE_HARDEN - level_up_move 29, MOVE_AMNESIA - level_up_move 36, MOVE_FLAMETHROWER - level_up_move 48, MOVE_ROCK_SLIDE - level_up_move 60, MOVE_BODY_SLAM - .2byte -1 - -gSwinubLevelUpLearnset:: @ 832434A - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_ODOR_SLEUTH - level_up_move 10, MOVE_POWDER_SNOW - level_up_move 19, MOVE_ENDURE - level_up_move 28, MOVE_TAKE_DOWN - level_up_move 37, MOVE_MIST - level_up_move 46, MOVE_BLIZZARD - level_up_move 55, MOVE_AMNESIA - .2byte -1 - -gPiloswineLevelUpLearnset:: @ 832435C - level_up_move 1, MOVE_HORN_ATTACK - level_up_move 1, MOVE_ODOR_SLEUTH - level_up_move 1, MOVE_POWDER_SNOW - level_up_move 1, MOVE_ENDURE - level_up_move 10, MOVE_POWDER_SNOW - level_up_move 19, MOVE_ENDURE - level_up_move 28, MOVE_TAKE_DOWN - level_up_move 33, MOVE_FURY_ATTACK - level_up_move 42, MOVE_MIST - level_up_move 56, MOVE_BLIZZARD - level_up_move 70, MOVE_AMNESIA - .2byte -1 - -gCorsolaLevelUpLearnset:: @ 8324374 - level_up_move 1, MOVE_TACKLE - level_up_move 6, MOVE_HARDEN - level_up_move 12, MOVE_BUBBLE - level_up_move 17, MOVE_RECOVER - level_up_move 17, MOVE_REFRESH - level_up_move 23, MOVE_BUBBLE_BEAM - level_up_move 28, MOVE_SPIKE_CANNON - level_up_move 34, MOVE_ROCK_BLAST - level_up_move 39, MOVE_MIRROR_COAT - level_up_move 45, MOVE_ANCIENT_POWER - .2byte -1 - -gRemoraidLevelUpLearnset:: @ 832438A - level_up_move 1, MOVE_WATER_GUN - level_up_move 11, MOVE_LOCK_ON - level_up_move 22, MOVE_PSYBEAM - level_up_move 22, MOVE_AURORA_BEAM - level_up_move 22, MOVE_BUBBLE_BEAM - level_up_move 33, MOVE_FOCUS_ENERGY - level_up_move 44, MOVE_ICE_BEAM - level_up_move 55, MOVE_HYPER_BEAM - .2byte -1 - -gOctilleryLevelUpLearnset:: @ 832439C - level_up_move 1, MOVE_WATER_GUN - level_up_move 11, MOVE_CONSTRICT - level_up_move 22, MOVE_PSYBEAM - level_up_move 22, MOVE_AURORA_BEAM - level_up_move 22, MOVE_BUBBLE_BEAM - level_up_move 25, MOVE_OCTAZOOKA - level_up_move 38, MOVE_FOCUS_ENERGY - level_up_move 54, MOVE_ICE_BEAM - level_up_move 70, MOVE_HYPER_BEAM - .2byte -1 - -gDelibirdLevelUpLearnset:: @ 83243B0 - level_up_move 1, MOVE_PRESENT - .2byte -1 - -gMantineLevelUpLearnset:: @ 83243B4 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_BUBBLE - level_up_move 8, MOVE_SUPERSONIC - level_up_move 15, MOVE_BUBBLE_BEAM - level_up_move 22, MOVE_TAKE_DOWN - level_up_move 29, MOVE_AGILITY - level_up_move 36, MOVE_WING_ATTACK - level_up_move 43, MOVE_WATER_PULSE - level_up_move 50, MOVE_CONFUSE_RAY - .2byte -1 - -gSkarmoryLevelUpLearnset:: @ 83243C8 - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_PECK - level_up_move 10, MOVE_SAND_ATTACK - level_up_move 13, MOVE_SWIFT - level_up_move 16, MOVE_AGILITY - level_up_move 26, MOVE_FURY_ATTACK - level_up_move 29, MOVE_AIR_CUTTER - level_up_move 32, MOVE_STEEL_WING - level_up_move 42, MOVE_SPIKES - level_up_move 45, MOVE_METAL_SOUND - .2byte -1 - -gHoundourLevelUpLearnset:: @ 83243DE - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_EMBER - level_up_move 7, MOVE_HOWL - level_up_move 13, MOVE_SMOG - level_up_move 19, MOVE_ROAR - level_up_move 25, MOVE_BITE - level_up_move 31, MOVE_ODOR_SLEUTH - level_up_move 37, MOVE_FAINT_ATTACK - level_up_move 43, MOVE_FLAMETHROWER - level_up_move 49, MOVE_CRUNCH - .2byte -1 - -gHoundoomLevelUpLearnset:: @ 83243F4 - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_EMBER - level_up_move 1, MOVE_HOWL - level_up_move 7, MOVE_HOWL - level_up_move 13, MOVE_SMOG - level_up_move 19, MOVE_ROAR - level_up_move 27, MOVE_BITE - level_up_move 35, MOVE_ODOR_SLEUTH - level_up_move 43, MOVE_FAINT_ATTACK - level_up_move 51, MOVE_FLAMETHROWER - level_up_move 59, MOVE_CRUNCH - .2byte -1 - -gKingdraLevelUpLearnset:: @ 832440C - level_up_move 1, MOVE_BUBBLE - level_up_move 1, MOVE_SMOKESCREEN - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_WATER_GUN - level_up_move 8, MOVE_SMOKESCREEN - level_up_move 15, MOVE_LEER - level_up_move 22, MOVE_WATER_GUN - level_up_move 29, MOVE_TWISTER - level_up_move 40, MOVE_AGILITY - level_up_move 51, MOVE_HYDRO_PUMP - level_up_move 62, MOVE_DRAGON_DANCE - .2byte -1 - -gPhanpyLevelUpLearnset:: @ 8324424 - level_up_move 1, MOVE_ODOR_SLEUTH - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_GROWL - level_up_move 9, MOVE_DEFENSE_CURL - level_up_move 17, MOVE_FLAIL - level_up_move 25, MOVE_TAKE_DOWN - level_up_move 33, MOVE_ROLLOUT - level_up_move 41, MOVE_ENDURE - level_up_move 49, MOVE_DOUBLE_EDGE - .2byte -1 - -gDonphanLevelUpLearnset:: @ 8324438 - level_up_move 1, MOVE_ODOR_SLEUTH - level_up_move 1, MOVE_HORN_ATTACK - level_up_move 1, MOVE_GROWL - level_up_move 9, MOVE_DEFENSE_CURL - level_up_move 17, MOVE_FLAIL - level_up_move 25, MOVE_FURY_ATTACK - level_up_move 33, MOVE_ROLLOUT - level_up_move 41, MOVE_RAPID_SPIN - level_up_move 49, MOVE_EARTHQUAKE - .2byte -1 - -gPorygon2LevelUpLearnset:: @ 832444C - level_up_move 1, MOVE_CONVERSION_2 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_CONVERSION - level_up_move 9, MOVE_AGILITY - level_up_move 12, MOVE_PSYBEAM - level_up_move 20, MOVE_RECOVER - level_up_move 24, MOVE_DEFENSE_CURL - level_up_move 32, MOVE_LOCK_ON - level_up_move 36, MOVE_TRI_ATTACK - level_up_move 44, MOVE_RECYCLE - level_up_move 48, MOVE_ZAP_CANNON - .2byte -1 - -gStantlerLevelUpLearnset:: @ 8324464 - level_up_move 1, MOVE_TACKLE - level_up_move 7, MOVE_LEER - level_up_move 13, MOVE_ASTONISH - level_up_move 19, MOVE_HYPNOSIS - level_up_move 25, MOVE_STOMP - level_up_move 31, MOVE_SAND_ATTACK - level_up_move 37, MOVE_TAKE_DOWN - level_up_move 43, MOVE_CONFUSE_RAY - level_up_move 49, MOVE_CALM_MIND - .2byte -1 - -gSmeargleLevelUpLearnset:: @ 8324478 - level_up_move 1, MOVE_SKETCH - level_up_move 11, MOVE_SKETCH - level_up_move 21, MOVE_SKETCH - level_up_move 31, MOVE_SKETCH - level_up_move 41, MOVE_SKETCH - level_up_move 51, MOVE_SKETCH - level_up_move 61, MOVE_SKETCH - level_up_move 71, MOVE_SKETCH - level_up_move 81, MOVE_SKETCH - level_up_move 91, MOVE_SKETCH - .2byte -1 - -gTyrogueLevelUpLearnset:: @ 832448E - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gHitmontopLevelUpLearnset:: @ 8324492 - level_up_move 1, MOVE_REVENGE - level_up_move 1, MOVE_ROLLING_KICK - level_up_move 7, MOVE_FOCUS_ENERGY - level_up_move 13, MOVE_PURSUIT - level_up_move 19, MOVE_QUICK_ATTACK - level_up_move 20, MOVE_TRIPLE_KICK - level_up_move 25, MOVE_RAPID_SPIN - level_up_move 31, MOVE_COUNTER - level_up_move 37, MOVE_AGILITY - level_up_move 43, MOVE_DETECT - level_up_move 49, MOVE_ENDEAVOR - .2byte -1 - -gSmoochumLevelUpLearnset:: @ 83244AA - level_up_move 1, MOVE_POUND - level_up_move 1, MOVE_LICK - level_up_move 9, MOVE_SWEET_KISS - level_up_move 13, MOVE_POWDER_SNOW - level_up_move 21, MOVE_CONFUSION - level_up_move 25, MOVE_SING - level_up_move 33, MOVE_MEAN_LOOK - level_up_move 37, MOVE_FAKE_TEARS - level_up_move 45, MOVE_PSYCHIC - level_up_move 49, MOVE_PERISH_SONG - level_up_move 57, MOVE_BLIZZARD - .2byte -1 - -gElekidLevelUpLearnset:: @ 83244C2 - level_up_move 1, MOVE_QUICK_ATTACK - level_up_move 1, MOVE_LEER - level_up_move 9, MOVE_THUNDER_PUNCH - level_up_move 17, MOVE_LIGHT_SCREEN - level_up_move 25, MOVE_SWIFT - level_up_move 33, MOVE_SCREECH - level_up_move 41, MOVE_THUNDERBOLT - level_up_move 49, MOVE_THUNDER - .2byte -1 - -gMagbyLevelUpLearnset:: @ 83244D4 - level_up_move 1, MOVE_EMBER - level_up_move 7, MOVE_LEER - level_up_move 13, MOVE_SMOG - level_up_move 19, MOVE_FIRE_PUNCH - level_up_move 25, MOVE_SMOKESCREEN - level_up_move 31, MOVE_SUNNY_DAY - level_up_move 37, MOVE_FLAMETHROWER - level_up_move 43, MOVE_CONFUSE_RAY - level_up_move 49, MOVE_FIRE_BLAST - .2byte -1 - -gMiltankLevelUpLearnset:: @ 83244E8 - level_up_move 1, MOVE_TACKLE - level_up_move 4, MOVE_GROWL - level_up_move 8, MOVE_DEFENSE_CURL - level_up_move 13, MOVE_STOMP - level_up_move 19, MOVE_MILK_DRINK - level_up_move 26, MOVE_BIDE - level_up_move 34, MOVE_ROLLOUT - level_up_move 43, MOVE_BODY_SLAM - level_up_move 53, MOVE_HEAL_BELL - .2byte -1 - -gBlisseyLevelUpLearnset:: @ 83244FC - level_up_move 1, MOVE_POUND - level_up_move 1, MOVE_GROWL - level_up_move 4, MOVE_TAIL_WHIP - level_up_move 7, MOVE_REFRESH - level_up_move 10, MOVE_SOFT_BOILED - level_up_move 13, MOVE_DOUBLE_SLAP - level_up_move 18, MOVE_MINIMIZE - level_up_move 23, MOVE_SING - level_up_move 28, MOVE_EGG_BOMB - level_up_move 33, MOVE_DEFENSE_CURL - level_up_move 40, MOVE_LIGHT_SCREEN - level_up_move 47, MOVE_DOUBLE_EDGE - .2byte -1 - -gRaikouLevelUpLearnset:: @ 8324516 - level_up_move 1, MOVE_BITE - level_up_move 1, MOVE_LEER - level_up_move 11, MOVE_THUNDER_SHOCK - level_up_move 21, MOVE_ROAR - level_up_move 31, MOVE_QUICK_ATTACK - level_up_move 41, MOVE_SPARK - level_up_move 51, MOVE_REFLECT - level_up_move 61, MOVE_CRUNCH - level_up_move 71, MOVE_THUNDER - level_up_move 81, MOVE_CALM_MIND - .2byte -1 - -gEnteiLevelUpLearnset:: @ 832452C - level_up_move 1, MOVE_BITE - level_up_move 1, MOVE_LEER - level_up_move 11, MOVE_EMBER - level_up_move 21, MOVE_ROAR - level_up_move 31, MOVE_FIRE_SPIN - level_up_move 41, MOVE_STOMP - level_up_move 51, MOVE_FLAMETHROWER - level_up_move 61, MOVE_SWAGGER - level_up_move 71, MOVE_FIRE_BLAST - level_up_move 81, MOVE_CALM_MIND - .2byte -1 - -gSuicuneLevelUpLearnset:: @ 8324542 - level_up_move 1, MOVE_BITE - level_up_move 1, MOVE_LEER - level_up_move 11, MOVE_BUBBLE_BEAM - level_up_move 21, MOVE_RAIN_DANCE - level_up_move 31, MOVE_GUST - level_up_move 41, MOVE_AURORA_BEAM - level_up_move 51, MOVE_MIST - level_up_move 61, MOVE_MIRROR_COAT - level_up_move 71, MOVE_HYDRO_PUMP - level_up_move 81, MOVE_CALM_MIND - .2byte -1 - -gLarvitarLevelUpLearnset:: @ 8324558 - level_up_move 1, MOVE_BITE - level_up_move 1, MOVE_LEER - level_up_move 8, MOVE_SANDSTORM - level_up_move 15, MOVE_SCREECH - level_up_move 22, MOVE_ROCK_SLIDE - level_up_move 29, MOVE_THRASH - level_up_move 36, MOVE_SCARY_FACE - level_up_move 43, MOVE_CRUNCH - level_up_move 50, MOVE_EARTHQUAKE - level_up_move 57, MOVE_HYPER_BEAM - .2byte -1 - -gPupitarLevelUpLearnset:: @ 832456E - level_up_move 1, MOVE_BITE - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_SANDSTORM - level_up_move 1, MOVE_SCREECH - level_up_move 8, MOVE_SANDSTORM - level_up_move 15, MOVE_SCREECH - level_up_move 22, MOVE_ROCK_SLIDE - level_up_move 29, MOVE_THRASH - level_up_move 38, MOVE_SCARY_FACE - level_up_move 47, MOVE_CRUNCH - level_up_move 56, MOVE_EARTHQUAKE - level_up_move 65, MOVE_HYPER_BEAM - .2byte -1 - -gTyranitarLevelUpLearnset:: @ 8324588 - level_up_move 1, MOVE_BITE - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_SANDSTORM - level_up_move 1, MOVE_SCREECH - level_up_move 8, MOVE_SANDSTORM - level_up_move 15, MOVE_SCREECH - level_up_move 22, MOVE_ROCK_SLIDE - level_up_move 29, MOVE_THRASH - level_up_move 38, MOVE_SCARY_FACE - level_up_move 47, MOVE_CRUNCH - level_up_move 61, MOVE_EARTHQUAKE - level_up_move 75, MOVE_HYPER_BEAM - .2byte -1 - -gLugiaLevelUpLearnset:: @ 83245A2 - level_up_move 1, MOVE_WHIRLWIND - level_up_move 11, MOVE_SAFEGUARD - level_up_move 22, MOVE_GUST - level_up_move 33, MOVE_RECOVER - level_up_move 44, MOVE_HYDRO_PUMP - level_up_move 55, MOVE_RAIN_DANCE - level_up_move 66, MOVE_SWIFT - level_up_move 77, MOVE_AEROBLAST - level_up_move 88, MOVE_ANCIENT_POWER - level_up_move 99, MOVE_FUTURE_SIGHT - .2byte -1 - -gHoOhLevelUpLearnset:: @ 83245B8 - level_up_move 1, MOVE_WHIRLWIND - level_up_move 11, MOVE_SAFEGUARD - level_up_move 22, MOVE_GUST - level_up_move 33, MOVE_RECOVER - level_up_move 44, MOVE_FIRE_BLAST - level_up_move 55, MOVE_SUNNY_DAY - level_up_move 66, MOVE_SWIFT - level_up_move 77, MOVE_SACRED_FIRE - level_up_move 88, MOVE_ANCIENT_POWER - level_up_move 99, MOVE_FUTURE_SIGHT - .2byte -1 - -gCelebiLevelUpLearnset:: @ 83245CE - level_up_move 1, MOVE_LEECH_SEED - level_up_move 1, MOVE_CONFUSION - level_up_move 1, MOVE_RECOVER - level_up_move 1, MOVE_HEAL_BELL - level_up_move 10, MOVE_SAFEGUARD - level_up_move 20, MOVE_ANCIENT_POWER - level_up_move 30, MOVE_FUTURE_SIGHT - level_up_move 40, MOVE_BATON_PASS - level_up_move 50, MOVE_PERISH_SONG - .2byte -1 - -gSpecies252LevelUpLearnset:: @ 83245E2 - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies253LevelUpLearnset:: @ 83245E6 - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies254LevelUpLearnset:: @ 83245EA - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies255LevelUpLearnset:: @ 83245EE - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies256LevelUpLearnset:: @ 83245F2 - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies257LevelUpLearnset:: @ 83245F6 - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies258LevelUpLearnset:: @ 83245FA - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies259LevelUpLearnset:: @ 83245FE - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies260LevelUpLearnset:: @ 8324602 - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies261LevelUpLearnset:: @ 8324606 - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies262LevelUpLearnset:: @ 832460A - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies263LevelUpLearnset:: @ 832460E - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies264LevelUpLearnset:: @ 8324612 - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies265LevelUpLearnset:: @ 8324616 - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies266LevelUpLearnset:: @ 832461A - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies267LevelUpLearnset:: @ 832461E - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies268LevelUpLearnset:: @ 8324622 - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies269LevelUpLearnset:: @ 8324626 - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies270LevelUpLearnset:: @ 832462A - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies271LevelUpLearnset:: @ 832462E - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies272LevelUpLearnset:: @ 8324632 - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies273LevelUpLearnset:: @ 8324636 - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies274LevelUpLearnset:: @ 832463A - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies275LevelUpLearnset:: @ 832463E - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gSpecies276LevelUpLearnset:: @ 8324642 - level_up_move 1, MOVE_TACKLE - .2byte -1 - -gTreeckoLevelUpLearnset:: @ 8324646 - level_up_move 1, MOVE_POUND - level_up_move 1, MOVE_LEER - level_up_move 6, MOVE_ABSORB - level_up_move 11, MOVE_QUICK_ATTACK - level_up_move 16, MOVE_PURSUIT - level_up_move 21, MOVE_SCREECH - level_up_move 26, MOVE_MEGA_DRAIN - level_up_move 31, MOVE_AGILITY - level_up_move 36, MOVE_SLAM - level_up_move 41, MOVE_DETECT - level_up_move 46, MOVE_GIGA_DRAIN - .2byte -1 - -gGrovyleLevelUpLearnset:: @ 832465E - level_up_move 1, MOVE_POUND - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_ABSORB - level_up_move 1, MOVE_QUICK_ATTACK - level_up_move 6, MOVE_ABSORB - level_up_move 11, MOVE_QUICK_ATTACK - level_up_move 16, MOVE_FURY_CUTTER - level_up_move 17, MOVE_PURSUIT - level_up_move 23, MOVE_SCREECH - level_up_move 29, MOVE_LEAF_BLADE - level_up_move 35, MOVE_AGILITY - level_up_move 41, MOVE_SLAM - level_up_move 47, MOVE_DETECT - level_up_move 53, MOVE_FALSE_SWIPE - .2byte -1 - -gSceptileLevelUpLearnset:: @ 832467C - level_up_move 1, MOVE_POUND - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_ABSORB - level_up_move 1, MOVE_QUICK_ATTACK - level_up_move 6, MOVE_ABSORB - level_up_move 11, MOVE_QUICK_ATTACK - level_up_move 16, MOVE_FURY_CUTTER - level_up_move 17, MOVE_PURSUIT - level_up_move 23, MOVE_SCREECH - level_up_move 29, MOVE_LEAF_BLADE - level_up_move 35, MOVE_AGILITY - level_up_move 43, MOVE_SLAM - level_up_move 51, MOVE_DETECT - level_up_move 59, MOVE_FALSE_SWIPE - .2byte -1 - -gTorchicLevelUpLearnset:: @ 832469A - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_GROWL - level_up_move 7, MOVE_FOCUS_ENERGY - level_up_move 10, MOVE_EMBER - level_up_move 16, MOVE_PECK - level_up_move 19, MOVE_SAND_ATTACK - level_up_move 25, MOVE_FIRE_SPIN - level_up_move 28, MOVE_QUICK_ATTACK - level_up_move 34, MOVE_SLASH - level_up_move 37, MOVE_MIRROR_MOVE - level_up_move 43, MOVE_FLAMETHROWER - .2byte -1 - -gCombuskenLevelUpLearnset:: @ 83246B2 - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_FOCUS_ENERGY - level_up_move 1, MOVE_EMBER - level_up_move 7, MOVE_FOCUS_ENERGY - level_up_move 13, MOVE_EMBER - level_up_move 16, MOVE_DOUBLE_KICK - level_up_move 17, MOVE_PECK - level_up_move 21, MOVE_SAND_ATTACK - level_up_move 28, MOVE_BULK_UP - level_up_move 32, MOVE_QUICK_ATTACK - level_up_move 39, MOVE_SLASH - level_up_move 43, MOVE_MIRROR_MOVE - level_up_move 50, MOVE_SKY_UPPERCUT - .2byte -1 - -gBlazikenLevelUpLearnset:: @ 83246D0 - level_up_move 1, MOVE_FIRE_PUNCH - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_FOCUS_ENERGY - level_up_move 1, MOVE_EMBER - level_up_move 7, MOVE_FOCUS_ENERGY - level_up_move 13, MOVE_EMBER - level_up_move 16, MOVE_DOUBLE_KICK - level_up_move 17, MOVE_PECK - level_up_move 21, MOVE_SAND_ATTACK - level_up_move 28, MOVE_BULK_UP - level_up_move 32, MOVE_QUICK_ATTACK - level_up_move 36, MOVE_BLAZE_KICK - level_up_move 42, MOVE_SLASH - level_up_move 49, MOVE_MIRROR_MOVE - level_up_move 59, MOVE_SKY_UPPERCUT - .2byte -1 - -gMudkipLevelUpLearnset:: @ 83246F2 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_GROWL - level_up_move 6, MOVE_MUD_SLAP - level_up_move 10, MOVE_WATER_GUN - level_up_move 15, MOVE_BIDE - level_up_move 19, MOVE_FORESIGHT - level_up_move 24, MOVE_MUD_SPORT - level_up_move 28, MOVE_TAKE_DOWN - level_up_move 33, MOVE_WHIRLPOOL - level_up_move 37, MOVE_PROTECT - level_up_move 42, MOVE_HYDRO_PUMP - level_up_move 46, MOVE_ENDEAVOR - .2byte -1 - -gMarshtompLevelUpLearnset:: @ 832470C - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_MUD_SLAP - level_up_move 1, MOVE_WATER_GUN - level_up_move 6, MOVE_MUD_SLAP - level_up_move 10, MOVE_WATER_GUN - level_up_move 15, MOVE_BIDE - level_up_move 16, MOVE_MUD_SHOT - level_up_move 20, MOVE_FORESIGHT - level_up_move 25, MOVE_MUD_SPORT - level_up_move 31, MOVE_TAKE_DOWN - level_up_move 37, MOVE_MUDDY_WATER - level_up_move 42, MOVE_PROTECT - level_up_move 46, MOVE_EARTHQUAKE - level_up_move 53, MOVE_ENDEAVOR - .2byte -1 - -gSwampertLevelUpLearnset:: @ 832472C - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_MUD_SLAP - level_up_move 1, MOVE_WATER_GUN - level_up_move 6, MOVE_MUD_SLAP - level_up_move 10, MOVE_WATER_GUN - level_up_move 15, MOVE_BIDE - level_up_move 16, MOVE_MUD_SHOT - level_up_move 20, MOVE_FORESIGHT - level_up_move 25, MOVE_MUD_SPORT - level_up_move 31, MOVE_TAKE_DOWN - level_up_move 39, MOVE_MUDDY_WATER - level_up_move 46, MOVE_PROTECT - level_up_move 52, MOVE_EARTHQUAKE - level_up_move 61, MOVE_ENDEAVOR - .2byte -1 - -gPoochyenaLevelUpLearnset:: @ 832474C - level_up_move 1, MOVE_TACKLE - level_up_move 5, MOVE_HOWL - level_up_move 9, MOVE_SAND_ATTACK - level_up_move 13, MOVE_BITE - level_up_move 17, MOVE_ODOR_SLEUTH - level_up_move 21, MOVE_ROAR - level_up_move 25, MOVE_SWAGGER - level_up_move 29, MOVE_SCARY_FACE - level_up_move 33, MOVE_TAKE_DOWN - level_up_move 37, MOVE_TAUNT - level_up_move 41, MOVE_CRUNCH - level_up_move 45, MOVE_THIEF - .2byte -1 - -gMightyenaLevelUpLearnset:: @ 8324766 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_HOWL - level_up_move 1, MOVE_SAND_ATTACK - level_up_move 1, MOVE_BITE - level_up_move 5, MOVE_HOWL - level_up_move 9, MOVE_SAND_ATTACK - level_up_move 13, MOVE_BITE - level_up_move 17, MOVE_ODOR_SLEUTH - level_up_move 22, MOVE_ROAR - level_up_move 27, MOVE_SWAGGER - level_up_move 32, MOVE_SCARY_FACE - level_up_move 37, MOVE_TAKE_DOWN - level_up_move 42, MOVE_TAUNT - level_up_move 47, MOVE_CRUNCH - level_up_move 52, MOVE_THIEF - .2byte -1 - -gZigzagoonLevelUpLearnset:: @ 8324786 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_GROWL - level_up_move 5, MOVE_TAIL_WHIP - level_up_move 9, MOVE_HEADBUTT - level_up_move 13, MOVE_SAND_ATTACK - level_up_move 17, MOVE_ODOR_SLEUTH - level_up_move 21, MOVE_MUD_SPORT - level_up_move 25, MOVE_PIN_MISSILE - level_up_move 29, MOVE_COVET - level_up_move 33, MOVE_FLAIL - level_up_move 37, MOVE_REST - level_up_move 41, MOVE_BELLY_DRUM - .2byte -1 - -gLinooneLevelUpLearnset:: @ 83247A0 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_HEADBUTT - level_up_move 5, MOVE_TAIL_WHIP - level_up_move 9, MOVE_HEADBUTT - level_up_move 13, MOVE_SAND_ATTACK - level_up_move 17, MOVE_ODOR_SLEUTH - level_up_move 23, MOVE_MUD_SPORT - level_up_move 29, MOVE_FURY_SWIPES - level_up_move 35, MOVE_COVET - level_up_move 41, MOVE_SLASH - level_up_move 47, MOVE_REST - level_up_move 53, MOVE_BELLY_DRUM - .2byte -1 - -gWurmpleLevelUpLearnset:: @ 83247BE - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_STRING_SHOT - level_up_move 5, MOVE_POISON_STING - .2byte -1 - -gSilcoonLevelUpLearnset:: @ 83247C6 - level_up_move 1, MOVE_HARDEN - level_up_move 7, MOVE_HARDEN - .2byte -1 - -gBeautiflyLevelUpLearnset:: @ 83247CC - level_up_move 1, MOVE_ABSORB - level_up_move 10, MOVE_ABSORB - level_up_move 13, MOVE_GUST - level_up_move 17, MOVE_STUN_SPORE - level_up_move 20, MOVE_MORNING_SUN - level_up_move 24, MOVE_MEGA_DRAIN - level_up_move 27, MOVE_WHIRLWIND - level_up_move 31, MOVE_ATTRACT - level_up_move 34, MOVE_SILVER_WIND - level_up_move 38, MOVE_GIGA_DRAIN - .2byte -1 - -gCascoonLevelUpLearnset:: @ 83247E2 - level_up_move 1, MOVE_HARDEN - level_up_move 7, MOVE_HARDEN - .2byte -1 - -gDustoxLevelUpLearnset:: @ 83247E8 - level_up_move 1, MOVE_CONFUSION - level_up_move 10, MOVE_CONFUSION - level_up_move 13, MOVE_GUST - level_up_move 17, MOVE_PROTECT - level_up_move 20, MOVE_MOONLIGHT - level_up_move 24, MOVE_PSYBEAM - level_up_move 27, MOVE_WHIRLWIND - level_up_move 31, MOVE_LIGHT_SCREEN - level_up_move 34, MOVE_SILVER_WIND - level_up_move 38, MOVE_TOXIC - .2byte -1 - -gLotadLevelUpLearnset:: @ 83247FE - level_up_move 1, MOVE_ASTONISH - level_up_move 3, MOVE_GROWL - level_up_move 7, MOVE_ABSORB - level_up_move 13, MOVE_NATURE_POWER - level_up_move 21, MOVE_MIST - level_up_move 31, MOVE_RAIN_DANCE - level_up_move 43, MOVE_MEGA_DRAIN - .2byte -1 - -gLombreLevelUpLearnset:: @ 832480E - level_up_move 1, MOVE_ASTONISH - level_up_move 3, MOVE_GROWL - level_up_move 7, MOVE_ABSORB - level_up_move 13, MOVE_NATURE_POWER - level_up_move 19, MOVE_FAKE_OUT - level_up_move 25, MOVE_FURY_SWIPES - level_up_move 31, MOVE_WATER_SPORT - level_up_move 37, MOVE_THIEF - level_up_move 43, MOVE_UPROAR - level_up_move 49, MOVE_HYDRO_PUMP - .2byte -1 - -gLudicoloLevelUpLearnset:: @ 8324824 - level_up_move 1, MOVE_ASTONISH - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_ABSORB - level_up_move 1, MOVE_NATURE_POWER - .2byte -1 - -gSeedotLevelUpLearnset:: @ 832482E - level_up_move 1, MOVE_BIDE - level_up_move 3, MOVE_HARDEN - level_up_move 7, MOVE_GROWTH - level_up_move 13, MOVE_NATURE_POWER - level_up_move 21, MOVE_SYNTHESIS - level_up_move 31, MOVE_SUNNY_DAY - level_up_move 43, MOVE_EXPLOSION - .2byte -1 - -gNuzleafLevelUpLearnset:: @ 832483E - level_up_move 1, MOVE_POUND - level_up_move 3, MOVE_HARDEN - level_up_move 7, MOVE_GROWTH - level_up_move 13, MOVE_NATURE_POWER - level_up_move 19, MOVE_FAKE_OUT - level_up_move 25, MOVE_TORMENT - level_up_move 31, MOVE_FAINT_ATTACK - level_up_move 37, MOVE_RAZOR_WIND - level_up_move 43, MOVE_SWAGGER - level_up_move 49, MOVE_EXTRASENSORY - .2byte -1 - -gShiftryLevelUpLearnset:: @ 8324854 - level_up_move 1, MOVE_POUND - level_up_move 1, MOVE_HARDEN - level_up_move 1, MOVE_GROWTH - level_up_move 1, MOVE_NATURE_POWER - .2byte -1 - -gNincadaLevelUpLearnset:: @ 832485E - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_HARDEN - level_up_move 5, MOVE_LEECH_LIFE - level_up_move 9, MOVE_SAND_ATTACK - level_up_move 14, MOVE_FURY_SWIPES - level_up_move 19, MOVE_MIND_READER - level_up_move 25, MOVE_FALSE_SWIPE - level_up_move 31, MOVE_MUD_SLAP - level_up_move 38, MOVE_METAL_CLAW - level_up_move 45, MOVE_DIG - .2byte -1 - -gNinjaskLevelUpLearnset:: @ 8324874 - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_HARDEN - level_up_move 1, MOVE_LEECH_LIFE - level_up_move 1, MOVE_SAND_ATTACK - level_up_move 5, MOVE_LEECH_LIFE - level_up_move 9, MOVE_SAND_ATTACK - level_up_move 14, MOVE_FURY_SWIPES - level_up_move 19, MOVE_MIND_READER - level_up_move 20, MOVE_DOUBLE_TEAM - level_up_move 20, MOVE_FURY_CUTTER - level_up_move 20, MOVE_SCREECH - level_up_move 25, MOVE_SWORDS_DANCE - level_up_move 31, MOVE_SLASH - level_up_move 38, MOVE_AGILITY - level_up_move 45, MOVE_BATON_PASS - .2byte -1 - -gShedinjaLevelUpLearnset:: @ 8324894 - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_HARDEN - level_up_move 5, MOVE_LEECH_LIFE - level_up_move 9, MOVE_SAND_ATTACK - level_up_move 14, MOVE_FURY_SWIPES - level_up_move 19, MOVE_MIND_READER - level_up_move 25, MOVE_SPITE - level_up_move 31, MOVE_CONFUSE_RAY - level_up_move 38, MOVE_SHADOW_BALL - level_up_move 45, MOVE_GRUDGE - .2byte -1 - -gTaillowLevelUpLearnset:: @ 83248AA - level_up_move 1, MOVE_PECK - level_up_move 1, MOVE_GROWL - level_up_move 4, MOVE_FOCUS_ENERGY - level_up_move 8, MOVE_QUICK_ATTACK - level_up_move 13, MOVE_WING_ATTACK - level_up_move 19, MOVE_DOUBLE_TEAM - level_up_move 26, MOVE_ENDEAVOR - level_up_move 34, MOVE_AERIAL_ACE - level_up_move 43, MOVE_AGILITY - .2byte -1 - -gSwellowLevelUpLearnset:: @ 83248BE - level_up_move 1, MOVE_PECK - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_FOCUS_ENERGY - level_up_move 1, MOVE_QUICK_ATTACK - level_up_move 4, MOVE_FOCUS_ENERGY - level_up_move 8, MOVE_QUICK_ATTACK - level_up_move 13, MOVE_WING_ATTACK - level_up_move 19, MOVE_DOUBLE_TEAM - level_up_move 28, MOVE_ENDEAVOR - level_up_move 38, MOVE_AERIAL_ACE - level_up_move 49, MOVE_AGILITY - .2byte -1 - -gShroomishLevelUpLearnset:: @ 83248D6 - level_up_move 1, MOVE_ABSORB - level_up_move 4, MOVE_TACKLE - level_up_move 7, MOVE_STUN_SPORE - level_up_move 10, MOVE_LEECH_SEED - level_up_move 16, MOVE_MEGA_DRAIN - level_up_move 22, MOVE_HEADBUTT - level_up_move 28, MOVE_POISON_POWDER - level_up_move 36, MOVE_GROWTH - level_up_move 45, MOVE_GIGA_DRAIN - level_up_move 54, MOVE_SPORE - .2byte -1 - -gBreloomLevelUpLearnset:: @ 83248EC - level_up_move 1, MOVE_ABSORB - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_STUN_SPORE - level_up_move 1, MOVE_LEECH_SEED - level_up_move 4, MOVE_TACKLE - level_up_move 7, MOVE_STUN_SPORE - level_up_move 10, MOVE_LEECH_SEED - level_up_move 16, MOVE_MEGA_DRAIN - level_up_move 22, MOVE_HEADBUTT - level_up_move 23, MOVE_MACH_PUNCH - level_up_move 28, MOVE_COUNTER - level_up_move 36, MOVE_SKY_UPPERCUT - level_up_move 45, MOVE_MIND_READER - level_up_move 54, MOVE_DYNAMIC_PUNCH - .2byte -1 - -gSpindaLevelUpLearnset:: @ 832490A - level_up_move 1, MOVE_TACKLE - level_up_move 5, MOVE_UPROAR - level_up_move 12, MOVE_FAINT_ATTACK - level_up_move 16, MOVE_PSYBEAM - level_up_move 23, MOVE_HYPNOSIS - level_up_move 27, MOVE_DIZZY_PUNCH - level_up_move 34, MOVE_TEETER_DANCE - level_up_move 38, MOVE_PSYCH_UP - level_up_move 45, MOVE_DOUBLE_EDGE - level_up_move 49, MOVE_FLAIL - level_up_move 56, MOVE_THRASH - .2byte -1 - -gWingullLevelUpLearnset:: @ 8324922 - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_WATER_GUN - level_up_move 7, MOVE_SUPERSONIC - level_up_move 13, MOVE_WING_ATTACK - level_up_move 21, MOVE_MIST - level_up_move 31, MOVE_QUICK_ATTACK - level_up_move 43, MOVE_PURSUIT - level_up_move 55, MOVE_AGILITY - .2byte -1 - -gPelipperLevelUpLearnset:: @ 8324934 - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_WATER_GUN - level_up_move 1, MOVE_WATER_SPORT - level_up_move 1, MOVE_WING_ATTACK - level_up_move 3, MOVE_WATER_GUN - level_up_move 7, MOVE_SUPERSONIC - level_up_move 13, MOVE_WING_ATTACK - level_up_move 21, MOVE_MIST - level_up_move 25, MOVE_PROTECT - level_up_move 33, MOVE_STOCKPILE - level_up_move 33, MOVE_SWALLOW - level_up_move 47, MOVE_SPIT_UP - level_up_move 61, MOVE_HYDRO_PUMP - .2byte -1 - -gSurskitLevelUpLearnset:: @ 8324950 - level_up_move 1, MOVE_BUBBLE - level_up_move 7, MOVE_QUICK_ATTACK - level_up_move 13, MOVE_SWEET_SCENT - level_up_move 19, MOVE_WATER_SPORT - level_up_move 25, MOVE_BUBBLE_BEAM - level_up_move 31, MOVE_AGILITY - level_up_move 37, MOVE_MIST - level_up_move 37, MOVE_HAZE - .2byte -1 - -gMasquerainLevelUpLearnset:: @ 8324962 - level_up_move 1, MOVE_BUBBLE - level_up_move 1, MOVE_QUICK_ATTACK - level_up_move 1, MOVE_SWEET_SCENT - level_up_move 1, MOVE_WATER_SPORT - level_up_move 7, MOVE_QUICK_ATTACK - level_up_move 13, MOVE_SWEET_SCENT - level_up_move 19, MOVE_WATER_SPORT - level_up_move 26, MOVE_GUST - level_up_move 33, MOVE_SCARY_FACE - level_up_move 40, MOVE_STUN_SPORE - level_up_move 47, MOVE_SILVER_WIND - level_up_move 53, MOVE_WHIRLWIND - .2byte -1 - -gWailmerLevelUpLearnset:: @ 832497C - level_up_move 1, MOVE_SPLASH - level_up_move 5, MOVE_GROWL - level_up_move 10, MOVE_WATER_GUN - level_up_move 14, MOVE_ROLLOUT - level_up_move 19, MOVE_WHIRLPOOL - level_up_move 23, MOVE_ASTONISH - level_up_move 28, MOVE_WATER_PULSE - level_up_move 32, MOVE_MIST - level_up_move 37, MOVE_REST - level_up_move 41, MOVE_WATER_SPOUT - level_up_move 46, MOVE_AMNESIA - level_up_move 50, MOVE_HYDRO_PUMP - .2byte -1 - -gWailordLevelUpLearnset:: @ 8324996 - level_up_move 1, MOVE_SPLASH - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_WATER_GUN - level_up_move 1, MOVE_ROLLOUT - level_up_move 5, MOVE_GROWL - level_up_move 10, MOVE_WATER_GUN - level_up_move 14, MOVE_ROLLOUT - level_up_move 19, MOVE_WHIRLPOOL - level_up_move 23, MOVE_ASTONISH - level_up_move 28, MOVE_WATER_PULSE - level_up_move 32, MOVE_MIST - level_up_move 37, MOVE_REST - level_up_move 44, MOVE_WATER_SPOUT - level_up_move 52, MOVE_AMNESIA - level_up_move 59, MOVE_HYDRO_PUMP - .2byte -1 - -gSkittyLevelUpLearnset:: @ 83249B6 - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_TACKLE - level_up_move 3, MOVE_TAIL_WHIP - level_up_move 7, MOVE_ATTRACT - level_up_move 13, MOVE_SING - level_up_move 15, MOVE_DOUBLE_SLAP - level_up_move 19, MOVE_ASSIST - level_up_move 25, MOVE_CHARM - level_up_move 27, MOVE_FAINT_ATTACK - level_up_move 31, MOVE_COVET - level_up_move 37, MOVE_HEAL_BELL - level_up_move 39, MOVE_DOUBLE_EDGE - .2byte -1 - -gDelcattyLevelUpLearnset:: @ 83249D0 - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_ATTRACT - level_up_move 1, MOVE_SING - level_up_move 1, MOVE_DOUBLE_SLAP - .2byte -1 - -gKecleonLevelUpLearnset:: @ 83249DA - level_up_move 1, MOVE_THIEF - level_up_move 1, MOVE_TAIL_WHIP - level_up_move 1, MOVE_ASTONISH - level_up_move 1, MOVE_LICK - level_up_move 1, MOVE_SCRATCH - level_up_move 4, MOVE_BIND - level_up_move 7, MOVE_FAINT_ATTACK - level_up_move 12, MOVE_FURY_SWIPES - level_up_move 17, MOVE_PSYBEAM - level_up_move 24, MOVE_SCREECH - level_up_move 31, MOVE_SLASH - level_up_move 40, MOVE_SUBSTITUTE - level_up_move 49, MOVE_ANCIENT_POWER - .2byte -1 - -gBaltoyLevelUpLearnset:: @ 83249F6 - level_up_move 1, MOVE_CONFUSION - level_up_move 3, MOVE_HARDEN - level_up_move 5, MOVE_RAPID_SPIN - level_up_move 7, MOVE_MUD_SLAP - level_up_move 11, MOVE_PSYBEAM - level_up_move 15, MOVE_ROCK_TOMB - level_up_move 19, MOVE_SELF_DESTRUCT - level_up_move 25, MOVE_ANCIENT_POWER - level_up_move 31, MOVE_SANDSTORM - level_up_move 37, MOVE_COSMIC_POWER - level_up_move 45, MOVE_EXPLOSION - .2byte -1 - -gClaydolLevelUpLearnset:: @ 8324A0E - level_up_move 1, MOVE_TELEPORT - level_up_move 1, MOVE_CONFUSION - level_up_move 1, MOVE_HARDEN - level_up_move 1, MOVE_RAPID_SPIN - level_up_move 3, MOVE_HARDEN - level_up_move 5, MOVE_RAPID_SPIN - level_up_move 7, MOVE_MUD_SLAP - level_up_move 11, MOVE_PSYBEAM - level_up_move 15, MOVE_ROCK_TOMB - level_up_move 19, MOVE_SELF_DESTRUCT - level_up_move 25, MOVE_ANCIENT_POWER - level_up_move 31, MOVE_SANDSTORM - level_up_move 36, MOVE_HYPER_BEAM - level_up_move 42, MOVE_COSMIC_POWER - level_up_move 55, MOVE_EXPLOSION - .2byte -1 - -gNosepassLevelUpLearnset:: @ 8324A2E - level_up_move 1, MOVE_TACKLE - level_up_move 7, MOVE_HARDEN - level_up_move 13, MOVE_ROCK_THROW - level_up_move 16, MOVE_BLOCK - level_up_move 22, MOVE_THUNDER_WAVE - level_up_move 28, MOVE_ROCK_SLIDE - level_up_move 31, MOVE_SANDSTORM - level_up_move 37, MOVE_REST - level_up_move 43, MOVE_ZAP_CANNON - level_up_move 46, MOVE_LOCK_ON - .2byte -1 - -gTorkoalLevelUpLearnset:: @ 8324A44 - level_up_move 1, MOVE_EMBER - level_up_move 4, MOVE_SMOG - level_up_move 7, MOVE_CURSE - level_up_move 14, MOVE_SMOKESCREEN - level_up_move 17, MOVE_FIRE_SPIN - level_up_move 20, MOVE_BODY_SLAM - level_up_move 27, MOVE_PROTECT - level_up_move 30, MOVE_FLAMETHROWER - level_up_move 33, MOVE_IRON_DEFENSE - level_up_move 40, MOVE_AMNESIA - level_up_move 43, MOVE_FLAIL - level_up_move 46, MOVE_HEAT_WAVE - .2byte -1 - -gSableyeLevelUpLearnset:: @ 8324A5E - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_SCRATCH - level_up_move 5, MOVE_FORESIGHT - level_up_move 9, MOVE_NIGHT_SHADE - level_up_move 13, MOVE_ASTONISH - level_up_move 17, MOVE_FURY_SWIPES - level_up_move 21, MOVE_FAKE_OUT - level_up_move 25, MOVE_DETECT - level_up_move 29, MOVE_FAINT_ATTACK - level_up_move 33, MOVE_KNOCK_OFF - level_up_move 37, MOVE_CONFUSE_RAY - level_up_move 41, MOVE_SHADOW_BALL - level_up_move 45, MOVE_MEAN_LOOK - .2byte -1 - -gBarboachLevelUpLearnset:: @ 8324A7A - level_up_move 1, MOVE_MUD_SLAP - level_up_move 6, MOVE_MUD_SPORT - level_up_move 6, MOVE_WATER_SPORT - level_up_move 11, MOVE_WATER_GUN - level_up_move 16, MOVE_MAGNITUDE - level_up_move 21, MOVE_AMNESIA - level_up_move 26, MOVE_REST - level_up_move 26, MOVE_SNORE - level_up_move 31, MOVE_EARTHQUAKE - level_up_move 36, MOVE_FUTURE_SIGHT - level_up_move 41, MOVE_FISSURE - .2byte -1 - -gWhiscashLevelUpLearnset:: @ 8324A92 - level_up_move 1, MOVE_TICKLE - level_up_move 1, MOVE_MUD_SLAP - level_up_move 1, MOVE_MUD_SPORT - level_up_move 1, MOVE_WATER_SPORT - level_up_move 6, MOVE_MUD_SPORT - level_up_move 6, MOVE_WATER_SPORT - level_up_move 11, MOVE_WATER_GUN - level_up_move 16, MOVE_MAGNITUDE - level_up_move 21, MOVE_AMNESIA - level_up_move 26, MOVE_REST - level_up_move 26, MOVE_SNORE - level_up_move 36, MOVE_EARTHQUAKE - level_up_move 46, MOVE_FUTURE_SIGHT - level_up_move 56, MOVE_FISSURE - .2byte -1 - -gLuvdiscLevelUpLearnset:: @ 8324AB0 - level_up_move 1, MOVE_TACKLE - level_up_move 4, MOVE_CHARM - level_up_move 12, MOVE_WATER_GUN - level_up_move 16, MOVE_AGILITY - level_up_move 24, MOVE_TAKE_DOWN - level_up_move 28, MOVE_ATTRACT - level_up_move 36, MOVE_SWEET_KISS - level_up_move 40, MOVE_FLAIL - level_up_move 48, MOVE_SAFEGUARD - .2byte -1 - -gCorphishLevelUpLearnset:: @ 8324AC4 - level_up_move 1, MOVE_BUBBLE - level_up_move 7, MOVE_HARDEN - level_up_move 10, MOVE_VICE_GRIP - level_up_move 13, MOVE_LEER - level_up_move 20, MOVE_BUBBLE_BEAM - level_up_move 23, MOVE_PROTECT - level_up_move 26, MOVE_KNOCK_OFF - level_up_move 32, MOVE_TAUNT - level_up_move 35, MOVE_CRABHAMMER - level_up_move 38, MOVE_SWORDS_DANCE - level_up_move 44, MOVE_GUILLOTINE - .2byte -1 - -gCrawdauntLevelUpLearnset:: @ 8324ADC - level_up_move 1, MOVE_BUBBLE - level_up_move 1, MOVE_HARDEN - level_up_move 1, MOVE_VICE_GRIP - level_up_move 1, MOVE_LEER - level_up_move 7, MOVE_HARDEN - level_up_move 10, MOVE_VICE_GRIP - level_up_move 13, MOVE_LEER - level_up_move 20, MOVE_BUBBLE_BEAM - level_up_move 23, MOVE_PROTECT - level_up_move 26, MOVE_KNOCK_OFF - level_up_move 34, MOVE_TAUNT - level_up_move 39, MOVE_CRABHAMMER - level_up_move 44, MOVE_SWORDS_DANCE - level_up_move 52, MOVE_GUILLOTINE - .2byte -1 - -gFeebasLevelUpLearnset:: @ 8324AFA - level_up_move 1, MOVE_SPLASH - level_up_move 15, MOVE_TACKLE - level_up_move 30, MOVE_FLAIL - .2byte -1 - -gMiloticLevelUpLearnset:: @ 8324B02 - level_up_move 1, MOVE_WATER_GUN - level_up_move 5, MOVE_WRAP - level_up_move 10, MOVE_WATER_SPORT - level_up_move 15, MOVE_REFRESH - level_up_move 20, MOVE_WATER_PULSE - level_up_move 25, MOVE_TWISTER - level_up_move 30, MOVE_RECOVER - level_up_move 35, MOVE_RAIN_DANCE - level_up_move 40, MOVE_HYDRO_PUMP - level_up_move 45, MOVE_ATTRACT - level_up_move 50, MOVE_SAFEGUARD - .2byte -1 - -gCarvanhaLevelUpLearnset:: @ 8324B1A - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_BITE - level_up_move 7, MOVE_RAGE - level_up_move 13, MOVE_FOCUS_ENERGY - level_up_move 16, MOVE_SCARY_FACE - level_up_move 22, MOVE_CRUNCH - level_up_move 28, MOVE_SCREECH - level_up_move 31, MOVE_TAKE_DOWN - level_up_move 37, MOVE_SWAGGER - level_up_move 43, MOVE_AGILITY - .2byte -1 - -gSharpedoLevelUpLearnset:: @ 8324B30 - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_BITE - level_up_move 1, MOVE_RAGE - level_up_move 1, MOVE_FOCUS_ENERGY - level_up_move 7, MOVE_RAGE - level_up_move 13, MOVE_FOCUS_ENERGY - level_up_move 16, MOVE_SCARY_FACE - level_up_move 22, MOVE_CRUNCH - level_up_move 28, MOVE_SCREECH - level_up_move 33, MOVE_SLASH - level_up_move 38, MOVE_TAUNT - level_up_move 43, MOVE_SWAGGER - level_up_move 48, MOVE_SKULL_BASH - level_up_move 53, MOVE_AGILITY - .2byte -1 - -gTrapinchLevelUpLearnset:: @ 8324B4E - level_up_move 1, MOVE_BITE - level_up_move 9, MOVE_SAND_ATTACK - level_up_move 17, MOVE_FAINT_ATTACK - level_up_move 25, MOVE_SAND_TOMB - level_up_move 33, MOVE_CRUNCH - level_up_move 41, MOVE_DIG - level_up_move 49, MOVE_SANDSTORM - level_up_move 57, MOVE_HYPER_BEAM - .2byte -1 - -gVibravaLevelUpLearnset:: @ 8324B60 - level_up_move 1, MOVE_BITE - level_up_move 1, MOVE_SAND_ATTACK - level_up_move 1, MOVE_FAINT_ATTACK - level_up_move 1, MOVE_SAND_TOMB - level_up_move 9, MOVE_SAND_ATTACK - level_up_move 17, MOVE_FAINT_ATTACK - level_up_move 25, MOVE_SAND_TOMB - level_up_move 33, MOVE_CRUNCH - level_up_move 35, MOVE_DRAGON_BREATH - level_up_move 41, MOVE_SCREECH - level_up_move 49, MOVE_SANDSTORM - level_up_move 57, MOVE_HYPER_BEAM - .2byte -1 - -gFlygonLevelUpLearnset:: @ 8324B7A - level_up_move 1, MOVE_BITE - level_up_move 1, MOVE_SAND_ATTACK - level_up_move 1, MOVE_FAINT_ATTACK - level_up_move 1, MOVE_SAND_TOMB - level_up_move 9, MOVE_SAND_ATTACK - level_up_move 17, MOVE_FAINT_ATTACK - level_up_move 25, MOVE_SAND_TOMB - level_up_move 33, MOVE_CRUNCH - level_up_move 35, MOVE_DRAGON_BREATH - level_up_move 41, MOVE_SCREECH - level_up_move 53, MOVE_SANDSTORM - level_up_move 65, MOVE_HYPER_BEAM - .2byte -1 - -gMakuhitaLevelUpLearnset:: @ 8324B94 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_FOCUS_ENERGY - level_up_move 4, MOVE_SAND_ATTACK - level_up_move 10, MOVE_ARM_THRUST - level_up_move 13, MOVE_VITAL_THROW - level_up_move 19, MOVE_FAKE_OUT - level_up_move 22, MOVE_WHIRLWIND - level_up_move 28, MOVE_KNOCK_OFF - level_up_move 31, MOVE_SMELLING_SALT - level_up_move 37, MOVE_BELLY_DRUM - level_up_move 40, MOVE_ENDURE - level_up_move 46, MOVE_SEISMIC_TOSS - level_up_move 49, MOVE_REVERSAL - .2byte -1 - -gHariyamaLevelUpLearnset:: @ 8324BB0 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_FOCUS_ENERGY - level_up_move 1, MOVE_SAND_ATTACK - level_up_move 1, MOVE_ARM_THRUST - level_up_move 4, MOVE_SAND_ATTACK - level_up_move 10, MOVE_ARM_THRUST - level_up_move 13, MOVE_VITAL_THROW - level_up_move 19, MOVE_FAKE_OUT - level_up_move 22, MOVE_WHIRLWIND - level_up_move 29, MOVE_KNOCK_OFF - level_up_move 33, MOVE_SMELLING_SALT - level_up_move 40, MOVE_BELLY_DRUM - level_up_move 44, MOVE_ENDURE - level_up_move 51, MOVE_SEISMIC_TOSS - level_up_move 55, MOVE_REVERSAL - .2byte -1 - -gElectrikeLevelUpLearnset:: @ 8324BD0 - level_up_move 1, MOVE_TACKLE - level_up_move 4, MOVE_THUNDER_WAVE - level_up_move 9, MOVE_LEER - level_up_move 12, MOVE_HOWL - level_up_move 17, MOVE_QUICK_ATTACK - level_up_move 20, MOVE_SPARK - level_up_move 25, MOVE_ODOR_SLEUTH - level_up_move 28, MOVE_ROAR - level_up_move 33, MOVE_BITE - level_up_move 36, MOVE_THUNDER - level_up_move 41, MOVE_CHARGE - .2byte -1 - -gManectricLevelUpLearnset:: @ 8324BE8 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_THUNDER_WAVE - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_HOWL - level_up_move 4, MOVE_THUNDER_WAVE - level_up_move 9, MOVE_LEER - level_up_move 12, MOVE_HOWL - level_up_move 17, MOVE_QUICK_ATTACK - level_up_move 20, MOVE_SPARK - level_up_move 25, MOVE_ODOR_SLEUTH - level_up_move 31, MOVE_ROAR - level_up_move 39, MOVE_BITE - level_up_move 45, MOVE_THUNDER - level_up_move 53, MOVE_CHARGE - .2byte -1 - -gNumelLevelUpLearnset:: @ 8324C06 - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_TACKLE - level_up_move 11, MOVE_EMBER - level_up_move 19, MOVE_MAGNITUDE - level_up_move 25, MOVE_FOCUS_ENERGY - level_up_move 29, MOVE_TAKE_DOWN - level_up_move 31, MOVE_AMNESIA - level_up_move 35, MOVE_EARTHQUAKE - level_up_move 41, MOVE_FLAMETHROWER - level_up_move 49, MOVE_DOUBLE_EDGE - .2byte -1 - -gCameruptLevelUpLearnset:: @ 8324C1C - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_EMBER - level_up_move 1, MOVE_MAGNITUDE - level_up_move 11, MOVE_EMBER - level_up_move 19, MOVE_MAGNITUDE - level_up_move 25, MOVE_FOCUS_ENERGY - level_up_move 29, MOVE_TAKE_DOWN - level_up_move 31, MOVE_AMNESIA - level_up_move 33, MOVE_ROCK_SLIDE - level_up_move 37, MOVE_EARTHQUAKE - level_up_move 45, MOVE_ERUPTION - level_up_move 55, MOVE_FISSURE - .2byte -1 - -gSphealLevelUpLearnset:: @ 8324C38 - level_up_move 1, MOVE_POWDER_SNOW - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_WATER_GUN - level_up_move 7, MOVE_ENCORE - level_up_move 13, MOVE_ICE_BALL - level_up_move 19, MOVE_BODY_SLAM - level_up_move 25, MOVE_AURORA_BEAM - level_up_move 31, MOVE_HAIL - level_up_move 37, MOVE_REST - level_up_move 37, MOVE_SNORE - level_up_move 43, MOVE_BLIZZARD - level_up_move 49, MOVE_SHEER_COLD - .2byte -1 - -gSealeoLevelUpLearnset:: @ 8324C52 - level_up_move 1, MOVE_POWDER_SNOW - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_WATER_GUN - level_up_move 1, MOVE_ENCORE - level_up_move 7, MOVE_ENCORE - level_up_move 13, MOVE_ICE_BALL - level_up_move 19, MOVE_BODY_SLAM - level_up_move 25, MOVE_AURORA_BEAM - level_up_move 31, MOVE_HAIL - level_up_move 39, MOVE_REST - level_up_move 39, MOVE_SNORE - level_up_move 47, MOVE_BLIZZARD - level_up_move 55, MOVE_SHEER_COLD - .2byte -1 - -gWalreinLevelUpLearnset:: @ 8324C6E - level_up_move 1, MOVE_POWDER_SNOW - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_WATER_GUN - level_up_move 1, MOVE_ENCORE - level_up_move 7, MOVE_ENCORE - level_up_move 13, MOVE_ICE_BALL - level_up_move 19, MOVE_BODY_SLAM - level_up_move 25, MOVE_AURORA_BEAM - level_up_move 31, MOVE_HAIL - level_up_move 39, MOVE_REST - level_up_move 39, MOVE_SNORE - level_up_move 50, MOVE_BLIZZARD - level_up_move 61, MOVE_SHEER_COLD - .2byte -1 - -gCacneaLevelUpLearnset:: @ 8324C8A - level_up_move 1, MOVE_POISON_STING - level_up_move 1, MOVE_LEER - level_up_move 5, MOVE_ABSORB - level_up_move 9, MOVE_GROWTH - level_up_move 13, MOVE_LEECH_SEED - level_up_move 17, MOVE_SAND_ATTACK - level_up_move 21, MOVE_PIN_MISSILE - level_up_move 25, MOVE_INGRAIN - level_up_move 29, MOVE_FAINT_ATTACK - level_up_move 33, MOVE_SPIKES - level_up_move 37, MOVE_NEEDLE_ARM - level_up_move 41, MOVE_COTTON_SPORE - level_up_move 45, MOVE_SANDSTORM - .2byte -1 - -gCacturneLevelUpLearnset:: @ 8324CA6 - level_up_move 1, MOVE_POISON_STING - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_ABSORB - level_up_move 1, MOVE_GROWTH - level_up_move 5, MOVE_ABSORB - level_up_move 9, MOVE_GROWTH - level_up_move 13, MOVE_LEECH_SEED - level_up_move 17, MOVE_SAND_ATTACK - level_up_move 21, MOVE_PIN_MISSILE - level_up_move 25, MOVE_INGRAIN - level_up_move 29, MOVE_FAINT_ATTACK - level_up_move 35, MOVE_SPIKES - level_up_move 41, MOVE_NEEDLE_ARM - level_up_move 47, MOVE_COTTON_SPORE - level_up_move 53, MOVE_SANDSTORM - .2byte -1 - -gSnoruntLevelUpLearnset:: @ 8324CC6 - level_up_move 1, MOVE_POWDER_SNOW - level_up_move 1, MOVE_LEER - level_up_move 7, MOVE_DOUBLE_TEAM - level_up_move 10, MOVE_BITE - level_up_move 16, MOVE_ICY_WIND - level_up_move 19, MOVE_HEADBUTT - level_up_move 25, MOVE_PROTECT - level_up_move 28, MOVE_CRUNCH - level_up_move 34, MOVE_ICE_BEAM - level_up_move 37, MOVE_HAIL - level_up_move 43, MOVE_BLIZZARD - .2byte -1 - -gGlalieLevelUpLearnset:: @ 8324CDE - level_up_move 1, MOVE_POWDER_SNOW - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_DOUBLE_TEAM - level_up_move 1, MOVE_BITE - level_up_move 7, MOVE_DOUBLE_TEAM - level_up_move 10, MOVE_BITE - level_up_move 16, MOVE_ICY_WIND - level_up_move 19, MOVE_HEADBUTT - level_up_move 25, MOVE_PROTECT - level_up_move 28, MOVE_CRUNCH - level_up_move 34, MOVE_ICE_BEAM - level_up_move 42, MOVE_HAIL - level_up_move 53, MOVE_BLIZZARD - level_up_move 61, MOVE_SHEER_COLD - .2byte -1 - -gLunatoneLevelUpLearnset:: @ 8324CFC - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_HARDEN - level_up_move 7, MOVE_CONFUSION - level_up_move 13, MOVE_ROCK_THROW - level_up_move 19, MOVE_HYPNOSIS - level_up_move 25, MOVE_PSYWAVE - level_up_move 31, MOVE_COSMIC_POWER - level_up_move 37, MOVE_PSYCHIC - level_up_move 43, MOVE_FUTURE_SIGHT - level_up_move 49, MOVE_EXPLOSION - .2byte -1 - -gSolrockLevelUpLearnset:: @ 8324D12 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_HARDEN - level_up_move 7, MOVE_CONFUSION - level_up_move 13, MOVE_ROCK_THROW - level_up_move 19, MOVE_FIRE_SPIN - level_up_move 25, MOVE_PSYWAVE - level_up_move 31, MOVE_COSMIC_POWER - level_up_move 37, MOVE_ROCK_SLIDE - level_up_move 43, MOVE_SOLAR_BEAM - level_up_move 49, MOVE_EXPLOSION - .2byte -1 - -gAzurillLevelUpLearnset:: @ 8324D28 - level_up_move 1, MOVE_SPLASH - level_up_move 3, MOVE_CHARM - level_up_move 6, MOVE_TAIL_WHIP - level_up_move 10, MOVE_BUBBLE - level_up_move 15, MOVE_SLAM - level_up_move 21, MOVE_WATER_GUN - .2byte -1 - -gSpoinkLevelUpLearnset:: @ 8324D36 - level_up_move 1, MOVE_SPLASH - level_up_move 7, MOVE_PSYWAVE - level_up_move 10, MOVE_ODOR_SLEUTH - level_up_move 16, MOVE_PSYBEAM - level_up_move 19, MOVE_PSYCH_UP - level_up_move 25, MOVE_CONFUSE_RAY - level_up_move 28, MOVE_MAGIC_COAT - level_up_move 34, MOVE_PSYCHIC - level_up_move 37, MOVE_REST - level_up_move 37, MOVE_SNORE - level_up_move 43, MOVE_BOUNCE - .2byte -1 - -gGrumpigLevelUpLearnset:: @ 8324D4E - level_up_move 1, MOVE_SPLASH - level_up_move 1, MOVE_PSYWAVE - level_up_move 1, MOVE_ODOR_SLEUTH - level_up_move 1, MOVE_PSYBEAM - level_up_move 7, MOVE_PSYWAVE - level_up_move 10, MOVE_ODOR_SLEUTH - level_up_move 16, MOVE_PSYBEAM - level_up_move 19, MOVE_PSYCH_UP - level_up_move 25, MOVE_CONFUSE_RAY - level_up_move 28, MOVE_MAGIC_COAT - level_up_move 37, MOVE_PSYCHIC - level_up_move 43, MOVE_REST - level_up_move 43, MOVE_SNORE - level_up_move 55, MOVE_BOUNCE - .2byte -1 - -gPlusleLevelUpLearnset:: @ 8324D6C - level_up_move 1, MOVE_GROWL - level_up_move 4, MOVE_THUNDER_WAVE - level_up_move 10, MOVE_QUICK_ATTACK - level_up_move 13, MOVE_HELPING_HAND - level_up_move 19, MOVE_SPARK - level_up_move 22, MOVE_ENCORE - level_up_move 28, MOVE_FAKE_TEARS - level_up_move 31, MOVE_CHARGE - level_up_move 37, MOVE_THUNDER - level_up_move 40, MOVE_BATON_PASS - level_up_move 47, MOVE_AGILITY - .2byte -1 - -gMinunLevelUpLearnset:: @ 8324D84 - level_up_move 1, MOVE_GROWL - level_up_move 4, MOVE_THUNDER_WAVE - level_up_move 10, MOVE_QUICK_ATTACK - level_up_move 13, MOVE_HELPING_HAND - level_up_move 19, MOVE_SPARK - level_up_move 22, MOVE_ENCORE - level_up_move 28, MOVE_CHARM - level_up_move 31, MOVE_CHARGE - level_up_move 37, MOVE_THUNDER - level_up_move 40, MOVE_BATON_PASS - level_up_move 47, MOVE_AGILITY - .2byte -1 - -gMawileLevelUpLearnset:: @ 8324D9C - level_up_move 1, MOVE_ASTONISH - level_up_move 6, MOVE_FAKE_TEARS - level_up_move 11, MOVE_BITE - level_up_move 16, MOVE_SWEET_SCENT - level_up_move 21, MOVE_VICE_GRIP - level_up_move 26, MOVE_FAINT_ATTACK - level_up_move 31, MOVE_BATON_PASS - level_up_move 36, MOVE_CRUNCH - level_up_move 41, MOVE_IRON_DEFENSE - level_up_move 46, MOVE_STOCKPILE - level_up_move 46, MOVE_SWALLOW - level_up_move 46, MOVE_SPIT_UP - .2byte -1 - -gMedititeLevelUpLearnset:: @ 8324DB6 - level_up_move 1, MOVE_BIDE - level_up_move 4, MOVE_MEDITATE - level_up_move 9, MOVE_CONFUSION - level_up_move 12, MOVE_DETECT - level_up_move 18, MOVE_HIDDEN_POWER - level_up_move 22, MOVE_MIND_READER - level_up_move 28, MOVE_CALM_MIND - level_up_move 32, MOVE_HI_JUMP_KICK - level_up_move 38, MOVE_PSYCH_UP - level_up_move 42, MOVE_REVERSAL - level_up_move 48, MOVE_RECOVER - .2byte -1 - -gMedichamLevelUpLearnset:: @ 8324DCE - level_up_move 1, MOVE_FIRE_PUNCH - level_up_move 1, MOVE_THUNDER_PUNCH - level_up_move 1, MOVE_ICE_PUNCH - level_up_move 1, MOVE_BIDE - level_up_move 1, MOVE_MEDITATE - level_up_move 1, MOVE_CONFUSION - level_up_move 1, MOVE_DETECT - level_up_move 4, MOVE_MEDITATE - level_up_move 9, MOVE_CONFUSION - level_up_move 12, MOVE_DETECT - level_up_move 18, MOVE_HIDDEN_POWER - level_up_move 22, MOVE_MIND_READER - level_up_move 28, MOVE_CALM_MIND - level_up_move 32, MOVE_HI_JUMP_KICK - level_up_move 40, MOVE_PSYCH_UP - level_up_move 46, MOVE_REVERSAL - level_up_move 54, MOVE_RECOVER - .2byte -1 - -gSwabluLevelUpLearnset:: @ 8324DF2 - level_up_move 1, MOVE_PECK - level_up_move 1, MOVE_GROWL - level_up_move 8, MOVE_ASTONISH - level_up_move 11, MOVE_SING - level_up_move 18, MOVE_FURY_ATTACK - level_up_move 21, MOVE_SAFEGUARD - level_up_move 28, MOVE_MIST - level_up_move 31, MOVE_TAKE_DOWN - level_up_move 38, MOVE_MIRROR_MOVE - level_up_move 41, MOVE_REFRESH - level_up_move 48, MOVE_PERISH_SONG - .2byte -1 - -gAltariaLevelUpLearnset:: @ 8324E0A - level_up_move 1, MOVE_PECK - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_ASTONISH - level_up_move 1, MOVE_SING - level_up_move 8, MOVE_ASTONISH - level_up_move 11, MOVE_SING - level_up_move 18, MOVE_FURY_ATTACK - level_up_move 21, MOVE_SAFEGUARD - level_up_move 28, MOVE_MIST - level_up_move 31, MOVE_TAKE_DOWN - level_up_move 35, MOVE_DRAGON_BREATH - level_up_move 40, MOVE_DRAGON_DANCE - level_up_move 45, MOVE_REFRESH - level_up_move 54, MOVE_PERISH_SONG - level_up_move 59, MOVE_SKY_ATTACK - .2byte -1 - -gWynautLevelUpLearnset:: @ 8324E2A - level_up_move 1, MOVE_SPLASH - level_up_move 1, MOVE_CHARM - level_up_move 1, MOVE_ENCORE - level_up_move 15, MOVE_COUNTER - level_up_move 15, MOVE_MIRROR_COAT - level_up_move 15, MOVE_SAFEGUARD - level_up_move 15, MOVE_DESTINY_BOND - .2byte -1 - -gDuskullLevelUpLearnset:: @ 8324E3A - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_NIGHT_SHADE - level_up_move 5, MOVE_DISABLE - level_up_move 12, MOVE_FORESIGHT - level_up_move 16, MOVE_ASTONISH - level_up_move 23, MOVE_CONFUSE_RAY - level_up_move 27, MOVE_PURSUIT - level_up_move 34, MOVE_CURSE - level_up_move 38, MOVE_WILL_O_WISP - level_up_move 45, MOVE_MEAN_LOOK - level_up_move 49, MOVE_FUTURE_SIGHT - .2byte -1 - -gDusclopsLevelUpLearnset:: @ 8324E52 - level_up_move 1, MOVE_BIND - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_NIGHT_SHADE - level_up_move 1, MOVE_DISABLE - level_up_move 5, MOVE_DISABLE - level_up_move 12, MOVE_FORESIGHT - level_up_move 16, MOVE_ASTONISH - level_up_move 23, MOVE_CONFUSE_RAY - level_up_move 27, MOVE_PURSUIT - level_up_move 34, MOVE_CURSE - level_up_move 37, MOVE_SHADOW_PUNCH - level_up_move 41, MOVE_WILL_O_WISP - level_up_move 51, MOVE_MEAN_LOOK - level_up_move 58, MOVE_FUTURE_SIGHT - .2byte -1 - -gRoseliaLevelUpLearnset:: @ 8324E70 - level_up_move 1, MOVE_ABSORB - level_up_move 5, MOVE_GROWTH - level_up_move 9, MOVE_POISON_STING - level_up_move 13, MOVE_STUN_SPORE - level_up_move 17, MOVE_MEGA_DRAIN - level_up_move 21, MOVE_LEECH_SEED - level_up_move 25, MOVE_MAGICAL_LEAF - level_up_move 29, MOVE_GRASS_WHISTLE - level_up_move 33, MOVE_GIGA_DRAIN - level_up_move 37, MOVE_SWEET_SCENT - level_up_move 41, MOVE_INGRAIN - level_up_move 45, MOVE_TOXIC - level_up_move 49, MOVE_PETAL_DANCE - level_up_move 53, MOVE_AROMATHERAPY - level_up_move 57, MOVE_SYNTHESIS - .2byte -1 - -gSlakothLevelUpLearnset:: @ 8324E90 - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_YAWN - level_up_move 7, MOVE_ENCORE - level_up_move 13, MOVE_SLACK_OFF - level_up_move 19, MOVE_FAINT_ATTACK - level_up_move 25, MOVE_AMNESIA - level_up_move 31, MOVE_COVET - level_up_move 37, MOVE_COUNTER - level_up_move 43, MOVE_FLAIL - .2byte -1 - -gVigorothLevelUpLearnset:: @ 8324EA4 - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_FOCUS_ENERGY - level_up_move 1, MOVE_ENCORE - level_up_move 1, MOVE_UPROAR - level_up_move 7, MOVE_ENCORE - level_up_move 13, MOVE_UPROAR - level_up_move 19, MOVE_FURY_SWIPES - level_up_move 25, MOVE_ENDURE - level_up_move 31, MOVE_SLASH - level_up_move 37, MOVE_COUNTER - level_up_move 43, MOVE_FOCUS_PUNCH - level_up_move 49, MOVE_REVERSAL - .2byte -1 - -gSlakingLevelUpLearnset:: @ 8324EBE - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_YAWN - level_up_move 1, MOVE_ENCORE - level_up_move 1, MOVE_SLACK_OFF - level_up_move 7, MOVE_ENCORE - level_up_move 13, MOVE_SLACK_OFF - level_up_move 19, MOVE_FAINT_ATTACK - level_up_move 25, MOVE_AMNESIA - level_up_move 31, MOVE_COVET - level_up_move 36, MOVE_SWAGGER - level_up_move 37, MOVE_COUNTER - level_up_move 43, MOVE_FLAIL - .2byte -1 - -gGulpinLevelUpLearnset:: @ 8324ED8 - level_up_move 1, MOVE_POUND - level_up_move 6, MOVE_YAWN - level_up_move 9, MOVE_POISON_GAS - level_up_move 14, MOVE_SLUDGE - level_up_move 17, MOVE_AMNESIA - level_up_move 23, MOVE_ENCORE - level_up_move 28, MOVE_TOXIC - level_up_move 34, MOVE_STOCKPILE - level_up_move 34, MOVE_SPIT_UP - level_up_move 34, MOVE_SWALLOW - level_up_move 39, MOVE_SLUDGE_BOMB - .2byte -1 - -gSwalotLevelUpLearnset:: @ 8324EF0 - level_up_move 1, MOVE_POUND - level_up_move 1, MOVE_YAWN - level_up_move 1, MOVE_POISON_GAS - level_up_move 1, MOVE_SLUDGE - level_up_move 6, MOVE_YAWN - level_up_move 9, MOVE_POISON_GAS - level_up_move 14, MOVE_SLUDGE - level_up_move 17, MOVE_AMNESIA - level_up_move 23, MOVE_ENCORE - level_up_move 26, MOVE_BODY_SLAM - level_up_move 31, MOVE_TOXIC - level_up_move 40, MOVE_STOCKPILE - level_up_move 40, MOVE_SPIT_UP - level_up_move 40, MOVE_SWALLOW - level_up_move 48, MOVE_SLUDGE_BOMB - .2byte -1 - -gTropiusLevelUpLearnset:: @ 8324F10 - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_GUST - level_up_move 7, MOVE_GROWTH - level_up_move 11, MOVE_RAZOR_LEAF - level_up_move 17, MOVE_STOMP - level_up_move 21, MOVE_SWEET_SCENT - level_up_move 27, MOVE_WHIRLWIND - level_up_move 31, MOVE_MAGICAL_LEAF - level_up_move 37, MOVE_BODY_SLAM - level_up_move 41, MOVE_SOLAR_BEAM - level_up_move 47, MOVE_SYNTHESIS - .2byte -1 - -gWhismurLevelUpLearnset:: @ 8324F28 - level_up_move 1, MOVE_POUND - level_up_move 5, MOVE_UPROAR - level_up_move 11, MOVE_ASTONISH - level_up_move 15, MOVE_HOWL - level_up_move 21, MOVE_SUPERSONIC - level_up_move 25, MOVE_STOMP - level_up_move 31, MOVE_SCREECH - level_up_move 35, MOVE_ROAR - level_up_move 41, MOVE_REST - level_up_move 41, MOVE_SLEEP_TALK - level_up_move 45, MOVE_HYPER_VOICE - .2byte -1 - -gLoudredLevelUpLearnset:: @ 8324F40 - level_up_move 1, MOVE_POUND - level_up_move 1, MOVE_UPROAR - level_up_move 1, MOVE_ASTONISH - level_up_move 1, MOVE_HOWL - level_up_move 5, MOVE_UPROAR - level_up_move 11, MOVE_ASTONISH - level_up_move 15, MOVE_HOWL - level_up_move 23, MOVE_SUPERSONIC - level_up_move 29, MOVE_STOMP - level_up_move 37, MOVE_SCREECH - level_up_move 43, MOVE_ROAR - level_up_move 51, MOVE_REST - level_up_move 51, MOVE_SLEEP_TALK - level_up_move 57, MOVE_HYPER_VOICE - .2byte -1 - -gExploudLevelUpLearnset:: @ 8324F5E - level_up_move 1, MOVE_POUND - level_up_move 1, MOVE_UPROAR - level_up_move 1, MOVE_ASTONISH - level_up_move 1, MOVE_HOWL - level_up_move 5, MOVE_UPROAR - level_up_move 11, MOVE_ASTONISH - level_up_move 15, MOVE_HOWL - level_up_move 23, MOVE_SUPERSONIC - level_up_move 29, MOVE_STOMP - level_up_move 37, MOVE_SCREECH - level_up_move 40, MOVE_HYPER_BEAM - level_up_move 45, MOVE_ROAR - level_up_move 55, MOVE_REST - level_up_move 55, MOVE_SLEEP_TALK - level_up_move 63, MOVE_HYPER_VOICE - .2byte -1 - -gClamperlLevelUpLearnset:: @ 8324F7E - level_up_move 1, MOVE_CLAMP - level_up_move 1, MOVE_WATER_GUN - level_up_move 1, MOVE_WHIRLPOOL - level_up_move 1, MOVE_IRON_DEFENSE - .2byte -1 - -gHuntailLevelUpLearnset:: @ 8324F88 - level_up_move 1, MOVE_WHIRLPOOL - level_up_move 8, MOVE_BITE - level_up_move 15, MOVE_SCREECH - level_up_move 22, MOVE_WATER_PULSE - level_up_move 29, MOVE_SCARY_FACE - level_up_move 36, MOVE_CRUNCH - level_up_move 43, MOVE_BATON_PASS - level_up_move 50, MOVE_HYDRO_PUMP - .2byte -1 - -gGorebyssLevelUpLearnset:: @ 8324F9A - level_up_move 1, MOVE_WHIRLPOOL - level_up_move 8, MOVE_CONFUSION - level_up_move 15, MOVE_AGILITY - level_up_move 22, MOVE_WATER_PULSE - level_up_move 29, MOVE_AMNESIA - level_up_move 36, MOVE_PSYCHIC - level_up_move 43, MOVE_BATON_PASS - level_up_move 50, MOVE_HYDRO_PUMP - .2byte -1 - -gAbsolLevelUpLearnset:: @ 8324FAC - level_up_move 1, MOVE_SCRATCH - level_up_move 5, MOVE_LEER - level_up_move 9, MOVE_TAUNT - level_up_move 13, MOVE_QUICK_ATTACK - level_up_move 17, MOVE_RAZOR_WIND - level_up_move 21, MOVE_BITE - level_up_move 26, MOVE_SWORDS_DANCE - level_up_move 31, MOVE_DOUBLE_TEAM - level_up_move 36, MOVE_SLASH - level_up_move 41, MOVE_FUTURE_SIGHT - level_up_move 46, MOVE_PERISH_SONG - .2byte -1 - -gShuppetLevelUpLearnset:: @ 8324FC4 - level_up_move 1, MOVE_KNOCK_OFF - level_up_move 8, MOVE_SCREECH - level_up_move 13, MOVE_NIGHT_SHADE - level_up_move 20, MOVE_CURSE - level_up_move 25, MOVE_SPITE - level_up_move 32, MOVE_WILL_O_WISP - level_up_move 37, MOVE_FAINT_ATTACK - level_up_move 44, MOVE_SHADOW_BALL - level_up_move 49, MOVE_SNATCH - level_up_move 56, MOVE_GRUDGE - .2byte -1 - -gBanetteLevelUpLearnset:: @ 8324FDA - level_up_move 1, MOVE_KNOCK_OFF - level_up_move 1, MOVE_SCREECH - level_up_move 1, MOVE_NIGHT_SHADE - level_up_move 1, MOVE_CURSE - level_up_move 8, MOVE_SCREECH - level_up_move 13, MOVE_NIGHT_SHADE - level_up_move 20, MOVE_CURSE - level_up_move 25, MOVE_SPITE - level_up_move 32, MOVE_WILL_O_WISP - level_up_move 39, MOVE_FAINT_ATTACK - level_up_move 48, MOVE_SHADOW_BALL - level_up_move 55, MOVE_SNATCH - level_up_move 64, MOVE_GRUDGE - .2byte -1 - -gSeviperLevelUpLearnset:: @ 8324FF6 - level_up_move 1, MOVE_WRAP - level_up_move 7, MOVE_LICK - level_up_move 10, MOVE_BITE - level_up_move 16, MOVE_POISON_TAIL - level_up_move 19, MOVE_SCREECH - level_up_move 25, MOVE_GLARE - level_up_move 28, MOVE_CRUNCH - level_up_move 34, MOVE_POISON_FANG - level_up_move 37, MOVE_SWAGGER - level_up_move 43, MOVE_HAZE - .2byte -1 - -gZangooseLevelUpLearnset:: @ 832500C - level_up_move 1, MOVE_SCRATCH - level_up_move 4, MOVE_LEER - level_up_move 7, MOVE_QUICK_ATTACK - level_up_move 10, MOVE_SWORDS_DANCE - level_up_move 13, MOVE_FURY_CUTTER - level_up_move 19, MOVE_SLASH - level_up_move 25, MOVE_PURSUIT - level_up_move 31, MOVE_CRUSH_CLAW - level_up_move 37, MOVE_TAUNT - level_up_move 46, MOVE_DETECT - level_up_move 55, MOVE_FALSE_SWIPE - .2byte -1 - -gRelicanthLevelUpLearnset:: @ 8325024 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_HARDEN - level_up_move 8, MOVE_WATER_GUN - level_up_move 15, MOVE_ROCK_TOMB - level_up_move 22, MOVE_YAWN - level_up_move 29, MOVE_TAKE_DOWN - level_up_move 36, MOVE_MUD_SPORT - level_up_move 43, MOVE_ANCIENT_POWER - level_up_move 50, MOVE_REST - level_up_move 57, MOVE_DOUBLE_EDGE - level_up_move 64, MOVE_HYDRO_PUMP - .2byte -1 - -gAronLevelUpLearnset:: @ 832503C - level_up_move 1, MOVE_TACKLE - level_up_move 4, MOVE_HARDEN - level_up_move 7, MOVE_MUD_SLAP - level_up_move 10, MOVE_HEADBUTT - level_up_move 13, MOVE_METAL_CLAW - level_up_move 17, MOVE_IRON_DEFENSE - level_up_move 21, MOVE_ROAR - level_up_move 25, MOVE_TAKE_DOWN - level_up_move 29, MOVE_IRON_TAIL - level_up_move 34, MOVE_PROTECT - level_up_move 39, MOVE_METAL_SOUND - level_up_move 44, MOVE_DOUBLE_EDGE - .2byte -1 - -gLaironLevelUpLearnset:: @ 8325056 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_HARDEN - level_up_move 1, MOVE_MUD_SLAP - level_up_move 1, MOVE_HEADBUTT - level_up_move 4, MOVE_HARDEN - level_up_move 7, MOVE_MUD_SLAP - level_up_move 10, MOVE_HEADBUTT - level_up_move 13, MOVE_METAL_CLAW - level_up_move 17, MOVE_IRON_DEFENSE - level_up_move 21, MOVE_ROAR - level_up_move 25, MOVE_TAKE_DOWN - level_up_move 29, MOVE_IRON_TAIL - level_up_move 37, MOVE_PROTECT - level_up_move 45, MOVE_METAL_SOUND - level_up_move 53, MOVE_DOUBLE_EDGE - .2byte -1 - -gAggronLevelUpLearnset:: @ 8325076 - level_up_move 1, MOVE_TACKLE - level_up_move 1, MOVE_HARDEN - level_up_move 1, MOVE_MUD_SLAP - level_up_move 1, MOVE_HEADBUTT - level_up_move 4, MOVE_HARDEN - level_up_move 7, MOVE_MUD_SLAP - level_up_move 10, MOVE_HEADBUTT - level_up_move 13, MOVE_METAL_CLAW - level_up_move 17, MOVE_IRON_DEFENSE - level_up_move 21, MOVE_ROAR - level_up_move 25, MOVE_TAKE_DOWN - level_up_move 29, MOVE_IRON_TAIL - level_up_move 37, MOVE_PROTECT - level_up_move 50, MOVE_METAL_SOUND - level_up_move 63, MOVE_DOUBLE_EDGE - .2byte -1 - -gCastformLevelUpLearnset:: @ 8325096 - level_up_move 1, MOVE_TACKLE - level_up_move 10, MOVE_WATER_GUN - level_up_move 10, MOVE_EMBER - level_up_move 10, MOVE_POWDER_SNOW - level_up_move 20, MOVE_RAIN_DANCE - level_up_move 20, MOVE_SUNNY_DAY - level_up_move 20, MOVE_HAIL - level_up_move 30, MOVE_WEATHER_BALL - .2byte -1 - -gVolbeatLevelUpLearnset:: @ 83250A8 - level_up_move 1, MOVE_TACKLE - level_up_move 5, MOVE_CONFUSE_RAY - level_up_move 9, MOVE_DOUBLE_TEAM - level_up_move 13, MOVE_MOONLIGHT - level_up_move 17, MOVE_QUICK_ATTACK - level_up_move 21, MOVE_TAIL_GLOW - level_up_move 25, MOVE_SIGNAL_BEAM - level_up_move 29, MOVE_PROTECT - level_up_move 33, MOVE_HELPING_HAND - level_up_move 37, MOVE_DOUBLE_EDGE - .2byte -1 - -gIllumiseLevelUpLearnset:: @ 83250BE - level_up_move 1, MOVE_TACKLE - level_up_move 5, MOVE_SWEET_SCENT - level_up_move 9, MOVE_CHARM - level_up_move 13, MOVE_MOONLIGHT - level_up_move 17, MOVE_QUICK_ATTACK - level_up_move 21, MOVE_WISH - level_up_move 25, MOVE_ENCORE - level_up_move 29, MOVE_FLATTER - level_up_move 33, MOVE_HELPING_HAND - level_up_move 37, MOVE_COVET - .2byte -1 - -gLileepLevelUpLearnset:: @ 83250D4 - level_up_move 1, MOVE_ASTONISH - level_up_move 8, MOVE_CONSTRICT - level_up_move 15, MOVE_ACID - level_up_move 22, MOVE_INGRAIN - level_up_move 29, MOVE_CONFUSE_RAY - level_up_move 36, MOVE_AMNESIA - level_up_move 43, MOVE_ANCIENT_POWER - level_up_move 50, MOVE_STOCKPILE - level_up_move 50, MOVE_SPIT_UP - level_up_move 50, MOVE_SWALLOW - .2byte -1 - -gCradilyLevelUpLearnset:: @ 83250EA - level_up_move 1, MOVE_ASTONISH - level_up_move 1, MOVE_CONSTRICT - level_up_move 1, MOVE_ACID - level_up_move 1, MOVE_INGRAIN - level_up_move 8, MOVE_CONSTRICT - level_up_move 15, MOVE_ACID - level_up_move 22, MOVE_INGRAIN - level_up_move 29, MOVE_CONFUSE_RAY - level_up_move 36, MOVE_AMNESIA - level_up_move 48, MOVE_ANCIENT_POWER - level_up_move 60, MOVE_STOCKPILE - level_up_move 60, MOVE_SPIT_UP - level_up_move 60, MOVE_SWALLOW - .2byte -1 - -gAnorithLevelUpLearnset:: @ 8325106 - level_up_move 1, MOVE_SCRATCH - level_up_move 7, MOVE_HARDEN - level_up_move 13, MOVE_MUD_SPORT - level_up_move 19, MOVE_WATER_GUN - level_up_move 25, MOVE_METAL_CLAW - level_up_move 31, MOVE_PROTECT - level_up_move 37, MOVE_ANCIENT_POWER - level_up_move 43, MOVE_FURY_CUTTER - level_up_move 49, MOVE_SLASH - level_up_move 55, MOVE_ROCK_BLAST - .2byte -1 - -gArmaldoLevelUpLearnset:: @ 832511C - level_up_move 1, MOVE_SCRATCH - level_up_move 1, MOVE_HARDEN - level_up_move 1, MOVE_MUD_SPORT - level_up_move 1, MOVE_WATER_GUN - level_up_move 7, MOVE_HARDEN - level_up_move 13, MOVE_MUD_SPORT - level_up_move 19, MOVE_WATER_GUN - level_up_move 25, MOVE_METAL_CLAW - level_up_move 31, MOVE_PROTECT - level_up_move 37, MOVE_ANCIENT_POWER - level_up_move 46, MOVE_FURY_CUTTER - level_up_move 55, MOVE_SLASH - level_up_move 64, MOVE_ROCK_BLAST - .2byte -1 - -gRaltsLevelUpLearnset:: @ 8325138 - level_up_move 1, MOVE_GROWL - level_up_move 6, MOVE_CONFUSION - level_up_move 11, MOVE_DOUBLE_TEAM - level_up_move 16, MOVE_TELEPORT - level_up_move 21, MOVE_CALM_MIND - level_up_move 26, MOVE_PSYCHIC - level_up_move 31, MOVE_IMPRISON - level_up_move 36, MOVE_FUTURE_SIGHT - level_up_move 41, MOVE_HYPNOSIS - level_up_move 46, MOVE_DREAM_EATER - .2byte -1 - -gKirliaLevelUpLearnset:: @ 832514E - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_CONFUSION - level_up_move 1, MOVE_DOUBLE_TEAM - level_up_move 1, MOVE_TELEPORT - level_up_move 6, MOVE_CONFUSION - level_up_move 11, MOVE_DOUBLE_TEAM - level_up_move 16, MOVE_TELEPORT - level_up_move 21, MOVE_CALM_MIND - level_up_move 26, MOVE_PSYCHIC - level_up_move 33, MOVE_IMPRISON - level_up_move 40, MOVE_FUTURE_SIGHT - level_up_move 47, MOVE_HYPNOSIS - level_up_move 54, MOVE_DREAM_EATER - .2byte -1 - -gGardevoirLevelUpLearnset:: @ 832516A - level_up_move 1, MOVE_GROWL - level_up_move 1, MOVE_CONFUSION - level_up_move 1, MOVE_DOUBLE_TEAM - level_up_move 1, MOVE_TELEPORT - level_up_move 6, MOVE_CONFUSION - level_up_move 11, MOVE_DOUBLE_TEAM - level_up_move 16, MOVE_TELEPORT - level_up_move 21, MOVE_CALM_MIND - level_up_move 26, MOVE_PSYCHIC - level_up_move 33, MOVE_IMPRISON - level_up_move 42, MOVE_FUTURE_SIGHT - level_up_move 51, MOVE_HYPNOSIS - level_up_move 60, MOVE_DREAM_EATER - .2byte -1 - -gBagonLevelUpLearnset:: @ 8325186 - level_up_move 1, MOVE_RAGE - level_up_move 5, MOVE_BITE - level_up_move 9, MOVE_LEER - level_up_move 17, MOVE_HEADBUTT - level_up_move 21, MOVE_FOCUS_ENERGY - level_up_move 25, MOVE_EMBER - level_up_move 33, MOVE_DRAGON_BREATH - level_up_move 37, MOVE_SCARY_FACE - level_up_move 41, MOVE_CRUNCH - level_up_move 49, MOVE_DRAGON_CLAW - level_up_move 53, MOVE_DOUBLE_EDGE - .2byte -1 - -gShelgonLevelUpLearnset:: @ 832519E - level_up_move 1, MOVE_RAGE - level_up_move 1, MOVE_BITE - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_HEADBUTT - level_up_move 5, MOVE_BITE - level_up_move 9, MOVE_LEER - level_up_move 17, MOVE_HEADBUTT - level_up_move 21, MOVE_FOCUS_ENERGY - level_up_move 25, MOVE_EMBER - level_up_move 30, MOVE_PROTECT - level_up_move 38, MOVE_DRAGON_BREATH - level_up_move 47, MOVE_SCARY_FACE - level_up_move 56, MOVE_CRUNCH - level_up_move 69, MOVE_DRAGON_CLAW - level_up_move 78, MOVE_DOUBLE_EDGE - .2byte -1 - -gSalamenceLevelUpLearnset:: @ 83251BE - level_up_move 1, MOVE_RAGE - level_up_move 1, MOVE_BITE - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_HEADBUTT - level_up_move 5, MOVE_BITE - level_up_move 9, MOVE_LEER - level_up_move 17, MOVE_HEADBUTT - level_up_move 21, MOVE_FOCUS_ENERGY - level_up_move 25, MOVE_EMBER - level_up_move 30, MOVE_PROTECT - level_up_move 38, MOVE_DRAGON_BREATH - level_up_move 47, MOVE_SCARY_FACE - level_up_move 50, MOVE_FLY - level_up_move 61, MOVE_CRUNCH - level_up_move 79, MOVE_DRAGON_CLAW - level_up_move 93, MOVE_DOUBLE_EDGE - .2byte -1 - -gBeldumLevelUpLearnset:: @ 83251E0 - level_up_move 1, MOVE_TAKE_DOWN - .2byte -1 - -gMetangLevelUpLearnset:: @ 83251E4 - level_up_move 1, MOVE_TAKE_DOWN - level_up_move 20, MOVE_CONFUSION - level_up_move 20, MOVE_METAL_CLAW - level_up_move 26, MOVE_SCARY_FACE - level_up_move 32, MOVE_PURSUIT - level_up_move 38, MOVE_PSYCHIC - level_up_move 44, MOVE_IRON_DEFENSE - level_up_move 50, MOVE_METEOR_MASH - level_up_move 56, MOVE_AGILITY - level_up_move 62, MOVE_HYPER_BEAM - .2byte -1 - -gMetagrossLevelUpLearnset:: @ 83251FA - level_up_move 1, MOVE_TAKE_DOWN - level_up_move 1, MOVE_CONFUSION - level_up_move 1, MOVE_METAL_CLAW - level_up_move 1, MOVE_SCARY_FACE - level_up_move 20, MOVE_CONFUSION - level_up_move 20, MOVE_METAL_CLAW - level_up_move 26, MOVE_SCARY_FACE - level_up_move 32, MOVE_PURSUIT - level_up_move 38, MOVE_PSYCHIC - level_up_move 44, MOVE_IRON_DEFENSE - level_up_move 55, MOVE_METEOR_MASH - level_up_move 66, MOVE_AGILITY - level_up_move 77, MOVE_HYPER_BEAM - .2byte -1 - -gRegirockLevelUpLearnset:: @ 8325216 - level_up_move 1, MOVE_EXPLOSION - level_up_move 9, MOVE_ROCK_THROW - level_up_move 17, MOVE_CURSE - level_up_move 25, MOVE_SUPERPOWER - level_up_move 33, MOVE_ANCIENT_POWER - level_up_move 41, MOVE_IRON_DEFENSE - level_up_move 49, MOVE_ZAP_CANNON - level_up_move 57, MOVE_LOCK_ON - level_up_move 65, MOVE_HYPER_BEAM - .2byte -1 - -gRegiceLevelUpLearnset:: @ 832522A - level_up_move 1, MOVE_EXPLOSION - level_up_move 9, MOVE_ICY_WIND - level_up_move 17, MOVE_CURSE - level_up_move 25, MOVE_SUPERPOWER - level_up_move 33, MOVE_ANCIENT_POWER - level_up_move 41, MOVE_AMNESIA - level_up_move 49, MOVE_ZAP_CANNON - level_up_move 57, MOVE_LOCK_ON - level_up_move 65, MOVE_HYPER_BEAM - .2byte -1 - -gRegisteelLevelUpLearnset:: @ 832523E - level_up_move 1, MOVE_EXPLOSION - level_up_move 9, MOVE_METAL_CLAW - level_up_move 17, MOVE_CURSE - level_up_move 25, MOVE_SUPERPOWER - level_up_move 33, MOVE_ANCIENT_POWER - level_up_move 41, MOVE_IRON_DEFENSE - level_up_move 41, MOVE_AMNESIA - level_up_move 49, MOVE_ZAP_CANNON - level_up_move 57, MOVE_LOCK_ON - level_up_move 65, MOVE_HYPER_BEAM - .2byte -1 - -gKyogreLevelUpLearnset:: @ 8325254 - level_up_move 1, MOVE_WATER_PULSE - level_up_move 5, MOVE_SCARY_FACE - level_up_move 15, MOVE_ANCIENT_POWER - level_up_move 20, MOVE_BODY_SLAM - level_up_move 30, MOVE_CALM_MIND - level_up_move 35, MOVE_ICE_BEAM - level_up_move 45, MOVE_HYDRO_PUMP - level_up_move 50, MOVE_REST - level_up_move 60, MOVE_SHEER_COLD - level_up_move 65, MOVE_DOUBLE_EDGE - level_up_move 75, MOVE_WATER_SPOUT - .2byte -1 - -gGroudonLevelUpLearnset:: @ 832526C - level_up_move 1, MOVE_MUD_SHOT - level_up_move 5, MOVE_SCARY_FACE - level_up_move 15, MOVE_ANCIENT_POWER - level_up_move 20, MOVE_SLASH - level_up_move 30, MOVE_BULK_UP - level_up_move 35, MOVE_EARTHQUAKE - level_up_move 45, MOVE_FIRE_BLAST - level_up_move 50, MOVE_REST - level_up_move 60, MOVE_FISSURE - level_up_move 65, MOVE_SOLAR_BEAM - level_up_move 75, MOVE_ERUPTION - .2byte -1 - -gRayquazaLevelUpLearnset:: @ 8325284 - level_up_move 1, MOVE_TWISTER - level_up_move 5, MOVE_SCARY_FACE - level_up_move 15, MOVE_ANCIENT_POWER - level_up_move 20, MOVE_DRAGON_CLAW - level_up_move 30, MOVE_DRAGON_DANCE - level_up_move 35, MOVE_CRUNCH - level_up_move 45, MOVE_FLY - level_up_move 50, MOVE_REST - level_up_move 60, MOVE_EXTREME_SPEED - level_up_move 65, MOVE_OUTRAGE - level_up_move 75, MOVE_HYPER_BEAM - .2byte -1 - -gLatiasLevelUpLearnset:: @ 832529C - level_up_move 1, MOVE_PSYWAVE - level_up_move 5, MOVE_WISH - level_up_move 10, MOVE_HELPING_HAND - level_up_move 15, MOVE_SAFEGUARD - level_up_move 20, MOVE_DRAGON_BREATH - level_up_move 25, MOVE_WATER_SPORT - level_up_move 30, MOVE_REFRESH - level_up_move 35, MOVE_MIST_BALL - level_up_move 40, MOVE_PSYCHIC - level_up_move 45, MOVE_RECOVER - level_up_move 50, MOVE_CHARM - .2byte -1 - -gLatiosLevelUpLearnset:: @ 83252B4 - level_up_move 1, MOVE_PSYWAVE - level_up_move 5, MOVE_MEMENTO - level_up_move 10, MOVE_HELPING_HAND - level_up_move 15, MOVE_SAFEGUARD - level_up_move 20, MOVE_DRAGON_BREATH - level_up_move 25, MOVE_PROTECT - level_up_move 30, MOVE_REFRESH - level_up_move 35, MOVE_LUSTER_PURGE - level_up_move 40, MOVE_PSYCHIC - level_up_move 45, MOVE_RECOVER - level_up_move 50, MOVE_DRAGON_DANCE - .2byte -1 - -gJirachiLevelUpLearnset:: @ 83252CC - level_up_move 1, MOVE_WISH - level_up_move 1, MOVE_CONFUSION - level_up_move 5, MOVE_REST - level_up_move 10, MOVE_SWIFT - level_up_move 15, MOVE_HELPING_HAND - level_up_move 20, MOVE_PSYCHIC - level_up_move 25, MOVE_REFRESH - level_up_move 30, MOVE_REST - level_up_move 35, MOVE_DOUBLE_EDGE - level_up_move 40, MOVE_FUTURE_SIGHT - level_up_move 45, MOVE_COSMIC_POWER - level_up_move 50, MOVE_DOOM_DESIRE - .2byte -1 - -gDeoxysLevelUpLearnset:: @ 83252E6 - level_up_move 1, MOVE_LEER - level_up_move 1, MOVE_WRAP - level_up_move 5, MOVE_NIGHT_SHADE - level_up_move 10, MOVE_DOUBLE_TEAM - level_up_move 15, MOVE_KNOCK_OFF - level_up_move 20, MOVE_PURSUIT - level_up_move 25, MOVE_PSYCHIC - level_up_move 30, MOVE_SWIFT - level_up_move 35, MOVE_AGILITY - level_up_move 40, MOVE_RECOVER - level_up_move 45, MOVE_PSYCHO_BOOST - level_up_move 50, MOVE_EXTREME_SPEED - .2byte -1 - -gChimechoLevelUpLearnset:: @ 8325300 - level_up_move 1, MOVE_WRAP - level_up_move 6, MOVE_GROWL - level_up_move 9, MOVE_ASTONISH - level_up_move 14, MOVE_CONFUSION - level_up_move 17, MOVE_TAKE_DOWN - level_up_move 22, MOVE_UPROAR - level_up_move 25, MOVE_YAWN - level_up_move 30, MOVE_PSYWAVE - level_up_move 33, MOVE_DOUBLE_EDGE - level_up_move 38, MOVE_HEAL_BELL - level_up_move 41, MOVE_SAFEGUARD - level_up_move 46, MOVE_PSYCHIC - .2byte -1 diff --git a/data/librfu_rodata.s b/data/librfu_rodata.s index 672053e892..aa8f5170d3 100644 --- a/data/librfu_rodata.s +++ b/data/librfu_rodata.s @@ -1,7 +1,10 @@ .section .rodata gUnknown_089A3220:: @ 89A3220 - .incbin "baserom.gba", 0x9a3220, 0x20 + .byte 2, 14, 0, 10, 9, 5, 7, 2 + .byte 0, 15, 1, 3, 3, 0, 31, 0 + .byte 3, 22, 18, 14, 13, 9, 11, 3 + .byte 15, 15, 1, 3, 3, 0, 0x7f, 0 .asciz "RFU_V1026" diff --git a/data/librtc_rodata.s b/data/librtc_rodata.s index 30cc8427f7..0ed8b9ade9 100644 --- a/data/librtc_rodata.s +++ b/data/librtc_rodata.s @@ -13,4 +13,4 @@ .4byte 0x3001A7E .4byte 0x3001A7E .4byte 0x3001A7E - .4byte 0x80000C6 + .4byte GPIOPortDirection diff --git a/data/link.s b/data/link.s index d9cf886c53..39f97644f3 100644 --- a/data/link.s +++ b/data/link.s @@ -1,5 +1,6 @@ @ the second big chunk of data +#include "constants/species.h" .include "asm/macros.inc" .include "constants/constants.inc" @@ -28,15 +29,15 @@ g2BlankTilesGfx:: @ 82ED168 .incbin "graphics/interface/blank_1x2.4bpp" gUnknown_082ED1A8:: @ 82ED1A8 - .4byte gUnknown_020228C4 + .4byte gBlockSendBuffer .4byte 0x000000C8 - .4byte gUnknown_020228C4 + .4byte gBlockSendBuffer .4byte 0x000000C8 - .4byte gUnknown_020228C4 + .4byte gBlockSendBuffer .4byte 0x00000064 - .4byte gUnknown_020228C4 + .4byte gBlockSendBuffer .4byte 0x000000DC - .4byte gUnknown_020228C4 + .4byte gBlockSendBuffer .4byte 0x00000028 gUnknown_082ED1D0:: @ 82ED1D0 @@ -59,7 +60,7 @@ gUnknown_082ED204:: @ 82ED204 window_template 0x00, 0x00, 0x00, 0x1E, 0x05, 0x0F, 0x0002 window_template 0x00, 0x00, 0x06, 0x1E, 0x07, 0x0F, 0x0098 window_template 0x00, 0x00, 0x0D, 0x1E, 0x07, 0x0F, 0x016A - window_template_terminator + null_window_template .align 2 gUnknown_082ED224:: @ 82ED224 @@ -224,15 +225,15 @@ gUnknown_082ED6A5:: @ 82ED6A5 .align 2 gUnknown_082ED6B8:: @ 82ED6B8 - .4byte gUnknown_020228C4 + .4byte gBlockSendBuffer .4byte 0x000000c8 - .4byte gUnknown_020228C4 + .4byte gBlockSendBuffer .4byte 0x000000c8 - .4byte gUnknown_020228C4 + .4byte gBlockSendBuffer .4byte 0x00000064 - .4byte gUnknown_020228C4 + .4byte gBlockSendBuffer .4byte 0x000000dc - .4byte gUnknown_020228C4 + .4byte gBlockSendBuffer .4byte 0x00000028 .align 2 @@ -1886,7 +1887,7 @@ gUnknown_082F05A8:: @ 82F05A8 window_template 0x00, 0x00, 0x00, 0x1e, 0x02, 0x0c, 0x0013 window_template 0x00, 0x01, 0x0f, 0x1c, 0x04, 0x0c, 0x004f window_template 0x00, 0x00, 0x0f, 0x1e, 0x05, 0x0d, 0x004f - window_template_terminator + null_window_template .align 2 gUnknown_082F05C8:: @ 82F05C8 @@ -2003,14 +2004,14 @@ gUnknown_082F06F8:: @ 82F06F8 .4byte gText_ReturnToTitle .align 2 -gUnknown_082F0720:: @ 82F0720 struct TextColor +gUnknown_082F0720:: @ 82F0720 .byte 0x00, 0x01, 0x02 .align 2 .byte 0x00, 0x01, 0x02 .align 2 -gUnknown_082F0728:: @ 82F0728 struct TextColor +gUnknown_082F0728:: @ 82F0728 .byte 0x01, 0x02, 0x03 .align 2 @@ -2070,7 +2071,7 @@ gUnknown_082F0D3C:: @ 82F0D3C window_template 0x00, 0x03, 0x00, 0x18, 0x03, 0x0f, 0x0001 window_template 0x00, 0x03, 0x04, 0x15, 0x0f, 0x0f, 0x0049 window_template 0x00, 0x18, 0x04, 0x03, 0x0f, 0x0f, 0x0184 - window_template_terminator + null_window_template .align 2 gUnknown_082F0D5C:: @ 82F0D5C @@ -2102,7 +2103,7 @@ gUnknown_082F0DD0:: @ 82F0DD0 .align 2 gUnknown_082F0DD4:: @ 82F0DD4 window_template 0x00, 0x03, 0x0f, 0x18, 0x04, 0x0e, 0x0014 - window_template_terminator + null_window_template .align 2 gUnknown_082F0DE4:: @ 82F0DE4 @@ -2131,111 +2132,111 @@ gUnknown_082F0E1C:: @ 82F0E1C .align 2 gWonderCardBgPal1:: @ 82F0E34 - .incbin "graphics/interface/wonder_card_1.gbapal" + .incbin "graphics/wonder_transfers/wonder_card_1.gbapal" .align 2 gWonderCardBgPal2:: @ 82F0E54 - .incbin "graphics/interface/wonder_card_2.gbapal" + .incbin "graphics/wonder_transfers/wonder_card_2.gbapal" .align 2 gWonderCardBgPal3:: @ 82F0E74 - .incbin "graphics/interface/wonder_card_3.gbapal" + .incbin "graphics/wonder_transfers/wonder_card_3.gbapal" .align 2 gWonderCardBgPal4:: @ 82F0E94 - .incbin "graphics/interface/wonder_card_4.gbapal" + .incbin "graphics/wonder_transfers/wonder_card_4.gbapal" .align 2 gWonderCardBgPal5:: @ 82F0EB4 - .incbin "graphics/interface/wonder_card_5.gbapal" + .incbin "graphics/wonder_transfers/wonder_card_5.gbapal" .align 2 gWonderCardBgPal6:: @ 82F0ED4 - .incbin "graphics/interface/wonder_card_6.gbapal" + .incbin "graphics/wonder_transfers/wonder_card_6.gbapal" .align 2 gWonderCardBgPal7:: @ 82F0EF4 - .incbin "graphics/interface/wonder_card_7.gbapal" + .incbin "graphics/wonder_transfers/wonder_card_7.gbapal" .align 2 gWonderCardBgPal8:: @ 82F0F14 - .incbin "graphics/interface/wonder_card_8.gbapal" + .incbin "graphics/wonder_transfers/wonder_card_8.gbapal" .align 2 gWonderCardBgGfx1:: @ 82F0F34 - .incbin "graphics/interface/wonder_card_1.4bpp.lz" + .incbin "graphics/wonder_transfers/wonder_card_1.4bpp.lz" .align 2 gWonderCardBgTilemap1:: @ 82F1030 - .incbin "graphics/interface/wonder_card_1.bin.lz" + .incbin "graphics/wonder_transfers/wonder_card_1.bin.lz" .align 2 gWonderCardBgGfx2:: @ 82F1124 - .incbin "graphics/interface/wonder_card_2.4bpp.lz" + .incbin "graphics/wonder_transfers/wonder_card_2.4bpp.lz" .align 2 gWonderCardBgTilemap2:: @ 82F1218 - .incbin "graphics/interface/wonder_card_2.bin.lz" + .incbin "graphics/wonder_transfers/wonder_card_2.bin.lz" .align 2 gWonderCardBgGfx3:: @ 82F1300 - .incbin "graphics/interface/wonder_card_3.4bpp.lz" + .incbin "graphics/wonder_transfers/wonder_card_3.4bpp.lz" .align 2 gWonderCardBgTilemap3:: @ 82F13D4 - .incbin "graphics/interface/wonder_card_3.bin.lz" + .incbin "graphics/wonder_transfers/wonder_card_3.bin.lz" .align 2 gWonderCardBgGfx7:: @ 82F14A8 - .incbin "graphics/interface/wonder_card_7.4bpp.lz" + .incbin "graphics/wonder_transfers/wonder_card_7.4bpp.lz" .align 2 gWonderCardBgTilemap7:: @ 82F16DC - .incbin "graphics/interface/wonder_card_7.bin.lz" + .incbin "graphics/wonder_transfers/wonder_card_7.bin.lz" .align 2 gWonderCardBgGfx8:: @ 82F1824 - .incbin "graphics/interface/wonder_card_8.4bpp.lz" + .incbin "graphics/wonder_transfers/wonder_card_8.4bpp.lz" .align 2 gWonderCardBgTilemap8:: @ 82F1A54 - .incbin "graphics/interface/wonder_card_8.bin.lz" + .incbin "graphics/wonder_transfers/wonder_card_8.bin.lz" .align 2 gWonderCardShadowPal1:: @ 82F1B9C - .incbin "graphics/interface/wonder_card_shadow_1.gbapal" + .incbin "graphics/wonder_transfers/wonder_card_shadow_1.gbapal" .align 2 gWonderCardShadowPal2:: @ 82F1BBC - .incbin "graphics/interface/wonder_card_shadow_2.gbapal" + .incbin "graphics/wonder_transfers/wonder_card_shadow_2.gbapal" .align 2 gWonderCardShadowPal3:: @ 82F1BDC - .incbin "graphics/interface/wonder_card_shadow_3.gbapal" + .incbin "graphics/wonder_transfers/wonder_card_shadow_3.gbapal" .align 2 gWonderCardShadowPal4:: @ 82F1BFC - .incbin "graphics/interface/wonder_card_shadow_4.gbapal" + .incbin "graphics/wonder_transfers/wonder_card_shadow_4.gbapal" .align 2 gWonderCardShadowPal5:: @ 82F1C1C - .incbin "graphics/interface/wonder_card_shadow_5.gbapal" + .incbin "graphics/wonder_transfers/wonder_card_shadow_5.gbapal" .align 2 gWonderCardShadowPal6:: @ 82F1C3C - .incbin "graphics/interface/wonder_card_shadow_6.gbapal" + .incbin "graphics/wonder_transfers/wonder_card_shadow_6.gbapal" .align 2 gWonderCardShadowPal7:: @ 82F1C5C - .incbin "graphics/interface/wonder_card_shadow_7.gbapal" + .incbin "graphics/wonder_transfers/wonder_card_shadow_7.gbapal" .align 2 gWonderCardShadowPal8:: @ 82F1C7C - .incbin "graphics/interface/wonder_card_shadow_8.gbapal" + .incbin "graphics/wonder_transfers/wonder_card_shadow_8.gbapal" .align 2 gWonderCardShadowGfx:: @ 82F1C9C - .incbin "graphics/interface/wonder_card_shadow.4bpp.lz" + .incbin "graphics/wonder_transfers/wonder_card_shadow.4bpp.lz" .align 2 gUnknown_082F1D00:: @ 82F1D00 struct CompressedSpriteSheet @@ -2303,55 +2304,55 @@ gUnknown_082F1DF8:: @ 82F1DF8 .align 2 gWonderNewsPal1:: @ 82F1E08 - .incbin "graphics/interface/wonder_news_1.gbapal" + .incbin "graphics/wonder_transfers/wonder_news_1.gbapal" .align 2 gWonderNewsPal7:: @ 82F1E28 - .incbin "graphics/interface/wonder_news_7.gbapal" + .incbin "graphics/wonder_transfers/wonder_news_7.gbapal" .align 2 gWonderNewsPal8:: @ 82F1E48 - .incbin "graphics/interface/wonder_news_8.gbapal" + .incbin "graphics/wonder_transfers/wonder_news_8.gbapal" .align 2 gWonderNewsGfx1:: @ 82F1E68 - .incbin "graphics/interface/wonder_news_1.4bpp.lz" + .incbin "graphics/wonder_transfers/wonder_news_1.4bpp.lz" .align 2 gWonderNewsTilemap1:: @ 82F1EE8 - .incbin "graphics/interface/wonder_news_1.bin.lz" + .incbin "graphics/wonder_transfers/wonder_news_1.bin.lz" .align 2 gWonderNewsGfx2:: @ 82F1FC4 - .incbin "graphics/interface/wonder_news_2.4bpp.lz" + .incbin "graphics/wonder_transfers/wonder_news_2.4bpp.lz" .align 2 gWonderNewsTilemap2:: @ 82F1FF4 - .incbin "graphics/interface/wonder_news_2.bin.lz" + .incbin "graphics/wonder_transfers/wonder_news_2.bin.lz" .align 2 gWonderNewsGfx3:: @ 82F20B4 - .incbin "graphics/interface/wonder_news_3.4bpp.lz" + .incbin "graphics/wonder_transfers/wonder_news_3.4bpp.lz" .align 2 gWonderNewsTilemap3:: @ 82F2124 - .incbin "graphics/interface/wonder_news_3.bin.lz" + .incbin "graphics/wonder_transfers/wonder_news_3.bin.lz" .align 2 gWonderNewsGfx7:: @ 82F21F0 - .incbin "graphics/interface/wonder_news_7.4bpp.lz" + .incbin "graphics/wonder_transfers/wonder_news_7.4bpp.lz" .align 2 gWonderNewsTilemap7:: @ 82F2280 - .incbin "graphics/interface/wonder_news_7.bin.lz" + .incbin "graphics/wonder_transfers/wonder_news_7.bin.lz" .align 2 gWonderNewsGfx8:: @ 82F235C - .incbin "graphics/interface/wonder_news_8.4bpp.lz" + .incbin "graphics/wonder_transfers/wonder_news_8.4bpp.lz" .align 2 gWonderNewsTilemap8:: @ 82F23EC - .incbin "graphics/interface/wonder_news_8.bin.lz" + .incbin "graphics/wonder_transfers/wonder_news_8.bin.lz" .align 2 gUnknown_082F24C8:: @ 82F24C8 @@ -2755,7 +2756,7 @@ gUnknown_082F2C70:: @ 82F2C70 window_template 0x01, 0x09, 0x12, 0x0f, 0x02, 0x0c, 0x007a window_template 0x01, 0x00, 0x02, 0x06, 0x0f, 0x07, 0x0020 window_template 0x00, 0x01, 0x02, 0x07, 0x09, 0x0e, 0x0013 - window_template_terminator + null_window_template .align 2 gUnknown_082F2C98:: @ 82F2C98 @@ -3022,12 +3023,12 @@ gUnknown_082F32F4:: @ 82F32F4 window_template 0x00, 0x00, 0x06, 0x09, 0x02, 0x08, 0x03c9 window_template 0x00, 0x15, 0x03, 0x09, 0x02, 0x08, 0x03b7 window_template 0x00, 0x15, 0x06, 0x09, 0x02, 0x08, 0x03a5 - window_template_terminator + null_window_template window_template 0x00, 0x05, 0x02, 0x14, 0x10, 0x0f, 0x0001 window_template 0x00, 0x05, 0x02, 0x14, 0x10, 0x0f, 0x0001 window_template 0x00, 0x04, 0x02, 0x16, 0x10, 0x0f, 0x0001 - window_template_terminator + null_window_template .align 2 gUnknown_082F3344:: @ 82F3344 @@ -3042,43 +3043,43 @@ gUnknown_082F334C:: @ 82F334C .align 2 gBerryCrushGrinderBasePal:: @ 82F336C - .incbin "graphics/interface/berrycrush_grinder_base.gbapal" + .incbin "graphics/link_games/berrycrush_grinder_base.gbapal" .align 2 gBerryCrushMiscSpritesPal:: @ 82F338C - .incbin "graphics/interface/berrycrush_misc.gbapal" + .incbin "graphics/link_games/berrycrush_misc.gbapal" .align 2 gBerryCrushTimerDigitsPal:: @ 82F33AC - .incbin "graphics/interface/berrycrush_timerdigits.gbapal" + .incbin "graphics/link_games/berrycrush_timerdigits.gbapal" .align 2 gBerryCrushGrinderBaseGfx:: @ 82F33CC - .incbin "graphics/interface/berrycrush_grinder_base.4bpp.lz" + .incbin "graphics/link_games/berrycrush_grinder_base.4bpp.lz" .align 2 gBerryCrushBtnPressGfx:: @ 82F36F8 - .incbin "graphics/interface/berrycrush_btnpress.4bpp.lz" + .incbin "graphics/link_games/berrycrush_btnpress.4bpp.lz" .align 2 gBerryCrushSparkleGfx:: @ 82F3A74 - .incbin "graphics/interface/berrycrush_sparkle.4bpp.lz" + .incbin "graphics/link_games/berrycrush_sparkle.4bpp.lz" .align 2 gBerryCrushTimerDigitsGfx:: @ 82F3BC0 - .incbin "graphics/interface/berrycrush_timerdigits.4bpp.lz" + .incbin "graphics/link_games/berrycrush_timerdigits.4bpp.lz" .align 2 gBerryCrushGrinderTopTilemap:: @ 82F3C8C - .incbin "graphics/interface/berrycrush_grinder_top.bin.lz" + .incbin "graphics/link_games/berrycrush_grinder_top.bin.lz" .align 2 gBerryCrushContainerCapTilemap:: @ 82F3DBC - .incbin "graphics/interface/berrycrush_container_cap.bin.lz" + .incbin "graphics/link_games/berrycrush_container_cap.bin.lz" .align 2 gBerryCrushBackgroundTilemap:: @ 82F3F54 - .incbin "graphics/interface/berrycrush_background.bin.lz" + .incbin "graphics/link_games/berrycrush_background.bin.lz" .align 2 gUnknown_082F417C:: @ 82F417C @@ -3398,66 +3399,66 @@ gUnknown_082F449C:: @ 82F449C .align 2 gUnknown_082F7DF0_UnrefDupe:: @ 82F4698 - .incbin "graphics/interface/dodrioberry_bg1.gbapal" + .incbin "graphics/link_games/dodrioberry_bg1.gbapal" .align 2 - .incbin "graphics/interface/dodrioberry_bg2.gbapal" + .incbin "graphics/link_games/dodrioberry_bg2.gbapal" .align 2 gUnknown_082F7E30_UnrefDupe:: @ 82F46B8 - .incbin "graphics/interface/dodrioberry_pkmn.gbapal" + .incbin "graphics/link_games/dodrioberry_pkmn.gbapal" .align 2 gUnknown_082F7E50_UnrefDupe:: @ 82F46D8 - .incbin "graphics/interface/dodrioberry_shiny.gbapal" + .incbin "graphics/link_games/dodrioberry_shiny.gbapal" .align 2 gUnknown_082F7E70_UnrefDupe:: @ 82F46F8 - .incbin "graphics/interface/dodrioberry_status.gbapal" + .incbin "graphics/link_games/dodrioberry_status.gbapal" .align 2 gUnknown_082F7E90_UnrefDupe:: @ 82F4718 - .incbin "graphics/interface/dodrioberry_berrysprites.gbapal" + .incbin "graphics/link_games/dodrioberry_berrysprites.gbapal" .align 2 gUnknown_082F7EB0_UnrefDupe:: @ 82F4738 - .incbin "graphics/interface/dodrioberry_berrysprites.4bpp.lz" + .incbin "graphics/link_games/dodrioberry_berrysprites.4bpp.lz" .align 2 gUnknown_082F8064_UnrefDupe:: @ 82F490C - .incbin "graphics/interface/dodrioberry_platform.gbapal" + .incbin "graphics/link_games/dodrioberry_platform.gbapal" .align 2 gUnknown_082F8084_UnrefDupe:: @ 82F492C - .incbin "graphics/interface/dodrioberry_bg1.4bpp.lz" + .incbin "graphics/link_games/dodrioberry_bg1.4bpp.lz" .align 2 gUnknown_082F8914_UnrefDupe:: @ 82F51BC - .incbin "graphics/interface/dodrioberry_bg2.4bpp.lz" + .incbin "graphics/link_games/dodrioberry_bg2.4bpp.lz" .align 2 gUnknown_082F96E0_UnrefDupe:: @ 82F5F88 - .incbin "graphics/interface/dodrioberry_status.4bpp.lz" + .incbin "graphics/link_games/dodrioberry_status.4bpp.lz" .align 2 gUnknown_082F9774_UnrefDupe:: @ 82F601C - .incbin "graphics/interface/dodrioberry_platform.4bpp.lz" + .incbin "graphics/link_games/dodrioberry_platform.4bpp.lz" .align 2 gUnknown_082F98BC_UnrefDupe:: @ 82F6164 - .incbin "graphics/interface/dodrioberry_pkmn.4bpp.lz" + .incbin "graphics/link_games/dodrioberry_pkmn.4bpp.lz" .align 2 gUnknown_082FAAD8_UnrefDupe:: @ 82F7380 - .incbin "graphics/interface/dodrioberry_bg1.bin.lz" + .incbin "graphics/link_games/dodrioberry_bg1.bin.lz" .align 2 gUnknown_082FAD44_UnrefDupe:: @ 82F75EC - .incbin "graphics/interface/dodrioberry_bg2right.bin.lz" + .incbin "graphics/link_games/dodrioberry_bg2right.bin.lz" .align 2 gUnknown_082FAF94_UnrefDupe:: @ 82F783C - .incbin "graphics/interface/dodrioberry_bg2left.bin.lz" + .incbin "graphics/link_games/dodrioberry_bg2left.bin.lz" .align 2 gUnknown_082F7A88:: @ 82F7A88 @@ -3660,66 +3661,66 @@ gUnknown_082F449C_UnrefDupe:: @ 82F7BF4 .align 2 gDodrioBerryBgPal1:: @ 82F7DF0 - .incbin "graphics/interface/dodrioberry_bg1.gbapal" + .incbin "graphics/link_games/dodrioberry_bg1.gbapal" .align 2 - .incbin "graphics/interface/dodrioberry_bg2.gbapal" + .incbin "graphics/link_games/dodrioberry_bg2.gbapal" .align 2 gDodrioBerryPkmnPal:: @ 82F7E30 - .incbin "graphics/interface/dodrioberry_pkmn.gbapal" + .incbin "graphics/link_games/dodrioberry_pkmn.gbapal" .align 2 gDodrioBerryShinyPal:: @ 82F7E50 - .incbin "graphics/interface/dodrioberry_shiny.gbapal" + .incbin "graphics/link_games/dodrioberry_shiny.gbapal" .align 2 gDodrioBerryStatusPal:: @ 82F7E70 - .incbin "graphics/interface/dodrioberry_status.gbapal" + .incbin "graphics/link_games/dodrioberry_status.gbapal" .align 2 gDodrioBerrySpritesPal:: @ 82F7E90 - .incbin "graphics/interface/dodrioberry_berrysprites.gbapal" + .incbin "graphics/link_games/dodrioberry_berrysprites.gbapal" .align 2 gDodrioBerrySpritesGfx:: @ 82F7EB0 - .incbin "graphics/interface/dodrioberry_berrysprites.4bpp.lz" + .incbin "graphics/link_games/dodrioberry_berrysprites.4bpp.lz" .align 2 gDodrioBerryPlatformPal:: @ 82F8064 - .incbin "graphics/interface/dodrioberry_platform.gbapal" + .incbin "graphics/link_games/dodrioberry_platform.gbapal" .align 2 gDodrioBerryBgGfx1:: @ 82F8084 - .incbin "graphics/interface/dodrioberry_bg1.4bpp.lz" + .incbin "graphics/link_games/dodrioberry_bg1.4bpp.lz" .align 2 gDodrioBerryBgGfx2:: @ 82F8914 - .incbin "graphics/interface/dodrioberry_bg2.4bpp.lz" + .incbin "graphics/link_games/dodrioberry_bg2.4bpp.lz" .align 2 gDodrioBerryStatusGfx:: @ 82F96E0 - .incbin "graphics/interface/dodrioberry_status.4bpp.lz" + .incbin "graphics/link_games/dodrioberry_status.4bpp.lz" .align 2 gDodrioBerryPlatformGfx:: @ 82F9774 - .incbin "graphics/interface/dodrioberry_platform.4bpp.lz" + .incbin "graphics/link_games/dodrioberry_platform.4bpp.lz" .align 2 gDodrioBerryPkmnGfx:: @ 82F98BC - .incbin "graphics/interface/dodrioberry_pkmn.4bpp.lz" + .incbin "graphics/link_games/dodrioberry_pkmn.4bpp.lz" .align 2 gDodrioBerryBgTilemap1:: @ 82FAAD8 - .incbin "graphics/interface/dodrioberry_bg1.bin.lz" + .incbin "graphics/link_games/dodrioberry_bg1.bin.lz" .align 2 gDodrioBerryBgTilemap2Right:: @ 82FAD44 - .incbin "graphics/interface/dodrioberry_bg2right.bin.lz" + .incbin "graphics/link_games/dodrioberry_bg2right.bin.lz" .align 2 gDodrioBerryBgTilemap2Left:: @ 82FAF94 - .incbin "graphics/interface/dodrioberry_bg2left.bin.lz" + .incbin "graphics/link_games/dodrioberry_bg2left.bin.lz" .align 2 gUnknown_082FB1E0:: @ 82FB1E0 @@ -4165,31 +4166,31 @@ gUnknown_082FB714:: @ 82FB714 .align 2 gPkmnJumpPal1:: @ 82FB73C - .incbin "graphics/interface/pkmnjump_pal1.gbapal" + .incbin "graphics/link_games/pkmnjump_pal1.gbapal" .align 2 gPkmnJumpPal2:: @ 82FB75C - .incbin "graphics/interface/pkmnjump_pal2.gbapal" + .incbin "graphics/link_games/pkmnjump_pal2.gbapal" .align 2 gPkmnJumpRopeGfx1:: @ 82FB77C - .incbin "graphics/interface/pkmnjump_rope1.4bpp.lz" + .incbin "graphics/link_games/pkmnjump_rope1.4bpp.lz" .align 2 gPkmnJumpRopeGfx2:: @ 82FB89C - .incbin "graphics/interface/pkmnjump_rope2.4bpp.lz" + .incbin "graphics/link_games/pkmnjump_rope2.4bpp.lz" .align 2 gPkmnJumpRopeGfx3:: @ 82FBA70 - .incbin "graphics/interface/pkmnjump_rope3.4bpp.lz" + .incbin "graphics/link_games/pkmnjump_rope3.4bpp.lz" .align 2 gPkmnJumpRopeGfx4:: @ 82FBBA0 - .incbin "graphics/interface/pkmnjump_rope4.4bpp.lz" + .incbin "graphics/link_games/pkmnjump_rope4.4bpp.lz" .align 2 gPkmnJumpStarGfx:: @ 82FBC9C - .incbin "graphics/interface/pkmnjump_star.4bpp.lz" + .incbin "graphics/link_games/pkmnjump_star.4bpp.lz" .align 2 gUnknown_082FBE08:: @ 82FBE08 @@ -4375,43 +4376,43 @@ gUnknown_082FC00C:: @ 82FC00C .align 2 gPkmnJumpPal3:: @ 82FC024 - .incbin "graphics/interface/pkmnjump_pal3.gbapal" + .incbin "graphics/link_games/pkmnjump_pal3.gbapal" .align 2 gPkmnJumpBgPal:: @ 82FC044 - .incbin "graphics/interface/pkmnjump_bg.gbapal" + .incbin "graphics/link_games/pkmnjump_bg.gbapal" .align 2 gPkmnJumpBgGfx:: @ 82FC064 - .incbin "graphics/interface/pkmnjump_bg.4bpp.lz" + .incbin "graphics/link_games/pkmnjump_bg.4bpp.lz" .align 2 gPkmnJumpBgTilemap:: @ 82FC290 - .incbin "graphics/interface/pkmnjump_bg.bin.lz" + .incbin "graphics/link_games/pkmnjump_bg.bin.lz" .align 2 gPkmnJumpVenusaurPal:: @ 82FC440 - .incbin "graphics/interface/pkmnjump_venusaur.gbapal" + .incbin "graphics/link_games/pkmnjump_venusaur.gbapal" .align 2 gPkmnJumpVenusaurGfx:: @ 82FC460 - .incbin "graphics/interface/pkmnjump_venusaur.4bpp.lz" + .incbin "graphics/link_games/pkmnjump_venusaur.4bpp.lz" .align 2 gPkmnJumpVenusaurTilemap:: @ 82FCDB0 - .incbin "graphics/interface/pkmnjump_venusaur.bin.lz" + .incbin "graphics/link_games/pkmnjump_venusaur.bin.lz" .align 2 gPkmnJumpResultsPal:: @ 82FD168 - .incbin "graphics/interface/pkmnjump_results.gbapal" + .incbin "graphics/link_games/pkmnjump_results.gbapal" .align 2 gPkmnJumpResultsGfx:: @ 82FD188 - .incbin "graphics/interface/pkmnjump_results.4bpp.lz" + .incbin "graphics/link_games/pkmnjump_results.4bpp.lz" .align 2 gPkmnJumpResultsTilemap:: @ 82FDC38 - .incbin "graphics/interface/pkmnjump_results.bin.lz" + .incbin "graphics/link_games/pkmnjump_results.bin.lz" .align 2 gUnknown_082FE164:: @ 82FE164 struct BgTemplate @@ -4421,7 +4422,7 @@ gUnknown_082FE164:: @ 82FE164 struct BgTemplate gUnknown_082FE174:: @ 82FE174 window_template 0x00, 0x13, 0x00, 0x06, 0x02, 0x02, 0x0013 window_template 0x00, 0x08, 0x00, 0x06, 0x02, 0x02, 0x001f - window_template_terminator + null_window_template .align 2 gUnknown_082FE18C:: @ 82FE18C @@ -4508,11 +4509,11 @@ gUnknown_082FE278:: @ 82FE278 .align 2 gPkmnJump321StartPal1:: @ 82FE284 - .incbin "graphics/interface/pkmnjump_321start1.gbapal" + .incbin "graphics/link_games/pkmnjump_321start1.gbapal" .align 2 gPkmnJump321StartGfx1:: @ 82FE2A4 - .incbin "graphics/interface/pkmnjump_321start1.4bpp.lz" + .incbin "graphics/link_games/pkmnjump_321start1.4bpp.lz" .align 2 gUnknown_082FE6C8:: @ 82FE6C8 @@ -4576,11 +4577,11 @@ gUnknown_082FE748:: @ 82FE748 .align 2 gPkmnJump321StartPal2:: @ 82FE758 - .incbin "graphics/interface/pkmnjump_321start2.gbapal" + .incbin "graphics/link_games/pkmnjump_321start2.gbapal" .align 2 gPkmnJump321StartGfx2:: @ 82FE778 - .incbin "graphics/interface/pkmnjump_321start2.4bpp.lz" + .incbin "graphics/link_games/pkmnjump_321start2.4bpp.lz" .align 2 gUnknown_082FEBCC:: @ 82FEBCC diff --git a/data/link_strings.s b/data/link_strings.s deleted file mode 100644 index 6836863e0d..0000000000 --- a/data/link_strings.s +++ /dev/null @@ -1,114 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 - .string "{CLEAR 11}A{CLEAR 6}B{CLEAR 6}C{CLEAR 26}D{CLEAR 6}E{CLEAR 6}F{CLEAR 26}others$" - .string "{CLEAR 11}G{CLEAR 6}H{CLEAR 6}I{CLEAR 26}J{CLEAR 6}K{CLEAR 6}L$" - .string "{CLEAR 11}M{CLEAR 6}N{CLEAR 6}O{CLEAR 26}P{CLEAR 6}Q{CLEAR 6}R{CLEAR 6}S{CLEAR 26} $" - .string "{CLEAR 11}T{CLEAR 6}U{CLEAR 6}V{CLEAR 26}W{CLEAR 6}X{CLEAR 6}Y{CLEAR 6}Z{CLEAR 26} $" - .string "{CLEAR 11}a{CLEAR 6}b{CLEAR 6}c{CLEAR 26}d{CLEAR 6}e{CLEAR 6}f{CLEAR 6} {CLEAR 30}.$" - .string "{CLEAR 11}g{CLEAR 6}h{CLEAR 7}i{CLEAR 27}j{CLEAR 7}k{CLEAR 7}l{CLEAR 7} {CLEAR 30},$" - .string "{CLEAR 11}m{CLEAR 6}n{CLEAR 6}o{CLEAR 26}p{CLEAR 6}q{CLEAR 7}r{CLEAR 6}s{CLEAR 27} $" - .string "{CLEAR 11}t{CLEAR 6}u{CLEAR 6}v{CLEAR 26}w{CLEAR 6}x{CLEAR 6}y{CLEAR 6}z{CLEAR 26} $" - .string "{CLEAR 11}A{CLEAR 6}B{CLEAR 6}C{CLEAR 26}D{CLEAR 6}E{CLEAR 6}F{CLEAR 6} {CLEAR 30}.$" - .string "{CLEAR 11}G{CLEAR 6}H{CLEAR 6}I{CLEAR 26}J{CLEAR 6}K{CLEAR 6}L{CLEAR 6} {CLEAR 30},$" - .string "{CLEAR 11}M{CLEAR 6}N{CLEAR 6}O{CLEAR 26}P{CLEAR 6}Q{CLEAR 6}R{CLEAR 6}S{CLEAR 26} $" - .string "{CLEAR 11}T{CLEAR 6}U{CLEAR 6}V{CLEAR 26}W{CLEAR 6}X{CLEAR 6}Y{CLEAR 6}Z{CLEAR 26} $" - .string "{CLEAR 11}0{CLEAR 16}1{CLEAR 16}2{CLEAR 16}3{CLEAR 16}4{CLEAR 16} $" - .string "{CLEAR 11}5{CLEAR 16}6{CLEAR 16}7{CLEAR 16}8{CLEAR 16}9{CLEAR 16} $" - .string "{CLEAR 12}!{CLEAR 17}?{CLEAR 16}♂{CLEAR 16}♀{CLEAR 16}/{CLEAR 17}-$" - .string "{CLEAR 11}…{CLEAR 16}“{CLEAR 16}”{CLEAR 18}‘{CLEAR 19}’{CLEAR 18} $" - -gUnknown_0862B9F9:: @ 862B9F9 - .string "ABCDE$" - -gUnknown_0862B9FF:: @ 862B9FF - .string "FGHIJ$" - -gUnknown_0862BA05:: @ 862BA05 - .string "KLMNO$" - -gUnknown_0862BA0B:: @ 862BA0B - .string "PQRST$" - -gUnknown_0862BA11:: @ 862BA11 - .string "UVWXY$" - -gUnknown_0862BA17:: @ 862BA17 - .string "Z $" - -gUnknown_0862BA1D:: @ 862BA1D - .string "01234$" - -gUnknown_0862BA23:: @ 862BA23 - .string "56789$" - -gUnknown_0862BA29:: @ 862BA29 - .string ".,!? $" - -gUnknown_0862BA2F:: @ 862BA2F - .string "-/&… $" - -gUnknown_0862BA35:: @ 862BA35 - .string "abcde$" - -gUnknown_0862BA3B:: @ 862BA3B - .string "fghij$" - -gUnknown_0862BA41:: @ 862BA41 - .string "klmno$" - -gUnknown_0862BA47:: @ 862BA47 - .string "pqrst$" - -gUnknown_0862BA4D:: @ 862BA4D - .string "uvwxy$" - -gUnknown_0862BA53:: @ 862BA53 - .string "z $" - -gUnknown_0862BA59:: @ 862BA59 - .string "01234$" - -gUnknown_0862BA5F:: @ 862BA5F - .string "56789$" - -gUnknown_0862BA65:: @ 862BA65 - .string ".,!? $" - -gUnknown_0862BA6B:: @ 862BA6B - .string "-/&… $" - - .string "$$$$$$$$" - -gUnknown_0862BA79:: @ 862BA79 - .string "{UNK_CTRL_F9 245}{UNK_CTRL_F9 246}{UNK_CTRL_F9 247}{UNK_CTRL_F9 248}{UNK_CTRL_F9 254}$" - -gUnknown_0862BA84:: @ 862BA84 - .string "{UNK_CTRL_F9 249}{UNK_CTRL_F9 250}{UNK_CTRL_F9 252}{UNK_CTRL_F9 251}{UNK_CTRL_F9 253}$" - -gUnknown_0862BA8F:: @ 862BA8F - .string "{UNK_CTRL_F9 236}{UNK_CTRL_F9 237}{UNK_CTRL_F9 238}{UNK_CTRL_F9 235}{UNK_CTRL_F9 234}$" - -gUnknown_0862BA9A:: @ 862BA9A - .string "♂♀{UNK_CTRL_F9 212}{UNK_CTRL_F9 213}{UNK_CTRL_F9 211}$" - -gUnknown_0862BAA3:: @ 862BAA3 - .string "{UNK_CTRL_F9 216}{UNK_CTRL_F9 217}{UNK_CTRL_F9 242}{UNK_CTRL_F9 243}{UNK_CTRL_F9 244}$" - -gUnknown_0862BAAE:: @ 862BAAE - .string "{UNK_CTRL_F9 218}{UNK_CTRL_F9 241}{UNK_CTRL_F9 224}{UNK_CTRL_F9 226}{UNK_CTRL_F9 227}$" - -gUnknown_0862BAB9:: @ 862BAB9 - .string "{UNK_CTRL_F9 240}{UNK_CTRL_F9 239}{UNK_CTRL_F9 225}{UNK_CTRL_F9 214}{UNK_CTRL_F9 215}$" - -gUnknown_0862BAC4:: @ 862BAC4 - .string "{UNK_CTRL_F9 228}{UNK_CTRL_F9 229}{UNK_CTRL_F9 230}{UNK_CTRL_F9 231}{UNK_CTRL_F9 232}$" - -gUnknown_0862BACF:: @ 862BACF - .string "{UNK_CTRL_F9 233}{UNK_CTRL_F9 220}{UNK_CTRL_F9 221}{UNK_CTRL_F9 222}{UNK_CTRL_F9 209}$" - -gUnknown_0862BADA:: @ 862BADA - .string "{UNK_CTRL_F9 210}{UNK_CTRL_F9 208}ょ: $" diff --git a/data/main_menu.s b/data/main_menu.s index fba0e7ddb0..019fdfab8d 100644 --- a/data/main_menu.s +++ b/data/main_menu.s @@ -42,7 +42,7 @@ gUnknown_082FF048:: @ 82FF048 .align 2 gUnknown_082FF070:: @ 82FF070 window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x0f, 0x016d - window_template_terminator + null_window_template .align 2 gUnknown_082FF080:: @ 82FF080 @@ -52,7 +52,7 @@ gUnknown_082FF080:: @ 82FF080 gUnknown_082FF088:: @ 82FF088 window_template 0x00, 0x03, 0x05, 0x06, 0x04, 0x0f, 0x006d window_template 0x00, 0x03, 0x02, 0x09, 0x0a, 0x0f, 0x0085 - window_template_terminator + null_window_template .align 2 gMainMenuBgPal:: @ 82FF0A0 diff --git a/data/map_events.s b/data/map_events.s new file mode 100644 index 0000000000..8784ee047a --- /dev/null +++ b/data/map_events.s @@ -0,0 +1,528 @@ +#include "constants/flags.h" +#include "constants/items.h" +#include "constants/map_objects.h" +#include "constants/vars.h" + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .include "data/maps/events/PetalburgCity.inc" + .include "data/maps/events/SlateportCity.inc" + .include "data/maps/events/MauvilleCity.inc" + .include "data/maps/events/RustboroCity.inc" + .include "data/maps/events/FortreeCity.inc" + .include "data/maps/events/LilycoveCity.inc" + .include "data/maps/events/MossdeepCity.inc" + .include "data/maps/events/SootopolisCity.inc" + .include "data/maps/events/EverGrandeCity.inc" + .include "data/maps/events/LittlerootTown.inc" + .include "data/maps/events/OldaleTown.inc" + .include "data/maps/events/DewfordTown.inc" + .include "data/maps/events/LavaridgeTown.inc" + .include "data/maps/events/FallarborTown.inc" + .include "data/maps/events/VerdanturfTown.inc" + .include "data/maps/events/PacifidlogTown.inc" + .include "data/maps/events/Route101.inc" + .include "data/maps/events/Route102.inc" + .include "data/maps/events/Route103.inc" + .include "data/maps/events/Route104.inc" + .include "data/maps/events/Route105.inc" + .include "data/maps/events/Route106.inc" + .include "data/maps/events/Route107.inc" + .include "data/maps/events/Route108.inc" + .include "data/maps/events/Route109.inc" + .include "data/maps/events/Route110.inc" + .include "data/maps/events/Route111.inc" + .include "data/maps/events/Route112.inc" + .include "data/maps/events/Route113.inc" + .include "data/maps/events/Route114.inc" + .include "data/maps/events/Route115.inc" + .include "data/maps/events/Route116.inc" + .include "data/maps/events/Route117.inc" + .include "data/maps/events/Route118.inc" + .include "data/maps/events/Route119.inc" + .include "data/maps/events/Route120.inc" + .include "data/maps/events/Route121.inc" + .include "data/maps/events/Route122.inc" + .include "data/maps/events/Route123.inc" + .include "data/maps/events/Route124.inc" + .include "data/maps/events/Route125.inc" + .include "data/maps/events/Route126.inc" + .include "data/maps/events/Route127.inc" + .include "data/maps/events/Route128.inc" + .include "data/maps/events/Route129.inc" + .include "data/maps/events/Route130.inc" + .include "data/maps/events/Route131.inc" + .include "data/maps/events/Route132.inc" + .include "data/maps/events/Route133.inc" + .include "data/maps/events/Route134.inc" + .include "data/maps/events/Underwater1.inc" + .include "data/maps/events/Underwater2.inc" + .include "data/maps/events/Underwater3.inc" + .include "data/maps/events/Underwater4.inc" + .include "data/maps/events/Underwater5.inc" + .include "data/maps/events/Underwater6.inc" + .include "data/maps/events/Underwater7.inc" + .include "data/maps/events/LittlerootTown_BrendansHouse_1F.inc" + .include "data/maps/events/LittlerootTown_BrendansHouse_2F.inc" + .include "data/maps/events/LittlerootTown_MaysHouse_1F.inc" + .include "data/maps/events/LittlerootTown_MaysHouse_2F.inc" + .include "data/maps/events/LittlerootTown_ProfessorBirchsLab.inc" + .include "data/maps/events/OldaleTown_House1.inc" + .include "data/maps/events/OldaleTown_House2.inc" + .include "data/maps/events/OldaleTown_PokemonCenter_1F.inc" + .include "data/maps/events/OldaleTown_PokemonCenter_2F.inc" + .include "data/maps/events/OldaleTown_Mart.inc" + .include "data/maps/events/DewfordTown_House1.inc" + .include "data/maps/events/DewfordTown_PokemonCenter_1F.inc" + .include "data/maps/events/DewfordTown_PokemonCenter_2F.inc" + .include "data/maps/events/DewfordTown_Gym.inc" + .include "data/maps/events/DewfordTown_Hall.inc" + .include "data/maps/events/DewfordTown_House2.inc" + .include "data/maps/events/LavaridgeTown_HerbShop.inc" + .include "data/maps/events/LavaridgeTown_Gym_1F.inc" + .include "data/maps/events/LavaridgeTown_Gym_B1F.inc" + .include "data/maps/events/LavaridgeTown_House.inc" + .include "data/maps/events/LavaridgeTown_Mart.inc" + .include "data/maps/events/LavaridgeTown_PokemonCenter_1F.inc" + .include "data/maps/events/LavaridgeTown_PokemonCenter_2F.inc" + .include "data/maps/events/FallarborTown_Mart.inc" + .include "data/maps/events/FallarborTown_BattleTentLobby.inc" + .include "data/maps/events/FallarborTown_BattleTentCorridor.inc" + .include "data/maps/events/FallarborTown_BattleTentBattleRoom.inc" + .include "data/maps/events/FallarborTown_PokemonCenter_1F.inc" + .include "data/maps/events/FallarborTown_PokemonCenter_2F.inc" + .include "data/maps/events/FallarborTown_House1.inc" + .include "data/maps/events/FallarborTown_House2.inc" + .include "data/maps/events/VerdanturfTown_BattleTentLobby.inc" + .include "data/maps/events/VerdanturfTown_BattleTentCorridor.inc" + .include "data/maps/events/VerdanturfTown_BattleTentBattleRoom.inc" + .include "data/maps/events/VerdanturfTown_Mart.inc" + .include "data/maps/events/VerdanturfTown_PokemonCenter_1F.inc" + .include "data/maps/events/VerdanturfTown_PokemonCenter_2F.inc" + .include "data/maps/events/VerdanturfTown_WandasHouse.inc" + .include "data/maps/events/VerdanturfTown_FriendshipRatersHouse.inc" + .include "data/maps/events/VerdanturfTown_House.inc" + .include "data/maps/events/PacifidlogTown_PokemonCenter_1F.inc" + .include "data/maps/events/PacifidlogTown_PokemonCenter_2F.inc" + .include "data/maps/events/PacifidlogTown_House1.inc" + .include "data/maps/events/PacifidlogTown_House2.inc" + .include "data/maps/events/PacifidlogTown_House3.inc" + .include "data/maps/events/PacifidlogTown_House4.inc" + .include "data/maps/events/PacifidlogTown_House5.inc" + .include "data/maps/events/PetalburgCity_WallysHouse.inc" + .include "data/maps/events/PetalburgCity_Gym.inc" + .include "data/maps/events/PetalburgCity_House1.inc" + .include "data/maps/events/PetalburgCity_House2.inc" + .include "data/maps/events/PetalburgCity_PokemonCenter_1F.inc" + .include "data/maps/events/PetalburgCity_PokemonCenter_2F.inc" + .include "data/maps/events/PetalburgCity_Mart.inc" + .include "data/maps/events/SlateportCity_SternsShipyard_1F.inc" + .include "data/maps/events/SlateportCity_SternsShipyard_2F.inc" + .include "data/maps/events/SlateportCity_BattleTentLobby.inc" + .include "data/maps/events/SlateportCity_BattleTentCorridor.inc" + .include "data/maps/events/SlateportCity_BattleTentBattleRoom.inc" + .include "data/maps/events/SlateportCity_House1.inc" + .include "data/maps/events/SlateportCity_PokemonFanClub.inc" + .include "data/maps/events/SlateportCity_OceanicMuseum_1F.inc" + .include "data/maps/events/SlateportCity_OceanicMuseum_2F.inc" + .include "data/maps/events/SlateportCity_Harbor.inc" + .include "data/maps/events/SlateportCity_House2.inc" + .include "data/maps/events/SlateportCity_PokemonCenter_1F.inc" + .include "data/maps/events/SlateportCity_PokemonCenter_2F.inc" + .include "data/maps/events/SlateportCity_Mart.inc" + .include "data/maps/events/MauvilleCity_Gym.inc" + .include "data/maps/events/MauvilleCity_BikeShop.inc" + .include "data/maps/events/MauvilleCity_House1.inc" + .include "data/maps/events/MauvilleCity_GameCorner.inc" + .include "data/maps/events/MauvilleCity_House2.inc" + .include "data/maps/events/MauvilleCity_PokemonCenter_1F.inc" + .include "data/maps/events/MauvilleCity_PokemonCenter_2F.inc" + .include "data/maps/events/MauvilleCity_Mart.inc" + .include "data/maps/events/RustboroCity_DevonCorp_1F.inc" + .include "data/maps/events/RustboroCity_DevonCorp_2F.inc" + .include "data/maps/events/RustboroCity_DevonCorp_3F.inc" + .include "data/maps/events/RustboroCity_Gym.inc" + .include "data/maps/events/RustboroCity_PokemonSchool.inc" + .include "data/maps/events/RustboroCity_PokemonCenter_1F.inc" + .include "data/maps/events/RustboroCity_PokemonCenter_2F.inc" + .include "data/maps/events/RustboroCity_Mart.inc" + .include "data/maps/events/RustboroCity_Flat1_1F.inc" + .include "data/maps/events/RustboroCity_Flat1_2F.inc" + .include "data/maps/events/RustboroCity_House1.inc" + .include "data/maps/events/RustboroCity_CuttersHouse.inc" + .include "data/maps/events/RustboroCity_House2.inc" + .include "data/maps/events/RustboroCity_Flat2_1F.inc" + .include "data/maps/events/RustboroCity_Flat2_2F.inc" + .include "data/maps/events/RustboroCity_Flat2_3F.inc" + .include "data/maps/events/RustboroCity_House3.inc" + .include "data/maps/events/FortreeCity_House1.inc" + .include "data/maps/events/FortreeCity_Gym.inc" + .include "data/maps/events/FortreeCity_PokemonCenter_1F.inc" + .include "data/maps/events/FortreeCity_PokemonCenter_2F.inc" + .include "data/maps/events/FortreeCity_Mart.inc" + .include "data/maps/events/FortreeCity_House2.inc" + .include "data/maps/events/FortreeCity_House3.inc" + .include "data/maps/events/FortreeCity_House4.inc" + .include "data/maps/events/FortreeCity_House5.inc" + .include "data/maps/events/FortreeCity_DecorationShop.inc" + .include "data/maps/events/LilycoveCity_CoveLilyMotel_1F.inc" + .include "data/maps/events/LilycoveCity_CoveLilyMotel_2F.inc" + .include "data/maps/events/LilycoveCity_LilycoveMuseum_1F.inc" + .include "data/maps/events/LilycoveCity_LilycoveMuseum_2F.inc" + .include "data/maps/events/LilycoveCity_ContestLobby.inc" + .include "data/maps/events/LilycoveCity_ContestHall.inc" + .include "data/maps/events/LilycoveCity_PokemonCenter_1F.inc" + .include "data/maps/events/LilycoveCity_PokemonCenter_2F.inc" + .include "data/maps/events/LilycoveCity_UnusedMart.inc" + .include "data/maps/events/LilycoveCity_PokemonTrainerFanClub.inc" + .include "data/maps/events/LilycoveCity_Harbor.inc" + .include "data/maps/events/LilycoveCity_MoveDeletersHouse.inc" + .include "data/maps/events/LilycoveCity_House1.inc" + .include "data/maps/events/LilycoveCity_House2.inc" + .include "data/maps/events/LilycoveCity_House3.inc" + .include "data/maps/events/LilycoveCity_House4.inc" + .include "data/maps/events/LilycoveCity_DepartmentStore_1F.inc" + .include "data/maps/events/LilycoveCity_DepartmentStore_2F.inc" + .include "data/maps/events/LilycoveCity_DepartmentStore_3F.inc" + .include "data/maps/events/LilycoveCity_DepartmentStore_4F.inc" + .include "data/maps/events/LilycoveCity_DepartmentStore_5F.inc" + .include "data/maps/events/LilycoveCity_DepartmentStoreRooftop.inc" + .include "data/maps/events/LilycoveCity_DepartmentStoreElevator.inc" + .include "data/maps/events/MossdeepCity_Gym.inc" + .include "data/maps/events/MossdeepCity_House1.inc" + .include "data/maps/events/MossdeepCity_House2.inc" + .include "data/maps/events/MossdeepCity_PokemonCenter_1F.inc" + .include "data/maps/events/MossdeepCity_PokemonCenter_2F.inc" + .include "data/maps/events/MossdeepCity_Mart.inc" + .include "data/maps/events/MossdeepCity_House3.inc" + .include "data/maps/events/MossdeepCity_StevensHouse.inc" + .include "data/maps/events/MossdeepCity_House4.inc" + .include "data/maps/events/MossdeepCity_SpaceCenter_1F.inc" + .include "data/maps/events/MossdeepCity_SpaceCenter_2F.inc" + .include "data/maps/events/MossdeepCity_GameCorner_1F.inc" + .include "data/maps/events/MossdeepCity_GameCorner_B1F.inc" + .include "data/maps/events/SootopolisCity_Gym_1F.inc" + .include "data/maps/events/SootopolisCity_Gym_B1F.inc" + .include "data/maps/events/SootopolisCity_PokemonCenter_1F.inc" + .include "data/maps/events/SootopolisCity_PokemonCenter_2F.inc" + .include "data/maps/events/SootopolisCity_Mart.inc" + .include "data/maps/events/SootopolisCity_House1.inc" + .include "data/maps/events/SootopolisCity_House2.inc" + .include "data/maps/events/SootopolisCity_House3.inc" + .include "data/maps/events/SootopolisCity_House4.inc" + .include "data/maps/events/SootopolisCity_House5.inc" + .include "data/maps/events/SootopolisCity_House6.inc" + .include "data/maps/events/SootopolisCity_House7.inc" + .include "data/maps/events/SootopolisCity_LotadAndSeedotHouse.inc" + .include "data/maps/events/SootopolisCity_MysteryEventsHouse_1F.inc" + .include "data/maps/events/SootopolisCity_MysteryEventsHouse_B1F.inc" + .include "data/maps/events/EverGrandeCity_SidneysRoom.inc" + .include "data/maps/events/EverGrandeCity_PhoebesRoom.inc" + .include "data/maps/events/EverGrandeCity_GlaciasRoom.inc" + .include "data/maps/events/EverGrandeCity_DrakesRoom.inc" + .include "data/maps/events/EverGrandeCity_ChampionsRoom.inc" + .include "data/maps/events/EverGrandeCity_Hall1.inc" + .include "data/maps/events/EverGrandeCity_Hall2.inc" + .include "data/maps/events/EverGrandeCity_Hall3.inc" + .include "data/maps/events/EverGrandeCity_Hall4.inc" + .include "data/maps/events/EverGrandeCity_Hall5.inc" + .include "data/maps/events/EverGrandeCity_PokemonLeague_1F.inc" + .include "data/maps/events/EverGrandeCity_HallOfFame.inc" + .include "data/maps/events/EverGrandeCity_PokemonCenter_1F.inc" + .include "data/maps/events/EverGrandeCity_PokemonCenter_2F.inc" + .include "data/maps/events/EverGrandeCity_PokemonLeague_2F.inc" + .include "data/maps/events/Route104_MrBrineysHouse.inc" + .include "data/maps/events/Route104_PrettyPetalFlowerShop.inc" + .include "data/maps/events/Route111_WinstrateFamilysHouse.inc" + .include "data/maps/events/Route111_OldLadysRestStop.inc" + .include "data/maps/events/Route112_CableCarStation.inc" + .include "data/maps/events/MtChimney_CableCarStation.inc" + .include "data/maps/events/Route114_FossilManiacsHouse.inc" + .include "data/maps/events/Route114_FossilManiacsTunnel.inc" + .include "data/maps/events/Route114_LanettesHouse.inc" + .include "data/maps/events/Route116_TunnelersRestHouse.inc" + .include "data/maps/events/Route117_PokemonDayCare.inc" + .include "data/maps/events/Route121_SafariZoneEntrance.inc" + .include "data/maps/events/MeteorFalls_1F_1R.inc" + .include "data/maps/events/MeteorFalls_1F_2R.inc" + .include "data/maps/events/MeteorFalls_B1F_1R.inc" + .include "data/maps/events/MeteorFalls_B1F_2R.inc" + .include "data/maps/events/RusturfTunnel.inc" + .include "data/maps/events/Underwater_SootopolisCity.inc" + .include "data/maps/events/DesertRuins.inc" + .include "data/maps/events/GraniteCave_1F.inc" + .include "data/maps/events/GraniteCave_B1F.inc" + .include "data/maps/events/GraniteCave_B2F.inc" + .include "data/maps/events/GraniteCave_StevensRoom.inc" + .include "data/maps/events/PetalburgWoods.inc" + .include "data/maps/events/MtChimney.inc" + .include "data/maps/events/JaggedPass.inc" + .include "data/maps/events/FieryPath.inc" + .include "data/maps/events/MtPyre_1F.inc" + .include "data/maps/events/MtPyre_2F.inc" + .include "data/maps/events/MtPyre_3F.inc" + .include "data/maps/events/MtPyre_4F.inc" + .include "data/maps/events/MtPyre_5F.inc" + .include "data/maps/events/MtPyre_6F.inc" + .include "data/maps/events/MtPyre_Exterior.inc" + .include "data/maps/events/MtPyre_Summit.inc" + .include "data/maps/events/AquaHideout_1F.inc" + .include "data/maps/events/AquaHideout_B1F.inc" + .include "data/maps/events/AquaHideout_B2F.inc" + .include "data/maps/events/Underwater_SeafloorCavern.inc" + .include "data/maps/events/SeafloorCavern_Entrance.inc" + .include "data/maps/events/SeafloorCavern_Room1.inc" + .include "data/maps/events/SeafloorCavern_Room2.inc" + .include "data/maps/events/SeafloorCavern_Room3.inc" + .include "data/maps/events/SeafloorCavern_Room4.inc" + .include "data/maps/events/SeafloorCavern_Room5.inc" + .include "data/maps/events/SeafloorCavern_Room6.inc" + .include "data/maps/events/SeafloorCavern_Room7.inc" + .include "data/maps/events/SeafloorCavern_Room8.inc" + .include "data/maps/events/SeafloorCavern_Room9.inc" + .include "data/maps/events/CaveOfOrigin_Entrance.inc" + .include "data/maps/events/CaveOfOrigin_1F.inc" + .include "data/maps/events/CaveOfOrigin_UnusedRubySapphireMap1.inc" + .include "data/maps/events/CaveOfOrigin_UnusedRubySapphireMap2.inc" + .include "data/maps/events/CaveOfOrigin_UnusedRubySapphireMap3.inc" + .include "data/maps/events/CaveOfOrigin_B1F.inc" + .include "data/maps/events/VictoryRoad_1F.inc" + .include "data/maps/events/VictoryRoad_B1F.inc" + .include "data/maps/events/VictoryRoad_B2F.inc" + .include "data/maps/events/ShoalCave_LowTideEntranceRoom.inc" + .include "data/maps/events/ShoalCave_LowTideInnerRoom.inc" + .include "data/maps/events/ShoalCave_LowTideStairsRoom.inc" + .include "data/maps/events/ShoalCave_LowTideLowerRoom.inc" + .include "data/maps/events/ShoalCave_HighTideEntranceRoom.inc" + .include "data/maps/events/ShoalCave_HighTideInnerRoom.inc" + .include "data/maps/events/NewMauville_Entrance.inc" + .include "data/maps/events/NewMauville_Inside.inc" + .include "data/maps/events/AbandonedShip_Deck.inc" + .include "data/maps/events/AbandonedShip_Corridors_1F.inc" + .include "data/maps/events/AbandonedShip_Rooms_1F.inc" + .include "data/maps/events/AbandonedShip_Corridors_B1F.inc" + .include "data/maps/events/AbandonedShip_Rooms_B1F.inc" + .include "data/maps/events/AbandonedShip_Rooms2_B1F.inc" + .include "data/maps/events/AbandonedShip_Underwater1.inc" + .include "data/maps/events/AbandonedShip_Room_B1F.inc" + .include "data/maps/events/AbandonedShip_Rooms2_1F.inc" + .include "data/maps/events/AbandonedShip_CaptainsOffice.inc" + .include "data/maps/events/AbandonedShip_Underwater2.inc" + .include "data/maps/events/AbandonedShip_HiddenFloorCorridors.inc" + .include "data/maps/events/AbandonedShip_HiddenFloorRooms.inc" + .include "data/maps/events/IslandCave.inc" + .include "data/maps/events/AncientTomb.inc" + .include "data/maps/events/Underwater_Route134.inc" + .include "data/maps/events/Underwater_SealedChamber.inc" + .include "data/maps/events/SealedChamber_OuterRoom.inc" + .include "data/maps/events/SealedChamber_InnerRoom.inc" + .include "data/maps/events/ScorchedSlab.inc" + .include "data/maps/events/AquaHideout_UnusedRubyMap1.inc" + .include "data/maps/events/AquaHideout_UnusedRubyMap2.inc" + .include "data/maps/events/AquaHideout_UnusedRubyMap3.inc" + .include "data/maps/events/SkyPillar_Entrance.inc" + .include "data/maps/events/SkyPillar_Outside.inc" + .include "data/maps/events/SkyPillar_1F.inc" + .include "data/maps/events/SkyPillar_2F.inc" + .include "data/maps/events/SkyPillar_3F.inc" + .include "data/maps/events/SkyPillar_4F.inc" + .include "data/maps/events/ShoalCave_LowTideIceRoom.inc" + .include "data/maps/events/SkyPillar_5F.inc" + .include "data/maps/events/SkyPillar_Top.inc" + .include "data/maps/events/MagmaHideout_1F.inc" + .include "data/maps/events/MagmaHideout_2F_1R.inc" + .include "data/maps/events/MagmaHideout_2F_2R.inc" + .include "data/maps/events/MagmaHideout_3F_1R.inc" + .include "data/maps/events/MagmaHideout_3F_2R.inc" + .include "data/maps/events/MagmaHideout_4F.inc" + .include "data/maps/events/MagmaHideout_3F_3R.inc" + .include "data/maps/events/MagmaHideout_2F_3R.inc" + .include "data/maps/events/MirageTower_1F.inc" + .include "data/maps/events/MirageTower_2F.inc" + .include "data/maps/events/MirageTower_3F.inc" + .include "data/maps/events/MirageTower_4F.inc" + .include "data/maps/events/DesertUnderpass.inc" + .include "data/maps/events/ArtisanCave_B1F.inc" + .include "data/maps/events/ArtisanCave_1F.inc" + .include "data/maps/events/Underwater_MarineCave.inc" + .include "data/maps/events/MarineCave_Entrance.inc" + .include "data/maps/events/MarineCave_End.inc" + .include "data/maps/events/TerraCave_Entrance.inc" + .include "data/maps/events/TerraCave_End.inc" + .include "data/maps/events/AlteringCave.inc" + .include "data/maps/events/MeteorFalls_StevensCave.inc" + .include "data/maps/events/SecretBase_RedCave1.inc" + .include "data/maps/events/SecretBase_BrownCave1.inc" + .include "data/maps/events/SecretBase_BlueCave1.inc" + .include "data/maps/events/SecretBase_YellowCave1.inc" + .include "data/maps/events/SecretBase_Tree1.inc" + .include "data/maps/events/SecretBase_Shrub1.inc" + .include "data/maps/events/SecretBase_RedCave2.inc" + .include "data/maps/events/SecretBase_BrownCave2.inc" + .include "data/maps/events/SecretBase_BlueCave2.inc" + .include "data/maps/events/SecretBase_YellowCave2.inc" + .include "data/maps/events/SecretBase_Tree2.inc" + .include "data/maps/events/SecretBase_Shrub2.inc" + .include "data/maps/events/SecretBase_RedCave3.inc" + .include "data/maps/events/SecretBase_BrownCave3.inc" + .include "data/maps/events/SecretBase_BlueCave3.inc" + .include "data/maps/events/SecretBase_YellowCave3.inc" + .include "data/maps/events/SecretBase_Tree3.inc" + .include "data/maps/events/SecretBase_Shrub3.inc" + .include "data/maps/events/SecretBase_RedCave4.inc" + .include "data/maps/events/SecretBase_BrownCave4.inc" + .include "data/maps/events/SecretBase_BlueCave4.inc" + .include "data/maps/events/SecretBase_YellowCave4.inc" + .include "data/maps/events/SecretBase_Tree4.inc" + .include "data/maps/events/SecretBase_Shrub4.inc" + .include "data/maps/events/SingleBattleColosseum.inc" + .include "data/maps/events/TradeCenter.inc" + .include "data/maps/events/RecordCorner.inc" + .include "data/maps/events/DoubleBattleColosseum.inc" + .include "data/maps/events/LinkContestRoom1.inc" + .include "data/maps/events/LinkContestRoom2.inc" + .include "data/maps/events/LinkContestRoom3.inc" + .include "data/maps/events/LinkContestRoom4.inc" + .include "data/maps/events/LinkContestRoom5.inc" + .include "data/maps/events/LinkContestRoom6.inc" + .include "data/maps/events/UnknownMap_25_29.inc" + .include "data/maps/events/UnknownMap_25_30.inc" + .include "data/maps/events/UnknownMap_25_31.inc" + .include "data/maps/events/UnknownMap_25_32.inc" + .include "data/maps/events/UnknownMap_25_33.inc" + .include "data/maps/events/UnknownMap_25_34.inc" + .include "data/maps/events/InsideOfTruck.inc" + .include "data/maps/events/SSTidalCorridor.inc" + .include "data/maps/events/SSTidalLowerDeck.inc" + .include "data/maps/events/SSTidalRooms.inc" + .include "data/maps/events/BattlePyramidSquare01.inc" + .include "data/maps/events/BattlePyramidSquare02.inc" + .include "data/maps/events/BattlePyramidSquare03.inc" + .include "data/maps/events/BattlePyramidSquare04.inc" + .include "data/maps/events/BattlePyramidSquare05.inc" + .include "data/maps/events/BattlePyramidSquare06.inc" + .include "data/maps/events/BattlePyramidSquare07.inc" + .include "data/maps/events/BattlePyramidSquare08.inc" + .include "data/maps/events/BattlePyramidSquare09.inc" + .include "data/maps/events/BattlePyramidSquare10.inc" + .include "data/maps/events/BattlePyramidSquare11.inc" + .include "data/maps/events/BattlePyramidSquare12.inc" + .include "data/maps/events/BattlePyramidSquare13.inc" + .include "data/maps/events/BattlePyramidSquare14.inc" + .include "data/maps/events/BattlePyramidSquare15.inc" + .include "data/maps/events/BattlePyramidSquare16.inc" + .include "data/maps/events/UnionRoom.inc" + .include "data/maps/events/SafariZone_Northwest.inc" + .include "data/maps/events/SafariZone_North.inc" + .include "data/maps/events/SafariZone_Southwest.inc" + .include "data/maps/events/SafariZone_South.inc" + .include "data/maps/events/BattleFrontier_OutsideWest.inc" + .include "data/maps/events/BattleFrontier_BattleTowerLobby.inc" + .include "data/maps/events/BattleFrontier_BattleTowerElevator.inc" + .include "data/maps/events/BattleFrontier_BattleTowerCorridor.inc" + .include "data/maps/events/BattleFrontier_BattleTowerBattleRoom.inc" + .include "data/maps/events/SouthernIsland_Exterior.inc" + .include "data/maps/events/SouthernIsland_Interior.inc" + .include "data/maps/events/SafariZone_RestHouse.inc" + .include "data/maps/events/SafariZone_Northeast.inc" + .include "data/maps/events/SafariZone_Southeast.inc" + .include "data/maps/events/BattleFrontier_OutsideEast.inc" + .include "data/maps/events/BattleFrontier_BattleTowerMultiBattleRoom.inc" + .include "data/maps/events/BattleFrontier_BattleTowerCorridor2.inc" + .include "data/maps/events/BattleFrontier_BattleTowerBattleRoom2.inc" + .include "data/maps/events/BattleFrontier_BattleDomeLobby.inc" + .include "data/maps/events/BattleFrontier_BattleDomeCorridor.inc" + .include "data/maps/events/BattleFrontier_BattleDomePreBattleRoom.inc" + .include "data/maps/events/BattleFrontier_BattleDomeBattleRoom.inc" + .include "data/maps/events/BattleFrontier_BattlePalaceLobby.inc" + .include "data/maps/events/BattleFrontier_BattlePalaceCorridor.inc" + .include "data/maps/events/BattleFrontier_BattlePalaceBattleRoom.inc" + .include "data/maps/events/BattleFrontier_BattlePyramidLobby.inc" + .include "data/maps/events/BattleFrontier_BattlePyramidEmptySquare.inc" + .include "data/maps/events/BattleFrontier_BattlePyramidTop.inc" + .include "data/maps/events/BattleFrontier_BattleArenaLobby.inc" + .include "data/maps/events/BattleFrontier_BattleArenaCorridor.inc" + .include "data/maps/events/BattleFrontier_BattleArenaBattleRoom.inc" + .include "data/maps/events/BattleFrontier_BattleFactoryLobby.inc" + .include "data/maps/events/BattleFrontier_BattleFactoryPreBattleRoom.inc" + .include "data/maps/events/BattleFrontier_BattleFactoryBattleRoom.inc" + .include "data/maps/events/BattleFrontier_BattlePikeLobby.inc" + .include "data/maps/events/BattleFrontier_BattlePikeCorridor.inc" + .include "data/maps/events/BattleFrontier_BattlePikeThreePathRoom.inc" + .include "data/maps/events/BattleFrontier_BattlePikeRandomRoom1.inc" + .include "data/maps/events/BattleFrontier_BattlePikeRandomRoom2.inc" + .include "data/maps/events/BattleFrontier_BattlePikeRandomRoom3.inc" + .include "data/maps/events/BattleFrontier_RankingHall.inc" + .include "data/maps/events/BattleFrontier_Lounge1.inc" + .include "data/maps/events/BattleFrontier_BattlePointExchangeServiceCorner.inc" + .include "data/maps/events/BattleFrontier_Lounge2.inc" + .include "data/maps/events/BattleFrontier_Lounge3.inc" + .include "data/maps/events/BattleFrontier_Lounge4.inc" + .include "data/maps/events/BattleFrontier_ScottsHouse.inc" + .include "data/maps/events/BattleFrontier_Lounge5.inc" + .include "data/maps/events/BattleFrontier_Lounge6.inc" + .include "data/maps/events/BattleFrontier_Lounge7.inc" + .include "data/maps/events/BattleFrontier_ReceptionGate.inc" + .include "data/maps/events/BattleFrontier_Lounge8.inc" + .include "data/maps/events/BattleFrontier_Lounge9.inc" + .include "data/maps/events/BattleFrontier_PokemonCenter_1F.inc" + .include "data/maps/events/BattleFrontier_PokemonCenter_2F.inc" + .include "data/maps/events/BattleFrontier_Mart.inc" + .include "data/maps/events/FarawayIsland_Entrance.inc" + .include "data/maps/events/FarawayIsland_Interior.inc" + .include "data/maps/events/BirthIsland_Exterior.inc" + .include "data/maps/events/BirthIsland_Harbor.inc" + .include "data/maps/events/TrainerHill_Entrance.inc" + .include "data/maps/events/TrainerHill_1F.inc" + .include "data/maps/events/TrainerHill_2F.inc" + .include "data/maps/events/TrainerHill_3F.inc" + .include "data/maps/events/TrainerHill_4F.inc" + .include "data/maps/events/TrainerHill_Roof.inc" + .include "data/maps/events/NavelRock_Exterior.inc" + .include "data/maps/events/NavelRock_Harbor.inc" + .include "data/maps/events/NavelRock_Entrance.inc" + .include "data/maps/events/NavelRock_B1F.inc" + .include "data/maps/events/NavelRock_Fork.inc" + .include "data/maps/events/NavelRock_Up1.inc" + .include "data/maps/events/NavelRock_Up2.inc" + .include "data/maps/events/NavelRock_Up3.inc" + .include "data/maps/events/NavelRock_Up4.inc" + .include "data/maps/events/NavelRock_Top.inc" + .include "data/maps/events/NavelRock_Down01.inc" + .include "data/maps/events/NavelRock_Down02.inc" + .include "data/maps/events/NavelRock_Down03.inc" + .include "data/maps/events/NavelRock_Down04.inc" + .include "data/maps/events/NavelRock_Down05.inc" + .include "data/maps/events/NavelRock_Down06.inc" + .include "data/maps/events/NavelRock_Down07.inc" + .include "data/maps/events/NavelRock_Down08.inc" + .include "data/maps/events/NavelRock_Down09.inc" + .include "data/maps/events/NavelRock_Down10.inc" + .include "data/maps/events/NavelRock_Down11.inc" + .include "data/maps/events/NavelRock_Bottom.inc" + .include "data/maps/events/TrainerHill_Elevator.inc" + .include "data/maps/events/Route104_Prototype.inc" + .include "data/maps/events/Route104_PrototypePrettyPetalFlowerShop.inc" + .include "data/maps/events/Route109_SeashoreHouse.inc" + .include "data/maps/events/Route110_TrickHouseEntrance.inc" + .include "data/maps/events/Route110_TrickHouseEnd.inc" + .include "data/maps/events/Route110_TrickHouseCorridor.inc" + .include "data/maps/events/Route110_TrickHousePuzzle1.inc" + .include "data/maps/events/Route110_TrickHousePuzzle2.inc" + .include "data/maps/events/Route110_TrickHousePuzzle3.inc" + .include "data/maps/events/Route110_TrickHousePuzzle4.inc" + .include "data/maps/events/Route110_TrickHousePuzzle5.inc" + .include "data/maps/events/Route110_TrickHousePuzzle6.inc" + .include "data/maps/events/Route110_TrickHousePuzzle7.inc" + .include "data/maps/events/Route110_TrickHousePuzzle8.inc" + .include "data/maps/events/Route110_SeasideCyclingRoadEntrance1.inc" + .include "data/maps/events/Route110_SeasideCyclingRoadEntrance2.inc" + .include "data/maps/events/Route113_GlassWorkshop.inc" + .include "data/maps/events/Route123_BerryMastersHouse.inc" + .include "data/maps/events/Route119_WeatherInstitute_1F.inc" + .include "data/maps/events/Route119_WeatherInstitute_2F.inc" + .include "data/maps/events/Route119_House.inc" + .include "data/maps/events/Route124_DivingTreasureHuntersHouse.inc" + diff --git a/data/map_name_popup.s b/data/map_name_popup.s index ff7c3ea4e1..7dc1da8083 100644 --- a/data/map_name_popup.s +++ b/data/map_name_popup.s @@ -4,14 +4,66 @@ .section .rodata .align 2, 0 -gUnknown_0857C684:: @ 857C684 - .incbin "baserom.gba", 0x57c684, 0x1680 +gMapPopUp_Table:: @ 857C684 + .incbin "graphics/interface/map_popup/wood.4bpp" + .incbin "graphics/interface/map_popup/marble.4bpp" + .incbin "graphics/interface/map_popup/stone.4bpp" + .incbin "graphics/interface/map_popup/brick.4bpp" + .incbin "graphics/interface/map_popup/underwater.4bpp" + .incbin "graphics/interface/map_popup/stone2.4bpp" -gUnknown_0857DD04:: @ 857DD04 - .incbin "baserom.gba", 0x57dd04, 0x1680 +gMapPopUp_Outline_Table:: @ 857DD04 + .incbin "graphics/interface/map_popup/wood_outline.4bpp" + .incbin "graphics/interface/map_popup/marble_outline.4bpp" + .incbin "graphics/interface/map_popup/stone_outline.4bpp" + .incbin "graphics/interface/map_popup/brick_outline.4bpp" + .incbin "graphics/interface/map_popup/underwater_outline.4bpp" + .incbin "graphics/interface/map_popup/stone2_outline.4bpp" -gUnknown_0857F384:: @ 857F384 - .incbin "baserom.gba", 0x57f384, 0xc0 +gMapPopUp_Palette_Table:: @ 857F384 + .incbin "graphics/interface/map_popup/wood.gbapal" + .incbin "graphics/interface/map_popup/marble.gbapal" + .incbin "graphics/interface/map_popup/stone.gbapal" + .incbin "graphics/interface/map_popup/brick.gbapal" + .incbin "graphics/interface/map_popup/underwater.gbapal" + .incbin "graphics/interface/map_popup/stone2.gbapal" gUnknown_0857F444:: @ 857F444 - .incbin "baserom.gba", 0x57f444, 0x20 + .incbin "graphics/interface/map_popup/857F444.gbapal" + +gUnknown_0857F464:: @ 857F464 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x01, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x02, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x05, 0x02, 0x00, 0x02, 0x00, 0x02, 0x02, 0x00, 0x00, 0x02, 0x05, 0x02, 0x02, 0x02, 0x02, 0x00, 0x02, 0x02, 0x01, 0x02, 0x02, 0x02, 0x00, 0x00, 0x02, 0x02, 0x05, 0x02, 0x05, 0x05, 0x05, 0x02, 0x02, 0x02, 0x01 + +gUnknown_0857F4CC:: @ 857F4CC + .string "PYRAMID FLOOR 1$" + +gUnknown_0857F4DC:: @ 857F4DC + .string "PYRAMID FLOOR 2$" + +gUnknown_0857F4EC:: @ 857F4EC + .string "PYRAMID FLOOR 3$" + +gUnknown_0857F4FC:: @ 857F4FC + .string "PYRAMID FLOOR 4$" + +gUnknown_0857F50C:: @ 857F50C + .string "PYRAMID FLOOR 5$" + +gUnknown_0857F51C:: @ 857F51C + .string "PYRAMID FLOOR 6$" + +gUnknown_0857F52C:: @ 857F52C + .string "PYRAMID FLOOR 7$" + +gUnknown_0857F53C:: @ 857F53C + .string "PYRAMID$" + +gUnknown_0857F544:: @ 857F544 + .4byte gUnknown_0857F4CC + .4byte gUnknown_0857F4DC + .4byte gUnknown_0857F4EC + .4byte gUnknown_0857F4FC + .4byte gUnknown_0857F50C + .4byte gUnknown_0857F51C + .4byte gUnknown_0857F52C + .4byte gUnknown_0857F53C diff --git a/data/map_obj_8097404.s b/data/map_obj_8097404.s index 161796765e..719a782662 100644 --- a/data/map_obj_8097404.s +++ b/data/map_obj_8097404.s @@ -2,44 +2,129 @@ .include "constants/constants.inc" .section .rodata - .align 2, 0 + .align 2 +gUnknown_0850E6C4:: @ 850E6C4 + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .align 2 +gUnknown_0850E704:: @ 850E704 + .4byte double_little_steps + .4byte double_little_steps + .4byte double_little_steps + .4byte double_little_steps + .4byte double_little_steps + .4byte double_little_steps + .4byte double_little_steps + .4byte double_little_steps + + .align 2 +gUnknown_0850E724:: @ 850E724 + .4byte double_little_steps + .4byte triple_little_steps + .4byte triple_little_steps + .4byte double_little_steps + .4byte triple_little_steps + .4byte triple_little_steps + + .align 2 +gUnknown_0850E73C:: @ 850E73C + .4byte quad_little_steps + .4byte quad_little_steps + .4byte quad_little_steps + .4byte quad_little_steps + + .align 2 +gUnknown_0850E74C:: @ 850E74C + .4byte oct_little_steps + .4byte oct_little_steps + + .align 2 gUnknown_0850E754:: @ 850E754 - .incbin "baserom.gba", 0x50e754, 0x14 + .4byte gUnknown_0850E6C4 + .4byte gUnknown_0850E704 + .4byte gUnknown_0850E724 + .4byte gUnknown_0850E73C + .4byte gUnknown_0850E74C + .align 1 gUnknown_0850E768:: @ 850E768 - .incbin "baserom.gba", 0x50e768, 0xa + .2byte 0x0010, 0x0008, 0x0006, 0x0004, 0x0002 gUnknown_0850E772:: @ 850E772 - .incbin "baserom.gba", 0x50e772, 0x48 + .byte 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01 + .byte 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 gUnknown_0850E7BA:: @ 850E7BA - .incbin "baserom.gba", 0x50e7ba, 0x7a + .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00 + .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe +gUnknown_0850E802:: @ 850E802 + .byte 0xfc, 0xfa, 0xf8, 0xf6, 0xf5, 0xf4, 0xf4, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xfa, 0xfc, 0x00, 0x00 + +gUnknown_0850E812:: @ 850E812 + .byte 0x00, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfc, 0xfd, 0xfe, 0x00, 0x00, 0x00 + +gUnknown_0850E822:: @ 850E822 + .byte 0xfe, 0xfc, 0xfa, 0xf8, 0xf7, 0xf6, 0xf6, 0xf6, 0xf7, 0xf8, 0xfa, 0xfb, 0xfd, 0xfe, 0x00, 0x00 + + .align 2 gUnknown_0850E834:: @ 850E834 - .incbin "baserom.gba", 0x50e834, 0xc + .4byte gUnknown_0850E802 + .4byte gUnknown_0850E812 + .4byte gUnknown_0850E822 + .align 1 gUnknown_0850E840:: @ 850E840 - .incbin "baserom.gba", 0x50e840, 0x6 + .byte 0x10, 0x00, 0x10, 0x00, 0x20, 0x00 + .align 1 gUnknown_0850E846:: @ 850E846 - .incbin "baserom.gba", 0x50e846, 0x4 + .byte 0x00, 0x00, 0x01, 0x00 + .align 1 gUnknown_0850E84A:: @ 850E84A - .incbin "baserom.gba", 0x50e84a, 0x6 + .byte 0x20, 0x00, 0x20, 0x00, 0x40, 0x00 + .align 1 gUnknown_0850E850:: @ 850E850 - .incbin "baserom.gba", 0x50e850, 0x4 + .byte 0x01, 0x01, 0x02, 0x00 -// referenced in src/field_map_obj.o +// referenced in data/field_map_obj.s + .align 2 gUnknown_0850E854:: - .incbin "baserom.gba", 0x50e854, 0x8 + .4byte sub_8097E50 + .4byte sub_80964B8 + .align 2 gUnknown_0850E85C:: - .incbin "baserom.gba", 0x50e85C, 0x8 + .4byte sub_8097EF0 + .4byte sub_80964B8 + .align 2 gUnknown_0850E864:: - .incbin "baserom.gba", 0x50e864, 0xc + .4byte sub_80980C0 + .4byte sub_80980D0 + .4byte sub_8098124 + .align 2 gUnknown_0850E870:: - .incbin "baserom.gba", 0x50e870, 0xc + .4byte sub_80980F4 + .4byte sub_8098108 + .4byte sub_8098124 diff --git a/data/maps.s b/data/maps.s new file mode 100644 index 0000000000..8848ac242b --- /dev/null +++ b/data/maps.s @@ -0,0 +1,11 @@ +#include "constants/songs.h" + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .include "data/maps/_assets.inc" + .include "data/maps/attributes_table.inc" + .include "data/maps/headers.inc" + .include "data/maps/_groups.inc" + .include "data/maps/connections.inc" diff --git a/data/maps/AbandonedShip_CaptainsOffice/border.bin b/data/maps/AbandonedShip_CaptainsOffice/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/AbandonedShip_CaptainsOffice/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/AbandonedShip_CaptainsOffice/header.inc b/data/maps/AbandonedShip_CaptainsOffice/header.inc new file mode 100644 index 0000000000..5c6bae920b --- /dev/null +++ b/data/maps/AbandonedShip_CaptainsOffice/header.inc @@ -0,0 +1,15 @@ +AbandonedShip_CaptainsOffice: @ 84845A4 + .4byte AbandonedShip_CaptainsOffice_MapAttributes + .4byte AbandonedShip_CaptainsOffice_MapEvents + .4byte AbandonedShip_CaptainsOffice_MapScripts + .4byte 0x0 + .2byte MUS_DAN02 + .2byte 195 + .byte 61 + .byte 0 + .byte 11 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/AbandonedShip_CaptainsOffice/map.bin b/data/maps/AbandonedShip_CaptainsOffice/map.bin new file mode 100644 index 0000000000..c9097fa637 Binary files /dev/null and b/data/maps/AbandonedShip_CaptainsOffice/map.bin differ diff --git a/data/maps/AbandonedShip_Corridors_1F/border.bin b/data/maps/AbandonedShip_Corridors_1F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/AbandonedShip_Corridors_1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/AbandonedShip_Corridors_1F/header.inc b/data/maps/AbandonedShip_Corridors_1F/header.inc new file mode 100644 index 0000000000..7d15827210 --- /dev/null +++ b/data/maps/AbandonedShip_Corridors_1F/header.inc @@ -0,0 +1,15 @@ +AbandonedShip_Corridors_1F: @ 84844C4 + .4byte AbandonedShip_Corridors_1F_MapAttributes + .4byte AbandonedShip_Corridors_1F_MapEvents + .4byte AbandonedShip_Corridors_1F_MapScripts + .4byte 0x0 + .2byte MUS_DAN02 + .2byte 187 + .byte 61 + .byte 0 + .byte 11 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/AbandonedShip_Corridors_1F/map.bin b/data/maps/AbandonedShip_Corridors_1F/map.bin new file mode 100644 index 0000000000..5ef5ca949d --- /dev/null +++ b/data/maps/AbandonedShip_Corridors_1F/map.bin @@ -0,0 +1,3 @@ +    22222 +2 662222222 +2 6222222222222222226201222220111122222012222201111222220122222011112222201222220111122262%#&2222%$"#&2222-+6.2222-2,*+6.262222222222222222222222222222222222 \ No newline at end of file diff --git a/data/maps/AbandonedShip_Corridors_B1F/border.bin b/data/maps/AbandonedShip_Corridors_B1F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/AbandonedShip_Corridors_B1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/AbandonedShip_Corridors_B1F/header.inc b/data/maps/AbandonedShip_Corridors_B1F/header.inc new file mode 100644 index 0000000000..2205786fec --- /dev/null +++ b/data/maps/AbandonedShip_Corridors_B1F/header.inc @@ -0,0 +1,15 @@ +AbandonedShip_Corridors_B1F: @ 84844FC + .4byte AbandonedShip_Corridors_B1F_MapAttributes + .4byte AbandonedShip_Corridors_B1F_MapEvents + .4byte AbandonedShip_Corridors_B1F_MapScripts + .4byte 0x0 + .2byte MUS_DAN02 + .2byte 189 + .byte 61 + .byte 0 + .byte 11 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/AbandonedShip_Corridors_B1F/map.bin b/data/maps/AbandonedShip_Corridors_B1F/map.bin new file mode 100644 index 0000000000..24b1a7b610 --- /dev/null +++ b/data/maps/AbandonedShip_Corridors_B1F/map.bin @@ -0,0 +1 @@ +!!011112!!011)011112)0112011112201122%#$"&22%#$22-+6,*2.22-+6,22222222222222222222222226222222222222262220111111122222011111112 \ No newline at end of file diff --git a/data/maps/AbandonedShip_Deck/border.bin b/data/maps/AbandonedShip_Deck/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/AbandonedShip_Deck/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/AbandonedShip_Deck/header.inc b/data/maps/AbandonedShip_Deck/header.inc new file mode 100644 index 0000000000..f83905c8ff --- /dev/null +++ b/data/maps/AbandonedShip_Deck/header.inc @@ -0,0 +1,15 @@ +AbandonedShip_Deck: @ 84844A8 + .4byte AbandonedShip_Deck_MapAttributes + .4byte AbandonedShip_Deck_MapEvents + .4byte AbandonedShip_Deck_MapScripts + .4byte 0x0 + .2byte MUS_DAN02 + .2byte 186 + .byte 61 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/AbandonedShip_Deck/map.bin b/data/maps/AbandonedShip_Deck/map.bin new file mode 100644 index 0000000000..67cdde3d73 --- /dev/null +++ b/data/maps/AbandonedShip_Deck/map.bin @@ -0,0 +1 @@ +(((`(`(((((b`(((((((((((`(''`(eif(b`(((((((((`('/`(((((b`('((ef(`(/'hiiiiij`(''('((((`(*/`(//(/((((`(* ]]]2hiiiiiiii(((`(((33*2*22*22ef(hiiiiif(2(2ei (((00((( ]]]2002]]]]]]]](((33*2*22*22*22*22*2*2*2*2*2*2*2(((((((2(2(2(2(2(2(2(2(2(2(2(2iiiiiiiiiiiif(2(2eiiiiiii00 00  22 44pppppppp \ No newline at end of file diff --git a/data/maps/AbandonedShip_HiddenFloorCorridors/border.bin b/data/maps/AbandonedShip_HiddenFloorCorridors/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/AbandonedShip_HiddenFloorCorridors/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/AbandonedShip_HiddenFloorCorridors/header.inc b/data/maps/AbandonedShip_HiddenFloorCorridors/header.inc new file mode 100644 index 0000000000..fc93ec42db --- /dev/null +++ b/data/maps/AbandonedShip_HiddenFloorCorridors/header.inc @@ -0,0 +1,15 @@ +AbandonedShip_HiddenFloorCorridors: @ 84845DC + .4byte AbandonedShip_HiddenFloorCorridors_MapAttributes + .4byte AbandonedShip_HiddenFloorCorridors_MapEvents + .4byte AbandonedShip_HiddenFloorCorridors_MapScripts + .4byte 0x0 + .2byte MUS_DAN02 + .2byte 289 + .byte 61 + .byte 0 + .byte 11 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/AbandonedShip_HiddenFloorCorridors/map.bin b/data/maps/AbandonedShip_HiddenFloorCorridors/map.bin new file mode 100644 index 0000000000..a4637ccbed --- /dev/null +++ b/data/maps/AbandonedShip_HiddenFloorCorridors/map.bin @@ -0,0 +1 @@ +    222222222222262242222224222222011111112266201111111222220111111122222%#$"#$"#&22-36,*36,*+6.22V2222222222GVx2222222222 \ No newline at end of file diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/border.bin b/data/maps/AbandonedShip_HiddenFloorRooms/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/AbandonedShip_HiddenFloorRooms/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/header.inc b/data/maps/AbandonedShip_HiddenFloorRooms/header.inc new file mode 100644 index 0000000000..cb8f997328 --- /dev/null +++ b/data/maps/AbandonedShip_HiddenFloorRooms/header.inc @@ -0,0 +1,15 @@ +AbandonedShip_HiddenFloorRooms: @ 84845F8 + .4byte AbandonedShip_HiddenFloorRooms_MapAttributes + .4byte AbandonedShip_HiddenFloorRooms_MapEvents + .4byte AbandonedShip_HiddenFloorRooms_MapScripts + .4byte 0x0 + .2byte MUS_DAN02 + .2byte 310 + .byte 61 + .byte 0 + .byte 11 + .byte 4 + .2byte 0 + .byte 7 + .byte 0 + diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/map.bin b/data/maps/AbandonedShip_HiddenFloorRooms/map.bin new file mode 100644 index 0000000000..b63eeabe6d --- /dev/null +++ b/data/maps/AbandonedShip_HiddenFloorRooms/map.bin @@ -0,0 +1 @@ +6''''c'''''76''''''''''76'''''c'''''7>////6/////?>/////2/////GF/////6/////?>h;2;2;2;2;2;2;2;2;2;2;2?>:2;2;2665;266;2;2;2;2ON:2;2;2;2;2;2;2g2;2;266;2?>=28282828282a2828282826?>682a2^6_682b6682828282;2;2<28282b68282828282826682?>=282V6W68282828282a28282?>=28282`2828282828282828282?>=282828282`282828282828282?>682^6_6828282828282`282?>=2`2828282828282828282a282?>682V6W682828282b6828282a2?>=28282828282828282828282?>=2828282828282828282828282?>=282^6_6828282a2828282826?6''''''''''''76'''''''''''''76'''''''''''''7>////////////?>/////////////?>/////////////?>:2g2;2;2;2;25;2;2;2;2;2?>:2;2;2;2;2;2;2;2;2;2;2;2;2?>:2;2;2g2;2;2;2;2;2;266;2?>=282828282a2828282V6W682?>=28282828282`2828282b6826?>682828282V6W68282826682?>=28282828282828282^6_682?>=28282a2`28282828282828282?>=282828282^6_68282a2828282?>682`2828282828282828282?>=2V6W682828282828282828282?>=282828282828282828282826?>=282828282d2e2828282826?>=2^6_6828282d2e2828282a282?>=2`282b68282d2e282828282a2? \ No newline at end of file diff --git a/data/maps/AbandonedShip_Room_B1F/border.bin b/data/maps/AbandonedShip_Room_B1F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/AbandonedShip_Room_B1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/AbandonedShip_Room_B1F/header.inc b/data/maps/AbandonedShip_Room_B1F/header.inc new file mode 100644 index 0000000000..68b484f689 --- /dev/null +++ b/data/maps/AbandonedShip_Room_B1F/header.inc @@ -0,0 +1,15 @@ +AbandonedShip_Room_B1F: @ 848456C + .4byte AbandonedShip_Room_B1F_MapAttributes + .4byte AbandonedShip_Room_B1F_MapEvents + .4byte AbandonedShip_Room_B1F_MapScripts + .4byte 0x0 + .2byte MUS_DAN02 + .2byte 193 + .byte 61 + .byte 0 + .byte 11 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/AbandonedShip_Room_B1F/map.bin b/data/maps/AbandonedShip_Room_B1F/map.bin new file mode 100644 index 0000000000..cb8393eb22 --- /dev/null +++ b/data/maps/AbandonedShip_Room_B1F/map.bin @@ -0,0 +1 @@ +6'''''''7>///////?>:2;2;2;2;2;2;2?>=282a282828282?>=2`28282828282?>=282828282a282?>=2828282828282?>=28282d2e282b? \ No newline at end of file diff --git a/data/maps/AbandonedShip_Rooms2_1F/border.bin b/data/maps/AbandonedShip_Rooms2_1F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/AbandonedShip_Rooms2_1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/AbandonedShip_Rooms2_1F/header.inc b/data/maps/AbandonedShip_Rooms2_1F/header.inc new file mode 100644 index 0000000000..d712be55f2 --- /dev/null +++ b/data/maps/AbandonedShip_Rooms2_1F/header.inc @@ -0,0 +1,15 @@ +AbandonedShip_Rooms2_1F: @ 8484588 + .4byte AbandonedShip_Rooms2_1F_MapAttributes + .4byte AbandonedShip_Rooms2_1F_MapEvents + .4byte AbandonedShip_Rooms2_1F_MapScripts + .4byte 0x0 + .2byte MUS_DAN02 + .2byte 194 + .byte 61 + .byte 0 + .byte 11 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/AbandonedShip_Rooms2_1F/map.bin b/data/maps/AbandonedShip_Rooms2_1F/map.bin new file mode 100644 index 0000000000..c897ce8a0e --- /dev/null +++ b/data/maps/AbandonedShip_Rooms2_1F/map.bin @@ -0,0 +1 @@ +6@kc''7>Hs6//?>PQ:2;2;2;2;2?>XY=282828282?>2;2<28282a282?>=2828282828282?>=282b82a28282?>=2828282828282?=26'''=2'''7>///=2///?>:2;2;2<2;2;2;2?>=2828282828282?>=2VW82a28282?>=2^_a2828282?>=2828282828282?>=28282d2e28282? \ No newline at end of file diff --git a/data/maps/AbandonedShip_Rooms2_B1F/border.bin b/data/maps/AbandonedShip_Rooms2_B1F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/AbandonedShip_Rooms2_B1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/AbandonedShip_Rooms2_B1F/header.inc b/data/maps/AbandonedShip_Rooms2_B1F/header.inc new file mode 100644 index 0000000000..1b5cbb68ac --- /dev/null +++ b/data/maps/AbandonedShip_Rooms2_B1F/header.inc @@ -0,0 +1,15 @@ +AbandonedShip_Rooms2_B1F: @ 8484534 + .4byte AbandonedShip_Rooms2_B1F_MapAttributes + .4byte AbandonedShip_Rooms2_B1F_MapEvents + .4byte AbandonedShip_Rooms2_B1F_MapScripts + .4byte 0x0 + .2byte MUS_DAN02 + .2byte 191 + .byte 61 + .byte 0 + .byte 11 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/AbandonedShip_Rooms2_B1F/map.bin b/data/maps/AbandonedShip_Rooms2_B1F/map.bin new file mode 100644 index 0000000000..7865bb69dd --- /dev/null +++ b/data/maps/AbandonedShip_Rooms2_B1F/map.bin @@ -0,0 +1 @@ +6@AB''''76@AB'CDE7>HIJ////?>HIJ/KLM?>PQ:2;2;2;2;2GFPQ:2;2;2TU?>XY=282VW6ONXY=28282\]?>:2;2<282^_82;2;2;2;2f28282;2;2?>=2828282828282?>=282828282826?>6828282828282?>682828282`282?>=28282d2e282b?>=28282d2e28282? \ No newline at end of file diff --git a/data/maps/AbandonedShip_Rooms_1F/border.bin b/data/maps/AbandonedShip_Rooms_1F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/AbandonedShip_Rooms_1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/AbandonedShip_Rooms_1F/header.inc b/data/maps/AbandonedShip_Rooms_1F/header.inc new file mode 100644 index 0000000000..68dbcbbdb6 --- /dev/null +++ b/data/maps/AbandonedShip_Rooms_1F/header.inc @@ -0,0 +1,15 @@ +AbandonedShip_Rooms_1F: @ 84844E0 + .4byte AbandonedShip_Rooms_1F_MapAttributes + .4byte AbandonedShip_Rooms_1F_MapEvents + .4byte AbandonedShip_Rooms_1F_MapScripts + .4byte 0x0 + .2byte MUS_DAN02 + .2byte 188 + .byte 61 + .byte 0 + .byte 11 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/AbandonedShip_Rooms_1F/map.bin b/data/maps/AbandonedShip_Rooms_1F/map.bin new file mode 100644 index 0000000000..20529b3df8 --- /dev/null +++ b/data/maps/AbandonedShip_Rooms_1F/map.bin @@ -0,0 +1 @@ +6''c''76@kc''7>//6//?>Hs6//?>:2;2;2;2;2;2;2?>PQ:2;2;2;2;2?>=2828282828282?>XY=28282826?>682828282a282?>:2;2<282828282?>=2828282828282?>=2828282`28282?>=2b8282828282?>6828282828282?>=2828282a28282?>=2828282828282?=26@AB'''E76'''=2CDE7>HIJ////?>///=2KLM?>PQ:2;2;2;2;2GF:2;2;2<2;2TU?>XY=282`28282ON=282828282\]?>:2;2<2b828282;2;2<282828282;2;2?>=2828282828282?>=2VW8282826?>=2a28282828282?>=2^_82828282?>68282d2e28282?>=28282d2e28282? \ No newline at end of file diff --git a/data/maps/AbandonedShip_Rooms_B1F/border.bin b/data/maps/AbandonedShip_Rooms_B1F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/AbandonedShip_Rooms_B1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/AbandonedShip_Rooms_B1F/header.inc b/data/maps/AbandonedShip_Rooms_B1F/header.inc new file mode 100644 index 0000000000..219410a9f0 --- /dev/null +++ b/data/maps/AbandonedShip_Rooms_B1F/header.inc @@ -0,0 +1,15 @@ +AbandonedShip_Rooms_B1F: @ 8484518 + .4byte AbandonedShip_Rooms_B1F_MapAttributes + .4byte AbandonedShip_Rooms_B1F_MapEvents + .4byte AbandonedShip_Rooms_B1F_MapScripts + .4byte 0x0 + .2byte MUS_DAN02 + .2byte 190 + .byte 61 + .byte 0 + .byte 11 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/AbandonedShip_Rooms_B1F/map.bin b/data/maps/AbandonedShip_Rooms_B1F/map.bin new file mode 100644 index 0000000000..b185095076 --- /dev/null +++ b/data/maps/AbandonedShip_Rooms_B1F/map.bin @@ -0,0 +1 @@ +6@kmE@kc''@kmE7>Hs2uMHs6//Hs2uM?>PQ:2;2;2TUPQ:2;2;2;2;2PQ:2;2;2TU?>XY=28282\]XY=28282a282XY=2a282\]?>:2;2<2a282;2;2:2;2<28282826:2;2<28282;2;2?>=2VW8282826=282=28282a2828282?>=2^_82`28282=2pVp82=2`2828282b82?>6828282828282=2VGV82=282828282826? \ No newline at end of file diff --git a/data/maps/AbandonedShip_Underwater1/border.bin b/data/maps/AbandonedShip_Underwater1/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/AbandonedShip_Underwater1/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/AbandonedShip_Underwater1/header.inc b/data/maps/AbandonedShip_Underwater1/header.inc new file mode 100644 index 0000000000..b314f5028a --- /dev/null +++ b/data/maps/AbandonedShip_Underwater1/header.inc @@ -0,0 +1,15 @@ +AbandonedShip_Underwater1: @ 8484550 + .4byte AbandonedShip_Underwater1_MapAttributes + .4byte AbandonedShip_Underwater1_MapEvents + .4byte AbandonedShip_Underwater1_MapScripts + .4byte 0x0 + .2byte MUS_DEEPDEEP + .2byte 192 + .byte 61 + .byte 0 + .byte 14 + .byte 5 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/AbandonedShip_Underwater1/map.bin b/data/maps/AbandonedShip_Underwater1/map.bin new file mode 100644 index 0000000000..2c73cfe863 --- /dev/null +++ b/data/maps/AbandonedShip_Underwater1/map.bin @@ -0,0 +1 @@ +222222222222222222222222222222222222222222222222 \ No newline at end of file diff --git a/data/maps/AbandonedShip_Underwater2/border.bin b/data/maps/AbandonedShip_Underwater2/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/AbandonedShip_Underwater2/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/AbandonedShip_Underwater2/header.inc b/data/maps/AbandonedShip_Underwater2/header.inc new file mode 100644 index 0000000000..3f15871b74 --- /dev/null +++ b/data/maps/AbandonedShip_Underwater2/header.inc @@ -0,0 +1,15 @@ +AbandonedShip_Underwater2: @ 84845C0 + .4byte AbandonedShip_Underwater2_MapAttributes + .4byte AbandonedShip_Underwater2_MapEvents + .4byte AbandonedShip_Underwater2_MapScripts + .4byte 0x0 + .2byte MUS_DEEPDEEP + .2byte 196 + .byte 61 + .byte 0 + .byte 14 + .byte 5 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/AbandonedShip_Underwater2/map.bin b/data/maps/AbandonedShip_Underwater2/map.bin new file mode 100644 index 0000000000..9dbd5c71a5 --- /dev/null +++ b/data/maps/AbandonedShip_Underwater2/map.bin @@ -0,0 +1 @@ +2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 \ No newline at end of file diff --git a/data/maps/AlteringCave/border.bin b/data/maps/AlteringCave/border.bin new file mode 100644 index 0000000000..423a0732e6 --- /dev/null +++ b/data/maps/AlteringCave/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/AlteringCave/header.inc b/data/maps/AlteringCave/header.inc new file mode 100644 index 0000000000..98a23f76a0 --- /dev/null +++ b/data/maps/AlteringCave/header.inc @@ -0,0 +1,15 @@ +AlteringCave: @ 8484A58 + .4byte AlteringCave_MapAttributes + .4byte AlteringCave_MapEvents + .4byte AlteringCave_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANADUNGEON + .2byte 420 + .byte 210 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/AlteringCave/map.bin b/data/maps/AlteringCave/map.bin new file mode 100644 index 0000000000..38bec91fad --- /dev/null +++ b/data/maps/AlteringCave/map.bin @@ -0,0 +1 @@ +f222f222ff6662222226662222226662f2222222222222######"f22222222#######"2222222 !B!B!B!B!B!B"P22222222BBBBBBP222222222222fP222BBBBBB22222222222ffPf2BBBBBB22222222222222222BBBBB2222222222222222222222222222f2222222222222222f22222222222Pf22222222222222222P2222222222f22222222222222222####"22222222222222222 ##################"22222222666666222222226666662222222 #666666###"2<22#XYZ## \ No newline at end of file diff --git a/data/maps/AncientTomb/border.bin b/data/maps/AncientTomb/border.bin new file mode 100644 index 0000000000..c07869a9fb --- /dev/null +++ b/data/maps/AncientTomb/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/AncientTomb/header.inc b/data/maps/AncientTomb/header.inc new file mode 100644 index 0000000000..2d384b07b5 --- /dev/null +++ b/data/maps/AncientTomb/header.inc @@ -0,0 +1,15 @@ +AncientTomb: @ 8484630 + .4byte AncientTomb_MapAttributes + .4byte AncientTomb_MapEvents + .4byte AncientTomb_MapScripts + .4byte 0x0 + .2byte MUS_MABOROSI + .2byte 281 + .byte 83 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/AncientTomb/map.bin b/data/maps/AncientTomb/map.bin new file mode 100644 index 0000000000..406cf7279c Binary files /dev/null and b/data/maps/AncientTomb/map.bin differ diff --git a/data/maps/AquaHideout_1F/border.bin b/data/maps/AquaHideout_1F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/AquaHideout_1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/AquaHideout_1F/header.inc b/data/maps/AquaHideout_1F/header.inc new file mode 100644 index 0000000000..d2f8601bf3 --- /dev/null +++ b/data/maps/AquaHideout_1F/header.inc @@ -0,0 +1,15 @@ +AquaHideout_1F: @ 8484144 + .4byte AquaHideout_1F_MapAttributes + .4byte AquaHideout_1F_MapEvents + .4byte AquaHideout_1F_MapScripts + .4byte 0x0 + .2byte MUS_AJITO + .2byte 143 + .byte 197 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 8 + .byte 3 + diff --git a/data/maps/AquaHideout_1F/map.bin b/data/maps/AquaHideout_1F/map.bin new file mode 100644 index 0000000000..2330fe0155 --- /dev/null +++ b/data/maps/AquaHideout_1F/map.bin @@ -0,0 +1,55 @@ +STST [\21$#![\0!21!!2" +cd:292)2)2)2cd82)2:292)2)22)22)2' + +!!! k2l22(2(2(2(2k2l22(2(2(2(2(2(2(2(2(27 + +2)2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2)2 + +'//2(2(2]iiiiiiiiii^2(2(2(2(2(2 + +/'/2(2(2`q1q1q1q1q1q1q1q1q1q12(2(2(2(2(2 + +'/22(2(2`q1p1p1p1p1p1p1p1p1q12(2(2(2(2(2 + +/22(2(2(2hiiiiiiiiii2(2(2(2(2 + +)22(2(2(2(2*2*2*2*2*2*2*2*2*2*2*2*22(2(2(2(2' + +)2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2/ + +)2(2(2]iiiiiif(2(2eiiiiii^2(2' + +)2(2(2`t||||||00||||||2(2/ + +)2(2(2`us2(2*2 + +)2(2(2`upppppppppppps2(2(2 + +22(2`upppppppppppps2(2(2 + +2uppppppppppppsy2(2(2 + +2*BBBBtppppprBBBBB*2(2(2 + +)2*22((BBBBuypppxsBBBBB((222 + +)2(2(2t|||}ppp{||||2 + +)2(2(2`uppps2 + +)2(2(2`upppppppppppps2*2*2 + +22(2`upppppppppppps2(2(2 + +2`upppppppppppps222 + +2uppppppppppppsy2 + +)2*22*BBBBBtppprBBBBBB*2 + +)2(2(2((BBBBBuypxsB(B(B(B(B(B((2*2*2 + +mmmmmmmmougsnmmmmmmmmm + +qqqqqqqqusqqqqqqqqq +llllllllllllllllllllll \ No newline at end of file diff --git a/data/maps/AquaHideout_B1F/border.bin b/data/maps/AquaHideout_B1F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/AquaHideout_B1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/AquaHideout_B1F/header.inc b/data/maps/AquaHideout_B1F/header.inc new file mode 100644 index 0000000000..e5a70a5c0e --- /dev/null +++ b/data/maps/AquaHideout_B1F/header.inc @@ -0,0 +1,15 @@ +AquaHideout_B1F: @ 8484160 + .4byte AquaHideout_B1F_MapAttributes + .4byte AquaHideout_B1F_MapEvents + .4byte AquaHideout_B1F_MapScripts + .4byte 0x0 + .2byte MUS_AJITO + .2byte 144 + .byte 197 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 8 + .byte 3 + diff --git a/data/maps/AquaHideout_B1F/map.bin b/data/maps/AquaHideout_B1F/map.bin new file mode 100644 index 0000000000..97efacec83 --- /dev/null +++ b/data/maps/AquaHideout_B1F/map.bin @@ -0,0 +1,83 @@ + 01!2 +112! +!!2!! + +!!! +ST8292)22)22 +92922)22)2 +')22)22)2' + +)2)2)2 + +!2[\ )2(2(2(2(2(2 +)2(2(2(2(2(27 +/2(2(2(2(2/ + +72(227 + +)22)22cd2)2(2(2(2(2(2 +)2(2(2(2(22*2*27 +)22(2(2(22(2 + +)2*22(2(2*2*27 + +)2(2(2(2k2l22(2(2(2(2(2(2  2Y2Y2Y2Y2Y2Y2Y2Y2Y2  2Y2Y2Y2Y2Y2Y2  +)22(2(22(2(22(2 + +)2(2(2(22A2B2222(2(2(2+,-. +iiiiiii^ + +)2(2(2(2IJ222(2(2(2 +$#$!!! +0013456 + +`2222222 + +)2(2(2(2222A2B22(2(2(2 +377C66 +828292;<=> + +hiiiiiii + +)2(2(2(2222IJ(2(2(2 +33377C333 +)263(2CDEF + +)22(2(22(2(22(2 + +)2(2(2(2222222(2(2(2 +33333323 +)2(2(2KLMN + +iiiiiii^ +  2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2 3333333333 )2(2(2(2UV)2 + +`2222222 +)22(2(2(2(2(2 + +hiiiiiii + +!!!!!!!!!!!!! !!!!!!!!!!  2Y2Y2Y2Y2Y2Y2  +)22(2(22(2(22(2 + +)2)2)2)2)2)2)2)2)2)2)2)2)22)2222222223 +iiiiiii^ + +)2(22(2(2(2(2(2(2(2(2(2(2(2(23  2227 !!!!!!! + +`2222222 + +iiiiiiiiiiiii^222D322222)2)2 + +hiiiiiii + +`2222222222222222222222222222(2(2 + +)22(2(22(2(22(2 + +`2O1O1O1O1O1O1O1O1O1O1O1O12A2B2222A2B23322222(2(2 +  2Y2Y2Y2Y2Y2Y2Y2Y2  +hiiiiiiiiiiiii2IJ222IJ22222(22 + +)2*22*2*2*2*2*2*2*2*2*2*2*2*2222222222222222(2(2 + !!!!!!!!!   2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  \ No newline at end of file diff --git a/data/maps/AquaHideout_B2F/border.bin b/data/maps/AquaHideout_B2F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/AquaHideout_B2F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/AquaHideout_B2F/header.inc b/data/maps/AquaHideout_B2F/header.inc new file mode 100644 index 0000000000..0f38497993 --- /dev/null +++ b/data/maps/AquaHideout_B2F/header.inc @@ -0,0 +1,15 @@ +AquaHideout_B2F: @ 848417C + .4byte AquaHideout_B2F_MapAttributes + .4byte AquaHideout_B2F_MapEvents + .4byte AquaHideout_B2F_MapScripts + .4byte 0x0 + .2byte MUS_AJITO + .2byte 145 + .byte 197 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 8 + .byte 3 + diff --git a/data/maps/AquaHideout_B2F/map.bin b/data/maps/AquaHideout_B2F/map.bin new file mode 100644 index 0000000000..2e843a8e44 --- /dev/null +++ b/data/maps/AquaHideout_B2F/map.bin @@ -0,0 +1,51 @@ +ST+,-.+,-.222 [\012 +!!23456!!3456!!! +cd82922)22 +)2)22)22;<=>)2)2;<=>)2)2)2 + +!2! +k2l22(2(2(2(2 +)2(2(2(2(2CDEF2(2CDEF2(2(2 + +)22)22)2 +)2(2(2(2(2(2(2 +)2(2(2(2(2KLMN2(2KLMN2(2(2 + +)2(2(2(2(2 +)2(2(22A2B22 +)2(2(2(2(2(2UV2(2(2(2UV2(2(2(2 + +)2(2(2 +)2(2(22IJ +)2(222(2(2*2*22(2(2(2*2*22(2(2(2 + +)2//(2 +)2(2(22222 +)2(22(222(2(222(222(2(2(2 + +)277/2 +)22(22222 +)2(2202(2222(2 +  2Y2Y2Y2Y2  2Y2Y2Y2Y2Y2Y2 )2(2*2*22822(2:22(2(2 +)2(2(2(2(2(2*2*22(2*2*22*2*22(2(2 + +!!!!! 012!!!! +)2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2 + +)2)2)2)2)228292:2)2)2)2)2 +)2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2  +)2(2(2(2(2(2(2(2(2(2(22(2 )2(2(22(2(2(2'2Y2Y2Y2Y2Y2Y2Y2Y2 +)2(2(2(2(2(2(2(2(2(2(2(2(2)2(2(2(2(2(2'/ + +iiiiiiiiiiif )2(2(2(2(2(2/// !!!!!!!! + +2iiiiiii^2)2)2)2)2)2)2)2)2 + +VVVVVVVVppp2(2(2(2(2(2(22(2 + +GGGGGGGVVVVVVVVpppppy2(2(2(2(2 + +GGGGGGGGGGGGGGVVVVVp*22(2(2(2(2''// + +GGGGGGGGGGGGGGGGGGVp2(2(2(2(2//)22 + GGGGGGGGGGGGGGGGGGVp2Y2Y2Y2Y2 2 2 2Y2 GGGGGGGGGGGGGGGGGGVpb iiiiiiiiiiiiiiiiiiiiij !!!!!!!!  \ No newline at end of file diff --git a/data/maps/AquaHideout_UnusedRubyMap1/border.bin b/data/maps/AquaHideout_UnusedRubyMap1/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/AquaHideout_UnusedRubyMap1/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/AquaHideout_UnusedRubyMap1/header.inc b/data/maps/AquaHideout_UnusedRubyMap1/header.inc new file mode 100644 index 0000000000..b32ecf901f --- /dev/null +++ b/data/maps/AquaHideout_UnusedRubyMap1/header.inc @@ -0,0 +1,15 @@ +AquaHideout_UnusedRubyMap1: @ 84846D8 + .4byte AquaHideout_UnusedRubyMap1_MapAttributes + .4byte AquaHideout_UnusedRubyMap1_MapEvents + .4byte AquaHideout_UnusedRubyMap1_MapScripts + .4byte 0x0 + .2byte MUS_AJITO + .2byte 316 + .byte 197 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 2 + diff --git a/data/maps/AquaHideout_UnusedRubyMap1/map.bin b/data/maps/AquaHideout_UnusedRubyMap1/map.bin new file mode 100644 index 0000000000..52c2d57eb4 Binary files /dev/null and b/data/maps/AquaHideout_UnusedRubyMap1/map.bin differ diff --git a/data/maps/AquaHideout_UnusedRubyMap2/border.bin b/data/maps/AquaHideout_UnusedRubyMap2/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/AquaHideout_UnusedRubyMap2/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/AquaHideout_UnusedRubyMap2/header.inc b/data/maps/AquaHideout_UnusedRubyMap2/header.inc new file mode 100644 index 0000000000..dec1a5311b --- /dev/null +++ b/data/maps/AquaHideout_UnusedRubyMap2/header.inc @@ -0,0 +1,15 @@ +AquaHideout_UnusedRubyMap2: @ 84846F4 + .4byte AquaHideout_UnusedRubyMap2_MapAttributes + .4byte AquaHideout_UnusedRubyMap2_MapEvents + .4byte AquaHideout_UnusedRubyMap2_MapScripts + .4byte 0x0 + .2byte MUS_AJITO + .2byte 317 + .byte 197 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 2 + diff --git a/data/maps/AquaHideout_UnusedRubyMap2/map.bin b/data/maps/AquaHideout_UnusedRubyMap2/map.bin new file mode 100644 index 0000000000..1406dde5d1 --- /dev/null +++ b/data/maps/AquaHideout_UnusedRubyMap2/map.bin @@ -0,0 +1,95 @@ + 01!2 +012!!!!!!!3333 + +!!! +STST8292)22)22 +82922)22)2)2)2)2)2)2)27777// + +)2)2)2 + +!2[\01!! +2[\ +)2(2(2(2(2(2 +)2(2(2(2(22A2B222(2(2*2*27777 + +72(227 + +)22)22cd8292)2)2 +'2)22cd +)2(2(2(2(2(2 +)2(2(2(2(22IJ2(2(2(2(2*2*2*2*2 + +)2*22(2(2*2*27 + +)2(2(2(2k2l2(22(2(2 +/2(2(2k2l2 +)2(2(2(22(2 +)2(2(2(2(222222(2(2(22(2(2(2(2 + +)22(2(22(2(22(2 + +)2(2(2(2(2(2(2(2(2(2 +'2(2(2(2(2 +)22A2B222  2Y2Y2Y2Y2Y2Y2Y2Y22Y2Y2Y2Y2Y2Y2Y2Y2  +mmmmmmmo + +)2(2(2(2(2(2(22(2(2 +/62(2(2(2(2 +)22IJ2 +vq0q0q0q0q0q0q0w +  2Y2Y2Y2Y2Y2Y2Y2Y2Y2 )222(2(2(2 +)222222 +$#$!! +001!3333 + +~yyyyyyy +)2(2(2(2(2(2 +)2(2(2(2(2(2 +7733 +828292)2 + +)22(2(22(2(22(2 + !!!!!!!!!!  2Y2Y2Y2Y2Y2  2Y2Y2Y2Y2Y2 333C33 +)2(2(2(2*2*2 + +mmmmmmmo ++,-.33333332 +)2(22(2(22*2*2 + +vq0q0q0q0q0q0q0w + +345601 +0011!! 333333333  2Y2Y2Y2Y2Y2Y2Y2  +~yyyyyyy + +;<=>8292 +82829292)2)2 +)22(2(22(2(22(2 + +CDEF)22 +)2(22(2(2(2 !!!!!!!!! !!!!!!!! + +mmmmmmmo + +KLMN)2(2 +)2(2(2(2(2(22)2)2)2)2)2)2)2)2)22)2)2)2)2)2)2)2)2 + +vq0q0q0q0q0q0q0w + +)2UV)22(2  2Y2Y2Y2Y2Y2Y2Y2Y223222222222222(2(2 + +~yyyyyyy + +)2)2)2)2(2(2  2A2B222@2B2332(2(2 + +)22(2(22(2(22(2 + +)2(2(2(233 +!!!!!!!!! 2IJ22HJ2(2(2 +  2Y2Y2Y2Y2Y2Y2Y2Y2  +)2(233 +)2)2)2)2)2)2)2)2)222222222222222(22 + +3377(2(2 +)2(22(2(2(2(2(2(2(22222222222222(2(2 + !!!!!!!!!  7777  2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2  !!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!  \ No newline at end of file diff --git a/data/maps/AquaHideout_UnusedRubyMap3/border.bin b/data/maps/AquaHideout_UnusedRubyMap3/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/AquaHideout_UnusedRubyMap3/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/AquaHideout_UnusedRubyMap3/header.inc b/data/maps/AquaHideout_UnusedRubyMap3/header.inc new file mode 100644 index 0000000000..a2383a4a6a --- /dev/null +++ b/data/maps/AquaHideout_UnusedRubyMap3/header.inc @@ -0,0 +1,15 @@ +AquaHideout_UnusedRubyMap3: @ 8484710 + .4byte AquaHideout_UnusedRubyMap3_MapAttributes + .4byte AquaHideout_UnusedRubyMap3_MapEvents + .4byte AquaHideout_UnusedRubyMap3_MapScripts + .4byte 0x0 + .2byte MUS_AJITO + .2byte 318 + .byte 197 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 2 + diff --git a/data/maps/AquaHideout_UnusedRubyMap3/map.bin b/data/maps/AquaHideout_UnusedRubyMap3/map.bin new file mode 100644 index 0000000000..68afb0063f --- /dev/null +++ b/data/maps/AquaHideout_UnusedRubyMap3/map.bin @@ -0,0 +1,49 @@ +ST|}~|}~ [\012 +!!23456!!3456!!! +cd82922)22 +)2)22)22;<=>)2)2;<=>)2)2)2 + +2! k2l22(2(2(2(2 +)2(2(2(2(2CDEF(2(2CDEF2(2(2 + +'2)22)22)2(2(2(2(2(2(2 +)2(2(2(2(2KLMN(2(2KLMN22(2 + +/(2(2(2(22A2B222(2(2(2 +)222(2(2(2UV2(2(2(2UV2(2(2(2 + +/(2(2(2(22IJ2(2(2(2 +)222(2(2(2(2(2(2(2*2*22(2(2(2 + +)2(2(2(2(222222(2(2(2 +)2:22(2(2(2(2(2(222(222(2(2 + +)2(2(2(2(222222(2(2(2 +)2*2*22(2(2(2(2(2(2(222(2 +  2Y22Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2  2Y2Y2Y2Y2Y2Y2Y22(2(2:22(2 +(2(2*2*22*2*22(2 + +01 +!!!!!!!!!! +!!!!!!!! (2(2(2(2(2(2(2(2(2 + +8292 +)2)2)2)2)2)2)2)2)2)2 )2)2)2)2)2)2)2)22(2(2(2(2(22Y2Y2Y2  +)2(2 +)2(2(2(2(2(2(2(22(2)2(22(2(2(2(2(2(2(2(2(2(2(2 +)22 +)2(2(2(2(2(2(2(2(2(2 iiiiiiiiiiii^ !!! + +)2(2 +)2(2(2(2piiiif22)2)2)2 + +)2(2 )2(2(2(2`pppppVVVVVVb2(22(2 + +)2(2)2(2(2(2`ppppppVVVVVGGGGGVb2(2(2(2 + +)2(2 )2(2(2(2xpppVVVGGGGGGGGGGVb2(2(2(2 + +)2(22)2(2(2(2*2pVVGGGGGGGGGGGGGVb2(2(2(2 + +)2(2(2(2(2(2(2VGGGGGGGGGGGGGGGVb2(2(2(2 +  2Y2Y2Y2Y2Y22`VGGGGGGGGGGGGGGGVb{3(2(2(2 `VGGGGGGGGGGGGGGGVb !!!!!! hiiiiiiiiiiiiiiiiiiij !!!  \ No newline at end of file diff --git a/data/maps/ArtisanCave_1F/border.bin b/data/maps/ArtisanCave_1F/border.bin new file mode 100644 index 0000000000..423a0732e6 --- /dev/null +++ b/data/maps/ArtisanCave_1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/ArtisanCave_1F/header.inc b/data/maps/ArtisanCave_1F/header.inc new file mode 100644 index 0000000000..1c363e7c98 --- /dev/null +++ b/data/maps/ArtisanCave_1F/header.inc @@ -0,0 +1,15 @@ +ArtisanCave_1F: @ 84849B0 + .4byte ArtisanCave_1F_MapAttributes + .4byte ArtisanCave_1F_MapEvents + .4byte ArtisanCave_1F_MapScripts + .4byte 0x0 + .2byte MUS_DAN01 + .2byte 401 + .byte 202 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/ArtisanCave_1F/map.bin b/data/maps/ArtisanCave_1F/map.bin new file mode 100644 index 0000000000..2009f24f4d --- /dev/null +++ b/data/maps/ArtisanCave_1F/map.bin @@ -0,0 +1 @@ +666666666666666666666666666666666666666666666666666666666666666666?262666666262666666262666666262666666226666662266666626U266666622262226666662226222666666 6 6 6"22U22  6 6 6666666666"22222 666666666666"222 6666666666662<2666666666666 6XYZ 6666666666666 6 6 6 6 6 6 6666666666666 6 6 6 6 6 6 6 6 6666666666666666666666666666 \ No newline at end of file diff --git a/data/maps/ArtisanCave_B1F/border.bin b/data/maps/ArtisanCave_B1F/border.bin new file mode 100644 index 0000000000..423a0732e6 --- /dev/null +++ b/data/maps/ArtisanCave_B1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/ArtisanCave_B1F/header.inc b/data/maps/ArtisanCave_B1F/header.inc new file mode 100644 index 0000000000..844f627c1f --- /dev/null +++ b/data/maps/ArtisanCave_B1F/header.inc @@ -0,0 +1,15 @@ +ArtisanCave_B1F: @ 8484994 + .4byte ArtisanCave_B1F_MapAttributes + .4byte ArtisanCave_B1F_MapEvents + .4byte ArtisanCave_B1F_MapScripts + .4byte 0x0 + .2byte MUS_DAN01 + .2byte 400 + .byte 202 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/ArtisanCave_B1F/map.bin b/data/maps/ArtisanCave_B1F/map.bin new file mode 100644 index 0000000000..c5ce45c52e --- /dev/null +++ b/data/maps/ArtisanCave_B1F/map.bin @@ -0,0 +1 @@ +22222666666666666666666666666666666666666222226666666666666666666666666666666666666222266'6622226'666666662222666666622222266222222266662222'226666666'2222222222222222266662222 6 6"2662222  B B"222222222266662222662U222 "222222222666622226622222222222222 BB"2222222266662222 6 6"222222  B B B B B B B B B BBB B B B B B B"222266662222 2 6"22222   6 6 6 6"BBBBBBBBBBBB"22266662222U2222   6"B"2266662222U222266B2266662222U222266B2266662222222266B222222222222266662222'2222'66B22  6 6 6 6"2222266662222222  6 6 6B2  " ""2222666622222  6 6666BB B B B B B BU"222666622222  6 6 6 6 6BBBBBBBBBBU    6 6 6 66622222  B B B B BBBB             6 6 6 6 6"6622222BBBBBBBB     "   " " " "6622222BUBBUUU662222222222BBUBBUUU6622222BBBBBBU        662222222222BBBBBBUBBBBBBBB6666666662222222222BBBBBBBUB         2222222222BBBBBBBBB        22222BBBBBBBBB22266666  2222222222BBBBBBBBB226     62222222222BUBBBBBB2226     2222 6 6"2222BBBBBBBB'       6    2222 6"62222BBBBBBBBB  "     62222 2" 6" 6"222BUBBBBBBBBU6666622222U6222BBBBBBBBUBBBBBBBBB62222U6U222BBBBBB66666622226622  B B2222222BBBBBB662222U622BB22BB2226U22226622BBBBBBB22BB2226666662222U22B22BB22266666622222222B22222B       66666622222222B22222B'        66666622222222U2222U6        6666662222222222222266U6        66666622222222222222'U66U66222222222222222666622222222222222222666622222222U222222222666666622222<22222222222226666666666666666666662222 XYZ             6666666666666666666662222                      6666666666666666662222  6  6  6  6  6  6   6                       666622222666666666666666666666666666666666666666662222266666666666666666666666666666666666666666 \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattleArenaBattleRoom/border.bin b/data/maps/BattleFrontier_BattleArenaBattleRoom/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattleArenaBattleRoom/border.bin differ diff --git a/data/maps/BattleFrontier_BattleArenaBattleRoom/header.inc b/data/maps/BattleFrontier_BattleArenaBattleRoom/header.inc new file mode 100644 index 0000000000..19e6f04134 --- /dev/null +++ b/data/maps/BattleFrontier_BattleArenaBattleRoom/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattleArenaBattleRoom: @ 8485484 + .4byte BattleFrontier_BattleArenaBattleRoom_MapAttributes + .4byte BattleFrontier_BattleArenaBattleRoom_MapEvents + .4byte BattleFrontier_BattleArenaBattleRoom_MapScripts + .4byte 0x0 + .2byte MUS_B_ARENA + .2byte 356 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattleArenaBattleRoom/map.bin b/data/maps/BattleFrontier_BattleArenaBattleRoom/map.bin new file mode 100644 index 0000000000..526de2248f --- /dev/null +++ b/data/maps/BattleFrontier_BattleArenaBattleRoom/map.bin @@ -0,0 +1 @@ +PPQPPQPPPPUPPUPPXXYXXYXXXX]XX]XX``a``a````e``e``22222222222222222222(2)2*2+2,2-2.2/22222}2}2}2}20212223242526272}2}2}2}222228292:2;2<2=2>2?22222u2u2v2w2@2A2B2C2D2E2F2G2u2v2u2u2 2 2 2 2H2I2J2K2L2M2N2O2 2 2 2 222222'2'222'2'2222222222222222222222 \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattleArenaCorridor/border.bin b/data/maps/BattleFrontier_BattleArenaCorridor/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattleArenaCorridor/border.bin differ diff --git a/data/maps/BattleFrontier_BattleArenaCorridor/header.inc b/data/maps/BattleFrontier_BattleArenaCorridor/header.inc new file mode 100644 index 0000000000..d70d50b1db --- /dev/null +++ b/data/maps/BattleFrontier_BattleArenaCorridor/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattleArenaCorridor: @ 8485468 + .4byte BattleFrontier_BattleArenaCorridor_MapAttributes + .4byte BattleFrontier_BattleArenaCorridor_MapEvents + .4byte BattleFrontier_BattleArenaCorridor_MapScripts + .4byte 0x0 + .2byte MUS_B_ARENA + .2byte 355 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattleArenaCorridor/map.bin b/data/maps/BattleFrontier_BattleArenaCorridor/map.bin new file mode 100644 index 0000000000..1b124b610c --- /dev/null +++ b/data/maps/BattleFrontier_BattleArenaCorridor/map.bin @@ -0,0 +1 @@ +VWWVWWWWkWWk^__^____s__sf6g6g6f6g6g6g6g6{6g6g6{6nononononoVWWVWWWWkWWknonoVWWVWWWWkWWknono^__^____s__snonof6g6g6f6g6g6g6g6{6g6g6{6nont2222222222222z22o2222222222222 \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattleArenaLobby/border.bin b/data/maps/BattleFrontier_BattleArenaLobby/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattleArenaLobby/border.bin differ diff --git a/data/maps/BattleFrontier_BattleArenaLobby/header.inc b/data/maps/BattleFrontier_BattleArenaLobby/header.inc new file mode 100644 index 0000000000..36522126d0 --- /dev/null +++ b/data/maps/BattleFrontier_BattleArenaLobby/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattleArenaLobby: @ 848544C + .4byte BattleFrontier_BattleArenaLobby_MapAttributes + .4byte BattleFrontier_BattleArenaLobby_MapEvents + .4byte BattleFrontier_BattleArenaLobby_MapScripts + .4byte 0x0 + .2byte MUS_B_ARENA + .2byte 354 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattleArenaLobby/map.bin b/data/maps/BattleFrontier_BattleArenaLobby/map.bin new file mode 100644 index 0000000000..2792d7979b --- /dev/null +++ b/data/maps/BattleFrontier_BattleArenaLobby/map.bin @@ -0,0 +1,3 @@ +P6Q6P6P6P6P6S6X6R6P6P6P6P6U6P6P6X6Y666Z6[6S6\6R6Z6[666]6X6X6`6a666b6c6T6d6a6b6c666e6`6`6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF#FFFFFF$FFFFFF2%FFFFFF&F24 2FFFFFF 22 +2 2 22222'222 22 22222 2222 2 222222222 222222222222222222222222 +222222222222222 \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/border.bin b/data/maps/BattleFrontier_BattleDomeBattleRoom/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattleDomeBattleRoom/border.bin differ diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/header.inc b/data/maps/BattleFrontier_BattleDomeBattleRoom/header.inc new file mode 100644 index 0000000000..ab62544035 --- /dev/null +++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattleDomeBattleRoom: @ 8485388 + .4byte BattleFrontier_BattleDomeBattleRoom_MapAttributes + .4byte BattleFrontier_BattleDomeBattleRoom_MapEvents + .4byte BattleFrontier_BattleDomeBattleRoom_MapScripts + .4byte 0x0 + .2byte MUS_B_DOME + .2byte 335 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/map.bin b/data/maps/BattleFrontier_BattleDomeBattleRoom/map.bin new file mode 100644 index 0000000000..ffb450f3c3 --- /dev/null +++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/map.bin @@ -0,0 +1,2 @@ +               !"#$%&      ()*+,-.      0123456        +   89:;<=>>    \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattleDomeCorridor/border.bin b/data/maps/BattleFrontier_BattleDomeCorridor/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattleDomeCorridor/border.bin differ diff --git a/data/maps/BattleFrontier_BattleDomeCorridor/header.inc b/data/maps/BattleFrontier_BattleDomeCorridor/header.inc new file mode 100644 index 0000000000..f91cfe2d4a --- /dev/null +++ b/data/maps/BattleFrontier_BattleDomeCorridor/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattleDomeCorridor: @ 8485350 + .4byte BattleFrontier_BattleDomeCorridor_MapAttributes + .4byte BattleFrontier_BattleDomeCorridor_MapEvents + .4byte BattleFrontier_BattleDomeCorridor_MapScripts + .4byte 0x0 + .2byte MUS_B_DOME1 + .2byte 333 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattleDomeCorridor/map.bin b/data/maps/BattleFrontier_BattleDomeCorridor/map.bin new file mode 100644 index 0000000000..2a9c496754 --- /dev/null +++ b/data/maps/BattleFrontier_BattleDomeCorridor/map.bin @@ -0,0 +1 @@ +ABCDEFGDABCDEFGDABCDEFGDABCDEFGDABCDEFGDABCDEFGDIJKLMNOLIJKLMNOLIJKLMNOLIJKLMNOLIJKLMNOLIJKLMNOLQRSSUVWTQRSTUVWTQRSTUVWTQRSTUVWTQRSTUVWTQRSTUVWTYZ[[]^_\YZ[\]^_\YZ[\]^_\YZ[\]^_\YZ[\]^_\YZ[\]^_\DBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBHA@A@A@A@A@A@A@A@A@A@A@A@A@A@A@A@A@A@A@A@A@A@A@AI@A@A@A@A@A@A@A@A@A@A@A=>@A@A@A@A@A@A@A@A@A@A@A@ \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattleDomeLobby/border.bin b/data/maps/BattleFrontier_BattleDomeLobby/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattleDomeLobby/border.bin differ diff --git a/data/maps/BattleFrontier_BattleDomeLobby/header.inc b/data/maps/BattleFrontier_BattleDomeLobby/header.inc new file mode 100644 index 0000000000..0626aea779 --- /dev/null +++ b/data/maps/BattleFrontier_BattleDomeLobby/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattleDomeLobby: @ 8485334 + .4byte BattleFrontier_BattleDomeLobby_MapAttributes + .4byte BattleFrontier_BattleDomeLobby_MapEvents + .4byte BattleFrontier_BattleDomeLobby_MapScripts + .4byte 0x0 + .2byte MUS_B_DOME1 + .2byte 332 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattleDomeLobby/map.bin b/data/maps/BattleFrontier_BattleDomeLobby/map.bin new file mode 100644 index 0000000000..655c6a39cc --- /dev/null +++ b/data/maps/BattleFrontier_BattleDomeLobby/map.bin @@ -0,0 +1 @@ +%&%&%&  -.  -.    -.  -.   567     567    34     34  $; <$$; <$DBCBCBCBCBCBCBCBCBCBCBCHA@A@A@A@A@A@A@A@A@A@A@I@A@A@A@A@A@A@A@Aqr@AHA@A@A@s@A@A@yzI@I@@tuv@A{A@`ab@HAI|}~hijII@CBBCTA@A@CBBCTAHA@A@A@A@A@A@A@A@A@A@A@@A@A@A@A@A@A@AA@A@A@A@A@A@A@'@A@A@A@A@A@A@A/A@A@A@A@=>A@A@ \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattleDomePreBattleRoom/border.bin b/data/maps/BattleFrontier_BattleDomePreBattleRoom/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattleDomePreBattleRoom/border.bin differ diff --git a/data/maps/BattleFrontier_BattleDomePreBattleRoom/header.inc b/data/maps/BattleFrontier_BattleDomePreBattleRoom/header.inc new file mode 100644 index 0000000000..7e06ab60a3 --- /dev/null +++ b/data/maps/BattleFrontier_BattleDomePreBattleRoom/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattleDomePreBattleRoom: @ 848536C + .4byte BattleFrontier_BattleDomePreBattleRoom_MapAttributes + .4byte BattleFrontier_BattleDomePreBattleRoom_MapEvents + .4byte BattleFrontier_BattleDomePreBattleRoom_MapScripts + .4byte 0x0 + .2byte MUS_B_DOME + .2byte 334 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattleDomePreBattleRoom/map.bin b/data/maps/BattleFrontier_BattleDomePreBattleRoom/map.bin new file mode 100644 index 0000000000..49f40213ad Binary files /dev/null and b/data/maps/BattleFrontier_BattleDomePreBattleRoom/map.bin differ diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/border.bin b/data/maps/BattleFrontier_BattleFactoryBattleRoom/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattleFactoryBattleRoom/border.bin differ diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/header.inc b/data/maps/BattleFrontier_BattleFactoryBattleRoom/header.inc new file mode 100644 index 0000000000..51aa2cb063 --- /dev/null +++ b/data/maps/BattleFrontier_BattleFactoryBattleRoom/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattleFactoryBattleRoom: @ 84854D8 + .4byte BattleFrontier_BattleFactoryBattleRoom_MapAttributes + .4byte BattleFrontier_BattleFactoryBattleRoom_MapEvents + .4byte BattleFrontier_BattleFactoryBattleRoom_MapScripts + .4byte 0x0 + .2byte MUS_B_FACTORY + .2byte 348 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/map.bin b/data/maps/BattleFrontier_BattleFactoryBattleRoom/map.bin new file mode 100644 index 0000000000..feffbf038c Binary files /dev/null and b/data/maps/BattleFrontier_BattleFactoryBattleRoom/map.bin differ diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/border.bin b/data/maps/BattleFrontier_BattleFactoryLobby/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattleFactoryLobby/border.bin differ diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/header.inc b/data/maps/BattleFrontier_BattleFactoryLobby/header.inc new file mode 100644 index 0000000000..f4304d5794 --- /dev/null +++ b/data/maps/BattleFrontier_BattleFactoryLobby/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattleFactoryLobby: @ 84854A0 + .4byte BattleFrontier_BattleFactoryLobby_MapAttributes + .4byte BattleFrontier_BattleFactoryLobby_MapEvents + .4byte BattleFrontier_BattleFactoryLobby_MapScripts + .4byte 0x0 + .2byte MUS_B_FACTORY + .2byte 346 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/map.bin b/data/maps/BattleFrontier_BattleFactoryLobby/map.bin new file mode 100644 index 0000000000..66037e3027 --- /dev/null +++ b/data/maps/BattleFrontier_BattleFactoryLobby/map.bin @@ -0,0 +1,2 @@ +#""#"""#"""#""#$()$(%)$(%)$()$*+,*+,9<S234KTUVK234S<<A:`S\3]3^3LO;I22a-.=3202;/-432432 4!_1 4!3323322XYZ22532222PQR273243222222222222222228332222222222222222@4322222222  +  H \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/border.bin b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/border.bin differ diff --git a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/header.inc b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/header.inc new file mode 100644 index 0000000000..debeb0c12a --- /dev/null +++ b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattleFactoryPreBattleRoom: @ 84854BC + .4byte BattleFrontier_BattleFactoryPreBattleRoom_MapAttributes + .4byte BattleFrontier_BattleFactoryPreBattleRoom_MapEvents + .4byte BattleFrontier_BattleFactoryPreBattleRoom_MapScripts + .4byte 0x0 + .2byte MUS_B_FACTORY + .2byte 347 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/map.bin b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/map.bin new file mode 100644 index 0000000000..15e97cb30a --- /dev/null +++ b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/map.bin @@ -0,0 +1,2 @@ +01BR%&'JRR=>?-./ //=>?]^_*+,*+,ABCOMN234234DEFS\UVSSSHIJS`abcdDhijkl3L4PQ33PQXY Z[4&'4 XY&'3&'3  + \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/border.bin b/data/maps/BattleFrontier_BattlePalaceBattleRoom/border.bin new file mode 100644 index 0000000000..9afd13cdc0 Binary files /dev/null and b/data/maps/BattleFrontier_BattlePalaceBattleRoom/border.bin differ diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/header.inc b/data/maps/BattleFrontier_BattlePalaceBattleRoom/header.inc new file mode 100644 index 0000000000..99c95d07dd --- /dev/null +++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattlePalaceBattleRoom: @ 84853DC + .4byte BattleFrontier_BattlePalaceBattleRoom_MapAttributes + .4byte BattleFrontier_BattlePalaceBattleRoom_MapEvents + .4byte BattleFrontier_BattlePalaceBattleRoom_MapScripts + .4byte 0x0 + .2byte MUS_B_PALACE + .2byte 344 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/map.bin b/data/maps/BattleFrontier_BattlePalaceBattleRoom/map.bin new file mode 100644 index 0000000000..58d0a581f9 --- /dev/null +++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/map.bin @@ -0,0 +1 @@ +K2L2?6K2L2?6K2L2?6K2L2?6H6I2JM2N2G6M2N2G6M2N2G6M2N2G6P6Q2RU2V2O6U2V2O6U2V2O6U2V2O61111X2Y6Z6[6\6]6^6112222&2`6a6b6c6d6e6f612222&21hijklmn12222pqrstuv12222xyz{|}~1222212222ppppppppp \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattlePalaceCorridor/border.bin b/data/maps/BattleFrontier_BattlePalaceCorridor/border.bin new file mode 100644 index 0000000000..9afd13cdc0 Binary files /dev/null and b/data/maps/BattleFrontier_BattlePalaceCorridor/border.bin differ diff --git a/data/maps/BattleFrontier_BattlePalaceCorridor/header.inc b/data/maps/BattleFrontier_BattlePalaceCorridor/header.inc new file mode 100644 index 0000000000..4dec7d651f --- /dev/null +++ b/data/maps/BattleFrontier_BattlePalaceCorridor/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattlePalaceCorridor: @ 84853C0 + .4byte BattleFrontier_BattlePalaceCorridor_MapAttributes + .4byte BattleFrontier_BattlePalaceCorridor_MapEvents + .4byte BattleFrontier_BattlePalaceCorridor_MapScripts + .4byte 0x0 + .2byte MUS_B_PALACE + .2byte 343 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattlePalaceCorridor/map.bin b/data/maps/BattleFrontier_BattlePalaceCorridor/map.bin new file mode 100644 index 0000000000..f2bc6aca4a Binary files /dev/null and b/data/maps/BattleFrontier_BattlePalaceCorridor/map.bin differ diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/border.bin b/data/maps/BattleFrontier_BattlePalaceLobby/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattlePalaceLobby/border.bin differ diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/header.inc b/data/maps/BattleFrontier_BattlePalaceLobby/header.inc new file mode 100644 index 0000000000..4bf9326b7c --- /dev/null +++ b/data/maps/BattleFrontier_BattlePalaceLobby/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattlePalaceLobby: @ 84853A4 + .4byte BattleFrontier_BattlePalaceLobby_MapAttributes + .4byte BattleFrontier_BattlePalaceLobby_MapEvents + .4byte BattleFrontier_BattlePalaceLobby_MapScripts + .4byte 0x0 + .2byte MUS_B_PALACE + .2byte 342 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/map.bin b/data/maps/BattleFrontier_BattlePalaceLobby/map.bin new file mode 100644 index 0000000000..cda8ff10eb --- /dev/null +++ b/data/maps/BattleFrontier_BattlePalaceLobby/map.bin @@ -0,0 +1,7 @@ +  +   +    +     +     +    +   6   6 2 2 2 6 2 2 2 2 6666 2 6 2 2 2 6 2  6 6   666 6 2 6666 2 666 6 2  6 666 6626 66 6#6$6%66 6626 666 6 !@A+,- !@A)*)*1"1" \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattlePikeCorridor/border.bin b/data/maps/BattleFrontier_BattlePikeCorridor/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattlePikeCorridor/border.bin differ diff --git a/data/maps/BattleFrontier_BattlePikeCorridor/header.inc b/data/maps/BattleFrontier_BattlePikeCorridor/header.inc new file mode 100644 index 0000000000..f2bf0501b6 --- /dev/null +++ b/data/maps/BattleFrontier_BattlePikeCorridor/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattlePikeCorridor: @ 8485510 + .4byte BattleFrontier_BattlePikeCorridor_MapAttributes + .4byte BattleFrontier_BattlePikeCorridor_MapEvents + .4byte BattleFrontier_BattlePikeCorridor_MapScripts + .4byte 0x0 + .2byte MUS_B_TUBE + .2byte 350 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 4 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattlePikeCorridor/map.bin b/data/maps/BattleFrontier_BattlePikeCorridor/map.bin new file mode 100644 index 0000000000..5e02c145b0 --- /dev/null +++ b/data/maps/BattleFrontier_BattlePikeCorridor/map.bin @@ -0,0 +1 @@ +666666666$2%222,22222,222222222222222222222222222222222222222222 \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattlePikeLobby/border.bin b/data/maps/BattleFrontier_BattlePikeLobby/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattlePikeLobby/border.bin differ diff --git a/data/maps/BattleFrontier_BattlePikeLobby/header.inc b/data/maps/BattleFrontier_BattlePikeLobby/header.inc new file mode 100644 index 0000000000..2b7709152f --- /dev/null +++ b/data/maps/BattleFrontier_BattlePikeLobby/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattlePikeLobby: @ 84854F4 + .4byte BattleFrontier_BattlePikeLobby_MapAttributes + .4byte BattleFrontier_BattlePikeLobby_MapEvents + .4byte BattleFrontier_BattlePikeLobby_MapScripts + .4byte 0x0 + .2byte MUS_B_TUBE + .2byte 349 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattlePikeLobby/map.bin b/data/maps/BattleFrontier_BattlePikeLobby/map.bin new file mode 100644 index 0000000000..4cbdfb405c --- /dev/null +++ b/data/maps/BattleFrontier_BattlePikeLobby/map.bin @@ -0,0 +1 @@ +666666666666666666*+,()23422201:3;3<3222832932222 2 22222222 3!3"322222 2222222 2 22 222 22 222222222222 2222222 222222222222222 333 222 \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom1/border.bin b/data/maps/BattleFrontier_BattlePikeRandomRoom1/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattlePikeRandomRoom1/border.bin differ diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom1/header.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom1/header.inc new file mode 100644 index 0000000000..89c74c18a0 --- /dev/null +++ b/data/maps/BattleFrontier_BattlePikeRandomRoom1/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattlePikeRandomRoom1: @ 8485548 + .4byte BattleFrontier_BattlePikeRandomRoom1_MapAttributes + .4byte BattleFrontier_BattlePikeRandomRoom1_MapEvents + .4byte BattleFrontier_BattlePikeRandomRoom1_MapScripts + .4byte 0x0 + .2byte MUS_B_TUBE + .2byte 352 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 4 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom1/map.bin b/data/maps/BattleFrontier_BattlePikeRandomRoom1/map.bin new file mode 100644 index 0000000000..142150cbe2 --- /dev/null +++ b/data/maps/BattleFrontier_BattlePikeRandomRoom1/map.bin @@ -0,0 +1 @@ +66666662666622,222,2222222222222322232222-222-22 \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom2/border.bin b/data/maps/BattleFrontier_BattlePikeRandomRoom2/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattlePikeRandomRoom2/border.bin differ diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom2/header.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom2/header.inc new file mode 100644 index 0000000000..425df7bcb0 --- /dev/null +++ b/data/maps/BattleFrontier_BattlePikeRandomRoom2/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattlePikeRandomRoom2: @ 8485564 + .4byte BattleFrontier_BattlePikeRandomRoom2_MapAttributes + .4byte BattleFrontier_BattlePikeRandomRoom2_MapEvents + .4byte BattleFrontier_BattlePikeRandomRoom2_MapScripts + .4byte 0x0 + .2byte MUS_B_TUBE + .2byte 353 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 4 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom2/map.bin b/data/maps/BattleFrontier_BattlePikeRandomRoom2/map.bin new file mode 100644 index 0000000000..27a6e52aa2 --- /dev/null +++ b/data/maps/BattleFrontier_BattlePikeRandomRoom2/map.bin @@ -0,0 +1 @@ +6666666666666665252=@3A3B3=2H3I3J3242P3Q3R32<X3Y3Z3 \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom3/border.bin b/data/maps/BattleFrontier_BattlePikeRandomRoom3/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattlePikeRandomRoom3/border.bin differ diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom3/header.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom3/header.inc new file mode 100644 index 0000000000..e3518c68ba --- /dev/null +++ b/data/maps/BattleFrontier_BattlePikeRandomRoom3/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattlePikeRandomRoom3: @ 8485580 + .4byte BattleFrontier_BattlePikeRandomRoom3_MapAttributes + .4byte BattleFrontier_BattlePikeRandomRoom3_MapEvents + .4byte BattleFrontier_BattlePikeRandomRoom3_MapScripts + .4byte 0x0 + .2byte MUS_B_TUBE + .2byte 358 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 4 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom3/map.bin b/data/maps/BattleFrontier_BattlePikeRandomRoom3/map.bin new file mode 100644 index 0000000000..8ce7f1c37e --- /dev/null +++ b/data/maps/BattleFrontier_BattlePikeRandomRoom3/map.bin @@ -0,0 +1 @@ +666662626262222222422 3222 322>22272 3 3222 3 32>22 3 3 3 3 3 3 32242 3 3 3 3 3 32 3>232 3 3 3 3 32 3>2722 3 3 3 3 32 3>23 3222222 3>322232222222 \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattlePikeThreePathRoom/border.bin b/data/maps/BattleFrontier_BattlePikeThreePathRoom/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattlePikeThreePathRoom/border.bin differ diff --git a/data/maps/BattleFrontier_BattlePikeThreePathRoom/header.inc b/data/maps/BattleFrontier_BattlePikeThreePathRoom/header.inc new file mode 100644 index 0000000000..a9e768832f --- /dev/null +++ b/data/maps/BattleFrontier_BattlePikeThreePathRoom/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattlePikeThreePathRoom: @ 848552C + .4byte BattleFrontier_BattlePikeThreePathRoom_MapAttributes + .4byte BattleFrontier_BattlePikeThreePathRoom_MapEvents + .4byte BattleFrontier_BattlePikeThreePathRoom_MapScripts + .4byte 0x0 + .2byte MUS_B_TUBE + .2byte 351 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 4 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattlePikeThreePathRoom/map.bin b/data/maps/BattleFrontier_BattlePikeThreePathRoom/map.bin new file mode 100644 index 0000000000..9618fe22a7 --- /dev/null +++ b/data/maps/BattleFrontier_BattlePikeThreePathRoom/map.bin @@ -0,0 +1 @@ +6626262622222222222222222222222222222222222222222222222222222222222222223222232222222-2222-2222 \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/border.bin b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/border.bin differ diff --git a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/header.inc b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/header.inc new file mode 100644 index 0000000000..150d9cc03b --- /dev/null +++ b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattlePointExchangeServiceCorner: @ 84855D4 + .4byte BattleFrontier_BattlePointExchangeServiceCorner_MapAttributes + .4byte BattleFrontier_BattlePointExchangeServiceCorner_MapEvents + .4byte BattleFrontier_BattlePointExchangeServiceCorner_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 398 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/map.bin b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/map.bin new file mode 100644 index 0000000000..62d5761e0d --- /dev/null +++ b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/map.bin @@ -0,0 +1,2 @@ +  +  mnouvw \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattlePyramidEmptySquare/border.bin b/data/maps/BattleFrontier_BattlePyramidEmptySquare/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattlePyramidEmptySquare/border.bin differ diff --git a/data/maps/BattleFrontier_BattlePyramidEmptySquare/header.inc b/data/maps/BattleFrontier_BattlePyramidEmptySquare/header.inc new file mode 100644 index 0000000000..ead91f4945 --- /dev/null +++ b/data/maps/BattleFrontier_BattlePyramidEmptySquare/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattlePyramidEmptySquare: @ 8485414 + .4byte BattleFrontier_BattlePyramidEmptySquare_MapAttributes + .4byte BattleFrontier_BattlePyramidEmptySquare_MapEvents + .4byte BattleFrontier_BattlePyramidEmptySquare_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 361 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 4 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattlePyramidEmptySquare/map.bin b/data/maps/BattleFrontier_BattlePyramidEmptySquare/map.bin new file mode 100644 index 0000000000..7c224d524b --- /dev/null +++ b/data/maps/BattleFrontier_BattlePyramidEmptySquare/map.bin @@ -0,0 +1 @@ +22222222222222222222222222222222 \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/border.bin b/data/maps/BattleFrontier_BattlePyramidLobby/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattlePyramidLobby/border.bin differ diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/header.inc b/data/maps/BattleFrontier_BattlePyramidLobby/header.inc new file mode 100644 index 0000000000..ab9d35d818 --- /dev/null +++ b/data/maps/BattleFrontier_BattlePyramidLobby/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattlePyramidLobby: @ 84853F8 + .4byte BattleFrontier_BattlePyramidLobby_MapAttributes + .4byte BattleFrontier_BattlePyramidLobby_MapEvents + .4byte BattleFrontier_BattlePyramidLobby_MapScripts + .4byte 0x0 + .2byte MUS_PYRAMID + .2byte 360 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/map.bin b/data/maps/BattleFrontier_BattlePyramidLobby/map.bin new file mode 100644 index 0000000000..32f23d3de9 --- /dev/null +++ b/data/maps/BattleFrontier_BattlePyramidLobby/map.bin @@ -0,0 +1,2 @@ +FF F +FFFFFFFF F!F"FFFFFFFFFFFFF(F)F*FFFFFFFFFFFFFF0FFFFFF+FFFFF+FF0FFFFFF3FF F B F3FF0FFFBBF BF B B B B BF B1FBBBBB B B B B B B B B BBBB B B B B B B B B B B B B B B B B B BFFF#F$B%FFFF B B B B B BFFF#F$B%FFFF B B BFFF#F$B%FFFFFFFFF#F$B%FFFFFFFF#F$B%FFFFF&F B BBBB B B B B.B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B BBBB B B B B B B \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattlePyramidTop/border.bin b/data/maps/BattleFrontier_BattlePyramidTop/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattlePyramidTop/border.bin differ diff --git a/data/maps/BattleFrontier_BattlePyramidTop/header.inc b/data/maps/BattleFrontier_BattlePyramidTop/header.inc new file mode 100644 index 0000000000..fe39645105 --- /dev/null +++ b/data/maps/BattleFrontier_BattlePyramidTop/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattlePyramidTop: @ 8485430 + .4byte BattleFrontier_BattlePyramidTop_MapAttributes + .4byte BattleFrontier_BattlePyramidTop_MapEvents + .4byte BattleFrontier_BattlePyramidTop_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 378 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 4 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattlePyramidTop/map.bin b/data/maps/BattleFrontier_BattlePyramidTop/map.bin new file mode 100644 index 0000000000..dba9cf1b02 --- /dev/null +++ b/data/maps/BattleFrontier_BattlePyramidTop/map.bin @@ -0,0 +1 @@ +}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}};;;;;;;;;;;;;;;xyz{|;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;BBB;;;;;;;;;;;;;;;;;;;;;;;;;;;;8b9b@BABBB9b:b;;;;;;;;;;;;;;;;;;;;;;;;;8B9B@bAb@BIBJBAbBb9B:B;;;;;;;;;;;CCCCCCCCCC8b9b@BABHbAbPQRAbBbABBB9bFbCCCCCCCCCKKKKKKKKLBMB@bAbHBAB@bIbXbYbXbIbBbABBBAbBbMBNBKKKKKKKSSSSSSTU@BAB@bIb@BIBPZZQZZRIBBBAbBbABBBUVSSSSS[[[[\]@AHBAB@bIb@BIBXBXBXBYBXBXBXBIBBBIbBbABBBAB]^[[[[[\]@A@AHBAB@bIbPZZZZQZZZZRIbBbIBBBIBAB]^[\^@A@AHA@BAB@bIbXbXbXbXbXbYbXbXbXbXbXbIbBbIBBBIBIBAB^@B@AHAHA@BABPZZZZZZQZZZZZZRIBBBIBIBIBBHAHAHA@AHBABXBXBXBXBXBXBXBYBXBXBXBXBXBXBXBIBBBIBIBIBIHAHA@AHAPZZZZZZZZZZZZZZZZZRIBIBIBI@A@AHAHAXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBIBIBIBIHAHAHAPZZZZZZZZZZZZZZZZZZZZZRIBIBIHAHAHAXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBIBIBIHAHAPZZZZZZZZZZZZZZZZZZZZZZZZZRIBI \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/border.bin b/data/maps/BattleFrontier_BattleTowerBattleRoom/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattleTowerBattleRoom/border.bin differ diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/header.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom/header.inc new file mode 100644 index 0000000000..bc54d421a0 --- /dev/null +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattleTowerBattleRoom: @ 848521C + .4byte BattleFrontier_BattleTowerBattleRoom_MapAttributes + .4byte BattleFrontier_BattleTowerBattleRoom_MapEvents + .4byte BattleFrontier_BattleTowerBattleRoom_MapScripts + .4byte 0x0 + .2byte MUS_SATTOWER + .2byte 268 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 8 + diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/map.bin b/data/maps/BattleFrontier_BattleTowerBattleRoom/map.bin new file mode 100644 index 0000000000..42d99b5a6c --- /dev/null +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/map.bin @@ -0,0 +1 @@ +///LMMN///?77TU2U2V77?G<2<2<2<2<2<2<2<2;2:2H2B2I2J2B2K2:2:2;2:2D2P2Q2R2S2E2:2:2;2:2D2X2Y2Z2[2E2:2:2;2:2D2`2a2b2c2E2:2:2~2:2@2C21292C2A2:2>2:2:2:222:2:2:2F \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom2/header.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom2/header.inc new file mode 100644 index 0000000000..b9e17e9aa6 --- /dev/null +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom2/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattleTowerBattleRoom2: @ 8485318 + .4byte BattleFrontier_BattleTowerBattleRoom2_MapAttributes + .4byte BattleFrontier_BattleTowerBattleRoom2_MapEvents + .4byte BattleFrontier_BattleTowerBattleRoom2_MapScripts + .4byte 0x0 + .2byte MUS_SATTOWER + .2byte 268 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 8 + diff --git a/data/maps/BattleFrontier_BattleTowerCorridor/border.bin b/data/maps/BattleFrontier_BattleTowerCorridor/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattleTowerCorridor/border.bin differ diff --git a/data/maps/BattleFrontier_BattleTowerCorridor/header.inc b/data/maps/BattleFrontier_BattleTowerCorridor/header.inc new file mode 100644 index 0000000000..f72c8fe292 --- /dev/null +++ b/data/maps/BattleFrontier_BattleTowerCorridor/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattleTowerCorridor: @ 8485200 + .4byte BattleFrontier_BattleTowerCorridor_MapAttributes + .4byte BattleFrontier_BattleTowerCorridor_MapEvents + .4byte BattleFrontier_BattleTowerCorridor_MapScripts + .4byte 0x0 + .2byte MUS_SATTOWER + .2byte 267 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattleTowerCorridor/map.bin b/data/maps/BattleFrontier_BattleTowerCorridor/map.bin new file mode 100644 index 0000000000..0b0803f91a Binary files /dev/null and b/data/maps/BattleFrontier_BattleTowerCorridor/map.bin differ diff --git a/data/maps/BattleFrontier_BattleTowerCorridor2/border.bin b/data/maps/BattleFrontier_BattleTowerCorridor2/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattleTowerCorridor2/border.bin differ diff --git a/data/maps/BattleFrontier_BattleTowerCorridor2/header.inc b/data/maps/BattleFrontier_BattleTowerCorridor2/header.inc new file mode 100644 index 0000000000..6332bc83b7 --- /dev/null +++ b/data/maps/BattleFrontier_BattleTowerCorridor2/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattleTowerCorridor2: @ 84852FC + .4byte BattleFrontier_BattleTowerCorridor2_MapAttributes + .4byte BattleFrontier_BattleTowerCorridor2_MapEvents + .4byte BattleFrontier_BattleTowerCorridor2_MapScripts + .4byte 0x0 + .2byte MUS_SATTOWER + .2byte 391 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattleTowerCorridor2/map.bin b/data/maps/BattleFrontier_BattleTowerCorridor2/map.bin new file mode 100644 index 0000000000..87e93b6404 Binary files /dev/null and b/data/maps/BattleFrontier_BattleTowerCorridor2/map.bin differ diff --git a/data/maps/BattleFrontier_BattleTowerElevator/border.bin b/data/maps/BattleFrontier_BattleTowerElevator/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattleTowerElevator/border.bin differ diff --git a/data/maps/BattleFrontier_BattleTowerElevator/header.inc b/data/maps/BattleFrontier_BattleTowerElevator/header.inc new file mode 100644 index 0000000000..1dd6b495ec --- /dev/null +++ b/data/maps/BattleFrontier_BattleTowerElevator/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattleTowerElevator: @ 84851E4 + .4byte BattleFrontier_BattleTowerElevator_MapAttributes + .4byte BattleFrontier_BattleTowerElevator_MapEvents + .4byte BattleFrontier_BattleTowerElevator_MapScripts + .4byte 0x0 + .2byte MUS_SATTOWER + .2byte 266 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattleTowerElevator/map.bin b/data/maps/BattleFrontier_BattleTowerElevator/map.bin new file mode 100644 index 0000000000..16dfe34aba --- /dev/null +++ b/data/maps/BattleFrontier_BattleTowerElevator/map.bin @@ -0,0 +1 @@ +(***,011148999<\2]2]2]2]2d2e2e2e2e2d2e2e2e2e2d2O2W2e2e2 \ No newline at end of file diff --git a/data/maps/BattleFrontier_BattleTowerLobby/border.bin b/data/maps/BattleFrontier_BattleTowerLobby/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattleTowerLobby/border.bin differ diff --git a/data/maps/BattleFrontier_BattleTowerLobby/header.inc b/data/maps/BattleFrontier_BattleTowerLobby/header.inc new file mode 100644 index 0000000000..94d43eb894 --- /dev/null +++ b/data/maps/BattleFrontier_BattleTowerLobby/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattleTowerLobby: @ 84851C8 + .4byte BattleFrontier_BattleTowerLobby_MapAttributes + .4byte BattleFrontier_BattleTowerLobby_MapEvents + .4byte BattleFrontier_BattleTowerLobby_MapScripts + .4byte 0x0 + .2byte MUS_SATTOWER + .2byte 264 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattleTowerLobby/map.bin b/data/maps/BattleFrontier_BattleTowerLobby/map.bin new file mode 100644 index 0000000000..77926803a1 Binary files /dev/null and b/data/maps/BattleFrontier_BattleTowerLobby/map.bin differ diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/border.bin b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/border.bin differ diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/header.inc b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/header.inc new file mode 100644 index 0000000000..293fd64187 --- /dev/null +++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_BattleTowerMultiBattleRoom: @ 84852E0 + .4byte BattleFrontier_BattleTowerMultiBattleRoom_MapAttributes + .4byte BattleFrontier_BattleTowerMultiBattleRoom_MapEvents + .4byte BattleFrontier_BattleTowerMultiBattleRoom_MapScripts + .4byte 0x0 + .2byte MUS_SATTOWER + .2byte 390 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 4 + .byte 0 + diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.bin b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.bin new file mode 100644 index 0000000000..b0a58e0161 Binary files /dev/null and b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.bin differ diff --git a/data/maps/BattleFrontier_Lounge1/border.bin b/data/maps/BattleFrontier_Lounge1/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_Lounge1/border.bin differ diff --git a/data/maps/BattleFrontier_Lounge1/header.inc b/data/maps/BattleFrontier_Lounge1/header.inc new file mode 100644 index 0000000000..97eb721b69 --- /dev/null +++ b/data/maps/BattleFrontier_Lounge1/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_Lounge1: @ 84855B8 + .4byte BattleFrontier_Lounge1_MapAttributes + .4byte BattleFrontier_Lounge1_MapEvents + .4byte BattleFrontier_Lounge1_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 429 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_Lounge1/map.bin b/data/maps/BattleFrontier_Lounge1/map.bin new file mode 100644 index 0000000000..f5f1745b15 --- /dev/null +++ b/data/maps/BattleFrontier_Lounge1/map.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/BattleFrontier_Lounge2/border.bin b/data/maps/BattleFrontier_Lounge2/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_Lounge2/border.bin differ diff --git a/data/maps/BattleFrontier_Lounge2/header.inc b/data/maps/BattleFrontier_Lounge2/header.inc new file mode 100644 index 0000000000..b5a1367b5d --- /dev/null +++ b/data/maps/BattleFrontier_Lounge2/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_Lounge2: @ 84855F0 + .4byte BattleFrontier_Lounge2_MapAttributes + .4byte BattleFrontier_Lounge2_MapEvents + .4byte BattleFrontier_Lounge2_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 397 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_Lounge2/map.bin b/data/maps/BattleFrontier_Lounge2/map.bin new file mode 100644 index 0000000000..11ae8d6ee2 --- /dev/null +++ b/data/maps/BattleFrontier_Lounge2/map.bin @@ -0,0 +1 @@ +3333333333333333333333333333333333333333333333333333333333333333 \ No newline at end of file diff --git a/data/maps/BattleFrontier_Lounge3/header.inc b/data/maps/BattleFrontier_Lounge3/header.inc new file mode 100644 index 0000000000..21cd2cc381 --- /dev/null +++ b/data/maps/BattleFrontier_Lounge3/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_Lounge3: @ 848560C + .4byte BattleFrontier_Lounge3_MapAttributes + .4byte BattleFrontier_Lounge3_MapEvents + .4byte BattleFrontier_Lounge3_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 429 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_Lounge4/header.inc b/data/maps/BattleFrontier_Lounge4/header.inc new file mode 100644 index 0000000000..e550557ca8 --- /dev/null +++ b/data/maps/BattleFrontier_Lounge4/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_Lounge4: @ 8485628 + .4byte BattleFrontier_Lounge4_MapAttributes + .4byte BattleFrontier_Lounge4_MapEvents + .4byte BattleFrontier_Lounge4_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 429 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_Lounge5/header.inc b/data/maps/BattleFrontier_Lounge5/header.inc new file mode 100644 index 0000000000..dbe0afa673 --- /dev/null +++ b/data/maps/BattleFrontier_Lounge5/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_Lounge5: @ 8485660 + .4byte BattleFrontier_Lounge5_MapAttributes + .4byte BattleFrontier_Lounge5_MapEvents + .4byte BattleFrontier_Lounge5_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 397 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_Lounge6/header.inc b/data/maps/BattleFrontier_Lounge6/header.inc new file mode 100644 index 0000000000..c41376cfda --- /dev/null +++ b/data/maps/BattleFrontier_Lounge6/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_Lounge6: @ 848567C + .4byte BattleFrontier_Lounge6_MapAttributes + .4byte BattleFrontier_Lounge6_MapEvents + .4byte BattleFrontier_Lounge6_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 429 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_Lounge7/header.inc b/data/maps/BattleFrontier_Lounge7/header.inc new file mode 100644 index 0000000000..0348fd64c4 --- /dev/null +++ b/data/maps/BattleFrontier_Lounge7/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_Lounge7: @ 8485698 + .4byte BattleFrontier_Lounge7_MapAttributes + .4byte BattleFrontier_Lounge7_MapEvents + .4byte BattleFrontier_Lounge7_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 429 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_Lounge8/header.inc b/data/maps/BattleFrontier_Lounge8/header.inc new file mode 100644 index 0000000000..9ec0f336f2 --- /dev/null +++ b/data/maps/BattleFrontier_Lounge8/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_Lounge8: @ 84856D0 + .4byte BattleFrontier_Lounge8_MapAttributes + .4byte BattleFrontier_Lounge8_MapEvents + .4byte BattleFrontier_Lounge8_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 429 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_Lounge9/header.inc b/data/maps/BattleFrontier_Lounge9/header.inc new file mode 100644 index 0000000000..d88f400951 --- /dev/null +++ b/data/maps/BattleFrontier_Lounge9/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_Lounge9: @ 84856EC + .4byte BattleFrontier_Lounge9_MapAttributes + .4byte BattleFrontier_Lounge9_MapEvents + .4byte BattleFrontier_Lounge9_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 429 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_Mart/header.inc b/data/maps/BattleFrontier_Mart/header.inc new file mode 100644 index 0000000000..b0cd11e408 --- /dev/null +++ b/data/maps/BattleFrontier_Mart/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_Mart: @ 8485740 + .4byte BattleFrontier_Mart_MapAttributes + .4byte BattleFrontier_Mart_MapEvents + .4byte BattleFrontier_Mart_MapScripts + .4byte 0x0 + .2byte MUS_FRIENDLY + .2byte 63 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_OutsideEast/border.bin b/data/maps/BattleFrontier_OutsideEast/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/BattleFrontier_OutsideEast/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/BattleFrontier_OutsideEast/connections.inc b/data/maps/BattleFrontier_OutsideEast/connections.inc new file mode 100644 index 0000000000..5bc70f3b44 --- /dev/null +++ b/data/maps/BattleFrontier_OutsideEast/connections.inc @@ -0,0 +1,7 @@ +BattleFrontier_OutsideEast_MapConnectionsList: @ 8486EE4 + connection left, 0, BATTLE_FRONTIER_OUTSIDE_WEST, 0 + +BattleFrontier_OutsideEast_MapConnections: @ 8486EF0 + .4byte 0x1 + .4byte BattleFrontier_OutsideEast_MapConnectionsList + diff --git a/data/maps/BattleFrontier_OutsideEast/header.inc b/data/maps/BattleFrontier_OutsideEast/header.inc new file mode 100644 index 0000000000..f40bfc1f32 --- /dev/null +++ b/data/maps/BattleFrontier_OutsideEast/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_OutsideEast: @ 84852C4 + .4byte BattleFrontier_OutsideEast_MapAttributes + .4byte BattleFrontier_OutsideEast_MapEvents + .4byte BattleFrontier_OutsideEast_MapScripts + .4byte BattleFrontier_OutsideEast_MapConnections + .2byte MUS_B_FRONTIER + .2byte 345 + .byte 58 + .byte 0 + .byte 0 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/BattleFrontier_OutsideEast/map.bin b/data/maps/BattleFrontier_OutsideEast/map.bin new file mode 100644 index 0000000000..b073c4585b Binary files /dev/null and b/data/maps/BattleFrontier_OutsideEast/map.bin differ diff --git a/data/maps/BattleFrontier_OutsideWest/border.bin b/data/maps/BattleFrontier_OutsideWest/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/BattleFrontier_OutsideWest/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/BattleFrontier_OutsideWest/connections.inc b/data/maps/BattleFrontier_OutsideWest/connections.inc new file mode 100644 index 0000000000..2ec2e4348d --- /dev/null +++ b/data/maps/BattleFrontier_OutsideWest/connections.inc @@ -0,0 +1,7 @@ +BattleFrontier_OutsideWest_MapConnectionsList: @ 8486ED0 + connection right, 0, BATTLE_FRONTIER_OUTSIDE_EAST, 0 + +BattleFrontier_OutsideWest_MapConnections: @ 8486EDC + .4byte 0x1 + .4byte BattleFrontier_OutsideWest_MapConnectionsList + diff --git a/data/maps/BattleFrontier_OutsideWest/header.inc b/data/maps/BattleFrontier_OutsideWest/header.inc new file mode 100644 index 0000000000..24f1ce14bf --- /dev/null +++ b/data/maps/BattleFrontier_OutsideWest/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_OutsideWest: @ 84851AC + .4byte BattleFrontier_OutsideWest_MapAttributes + .4byte BattleFrontier_OutsideWest_MapEvents + .4byte BattleFrontier_OutsideWest_MapScripts + .4byte BattleFrontier_OutsideWest_MapConnections + .2byte MUS_B_FRONTIER + .2byte 265 + .byte 58 + .byte 0 + .byte 0 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/BattleFrontier_OutsideWest/map.bin b/data/maps/BattleFrontier_OutsideWest/map.bin new file mode 100644 index 0000000000..d43111bda9 Binary files /dev/null and b/data/maps/BattleFrontier_OutsideWest/map.bin differ diff --git a/data/maps/BattleFrontier_PokemonCenter_1F/header.inc b/data/maps/BattleFrontier_PokemonCenter_1F/header.inc new file mode 100644 index 0000000000..561aba67ea --- /dev/null +++ b/data/maps/BattleFrontier_PokemonCenter_1F/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_PokemonCenter_1F: @ 8485708 + .4byte BattleFrontier_PokemonCenter_1F_MapAttributes + .4byte BattleFrontier_PokemonCenter_1F_MapEvents + .4byte BattleFrontier_PokemonCenter_1F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 61 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_PokemonCenter_2F/header.inc b/data/maps/BattleFrontier_PokemonCenter_2F/header.inc new file mode 100644 index 0000000000..6aa965d08b --- /dev/null +++ b/data/maps/BattleFrontier_PokemonCenter_2F/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_PokemonCenter_2F: @ 8485724 + .4byte BattleFrontier_PokemonCenter_2F_MapAttributes + .4byte BattleFrontier_PokemonCenter_2F_MapEvents + .4byte BattleFrontier_PokemonCenter_2F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 62 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_RankingHall/border.bin b/data/maps/BattleFrontier_RankingHall/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_RankingHall/border.bin differ diff --git a/data/maps/BattleFrontier_RankingHall/header.inc b/data/maps/BattleFrontier_RankingHall/header.inc new file mode 100644 index 0000000000..b068fbacc7 --- /dev/null +++ b/data/maps/BattleFrontier_RankingHall/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_RankingHall: @ 848559C + .4byte BattleFrontier_RankingHall_MapAttributes + .4byte BattleFrontier_RankingHall_MapEvents + .4byte BattleFrontier_RankingHall_MapScripts + .4byte 0x0 + .2byte MUS_BIJYUTU + .2byte 396 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_RankingHall/map.bin b/data/maps/BattleFrontier_RankingHall/map.bin new file mode 100644 index 0000000000..df32e06657 --- /dev/null +++ b/data/maps/BattleFrontier_RankingHall/map.bin @@ -0,0 +1,64 @@ +(((((00000((((($88888%(((((00000&'2222222&'00000$88888%A2 2 +2 2 +22 +2 2 +2 2F2$88888%2222222I222222222N22222222&' 2 2 +22 +2 2 +2&'((("# 2 2 +2 2 +2 2 +2 2 +2 2 +2"#(((&' 2 +2 22 2 +2 2&'+22222222220P02222222222222220Q0222222222232 2 +22 +2 2 +22 +2 2 +2$8X8% 2 2 +2 2 2K2L2M2 2 2 +2 2 +2$8Y8% 2 2 +22 +2 2 +22 +2 2 +2+22222222222222222222STU2222222222222222222232 2 +2 2 +2 2 +2 2 +2 2 +2 2 +2 2 +2 2 +2 2 +2 2 +2 2[2\2]2 2 +2 2 +2 2 +2 2 +2 2 +2 2 +2 2 +2 2 +2 2 +2 2 +2 2 +22222222222222222222222222222222222222,2-2 +2 2 +2.2/2 +2 2 +2 2 +2 2 +2 2 +2 2 +2 +2;2 +2;2 +2;2 +242522226272222222222222C22C22C22 +2 2 +200 2 +2 \ No newline at end of file diff --git a/data/maps/BattleFrontier_ReceptionGate/border.bin b/data/maps/BattleFrontier_ReceptionGate/border.bin new file mode 100644 index 0000000000..9afd13cdc0 Binary files /dev/null and b/data/maps/BattleFrontier_ReceptionGate/border.bin differ diff --git a/data/maps/BattleFrontier_ReceptionGate/header.inc b/data/maps/BattleFrontier_ReceptionGate/header.inc new file mode 100644 index 0000000000..32387ef0d7 --- /dev/null +++ b/data/maps/BattleFrontier_ReceptionGate/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_ReceptionGate: @ 84856B4 + .4byte BattleFrontier_ReceptionGate_MapAttributes + .4byte BattleFrontier_ReceptionGate_MapEvents + .4byte BattleFrontier_ReceptionGate_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 399 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_ReceptionGate/map.bin b/data/maps/BattleFrontier_ReceptionGate/map.bin new file mode 100644 index 0000000000..2b75ea8510 Binary files /dev/null and b/data/maps/BattleFrontier_ReceptionGate/map.bin differ diff --git a/data/maps/BattleFrontier_ScottsHouse/border.bin b/data/maps/BattleFrontier_ScottsHouse/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattleFrontier_ScottsHouse/border.bin differ diff --git a/data/maps/BattleFrontier_ScottsHouse/header.inc b/data/maps/BattleFrontier_ScottsHouse/header.inc new file mode 100644 index 0000000000..1ac7c95244 --- /dev/null +++ b/data/maps/BattleFrontier_ScottsHouse/header.inc @@ -0,0 +1,15 @@ +BattleFrontier_ScottsHouse: @ 8485644 + .4byte BattleFrontier_ScottsHouse_MapAttributes + .4byte BattleFrontier_ScottsHouse_MapEvents + .4byte BattleFrontier_ScottsHouse_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 430 + .byte 58 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BattleFrontier_ScottsHouse/map.bin b/data/maps/BattleFrontier_ScottsHouse/map.bin new file mode 100644 index 0000000000..8844e94dd7 --- /dev/null +++ b/data/maps/BattleFrontier_ScottsHouse/map.bin @@ -0,0 +1 @@ +33 \ No newline at end of file diff --git a/data/maps/BattlePyramidSquare01/border.bin b/data/maps/BattlePyramidSquare01/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattlePyramidSquare01/border.bin differ diff --git a/data/maps/BattlePyramidSquare01/header.inc b/data/maps/BattlePyramidSquare01/header.inc new file mode 100644 index 0000000000..94605c92c1 --- /dev/null +++ b/data/maps/BattlePyramidSquare01/header.inc @@ -0,0 +1,15 @@ +BattlePyramidSquare01: @ 8484F60 + .4byte BattlePyramidSquare01_MapAttributes + .4byte BattlePyramidSquare01_MapEvents + .4byte BattlePyramidSquare01_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 362 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/BattlePyramidSquare01/map.bin b/data/maps/BattlePyramidSquare01/map.bin new file mode 100644 index 0000000000..586ccbdbd3 --- /dev/null +++ b/data/maps/BattlePyramidSquare01/map.bin @@ -0,0 +1 @@ +BBBBBBBBBBBBBBaBB`tjBBsBBsBBBBsBBsBBBBsBBsBBhtrBBqBBBBBBBBBBBBBB \ No newline at end of file diff --git a/data/maps/BattlePyramidSquare02/border.bin b/data/maps/BattlePyramidSquare02/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattlePyramidSquare02/border.bin differ diff --git a/data/maps/BattlePyramidSquare02/header.inc b/data/maps/BattlePyramidSquare02/header.inc new file mode 100644 index 0000000000..44a5e7a99b --- /dev/null +++ b/data/maps/BattlePyramidSquare02/header.inc @@ -0,0 +1,15 @@ +BattlePyramidSquare02: @ 8484F7C + .4byte BattlePyramidSquare02_MapAttributes + .4byte BattlePyramidSquare02_MapEvents + .4byte BattlePyramidSquare02_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 363 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/BattlePyramidSquare02/map.bin b/data/maps/BattlePyramidSquare02/map.bin new file mode 100644 index 0000000000..5a9b8d4ceb --- /dev/null +++ b/data/maps/BattlePyramidSquare02/map.bin @@ -0,0 +1 @@ +BBhtttjBBBBBBBBBBBBBBBBBaBBBBBaBsBBBBqBsBBBBBBBsBBBBBBBptjBhjBB \ No newline at end of file diff --git a/data/maps/BattlePyramidSquare03/border.bin b/data/maps/BattlePyramidSquare03/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattlePyramidSquare03/border.bin differ diff --git a/data/maps/BattlePyramidSquare03/header.inc b/data/maps/BattlePyramidSquare03/header.inc new file mode 100644 index 0000000000..300825ffa7 --- /dev/null +++ b/data/maps/BattlePyramidSquare03/header.inc @@ -0,0 +1,15 @@ +BattlePyramidSquare03: @ 8484F98 + .4byte BattlePyramidSquare03_MapAttributes + .4byte BattlePyramidSquare03_MapEvents + .4byte BattlePyramidSquare03_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 364 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/BattlePyramidSquare03/map.bin b/data/maps/BattlePyramidSquare03/map.bin new file mode 100644 index 0000000000..903b8a49b2 --- /dev/null +++ b/data/maps/BattlePyramidSquare03/map.bin @@ -0,0 +1 @@ +BBBBBBBBBaBBBBBBBsBBBBaBBsBBBBqBhkjBBBBBBBBBBBaBB`ttttrBBqBBBBBB \ No newline at end of file diff --git a/data/maps/BattlePyramidSquare04/border.bin b/data/maps/BattlePyramidSquare04/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattlePyramidSquare04/border.bin differ diff --git a/data/maps/BattlePyramidSquare04/header.inc b/data/maps/BattlePyramidSquare04/header.inc new file mode 100644 index 0000000000..4031f62e3b --- /dev/null +++ b/data/maps/BattlePyramidSquare04/header.inc @@ -0,0 +1,15 @@ +BattlePyramidSquare04: @ 8484FB4 + .4byte BattlePyramidSquare04_MapAttributes + .4byte BattlePyramidSquare04_MapEvents + .4byte BattlePyramidSquare04_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 365 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/BattlePyramidSquare04/map.bin b/data/maps/BattlePyramidSquare04/map.bin new file mode 100644 index 0000000000..32a2645461 --- /dev/null +++ b/data/maps/BattlePyramidSquare04/map.bin @@ -0,0 +1 @@ +BBBBBBBBB`ttttjBBsBBBBBBBqBBBBBBBBBBBBBBBaBBBBBBBqBBBBBBBBBBBBBB \ No newline at end of file diff --git a/data/maps/BattlePyramidSquare05/border.bin b/data/maps/BattlePyramidSquare05/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattlePyramidSquare05/border.bin differ diff --git a/data/maps/BattlePyramidSquare05/header.inc b/data/maps/BattlePyramidSquare05/header.inc new file mode 100644 index 0000000000..72575d629b --- /dev/null +++ b/data/maps/BattlePyramidSquare05/header.inc @@ -0,0 +1,15 @@ +BattlePyramidSquare05: @ 8484FD0 + .4byte BattlePyramidSquare05_MapAttributes + .4byte BattlePyramidSquare05_MapEvents + .4byte BattlePyramidSquare05_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 366 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/BattlePyramidSquare05/map.bin b/data/maps/BattlePyramidSquare05/map.bin new file mode 100644 index 0000000000..d6c5a6897b --- /dev/null +++ b/data/maps/BattlePyramidSquare05/map.bin @@ -0,0 +1 @@ +BBBBBBBBBhbBBBBBBBsBBaBBBBsBBsBBBBsBBsBBBBqBBsBBBBBBpjBBBBBBBBB \ No newline at end of file diff --git a/data/maps/BattlePyramidSquare06/border.bin b/data/maps/BattlePyramidSquare06/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattlePyramidSquare06/border.bin differ diff --git a/data/maps/BattlePyramidSquare06/header.inc b/data/maps/BattlePyramidSquare06/header.inc new file mode 100644 index 0000000000..8d0fa49b12 --- /dev/null +++ b/data/maps/BattlePyramidSquare06/header.inc @@ -0,0 +1,15 @@ +BattlePyramidSquare06: @ 8484FEC + .4byte BattlePyramidSquare06_MapAttributes + .4byte BattlePyramidSquare06_MapEvents + .4byte BattlePyramidSquare06_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 367 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/BattlePyramidSquare06/map.bin b/data/maps/BattlePyramidSquare06/map.bin new file mode 100644 index 0000000000..c30533aaba --- /dev/null +++ b/data/maps/BattlePyramidSquare06/map.bin @@ -0,0 +1 @@ +BBBBBBBBBaBhjBaBBsBBBBqBBqBBBBBBBBBBBaBBaBBBBsBBqBhjBqBBBBBBBBB \ No newline at end of file diff --git a/data/maps/BattlePyramidSquare07/border.bin b/data/maps/BattlePyramidSquare07/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattlePyramidSquare07/border.bin differ diff --git a/data/maps/BattlePyramidSquare07/header.inc b/data/maps/BattlePyramidSquare07/header.inc new file mode 100644 index 0000000000..12c74516a4 --- /dev/null +++ b/data/maps/BattlePyramidSquare07/header.inc @@ -0,0 +1,15 @@ +BattlePyramidSquare07: @ 8485008 + .4byte BattlePyramidSquare07_MapAttributes + .4byte BattlePyramidSquare07_MapEvents + .4byte BattlePyramidSquare07_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 368 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/BattlePyramidSquare07/map.bin b/data/maps/BattlePyramidSquare07/map.bin new file mode 100644 index 0000000000..25f9c1529a --- /dev/null +++ b/data/maps/BattlePyramidSquare07/map.bin @@ -0,0 +1 @@ +BaBBBBBBBsBBaBaBhrBBqBsBBBBBBBqBBBBBaBBhttttrBaBBBBBBBsBBBBBBBq \ No newline at end of file diff --git a/data/maps/BattlePyramidSquare08/border.bin b/data/maps/BattlePyramidSquare08/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattlePyramidSquare08/border.bin differ diff --git a/data/maps/BattlePyramidSquare08/header.inc b/data/maps/BattlePyramidSquare08/header.inc new file mode 100644 index 0000000000..cfe221f4b0 --- /dev/null +++ b/data/maps/BattlePyramidSquare08/header.inc @@ -0,0 +1,15 @@ +BattlePyramidSquare08: @ 8485024 + .4byte BattlePyramidSquare08_MapAttributes + .4byte BattlePyramidSquare08_MapEvents + .4byte BattlePyramidSquare08_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 369 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/BattlePyramidSquare08/map.bin b/data/maps/BattlePyramidSquare08/map.bin new file mode 100644 index 0000000000..86a830696a --- /dev/null +++ b/data/maps/BattlePyramidSquare08/map.bin @@ -0,0 +1 @@ +BBttttjBBBBBBBBBsBBBBBBasBBBBBssBBBBBBssBBBBBBsqBBBBBBqBBhttjB \ No newline at end of file diff --git a/data/maps/BattlePyramidSquare09/border.bin b/data/maps/BattlePyramidSquare09/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattlePyramidSquare09/border.bin differ diff --git a/data/maps/BattlePyramidSquare09/header.inc b/data/maps/BattlePyramidSquare09/header.inc new file mode 100644 index 0000000000..624b648008 --- /dev/null +++ b/data/maps/BattlePyramidSquare09/header.inc @@ -0,0 +1,15 @@ +BattlePyramidSquare09: @ 8485040 + .4byte BattlePyramidSquare09_MapAttributes + .4byte BattlePyramidSquare09_MapEvents + .4byte BattlePyramidSquare09_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 370 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/BattlePyramidSquare09/map.bin b/data/maps/BattlePyramidSquare09/map.bin new file mode 100644 index 0000000000..e4f6487048 --- /dev/null +++ b/data/maps/BattlePyramidSquare09/map.bin @@ -0,0 +1 @@ +BBaBBBBBB`rBBaBBBqBBhrBBBBBBBBBBaBBBBBa`rBBaB`rqBB`rBqBBBqBBBB \ No newline at end of file diff --git a/data/maps/BattlePyramidSquare10/border.bin b/data/maps/BattlePyramidSquare10/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattlePyramidSquare10/border.bin differ diff --git a/data/maps/BattlePyramidSquare10/header.inc b/data/maps/BattlePyramidSquare10/header.inc new file mode 100644 index 0000000000..16206bfe99 --- /dev/null +++ b/data/maps/BattlePyramidSquare10/header.inc @@ -0,0 +1,15 @@ +BattlePyramidSquare10: @ 848505C + .4byte BattlePyramidSquare10_MapAttributes + .4byte BattlePyramidSquare10_MapEvents + .4byte BattlePyramidSquare10_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 371 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/BattlePyramidSquare10/map.bin b/data/maps/BattlePyramidSquare10/map.bin new file mode 100644 index 0000000000..4aa7fd7716 --- /dev/null +++ b/data/maps/BattlePyramidSquare10/map.bin @@ -0,0 +1 @@ +BBBBhtjBBBBBBBBBBhjBhtjBBBBBBBBBhtjBhtjBBBBBBBBBhtjBBBBBBBBBBBBB \ No newline at end of file diff --git a/data/maps/BattlePyramidSquare11/border.bin b/data/maps/BattlePyramidSquare11/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattlePyramidSquare11/border.bin differ diff --git a/data/maps/BattlePyramidSquare11/header.inc b/data/maps/BattlePyramidSquare11/header.inc new file mode 100644 index 0000000000..34a53fdee7 --- /dev/null +++ b/data/maps/BattlePyramidSquare11/header.inc @@ -0,0 +1,15 @@ +BattlePyramidSquare11: @ 8485078 + .4byte BattlePyramidSquare11_MapAttributes + .4byte BattlePyramidSquare11_MapEvents + .4byte BattlePyramidSquare11_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 372 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/BattlePyramidSquare11/map.bin b/data/maps/BattlePyramidSquare11/map.bin new file mode 100644 index 0000000000..f393f51e5e --- /dev/null +++ b/data/maps/BattlePyramidSquare11/map.bin @@ -0,0 +1 @@ +BBBBBhjBBB`jBBBBBBsBBaBBhtrBBptbBBBBBqBBaBBBBBhrBBBBBBBBBhjBB \ No newline at end of file diff --git a/data/maps/BattlePyramidSquare12/border.bin b/data/maps/BattlePyramidSquare12/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattlePyramidSquare12/border.bin differ diff --git a/data/maps/BattlePyramidSquare12/header.inc b/data/maps/BattlePyramidSquare12/header.inc new file mode 100644 index 0000000000..c514b4f4fc --- /dev/null +++ b/data/maps/BattlePyramidSquare12/header.inc @@ -0,0 +1,15 @@ +BattlePyramidSquare12: @ 8485094 + .4byte BattlePyramidSquare12_MapAttributes + .4byte BattlePyramidSquare12_MapEvents + .4byte BattlePyramidSquare12_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 373 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/BattlePyramidSquare12/map.bin b/data/maps/BattlePyramidSquare12/map.bin new file mode 100644 index 0000000000..64dd969559 --- /dev/null +++ b/data/maps/BattlePyramidSquare12/map.bin @@ -0,0 +1 @@ +htjBhtjBBBBBBBBBBBBBBBBBhjBhttjBBBBBBBBBBBBBBBBBBBBBBBBhtttttjB \ No newline at end of file diff --git a/data/maps/BattlePyramidSquare13/border.bin b/data/maps/BattlePyramidSquare13/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattlePyramidSquare13/border.bin differ diff --git a/data/maps/BattlePyramidSquare13/header.inc b/data/maps/BattlePyramidSquare13/header.inc new file mode 100644 index 0000000000..23df0c29c8 --- /dev/null +++ b/data/maps/BattlePyramidSquare13/header.inc @@ -0,0 +1,15 @@ +BattlePyramidSquare13: @ 84850B0 + .4byte BattlePyramidSquare13_MapAttributes + .4byte BattlePyramidSquare13_MapEvents + .4byte BattlePyramidSquare13_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 374 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/BattlePyramidSquare13/map.bin b/data/maps/BattlePyramidSquare13/map.bin new file mode 100644 index 0000000000..5fc1485a7b --- /dev/null +++ b/data/maps/BattlePyramidSquare13/map.bin @@ -0,0 +1 @@ +aBBBaBBBsBaBsBaBqBqBsBsBBBBBqBqBBBBBBBsBsBaaBqBsBqBsBBBqBBBqB \ No newline at end of file diff --git a/data/maps/BattlePyramidSquare14/border.bin b/data/maps/BattlePyramidSquare14/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattlePyramidSquare14/border.bin differ diff --git a/data/maps/BattlePyramidSquare14/header.inc b/data/maps/BattlePyramidSquare14/header.inc new file mode 100644 index 0000000000..8570d95ef1 --- /dev/null +++ b/data/maps/BattlePyramidSquare14/header.inc @@ -0,0 +1,15 @@ +BattlePyramidSquare14: @ 84850CC + .4byte BattlePyramidSquare14_MapAttributes + .4byte BattlePyramidSquare14_MapEvents + .4byte BattlePyramidSquare14_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 375 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/BattlePyramidSquare14/map.bin b/data/maps/BattlePyramidSquare14/map.bin new file mode 100644 index 0000000000..21655a8720 --- /dev/null +++ b/data/maps/BattlePyramidSquare14/map.bin @@ -0,0 +1 @@ +BeBeBeBeBBBBBBBBeBeBeBeBBBBBBBBBeBeBeBeBBBBBBBBeBeBeBeBBBBBBBBB \ No newline at end of file diff --git a/data/maps/BattlePyramidSquare15/border.bin b/data/maps/BattlePyramidSquare15/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattlePyramidSquare15/border.bin differ diff --git a/data/maps/BattlePyramidSquare15/header.inc b/data/maps/BattlePyramidSquare15/header.inc new file mode 100644 index 0000000000..6120ec220f --- /dev/null +++ b/data/maps/BattlePyramidSquare15/header.inc @@ -0,0 +1,15 @@ +BattlePyramidSquare15: @ 84850E8 + .4byte BattlePyramidSquare15_MapAttributes + .4byte BattlePyramidSquare15_MapEvents + .4byte BattlePyramidSquare15_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 376 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/BattlePyramidSquare15/map.bin b/data/maps/BattlePyramidSquare15/map.bin new file mode 100644 index 0000000000..ccbd87d9a2 --- /dev/null +++ b/data/maps/BattlePyramidSquare15/map.bin @@ -0,0 +1 @@ +BBBeBBBeBeBBBeBBBBBeBBBeBeBBeBBBBBeBBBeBeBBBeBBBBBeBBBeBeBBBeBB \ No newline at end of file diff --git a/data/maps/BattlePyramidSquare16/border.bin b/data/maps/BattlePyramidSquare16/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/BattlePyramidSquare16/border.bin differ diff --git a/data/maps/BattlePyramidSquare16/header.inc b/data/maps/BattlePyramidSquare16/header.inc new file mode 100644 index 0000000000..4df56bbc79 --- /dev/null +++ b/data/maps/BattlePyramidSquare16/header.inc @@ -0,0 +1,15 @@ +BattlePyramidSquare16: @ 8485104 + .4byte BattlePyramidSquare16_MapAttributes + .4byte BattlePyramidSquare16_MapEvents + .4byte BattlePyramidSquare16_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 377 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/BattlePyramidSquare16/map.bin b/data/maps/BattlePyramidSquare16/map.bin new file mode 100644 index 0000000000..601eb526e3 --- /dev/null +++ b/data/maps/BattlePyramidSquare16/map.bin @@ -0,0 +1 @@ +BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB \ No newline at end of file diff --git a/data/maps/BirthIsland_Exterior/border.bin b/data/maps/BirthIsland_Exterior/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/BirthIsland_Exterior/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/BirthIsland_Exterior/header.inc b/data/maps/BirthIsland_Exterior/header.inc new file mode 100644 index 0000000000..5697555dea --- /dev/null +++ b/data/maps/BirthIsland_Exterior/header.inc @@ -0,0 +1,15 @@ +BirthIsland_Exterior: @ 8485794 + .4byte BirthIsland_Exterior_MapAttributes + .4byte BirthIsland_Exterior_MapEvents + .4byte BirthIsland_Exterior_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 404 + .byte 200 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 12 + .byte 0 + diff --git a/data/maps/BirthIsland_Exterior/map.bin b/data/maps/BirthIsland_Exterior/map.bin new file mode 100644 index 0000000000..38dfe77a80 Binary files /dev/null and b/data/maps/BirthIsland_Exterior/map.bin differ diff --git a/data/maps/BirthIsland_Harbor/border.bin b/data/maps/BirthIsland_Harbor/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/BirthIsland_Harbor/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/BirthIsland_Harbor/header.inc b/data/maps/BirthIsland_Harbor/header.inc new file mode 100644 index 0000000000..9a9a5954bc --- /dev/null +++ b/data/maps/BirthIsland_Harbor/header.inc @@ -0,0 +1,15 @@ +BirthIsland_Harbor: @ 84857B0 + .4byte BirthIsland_Harbor_MapAttributes + .4byte BirthIsland_Harbor_MapEvents + .4byte BirthIsland_Harbor_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 405 + .byte 200 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/BirthIsland_Harbor/map.bin b/data/maps/BirthIsland_Harbor/map.bin new file mode 100644 index 0000000000..e148161078 --- /dev/null +++ b/data/maps/BirthIsland_Harbor/map.bin @@ -0,0 +1 @@ +       *+89:+.pppp@ABppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp \ No newline at end of file diff --git a/data/maps/CaveOfOrigin_1F/border.bin b/data/maps/CaveOfOrigin_1F/border.bin new file mode 100644 index 0000000000..f1629c020b --- /dev/null +++ b/data/maps/CaveOfOrigin_1F/border.bin @@ -0,0 +1 @@ +3333 \ No newline at end of file diff --git a/data/maps/CaveOfOrigin_1F/header.inc b/data/maps/CaveOfOrigin_1F/header.inc new file mode 100644 index 0000000000..97b1a7664a --- /dev/null +++ b/data/maps/CaveOfOrigin_1F/header.inc @@ -0,0 +1,15 @@ +CaveOfOrigin_1F: @ 84842E8 + .4byte CaveOfOrigin_1F_MapAttributes + .4byte CaveOfOrigin_1F_MapEvents + .4byte CaveOfOrigin_1F_MapScripts + .4byte 0x0 + .2byte MUS_DAN03 + .2byte 158 + .byte 72 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/CaveOfOrigin_1F/map.bin b/data/maps/CaveOfOrigin_1F/map.bin new file mode 100644 index 0000000000..c3c5e7abf1 --- /dev/null +++ b/data/maps/CaveOfOrigin_1F/map.bin @@ -0,0 +1 @@ +)))))))))))))))))))))"33333333))))3333333 ")))))))*3333()))))) ""33)))))))))))))33  ""3*333)))))))) 33  ""3"3))*33333=333  33  ""3"*33333333333  33  "$""33333333322$ 33  "3"""33333222$333 33  "3"""3333$3333333 3$ "3"""333$33333333( 3 "3"""333 3333333333  3 "3"""333 3333333333  3 "3"""333()333)))  3 "*""33333()))*333   3 ""3""3333333333333   3 ""3"$33333333333$  3 ""3"3$3333;33333$3  3 ""3$3$22289:222$2$ 3 "$3$222222222222$33 $"3"33222223332222$ 3"3$22$33333$222$3332$3$222222222222222222$333 \ No newline at end of file diff --git a/data/maps/CaveOfOrigin_B1F/border.bin b/data/maps/CaveOfOrigin_B1F/border.bin new file mode 100644 index 0000000000..f1629c020b --- /dev/null +++ b/data/maps/CaveOfOrigin_B1F/border.bin @@ -0,0 +1 @@ +3333 \ No newline at end of file diff --git a/data/maps/CaveOfOrigin_B1F/header.inc b/data/maps/CaveOfOrigin_B1F/header.inc new file mode 100644 index 0000000000..d9d011a50f --- /dev/null +++ b/data/maps/CaveOfOrigin_B1F/header.inc @@ -0,0 +1,15 @@ +CaveOfOrigin_B1F: @ 8484358 + .4byte CaveOfOrigin_B1F_MapAttributes + .4byte CaveOfOrigin_B1F_MapEvents + .4byte CaveOfOrigin_B1F_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 162 + .byte 72 + .byte 0 + .byte 6 + .byte 4 + .2byte 0 + .byte 14 + .byte 0 + diff --git a/data/maps/CaveOfOrigin_B1F/map.bin b/data/maps/CaveOfOrigin_B1F/map.bin new file mode 100644 index 0000000000..1fb2d71bb1 --- /dev/null +++ b/data/maps/CaveOfOrigin_B1F/map.bin @@ -0,0 +1 @@ +)))))))))))))))))3)))))))))))))3 "3"333))@))333H3 "*3)*33A333()3( "3*333333333(3 H"3M333)))333 3& ""3"33*#0#(33N3  ""33*0###0(3 3 H"3"3"####### 3 3  ""3"3"0##0##0 3H3& "3M3"####### 3 3  ""3"3$30###0$33N3&H"3"33$3#0#$333 3  "M3$33$3$3$3$3$333$3  "$3$3333333$3$ "3332222222$233N3 "3$22223332222$3 "333333$222$333333N$222222232222222$ \ No newline at end of file diff --git a/data/maps/CaveOfOrigin_Entrance/border.bin b/data/maps/CaveOfOrigin_Entrance/border.bin new file mode 100644 index 0000000000..f1629c020b --- /dev/null +++ b/data/maps/CaveOfOrigin_Entrance/border.bin @@ -0,0 +1 @@ +3333 \ No newline at end of file diff --git a/data/maps/CaveOfOrigin_Entrance/header.inc b/data/maps/CaveOfOrigin_Entrance/header.inc new file mode 100644 index 0000000000..f2eab2e2b4 --- /dev/null +++ b/data/maps/CaveOfOrigin_Entrance/header.inc @@ -0,0 +1,15 @@ +CaveOfOrigin_Entrance: @ 84842CC + .4byte CaveOfOrigin_Entrance_MapAttributes + .4byte CaveOfOrigin_Entrance_MapEvents + .4byte CaveOfOrigin_Entrance_MapScripts + .4byte 0x0 + .2byte MUS_DAN03 + .2byte 157 + .byte 72 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/CaveOfOrigin_Entrance/map.bin b/data/maps/CaveOfOrigin_Entrance/map.bin new file mode 100644 index 0000000000..4bbffd109e --- /dev/null +++ b/data/maps/CaveOfOrigin_Entrance/map.bin @@ -0,0 +1 @@ +3333333333333333333333333))))))3333333)))*)))3())3333")))*333())) 3333"")))-./))3 (333"""3)5637) 3 3 33*""3"33333333  3( 33"3""3"33333333  33  33"3""3"33333333  33  33"3""3"33333333 (3 (**"3"33333333 3 3 3 "3"3"3"33333333 3 3 3 "3"3"3"33333333 3( 3 "3"3"3"33333333 33  3 "3"3"3"33333333 33 ( "*3"3"33333333 33 3  ""33"3"33333333 33 3  ""33"3"33333333 3$3  ""3*3"33333333 3 33  ""3"33"33333333 3 33  ""3"33"333#3333 3 33  "%"33$289:2$3 33  "3"$22233322$33  "3"3333$222$33333  "3$22222222222222$ $222222233322222$ \ No newline at end of file diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/border.bin b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/border.bin new file mode 100644 index 0000000000..f1629c020b --- /dev/null +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/border.bin @@ -0,0 +1 @@ +3333 \ No newline at end of file diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/header.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/header.inc new file mode 100644 index 0000000000..081d1bba39 --- /dev/null +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/header.inc @@ -0,0 +1,15 @@ +CaveOfOrigin_UnusedRubySapphireMap1: @ 8484304 + .4byte CaveOfOrigin_UnusedRubySapphireMap1_MapAttributes + .4byte CaveOfOrigin_UnusedRubySapphireMap1_MapEvents + .4byte CaveOfOrigin_UnusedRubySapphireMap1_MapScripts + .4byte 0x0 + .2byte MUS_DAN03 + .2byte 159 + .byte 72 + .byte 1 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/map.bin b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/map.bin new file mode 100644 index 0000000000..0ffbdaaa09 --- /dev/null +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/map.bin @@ -0,0 +1 @@ +33))))))))))))))))33333"33)))3333))) 33333"33"333())))*333 (33)*33"3))))))))3( 33"33)*3"))))))(3  33"33"333""3333<33( 3  33"3*333""3333333  3  33"3"3333%%333333  3  33"3"333333%23333  3  33"*)))333%333  2 33""3")(333"33   3 33""3""=3( 333""33   3 33""3""33  33*"33   3 33""3""33 ())**33   3 33""3""33())))*333   3 33""3""33333333333  ( 33""3"%333333333% 3  33""3"3%3333333%3 3  33""3%3%2222222%2%3  33"%3%2222222222%32% 33"3%23322222233 33 33%33%22%333333%22%2%333%2222222222222222%3333 \ No newline at end of file diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/border.bin b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/border.bin new file mode 100644 index 0000000000..4117717f2c --- /dev/null +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/border.bin @@ -0,0 +1 @@ +#### \ No newline at end of file diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/header.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/header.inc new file mode 100644 index 0000000000..ef1747de8a --- /dev/null +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/header.inc @@ -0,0 +1,15 @@ +CaveOfOrigin_UnusedRubySapphireMap2: @ 8484320 + .4byte CaveOfOrigin_UnusedRubySapphireMap2_MapAttributes + .4byte CaveOfOrigin_UnusedRubySapphireMap2_MapEvents + .4byte CaveOfOrigin_UnusedRubySapphireMap2_MapScripts + .4byte 0x0 + .2byte MUS_DAN03 + .2byte 160 + .byte 72 + .byte 1 + .byte 6 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.bin b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.bin new file mode 100644 index 0000000000..4c1fd5ab8f --- /dev/null +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.bin @@ -0,0 +1 @@ +)))))###))))##)"#####()))*))())*# "#))))))))*##()))) "#"##))))))))))##  "#"##"))))))))(#  "*)*"33333333( #  ""#")*333333333  % ""#""333223333   # ""#""33%##%333   %""#""33 ####%33    #""#""<33 #####"33    #""#"%22%#####"33    #"%%2#####)*33    #"#"##"#)))*3333   ("#"##"#"=33333332  # "#"##%"333333%#  # "#"###"%222222%2%( "#"###%22222222%###  "#%222##222222##  %222#%22%######%22% ####%222222222222222% \ No newline at end of file diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/border.bin b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/border.bin new file mode 100644 index 0000000000..f1629c020b --- /dev/null +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/border.bin @@ -0,0 +1 @@ +3333 \ No newline at end of file diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/header.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/header.inc new file mode 100644 index 0000000000..623c9c2bc3 --- /dev/null +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/header.inc @@ -0,0 +1,15 @@ +CaveOfOrigin_UnusedRubySapphireMap3: @ 848433C + .4byte CaveOfOrigin_UnusedRubySapphireMap3_MapAttributes + .4byte CaveOfOrigin_UnusedRubySapphireMap3_MapEvents + .4byte CaveOfOrigin_UnusedRubySapphireMap3_MapScripts + .4byte 0x0 + .2byte MUS_DAN03 + .2byte 161 + .byte 72 + .byte 1 + .byte 6 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.bin b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.bin new file mode 100644 index 0000000000..ea574b224d --- /dev/null +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.bin @@ -0,0 +1 @@ +)))))))))))))))))")))3333)))333 ""333())))*333()) ""33)))))))))33  ""33")))))))(3  ""3*"3333333( 3  "$"*333333=33  $ "3"""3322233   3 "3"""3$333$3   3 "3"""3 33333"$  3 "3"""3(3333" 3  3 "3"""33(33* 3  3 "*""333 33"$3 ( ""3""333())* 33 3  ""3"$3<33333 2$3  ""3$"333333  333  ""33"$222222$ 333  ""33$22222222$333  "$2233332222222$ "333$2222$3222222$$2222222222$3333333 \ No newline at end of file diff --git a/data/maps/DesertRuins/border.bin b/data/maps/DesertRuins/border.bin new file mode 100644 index 0000000000..c07869a9fb --- /dev/null +++ b/data/maps/DesertRuins/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/DesertRuins/header.inc b/data/maps/DesertRuins/header.inc new file mode 100644 index 0000000000..dcc150a4f0 --- /dev/null +++ b/data/maps/DesertRuins/header.inc @@ -0,0 +1,15 @@ +DesertRuins: @ 8483F68 + .4byte DesertRuins_MapAttributes + .4byte DesertRuins_MapEvents + .4byte DesertRuins_MapScripts + .4byte 0x0 + .2byte MUS_MABOROSI + .2byte 131 + .byte 82 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/DesertRuins/map.bin b/data/maps/DesertRuins/map.bin new file mode 100644 index 0000000000..406cf7279c Binary files /dev/null and b/data/maps/DesertRuins/map.bin differ diff --git a/data/maps/DesertUnderpass/border.bin b/data/maps/DesertUnderpass/border.bin new file mode 100644 index 0000000000..423a0732e6 --- /dev/null +++ b/data/maps/DesertUnderpass/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/DesertUnderpass/header.inc b/data/maps/DesertUnderpass/header.inc new file mode 100644 index 0000000000..b01e7638a3 --- /dev/null +++ b/data/maps/DesertUnderpass/header.inc @@ -0,0 +1,15 @@ +DesertUnderpass: @ 8484978 + .4byte DesertUnderpass_MapAttributes + .4byte DesertUnderpass_MapEvents + .4byte DesertUnderpass_MapScripts + .4byte 0x0 + .2byte MUS_TOZAN + .2byte 389 + .byte 209 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/DesertUnderpass/map.bin b/data/maps/DesertUnderpass/map.bin new file mode 100644 index 0000000000..2f82e93570 --- /dev/null +++ b/data/maps/DesertUnderpass/map.bin @@ -0,0 +1 @@ + ##" #" !!" !!"##" #" #" ####" ####" #" #" "#" ###" # # #" "#" # #"#" #" ###" " ######"##' # " " ' ##"#"' "#"h ####" ##" ##" #" #q##"##"< # #"#" " # "#" " ##" #####" ##"##" ###" q#"#"#XYZ# ##"#"#" #" " ###" " #"#" # #" #"" ###"  #"" ###qp######" ##"  #01##"##" 0#101#####"#####" ####" #### #01######q 0##101##qp#"" ######" #######"  ##"##" #"#" ##########" #####"#q###### "####################" ##########" #############" #"" " #####" #" ########" ##############" #### ######" #####" ##" ##" ##"  ##" #" ###" # ####" ######"" # " ##"#"' ## ##"##" # #"#" # "#########" ########" ##"#" #"### ##### #"##### " ##"####"#" #####" ###### # ##"### ##"#" ## ######" "### " ###"#"#"#" # #" #" #"#" ## #####" ##" # " #" ###"### ## " #"##"#"#"###" ##"##" #####" ##" #"## # # #"#" #"#" ############# \ No newline at end of file diff --git a/data/maps/DewfordTown/border.bin b/data/maps/DewfordTown/border.bin new file mode 100644 index 0000000000..281762f5b5 --- /dev/null +++ b/data/maps/DewfordTown/border.bin @@ -0,0 +1 @@ +CCCC \ No newline at end of file diff --git a/data/maps/DewfordTown/connections.inc b/data/maps/DewfordTown/connections.inc new file mode 100644 index 0000000000..4386e22958 --- /dev/null +++ b/data/maps/DewfordTown/connections.inc @@ -0,0 +1,8 @@ +DewfordTown_MapConnectionsList: @ 8486640 + connection up, -60, ROUTE_106, 0 + connection right, 0, ROUTE_107, 0 + +DewfordTown_MapConnections: @ 8486658 + .4byte 0x2 + .4byte DewfordTown_MapConnectionsList + diff --git a/data/maps/DewfordTown/header.inc b/data/maps/DewfordTown/header.inc new file mode 100644 index 0000000000..7437a42a2e --- /dev/null +++ b/data/maps/DewfordTown/header.inc @@ -0,0 +1,15 @@ +DewfordTown: @ 84825EC + .4byte DewfordTown_MapAttributes + .4byte DewfordTown_MapEvents + .4byte DewfordTown_MapScripts + .4byte DewfordTown_MapConnections + .2byte MUS_HIGHTOWN + .2byte 12 + .byte 2 + .byte 0 + .byte 2 + .byte 1 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/DewfordTown/map.bin b/data/maps/DewfordTown/map.bin new file mode 100644 index 0000000000..e8a1154e83 --- /dev/null +++ b/data/maps/DewfordTown/map.bin @@ -0,0 +1,2 @@ +C 2 2 2$1$1$1$1$1%pzCCC92C92C$1$1$1$1$1%pzC:CCCC:$1$1$1$1$1%pzC92CC:C92'%&$1$1$1$1$1%pz5CC:C92:C$1$1$1$1$1$1$19292%pzCC92CC92:$1$1$1$1$1$1 2 2%pz:::CCC$1$1$1$1$1$1$1%pyy:::$12222$1$1%ppppyyy$1PQRS$1$1%&%pppppppp$1XYZ[$1$1$1$1$1$1(2)2)2pppppp$1 ab +$1$1$1$1$101111111$1$1$1$1$1$1$1$1$1$1$1>111=1$1 2 2 2 2$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1222222$1$1$1$1$192$1$1$1$1"####$$1$1$1$1$1%&C$1$1$1$1+,-./2$1$1$1$1$1$192C$1$1$1$134567$1$1$1$1$1$1$1C:92$1$1$1;2<2=>?2$1$1$1$1$1929292:92C92$1$1$1$1$1$1$1$1$1$149292:CCCCC9292929292929292929292CC92CC92 \ No newline at end of file diff --git a/data/maps/DewfordTown_Gym/border.bin b/data/maps/DewfordTown_Gym/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/DewfordTown_Gym/border.bin differ diff --git a/data/maps/DewfordTown_Gym/header.inc b/data/maps/DewfordTown_Gym/header.inc new file mode 100644 index 0000000000..4d2dbcef92 --- /dev/null +++ b/data/maps/DewfordTown_Gym/header.inc @@ -0,0 +1,15 @@ +DewfordTown_Gym: @ 8482C60 + .4byte DewfordTown_Gym_MapAttributes + .4byte DewfordTown_Gym_MapEvents + .4byte DewfordTown_Gym_MapScripts + .4byte 0x0 + .2byte MUS_GIM + .2byte 65 + .byte 2 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/DewfordTown_Gym/map.bin b/data/maps/DewfordTown_Gym/map.bin new file mode 100644 index 0000000000..43cd6e64aa Binary files /dev/null and b/data/maps/DewfordTown_Gym/map.bin differ diff --git a/data/maps/DewfordTown_Hall/border.bin b/data/maps/DewfordTown_Hall/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/DewfordTown_Hall/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/DewfordTown_Hall/header.inc b/data/maps/DewfordTown_Hall/header.inc new file mode 100644 index 0000000000..22466b2a81 --- /dev/null +++ b/data/maps/DewfordTown_Hall/header.inc @@ -0,0 +1,15 @@ +DewfordTown_Hall: @ 8482C7C + .4byte DewfordTown_Hall_MapAttributes + .4byte DewfordTown_Hall_MapEvents + .4byte DewfordTown_Hall_MapScripts + .4byte 0x0 + .2byte MUS_HIGHTOWN + .2byte 66 + .byte 2 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/DewfordTown_Hall/map.bin b/data/maps/DewfordTown_Hall/map.bin new file mode 100644 index 0000000000..5fd13209db Binary files /dev/null and b/data/maps/DewfordTown_Hall/map.bin differ diff --git a/data/maps/DewfordTown_House1/border.bin b/data/maps/DewfordTown_House1/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/DewfordTown_House1/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/DewfordTown_House1/header.inc b/data/maps/DewfordTown_House1/header.inc new file mode 100644 index 0000000000..399786aa95 --- /dev/null +++ b/data/maps/DewfordTown_House1/header.inc @@ -0,0 +1,15 @@ +DewfordTown_House1: @ 8482C0C + .4byte DewfordTown_House1_MapAttributes + .4byte DewfordTown_House1_MapEvents + .4byte DewfordTown_House1_MapScripts + .4byte 0x0 + .2byte MUS_HIGHTOWN + .2byte 64 + .byte 2 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/DewfordTown_House1/map.bin b/data/maps/DewfordTown_House1/map.bin new file mode 100644 index 0000000000..1f732ba3fb --- /dev/null +++ b/data/maps/DewfordTown_House1/map.bin @@ -0,0 +1 @@ +222!2!2@22222!2)2)2D2NOD2)2)2)2!2)2)2D2VWD2)2)2)2!2)2)2)2)2)2)2)2)2)2 3333333333#33333333 \ No newline at end of file diff --git a/data/maps/DewfordTown_House2/border.bin b/data/maps/DewfordTown_House2/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/DewfordTown_House2/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/DewfordTown_House2/header.inc b/data/maps/DewfordTown_House2/header.inc new file mode 100644 index 0000000000..d9a2162e23 --- /dev/null +++ b/data/maps/DewfordTown_House2/header.inc @@ -0,0 +1,15 @@ +DewfordTown_House2: @ 8482C98 + .4byte DewfordTown_House2_MapAttributes + .4byte DewfordTown_House2_MapEvents + .4byte DewfordTown_House2_MapScripts + .4byte 0x0 + .2byte MUS_HIGHTOWN + .2byte 67 + .byte 2 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/DewfordTown_House2/map.bin b/data/maps/DewfordTown_House2/map.bin new file mode 100644 index 0000000000..6274e44187 --- /dev/null +++ b/data/maps/DewfordTown_House2/map.bin @@ -0,0 +1 @@ +22266!2!2!222!2)2D2)2)2)2)2)2)2)2!2)2)2)2)2)2)2N_D2!2)2)2)2)2)2D2VWD2!2)2)2)2)2)2)2)2)2)2 3333333333#33333333 \ No newline at end of file diff --git a/data/maps/DewfordTown_PokemonCenter_1F/header.inc b/data/maps/DewfordTown_PokemonCenter_1F/header.inc new file mode 100644 index 0000000000..bdc1b50901 --- /dev/null +++ b/data/maps/DewfordTown_PokemonCenter_1F/header.inc @@ -0,0 +1,15 @@ +DewfordTown_PokemonCenter_1F: @ 8482C28 + .4byte DewfordTown_PokemonCenter_1F_MapAttributes + .4byte DewfordTown_PokemonCenter_1F_MapEvents + .4byte DewfordTown_PokemonCenter_1F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 61 + .byte 2 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/DewfordTown_PokemonCenter_2F/header.inc b/data/maps/DewfordTown_PokemonCenter_2F/header.inc new file mode 100644 index 0000000000..f5302fff1f --- /dev/null +++ b/data/maps/DewfordTown_PokemonCenter_2F/header.inc @@ -0,0 +1,15 @@ +DewfordTown_PokemonCenter_2F: @ 8482C44 + .4byte DewfordTown_PokemonCenter_2F_MapAttributes + .4byte DewfordTown_PokemonCenter_2F_MapEvents + .4byte DewfordTown_PokemonCenter_2F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 62 + .byte 2 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/DoubleBattleColosseum/border.bin b/data/maps/DoubleBattleColosseum/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/DoubleBattleColosseum/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/DoubleBattleColosseum/header.inc b/data/maps/DoubleBattleColosseum/header.inc new file mode 100644 index 0000000000..6d102c5b1c --- /dev/null +++ b/data/maps/DoubleBattleColosseum/header.inc @@ -0,0 +1,15 @@ +DoubleBattleColosseum: @ 8484D84 + .4byte DoubleBattleColosseum_MapAttributes + .4byte DoubleBattleColosseum_MapEvents + .4byte DoubleBattleColosseum_MapScripts + .4byte 0x0 + .2byte MUS_RAINBOW + .2byte 224 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 8 + diff --git a/data/maps/DoubleBattleColosseum/map.bin b/data/maps/DoubleBattleColosseum/map.bin new file mode 100644 index 0000000000..77606e818b --- /dev/null +++ b/data/maps/DoubleBattleColosseum/map.bin @@ -0,0 +1 @@ +hijjjkllmjjjoOpqrrrstturrrwWxyzzz{||}zzz_22L2M22222M2N2222U2`2U2U2b2c2U2U2a2U222U2T2U2U2d2e2U2U2V2U222U2`2U2U2f2g2U2U2a2U222U2\2]2]2]2]2]2]2^2U22!2!2!2!2 \ No newline at end of file diff --git a/data/maps/EverGrandeCity/border.bin b/data/maps/EverGrandeCity/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/EverGrandeCity/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/EverGrandeCity/connections.inc b/data/maps/EverGrandeCity/connections.inc new file mode 100644 index 0000000000..a472e456a8 --- /dev/null +++ b/data/maps/EverGrandeCity/connections.inc @@ -0,0 +1,7 @@ +EverGrandeCity_MapConnectionsList: @ 84867F8 + connection left, 40, ROUTE_128, 0 + +EverGrandeCity_MapConnections: @ 8486804 + .4byte 0x1 + .4byte EverGrandeCity_MapConnectionsList + diff --git a/data/maps/EverGrandeCity/header.inc b/data/maps/EverGrandeCity/header.inc new file mode 100644 index 0000000000..f7fc65752a --- /dev/null +++ b/data/maps/EverGrandeCity/header.inc @@ -0,0 +1,15 @@ +EverGrandeCity: @ 8482598 + .4byte EverGrandeCity_MapAttributes + .4byte EverGrandeCity_MapEvents + .4byte EverGrandeCity_MapScripts + .4byte EverGrandeCity_MapConnections + .2byte MUS_RAINBOW + .2byte 9 + .byte 15 + .byte 0 + .byte 2 + .byte 2 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/EverGrandeCity/map.bin b/data/maps/EverGrandeCity/map.bin new file mode 100644 index 0000000000..33b271d5d7 Binary files /dev/null and b/data/maps/EverGrandeCity/map.bin differ diff --git a/data/maps/EverGrandeCity_ChampionsRoom/border.bin b/data/maps/EverGrandeCity_ChampionsRoom/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/EverGrandeCity_ChampionsRoom/border.bin differ diff --git a/data/maps/EverGrandeCity_ChampionsRoom/header.inc b/data/maps/EverGrandeCity_ChampionsRoom/header.inc new file mode 100644 index 0000000000..445536d27a --- /dev/null +++ b/data/maps/EverGrandeCity_ChampionsRoom/header.inc @@ -0,0 +1,15 @@ +EverGrandeCity_ChampionsRoom: @ 8483C3C + .4byte EverGrandeCity_ChampionsRoom_MapAttributes + .4byte EverGrandeCity_ChampionsRoom_MapEvents + .4byte EverGrandeCity_ChampionsRoom_MapScripts + .4byte 0x0 + .2byte MUS_C_ROAD + .2byte 115 + .byte 15 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/EverGrandeCity_ChampionsRoom/map.bin b/data/maps/EverGrandeCity_ChampionsRoom/map.bin new file mode 100644 index 0000000000..a234307b5e Binary files /dev/null and b/data/maps/EverGrandeCity_ChampionsRoom/map.bin differ diff --git a/data/maps/EverGrandeCity_DrakesRoom/border.bin b/data/maps/EverGrandeCity_DrakesRoom/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/EverGrandeCity_DrakesRoom/border.bin differ diff --git a/data/maps/EverGrandeCity_DrakesRoom/header.inc b/data/maps/EverGrandeCity_DrakesRoom/header.inc new file mode 100644 index 0000000000..6d6438a79f --- /dev/null +++ b/data/maps/EverGrandeCity_DrakesRoom/header.inc @@ -0,0 +1,15 @@ +EverGrandeCity_DrakesRoom: @ 8483C20 + .4byte EverGrandeCity_DrakesRoom_MapAttributes + .4byte EverGrandeCity_DrakesRoom_MapEvents + .4byte EverGrandeCity_DrakesRoom_MapScripts + .4byte 0x0 + .2byte MUS_C_ROAD + .2byte 114 + .byte 15 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 7 + diff --git a/data/maps/EverGrandeCity_DrakesRoom/map.bin b/data/maps/EverGrandeCity_DrakesRoom/map.bin new file mode 100644 index 0000000000..3b5248d986 --- /dev/null +++ b/data/maps/EverGrandeCity_DrakesRoom/map.bin @@ -0,0 +1,2 @@ +       +      2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222HIHI222HIHI \ No newline at end of file diff --git a/data/maps/EverGrandeCity_GlaciasRoom/border.bin b/data/maps/EverGrandeCity_GlaciasRoom/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/EverGrandeCity_GlaciasRoom/border.bin differ diff --git a/data/maps/EverGrandeCity_GlaciasRoom/header.inc b/data/maps/EverGrandeCity_GlaciasRoom/header.inc new file mode 100644 index 0000000000..b301c2aa12 --- /dev/null +++ b/data/maps/EverGrandeCity_GlaciasRoom/header.inc @@ -0,0 +1,15 @@ +EverGrandeCity_GlaciasRoom: @ 8483C04 + .4byte EverGrandeCity_GlaciasRoom_MapAttributes + .4byte EverGrandeCity_GlaciasRoom_MapEvents + .4byte EverGrandeCity_GlaciasRoom_MapScripts + .4byte 0x0 + .2byte MUS_C_ROAD + .2byte 113 + .byte 15 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 6 + diff --git a/data/maps/EverGrandeCity_GlaciasRoom/map.bin b/data/maps/EverGrandeCity_GlaciasRoom/map.bin new file mode 100644 index 0000000000..2d7db73772 --- /dev/null +++ b/data/maps/EverGrandeCity_GlaciasRoom/map.bin @@ -0,0 +1,2 @@ +       +      r2r2r2r2r2222r2r2r2r2r2v22p2s2s2s2t222wu}~22x2y2z2{2|222}222222222q22x2222|22222x2222|222222222222222222222222222222222222222222222HIHI222HIHI \ No newline at end of file diff --git a/data/maps/EverGrandeCity_Hall1/border.bin b/data/maps/EverGrandeCity_Hall1/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/EverGrandeCity_Hall1/border.bin differ diff --git a/data/maps/EverGrandeCity_Hall1/header.inc b/data/maps/EverGrandeCity_Hall1/header.inc new file mode 100644 index 0000000000..332a6cbb29 --- /dev/null +++ b/data/maps/EverGrandeCity_Hall1/header.inc @@ -0,0 +1,15 @@ +EverGrandeCity_Hall1: @ 8483C58 + .4byte EverGrandeCity_Hall1_MapAttributes + .4byte EverGrandeCity_Hall1_MapEvents + .4byte EverGrandeCity_Hall1_MapScripts + .4byte 0x0 + .2byte MUS_C_ROAD + .2byte 116 + .byte 15 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/EverGrandeCity_Hall1/map.bin b/data/maps/EverGrandeCity_Hall1/map.bin new file mode 100644 index 0000000000..75812b2389 --- /dev/null +++ b/data/maps/EverGrandeCity_Hall1/map.bin @@ -0,0 +1 @@ +DHIHI E HIHI2222222222222222222222222222222222222222222222 \ No newline at end of file diff --git a/data/maps/EverGrandeCity_Hall2/header.inc b/data/maps/EverGrandeCity_Hall2/header.inc new file mode 100644 index 0000000000..b9029c0273 --- /dev/null +++ b/data/maps/EverGrandeCity_Hall2/header.inc @@ -0,0 +1,15 @@ +EverGrandeCity_Hall2: @ 8483C74 + .4byte EverGrandeCity_Hall2_MapAttributes + .4byte EverGrandeCity_Hall2_MapEvents + .4byte EverGrandeCity_Hall2_MapScripts + .4byte 0x0 + .2byte MUS_C_ROAD + .2byte 116 + .byte 15 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/EverGrandeCity_Hall3/header.inc b/data/maps/EverGrandeCity_Hall3/header.inc new file mode 100644 index 0000000000..282d06c66b --- /dev/null +++ b/data/maps/EverGrandeCity_Hall3/header.inc @@ -0,0 +1,15 @@ +EverGrandeCity_Hall3: @ 8483C90 + .4byte EverGrandeCity_Hall3_MapAttributes + .4byte EverGrandeCity_Hall3_MapEvents + .4byte EverGrandeCity_Hall3_MapScripts + .4byte 0x0 + .2byte MUS_C_ROAD + .2byte 116 + .byte 15 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/EverGrandeCity_Hall4/border.bin b/data/maps/EverGrandeCity_Hall4/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/EverGrandeCity_Hall4/border.bin differ diff --git a/data/maps/EverGrandeCity_Hall4/header.inc b/data/maps/EverGrandeCity_Hall4/header.inc new file mode 100644 index 0000000000..72fa22d755 --- /dev/null +++ b/data/maps/EverGrandeCity_Hall4/header.inc @@ -0,0 +1,15 @@ +EverGrandeCity_Hall4: @ 8483CAC + .4byte EverGrandeCity_Hall4_MapAttributes + .4byte EverGrandeCity_Hall4_MapEvents + .4byte EverGrandeCity_Hall4_MapScripts + .4byte 0x0 + .2byte MUS_C_ROAD + .2byte 315 + .byte 15 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/EverGrandeCity_Hall4/map.bin b/data/maps/EverGrandeCity_Hall4/map.bin new file mode 100644 index 0000000000..580ae095a9 --- /dev/null +++ b/data/maps/EverGrandeCity_Hall4/map.bin @@ -0,0 +1 @@ +D     E     2222222222222222222222222222J222J222J222J222J222J222222J222J222222222J222J222222222222J222J222222222222222222222222222222 \ No newline at end of file diff --git a/data/maps/EverGrandeCity_Hall5/header.inc b/data/maps/EverGrandeCity_Hall5/header.inc new file mode 100644 index 0000000000..eac2ba3fa8 --- /dev/null +++ b/data/maps/EverGrandeCity_Hall5/header.inc @@ -0,0 +1,15 @@ +EverGrandeCity_Hall5: @ 8483CC8 + .4byte EverGrandeCity_Hall5_MapAttributes + .4byte EverGrandeCity_Hall5_MapEvents + .4byte EverGrandeCity_Hall5_MapScripts + .4byte 0x0 + .2byte MUS_C_ROAD + .2byte 116 + .byte 15 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/EverGrandeCity_HallOfFame/border.bin b/data/maps/EverGrandeCity_HallOfFame/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/EverGrandeCity_HallOfFame/border.bin differ diff --git a/data/maps/EverGrandeCity_HallOfFame/header.inc b/data/maps/EverGrandeCity_HallOfFame/header.inc new file mode 100644 index 0000000000..dd3726db95 --- /dev/null +++ b/data/maps/EverGrandeCity_HallOfFame/header.inc @@ -0,0 +1,15 @@ +EverGrandeCity_HallOfFame: @ 8483D00 + .4byte EverGrandeCity_HallOfFame_MapAttributes + .4byte EverGrandeCity_HallOfFame_MapEvents + .4byte EverGrandeCity_HallOfFame_MapScripts + .4byte 0x0 + .2byte MUS_EIKOU_R + .2byte 298 + .byte 15 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/EverGrandeCity_HallOfFame/map.bin b/data/maps/EverGrandeCity_HallOfFame/map.bin new file mode 100644 index 0000000000..1df9e48047 --- /dev/null +++ b/data/maps/EverGrandeCity_HallOfFame/map.bin @@ -0,0 +1 @@ +2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222262226 \ No newline at end of file diff --git a/data/maps/EverGrandeCity_PhoebesRoom/border.bin b/data/maps/EverGrandeCity_PhoebesRoom/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/EverGrandeCity_PhoebesRoom/border.bin differ diff --git a/data/maps/EverGrandeCity_PhoebesRoom/header.inc b/data/maps/EverGrandeCity_PhoebesRoom/header.inc new file mode 100644 index 0000000000..a5ebfb823f --- /dev/null +++ b/data/maps/EverGrandeCity_PhoebesRoom/header.inc @@ -0,0 +1,15 @@ +EverGrandeCity_PhoebesRoom: @ 8483BE8 + .4byte EverGrandeCity_PhoebesRoom_MapAttributes + .4byte EverGrandeCity_PhoebesRoom_MapEvents + .4byte EverGrandeCity_PhoebesRoom_MapScripts + .4byte 0x0 + .2byte MUS_C_ROAD + .2byte 112 + .byte 15 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 5 + diff --git a/data/maps/EverGrandeCity_PhoebesRoom/map.bin b/data/maps/EverGrandeCity_PhoebesRoom/map.bin new file mode 100644 index 0000000000..2e75b706c4 --- /dev/null +++ b/data/maps/EverGrandeCity_PhoebesRoom/map.bin @@ -0,0 +1,2 @@ +       +      B2B2B2B2B2X2X2X2B2B2B2B2B2EF\2\2@2C2C2C2D2\2\2GAMN\2\2H2I2J2K2L2\2\2O@UV\2\2P2Q2R2S2T2\2\2WA]^\2\2H2Y2Z2[2L2\2\2WBef\2\2H2a2b2c2L2\2\2gCm2n2\2\2h2k2k2k2l2\2\2o2`2j2i2i2i2i2i2i2i2i2i2i2i2i22222222222222\2\2\2HIHId2d2d2HIHI \ No newline at end of file diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/header.inc b/data/maps/EverGrandeCity_PokemonCenter_1F/header.inc new file mode 100644 index 0000000000..a3747320b5 --- /dev/null +++ b/data/maps/EverGrandeCity_PokemonCenter_1F/header.inc @@ -0,0 +1,15 @@ +EverGrandeCity_PokemonCenter_1F: @ 8483D1C + .4byte EverGrandeCity_PokemonCenter_1F_MapAttributes + .4byte EverGrandeCity_PokemonCenter_1F_MapEvents + .4byte EverGrandeCity_PokemonCenter_1F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 61 + .byte 15 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/EverGrandeCity_PokemonCenter_2F/header.inc b/data/maps/EverGrandeCity_PokemonCenter_2F/header.inc new file mode 100644 index 0000000000..1ad6c5727e --- /dev/null +++ b/data/maps/EverGrandeCity_PokemonCenter_2F/header.inc @@ -0,0 +1,15 @@ +EverGrandeCity_PokemonCenter_2F: @ 8483D38 + .4byte EverGrandeCity_PokemonCenter_2F_MapAttributes + .4byte EverGrandeCity_PokemonCenter_2F_MapEvents + .4byte EverGrandeCity_PokemonCenter_2F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 62 + .byte 15 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/border.bin b/data/maps/EverGrandeCity_PokemonLeague_1F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/EverGrandeCity_PokemonLeague_1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/header.inc b/data/maps/EverGrandeCity_PokemonLeague_1F/header.inc new file mode 100644 index 0000000000..46fa79a734 --- /dev/null +++ b/data/maps/EverGrandeCity_PokemonLeague_1F/header.inc @@ -0,0 +1,15 @@ +EverGrandeCity_PokemonLeague_1F: @ 8483CE4 + .4byte EverGrandeCity_PokemonLeague_1F_MapAttributes + .4byte EverGrandeCity_PokemonLeague_1F_MapEvents + .4byte EverGrandeCity_PokemonLeague_1F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 270 + .byte 15 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/map.bin b/data/maps/EverGrandeCity_PokemonLeague_1F/map.bin new file mode 100644 index 0000000000..6bab68102c --- /dev/null +++ b/data/maps/EverGrandeCity_PokemonLeague_1F/map.bin @@ -0,0 +1,2 @@ +  JK        "#RSI22Hs2*+2[Q$22222222P}2)2t2u2!!!!Y<2@2@2@2@2@2@2@2X!!! 222222%2@2@20232@2@2@2g2222D2 2@2@2@2@2@2@2@2v2{2{2w2@2@2@2@2@2@2'22222@2@2@202{222{232@2@2@2@2^2 +26B2@2@2@282|222|2;2@2@2@2&2f222@2@2@2@2@2~2|2|22@2@2@2=>@2'2 2@2@2&2@2@2@2@2@2A2B2@2@2@2@2EF42'2 2^2^2=>42@2@2@2@2@2@2@2@22&242@2'2(ffEF&2@2@2@222@2@2@2@2@2@2@27 \ No newline at end of file diff --git a/data/maps/EverGrandeCity_PokemonLeague_2F/header.inc b/data/maps/EverGrandeCity_PokemonLeague_2F/header.inc new file mode 100644 index 0000000000..1d7775bfc6 --- /dev/null +++ b/data/maps/EverGrandeCity_PokemonLeague_2F/header.inc @@ -0,0 +1,15 @@ +EverGrandeCity_PokemonLeague_2F: @ 8483D54 + .4byte EverGrandeCity_PokemonLeague_2F_MapAttributes + .4byte EverGrandeCity_PokemonLeague_2F_MapEvents + .4byte EverGrandeCity_PokemonLeague_2F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 62 + .byte 15 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/EverGrandeCity_SidneysRoom/border.bin b/data/maps/EverGrandeCity_SidneysRoom/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/EverGrandeCity_SidneysRoom/border.bin differ diff --git a/data/maps/EverGrandeCity_SidneysRoom/header.inc b/data/maps/EverGrandeCity_SidneysRoom/header.inc new file mode 100644 index 0000000000..594347dc37 --- /dev/null +++ b/data/maps/EverGrandeCity_SidneysRoom/header.inc @@ -0,0 +1,15 @@ +EverGrandeCity_SidneysRoom: @ 8483BCC + .4byte EverGrandeCity_SidneysRoom_MapAttributes + .4byte EverGrandeCity_SidneysRoom_MapEvents + .4byte EverGrandeCity_SidneysRoom_MapScripts + .4byte 0x0 + .2byte MUS_C_ROAD + .2byte 111 + .byte 15 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 4 + diff --git a/data/maps/EverGrandeCity_SidneysRoom/map.bin b/data/maps/EverGrandeCity_SidneysRoom/map.bin new file mode 100644 index 0000000000..ebca00c5c7 --- /dev/null +++ b/data/maps/EverGrandeCity_SidneysRoom/map.bin @@ -0,0 +1,2 @@ +       +      22222(2(2(222222>,2,222222,2,2,2,222222,2,2%&,2,2 2!2"2#2$2,2,2'%?:,2,22)2*2+22,2,2'?-.,2,221222322,2,2/-=262,2,282;2;2;2<2,2,27252922222222222222222222222222,2,2,2HIHI424242HIHI \ No newline at end of file diff --git a/data/maps/FallarborTown/border.bin b/data/maps/FallarborTown/border.bin new file mode 100644 index 0000000000..23e2a92e5d --- /dev/null +++ b/data/maps/FallarborTown/border.bin @@ -0,0 +1 @@ +klst \ No newline at end of file diff --git a/data/maps/FallarborTown/connections.inc b/data/maps/FallarborTown/connections.inc new file mode 100644 index 0000000000..27b654f905 --- /dev/null +++ b/data/maps/FallarborTown/connections.inc @@ -0,0 +1,8 @@ +FallarborTown_MapConnectionsList: @ 8486674 + connection left, 0, ROUTE_114, 0 + connection right, 0, ROUTE_113, 0 + +FallarborTown_MapConnections: @ 848668C + .4byte 0x2 + .4byte FallarborTown_MapConnectionsList + diff --git a/data/maps/FallarborTown/header.inc b/data/maps/FallarborTown/header.inc new file mode 100644 index 0000000000..a6ea87c047 --- /dev/null +++ b/data/maps/FallarborTown/header.inc @@ -0,0 +1,15 @@ +FallarborTown: @ 8482624 + .4byte FallarborTown_MapAttributes + .4byte FallarborTown_MapEvents + .4byte FallarborTown_MapScripts + .4byte FallarborTown_MapConnections + .2byte MUS_TONEKUSA + .2byte 14 + .byte 4 + .byte 0 + .byte 2 + .byte 1 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/FallarborTown/map.bin b/data/maps/FallarborTown/map.bin new file mode 100644 index 0000000000..950a547619 --- /dev/null +++ b/data/maps/FallarborTown/map.bin @@ -0,0 +1 @@ +yyyyyiiiiiiiiiiiiijiiiiiiiiiiiijziiiiij"##$JKLMNjziiiiijz66RSTUVzijzi2y2Z[\]^q2q2PQRSziiy2#6bcdef#6y2XYZ[q2q2q2y2y2y2y2#6jklmn#6y2aby2y222y2y2y2y2y2222y2y2y2y222y2y2y2y2y2222222222222222222y2y2222222222222222222y2y22222y2y2y2y2y222y2y22222y2y2y2y2y2y2y2y2y2y2y2y222y22222y2y2y2y2y2y2y2y2y2 3!3y2y222y20123y22y2%3&3'3y2}2~2(3)3y2y222y289:;22y2-3.3/3y2y2222y2AB6t6y2536373y2y2y222222y222l2y2y2y2y2y2y222222y22s6t6k2222y2y2y2y2y2y2y2y2y2222l6kllklk2222222222st6sts6t6 \ No newline at end of file diff --git a/data/maps/FallarborTown_BattleTentBattleRoom/border.bin b/data/maps/FallarborTown_BattleTentBattleRoom/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/FallarborTown_BattleTentBattleRoom/border.bin differ diff --git a/data/maps/FallarborTown_BattleTentBattleRoom/header.inc b/data/maps/FallarborTown_BattleTentBattleRoom/header.inc new file mode 100644 index 0000000000..2a5695153a --- /dev/null +++ b/data/maps/FallarborTown_BattleTentBattleRoom/header.inc @@ -0,0 +1,15 @@ +FallarborTown_BattleTentBattleRoom: @ 8482DCC + .4byte FallarborTown_BattleTentBattleRoom_MapAttributes + .4byte FallarborTown_BattleTentBattleRoom_MapEvents + .4byte FallarborTown_BattleTentBattleRoom_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 386 + .byte 4 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/FallarborTown_BattleTentBattleRoom/map.bin b/data/maps/FallarborTown_BattleTentBattleRoom/map.bin new file mode 100644 index 0000000000..92a738d5e8 Binary files /dev/null and b/data/maps/FallarborTown_BattleTentBattleRoom/map.bin differ diff --git a/data/maps/FallarborTown_BattleTentCorridor/border.bin b/data/maps/FallarborTown_BattleTentCorridor/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/FallarborTown_BattleTentCorridor/border.bin differ diff --git a/data/maps/FallarborTown_BattleTentCorridor/header.inc b/data/maps/FallarborTown_BattleTentCorridor/header.inc new file mode 100644 index 0000000000..6ac3768742 --- /dev/null +++ b/data/maps/FallarborTown_BattleTentCorridor/header.inc @@ -0,0 +1,15 @@ +FallarborTown_BattleTentCorridor: @ 8482DB0 + .4byte FallarborTown_BattleTentCorridor_MapAttributes + .4byte FallarborTown_BattleTentCorridor_MapEvents + .4byte FallarborTown_BattleTentCorridor_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 385 + .byte 4 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/FallarborTown_BattleTentCorridor/map.bin b/data/maps/FallarborTown_BattleTentCorridor/map.bin new file mode 100644 index 0000000000..4cd270b21d --- /dev/null +++ b/data/maps/FallarborTown_BattleTentCorridor/map.bin @@ -0,0 +1 @@ +6b6c6d66 jkl +*+*#:;:;$;:;:#:;:;$;:;:#%; \ No newline at end of file diff --git a/data/maps/FallarborTown_BattleTentLobby/border.bin b/data/maps/FallarborTown_BattleTentLobby/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/FallarborTown_BattleTentLobby/border.bin differ diff --git a/data/maps/FallarborTown_BattleTentLobby/header.inc b/data/maps/FallarborTown_BattleTentLobby/header.inc new file mode 100644 index 0000000000..64d4180a53 --- /dev/null +++ b/data/maps/FallarborTown_BattleTentLobby/header.inc @@ -0,0 +1,15 @@ +FallarborTown_BattleTentLobby: @ 8482D94 + .4byte FallarborTown_BattleTentLobby_MapAttributes + .4byte FallarborTown_BattleTentLobby_MapEvents + .4byte FallarborTown_BattleTentLobby_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 384 + .byte 4 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/FallarborTown_BattleTentLobby/map.bin b/data/maps/FallarborTown_BattleTentLobby/map.bin new file mode 100644 index 0000000000..9ff37dc2c1 --- /dev/null +++ b/data/maps/FallarborTown_BattleTentLobby/map.bin @@ -0,0 +1,2 @@ +666b6c6d6666 + `a jkl fg2hi 22 22 2no2p 22222 w6"2xyz{2|}~6'222&2222222222222222222222222222222222222220(2222./222( \ No newline at end of file diff --git a/data/maps/FallarborTown_House1/header.inc b/data/maps/FallarborTown_House1/header.inc new file mode 100644 index 0000000000..bbe9d895c6 --- /dev/null +++ b/data/maps/FallarborTown_House1/header.inc @@ -0,0 +1,15 @@ +FallarborTown_House1: @ 8482E20 + .4byte FallarborTown_House1_MapAttributes + .4byte FallarborTown_House1_MapEvents + .4byte FallarborTown_House1_MapScripts + .4byte 0x0 + .2byte MUS_TONEKUSA + .2byte 59 + .byte 4 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/FallarborTown_House2/header.inc b/data/maps/FallarborTown_House2/header.inc new file mode 100644 index 0000000000..bf6d91d023 --- /dev/null +++ b/data/maps/FallarborTown_House2/header.inc @@ -0,0 +1,15 @@ +FallarborTown_House2: @ 8482E3C + .4byte FallarborTown_House2_MapAttributes + .4byte FallarborTown_House2_MapEvents + .4byte FallarborTown_House2_MapScripts + .4byte 0x0 + .2byte MUS_TONEKUSA + .2byte 60 + .byte 4 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/FallarborTown_LeftoverRSContestHall/border.bin b/data/maps/FallarborTown_LeftoverRSContestHall/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/FallarborTown_LeftoverRSContestHall/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/FallarborTown_LeftoverRSContestHall/map.bin b/data/maps/FallarborTown_LeftoverRSContestHall/map.bin new file mode 100644 index 0000000000..d65e7c4893 --- /dev/null +++ b/data/maps/FallarborTown_LeftoverRSContestHall/map.bin @@ -0,0 +1 @@ +/////////////////////nnnbbbbbbbbbbbbbbbbbbbbb 2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2"2(2`2`2              f2`2*2(2`2`2$%2%2%2%2%2%2%2%2%2%2%2%2%2&f2`2*2(2`2`2$%2%2hiiiiiiij%2%2&f2`2*2(2`2`2$%2%2pq2q2q2q2q2o2q2r%2%2&f2`2*2(2`2`2$%2%2pq2q2q22qwBqr%2%2&f2`2*2(2`2`2$%2%2pq2q2q22q2qq2r%2%2&f2`2*2(2`2`2$%2%2pq2q2q2q2q2q2q2r%2%2&f2`2*2(2`2`2$%2%2xyyk2l2m2yyz%2%2&f2`2*2(2`2`222222s2t2u222222f2`2*2(2`2`26s2t2u26f2`2*2(2`2`22_2_2_2_2_2_2_2_2_2_2_2_2_2_2g2`2*2(2`2J2`2`2J2`2`2`2`2`2`2`2`2`2J2`2`2J2`2*2(2`2R6`2`2R6`2`2`2`2`2`2`2R6`2`2R6`2*2 \ No newline at end of file diff --git a/data/maps/FallarborTown_LeftoverRSContestLobby/border.bin b/data/maps/FallarborTown_LeftoverRSContestLobby/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/FallarborTown_LeftoverRSContestLobby/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/FallarborTown_LeftoverRSContestLobby/map.bin b/data/maps/FallarborTown_LeftoverRSContestLobby/map.bin new file mode 100644 index 0000000000..87407546ab --- /dev/null +++ b/data/maps/FallarborTown_LeftoverRSContestLobby/map.bin @@ -0,0 +1 @@ +[\]NMcdebVbbbbTb 2!2!2222U2!2!2!2!2!2"2(2`2`2f2`2`2`2`292(2`2`22_2_2_2_2g2`2`2`2`2`2A2(2`2`2`2`2`2`2`2`2`2`2`2`292(2`2`2`2`2`2`2`2`2`2`2`2A2 \ No newline at end of file diff --git a/data/maps/FallarborTown_Mart/header.inc b/data/maps/FallarborTown_Mart/header.inc new file mode 100644 index 0000000000..70ff79eb71 --- /dev/null +++ b/data/maps/FallarborTown_Mart/header.inc @@ -0,0 +1,15 @@ +FallarborTown_Mart: @ 8482D78 + .4byte FallarborTown_Mart_MapAttributes + .4byte FallarborTown_Mart_MapEvents + .4byte FallarborTown_Mart_MapScripts + .4byte 0x0 + .2byte MUS_FRIENDLY + .2byte 63 + .byte 4 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/FallarborTown_PokemonCenter_1F/header.inc b/data/maps/FallarborTown_PokemonCenter_1F/header.inc new file mode 100644 index 0000000000..c3b9ec95df --- /dev/null +++ b/data/maps/FallarborTown_PokemonCenter_1F/header.inc @@ -0,0 +1,15 @@ +FallarborTown_PokemonCenter_1F: @ 8482DE8 + .4byte FallarborTown_PokemonCenter_1F_MapAttributes + .4byte FallarborTown_PokemonCenter_1F_MapEvents + .4byte FallarborTown_PokemonCenter_1F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 61 + .byte 4 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/FallarborTown_PokemonCenter_2F/header.inc b/data/maps/FallarborTown_PokemonCenter_2F/header.inc new file mode 100644 index 0000000000..655221b8a0 --- /dev/null +++ b/data/maps/FallarborTown_PokemonCenter_2F/header.inc @@ -0,0 +1,15 @@ +FallarborTown_PokemonCenter_2F: @ 8482E04 + .4byte FallarborTown_PokemonCenter_2F_MapAttributes + .4byte FallarborTown_PokemonCenter_2F_MapEvents + .4byte FallarborTown_PokemonCenter_2F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 62 + .byte 4 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/FarawayIsland_Entrance/border.bin b/data/maps/FarawayIsland_Entrance/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/FarawayIsland_Entrance/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/FarawayIsland_Entrance/header.inc b/data/maps/FarawayIsland_Entrance/header.inc new file mode 100644 index 0000000000..8e943d6c34 --- /dev/null +++ b/data/maps/FarawayIsland_Entrance/header.inc @@ -0,0 +1,15 @@ +FarawayIsland_Entrance: @ 848575C + .4byte FarawayIsland_Entrance_MapAttributes + .4byte FarawayIsland_Entrance_MapEvents + .4byte FarawayIsland_Entrance_MapScripts + .4byte 0x0 + .2byte MUS_DAN02 + .2byte 402 + .byte 201 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/FarawayIsland_Entrance/map.bin b/data/maps/FarawayIsland_Entrance/map.bin new file mode 100644 index 0000000000..389f6b0cd5 Binary files /dev/null and b/data/maps/FarawayIsland_Entrance/map.bin differ diff --git a/data/maps/FarawayIsland_Interior/border.bin b/data/maps/FarawayIsland_Interior/border.bin new file mode 100644 index 0000000000..addb5d6ce7 Binary files /dev/null and b/data/maps/FarawayIsland_Interior/border.bin differ diff --git a/data/maps/FarawayIsland_Interior/header.inc b/data/maps/FarawayIsland_Interior/header.inc new file mode 100644 index 0000000000..6d5e3f2d71 --- /dev/null +++ b/data/maps/FarawayIsland_Interior/header.inc @@ -0,0 +1,15 @@ +FarawayIsland_Interior: @ 8485778 + .4byte FarawayIsland_Interior_MapAttributes + .4byte FarawayIsland_Interior_MapEvents + .4byte FarawayIsland_Interior_MapScripts + .4byte 0x0 + .2byte MUS_DAN02 + .2byte 403 + .byte 201 + .byte 0 + .byte 11 + .byte 8 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/FarawayIsland_Interior/map.bin b/data/maps/FarawayIsland_Interior/map.bin new file mode 100644 index 0000000000..8472957346 Binary files /dev/null and b/data/maps/FarawayIsland_Interior/map.bin differ diff --git a/data/maps/FieryPath/border.bin b/data/maps/FieryPath/border.bin new file mode 100644 index 0000000000..9ae2c21264 --- /dev/null +++ b/data/maps/FieryPath/border.bin @@ -0,0 +1 @@ +qqqq \ No newline at end of file diff --git a/data/maps/FieryPath/header.inc b/data/maps/FieryPath/header.inc new file mode 100644 index 0000000000..0cb60553ba --- /dev/null +++ b/data/maps/FieryPath/header.inc @@ -0,0 +1,15 @@ +FieryPath: @ 8484048 + .4byte FieryPath_MapAttributes + .4byte FieryPath_MapEvents + .4byte FieryPath_MapScripts + .4byte 0x0 + .2byte MUS_DAN01 + .2byte 293 + .byte 74 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/FieryPath/map.bin b/data/maps/FieryPath/map.bin new file mode 100644 index 0000000000..5928fb1738 --- /dev/null +++ b/data/maps/FieryPath/map.bin @@ -0,0 +1,10 @@ +qqqq{ttttttt|qqqq{ttttttttttt|qqqqqqqqqr{ttt|qpqqqqr{tttttttt|qpqqqqqqqq{z{333|pqqq{z33333333|pqqqqqqqqrq33333pqqqrq333333333pqqqqqqq{zq33333pqqqr{3333333 33pqqqqqq{zq3 +   ~pqqqr3333 +   ~~qqqqqqr{tt3h   ~qqqr333 +pqqqqqqqqqqqqqrr3333pqqqqqqr333pqqqqqqqqqqqqqrr3 + 3pqqqqqqqr333pqqqqqqqqqqqqqrr33xttttt|qr333pqqqqqqqqqqqqqrr33ttttt|pqr333pqqqqqqqqqqqqqrr3333333333pqr333pqqqqqqqqqqqqqrr3 +      3 +~xtz333pqqqqqqqqqqqqqrr3qqq 3qqqq333pqqqqqqqqqqqqqrr3h  jr33tttt333x|qqqqqqqqqqqqrr3pqrr33333333333pqqqqqqqqqqqqrr3pqqrr333 +    333qpqqqqqqqqqqqqrr3pqqr   ~h j333|x|qqqqqqqqqqrr3pqq     ~qr3333qxtttt|qqqqq{zr3xt|qqqqqqqqr3333tttt|pqqqqqr{3t|xt|qqqqqqr 33333333|pqqqqqrr33 73|x|qqqqqr333333333pqqqqqrr33333|qpqqqqqj333333333pqqqqqr   333qpqqqqqqr     3333pqqqqq  jr333qpqqqqqqiiiij3333pqqqqqqqqrr33 +~qpqqqqqqqqqqqr3333pqqqqqqqqrr3 +~qqpqqqqqqqqqqqr 333pqqqqqqqrr3tt|pqqqqqqqqqqqrq333pqqqqqqqqrr3333ppqqqqqqqqqqqj333pqqqqqqq{z 333pxt|qqqqqqqqqqr333pqqqqqqqr{tz333xt|pqqqqqqqqqqr333pqqqqqqqrr 33333 ppqqqqqqqqqqr333pqqqqqqqrr3333333ppqqqqqqqqqqr333pqqqqqqqrr3333333ppqqqqqqqqqqr333pqqqqqqqrr3333333ppqqqqqqqqqqr333pqqqqqqqr       ~pqqqqqqqqqqr333pqqqqqqqiiiiiiiii~qqqqqqqqqqr3 33pqqqqqqqqqqqqqqqqqqqqqqqqqqqq ~~qqqqq \ No newline at end of file diff --git a/data/maps/FortreeCity/border.bin b/data/maps/FortreeCity/border.bin new file mode 100644 index 0000000000..addb5d6ce7 Binary files /dev/null and b/data/maps/FortreeCity/border.bin differ diff --git a/data/maps/FortreeCity/connections.inc b/data/maps/FortreeCity/connections.inc new file mode 100644 index 0000000000..08541215c4 --- /dev/null +++ b/data/maps/FortreeCity/connections.inc @@ -0,0 +1,8 @@ +FortreeCity_MapConnectionsList: @ 8486784 + connection left, 0, ROUTE_119, 0 + connection right, 0, ROUTE_120, 0 + +FortreeCity_MapConnections: @ 848679C + .4byte 0x2 + .4byte FortreeCity_MapConnectionsList + diff --git a/data/maps/FortreeCity/header.inc b/data/maps/FortreeCity/header.inc new file mode 100644 index 0000000000..6b78eeee19 --- /dev/null +++ b/data/maps/FortreeCity/header.inc @@ -0,0 +1,15 @@ +FortreeCity: @ 8482528 + .4byte FortreeCity_MapAttributes + .4byte FortreeCity_MapEvents + .4byte FortreeCity_MapScripts + .4byte FortreeCity_MapConnections + .2byte MUS_MACHI_S3 + .2byte 5 + .byte 11 + .byte 0 + .byte 2 + .byte 2 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/FortreeCity/map.bin b/data/maps/FortreeCity/map.bin new file mode 100644 index 0000000000..a2aa40e985 --- /dev/null +++ b/data/maps/FortreeCity/map.bin @@ -0,0 +1 @@ +$%&HIJ$%&*$%&$%&+,-./PQR+,-./**+,-./+,-./34567D\DHIJK3456734567**34567*3B>B7PQRS3B?BVBVB;BB>B?BVBVBVB;BB?BVBVB;BB>B7XYZ[CFEFGDDCFFFGDDDCFEFGDDCFEFG0`abcMHIJMHIJM00000X2Y2Y2SSa2PQRcddddea2PQRa2SSS00000000`2a2a2a2a2a2Aa2SAa2a2a2b2000000000h2a2a2a2a2sS`2U2sa2a2a2j200000000000h2a2a2a20`2]*Sa2a2j20000000(0)0)0+00`2a2K2$%&**0111`2a2a2a2a20$%&01230`2K2+,-./0X2Y2Y2Y2Y2a2K2*Sa2a2a2+,-./89:;0`234567K2K2K2K2K2K20h2i2i234567`ABCX2a23B?BVBVBVBVBVBVBVBVBVBVBVBVBVBVBVBNNNNVB;BB>B7000X2a2a2SCFEFGDDDDDDDDDDDDDDD00X2Y2DCFEF6GX2Y2a2a2a2a2SSMHIJL2Y2a2a2S6S6S6MK2K2a2a2a2a2a2a2a2PQRHIJK2a2a2a2a2a2a2K2K2K2a2a2a2a2D\DPQRK2K2a2a2a2K2**K2K2K2K2*D\DK2K2K2 \ No newline at end of file diff --git a/data/maps/FortreeCity_DecorationShop/border.bin b/data/maps/FortreeCity_DecorationShop/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/FortreeCity_DecorationShop/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/FortreeCity_DecorationShop/header.inc b/data/maps/FortreeCity_DecorationShop/header.inc new file mode 100644 index 0000000000..000c589c62 --- /dev/null +++ b/data/maps/FortreeCity_DecorationShop/header.inc @@ -0,0 +1,15 @@ +FortreeCity_DecorationShop: @ 848361C + .4byte FortreeCity_DecorationShop_MapAttributes + .4byte FortreeCity_DecorationShop_MapEvents + .4byte FortreeCity_DecorationShop_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 255 + .byte 11 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/FortreeCity_DecorationShop/map.bin b/data/maps/FortreeCity_DecorationShop/map.bin new file mode 100644 index 0000000000..6ca8b4e610 --- /dev/null +++ b/data/maps/FortreeCity_DecorationShop/map.bin @@ -0,0 +1 @@ +333333333333733337 \ No newline at end of file diff --git a/data/maps/FortreeCity_Gym/border.bin b/data/maps/FortreeCity_Gym/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/FortreeCity_Gym/border.bin differ diff --git a/data/maps/FortreeCity_Gym/header.inc b/data/maps/FortreeCity_Gym/header.inc new file mode 100644 index 0000000000..08e50e944a --- /dev/null +++ b/data/maps/FortreeCity_Gym/header.inc @@ -0,0 +1,15 @@ +FortreeCity_Gym: @ 848353C + .4byte FortreeCity_Gym_MapAttributes + .4byte FortreeCity_Gym_MapEvents + .4byte FortreeCity_Gym_MapScripts + .4byte 0x0 + .2byte MUS_GIM + .2byte 100 + .byte 11 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/FortreeCity_Gym/map.bin b/data/maps/FortreeCity_Gym/map.bin new file mode 100644 index 0000000000..cff9437075 Binary files /dev/null and b/data/maps/FortreeCity_Gym/map.bin differ diff --git a/data/maps/FortreeCity_House1/border.bin b/data/maps/FortreeCity_House1/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/FortreeCity_House1/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/FortreeCity_House1/header.inc b/data/maps/FortreeCity_House1/header.inc new file mode 100644 index 0000000000..4aeeb44251 --- /dev/null +++ b/data/maps/FortreeCity_House1/header.inc @@ -0,0 +1,15 @@ +FortreeCity_House1: @ 8483520 + .4byte FortreeCity_House1_MapAttributes + .4byte FortreeCity_House1_MapEvents + .4byte FortreeCity_House1_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 99 + .byte 11 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/FortreeCity_House1/map.bin b/data/maps/FortreeCity_House1/map.bin new file mode 100644 index 0000000000..5a3ac8cb6b --- /dev/null +++ b/data/maps/FortreeCity_House1/map.bin @@ -0,0 +1 @@ +33333333333333333333733337 \ No newline at end of file diff --git a/data/maps/FortreeCity_House2/border.bin b/data/maps/FortreeCity_House2/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/FortreeCity_House2/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/FortreeCity_House2/header.inc b/data/maps/FortreeCity_House2/header.inc new file mode 100644 index 0000000000..30cad4def5 --- /dev/null +++ b/data/maps/FortreeCity_House2/header.inc @@ -0,0 +1,15 @@ +FortreeCity_House2: @ 84835AC + .4byte FortreeCity_House2_MapAttributes + .4byte FortreeCity_House2_MapEvents + .4byte FortreeCity_House2_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 101 + .byte 11 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/FortreeCity_House2/map.bin b/data/maps/FortreeCity_House2/map.bin new file mode 100644 index 0000000000..3fbcd60430 --- /dev/null +++ b/data/maps/FortreeCity_House2/map.bin @@ -0,0 +1 @@ +37733333333333333333733337 \ No newline at end of file diff --git a/data/maps/FortreeCity_House3/header.inc b/data/maps/FortreeCity_House3/header.inc new file mode 100644 index 0000000000..2e2c7813d0 --- /dev/null +++ b/data/maps/FortreeCity_House3/header.inc @@ -0,0 +1,15 @@ +FortreeCity_House3: @ 84835C8 + .4byte FortreeCity_House3_MapAttributes + .4byte FortreeCity_House3_MapEvents + .4byte FortreeCity_House3_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 99 + .byte 11 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/FortreeCity_House4/header.inc b/data/maps/FortreeCity_House4/header.inc new file mode 100644 index 0000000000..59c17803e0 --- /dev/null +++ b/data/maps/FortreeCity_House4/header.inc @@ -0,0 +1,15 @@ +FortreeCity_House4: @ 84835E4 + .4byte FortreeCity_House4_MapAttributes + .4byte FortreeCity_House4_MapEvents + .4byte FortreeCity_House4_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 101 + .byte 11 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/FortreeCity_House5/header.inc b/data/maps/FortreeCity_House5/header.inc new file mode 100644 index 0000000000..deaa634a86 --- /dev/null +++ b/data/maps/FortreeCity_House5/header.inc @@ -0,0 +1,15 @@ +FortreeCity_House5: @ 8483600 + .4byte FortreeCity_House5_MapAttributes + .4byte FortreeCity_House5_MapEvents + .4byte FortreeCity_House5_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 99 + .byte 11 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/FortreeCity_Mart/header.inc b/data/maps/FortreeCity_Mart/header.inc new file mode 100644 index 0000000000..03ee888520 --- /dev/null +++ b/data/maps/FortreeCity_Mart/header.inc @@ -0,0 +1,15 @@ +FortreeCity_Mart: @ 8483590 + .4byte FortreeCity_Mart_MapAttributes + .4byte FortreeCity_Mart_MapEvents + .4byte FortreeCity_Mart_MapScripts + .4byte 0x0 + .2byte MUS_FRIENDLY + .2byte 63 + .byte 11 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/FortreeCity_PokemonCenter_1F/header.inc b/data/maps/FortreeCity_PokemonCenter_1F/header.inc new file mode 100644 index 0000000000..d065198ad1 --- /dev/null +++ b/data/maps/FortreeCity_PokemonCenter_1F/header.inc @@ -0,0 +1,15 @@ +FortreeCity_PokemonCenter_1F: @ 8483558 + .4byte FortreeCity_PokemonCenter_1F_MapAttributes + .4byte FortreeCity_PokemonCenter_1F_MapEvents + .4byte FortreeCity_PokemonCenter_1F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 61 + .byte 11 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/FortreeCity_PokemonCenter_2F/header.inc b/data/maps/FortreeCity_PokemonCenter_2F/header.inc new file mode 100644 index 0000000000..5eb3483c35 --- /dev/null +++ b/data/maps/FortreeCity_PokemonCenter_2F/header.inc @@ -0,0 +1,15 @@ +FortreeCity_PokemonCenter_2F: @ 8483574 + .4byte FortreeCity_PokemonCenter_2F_MapAttributes + .4byte FortreeCity_PokemonCenter_2F_MapEvents + .4byte FortreeCity_PokemonCenter_2F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 62 + .byte 11 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/GraniteCave_1F/border.bin b/data/maps/GraniteCave_1F/border.bin new file mode 100644 index 0000000000..423a0732e6 --- /dev/null +++ b/data/maps/GraniteCave_1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/GraniteCave_1F/header.inc b/data/maps/GraniteCave_1F/header.inc new file mode 100644 index 0000000000..ebd93d4ebc --- /dev/null +++ b/data/maps/GraniteCave_1F/header.inc @@ -0,0 +1,15 @@ +GraniteCave_1F: @ 8483F84 + .4byte GraniteCave_1F_MapAttributes + .4byte GraniteCave_1F_MapEvents + .4byte GraniteCave_1F_MapScripts + .4byte 0x0 + .2byte MUS_DAN01 + .2byte 132 + .byte 55 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/GraniteCave_1F/map.bin b/data/maps/GraniteCave_1F/map.bin new file mode 100644 index 0000000000..58c7945ab1 --- /dev/null +++ b/data/maps/GraniteCave_1F/map.bin @@ -0,0 +1,5 @@ +22222222222222222222222?22''2222222222222222222222222222222    "2222222222222222222222222222222222222222222222222222222222226222222   +222222222222222222222J6R6F622222 $#  +22222222222<22222222;62;622222# +22222222# XYZ  "222;62;62?22      "#     +2222# "# "2;2;6222#   "2222#      "#       $'# XYZ$$#            $#         $ \ No newline at end of file diff --git a/data/maps/GraniteCave_B1F/border.bin b/data/maps/GraniteCave_B1F/border.bin new file mode 100644 index 0000000000..423a0732e6 --- /dev/null +++ b/data/maps/GraniteCave_B1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/GraniteCave_B1F/header.inc b/data/maps/GraniteCave_B1F/header.inc new file mode 100644 index 0000000000..de946f84c4 --- /dev/null +++ b/data/maps/GraniteCave_B1F/header.inc @@ -0,0 +1,15 @@ +GraniteCave_B1F: @ 8483FA0 + .4byte GraniteCave_B1F_MapAttributes + .4byte GraniteCave_B1F_MapEvents + .4byte GraniteCave_B1F_MapScripts + .4byte 0x0 + .2byte MUS_DAN01 + .2byte 133 + .byte 55 + .byte 1 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/GraniteCave_B1F/map.bin b/data/maps/GraniteCave_B1F/map.bin new file mode 100644 index 0000000000..27f98c6cf8 --- /dev/null +++ b/data/maps/GraniteCave_B1F/map.bin @@ -0,0 +1,10 @@ +2/2/2/2/2/2/22222222/2/2/2/2/2/2/2/2!!!! +222/2/2/2/2/2/22222222/2/2/2/2/2/2/2/2?2222!!!!!! +2?222/2/2/2/2/2/2/2/22222!!!!! +/2/2/2/2/2/222222222/2/2/222?222/2/2/2/2/2/2/222222222/2/2/222222/2/2/2/2/2/2/222222#!#!! +222222#!#!#!#!!!!!!!#222222020222222222222222222222222222222222222222222222222>2222?22222   +222   +222222222222222222222222222  #222222222222222#   +2222222222222222222222222222222222#   +222222=22#  +222 !!!!"2222?222222222#     !!!"#   ###    ##      #     ##       ##                              # \ No newline at end of file diff --git a/data/maps/GraniteCave_B2F/border.bin b/data/maps/GraniteCave_B2F/border.bin new file mode 100644 index 0000000000..423a0732e6 --- /dev/null +++ b/data/maps/GraniteCave_B2F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/GraniteCave_B2F/header.inc b/data/maps/GraniteCave_B2F/header.inc new file mode 100644 index 0000000000..0442638f94 --- /dev/null +++ b/data/maps/GraniteCave_B2F/header.inc @@ -0,0 +1,15 @@ +GraniteCave_B2F: @ 8483FBC + .4byte GraniteCave_B2F_MapAttributes + .4byte GraniteCave_B2F_MapEvents + .4byte GraniteCave_B2F_MapScripts + .4byte 0x0 + .2byte MUS_DAN01 + .2byte 134 + .byte 55 + .byte 1 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/GraniteCave_B2F/map.bin b/data/maps/GraniteCave_B2F/map.bin new file mode 100644 index 0000000000..bbf8dc7af9 --- /dev/null +++ b/data/maps/GraniteCave_B2F/map.bin @@ -0,0 +1,2 @@ +2222222222222222222222262222222222S22222222222222'62>22222222222:2>22222222222222222222222222:2     "222222222222222222>22BR22222226222222222222222222222 $P622            $$        $    666666666666666666666666666666666666666666666S66622  2 2b6 2 2"22S622222222222222222222222222222222222222>2222222222222222222222222222'2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222     +222222222222222222222222222222'222   $22=222222222222     "'222$            $$    $$                $$      $$                              # \ No newline at end of file diff --git a/data/maps/GraniteCave_StevensRoom/border.bin b/data/maps/GraniteCave_StevensRoom/border.bin new file mode 100644 index 0000000000..423a0732e6 --- /dev/null +++ b/data/maps/GraniteCave_StevensRoom/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/GraniteCave_StevensRoom/header.inc b/data/maps/GraniteCave_StevensRoom/header.inc new file mode 100644 index 0000000000..569d46b98b --- /dev/null +++ b/data/maps/GraniteCave_StevensRoom/header.inc @@ -0,0 +1,15 @@ +GraniteCave_StevensRoom: @ 8483FD8 + .4byte GraniteCave_StevensRoom_MapAttributes + .4byte GraniteCave_StevensRoom_MapEvents + .4byte GraniteCave_StevensRoom_MapScripts + .4byte 0x0 + .2byte MUS_DAN01 + .2byte 288 + .byte 55 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/GraniteCave_StevensRoom/map.bin b/data/maps/GraniteCave_StevensRoom/map.bin new file mode 100644 index 0000000000..3dc6987c2e --- /dev/null +++ b/data/maps/GraniteCave_StevensRoom/map.bin @@ -0,0 +1,4 @@ +   22222222222222222222222222$! +22222$ +2222$ +$!!!!!$$!!!!!!!!$$!!!!!!!!!!$ \ No newline at end of file diff --git a/data/maps/InsideOfTruck/border.bin b/data/maps/InsideOfTruck/border.bin new file mode 100644 index 0000000000..8459c29960 --- /dev/null +++ b/data/maps/InsideOfTruck/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/InsideOfTruck/header.inc b/data/maps/InsideOfTruck/header.inc new file mode 100644 index 0000000000..7e63d060f1 --- /dev/null +++ b/data/maps/InsideOfTruck/header.inc @@ -0,0 +1,15 @@ +InsideOfTruck: @ 8484EF0 + .4byte InsideOfTruck_MapAttributes + .4byte InsideOfTruck_MapEvents + .4byte InsideOfTruck_MapScripts + .4byte 0x0 + .2byte 65535 + .2byte 237 + .byte 84 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/InsideOfTruck/map.bin b/data/maps/InsideOfTruck/map.bin new file mode 100644 index 0000000000..84b946be59 --- /dev/null +++ b/data/maps/InsideOfTruck/map.bin @@ -0,0 +1,2 @@ +  +2 2 22222!"#$  \ No newline at end of file diff --git a/data/maps/IslandCave/border.bin b/data/maps/IslandCave/border.bin new file mode 100644 index 0000000000..c07869a9fb --- /dev/null +++ b/data/maps/IslandCave/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/IslandCave/header.inc b/data/maps/IslandCave/header.inc new file mode 100644 index 0000000000..9b9e2b7390 --- /dev/null +++ b/data/maps/IslandCave/header.inc @@ -0,0 +1,15 @@ +IslandCave: @ 8484614 + .4byte IslandCave_MapAttributes + .4byte IslandCave_MapEvents + .4byte IslandCave_MapScripts + .4byte 0x0 + .2byte MUS_MABOROSI + .2byte 280 + .byte 81 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/IslandCave/map.bin b/data/maps/IslandCave/map.bin new file mode 100644 index 0000000000..a7fa61b4d4 Binary files /dev/null and b/data/maps/IslandCave/map.bin differ diff --git a/data/maps/JaggedPass/border.bin b/data/maps/JaggedPass/border.bin new file mode 100644 index 0000000000..9ae2c21264 --- /dev/null +++ b/data/maps/JaggedPass/border.bin @@ -0,0 +1 @@ +qqqq \ No newline at end of file diff --git a/data/maps/JaggedPass/header.inc b/data/maps/JaggedPass/header.inc new file mode 100644 index 0000000000..ad1a4640f9 --- /dev/null +++ b/data/maps/JaggedPass/header.inc @@ -0,0 +1,15 @@ +JaggedPass: @ 848402C + .4byte JaggedPass_MapAttributes + .4byte JaggedPass_MapEvents + .4byte JaggedPass_MapScripts + .4byte 0x0 + .2byte MUS_DAN01 + .2byte 292 + .byte 76 + .byte 0 + .byte 0 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/JaggedPass/map.bin b/data/maps/JaggedPass/map.bin new file mode 100644 index 0000000000..57195b4f55 Binary files /dev/null and b/data/maps/JaggedPass/map.bin differ diff --git a/data/maps/LavaridgeTown/border.bin b/data/maps/LavaridgeTown/border.bin new file mode 100644 index 0000000000..9ae2c21264 --- /dev/null +++ b/data/maps/LavaridgeTown/border.bin @@ -0,0 +1 @@ +qqqq \ No newline at end of file diff --git a/data/maps/LavaridgeTown/connections.inc b/data/maps/LavaridgeTown/connections.inc new file mode 100644 index 0000000000..c522a3460b --- /dev/null +++ b/data/maps/LavaridgeTown/connections.inc @@ -0,0 +1,7 @@ +LavaridgeTown_MapConnectionsList: @ 8486660 + connection right, -40, ROUTE_112, 0 + +LavaridgeTown_MapConnections: @ 848666C + .4byte 0x1 + .4byte LavaridgeTown_MapConnectionsList + diff --git a/data/maps/LavaridgeTown/header.inc b/data/maps/LavaridgeTown/header.inc new file mode 100644 index 0000000000..138cc67788 --- /dev/null +++ b/data/maps/LavaridgeTown/header.inc @@ -0,0 +1,15 @@ +LavaridgeTown: @ 8482608 + .4byte LavaridgeTown_MapAttributes + .4byte LavaridgeTown_MapEvents + .4byte LavaridgeTown_MapScripts + .4byte LavaridgeTown_MapConnections + .2byte MUS_MACHI_S4 + .2byte 13 + .byte 3 + .byte 0 + .byte 2 + .byte 1 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/LavaridgeTown/map.bin b/data/maps/LavaridgeTown/map.bin new file mode 100644 index 0000000000..604ad5f3f8 --- /dev/null +++ b/data/maps/LavaridgeTown/map.bin @@ -0,0 +1,3 @@ +qqqq{ttttt|qqqqqqq66{tttzq22222xttttttttr{2t2|qqqNKLOq6rr2222JHIMyy0123rr2332PQRS2289:;44rr2222XYZ[55`ABC44rr`abc550 1"1044rr2222220 1"10000 1"1000rr2222220 1"1000 1"1000rrBB00 1!11111!1!1111rr22200(1)1)1)1)1)1)1)1)1)1)1rr111111000000000000rr0000 0 0 +00 0 0 +00rr0000rr000  4rr11000 !" !"4rr000000000000400004m00000000000000044qqrm0000000000000044qqllllllllllllllll \ No newline at end of file diff --git a/data/maps/LavaridgeTown_Gym_1F/border.bin b/data/maps/LavaridgeTown_Gym_1F/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/LavaridgeTown_Gym_1F/border.bin differ diff --git a/data/maps/LavaridgeTown_Gym_1F/header.inc b/data/maps/LavaridgeTown_Gym_1F/header.inc new file mode 100644 index 0000000000..f473ddaee2 --- /dev/null +++ b/data/maps/LavaridgeTown_Gym_1F/header.inc @@ -0,0 +1,15 @@ +LavaridgeTown_Gym_1F: @ 8482CD0 + .4byte LavaridgeTown_Gym_1F_MapAttributes + .4byte LavaridgeTown_Gym_1F_MapEvents + .4byte LavaridgeTown_Gym_1F_MapScripts + .4byte 0x0 + .2byte MUS_GIM + .2byte 69 + .byte 3 + .byte 0 + .byte 6 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/LavaridgeTown_Gym_1F/map.bin b/data/maps/LavaridgeTown_Gym_1F/map.bin new file mode 100644 index 0000000000..31d16da5e8 --- /dev/null +++ b/data/maps/LavaridgeTown_Gym_1F/map.bin @@ -0,0 +1,3 @@ +   22222' 222 2222  22222  2222 222  222222  2222  2222  222222  2222  2222 2222  22  222      2222 2 2  22  22  22  !"#$  2222  22  22  22222  2222  22  22  2222  2222  22  22 %&&&&  22 2  22 22222 222 %&  22 22222 2222  22  222 +2222222222 +22  222222222 2222222  22220022 \ No newline at end of file diff --git a/data/maps/LavaridgeTown_Gym_B1F/border.bin b/data/maps/LavaridgeTown_Gym_B1F/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/LavaridgeTown_Gym_B1F/border.bin differ diff --git a/data/maps/LavaridgeTown_Gym_B1F/header.inc b/data/maps/LavaridgeTown_Gym_B1F/header.inc new file mode 100644 index 0000000000..c188cd5ba4 --- /dev/null +++ b/data/maps/LavaridgeTown_Gym_B1F/header.inc @@ -0,0 +1,15 @@ +LavaridgeTown_Gym_B1F: @ 8482CEC + .4byte LavaridgeTown_Gym_B1F_MapAttributes + .4byte LavaridgeTown_Gym_B1F_MapEvents + .4byte LavaridgeTown_Gym_B1F_MapScripts + .4byte 0x0 + .2byte MUS_GIM + .2byte 70 + .byte 3 + .byte 0 + .byte 6 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/LavaridgeTown_Gym_B1F/map.bin b/data/maps/LavaridgeTown_Gym_B1F/map.bin new file mode 100644 index 0000000000..aeaf0177c6 --- /dev/null +++ b/data/maps/LavaridgeTown_Gym_B1F/map.bin @@ -0,0 +1,6 @@ +++++)+++++)++++++3333(33333(3333332222022;220222222 22822 +222222 +282222++++)++)+)+++)+++33331331313331333<22;1221212221222 22221 221 21 2221 222 22221 221 21 2221 222 22221 22191 2221 22292221 221 21%&&1%&& 22221%&1 21 2221 222%&&&1 221 21 2281 222 22221 221 21 2221 222 2822(92( 21 2221 222 22220 220 21%&&( 222 2222: +222 +21 2220 2229222222221 222: +222 22228222219222222 \ No newline at end of file diff --git a/data/maps/LavaridgeTown_HerbShop/border.bin b/data/maps/LavaridgeTown_HerbShop/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/LavaridgeTown_HerbShop/border.bin differ diff --git a/data/maps/LavaridgeTown_HerbShop/header.inc b/data/maps/LavaridgeTown_HerbShop/header.inc new file mode 100644 index 0000000000..5e3fd99a0c --- /dev/null +++ b/data/maps/LavaridgeTown_HerbShop/header.inc @@ -0,0 +1,15 @@ +LavaridgeTown_HerbShop: @ 8482CB4 + .4byte LavaridgeTown_HerbShop_MapAttributes + .4byte LavaridgeTown_HerbShop_MapEvents + .4byte LavaridgeTown_HerbShop_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S4 + .2byte 68 + .byte 3 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LavaridgeTown_HerbShop/map.bin b/data/maps/LavaridgeTown_HerbShop/map.bin new file mode 100644 index 0000000000..cc0294a805 --- /dev/null +++ b/data/maps/LavaridgeTown_HerbShop/map.bin @@ -0,0 +1 @@ +32222x2p2p2p2p22h2h2h2x2p2p2p2p2p2y2h2h2h232h2h2h2h2h2h2h2h2h22g2h2h2h2h2h2h2h2f2Z2abh2h2h2h2h2ab \ No newline at end of file diff --git a/data/maps/LavaridgeTown_House/header.inc b/data/maps/LavaridgeTown_House/header.inc new file mode 100644 index 0000000000..f48bf40359 --- /dev/null +++ b/data/maps/LavaridgeTown_House/header.inc @@ -0,0 +1,15 @@ +LavaridgeTown_House: @ 8482D08 + .4byte LavaridgeTown_House_MapAttributes + .4byte LavaridgeTown_House_MapEvents + .4byte LavaridgeTown_House_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S4 + .2byte 64 + .byte 3 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LavaridgeTown_Mart/header.inc b/data/maps/LavaridgeTown_Mart/header.inc new file mode 100644 index 0000000000..b3f901570f --- /dev/null +++ b/data/maps/LavaridgeTown_Mart/header.inc @@ -0,0 +1,15 @@ +LavaridgeTown_Mart: @ 8482D24 + .4byte LavaridgeTown_Mart_MapAttributes + .4byte LavaridgeTown_Mart_MapEvents + .4byte LavaridgeTown_Mart_MapScripts + .4byte 0x0 + .2byte MUS_FRIENDLY + .2byte 63 + .byte 3 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/border.bin b/data/maps/LavaridgeTown_PokemonCenter_1F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/LavaridgeTown_PokemonCenter_1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/header.inc b/data/maps/LavaridgeTown_PokemonCenter_1F/header.inc new file mode 100644 index 0000000000..30009b084d --- /dev/null +++ b/data/maps/LavaridgeTown_PokemonCenter_1F/header.inc @@ -0,0 +1,15 @@ +LavaridgeTown_PokemonCenter_1F: @ 8482D40 + .4byte LavaridgeTown_PokemonCenter_1F_MapAttributes + .4byte LavaridgeTown_PokemonCenter_1F_MapEvents + .4byte LavaridgeTown_PokemonCenter_1F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 71 + .byte 3 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/map.bin b/data/maps/LavaridgeTown_PokemonCenter_1F/map.bin new file mode 100644 index 0000000000..d841f9f1a1 --- /dev/null +++ b/data/maps/LavaridgeTown_PokemonCenter_1F/map.bin @@ -0,0 +1 @@ +   JK   H"#RSI2222P*+2[Q$2222 2&222X!!!Y<222'2 24222`2l2m2n2o22%222'222222021222322222'26B228292:2;2242=>'222222@2A2B2C22&2EF'2(2222222222&2427 \ No newline at end of file diff --git a/data/maps/LavaridgeTown_PokemonCenter_2F/header.inc b/data/maps/LavaridgeTown_PokemonCenter_2F/header.inc new file mode 100644 index 0000000000..26a5fd6428 --- /dev/null +++ b/data/maps/LavaridgeTown_PokemonCenter_2F/header.inc @@ -0,0 +1,15 @@ +LavaridgeTown_PokemonCenter_2F: @ 8482D5C + .4byte LavaridgeTown_PokemonCenter_2F_MapAttributes + .4byte LavaridgeTown_PokemonCenter_2F_MapEvents + .4byte LavaridgeTown_PokemonCenter_2F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 62 + .byte 3 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity/border.bin b/data/maps/LilycoveCity/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/LilycoveCity/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/LilycoveCity/connections.inc b/data/maps/LilycoveCity/connections.inc new file mode 100644 index 0000000000..e19e028291 --- /dev/null +++ b/data/maps/LilycoveCity/connections.inc @@ -0,0 +1,8 @@ +LilycoveCity_MapConnectionsList: @ 84867A4 + connection left, 10, ROUTE_121, 0 + connection right, -10, ROUTE_124, 0 + +LilycoveCity_MapConnections: @ 84867BC + .4byte 0x2 + .4byte LilycoveCity_MapConnectionsList + diff --git a/data/maps/LilycoveCity/header.inc b/data/maps/LilycoveCity/header.inc new file mode 100644 index 0000000000..37ec483717 --- /dev/null +++ b/data/maps/LilycoveCity/header.inc @@ -0,0 +1,15 @@ +LilycoveCity: @ 8482544 + .4byte LilycoveCity_MapAttributes + .4byte LilycoveCity_MapEvents + .4byte LilycoveCity_MapScripts + .4byte LilycoveCity_MapConnections + .2byte MUS_MINAMO + .2byte 6 + .byte 12 + .byte 0 + .byte 2 + .byte 2 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/LilycoveCity/map.bin b/data/maps/LilycoveCity/map.bin new file mode 100644 index 0000000000..5d6b56ad90 Binary files /dev/null and b/data/maps/LilycoveCity/map.bin differ diff --git a/data/maps/LilycoveCity_ContestHall/border.bin b/data/maps/LilycoveCity_ContestHall/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/LilycoveCity_ContestHall/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/LilycoveCity_ContestHall/header.inc b/data/maps/LilycoveCity_ContestHall/header.inc new file mode 100644 index 0000000000..f8f05f8741 --- /dev/null +++ b/data/maps/LilycoveCity_ContestHall/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_ContestHall: @ 84836C4 + .4byte LilycoveCity_ContestHall_MapAttributes + .4byte LilycoveCity_ContestHall_MapEvents + .4byte LilycoveCity_ContestHall_MapScripts + .4byte 0x0 + .2byte MUS_CONLOBBY + .2byte 106 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_ContestHall/map.bin b/data/maps/LilycoveCity_ContestHall/map.bin new file mode 100644 index 0000000000..06fdae4f76 --- /dev/null +++ b/data/maps/LilycoveCity_ContestHall/map.bin @@ -0,0 +1,3 @@ +///////////////////////////////2222222222~v 2222222222//// +////22222<=>bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb<=> 22222//// +DEF. 2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2"2,DEF////<=>bbbb6(2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2*24bbbb<=>DEF. 2!2!2!2!202`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`222!2!2!2!2"2,DEFbbbb6(2`2`2`2`2`2`2`2`2`2`2`2`2              f2`2`2`2`2`2`2`2`2`2`2`2*24bbbb 2!2!2!2!202`2`2J2`2`2`2`2`2`2`2`2`2$%2%2%2%2%2%2%2%2%2%2%2%2%2&f2`2`2`2`2`2`2`2`2J2`2`222!2!2!2!2"2(2`2`2`2`2`2`2`2R`2`2`2`2`2`2`2`2`2$%2%2hiiiiiiij%2%2&f2`2`2`2`2`2`2`2`2R`2`2`2`2`2`2`2*2(2`2J2`2`2J2`2`2`2`2`2`2H2`2H2`2`2`2$%2%2pq2q2q2q2q2o2q2r%2%2&f2`2`2I2`2I2`2`2`2`2`2`2J2`2`2J2`2*2(2`2R`2`2R`2`2`2`2`2`2P2`2P2`2`2`2$%2%2pq2q2q22qwBqr%2%2&f2`2`2Q2`2Q2`2`2`2`2`2`2R`2`2R`2*2(2`2`2`2`2`2`2`2`2`2`2`2X2`2X2`2`2`2$%2%2pq2q2q22q2qq2r%2%2&f2`2`2Y2`2Y2`2`2`2`2`2`2`2`2`2`2`2*2(2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2$%2%2pq2q2q2q2q2q2q2r%2%2&f2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2*2(2`2`2`2`2`2`2`2`2`2`2`2H2`2H2`2`2`2$%2%2xyy{2|2}2yyz%2%2&f2`2`2I2`2I2`2`2`2`2`2`2`2`2`2`2`2*2(2`2`2`2`2`2`2`2`2`2`2`2P2`2P2`2`2`22222222222222f2`2`2Q2`2Q2`2`2`2`2`2`2`2`2`2`2`2*2(2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2222f2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2*2(2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`22_2_2_2_2_2_2_2_2_2_2_2_2_2_2g2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2*2(2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2*2(2`2`2`2`2`2              f2`2`2`2`2`2`2`2`2              f2`2`2`2`2*2(2`2`2`2`2`2$%2%2%2%2%2%2%2%2%2%2%2%2%2&f2`2`2`2`2`2`2`2`2$%2%2%2%2%2%2%2%2%2%2%2%2%2&f2`2`2`2`2*2(2`2`2`2`2`2$%2%2hiiiiiiij%2%2&f2I2`2`2`2`2`2H2`2$%2%2hiiiiiiij%2%2&f2`2`2`2`2*2(2`2H2`2H2`2$%2%2pq2q2q2q2q2o2q2r%2%2&f2Q2`2`2`2`2`2P2`2$%2%2pq2q2q2q2q2o2q2r%2%2&f2I2`2I2`2*2(2`2P2`2P2`2$%2%2pq2q2q22qwBqr%2%2&f2Y2`2`2`2`2`2X2`2$%2%2pq2q2q22qwBqr%2%2&f2Q2`2Q2`2*2(2`2X2`2X2`2$%2%2pq2q2q22q2qq2r%2%2&f2`2`2`2`2`2`2`2`2$%2%2pq2q2q22q2qq2r%2%2&f2Y2`2Y2`2*2(2`2`2`2`2`2$%2%2pq2q2q2q2q2q2q2r%2%2&f2I2`2`2`2`2`2H2`2$%2%2pq2q2q2q2q2q2q2r%2%2&f2`2`2`2`2*2(2`2H2`2H2`2$%2%2xyy222yyz%2%2&f2Q2`2`2`2`2`2P2`2$%2%2xyy222yyz%2%2&f2I2`2I2`2*2(2`2P2`2P2`22222222222222f2Y2`2`2`2`2`2X2`22222222222222f2Q2`2Q2`2*2(2`2X2`2X2`2222f2`2`2`2`2`2`2`2`2222f2Y2`2Y2`2*2(2`2`2`2`2`22_2_2_2_2_2_2_2_2_2_2_2_2_2_2g2`2`2`2`2`2`2`2`22_2_2_2_2_2_2_2_2_2_2_2_2_2_2g2`2`2`2`2*2(2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2*2(2`2`2J2`2`2`2J2`2`2`2J2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2J2`2`2`2J2`2`2`2J2`2`2*2(2`2`2R`2`2`2R`2`2`2R`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2R`2`2`2R`2`2`2R`2`2*2 \ No newline at end of file diff --git a/data/maps/LilycoveCity_ContestLobby/border.bin b/data/maps/LilycoveCity_ContestLobby/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/LilycoveCity_ContestLobby/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/LilycoveCity_ContestLobby/header.inc b/data/maps/LilycoveCity_ContestLobby/header.inc new file mode 100644 index 0000000000..674726f479 --- /dev/null +++ b/data/maps/LilycoveCity_ContestLobby/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_ContestLobby: @ 84836A8 + .4byte LilycoveCity_ContestLobby_MapAttributes + .4byte LilycoveCity_ContestLobby_MapEvents + .4byte LilycoveCity_ContestLobby_MapScripts + .4byte 0x0 + .2byte MUS_CONLOBBY + .2byte 105 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_ContestLobby/map.bin b/data/maps/LilycoveCity_ContestLobby/map.bin new file mode 100644 index 0000000000..122962e424 --- /dev/null +++ b/data/maps/LilycoveCity_ContestLobby/map.bin @@ -0,0 +1 @@ +[\]:;M[\]bbbbbc6debbBCbbc6debbbbT 2!2!2!2!2!2!2!2!2!2!2222222U2!2!2!2!2!2!2!2!2!2!2"2(2`2`2`2`2`2`2`2`2`2`2f2`2`2`2`2`2`2`2`2`2`2*2(2`2`2`2`2`2`2`2`2`2`22_2_2_2_2_2_2_2g2`2`2`2`2`2`2`2`2`2`2*2(2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2*282`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`292@2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2A2(2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2*282`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`292@2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2A2(2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2*2 \ No newline at end of file diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/border.bin b/data/maps/LilycoveCity_CoveLilyMotel_1F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/LilycoveCity_CoveLilyMotel_1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/header.inc b/data/maps/LilycoveCity_CoveLilyMotel_1F/header.inc new file mode 100644 index 0000000000..149ff5359a --- /dev/null +++ b/data/maps/LilycoveCity_CoveLilyMotel_1F/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_CoveLilyMotel_1F: @ 8483638 + .4byte LilycoveCity_CoveLilyMotel_1F_MapAttributes + .4byte LilycoveCity_CoveLilyMotel_1F_MapEvents + .4byte LilycoveCity_CoveLilyMotel_1F_MapScripts + .4byte 0x0 + .2byte MUS_MINAMO + .2byte 299 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/map.bin b/data/maps/LilycoveCity_CoveLilyMotel_1F/map.bin new file mode 100644 index 0000000000..5242f8e57f --- /dev/null +++ b/data/maps/LilycoveCity_CoveLilyMotel_1F/map.bin @@ -0,0 +1 @@ +a 2!2!2!2!2222!2!2@22!2)2)2)2)2)2)2)2)2)2)2)2!2D2NOD2)2)2D2N_D2)2!2D2VWD2)2)2D2VWD2)2!2)2)2)2)2)2)2)2)2)2)2)2 333333333333#3333333333 \ No newline at end of file diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/border.bin b/data/maps/LilycoveCity_CoveLilyMotel_2F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/LilycoveCity_CoveLilyMotel_2F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/header.inc b/data/maps/LilycoveCity_CoveLilyMotel_2F/header.inc new file mode 100644 index 0000000000..ade9f1a371 --- /dev/null +++ b/data/maps/LilycoveCity_CoveLilyMotel_2F/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_CoveLilyMotel_2F: @ 8483654 + .4byte LilycoveCity_CoveLilyMotel_2F_MapAttributes + .4byte LilycoveCity_CoveLilyMotel_2F_MapEvents + .4byte LilycoveCity_CoveLilyMotel_2F_MapScripts + .4byte 0x0 + .2byte MUS_MINAMO + .2byte 300 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/map.bin b/data/maps/LilycoveCity_CoveLilyMotel_2F/map.bin new file mode 100644 index 0000000000..4484b5b556 --- /dev/null +++ b/data/maps/LilycoveCity_CoveLilyMotel_2F/map.bin @@ -0,0 +1 @@ +a2!2!2!2!2!2!2!22222!2)2N_D2)2)2D2NOD2)2!2D2VWD2)2)2D2VWD2)2!2)2)2)2)2)2)2)2)2)2)2)2!2D2NOD2)2)2)2N_)2)2!2D2VWD2)2)2D2VW)2)2!2)2)2)2)2)2)2)2)2)2)2)2 \ No newline at end of file diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/border.bin b/data/maps/LilycoveCity_DepartmentStoreElevator/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/LilycoveCity_DepartmentStoreElevator/border.bin differ diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/header.inc b/data/maps/LilycoveCity_DepartmentStoreElevator/header.inc new file mode 100644 index 0000000000..9596992372 --- /dev/null +++ b/data/maps/LilycoveCity_DepartmentStoreElevator/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_DepartmentStoreElevator: @ 84838A0 + .4byte LilycoveCity_DepartmentStoreElevator_MapAttributes + .4byte LilycoveCity_DepartmentStoreElevator_MapEvents + .4byte LilycoveCity_DepartmentStoreElevator_MapScripts + .4byte 0x0 + .2byte MUS_MINAMO + .2byte 273 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/map.bin b/data/maps/LilycoveCity_DepartmentStoreElevator/map.bin new file mode 100644 index 0000000000..7d9ae193b4 --- /dev/null +++ b/data/maps/LilycoveCity_DepartmentStoreElevator/map.bin @@ -0,0 +1 @@ +(***,011148999<\2]2]2]2]2d2e2e2e2f2d2O2W2e2f2 \ No newline at end of file diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/border.bin b/data/maps/LilycoveCity_DepartmentStoreRooftop/border.bin new file mode 100644 index 0000000000..c1b82435c8 --- /dev/null +++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/header.inc b/data/maps/LilycoveCity_DepartmentStoreRooftop/header.inc new file mode 100644 index 0000000000..3cf0cac455 --- /dev/null +++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_DepartmentStoreRooftop: @ 8483884 + .4byte LilycoveCity_DepartmentStoreRooftop_MapAttributes + .4byte LilycoveCity_DepartmentStoreRooftop_MapEvents + .4byte LilycoveCity_DepartmentStoreRooftop_MapScripts + .4byte 0x0 + .2byte MUS_MINAMO + .2byte 262 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/map.bin b/data/maps/LilycoveCity_DepartmentStoreRooftop/map.bin new file mode 100644 index 0000000000..e9125baf01 --- /dev/null +++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/map.bin @@ -0,0 +1 @@ +&oo'.S2S2S2S2S2S2S2S2wwS2NO5/622J2J2J2J2J2J2M2M23VW=z'6J2J2J2J2J2J2J2J2J2^_ET2S2/622J2J2J2J2J2J2J2J2J2M2M2M2M2676J2J266J2J266J2J2J2J2J267>U2[2[2[2[2[2[2[2[2[2[2[2[2[2[2[2?FccccccccccccccccG \ No newline at end of file diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/border.bin b/data/maps/LilycoveCity_DepartmentStore_1F/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/LilycoveCity_DepartmentStore_1F/border.bin differ diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/header.inc b/data/maps/LilycoveCity_DepartmentStore_1F/header.inc new file mode 100644 index 0000000000..140fe3568f --- /dev/null +++ b/data/maps/LilycoveCity_DepartmentStore_1F/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_DepartmentStore_1F: @ 84837F8 + .4byte LilycoveCity_DepartmentStore_1F_MapAttributes + .4byte LilycoveCity_DepartmentStore_1F_MapEvents + .4byte LilycoveCity_DepartmentStore_1F_MapScripts + .4byte 0x0 + .2byte MUS_MINAMO + .2byte 257 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/map.bin b/data/maps/LilycoveCity_DepartmentStore_1F/map.bin new file mode 100644 index 0000000000..2d3d153603 --- /dev/null +++ b/data/maps/LilycoveCity_DepartmentStore_1F/map.bin @@ -0,0 +1 @@ +|}~  Px2222p2p22222x2p2p2p2p2p22h2h2h2h2h22h2h2h2n2h22g2h2h2h2h2q2p2p2p2p2p2y2h2h2h2h2h2abhh2h2h2h2h2h2h2h2h2h2h2h2h2n2h22g2h2h2h2h2h2h2h2h2h2h2h2h2l2h2l2l2abh2h2h2h2h2h2h2h2h2h2th2tt \ No newline at end of file diff --git a/data/maps/LilycoveCity_DepartmentStore_2F/border.bin b/data/maps/LilycoveCity_DepartmentStore_2F/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/LilycoveCity_DepartmentStore_2F/border.bin differ diff --git a/data/maps/LilycoveCity_DepartmentStore_2F/header.inc b/data/maps/LilycoveCity_DepartmentStore_2F/header.inc new file mode 100644 index 0000000000..7d28c44b6e --- /dev/null +++ b/data/maps/LilycoveCity_DepartmentStore_2F/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_DepartmentStore_2F: @ 8483814 + .4byte LilycoveCity_DepartmentStore_2F_MapAttributes + .4byte LilycoveCity_DepartmentStore_2F_MapEvents + .4byte LilycoveCity_DepartmentStore_2F_MapScripts + .4byte 0x0 + .2byte MUS_FRIENDLY + .2byte 258 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_DepartmentStore_2F/map.bin b/data/maps/LilycoveCity_DepartmentStore_2F/map.bin new file mode 100644 index 0000000000..82ca90b085 --- /dev/null +++ b/data/maps/LilycoveCity_DepartmentStore_2F/map.bin @@ -0,0 +1 @@ +|}~    PQ 22222222222222222222222222222222222m22222222222222u2234222234222222 2222222m2222222222222222u \ No newline at end of file diff --git a/data/maps/LilycoveCity_DepartmentStore_3F/border.bin b/data/maps/LilycoveCity_DepartmentStore_3F/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/LilycoveCity_DepartmentStore_3F/border.bin differ diff --git a/data/maps/LilycoveCity_DepartmentStore_3F/header.inc b/data/maps/LilycoveCity_DepartmentStore_3F/header.inc new file mode 100644 index 0000000000..2f94cc924f --- /dev/null +++ b/data/maps/LilycoveCity_DepartmentStore_3F/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_DepartmentStore_3F: @ 8483830 + .4byte LilycoveCity_DepartmentStore_3F_MapAttributes + .4byte LilycoveCity_DepartmentStore_3F_MapEvents + .4byte LilycoveCity_DepartmentStore_3F_MapScripts + .4byte 0x0 + .2byte MUS_FRIENDLY + .2byte 259 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_DepartmentStore_3F/map.bin b/data/maps/LilycoveCity_DepartmentStore_3F/map.bin new file mode 100644 index 0000000000..c10b776f56 --- /dev/null +++ b/data/maps/LilycoveCity_DepartmentStore_3F/map.bin @@ -0,0 +1 @@ +|}~6    6QP 222222C2222 22222222222222222222+,2222222222+,2222342222222222342222;<2222222222;<22222222222222222222 \ No newline at end of file diff --git a/data/maps/LilycoveCity_DepartmentStore_4F/border.bin b/data/maps/LilycoveCity_DepartmentStore_4F/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/LilycoveCity_DepartmentStore_4F/border.bin differ diff --git a/data/maps/LilycoveCity_DepartmentStore_4F/header.inc b/data/maps/LilycoveCity_DepartmentStore_4F/header.inc new file mode 100644 index 0000000000..8318c0edcc --- /dev/null +++ b/data/maps/LilycoveCity_DepartmentStore_4F/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_DepartmentStore_4F: @ 848384C + .4byte LilycoveCity_DepartmentStore_4F_MapAttributes + .4byte LilycoveCity_DepartmentStore_4F_MapEvents + .4byte LilycoveCity_DepartmentStore_4F_MapScripts + .4byte 0x0 + .2byte MUS_FRIENDLY + .2byte 260 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_DepartmentStore_4F/map.bin b/data/maps/LilycoveCity_DepartmentStore_4F/map.bin new file mode 100644 index 0000000000..bc1a09e2c4 --- /dev/null +++ b/data/maps/LilycoveCity_DepartmentStore_4F/map.bin @@ -0,0 +1 @@ +|}~    PQ 2222222222222222222222222222222222222222222222222222222662222266662266222 22222666622222222222222222 \ No newline at end of file diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/border.bin b/data/maps/LilycoveCity_DepartmentStore_5F/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/LilycoveCity_DepartmentStore_5F/border.bin differ diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/header.inc b/data/maps/LilycoveCity_DepartmentStore_5F/header.inc new file mode 100644 index 0000000000..da0c4a399e --- /dev/null +++ b/data/maps/LilycoveCity_DepartmentStore_5F/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_DepartmentStore_5F: @ 8483868 + .4byte LilycoveCity_DepartmentStore_5F_MapAttributes + .4byte LilycoveCity_DepartmentStore_5F_MapEvents + .4byte LilycoveCity_DepartmentStore_5F_MapScripts + .4byte 0x0 + .2byte MUS_FRIENDLY + .2byte 261 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/map.bin b/data/maps/LilycoveCity_DepartmentStore_5F/map.bin new file mode 100644 index 0000000000..80acc39008 Binary files /dev/null and b/data/maps/LilycoveCity_DepartmentStore_5F/map.bin differ diff --git a/data/maps/LilycoveCity_Harbor/header.inc b/data/maps/LilycoveCity_Harbor/header.inc new file mode 100644 index 0000000000..1d8faa5d4c --- /dev/null +++ b/data/maps/LilycoveCity_Harbor/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_Harbor: @ 8483750 + .4byte LilycoveCity_Harbor_MapAttributes + .4byte LilycoveCity_Harbor_MapEvents + .4byte LilycoveCity_Harbor_MapScripts + .4byte 0x0 + .2byte MUS_MINAMO + .2byte 88 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_House1/header.inc b/data/maps/LilycoveCity_House1/header.inc new file mode 100644 index 0000000000..c298fe5f15 --- /dev/null +++ b/data/maps/LilycoveCity_House1/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_House1: @ 8483788 + .4byte LilycoveCity_House1_MapAttributes + .4byte LilycoveCity_House1_MapEvents + .4byte LilycoveCity_House1_MapScripts + .4byte 0x0 + .2byte MUS_MINAMO + .2byte 59 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_House2/border.bin b/data/maps/LilycoveCity_House2/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/LilycoveCity_House2/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/LilycoveCity_House2/header.inc b/data/maps/LilycoveCity_House2/header.inc new file mode 100644 index 0000000000..b2276441c2 --- /dev/null +++ b/data/maps/LilycoveCity_House2/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_House2: @ 84837A4 + .4byte LilycoveCity_House2_MapAttributes + .4byte LilycoveCity_House2_MapEvents + .4byte LilycoveCity_House2_MapScripts + .4byte 0x0 + .2byte MUS_MINAMO + .2byte 74 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_House2/map.bin b/data/maps/LilycoveCity_House2/map.bin new file mode 100644 index 0000000000..e381f20ebd --- /dev/null +++ b/data/maps/LilycoveCity_House2/map.bin @@ -0,0 +1 @@ +222!2!2222Y2N6O6)2)2)2)2)2Y2V6W6D2)2)2)2)2!2)2)2)2)2)2)2)2 33333333#333333 \ No newline at end of file diff --git a/data/maps/LilycoveCity_House3/header.inc b/data/maps/LilycoveCity_House3/header.inc new file mode 100644 index 0000000000..2f3c3dc74b --- /dev/null +++ b/data/maps/LilycoveCity_House3/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_House3: @ 84837C0 + .4byte LilycoveCity_House3_MapAttributes + .4byte LilycoveCity_House3_MapEvents + .4byte LilycoveCity_House3_MapScripts + .4byte 0x0 + .2byte MUS_MINAMO + .2byte 60 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_House4/header.inc b/data/maps/LilycoveCity_House4/header.inc new file mode 100644 index 0000000000..6a2acb1558 --- /dev/null +++ b/data/maps/LilycoveCity_House4/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_House4: @ 84837DC + .4byte LilycoveCity_House4_MapAttributes + .4byte LilycoveCity_House4_MapEvents + .4byte LilycoveCity_House4_MapScripts + .4byte 0x0 + .2byte MUS_MINAMO + .2byte 59 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/border.bin b/data/maps/LilycoveCity_LilycoveMuseum_1F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/header.inc b/data/maps/LilycoveCity_LilycoveMuseum_1F/header.inc new file mode 100644 index 0000000000..8b534ed9ad --- /dev/null +++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_LilycoveMuseum_1F: @ 8483670 + .4byte LilycoveCity_LilycoveMuseum_1F_MapAttributes + .4byte LilycoveCity_LilycoveMuseum_1F_MapEvents + .4byte LilycoveCity_LilycoveMuseum_1F_MapScripts + .4byte 0x0 + .2byte MUS_BIJYUTU + .2byte 103 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/map.bin b/data/maps/LilycoveCity_LilycoveMuseum_1F/map.bin new file mode 100644 index 0000000000..6e92a8b583 --- /dev/null +++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/map.bin @@ -0,0 +1 @@ +          !"#$% &'222222222222222222222222222222222 22222222 2 2 2 2 2 2 2 222222222222  -.  /  2222222222256722222:2;2;2;2<22222222222 22222B()*DO222222222222222J012LO22:2;2;2;2;2<222222222RSSSTO22HSAS@I>22222222?2?2?2?2?2F22M2?2?2?2O22222222+222,>222842;2;2;29O222222223>22?2F222RSSSSTO222222?2F22222 \ No newline at end of file diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/border.bin b/data/maps/LilycoveCity_LilycoveMuseum_2F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/header.inc b/data/maps/LilycoveCity_LilycoveMuseum_2F/header.inc new file mode 100644 index 0000000000..0cbbfb2e55 --- /dev/null +++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_LilycoveMuseum_2F: @ 848368C + .4byte LilycoveCity_LilycoveMuseum_2F_MapAttributes + .4byte LilycoveCity_LilycoveMuseum_2F_MapEvents + .4byte LilycoveCity_LilycoveMuseum_2F_MapScripts + .4byte 0x0 + .2byte MUS_BIJYUTU + .2byte 104 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/map.bin b/data/maps/LilycoveCity_LilycoveMuseum_2F/map.bin new file mode 100644 index 0000000000..76a918838e --- /dev/null +++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/map.bin @@ -0,0 +1 @@ +yyyzjklxyyyrstq2p2q2p2q2p2q2q2p2q2q2p2p2q2p2q2p2i2h2i2h2i2h2i2h2i2h2i2h2i2p2q2p2q2q2d2e2f2g2h2i2h2i2d2e2f2g2h2i2h2i2d2e2f2g2h2p2nno2h2i2h2nno2h2i2h2nno2q2XYw{2i2h2i2XYw{2i2h2i2XYw{2p2|2}2~222h2i2h2|2}2~222h2i2h2|2}2~222q2h2i2h2i2d2e2f2g2h2i2h2i2d2e2f2g2h2i2h2i2h2p2i2h2i2h2nno2h2i2h2nno2h2i2h2i2q2h2i2h2i2XYw{2i2h2i2XYw{2i2h2i2h2p2i2h2i2h2|2}2~222h2i2h2|2}2~222h2i2h2i2q2h2i2h2i2h2i2h2i2h2i2h2i2h2i2h2i2h2i2h2i2h2 \ No newline at end of file diff --git a/data/maps/LilycoveCity_MoveDeletersHouse/header.inc b/data/maps/LilycoveCity_MoveDeletersHouse/header.inc new file mode 100644 index 0000000000..5ef550b698 --- /dev/null +++ b/data/maps/LilycoveCity_MoveDeletersHouse/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_MoveDeletersHouse: @ 848376C + .4byte LilycoveCity_MoveDeletersHouse_MapAttributes + .4byte LilycoveCity_MoveDeletersHouse_MapEvents + .4byte LilycoveCity_MoveDeletersHouse_MapScripts + .4byte 0x0 + .2byte MUS_MINAMO + .2byte 60 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/header.inc b/data/maps/LilycoveCity_PokemonCenter_1F/header.inc new file mode 100644 index 0000000000..81f460c868 --- /dev/null +++ b/data/maps/LilycoveCity_PokemonCenter_1F/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_PokemonCenter_1F: @ 84836E0 + .4byte LilycoveCity_PokemonCenter_1F_MapAttributes + .4byte LilycoveCity_PokemonCenter_1F_MapEvents + .4byte LilycoveCity_PokemonCenter_1F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 61 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_PokemonCenter_2F/header.inc b/data/maps/LilycoveCity_PokemonCenter_2F/header.inc new file mode 100644 index 0000000000..d145bab558 --- /dev/null +++ b/data/maps/LilycoveCity_PokemonCenter_2F/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_PokemonCenter_2F: @ 84836FC + .4byte LilycoveCity_PokemonCenter_2F_MapAttributes + .4byte LilycoveCity_PokemonCenter_2F_MapEvents + .4byte LilycoveCity_PokemonCenter_2F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 62 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/border.bin b/data/maps/LilycoveCity_PokemonTrainerFanClub/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/header.inc b/data/maps/LilycoveCity_PokemonTrainerFanClub/header.inc new file mode 100644 index 0000000000..8d2f17dc61 --- /dev/null +++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_PokemonTrainerFanClub: @ 8483734 + .4byte LilycoveCity_PokemonTrainerFanClub_MapAttributes + .4byte LilycoveCity_PokemonTrainerFanClub_MapEvents + .4byte LilycoveCity_PokemonTrainerFanClub_MapScripts + .4byte 0x0 + .2byte MUS_MINAMO + .2byte 107 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/map.bin b/data/maps/LilycoveCity_PokemonTrainerFanClub/map.bin new file mode 100644 index 0000000000..cddfe5d9d2 --- /dev/null +++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/map.bin @@ -0,0 +1,2 @@ +no0vwi    ~22q2$2$2$2$2$282$22292#2#2+2LMLM,2#2#2#292#2#2#2TUTU#2#2#2#292#2#2#2#2#2#2,2#2#2#2#2 322#2#2#2#2#2#2222#2#2#2#2#2#2 526262626272 +hi22$2=2H^HI?2%2p2q292#2#2=2PQPQ?2#2#2#292#2#2E2F2F2F2F2G2#2#2#292#2#2#2#2#2#2#2#2#2#2#292#2#2#2#2 #2#2#2#2#2 \ No newline at end of file diff --git a/data/maps/LilycoveCity_UnusedMart/header.inc b/data/maps/LilycoveCity_UnusedMart/header.inc new file mode 100644 index 0000000000..29e3bd57cf --- /dev/null +++ b/data/maps/LilycoveCity_UnusedMart/header.inc @@ -0,0 +1,15 @@ +LilycoveCity_UnusedMart: @ 8483718 + .4byte LilycoveCity_UnusedMart_MapAttributes + .4byte LilycoveCity_UnusedMart_MapEvents + .4byte LilycoveCity_UnusedMart_MapScripts + .4byte 0x0 + .2byte MUS_FRIENDLY + .2byte 63 + .byte 12 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LinkContestRoom1/border.bin b/data/maps/LinkContestRoom1/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/LinkContestRoom1/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/LinkContestRoom1/header.inc b/data/maps/LinkContestRoom1/header.inc new file mode 100644 index 0000000000..f5d7b9b788 --- /dev/null +++ b/data/maps/LinkContestRoom1/header.inc @@ -0,0 +1,15 @@ +LinkContestRoom1: @ 8484DA0 + .4byte LinkContestRoom1_MapAttributes + .4byte LinkContestRoom1_MapEvents + .4byte LinkContestRoom1_MapScripts + .4byte 0x0 + .2byte MUS_CONTEST0 + .2byte 225 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LinkContestRoom1/map.bin b/data/maps/LinkContestRoom1/map.bin new file mode 100644 index 0000000000..a8853f6ae4 --- /dev/null +++ b/data/maps/LinkContestRoom1/map.bin @@ -0,0 +1 @@ +```````````````              $%2%2%2%2%2%2%2%2%2%2%2%2%2&$%2%2hiiiiiiij%2%2&$%2%2pq2q2q2q2q2o2q2r%2%2&$%2%2pq2q2q22q2w6q2r%2%2&$%2%2pq2q2q22q2q2q2r%2%2&$%2%2pq2q2q2q2q2q2q2r%2%2&$%2%2xyyk2l2m2yyz%2%2&22222s2t2u2222226s2t2u26 \ No newline at end of file diff --git a/data/maps/LinkContestRoom2/border.bin b/data/maps/LinkContestRoom2/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/LinkContestRoom2/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/LinkContestRoom2/header.inc b/data/maps/LinkContestRoom2/header.inc new file mode 100644 index 0000000000..b083a3a938 --- /dev/null +++ b/data/maps/LinkContestRoom2/header.inc @@ -0,0 +1,15 @@ +LinkContestRoom2: @ 8484E64 + .4byte LinkContestRoom2_MapAttributes + .4byte LinkContestRoom2_MapEvents + .4byte LinkContestRoom2_MapScripts + .4byte 0x0 + .2byte MUS_CONTEST0 + .2byte 232 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LinkContestRoom2/map.bin b/data/maps/LinkContestRoom2/map.bin new file mode 100644 index 0000000000..7cb63b40dc --- /dev/null +++ b/data/maps/LinkContestRoom2/map.bin @@ -0,0 +1 @@ +```````````````              $%2%2%2%2%2%2%2%2%2%2%2%2%2&$%2%2hiiiiiiij%2%2&$%2%2pq2q2q2q2q2o2q2r%2%2&$%2%2pq2q2q22q2w6q2r%2%2&$%2%2pq2q2q22q2q2q2r%2%2&$%2%2pq2q2q2q2q2q2q2r%2%2&$%2%2xyy{2|2}2yyz%2%2&222222222222262226 \ No newline at end of file diff --git a/data/maps/LinkContestRoom3/border.bin b/data/maps/LinkContestRoom3/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/LinkContestRoom3/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/LinkContestRoom3/header.inc b/data/maps/LinkContestRoom3/header.inc new file mode 100644 index 0000000000..ec0e6ee7b7 --- /dev/null +++ b/data/maps/LinkContestRoom3/header.inc @@ -0,0 +1,15 @@ +LinkContestRoom3: @ 8484E80 + .4byte LinkContestRoom3_MapAttributes + .4byte LinkContestRoom3_MapEvents + .4byte LinkContestRoom3_MapScripts + .4byte 0x0 + .2byte MUS_CONTEST0 + .2byte 233 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LinkContestRoom3/map.bin b/data/maps/LinkContestRoom3/map.bin new file mode 100644 index 0000000000..59e9e9182d --- /dev/null +++ b/data/maps/LinkContestRoom3/map.bin @@ -0,0 +1 @@ +```````````````              $%2%2%2%2%2%2%2%2%2%2%2%2%2&$%2%2hiiiiiiij%2%2&$%2%2pq2q2q2q2q2o2q2r%2%2&$%2%2pq2q2q22q2w6q2r%2%2&$%2%2pq2q2q22q2q2q2r%2%2&$%2%2pq2q2q2q2q2q2q2r%2%2&$%2%2xyy222yyz%2%2&222222222222262226 \ No newline at end of file diff --git a/data/maps/LinkContestRoom4/border.bin b/data/maps/LinkContestRoom4/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/LinkContestRoom4/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/LinkContestRoom4/header.inc b/data/maps/LinkContestRoom4/header.inc new file mode 100644 index 0000000000..4a172b61f3 --- /dev/null +++ b/data/maps/LinkContestRoom4/header.inc @@ -0,0 +1,15 @@ +LinkContestRoom4: @ 8484E9C + .4byte LinkContestRoom4_MapAttributes + .4byte LinkContestRoom4_MapEvents + .4byte LinkContestRoom4_MapScripts + .4byte 0x0 + .2byte MUS_CONTEST0 + .2byte 234 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LinkContestRoom4/map.bin b/data/maps/LinkContestRoom4/map.bin new file mode 100644 index 0000000000..4e2166c198 --- /dev/null +++ b/data/maps/LinkContestRoom4/map.bin @@ -0,0 +1 @@ +```````````````              $%2%2%2%2%2%2%2%2%2%2%2%2%2&$%2%2hiiiiiiij%2%2&$%2%2pq2q2q2q2q2o2q2r%2%2&$%2%2pq2q2q22q2w6q2r%2%2&$%2%2pq2q2q22q2q2q2r%2%2&$%2%2pq2q2q2q2q2q2q2r%2%2&$%2%2xyy222yyz%2%2&222222222222262226 \ No newline at end of file diff --git a/data/maps/LinkContestRoom5/border.bin b/data/maps/LinkContestRoom5/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/LinkContestRoom5/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/LinkContestRoom5/header.inc b/data/maps/LinkContestRoom5/header.inc new file mode 100644 index 0000000000..a26034ac64 --- /dev/null +++ b/data/maps/LinkContestRoom5/header.inc @@ -0,0 +1,15 @@ +LinkContestRoom5: @ 8484EB8 + .4byte LinkContestRoom5_MapAttributes + .4byte LinkContestRoom5_MapEvents + .4byte LinkContestRoom5_MapScripts + .4byte 0x0 + .2byte MUS_CONTEST0 + .2byte 235 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LinkContestRoom5/map.bin b/data/maps/LinkContestRoom5/map.bin new file mode 100644 index 0000000000..ad068fe7cf --- /dev/null +++ b/data/maps/LinkContestRoom5/map.bin @@ -0,0 +1 @@ +```````````````              $%2%2%2%2%2%2%2%2%2%2%2%2%2&$%2%2hiiiiiiij%2%2&$%2%2pq2q2q2q2q2o2q2r%2%2&$%2%2pq2q2q22q2w6q2r%2%2&$%2%2pq2q2q22q2q2q2r%2%2&$%2%2pq2q2q2q2q2q2q2r%2%2&$%2%2xyy222yyz%2%2&222222222222262226 \ No newline at end of file diff --git a/data/maps/LinkContestRoom6/border.bin b/data/maps/LinkContestRoom6/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/LinkContestRoom6/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/LinkContestRoom6/header.inc b/data/maps/LinkContestRoom6/header.inc new file mode 100644 index 0000000000..436f890473 --- /dev/null +++ b/data/maps/LinkContestRoom6/header.inc @@ -0,0 +1,15 @@ +LinkContestRoom6: @ 8484ED4 + .4byte LinkContestRoom6_MapAttributes + .4byte LinkContestRoom6_MapEvents + .4byte LinkContestRoom6_MapScripts + .4byte 0x0 + .2byte MUS_CONTEST0 + .2byte 236 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LinkContestRoom6/map.bin b/data/maps/LinkContestRoom6/map.bin new file mode 100644 index 0000000000..9fcec5a5ea --- /dev/null +++ b/data/maps/LinkContestRoom6/map.bin @@ -0,0 +1 @@ +```````````````              $%2%2%2%2%2%2%2%2%2%2%2%2%2&$%2%2hiiiiiiij%2%2&$%2%2pq2q2q2q2q2o2q2r%2%2&$%2%2pq2q2q22q2w6q2r%2%2&$%2%2pq2q2q22q2q2q2r%2%2&$%2%2pq2q2q2q2q2q2q2r%2%2&$%2%2xyy222yyz%2%2&222222222222262226 \ No newline at end of file diff --git a/data/maps/LittlerootTown/border.bin b/data/maps/LittlerootTown/border.bin new file mode 100644 index 0000000000..03bcafef11 --- /dev/null +++ b/data/maps/LittlerootTown/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/LittlerootTown/connections.inc b/data/maps/LittlerootTown/connections.inc new file mode 100644 index 0000000000..3f8f421f54 --- /dev/null +++ b/data/maps/LittlerootTown/connections.inc @@ -0,0 +1,7 @@ +LittlerootTown_MapConnectionsList: @ 8486600 + connection up, 0, ROUTE_101, 0 + +LittlerootTown_MapConnections: @ 848660C + .4byte 0x1 + .4byte LittlerootTown_MapConnectionsList + diff --git a/data/maps/LittlerootTown/header.inc b/data/maps/LittlerootTown/header.inc new file mode 100644 index 0000000000..240429a6d1 --- /dev/null +++ b/data/maps/LittlerootTown/header.inc @@ -0,0 +1,15 @@ +LittlerootTown: @ 84825B4 + .4byte LittlerootTown_MapAttributes + .4byte LittlerootTown_MapEvents + .4byte LittlerootTown_MapScripts + .4byte LittlerootTown_MapConnections + .2byte MUS_MISHIRO + .2byte 10 + .byte 0 + .byte 0 + .byte 2 + .byte 1 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/LittlerootTown/map.bin b/data/maps/LittlerootTown/map.bin new file mode 100644 index 0000000000..9af76f90e1 --- /dev/null +++ b/data/maps/LittlerootTown/map.bin @@ -0,0 +1,3 @@ +5000000000000000000000000000000000000002 2 2 2 +20000002 2 2 2 +2000000000000000000000000"20@!000000 @12#0000*:8H)400004(H9:+000000020000000020000000000000000000000000000000000000000000000 2B2C2 2 2 220000000000000JK0000000000000000000000000,A-0000000011000&4I5'00000000110000200000000110000000000000011111111111111 \ No newline at end of file diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/border.bin b/data/maps/LittlerootTown_BrendansHouse_1F/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/LittlerootTown_BrendansHouse_1F/border.bin differ diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/header.inc b/data/maps/LittlerootTown_BrendansHouse_1F/header.inc new file mode 100644 index 0000000000..781e375061 --- /dev/null +++ b/data/maps/LittlerootTown_BrendansHouse_1F/header.inc @@ -0,0 +1,15 @@ +LittlerootTown_BrendansHouse_1F: @ 8482AF4 + .4byte LittlerootTown_BrendansHouse_1F_MapAttributes + .4byte LittlerootTown_BrendansHouse_1F_MapEvents + .4byte LittlerootTown_BrendansHouse_1F_MapScripts + .4byte 0x0 + .2byte MUS_MISHIRO + .2byte 54 + .byte 0 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/map.bin b/data/maps/LittlerootTown_BrendansHouse_1F/map.bin new file mode 100644 index 0000000000..3ae8e69a68 --- /dev/null +++ b/data/maps/LittlerootTown_BrendansHouse_1F/map.bin @@ -0,0 +1 @@ +nnnn01234&&  M89:;<222222B222d222222@A222222252H2I2J2.2622222222662222222 2!2"#$2%222222(2)2*2+2,2-222 \ No newline at end of file diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/border.bin b/data/maps/LittlerootTown_BrendansHouse_2F/border.bin new file mode 100644 index 0000000000..c1b82435c8 --- /dev/null +++ b/data/maps/LittlerootTown_BrendansHouse_2F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/header.inc b/data/maps/LittlerootTown_BrendansHouse_2F/header.inc new file mode 100644 index 0000000000..12047b0402 --- /dev/null +++ b/data/maps/LittlerootTown_BrendansHouse_2F/header.inc @@ -0,0 +1,15 @@ +LittlerootTown_BrendansHouse_2F: @ 8482B10 + .4byte LittlerootTown_BrendansHouse_2F_MapAttributes + .4byte LittlerootTown_BrendansHouse_2F_MapEvents + .4byte LittlerootTown_BrendansHouse_2F_MapScripts + .4byte 0x0 + .2byte MUS_MISHIRO + .2byte 55 + .byte 0 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/map.bin b/data/maps/LittlerootTown_BrendansHouse_2F/map.bin new file mode 100644 index 0000000000..bfa5b907e5 --- /dev/null +++ b/data/maps/LittlerootTown_BrendansHouse_2F/map.bin @@ -0,0 +1 @@ +RTPTV   Z[Ueb2c2x2f2]2x2222{2|2}22222222222222BB222222222222222222222 \ No newline at end of file diff --git a/data/maps/LittlerootTown_MaysHouse_1F/border.bin b/data/maps/LittlerootTown_MaysHouse_1F/border.bin new file mode 100644 index 0000000000..c1b82435c8 --- /dev/null +++ b/data/maps/LittlerootTown_MaysHouse_1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/LittlerootTown_MaysHouse_1F/header.inc b/data/maps/LittlerootTown_MaysHouse_1F/header.inc new file mode 100644 index 0000000000..624be65cbb --- /dev/null +++ b/data/maps/LittlerootTown_MaysHouse_1F/header.inc @@ -0,0 +1,15 @@ +LittlerootTown_MaysHouse_1F: @ 8482B2C + .4byte LittlerootTown_MaysHouse_1F_MapAttributes + .4byte LittlerootTown_MaysHouse_1F_MapEvents + .4byte LittlerootTown_MaysHouse_1F_MapScripts + .4byte 0x0 + .2byte MUS_MISHIRO + .2byte 56 + .byte 0 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LittlerootTown_MaysHouse_1F/map.bin b/data/maps/LittlerootTown_MaysHouse_1F/map.bin new file mode 100644 index 0000000000..21f62ebe3b --- /dev/null +++ b/data/maps/LittlerootTown_MaysHouse_1F/map.bin @@ -0,0 +1 @@ +nnnnno m&&CD120vwux22KL9:82222y22F22222222222@A22222222222222222222 \ No newline at end of file diff --git a/data/maps/LittlerootTown_MaysHouse_2F/border.bin b/data/maps/LittlerootTown_MaysHouse_2F/border.bin new file mode 100644 index 0000000000..c1b82435c8 --- /dev/null +++ b/data/maps/LittlerootTown_MaysHouse_2F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/LittlerootTown_MaysHouse_2F/header.inc b/data/maps/LittlerootTown_MaysHouse_2F/header.inc new file mode 100644 index 0000000000..a22e647164 --- /dev/null +++ b/data/maps/LittlerootTown_MaysHouse_2F/header.inc @@ -0,0 +1,15 @@ +LittlerootTown_MaysHouse_2F: @ 8482B48 + .4byte LittlerootTown_MaysHouse_2F_MapAttributes + .4byte LittlerootTown_MaysHouse_2F_MapEvents + .4byte LittlerootTown_MaysHouse_2F_MapScripts + .4byte 0x0 + .2byte MUS_MISHIRO + .2byte 57 + .byte 0 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LittlerootTown_MaysHouse_2F/map.bin b/data/maps/LittlerootTown_MaysHouse_2F/map.bin new file mode 100644 index 0000000000..5904a96391 --- /dev/null +++ b/data/maps/LittlerootTown_MaysHouse_2F/map.bin @@ -0,0 +1,2 @@ +  +'VTPTQ/WUXYE2222]2g22`2a2222222222222222222222BB2222222222222222 \ No newline at end of file diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/border.bin b/data/maps/LittlerootTown_ProfessorBirchsLab/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/header.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/header.inc new file mode 100644 index 0000000000..c582206124 --- /dev/null +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/header.inc @@ -0,0 +1,15 @@ +LittlerootTown_ProfessorBirchsLab: @ 8482B64 + .4byte LittlerootTown_ProfessorBirchsLab_MapAttributes + .4byte LittlerootTown_ProfessorBirchsLab_MapEvents + .4byte LittlerootTown_ProfessorBirchsLab_MapScripts + .4byte 0x0 + .2byte MUS_ODAMAKI + .2byte 58 + .byte 0 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/map.bin b/data/maps/LittlerootTown_ProfessorBirchsLab/map.bin new file mode 100644 index 0000000000..0f84e80b2c --- /dev/null +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/map.bin @@ -0,0 +1,5 @@ +  < +    + + + !2D"2#2>2"232"232>2(2*2*2A22222)2:2222222222221B22$2%2627222222?2?222,-,-22222224545222222=2>2>2>2222222G2?2220222222222;.H8922222222I2C:2H@2&22222222KBO2?22.22222?2?2 \ No newline at end of file diff --git a/data/maps/MagmaHideout_1F/border.bin b/data/maps/MagmaHideout_1F/border.bin new file mode 100644 index 0000000000..9ae2c21264 --- /dev/null +++ b/data/maps/MagmaHideout_1F/border.bin @@ -0,0 +1 @@ +qqqq \ No newline at end of file diff --git a/data/maps/MagmaHideout_1F/header.inc b/data/maps/MagmaHideout_1F/header.inc new file mode 100644 index 0000000000..eab20d0d0a --- /dev/null +++ b/data/maps/MagmaHideout_1F/header.inc @@ -0,0 +1,15 @@ +MagmaHideout_1F: @ 8484828 + .4byte MagmaHideout_1F_MapAttributes + .4byte MagmaHideout_1F_MapEvents + .4byte MagmaHideout_1F_MapScripts + .4byte 0x0 + .2byte MUS_AJITO + .2byte 336 + .byte 198 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/MagmaHideout_1F/map.bin b/data/maps/MagmaHideout_1F/map.bin new file mode 100644 index 0000000000..fdf0d4252c Binary files /dev/null and b/data/maps/MagmaHideout_1F/map.bin differ diff --git a/data/maps/MagmaHideout_2F_1R/border.bin b/data/maps/MagmaHideout_2F_1R/border.bin new file mode 100644 index 0000000000..9ae2c21264 --- /dev/null +++ b/data/maps/MagmaHideout_2F_1R/border.bin @@ -0,0 +1 @@ +qqqq \ No newline at end of file diff --git a/data/maps/MagmaHideout_2F_1R/header.inc b/data/maps/MagmaHideout_2F_1R/header.inc new file mode 100644 index 0000000000..ff19befabd --- /dev/null +++ b/data/maps/MagmaHideout_2F_1R/header.inc @@ -0,0 +1,15 @@ +MagmaHideout_2F_1R: @ 8484844 + .4byte MagmaHideout_2F_1R_MapAttributes + .4byte MagmaHideout_2F_1R_MapEvents + .4byte MagmaHideout_2F_1R_MapScripts + .4byte 0x0 + .2byte MUS_AJITO + .2byte 337 + .byte 198 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/MagmaHideout_2F_1R/map.bin b/data/maps/MagmaHideout_2F_1R/map.bin new file mode 100644 index 0000000000..d74c32347c --- /dev/null +++ b/data/maps/MagmaHideout_2F_1R/map.bin @@ -0,0 +1,2 @@ +qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq{tttttVttttttttttttttttttttt|qqqqrqqq{t^ttttt-|qqqqq{ttttt|qqqqqrqq33333333tttttz33333qqqqqqrqqq33333333333333333333t|qqqqr{tt3333333333333333333333qqqqrr3333333333333333333333333qqqqrr{tttttttttttttttttt|333qqqqrrr33333333333333333333333qqqqrrr33333333333333333333tt|qqqqrrr33333333333333333333333qqqqrrr33333333333333333333333qqqqrrr{ttttttttttttttttttt|pqqqqrrrr7{tttttttttttttt|77pqqqqrrrr7r33333333333377pqqqqrrr17r333333333333t|pqqqqrrrr7r333333mn33333333pqqqqrrrr7r333333uv33333333pqqqqrrrr{333333}~33333333pqqqqrrrrr3333333333333333333pqqqqrrrrr3333333333333333333pqqqqrrrrr{ttttttttttttttt|pqqqqrrrrrr{ttVt#tttttttt|pqqqqrrrrrrr{t^tt|333333333qqqqrrr1rrrr3333|33333333qqqqrrrrrrrr33333tttttt|pqqqqrrrrrrrr3333333333333pqqqqrrrrrrrr3333333333333pqqqqrrrrrrrr{ttttt-tttt|pqqqqrrrrrrrrr{tttttttt|pqqqqrrrrrrrrr1333333333pqqqqrrrrrrr1rr3333333 +7 pqqqqrrrrrrrrrr3333333qqpqqqqrrrrrrrrrr33333 33qqpqqqqrrrrrrrr1     ~qqpqqqqrrrrrrrrrqqqqqqqqqqqpqqqqrrrrrrrrrqqqqqqqqqpqqqqrrrrrrrrrqqqqqqqqqqpqqqqrrrr1rrrrqqqqqqqqqqqpqq \ No newline at end of file diff --git a/data/maps/MagmaHideout_2F_2R/border.bin b/data/maps/MagmaHideout_2F_2R/border.bin new file mode 100644 index 0000000000..9ae2c21264 --- /dev/null +++ b/data/maps/MagmaHideout_2F_2R/border.bin @@ -0,0 +1 @@ +qqqq \ No newline at end of file diff --git a/data/maps/MagmaHideout_2F_2R/header.inc b/data/maps/MagmaHideout_2F_2R/header.inc new file mode 100644 index 0000000000..8fe07f9ca6 --- /dev/null +++ b/data/maps/MagmaHideout_2F_2R/header.inc @@ -0,0 +1,15 @@ +MagmaHideout_2F_2R: @ 8484860 + .4byte MagmaHideout_2F_2R_MapAttributes + .4byte MagmaHideout_2F_2R_MapEvents + .4byte MagmaHideout_2F_2R_MapScripts + .4byte 0x0 + .2byte MUS_AJITO + .2byte 338 + .byte 198 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/MagmaHideout_2F_2R/map.bin b/data/maps/MagmaHideout_2F_2R/map.bin new file mode 100644 index 0000000000..34cbf7eaa7 --- /dev/null +++ b/data/maps/MagmaHideout_2F_2R/map.bin @@ -0,0 +1,5 @@ +qqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxtttttttttt|qq{ttt|qqqqqqqqqqqqqqq{tttttttttttttttt|p{x|qqqqqqqqqqqqq{z{ttt-tttttttttt|pp{pqqqqqqqqqqqqr{z{GGGGGGGGGGG|ppprx|qqqqqqttttttzrFppp  jpqqqqqqqqqqqqqrq23q2hppqqq{x|qqqqqqqqqqqqr3pqpx|qqqr{|pqqqqqqqqqqqqrh     jF3pqx|pqq{rppqqqqqqqqqq{zpqh  jjh qqppq{{x|x|qqqqqqqqqqrppqqjqqqq jph   p{qr{|x|pqqqqqqqqqqrpqpqq{z{tt|qqjpx|qqqpr{trpq2ppqqqqqqqqqqrpqpq{zqrqqpqqqrx|xt|qxr{tx|pxttttqqqqq{zx|xtz{tzqhqqrx|qx|{tr{t|pxtttttqqqqqr{tt|xt-tzqqqpqqq{3x|qxq{r33ppqqqqqqqqqqq1r333ttttt-t|x|qqr{-ttt|xt-ttqr33ppqqqqqqqqqqqrr33333333333pqxttzr33333xttttttt33ppqqqqqqqqqqqrr33333333333xttttt3333333333333333ppqqqqqqqqqqqrr33333 +   3333333333333333333333333ppqh    qqqqq 3333pqqr3333333333333 +           pqpqqqqqqqqqqqr 333pqq  3333333 +               qpqqqqqqqqqqqr1333pqqqq 33333 +qqqqqqqqqqqqqqqqqqpqqqqqqqqqqrr3 33pqqqqq     qqqqqqqqqqqqqqqqqqpqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqq \ No newline at end of file diff --git a/data/maps/MagmaHideout_2F_3R/border.bin b/data/maps/MagmaHideout_2F_3R/border.bin new file mode 100644 index 0000000000..9ae2c21264 --- /dev/null +++ b/data/maps/MagmaHideout_2F_3R/border.bin @@ -0,0 +1 @@ +qqqq \ No newline at end of file diff --git a/data/maps/MagmaHideout_2F_3R/header.inc b/data/maps/MagmaHideout_2F_3R/header.inc new file mode 100644 index 0000000000..45ea7c94bc --- /dev/null +++ b/data/maps/MagmaHideout_2F_3R/header.inc @@ -0,0 +1,15 @@ +MagmaHideout_2F_3R: @ 84848EC + .4byte MagmaHideout_2F_3R_MapAttributes + .4byte MagmaHideout_2F_3R_MapEvents + .4byte MagmaHideout_2F_3R_MapScripts + .4byte 0x0 + .2byte MUS_AJITO + .2byte 380 + .byte 198 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/MagmaHideout_2F_3R/map.bin b/data/maps/MagmaHideout_2F_3R/map.bin new file mode 100644 index 0000000000..f25017291d --- /dev/null +++ b/data/maps/MagmaHideout_2F_3R/map.bin @@ -0,0 +1 @@ +{tttttttttttttttVttttttttttttttt|r{ttt#ttt#tttttt^ttttttttttr{ttt#ttt#tttttt^tttttttttttttt|rr{tttttttttttt|{tttttt###rr{tttttttttttt|{tttttt###ttt|rr{tttttt#ttt|xz{ttttttttrr{tttttt#ttt|xz{tttttttttt|rrr{tttttttt|r{tttt#ttrrr{tttttttt|r{tttt#ttt|rrrr{tttttt|xttzr{tt#tttrrrr{tttttt|xttzr{tt#ttt|rrrrr{tttt|xttttzr{tttt|rrrrr{tttt|xttttzr{tttt|rrrrrr{tt|xttttttzr{tt|rrrrrr{tt|xttttttzr{tt|rrrrrrr{|xttttttttzr{|rrrrrrr{|xttttttttzr{|rrrrrrrrxtttt#ttt#tzrrrrrrrrrxtttt#ttt#tzrrrrrrrrrxttttttttt#ttzrrrrrrrrxttttttttt#ttzrrrrrrrrXYXYrrrrrrrrXYXYrrrrrrrr`a`arrrrrrrr`a`arrrrr1rr rrrrr1rr                           qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqx|pxttttqqqqq{zx|xtz{t \ No newline at end of file diff --git a/data/maps/MagmaHideout_3F_1R/border.bin b/data/maps/MagmaHideout_3F_1R/border.bin new file mode 100644 index 0000000000..9ae2c21264 --- /dev/null +++ b/data/maps/MagmaHideout_3F_1R/border.bin @@ -0,0 +1 @@ +qqqq \ No newline at end of file diff --git a/data/maps/MagmaHideout_3F_1R/header.inc b/data/maps/MagmaHideout_3F_1R/header.inc new file mode 100644 index 0000000000..70ce39e745 --- /dev/null +++ b/data/maps/MagmaHideout_3F_1R/header.inc @@ -0,0 +1,15 @@ +MagmaHideout_3F_1R: @ 848487C + .4byte MagmaHideout_3F_1R_MapAttributes + .4byte MagmaHideout_3F_1R_MapEvents + .4byte MagmaHideout_3F_1R_MapScripts + .4byte 0x0 + .2byte MUS_AJITO + .2byte 339 + .byte 198 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/MagmaHideout_3F_1R/map.bin b/data/maps/MagmaHideout_3F_1R/map.bin new file mode 100644 index 0000000000..da590f5dd8 --- /dev/null +++ b/data/maps/MagmaHideout_3F_1R/map.bin @@ -0,0 +1 @@ +qqqqqqqqqqqq{tttttt|qqqqqq{ttttttttt|qqqr{|qqqqqr{-t#tt-t|xtttzrxtVttt|r*+++++,xt#-tt}~xtt^tt|r1233+++,r233334r:;;;;;;;;;<r{tt|r{ttttttttttz{|xtVttt|rrr{tttttttt-tz}~xtt^tt|rMrrrrrr{tt|rrMr{ttz{|xttttttt|rrrrr{t#z}~x--t#ttt|rrrrr1{GGGGGGGGGG|rrrrrrF33rrrrrr333rr1rrrF3qrrrrrr{G3rrrrrrF33rrrrMr3rrrrrr~~~~~~ iiiiiiiiiiiii~~~~~~qqqqqqqqqqqqqqqqqqqqqqqqq \ No newline at end of file diff --git a/data/maps/MagmaHideout_3F_2R/border.bin b/data/maps/MagmaHideout_3F_2R/border.bin new file mode 100644 index 0000000000..9ae2c21264 --- /dev/null +++ b/data/maps/MagmaHideout_3F_2R/border.bin @@ -0,0 +1 @@ +qqqq \ No newline at end of file diff --git a/data/maps/MagmaHideout_3F_2R/header.inc b/data/maps/MagmaHideout_3F_2R/header.inc new file mode 100644 index 0000000000..74266da9c5 --- /dev/null +++ b/data/maps/MagmaHideout_3F_2R/header.inc @@ -0,0 +1,15 @@ +MagmaHideout_3F_2R: @ 8484898 + .4byte MagmaHideout_3F_2R_MapAttributes + .4byte MagmaHideout_3F_2R_MapEvents + .4byte MagmaHideout_3F_2R_MapScripts + .4byte 0x0 + .2byte MUS_AJITO + .2byte 340 + .byte 198 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/MagmaHideout_3F_2R/map.bin b/data/maps/MagmaHideout_3F_2R/map.bin new file mode 100644 index 0000000000..49857819ab --- /dev/null +++ b/data/maps/MagmaHideout_3F_2R/map.bin @@ -0,0 +1,7 @@ +qqqqq{tttttttttttttt|qqqqqqqqr{|qqqqqqqqrr`a`a`abcbcbcxtt|qqqqrrXYXYZ[7|qqqqqrr`a`abcuvq{-ttzr}~qr{hijkkknZ[qrpqrsssvbcqrrxyz{{{~Z[qrXYmnmnbcqrr`aXYuvuv +7 ~~qr`a}~}~ +7p6q6q6q6qrr +7~~7q6q6q~~  7 +7p6q6qqqq6q6q6q6r  7 +7~~q6qqqq6qq6q67rq6r 7  +7p6q6q6q6q6q6q6q67q6q6q6~~~~     ~~q6q6qqq6 \ No newline at end of file diff --git a/data/maps/MagmaHideout_3F_3R/border.bin b/data/maps/MagmaHideout_3F_3R/border.bin new file mode 100644 index 0000000000..9ae2c21264 --- /dev/null +++ b/data/maps/MagmaHideout_3F_3R/border.bin @@ -0,0 +1 @@ +qqqq \ No newline at end of file diff --git a/data/maps/MagmaHideout_3F_3R/header.inc b/data/maps/MagmaHideout_3F_3R/header.inc new file mode 100644 index 0000000000..5c1cdc9dea --- /dev/null +++ b/data/maps/MagmaHideout_3F_3R/header.inc @@ -0,0 +1,15 @@ +MagmaHideout_3F_3R: @ 84848D0 + .4byte MagmaHideout_3F_3R_MapAttributes + .4byte MagmaHideout_3F_3R_MapEvents + .4byte MagmaHideout_3F_3R_MapScripts + .4byte 0x0 + .2byte MUS_AJITO + .2byte 379 + .byte 198 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/MagmaHideout_3F_3R/map.bin b/data/maps/MagmaHideout_3F_3R/map.bin new file mode 100644 index 0000000000..7c808ffb52 --- /dev/null +++ b/data/maps/MagmaHideout_3F_3R/map.bin @@ -0,0 +1 @@ +{tttttttttttttttVttttttttttttttt|r{tttttttttttttt^tttttttttttttt|rr{tttttttttttt|{tttttttttttt|rr{tttttttttt|xz{tttttttttt|rr1r{tttttttt|r{tttt#ttt|rr1rr{tttttt|xttzr{tttttt|rrrrr{tttt|rr{tttt|rrrrrr{#t|xttttzrr{#t|rrrrrrr{|rrr{|rrrrrrrrxttt#t#zrrrrrrrrrrrr{zrrrrMrrrrrrx#ttttttzrrrrrrrrrrrx|rrrrrrrrrrrxttttttt#tzrrrrrrrrrr{ttzrrrrrrrrrxt#tttttttz{G|rrrrrrrrrFrrrrrrrrr{GGGG|qq{GGGrrrrrrrrrFqqFrrrrrrrrrrrrrrMrrrFqefFrrrrrrrrr~F~~~~~~~~~iiiiii ii~~~~~~~~~~~qqqqqqqqqqqqqqqqqqqqqqqqqqqqqq \ No newline at end of file diff --git a/data/maps/MagmaHideout_4F/border.bin b/data/maps/MagmaHideout_4F/border.bin new file mode 100644 index 0000000000..9ae2c21264 --- /dev/null +++ b/data/maps/MagmaHideout_4F/border.bin @@ -0,0 +1 @@ +qqqq \ No newline at end of file diff --git a/data/maps/MagmaHideout_4F/header.inc b/data/maps/MagmaHideout_4F/header.inc new file mode 100644 index 0000000000..4416436536 --- /dev/null +++ b/data/maps/MagmaHideout_4F/header.inc @@ -0,0 +1,15 @@ +MagmaHideout_4F: @ 84848B4 + .4byte MagmaHideout_4F_MapAttributes + .4byte MagmaHideout_4F_MapEvents + .4byte MagmaHideout_4F_MapScripts + .4byte 0x0 + .2byte MUS_AJITO + .2byte 341 + .byte 198 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/MagmaHideout_4F/map.bin b/data/maps/MagmaHideout_4F/map.bin new file mode 100644 index 0000000000..45a5547c67 --- /dev/null +++ b/data/maps/MagmaHideout_4F/map.bin @@ -0,0 +1 @@ +qqqqqqqqq{tttttttt-ttttt|{|ppqqqqpqhiiiiijpppqqq{ttz{ttttttqqqq{ttttz{ttttttt|qq{-|xzppxttt|pqxttt|qrppp{ttz{ttzqqqqqqqqqqr{ttz{|qp{tzqx|qpxt|qqpxtt-t|pqrppxzq{tz{tttttttt{-ttzr{zx|xz{-t|pqx|qpqqpqqqqqppqrppq{zqqrhiiiiiiir{tzrxttzpxt|x|pqqx--t|qppqrpxttzqq{zpqqqqqqrr{tzxt||pxttttt|pqpxtzxttttt-zqpqqqqqqqrrrpqpxtt|qqqppqxt|q{tttVttt|p{ttttttrrrqefh     jqx|tt|t|ppqqqpq1{tt^tt|ppr{tttttrrrqh {-t#| jpqqqt|pqpxt|qxtzrppxzrqqqqqrrjh {t{G|xt|jx|px|pqqpqq{zpxttzqq{ttrrqrqhjqr{GG|x|jppqpx|qxtttzxttttttzqqMrqrhp{{F3qx|jppqx|p{-ttttttttttttt-ttttrjrppr{{33|qprpxt|pxz{ttttt-ttttt|qqqhijjrrpp1rqF3|x|jx|qppqqr{ttttt|pqhqrqrrMppr1{333|pq  jx|pxttzr{-|ppqhqqr{rrpxzrF333ph  j1px|q{tzrqqppphqqqrr{rpqq1F33pphjrjx|pr{tzppppqqqrrrqM|qrF33pppprjrppqrrefppppqqqqrr1qrqtz\3ppppjrrpp{zrefpppxtt|qrrr{qd3ppppqrrrpxz{zpppqqqpqrrrrmnFppppqrrjx|qrqh ppqqqpqrrrruvqppppqrjrxtzqh     h pqqqpqrr1r}~mnqh   qjrrh  qqqqqpqpqqqpqr juvqmnpqqqqqqqqqqq jqpqqqh     qqpqqqpqrqqqqr j}~quvpqqqqqqqqqqqqqqrjpqqqpqqqhiiiiqqpqrqqqq     j}~pqqqqqqqqqqqqqqq     qqqpqqqpqqhiiiiiqrqqqqqqqqqq    qqqqqqqqh                qqqpqhqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqpqxttttttttz \ No newline at end of file diff --git a/data/maps/MarineCave_End/border.bin b/data/maps/MarineCave_End/border.bin new file mode 100644 index 0000000000..f0eabd248c --- /dev/null +++ b/data/maps/MarineCave_End/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/MarineCave_End/header.inc b/data/maps/MarineCave_End/header.inc new file mode 100644 index 0000000000..2eda73be99 --- /dev/null +++ b/data/maps/MarineCave_End/header.inc @@ -0,0 +1,15 @@ +MarineCave_End: @ 8484A04 + .4byte MarineCave_End_MapAttributes + .4byte MarineCave_End_MapEvents + .4byte MarineCave_End_MapScripts + .4byte 0x0 + .2byte MUS_DAN01 + .2byte 413 + .byte 203 + .byte 0 + .byte 6 + .byte 4 + .2byte 0 + .byte 14 + .byte 0 + diff --git a/data/maps/MarineCave_End/map.bin b/data/maps/MarineCave_End/map.bin new file mode 100644 index 0000000000..85138661d4 --- /dev/null +++ b/data/maps/MarineCave_End/map.bin @@ -0,0 +1,14 @@ +  + 2222222222222 + + 2222222222222 + +  2222222222222 + +  2222222 + 2222222 +  2222222 + +2222222 +    "22222222222 + 222222222 2222222222222 #####"2222222 #####"##"22222222 ##"2222 #"22222 2#"2222 O2222 OOO222222 NOOOOOON222222 NOOOOOON222222 NNOOOONN222222 NNNNOONNN222222 #2lpNNNNNNp222222 2#2lpppppjs2s2222222 #"2#2s2s2s2s2s2$222222 ##2 2###"2222222222222222  \ No newline at end of file diff --git a/data/maps/MarineCave_Entrance/border.bin b/data/maps/MarineCave_Entrance/border.bin new file mode 100644 index 0000000000..f0eabd248c --- /dev/null +++ b/data/maps/MarineCave_Entrance/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/MarineCave_Entrance/header.inc b/data/maps/MarineCave_Entrance/header.inc new file mode 100644 index 0000000000..a1e97eb95f --- /dev/null +++ b/data/maps/MarineCave_Entrance/header.inc @@ -0,0 +1,15 @@ +MarineCave_Entrance: @ 84849E8 + .4byte MarineCave_Entrance_MapAttributes + .4byte MarineCave_Entrance_MapEvents + .4byte MarineCave_Entrance_MapScripts + .4byte 0x0 + .2byte MUS_DAN01 + .2byte 407 + .byte 203 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 14 + .byte 0 + diff --git a/data/maps/MarineCave_Entrance/map.bin b/data/maps/MarineCave_Entrance/map.bin new file mode 100644 index 0000000000..62aa8537fc --- /dev/null +++ b/data/maps/MarineCave_Entrance/map.bin @@ -0,0 +1,7 @@ +3  $1$1$1$1$1$1$1$1$1  $111111$1$1111111  $11111111$1$11111  $1111pp1$1111ppp1  111pppp1  + $1111ppppp11$1 + 111pppppp11$1 + 11ppppppp11 + 11ppppppppp11 + 11ppppppppp11 +1ppVVVVppppVVpVV \ No newline at end of file diff --git a/data/maps/MauvilleCity/border.bin b/data/maps/MauvilleCity/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/MauvilleCity/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/MauvilleCity/connections.inc b/data/maps/MauvilleCity/connections.inc new file mode 100644 index 0000000000..172a7bc058 --- /dev/null +++ b/data/maps/MauvilleCity/connections.inc @@ -0,0 +1,10 @@ +MauvilleCity_MapConnectionsList: @ 8486720 + connection up, 0, ROUTE_111, 0 + connection down, 0, ROUTE_110, 0 + connection left, 0, ROUTE_117, 0 + connection right, 0, ROUTE_118, 0 + +MauvilleCity_MapConnections: @ 8486750 + .4byte 0x4 + .4byte MauvilleCity_MapConnectionsList + diff --git a/data/maps/MauvilleCity/header.inc b/data/maps/MauvilleCity/header.inc new file mode 100644 index 0000000000..f8dada7668 --- /dev/null +++ b/data/maps/MauvilleCity/header.inc @@ -0,0 +1,15 @@ +MauvilleCity: @ 84824F0 + .4byte MauvilleCity_MapAttributes + .4byte MauvilleCity_MapEvents + .4byte MauvilleCity_MapScripts + .4byte MauvilleCity_MapConnections + .2byte MUS_GOTOWN + .2byte 3 + .byte 9 + .byte 0 + .byte 2 + .byte 2 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/MauvilleCity/map.bin b/data/maps/MauvilleCity/map.bin new file mode 100644 index 0000000000..80a38e9020 Binary files /dev/null and b/data/maps/MauvilleCity/map.bin differ diff --git a/data/maps/MauvilleCity_BikeShop/border.bin b/data/maps/MauvilleCity_BikeShop/border.bin new file mode 100644 index 0000000000..064786e8c3 --- /dev/null +++ b/data/maps/MauvilleCity_BikeShop/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/MauvilleCity_BikeShop/header.inc b/data/maps/MauvilleCity_BikeShop/header.inc new file mode 100644 index 0000000000..723d611514 --- /dev/null +++ b/data/maps/MauvilleCity_BikeShop/header.inc @@ -0,0 +1,15 @@ +MauvilleCity_BikeShop: @ 8483280 + .4byte MauvilleCity_BikeShop_MapAttributes + .4byte MauvilleCity_BikeShop_MapEvents + .4byte MauvilleCity_BikeShop_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 90 + .byte 9 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/MauvilleCity_BikeShop/map.bin b/data/maps/MauvilleCity_BikeShop/map.bin new file mode 100644 index 0000000000..9891b9fd56 --- /dev/null +++ b/data/maps/MauvilleCity_BikeShop/map.bin @@ -0,0 +1,2 @@ +()*+,-  +    012345222892:2;2<2:2@A2B2?2C2D2!"#2$2%2&2HIJ2?2KL?2?2?2?2P2Q2R2?2ST"?2?2?2?2?2?2?2?2EF!"?2?2?2?2?2?2?2?2MN6?22 2?2?2?2?2?2UV \ No newline at end of file diff --git a/data/maps/MauvilleCity_GameCorner/border.bin b/data/maps/MauvilleCity_GameCorner/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/MauvilleCity_GameCorner/border.bin differ diff --git a/data/maps/MauvilleCity_GameCorner/header.inc b/data/maps/MauvilleCity_GameCorner/header.inc new file mode 100644 index 0000000000..9ef8ce9767 --- /dev/null +++ b/data/maps/MauvilleCity_GameCorner/header.inc @@ -0,0 +1,15 @@ +MauvilleCity_GameCorner: @ 84832B8 + .4byte MauvilleCity_GameCorner_MapAttributes + .4byte MauvilleCity_GameCorner_MapEvents + .4byte MauvilleCity_GameCorner_MapScripts + .4byte 0x0 + .2byte MUS_CASINO + .2byte 91 + .byte 9 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/MauvilleCity_GameCorner/map.bin b/data/maps/MauvilleCity_GameCorner/map.bin new file mode 100644 index 0000000000..ce3f9bf739 --- /dev/null +++ b/data/maps/MauvilleCity_GameCorner/map.bin @@ -0,0 +1,3 @@ +<=>>>>?  + + ///DFEFFFG.227772LC2M2N2M2M2O22222222222TVUVUUW 222222222222222\2]2^2^2^2]2_2 22222622$2%2222$2%222222222222222&2,-'22&2,-'22222"# 22"# 222&2,-'22&2,-'22222*+ 22*+ 222&2,-'22&2,-'2222223 2223 222&245'22&245'22222222222222222222222222222222222 \ No newline at end of file diff --git a/data/maps/MauvilleCity_Gym/border.bin b/data/maps/MauvilleCity_Gym/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/MauvilleCity_Gym/border.bin differ diff --git a/data/maps/MauvilleCity_Gym/header.inc b/data/maps/MauvilleCity_Gym/header.inc new file mode 100644 index 0000000000..343a2f01a2 --- /dev/null +++ b/data/maps/MauvilleCity_Gym/header.inc @@ -0,0 +1,15 @@ +MauvilleCity_Gym: @ 8483264 + .4byte MauvilleCity_Gym_MapAttributes + .4byte MauvilleCity_Gym_MapEvents + .4byte MauvilleCity_Gym_MapScripts + .4byte 0x0 + .2byte MUS_GIM + .2byte 89 + .byte 9 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/MauvilleCity_Gym/map.bin b/data/maps/MauvilleCity_Gym/map.bin new file mode 100644 index 0000000000..8860e56518 Binary files /dev/null and b/data/maps/MauvilleCity_Gym/map.bin differ diff --git a/data/maps/MauvilleCity_House1/header.inc b/data/maps/MauvilleCity_House1/header.inc new file mode 100644 index 0000000000..1cf42f8cfa --- /dev/null +++ b/data/maps/MauvilleCity_House1/header.inc @@ -0,0 +1,15 @@ +MauvilleCity_House1: @ 848329C + .4byte MauvilleCity_House1_MapAttributes + .4byte MauvilleCity_House1_MapEvents + .4byte MauvilleCity_House1_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 60 + .byte 9 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/MauvilleCity_House2/header.inc b/data/maps/MauvilleCity_House2/header.inc new file mode 100644 index 0000000000..c1d2da2642 --- /dev/null +++ b/data/maps/MauvilleCity_House2/header.inc @@ -0,0 +1,15 @@ +MauvilleCity_House2: @ 84832D4 + .4byte MauvilleCity_House2_MapAttributes + .4byte MauvilleCity_House2_MapEvents + .4byte MauvilleCity_House2_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 59 + .byte 9 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/MauvilleCity_Mart/header.inc b/data/maps/MauvilleCity_Mart/header.inc new file mode 100644 index 0000000000..c8f5dfb888 --- /dev/null +++ b/data/maps/MauvilleCity_Mart/header.inc @@ -0,0 +1,15 @@ +MauvilleCity_Mart: @ 8483328 + .4byte MauvilleCity_Mart_MapAttributes + .4byte MauvilleCity_Mart_MapEvents + .4byte MauvilleCity_Mart_MapScripts + .4byte 0x0 + .2byte MUS_FRIENDLY + .2byte 63 + .byte 9 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/header.inc b/data/maps/MauvilleCity_PokemonCenter_1F/header.inc new file mode 100644 index 0000000000..39a942e6fc --- /dev/null +++ b/data/maps/MauvilleCity_PokemonCenter_1F/header.inc @@ -0,0 +1,15 @@ +MauvilleCity_PokemonCenter_1F: @ 84832F0 + .4byte MauvilleCity_PokemonCenter_1F_MapAttributes + .4byte MauvilleCity_PokemonCenter_1F_MapEvents + .4byte MauvilleCity_PokemonCenter_1F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 61 + .byte 9 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/MauvilleCity_PokemonCenter_2F/header.inc b/data/maps/MauvilleCity_PokemonCenter_2F/header.inc new file mode 100644 index 0000000000..c09589b5a8 --- /dev/null +++ b/data/maps/MauvilleCity_PokemonCenter_2F/header.inc @@ -0,0 +1,15 @@ +MauvilleCity_PokemonCenter_2F: @ 848330C + .4byte MauvilleCity_PokemonCenter_2F_MapAttributes + .4byte MauvilleCity_PokemonCenter_2F_MapEvents + .4byte MauvilleCity_PokemonCenter_2F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 62 + .byte 9 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/MeteorFalls_1F_1R/border.bin b/data/maps/MeteorFalls_1F_1R/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/MeteorFalls_1F_1R/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/MeteorFalls_1F_1R/header.inc b/data/maps/MeteorFalls_1F_1R/header.inc new file mode 100644 index 0000000000..6ec8509784 --- /dev/null +++ b/data/maps/MeteorFalls_1F_1R/header.inc @@ -0,0 +1,15 @@ +MeteorFalls_1F_1R: @ 8483EC0 + .4byte MeteorFalls_1F_1R_MapAttributes + .4byte MeteorFalls_1F_1R_MapEvents + .4byte MeteorFalls_1F_1R_MapScripts + .4byte 0x0 + .2byte MUS_DAN03 + .2byte 125 + .byte 63 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/MeteorFalls_1F_1R/map.bin b/data/maps/MeteorFalls_1F_1R/map.bin new file mode 100644 index 0000000000..4891475a3c --- /dev/null +++ b/data/maps/MeteorFalls_1F_1R/map.bin @@ -0,0 +1 @@ +4deDDDLDDDDDDDDDDDDDDdeDDDDfg<4lmDDDTDDDDDDfgDDDDDDlmDDDDno<4tu.D/\.DEFGDnoDDDDD/tu.DDDno<42222242DMN2O/vw.DD<22222242vw<42222 242222242(<222222422<422222?2>2>2>2>2?2ppp(<222222?222<42222422ppp(<222224222<42222?2pppppppp(<2222242222<4>2>2>2?2ppppppppp(=2>2>2>2>2?2222<46666>272yppppppx5262>2>2>2<4deDDDD/.DDfgDDDdeD2D<4lmDDDD/.DDnoDDDlmD2D<4tu.DDD/.LDnoDD/tu.2D<42242DD/.TDnoDD<2222<42242*D/LLLLLLLL.\.vw.(<22222<4>2>2?2*TTTTTTTTZ[22((=2>2>2>2>2<422ppppppppppXY(<4>2>2>2?2pppp8pBqBqBqBqBrB9pp(>><42>2>2>2>2>2>222222(=B?B*pp(01111<4>2?2LDD2Dde<2222272yp011111<4fgTDD2Dlm=2>2>2?2DLDD/.DDDDD<4no\)2)2)2)2tu.DDD/DTDD/.DDDDD<4vw)2)2)2)2)2)2)2.DDD/\.D/.DDDDL<4)2)2)2)2)2)2)2)2)2)2)2)2)2)2*DD/.DEFGT<4)2)2)2U2V2W2)2)2)2)2)2)2**D/.DMN2O\<411]^_1111212**/LLL.<2222<4*)2U2W2U2V2V2W2)2)2)2)2)2***TTT(<222<42]_]^^_112112**ppp(<2222<41U2V2V2V2W2U2W2)2)2)2)**ppp(<2222<41]^^^_]_121112*ppp(<2222<4*U2W2U2V2V2W2U2V2W2)2)2)2)2*ppp(<2222<4*]_]^^_]^_)222)22pPQ(=222<4*U2V2V2V2W2U2V2V2W2)222)2*pXY0=2>2<4*]^^^_]^^_21112pppp0111<4*)2)2)2)2)2)2)2)2)2)2)2)2)2pppppZ[<42)2)2)2$2)2)2)2)2)2)2)2)26)2ppppPQppXY<4XXYHIJY")2)2)2)2)2)26ppppXYpppp<6666666666666666666666666666 \ No newline at end of file diff --git a/data/maps/MeteorFalls_1F_2R/border.bin b/data/maps/MeteorFalls_1F_2R/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/MeteorFalls_1F_2R/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/MeteorFalls_1F_2R/header.inc b/data/maps/MeteorFalls_1F_2R/header.inc new file mode 100644 index 0000000000..946b15c66c --- /dev/null +++ b/data/maps/MeteorFalls_1F_2R/header.inc @@ -0,0 +1,15 @@ +MeteorFalls_1F_2R: @ 8483EDC + .4byte MeteorFalls_1F_2R_MapAttributes + .4byte MeteorFalls_1F_2R_MapEvents + .4byte MeteorFalls_1F_2R_MapScripts + .4byte 0x0 + .2byte MUS_DAN03 + .2byte 126 + .byte 63 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/MeteorFalls_1F_2R/map.bin b/data/maps/MeteorFalls_1F_2R/map.bin new file mode 100644 index 0000000000..67ce2b7840 --- /dev/null +++ b/data/maps/MeteorFalls_1F_2R/map.bin @@ -0,0 +1,2 @@ +>>>>>>>>>>>>>>4111111111111<4222222222222(=>>>>?22222222222201111=>>>>>>>>?2>2>2>2>2>2U2V2V2W2U2W2=>>01111111111212111]^^_]_11=>>>>>11111112>2>2>2>2>2U2W2U2V2V2V2W2=01111114112111]_]^^^_1111<>>>>?*>2>2>2>2>2U2V2W2U2W2U2V2V2W2=>>(<4111121211]^_]_]^^_11(<4*11112>2>2>2U2W2U2V2V2W22U2V2V2W2=((=>4**4111121]_]^^_]^^_(01<4**?2222222U2V2V2W222222201(<4**2222222]^^_2U2W2U2V2W2=>((<4** 22222U2V2V2W2222]_]^_1((<4**2222]^^_2222222(((<4** +2222222<42U2W2U2V2V2W2(((<4**>?2222U2V2W2=?2]_]^^_(((<4**?22]^_2222222(((<4**?22222222222222222(((<4**22 2222222222222222(((<4**22222Z[22222222223(<4**pXY222222(<(<4**pppppPQpppp2222 22((34**dQppPQXYpppp222222(((<4**lYPQXYpppppp222222(((<4**pXYppppp6262622223((<4**pppppppp222222(<((<4**pp626262626262222222(<3(<4**pp222222222222(<(<34**kzqqzk}Q(<(<66 \ No newline at end of file diff --git a/data/maps/MeteorFalls_B1F_1R/border.bin b/data/maps/MeteorFalls_B1F_1R/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/MeteorFalls_B1F_1R/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/MeteorFalls_B1F_1R/header.inc b/data/maps/MeteorFalls_B1F_1R/header.inc new file mode 100644 index 0000000000..a138eeb06c --- /dev/null +++ b/data/maps/MeteorFalls_B1F_1R/header.inc @@ -0,0 +1,15 @@ +MeteorFalls_B1F_1R: @ 8483EF8 + .4byte MeteorFalls_B1F_1R_MapAttributes + .4byte MeteorFalls_B1F_1R_MapEvents + .4byte MeteorFalls_B1F_1R_MapScripts + .4byte 0x0 + .2byte MUS_DAN03 + .2byte 127 + .byte 63 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/MeteorFalls_B1F_1R/map.bin b/data/maps/MeteorFalls_B1F_1R/map.bin new file mode 100644 index 0000000000..a37afdb17f --- /dev/null +++ b/data/maps/MeteorFalls_B1F_1R/map.bin @@ -0,0 +1,6 @@ +>>>>>>>>>>>>>>>?DDDDDDDDDD=>>>4DDDD/DDDEFGDDDD.DD<?DDD/DDDMN2ODDDD.D(<411111D/22222222.((<4*11c11B*222222222(((<4*BB BBBBB*2222222222p(((<4*BBBBBB*p(((<4*BBBBBB*ppppppppppp((=4*BBRRR +*ppppppppppp((0<4*BBR?R*p(BB*pppp(<4*RRRRRR4RBBBBB12pppp(<4R RRRRR>R?RBBBBB*pppp(<4RRR4RBBBBB*pppppp(<4RRRR4RBBBBBBB*pppppp(<4RRRR4RBBBBBBB2pppppxk(<6 +B*ppppx(<(<R4 +*ppppp(<(<R4*ppppp(<(<R4*ppppp(<R4*ppppp(<<R4*ppppp(<<R4*ppppp(<<R4*2222222<<R4*222222<<R4*222222<<R66}~ \ No newline at end of file diff --git a/data/maps/MeteorFalls_B1F_2R/border.bin b/data/maps/MeteorFalls_B1F_2R/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/MeteorFalls_B1F_2R/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/MeteorFalls_B1F_2R/header.inc b/data/maps/MeteorFalls_B1F_2R/header.inc new file mode 100644 index 0000000000..2d3f50932c --- /dev/null +++ b/data/maps/MeteorFalls_B1F_2R/header.inc @@ -0,0 +1,15 @@ +MeteorFalls_B1F_2R: @ 8483F14 + .4byte MeteorFalls_B1F_2R_MapAttributes + .4byte MeteorFalls_B1F_2R_MapEvents + .4byte MeteorFalls_B1F_2R_MapScripts + .4byte 0x0 + .2byte MUS_DAN03 + .2byte 128 + .byte 63 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/MeteorFalls_B1F_2R/map.bin b/data/maps/MeteorFalls_B1F_2R/map.bin new file mode 100644 index 0000000000..5f4497752a --- /dev/null +++ b/data/maps/MeteorFalls_B1F_2R/map.bin @@ -0,0 +1 @@ +>>>>>>>>>41111111<4*11111(<4**22222((<4**22222((<4**((<4**ppp((<4**ppp((<4**ppp((<4**ppp((<4**ppp((<4**ppp((<4**ppp((<4**ppp((<4**22222((<4**22222((<4*}~(< \ No newline at end of file diff --git a/data/maps/MeteorFalls_StevensCave/border.bin b/data/maps/MeteorFalls_StevensCave/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/MeteorFalls_StevensCave/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/MeteorFalls_StevensCave/header.inc b/data/maps/MeteorFalls_StevensCave/header.inc new file mode 100644 index 0000000000..d5415ea46a --- /dev/null +++ b/data/maps/MeteorFalls_StevensCave/header.inc @@ -0,0 +1,15 @@ +MeteorFalls_StevensCave: @ 8484A74 + .4byte MeteorFalls_StevensCave_MapAttributes + .4byte MeteorFalls_StevensCave_MapEvents + .4byte MeteorFalls_StevensCave_MapScripts + .4byte 0x0 + .2byte MUS_DAN03 + .2byte 431 + .byte 63 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/MeteorFalls_StevensCave/map.bin b/data/maps/MeteorFalls_StevensCave/map.bin new file mode 100644 index 0000000000..e509d66c27 --- /dev/null +++ b/data/maps/MeteorFalls_StevensCave/map.bin @@ -0,0 +1,21 @@ +               "11111      +             "111((    +(  "1111111121((((666(61111111122((((1112(61111111122(((111112(61111111122((111116(61111111122(11111(6(6222222222011111((6(62222222222222(((6(62222222         (6(6222222(        +(6(12222222((1111111(6(111       +22(111111!!611111     " +21 +1((  +111111  +222((((((6111111((6  +22((2((((61111(((6622((2((((6*2222(((1622(2((((6*2222(((612622112((((6*22(((612222222((((6*222(((*1222222((((6    +222(((6**2222222    (6  + +2((**222222(6   6(6** +2(222222((6(   +(6***2222   ((6(( +(6***2222222222(66  6((((6**  +2222222(6(666((((6**6   +22222222(((   (((6*    +*2222   ((((6  ((6*    +**22222(   (((6(66(6    +* HIJ   (666(((6                \ No newline at end of file diff --git a/data/maps/MirageTower_1F/border.bin b/data/maps/MirageTower_1F/border.bin new file mode 100644 index 0000000000..58596f99a6 --- /dev/null +++ b/data/maps/MirageTower_1F/border.bin @@ -0,0 +1 @@ +EEEE \ No newline at end of file diff --git a/data/maps/MirageTower_1F/header.inc b/data/maps/MirageTower_1F/header.inc new file mode 100644 index 0000000000..27611506e0 --- /dev/null +++ b/data/maps/MirageTower_1F/header.inc @@ -0,0 +1,15 @@ +MirageTower_1F: @ 8484908 + .4byte MirageTower_1F_MapAttributes + .4byte MirageTower_1F_MapEvents + .4byte MirageTower_1F_MapScripts + .4byte 0x0 + .2byte MUS_TOZAN + .2byte 381 + .byte 199 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/MirageTower_1F/map.bin b/data/maps/MirageTower_1F/map.bin new file mode 100644 index 0000000000..b77d14890e --- /dev/null +++ b/data/maps/MirageTower_1F/map.bin @@ -0,0 +1,3 @@ +EE  EEEEEE2222222222222222222222222222222p     q22222222p 22222 q2222222p2222222q22222222222222222222222222222222222222222222222222222222hi2222222hi222   +2222222222222p     +22222<222222   E      XY       EE                 E \ No newline at end of file diff --git a/data/maps/MirageTower_2F/border.bin b/data/maps/MirageTower_2F/border.bin new file mode 100644 index 0000000000..58596f99a6 --- /dev/null +++ b/data/maps/MirageTower_2F/border.bin @@ -0,0 +1 @@ +EEEE \ No newline at end of file diff --git a/data/maps/MirageTower_2F/header.inc b/data/maps/MirageTower_2F/header.inc new file mode 100644 index 0000000000..f512754e7a --- /dev/null +++ b/data/maps/MirageTower_2F/header.inc @@ -0,0 +1,15 @@ +MirageTower_2F: @ 8484924 + .4byte MirageTower_2F_MapAttributes + .4byte MirageTower_2F_MapEvents + .4byte MirageTower_2F_MapScripts + .4byte 0x0 + .2byte MUS_TOZAN + .2byte 382 + .byte 199 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/MirageTower_2F/map.bin b/data/maps/MirageTower_2F/map.bin new file mode 100644 index 0000000000..79c3056a92 --- /dev/null +++ b/data/maps/MirageTower_2F/map.bin @@ -0,0 +1,3 @@ +EE  EEEEEE22222222222?222222222222222/2/2222p     q2222/2/222p 22222 q2222/2/22p2222222q222/2/222222222222/2222222222/22222222222/2222222222222hi222222hi2222   +2222222222222     +2222222222222   E2               2EE2                 2E \ No newline at end of file diff --git a/data/maps/MirageTower_3F/border.bin b/data/maps/MirageTower_3F/border.bin new file mode 100644 index 0000000000..58596f99a6 --- /dev/null +++ b/data/maps/MirageTower_3F/border.bin @@ -0,0 +1 @@ +EEEE \ No newline at end of file diff --git a/data/maps/MirageTower_3F/header.inc b/data/maps/MirageTower_3F/header.inc new file mode 100644 index 0000000000..bdd93292e4 --- /dev/null +++ b/data/maps/MirageTower_3F/header.inc @@ -0,0 +1,15 @@ +MirageTower_3F: @ 8484940 + .4byte MirageTower_3F_MapAttributes + .4byte MirageTower_3F_MapEvents + .4byte MirageTower_3F_MapScripts + .4byte 0x0 + .2byte MUS_TOZAN + .2byte 383 + .byte 199 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/MirageTower_3F/map.bin b/data/maps/MirageTower_3F/map.bin new file mode 100644 index 0000000000..376ac28368 --- /dev/null +++ b/data/maps/MirageTower_3F/map.bin @@ -0,0 +1,6 @@ +EE  EEEEEE2222222222222222222222222222222      +222222222 22222  +22222222222 +/222222222222/22/222222222222222222222222222222222222222222222222222   +2222222222222     +2222222222222   E2               2EE2                 2E \ No newline at end of file diff --git a/data/maps/MirageTower_4F/border.bin b/data/maps/MirageTower_4F/border.bin new file mode 100644 index 0000000000..58596f99a6 --- /dev/null +++ b/data/maps/MirageTower_4F/border.bin @@ -0,0 +1 @@ +EEEE \ No newline at end of file diff --git a/data/maps/MirageTower_4F/header.inc b/data/maps/MirageTower_4F/header.inc new file mode 100644 index 0000000000..ff38fd9cad --- /dev/null +++ b/data/maps/MirageTower_4F/header.inc @@ -0,0 +1,15 @@ +MirageTower_4F: @ 848495C + .4byte MirageTower_4F_MapAttributes + .4byte MirageTower_4F_MapEvents + .4byte MirageTower_4F_MapScripts + .4byte 0x0 + .2byte MUS_TOZAN + .2byte 388 + .byte 199 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/MirageTower_4F/map.bin b/data/maps/MirageTower_4F/map.bin new file mode 100644 index 0000000000..283534fb73 --- /dev/null +++ b/data/maps/MirageTower_4F/map.bin @@ -0,0 +1,2 @@ +EE EE22222222  B B B B Bq2222BBBBB2222BBBBB2222BBBBB2222i222222222222   +2222222   E         E \ No newline at end of file diff --git a/data/maps/MossdeepCity/border.bin b/data/maps/MossdeepCity/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/MossdeepCity/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/MossdeepCity/connections.inc b/data/maps/MossdeepCity/connections.inc new file mode 100644 index 0000000000..04a3f0c4bb --- /dev/null +++ b/data/maps/MossdeepCity/connections.inc @@ -0,0 +1,8 @@ +MossdeepCity_MapConnectionsList: @ 84867C4 + connection up, 0, ROUTE_125, 0 + connection down, 0, ROUTE_127, 0 + connection left, -40, ROUTE_124, 0 + +MossdeepCity_MapConnections: @ 84867E8 + .4byte 0x3 + .4byte MossdeepCity_MapConnectionsList diff --git a/data/maps/MossdeepCity/header.inc b/data/maps/MossdeepCity/header.inc new file mode 100644 index 0000000000..c21d4f7f91 --- /dev/null +++ b/data/maps/MossdeepCity/header.inc @@ -0,0 +1,15 @@ +MossdeepCity: @ 8482560 + .4byte MossdeepCity_MapAttributes + .4byte MossdeepCity_MapEvents + .4byte MossdeepCity_MapScripts + .4byte MossdeepCity_MapConnections + .2byte MUS_GOTOWN + .2byte 7 + .byte 13 + .byte 0 + .byte 2 + .byte 2 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/MossdeepCity/map.bin b/data/maps/MossdeepCity/map.bin new file mode 100644 index 0000000000..bf150f5bb0 Binary files /dev/null and b/data/maps/MossdeepCity/map.bin differ diff --git a/data/maps/MossdeepCity_GameCorner_1F/border.bin b/data/maps/MossdeepCity_GameCorner_1F/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/MossdeepCity_GameCorner_1F/border.bin differ diff --git a/data/maps/MossdeepCity_GameCorner_1F/header.inc b/data/maps/MossdeepCity_GameCorner_1F/header.inc new file mode 100644 index 0000000000..7e2adace8a --- /dev/null +++ b/data/maps/MossdeepCity_GameCorner_1F/header.inc @@ -0,0 +1,15 @@ +MossdeepCity_GameCorner_1F: @ 84839F0 + .4byte MossdeepCity_GameCorner_1F_MapAttributes + .4byte MossdeepCity_GameCorner_1F_MapEvents + .4byte MossdeepCity_GameCorner_1F_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 305 + .byte 13 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/MossdeepCity_GameCorner_1F/map.bin b/data/maps/MossdeepCity_GameCorner_1F/map.bin new file mode 100644 index 0000000000..8be990dde0 --- /dev/null +++ b/data/maps/MossdeepCity_GameCorner_1F/map.bin @@ -0,0 +1,53 @@ +)2(2  12  22*22022 2 +2"#$2%&' +2 +2 +2 2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 2 +222 +2 +2 +222 +2 +2 +2 22 +2 +2 +22 +2 +2 22 ! +2 +2 +2 !2 +2 +2 2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 2 +2 +2 +2 +2-2.2 +2 +2 +2 +2 +2 \ No newline at end of file diff --git a/data/maps/MossdeepCity_GameCorner_B1F/border.bin b/data/maps/MossdeepCity_GameCorner_B1F/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/MossdeepCity_GameCorner_B1F/border.bin differ diff --git a/data/maps/MossdeepCity_GameCorner_B1F/header.inc b/data/maps/MossdeepCity_GameCorner_B1F/header.inc new file mode 100644 index 0000000000..6b4a757137 --- /dev/null +++ b/data/maps/MossdeepCity_GameCorner_B1F/header.inc @@ -0,0 +1,15 @@ +MossdeepCity_GameCorner_B1F: @ 8483A0C + .4byte MossdeepCity_GameCorner_B1F_MapAttributes + .4byte MossdeepCity_GameCorner_B1F_MapEvents + .4byte MossdeepCity_GameCorner_B1F_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 306 + .byte 13 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/MossdeepCity_GameCorner_B1F/map.bin b/data/maps/MossdeepCity_GameCorner_B1F/map.bin new file mode 100644 index 0000000000..399d05705f --- /dev/null +++ b/data/maps/MossdeepCity_GameCorner_B1F/map.bin @@ -0,0 +1,2 @@ +  +        6$2$2$2$2$2$2$2$2$2$2692#2#2#2#2#2#2#2#2#2#2#292#2#2#252626272#2#2#2#292#2#2#2=2>2>2?2#2#2#2#292#2#2#2E2F2F2G2#2#2#2#22#2#2#2#2#2#2#2#2#2#2"2#2#2#2#2#2#2#2#2#2#2* \ No newline at end of file diff --git a/data/maps/MossdeepCity_Gym/border.bin b/data/maps/MossdeepCity_Gym/border.bin new file mode 100644 index 0000000000..064786e8c3 --- /dev/null +++ b/data/maps/MossdeepCity_Gym/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/MossdeepCity_Gym/header.inc b/data/maps/MossdeepCity_Gym/header.inc new file mode 100644 index 0000000000..1bb8065417 --- /dev/null +++ b/data/maps/MossdeepCity_Gym/header.inc @@ -0,0 +1,15 @@ +MossdeepCity_Gym: @ 84838BC + .4byte MossdeepCity_Gym_MapAttributes + .4byte MossdeepCity_Gym_MapEvents + .4byte MossdeepCity_Gym_MapScripts + .4byte 0x0 + .2byte MUS_GIM + .2byte 108 + .byte 13 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/MossdeepCity_Gym/map.bin b/data/maps/MossdeepCity_Gym/map.bin new file mode 100644 index 0000000000..da585f73f3 --- /dev/null +++ b/data/maps/MossdeepCity_Gym/map.bin @@ -0,0 +1,40 @@ +666666666666666666666666666666626666666666666666666 66666666666666666 66666666666666666$ 666666666666666  +q2r2 +q2r266666666 6666  +p2s2t2 p2s266666666()6666 \2 + 666666666 6666  +Y2Z2Y2Z2666666666  !"#666666X2[2 +X2[2 +666666666  + + + +66666666]2666666666666666666666666 666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666266 +66666666666666Q2R2 +66666666666 6T2P2S266666666666666m26  + + + +66666666666666i2j2i2j26266666666666666666h2k2 +h2k266666666666666666666 +l2 +66666666666666666666666i2j2 +$6666666666666666666h2k2 +66 6666666666666666  +6666666666666666666Q2R2Q2R26666666666666 66P2S2T2P2S2% 666666666 66  + + + +$666666666 6 + + + +$6666626  + + + +6a2b26666666   + + 6`2c2 +6d26666666 $00$62 +6666666666666 \ No newline at end of file diff --git a/data/maps/MossdeepCity_House1/header.inc b/data/maps/MossdeepCity_House1/header.inc new file mode 100644 index 0000000000..5260cf9316 --- /dev/null +++ b/data/maps/MossdeepCity_House1/header.inc @@ -0,0 +1,15 @@ +MossdeepCity_House1: @ 84838D8 + .4byte MossdeepCity_House1_MapAttributes + .4byte MossdeepCity_House1_MapEvents + .4byte MossdeepCity_House1_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 60 + .byte 13 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/MossdeepCity_House2/header.inc b/data/maps/MossdeepCity_House2/header.inc new file mode 100644 index 0000000000..1d04632314 --- /dev/null +++ b/data/maps/MossdeepCity_House2/header.inc @@ -0,0 +1,15 @@ +MossdeepCity_House2: @ 84838F4 + .4byte MossdeepCity_House2_MapAttributes + .4byte MossdeepCity_House2_MapEvents + .4byte MossdeepCity_House2_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 59 + .byte 13 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/MossdeepCity_House3/header.inc b/data/maps/MossdeepCity_House3/header.inc new file mode 100644 index 0000000000..d474eab75d --- /dev/null +++ b/data/maps/MossdeepCity_House3/header.inc @@ -0,0 +1,15 @@ +MossdeepCity_House3: @ 8483964 + .4byte MossdeepCity_House3_MapAttributes + .4byte MossdeepCity_House3_MapEvents + .4byte MossdeepCity_House3_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 60 + .byte 13 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/MossdeepCity_House4/header.inc b/data/maps/MossdeepCity_House4/header.inc new file mode 100644 index 0000000000..30fe8c01a9 --- /dev/null +++ b/data/maps/MossdeepCity_House4/header.inc @@ -0,0 +1,15 @@ +MossdeepCity_House4: @ 848399C + .4byte MossdeepCity_House4_MapAttributes + .4byte MossdeepCity_House4_MapEvents + .4byte MossdeepCity_House4_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 80 + .byte 13 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/MossdeepCity_Mart/header.inc b/data/maps/MossdeepCity_Mart/header.inc new file mode 100644 index 0000000000..d745cc8f44 --- /dev/null +++ b/data/maps/MossdeepCity_Mart/header.inc @@ -0,0 +1,15 @@ +MossdeepCity_Mart: @ 8483948 + .4byte MossdeepCity_Mart_MapAttributes + .4byte MossdeepCity_Mart_MapEvents + .4byte MossdeepCity_Mart_MapScripts + .4byte 0x0 + .2byte MUS_FRIENDLY + .2byte 63 + .byte 13 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/MossdeepCity_PokemonCenter_1F/header.inc b/data/maps/MossdeepCity_PokemonCenter_1F/header.inc new file mode 100644 index 0000000000..0b9faca999 --- /dev/null +++ b/data/maps/MossdeepCity_PokemonCenter_1F/header.inc @@ -0,0 +1,15 @@ +MossdeepCity_PokemonCenter_1F: @ 8483910 + .4byte MossdeepCity_PokemonCenter_1F_MapAttributes + .4byte MossdeepCity_PokemonCenter_1F_MapEvents + .4byte MossdeepCity_PokemonCenter_1F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 61 + .byte 13 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/MossdeepCity_PokemonCenter_2F/header.inc b/data/maps/MossdeepCity_PokemonCenter_2F/header.inc new file mode 100644 index 0000000000..45e4f08812 --- /dev/null +++ b/data/maps/MossdeepCity_PokemonCenter_2F/header.inc @@ -0,0 +1,15 @@ +MossdeepCity_PokemonCenter_2F: @ 848392C + .4byte MossdeepCity_PokemonCenter_2F_MapAttributes + .4byte MossdeepCity_PokemonCenter_2F_MapEvents + .4byte MossdeepCity_PokemonCenter_2F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 62 + .byte 13 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/border.bin b/data/maps/MossdeepCity_SpaceCenter_1F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/MossdeepCity_SpaceCenter_1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/header.inc b/data/maps/MossdeepCity_SpaceCenter_1F/header.inc new file mode 100644 index 0000000000..b503f8580c --- /dev/null +++ b/data/maps/MossdeepCity_SpaceCenter_1F/header.inc @@ -0,0 +1,15 @@ +MossdeepCity_SpaceCenter_1F: @ 84839B8 + .4byte MossdeepCity_SpaceCenter_1F_MapAttributes + .4byte MossdeepCity_SpaceCenter_1F_MapEvents + .4byte MossdeepCity_SpaceCenter_1F_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 275 + .byte 13 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/map.bin b/data/maps/MossdeepCity_SpaceCenter_1F/map.bin new file mode 100644 index 0000000000..44f5081b95 Binary files /dev/null and b/data/maps/MossdeepCity_SpaceCenter_1F/map.bin differ diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/border.bin b/data/maps/MossdeepCity_SpaceCenter_2F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/MossdeepCity_SpaceCenter_2F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/header.inc b/data/maps/MossdeepCity_SpaceCenter_2F/header.inc new file mode 100644 index 0000000000..388482c648 --- /dev/null +++ b/data/maps/MossdeepCity_SpaceCenter_2F/header.inc @@ -0,0 +1,15 @@ +MossdeepCity_SpaceCenter_2F: @ 84839D4 + .4byte MossdeepCity_SpaceCenter_2F_MapAttributes + .4byte MossdeepCity_SpaceCenter_2F_MapEvents + .4byte MossdeepCity_SpaceCenter_2F_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 276 + .byte 13 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/map.bin b/data/maps/MossdeepCity_SpaceCenter_2F/map.bin new file mode 100644 index 0000000000..d2e52d780f Binary files /dev/null and b/data/maps/MossdeepCity_SpaceCenter_2F/map.bin differ diff --git a/data/maps/MossdeepCity_StevensHouse/border.bin b/data/maps/MossdeepCity_StevensHouse/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/MossdeepCity_StevensHouse/border.bin differ diff --git a/data/maps/MossdeepCity_StevensHouse/header.inc b/data/maps/MossdeepCity_StevensHouse/header.inc new file mode 100644 index 0000000000..179ebd36e7 --- /dev/null +++ b/data/maps/MossdeepCity_StevensHouse/header.inc @@ -0,0 +1,15 @@ +MossdeepCity_StevensHouse: @ 8483980 + .4byte MossdeepCity_StevensHouse_MapAttributes + .4byte MossdeepCity_StevensHouse_MapEvents + .4byte MossdeepCity_StevensHouse_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 327 + .byte 13 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/MossdeepCity_StevensHouse/map.bin b/data/maps/MossdeepCity_StevensHouse/map.bin new file mode 100644 index 0000000000..ade25497a5 --- /dev/null +++ b/data/maps/MossdeepCity_StevensHouse/map.bin @@ -0,0 +1 @@ +h     ii22p2$2$2$2$2$2$2q2q292#2#2#26666#2#2[392#2#2#26666#2#2c792#2#2#2#2#2,2#2#2#2[392#2#2#2#2#2#2#2#2#2c792#2#2 #2#2#2#2#2#2 \ No newline at end of file diff --git a/data/maps/MtChimney/border.bin b/data/maps/MtChimney/border.bin new file mode 100644 index 0000000000..9ae2c21264 --- /dev/null +++ b/data/maps/MtChimney/border.bin @@ -0,0 +1 @@ +qqqq \ No newline at end of file diff --git a/data/maps/MtChimney/header.inc b/data/maps/MtChimney/header.inc new file mode 100644 index 0000000000..885541dde3 --- /dev/null +++ b/data/maps/MtChimney/header.inc @@ -0,0 +1,15 @@ +MtChimney: @ 8484010 + .4byte MtChimney_MapAttributes + .4byte MtChimney_MapEvents + .4byte MtChimney_MapScripts + .4byte 0x0 + .2byte MUS_TOZAN + .2byte 136 + .byte 56 + .byte 0 + .byte 7 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/MtChimney/map.bin b/data/maps/MtChimney/map.bin new file mode 100644 index 0000000000..1e7e2868d9 --- /dev/null +++ b/data/maps/MtChimney/map.bin @@ -0,0 +1 @@ +h~qpqqpqpqrrrq2rx|q2{zppppqrrqqqrqqpqqpqqpqpqrrr{z|xtz{~6ppppqrrqqqrqqpqh~qqph~qrrrr{yyyqppppqrrqqqrq{pqpqqqppqqrrrrh~pppqrrqq{zqrpqpqqqppqqrrrrph~pxtzrqqrqqrpqpqqqppq{zrrrU~pph~2q2q2q2rqqrqqrpqpqqqpxtzq22227qpppq2q2q2q2rq{zqqrpqpqqqpq2q2q2q2q2q2q2q2h~ppq2q2q2q2rqrqq{zpqpqqqpq2q2q2q2{tttpqppq2q2q2q2rqrqqrqpqx|qqpq2q2q2q2rrr~~h~pq2q2q2{zqrq{zqx|qpqqphijq2rrpqh~h~2q2q2q2rq{zqrqqqpqx|qppqrq222jqqr~h~qph~2q2q2q2q2rqrqqrq{qpqqpqpxtzq2q2q22i2jiiiii~qh~6pq2q2q2q2q2rqrqqrqr|x|qx|x|q2q2q2q2hijriijqqhii~6q6pq2q2q2q2q2rqrqqr{zpqpqqpqx|q2q2q2pqr2i2jii~hi2i2i2~2q2q2q2q2q2rqrq{zr{x|x|qpqqpq2q2q2xtzq2q22i2i2i2i2~2q2q2q2q2q2q2q2q2q2r{zqr{zrqpqpqx|qpq2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2{zrq{zr{z|pqpqqpqx|q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2rq6rqrqrrqppqx|qpqqxt|q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2rq6r{z{zr{px|qx|xttt|pq2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2{zq6rrqrqrrpqx|qxttt|pxt|q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2{zq6q6rrqr{zrpqqxt|qqqppq6q6x|q2q2q2q2q2q2q2q2q2q2q2q2q2{z{ttzrqrrqrxtt|qxt|qpxt|q2xt|q2q2{ttttt2ttz{z{ttz{zrqrqqqxt|qpqxt|xtt|xttzq2q2q2q2q2q2{ttz{z{ttz{zqrttt|qx|xt|qxt|q6x|q2q2{2tttttzq2q2{z{z{ttz{tztt|pqqxt|x|qqxt|xttzq2q2q2q2q2q2q2q2q2r{z{z{ttzqqqqpx|qqqpqxtt|qxt|q2q2q2q2q2q2q2q2q2{tzrq2rq2rqqq2{tqqpqxt|q|qqqx|qqx|q2q2q2{ttt2z{tz{{zqq{qqqx|q2pq6pqqqqxtt|xtttzq2q2q2q2{zq2q2r6r{ttzqqqqx|t|xttttt|qxtttttttt2zq2q2q2rqrrq2q262qqqqp66qpqqqqqqxtttttt|q2q2q2q2q2q2q2q2r{rq6qq6qqqqxtt|pqq2qqpq2q2q2q2q2{ttzr6r22{tt|qqqqqqppqq2qqq2&2'2!2!2"2q2q2xttt2tzq2q2q2r{z6r2qxtt|qqqppq22q&2.6/))*Z2Z2Z2Z2Z2Z2Z2Z2T2S2q2{zr26{z2tt|pqqqppq6q-67112q2q2q2q2q2q2q2q2\2[2R2Qq2r6{z266qqpxt|2pxt|62->?9:%q2q2q2q2q2q2q2q2d6q2q2YRQqrq6{|qxt|pt||5FGABWq2q2q2q2q2q2q2q2q2q2q2rqYRQq{z6pq2qpp66qpp22q2q2q2q2q2q2q2q24q2q2q222q2rqrqYRQ{tp22pxt|qp6p666q2q2q2q2q2q2q2q2q2q2q2q266{z{2rqYPap66t|p2x|pqq2q2q2q2{z{6r2rrYx|66qppqpt|q2q2q2q2q2q2q2q2q2q2{z{z66{zrrrqt|qpp6qp66qt6226ttz{z2q2q2rq26rrrq66qp2px|2|6277226{zq26{zq2{zrrtt|qpx|p666|776rq2q2{z2q2rq2rr22p2pqpt|p{z22rq2q2r2rrpp2p6q6p6p6r2r2662rrrpp6xtt|x|x|6r6r22rrr \ No newline at end of file diff --git a/data/maps/MtChimney_CableCarStation/header.inc b/data/maps/MtChimney_CableCarStation/header.inc new file mode 100644 index 0000000000..e3f29070f9 --- /dev/null +++ b/data/maps/MtChimney_CableCarStation/header.inc @@ -0,0 +1,15 @@ +MtChimney_CableCarStation: @ 8483DFC + .4byte MtChimney_CableCarStation_MapAttributes + .4byte MtChimney_CableCarStation_MapEvents + .4byte MtChimney_CableCarStation_MapScripts + .4byte 0x0 + .2byte MUS_DOORO_X1 + .2byte 118 + .byte 56 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/MtPyre_1F/border.bin b/data/maps/MtPyre_1F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/MtPyre_1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/MtPyre_1F/header.inc b/data/maps/MtPyre_1F/header.inc new file mode 100644 index 0000000000..519211b496 --- /dev/null +++ b/data/maps/MtPyre_1F/header.inc @@ -0,0 +1,15 @@ +MtPyre_1F: @ 8484064 + .4byte MtPyre_1F_MapAttributes + .4byte MtPyre_1F_MapEvents + .4byte MtPyre_1F_MapScripts + .4byte 0x0 + .2byte MUS_M_DUNGON + .2byte 137 + .byte 65 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 8 + .byte 0 + diff --git a/data/maps/MtPyre_1F/map.bin b/data/maps/MtPyre_1F/map.bin new file mode 100644 index 0000000000..60b992a733 --- /dev/null +++ b/data/maps/MtPyre_1F/map.bin @@ -0,0 +1 @@ +22222&7&722222222222662666266'7222266266626622222222226622222222222222222222666266&7622222666266&762222222222222662222222222266222222222&7622662222266&7622662222266222222222222 \ No newline at end of file diff --git a/data/maps/MtPyre_2F/border.bin b/data/maps/MtPyre_2F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/MtPyre_2F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/MtPyre_2F/header.inc b/data/maps/MtPyre_2F/header.inc new file mode 100644 index 0000000000..6eb960c016 --- /dev/null +++ b/data/maps/MtPyre_2F/header.inc @@ -0,0 +1,15 @@ +MtPyre_2F: @ 8484080 + .4byte MtPyre_2F_MapAttributes + .4byte MtPyre_2F_MapEvents + .4byte MtPyre_2F_MapScripts + .4byte 0x0 + .2byte MUS_M_DUNGON + .2byte 138 + .byte 65 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 8 + .byte 0 + diff --git a/data/maps/MtPyre_2F/map.bin b/data/maps/MtPyre_2F/map.bin new file mode 100644 index 0000000000..97b7e9e312 --- /dev/null +++ b/data/maps/MtPyre_2F/map.bin @@ -0,0 +1 @@ +22222222&&2222&22222222222&22222222&22222222222222222222222222222&2222&22222232222222222222&22222&22222 \ No newline at end of file diff --git a/data/maps/MtPyre_3F/border.bin b/data/maps/MtPyre_3F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/MtPyre_3F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/MtPyre_3F/header.inc b/data/maps/MtPyre_3F/header.inc new file mode 100644 index 0000000000..9dcd405785 --- /dev/null +++ b/data/maps/MtPyre_3F/header.inc @@ -0,0 +1,15 @@ +MtPyre_3F: @ 848409C + .4byte MtPyre_3F_MapAttributes + .4byte MtPyre_3F_MapEvents + .4byte MtPyre_3F_MapScripts + .4byte 0x0 + .2byte MUS_M_DUNGON + .2byte 139 + .byte 65 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 8 + .byte 0 + diff --git a/data/maps/MtPyre_3F/map.bin b/data/maps/MtPyre_3F/map.bin new file mode 100644 index 0000000000..758eccc3aa --- /dev/null +++ b/data/maps/MtPyre_3F/map.bin @@ -0,0 +1 @@ +22&2222&&&2222&&2222222222222222222&2222222222&22222222222222222&222&2222222222222222222222222323 \ No newline at end of file diff --git a/data/maps/MtPyre_4F/border.bin b/data/maps/MtPyre_4F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/MtPyre_4F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/MtPyre_4F/header.inc b/data/maps/MtPyre_4F/header.inc new file mode 100644 index 0000000000..c94284c2f1 --- /dev/null +++ b/data/maps/MtPyre_4F/header.inc @@ -0,0 +1,15 @@ +MtPyre_4F: @ 84840B8 + .4byte MtPyre_4F_MapAttributes + .4byte MtPyre_4F_MapEvents + .4byte MtPyre_4F_MapScripts + .4byte 0x0 + .2byte MUS_M_DUNGON + .2byte 140 + .byte 65 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 8 + .byte 0 + diff --git a/data/maps/MtPyre_4F/map.bin b/data/maps/MtPyre_4F/map.bin new file mode 100644 index 0000000000..98dc679ff8 --- /dev/null +++ b/data/maps/MtPyre_4F/map.bin @@ -0,0 +1 @@ +2&&222&'&2222002200&222&&&&&222&&2222222222222222222222&226223222&22222&232222222222 \ No newline at end of file diff --git a/data/maps/MtPyre_5F/border.bin b/data/maps/MtPyre_5F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/MtPyre_5F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/MtPyre_5F/header.inc b/data/maps/MtPyre_5F/header.inc new file mode 100644 index 0000000000..efabc0917b --- /dev/null +++ b/data/maps/MtPyre_5F/header.inc @@ -0,0 +1,15 @@ +MtPyre_5F: @ 84840D4 + .4byte MtPyre_5F_MapAttributes + .4byte MtPyre_5F_MapEvents + .4byte MtPyre_5F_MapScripts + .4byte 0x0 + .2byte MUS_M_DUNGON + .2byte 141 + .byte 65 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 8 + .byte 0 + diff --git a/data/maps/MtPyre_5F/map.bin b/data/maps/MtPyre_5F/map.bin new file mode 100644 index 0000000000..12fbeeb7e4 --- /dev/null +++ b/data/maps/MtPyre_5F/map.bin @@ -0,0 +1 @@ +2&222&2&2222222&222&&&&&222&&2222222222222222222222&2222222226223&222222222&222222222223 \ No newline at end of file diff --git a/data/maps/MtPyre_6F/border.bin b/data/maps/MtPyre_6F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/MtPyre_6F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/MtPyre_6F/header.inc b/data/maps/MtPyre_6F/header.inc new file mode 100644 index 0000000000..f6931369b7 --- /dev/null +++ b/data/maps/MtPyre_6F/header.inc @@ -0,0 +1,15 @@ +MtPyre_6F: @ 84840F0 + .4byte MtPyre_6F_MapAttributes + .4byte MtPyre_6F_MapEvents + .4byte MtPyre_6F_MapScripts + .4byte 0x0 + .2byte MUS_M_DUNGON + .2byte 142 + .byte 65 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 8 + .byte 0 + diff --git a/data/maps/MtPyre_6F/map.bin b/data/maps/MtPyre_6F/map.bin new file mode 100644 index 0000000000..1f7438bfbc --- /dev/null +++ b/data/maps/MtPyre_6F/map.bin @@ -0,0 +1 @@ +2&222&&222222&22222222222222222262222&2222226622222&22&&272&&22&22222222222232222222222222222222222&2222222 \ No newline at end of file diff --git a/data/maps/MtPyre_Exterior/border.bin b/data/maps/MtPyre_Exterior/border.bin new file mode 100644 index 0000000000..1d7df4a00a Binary files /dev/null and b/data/maps/MtPyre_Exterior/border.bin differ diff --git a/data/maps/MtPyre_Exterior/header.inc b/data/maps/MtPyre_Exterior/header.inc new file mode 100644 index 0000000000..7d9df6a8e4 --- /dev/null +++ b/data/maps/MtPyre_Exterior/header.inc @@ -0,0 +1,15 @@ +MtPyre_Exterior: @ 848410C + .4byte MtPyre_Exterior_MapAttributes + .4byte MtPyre_Exterior_MapEvents + .4byte MtPyre_Exterior_MapScripts + .4byte 0x0 + .2byte MUS_MACHUPI + .2byte 302 + .byte 65 + .byte 0 + .byte 0 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/MtPyre_Exterior/map.bin b/data/maps/MtPyre_Exterior/map.bin new file mode 100644 index 0000000000..7ab1e04614 Binary files /dev/null and b/data/maps/MtPyre_Exterior/map.bin differ diff --git a/data/maps/MtPyre_Summit/border.bin b/data/maps/MtPyre_Summit/border.bin new file mode 100644 index 0000000000..1d7df4a00a Binary files /dev/null and b/data/maps/MtPyre_Summit/border.bin differ diff --git a/data/maps/MtPyre_Summit/header.inc b/data/maps/MtPyre_Summit/header.inc new file mode 100644 index 0000000000..ffdb8fb8a8 --- /dev/null +++ b/data/maps/MtPyre_Summit/header.inc @@ -0,0 +1,15 @@ +MtPyre_Summit: @ 8484128 + .4byte MtPyre_Summit_MapAttributes + .4byte MtPyre_Summit_MapEvents + .4byte MtPyre_Summit_MapScripts + .4byte 0x0 + .2byte MUS_MACHUPI + .2byte 303 + .byte 65 + .byte 0 + .byte 6 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/MtPyre_Summit/map.bin b/data/maps/MtPyre_Summit/map.bin new file mode 100644 index 0000000000..1de8bd5ea5 Binary files /dev/null and b/data/maps/MtPyre_Summit/map.bin differ diff --git a/data/maps/NavelRock_B1F/border.bin b/data/maps/NavelRock_B1F/border.bin new file mode 100644 index 0000000000..423a0732e6 --- /dev/null +++ b/data/maps/NavelRock_B1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/NavelRock_B1F/header.inc b/data/maps/NavelRock_B1F/header.inc new file mode 100644 index 0000000000..8570628b24 --- /dev/null +++ b/data/maps/NavelRock_B1F/header.inc @@ -0,0 +1,15 @@ +NavelRock_B1F: @ 84858C8 + .4byte NavelRock_B1F_MapAttributes + .4byte NavelRock_B1F_MapEvents + .4byte NavelRock_B1F_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANADUNGEON + .2byte 427 + .byte 211 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 12 + .byte 0 + diff --git a/data/maps/NavelRock_B1F/map.bin b/data/maps/NavelRock_B1F/map.bin new file mode 100644 index 0000000000..861fb6575e --- /dev/null +++ b/data/maps/NavelRock_B1F/map.bin @@ -0,0 +1 @@ +222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222?22GGGGGGGGGGGGGGGGGGGGG \ No newline at end of file diff --git a/data/maps/NavelRock_Bottom/border.bin b/data/maps/NavelRock_Bottom/border.bin new file mode 100644 index 0000000000..423a0732e6 --- /dev/null +++ b/data/maps/NavelRock_Bottom/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/NavelRock_Bottom/header.inc b/data/maps/NavelRock_Bottom/header.inc new file mode 100644 index 0000000000..e40c64d91e --- /dev/null +++ b/data/maps/NavelRock_Bottom/header.inc @@ -0,0 +1,15 @@ +NavelRock_Bottom: @ 8485AC0 + .4byte NavelRock_Bottom_MapAttributes + .4byte NavelRock_Bottom_MapEvents + .4byte NavelRock_Bottom_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANADUNGEON + .2byte 424 + .byte 211 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 12 + .byte 0 + diff --git a/data/maps/NavelRock_Bottom/map.bin b/data/maps/NavelRock_Bottom/map.bin new file mode 100644 index 0000000000..af2f8a245e --- /dev/null +++ b/data/maps/NavelRock_Bottom/map.bin @@ -0,0 +1 @@ +reeeGGGccpreeeGGGccpreeeGGGccpreeeGGGccpreeeGGGccpreeeGGGccpreeeGGGccpreeeGGGccpreeeGGGccpreeeGGGccpreeeGGGccpreeeGGGccpreeeFGccpreFF]ddd[GGpredde]d[cddpreddee{ccddpreddeFdGcddpredde=ddcddpreslmdddktpree=dddddcpreed=dddd>cpGGGGGGGGGGGGGGGGGGGGGG \ No newline at end of file diff --git a/data/maps/NavelRock_Down01/header.inc b/data/maps/NavelRock_Down01/header.inc new file mode 100644 index 0000000000..af66bb9bc9 --- /dev/null +++ b/data/maps/NavelRock_Down01/header.inc @@ -0,0 +1,15 @@ +NavelRock_Down01: @ 848598C + .4byte NavelRock_Down01_MapAttributes + .4byte NavelRock_Down01_MapEvents + .4byte NavelRock_Down01_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANADUNGEON + .2byte 425 + .byte 211 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 12 + .byte 0 + diff --git a/data/maps/NavelRock_Down02/header.inc b/data/maps/NavelRock_Down02/header.inc new file mode 100644 index 0000000000..8b70d543fb --- /dev/null +++ b/data/maps/NavelRock_Down02/header.inc @@ -0,0 +1,15 @@ +NavelRock_Down02: @ 84859A8 + .4byte NavelRock_Down02_MapAttributes + .4byte NavelRock_Down02_MapEvents + .4byte NavelRock_Down02_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANADUNGEON + .2byte 426 + .byte 211 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 12 + .byte 0 + diff --git a/data/maps/NavelRock_Down03/header.inc b/data/maps/NavelRock_Down03/header.inc new file mode 100644 index 0000000000..78d1e1db34 --- /dev/null +++ b/data/maps/NavelRock_Down03/header.inc @@ -0,0 +1,15 @@ +NavelRock_Down03: @ 84859C4 + .4byte NavelRock_Down03_MapAttributes + .4byte NavelRock_Down03_MapEvents + .4byte NavelRock_Down03_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANADUNGEON + .2byte 425 + .byte 211 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 12 + .byte 0 + diff --git a/data/maps/NavelRock_Down04/header.inc b/data/maps/NavelRock_Down04/header.inc new file mode 100644 index 0000000000..ea459e2ffd --- /dev/null +++ b/data/maps/NavelRock_Down04/header.inc @@ -0,0 +1,15 @@ +NavelRock_Down04: @ 84859E0 + .4byte NavelRock_Down04_MapAttributes + .4byte NavelRock_Down04_MapEvents + .4byte NavelRock_Down04_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANADUNGEON + .2byte 426 + .byte 211 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 12 + .byte 0 + diff --git a/data/maps/NavelRock_Down05/header.inc b/data/maps/NavelRock_Down05/header.inc new file mode 100644 index 0000000000..ddb4d997f4 --- /dev/null +++ b/data/maps/NavelRock_Down05/header.inc @@ -0,0 +1,15 @@ +NavelRock_Down05: @ 84859FC + .4byte NavelRock_Down05_MapAttributes + .4byte NavelRock_Down05_MapEvents + .4byte NavelRock_Down05_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANADUNGEON + .2byte 425 + .byte 211 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 12 + .byte 0 + diff --git a/data/maps/NavelRock_Down06/header.inc b/data/maps/NavelRock_Down06/header.inc new file mode 100644 index 0000000000..256d2d1c1f --- /dev/null +++ b/data/maps/NavelRock_Down06/header.inc @@ -0,0 +1,15 @@ +NavelRock_Down06: @ 8485A18 + .4byte NavelRock_Down06_MapAttributes + .4byte NavelRock_Down06_MapEvents + .4byte NavelRock_Down06_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANADUNGEON + .2byte 426 + .byte 211 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 12 + .byte 0 + diff --git a/data/maps/NavelRock_Down07/header.inc b/data/maps/NavelRock_Down07/header.inc new file mode 100644 index 0000000000..d49181bc41 --- /dev/null +++ b/data/maps/NavelRock_Down07/header.inc @@ -0,0 +1,15 @@ +NavelRock_Down07: @ 8485A34 + .4byte NavelRock_Down07_MapAttributes + .4byte NavelRock_Down07_MapEvents + .4byte NavelRock_Down07_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANADUNGEON + .2byte 425 + .byte 211 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 12 + .byte 0 + diff --git a/data/maps/NavelRock_Down08/header.inc b/data/maps/NavelRock_Down08/header.inc new file mode 100644 index 0000000000..db1c426c25 --- /dev/null +++ b/data/maps/NavelRock_Down08/header.inc @@ -0,0 +1,15 @@ +NavelRock_Down08: @ 8485A50 + .4byte NavelRock_Down08_MapAttributes + .4byte NavelRock_Down08_MapEvents + .4byte NavelRock_Down08_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANADUNGEON + .2byte 426 + .byte 211 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 12 + .byte 0 + diff --git a/data/maps/NavelRock_Down09/header.inc b/data/maps/NavelRock_Down09/header.inc new file mode 100644 index 0000000000..6f53a936fd --- /dev/null +++ b/data/maps/NavelRock_Down09/header.inc @@ -0,0 +1,15 @@ +NavelRock_Down09: @ 8485A6C + .4byte NavelRock_Down09_MapAttributes + .4byte NavelRock_Down09_MapEvents + .4byte NavelRock_Down09_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANADUNGEON + .2byte 425 + .byte 211 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 12 + .byte 0 + diff --git a/data/maps/NavelRock_Down10/header.inc b/data/maps/NavelRock_Down10/header.inc new file mode 100644 index 0000000000..f3945194a2 --- /dev/null +++ b/data/maps/NavelRock_Down10/header.inc @@ -0,0 +1,15 @@ +NavelRock_Down10: @ 8485A88 + .4byte NavelRock_Down10_MapAttributes + .4byte NavelRock_Down10_MapEvents + .4byte NavelRock_Down10_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANADUNGEON + .2byte 426 + .byte 211 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 12 + .byte 0 + diff --git a/data/maps/NavelRock_Down11/header.inc b/data/maps/NavelRock_Down11/header.inc new file mode 100644 index 0000000000..d02b578a16 --- /dev/null +++ b/data/maps/NavelRock_Down11/header.inc @@ -0,0 +1,15 @@ +NavelRock_Down11: @ 8485AA4 + .4byte NavelRock_Down11_MapAttributes + .4byte NavelRock_Down11_MapEvents + .4byte NavelRock_Down11_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANADUNGEON + .2byte 425 + .byte 211 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 12 + .byte 0 + diff --git a/data/maps/NavelRock_Entrance/border.bin b/data/maps/NavelRock_Entrance/border.bin new file mode 100644 index 0000000000..423a0732e6 --- /dev/null +++ b/data/maps/NavelRock_Entrance/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/NavelRock_Entrance/header.inc b/data/maps/NavelRock_Entrance/header.inc new file mode 100644 index 0000000000..521af14c7c --- /dev/null +++ b/data/maps/NavelRock_Entrance/header.inc @@ -0,0 +1,15 @@ +NavelRock_Entrance: @ 84858AC + .4byte NavelRock_Entrance_MapAttributes + .4byte NavelRock_Entrance_MapEvents + .4byte NavelRock_Entrance_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANADUNGEON + .2byte 422 + .byte 211 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 12 + .byte 0 + diff --git a/data/maps/NavelRock_Entrance/map.bin b/data/maps/NavelRock_Entrance/map.bin new file mode 100644 index 0000000000..6fd5b9fa02 --- /dev/null +++ b/data/maps/NavelRock_Entrance/map.bin @@ -0,0 +1 @@ +22222222222222222222222222222222222?2222222222222222222222222222222222222222222222222222222222222222222GGGG2222222GGGGG2222222222222222222222222222222222222222222222222222222222222222222222222222GGXYZGGGGGGGGGGG \ No newline at end of file diff --git a/data/maps/NavelRock_Exterior/border.bin b/data/maps/NavelRock_Exterior/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/NavelRock_Exterior/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/NavelRock_Exterior/header.inc b/data/maps/NavelRock_Exterior/header.inc new file mode 100644 index 0000000000..5d74b9eab7 --- /dev/null +++ b/data/maps/NavelRock_Exterior/header.inc @@ -0,0 +1,15 @@ +NavelRock_Exterior: @ 8485874 + .4byte NavelRock_Exterior_MapAttributes + .4byte NavelRock_Exterior_MapEvents + .4byte NavelRock_Exterior_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANASHIMA + .2byte 421 + .byte 211 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/NavelRock_Exterior/map.bin b/data/maps/NavelRock_Exterior/map.bin new file mode 100644 index 0000000000..9b3342a1a5 Binary files /dev/null and b/data/maps/NavelRock_Exterior/map.bin differ diff --git a/data/maps/NavelRock_Fork/border.bin b/data/maps/NavelRock_Fork/border.bin new file mode 100644 index 0000000000..423a0732e6 --- /dev/null +++ b/data/maps/NavelRock_Fork/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/NavelRock_Fork/header.inc b/data/maps/NavelRock_Fork/header.inc new file mode 100644 index 0000000000..94740f43b0 --- /dev/null +++ b/data/maps/NavelRock_Fork/header.inc @@ -0,0 +1,15 @@ +NavelRock_Fork: @ 84858E4 + .4byte NavelRock_Fork_MapAttributes + .4byte NavelRock_Fork_MapEvents + .4byte NavelRock_Fork_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANADUNGEON + .2byte 428 + .byte 211 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 12 + .byte 0 + diff --git a/data/maps/NavelRock_Fork/map.bin b/data/maps/NavelRock_Fork/map.bin new file mode 100644 index 0000000000..0b314cc16e --- /dev/null +++ b/data/maps/NavelRock_Fork/map.bin @@ -0,0 +1 @@ +2222222222222222222?22222222222222222222222222222222222222222222GGGGGGGGGG222GGGGGGGGGG2222222222222222222222222222222222222222222222222222222222222222222GGGGGGGGGG22222222222222222222222222222GGGGGGGGGG222222222222222222222222222222222222222222222222222222222GGGGGGGGGGGGGGGG \ No newline at end of file diff --git a/data/maps/NavelRock_Harbor/header.inc b/data/maps/NavelRock_Harbor/header.inc new file mode 100644 index 0000000000..644442986d --- /dev/null +++ b/data/maps/NavelRock_Harbor/header.inc @@ -0,0 +1,15 @@ +NavelRock_Harbor: @ 8485890 + .4byte NavelRock_Harbor_MapAttributes + .4byte NavelRock_Harbor_MapEvents + .4byte NavelRock_Harbor_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANASHIMA + .2byte 405 + .byte 211 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/NavelRock_Top/border.bin b/data/maps/NavelRock_Top/border.bin new file mode 100644 index 0000000000..8d839d092c --- /dev/null +++ b/data/maps/NavelRock_Top/border.bin @@ -0,0 +1 @@ +<<<< \ No newline at end of file diff --git a/data/maps/NavelRock_Top/header.inc b/data/maps/NavelRock_Top/header.inc new file mode 100644 index 0000000000..f6e72236fe --- /dev/null +++ b/data/maps/NavelRock_Top/header.inc @@ -0,0 +1,15 @@ +NavelRock_Top: @ 8485970 + .4byte NavelRock_Top_MapAttributes + .4byte NavelRock_Top_MapEvents + .4byte NavelRock_Top_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANADUNGEON + .2byte 423 + .byte 211 + .byte 0 + .byte 11 + .byte 4 + .2byte 0 + .byte 12 + .byte 0 + diff --git a/data/maps/NavelRock_Top/map.bin b/data/maps/NavelRock_Top/map.bin new file mode 100644 index 0000000000..fce085ae66 --- /dev/null +++ b/data/maps/NavelRock_Top/map.bin @@ -0,0 +1 @@ +<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<PQ3R<<<<<<<<<<<<<<<<<<<<<P2R<<<<<<<<<<<<<<<<<<<P2R<<<<<<<<<<<<<<<<<<X2Z<<<<<<<<<<<<<<<<<<X2Z<<<<<<<<<<<<<<<<<<X2Z<<<<<<<<<<<<<<<<<<X2Z<<<<<<<<<<<<<<<<<<X22222Z<<<<<<<<<<<<<<<<CDp22222rDE<<<<<<<<<<<<CDFLp22222rLGDE<<<<<<<<<CF[\\p22222r\\]GE<<<<<<<CFLcLLp222?22rLLeLGE<<<<<CFL[FLLp22222rLLG]LGE<<DDFL[FLLLLLLG]LGDD\\\\F[\\\\\]LG\\\\LL[\\FLLLLLGG]LLLLL[FLLLL[\lllll\]LLG]LLLFFLLLL[FLlllllLG]LLG\\\LLLL[\FLLlllllLLGG]LLLL \ No newline at end of file diff --git a/data/maps/NavelRock_Up1/border.bin b/data/maps/NavelRock_Up1/border.bin new file mode 100644 index 0000000000..423a0732e6 --- /dev/null +++ b/data/maps/NavelRock_Up1/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/NavelRock_Up1/header.inc b/data/maps/NavelRock_Up1/header.inc new file mode 100644 index 0000000000..d9a51ab0fd --- /dev/null +++ b/data/maps/NavelRock_Up1/header.inc @@ -0,0 +1,15 @@ +NavelRock_Up1: @ 8485900 + .4byte NavelRock_Up1_MapAttributes + .4byte NavelRock_Up1_MapEvents + .4byte NavelRock_Up1_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANADUNGEON + .2byte 425 + .byte 211 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 12 + .byte 0 + diff --git a/data/maps/NavelRock_Up1/map.bin b/data/maps/NavelRock_Up1/map.bin new file mode 100644 index 0000000000..c2951c0435 --- /dev/null +++ b/data/maps/NavelRock_Up1/map.bin @@ -0,0 +1 @@ +22222222?2GGGGGGGGGGGG \ No newline at end of file diff --git a/data/maps/NavelRock_Up2/border.bin b/data/maps/NavelRock_Up2/border.bin new file mode 100644 index 0000000000..423a0732e6 --- /dev/null +++ b/data/maps/NavelRock_Up2/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/NavelRock_Up2/header.inc b/data/maps/NavelRock_Up2/header.inc new file mode 100644 index 0000000000..94d42c6c4a --- /dev/null +++ b/data/maps/NavelRock_Up2/header.inc @@ -0,0 +1,15 @@ +NavelRock_Up2: @ 848591C + .4byte NavelRock_Up2_MapAttributes + .4byte NavelRock_Up2_MapEvents + .4byte NavelRock_Up2_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANADUNGEON + .2byte 426 + .byte 211 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 12 + .byte 0 + diff --git a/data/maps/NavelRock_Up2/map.bin b/data/maps/NavelRock_Up2/map.bin new file mode 100644 index 0000000000..47dd37b93a --- /dev/null +++ b/data/maps/NavelRock_Up2/map.bin @@ -0,0 +1 @@ +?22V22^22fGGGGGGGGGGGG \ No newline at end of file diff --git a/data/maps/NavelRock_Up3/header.inc b/data/maps/NavelRock_Up3/header.inc new file mode 100644 index 0000000000..2a57b24448 --- /dev/null +++ b/data/maps/NavelRock_Up3/header.inc @@ -0,0 +1,15 @@ +NavelRock_Up3: @ 8485938 + .4byte NavelRock_Up3_MapAttributes + .4byte NavelRock_Up3_MapEvents + .4byte NavelRock_Up3_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANADUNGEON + .2byte 425 + .byte 211 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 12 + .byte 0 + diff --git a/data/maps/NavelRock_Up4/header.inc b/data/maps/NavelRock_Up4/header.inc new file mode 100644 index 0000000000..17e8ae9654 --- /dev/null +++ b/data/maps/NavelRock_Up4/header.inc @@ -0,0 +1,15 @@ +NavelRock_Up4: @ 8485954 + .4byte NavelRock_Up4_MapAttributes + .4byte NavelRock_Up4_MapEvents + .4byte NavelRock_Up4_MapScripts + .4byte 0x0 + .2byte MUS_RG_NANADUNGEON + .2byte 426 + .byte 211 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 12 + .byte 0 + diff --git a/data/maps/NewMauville_Entrance/border.bin b/data/maps/NewMauville_Entrance/border.bin new file mode 100644 index 0000000000..4531975c76 Binary files /dev/null and b/data/maps/NewMauville_Entrance/border.bin differ diff --git a/data/maps/NewMauville_Entrance/header.inc b/data/maps/NewMauville_Entrance/header.inc new file mode 100644 index 0000000000..8bdf39e184 --- /dev/null +++ b/data/maps/NewMauville_Entrance/header.inc @@ -0,0 +1,15 @@ +NewMauville_Entrance: @ 8484470 + .4byte NewMauville_Entrance_MapAttributes + .4byte NewMauville_Entrance_MapEvents + .4byte NewMauville_Entrance_MapScripts + .4byte 0x0 + .2byte MUS_M_DUNGON + .2byte 184 + .byte 62 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/NewMauville_Entrance/map.bin b/data/maps/NewMauville_Entrance/map.bin new file mode 100644 index 0000000000..1e3f471e8f --- /dev/null +++ b/data/maps/NewMauville_Entrance/map.bin @@ -0,0 +1 @@ +t||||ut2suu33333suu33333suu33333suu33333suu33333suslllllll \ No newline at end of file diff --git a/data/maps/NewMauville_Inside/border.bin b/data/maps/NewMauville_Inside/border.bin new file mode 100644 index 0000000000..064786e8c3 --- /dev/null +++ b/data/maps/NewMauville_Inside/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/NewMauville_Inside/header.inc b/data/maps/NewMauville_Inside/header.inc new file mode 100644 index 0000000000..5857196305 --- /dev/null +++ b/data/maps/NewMauville_Inside/header.inc @@ -0,0 +1,15 @@ +NewMauville_Inside: @ 848448C + .4byte NewMauville_Inside_MapAttributes + .4byte NewMauville_Inside_MapEvents + .4byte NewMauville_Inside_MapScripts + .4byte 0x0 + .2byte MUS_M_DUNGON + .2byte 185 + .byte 62 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/NewMauville_Inside/map.bin b/data/maps/NewMauville_Inside/map.bin new file mode 100644 index 0000000000..78d1e39ce9 --- /dev/null +++ b/data/maps/NewMauville_Inside/map.bin @@ -0,0 +1 @@ +hjhjp'''''rp''rpu222u2/2/26/22222u2226u22266rp}22727272726727222'''''''}222266}26666}2266rp}2'''''''}22/2/2/2/2/26/2/2/2~22222/2~26666}222/2rh}2jp}22727272727267272222222222/2/2/2~2222rp'}2rp}2''''''''}22222222>22222rpu22/2~2222rh}2jp}22222222222ry2o2222o272p}2'rxy27272727272727272727272727272zp'w}2w'rp2/2~22/222r'''''''''''''''pu2/2/2~22/2/2rp}262222.22rp}2.2222622rxy2727272727272zy2722227272'''''''p}2''rhjp66u2~22/2/2rp''''rp66}22222rpu222u2/2222u26622rpu2/2~22222}22222222}266}22rp}222222'}22222222}22/2~22rp2222222/26/2~222222222~2222.2rpX6266222726222272727272272o27272o272pX62222''}22'''''w''ry2o272o272o272p}222/2/2/2/2u2/2/2/222rp'w'wwrp}22226222}222222`''ajpu2/2/2/22/22rp}222222}222222'u222/222'''rp}2227222272722222222/26/2~2222222/2/2/2rp6222''}2'}22222726222222227222rp2622222/26/2/2/2/2~2222u2/2~2222''}222222'}2rp2222227262222222}222222rxy27272727272zp}2rp222''}222222~222222r''''''p}2rxy222227272zxy272727272727272727272727272zp}2r'}22''''''''''''''''p}2rp}22rp}2rp}22rhjh\n]p}2rp}22rp'rpv2a}2rp}2222u22222222/2/2/222}2rp}22'''}22}2222'''}22222222226/2~2rp}222/22222/2/2/2~22}2.2222/26/2/2/2~22222o2727272267272zxy27272727272727272722222~22222726727222222w''''''''''''''}2222222''''}222622/222/2rxy2727272727272zxy27272727272727272z'''''''''''''''' \ No newline at end of file diff --git a/data/maps/OldaleTown/border.bin b/data/maps/OldaleTown/border.bin new file mode 100644 index 0000000000..03bcafef11 --- /dev/null +++ b/data/maps/OldaleTown/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/OldaleTown/connections.inc b/data/maps/OldaleTown/connections.inc new file mode 100644 index 0000000000..f6b5336bb8 --- /dev/null +++ b/data/maps/OldaleTown/connections.inc @@ -0,0 +1,9 @@ +OldaleTown_MapConnectionsList: @ 8486614 + connection up, 0, ROUTE_103, 0 + connection down, 0, ROUTE_101, 0 + connection left, 0, ROUTE_102, 0 + +OldaleTown_MapConnections: @ 8486638 + .4byte 0x3 + .4byte OldaleTown_MapConnectionsList + diff --git a/data/maps/OldaleTown/header.inc b/data/maps/OldaleTown/header.inc new file mode 100644 index 0000000000..3eeb1e72df --- /dev/null +++ b/data/maps/OldaleTown/header.inc @@ -0,0 +1,15 @@ +OldaleTown: @ 84825D0 + .4byte OldaleTown_MapAttributes + .4byte OldaleTown_MapEvents + .4byte OldaleTown_MapScripts + .4byte OldaleTown_MapConnections + .2byte MUS_MACHI_S4 + .2byte 11 + .byte 1 + .byte 0 + .byte 2 + .byte 1 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/OldaleTown/map.bin b/data/maps/OldaleTown/map.bin new file mode 100644 index 0000000000..28b17c4415 --- /dev/null +++ b/data/maps/OldaleTown/map.bin @@ -0,0 +1 @@ +01101110000011110000000011110(0)0)000l2m2m2n2111100123000tuuv1111189:;000|}~11111`ABC00011111111110001111000111111100111111001111111020111111100011111100211111111111111110110001111111111000000H0I02211111l2m2m2n2000PQRS11110tuuv110XYZ[11110|}~0`abc1111000011111000011000111110000111x211111111 \ No newline at end of file diff --git a/data/maps/OldaleTown_House1/border.bin b/data/maps/OldaleTown_House1/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/OldaleTown_House1/border.bin differ diff --git a/data/maps/OldaleTown_House1/header.inc b/data/maps/OldaleTown_House1/header.inc new file mode 100644 index 0000000000..245f1e1462 --- /dev/null +++ b/data/maps/OldaleTown_House1/header.inc @@ -0,0 +1,15 @@ +OldaleTown_House1: @ 8482B80 + .4byte OldaleTown_House1_MapAttributes + .4byte OldaleTown_House1_MapEvents + .4byte OldaleTown_House1_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S4 + .2byte 59 + .byte 1 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/OldaleTown_House1/map.bin b/data/maps/OldaleTown_House1/map.bin new file mode 100644 index 0000000000..ea185484d6 --- /dev/null +++ b/data/maps/OldaleTown_House1/map.bin @@ -0,0 +1 @@ +yz   222222$2$2$2$29252626262626272#2#292=H6I62>2>2?2#2#292=P6Q62>2>2?2#2#292E2F2F2F2F2F2G2#2#292#2#2#2#2#2#2#2#2"292#2#2 #2#2#2#2*6 \ No newline at end of file diff --git a/data/maps/OldaleTown_House2/border.bin b/data/maps/OldaleTown_House2/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/OldaleTown_House2/border.bin differ diff --git a/data/maps/OldaleTown_House2/header.inc b/data/maps/OldaleTown_House2/header.inc new file mode 100644 index 0000000000..7bf092b6b9 --- /dev/null +++ b/data/maps/OldaleTown_House2/header.inc @@ -0,0 +1,15 @@ +OldaleTown_House2: @ 8482B9C + .4byte OldaleTown_House2_MapAttributes + .4byte OldaleTown_House2_MapEvents + .4byte OldaleTown_House2_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S4 + .2byte 60 + .byte 1 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/OldaleTown_House2/map.bin b/data/maps/OldaleTown_House2/map.bin new file mode 100644 index 0000000000..0e9f079644 --- /dev/null +++ b/data/maps/OldaleTown_House2/map.bin @@ -0,0 +1 @@ +0x   hlm2282$2$2$2$2p2t2u2292#2#2#2#2#2#2#2#2#2#292#2#2#2+2JK,2#2#2#292#2#2#2+2RS,2#2#2#22#2#2#2#2#2#2#2#2#2"2#2#2 #2#2#2#2#2* \ No newline at end of file diff --git a/data/maps/OldaleTown_Mart/border.bin b/data/maps/OldaleTown_Mart/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/OldaleTown_Mart/border.bin differ diff --git a/data/maps/OldaleTown_Mart/header.inc b/data/maps/OldaleTown_Mart/header.inc new file mode 100644 index 0000000000..4f4ea646ff --- /dev/null +++ b/data/maps/OldaleTown_Mart/header.inc @@ -0,0 +1,15 @@ +OldaleTown_Mart: @ 8482BF0 + .4byte OldaleTown_Mart_MapAttributes + .4byte OldaleTown_Mart_MapEvents + .4byte OldaleTown_Mart_MapScripts + .4byte 0x0 + .2byte MUS_FRIENDLY + .2byte 63 + .byte 1 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/OldaleTown_Mart/map.bin b/data/maps/OldaleTown_Mart/map.bin new file mode 100644 index 0000000000..08f3932644 --- /dev/null +++ b/data/maps/OldaleTown_Mart/map.bin @@ -0,0 +1,3 @@ +"#$#$D*()() 222 2220212!212%292:2222222- AB222+,22+ +22222234223 +222222;<22;222222222 \ No newline at end of file diff --git a/data/maps/OldaleTown_PokemonCenter_1F/border.bin b/data/maps/OldaleTown_PokemonCenter_1F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/OldaleTown_PokemonCenter_1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/OldaleTown_PokemonCenter_1F/header.inc b/data/maps/OldaleTown_PokemonCenter_1F/header.inc new file mode 100644 index 0000000000..cc564e6ae2 --- /dev/null +++ b/data/maps/OldaleTown_PokemonCenter_1F/header.inc @@ -0,0 +1,15 @@ +OldaleTown_PokemonCenter_1F: @ 8482BB8 + .4byte OldaleTown_PokemonCenter_1F_MapAttributes + .4byte OldaleTown_PokemonCenter_1F_MapEvents + .4byte OldaleTown_PokemonCenter_1F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 61 + .byte 1 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/OldaleTown_PokemonCenter_1F/map.bin b/data/maps/OldaleTown_PokemonCenter_1F/map.bin new file mode 100644 index 0000000000..5201dde15f --- /dev/null +++ b/data/maps/OldaleTown_PokemonCenter_1F/map.bin @@ -0,0 +1 @@ + ij   JK   qrH"#RSI22y2z2P*+2[Q$2222 2&2422X!!!Y<222'2 2222`2l2m2n2o22%222'222222021222322222'26B228292:2;2242=>'222222@2A2B2C22&2EF'2(2222222222&24276 \ No newline at end of file diff --git a/data/maps/OldaleTown_PokemonCenter_2F/border.bin b/data/maps/OldaleTown_PokemonCenter_2F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/OldaleTown_PokemonCenter_2F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/OldaleTown_PokemonCenter_2F/header.inc b/data/maps/OldaleTown_PokemonCenter_2F/header.inc new file mode 100644 index 0000000000..798a5f72b4 --- /dev/null +++ b/data/maps/OldaleTown_PokemonCenter_2F/header.inc @@ -0,0 +1,15 @@ +OldaleTown_PokemonCenter_2F: @ 8482BD4 + .4byte OldaleTown_PokemonCenter_2F_MapAttributes + .4byte OldaleTown_PokemonCenter_2F_MapEvents + .4byte OldaleTown_PokemonCenter_2F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 62 + .byte 1 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/OldaleTown_PokemonCenter_2F/map.bin b/data/maps/OldaleTown_PokemonCenter_2F/map.bin new file mode 100644 index 0000000000..c623d86fc9 --- /dev/null +++ b/data/maps/OldaleTown_PokemonCenter_2F/map.bin @@ -0,0 +1 @@ +  ? \  ?\  ?Gd6Gd6G2O2Ob2]]/2 2l2l22a22l2<2l2/222222222g2222g2DB2222222222'22222222222222'2 22222^2^222^2^222'2(622422ff42&2ff&24276 \ No newline at end of file diff --git a/data/maps/PacifidlogTown/border.bin b/data/maps/PacifidlogTown/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/PacifidlogTown/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/PacifidlogTown/connections.inc b/data/maps/PacifidlogTown/connections.inc new file mode 100644 index 0000000000..fcbdec008c --- /dev/null +++ b/data/maps/PacifidlogTown/connections.inc @@ -0,0 +1,8 @@ +PacifidlogTown_MapConnectionsList: @ 84866B4 + connection left, 0, ROUTE_132, 0 + connection right, 0, ROUTE_131, 0 + +PacifidlogTown_MapConnections: @ 84866CC + .4byte 0x2 + .4byte PacifidlogTown_MapConnectionsList + diff --git a/data/maps/PacifidlogTown/header.inc b/data/maps/PacifidlogTown/header.inc new file mode 100644 index 0000000000..a630f5efa6 --- /dev/null +++ b/data/maps/PacifidlogTown/header.inc @@ -0,0 +1,15 @@ +PacifidlogTown: @ 848265C + .4byte PacifidlogTown_MapAttributes + .4byte PacifidlogTown_MapEvents + .4byte PacifidlogTown_MapScripts + .4byte PacifidlogTown_MapConnections + .2byte MUS_MINAMO + .2byte 16 + .byte 6 + .byte 0 + .byte 2 + .byte 1 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/PacifidlogTown/map.bin b/data/maps/PacifidlogTown/map.bin new file mode 100644 index 0000000000..02c1454bbf --- /dev/null +++ b/data/maps/PacifidlogTown/map.bin @@ -0,0 +1,6 @@ +qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqt||qqqqqqqqqqqqqt||}q{qqqqqqqqqqt|}qqq{q{y|||||||||}qqt||{|qqqqqqt||}qt{{y|||||}t|}{}pppppuv  +  pppppppppppp}~22ppppppppp  +  p22pp0123ppp22p2!2!2!22pPQRS p22p 2!2!2!2$2p2XYZ[2p 2!2!2!2$2p())*2,p2HabK2p()*2),ppX2p2!2!2!22pX2ppp`2P2Q2 2!2!2!2!2$2P2Q2P2Q2`2pp()*2)),pppppppppppppX2ppppp  +  p  +  pp`2ppppp22p22ppX2pppp22p22pp`2p  +   2!2!2!2$2p 2!2!2!2$2ppX2p22()*2),()*2),`2p22ppX2ppppX2ppppX2p 2!2!2!2$2pp`2ppppp`2P2Q2P2Q2`2p()*2),ppX2ppppppppX2P2Q2P2Q2P2Q2P2Q2`2pppppppp`2pppppppppppuvpppppppppppppppppp}~ppppppppppppppuvppppr{{{{{{{{{{{{t}~pp{{qqqqklllllmq{{{{qqqqkllqqqqqlllmqqkllqqqqqqqqqqqqllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq \ No newline at end of file diff --git a/data/maps/PacifidlogTown_House1/border.bin b/data/maps/PacifidlogTown_House1/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/PacifidlogTown_House1/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/PacifidlogTown_House1/header.inc b/data/maps/PacifidlogTown_House1/header.inc new file mode 100644 index 0000000000..a0e8763e37 --- /dev/null +++ b/data/maps/PacifidlogTown_House1/header.inc @@ -0,0 +1,15 @@ +PacifidlogTown_House1: @ 8482F8C + .4byte PacifidlogTown_House1_MapAttributes + .4byte PacifidlogTown_House1_MapEvents + .4byte PacifidlogTown_House1_MapScripts + .4byte 0x0 + .2byte MUS_MINAMO + .2byte 77 + .byte 6 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/PacifidlogTown_House1/map.bin b/data/maps/PacifidlogTown_House1/map.bin new file mode 100644 index 0000000000..7865fdc7ca --- /dev/null +++ b/data/maps/PacifidlogTown_House1/map.bin @@ -0,0 +1 @@ +3333373333333333333333333333733333333333333333733333333373333337 \ No newline at end of file diff --git a/data/maps/PacifidlogTown_House2/border.bin b/data/maps/PacifidlogTown_House2/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/PacifidlogTown_House2/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/PacifidlogTown_House2/header.inc b/data/maps/PacifidlogTown_House2/header.inc new file mode 100644 index 0000000000..8548cfc32f --- /dev/null +++ b/data/maps/PacifidlogTown_House2/header.inc @@ -0,0 +1,15 @@ +PacifidlogTown_House2: @ 8482FA8 + .4byte PacifidlogTown_House2_MapAttributes + .4byte PacifidlogTown_House2_MapEvents + .4byte PacifidlogTown_House2_MapScripts + .4byte 0x0 + .2byte MUS_MINAMO + .2byte 78 + .byte 6 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/PacifidlogTown_House2/map.bin b/data/maps/PacifidlogTown_House2/map.bin new file mode 100644 index 0000000000..6173463220 --- /dev/null +++ b/data/maps/PacifidlogTown_House2/map.bin @@ -0,0 +1 @@ +3333333333733333333373333333333333333333333333333333333373333337 \ No newline at end of file diff --git a/data/maps/PacifidlogTown_House3/header.inc b/data/maps/PacifidlogTown_House3/header.inc new file mode 100644 index 0000000000..7fa97cda25 --- /dev/null +++ b/data/maps/PacifidlogTown_House3/header.inc @@ -0,0 +1,15 @@ +PacifidlogTown_House3: @ 8482FC4 + .4byte PacifidlogTown_House3_MapAttributes + .4byte PacifidlogTown_House3_MapEvents + .4byte PacifidlogTown_House3_MapScripts + .4byte 0x0 + .2byte MUS_MINAMO + .2byte 77 + .byte 6 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/PacifidlogTown_House4/header.inc b/data/maps/PacifidlogTown_House4/header.inc new file mode 100644 index 0000000000..b505892add --- /dev/null +++ b/data/maps/PacifidlogTown_House4/header.inc @@ -0,0 +1,15 @@ +PacifidlogTown_House4: @ 8482FE0 + .4byte PacifidlogTown_House4_MapAttributes + .4byte PacifidlogTown_House4_MapEvents + .4byte PacifidlogTown_House4_MapScripts + .4byte 0x0 + .2byte MUS_MINAMO + .2byte 78 + .byte 6 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/PacifidlogTown_House5/header.inc b/data/maps/PacifidlogTown_House5/header.inc new file mode 100644 index 0000000000..055a1b5665 --- /dev/null +++ b/data/maps/PacifidlogTown_House5/header.inc @@ -0,0 +1,15 @@ +PacifidlogTown_House5: @ 8482FFC + .4byte PacifidlogTown_House5_MapAttributes + .4byte PacifidlogTown_House5_MapEvents + .4byte PacifidlogTown_House5_MapScripts + .4byte 0x0 + .2byte MUS_MINAMO + .2byte 77 + .byte 6 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/PacifidlogTown_PokemonCenter_1F/header.inc b/data/maps/PacifidlogTown_PokemonCenter_1F/header.inc new file mode 100644 index 0000000000..0c84c8b8a2 --- /dev/null +++ b/data/maps/PacifidlogTown_PokemonCenter_1F/header.inc @@ -0,0 +1,15 @@ +PacifidlogTown_PokemonCenter_1F: @ 8482F54 + .4byte PacifidlogTown_PokemonCenter_1F_MapAttributes + .4byte PacifidlogTown_PokemonCenter_1F_MapEvents + .4byte PacifidlogTown_PokemonCenter_1F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 61 + .byte 6 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/PacifidlogTown_PokemonCenter_2F/header.inc b/data/maps/PacifidlogTown_PokemonCenter_2F/header.inc new file mode 100644 index 0000000000..6804ac368d --- /dev/null +++ b/data/maps/PacifidlogTown_PokemonCenter_2F/header.inc @@ -0,0 +1,15 @@ +PacifidlogTown_PokemonCenter_2F: @ 8482F70 + .4byte PacifidlogTown_PokemonCenter_2F_MapAttributes + .4byte PacifidlogTown_PokemonCenter_2F_MapEvents + .4byte PacifidlogTown_PokemonCenter_2F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 62 + .byte 6 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/PetalburgCity/border.bin b/data/maps/PetalburgCity/border.bin new file mode 100644 index 0000000000..03bcafef11 --- /dev/null +++ b/data/maps/PetalburgCity/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/PetalburgCity/connections.inc b/data/maps/PetalburgCity/connections.inc new file mode 100644 index 0000000000..4a75eea3a9 --- /dev/null +++ b/data/maps/PetalburgCity/connections.inc @@ -0,0 +1,8 @@ +PetalburgCity_MapConnectionsList: @ 84866D4 + connection left, -50, ROUTE_104, 0 + connection right, 10, ROUTE_102, 0 + +PetalburgCity_MapConnections: @ 84866EC + .4byte 0x2 + .4byte PetalburgCity_MapConnectionsList + diff --git a/data/maps/PetalburgCity/header.inc b/data/maps/PetalburgCity/header.inc new file mode 100644 index 0000000000..d872595121 --- /dev/null +++ b/data/maps/PetalburgCity/header.inc @@ -0,0 +1,15 @@ +PetalburgCity: @ 84824B8 + .4byte PetalburgCity_MapAttributes + .4byte PetalburgCity_MapEvents + .4byte gStdScripts_End + .4byte PetalburgCity_MapConnections + .2byte MUS_MACHI_S2 + .2byte 1 + .byte 7 + .byte 0 + .byte 2 + .byte 2 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/PetalburgCity/map.bin b/data/maps/PetalburgCity/map.bin new file mode 100644 index 0000000000..35f0172ca2 --- /dev/null +++ b/data/maps/PetalburgCity/map.bin @@ -0,0 +1,4 @@ +UNMNMNVD    +F000LL55T  L??0 !"LLL001100LLL00 1"100LLL00 1"10<2fL111L5500 1"1deT0011101T00000P2Q2XY0000 1"1000000 1!1"110000000123550000 1"1000000 1!1"1000000089:;001111!1!1111111!1!1"10000000`ABC11(1)1)1)1)1R2S2)1)1)1)1)1)1!1"100H0I0J0K000110000000 1"100PQRS00 1"10000000 1"100XYZ[00 1"1050 0 0 +000 1"10`abc00 1"100000 1!111111111!1!1100 00 1!1)1)1)1)1)1)1)1)1)1)1*10055 !"00 1"1000000000111100020000 1"10<2=2=2=2=2=2=2>200000000 1"10D   +EEF00000000 1"10LL110 1"10T L0 1"100 !"00L0 1!111111000L0(1)1)1)1)1)1*1000T11111111111100001111 \ No newline at end of file diff --git a/data/maps/PetalburgCity_Gym/border.bin b/data/maps/PetalburgCity_Gym/border.bin new file mode 100644 index 0000000000..064786e8c3 --- /dev/null +++ b/data/maps/PetalburgCity_Gym/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/PetalburgCity_Gym/header.inc b/data/maps/PetalburgCity_Gym/header.inc new file mode 100644 index 0000000000..18a39e9433 --- /dev/null +++ b/data/maps/PetalburgCity_Gym/header.inc @@ -0,0 +1,15 @@ +PetalburgCity_Gym: @ 8483034 + .4byte PetalburgCity_Gym_MapAttributes + .4byte PetalburgCity_Gym_MapEvents + .4byte PetalburgCity_Gym_MapScripts + .4byte 0x0 + .2byte MUS_GIM + .2byte 79 + .byte 7 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/PetalburgCity_Gym/map.bin b/data/maps/PetalburgCity_Gym/map.bin new file mode 100644 index 0000000000..17d5ba9800 --- /dev/null +++ b/data/maps/PetalburgCity_Gym/map.bin @@ -0,0 +1,10 @@ +()() +01  01 2*234567*22 222;<=>?222 222222222 222222222 222222222 222222222 +        222222222 2A2B2C2D2E2F2G22 2I2J2K2L2M2N2O22 2Q2R2S2T2U2V2W22 2Y2Z2[2\2]2^2_22 222222222 +        222222222 2A2B2C2D2E2F2G22 2I2J2K2L2M2N2O22 2Q2R2S2T2U2V2W22 2Y2Z2[2\2]2^2_22 222222222 +        222222222 2ABCDEFG2 2IJKLMNO2 2QRSTUVW2 2YZ[\]^_2 222222222 +        222222222 22 22 22 22 222222222 +        222222222 22 22 22 22 222222222 +        222222222 22 22 22 22 222222222 +        222222222 22 22 22 22 222222222P +  X    222222222,++++++++,++++++++,@+++++@2+,H++++H2,2+00+22 \ No newline at end of file diff --git a/data/maps/PetalburgCity_House1/header.inc b/data/maps/PetalburgCity_House1/header.inc new file mode 100644 index 0000000000..2175ff8567 --- /dev/null +++ b/data/maps/PetalburgCity_House1/header.inc @@ -0,0 +1,15 @@ +PetalburgCity_House1: @ 8483050 + .4byte PetalburgCity_House1_MapAttributes + .4byte PetalburgCity_House1_MapEvents + .4byte PetalburgCity_House1_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S2 + .2byte 59 + .byte 7 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/PetalburgCity_House2/border.bin b/data/maps/PetalburgCity_House2/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/PetalburgCity_House2/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/PetalburgCity_House2/header.inc b/data/maps/PetalburgCity_House2/header.inc new file mode 100644 index 0000000000..9213bc7107 --- /dev/null +++ b/data/maps/PetalburgCity_House2/header.inc @@ -0,0 +1,15 @@ +PetalburgCity_House2: @ 848306C + .4byte PetalburgCity_House2_MapAttributes + .4byte PetalburgCity_House2_MapEvents + .4byte PetalburgCity_House2_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S2 + .2byte 80 + .byte 7 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/PetalburgCity_House2/map.bin b/data/maps/PetalburgCity_House2/map.bin new file mode 100644 index 0000000000..b91b7153be --- /dev/null +++ b/data/maps/PetalburgCity_House2/map.bin @@ -0,0 +1 @@ +nohi    vwp2q2$2$2$2$2$2$2~22Z6[6#2#2#2#2#2#2#2,2b6c6#2#2#2#2#2#2LM92#2#2#2#2#2#2+2TU92#2#2#2#2#2#2#2#2#292#2#2 #2#2#2#2#2 \ No newline at end of file diff --git a/data/maps/PetalburgCity_Mart/header.inc b/data/maps/PetalburgCity_Mart/header.inc new file mode 100644 index 0000000000..d2dc3edf38 --- /dev/null +++ b/data/maps/PetalburgCity_Mart/header.inc @@ -0,0 +1,15 @@ +PetalburgCity_Mart: @ 84830C0 + .4byte PetalburgCity_Mart_MapAttributes + .4byte PetalburgCity_Mart_MapEvents + .4byte PetalburgCity_Mart_MapScripts + .4byte 0x0 + .2byte MUS_FRIENDLY + .2byte 63 + .byte 7 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/header.inc b/data/maps/PetalburgCity_PokemonCenter_1F/header.inc new file mode 100644 index 0000000000..581432e209 --- /dev/null +++ b/data/maps/PetalburgCity_PokemonCenter_1F/header.inc @@ -0,0 +1,15 @@ +PetalburgCity_PokemonCenter_1F: @ 8483088 + .4byte PetalburgCity_PokemonCenter_1F_MapAttributes + .4byte PetalburgCity_PokemonCenter_1F_MapEvents + .4byte PetalburgCity_PokemonCenter_1F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 61 + .byte 7 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/PetalburgCity_PokemonCenter_2F/header.inc b/data/maps/PetalburgCity_PokemonCenter_2F/header.inc new file mode 100644 index 0000000000..c16cfdee2d --- /dev/null +++ b/data/maps/PetalburgCity_PokemonCenter_2F/header.inc @@ -0,0 +1,15 @@ +PetalburgCity_PokemonCenter_2F: @ 84830A4 + .4byte PetalburgCity_PokemonCenter_2F_MapAttributes + .4byte PetalburgCity_PokemonCenter_2F_MapEvents + .4byte PetalburgCity_PokemonCenter_2F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 62 + .byte 7 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/PetalburgCity_WallysHouse/header.inc b/data/maps/PetalburgCity_WallysHouse/header.inc new file mode 100644 index 0000000000..fc953bf811 --- /dev/null +++ b/data/maps/PetalburgCity_WallysHouse/header.inc @@ -0,0 +1,15 @@ +PetalburgCity_WallysHouse: @ 8483018 + .4byte PetalburgCity_WallysHouse_MapAttributes + .4byte PetalburgCity_WallysHouse_MapEvents + .4byte PetalburgCity_WallysHouse_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S2 + .2byte 60 + .byte 7 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/PetalburgWoods/border.bin b/data/maps/PetalburgWoods/border.bin new file mode 100644 index 0000000000..03bcafef11 --- /dev/null +++ b/data/maps/PetalburgWoods/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/PetalburgWoods/header.inc b/data/maps/PetalburgWoods/header.inc new file mode 100644 index 0000000000..1b1731f58e --- /dev/null +++ b/data/maps/PetalburgWoods/header.inc @@ -0,0 +1,15 @@ +PetalburgWoods: @ 8483FF4 + .4byte PetalburgWoods_MapAttributes + .4byte PetalburgWoods_MapEvents + .4byte PetalburgWoods_MapScripts + .4byte 0x0 + .2byte MUS_DAN01 + .2byte 135 + .byte 59 + .byte 0 + .byte 11 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/PetalburgWoods/map.bin b/data/maps/PetalburgWoods/map.bin new file mode 100644 index 0000000000..a032b4c43a --- /dev/null +++ b/data/maps/PetalburgWoods/map.bin @@ -0,0 +1 @@ +000000 0 0 0 0 0 0IIII000001111 0 0 000000000000005555 0 0 0000000000000000 0 0000000 0 0 0 04000000 0 0000000 0 0 0000 0 0 0 0 0 00000000 0 0 00111111 0 0000000 0 0 0 0 0 0 00000000000 0 0 0 0 0 0 0555555 0 0 000000000 0 0 0 0 0111111000011111111111111110000 0 00 0 0 05555550000555555555555555000 0 0 000000000100 0 0 00000500 0 0 0000 00000010 0 0 00 0 0 0 0 0 00000000000000000050 0 0 0 0 0 0 0 0 0 0000000 0 0 0 0000000000 0 0 0 0 0 0 0 0 000000 0 0 0 0 0 0 0 0 0000000 011111111000011111111110000005555555500005555555555000000000000 000000 000000 0 000000000 000000 0 0 00000000000000 0 0 0 0 0 0 0 000 0 0000000 0 0 0 0 00 0 0 00000000000 0 0 0 0 0 0000 0 0 00110 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0000000000000000 0 0 0 0550 0 0 0 0 0 0 0 0 0 0 0 0 0111111000000111111 0 0 0 011 0 0 0 011 0 0 0 0 0 0555000000555555 0 0 0 05 0 0 0 05 0 0 0 0 0 00000000 0 0 01111 0 0 0 0 0 0000 0 0 0 0 0 0 000000000000 0 0 0 0 0 0 0 0 040000000 0 0 0 0110 0 0 0 0 0 000000000 0 0 0 0 000005000000000000000 0 0 0 0 0 0 000000000 0 0 0 0 0 01111111100000011111111111111000 0 00 0 0500000055000 0 0 0 0 00000000000 0 011IIIIIIII5 \ No newline at end of file diff --git a/data/maps/RecordCorner/border.bin b/data/maps/RecordCorner/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/RecordCorner/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/RecordCorner/header.inc b/data/maps/RecordCorner/header.inc new file mode 100644 index 0000000000..67ebd94057 --- /dev/null +++ b/data/maps/RecordCorner/header.inc @@ -0,0 +1,15 @@ +RecordCorner: @ 8484D68 + .4byte RecordCorner_MapAttributes + .4byte RecordCorner_MapEvents + .4byte RecordCorner_MapScripts + .4byte 0x0 + .2byte MUS_RAINBOW + .2byte 223 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/RecordCorner/map.bin b/data/maps/RecordCorner/map.bin new file mode 100644 index 0000000000..51dfb6e5ac --- /dev/null +++ b/data/maps/RecordCorner/map.bin @@ -0,0 +1 @@ +22222222222222222222222222222222222222222222222222222222222222222222"2"2"2"2 \ No newline at end of file diff --git a/data/maps/Route101/border.bin b/data/maps/Route101/border.bin new file mode 100644 index 0000000000..03bcafef11 --- /dev/null +++ b/data/maps/Route101/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Route101/connections.inc b/data/maps/Route101/connections.inc new file mode 100644 index 0000000000..aee6303526 --- /dev/null +++ b/data/maps/Route101/connections.inc @@ -0,0 +1,8 @@ +Route101_MapConnectionsList: @ 848680C + connection up, 0, OLDALE_TOWN, 0 + connection down, 0, LITTLEROOT_TOWN, 0 + +Route101_MapConnections: @ 8486824 + .4byte 0x2 + .4byte Route101_MapConnectionsList + diff --git a/data/maps/Route101/header.inc b/data/maps/Route101/header.inc new file mode 100644 index 0000000000..9550dc26ba --- /dev/null +++ b/data/maps/Route101/header.inc @@ -0,0 +1,15 @@ +Route101: @ 8482678 + .4byte Route101_MapAttributes + .4byte Route101_MapEvents + .4byte Route101_MapScripts + .4byte Route101_MapConnections + .2byte MUS_DOORO1 + .2byte 17 + .byte 16 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route101/map.bin b/data/maps/Route101/map.bin new file mode 100644 index 0000000000..fab3a1d69c --- /dev/null +++ b/data/maps/Route101/map.bin @@ -0,0 +1 @@ +11101110 0 0 000000000 0 0 05 0 0 0 0000000 0 0 0 0 0 0 0 0 0 0000000 0 0 0 0 0 011 0 0 000000011 0 0 0 0 0 0 000n11 0 000000000011011000000001110001110 0 0011110111110 0 0 0 0 001110111110 0 0 0 0 0 00110011100 0 0 0 0 0 0000 0 0000011 0 0 0011 0 0 0 0 00000000 0 00011 0 0 0 00000001111 0 0 0 000000011111111000000 \ No newline at end of file diff --git a/data/maps/Route102/border.bin b/data/maps/Route102/border.bin new file mode 100644 index 0000000000..03bcafef11 --- /dev/null +++ b/data/maps/Route102/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Route102/connections.inc b/data/maps/Route102/connections.inc new file mode 100644 index 0000000000..7fa2d516f1 --- /dev/null +++ b/data/maps/Route102/connections.inc @@ -0,0 +1,8 @@ +Route102_MapConnectionsList: @ 848682C + connection left, -10, PETALBURG_CITY, 0 + connection right, 0, OLDALE_TOWN, 0 + +Route102_MapConnections: @ 8486844 + .4byte 0x2 + .4byte Route102_MapConnectionsList + diff --git a/data/maps/Route102/header.inc b/data/maps/Route102/header.inc new file mode 100644 index 0000000000..2c06344b0a --- /dev/null +++ b/data/maps/Route102/header.inc @@ -0,0 +1,15 @@ +Route102: @ 8482694 + .4byte Route102_MapAttributes + .4byte Route102_MapEvents + .4byte Route102_MapScripts + .4byte Route102_MapConnections + .2byte MUS_DOORO1 + .2byte 18 + .byte 17 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route102/map.bin b/data/maps/Route102/map.bin new file mode 100644 index 0000000000..7378bb44bb --- /dev/null +++ b/data/maps/Route102/map.bin @@ -0,0 +1 @@ + 0 0 00000000000026620 0 0 0 0 0 0 000011110000011110 0 0 0 0 0 0 0 0 0 0 0 0 0011111111000000000000000 0 0 0 0 0 0 0 0 0 0 0 00111q2y211110000000000110000 0 0 0000 0 0 0 0 0 0 0011100111100000 0 00000 0 0 0 00001r210000 0 0 0 0 00110000000000000000000000000 0 0 0 0 0 0 00{00000000000001111111100000 0 0 0 0 0 0 00011000000000000011 0 0 0 0 0 000000000011110000000 0 0 0 000000000111111100011 0 000 0 0 00011000 0 0111111111000 0 01100011000 0 0 0 0111111101111 0 0 0000000000 0 0 0 0 000111111000 0 0 001100 0 0 00000 0 0 0000111001111 0 0 0 00 0 0 0 0 0 0 0000000000000001111111111 0 0 00000011111111 0 0 0 0000011111111 \ No newline at end of file diff --git a/data/maps/Route103/border.bin b/data/maps/Route103/border.bin new file mode 100644 index 0000000000..03bcafef11 --- /dev/null +++ b/data/maps/Route103/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Route103/connections.inc b/data/maps/Route103/connections.inc new file mode 100644 index 0000000000..10d98cec76 --- /dev/null +++ b/data/maps/Route103/connections.inc @@ -0,0 +1,8 @@ +Route103_MapConnectionsList: @ 848684C + connection down, 0, OLDALE_TOWN, 0 + connection right, -60, ROUTE_110, 0 + +Route103_MapConnections: @ 8486864 + .4byte 0x2 + .4byte Route103_MapConnectionsList + diff --git a/data/maps/Route103/header.inc b/data/maps/Route103/header.inc new file mode 100644 index 0000000000..6bc4c00705 --- /dev/null +++ b/data/maps/Route103/header.inc @@ -0,0 +1,15 @@ +Route103: @ 84826B0 + .4byte Route103_MapAttributes + .4byte Route103_MapEvents + .4byte Route103_MapScripts + .4byte Route103_MapConnections + .2byte MUS_DOORO1 + .2byte 19 + .byte 18 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route103/map.bin b/data/maps/Route103/map.bin new file mode 100644 index 0000000000..44518dc92a --- /dev/null +++ b/data/maps/Route103/map.bin @@ -0,0 +1 @@ +ppppppppppsq{sqqqt}qsqqqqqqqqqqqqqqqqqqqqqqqt|}qqquuvpppppppp{|s{qquqq{qqqqt|||||||qqqqqqqqt}qqqqqu000000 0 0 0 0 0 0}~pppppppps{sqquqt{||||}qtq{||||||||}qqqqqqu0001111 0 0 0 0 0ppppppuvPQpp{s{ququ{|||||}qqq{|||||||} 0 0000111100 0 0 0 0 0puvppp}~XYpps{{|}t}tyyy 0 0 0 04444444o4 0 0 0 0dQpp}~uvPQpppuvPesq{|||}qr0000000K1L5L5L5M10000 0 0 0 0 0 0 000004444444lYuvpp}~XYppp}~Xm{|yz011111000000 0 0 0 0 0 0 000000000000p}~pppppppppppp0000000000000000000000 0 0 0 0 0 0 00000111110000pppppppppppppppppp000000000000000000011 0 0 0 0 00040111111000ppppppppppppppppppppppppp000000000000000111 0 0 0 000000001111000ppppppppppppppppppppppppp011110000000000011!1!1)1 0 0 0 0000000 0 0 0 00000ppppppppppppppppppppppppp0(1)1!1!1111100000011!1!1)1*104444444444 0 0 0 0 000000yppppppppppppppppppppppp000(1)1)1)1!1!1111111111111111!1!1)1*1000000000 0 0 0 0 0 0 0111111dQPQppppppppppuvppppp0000000(1)1)1)1)1)1)1)1)1)1)1)1)1)1)1)1)1)1*100000000000 0 0 0 0 0 0 05555lYXYuvppppPQPQ}~puvpx00000000000000000000000001100000011111122yp}~uvPQXYXYpPQ}~Pe0000000000000005ppp}~XYpppppXYppXm000000000110000uvppppppppppppppp000000000550000}~ppppppppppppppx00000pppppppppppppppp550000pppppppppppppppp0000pppppppppppppppp \ No newline at end of file diff --git a/data/maps/Route104/border.bin b/data/maps/Route104/border.bin new file mode 100644 index 0000000000..03bcafef11 --- /dev/null +++ b/data/maps/Route104/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Route104/connections.inc b/data/maps/Route104/connections.inc new file mode 100644 index 0000000000..0486aba984 --- /dev/null +++ b/data/maps/Route104/connections.inc @@ -0,0 +1,9 @@ +Route104_MapConnectionsList: @ 848686C + connection up, 0, RUSTBORO_CITY, 0 + connection down, 0, ROUTE_105, 0 + connection right, 50, PETALBURG_CITY, 0 + +Route104_MapConnections: @ 8486890 + .4byte 0x3 + .4byte Route104_MapConnectionsList + diff --git a/data/maps/Route104/header.inc b/data/maps/Route104/header.inc new file mode 100644 index 0000000000..7bcef3b0ba --- /dev/null +++ b/data/maps/Route104/header.inc @@ -0,0 +1,15 @@ +Route104: @ 84826CC + .4byte Route104_MapAttributes + .4byte Route104_MapEvents + .4byte Route104_MapScripts + .4byte Route104_MapConnections + .2byte MUS_NEXTROAD + .2byte 20 + .byte 19 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route104/map.bin b/data/maps/Route104/map.bin new file mode 100644 index 0000000000..7731bc31c0 Binary files /dev/null and b/data/maps/Route104/map.bin differ diff --git a/data/maps/Route104_MrBrineysHouse/border.bin b/data/maps/Route104_MrBrineysHouse/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/Route104_MrBrineysHouse/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Route104_MrBrineysHouse/header.inc b/data/maps/Route104_MrBrineysHouse/header.inc new file mode 100644 index 0000000000..f285f28ee3 --- /dev/null +++ b/data/maps/Route104_MrBrineysHouse/header.inc @@ -0,0 +1,15 @@ +Route104_MrBrineysHouse: @ 8483D70 + .4byte Route104_MrBrineysHouse_MapAttributes + .4byte Route104_MrBrineysHouse_MapEvents + .4byte Route104_MrBrineysHouse_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S2 + .2byte 102 + .byte 19 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route104_MrBrineysHouse/map.bin b/data/maps/Route104_MrBrineysHouse/map.bin new file mode 100644 index 0000000000..7660fd5d7d --- /dev/null +++ b/data/maps/Route104_MrBrineysHouse/map.bin @@ -0,0 +1 @@ +222!22!2!22222266)2)2)2)2)2)2)2)2)2)26)2)2)2)2)2)2NO)2)2)2!2)2)2)2)2)2)2VWD2)2)2!2)2)2)2)2)2)2)2)2)2)2)2 333333333333#3333333333 \ No newline at end of file diff --git a/data/maps/Route104_PrettyPetalFlowerShop/border.bin b/data/maps/Route104_PrettyPetalFlowerShop/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/Route104_PrettyPetalFlowerShop/border.bin differ diff --git a/data/maps/Route104_PrettyPetalFlowerShop/header.inc b/data/maps/Route104_PrettyPetalFlowerShop/header.inc new file mode 100644 index 0000000000..ceac3651fe --- /dev/null +++ b/data/maps/Route104_PrettyPetalFlowerShop/header.inc @@ -0,0 +1,15 @@ +Route104_PrettyPetalFlowerShop: @ 8483D8C + .4byte Route104_PrettyPetalFlowerShop_MapAttributes + .4byte Route104_PrettyPetalFlowerShop_MapEvents + .4byte Route104_PrettyPetalFlowerShop_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S2 + .2byte 117 + .byte 19 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route104_PrettyPetalFlowerShop/map.bin b/data/maps/Route104_PrettyPetalFlowerShop/map.bin new file mode 100644 index 0000000000..d34ff5c1a1 Binary files /dev/null and b/data/maps/Route104_PrettyPetalFlowerShop/map.bin differ diff --git a/data/maps/Route104_Prototype/border.bin b/data/maps/Route104_Prototype/border.bin new file mode 100644 index 0000000000..03bcafef11 --- /dev/null +++ b/data/maps/Route104_Prototype/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Route104_Prototype/header.inc b/data/maps/Route104_Prototype/header.inc new file mode 100644 index 0000000000..9728190a19 --- /dev/null +++ b/data/maps/Route104_Prototype/header.inc @@ -0,0 +1,15 @@ +Route104_Prototype: @ 8485AF8 + .4byte Route104_Prototype_MapAttributes + .4byte Route104_Prototype_MapEvents + .4byte Route104_Prototype_MapScripts + .4byte 0x0 + .2byte MUS_NEXTROAD + .2byte 287 + .byte 19 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 8 + .byte 0 + diff --git a/data/maps/Route104_Prototype/map.bin b/data/maps/Route104_Prototype/map.bin new file mode 100644 index 0000000000..71bd63e620 --- /dev/null +++ b/data/maps/Route104_Prototype/map.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Route104_PrototypePrettyPetalFlowerShop/header.inc b/data/maps/Route104_PrototypePrettyPetalFlowerShop/header.inc new file mode 100644 index 0000000000..ac5604d72f --- /dev/null +++ b/data/maps/Route104_PrototypePrettyPetalFlowerShop/header.inc @@ -0,0 +1,15 @@ +Route104_PrototypePrettyPetalFlowerShop: @ 8485B14 + .4byte Route104_PrototypePrettyPetalFlowerShop_MapAttributes + .4byte Route104_PrototypePrettyPetalFlowerShop_MapEvents + .4byte Route104_PrototypePrettyPetalFlowerShop_MapScripts + .4byte 0x0 + .2byte MUS_NEXTROAD + .2byte 117 + .byte 19 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 8 + .byte 0 + diff --git a/data/maps/Route105/border.bin b/data/maps/Route105/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/Route105/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/Route105/connections.inc b/data/maps/Route105/connections.inc new file mode 100644 index 0000000000..44357db1e9 --- /dev/null +++ b/data/maps/Route105/connections.inc @@ -0,0 +1,9 @@ +Route105_MapConnectionsList: @ 8486898 + connection up, 0, ROUTE_104, 0 + connection down, 0, ROUTE_106, 0 + connection dive, 0, UNDERWATER_6, 0 + +Route105_MapConnections: @ 84868BC + .4byte 0x3 + .4byte Route105_MapConnectionsList + diff --git a/data/maps/Route105/header.inc b/data/maps/Route105/header.inc new file mode 100644 index 0000000000..de48be1a57 --- /dev/null +++ b/data/maps/Route105/header.inc @@ -0,0 +1,15 @@ +Route105: @ 84826E8 + .4byte Route105_MapAttributes + .4byte Route105_MapEvents + .4byte Route105_MapScripts + .4byte Route105_MapConnections + .2byte MUS_NEXTROAD + .2byte 21 + .byte 20 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route105/map.bin b/data/maps/Route105/map.bin new file mode 100644 index 0000000000..c4bd8286c0 Binary files /dev/null and b/data/maps/Route105/map.bin differ diff --git a/data/maps/Route106/border.bin b/data/maps/Route106/border.bin new file mode 100644 index 0000000000..281762f5b5 --- /dev/null +++ b/data/maps/Route106/border.bin @@ -0,0 +1 @@ +CCCC \ No newline at end of file diff --git a/data/maps/Route106/connections.inc b/data/maps/Route106/connections.inc new file mode 100644 index 0000000000..a3b16c4528 --- /dev/null +++ b/data/maps/Route106/connections.inc @@ -0,0 +1,8 @@ +Route106_MapConnectionsList: @ 84868C4 + connection up, 0, ROUTE_105, 0 + connection down, 60, DEWFORD_TOWN, 0 + +Route106_MapConnections: @ 84868DC + .4byte 0x2 + .4byte Route106_MapConnectionsList + diff --git a/data/maps/Route106/header.inc b/data/maps/Route106/header.inc new file mode 100644 index 0000000000..5ee6a30710 --- /dev/null +++ b/data/maps/Route106/header.inc @@ -0,0 +1,15 @@ +Route106: @ 8482704 + .4byte Route106_MapAttributes + .4byte Route106_MapEvents + .4byte Route106_MapScripts + .4byte Route106_MapConnections + .2byte MUS_NEXTROAD + .2byte 22 + .byte 21 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route106/map.bin b/data/maps/Route106/map.bin new file mode 100644 index 0000000000..b7e7d7238b Binary files /dev/null and b/data/maps/Route106/map.bin differ diff --git a/data/maps/Route107/border.bin b/data/maps/Route107/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/Route107/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/Route107/connections.inc b/data/maps/Route107/connections.inc new file mode 100644 index 0000000000..2e17530d6c --- /dev/null +++ b/data/maps/Route107/connections.inc @@ -0,0 +1,8 @@ +Route107_MapConnectionsList: @ 84868E4 + connection left, 0, DEWFORD_TOWN, 0 + connection right, 0, ROUTE_108, 0 + +Route107_MapConnections: @ 84868FC + .4byte 0x2 + .4byte Route107_MapConnectionsList + diff --git a/data/maps/Route107/header.inc b/data/maps/Route107/header.inc new file mode 100644 index 0000000000..d6dffda046 --- /dev/null +++ b/data/maps/Route107/header.inc @@ -0,0 +1,15 @@ +Route107: @ 8482720 + .4byte Route107_MapAttributes + .4byte Route107_MapEvents + .4byte Route107_MapScripts + .4byte Route107_MapConnections + .2byte MUS_NEXTROAD + .2byte 23 + .byte 22 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route107/map.bin b/data/maps/Route107/map.bin new file mode 100644 index 0000000000..521997b0fb Binary files /dev/null and b/data/maps/Route107/map.bin differ diff --git a/data/maps/Route108/border.bin b/data/maps/Route108/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/Route108/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/Route108/connections.inc b/data/maps/Route108/connections.inc new file mode 100644 index 0000000000..1208a2138c --- /dev/null +++ b/data/maps/Route108/connections.inc @@ -0,0 +1,8 @@ +Route108_MapConnectionsList: @ 8486904 + connection left, 0, ROUTE_107, 0 + connection right, -40, ROUTE_109, 0 + +Route108_MapConnections: @ 848691C + .4byte 0x2 + .4byte Route108_MapConnectionsList + diff --git a/data/maps/Route108/header.inc b/data/maps/Route108/header.inc new file mode 100644 index 0000000000..e0a0c9f428 --- /dev/null +++ b/data/maps/Route108/header.inc @@ -0,0 +1,15 @@ +Route108: @ 848273C + .4byte Route108_MapAttributes + .4byte Route108_MapEvents + .4byte Route108_MapScripts + .4byte Route108_MapConnections + .2byte MUS_NEXTROAD + .2byte 24 + .byte 23 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route108/map.bin b/data/maps/Route108/map.bin new file mode 100644 index 0000000000..138ddc0207 --- /dev/null +++ b/data/maps/Route108/map.bin @@ -0,0 +1 @@ +ppppppppppppppppPQpp111111111111pppppppppppppPQpppppppppppPQppppppppppppppXYp11511^5_515^5_511bQppppppppppppXYpppppppppPQXY11pPQpppppppppPc^5_5155n5o551n5o555jYppp1111111pPQppuvpuvPQXYpPc^5_5bQXY11pPQppXkn5o5111^5_51Q3R3S3T35puvPc^5_51515bQXYpp}~p}~XYpppXkn5o5jYpPc^5_5bQXYuvpn5o5X7YZ[\7]p}~Xkn5o55151jYppPQpPQppppppppppXkn5o5jYpp}~pppppp1`abcdepppp1111pppXYpXYpppppppppppppppppppppppppppi3j3k3ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppuvppppppppppppppPQp11pppppppppppppppPQpppppppppppppppppppp}~ppppppppp11pXY1511ppppppppppppppXYpppppppppppppp111ppppPQppPQpp5ppp1511pp11ppppppPQppPQuvppppp11p51ppuvXYuvXYpppuvppPc^5_5bQpppppXYppXY}~uvppPc^5_5bQpPQ}~pp}~puvppPQp}~PQppPQuvXkn5o5jYppppPQppppppp}~PQXkn5o5jYpPQuvXYppppppp}~PQXYuvpXYPQXY}~ppPQPQXYpppppppppXYpPQXY}~pppPQppppppXYpp}~pppXYpppppPQpppXYXYppppppppppppppppppXYpppppppXYppppppppppppppppppppppXYppppppp \ No newline at end of file diff --git a/data/maps/Route109/border.bin b/data/maps/Route109/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/Route109/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/Route109/connections.inc b/data/maps/Route109/connections.inc new file mode 100644 index 0000000000..8e1ff175f4 --- /dev/null +++ b/data/maps/Route109/connections.inc @@ -0,0 +1,8 @@ +Route109_MapConnectionsList: @ 8486924 + connection up, 0, SLATEPORT_CITY, 0 + connection left, 40, ROUTE_108, 0 + +Route109_MapConnections: @ 848693C + .4byte 0x2 + .4byte Route109_MapConnectionsList + diff --git a/data/maps/Route109/header.inc b/data/maps/Route109/header.inc new file mode 100644 index 0000000000..532443e1b9 --- /dev/null +++ b/data/maps/Route109/header.inc @@ -0,0 +1,15 @@ +Route109: @ 8482758 + .4byte Route109_MapAttributes + .4byte Route109_MapEvents + .4byte Route109_MapScripts + .4byte Route109_MapConnections + .2byte MUS_NEXTROAD + .2byte 25 + .byte 24 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route109/map.bin b/data/maps/Route109/map.bin new file mode 100644 index 0000000000..62350867e2 Binary files /dev/null and b/data/maps/Route109/map.bin differ diff --git a/data/maps/Route109_SeashoreHouse/border.bin b/data/maps/Route109_SeashoreHouse/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/Route109_SeashoreHouse/border.bin differ diff --git a/data/maps/Route109_SeashoreHouse/header.inc b/data/maps/Route109_SeashoreHouse/header.inc new file mode 100644 index 0000000000..99c905eaa3 --- /dev/null +++ b/data/maps/Route109_SeashoreHouse/header.inc @@ -0,0 +1,15 @@ +Route109_SeashoreHouse: @ 8485B30 + .4byte Route109_SeashoreHouse_MapAttributes + .4byte Route109_SeashoreHouse_MapEvents + .4byte Route109_SeashoreHouse_MapScripts + .4byte 0x0 + .2byte MUS_HIGHTOWN + .2byte 243 + .byte 24 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route109_SeashoreHouse/map.bin b/data/maps/Route109_SeashoreHouse/map.bin new file mode 100644 index 0000000000..cb7853a17e --- /dev/null +++ b/data/maps/Route109_SeashoreHouse/map.bin @@ -0,0 +1,3 @@ +./   67 + +   22222'22222"2,2,2-2$2$2,2,2-2$2$2$2,2,2&2 %2%2%2%2%2!22*2222*2*2222*2*222 $2$2$2$2$2!22%2222%2%2222%2%222 *2*2*2*2*2*2*2*2*2*2*2!22%2%2%2%2%2%2%2%2%222 \ No newline at end of file diff --git a/data/maps/Route110/border.bin b/data/maps/Route110/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/Route110/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/Route110/connections.inc b/data/maps/Route110/connections.inc new file mode 100644 index 0000000000..92a12b42a2 --- /dev/null +++ b/data/maps/Route110/connections.inc @@ -0,0 +1,9 @@ +Route110_MapConnectionsList: @ 8486944 + connection up, 0, MAUVILLE_CITY, 0 + connection down, 0, SLATEPORT_CITY, 0 + connection left, 60, ROUTE_103, 0 + +Route110_MapConnections: @ 8486968 + .4byte 0x3 + .4byte Route110_MapConnectionsList + diff --git a/data/maps/Route110/header.inc b/data/maps/Route110/header.inc new file mode 100644 index 0000000000..5a74c1d6c5 --- /dev/null +++ b/data/maps/Route110/header.inc @@ -0,0 +1,15 @@ +Route110: @ 8482774 + .4byte Route110_MapAttributes + .4byte Route110_MapEvents + .4byte Route110_MapScripts + .4byte Route110_MapConnections + .2byte MUS_DOORO_X1 + .2byte 26 + .byte 25 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route110/map.bin b/data/maps/Route110/map.bin new file mode 100644 index 0000000000..ac83cb93d2 Binary files /dev/null and b/data/maps/Route110/map.bin differ diff --git a/data/maps/Route110_SeasideCyclingRoadEntrance1/border.bin b/data/maps/Route110_SeasideCyclingRoadEntrance1/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/Route110_SeasideCyclingRoadEntrance1/border.bin differ diff --git a/data/maps/Route110_SeasideCyclingRoadEntrance1/header.inc b/data/maps/Route110_SeasideCyclingRoadEntrance1/header.inc new file mode 100644 index 0000000000..433849c147 --- /dev/null +++ b/data/maps/Route110_SeasideCyclingRoadEntrance1/header.inc @@ -0,0 +1,15 @@ +Route110_SeasideCyclingRoadEntrance1: @ 8485C80 + .4byte Route110_SeasideCyclingRoadEntrance1_MapAttributes + .4byte Route110_SeasideCyclingRoadEntrance1_MapEvents + .4byte Route110_SeasideCyclingRoadEntrance1_MapScripts + .4byte 0x0 + .2byte MUS_FINECITY + .2byte 256 + .byte 25 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 1 + .byte 0 + diff --git a/data/maps/Route110_SeasideCyclingRoadEntrance1/map.bin b/data/maps/Route110_SeasideCyclingRoadEntrance1/map.bin new file mode 100644 index 0000000000..e9fc770d48 --- /dev/null +++ b/data/maps/Route110_SeasideCyclingRoadEntrance1/map.bin @@ -0,0 +1 @@ +x2p2p2p2p2622226x2p2p2p22h2h2h2h26666662h2h2h2\2h2h2h2h2p2Y2Z2Y2Z2p2y2h2h2l2d6h2h2h2a6b6a6b6h2h2t6 \ No newline at end of file diff --git a/data/maps/Route110_SeasideCyclingRoadEntrance2/header.inc b/data/maps/Route110_SeasideCyclingRoadEntrance2/header.inc new file mode 100644 index 0000000000..755b6a5ffd --- /dev/null +++ b/data/maps/Route110_SeasideCyclingRoadEntrance2/header.inc @@ -0,0 +1,15 @@ +Route110_SeasideCyclingRoadEntrance2: @ 8485C9C + .4byte Route110_SeasideCyclingRoadEntrance2_MapAttributes + .4byte Route110_SeasideCyclingRoadEntrance2_MapEvents + .4byte Route110_SeasideCyclingRoadEntrance2_MapScripts + .4byte 0x0 + .2byte MUS_FINECITY + .2byte 256 + .byte 25 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 1 + .byte 0 + diff --git a/data/maps/Route110_TrickHouseCorridor/border.bin b/data/maps/Route110_TrickHouseCorridor/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/Route110_TrickHouseCorridor/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Route110_TrickHouseCorridor/header.inc b/data/maps/Route110_TrickHouseCorridor/header.inc new file mode 100644 index 0000000000..b8f569c6a5 --- /dev/null +++ b/data/maps/Route110_TrickHouseCorridor/header.inc @@ -0,0 +1,15 @@ +Route110_TrickHouseCorridor: @ 8485B84 + .4byte Route110_TrickHouseCorridor_MapAttributes + .4byte Route110_TrickHouseCorridor_MapEvents + .4byte Route110_TrickHouseCorridor_MapScripts + .4byte 0x0 + .2byte MUS_KARAKURI + .2byte 246 + .byte 25 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route110_TrickHouseCorridor/map.bin b/data/maps/Route110_TrickHouseCorridor/map.bin new file mode 100644 index 0000000000..8981d28bd3 --- /dev/null +++ b/data/maps/Route110_TrickHouseCorridor/map.bin @@ -0,0 +1 @@ +2!2!2!2!2!2!2!2!2!2!22!2)2)2)2)2)2)2)2)2)2)2)2!2)2)2!2)2)2!2)2)2!2)2)22!22!2)2)2!2)2)2)2)2)2!2)2)2)2)2)2!2)2)2!2)2)2!2)2)2!2)2)2!2)2)2!2)2)2!2)2)2!2)2)2!2)2)2!2)2)2!2)2)2!2)2)22!22!2)2)2)222 \ No newline at end of file diff --git a/data/maps/Route110_TrickHouseEnd/border.bin b/data/maps/Route110_TrickHouseEnd/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/Route110_TrickHouseEnd/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Route110_TrickHouseEnd/header.inc b/data/maps/Route110_TrickHouseEnd/header.inc new file mode 100644 index 0000000000..7f69874d10 --- /dev/null +++ b/data/maps/Route110_TrickHouseEnd/header.inc @@ -0,0 +1,15 @@ +Route110_TrickHouseEnd: @ 8485B68 + .4byte Route110_TrickHouseEnd_MapAttributes + .4byte Route110_TrickHouseEnd_MapEvents + .4byte Route110_TrickHouseEnd_MapScripts + .4byte 0x0 + .2byte MUS_KARAKURI + .2byte 245 + .byte 25 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route110_TrickHouseEnd/map.bin b/data/maps/Route110_TrickHouseEnd/map.bin new file mode 100644 index 0000000000..506fdb6441 --- /dev/null +++ b/data/maps/Route110_TrickHouseEnd/map.bin @@ -0,0 +1 @@ +26 26!22222!2!2!22!2!2!2!2)2)2)2)2)2D2)2)2)2)2)2!2)2)2)2)2NO)2)2)2)2)2!2)2)2)2D2VWD2)2)2)2)2!2)2)2)2)2)2)2)2)2)2)2)2!2)2)2)2)2)2)2)2)2)2)2)2 \ No newline at end of file diff --git a/data/maps/Route110_TrickHouseEntrance/border.bin b/data/maps/Route110_TrickHouseEntrance/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/Route110_TrickHouseEntrance/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Route110_TrickHouseEntrance/header.inc b/data/maps/Route110_TrickHouseEntrance/header.inc new file mode 100644 index 0000000000..f3aa39cc5b --- /dev/null +++ b/data/maps/Route110_TrickHouseEntrance/header.inc @@ -0,0 +1,15 @@ +Route110_TrickHouseEntrance: @ 8485B4C + .4byte Route110_TrickHouseEntrance_MapAttributes + .4byte Route110_TrickHouseEntrance_MapEvents + .4byte Route110_TrickHouseEntrance_MapScripts + .4byte 0x0 + .2byte MUS_KARAKURI + .2byte 244 + .byte 25 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route110_TrickHouseEntrance/map.bin b/data/maps/Route110_TrickHouseEntrance/map.bin new file mode 100644 index 0000000000..1306bb9b57 --- /dev/null +++ b/data/maps/Route110_TrickHouseEntrance/map.bin @@ -0,0 +1 @@ +6!2!2!2!2!2!2!2!2!2222!2)2)2)2D2NOD2)2)2)2)23)2)2)2D2VWD2)2)2)23'7)2)2)2)2)2)2)2)2)2)2"7 333333333333#333332233333 \ No newline at end of file diff --git a/data/maps/Route110_TrickHousePuzzle1/border.bin b/data/maps/Route110_TrickHousePuzzle1/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/Route110_TrickHousePuzzle1/border.bin differ diff --git a/data/maps/Route110_TrickHousePuzzle1/header.inc b/data/maps/Route110_TrickHousePuzzle1/header.inc new file mode 100644 index 0000000000..ff78e36525 --- /dev/null +++ b/data/maps/Route110_TrickHousePuzzle1/header.inc @@ -0,0 +1,15 @@ +Route110_TrickHousePuzzle1: @ 8485BA0 + .4byte Route110_TrickHousePuzzle1_MapAttributes + .4byte Route110_TrickHousePuzzle1_MapEvents + .4byte Route110_TrickHousePuzzle1_MapScripts + .4byte 0x0 + .2byte MUS_KARAKURI + .2byte 247 + .byte 25 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route110_TrickHousePuzzle1/map.bin b/data/maps/Route110_TrickHousePuzzle1/map.bin new file mode 100644 index 0000000000..2bf5b392c7 --- /dev/null +++ b/data/maps/Route110_TrickHousePuzzle1/map.bin @@ -0,0 +1,2 @@ +o233333333334 +w6 #$+$$$+$+$$!222Z2Z2*Z2Z2Z2*Z2*Z2Z2"22222222222222"22222,222,2,22,2222#$$+$$$$$$+%202Z2Z2Z2*Z2Z2Z2Z2Z2Z2*Z22Z22"22222222222222,22(220%22,2220$!2#!2Z2Z22#+$$%Z2Z2*2Z2"22"2Z2*Z2Z2Z222222"22"22222222(22,22,22,22222#$+$+$$$$+$%222Z2Z2"Z2*Z2Z2Z2Z2*Z2Z22222"2Z2222222222222,222222,222#$$$+$$$$+$$%20Z2Z2Z2Z2*Z2Z2Z2Z2*Z2Z2Z22Z22222Z22222Z222222222222222222222 \ No newline at end of file diff --git a/data/maps/Route110_TrickHousePuzzle2/border.bin b/data/maps/Route110_TrickHousePuzzle2/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/Route110_TrickHousePuzzle2/border.bin differ diff --git a/data/maps/Route110_TrickHousePuzzle2/header.inc b/data/maps/Route110_TrickHousePuzzle2/header.inc new file mode 100644 index 0000000000..25aa8b8dc8 --- /dev/null +++ b/data/maps/Route110_TrickHousePuzzle2/header.inc @@ -0,0 +1,15 @@ +Route110_TrickHousePuzzle2: @ 8485BBC + .4byte Route110_TrickHousePuzzle2_MapAttributes + .4byte Route110_TrickHousePuzzle2_MapEvents + .4byte Route110_TrickHousePuzzle2_MapScripts + .4byte 0x0 + .2byte MUS_KARAKURI + .2byte 248 + .byte 25 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route110_TrickHousePuzzle2/map.bin b/data/maps/Route110_TrickHousePuzzle2/map.bin new file mode 100644 index 0000000000..cb35a063e8 --- /dev/null +++ b/data/maps/Route110_TrickHousePuzzle2/map.bin @@ -0,0 +1,2 @@ +o          +w6 222222222222222222222222X22222222222222X222222i2222222222222222222222222222222222222222222222X222222222X22ii22222222222222222222i2222222222222222222222222222222222222222222222222222222222222222 \ No newline at end of file diff --git a/data/maps/Route110_TrickHousePuzzle3/border.bin b/data/maps/Route110_TrickHousePuzzle3/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/Route110_TrickHousePuzzle3/border.bin differ diff --git a/data/maps/Route110_TrickHousePuzzle3/header.inc b/data/maps/Route110_TrickHousePuzzle3/header.inc new file mode 100644 index 0000000000..9cd8c45be3 --- /dev/null +++ b/data/maps/Route110_TrickHousePuzzle3/header.inc @@ -0,0 +1,15 @@ +Route110_TrickHousePuzzle3: @ 8485BD8 + .4byte Route110_TrickHousePuzzle3_MapAttributes + .4byte Route110_TrickHousePuzzle3_MapEvents + .4byte Route110_TrickHousePuzzle3_MapScripts + .4byte 0x0 + .2byte MUS_KARAKURI + .2byte 249 + .byte 25 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route110_TrickHousePuzzle3/map.bin b/data/maps/Route110_TrickHousePuzzle3/map.bin new file mode 100644 index 0000000000..ac4f344d9a --- /dev/null +++ b/data/maps/Route110_TrickHousePuzzle3/map.bin @@ -0,0 +1,2 @@ +o          +w6 &22&22&2X2&22&22-8292-22-22-22-82925@A522M22:225@Aq222q222U222B22X222K2L2829222&8292225S2T2M@A522"@AM22q222222U222"22q222K2L2./8292-22K2L25S2T25675@A5225S2T2q222X222q222U222U22282928292228292&225@AM@A5225@A"22~22U2X22q222q222"22./K2L2&./22-K2L2567:S2T2"67M225S2T2q2q2q2B22"q2q2U222222228292-228292225225@A5225@A522q222q222q222q222q222222222222222222 \ No newline at end of file diff --git a/data/maps/Route110_TrickHousePuzzle4/border.bin b/data/maps/Route110_TrickHousePuzzle4/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/Route110_TrickHousePuzzle4/border.bin differ diff --git a/data/maps/Route110_TrickHousePuzzle4/header.inc b/data/maps/Route110_TrickHousePuzzle4/header.inc new file mode 100644 index 0000000000..c928f08f30 --- /dev/null +++ b/data/maps/Route110_TrickHousePuzzle4/header.inc @@ -0,0 +1,15 @@ +Route110_TrickHousePuzzle4: @ 8485BF4 + .4byte Route110_TrickHousePuzzle4_MapAttributes + .4byte Route110_TrickHousePuzzle4_MapEvents + .4byte Route110_TrickHousePuzzle4_MapScripts + .4byte 0x0 + .2byte MUS_KARAKURI + .2byte 250 + .byte 25 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route110_TrickHousePuzzle4/map.bin b/data/maps/Route110_TrickHousePuzzle4/map.bin new file mode 100644 index 0000000000..2dbcf251bd --- /dev/null +++ b/data/maps/Route110_TrickHousePuzzle4/map.bin @@ -0,0 +1,2 @@ +o             +w6 22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222q2q2q2q2q2q2q2q2q2q2q2q2q2q2222222222222222222222222222222 \ No newline at end of file diff --git a/data/maps/Route110_TrickHousePuzzle5/border.bin b/data/maps/Route110_TrickHousePuzzle5/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/Route110_TrickHousePuzzle5/border.bin differ diff --git a/data/maps/Route110_TrickHousePuzzle5/header.inc b/data/maps/Route110_TrickHousePuzzle5/header.inc new file mode 100644 index 0000000000..d8b57d744a --- /dev/null +++ b/data/maps/Route110_TrickHousePuzzle5/header.inc @@ -0,0 +1,15 @@ +Route110_TrickHousePuzzle5: @ 8485C10 + .4byte Route110_TrickHousePuzzle5_MapAttributes + .4byte Route110_TrickHousePuzzle5_MapEvents + .4byte Route110_TrickHousePuzzle5_MapScripts + .4byte 0x0 + .2byte MUS_KARAKURI + .2byte 251 + .byte 25 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route110_TrickHousePuzzle5/map.bin b/data/maps/Route110_TrickHousePuzzle5/map.bin new file mode 100644 index 0000000000..470e3eba3d --- /dev/null +++ b/data/maps/Route110_TrickHousePuzzle5/map.bin @@ -0,0 +1,2 @@ +o             +w6 hh222hhhhhh2222h22222hhhhh2hhh2222222hhh222hh2222222hh22222h2222222h22222222222222222222222222222h2222222h22222hh2222222h22222hh2222222h22222hhh22222hhh222hhhh22222hhh222hhhh22222hhhh2hhhhhh222hhhh222hhhhh222hhh22222hhhhh2hhh2222222hhh222hhh22222hhh22222hhh222hhh22222222222hhhhh22222h22hhhhhhhh22hh \ No newline at end of file diff --git a/data/maps/Route110_TrickHousePuzzle6/border.bin b/data/maps/Route110_TrickHousePuzzle6/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/Route110_TrickHousePuzzle6/border.bin differ diff --git a/data/maps/Route110_TrickHousePuzzle6/header.inc b/data/maps/Route110_TrickHousePuzzle6/header.inc new file mode 100644 index 0000000000..5864cdd595 --- /dev/null +++ b/data/maps/Route110_TrickHousePuzzle6/header.inc @@ -0,0 +1,15 @@ +Route110_TrickHousePuzzle6: @ 8485C2C + .4byte Route110_TrickHousePuzzle6_MapAttributes + .4byte Route110_TrickHousePuzzle6_MapEvents + .4byte Route110_TrickHousePuzzle6_MapScripts + .4byte 0x0 + .2byte MUS_KARAKURI + .2byte 252 + .byte 25 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route110_TrickHousePuzzle6/map.bin b/data/maps/Route110_TrickHousePuzzle6/map.bin new file mode 100644 index 0000000000..45dc20ba18 --- /dev/null +++ b/data/maps/Route110_TrickHousePuzzle6/map.bin @@ -0,0 +1,2 @@ +o             +w6 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222622222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 \ No newline at end of file diff --git a/data/maps/Route110_TrickHousePuzzle7/border.bin b/data/maps/Route110_TrickHousePuzzle7/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/Route110_TrickHousePuzzle7/border.bin differ diff --git a/data/maps/Route110_TrickHousePuzzle7/header.inc b/data/maps/Route110_TrickHousePuzzle7/header.inc new file mode 100644 index 0000000000..e9217f7e21 --- /dev/null +++ b/data/maps/Route110_TrickHousePuzzle7/header.inc @@ -0,0 +1,15 @@ +Route110_TrickHousePuzzle7: @ 8485C48 + .4byte Route110_TrickHousePuzzle7_MapAttributes + .4byte Route110_TrickHousePuzzle7_MapEvents + .4byte Route110_TrickHousePuzzle7_MapScripts + .4byte 0x0 + .2byte MUS_KARAKURI + .2byte 253 + .byte 25 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route110_TrickHousePuzzle7/map.bin b/data/maps/Route110_TrickHousePuzzle7/map.bin new file mode 100644 index 0000000000..68ac73547d --- /dev/null +++ b/data/maps/Route110_TrickHousePuzzle7/map.bin @@ -0,0 +1,2 @@ +o             +w6 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 \ No newline at end of file diff --git a/data/maps/Route110_TrickHousePuzzle8/border.bin b/data/maps/Route110_TrickHousePuzzle8/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/Route110_TrickHousePuzzle8/border.bin differ diff --git a/data/maps/Route110_TrickHousePuzzle8/header.inc b/data/maps/Route110_TrickHousePuzzle8/header.inc new file mode 100644 index 0000000000..d9fce791ea --- /dev/null +++ b/data/maps/Route110_TrickHousePuzzle8/header.inc @@ -0,0 +1,15 @@ +Route110_TrickHousePuzzle8: @ 8485C64 + .4byte Route110_TrickHousePuzzle8_MapAttributes + .4byte Route110_TrickHousePuzzle8_MapEvents + .4byte Route110_TrickHousePuzzle8_MapScripts + .4byte 0x0 + .2byte MUS_KARAKURI + .2byte 254 + .byte 25 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route110_TrickHousePuzzle8/map.bin b/data/maps/Route110_TrickHousePuzzle8/map.bin new file mode 100644 index 0000000000..b59b0f6066 --- /dev/null +++ b/data/maps/Route110_TrickHousePuzzle8/map.bin @@ -0,0 +1,2 @@ +o             +w6 222622222222226k2k2l6l6l6k2l6l6l6l6l6l6l6l6l6k2k2k2k2l6k2l6k2k2k2k2k2k2k2k2k2l6k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2l6k2k2k2k2k2k2l6k2k2k2k2k2k2k2k2k2l6k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2l6k2222662266666k262626666666262k262k2l6k2k2k2k2l6l6k2k2k2k2k2k22k2k2k2k2l6k2k2k2k2k2l6k2k2k2k2k2k2k2k2l6k2k2k2k2k2l6k2k2k2k2k2k2k2k2l6k2k2k2k2k2l6k2k2k2k2k2k2k2k2l6k2k2k2k2k2l6k2k2k2k2k2l6k2k2k2k2k2k2k2k2l6k2k2k2k2k2k2k2k2k2k2k2k22k2l6k2k2k2k2k2k2k2k2k2k2k2k2k2k2l6k2k2k2k2k2k2l6l6l6k2l6k2k2k2l6k2k2k2k2226662622262222226622622222222 \ No newline at end of file diff --git a/data/maps/Route111/border.bin b/data/maps/Route111/border.bin new file mode 100644 index 0000000000..4531975c76 Binary files /dev/null and b/data/maps/Route111/border.bin differ diff --git a/data/maps/Route111/connections.inc b/data/maps/Route111/connections.inc new file mode 100644 index 0000000000..8133a0b78c --- /dev/null +++ b/data/maps/Route111/connections.inc @@ -0,0 +1,9 @@ +Route111_MapConnectionsList: @ 8486970 + connection down, 0, MAUVILLE_CITY, 0 + connection left, 0, ROUTE_113, 0 + connection left, 20, ROUTE_112, 0 + +Route111_MapConnections: @ 8486994 + .4byte 0x3 + .4byte Route111_MapConnectionsList + diff --git a/data/maps/Route111/header.inc b/data/maps/Route111/header.inc new file mode 100644 index 0000000000..804a36387a --- /dev/null +++ b/data/maps/Route111/header.inc @@ -0,0 +1,15 @@ +Route111: @ 8482790 + .4byte Route111_MapAttributes + .4byte Route111_MapEvents + .4byte Route111_MapScripts + .4byte Route111_MapConnections + .2byte MUS_DOORO_X1 + .2byte 27 + .byte 26 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route111/map.bin b/data/maps/Route111/map.bin new file mode 100644 index 0000000000..4ce11a8a9a Binary files /dev/null and b/data/maps/Route111/map.bin differ diff --git a/data/maps/Route111_OldLadysRestStop/header.inc b/data/maps/Route111_OldLadysRestStop/header.inc new file mode 100644 index 0000000000..8de668c4b3 --- /dev/null +++ b/data/maps/Route111_OldLadysRestStop/header.inc @@ -0,0 +1,15 @@ +Route111_OldLadysRestStop: @ 8483DC4 + .4byte Route111_OldLadysRestStop_MapAttributes + .4byte Route111_OldLadysRestStop_MapEvents + .4byte Route111_OldLadysRestStop_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 64 + .byte 26 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route111_WinstrateFamilysHouse/header.inc b/data/maps/Route111_WinstrateFamilysHouse/header.inc new file mode 100644 index 0000000000..86a766b6d3 --- /dev/null +++ b/data/maps/Route111_WinstrateFamilysHouse/header.inc @@ -0,0 +1,15 @@ +Route111_WinstrateFamilysHouse: @ 8483DA8 + .4byte Route111_WinstrateFamilysHouse_MapAttributes + .4byte Route111_WinstrateFamilysHouse_MapEvents + .4byte Route111_WinstrateFamilysHouse_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 60 + .byte 26 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route112/border.bin b/data/maps/Route112/border.bin new file mode 100644 index 0000000000..9ae2c21264 --- /dev/null +++ b/data/maps/Route112/border.bin @@ -0,0 +1 @@ +qqqq \ No newline at end of file diff --git a/data/maps/Route112/connections.inc b/data/maps/Route112/connections.inc new file mode 100644 index 0000000000..a8d94d7104 --- /dev/null +++ b/data/maps/Route112/connections.inc @@ -0,0 +1,9 @@ +Route112_MapConnectionsList: @ 848699C + connection up, -60, ROUTE_113, 0 + connection left, 40, LAVARIDGE_TOWN, 0 + connection right, -20, ROUTE_111, 0 + +Route112_MapConnections: @ 84869C0 + .4byte 0x3 + .4byte Route112_MapConnectionsList + diff --git a/data/maps/Route112/header.inc b/data/maps/Route112/header.inc new file mode 100644 index 0000000000..e0411ce058 --- /dev/null +++ b/data/maps/Route112/header.inc @@ -0,0 +1,15 @@ +Route112: @ 84827AC + .4byte Route112_MapAttributes + .4byte Route112_MapEvents + .4byte Route112_MapScripts + .4byte Route112_MapConnections + .2byte MUS_DOORO_X1 + .2byte 28 + .byte 27 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route112/map.bin b/data/maps/Route112/map.bin new file mode 100644 index 0000000000..ef3fd5f10b Binary files /dev/null and b/data/maps/Route112/map.bin differ diff --git a/data/maps/Route112_CableCarStation/border.bin b/data/maps/Route112_CableCarStation/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/Route112_CableCarStation/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Route112_CableCarStation/header.inc b/data/maps/Route112_CableCarStation/header.inc new file mode 100644 index 0000000000..6caefade90 --- /dev/null +++ b/data/maps/Route112_CableCarStation/header.inc @@ -0,0 +1,15 @@ +Route112_CableCarStation: @ 8483DE0 + .4byte Route112_CableCarStation_MapAttributes + .4byte Route112_CableCarStation_MapEvents + .4byte Route112_CableCarStation_MapScripts + .4byte 0x0 + .2byte MUS_DOORO_X1 + .2byte 118 + .byte 27 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route112_CableCarStation/map.bin b/data/maps/Route112_CableCarStation/map.bin new file mode 100644 index 0000000000..93db9d5f06 Binary files /dev/null and b/data/maps/Route112_CableCarStation/map.bin differ diff --git a/data/maps/Route113/border.bin b/data/maps/Route113/border.bin new file mode 100644 index 0000000000..73e1e3c60e --- /dev/null +++ b/data/maps/Route113/border.bin @@ -0,0 +1 @@ +mnuv \ No newline at end of file diff --git a/data/maps/Route113/connections.inc b/data/maps/Route113/connections.inc new file mode 100644 index 0000000000..1ba0cf64c3 --- /dev/null +++ b/data/maps/Route113/connections.inc @@ -0,0 +1,9 @@ +Route113_MapConnectionsList: @ 84869C8 + connection down, 60, ROUTE_112, 0 + connection left, 0, FALLARBOR_TOWN, 0 + connection right, 0, ROUTE_111, 0 + +Route113_MapConnections: @ 84869EC + .4byte 0x3 + .4byte Route113_MapConnectionsList + diff --git a/data/maps/Route113/header.inc b/data/maps/Route113/header.inc new file mode 100644 index 0000000000..a8c19f49da --- /dev/null +++ b/data/maps/Route113/header.inc @@ -0,0 +1,15 @@ +Route113: @ 84827C8 + .4byte Route113_MapAttributes + .4byte Route113_MapEvents + .4byte Route113_MapScripts + .4byte Route113_MapConnections + .2byte MUS_KAZANBAI + .2byte 29 + .byte 28 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route113/map.bin b/data/maps/Route113/map.bin new file mode 100644 index 0000000000..609690de29 Binary files /dev/null and b/data/maps/Route113/map.bin differ diff --git a/data/maps/Route113_GlassWorkshop/header.inc b/data/maps/Route113_GlassWorkshop/header.inc new file mode 100644 index 0000000000..49c0005b0e --- /dev/null +++ b/data/maps/Route113_GlassWorkshop/header.inc @@ -0,0 +1,15 @@ +Route113_GlassWorkshop: @ 8485CB8 + .4byte Route113_GlassWorkshop_MapAttributes + .4byte Route113_GlassWorkshop_MapEvents + .4byte Route113_GlassWorkshop_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 67 + .byte 28 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route114/border.bin b/data/maps/Route114/border.bin new file mode 100644 index 0000000000..23e2a92e5d --- /dev/null +++ b/data/maps/Route114/border.bin @@ -0,0 +1 @@ +klst \ No newline at end of file diff --git a/data/maps/Route114/connections.inc b/data/maps/Route114/connections.inc new file mode 100644 index 0000000000..8569b143f3 --- /dev/null +++ b/data/maps/Route114/connections.inc @@ -0,0 +1,8 @@ +Route114_MapConnectionsList: @ 84869F4 + connection left, 40, ROUTE_115, 0 + connection right, 0, FALLARBOR_TOWN, 0 + +Route114_MapConnections: @ 8486A0C + .4byte 0x2 + .4byte Route114_MapConnectionsList + diff --git a/data/maps/Route114/header.inc b/data/maps/Route114/header.inc new file mode 100644 index 0000000000..5b9db262ad --- /dev/null +++ b/data/maps/Route114/header.inc @@ -0,0 +1,15 @@ +Route114: @ 84827E4 + .4byte Route114_MapAttributes + .4byte Route114_MapEvents + .4byte Route114_MapScripts + .4byte Route114_MapConnections + .2byte MUS_DOORO_X1 + .2byte 30 + .byte 29 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route114/map.bin b/data/maps/Route114/map.bin new file mode 100644 index 0000000000..3bad45e042 Binary files /dev/null and b/data/maps/Route114/map.bin differ diff --git a/data/maps/Route114_FossilManiacsHouse/border.bin b/data/maps/Route114_FossilManiacsHouse/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/Route114_FossilManiacsHouse/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Route114_FossilManiacsHouse/header.inc b/data/maps/Route114_FossilManiacsHouse/header.inc new file mode 100644 index 0000000000..277c0c0df9 --- /dev/null +++ b/data/maps/Route114_FossilManiacsHouse/header.inc @@ -0,0 +1,15 @@ +Route114_FossilManiacsHouse: @ 8483E18 + .4byte Route114_FossilManiacsHouse_MapAttributes + .4byte Route114_FossilManiacsHouse_MapEvents + .4byte Route114_FossilManiacsHouse_MapScripts + .4byte 0x0 + .2byte MUS_TONEKUSA + .2byte 119 + .byte 29 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route114_FossilManiacsHouse/map.bin b/data/maps/Route114_FossilManiacsHouse/map.bin new file mode 100644 index 0000000000..ea2d94fda5 --- /dev/null +++ b/data/maps/Route114_FossilManiacsHouse/map.bin @@ -0,0 +1 @@ +622!22233@2!2)2)2)2)277222!2NOD2)222)2)2)2Y2VW)2)2)2)2)2)2)2 3333333333#33333333 \ No newline at end of file diff --git a/data/maps/Route114_FossilManiacsTunnel/border.bin b/data/maps/Route114_FossilManiacsTunnel/border.bin new file mode 100644 index 0000000000..580a207f4b --- /dev/null +++ b/data/maps/Route114_FossilManiacsTunnel/border.bin @@ -0,0 +1 @@ +wwww \ No newline at end of file diff --git a/data/maps/Route114_FossilManiacsTunnel/header.inc b/data/maps/Route114_FossilManiacsTunnel/header.inc new file mode 100644 index 0000000000..169b0b7a42 --- /dev/null +++ b/data/maps/Route114_FossilManiacsTunnel/header.inc @@ -0,0 +1,15 @@ +Route114_FossilManiacsTunnel: @ 8483E34 + .4byte Route114_FossilManiacsTunnel_MapAttributes + .4byte Route114_FossilManiacsTunnel_MapEvents + .4byte Route114_FossilManiacsTunnel_MapScripts + .4byte 0x0 + .2byte MUS_TONEKUSA + .2byte 120 + .byte 29 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route114_FossilManiacsTunnel/map.bin b/data/maps/Route114_FossilManiacsTunnel/map.bin new file mode 100644 index 0000000000..61838bff25 --- /dev/null +++ b/data/maps/Route114_FossilManiacsTunnel/map.bin @@ -0,0 +1 @@ +w2whiiiiiijw2w2w2whxhiiGijrw2wwwphxhiOjrzjwww2pphx33rzjrwwwppp332zjrrwwwppp6y233rrrwwwppp3y2y26rrrwwwppp3y2y22rrrwwwpp-2y2y22rrrwwwp-2p3y26rrrwwww2pp3y22rrrwwww2ppp3y26,rrwwww2ppp62r6rzjw2ww2ppp32r3zjrw2ww2ppp32r3y6rrw2ww2ppp32r3y6rrw2whxp-22r3y6rrw2wp2p2p 3r77rrw2wp6p2p 3zj3rzjwp2p6p 33r3r3rwp2p2p32r3r7rwp2p2p36r3zjrhx2p7p32r77rrpy62phx32zj3rrpy62pp3333r3rrpy62pp3222r3rr \ No newline at end of file diff --git a/data/maps/Route114_LanettesHouse/border.bin b/data/maps/Route114_LanettesHouse/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/Route114_LanettesHouse/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Route114_LanettesHouse/header.inc b/data/maps/Route114_LanettesHouse/header.inc new file mode 100644 index 0000000000..ba4cccfd5a --- /dev/null +++ b/data/maps/Route114_LanettesHouse/header.inc @@ -0,0 +1,15 @@ +Route114_LanettesHouse: @ 8483E50 + .4byte Route114_LanettesHouse_MapAttributes + .4byte Route114_LanettesHouse_MapEvents + .4byte Route114_LanettesHouse_MapScripts + .4byte 0x0 + .2byte MUS_TONEKUSA + .2byte 121 + .byte 29 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route114_LanettesHouse/map.bin b/data/maps/Route114_LanettesHouse/map.bin new file mode 100644 index 0000000000..de1858be4c --- /dev/null +++ b/data/maps/Route114_LanettesHouse/map.bin @@ -0,0 +1,2 @@ +   +L  !2 !22"2#2"2#2 !2(2(202PQ2(:2Q62%2282XY22BY,-2@22J262%2P4522222)2,-XJ2222145 \ No newline at end of file diff --git a/data/maps/Route115/border.bin b/data/maps/Route115/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/Route115/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/Route115/connections.inc b/data/maps/Route115/connections.inc new file mode 100644 index 0000000000..3f283eb91a --- /dev/null +++ b/data/maps/Route115/connections.inc @@ -0,0 +1,8 @@ +Route115_MapConnectionsList: @ 8486A14 + connection down, 0, RUSTBORO_CITY, 0 + connection right, -40, ROUTE_114, 0 + +Route115_MapConnections: @ 8486A2C + .4byte 0x2 + .4byte Route115_MapConnectionsList + diff --git a/data/maps/Route115/header.inc b/data/maps/Route115/header.inc new file mode 100644 index 0000000000..4d135e0b6a --- /dev/null +++ b/data/maps/Route115/header.inc @@ -0,0 +1,15 @@ +Route115: @ 8482800 + .4byte Route115_MapAttributes + .4byte Route115_MapEvents + .4byte Route115_MapScripts + .4byte Route115_MapConnections + .2byte MUS_NEXTROAD + .2byte 31 + .byte 30 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route115/map.bin b/data/maps/Route115/map.bin new file mode 100644 index 0000000000..64a58e691d Binary files /dev/null and b/data/maps/Route115/map.bin differ diff --git a/data/maps/Route116/border.bin b/data/maps/Route116/border.bin new file mode 100644 index 0000000000..03bcafef11 --- /dev/null +++ b/data/maps/Route116/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Route116/connections.inc b/data/maps/Route116/connections.inc new file mode 100644 index 0000000000..e037bff3bb --- /dev/null +++ b/data/maps/Route116/connections.inc @@ -0,0 +1,8 @@ +Route116_MapConnectionsList: @ 8486A34 + connection down, 80, VERDANTURF_TOWN, 0 + connection left, 0, RUSTBORO_CITY, 0 + +Route116_MapConnections: @ 8486A4C + .4byte 0x2 + .4byte Route116_MapConnectionsList + diff --git a/data/maps/Route116/header.inc b/data/maps/Route116/header.inc new file mode 100644 index 0000000000..27009ad3fa --- /dev/null +++ b/data/maps/Route116/header.inc @@ -0,0 +1,15 @@ +Route116: @ 848281C + .4byte Route116_MapAttributes + .4byte Route116_MapEvents + .4byte Route116_MapScripts + .4byte Route116_MapConnections + .2byte MUS_NEXTROAD + .2byte 32 + .byte 31 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route116/map.bin b/data/maps/Route116/map.bin new file mode 100644 index 0000000000..a6e9d8843c Binary files /dev/null and b/data/maps/Route116/map.bin differ diff --git a/data/maps/Route116_TunnelersRestHouse/border.bin b/data/maps/Route116_TunnelersRestHouse/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/Route116_TunnelersRestHouse/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Route116_TunnelersRestHouse/header.inc b/data/maps/Route116_TunnelersRestHouse/header.inc new file mode 100644 index 0000000000..489c5a8b9e --- /dev/null +++ b/data/maps/Route116_TunnelersRestHouse/header.inc @@ -0,0 +1,15 @@ +Route116_TunnelersRestHouse: @ 8483E6C + .4byte Route116_TunnelersRestHouse_MapAttributes + .4byte Route116_TunnelersRestHouse_MapEvents + .4byte Route116_TunnelersRestHouse_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 122 + .byte 31 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route116_TunnelersRestHouse/map.bin b/data/maps/Route116_TunnelersRestHouse/map.bin new file mode 100644 index 0000000000..91e2c20190 --- /dev/null +++ b/data/maps/Route116_TunnelersRestHouse/map.bin @@ -0,0 +1 @@ +222!2!2!2!2222!2)2)2)2)2)2)2)2)2)2Y2NO)2)2)2)2NOD2!2VWD2)2)2D2VWD2!2)2)2)2)2)2)2)2)2)2 3333333333#33333333 \ No newline at end of file diff --git a/data/maps/Route117/border.bin b/data/maps/Route117/border.bin new file mode 100644 index 0000000000..addb5d6ce7 Binary files /dev/null and b/data/maps/Route117/border.bin differ diff --git a/data/maps/Route117/connections.inc b/data/maps/Route117/connections.inc new file mode 100644 index 0000000000..ab64dd3b67 --- /dev/null +++ b/data/maps/Route117/connections.inc @@ -0,0 +1,8 @@ +Route117_MapConnectionsList: @ 8486A54 + connection left, 0, VERDANTURF_TOWN, 0 + connection right, 0, MAUVILLE_CITY, 0 + +Route117_MapConnections: @ 8486A6C + .4byte 0x2 + .4byte Route117_MapConnectionsList + diff --git a/data/maps/Route117/header.inc b/data/maps/Route117/header.inc new file mode 100644 index 0000000000..d92b96e305 --- /dev/null +++ b/data/maps/Route117/header.inc @@ -0,0 +1,15 @@ +Route117: @ 8482838 + .4byte Route117_MapAttributes + .4byte Route117_MapEvents + .4byte Route117_MapScripts + .4byte Route117_MapConnections + .2byte MUS_DOORO_X1 + .2byte 33 + .byte 32 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route117/map.bin b/data/maps/Route117/map.bin new file mode 100644 index 0000000000..bdeda9cd42 --- /dev/null +++ b/data/maps/Route117/map.bin @@ -0,0 +1,10 @@ +5670 2 000000000 0 0 +20000000000 0 00000h4s4q0u4i0j4000 2 0000040 0 0 0 00000000 0 0 0 0 0 0 00000000p4{4|4}4q0r440 0 000000 0000 0 0 +00000008IIIIII:0000000p4q0q0t4y4z40 0 00000 0 200 2004000@2 22 +222B000000 +2x4y4y4z400 00 04000000 20 000000@222 22 +2B000000000000 !"20@2222 22B000000000 +202000000000000000000000000000IIIIIIIHI0000IJ0111111100000200011111111111111100000000002202020200000000 1!1)1)1)1)1*1000000000011!1!1!1)1x2y2x2y2x2y2x2y2!1!1!111000000002200202011111111!1"1000000000011111!1!1!1!1*10(1)1!1!1!11110000022020202 !!!!!!!!1"100 20000(1)1!1!1!1!1!1!1*10110(1!1!1!1)1*10000022200000(1)1)1)1)1)1)1)1)1*100200000(1)1!1!1!1"10000 1!1*1000000020202000000000000000000000(1!1!1"1000 1"100000000II@@@@II8II000II:0 0 00200000 1!1!110K1L5L5L5M1001!1"10000000000@22 22 +222B 0 0 00 0 0 00(1!1!1"101111100 1!1*10000@222 22 +22B 0 0 0 0 0 0 0 00 1!1!1100000000001!1"100@2222 22 +2B 0 0 0 0 0 0 0 0 0(1!1!1!11111111111!1!1*100H0IIIIIIJ@@@------%0%0 0 0 0 0 0(1)1)1)1)1)1)1)1)1)1)1)1)1)1*1000000000000000000%0%0 0 0 00000000000000000000%0%0%00000 \ No newline at end of file diff --git a/data/maps/Route117_PokemonDayCare/border.bin b/data/maps/Route117_PokemonDayCare/border.bin new file mode 100644 index 0000000000..7f603e844e --- /dev/null +++ b/data/maps/Route117_PokemonDayCare/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Route117_PokemonDayCare/header.inc b/data/maps/Route117_PokemonDayCare/header.inc new file mode 100644 index 0000000000..1ace346b5c --- /dev/null +++ b/data/maps/Route117_PokemonDayCare/header.inc @@ -0,0 +1,15 @@ +Route117_PokemonDayCare: @ 8483E88 + .4byte Route117_PokemonDayCare_MapAttributes + .4byte Route117_PokemonDayCare_MapEvents + .4byte Route117_PokemonDayCare_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 123 + .byte 32 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route117_PokemonDayCare/map.bin b/data/maps/Route117_PokemonDayCare/map.bin new file mode 100644 index 0000000000..bd4b64e13f --- /dev/null +++ b/data/maps/Route117_PokemonDayCare/map.bin @@ -0,0 +1,2 @@ +567       +=>?$2&22&244222 22 .!.#222222222(222322222-2022222222222)*%2222222820212222222C222922%2;<22@AAAAA \ No newline at end of file diff --git a/data/maps/Route118/border.bin b/data/maps/Route118/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/Route118/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/Route118/connections.inc b/data/maps/Route118/connections.inc new file mode 100644 index 0000000000..fe473be527 --- /dev/null +++ b/data/maps/Route118/connections.inc @@ -0,0 +1,9 @@ +Route118_MapConnectionsList: @ 8486A74 + connection up, 40, ROUTE_119, 0 + connection left, 0, MAUVILLE_CITY, 0 + connection right, 0, ROUTE_123, 0 + +Route118_MapConnections: @ 8486A98 + .4byte 0x3 + .4byte Route118_MapConnectionsList + diff --git a/data/maps/Route118/header.inc b/data/maps/Route118/header.inc new file mode 100644 index 0000000000..5567df47f8 --- /dev/null +++ b/data/maps/Route118/header.inc @@ -0,0 +1,15 @@ +Route118: @ 8482854 + .4byte Route118_MapAttributes + .4byte Route118_MapEvents + .4byte Route118_MapScripts + .4byte Route118_MapConnections + .2byte MUS_ROUTE_118 + .2byte 34 + .byte 33 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route118/map.bin b/data/maps/Route118/map.bin new file mode 100644 index 0000000000..dfd8a293d2 Binary files /dev/null and b/data/maps/Route118/map.bin differ diff --git a/data/maps/Route119/border.bin b/data/maps/Route119/border.bin new file mode 100644 index 0000000000..864ac15fab Binary files /dev/null and b/data/maps/Route119/border.bin differ diff --git a/data/maps/Route119/connections.inc b/data/maps/Route119/connections.inc new file mode 100644 index 0000000000..20dd274988 --- /dev/null +++ b/data/maps/Route119/connections.inc @@ -0,0 +1,8 @@ +Route119_MapConnectionsList: @ 8486AA0 + connection down, -40, ROUTE_118, 0 + connection right, 0, FORTREE_CITY, 0 + +Route119_MapConnections: @ 8486AB8 + .4byte 0x2 + .4byte Route119_MapConnectionsList + diff --git a/data/maps/Route119/header.inc b/data/maps/Route119/header.inc new file mode 100644 index 0000000000..17d13f5727 --- /dev/null +++ b/data/maps/Route119/header.inc @@ -0,0 +1,15 @@ +Route119: @ 8482870 + .4byte Route119_MapAttributes + .4byte Route119_MapEvents + .4byte Route119_MapScripts + .4byte Route119_MapConnections + .2byte MUS_GRANROAD + .2byte 35 + .byte 34 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route119/map.bin b/data/maps/Route119/map.bin new file mode 100644 index 0000000000..1126455a26 Binary files /dev/null and b/data/maps/Route119/map.bin differ diff --git a/data/maps/Route119_House/header.inc b/data/maps/Route119_House/header.inc new file mode 100644 index 0000000000..86f968efc9 --- /dev/null +++ b/data/maps/Route119_House/header.inc @@ -0,0 +1,15 @@ +Route119_House: @ 8485D28 + .4byte Route119_House_MapAttributes + .4byte Route119_House_MapEvents + .4byte Route119_House_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 59 + .byte 34 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route119_WeatherInstitute_1F/border.bin b/data/maps/Route119_WeatherInstitute_1F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/Route119_WeatherInstitute_1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Route119_WeatherInstitute_1F/header.inc b/data/maps/Route119_WeatherInstitute_1F/header.inc new file mode 100644 index 0000000000..1f555389a1 --- /dev/null +++ b/data/maps/Route119_WeatherInstitute_1F/header.inc @@ -0,0 +1,15 @@ +Route119_WeatherInstitute_1F: @ 8485CF0 + .4byte Route119_WeatherInstitute_1F_MapAttributes + .4byte Route119_WeatherInstitute_1F_MapEvents + .4byte Route119_WeatherInstitute_1F_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 271 + .byte 34 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route119_WeatherInstitute_1F/map.bin b/data/maps/Route119_WeatherInstitute_1F/map.bin new file mode 100644 index 0000000000..07a4e7ebbe --- /dev/null +++ b/data/maps/Route119_WeatherInstitute_1F/map.bin @@ -0,0 +1 @@ +__nk___k______|}~_ggkgggk,-,-gglmv2kj2z2z2k4545j222z2222tuR2sr2R2R2sj2z2z2z2w2R2R2R2R2R2R2R2r2R2R2pr2R2R2pr2R2R2`aR2R2R2`aR2R2r2R2R2xr2R2R2xr2R2^2STV2R2^2STV2R2r2U2R22w2R2R22w2R2R2R2R2R2R2U22fZ2h2R2R2R2h2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2f___pR2R2R2p____________gggxR2R2R2xggggggggggggj2z2z22R2R2R22z2z2z2z2z2z2z2z2z2z2z2z2r2R2R2R2R2R2R2R2U2R2R2U2R2R2R2R2R2R2R2R2r2R2R2R2R2R2R2R2]]R2R2R2R2R2R2R2R2 \ No newline at end of file diff --git a/data/maps/Route119_WeatherInstitute_2F/border.bin b/data/maps/Route119_WeatherInstitute_2F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/Route119_WeatherInstitute_2F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Route119_WeatherInstitute_2F/header.inc b/data/maps/Route119_WeatherInstitute_2F/header.inc new file mode 100644 index 0000000000..048ccbf776 --- /dev/null +++ b/data/maps/Route119_WeatherInstitute_2F/header.inc @@ -0,0 +1,15 @@ +Route119_WeatherInstitute_2F: @ 8485D0C + .4byte Route119_WeatherInstitute_2F_MapAttributes + .4byte Route119_WeatherInstitute_2F_MapEvents + .4byte Route119_WeatherInstitute_2F_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 272 + .byte 34 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route119_WeatherInstitute_2F/map.bin b/data/maps/Route119_WeatherInstitute_2F/map.bin new file mode 100644 index 0000000000..97953f463a --- /dev/null +++ b/data/maps/Route119_WeatherInstitute_2F/map.bin @@ -0,0 +1 @@ +__k___________|6}6~6_ggk,-,-,-,-,-g66gj222z2k4545454545j22z22z2r2`i2i2sj2z2z2dez2z2z2dew2i2i2i2i2W2Ti2i2pr2i2^2STV2i2^2STV2i2i2i2i2r2\i2i2xr2i2i2i2i2i2i2i2i2i2i2r2i2i2i22w2i2i2i2i2i2i2i2i2i2i2i2i2i2i2r2i2i2i2r2i2i2`ai2i2i2`ai2i2i2i2i2r2`i2i2kr2i2^2STi2i2^2STV2i2i2i2i2W2Ti2i2kr2i2i2i2i2i2i2i2i2i2i2r2\i2i2kr2i2i2i2i2i2i2i2i2i2i2i2i2i2i2 \ No newline at end of file diff --git a/data/maps/Route120/border.bin b/data/maps/Route120/border.bin new file mode 100644 index 0000000000..864ac15fab Binary files /dev/null and b/data/maps/Route120/border.bin differ diff --git a/data/maps/Route120/connections.inc b/data/maps/Route120/connections.inc new file mode 100644 index 0000000000..f05e657395 --- /dev/null +++ b/data/maps/Route120/connections.inc @@ -0,0 +1,8 @@ +Route120_MapConnectionsList: @ 8486AC0 + connection left, 0, FORTREE_CITY, 0 + connection right, 80, ROUTE_121, 0 + +Route120_MapConnections: @ 8486AD8 + .4byte 0x2 + .4byte Route120_MapConnectionsList + diff --git a/data/maps/Route120/header.inc b/data/maps/Route120/header.inc new file mode 100644 index 0000000000..ab7022f9ce --- /dev/null +++ b/data/maps/Route120/header.inc @@ -0,0 +1,15 @@ +Route120: @ 848288C + .4byte Route120_MapAttributes + .4byte Route120_MapEvents + .4byte Route120_MapScripts + .4byte Route120_MapConnections + .2byte MUS_DOORO_X3 + .2byte 36 + .byte 35 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route120/map.bin b/data/maps/Route120/map.bin new file mode 100644 index 0000000000..599e6014d7 Binary files /dev/null and b/data/maps/Route120/map.bin differ diff --git a/data/maps/Route121/border.bin b/data/maps/Route121/border.bin new file mode 100644 index 0000000000..03bcafef11 --- /dev/null +++ b/data/maps/Route121/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Route121/connections.inc b/data/maps/Route121/connections.inc new file mode 100644 index 0000000000..47d55b65dd --- /dev/null +++ b/data/maps/Route121/connections.inc @@ -0,0 +1,9 @@ +Route121_MapConnectionsList: @ 8486AE0 + connection down, 20, ROUTE_122, 0 + connection left, -80, ROUTE_120, 0 + connection right, -10, LILYCOVE_CITY, 0 + +Route121_MapConnections: @ 8486B04 + .4byte 0x3 + .4byte Route121_MapConnectionsList + diff --git a/data/maps/Route121/header.inc b/data/maps/Route121/header.inc new file mode 100644 index 0000000000..5347f6d3d0 --- /dev/null +++ b/data/maps/Route121/header.inc @@ -0,0 +1,15 @@ +Route121: @ 84828A8 + .4byte Route121_MapAttributes + .4byte Route121_MapEvents + .4byte Route121_MapScripts + .4byte Route121_MapConnections + .2byte MUS_DOORO_X3 + .2byte 37 + .byte 36 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route121/map.bin b/data/maps/Route121/map.bin new file mode 100644 index 0000000000..cfee98f2ae --- /dev/null +++ b/data/maps/Route121/map.bin @@ -0,0 +1 @@ +urX011120Z6ururX011120Zururs6L5L5u6X0000000001112000Zur00000000000000000000ur{211}255X000000008999:000Zur000000000000000000||||}r 0 0 0PQQQQQQQQQQQQQQQQQ3$%&5QQQRurPQQQQQQQQQQQQQQQQQR0PQQQQQQAQQQQQRD55 0 0 0 000000 0 0 0000000110BD-EC0tyy}r00000000 0 0 0 0 0000000000 0 0 0 00Z0000000000000000000000000000 0 0 0 0 000000000000r00tz000000000 0 0 0 0 0 0 000000 0 0 0 0 0 0Z0000000000000000000000000000 0 0 0 0 0000001100000r&'rPQQQQR00PQQR00PQR00PQQQQQQQQR000000000001111111100000000 0 0 0 0 0 0 00000t00yyz00r 0 0000000000Z0000Z00X0 0 00 0 0 00Z00000000011!1!1)1)1)1)1)1*10 0 0 0PQQQQQQQQQQQR00r0000000r 0 0 0PQQQQR0PR0000Z00X0 0 0 0 0 0 00Z000011111!1!1!1*100000 0 0 0 0 0 0 0 0 0 0 00t|||||00||||z0000000r 0 0 0 0 0 0 00000Z 0 000Z0000 0 0 0 0 0 000001155)1)1)1)1)1*10011111111 0 0 0 0t|||}t00yyyy00zPQQQQQQQQQQR 0 0 00Z00000000000000555500000000t|||}tz000000000000 0 0 0 0 0000000000000 0 0 0 0 00ZPQQQQQQQQR000055t|00000000555utz00000tyy00yy0000 0 0 0 0 0 0 0000000000 0 0 0 0 00Z011111100000t|||}yyyyyy||||||||}r00000t|||}]^0^0^0_{|||| 0 0 0 0 0 0 00000000 0 0 0 0 0PQR026666200000uPPPPPPt}t||||}]^0^0^0^0_{||||||||||||||||||||||||||||||||||}p1p1p1p111P55t||}q0q0q0q0q0q0t}pPe]^0^0^0^0_dQppp1p1p1p1Pt|}t||||||}ppppppXm]^0^0^0^0_lYPQpppppppppppppppppppppppppppppp1p1p1p1p1p1p1p1p1p1p1p1p155t}q0q0uppppppppPQe^0^0^0^0gpXYPQPQpppppppppppppppppppppppppp1p1p1p1p1p1p1p1p1p1p1p1p1Pt}q0t|}pppppppppppppppppXYpppXYXYpppppppppppppppppppppppppp1p1p1p1p1p1p1p1p1p1p1p1p1 \ No newline at end of file diff --git a/data/maps/Route121_SafariZoneEntrance/border.bin b/data/maps/Route121_SafariZoneEntrance/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/Route121_SafariZoneEntrance/border.bin differ diff --git a/data/maps/Route121_SafariZoneEntrance/header.inc b/data/maps/Route121_SafariZoneEntrance/header.inc new file mode 100644 index 0000000000..3ce3d22e7e --- /dev/null +++ b/data/maps/Route121_SafariZoneEntrance/header.inc @@ -0,0 +1,15 @@ +Route121_SafariZoneEntrance: @ 8483EA4 + .4byte Route121_SafariZoneEntrance_MapAttributes + .4byte Route121_SafariZoneEntrance_MapEvents + .4byte Route121_SafariZoneEntrance_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 124 + .byte 36 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route121_SafariZoneEntrance/map.bin b/data/maps/Route121_SafariZoneEntrance/map.bin new file mode 100644 index 0000000000..35c1badacb --- /dev/null +++ b/data/maps/Route121_SafariZoneEntrance/map.bin @@ -0,0 +1 @@ +]x2p2p2p2p2p22222e2x2p2p2p2p22h2h2h2h2h22h22h2h22\2h2h2h2h2h2q2Y2Z2Y2Z2p2y2h2h2h2h22d6h2h2h2h2ababh2h2h2h2h2h2h22h2h2h222\2h2h2h2dh2h2h2x22h2h2h222h2h2h222h2h2h2\2h2h2h2q22d6h2h2t6 \ No newline at end of file diff --git a/data/maps/Route122/border.bin b/data/maps/Route122/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/Route122/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/Route122/connections.inc b/data/maps/Route122/connections.inc new file mode 100644 index 0000000000..2d6f53859e --- /dev/null +++ b/data/maps/Route122/connections.inc @@ -0,0 +1,8 @@ +Route122_MapConnectionsList: @ 8486B0C + connection up, -20, ROUTE_121, 0 + connection down, -100, ROUTE_123, 0 + +Route122_MapConnections: @ 8486B24 + .4byte 0x2 + .4byte Route122_MapConnectionsList + diff --git a/data/maps/Route122/header.inc b/data/maps/Route122/header.inc new file mode 100644 index 0000000000..f4856b8ab3 --- /dev/null +++ b/data/maps/Route122/header.inc @@ -0,0 +1,15 @@ +Route122: @ 84828C4 + .4byte Route122_MapAttributes + .4byte Route122_MapEvents + .4byte Route122_MapScripts + .4byte Route122_MapConnections + .2byte MUS_DOORO_X4 + .2byte 38 + .byte 37 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route122/map.bin b/data/maps/Route122/map.bin new file mode 100644 index 0000000000..1c76b0b0a0 Binary files /dev/null and b/data/maps/Route122/map.bin differ diff --git a/data/maps/Route123/border.bin b/data/maps/Route123/border.bin new file mode 100644 index 0000000000..864ac15fab Binary files /dev/null and b/data/maps/Route123/border.bin differ diff --git a/data/maps/Route123/connections.inc b/data/maps/Route123/connections.inc new file mode 100644 index 0000000000..ef10fb9740 --- /dev/null +++ b/data/maps/Route123/connections.inc @@ -0,0 +1,8 @@ +Route123_MapConnectionsList: @ 8486B2C + connection up, 100, ROUTE_122, 0 + connection left, 0, ROUTE_118, 0 + +Route123_MapConnections: @ 8486B44 + .4byte 0x2 + .4byte Route123_MapConnectionsList + diff --git a/data/maps/Route123/header.inc b/data/maps/Route123/header.inc new file mode 100644 index 0000000000..ff3ab332fe --- /dev/null +++ b/data/maps/Route123/header.inc @@ -0,0 +1,15 @@ +Route123: @ 84828E0 + .4byte Route123_MapAttributes + .4byte Route123_MapEvents + .4byte Route123_MapScripts + .4byte Route123_MapConnections + .2byte MUS_DOORO_X4 + .2byte 39 + .byte 38 + .byte 0 + .byte 2 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route123/map.bin b/data/maps/Route123/map.bin new file mode 100644 index 0000000000..e1ab62bd71 --- /dev/null +++ b/data/maps/Route123/map.bin @@ -0,0 +1,2 @@ +pppppppppppppppppppppE00Gppppppppppppppppp@000000000@00hiiiiiiiiiiiij 0 0 0 0 00 0 04K1L5L5L5M1pppppppppppppppppppE00Gppppppppppppppppp@AIIIIIIII90@00000pqqqqqqqqqqqqr0 0 0 0 0 0 0 0 0 0 001111100pppppppppppppppppE00Gppppppppppppppppp@Bs6u60s6u60s6u6@00 0 0 +00@00000040xyyyyqqqqqr00 0 0 0 0 0 0 0 0 0 0000000ppppppppppppppppE00Gppppppppppppppppp@B{2}20{2}20{2}2@00@00000000 0 0xqqqqr000 0 0 0 0 0 0 0 0 0 0 00000000pppppppppppppppE00Gppppppppppppppppp@Bs6u60s6u60s6u6@0 0@0000000 0 0 0 0xyyw44444440 0 0000 0 00000 0 000000000pppppppppppppE00Gppppppppppppppppp0@B{2}20{2}20{2}2@0 !"0@00000000 0 0 0 0 04o000000000 0000000000 0 0 0 0 00pppppppppppE00Gpppppppppppppp000@3II0000II2400000@04000000000 0 0 0 0 0 00000000000000000000 0 0 0 0 0 0 00ppppppppppE00Gpppppppppppp00000@0000000000000000@000000000000%0%0 0 0 0 0000000000000400000%0 0 0 0 0 0 00ppppppppE00Gppppppppp00000000@00000000011000@000000000000000004000%0 0 0 00004444440 0 0 000000%0 0 0 0 0 0 00pppE00Gpp000000000@000000000011000@0000000000000000000 0 00000000000%0 0 00000%0 0 0 0 0 00000000000>4>4>40000>4>4>4000000000HIIIIIIIIII0110II200440444444o400000000000000 0 0 0 04000 0 0 000040001100400000000000400000000001100000000000000000000000000%0 0 0 0 0000000000000000000 0 0 00000001!1"10000000000000000000000000000000011000000000000000000004444444%0%0 0 00000000000400000000 0 0 0 0 00K1L5L5L5M100111!1!1*10000000011111111111111111111111111111111000444444o0000000 000001111011111000000 0 0 0 0 0 0 000001111111!1!1!1!1*1000000000000111111111111111111111111111111110000000000001111111000111!1!1)1*10(1)1)1!1!1111140 0 0 0 0 0 0 00011111111111!1!1!1)1)1*10040000000000000000000000000000000000000000000000000111111110000(1)1)1)1)1!1!11111100(1)1)1)1*1000000(1)1)1)1)1*10%0%0%0 0 0 0 0 000(1)1)1)1)1)1)1)1)1)1)1)1)1*100000000@4I0IIIIIIIIIII@4@4IIIII0@40000000(1)1)1)1)1)1)1*1000000000(1)1)1)1)1)1*10000000040000000000%0%0%0%0 00000000040000000000000000000000000000000000000004000000000000004000000000000000000400000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/data/maps/Route123_BerryMastersHouse/header.inc b/data/maps/Route123_BerryMastersHouse/header.inc new file mode 100644 index 0000000000..f086368ad3 --- /dev/null +++ b/data/maps/Route123_BerryMastersHouse/header.inc @@ -0,0 +1,15 @@ +Route123_BerryMastersHouse: @ 8485CD4 + .4byte Route123_BerryMastersHouse_MapAttributes + .4byte Route123_BerryMastersHouse_MapEvents + .4byte Route123_BerryMastersHouse_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 60 + .byte 38 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route124/border.bin b/data/maps/Route124/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/Route124/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/Route124/connections.inc b/data/maps/Route124/connections.inc new file mode 100644 index 0000000000..72e358f4cf --- /dev/null +++ b/data/maps/Route124/connections.inc @@ -0,0 +1,11 @@ +Route124_MapConnectionsList: @ 8486B4C + connection down, 0, ROUTE_126, 0 + connection left, 10, LILYCOVE_CITY, 0 + connection right, 0, ROUTE_125, 0 + connection right, 40, MOSSDEEP_CITY, 0 + connection dive, 0, UNDERWATER_1, 0 + +Route124_MapConnections: @ 8486B88 + .4byte 0x5 + .4byte Route124_MapConnectionsList + diff --git a/data/maps/Route124/header.inc b/data/maps/Route124/header.inc new file mode 100644 index 0000000000..e4c690104a --- /dev/null +++ b/data/maps/Route124/header.inc @@ -0,0 +1,15 @@ +Route124: @ 84828FC + .4byte Route124_MapAttributes + .4byte Route124_MapEvents + .4byte Route124_MapScripts + .4byte Route124_MapConnections + .2byte MUS_DOORO_X3 + .2byte 40 + .byte 39 + .byte 0 + .byte 2 + .byte 6 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route124/map.bin b/data/maps/Route124/map.bin new file mode 100644 index 0000000000..acd4a65fbb Binary files /dev/null and b/data/maps/Route124/map.bin differ diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/border.bin b/data/maps/Route124_DivingTreasureHuntersHouse/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/Route124_DivingTreasureHuntersHouse/border.bin differ diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/header.inc b/data/maps/Route124_DivingTreasureHuntersHouse/header.inc new file mode 100644 index 0000000000..d277004ebc --- /dev/null +++ b/data/maps/Route124_DivingTreasureHuntersHouse/header.inc @@ -0,0 +1,15 @@ +Route124_DivingTreasureHuntersHouse: @ 8485D44 + .4byte Route124_DivingTreasureHuntersHouse_MapAttributes + .4byte Route124_DivingTreasureHuntersHouse_MapEvents + .4byte Route124_DivingTreasureHuntersHouse_MapScripts + .4byte 0x0 + .2byte MUS_MINAMO + .2byte 301 + .byte 39 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/map.bin b/data/maps/Route124_DivingTreasureHuntersHouse/map.bin new file mode 100644 index 0000000000..8f1f6cbef3 --- /dev/null +++ b/data/maps/Route124_DivingTreasureHuntersHouse/map.bin @@ -0,0 +1 @@ +yzX  g 22222$2$2$2$2$29252626262626272#2#292=2H6I6>?#2#292=2P6Q6>?#2#292E2F2F2F2F2F2G#2#292#2#2#2#2#2#2#2#2"292#2#2 #2#2#2#2*6 \ No newline at end of file diff --git a/data/maps/Route125/border.bin b/data/maps/Route125/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/Route125/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/Route125/connections.inc b/data/maps/Route125/connections.inc new file mode 100644 index 0000000000..1abbf09791 --- /dev/null +++ b/data/maps/Route125/connections.inc @@ -0,0 +1,9 @@ +Route125_MapConnectionsList: @ 8486B90 + connection down, 0, MOSSDEEP_CITY, 0 + connection left, 0, ROUTE_124, 0 + connection dive, 0, UNDERWATER_7, 0 + +Route125_MapConnections: @ 8486BB4 + .4byte 0x3 + .4byte Route125_MapConnectionsList + diff --git a/data/maps/Route125/header.inc b/data/maps/Route125/header.inc new file mode 100644 index 0000000000..09afc815f3 --- /dev/null +++ b/data/maps/Route125/header.inc @@ -0,0 +1,15 @@ +Route125: @ 8482918 + .4byte Route125_MapAttributes + .4byte Route125_MapEvents + .4byte Route125_MapScripts + .4byte Route125_MapConnections + .2byte MUS_DOORO_X3 + .2byte 41 + .byte 40 + .byte 0 + .byte 2 + .byte 6 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route125/map.bin b/data/maps/Route125/map.bin new file mode 100644 index 0000000000..078f2713d1 Binary files /dev/null and b/data/maps/Route125/map.bin differ diff --git a/data/maps/Route126/border.bin b/data/maps/Route126/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/Route126/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/Route126/connections.inc b/data/maps/Route126/connections.inc new file mode 100644 index 0000000000..c2beee1d8a --- /dev/null +++ b/data/maps/Route126/connections.inc @@ -0,0 +1,9 @@ +Route126_MapConnectionsList: @ 8486BBC + connection up, 0, ROUTE_124, 0 + connection right, 0, ROUTE_127, 0 + connection dive, 0, UNDERWATER_2, 0 + +Route126_MapConnections: @ 8486BE0 + .4byte 0x3 + .4byte Route126_MapConnectionsList + diff --git a/data/maps/Route126/header.inc b/data/maps/Route126/header.inc new file mode 100644 index 0000000000..f87efc723e --- /dev/null +++ b/data/maps/Route126/header.inc @@ -0,0 +1,15 @@ +Route126: @ 8482934 + .4byte Route126_MapAttributes + .4byte Route126_MapEvents + .4byte Route126_MapScripts + .4byte Route126_MapConnections + .2byte MUS_DOORO_X3 + .2byte 42 + .byte 41 + .byte 0 + .byte 2 + .byte 6 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route126/map.bin b/data/maps/Route126/map.bin new file mode 100644 index 0000000000..2d684cf649 Binary files /dev/null and b/data/maps/Route126/map.bin differ diff --git a/data/maps/Route127/border.bin b/data/maps/Route127/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/Route127/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/Route127/connections.inc b/data/maps/Route127/connections.inc new file mode 100644 index 0000000000..2b4136c3c9 --- /dev/null +++ b/data/maps/Route127/connections.inc @@ -0,0 +1,10 @@ +Route127_MapConnectionsList: @ 8486BE8 + connection up, 0, MOSSDEEP_CITY, 0 + connection down, 0, ROUTE_128, 0 + connection left, 0, ROUTE_126, 0 + connection dive, 0, UNDERWATER_3, 0 + +Route127_MapConnections: @ 8486C18 + .4byte 0x4 + .4byte Route127_MapConnectionsList + diff --git a/data/maps/Route127/header.inc b/data/maps/Route127/header.inc new file mode 100644 index 0000000000..070f9996f9 --- /dev/null +++ b/data/maps/Route127/header.inc @@ -0,0 +1,15 @@ +Route127: @ 8482950 + .4byte Route127_MapAttributes + .4byte Route127_MapEvents + .4byte Route127_MapScripts + .4byte Route127_MapConnections + .2byte MUS_DOORO_X3 + .2byte 43 + .byte 42 + .byte 0 + .byte 2 + .byte 6 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route127/map.bin b/data/maps/Route127/map.bin new file mode 100644 index 0000000000..fa44f99608 Binary files /dev/null and b/data/maps/Route127/map.bin differ diff --git a/data/maps/Route128/border.bin b/data/maps/Route128/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/Route128/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/Route128/connections.inc b/data/maps/Route128/connections.inc new file mode 100644 index 0000000000..5355677de5 --- /dev/null +++ b/data/maps/Route128/connections.inc @@ -0,0 +1,10 @@ +Route128_MapConnectionsList: @ 8486C20 + connection up, 0, ROUTE_127, 0 + connection down, 0, ROUTE_129, 0 + connection right, -40, EVER_GRANDE_CITY, 0 + connection dive, 0, UNDERWATER_4, 0 + +Route128_MapConnections: @ 8486C50 + .4byte 0x4 + .4byte Route128_MapConnectionsList + diff --git a/data/maps/Route128/header.inc b/data/maps/Route128/header.inc new file mode 100644 index 0000000000..01d1a46baa --- /dev/null +++ b/data/maps/Route128/header.inc @@ -0,0 +1,15 @@ +Route128: @ 848296C + .4byte Route128_MapAttributes + .4byte Route128_MapEvents + .4byte Route128_MapScripts + .4byte Route128_MapConnections + .2byte MUS_DOORO_X3 + .2byte 44 + .byte 43 + .byte 0 + .byte 2 + .byte 6 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route128/map.bin b/data/maps/Route128/map.bin new file mode 100644 index 0000000000..fae8a373e6 Binary files /dev/null and b/data/maps/Route128/map.bin differ diff --git a/data/maps/Route129/border.bin b/data/maps/Route129/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/Route129/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/Route129/connections.inc b/data/maps/Route129/connections.inc new file mode 100644 index 0000000000..f373faff21 --- /dev/null +++ b/data/maps/Route129/connections.inc @@ -0,0 +1,9 @@ +Route129_MapConnectionsList: @ 8486C58 + connection up, 0, ROUTE_128, 0 + connection left, 0, ROUTE_130, 0 + connection dive, 0, UNDERWATER_5, 0 + +Route129_MapConnections: @ 8486C7C + .4byte 0x3 + .4byte Route129_MapConnectionsList + diff --git a/data/maps/Route129/header.inc b/data/maps/Route129/header.inc new file mode 100644 index 0000000000..4e5b177df4 --- /dev/null +++ b/data/maps/Route129/header.inc @@ -0,0 +1,15 @@ +Route129: @ 8482988 + .4byte Route129_MapAttributes + .4byte Route129_MapEvents + .4byte Route129_MapScripts + .4byte Route129_MapConnections + .2byte MUS_GRANROAD + .2byte 45 + .byte 44 + .byte 0 + .byte 2 + .byte 6 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route129/map.bin b/data/maps/Route129/map.bin new file mode 100644 index 0000000000..8d09787fda Binary files /dev/null and b/data/maps/Route129/map.bin differ diff --git a/data/maps/Route130/border.bin b/data/maps/Route130/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/Route130/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/Route130/connections.inc b/data/maps/Route130/connections.inc new file mode 100644 index 0000000000..f4972fa38f --- /dev/null +++ b/data/maps/Route130/connections.inc @@ -0,0 +1,8 @@ +Route130_MapConnectionsList: @ 8486C84 + connection left, 0, ROUTE_131, 0 + connection right, 0, ROUTE_129, 0 + +Route130_MapConnections: @ 8486C9C + .4byte 0x2 + .4byte Route130_MapConnectionsList + diff --git a/data/maps/Route130/header.inc b/data/maps/Route130/header.inc new file mode 100644 index 0000000000..f4e1f3292d --- /dev/null +++ b/data/maps/Route130/header.inc @@ -0,0 +1,15 @@ +Route130: @ 84829A4 + .4byte Route130_MapAttributes + .4byte Route130_MapEvents + .4byte Route130_MapScripts + .4byte Route130_MapConnections + .2byte MUS_GRANROAD + .2byte 263 + .byte 45 + .byte 0 + .byte 2 + .byte 6 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route130/map.bin b/data/maps/Route130/map.bin new file mode 100644 index 0000000000..b06fa74dce --- /dev/null +++ b/data/maps/Route130/map.bin @@ -0,0 +1 @@ +pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppr{{{{{{vppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprqkllmqvppppuvpppppppppppppppppppppppppppppppppppppppppppppppr{{{{{{{vpppppppuqkqquqq|uvpp}~pu{vppppppppppppppppppppppppppppppppppppppppu{{qklllmqvppppuvq{|||}qt}~pppppzq|ppppuvuvppppppppppppppppppppppppppppppppzqqqkklmmqvppp}~pyqqqtyppu{{vppyppPQ}~}~ppppppppppppppppppppppppppppppuvzqqqsq{|}quqq|ppPQppppyyyppppzqq|pPQppuvXYppppPQppppppppppppppppppppppppppuv}~qq{qqqt}qtppXYpppuvppppppuvyypXYpp}~ppppppXYpppppppppppppppppppppPQppp}~pppyq{|||}qtpuv{vppp}~pppppp}~pppPQpppppppppppppr{vpppppppppppppppppppXYu{{vpppPQpyypp}~q|ppppppppppPQppppXYppPQpppppppu{q{vpppppppppppppppuvu{qq|pppXYppppppppuvppppyppppppppppXYppppppppXYpppppuvqqqqvpppppppppppppp}~zqqqtppppppppppppp}~ppppppppppppppppppppppppuvppppppp}~pyyyyyuvppppppu{{vpuvpyyyuvppppppuvppppppppppppuvppppppppppppu{{v}~ppppppppppppppppp}~pppu{{kmv}~pppppp}~pppppp}~pppppppppppp}~u{vpppppppuvyyppppppppppppppppppppuvppzqqq{}q|puvpppppppppppppppppppppppppuvppztppppppp}~pppppppppppppppppppppppp}~PQyyqqtp}~ppppppppppppppppppppppppp}~ppppppppppppppppppppppppppppppppppppppXYpppyyppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppPQpppppppuvppppppppppppppppppppppppppppppppppu{vpppppppppppppppppppppppppppppPQpXYppr{{{v}~ppu{{vppppppppppppppppppppppppppppzq|uvpppppppppppppppppppppppppppXYpppr{qqqvpuvqq|ppppppppppppppppppppppppppuvy}~pppppppppppppppppppppppppppppu{{qqqqqqv}~qqtpPQpppppppppppppppppppppuv}~ppppppppppppppppppppppppppuvpuvpppqqqqqqqqqvpyyuvXYPQu{vpuvpppppppPQpppp}~pppppppppppppppppppppppppppp}~p}~ppppyqqqqqqtypppp}~ppXYyp}~pppppppXYu{{{vpppuvppppppppppppppppppppppPQpuvpu{{{vppyyyyyyPQpppppppppppppuvpPQpppuvppzqqq{vp}~ppppppuvppppppppppppppXYp}~pqqvpppppppppXYupppppppppppp}~pXYu{v}~uvyyqqvpuvpppPQ}~pppppppPQppppr{{{vppptyppppppppppp}pppppPQppppppppppzq|pp}~pppyyyp}~PQpXYppu{{vpuvXYppr{qkmvppppppppppppppppppppppXYppppppppppypppppppppppppppXYuvpppqv}~pu{{klm{}q|pppppppppppppppppppppppppppppppppppppppppppppppppppppppp}~ppppyypppqq{|}qqtppppppppppppppppppppppppppppppPQpppppppppppppppppppppppppppppppppppPQpyyyypppppppppppppppppppppppppppppppXYpppppppppppppppppppppppppppppppppppXYpppppppppppppppppppppppppppppp \ No newline at end of file diff --git a/data/maps/Route131/border.bin b/data/maps/Route131/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/Route131/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/Route131/connections.inc b/data/maps/Route131/connections.inc new file mode 100644 index 0000000000..4470802dd2 --- /dev/null +++ b/data/maps/Route131/connections.inc @@ -0,0 +1,8 @@ +Route131_MapConnectionsList: @ 8486CA4 + connection left, 0, PACIFIDLOG_TOWN, 0 + connection right, 0, ROUTE_130, 0 + +Route131_MapConnections: @ 8486CBC + .4byte 0x2 + .4byte Route131_MapConnectionsList + diff --git a/data/maps/Route131/header.inc b/data/maps/Route131/header.inc new file mode 100644 index 0000000000..44a8921ba6 --- /dev/null +++ b/data/maps/Route131/header.inc @@ -0,0 +1,15 @@ +Route131: @ 84829C0 + .4byte Route131_MapAttributes + .4byte Route131_MapEvents + .4byte Route131_MapScripts + .4byte Route131_MapConnections + .2byte MUS_GRANROAD + .2byte 47 + .byte 46 + .byte 0 + .byte 2 + .byte 6 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route131/map.bin b/data/maps/Route131/map.bin new file mode 100644 index 0000000000..096d6e1166 --- /dev/null +++ b/data/maps/Route131/map.bin @@ -0,0 +1 @@ +qqqqqqqqqqqt||}ut|}ppVOOOOOOOOOOOOOOOOOVpppppppppppppppppqqqqqqqqt||}qqt}upppVOOOOOOOOOOOOOOOOOVppppppppppppppppp||||||||}qqqt|}t}pppppppVOOOOOOOOOOOOOOOOVpppppppppppppppppqqqqqt|||}qt}pppppppVOOOOOOOOOOOOOOOVppppppppppppppppppqqt||}qqqt|}ppppppppVOOOOOOOOOOOOOOOVpppppppppppppppppp||}qt|||}ppuvppppppVOOOOOOOOOOOOOOVpppppppppppppppppp|}uvpu{vp}~ppppppVOOOOOOOOOOOOOVpppppppppppppppppppZ[ppppp}~pzq|ppppppppppVOOOOOOOOOOOOVpppppppPQpppppppppppXYppppuvppppypppppppuvpVOOOOOOOOOOOOVppuvu{vXYppppppppppppppu{vp}~ppuvPQppppppPQ}~pVOOOOOOOOOOOVpuv}~zq|ppuvppppppppppppzq|ppppp}~XYppuvppXYpu{vVOOOOOOOOOOVp}~ppyPQ}~ppppppppPQppyppuvPQpppPQ}~pPQppzq|VOOOOOOOOOVpuvppppppXYpu{{vpppppXYpppppPQ}~XYpuvXYpPQXYppypVOOOOOOOOVu|pppuvpppuqqvpppppppppppXYppppp}~pppXYppppppuvpVOOOOOOVpzq|ppp}~PQpyyyyPQppppppppppppppppppppuvppppppp}~uvVVVVVVuvypppppXYuvppPQpXYu{pppppppppppppppppp}~u{vpppppp}~ppppPQ}~pppppppppp}~ppXYpppzqppppppppppppppppppppzq{vppppuvppuvXYpppppppu{vpppppPQppuvyppppppppppppppppppppyyypppp}~uv}~pppppppu{q|pppppXYpp}~ppppppppppppppppppppppppppppppppp}~pppppppPQzqqq|ppppppPQpppPQppppppppppppppppppppppppppppppppppppppppXYyyyppppppXYpppXYppppppppppppppppppppppppPQppuvpppppppu{vppppppppppppppppppppppppppppppppppppppppppppXYPQ}~ppppuvuq|ppppppppppppppppppppppppppppppppppppppppppppppXYppu{{v}~yyppppppppppppppppppppppppppppppppppppppppppppppppppyyppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppPQppppppppppppppppppppppppppppppppppppppppppppuvppppppPQppppXYppppppppppppppppppppppppppppppppppPQuvpppppp}~pppuvpXYppppppppuvppppppppppppppppppppppppppppppXY}~ppppppu{PQp}~pppu{vpppppzvpuvpppppppppppppuvpppppppppuvppppppppppzqXYppppppzq|puvppv}~pppppppppppPQ}~pppppppuv}~ppppppppPQy{{{{tpppyp}~uvpypppppppu{{vppXYpuvpppppp}~pppPQpuvppXYppqqqq{tppppuvp}~ppuvpppppppzqq{vppp}~uvpppu{{vppXYp}~puvpppllllmq{{{t}~pppuv}~ppu{{vpqqqvpppp}~ppuqq{{vu{{{v}~pppqqqqllmqq{tppp}~ppu{qq|uvyyyyppppppPQyyyqqqqtpppppqqqqqqqmqqqutppppppzqqqt}~ppppppppppppXYppppyqqqtppppPQqqqqqqqqllmuu{tppuvyyypppppppppppppppppppppppyyypppppXYqqqqqqqqqqqltp}~ppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqutpppppppppppppppppppppppppppppppppppppppppp \ No newline at end of file diff --git a/data/maps/Route132/border.bin b/data/maps/Route132/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/Route132/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/Route132/connections.inc b/data/maps/Route132/connections.inc new file mode 100644 index 0000000000..0e18aa2f2f --- /dev/null +++ b/data/maps/Route132/connections.inc @@ -0,0 +1,8 @@ +Route132_MapConnectionsList: @ 8486CC4 + connection left, 0, ROUTE_133, 0 + connection right, 0, PACIFIDLOG_TOWN, 0 + +Route132_MapConnections: @ 8486CDC + .4byte 0x2 + .4byte Route132_MapConnectionsList + diff --git a/data/maps/Route132/header.inc b/data/maps/Route132/header.inc new file mode 100644 index 0000000000..df2aadbfa2 --- /dev/null +++ b/data/maps/Route132/header.inc @@ -0,0 +1,15 @@ +Route132: @ 84829DC + .4byte Route132_MapAttributes + .4byte Route132_MapEvents + .4byte Route132_MapScripts + .4byte Route132_MapConnections + .2byte MUS_GRANROAD + .2byte 48 + .byte 47 + .byte 0 + .byte 2 + .byte 6 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route132/map.bin b/data/maps/Route132/map.bin new file mode 100644 index 0000000000..3250c04294 Binary files /dev/null and b/data/maps/Route132/map.bin differ diff --git a/data/maps/Route133/border.bin b/data/maps/Route133/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/Route133/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/Route133/connections.inc b/data/maps/Route133/connections.inc new file mode 100644 index 0000000000..b133d8804a --- /dev/null +++ b/data/maps/Route133/connections.inc @@ -0,0 +1,8 @@ +Route133_MapConnectionsList: @ 8486CE4 + connection left, 0, ROUTE_134, 0 + connection right, 0, ROUTE_132, 0 + +Route133_MapConnections: @ 8486CFC + .4byte 0x2 + .4byte Route133_MapConnectionsList + diff --git a/data/maps/Route133/header.inc b/data/maps/Route133/header.inc new file mode 100644 index 0000000000..30a69f94dd --- /dev/null +++ b/data/maps/Route133/header.inc @@ -0,0 +1,15 @@ +Route133: @ 84829F8 + .4byte Route133_MapAttributes + .4byte Route133_MapEvents + .4byte Route133_MapScripts + .4byte Route133_MapConnections + .2byte MUS_GRANROAD + .2byte 49 + .byte 48 + .byte 0 + .byte 2 + .byte 6 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route133/map.bin b/data/maps/Route133/map.bin new file mode 100644 index 0000000000..1d4e74f73a --- /dev/null +++ b/data/maps/Route133/map.bin @@ -0,0 +1 @@ +ppppuvuvPQppppPQppppppuvppppPQPQppppuvPQPQPQpppPQppPQppuvPQuvppppPQPQuvPQuvpppPQPQpp}~}~XYppuvXYPQuvPQ}~PQuvXYXYppPQ}~XYXYXYpuvXYPQXYPQ}~XY}~PQuvXYXY}~XY}~PQpXYXYuvppppppuv}~ppXY}~XYccXY}~ppppPQXYpppppppPQ}~ppXYppXYccppppXY}~cccccpppppXYPQppp}~pppppp}~ppppppppcccccpppppppXYcppppppppXYpppppppcccccccpppcccccccccccppppXYpccppppppppppppppccccccccccccccccccccPQcccccpppppcccccccccccccccccccccccccccccccccppppuvppuvpppuvccccVF2F2F2WcccccXYcccpppppcccccccccccccccccVF2F2F2F2F2F2F2F2F2F2F2F2Wccccccpuv}~pp}~ppp}~VF2F2F2>2111_ccccPQccccccccccccccccccccccccccccc^111111111111_ccccccc}~11111111111^WWWW_OgccccXYccccccccccccccccccccfGGN111111111_ccccVF2F2F2F21111^WWWWWWWtyo_cccccccccccccccccccccccccccccfGGN111111_cccc^^W_11111ftyyo11_cccccccccccccccccccVF2F2F2WccccccccccfGN1111_cccV>2f_11^Wtyyyyyo111OGgcccccccccccccccccccc^111?2F2F2WccccccccfGGGGgccc^^WWtyyo1111111OGgccccccccccccccccccfN11111?2F2F2WcccccccccccccV>2f1111111OGGgcccccu{{{{{{{{{{{{tccfN1111111?2F2F2Wccccccccccc^1ftyyyyo1OGGGGGgcccu{{{{tccfN111111111?2F2F2Wccccccccc^1nyyo111111_ccccccccutyyyyyyyyyy{tccfN11111111111?2F2F2Wccccccccccc^1111111OGGGgcccccu{{tyy$1$1$1$1$1$1$1$1$1$1yyy|ccfN1111111111111_cccccccccccfGN1111Ogccccccccccccu{tyyy$1111111$1$111111$1$1$1tccccfGGGGGGGGGGGGGgccccccccccfGGGGgcccccccccccccztyo11111111111111nytcccccccccccccccccccPQcccccccccccccccccccccccccc}~ppp}y~cccccccccccccccccccXYcccccccccccccccccccccccccccppppppppppppppppppppppppppcccccccccccccccccccccccccccccccccccccccccccccccccpppppppppppppppppppppppppcccccccccccccccccccccccccccccccccccccccccccccccccccccccccpppppppppppppppppppppccccccccccccccccccccccccccccccccccccccccccccccccccccccccccPQppPQppppPQppppppppu{{{{{{{{{{tcccPQccPQcccccPQcccccPQPQccccccccccccccccccccPQcXYPQXYPQPQXYppppu{{{tPQXYccXYcPQPQXYPQcPQXYXYcccccccccccccccccuvcXYcccXYppXYXYppppputyyyyytyyyyy~XYcccccccXYXYppXYcXYO1O1O1O1cccccccccccccccuv}~lllcccpppppppppppu{to1111n1111?2WcccccpppppppppppPQO1O1O1O1O1F2Wcccccccccccuv}~llllcccccccpppppu{{tyyo111111no111111?2WccpppppppppppPQXYO1O1O1O1O11_cccccccccuv}~llllcccccccccccpputo11111^_111111^_111_cppppppppppppXYO1O1O1O1O1O1O11_ccccccccc}~llllccccccccccccccc}yyyo11111no1111111fg^_1_ccpppppppppppPQO1O1O1O1O1O1O11_cccccccccclllccccccccccccccccccccc^1111^_111111111nofg1_cccppppppppppXYO1O1O1O1O1O1O11_ccccccccccccccccccccccccccccccccccfGN11fg1111111111no1_cccccppppppccPQO1O1O1O1O1O11_cccccccccccccccccccccccccccccccccccc^11no1111OGGGN1111OgcccccccppPQccXYPQO1O1O1O11_cccccccccc\\\cccccccccccccccccccccccfN11111OGgcccfGGGGgccccccccccXYccXYPQPQOgccccccccccPQ\\\\cccccccccccccccccccccfN111OgccccccccccccccccccccccccccXYXYgcccccccccccXYPQ\\\\\cccccccccccccccccccfGGGgccccccccccccccccccccccccpPQccccccccccccccccccXYuvPQ\\\ccccccccccpppppppccccccccccccccccccccccccuvccppXYppccuvccccccccccuvpp}~XYccccccPQccccPQpppppPQuvccccccccccpppuvppPQuv}~ppppppppppPQPQ}~ccccccuvPQ}~ppppuvccccccXYuvPQXYpppppXY}~PQccccppPQuvp}~PQXY}~PQppuvppppPQXYXYppPQPQuv}~XYpppppp}~uvuvPQuv}~XYpPQuvPQuvppXYPQuvuvXY}~PQpXYppppXYuv}~PQuvXYppppppXYXY}~pppppppppppp}~}~XY}~pppppXY}~XY}~ppppXY}~}~ppppXYppppppppp}~ppXY}~pppppp \ No newline at end of file diff --git a/data/maps/Route134/border.bin b/data/maps/Route134/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/Route134/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/Route134/connections.inc b/data/maps/Route134/connections.inc new file mode 100644 index 0000000000..8429378e4e --- /dev/null +++ b/data/maps/Route134/connections.inc @@ -0,0 +1,8 @@ +Route134_MapConnectionsList: @ 8486D04 + connection left, 0, SLATEPORT_CITY, 0 + connection right, 0, ROUTE_133, 0 + +Route134_MapConnections: @ 8486D1C + .4byte 0x2 + .4byte Route134_MapConnectionsList + diff --git a/data/maps/Route134/header.inc b/data/maps/Route134/header.inc new file mode 100644 index 0000000000..9730f50369 --- /dev/null +++ b/data/maps/Route134/header.inc @@ -0,0 +1,15 @@ +Route134: @ 8482A14 + .4byte Route134_MapAttributes + .4byte Route134_MapEvents + .4byte Route134_MapScripts + .4byte Route134_MapConnections + .2byte MUS_GRANROAD + .2byte 50 + .byte 49 + .byte 0 + .byte 2 + .byte 6 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Route134/map.bin b/data/maps/Route134/map.bin new file mode 100644 index 0000000000..7b78a2d3c3 Binary files /dev/null and b/data/maps/Route134/map.bin differ diff --git a/data/maps/RustboroCity/border.bin b/data/maps/RustboroCity/border.bin new file mode 100644 index 0000000000..03bcafef11 --- /dev/null +++ b/data/maps/RustboroCity/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/RustboroCity/connections.inc b/data/maps/RustboroCity/connections.inc new file mode 100644 index 0000000000..01e5aff355 --- /dev/null +++ b/data/maps/RustboroCity/connections.inc @@ -0,0 +1,9 @@ +RustboroCity_MapConnectionsList: @ 8486758 + connection up, 0, ROUTE_115, 0 + connection down, 0, ROUTE_104, 0 + connection right, 0, ROUTE_116, 0 + +RustboroCity_MapConnections: @ 848677C + .4byte 0x3 + .4byte RustboroCity_MapConnectionsList + diff --git a/data/maps/RustboroCity/header.inc b/data/maps/RustboroCity/header.inc new file mode 100644 index 0000000000..9698b81de2 --- /dev/null +++ b/data/maps/RustboroCity/header.inc @@ -0,0 +1,15 @@ +RustboroCity: @ 848250C + .4byte RustboroCity_MapAttributes + .4byte RustboroCity_MapEvents + .4byte RustboroCity_MapScripts + .4byte RustboroCity_MapConnections + .2byte MUS_GOTOWN + .2byte 4 + .byte 10 + .byte 0 + .byte 2 + .byte 2 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/RustboroCity/map.bin b/data/maps/RustboroCity/map.bin new file mode 100644 index 0000000000..06736e47e5 Binary files /dev/null and b/data/maps/RustboroCity/map.bin differ diff --git a/data/maps/RustboroCity_CuttersHouse/border.bin b/data/maps/RustboroCity_CuttersHouse/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/RustboroCity_CuttersHouse/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/RustboroCity_CuttersHouse/header.inc b/data/maps/RustboroCity_CuttersHouse/header.inc new file mode 100644 index 0000000000..e7b936a194 --- /dev/null +++ b/data/maps/RustboroCity_CuttersHouse/header.inc @@ -0,0 +1,15 @@ +RustboroCity_CuttersHouse: @ 8483478 + .4byte RustboroCity_CuttersHouse_MapAttributes + .4byte RustboroCity_CuttersHouse_MapEvents + .4byte RustboroCity_CuttersHouse_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 98 + .byte 10 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/RustboroCity_CuttersHouse/map.bin b/data/maps/RustboroCity_CuttersHouse/map.bin new file mode 100644 index 0000000000..5515d00cfd --- /dev/null +++ b/data/maps/RustboroCity_CuttersHouse/map.bin @@ -0,0 +1 @@ +yzfg8898x88no@@A@VW33v3w3+3+3+3+33^3_3+3{3|3|3}3,3,3,3,3,3,3+33>2>23,3,3,3j7k7E3+33>2>23,3,3D3r7s7E3+33333,3,3,3,3,3,3F3G3,3,3,3,3,3,3,3,3,3N7O7,3,3,3LM,3,3,3,3 \ No newline at end of file diff --git a/data/maps/RustboroCity_DevonCorp_1F/border.bin b/data/maps/RustboroCity_DevonCorp_1F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/RustboroCity_DevonCorp_1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/RustboroCity_DevonCorp_1F/header.inc b/data/maps/RustboroCity_DevonCorp_1F/header.inc new file mode 100644 index 0000000000..68b72454f6 --- /dev/null +++ b/data/maps/RustboroCity_DevonCorp_1F/header.inc @@ -0,0 +1,15 @@ +RustboroCity_DevonCorp_1F: @ 8483344 + .4byte RustboroCity_DevonCorp_1F_MapAttributes + .4byte RustboroCity_DevonCorp_1F_MapEvents + .4byte RustboroCity_DevonCorp_1F_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 92 + .byte 10 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/RustboroCity_DevonCorp_1F/map.bin b/data/maps/RustboroCity_DevonCorp_1F/map.bin new file mode 100644 index 0000000000..09f86a742d --- /dev/null +++ b/data/maps/RustboroCity_DevonCorp_1F/map.bin @@ -0,0 +1 @@ +33333333333333333333333333333333333333333333333333333333333333333333333333333333322333333333333 \ No newline at end of file diff --git a/data/maps/RustboroCity_DevonCorp_2F/border.bin b/data/maps/RustboroCity_DevonCorp_2F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/RustboroCity_DevonCorp_2F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/RustboroCity_DevonCorp_2F/header.inc b/data/maps/RustboroCity_DevonCorp_2F/header.inc new file mode 100644 index 0000000000..5e4dc392b8 --- /dev/null +++ b/data/maps/RustboroCity_DevonCorp_2F/header.inc @@ -0,0 +1,15 @@ +RustboroCity_DevonCorp_2F: @ 8483360 + .4byte RustboroCity_DevonCorp_2F_MapAttributes + .4byte RustboroCity_DevonCorp_2F_MapEvents + .4byte RustboroCity_DevonCorp_2F_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 93 + .byte 10 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/RustboroCity_DevonCorp_2F/map.bin b/data/maps/RustboroCity_DevonCorp_2F/map.bin new file mode 100644 index 0000000000..03985c5722 --- /dev/null +++ b/data/maps/RustboroCity_DevonCorp_2F/map.bin @@ -0,0 +1 @@ +33333333333333333333333333333333333337773377337733773333377333733333333333333333333333333333333333377337733773333333333333333333333 \ No newline at end of file diff --git a/data/maps/RustboroCity_DevonCorp_3F/border.bin b/data/maps/RustboroCity_DevonCorp_3F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/RustboroCity_DevonCorp_3F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/RustboroCity_DevonCorp_3F/header.inc b/data/maps/RustboroCity_DevonCorp_3F/header.inc new file mode 100644 index 0000000000..54ae910d30 --- /dev/null +++ b/data/maps/RustboroCity_DevonCorp_3F/header.inc @@ -0,0 +1,15 @@ +RustboroCity_DevonCorp_3F: @ 848337C + .4byte RustboroCity_DevonCorp_3F_MapAttributes + .4byte RustboroCity_DevonCorp_3F_MapEvents + .4byte RustboroCity_DevonCorp_3F_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 269 + .byte 10 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/RustboroCity_DevonCorp_3F/map.bin b/data/maps/RustboroCity_DevonCorp_3F/map.bin new file mode 100644 index 0000000000..5a55ee4ab8 --- /dev/null +++ b/data/maps/RustboroCity_DevonCorp_3F/map.bin @@ -0,0 +1 @@ +IJK33333333Q3R3S3333333333333333333333333332333HC333B33333PC333C33233C333C33333333333333333333333333333333333 \ No newline at end of file diff --git a/data/maps/RustboroCity_Flat1_1F/border.bin b/data/maps/RustboroCity_Flat1_1F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/RustboroCity_Flat1_1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/RustboroCity_Flat1_1F/header.inc b/data/maps/RustboroCity_Flat1_1F/header.inc new file mode 100644 index 0000000000..ede1583389 --- /dev/null +++ b/data/maps/RustboroCity_Flat1_1F/header.inc @@ -0,0 +1,15 @@ +RustboroCity_Flat1_1F: @ 8483424 + .4byte RustboroCity_Flat1_1F_MapAttributes + .4byte RustboroCity_Flat1_1F_MapEvents + .4byte RustboroCity_Flat1_1F_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 313 + .byte 10 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/RustboroCity_Flat1_1F/map.bin b/data/maps/RustboroCity_Flat1_1F/map.bin new file mode 100644 index 0000000000..017298e716 --- /dev/null +++ b/data/maps/RustboroCity_Flat1_1F/map.bin @@ -0,0 +1 @@ +8()*:888:8x88:H0 2B@@@B@VWBP3+3+3+3+3+3+3+3+3+33^3_3+3+3D3,3,3,3,3,3,3{3|3|3|3|3}3+3h7i7,3,3,3,3,332H6I623+3p7q7E3,3,3,3,33>2P6Q623F3G3,3,3,3,3,3,3333333N7O7,3,3,3,3LM,3,3,3,3,3,3 \ No newline at end of file diff --git a/data/maps/RustboroCity_Flat1_2F/border.bin b/data/maps/RustboroCity_Flat1_2F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/RustboroCity_Flat1_2F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/RustboroCity_Flat1_2F/header.inc b/data/maps/RustboroCity_Flat1_2F/header.inc new file mode 100644 index 0000000000..c1a83cdbb2 --- /dev/null +++ b/data/maps/RustboroCity_Flat1_2F/header.inc @@ -0,0 +1,15 @@ +RustboroCity_Flat1_2F: @ 8483440 + .4byte RustboroCity_Flat1_2F_MapAttributes + .4byte RustboroCity_Flat1_2F_MapEvents + .4byte RustboroCity_Flat1_2F_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 314 + .byte 10 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/RustboroCity_Flat1_2F/map.bin b/data/maps/RustboroCity_Flat1_2F/map.bin new file mode 100644 index 0000000000..936907d32e --- /dev/null +++ b/data/maps/RustboroCity_Flat1_2F/map.bin @@ -0,0 +1 @@ +8()*:888:8888:@02B@@@BT7UIB+3+3+3+3+3+3+3+3+3\3?3]3Q3+3+3,3,3,3,3,3,3,3,3,3,3,3,3,3+3D3~777E3,3{|||},3,3+3,3777E3,3:2!7/3,3,3+3G3G3,3,3,3,333,3,3+3O7O7,3,3,3,3,3,3 \ No newline at end of file diff --git a/data/maps/RustboroCity_Flat2_1F/border.bin b/data/maps/RustboroCity_Flat2_1F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/RustboroCity_Flat2_1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/RustboroCity_Flat2_1F/header.inc b/data/maps/RustboroCity_Flat2_1F/header.inc new file mode 100644 index 0000000000..14d40b97a1 --- /dev/null +++ b/data/maps/RustboroCity_Flat2_1F/header.inc @@ -0,0 +1,15 @@ +RustboroCity_Flat2_1F: @ 84834B0 + .4byte RustboroCity_Flat2_1F_MapAttributes + .4byte RustboroCity_Flat2_1F_MapEvents + .4byte RustboroCity_Flat2_1F_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 294 + .byte 10 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/RustboroCity_Flat2_1F/map.bin b/data/maps/RustboroCity_Flat2_1F/map.bin new file mode 100644 index 0000000000..0f6829f9c3 Binary files /dev/null and b/data/maps/RustboroCity_Flat2_1F/map.bin differ diff --git a/data/maps/RustboroCity_Flat2_2F/border.bin b/data/maps/RustboroCity_Flat2_2F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/RustboroCity_Flat2_2F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/RustboroCity_Flat2_2F/header.inc b/data/maps/RustboroCity_Flat2_2F/header.inc new file mode 100644 index 0000000000..989069c305 --- /dev/null +++ b/data/maps/RustboroCity_Flat2_2F/header.inc @@ -0,0 +1,15 @@ +RustboroCity_Flat2_2F: @ 84834CC + .4byte RustboroCity_Flat2_2F_MapAttributes + .4byte RustboroCity_Flat2_2F_MapEvents + .4byte RustboroCity_Flat2_2F_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 295 + .byte 10 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/RustboroCity_Flat2_2F/map.bin b/data/maps/RustboroCity_Flat2_2F/map.bin new file mode 100644 index 0000000000..9f3750fb4b Binary files /dev/null and b/data/maps/RustboroCity_Flat2_2F/map.bin differ diff --git a/data/maps/RustboroCity_Flat2_3F/border.bin b/data/maps/RustboroCity_Flat2_3F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/RustboroCity_Flat2_3F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/RustboroCity_Flat2_3F/header.inc b/data/maps/RustboroCity_Flat2_3F/header.inc new file mode 100644 index 0000000000..d531fcf982 --- /dev/null +++ b/data/maps/RustboroCity_Flat2_3F/header.inc @@ -0,0 +1,15 @@ +RustboroCity_Flat2_3F: @ 84834E8 + .4byte RustboroCity_Flat2_3F_MapAttributes + .4byte RustboroCity_Flat2_3F_MapEvents + .4byte RustboroCity_Flat2_3F_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 296 + .byte 10 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/RustboroCity_Flat2_3F/map.bin b/data/maps/RustboroCity_Flat2_3F/map.bin new file mode 100644 index 0000000000..2112fe7996 Binary files /dev/null and b/data/maps/RustboroCity_Flat2_3F/map.bin differ diff --git a/data/maps/RustboroCity_Gym/border.bin b/data/maps/RustboroCity_Gym/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/RustboroCity_Gym/border.bin differ diff --git a/data/maps/RustboroCity_Gym/header.inc b/data/maps/RustboroCity_Gym/header.inc new file mode 100644 index 0000000000..4b49e10776 --- /dev/null +++ b/data/maps/RustboroCity_Gym/header.inc @@ -0,0 +1,15 @@ +RustboroCity_Gym: @ 8483398 + .4byte RustboroCity_Gym_MapAttributes + .4byte RustboroCity_Gym_MapEvents + .4byte RustboroCity_Gym_MapScripts + .4byte 0x0 + .2byte MUS_GIM + .2byte 94 + .byte 10 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/RustboroCity_Gym/map.bin b/data/maps/RustboroCity_Gym/map.bin new file mode 100644 index 0000000000..4451674a76 --- /dev/null +++ b/data/maps/RustboroCity_Gym/map.bin @@ -0,0 +1,2 @@ + '226 2 +2 2 6222226222622722222222222222222222222#/22 !!!!!!"#22()))))"#2272022,2.22 "#222#/2 "/2 "#22212(*2 "#2()*222-242%"#222.222(!!"#2 "/2272()"#2 $5222322 "+2()*/2(*/2(*227222272227222222222222222&/22222&/222272220027222 \ No newline at end of file diff --git a/data/maps/RustboroCity_House1/border.bin b/data/maps/RustboroCity_House1/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/RustboroCity_House1/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/RustboroCity_House1/header.inc b/data/maps/RustboroCity_House1/header.inc new file mode 100644 index 0000000000..49445724be --- /dev/null +++ b/data/maps/RustboroCity_House1/header.inc @@ -0,0 +1,15 @@ +RustboroCity_House1: @ 848345C + .4byte RustboroCity_House1_MapAttributes + .4byte RustboroCity_House1_MapEvents + .4byte RustboroCity_House1_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 97 + .byte 10 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/RustboroCity_House1/map.bin b/data/maps/RustboroCity_House1/map.bin new file mode 100644 index 0000000000..a14fc04055 --- /dev/null +++ b/data/maps/RustboroCity_House1/map.bin @@ -0,0 +1 @@ +888188::88888CJK@@BB@TUICN7R3S363+3+3+3+3+3\3]3Q3N7+3,3,3,3,3,3,3,3{3|3|3}3,3+3,3D3~777E3,33>2>23,3+3,3D3777,3,33333,3F3,3,3,3,3,3,3,3,3,3,3,3G3N7,3,3,3,3LM,3,3,3,3,3O7 \ No newline at end of file diff --git a/data/maps/RustboroCity_House2/border.bin b/data/maps/RustboroCity_House2/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/RustboroCity_House2/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/RustboroCity_House2/header.inc b/data/maps/RustboroCity_House2/header.inc new file mode 100644 index 0000000000..ec04d74d93 --- /dev/null +++ b/data/maps/RustboroCity_House2/header.inc @@ -0,0 +1,15 @@ +RustboroCity_House2: @ 8483494 + .4byte RustboroCity_House2_MapAttributes + .4byte RustboroCity_House2_MapEvents + .4byte RustboroCity_House2_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 96 + .byte 10 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/RustboroCity_House2/map.bin b/data/maps/RustboroCity_House2/map.bin new file mode 100644 index 0000000000..5a53bbc77f --- /dev/null +++ b/data/maps/RustboroCity_House2/map.bin @@ -0,0 +1 @@ +yz89888819fgIA@@JKAno33Q3+3+3+3R3S363+3v3w3+3,3,3{3|3|3|3|3}3,3,3,3+3,3,332H^23,3,3,3+3,3,332PQ23,3,3,3+3,3,3333333,3,3,3F3,3,3,3,3,3,3,3,3,3,3G3N,3,3,3,3LM,3,3,3,3O \ No newline at end of file diff --git a/data/maps/RustboroCity_House3/header.inc b/data/maps/RustboroCity_House3/header.inc new file mode 100644 index 0000000000..9ffe651130 --- /dev/null +++ b/data/maps/RustboroCity_House3/header.inc @@ -0,0 +1,15 @@ +RustboroCity_House3: @ 8483504 + .4byte RustboroCity_House3_MapAttributes + .4byte RustboroCity_House3_MapEvents + .4byte RustboroCity_House3_MapScripts + .4byte 0x0 + .2byte MUS_GOTOWN + .2byte 96 + .byte 10 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/RustboroCity_Mart/header.inc b/data/maps/RustboroCity_Mart/header.inc new file mode 100644 index 0000000000..be134394a3 --- /dev/null +++ b/data/maps/RustboroCity_Mart/header.inc @@ -0,0 +1,15 @@ +RustboroCity_Mart: @ 8483408 + .4byte RustboroCity_Mart_MapAttributes + .4byte RustboroCity_Mart_MapEvents + .4byte RustboroCity_Mart_MapScripts + .4byte 0x0 + .2byte MUS_FRIENDLY + .2byte 63 + .byte 10 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/RustboroCity_PokemonCenter_1F/header.inc b/data/maps/RustboroCity_PokemonCenter_1F/header.inc new file mode 100644 index 0000000000..fb88549f75 --- /dev/null +++ b/data/maps/RustboroCity_PokemonCenter_1F/header.inc @@ -0,0 +1,15 @@ +RustboroCity_PokemonCenter_1F: @ 84833D0 + .4byte RustboroCity_PokemonCenter_1F_MapAttributes + .4byte RustboroCity_PokemonCenter_1F_MapEvents + .4byte RustboroCity_PokemonCenter_1F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 61 + .byte 10 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/RustboroCity_PokemonCenter_2F/header.inc b/data/maps/RustboroCity_PokemonCenter_2F/header.inc new file mode 100644 index 0000000000..0acf68eaa4 --- /dev/null +++ b/data/maps/RustboroCity_PokemonCenter_2F/header.inc @@ -0,0 +1,15 @@ +RustboroCity_PokemonCenter_2F: @ 84833EC + .4byte RustboroCity_PokemonCenter_2F_MapAttributes + .4byte RustboroCity_PokemonCenter_2F_MapEvents + .4byte RustboroCity_PokemonCenter_2F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 62 + .byte 10 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/RustboroCity_PokemonSchool/border.bin b/data/maps/RustboroCity_PokemonSchool/border.bin new file mode 100644 index 0000000000..8f857616bd --- /dev/null +++ b/data/maps/RustboroCity_PokemonSchool/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/RustboroCity_PokemonSchool/header.inc b/data/maps/RustboroCity_PokemonSchool/header.inc new file mode 100644 index 0000000000..a3d257cfb2 --- /dev/null +++ b/data/maps/RustboroCity_PokemonSchool/header.inc @@ -0,0 +1,15 @@ +RustboroCity_PokemonSchool: @ 84833B4 + .4byte RustboroCity_PokemonSchool_MapAttributes + .4byte RustboroCity_PokemonSchool_MapEvents + .4byte RustboroCity_PokemonSchool_MapScripts + .4byte 0x0 + .2byte MUS_P_SCHOOL + .2byte 95 + .byte 10 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/RustboroCity_PokemonSchool/map.bin b/data/maps/RustboroCity_PokemonSchool/map.bin new file mode 100644 index 0000000000..3f3b183d37 Binary files /dev/null and b/data/maps/RustboroCity_PokemonSchool/map.bin differ diff --git a/data/maps/RusturfTunnel/border.bin b/data/maps/RusturfTunnel/border.bin new file mode 100644 index 0000000000..423a0732e6 --- /dev/null +++ b/data/maps/RusturfTunnel/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/RusturfTunnel/header.inc b/data/maps/RusturfTunnel/header.inc new file mode 100644 index 0000000000..0ce8c9e12b --- /dev/null +++ b/data/maps/RusturfTunnel/header.inc @@ -0,0 +1,15 @@ +RusturfTunnel: @ 8483F30 + .4byte RusturfTunnel_MapAttributes + .4byte RusturfTunnel_MapEvents + .4byte RusturfTunnel_MapScripts + .4byte 0x0 + .2byte MUS_DAN01 + .2byte 129 + .byte 60 + .byte 0 + .byte 6 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/RusturfTunnel/map.bin b/data/maps/RusturfTunnel/map.bin new file mode 100644 index 0000000000..87ce9bc732 --- /dev/null +++ b/data/maps/RusturfTunnel/map.bin @@ -0,0 +1,2 @@ +3!43!!!4222222@<A@<<<A22222222222222222222222222222222222222222222222222222222222222222                  +2222222223!!4222222222234@<<A3422222222222@A@A22222222222 PQR   3!422         @<A2223!!4      "22222222234@<<A342222222222   "@A   @A2222222222222 "  2222222222222      2222     PQR  342222            @A2222            222   PQR  3!4        3!4@<A           @<A \ No newline at end of file diff --git a/data/maps/SSTidalCorridor/border.bin b/data/maps/SSTidalCorridor/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/SSTidalCorridor/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SSTidalCorridor/header.inc b/data/maps/SSTidalCorridor/header.inc new file mode 100644 index 0000000000..606d682ba9 --- /dev/null +++ b/data/maps/SSTidalCorridor/header.inc @@ -0,0 +1,15 @@ +SSTidalCorridor: @ 8484F0C + .4byte SSTidalCorridor_MapAttributes + .4byte SSTidalCorridor_MapEvents + .4byte SSTidalCorridor_MapScripts + .4byte 0x0 + .2byte MUS_M_BOAT + .2byte 277 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SSTidalCorridor/map.bin b/data/maps/SSTidalCorridor/map.bin new file mode 100644 index 0000000000..f8cf1725df --- /dev/null +++ b/data/maps/SSTidalCorridor/map.bin @@ -0,0 +1 @@ +2222222222222222 6222222222222222222201111111111222222011111111112222220111111111122222201111111111222222%#$"#$"#$"#&22222-+6{*+6{*+6{*+622222222222222222222 22222222222222222 \ No newline at end of file diff --git a/data/maps/SSTidalLowerDeck/border.bin b/data/maps/SSTidalLowerDeck/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/SSTidalLowerDeck/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SSTidalLowerDeck/header.inc b/data/maps/SSTidalLowerDeck/header.inc new file mode 100644 index 0000000000..c1f883c84f --- /dev/null +++ b/data/maps/SSTidalLowerDeck/header.inc @@ -0,0 +1,15 @@ +SSTidalLowerDeck: @ 8484F28 + .4byte SSTidalLowerDeck_MapAttributes + .4byte SSTidalLowerDeck_MapEvents + .4byte SSTidalLowerDeck_MapScripts + .4byte 0x0 + .2byte MUS_M_BOAT + .2byte 278 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SSTidalLowerDeck/map.bin b/data/maps/SSTidalLowerDeck/map.bin new file mode 100644 index 0000000000..059ce30fe4 --- /dev/null +++ b/data/maps/SSTidalLowerDeck/map.bin @@ -0,0 +1 @@ +22222222 22 22 22 2 2 22 2222 2222 22222 2 2 22222222 222 2222 2 2 22222 2 22222 2 2222222222222222 2 22 2 2 2 2 2 2 2 2 2 2 2 2 2 2222222222 222 222 2 22222 2662222222 2 \ No newline at end of file diff --git a/data/maps/SSTidalRooms/border.bin b/data/maps/SSTidalRooms/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/SSTidalRooms/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SSTidalRooms/header.inc b/data/maps/SSTidalRooms/header.inc new file mode 100644 index 0000000000..09bfb86522 --- /dev/null +++ b/data/maps/SSTidalRooms/header.inc @@ -0,0 +1,15 @@ +SSTidalRooms: @ 8484F44 + .4byte SSTidalRooms_MapAttributes + .4byte SSTidalRooms_MapEvents + .4byte SSTidalRooms_MapScripts + .4byte 0x0 + .2byte MUS_M_BOAT + .2byte 279 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SSTidalRooms/map.bin b/data/maps/SSTidalRooms/map.bin new file mode 100644 index 0000000000..6103ad0c22 --- /dev/null +++ b/data/maps/SSTidalRooms/map.bin @@ -0,0 +1 @@ +6@kcmE@kcmE@kc''@kcmE7>HsuMHsuMHs////uM?>PQ:2;2;2TUPQ:2;2;2TUPQ:2;2;2;2;2;2;2;2TU?>XY=28282\]XY=28282\]XY=282828282828282\]?>:;2<28282;2;2:;2<28282;2;2:2;2<282828282w682828282;2;2?>=2828282828282w68282VW8282=282`2VWa282=28282828282a2?>=2828282VW82=282`2^_a282=282`2^_a282=282828282VW?>=28282`2^_b=2828282828282=2828282b8282=2828282`2^_?6@klvlmElvllCDE@lvlvmE@kv'vmE7>Hst~tuMt~ttKij/t~t~uMHs~/~//?>PQ:2;2;2TU:2;2;2;2;2qr66;2;2;2TUPQ:2;2;2;2|2?>XY=28282\]=2VW8282yz828282\]XY=2VppW?>:;2<28282;2|2=2^_a282;256=282828282;2;2h;2<2^xx_?>=2828282828282=2828282828282=2828282828282=28282`2828282?>=2828282828282=2828282828282=2828282828282=2828282828282?>=28282de8282=28282de8282=28282de8282=28282de8282? \ No newline at end of file diff --git a/data/maps/SafariZone_North/border.bin b/data/maps/SafariZone_North/border.bin new file mode 100644 index 0000000000..03bcafef11 --- /dev/null +++ b/data/maps/SafariZone_North/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SafariZone_North/connections.inc b/data/maps/SafariZone_North/connections.inc new file mode 100644 index 0000000000..c2052ea074 --- /dev/null +++ b/data/maps/SafariZone_North/connections.inc @@ -0,0 +1,9 @@ +SafariZone_North_MapConnectionsList: @ 8486E18 + connection left, 0, SAFARI_ZONE_NORTHWEST, 0 + connection down, 0, SAFARI_ZONE_SOUTH, 0 + connection right, 0, SAFARI_ZONE_NORTHEAST, 0 + +SafariZone_North_MapConnections: @ 8486E3C + .4byte 0x3 + .4byte SafariZone_North_MapConnectionsList + diff --git a/data/maps/SafariZone_North/header.inc b/data/maps/SafariZone_North/header.inc new file mode 100644 index 0000000000..ce05b1eead --- /dev/null +++ b/data/maps/SafariZone_North/header.inc @@ -0,0 +1,15 @@ +SafariZone_North: @ 8485158 + .4byte SafariZone_North_MapAttributes + .4byte SafariZone_North_MapEvents + .4byte SafariZone_North_MapScripts + .4byte SafariZone_North_MapConnections + .2byte MUS_SAFARI + .2byte 239 + .byte 57 + .byte 0 + .byte 0 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/SafariZone_North/map.bin b/data/maps/SafariZone_North/map.bin new file mode 100644 index 0000000000..4f52968157 Binary files /dev/null and b/data/maps/SafariZone_North/map.bin differ diff --git a/data/maps/SafariZone_Northeast/border.bin b/data/maps/SafariZone_Northeast/border.bin new file mode 100644 index 0000000000..03bcafef11 --- /dev/null +++ b/data/maps/SafariZone_Northeast/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SafariZone_Northeast/connections.inc b/data/maps/SafariZone_Northeast/connections.inc new file mode 100644 index 0000000000..c23dd3e4c7 --- /dev/null +++ b/data/maps/SafariZone_Northeast/connections.inc @@ -0,0 +1,8 @@ +SafariZone_Northeast_MapConnectionsList: @ 8486E90 + connection left, 0, SAFARI_ZONE_NORTH, 0 + connection down, 0, SAFARI_ZONE_SOUTHEAST, 0 + +SafariZone_Northeast_MapConnections: @ 8486EA8 + .4byte 0x2 + .4byte SafariZone_Northeast_MapConnectionsList + diff --git a/data/maps/SafariZone_Northeast/header.inc b/data/maps/SafariZone_Northeast/header.inc new file mode 100644 index 0000000000..e5efff7b6b --- /dev/null +++ b/data/maps/SafariZone_Northeast/header.inc @@ -0,0 +1,15 @@ +SafariZone_Northeast: @ 848528C + .4byte SafariZone_Northeast_MapAttributes + .4byte SafariZone_Northeast_MapEvents + .4byte SafariZone_Northeast_MapScripts + .4byte SafariZone_Northeast_MapConnections + .2byte MUS_SAFARI + .2byte 394 + .byte 57 + .byte 0 + .byte 0 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/SafariZone_Northeast/map.bin b/data/maps/SafariZone_Northeast/map.bin new file mode 100644 index 0000000000..9a8803a6a7 Binary files /dev/null and b/data/maps/SafariZone_Northeast/map.bin differ diff --git a/data/maps/SafariZone_Northwest/border.bin b/data/maps/SafariZone_Northwest/border.bin new file mode 100644 index 0000000000..03bcafef11 --- /dev/null +++ b/data/maps/SafariZone_Northwest/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SafariZone_Northwest/connections.inc b/data/maps/SafariZone_Northwest/connections.inc new file mode 100644 index 0000000000..9a466f082f --- /dev/null +++ b/data/maps/SafariZone_Northwest/connections.inc @@ -0,0 +1,8 @@ +SafariZone_Northwest_MapConnectionsList: @ 8486DF8 + connection right, 0, SAFARI_ZONE_NORTH, 0 + connection down, 0, SAFARI_ZONE_SOUTHWEST, 0 + +SafariZone_Northwest_MapConnections: @ 8486E10 + .4byte 0x2 + .4byte SafariZone_Northwest_MapConnectionsList + diff --git a/data/maps/SafariZone_Northwest/header.inc b/data/maps/SafariZone_Northwest/header.inc new file mode 100644 index 0000000000..810826106a --- /dev/null +++ b/data/maps/SafariZone_Northwest/header.inc @@ -0,0 +1,15 @@ +SafariZone_Northwest: @ 848513C + .4byte SafariZone_Northwest_MapAttributes + .4byte SafariZone_Northwest_MapEvents + .4byte SafariZone_Northwest_MapScripts + .4byte SafariZone_Northwest_MapConnections + .2byte MUS_SAFARI + .2byte 238 + .byte 57 + .byte 0 + .byte 0 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/SafariZone_Northwest/map.bin b/data/maps/SafariZone_Northwest/map.bin new file mode 100644 index 0000000000..1825a1c922 Binary files /dev/null and b/data/maps/SafariZone_Northwest/map.bin differ diff --git a/data/maps/SafariZone_RestHouse/border.bin b/data/maps/SafariZone_RestHouse/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/SafariZone_RestHouse/border.bin differ diff --git a/data/maps/SafariZone_RestHouse/header.inc b/data/maps/SafariZone_RestHouse/header.inc new file mode 100644 index 0000000000..591de9fc17 --- /dev/null +++ b/data/maps/SafariZone_RestHouse/header.inc @@ -0,0 +1,15 @@ +SafariZone_RestHouse: @ 8485270 + .4byte SafariZone_RestHouse_MapAttributes + .4byte SafariZone_RestHouse_MapEvents + .4byte SafariZone_RestHouse_MapScripts + .4byte 0x0 + .2byte MUS_SAFARI + .2byte 329 + .byte 57 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SafariZone_RestHouse/map.bin b/data/maps/SafariZone_RestHouse/map.bin new file mode 100644 index 0000000000..c57c99c7ba --- /dev/null +++ b/data/maps/SafariZone_RestHouse/map.bin @@ -0,0 +1 @@ +        $2$2$2$2$2$2$2$2$2$292#24266<2#2#2#2#292#24266<2#2#2#2#292#2#2#2#2#2#2#2#2#292#2#2 #2#2#2#2#2 \ No newline at end of file diff --git a/data/maps/SafariZone_South/border.bin b/data/maps/SafariZone_South/border.bin new file mode 100644 index 0000000000..03bcafef11 --- /dev/null +++ b/data/maps/SafariZone_South/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SafariZone_South/connections.inc b/data/maps/SafariZone_South/connections.inc new file mode 100644 index 0000000000..79ba1a0109 --- /dev/null +++ b/data/maps/SafariZone_South/connections.inc @@ -0,0 +1,9 @@ +SafariZone_South_MapConnectionsList: @ 8486E64 + connection up, 0, SAFARI_ZONE_NORTH, 0 + connection left, 0, SAFARI_ZONE_SOUTHWEST, 0 + connection right, 0, SAFARI_ZONE_SOUTHEAST, 0 + +SafariZone_South_MapConnections: @ 8486E88 + .4byte 0x3 + .4byte SafariZone_South_MapConnectionsList + diff --git a/data/maps/SafariZone_South/header.inc b/data/maps/SafariZone_South/header.inc new file mode 100644 index 0000000000..58239408fb --- /dev/null +++ b/data/maps/SafariZone_South/header.inc @@ -0,0 +1,15 @@ +SafariZone_South: @ 8485190 + .4byte SafariZone_South_MapAttributes + .4byte SafariZone_South_MapEvents + .4byte SafariZone_South_MapScripts + .4byte SafariZone_South_MapConnections + .2byte MUS_SAFARI + .2byte 241 + .byte 57 + .byte 0 + .byte 0 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/SafariZone_South/map.bin b/data/maps/SafariZone_South/map.bin new file mode 100644 index 0000000000..50497b5035 Binary files /dev/null and b/data/maps/SafariZone_South/map.bin differ diff --git a/data/maps/SafariZone_Southeast/border.bin b/data/maps/SafariZone_Southeast/border.bin new file mode 100644 index 0000000000..03bcafef11 --- /dev/null +++ b/data/maps/SafariZone_Southeast/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SafariZone_Southeast/connections.inc b/data/maps/SafariZone_Southeast/connections.inc new file mode 100644 index 0000000000..4855182e9a --- /dev/null +++ b/data/maps/SafariZone_Southeast/connections.inc @@ -0,0 +1,8 @@ +SafariZone_Southeast_MapConnectionsList: @ 8486EB0 + connection left, 0, SAFARI_ZONE_SOUTH, 0 + connection up, 0, SAFARI_ZONE_NORTHEAST, 0 + +SafariZone_Southeast_MapConnections: @ 8486EC8 + .4byte 0x2 + .4byte SafariZone_Southeast_MapConnectionsList + diff --git a/data/maps/SafariZone_Southeast/header.inc b/data/maps/SafariZone_Southeast/header.inc new file mode 100644 index 0000000000..56e8aa0945 --- /dev/null +++ b/data/maps/SafariZone_Southeast/header.inc @@ -0,0 +1,15 @@ +SafariZone_Southeast: @ 84852A8 + .4byte SafariZone_Southeast_MapAttributes + .4byte SafariZone_Southeast_MapEvents + .4byte SafariZone_Southeast_MapScripts + .4byte SafariZone_Southeast_MapConnections + .2byte MUS_SAFARI + .2byte 395 + .byte 57 + .byte 0 + .byte 0 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/SafariZone_Southeast/map.bin b/data/maps/SafariZone_Southeast/map.bin new file mode 100644 index 0000000000..a778b8797d Binary files /dev/null and b/data/maps/SafariZone_Southeast/map.bin differ diff --git a/data/maps/SafariZone_Southwest/border.bin b/data/maps/SafariZone_Southwest/border.bin new file mode 100644 index 0000000000..03bcafef11 --- /dev/null +++ b/data/maps/SafariZone_Southwest/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SafariZone_Southwest/connections.inc b/data/maps/SafariZone_Southwest/connections.inc new file mode 100644 index 0000000000..936a1dc822 --- /dev/null +++ b/data/maps/SafariZone_Southwest/connections.inc @@ -0,0 +1,8 @@ +SafariZone_Southwest_MapConnectionsList: @ 8486E44 + connection up, 0, SAFARI_ZONE_NORTHWEST, 0 + connection right, 0, SAFARI_ZONE_SOUTH, 0 + +SafariZone_Southwest_MapConnections: @ 8486E5C + .4byte 0x2 + .4byte SafariZone_Southwest_MapConnectionsList + diff --git a/data/maps/SafariZone_Southwest/header.inc b/data/maps/SafariZone_Southwest/header.inc new file mode 100644 index 0000000000..3eaf59e98c --- /dev/null +++ b/data/maps/SafariZone_Southwest/header.inc @@ -0,0 +1,15 @@ +SafariZone_Southwest: @ 8485174 + .4byte SafariZone_Southwest_MapAttributes + .4byte SafariZone_Southwest_MapEvents + .4byte SafariZone_Southwest_MapScripts + .4byte SafariZone_Southwest_MapConnections + .2byte MUS_SAFARI + .2byte 240 + .byte 57 + .byte 0 + .byte 0 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/SafariZone_Southwest/map.bin b/data/maps/SafariZone_Southwest/map.bin new file mode 100644 index 0000000000..0074b6e552 Binary files /dev/null and b/data/maps/SafariZone_Southwest/map.bin differ diff --git a/data/maps/ScorchedSlab/border.bin b/data/maps/ScorchedSlab/border.bin new file mode 100644 index 0000000000..423a0732e6 --- /dev/null +++ b/data/maps/ScorchedSlab/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/ScorchedSlab/header.inc b/data/maps/ScorchedSlab/header.inc new file mode 100644 index 0000000000..e9b0a7b7ec --- /dev/null +++ b/data/maps/ScorchedSlab/header.inc @@ -0,0 +1,15 @@ +ScorchedSlab: @ 84846BC + .4byte ScorchedSlab_MapAttributes + .4byte ScorchedSlab_MapEvents + .4byte ScorchedSlab_MapScripts + .4byte 0x0 + .2byte MUS_DAN01 + .2byte 311 + .byte 80 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/ScorchedSlab/map.bin b/data/maps/ScorchedSlab/map.bin new file mode 100644 index 0000000000..edbd982ee9 --- /dev/null +++ b/data/maps/ScorchedSlab/map.bin @@ -0,0 +1 @@ +222222222222222222222222222222222ppppppppppppppppppppppppppppppppppppppppppppppppppppGG^^^^GGG          $G \ No newline at end of file diff --git a/data/maps/SeafloorCavern_Entrance/border.bin b/data/maps/SeafloorCavern_Entrance/border.bin new file mode 100644 index 0000000000..f0eabd248c --- /dev/null +++ b/data/maps/SeafloorCavern_Entrance/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SeafloorCavern_Entrance/header.inc b/data/maps/SeafloorCavern_Entrance/header.inc new file mode 100644 index 0000000000..be05d04fac --- /dev/null +++ b/data/maps/SeafloorCavern_Entrance/header.inc @@ -0,0 +1,15 @@ +SeafloorCavern_Entrance: @ 84841B4 + .4byte SeafloorCavern_Entrance_MapAttributes + .4byte SeafloorCavern_Entrance_MapEvents + .4byte SeafloorCavern_Entrance_MapScripts + .4byte 0x0 + .2byte MUS_TOZAN + .2byte 147 + .byte 68 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/SeafloorCavern_Entrance/map.bin b/data/maps/SeafloorCavern_Entrance/map.bin new file mode 100644 index 0000000000..f41e6e77df --- /dev/null +++ b/data/maps/SeafloorCavern_Entrance/map.bin @@ -0,0 +1,11 @@ +3  $1$1$1$1$1 $1$1$1$1$1$1$1$1$1  $1$1$1$1$1$1$1$1$1 $1$1$1$1$1$1$1$1$1$1$1$1  $1$1$1$1$1$1$1$1$1$1$1$1  + $1$1$1$1$1$1$1$1$1$1$1$1$1$1$1 + $1$1$1$1$111111$1$1$1$1$1 + $1$1$1111111111$1$1$1 + $1$111111111111$1$1 + $1111111$1 + 111ppppp11$1 + 11ppppppp11 + 11ppppppppp11 + 11ppppppppp11 +1ppVVVVppppVVpVV \ No newline at end of file diff --git a/data/maps/SeafloorCavern_Room1/border.bin b/data/maps/SeafloorCavern_Room1/border.bin new file mode 100644 index 0000000000..f0eabd248c --- /dev/null +++ b/data/maps/SeafloorCavern_Room1/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SeafloorCavern_Room1/header.inc b/data/maps/SeafloorCavern_Room1/header.inc new file mode 100644 index 0000000000..094095d7e2 --- /dev/null +++ b/data/maps/SeafloorCavern_Room1/header.inc @@ -0,0 +1,15 @@ +SeafloorCavern_Room1: @ 84841D0 + .4byte SeafloorCavern_Room1_MapAttributes + .4byte SeafloorCavern_Room1_MapEvents + .4byte SeafloorCavern_Room1_MapScripts + .4byte 0x0 + .2byte MUS_TOZAN + .2byte 148 + .byte 68 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/SeafloorCavern_Room1/map.bin b/data/maps/SeafloorCavern_Room1/map.bin new file mode 100644 index 0000000000..57cd82f781 --- /dev/null +++ b/data/maps/SeafloorCavern_Room1/map.bin @@ -0,0 +1 @@ +222322222222222222222222222222222222222622222226222222222222222222222222222222222222226666222222266662222<22266666222662222222222222222222222 \ No newline at end of file diff --git a/data/maps/SeafloorCavern_Room2/border.bin b/data/maps/SeafloorCavern_Room2/border.bin new file mode 100644 index 0000000000..f0eabd248c --- /dev/null +++ b/data/maps/SeafloorCavern_Room2/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SeafloorCavern_Room2/header.inc b/data/maps/SeafloorCavern_Room2/header.inc new file mode 100644 index 0000000000..ebbfc58bc9 --- /dev/null +++ b/data/maps/SeafloorCavern_Room2/header.inc @@ -0,0 +1,15 @@ +SeafloorCavern_Room2: @ 84841EC + .4byte SeafloorCavern_Room2_MapAttributes + .4byte SeafloorCavern_Room2_MapEvents + .4byte SeafloorCavern_Room2_MapScripts + .4byte 0x0 + .2byte MUS_TOZAN + .2byte 149 + .byte 68 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/SeafloorCavern_Room2/map.bin b/data/maps/SeafloorCavern_Room2/map.bin new file mode 100644 index 0000000000..72a064870e --- /dev/null +++ b/data/maps/SeafloorCavern_Room2/map.bin @@ -0,0 +1,7 @@ + 33 22222 + 2222222222 +2222 + 2222 + 222222222 + 222222222 + f2 22 2222 \ No newline at end of file diff --git a/data/maps/SeafloorCavern_Room3/border.bin b/data/maps/SeafloorCavern_Room3/border.bin new file mode 100644 index 0000000000..f0eabd248c --- /dev/null +++ b/data/maps/SeafloorCavern_Room3/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SeafloorCavern_Room3/header.inc b/data/maps/SeafloorCavern_Room3/header.inc new file mode 100644 index 0000000000..56dd1c14b4 --- /dev/null +++ b/data/maps/SeafloorCavern_Room3/header.inc @@ -0,0 +1,15 @@ +SeafloorCavern_Room3: @ 8484208 + .4byte SeafloorCavern_Room3_MapAttributes + .4byte SeafloorCavern_Room3_MapEvents + .4byte SeafloorCavern_Room3_MapScripts + .4byte 0x0 + .2byte MUS_TOZAN + .2byte 150 + .byte 68 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/SeafloorCavern_Room3/map.bin b/data/maps/SeafloorCavern_Room3/map.bin new file mode 100644 index 0000000000..01d18c73c1 --- /dev/null +++ b/data/maps/SeafloorCavern_Room3/map.bin @@ -0,0 +1 @@ +6666666666636666662222266666622222666222222666622222222666222222666222622222262222226222222222222222222222222222222222222QQQM2222222222222222226666666 \ No newline at end of file diff --git a/data/maps/SeafloorCavern_Room4/border.bin b/data/maps/SeafloorCavern_Room4/border.bin new file mode 100644 index 0000000000..f0eabd248c --- /dev/null +++ b/data/maps/SeafloorCavern_Room4/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SeafloorCavern_Room4/header.inc b/data/maps/SeafloorCavern_Room4/header.inc new file mode 100644 index 0000000000..1f710ac3a5 --- /dev/null +++ b/data/maps/SeafloorCavern_Room4/header.inc @@ -0,0 +1,15 @@ +SeafloorCavern_Room4: @ 8484224 + .4byte SeafloorCavern_Room4_MapAttributes + .4byte SeafloorCavern_Room4_MapEvents + .4byte SeafloorCavern_Room4_MapScripts + .4byte 0x0 + .2byte MUS_TOZAN + .2byte 151 + .byte 68 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/SeafloorCavern_Room4/map.bin b/data/maps/SeafloorCavern_Room4/map.bin new file mode 100644 index 0000000000..928749c954 --- /dev/null +++ b/data/maps/SeafloorCavern_Room4/map.bin @@ -0,0 +1 @@ +3362222222622222226LQQM22262222222292222222222229222222222222222222666222222222222223222222229222222222229222222LQQQM2222222222 \ No newline at end of file diff --git a/data/maps/SeafloorCavern_Room5/border.bin b/data/maps/SeafloorCavern_Room5/border.bin new file mode 100644 index 0000000000..f0eabd248c --- /dev/null +++ b/data/maps/SeafloorCavern_Room5/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SeafloorCavern_Room5/header.inc b/data/maps/SeafloorCavern_Room5/header.inc new file mode 100644 index 0000000000..8f9edd7564 --- /dev/null +++ b/data/maps/SeafloorCavern_Room5/header.inc @@ -0,0 +1,15 @@ +SeafloorCavern_Room5: @ 8484240 + .4byte SeafloorCavern_Room5_MapAttributes + .4byte SeafloorCavern_Room5_MapEvents + .4byte SeafloorCavern_Room5_MapScripts + .4byte 0x0 + .2byte MUS_TOZAN + .2byte 152 + .byte 68 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/SeafloorCavern_Room5/map.bin b/data/maps/SeafloorCavern_Room5/map.bin new file mode 100644 index 0000000000..386430fe43 --- /dev/null +++ b/data/maps/SeafloorCavern_Room5/map.bin @@ -0,0 +1 @@ +32222222222222222222222222222222222222222222222222222222222222222222222222222222222222 \ No newline at end of file diff --git a/data/maps/SeafloorCavern_Room6/border.bin b/data/maps/SeafloorCavern_Room6/border.bin new file mode 100644 index 0000000000..a00c39057e --- /dev/null +++ b/data/maps/SeafloorCavern_Room6/border.bin @@ -0,0 +1 @@ +~~~~ \ No newline at end of file diff --git a/data/maps/SeafloorCavern_Room6/header.inc b/data/maps/SeafloorCavern_Room6/header.inc new file mode 100644 index 0000000000..e1aab7b08d --- /dev/null +++ b/data/maps/SeafloorCavern_Room6/header.inc @@ -0,0 +1,15 @@ +SeafloorCavern_Room6: @ 848425C + .4byte SeafloorCavern_Room6_MapAttributes + .4byte SeafloorCavern_Room6_MapEvents + .4byte SeafloorCavern_Room6_MapScripts + .4byte 0x0 + .2byte MUS_TOZAN + .2byte 153 + .byte 68 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/SeafloorCavern_Room6/map.bin b/data/maps/SeafloorCavern_Room6/map.bin new file mode 100644 index 0000000000..4522633263 --- /dev/null +++ b/data/maps/SeafloorCavern_Room6/map.bin @@ -0,0 +1 @@ +z2xzzy2y2y2y2xxzzy2y2y2y2pxxzzy2y2y2y2ppppppppppppxxzzy2y2y2y2ppppvvvpppxxzzpppu~~~wppxxzzppppppp}ppxxzzppppppxxzzpppppppppppppxxzzpppppppppxxzzpppppppppppxxzzppppppxxzzpppppppppppppxxzzppppppppppxxzzpppppppppppppxxzzpppppppppxxzzpppppppppxxzzppppppppppxxzzpppppppppppvvvvzzpppppo2o2o2vpvv~~~~vvvvvvvvvz~22~2x~vvv~~~~~~~~~~~~~~~~~~~~~~~~~ \ No newline at end of file diff --git a/data/maps/SeafloorCavern_Room7/border.bin b/data/maps/SeafloorCavern_Room7/border.bin new file mode 100644 index 0000000000..a00c39057e --- /dev/null +++ b/data/maps/SeafloorCavern_Room7/border.bin @@ -0,0 +1 @@ +~~~~ \ No newline at end of file diff --git a/data/maps/SeafloorCavern_Room7/header.inc b/data/maps/SeafloorCavern_Room7/header.inc new file mode 100644 index 0000000000..fd0b49c935 --- /dev/null +++ b/data/maps/SeafloorCavern_Room7/header.inc @@ -0,0 +1,15 @@ +SeafloorCavern_Room7: @ 8484278 + .4byte SeafloorCavern_Room7_MapAttributes + .4byte SeafloorCavern_Room7_MapEvents + .4byte SeafloorCavern_Room7_MapScripts + .4byte 0x0 + .2byte MUS_TOZAN + .2byte 154 + .byte 68 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/SeafloorCavern_Room7/map.bin b/data/maps/SeafloorCavern_Room7/map.bin new file mode 100644 index 0000000000..7fa1d903d6 --- /dev/null +++ b/data/maps/SeafloorCavern_Room7/map.bin @@ -0,0 +1 @@ +z2~6~6~6~6~6~6~6~6~6xzzy2y2y2y2y2y2y2y2y2y2x~6~6~6~6~6~6~6~6~6xzzy2y2y2y2y2xzzpppxxzzpppppppppppppppppxxzzppxxzzpppppppppppppppxxzzppxxzzppppppppppppppxxzzpppppppxxzzpppppppppppppppxxzzpppppxxzzpppppppppppxxzzpppppppppppxxzzpppxxzzpppppppppppppxxzzpppppppppppppxxzzpppxxz66q2ypppppppppppppxxzy6z6y2pppppppppppppxxzy6z6y2q2q2q2q2q2yppppppppxxz66y2y2y2y2y2y2ppppppppxxzzy22y2y2sy2tppppppppxxvvvvvvvvvv \ No newline at end of file diff --git a/data/maps/SeafloorCavern_Room8/border.bin b/data/maps/SeafloorCavern_Room8/border.bin new file mode 100644 index 0000000000..f0eabd248c --- /dev/null +++ b/data/maps/SeafloorCavern_Room8/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SeafloorCavern_Room8/header.inc b/data/maps/SeafloorCavern_Room8/header.inc new file mode 100644 index 0000000000..a5ecc196af --- /dev/null +++ b/data/maps/SeafloorCavern_Room8/header.inc @@ -0,0 +1,15 @@ +SeafloorCavern_Room8: @ 8484294 + .4byte SeafloorCavern_Room8_MapAttributes + .4byte SeafloorCavern_Room8_MapEvents + .4byte SeafloorCavern_Room8_MapScripts + .4byte 0x0 + .2byte MUS_TOZAN + .2byte 155 + .byte 68 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/SeafloorCavern_Room8/map.bin b/data/maps/SeafloorCavern_Room8/map.bin new file mode 100644 index 0000000000..e70e95b47e --- /dev/null +++ b/data/maps/SeafloorCavern_Room8/map.bin @@ -0,0 +1 @@ +632222222222222222222222222222222222LQM22222222222 \ No newline at end of file diff --git a/data/maps/SeafloorCavern_Room9/border.bin b/data/maps/SeafloorCavern_Room9/border.bin new file mode 100644 index 0000000000..f0eabd248c --- /dev/null +++ b/data/maps/SeafloorCavern_Room9/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SeafloorCavern_Room9/header.inc b/data/maps/SeafloorCavern_Room9/header.inc new file mode 100644 index 0000000000..4df3870e69 --- /dev/null +++ b/data/maps/SeafloorCavern_Room9/header.inc @@ -0,0 +1,15 @@ +SeafloorCavern_Room9: @ 84842B0 + .4byte SeafloorCavern_Room9_MapAttributes + .4byte SeafloorCavern_Room9_MapEvents + .4byte SeafloorCavern_Room9_MapScripts + .4byte 0x0 + .2byte MUS_TOZAN + .2byte 156 + .byte 68 + .byte 0 + .byte 6 + .byte 4 + .2byte 0 + .byte 14 + .byte 0 + diff --git a/data/maps/SeafloorCavern_Room9/map.bin b/data/maps/SeafloorCavern_Room9/map.bin new file mode 100644 index 0000000000..252112ac23 --- /dev/null +++ b/data/maps/SeafloorCavern_Room9/map.bin @@ -0,0 +1 @@ +222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222  222 222    2222222 2222222222 2222222    # 222    #2222 #  2222      2222 #    2222  222 # OO 222OOOO222pNOOOONp222ppNNNNpp22222pppppppp22222 ppppppppp22222222#2s2lpppppppp222222222#2lpppppjs2s2$222222222#2s2s2s2s2s2$22222222222222222222222 \ No newline at end of file diff --git a/data/maps/SealedChamber_InnerRoom/border.bin b/data/maps/SealedChamber_InnerRoom/border.bin new file mode 100644 index 0000000000..9afd13cdc0 Binary files /dev/null and b/data/maps/SealedChamber_InnerRoom/border.bin differ diff --git a/data/maps/SealedChamber_InnerRoom/header.inc b/data/maps/SealedChamber_InnerRoom/header.inc new file mode 100644 index 0000000000..87b73cfa10 --- /dev/null +++ b/data/maps/SealedChamber_InnerRoom/header.inc @@ -0,0 +1,15 @@ +SealedChamber_InnerRoom: @ 84846A0 + .4byte SealedChamber_InnerRoom_MapAttributes + .4byte SealedChamber_InnerRoom_MapEvents + .4byte SealedChamber_InnerRoom_MapScripts + .4byte 0x0 + .2byte MUS_MABOROSI + .2byte 304 + .byte 78 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/SealedChamber_InnerRoom/map.bin b/data/maps/SealedChamber_InnerRoom/map.bin new file mode 100644 index 0000000000..823fa5fab3 --- /dev/null +++ b/data/maps/SealedChamber_InnerRoom/map.bin @@ -0,0 +1 @@ +222222222222777222222222222222222222222222222222222222722222722222222222222222222222222222222222222222222222222722222222272222222222222222222222222222222222222222222222222722222722222222222222 \ No newline at end of file diff --git a/data/maps/SealedChamber_OuterRoom/border.bin b/data/maps/SealedChamber_OuterRoom/border.bin new file mode 100644 index 0000000000..9afd13cdc0 Binary files /dev/null and b/data/maps/SealedChamber_OuterRoom/border.bin differ diff --git a/data/maps/SealedChamber_OuterRoom/header.inc b/data/maps/SealedChamber_OuterRoom/header.inc new file mode 100644 index 0000000000..fc55dd8d2b --- /dev/null +++ b/data/maps/SealedChamber_OuterRoom/header.inc @@ -0,0 +1,15 @@ +SealedChamber_OuterRoom: @ 8484684 + .4byte SealedChamber_OuterRoom_MapAttributes + .4byte SealedChamber_OuterRoom_MapEvents + .4byte SealedChamber_OuterRoom_MapScripts + .4byte 0x0 + .2byte MUS_MABOROSI + .2byte 284 + .byte 78 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/SealedChamber_OuterRoom/map.bin b/data/maps/SealedChamber_OuterRoom/map.bin new file mode 100644 index 0000000000..bf1482f97b --- /dev/null +++ b/data/maps/SealedChamber_OuterRoom/map.bin @@ -0,0 +1,11 @@ +`*+,a)2324)222222222222222222222222222222    +2    +2  +555255525222222222222222    +2    +2  +555255525222222222222222    +2    +222255525552222222222222222222    +2    +222255525552222222222222222222222222222222222VVV2222222222VGV22222$ggggg_____ggggg#$                 #$$                 ## \ No newline at end of file diff --git a/data/maps/SecretBase_BlueCave1/border.bin b/data/maps/SecretBase_BlueCave1/border.bin new file mode 100644 index 0000000000..5c0908a6aa --- /dev/null +++ b/data/maps/SecretBase_BlueCave1/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_BlueCave1/header.inc b/data/maps/SecretBase_BlueCave1/header.inc new file mode 100644 index 0000000000..8914ffdc5c --- /dev/null +++ b/data/maps/SecretBase_BlueCave1/header.inc @@ -0,0 +1,15 @@ +SecretBase_BlueCave1: @ 8484AC8 + .4byte SecretBase_BlueCave1_MapAttributes + .4byte SecretBase_BlueCave1_MapEvents + .4byte SecretBase_BlueCave1_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 199 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_BlueCave1/map.bin b/data/maps/SecretBase_BlueCave1/map.bin new file mode 100644 index 0000000000..371b2a8d5f --- /dev/null +++ b/data/maps/SecretBase_BlueCave1/map.bin @@ -0,0 +1,50 @@ +6 +2 +2 +2 +2 +2   6 +2 +22 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +26  +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 6 +2 +22 +2 +2 +2   \ No newline at end of file diff --git a/data/maps/SecretBase_BlueCave2/border.bin b/data/maps/SecretBase_BlueCave2/border.bin new file mode 100644 index 0000000000..5c0908a6aa --- /dev/null +++ b/data/maps/SecretBase_BlueCave2/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_BlueCave2/header.inc b/data/maps/SecretBase_BlueCave2/header.inc new file mode 100644 index 0000000000..e36e3dc8e5 --- /dev/null +++ b/data/maps/SecretBase_BlueCave2/header.inc @@ -0,0 +1,15 @@ +SecretBase_BlueCave2: @ 8484B70 + .4byte SecretBase_BlueCave2_MapAttributes + .4byte SecretBase_BlueCave2_MapEvents + .4byte SecretBase_BlueCave2_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 205 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_BlueCave2/map.bin b/data/maps/SecretBase_BlueCave2/map.bin new file mode 100644 index 0000000000..4993e5b65b --- /dev/null +++ b/data/maps/SecretBase_BlueCave2/map.bin @@ -0,0 +1,57 @@ +  62 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 6 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 6 +2 +2 +2 +2 +22 +2 +2 +26  \ No newline at end of file diff --git a/data/maps/SecretBase_BlueCave3/border.bin b/data/maps/SecretBase_BlueCave3/border.bin new file mode 100644 index 0000000000..5c0908a6aa --- /dev/null +++ b/data/maps/SecretBase_BlueCave3/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_BlueCave3/header.inc b/data/maps/SecretBase_BlueCave3/header.inc new file mode 100644 index 0000000000..a1cbd4c330 --- /dev/null +++ b/data/maps/SecretBase_BlueCave3/header.inc @@ -0,0 +1,15 @@ +SecretBase_BlueCave3: @ 8484C18 + .4byte SecretBase_BlueCave3_MapAttributes + .4byte SecretBase_BlueCave3_MapEvents + .4byte SecretBase_BlueCave3_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 211 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_BlueCave3/map.bin b/data/maps/SecretBase_BlueCave3/map.bin new file mode 100644 index 0000000000..968aade070 --- /dev/null +++ b/data/maps/SecretBase_BlueCave3/map.bin @@ -0,0 +1,51 @@ +  +2 +2 +2 +22 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2   +2 +2  +2 +2   +2 +2   +2 +222 +2 +2 +2 +2  +2   +2  +2   +2 +2 +22 +2   +2 +2   +2 6 +222   +2 +22 +2 +2   \ No newline at end of file diff --git a/data/maps/SecretBase_BlueCave4/border.bin b/data/maps/SecretBase_BlueCave4/border.bin new file mode 100644 index 0000000000..5c0908a6aa --- /dev/null +++ b/data/maps/SecretBase_BlueCave4/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_BlueCave4/header.inc b/data/maps/SecretBase_BlueCave4/header.inc new file mode 100644 index 0000000000..4fb3531505 --- /dev/null +++ b/data/maps/SecretBase_BlueCave4/header.inc @@ -0,0 +1,15 @@ +SecretBase_BlueCave4: @ 8484CC0 + .4byte SecretBase_BlueCave4_MapAttributes + .4byte SecretBase_BlueCave4_MapEvents + .4byte SecretBase_BlueCave4_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 217 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_BlueCave4/map.bin b/data/maps/SecretBase_BlueCave4/map.bin new file mode 100644 index 0000000000..631ac0f81d --- /dev/null +++ b/data/maps/SecretBase_BlueCave4/map.bin @@ -0,0 +1,57 @@ +  +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +22   +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 6 +2 +2"6  #6  2  +2   6 +22   +2 +2 +2   +22 +2   \ No newline at end of file diff --git a/data/maps/SecretBase_BrownCave1/border.bin b/data/maps/SecretBase_BrownCave1/border.bin new file mode 100644 index 0000000000..5c0908a6aa --- /dev/null +++ b/data/maps/SecretBase_BrownCave1/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_BrownCave1/header.inc b/data/maps/SecretBase_BrownCave1/header.inc new file mode 100644 index 0000000000..57f27c8236 --- /dev/null +++ b/data/maps/SecretBase_BrownCave1/header.inc @@ -0,0 +1,15 @@ +SecretBase_BrownCave1: @ 8484AAC + .4byte SecretBase_BrownCave1_MapAttributes + .4byte SecretBase_BrownCave1_MapEvents + .4byte SecretBase_BrownCave1_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 198 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_BrownCave1/map.bin b/data/maps/SecretBase_BrownCave1/map.bin new file mode 100644 index 0000000000..56d3436caf --- /dev/null +++ b/data/maps/SecretBase_BrownCave1/map.bin @@ -0,0 +1,54 @@ +6 +2 +2 +2 +2 +2 +2 +2   +2 6 +2 +22 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +26 +2 +2 +2 +2 +2 +2 +2   +2 +2 +22 +2 +2 +2   \ No newline at end of file diff --git a/data/maps/SecretBase_BrownCave2/border.bin b/data/maps/SecretBase_BrownCave2/border.bin new file mode 100644 index 0000000000..5c0908a6aa --- /dev/null +++ b/data/maps/SecretBase_BrownCave2/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_BrownCave2/header.inc b/data/maps/SecretBase_BrownCave2/header.inc new file mode 100644 index 0000000000..3c8bf24d75 --- /dev/null +++ b/data/maps/SecretBase_BrownCave2/header.inc @@ -0,0 +1,15 @@ +SecretBase_BrownCave2: @ 8484B54 + .4byte SecretBase_BrownCave2_MapAttributes + .4byte SecretBase_BrownCave2_MapEvents + .4byte SecretBase_BrownCave2_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 204 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_BrownCave2/map.bin b/data/maps/SecretBase_BrownCave2/map.bin new file mode 100644 index 0000000000..1848969754 --- /dev/null +++ b/data/maps/SecretBase_BrownCave2/map.bin @@ -0,0 +1,56 @@ +  +2 +2 +2 +2 +2 +2 +2 +2 6   +26 +2 +2 +2 +2 +2 +22 +2   +2   +2 +2 +2 +2 +2 +2 +2 +2   +2   +2 +2 +2 +2 +2 +2 +2 +2   +2   +2 +2 +2 +2 +2 +2 +2 +2   +2   +2 +2 +2 +2 +2 +2 +2 2 6 +2 +2 +2 +2   \ No newline at end of file diff --git a/data/maps/SecretBase_BrownCave3/border.bin b/data/maps/SecretBase_BrownCave3/border.bin new file mode 100644 index 0000000000..5c0908a6aa --- /dev/null +++ b/data/maps/SecretBase_BrownCave3/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_BrownCave3/header.inc b/data/maps/SecretBase_BrownCave3/header.inc new file mode 100644 index 0000000000..78ebb6fd89 --- /dev/null +++ b/data/maps/SecretBase_BrownCave3/header.inc @@ -0,0 +1,15 @@ +SecretBase_BrownCave3: @ 8484BFC + .4byte SecretBase_BrownCave3_MapAttributes + .4byte SecretBase_BrownCave3_MapEvents + .4byte SecretBase_BrownCave3_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 210 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_BrownCave3/map.bin b/data/maps/SecretBase_BrownCave3/map.bin new file mode 100644 index 0000000000..d9967522a0 --- /dev/null +++ b/data/maps/SecretBase_BrownCave3/map.bin @@ -0,0 +1,69 @@ +  +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +26 +2 +2 +2 66 +2 +2 +2   +2 +2 +2 6   +2 +2 +2   +2 +2 +2 +2   +2 +2 +2   +2 +2 +2 +2  +2 +2 +2   +2 +2 +2 +2  2 +2 +2 +2   +2 +2 +2 +2   +2 +2 +2 +2   +2 +2 +2 +2   +2 +2 +2 +2   +22 +2 +2   \ No newline at end of file diff --git a/data/maps/SecretBase_BrownCave4/border.bin b/data/maps/SecretBase_BrownCave4/border.bin new file mode 100644 index 0000000000..5c0908a6aa --- /dev/null +++ b/data/maps/SecretBase_BrownCave4/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_BrownCave4/header.inc b/data/maps/SecretBase_BrownCave4/header.inc new file mode 100644 index 0000000000..4d92c301ca --- /dev/null +++ b/data/maps/SecretBase_BrownCave4/header.inc @@ -0,0 +1,15 @@ +SecretBase_BrownCave4: @ 8484CA4 + .4byte SecretBase_BrownCave4_MapAttributes + .4byte SecretBase_BrownCave4_MapEvents + .4byte SecretBase_BrownCave4_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 216 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_BrownCave4/map.bin b/data/maps/SecretBase_BrownCave4/map.bin new file mode 100644 index 0000000000..8b5a763c45 --- /dev/null +++ b/data/maps/SecretBase_BrownCave4/map.bin @@ -0,0 +1,70 @@ +  62 +2 +2 +2 +2 +2 +2 +2"6 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +2#6 +2 +2   +2 +2 +2 +2   +2 +2 +2   +2   +2 +2 +2  +2   +2 +2 +2   +2 +2 +2 +22 +2   +2 +2 +2   +2 +2 +2 +2 +2 +2   +22 +2   +2 +2 +2 +2 +2 +2    +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2  \ No newline at end of file diff --git a/data/maps/SecretBase_RedCave1/border.bin b/data/maps/SecretBase_RedCave1/border.bin new file mode 100644 index 0000000000..5c0908a6aa --- /dev/null +++ b/data/maps/SecretBase_RedCave1/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_RedCave1/header.inc b/data/maps/SecretBase_RedCave1/header.inc new file mode 100644 index 0000000000..8e730661d8 --- /dev/null +++ b/data/maps/SecretBase_RedCave1/header.inc @@ -0,0 +1,15 @@ +SecretBase_RedCave1: @ 8484A90 + .4byte SecretBase_RedCave1_MapAttributes + .4byte SecretBase_RedCave1_MapEvents + .4byte SecretBase_RedCave1_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 197 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_RedCave1/map.bin b/data/maps/SecretBase_RedCave1/map.bin new file mode 100644 index 0000000000..ce666b57d9 --- /dev/null +++ b/data/maps/SecretBase_RedCave1/map.bin @@ -0,0 +1,51 @@ + +2 +2 +2 +2 +2 +2 +2   6 +2 +2 +2 +2 +2 +2 +2 6  +2 +2 +2 +2 +2 +2 +2 +26  +2 +2 +2 +2 +2 +22 +2   +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 6 +2 +22 +2 +2 +26  \ No newline at end of file diff --git a/data/maps/SecretBase_RedCave2/border.bin b/data/maps/SecretBase_RedCave2/border.bin new file mode 100644 index 0000000000..5c0908a6aa --- /dev/null +++ b/data/maps/SecretBase_RedCave2/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_RedCave2/header.inc b/data/maps/SecretBase_RedCave2/header.inc new file mode 100644 index 0000000000..b86e69ecff --- /dev/null +++ b/data/maps/SecretBase_RedCave2/header.inc @@ -0,0 +1,15 @@ +SecretBase_RedCave2: @ 8484B38 + .4byte SecretBase_RedCave2_MapAttributes + .4byte SecretBase_RedCave2_MapEvents + .4byte SecretBase_RedCave2_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 203 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_RedCave2/map.bin b/data/maps/SecretBase_RedCave2/map.bin new file mode 100644 index 0000000000..4fa03acfe0 --- /dev/null +++ b/data/maps/SecretBase_RedCave2/map.bin @@ -0,0 +1,42 @@ +  +22 +2   +2 +2 +2   +2 +2 +2  +2 +2 +2  2 +2 +2 +2   +2 +2 +2 +2   +2 +2 +2 +2 6  +2 +2 +2 +2 6   +2 +2 +2 +2 +2   +2 +2 +2 +2 +2  +2 +2 +26 +26  +2  2   \ No newline at end of file diff --git a/data/maps/SecretBase_RedCave3/border.bin b/data/maps/SecretBase_RedCave3/border.bin new file mode 100644 index 0000000000..5c0908a6aa --- /dev/null +++ b/data/maps/SecretBase_RedCave3/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_RedCave3/header.inc b/data/maps/SecretBase_RedCave3/header.inc new file mode 100644 index 0000000000..9d4f26d368 --- /dev/null +++ b/data/maps/SecretBase_RedCave3/header.inc @@ -0,0 +1,15 @@ +SecretBase_RedCave3: @ 8484BE0 + .4byte SecretBase_RedCave3_MapAttributes + .4byte SecretBase_RedCave3_MapEvents + .4byte SecretBase_RedCave3_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 209 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_RedCave3/map.bin b/data/maps/SecretBase_RedCave3/map.bin new file mode 100644 index 0000000000..0528e565d9 --- /dev/null +++ b/data/maps/SecretBase_RedCave3/map.bin @@ -0,0 +1,47 @@ +  +2 +22 +2   6 +2 +2 +2 +2   +2 +2 +2 +2   +2 +2 +2 +2 +2 6 +2 +2 +2 +2   +2 +2 +2 +2 +222 +22 +2 +2 +2 +2   +2 +2 +2 +2 +26 +2 +2 +2 +2   +2 +22 +2 +2 6 +2 +2 +2   \ No newline at end of file diff --git a/data/maps/SecretBase_RedCave4/border.bin b/data/maps/SecretBase_RedCave4/border.bin new file mode 100644 index 0000000000..5c0908a6aa --- /dev/null +++ b/data/maps/SecretBase_RedCave4/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_RedCave4/header.inc b/data/maps/SecretBase_RedCave4/header.inc new file mode 100644 index 0000000000..1637805679 --- /dev/null +++ b/data/maps/SecretBase_RedCave4/header.inc @@ -0,0 +1,15 @@ +SecretBase_RedCave4: @ 8484C88 + .4byte SecretBase_RedCave4_MapAttributes + .4byte SecretBase_RedCave4_MapEvents + .4byte SecretBase_RedCave4_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 215 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_RedCave4/map.bin b/data/maps/SecretBase_RedCave4/map.bin new file mode 100644 index 0000000000..526763290e --- /dev/null +++ b/data/maps/SecretBase_RedCave4/map.bin @@ -0,0 +1,56 @@ +  +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 "66 #6 2   +2 +2 +2 +22 +2   +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 6  +22 +2 +2 +2 +2 6   +2 +2 +2  \ No newline at end of file diff --git a/data/maps/SecretBase_Shrub1/border.bin b/data/maps/SecretBase_Shrub1/border.bin new file mode 100644 index 0000000000..064786e8c3 --- /dev/null +++ b/data/maps/SecretBase_Shrub1/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_Shrub1/header.inc b/data/maps/SecretBase_Shrub1/header.inc new file mode 100644 index 0000000000..8f5fd71980 --- /dev/null +++ b/data/maps/SecretBase_Shrub1/header.inc @@ -0,0 +1,15 @@ +SecretBase_Shrub1: @ 8484B1C + .4byte SecretBase_Shrub1_MapAttributes + .4byte SecretBase_Shrub1_MapEvents + .4byte SecretBase_Shrub1_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 202 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_Shrub1/map.bin b/data/maps/SecretBase_Shrub1/map.bin new file mode 100644 index 0000000000..4b566cc1b3 --- /dev/null +++ b/data/maps/SecretBase_Shrub1/map.bin @@ -0,0 +1,53 @@ +  +2 +2  +2 +2 +2 +2   +2 +2 6 +22 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +26 +2 +2 +2 +2 +2 +2 +2   +2 +2 +22 +2 +2 +2   \ No newline at end of file diff --git a/data/maps/SecretBase_Shrub2/border.bin b/data/maps/SecretBase_Shrub2/border.bin new file mode 100644 index 0000000000..064786e8c3 --- /dev/null +++ b/data/maps/SecretBase_Shrub2/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_Shrub2/header.inc b/data/maps/SecretBase_Shrub2/header.inc new file mode 100644 index 0000000000..77b3ae8336 --- /dev/null +++ b/data/maps/SecretBase_Shrub2/header.inc @@ -0,0 +1,15 @@ +SecretBase_Shrub2: @ 8484BC4 + .4byte SecretBase_Shrub2_MapAttributes + .4byte SecretBase_Shrub2_MapEvents + .4byte SecretBase_Shrub2_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 208 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_Shrub2/map.bin b/data/maps/SecretBase_Shrub2/map.bin new file mode 100644 index 0000000000..8cb88cc449 --- /dev/null +++ b/data/maps/SecretBase_Shrub2/map.bin @@ -0,0 +1,57 @@ +  6 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +22   +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2  +2 +22 +2 +2 +2 +2 +2  \ No newline at end of file diff --git a/data/maps/SecretBase_Shrub3/border.bin b/data/maps/SecretBase_Shrub3/border.bin new file mode 100644 index 0000000000..064786e8c3 --- /dev/null +++ b/data/maps/SecretBase_Shrub3/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_Shrub3/header.inc b/data/maps/SecretBase_Shrub3/header.inc new file mode 100644 index 0000000000..7fb14ec944 --- /dev/null +++ b/data/maps/SecretBase_Shrub3/header.inc @@ -0,0 +1,15 @@ +SecretBase_Shrub3: @ 8484C6C + .4byte SecretBase_Shrub3_MapAttributes + .4byte SecretBase_Shrub3_MapEvents + .4byte SecretBase_Shrub3_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 214 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_Shrub3/map.bin b/data/maps/SecretBase_Shrub3/map.bin new file mode 100644 index 0000000000..d51aeea21e --- /dev/null +++ b/data/maps/SecretBase_Shrub3/map.bin @@ -0,0 +1,65 @@ +  +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2  +2 +2 +2 +2 +2 +2 +2 +2 +2 +2  +2  +2  +2   +2 +2 +2 +22 +2 6 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +22 +2 +2 +2 +2 +2   \ No newline at end of file diff --git a/data/maps/SecretBase_Shrub4/border.bin b/data/maps/SecretBase_Shrub4/border.bin new file mode 100644 index 0000000000..064786e8c3 --- /dev/null +++ b/data/maps/SecretBase_Shrub4/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_Shrub4/header.inc b/data/maps/SecretBase_Shrub4/header.inc new file mode 100644 index 0000000000..10a4d4ca41 --- /dev/null +++ b/data/maps/SecretBase_Shrub4/header.inc @@ -0,0 +1,15 @@ +SecretBase_Shrub4: @ 8484D14 + .4byte SecretBase_Shrub4_MapAttributes + .4byte SecretBase_Shrub4_MapEvents + .4byte SecretBase_Shrub4_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 220 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_Shrub4/map.bin b/data/maps/SecretBase_Shrub4/map.bin new file mode 100644 index 0000000000..8a4cf836d3 --- /dev/null +++ b/data/maps/SecretBase_Shrub4/map.bin @@ -0,0 +1,69 @@ +  +2 +2"6 +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2#6 +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2   +2 +2  +2 +2 +2   +2 +22 +2 +2   6 +2 +2 +2   +2 +2 +2 +2 +2   +2 +2 +2 +2   +2 +2 +2 +2 +2  2 +2 +2 +2   +2 +2 +2 +2 +2  +22 +2   +2 +2 +2 +2 +2   \ No newline at end of file diff --git a/data/maps/SecretBase_Tree1/border.bin b/data/maps/SecretBase_Tree1/border.bin new file mode 100644 index 0000000000..064786e8c3 --- /dev/null +++ b/data/maps/SecretBase_Tree1/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_Tree1/header.inc b/data/maps/SecretBase_Tree1/header.inc new file mode 100644 index 0000000000..157173fbb9 --- /dev/null +++ b/data/maps/SecretBase_Tree1/header.inc @@ -0,0 +1,15 @@ +SecretBase_Tree1: @ 8484B00 + .4byte SecretBase_Tree1_MapAttributes + .4byte SecretBase_Tree1_MapEvents + .4byte SecretBase_Tree1_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 201 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_Tree1/map.bin b/data/maps/SecretBase_Tree1/map.bin new file mode 100644 index 0000000000..907f1486af --- /dev/null +++ b/data/maps/SecretBase_Tree1/map.bin @@ -0,0 +1,56 @@ + +2 +22 +2 +2 +2 +2   +2 6 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +26 +2 +2 +22 +2 +2 +2   \ No newline at end of file diff --git a/data/maps/SecretBase_Tree2/border.bin b/data/maps/SecretBase_Tree2/border.bin new file mode 100644 index 0000000000..064786e8c3 --- /dev/null +++ b/data/maps/SecretBase_Tree2/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_Tree2/header.inc b/data/maps/SecretBase_Tree2/header.inc new file mode 100644 index 0000000000..6708af92bf --- /dev/null +++ b/data/maps/SecretBase_Tree2/header.inc @@ -0,0 +1,15 @@ +SecretBase_Tree2: @ 8484BA8 + .4byte SecretBase_Tree2_MapAttributes + .4byte SecretBase_Tree2_MapEvents + .4byte SecretBase_Tree2_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 207 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_Tree2/map.bin b/data/maps/SecretBase_Tree2/map.bin new file mode 100644 index 0000000000..c2e5698b0a --- /dev/null +++ b/data/maps/SecretBase_Tree2/map.bin @@ -0,0 +1,48 @@ +  +2 +22 +2   +2 +2 +2 +2   +2 +2 +2 +2   +2 +2 +2 +2 6  +2 +2 +2 +2 6   +2 +2 +2 +2 +2   +2 +2 +2 +2 +2   +2 +2 +2 +2 +2  +2 +2 +2 +2   +2 +2 +2 +2   +2 +2 +26 +26  +2  2   \ No newline at end of file diff --git a/data/maps/SecretBase_Tree3/border.bin b/data/maps/SecretBase_Tree3/border.bin new file mode 100644 index 0000000000..064786e8c3 --- /dev/null +++ b/data/maps/SecretBase_Tree3/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_Tree3/header.inc b/data/maps/SecretBase_Tree3/header.inc new file mode 100644 index 0000000000..fd0c568566 --- /dev/null +++ b/data/maps/SecretBase_Tree3/header.inc @@ -0,0 +1,15 @@ +SecretBase_Tree3: @ 8484C50 + .4byte SecretBase_Tree3_MapAttributes + .4byte SecretBase_Tree3_MapEvents + .4byte SecretBase_Tree3_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 213 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_Tree3/map.bin b/data/maps/SecretBase_Tree3/map.bin new file mode 100644 index 0000000000..b6ae04b007 --- /dev/null +++ b/data/maps/SecretBase_Tree3/map.bin @@ -0,0 +1,63 @@ +  +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 6 2 +2 +2 +2 +2 +2 +2 +2 +2 +2 6   +2 +2 +2 +2 +2   +2   +2 +2 +2 +2 +2   +2 +2 +2 +2 +2   +2   +2 +2 +2 +2 +2  +2 +2 +2 +2   +2   +2 +2 +2 +2 +2  +2 +2 +2  2  +2 +2 +2 +2   \ No newline at end of file diff --git a/data/maps/SecretBase_Tree4/border.bin b/data/maps/SecretBase_Tree4/border.bin new file mode 100644 index 0000000000..064786e8c3 --- /dev/null +++ b/data/maps/SecretBase_Tree4/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_Tree4/header.inc b/data/maps/SecretBase_Tree4/header.inc new file mode 100644 index 0000000000..c2f0b3350e --- /dev/null +++ b/data/maps/SecretBase_Tree4/header.inc @@ -0,0 +1,15 @@ +SecretBase_Tree4: @ 8484CF8 + .4byte SecretBase_Tree4_MapAttributes + .4byte SecretBase_Tree4_MapEvents + .4byte SecretBase_Tree4_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 219 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_Tree4/map.bin b/data/maps/SecretBase_Tree4/map.bin new file mode 100644 index 0000000000..b3b381d9e1 --- /dev/null +++ b/data/maps/SecretBase_Tree4/map.bin @@ -0,0 +1,77 @@ +  +2 +2 +2 +2 +2   +2 +2 +2 +2 +2   +2 +2 +2 +2 +2   +2 +2 +2 +2 +2   +2 +2 +2 +2 +2   +2 +2 +2 +2 +2   +2 +2 +2 +2 +2  +2 +2  +2 +2 +2 +2 +2 "6   +2 +2 +2 +2 #6 "6  2 #6   +2 6 +2 +2 +2 +2 +222   +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +22 +2 +26  \ No newline at end of file diff --git a/data/maps/SecretBase_YellowCave1/border.bin b/data/maps/SecretBase_YellowCave1/border.bin new file mode 100644 index 0000000000..5c0908a6aa --- /dev/null +++ b/data/maps/SecretBase_YellowCave1/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_YellowCave1/header.inc b/data/maps/SecretBase_YellowCave1/header.inc new file mode 100644 index 0000000000..77a446dbd7 --- /dev/null +++ b/data/maps/SecretBase_YellowCave1/header.inc @@ -0,0 +1,15 @@ +SecretBase_YellowCave1: @ 8484AE4 + .4byte SecretBase_YellowCave1_MapAttributes + .4byte SecretBase_YellowCave1_MapEvents + .4byte SecretBase_YellowCave1_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 200 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_YellowCave1/map.bin b/data/maps/SecretBase_YellowCave1/map.bin new file mode 100644 index 0000000000..1301e7317e --- /dev/null +++ b/data/maps/SecretBase_YellowCave1/map.bin @@ -0,0 +1,57 @@ +  +2 +22 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 6   +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +2  +2 +2 +22 +2 +2  \ No newline at end of file diff --git a/data/maps/SecretBase_YellowCave2/border.bin b/data/maps/SecretBase_YellowCave2/border.bin new file mode 100644 index 0000000000..5c0908a6aa --- /dev/null +++ b/data/maps/SecretBase_YellowCave2/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_YellowCave2/header.inc b/data/maps/SecretBase_YellowCave2/header.inc new file mode 100644 index 0000000000..ae9200fc1c --- /dev/null +++ b/data/maps/SecretBase_YellowCave2/header.inc @@ -0,0 +1,15 @@ +SecretBase_YellowCave2: @ 8484B8C + .4byte SecretBase_YellowCave2_MapAttributes + .4byte SecretBase_YellowCave2_MapEvents + .4byte SecretBase_YellowCave2_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 206 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_YellowCave2/map.bin b/data/maps/SecretBase_YellowCave2/map.bin new file mode 100644 index 0000000000..e18cb47c6b --- /dev/null +++ b/data/maps/SecretBase_YellowCave2/map.bin @@ -0,0 +1,56 @@ + 2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +26 +2   +2 +2 +2 +2 +2 +2 +2   +2  +2 +2 +2 +2 +2 +2   +2   +2 +2 +2 +2 +2 +2   +2   +2 +2 +2 +2 +2 +2 6   +2   +2 +2 +2 +2 +2 +2 +2  2   \ No newline at end of file diff --git a/data/maps/SecretBase_YellowCave3/border.bin b/data/maps/SecretBase_YellowCave3/border.bin new file mode 100644 index 0000000000..5c0908a6aa --- /dev/null +++ b/data/maps/SecretBase_YellowCave3/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_YellowCave3/header.inc b/data/maps/SecretBase_YellowCave3/header.inc new file mode 100644 index 0000000000..d637519872 --- /dev/null +++ b/data/maps/SecretBase_YellowCave3/header.inc @@ -0,0 +1,15 @@ +SecretBase_YellowCave3: @ 8484C34 + .4byte SecretBase_YellowCave3_MapAttributes + .4byte SecretBase_YellowCave3_MapEvents + .4byte SecretBase_YellowCave3_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 212 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_YellowCave3/map.bin b/data/maps/SecretBase_YellowCave3/map.bin new file mode 100644 index 0000000000..b7d80a0ab7 --- /dev/null +++ b/data/maps/SecretBase_YellowCave3/map.bin @@ -0,0 +1,63 @@ +  +2 +2 +2   +2 +2   +2 +2 +2   +2 +2   +2 +2 +2   +2 +2  +2 +2 +2   +2 +2 6 +2 +2 +22 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +266 +2 +2 +22 +2 +2 +2 +2   \ No newline at end of file diff --git a/data/maps/SecretBase_YellowCave4/border.bin b/data/maps/SecretBase_YellowCave4/border.bin new file mode 100644 index 0000000000..5c0908a6aa --- /dev/null +++ b/data/maps/SecretBase_YellowCave4/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SecretBase_YellowCave4/header.inc b/data/maps/SecretBase_YellowCave4/header.inc new file mode 100644 index 0000000000..1a5c43da5a --- /dev/null +++ b/data/maps/SecretBase_YellowCave4/header.inc @@ -0,0 +1,15 @@ +SecretBase_YellowCave4: @ 8484CDC + .4byte SecretBase_YellowCave4_MapAttributes + .4byte SecretBase_YellowCave4_MapEvents + .4byte SecretBase_YellowCave4_MapScripts + .4byte 0x0 + .2byte MUS_MACHI_S3 + .2byte 218 + .byte 86 + .byte 0 + .byte 0 + .byte 9 + .2byte 0 + .byte 12 + .byte 8 + diff --git a/data/maps/SecretBase_YellowCave4/map.bin b/data/maps/SecretBase_YellowCave4/map.bin new file mode 100644 index 0000000000..d3c3e02048 --- /dev/null +++ b/data/maps/SecretBase_YellowCave4/map.bin @@ -0,0 +1,80 @@ +  +2 +2 +2 +2 +2 +2 +2 +2"6 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2#6 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2   +2 +2   +2 +2   +2 +2  +2 +2   +2 +2 6 +2 +2 +22 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2 +2   +2 +2 +2 +2 +2 +2 +2 +2  +2 +2 +2 +2 +2 +2 +2  +2 +2 +22 +2 +2 +2   \ No newline at end of file diff --git a/data/maps/ShoalCave_HighTideEntranceRoom/border.bin b/data/maps/ShoalCave_HighTideEntranceRoom/border.bin new file mode 100644 index 0000000000..423a0732e6 --- /dev/null +++ b/data/maps/ShoalCave_HighTideEntranceRoom/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/ShoalCave_HighTideEntranceRoom/header.inc b/data/maps/ShoalCave_HighTideEntranceRoom/header.inc new file mode 100644 index 0000000000..5694fead46 --- /dev/null +++ b/data/maps/ShoalCave_HighTideEntranceRoom/header.inc @@ -0,0 +1,15 @@ +ShoalCave_HighTideEntranceRoom: @ 8484438 + .4byte ShoalCave_HighTideEntranceRoom_MapAttributes + .4byte ShoalCave_HighTideEntranceRoom_MapEvents + .4byte ShoalCave_HighTideEntranceRoom_MapScripts + .4byte 0x0 + .2byte MUS_M_DUNGON + .2byte 168 + .byte 67 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/ShoalCave_HighTideEntranceRoom/map.bin b/data/maps/ShoalCave_HighTideEntranceRoom/map.bin new file mode 100644 index 0000000000..0e4b88c8f3 --- /dev/null +++ b/data/maps/ShoalCave_HighTideEntranceRoom/map.bin @@ -0,0 +1 @@ +      2222222222222222822222222222222222|z22822222222222222222|pppppz22@QQQQQ22222pppppz222222222222|pppppz222222222222|ppppppppppppp2222222|pppppppppppppz22pppppppppppppppppppz22|pppppppppppppppppppz22|pppppppppppppppppppppppz22|pppppppppppppppppppppppz22|pppppppppppp11111111112C22]C]CUCUCUCUC^pppppp1111111111122BBBBBB|pppppp1111111111m#222BBBBB|pppppp11111222BBB2ppppppppppp11111    BBB|ppppppppppp11111BBB|pppppppppppppp111mn#  BBB|pppppppppppppp111BBB2ppppppppppppp111BBB1111111111111111111  BBB1111111111111111111   BBB1111111111111111111BBB1111111111111111111BBB#BnBnBnBnBnBnBo111111111111BBBBBBBBBB111111111111#         "111111111111111111u211111        " nnnnnXYZnnnn   "                                                                         \ No newline at end of file diff --git a/data/maps/ShoalCave_HighTideInnerRoom/border.bin b/data/maps/ShoalCave_HighTideInnerRoom/border.bin new file mode 100644 index 0000000000..423a0732e6 --- /dev/null +++ b/data/maps/ShoalCave_HighTideInnerRoom/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/ShoalCave_HighTideInnerRoom/header.inc b/data/maps/ShoalCave_HighTideInnerRoom/header.inc new file mode 100644 index 0000000000..a6fd687b2a --- /dev/null +++ b/data/maps/ShoalCave_HighTideInnerRoom/header.inc @@ -0,0 +1,15 @@ +ShoalCave_HighTideInnerRoom: @ 8484454 + .4byte ShoalCave_HighTideInnerRoom_MapAttributes + .4byte ShoalCave_HighTideInnerRoom_MapEvents + .4byte ShoalCave_HighTideInnerRoom_MapScripts + .4byte 0x0 + .2byte MUS_M_DUNGON + .2byte 169 + .byte 67 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/ShoalCave_HighTideInnerRoom/map.bin b/data/maps/ShoalCave_HighTideInnerRoom/map.bin new file mode 100644 index 0000000000..c540a4008f --- /dev/null +++ b/data/maps/ShoalCave_HighTideInnerRoom/map.bin @@ -0,0 +1 @@ +BBBBBBBBBBB22222BBBBBBBBBBB22222BBBBBBBBBBBBBBBBppppppppppppppppppppppppBBBBBBBBBBppppppppppppppppppppppppBBBBBBBBBB[32ppppppppppppppppppppppppBBB22ppp111111111111111111111RRRRR[SRBBB22ppp111111111111111111111RRRRRRBBB22pppmnRnRnRnRnRnRnRnRnRnRnRo111111112BBB2pppR[S  B B B B B B B"#R Ro11BBBpppRRBBBBBBBRR11pppppppppBBBpppppRRBBBBBBBRR11pppppppppBBBpppppRRBBBBRR11pppppppppBBBpppppBBBBRR1111111111111BBBppppp111BBBBRR1111111111111BBBpppppppBBBBRR111111mnRnRnRnRnRnR#RBBBppppppppppBBBBRR111111RRRRR[SRBBBBBBBBBBBRR111111RRRRRRRBBBBBBBBBBB111111RRRRRRRppppppppppB2111111RRRR111pppppppBBBBBB1111RRRR#RnRnRnRnRnRopppppppBBBBBBpppppRRRRRRRRRRppppp11BBBBBBpppppppppRRRRRRRpppppmn#     "pppppppppRRRRRRR1111111111   pppppppppRRRRRRR1111111111pppppppppRRRRRRR1111111111     "11111111111RRRRRRR#RnRnRnRnRnRnRnRnRnRnR#R11111111111RRRRRRRRRRRRRRRRRRR##nnnnnnnnnn1#RRRRRRRRRRRRRRRR6D22>6C22>6D22>6C222)6C2222K22`6C22`6 + `6C22`6C2222K2 \ No newline at end of file diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/border.bin b/data/maps/SlateportCity_OceanicMuseum_2F/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/SlateportCity_OceanicMuseum_2F/border.bin differ diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/header.inc b/data/maps/SlateportCity_OceanicMuseum_2F/header.inc new file mode 100644 index 0000000000..6d9439419d --- /dev/null +++ b/data/maps/SlateportCity_OceanicMuseum_2F/header.inc @@ -0,0 +1,15 @@ +SlateportCity_OceanicMuseum_2F: @ 84831BC + .4byte SlateportCity_OceanicMuseum_2F_MapAttributes + .4byte SlateportCity_OceanicMuseum_2F_MapEvents + .4byte SlateportCity_OceanicMuseum_2F_MapScripts + .4byte 0x0 + .2byte MUS_FUNE_KAN + .2byte 87 + .byte 8 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/map.bin b/data/maps/SlateportCity_OceanicMuseum_2F/map.bin new file mode 100644 index 0000000000..1fa2cdc188 --- /dev/null +++ b/data/maps/SlateportCity_OceanicMuseum_2F/map.bin @@ -0,0 +1 @@ +ac %       bd%   22M2N2N2O22222-222222222C2289@,C22225C2S2T22S2T22 22C222334C22222K2[\2[\2(C2C22E2F2F2G2K2222222222222K2C22*01,C2222222Q2R2222 22C222334C2222222YZC222(C2C222222K222222222K2222K2 \ No newline at end of file diff --git a/data/maps/SlateportCity_PokemonCenter_1F/header.inc b/data/maps/SlateportCity_PokemonCenter_1F/header.inc new file mode 100644 index 0000000000..c19ff9c4b4 --- /dev/null +++ b/data/maps/SlateportCity_PokemonCenter_1F/header.inc @@ -0,0 +1,15 @@ +SlateportCity_PokemonCenter_1F: @ 8483210 + .4byte SlateportCity_PokemonCenter_1F_MapAttributes + .4byte SlateportCity_PokemonCenter_1F_MapEvents + .4byte SlateportCity_PokemonCenter_1F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 61 + .byte 8 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SlateportCity_PokemonCenter_2F/header.inc b/data/maps/SlateportCity_PokemonCenter_2F/header.inc new file mode 100644 index 0000000000..345e8632ad --- /dev/null +++ b/data/maps/SlateportCity_PokemonCenter_2F/header.inc @@ -0,0 +1,15 @@ +SlateportCity_PokemonCenter_2F: @ 848322C + .4byte SlateportCity_PokemonCenter_2F_MapAttributes + .4byte SlateportCity_PokemonCenter_2F_MapEvents + .4byte SlateportCity_PokemonCenter_2F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 62 + .byte 8 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SlateportCity_PokemonFanClub/border.bin b/data/maps/SlateportCity_PokemonFanClub/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/SlateportCity_PokemonFanClub/border.bin differ diff --git a/data/maps/SlateportCity_PokemonFanClub/header.inc b/data/maps/SlateportCity_PokemonFanClub/header.inc new file mode 100644 index 0000000000..70d0dc41c9 --- /dev/null +++ b/data/maps/SlateportCity_PokemonFanClub/header.inc @@ -0,0 +1,15 @@ +SlateportCity_PokemonFanClub: @ 8483184 + .4byte SlateportCity_PokemonFanClub_MapAttributes + .4byte SlateportCity_PokemonFanClub_MapEvents + .4byte SlateportCity_PokemonFanClub_MapScripts + .4byte 0x0 + .2byte MUS_FINECITY + .2byte 85 + .byte 8 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SlateportCity_PokemonFanClub/map.bin b/data/maps/SlateportCity_PokemonFanClub/map.bin new file mode 100644 index 0000000000..effff66534 Binary files /dev/null and b/data/maps/SlateportCity_PokemonFanClub/map.bin differ diff --git a/data/maps/SlateportCity_SternsShipyard_1F/border.bin b/data/maps/SlateportCity_SternsShipyard_1F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/SlateportCity_SternsShipyard_1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SlateportCity_SternsShipyard_1F/header.inc b/data/maps/SlateportCity_SternsShipyard_1F/header.inc new file mode 100644 index 0000000000..f30894e605 --- /dev/null +++ b/data/maps/SlateportCity_SternsShipyard_1F/header.inc @@ -0,0 +1,15 @@ +SlateportCity_SternsShipyard_1F: @ 84830DC + .4byte SlateportCity_SternsShipyard_1F_MapAttributes + .4byte SlateportCity_SternsShipyard_1F_MapEvents + .4byte SlateportCity_SternsShipyard_1F_MapScripts + .4byte 0x0 + .2byte MUS_FINECITY + .2byte 81 + .byte 8 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SlateportCity_SternsShipyard_1F/map.bin b/data/maps/SlateportCity_SternsShipyard_1F/map.bin new file mode 100644 index 0000000000..036f5ce263 --- /dev/null +++ b/data/maps/SlateportCity_SternsShipyard_1F/map.bin @@ -0,0 +1,7 @@ +! +!012! #!$!"!!"2222 +)28292:2)22)2)2)2)2)2)2)2)2222222  2 2 2 2 2 2 2 2&2)2)2)2)22A2B22222?)2)2)2'IJ2222 +G$[\3456 )2)2)2''2222   O)2cd;<=>2)2)2)2/7A2B222)2)2k2l2CDEF)2)2)2)2)2)2IJ2222 )2)2)2)2K2LMN2)2)2)2)2)2)22222222)2)2)253)2UV)2)2)2)2)2)2)2A2B222222)2)2(2_2(2*2*253)2)2)2)2)22IJ22222)2(2_2(2(2(2_2)2)2)2'222222 +'2(2W(2(2(2W)2)2)2'''222222 +/'(2(2(2(2(2)2)2)2//7222222 +77/)2)2)2)2)2)2)2)2)2)2)2 \ No newline at end of file diff --git a/data/maps/SlateportCity_SternsShipyard_2F/border.bin b/data/maps/SlateportCity_SternsShipyard_2F/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/SlateportCity_SternsShipyard_2F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SlateportCity_SternsShipyard_2F/header.inc b/data/maps/SlateportCity_SternsShipyard_2F/header.inc new file mode 100644 index 0000000000..c409b3df78 --- /dev/null +++ b/data/maps/SlateportCity_SternsShipyard_2F/header.inc @@ -0,0 +1,15 @@ +SlateportCity_SternsShipyard_2F: @ 84830F8 + .4byte SlateportCity_SternsShipyard_2F_MapAttributes + .4byte SlateportCity_SternsShipyard_2F_MapEvents + .4byte SlateportCity_SternsShipyard_2F_MapScripts + .4byte 0x0 + .2byte MUS_FINECITY + .2byte 82 + .byte 8 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SlateportCity_SternsShipyard_2F/map.bin b/data/maps/SlateportCity_SternsShipyard_2F/map.bin new file mode 100644 index 0000000000..d10ed2ac2f --- /dev/null +++ b/data/maps/SlateportCity_SternsShipyard_2F/map.bin @@ -0,0 +1 @@ +!!!$#! !!$! !!22222222222222222222222222  22  22@2B2A2B2222222222HJIJ2222PQQQQQQR222222222`cd;<=>2A2B2@2B22222`klCDEF2IJHJ2222`))KLMN222222222`)5)UV)2A2B2@2B22222`(W2(**52IJHJ222`(W2(((W2222222222hiiiij222222222222%2%2222222222222222222222 \ No newline at end of file diff --git a/data/maps/SootopolisCity/border.bin b/data/maps/SootopolisCity/border.bin new file mode 100644 index 0000000000..c07869a9fb --- /dev/null +++ b/data/maps/SootopolisCity/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SootopolisCity/connections.inc b/data/maps/SootopolisCity/connections.inc new file mode 100644 index 0000000000..230f56b2ef --- /dev/null +++ b/data/maps/SootopolisCity/connections.inc @@ -0,0 +1,6 @@ +SootopolisCity_MapConnectionsList:: @ 84867F0 + @ empty + +SootopolisCity_MapConnections:: @ 84867F0 + .4byte 0 + .4byte SootopolisCity_MapConnectionsList diff --git a/data/maps/SootopolisCity/header.inc b/data/maps/SootopolisCity/header.inc new file mode 100644 index 0000000000..cb8f65244b --- /dev/null +++ b/data/maps/SootopolisCity/header.inc @@ -0,0 +1,15 @@ +SootopolisCity: @ 848257C + .4byte SootopolisCity_MapAttributes + .4byte SootopolisCity_MapEvents + .4byte SootopolisCity_MapScripts + .4byte 0x0 + .2byte MUS_RUNECITY + .2byte 8 + .byte 14 + .byte 0 + .byte 2 + .byte 2 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/SootopolisCity/map.bin b/data/maps/SootopolisCity/map.bin new file mode 100644 index 0000000000..ff03ebc3b8 --- /dev/null +++ b/data/maps/SootopolisCity/map.bin @@ -0,0 +1,12 @@ +222922222922222229KLM929222222  +  222222222  + 2222  + 22%7'222222KLM2222  +   + U22-?/22@AAAB Z2222#$_222222 222222222222222222 22KLM22+,_22D2E2222222222222222222222@AAAAAAAB2 @AAF2G\22222222222@AF22GAAAB22D222%6'2bD2c22222222222bD2E2c2222922->/22D2222222222222D2AAAAAB22222222222D2E2D2  + D2E2D2E222222222222222222222D2E226222222 222822D2E22222222222229222222222222222222@AF22GAAAAAAAAB2222222222T  + B22222222bD2E2cQR[RS22TA  + 222228222222;2222^#$222D2E2222222 !2"2^2#$22222222^+,222D2E222222()2)2)2*222^2+,2222  +   + KLM^22222222222n22o0q0q0q022222^22222D2E2 2 ^22222222222bD2E2cq06q06q022^2222D2E2%7'2%7']AAAB2222D2q0q0q0q0q0q06q06q0q0q0^222222222-?/2AAB-?/2D2E222D2q0q0q0q0q0q0q0q0q0q0q0q0q0q0]AB222222222222222222222q0q0q0q0q0q0q0q0q0q0q0q0q0q0D2E2KLM22222KLMD2E2222q0q0t||||||||||TB222 2222222KL22TYZB22D2E2ty}s^2222222222222 22^22222q0q0t}yyyyyyyy{y^222222222%6'22^222k6l6l6m6q0q0uyyyyyyyyyys^2222222 22222->/22^2222220123q0q0uyyyyyyyyyyyyys]AAB22222222AAAAB]AAAAB89:;q0q0uyyyyyyys{|}~2222222222ABwq0q0uyyyyysTPQRS2222D22222222222222q0q0uyyyyys^XYZ[222222222222222222222222222q0q0uyyyyys^abvD2E222222KLM22222D2E2q0q0q0uy01110yys^22222222222222TYZB2222q0q0q0q0q0q0uy000000010yys^22222222222922222^2222q0q0q0q0q0q0t}y00000010yys]B22@AF22 22222^2222q0tD2E2yzy00000000yysD2E2N22  + 2222^2222222q0r0000yy00000000yy{yyyD2E2N222]B2222q0r0000yyyy04000pN222222222tyyz0yyyyyyyyyyyyyyy00000pV@AAAAAAB2qtyyz0000yyyyyyyyyyyyyyyyyyyy00000p2qqr0000000yyyyyyyyyyyyyyyyyyyy000xyyyyqqq2qqr0000000yyyyyyyyyyyyyyyyyyyyyy00000000x2qqr000000000yyyyyyyyyyyyyyyyyyyyyy000000000pq2qqr000000000yyyyyyyyyyyyyyyyyyyyyy000011pq2qqr00000001100yyyyyyyyyyyyyyyyyyyyyyyyy0000pqq2qr000000000yyyyyyyyyyyyyyyyyyyyyyyyy0000pqqiiij000yyyyyyyyyyyyyyyyyyyyyyyyypqqij0yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyypr0yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy`ii0i0i00iijyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqqqqqryyyyyyyyyyyyyyyyyyyyyyyyiiiiiiqryyyyyyyyyyyyyyyyyyyyyyyyqqqqqqqryyyyyyyyyyyyyyyiiiiqqqqryyyyyyyyyyyqqqqqqqryyyyyyyyyqqqqqiiiiyyiiqqqqqqiiiiiiiiiiiiiiiiiqqqqqqqqqqqqqqqqqqqqqqqqq \ No newline at end of file diff --git a/data/maps/SootopolisCity_Gym_1F/border.bin b/data/maps/SootopolisCity_Gym_1F/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/SootopolisCity_Gym_1F/border.bin differ diff --git a/data/maps/SootopolisCity_Gym_1F/header.inc b/data/maps/SootopolisCity_Gym_1F/header.inc new file mode 100644 index 0000000000..b17a271d8d --- /dev/null +++ b/data/maps/SootopolisCity_Gym_1F/header.inc @@ -0,0 +1,15 @@ +SootopolisCity_Gym_1F: @ 8483A28 + .4byte SootopolisCity_Gym_1F_MapAttributes + .4byte SootopolisCity_Gym_1F_MapEvents + .4byte SootopolisCity_Gym_1F_MapScripts + .4byte 0x0 + .2byte MUS_GIM + .2byte 109 + .byte 14 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/SootopolisCity_Gym_1F/map.bin b/data/maps/SootopolisCity_Gym_1F/map.bin new file mode 100644 index 0000000000..dd52448c9e Binary files /dev/null and b/data/maps/SootopolisCity_Gym_1F/map.bin differ diff --git a/data/maps/SootopolisCity_Gym_B1F/border.bin b/data/maps/SootopolisCity_Gym_B1F/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/SootopolisCity_Gym_B1F/border.bin differ diff --git a/data/maps/SootopolisCity_Gym_B1F/header.inc b/data/maps/SootopolisCity_Gym_B1F/header.inc new file mode 100644 index 0000000000..5473a347b0 --- /dev/null +++ b/data/maps/SootopolisCity_Gym_B1F/header.inc @@ -0,0 +1,15 @@ +SootopolisCity_Gym_B1F: @ 8483A44 + .4byte SootopolisCity_Gym_B1F_MapAttributes + .4byte SootopolisCity_Gym_B1F_MapEvents + .4byte SootopolisCity_Gym_B1F_MapScripts + .4byte 0x0 + .2byte MUS_GIM + .2byte 110 + .byte 14 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 1 + diff --git a/data/maps/SootopolisCity_Gym_B1F/map.bin b/data/maps/SootopolisCity_Gym_B1F/map.bin new file mode 100644 index 0000000000..58410408fa --- /dev/null +++ b/data/maps/SootopolisCity_Gym_B1F/map.bin @@ -0,0 +1 @@ +%&&&&&&&&&&&&&&&'-%             '/-]2222222222222^/-]2222222222222^/-]2222222222222^/5]2222222222222^7&57&..-%        '/..-]222222222^/-]222222222^/&&5]222222222^7&&&&&5=7&&&....-.%  './....-]222^/&&&&5]222^7&&&&&&&&&&]222^&&&&&&...%&&&&&&'...-%      '/-]222222^/-]2222222^/-]2222222^/-]2222222^/ \ No newline at end of file diff --git a/data/maps/SootopolisCity_House1/border.bin b/data/maps/SootopolisCity_House1/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/SootopolisCity_House1/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SootopolisCity_House1/header.inc b/data/maps/SootopolisCity_House1/header.inc new file mode 100644 index 0000000000..8359334d0f --- /dev/null +++ b/data/maps/SootopolisCity_House1/header.inc @@ -0,0 +1,15 @@ +SootopolisCity_House1: @ 8483AB4 + .4byte SootopolisCity_House1_MapAttributes + .4byte SootopolisCity_House1_MapEvents + .4byte SootopolisCity_House1_MapScripts + .4byte 0x0 + .2byte MUS_RUNECITY + .2byte 307 + .byte 14 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SootopolisCity_House1/map.bin b/data/maps/SootopolisCity_House1/map.bin new file mode 100644 index 0000000000..43f11b194e --- /dev/null +++ b/data/maps/SootopolisCity_House1/map.bin @@ -0,0 +1 @@ +023333332332772333327723333333333333 333 \ No newline at end of file diff --git a/data/maps/SootopolisCity_House2/border.bin b/data/maps/SootopolisCity_House2/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/SootopolisCity_House2/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SootopolisCity_House2/header.inc b/data/maps/SootopolisCity_House2/header.inc new file mode 100644 index 0000000000..3cd04937a9 --- /dev/null +++ b/data/maps/SootopolisCity_House2/header.inc @@ -0,0 +1,15 @@ +SootopolisCity_House2: @ 8483AD0 + .4byte SootopolisCity_House2_MapAttributes + .4byte SootopolisCity_House2_MapEvents + .4byte SootopolisCity_House2_MapScripts + .4byte 0x0 + .2byte MUS_RUNECITY + .2byte 308 + .byte 14 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SootopolisCity_House2/map.bin b/data/maps/SootopolisCity_House2/map.bin new file mode 100644 index 0000000000..632e1e36aa --- /dev/null +++ b/data/maps/SootopolisCity_House2/map.bin @@ -0,0 +1 @@ +vw62223336333277233333772333333333333 333 \ No newline at end of file diff --git a/data/maps/SootopolisCity_House3/border.bin b/data/maps/SootopolisCity_House3/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/SootopolisCity_House3/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SootopolisCity_House3/header.inc b/data/maps/SootopolisCity_House3/header.inc new file mode 100644 index 0000000000..c3ee80da09 --- /dev/null +++ b/data/maps/SootopolisCity_House3/header.inc @@ -0,0 +1,15 @@ +SootopolisCity_House3: @ 8483AEC + .4byte SootopolisCity_House3_MapAttributes + .4byte SootopolisCity_House3_MapEvents + .4byte SootopolisCity_House3_MapScripts + .4byte 0x0 + .2byte MUS_RUNECITY + .2byte 309 + .byte 14 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SootopolisCity_House3/map.bin b/data/maps/SootopolisCity_House3/map.bin new file mode 100644 index 0000000000..8bbd6c517e --- /dev/null +++ b/data/maps/SootopolisCity_House3/map.bin @@ -0,0 +1 @@ +62233322333333337723333377333333333 333 \ No newline at end of file diff --git a/data/maps/SootopolisCity_House4/header.inc b/data/maps/SootopolisCity_House4/header.inc new file mode 100644 index 0000000000..9d610b9a1c --- /dev/null +++ b/data/maps/SootopolisCity_House4/header.inc @@ -0,0 +1,15 @@ +SootopolisCity_House4: @ 8483B08 + .4byte SootopolisCity_House4_MapAttributes + .4byte SootopolisCity_House4_MapEvents + .4byte SootopolisCity_House4_MapScripts + .4byte 0x0 + .2byte MUS_RUNECITY + .2byte 307 + .byte 14 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SootopolisCity_House5/header.inc b/data/maps/SootopolisCity_House5/header.inc new file mode 100644 index 0000000000..29157d4df8 --- /dev/null +++ b/data/maps/SootopolisCity_House5/header.inc @@ -0,0 +1,15 @@ +SootopolisCity_House5: @ 8483B24 + .4byte SootopolisCity_House5_MapAttributes + .4byte SootopolisCity_House5_MapEvents + .4byte SootopolisCity_House5_MapScripts + .4byte 0x0 + .2byte MUS_RUNECITY + .2byte 308 + .byte 14 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SootopolisCity_House6/header.inc b/data/maps/SootopolisCity_House6/header.inc new file mode 100644 index 0000000000..c05d23e64a --- /dev/null +++ b/data/maps/SootopolisCity_House6/header.inc @@ -0,0 +1,15 @@ +SootopolisCity_House6: @ 8483B40 + .4byte SootopolisCity_House6_MapAttributes + .4byte SootopolisCity_House6_MapEvents + .4byte SootopolisCity_House6_MapScripts + .4byte 0x0 + .2byte MUS_RUNECITY + .2byte 309 + .byte 14 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SootopolisCity_House7/header.inc b/data/maps/SootopolisCity_House7/header.inc new file mode 100644 index 0000000000..3f02bdcc54 --- /dev/null +++ b/data/maps/SootopolisCity_House7/header.inc @@ -0,0 +1,15 @@ +SootopolisCity_House7: @ 8483B5C + .4byte SootopolisCity_House7_MapAttributes + .4byte SootopolisCity_House7_MapEvents + .4byte SootopolisCity_House7_MapScripts + .4byte 0x0 + .2byte MUS_RUNECITY + .2byte 307 + .byte 14 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SootopolisCity_LotadAndSeedotHouse/border.bin b/data/maps/SootopolisCity_LotadAndSeedotHouse/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/SootopolisCity_LotadAndSeedotHouse/border.bin differ diff --git a/data/maps/SootopolisCity_LotadAndSeedotHouse/header.inc b/data/maps/SootopolisCity_LotadAndSeedotHouse/header.inc new file mode 100644 index 0000000000..0ceade1786 --- /dev/null +++ b/data/maps/SootopolisCity_LotadAndSeedotHouse/header.inc @@ -0,0 +1,15 @@ +SootopolisCity_LotadAndSeedotHouse: @ 8483B78 + .4byte SootopolisCity_LotadAndSeedotHouse_MapAttributes + .4byte SootopolisCity_LotadAndSeedotHouse_MapEvents + .4byte SootopolisCity_LotadAndSeedotHouse_MapScripts + .4byte 0x0 + .2byte MUS_RUNECITY + .2byte 297 + .byte 14 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SootopolisCity_LotadAndSeedotHouse/map.bin b/data/maps/SootopolisCity_LotadAndSeedotHouse/map.bin new file mode 100644 index 0000000000..ffeea7269e --- /dev/null +++ b/data/maps/SootopolisCity_LotadAndSeedotHouse/map.bin @@ -0,0 +1 @@ +XX``22333366333773333327723333333333333 333 \ No newline at end of file diff --git a/data/maps/SootopolisCity_Mart/header.inc b/data/maps/SootopolisCity_Mart/header.inc new file mode 100644 index 0000000000..3b4aaa171f --- /dev/null +++ b/data/maps/SootopolisCity_Mart/header.inc @@ -0,0 +1,15 @@ +SootopolisCity_Mart: @ 8483A98 + .4byte SootopolisCity_Mart_MapAttributes + .4byte SootopolisCity_Mart_MapEvents + .4byte SootopolisCity_Mart_MapScripts + .4byte 0x0 + .2byte MUS_FRIENDLY + .2byte 63 + .byte 14 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/border.bin b/data/maps/SootopolisCity_MysteryEventsHouse_1F/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/SootopolisCity_MysteryEventsHouse_1F/border.bin differ diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/header.inc b/data/maps/SootopolisCity_MysteryEventsHouse_1F/header.inc new file mode 100644 index 0000000000..72e09b8137 --- /dev/null +++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/header.inc @@ -0,0 +1,15 @@ +SootopolisCity_MysteryEventsHouse_1F: @ 8483B94 + .4byte SootopolisCity_MysteryEventsHouse_1F_MapAttributes + .4byte SootopolisCity_MysteryEventsHouse_1F_MapEvents + .4byte SootopolisCity_MysteryEventsHouse_1F_MapScripts + .4byte 0x0 + .2byte MUS_RUNECITY + .2byte 439 + .byte 14 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.bin b/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.bin new file mode 100644 index 0000000000..a9b17a7461 --- /dev/null +++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.bin @@ -0,0 +1 @@ +89:' @AB /6666-7$%655555555556555555655555565555555555655 555555 \ No newline at end of file diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/border.bin b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/border.bin differ diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/header.inc b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/header.inc new file mode 100644 index 0000000000..d4497b3e9a --- /dev/null +++ b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/header.inc @@ -0,0 +1,15 @@ +SootopolisCity_MysteryEventsHouse_B1F: @ 8483BB0 + .4byte SootopolisCity_MysteryEventsHouse_B1F_MapAttributes + .4byte SootopolisCity_MysteryEventsHouse_B1F_MapEvents + .4byte SootopolisCity_MysteryEventsHouse_B1F_MapScripts + .4byte 0x0 + .2byte MUS_RUNECITY + .2byte 440 + .byte 14 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/map.bin b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/map.bin new file mode 100644 index 0000000000..558e1584e4 --- /dev/null +++ b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/map.bin @@ -0,0 +1,2 @@ +  +        6666666666655555555555655 !!!!"555655())))*5556550111125555555555555#5555555555 \ No newline at end of file diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/header.inc b/data/maps/SootopolisCity_PokemonCenter_1F/header.inc new file mode 100644 index 0000000000..28fdf23bd7 --- /dev/null +++ b/data/maps/SootopolisCity_PokemonCenter_1F/header.inc @@ -0,0 +1,15 @@ +SootopolisCity_PokemonCenter_1F: @ 8483A60 + .4byte SootopolisCity_PokemonCenter_1F_MapAttributes + .4byte SootopolisCity_PokemonCenter_1F_MapEvents + .4byte SootopolisCity_PokemonCenter_1F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 61 + .byte 14 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SootopolisCity_PokemonCenter_2F/header.inc b/data/maps/SootopolisCity_PokemonCenter_2F/header.inc new file mode 100644 index 0000000000..97000d2b72 --- /dev/null +++ b/data/maps/SootopolisCity_PokemonCenter_2F/header.inc @@ -0,0 +1,15 @@ +SootopolisCity_PokemonCenter_2F: @ 8483A7C + .4byte SootopolisCity_PokemonCenter_2F_MapAttributes + .4byte SootopolisCity_PokemonCenter_2F_MapEvents + .4byte SootopolisCity_PokemonCenter_2F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 62 + .byte 14 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/SouthernIsland_Exterior/border.bin b/data/maps/SouthernIsland_Exterior/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/SouthernIsland_Exterior/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/SouthernIsland_Exterior/header.inc b/data/maps/SouthernIsland_Exterior/header.inc new file mode 100644 index 0000000000..700a6cf000 --- /dev/null +++ b/data/maps/SouthernIsland_Exterior/header.inc @@ -0,0 +1,15 @@ +SouthernIsland_Exterior: @ 8485238 + .4byte SouthernIsland_Exterior_MapAttributes + .4byte SouthernIsland_Exterior_MapEvents + .4byte SouthernIsland_Exterior_MapScripts + .4byte 0x0 + .2byte MUS_DAN02 + .2byte 290 + .byte 73 + .byte 0 + .byte 0 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/SouthernIsland_Exterior/map.bin b/data/maps/SouthernIsland_Exterior/map.bin new file mode 100644 index 0000000000..8c2c2df4ac --- /dev/null +++ b/data/maps/SouthernIsland_Exterior/map.bin @@ -0,0 +1 @@ +qss444444444444444444444440uuuuqss444444444444444444444444t}uuuqss444444444444444444444444uquuuqss444444444444444444444444uquuuqss444444444447744444444444ut}uuqss444444444443344444444444uuquuss04444444444334444444444t}ut}uss{|444444440004444444444uquut}s{qs444444440000440000004ut}uu{sqs444444440000000444000uuquups{s044444444000004444400uuquups{s{64444444400044444t00zuquup{s{44p0444444444t6666z000ut}upssq{|{||444444tz4444t00yzuqupssqqq{44{666|||}tyyyyz0000ut}ps{|||44x444tz0000000t|}upsqqqq{||xyyyz0000000000t}qt}pp{||qqqqs0000000000t||||}t|}pp{||q{|||||00|||}t}pppppp{|]^0^0_}ppppppppppp]^0^0_ppppppppppppppppppppUV0V0V02^0^0_qpppppppppppppppppppppppp]^0^0^0^0^0^0_qppppppppppppppppppppppppSTTV3W3TTUqpppppppppppppppppppppppp[\\\\\\]qppppppppppppppppppppppppqqqqqqqqqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp \ No newline at end of file diff --git a/data/maps/SouthernIsland_Interior/border.bin b/data/maps/SouthernIsland_Interior/border.bin new file mode 100644 index 0000000000..03bcafef11 --- /dev/null +++ b/data/maps/SouthernIsland_Interior/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/SouthernIsland_Interior/header.inc b/data/maps/SouthernIsland_Interior/header.inc new file mode 100644 index 0000000000..a7b9f14a09 --- /dev/null +++ b/data/maps/SouthernIsland_Interior/header.inc @@ -0,0 +1,15 @@ +SouthernIsland_Interior: @ 8485254 + .4byte SouthernIsland_Interior_MapAttributes + .4byte SouthernIsland_Interior_MapEvents + .4byte SouthernIsland_Interior_MapScripts + .4byte 0x0 + .2byte MUS_DAN02 + .2byte 291 + .byte 73 + .byte 0 + .byte 11 + .byte 3 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/SouthernIsland_Interior/map.bin b/data/maps/SouthernIsland_Interior/map.bin new file mode 100644 index 0000000000..db1e4b153f --- /dev/null +++ b/data/maps/SouthernIsland_Interior/map.bin @@ -0,0 +1 @@ +000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000011000000000000001111001112211 \ No newline at end of file diff --git a/data/maps/TerraCave_End/border.bin b/data/maps/TerraCave_End/border.bin new file mode 100644 index 0000000000..f0eabd248c --- /dev/null +++ b/data/maps/TerraCave_End/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/TerraCave_End/header.inc b/data/maps/TerraCave_End/header.inc new file mode 100644 index 0000000000..419388afa2 --- /dev/null +++ b/data/maps/TerraCave_End/header.inc @@ -0,0 +1,15 @@ +TerraCave_End: @ 8484A3C + .4byte TerraCave_End_MapAttributes + .4byte TerraCave_End_MapEvents + .4byte TerraCave_End_MapScripts + .4byte 0x0 + .2byte MUS_DAN01 + .2byte 409 + .byte 205 + .byte 0 + .byte 6 + .byte 4 + .2byte 0 + .byte 14 + .byte 0 + diff --git a/data/maps/TerraCave_End/map.bin b/data/maps/TerraCave_End/map.bin new file mode 100644 index 0000000000..93121190d1 --- /dev/null +++ b/data/maps/TerraCave_End/map.bin @@ -0,0 +1,9 @@ +  + 222 + + 222 +  222222222222 + 2222222 + 2222222 +  22222222222222 +  222222  " 2222222222 22222222   # 222222  #       " 22222 ## 22222 2222 ## 2222efg 222 #esdrfg 222efsdd_drfg 222qdd__d_ddp 222qd_d____dp 2222es_d__d_d_p 2222qdd___d_ddp 2222#2#2bdd_d_d_dp 222222#2b_d_d_`a3a3#2 2222222222#2a3a3a3a3a3#2            "2222222222  \ No newline at end of file diff --git a/data/maps/TerraCave_Entrance/border.bin b/data/maps/TerraCave_Entrance/border.bin new file mode 100644 index 0000000000..f0eabd248c --- /dev/null +++ b/data/maps/TerraCave_Entrance/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/TerraCave_Entrance/header.inc b/data/maps/TerraCave_Entrance/header.inc new file mode 100644 index 0000000000..f0e4df143f --- /dev/null +++ b/data/maps/TerraCave_Entrance/header.inc @@ -0,0 +1,15 @@ +TerraCave_Entrance: @ 8484A20 + .4byte TerraCave_Entrance_MapAttributes + .4byte TerraCave_Entrance_MapEvents + .4byte TerraCave_Entrance_MapScripts + .4byte 0x0 + .2byte MUS_DAN01 + .2byte 408 + .byte 205 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/TerraCave_Entrance/map.bin b/data/maps/TerraCave_Entrance/map.bin new file mode 100644 index 0000000000..a8108c2ca4 --- /dev/null +++ b/data/maps/TerraCave_Entrance/map.bin @@ -0,0 +1,33 @@ +  3 +  222 + +  222222 + + 222 + +  2222 + 2 + + 2222 + 2 + +  222222 + 2 + + 22 2 + +  222 + +  22 + 22222 + +   2222 +22222 + +   2222 +222222 +   222222222 +   2222222222 + 222 +   2222222222222 + 2222222222222 2222222 222  \ No newline at end of file diff --git a/data/maps/TradeCenter/border.bin b/data/maps/TradeCenter/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/TradeCenter/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/TradeCenter/header.inc b/data/maps/TradeCenter/header.inc new file mode 100644 index 0000000000..757b3f0a47 --- /dev/null +++ b/data/maps/TradeCenter/header.inc @@ -0,0 +1,15 @@ +TradeCenter: @ 8484D4C + .4byte TradeCenter_MapAttributes + .4byte TradeCenter_MapEvents + .4byte TradeCenter_MapScripts + .4byte 0x0 + .2byte MUS_RAINBOW + .2byte 222 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/TradeCenter/map.bin b/data/maps/TradeCenter/map.bin new file mode 100644 index 0000000000..7e592dbe69 --- /dev/null +++ b/data/maps/TradeCenter/map.bin @@ -0,0 +1,2 @@ +017456742389?<=  >?<:;@AGDE((FGDBCHI2.2222222.2J2KP22 +2 2 2 22222SPQ2+22222+2R2SP2222222222SXY222#2$2%2&222Z2[,2-2 \ No newline at end of file diff --git a/data/maps/TrainerHill_1F/border.bin b/data/maps/TrainerHill_1F/border.bin new file mode 100644 index 0000000000..064786e8c3 --- /dev/null +++ b/data/maps/TrainerHill_1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/TrainerHill_1F/header.inc b/data/maps/TrainerHill_1F/header.inc new file mode 100644 index 0000000000..7c6a4ea0e1 --- /dev/null +++ b/data/maps/TrainerHill_1F/header.inc @@ -0,0 +1,15 @@ +TrainerHill_1F: @ 84857E8 + .4byte TrainerHill_1F_MapAttributes + .4byte TrainerHill_1F_MapEvents + .4byte TrainerHill_1F_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 415 + .byte 212 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 4 + .byte 0 + diff --git a/data/maps/TrainerHill_1F/map.bin b/data/maps/TrainerHill_1F/map.bin new file mode 100644 index 0000000000..d72e84a5c4 --- /dev/null +++ b/data/maps/TrainerHill_1F/map.bin @@ -0,0 +1,2 @@ +'  2/(282929292/(8292929212;2;2;2 +12;2;2;212;2;2;2       12;2;2;212;2;2;292928292:2;2;2;212;2;2;2;2;2929292:2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;2 \ No newline at end of file diff --git a/data/maps/TrainerHill_2F/border.bin b/data/maps/TrainerHill_2F/border.bin new file mode 100644 index 0000000000..064786e8c3 --- /dev/null +++ b/data/maps/TrainerHill_2F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/TrainerHill_2F/header.inc b/data/maps/TrainerHill_2F/header.inc new file mode 100644 index 0000000000..d9a6d62040 --- /dev/null +++ b/data/maps/TrainerHill_2F/header.inc @@ -0,0 +1,15 @@ +TrainerHill_2F: @ 8485804 + .4byte TrainerHill_2F_MapAttributes + .4byte TrainerHill_2F_MapEvents + .4byte TrainerHill_2F_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 416 + .byte 212 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 4 + .byte 0 + diff --git a/data/maps/TrainerHill_2F/map.bin b/data/maps/TrainerHill_2F/map.bin new file mode 100644 index 0000000000..8b78fd0b42 --- /dev/null +++ b/data/maps/TrainerHill_2F/map.bin @@ -0,0 +1,2 @@ +'  2/(282929292/(8292929212;2;2;2 +12;2;2;212;2;2;2      12;2;2;212;2;2;292928292:2;2;2;212;2;2;2;2;2929292:2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;2 \ No newline at end of file diff --git a/data/maps/TrainerHill_3F/border.bin b/data/maps/TrainerHill_3F/border.bin new file mode 100644 index 0000000000..064786e8c3 --- /dev/null +++ b/data/maps/TrainerHill_3F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/TrainerHill_3F/header.inc b/data/maps/TrainerHill_3F/header.inc new file mode 100644 index 0000000000..c88a11d6df --- /dev/null +++ b/data/maps/TrainerHill_3F/header.inc @@ -0,0 +1,15 @@ +TrainerHill_3F: @ 8485820 + .4byte TrainerHill_3F_MapAttributes + .4byte TrainerHill_3F_MapEvents + .4byte TrainerHill_3F_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 417 + .byte 212 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 4 + .byte 0 + diff --git a/data/maps/TrainerHill_3F/map.bin b/data/maps/TrainerHill_3F/map.bin new file mode 100644 index 0000000000..5280752f4a --- /dev/null +++ b/data/maps/TrainerHill_3F/map.bin @@ -0,0 +1,2 @@ +'  2/(282929292/(8292929212;2;2;2 +12;2;2;212;2;2;2      12;2;2;212;2;2;292928292:2;2;2;212;2;2;2;2;2929292:2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;2 \ No newline at end of file diff --git a/data/maps/TrainerHill_4F/border.bin b/data/maps/TrainerHill_4F/border.bin new file mode 100644 index 0000000000..064786e8c3 --- /dev/null +++ b/data/maps/TrainerHill_4F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/TrainerHill_4F/header.inc b/data/maps/TrainerHill_4F/header.inc new file mode 100644 index 0000000000..6122362b62 --- /dev/null +++ b/data/maps/TrainerHill_4F/header.inc @@ -0,0 +1,15 @@ +TrainerHill_4F: @ 848583C + .4byte TrainerHill_4F_MapAttributes + .4byte TrainerHill_4F_MapEvents + .4byte TrainerHill_4F_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 418 + .byte 212 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 4 + .byte 0 + diff --git a/data/maps/TrainerHill_4F/map.bin b/data/maps/TrainerHill_4F/map.bin new file mode 100644 index 0000000000..3a285b7f8f --- /dev/null +++ b/data/maps/TrainerHill_4F/map.bin @@ -0,0 +1,2 @@ +'  2/(282929292/(8292929212;2;2;2 +12;2;2;212;2;2;2      12;2;2;212;2;2;292928292:2;2;2;212;2;2;2;2;2929292:2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;2 \ No newline at end of file diff --git a/data/maps/TrainerHill_Elevator/header.inc b/data/maps/TrainerHill_Elevator/header.inc new file mode 100644 index 0000000000..9d1227640b --- /dev/null +++ b/data/maps/TrainerHill_Elevator/header.inc @@ -0,0 +1,15 @@ +TrainerHill_Elevator: @ 8485ADC + .4byte TrainerHill_Elevator_MapAttributes + .4byte TrainerHill_Elevator_MapEvents + .4byte TrainerHill_Elevator_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 266 + .byte 212 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/TrainerHill_Entrance/border.bin b/data/maps/TrainerHill_Entrance/border.bin new file mode 100644 index 0000000000..064786e8c3 --- /dev/null +++ b/data/maps/TrainerHill_Entrance/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/TrainerHill_Entrance/header.inc b/data/maps/TrainerHill_Entrance/header.inc new file mode 100644 index 0000000000..eae0676dae --- /dev/null +++ b/data/maps/TrainerHill_Entrance/header.inc @@ -0,0 +1,15 @@ +TrainerHill_Entrance: @ 84857CC + .4byte TrainerHill_Entrance_MapAttributes + .4byte TrainerHill_Entrance_MapEvents + .4byte TrainerHill_Entrance_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 414 + .byte 212 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 4 + .byte 0 + diff --git a/data/maps/TrainerHill_Entrance/map.bin b/data/maps/TrainerHill_Entrance/map.bin new file mode 100644 index 0000000000..fc00c0a5f4 --- /dev/null +++ b/data/maps/TrainerHill_Entrance/map.bin @@ -0,0 +1,2 @@ + !:;7<!'()BC3D)/(8335333/(O3N313M3L3/(K73J/(937393/(7373R73/&!!!ST"P373Q3*!!!#$%UV73)))+,-.   33I73H33 33533A3534 +393353353353@3130353353353353373031303130313031303130313031303130313631303130313031303130313031303130313037333313031303130313031303133331363   0313031303130313031303   03730313031303130313000313031303130313 \ No newline at end of file diff --git a/data/maps/TrainerHill_Roof/border.bin b/data/maps/TrainerHill_Roof/border.bin new file mode 100644 index 0000000000..064786e8c3 --- /dev/null +++ b/data/maps/TrainerHill_Roof/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/TrainerHill_Roof/header.inc b/data/maps/TrainerHill_Roof/header.inc new file mode 100644 index 0000000000..3754fc21a3 --- /dev/null +++ b/data/maps/TrainerHill_Roof/header.inc @@ -0,0 +1,15 @@ +TrainerHill_Roof: @ 8485858 + .4byte TrainerHill_Roof_MapAttributes + .4byte TrainerHill_Roof_MapEvents + .4byte TrainerHill_Roof_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 419 + .byte 212 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 4 + .byte 0 + diff --git a/data/maps/TrainerHill_Roof/map.bin b/data/maps/TrainerHill_Roof/map.bin new file mode 100644 index 0000000000..815ec1067d --- /dev/null +++ b/data/maps/TrainerHill_Roof/map.bin @@ -0,0 +1 @@ +XYajjZggd\]`ajjjZgggdehijjjZggglmggggggpqrijZglstuggggggkkkkkkxyz^_bvw{|}kkkkkkkkkkkkk33fg[~k3kkkkkkkkkkk3k3k3n3oc3k3k3k3kkkkkkkkk3k3k3k3k3k3k3k3k3k3k3kkkkkkkkkkk3k3k3k3k3k3k3k3k3k3k3kkkkkkkkkkkkk3k3k3k3k3k3k3k3k3k3k3kkkkkk3k33333333k33kW \ No newline at end of file diff --git a/data/maps/Underwater1/border.bin b/data/maps/Underwater1/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/Underwater1/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Underwater1/connections.inc b/data/maps/Underwater1/connections.inc new file mode 100644 index 0000000000..6215c5e88a --- /dev/null +++ b/data/maps/Underwater1/connections.inc @@ -0,0 +1,8 @@ +Underwater1_MapConnectionsList: @ 8486D38 + connection down, 0, UNDERWATER_2, 0 + connection emerge, 0, ROUTE_124, 0 + +Underwater1_MapConnections: @ 8486D50 + .4byte 0x2 + .4byte Underwater1_MapConnectionsList + diff --git a/data/maps/Underwater1/header.inc b/data/maps/Underwater1/header.inc new file mode 100644 index 0000000000..2c7de84773 --- /dev/null +++ b/data/maps/Underwater1/header.inc @@ -0,0 +1,15 @@ +Underwater1: @ 8482A30 + .4byte Underwater1_MapAttributes + .4byte Underwater1_MapEvents + .4byte Underwater1_MapScripts + .4byte Underwater1_MapConnections + .2byte MUS_DEEPDEEP + .2byte 274 + .byte 50 + .byte 0 + .byte 14 + .byte 5 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Underwater1/map.bin b/data/maps/Underwater1/map.bin new file mode 100644 index 0000000000..230e3dcd29 --- /dev/null +++ b/data/maps/Underwater1/map.bin @@ -0,0 +1,17 @@ +2222222222222222222222222222222222222222222222222222222222222222222222# 22 +"##~222222222222222222222222222222222#  "#####~22222222222}####### 22 +||~22###~22222222#  "22######~2222222222222222222222222222222222222222222222222222}|||| 22 +"22222222222#  "22222222222222222222222222222222222222222222222222#|~222222222222222222#~2222#||~2222222222222222222#|||||||||||~222#~22222#~2222222222222#~2222222222#|||# 22 +"22#  "222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222# 22 +"22}"2222222222222222222y2y222222222222y2y222222222222222# 22 +""~22222222222222222222222#  "222222222222}|"22222222222222222222222222# 22 +|||"2222222222222222222#  "2222"~222222222}|"222# 22 +""|~22222}|"22}|#  ""|||||"22222222222222222222222222222222222222222222222222}||~2222222222222222}"22222222# 22 +"2222"~2222222#  "222222}""|~}"2222222}""|||||22222222222222# 22 +"2222#  "222222"~22222222"~222222222"~22z222 +"22222222222222y2y22222222222222222#~22# 22 +"||||~222222222222#  "#|~2222222222222222222222222222222#|~2222222222222# 22 +"||||||# 22 +"222#  "#  "22222222}"222222222222222 + "# 22 +"#  " \ No newline at end of file diff --git a/data/maps/Underwater2/border.bin b/data/maps/Underwater2/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/Underwater2/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Underwater2/connections.inc b/data/maps/Underwater2/connections.inc new file mode 100644 index 0000000000..20ef02321d --- /dev/null +++ b/data/maps/Underwater2/connections.inc @@ -0,0 +1,9 @@ +Underwater2_MapConnectionsList: @ 8486D6C + connection up, 0, UNDERWATER_1, 0 + connection right, 0, UNDERWATER_3, 0 + connection emerge, 0, ROUTE_126, 0 + +Underwater2_MapConnections: @ 8486D90 + .4byte 0x3 + .4byte Underwater2_MapConnectionsList + diff --git a/data/maps/Underwater2/header.inc b/data/maps/Underwater2/header.inc new file mode 100644 index 0000000000..1f29f52f91 --- /dev/null +++ b/data/maps/Underwater2/header.inc @@ -0,0 +1,15 @@ +Underwater2: @ 8482A4C + .4byte Underwater2_MapAttributes + .4byte Underwater2_MapEvents + .4byte Underwater2_MapScripts + .4byte Underwater2_MapConnections + .2byte MUS_DEEPDEEP + .2byte 51 + .byte 51 + .byte 0 + .byte 14 + .byte 5 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Underwater2/map.bin b/data/maps/Underwater2/map.bin new file mode 100644 index 0000000000..0c6377c309 --- /dev/null +++ b/data/maps/Underwater2/map.bin @@ -0,0 +1,35 @@ +2222222222222222222222222222222222222222222222222222222z222x2#~6y2y222}||||||||||||||##||||#2222222222222222222222222#       22222222222/# 222222222222222222 +    222222222222222222222#  22222222222222222222222# 22222222222222222222222222# 2222222222222222222222222222222222222222222222222 +    22222222222222222222222222222222 +" #  222/2222222 222222222222222222222 "#/#   "# 22222 +"222222222222222222222##     " "2222222222222222222222/ "222222 +  222222222222222222 +  22222222222222222/  2222222222/2222222222222/#  22222# 222222222222222222222222 +"#22/2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 +"2222222222222222222222222222222222222222222222222# 22222222222222222 +   2222222222222222222222222222222222222222 +   "#     22222222222222222222222222222222222 + " /#           22222222222222/2222222222 +"/ " #/#  22222222/2222222222222 + " " "# /#/# 2222222222222222222 + " "/ "#/#/# 2222222222222222222 +" "/ "#/## 2222222222 +"222222 +" " "#/#/# 22222# 222/2222222 "/ "### 22222#/222222222 +" "##22222222222222 " "#/# 2222222222222## 2222## 2 +"22222 +  "/2222/# "/222222 "##2222#22222222222#2222222/### 2222/2222222//622222/222222 + 22222222222/22222#222222/222222222222/222222#2222222222222//2222222222222 +"22222222222222222222//62222222/# 2222222/2222222/ "2222222/2222222 +"## 2222222/222222 +" "22222222222222/222222222/222222 +"/ "# 222222222/22222222222222222//2222222 "222222222222//2222222 +"#/# 22222222222222efg2222222222/ "##   222222222222222222mno2222222222222222222 #  222222222222222222222222222222222222222222 +" "222222 /#  222222222222222222222222222222222222222 +"2222222##    22222222222222222222222222222222 +  " "6222222222/# 222222222222222222222222222222 +"/62222z222x22##  2222222222222222222222222 +  " "622}~2y2y22} #   22222222222222222222 + "622 |||| ##   222222222222222 + "/ "622/#  2222222 +     "622##       "/ "62222// "6222222#"222222|~22222 ||||   \ No newline at end of file diff --git a/data/maps/Underwater3/border.bin b/data/maps/Underwater3/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/Underwater3/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Underwater3/connections.inc b/data/maps/Underwater3/connections.inc new file mode 100644 index 0000000000..30ab15908a --- /dev/null +++ b/data/maps/Underwater3/connections.inc @@ -0,0 +1,9 @@ +Underwater3_MapConnectionsList: @ 8486D98 + connection emerge, 0, ROUTE_127, 0 + connection left, 0, UNDERWATER_2, 0 + connection down, 0, UNDERWATER_4, 0 + +Underwater3_MapConnections: @ 8486DBC + .4byte 0x3 + .4byte Underwater3_MapConnectionsList + diff --git a/data/maps/Underwater3/header.inc b/data/maps/Underwater3/header.inc new file mode 100644 index 0000000000..108251489c --- /dev/null +++ b/data/maps/Underwater3/header.inc @@ -0,0 +1,15 @@ +Underwater3: @ 8482A68 + .4byte Underwater3_MapAttributes + .4byte Underwater3_MapEvents + .4byte Underwater3_MapScripts + .4byte Underwater3_MapConnections + .2byte MUS_DEEPDEEP + .2byte 52 + .byte 52 + .byte 0 + .byte 14 + .byte 5 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Underwater3/map.bin b/data/maps/Underwater3/map.bin new file mode 100644 index 0000000000..fc5c331a51 --- /dev/null +++ b/data/maps/Underwater3/map.bin @@ -0,0 +1 @@ +66666666666666666666666666666666666666666666666666666666666666&666666666666.66666666666662222;2;2666666666666662222;2;2;2;2666666666662222@2C2C2A26666666666222222<2P2Q2:266666666666222222<2T2R:266666666666222222<2T2R:26666666666662z222x22@2G2T2R2:266666666666@2A222y2y22}#@2G2P2\2R2B2A266666666666@2D2B2A2#######<2P2\2V2Z2Q2:266666666666?2P2Q2B2:2<2K2L2V2V2R2B2A266666666666?2W2]2Q2:23242T2V2V2R2S2:266666666666?2W2S2U2:2# ?2K2L2V2Z2Q2:266666666666?2W2S2U2:23242T2V2V2R2:26666666666?2Y2O2U2B2A2## ?2K2K2L2R2:26666666666I242W2U2S2:2#32422L2R2:26666666666  ?2W2]2Q2:2## 422L2R2:26666666666?2Y2O2U2:2#3242L2R2:2666666666I242W2U2B2A2## 42T2R2:26666666666  ?2W2U2S2:2#42T2R2:2666666666?2W2]2Q2:242T2R20 66666666?2W2S2U2:2;242T2R2866666666?2Y2O2U2B2A242T2R28 "666666666   I242W2U2S2:2;242T2R28 "666666666  ?2W2]2Q2:2@2C2A222###!a6`"  666666666?2W2S2U2:2?2S2:22222###" "666666666?2W2S2U2B2A2?2S2:2222222 66666666?2W2S2U2S2:2?2S2B2A2222222 "66666666?2W2S2U2S2:23242S2:2#~z222x2}# "66666666?2W2S2U2S2:2@2A2# ?2S2B2A22y2y22 "# "66666666?2W2S2]2Q2:2?2B2A2?2S2S2:22222##666666666?2W2P2Q2U2:2?2S2:2?22S2:2#~222666666666?2W2T2R2U2:2?2S2:2?2S2S2:2   #~22&#"666666666@2A2?2W2T2R2U2:2?2S2B2A2?2S2S2:2#~2.# "666666666<2:2?2W2T2R2U2:2@2D2P2Q2:2?2S2S2:2222222#  666666666@22B2A2?2W2T2R2U2:2?2P2_2U2:2@2D2S2S2:2#~2222}##"666666666@2222:2?2W2T2R2U2:2?2W2S2U2:2?2S2S22232#######666666666<2222B2A2?2W2T2R2U2:2;2?2W2S2U2:2?2S2S2:2" "666666666<2222S2:2;2?2W2T2R2U2B2A2?2W2S2U2:2;2?2S2S2:266666666I242T2Z2Q2:2@2G2W2T2R2U2S2:2?2W2S2U2B2A2@2D2S2S2:2#"66666666# ?2Y2L2R2B2A2?2S2W2T2R2]2Q2:2?2K2O2U2S2:2?2S2S2S2:266666666I242T2Z2Q2:2?2P2_2T2Z2Q2U2:23242T2U2S2:2?2S2S22232226666666 6# ?2Y2L2R2:2?2W2S2T2V2R2U2:2  ?2T2U22232?2S2S2:2"  222266666666I242T2R2:2?2W2P2\2V2R2U2:2;2?2T2U2:2 ?2S22232  22222266 66666# ?2T2R2B2A2?2W2T2V2V2R2U2B2A2?2T2U2:2@2D2S2:2"22222266666666?2T2Z2Q2:2?2W2T2V2V2R2U2S2:2?2T2U2:2?2S2S2:2  222222266666#?2Y2L2R2:2?2W2T2V2V2R2]2Q2:2?2T2U2:2@2D2S22232222z222x2266666#66I242T2R2B2A2>2?2T2Y2L2V2Z2Q2U2:2>2?2T2U2:2?2S2S2:2"  2222y2y22}#666666666# ?2T2R2S2:2>2?2Y2O2T2V2V2R2U2:2>2>2@2D2T2U2:2@2D2S2S2:2  22222226666666?2T2Z2Q2:2>2?2S2W2Y2L2V2R2U2B2A2>2<22_2U2:2?2S2S22232  2222222}#666666#66#6?2T2V2R2:2>2?2S2Y2O2T2V2R2]2Q2B2C2D2T2M2K2:2?2S2S2:2" "2222222}#666666666?2T2V2R2:2>2I242S2W2T2V2Z2Q2U2S2S22_2U22232?2S22232 "222222266666#6666#?2Y2L2R2:2>2>2?2S2W2T2V2V2R2U2S2S2T2S2U2:2"?2S2:2"#6#~z222x22}|6666666#I242T2R2:2>2>2?2S2W2T2V2V2R2]2^2^2_2S2U2:2?2S2:2 """2y2y2226666#666#66# ?2T2R2:2# >2I242W2Y2L2V2Z2Q2S2S2S2M2K2:2?2S20" #~22}|#666666666?2T2R20" >2>2?2Y2O2T2V2V2Z2Q2S2M2K2S2:2#!!"  #622666666666##1T2R28 " >2>2I242W2Y2L2V2V2R2S2U2S22232 "#6#~}|666666669T2R28 ">2>2>2?2Y2O2T2V2V2R2M2K22232"   "66666666#6##9T2R28# >2>2?2S2W2T2V2V2R2U2S2:2>2 "  #6##6666666669T2R28#>2>2I242W2T2V2V2R2U2S2:2" "  666666669T2R28>2>2>2?2W2Y2L2V2R2U2S2:2 " "666666#6669T2R28## >2>2?2Y2O2T2V2R2U22232 " "#6666666666##)) ## >2I242W2T2V2R2U2:2>2#666666666#  >2>2?2W2T2J2K2U2:2"#666666#6666# " "### >2?2W2T2R2S2U2:2 "  666666666# ">2?2W2T2R2S2U2:2 "#6#666666666 "##>2?2W2T2R2S2U2:2 " "#666#6666666#">2?2W2T2R22U2:2666666666#>2?2W2T2R2S2U2:2666666666>2?2W2T2R2S2U2:2666666666>2?2W2T2R2S2U2:2666666666>2?2W2T2Z22U2:26666666#66 ">2?2W2T2V2R2U2:2666666666>2?2W2T2V2R2U2:2#6666666666>2?2W2T2V2R2U2:2#6#6#6#6 \ No newline at end of file diff --git a/data/maps/Underwater4/border.bin b/data/maps/Underwater4/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/Underwater4/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Underwater4/connections.inc b/data/maps/Underwater4/connections.inc new file mode 100644 index 0000000000..61880749bd --- /dev/null +++ b/data/maps/Underwater4/connections.inc @@ -0,0 +1,8 @@ +Underwater4_MapConnectionsList: @ 8486DC4 + connection up, 0, UNDERWATER_3, 0 + connection emerge, 0, ROUTE_128, 0 + +Underwater4_MapConnections: @ 8486DDC + .4byte 0x2 + .4byte Underwater4_MapConnectionsList + diff --git a/data/maps/Underwater4/header.inc b/data/maps/Underwater4/header.inc new file mode 100644 index 0000000000..38885bcb7b --- /dev/null +++ b/data/maps/Underwater4/header.inc @@ -0,0 +1,15 @@ +Underwater4: @ 8482A84 + .4byte Underwater4_MapAttributes + .4byte Underwater4_MapEvents + .4byte Underwater4_MapScripts + .4byte Underwater4_MapConnections + .2byte MUS_DEEPDEEP + .2byte 53 + .byte 53 + .byte 0 + .byte 14 + .byte 5 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Underwater4/map.bin b/data/maps/Underwater4/map.bin new file mode 100644 index 0000000000..23f987681c --- /dev/null +++ b/data/maps/Underwater4/map.bin @@ -0,0 +1 @@ +666666666  >2?2W2T2V2R2U2:2666666666>2?2W2T2V2R2U2:2666666666>2?2W2K2L2R2U2:2666666666# ?2K2O2T2R2U2:2666666666 3242W2T2R2U2:2666666666 "# ?2W2T2R2U2:2 66666666#?2W2T2R2U2:2#666666666 "?2W2T2R2U2B2A2 666 666666?2W2T2R2]2Q2B2C2C2C2A2 # #6666666666?2W2T2Z2Q2]2[2[2[2Q2B2C2C2C2A2 #   #6666666666#)aV2V2Z2[2[2[2Q2]2[2[2[2Q2:2;2;2;2  666666666 6 6aV2V2V2V2V2Z2[2[2[2Q2U2B2A2@2C2C2C2C2C2C2C2C2C28 666666666##))))))aV2V2R2]2Q2B2C2A2@2C2C2D2P2[2[2[2[2[2[2[2[28666666666 #)))a]2[2Q2B2C2C2C2C2D2P2[2[2_2P2[2[2[2[2[2[2`#666666 66666666 "#a[2]2[2[2[2[2[2[2_2P2[2[2\2V2V2V2V2`)"66666666666666##a[2[2[2[2[2[2[2[2\2V2V2`))))"66666666666666#aV2V2V2V2V2V2V2V2`)"66666666666d2V2V2V2V2V2`)"@2C2A2 6666 6666666666@2C2C2A2<2L2V2V2V2`" @2D22B2C2A26666666 6666666<222:2<2T2L2V2b28 " #<2P2[2[2Q2B2C2C2C2C2C2A26666666666666@2A2## 12:2@2D2T2T2J20 #1W2P2Q2]2[2[2[2[2[2Q2B2C2A2666666666666666@2D2B2A2" !""<2P2_2T2R28#aT2Z2[2[2[2[2[2Q2]2[2Q2B2C26666 66666666666<2P2Q2:2<2T2P2V2R28#aV2V2V2V2V2V2Z2[2[2]2[2`"666666666666666<2T2R2:2<2T2T2V2R28#)aV2V2V2V2`))))"666666666666666#1T2R2B2A2@2D2T2T2V2R28#))))"666666666666666#aZ2Q2B2C2A2efg@2C2D2P2_2T2V2R28  6666666666666666#aZ2[2Q2B2C2A2mn2o@2D2P2[2_2P2V2`)"# 6666666666666666#aQ2]2[2Q2B2C2C2C2A2;2;2;2;2;2<2P2_2P2[2`)" # "#6666666666666666#)aQ2]2[2[2[2Q2B2C2C2C2C2C2D2T2P2V2` "6666666666666666#))a[2Q2]2[2[2[2[2[2[2[2_2T2` "6666666666666666 #aZ2[2[2[2[2[2[2[2[2[2b2 6666666666666666 "##)aV2V2V2V2V2V2V2J2:2 " "666666666666666 d2V2V2V2V2V2J2U2:2 " "6666666666666666@2D2L2V2V2V2V2R2U2B2A2 " "6666666 666666666#<2P2_2L2V2V2V2R2]2Q2B2C2C2C2C2C2C2C2C2A2 6666666666666666#<2T2P2\2V2`)))a[2[2[2[2[2[2[2[2Q2:26666666666666666#@2D2T2`))"#))a[2[2[2[2`))"6666666666666666# @2C2C2D2P2`" #))))" "66666666666666666""# )))))" "#66666666666666666#"#" \ No newline at end of file diff --git a/data/maps/Underwater5/border.bin b/data/maps/Underwater5/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/Underwater5/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Underwater5/connections.inc b/data/maps/Underwater5/connections.inc new file mode 100644 index 0000000000..6eafa49d67 --- /dev/null +++ b/data/maps/Underwater5/connections.inc @@ -0,0 +1,7 @@ +Underwater5_MapConnectionsList: @ 8486DE4 + connection emerge, 0, ROUTE_129, 0 + +Underwater5_MapConnections: @ 8486DF0 + .4byte 0x1 + .4byte Underwater5_MapConnectionsList + diff --git a/data/maps/Underwater5/header.inc b/data/maps/Underwater5/header.inc new file mode 100644 index 0000000000..f46d3d677a --- /dev/null +++ b/data/maps/Underwater5/header.inc @@ -0,0 +1,15 @@ +Underwater5: @ 8482AA0 + .4byte Underwater5_MapAttributes + .4byte Underwater5_MapEvents + .4byte Underwater5_MapScripts + .4byte Underwater5_MapConnections + .2byte MUS_DEEPDEEP + .2byte 412 + .byte 208 + .byte 0 + .byte 14 + .byte 5 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Underwater5/map.bin b/data/maps/Underwater5/map.bin new file mode 100644 index 0000000000..902f0dbdc8 --- /dev/null +++ b/data/maps/Underwater5/map.bin @@ -0,0 +1 @@ +& . 2222222 #222}#~2 #222222}#2 "22}#222222222}#222222}#222222222}#22}"##22222}#222222222222}"#222222222222#222222222222}"# """#222z222x2222}"# ""222222y2y22222 ""2222############222222 ""&222222.2222222#22222222222z222x22222222222222y2y22}"##""""""""""""""""#  # " " "  "############ \ No newline at end of file diff --git a/data/maps/Underwater6/border.bin b/data/maps/Underwater6/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/Underwater6/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Underwater6/connections.inc b/data/maps/Underwater6/connections.inc new file mode 100644 index 0000000000..4d2960b366 --- /dev/null +++ b/data/maps/Underwater6/connections.inc @@ -0,0 +1,7 @@ +Underwater6_MapConnectionsList: @ 8486D24 + connection emerge, 0, ROUTE_105, 0 + +Underwater6_MapConnections: @ 8486D30 + .4byte 0x1 + .4byte Underwater6_MapConnectionsList + diff --git a/data/maps/Underwater6/header.inc b/data/maps/Underwater6/header.inc new file mode 100644 index 0000000000..cf6ab9141e --- /dev/null +++ b/data/maps/Underwater6/header.inc @@ -0,0 +1,15 @@ +Underwater6: @ 8482ABC + .4byte Underwater6_MapAttributes + .4byte Underwater6_MapEvents + .4byte Underwater6_MapScripts + .4byte Underwater6_MapConnections + .2byte MUS_DEEPDEEP + .2byte 410 + .byte 206 + .byte 0 + .byte 14 + .byte 5 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Underwater6/map.bin b/data/maps/Underwater6/map.bin new file mode 100644 index 0000000000..92bd56031f --- /dev/null +++ b/data/maps/Underwater6/map.bin @@ -0,0 +1 @@ +&/.222/2222222222222/22222222}##222222222}##2222222222222222}##2222/#~222222#~22#2222222222222222222222222222222222#~2222222/###222222222222222z222x222222222y2y2222222222222222222####"""##########"""""""""""""""                                # ##   22222 222222 222222 ## ##222222   #~z222x22 #~y2y222#~222 ~22 ~22  #222   222 2}## &2 .2 2222222  #~222222 #~22222#~2222 ####"""    #  ##  # #  # ######"" \ No newline at end of file diff --git a/data/maps/Underwater7/border.bin b/data/maps/Underwater7/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/Underwater7/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Underwater7/connections.inc b/data/maps/Underwater7/connections.inc new file mode 100644 index 0000000000..16d0e47e55 --- /dev/null +++ b/data/maps/Underwater7/connections.inc @@ -0,0 +1,7 @@ +Underwater7_MapConnectionsList: @ 8486D58 + connection emerge, 0, ROUTE_125, 0 + +Underwater7_MapConnections: @ 8486D64 + .4byte 0x1 + .4byte Underwater7_MapConnectionsList + diff --git a/data/maps/Underwater7/header.inc b/data/maps/Underwater7/header.inc new file mode 100644 index 0000000000..0a55ab00be --- /dev/null +++ b/data/maps/Underwater7/header.inc @@ -0,0 +1,15 @@ +Underwater7: @ 8482AD8 + .4byte Underwater7_MapAttributes + .4byte Underwater7_MapEvents + .4byte Underwater7_MapScripts + .4byte Underwater7_MapConnections + .2byte MUS_DEEPDEEP + .2byte 411 + .byte 207 + .byte 0 + .byte 14 + .byte 5 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Underwater7/map.bin b/data/maps/Underwater7/map.bin new file mode 100644 index 0000000000..660f585aea --- /dev/null +++ b/data/maps/Underwater7/map.bin @@ -0,0 +1 @@ +9<?WTVVVVVVV9<?WTVVVVVVV9<?WTVVVVVVV9<?WTVVVVVVV9<?WTVVVVVVV9<?WTVVVVVVV9<?WTVVVVVVV9<?WTVVVVVVV9<?WTVVVVVVV&9<?WTVVVVVVV.9<?WTVVVVVVV22222222229<?WTVVVVVVV222222222222222229<?WTVVVVVVV222222222222222229<?WTVVVVVVV22222222222222222229<?WTVVVVVVV22222222222222222229<?WTVVVVVVV222222222222222222}#9<?WTVVVVVVV2222222222222222}"#2222229<?WTVVVVVVV22222222222222222222229<?WTVVVVVVV2z222x222}#########2222229<?WTVVVVVVV22y2y22222222229<?WTVVVVVVV#########2z222x229<?WTVVVVVVV22y2y2229<?WTVVVVVVV #2222229<?WTVVVVVVV 2222229<?WTVVVVVVV#2222229<?WTVVVVVVV2}~2229<?WTVVVVVVV2222229<?WTVVVVVVV#22222}~2229<?WTVVVVVVV "&222222229<?WTVVVVVVV#.22222222229<?WTVVVVVVV #222222222222222229<?WTVVVVVVV222222222222222229<?WTVVVVVVV   ##""""""""""""""""""9<?WTVVVVVVV 9<?WTVVVVVVV "# # 9<?WTVVVVVVV# #9<?WTVVVVVVV## # ##9<?WTVVVVVVV# ##9<?WTVVVVVVV9<?WTVVVVVVV \ No newline at end of file diff --git a/data/maps/Underwater_MarineCave/border.bin b/data/maps/Underwater_MarineCave/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/Underwater_MarineCave/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Underwater_MarineCave/header.inc b/data/maps/Underwater_MarineCave/header.inc new file mode 100644 index 0000000000..6dee9d77ac --- /dev/null +++ b/data/maps/Underwater_MarineCave/header.inc @@ -0,0 +1,15 @@ +Underwater_MarineCave: @ 84849CC + .4byte Underwater_MarineCave_MapAttributes + .4byte Underwater_MarineCave_MapEvents + .4byte Underwater_MarineCave_MapScripts + .4byte 0x0 + .2byte MUS_DAN01 + .2byte 406 + .byte 204 + .byte 0 + .byte 14 + .byte 5 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Underwater_MarineCave/map.bin b/data/maps/Underwater_MarineCave/map.bin new file mode 100644 index 0000000000..1904f47577 --- /dev/null +++ b/data/maps/Underwater_MarineCave/map.bin @@ -0,0 +1 @@ +(((((((2$(2"""""+,-""""" \ No newline at end of file diff --git a/data/maps/Underwater_Route134/border.bin b/data/maps/Underwater_Route134/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/Underwater_Route134/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Underwater_Route134/header.inc b/data/maps/Underwater_Route134/header.inc new file mode 100644 index 0000000000..c00017cecb --- /dev/null +++ b/data/maps/Underwater_Route134/header.inc @@ -0,0 +1,15 @@ +Underwater_Route134: @ 848464C + .4byte Underwater_Route134_MapAttributes + .4byte Underwater_Route134_MapEvents + .4byte Underwater_Route134_MapScripts + .4byte 0x0 + .2byte MUS_DEEPDEEP + .2byte 282 + .byte 79 + .byte 0 + .byte 14 + .byte 5 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Underwater_Route134/map.bin b/data/maps/Underwater_Route134/map.bin new file mode 100644 index 0000000000..77bdd37aa4 --- /dev/null +++ b/data/maps/Underwater_Route134/map.bin @@ -0,0 +1,2 @@ +(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2### # (2(2$(2(2(2 +""""# +,-  " \ No newline at end of file diff --git a/data/maps/Underwater_SeafloorCavern/border.bin b/data/maps/Underwater_SeafloorCavern/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/Underwater_SeafloorCavern/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Underwater_SeafloorCavern/header.inc b/data/maps/Underwater_SeafloorCavern/header.inc new file mode 100644 index 0000000000..e10d30013c --- /dev/null +++ b/data/maps/Underwater_SeafloorCavern/header.inc @@ -0,0 +1,15 @@ +Underwater_SeafloorCavern: @ 8484198 + .4byte Underwater_SeafloorCavern_MapAttributes + .4byte Underwater_SeafloorCavern_MapEvents + .4byte Underwater_SeafloorCavern_MapScripts + .4byte 0x0 + .2byte MUS_DEEPDEEP + .2byte 146 + .byte 69 + .byte 0 + .byte 14 + .byte 5 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Underwater_SeafloorCavern/map.bin b/data/maps/Underwater_SeafloorCavern/map.bin new file mode 100644 index 0000000000..4cacc495ed --- /dev/null +++ b/data/maps/Underwater_SeafloorCavern/map.bin @@ -0,0 +1,2 @@ +6666(22222(2(2(2(2(2(2(2(2### (2(2$(2(2(2 +"""# +,-  " \ No newline at end of file diff --git a/data/maps/Underwater_SealedChamber/border.bin b/data/maps/Underwater_SealedChamber/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/Underwater_SealedChamber/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Underwater_SealedChamber/header.inc b/data/maps/Underwater_SealedChamber/header.inc new file mode 100644 index 0000000000..54362aea45 --- /dev/null +++ b/data/maps/Underwater_SealedChamber/header.inc @@ -0,0 +1,15 @@ +Underwater_SealedChamber: @ 8484668 + .4byte Underwater_SealedChamber_MapAttributes + .4byte Underwater_SealedChamber_MapEvents + .4byte Underwater_SealedChamber_MapScripts + .4byte 0x0 + .2byte MUS_DEEPDEEP + .2byte 283 + .byte 79 + .byte 0 + .byte 14 + .byte 5 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Underwater_SealedChamber/map.bin b/data/maps/Underwater_SealedChamber/map.bin new file mode 100644 index 0000000000..5ac0b4a731 --- /dev/null +++ b/data/maps/Underwater_SealedChamber/map.bin @@ -0,0 +1 @@ +efgmno22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222  2222222#222222222222222222222  222222222222#2222222  222222222222#2222222  222222222222222222222222#222222  22222222222222222222222222222222222222222222     2222222222222222222222222222222p2222222222C2C2C2222222222222S2S2S2222222# 22222S2S2S22222 "#            " \ No newline at end of file diff --git a/data/maps/Underwater_SootopolisCity/border.bin b/data/maps/Underwater_SootopolisCity/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/Underwater_SootopolisCity/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/Underwater_SootopolisCity/header.inc b/data/maps/Underwater_SootopolisCity/header.inc new file mode 100644 index 0000000000..af57b3c8d5 --- /dev/null +++ b/data/maps/Underwater_SootopolisCity/header.inc @@ -0,0 +1,15 @@ +Underwater_SootopolisCity: @ 8483F4C + .4byte Underwater_SootopolisCity_MapAttributes + .4byte Underwater_SootopolisCity_MapEvents + .4byte Underwater_SootopolisCity_MapScripts + .4byte 0x0 + .2byte MUS_DEEPDEEP + .2byte 130 + .byte 54 + .byte 0 + .byte 14 + .byte 5 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/Underwater_SootopolisCity/map.bin b/data/maps/Underwater_SootopolisCity/map.bin new file mode 100644 index 0000000000..71346ab72e --- /dev/null +++ b/data/maps/Underwater_SootopolisCity/map.bin @@ -0,0 +1,2 @@ +(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2### # (2(2(2$(2(2(2(2(2 +""""#  +,-    " \ No newline at end of file diff --git a/data/maps/UnionRoom/border.bin b/data/maps/UnionRoom/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/UnionRoom/border.bin differ diff --git a/data/maps/UnionRoom/header.inc b/data/maps/UnionRoom/header.inc new file mode 100644 index 0000000000..d0b38c071f --- /dev/null +++ b/data/maps/UnionRoom/header.inc @@ -0,0 +1,15 @@ +UnionRoom: @ 8485120 + .4byte UnionRoom_MapAttributes + .4byte UnionRoom_MapEvents + .4byte UnionRoom_MapScripts + .4byte 0x0 + .2byte MUS_RAINBOW + .2byte 393 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 8 + diff --git a/data/maps/UnionRoom/map.bin b/data/maps/UnionRoom/map.bin new file mode 100644 index 0000000000..cb1b009c3f --- /dev/null +++ b/data/maps/UnionRoom/map.bin @@ -0,0 +1,11 @@ +(   # + + + + + + + + + +0222222222222222222222222222222222222222222222222222222222222222222222222222222222 2!2"2222222222222222222222222222222222222 222222222222222222 \ No newline at end of file diff --git a/data/maps/UnknownMap_08417FC4/border.bin b/data/maps/UnknownMap_08417FC4/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/UnknownMap_08417FC4/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/UnknownMap_08417FC4/map.bin b/data/maps/UnknownMap_08417FC4/map.bin new file mode 100644 index 0000000000..17a14a8d57 --- /dev/null +++ b/data/maps/UnknownMap_08417FC4/map.bin @@ -0,0 +1 @@ +pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp00000000000000ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp0000000 0 0 0000000ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp0000000 0 0 0 0 0 0 0 0000ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppps00000 0 0 0 0 0 0 0 0 0 000rpppppppppppppppppppppppppppppppppppppppppppppppppppppppp000000 0 0 0 0 0 0 0 0 0 0 00000ppppppppppppppppppppppppppppppr{{{{{{vppppppppppppppp000000 0 0 0 0 0 0 0 0 0 0 0 00000ppppPQpppppppppppppppppppppprqkllmqvppppuvppppPQprs000000 0 0 0 0 0 0 0 0 0 0 01110utpPQXYpppppr{{{{{{{vpppppppuqkqquqq|uvpp}~pu{vXYrss0000000000 0 0 0 0 0 0 0 1 5 10uutXYpuvpu{{qklllmqvppppuvq{|||}qt}~pppppzq|}sss00000000004400 0 0 0 0 01110uuu~p}~pzqqqkklmmqvppp}~pyqqqtyppu{{vppyfsss00000000000444400 0 0 00000uuugppuvzqqqsq{|}quqq|ppPQppppyyyppppzqq|puvppfsss000000000004444440 000000uuuguv}~qq{qqqt}qtppXYpppuvppppppuvyyp}~ppfss{|||00000000444444400t|||}uug}~pppyq{|||}qtpuv{vppp}~pppppp}~pppPQppppfs{s000000000444444400ut}ugppppPQpyypp}~q|ppppppppppPQppppXYppuvf{ss000000000044444400uut}gppppXYppppppppuvppppyppppppppppXYpppppppp}~nss{|||0000004444t|||}uutopuvppppppppppp}~ppppppppppppppppppppppppuvpp1$1$1$1s{{||0000t||}t}ur$1$1$11p}~pppppuvppppppppppppuvpppppppppppppppp}~pp111$1{{{|22|}t}t}r$1$1$11pppppppp}~pppppppppppp}~u{vpppppppuvpppppppp111$1{{22}t}t$1$1$11ppppppppppppppppppppuvppztppppppp}~pppppppp111$1$1$1"10x{22}tz00 1$1$1$111pppppppppppppppppppp}~pppppppppppppppppppp111$1"10000x22z00000 1$1$111pppppppppppppppppppppppppppppppppppppppppppppp111$1$1100000000000000000001$1$1111ppppppppppppppppppppppppppppppppppppppppppppppp111$1$1!11000000000000000011$1$1111ppppppppppppppppppppppppppppppppppppppppppppppp1111$1$1!11100000000000111$1$1$1$1111pppppppppppppppppppppppppppppppppppppppppppppppp1111$1$1$1$1"100000000011$1$1$1$1$1$11111pppppppppppppppppppppppppppppppppppppppppppppppp1111$1$1$1111111111$1$1$1$1$1$1$1$111pppppppppPQpppppppuvpppppppppppppppppppppppppppppp1111$1$1$1$1$1$1$1$1$1$1$1$1$1$111111111ppppppppPQpXYppr{{{v}~ppu{{vpppppppppppppppppppppppp11111$1$1$1$1$1$1$1$1$1$1$1$11111ppppppppXYpppr{qqqvpuvqq|ppppppppppppppppppppppppp11111111111111111111ppppppppppppppu{{qqqqqqv}~qqtpPQppppppppppppppppppppppppppppppppuvpppqqqqqqqqqvpyyuvXYPQu{vpuvpppppppPQppppppppppppppppppppppppppppppppppppp}~ppppyqqqqqqtypppp}~ppXYyp}~pppppppXYu{{{vpppuvppppppppppppppppppppppPQpuvpu{{{vppyyyyyyPQpppppppppppppuvpPQpppuvppzqqq{vp}~ppppppuvppppppppppppppXYp}~pqqvpppppppppXYupppppppppppp}~pXYu{v}~uvyyqqvpuvpppPQ}~pppppppPQppppr{{{vppptyppppppppppp}pppppPQppppppppppzq|pp}~pppyyyp}~PQpXYppu{{vpuvXYppr{qkmvppppppppppppppppppppppXYppppppppppypppppppppppppppXYuvpppqv}~pu{{klm{}q|pppppppppppppppppppppppppppppppppppppppppppppppppppppppp}~ppppyypppqq{|}qqtppppppppppppppppppppppppppppppPQpppppppppppppppppppppppppppppppppppPQpyyyypppppppppppppppppppppppppppppppXYpppppppppppppppppppppppppppppppppppXYpppppppppppppppppppppppppppppp \ No newline at end of file diff --git a/data/maps/UnknownMap_08428450/border.bin b/data/maps/UnknownMap_08428450/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/UnknownMap_08428450/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_08428450/map.bin b/data/maps/UnknownMap_08428450/map.bin new file mode 100644 index 0000000000..ca93fa0e2d Binary files /dev/null and b/data/maps/UnknownMap_08428450/map.bin differ diff --git a/data/maps/UnknownMap_084294C4/border.bin b/data/maps/UnknownMap_084294C4/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/UnknownMap_084294C4/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_084294C4/map.bin b/data/maps/UnknownMap_084294C4/map.bin new file mode 100644 index 0000000000..37f05b9713 Binary files /dev/null and b/data/maps/UnknownMap_084294C4/map.bin differ diff --git a/data/maps/UnknownMap_084294E8/border.bin b/data/maps/UnknownMap_084294E8/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/UnknownMap_084294E8/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_084294E8/map.bin b/data/maps/UnknownMap_084294E8/map.bin new file mode 100644 index 0000000000..ca93fa0e2d Binary files /dev/null and b/data/maps/UnknownMap_084294E8/map.bin differ diff --git a/data/maps/UnknownMap_0843E6C0/border.bin b/data/maps/UnknownMap_0843E6C0/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/UnknownMap_0843E6C0/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_0843E6C0/map.bin b/data/maps/UnknownMap_0843E6C0/map.bin new file mode 100644 index 0000000000..22a47d94e0 Binary files /dev/null and b/data/maps/UnknownMap_0843E6C0/map.bin differ diff --git a/data/maps/UnknownMap_0843E6E4/border.bin b/data/maps/UnknownMap_0843E6E4/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/UnknownMap_0843E6E4/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_0843E6E4/map.bin b/data/maps/UnknownMap_0843E6E4/map.bin new file mode 100644 index 0000000000..22a47d94e0 Binary files /dev/null and b/data/maps/UnknownMap_0843E6E4/map.bin differ diff --git a/data/maps/UnknownMap_0843E708/border.bin b/data/maps/UnknownMap_0843E708/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/UnknownMap_0843E708/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_0843E708/map.bin b/data/maps/UnknownMap_0843E708/map.bin new file mode 100644 index 0000000000..22a47d94e0 Binary files /dev/null and b/data/maps/UnknownMap_0843E708/map.bin differ diff --git a/data/maps/UnknownMap_0843E72C/border.bin b/data/maps/UnknownMap_0843E72C/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/UnknownMap_0843E72C/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_0843E72C/map.bin b/data/maps/UnknownMap_0843E72C/map.bin new file mode 100644 index 0000000000..22a47d94e0 Binary files /dev/null and b/data/maps/UnknownMap_0843E72C/map.bin differ diff --git a/data/maps/UnknownMap_0843E750/border.bin b/data/maps/UnknownMap_0843E750/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/UnknownMap_0843E750/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_0843E750/map.bin b/data/maps/UnknownMap_0843E750/map.bin new file mode 100644 index 0000000000..22a47d94e0 Binary files /dev/null and b/data/maps/UnknownMap_0843E750/map.bin differ diff --git a/data/maps/UnknownMap_0843E774/border.bin b/data/maps/UnknownMap_0843E774/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/UnknownMap_0843E774/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_0843E774/map.bin b/data/maps/UnknownMap_0843E774/map.bin new file mode 100644 index 0000000000..22a47d94e0 Binary files /dev/null and b/data/maps/UnknownMap_0843E774/map.bin differ diff --git a/data/maps/UnknownMap_0843E798/border.bin b/data/maps/UnknownMap_0843E798/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/UnknownMap_0843E798/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_0843E798/map.bin b/data/maps/UnknownMap_0843E798/map.bin new file mode 100644 index 0000000000..22a47d94e0 Binary files /dev/null and b/data/maps/UnknownMap_0843E798/map.bin differ diff --git a/data/maps/UnknownMap_0843E7BC/border.bin b/data/maps/UnknownMap_0843E7BC/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/UnknownMap_0843E7BC/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_0843E7BC/map.bin b/data/maps/UnknownMap_0843E7BC/map.bin new file mode 100644 index 0000000000..22a47d94e0 Binary files /dev/null and b/data/maps/UnknownMap_0843E7BC/map.bin differ diff --git a/data/maps/UnknownMap_0843E7E0/border.bin b/data/maps/UnknownMap_0843E7E0/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/UnknownMap_0843E7E0/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_0843E7E0/map.bin b/data/maps/UnknownMap_0843E7E0/map.bin new file mode 100644 index 0000000000..22a47d94e0 Binary files /dev/null and b/data/maps/UnknownMap_0843E7E0/map.bin differ diff --git a/data/maps/UnknownMap_0843E804/border.bin b/data/maps/UnknownMap_0843E804/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/UnknownMap_0843E804/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_0843E804/map.bin b/data/maps/UnknownMap_0843E804/map.bin new file mode 100644 index 0000000000..22a47d94e0 Binary files /dev/null and b/data/maps/UnknownMap_0843E804/map.bin differ diff --git a/data/maps/UnknownMap_0843E828/border.bin b/data/maps/UnknownMap_0843E828/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/UnknownMap_0843E828/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_0843E828/map.bin b/data/maps/UnknownMap_0843E828/map.bin new file mode 100644 index 0000000000..22a47d94e0 Binary files /dev/null and b/data/maps/UnknownMap_0843E828/map.bin differ diff --git a/data/maps/UnknownMap_0843E84C/border.bin b/data/maps/UnknownMap_0843E84C/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/UnknownMap_0843E84C/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_0843E84C/map.bin b/data/maps/UnknownMap_0843E84C/map.bin new file mode 100644 index 0000000000..22a47d94e0 Binary files /dev/null and b/data/maps/UnknownMap_0843E84C/map.bin differ diff --git a/data/maps/UnknownMap_0843E870/border.bin b/data/maps/UnknownMap_0843E870/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/UnknownMap_0843E870/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_0843E870/map.bin b/data/maps/UnknownMap_0843E870/map.bin new file mode 100644 index 0000000000..22a47d94e0 Binary files /dev/null and b/data/maps/UnknownMap_0843E870/map.bin differ diff --git a/data/maps/UnknownMap_0843E894/border.bin b/data/maps/UnknownMap_0843E894/border.bin new file mode 100644 index 0000000000..b15c94f963 --- /dev/null +++ b/data/maps/UnknownMap_0843E894/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_0843E894/map.bin b/data/maps/UnknownMap_0843E894/map.bin new file mode 100644 index 0000000000..22a47d94e0 Binary files /dev/null and b/data/maps/UnknownMap_0843E894/map.bin differ diff --git a/data/maps/UnknownMap_08447028/border.bin b/data/maps/UnknownMap_08447028/border.bin new file mode 100644 index 0000000000..9e4b3fb7a1 --- /dev/null +++ b/data/maps/UnknownMap_08447028/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_08447028/map.bin b/data/maps/UnknownMap_08447028/map.bin new file mode 100644 index 0000000000..028da05269 --- /dev/null +++ b/data/maps/UnknownMap_08447028/map.bin @@ -0,0 +1,3 @@ +22222222222222222222222222222222222222222222222222222222222222222222222222662222222222222222222222222222222222222222222222226666 662222222222222222222222222  +2266662BBBB2222222222222222222222222666666BBBB66BBBB222222266666622222g2g2g2g2g2g2g2g22222222222202GG2NdedeOKLQ2$%&'22222g2g2g2g2g2g2g2g222222222222822222:$!&'2 !"#:VcccWcSTa2222222g2g2g2g2g2g2g2g2g2g2g2g2222222282f2f2f2f2H2222:Vccccccca22222222g2g2g2g2g2g2g2g2g2g2g2g2g2g2222222282f2f2f2f222222222222:Vccccccca22222222g2g2g2g2g2g2g2g2g2g2g2g2g2g2222222282f2f2f2f2222 +IIIIB^_______Y222222g2g2g2g2g2g2g2g2g2g2g2g2g2g2g2g2222222282f2f2f2f2222BBBB222222222222222222222222222222222222222222222822CEED22()*G22 22222222222222222222222222228223522 %"#:2BBBB222222222222222222222222222282235222:2+,-222222222222222222222222222222822GG2222222:2$%&'222222222222222222222222222222822222r2222H2<<222222222222222222222222222222228222222222222222222222222222222222222222222222222222222282222q2222p222222222222222222222222222222222222222222228222222222222222222222222222222222222222222222222222222282h2h2h2h2k2222s22CIIIIIID2222222222222222222222222222222222282j2222k22222235222:22222222222222222222222282j2222k22222235222:22222222222222222222222282j2222k22222235222:22222222222222222222222282j2i22i2i22222235222:22222222222222222222222282222222222235222:22222222222222222222222282222222235222:222222222222222222222222 \ No newline at end of file diff --git a/data/maps/UnknownMap_0845A394/border.bin b/data/maps/UnknownMap_0845A394/border.bin new file mode 100644 index 0000000000..f1629c020b --- /dev/null +++ b/data/maps/UnknownMap_0845A394/border.bin @@ -0,0 +1 @@ +3333 \ No newline at end of file diff --git a/data/maps/UnknownMap_0845A394/map.bin b/data/maps/UnknownMap_0845A394/map.bin new file mode 100644 index 0000000000..fd294d9b6f Binary files /dev/null and b/data/maps/UnknownMap_0845A394/map.bin differ diff --git a/data/maps/UnknownMap_0845D470/border.bin b/data/maps/UnknownMap_0845D470/border.bin new file mode 100644 index 0000000000..c3fe51511d --- /dev/null +++ b/data/maps/UnknownMap_0845D470/border.bin @@ -0,0 +1 @@ +pppp \ No newline at end of file diff --git a/data/maps/UnknownMap_0845D470/map.bin b/data/maps/UnknownMap_0845D470/map.bin new file mode 100644 index 0000000000..cd136de416 --- /dev/null +++ b/data/maps/UnknownMap_0845D470/map.bin @@ -0,0 +1 @@ +qqqqqqqqqqqt||}ut|}ppp{qs{$14$1$1$1$14$1$1uuqupppppppppppppqqqqqqqqt||}qqt}uppppp{{s$1$1$1$1$1$1$1$1t}ut}ppppppppppppp||||||||}qqqt|}t}pppppppppsqs{$1$1$14$1t|}quupppppppppppppqqqqqt|||}qt}pppppppppPesq{{4$1$1t}qt|}uppppppppppppppqqt||}qqqt|}ppppppppppXm{q{{|||}qt}t|}pppppppppppppp||}qt|||}ppuvpppppPQp{q{|}qupppppppppppppp|}uvpu{vp}~pppppXYpp{|0|}ppppppppppppppppZ[ppppp}~pzq|pppppppppPQpp$1$1$1$1$1Z[ppppPQpppppppppppXYppppuvppppypppppppuvXYppppp$1$1$1$1$1pXYu{{{vXYppppppppppppppu{vp}~ppuvPQppppppPQ}~ppppppppuvyq|ppuvppppppppppppzq|ppppp}~XYppuvppXYpu{vppppppppppppp}~ppyPQ}~ppppppppPQppyppuvPQpppPQ}~pPQppzq|uvppppppppppuvppppppXYpu{{vpppppXYpppppPQ}~XYpuvXYpPQXYppy}~ppuvpppppu|ppppppppuqqvpppppppppppXYppppp}~pppXYppppppppppp}~pppppzq|ppppppppyyyyPQppppppppppppppppppppuvpppppppppppppppppuvypppppppuvppPQpXYu{pppppppppppppppppp}~u{vppppppppppppPQ}~pppppppppp}~ppXYpppzqppppppppppppppppppppzq{vppppuvppuvXYpppppppu{vpppppPQppuvyppppppppppppppppppppyyypppp}~uv}~pppppppu{q|pppppXYpp}~pppppppppppppppppppppppppuvpppppp}~pppppppppzqqq|ppppppPQpppPQppppppppppppppppppppppp}~pppppppppppppppppyyyppppppXYpppXYppppppppppppppppppppppppPQppuvpppppppu{vppppppppppppppppppppppppppppppppppppppppppppXYPQ}~ppppuvuq|ppppppppppppppppppppppppppppppppppppppppppppppXYppu{{v}~yyppppppppppppppppppppppppppppppppppppppppppppppppppyyppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppPQppppppppppppppppppppppppppppppppppppppppppppuvppppppPQppppXYppppppppppppppppppppppppppppppppppPQuvpppppp}~pppuvpXYppppppppuvppppppppppppppppppppppppppppppXY}~ppppppu{PQp}~pppu{vpppppzvpuvpppppppppppppuvpppppppppuvppppppppppzqXYppppppzq|puvppv}~pppppppppppPQ}~pppppppuv}~ppppppppPQy{{{{tpppyp}~uvpypppppppu{{vppXYpuvpppppp}~pppPQpuvppXYppqqqq{tppppuvp}~ppuvpppppppzqq{vppp}~uvpppu{{vppXYp}~puvpppllllmq{{{t}~pppuv}~ppu{{vpqqqvpppp}~ppuqq{{vu{{{v}~pppqqqqllmqq{tppp}~ppu{qq|uvyyyyppppppPQyyyqqqqtpppppqqqqqqqmqqqutppppppzqqqt}~ppppppppppppXYppppyqqqtppppPQqqqqqqqqllmuu{tppuvyyypppppppppppppppppppppppyyypppppXYqqqqqqqqqqqltp}~ppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqutpppppppppppppppppppppppppppppppppppppppppp \ No newline at end of file diff --git a/data/maps/UnknownMap_0845ECB4/border.bin b/data/maps/UnknownMap_0845ECB4/border.bin new file mode 100644 index 0000000000..f0eabd248c --- /dev/null +++ b/data/maps/UnknownMap_0845ECB4/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_0845ECB4/map.bin b/data/maps/UnknownMap_0845ECB4/map.bin new file mode 100644 index 0000000000..ec344933fa --- /dev/null +++ b/data/maps/UnknownMap_0845ECB4/map.bin @@ -0,0 +1 @@ +222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222  222 222    2222222 2222222222 2222222    # 222    #2222 #  2222     2222 #    2222 efg  222 # esdrfg 222efsd_ddrfg222qdd_d__ddp222qd______dp22222es_d____d_p22222 qdd______dp22222222#2#2bdd_d_d_dp222222222#2b_d_d_`a3a3#222222222#2a3a3a3a3a3#22222222222222222222222 \ No newline at end of file diff --git a/data/maps/UnknownMap_08469200/border.bin b/data/maps/UnknownMap_08469200/border.bin new file mode 100644 index 0000000000..c07869a9fb --- /dev/null +++ b/data/maps/UnknownMap_08469200/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_08469200/map.bin b/data/maps/UnknownMap_08469200/map.bin new file mode 100644 index 0000000000..67085fd37f --- /dev/null +++ b/data/maps/UnknownMap_08469200/map.bin @@ -0,0 +1,12 @@ +222922222922222229KLM929222222  +  222222222  + 2222  + 22%7'222222KLM2222  +   + U22-?/22@AAAB Z2222#$_222222 222222222222222222 22KLM22+,_22D2E2222222222222222222222@AAAAAAAB2 @AAF2G\22222222222@AF22GAAAB22D222%6'2bD2c22222222222bD2E2c2222922->/22D2222222222222D2AAAAAB22222222222D2E2D2  + D2E2D2E222222222222222222222D2E226222222 222822D2E22222222222229222222222222222222@AF22GAAAAAAAAB2222222222T  + B22222222bD2E2cQR[RS22TA  + 222228222222;2222^#$222D2E2222222 !2"2^2#$22222222^+,222D2E222222()2)2)2*222^2+,2222  +   + KLM^22222222222n22o0q0q0q022222^22222D2E2 2 ^22222222222bD2E2cq06q06q022^2222D2E2%7'2%7']AAAB2222D2q0q0q0q0q0q06q06q0q0q0^222222222-?/2AAB-?/2D2E222D2q0q0q0q0q0q0q0q0q0q0q0q0q0q0]AB222222222222222222222q0q0q0q0q0q0q0q0q0q0q0q0q0q0D2E2KLM22222KLMD2E2222q0q0t||||||||||TB222 2222222KL22TYZB22D2E2ty}s^2222222222222 22^22222q0q0t}{y^222222222%6'22^222k6l6l6m6q0q0us^2222222 22222->/22^2222220123q0q0us]AAB22222222AAAAB]AAAAB89:;q0q0us{|}~2222222222ABwq0q0usTPQRS2222D22222222222222q0q0us^XYZ[222222222222222222222222222q0q0us^abvD2E222222KLM22222D2E2q0q0q0u01110s^22222222222222TYZB2222q0q0q0q0q0q0u000000010s^22222222222922222^2222q0q0q0q0q0q0t}00000010s]B22@AF22 22222^2222q0tD2E2yz00000000sD2E2N22  + 2222^2222222q0r000000000000{yyyD2E2N222]B2222q0r000004000pN222222222tyyz000000pV@AAAAAAB2qtyyz000000000p2qqr0000000000xyyyyqqq2qqr000000000000000x2qqr000000000000000000pq2qqr000000000000011pq2qqr000000011000000pqq2qr0000000000000pqqiiij000pqqij0pr0i0i0i0i00iijqqqqqrqrqqqqqqqrqqqqrqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq \ No newline at end of file diff --git a/data/maps/UnknownMap_084693AC/border.bin b/data/maps/UnknownMap_084693AC/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/UnknownMap_084693AC/border.bin differ diff --git a/data/maps/UnknownMap_084693AC/map.bin b/data/maps/UnknownMap_084693AC/map.bin new file mode 100644 index 0000000000..a179d89975 Binary files /dev/null and b/data/maps/UnknownMap_084693AC/map.bin differ diff --git a/data/maps/UnknownMap_08470BD8/border.bin b/data/maps/UnknownMap_08470BD8/border.bin new file mode 100644 index 0000000000..4531975c76 Binary files /dev/null and b/data/maps/UnknownMap_08470BD8/border.bin differ diff --git a/data/maps/UnknownMap_08470BD8/map.bin b/data/maps/UnknownMap_08470BD8/map.bin new file mode 100644 index 0000000000..0f7bbb9583 Binary files /dev/null and b/data/maps/UnknownMap_08470BD8/map.bin differ diff --git a/data/maps/UnknownMap_08480DAC/border.bin b/data/maps/UnknownMap_08480DAC/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/UnknownMap_08480DAC/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_08480DAC/map.bin b/data/maps/UnknownMap_08480DAC/map.bin new file mode 100644 index 0000000000..d1277f2808 Binary files /dev/null and b/data/maps/UnknownMap_08480DAC/map.bin differ diff --git a/data/maps/UnknownMap_08480F54/border.bin b/data/maps/UnknownMap_08480F54/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/UnknownMap_08480F54/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_08480F54/map.bin b/data/maps/UnknownMap_08480F54/map.bin new file mode 100644 index 0000000000..f0d9c299c5 --- /dev/null +++ b/data/maps/UnknownMap_08480F54/map.bin @@ -0,0 +1 @@ +''''''''';<=''/////////CD2E//222222222222222222222222222222222222222222222289999:22222222@AAAAB22222222AAAAAA22222222AAAAAA22222222AAAAAA22222222IMMMMJ22222222222222222222222222222222222222"2#2222222 \ No newline at end of file diff --git a/data/maps/UnknownMap_084810FC/border.bin b/data/maps/UnknownMap_084810FC/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/UnknownMap_084810FC/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_084810FC/map.bin b/data/maps/UnknownMap_084810FC/map.bin new file mode 100644 index 0000000000..908158cf40 --- /dev/null +++ b/data/maps/UnknownMap_084810FC/map.bin @@ -0,0 +1 @@ +'';<='''';<=''//CD2E////CL2E//5252525252525252525252525252424242424242424242424242424242424242424242424242424242424242424289999:4242424242424242@AAAAB4242424242424242AAAAAA4242424242424242AAAAAA4242424242424242AAAAAA4242424242424242IMMMMJ42424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242 \ No newline at end of file diff --git a/data/maps/UnknownMap_084812A4/border.bin b/data/maps/UnknownMap_084812A4/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/UnknownMap_084812A4/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_084812A4/map.bin b/data/maps/UnknownMap_084812A4/map.bin new file mode 100644 index 0000000000..d033bc4d2e --- /dev/null +++ b/data/maps/UnknownMap_084812A4/map.bin @@ -0,0 +1 @@ +'';<=';<=';<='//CL2E/CD2E/CD2E/222222222222222222222222222222222222222289999:22222222@AAAAA22222222AAAAAA22222222AAAAAA22222222AAAAAA22222222IMMMMJ2222222222222222222222222222222222222222222222 \ No newline at end of file diff --git a/data/maps/UnknownMap_0848144C/border.bin b/data/maps/UnknownMap_0848144C/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/UnknownMap_0848144C/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_0848144C/map.bin b/data/maps/UnknownMap_0848144C/map.bin new file mode 100644 index 0000000000..eeccae9ae3 --- /dev/null +++ b/data/maps/UnknownMap_0848144C/map.bin @@ -0,0 +1 @@ +'';<=';<=';<='//CD2E/CL2E/CL2E/525252525252525265252525252626266642424242424242426262426264242424242424289999:4242424242424242@AAAAB4242424242424242AAAAAA4242424242424242AAAAAA4242424242424242AAAAAA4242424242424242IMMMMJ42424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242 \ No newline at end of file diff --git a/data/maps/UnknownMap_084815F4/border.bin b/data/maps/UnknownMap_084815F4/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/UnknownMap_084815F4/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_084815F4/map.bin b/data/maps/UnknownMap_084815F4/map.bin new file mode 100644 index 0000000000..8507a4932a --- /dev/null +++ b/data/maps/UnknownMap_084815F4/map.bin @@ -0,0 +1 @@ +'';<='''';<=''//CL2E////CD2E//22222222262222222222226222222228999999:222222@AAAAAAB222222AAAAAAAA222222AAAAAAAA222222AAAAAAAA222222AAAAAAAA222222AAAAAAAA222222IMMMMMMJ2222222222222222222222222222222 \ No newline at end of file diff --git a/data/maps/UnknownMap_08481B24/border.bin b/data/maps/UnknownMap_08481B24/border.bin new file mode 100644 index 0000000000..e9d1c658cb --- /dev/null +++ b/data/maps/UnknownMap_08481B24/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_08481B24/map.bin b/data/maps/UnknownMap_08481B24/map.bin new file mode 100644 index 0000000000..2a47bca91a --- /dev/null +++ b/data/maps/UnknownMap_08481B24/map.bin @@ -0,0 +1 @@ +d2d2d26d2d2d26d2d2d26666666d2d2d26d2d2d26d24242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242''''''''''m22n';<='''''''''//////////j22k/CL2E/////////52525252525252525252525252525252525252424242424242424242424242424242424242424242424242424242424242424242424242424242[[[[[[[[[[[[[[[[[[[[[[[[[[[ \ No newline at end of file diff --git a/data/maps/UnknownMap_08481DBC/border.bin b/data/maps/UnknownMap_08481DBC/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/UnknownMap_08481DBC/border.bin differ diff --git a/data/maps/UnknownMap_08481DBC/map.bin b/data/maps/UnknownMap_08481DBC/map.bin new file mode 100644 index 0000000000..603f55c935 --- /dev/null +++ b/data/maps/UnknownMap_08481DBC/map.bin @@ -0,0 +1,2 @@ +' +  +/6666-7$%655555555556555555655555565555555555655 555555 \ No newline at end of file diff --git a/data/maps/UnknownMap_25_29/border.bin b/data/maps/UnknownMap_25_29/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/UnknownMap_25_29/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_25_29/header.inc b/data/maps/UnknownMap_25_29/header.inc new file mode 100644 index 0000000000..4fa500e7ee --- /dev/null +++ b/data/maps/UnknownMap_25_29/header.inc @@ -0,0 +1,15 @@ +UnknownMap_25_29: @ 8484DBC + .4byte UnknownMap_25_29_MapAttributes + .4byte UnknownMap_25_29_MapEvents + .4byte UnknownMap_25_29_MapScripts + .4byte 0x0 + .2byte MUS_NIBI + .2byte 226 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/UnknownMap_25_29/map.bin b/data/maps/UnknownMap_25_29/map.bin new file mode 100644 index 0000000000..5fc1e81ecb --- /dev/null +++ b/data/maps/UnknownMap_25_29/map.bin @@ -0,0 +1 @@ +  \ No newline at end of file diff --git a/data/maps/UnknownMap_25_30/border.bin b/data/maps/UnknownMap_25_30/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/UnknownMap_25_30/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_25_30/header.inc b/data/maps/UnknownMap_25_30/header.inc new file mode 100644 index 0000000000..38600bb681 --- /dev/null +++ b/data/maps/UnknownMap_25_30/header.inc @@ -0,0 +1,15 @@ +UnknownMap_25_30: @ 8484DD8 + .4byte UnknownMap_25_30_MapAttributes + .4byte UnknownMap_25_30_MapEvents + .4byte UnknownMap_25_30_MapScripts + .4byte 0x0 + .2byte MUS_NIBI + .2byte 227 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/UnknownMap_25_30/map.bin b/data/maps/UnknownMap_25_30/map.bin new file mode 100644 index 0000000000..5fc1e81ecb --- /dev/null +++ b/data/maps/UnknownMap_25_30/map.bin @@ -0,0 +1 @@ +  \ No newline at end of file diff --git a/data/maps/UnknownMap_25_31/border.bin b/data/maps/UnknownMap_25_31/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/UnknownMap_25_31/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_25_31/header.inc b/data/maps/UnknownMap_25_31/header.inc new file mode 100644 index 0000000000..f53d3055ba --- /dev/null +++ b/data/maps/UnknownMap_25_31/header.inc @@ -0,0 +1,15 @@ +UnknownMap_25_31: @ 8484DF4 + .4byte UnknownMap_25_31_MapAttributes + .4byte UnknownMap_25_31_MapEvents + .4byte UnknownMap_25_31_MapScripts + .4byte 0x0 + .2byte MUS_NIBI + .2byte 228 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/UnknownMap_25_31/map.bin b/data/maps/UnknownMap_25_31/map.bin new file mode 100644 index 0000000000..5fc1e81ecb --- /dev/null +++ b/data/maps/UnknownMap_25_31/map.bin @@ -0,0 +1 @@ +  \ No newline at end of file diff --git a/data/maps/UnknownMap_25_32/border.bin b/data/maps/UnknownMap_25_32/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/UnknownMap_25_32/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_25_32/header.inc b/data/maps/UnknownMap_25_32/header.inc new file mode 100644 index 0000000000..0e269a53c7 --- /dev/null +++ b/data/maps/UnknownMap_25_32/header.inc @@ -0,0 +1,15 @@ +UnknownMap_25_32: @ 8484E10 + .4byte UnknownMap_25_32_MapAttributes + .4byte UnknownMap_25_32_MapEvents + .4byte UnknownMap_25_32_MapScripts + .4byte 0x0 + .2byte MUS_NIBI + .2byte 229 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/UnknownMap_25_32/map.bin b/data/maps/UnknownMap_25_32/map.bin new file mode 100644 index 0000000000..5fc1e81ecb --- /dev/null +++ b/data/maps/UnknownMap_25_32/map.bin @@ -0,0 +1 @@ +  \ No newline at end of file diff --git a/data/maps/UnknownMap_25_33/border.bin b/data/maps/UnknownMap_25_33/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/UnknownMap_25_33/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_25_33/header.inc b/data/maps/UnknownMap_25_33/header.inc new file mode 100644 index 0000000000..6a8df64c65 --- /dev/null +++ b/data/maps/UnknownMap_25_33/header.inc @@ -0,0 +1,15 @@ +UnknownMap_25_33: @ 8484E2C + .4byte UnknownMap_25_33_MapAttributes + .4byte UnknownMap_25_33_MapEvents + .4byte UnknownMap_25_33_MapScripts + .4byte 0x0 + .2byte MUS_NIBI + .2byte 230 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/UnknownMap_25_33/map.bin b/data/maps/UnknownMap_25_33/map.bin new file mode 100644 index 0000000000..5fc1e81ecb --- /dev/null +++ b/data/maps/UnknownMap_25_33/map.bin @@ -0,0 +1 @@ +  \ No newline at end of file diff --git a/data/maps/UnknownMap_25_34/border.bin b/data/maps/UnknownMap_25_34/border.bin new file mode 100644 index 0000000000..19d9066798 --- /dev/null +++ b/data/maps/UnknownMap_25_34/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/UnknownMap_25_34/header.inc b/data/maps/UnknownMap_25_34/header.inc new file mode 100644 index 0000000000..d37b7ceaae --- /dev/null +++ b/data/maps/UnknownMap_25_34/header.inc @@ -0,0 +1,15 @@ +UnknownMap_25_34: @ 8484E48 + .4byte UnknownMap_25_34_MapAttributes + .4byte UnknownMap_25_34_MapEvents + .4byte UnknownMap_25_34_MapScripts + .4byte 0x0 + .2byte MUS_NIBI + .2byte 231 + .byte 87 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/UnknownMap_25_34/map.bin b/data/maps/UnknownMap_25_34/map.bin new file mode 100644 index 0000000000..5fc1e81ecb --- /dev/null +++ b/data/maps/UnknownMap_25_34/map.bin @@ -0,0 +1 @@ +  \ No newline at end of file diff --git a/data/maps/VerdanturfTown/border.bin b/data/maps/VerdanturfTown/border.bin new file mode 100644 index 0000000000..864ac15fab Binary files /dev/null and b/data/maps/VerdanturfTown/border.bin differ diff --git a/data/maps/VerdanturfTown/connections.inc b/data/maps/VerdanturfTown/connections.inc new file mode 100644 index 0000000000..0e2abd0af5 --- /dev/null +++ b/data/maps/VerdanturfTown/connections.inc @@ -0,0 +1,8 @@ +VerdanturfTown_MapConnectionsList: @ 8486694 + connection up, -80, ROUTE_116, 0 + connection right, 0, ROUTE_117, 0 + +VerdanturfTown_MapConnections: @ 84866AC + .4byte 0x2 + .4byte VerdanturfTown_MapConnectionsList + diff --git a/data/maps/VerdanturfTown/header.inc b/data/maps/VerdanturfTown/header.inc new file mode 100644 index 0000000000..49be641553 --- /dev/null +++ b/data/maps/VerdanturfTown/header.inc @@ -0,0 +1,15 @@ +VerdanturfTown: @ 8482640 + .4byte VerdanturfTown_MapAttributes + .4byte VerdanturfTown_MapEvents + .4byte VerdanturfTown_MapScripts + .4byte VerdanturfTown_MapConnections + .2byte MUS_GOMACHI0 + .2byte 15 + .byte 5 + .byte 0 + .byte 2 + .byte 1 + .2byte 0 + .byte 13 + .byte 0 + diff --git a/data/maps/VerdanturfTown/map.bin b/data/maps/VerdanturfTown/map.bin new file mode 100644 index 0000000000..8ed6ea56b1 Binary files /dev/null and b/data/maps/VerdanturfTown/map.bin differ diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/border.bin b/data/maps/VerdanturfTown_BattleTentBattleRoom/border.bin new file mode 100644 index 0000000000..9afd13cdc0 Binary files /dev/null and b/data/maps/VerdanturfTown_BattleTentBattleRoom/border.bin differ diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/header.inc b/data/maps/VerdanturfTown_BattleTentBattleRoom/header.inc new file mode 100644 index 0000000000..fba5c3764c --- /dev/null +++ b/data/maps/VerdanturfTown_BattleTentBattleRoom/header.inc @@ -0,0 +1,15 @@ +VerdanturfTown_BattleTentBattleRoom: @ 8482E90 + .4byte VerdanturfTown_BattleTentBattleRoom_MapAttributes + .4byte VerdanturfTown_BattleTentBattleRoom_MapEvents + .4byte VerdanturfTown_BattleTentBattleRoom_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 387 + .byte 5 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/map.bin b/data/maps/VerdanturfTown_BattleTentBattleRoom/map.bin new file mode 100644 index 0000000000..c405aabfcd Binary files /dev/null and b/data/maps/VerdanturfTown_BattleTentBattleRoom/map.bin differ diff --git a/data/maps/VerdanturfTown_BattleTentCorridor/header.inc b/data/maps/VerdanturfTown_BattleTentCorridor/header.inc new file mode 100644 index 0000000000..5d8bccc99b --- /dev/null +++ b/data/maps/VerdanturfTown_BattleTentCorridor/header.inc @@ -0,0 +1,15 @@ +VerdanturfTown_BattleTentCorridor: @ 8482E74 + .4byte VerdanturfTown_BattleTentCorridor_MapAttributes + .4byte VerdanturfTown_BattleTentCorridor_MapEvents + .4byte VerdanturfTown_BattleTentCorridor_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 385 + .byte 5 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/VerdanturfTown_BattleTentLobby/header.inc b/data/maps/VerdanturfTown_BattleTentLobby/header.inc new file mode 100644 index 0000000000..6b998c2188 --- /dev/null +++ b/data/maps/VerdanturfTown_BattleTentLobby/header.inc @@ -0,0 +1,15 @@ +VerdanturfTown_BattleTentLobby: @ 8482E58 + .4byte VerdanturfTown_BattleTentLobby_MapAttributes + .4byte VerdanturfTown_BattleTentLobby_MapEvents + .4byte VerdanturfTown_BattleTentLobby_MapScripts + .4byte 0x0 + .2byte MUS_B_TOWER + .2byte 384 + .byte 5 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/VerdanturfTown_FriendshipRatersHouse/header.inc b/data/maps/VerdanturfTown_FriendshipRatersHouse/header.inc new file mode 100644 index 0000000000..6666d264d3 --- /dev/null +++ b/data/maps/VerdanturfTown_FriendshipRatersHouse/header.inc @@ -0,0 +1,15 @@ +VerdanturfTown_FriendshipRatersHouse: @ 8482F1C + .4byte VerdanturfTown_FriendshipRatersHouse_MapAttributes + .4byte VerdanturfTown_FriendshipRatersHouse_MapEvents + .4byte VerdanturfTown_FriendshipRatersHouse_MapScripts + .4byte 0x0 + .2byte MUS_GOMACHI0 + .2byte 60 + .byte 5 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/VerdanturfTown_House/header.inc b/data/maps/VerdanturfTown_House/header.inc new file mode 100644 index 0000000000..a1e99f9846 --- /dev/null +++ b/data/maps/VerdanturfTown_House/header.inc @@ -0,0 +1,15 @@ +VerdanturfTown_House: @ 8482F38 + .4byte VerdanturfTown_House_MapAttributes + .4byte VerdanturfTown_House_MapEvents + .4byte VerdanturfTown_House_MapScripts + .4byte 0x0 + .2byte MUS_GOMACHI0 + .2byte 59 + .byte 5 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/VerdanturfTown_Mart/header.inc b/data/maps/VerdanturfTown_Mart/header.inc new file mode 100644 index 0000000000..3b5c3cce5b --- /dev/null +++ b/data/maps/VerdanturfTown_Mart/header.inc @@ -0,0 +1,15 @@ +VerdanturfTown_Mart: @ 8482EAC + .4byte VerdanturfTown_Mart_MapAttributes + .4byte VerdanturfTown_Mart_MapEvents + .4byte VerdanturfTown_Mart_MapScripts + .4byte 0x0 + .2byte MUS_FRIENDLY + .2byte 63 + .byte 5 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/VerdanturfTown_PokemonCenter_1F/header.inc b/data/maps/VerdanturfTown_PokemonCenter_1F/header.inc new file mode 100644 index 0000000000..d6fc481714 --- /dev/null +++ b/data/maps/VerdanturfTown_PokemonCenter_1F/header.inc @@ -0,0 +1,15 @@ +VerdanturfTown_PokemonCenter_1F: @ 8482EC8 + .4byte VerdanturfTown_PokemonCenter_1F_MapAttributes + .4byte VerdanturfTown_PokemonCenter_1F_MapEvents + .4byte VerdanturfTown_PokemonCenter_1F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 61 + .byte 5 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/VerdanturfTown_PokemonCenter_2F/header.inc b/data/maps/VerdanturfTown_PokemonCenter_2F/header.inc new file mode 100644 index 0000000000..fa99aeaa4b --- /dev/null +++ b/data/maps/VerdanturfTown_PokemonCenter_2F/header.inc @@ -0,0 +1,15 @@ +VerdanturfTown_PokemonCenter_2F: @ 8482EE4 + .4byte VerdanturfTown_PokemonCenter_2F_MapAttributes + .4byte VerdanturfTown_PokemonCenter_2F_MapEvents + .4byte VerdanturfTown_PokemonCenter_2F_MapScripts + .4byte 0x0 + .2byte MUS_POKECEN + .2byte 62 + .byte 5 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/VerdanturfTown_WandasHouse/border.bin b/data/maps/VerdanturfTown_WandasHouse/border.bin new file mode 100644 index 0000000000..f496f458ec Binary files /dev/null and b/data/maps/VerdanturfTown_WandasHouse/border.bin differ diff --git a/data/maps/VerdanturfTown_WandasHouse/header.inc b/data/maps/VerdanturfTown_WandasHouse/header.inc new file mode 100644 index 0000000000..a1e4e49aae --- /dev/null +++ b/data/maps/VerdanturfTown_WandasHouse/header.inc @@ -0,0 +1,15 @@ +VerdanturfTown_WandasHouse: @ 8482F00 + .4byte VerdanturfTown_WandasHouse_MapAttributes + .4byte VerdanturfTown_WandasHouse_MapEvents + .4byte VerdanturfTown_WandasHouse_MapScripts + .4byte 0x0 + .2byte MUS_GOMACHI0 + .2byte 76 + .byte 5 + .byte 0 + .byte 0 + .byte 8 + .2byte 0 + .byte 0 + .byte 0 + diff --git a/data/maps/VerdanturfTown_WandasHouse/map.bin b/data/maps/VerdanturfTown_WandasHouse/map.bin new file mode 100644 index 0000000000..95d14d3c49 Binary files /dev/null and b/data/maps/VerdanturfTown_WandasHouse/map.bin differ diff --git a/data/maps/VictoryRoad_1F/border.bin b/data/maps/VictoryRoad_1F/border.bin new file mode 100644 index 0000000000..423a0732e6 --- /dev/null +++ b/data/maps/VictoryRoad_1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/VictoryRoad_1F/header.inc b/data/maps/VictoryRoad_1F/header.inc new file mode 100644 index 0000000000..8bd8286b5e --- /dev/null +++ b/data/maps/VictoryRoad_1F/header.inc @@ -0,0 +1,15 @@ +VictoryRoad_1F: @ 8484374 + .4byte VictoryRoad_1F_MapAttributes + .4byte VictoryRoad_1F_MapEvents + .4byte VictoryRoad_1F_MapScripts + .4byte 0x0 + .2byte MUS_C_ROAD + .2byte 163 + .byte 70 + .byte 0 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/VictoryRoad_1F/map.bin b/data/maps/VictoryRoad_1F/map.bin new file mode 100644 index 0000000000..a78316ef96 --- /dev/null +++ b/data/maps/VictoryRoad_1F/map.bin @@ -0,0 +1,10 @@ +2222222222622222222222'222222222226222    XYZ #    +222         #222        #F222222222222BBBBBBBBBBBB2222BBBBBBBBBBBBBB2222BBBBBBBBBBBBBB#  # +222222      +BBBBBBBBBBBB  B B B"22222#BBBBBBBBBBBBBBBBBBB B B B B"BBBBBBBBBBBBBBBBBBBBBBBBBB22222BB2222222BB222222222222BB222222222222222222222222222BB22222222222222222222222BB222      +2222222222222222222222BBBBBBB B B B"22222222222222222222222BBBBBBBBBB22      +2222    +2222222222  B B BBBBBB B"22L6Q6M6222P6BBBBBBBBB2222222222222228#2222222222222222222228# +222222222222222222228222222222222222222      +2228222222222222222222  B B B"2228#   #22222222BBBBBBBB B B B"22222222222222#22BBBBBBBBBBB222222222222222 #B2222282222222222   ###B222228222222222#  B B#B#BB22222222222@QI22222222  ## #  B#BBBBBB22222'62222222822222222  B B B B B B#BBBBBBBB#    +2262222222822     #              ##   "#     XYZ   # #      #            ## "#               #   #  ##"#                      ##                            # \ No newline at end of file diff --git a/data/maps/VictoryRoad_B1F/border.bin b/data/maps/VictoryRoad_B1F/border.bin new file mode 100644 index 0000000000..423a0732e6 --- /dev/null +++ b/data/maps/VictoryRoad_B1F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/VictoryRoad_B1F/header.inc b/data/maps/VictoryRoad_B1F/header.inc new file mode 100644 index 0000000000..620dbdc71b --- /dev/null +++ b/data/maps/VictoryRoad_B1F/header.inc @@ -0,0 +1,15 @@ +VictoryRoad_B1F: @ 8484390 + .4byte VictoryRoad_B1F_MapAttributes + .4byte VictoryRoad_B1F_MapEvents + .4byte VictoryRoad_B1F_MapScripts + .4byte 0x0 + .2byte MUS_C_ROAD + .2byte 285 + .byte 70 + .byte 1 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/VictoryRoad_B1F/map.bin b/data/maps/VictoryRoad_B1F/map.bin new file mode 100644 index 0000000000..c1ea2f657d --- /dev/null +++ b/data/maps/VictoryRoad_B1F/map.bin @@ -0,0 +1,25 @@ +BBBBBBBBB2222222BBBB2222222P22222222# +222BBBB2   +2282222222222  +222# +222BBBB222R2222   +2#222# +22 #BBBB2222222    +2# #22#2#BBBBB# +2   +22  B B B BBBBB B B B B +2fBBBf#"2222BBBBBBBBBBBB2BBBBB2222222222222BfBB#     +2#2222222#"#  "2222222222P2222222222#"2222222   +22228222#  +22222 ##       ##  +228222#   +22  B B#B #22R222 #B B B BBBBBBBB222222622#    +22BBBBBBBBBBB2222222222222222222BBB22222222222222 #2222BBB22#       +2222222222#22BB #22#  +2222#  +2222#22BB22222#222#    #222BB22#22#  +22222BB22# +222# +222222# +2222222222222222222222222P222# +222222222222222222222282222222222222 #2222222222R222#                 ##              ##                                          ##                                            # \ No newline at end of file diff --git a/data/maps/VictoryRoad_B2F/border.bin b/data/maps/VictoryRoad_B2F/border.bin new file mode 100644 index 0000000000..423a0732e6 --- /dev/null +++ b/data/maps/VictoryRoad_B2F/border.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/VictoryRoad_B2F/header.inc b/data/maps/VictoryRoad_B2F/header.inc new file mode 100644 index 0000000000..ebafcfd490 --- /dev/null +++ b/data/maps/VictoryRoad_B2F/header.inc @@ -0,0 +1,15 @@ +VictoryRoad_B2F: @ 84843AC + .4byte VictoryRoad_B2F_MapAttributes + .4byte VictoryRoad_B2F_MapEvents + .4byte VictoryRoad_B2F_MapScripts + .4byte 0x0 + .2byte MUS_C_ROAD + .2byte 286 + .byte 70 + .byte 1 + .byte 0 + .byte 4 + .2byte 0 + .byte 15 + .byte 0 + diff --git a/data/maps/VictoryRoad_B2F/map.bin b/data/maps/VictoryRoad_B2F/map.bin new file mode 100644 index 0000000000..24c4f646a3 --- /dev/null +++ b/data/maps/VictoryRoad_B2F/map.bin @@ -0,0 +1 @@ +2{{{{{{{{{{{{{{{{{{{{{{2222{{{{{{{{{{{{{{{{{{{{{{22222222{{{{{{{{{{{{{{{{{{{{{{222222222{{{{{TUUUV{{{{{{{{{{{{22222222222W3W3W3y{W3W3W3W3W3W3W3W3y{{{222  "22222222222{22222222W3W3y{ #B22#B"222222222222{222222222222{222222222222222{22222222222{222222222222222222222Z[tuv222222222{222XY{{{{{{{{22222222222tuv{{PQ{{{{{{{22222222{{{{{{{{{{{{{{{{XY{{{{{{{{{{x  #222222UUUUV{{{{{{{{{TUUUUUUUUUUV{{  2#2222222#     "V{{{TUUUU         "D2D2D22222222#2 2 2  B B"D2D2D2     #  B B B B B BBBBBBBB222222222BBBBBBBBB B B B B#BBBBBBBBBBBBBB2222BBBBBBBBBBBBBBBBBBB222NRRRO222BBBBBBBB22222222222222222222222222222222222222222222222222222222222222222262222222222222222222222222226#             ##              #6#               ##                  ##                                          ##                                            # \ No newline at end of file diff --git a/data/maps/_assets.inc b/data/maps/_assets.inc new file mode 100644 index 0000000000..c3c2a8d31d --- /dev/null +++ b/data/maps/_assets.inc @@ -0,0 +1,7606 @@ + .align 2 +PetalburgCity_MapBorder: @ 83DFE14 + .incbin "data/maps/PetalburgCity/border.bin" + + .align 2 +PetalburgCity_MapBlockdata: @ 83DFE1C + .incbin "data/maps/PetalburgCity/map.bin" + + .align 2 +PetalburgCity_MapAttributes: @ 83E0524 + .4byte 0x1e + .4byte 0x1e + .4byte PetalburgCity_MapBorder + .4byte PetalburgCity_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Petalburg + + .align 2 +SlateportCity_MapBorder: @ 83E053C + .incbin "data/maps/SlateportCity/border.bin" + + .align 2 +SlateportCity_MapBlockdata: @ 83E0544 + .incbin "data/maps/SlateportCity/map.bin" + + .align 2 +SlateportCity_MapAttributes: @ 83E1804 + .4byte 0x28 + .4byte 0x3c + .4byte SlateportCity_MapBorder + .4byte SlateportCity_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Slateport + + .align 2 +MauvilleCity_MapBorder: @ 83E181C + .incbin "data/maps/MauvilleCity/border.bin" + + .align 2 +MauvilleCity_MapBlockdata: @ 83E1824 + .incbin "data/maps/MauvilleCity/map.bin" + + .align 2 +MauvilleCity_MapAttributes: @ 83E1E64 + .4byte 0x28 + .4byte 0x14 + .4byte MauvilleCity_MapBorder + .4byte MauvilleCity_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Mauville + + .align 2 +RustboroCity_MapBorder: @ 83E1E7C + .incbin "data/maps/RustboroCity/border.bin" + + .align 2 +RustboroCity_MapBlockdata: @ 83E1E84 + .incbin "data/maps/RustboroCity/map.bin" + + .align 2 +RustboroCity_MapAttributes: @ 83E3144 + .4byte 0x28 + .4byte 0x3c + .4byte RustboroCity_MapBorder + .4byte RustboroCity_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Rustboro + + .align 2 +FortreeCity_MapBorder: @ 83E315C + .incbin "data/maps/FortreeCity/border.bin" + + .align 2 +FortreeCity_MapBlockdata: @ 83E3164 + .incbin "data/maps/FortreeCity/map.bin" + + .align 2 +FortreeCity_MapAttributes: @ 83E37A4 + .4byte 0x28 + .4byte 0x14 + .4byte FortreeCity_MapBorder + .4byte FortreeCity_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Fortree + + .align 2 +LilycoveCity_MapBorder: @ 83E37BC + .incbin "data/maps/LilycoveCity/border.bin" + + .align 2 +LilycoveCity_MapBlockdata: @ 83E37C4 + .incbin "data/maps/LilycoveCity/map.bin" + + .align 2 +LilycoveCity_MapAttributes: @ 83E50C4 + .4byte 0x50 + .4byte 0x28 + .4byte LilycoveCity_MapBorder + .4byte LilycoveCity_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lilycove + + .align 2 +MossdeepCity_MapBorder: @ 83E50DC + .incbin "data/maps/MossdeepCity/border.bin" + + .align 2 +MossdeepCity_MapBlockdata: @ 83E50E4 + .incbin "data/maps/MossdeepCity/map.bin" + + .align 2 +MossdeepCity_MapAttributes: @ 83E69E4 + .4byte 0x50 + .4byte 0x28 + .4byte MossdeepCity_MapBorder + .4byte MossdeepCity_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Mossdeep + + .align 2 +SootopolisCity_MapBorder: @ 83E69FC + .incbin "data/maps/SootopolisCity/border.bin" + + .align 2 +SootopolisCity_MapBlockdata: @ 83E6A04 + .incbin "data/maps/SootopolisCity/map.bin" + + .align 2 +SootopolisCity_MapAttributes: @ 83E8624 + .4byte 0x3c + .4byte 0x3c + .4byte SootopolisCity_MapBorder + .4byte SootopolisCity_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Sootopolis + + .align 2 +EverGrandeCity_MapBorder: @ 83E863C + .incbin "data/maps/EverGrandeCity/border.bin" + + .align 2 +EverGrandeCity_MapBlockdata: @ 83E8644 + .incbin "data/maps/EverGrandeCity/map.bin" + + .align 2 +EverGrandeCity_MapAttributes: @ 83E9F44 + .4byte 0x28 + .4byte 0x50 + .4byte EverGrandeCity_MapBorder + .4byte EverGrandeCity_MapBlockdata + .4byte gTileset_General + .4byte gTileset_EverGrande + + .align 2 +LittlerootTown_MapBorder: @ 83E9F5C + .incbin "data/maps/LittlerootTown/border.bin" + + .align 2 +LittlerootTown_MapBlockdata: @ 83E9F64 + .incbin "data/maps/LittlerootTown/map.bin" + + .align 2 +LittlerootTown_MapAttributes: @ 83EA284 + .4byte 0x14 + .4byte 0x14 + .4byte LittlerootTown_MapBorder + .4byte LittlerootTown_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Petalburg + + .align 2 +OldaleTown_MapBorder: @ 83EA29C + .incbin "data/maps/OldaleTown/border.bin" + + .align 2 +OldaleTown_MapBlockdata: @ 83EA2A4 + .incbin "data/maps/OldaleTown/map.bin" + + .align 2 +OldaleTown_MapAttributes: @ 83EA5C4 + .4byte 0x14 + .4byte 0x14 + .4byte OldaleTown_MapBorder + .4byte OldaleTown_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Petalburg + + .align 2 +DewfordTown_MapBorder: @ 83EA5DC + .incbin "data/maps/DewfordTown/border.bin" + + .align 2 +DewfordTown_MapBlockdata: @ 83EA5E4 + .incbin "data/maps/DewfordTown/map.bin" + + .align 2 +DewfordTown_MapAttributes: @ 83EA904 + .4byte 0x14 + .4byte 0x14 + .4byte DewfordTown_MapBorder + .4byte DewfordTown_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Dewford + + .align 2 +LavaridgeTown_MapBorder: @ 83EA91C + .incbin "data/maps/LavaridgeTown/border.bin" + + .align 2 +LavaridgeTown_MapBlockdata: @ 83EA924 + .incbin "data/maps/LavaridgeTown/map.bin" + + .align 2 +LavaridgeTown_MapAttributes: @ 83EAC44 + .4byte 0x14 + .4byte 0x14 + .4byte LavaridgeTown_MapBorder + .4byte LavaridgeTown_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lavaridge + + .align 2 +FallarborTown_MapBorder: @ 83EAC5C + .incbin "data/maps/FallarborTown/border.bin" + + .align 2 +FallarborTown_MapBlockdata: @ 83EAC64 + .incbin "data/maps/FallarborTown/map.bin" + + .align 2 +FallarborTown_MapAttributes: @ 83EAF84 + .4byte 0x14 + .4byte 0x14 + .4byte FallarborTown_MapBorder + .4byte FallarborTown_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Fallarbor + + .align 2 +VerdanturfTown_MapBorder: @ 83EAF9C + .incbin "data/maps/VerdanturfTown/border.bin" + + .align 2 +VerdanturfTown_MapBlockdata: @ 83EAFA4 + .incbin "data/maps/VerdanturfTown/map.bin" + + .align 2 +VerdanturfTown_MapAttributes: @ 83EB2C4 + .4byte 0x14 + .4byte 0x14 + .4byte VerdanturfTown_MapBorder + .4byte VerdanturfTown_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Mauville + + .align 2 +PacifidlogTown_MapBorder: @ 83EB2DC + .incbin "data/maps/PacifidlogTown/border.bin" + + .align 2 +PacifidlogTown_MapBlockdata: @ 83EB2E4 + .incbin "data/maps/PacifidlogTown/map.bin" + + .align 2 +PacifidlogTown_MapAttributes: @ 83EB924 + .4byte 0x14 + .4byte 0x28 + .4byte PacifidlogTown_MapBorder + .4byte PacifidlogTown_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Pacifidlog + + .align 2 +Route101_MapBorder: @ 83EB93C + .incbin "data/maps/Route101/border.bin" + + .align 2 +Route101_MapBlockdata: @ 83EB944 + .incbin "data/maps/Route101/map.bin" + + .align 2 +Route101_MapAttributes: @ 83EBC64 + .4byte 0x14 + .4byte 0x14 + .4byte Route101_MapBorder + .4byte Route101_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Petalburg + + .align 2 +Route102_MapBorder: @ 83EBC7C + .incbin "data/maps/Route102/border.bin" + + .align 2 +Route102_MapBlockdata: @ 83EBC84 + .incbin "data/maps/Route102/map.bin" + + .align 2 +Route102_MapAttributes: @ 83EC454 + .4byte 0x32 + .4byte 0x14 + .4byte Route102_MapBorder + .4byte Route102_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Petalburg + + .align 2 +Route103_MapBorder: @ 83EC46C + .incbin "data/maps/Route103/border.bin" + + .align 2 +Route103_MapBlockdata: @ 83EC474 + .incbin "data/maps/Route103/map.bin" + + .align 2 +Route103_MapAttributes: @ 83ED234 + .4byte 0x50 + .4byte 0x16 + .4byte Route103_MapBorder + .4byte Route103_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Petalburg + + .align 2 +Route104_MapBorder: @ 83ED24C + .incbin "data/maps/Route104/border.bin" + + .align 2 +Route104_MapBlockdata: @ 83ED254 + .incbin "data/maps/Route104/map.bin" + + .align 2 +Route104_MapAttributes: @ 83EEB54 + .4byte 0x28 + .4byte 0x50 + .4byte Route104_MapBorder + .4byte Route104_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Rustboro + + .align 2 +Route105_MapBorder: @ 83EEB6C + .incbin "data/maps/Route105/border.bin" + + .align 2 +Route105_MapBlockdata: @ 83EEB74 + .incbin "data/maps/Route105/map.bin" + + .align 2 +Route105_MapAttributes: @ 83F0474 + .4byte 0x28 + .4byte 0x50 + .4byte Route105_MapBorder + .4byte Route105_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Dewford + + .align 2 +Route106_MapBorder: @ 83F048C + .incbin "data/maps/Route106/border.bin" + + .align 2 +Route106_MapBlockdata: @ 83F0494 + .incbin "data/maps/Route106/map.bin" + + .align 2 +Route106_MapAttributes: @ 83F1114 + .4byte 0x50 + .4byte 0x14 + .4byte Route106_MapBorder + .4byte Route106_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Dewford + + .align 2 +Route107_MapBorder: @ 83F112C + .incbin "data/maps/Route107/border.bin" + + .align 2 +Route107_MapBlockdata: @ 83F1134 + .incbin "data/maps/Route107/map.bin" + + .align 2 +Route107_MapAttributes: @ 83F1A94 + .4byte 0x3c + .4byte 0x14 + .4byte Route107_MapBorder + .4byte Route107_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Dewford + + .align 2 +Route108_MapBorder: @ 83F1AAC + .incbin "data/maps/Route108/border.bin" + + .align 2 +Route108_MapBlockdata: @ 83F1AB4 + .incbin "data/maps/Route108/map.bin" + + .align 2 +Route108_MapAttributes: @ 83F2414 + .4byte 0x3c + .4byte 0x14 + .4byte Route108_MapBorder + .4byte Route108_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Slateport + + .align 2 +Route109_MapBorder: @ 83F242C + .incbin "data/maps/Route109/border.bin" + + .align 2 +Route109_MapBlockdata: @ 83F2434 + .incbin "data/maps/Route109/map.bin" + + .align 2 +Route109_MapAttributes: @ 83F37E4 + .4byte 0x28 + .4byte 0x3f + .4byte Route109_MapBorder + .4byte Route109_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Slateport + + .align 2 +Route110_MapBorder: @ 83F37FC + .incbin "data/maps/Route110/border.bin" + + .align 2 +Route110_MapBlockdata: @ 83F3804 + .incbin "data/maps/Route110/map.bin" + + .align 2 +Route110_MapAttributes: @ 83F5744 + .4byte 0x28 + .4byte 0x64 + .4byte Route110_MapBorder + .4byte Route110_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Mauville + + .align 2 +Route111_MapBorder: @ 83F575C + .incbin "data/maps/Route111/border.bin" + + .align 2 +Route111_MapBlockdata: @ 83F5764 + .incbin "data/maps/Route111/map.bin" + + .align 2 +Route111_MapAttributes: @ 83F8324 + .4byte 0x28 + .4byte 0x8c + .4byte Route111_MapBorder + .4byte Route111_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Mauville + + .align 2 +Route112_MapBorder: @ 83F833C + .incbin "data/maps/Route112/border.bin" + + .align 2 +Route112_MapBlockdata: @ 83F8344 + .incbin "data/maps/Route112/map.bin" + + .align 2 +Route112_MapAttributes: @ 83F9604 + .4byte 0x28 + .4byte 0x3c + .4byte Route112_MapBorder + .4byte Route112_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lavaridge + + .align 2 +Route113_MapBorder: @ 83F961C + .incbin "data/maps/Route113/border.bin" + + .align 2 +Route113_MapBlockdata: @ 83F9624 + .incbin "data/maps/Route113/map.bin" + + .align 2 +Route113_MapAttributes: @ 83FA5C4 + .4byte 0x64 + .4byte 0x14 + .4byte Route113_MapBorder + .4byte Route113_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Fallarbor + + .align 2 +Route114_MapBorder: @ 83FA5DC + .incbin "data/maps/Route114/border.bin" + + .align 2 +Route114_MapBlockdata: @ 83FA5E4 + .incbin "data/maps/Route114/map.bin" + + .align 2 +Route114_MapAttributes: @ 83FBEE4 + .4byte 0x28 + .4byte 0x50 + .4byte Route114_MapBorder + .4byte Route114_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Fallarbor + + .align 2 +Route115_MapBorder: @ 83FBEFC + .incbin "data/maps/Route115/border.bin" + + .align 2 +Route115_MapBlockdata: @ 83FBF04 + .incbin "data/maps/Route115/map.bin" + + .align 2 +Route115_MapAttributes: @ 83FD804 + .4byte 0x28 + .4byte 0x50 + .4byte Route115_MapBorder + .4byte Route115_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Fallarbor + + .align 2 +Route116_MapBorder: @ 83FD81C + .incbin "data/maps/Route116/border.bin" + + .align 2 +Route116_MapBlockdata: @ 83FD824 + .incbin "data/maps/Route116/map.bin" + + .align 2 +Route116_MapAttributes: @ 83FE7C4 + .4byte 0x64 + .4byte 0x14 + .4byte Route116_MapBorder + .4byte Route116_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Rustboro + + .align 2 +Route117_MapBorder: @ 83FE7DC + .incbin "data/maps/Route117/border.bin" + + .align 2 +Route117_MapBlockdata: @ 83FE7E4 + .incbin "data/maps/Route117/map.bin" + + .align 2 +Route117_MapAttributes: @ 83FF144 + .4byte 0x3c + .4byte 0x14 + .4byte Route117_MapBorder + .4byte Route117_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Mauville + + .align 2 +Route118_MapBorder: @ 83FF15C + .incbin "data/maps/Route118/border.bin" + + .align 2 +Route118_MapBlockdata: @ 83FF164 + .incbin "data/maps/Route118/map.bin" + + .align 2 +Route118_MapAttributes: @ 83FFDE4 + .4byte 0x50 + .4byte 0x14 + .4byte Route118_MapBorder + .4byte Route118_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Mauville + + .align 2 +Route119_MapBorder: @ 83FFDFC + .incbin "data/maps/Route119/border.bin" + + .align 2 +Route119_MapBlockdata: @ 83FFE04 + .incbin "data/maps/Route119/map.bin" + + .align 2 +Route119_MapAttributes: @ 84029C4 + .4byte 0x28 + .4byte 0x8c + .4byte Route119_MapBorder + .4byte Route119_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Fortree + + .align 2 +Route120_MapBorder: @ 84029DC + .incbin "data/maps/Route120/border.bin" + + .align 2 +Route120_MapBlockdata: @ 84029E4 + .incbin "data/maps/Route120/map.bin" + + .align 2 +Route120_MapAttributes: @ 8404924 + .4byte 0x28 + .4byte 0x64 + .4byte Route120_MapBorder + .4byte Route120_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Fortree + + .align 2 +Route121_MapBorder: @ 840493C + .incbin "data/maps/Route121/border.bin" + + .align 2 +Route121_MapBlockdata: @ 8404944 + .incbin "data/maps/Route121/map.bin" + + .align 2 +Route121_MapAttributes: @ 84055C4 + .4byte 0x50 + .4byte 0x14 + .4byte Route121_MapBorder + .4byte Route121_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lilycove + + .align 2 +Route122_MapBorder: @ 84055DC + .incbin "data/maps/Route122/border.bin" + + .align 2 +Route122_MapBlockdata: @ 84055E4 + .incbin "data/maps/Route122/map.bin" + + .align 2 +Route122_MapAttributes: @ 8406264 + .4byte 0x28 + .4byte 0x28 + .4byte Route122_MapBorder + .4byte Route122_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lilycove + + .align 2 +Route123_MapBorder: @ 840627C + .incbin "data/maps/Route123/border.bin" + + .align 2 +Route123_MapBlockdata: @ 8406284 + .incbin "data/maps/Route123/map.bin" + + .align 2 +Route123_MapAttributes: @ 8407864 + .4byte 0x8c + .4byte 0x14 + .4byte Route123_MapBorder + .4byte Route123_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lilycove + + .align 2 +Route124_MapBorder: @ 840787C + .incbin "data/maps/Route124/border.bin" + + .align 2 +Route124_MapBlockdata: @ 8407884 + .incbin "data/maps/Route124/map.bin" + + .align 2 +Route124_MapAttributes: @ 840AA84 + .4byte 0x50 + .4byte 0x50 + .4byte Route124_MapBorder + .4byte Route124_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Mossdeep + + .align 2 +Route125_MapBorder: @ 840AA9C + .incbin "data/maps/Route125/border.bin" + + .align 2 +Route125_MapBlockdata: @ 840AAA4 + .incbin "data/maps/Route125/map.bin" + + .align 2 +Route125_MapAttributes: @ 840C3A4 + .4byte 0x50 + .4byte 0x28 + .4byte Route125_MapBorder + .4byte Route125_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Mossdeep + + .align 2 +Route126_MapBorder: @ 840C3BC + .incbin "data/maps/Route126/border.bin" + + .align 2 +Route126_MapBlockdata: @ 840C3C4 + .incbin "data/maps/Route126/map.bin" + + .align 2 +Route126_MapAttributes: @ 840F5C4 + .4byte 0x50 + .4byte 0x50 + .4byte Route126_MapBorder + .4byte Route126_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Mossdeep + + .align 2 +Route127_MapBorder: @ 840F5DC + .incbin "data/maps/Route127/border.bin" + + .align 2 +Route127_MapBlockdata: @ 840F5E4 + .incbin "data/maps/Route127/map.bin" + + .align 2 +Route127_MapAttributes: @ 84127E4 + .4byte 0x50 + .4byte 0x50 + .4byte Route127_MapBorder + .4byte Route127_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Mossdeep + + .align 2 +Route128_MapBorder: @ 84127FC + .incbin "data/maps/Route128/border.bin" + + .align 2 +Route128_MapBlockdata: @ 8412804 + .incbin "data/maps/Route128/map.bin" + + .align 2 +Route128_MapAttributes: @ 8414D84 + .4byte 0x78 + .4byte 0x28 + .4byte Route128_MapBorder + .4byte Route128_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Mossdeep + + .align 2 +Route129_MapBorder: @ 8414D9C + .incbin "data/maps/Route129/border.bin" + + .align 2 +Route129_MapBlockdata: @ 8414DA4 + .incbin "data/maps/Route129/map.bin" + + .align 2 +Route129_MapAttributes: @ 84166A4 + .4byte 0x50 + .4byte 0x28 + .4byte Route129_MapBorder + .4byte Route129_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Mossdeep + + .align 2 +UnknownMapBorder_08417FC4: @ 84166BC + .incbin "data/maps/UnknownMap_08417FC4/border.bin" + + .align 2 +UnknownMapBlockdata_08417FC4: @ 84166C4 + .incbin "data/maps/UnknownMap_08417FC4/map.bin" + + .align 2 +UnknownMapAttributes_08417FC4: @ 8417FC4 + .4byte 0x50 + .4byte 0x28 + .4byte UnknownMapBorder_08417FC4 + .4byte UnknownMapBlockdata_08417FC4 + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +Route131_MapBorder: @ 8417FDC + .incbin "data/maps/Route131/border.bin" + + .align 2 +Route131_MapBlockdata: @ 8417FE4 + .incbin "data/maps/Route131/map.bin" + + .align 2 +Route131_MapAttributes: @ 84192A4 + .4byte 0x3c + .4byte 0x28 + .4byte Route131_MapBorder + .4byte Route131_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Pacifidlog + + .align 2 +Route132_MapBorder: @ 84192BC + .incbin "data/maps/Route132/border.bin" + + .align 2 +Route132_MapBlockdata: @ 84192C4 + .incbin "data/maps/Route132/map.bin" + + .align 2 +Route132_MapAttributes: @ 841ABC4 + .4byte 0x50 + .4byte 0x28 + .4byte Route132_MapBorder + .4byte Route132_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Pacifidlog + + .align 2 +Route133_MapBorder: @ 841ABDC + .incbin "data/maps/Route133/border.bin" + + .align 2 +Route133_MapBlockdata: @ 841ABE4 + .incbin "data/maps/Route133/map.bin" + + .align 2 +Route133_MapAttributes: @ 841C4E4 + .4byte 0x50 + .4byte 0x28 + .4byte Route133_MapBorder + .4byte Route133_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Pacifidlog + + .align 2 +Route134_MapBorder: @ 841C4FC + .incbin "data/maps/Route134/border.bin" + + .align 2 +Route134_MapBlockdata: @ 841C504 + .incbin "data/maps/Route134/map.bin" + + .align 2 +Route134_MapAttributes: @ 841DE04 + .4byte 0x50 + .4byte 0x28 + .4byte Route134_MapBorder + .4byte Route134_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Pacifidlog + + .align 2 +Underwater2_MapBorder: @ 841DE1C + .incbin "data/maps/Underwater2/border.bin" + + .align 2 +Underwater2_MapBlockdata: @ 841DE24 + .incbin "data/maps/Underwater2/map.bin" + + .align 2 +Underwater2_MapAttributes: @ 8421024 + .4byte 0x50 + .4byte 0x50 + .4byte Underwater2_MapBorder + .4byte Underwater2_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Underwater + + .align 2 +Underwater3_MapBorder: @ 842103C + .incbin "data/maps/Underwater3/border.bin" + + .align 2 +Underwater3_MapBlockdata: @ 8421044 + .incbin "data/maps/Underwater3/map.bin" + + .align 2 +Underwater3_MapAttributes: @ 8424244 + .4byte 0x50 + .4byte 0x50 + .4byte Underwater3_MapBorder + .4byte Underwater3_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Underwater + + .align 2 +Underwater4_MapBorder: @ 842425C + .incbin "data/maps/Underwater4/border.bin" + + .align 2 +Underwater4_MapBlockdata: @ 8424264 + .incbin "data/maps/Underwater4/map.bin" + + .align 2 +Underwater4_MapAttributes: @ 84267E4 + .4byte 0x78 + .4byte 0x28 + .4byte Underwater4_MapBorder + .4byte Underwater4_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Underwater + + .align 2 +LittlerootTown_BrendansHouse_1F_MapBorder: @ 84267FC + .incbin "data/maps/LittlerootTown_BrendansHouse_1F/border.bin" + + .align 2 +LittlerootTown_BrendansHouse_1F_MapBlockdata: @ 8426804 + .incbin "data/maps/LittlerootTown_BrendansHouse_1F/map.bin" + + .align 2 +LittlerootTown_BrendansHouse_1F_MapAttributes: @ 84268CC + .4byte 0xb + .4byte 0x9 + .4byte LittlerootTown_BrendansHouse_1F_MapBorder + .4byte LittlerootTown_BrendansHouse_1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BrendansMaysHouse + + .align 2 +LittlerootTown_BrendansHouse_2F_MapBorder: @ 84268E4 + .incbin "data/maps/LittlerootTown_BrendansHouse_2F/border.bin" + + .align 2 +LittlerootTown_BrendansHouse_2F_MapBlockdata: @ 84268EC + .incbin "data/maps/LittlerootTown_BrendansHouse_2F/map.bin" + + .align 2 +LittlerootTown_BrendansHouse_2F_MapAttributes: @ 842697C + .4byte 0x9 + .4byte 0x8 + .4byte LittlerootTown_BrendansHouse_2F_MapBorder + .4byte LittlerootTown_BrendansHouse_2F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BrendansMaysHouse + + .align 2 +LittlerootTown_MaysHouse_1F_MapBorder: @ 8426994 + .incbin "data/maps/LittlerootTown_MaysHouse_1F/border.bin" + + .align 2 +LittlerootTown_MaysHouse_1F_MapBlockdata: @ 842699C + .incbin "data/maps/LittlerootTown_MaysHouse_1F/map.bin" + + .align 2 +LittlerootTown_MaysHouse_1F_MapAttributes: @ 8426A64 + .4byte 0xb + .4byte 0x9 + .4byte LittlerootTown_MaysHouse_1F_MapBorder + .4byte LittlerootTown_MaysHouse_1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BrendansMaysHouse + + .align 2 +LittlerootTown_MaysHouse_2F_MapBorder: @ 8426A7C + .incbin "data/maps/LittlerootTown_MaysHouse_2F/border.bin" + + .align 2 +LittlerootTown_MaysHouse_2F_MapBlockdata: @ 8426A84 + .incbin "data/maps/LittlerootTown_MaysHouse_2F/map.bin" + + .align 2 +LittlerootTown_MaysHouse_2F_MapAttributes: @ 8426B14 + .4byte 0x9 + .4byte 0x8 + .4byte LittlerootTown_MaysHouse_2F_MapBorder + .4byte LittlerootTown_MaysHouse_2F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BrendansMaysHouse + + .align 2 +LittlerootTown_ProfessorBirchsLab_MapBorder: @ 8426B2C + .incbin "data/maps/LittlerootTown_ProfessorBirchsLab/border.bin" + + .align 2 +LittlerootTown_ProfessorBirchsLab_MapBlockdata: @ 8426B34 + .incbin "data/maps/LittlerootTown_ProfessorBirchsLab/map.bin" + + .align 2 +LittlerootTown_ProfessorBirchsLab_MapAttributes: @ 8426C88 + .4byte 0xd + .4byte 0xd + .4byte LittlerootTown_ProfessorBirchsLab_MapBorder + .4byte LittlerootTown_ProfessorBirchsLab_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Lab + + .align 2 +OldaleTown_House1_MapBorder: @ 8426CA0 + .incbin "data/maps/OldaleTown_House1/border.bin" + + .align 2 +OldaleTown_House1_MapBlockdata: @ 8426CA8 + .incbin "data/maps/OldaleTown_House1/map.bin" + + .align 2 +FallarborTown_House1_MapAttributes: @ 8426D5C +LilycoveCity_House1_MapAttributes: @ 8426D5C +LilycoveCity_House4_MapAttributes: @ 8426D5C +MauvilleCity_House2_MapAttributes: @ 8426D5C +MossdeepCity_House2_MapAttributes: @ 8426D5C +OldaleTown_House1_MapAttributes: @ 8426D5C +PetalburgCity_House1_MapAttributes: @ 8426D5C +Route119_House_MapAttributes: @ 8426D5C +VerdanturfTown_House_MapAttributes: @ 8426D5C + .4byte 0xa + .4byte 0x9 + .4byte OldaleTown_House1_MapBorder + .4byte OldaleTown_House1_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +OldaleTown_House2_MapBorder: @ 8426D74 + .incbin "data/maps/OldaleTown_House2/border.bin" + + .align 2 +OldaleTown_House2_MapBlockdata: @ 8426D7C + .incbin "data/maps/OldaleTown_House2/map.bin" + + .align 2 +FallarborTown_House2_MapAttributes: @ 8426E2C +LilycoveCity_House3_MapAttributes: @ 8426E2C +LilycoveCity_MoveDeletersHouse_MapAttributes: @ 8426E2C +MauvilleCity_House1_MapAttributes: @ 8426E2C +MossdeepCity_House1_MapAttributes: @ 8426E2C +MossdeepCity_House3_MapAttributes: @ 8426E2C +OldaleTown_House2_MapAttributes: @ 8426E2C +PetalburgCity_WallysHouse_MapAttributes: @ 8426E2C +Route111_WinstrateFamilysHouse_MapAttributes: @ 8426E2C +Route123_BerryMastersHouse_MapAttributes: @ 8426E2C +SlateportCity_House2_MapAttributes: @ 8426E2C +VerdanturfTown_FriendshipRatersHouse_MapAttributes: @ 8426E2C + .4byte 0xb + .4byte 0x8 + .4byte OldaleTown_House2_MapBorder + .4byte OldaleTown_House2_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +OldaleTown_PokemonCenter_1F_MapBorder: @ 8426E44 + .incbin "data/maps/OldaleTown_PokemonCenter_1F/border.bin" + + .align 2 +OldaleTown_PokemonCenter_1F_MapBlockdata: @ 8426E4C + .incbin "data/maps/OldaleTown_PokemonCenter_1F/map.bin" + + .align 2 +BattleFrontier_PokemonCenter_1F_MapAttributes: @ 8426F48 +DewfordTown_PokemonCenter_1F_MapAttributes: @ 8426F48 +EverGrandeCity_PokemonCenter_1F_MapAttributes: @ 8426F48 +FallarborTown_PokemonCenter_1F_MapAttributes: @ 8426F48 +FortreeCity_PokemonCenter_1F_MapAttributes: @ 8426F48 +LilycoveCity_PokemonCenter_1F_MapAttributes: @ 8426F48 +MauvilleCity_PokemonCenter_1F_MapAttributes: @ 8426F48 +MossdeepCity_PokemonCenter_1F_MapAttributes: @ 8426F48 +OldaleTown_PokemonCenter_1F_MapAttributes: @ 8426F48 +PacifidlogTown_PokemonCenter_1F_MapAttributes: @ 8426F48 +PetalburgCity_PokemonCenter_1F_MapAttributes: @ 8426F48 +RustboroCity_PokemonCenter_1F_MapAttributes: @ 8426F48 +SlateportCity_PokemonCenter_1F_MapAttributes: @ 8426F48 +SootopolisCity_PokemonCenter_1F_MapAttributes: @ 8426F48 +VerdanturfTown_PokemonCenter_1F_MapAttributes: @ 8426F48 + .4byte 0xe + .4byte 0x9 + .4byte OldaleTown_PokemonCenter_1F_MapBorder + .4byte OldaleTown_PokemonCenter_1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_PokemonCenter + + .align 2 +OldaleTown_PokemonCenter_2F_MapBorder: @ 8426F60 + .incbin "data/maps/OldaleTown_PokemonCenter_2F/border.bin" + + .align 2 +OldaleTown_PokemonCenter_2F_MapBlockdata: @ 8426F68 + .incbin "data/maps/OldaleTown_PokemonCenter_2F/map.bin" + + .align 2 +BattleFrontier_PokemonCenter_2F_MapAttributes: @ 8427080 +DewfordTown_PokemonCenter_2F_MapAttributes: @ 8427080 +EverGrandeCity_PokemonCenter_2F_MapAttributes: @ 8427080 +EverGrandeCity_PokemonLeague_2F_MapAttributes: @ 8427080 +FallarborTown_PokemonCenter_2F_MapAttributes: @ 8427080 +FortreeCity_PokemonCenter_2F_MapAttributes: @ 8427080 +LavaridgeTown_PokemonCenter_2F_MapAttributes: @ 8427080 +LilycoveCity_PokemonCenter_2F_MapAttributes: @ 8427080 +MauvilleCity_PokemonCenter_2F_MapAttributes: @ 8427080 +MossdeepCity_PokemonCenter_2F_MapAttributes: @ 8427080 +OldaleTown_PokemonCenter_2F_MapAttributes: @ 8427080 +PacifidlogTown_PokemonCenter_2F_MapAttributes: @ 8427080 +PetalburgCity_PokemonCenter_2F_MapAttributes: @ 8427080 +RustboroCity_PokemonCenter_2F_MapAttributes: @ 8427080 +SlateportCity_PokemonCenter_2F_MapAttributes: @ 8427080 +SootopolisCity_PokemonCenter_2F_MapAttributes: @ 8427080 +VerdanturfTown_PokemonCenter_2F_MapAttributes: @ 8427080 + .4byte 0xe + .4byte 0xa + .4byte OldaleTown_PokemonCenter_2F_MapBorder + .4byte OldaleTown_PokemonCenter_2F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_PokemonCenter + + .align 2 +OldaleTown_Mart_MapBorder: @ 8427098 + .incbin "data/maps/OldaleTown_Mart/border.bin" + + .align 2 +OldaleTown_Mart_MapBlockdata: @ 84270A0 + .incbin "data/maps/OldaleTown_Mart/map.bin" + + .align 2 +BattleFrontier_Mart_MapAttributes: @ 8427150 +FallarborTown_Mart_MapAttributes: @ 8427150 +FortreeCity_Mart_MapAttributes: @ 8427150 +LavaridgeTown_Mart_MapAttributes: @ 8427150 +LilycoveCity_UnusedMart_MapAttributes: @ 8427150 +MauvilleCity_Mart_MapAttributes: @ 8427150 +MossdeepCity_Mart_MapAttributes: @ 8427150 +OldaleTown_Mart_MapAttributes: @ 8427150 +PetalburgCity_Mart_MapAttributes: @ 8427150 +RustboroCity_Mart_MapAttributes: @ 8427150 +SlateportCity_Mart_MapAttributes: @ 8427150 +SootopolisCity_Mart_MapAttributes: @ 8427150 +VerdanturfTown_Mart_MapAttributes: @ 8427150 + .4byte 0xb + .4byte 0x8 + .4byte OldaleTown_Mart_MapBorder + .4byte OldaleTown_Mart_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Shop + + .align 2 +DewfordTown_House1_MapBorder: @ 8427168 + .incbin "data/maps/DewfordTown_House1/border.bin" + + .align 2 +DewfordTown_House1_MapBlockdata: @ 8427170 + .incbin "data/maps/DewfordTown_House1/map.bin" + + .align 2 +DewfordTown_House1_MapAttributes: @ 8427210 +LavaridgeTown_House_MapAttributes: @ 8427210 +Route111_OldLadysRestStop_MapAttributes: @ 8427210 + .4byte 0xa + .4byte 0x8 + .4byte DewfordTown_House1_MapBorder + .4byte DewfordTown_House1_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +DewfordTown_Gym_MapBorder: @ 8427228 + .incbin "data/maps/DewfordTown_Gym/border.bin" + + .align 2 +DewfordTown_Gym_MapBlockdata: @ 8427230 + .incbin "data/maps/DewfordTown_Gym/map.bin" + + .align 2 +DewfordTown_Gym_MapAttributes: @ 8427620 + .4byte 0x12 + .4byte 0x1c + .4byte DewfordTown_Gym_MapBorder + .4byte DewfordTown_Gym_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_DewfordGym + + .align 2 +DewfordTown_Hall_MapBorder: @ 8427638 + .incbin "data/maps/DewfordTown_Hall/border.bin" + + .align 2 +DewfordTown_Hall_MapBlockdata: @ 8427640 + .incbin "data/maps/DewfordTown_Hall/map.bin" + + .align 2 +DewfordTown_Hall_MapAttributes: @ 8427774 + .4byte 0x11 + .4byte 0x9 + .4byte DewfordTown_Hall_MapBorder + .4byte DewfordTown_Hall_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +DewfordTown_House2_MapBorder: @ 842778C + .incbin "data/maps/DewfordTown_House2/border.bin" + + .align 2 +DewfordTown_House2_MapBlockdata: @ 8427794 + .incbin "data/maps/DewfordTown_House2/map.bin" + + .align 2 +DewfordTown_House2_MapAttributes: @ 8427848 +Route113_GlassWorkshop_MapAttributes: @ 8427848 + .4byte 0xa + .4byte 0x9 + .4byte DewfordTown_House2_MapBorder + .4byte DewfordTown_House2_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +LavaridgeTown_HerbShop_MapBorder: @ 8427860 + .incbin "data/maps/LavaridgeTown_HerbShop/border.bin" + + .align 2 +LavaridgeTown_HerbShop_MapBlockdata: @ 8427868 + .incbin "data/maps/LavaridgeTown_HerbShop/map.bin" + + .align 2 +LavaridgeTown_HerbShop_MapAttributes: @ 8427918 + .4byte 0xb + .4byte 0x8 + .4byte LavaridgeTown_HerbShop_MapBorder + .4byte LavaridgeTown_HerbShop_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Shop + + .align 2 +LavaridgeTown_Gym_1F_MapBorder: @ 8427930 + .incbin "data/maps/LavaridgeTown_Gym_1F/border.bin" + + .align 2 +LavaridgeTown_Gym_1F_MapBlockdata: @ 8427938 + .incbin "data/maps/LavaridgeTown_Gym_1F/map.bin" + + .align 2 +LavaridgeTown_Gym_1F_MapAttributes: @ 8427BC0 + .4byte 0x11 + .4byte 0x13 + .4byte LavaridgeTown_Gym_1F_MapBorder + .4byte LavaridgeTown_Gym_1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_LavaridgeGym + + .align 2 +LavaridgeTown_Gym_B1F_MapBorder: @ 8427BD8 + .incbin "data/maps/LavaridgeTown_Gym_B1F/border.bin" + + .align 2 +LavaridgeTown_Gym_B1F_MapBlockdata: @ 8427BE0 + .incbin "data/maps/LavaridgeTown_Gym_B1F/map.bin" + + .align 2 +LavaridgeTown_Gym_B1F_MapAttributes: @ 8427E68 + .4byte 0x11 + .4byte 0x13 + .4byte LavaridgeTown_Gym_B1F_MapBorder + .4byte LavaridgeTown_Gym_B1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_LavaridgeGym + + .align 2 +LavaridgeTown_PokemonCenter_1F_MapBorder: @ 8427E80 + .incbin "data/maps/LavaridgeTown_PokemonCenter_1F/border.bin" + + .align 2 +LavaridgeTown_PokemonCenter_1F_MapBlockdata: @ 8427E88 + .incbin "data/maps/LavaridgeTown_PokemonCenter_1F/map.bin" + + .align 2 +LavaridgeTown_PokemonCenter_1F_MapAttributes: @ 8427F84 + .4byte 0xe + .4byte 0x9 + .4byte LavaridgeTown_PokemonCenter_1F_MapBorder + .4byte LavaridgeTown_PokemonCenter_1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_PokemonCenter + + .align 2 +FallarborTown_LeftoverRSContestLobby_MapBorder: @ 8427F9C + .incbin "data/maps/FallarborTown_LeftoverRSContestLobby/border.bin" + + .align 2 +FallarborTown_LeftoverRSContestLobby_MapBlockdata: @ 8427FA4 + .incbin "data/maps/FallarborTown_LeftoverRSContestLobby/map.bin" + + .align 2 +FallarborTown_LeftoverRSContestLobby_MapAttributes: @ 8428078 + .4byte 0xf + .4byte 0x7 + .4byte FallarborTown_LeftoverRSContestLobby_MapBorder + .4byte FallarborTown_LeftoverRSContestLobby_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Contest + + .align 2 +FallarborTown_LeftoverRSContestHall_MapBorder: @ 8428090 + .incbin "data/maps/FallarborTown_LeftoverRSContestHall/border.bin" + + .align 2 +FallarborTown_LeftoverRSContestHall_MapBlockdata: @ 8428098 + .incbin "data/maps/FallarborTown_LeftoverRSContestHall/map.bin" + + .align 2 +FallarborTown_LeftoverRSContestHall_MapAttributes: @ 842838C + .4byte 0x15 + .4byte 0x12 + .4byte FallarborTown_LeftoverRSContestHall_MapBorder + .4byte FallarborTown_LeftoverRSContestHall_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Contest + + .align 2 +LilycoveCity_House2_MapBorder: @ 84283A4 + .incbin "data/maps/LilycoveCity_House2/border.bin" + + .align 2 +LilycoveCity_House2_MapBlockdata: @ 84283AC + .incbin "data/maps/LilycoveCity_House2/map.bin" + + .align 2 +LilycoveCity_House2_MapAttributes: @ 842842C + .4byte 0x8 + .4byte 0x8 + .4byte LilycoveCity_House2_MapBorder + .4byte LilycoveCity_House2_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +UnknownMapBorder_08428450: @ 8428444 + .incbin "data/maps/UnknownMap_08428450/border.bin" + + .align 2 +UnknownMapBlockdata_08428450: @ 842844C + .incbin "data/maps/UnknownMap_08428450/map.bin" + + .align 2 +UnknownMapAttributes_08428450: @ 8428450 + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMapBorder_08428450 + .4byte UnknownMapBlockdata_08428450 + .4byte gTileset_Building + .4byte gTileset_Contest + + .align 2 +VerdanturfTown_WandasHouse_MapBorder: @ 8428468 + .incbin "data/maps/VerdanturfTown_WandasHouse/border.bin" + + .align 2 +VerdanturfTown_WandasHouse_MapBlockdata: @ 8428470 + .incbin "data/maps/VerdanturfTown_WandasHouse/map.bin" + + .align 2 +VerdanturfTown_WandasHouse_MapAttributes: @ 8428580 + .4byte 0x11 + .4byte 0x8 + .4byte VerdanturfTown_WandasHouse_MapBorder + .4byte VerdanturfTown_WandasHouse_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +PacifidlogTown_House1_MapBorder: @ 8428598 + .incbin "data/maps/PacifidlogTown_House1/border.bin" + + .align 2 +PacifidlogTown_House1_MapBlockdata: @ 84285A0 + .incbin "data/maps/PacifidlogTown_House1/map.bin" + + .align 2 +PacifidlogTown_House1_MapAttributes: @ 8428654 +PacifidlogTown_House3_MapAttributes: @ 8428654 +PacifidlogTown_House5_MapAttributes: @ 8428654 + .4byte 0xa + .4byte 0x9 + .4byte PacifidlogTown_House1_MapBorder + .4byte PacifidlogTown_House1_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +PacifidlogTown_House2_MapBorder: @ 842866C + .incbin "data/maps/PacifidlogTown_House2/border.bin" + + .align 2 +PacifidlogTown_House2_MapBlockdata: @ 8428674 + .incbin "data/maps/PacifidlogTown_House2/map.bin" + + .align 2 +PacifidlogTown_House2_MapAttributes: @ 8428728 +PacifidlogTown_House4_MapAttributes: @ 8428728 + .4byte 0xa + .4byte 0x9 + .4byte PacifidlogTown_House2_MapBorder + .4byte PacifidlogTown_House2_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +PetalburgCity_Gym_MapBorder: @ 8428740 + .incbin "data/maps/PetalburgCity_Gym/border.bin" + + .align 2 +PetalburgCity_Gym_MapBlockdata: @ 8428748 + .incbin "data/maps/PetalburgCity_Gym/map.bin" + + .align 2 +PetalburgCity_Gym_MapAttributes: @ 8428F28 + .4byte 0x9 + .4byte 0x70 + .4byte PetalburgCity_Gym_MapBorder + .4byte PetalburgCity_Gym_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_PetalburgGym + + .align 2 +PetalburgCity_House2_MapBorder: @ 8428F40 + .incbin "data/maps/PetalburgCity_House2/border.bin" + + .align 2 +PetalburgCity_House2_MapBlockdata: @ 8428F48 + .incbin "data/maps/PetalburgCity_House2/map.bin" + + .align 2 +MossdeepCity_House4_MapAttributes: @ 8428FE8 +PetalburgCity_House2_MapAttributes: @ 8428FE8 +SlateportCity_House1_MapAttributes: @ 8428FE8 + .4byte 0xa + .4byte 0x8 + .4byte PetalburgCity_House2_MapBorder + .4byte PetalburgCity_House2_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +SlateportCity_SternsShipyard_1F_MapBorder: @ 8429000 + .incbin "data/maps/SlateportCity_SternsShipyard_1F/border.bin" + + .align 2 +SlateportCity_SternsShipyard_1F_MapBlockdata: @ 8429008 + .incbin "data/maps/SlateportCity_SternsShipyard_1F/map.bin" + + .align 2 +SlateportCity_SternsShipyard_1F_MapAttributes: @ 8429280 + .4byte 0x15 + .4byte 0xf + .4byte SlateportCity_SternsShipyard_1F_MapBorder + .4byte SlateportCity_SternsShipyard_1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +SlateportCity_SternsShipyard_2F_MapBorder: @ 8429298 + .incbin "data/maps/SlateportCity_SternsShipyard_2F/border.bin" + + .align 2 +SlateportCity_SternsShipyard_2F_MapBlockdata: @ 84292A0 + .incbin "data/maps/SlateportCity_SternsShipyard_2F/map.bin" + + .align 2 +SlateportCity_SternsShipyard_2F_MapAttributes: @ 84294A0 + .4byte 0x11 + .4byte 0xf + .4byte SlateportCity_SternsShipyard_2F_MapBorder + .4byte SlateportCity_SternsShipyard_2F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +UnknownMapBorder_084294C4: @ 84294B8 + .incbin "data/maps/UnknownMap_084294C4/border.bin" + + .align 2 +UnknownMapBlockdata_084294C4: @ 84294C0 + .incbin "data/maps/UnknownMap_084294C4/map.bin" + + .align 2 +UnknownMapAttributes_084294C4: @ 84294C4 + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMapBorder_084294C4 + .4byte UnknownMapBlockdata_084294C4 + .4byte gTileset_Building + .4byte gTileset_Contest + + .align 2 +UnknownMapBorder_084294E8: @ 84294DC + .incbin "data/maps/UnknownMap_084294E8/border.bin" + + .align 2 +UnknownMapBlockdata_084294E8: @ 84294E4 + .incbin "data/maps/UnknownMap_084294E8/map.bin" + + .align 2 +UnknownMapAttributes_084294E8: @ 84294E8 + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMapBorder_084294E8 + .4byte UnknownMapBlockdata_084294E8 + .4byte gTileset_Building + .4byte gTileset_Contest + + .align 2 +SlateportCity_PokemonFanClub_MapBorder: @ 8429500 + .incbin "data/maps/SlateportCity_PokemonFanClub/border.bin" + + .align 2 +SlateportCity_PokemonFanClub_MapBlockdata: @ 8429508 + .incbin "data/maps/SlateportCity_PokemonFanClub/map.bin" + + .align 2 +SlateportCity_PokemonFanClub_MapAttributes: @ 842963C + .4byte 0xe + .4byte 0xb + .4byte SlateportCity_PokemonFanClub_MapBorder + .4byte SlateportCity_PokemonFanClub_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_PokemonFanClub + + .align 2 +SlateportCity_OceanicMuseum_1F_MapBorder: @ 8429654 + .incbin "data/maps/SlateportCity_OceanicMuseum_1F/border.bin" + + .align 2 +SlateportCity_OceanicMuseum_1F_MapBlockdata: @ 842965C + .incbin "data/maps/SlateportCity_OceanicMuseum_1F/map.bin" + + .align 2 +SlateportCity_OceanicMuseum_1F_MapAttributes: @ 84297C4 + .4byte 0x14 + .4byte 0x9 + .4byte SlateportCity_OceanicMuseum_1F_MapBorder + .4byte SlateportCity_OceanicMuseum_1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_OceanicMuseum + + .align 2 +SlateportCity_OceanicMuseum_2F_MapBorder: @ 84297DC + .incbin "data/maps/SlateportCity_OceanicMuseum_2F/border.bin" + + .align 2 +SlateportCity_OceanicMuseum_2F_MapBlockdata: @ 84297E4 + .incbin "data/maps/SlateportCity_OceanicMuseum_2F/map.bin" + + .align 2 +SlateportCity_OceanicMuseum_2F_MapAttributes: @ 842994C + .4byte 0x14 + .4byte 0x9 + .4byte SlateportCity_OceanicMuseum_2F_MapBorder + .4byte SlateportCity_OceanicMuseum_2F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_OceanicMuseum + + .align 2 +SlateportCity_Harbor_MapBorder: @ 8429964 + .incbin "data/maps/SlateportCity_Harbor/border.bin" + + .align 2 +SlateportCity_Harbor_MapBlockdata: @ 842996C + .incbin "data/maps/SlateportCity_Harbor/map.bin" + + .align 2 +LilycoveCity_Harbor_MapAttributes: @ 8429C3C +SlateportCity_Harbor_MapAttributes: @ 8429C3C + .4byte 0x18 + .4byte 0xf + .4byte SlateportCity_Harbor_MapBorder + .4byte SlateportCity_Harbor_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +MauvilleCity_Gym_MapBorder: @ 8429C54 + .incbin "data/maps/MauvilleCity_Gym/border.bin" + + .align 2 +MauvilleCity_Gym_MapBlockdata: @ 8429C5C + .incbin "data/maps/MauvilleCity_Gym/map.bin" + + .align 2 +MauvilleCity_Gym_MapAttributes: @ 8429E00 + .4byte 0xa + .4byte 0x15 + .4byte MauvilleCity_Gym_MapBorder + .4byte MauvilleCity_Gym_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_MauvilleGym + + .align 2 +MauvilleCity_BikeShop_MapBorder: @ 8429E18 + .incbin "data/maps/MauvilleCity_BikeShop/border.bin" + + .align 2 +MauvilleCity_BikeShop_MapBlockdata: @ 8429E20 + .incbin "data/maps/MauvilleCity_BikeShop/map.bin" + + .align 2 +MauvilleCity_BikeShop_MapAttributes: @ 8429EF8 + .4byte 0xc + .4byte 0x9 + .4byte MauvilleCity_BikeShop_MapBorder + .4byte MauvilleCity_BikeShop_MapBlockdata + .4byte gTileset_General + .4byte gTileset_BikeShop + + .align 2 +MauvilleCity_GameCorner_MapBorder: @ 8429F10 + .incbin "data/maps/MauvilleCity_GameCorner/border.bin" + + .align 2 +MauvilleCity_GameCorner_MapBlockdata: @ 8429F18 + .incbin "data/maps/MauvilleCity_GameCorner/map.bin" + + .align 2 +MauvilleCity_GameCorner_MapAttributes: @ 842A0FC + .4byte 0x16 + .4byte 0xb + .4byte MauvilleCity_GameCorner_MapBorder + .4byte MauvilleCity_GameCorner_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_MauvilleGameCorner + + .align 2 +RustboroCity_DevonCorp_1F_MapBorder: @ 842A114 + .incbin "data/maps/RustboroCity_DevonCorp_1F/border.bin" + + .align 2 +RustboroCity_DevonCorp_1F_MapBlockdata: @ 842A11C + .incbin "data/maps/RustboroCity_DevonCorp_1F/map.bin" + + .align 2 +RustboroCity_DevonCorp_1F_MapAttributes: @ 842A274 + .4byte 0x13 + .4byte 0x9 + .4byte RustboroCity_DevonCorp_1F_MapBorder + .4byte RustboroCity_DevonCorp_1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Facility + + .align 2 +RustboroCity_DevonCorp_2F_MapBorder: @ 842A28C + .incbin "data/maps/RustboroCity_DevonCorp_2F/border.bin" + + .align 2 +RustboroCity_DevonCorp_2F_MapBlockdata: @ 842A294 + .incbin "data/maps/RustboroCity_DevonCorp_2F/map.bin" + + .align 2 +RustboroCity_DevonCorp_2F_MapAttributes: @ 842A3EC + .4byte 0x13 + .4byte 0x9 + .4byte RustboroCity_DevonCorp_2F_MapBorder + .4byte RustboroCity_DevonCorp_2F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +RustboroCity_Gym_MapBorder: @ 842A404 + .incbin "data/maps/RustboroCity_Gym/border.bin" + + .align 2 +RustboroCity_Gym_MapBlockdata: @ 842A40C + .incbin "data/maps/RustboroCity_Gym/map.bin" + + .align 2 +RustboroCity_Gym_MapAttributes: @ 842A5C4 + .4byte 0xb + .4byte 0x14 + .4byte RustboroCity_Gym_MapBorder + .4byte RustboroCity_Gym_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_RustboroGym + + .align 2 +RustboroCity_PokemonSchool_MapBorder: @ 842A5DC + .incbin "data/maps/RustboroCity_PokemonSchool/border.bin" + + .align 2 +RustboroCity_PokemonSchool_MapBlockdata: @ 842A5E4 + .incbin "data/maps/RustboroCity_PokemonSchool/map.bin" + + .align 2 +RustboroCity_PokemonSchool_MapAttributes: @ 842A6EC + .4byte 0xc + .4byte 0xb + .4byte RustboroCity_PokemonSchool_MapBorder + .4byte RustboroCity_PokemonSchool_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_PokemonSchool + + .align 2 +RustboroCity_House2_MapBorder: @ 842A704 + .incbin "data/maps/RustboroCity_House2/border.bin" + + .align 2 +RustboroCity_House2_MapBlockdata: @ 842A70C + .incbin "data/maps/RustboroCity_House2/map.bin" + + .align 2 +RustboroCity_House2_MapAttributes: @ 842A7E4 +RustboroCity_House3_MapAttributes: @ 842A7E4 + .4byte 0xc + .4byte 0x9 + .4byte RustboroCity_House2_MapBorder + .4byte RustboroCity_House2_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +RustboroCity_House1_MapBorder: @ 842A7FC + .incbin "data/maps/RustboroCity_House1/border.bin" + + .align 2 +RustboroCity_House1_MapBlockdata: @ 842A804 + .incbin "data/maps/RustboroCity_House1/map.bin" + + .align 2 +RustboroCity_House1_MapAttributes: @ 842A8D4 + .4byte 0xd + .4byte 0x8 + .4byte RustboroCity_House1_MapBorder + .4byte RustboroCity_House1_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +RustboroCity_CuttersHouse_MapBorder: @ 842A8EC + .incbin "data/maps/RustboroCity_CuttersHouse/border.bin" + + .align 2 +RustboroCity_CuttersHouse_MapBlockdata: @ 842A8F4 + .incbin "data/maps/RustboroCity_CuttersHouse/map.bin" + + .align 2 +RustboroCity_CuttersHouse_MapAttributes: @ 842A9BC + .4byte 0xb + .4byte 0x9 + .4byte RustboroCity_CuttersHouse_MapBorder + .4byte RustboroCity_CuttersHouse_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +FortreeCity_House1_MapBorder: @ 842A9D4 + .incbin "data/maps/FortreeCity_House1/border.bin" + + .align 2 +FortreeCity_House1_MapBlockdata: @ 842A9DC + .incbin "data/maps/FortreeCity_House1/map.bin" + + .align 2 +FortreeCity_House1_MapAttributes: @ 842AA3C +FortreeCity_House3_MapAttributes: @ 842AA3C +FortreeCity_House5_MapAttributes: @ 842AA3C + .4byte 0x8 + .4byte 0x6 + .4byte FortreeCity_House1_MapBorder + .4byte FortreeCity_House1_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +FortreeCity_Gym_MapBorder: @ 842AA54 + .incbin "data/maps/FortreeCity_Gym/border.bin" + + .align 2 +FortreeCity_Gym_MapBlockdata: @ 842AA5C + .incbin "data/maps/FortreeCity_Gym/map.bin" + + .align 2 +FortreeCity_Gym_MapAttributes: @ 842AE44 + .4byte 0x14 + .4byte 0x19 + .4byte FortreeCity_Gym_MapBorder + .4byte FortreeCity_Gym_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_FortreeGym + + .align 2 +FortreeCity_House2_MapBorder: @ 842AE5C + .incbin "data/maps/FortreeCity_House2/border.bin" + + .align 2 +FortreeCity_House2_MapBlockdata: @ 842AE64 + .incbin "data/maps/FortreeCity_House2/map.bin" + + .align 2 +FortreeCity_House2_MapAttributes: @ 842AEC4 +FortreeCity_House4_MapAttributes: @ 842AEC4 + .4byte 0x8 + .4byte 0x6 + .4byte FortreeCity_House2_MapBorder + .4byte FortreeCity_House2_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +Route104_MrBrineysHouse_MapBorder: @ 842AEDC + .incbin "data/maps/Route104_MrBrineysHouse/border.bin" + + .align 2 +Route104_MrBrineysHouse_MapBlockdata: @ 842AEE4 + .incbin "data/maps/Route104_MrBrineysHouse/map.bin" + + .align 2 +Route104_MrBrineysHouse_MapAttributes: @ 842AFBC + .4byte 0xc + .4byte 0x9 + .4byte Route104_MrBrineysHouse_MapBorder + .4byte Route104_MrBrineysHouse_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +LilycoveCity_LilycoveMuseum_1F_MapBorder: @ 842AFD4 + .incbin "data/maps/LilycoveCity_LilycoveMuseum_1F/border.bin" + + .align 2 +LilycoveCity_LilycoveMuseum_1F_MapBlockdata: @ 842AFDC + .incbin "data/maps/LilycoveCity_LilycoveMuseum_1F/map.bin" + + .align 2 +LilycoveCity_LilycoveMuseum_1F_MapAttributes: @ 842B228 + .4byte 0x15 + .4byte 0xe + .4byte LilycoveCity_LilycoveMuseum_1F_MapBorder + .4byte LilycoveCity_LilycoveMuseum_1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_LilycoveMuseum + + .align 2 +LilycoveCity_LilycoveMuseum_2F_MapBorder: @ 842B240 + .incbin "data/maps/LilycoveCity_LilycoveMuseum_2F/border.bin" + + .align 2 +LilycoveCity_LilycoveMuseum_2F_MapBlockdata: @ 842B248 + .incbin "data/maps/LilycoveCity_LilycoveMuseum_2F/map.bin" + + .align 2 +LilycoveCity_LilycoveMuseum_2F_MapAttributes: @ 842B484 + .4byte 0x16 + .4byte 0xd + .4byte LilycoveCity_LilycoveMuseum_2F_MapBorder + .4byte LilycoveCity_LilycoveMuseum_2F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_LilycoveMuseum + + .align 2 +LilycoveCity_ContestLobby_MapBorder: @ 842B49C + .incbin "data/maps/LilycoveCity_ContestLobby/border.bin" + + .align 2 +LilycoveCity_ContestLobby_MapBlockdata: @ 842B4A4 + .incbin "data/maps/LilycoveCity_ContestLobby/map.bin" + + .align 2 +LilycoveCity_ContestLobby_MapAttributes: @ 842B78C + .4byte 0x1f + .4byte 0xc + .4byte LilycoveCity_ContestLobby_MapBorder + .4byte LilycoveCity_ContestLobby_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Contest + + .align 2 +LilycoveCity_ContestHall_MapBorder: @ 842B7A4 + .incbin "data/maps/LilycoveCity_ContestHall/border.bin" + + .align 2 +LilycoveCity_ContestHall_MapBlockdata: @ 842B7AC + .incbin "data/maps/LilycoveCity_ContestHall/map.bin" + + .align 2 +LilycoveCity_ContestHall_MapAttributes: @ 842C4D4 + .4byte 0x33 + .4byte 0x21 + .4byte LilycoveCity_ContestHall_MapBorder + .4byte LilycoveCity_ContestHall_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Contest + + .align 2 +LilycoveCity_PokemonTrainerFanClub_MapBorder: @ 842C4EC + .incbin "data/maps/LilycoveCity_PokemonTrainerFanClub/border.bin" + + .align 2 +LilycoveCity_PokemonTrainerFanClub_MapBlockdata: @ 842C4F4 + .incbin "data/maps/LilycoveCity_PokemonTrainerFanClub/map.bin" + + .align 2 +LilycoveCity_PokemonTrainerFanClub_MapAttributes: @ 842C644 + .4byte 0xc + .4byte 0xe + .4byte LilycoveCity_PokemonTrainerFanClub_MapBorder + .4byte LilycoveCity_PokemonTrainerFanClub_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +MossdeepCity_Gym_MapBorder: @ 842C65C + .incbin "data/maps/MossdeepCity_Gym/border.bin" + + .align 2 +MossdeepCity_Gym_MapBlockdata: @ 842C664 + .incbin "data/maps/MossdeepCity_Gym/map.bin" + + .align 2 +MossdeepCity_Gym_MapAttributes: @ 842CDB4 + .4byte 0x1a + .4byte 0x24 + .4byte MossdeepCity_Gym_MapBorder + .4byte MossdeepCity_Gym_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_MossdeepGym + + .align 2 +SootopolisCity_Gym_1F_MapBorder: @ 842CDCC + .incbin "data/maps/SootopolisCity_Gym_1F/border.bin" + + .align 2 +SootopolisCity_Gym_1F_MapBlockdata: @ 842CDD4 + .incbin "data/maps/SootopolisCity_Gym_1F/map.bin" + + .align 2 +SootopolisCity_Gym_1F_MapAttributes: @ 842D148 + .4byte 0x11 + .4byte 0x1a + .4byte SootopolisCity_Gym_1F_MapBorder + .4byte SootopolisCity_Gym_1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_SootopolisGym + + .align 2 +SootopolisCity_Gym_B1F_MapBorder: @ 842D160 + .incbin "data/maps/SootopolisCity_Gym_B1F/border.bin" + + .align 2 +SootopolisCity_Gym_B1F_MapBlockdata: @ 842D168 + .incbin "data/maps/SootopolisCity_Gym_B1F/map.bin" + + .align 2 +SootopolisCity_Gym_B1F_MapAttributes: @ 842D4DC + .4byte 0x11 + .4byte 0x1a + .4byte SootopolisCity_Gym_B1F_MapBorder + .4byte SootopolisCity_Gym_B1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_SootopolisGym + + .align 2 +EverGrandeCity_SidneysRoom_MapBorder: @ 842D4F4 + .incbin "data/maps/EverGrandeCity_SidneysRoom/border.bin" + + .align 2 +EverGrandeCity_SidneysRoom_MapBlockdata: @ 842D4FC + .incbin "data/maps/EverGrandeCity_SidneysRoom/map.bin" + + .align 2 +EverGrandeCity_SidneysRoom_MapAttributes: @ 842D668 + .4byte 0xd + .4byte 0xe + .4byte EverGrandeCity_SidneysRoom_MapBorder + .4byte EverGrandeCity_SidneysRoom_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_EliteFour + + .align 2 +EverGrandeCity_PhoebesRoom_MapBorder: @ 842D680 + .incbin "data/maps/EverGrandeCity_PhoebesRoom/border.bin" + + .align 2 +EverGrandeCity_PhoebesRoom_MapBlockdata: @ 842D688 + .incbin "data/maps/EverGrandeCity_PhoebesRoom/map.bin" + + .align 2 +EverGrandeCity_PhoebesRoom_MapAttributes: @ 842D7F4 + .4byte 0xd + .4byte 0xe + .4byte EverGrandeCity_PhoebesRoom_MapBorder + .4byte EverGrandeCity_PhoebesRoom_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_EliteFour + + .align 2 +EverGrandeCity_GlaciasRoom_MapBorder: @ 842D80C + .incbin "data/maps/EverGrandeCity_GlaciasRoom/border.bin" + + .align 2 +EverGrandeCity_GlaciasRoom_MapBlockdata: @ 842D814 + .incbin "data/maps/EverGrandeCity_GlaciasRoom/map.bin" + + .align 2 +EverGrandeCity_GlaciasRoom_MapAttributes: @ 842D980 + .4byte 0xd + .4byte 0xe + .4byte EverGrandeCity_GlaciasRoom_MapBorder + .4byte EverGrandeCity_GlaciasRoom_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_EliteFour + + .align 2 +EverGrandeCity_DrakesRoom_MapBorder: @ 842D998 + .incbin "data/maps/EverGrandeCity_DrakesRoom/border.bin" + + .align 2 +EverGrandeCity_DrakesRoom_MapBlockdata: @ 842D9A0 + .incbin "data/maps/EverGrandeCity_DrakesRoom/map.bin" + + .align 2 +EverGrandeCity_DrakesRoom_MapAttributes: @ 842DB0C + .4byte 0xd + .4byte 0xe + .4byte EverGrandeCity_DrakesRoom_MapBorder + .4byte EverGrandeCity_DrakesRoom_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_EliteFour + + .align 2 +EverGrandeCity_ChampionsRoom_MapBorder: @ 842DB24 + .incbin "data/maps/EverGrandeCity_ChampionsRoom/border.bin" + + .align 2 +EverGrandeCity_ChampionsRoom_MapBlockdata: @ 842DB2C + .incbin "data/maps/EverGrandeCity_ChampionsRoom/map.bin" + + .align 2 +EverGrandeCity_ChampionsRoom_MapAttributes: @ 842DC80 + .4byte 0xd + .4byte 0xd + .4byte EverGrandeCity_ChampionsRoom_MapBorder + .4byte EverGrandeCity_ChampionsRoom_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_EliteFour + + .align 2 +EverGrandeCity_Hall1_MapBorder: @ 842DC98 + .incbin "data/maps/EverGrandeCity_Hall1/border.bin" + + .align 2 +EverGrandeCity_Hall1_MapBlockdata: @ 842DCA0 + .incbin "data/maps/EverGrandeCity_Hall1/map.bin" + + .align 2 +EverGrandeCity_Hall1_MapAttributes: @ 842DDC0 +EverGrandeCity_Hall2_MapAttributes: @ 842DDC0 +EverGrandeCity_Hall3_MapAttributes: @ 842DDC0 +EverGrandeCity_Hall5_MapAttributes: @ 842DDC0 + .4byte 0xb + .4byte 0xd + .4byte EverGrandeCity_Hall1_MapBorder + .4byte EverGrandeCity_Hall1_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_EliteFour + + .align 2 +Route104_PrettyPetalFlowerShop_MapBorder: @ 842DDD8 + .incbin "data/maps/Route104_PrettyPetalFlowerShop/border.bin" + + .align 2 +Route104_PrettyPetalFlowerShop_MapBlockdata: @ 842DDE0 + .incbin "data/maps/Route104_PrettyPetalFlowerShop/map.bin" + + .align 2 +Route104_PrettyPetalFlowerShop_MapAttributes: @ 842DEF0 +Route104_PrototypePrettyPetalFlowerShop_MapAttributes: @ 842DEF0 + .4byte 0xf + .4byte 0x9 + .4byte Route104_PrettyPetalFlowerShop_MapBorder + .4byte Route104_PrettyPetalFlowerShop_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_PrettyPetalFlowerShop + + .align 2 +Route112_CableCarStation_MapBorder: @ 842DF08 + .incbin "data/maps/Route112_CableCarStation/border.bin" + + .align 2 +Route112_CableCarStation_MapBlockdata: @ 842DF10 + .incbin "data/maps/Route112_CableCarStation/map.bin" + + .align 2 +MtChimney_CableCarStation_MapAttributes: @ 842E048 +Route112_CableCarStation_MapAttributes: @ 842E048 + .4byte 0xd + .4byte 0xc + .4byte Route112_CableCarStation_MapBorder + .4byte Route112_CableCarStation_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +Route114_FossilManiacsHouse_MapBorder: @ 842E060 + .incbin "data/maps/Route114_FossilManiacsHouse/border.bin" + + .align 2 +Route114_FossilManiacsHouse_MapBlockdata: @ 842E068 + .incbin "data/maps/Route114_FossilManiacsHouse/map.bin" + + .align 2 +Route114_FossilManiacsHouse_MapAttributes: @ 842E108 + .4byte 0xa + .4byte 0x8 + .4byte Route114_FossilManiacsHouse_MapBorder + .4byte Route114_FossilManiacsHouse_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +Route114_FossilManiacsTunnel_MapBorder: @ 842E120 + .incbin "data/maps/Route114_FossilManiacsTunnel/border.bin" + + .align 2 +Route114_FossilManiacsTunnel_MapBlockdata: @ 842E128 + .incbin "data/maps/Route114_FossilManiacsTunnel/map.bin" + + .align 2 +Route114_FossilManiacsTunnel_MapAttributes: @ 842E3CC + .4byte 0xd + .4byte 0x1a + .4byte Route114_FossilManiacsTunnel_MapBorder + .4byte Route114_FossilManiacsTunnel_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Fallarbor + + .align 2 +Route114_LanettesHouse_MapBorder: @ 842E3E4 + .incbin "data/maps/Route114_LanettesHouse/border.bin" + + .align 2 +Route114_LanettesHouse_MapBlockdata: @ 842E3EC + .incbin "data/maps/Route114_LanettesHouse/map.bin" + + .align 2 +Route114_LanettesHouse_MapAttributes: @ 842E49C + .4byte 0xb + .4byte 0x8 + .4byte Route114_LanettesHouse_MapBorder + .4byte Route114_LanettesHouse_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Lab + + .align 2 +Route116_TunnelersRestHouse_MapBorder: @ 842E4B4 + .incbin "data/maps/Route116_TunnelersRestHouse/border.bin" + + .align 2 +Route116_TunnelersRestHouse_MapBlockdata: @ 842E4BC + .incbin "data/maps/Route116_TunnelersRestHouse/map.bin" + + .align 2 +Route116_TunnelersRestHouse_MapAttributes: @ 842E570 + .4byte 0xa + .4byte 0x9 + .4byte Route116_TunnelersRestHouse_MapBorder + .4byte Route116_TunnelersRestHouse_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +Route117_PokemonDayCare_MapBorder: @ 842E588 + .incbin "data/maps/Route117_PokemonDayCare/border.bin" + + .align 2 +Route117_PokemonDayCare_MapBlockdata: @ 842E590 + .incbin "data/maps/Route117_PokemonDayCare/map.bin" + + .align 2 +Route117_PokemonDayCare_MapAttributes: @ 842E668 + .4byte 0xc + .4byte 0x9 + .4byte Route117_PokemonDayCare_MapBorder + .4byte Route117_PokemonDayCare_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_PokemonDayCare + + .align 2 +Route121_SafariZoneEntrance_MapBorder: @ 842E680 + .incbin "data/maps/Route121_SafariZoneEntrance/border.bin" + + .align 2 +Route121_SafariZoneEntrance_MapBlockdata: @ 842E688 + .incbin "data/maps/Route121_SafariZoneEntrance/map.bin" + + .align 2 +Route121_SafariZoneEntrance_MapAttributes: @ 842E880 + .4byte 0x12 + .4byte 0xe + .4byte Route121_SafariZoneEntrance_MapBorder + .4byte Route121_SafariZoneEntrance_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Shop + + .align 2 +MeteorFalls_1F_1R_MapBorder: @ 842E898 + .incbin "data/maps/MeteorFalls_1F_1R/border.bin" + + .align 2 +MeteorFalls_1F_1R_MapBlockdata: @ 842E8A0 + .incbin "data/maps/MeteorFalls_1F_1R/map.bin" + + .align 2 +MeteorFalls_1F_1R_MapAttributes: @ 842F278 + .4byte 0x1e + .4byte 0x2a + .4byte MeteorFalls_1F_1R_MapBorder + .4byte MeteorFalls_1F_1R_MapBlockdata + .4byte gTileset_General + .4byte gTileset_MeteorFalls + + .align 2 +MeteorFalls_1F_2R_MapBorder: @ 842F290 + .incbin "data/maps/MeteorFalls_1F_2R/border.bin" + + .align 2 +MeteorFalls_1F_2R_MapBlockdata: @ 842F298 + .incbin "data/maps/MeteorFalls_1F_2R/map.bin" + + .align 2 +MeteorFalls_1F_2R_MapAttributes: @ 842FA18 + .4byte 0x1e + .4byte 0x20 + .4byte MeteorFalls_1F_2R_MapBorder + .4byte MeteorFalls_1F_2R_MapBlockdata + .4byte gTileset_General + .4byte gTileset_MeteorFalls + + .align 2 +MeteorFalls_B1F_1R_MapBorder: @ 842FA30 + .incbin "data/maps/MeteorFalls_B1F_1R/border.bin" + + .align 2 +MeteorFalls_B1F_1R_MapBlockdata: @ 842FA38 + .incbin "data/maps/MeteorFalls_B1F_1R/map.bin" + + .align 2 +MeteorFalls_B1F_1R_MapAttributes: @ 84302D4 + .4byte 0x1d + .4byte 0x26 + .4byte MeteorFalls_B1F_1R_MapBorder + .4byte MeteorFalls_B1F_1R_MapBlockdata + .4byte gTileset_General + .4byte gTileset_MeteorFalls + + .align 2 +MeteorFalls_B1F_2R_MapBorder: @ 84302EC + .incbin "data/maps/MeteorFalls_B1F_2R/border.bin" + + .align 2 +MeteorFalls_B1F_2R_MapBlockdata: @ 84302F4 + .incbin "data/maps/MeteorFalls_B1F_2R/map.bin" + + .align 2 +MeteorFalls_B1F_2R_MapAttributes: @ 8430480 + .4byte 0xb + .4byte 0x12 + .4byte MeteorFalls_B1F_2R_MapBorder + .4byte MeteorFalls_B1F_2R_MapBlockdata + .4byte gTileset_General + .4byte gTileset_MeteorFalls + + .align 2 +RusturfTunnel_MapBorder: @ 8430498 + .incbin "data/maps/RusturfTunnel/border.bin" + + .align 2 +RusturfTunnel_MapBlockdata: @ 84304A0 + .incbin "data/maps/RusturfTunnel/map.bin" + + .align 2 +RusturfTunnel_MapAttributes: @ 8430B60 + .4byte 0x24 + .4byte 0x18 + .4byte RusturfTunnel_MapBorder + .4byte RusturfTunnel_MapBlockdata + .4byte gTileset_General + .4byte gTileset_RusturfTunnel + + .align 2 +Underwater_SootopolisCity_MapBorder: @ 8430B78 + .incbin "data/maps/Underwater_SootopolisCity/border.bin" + + .align 2 +Underwater_SootopolisCity_MapBlockdata: @ 8430B80 + .incbin "data/maps/Underwater_SootopolisCity/map.bin" + + .align 2 +Underwater_SootopolisCity_MapAttributes: @ 8430D10 + .4byte 0x14 + .4byte 0xa + .4byte Underwater_SootopolisCity_MapBorder + .4byte Underwater_SootopolisCity_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Underwater + + .align 2 +DesertRuins_MapBorder: @ 8430D28 + .incbin "data/maps/DesertRuins/border.bin" + + .align 2 +DesertRuins_MapBlockdata: @ 8430D30 + .incbin "data/maps/DesertRuins/map.bin" + + .align 2 +DesertRuins_MapAttributes: @ 8431194 + .4byte 0x11 + .4byte 0x21 + .4byte DesertRuins_MapBorder + .4byte DesertRuins_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +GraniteCave_1F_MapBorder: @ 84311AC + .incbin "data/maps/GraniteCave_1F/border.bin" + + .align 2 +GraniteCave_1F_MapBlockdata: @ 84311B4 + .incbin "data/maps/GraniteCave_1F/map.bin" + + .align 2 +GraniteCave_1F_MapAttributes: @ 84316A0 + .4byte 0x2a + .4byte 0xf + .4byte GraniteCave_1F_MapBorder + .4byte GraniteCave_1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +GraniteCave_B1F_MapBorder: @ 84316B8 + .incbin "data/maps/GraniteCave_B1F/border.bin" + + .align 2 +GraniteCave_B1F_MapBlockdata: @ 84316C0 + .incbin "data/maps/GraniteCave_B1F/map.bin" + + .align 2 +GraniteCave_B1F_MapAttributes: @ 8431D40 + .4byte 0x20 + .4byte 0x1a + .4byte GraniteCave_B1F_MapBorder + .4byte GraniteCave_B1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +GraniteCave_B2F_MapBorder: @ 8431D58 + .incbin "data/maps/GraniteCave_B2F/border.bin" + + .align 2 +GraniteCave_B2F_MapBlockdata: @ 8431D60 + .incbin "data/maps/GraniteCave_B2F/map.bin" + + .align 2 +GraniteCave_B2F_MapAttributes: @ 84323E0 + .4byte 0x20 + .4byte 0x1a + .4byte GraniteCave_B2F_MapBorder + .4byte GraniteCave_B2F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +PetalburgWoods_MapBorder: @ 84323F8 + .incbin "data/maps/PetalburgWoods/border.bin" + + .align 2 +PetalburgWoods_MapBlockdata: @ 8432400 + .incbin "data/maps/PetalburgWoods/map.bin" + + .align 2 +PetalburgWoods_MapAttributes: @ 8433480 + .4byte 0x30 + .4byte 0x2c + .4byte PetalburgWoods_MapBorder + .4byte PetalburgWoods_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Rustboro + + .align 2 +MtChimney_MapBorder: @ 8433498 + .incbin "data/maps/MtChimney/border.bin" + + .align 2 +MtChimney_MapBlockdata: @ 84334A0 + .incbin "data/maps/MtChimney/map.bin" + + .align 2 +MtChimney_MapAttributes: @ 8434350 + .4byte 0x28 + .4byte 0x2f + .4byte MtChimney_MapBorder + .4byte MtChimney_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lavaridge + + .align 2 +MtPyre_1F_MapBorder: @ 8434368 + .incbin "data/maps/MtPyre_1F/border.bin" + + .align 2 +MtPyre_1F_MapBlockdata: @ 8434370 + .incbin "data/maps/MtPyre_1F/map.bin" + + .align 2 +MtPyre_1F_MapAttributes: @ 84346B4 + .4byte 0x16 + .4byte 0x13 + .4byte MtPyre_1F_MapBorder + .4byte MtPyre_1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +MtPyre_2F_MapBorder: @ 84346CC + .incbin "data/maps/MtPyre_2F/border.bin" + + .align 2 +MtPyre_2F_MapBlockdata: @ 84346D4 + .incbin "data/maps/MtPyre_2F/map.bin" + + .align 2 +MtPyre_2F_MapAttributes: @ 8434828 + .4byte 0xd + .4byte 0xd + .4byte MtPyre_2F_MapBorder + .4byte MtPyre_2F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +MtPyre_3F_MapBorder: @ 8434840 + .incbin "data/maps/MtPyre_3F/border.bin" + + .align 2 +MtPyre_3F_MapBlockdata: @ 8434848 + .incbin "data/maps/MtPyre_3F/map.bin" + + .align 2 +MtPyre_3F_MapAttributes: @ 843499C + .4byte 0xd + .4byte 0xd + .4byte MtPyre_3F_MapBorder + .4byte MtPyre_3F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +MtPyre_4F_MapBorder: @ 84349B4 + .incbin "data/maps/MtPyre_4F/border.bin" + + .align 2 +MtPyre_4F_MapBlockdata: @ 84349BC + .incbin "data/maps/MtPyre_4F/map.bin" + + .align 2 +MtPyre_4F_MapAttributes: @ 8434B10 + .4byte 0xd + .4byte 0xd + .4byte MtPyre_4F_MapBorder + .4byte MtPyre_4F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +MtPyre_5F_MapBorder: @ 8434B28 + .incbin "data/maps/MtPyre_5F/border.bin" + + .align 2 +MtPyre_5F_MapBlockdata: @ 8434B30 + .incbin "data/maps/MtPyre_5F/map.bin" + + .align 2 +MtPyre_5F_MapAttributes: @ 8434C84 + .4byte 0xd + .4byte 0xd + .4byte MtPyre_5F_MapBorder + .4byte MtPyre_5F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +MtPyre_6F_MapBorder: @ 8434C9C + .incbin "data/maps/MtPyre_6F/border.bin" + + .align 2 +MtPyre_6F_MapBlockdata: @ 8434CA4 + .incbin "data/maps/MtPyre_6F/map.bin" + + .align 2 +MtPyre_6F_MapAttributes: @ 8434DF8 + .4byte 0xd + .4byte 0xd + .4byte MtPyre_6F_MapBorder + .4byte MtPyre_6F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +AquaHideout_1F_MapBorder: @ 8434E10 + .incbin "data/maps/AquaHideout_1F/border.bin" + + .align 2 +AquaHideout_1F_MapBlockdata: @ 8434E18 + .incbin "data/maps/AquaHideout_1F/map.bin" + + .align 2 +AquaHideout_1F_MapAttributes: @ 84354A8 + .4byte 0x1c + .4byte 0x1e + .4byte AquaHideout_1F_MapBorder + .4byte AquaHideout_1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +AquaHideout_B1F_MapBorder: @ 84354C0 + .incbin "data/maps/AquaHideout_B1F/border.bin" + + .align 2 +AquaHideout_B1F_MapBlockdata: @ 84354C8 + .incbin "data/maps/AquaHideout_B1F/map.bin" + + .align 2 +AquaHideout_B1F_MapAttributes: @ 8435E58 + .4byte 0x33 + .4byte 0x18 + .4byte AquaHideout_B1F_MapBorder + .4byte AquaHideout_B1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +AquaHideout_B2F_MapBorder: @ 8435E70 + .incbin "data/maps/AquaHideout_B2F/border.bin" + + .align 2 +AquaHideout_B2F_MapBlockdata: @ 8435E78 + .incbin "data/maps/AquaHideout_B2F/map.bin" + + .align 2 +AquaHideout_B2F_MapAttributes: @ 84364D8 + .4byte 0x22 + .4byte 0x18 + .4byte AquaHideout_B2F_MapBorder + .4byte AquaHideout_B2F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +Underwater_SeafloorCavern_MapBorder: @ 84364F0 + .incbin "data/maps/Underwater_SeafloorCavern/border.bin" + + .align 2 +Underwater_SeafloorCavern_MapBlockdata: @ 84364F8 + .incbin "data/maps/Underwater_SeafloorCavern/map.bin" + + .align 2 +Underwater_SeafloorCavern_MapAttributes: @ 84365F4 + .4byte 0xe + .4byte 0x9 + .4byte Underwater_SeafloorCavern_MapBorder + .4byte Underwater_SeafloorCavern_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Underwater + + .align 2 +SeafloorCavern_Entrance_MapBorder: @ 843660C + .incbin "data/maps/SeafloorCavern_Entrance/border.bin" + + .align 2 +SeafloorCavern_Entrance_MapBlockdata: @ 8436614 + .incbin "data/maps/SeafloorCavern_Entrance/map.bin" + + .align 2 +SeafloorCavern_Entrance_MapAttributes: @ 8436934 + .4byte 0x14 + .4byte 0x14 + .4byte SeafloorCavern_Entrance_MapBorder + .4byte SeafloorCavern_Entrance_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +SeafloorCavern_Room1_MapBorder: @ 843694C + .incbin "data/maps/SeafloorCavern_Room1/border.bin" + + .align 2 +SeafloorCavern_Room1_MapBlockdata: @ 8436954 + .incbin "data/maps/SeafloorCavern_Room1/map.bin" + + .align 2 +SeafloorCavern_Room1_MapAttributes: @ 8436C9C + .4byte 0x14 + .4byte 0x15 + .4byte SeafloorCavern_Room1_MapBorder + .4byte SeafloorCavern_Room1_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +SeafloorCavern_Room2_MapBorder: @ 8436CB4 + .incbin "data/maps/SeafloorCavern_Room2/border.bin" + + .align 2 +SeafloorCavern_Room2_MapBlockdata: @ 8436CBC + .incbin "data/maps/SeafloorCavern_Room2/map.bin" + + .align 2 +SeafloorCavern_Room2_MapAttributes: @ 8436E6C + .4byte 0x12 + .4byte 0xc + .4byte SeafloorCavern_Room2_MapBorder + .4byte SeafloorCavern_Room2_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +SeafloorCavern_Room3_MapBorder: @ 8436E84 + .incbin "data/maps/SeafloorCavern_Room3/border.bin" + + .align 2 +SeafloorCavern_Room3_MapBlockdata: @ 8436E8C + .incbin "data/maps/SeafloorCavern_Room3/map.bin" + + .align 2 +SeafloorCavern_Room3_MapAttributes: @ 84370AC + .4byte 0x10 + .4byte 0x11 + .4byte SeafloorCavern_Room3_MapBorder + .4byte SeafloorCavern_Room3_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +SeafloorCavern_Room4_MapBorder: @ 84370C4 + .incbin "data/maps/SeafloorCavern_Room4/border.bin" + + .align 2 +SeafloorCavern_Room4_MapBlockdata: @ 84370CC + .incbin "data/maps/SeafloorCavern_Room4/map.bin" + + .align 2 +SeafloorCavern_Room4_MapAttributes: @ 8437378 + .4byte 0x12 + .4byte 0x13 + .4byte SeafloorCavern_Room4_MapBorder + .4byte SeafloorCavern_Room4_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +SeafloorCavern_Room5_MapBorder: @ 8437390 + .incbin "data/maps/SeafloorCavern_Room5/border.bin" + + .align 2 +SeafloorCavern_Room5_MapBlockdata: @ 8437398 + .incbin "data/maps/SeafloorCavern_Room5/map.bin" + + .align 2 +SeafloorCavern_Room5_MapAttributes: @ 84376B8 + .4byte 0x14 + .4byte 0x14 + .4byte SeafloorCavern_Room5_MapBorder + .4byte SeafloorCavern_Room5_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +SeafloorCavern_Room6_MapBorder: @ 84376D0 + .incbin "data/maps/SeafloorCavern_Room6/border.bin" + + .align 2 +SeafloorCavern_Room6_MapBlockdata: @ 84376D8 + .incbin "data/maps/SeafloorCavern_Room6/map.bin" + + .align 2 +SeafloorCavern_Room6_MapAttributes: @ 8437B28 + .4byte 0x18 + .4byte 0x17 + .4byte SeafloorCavern_Room6_MapBorder + .4byte SeafloorCavern_Room6_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Pacifidlog + + .align 2 +SeafloorCavern_Room7_MapBorder: @ 8437B40 + .incbin "data/maps/SeafloorCavern_Room7/border.bin" + + .align 2 +SeafloorCavern_Room7_MapBlockdata: @ 8437B48 + .incbin "data/maps/SeafloorCavern_Room7/map.bin" + + .align 2 +SeafloorCavern_Room7_MapAttributes: @ 8437FC8 + .4byte 0x17 + .4byte 0x19 + .4byte SeafloorCavern_Room7_MapBorder + .4byte SeafloorCavern_Room7_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Pacifidlog + + .align 2 +SeafloorCavern_Room8_MapBorder: @ 8437FE0 + .incbin "data/maps/SeafloorCavern_Room8/border.bin" + + .align 2 +SeafloorCavern_Room8_MapBlockdata: @ 8437FE8 + .incbin "data/maps/SeafloorCavern_Room8/map.bin" + + .align 2 +SeafloorCavern_Room8_MapAttributes: @ 843811C + .4byte 0xb + .4byte 0xe + .4byte SeafloorCavern_Room8_MapBorder + .4byte SeafloorCavern_Room8_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +SeafloorCavern_Room9_MapBorder: @ 8438134 + .incbin "data/maps/SeafloorCavern_Room9/border.bin" + + .align 2 +SeafloorCavern_Room9_MapBlockdata: @ 843813C + .incbin "data/maps/SeafloorCavern_Room9/map.bin" + + .align 2 +SeafloorCavern_Room9_MapAttributes: @ 8438AF0 + .4byte 0x1b + .4byte 0x2e + .4byte SeafloorCavern_Room9_MapBorder + .4byte SeafloorCavern_Room9_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +CaveOfOrigin_Entrance_MapBorder: @ 8438B08 + .incbin "data/maps/CaveOfOrigin_Entrance/border.bin" + + .align 2 +CaveOfOrigin_Entrance_MapBlockdata: @ 8438B10 + .incbin "data/maps/CaveOfOrigin_Entrance/map.bin" + + .align 2 +CaveOfOrigin_Entrance_MapAttributes: @ 8438EEC + .4byte 0x13 + .4byte 0x1a + .4byte CaveOfOrigin_Entrance_MapBorder + .4byte CaveOfOrigin_Entrance_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +CaveOfOrigin_1F_MapBorder: @ 8438F04 + .incbin "data/maps/CaveOfOrigin_1F/border.bin" + + .align 2 +CaveOfOrigin_1F_MapBlockdata: @ 8438F0C + .incbin "data/maps/CaveOfOrigin_1F/map.bin" + + .align 2 +CaveOfOrigin_1F_MapAttributes: @ 8439330 + .4byte 0x17 + .4byte 0x17 + .4byte CaveOfOrigin_1F_MapBorder + .4byte CaveOfOrigin_1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +CaveOfOrigin_UnusedRubySapphireMap1_MapBorder: @ 8439348 + .incbin "data/maps/CaveOfOrigin_UnusedRubySapphireMap1/border.bin" + + .align 2 +CaveOfOrigin_UnusedRubySapphireMap1_MapBlockdata: @ 8439350 + .incbin "data/maps/CaveOfOrigin_UnusedRubySapphireMap1/map.bin" + + .align 2 +CaveOfOrigin_UnusedRubySapphireMap1_MapAttributes: @ 8439774 + .4byte 0x17 + .4byte 0x17 + .4byte CaveOfOrigin_UnusedRubySapphireMap1_MapBorder + .4byte CaveOfOrigin_UnusedRubySapphireMap1_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +CaveOfOrigin_UnusedRubySapphireMap2_MapBorder: @ 843978C + .incbin "data/maps/CaveOfOrigin_UnusedRubySapphireMap2/border.bin" + + .align 2 +CaveOfOrigin_UnusedRubySapphireMap2_MapBlockdata: @ 8439794 + .incbin "data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.bin" + + .align 2 +CaveOfOrigin_UnusedRubySapphireMap2_MapAttributes: @ 8439B08 + .4byte 0x15 + .4byte 0x15 + .4byte CaveOfOrigin_UnusedRubySapphireMap2_MapBorder + .4byte CaveOfOrigin_UnusedRubySapphireMap2_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +CaveOfOrigin_UnusedRubySapphireMap3_MapBorder: @ 8439B20 + .incbin "data/maps/CaveOfOrigin_UnusedRubySapphireMap3/border.bin" + + .align 2 +CaveOfOrigin_UnusedRubySapphireMap3_MapBlockdata: @ 8439B28 + .incbin "data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.bin" + + .align 2 +CaveOfOrigin_UnusedRubySapphireMap3_MapAttributes: @ 8439E48 + .4byte 0x13 + .4byte 0x15 + .4byte CaveOfOrigin_UnusedRubySapphireMap3_MapBorder + .4byte CaveOfOrigin_UnusedRubySapphireMap3_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +CaveOfOrigin_B1F_MapBorder: @ 8439E60 + .incbin "data/maps/CaveOfOrigin_B1F/border.bin" + + .align 2 +CaveOfOrigin_B1F_MapBlockdata: @ 8439E68 + .incbin "data/maps/CaveOfOrigin_B1F/map.bin" + + .align 2 +CaveOfOrigin_B1F_MapAttributes: @ 843A13C + .4byte 0x13 + .4byte 0x13 + .4byte CaveOfOrigin_B1F_MapBorder + .4byte CaveOfOrigin_B1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +VictoryRoad_1F_MapBorder: @ 843A154 + .incbin "data/maps/VictoryRoad_1F/border.bin" + + .align 2 +VictoryRoad_1F_MapBlockdata: @ 843A15C + .incbin "data/maps/VictoryRoad_1F/map.bin" + + .align 2 +VictoryRoad_1F_MapAttributes: @ 843B188 + .4byte 0x2e + .4byte 0x2d + .4byte VictoryRoad_1F_MapBorder + .4byte VictoryRoad_1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +ShoalCave_LowTideEntranceRoom_MapBorder: @ 843B1A0 + .incbin "data/maps/ShoalCave_LowTideEntranceRoom/border.bin" + + .align 2 +ShoalCave_LowTideEntranceRoom_MapBlockdata: @ 843B1A8 + .incbin "data/maps/ShoalCave_LowTideEntranceRoom/map.bin" + + .align 2 +ShoalCave_LowTideEntranceRoom_MapAttributes: @ 843BB3C + .4byte 0x23 + .4byte 0x23 + .4byte ShoalCave_LowTideEntranceRoom_MapBorder + .4byte ShoalCave_LowTideEntranceRoom_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +ShoalCave_LowTideInnerRoom_MapBorder: @ 843BB54 + .incbin "data/maps/ShoalCave_LowTideInnerRoom/border.bin" + + .align 2 +ShoalCave_LowTideInnerRoom_MapBlockdata: @ 843BB5C + .incbin "data/maps/ShoalCave_LowTideInnerRoom/map.bin" + + .align 2 +ShoalCave_LowTideInnerRoom_MapAttributes: @ 843C904 + .4byte 0x2e + .4byte 0x26 + .4byte ShoalCave_LowTideInnerRoom_MapBorder + .4byte ShoalCave_LowTideInnerRoom_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +ShoalCave_LowTideStairsRoom_MapBorder: @ 843C91C + .incbin "data/maps/ShoalCave_LowTideStairsRoom/border.bin" + + .align 2 +ShoalCave_LowTideStairsRoom_MapBlockdata: @ 843C924 + .incbin "data/maps/ShoalCave_LowTideStairsRoom/map.bin" + + .align 2 +ShoalCave_LowTideStairsRoom_MapAttributes: @ 843CB9C + .4byte 0x15 + .4byte 0xf + .4byte ShoalCave_LowTideStairsRoom_MapBorder + .4byte ShoalCave_LowTideStairsRoom_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +ShoalCave_LowTideLowerRoom_MapBorder: @ 843CBB4 + .incbin "data/maps/ShoalCave_LowTideLowerRoom/border.bin" + + .align 2 +ShoalCave_LowTideLowerRoom_MapBlockdata: @ 843CBBC + .incbin "data/maps/ShoalCave_LowTideLowerRoom/map.bin" + + .align 2 +ShoalCave_LowTideLowerRoom_MapAttributes: @ 843CF20 + .4byte 0x1f + .4byte 0xe + .4byte ShoalCave_LowTideLowerRoom_MapBorder + .4byte ShoalCave_LowTideLowerRoom_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +ShoalCave_HighTideEntranceRoom_MapBorder: @ 843CF38 + .incbin "data/maps/ShoalCave_HighTideEntranceRoom/border.bin" + + .align 2 +ShoalCave_HighTideEntranceRoom_MapBlockdata: @ 843CF40 + .incbin "data/maps/ShoalCave_HighTideEntranceRoom/map.bin" + + .align 2 +ShoalCave_HighTideEntranceRoom_MapAttributes: @ 843D8D4 + .4byte 0x23 + .4byte 0x23 + .4byte ShoalCave_HighTideEntranceRoom_MapBorder + .4byte ShoalCave_HighTideEntranceRoom_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +ShoalCave_HighTideInnerRoom_MapBorder: @ 843D8EC + .incbin "data/maps/ShoalCave_HighTideInnerRoom/border.bin" + + .align 2 +ShoalCave_HighTideInnerRoom_MapBlockdata: @ 843D8F4 + .incbin "data/maps/ShoalCave_HighTideInnerRoom/map.bin" + + .align 2 +ShoalCave_HighTideInnerRoom_MapAttributes: @ 843E69C + .4byte 0x2e + .4byte 0x26 + .4byte ShoalCave_HighTideInnerRoom_MapBorder + .4byte ShoalCave_HighTideInnerRoom_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +UnknownMapBorder_0843E6C0: @ 843E6B4 + .incbin "data/maps/UnknownMap_0843E6C0/border.bin" + + .align 2 +UnknownMapBlockdata_0843E6C0: @ 843E6BC + .incbin "data/maps/UnknownMap_0843E6C0/map.bin" + + .align 2 +UnknownMapAttributes_0843E6C0: @ 843E6C0 + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMapBorder_0843E6C0 + .4byte UnknownMapBlockdata_0843E6C0 + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +UnknownMapBorder_0843E6E4: @ 843E6D8 + .incbin "data/maps/UnknownMap_0843E6E4/border.bin" + + .align 2 +UnknownMapBlockdata_0843E6E4: @ 843E6E0 + .incbin "data/maps/UnknownMap_0843E6E4/map.bin" + + .align 2 +UnknownMapAttributes_0843E6E4: @ 843E6E4 + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMapBorder_0843E6E4 + .4byte UnknownMapBlockdata_0843E6E4 + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +UnknownMapBorder_0843E708: @ 843E6FC + .incbin "data/maps/UnknownMap_0843E708/border.bin" + + .align 2 +UnknownMapBlockdata_0843E708: @ 843E704 + .incbin "data/maps/UnknownMap_0843E708/map.bin" + + .align 2 +UnknownMapAttributes_0843E708: @ 843E708 + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMapBorder_0843E708 + .4byte UnknownMapBlockdata_0843E708 + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +UnknownMapBorder_0843E72C: @ 843E720 + .incbin "data/maps/UnknownMap_0843E72C/border.bin" + + .align 2 +UnknownMapBlockdata_0843E72C: @ 843E728 + .incbin "data/maps/UnknownMap_0843E72C/map.bin" + + .align 2 +UnknownMapAttributes_0843E72C: @ 843E72C + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMapBorder_0843E72C + .4byte UnknownMapBlockdata_0843E72C + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +UnknownMapBorder_0843E750: @ 843E744 + .incbin "data/maps/UnknownMap_0843E750/border.bin" + + .align 2 +UnknownMapBlockdata_0843E750: @ 843E74C + .incbin "data/maps/UnknownMap_0843E750/map.bin" + + .align 2 +UnknownMapAttributes_0843E750: @ 843E750 + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMapBorder_0843E750 + .4byte UnknownMapBlockdata_0843E750 + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +UnknownMapBorder_0843E774: @ 843E768 + .incbin "data/maps/UnknownMap_0843E774/border.bin" + + .align 2 +UnknownMapBlockdata_0843E774: @ 843E770 + .incbin "data/maps/UnknownMap_0843E774/map.bin" + + .align 2 +UnknownMapAttributes_0843E774: @ 843E774 + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMapBorder_0843E774 + .4byte UnknownMapBlockdata_0843E774 + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +UnknownMapBorder_0843E798: @ 843E78C + .incbin "data/maps/UnknownMap_0843E798/border.bin" + + .align 2 +UnknownMapBlockdata_0843E798: @ 843E794 + .incbin "data/maps/UnknownMap_0843E798/map.bin" + + .align 2 +UnknownMapAttributes_0843E798: @ 843E798 + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMapBorder_0843E798 + .4byte UnknownMapBlockdata_0843E798 + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +UnknownMapBorder_0843E7BC: @ 843E7B0 + .incbin "data/maps/UnknownMap_0843E7BC/border.bin" + + .align 2 +UnknownMapBlockdata_0843E7BC: @ 843E7B8 + .incbin "data/maps/UnknownMap_0843E7BC/map.bin" + + .align 2 +UnknownMapAttributes_0843E7BC: @ 843E7BC + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMapBorder_0843E7BC + .4byte UnknownMapBlockdata_0843E7BC + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +UnknownMapBorder_0843E7E0: @ 843E7D4 + .incbin "data/maps/UnknownMap_0843E7E0/border.bin" + + .align 2 +UnknownMapBlockdata_0843E7E0: @ 843E7DC + .incbin "data/maps/UnknownMap_0843E7E0/map.bin" + + .align 2 +UnknownMapAttributes_0843E7E0: @ 843E7E0 + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMapBorder_0843E7E0 + .4byte UnknownMapBlockdata_0843E7E0 + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +UnknownMapBorder_0843E804: @ 843E7F8 + .incbin "data/maps/UnknownMap_0843E804/border.bin" + + .align 2 +UnknownMapBlockdata_0843E804: @ 843E800 + .incbin "data/maps/UnknownMap_0843E804/map.bin" + + .align 2 +UnknownMapAttributes_0843E804: @ 843E804 + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMapBorder_0843E804 + .4byte UnknownMapBlockdata_0843E804 + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +UnknownMapBorder_0843E828: @ 843E81C + .incbin "data/maps/UnknownMap_0843E828/border.bin" + + .align 2 +UnknownMapBlockdata_0843E828: @ 843E824 + .incbin "data/maps/UnknownMap_0843E828/map.bin" + + .align 2 +UnknownMapAttributes_0843E828: @ 843E828 + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMapBorder_0843E828 + .4byte UnknownMapBlockdata_0843E828 + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +UnknownMapBorder_0843E84C: @ 843E840 + .incbin "data/maps/UnknownMap_0843E84C/border.bin" + + .align 2 +UnknownMapBlockdata_0843E84C: @ 843E848 + .incbin "data/maps/UnknownMap_0843E84C/map.bin" + + .align 2 +UnknownMapAttributes_0843E84C: @ 843E84C + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMapBorder_0843E84C + .4byte UnknownMapBlockdata_0843E84C + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +UnknownMapBorder_0843E870: @ 843E864 + .incbin "data/maps/UnknownMap_0843E870/border.bin" + + .align 2 +UnknownMapBlockdata_0843E870: @ 843E86C + .incbin "data/maps/UnknownMap_0843E870/map.bin" + + .align 2 +UnknownMapAttributes_0843E870: @ 843E870 + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMapBorder_0843E870 + .4byte UnknownMapBlockdata_0843E870 + .4byte gTileset_General + .4byte gTileset_Cave + +UnknownMapBorder_0843E894: @ 843E888 + .incbin "data/maps/UnknownMap_0843E894/border.bin" + +UnknownMapBlockdata_0843E894: @ 843E890 + .incbin "data/maps/UnknownMap_0843E894/map.bin" + + .align 2 +UnknownMapAttributes_0843E894: @ 843E894 + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMapBorder_0843E894 + .4byte UnknownMapBlockdata_0843E894 + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +NewMauville_Entrance_MapBorder: @ 843E8AC + .incbin "data/maps/NewMauville_Entrance/border.bin" + + .align 2 +NewMauville_Entrance_MapBlockdata: @ 843E8B4 + .incbin "data/maps/NewMauville_Entrance/map.bin" + + .align 2 +NewMauville_Entrance_MapAttributes: @ 843E958 + .4byte 0x9 + .4byte 0x9 + .4byte NewMauville_Entrance_MapBorder + .4byte NewMauville_Entrance_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +NewMauville_Inside_MapBorder: @ 843E970 + .incbin "data/maps/NewMauville_Inside/border.bin" + + .align 2 +NewMauville_Inside_MapBlockdata: @ 843E978 + .incbin "data/maps/NewMauville_Inside/map.bin" + + .align 2 +NewMauville_Inside_MapAttributes: @ 843F69C + .4byte 0x29 + .4byte 0x29 + .4byte NewMauville_Inside_MapBorder + .4byte NewMauville_Inside_MapBlockdata + .4byte gTileset_General + .4byte gTileset_BikeShop + + .align 2 +AbandonedShip_Deck_MapBorder: @ 843F6B4 + .incbin "data/maps/AbandonedShip_Deck/border.bin" + + .align 2 +AbandonedShip_Deck_MapBlockdata: @ 843F6BC + .incbin "data/maps/AbandonedShip_Deck/map.bin" + + .align 2 +AbandonedShip_Deck_MapAttributes: @ 843FA84 + .4byte 0x17 + .4byte 0x15 + .4byte AbandonedShip_Deck_MapBorder + .4byte AbandonedShip_Deck_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +AbandonedShip_Corridors_1F_MapBorder: @ 843FA9C + .incbin "data/maps/AbandonedShip_Corridors_1F/border.bin" + + .align 2 +AbandonedShip_Corridors_1F_MapBlockdata: @ 843FAA4 + .incbin "data/maps/AbandonedShip_Corridors_1F/map.bin" + + .align 2 +AbandonedShip_Corridors_1F_MapAttributes: @ 843FC54 + .4byte 0x12 + .4byte 0xc + .4byte AbandonedShip_Corridors_1F_MapBorder + .4byte AbandonedShip_Corridors_1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_InsideShip + + .align 2 +AbandonedShip_Rooms_1F_MapBorder: @ 843FC6C + .incbin "data/maps/AbandonedShip_Rooms_1F/border.bin" + + .align 2 +AbandonedShip_Rooms_1F_MapBlockdata: @ 843FC74 + .incbin "data/maps/AbandonedShip_Rooms_1F/map.bin" + + .align 2 +AbandonedShip_Rooms_1F_MapAttributes: @ 843FED8 + .4byte 0x12 + .4byte 0x11 + .4byte AbandonedShip_Rooms_1F_MapBorder + .4byte AbandonedShip_Rooms_1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_InsideShip + + .align 2 +AbandonedShip_Corridors_B1F_MapBorder: @ 843FEF0 + .incbin "data/maps/AbandonedShip_Corridors_B1F/border.bin" + + .align 2 +AbandonedShip_Corridors_B1F_MapBlockdata: @ 843FEF8 + .incbin "data/maps/AbandonedShip_Corridors_B1F/map.bin" + + .align 2 +AbandonedShip_Corridors_B1F_MapAttributes: @ 843FFFC + .4byte 0xd + .4byte 0xa + .4byte AbandonedShip_Corridors_B1F_MapBorder + .4byte AbandonedShip_Corridors_B1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_InsideShip + + .align 2 +AbandonedShip_Rooms_B1F_MapBorder: @ 8440014 + .incbin "data/maps/AbandonedShip_Rooms_B1F/border.bin" + + .align 2 +AbandonedShip_Rooms_B1F_MapBlockdata: @ 844001C + .incbin "data/maps/AbandonedShip_Rooms_B1F/map.bin" + + .align 2 +AbandonedShip_Rooms_B1F_MapAttributes: @ 84401CC + .4byte 0x1b + .4byte 0x8 + .4byte AbandonedShip_Rooms_B1F_MapBorder + .4byte AbandonedShip_Rooms_B1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_InsideShip + + .align 2 +AbandonedShip_Rooms2_B1F_MapBorder: @ 84401E4 + .incbin "data/maps/AbandonedShip_Rooms2_B1F/border.bin" + + .align 2 +AbandonedShip_Rooms2_B1F_MapBlockdata: @ 84401EC + .incbin "data/maps/AbandonedShip_Rooms2_B1F/map.bin" + + .align 2 +AbandonedShip_Rooms2_B1F_MapAttributes: @ 844030C + .4byte 0x12 + .4byte 0x8 + .4byte AbandonedShip_Rooms2_B1F_MapBorder + .4byte AbandonedShip_Rooms2_B1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_InsideShip + + .align 2 +AbandonedShip_Underwater1_MapBorder: @ 8440324 + .incbin "data/maps/AbandonedShip_Underwater1/border.bin" + + .align 2 +AbandonedShip_Underwater1_MapBlockdata: @ 844032C + .incbin "data/maps/AbandonedShip_Underwater1/map.bin" + + .align 2 +AbandonedShip_Underwater1_MapAttributes: @ 84403AC + .4byte 0x8 + .4byte 0x8 + .4byte AbandonedShip_Underwater1_MapBorder + .4byte AbandonedShip_Underwater1_MapBlockdata + .4byte gTileset_General + .4byte gTileset_InsideShip + + .align 2 +AbandonedShip_Room_B1F_MapBorder: @ 84403C4 + .incbin "data/maps/AbandonedShip_Room_B1F/border.bin" + + .align 2 +AbandonedShip_Room_B1F_MapBlockdata: @ 84403CC + .incbin "data/maps/AbandonedShip_Room_B1F/map.bin" + + .align 2 +AbandonedShip_Room_B1F_MapAttributes: @ 844045C + .4byte 0x9 + .4byte 0x8 + .4byte AbandonedShip_Room_B1F_MapBorder + .4byte AbandonedShip_Room_B1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_InsideShip + + .align 2 +AbandonedShip_Rooms2_1F_MapBorder: @ 8440474 + .incbin "data/maps/AbandonedShip_Rooms2_1F/border.bin" + + .align 2 +AbandonedShip_Rooms2_1F_MapBlockdata: @ 844047C + .incbin "data/maps/AbandonedShip_Rooms2_1F/map.bin" + + .align 2 +AbandonedShip_Rooms2_1F_MapAttributes: @ 84405B0 + .4byte 0x9 + .4byte 0x11 + .4byte AbandonedShip_Rooms2_1F_MapBorder + .4byte AbandonedShip_Rooms2_1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_InsideShip + + .align 2 +AbandonedShip_CaptainsOffice_MapBorder: @ 84405C8 + .incbin "data/maps/AbandonedShip_CaptainsOffice/border.bin" + + .align 2 +AbandonedShip_CaptainsOffice_MapBlockdata: @ 84405D0 + .incbin "data/maps/AbandonedShip_CaptainsOffice/map.bin" + + .align 2 +AbandonedShip_CaptainsOffice_MapAttributes: @ 8440650 + .4byte 0x9 + .4byte 0x7 + .4byte AbandonedShip_CaptainsOffice_MapBorder + .4byte AbandonedShip_CaptainsOffice_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +AbandonedShip_Underwater2_MapBorder: @ 8440668 + .incbin "data/maps/AbandonedShip_Underwater2/border.bin" + + .align 2 +AbandonedShip_Underwater2_MapBlockdata: @ 8440670 + .incbin "data/maps/AbandonedShip_Underwater2/map.bin" + + .align 2 +AbandonedShip_Underwater2_MapAttributes: @ 8440798 + .4byte 0x15 + .4byte 0x7 + .4byte AbandonedShip_Underwater2_MapBorder + .4byte AbandonedShip_Underwater2_MapBlockdata + .4byte gTileset_General + .4byte gTileset_InsideShip + + .align 2 +SecretBase_RedCave1_MapBorder: @ 84407B0 + .incbin "data/maps/SecretBase_RedCave1/border.bin" + + .align 2 +SecretBase_RedCave1_MapBlockdata: @ 84407B8 + .incbin "data/maps/SecretBase_RedCave1/map.bin" + + .align 2 +SecretBase_RedCave1_MapAttributes: @ 8440880 + .4byte 0xb + .4byte 0x9 + .4byte SecretBase_RedCave1_MapBorder + .4byte SecretBase_RedCave1_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseRedCave + + .align 2 +SecretBase_BrownCave1_MapBorder: @ 8440898 + .incbin "data/maps/SecretBase_BrownCave1/border.bin" + + .align 2 +SecretBase_BrownCave1_MapBlockdata: @ 84408A0 + .incbin "data/maps/SecretBase_BrownCave1/map.bin" + + .align 2 +SecretBase_BrownCave1_MapAttributes: @ 8440968 + .4byte 0xb + .4byte 0x9 + .4byte SecretBase_BrownCave1_MapBorder + .4byte SecretBase_BrownCave1_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseBrownCave + + .align 2 +SecretBase_BlueCave1_MapBorder: @ 8440980 + .incbin "data/maps/SecretBase_BlueCave1/border.bin" + + .align 2 +SecretBase_BlueCave1_MapBlockdata: @ 8440988 + .incbin "data/maps/SecretBase_BlueCave1/map.bin" + + .align 2 +SecretBase_BlueCave1_MapAttributes: @ 8440A50 + .4byte 0xb + .4byte 0x9 + .4byte SecretBase_BlueCave1_MapBorder + .4byte SecretBase_BlueCave1_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseBlueCave + + .align 2 +SecretBase_YellowCave1_MapBorder: @ 8440A68 + .incbin "data/maps/SecretBase_YellowCave1/border.bin" + + .align 2 +SecretBase_YellowCave1_MapBlockdata: @ 8440A70 + .incbin "data/maps/SecretBase_YellowCave1/map.bin" + + .align 2 +SecretBase_YellowCave1_MapAttributes: @ 8440B38 + .4byte 0xb + .4byte 0x9 + .4byte SecretBase_YellowCave1_MapBorder + .4byte SecretBase_YellowCave1_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseYellowCave + + .align 2 +SecretBase_Tree1_MapBorder: @ 8440B50 + .incbin "data/maps/SecretBase_Tree1/border.bin" + + .align 2 +SecretBase_Tree1_MapBlockdata: @ 8440B58 + .incbin "data/maps/SecretBase_Tree1/map.bin" + + .align 2 +SecretBase_Tree1_MapAttributes: @ 8440C20 + .4byte 0xb + .4byte 0x9 + .4byte SecretBase_Tree1_MapBorder + .4byte SecretBase_Tree1_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseTree + + .align 2 +SecretBase_Shrub1_MapBorder: @ 8440C38 + .incbin "data/maps/SecretBase_Shrub1/border.bin" + + .align 2 +SecretBase_Shrub1_MapBlockdata: @ 8440C40 + .incbin "data/maps/SecretBase_Shrub1/map.bin" + + .align 2 +SecretBase_Shrub1_MapAttributes: @ 8440D08 + .4byte 0xb + .4byte 0x9 + .4byte SecretBase_Shrub1_MapBorder + .4byte SecretBase_Shrub1_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseShrub + + .align 2 +SecretBase_RedCave2_MapBorder: @ 8440D20 + .incbin "data/maps/SecretBase_RedCave2/border.bin" + + .align 2 +SecretBase_RedCave2_MapBlockdata: @ 8440D28 + .incbin "data/maps/SecretBase_RedCave2/map.bin" + + .align 2 +SecretBase_RedCave2_MapAttributes: @ 8440E08 + .4byte 0x7 + .4byte 0x10 + .4byte SecretBase_RedCave2_MapBorder + .4byte SecretBase_RedCave2_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseRedCave + + .align 2 +SecretBase_BrownCave2_MapBorder: @ 8440E20 + .incbin "data/maps/SecretBase_BrownCave2/border.bin" + + .align 2 +SecretBase_BrownCave2_MapBlockdata: @ 8440E28 + .incbin "data/maps/SecretBase_BrownCave2/map.bin" + + .align 2 +SecretBase_BrownCave2_MapAttributes: @ 8440F24 + .4byte 0xe + .4byte 0x9 + .4byte SecretBase_BrownCave2_MapBorder + .4byte SecretBase_BrownCave2_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseBrownCave + + .align 2 +SecretBase_BlueCave2_MapBorder: @ 8440F3C + .incbin "data/maps/SecretBase_BlueCave2/border.bin" + + .align 2 +SecretBase_BlueCave2_MapBlockdata: @ 8440F44 + .incbin "data/maps/SecretBase_BlueCave2/map.bin" + + .align 2 +SecretBase_BlueCave2_MapAttributes: @ 8441018 + .4byte 0xf + .4byte 0x7 + .4byte SecretBase_BlueCave2_MapBorder + .4byte SecretBase_BlueCave2_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseBlueCave + + .align 2 +SecretBase_YellowCave2_MapBorder: @ 8441030 + .incbin "data/maps/SecretBase_YellowCave2/border.bin" + + .align 2 +SecretBase_YellowCave2_MapBlockdata: @ 8441038 + .incbin "data/maps/SecretBase_YellowCave2/map.bin" + + .align 2 +SecretBase_YellowCave2_MapAttributes: @ 8441134 + .4byte 0xe + .4byte 0x9 + .4byte SecretBase_YellowCave2_MapBorder + .4byte SecretBase_YellowCave2_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseYellowCave + + .align 2 +SecretBase_Tree2_MapBorder: @ 844114C + .incbin "data/maps/SecretBase_Tree2/border.bin" + + .align 2 +SecretBase_Tree2_MapBlockdata: @ 8441154 + .incbin "data/maps/SecretBase_Tree2/map.bin" + + .align 2 +SecretBase_Tree2_MapAttributes: @ 8441234 + .4byte 0x7 + .4byte 0x10 + .4byte SecretBase_Tree2_MapBorder + .4byte SecretBase_Tree2_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseTree + + .align 2 +SecretBase_Shrub2_MapBorder: @ 844124C + .incbin "data/maps/SecretBase_Shrub2/border.bin" + + .align 2 +SecretBase_Shrub2_MapBlockdata: @ 8441254 + .incbin "data/maps/SecretBase_Shrub2/map.bin" + + .align 2 +SecretBase_Shrub2_MapAttributes: @ 8441328 + .4byte 0xf + .4byte 0x7 + .4byte SecretBase_Shrub2_MapBorder + .4byte SecretBase_Shrub2_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseShrub + + .align 2 +SecretBase_RedCave3_MapBorder: @ 8441340 + .incbin "data/maps/SecretBase_RedCave3/border.bin" + + .align 2 +SecretBase_RedCave3_MapBlockdata: @ 8441348 + .incbin "data/maps/SecretBase_RedCave3/map.bin" + + .align 2 +SecretBase_RedCave3_MapAttributes: @ 8441438 + .4byte 0xf + .4byte 0x8 + .4byte SecretBase_RedCave3_MapBorder + .4byte SecretBase_RedCave3_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseRedCave + + .align 2 +SecretBase_BrownCave3_MapBorder: @ 8441450 + .incbin "data/maps/SecretBase_BrownCave3/border.bin" + + .align 2 +SecretBase_BrownCave3_MapBlockdata: @ 8441458 + .incbin "data/maps/SecretBase_BrownCave3/map.bin" + + .align 2 +SecretBase_BrownCave3_MapAttributes: @ 84415A4 + .4byte 0xf + .4byte 0xb + .4byte SecretBase_BrownCave3_MapBorder + .4byte SecretBase_BrownCave3_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseBrownCave + + .align 2 +SecretBase_BlueCave3_MapBorder: @ 84415BC + .incbin "data/maps/SecretBase_BlueCave3/border.bin" + + .align 2 +SecretBase_BlueCave3_MapBlockdata: @ 84415C4 + .incbin "data/maps/SecretBase_BlueCave3/map.bin" + + .align 2 +SecretBase_BlueCave3_MapAttributes: @ 8441718 + .4byte 0xa + .4byte 0x11 + .4byte SecretBase_BlueCave3_MapBorder + .4byte SecretBase_BlueCave3_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseBlueCave + + .align 2 +SecretBase_YellowCave3_MapBorder: @ 8441730 + .incbin "data/maps/SecretBase_YellowCave3/border.bin" + + .align 2 +SecretBase_YellowCave3_MapBlockdata: @ 8441738 + .incbin "data/maps/SecretBase_YellowCave3/map.bin" + + .align 2 +SecretBase_YellowCave3_MapAttributes: @ 8441840 + .4byte 0xc + .4byte 0xb + .4byte SecretBase_YellowCave3_MapBorder + .4byte SecretBase_YellowCave3_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseYellowCave + + .align 2 +SecretBase_Tree3_MapBorder: @ 8441858 + .incbin "data/maps/SecretBase_Tree3/border.bin" + + .align 2 +SecretBase_Tree3_MapBlockdata: @ 8441860 + .incbin "data/maps/SecretBase_Tree3/map.bin" + + .align 2 +SecretBase_Tree3_MapAttributes: @ 8441970 + .4byte 0x11 + .4byte 0x8 + .4byte SecretBase_Tree3_MapBorder + .4byte SecretBase_Tree3_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseTree + + .align 2 +SecretBase_Shrub3_MapBorder: @ 8441988 + .incbin "data/maps/SecretBase_Shrub3/border.bin" + + .align 2 +SecretBase_Shrub3_MapBlockdata: @ 8441990 + .incbin "data/maps/SecretBase_Shrub3/map.bin" + + .align 2 +SecretBase_Shrub3_MapAttributes: @ 8441AB0 + .4byte 0xd + .4byte 0xb + .4byte SecretBase_Shrub3_MapBorder + .4byte SecretBase_Shrub3_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseShrub + + .align 2 +SecretBase_RedCave4_MapBorder: @ 8441AC8 + .incbin "data/maps/SecretBase_RedCave4/border.bin" + + .align 2 +SecretBase_RedCave4_MapBlockdata: @ 8441AD0 + .incbin "data/maps/SecretBase_RedCave4/map.bin" + + .align 2 +SecretBase_RedCave4_MapAttributes: @ 8441BE0 + .4byte 0x9 + .4byte 0xf + .4byte SecretBase_RedCave4_MapBorder + .4byte SecretBase_RedCave4_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseRedCave + + .align 2 +SecretBase_BrownCave4_MapBorder: @ 8441BF8 + .incbin "data/maps/SecretBase_BrownCave4/border.bin" + + .align 2 +SecretBase_BrownCave4_MapBlockdata: @ 8441C00 + .incbin "data/maps/SecretBase_BrownCave4/map.bin" + + .align 2 +SecretBase_BrownCave4_MapAttributes: @ 8441D50 + .4byte 0xe + .4byte 0xc + .4byte SecretBase_BrownCave4_MapBorder + .4byte SecretBase_BrownCave4_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseBrownCave + + .align 2 +SecretBase_BlueCave4_MapBorder: @ 8441D68 + .incbin "data/maps/SecretBase_BlueCave4/border.bin" + + .align 2 +SecretBase_BlueCave4_MapBlockdata: @ 8441D70 + .incbin "data/maps/SecretBase_BlueCave4/map.bin" + + .align 2 +SecretBase_BlueCave4_MapAttributes: @ 8441EA4 + .4byte 0x9 + .4byte 0x11 + .4byte SecretBase_BlueCave4_MapBorder + .4byte SecretBase_BlueCave4_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseBlueCave + + .align 2 +SecretBase_YellowCave4_MapBorder: @ 8441EBC + .incbin "data/maps/SecretBase_YellowCave4/border.bin" + + .align 2 +SecretBase_YellowCave4_MapBlockdata: @ 8441EC4 + .incbin "data/maps/SecretBase_YellowCave4/map.bin" + + .align 2 +SecretBase_YellowCave4_MapAttributes: @ 8442030 + .4byte 0xd + .4byte 0xe + .4byte SecretBase_YellowCave4_MapBorder + .4byte SecretBase_YellowCave4_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseYellowCave + + .align 2 +SecretBase_Tree4_MapBorder: @ 8442048 + .incbin "data/maps/SecretBase_Tree4/border.bin" + + .align 2 +SecretBase_Tree4_MapBlockdata: @ 8442050 + .incbin "data/maps/SecretBase_Tree4/map.bin" + + .align 2 +SecretBase_Tree4_MapAttributes: @ 84421D8 + .4byte 0xe + .4byte 0xe + .4byte SecretBase_Tree4_MapBorder + .4byte SecretBase_Tree4_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseTree + + .align 2 +SecretBase_Shrub4_MapBorder: @ 84421F0 + .incbin "data/maps/SecretBase_Shrub4/border.bin" + + .align 2 +SecretBase_Shrub4_MapBlockdata: @ 84421F8 + .incbin "data/maps/SecretBase_Shrub4/map.bin" + + .align 2 +SecretBase_Shrub4_MapAttributes: @ 844232C + .4byte 0xe + .4byte 0xb + .4byte SecretBase_Shrub4_MapBorder + .4byte SecretBase_Shrub4_MapBlockdata + .4byte gTileset_SecretBase + .4byte gTileset_SecretBaseShrub + + .align 2 +SingleBattleColosseum_MapBorder: @ 8442344 + .incbin "data/maps/SingleBattleColosseum/border.bin" + + .align 2 +SingleBattleColosseum_MapBlockdata: @ 844234C + .incbin "data/maps/SingleBattleColosseum/map.bin" + + .align 2 +SingleBattleColosseum_MapAttributes: @ 8442448 + .4byte 0xe + .4byte 0x9 + .4byte SingleBattleColosseum_MapBorder + .4byte SingleBattleColosseum_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_CableClub + + .align 2 +TradeCenter_MapBorder: @ 8442460 + .incbin "data/maps/TradeCenter/border.bin" + + .align 2 +TradeCenter_MapBlockdata: @ 8442468 + .incbin "data/maps/TradeCenter/map.bin" + + .align 2 +TradeCenter_MapAttributes: @ 8442540 + .4byte 0xc + .4byte 0x9 + .4byte TradeCenter_MapBorder + .4byte TradeCenter_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_CableClub + + .align 2 +RecordCorner_MapBorder: @ 8442558 + .incbin "data/maps/RecordCorner/border.bin" + + .align 2 +RecordCorner_MapBlockdata: @ 8442560 + .incbin "data/maps/RecordCorner/map.bin" + + .align 2 +RecordCorner_MapAttributes: @ 84426F0 + .4byte 0x14 + .4byte 0xa + .4byte RecordCorner_MapBorder + .4byte RecordCorner_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_CableClub + + .align 2 +DoubleBattleColosseum_MapBorder: @ 8442708 + .incbin "data/maps/DoubleBattleColosseum/border.bin" + + .align 2 +DoubleBattleColosseum_MapBlockdata: @ 8442710 + .incbin "data/maps/DoubleBattleColosseum/map.bin" + + .align 2 +DoubleBattleColosseum_MapAttributes: @ 844280C + .4byte 0xe + .4byte 0x9 + .4byte DoubleBattleColosseum_MapBorder + .4byte DoubleBattleColosseum_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_CableClub + + .align 2 +LinkContestRoom1_MapBorder: @ 8442824 + .incbin "data/maps/LinkContestRoom1/border.bin" + + .align 2 +LinkContestRoom1_MapBlockdata: @ 844282C + .incbin "data/maps/LinkContestRoom1/map.bin" + + .align 2 +LinkContestRoom1_MapAttributes: @ 8442978 + .4byte 0xf + .4byte 0xb + .4byte LinkContestRoom1_MapBorder + .4byte LinkContestRoom1_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Contest + + .align 2 +UnknownMap_25_29_MapBorder: @ 8442990 + .incbin "data/maps/UnknownMap_25_29/border.bin" + + .align 2 +UnknownMap_25_29_MapBlockdata: @ 8442998 + .incbin "data/maps/UnknownMap_25_29/map.bin" + + .align 2 +UnknownMap_25_29_MapAttributes: @ 844299C + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMap_25_29_MapBorder + .4byte UnknownMap_25_29_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Contest + + .align 2 +UnknownMap_25_30_MapBorder: @ 84429B4 + .incbin "data/maps/UnknownMap_25_30/border.bin" + + .align 2 +UnknownMap_25_30_MapBlockdata: @ 84429BC + .incbin "data/maps/UnknownMap_25_30/map.bin" + + .align 2 +UnknownMap_25_30_MapAttributes: @ 84429C0 + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMap_25_30_MapBorder + .4byte UnknownMap_25_30_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Contest + + .align 2 +UnknownMap_25_31_MapBorder: @ 84429D8 + .incbin "data/maps/UnknownMap_25_31/border.bin" + + .align 2 +UnknownMap_25_31_MapBlockdata: @ 84429E0 + .incbin "data/maps/UnknownMap_25_31/map.bin" + + .align 2 +UnknownMap_25_31_MapAttributes: @ 84429E4 + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMap_25_31_MapBorder + .4byte UnknownMap_25_31_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Contest + + .align 2 +UnknownMap_25_32_MapBorder: @ 84429FC + .incbin "data/maps/UnknownMap_25_32/border.bin" + + .align 2 +UnknownMap_25_32_MapBlockdata: @ 8442A04 + .incbin "data/maps/UnknownMap_25_32/map.bin" + + .align 2 +UnknownMap_25_32_MapAttributes: @ 8442A08 + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMap_25_32_MapBorder + .4byte UnknownMap_25_32_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Contest + + .align 2 +UnknownMap_25_33_MapBorder: @ 8442A20 + .incbin "data/maps/UnknownMap_25_33/border.bin" + + .align 2 +UnknownMap_25_33_MapBlockdata: @ 8442A28 + .incbin "data/maps/UnknownMap_25_33/map.bin" + + .align 2 +UnknownMap_25_33_MapAttributes: @ 8442A2C + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMap_25_33_MapBorder + .4byte UnknownMap_25_33_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Contest + + .align 2 +UnknownMap_25_34_MapBorder: @ 8442A44 + .incbin "data/maps/UnknownMap_25_34/border.bin" + + .align 2 +UnknownMap_25_34_MapBlockdata: @ 8442A4C + .incbin "data/maps/UnknownMap_25_34/map.bin" + + .align 2 +UnknownMap_25_34_MapAttributes: @ 8442A50 + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMap_25_34_MapBorder + .4byte UnknownMap_25_34_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Contest + + .align 2 +LinkContestRoom2_MapBorder: @ 8442A68 + .incbin "data/maps/LinkContestRoom2/border.bin" + + .align 2 +LinkContestRoom2_MapBlockdata: @ 8442A70 + .incbin "data/maps/LinkContestRoom2/map.bin" + + .align 2 +LinkContestRoom2_MapAttributes: @ 8442BBC + .4byte 0xf + .4byte 0xb + .4byte LinkContestRoom2_MapBorder + .4byte LinkContestRoom2_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Contest + + .align 2 +LinkContestRoom3_MapBorder: @ 8442BD4 + .incbin "data/maps/LinkContestRoom3/border.bin" + + .align 2 +LinkContestRoom3_MapBlockdata: @ 8442BDC + .incbin "data/maps/LinkContestRoom3/map.bin" + + .align 2 +LinkContestRoom3_MapAttributes: @ 8442D28 + .4byte 0xf + .4byte 0xb + .4byte LinkContestRoom3_MapBorder + .4byte LinkContestRoom3_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Contest + + .align 2 +LinkContestRoom4_MapBorder: @ 8442D40 + .incbin "data/maps/LinkContestRoom4/border.bin" + + .align 2 +LinkContestRoom4_MapBlockdata: @ 8442D48 + .incbin "data/maps/LinkContestRoom4/map.bin" + + .align 2 +LinkContestRoom4_MapAttributes: @ 8442E94 + .4byte 0xf + .4byte 0xb + .4byte LinkContestRoom4_MapBorder + .4byte LinkContestRoom4_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Contest + + .align 2 +LinkContestRoom5_MapBorder: @ 8442EAC + .incbin "data/maps/LinkContestRoom5/border.bin" + + .align 2 +LinkContestRoom5_MapBlockdata: @ 8442EB4 + .incbin "data/maps/LinkContestRoom5/map.bin" + + .align 2 +LinkContestRoom5_MapAttributes: @ 8443000 + .4byte 0xf + .4byte 0xb + .4byte LinkContestRoom5_MapBorder + .4byte LinkContestRoom5_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Contest + + .align 2 +LinkContestRoom6_MapBorder: @ 8443018 + .incbin "data/maps/LinkContestRoom6/border.bin" + + .align 2 +LinkContestRoom6_MapBlockdata: @ 8443020 + .incbin "data/maps/LinkContestRoom6/map.bin" + + .align 2 +LinkContestRoom6_MapAttributes: @ 844316C + .4byte 0xf + .4byte 0xb + .4byte LinkContestRoom6_MapBorder + .4byte LinkContestRoom6_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Contest + + .align 2 +InsideOfTruck_MapBorder: @ 8443184 + .incbin "data/maps/InsideOfTruck/border.bin" + + .align 2 +InsideOfTruck_MapBlockdata: @ 844318C + .incbin "data/maps/InsideOfTruck/map.bin" + + .align 2 +InsideOfTruck_MapAttributes: @ 84431C0 + .4byte 0x5 + .4byte 0x5 + .4byte InsideOfTruck_MapBorder + .4byte InsideOfTruck_MapBlockdata + .4byte gTileset_General + .4byte gTileset_InsideOfTruck + + .align 2 +SafariZone_Northwest_MapBorder: @ 84431D8 + .incbin "data/maps/SafariZone_Northwest/border.bin" + + .align 2 +SafariZone_Northwest_MapBlockdata: @ 84431E0 + .incbin "data/maps/SafariZone_Northwest/map.bin" + + .align 2 +SafariZone_Northwest_MapAttributes: @ 8443E60 + .4byte 0x28 + .4byte 0x28 + .4byte SafariZone_Northwest_MapBorder + .4byte SafariZone_Northwest_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lilycove + + .align 2 +SafariZone_North_MapBorder: @ 8443E78 + .incbin "data/maps/SafariZone_North/border.bin" + + .align 2 +SafariZone_North_MapBlockdata: @ 8443E80 + .incbin "data/maps/SafariZone_North/map.bin" + + .align 2 +SafariZone_North_MapAttributes: @ 8444B00 + .4byte 0x28 + .4byte 0x28 + .4byte SafariZone_North_MapBorder + .4byte SafariZone_North_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lilycove + + .align 2 +SafariZone_Southwest_MapBorder: @ 8444B18 + .incbin "data/maps/SafariZone_Southwest/border.bin" + + .align 2 +SafariZone_Southwest_MapBlockdata: @ 8444B20 + .incbin "data/maps/SafariZone_Southwest/map.bin" + + .align 2 +SafariZone_Southwest_MapAttributes: @ 84457A0 + .4byte 0x28 + .4byte 0x28 + .4byte SafariZone_Southwest_MapBorder + .4byte SafariZone_Southwest_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lilycove + + .align 2 +SafariZone_South_MapBorder: @ 84457B8 + .incbin "data/maps/SafariZone_South/border.bin" + + .align 2 +SafariZone_South_MapBlockdata: @ 84457C0 + .incbin "data/maps/SafariZone_South/map.bin" + + .align 2 +SafariZone_South_MapAttributes: @ 8446440 + .4byte 0x28 + .4byte 0x28 + .4byte SafariZone_South_MapBorder + .4byte SafariZone_South_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lilycove + + .align 2 +UnknownMapBorder_08447028: @ 8446458 + .incbin "data/maps/UnknownMap_08447028/border.bin" + + .align 2 +UnknownMapBlockdata_08447028: @ 8446460 + .incbin "data/maps/UnknownMap_08447028/map.bin" + + .align 2 +UnknownMapAttributes_08447028: @ 8447028 + .4byte 0x3A + .4byte 0x1A + .4byte UnknownMapBorder_08447028 + .4byte UnknownMapBlockdata_08447028 + .4byte gTileset_General + .4byte 0 + + .align 2 +Route109_SeashoreHouse_MapBorder: @ 8447040 + .incbin "data/maps/Route109_SeashoreHouse/border.bin" + + .align 2 +Route109_SeashoreHouse_MapBlockdata: @ 8447048 + .incbin "data/maps/Route109_SeashoreHouse/map.bin" + + .align 2 +Route109_SeashoreHouse_MapAttributes: @ 8447174 + .4byte 0xf + .4byte 0xa + .4byte Route109_SeashoreHouse_MapBorder + .4byte Route109_SeashoreHouse_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_SeashoreHouse + + .align 2 +Route110_TrickHouseEntrance_MapBorder: @ 844718C + .incbin "data/maps/Route110_TrickHouseEntrance/border.bin" + + .align 2 +Route110_TrickHouseEntrance_MapBlockdata: @ 8447194 + .incbin "data/maps/Route110_TrickHouseEntrance/map.bin" + + .align 2 +Route110_TrickHouseEntrance_MapAttributes: @ 8447254 + .4byte 0xc + .4byte 0x8 + .4byte Route110_TrickHouseEntrance_MapBorder + .4byte Route110_TrickHouseEntrance_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +Route110_TrickHouseEnd_MapBorder: @ 844726C + .incbin "data/maps/Route110_TrickHouseEnd/border.bin" + + .align 2 +Route110_TrickHouseEnd_MapBlockdata: @ 8447274 + .incbin "data/maps/Route110_TrickHouseEnd/map.bin" + + .align 2 +Route110_TrickHouseEnd_MapAttributes: @ 8447334 + .4byte 0xc + .4byte 0x8 + .4byte Route110_TrickHouseEnd_MapBorder + .4byte Route110_TrickHouseEnd_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +Route110_TrickHouseCorridor_MapBorder: @ 844734C + .incbin "data/maps/Route110_TrickHouseCorridor/border.bin" + + .align 2 +Route110_TrickHouseCorridor_MapBlockdata: @ 8447354 + .incbin "data/maps/Route110_TrickHouseCorridor/map.bin" + + .align 2 +Route110_TrickHouseCorridor_MapAttributes: @ 8447624 + .4byte 0xf + .4byte 0x18 + .4byte Route110_TrickHouseCorridor_MapBorder + .4byte Route110_TrickHouseCorridor_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +Route110_TrickHousePuzzle1_MapBorder: @ 844763C + .incbin "data/maps/Route110_TrickHousePuzzle1/border.bin" + + .align 2 +Route110_TrickHousePuzzle1_MapBlockdata: @ 8447644 + .incbin "data/maps/Route110_TrickHousePuzzle1/map.bin" + + .align 2 +Route110_TrickHousePuzzle1_MapAttributes: @ 84478D8 + .4byte 0xf + .4byte 0x16 + .4byte Route110_TrickHousePuzzle1_MapBorder + .4byte Route110_TrickHousePuzzle1_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_TrickHousePuzzle + + .align 2 +Route110_TrickHousePuzzle2_MapBorder: @ 84478F0 + .incbin "data/maps/Route110_TrickHousePuzzle2/border.bin" + + .align 2 +Route110_TrickHousePuzzle2_MapBlockdata: @ 84478F8 + .incbin "data/maps/Route110_TrickHousePuzzle2/map.bin" + + .align 2 +Route110_TrickHousePuzzle2_MapAttributes: @ 8447B8C + .4byte 0xf + .4byte 0x16 + .4byte Route110_TrickHousePuzzle2_MapBorder + .4byte Route110_TrickHousePuzzle2_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_TrickHousePuzzle + + .align 2 +Route110_TrickHousePuzzle3_MapBorder: @ 8447BA4 + .incbin "data/maps/Route110_TrickHousePuzzle3/border.bin" + + .align 2 +Route110_TrickHousePuzzle3_MapBlockdata: @ 8447BAC + .incbin "data/maps/Route110_TrickHousePuzzle3/map.bin" + + .align 2 +Route110_TrickHousePuzzle3_MapAttributes: @ 8447E40 + .4byte 0xf + .4byte 0x16 + .4byte Route110_TrickHousePuzzle3_MapBorder + .4byte Route110_TrickHousePuzzle3_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_TrickHousePuzzle + + .align 2 +Route110_TrickHousePuzzle4_MapBorder: @ 8447E58 + .incbin "data/maps/Route110_TrickHousePuzzle4/border.bin" + + .align 2 +Route110_TrickHousePuzzle4_MapBlockdata: @ 8447E60 + .incbin "data/maps/Route110_TrickHousePuzzle4/map.bin" + + .align 2 +Route110_TrickHousePuzzle4_MapAttributes: @ 84480F4 + .4byte 0xf + .4byte 0x16 + .4byte Route110_TrickHousePuzzle4_MapBorder + .4byte Route110_TrickHousePuzzle4_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_TrickHousePuzzle + + .align 2 +Route110_TrickHousePuzzle5_MapBorder: @ 844810C + .incbin "data/maps/Route110_TrickHousePuzzle5/border.bin" + + .align 2 +Route110_TrickHousePuzzle5_MapBlockdata: @ 8448114 + .incbin "data/maps/Route110_TrickHousePuzzle5/map.bin" + + .align 2 +Route110_TrickHousePuzzle5_MapAttributes: @ 84483A8 + .4byte 0xf + .4byte 0x16 + .4byte Route110_TrickHousePuzzle5_MapBorder + .4byte Route110_TrickHousePuzzle5_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_TrickHousePuzzle + + .align 2 +Route110_TrickHousePuzzle6_MapBorder: @ 84483C0 + .incbin "data/maps/Route110_TrickHousePuzzle6/border.bin" + + .align 2 +Route110_TrickHousePuzzle6_MapBlockdata: @ 84483C8 + .incbin "data/maps/Route110_TrickHousePuzzle6/map.bin" + + .align 2 +Route110_TrickHousePuzzle6_MapAttributes: @ 844865C + .4byte 0xf + .4byte 0x16 + .4byte Route110_TrickHousePuzzle6_MapBorder + .4byte Route110_TrickHousePuzzle6_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_TrickHousePuzzle + + .align 2 +Route110_TrickHousePuzzle7_MapBorder: @ 8448674 + .incbin "data/maps/Route110_TrickHousePuzzle7/border.bin" + + .align 2 +Route110_TrickHousePuzzle7_MapBlockdata: @ 844867C + .incbin "data/maps/Route110_TrickHousePuzzle7/map.bin" + + .align 2 +Route110_TrickHousePuzzle7_MapAttributes: @ 8448910 + .4byte 0xf + .4byte 0x16 + .4byte Route110_TrickHousePuzzle7_MapBorder + .4byte Route110_TrickHousePuzzle7_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_TrickHousePuzzle + + .align 2 +Route110_TrickHousePuzzle8_MapBorder: @ 8448928 + .incbin "data/maps/Route110_TrickHousePuzzle8/border.bin" + + .align 2 +Route110_TrickHousePuzzle8_MapBlockdata: @ 8448930 + .incbin "data/maps/Route110_TrickHousePuzzle8/map.bin" + + .align 2 +Route110_TrickHousePuzzle8_MapAttributes: @ 8448BC4 + .4byte 0xf + .4byte 0x16 + .4byte Route110_TrickHousePuzzle8_MapBorder + .4byte Route110_TrickHousePuzzle8_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_TrickHousePuzzle + + .align 2 +FortreeCity_DecorationShop_MapBorder: @ 8448BDC + .incbin "data/maps/FortreeCity_DecorationShop/border.bin" + + .align 2 +FortreeCity_DecorationShop_MapBlockdata: @ 8448BE4 + .incbin "data/maps/FortreeCity_DecorationShop/map.bin" + + .align 2 +FortreeCity_DecorationShop_MapAttributes: @ 8448C44 + .4byte 0x8 + .4byte 0x6 + .4byte FortreeCity_DecorationShop_MapBorder + .4byte FortreeCity_DecorationShop_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +Route110_SeasideCyclingRoadEntrance1_MapBorder: @ 8448C5C + .incbin "data/maps/Route110_SeasideCyclingRoadEntrance1/border.bin" + + .align 2 +Route110_SeasideCyclingRoadEntrance1_MapBlockdata: @ 8448C64 + .incbin "data/maps/Route110_SeasideCyclingRoadEntrance1/map.bin" + + .align 2 +Route110_SeasideCyclingRoadEntrance1_MapAttributes: @ 8448D18 +Route110_SeasideCyclingRoadEntrance2_MapAttributes: @ 8448D18 + .4byte 0xf + .4byte 0x6 + .4byte Route110_SeasideCyclingRoadEntrance1_MapBorder + .4byte Route110_SeasideCyclingRoadEntrance1_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Shop + + .align 2 +LilycoveCity_DepartmentStore_1F_MapBorder: @ 8448D30 + .incbin "data/maps/LilycoveCity_DepartmentStore_1F/border.bin" + + .align 2 +LilycoveCity_DepartmentStore_1F_MapBlockdata: @ 8448D38 + .incbin "data/maps/LilycoveCity_DepartmentStore_1F/map.bin" + + .align 2 +LilycoveCity_DepartmentStore_1F_MapAttributes: @ 8448E58 + .4byte 0x12 + .4byte 0x8 + .4byte LilycoveCity_DepartmentStore_1F_MapBorder + .4byte LilycoveCity_DepartmentStore_1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Shop + + .align 2 +LilycoveCity_DepartmentStore_2F_MapBorder: @ 8448E70 + .incbin "data/maps/LilycoveCity_DepartmentStore_2F/border.bin" + + .align 2 +LilycoveCity_DepartmentStore_2F_MapBlockdata: @ 8448E78 + .incbin "data/maps/LilycoveCity_DepartmentStore_2F/map.bin" + + .align 2 +LilycoveCity_DepartmentStore_2F_MapAttributes: @ 8448F98 + .4byte 0x12 + .4byte 0x8 + .4byte LilycoveCity_DepartmentStore_2F_MapBorder + .4byte LilycoveCity_DepartmentStore_2F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Shop + + .align 2 +LilycoveCity_DepartmentStore_3F_MapBorder: @ 8448FB0 + .incbin "data/maps/LilycoveCity_DepartmentStore_3F/border.bin" + + .align 2 +LilycoveCity_DepartmentStore_3F_MapBlockdata: @ 8448FB8 + .incbin "data/maps/LilycoveCity_DepartmentStore_3F/map.bin" + + .align 2 +LilycoveCity_DepartmentStore_3F_MapAttributes: @ 84490D8 + .4byte 0x12 + .4byte 0x8 + .4byte LilycoveCity_DepartmentStore_3F_MapBorder + .4byte LilycoveCity_DepartmentStore_3F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Shop + + .align 2 +LilycoveCity_DepartmentStore_4F_MapBorder: @ 84490F0 + .incbin "data/maps/LilycoveCity_DepartmentStore_4F/border.bin" + + .align 2 +LilycoveCity_DepartmentStore_4F_MapBlockdata: @ 84490F8 + .incbin "data/maps/LilycoveCity_DepartmentStore_4F/map.bin" + + .align 2 +LilycoveCity_DepartmentStore_4F_MapAttributes: @ 8449218 + .4byte 0x12 + .4byte 0x8 + .4byte LilycoveCity_DepartmentStore_4F_MapBorder + .4byte LilycoveCity_DepartmentStore_4F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Shop + + .align 2 +LilycoveCity_DepartmentStore_5F_MapBorder: @ 8449230 + .incbin "data/maps/LilycoveCity_DepartmentStore_5F/border.bin" + + .align 2 +LilycoveCity_DepartmentStore_5F_MapBlockdata: @ 8449238 + .incbin "data/maps/LilycoveCity_DepartmentStore_5F/map.bin" + + .align 2 +LilycoveCity_DepartmentStore_5F_MapAttributes: @ 8449358 + .4byte 0x12 + .4byte 0x8 + .4byte LilycoveCity_DepartmentStore_5F_MapBorder + .4byte LilycoveCity_DepartmentStore_5F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Shop + + .align 2 +LilycoveCity_DepartmentStoreRooftop_MapBorder: @ 8449370 + .incbin "data/maps/LilycoveCity_DepartmentStoreRooftop/border.bin" + + .align 2 +LilycoveCity_DepartmentStoreRooftop_MapBlockdata: @ 8449378 + .incbin "data/maps/LilycoveCity_DepartmentStoreRooftop/map.bin" + + .align 2 +LilycoveCity_DepartmentStoreRooftop_MapAttributes: @ 8449528 + .4byte 0x12 + .4byte 0xc + .4byte LilycoveCity_DepartmentStoreRooftop_MapBorder + .4byte LilycoveCity_DepartmentStoreRooftop_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Shop + + .align 2 +Route130_MapBorder: @ 8449540 + .incbin "data/maps/Route130/border.bin" + + .align 2 +Route130_MapBlockdata: @ 8449548 + .incbin "data/maps/Route130/map.bin" + + .align 2 +Route130_MapAttributes: @ 844AE48 + .4byte 0x50 + .4byte 0x28 + .4byte Route130_MapBorder + .4byte Route130_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +BattleFrontier_BattleTowerLobby_MapBorder: @ 844AE60 + .incbin "data/maps/BattleFrontier_BattleTowerLobby/border.bin" + + .align 2 +BattleFrontier_BattleTowerLobby_MapBlockdata: @ 844AE68 + .incbin "data/maps/BattleFrontier_BattleTowerLobby/map.bin" + + .align 2 +BattleFrontier_BattleTowerLobby_MapAttributes: @ 844B05C + .4byte 0x19 + .4byte 0xa + .4byte BattleFrontier_BattleTowerLobby_MapBorder + .4byte BattleFrontier_BattleTowerLobby_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleFrontier + + .align 2 +BattleFrontier_OutsideWest_MapBorder: @ 844B074 + .incbin "data/maps/BattleFrontier_OutsideWest/border.bin" + + .align 2 +BattleFrontier_OutsideWest_MapBlockdata: @ 844B07C + .incbin "data/maps/BattleFrontier_OutsideWest/map.bin" + + .align 2 +BattleFrontier_OutsideWest_MapAttributes: @ 844CFFC + .4byte 0x38 + .4byte 0x48 + .4byte BattleFrontier_OutsideWest_MapBorder + .4byte BattleFrontier_OutsideWest_MapBlockdata + .4byte gTileset_General + .4byte gTileset_BattleFrontierOutsideWest + + .align 2 +BattleFrontier_BattleTowerElevator_MapBorder: @ 844D014 + .incbin "data/maps/BattleFrontier_BattleTowerElevator/border.bin" + + .align 2 +BattleFrontier_BattleTowerElevator_MapBlockdata: @ 844D01C + .incbin "data/maps/BattleFrontier_BattleTowerElevator/map.bin" + + .align 2 +BattleFrontier_BattleTowerElevator_MapAttributes: @ 844D064 +TrainerHill_Elevator_MapAttributes: @ 844D064 + .4byte 0x5 + .4byte 0x7 + .4byte BattleFrontier_BattleTowerElevator_MapBorder + .4byte BattleFrontier_BattleTowerElevator_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleFrontier + + .align 2 +BattleFrontier_BattleTowerCorridor_MapBorder: @ 844D07C + .incbin "data/maps/BattleFrontier_BattleTowerCorridor/border.bin" + + .align 2 +BattleFrontier_BattleTowerCorridor_MapBlockdata: @ 844D084 + .incbin "data/maps/BattleFrontier_BattleTowerCorridor/map.bin" + + .align 2 +BattleFrontier_BattleTowerCorridor_MapAttributes: @ 844D130 + .4byte 0x11 + .4byte 0x5 + .4byte BattleFrontier_BattleTowerCorridor_MapBorder + .4byte BattleFrontier_BattleTowerCorridor_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleFrontier + + .align 2 +BattleFrontier_BattleTowerBattleRoom_MapBorder: @ 844D148 + .incbin "data/maps/BattleFrontier_BattleTowerBattleRoom/border.bin" + + .align 2 +BattleFrontier_BattleTowerBattleRoom_MapBlockdata: @ 844D150 + .incbin "data/maps/BattleFrontier_BattleTowerBattleRoom/map.bin" + + .align 2 +BattleFrontier_BattleTowerBattleRoom2_MapAttributes: @ 844D204 +BattleFrontier_BattleTowerBattleRoom_MapAttributes: @ 844D204 + .4byte 0xa + .4byte 0x9 + .4byte BattleFrontier_BattleTowerBattleRoom_MapBorder + .4byte BattleFrontier_BattleTowerBattleRoom_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleFrontier + + .align 2 +RustboroCity_DevonCorp_3F_MapBorder: @ 844D21C + .incbin "data/maps/RustboroCity_DevonCorp_3F/border.bin" + + .align 2 +RustboroCity_DevonCorp_3F_MapBlockdata: @ 844D224 + .incbin "data/maps/RustboroCity_DevonCorp_3F/map.bin" + + .align 2 +RustboroCity_DevonCorp_3F_MapAttributes: @ 844D37C + .4byte 0x13 + .4byte 0x9 + .4byte RustboroCity_DevonCorp_3F_MapBorder + .4byte RustboroCity_DevonCorp_3F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Facility + + .align 2 +EverGrandeCity_PokemonLeague_1F_MapBorder: @ 844D394 + .incbin "data/maps/EverGrandeCity_PokemonLeague_1F/border.bin" + + .align 2 +EverGrandeCity_PokemonLeague_1F_MapBlockdata: @ 844D39C + .incbin "data/maps/EverGrandeCity_PokemonLeague_1F/map.bin" + + .align 2 +EverGrandeCity_PokemonLeague_1F_MapAttributes: @ 844D564 + .4byte 0x13 + .4byte 0xc + .4byte EverGrandeCity_PokemonLeague_1F_MapBorder + .4byte EverGrandeCity_PokemonLeague_1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_PokemonCenter + + .align 2 +Route119_WeatherInstitute_1F_MapBorder: @ 844D57C + .incbin "data/maps/Route119_WeatherInstitute_1F/border.bin" + + .align 2 +Route119_WeatherInstitute_1F_MapBlockdata: @ 844D584 + .incbin "data/maps/Route119_WeatherInstitute_1F/map.bin" + + .align 2 +Route119_WeatherInstitute_1F_MapAttributes: @ 844D78C + .4byte 0x14 + .4byte 0xd + .4byte Route119_WeatherInstitute_1F_MapBorder + .4byte Route119_WeatherInstitute_1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Lab + + .align 2 +Route119_WeatherInstitute_2F_MapBorder: @ 844D7A4 + .incbin "data/maps/Route119_WeatherInstitute_2F/border.bin" + + .align 2 +Route119_WeatherInstitute_2F_MapBlockdata: @ 844D7AC + .incbin "data/maps/Route119_WeatherInstitute_2F/map.bin" + + .align 2 +Route119_WeatherInstitute_2F_MapAttributes: @ 844D964 + .4byte 0x14 + .4byte 0xb + .4byte Route119_WeatherInstitute_2F_MapBorder + .4byte Route119_WeatherInstitute_2F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_Lab + + .align 2 +LilycoveCity_DepartmentStoreElevator_MapBorder: @ 844D97C + .incbin "data/maps/LilycoveCity_DepartmentStoreElevator/border.bin" + + .align 2 +LilycoveCity_DepartmentStoreElevator_MapBlockdata: @ 844D984 + .incbin "data/maps/LilycoveCity_DepartmentStoreElevator/map.bin" + + .align 2 +LilycoveCity_DepartmentStoreElevator_MapAttributes: @ 844D9C0 + .4byte 0x5 + .4byte 0x6 + .4byte LilycoveCity_DepartmentStoreElevator_MapBorder + .4byte LilycoveCity_DepartmentStoreElevator_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleFrontier + + .align 2 +Underwater1_MapBorder: @ 844D9D8 + .incbin "data/maps/Underwater1/border.bin" + + .align 2 +Underwater1_MapBlockdata: @ 844D9E0 + .incbin "data/maps/Underwater1/map.bin" + + .align 2 +Underwater1_MapAttributes: @ 8450BE0 + .4byte 0x50 + .4byte 0x50 + .4byte Underwater1_MapBorder + .4byte Underwater1_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Underwater + + .align 2 +MossdeepCity_SpaceCenter_1F_MapBorder: @ 8450BF8 + .incbin "data/maps/MossdeepCity_SpaceCenter_1F/border.bin" + + .align 2 +MossdeepCity_SpaceCenter_1F_MapBlockdata: @ 8450C00 + .incbin "data/maps/MossdeepCity_SpaceCenter_1F/map.bin" + + .align 2 +MossdeepCity_SpaceCenter_1F_MapAttributes: @ 8450D40 + .4byte 0x10 + .4byte 0xa + .4byte MossdeepCity_SpaceCenter_1F_MapBorder + .4byte MossdeepCity_SpaceCenter_1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +MossdeepCity_SpaceCenter_2F_MapBorder: @ 8450D58 + .incbin "data/maps/MossdeepCity_SpaceCenter_2F/border.bin" + + .align 2 +MossdeepCity_SpaceCenter_2F_MapBlockdata: @ 8450D60 + .incbin "data/maps/MossdeepCity_SpaceCenter_2F/map.bin" + + .align 2 +MossdeepCity_SpaceCenter_2F_MapAttributes: @ 8450EA0 + .4byte 0x10 + .4byte 0xa + .4byte MossdeepCity_SpaceCenter_2F_MapBorder + .4byte MossdeepCity_SpaceCenter_2F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +SSTidalCorridor_MapBorder: @ 8450EB8 + .incbin "data/maps/SSTidalCorridor/border.bin" + + .align 2 +SSTidalCorridor_MapBlockdata: @ 8450EC0 + .incbin "data/maps/SSTidalCorridor/map.bin" + + .align 2 +SSTidalCorridor_MapAttributes: @ 8451094 + .4byte 0x12 + .4byte 0xd + .4byte SSTidalCorridor_MapBorder + .4byte SSTidalCorridor_MapBlockdata + .4byte gTileset_General + .4byte gTileset_InsideShip + + .align 2 +SSTidalLowerDeck_MapBorder: @ 84510AC + .incbin "data/maps/SSTidalLowerDeck/border.bin" + + .align 2 +SSTidalLowerDeck_MapBlockdata: @ 84510B4 + .incbin "data/maps/SSTidalLowerDeck/map.bin" + + .align 2 +SSTidalLowerDeck_MapAttributes: @ 8451270 + .4byte 0x11 + .4byte 0xd + .4byte SSTidalLowerDeck_MapBorder + .4byte SSTidalLowerDeck_MapBlockdata + .4byte gTileset_General + .4byte gTileset_InsideShip + + .align 2 +SSTidalRooms_MapBorder: @ 8451288 + .incbin "data/maps/SSTidalRooms/border.bin" + + .align 2 +SSTidalRooms_MapBlockdata: @ 8451290 + .incbin "data/maps/SSTidalRooms/map.bin" + + .align 2 +SSTidalRooms_MapAttributes: @ 84517A0 + .4byte 0x24 + .4byte 0x12 + .4byte SSTidalRooms_MapBorder + .4byte SSTidalRooms_MapBlockdata + .4byte gTileset_General + .4byte gTileset_InsideShip + + .align 2 +IslandCave_MapBorder: @ 84517B8 + .incbin "data/maps/IslandCave/border.bin" + + .align 2 +IslandCave_MapBlockdata: @ 84517C0 + .incbin "data/maps/IslandCave/map.bin" + + .align 2 +IslandCave_MapAttributes: @ 8451C24 + .4byte 0x11 + .4byte 0x21 + .4byte IslandCave_MapBorder + .4byte IslandCave_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +AncientTomb_MapBorder: @ 8451C3C + .incbin "data/maps/AncientTomb/border.bin" + + .align 2 +AncientTomb_MapBlockdata: @ 8451C44 + .incbin "data/maps/AncientTomb/map.bin" + + .align 2 +AncientTomb_MapAttributes: @ 84520A8 + .4byte 0x11 + .4byte 0x21 + .4byte AncientTomb_MapBorder + .4byte AncientTomb_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +Underwater_Route134_MapBorder: @ 84520C0 + .incbin "data/maps/Underwater_Route134/border.bin" + + .align 2 +Underwater_Route134_MapBlockdata: @ 84520C8 + .incbin "data/maps/Underwater_Route134/map.bin" + + .align 2 +Underwater_Route134_MapAttributes: @ 8452230 + .4byte 0x12 + .4byte 0xa + .4byte Underwater_Route134_MapBorder + .4byte Underwater_Route134_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Underwater + + .align 2 +Underwater_SealedChamber_MapBorder: @ 8452248 + .incbin "data/maps/Underwater_SealedChamber/border.bin" + + .align 2 +Underwater_SealedChamber_MapBlockdata: @ 8452250 + .incbin "data/maps/Underwater_SealedChamber/map.bin" + + .align 2 +Underwater_SealedChamber_MapAttributes: @ 8452A90 + .4byte 0x16 + .4byte 0x30 + .4byte Underwater_SealedChamber_MapBorder + .4byte Underwater_SealedChamber_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Underwater + + .align 2 +SealedChamber_OuterRoom_MapBorder: @ 8452AA8 + .incbin "data/maps/SealedChamber_OuterRoom/border.bin" + + .align 2 +SealedChamber_OuterRoom_MapBlockdata: @ 8452AB0 + .incbin "data/maps/SealedChamber_OuterRoom/map.bin" + + .align 2 +SealedChamber_OuterRoom_MapAttributes: @ 8452E78 + .4byte 0x15 + .4byte 0x17 + .4byte SealedChamber_OuterRoom_MapBorder + .4byte SealedChamber_OuterRoom_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +VictoryRoad_B1F_MapBorder: @ 8452E90 + .incbin "data/maps/VictoryRoad_B1F/border.bin" + + .align 2 +VictoryRoad_B1F_MapBlockdata: @ 8452E98 + .incbin "data/maps/VictoryRoad_B1F/map.bin" + + .align 2 +VictoryRoad_B1F_MapAttributes: @ 84539BC + .4byte 0x2e + .4byte 0x1f + .4byte VictoryRoad_B1F_MapBorder + .4byte VictoryRoad_B1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +VictoryRoad_B2F_MapBorder: @ 84539D4 + .incbin "data/maps/VictoryRoad_B2F/border.bin" + + .align 2 +VictoryRoad_B2F_MapBlockdata: @ 84539DC + .incbin "data/maps/VictoryRoad_B2F/map.bin" + + .align 2 +VictoryRoad_B2F_MapAttributes: @ 8454500 + .4byte 0x2e + .4byte 0x1f + .4byte VictoryRoad_B2F_MapBorder + .4byte VictoryRoad_B2F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +Route104_Prototype_MapBorder: @ 8454518 + .incbin "data/maps/Route104_Prototype/border.bin" + + .align 2 +Route104_Prototype_MapBlockdata: @ 8454520 + .incbin "data/maps/Route104_Prototype/map.bin" + + .align 2 +Route104_Prototype_MapAttributes: @ 8454524 + .4byte 0x1 + .4byte 0x1 + .4byte Route104_Prototype_MapBorder + .4byte Route104_Prototype_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Rustboro + + .align 2 +GraniteCave_StevensRoom_MapBorder: @ 845453C + .incbin "data/maps/GraniteCave_StevensRoom/border.bin" + + .align 2 +GraniteCave_StevensRoom_MapBlockdata: @ 8454544 + .incbin "data/maps/GraniteCave_StevensRoom/map.bin" + + .align 2 +GraniteCave_StevensRoom_MapAttributes: @ 84546E8 + .4byte 0xf + .4byte 0xe + .4byte GraniteCave_StevensRoom_MapBorder + .4byte GraniteCave_StevensRoom_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +AbandonedShip_HiddenFloorCorridors_MapBorder: @ 8454700 + .incbin "data/maps/AbandonedShip_HiddenFloorCorridors/border.bin" + + .align 2 +AbandonedShip_HiddenFloorCorridors_MapBlockdata: @ 8454708 + .incbin "data/maps/AbandonedShip_HiddenFloorCorridors/map.bin" + + .align 2 +AbandonedShip_HiddenFloorCorridors_MapAttributes: @ 8454828 + .4byte 0xd + .4byte 0xb + .4byte AbandonedShip_HiddenFloorCorridors_MapBorder + .4byte AbandonedShip_HiddenFloorCorridors_MapBlockdata + .4byte gTileset_General + .4byte gTileset_InsideShip + + .align 2 +SouthernIsland_Exterior_MapBorder: @ 8454840 + .incbin "data/maps/SouthernIsland_Exterior/border.bin" + + .align 2 +SouthernIsland_Exterior_MapBlockdata: @ 8454848 + .incbin "data/maps/SouthernIsland_Exterior/map.bin" + + .align 2 +SouthernIsland_Exterior_MapAttributes: @ 8455004 + .4byte 0x21 + .4byte 0x1e + .4byte SouthernIsland_Exterior_MapBorder + .4byte SouthernIsland_Exterior_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Rustboro + + .align 2 +SouthernIsland_Interior_MapBorder: @ 845501C + .incbin "data/maps/SouthernIsland_Interior/border.bin" + + .align 2 +SouthernIsland_Interior_MapBlockdata: @ 8455024 + .incbin "data/maps/SouthernIsland_Interior/map.bin" + + .align 2 +SouthernIsland_Interior_MapAttributes: @ 8455534 + .4byte 0x1b + .4byte 0x18 + .4byte SouthernIsland_Interior_MapBorder + .4byte SouthernIsland_Interior_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Rustboro + + .align 2 +JaggedPass_MapBorder: @ 845554C + .incbin "data/maps/JaggedPass/border.bin" + + .align 2 +JaggedPass_MapBlockdata: @ 8455554 + .incbin "data/maps/JaggedPass/map.bin" + + .align 2 +JaggedPass_MapAttributes: @ 845601C + .4byte 0x1e + .4byte 0x2e + .4byte JaggedPass_MapBorder + .4byte JaggedPass_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lavaridge + + .align 2 +FieryPath_MapBorder: @ 8456034 + .incbin "data/maps/FieryPath/border.bin" + + .align 2 +FieryPath_MapBlockdata: @ 845603C + .incbin "data/maps/FieryPath/map.bin" + + .align 2 +FieryPath_MapAttributes: @ 8456AA0 + .4byte 0x23 + .4byte 0x26 + .4byte FieryPath_MapBorder + .4byte FieryPath_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lavaridge + + .align 2 +RustboroCity_Flat2_1F_MapBorder: @ 8456AB8 + .incbin "data/maps/RustboroCity_Flat2_1F/border.bin" + + .align 2 +RustboroCity_Flat2_1F_MapBlockdata: @ 8456AC0 + .incbin "data/maps/RustboroCity_Flat2_1F/map.bin" + + .align 2 +RustboroCity_Flat2_1F_MapAttributes: @ 8456BBC + .4byte 0xe + .4byte 0x9 + .4byte RustboroCity_Flat2_1F_MapBorder + .4byte RustboroCity_Flat2_1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +RustboroCity_Flat2_2F_MapBorder: @ 8456BD4 + .incbin "data/maps/RustboroCity_Flat2_2F/border.bin" + + .align 2 +RustboroCity_Flat2_2F_MapBlockdata: @ 8456BDC + .incbin "data/maps/RustboroCity_Flat2_2F/map.bin" + + .align 2 +RustboroCity_Flat2_2F_MapAttributes: @ 8456CD8 + .4byte 0xe + .4byte 0x9 + .4byte RustboroCity_Flat2_2F_MapBorder + .4byte RustboroCity_Flat2_2F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +RustboroCity_Flat2_3F_MapBorder: @ 8456CF0 + .incbin "data/maps/RustboroCity_Flat2_3F/border.bin" + + .align 2 +RustboroCity_Flat2_3F_MapBlockdata: @ 8456CF8 + .incbin "data/maps/RustboroCity_Flat2_3F/map.bin" + + .align 2 +RustboroCity_Flat2_3F_MapAttributes: @ 8456DF4 + .4byte 0xe + .4byte 0x9 + .4byte RustboroCity_Flat2_3F_MapBorder + .4byte RustboroCity_Flat2_3F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +SootopolisCity_LotadAndSeedotHouse_MapBorder: @ 8456E0C + .incbin "data/maps/SootopolisCity_LotadAndSeedotHouse/border.bin" + + .align 2 +SootopolisCity_LotadAndSeedotHouse_MapBlockdata: @ 8456E14 + .incbin "data/maps/SootopolisCity_LotadAndSeedotHouse/map.bin" + + .align 2 +SootopolisCity_LotadAndSeedotHouse_MapAttributes: @ 8456E84 + .4byte 0x8 + .4byte 0x7 + .4byte SootopolisCity_LotadAndSeedotHouse_MapBorder + .4byte SootopolisCity_LotadAndSeedotHouse_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +EverGrandeCity_HallOfFame_MapBorder: @ 8456E9C + .incbin "data/maps/EverGrandeCity_HallOfFame/border.bin" + + .align 2 +EverGrandeCity_HallOfFame_MapBlockdata: @ 8456EA4 + .incbin "data/maps/EverGrandeCity_HallOfFame/map.bin" + + .align 2 +EverGrandeCity_HallOfFame_MapAttributes: @ 84570A4 + .4byte 0xf + .4byte 0x11 + .4byte EverGrandeCity_HallOfFame_MapBorder + .4byte EverGrandeCity_HallOfFame_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_CableClub + + .align 2 +LilycoveCity_CoveLilyMotel_1F_MapBorder: @ 84570BC + .incbin "data/maps/LilycoveCity_CoveLilyMotel_1F/border.bin" + + .align 2 +LilycoveCity_CoveLilyMotel_1F_MapBlockdata: @ 84570C4 + .incbin "data/maps/LilycoveCity_CoveLilyMotel_1F/map.bin" + + .align 2 +LilycoveCity_CoveLilyMotel_1F_MapAttributes: @ 845719C + .4byte 0xc + .4byte 0x9 + .4byte LilycoveCity_CoveLilyMotel_1F_MapBorder + .4byte LilycoveCity_CoveLilyMotel_1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +LilycoveCity_CoveLilyMotel_2F_MapBorder: @ 84571B4 + .incbin "data/maps/LilycoveCity_CoveLilyMotel_2F/border.bin" + + .align 2 +LilycoveCity_CoveLilyMotel_2F_MapBlockdata: @ 84571BC + .incbin "data/maps/LilycoveCity_CoveLilyMotel_2F/map.bin" + + .align 2 +LilycoveCity_CoveLilyMotel_2F_MapAttributes: @ 8457294 + .4byte 0xc + .4byte 0x9 + .4byte LilycoveCity_CoveLilyMotel_2F_MapBorder + .4byte LilycoveCity_CoveLilyMotel_2F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +Route124_DivingTreasureHuntersHouse_MapBorder: @ 84572AC + .incbin "data/maps/Route124_DivingTreasureHuntersHouse/border.bin" + + .align 2 +Route124_DivingTreasureHuntersHouse_MapBlockdata: @ 84572B4 + .incbin "data/maps/Route124_DivingTreasureHuntersHouse/map.bin" + + .align 2 +Route124_DivingTreasureHuntersHouse_MapAttributes: @ 8457368 + .4byte 0xa + .4byte 0x9 + .4byte Route124_DivingTreasureHuntersHouse_MapBorder + .4byte Route124_DivingTreasureHuntersHouse_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +MtPyre_Exterior_MapBorder: @ 8457380 + .incbin "data/maps/MtPyre_Exterior/border.bin" + + .align 2 +MtPyre_Exterior_MapBlockdata: @ 8457388 + .incbin "data/maps/MtPyre_Exterior/map.bin" + + .align 2 +MtPyre_Exterior_MapAttributes: @ 84582AC + .4byte 0x26 + .4byte 0x33 + .4byte MtPyre_Exterior_MapBorder + .4byte MtPyre_Exterior_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +MtPyre_Summit_MapBorder: @ 84582C4 + .incbin "data/maps/MtPyre_Summit/border.bin" + + .align 2 +MtPyre_Summit_MapBlockdata: @ 84582CC + .incbin "data/maps/MtPyre_Summit/map.bin" + + .align 2 +MtPyre_Summit_MapAttributes: @ 8459140 + .4byte 0x32 + .4byte 0x25 + .4byte MtPyre_Summit_MapBorder + .4byte MtPyre_Summit_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +SealedChamber_InnerRoom_MapBorder: @ 8459158 + .incbin "data/maps/SealedChamber_InnerRoom/border.bin" + + .align 2 +SealedChamber_InnerRoom_MapBlockdata: @ 8459160 + .incbin "data/maps/SealedChamber_InnerRoom/map.bin" + + .align 2 +SealedChamber_InnerRoom_MapAttributes: @ 8459528 + .4byte 0x15 + .4byte 0x17 + .4byte SealedChamber_InnerRoom_MapBorder + .4byte SealedChamber_InnerRoom_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +MossdeepCity_GameCorner_1F_MapBorder: @ 8459540 + .incbin "data/maps/MossdeepCity_GameCorner_1F/border.bin" + + .align 2 +MossdeepCity_GameCorner_1F_MapBlockdata: @ 8459548 + .incbin "data/maps/MossdeepCity_GameCorner_1F/map.bin" + + .align 2 +MossdeepCity_GameCorner_1F_MapAttributes: @ 8459638 + .4byte 0xc + .4byte 0xa + .4byte MossdeepCity_GameCorner_1F_MapBorder + .4byte MossdeepCity_GameCorner_1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_MossdeepGameCorner + + .align 2 +MossdeepCity_GameCorner_B1F_MapBorder: @ 8459650 + .incbin "data/maps/MossdeepCity_GameCorner_B1F/border.bin" + + .align 2 +MossdeepCity_GameCorner_B1F_MapBlockdata: @ 8459658 + .incbin "data/maps/MossdeepCity_GameCorner_B1F/map.bin" + + .align 2 +MossdeepCity_GameCorner_B1F_MapAttributes: @ 8459730 + .4byte 0xc + .4byte 0x9 + .4byte MossdeepCity_GameCorner_B1F_MapBorder + .4byte MossdeepCity_GameCorner_B1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +SootopolisCity_House1_MapBorder: @ 8459748 + .incbin "data/maps/SootopolisCity_House1/border.bin" + + .align 2 +SootopolisCity_House1_MapBlockdata: @ 8459750 + .incbin "data/maps/SootopolisCity_House1/map.bin" + + .align 2 +SootopolisCity_House1_MapAttributes: @ 84597C0 +SootopolisCity_House4_MapAttributes: @ 84597C0 +SootopolisCity_House7_MapAttributes: @ 84597C0 + .4byte 0x8 + .4byte 0x7 + .4byte SootopolisCity_House1_MapBorder + .4byte SootopolisCity_House1_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +SootopolisCity_House2_MapBorder: @ 84597D8 + .incbin "data/maps/SootopolisCity_House2/border.bin" + + .align 2 +SootopolisCity_House2_MapBlockdata: @ 84597E0 + .incbin "data/maps/SootopolisCity_House2/map.bin" + + .align 2 +SootopolisCity_House2_MapAttributes: @ 8459850 +SootopolisCity_House5_MapAttributes: @ 8459850 + .4byte 0x8 + .4byte 0x7 + .4byte SootopolisCity_House2_MapBorder + .4byte SootopolisCity_House2_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +SootopolisCity_House3_MapBorder: @ 8459868 + .incbin "data/maps/SootopolisCity_House3/border.bin" + + .align 2 +SootopolisCity_House3_MapBlockdata: @ 8459870 + .incbin "data/maps/SootopolisCity_House3/map.bin" + + .align 2 +SootopolisCity_House3_MapAttributes: @ 84598E0 +SootopolisCity_House6_MapAttributes: @ 84598E0 + .4byte 0x8 + .4byte 0x7 + .4byte SootopolisCity_House3_MapBorder + .4byte SootopolisCity_House3_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +AbandonedShip_HiddenFloorRooms_MapBorder: @ 84598F8 + .incbin "data/maps/AbandonedShip_HiddenFloorRooms/border.bin" + + .align 2 +AbandonedShip_HiddenFloorRooms_MapBlockdata: @ 8459900 + .incbin "data/maps/AbandonedShip_HiddenFloorRooms/map.bin" + + .align 2 +AbandonedShip_HiddenFloorRooms_MapAttributes: @ 8459E28 + .4byte 0x2c + .4byte 0xf + .4byte AbandonedShip_HiddenFloorRooms_MapBorder + .4byte AbandonedShip_HiddenFloorRooms_MapBlockdata + .4byte gTileset_General + .4byte gTileset_InsideShip + + .align 2 +ScorchedSlab_MapBorder: @ 8459E40 + .incbin "data/maps/ScorchedSlab/border.bin" + + .align 2 +ScorchedSlab_MapBlockdata: @ 8459E48 + .incbin "data/maps/ScorchedSlab/map.bin" + + .align 2 +ScorchedSlab_MapAttributes: @ 845A0A0 + .4byte 0xf + .4byte 0x14 + .4byte ScorchedSlab_MapBorder + .4byte ScorchedSlab_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +UnknownMapBorder_0845A394: @ 845A0B8 + .incbin "data/maps/UnknownMap_0845A394/border.bin" + + .align 2 +UnknownMapBlockdata_0845A394: @ 845A0C0 + .incbin "data/maps/UnknownMap_0845A394/map.bin" + + .align 2 +UnknownMapAttributes_0845A394: @ 845A394 + .4byte 0x13 + .4byte 0x13 + .4byte UnknownMapBorder_0845A394 + .4byte UnknownMapBlockdata_0845A394 + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +RustboroCity_Flat1_1F_MapBorder: @ 845A3AC + .incbin "data/maps/RustboroCity_Flat1_1F/border.bin" + + .align 2 +RustboroCity_Flat1_1F_MapBlockdata: @ 845A3B4 + .incbin "data/maps/RustboroCity_Flat1_1F/map.bin" + + .align 2 +RustboroCity_Flat1_1F_MapAttributes: @ 845A494 + .4byte 0xe + .4byte 0x8 + .4byte RustboroCity_Flat1_1F_MapBorder + .4byte RustboroCity_Flat1_1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +RustboroCity_Flat1_2F_MapBorder: @ 845A4AC + .incbin "data/maps/RustboroCity_Flat1_2F/border.bin" + + .align 2 +RustboroCity_Flat1_2F_MapBlockdata: @ 845A4B4 + .incbin "data/maps/RustboroCity_Flat1_2F/map.bin" + + .align 2 +RustboroCity_Flat1_2F_MapAttributes: @ 845A594 + .4byte 0xe + .4byte 0x8 + .4byte RustboroCity_Flat1_2F_MapBorder + .4byte RustboroCity_Flat1_2F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +EverGrandeCity_Hall4_MapBorder: @ 845A5AC + .incbin "data/maps/EverGrandeCity_Hall4/border.bin" + + .align 2 +EverGrandeCity_Hall4_MapBlockdata: @ 845A5B4 + .incbin "data/maps/EverGrandeCity_Hall4/map.bin" + + .align 2 +EverGrandeCity_Hall4_MapAttributes: @ 845A8A0 + .4byte 0xb + .4byte 0x22 + .4byte EverGrandeCity_Hall4_MapBorder + .4byte EverGrandeCity_Hall4_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_EliteFour + + .align 2 +AquaHideout_UnusedRubyMap1_MapBorder: @ 845A8B8 + .incbin "data/maps/AquaHideout_UnusedRubyMap1/border.bin" + + .align 2 +AquaHideout_UnusedRubyMap1_MapBlockdata: @ 845A8C0 + .incbin "data/maps/AquaHideout_UnusedRubyMap1/map.bin" + + .align 2 +AquaHideout_UnusedRubyMap1_MapAttributes: @ 845AF50 + .4byte 0x1c + .4byte 0x1e + .4byte AquaHideout_UnusedRubyMap1_MapBorder + .4byte AquaHideout_UnusedRubyMap1_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +AquaHideout_UnusedRubyMap2_MapBorder: @ 845AF68 + .incbin "data/maps/AquaHideout_UnusedRubyMap2/border.bin" + + .align 2 +AquaHideout_UnusedRubyMap2_MapBlockdata: @ 845AF70 + .incbin "data/maps/AquaHideout_UnusedRubyMap2/map.bin" + + .align 2 +AquaHideout_UnusedRubyMap2_MapAttributes: @ 845BB10 + .4byte 0x3e + .4byte 0x18 + .4byte AquaHideout_UnusedRubyMap2_MapBorder + .4byte AquaHideout_UnusedRubyMap2_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +AquaHideout_UnusedRubyMap3_MapBorder: @ 845BB28 + .incbin "data/maps/AquaHideout_UnusedRubyMap3/border.bin" + + .align 2 +AquaHideout_UnusedRubyMap3_MapBlockdata: @ 845BB30 + .incbin "data/maps/AquaHideout_UnusedRubyMap3/map.bin" + + .align 2 +AquaHideout_UnusedRubyMap3_MapAttributes: @ 845C190 + .4byte 0x22 + .4byte 0x18 + .4byte AquaHideout_UnusedRubyMap3_MapBorder + .4byte AquaHideout_UnusedRubyMap3_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Facility + + .align 2 +UnknownMapBorder_0845D470: @ 845C1A8 + .incbin "data/maps/UnknownMap_0845D470/border.bin" + + .align 2 +UnknownMapBlockdata_0845D470: @ 845C1B0 + .incbin "data/maps/UnknownMap_0845D470/map.bin" + + .align 2 +UnknownMapAttributes_0845D470: @ 845D470 + .4byte 0x3C + .4byte 0x28 + .4byte UnknownMapBorder_0845D470 + .4byte UnknownMapBlockdata_0845D470 + .4byte gTileset_General + .4byte gTileset_Pacifidlog + + .align 2 +SkyPillar_Entrance_MapBorder: @ 845D488 + .incbin "data/maps/SkyPillar_Entrance/border.bin" + + .align 2 +SkyPillar_Entrance_MapBlockdata: @ 845D490 + .incbin "data/maps/SkyPillar_Entrance/map.bin" + + .align 2 +SkyPillar_Entrance_MapAttributes: @ 845D718 + .4byte 0x12 + .4byte 0x12 + .4byte SkyPillar_Entrance_MapBorder + .4byte SkyPillar_Entrance_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +SkyPillar_Outside_MapBorder: @ 845D730 + .incbin "data/maps/SkyPillar_Outside/border.bin" + + .align 2 +SkyPillar_Outside_MapBlockdata: @ 845D738 + .incbin "data/maps/SkyPillar_Outside/map.bin" + + .align 2 +SkyPillar_Outside_MapAttributes: @ 845DC40 + .4byte 0x1c + .4byte 0x17 + .4byte SkyPillar_Outside_MapBorder + .4byte SkyPillar_Outside_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Pacifidlog + + .align 2 +SkyPillar_1F_MapBorder: @ 845DC58 + .incbin "data/maps/SkyPillar_1F/border.bin" + + .align 2 +SkyPillar_1F_MapBlockdata: @ 845DC60 + .incbin "data/maps/SkyPillar_1F/map.bin" + + .align 2 +SkyPillar_1F_MapAttributes: @ 845DDE8 + .4byte 0xe + .4byte 0xe + .4byte SkyPillar_1F_MapBorder + .4byte SkyPillar_1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Pacifidlog + + .align 2 +SkyPillar_2F_MapBorder: @ 845DE00 + .incbin "data/maps/SkyPillar_2F/border.bin" + + .align 2 +SkyPillar_2F_MapBlockdata: @ 845DE08 + .incbin "data/maps/SkyPillar_2F/map.bin" + + .align 2 +SkyPillar_2F_MapAttributes: @ 845DF90 + .4byte 0xe + .4byte 0xe + .4byte SkyPillar_2F_MapBorder + .4byte SkyPillar_2F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Pacifidlog + + .align 2 +SkyPillar_3F_MapBorder: @ 845DFA8 + .incbin "data/maps/SkyPillar_3F/border.bin" + + .align 2 +SkyPillar_3F_MapBlockdata: @ 845DFB0 + .incbin "data/maps/SkyPillar_3F/map.bin" + + .align 2 +SkyPillar_3F_MapAttributes: @ 845E138 + .4byte 0xe + .4byte 0xe + .4byte SkyPillar_3F_MapBorder + .4byte SkyPillar_3F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Pacifidlog + + .align 2 +SkyPillar_4F_MapBorder: @ 845E150 + .incbin "data/maps/SkyPillar_4F/border.bin" + + .align 2 +SkyPillar_4F_MapBlockdata: @ 845E158 + .incbin "data/maps/SkyPillar_4F/map.bin" + + .align 2 +SkyPillar_4F_MapAttributes: @ 845E2E0 + .4byte 0xe + .4byte 0xe + .4byte SkyPillar_4F_MapBorder + .4byte SkyPillar_4F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Pacifidlog + + .align 2 +UnknownMapBorder_0845ECB4: @ 845E2F8 + .incbin "data/maps/UnknownMap_0845ECB4/border.bin" + + .align 2 +UnknownMapBlockdata_0845ECB4: @ 845E300 + .incbin "data/maps/UnknownMap_0845ECB4/map.bin" + + .align 2 +UnknownMapAttributes_0845ECB4: @ 845ECB4 + .4byte 0x1B + .4byte 0x2E + .4byte UnknownMapBorder_0845ECB4 + .4byte UnknownMapBlockdata_0845ECB4 + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +MossdeepCity_StevensHouse_MapBorder: @ 845ECCC + .incbin "data/maps/MossdeepCity_StevensHouse/border.bin" + + .align 2 +MossdeepCity_StevensHouse_MapBlockdata: @ 845ECD4 + .incbin "data/maps/MossdeepCity_StevensHouse/map.bin" + + .align 2 +MossdeepCity_StevensHouse_MapAttributes: @ 845ED84 + .4byte 0xb + .4byte 0x8 + .4byte MossdeepCity_StevensHouse_MapBorder + .4byte MossdeepCity_StevensHouse_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +ShoalCave_LowTideIceRoom_MapBorder: @ 845ED9C + .incbin "data/maps/ShoalCave_LowTideIceRoom/border.bin" + + .align 2 +ShoalCave_LowTideIceRoom_MapBlockdata: @ 845EDA4 + .incbin "data/maps/ShoalCave_LowTideIceRoom/map.bin" + + .align 2 +ShoalCave_LowTideIceRoom_MapAttributes: @ 845F254 + .4byte 0x14 + .4byte 0x1e + .4byte ShoalCave_LowTideIceRoom_MapBorder + .4byte ShoalCave_LowTideIceRoom_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +SafariZone_RestHouse_MapBorder: @ 845F26C + .incbin "data/maps/SafariZone_RestHouse/border.bin" + + .align 2 +SafariZone_RestHouse_MapBlockdata: @ 845F274 + .incbin "data/maps/SafariZone_RestHouse/map.bin" + + .align 2 +SafariZone_RestHouse_MapAttributes: @ 845F328 + .4byte 0xa + .4byte 0x9 + .4byte SafariZone_RestHouse_MapBorder + .4byte SafariZone_RestHouse_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_GenericBuilding + + .align 2 +SkyPillar_5F_MapBorder: @ 845F340 + .incbin "data/maps/SkyPillar_5F/border.bin" + + .align 2 +SkyPillar_5F_MapBlockdata: @ 845F348 + .incbin "data/maps/SkyPillar_5F/map.bin" + + .align 2 +SkyPillar_5F_MapAttributes: @ 845F4D0 + .4byte 0xe + .4byte 0xe + .4byte SkyPillar_5F_MapBorder + .4byte SkyPillar_5F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Pacifidlog + + .align 2 +SkyPillar_Top_MapBorder: @ 845F4E8 + .incbin "data/maps/SkyPillar_Top/border.bin" + + .align 2 +SkyPillar_Top_MapBlockdata: @ 845F4F0 + .incbin "data/maps/SkyPillar_Top/map.bin" + + .align 2 +SkyPillar_Top_MapAttributes: @ 845FA00 + .4byte 0x1b + .4byte 0x18 + .4byte SkyPillar_Top_MapBorder + .4byte SkyPillar_Top_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Pacifidlog + + .align 2 +BattleFrontier_BattleDomeLobby_MapBorder: @ 845FA18 + .incbin "data/maps/BattleFrontier_BattleDomeLobby/border.bin" + + .align 2 +BattleFrontier_BattleDomeLobby_MapBlockdata: @ 845FA20 + .incbin "data/maps/BattleFrontier_BattleDomeLobby/map.bin" + + .align 2 +BattleFrontier_BattleDomeLobby_MapAttributes: @ 845FD30 + .4byte 0x17 + .4byte 0x11 + .4byte BattleFrontier_BattleDomeLobby_MapBorder + .4byte BattleFrontier_BattleDomeLobby_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleDome + + .align 2 +BattleFrontier_BattleDomeCorridor_MapBorder: @ 845FD48 + .incbin "data/maps/BattleFrontier_BattleDomeCorridor/border.bin" + + .align 2 +BattleFrontier_BattleDomeCorridor_MapBlockdata: @ 845FD50 + .incbin "data/maps/BattleFrontier_BattleDomeCorridor/map.bin" + + .align 2 +BattleFrontier_BattleDomeCorridor_MapAttributes: @ 845FFF0 + .4byte 0x30 + .4byte 0x7 + .4byte BattleFrontier_BattleDomeCorridor_MapBorder + .4byte BattleFrontier_BattleDomeCorridor_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleDome + + .align 2 +BattleFrontier_BattleDomePreBattleRoom_MapBorder: @ 8460008 + .incbin "data/maps/BattleFrontier_BattleDomePreBattleRoom/border.bin" + + .align 2 +BattleFrontier_BattleDomePreBattleRoom_MapBlockdata: @ 8460010 + .incbin "data/maps/BattleFrontier_BattleDomePreBattleRoom/map.bin" + + .align 2 +BattleFrontier_BattleDomePreBattleRoom_MapAttributes: @ 84600A0 + .4byte 0x9 + .4byte 0x8 + .4byte BattleFrontier_BattleDomePreBattleRoom_MapBorder + .4byte BattleFrontier_BattleDomePreBattleRoom_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleDome + + .align 2 +BattleFrontier_BattleDomeBattleRoom_MapBorder: @ 84600B8 + .incbin "data/maps/BattleFrontier_BattleDomeBattleRoom/border.bin" + + .align 2 +BattleFrontier_BattleDomeBattleRoom_MapBlockdata: @ 84600C0 + .incbin "data/maps/BattleFrontier_BattleDomeBattleRoom/map.bin" + + .align 2 +BattleFrontier_BattleDomeBattleRoom_MapAttributes: @ 8460250 + .4byte 0x14 + .4byte 0xa + .4byte BattleFrontier_BattleDomeBattleRoom_MapBorder + .4byte BattleFrontier_BattleDomeBattleRoom_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleDome + + .align 2 +MagmaHideout_1F_MapBorder: @ 8460268 + .incbin "data/maps/MagmaHideout_1F/border.bin" + + .align 2 +MagmaHideout_1F_MapBlockdata: @ 8460270 + .incbin "data/maps/MagmaHideout_1F/map.bin" + + .align 2 +MagmaHideout_1F_MapAttributes: @ 8460D6C + .4byte 0x25 + .4byte 0x26 + .4byte MagmaHideout_1F_MapBorder + .4byte MagmaHideout_1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lavaridge + + .align 2 +MagmaHideout_2F_1R_MapBorder: @ 8460D84 + .incbin "data/maps/MagmaHideout_2F_1R/border.bin" + + .align 2 +MagmaHideout_2F_1R_MapBlockdata: @ 8460D8C + .incbin "data/maps/MagmaHideout_2F_1R/map.bin" + + .align 2 +MagmaHideout_2F_1R_MapAttributes: @ 846179C + .4byte 0x21 + .4byte 0x27 + .4byte MagmaHideout_2F_1R_MapBorder + .4byte MagmaHideout_2F_1R_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lavaridge + + .align 2 +MagmaHideout_2F_2R_MapBorder: @ 84617B4 + .incbin "data/maps/MagmaHideout_2F_2R/border.bin" + + .align 2 +MagmaHideout_2F_2R_MapBlockdata: @ 84617BC + .incbin "data/maps/MagmaHideout_2F_2R/map.bin" + + .align 2 +MagmaHideout_2F_2R_MapAttributes: @ 8462274 + .4byte 0x31 + .4byte 0x1c + .4byte MagmaHideout_2F_2R_MapBorder + .4byte MagmaHideout_2F_2R_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lavaridge + + .align 2 +MagmaHideout_3F_1R_MapBorder: @ 846228C + .incbin "data/maps/MagmaHideout_3F_1R/border.bin" + + .align 2 +MagmaHideout_3F_1R_MapBlockdata: @ 8462294 + .incbin "data/maps/MagmaHideout_3F_1R/map.bin" + + .align 2 +MagmaHideout_3F_1R_MapAttributes: @ 84627D4 + .4byte 0x1c + .4byte 0x18 + .4byte MagmaHideout_3F_1R_MapBorder + .4byte MagmaHideout_3F_1R_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lavaridge + + .align 2 +MagmaHideout_3F_2R_MapBorder: @ 84627EC + .incbin "data/maps/MagmaHideout_3F_2R/border.bin" + + .align 2 +MagmaHideout_3F_2R_MapBlockdata: @ 84627F4 + .incbin "data/maps/MagmaHideout_3F_2R/map.bin" + + .align 2 +MagmaHideout_3F_2R_MapAttributes: @ 8462B24 + .4byte 0x18 + .4byte 0x11 + .4byte MagmaHideout_3F_2R_MapBorder + .4byte MagmaHideout_3F_2R_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lavaridge + + .align 2 +MagmaHideout_4F_MapBorder: @ 8462B3C + .incbin "data/maps/MagmaHideout_4F/border.bin" + + .align 2 +MagmaHideout_4F_MapBlockdata: @ 8462B44 + .incbin "data/maps/MagmaHideout_4F/map.bin" + + .align 2 +MagmaHideout_4F_MapAttributes: @ 846382C + .4byte 0x3b + .4byte 0x1c + .4byte MagmaHideout_4F_MapBorder + .4byte MagmaHideout_4F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lavaridge + + .align 2 +BattleFrontier_BattlePalaceLobby_MapBorder: @ 8463844 + .incbin "data/maps/BattleFrontier_BattlePalaceLobby/border.bin" + + .align 2 +BattleFrontier_BattlePalaceLobby_MapBlockdata: @ 846384C + .incbin "data/maps/BattleFrontier_BattlePalaceLobby/map.bin" + + .align 2 +BattleFrontier_BattlePalaceLobby_MapAttributes: @ 8463AA4 + .4byte 0x19 + .4byte 0xc + .4byte BattleFrontier_BattlePalaceLobby_MapBorder + .4byte BattleFrontier_BattlePalaceLobby_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePalace + + .align 2 +BattleFrontier_BattlePalaceCorridor_MapBorder: @ 8463ABC + .incbin "data/maps/BattleFrontier_BattlePalaceCorridor/border.bin" + + .align 2 +BattleFrontier_BattlePalaceCorridor_MapBlockdata: @ 8463AC4 + .incbin "data/maps/BattleFrontier_BattlePalaceCorridor/map.bin" + + .align 2 +BattleFrontier_BattlePalaceCorridor_MapAttributes: @ 8463CA0 + .4byte 0x11 + .4byte 0xe + .4byte BattleFrontier_BattlePalaceCorridor_MapBorder + .4byte BattleFrontier_BattlePalaceCorridor_MapBlockdata + .4byte gTileset_General + .4byte gTileset_BattlePalace + + .align 2 +BattleFrontier_BattlePalaceBattleRoom_MapBorder: @ 8463CB8 + .incbin "data/maps/BattleFrontier_BattlePalaceBattleRoom/border.bin" + + .align 2 +BattleFrontier_BattlePalaceBattleRoom_MapBlockdata: @ 8463CC0 + .incbin "data/maps/BattleFrontier_BattlePalaceBattleRoom/map.bin" + + .align 2 +BattleFrontier_BattlePalaceBattleRoom_MapAttributes: @ 8463DEC + .4byte 0xf + .4byte 0xa + .4byte BattleFrontier_BattlePalaceBattleRoom_MapBorder + .4byte BattleFrontier_BattlePalaceBattleRoom_MapBlockdata + .4byte gTileset_General + .4byte gTileset_BattlePalace + + .align 2 +BattleFrontier_OutsideEast_MapBorder: @ 8463E04 + .incbin "data/maps/BattleFrontier_OutsideEast/border.bin" + + .align 2 +BattleFrontier_OutsideEast_MapBlockdata: @ 8463E0C + .incbin "data/maps/BattleFrontier_OutsideEast/map.bin" + + .align 2 +BattleFrontier_OutsideEast_MapAttributes: @ 846668C + .4byte 0x48 + .4byte 0x48 + .4byte BattleFrontier_OutsideEast_MapBorder + .4byte BattleFrontier_OutsideEast_MapBlockdata + .4byte gTileset_General + .4byte gTileset_BattleFrontierOutsideEast + + .align 2 +BattleFrontier_BattleFactoryLobby_MapBorder: @ 84666A4 + .incbin "data/maps/BattleFrontier_BattleFactoryLobby/border.bin" + + .align 2 +BattleFrontier_BattleFactoryLobby_MapBlockdata: @ 84666AC + .incbin "data/maps/BattleFrontier_BattleFactoryLobby/map.bin" + + .align 2 +BattleFrontier_BattleFactoryLobby_MapAttributes: @ 8466874 + .4byte 0x13 + .4byte 0xc + .4byte BattleFrontier_BattleFactoryLobby_MapBorder + .4byte BattleFrontier_BattleFactoryLobby_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleFactory + + .align 2 +BattleFrontier_BattleFactoryPreBattleRoom_MapBorder: @ 846688C + .incbin "data/maps/BattleFrontier_BattleFactoryPreBattleRoom/border.bin" + + .align 2 +BattleFrontier_BattleFactoryPreBattleRoom_MapBlockdata: @ 8466894 + .incbin "data/maps/BattleFrontier_BattleFactoryPreBattleRoom/map.bin" + + .align 2 +BattleFrontier_BattleFactoryPreBattleRoom_MapAttributes: @ 8466A70 + .4byte 0x11 + .4byte 0xe + .4byte BattleFrontier_BattleFactoryPreBattleRoom_MapBorder + .4byte BattleFrontier_BattleFactoryPreBattleRoom_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleFactory + + .align 2 +BattleFrontier_BattleFactoryBattleRoom_MapBorder: @ 8466A88 + .incbin "data/maps/BattleFrontier_BattleFactoryBattleRoom/border.bin" + + .align 2 +BattleFrontier_BattleFactoryBattleRoom_MapBlockdata: @ 8466A90 + .incbin "data/maps/BattleFrontier_BattleFactoryBattleRoom/map.bin" + + .align 2 +BattleFrontier_BattleFactoryBattleRoom_MapAttributes: @ 8466BC8 + .4byte 0xd + .4byte 0xc + .4byte BattleFrontier_BattleFactoryBattleRoom_MapBorder + .4byte BattleFrontier_BattleFactoryBattleRoom_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleFactory + + .align 2 +BattleFrontier_BattlePikeLobby_MapBorder: @ 8466BE0 + .incbin "data/maps/BattleFrontier_BattlePikeLobby/border.bin" + + .align 2 +BattleFrontier_BattlePikeLobby_MapBlockdata: @ 8466BE8 + .incbin "data/maps/BattleFrontier_BattlePikeLobby/map.bin" + + .align 2 +BattleFrontier_BattlePikeLobby_MapAttributes: @ 8466D08 + .4byte 0xb + .4byte 0xd + .4byte BattleFrontier_BattlePikeLobby_MapBorder + .4byte BattleFrontier_BattlePikeLobby_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePike + + .align 2 +BattleFrontier_BattlePikeCorridor_MapBorder: @ 8466D20 + .incbin "data/maps/BattleFrontier_BattlePikeCorridor/border.bin" + + .align 2 +BattleFrontier_BattlePikeCorridor_MapBlockdata: @ 8466D28 + .incbin "data/maps/BattleFrontier_BattlePikeCorridor/map.bin" + + .align 2 +BattleFrontier_BattlePikeCorridor_MapAttributes: @ 8466E08 + .4byte 0xe + .4byte 0x8 + .4byte BattleFrontier_BattlePikeCorridor_MapBorder + .4byte BattleFrontier_BattlePikeCorridor_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePike + + .align 2 +BattleFrontier_BattlePikeThreePathRoom_MapBorder: @ 8466E20 + .incbin "data/maps/BattleFrontier_BattlePikeThreePathRoom/border.bin" + + .align 2 +BattleFrontier_BattlePikeThreePathRoom_MapBlockdata: @ 8466E28 + .incbin "data/maps/BattleFrontier_BattlePikeThreePathRoom/map.bin" + + .align 2 +BattleFrontier_BattlePikeThreePathRoom_MapAttributes: @ 8466F48 + .4byte 0xd + .4byte 0xb + .4byte BattleFrontier_BattlePikeThreePathRoom_MapBorder + .4byte BattleFrontier_BattlePikeThreePathRoom_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePike + + .align 2 +BattleFrontier_BattlePikeRandomRoom1_MapBorder: @ 8466F60 + .incbin "data/maps/BattleFrontier_BattlePikeRandomRoom1/border.bin" + + .align 2 +BattleFrontier_BattlePikeRandomRoom1_MapBlockdata: @ 8466F68 + .incbin "data/maps/BattleFrontier_BattlePikeRandomRoom1/map.bin" + + .align 2 +BattleFrontier_BattlePikeRandomRoom1_MapAttributes: @ 8466FF8 + .4byte 0x9 + .4byte 0x8 + .4byte BattleFrontier_BattlePikeRandomRoom1_MapBorder + .4byte BattleFrontier_BattlePikeRandomRoom1_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePike + + .align 2 +BattleFrontier_BattlePikeRandomRoom2_MapBorder: @ 8467010 + .incbin "data/maps/BattleFrontier_BattlePikeRandomRoom2/border.bin" + + .align 2 +BattleFrontier_BattlePikeRandomRoom2_MapBlockdata: @ 8467018 + .incbin "data/maps/BattleFrontier_BattlePikeRandomRoom2/map.bin" + + .align 2 +BattleFrontier_BattlePikeRandomRoom2_MapAttributes: @ 8467068 + .4byte 0x5 + .4byte 0x8 + .4byte BattleFrontier_BattlePikeRandomRoom2_MapBorder + .4byte BattleFrontier_BattlePikeRandomRoom2_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePike + + .align 2 +BattleFrontier_BattleArenaLobby_MapBorder: @ 8467080 + .incbin "data/maps/BattleFrontier_BattleArenaLobby/border.bin" + + .align 2 +BattleFrontier_BattleArenaLobby_MapBlockdata: @ 8467088 + .incbin "data/maps/BattleFrontier_BattleArenaLobby/map.bin" + + .align 2 +BattleFrontier_BattleArenaLobby_MapAttributes: @ 8467228 + .4byte 0x10 + .4byte 0xd + .4byte BattleFrontier_BattleArenaLobby_MapBorder + .4byte BattleFrontier_BattleArenaLobby_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleArena + + .align 2 +BattleFrontier_BattleArenaCorridor_MapBorder: @ 8467240 + .incbin "data/maps/BattleFrontier_BattleArenaCorridor/border.bin" + + .align 2 +BattleFrontier_BattleArenaCorridor_MapBlockdata: @ 8467248 + .incbin "data/maps/BattleFrontier_BattleArenaCorridor/map.bin" + + .align 2 +BattleFrontier_BattleArenaCorridor_MapAttributes: @ 8467440 + .4byte 0x12 + .4byte 0xe + .4byte BattleFrontier_BattleArenaCorridor_MapBorder + .4byte BattleFrontier_BattleArenaCorridor_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleArena + + .align 2 +BattleFrontier_BattleArenaBattleRoom_MapBorder: @ 8467458 + .incbin "data/maps/BattleFrontier_BattleArenaBattleRoom/border.bin" + + .align 2 +BattleFrontier_BattleArenaBattleRoom_MapBlockdata: @ 8467460 + .incbin "data/maps/BattleFrontier_BattleArenaBattleRoom/map.bin" + + .align 2 +BattleFrontier_BattleArenaBattleRoom_MapAttributes: @ 84675C0 + .4byte 0x10 + .4byte 0xb + .4byte BattleFrontier_BattleArenaBattleRoom_MapBorder + .4byte BattleFrontier_BattleArenaBattleRoom_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleArena + + .align 2 +UnknownMapBorder_08469200: @ 84675D8 + .incbin "data/maps/UnknownMap_08469200/border.bin" + + .align 2 +UnknownMapBlockdata_08469200: @ 84675E0 + .incbin "data/maps/UnknownMap_08469200/map.bin" + + .align 2 +UnknownMapAttributes_08469200: @ 8469200 + .4byte 0x3C + .4byte 0x3C + .4byte UnknownMapBorder_08469200 + .4byte UnknownMapBlockdata_08469200 + .4byte gTileset_General + .4byte gTileset_Sootopolis + + .align 2 +BattleFrontier_BattlePikeRandomRoom3_MapBorder: @ 8469218 + .incbin "data/maps/BattleFrontier_BattlePikeRandomRoom3/border.bin" + + .align 2 +BattleFrontier_BattlePikeRandomRoom3_MapBlockdata: @ 8469220 + .incbin "data/maps/BattleFrontier_BattlePikeRandomRoom3/map.bin" + + .align 2 +BattleFrontier_BattlePikeRandomRoom3_MapAttributes: @ 8469388 + .4byte 0x9 + .4byte 0x14 + .4byte BattleFrontier_BattlePikeRandomRoom3_MapBorder + .4byte BattleFrontier_BattlePikeRandomRoom3_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePike + + .align 2 +UnknownMapBorder_084693AC: @ 84693A0 + .incbin "data/maps/UnknownMap_084693AC/border.bin" + + .align 2 +UnknownMapBlockdata_084693AC: @ 84693A8 + .incbin "data/maps/UnknownMap_084693AC/map.bin" + + .align 2 +UnknownMapAttributes_084693AC: @ 84693AC + .4byte 0x1 + .4byte 0x1 + .4byte UnknownMapBorder_084693AC + .4byte UnknownMapBlockdata_084693AC + .4byte gTileset_Building + .4byte gTileset_BattlePike + + .align 2 +BattleFrontier_BattlePyramidLobby_MapBorder: @ 84693C4 + .incbin "data/maps/BattleFrontier_BattlePyramidLobby/border.bin" + + .align 2 +BattleFrontier_BattlePyramidLobby_MapBlockdata: @ 84693CC + .incbin "data/maps/BattleFrontier_BattlePyramidLobby/map.bin" + + .align 2 +BattleFrontier_BattlePyramidLobby_MapAttributes: @ 84695E8 + .4byte 0xf + .4byte 0x12 + .4byte BattleFrontier_BattlePyramidLobby_MapBorder + .4byte BattleFrontier_BattlePyramidLobby_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePyramid + + .align 2 +BattleFrontier_BattlePyramidEmptySquare_MapBorder: @ 8469600 + .incbin "data/maps/BattleFrontier_BattlePyramidEmptySquare/border.bin" + + .align 2 +BattleFrontier_BattlePyramidEmptySquare_MapBlockdata: @ 8469608 + .incbin "data/maps/BattleFrontier_BattlePyramidEmptySquare/map.bin" + + .align 2 +BattleFrontier_BattlePyramidEmptySquare_MapAttributes: @ 8469688 + .4byte 0x8 + .4byte 0x8 + .4byte BattleFrontier_BattlePyramidEmptySquare_MapBorder + .4byte BattleFrontier_BattlePyramidEmptySquare_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePyramid + + .align 2 +BattlePyramidSquare01_MapBorder: @ 84696A0 + .incbin "data/maps/BattlePyramidSquare01/border.bin" + + .align 2 +BattlePyramidSquare01_MapBlockdata: @ 84696A8 + .incbin "data/maps/BattlePyramidSquare01/map.bin" + + .align 2 +BattlePyramidSquare01_MapAttributes: @ 8469728 + .4byte 0x8 + .4byte 0x8 + .4byte BattlePyramidSquare01_MapBorder + .4byte BattlePyramidSquare01_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePyramid + + .align 2 +BattlePyramidSquare02_MapBorder: @ 8469740 + .incbin "data/maps/BattlePyramidSquare02/border.bin" + + .align 2 +BattlePyramidSquare02_MapBlockdata: @ 8469748 + .incbin "data/maps/BattlePyramidSquare02/map.bin" + + .align 2 +BattlePyramidSquare02_MapAttributes: @ 84697C8 + .4byte 0x8 + .4byte 0x8 + .4byte BattlePyramidSquare02_MapBorder + .4byte BattlePyramidSquare02_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePyramid + + .align 2 +BattlePyramidSquare03_MapBorder: @ 84697E0 + .incbin "data/maps/BattlePyramidSquare03/border.bin" + + .align 2 +BattlePyramidSquare03_MapBlockdata: @ 84697E8 + .incbin "data/maps/BattlePyramidSquare03/map.bin" + + .align 2 +BattlePyramidSquare03_MapAttributes: @ 8469868 + .4byte 0x8 + .4byte 0x8 + .4byte BattlePyramidSquare03_MapBorder + .4byte BattlePyramidSquare03_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePyramid + + .align 2 +BattlePyramidSquare04_MapBorder: @ 8469880 + .incbin "data/maps/BattlePyramidSquare04/border.bin" + + .align 2 +BattlePyramidSquare04_MapBlockdata: @ 8469888 + .incbin "data/maps/BattlePyramidSquare04/map.bin" + + .align 2 +BattlePyramidSquare04_MapAttributes: @ 8469908 + .4byte 0x8 + .4byte 0x8 + .4byte BattlePyramidSquare04_MapBorder + .4byte BattlePyramidSquare04_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePyramid + + .align 2 +BattlePyramidSquare05_MapBorder: @ 8469920 + .incbin "data/maps/BattlePyramidSquare05/border.bin" + + .align 2 +BattlePyramidSquare05_MapBlockdata: @ 8469928 + .incbin "data/maps/BattlePyramidSquare05/map.bin" + + .align 2 +BattlePyramidSquare05_MapAttributes: @ 84699A8 + .4byte 0x8 + .4byte 0x8 + .4byte BattlePyramidSquare05_MapBorder + .4byte BattlePyramidSquare05_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePyramid + + .align 2 +BattlePyramidSquare06_MapBorder: @ 84699C0 + .incbin "data/maps/BattlePyramidSquare06/border.bin" + + .align 2 +BattlePyramidSquare06_MapBlockdata: @ 84699C8 + .incbin "data/maps/BattlePyramidSquare06/map.bin" + + .align 2 +BattlePyramidSquare06_MapAttributes: @ 8469A48 + .4byte 0x8 + .4byte 0x8 + .4byte BattlePyramidSquare06_MapBorder + .4byte BattlePyramidSquare06_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePyramid + + .align 2 +BattlePyramidSquare07_MapBorder: @ 8469A60 + .incbin "data/maps/BattlePyramidSquare07/border.bin" + + .align 2 +BattlePyramidSquare07_MapBlockdata: @ 8469A68 + .incbin "data/maps/BattlePyramidSquare07/map.bin" + + .align 2 +BattlePyramidSquare07_MapAttributes: @ 8469AE8 + .4byte 0x8 + .4byte 0x8 + .4byte BattlePyramidSquare07_MapBorder + .4byte BattlePyramidSquare07_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePyramid + + .align 2 +BattlePyramidSquare08_MapBorder: @ 8469B00 + .incbin "data/maps/BattlePyramidSquare08/border.bin" + + .align 2 +BattlePyramidSquare08_MapBlockdata: @ 8469B08 + .incbin "data/maps/BattlePyramidSquare08/map.bin" + + .align 2 +BattlePyramidSquare08_MapAttributes: @ 8469B88 + .4byte 0x8 + .4byte 0x8 + .4byte BattlePyramidSquare08_MapBorder + .4byte BattlePyramidSquare08_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePyramid + + .align 2 +BattlePyramidSquare09_MapBorder: @ 8469BA0 + .incbin "data/maps/BattlePyramidSquare09/border.bin" + + .align 2 +BattlePyramidSquare09_MapBlockdata: @ 8469BA8 + .incbin "data/maps/BattlePyramidSquare09/map.bin" + + .align 2 +BattlePyramidSquare09_MapAttributes: @ 8469C28 + .4byte 0x8 + .4byte 0x8 + .4byte BattlePyramidSquare09_MapBorder + .4byte BattlePyramidSquare09_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePyramid + + .align 2 +BattlePyramidSquare10_MapBorder: @ 8469C40 + .incbin "data/maps/BattlePyramidSquare10/border.bin" + + .align 2 +BattlePyramidSquare10_MapBlockdata: @ 8469C48 + .incbin "data/maps/BattlePyramidSquare10/map.bin" + + .align 2 +BattlePyramidSquare10_MapAttributes: @ 8469CC8 + .4byte 0x8 + .4byte 0x8 + .4byte BattlePyramidSquare10_MapBorder + .4byte BattlePyramidSquare10_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePyramid + + .align 2 +BattlePyramidSquare11_MapBorder: @ 8469CE0 + .incbin "data/maps/BattlePyramidSquare11/border.bin" + + .align 2 +BattlePyramidSquare11_MapBlockdata: @ 8469CE8 + .incbin "data/maps/BattlePyramidSquare11/map.bin" + + .align 2 +BattlePyramidSquare11_MapAttributes: @ 8469D68 + .4byte 0x8 + .4byte 0x8 + .4byte BattlePyramidSquare11_MapBorder + .4byte BattlePyramidSquare11_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePyramid + + .align 2 +BattlePyramidSquare12_MapBorder: @ 8469D80 + .incbin "data/maps/BattlePyramidSquare12/border.bin" + + .align 2 +BattlePyramidSquare12_MapBlockdata: @ 8469D88 + .incbin "data/maps/BattlePyramidSquare12/map.bin" + + .align 2 +BattlePyramidSquare12_MapAttributes: @ 8469E08 + .4byte 0x8 + .4byte 0x8 + .4byte BattlePyramidSquare12_MapBorder + .4byte BattlePyramidSquare12_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePyramid + + .align 2 +BattlePyramidSquare13_MapBorder: @ 8469E20 + .incbin "data/maps/BattlePyramidSquare13/border.bin" + + .align 2 +BattlePyramidSquare13_MapBlockdata: @ 8469E28 + .incbin "data/maps/BattlePyramidSquare13/map.bin" + + .align 2 +BattlePyramidSquare13_MapAttributes: @ 8469EA8 + .4byte 0x8 + .4byte 0x8 + .4byte BattlePyramidSquare13_MapBorder + .4byte BattlePyramidSquare13_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePyramid + + .align 2 +BattlePyramidSquare14_MapBorder: @ 8469EC0 + .incbin "data/maps/BattlePyramidSquare14/border.bin" + + .align 2 +BattlePyramidSquare14_MapBlockdata: @ 8469EC8 + .incbin "data/maps/BattlePyramidSquare14/map.bin" + + .align 2 +BattlePyramidSquare14_MapAttributes: @ 8469F48 + .4byte 0x8 + .4byte 0x8 + .4byte BattlePyramidSquare14_MapBorder + .4byte BattlePyramidSquare14_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePyramid + + .align 2 +BattlePyramidSquare15_MapBorder: @ 8469F60 + .incbin "data/maps/BattlePyramidSquare15/border.bin" + + .align 2 +BattlePyramidSquare15_MapBlockdata: @ 8469F68 + .incbin "data/maps/BattlePyramidSquare15/map.bin" + + .align 2 +BattlePyramidSquare15_MapAttributes: @ 8469FE8 + .4byte 0x8 + .4byte 0x8 + .4byte BattlePyramidSquare15_MapBorder + .4byte BattlePyramidSquare15_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePyramid + + .align 2 +BattlePyramidSquare16_MapBorder: @ 846A000 + .incbin "data/maps/BattlePyramidSquare16/border.bin" + + .align 2 +BattlePyramidSquare16_MapBlockdata: @ 846A008 + .incbin "data/maps/BattlePyramidSquare16/map.bin" + + .align 2 +BattlePyramidSquare16_MapAttributes: @ 846A088 + .4byte 0x8 + .4byte 0x8 + .4byte BattlePyramidSquare16_MapBorder + .4byte BattlePyramidSquare16_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePyramid + + .align 2 +BattleFrontier_BattlePyramidTop_MapBorder: @ 846A0A0 + .incbin "data/maps/BattleFrontier_BattlePyramidTop/border.bin" + + .align 2 +BattleFrontier_BattlePyramidTop_MapBlockdata: @ 846A0A8 + .incbin "data/maps/BattleFrontier_BattlePyramidTop/map.bin" + + .align 2 +BattleFrontier_BattlePyramidTop_MapAttributes: @ 846A6C4 + .4byte 0x22 + .4byte 0x17 + .4byte BattleFrontier_BattlePyramidTop_MapBorder + .4byte BattleFrontier_BattlePyramidTop_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattlePyramid + + .align 2 +MagmaHideout_3F_3R_MapBorder: @ 846A6DC + .incbin "data/maps/MagmaHideout_3F_3R/border.bin" + + .align 2 +MagmaHideout_3F_3R_MapBlockdata: @ 846A6E4 + .incbin "data/maps/MagmaHideout_3F_3R/map.bin" + + .align 2 +MagmaHideout_3F_3R_MapAttributes: @ 846AD14 + .4byte 0x21 + .4byte 0x18 + .4byte MagmaHideout_3F_3R_MapBorder + .4byte MagmaHideout_3F_3R_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lavaridge + + .align 2 +MagmaHideout_2F_3R_MapBorder: @ 846AD2C + .incbin "data/maps/MagmaHideout_2F_3R/border.bin" + + .align 2 +MagmaHideout_2F_3R_MapBlockdata: @ 846AD34 + .incbin "data/maps/MagmaHideout_2F_3R/map.bin" + + .align 2 +MagmaHideout_2F_3R_MapAttributes: @ 846B61C + .4byte 0x3c + .4byte 0x13 + .4byte MagmaHideout_2F_3R_MapBorder + .4byte MagmaHideout_2F_3R_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lavaridge + + .align 2 +MirageTower_1F_MapBorder: @ 846B634 + .incbin "data/maps/MirageTower_1F/border.bin" + + .align 2 +MirageTower_1F_MapBlockdata: @ 846B63C + .incbin "data/maps/MirageTower_1F/map.bin" + + .align 2 +MirageTower_1F_MapAttributes: @ 846B908 + .4byte 0x15 + .4byte 0x11 + .4byte MirageTower_1F_MapBorder + .4byte MirageTower_1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_MirageTower + + .align 2 +MirageTower_2F_MapBorder: @ 846B920 + .incbin "data/maps/MirageTower_2F/border.bin" + + .align 2 +MirageTower_2F_MapBlockdata: @ 846B928 + .incbin "data/maps/MirageTower_2F/map.bin" + + .align 2 +MirageTower_2F_MapAttributes: @ 846BBF4 + .4byte 0x15 + .4byte 0x11 + .4byte MirageTower_2F_MapBorder + .4byte MirageTower_2F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_MirageTower + + .align 2 +MirageTower_3F_MapBorder: @ 846BC0C + .incbin "data/maps/MirageTower_3F/border.bin" + + .align 2 +MirageTower_3F_MapBlockdata: @ 846BC14 + .incbin "data/maps/MirageTower_3F/map.bin" + + .align 2 +MirageTower_3F_MapAttributes: @ 846BEE0 + .4byte 0x15 + .4byte 0x11 + .4byte MirageTower_3F_MapBorder + .4byte MirageTower_3F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_MirageTower + + .align 2 +FallarborTown_BattleTentLobby_MapBorder: @ 846BEF8 + .incbin "data/maps/FallarborTown_BattleTentLobby/border.bin" + + .align 2 +FallarborTown_BattleTentLobby_MapBlockdata: @ 846BF00 + .incbin "data/maps/FallarborTown_BattleTentLobby/map.bin" + + .align 2 +FallarborTown_BattleTentLobby_MapAttributes: @ 846C004 +SlateportCity_BattleTentLobby_MapAttributes: @ 846C004 +VerdanturfTown_BattleTentLobby_MapAttributes: @ 846C004 + .4byte 0xd + .4byte 0xa + .4byte FallarborTown_BattleTentLobby_MapBorder + .4byte FallarborTown_BattleTentLobby_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleTent + + .align 2 +FallarborTown_BattleTentCorridor_MapBorder: @ 846C01C + .incbin "data/maps/FallarborTown_BattleTentCorridor/border.bin" + + .align 2 +FallarborTown_BattleTentCorridor_MapBlockdata: @ 846C024 + .incbin "data/maps/FallarborTown_BattleTentCorridor/map.bin" + + .align 2 +FallarborTown_BattleTentCorridor_MapAttributes: @ 846C074 +SlateportCity_BattleTentCorridor_MapAttributes: @ 846C074 +VerdanturfTown_BattleTentCorridor_MapAttributes: @ 846C074 + .4byte 0x5 + .4byte 0x8 + .4byte FallarborTown_BattleTentCorridor_MapBorder + .4byte FallarborTown_BattleTentCorridor_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleTent + + .align 2 +FallarborTown_BattleTentBattleRoom_MapBorder: @ 846C08C + .incbin "data/maps/FallarborTown_BattleTentBattleRoom/border.bin" + + .align 2 +FallarborTown_BattleTentBattleRoom_MapBlockdata: @ 846C094 + .incbin "data/maps/FallarborTown_BattleTentBattleRoom/map.bin" + + .align 2 +FallarborTown_BattleTentBattleRoom_MapAttributes: @ 846C148 +SlateportCity_BattleTentBattleRoom_MapAttributes: @ 846C148 + .4byte 0xa + .4byte 0x9 + .4byte FallarborTown_BattleTentBattleRoom_MapBorder + .4byte FallarborTown_BattleTentBattleRoom_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleTent + + .align 2 +VerdanturfTown_BattleTentBattleRoom_MapBorder: @ 846C160 + .incbin "data/maps/VerdanturfTown_BattleTentBattleRoom/border.bin" + + .align 2 +VerdanturfTown_BattleTentBattleRoom_MapBlockdata: @ 846C168 + .incbin "data/maps/VerdanturfTown_BattleTentBattleRoom/map.bin" + + .align 2 +VerdanturfTown_BattleTentBattleRoom_MapAttributes: @ 846C254 + .4byte 0xd + .4byte 0x9 + .4byte VerdanturfTown_BattleTentBattleRoom_MapBorder + .4byte VerdanturfTown_BattleTentBattleRoom_MapBlockdata + .4byte gTileset_General + .4byte gTileset_BattleTent + + .align 2 +MirageTower_4F_MapBorder: @ 846C26C + .incbin "data/maps/MirageTower_4F/border.bin" + + .align 2 +MirageTower_4F_MapBlockdata: @ 846C274 + .incbin "data/maps/MirageTower_4F/map.bin" + + .align 2 +MirageTower_4F_MapAttributes: @ 846C378 + .4byte 0xd + .4byte 0xa + .4byte MirageTower_4F_MapBorder + .4byte MirageTower_4F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_MirageTower + + .align 2 +DesertUnderpass_MapBorder: @ 846C390 + .incbin "data/maps/DesertUnderpass/border.bin" + + .align 2 +DesertUnderpass_MapBlockdata: @ 846C398 + .incbin "data/maps/DesertUnderpass/map.bin" + + .align 2 +DesertUnderpass_MapAttributes: @ 846DC94 + .4byte 0x8b + .4byte 0x17 + .4byte DesertUnderpass_MapBorder + .4byte DesertUnderpass_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +BattleFrontier_BattleTowerMultiBattleRoom_MapBorder: @ 846DCAC + .incbin "data/maps/BattleFrontier_BattleTowerMultiBattleRoom/border.bin" + + .align 2 +BattleFrontier_BattleTowerMultiBattleRoom_MapBlockdata: @ 846DCB4 + .incbin "data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.bin" + + .align 2 +BattleFrontier_BattleTowerMultiBattleRoom_MapAttributes: @ 846DF2C + .4byte 0x15 + .4byte 0xf + .4byte BattleFrontier_BattleTowerMultiBattleRoom_MapBorder + .4byte BattleFrontier_BattleTowerMultiBattleRoom_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleFrontier + + .align 2 +BattleFrontier_BattleTowerCorridor2_MapBorder: @ 846DF44 + .incbin "data/maps/BattleFrontier_BattleTowerCorridor2/border.bin" + + .align 2 +BattleFrontier_BattleTowerCorridor2_MapBlockdata: @ 846DF4C + .incbin "data/maps/BattleFrontier_BattleTowerCorridor2/map.bin" + + .align 2 +BattleFrontier_BattleTowerCorridor2_MapAttributes: @ 846DFF8 + .4byte 0x11 + .4byte 0x5 + .4byte BattleFrontier_BattleTowerCorridor2_MapBorder + .4byte BattleFrontier_BattleTowerCorridor2_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleFrontier + + .align 2 +UnknownMapBorder_08470BD8: @ 846E010 + .incbin "data/maps/UnknownMap_08470BD8/border.bin" + + .align 2 +UnknownMapBlockdata_08470BD8: @ 846E018 + .incbin "data/maps/UnknownMap_08470BD8/map.bin" + + .align 2 +UnknownMapAttributes_08470BD8: @ 8470BD8 + .4byte 0x28 + .4byte 0x8C + .4byte UnknownMapBorder_08470BD8 + .4byte UnknownMapBlockdata_08470BD8 + .4byte gTileset_General + .4byte gTileset_Mauville + + .align 2 +UnionRoom_MapBorder: @ 8470BF0 + .incbin "data/maps/UnionRoom/border.bin" + + .align 2 +UnionRoom_MapBlockdata: @ 8470BF8 + .incbin "data/maps/UnionRoom/map.bin" + + .align 2 +UnionRoom_MapAttributes: @ 8470D60 + .4byte 0xf + .4byte 0xc + .4byte UnionRoom_MapBorder + .4byte UnionRoom_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_UnionRoom + + .align 2 +SafariZone_Northeast_MapBorder: @ 8470D78 + .incbin "data/maps/SafariZone_Northeast/border.bin" + + .align 2 +SafariZone_Northeast_MapBlockdata: @ 8470D80 + .incbin "data/maps/SafariZone_Northeast/map.bin" + + .align 2 +SafariZone_Northeast_MapAttributes: @ 8471A00 + .4byte 0x28 + .4byte 0x28 + .4byte SafariZone_Northeast_MapBorder + .4byte SafariZone_Northeast_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lilycove + + .align 2 +SafariZone_Southeast_MapBorder: @ 8471A18 + .incbin "data/maps/SafariZone_Southeast/border.bin" + + .align 2 +SafariZone_Southeast_MapBlockdata: @ 8471A20 + .incbin "data/maps/SafariZone_Southeast/map.bin" + + .align 2 +SafariZone_Southeast_MapAttributes: @ 84726A0 + .4byte 0x28 + .4byte 0x28 + .4byte SafariZone_Southeast_MapBorder + .4byte SafariZone_Southeast_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Lilycove + + .align 2 +BattleFrontier_RankingHall_MapBorder: @ 84726B8 + .incbin "data/maps/BattleFrontier_RankingHall/border.bin" + + .align 2 +BattleFrontier_RankingHall_MapBlockdata: @ 84726C0 + .incbin "data/maps/BattleFrontier_RankingHall/map.bin" + + .align 2 +BattleFrontier_RankingHall_MapAttributes: @ 8472CF8 + .4byte 0x35 + .4byte 0xf + .4byte BattleFrontier_RankingHall_MapBorder + .4byte BattleFrontier_RankingHall_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleFrontierRankingHall + + .align 2 +BattleFrontier_Lounge2_MapBorder: @ 8472D10 + .incbin "data/maps/BattleFrontier_Lounge2/border.bin" + + .align 2 +BattleFrontier_Lounge2_MapBlockdata: @ 8472D18 + .incbin "data/maps/BattleFrontier_Lounge2/map.bin" + + .align 2 +BattleFrontier_Lounge2_MapAttributes: @ 8472DE8 +BattleFrontier_Lounge5_MapAttributes: @ 8472DE8 + .4byte 0xd + .4byte 0x8 + .4byte BattleFrontier_Lounge2_MapBorder + .4byte BattleFrontier_Lounge2_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleFrontier + + .align 2 +BattleFrontier_BattlePointExchangeServiceCorner_MapBorder: @ 8472E00 + .incbin "data/maps/BattleFrontier_BattlePointExchangeServiceCorner/border.bin" + + .align 2 +BattleFrontier_BattlePointExchangeServiceCorner_MapBlockdata: @ 8472E08 + .incbin "data/maps/BattleFrontier_BattlePointExchangeServiceCorner/map.bin" + + .align 2 +BattleFrontier_BattlePointExchangeServiceCorner_MapAttributes: @ 8472F54 + .4byte 0xf + .4byte 0xb + .4byte BattleFrontier_BattlePointExchangeServiceCorner_MapBorder + .4byte BattleFrontier_BattlePointExchangeServiceCorner_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleFrontier + + .align 2 +BattleFrontier_ReceptionGate_MapBorder: @ 8472F6C + .incbin "data/maps/BattleFrontier_ReceptionGate/border.bin" + + .align 2 +BattleFrontier_ReceptionGate_MapBlockdata: @ 8472F74 + .incbin "data/maps/BattleFrontier_ReceptionGate/map.bin" + + .align 2 +BattleFrontier_ReceptionGate_MapAttributes: @ 8473070 + .4byte 0x9 + .4byte 0xe + .4byte BattleFrontier_ReceptionGate_MapBorder + .4byte BattleFrontier_ReceptionGate_MapBlockdata + .4byte gTileset_General + .4byte gTileset_BattleFrontier + + .align 2 +ArtisanCave_B1F_MapBorder: @ 8473088 + .incbin "data/maps/ArtisanCave_B1F/border.bin" + + .align 2 +ArtisanCave_B1F_MapBlockdata: @ 8473090 + .incbin "data/maps/ArtisanCave_B1F/map.bin" + + .align 2 +ArtisanCave_B1F_MapAttributes: @ 84743F8 + .4byte 0x2e + .4byte 0x36 + .4byte ArtisanCave_B1F_MapBorder + .4byte ArtisanCave_B1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +ArtisanCave_1F_MapBorder: @ 8474410 + .incbin "data/maps/ArtisanCave_1F/border.bin" + + .align 2 +ArtisanCave_1F_MapBlockdata: @ 8474418 + .incbin "data/maps/ArtisanCave_1F/map.bin" + + .align 2 +ArtisanCave_1F_MapAttributes: @ 84747B4 + .4byte 0x15 + .4byte 0x16 + .4byte ArtisanCave_1F_MapBorder + .4byte ArtisanCave_1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +FarawayIsland_Entrance_MapBorder: @ 84747CC + .incbin "data/maps/FarawayIsland_Entrance/border.bin" + + .align 2 +FarawayIsland_Entrance_MapBlockdata: @ 84747D4 + .incbin "data/maps/FarawayIsland_Entrance/map.bin" + + .align 2 +FarawayIsland_Entrance_MapAttributes: @ 847540C + .4byte 0x22 + .4byte 0x2e + .4byte FarawayIsland_Entrance_MapBorder + .4byte FarawayIsland_Entrance_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Rustboro + + .align 2 +FarawayIsland_Interior_MapBorder: @ 8475424 + .incbin "data/maps/FarawayIsland_Interior/border.bin" + + .align 2 +FarawayIsland_Interior_MapBlockdata: @ 847542C + .incbin "data/maps/FarawayIsland_Interior/map.bin" + + .align 2 +FarawayIsland_Interior_MapAttributes: @ 8475A10 + .4byte 0x1d + .4byte 0x1a + .4byte FarawayIsland_Interior_MapBorder + .4byte FarawayIsland_Interior_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Fortree + + .align 2 +BirthIsland_Exterior_MapBorder: @ 8475A28 + .incbin "data/maps/BirthIsland_Exterior/border.bin" + + .align 2 +BirthIsland_Exterior_MapBlockdata: @ 8475A30 + .incbin "data/maps/BirthIsland_Exterior/map.bin" + + .align 2 +BirthIsland_Exterior_MapAttributes: @ 8476138 + .4byte 0x1e + .4byte 0x1e + .4byte BirthIsland_Exterior_MapBorder + .4byte BirthIsland_Exterior_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Dewford + + .align 2 +BirthIsland_Harbor_MapBorder: @ 8476150 + .incbin "data/maps/BirthIsland_Harbor/border.bin" + + .align 2 +BirthIsland_Harbor_MapBlockdata: @ 8476158 + .incbin "data/maps/BirthIsland_Harbor/map.bin" + + .align 2 +BirthIsland_Harbor_MapAttributes: @ 8476314 +NavelRock_Harbor_MapAttributes: @ 8476314 + .4byte 0x11 + .4byte 0xd + .4byte BirthIsland_Harbor_MapBorder + .4byte BirthIsland_Harbor_MapBlockdata + .4byte gTileset_General + .4byte gTileset_IslandHarbor + + .align 2 +Underwater_MarineCave_MapBorder: @ 847632C + .incbin "data/maps/Underwater_MarineCave/border.bin" + + .align 2 +Underwater_MarineCave_MapBlockdata: @ 8476334 + .incbin "data/maps/Underwater_MarineCave/map.bin" + + .align 2 +Underwater_MarineCave_MapAttributes: @ 84764C4 + .4byte 0x14 + .4byte 0xa + .4byte Underwater_MarineCave_MapBorder + .4byte Underwater_MarineCave_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Underwater + + .align 2 +MarineCave_Entrance_MapBorder: @ 84764DC + .incbin "data/maps/MarineCave_Entrance/border.bin" + + .align 2 +MarineCave_Entrance_MapBlockdata: @ 84764E4 + .incbin "data/maps/MarineCave_Entrance/map.bin" + + .align 2 +MarineCave_Entrance_MapAttributes: @ 8476804 + .4byte 0x14 + .4byte 0x14 + .4byte MarineCave_Entrance_MapBorder + .4byte MarineCave_Entrance_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +TerraCave_Entrance_MapBorder: @ 847681C + .incbin "data/maps/TerraCave_Entrance/border.bin" + + .align 2 +TerraCave_Entrance_MapBlockdata: @ 8476824 + .incbin "data/maps/TerraCave_Entrance/map.bin" + + .align 2 +TerraCave_Entrance_MapAttributes: @ 8476B44 + .4byte 0x14 + .4byte 0x14 + .4byte TerraCave_Entrance_MapBorder + .4byte TerraCave_Entrance_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +TerraCave_End_MapBorder: @ 8476B5C + .incbin "data/maps/TerraCave_End/border.bin" + + .align 2 +TerraCave_End_MapBlockdata: @ 8476B64 + .incbin "data/maps/TerraCave_End/map.bin" + + .align 2 +TerraCave_End_MapAttributes: @ 84771B8 + .4byte 0x1b + .4byte 0x1e + .4byte TerraCave_End_MapBorder + .4byte TerraCave_End_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +Underwater6_MapBorder: @ 84771D0 + .incbin "data/maps/Underwater6/border.bin" + + .align 2 +Underwater6_MapBlockdata: @ 84771D8 + .incbin "data/maps/Underwater6/map.bin" + + .align 2 +Underwater6_MapAttributes: @ 8478AD8 + .4byte 0x28 + .4byte 0x50 + .4byte Underwater6_MapBorder + .4byte Underwater6_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Underwater + + .align 2 +Underwater7_MapBorder: @ 8478AF0 + .incbin "data/maps/Underwater7/border.bin" + + .align 2 +Underwater7_MapBlockdata: @ 8478AF8 + .incbin "data/maps/Underwater7/map.bin" + + .align 2 +Underwater7_MapAttributes: @ 847A3F8 + .4byte 0x50 + .4byte 0x28 + .4byte Underwater7_MapBorder + .4byte Underwater7_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Underwater + + .align 2 +Underwater5_MapBorder: @ 847A410 + .incbin "data/maps/Underwater5/border.bin" + + .align 2 +Underwater5_MapBlockdata: @ 847A418 + .incbin "data/maps/Underwater5/map.bin" + + .align 2 +Underwater5_MapAttributes: @ 847BD18 + .4byte 0x50 + .4byte 0x28 + .4byte Underwater5_MapBorder + .4byte Underwater5_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Underwater + + .align 2 +MarineCave_End_MapBorder: @ 847BD30 + .incbin "data/maps/MarineCave_End/border.bin" + + .align 2 +MarineCave_End_MapBlockdata: @ 847BD38 + .incbin "data/maps/MarineCave_End/map.bin" + + .align 2 +MarineCave_End_MapAttributes: @ 847C38C + .4byte 0x1b + .4byte 0x1e + .4byte MarineCave_End_MapBorder + .4byte MarineCave_End_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +TrainerHill_Entrance_MapBorder: @ 847C3A4 + .incbin "data/maps/TrainerHill_Entrance/border.bin" + + .align 2 +TrainerHill_Entrance_MapBlockdata: @ 847C3AC + .incbin "data/maps/TrainerHill_Entrance/map.bin" + + .align 2 +TrainerHill_Entrance_MapAttributes: @ 847C634 + .4byte 0x13 + .4byte 0x11 + .4byte TrainerHill_Entrance_MapBorder + .4byte TrainerHill_Entrance_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_TrainerHill + + .align 2 +TrainerHill_1F_MapBorder: @ 847C64C + .incbin "data/maps/TrainerHill_1F/border.bin" + + .align 2 +TrainerHill_1F_MapBlockdata: @ 847C654 + .incbin "data/maps/TrainerHill_1F/map.bin" + + .align 2 +TrainerHill_1F_MapAttributes: @ 847C8F4 + .4byte 0x10 + .4byte 0x15 + .4byte TrainerHill_1F_MapBorder + .4byte TrainerHill_1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_TrainerHill + + .align 2 +TrainerHill_2F_MapBorder: @ 847C90C + .incbin "data/maps/TrainerHill_2F/border.bin" + + .align 2 +TrainerHill_2F_MapBlockdata: @ 847C914 + .incbin "data/maps/TrainerHill_2F/map.bin" + + .align 2 +TrainerHill_2F_MapAttributes: @ 847CBB4 + .4byte 0x10 + .4byte 0x15 + .4byte TrainerHill_2F_MapBorder + .4byte TrainerHill_2F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_TrainerHill + + .align 2 +TrainerHill_3F_MapBorder: @ 847CBCC + .incbin "data/maps/TrainerHill_3F/border.bin" + + .align 2 +TrainerHill_3F_MapBlockdata: @ 847CBD4 + .incbin "data/maps/TrainerHill_3F/map.bin" + + .align 2 +TrainerHill_3F_MapAttributes: @ 847CE74 + .4byte 0x10 + .4byte 0x15 + .4byte TrainerHill_3F_MapBorder + .4byte TrainerHill_3F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_TrainerHill + + .align 2 +TrainerHill_4F_MapBorder: @ 847CE8C + .incbin "data/maps/TrainerHill_4F/border.bin" + + .align 2 +TrainerHill_4F_MapBlockdata: @ 847CE94 + .incbin "data/maps/TrainerHill_4F/map.bin" + + .align 2 +TrainerHill_4F_MapAttributes: @ 847D134 + .4byte 0x10 + .4byte 0x15 + .4byte TrainerHill_4F_MapBorder + .4byte TrainerHill_4F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_TrainerHill + + .align 2 +TrainerHill_Roof_MapBorder: @ 847D14C + .incbin "data/maps/TrainerHill_Roof/border.bin" + + .align 2 +TrainerHill_Roof_MapBlockdata: @ 847D154 + .incbin "data/maps/TrainerHill_Roof/map.bin" + + .align 2 +TrainerHill_Roof_MapAttributes: @ 847D474 + .4byte 0x19 + .4byte 0x10 + .4byte TrainerHill_Roof_MapBorder + .4byte TrainerHill_Roof_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_TrainerHill + + .align 2 +AlteringCave_MapBorder: @ 847D48C + .incbin "data/maps/AlteringCave/border.bin" + + .align 2 +AlteringCave_MapBlockdata: @ 847D494 + .incbin "data/maps/AlteringCave/map.bin" + + .align 2 +AlteringCave_MapAttributes: @ 847DA94 + .4byte 0x20 + .4byte 0x18 + .4byte AlteringCave_MapBorder + .4byte AlteringCave_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Cave + + .align 2 +NavelRock_Exterior_MapBorder: @ 847DAAC + .incbin "data/maps/NavelRock_Exterior/border.bin" + + .align 2 +NavelRock_Exterior_MapBlockdata: @ 847DAB4 + .incbin "data/maps/NavelRock_Exterior/map.bin" + + .align 2 +NavelRock_Exterior_MapAttributes: @ 847DEA4 + .4byte 0x15 + .4byte 0x18 + .4byte NavelRock_Exterior_MapBorder + .4byte NavelRock_Exterior_MapBlockdata + .4byte gTileset_General + .4byte gTileset_Dewford + + .align 2 +NavelRock_Entrance_MapBorder: @ 847DEBC + .incbin "data/maps/NavelRock_Entrance/border.bin" + + .align 2 +NavelRock_Entrance_MapBlockdata: @ 847DEC4 + .incbin "data/maps/NavelRock_Entrance/map.bin" + + .align 2 +NavelRock_Entrance_MapAttributes: @ 847E404 + .4byte 0x15 + .4byte 0x20 + .4byte NavelRock_Entrance_MapBorder + .4byte NavelRock_Entrance_MapBlockdata + .4byte gTileset_General + .4byte gTileset_NavelRock + + .align 2 +NavelRock_Top_MapBorder: @ 847E41C + .incbin "data/maps/NavelRock_Top/border.bin" + + .align 2 +NavelRock_Top_MapBlockdata: @ 847E424 + .incbin "data/maps/NavelRock_Top/map.bin" + + .align 2 +NavelRock_Top_MapAttributes: @ 847E99C + .4byte 0x19 + .4byte 0x1c + .4byte NavelRock_Top_MapBorder + .4byte NavelRock_Top_MapBlockdata + .4byte gTileset_General + .4byte gTileset_NavelRock + + .align 2 +NavelRock_Bottom_MapBorder: @ 847E9B4 + .incbin "data/maps/NavelRock_Bottom/border.bin" + + .align 2 +NavelRock_Bottom_MapBlockdata: @ 847E9BC + .incbin "data/maps/NavelRock_Bottom/map.bin" + + .align 2 +NavelRock_Bottom_MapAttributes: @ 847ED84 + .4byte 0x16 + .4byte 0x16 + .4byte NavelRock_Bottom_MapBorder + .4byte NavelRock_Bottom_MapBlockdata + .4byte gTileset_General + .4byte gTileset_NavelRock + + .align 2 +NavelRock_Up1_MapBorder: @ 847ED9C + .incbin "data/maps/NavelRock_Up1/border.bin" + + .align 2 +NavelRock_Up1_MapBlockdata: @ 847EDA4 + .incbin "data/maps/NavelRock_Up1/map.bin" + + .align 2 +NavelRock_Down01_MapAttributes: @ 847EE34 +NavelRock_Down03_MapAttributes: @ 847EE34 +NavelRock_Down05_MapAttributes: @ 847EE34 +NavelRock_Down07_MapAttributes: @ 847EE34 +NavelRock_Down09_MapAttributes: @ 847EE34 +NavelRock_Down11_MapAttributes: @ 847EE34 +NavelRock_Up1_MapAttributes: @ 847EE34 +NavelRock_Up3_MapAttributes: @ 847EE34 + .4byte 0x9 + .4byte 0x8 + .4byte NavelRock_Up1_MapBorder + .4byte NavelRock_Up1_MapBlockdata + .4byte gTileset_General + .4byte gTileset_NavelRock + + .align 2 +NavelRock_Up2_MapBorder: @ 847EE4C + .incbin "data/maps/NavelRock_Up2/border.bin" + + .align 2 +NavelRock_Up2_MapBlockdata: @ 847EE54 + .incbin "data/maps/NavelRock_Up2/map.bin" + + .align 2 +NavelRock_Down02_MapAttributes: @ 847EEE4 +NavelRock_Down04_MapAttributes: @ 847EEE4 +NavelRock_Down06_MapAttributes: @ 847EEE4 +NavelRock_Down08_MapAttributes: @ 847EEE4 +NavelRock_Down10_MapAttributes: @ 847EEE4 +NavelRock_Up2_MapAttributes: @ 847EEE4 +NavelRock_Up4_MapAttributes: @ 847EEE4 + .4byte 0x9 + .4byte 0x8 + .4byte NavelRock_Up2_MapBorder + .4byte NavelRock_Up2_MapBlockdata + .4byte gTileset_General + .4byte gTileset_NavelRock + + .align 2 +NavelRock_B1F_MapBorder: @ 847EEFC + .incbin "data/maps/NavelRock_B1F/border.bin" + + .align 2 +NavelRock_B1F_MapBlockdata: @ 847EF04 + .incbin "data/maps/NavelRock_B1F/map.bin" + + .align 2 +NavelRock_B1F_MapAttributes: @ 847F100 + .4byte 0x17 + .4byte 0xb + .4byte NavelRock_B1F_MapBorder + .4byte NavelRock_B1F_MapBlockdata + .4byte gTileset_General + .4byte gTileset_NavelRock + + .align 2 +NavelRock_Fork_MapBorder: @ 847F118 + .incbin "data/maps/NavelRock_Fork/border.bin" + + .align 2 +NavelRock_Fork_MapBlockdata: @ 847F120 + .incbin "data/maps/NavelRock_Fork/map.bin" + + .align 2 +NavelRock_Fork_MapAttributes: @ 8480344 + .4byte 0x1b + .4byte 0x56 + .4byte NavelRock_Fork_MapBorder + .4byte NavelRock_Fork_MapBlockdata + .4byte gTileset_General + .4byte gTileset_NavelRock + + .align 2 +BattleFrontier_Lounge1_MapBorder: @ 848035C + .incbin "data/maps/BattleFrontier_Lounge1/border.bin" + + .align 2 +BattleFrontier_Lounge1_MapBlockdata: @ 8480364 + .incbin "data/maps/BattleFrontier_Lounge1/map.bin" + + .align 2 +BattleFrontier_Lounge1_MapAttributes: @ 8480418 +BattleFrontier_Lounge3_MapAttributes: @ 8480418 +BattleFrontier_Lounge4_MapAttributes: @ 8480418 +BattleFrontier_Lounge6_MapAttributes: @ 8480418 +BattleFrontier_Lounge7_MapAttributes: @ 8480418 +BattleFrontier_Lounge8_MapAttributes: @ 8480418 +BattleFrontier_Lounge9_MapAttributes: @ 8480418 + .4byte 0x9 + .4byte 0xa + .4byte BattleFrontier_Lounge1_MapBorder + .4byte BattleFrontier_Lounge1_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleFrontier + + .align 2 +BattleFrontier_ScottsHouse_MapBorder: @ 8480430 + .incbin "data/maps/BattleFrontier_ScottsHouse/border.bin" + + .align 2 +BattleFrontier_ScottsHouse_MapBlockdata: @ 8480438 + .incbin "data/maps/BattleFrontier_ScottsHouse/map.bin" + + .align 2 +BattleFrontier_ScottsHouse_MapAttributes: @ 8480498 + .4byte 0x6 + .4byte 0x8 + .4byte BattleFrontier_ScottsHouse_MapBorder + .4byte BattleFrontier_ScottsHouse_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_BattleFrontier + + .align 2 +MeteorFalls_StevensCave_MapBorder: @ 84804B0 + .incbin "data/maps/MeteorFalls_StevensCave/border.bin" + + .align 2 +MeteorFalls_StevensCave_MapBlockdata: @ 84804B8 + .incbin "data/maps/MeteorFalls_StevensCave/map.bin" + + .align 2 +MeteorFalls_StevensCave_MapAttributes: @ 8480C38 + .4byte 0x1e + .4byte 0x20 + .4byte MeteorFalls_StevensCave_MapBorder + .4byte MeteorFalls_StevensCave_MapBlockdata + .4byte gTileset_General + .4byte gTileset_MeteorFalls + + .align 2 +UnknownMapBorder_08480DAC: @ 8480C50 + .incbin "data/maps/UnknownMap_08480DAC/border.bin" + + .align 2 +UnknownMapBlockdata_08480DAC: @ 8480C58 + .incbin "data/maps/UnknownMap_08480DAC/map.bin" + + .align 2 +UnknownMapAttributes_08480DAC: @ 8480DAC + .4byte 0xD + .4byte 0xD + .4byte UnknownMapBorder_08480DAC + .4byte UnknownMapBlockdata_08480DAC + .4byte gTileset_Building + .4byte gTileset_Lab + + .align 2 +UnknownMapBorder_08480F54: @ 8480DC4 + .incbin "data/maps/UnknownMap_08480F54/border.bin" + + .align 2 +UnknownMapBlockdata_08480F54: @ 8480DCC + .incbin "data/maps/UnknownMap_08480F54/map.bin" + + .align 2 +UnknownMapAttributes_08480F54: @ 8480F54 + .4byte 0xE + .4byte 0xE + .4byte UnknownMapBorder_08480F54 + .4byte UnknownMapBlockdata_08480F54 + .4byte gTileset_General + .4byte gTileset_Pacifidlog + + .align 2 +UnknownMapBorder_084810FC: @ 8480F6C + .incbin "data/maps/UnknownMap_084810FC/border.bin" + + .align 2 +UnknownMapBlockdata_084810FC: @ 8480F74 + .incbin "data/maps/UnknownMap_084810FC/map.bin" + + .align 2 +UnknownMapAttributes_084810FC: @ 84810FC + .4byte 0xE + .4byte 0xE + .4byte UnknownMapBorder_084810FC + .4byte UnknownMapBlockdata_084810FC + .4byte gTileset_General + .4byte gTileset_Pacifidlog + + .align 2 +UnknownMapBorder_084812A4: @ 8480F6C + .incbin "data/maps/UnknownMap_084812A4/border.bin" + + .align 2 +UnknownMapBlockdata_084812A4: @ 8480F74 + .incbin "data/maps/UnknownMap_084812A4/map.bin" + + .align 2 +UnknownMapAttributes_084812A4: @ 84812A4 + .4byte 0xE + .4byte 0xE + .4byte UnknownMapBorder_084812A4 + .4byte UnknownMapBlockdata_084812A4 + .4byte gTileset_General + .4byte gTileset_Pacifidlog + + .align 2 +UnknownMapBorder_0848144C: @ 848144C + .incbin "data/maps/UnknownMap_0848144C/border.bin" + + .align 2 +UnknownMapBlockdata_0848144C: @ 848144C + .incbin "data/maps/UnknownMap_0848144C/map.bin" + + .align 2 +UnknownMapAttributes_0848144C: @ 848144C + .4byte 0xE + .4byte 0xE + .4byte UnknownMapBorder_0848144C + .4byte UnknownMapBlockdata_0848144C + .4byte gTileset_General + .4byte gTileset_Pacifidlog + + .align 2 +UnknownMapBorder_084815F4: @ 848144C + .incbin "data/maps/UnknownMap_084815F4/border.bin" + + .align 2 +UnknownMapBlockdata_084815F4: @ 848144C + .incbin "data/maps/UnknownMap_084815F4/map.bin" + + .align 2 +UnknownMapAttributes_084815F4: @ 84815F4 + .4byte 0xE + .4byte 0xE + .4byte UnknownMapBorder_084815F4 + .4byte UnknownMapBlockdata_084815F4 + .4byte gTileset_General + .4byte gTileset_Pacifidlog + + .align 2 +UnknownMapBorder_08481B24: @ 848160C + .incbin "data/maps/UnknownMap_08481B24/border.bin" + + .align 2 +UnknownMapBlockdata_08481B24: @ 8481614 + .incbin "data/maps/UnknownMap_08481B24/map.bin" + + .align 2 +UnknownMapAttributes_08481B24: @ 8481B24 + .4byte 0x1B + .4byte 0x18 + .4byte UnknownMapBorder_08481B24 + .4byte UnknownMapBlockdata_08481B24 + .4byte gTileset_General + .4byte gTileset_Pacifidlog + + .align 2 +SootopolisCity_MysteryEventsHouse_1F_MapBorder: @ 8481B3C + .incbin "data/maps/SootopolisCity_MysteryEventsHouse_1F/border.bin" + + .align 2 +SootopolisCity_MysteryEventsHouse_1F_MapBlockdata: @ 8481B44 + .incbin "data/maps/SootopolisCity_MysteryEventsHouse_1F/map.bin" + + .align 2 +SootopolisCity_MysteryEventsHouse_1F_MapAttributes: @ 8481BF4 + .4byte 0xb + .4byte 0x8 + .4byte SootopolisCity_MysteryEventsHouse_1F_MapBorder + .4byte SootopolisCity_MysteryEventsHouse_1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_MysteryEventsHouse + + .align 2 +SootopolisCity_MysteryEventsHouse_B1F_MapBorder: @ 8481C0C + .incbin "data/maps/SootopolisCity_MysteryEventsHouse_B1F/border.bin" + + .align 2 +SootopolisCity_MysteryEventsHouse_B1F_MapBlockdata: @ 8481C14 + .incbin "data/maps/SootopolisCity_MysteryEventsHouse_B1F/map.bin" + + .align 2 +SootopolisCity_MysteryEventsHouse_B1F_MapAttributes: @ 8481CEC + .4byte 0xc + .4byte 0x9 + .4byte SootopolisCity_MysteryEventsHouse_B1F_MapBorder + .4byte SootopolisCity_MysteryEventsHouse_B1F_MapBlockdata + .4byte gTileset_Building + .4byte gTileset_MysteryEventsHouse + + .align 2 +UnknownMapBorder_08481DBC: @ 8481D04 + .incbin "data/maps/UnknownMap_08481DBC/border.bin" + + .align 2 +UnknownMapBlockdata_08481DBC: @ 8481D0C + .incbin "data/maps/UnknownMap_08481DBC/map.bin" + + .align 2 +UnknownMapAttributes_08481DBC: @ 8481DBC + .4byte 0xB + .4byte 0x8 + .4byte UnknownMapBorder_08481DBC + .4byte UnknownMapBlockdata_08481DBC + .4byte gTileset_Building + .4byte gTileset_MysteryEventsHouse diff --git a/data/maps/_groups.inc b/data/maps/_groups.inc new file mode 100644 index 0000000000..f7fc7be897 --- /dev/null +++ b/data/maps/_groups.inc @@ -0,0 +1,623 @@ +gMapGroup0: @ 8485D60 + .4byte PetalburgCity + .4byte SlateportCity + .4byte MauvilleCity + .4byte RustboroCity + .4byte FortreeCity + .4byte LilycoveCity + .4byte MossdeepCity + .4byte SootopolisCity + .4byte EverGrandeCity + .4byte LittlerootTown + .4byte OldaleTown + .4byte DewfordTown + .4byte LavaridgeTown + .4byte FallarborTown + .4byte VerdanturfTown + .4byte PacifidlogTown + .4byte Route101 + .4byte Route102 + .4byte Route103 + .4byte Route104 + .4byte Route105 + .4byte Route106 + .4byte Route107 + .4byte Route108 + .4byte Route109 + .4byte Route110 + .4byte Route111 + .4byte Route112 + .4byte Route113 + .4byte Route114 + .4byte Route115 + .4byte Route116 + .4byte Route117 + .4byte Route118 + .4byte Route119 + .4byte Route120 + .4byte Route121 + .4byte Route122 + .4byte Route123 + .4byte Route124 + .4byte Route125 + .4byte Route126 + .4byte Route127 + .4byte Route128 + .4byte Route129 + .4byte Route130 + .4byte Route131 + .4byte Route132 + .4byte Route133 + .4byte Route134 + .4byte Underwater1 + .4byte Underwater2 + .4byte Underwater3 + .4byte Underwater4 + .4byte Underwater5 + .4byte Underwater6 + .4byte Underwater7 + +gMapGroup1: @ 8485E44 + .4byte LittlerootTown_BrendansHouse_1F + .4byte LittlerootTown_BrendansHouse_2F + .4byte LittlerootTown_MaysHouse_1F + .4byte LittlerootTown_MaysHouse_2F + .4byte LittlerootTown_ProfessorBirchsLab + +gMapGroup2: @ 8485E58 + .4byte OldaleTown_House1 + .4byte OldaleTown_House2 + .4byte OldaleTown_PokemonCenter_1F + .4byte OldaleTown_PokemonCenter_2F + .4byte OldaleTown_Mart + +gMapGroup3: @ 8485E6C + .4byte DewfordTown_House1 + .4byte DewfordTown_PokemonCenter_1F + .4byte DewfordTown_PokemonCenter_2F + .4byte DewfordTown_Gym + .4byte DewfordTown_Hall + .4byte DewfordTown_House2 + +gMapGroup4: @ 8485E84 + .4byte LavaridgeTown_HerbShop + .4byte LavaridgeTown_Gym_1F + .4byte LavaridgeTown_Gym_B1F + .4byte LavaridgeTown_House + .4byte LavaridgeTown_Mart + .4byte LavaridgeTown_PokemonCenter_1F + .4byte LavaridgeTown_PokemonCenter_2F + +gMapGroup5: @ 8485EA0 + .4byte FallarborTown_Mart + .4byte FallarborTown_BattleTentLobby + .4byte FallarborTown_BattleTentCorridor + .4byte FallarborTown_BattleTentBattleRoom + .4byte FallarborTown_PokemonCenter_1F + .4byte FallarborTown_PokemonCenter_2F + .4byte FallarborTown_House1 + .4byte FallarborTown_House2 + +gMapGroup6: @ 8485EC0 + .4byte VerdanturfTown_BattleTentLobby + .4byte VerdanturfTown_BattleTentCorridor + .4byte VerdanturfTown_BattleTentBattleRoom + .4byte VerdanturfTown_Mart + .4byte VerdanturfTown_PokemonCenter_1F + .4byte VerdanturfTown_PokemonCenter_2F + .4byte VerdanturfTown_WandasHouse + .4byte VerdanturfTown_FriendshipRatersHouse + .4byte VerdanturfTown_House + +gMapGroup7: @ 8485EE4 + .4byte PacifidlogTown_PokemonCenter_1F + .4byte PacifidlogTown_PokemonCenter_2F + .4byte PacifidlogTown_House1 + .4byte PacifidlogTown_House2 + .4byte PacifidlogTown_House3 + .4byte PacifidlogTown_House4 + .4byte PacifidlogTown_House5 + +gMapGroup8: @ 8485F00 + .4byte PetalburgCity_WallysHouse + .4byte PetalburgCity_Gym + .4byte PetalburgCity_House1 + .4byte PetalburgCity_House2 + .4byte PetalburgCity_PokemonCenter_1F + .4byte PetalburgCity_PokemonCenter_2F + .4byte PetalburgCity_Mart + +gMapGroup9: @ 8485F1C + .4byte SlateportCity_SternsShipyard_1F + .4byte SlateportCity_SternsShipyard_2F + .4byte SlateportCity_BattleTentLobby + .4byte SlateportCity_BattleTentCorridor + .4byte SlateportCity_BattleTentBattleRoom + .4byte SlateportCity_House1 + .4byte SlateportCity_PokemonFanClub + .4byte SlateportCity_OceanicMuseum_1F + .4byte SlateportCity_OceanicMuseum_2F + .4byte SlateportCity_Harbor + .4byte SlateportCity_House2 + .4byte SlateportCity_PokemonCenter_1F + .4byte SlateportCity_PokemonCenter_2F + .4byte SlateportCity_Mart + +gMapGroup10: @ 8485F54 + .4byte MauvilleCity_Gym + .4byte MauvilleCity_BikeShop + .4byte MauvilleCity_House1 + .4byte MauvilleCity_GameCorner + .4byte MauvilleCity_House2 + .4byte MauvilleCity_PokemonCenter_1F + .4byte MauvilleCity_PokemonCenter_2F + .4byte MauvilleCity_Mart + +gMapGroup11: @ 8485F74 + .4byte RustboroCity_DevonCorp_1F + .4byte RustboroCity_DevonCorp_2F + .4byte RustboroCity_DevonCorp_3F + .4byte RustboroCity_Gym + .4byte RustboroCity_PokemonSchool + .4byte RustboroCity_PokemonCenter_1F + .4byte RustboroCity_PokemonCenter_2F + .4byte RustboroCity_Mart + .4byte RustboroCity_Flat1_1F + .4byte RustboroCity_Flat1_2F + .4byte RustboroCity_House1 + .4byte RustboroCity_CuttersHouse + .4byte RustboroCity_House2 + .4byte RustboroCity_Flat2_1F + .4byte RustboroCity_Flat2_2F + .4byte RustboroCity_Flat2_3F + .4byte RustboroCity_House3 + +gMapGroup12: @ 8485FB8 + .4byte FortreeCity_House1 + .4byte FortreeCity_Gym + .4byte FortreeCity_PokemonCenter_1F + .4byte FortreeCity_PokemonCenter_2F + .4byte FortreeCity_Mart + .4byte FortreeCity_House2 + .4byte FortreeCity_House3 + .4byte FortreeCity_House4 + .4byte FortreeCity_House5 + .4byte FortreeCity_DecorationShop + +gMapGroup13: @ 8485FE0 + .4byte LilycoveCity_CoveLilyMotel_1F + .4byte LilycoveCity_CoveLilyMotel_2F + .4byte LilycoveCity_LilycoveMuseum_1F + .4byte LilycoveCity_LilycoveMuseum_2F + .4byte LilycoveCity_ContestLobby + .4byte LilycoveCity_ContestHall + .4byte LilycoveCity_PokemonCenter_1F + .4byte LilycoveCity_PokemonCenter_2F + .4byte LilycoveCity_UnusedMart + .4byte LilycoveCity_PokemonTrainerFanClub + .4byte LilycoveCity_Harbor + .4byte LilycoveCity_MoveDeletersHouse + .4byte LilycoveCity_House1 + .4byte LilycoveCity_House2 + .4byte LilycoveCity_House3 + .4byte LilycoveCity_House4 + .4byte LilycoveCity_DepartmentStore_1F + .4byte LilycoveCity_DepartmentStore_2F + .4byte LilycoveCity_DepartmentStore_3F + .4byte LilycoveCity_DepartmentStore_4F + .4byte LilycoveCity_DepartmentStore_5F + .4byte LilycoveCity_DepartmentStoreRooftop + .4byte LilycoveCity_DepartmentStoreElevator + +gMapGroup14: @ 848603C + .4byte MossdeepCity_Gym + .4byte MossdeepCity_House1 + .4byte MossdeepCity_House2 + .4byte MossdeepCity_PokemonCenter_1F + .4byte MossdeepCity_PokemonCenter_2F + .4byte MossdeepCity_Mart + .4byte MossdeepCity_House3 + .4byte MossdeepCity_StevensHouse + .4byte MossdeepCity_House4 + .4byte MossdeepCity_SpaceCenter_1F + .4byte MossdeepCity_SpaceCenter_2F + .4byte MossdeepCity_GameCorner_1F + .4byte MossdeepCity_GameCorner_B1F + +gMapGroup15: @ 8486070 + .4byte SootopolisCity_Gym_1F + .4byte SootopolisCity_Gym_B1F + .4byte SootopolisCity_PokemonCenter_1F + .4byte SootopolisCity_PokemonCenter_2F + .4byte SootopolisCity_Mart + .4byte SootopolisCity_House1 + .4byte SootopolisCity_House2 + .4byte SootopolisCity_House3 + .4byte SootopolisCity_House4 + .4byte SootopolisCity_House5 + .4byte SootopolisCity_House6 + .4byte SootopolisCity_House7 + .4byte SootopolisCity_LotadAndSeedotHouse + .4byte SootopolisCity_MysteryEventsHouse_1F + .4byte SootopolisCity_MysteryEventsHouse_B1F + +gMapGroup16: @ 84860AC + .4byte EverGrandeCity_SidneysRoom + .4byte EverGrandeCity_PhoebesRoom + .4byte EverGrandeCity_GlaciasRoom + .4byte EverGrandeCity_DrakesRoom + .4byte EverGrandeCity_ChampionsRoom + .4byte EverGrandeCity_Hall1 + .4byte EverGrandeCity_Hall2 + .4byte EverGrandeCity_Hall3 + .4byte EverGrandeCity_Hall4 + .4byte EverGrandeCity_Hall5 + .4byte EverGrandeCity_PokemonLeague_1F + .4byte EverGrandeCity_HallOfFame + .4byte EverGrandeCity_PokemonCenter_1F + .4byte EverGrandeCity_PokemonCenter_2F + .4byte EverGrandeCity_PokemonLeague_2F + +gMapGroup17: @ 84860E8 + .4byte Route104_MrBrineysHouse + .4byte Route104_PrettyPetalFlowerShop + +gMapGroup18: @ 84860F0 + .4byte Route111_WinstrateFamilysHouse + .4byte Route111_OldLadysRestStop + +gMapGroup19: @ 84860F8 + .4byte Route112_CableCarStation + .4byte MtChimney_CableCarStation + +gMapGroup20: @ 8486100 + .4byte Route114_FossilManiacsHouse + .4byte Route114_FossilManiacsTunnel + .4byte Route114_LanettesHouse + +gMapGroup21: @ 848610C + .4byte Route116_TunnelersRestHouse + +gMapGroup22: @ 8486110 + .4byte Route117_PokemonDayCare + +gMapGroup23: @ 8486114 + .4byte Route121_SafariZoneEntrance + +gMapGroup24: @ 8486118 + .4byte MeteorFalls_1F_1R + .4byte MeteorFalls_1F_2R + .4byte MeteorFalls_B1F_1R + .4byte MeteorFalls_B1F_2R + .4byte RusturfTunnel + .4byte Underwater_SootopolisCity + .4byte DesertRuins + .4byte GraniteCave_1F + .4byte GraniteCave_B1F + .4byte GraniteCave_B2F + .4byte GraniteCave_StevensRoom + .4byte PetalburgWoods + .4byte MtChimney + .4byte JaggedPass + .4byte FieryPath + .4byte MtPyre_1F + .4byte MtPyre_2F + .4byte MtPyre_3F + .4byte MtPyre_4F + .4byte MtPyre_5F + .4byte MtPyre_6F + .4byte MtPyre_Exterior + .4byte MtPyre_Summit + .4byte AquaHideout_1F + .4byte AquaHideout_B1F + .4byte AquaHideout_B2F + .4byte Underwater_SeafloorCavern + .4byte SeafloorCavern_Entrance + .4byte SeafloorCavern_Room1 + .4byte SeafloorCavern_Room2 + .4byte SeafloorCavern_Room3 + .4byte SeafloorCavern_Room4 + .4byte SeafloorCavern_Room5 + .4byte SeafloorCavern_Room6 + .4byte SeafloorCavern_Room7 + .4byte SeafloorCavern_Room8 + .4byte SeafloorCavern_Room9 + .4byte CaveOfOrigin_Entrance + .4byte CaveOfOrigin_1F + .4byte CaveOfOrigin_UnusedRubySapphireMap1 + .4byte CaveOfOrigin_UnusedRubySapphireMap2 + .4byte CaveOfOrigin_UnusedRubySapphireMap3 + .4byte CaveOfOrigin_B1F + .4byte VictoryRoad_1F + .4byte VictoryRoad_B1F + .4byte VictoryRoad_B2F + .4byte ShoalCave_LowTideEntranceRoom + .4byte ShoalCave_LowTideInnerRoom + .4byte ShoalCave_LowTideStairsRoom + .4byte ShoalCave_LowTideLowerRoom + .4byte ShoalCave_HighTideEntranceRoom + .4byte ShoalCave_HighTideInnerRoom + .4byte NewMauville_Entrance + .4byte NewMauville_Inside + .4byte AbandonedShip_Deck + .4byte AbandonedShip_Corridors_1F + .4byte AbandonedShip_Rooms_1F + .4byte AbandonedShip_Corridors_B1F + .4byte AbandonedShip_Rooms_B1F + .4byte AbandonedShip_Rooms2_B1F + .4byte AbandonedShip_Underwater1 + .4byte AbandonedShip_Room_B1F + .4byte AbandonedShip_Rooms2_1F + .4byte AbandonedShip_CaptainsOffice + .4byte AbandonedShip_Underwater2 + .4byte AbandonedShip_HiddenFloorCorridors + .4byte AbandonedShip_HiddenFloorRooms + .4byte IslandCave + .4byte AncientTomb + .4byte Underwater_Route134 + .4byte Underwater_SealedChamber + .4byte SealedChamber_OuterRoom + .4byte SealedChamber_InnerRoom + .4byte ScorchedSlab + .4byte AquaHideout_UnusedRubyMap1 + .4byte AquaHideout_UnusedRubyMap2 + .4byte AquaHideout_UnusedRubyMap3 + .4byte SkyPillar_Entrance + .4byte SkyPillar_Outside + .4byte SkyPillar_1F + .4byte SkyPillar_2F + .4byte SkyPillar_3F + .4byte SkyPillar_4F + .4byte ShoalCave_LowTideIceRoom + .4byte SkyPillar_5F + .4byte SkyPillar_Top + .4byte MagmaHideout_1F + .4byte MagmaHideout_2F_1R + .4byte MagmaHideout_2F_2R + .4byte MagmaHideout_3F_1R + .4byte MagmaHideout_3F_2R + .4byte MagmaHideout_4F + .4byte MagmaHideout_3F_3R + .4byte MagmaHideout_2F_3R + .4byte MirageTower_1F + .4byte MirageTower_2F + .4byte MirageTower_3F + .4byte MirageTower_4F + .4byte DesertUnderpass + .4byte ArtisanCave_B1F + .4byte ArtisanCave_1F + .4byte Underwater_MarineCave + .4byte MarineCave_Entrance + .4byte MarineCave_End + .4byte TerraCave_Entrance + .4byte TerraCave_End + .4byte AlteringCave + .4byte MeteorFalls_StevensCave + +gMapGroup25: @ 84862C8 + .4byte SecretBase_RedCave1 + .4byte SecretBase_BrownCave1 + .4byte SecretBase_BlueCave1 + .4byte SecretBase_YellowCave1 + .4byte SecretBase_Tree1 + .4byte SecretBase_Shrub1 + .4byte SecretBase_RedCave2 + .4byte SecretBase_BrownCave2 + .4byte SecretBase_BlueCave2 + .4byte SecretBase_YellowCave2 + .4byte SecretBase_Tree2 + .4byte SecretBase_Shrub2 + .4byte SecretBase_RedCave3 + .4byte SecretBase_BrownCave3 + .4byte SecretBase_BlueCave3 + .4byte SecretBase_YellowCave3 + .4byte SecretBase_Tree3 + .4byte SecretBase_Shrub3 + .4byte SecretBase_RedCave4 + .4byte SecretBase_BrownCave4 + .4byte SecretBase_BlueCave4 + .4byte SecretBase_YellowCave4 + .4byte SecretBase_Tree4 + .4byte SecretBase_Shrub4 + .4byte SingleBattleColosseum + .4byte TradeCenter + .4byte RecordCorner + .4byte DoubleBattleColosseum + .4byte LinkContestRoom1 + .4byte UnknownMap_25_29 + .4byte UnknownMap_25_30 + .4byte UnknownMap_25_31 + .4byte UnknownMap_25_32 + .4byte UnknownMap_25_33 + .4byte UnknownMap_25_34 + .4byte LinkContestRoom2 + .4byte LinkContestRoom3 + .4byte LinkContestRoom4 + .4byte LinkContestRoom5 + .4byte LinkContestRoom6 + .4byte InsideOfTruck + .4byte SSTidalCorridor + .4byte SSTidalLowerDeck + .4byte SSTidalRooms + .4byte BattlePyramidSquare01 + .4byte BattlePyramidSquare02 + .4byte BattlePyramidSquare03 + .4byte BattlePyramidSquare04 + .4byte BattlePyramidSquare05 + .4byte BattlePyramidSquare06 + .4byte BattlePyramidSquare07 + .4byte BattlePyramidSquare08 + .4byte BattlePyramidSquare09 + .4byte BattlePyramidSquare10 + .4byte BattlePyramidSquare11 + .4byte BattlePyramidSquare12 + .4byte BattlePyramidSquare13 + .4byte BattlePyramidSquare14 + .4byte BattlePyramidSquare15 + .4byte BattlePyramidSquare16 + .4byte UnionRoom + +gMapGroup26: @ 84863BC + .4byte SafariZone_Northwest + .4byte SafariZone_North + .4byte SafariZone_Southwest + .4byte SafariZone_South + .4byte BattleFrontier_OutsideWest + .4byte BattleFrontier_BattleTowerLobby + .4byte BattleFrontier_BattleTowerElevator + .4byte BattleFrontier_BattleTowerCorridor + .4byte BattleFrontier_BattleTowerBattleRoom + .4byte SouthernIsland_Exterior + .4byte SouthernIsland_Interior + .4byte SafariZone_RestHouse + .4byte SafariZone_Northeast + .4byte SafariZone_Southeast + .4byte BattleFrontier_OutsideEast + .4byte BattleFrontier_BattleTowerMultiBattleRoom + .4byte BattleFrontier_BattleTowerCorridor2 + .4byte BattleFrontier_BattleTowerBattleRoom2 + .4byte BattleFrontier_BattleDomeLobby + .4byte BattleFrontier_BattleDomeCorridor + .4byte BattleFrontier_BattleDomePreBattleRoom + .4byte BattleFrontier_BattleDomeBattleRoom + .4byte BattleFrontier_BattlePalaceLobby + .4byte BattleFrontier_BattlePalaceCorridor + .4byte BattleFrontier_BattlePalaceBattleRoom + .4byte BattleFrontier_BattlePyramidLobby + .4byte BattleFrontier_BattlePyramidEmptySquare + .4byte BattleFrontier_BattlePyramidTop + .4byte BattleFrontier_BattleArenaLobby + .4byte BattleFrontier_BattleArenaCorridor + .4byte BattleFrontier_BattleArenaBattleRoom + .4byte BattleFrontier_BattleFactoryLobby + .4byte BattleFrontier_BattleFactoryPreBattleRoom + .4byte BattleFrontier_BattleFactoryBattleRoom + .4byte BattleFrontier_BattlePikeLobby + .4byte BattleFrontier_BattlePikeCorridor + .4byte BattleFrontier_BattlePikeThreePathRoom + .4byte BattleFrontier_BattlePikeRandomRoom1 + .4byte BattleFrontier_BattlePikeRandomRoom2 + .4byte BattleFrontier_BattlePikeRandomRoom3 + .4byte BattleFrontier_RankingHall + .4byte BattleFrontier_Lounge1 + .4byte BattleFrontier_BattlePointExchangeServiceCorner + .4byte BattleFrontier_Lounge2 + .4byte BattleFrontier_Lounge3 + .4byte BattleFrontier_Lounge4 + .4byte BattleFrontier_ScottsHouse + .4byte BattleFrontier_Lounge5 + .4byte BattleFrontier_Lounge6 + .4byte BattleFrontier_Lounge7 + .4byte BattleFrontier_ReceptionGate + .4byte BattleFrontier_Lounge8 + .4byte BattleFrontier_Lounge9 + .4byte BattleFrontier_PokemonCenter_1F + .4byte BattleFrontier_PokemonCenter_2F + .4byte BattleFrontier_Mart + .4byte FarawayIsland_Entrance + .4byte FarawayIsland_Interior + .4byte BirthIsland_Exterior + .4byte BirthIsland_Harbor + .4byte TrainerHill_Entrance + .4byte TrainerHill_1F + .4byte TrainerHill_2F + .4byte TrainerHill_3F + .4byte TrainerHill_4F + .4byte TrainerHill_Roof + .4byte NavelRock_Exterior + .4byte NavelRock_Harbor + .4byte NavelRock_Entrance + .4byte NavelRock_B1F + .4byte NavelRock_Fork + .4byte NavelRock_Up1 + .4byte NavelRock_Up2 + .4byte NavelRock_Up3 + .4byte NavelRock_Up4 + .4byte NavelRock_Top + .4byte NavelRock_Down01 + .4byte NavelRock_Down02 + .4byte NavelRock_Down03 + .4byte NavelRock_Down04 + .4byte NavelRock_Down05 + .4byte NavelRock_Down06 + .4byte NavelRock_Down07 + .4byte NavelRock_Down08 + .4byte NavelRock_Down09 + .4byte NavelRock_Down10 + .4byte NavelRock_Down11 + .4byte NavelRock_Bottom + .4byte TrainerHill_Elevator + +gMapGroup27: @ 8486520 + .4byte Route104_Prototype + .4byte Route104_PrototypePrettyPetalFlowerShop + +gMapGroup28: @ 8486528 + .4byte Route109_SeashoreHouse + +gMapGroup29: @ 848652C + .4byte Route110_TrickHouseEntrance + .4byte Route110_TrickHouseEnd + .4byte Route110_TrickHouseCorridor + .4byte Route110_TrickHousePuzzle1 + .4byte Route110_TrickHousePuzzle2 + .4byte Route110_TrickHousePuzzle3 + .4byte Route110_TrickHousePuzzle4 + .4byte Route110_TrickHousePuzzle5 + .4byte Route110_TrickHousePuzzle6 + .4byte Route110_TrickHousePuzzle7 + .4byte Route110_TrickHousePuzzle8 + .4byte Route110_SeasideCyclingRoadEntrance1 + .4byte Route110_SeasideCyclingRoadEntrance2 + +gMapGroup30: @ 8486560 + .4byte Route113_GlassWorkshop + +gMapGroup31: @ 8486564 + .4byte Route123_BerryMastersHouse + +gMapGroup32: @ 8486568 + .4byte Route119_WeatherInstitute_1F + .4byte Route119_WeatherInstitute_2F + .4byte Route119_House + +gMapGroup33: @ 8486574 + .4byte Route124_DivingTreasureHuntersHouse + + .align 2 +gMapGroups:: @ 8486578 + .4byte gMapGroup0 + .4byte gMapGroup1 + .4byte gMapGroup2 + .4byte gMapGroup3 + .4byte gMapGroup4 + .4byte gMapGroup5 + .4byte gMapGroup6 + .4byte gMapGroup7 + .4byte gMapGroup8 + .4byte gMapGroup9 + .4byte gMapGroup10 + .4byte gMapGroup11 + .4byte gMapGroup12 + .4byte gMapGroup13 + .4byte gMapGroup14 + .4byte gMapGroup15 + .4byte gMapGroup16 + .4byte gMapGroup17 + .4byte gMapGroup18 + .4byte gMapGroup19 + .4byte gMapGroup20 + .4byte gMapGroup21 + .4byte gMapGroup22 + .4byte gMapGroup23 + .4byte gMapGroup24 + .4byte gMapGroup25 + .4byte gMapGroup26 + .4byte gMapGroup27 + .4byte gMapGroup28 + .4byte gMapGroup29 + .4byte gMapGroup30 + .4byte gMapGroup31 + .4byte gMapGroup32 + .4byte gMapGroup33 + diff --git a/data/maps/attributes_table.inc b/data/maps/attributes_table.inc new file mode 100644 index 0000000000..ef25ba2b5a --- /dev/null +++ b/data/maps/attributes_table.inc @@ -0,0 +1,444 @@ + .align 2 +gMapAttributes:: @ 8481DD4 + .4byte PetalburgCity_MapAttributes + .4byte SlateportCity_MapAttributes + .4byte MauvilleCity_MapAttributes + .4byte RustboroCity_MapAttributes + .4byte FortreeCity_MapAttributes + .4byte LilycoveCity_MapAttributes + .4byte MossdeepCity_MapAttributes + .4byte SootopolisCity_MapAttributes + .4byte EverGrandeCity_MapAttributes + .4byte LittlerootTown_MapAttributes + .4byte OldaleTown_MapAttributes + .4byte DewfordTown_MapAttributes + .4byte LavaridgeTown_MapAttributes + .4byte FallarborTown_MapAttributes + .4byte VerdanturfTown_MapAttributes + .4byte PacifidlogTown_MapAttributes + .4byte Route101_MapAttributes + .4byte Route102_MapAttributes + .4byte Route103_MapAttributes + .4byte Route104_MapAttributes + .4byte Route105_MapAttributes + .4byte Route106_MapAttributes + .4byte Route107_MapAttributes + .4byte Route108_MapAttributes + .4byte Route109_MapAttributes + .4byte Route110_MapAttributes + .4byte Route111_MapAttributes + .4byte Route112_MapAttributes + .4byte Route113_MapAttributes + .4byte Route114_MapAttributes + .4byte Route115_MapAttributes + .4byte Route116_MapAttributes + .4byte Route117_MapAttributes + .4byte Route118_MapAttributes + .4byte Route119_MapAttributes + .4byte Route120_MapAttributes + .4byte Route121_MapAttributes + .4byte Route122_MapAttributes + .4byte Route123_MapAttributes + .4byte Route124_MapAttributes + .4byte Route125_MapAttributes + .4byte Route126_MapAttributes + .4byte Route127_MapAttributes + .4byte Route128_MapAttributes + .4byte Route129_MapAttributes + .4byte UnknownMapAttributes_08417FC4 + .4byte Route131_MapAttributes + .4byte Route132_MapAttributes + .4byte Route133_MapAttributes + .4byte Route134_MapAttributes + .4byte Underwater2_MapAttributes + .4byte Underwater3_MapAttributes + .4byte Underwater4_MapAttributes + .4byte LittlerootTown_BrendansHouse_1F_MapAttributes + .4byte LittlerootTown_BrendansHouse_2F_MapAttributes + .4byte LittlerootTown_MaysHouse_1F_MapAttributes + .4byte LittlerootTown_MaysHouse_2F_MapAttributes + .4byte LittlerootTown_ProfessorBirchsLab_MapAttributes + .4byte OldaleTown_House1_MapAttributes + .4byte OldaleTown_House2_MapAttributes + .4byte OldaleTown_PokemonCenter_1F_MapAttributes + .4byte OldaleTown_PokemonCenter_2F_MapAttributes + .4byte OldaleTown_Mart_MapAttributes + .4byte DewfordTown_House1_MapAttributes + .4byte DewfordTown_Gym_MapAttributes + .4byte DewfordTown_Hall_MapAttributes + .4byte DewfordTown_House2_MapAttributes + .4byte LavaridgeTown_HerbShop_MapAttributes + .4byte LavaridgeTown_Gym_1F_MapAttributes + .4byte LavaridgeTown_Gym_B1F_MapAttributes + .4byte LavaridgeTown_PokemonCenter_1F_MapAttributes + .4byte FallarborTown_LeftoverRSContestLobby_MapAttributes + .4byte FallarborTown_LeftoverRSContestHall_MapAttributes + .4byte LilycoveCity_House2_MapAttributes + .4byte UnknownMapAttributes_08428450 + .4byte VerdanturfTown_WandasHouse_MapAttributes + .4byte PacifidlogTown_House1_MapAttributes + .4byte PacifidlogTown_House2_MapAttributes + .4byte PetalburgCity_Gym_MapAttributes + .4byte MossdeepCity_House4_MapAttributes + .4byte SlateportCity_SternsShipyard_1F_MapAttributes + .4byte SlateportCity_SternsShipyard_2F_MapAttributes + .4byte UnknownMapAttributes_084294C4 + .4byte UnknownMapAttributes_084294E8 + .4byte SlateportCity_PokemonFanClub_MapAttributes + .4byte SlateportCity_OceanicMuseum_1F_MapAttributes + .4byte SlateportCity_OceanicMuseum_2F_MapAttributes + .4byte LilycoveCity_Harbor_MapAttributes + .4byte MauvilleCity_Gym_MapAttributes + .4byte MauvilleCity_BikeShop_MapAttributes + .4byte MauvilleCity_GameCorner_MapAttributes + .4byte RustboroCity_DevonCorp_1F_MapAttributes + .4byte RustboroCity_DevonCorp_2F_MapAttributes + .4byte RustboroCity_Gym_MapAttributes + .4byte RustboroCity_PokemonSchool_MapAttributes + .4byte RustboroCity_House2_MapAttributes + .4byte RustboroCity_House1_MapAttributes + .4byte RustboroCity_CuttersHouse_MapAttributes + .4byte FortreeCity_House1_MapAttributes + .4byte FortreeCity_Gym_MapAttributes + .4byte FortreeCity_House2_MapAttributes + .4byte Route104_MrBrineysHouse_MapAttributes + .4byte LilycoveCity_LilycoveMuseum_1F_MapAttributes + .4byte LilycoveCity_LilycoveMuseum_2F_MapAttributes + .4byte LilycoveCity_ContestLobby_MapAttributes + .4byte LilycoveCity_ContestHall_MapAttributes + .4byte LilycoveCity_PokemonTrainerFanClub_MapAttributes + .4byte MossdeepCity_Gym_MapAttributes + .4byte SootopolisCity_Gym_1F_MapAttributes + .4byte SootopolisCity_Gym_B1F_MapAttributes + .4byte EverGrandeCity_SidneysRoom_MapAttributes + .4byte EverGrandeCity_PhoebesRoom_MapAttributes + .4byte EverGrandeCity_GlaciasRoom_MapAttributes + .4byte EverGrandeCity_DrakesRoom_MapAttributes + .4byte EverGrandeCity_ChampionsRoom_MapAttributes + .4byte EverGrandeCity_Hall1_MapAttributes + .4byte Route104_PrettyPetalFlowerShop_MapAttributes + .4byte Route112_CableCarStation_MapAttributes + .4byte Route114_FossilManiacsHouse_MapAttributes + .4byte Route114_FossilManiacsTunnel_MapAttributes + .4byte Route114_LanettesHouse_MapAttributes + .4byte Route116_TunnelersRestHouse_MapAttributes + .4byte Route117_PokemonDayCare_MapAttributes + .4byte Route121_SafariZoneEntrance_MapAttributes + .4byte MeteorFalls_1F_1R_MapAttributes + .4byte MeteorFalls_1F_2R_MapAttributes + .4byte MeteorFalls_B1F_1R_MapAttributes + .4byte MeteorFalls_B1F_2R_MapAttributes + .4byte RusturfTunnel_MapAttributes + .4byte Underwater_SootopolisCity_MapAttributes + .4byte DesertRuins_MapAttributes + .4byte GraniteCave_1F_MapAttributes + .4byte GraniteCave_B1F_MapAttributes + .4byte GraniteCave_B2F_MapAttributes + .4byte PetalburgWoods_MapAttributes + .4byte MtChimney_MapAttributes + .4byte MtPyre_1F_MapAttributes + .4byte MtPyre_2F_MapAttributes + .4byte MtPyre_3F_MapAttributes + .4byte MtPyre_4F_MapAttributes + .4byte MtPyre_5F_MapAttributes + .4byte MtPyre_6F_MapAttributes + .4byte AquaHideout_1F_MapAttributes + .4byte AquaHideout_B1F_MapAttributes + .4byte AquaHideout_B2F_MapAttributes + .4byte Underwater_SeafloorCavern_MapAttributes + .4byte SeafloorCavern_Entrance_MapAttributes + .4byte SeafloorCavern_Room1_MapAttributes + .4byte SeafloorCavern_Room2_MapAttributes + .4byte SeafloorCavern_Room3_MapAttributes + .4byte SeafloorCavern_Room4_MapAttributes + .4byte SeafloorCavern_Room5_MapAttributes + .4byte SeafloorCavern_Room6_MapAttributes + .4byte SeafloorCavern_Room7_MapAttributes + .4byte SeafloorCavern_Room8_MapAttributes + .4byte SeafloorCavern_Room9_MapAttributes + .4byte CaveOfOrigin_Entrance_MapAttributes + .4byte CaveOfOrigin_1F_MapAttributes + .4byte CaveOfOrigin_UnusedRubySapphireMap1_MapAttributes + .4byte CaveOfOrigin_UnusedRubySapphireMap2_MapAttributes + .4byte CaveOfOrigin_UnusedRubySapphireMap3_MapAttributes + .4byte CaveOfOrigin_B1F_MapAttributes + .4byte VictoryRoad_1F_MapAttributes + .4byte ShoalCave_LowTideEntranceRoom_MapAttributes + .4byte ShoalCave_LowTideInnerRoom_MapAttributes + .4byte ShoalCave_LowTideStairsRoom_MapAttributes + .4byte ShoalCave_LowTideLowerRoom_MapAttributes + .4byte ShoalCave_HighTideEntranceRoom_MapAttributes + .4byte ShoalCave_HighTideInnerRoom_MapAttributes + .4byte UnknownMapAttributes_0843E6C0 @ unused maps + .4byte UnknownMapAttributes_0843E6E4 + .4byte UnknownMapAttributes_0843E708 + .4byte UnknownMapAttributes_0843E72C + .4byte UnknownMapAttributes_0843E750 + .4byte UnknownMapAttributes_0843E774 + .4byte UnknownMapAttributes_0843E798 + .4byte UnknownMapAttributes_0843E7BC + .4byte UnknownMapAttributes_0843E7E0 + .4byte UnknownMapAttributes_0843E804 + .4byte UnknownMapAttributes_0843E828 + .4byte UnknownMapAttributes_0843E84C + .4byte UnknownMapAttributes_0843E870 + .4byte UnknownMapAttributes_0843E894 + .4byte NewMauville_Entrance_MapAttributes + .4byte NewMauville_Inside_MapAttributes + .4byte AbandonedShip_Deck_MapAttributes + .4byte AbandonedShip_Corridors_1F_MapAttributes + .4byte AbandonedShip_Rooms_1F_MapAttributes + .4byte AbandonedShip_Corridors_B1F_MapAttributes + .4byte AbandonedShip_Rooms_B1F_MapAttributes + .4byte AbandonedShip_Rooms2_B1F_MapAttributes + .4byte AbandonedShip_Underwater1_MapAttributes + .4byte AbandonedShip_Room_B1F_MapAttributes + .4byte AbandonedShip_Rooms2_1F_MapAttributes + .4byte AbandonedShip_CaptainsOffice_MapAttributes + .4byte AbandonedShip_Underwater2_MapAttributes + .4byte SecretBase_RedCave1_MapAttributes + .4byte SecretBase_BrownCave1_MapAttributes + .4byte SecretBase_BlueCave1_MapAttributes + .4byte SecretBase_YellowCave1_MapAttributes + .4byte SecretBase_Tree1_MapAttributes + .4byte SecretBase_Shrub1_MapAttributes + .4byte SecretBase_RedCave2_MapAttributes + .4byte SecretBase_BrownCave2_MapAttributes + .4byte SecretBase_BlueCave2_MapAttributes + .4byte SecretBase_YellowCave2_MapAttributes + .4byte SecretBase_Tree2_MapAttributes + .4byte SecretBase_Shrub2_MapAttributes + .4byte SecretBase_RedCave3_MapAttributes + .4byte SecretBase_BrownCave3_MapAttributes + .4byte SecretBase_BlueCave3_MapAttributes + .4byte SecretBase_YellowCave3_MapAttributes + .4byte SecretBase_Tree3_MapAttributes + .4byte SecretBase_Shrub3_MapAttributes + .4byte SecretBase_RedCave4_MapAttributes + .4byte SecretBase_BrownCave4_MapAttributes + .4byte SecretBase_BlueCave4_MapAttributes + .4byte SecretBase_YellowCave4_MapAttributes + .4byte SecretBase_Tree4_MapAttributes + .4byte SecretBase_Shrub4_MapAttributes + .4byte SingleBattleColosseum_MapAttributes + .4byte TradeCenter_MapAttributes + .4byte RecordCorner_MapAttributes + .4byte DoubleBattleColosseum_MapAttributes + .4byte LinkContestRoom1_MapAttributes + .4byte UnknownMap_25_29_MapAttributes + .4byte UnknownMap_25_30_MapAttributes + .4byte UnknownMap_25_31_MapAttributes + .4byte UnknownMap_25_32_MapAttributes + .4byte UnknownMap_25_33_MapAttributes + .4byte UnknownMap_25_34_MapAttributes + .4byte LinkContestRoom2_MapAttributes + .4byte LinkContestRoom3_MapAttributes + .4byte LinkContestRoom4_MapAttributes + .4byte LinkContestRoom5_MapAttributes + .4byte LinkContestRoom6_MapAttributes + .4byte InsideOfTruck_MapAttributes + .4byte SafariZone_Northwest_MapAttributes + .4byte SafariZone_North_MapAttributes + .4byte SafariZone_Southwest_MapAttributes + .4byte SafariZone_South_MapAttributes + .4byte UnknownMapAttributes_08447028 + .4byte Route109_SeashoreHouse_MapAttributes + .4byte Route110_TrickHouseEntrance_MapAttributes + .4byte Route110_TrickHouseEnd_MapAttributes + .4byte Route110_TrickHouseCorridor_MapAttributes + .4byte Route110_TrickHousePuzzle1_MapAttributes + .4byte Route110_TrickHousePuzzle2_MapAttributes + .4byte Route110_TrickHousePuzzle3_MapAttributes + .4byte Route110_TrickHousePuzzle4_MapAttributes + .4byte Route110_TrickHousePuzzle5_MapAttributes + .4byte Route110_TrickHousePuzzle6_MapAttributes + .4byte Route110_TrickHousePuzzle7_MapAttributes + .4byte Route110_TrickHousePuzzle8_MapAttributes + .4byte FortreeCity_DecorationShop_MapAttributes + .4byte Route110_SeasideCyclingRoadEntrance1_MapAttributes + .4byte LilycoveCity_DepartmentStore_1F_MapAttributes + .4byte LilycoveCity_DepartmentStore_2F_MapAttributes + .4byte LilycoveCity_DepartmentStore_3F_MapAttributes + .4byte LilycoveCity_DepartmentStore_4F_MapAttributes + .4byte LilycoveCity_DepartmentStore_5F_MapAttributes + .4byte LilycoveCity_DepartmentStoreRooftop_MapAttributes + .4byte Route130_MapAttributes + .4byte BattleFrontier_BattleTowerLobby_MapAttributes + .4byte BattleFrontier_OutsideWest_MapAttributes + .4byte BattleFrontier_BattleTowerElevator_MapAttributes + .4byte BattleFrontier_BattleTowerCorridor_MapAttributes + .4byte BattleFrontier_BattleTowerBattleRoom_MapAttributes + .4byte RustboroCity_DevonCorp_3F_MapAttributes + .4byte EverGrandeCity_PokemonLeague_1F_MapAttributes + .4byte Route119_WeatherInstitute_1F_MapAttributes + .4byte Route119_WeatherInstitute_2F_MapAttributes + .4byte LilycoveCity_DepartmentStoreElevator_MapAttributes + .4byte Underwater1_MapAttributes + .4byte MossdeepCity_SpaceCenter_1F_MapAttributes + .4byte MossdeepCity_SpaceCenter_2F_MapAttributes + .4byte SSTidalCorridor_MapAttributes + .4byte SSTidalLowerDeck_MapAttributes + .4byte SSTidalRooms_MapAttributes + .4byte IslandCave_MapAttributes + .4byte AncientTomb_MapAttributes + .4byte Underwater_Route134_MapAttributes + .4byte Underwater_SealedChamber_MapAttributes + .4byte SealedChamber_OuterRoom_MapAttributes + .4byte VictoryRoad_B1F_MapAttributes + .4byte VictoryRoad_B2F_MapAttributes + .4byte Route104_Prototype_MapAttributes + .4byte GraniteCave_StevensRoom_MapAttributes + .4byte AbandonedShip_HiddenFloorCorridors_MapAttributes + .4byte SouthernIsland_Exterior_MapAttributes + .4byte SouthernIsland_Interior_MapAttributes + .4byte JaggedPass_MapAttributes + .4byte FieryPath_MapAttributes + .4byte RustboroCity_Flat2_1F_MapAttributes + .4byte RustboroCity_Flat2_2F_MapAttributes + .4byte RustboroCity_Flat2_3F_MapAttributes + .4byte SootopolisCity_LotadAndSeedotHouse_MapAttributes + .4byte EverGrandeCity_HallOfFame_MapAttributes + .4byte LilycoveCity_CoveLilyMotel_1F_MapAttributes + .4byte LilycoveCity_CoveLilyMotel_2F_MapAttributes + .4byte Route124_DivingTreasureHuntersHouse_MapAttributes + .4byte MtPyre_Exterior_MapAttributes + .4byte MtPyre_Summit_MapAttributes + .4byte SealedChamber_InnerRoom_MapAttributes + .4byte MossdeepCity_GameCorner_1F_MapAttributes + .4byte MossdeepCity_GameCorner_B1F_MapAttributes + .4byte SootopolisCity_House1_MapAttributes + .4byte SootopolisCity_House2_MapAttributes + .4byte SootopolisCity_House3_MapAttributes + .4byte AbandonedShip_HiddenFloorRooms_MapAttributes + .4byte ScorchedSlab_MapAttributes + .4byte UnknownMapAttributes_0845A394 + .4byte RustboroCity_Flat1_1F_MapAttributes + .4byte RustboroCity_Flat1_2F_MapAttributes + .4byte EverGrandeCity_Hall4_MapAttributes + .4byte AquaHideout_UnusedRubyMap1_MapAttributes + .4byte AquaHideout_UnusedRubyMap2_MapAttributes + .4byte AquaHideout_UnusedRubyMap3_MapAttributes + .4byte UnknownMapAttributes_0845D470 + .4byte SkyPillar_Entrance_MapAttributes + .4byte SkyPillar_Outside_MapAttributes + .4byte SkyPillar_1F_MapAttributes + .4byte SkyPillar_2F_MapAttributes + .4byte SkyPillar_3F_MapAttributes + .4byte SkyPillar_4F_MapAttributes + .4byte UnknownMapAttributes_0845ECB4 + .4byte MossdeepCity_StevensHouse_MapAttributes + .4byte ShoalCave_LowTideIceRoom_MapAttributes + .4byte SafariZone_RestHouse_MapAttributes + .4byte SkyPillar_5F_MapAttributes + .4byte SkyPillar_Top_MapAttributes + .4byte BattleFrontier_BattleDomeLobby_MapAttributes + .4byte BattleFrontier_BattleDomeCorridor_MapAttributes + .4byte BattleFrontier_BattleDomePreBattleRoom_MapAttributes + .4byte BattleFrontier_BattleDomeBattleRoom_MapAttributes + .4byte MagmaHideout_1F_MapAttributes + .4byte MagmaHideout_2F_1R_MapAttributes + .4byte MagmaHideout_2F_2R_MapAttributes + .4byte MagmaHideout_3F_1R_MapAttributes + .4byte MagmaHideout_3F_2R_MapAttributes + .4byte MagmaHideout_4F_MapAttributes + .4byte BattleFrontier_BattlePalaceLobby_MapAttributes + .4byte BattleFrontier_BattlePalaceCorridor_MapAttributes + .4byte BattleFrontier_BattlePalaceBattleRoom_MapAttributes + .4byte BattleFrontier_OutsideEast_MapAttributes + .4byte BattleFrontier_BattleFactoryLobby_MapAttributes + .4byte BattleFrontier_BattleFactoryPreBattleRoom_MapAttributes + .4byte BattleFrontier_BattleFactoryBattleRoom_MapAttributes + .4byte BattleFrontier_BattlePikeLobby_MapAttributes + .4byte BattleFrontier_BattlePikeCorridor_MapAttributes + .4byte BattleFrontier_BattlePikeThreePathRoom_MapAttributes + .4byte BattleFrontier_BattlePikeRandomRoom1_MapAttributes + .4byte BattleFrontier_BattlePikeRandomRoom2_MapAttributes + .4byte BattleFrontier_BattleArenaLobby_MapAttributes + .4byte BattleFrontier_BattleArenaCorridor_MapAttributes + .4byte BattleFrontier_BattleArenaBattleRoom_MapAttributes + .4byte UnknownMapAttributes_08469200 + .4byte BattleFrontier_BattlePikeRandomRoom3_MapAttributes + .4byte UnknownMapAttributes_084693AC + .4byte BattleFrontier_BattlePyramidLobby_MapAttributes + .4byte BattleFrontier_BattlePyramidEmptySquare_MapAttributes + .4byte BattlePyramidSquare01_MapAttributes + .4byte BattlePyramidSquare02_MapAttributes + .4byte BattlePyramidSquare03_MapAttributes + .4byte BattlePyramidSquare04_MapAttributes + .4byte BattlePyramidSquare05_MapAttributes + .4byte BattlePyramidSquare06_MapAttributes + .4byte BattlePyramidSquare07_MapAttributes + .4byte BattlePyramidSquare08_MapAttributes + .4byte BattlePyramidSquare09_MapAttributes + .4byte BattlePyramidSquare10_MapAttributes + .4byte BattlePyramidSquare11_MapAttributes + .4byte BattlePyramidSquare12_MapAttributes + .4byte BattlePyramidSquare13_MapAttributes + .4byte BattlePyramidSquare14_MapAttributes + .4byte BattlePyramidSquare15_MapAttributes + .4byte BattlePyramidSquare16_MapAttributes + .4byte BattleFrontier_BattlePyramidTop_MapAttributes + .4byte MagmaHideout_3F_3R_MapAttributes + .4byte MagmaHideout_2F_3R_MapAttributes + .4byte MirageTower_1F_MapAttributes + .4byte MirageTower_2F_MapAttributes + .4byte MirageTower_3F_MapAttributes + .4byte FallarborTown_BattleTentLobby_MapAttributes + .4byte FallarborTown_BattleTentCorridor_MapAttributes + .4byte FallarborTown_BattleTentBattleRoom_MapAttributes + .4byte VerdanturfTown_BattleTentBattleRoom_MapAttributes + .4byte MirageTower_4F_MapAttributes + .4byte DesertUnderpass_MapAttributes + .4byte BattleFrontier_BattleTowerMultiBattleRoom_MapAttributes + .4byte BattleFrontier_BattleTowerCorridor2_MapAttributes + .4byte UnknownMapAttributes_08470BD8 + .4byte UnionRoom_MapAttributes + .4byte SafariZone_Northeast_MapAttributes + .4byte SafariZone_Southeast_MapAttributes + .4byte BattleFrontier_RankingHall_MapAttributes + .4byte BattleFrontier_Lounge2_MapAttributes + .4byte BattleFrontier_BattlePointExchangeServiceCorner_MapAttributes + .4byte BattleFrontier_ReceptionGate_MapAttributes + .4byte ArtisanCave_B1F_MapAttributes + .4byte ArtisanCave_1F_MapAttributes + .4byte FarawayIsland_Entrance_MapAttributes + .4byte FarawayIsland_Interior_MapAttributes + .4byte BirthIsland_Exterior_MapAttributes + .4byte BirthIsland_Harbor_MapAttributes + .4byte Underwater_MarineCave_MapAttributes + .4byte MarineCave_Entrance_MapAttributes + .4byte TerraCave_Entrance_MapAttributes + .4byte TerraCave_End_MapAttributes + .4byte Underwater6_MapAttributes + .4byte Underwater7_MapAttributes + .4byte Underwater5_MapAttributes + .4byte MarineCave_End_MapAttributes + .4byte TrainerHill_Entrance_MapAttributes + .4byte TrainerHill_1F_MapAttributes + .4byte TrainerHill_2F_MapAttributes + .4byte TrainerHill_3F_MapAttributes + .4byte TrainerHill_4F_MapAttributes + .4byte TrainerHill_Roof_MapAttributes + .4byte AlteringCave_MapAttributes + .4byte NavelRock_Exterior_MapAttributes + .4byte NavelRock_Entrance_MapAttributes + .4byte NavelRock_Top_MapAttributes + .4byte NavelRock_Bottom_MapAttributes + .4byte NavelRock_Up1_MapAttributes + .4byte NavelRock_Up2_MapAttributes + .4byte NavelRock_B1F_MapAttributes + .4byte NavelRock_Fork_MapAttributes + .4byte BattleFrontier_Lounge1_MapAttributes + .4byte BattleFrontier_ScottsHouse_MapAttributes + .4byte MeteorFalls_StevensCave_MapAttributes + .4byte UnknownMapAttributes_08480DAC + .4byte UnknownMapAttributes_08480F54 + .4byte UnknownMapAttributes_084810FC + .4byte UnknownMapAttributes_084812A4 + .4byte UnknownMapAttributes_0848144C + .4byte UnknownMapAttributes_084815F4 + .4byte UnknownMapAttributes_08481B24 + .4byte SootopolisCity_MysteryEventsHouse_1F_MapAttributes + .4byte SootopolisCity_MysteryEventsHouse_B1F_MapAttributes + .4byte UnknownMapAttributes_08481DBC + diff --git a/data/maps/connections.inc b/data/maps/connections.inc new file mode 100644 index 0000000000..a950249210 --- /dev/null +++ b/data/maps/connections.inc @@ -0,0 +1,65 @@ + .include "data/maps/LittlerootTown/connections.inc" + .include "data/maps/OldaleTown/connections.inc" + .include "data/maps/DewfordTown/connections.inc" + .include "data/maps/LavaridgeTown/connections.inc" + .include "data/maps/FallarborTown/connections.inc" + .include "data/maps/VerdanturfTown/connections.inc" + .include "data/maps/PacifidlogTown/connections.inc" + .include "data/maps/PetalburgCity/connections.inc" + .include "data/maps/SlateportCity/connections.inc" + .include "data/maps/MauvilleCity/connections.inc" + .include "data/maps/RustboroCity/connections.inc" + .include "data/maps/FortreeCity/connections.inc" + .include "data/maps/LilycoveCity/connections.inc" + .include "data/maps/MossdeepCity/connections.inc" + .include "data/maps/SootopolisCity/connections.inc" + .include "data/maps/EverGrandeCity/connections.inc" + .include "data/maps/Route101/connections.inc" + .include "data/maps/Route102/connections.inc" + .include "data/maps/Route103/connections.inc" + .include "data/maps/Route104/connections.inc" + .include "data/maps/Route105/connections.inc" + .include "data/maps/Route106/connections.inc" + .include "data/maps/Route107/connections.inc" + .include "data/maps/Route108/connections.inc" + .include "data/maps/Route109/connections.inc" + .include "data/maps/Route110/connections.inc" + .include "data/maps/Route111/connections.inc" + .include "data/maps/Route112/connections.inc" + .include "data/maps/Route113/connections.inc" + .include "data/maps/Route114/connections.inc" + .include "data/maps/Route115/connections.inc" + .include "data/maps/Route116/connections.inc" + .include "data/maps/Route117/connections.inc" + .include "data/maps/Route118/connections.inc" + .include "data/maps/Route119/connections.inc" + .include "data/maps/Route120/connections.inc" + .include "data/maps/Route121/connections.inc" + .include "data/maps/Route122/connections.inc" + .include "data/maps/Route123/connections.inc" + .include "data/maps/Route124/connections.inc" + .include "data/maps/Route125/connections.inc" + .include "data/maps/Route126/connections.inc" + .include "data/maps/Route127/connections.inc" + .include "data/maps/Route128/connections.inc" + .include "data/maps/Route129/connections.inc" + .include "data/maps/Route130/connections.inc" + .include "data/maps/Route131/connections.inc" + .include "data/maps/Route132/connections.inc" + .include "data/maps/Route133/connections.inc" + .include "data/maps/Route134/connections.inc" + .include "data/maps/Underwater6/connections.inc" + .include "data/maps/Underwater1/connections.inc" + .include "data/maps/Underwater7/connections.inc" + .include "data/maps/Underwater2/connections.inc" + .include "data/maps/Underwater3/connections.inc" + .include "data/maps/Underwater4/connections.inc" + .include "data/maps/Underwater5/connections.inc" + .include "data/maps/SafariZone_Northwest/connections.inc" + .include "data/maps/SafariZone_North/connections.inc" + .include "data/maps/SafariZone_Southwest/connections.inc" + .include "data/maps/SafariZone_South/connections.inc" + .include "data/maps/SafariZone_Northeast/connections.inc" + .include "data/maps/SafariZone_Southeast/connections.inc" + .include "data/maps/BattleFrontier_OutsideWest/connections.inc" + .include "data/maps/BattleFrontier_OutsideEast/connections.inc" diff --git a/data/maps/events/AbandonedShip_CaptainsOffice.inc b/data/maps/events/AbandonedShip_CaptainsOffice.inc new file mode 100644 index 0000000000..b2bc10ebb8 --- /dev/null +++ b/data/maps/events/AbandonedShip_CaptainsOffice.inc @@ -0,0 +1,11 @@ +AbandonedShip_CaptainsOffice_MapObjects: @ 8536A5C + object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 3, 4, 3, 8, 0, 0, 0, 0, AbandonedShip_CaptainsOffice_EventScript_2387E2, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 6, 3, 1, 17, 0, 0, 0, AbandonedShip_CaptainsOffice_EventScript_29126E, 1100, 0, 0 + +AbandonedShip_CaptainsOffice_MapWarps: @ 8536A8C + warp_def 7, 6, 3, 4, ABANDONED_SHIP_DECK + warp_def 8, 6, 3, 4, ABANDONED_SHIP_DECK + +AbandonedShip_CaptainsOffice_MapEvents:: @ 8536A9C + map_events AbandonedShip_CaptainsOffice_MapObjects, AbandonedShip_CaptainsOffice_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/AbandonedShip_Corridors_1F.inc b/data/maps/events/AbandonedShip_Corridors_1F.inc new file mode 100644 index 0000000000..a2b3b906fd --- /dev/null +++ b/data/maps/events/AbandonedShip_Corridors_1F.inc @@ -0,0 +1,21 @@ +AbandonedShip_Corridors_1F_MapObjects: @ 85366C0 + object_event 1, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 17, 7, 3, 2, 17, 0, 0, 0, AbandonedShip_Corridors_1F_EventScript_2379A5, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TUBER_M, 0, 0, 5, 10, 3, 45, 116, 0, 1, 3, AbandonedShip_Corridors_1F_EventScript_2379AE, 0, 0, 0 + +AbandonedShip_Corridors_1F_MapWarps: @ 85366F0 + warp_def 9, 11, 3, 2, ABANDONED_SHIP_DECK + warp_def 8, 11, 3, 2, ABANDONED_SHIP_DECK + warp_def 0, 11, 3, 3, ABANDONED_SHIP_DECK + warp_def 1, 11, 3, 3, ABANDONED_SHIP_DECK + warp_def 11, 9, 3, 0, ABANDONED_SHIP_ROOMS_1F + warp_def 14, 9, 3, 3, ABANDONED_SHIP_ROOMS_1F + warp_def 11, 3, 3, 2, ABANDONED_SHIP_ROOMS_1F + warp_def 14, 3, 3, 4, ABANDONED_SHIP_ROOMS_1F + warp_def 3, 9, 3, 0, ABANDONED_SHIP_ROOMS_2_1F + warp_def 16, 2, 3, 7, ABANDONED_SHIP_CORRIDORS_B1F + warp_def 5, 2, 3, 6, ABANDONED_SHIP_CORRIDORS_B1F + warp_def 3, 3, 3, 2, ABANDONED_SHIP_ROOMS_2_1F + +AbandonedShip_Corridors_1F_MapEvents:: @ 8536750 + map_events AbandonedShip_Corridors_1F_MapObjects, AbandonedShip_Corridors_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/AbandonedShip_Corridors_B1F.inc b/data/maps/events/AbandonedShip_Corridors_B1F.inc new file mode 100644 index 0000000000..637e658ce7 --- /dev/null +++ b/data/maps/events/AbandonedShip_Corridors_B1F.inc @@ -0,0 +1,20 @@ +AbandonedShip_Corridors_B1F_MapObjects: @ 8536808 + object_event 1, MAP_OBJ_GFX_TUBER_M, 0, 0, 2, 8, 3, 2, 17, 0, 0, 0, AbandonedShip_Corridors_B1F_EventScript_237DBF, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SAILOR, 0, 0, 9, 6, 3, 14, 0, 0, 1, 4, AbandonedShip_Corridors_B1F_EventScript_237E13, 0, 0, 0 + +AbandonedShip_Corridors_B1F_MapWarps: @ 8536838 + warp_def 6, 4, 3, 2, ABANDONED_SHIP_ROOMS_2_B1F + warp_def 3, 4, 3, 0, ABANDONED_SHIP_ROOMS_2_B1F + warp_def 5, 7, 3, 0, ABANDONED_SHIP_ROOMS_B1F + warp_def 8, 7, 3, 1, ABANDONED_SHIP_ROOMS_B1F + warp_def 11, 7, 3, 2, ABANDONED_SHIP_ROOMS_B1F + warp_def 11, 4, 3, 0, ABANDONED_SHIP_ROOM_B1F + warp_def 0, 2, 3, 10, ABANDONED_SHIP_CORRIDORS_1F + warp_def 8, 2, 3, 9, ABANDONED_SHIP_CORRIDORS_1F + +AbandonedShip_Corridors_B1F_MapBGEvents: @ 8536878 + bg_event 11, 4, 3, 0, 0, AbandonedShip_Corridors_B1F_EventScript_237DC8 + +AbandonedShip_Corridors_B1F_MapEvents:: @ 8536884 + map_events AbandonedShip_Corridors_B1F_MapObjects, AbandonedShip_Corridors_B1F_MapWarps, 0x0, AbandonedShip_Corridors_B1F_MapBGEvents + diff --git a/data/maps/events/AbandonedShip_Deck.inc b/data/maps/events/AbandonedShip_Deck.inc new file mode 100644 index 0000000000..ca01ccec8f --- /dev/null +++ b/data/maps/events/AbandonedShip_Deck.inc @@ -0,0 +1,10 @@ +AbandonedShip_Deck_MapWarps: @ 8536684 + warp_def 13, 15, 3, 0, ROUTE_108 + warp_def 14, 15, 3, 0, ROUTE_108 + warp_def 13, 9, 3, 1, ABANDONED_SHIP_CORRIDORS_1F + warp_def 8, 9, 3, 2, ABANDONED_SHIP_CORRIDORS_1F + warp_def 12, 5, 3, 0, ABANDONED_SHIP_CAPTAINS_OFFICE + +AbandonedShip_Deck_MapEvents:: @ 85366AC + map_events 0x0, AbandonedShip_Deck_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/AbandonedShip_HiddenFloorCorridors.inc b/data/maps/events/AbandonedShip_HiddenFloorCorridors.inc new file mode 100644 index 0000000000..3bff540763 --- /dev/null +++ b/data/maps/events/AbandonedShip_HiddenFloorCorridors.inc @@ -0,0 +1,17 @@ +AbandonedShip_HiddenFloorCorridors_MapWarps: @ 8536ACC + warp_def 3, 8, 3, 0, ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS + warp_def 6, 8, 3, 2, ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS + warp_def 9, 8, 3, 4, ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS + warp_def 3, 3, 3, 6, ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS + warp_def 6, 3, 3, 7, ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS + warp_def 9, 3, 3, 8, ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS + +AbandonedShip_HiddenFloorCorridors_MapBGEvents: @ 8536AFC + bg_event 3, 8, 3, 0, 0, AbandonedShip_HiddenFloorCorridors_EventScript_238A19 + bg_event 6, 8, 3, 0, 0, AbandonedShip_HiddenFloorCorridors_EventScript_238A50 + bg_event 3, 4, 0, 0, 0, AbandonedShip_HiddenFloorCorridors_EventScript_238A87 + bg_event 9, 4, 0, 0, 0, AbandonedShip_HiddenFloorCorridors_EventScript_238ABE + +AbandonedShip_HiddenFloorCorridors_MapEvents:: @ 8536B2C + map_events 0x0, AbandonedShip_HiddenFloorCorridors_MapWarps, 0x0, AbandonedShip_HiddenFloorCorridors_MapBGEvents + diff --git a/data/maps/events/AbandonedShip_HiddenFloorRooms.inc b/data/maps/events/AbandonedShip_HiddenFloorRooms.inc new file mode 100644 index 0000000000..21a4370ce0 --- /dev/null +++ b/data/maps/events/AbandonedShip_HiddenFloorRooms.inc @@ -0,0 +1,32 @@ +AbandonedShip_HiddenFloorRooms_MapObjects: @ 8536B40 + object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 41, 4, 3, 1, 0, 0, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_29127B, 1077, 0, 0 + object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 16, 10, 3, 1, 0, 0, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_291288, 1078, 0, 0 + object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 5, 11, 3, 1, 17, 0, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_2912A2, 1102, 0, 0 + object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 31, 11, 3, 1, 17, 0, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_291295, 1101, 0, 0 + +AbandonedShip_HiddenFloorRooms_MapWarps: @ 8536BA0 + warp_def 6, 14, 3, 0, ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS + warp_def 7, 14, 3, 0, ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS + warp_def 21, 14, 3, 1, ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS + warp_def 22, 14, 3, 1, ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS + warp_def 36, 14, 3, 2, ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS + warp_def 37, 14, 3, 2, ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS + warp_def 6, 1, 3, 3, ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS + warp_def 21, 1, 3, 4, ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS + warp_def 36, 1, 3, 5, ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS + +AbandonedShip_HiddenFloorRooms_MapBGEvents: @ 8536BE8 + bg_event 42, 10, 3, 7, 0, ITEM_ROOM_1_KEY, 31, 0 + bg_event 20, 5, 3, 7, 0, ITEM_ROOM_2_KEY, 32, 0 + bg_event 1, 12, 3, 7, 0, ITEM_ROOM_4_KEY, 33, 0 + bg_event 1, 2, 0, 7, 0, ITEM_ROOM_6_KEY, 34, 0 + bg_event 8, 5, 3, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_238DF3 + bg_event 11, 3, 3, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_238DF3 + bg_event 10, 10, 3, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_238DF3 + bg_event 16, 3, 3, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_238DF3 + bg_event 25, 2, 3, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_238DF3 + bg_event 24, 6, 3, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_238DF3 + +AbandonedShip_HiddenFloorRooms_MapEvents:: @ 8536C60 + map_events AbandonedShip_HiddenFloorRooms_MapObjects, AbandonedShip_HiddenFloorRooms_MapWarps, 0x0, AbandonedShip_HiddenFloorRooms_MapBGEvents + diff --git a/data/maps/events/AbandonedShip_Room_B1F.inc b/data/maps/events/AbandonedShip_Room_B1F.inc new file mode 100644 index 0000000000..d22e24bde1 --- /dev/null +++ b/data/maps/events/AbandonedShip_Room_B1F.inc @@ -0,0 +1,10 @@ +AbandonedShip_Room_B1F_MapObjects: @ 853697C + object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 4, 3, 1, 17, 0, 0, 0, AbandonedShip_Room_B1F_EventScript_291254, 1098, 0, 0 + +AbandonedShip_Room_B1F_MapWarps: @ 8536994 + warp_def 4, 7, 3, 5, ABANDONED_SHIP_CORRIDORS_B1F + warp_def 5, 7, 3, 5, ABANDONED_SHIP_CORRIDORS_B1F + +AbandonedShip_Room_B1F_MapEvents:: @ 85369A4 + map_events AbandonedShip_Room_B1F_MapObjects, AbandonedShip_Room_B1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/AbandonedShip_Rooms2_1F.inc b/data/maps/events/AbandonedShip_Rooms2_1F.inc new file mode 100644 index 0000000000..ac5f57a53d --- /dev/null +++ b/data/maps/events/AbandonedShip_Rooms2_1F.inc @@ -0,0 +1,15 @@ +AbandonedShip_Rooms2_1F_MapObjects: @ 85369B8 + object_event 1, MAP_OBJ_GFX_MAN_5, 0, 0, 7, 13, 3, 8, 0, 0, 1, 1, AbandonedShip_Rooms2_1F_EventScript_2380A7, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_5, 0, 0, 6, 13, 3, 8, 0, 0, 1, 1, AbandonedShip_Rooms2_1F_EventScript_23810B, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 4, 3, 1, 17, 0, 0, 0, AbandonedShip_Rooms2_1F_EventScript_291261, 1099, 0, 0 + object_event 4, MAP_OBJ_GFX_HIKER, 0, 0, 3, 2, 3, 10, 17, 0, 1, 3, AbandonedShip_Rooms2_1F_EventScript_238186, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_TUBER_F, 0, 0, 7, 2, 3, 9, 17, 0, 1, 3, AbandonedShip_Rooms2_1F_EventScript_23816F, 0, 0, 0 + +AbandonedShip_Rooms2_1F_MapWarps: @ 8536A30 + warp_def 4, 16, 3, 8, ABANDONED_SHIP_CORRIDORS_1F + warp_def 5, 16, 3, 8, ABANDONED_SHIP_CORRIDORS_1F + warp_def 4, 1, 3, 11, ABANDONED_SHIP_CORRIDORS_1F + +AbandonedShip_Rooms2_1F_MapEvents:: @ 8536A48 + map_events AbandonedShip_Rooms2_1F_MapObjects, AbandonedShip_Rooms2_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/AbandonedShip_Rooms2_B1F.inc b/data/maps/events/AbandonedShip_Rooms2_B1F.inc new file mode 100644 index 0000000000..08846936ab --- /dev/null +++ b/data/maps/events/AbandonedShip_Rooms2_B1F.inc @@ -0,0 +1,13 @@ +AbandonedShip_Rooms2_B1F_MapObjects: @ 85368F4 + object_event 1, MAP_OBJ_GFX_CAMPER, 0, 0, 3, 4, 3, 2, 17, 0, 0, 0, AbandonedShip_Rooms2_B1F_EventScript_238025, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 13, 3, 3, 1, 17, 0, 0, 0, AbandonedShip_Rooms2_B1F_EventScript_291247, 1097, 0, 0 + +AbandonedShip_Rooms2_B1F_MapWarps: @ 8536924 + warp_def 4, 7, 3, 1, ABANDONED_SHIP_CORRIDORS_B1F + warp_def 5, 7, 3, 1, ABANDONED_SHIP_CORRIDORS_B1F + warp_def 13, 7, 3, 0, ABANDONED_SHIP_CORRIDORS_B1F + warp_def 14, 7, 3, 0, ABANDONED_SHIP_CORRIDORS_B1F + +AbandonedShip_Rooms2_B1F_MapEvents:: @ 8536944 + map_events AbandonedShip_Rooms2_B1F_MapObjects, AbandonedShip_Rooms2_B1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/AbandonedShip_Rooms_1F.inc b/data/maps/events/AbandonedShip_Rooms_1F.inc new file mode 100644 index 0000000000..7e358ef75c --- /dev/null +++ b/data/maps/events/AbandonedShip_Rooms_1F.inc @@ -0,0 +1,17 @@ +AbandonedShip_Rooms_1F_MapObjects: @ 8536764 + object_event 1, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 12, 5, 3, 2, 17, 0, 0, 0, AbandonedShip_Rooms_1F_EventScript_237A93, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 5, 3, 1, 17, 0, 0, 0, AbandonedShip_Rooms_1F_EventScript_29122D, 1095, 0, 0 + object_event 3, MAP_OBJ_GFX_BEAUTY, 0, 0, 10, 11, 3, 8, 17, 0, 1, 4, AbandonedShip_Rooms_1F_EventScript_237AB3, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 10, 16, 3, 16, 17, 0, 1, 4, AbandonedShip_Rooms_1F_EventScript_237A9C, 0, 0, 0 + +AbandonedShip_Rooms_1F_MapWarps: @ 85367C4 + warp_def 4, 16, 3, 4, ABANDONED_SHIP_CORRIDORS_1F + warp_def 5, 16, 3, 4, ABANDONED_SHIP_CORRIDORS_1F + warp_def 4, 1, 3, 6, ABANDONED_SHIP_CORRIDORS_1F + warp_def 13, 16, 3, 5, ABANDONED_SHIP_CORRIDORS_1F + warp_def 13, 1, 3, 7, ABANDONED_SHIP_CORRIDORS_1F + warp_def 14, 16, 3, 5, ABANDONED_SHIP_CORRIDORS_1F + +AbandonedShip_Rooms_1F_MapEvents:: @ 85367F4 + map_events AbandonedShip_Rooms_1F_MapObjects, AbandonedShip_Rooms_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/AbandonedShip_Rooms_B1F.inc b/data/maps/events/AbandonedShip_Rooms_B1F.inc new file mode 100644 index 0000000000..4627c4ab73 --- /dev/null +++ b/data/maps/events/AbandonedShip_Rooms_B1F.inc @@ -0,0 +1,12 @@ +AbandonedShip_Rooms_B1F_MapObjects: @ 8536898 + object_event 1, MAP_OBJ_GFX_FAT_MAN, 0, 0, 25, 6, 3, 9, 0, 0, 0, 0, AbandonedShip_Rooms_B1F_EventScript_237FC6, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 6, 7, 3, 1, 17, 0, 0, 0, AbandonedShip_Rooms_B1F_EventScript_29123A, 1096, 0, 0 + +AbandonedShip_Rooms_B1F_MapWarps: @ 85368C8 + warp_def 4, 1, 3, 2, ABANDONED_SHIP_CORRIDORS_B1F + warp_def 13, 1, 3, 3, ABANDONED_SHIP_CORRIDORS_B1F + warp_def 22, 1, 3, 4, ABANDONED_SHIP_CORRIDORS_B1F + +AbandonedShip_Rooms_B1F_MapEvents:: @ 85368E0 + map_events AbandonedShip_Rooms_B1F_MapObjects, AbandonedShip_Rooms_B1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/AbandonedShip_Underwater1.inc b/data/maps/events/AbandonedShip_Underwater1.inc new file mode 100644 index 0000000000..a92bed4222 --- /dev/null +++ b/data/maps/events/AbandonedShip_Underwater1.inc @@ -0,0 +1,7 @@ +AbandonedShip_Underwater1_MapWarps: @ 8536958 + warp_def 3, 7, 3, 0, ABANDONED_SHIP_UNDERWATER_2 + warp_def 4, 7, 3, 0, ABANDONED_SHIP_UNDERWATER_2 + +AbandonedShip_Underwater1_MapEvents:: @ 8536968 + map_events 0x0, AbandonedShip_Underwater1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/AbandonedShip_Underwater2.inc b/data/maps/events/AbandonedShip_Underwater2.inc new file mode 100644 index 0000000000..de84626f3d --- /dev/null +++ b/data/maps/events/AbandonedShip_Underwater2.inc @@ -0,0 +1,6 @@ +AbandonedShip_Underwater2_MapWarps: @ 8536AB0 + warp_def 3, 1, 3, 0, ABANDONED_SHIP_UNDERWATER_1 + +AbandonedShip_Underwater2_MapEvents:: @ 8536AB8 + map_events 0x0, AbandonedShip_Underwater2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/AlteringCave.inc b/data/maps/events/AlteringCave.inc new file mode 100644 index 0000000000..2960769323 --- /dev/null +++ b/data/maps/events/AlteringCave.inc @@ -0,0 +1,6 @@ +AlteringCave_MapWarps: @ 8537894 + warp_def 18, 22, 0, 0, ROUTE_103 + +AlteringCave_MapEvents:: @ 853789C + map_events 0x0, AlteringCave_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/AncientTomb.inc b/data/maps/events/AncientTomb.inc new file mode 100644 index 0000000000..667ab38761 --- /dev/null +++ b/data/maps/events/AncientTomb.inc @@ -0,0 +1,16 @@ +AncientTomb_MapObjects: @ 8536CDC + object_event 1, MAP_OBJ_GFX_REGISTEEL, 0, 0, 8, 7, 3, 8, 0, 0, 0, 0, AncientTomb_EventScript_23905A, 937, 0, 0 + +AncientTomb_MapWarps: @ 8536CF4 + warp_def 8, 29, 3, 0, ROUTE_120 + warp_def 8, 20, 0, 2, ANCIENT_TOMB + warp_def 8, 11, 3, 1, ANCIENT_TOMB + +AncientTomb_MapBGEvents: @ 8536D0C + bg_event 8, 20, 0, 0, 0, AncientTomb_EventScript_239033 + bg_event 7, 20, 0, 0, 0, AncientTomb_EventScript_239050 + bg_event 9, 20, 0, 0, 0, AncientTomb_EventScript_239050 + +AncientTomb_MapEvents:: @ 8536D30 + map_events AncientTomb_MapObjects, AncientTomb_MapWarps, 0x0, AncientTomb_MapBGEvents + diff --git a/data/maps/events/AquaHideout_1F.inc b/data/maps/events/AquaHideout_1F.inc new file mode 100644 index 0000000000..4c418b286c --- /dev/null +++ b/data/maps/events/AquaHideout_1F.inc @@ -0,0 +1,13 @@ +AquaHideout_1F_MapObjects: @ 8535304 + object_event 1, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 13, 11, 3, 8, 0, 0, 0, 0, AquaHideout_1F_EventScript_233494, 821, 0, 0 + object_event 2, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 14, 11, 3, 8, 0, 0, 0, 0, AquaHideout_1F_EventScript_2334C6, 822, 0, 0 + object_event 3, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 20, 4, 3, 50, 93, 0, 1, 3, AquaHideout_1F_EventScript_2334F8, 924, 0, 0 + +AquaHideout_1F_MapWarps: @ 853534C + warp_def 13, 27, 1, 6, LILYCOVE_CITY + warp_def 14, 27, 1, 6, LILYCOVE_CITY + warp_def 22, 1, 3, 0, AQUA_HIDEOUT_B1F + +AquaHideout_1F_MapEvents:: @ 8535364 + map_events AquaHideout_1F_MapObjects, AquaHideout_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/AquaHideout_B1F.inc b/data/maps/events/AquaHideout_B1F.inc new file mode 100644 index 0000000000..b62157d6fe --- /dev/null +++ b/data/maps/events/AquaHideout_B1F.inc @@ -0,0 +1,41 @@ +AquaHideout_B1F_MapObjects: @ 8535378 + object_event 1, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 28, 16, 3, 8, 0, 0, 1, 4, AquaHideout_B1F_EventScript_233A85, 924, 0, 0 + object_event 2, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 6, 6, 3, 9, 0, 0, 1, 5, AquaHideout_B1F_EventScript_233AB0, 924, 0, 0 + object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 29, 12, 3, 1, 0, 0, 0, 0, AquaHideout_B1F_EventScript_291372, 1071, 0, 0 + object_event 4, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 20, 18, 3, 23, 4, 0, 1, 4, AquaHideout_B1F_EventScript_233AD5, 924, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 15, 9, 3, 1, 17, 0, 0, 0, AquaHideout_B1F_EventScript_291358, 1124, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 16, 9, 3, 1, 17, 0, 0, 0, AquaHideout_B1F_EventScript_2339EB, 977, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 15, 10, 3, 1, 17, 0, 0, 0, AquaHideout_B1F_EventScript_291365, 1132, 0, 0 + object_event 8, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 16, 10, 3, 1, 17, 0, 0, 0, AquaHideout_B1F_EventScript_233A38, 978, 0, 0 + object_event 9, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 28, 21, 3, 7, 17, 0, 1, 4, AquaHideout_B1F_EventScript_233AEC, 924, 0, 0 + +AquaHideout_B1F_MapWarps: @ 8535450 + warp_def 29, 1, 3, 2, AQUA_HIDEOUT_1F + warp_def 18, 1, 3, 0, AQUA_HIDEOUT_B2F + warp_def 12, 1, 3, 1, AQUA_HIDEOUT_B2F + warp_def 3, 3, 3, 2, AQUA_HIDEOUT_B2F + warp_def 31, 4, 3, 7, AQUA_HIDEOUT_B1F + warp_def 27, 4, 3, 8, AQUA_HIDEOUT_B1F + warp_def 20, 4, 3, 10, AQUA_HIDEOUT_B1F + warp_def 27, 12, 3, 4, AQUA_HIDEOUT_B1F + warp_def 3, 15, 3, 5, AQUA_HIDEOUT_B1F + warp_def 3, 20, 3, 12, AQUA_HIDEOUT_B1F + warp_def 32, 19, 3, 6, AQUA_HIDEOUT_B1F + warp_def 23, 10, 3, 22, AQUA_HIDEOUT_B1F + warp_def 45, 3, 3, 9, AQUA_HIDEOUT_B1F + warp_def 42, 5, 3, 18, AQUA_HIDEOUT_B1F + warp_def 45, 5, 3, 12, AQUA_HIDEOUT_B1F + warp_def 48, 5, 3, 16, AQUA_HIDEOUT_B1F + warp_def 42, 9, 3, 15, AQUA_HIDEOUT_B1F + warp_def 45, 9, 3, 20, AQUA_HIDEOUT_B1F + warp_def 48, 9, 3, 13, AQUA_HIDEOUT_B1F + warp_def 42, 13, 3, 24, AQUA_HIDEOUT_B1F + warp_def 45, 13, 3, 17, AQUA_HIDEOUT_B1F + warp_def 48, 13, 3, 12, AQUA_HIDEOUT_B1F + warp_def 42, 17, 3, 11, AQUA_HIDEOUT_B1F + warp_def 45, 17, 3, 17, AQUA_HIDEOUT_B1F + warp_def 48, 17, 3, 19, AQUA_HIDEOUT_B1F + +AquaHideout_B1F_MapEvents:: @ 8535518 + map_events AquaHideout_B1F_MapObjects, AquaHideout_B1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/AquaHideout_B2F.inc b/data/maps/events/AquaHideout_B2F.inc new file mode 100644 index 0000000000..8a338a2bb7 --- /dev/null +++ b/data/maps/events/AquaHideout_B2F.inc @@ -0,0 +1,27 @@ +AquaHideout_B2F_MapObjects: @ 853552C + object_event 1, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 23, 19, 3, 9, 0, 0, 0, 0, AquaHideout_B2F_EventScript_233E09, 924, 0, 0 + object_event 2, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 23, 10, 3, 45, 52, 0, 1, 3, AquaHideout_B2F_EventScript_233E8A, 924, 0, 0 + object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 13, 3, 1, 0, 0, 0, 0, AquaHideout_B2F_EventScript_29137F, 1072, 0, 0 + object_event 4, MAP_OBJ_GFX_SUBMARINE_SHADOW, 0, 0, 19, 20, 1, 9, 0, 0, 0, 0, 0x0, 943, 0, 0 + object_event 5, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 7, 5, 3, 10, 17, 0, 1, 5, AquaHideout_B2F_EventScript_233EAF, 924, 0, 0 + object_event 6, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 13, 5, 3, 9, 17, 0, 1, 5, AquaHideout_B2F_EventScript_233EC6, 924, 0, 0 + +AquaHideout_B2F_MapWarps: @ 85355BC + warp_def 18, 1, 3, 1, AQUA_HIDEOUT_B1F + warp_def 12, 1, 3, 2, AQUA_HIDEOUT_B1F + warp_def 3, 3, 3, 3, AQUA_HIDEOUT_B1F + warp_def 31, 8, 3, 5, AQUA_HIDEOUT_B2F + warp_def 8, 8, 3, 8, AQUA_HIDEOUT_B2F + warp_def 5, 8, 3, 3, AQUA_HIDEOUT_B2F + warp_def 18, 13, 3, 7, AQUA_HIDEOUT_B2F + warp_def 12, 13, 3, 6, AQUA_HIDEOUT_B2F + warp_def 31, 17, 3, 4, AQUA_HIDEOUT_B2F + warp_def 32, 20, 3, 4, AQUA_HIDEOUT_B1F + +AquaHideout_B2F_MapCoordEvents: @ 853560C + coord_event 28, 17, 3, 0, VAR_0x4001, 0, 0, AquaHideout_B2F_EventScript_233DE5 + coord_event 28, 16, 3, 0, VAR_0x4001, 0, 0, AquaHideout_B2F_EventScript_233DE5 + +AquaHideout_B2F_MapEvents:: @ 853562C + map_events AquaHideout_B2F_MapObjects, AquaHideout_B2F_MapWarps, AquaHideout_B2F_MapCoordEvents, 0x0 + diff --git a/data/maps/events/AquaHideout_UnusedRubyMap1.inc b/data/maps/events/AquaHideout_UnusedRubyMap1.inc new file mode 100644 index 0000000000..45663b68fe --- /dev/null +++ b/data/maps/events/AquaHideout_UnusedRubyMap1.inc @@ -0,0 +1,3 @@ +AquaHideout_UnusedRubyMap1_MapEvents:: @ 8536FBC + map_events 0x0, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/AquaHideout_UnusedRubyMap2.inc b/data/maps/events/AquaHideout_UnusedRubyMap2.inc new file mode 100644 index 0000000000..6f53de284a --- /dev/null +++ b/data/maps/events/AquaHideout_UnusedRubyMap2.inc @@ -0,0 +1,3 @@ +AquaHideout_UnusedRubyMap2_MapEvents:: @ 8536FD0 + map_events 0x0, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/AquaHideout_UnusedRubyMap3.inc b/data/maps/events/AquaHideout_UnusedRubyMap3.inc new file mode 100644 index 0000000000..8a23a37861 --- /dev/null +++ b/data/maps/events/AquaHideout_UnusedRubyMap3.inc @@ -0,0 +1,3 @@ +AquaHideout_UnusedRubyMap3_MapEvents:: @ 8536FE4 + map_events 0x0, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/ArtisanCave_1F.inc b/data/maps/events/ArtisanCave_1F.inc new file mode 100644 index 0000000000..148408aa9f --- /dev/null +++ b/data/maps/events/ArtisanCave_1F.inc @@ -0,0 +1,10 @@ +ArtisanCave_1F_MapObjects: @ 8537774 + object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 14, 5, 3, 1, 17, 0, 0, 0, ArtisanCave_1F_EventScript_2914D1, 1163, 0, 0 + +ArtisanCave_1F_MapWarps: @ 853778C + warp_def 10, 17, 0, 13, BATTLE_FRONTIER_OUTSIDE_EAST + warp_def 6, 5, 0, 1, ARTISAN_CAVE_B1F + +ArtisanCave_1F_MapEvents:: @ 853779C + map_events ArtisanCave_1F_MapObjects, ArtisanCave_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/ArtisanCave_B1F.inc b/data/maps/events/ArtisanCave_B1F.inc new file mode 100644 index 0000000000..38a978c9b9 --- /dev/null +++ b/data/maps/events/ArtisanCave_B1F.inc @@ -0,0 +1,16 @@ +ArtisanCave_B1F_MapObjects: @ 8537708 + object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 32, 38, 3, 1, 17, 0, 0, 0, ArtisanCave_B1F_EventScript_2914C4, 1162, 0, 0 + +ArtisanCave_B1F_MapWarps: @ 8537720 + warp_def 8, 48, 0, 10, BATTLE_FRONTIER_OUTSIDE_WEST + warp_def 38, 5, 0, 1, ARTISAN_CAVE_1F + +ArtisanCave_B1F_MapBGEvents: @ 8537730 + bg_event 32, 29, 0, 7, 0, ITEM_ZINC, 102, 0 + bg_event 27, 8, 0, 7, 0, ITEM_CALCIUM, 101, 0 + bg_event 7, 5, 0, 7, 0, ITEM_PROTEIN, 103, 0 + bg_event 19, 43, 0, 7, 0, ITEM_IRON, 104, 0 + +ArtisanCave_B1F_MapEvents:: @ 8537760 + map_events ArtisanCave_B1F_MapObjects, ArtisanCave_B1F_MapWarps, 0x0, ArtisanCave_B1F_MapBGEvents + diff --git a/data/maps/events/BattleFrontier_BattleArenaBattleRoom.inc b/data/maps/events/BattleFrontier_BattleArenaBattleRoom.inc new file mode 100644 index 0000000000..fee53156b8 --- /dev/null +++ b/data/maps/events/BattleFrontier_BattleArenaBattleRoom.inc @@ -0,0 +1,14 @@ +BattleFrontier_BattleArenaBattleRoom_MapObjects: @ 853C8EC + object_event 1, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 5, 3, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 10, 3, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 5, 9, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 10, 9, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 4, 5, 3, 10, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 11, 5, 3, 9, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_HIPSTER, 0, 0, 15, 6, 3, 9, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_TRADER, 0, 0, 0, 6, 3, 10, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 7, 4, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + +BattleFrontier_BattleArenaBattleRoom_MapEvents:: @ 853C9C4 + map_events BattleFrontier_BattleArenaBattleRoom_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattleArenaCorridor.inc b/data/maps/events/BattleFrontier_BattleArenaCorridor.inc new file mode 100644 index 0000000000..d35c35ad07 --- /dev/null +++ b/data/maps/events/BattleFrontier_BattleArenaCorridor.inc @@ -0,0 +1,6 @@ +BattleFrontier_BattleArenaCorridor_MapObjects: @ 853C8C0 + object_event 1, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 9, 12, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + +BattleFrontier_BattleArenaCorridor_MapEvents:: @ 853C8D8 + map_events BattleFrontier_BattleArenaCorridor_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattleArenaLobby.inc b/data/maps/events/BattleFrontier_BattleArenaLobby.inc new file mode 100644 index 0000000000..ec84dfb774 --- /dev/null +++ b/data/maps/events/BattleFrontier_BattleArenaLobby.inc @@ -0,0 +1,17 @@ +BattleFrontier_BattleArenaLobby_MapObjects: @ 853C814 + object_event 1, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 7, 7, 0, 8, 17, 0, 0, 0, BattleFrontier_BattleArenaLobby_EventScript_255DF4, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_7, 0, 0, 2, 10, 3, 2, 17, 0, 0, 0, BattleFrontier_BattleArenaLobby_EventScript_2560C1, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_6, 0, 0, 14, 11, 3, 9, 17, 0, 0, 0, BattleFrontier_BattleArenaLobby_EventScript_2560AF, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_CAMPER, 0, 0, 14, 12, 3, 9, 17, 0, 0, 0, BattleFrontier_BattleArenaLobby_EventScript_2560B8, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 14, 10, 3, 9, 17, 0, 0, 0, BattleFrontier_BattleArenaLobby_EventScript_2560A6, 0, 0, 0 + +BattleFrontier_BattleArenaLobby_MapWarps: @ 853C88C + warp_def 7, 12, 3, 1, BATTLE_FRONTIER_OUTSIDE_EAST + +BattleFrontier_BattleArenaLobby_MapBGEvents: @ 853C894 + bg_event 5, 9, 3, 1, 0, BattleFrontier_BattleArenaLobby_EventScript_256092 + bg_event 1, 7, 0, 0, 0, BattleFrontier_BattleArenaLobby_EventScript_2560CA + +BattleFrontier_BattleArenaLobby_MapEvents:: @ 853C8AC + map_events BattleFrontier_BattleArenaLobby_MapObjects, BattleFrontier_BattleArenaLobby_MapWarps, 0x0, BattleFrontier_BattleArenaLobby_MapBGEvents + diff --git a/data/maps/events/BattleFrontier_BattleDomeBattleRoom.inc b/data/maps/events/BattleFrontier_BattleDomeBattleRoom.inc new file mode 100644 index 0000000000..3f0429bf2e --- /dev/null +++ b/data/maps/events/BattleFrontier_BattleDomeBattleRoom.inc @@ -0,0 +1,20 @@ +BattleFrontier_BattleDomeBattleRoom_MapObjects: @ 853C1C4 + object_event 1, MAP_OBJ_GFX_REPORTER_M, 0, 0, 5, 4, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 7, 2, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BOY_1, 0, 0, 9, 2, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BOY_2, 0, 0, 11, 2, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 16, 2, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_MAN_1, 0, 0, 4, 2, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 16, 1, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_CAMPER, 0, 0, 8, 1, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_MAN_2, 0, 0, 0, 4, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_FAT_MAN, 0, 0, 12, 1, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_GIRL_2, 0, 0, 13, 2, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_GIRL_1, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 13, MAP_OBJ_GFX_TRADER, 0, 0, 4, 9, 4, 7, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_WOMAN_4, 0, 0, 14, 2, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 15, MAP_OBJ_GFX_HIPSTER, 0, 0, 11, 6, 0, 9, 17, 0, 0, 0, 0x0, 0, 0, 0 + +BattleFrontier_BattleDomeBattleRoom_MapEvents:: @ 853C32C + map_events BattleFrontier_BattleDomeBattleRoom_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattleDomeCorridor.inc b/data/maps/events/BattleFrontier_BattleDomeCorridor.inc new file mode 100644 index 0000000000..61b6e019de --- /dev/null +++ b/data/maps/events/BattleFrontier_BattleDomeCorridor.inc @@ -0,0 +1,10 @@ +BattleFrontier_BattleDomeCorridor_MapObjects: @ 853C14C + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 23, 5, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + +BattleFrontier_BattleDomeCorridor_MapWarps: @ 853C164 + warp_def 6, 8, 3, 1, BATTLE_FRONTIER_OUTSIDE_WEST + warp_def 7, 8, 3, 1, BATTLE_FRONTIER_OUTSIDE_WEST + +BattleFrontier_BattleDomeCorridor_MapEvents:: @ 853C174 + map_events BattleFrontier_BattleDomeCorridor_MapObjects, BattleFrontier_BattleDomeCorridor_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattleDomeLobby.inc b/data/maps/events/BattleFrontier_BattleDomeLobby.inc new file mode 100644 index 0000000000..09ebc903c6 --- /dev/null +++ b/data/maps/events/BattleFrontier_BattleDomeLobby.inc @@ -0,0 +1,21 @@ +BattleFrontier_BattleDomeLobby_MapObjects: @ 853C068 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 5, 10, 0, 8, 17, 0, 0, 0, BattleFrontier_BattleDomeLobby_EventScript_249A35, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_4, 0, 0, 1, 11, 0, 2, 17, 0, 0, 0, BattleFrontier_BattleDomeLobby_EventScript_249E10, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_LASS, 0, 0, 14, 14, 0, 2, 17, 0, 0, 0, BattleFrontier_BattleDomeLobby_EventScript_249DFE, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_FAT_MAN, 0, 0, 18, 14, 0, 2, 17, 0, 0, 0, BattleFrontier_BattleDomeLobby_EventScript_249E07, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_MANIAC, 0, 0, 8, 14, 0, 2, 17, 0, 0, 0, BattleFrontier_BattleDomeLobby_EventScript_249DED, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_TEALA, 0, 0, 17, 10, 0, 8, 17, 0, 0, 0, BattleFrontier_BattleDomeLobby_EventScript_249A47, 0, 0, 0 + +BattleFrontier_BattleDomeLobby_MapWarps: @ 853C0F8 + warp_def 11, 16, 0, 1, BATTLE_FRONTIER_OUTSIDE_WEST + warp_def 12, 16, 0, 1, BATTLE_FRONTIER_OUTSIDE_WEST + +BattleFrontier_BattleDomeLobby_MapBGEvents: @ 853C108 + bg_event 4, 10, 0, 0, 0, BattleFrontier_BattleDomeLobby_EventScript_249D52 + bg_event 7, 10, 0, 0, 0, BattleFrontier_BattleDomeLobby_EventScript_249D84 + bg_event 18, 10, 0, 0, 0, BattleFrontier_BattleDomeLobby_EventScript_249D6B + bg_event 15, 10, 0, 0, 0, BattleFrontier_BattleDomeLobby_EventScript_249E34 + +BattleFrontier_BattleDomeLobby_MapEvents:: @ 853C138 + map_events BattleFrontier_BattleDomeLobby_MapObjects, BattleFrontier_BattleDomeLobby_MapWarps, 0x0, BattleFrontier_BattleDomeLobby_MapBGEvents + diff --git a/data/maps/events/BattleFrontier_BattleDomePreBattleRoom.inc b/data/maps/events/BattleFrontier_BattleDomePreBattleRoom.inc new file mode 100644 index 0000000000..6d8a8abe86 --- /dev/null +++ b/data/maps/events/BattleFrontier_BattleDomePreBattleRoom.inc @@ -0,0 +1,10 @@ +BattleFrontier_BattleDomePreBattleRoom_MapObjects: @ 853C188 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 5, 2, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + +BattleFrontier_BattleDomePreBattleRoom_MapWarps: @ 853C1A0 + warp_def 6, 8, 3, 1, BATTLE_FRONTIER_OUTSIDE_WEST + warp_def 7, 8, 3, 1, BATTLE_FRONTIER_OUTSIDE_WEST + +BattleFrontier_BattleDomePreBattleRoom_MapEvents:: @ 853C1B0 + map_events BattleFrontier_BattleDomePreBattleRoom_MapObjects, BattleFrontier_BattleDomePreBattleRoom_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattleFactoryBattleRoom.inc b/data/maps/events/BattleFrontier_BattleFactoryBattleRoom.inc new file mode 100644 index 0000000000..65ce8b6840 --- /dev/null +++ b/data/maps/events/BattleFrontier_BattleFactoryBattleRoom.inc @@ -0,0 +1,13 @@ +BattleFrontier_BattleFactoryBattleRoom_MapObjects: @ 853CADC + object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 0, 6, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 7, 4, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 0, 4, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 0, 8, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 12, 4, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 12, 6, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 12, 8, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 8, 255, 0, 0, 5, 11, 0, 7, 17, 0, 0, 0, 0x0, 0, 0, 0 + +BattleFrontier_BattleFactoryBattleRoom_MapEvents:: @ 853CB9C + map_events BattleFrontier_BattleFactoryBattleRoom_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattleFactoryLobby.inc b/data/maps/events/BattleFrontier_BattleFactoryLobby.inc new file mode 100644 index 0000000000..e9f54cb501 --- /dev/null +++ b/data/maps/events/BattleFrontier_BattleFactoryLobby.inc @@ -0,0 +1,20 @@ +BattleFrontier_BattleFactoryLobby_MapObjects: @ 853C9D8 + object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 4, 7, 0, 8, 17, 0, 0, 0, BattleFrontier_BattleFactoryLobby_EventScript_2585CB, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_1, 0, 0, 3, 11, 0, 2, 17, 0, 0, 0, BattleFrontier_BattleFactoryLobby_EventScript_258813, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_CAMPER, 0, 0, 14, 11, 0, 8, 0, 0, 0, 0, BattleFrontier_BattleFactoryLobby_EventScript_25881C, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_PICNICKER, 0, 0, 13, 11, 0, 10, 17, 0, 0, 0, BattleFrontier_BattleFactoryLobby_EventScript_258825, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_FAT_MAN, 0, 0, 6, 10, 0, 1, 17, 0, 0, 0, BattleFrontier_BattleFactoryLobby_EventScript_258830, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 14, 7, 0, 8, 17, 0, 0, 0, BattleFrontier_BattleFactoryLobby_EventScript_2585DD, 0, 0, 0 + +BattleFrontier_BattleFactoryLobby_MapWarps: @ 853CA68 + warp_def 9, 11, 0, 2, BATTLE_FRONTIER_OUTSIDE_WEST + warp_def 10, 11, 0, 2, BATTLE_FRONTIER_OUTSIDE_WEST + +BattleFrontier_BattleFactoryLobby_MapBGEvents: @ 853CA78 + bg_event 2, 7, 0, 1, 0, BattleFrontier_BattleFactoryLobby_EventScript_2587E1 + bg_event 11, 7, 0, 1, 0, BattleFrontier_BattleFactoryLobby_EventScript_2587FA + bg_event 9, 4, 0, 0, 0, BattleFrontier_BattleFactoryLobby_EventScript_258839 + +BattleFrontier_BattleFactoryLobby_MapEvents:: @ 853CA9C + map_events BattleFrontier_BattleFactoryLobby_MapObjects, BattleFrontier_BattleFactoryLobby_MapWarps, 0x0, BattleFrontier_BattleFactoryLobby_MapBGEvents + diff --git a/data/maps/events/BattleFrontier_BattleFactoryPreBattleRoom.inc b/data/maps/events/BattleFrontier_BattleFactoryPreBattleRoom.inc new file mode 100644 index 0000000000..de03d5945d --- /dev/null +++ b/data/maps/events/BattleFrontier_BattleFactoryPreBattleRoom.inc @@ -0,0 +1,6 @@ +BattleFrontier_BattleFactoryPreBattleRoom_MapObjects: @ 853CAB0 + object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 8, 12, 0, 7, 17, 0, 0, 0, 0x0, 0, 0, 0 + +BattleFrontier_BattleFactoryPreBattleRoom_MapEvents:: @ 853CAC8 + map_events BattleFrontier_BattleFactoryPreBattleRoom_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattlePalaceBattleRoom.inc b/data/maps/events/BattleFrontier_BattlePalaceBattleRoom.inc new file mode 100644 index 0000000000..1314bbb407 --- /dev/null +++ b/data/maps/events/BattleFrontier_BattlePalaceBattleRoom.inc @@ -0,0 +1,14 @@ +BattleFrontier_BattlePalaceBattleRoom_MapObjects: @ 853C4FC + object_event 1, MAP_OBJ_GFX_TRADER, 0, 0, 1, 9, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 13, 1, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 1, 4, 3, 10, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_DUSCLOPS, 0, 0, 13, 1, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_AZURILL, 0, 0, 13, 1, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + +BattleFrontier_BattlePalaceBattleRoom_MapWarps: @ 853C574 + warp_def 0, 9, 3, 2, BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR + warp_def 1, 9, 3, 2, BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR + +BattleFrontier_BattlePalaceBattleRoom_MapEvents:: @ 853C584 + map_events BattleFrontier_BattlePalaceBattleRoom_MapObjects, BattleFrontier_BattlePalaceBattleRoom_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattlePalaceCorridor.inc b/data/maps/events/BattleFrontier_BattlePalaceCorridor.inc new file mode 100644 index 0000000000..dc86a54b8d --- /dev/null +++ b/data/maps/events/BattleFrontier_BattlePalaceCorridor.inc @@ -0,0 +1,18 @@ +BattleFrontier_BattlePalaceCorridor_MapObjects: @ 853C420 + object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 8, 12, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_AZURILL, 0, 0, 3, 5, 0, 2, 1, 0, 0, 0, 0x0, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_KIRLIA, 0, 0, 12, 6, 0, 14, 32, 0, 0, 0, 0x0, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_PIKACHU, 0, 0, 15, 5, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_ZIGZAGOON_2, 0, 0, 4, 9, 0, 14, 32, 0, 0, 0, 0x0, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_AZUMARILL, 0, 0, 13, 9, 0, 1, 16, 0, 0, 0, 0x0, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_WINGULL, 0, 0, 3, 10, 0, 2, 33, 0, 0, 0, 0x0, 0, 0, 0 + +BattleFrontier_BattlePalaceCorridor_MapWarps: @ 853C4C8 + warp_def 8, 13, 3, 2, BATTLE_FRONTIER_BATTLE_PALACE_LOBBY + warp_def 9, 13, 3, 2, BATTLE_FRONTIER_BATTLE_PALACE_LOBBY + warp_def 6, 3, 3, 0, BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM + warp_def 10, 3, 3, 0, BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM + +BattleFrontier_BattlePalaceCorridor_MapEvents:: @ 853C4E8 + map_events BattleFrontier_BattlePalaceCorridor_MapObjects, BattleFrontier_BattlePalaceCorridor_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattlePalaceLobby.inc b/data/maps/events/BattleFrontier_BattlePalaceLobby.inc new file mode 100644 index 0000000000..890d545aeb --- /dev/null +++ b/data/maps/events/BattleFrontier_BattlePalaceLobby.inc @@ -0,0 +1,21 @@ +BattleFrontier_BattlePalaceLobby_MapObjects: @ 853C340 + object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 5, 6, 0, 8, 17, 0, 0, 0, BattleFrontier_BattlePalaceLobby_EventScript_24D944, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 11, 8, 0, 2, 17, 0, 0, 0, BattleFrontier_BattlePalaceLobby_EventScript_24DC82, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MANIAC, 0, 0, 24, 5, 0, 8, 17, 0, 0, 0, BattleFrontier_BattlePalaceLobby_EventScript_24DC9D, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MAN_4, 0, 0, 18, 10, 0, 2, 17, 0, 0, 0, BattleFrontier_BattlePalaceLobby_EventScript_24DC8B, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_BEAUTY, 0, 0, 2, 10, 0, 2, 17, 0, 0, 0, BattleFrontier_BattlePalaceLobby_EventScript_24DC94, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 19, 6, 0, 8, 17, 0, 0, 0, BattleFrontier_BattlePalaceLobby_EventScript_24D956, 0, 0, 0 + +BattleFrontier_BattlePalaceLobby_MapWarps: @ 853C3D0 + warp_def 12, 11, 0, 2, BATTLE_FRONTIER_OUTSIDE_EAST + warp_def 13, 11, 0, 2, BATTLE_FRONTIER_OUTSIDE_EAST + warp_def 5, 4, 3, 0, BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR + +BattleFrontier_BattlePalaceLobby_MapBGEvents: @ 853C3E8 + bg_event 2, 7, 0, 1, 0, BattleFrontier_BattlePalaceLobby_EventScript_24DC50 + bg_event 16, 7, 0, 1, 0, BattleFrontier_BattlePalaceLobby_EventScript_24DC69 + bg_event 10, 4, 0, 0, 0, BattleFrontier_BattlePalaceLobby_EventScript_24DCA6 + +BattleFrontier_BattlePalaceLobby_MapEvents:: @ 853C40C + map_events BattleFrontier_BattlePalaceLobby_MapObjects, BattleFrontier_BattlePalaceLobby_MapWarps, 0x0, BattleFrontier_BattlePalaceLobby_MapBGEvents + diff --git a/data/maps/events/BattleFrontier_BattlePikeCorridor.inc b/data/maps/events/BattleFrontier_BattlePikeCorridor.inc new file mode 100644 index 0000000000..2e6b8ecc7d --- /dev/null +++ b/data/maps/events/BattleFrontier_BattlePikeCorridor.inc @@ -0,0 +1,6 @@ +BattleFrontier_BattlePikeCorridor_MapObjects: @ 853CC54 + object_event 1, MAP_OBJ_GFX_WOMAN_6, 0, 0, 6, 6, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + +BattleFrontier_BattlePikeCorridor_MapEvents:: @ 853CC6C + map_events BattleFrontier_BattlePikeCorridor_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattlePikeLobby.inc b/data/maps/events/BattleFrontier_BattlePikeLobby.inc new file mode 100644 index 0000000000..4580d03584 --- /dev/null +++ b/data/maps/events/BattleFrontier_BattlePikeLobby.inc @@ -0,0 +1,18 @@ +BattleFrontier_BattlePikeLobby_MapObjects: @ 853CBB0 + object_event 1, MAP_OBJ_GFX_WOMAN_6, 0, 0, 5, 5, 3, 8, 17, 0, 0, 0, BattleFrontier_BattlePikeLobby_EventScript_25B868, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_HIKER, 0, 0, 10, 9, 3, 7, 17, 0, 0, 0, BattleFrontier_BattlePikeLobby_EventScript_25BAAB, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 0, 5, 3, 9, 17, 0, 0, 0, BattleFrontier_BattlePikeLobby_EventScript_25BAB4, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BEAUTY, 0, 0, 8, 9, 3, 2, 17, 0, 0, 0, BattleFrontier_BattlePikeLobby_EventScript_25BABD, 0, 0, 0 + +BattleFrontier_BattlePikeLobby_MapWarps: @ 853CC10 + warp_def 5, 12, 0, 0, BATTLE_FRONTIER_OUTSIDE_WEST + warp_def 4, 12, 0, 0, BATTLE_FRONTIER_OUTSIDE_WEST + warp_def 6, 12, 0, 0, BATTLE_FRONTIER_OUTSIDE_WEST + +BattleFrontier_BattlePikeLobby_MapBGEvents: @ 853CC28 + bg_event 8, 3, 0, 0, 0, BattleFrontier_BattlePikeLobby_EventScript_25BA80 + bg_event 1, 3, 0, 0, 0, BattleFrontier_BattlePikeLobby_EventScript_25BAC6 + +BattleFrontier_BattlePikeLobby_MapEvents:: @ 853CC40 + map_events BattleFrontier_BattlePikeLobby_MapObjects, BattleFrontier_BattlePikeLobby_MapWarps, 0x0, BattleFrontier_BattlePikeLobby_MapBGEvents + diff --git a/data/maps/events/BattleFrontier_BattlePikeRandomRoom1.inc b/data/maps/events/BattleFrontier_BattlePikeRandomRoom1.inc new file mode 100644 index 0000000000..40d5db12b7 --- /dev/null +++ b/data/maps/events/BattleFrontier_BattlePikeRandomRoom1.inc @@ -0,0 +1,16 @@ +BattleFrontier_BattlePikeRandomRoom1_MapObjects: @ 853CD54 + object_event 1, MAP_OBJ_GFX_HIPSTER, 0, 0, 4, 4, 3, 8, 17, 0, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D7ED, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TRADER, 0, 0, 3, 4, 3, 8, 17, 0, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D88D, 0, 0, 0 + +BattleFrontier_BattlePikeRandomRoom1_MapCoordEvents: @ 853CD84 + coord_event 4, 3, 3, 0, VAR_0x4001, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2 + coord_event 3, 6, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082 + coord_event 3, 7, 3, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D + coord_event 4, 6, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082 + coord_event 5, 6, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082 + coord_event 4, 7, 3, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D + coord_event 5, 7, 3, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D + +BattleFrontier_BattlePikeRandomRoom1_MapEvents:: @ 853CDF4 + map_events BattleFrontier_BattlePikeRandomRoom1_MapObjects, 0x0, BattleFrontier_BattlePikeRandomRoom1_MapCoordEvents, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattlePikeRandomRoom2.inc b/data/maps/events/BattleFrontier_BattlePikeRandomRoom2.inc new file mode 100644 index 0000000000..0788826172 --- /dev/null +++ b/data/maps/events/BattleFrontier_BattlePikeRandomRoom2.inc @@ -0,0 +1,6 @@ +BattleFrontier_BattlePikeRandomRoom2_MapObjects: @ 853CE08 + object_event 1, MAP_OBJ_GFX_WOMAN_6, 0, 0, 2, 4, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + +BattleFrontier_BattlePikeRandomRoom2_MapEvents:: @ 853CE20 + map_events BattleFrontier_BattlePikeRandomRoom2_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattlePikeRandomRoom3.inc b/data/maps/events/BattleFrontier_BattlePikeRandomRoom3.inc new file mode 100644 index 0000000000..d2988ab500 --- /dev/null +++ b/data/maps/events/BattleFrontier_BattlePikeRandomRoom3.inc @@ -0,0 +1,12 @@ +BattleFrontier_BattlePikeRandomRoom3_MapCoordEvents: @ 853CE34 + coord_event 4, 3, 3, 0, VAR_0x4001, 0, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174 + coord_event 3, 18, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202 + coord_event 4, 18, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202 + coord_event 5, 18, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202 + coord_event 3, 19, 3, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D + coord_event 4, 19, 3, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D + coord_event 5, 19, 3, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D + +BattleFrontier_BattlePikeRandomRoom3_MapEvents:: @ 853CEA4 + map_events 0x0, 0x0, BattleFrontier_BattlePikeRandomRoom3_MapCoordEvents, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattlePikeThreePathRoom.inc b/data/maps/events/BattleFrontier_BattlePikeThreePathRoom.inc new file mode 100644 index 0000000000..9345b58194 --- /dev/null +++ b/data/maps/events/BattleFrontier_BattlePikeThreePathRoom.inc @@ -0,0 +1,18 @@ +BattleFrontier_BattlePikeThreePathRoom_MapObjects: @ 853CC80 + object_event 1, MAP_OBJ_GFX_WOMAN_6, 0, 0, 4, 10, 3, 10, 0, 0, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C908, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_6, 0, 0, 8, 5, 3, 8, 0, 0, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CABB, 0, 0, 0 + +BattleFrontier_BattlePikeThreePathRoom_MapCoordEvents: @ 853CCB0 + coord_event 2, 3, 3, 0, VAR_0x4001, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F4E + coord_event 6, 3, 3, 0, VAR_0x4001, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F59 + coord_event 10, 3, 3, 0, VAR_0x4001, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F64 + coord_event 5, 10, 0, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D + coord_event 6, 10, 0, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D + coord_event 6, 9, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062 + coord_event 5, 9, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062 + coord_event 7, 9, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062 + coord_event 7, 10, 0, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D + +BattleFrontier_BattlePikeThreePathRoom_MapEvents:: @ 853CD40 + map_events BattleFrontier_BattlePikeThreePathRoom_MapObjects, 0x0, BattleFrontier_BattlePikeThreePathRoom_MapCoordEvents, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattlePointExchangeServiceCorner.inc b/data/maps/events/BattleFrontier_BattlePointExchangeServiceCorner.inc new file mode 100644 index 0000000000..5e5a23fa4a --- /dev/null +++ b/data/maps/events/BattleFrontier_BattlePointExchangeServiceCorner.inc @@ -0,0 +1,19 @@ +BattleFrontier_BattlePointExchangeServiceCorner_MapObjects: @ 853D018 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 4, 4, 0, 9, 0, 0, 0, 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F173, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BOY_4, 0, 0, 0, 5, 0, 10, 17, 0, 0, 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7E8, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_2, 0, 0, 0, 4, 0, 8, 17, 0, 0, 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7DD, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_SAILOR, 0, 0, 14, 6, 0, 2, 17, 0, 0, 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7D4, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_MAN_6, 0, 0, 1, 9, 0, 2, 17, 0, 0, 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7CB, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_TEALA, 0, 0, 5, 5, 0, 8, 0, 0, 0, 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F37C, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_TEALA, 0, 0, 9, 5, 0, 8, 0, 0, 0, 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F49F, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_TEALA, 0, 0, 10, 4, 0, 10, 0, 0, 0, 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5F0, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_GIRL_1, 0, 0, 12, 10, 0, 2, 17, 0, 0, 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7F1, 0, 0, 0 + +BattleFrontier_BattlePointExchangeServiceCorner_MapWarps: @ 853D0F0 + warp_def 7, 10, 0, 6, BATTLE_FRONTIER_OUTSIDE_EAST + warp_def 6, 10, 0, 6, BATTLE_FRONTIER_OUTSIDE_EAST + warp_def 8, 10, 0, 6, BATTLE_FRONTIER_OUTSIDE_EAST + +BattleFrontier_BattlePointExchangeServiceCorner_MapEvents:: @ 853D108 + map_events BattleFrontier_BattlePointExchangeServiceCorner_MapObjects, BattleFrontier_BattlePointExchangeServiceCorner_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattlePyramidEmptySquare.inc b/data/maps/events/BattleFrontier_BattlePyramidEmptySquare.inc new file mode 100644 index 0000000000..aba4f907de --- /dev/null +++ b/data/maps/events/BattleFrontier_BattlePyramidEmptySquare.inc @@ -0,0 +1,21 @@ +BattleFrontier_BattlePyramidEmptySquare_MapObjects: @ 853C62C + object_event 1, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 0, 0, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 1, 0, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 2, 0, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 3, 0, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 4, 0, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 5, 0, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 6, 0, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 7, 0, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 0, 1, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 1, 1, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 3, 1, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 4, 1, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 13, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 5, 1, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 6, 1, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 15, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 7, 1, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 16, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 2, 1, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + +BattleFrontier_BattlePyramidEmptySquare_MapEvents:: @ 853C7AC + map_events BattleFrontier_BattlePyramidEmptySquare_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattlePyramidLobby.inc b/data/maps/events/BattleFrontier_BattlePyramidLobby.inc new file mode 100644 index 0000000000..eb56352ed9 --- /dev/null +++ b/data/maps/events/BattleFrontier_BattlePyramidLobby.inc @@ -0,0 +1,16 @@ +BattleFrontier_BattlePyramidLobby_MapObjects: @ 853C598 + object_event 1, MAP_OBJ_GFX_HIKER, 0, 0, 7, 12, 4, 8, 17, 0, 0, 0, BattleFrontier_BattlePyramidLobby_EventScript_2508B1, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_HEX_MANIAC, 0, 0, 14, 13, 4, 9, 17, 0, 0, 0, BattleFrontier_BattlePyramidLobby_EventScript_250ACE, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_4, 0, 0, 2, 15, 4, 2, 17, 0, 0, 0, BattleFrontier_BattlePyramidLobby_EventScript_250E83, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_FAT_MAN, 0, 0, 12, 16, 4, 2, 17, 0, 0, 0, BattleFrontier_BattlePyramidLobby_EventScript_250E8C, 0, 0, 0 + +BattleFrontier_BattlePyramidLobby_MapWarps: @ 853C5F8 + warp_def 7, 17, 4, 3, BATTLE_FRONTIER_OUTSIDE_EAST + +BattleFrontier_BattlePyramidLobby_MapBGEvents: @ 853C600 + bg_event 5, 12, 0, 1, 0, BattleFrontier_BattlePyramidLobby_EventScript_250D42 + bg_event 1, 12, 0, 0, 0, BattleFrontier_BattlePyramidLobby_EventScript_250E95 + +BattleFrontier_BattlePyramidLobby_MapEvents:: @ 853C618 + map_events BattleFrontier_BattlePyramidLobby_MapObjects, BattleFrontier_BattlePyramidLobby_MapWarps, 0x0, BattleFrontier_BattlePyramidLobby_MapBGEvents + diff --git a/data/maps/events/BattleFrontier_BattlePyramidTop.inc b/data/maps/events/BattleFrontier_BattlePyramidTop.inc new file mode 100644 index 0000000000..d06650789e --- /dev/null +++ b/data/maps/events/BattleFrontier_BattlePyramidTop.inc @@ -0,0 +1,10 @@ +BattleFrontier_BattlePyramidTop_MapObjects: @ 853C7C0 + object_event 1, MAP_OBJ_GFX_HIKER, 0, 0, 17, 11, 6, 8, 17, 0, 0, 3, BattleFrontier_BattlePyramidTop_EventScript_2551D0, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BRANDON, 0, 0, 17, 7, 0, 7, 17, 0, 0, 0, 0x0, 0, 0, 0 + +BattleFrontier_BattlePyramidTop_MapCoordEvents: @ 853C7F0 + coord_event 17, 9, 4, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePyramidTop_EventScript_255256 + +BattleFrontier_BattlePyramidTop_MapEvents:: @ 853C800 + map_events BattleFrontier_BattlePyramidTop_MapObjects, 0x0, BattleFrontier_BattlePyramidTop_MapCoordEvents, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattleTowerBattleRoom.inc b/data/maps/events/BattleFrontier_BattleTowerBattleRoom.inc new file mode 100644 index 0000000000..c9b46f8ca4 --- /dev/null +++ b/data/maps/events/BattleFrontier_BattleTowerBattleRoom.inc @@ -0,0 +1,12 @@ +BattleFrontier_BattleTowerBattleRoom_MapObjects: @ 853B7D0 + object_event 1, MAP_OBJ_GFX_HIPSTER, 0, 0, 5, 1, 3, 8, 0, 0, 0, 0, 0x0, 888, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 1, 7, 3, 10, 0, 0, 0, 0, 0x0, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 4, 8, 3, 7, 0, 0, 0, 0, 0x0, 0, 0, 0 + +BattleFrontier_BattleTowerBattleRoom_MapWarps: @ 853B818 + warp_def 5, 8, 0, 2, BATTLE_FRONTIER_BATTLE_TOWER_LOBBY + warp_def 6, 8, 0, 2, BATTLE_FRONTIER_BATTLE_TOWER_LOBBY + +BattleFrontier_BattleTowerBattleRoom_MapEvents:: @ 853B828 + map_events BattleFrontier_BattleTowerBattleRoom_MapObjects, BattleFrontier_BattleTowerBattleRoom_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattleTowerBattleRoom2.inc b/data/maps/events/BattleFrontier_BattleTowerBattleRoom2.inc new file mode 100644 index 0000000000..afab09840a --- /dev/null +++ b/data/maps/events/BattleFrontier_BattleTowerBattleRoom2.inc @@ -0,0 +1,11 @@ +BattleFrontier_BattleTowerBattleRoom2_MapObjects: @ 853BFC4 + object_event 1, MAP_OBJ_GFX_HIPSTER, 0, 0, 5, 1, 3, 8, 0, 0, 0, 0, 0x0, 888, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 1, 4, 3, 10, 0, 0, 0, 0, 0x0, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 1, 5, 3, 10, 0, 0, 0, 0, 0x0, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_TRADER, 0, 0, 4, 1, 3, 8, 0, 0, 0, 0, 0x0, 888, 0, 0 + object_event 5, 255, 0, 0, 4, 8, 3, 7, 0, 0, 0, 0, 0x0, 0, 0, 0 + object_event 6, 254, 0, 0, 5, 8, 3, 7, 0, 0, 0, 0, 0x0, 0, 0, 0 + +BattleFrontier_BattleTowerBattleRoom2_MapEvents:: @ 853C054 + map_events BattleFrontier_BattleTowerBattleRoom2_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattleTowerCorridor.inc b/data/maps/events/BattleFrontier_BattleTowerCorridor.inc new file mode 100644 index 0000000000..75d51fb28e --- /dev/null +++ b/data/maps/events/BattleFrontier_BattleTowerCorridor.inc @@ -0,0 +1,6 @@ +BattleFrontier_BattleTowerCorridor_MapObjects: @ 853B7A4 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 9, 2, 3, 9, 0, 0, 0, 0, 0x0, 0, 0, 0 + +BattleFrontier_BattleTowerCorridor_MapEvents:: @ 853B7BC + map_events BattleFrontier_BattleTowerCorridor_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattleTowerCorridor2.inc b/data/maps/events/BattleFrontier_BattleTowerCorridor2.inc new file mode 100644 index 0000000000..083b877abc --- /dev/null +++ b/data/maps/events/BattleFrontier_BattleTowerCorridor2.inc @@ -0,0 +1,9 @@ +BattleFrontier_BattleTowerCorridor2_MapObjects: @ 853BF50 + object_event 1, 255, 0, 0, 1, 1, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 14, 3, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 1, 3, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 4, 254, 0, 0, 14, 1, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + +BattleFrontier_BattleTowerCorridor2_MapEvents:: @ 853BFB0 + map_events BattleFrontier_BattleTowerCorridor2_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattleTowerElevator.inc b/data/maps/events/BattleFrontier_BattleTowerElevator.inc new file mode 100644 index 0000000000..4f2a32d896 --- /dev/null +++ b/data/maps/events/BattleFrontier_BattleTowerElevator.inc @@ -0,0 +1,6 @@ +BattleFrontier_BattleTowerElevator_MapObjects: @ 853B778 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 1, 5, 3, 7, 0, 0, 0, 0, 0x0, 0, 0, 0 + +BattleFrontier_BattleTowerElevator_MapEvents:: @ 853B790 + map_events BattleFrontier_BattleTowerElevator_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_BattleTowerLobby.inc b/data/maps/events/BattleFrontier_BattleTowerLobby.inc new file mode 100644 index 0000000000..35f6e6bcaa --- /dev/null +++ b/data/maps/events/BattleFrontier_BattleTowerLobby.inc @@ -0,0 +1,26 @@ +BattleFrontier_BattleTowerLobby_MapObjects: @ 853B638 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 5, 3, 8, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23E936, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_5, 0, 0, 23, 5, 3, 8, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EEE7, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_7, 0, 0, 17, 8, 3, 2, 17, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EFB5, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BOY_1, 0, 0, 15, 9, 3, 2, 17, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EFBE, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_REPORTER_F, 0, 0, 11, 9, 3, 10, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_28CB96, 918, 0, 0 + object_event 6, MAP_OBJ_GFX_HIPSTER, 0, 0, 1, 5, 3, 8, 17, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_2B688D, 701, 0, 0 + object_event 7, MAP_OBJ_GFX_TEALA, 0, 0, 10, 5, 3, 8, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EA9F, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_TEALA, 0, 0, 14, 5, 3, 8, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EC08, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_TEALA, 0, 0, 18, 5, 3, 8, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23ED74, 0, 0, 0 + +BattleFrontier_BattleTowerLobby_MapWarps: @ 853B710 + warp_def 12, 9, 3, 0, BATTLE_FRONTIER_OUTSIDE_EAST + warp_def 13, 9, 3, 0, BATTLE_FRONTIER_OUTSIDE_EAST + warp_def 6, 1, 0, 0, BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM + +BattleFrontier_BattleTowerLobby_MapBGEvents: @ 853B728 + bg_event 4, 5, 0, 1, 0, BattleFrontier_BattleTowerLobby_EventScript_23EFC7 + bg_event 8, 5, 0, 1, 0, BattleFrontier_BattleTowerLobby_EventScript_23EFE0 + bg_event 12, 5, 0, 1, 0, BattleFrontier_BattleTowerLobby_EventScript_23EFF9 + bg_event 16, 5, 0, 1, 0, BattleFrontier_BattleTowerLobby_EventScript_23F012 + bg_event 2, 1, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23F4BE + +BattleFrontier_BattleTowerLobby_MapEvents:: @ 853B764 + map_events BattleFrontier_BattleTowerLobby_MapObjects, BattleFrontier_BattleTowerLobby_MapWarps, 0x0, BattleFrontier_BattleTowerLobby_MapBGEvents + diff --git a/data/maps/events/BattleFrontier_BattleTowerMultiBattleRoom.inc b/data/maps/events/BattleFrontier_BattleTowerMultiBattleRoom.inc new file mode 100644 index 0000000000..0292088de8 --- /dev/null +++ b/data/maps/events/BattleFrontier_BattleTowerMultiBattleRoom.inc @@ -0,0 +1,14 @@ +BattleFrontier_BattleTowerMultiBattleRoom_MapObjects: @ 853BE64 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 11, 2, 3, 8, 17, 0, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E7A, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 2, 10, 3, 1, 17, 0, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F29, 711, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 17, 11, 3, 14, 17, 0, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FFB, 712, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 6, 9, 3, 1, 17, 0, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244008, 713, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 8, 13, 3, 1, 17, 0, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244015, 714, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 10, 11, 3, 7, 17, 0, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244022, 715, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 13, 10, 3, 10, 17, 0, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24402F, 716, 0, 0 + object_event 8, 246, 0, 0, 15, 13, 3, 15, 17, 0, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24403C, 864, 0, 0 + object_event 9, 247, 0, 0, 4, 12, 3, 10, 17, 0, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244049, 865, 0, 0 + +BattleFrontier_BattleTowerMultiBattleRoom_MapEvents:: @ 853BF3C + map_events BattleFrontier_BattleTowerMultiBattleRoom_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_Lounge1.inc b/data/maps/events/BattleFrontier_Lounge1.inc new file mode 100644 index 0000000000..748d86b6c6 --- /dev/null +++ b/data/maps/events/BattleFrontier_Lounge1.inc @@ -0,0 +1,11 @@ +BattleFrontier_Lounge1_MapObjects: @ 853CFB4 + object_event 1, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 0, 6, 0, 10, 17, 0, 0, 0, BattleFrontier_Lounge1_EventScript_25E775, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BOY_3, 0, 0, 7, 6, 0, 2, 33, 0, 0, 0, BattleFrontier_Lounge1_EventScript_25E94D, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BOY_2, 0, 0, 5, 4, 0, 2, 18, 0, 0, 0, BattleFrontier_Lounge1_EventScript_25E956, 0, 0, 0 + +BattleFrontier_Lounge1_MapWarps: @ 853CFFC + warp_def 4, 9, 0, 5, BATTLE_FRONTIER_OUTSIDE_EAST + +BattleFrontier_Lounge1_MapEvents:: @ 853D004 + map_events BattleFrontier_Lounge1_MapObjects, BattleFrontier_Lounge1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_Lounge2.inc b/data/maps/events/BattleFrontier_Lounge2.inc new file mode 100644 index 0000000000..c31e86ab6d --- /dev/null +++ b/data/maps/events/BattleFrontier_Lounge2.inc @@ -0,0 +1,14 @@ +BattleFrontier_Lounge2_MapObjects: @ 853D11C + object_event 1, MAP_OBJ_GFX_MANIAC, 0, 0, 8, 4, 0, 10, 17, 0, 0, 0, BattleFrontier_Lounge2_EventScript_260643, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MANIAC, 0, 0, 10, 4, 0, 9, 17, 0, 0, 0, BattleFrontier_Lounge2_EventScript_26073C, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MANIAC, 0, 0, 10, 3, 0, 9, 17, 0, 0, 0, BattleFrontier_Lounge2_EventScript_260747, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_RUNNING_TRIATHLETE_F, 0, 0, 4, 6, 0, 2, 33, 0, 0, 0, BattleFrontier_Lounge2_EventScript_26075D, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_MANIAC, 0, 0, 10, 5, 0, 9, 17, 0, 0, 0, BattleFrontier_Lounge2_EventScript_260752, 0, 0, 0 + +BattleFrontier_Lounge2_MapWarps: @ 853D194 + warp_def 1, 7, 0, 3, BATTLE_FRONTIER_OUTSIDE_WEST + warp_def 2, 7, 0, 3, BATTLE_FRONTIER_OUTSIDE_WEST + +BattleFrontier_Lounge2_MapEvents:: @ 853D1A4 + map_events BattleFrontier_Lounge2_MapObjects, BattleFrontier_Lounge2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_Lounge3.inc b/data/maps/events/BattleFrontier_Lounge3.inc new file mode 100644 index 0000000000..0655cea909 --- /dev/null +++ b/data/maps/events/BattleFrontier_Lounge3.inc @@ -0,0 +1,13 @@ +BattleFrontier_Lounge3_MapObjects: @ 853D1B8 + object_event 1, MAP_OBJ_GFX_HIKER, 0, 0, 4, 6, 0, 7, 17, 0, 0, 0, BattleFrontier_Lounge3_EventScript_261D83, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_FAT_MAN, 0, 0, 4, 4, 0, 8, 17, 0, 0, 0, BattleFrontier_Lounge3_EventScript_261FE1, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_3, 0, 0, 3, 5, 0, 10, 17, 0, 0, 0, BattleFrontier_Lounge3_EventScript_261FC1, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_2, 0, 0, 5, 5, 0, 9, 17, 0, 0, 0, BattleFrontier_Lounge3_EventScript_261FD1, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_MAN_4, 0, 0, 0, 6, 0, 2, 48, 0, 0, 0, BattleFrontier_Lounge3_EventScript_261FB8, 0, 0, 0 + +BattleFrontier_Lounge3_MapWarps: @ 853D230 + warp_def 4, 9, 0, 9, BATTLE_FRONTIER_OUTSIDE_EAST + +BattleFrontier_Lounge3_MapEvents:: @ 853D238 + map_events BattleFrontier_Lounge3_MapObjects, BattleFrontier_Lounge3_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_Lounge4.inc b/data/maps/events/BattleFrontier_Lounge4.inc new file mode 100644 index 0000000000..ae4e7c4b70 --- /dev/null +++ b/data/maps/events/BattleFrontier_Lounge4.inc @@ -0,0 +1,11 @@ +BattleFrontier_Lounge4_MapObjects: @ 853D24C + object_event 1, MAP_OBJ_GFX_WOMAN_4, 0, 0, 4, 4, 0, 7, 17, 0, 0, 0, BattleFrontier_Lounge4_EventScript_26358D, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_COOK, 0, 0, 6, 6, 0, 2, 17, 0, 0, 0, BattleFrontier_Lounge4_EventScript_263596, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 0, 5, 0, 10, 18, 0, 0, 0, BattleFrontier_Lounge4_EventScript_26359F, 0, 0, 0 + +BattleFrontier_Lounge4_MapWarps: @ 853D294 + warp_def 4, 9, 0, 6, BATTLE_FRONTIER_OUTSIDE_WEST + +BattleFrontier_Lounge4_MapEvents:: @ 853D29C + map_events BattleFrontier_Lounge4_MapObjects, BattleFrontier_Lounge4_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_Lounge5.inc b/data/maps/events/BattleFrontier_Lounge5.inc new file mode 100644 index 0000000000..cc8759d1d1 --- /dev/null +++ b/data/maps/events/BattleFrontier_Lounge5.inc @@ -0,0 +1,13 @@ +BattleFrontier_Lounge5_MapObjects: @ 853D2EC + object_event 1, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 12, 4, 4, 9, 17, 0, 0, 0, BattleFrontier_Lounge5_EventScript_2645C6, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 0, 4, 3, 10, 17, 0, 0, 0, BattleFrontier_Lounge5_EventScript_264617, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 6, 5, 0, 2, 17, 0, 0, 0, BattleFrontier_Lounge5_EventScript_264620, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 11, 7, 0, 1, 17, 0, 0, 0, BattleFrontier_Lounge5_EventScript_264629, 0, 0, 0 + +BattleFrontier_Lounge5_MapWarps: @ 853D34C + warp_def 1, 7, 0, 7, BATTLE_FRONTIER_OUTSIDE_EAST + warp_def 2, 7, 0, 7, BATTLE_FRONTIER_OUTSIDE_EAST + +BattleFrontier_Lounge5_MapEvents:: @ 853D35C + map_events BattleFrontier_Lounge5_MapObjects, BattleFrontier_Lounge5_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_Lounge6.inc b/data/maps/events/BattleFrontier_Lounge6.inc new file mode 100644 index 0000000000..b2aa2b93fd --- /dev/null +++ b/data/maps/events/BattleFrontier_Lounge6.inc @@ -0,0 +1,9 @@ +BattleFrontier_Lounge6_MapObjects: @ 853D370 + object_event 1, MAP_OBJ_GFX_BEAUTY, 0, 0, 2, 4, 0, 10, 17, 0, 0, 0, BattleFrontier_Lounge6_EventScript_264FED, 0, 0, 0 + +BattleFrontier_Lounge6_MapWarps: @ 853D388 + warp_def 4, 9, 0, 8, BATTLE_FRONTIER_OUTSIDE_EAST + +BattleFrontier_Lounge6_MapEvents:: @ 853D390 + map_events BattleFrontier_Lounge6_MapObjects, BattleFrontier_Lounge6_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_Lounge7.inc b/data/maps/events/BattleFrontier_Lounge7.inc new file mode 100644 index 0000000000..43cb50ddfe --- /dev/null +++ b/data/maps/events/BattleFrontier_Lounge7.inc @@ -0,0 +1,12 @@ +BattleFrontier_Lounge7_MapObjects: @ 853D3A4 + object_event 1, MAP_OBJ_GFX_SAILOR, 0, 0, 0, 7, 0, 2, 17, 0, 0, 0, BattleFrontier_Lounge7_EventScript_2656DB, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 2, 5, 0, 10, 17, 0, 0, 0, BattleFrontier_Lounge7_EventScript_265255, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 6, 5, 0, 9, 17, 0, 0, 0, BattleFrontier_Lounge7_EventScript_265445, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 8, 3, 0, 9, 17, 0, 0, 0, BattleFrontier_Lounge7_EventScript_2656E4, 0, 0, 0 + +BattleFrontier_Lounge7_MapWarps: @ 853D404 + warp_def 4, 9, 0, 7, BATTLE_FRONTIER_OUTSIDE_WEST + +BattleFrontier_Lounge7_MapEvents:: @ 853D40C + map_events BattleFrontier_Lounge7_MapObjects, BattleFrontier_Lounge7_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_Lounge8.inc b/data/maps/events/BattleFrontier_Lounge8.inc new file mode 100644 index 0000000000..0420a702f5 --- /dev/null +++ b/data/maps/events/BattleFrontier_Lounge8.inc @@ -0,0 +1,11 @@ +BattleFrontier_Lounge8_MapObjects: @ 853D4BC + object_event 1, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 4, 5, 0, 2, 34, 0, 0, 0, BattleFrontier_Lounge8_EventScript_2676DC, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_4, 0, 0, 8, 7, 0, 9, 17, 0, 0, 0, BattleFrontier_Lounge8_EventScript_2676CA, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_7, 0, 0, 8, 4, 0, 9, 17, 0, 0, 0, BattleFrontier_Lounge8_EventScript_2676D3, 0, 0, 0 + +BattleFrontier_Lounge8_MapWarps: @ 853D504 + warp_def 4, 9, 0, 10, BATTLE_FRONTIER_OUTSIDE_EAST + +BattleFrontier_Lounge8_MapEvents:: @ 853D50C + map_events BattleFrontier_Lounge8_MapObjects, BattleFrontier_Lounge8_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_Lounge9.inc b/data/maps/events/BattleFrontier_Lounge9.inc new file mode 100644 index 0000000000..ff96fc94fe --- /dev/null +++ b/data/maps/events/BattleFrontier_Lounge9.inc @@ -0,0 +1,10 @@ +BattleFrontier_Lounge9_MapObjects: @ 853D520 + object_event 1, MAP_OBJ_GFX_GIRL_2, 0, 0, 6, 3, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + +BattleFrontier_Lounge9_MapWarps: @ 853D538 + warp_def 1, 9, 0, 11, BATTLE_FRONTIER_OUTSIDE_EAST + warp_def 2, 9, 0, 11, BATTLE_FRONTIER_OUTSIDE_EAST + +BattleFrontier_Lounge9_MapEvents:: @ 853D548 + map_events BattleFrontier_Lounge9_MapObjects, BattleFrontier_Lounge9_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_Mart.inc b/data/maps/events/BattleFrontier_Mart.inc new file mode 100644 index 0000000000..5ce69f2ee6 --- /dev/null +++ b/data/maps/events/BattleFrontier_Mart.inc @@ -0,0 +1,13 @@ +BattleFrontier_Mart_MapObjects: @ 853D68C + object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, BattleFrontier_Mart_EventScript_267ACC, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_OLD_WOMAN_2, 0, 0, 5, 4, 3, 10, 0, 0, 0, 0, BattleFrontier_Mart_EventScript_267B0B, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 5, 5, 3, 10, 0, 0, 0, 0, BattleFrontier_Mart_EventScript_267B02, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BOY_2, 0, 0, 8, 4, 3, 9, 0, 0, 0, 0, BattleFrontier_Mart_EventScript_267B20, 0, 0, 0 + +BattleFrontier_Mart_MapWarps: @ 853D6EC + warp_def 3, 7, 0, 4, BATTLE_FRONTIER_OUTSIDE_WEST + warp_def 4, 7, 0, 4, BATTLE_FRONTIER_OUTSIDE_WEST + +BattleFrontier_Mart_MapEvents:: @ 853D6FC + map_events BattleFrontier_Mart_MapObjects, BattleFrontier_Mart_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_OutsideEast.inc b/data/maps/events/BattleFrontier_OutsideEast.inc new file mode 100644 index 0000000000..a99a7fcf0c --- /dev/null +++ b/data/maps/events/BattleFrontier_OutsideEast.inc @@ -0,0 +1,57 @@ +BattleFrontier_OutsideEast_MapObjects: @ 853BB10 + object_event 1, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 20, 17, 0, 27, 19, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C67, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_4, 0, 0, 42, 15, 0, 2, 49, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C70, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_HIKER, 0, 0, 53, 6, 0, 8, 2, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C79, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_HEX_MANIAC, 0, 0, 54, 16, 0, 2, 18, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C82, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 37, 32, 0, 7, 0, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C8B, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_COOK, 0, 0, 41, 56, 3, 9, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C94, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 8, 46, 0, 1, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242CBB, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_RUNNING_TRIATHLETE_M, 0, 0, 34, 41, 0, 28, 19, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242CE1, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_BOY_4, 0, 0, 45, 47, 3, 1, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242CB2, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_CYCLING_TRIATHLETE_F, 0, 0, 59, 35, 0, 26, 97, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242CC4, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 18, 40, 0, 1, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242CCD, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_MAN_1, 0, 0, 17, 40, 0, 10, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242CD6, 0, 0, 0 + object_event 13, MAP_OBJ_GFX_ZIGZAGOON_2, 0, 0, 40, 56, 3, 1, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C9F, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_SUDOWOODO, 0, 0, 54, 62, 3, 8, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242CEA, 842, 0, 0 + object_event 15, MAP_OBJ_GFX_MANIAC, 0, 0, 42, 34, 3, 1, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242D79, 0, 0, 0 + object_event 16, MAP_OBJ_GFX_GIRL_3, 0, 0, 51, 53, 3, 2, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242D82, 0, 0, 0 + object_event 17, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 62, 18, 0, 46, 98, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242D8B, 0, 0, 0 + object_event 18, MAP_OBJ_GFX_MAN_4, 0, 0, 11, 21, 0, 1, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242D94, 0, 0, 0 + object_event 19, MAP_OBJ_GFX_WOMAN_7, 0, 0, 10, 21, 0, 10, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242D9D, 0, 0, 0 + object_event 20, MAP_OBJ_GFX_WOMAN_7, 0, 0, 16, 30, 0, 2, 35, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242DA6, 0, 0, 0 + object_event 21, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 33, 14, 0, 7, 0, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242DAF, 0, 0, 0 + object_event 22, MAP_OBJ_GFX_MANIAC, 0, 0, 54, 31, 0, 9, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242DB8, 0, 0, 0 + object_event 23, MAP_OBJ_GFX_WOMAN_5, 0, 0, 54, 32, 0, 7, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242DC3, 0, 0, 0 + object_event 24, MAP_OBJ_GFX_OLD_WOMAN_2, 0, 0, 58, 55, 3, 17, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242DE9, 0, 0, 0 + object_event 25, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 48, 41, 0, 7, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242DE0, 0, 0, 0 + object_event 26, MAP_OBJ_GFX_CAMPER, 0, 0, 29, 14, 0, 7, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242E08, 0, 0, 0 + +BattleFrontier_OutsideEast_MapWarps: @ 853BD80 + warp_def 16, 14, 0, 0, BATTLE_FRONTIER_BATTLE_TOWER_LOBBY + warp_def 39, 29, 0, 0, BATTLE_FRONTIER_BATTLE_ARENA_LOBBY + warp_def 45, 56, 0, 0, BATTLE_FRONTIER_BATTLE_PALACE_LOBBY + warp_def 58, 14, 0, 0, BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY + warp_def 35, 12, 3, 0, BATTLE_FRONTIER_RANKING_HALL + warp_def 4, 44, 0, 0, BATTLE_FRONTIER_LOUNGE_1 + warp_def 10, 28, 0, 0, BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER + warp_def 22, 51, 0, 0, BATTLE_FRONTIER_LOUNGE_5 + warp_def 5, 8, 0, 0, BATTLE_FRONTIER_LOUNGE_6 + warp_def 65, 31, 0, 0, BATTLE_FRONTIER_LOUNGE_3 + warp_def 14, 51, 0, 0, BATTLE_FRONTIER_LOUNGE_8 + warp_def 21, 45, 0, 0, BATTLE_FRONTIER_LOUNGE_9 + warp_def 3, 51, 0, 0, BATTLE_FRONTIER_POKEMON_CENTER_1F + warp_def 28, 7, 0, 0, ARTISAN_CAVE_1F + +BattleFrontier_OutsideEast_MapBGEvents: @ 853BDF0 + bg_event 13, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C43 + bg_event 43, 56, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C4C + bg_event 36, 34, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C55 + bg_event 62, 15, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C5E + bg_event 7, 29, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242DD7 + bg_event 32, 13, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242DCE + bg_event 4, 51, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_271E73 + bg_event 5, 51, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_271E73 + +BattleFrontier_OutsideEast_MapEvents:: @ 853BE50 + map_events BattleFrontier_OutsideEast_MapObjects, BattleFrontier_OutsideEast_MapWarps, 0x0, BattleFrontier_OutsideEast_MapBGEvents + diff --git a/data/maps/events/BattleFrontier_OutsideWest.inc b/data/maps/events/BattleFrontier_OutsideWest.inc new file mode 100644 index 0000000000..e6f2eef7d3 --- /dev/null +++ b/data/maps/events/BattleFrontier_OutsideWest.inc @@ -0,0 +1,49 @@ +BattleFrontier_OutsideWest_MapObjects: @ 853B350 + object_event 1, MAP_OBJ_GFX_BOY_2, 0, 0, 26, 38, 0, 2, 34, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D50F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SS_TIDAL, 0, 0, 20, 70, 0, 10, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BEAUTY, 0, 0, 19, 68, 0, 7, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D3F0, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 26, 20, 0, 5, 8, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D68B, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_MAN_4, 0, 0, 27, 30, 0, 2, 49, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D52D, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_WOMAN_7, 0, 0, 33, 41, 0, 2, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D69D, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_FAT_MAN, 0, 0, 28, 43, 0, 3, 48, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D6A6, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 17, 20, 0, 2, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D679, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_MANIAC, 0, 0, 13, 44, 0, 7, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D536, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_MANIAC, 0, 0, 14, 44, 0, 7, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D53D, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_MAN_6, 0, 0, 23, 47, 0, 15, 34, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D694, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_GIRL_1, 0, 0, 38, 27, 0, 2, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D5C6, 0, 0, 0 + object_event 13, MAP_OBJ_GFX_WOMAN_4, 0, 0, 45, 18, 0, 3, 49, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D635, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_CAMPER, 0, 0, 9, 47, 0, 15, 33, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D57F, 0, 0, 0 + object_event 15, MAP_OBJ_GFX_LASS, 0, 0, 35, 5, 0, 2, 18, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D682, 0, 0, 0 + object_event 16, MAP_OBJ_GFX_MAN_2, 0, 0, 11, 66, 0, 9, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_249E19, 0, 0, 0 + object_event 17, MAP_OBJ_GFX_FISHERMAN, 0, 0, 31, 31, 0, 8, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D667, 0, 0, 0 + object_event 18, MAP_OBJ_GFX_FISHERMAN, 0, 0, 42, 48, 0, 18, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D518, 0, 0, 0 + object_event 19, MAP_OBJ_GFX_FAT_MAN, 0, 0, 38, 22, 0, 3, 48, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D6AF, 0, 0, 0 + object_event 20, MAP_OBJ_GFX_WOMAN_3, 0, 0, 12, 9, 0, 8, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D6B8, 0, 0, 0 + object_event 21, MAP_OBJ_GFX_BOY_1, 0, 0, 12, 10, 0, 7, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D6C3, 0, 0, 0 + object_event 22, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 11, 10, 0, 23, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D6CE, 0, 0, 0 + object_event 23, MAP_OBJ_GFX_MAN_5, 0, 0, 8, 5, 0, 8, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D6D7, 0, 0, 0 + object_event 24, MAP_OBJ_GFX_WOMAN_2, 0, 0, 4, 26, 0, 24, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D6EE, 0, 0, 0 + +BattleFrontier_OutsideWest_MapWarps: @ 853B590 + warp_def 42, 27, 0, 0, BATTLE_FRONTIER_BATTLE_PIKE_LOBBY + warp_def 19, 17, 0, 0, BATTLE_FRONTIER_BATTLE_DOME_LOBBY + warp_def 11, 38, 0, 0, BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY + warp_def 45, 44, 0, 0, BATTLE_FRONTIER_LOUNGE_2 + warp_def 51, 51, 0, 0, BATTLE_FRONTIER_MART + warp_def 44, 5, 0, 0, BATTLE_FRONTIER_SCOTTS_HOUSE + warp_def 53, 44, 0, 0, BATTLE_FRONTIER_LOUNGE_4 + warp_def 5, 20, 0, 0, BATTLE_FRONTIER_LOUNGE_7 + warp_def 26, 65, 0, 0, BATTLE_FRONTIER_RECEPTION_GATE + warp_def 26, 61, 0, 1, BATTLE_FRONTIER_RECEPTION_GATE + warp_def 39, 55, 0, 0, ARTISAN_CAVE_B1F + +BattleFrontier_OutsideWest_MapBGEvents: @ 853B5E8 + bg_event 15, 18, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D4E2 + bg_event 45, 30, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D4F4 + bg_event 16, 43, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D4EB + bg_event 52, 51, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_271E6A + bg_event 53, 51, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_271E6A + +BattleFrontier_OutsideWest_MapEvents:: @ 853B624 + map_events BattleFrontier_OutsideWest_MapObjects, BattleFrontier_OutsideWest_MapWarps, 0x0, BattleFrontier_OutsideWest_MapBGEvents + diff --git a/data/maps/events/BattleFrontier_PokemonCenter_1F.inc b/data/maps/events/BattleFrontier_PokemonCenter_1F.inc new file mode 100644 index 0000000000..0a89741358 --- /dev/null +++ b/data/maps/events/BattleFrontier_PokemonCenter_1F.inc @@ -0,0 +1,15 @@ +BattleFrontier_PokemonCenter_1F_MapObjects: @ 853D55C + object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, BattleFrontier_PokemonCenter_1F_EventScript_267908, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 4, 5, 3, 14, 1, 0, 0, 0, BattleFrontier_PokemonCenter_1F_EventScript_267916, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 11, 4, 3, 8, 1, 0, 0, 0, BattleFrontier_PokemonCenter_1F_EventScript_26791F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_PICNICKER, 0, 0, 2, 3, 3, 9, 1, 0, 0, 0, BattleFrontier_PokemonCenter_1F_EventScript_267928, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_SKITTY, 0, 0, 1, 3, 3, 10, 1, 0, 0, 0, BattleFrontier_PokemonCenter_1F_EventScript_267931, 0, 0, 0 + +BattleFrontier_PokemonCenter_1F_MapWarps: @ 853D5D4 + warp_def 7, 8, 3, 12, BATTLE_FRONTIER_OUTSIDE_EAST + warp_def 6, 8, 3, 12, BATTLE_FRONTIER_OUTSIDE_EAST + warp_def 1, 6, 4, 0, BATTLE_FRONTIER_POKEMON_CENTER_2F + +BattleFrontier_PokemonCenter_1F_MapEvents:: @ 853D5EC + map_events BattleFrontier_PokemonCenter_1F_MapObjects, BattleFrontier_PokemonCenter_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_PokemonCenter_2F.inc b/data/maps/events/BattleFrontier_PokemonCenter_2F.inc new file mode 100644 index 0000000000..44d40453f7 --- /dev/null +++ b/data/maps/events/BattleFrontier_PokemonCenter_2F.inc @@ -0,0 +1,14 @@ +BattleFrontier_PokemonCenter_2F_MapObjects: @ 853D600 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, BattleFrontier_PokemonCenter_2F_EventScript_27375B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 0, 8, 17, 0, 0, 0, BattleFrontier_PokemonCenter_2F_EventScript_273761, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, BattleFrontier_PokemonCenter_2F_EventScript_273767, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, BattleFrontier_PokemonCenter_2F_EventScript_276B03, 702, 0, 0 + +BattleFrontier_PokemonCenter_2F_MapWarps: @ 853D660 + warp_def 1, 6, 4, 2, BATTLE_FRONTIER_POKEMON_CENTER_1F + warp_def 5, 1, 3, 0, UNION_ROOM + warp_def 9, 1, 3, 0, TRADE_CENTER + +BattleFrontier_PokemonCenter_2F_MapEvents:: @ 853D678 + map_events BattleFrontier_PokemonCenter_2F_MapObjects, BattleFrontier_PokemonCenter_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_RankingHall.inc b/data/maps/events/BattleFrontier_RankingHall.inc new file mode 100644 index 0000000000..853f83ab75 --- /dev/null +++ b/data/maps/events/BattleFrontier_RankingHall.inc @@ -0,0 +1,26 @@ +BattleFrontier_RankingHall_MapObjects: @ 853CEB8 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 24, 13, 3, 8, 17, 0, 0, 0, BattleFrontier_RankingHall_EventScript_25E52F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 4, 10, 3, 2, 17, 0, 0, 0, BattleFrontier_RankingHall_EventScript_25E54A, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BOY_3, 0, 0, 44, 11, 3, 2, 17, 0, 0, 0, BattleFrontier_RankingHall_EventScript_25E573, 0, 0, 0 + +BattleFrontier_RankingHall_MapWarps: @ 853CF00 + warp_def 26, 14, 3, 4, BATTLE_FRONTIER_OUTSIDE_EAST + warp_def 27, 14, 3, 4, BATTLE_FRONTIER_OUTSIDE_EAST + +BattleFrontier_RankingHall_MapBGEvents: @ 853CF10 + bg_event 26, 9, 0, 1, 0, BattleFrontier_RankingHall_EventScript_25E4AA + bg_event 23, 8, 0, 1, 0, BattleFrontier_RankingHall_EventScript_25E4B6 + bg_event 26, 5, 0, 1, 0, BattleFrontier_RankingHall_EventScript_25E4C2 + bg_event 29, 8, 0, 1, 0, BattleFrontier_RankingHall_EventScript_25E4CE + bg_event 42, 9, 0, 1, 0, BattleFrontier_RankingHall_EventScript_25E4DA + bg_event 46, 9, 0, 1, 0, BattleFrontier_RankingHall_EventScript_25E4E6 + bg_event 10, 9, 0, 1, 0, BattleFrontier_RankingHall_EventScript_25E4F2 + bg_event 8, 7, 0, 1, 0, BattleFrontier_RankingHall_EventScript_25E4FE + bg_event 6, 9, 0, 1, 0, BattleFrontier_RankingHall_EventScript_25E50A + bg_event 44, 7, 0, 1, 0, BattleFrontier_RankingHall_EventScript_25E516 + bg_event 16, 8, 0, 0, 0, BattleFrontier_RankingHall_EventScript_25E538 + bg_event 36, 8, 0, 0, 0, BattleFrontier_RankingHall_EventScript_25E541 + +BattleFrontier_RankingHall_MapEvents:: @ 853CFA0 + map_events BattleFrontier_RankingHall_MapObjects, BattleFrontier_RankingHall_MapWarps, 0x0, BattleFrontier_RankingHall_MapBGEvents + diff --git a/data/maps/events/BattleFrontier_ReceptionGate.inc b/data/maps/events/BattleFrontier_ReceptionGate.inc new file mode 100644 index 0000000000..6417232573 --- /dev/null +++ b/data/maps/events/BattleFrontier_ReceptionGate.inc @@ -0,0 +1,14 @@ +BattleFrontier_ReceptionGate_MapObjects: @ 853D420 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 0, 11, 0, 10, 17, 0, 0, 0, BattleFrontier_ReceptionGate_EventScript_2662FC, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 8, 11, 0, 9, 17, 0, 0, 0, BattleFrontier_ReceptionGate_EventScript_266310, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_2, 0, 0, 8, 4, 0, 9, 17, 0, 0, 0, BattleFrontier_ReceptionGate_EventScript_266436, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_SCOTT, 0, 0, 4, 5, 3, 8, 17, 0, 0, 0, 0x0, 836, 0, 0 + object_event 5, MAP_OBJ_GFX_MAN_2, 0, 0, 0, 4, 0, 10, 17, 0, 0, 0, BattleFrontier_ReceptionGate_EventScript_2664F4, 0, 0, 0 + +BattleFrontier_ReceptionGate_MapWarps: @ 853D498 + warp_def 4, 13, 0, 8, BATTLE_FRONTIER_OUTSIDE_WEST + warp_def 4, 1, 0, 9, BATTLE_FRONTIER_OUTSIDE_WEST + +BattleFrontier_ReceptionGate_MapEvents:: @ 853D4A8 + map_events BattleFrontier_ReceptionGate_MapObjects, BattleFrontier_ReceptionGate_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/BattleFrontier_ScottsHouse.inc b/data/maps/events/BattleFrontier_ScottsHouse.inc new file mode 100644 index 0000000000..fd9f2f522d --- /dev/null +++ b/data/maps/events/BattleFrontier_ScottsHouse.inc @@ -0,0 +1,10 @@ +BattleFrontier_ScottsHouse_MapObjects: @ 853D2B0 + object_event 1, MAP_OBJ_GFX_SCOTT, 0, 0, 2, 3, 3, 1, 17, 0, 0, 0, BattleFrontier_ScottsHouse_EventScript_2636A8, 0, 0, 0 + +BattleFrontier_ScottsHouse_MapWarps: @ 853D2C8 + warp_def 2, 7, 3, 5, BATTLE_FRONTIER_OUTSIDE_WEST + warp_def 3, 7, 3, 5, BATTLE_FRONTIER_OUTSIDE_WEST + +BattleFrontier_ScottsHouse_MapEvents:: @ 853D2D8 + map_events BattleFrontier_ScottsHouse_MapObjects, BattleFrontier_ScottsHouse_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/BattlePyramidSquare01.inc b/data/maps/events/BattlePyramidSquare01.inc new file mode 100644 index 0000000000..f3c2602432 --- /dev/null +++ b/data/maps/events/BattlePyramidSquare01.inc @@ -0,0 +1,12 @@ +BattlePyramidSquare01_MapObjects: @ 853A460 + object_event 1, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 2, 3, 4, 18, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GIRL_3, 0, 0, 5, 3, 4, 17, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BOY_4, 0, 0, 2, 6, 4, 16, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BOY_2, 0, 0, 6, 6, 4, 9, 17, 0, 1, 4, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 1, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 4, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 4, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + +BattlePyramidSquare01_MapEvents:: @ 853A508 + map_events BattlePyramidSquare01_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattlePyramidSquare02.inc b/data/maps/events/BattlePyramidSquare02.inc new file mode 100644 index 0000000000..790fb67a07 --- /dev/null +++ b/data/maps/events/BattlePyramidSquare02.inc @@ -0,0 +1,12 @@ +BattlePyramidSquare02_MapObjects: @ 853A51C + object_event 1, MAP_OBJ_GFX_BOY_3, 0, 0, 2, 1, 4, 18, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 5, 6, 4, 15, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_FAT_MAN, 0, 0, 2, 6, 4, 16, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 5, 1, 4, 17, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 6, 5, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 0, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 2, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + +BattlePyramidSquare02_MapEvents:: @ 853A5C4 + map_events BattlePyramidSquare02_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattlePyramidSquare03.inc b/data/maps/events/BattlePyramidSquare03.inc new file mode 100644 index 0000000000..a8c8c59a70 --- /dev/null +++ b/data/maps/events/BattlePyramidSquare03.inc @@ -0,0 +1,12 @@ +BattlePyramidSquare03_MapObjects: @ 853A5D8 + object_event 1, MAP_OBJ_GFX_BOY_1, 0, 0, 2, 1, 4, 18, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 6, 1, 4, 17, 17, 0, 1, 4, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_FISHERMAN, 0, 0, 6, 4, 4, 15, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MAN_4, 0, 0, 3, 4, 4, 18, 17, 0, 1, 4, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 2, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 3, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 2, 7, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + +BattlePyramidSquare03_MapEvents:: @ 853A680 + map_events BattlePyramidSquare03_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattlePyramidSquare04.inc b/data/maps/events/BattlePyramidSquare04.inc new file mode 100644 index 0000000000..ca836e2b52 --- /dev/null +++ b/data/maps/events/BattlePyramidSquare04.inc @@ -0,0 +1,12 @@ +BattlePyramidSquare04_MapObjects: @ 853A694 + object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 7, 2, 4, 17, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GIRL_1, 0, 0, 7, 7, 4, 15, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BOY_4, 0, 0, 1, 4, 4, 18, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_GIRL_3, 0, 0, 6, 4, 4, 15, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 2, 6, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 5, 3, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 0, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + +BattlePyramidSquare04_MapEvents:: @ 853A73C + map_events BattlePyramidSquare04_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattlePyramidSquare05.inc b/data/maps/events/BattlePyramidSquare05.inc new file mode 100644 index 0000000000..0486f6283b --- /dev/null +++ b/data/maps/events/BattlePyramidSquare05.inc @@ -0,0 +1,12 @@ +BattlePyramidSquare05_MapObjects: @ 853A750 + object_event 1, MAP_OBJ_GFX_BOY_2, 0, 0, 6, 4, 4, 7, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BOY_2, 0, 0, 3, 7, 4, 16, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BOY_2, 0, 0, 3, 1, 4, 8, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BOY_2, 0, 0, 6, 0, 4, 17, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 3, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 6, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 3, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + +BattlePyramidSquare05_MapEvents:: @ 853A7F8 + map_events BattlePyramidSquare05_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattlePyramidSquare06.inc b/data/maps/events/BattlePyramidSquare06.inc new file mode 100644 index 0000000000..65d2f25762 --- /dev/null +++ b/data/maps/events/BattlePyramidSquare06.inc @@ -0,0 +1,12 @@ +BattlePyramidSquare06_MapObjects: @ 853A80C + object_event 1, MAP_OBJ_GFX_GIRL_2, 0, 0, 5, 2, 4, 17, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GIRL_2, 0, 0, 2, 5, 4, 16, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_GIRL_2, 0, 0, 5, 5, 4, 15, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_GIRL_2, 0, 0, 2, 2, 4, 18, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 7, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 3, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 0, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + +BattlePyramidSquare06_MapEvents:: @ 853A8B4 + map_events BattlePyramidSquare06_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattlePyramidSquare07.inc b/data/maps/events/BattlePyramidSquare07.inc new file mode 100644 index 0000000000..9a71e2a0b1 --- /dev/null +++ b/data/maps/events/BattlePyramidSquare07.inc @@ -0,0 +1,12 @@ +BattlePyramidSquare07_MapObjects: @ 853A8C8 + object_event 1, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 0, 6, 4, 10, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 4, 0, 4, 17, 17, 0, 1, 4, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 6, 0, 4, 8, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 4, 4, 4, 15, 17, 0, 1, 4, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 4, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 1, 1, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 7, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + +BattlePyramidSquare07_MapEvents:: @ 853A970 + map_events BattlePyramidSquare07_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattlePyramidSquare08.inc b/data/maps/events/BattlePyramidSquare08.inc new file mode 100644 index 0000000000..52a8d4911b --- /dev/null +++ b/data/maps/events/BattlePyramidSquare08.inc @@ -0,0 +1,12 @@ +BattlePyramidSquare08_MapObjects: @ 853A984 + object_event 1, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 1, 2, 4, 18, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 6, 5, 4, 15, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 1, 5, 4, 16, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 6, 2, 4, 15, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 3, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 6, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 1, 0, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + +BattlePyramidSquare08_MapEvents:: @ 853AA2C + map_events BattlePyramidSquare08_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattlePyramidSquare09.inc b/data/maps/events/BattlePyramidSquare09.inc new file mode 100644 index 0000000000..bc90aa6493 --- /dev/null +++ b/data/maps/events/BattlePyramidSquare09.inc @@ -0,0 +1,12 @@ +BattlePyramidSquare09_MapObjects: @ 853AA40 + object_event 1, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 3, 0, 4, 8, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 6, 4, 4, 15, 17, 0, 1, 4, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 6, 0, 4, 17, 17, 0, 1, 4, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 3, 5, 4, 15, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 0, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 1, 0, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 1, 6, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + +BattlePyramidSquare09_MapEvents:: @ 853AAE8 + map_events BattlePyramidSquare09_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattlePyramidSquare10.inc b/data/maps/events/BattlePyramidSquare10.inc new file mode 100644 index 0000000000..013cd7be6b --- /dev/null +++ b/data/maps/events/BattlePyramidSquare10.inc @@ -0,0 +1,12 @@ +BattlePyramidSquare10_MapObjects: @ 853AAFC + object_event 1, MAP_OBJ_GFX_GIRL_3, 0, 0, 3, 0, 4, 17, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GIRL_3, 0, 0, 0, 3, 4, 10, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_GIRL_3, 0, 0, 6, 5, 4, 9, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_GIRL_3, 0, 0, 0, 5, 4, 10, 17, 0, 1, 7, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 6, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 5, 3, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 1, 1, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + +BattlePyramidSquare10_MapEvents:: @ 853ABA4 + map_events BattlePyramidSquare10_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattlePyramidSquare11.inc b/data/maps/events/BattlePyramidSquare11.inc new file mode 100644 index 0000000000..96dc118e5c --- /dev/null +++ b/data/maps/events/BattlePyramidSquare11.inc @@ -0,0 +1,12 @@ +BattlePyramidSquare11_MapObjects: @ 853ABB8 + object_event 1, MAP_OBJ_GFX_BOY_4, 0, 0, 3, 2, 4, 8, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BOY_4, 0, 0, 3, 6, 4, 14, 17, 0, 1, 4, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BOY_4, 0, 0, 6, 4, 4, 8, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BOY_4, 0, 0, 6, 7, 4, 7, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 6, 2, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 1, 2, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 1, 5, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + +BattlePyramidSquare11_MapEvents:: @ 853AC60 + map_events BattlePyramidSquare11_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattlePyramidSquare12.inc b/data/maps/events/BattlePyramidSquare12.inc new file mode 100644 index 0000000000..10b301d6ca --- /dev/null +++ b/data/maps/events/BattlePyramidSquare12.inc @@ -0,0 +1,12 @@ +BattlePyramidSquare12_MapObjects: @ 853AC74 + object_event 1, MAP_OBJ_GFX_WOMAN_1, 0, 0, 7, 5, 4, 9, 17, 0, 1, 7, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_1, 0, 0, 0, 5, 4, 10, 17, 0, 1, 7, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_1, 0, 0, 3, 0, 4, 8, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_1, 0, 0, 3, 3, 4, 7, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 2, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 3, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 7, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + +BattlePyramidSquare12_MapEvents:: @ 853AD1C + map_events BattlePyramidSquare12_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattlePyramidSquare13.inc b/data/maps/events/BattlePyramidSquare13.inc new file mode 100644 index 0000000000..0a83a54412 --- /dev/null +++ b/data/maps/events/BattlePyramidSquare13.inc @@ -0,0 +1,12 @@ +BattlePyramidSquare13_MapObjects: @ 853AD30 + object_event 1, MAP_OBJ_GFX_FAT_MAN, 0, 0, 5, 1, 4, 8, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_FAT_MAN, 0, 0, 5, 6, 4, 7, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_FAT_MAN, 0, 0, 1, 1, 4, 8, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_FAT_MAN, 0, 0, 1, 6, 4, 7, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 1, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 0, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 3, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + +BattlePyramidSquare13_MapEvents:: @ 853ADD8 + map_events BattlePyramidSquare13_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattlePyramidSquare14.inc b/data/maps/events/BattlePyramidSquare14.inc new file mode 100644 index 0000000000..599219cf1c --- /dev/null +++ b/data/maps/events/BattlePyramidSquare14.inc @@ -0,0 +1,12 @@ +BattlePyramidSquare14_MapObjects: @ 853ADEC + object_event 1, MAP_OBJ_GFX_WOMAN_2, 0, 0, 7, 1, 4, 17, 17, 0, 1, 7, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 1, 1, 4, 18, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_2, 0, 0, 6, 5, 4, 15, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_2, 0, 0, 0, 5, 4, 16, 17, 0, 1, 7, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 5, 3, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 7, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 5, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + +BattlePyramidSquare14_MapEvents:: @ 853AE94 + map_events BattlePyramidSquare14_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattlePyramidSquare15.inc b/data/maps/events/BattlePyramidSquare15.inc new file mode 100644 index 0000000000..ef92bec9a5 --- /dev/null +++ b/data/maps/events/BattlePyramidSquare15.inc @@ -0,0 +1,12 @@ +BattlePyramidSquare15_MapObjects: @ 853AEA8 + object_event 1, MAP_OBJ_GFX_WOMAN_2, 0, 0, 2, 5, 4, 16, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 2, 1, 4, 18, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_2, 0, 0, 6, 4, 4, 15, 17, 0, 1, 4, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_2, 0, 0, 6, 0, 4, 17, 17, 0, 1, 4, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 7, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 5, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 1, 2, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + +BattlePyramidSquare15_MapEvents:: @ 853AF50 + map_events BattlePyramidSquare15_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BattlePyramidSquare16.inc b/data/maps/events/BattlePyramidSquare16.inc new file mode 100644 index 0000000000..1d7e44f706 --- /dev/null +++ b/data/maps/events/BattlePyramidSquare16.inc @@ -0,0 +1,12 @@ +BattlePyramidSquare16_MapObjects: @ 853AF64 + object_event 1, MAP_OBJ_GFX_WOMAN_2, 0, 0, 0, 6, 4, 16, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 1, 0, 0, 18, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_2, 0, 0, 6, 7, 4, 15, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_2, 0, 0, 6, 0, 4, 17, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 7, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 7, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 5, 2, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0 + +BattlePyramidSquare16_MapEvents:: @ 853B00C + map_events BattlePyramidSquare16_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/BirthIsland_Exterior.inc b/data/maps/events/BirthIsland_Exterior.inc new file mode 100644 index 0000000000..457d86314e --- /dev/null +++ b/data/maps/events/BirthIsland_Exterior.inc @@ -0,0 +1,10 @@ +BirthIsland_Exterior_MapObjects: @ 853D7DC + object_event 1, MAP_OBJ_GFX_DEOXYS_TRIANGLE, 0, 0, 15, 12, 3, 8, 17, 0, 0, 0, BirthIsland_Exterior_EventScript_267F83, 764, 0, 0 + object_event 2, MAP_OBJ_GFX_DEOXYS, 0, 0, 15, 3, 0, 8, 17, 0, 0, 0, 0x0, 763, 0, 0 + +BirthIsland_Exterior_MapWarps: @ 853D80C + warp_def 15, 24, 0, 0, BIRTH_ISLAND_HARBOR + +BirthIsland_Exterior_MapEvents:: @ 853D814 + map_events BirthIsland_Exterior_MapObjects, BirthIsland_Exterior_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/BirthIsland_Harbor.inc b/data/maps/events/BirthIsland_Harbor.inc new file mode 100644 index 0000000000..e035d2f442 --- /dev/null +++ b/data/maps/events/BirthIsland_Harbor.inc @@ -0,0 +1,10 @@ +BirthIsland_Harbor_MapObjects: @ 853D828 + object_event 1, MAP_OBJ_GFX_SAILOR, 0, 0, 8, 5, 0, 7, 17, 0, 0, 0, BirthIsland_Harbor_EventScript_26805D, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SS_TIDAL, 0, 0, 8, 7, 1, 10, 17, 0, 0, 0, 0x0, 0, 0, 0 + +BirthIsland_Harbor_MapWarps: @ 853D858 + warp_def 8, 2, 0, 0, BIRTH_ISLAND_EXTERIOR + +BirthIsland_Harbor_MapEvents:: @ 853D860 + map_events BirthIsland_Harbor_MapObjects, BirthIsland_Harbor_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/CaveOfOrigin_1F.inc b/data/maps/events/CaveOfOrigin_1F.inc new file mode 100644 index 0000000000..8dfdb78d00 --- /dev/null +++ b/data/maps/events/CaveOfOrigin_1F.inc @@ -0,0 +1,7 @@ +CaveOfOrigin_1F_MapWarps: @ 8535D40 + warp_def 11, 17, 3, 1, CAVE_OF_ORIGIN_ENTRANCE + warp_def 14, 5, 3, 0, CAVE_OF_ORIGIN_B1F + +CaveOfOrigin_1F_MapEvents:: @ 8535D50 + map_events 0x0, CaveOfOrigin_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/CaveOfOrigin_B1F.inc b/data/maps/events/CaveOfOrigin_B1F.inc new file mode 100644 index 0000000000..9c6cc18c64 --- /dev/null +++ b/data/maps/events/CaveOfOrigin_B1F.inc @@ -0,0 +1,9 @@ +CaveOfOrigin_B1F_MapObjects: @ 8535DD0 + object_event 1, MAP_OBJ_GFX_WALLACE, 0, 0, 9, 13, 3, 7, 17, 0, 0, 0, CaveOfOrigin_B1F_EventScript_2357A9, 820, 0, 0 + +CaveOfOrigin_B1F_MapWarps: @ 8535DE8 + warp_def 9, 3, 3, 1, CAVE_OF_ORIGIN_1F + +CaveOfOrigin_B1F_MapEvents:: @ 8535DF0 + map_events CaveOfOrigin_B1F_MapObjects, CaveOfOrigin_B1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/CaveOfOrigin_Entrance.inc b/data/maps/events/CaveOfOrigin_Entrance.inc new file mode 100644 index 0000000000..96946936b4 --- /dev/null +++ b/data/maps/events/CaveOfOrigin_Entrance.inc @@ -0,0 +1,7 @@ +CaveOfOrigin_Entrance_MapWarps: @ 8535D1C + warp_def 9, 20, 3, 3, SOOTOPOLIS_CITY + warp_def 9, 5, 3, 0, CAVE_OF_ORIGIN_1F + +CaveOfOrigin_Entrance_MapEvents:: @ 8535D2C + map_events 0x0, CaveOfOrigin_Entrance_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/CaveOfOrigin_UnusedRubySapphireMap1.inc b/data/maps/events/CaveOfOrigin_UnusedRubySapphireMap1.inc new file mode 100644 index 0000000000..f60a5e1a2f --- /dev/null +++ b/data/maps/events/CaveOfOrigin_UnusedRubySapphireMap1.inc @@ -0,0 +1,7 @@ +CaveOfOrigin_UnusedRubySapphireMap1_MapWarps: @ 8535D64 + warp_def 13, 5, 3, 1, CAVE_OF_ORIGIN_1F + warp_def 5, 11, 3, 0, CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP_2 + +CaveOfOrigin_UnusedRubySapphireMap1_MapEvents:: @ 8535D74 + map_events 0x0, CaveOfOrigin_UnusedRubySapphireMap1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/CaveOfOrigin_UnusedRubySapphireMap2.inc b/data/maps/events/CaveOfOrigin_UnusedRubySapphireMap2.inc new file mode 100644 index 0000000000..256b6179ed --- /dev/null +++ b/data/maps/events/CaveOfOrigin_UnusedRubySapphireMap2.inc @@ -0,0 +1,7 @@ +CaveOfOrigin_UnusedRubySapphireMap2_MapWarps: @ 8535D88 + warp_def 5, 10, 3, 1, CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP_1 + warp_def 8, 14, 3, 0, CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP_3 + +CaveOfOrigin_UnusedRubySapphireMap2_MapEvents:: @ 8535D98 + map_events 0x0, CaveOfOrigin_UnusedRubySapphireMap2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/CaveOfOrigin_UnusedRubySapphireMap3.inc b/data/maps/events/CaveOfOrigin_UnusedRubySapphireMap3.inc new file mode 100644 index 0000000000..87a99e5d21 --- /dev/null +++ b/data/maps/events/CaveOfOrigin_UnusedRubySapphireMap3.inc @@ -0,0 +1,7 @@ +CaveOfOrigin_UnusedRubySapphireMap3_MapWarps: @ 8535DAC + warp_def 7, 14, 3, 1, CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP_2 + warp_def 12, 6, 3, 0, CAVE_OF_ORIGIN_B1F + +CaveOfOrigin_UnusedRubySapphireMap3_MapEvents:: @ 8535DBC + map_events 0x0, CaveOfOrigin_UnusedRubySapphireMap3_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/DesertRuins.inc b/data/maps/events/DesertRuins.inc new file mode 100644 index 0000000000..4a78cae40c --- /dev/null +++ b/data/maps/events/DesertRuins.inc @@ -0,0 +1,16 @@ +DesertRuins_MapObjects: @ 8534354 + object_event 1, MAP_OBJ_GFX_REGIROCK, 0, 0, 8, 7, 3, 8, 0, 0, 0, 0, DesertRuins_EventScript_22DA02, 935, 0, 0 + +DesertRuins_MapWarps: @ 853436C + warp_def 8, 29, 3, 1, ROUTE_111 + warp_def 8, 20, 0, 2, DESERT_RUINS + warp_def 8, 11, 3, 1, DESERT_RUINS + +DesertRuins_MapBGEvents: @ 8534384 + bg_event 8, 20, 0, 0, 0, DesertRuins_EventScript_22D9DB + bg_event 7, 20, 0, 0, 0, DesertRuins_EventScript_22D9F8 + bg_event 9, 20, 0, 0, 0, DesertRuins_EventScript_22D9F8 + +DesertRuins_MapEvents:: @ 85343A8 + map_events DesertRuins_MapObjects, DesertRuins_MapWarps, 0x0, DesertRuins_MapBGEvents + diff --git a/data/maps/events/DesertUnderpass.inc b/data/maps/events/DesertUnderpass.inc new file mode 100644 index 0000000000..cb5c068748 --- /dev/null +++ b/data/maps/events/DesertUnderpass.inc @@ -0,0 +1,9 @@ +DesertUnderpass_MapObjects: @ 85376D4 + object_event 1, MAP_OBJ_GFX_FOSSIL, 0, 0, 132, 10, 0, 8, 17, 0, 0, 0, DesertUnderpass_EventScript_23AF41, 874, 0, 0 + +DesertUnderpass_MapWarps: @ 85376EC + warp_def 10, 12, 0, 2, ROUTE_114_FOSSIL_MANIACS_TUNNEL + +DesertUnderpass_MapEvents:: @ 85376F4 + map_events DesertUnderpass_MapObjects, DesertUnderpass_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/DewfordTown.inc b/data/maps/events/DewfordTown.inc new file mode 100644 index 0000000000..3a4e95de90 --- /dev/null +++ b/data/maps/events/DewfordTown.inc @@ -0,0 +1,24 @@ +DewfordTown_MapObjects: @ 8527964 + object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 7, 12, 3, 5, 1, 0, 0, 0, DewfordTown_EventScript_1E95B1, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 12, 9, 3, 9, 16, 0, 0, 3, DewfordTown_EventScript_1E9511, 740, 0, 0 + object_event 3, MAP_OBJ_GFX_FISHERMAN, 0, 0, 12, 14, 3, 5, 1, 0, 0, 0, DewfordTown_EventScript_1E95D5, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MR_BRINEYS_BOAT, 0, 0, 12, 8, 1, 8, 0, 0, 0, 0, 0x0, 743, 0, 0 + object_event 5, MAP_OBJ_GFX_BOY_1, 0, 0, 1, 6, 3, 1, 0, 0, 0, 0, DewfordTown_EventScript_1E9922, 0, 0, 0 + +DewfordTown_MapWarps: @ 85279DC + warp_def 3, 3, 0, 0, DEWFORD_TOWN_HALL + warp_def 2, 10, 0, 0, DEWFORD_TOWN_POKEMON_CENTER_1F + warp_def 8, 17, 0, 0, DEWFORD_TOWN_GYM + warp_def 17, 14, 0, 0, DEWFORD_TOWN_HOUSE_1 + warp_def 8, 8, 0, 0, DEWFORD_TOWN_HOUSE_2 + +DewfordTown_MapBGEvents: @ 8527A04 + bg_event 10, 10, 0, 0, 0, DewfordTown_EventScript_1E95BA + bg_event 11, 16, 0, 0, 0, DewfordTown_EventScript_1E95C3 + bg_event 4, 10, 0, 1, 0, DewfordTown_EventScript_271E73 + bg_event 3, 10, 0, 1, 0, DewfordTown_EventScript_271E73 + bg_event 2, 4, 0, 0, 0, DewfordTown_EventScript_1E95CC + +DewfordTown_MapEvents:: @ 8527A40 + map_events DewfordTown_MapObjects, DewfordTown_MapWarps, 0x0, DewfordTown_MapBGEvents + diff --git a/data/maps/events/DewfordTown_Gym.inc b/data/maps/events/DewfordTown_Gym.inc new file mode 100644 index 0000000000..e9a6b64773 --- /dev/null +++ b/data/maps/events/DewfordTown_Gym.inc @@ -0,0 +1,23 @@ +DewfordTown_Gym_MapObjects: @ 852DB34 + object_event 1, MAP_OBJ_GFX_BRAWLY, 0, 0, 4, 3, 0, 8, 0, 0, 0, 0, DewfordTown_Gym_EventScript_1FC7C2, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 2, 18, 0, 7, 0, 0, 1, 3, DewfordTown_Gym_EventScript_1FC8B7, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_GIRL_3, 0, 0, 15, 3, 3, 8, 0, 0, 1, 3, DewfordTown_Gym_EventScript_1FC8D9, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_GIRL_3, 0, 0, 12, 25, 3, 7, 0, 0, 1, 2, DewfordTown_Gym_EventScript_1FC8FB, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_MAN_2, 0, 0, 5, 24, 3, 8, 0, 0, 0, 0, DewfordTown_Gym_EventScript_1FC983, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 7, 8, 1, 10, 17, 0, 1, 3, DewfordTown_Gym_EventScript_1FC93F, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_GIRL_3, 0, 0, 16, 9, 3, 8, 17, 0, 1, 3, DewfordTown_Gym_EventScript_1FC961, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_SAILOR, 0, 0, 14, 12, 1, 10, 17, 0, 1, 2, DewfordTown_Gym_EventScript_1FC91D, 0, 0, 0 + +DewfordTown_Gym_MapWarps: @ 852DBF4 + warp_def 5, 27, 0, 2, DEWFORD_TOWN + warp_def 6, 27, 0, 2, DEWFORD_TOWN + +DewfordTown_Gym_MapBGEvents: @ 852DC04 + bg_event 4, 23, 3, 1, 0, DewfordTown_Gym_EventScript_1FC9A2 + bg_event 7, 23, 3, 1, 0, DewfordTown_Gym_EventScript_1FC9B2 + bg_event 4, 24, 0, 1, 0, DewfordTown_Gym_EventScript_1FC9A2 + bg_event 7, 24, 0, 1, 0, DewfordTown_Gym_EventScript_1FC9B2 + +DewfordTown_Gym_MapEvents:: @ 852DC34 + map_events DewfordTown_Gym_MapObjects, DewfordTown_Gym_MapWarps, 0x0, DewfordTown_Gym_MapBGEvents + diff --git a/data/maps/events/DewfordTown_Hall.inc b/data/maps/events/DewfordTown_Hall.inc new file mode 100644 index 0000000000..f5af1fc3c0 --- /dev/null +++ b/data/maps/events/DewfordTown_Hall.inc @@ -0,0 +1,22 @@ +DewfordTown_Hall_MapObjects: @ 852DC48 + object_event 1, MAP_OBJ_GFX_GIRL_2, 0, 0, 4, 6, 0, 7, 0, 0, 0, 0, DewfordTown_Hall_EventScript_1FD4D0, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_3, 0, 0, 1, 5, 0, 10, 0, 0, 0, 0, DewfordTown_Hall_EventScript_1FD4F9, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_1, 0, 0, 5, 4, 0, 9, 0, 0, 0, 0, DewfordTown_Hall_EventScript_1FD50A, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 9, 3, 0, 7, 0, 0, 0, 0, DewfordTown_Hall_EventScript_1FD547, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 5, 2, 3, 7, 0, 0, 0, 0, DewfordTown_Hall_EventScript_1FD563, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 14, 7, 0, 5, 1, 0, 0, 0, DewfordTown_Hall_EventScript_1FD57F, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 12, 3, 3, 10, 0, 0, 0, 0, DewfordTown_Hall_EventScript_1FD62F, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 15, 3, 3, 9, 0, 0, 0, 0, DewfordTown_Hall_EventScript_1FD63B, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_MANIAC, 0, 0, 8, 6, 3, 5, 1, 0, 0, 0, DewfordTown_Hall_EventScript_1FD7DA, 940, 0, 0 + +DewfordTown_Hall_MapWarps: @ 852DD20 + warp_def 5, 8, 0, 0, DEWFORD_TOWN + warp_def 6, 8, 0, 0, DEWFORD_TOWN + +DewfordTown_Hall_MapBGEvents: @ 852DD30 + bg_event 0, 1, 3, 0, 0, DewfordTown_Hall_EventScript_1FD590 + bg_event 7, 1, 3, 0, 0, DewfordTown_Hall_EventScript_1FD5A0 + +DewfordTown_Hall_MapEvents:: @ 852DD48 + map_events DewfordTown_Hall_MapObjects, DewfordTown_Hall_MapWarps, 0x0, DewfordTown_Hall_MapBGEvents + diff --git a/data/maps/events/DewfordTown_House1.inc b/data/maps/events/DewfordTown_House1.inc new file mode 100644 index 0000000000..1990975c5a --- /dev/null +++ b/data/maps/events/DewfordTown_House1.inc @@ -0,0 +1,12 @@ +DewfordTown_House1_MapObjects: @ 852D9C8 + object_event 1, MAP_OBJ_GFX_WOMAN_4, 0, 0, 6, 3, 3, 9, 0, 0, 0, 0, DewfordTown_House1_EventScript_1FC3D7, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_1, 0, 0, 3, 3, 3, 10, 0, 0, 0, 0, DewfordTown_House1_EventScript_1FC3CE, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_ZIGZAGOON_2, 0, 0, 4, 2, 3, 8, 19, 0, 0, 0, DewfordTown_House1_EventScript_1FC3E0, 0, 0, 0 + +DewfordTown_House1_MapWarps: @ 852DA10 + warp_def 3, 7, 0, 3, DEWFORD_TOWN + warp_def 4, 7, 0, 3, DEWFORD_TOWN + +DewfordTown_House1_MapEvents:: @ 852DA20 + map_events DewfordTown_House1_MapObjects, DewfordTown_House1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/DewfordTown_House2.inc b/data/maps/events/DewfordTown_House2.inc new file mode 100644 index 0000000000..b487372f67 --- /dev/null +++ b/data/maps/events/DewfordTown_House2.inc @@ -0,0 +1,11 @@ +DewfordTown_House2_MapObjects: @ 852DD5C + object_event 1, MAP_OBJ_GFX_MAN_4, 0, 0, 6, 5, 3, 10, 0, 0, 0, 0, DewfordTown_House2_EventScript_1FE22E, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BOY_2, 0, 0, 2, 3, 3, 1, 0, 0, 0, 0, DewfordTown_House2_EventScript_1FE271, 0, 0, 0 + +DewfordTown_House2_MapWarps: @ 852DD8C + warp_def 3, 8, 0, 4, DEWFORD_TOWN + warp_def 4, 8, 0, 4, DEWFORD_TOWN + +DewfordTown_House2_MapEvents:: @ 852DD9C + map_events DewfordTown_House2_MapObjects, DewfordTown_House2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/DewfordTown_PokemonCenter_1F.inc b/data/maps/events/DewfordTown_PokemonCenter_1F.inc new file mode 100644 index 0000000000..c393ed795d --- /dev/null +++ b/data/maps/events/DewfordTown_PokemonCenter_1F.inc @@ -0,0 +1,13 @@ +DewfordTown_PokemonCenter_1F_MapObjects: @ 852DA34 + object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, DewfordTown_PokemonCenter_1F_EventScript_1FC537, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 10, 6, 3, 10, 0, 0, 0, 0, DewfordTown_PokemonCenter_1F_EventScript_1FC545, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 5, 5, 0, 5, 18, 0, 0, 0, DewfordTown_PokemonCenter_1F_EventScript_1FC54E, 0, 0, 0 + +DewfordTown_PokemonCenter_1F_MapWarps: @ 852DA7C + warp_def 7, 8, 3, 1, DEWFORD_TOWN + warp_def 6, 8, 3, 1, DEWFORD_TOWN + warp_def 1, 6, 4, 0, DEWFORD_TOWN_POKEMON_CENTER_2F + +DewfordTown_PokemonCenter_1F_MapEvents:: @ 852DA94 + map_events DewfordTown_PokemonCenter_1F_MapObjects, DewfordTown_PokemonCenter_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/DewfordTown_PokemonCenter_2F.inc b/data/maps/events/DewfordTown_PokemonCenter_2F.inc new file mode 100644 index 0000000000..437441e08f --- /dev/null +++ b/data/maps/events/DewfordTown_PokemonCenter_2F.inc @@ -0,0 +1,14 @@ +DewfordTown_PokemonCenter_2F_MapObjects: @ 852DAA8 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, DewfordTown_PokemonCenter_2F_EventScript_27375B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, DewfordTown_PokemonCenter_2F_EventScript_273761, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, DewfordTown_PokemonCenter_2F_EventScript_273767, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, DewfordTown_PokemonCenter_2F_EventScript_276B03, 702, 0, 0 + +DewfordTown_PokemonCenter_2F_MapWarps: @ 852DB08 + warp_def 1, 6, 4, 2, DEWFORD_TOWN_POKEMON_CENTER_1F + warp_def 5, 1, 3, 0, UNION_ROOM + warp_def 9, 1, 3, 0, TRADE_CENTER + +DewfordTown_PokemonCenter_2F_MapEvents:: @ 852DB20 + map_events DewfordTown_PokemonCenter_2F_MapObjects, DewfordTown_PokemonCenter_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/DoubleBattleColosseum.inc b/data/maps/events/DoubleBattleColosseum.inc new file mode 100644 index 0000000000..401daaaf5a --- /dev/null +++ b/data/maps/events/DoubleBattleColosseum.inc @@ -0,0 +1,15 @@ +DoubleBattleColosseum_MapWarps: @ 8539E88 + warp_def 5, 8, 3, 127, NONE + warp_def 6, 8, 3, 127, NONE + warp_def 7, 8, 3, 127, NONE + warp_def 8, 8, 3, 127, NONE + +DoubleBattleColosseum_MapCoordEvents: @ 8539EA8 + coord_event 3, 4, 3, 0, VAR_0x4000, 0, 0, gUnknown_08277388 + coord_event 3, 6, 3, 0, VAR_0x4000, 0, 0, gUnknown_082773BE + coord_event 10, 4, 3, 0, VAR_0x4000, 0, 0, gUnknown_082773A3 + coord_event 10, 6, 3, 0, VAR_0x4000, 0, 0, gUnknown_082773D9 + +DoubleBattleColosseum_MapEvents:: @ 8539EE8 + map_events 0x0, DoubleBattleColosseum_MapWarps, DoubleBattleColosseum_MapCoordEvents, 0x0 + diff --git a/data/maps/events/EverGrandeCity.inc b/data/maps/events/EverGrandeCity.inc new file mode 100644 index 0000000000..47fec07ea8 --- /dev/null +++ b/data/maps/events/EverGrandeCity.inc @@ -0,0 +1,29 @@ +EverGrandeCity_MapWarps: @ 8527588 + warp_def 18, 5, 0, 0, EVER_GRANDE_CITY_POKEMON_LEAGUE_1F + warp_def 27, 48, 0, 0, EVER_GRANDE_CITY_POKEMON_CENTER_1F + warp_def 18, 41, 0, 0, VICTORY_ROAD_1F + warp_def 18, 27, 0, 1, VICTORY_ROAD_1F + +EverGrandeCity_MapCoordEvents: @ 85275A8 + coord_event 17, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 + coord_event 16, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 + coord_event 18, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 + coord_event 19, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 + coord_event 20, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 + coord_event 21, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 + coord_event 22, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 + coord_event 23, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 + coord_event 24, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 + coord_event 25, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 + coord_event 26, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46 + +EverGrandeCity_MapBGEvents: @ 8527658 + bg_event 19, 43, 5, 0, 0, EverGrandeCity_EventScript_1E7D2B + bg_event 29, 48, 0, 1, 0, EverGrandeCity_EventScript_271E73 + bg_event 18, 52, 5, 0, 0, EverGrandeCity_EventScript_1E7D34 + bg_event 23, 15, 0, 0, 0, EverGrandeCity_EventScript_1E7D3D + bg_event 28, 48, 0, 1, 0, EverGrandeCity_EventScript_271E73 + +EverGrandeCity_MapEvents:: @ 8527694 + map_events 0x0, EverGrandeCity_MapWarps, EverGrandeCity_MapCoordEvents, EverGrandeCity_MapBGEvents + diff --git a/data/maps/events/EverGrandeCity_ChampionsRoom.inc b/data/maps/events/EverGrandeCity_ChampionsRoom.inc new file mode 100644 index 0000000000..e5fbb81c1a --- /dev/null +++ b/data/maps/events/EverGrandeCity_ChampionsRoom.inc @@ -0,0 +1,12 @@ +EverGrandeCity_ChampionsRoom_MapObjects: @ 8533700 + object_event 1, MAP_OBJ_GFX_WALLACE, 0, 0, 6, 5, 3, 8, 0, 0, 0, 0, 0x0, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 6, 12, 3, 7, 0, 0, 0, 0, 0x0, 920, 0, 0 + object_event 3, MAP_OBJ_GFX_PROF_BIRCH, 0, 0, 6, 12, 3, 7, 0, 0, 0, 0, 0x0, 921, 0, 0 + +EverGrandeCity_ChampionsRoom_MapWarps: @ 8533748 + warp_def 6, 12, 3, 1, EVER_GRANDE_CITY_HALL_4 + warp_def 6, 2, 0, 0, EVER_GRANDE_CITY_HALL_OF_FAME + +EverGrandeCity_ChampionsRoom_MapEvents:: @ 8533758 + map_events EverGrandeCity_ChampionsRoom_MapObjects, EverGrandeCity_ChampionsRoom_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/EverGrandeCity_DrakesRoom.inc b/data/maps/events/EverGrandeCity_DrakesRoom.inc new file mode 100644 index 0000000000..2db37957df --- /dev/null +++ b/data/maps/events/EverGrandeCity_DrakesRoom.inc @@ -0,0 +1,10 @@ +EverGrandeCity_DrakesRoom_MapObjects: @ 85336C4 + object_event 1, MAP_OBJ_GFX_DRAKE, 0, 0, 6, 5, 3, 8, 0, 0, 0, 0, EverGrandeCity_DrakesRoom_EventScript_2286F3, 0, 0, 0 + +EverGrandeCity_DrakesRoom_MapWarps: @ 85336DC + warp_def 6, 13, 3, 1, EVER_GRANDE_CITY_HALL_3 + warp_def 6, 2, 0, 0, EVER_GRANDE_CITY_HALL_4 + +EverGrandeCity_DrakesRoom_MapEvents:: @ 85336EC + map_events EverGrandeCity_DrakesRoom_MapObjects, EverGrandeCity_DrakesRoom_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/EverGrandeCity_GlaciasRoom.inc b/data/maps/events/EverGrandeCity_GlaciasRoom.inc new file mode 100644 index 0000000000..7d97a2bc66 --- /dev/null +++ b/data/maps/events/EverGrandeCity_GlaciasRoom.inc @@ -0,0 +1,10 @@ +EverGrandeCity_GlaciasRoom_MapObjects: @ 8533688 + object_event 1, MAP_OBJ_GFX_GLACIA, 0, 0, 6, 5, 3, 8, 0, 0, 0, 0, EverGrandeCity_GlaciasRoom_EventScript_228469, 0, 0, 0 + +EverGrandeCity_GlaciasRoom_MapWarps: @ 85336A0 + warp_def 6, 13, 3, 1, EVER_GRANDE_CITY_HALL_2 + warp_def 6, 2, 0, 0, EVER_GRANDE_CITY_HALL_3 + +EverGrandeCity_GlaciasRoom_MapEvents:: @ 85336B0 + map_events EverGrandeCity_GlaciasRoom_MapObjects, EverGrandeCity_GlaciasRoom_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/EverGrandeCity_Hall1.inc b/data/maps/events/EverGrandeCity_Hall1.inc new file mode 100644 index 0000000000..8f9e791a8f --- /dev/null +++ b/data/maps/events/EverGrandeCity_Hall1.inc @@ -0,0 +1,9 @@ +EverGrandeCity_Hall1_MapWarps: @ 853376C + warp_def 5, 12, 3, 1, EVER_GRANDE_CITY_SIDNEYS_ROOM + warp_def 5, 2, 0, 0, EVER_GRANDE_CITY_PHOEBES_ROOM + warp_def 4, 12, 3, 1, EVER_GRANDE_CITY_SIDNEYS_ROOM + warp_def 6, 12, 3, 1, EVER_GRANDE_CITY_SIDNEYS_ROOM + +EverGrandeCity_Hall1_MapEvents:: @ 853378C + map_events 0x0, EverGrandeCity_Hall1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/EverGrandeCity_Hall2.inc b/data/maps/events/EverGrandeCity_Hall2.inc new file mode 100644 index 0000000000..c9426ceeaa --- /dev/null +++ b/data/maps/events/EverGrandeCity_Hall2.inc @@ -0,0 +1,9 @@ +EverGrandeCity_Hall2_MapWarps: @ 85337A0 + warp_def 5, 12, 3, 1, EVER_GRANDE_CITY_PHOEBES_ROOM + warp_def 5, 2, 0, 0, EVER_GRANDE_CITY_GLACIAS_ROOM + warp_def 4, 12, 3, 1, EVER_GRANDE_CITY_PHOEBES_ROOM + warp_def 6, 12, 3, 1, EVER_GRANDE_CITY_PHOEBES_ROOM + +EverGrandeCity_Hall2_MapEvents:: @ 85337C0 + map_events 0x0, EverGrandeCity_Hall2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/EverGrandeCity_Hall3.inc b/data/maps/events/EverGrandeCity_Hall3.inc new file mode 100644 index 0000000000..68f506d001 --- /dev/null +++ b/data/maps/events/EverGrandeCity_Hall3.inc @@ -0,0 +1,9 @@ +EverGrandeCity_Hall3_MapWarps: @ 85337D4 + warp_def 5, 12, 3, 1, EVER_GRANDE_CITY_GLACIAS_ROOM + warp_def 5, 2, 0, 0, EVER_GRANDE_CITY_DRAKES_ROOM + warp_def 4, 12, 3, 1, EVER_GRANDE_CITY_GLACIAS_ROOM + warp_def 6, 12, 3, 1, EVER_GRANDE_CITY_GLACIAS_ROOM + +EverGrandeCity_Hall3_MapEvents:: @ 85337F4 + map_events 0x0, EverGrandeCity_Hall3_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/EverGrandeCity_Hall4.inc b/data/maps/events/EverGrandeCity_Hall4.inc new file mode 100644 index 0000000000..4e7c4f7e6f --- /dev/null +++ b/data/maps/events/EverGrandeCity_Hall4.inc @@ -0,0 +1,7 @@ +EverGrandeCity_Hall4_MapWarps: @ 8533808 + warp_def 5, 33, 3, 1, EVER_GRANDE_CITY_DRAKES_ROOM + warp_def 5, 2, 0, 0, EVER_GRANDE_CITY_CHAMPIONS_ROOM + +EverGrandeCity_Hall4_MapEvents:: @ 8533818 + map_events 0x0, EverGrandeCity_Hall4_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/EverGrandeCity_Hall5.inc b/data/maps/events/EverGrandeCity_Hall5.inc new file mode 100644 index 0000000000..69fa9a6290 --- /dev/null +++ b/data/maps/events/EverGrandeCity_Hall5.inc @@ -0,0 +1,9 @@ +EverGrandeCity_Hall5_MapWarps: @ 853382C + warp_def 5, 12, 3, 2, EVER_GRANDE_CITY_POKEMON_LEAGUE_1F + warp_def 5, 2, 0, 0, EVER_GRANDE_CITY_SIDNEYS_ROOM + warp_def 4, 12, 3, 2, EVER_GRANDE_CITY_POKEMON_LEAGUE_1F + warp_def 6, 12, 3, 2, EVER_GRANDE_CITY_POKEMON_LEAGUE_1F + +EverGrandeCity_Hall5_MapEvents:: @ 853384C + map_events 0x0, EverGrandeCity_Hall5_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/EverGrandeCity_HallOfFame.inc b/data/maps/events/EverGrandeCity_HallOfFame.inc new file mode 100644 index 0000000000..18ed3ebdb3 --- /dev/null +++ b/data/maps/events/EverGrandeCity_HallOfFame.inc @@ -0,0 +1,9 @@ +EverGrandeCity_HallOfFame_MapObjects: @ 85338FC + object_event 1, MAP_OBJ_GFX_WALLACE, 0, 0, 6, 16, 3, 7, 0, 0, 0, 0, 0x0, 0, 0, 0 + +EverGrandeCity_HallOfFame_MapWarps: @ 8533914 + warp_def 7, 11, 3, 1, EVER_GRANDE_CITY_CHAMPIONS_ROOM + +EverGrandeCity_HallOfFame_MapEvents:: @ 853391C + map_events EverGrandeCity_HallOfFame_MapObjects, EverGrandeCity_HallOfFame_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/EverGrandeCity_PhoebesRoom.inc b/data/maps/events/EverGrandeCity_PhoebesRoom.inc new file mode 100644 index 0000000000..471bae1fc8 --- /dev/null +++ b/data/maps/events/EverGrandeCity_PhoebesRoom.inc @@ -0,0 +1,10 @@ +EverGrandeCity_PhoebesRoom_MapObjects: @ 853364C + object_event 1, MAP_OBJ_GFX_PHOEBE, 0, 0, 6, 5, 3, 8, 0, 0, 0, 0, EverGrandeCity_PhoebesRoom_EventScript_2281CB, 0, 0, 0 + +EverGrandeCity_PhoebesRoom_MapWarps: @ 8533664 + warp_def 6, 13, 3, 1, EVER_GRANDE_CITY_HALL_1 + warp_def 6, 2, 0, 0, EVER_GRANDE_CITY_HALL_2 + +EverGrandeCity_PhoebesRoom_MapEvents:: @ 8533674 + map_events EverGrandeCity_PhoebesRoom_MapObjects, EverGrandeCity_PhoebesRoom_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/EverGrandeCity_PokemonCenter_1F.inc b/data/maps/events/EverGrandeCity_PokemonCenter_1F.inc new file mode 100644 index 0000000000..28491f59b5 --- /dev/null +++ b/data/maps/events/EverGrandeCity_PokemonCenter_1F.inc @@ -0,0 +1,14 @@ +EverGrandeCity_PokemonCenter_1F_MapObjects: @ 8533930 + object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, EverGrandeCity_PokemonCenter_1F_EventScript_229A59, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_7, 0, 0, 5, 5, 3, 8, 0, 0, 0, 0, EverGrandeCity_PokemonCenter_1F_EventScript_229A67, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 10, 7, 3, 10, 0, 0, 0, 0, EverGrandeCity_PokemonCenter_1F_EventScript_229A70, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_SCOTT, 0, 0, 9, 4, 3, 7, 0, 0, 0, 0, EverGrandeCity_PokemonCenter_1F_EventScript_229A79, 793, 0, 0 + +EverGrandeCity_PokemonCenter_1F_MapWarps: @ 8533990 + warp_def 7, 8, 3, 1, EVER_GRANDE_CITY + warp_def 6, 8, 3, 1, EVER_GRANDE_CITY + warp_def 1, 6, 4, 0, EVER_GRANDE_CITY_POKEMON_CENTER_2F + +EverGrandeCity_PokemonCenter_1F_MapEvents:: @ 85339A8 + map_events EverGrandeCity_PokemonCenter_1F_MapObjects, EverGrandeCity_PokemonCenter_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/EverGrandeCity_PokemonCenter_2F.inc b/data/maps/events/EverGrandeCity_PokemonCenter_2F.inc new file mode 100644 index 0000000000..d34c8082f4 --- /dev/null +++ b/data/maps/events/EverGrandeCity_PokemonCenter_2F.inc @@ -0,0 +1,14 @@ +EverGrandeCity_PokemonCenter_2F_MapObjects: @ 85339BC + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, EverGrandeCity_PokemonCenter_2F_EventScript_27375B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, EverGrandeCity_PokemonCenter_2F_EventScript_273761, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, EverGrandeCity_PokemonCenter_2F_EventScript_273767, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, EverGrandeCity_PokemonCenter_2F_EventScript_276B03, 702, 0, 0 + +EverGrandeCity_PokemonCenter_2F_MapWarps: @ 8533A1C + warp_def 1, 6, 4, 2, EVER_GRANDE_CITY_POKEMON_CENTER_1F + warp_def 5, 1, 3, 0, UNION_ROOM + warp_def 9, 1, 3, 0, TRADE_CENTER + +EverGrandeCity_PokemonCenter_2F_MapEvents:: @ 8533A34 + map_events EverGrandeCity_PokemonCenter_2F_MapObjects, EverGrandeCity_PokemonCenter_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/EverGrandeCity_PokemonLeague_1F.inc b/data/maps/events/EverGrandeCity_PokemonLeague_1F.inc new file mode 100644 index 0000000000..ee368c6e13 --- /dev/null +++ b/data/maps/events/EverGrandeCity_PokemonLeague_1F.inc @@ -0,0 +1,16 @@ +EverGrandeCity_PokemonLeague_1F_MapObjects: @ 8533860 + object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 3, 2, 3, 8, 0, 0, 0, 0, EverGrandeCity_PokemonLeague_1F_EventScript_2295FC, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 16, 2, 3, 8, 0, 0, 0, 0, EverGrandeCity_PokemonLeague_1F_EventScript_22960A, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 8, 2, 3, 8, 17, 0, 0, 0, EverGrandeCity_PokemonLeague_1F_EventScript_229636, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MAN_4, 0, 0, 11, 2, 3, 8, 17, 0, 0, 0, EverGrandeCity_PokemonLeague_1F_EventScript_229636, 0, 0, 0 + +EverGrandeCity_PokemonLeague_1F_MapWarps: @ 85338C0 + warp_def 9, 11, 3, 0, EVER_GRANDE_CITY + warp_def 10, 11, 3, 0, EVER_GRANDE_CITY + warp_def 9, 1, 3, 0, EVER_GRANDE_CITY_HALL_5 + warp_def 10, 1, 3, 0, EVER_GRANDE_CITY_HALL_5 + warp_def 1, 7, 4, 0, EVER_GRANDE_CITY_POKEMON_LEAGUE_2F + +EverGrandeCity_PokemonLeague_1F_MapEvents:: @ 85338E8 + map_events EverGrandeCity_PokemonLeague_1F_MapObjects, EverGrandeCity_PokemonLeague_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/EverGrandeCity_PokemonLeague_2F.inc b/data/maps/events/EverGrandeCity_PokemonLeague_2F.inc new file mode 100644 index 0000000000..499aad1966 --- /dev/null +++ b/data/maps/events/EverGrandeCity_PokemonLeague_2F.inc @@ -0,0 +1,14 @@ +EverGrandeCity_PokemonLeague_2F_MapObjects: @ 8533A48 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, EverGrandeCity_PokemonLeague_2F_EventScript_27375B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 0, 8, 17, 0, 0, 0, EverGrandeCity_PokemonLeague_2F_EventScript_273761, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, EverGrandeCity_PokemonLeague_2F_EventScript_273767, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, EverGrandeCity_PokemonLeague_2F_EventScript_276B03, 702, 0, 0 + +EverGrandeCity_PokemonLeague_2F_MapWarps: @ 8533AA8 + warp_def 1, 6, 4, 4, EVER_GRANDE_CITY_POKEMON_LEAGUE_1F + warp_def 5, 1, 3, 0, UNION_ROOM + warp_def 9, 1, 3, 0, TRADE_CENTER + +EverGrandeCity_PokemonLeague_2F_MapEvents:: @ 8533AC0 + map_events EverGrandeCity_PokemonLeague_2F_MapObjects, EverGrandeCity_PokemonLeague_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/EverGrandeCity_SidneysRoom.inc b/data/maps/events/EverGrandeCity_SidneysRoom.inc new file mode 100644 index 0000000000..9ff3d40cb6 --- /dev/null +++ b/data/maps/events/EverGrandeCity_SidneysRoom.inc @@ -0,0 +1,10 @@ +EverGrandeCity_SidneysRoom_MapObjects: @ 8533610 + object_event 1, MAP_OBJ_GFX_SIDNEY, 0, 0, 6, 5, 3, 8, 0, 0, 0, 0, EverGrandeCity_SidneysRoom_EventScript_227F64, 0, 0, 0 + +EverGrandeCity_SidneysRoom_MapWarps: @ 8533628 + warp_def 6, 13, 3, 1, EVER_GRANDE_CITY_HALL_5 + warp_def 6, 2, 0, 0, EVER_GRANDE_CITY_HALL_1 + +EverGrandeCity_SidneysRoom_MapEvents:: @ 8533638 + map_events EverGrandeCity_SidneysRoom_MapObjects, EverGrandeCity_SidneysRoom_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/FallarborTown.inc b/data/maps/events/FallarborTown.inc new file mode 100644 index 0000000000..28dab394b4 --- /dev/null +++ b/data/maps/events/FallarborTown.inc @@ -0,0 +1,26 @@ +FallarborTown_MapObjects: @ 8527BE0 + object_event 1, MAP_OBJ_GFX_GIRL_1, 0, 0, 8, 11, 3, 8, 16, 0, 0, 0, FallarborTown_EventScript_1EB22B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 11, 9, 3, 5, 1, 0, 0, 0, FallarborTown_EventScript_1EB20C, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 11, 15, 3, 3, 17, 0, 0, 0, FallarborTown_EventScript_1EB234, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_AZURILL, 0, 0, 8, 12, 3, 1, 1, 0, 0, 0, FallarborTown_EventScript_1EB23D, 907, 0, 0 + +FallarborTown_MapWarps: @ 8527C40 + warp_def 15, 15, 0, 0, FALLARBOR_TOWN_MART + warp_def 8, 7, 0, 0, FALLARBOR_TOWN_BATTLE_TENT_LOBBY + warp_def 14, 7, 0, 0, FALLARBOR_TOWN_POKEMON_CENTER_1F + warp_def 6, 17, 0, 0, FALLARBOR_TOWN_HOUSE_1 + warp_def 1, 6, 0, 0, FALLARBOR_TOWN_HOUSE_2 + +FallarborTown_MapBGEvents: @ 8527C68 + bg_event 16, 15, 0, 1, 0, FallarborTown_EventScript_271E6A + bg_event 15, 7, 0, 1, 0, FallarborTown_EventScript_271E73 + bg_event 6, 8, 0, 0, 0, FallarborTown_EventScript_1EB250 + bg_event 16, 7, 0, 1, 0, FallarborTown_EventScript_271E73 + bg_event 10, 11, 0, 0, 0, FallarborTown_EventScript_1EB259 + bg_event 17, 15, 0, 1, 0, FallarborTown_EventScript_271E6A + bg_event 3, 7, 0, 0, 0, FallarborTown_EventScript_1EB262 + bg_event 2, 15, 3, 7, 0, ITEM_NUGGET, 28, 0 + +FallarborTown_MapEvents:: @ 8527CC8 + map_events FallarborTown_MapObjects, FallarborTown_MapWarps, 0x0, FallarborTown_MapBGEvents + diff --git a/data/maps/events/FallarborTown_BattleTentBattleRoom.inc b/data/maps/events/FallarborTown_BattleTentBattleRoom.inc new file mode 100644 index 0000000000..bed082ccb3 --- /dev/null +++ b/data/maps/events/FallarborTown_BattleTentBattleRoom.inc @@ -0,0 +1,8 @@ +FallarborTown_BattleTentBattleRoom_MapObjects: @ 852E444 + object_event 1, MAP_OBJ_GFX_TRADER, 0, 0, 4, 8, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 3, 2, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_HIPSTER, 0, 0, 5, 1, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + +FallarborTown_BattleTentBattleRoom_MapEvents:: @ 852E48C + map_events FallarborTown_BattleTentBattleRoom_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/FallarborTown_BattleTentCorridor.inc b/data/maps/events/FallarborTown_BattleTentCorridor.inc new file mode 100644 index 0000000000..023ef7f0b0 --- /dev/null +++ b/data/maps/events/FallarborTown_BattleTentCorridor.inc @@ -0,0 +1,6 @@ +FallarborTown_BattleTentCorridor_MapObjects: @ 852E418 + object_event 1, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 2, 6, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0 + +FallarborTown_BattleTentCorridor_MapEvents:: @ 852E430 + map_events FallarborTown_BattleTentCorridor_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/FallarborTown_BattleTentLobby.inc b/data/maps/events/FallarborTown_BattleTentLobby.inc new file mode 100644 index 0000000000..6c0d25020f --- /dev/null +++ b/data/maps/events/FallarborTown_BattleTentLobby.inc @@ -0,0 +1,17 @@ +FallarborTown_BattleTentLobby_MapObjects: @ 852E370 + object_event 1, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 6, 5, 3, 8, 17, 0, 0, 0, FallarborTown_BattleTentLobby_EventScript_200001, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_HIKER, 0, 0, 1, 5, 3, 5, 17, 0, 0, 0, FallarborTown_BattleTentLobby_EventScript_20020D, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 12, 6, 3, 3, 17, 0, 0, 0, FallarborTown_BattleTentLobby_EventScript_200216, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_LASS, 0, 0, 10, 9, 3, 8, 17, 0, 0, 0, FallarborTown_BattleTentLobby_EventScript_20021F, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_SCOTT, 0, 0, 0, 7, 3, 10, 17, 0, 0, 0, FallarborTown_BattleTentLobby_EventScript_200228, 767, 0, 0 + +FallarborTown_BattleTentLobby_MapWarps: @ 852E3E8 + warp_def 6, 9, 0, 1, FALLARBOR_TOWN + warp_def 7, 9, 0, 1, FALLARBOR_TOWN + +FallarborTown_BattleTentLobby_MapBGEvents: @ 852E3F8 + bg_event 4, 5, 0, 0, 0, FallarborTown_BattleTentLobby_EventScript_20024F + +FallarborTown_BattleTentLobby_MapEvents:: @ 852E404 + map_events FallarborTown_BattleTentLobby_MapObjects, FallarborTown_BattleTentLobby_MapWarps, 0x0, FallarborTown_BattleTentLobby_MapBGEvents + diff --git a/data/maps/events/FallarborTown_House1.inc b/data/maps/events/FallarborTown_House1.inc new file mode 100644 index 0000000000..9712368029 --- /dev/null +++ b/data/maps/events/FallarborTown_House1.inc @@ -0,0 +1,11 @@ +FallarborTown_House1_MapObjects: @ 852E5B8 + object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 6, 4, 3, 2, 17, 0, 0, 0, FallarborTown_House1_EventScript_200F13, 928, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_3, 0, 0, 5, 6, 3, 5, 1, 0, 0, 0, FallarborTown_House1_EventScript_200FBC, 0, 0, 0 + +FallarborTown_House1_MapWarps: @ 852E5E8 + warp_def 3, 8, 0, 3, FALLARBOR_TOWN + warp_def 4, 8, 0, 3, FALLARBOR_TOWN + +FallarborTown_House1_MapEvents:: @ 852E5F8 + map_events FallarborTown_House1_MapObjects, FallarborTown_House1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/FallarborTown_House2.inc b/data/maps/events/FallarborTown_House2.inc new file mode 100644 index 0000000000..058c4c5af2 --- /dev/null +++ b/data/maps/events/FallarborTown_House2.inc @@ -0,0 +1,10 @@ +FallarborTown_House2_MapObjects: @ 852E60C + object_event 1, MAP_OBJ_GFX_FAT_MAN, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, FallarborTown_House2_EventScript_201383, 0, 0, 0 + +FallarborTown_House2_MapWarps: @ 852E624 + warp_def 3, 7, 0, 4, FALLARBOR_TOWN + warp_def 4, 7, 0, 4, FALLARBOR_TOWN + +FallarborTown_House2_MapEvents:: @ 852E634 + map_events FallarborTown_House2_MapObjects, FallarborTown_House2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/FallarborTown_Mart.inc b/data/maps/events/FallarborTown_Mart.inc new file mode 100644 index 0000000000..a59da4c669 --- /dev/null +++ b/data/maps/events/FallarborTown_Mart.inc @@ -0,0 +1,14 @@ +FallarborTown_Mart_MapObjects: @ 852E2D4 + object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, FallarborTown_Mart_EventScript_1FFCBF, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_3, 0, 0, 5, 3, 3, 2, 17, 0, 0, 0, FallarborTown_Mart_EventScript_1FFCF4, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_3, 0, 0, 9, 6, 3, 8, 0, 0, 0, 0, FallarborTown_Mart_EventScript_1FFCFD, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_SKITTY, 0, 0, 2, 5, 3, 1, 17, 0, 0, 0, FallarborTown_Mart_EventScript_1FFD06, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_GIRL_2, 0, 0, 7, 2, 3, 7, 0, 0, 0, 0, FallarborTown_Mart_EventScript_2C80B6, 0, 0, 0 + +FallarborTown_Mart_MapWarps: @ 852E34C + warp_def 3, 7, 0, 0, FALLARBOR_TOWN + warp_def 4, 7, 0, 0, FALLARBOR_TOWN + +FallarborTown_Mart_MapEvents:: @ 852E35C + map_events FallarborTown_Mart_MapObjects, FallarborTown_Mart_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/FallarborTown_PokemonCenter_1F.inc b/data/maps/events/FallarborTown_PokemonCenter_1F.inc new file mode 100644 index 0000000000..19421411e9 --- /dev/null +++ b/data/maps/events/FallarborTown_PokemonCenter_1F.inc @@ -0,0 +1,14 @@ +FallarborTown_PokemonCenter_1F_MapObjects: @ 852E4A0 + object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, FallarborTown_PokemonCenter_1F_EventScript_200BE1, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GIRL_3, 0, 0, 10, 6, 3, 10, 0, 0, 0, 0, FallarborTown_PokemonCenter_1F_EventScript_200BEF, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 2, 3, 3, 8, 0, 0, 0, 0, FallarborTown_PokemonCenter_1F_EventScript_200BF8, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_3, 0, 0, 10, 2, 3, 7, 0, 0, 0, 0, FallarborTown_PokemonCenter_1F_EventScript_200C01, 871, 0, 0 + +FallarborTown_PokemonCenter_1F_MapWarps: @ 852E500 + warp_def 7, 8, 3, 2, FALLARBOR_TOWN + warp_def 6, 8, 3, 2, FALLARBOR_TOWN + warp_def 1, 6, 4, 0, FALLARBOR_TOWN_POKEMON_CENTER_2F + +FallarborTown_PokemonCenter_1F_MapEvents:: @ 852E518 + map_events FallarborTown_PokemonCenter_1F_MapObjects, FallarborTown_PokemonCenter_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/FallarborTown_PokemonCenter_2F.inc b/data/maps/events/FallarborTown_PokemonCenter_2F.inc new file mode 100644 index 0000000000..408ecf9dbf --- /dev/null +++ b/data/maps/events/FallarborTown_PokemonCenter_2F.inc @@ -0,0 +1,14 @@ +FallarborTown_PokemonCenter_2F_MapObjects: @ 852E52C + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, FallarborTown_PokemonCenter_2F_EventScript_27375B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, FallarborTown_PokemonCenter_2F_EventScript_273761, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, FallarborTown_PokemonCenter_2F_EventScript_273767, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, FallarborTown_PokemonCenter_2F_EventScript_276B03, 702, 0, 0 + +FallarborTown_PokemonCenter_2F_MapWarps: @ 852E58C + warp_def 1, 6, 4, 2, FALLARBOR_TOWN_POKEMON_CENTER_1F + warp_def 5, 1, 3, 0, UNION_ROOM + warp_def 9, 1, 3, 0, TRADE_CENTER + +FallarborTown_PokemonCenter_2F_MapEvents:: @ 852E5A4 + map_events FallarborTown_PokemonCenter_2F_MapObjects, FallarborTown_PokemonCenter_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/FarawayIsland_Entrance.inc b/data/maps/events/FarawayIsland_Entrance.inc new file mode 100644 index 0000000000..cd321124f7 --- /dev/null +++ b/data/maps/events/FarawayIsland_Entrance.inc @@ -0,0 +1,19 @@ +FarawayIsland_Entrance_MapObjects: @ 853D710 + object_event 1, MAP_OBJ_GFX_SAILOR, 0, 0, 13, 39, 3, 7, 0, 0, 0, 0, FarawayIsland_Entrance_EventScript_267CA2, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SS_TIDAL, 0, 0, 13, 41, 1, 10, 0, 0, 0, 0, 0x0, 0, 0, 0 + +FarawayIsland_Entrance_MapWarps: @ 853D740 + warp_def 22, 7, 3, 0, FARAWAY_ISLAND_INTERIOR + warp_def 23, 7, 3, 1, FARAWAY_ISLAND_INTERIOR + +FarawayIsland_Entrance_MapCoordEvents: @ 853D750 + coord_event 9, 18, 3, 0, 0, 0, 0, FarawayIsland_Entrance_EventScript_267C98 + coord_event 10, 20, 3, 0, 0, 0, 0, FarawayIsland_Entrance_EventScript_267C9D + coord_event 22, 9, 3, 0, 0, 0, 0, FarawayIsland_Entrance_EventScript_267C98 + +FarawayIsland_Entrance_MapBGEvents: @ 853D780 + bg_event 3, 32, 0, 1, 0, FarawayIsland_Entrance_EventScript_267CF1 + +FarawayIsland_Entrance_MapEvents:: @ 853D78C + map_events FarawayIsland_Entrance_MapObjects, FarawayIsland_Entrance_MapWarps, FarawayIsland_Entrance_MapCoordEvents, FarawayIsland_Entrance_MapBGEvents + diff --git a/data/maps/events/FarawayIsland_Interior.inc b/data/maps/events/FarawayIsland_Interior.inc new file mode 100644 index 0000000000..6f13ca36e6 --- /dev/null +++ b/data/maps/events/FarawayIsland_Interior.inc @@ -0,0 +1,10 @@ +FarawayIsland_Interior_MapObjects: @ 853D7A0 + object_event 1, MAP_OBJ_GFX_MEW, 0, 0, 13, 17, 3, 60, 255, 0, 0, 1, FarawayIsland_Interior_EventScript_267DF2, 718, 0, 0 + +FarawayIsland_Interior_MapWarps: @ 853D7B8 + warp_def 12, 19, 0, 0, FARAWAY_ISLAND_ENTRANCE + warp_def 13, 19, 0, 1, FARAWAY_ISLAND_ENTRANCE + +FarawayIsland_Interior_MapEvents:: @ 853D7C8 + map_events FarawayIsland_Interior_MapObjects, FarawayIsland_Interior_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/FieryPath.inc b/data/maps/events/FieryPath.inc new file mode 100644 index 0000000000..cd360a75f5 --- /dev/null +++ b/data/maps/events/FieryPath.inc @@ -0,0 +1,17 @@ +FieryPath_MapObjects: @ 8534C80 + object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 8, 3, 3, 1, 17, 0, 0, 0, FieryPath_EventScript_29119E, 1091, 0, 0 + object_event 2, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 10, 15, 3, 1, 0, 0, 0, 0, FieryPath_EventScript_2908BA, 17, 0, 0 + object_event 3, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 17, 15, 3, 1, 0, 0, 0, 0, FieryPath_EventScript_2908BA, 18, 0, 0 + object_event 4, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 8, 11, 3, 1, 0, 0, 0, 0, FieryPath_EventScript_2908BA, 19, 0, 0 + object_event 5, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 3, 12, 3, 1, 0, 0, 0, 0, FieryPath_EventScript_2908BA, 20, 0, 0 + object_event 6, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 6, 23, 3, 1, 0, 0, 0, 0, FieryPath_EventScript_2908BA, 21, 0, 0 + object_event 7, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 5, 24, 3, 1, 0, 0, 0, 0, FieryPath_EventScript_2908BA, 22, 0, 0 + object_event 8, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 32, 3, 1, 17, 0, 0, 0, FieryPath_EventScript_291191, 1111, 0, 0 + +FieryPath_MapWarps: @ 8534D40 + warp_def 26, 36, 3, 4, ROUTE_112 + warp_def 26, 4, 3, 5, ROUTE_112 + +FieryPath_MapEvents:: @ 8534D50 + map_events FieryPath_MapObjects, FieryPath_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/FortreeCity.inc b/data/maps/events/FortreeCity.inc new file mode 100644 index 0000000000..03ff20df1b --- /dev/null +++ b/data/maps/events/FortreeCity.inc @@ -0,0 +1,31 @@ +FortreeCity_MapObjects: @ 8526B9C + object_event 1, MAP_OBJ_GFX_MAN_2, 0, 0, 31, 3, 4, 1, 0, 0, 0, 0, FortreeCity_EventScript_1E25B6, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GIRL_1, 0, 0, 32, 16, 3, 2, 17, 0, 0, 0, FortreeCity_EventScript_1E25DE, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_7, 0, 0, 32, 10, 3, 3, 16, 0, 0, 0, FortreeCity_EventScript_1E25BF, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BOY_1, 0, 0, 11, 14, 4, 1, 0, 0, 0, 0, FortreeCity_EventScript_1E25F0, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 8, 10, 3, 1, 0, 0, 0, 0, FortreeCity_EventScript_1E25E7, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_BOY_5, 0, 0, 9, 16, 3, 8, 0, 0, 0, 0, FortreeCity_EventScript_1E25F9, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_KECLEON_1, 0, 0, 25, 8, 3, 76, 17, 0, 0, 0, FortreeCity_EventScript_1E2614, 969, 0, 0 + +FortreeCity_MapWarps: @ 8526C44 + warp_def 5, 6, 0, 0, FORTREE_CITY_POKEMON_CENTER_1F + warp_def 10, 3, 0, 0, FORTREE_CITY_HOUSE_1 + warp_def 22, 11, 0, 0, FORTREE_CITY_GYM + warp_def 4, 14, 0, 0, FORTREE_CITY_MART + warp_def 17, 3, 0, 0, FORTREE_CITY_HOUSE_2 + warp_def 25, 3, 0, 0, FORTREE_CITY_HOUSE_3 + warp_def 32, 2, 0, 0, FORTREE_CITY_HOUSE_4 + warp_def 12, 13, 0, 0, FORTREE_CITY_HOUSE_5 + warp_def 37, 13, 0, 0, FORTREE_CITY_DECORATION_SHOP + +FortreeCity_MapBGEvents: @ 8526C8C + bg_event 6, 9, 0, 0, 0, FortreeCity_EventScript_1E2602 + bg_event 7, 6, 0, 1, 0, FortreeCity_EventScript_271E73 + bg_event 5, 14, 0, 1, 0, FortreeCity_EventScript_271E6A + bg_event 26, 10, 0, 0, 0, FortreeCity_EventScript_1E260B + bg_event 6, 6, 0, 1, 0, FortreeCity_EventScript_271E73 + bg_event 6, 14, 0, 1, 0, FortreeCity_EventScript_271E6A + +FortreeCity_MapEvents:: @ 8526CD4 + map_events FortreeCity_MapObjects, FortreeCity_MapWarps, 0x0, FortreeCity_MapBGEvents + diff --git a/data/maps/events/FortreeCity_DecorationShop.inc b/data/maps/events/FortreeCity_DecorationShop.inc new file mode 100644 index 0000000000..7c25059bf1 --- /dev/null +++ b/data/maps/events/FortreeCity_DecorationShop.inc @@ -0,0 +1,13 @@ +FortreeCity_DecorationShop_MapObjects: @ 85310B0 + object_event 1, MAP_OBJ_GFX_MAN_3, 0, 0, 6, 5, 3, 1, 17, 0, 0, 0, FortreeCity_DecorationShop_EventScript_21800E, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GIRL_3, 0, 0, 0, 4, 3, 9, 0, 0, 0, 0, FortreeCity_DecorationShop_EventScript_218017, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, FortreeCity_DecorationShop_EventScript_218020, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 6, 2, 3, 8, 0, 0, 0, 0, FortreeCity_DecorationShop_EventScript_21804C, 0, 0, 0 + +FortreeCity_DecorationShop_MapWarps: @ 8531110 + warp_def 3, 5, 0, 8, FORTREE_CITY + warp_def 4, 5, 0, 8, FORTREE_CITY + +FortreeCity_DecorationShop_MapEvents:: @ 8531120 + map_events FortreeCity_DecorationShop_MapObjects, FortreeCity_DecorationShop_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/FortreeCity_Gym.inc b/data/maps/events/FortreeCity_Gym.inc new file mode 100644 index 0000000000..6e3904b88f --- /dev/null +++ b/data/maps/events/FortreeCity_Gym.inc @@ -0,0 +1,21 @@ +FortreeCity_Gym_MapObjects: @ 8530C98 + object_event 1, MAP_OBJ_GFX_WINONA, 0, 0, 15, 2, 3, 8, 0, 0, 0, 0, FortreeCity_Gym_EventScript_2165C8, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_6, 0, 0, 4, 14, 3, 8, 0, 0, 1, 3, FortreeCity_Gym_EventScript_2166A8, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_CAMPER, 0, 0, 10, 10, 3, 9, 0, 0, 1, 2, FortreeCity_Gym_EventScript_2166D6, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_PICNICKER, 0, 0, 5, 17, 3, 9, 0, 0, 1, 1, FortreeCity_Gym_EventScript_2166ED, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_MAN_6, 0, 0, 9, 8, 3, 8, 0, 0, 1, 2, FortreeCity_Gym_EventScript_2166BF, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_MAN_2, 0, 0, 15, 21, 3, 8, 0, 0, 0, 0, FortreeCity_Gym_EventScript_216732, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_MAN_6, 0, 0, 4, 23, 3, 10, 17, 0, 1, 1, FortreeCity_Gym_EventScript_216704, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_MAN_6, 0, 0, 1, 10, 3, 7, 17, 0, 1, 3, FortreeCity_Gym_EventScript_21671B, 0, 0, 0 + +FortreeCity_Gym_MapWarps: @ 8530D58 + warp_def 15, 24, 0, 2, FORTREE_CITY + warp_def 16, 24, 0, 2, FORTREE_CITY + +FortreeCity_Gym_MapBGEvents: @ 8530D68 + bg_event 14, 21, 0, 1, 0, FortreeCity_Gym_EventScript_216751 + bg_event 17, 21, 0, 1, 0, FortreeCity_Gym_EventScript_216761 + +FortreeCity_Gym_MapEvents:: @ 8530D80 + map_events FortreeCity_Gym_MapObjects, FortreeCity_Gym_MapWarps, 0x0, FortreeCity_Gym_MapBGEvents + diff --git a/data/maps/events/FortreeCity_House1.inc b/data/maps/events/FortreeCity_House1.inc new file mode 100644 index 0000000000..d1eecfdef3 --- /dev/null +++ b/data/maps/events/FortreeCity_House1.inc @@ -0,0 +1,12 @@ +FortreeCity_House1_MapObjects: @ 8530C2C + object_event 1, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, FortreeCity_House1_EventScript_2162BB, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_ZIGZAGOON_2, 0, 0, 2, 3, 3, 9, 0, 0, 0, 0, FortreeCity_House1_EventScript_216368, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 7, 4, 3, 1, 17, 0, 0, 0, FortreeCity_House1_EventScript_21635F, 0, 0, 0 + +FortreeCity_House1_MapWarps: @ 8530C74 + warp_def 3, 5, 0, 1, FORTREE_CITY + warp_def 4, 5, 0, 1, FORTREE_CITY + +FortreeCity_House1_MapEvents:: @ 8530C84 + map_events FortreeCity_House1_MapObjects, FortreeCity_House1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/FortreeCity_House2.inc b/data/maps/events/FortreeCity_House2.inc new file mode 100644 index 0000000000..c54b42a6d1 --- /dev/null +++ b/data/maps/events/FortreeCity_House2.inc @@ -0,0 +1,11 @@ +FortreeCity_House2_MapObjects: @ 8530F30 + object_event 1, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 2, 3, 3, 5, 1, 0, 0, 0, FortreeCity_House2_EventScript_2177CB, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 6, 3, 3, 9, 1, 0, 0, 0, FortreeCity_House2_EventScript_2C811E, 0, 0, 0 + +FortreeCity_House2_MapWarps: @ 8530F60 + warp_def 3, 5, 0, 4, FORTREE_CITY + warp_def 4, 5, 0, 4, FORTREE_CITY + +FortreeCity_House2_MapEvents:: @ 8530F70 + map_events FortreeCity_House2_MapObjects, FortreeCity_House2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/FortreeCity_House3.inc b/data/maps/events/FortreeCity_House3.inc new file mode 100644 index 0000000000..7be1594935 --- /dev/null +++ b/data/maps/events/FortreeCity_House3.inc @@ -0,0 +1,11 @@ +FortreeCity_House3_MapObjects: @ 8530F84 + object_event 1, MAP_OBJ_GFX_MANIAC, 0, 0, 0, 3, 3, 10, 0, 0, 0, 0, FortreeCity_House3_EventScript_217AE8, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 5, 4, 3, 2, 17, 0, 0, 0, FortreeCity_House3_EventScript_217AF1, 0, 0, 0 + +FortreeCity_House3_MapWarps: @ 8530FB4 + warp_def 3, 5, 0, 5, FORTREE_CITY + warp_def 4, 5, 0, 5, FORTREE_CITY + +FortreeCity_House3_MapEvents:: @ 8530FC4 + map_events FortreeCity_House3_MapObjects, FortreeCity_House3_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/FortreeCity_House4.inc b/data/maps/events/FortreeCity_House4.inc new file mode 100644 index 0000000000..d24c125205 --- /dev/null +++ b/data/maps/events/FortreeCity_House4.inc @@ -0,0 +1,12 @@ +FortreeCity_House4_MapObjects: @ 8530FD8 + object_event 1, MAP_OBJ_GFX_WOMAN_5, 0, 0, 6, 4, 3, 2, 17, 0, 0, 0, FortreeCity_House4_EventScript_217C81, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BOY_3, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, FortreeCity_House4_EventScript_217C8A, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WINGULL, 0, 0, 2, 3, 3, 8, 0, 0, 0, 0, FortreeCity_House4_EventScript_217D20, 933, 0, 0 + +FortreeCity_House4_MapWarps: @ 8531020 + warp_def 3, 5, 0, 6, FORTREE_CITY + warp_def 4, 5, 0, 6, FORTREE_CITY + +FortreeCity_House4_MapEvents:: @ 8531030 + map_events FortreeCity_House4_MapObjects, FortreeCity_House4_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/FortreeCity_House5.inc b/data/maps/events/FortreeCity_House5.inc new file mode 100644 index 0000000000..3520e72494 --- /dev/null +++ b/data/maps/events/FortreeCity_House5.inc @@ -0,0 +1,12 @@ +FortreeCity_House5_MapObjects: @ 8531044 + object_event 1, MAP_OBJ_GFX_WOMAN_2, 0, 0, 6, 4, 3, 20, 0, 0, 0, 0, FortreeCity_House5_EventScript_217EF2, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_ZIGZAGOON_2, 0, 0, 6, 3, 3, 8, 0, 0, 0, 0, FortreeCity_House5_EventScript_217F04, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_1, 0, 0, 2, 4, 3, 10, 0, 0, 0, 0, FortreeCity_House5_EventScript_217EFB, 0, 0, 0 + +FortreeCity_House5_MapWarps: @ 853108C + warp_def 3, 5, 0, 7, FORTREE_CITY + warp_def 4, 5, 0, 7, FORTREE_CITY + +FortreeCity_House5_MapEvents:: @ 853109C + map_events FortreeCity_House5_MapObjects, FortreeCity_House5_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/FortreeCity_Mart.inc b/data/maps/events/FortreeCity_Mart.inc new file mode 100644 index 0000000000..acb1e94716 --- /dev/null +++ b/data/maps/events/FortreeCity_Mart.inc @@ -0,0 +1,13 @@ +FortreeCity_Mart_MapObjects: @ 8530EAC + object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, FortreeCity_Mart_EventScript_217666, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_3, 0, 0, 9, 3, 3, 7, 0, 0, 0, 0, FortreeCity_Mart_EventScript_217698, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_GIRL_3, 0, 0, 8, 5, 3, 2, 17, 0, 0, 0, FortreeCity_Mart_EventScript_2176A1, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BOY_2, 0, 0, 5, 6, 3, 10, 17, 0, 0, 0, FortreeCity_Mart_EventScript_2176AA, 0, 0, 0 + +FortreeCity_Mart_MapWarps: @ 8530F0C + warp_def 3, 7, 0, 3, FORTREE_CITY + warp_def 4, 7, 0, 3, FORTREE_CITY + +FortreeCity_Mart_MapEvents:: @ 8530F1C + map_events FortreeCity_Mart_MapObjects, FortreeCity_Mart_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/FortreeCity_PokemonCenter_1F.inc b/data/maps/events/FortreeCity_PokemonCenter_1F.inc new file mode 100644 index 0000000000..922e825c78 --- /dev/null +++ b/data/maps/events/FortreeCity_PokemonCenter_1F.inc @@ -0,0 +1,14 @@ +FortreeCity_PokemonCenter_1F_MapObjects: @ 8530D94 + object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, FortreeCity_PokemonCenter_1F_EventScript_2173E7, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 4, 7, 3, 1, 0, 0, 0, 0, FortreeCity_PokemonCenter_1F_EventScript_2173F5, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 8, 5, 3, 1, 0, 0, 0, 0, FortreeCity_PokemonCenter_1F_EventScript_2173FE, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BOY_3, 0, 0, 2, 3, 3, 8, 17, 0, 0, 0, FortreeCity_PokemonCenter_1F_EventScript_217407, 0, 0, 0 + +FortreeCity_PokemonCenter_1F_MapWarps: @ 8530DF4 + warp_def 7, 8, 3, 0, FORTREE_CITY + warp_def 6, 8, 3, 0, FORTREE_CITY + warp_def 1, 6, 4, 0, FORTREE_CITY_POKEMON_CENTER_2F + +FortreeCity_PokemonCenter_1F_MapEvents:: @ 8530E0C + map_events FortreeCity_PokemonCenter_1F_MapObjects, FortreeCity_PokemonCenter_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/FortreeCity_PokemonCenter_2F.inc b/data/maps/events/FortreeCity_PokemonCenter_2F.inc new file mode 100644 index 0000000000..e5a3f1ac46 --- /dev/null +++ b/data/maps/events/FortreeCity_PokemonCenter_2F.inc @@ -0,0 +1,14 @@ +FortreeCity_PokemonCenter_2F_MapObjects: @ 8530E20 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, FortreeCity_PokemonCenter_2F_EventScript_27375B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, FortreeCity_PokemonCenter_2F_EventScript_273761, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, FortreeCity_PokemonCenter_2F_EventScript_273767, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, FortreeCity_PokemonCenter_2F_EventScript_276B03, 702, 0, 0 + +FortreeCity_PokemonCenter_2F_MapWarps: @ 8530E80 + warp_def 1, 6, 4, 2, FORTREE_CITY_POKEMON_CENTER_1F + warp_def 5, 1, 3, 0, UNION_ROOM + warp_def 9, 1, 3, 0, TRADE_CENTER + +FortreeCity_PokemonCenter_2F_MapEvents:: @ 8530E98 + map_events FortreeCity_PokemonCenter_2F_MapObjects, FortreeCity_PokemonCenter_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/GraniteCave_1F.inc b/data/maps/events/GraniteCave_1F.inc new file mode 100644 index 0000000000..1bad3837f9 --- /dev/null +++ b/data/maps/events/GraniteCave_1F.inc @@ -0,0 +1,13 @@ +GraniteCave_1F_MapObjects: @ 85343BC + object_event 1, MAP_OBJ_GFX_HIKER, 0, 0, 36, 9, 3, 1, 0, 0, 0, 0, GraniteCave_1F_EventScript_22DA5E, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 17, 7, 3, 8, 0, 0, 0, 0, GraniteCave_1F_EventScript_291150, 1050, 0, 0 + +GraniteCave_1F_MapWarps: @ 85343EC + warp_def 37, 12, 3, 0, ROUTE_106 + warp_def 35, 3, 3, 0, GRANITE_CAVE_B1F + warp_def 17, 11, 3, 1, GRANITE_CAVE_B1F + warp_def 5, 10, 3, 0, GRANITE_CAVE_STEVENS_ROOM + +GraniteCave_1F_MapEvents:: @ 853440C + map_events GraniteCave_1F_MapObjects, GraniteCave_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/GraniteCave_B1F.inc b/data/maps/events/GraniteCave_B1F.inc new file mode 100644 index 0000000000..f5981fcbec --- /dev/null +++ b/data/maps/events/GraniteCave_B1F.inc @@ -0,0 +1,15 @@ +GraniteCave_B1F_MapObjects: @ 8534420 + object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 15, 21, 3, 1, 0, 0, 0, 0, GraniteCave_B1F_EventScript_29115D, 1051, 0, 0 + +GraniteCave_B1F_MapWarps: @ 8534438 + warp_def 25, 13, 3, 1, GRANITE_CAVE_1F + warp_def 4, 21, 3, 2, GRANITE_CAVE_1F + warp_def 29, 13, 3, 0, GRANITE_CAVE_B2F + warp_def 28, 21, 3, 1, GRANITE_CAVE_B2F + warp_def 8, 5, 3, 2, GRANITE_CAVE_B2F + warp_def 12, 3, 3, 3, GRANITE_CAVE_B2F + warp_def 29, 2, 3, 4, GRANITE_CAVE_B2F + +GraniteCave_B1F_MapEvents:: @ 8534470 + map_events GraniteCave_B1F_MapObjects, GraniteCave_B1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/GraniteCave_B2F.inc b/data/maps/events/GraniteCave_B2F.inc new file mode 100644 index 0000000000..ebc9467f45 --- /dev/null +++ b/data/maps/events/GraniteCave_B2F.inc @@ -0,0 +1,25 @@ +GraniteCave_B2F_MapObjects: @ 8534484 + object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 4, 3, 1, 0, 0, 0, 0, GraniteCave_B2F_EventScript_29116A, 1053, 0, 0 + object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 29, 4, 3, 1, 0, 0, 0, 0, GraniteCave_B2F_EventScript_291177, 1054, 0, 0 + object_event 3, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 5, 14, 3, 1, 17, 0, 0, 0, GraniteCave_B2F_EventScript_2907A6, 17, 0, 0 + object_event 4, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 3, 14, 3, 1, 17, 0, 0, 0, GraniteCave_B2F_EventScript_2907A6, 18, 0, 0 + object_event 5, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 2, 16, 3, 1, 17, 0, 0, 0, GraniteCave_B2F_EventScript_2907A6, 19, 0, 0 + object_event 6, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 7, 12, 3, 1, 17, 0, 0, 0, GraniteCave_B2F_EventScript_2907A6, 20, 0, 0 + object_event 7, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 4, 22, 3, 1, 17, 0, 0, 0, GraniteCave_B2F_EventScript_2907A6, 21, 0, 0 + object_event 8, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 6, 22, 3, 1, 17, 0, 0, 0, GraniteCave_B2F_EventScript_2907A6, 22, 0, 0 + object_event 9, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 3, 21, 3, 1, 17, 0, 0, 0, GraniteCave_B2F_EventScript_2907A6, 23, 0, 0 + +GraniteCave_B2F_MapWarps: @ 853455C + warp_def 29, 13, 3, 2, GRANITE_CAVE_B1F + warp_def 28, 21, 3, 3, GRANITE_CAVE_B1F + warp_def 8, 5, 3, 4, GRANITE_CAVE_B1F + warp_def 12, 3, 3, 5, GRANITE_CAVE_B1F + warp_def 29, 2, 3, 6, GRANITE_CAVE_B1F + +GraniteCave_B2F_MapBGEvents: @ 8534584 + bg_event 28, 6, 3, 7, 0, ITEM_EVERSTONE, 48, 0 + bg_event 15, 11, 3, 7, 0, ITEM_EVERSTONE, 49, 0 + +GraniteCave_B2F_MapEvents:: @ 853459C + map_events GraniteCave_B2F_MapObjects, GraniteCave_B2F_MapWarps, 0x0, GraniteCave_B2F_MapBGEvents + diff --git a/data/maps/events/GraniteCave_StevensRoom.inc b/data/maps/events/GraniteCave_StevensRoom.inc new file mode 100644 index 0000000000..eca46cd79a --- /dev/null +++ b/data/maps/events/GraniteCave_StevensRoom.inc @@ -0,0 +1,9 @@ +GraniteCave_StevensRoom_MapObjects: @ 85345B0 + object_event 1, MAP_OBJ_GFX_STEVEN, 0, 0, 7, 8, 3, 1, 0, 0, 0, 0, GraniteCave_StevensRoom_EventScript_22DC7B, 833, 0, 0 + +GraniteCave_StevensRoom_MapWarps: @ 85345C8 + warp_def 7, 3, 3, 3, GRANITE_CAVE_1F + +GraniteCave_StevensRoom_MapEvents:: @ 85345D0 + map_events GraniteCave_StevensRoom_MapObjects, GraniteCave_StevensRoom_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/InsideOfTruck.inc b/data/maps/events/InsideOfTruck.inc new file mode 100644 index 0000000000..3e888ec44a --- /dev/null +++ b/data/maps/events/InsideOfTruck.inc @@ -0,0 +1,25 @@ +InsideOfTruck_MapObjects: @ 853A078 + object_event 1, MAP_OBJ_GFX_MOVING_BOX, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, InsideOfTruck_EventScript_23BF6C, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MOVING_BOX, 0, 0, 0, 3, 8, 8, 0, 0, 0, 0, InsideOfTruck_EventScript_23BF6C, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MOVING_BOX, 0, 0, 2, 3, 8, 8, 0, 0, 0, 0, InsideOfTruck_EventScript_23BF6C, 0, 0, 0 + +InsideOfTruck_MapWarps: @ 853A0C0 + warp_def 4, 1, 0, 127, NONE + warp_def 4, 2, 0, 127, NONE + warp_def 4, 3, 0, 127, NONE + +InsideOfTruck_MapCoordEvents: @ 853A0D8 + coord_event 3, 1, 3, 0, VAR_0x4092, 0, 0, InsideOfTruck_EventScript_23BF04 + coord_event 3, 2, 3, 0, VAR_0x4092, 0, 0, InsideOfTruck_EventScript_23BF04 + coord_event 3, 3, 3, 0, VAR_0x4092, 0, 0, InsideOfTruck_EventScript_23BF04 + +InsideOfTruck_MapBGEvents: @ 853A108 + bg_event 1, 0, 0, 0, 0, InsideOfTruck_EventScript_23BF6C + bg_event 3, 4, 0, 0, 0, InsideOfTruck_EventScript_23BF6C + bg_event 2, 3, 0, 0, 0, InsideOfTruck_EventScript_23BF6C + bg_event 0, 1, 0, 0, 0, InsideOfTruck_EventScript_23BF6C + bg_event 0, 2, 0, 0, 0, InsideOfTruck_EventScript_23BF6C + +InsideOfTruck_MapEvents:: @ 853A144 + map_events InsideOfTruck_MapObjects, InsideOfTruck_MapWarps, InsideOfTruck_MapCoordEvents, InsideOfTruck_MapBGEvents + diff --git a/data/maps/events/IslandCave.inc b/data/maps/events/IslandCave.inc new file mode 100644 index 0000000000..094852c5a9 --- /dev/null +++ b/data/maps/events/IslandCave.inc @@ -0,0 +1,16 @@ +IslandCave_MapObjects: @ 8536C74 + object_event 1, MAP_OBJ_GFX_REGICE, 0, 0, 8, 7, 3, 8, 0, 0, 0, 0, IslandCave_EventScript_238F58, 936, 0, 0 + +IslandCave_MapWarps: @ 8536C8C + warp_def 8, 29, 3, 0, ROUTE_105 + warp_def 8, 20, 0, 2, ISLAND_CAVE + warp_def 8, 11, 3, 1, ISLAND_CAVE + +IslandCave_MapBGEvents: @ 8536CA4 + bg_event 8, 20, 0, 0, 0, IslandCave_EventScript_238EEF + bg_event 7, 20, 0, 0, 0, IslandCave_EventScript_238F1D + bg_event 9, 20, 0, 0, 0, IslandCave_EventScript_238F1D + +IslandCave_MapEvents:: @ 8536CC8 + map_events IslandCave_MapObjects, IslandCave_MapWarps, 0x0, IslandCave_MapBGEvents + diff --git a/data/maps/events/JaggedPass.inc b/data/maps/events/JaggedPass.inc new file mode 100644 index 0000000000..cc862fed1c --- /dev/null +++ b/data/maps/events/JaggedPass.inc @@ -0,0 +1,35 @@ +JaggedPass_MapObjects: @ 8534AE4 + object_event 1, MAP_OBJ_GFX_HIKER, 0, 0, 10, 8, 3, 10, 0, 0, 1, 3, JaggedPass_EventScript_230785, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_CAMPER, 0, 0, 16, 35, 3, 14, 0, 0, 1, 4, JaggedPass_EventScript_2307FB, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 23, 24, 3, 1, 0, 0, 0, 0, JaggedPass_EventScript_291184, 1070, 0, 0 + object_event 4, MAP_OBJ_GFX_PICNICKER, 0, 0, 9, 21, 3, 16, 17, 0, 1, 3, JaggedPass_EventScript_23079C, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 16, 19, 3, 7, 17, 0, 0, 0, JaggedPass_EventScript_230718, 847, 0, 0 + object_event 6, MAP_OBJ_GFX_PICNICKER, 0, 0, 14, 25, 3, 10, 17, 0, 1, 3, JaggedPass_EventScript_230871, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 0, 18, 25, 3, 9, 17, 0, 1, 3, JaggedPass_EventScript_23085A, 0, 0, 0 + +JaggedPass_MapWarps: @ 8534B8C + warp_def 14, 40, 3, 2, ROUTE_112 + warp_def 15, 40, 3, 3, ROUTE_112 + warp_def 13, 5, 3, 2, MT_CHIMNEY + warp_def 14, 5, 3, 3, MT_CHIMNEY + warp_def 16, 18, 0, 0, MAGMA_HIDEOUT_1F + +JaggedPass_MapCoordEvents: @ 8534BB4 + coord_event 13, 15, 3, 0, 2, 0, 0, 0x0 + coord_event 21, 12, 3, 0, 8, 0, 0, 0x0 + coord_event 14, 15, 3, 0, 2, 0, 0, 0x0 + coord_event 18, 17, 3, 0, 2, 0, 0, 0x0 + coord_event 22, 19, 3, 0, 2, 0, 0, 0x0 + coord_event 21, 15, 3, 0, VAR_0x40C8, 1, 0, JaggedPass_EventScript_2306BB + coord_event 22, 20, 3, 0, VAR_0x40C8, 1, 0, JaggedPass_EventScript_2306BB + coord_event 21, 20, 3, 0, VAR_0x40C8, 1, 0, JaggedPass_EventScript_2306BB + coord_event 14, 15, 3, 0, VAR_0x40C8, 1, 0, JaggedPass_EventScript_2306BB + coord_event 13, 15, 3, 0, VAR_0x40C8, 1, 0, JaggedPass_EventScript_2306BB + +JaggedPass_MapBGEvents: @ 8534C54 + bg_event 8, 10, 3, 7, 0, ITEM_FULL_HEAL, 77, 0 + bg_event 7, 29, 3, 7, 0, ITEM_GREAT_BALL, 76, 0 + +JaggedPass_MapEvents:: @ 8534C6C + map_events JaggedPass_MapObjects, JaggedPass_MapWarps, JaggedPass_MapCoordEvents, JaggedPass_MapBGEvents + diff --git a/data/maps/events/LavaridgeTown.inc b/data/maps/events/LavaridgeTown.inc new file mode 100644 index 0000000000..0e16fc60c5 --- /dev/null +++ b/data/maps/events/LavaridgeTown.inc @@ -0,0 +1,35 @@ +LavaridgeTown_MapObjects: @ 8527A54 + object_event 1, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 8, 7, 3, 8, 0, 0, 0, 0, LavaridgeTown_EventScript_1EA73B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 5, 1, 3, 8, 0, 0, 0, 0, LavaridgeTown_EventScript_1EA70E, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 5, 8, 3, 8, 0, 0, 0, 0, LavaridgeTown_EventScript_1EA717, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 10, 13, 3, 3, 32, 0, 0, 0, LavaridgeTown_EventScript_1EA720, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN, 0, 0, 4, 4, 3, 18, 0, 0, 0, 0, LavaridgeTown_EventScript_1EA729, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN, 0, 0, 5, 4, 3, 17, 0, 0, 0, 0, LavaridgeTown_EventScript_1EA732, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_GIDDY, 0, 0, 6, 16, 3, 9, 0, 0, 0, 0, 0x0, 930, 0, 0 + object_event 8, MAP_OBJ_GFX_HIPSTER, 0, 0, 12, 15, 0, 8, 0, 0, 0, 0, 0x0, 929, 0, 0 + object_event 9, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 4, 7, 3, 8, 17, 0, 0, 0, LavaridgeTown_EventScript_1EA744, 0, 0, 0 + +LavaridgeTown_MapWarps: @ 8527B2C + warp_def 12, 15, 0, 0, LAVARIDGE_TOWN_HERB_SHOP + warp_def 5, 15, 0, 0, LAVARIDGE_TOWN_GYM_1F + warp_def 15, 5, 0, 0, LAVARIDGE_TOWN_MART + warp_def 9, 6, 0, 0, LAVARIDGE_TOWN_POKEMON_CENTER_1F + warp_def 16, 15, 0, 0, LAVARIDGE_TOWN_HOUSE + warp_def 9, 2, 3, 3, LAVARIDGE_TOWN_POKEMON_CENTER_1F + +LavaridgeTown_MapCoordEvents: @ 8527B5C + coord_event 6, 3, 3, 0, 0, 0, 0, LavaridgeTown_EventScript_1EA6FA + +LavaridgeTown_MapBGEvents: @ 8527B6C + bg_event 14, 16, 0, 0, 0, LavaridgeTown_EventScript_1EA7B7 + bg_event 7, 15, 0, 0, 0, LavaridgeTown_EventScript_1EA7AE + bg_event 17, 5, 0, 1, 0, LavaridgeTown_EventScript_271E6A + bg_event 13, 8, 0, 0, 0, LavaridgeTown_EventScript_1EA7A5 + bg_event 10, 6, 0, 1, 0, LavaridgeTown_EventScript_271E73 + bg_event 16, 5, 0, 1, 0, LavaridgeTown_EventScript_271E6A + bg_event 11, 6, 0, 1, 0, LavaridgeTown_EventScript_271E73 + bg_event 4, 5, 3, 7, 0, ITEM_ICE_HEAL, 0, 0 + +LavaridgeTown_MapEvents:: @ 8527BCC + map_events LavaridgeTown_MapObjects, LavaridgeTown_MapWarps, LavaridgeTown_MapCoordEvents, LavaridgeTown_MapBGEvents + diff --git a/data/maps/events/LavaridgeTown_Gym_1F.inc b/data/maps/events/LavaridgeTown_Gym_1F.inc new file mode 100644 index 0000000000..a67522cb87 --- /dev/null +++ b/data/maps/events/LavaridgeTown_Gym_1F.inc @@ -0,0 +1,43 @@ +LavaridgeTown_Gym_1F_MapObjects: @ 852DE1C + object_event 1, MAP_OBJ_GFX_FLANNERY, 0, 0, 13, 9, 3, 8, 0, 0, 0, 0, LavaridgeTown_Gym_1F_EventScript_1FE78C, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_6, 0, 0, 3, 14, 3, 8, 0, 0, 3, 1, LavaridgeTown_Gym_1F_EventScript_1FE87F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 2, 15, 3, 8, 0, 0, 3, 1, LavaridgeTown_Gym_1F_EventScript_1FE900, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MAN_6, 0, 0, 3, 10, 3, 8, 0, 0, 3, 1, LavaridgeTown_Gym_1F_EventScript_1FE8AF, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_GIRL_3, 0, 0, 5, 2, 3, 8, 0, 0, 3, 1, LavaridgeTown_Gym_1F_EventScript_1FE8E5, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_MAN_2, 0, 0, 12, 16, 3, 10, 0, 0, 0, 0, LavaridgeTown_Gym_1F_EventScript_1FE96C, 0, 0, 0 + +LavaridgeTown_Gym_1F_MapWarps: @ 852DEAC + warp_def 13, 18, 3, 1, LAVARIDGE_TOWN + warp_def 14, 18, 3, 1, LAVARIDGE_TOWN + warp_def 10, 18, 3, 0, LAVARIDGE_TOWN_GYM_B1F + warp_def 8, 9, 3, 2, LAVARIDGE_TOWN_GYM_B1F + warp_def 4, 18, 3, 4, LAVARIDGE_TOWN_GYM_B1F + warp_def 5, 14, 3, 3, LAVARIDGE_TOWN_GYM_B1F + warp_def 0, 17, 3, 1, LAVARIDGE_TOWN_GYM_B1F + warp_def 5, 9, 3, 5, LAVARIDGE_TOWN_GYM_B1F + warp_def 2, 15, 3, 6, LAVARIDGE_TOWN_GYM_B1F + warp_def 3, 14, 3, 7, LAVARIDGE_TOWN_GYM_B1F + warp_def 1, 14, 3, 8, LAVARIDGE_TOWN_GYM_B1F + warp_def 0, 10, 3, 9, LAVARIDGE_TOWN_GYM_B1F + warp_def 3, 10, 3, 10, LAVARIDGE_TOWN_GYM_B1F + warp_def 0, 6, 3, 11, LAVARIDGE_TOWN_GYM_B1F + warp_def 3, 6, 3, 12, LAVARIDGE_TOWN_GYM_B1F + warp_def 5, 6, 3, 13, LAVARIDGE_TOWN_GYM_B1F + warp_def 2, 3, 3, 14, LAVARIDGE_TOWN_GYM_B1F + warp_def 5, 2, 3, 15, LAVARIDGE_TOWN_GYM_B1F + warp_def 7, 2, 3, 16, LAVARIDGE_TOWN_GYM_B1F + warp_def 8, 6, 3, 17, LAVARIDGE_TOWN_GYM_B1F + warp_def 10, 6, 3, 18, LAVARIDGE_TOWN_GYM_B1F + warp_def 4, 16, 0, 20, LAVARIDGE_TOWN_GYM_B1F + warp_def 12, 3, 3, 19, LAVARIDGE_TOWN_GYM_B1F + warp_def 14, 6, 3, 21, LAVARIDGE_TOWN_GYM_B1F + warp_def 13, 17, 3, 22, LAVARIDGE_TOWN_GYM_B1F + warp_def 12, 12, 3, 23, LAVARIDGE_TOWN_GYM_B1F + +LavaridgeTown_Gym_1F_MapBGEvents: @ 852DF7C + bg_event 10, 15, 0, 1, 0, LavaridgeTown_Gym_1F_EventScript_1FE98B + bg_event 16, 15, 0, 1, 0, LavaridgeTown_Gym_1F_EventScript_1FE99B + +LavaridgeTown_Gym_1F_MapEvents:: @ 852DF94 + map_events LavaridgeTown_Gym_1F_MapObjects, LavaridgeTown_Gym_1F_MapWarps, 0x0, LavaridgeTown_Gym_1F_MapBGEvents + diff --git a/data/maps/events/LavaridgeTown_Gym_B1F.inc b/data/maps/events/LavaridgeTown_Gym_B1F.inc new file mode 100644 index 0000000000..0c0c4adaa0 --- /dev/null +++ b/data/maps/events/LavaridgeTown_Gym_B1F.inc @@ -0,0 +1,35 @@ +LavaridgeTown_Gym_B1F_MapObjects: @ 852DFA8 + object_event 1, MAP_OBJ_GFX_MAN_6, 0, 0, 4, 18, 3, 8, 17, 0, 3, 1, LavaridgeTown_Gym_B1F_EventScript_1FE91B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_6, 0, 0, 3, 6, 0, 8, 17, 0, 3, 1, LavaridgeTown_Gym_B1F_EventScript_1FE8CA, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_6, 0, 0, 13, 17, 0, 8, 17, 0, 3, 1, LavaridgeTown_Gym_B1F_EventScript_1FE936, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_HIKER, 0, 0, 4, 16, 3, 8, 17, 0, 3, 1, LavaridgeTown_Gym_B1F_EventScript_1FE951, 0, 0, 0 + +LavaridgeTown_Gym_B1F_MapWarps: @ 852E008 + warp_def 10, 18, 3, 2, LAVARIDGE_TOWN_GYM_1F + warp_def 0, 17, 3, 6, LAVARIDGE_TOWN_GYM_1F + warp_def 8, 9, 3, 3, LAVARIDGE_TOWN_GYM_1F + warp_def 5, 14, 3, 5, LAVARIDGE_TOWN_GYM_1F + warp_def 4, 18, 3, 4, LAVARIDGE_TOWN_GYM_1F + warp_def 5, 9, 3, 7, LAVARIDGE_TOWN_GYM_1F + warp_def 2, 15, 3, 8, LAVARIDGE_TOWN_GYM_1F + warp_def 3, 14, 3, 9, LAVARIDGE_TOWN_GYM_1F + warp_def 1, 14, 3, 10, LAVARIDGE_TOWN_GYM_1F + warp_def 0, 10, 3, 11, LAVARIDGE_TOWN_GYM_1F + warp_def 3, 10, 3, 12, LAVARIDGE_TOWN_GYM_1F + warp_def 0, 6, 3, 13, LAVARIDGE_TOWN_GYM_1F + warp_def 3, 6, 3, 14, LAVARIDGE_TOWN_GYM_1F + warp_def 5, 6, 3, 15, LAVARIDGE_TOWN_GYM_1F + warp_def 2, 3, 3, 16, LAVARIDGE_TOWN_GYM_1F + warp_def 5, 2, 3, 17, LAVARIDGE_TOWN_GYM_1F + warp_def 7, 2, 3, 18, LAVARIDGE_TOWN_GYM_1F + warp_def 8, 6, 3, 19, LAVARIDGE_TOWN_GYM_1F + warp_def 10, 6, 3, 20, LAVARIDGE_TOWN_GYM_1F + warp_def 12, 3, 3, 22, LAVARIDGE_TOWN_GYM_1F + warp_def 4, 16, 3, 21, LAVARIDGE_TOWN_GYM_1F + warp_def 14, 6, 3, 23, LAVARIDGE_TOWN_GYM_1F + warp_def 13, 17, 3, 24, LAVARIDGE_TOWN_GYM_1F + warp_def 12, 12, 3, 25, LAVARIDGE_TOWN_GYM_1F + +LavaridgeTown_Gym_B1F_MapEvents:: @ 852E0C8 + map_events LavaridgeTown_Gym_B1F_MapObjects, LavaridgeTown_Gym_B1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LavaridgeTown_HerbShop.inc b/data/maps/events/LavaridgeTown_HerbShop.inc new file mode 100644 index 0000000000..76b5ac368e --- /dev/null +++ b/data/maps/events/LavaridgeTown_HerbShop.inc @@ -0,0 +1,12 @@ +LavaridgeTown_HerbShop_MapObjects: @ 852DDB0 + object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 3, 2, 3, 8, 0, 0, 0, 0, LavaridgeTown_HerbShop_EventScript_1FE4D7, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 7, 5, 3, 1, 17, 0, 0, 0, LavaridgeTown_HerbShop_EventScript_1FE505, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 9, 3, 3, 5, 17, 0, 0, 0, LavaridgeTown_HerbShop_EventScript_1FE4FC, 0, 0, 0 + +LavaridgeTown_HerbShop_MapWarps: @ 852DDF8 + warp_def 3, 7, 0, 0, LAVARIDGE_TOWN + warp_def 4, 7, 0, 0, LAVARIDGE_TOWN + +LavaridgeTown_HerbShop_MapEvents:: @ 852DE08 + map_events LavaridgeTown_HerbShop_MapObjects, LavaridgeTown_HerbShop_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LavaridgeTown_House.inc b/data/maps/events/LavaridgeTown_House.inc new file mode 100644 index 0000000000..82ae945b46 --- /dev/null +++ b/data/maps/events/LavaridgeTown_House.inc @@ -0,0 +1,12 @@ +LavaridgeTown_House_MapObjects: @ 852E0DC + object_event 1, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 2, 3, 3, 1, 17, 0, 0, 0, LavaridgeTown_House_EventScript_1FF912, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_ZIGZAGOON_2, 0, 0, 6, 6, 3, 1, 17, 0, 0, 0, LavaridgeTown_House_EventScript_1FF91B, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 8, 4, 3, 2, 17, 0, 0, 0, LavaridgeTown_House_EventScript_2C804E, 0, 0, 0 + +LavaridgeTown_House_MapWarps: @ 852E124 + warp_def 3, 7, 0, 4, LAVARIDGE_TOWN + warp_def 4, 7, 0, 4, LAVARIDGE_TOWN + +LavaridgeTown_House_MapEvents:: @ 852E134 + map_events LavaridgeTown_House_MapObjects, LavaridgeTown_House_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LavaridgeTown_Mart.inc b/data/maps/events/LavaridgeTown_Mart.inc new file mode 100644 index 0000000000..db9c02f5ef --- /dev/null +++ b/data/maps/events/LavaridgeTown_Mart.inc @@ -0,0 +1,12 @@ +LavaridgeTown_Mart_MapObjects: @ 852E148 + object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, LavaridgeTown_Mart_EventScript_1FF9CE, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 4, 2, 3, 8, 0, 0, 0, 0, LavaridgeTown_Mart_EventScript_1FF9FE, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_OLD_WOMAN_2, 0, 0, 9, 5, 3, 10, 0, 0, 0, 0, LavaridgeTown_Mart_EventScript_1FFA07, 0, 0, 0 + +LavaridgeTown_Mart_MapWarps: @ 852E190 + warp_def 3, 7, 0, 2, LAVARIDGE_TOWN + warp_def 4, 7, 0, 2, LAVARIDGE_TOWN + +LavaridgeTown_Mart_MapEvents:: @ 852E1A0 + map_events LavaridgeTown_Mart_MapObjects, LavaridgeTown_Mart_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LavaridgeTown_PokemonCenter_1F.inc b/data/maps/events/LavaridgeTown_PokemonCenter_1F.inc new file mode 100644 index 0000000000..11ed52f9ad --- /dev/null +++ b/data/maps/events/LavaridgeTown_PokemonCenter_1F.inc @@ -0,0 +1,15 @@ +LavaridgeTown_PokemonCenter_1F_MapObjects: @ 852E1B4 + object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, LavaridgeTown_PokemonCenter_1F_EventScript_1FFB0E, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 11, 8, 3, 7, 0, 0, 0, 0, LavaridgeTown_PokemonCenter_1F_EventScript_1FFB1C, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_4, 0, 0, 10, 6, 0, 9, 0, 0, 0, 0, LavaridgeTown_PokemonCenter_1F_EventScript_1FFB25, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, LavaridgeTown_PokemonCenter_1F_EventScript_1FFB2E, 0, 0, 0 + +LavaridgeTown_PokemonCenter_1F_MapWarps: @ 852E214 + warp_def 7, 8, 3, 3, LAVARIDGE_TOWN + warp_def 6, 8, 3, 3, LAVARIDGE_TOWN + warp_def 1, 6, 4, 0, LAVARIDGE_TOWN_POKEMON_CENTER_2F + warp_def 2, 1, 0, 5, LAVARIDGE_TOWN + +LavaridgeTown_PokemonCenter_1F_MapEvents:: @ 852E234 + map_events LavaridgeTown_PokemonCenter_1F_MapObjects, LavaridgeTown_PokemonCenter_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LavaridgeTown_PokemonCenter_2F.inc b/data/maps/events/LavaridgeTown_PokemonCenter_2F.inc new file mode 100644 index 0000000000..dc0acec14f --- /dev/null +++ b/data/maps/events/LavaridgeTown_PokemonCenter_2F.inc @@ -0,0 +1,14 @@ +LavaridgeTown_PokemonCenter_2F_MapObjects: @ 852E248 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, LavaridgeTown_PokemonCenter_2F_EventScript_27375B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, LavaridgeTown_PokemonCenter_2F_EventScript_273761, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, LavaridgeTown_PokemonCenter_2F_EventScript_273767, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, LavaridgeTown_PokemonCenter_2F_EventScript_276B03, 702, 0, 0 + +LavaridgeTown_PokemonCenter_2F_MapWarps: @ 852E2A8 + warp_def 1, 6, 4, 2, LAVARIDGE_TOWN_POKEMON_CENTER_1F + warp_def 5, 1, 3, 0, UNION_ROOM + warp_def 9, 1, 3, 0, TRADE_CENTER + +LavaridgeTown_PokemonCenter_2F_MapEvents:: @ 852E2C0 + map_events LavaridgeTown_PokemonCenter_2F_MapObjects, LavaridgeTown_PokemonCenter_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LilycoveCity.inc b/data/maps/events/LilycoveCity.inc new file mode 100644 index 0000000000..63aed18f88 --- /dev/null +++ b/data/maps/events/LilycoveCity.inc @@ -0,0 +1,58 @@ +LilycoveCity_MapObjects: @ 8526CE8 + object_event 1, MAP_OBJ_GFX_SAILOR, 0, 0, 32, 20, 3, 3, 16, 0, 0, 0, LilycoveCity_EventScript_1E2C53, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GIRL_1, 0, 0, 15, 18, 3, 2, 17, 0, 0, 0, LilycoveCity_EventScript_1E2C2B, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_1, 0, 0, 28, 28, 3, 1, 0, 0, 0, 0, LilycoveCity_EventScript_1E2C22, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BOY_4, 0, 0, 21, 15, 3, 2, 17, 0, 0, 0, LilycoveCity_EventScript_1E2C4A, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_MAN_2, 0, 0, 16, 9, 5, 5, 1, 0, 0, 0, LilycoveCity_EventScript_1E2C91, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_WOMAN_3, 0, 0, 35, 27, 3, 2, 17, 0, 0, 0, LilycoveCity_EventScript_1E2C72, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 35, 37, 5, 8, 0, 0, 0, 0, LilycoveCity_EventScript_1E2C9A, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 34, 37, 5, 8, 0, 0, 0, 0, LilycoveCity_EventScript_1E2CA3, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 57, 17, 3, 1, 0, 0, 0, 0, LilycoveCity_EventScript_1E2CAC, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 73, 15, 3, 10, 0, 0, 0, 0, LilycoveCity_EventScript_1E2D7D, 852, 0, 0 + object_event 11, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 61, 36, 5, 1, 0, 0, 0, 0, LilycoveCity_EventScript_2910E8, 1042, 0, 0 + object_event 12, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 43, 18, 3, 5, 1, 0, 0, 0, LilycoveCity_EventScript_1E2DD5, 852, 0, 0 + object_event 13, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 46, 12, 3, 9, 0, 0, 0, 0, LilycoveCity_EventScript_1E2DBA, 852, 0, 0 + object_event 14, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 45, 12, 3, 10, 0, 0, 0, 0, LilycoveCity_EventScript_1E2DC3, 852, 0, 0 + object_event 15, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 38, 9, 5, 9, 0, 0, 0, 0, LilycoveCity_EventScript_1E2DCC, 852, 0, 0 + object_event 16, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 50, 7, 5, 2, 17, 0, 0, 0, LilycoveCity_EventScript_1E2BD8, 0, 0, 0 + object_event 17, MAP_OBJ_GFX_HIPSTER, 0, 0, 27, 7, 5, 8, 17, 0, 0, 0, LilycoveCity_EventScript_1E2DDE, 971, 0, 0 + object_event 18, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 16, 23, 3, 10, 17, 0, 0, 0, LilycoveCity_EventScript_1E302D, 0, 0, 0 + object_event 19, MAP_OBJ_GFX_WOMAN_4, 0, 0, 41, 25, 3, 9, 17, 0, 0, 0, LilycoveCity_EventScript_1E2CEE, 0, 0, 0 + object_event 20, MAP_OBJ_GFX_MAN_2, 0, 0, 40, 25, 3, 10, 17, 0, 0, 0, LilycoveCity_EventScript_1E2CDD, 0, 0, 0 + object_event 21, MAP_OBJ_GFX_SAILOR, 0, 0, 16, 34, 3, 8, 17, 0, 0, 0, LilycoveCity_EventScript_1E2CCB, 0, 0, 0 + object_event 22, MAP_OBJ_GFX_FAT_MAN, 0, 0, 16, 35, 3, 7, 17, 0, 0, 0, LilycoveCity_EventScript_1E2CD4, 0, 0, 0 + +LilycoveCity_MapWarps: @ 8526EF8 + warp_def 27, 6, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_1F + warp_def 37, 24, 0, 0, LILYCOVE_CITY_COVE_LILY_MOTEL_1F + warp_def 24, 14, 0, 0, LILYCOVE_CITY_POKEMON_CENTER_1F + warp_def 11, 5, 0, 0, LILYCOVE_CITY_LILYCOVE_MUSEUM_1F + warp_def 23, 24, 0, 0, LILYCOVE_CITY_CONTEST_LOBBY + warp_def 39, 14, 0, 1, LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB + warp_def 70, 5, 1, 0, AQUA_HIDEOUT_1F + warp_def 36, 6, 0, 0, LILYCOVE_CITY_MOVE_DELETERS_HOUSE + warp_def 42, 6, 0, 0, LILYCOVE_CITY_HOUSE_1 + warp_def 55, 15, 0, 0, LILYCOVE_CITY_HOUSE_2 + warp_def 11, 22, 0, 0, LILYCOVE_CITY_HOUSE_3 + warp_def 12, 14, 0, 0, LILYCOVE_CITY_HOUSE_4 + warp_def 12, 32, 0, 0, LILYCOVE_CITY_HARBOR + warp_def 12, 5, 0, 1, LILYCOVE_CITY_LILYCOVE_MUSEUM_1F + +LilycoveCity_MapBGEvents: @ 8526F68 + bg_event 19, 7, 0, 0, 0, LilycoveCity_EventScript_1E2D1A + bg_event 25, 14, 0, 1, 0, LilycoveCity_EventScript_271E73 + bg_event 29, 7, 0, 0, 0, LilycoveCity_EventScript_1E2D6B + bg_event 26, 14, 0, 1, 0, LilycoveCity_EventScript_271E73 + bg_event 6, 15, 0, 0, 0, LilycoveCity_EventScript_1E2CFF + bg_event 29, 24, 0, 0, 0, LilycoveCity_EventScript_1E2D08 + bg_event 35, 24, 0, 0, 0, LilycoveCity_EventScript_1E2D11 + bg_event 6, 30, 3, 0, 0, LilycoveCity_EventScript_1E2D44 + bg_event 36, 14, 0, 0, 0, LilycoveCity_EventScript_1E2D62 + bg_event 34, 6, 0, 0, 0, LilycoveCity_EventScript_1E2D74 + bg_event 36, 31, 3, 7, 0, ITEM_HEART_SCALE, 27, 0 + bg_event 61, 7, 0, 7, 0, ITEM_PP_UP, 43, 0 + bg_event 64, 31, 0, 7, 0, ITEM_POKE_BALL, 75, 0 + +LilycoveCity_MapEvents:: @ 8527004 + map_events LilycoveCity_MapObjects, LilycoveCity_MapWarps, 0x0, LilycoveCity_MapBGEvents + diff --git a/data/maps/events/LilycoveCity_ContestHall.inc b/data/maps/events/LilycoveCity_ContestHall.inc new file mode 100644 index 0000000000..15501ebfd4 --- /dev/null +++ b/data/maps/events/LilycoveCity_ContestHall.inc @@ -0,0 +1,51 @@ +LilycoveCity_ContestHall_MapObjects: @ 8531850 + object_event 1, MAP_OBJ_GFX_BOY_1, 0, 0, 30, 30, 3, 2, 68, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B485, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BOY_3, 0, 0, 11, 7, 3, 2, 51, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B48E, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_GIRL_3, 0, 0, 40, 8, 3, 2, 34, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B497, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_4, 0, 0, 12, 22, 3, 8, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B4A9, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_CONTEST_JUDGE, 0, 0, 15, 22, 3, 8, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B4C0, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 10, 25, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B4D7, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 12, 25, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B4EE, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_MANIAC, 0, 0, 14, 25, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B505, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_WOMAN_6, 0, 0, 16, 25, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B51C, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 8, 24, 3, 10, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B533, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_WOMAN_7, 0, 0, 18, 24, 3, 9, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B56A, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_BOY_1, 0, 0, 8, 22, 3, 10, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B53C, 0, 0, 0 + object_event 13, MAP_OBJ_GFX_WOMAN_4, 0, 0, 24, 10, 3, 8, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B581, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_CONTEST_JUDGE, 0, 0, 27, 10, 3, 8, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B598, 0, 0, 0 + object_event 15, MAP_OBJ_GFX_WOMAN_5, 0, 0, 22, 13, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B5AF, 0, 0, 0 + object_event 16, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 24, 13, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B5C6, 0, 0, 0 + object_event 17, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 26, 13, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B5DD, 0, 0, 0 + object_event 18, MAP_OBJ_GFX_WOMAN_2, 0, 0, 28, 13, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B5F4, 0, 0, 0 + object_event 19, MAP_OBJ_GFX_WOMAN_3, 0, 0, 20, 10, 3, 10, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B60B, 0, 0, 0 + object_event 20, MAP_OBJ_GFX_WOMAN_1, 0, 0, 30, 11, 3, 9, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B639, 0, 0, 0 + object_event 21, MAP_OBJ_GFX_MAN_1, 0, 0, 26, 8, 3, 8, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B622, 0, 0, 0 + object_event 22, MAP_OBJ_GFX_CAMPER, 0, 0, 13, 20, 3, 8, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B553, 0, 0, 0 + object_event 23, MAP_OBJ_GFX_WOMAN_4, 0, 0, 36, 22, 3, 8, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B650, 0, 0, 0 + object_event 24, MAP_OBJ_GFX_CONTEST_JUDGE, 0, 0, 39, 22, 3, 8, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B667, 0, 0, 0 + object_event 25, MAP_OBJ_GFX_BOY_2, 0, 0, 34, 25, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B67E, 0, 0, 0 + object_event 26, MAP_OBJ_GFX_GIRL_2, 0, 0, 36, 25, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B695, 0, 0, 0 + object_event 27, MAP_OBJ_GFX_BOY_3, 0, 0, 38, 25, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B6AC, 0, 0, 0 + object_event 28, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 40, 25, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B6C3, 0, 0, 0 + object_event 29, MAP_OBJ_GFX_WOMAN_3, 0, 0, 32, 23, 3, 10, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B6DA, 0, 0, 0 + object_event 30, MAP_OBJ_GFX_MAN_1, 0, 0, 37, 20, 3, 8, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B71C, 0, 0, 0 + object_event 31, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 42, 24, 3, 9, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B705, 0, 0, 0 + object_event 32, MAP_OBJ_GFX_SAILOR, 0, 0, 23, 26, 3, 2, 17, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B4A0, 0, 0, 0 + +LilycoveCity_ContestHall_MapWarps: @ 8531B50 + warp_def 19, 32, 0, 2, LILYCOVE_CITY_CONTEST_LOBBY + warp_def 30, 32, 0, 3, LILYCOVE_CITY_CONTEST_LOBBY + warp_def 20, 32, 0, 2, LILYCOVE_CITY_CONTEST_LOBBY + warp_def 31, 32, 0, 3, LILYCOVE_CITY_CONTEST_LOBBY + +LilycoveCity_ContestHall_MapBGEvents: @ 8531B70 + bg_event 27, 16, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B733 + bg_event 39, 28, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B73C + bg_event 11, 28, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B745 + bg_event 15, 28, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B745 + bg_event 23, 16, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B733 + bg_event 35, 28, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B73C + +LilycoveCity_ContestHall_MapEvents:: @ 8531BB8 + map_events LilycoveCity_ContestHall_MapObjects, LilycoveCity_ContestHall_MapWarps, 0x0, LilycoveCity_ContestHall_MapBGEvents + diff --git a/data/maps/events/LilycoveCity_ContestLobby.inc b/data/maps/events/LilycoveCity_ContestLobby.inc new file mode 100644 index 0000000000..6fc324f760 --- /dev/null +++ b/data/maps/events/LilycoveCity_ContestLobby.inc @@ -0,0 +1,50 @@ +LilycoveCity_ContestLobby_MapObjects: @ 8531534 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 14, 2, 3, 8, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A554, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 15, 2, 3, 8, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A806, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_5, 0, 0, 26, 9, 3, 10, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_293FA2, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_ARTIST, 0, 0, 9, 1, 0, 1, 0, 0, 0, 0, 0x0, 774, 0, 0 + object_event 5, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 18, 8, 3, 2, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A708, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_GIRL_2, 0, 0, 4, 9, 3, 2, 34, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A711, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_ARTIST, 0, 0, 3, 4, 3, 2, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A71A, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_REPORTER_M, 0, 0, 13, 10, 3, 10, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_28CA59, 802, 0, 0 + object_event 9, MAP_OBJ_GFX_BOY_1, 0, 0, 23, 8, 3, 8, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A768, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 28, 9, 3, 9, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_293FB4, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_ARTIST, 0, 0, 21, 1, 0, 8, 0, 0, 0, 0, 0x0, 895, 0, 0 + object_event 12, MAP_OBJ_GFX_FISHERMAN, 0, 0, 5, 6, 3, 2, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A72C, 0, 0, 0 + object_event 13, MAP_OBJ_GFX_FAT_MAN, 0, 0, 0, 8, 3, 10, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A723, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 8, 7, 3, 3, 16, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A735, 0, 0, 0 + object_event 15, MAP_OBJ_GFX_WOMAN_2, 0, 0, 22, 9, 3, 10, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_293FAB, 0, 0, 0 + object_event 16, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 26, 5, 3, 10, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_293FBD, 873, 0, 0 + object_event 17, MAP_OBJ_GFX_GIRL_1, 0, 0, 24, 9, 3, 9, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A771, 0, 0, 0 + object_event 18, MAP_OBJ_GFX_MAN_6, 0, 0, 27, 3, 3, 8, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7B3, 832, 0, 0 + object_event 19, MAP_OBJ_GFX_CAMPER, 0, 0, 28, 3, 3, 8, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7BE, 832, 0, 0 + object_event 20, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 28, 7, 3, 7, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7C9, 832, 0, 0 + object_event 21, MAP_OBJ_GFX_SCIENTIST_2, 0, 0, 26, 7, 3, 7, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7D9, 832, 0, 0 + object_event 22, MAP_OBJ_GFX_WOMAN_1, 0, 0, 27, 7, 3, 7, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7E9, 832, 0, 0 + object_event 23, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 26, 3, 3, 8, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7A8, 832, 0, 0 + object_event 24, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 26, 5, 3, 10, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A798, 832, 0, 0 + object_event 25, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 9, 10, 3, 10, 34, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21ACF1, 0, 0, 0 + +LilycoveCity_ContestLobby_MapWarps: @ 853178C + warp_def 14, 11, 0, 4, LILYCOVE_CITY + warp_def 15, 11, 0, 4, LILYCOVE_CITY + warp_def 9, 1, 0, 0, LILYCOVE_CITY_CONTEST_HALL + warp_def 21, 1, 0, 1, LILYCOVE_CITY_CONTEST_HALL + +LilycoveCity_ContestLobby_MapBGEvents: @ 85317AC + bg_event 23, 5, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_294055 + bg_event 23, 9, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_293E1E + bg_event 23, 1, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A753 + bg_event 25, 1, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A75A + bg_event 27, 1, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A761 + bg_event 30, 1, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A77A + bg_event 3, 1, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A73E + bg_event 5, 1, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A745 + bg_event 7, 1, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A74C + bg_event 27, 5, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_293C3E + bg_event 27, 9, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_293D4D + bg_event 18, 3, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A784 + +LilycoveCity_ContestLobby_MapEvents:: @ 853183C + map_events LilycoveCity_ContestLobby_MapObjects, LilycoveCity_ContestLobby_MapWarps, 0x0, LilycoveCity_ContestLobby_MapBGEvents + diff --git a/data/maps/events/LilycoveCity_CoveLilyMotel_1F.inc b/data/maps/events/LilycoveCity_CoveLilyMotel_1F.inc new file mode 100644 index 0000000000..11d501116e --- /dev/null +++ b/data/maps/events/LilycoveCity_CoveLilyMotel_1F.inc @@ -0,0 +1,14 @@ +LilycoveCity_CoveLilyMotel_1F_MapObjects: @ 8531134 + object_event 1, MAP_OBJ_GFX_MAN_1, 0, 0, 10, 3, 3, 7, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_1F_EventScript_218189, 0, 0, 0 + +LilycoveCity_CoveLilyMotel_1F_MapWarps: @ 853114C + warp_def 5, 8, 0, 1, LILYCOVE_CITY + warp_def 6, 8, 0, 1, LILYCOVE_CITY + warp_def 2, 1, 0, 0, LILYCOVE_CITY_COVE_LILY_MOTEL_2F + +LilycoveCity_CoveLilyMotel_1F_MapCoordEvents: @ 8531164 + coord_event 10, 2, 3, 0, VAR_0x4001, 0, 0, LilycoveCity_CoveLilyMotel_1F_EventScript_218211 + +LilycoveCity_CoveLilyMotel_1F_MapEvents:: @ 8531174 + map_events LilycoveCity_CoveLilyMotel_1F_MapObjects, LilycoveCity_CoveLilyMotel_1F_MapWarps, LilycoveCity_CoveLilyMotel_1F_MapCoordEvents, 0x0 + diff --git a/data/maps/events/LilycoveCity_CoveLilyMotel_2F.inc b/data/maps/events/LilycoveCity_CoveLilyMotel_2F.inc new file mode 100644 index 0000000000..dfc0d3bd0d --- /dev/null +++ b/data/maps/events/LilycoveCity_CoveLilyMotel_2F.inc @@ -0,0 +1,15 @@ +LilycoveCity_CoveLilyMotel_2F_MapObjects: @ 8531188 + object_event 1, MAP_OBJ_GFX_MAN_4, 0, 0, 4, 6, 3, 9, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_2186D3, 925, 0, 0 + object_event 2, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 1, 4, 3, 10, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_218729, 925, 0, 0 + object_event 3, MAP_OBJ_GFX_FAT_MAN, 0, 0, 7, 7, 3, 10, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_218732, 925, 0, 0 + object_event 4, MAP_OBJ_GFX_MAN_5, 0, 0, 10, 3, 3, 9, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_218720, 925, 0, 0 + object_event 5, MAP_OBJ_GFX_BOY_5, 0, 0, 7, 3, 3, 8, 17, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_218744, 925, 0, 0 + object_event 6, MAP_OBJ_GFX_WOMAN_3, 0, 0, 4, 4, 3, 9, 17, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_21873B, 925, 0, 0 + object_event 7, MAP_OBJ_GFX_SCOTT, 0, 0, 1, 7, 3, 10, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_21874D, 787, 0, 0 + +LilycoveCity_CoveLilyMotel_2F_MapWarps: @ 8531230 + warp_def 2, 1, 0, 2, LILYCOVE_CITY_COVE_LILY_MOTEL_1F + +LilycoveCity_CoveLilyMotel_2F_MapEvents:: @ 8531238 + map_events LilycoveCity_CoveLilyMotel_2F_MapObjects, LilycoveCity_CoveLilyMotel_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LilycoveCity_DepartmentStoreElevator.inc b/data/maps/events/LilycoveCity_DepartmentStoreElevator.inc new file mode 100644 index 0000000000..6c572ce4da --- /dev/null +++ b/data/maps/events/LilycoveCity_DepartmentStoreElevator.inc @@ -0,0 +1,10 @@ +LilycoveCity_DepartmentStoreElevator_MapObjects: @ 85324B0 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, LilycoveCity_DepartmentStoreElevator_EventScript_220624, 0, 0, 0 + +LilycoveCity_DepartmentStoreElevator_MapWarps: @ 85324C8 + warp_def 1, 5, 3, 127, NONE + warp_def 2, 5, 3, 127, NONE + +LilycoveCity_DepartmentStoreElevator_MapEvents:: @ 85324D8 + map_events LilycoveCity_DepartmentStoreElevator_MapObjects, LilycoveCity_DepartmentStoreElevator_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LilycoveCity_DepartmentStoreRooftop.inc b/data/maps/events/LilycoveCity_DepartmentStoreRooftop.inc new file mode 100644 index 0000000000..eb0ee1a96b --- /dev/null +++ b/data/maps/events/LilycoveCity_DepartmentStoreRooftop.inc @@ -0,0 +1,16 @@ +LilycoveCity_DepartmentStoreRooftop_MapObjects: @ 853241C + object_event 1, MAP_OBJ_GFX_MAN_2, 0, 0, 4, 4, 3, 7, 0, 0, 0, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_220268, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_4, 0, 0, 7, 5, 3, 5, 1, 0, 0, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_22028C, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_ROOFTOP_SALE_WOMAN, 0, 0, 6, 1, 3, 8, 17, 0, 0, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_22022F, 962, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_4, 0, 0, 15, 5, 3, 8, 1, 0, 0, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_2C8186, 0, 0, 0 + +LilycoveCity_DepartmentStoreRooftop_MapWarps: @ 853247C + warp_def 13, 3, 0, 2, LILYCOVE_CITY_DEPARTMENT_STORE_5F + +LilycoveCity_DepartmentStoreRooftop_MapBGEvents: @ 8532484 + bg_event 9, 1, 0, 0, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_220295 + bg_event 10, 1, 0, 0, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_220295 + +LilycoveCity_DepartmentStoreRooftop_MapEvents:: @ 853249C + map_events LilycoveCity_DepartmentStoreRooftop_MapObjects, LilycoveCity_DepartmentStoreRooftop_MapWarps, 0x0, LilycoveCity_DepartmentStoreRooftop_MapBGEvents + diff --git a/data/maps/events/LilycoveCity_DepartmentStore_1F.inc b/data/maps/events/LilycoveCity_DepartmentStore_1F.inc new file mode 100644 index 0000000000..10fb7f16ee --- /dev/null +++ b/data/maps/events/LilycoveCity_DepartmentStore_1F.inc @@ -0,0 +1,20 @@ +LilycoveCity_DepartmentStore_1F_MapObjects: @ 853208C + object_event 1, MAP_OBJ_GFX_BEAUTY, 0, 0, 8, 2, 3, 8, 0, 0, 0, 0, LilycoveCity_DepartmentStore_1F_EventScript_21F693, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BEAUTY, 0, 0, 10, 2, 3, 8, 0, 0, 0, 0, LilycoveCity_DepartmentStore_1F_EventScript_21F69C, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_2, 0, 0, 14, 5, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_1F_EventScript_21F82F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 4, 4, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_1F_EventScript_21F838, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_MAN_3, 0, 0, 3, 6, 3, 1, 17, 0, 0, 0, LilycoveCity_DepartmentStore_1F_EventScript_21F841, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_AZUMARILL, 0, 0, 2, 6, 3, 1, 17, 0, 0, 0, LilycoveCity_DepartmentStore_1F_EventScript_21F84A, 0, 0, 0 + +LilycoveCity_DepartmentStore_1F_MapWarps: @ 853211C + warp_def 8, 7, 0, 0, LILYCOVE_CITY + warp_def 9, 7, 0, 0, LILYCOVE_CITY + warp_def 16, 1, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_2F + warp_def 2, 1, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR + +LilycoveCity_DepartmentStore_1F_MapBGEvents: @ 853213C + bg_event 0, 8, 0, 1, 0, LilycoveCity_DepartmentStore_1F_EventScript_21F85D + +LilycoveCity_DepartmentStore_1F_MapEvents:: @ 8532148 + map_events LilycoveCity_DepartmentStore_1F_MapObjects, LilycoveCity_DepartmentStore_1F_MapWarps, 0x0, LilycoveCity_DepartmentStore_1F_MapBGEvents + diff --git a/data/maps/events/LilycoveCity_DepartmentStore_2F.inc b/data/maps/events/LilycoveCity_DepartmentStore_2F.inc new file mode 100644 index 0000000000..95c4daee06 --- /dev/null +++ b/data/maps/events/LilycoveCity_DepartmentStore_2F.inc @@ -0,0 +1,15 @@ +LilycoveCity_DepartmentStore_2F_MapObjects: @ 853215C + object_event 1, MAP_OBJ_GFX_COOK, 0, 0, 8, 2, 3, 8, 0, 0, 0, 0, LilycoveCity_DepartmentStore_2F_EventScript_21FB2D, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 0, 5, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_2F_EventScript_21FB36, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_SAILOR, 0, 0, 13, 5, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_2F_EventScript_21FB3F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_4, 0, 0, 10, 6, 3, 7, 0, 0, 0, 0, LilycoveCity_DepartmentStore_2F_EventScript_21FB7A, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_WOMAN_4, 0, 0, 7, 6, 3, 7, 0, 0, 0, 0, LilycoveCity_DepartmentStore_2F_EventScript_21FB48, 0, 0, 0 + +LilycoveCity_DepartmentStore_2F_MapWarps: @ 85321D4 + warp_def 16, 1, 0, 2, LILYCOVE_CITY_DEPARTMENT_STORE_1F + warp_def 13, 1, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_3F + warp_def 2, 1, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR + +LilycoveCity_DepartmentStore_2F_MapEvents:: @ 85321EC + map_events LilycoveCity_DepartmentStore_2F_MapObjects, LilycoveCity_DepartmentStore_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LilycoveCity_DepartmentStore_3F.inc b/data/maps/events/LilycoveCity_DepartmentStore_3F.inc new file mode 100644 index 0000000000..d51060bbac --- /dev/null +++ b/data/maps/events/LilycoveCity_DepartmentStore_3F.inc @@ -0,0 +1,15 @@ +LilycoveCity_DepartmentStore_3F_MapObjects: @ 8532200 + object_event 1, MAP_OBJ_GFX_RUNNING_TRIATHLETE_M, 0, 0, 0, 5, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_3F_EventScript_21FCB6, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_3, 0, 0, 7, 7, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_3F_EventScript_21FCBF, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_7, 0, 0, 13, 5, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_3F_EventScript_21FCC8, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_4, 0, 0, 8, 2, 3, 8, 0, 0, 0, 0, LilycoveCity_DepartmentStore_3F_EventScript_21FC65, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_WOMAN_4, 0, 0, 10, 2, 3, 8, 17, 0, 0, 0, LilycoveCity_DepartmentStore_3F_EventScript_21FC8C, 0, 0, 0 + +LilycoveCity_DepartmentStore_3F_MapWarps: @ 8532278 + warp_def 13, 1, 0, 1, LILYCOVE_CITY_DEPARTMENT_STORE_2F + warp_def 16, 1, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_4F + warp_def 2, 1, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR + +LilycoveCity_DepartmentStore_3F_MapEvents:: @ 8532290 + map_events LilycoveCity_DepartmentStore_3F_MapObjects, LilycoveCity_DepartmentStore_3F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LilycoveCity_DepartmentStore_4F.inc b/data/maps/events/LilycoveCity_DepartmentStore_4F.inc new file mode 100644 index 0000000000..4b2f0f00cf --- /dev/null +++ b/data/maps/events/LilycoveCity_DepartmentStore_4F.inc @@ -0,0 +1,15 @@ +LilycoveCity_DepartmentStore_4F_MapObjects: @ 85322A4 + object_event 1, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 0, 2, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_4F_EventScript_21FDEB, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_3, 0, 0, 6, 2, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_4F_EventScript_21FDF4, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 13, 4, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_4F_EventScript_21FDFD, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_4, 0, 0, 7, 6, 3, 7, 0, 0, 0, 0, LilycoveCity_DepartmentStore_4F_EventScript_21FE06, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_WOMAN_4, 0, 0, 9, 6, 3, 7, 0, 0, 0, 0, LilycoveCity_DepartmentStore_4F_EventScript_21FE2C, 0, 0, 0 + +LilycoveCity_DepartmentStore_4F_MapWarps: @ 853231C + warp_def 16, 1, 0, 1, LILYCOVE_CITY_DEPARTMENT_STORE_3F + warp_def 13, 1, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_5F + warp_def 2, 1, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR + +LilycoveCity_DepartmentStore_4F_MapEvents:: @ 8532334 + map_events LilycoveCity_DepartmentStore_4F_MapObjects, LilycoveCity_DepartmentStore_4F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LilycoveCity_DepartmentStore_5F.inc b/data/maps/events/LilycoveCity_DepartmentStore_5F.inc new file mode 100644 index 0000000000..f459b4764b --- /dev/null +++ b/data/maps/events/LilycoveCity_DepartmentStore_5F.inc @@ -0,0 +1,17 @@ +LilycoveCity_DepartmentStore_5F_MapObjects: @ 8532348 + object_event 1, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 1, 6, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_5F_EventScript_2200BC, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 7, 7, 3, 17, 17, 0, 0, 0, LilycoveCity_DepartmentStore_5F_EventScript_22006C, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_4, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, LilycoveCity_DepartmentStore_5F_EventScript_21FFA6, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_4, 0, 0, 9, 2, 3, 8, 0, 0, 0, 0, LilycoveCity_DepartmentStore_5F_EventScript_21FFDC, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_WOMAN_4, 0, 0, 15, 6, 3, 9, 0, 0, 0, 0, LilycoveCity_DepartmentStore_5F_EventScript_22000A, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_WOMAN_4, 0, 0, 17, 6, 3, 7, 0, 0, 0, 0, LilycoveCity_DepartmentStore_5F_EventScript_22003A, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_WOMAN_3, 0, 0, 9, 5, 3, 10, 17, 0, 0, 0, LilycoveCity_DepartmentStore_5F_EventScript_220075, 0, 0, 0 + +LilycoveCity_DepartmentStore_5F_MapWarps: @ 85323F0 + warp_def 13, 1, 0, 1, LILYCOVE_CITY_DEPARTMENT_STORE_4F + warp_def 2, 1, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR + warp_def 16, 1, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP + +LilycoveCity_DepartmentStore_5F_MapEvents:: @ 8532408 + map_events LilycoveCity_DepartmentStore_5F_MapObjects, LilycoveCity_DepartmentStore_5F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LilycoveCity_Harbor.inc b/data/maps/events/LilycoveCity_Harbor.inc new file mode 100644 index 0000000000..f2088e9d2f --- /dev/null +++ b/data/maps/events/LilycoveCity_Harbor.inc @@ -0,0 +1,14 @@ +LilycoveCity_Harbor_MapObjects: @ 8531E1C + object_event 1, MAP_OBJ_GFX_BEAUTY, 0, 0, 8, 10, 3, 8, 0, 0, 0, 0, LilycoveCity_Harbor_EventScript_21E00F, 908, 0, 0 + object_event 2, MAP_OBJ_GFX_SS_TIDAL, 0, 0, 8, 9, 1, 10, 0, 0, 0, 0, 0x0, 861, 0, 0 + object_event 3, MAP_OBJ_GFX_SAILOR, 0, 0, 3, 13, 3, 2, 17, 0, 0, 0, LilycoveCity_Harbor_EventScript_21E637, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_SAILOR, 0, 0, 8, 10, 3, 8, 0, 0, 0, 0, 0x0, 909, 0, 0 + object_event 5, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 8, 10, 3, 8, 17, 0, 0, 0, 0x0, 748, 0, 0 + +LilycoveCity_Harbor_MapWarps: @ 8531E94 + warp_def 11, 14, 0, 12, LILYCOVE_CITY + warp_def 12, 14, 0, 12, LILYCOVE_CITY + +LilycoveCity_Harbor_MapEvents:: @ 8531EA4 + map_events LilycoveCity_Harbor_MapObjects, LilycoveCity_Harbor_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LilycoveCity_House1.inc b/data/maps/events/LilycoveCity_House1.inc new file mode 100644 index 0000000000..1edca49043 --- /dev/null +++ b/data/maps/events/LilycoveCity_House1.inc @@ -0,0 +1,11 @@ +LilycoveCity_House1_MapObjects: @ 8531EF4 + object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 4, 5, 3, 9, 17, 0, 0, 0, LilycoveCity_House1_EventScript_21ECCE, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_KECLEON_1, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, LilycoveCity_House1_EventScript_21ECD7, 0, 0, 0 + +LilycoveCity_House1_MapWarps: @ 8531F24 + warp_def 3, 8, 0, 8, LILYCOVE_CITY + warp_def 4, 8, 0, 8, LILYCOVE_CITY + +LilycoveCity_House1_MapEvents:: @ 8531F34 + map_events LilycoveCity_House1_MapObjects, LilycoveCity_House1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LilycoveCity_House2.inc b/data/maps/events/LilycoveCity_House2.inc new file mode 100644 index 0000000000..2321844fab --- /dev/null +++ b/data/maps/events/LilycoveCity_House2.inc @@ -0,0 +1,10 @@ +LilycoveCity_House2_MapObjects: @ 8531F48 + object_event 1, MAP_OBJ_GFX_FAT_MAN, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, LilycoveCity_House2_EventScript_21ED75, 0, 0, 0 + +LilycoveCity_House2_MapWarps: @ 8531F60 + warp_def 2, 7, 0, 9, LILYCOVE_CITY + warp_def 3, 7, 0, 9, LILYCOVE_CITY + +LilycoveCity_House2_MapEvents:: @ 8531F70 + map_events LilycoveCity_House2_MapObjects, LilycoveCity_House2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LilycoveCity_House3.inc b/data/maps/events/LilycoveCity_House3.inc new file mode 100644 index 0000000000..05b36263a7 --- /dev/null +++ b/data/maps/events/LilycoveCity_House3.inc @@ -0,0 +1,15 @@ +LilycoveCity_House3_MapObjects: @ 8531F84 + object_event 1, MAP_OBJ_GFX_BOY_5, 0, 0, 3, 4, 3, 8, 17, 0, 0, 0, LilycoveCity_House3_EventScript_21EF3D, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 7, 4, 3, 9, 0, 0, 0, 0, LilycoveCity_House3_EventScript_21EE4B, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BOY_5, 0, 0, 1, 4, 3, 8, 17, 0, 0, 0, LilycoveCity_House3_EventScript_21EED5, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BOY_5, 0, 0, 2, 5, 3, 7, 17, 0, 0, 0, LilycoveCity_House3_EventScript_21EF09, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_BOY_5, 0, 0, 2, 3, 3, 8, 17, 0, 0, 0, LilycoveCity_House3_EventScript_21EEA1, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_MAN_1, 0, 0, 7, 5, 3, 9, 17, 0, 0, 0, LilycoveCity_House3_EventScript_21EE8A, 0, 0, 0 + +LilycoveCity_House3_MapWarps: @ 8532014 + warp_def 3, 7, 0, 10, LILYCOVE_CITY + warp_def 4, 7, 0, 10, LILYCOVE_CITY + +LilycoveCity_House3_MapEvents:: @ 8532024 + map_events LilycoveCity_House3_MapObjects, LilycoveCity_House3_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LilycoveCity_House4.inc b/data/maps/events/LilycoveCity_House4.inc new file mode 100644 index 0000000000..9212c1e0e1 --- /dev/null +++ b/data/maps/events/LilycoveCity_House4.inc @@ -0,0 +1,11 @@ +LilycoveCity_House4_MapObjects: @ 8532038 + object_event 1, MAP_OBJ_GFX_MAN_5, 0, 0, 1, 4, 3, 2, 17, 0, 0, 0, LilycoveCity_House4_EventScript_21F5B5, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_1, 0, 0, 7, 4, 3, 2, 17, 0, 0, 0, LilycoveCity_House4_EventScript_21F5BE, 0, 0, 0 + +LilycoveCity_House4_MapWarps: @ 8532068 + warp_def 3, 8, 0, 11, LILYCOVE_CITY + warp_def 4, 8, 0, 11, LILYCOVE_CITY + +LilycoveCity_House4_MapEvents:: @ 8532078 + map_events LilycoveCity_House4_MapObjects, LilycoveCity_House4_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LilycoveCity_LilycoveMuseum_1F.inc b/data/maps/events/LilycoveCity_LilycoveMuseum_1F.inc new file mode 100644 index 0000000000..36b9b5ac25 --- /dev/null +++ b/data/maps/events/LilycoveCity_LilycoveMuseum_1F.inc @@ -0,0 +1,38 @@ +LilycoveCity_LilycoveMuseum_1F_MapObjects: @ 853124C + object_event 1, MAP_OBJ_GFX_BEAUTY, 0, 0, 5, 12, 3, 10, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218CB9, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 16, 2, 3, 8, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218CC2, 775, 0, 0 + object_event 3, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 13, 7, 3, 10, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DF5, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_ARTIST, 0, 0, 13, 10, 3, 5, 2, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DFE, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 2, 8, 3, 7, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E07, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_WOMAN_5, 0, 0, 3, 8, 3, 7, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E10, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_WOMAN_3, 0, 0, 11, 3, 3, 2, 17, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E19, 776, 0, 0 + object_event 8, MAP_OBJ_GFX_ARTIST, 0, 0, 19, 3, 3, 7, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E2B, 779, 0, 0 + object_event 9, MAP_OBJ_GFX_FAT_MAN, 0, 0, 2, 2, 3, 2, 34, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E42, 780, 0, 0 + object_event 10, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 6, 2, 3, 2, 17, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E22, 778, 0, 0 + +LilycoveCity_LilycoveMuseum_1F_MapWarps: @ 853133C + warp_def 9, 13, 0, 3, LILYCOVE_CITY + warp_def 10, 13, 0, 13, LILYCOVE_CITY + warp_def 16, 1, 0, 0, LILYCOVE_CITY_LILYCOVE_MUSEUM_2F + +LilycoveCity_LilycoveMuseum_1F_MapBGEvents: @ 8531354 + bg_event 1, 1, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DAD + bg_event 2, 1, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DAD + bg_event 5, 1, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DD1 + bg_event 6, 1, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DD1 + bg_event 9, 1, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DA4 + bg_event 3, 6, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DB6 + bg_event 2, 6, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DB6 + bg_event 15, 12, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DDA + bg_event 11, 1, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DA4 + bg_event 6, 6, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DC8 + bg_event 17, 9, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DEC + bg_event 19, 1, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DBF + bg_event 20, 1, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DBF + bg_event 18, 9, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DEC + bg_event 18, 11, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DE3 + bg_event 16, 9, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DEC + +LilycoveCity_LilycoveMuseum_1F_MapEvents:: @ 8531414 + map_events LilycoveCity_LilycoveMuseum_1F_MapObjects, LilycoveCity_LilycoveMuseum_1F_MapWarps, 0x0, LilycoveCity_LilycoveMuseum_1F_MapBGEvents + diff --git a/data/maps/events/LilycoveCity_LilycoveMuseum_2F.inc b/data/maps/events/LilycoveCity_LilycoveMuseum_2F.inc new file mode 100644 index 0000000000..829db7b360 --- /dev/null +++ b/data/maps/events/LilycoveCity_LilycoveMuseum_2F.inc @@ -0,0 +1,26 @@ +LilycoveCity_LilycoveMuseum_2F_MapObjects: @ 8531428 + object_event 1, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 10, 8, 3, 7, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219866, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GIRL_2, 0, 0, 19, 10, 3, 2, 17, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_21998A, 777, 0, 0 + object_event 3, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 7, 3, 3, 2, 17, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219993, 780, 0, 0 + object_event 4, MAP_OBJ_GFX_BOY_4, 0, 0, 14, 6, 3, 2, 17, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_21999C, 780, 0, 0 + +LilycoveCity_LilycoveMuseum_2F_MapWarps: @ 8531488 + warp_def 13, 1, 0, 2, LILYCOVE_CITY_LILYCOVE_MUSEUM_1F + +LilycoveCity_LilycoveMuseum_2F_MapBGEvents: @ 8531490 + bg_event 14, 10, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_21992B + bg_event 15, 10, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_21992B + bg_event 3, 6, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_21993E + bg_event 2, 6, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_21993E + bg_event 10, 6, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219951 + bg_event 11, 6, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219951 + bg_event 19, 6, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219964 + bg_event 18, 6, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219964 + bg_event 6, 10, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219977 + bg_event 7, 10, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219977 + bg_event 11, 2, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_218DDA + bg_event 15, 2, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_218DDA + +LilycoveCity_LilycoveMuseum_2F_MapEvents:: @ 8531520 + map_events LilycoveCity_LilycoveMuseum_2F_MapObjects, LilycoveCity_LilycoveMuseum_2F_MapWarps, 0x0, LilycoveCity_LilycoveMuseum_2F_MapBGEvents + diff --git a/data/maps/events/LilycoveCity_MoveDeletersHouse.inc b/data/maps/events/LilycoveCity_MoveDeletersHouse.inc new file mode 100644 index 0000000000..1b5f4bda5b --- /dev/null +++ b/data/maps/events/LilycoveCity_MoveDeletersHouse.inc @@ -0,0 +1,10 @@ +LilycoveCity_MoveDeletersHouse_MapObjects: @ 8531EB8 + object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, LilycoveCity_MoveDeletersHouse_EventScript_21EA0B, 0, 0, 0 + +LilycoveCity_MoveDeletersHouse_MapWarps: @ 8531ED0 + warp_def 3, 7, 0, 7, LILYCOVE_CITY + warp_def 4, 7, 0, 7, LILYCOVE_CITY + +LilycoveCity_MoveDeletersHouse_MapEvents:: @ 8531EE0 + map_events LilycoveCity_MoveDeletersHouse_MapObjects, LilycoveCity_MoveDeletersHouse_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LilycoveCity_PokemonCenter_1F.inc b/data/maps/events/LilycoveCity_PokemonCenter_1F.inc new file mode 100644 index 0000000000..ba8988b964 --- /dev/null +++ b/data/maps/events/LilycoveCity_PokemonCenter_1F.inc @@ -0,0 +1,15 @@ +LilycoveCity_PokemonCenter_1F_MapObjects: @ 8531BCC + object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_21C5E8, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BOY_1, 0, 0, 10, 7, 3, 10, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_21C5F6, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MANIAC, 0, 0, 11, 8, 3, 7, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_21C5FF, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_HIPSTER, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_2A836B, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_TRADER, 0, 0, 2, 3, 3, 8, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_2A89C7, 993, 0, 0 + +LilycoveCity_PokemonCenter_1F_MapWarps: @ 8531C44 + warp_def 7, 8, 3, 2, LILYCOVE_CITY + warp_def 6, 8, 3, 2, LILYCOVE_CITY + warp_def 1, 6, 4, 0, LILYCOVE_CITY_POKEMON_CENTER_2F + +LilycoveCity_PokemonCenter_1F_MapEvents:: @ 8531C5C + map_events LilycoveCity_PokemonCenter_1F_MapObjects, LilycoveCity_PokemonCenter_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LilycoveCity_PokemonCenter_2F.inc b/data/maps/events/LilycoveCity_PokemonCenter_2F.inc new file mode 100644 index 0000000000..024b564275 --- /dev/null +++ b/data/maps/events/LilycoveCity_PokemonCenter_2F.inc @@ -0,0 +1,14 @@ +LilycoveCity_PokemonCenter_2F_MapObjects: @ 8531C70 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, LilycoveCity_PokemonCenter_2F_EventScript_27375B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, LilycoveCity_PokemonCenter_2F_EventScript_273761, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, LilycoveCity_PokemonCenter_2F_EventScript_273767, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, LilycoveCity_PokemonCenter_2F_EventScript_276B03, 702, 0, 0 + +LilycoveCity_PokemonCenter_2F_MapWarps: @ 8531CD0 + warp_def 1, 6, 4, 2, LILYCOVE_CITY_POKEMON_CENTER_1F + warp_def 5, 1, 3, 0, UNION_ROOM + warp_def 9, 1, 3, 0, TRADE_CENTER + +LilycoveCity_PokemonCenter_2F_MapEvents:: @ 8531CE8 + map_events LilycoveCity_PokemonCenter_2F_MapObjects, LilycoveCity_PokemonCenter_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LilycoveCity_PokemonTrainerFanClub.inc b/data/maps/events/LilycoveCity_PokemonTrainerFanClub.inc new file mode 100644 index 0000000000..886927d3ee --- /dev/null +++ b/data/maps/events/LilycoveCity_PokemonTrainerFanClub.inc @@ -0,0 +1,18 @@ +LilycoveCity_PokemonTrainerFanClub_MapObjects: @ 8531D20 + object_event 1, MAP_OBJ_GFX_LASS, 0, 0, 3, 11, 3, 7, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CA8E, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_5, 0, 0, 8, 10, 3, 9, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_3, 0, 0, 6, 11, 3, 7, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 5, 8, 3, 8, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 7, 11, 3, 7, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3, 791, 0, 0 + object_event 6, MAP_OBJ_GFX_BOY_2, 0, 0, 1, 9, 3, 8, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55, 790, 0, 0 + object_event 7, MAP_OBJ_GFX_WOMAN_4, 0, 0, 3, 10, 3, 10, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7, 792, 0, 0 + object_event 8, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 10, 10, 3, 9, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19, 789, 0, 0 + object_event 9, MAP_OBJ_GFX_BOY_1, 0, 0, 11, 5, 3, 8, 17, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CD7B, 730, 0, 0 + +LilycoveCity_PokemonTrainerFanClub_MapWarps: @ 8531DF8 + warp_def 6, 13, 0, 5, LILYCOVE_CITY + warp_def 5, 13, 0, 5, LILYCOVE_CITY + +LilycoveCity_PokemonTrainerFanClub_MapEvents:: @ 8531E08 + map_events LilycoveCity_PokemonTrainerFanClub_MapObjects, LilycoveCity_PokemonTrainerFanClub_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LilycoveCity_UnusedMart.inc b/data/maps/events/LilycoveCity_UnusedMart.inc new file mode 100644 index 0000000000..9affe49bd3 --- /dev/null +++ b/data/maps/events/LilycoveCity_UnusedMart.inc @@ -0,0 +1,7 @@ +LilycoveCity_UnusedMart_MapWarps: @ 8531CFC + warp_def 3, 7, 0, 0, LILYCOVE_CITY + warp_def 4, 7, 0, 0, LILYCOVE_CITY + +LilycoveCity_UnusedMart_MapEvents:: @ 8531D0C + map_events 0x0, LilycoveCity_UnusedMart_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/LinkContestRoom1.inc b/data/maps/events/LinkContestRoom1.inc new file mode 100644 index 0000000000..248ca948d4 --- /dev/null +++ b/data/maps/events/LinkContestRoom1.inc @@ -0,0 +1,18 @@ +LinkContestRoom1_MapObjects: @ 8539EFC + object_event 1, MAP_OBJ_GFX_WOMAN_4, 0, 0, 6, 4, 3, 8, 0, 0, 0, 0, 0x0, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_CONTEST_JUDGE, 0, 0, 7, 4, 3, 8, 0, 0, 0, 0, 0x0, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_HIPSTER, 0, 0, 4, 7, 3, 7, 0, 0, 0, 0, 0x0, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_TRADER, 0, 0, 6, 7, 3, 7, 0, 0, 0, 0, 0x0, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_STORYTELLER, 0, 0, 8, 7, 3, 7, 0, 0, 0, 0, 0x0, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 2, 6, 3, 10, 0, 0, 0, 0, 0x0, 0, 0, 0 + object_event 7, 246, 0, 0, 4, 2, 3, 8, 0, 0, 0, 0, 0x0, 0, 0, 0 + object_event 8, 247, 0, 0, 5, 2, 3, 8, 0, 0, 0, 0, 0x0, 0, 0, 0 + object_event 9, 248, 0, 0, 9, 2, 3, 8, 0, 0, 0, 0, 0x0, 0, 0, 0 + object_event 10, 249, 0, 0, 10, 2, 3, 8, 0, 0, 0, 0, 0x0, 0, 0, 0 + object_event 11, 250, 0, 0, 12, 5, 3, 9, 0, 0, 0, 0, 0x0, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 2, 5, 3, 10, 0, 0, 0, 0, 0x0, 0, 0, 0 + object_event 13, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 5, 3, 1, 0, 0, 0, 0, 0x0, 86, 0, 0 + object_event 14, MAP_OBJ_GFX_GIDDY, 0, 0, 10, 7, 3, 7, 0, 0, 0, 0, 0x0, 0, 0, 0 + object_event 15, MAP_OBJ_GFX_ARTIST, 0, 0, 12, 6, 3, 9, 0, 0, 0, 0, 0x0, 0, 0, 0 + +LinkContestRoom1_MapEvents:: @ 853A064 diff --git a/data/maps/events/LinkContestRoom2.inc b/data/maps/events/LinkContestRoom2.inc new file mode 100644 index 0000000000..89cb251d59 --- /dev/null +++ b/data/maps/events/LinkContestRoom2.inc @@ -0,0 +1 @@ +LinkContestRoom2_MapEvents:: @ 853A064 diff --git a/data/maps/events/LinkContestRoom3.inc b/data/maps/events/LinkContestRoom3.inc new file mode 100644 index 0000000000..1e1b194c6f --- /dev/null +++ b/data/maps/events/LinkContestRoom3.inc @@ -0,0 +1 @@ +LinkContestRoom3_MapEvents:: @ 853A064 diff --git a/data/maps/events/LinkContestRoom4.inc b/data/maps/events/LinkContestRoom4.inc new file mode 100644 index 0000000000..56e608f203 --- /dev/null +++ b/data/maps/events/LinkContestRoom4.inc @@ -0,0 +1 @@ +LinkContestRoom4_MapEvents:: @ 853A064 diff --git a/data/maps/events/LinkContestRoom5.inc b/data/maps/events/LinkContestRoom5.inc new file mode 100644 index 0000000000..90644518e6 --- /dev/null +++ b/data/maps/events/LinkContestRoom5.inc @@ -0,0 +1 @@ +LinkContestRoom5_MapEvents:: @ 853A064 diff --git a/data/maps/events/LinkContestRoom6.inc b/data/maps/events/LinkContestRoom6.inc new file mode 100644 index 0000000000..802987a1d2 --- /dev/null +++ b/data/maps/events/LinkContestRoom6.inc @@ -0,0 +1 @@ +LinkContestRoom6_MapEvents:: @ 853A064 diff --git a/data/maps/events/LittlerootTown.inc b/data/maps/events/LittlerootTown.inc new file mode 100644 index 0000000000..763391b098 --- /dev/null +++ b/data/maps/events/LittlerootTown.inc @@ -0,0 +1,35 @@ +LittlerootTown_MapObjects: @ 85276A8 + object_event 1, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 16, 10, 3, 2, 33, 0, 0, 0, LittlerootTown_EventScript_1E8034, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_FAT_MAN, 0, 0, 12, 13, 3, 2, 18, 0, 0, 0, LittlerootTown_EventScript_1E8022, 868, 0, 0 + object_event 3, MAP_OBJ_GFX_BOY_2, 0, 0, 14, 17, 3, 2, 18, 0, 0, 0, LittlerootTown_EventScript_1E802B, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MOM, 0, 0, 5, 8, 3, 7, 0, 0, 0, 0, LittlerootTown_EventScript_1E863D, 752, 0, 0 + object_event 5, MAP_OBJ_GFX_TRUCK, 0, 0, 2, 10, 4, 10, 0, 0, 0, 0, 0x0, 761, 0, 0 + object_event 6, MAP_OBJ_GFX_TRUCK, 0, 0, 11, 10, 4, 10, 0, 0, 0, 0, 0x0, 762, 0, 0 + object_event 7, MAP_OBJ_GFX_HIPSTER, 0, 0, 13, 10, 3, 7, 17, 0, 0, 0, 0x0, 794, 0, 0 + object_event 8, MAP_OBJ_GFX_PROF_BIRCH, 0, 0, 14, 10, 3, 7, 17, 0, 0, 0, 0x0, 795, 0, 0 + +LittlerootTown_MapWarps: @ 8527768 + warp_def 14, 8, 0, 1, LITTLEROOT_TOWN_MAYS_HOUSE_1F + warp_def 5, 8, 0, 1, LITTLEROOT_TOWN_BRENDANS_HOUSE_1F + warp_def 7, 16, 0, 0, LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB + +LittlerootTown_MapCoordEvents: @ 8527780 + coord_event 10, 1, 3, 0, VAR_0x4050, 0, 0, LittlerootTown_EventScript_1E8091 + coord_event 11, 1, 3, 0, VAR_0x4050, 0, 0, LittlerootTown_EventScript_1E80EF + coord_event 11, 1, 3, 0, VAR_0x4050, 1, 0, LittlerootTown_EventScript_1E811F + coord_event 8, 9, 3, 0, VAR_0x4050, 3, 0, LittlerootTown_EventScript_1E81F9 + coord_event 9, 9, 3, 0, VAR_0x4050, 3, 0, LittlerootTown_EventScript_1E8205 + coord_event 10, 9, 3, 0, VAR_0x4050, 3, 0, LittlerootTown_EventScript_1E81E1 + coord_event 11, 9, 3, 0, VAR_0x4050, 3, 0, LittlerootTown_EventScript_1E81ED + coord_event 10, 2, 3, 0, VAR_0x4050, 3, 0, LittlerootTown_EventScript_1E81BB + coord_event 11, 2, 3, 0, VAR_0x4050, 3, 0, LittlerootTown_EventScript_1E81CE + +LittlerootTown_MapBGEvents: @ 8527810 + bg_event 15, 13, 0, 0, 0, LittlerootTown_EventScript_1E8151 + bg_event 6, 17, 0, 0, 0, LittlerootTown_EventScript_1E815A + bg_event 7, 8, 3, 0, 0, LittlerootTown_EventScript_1E8163 + bg_event 12, 8, 3, 0, 0, LittlerootTown_EventScript_1E818F + +LittlerootTown_MapEvents:: @ 8527840 + map_events LittlerootTown_MapObjects, LittlerootTown_MapWarps, LittlerootTown_MapCoordEvents, LittlerootTown_MapBGEvents + diff --git a/data/maps/events/LittlerootTown_BrendansHouse_1F.inc b/data/maps/events/LittlerootTown_BrendansHouse_1F.inc new file mode 100644 index 0000000000..6f6fc9df4d --- /dev/null +++ b/data/maps/events/LittlerootTown_BrendansHouse_1F.inc @@ -0,0 +1,23 @@ +LittlerootTown_BrendansHouse_1F_MapObjects: @ 852D08C + object_event 1, MAP_OBJ_GFX_MOM, 0, 0, 2, 6, 3, 10, 0, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_2929C5, 758, 0, 0 + object_event 2, MAP_OBJ_GFX_VIGAROTH_CARRYING_BOX, 0, 0, 1, 3, 3, 28, 3, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_292ACD, 755, 0, 0 + object_event 3, MAP_OBJ_GFX_VIGAROTH_FACING_AWAY, 0, 0, 4, 5, 3, 65, 0, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_292ABA, 754, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_5, 0, 0, 2, 7, 3, 10, 0, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_1F89F3, 784, 0, 0 + object_event 5, MAP_OBJ_GFX_NORMAN, 0, 0, 5, 6, 3, 9, 17, 0, 0, 0, 0x0, 734, 0, 0 + object_event 6, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 1, 5, 3, 5, 17, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_1F8A3D, 735, 0, 0 + object_event 7, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 8, 8, 3, 7, 17, 0, 0, 0, 0x0, 745, 0, 0 + +LittlerootTown_BrendansHouse_1F_MapWarps: @ 852D134 + warp_def 9, 8, 0, 1, LITTLEROOT_TOWN + warp_def 8, 8, 0, 1, LITTLEROOT_TOWN + warp_def 8, 2, 0, 0, LITTLEROOT_TOWN_BRENDANS_HOUSE_2F + +LittlerootTown_BrendansHouse_1F_MapCoordEvents: @ 852D14C + coord_event 8, 8, 0, 0, VAR_0x4092, 4, 0, LittlerootTown_BrendansHouse_1F_EventScript_1F78A3 + coord_event 7, 3, 0, 0, VAR_0x408D, 2, 0, LittlerootTown_BrendansHouse_1F_EventScript_1F78BE + coord_event 8, 4, 0, 0, VAR_0x408D, 2, 0, LittlerootTown_BrendansHouse_1F_EventScript_1F78CA + coord_event 9, 3, 0, 0, VAR_0x408D, 2, 0, LittlerootTown_BrendansHouse_1F_EventScript_1F78D6 + +LittlerootTown_BrendansHouse_1F_MapEvents:: @ 852D18C + map_events LittlerootTown_BrendansHouse_1F_MapObjects, LittlerootTown_BrendansHouse_1F_MapWarps, LittlerootTown_BrendansHouse_1F_MapCoordEvents, 0x0 + diff --git a/data/maps/events/LittlerootTown_BrendansHouse_2F.inc b/data/maps/events/LittlerootTown_BrendansHouse_2F.inc new file mode 100644 index 0000000000..af470cca5b --- /dev/null +++ b/data/maps/events/LittlerootTown_BrendansHouse_2F.inc @@ -0,0 +1,30 @@ +LittlerootTown_BrendansHouse_2F_MapObjects: @ 852D1A0 + object_event 1, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 7, 1, 0, 8, 1, 0, 0, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F94C1, 760, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 4, 1, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 2, 3, 1, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 3, 3, 1, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 4, 3, 1, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 5, 0, 1, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, MAP_OBJ_GFX_MOM, 0, 0, 7, 1, 3, 8, 1, 0, 0, 0, 0x0, 757, 0, 0 + object_event 15, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 4, 0, 1, 17, 0, 0, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F8481, 817, 0, 0 + object_event 16, MAP_OBJ_GFX_SWABLU_DOLL, 0, 0, 5, 5, 3, 1, 17, 0, 0, 0, 0x0, 815, 0, 0 + +LittlerootTown_BrendansHouse_2F_MapWarps: @ 852D320 + warp_def 7, 1, 0, 2, LITTLEROOT_TOWN_BRENDANS_HOUSE_1F + +LittlerootTown_BrendansHouse_2F_MapBGEvents: @ 852D328 + bg_event 0, 1, 0, 1, 0, gUnknown_081F860D + bg_event 1, 1, 0, 0, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F8656 + bg_event 5, 1, 0, 0, 0, LittlerootTown_BrendansHouse_2F_EventScript_292781 + bg_event 3, 1, 0, 0, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F865F + +LittlerootTown_BrendansHouse_2F_MapEvents:: @ 852D358 + map_events LittlerootTown_BrendansHouse_2F_MapObjects, LittlerootTown_BrendansHouse_2F_MapWarps, 0x0, LittlerootTown_BrendansHouse_2F_MapBGEvents + diff --git a/data/maps/events/LittlerootTown_MaysHouse_1F.inc b/data/maps/events/LittlerootTown_MaysHouse_1F.inc new file mode 100644 index 0000000000..68bf13bcd5 --- /dev/null +++ b/data/maps/events/LittlerootTown_MaysHouse_1F.inc @@ -0,0 +1,23 @@ +LittlerootTown_MaysHouse_1F_MapObjects: @ 852D36C + object_event 1, MAP_OBJ_GFX_MOM, 0, 0, 8, 6, 3, 9, 0, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_2929C5, 759, 0, 0 + object_event 2, MAP_OBJ_GFX_VIGAROTH_FACING_AWAY, 0, 0, 6, 5, 3, 65, 0, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_292ABA, 754, 0, 0 + object_event 3, MAP_OBJ_GFX_VIGAROTH_CARRYING_BOX, 0, 0, 9, 3, 3, 27, 3, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_292ACD, 755, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_5, 0, 0, 8, 7, 3, 9, 0, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_1F89F3, 785, 0, 0 + object_event 5, MAP_OBJ_GFX_NORMAN, 0, 0, 5, 6, 3, 10, 17, 0, 0, 0, 0x0, 734, 0, 0 + object_event 6, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 9, 5, 3, 5, 17, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_1F8A3D, 736, 0, 0 + object_event 7, MAP_OBJ_GFX_RIVAL_MAY_NORMAL, 0, 0, 2, 8, 3, 7, 17, 0, 0, 0, 0x0, 746, 0, 0 + +LittlerootTown_MaysHouse_1F_MapWarps: @ 852D414 + warp_def 1, 8, 0, 0, LITTLEROOT_TOWN + warp_def 2, 8, 0, 0, LITTLEROOT_TOWN + warp_def 2, 2, 0, 0, LITTLEROOT_TOWN_MAYS_HOUSE_2F + +LittlerootTown_MaysHouse_1F_MapCoordEvents: @ 852D42C + coord_event 2, 8, 0, 0, VAR_0x4092, 4, 0, LittlerootTown_MaysHouse_1F_EventScript_1F8A4C + coord_event 1, 3, 0, 0, VAR_0x408D, 2, 0, LittlerootTown_MaysHouse_1F_EventScript_1F8A67 + coord_event 2, 4, 0, 0, VAR_0x408D, 2, 0, LittlerootTown_MaysHouse_1F_EventScript_1F8A73 + coord_event 3, 3, 0, 0, VAR_0x408D, 2, 0, LittlerootTown_MaysHouse_1F_EventScript_1F8A7F + +LittlerootTown_MaysHouse_1F_MapEvents:: @ 852D46C + map_events LittlerootTown_MaysHouse_1F_MapObjects, LittlerootTown_MaysHouse_1F_MapWarps, LittlerootTown_MaysHouse_1F_MapCoordEvents, 0x0 + diff --git a/data/maps/events/LittlerootTown_MaysHouse_2F.inc b/data/maps/events/LittlerootTown_MaysHouse_2F.inc new file mode 100644 index 0000000000..4d26b70d7d --- /dev/null +++ b/data/maps/events/LittlerootTown_MaysHouse_2F.inc @@ -0,0 +1,30 @@ +LittlerootTown_MaysHouse_2F_MapObjects: @ 852D480 + object_event 1, MAP_OBJ_GFX_RIVAL_MAY_NORMAL, 0, 0, 1, 1, 0, 8, 1, 0, 0, 0, LittlerootTown_MaysHouse_2F_EventScript_1F94C1, 722, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 6, 0, 1, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 1, 6, 3, 1, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 2, 6, 0, 1, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 3, 6, 3, 1, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 6, 3, 1, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 6, 3, 1, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 7, 3, 1, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 7, 3, 1, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 2, 7, 3, 1, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 3, 7, 3, 1, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 4, 7, 3, 1, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 5, 7, 3, 1, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, MAP_OBJ_GFX_MOM, 0, 0, 1, 1, 3, 8, 1, 0, 0, 0, 0x0, 757, 0, 0 + object_event 15, MAP_OBJ_GFX_PICHU_DOLL, 0, 0, 3, 4, 4, 8, 17, 0, 0, 0, 0x0, 849, 0, 0 + object_event 16, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 5, 4, 0, 1, 17, 0, 0, 0, LittlerootTown_MaysHouse_2F_EventScript_1F9334, 818, 0, 0 + +LittlerootTown_MaysHouse_2F_MapWarps: @ 852D600 + warp_def 1, 1, 0, 2, LITTLEROOT_TOWN_MAYS_HOUSE_1F + +LittlerootTown_MaysHouse_2F_MapBGEvents: @ 852D608 + bg_event 5, 1, 0, 0, 0, LittlerootTown_MaysHouse_2F_EventScript_1F865F + bg_event 7, 1, 0, 0, 0, LittlerootTown_MaysHouse_2F_EventScript_1F8656 + bg_event 3, 1, 0, 0, 0, LittlerootTown_MaysHouse_2F_EventScript_29278D + bg_event 8, 1, 0, 0, 0, gUnknown_081F9553 + +LittlerootTown_MaysHouse_2F_MapEvents:: @ 852D638 + map_events LittlerootTown_MaysHouse_2F_MapObjects, LittlerootTown_MaysHouse_2F_MapWarps, 0x0, LittlerootTown_MaysHouse_2F_MapBGEvents + diff --git a/data/maps/events/LittlerootTown_ProfessorBirchsLab.inc b/data/maps/events/LittlerootTown_ProfessorBirchsLab.inc new file mode 100644 index 0000000000..cd004bcb72 --- /dev/null +++ b/data/maps/events/LittlerootTown_ProfessorBirchsLab.inc @@ -0,0 +1,32 @@ +LittlerootTown_ProfessorBirchsLab_MapObjects: @ 852D64C + object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 9, 8, 3, 2, 17, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1F9F84, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_PROF_BIRCH, 0, 0, 6, 4, 3, 8, 0, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA25A, 721, 0, 0 + object_event 3, MAP_OBJ_GFX_HIPSTER, 0, 0, 7, 4, 3, 8, 17, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC, 889, 0, 0 + object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 6, 8, 3, 8, 17, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FBB, 811, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 6, 8, 3, 8, 17, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FEF, 812, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 6, 8, 3, 8, 17, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA023, 838, 0, 0 + +LittlerootTown_ProfessorBirchsLab_MapWarps: @ 852D6DC + warp_def 6, 12, 0, 2, LITTLEROOT_TOWN + warp_def 7, 12, 0, 2, LITTLEROOT_TOWN + +LittlerootTown_ProfessorBirchsLab_MapBGEvents: @ 852D6EC + bg_event 10, 7, 0, 1, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3E3 + bg_event 11, 7, 0, 1, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3E3 + bg_event 7, 1, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4CD + bg_event 8, 1, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4CD + bg_event 1, 1, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4 + bg_event 0, 7, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4 + bg_event 1, 7, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4 + bg_event 2, 7, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4 + bg_event 3, 7, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4 + bg_event 4, 1, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB + bg_event 3, 1, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB + bg_event 1, 10, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB + bg_event 1, 9, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB + bg_event 11, 10, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB + bg_event 11, 9, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB + +LittlerootTown_ProfessorBirchsLab_MapEvents:: @ 852D7A0 + map_events LittlerootTown_ProfessorBirchsLab_MapObjects, LittlerootTown_ProfessorBirchsLab_MapWarps, 0x0, LittlerootTown_ProfessorBirchsLab_MapBGEvents + diff --git a/data/maps/events/MagmaHideout_1F.inc b/data/maps/events/MagmaHideout_1F.inc new file mode 100644 index 0000000000..33a8a4aa04 --- /dev/null +++ b/data/maps/events/MagmaHideout_1F.inc @@ -0,0 +1,17 @@ +MagmaHideout_1F_MapObjects: @ 85371CC + object_event 1, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 4, 5, 0, 10, 17, 0, 1, 2, MagmaHideout_1F_EventScript_23988C, 857, 0, 0 + object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 20, 0, 1, 17, 0, 0, 0, MagmaHideout_1F_EventScript_2914DE, 1151, 0, 0 + object_event 3, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 30, 20, 3, 9, 17, 0, 1, 4, MagmaHideout_1F_EventScript_2398A3, 857, 0, 0 + object_event 4, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 5, 22, 3, 1, 0, 0, 0, 0, MagmaHideout_1F_EventScript_2908BA, 17, 0, 0 + object_event 5, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 7, 22, 3, 1, 0, 0, 0, 0, MagmaHideout_1F_EventScript_2908BA, 18, 0, 0 + object_event 6, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 6, 23, 3, 1, 0, 0, 0, 0, MagmaHideout_1F_EventScript_2908BA, 19, 0, 0 + +MagmaHideout_1F_MapWarps: @ 853725C + warp_def 10, 34, 3, 4, JAGGED_PASS + warp_def 25, 34, 3, 1, MAGMA_HIDEOUT_2F_1R + warp_def 31, 3, 0, 1, MAGMA_HIDEOUT_2F_2R + warp_def 20, 22, 0, 0, MAGMA_HIDEOUT_2F_3R + +MagmaHideout_1F_MapEvents:: @ 853727C + map_events MagmaHideout_1F_MapObjects, MagmaHideout_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MagmaHideout_2F_1R.inc b/data/maps/events/MagmaHideout_2F_1R.inc new file mode 100644 index 0000000000..4ac6e0fde5 --- /dev/null +++ b/data/maps/events/MagmaHideout_2F_1R.inc @@ -0,0 +1,14 @@ +MagmaHideout_2F_1R_MapObjects: @ 8537290 + object_event 1, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 18, 19, 3, 51, 69, 0, 1, 1, MagmaHideout_2F_1R_EventScript_239B7F, 857, 0, 0 + object_event 2, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 12, 14, 3, 46, 103, 0, 1, 3, MagmaHideout_2F_1R_EventScript_239B96, 857, 0, 0 + object_event 3, MAP_OBJ_GFX_MAGMA_MEMBER_F, 0, 0, 8, 8, 3, 10, 17, 0, 1, 7, MagmaHideout_2F_1R_EventScript_239B51, 857, 0, 0 + object_event 4, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 21, 11, 3, 7, 17, 0, 1, 3, MagmaHideout_2F_1R_EventScript_239B68, 857, 0, 0 + +MagmaHideout_2F_1R_MapWarps: @ 85372F0 + warp_def 11, 23, 0, 0, MAGMA_HIDEOUT_2F_2R + warp_def 8, 2, 0, 1, MAGMA_HIDEOUT_1F + warp_def 17, 33, 3, 2, MAGMA_HIDEOUT_3F_1R + +MagmaHideout_2F_1R_MapEvents:: @ 8537308 + map_events MagmaHideout_2F_1R_MapObjects, MagmaHideout_2F_1R_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MagmaHideout_2F_2R.inc b/data/maps/events/MagmaHideout_2F_2R.inc new file mode 100644 index 0000000000..845da88b22 --- /dev/null +++ b/data/maps/events/MagmaHideout_2F_2R.inc @@ -0,0 +1,15 @@ +MagmaHideout_2F_2R_MapObjects: @ 853731C + object_event 1, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 29, 8, 3, 9, 17, 0, 1, 7, MagmaHideout_2F_2R_EventScript_239E4D, 857, 0, 0 + object_event 2, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 25, 11, 3, 10, 17, 0, 1, 2, MagmaHideout_2F_2R_EventScript_239E36, 857, 0, 0 + object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 21, 7, 3, 1, 17, 0, 0, 0, MagmaHideout_2F_2R_EventScript_2914EB, 1164, 0, 0 + object_event 4, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 8, 9, 3, 8, 17, 0, 1, 4, MagmaHideout_2F_2R_EventScript_239E1F, 857, 0, 0 + object_event 5, MAP_OBJ_GFX_MAGMA_MEMBER_F, 0, 0, 7, 13, 3, 10, 17, 0, 1, 1, MagmaHideout_2F_2R_EventScript_239E08, 857, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 14, 6, 3, 1, 17, 0, 0, 0, MagmaHideout_2F_2R_EventScript_2914F8, 1165, 0, 0 + +MagmaHideout_2F_2R_MapWarps: @ 85373AC + warp_def 10, 22, 3, 0, MAGMA_HIDEOUT_2F_1R + warp_def 36, 4, 0, 2, MAGMA_HIDEOUT_1F + +MagmaHideout_2F_2R_MapEvents:: @ 85373BC + map_events MagmaHideout_2F_2R_MapObjects, MagmaHideout_2F_2R_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MagmaHideout_2F_3R.inc b/data/maps/events/MagmaHideout_2F_3R.inc new file mode 100644 index 0000000000..3795ef568f --- /dev/null +++ b/data/maps/events/MagmaHideout_2F_3R.inc @@ -0,0 +1,7 @@ +MagmaHideout_2F_3R_MapWarps: @ 85375B0 + warp_def 16, 1, 0, 3, MAGMA_HIDEOUT_1F + warp_def 16, 13, 0, 0, MAGMA_HIDEOUT_3F_3R + +MagmaHideout_2F_3R_MapEvents:: @ 85375C0 + map_events 0x0, MagmaHideout_2F_3R_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MagmaHideout_3F_1R.inc b/data/maps/events/MagmaHideout_3F_1R.inc new file mode 100644 index 0000000000..07a53f4fb8 --- /dev/null +++ b/data/maps/events/MagmaHideout_3F_1R.inc @@ -0,0 +1,13 @@ +MagmaHideout_3F_1R_MapObjects: @ 85373D0 + object_event 1, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 2, 7, 4, 10, 17, 0, 1, 5, MagmaHideout_3F_1R_EventScript_23A1B3, 857, 0, 0 + object_event 2, MAP_OBJ_GFX_MAGMA_MEMBER_F, 0, 0, 21, 21, 0, 9, 17, 0, 1, 4, MagmaHideout_3F_1R_EventScript_23A1CA, 857, 0, 0 + object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 9, 16, 0, 1, 17, 0, 0, 0, MagmaHideout_3F_1R_EventScript_291505, 1166, 0, 0 + +MagmaHideout_3F_1R_MapWarps: @ 8537418 + warp_def 7, 21, 0, 0, MAGMA_HIDEOUT_4F + warp_def 21, 9, 0, 0, MAGMA_HIDEOUT_3F_2R + warp_def 23, 3, 0, 2, MAGMA_HIDEOUT_2F_1R + +MagmaHideout_3F_1R_MapEvents:: @ 8537430 + map_events MagmaHideout_3F_1R_MapObjects, MagmaHideout_3F_1R_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MagmaHideout_3F_2R.inc b/data/maps/events/MagmaHideout_3F_2R.inc new file mode 100644 index 0000000000..faeacbd12b --- /dev/null +++ b/data/maps/events/MagmaHideout_3F_2R.inc @@ -0,0 +1,10 @@ +MagmaHideout_3F_2R_MapObjects: @ 8537444 + object_event 1, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 16, 3, 0, 17, 17, 0, 1, 3, MagmaHideout_3F_2R_EventScript_23A3D5, 857, 0, 0 + object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 5, 9, 0, 1, 17, 0, 0, 0, MagmaHideout_3F_2R_EventScript_291512, 1167, 0, 0 + +MagmaHideout_3F_2R_MapWarps: @ 8537474 + warp_def 12, 15, 0, 1, MAGMA_HIDEOUT_3F_1R + +MagmaHideout_3F_2R_MapEvents:: @ 853747C + map_events MagmaHideout_3F_2R_MapObjects, MagmaHideout_3F_2R_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MagmaHideout_3F_3R.inc b/data/maps/events/MagmaHideout_3F_3R.inc new file mode 100644 index 0000000000..386696d9c3 --- /dev/null +++ b/data/maps/events/MagmaHideout_3F_3R.inc @@ -0,0 +1,10 @@ +MagmaHideout_3F_3R_MapObjects: @ 8537574 + object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 9, 19, 0, 1, 17, 0, 0, 0, MagmaHideout_3F_3R_EventScript_29152C, 1059, 0, 0 + +MagmaHideout_3F_3R_MapWarps: @ 853758C + warp_def 16, 1, 0, 1, MAGMA_HIDEOUT_2F_3R + warp_def 16, 21, 0, 1, MAGMA_HIDEOUT_4F + +MagmaHideout_3F_3R_MapEvents:: @ 853759C + map_events MagmaHideout_3F_3R_MapObjects, MagmaHideout_3F_3R_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MagmaHideout_4F.inc b/data/maps/events/MagmaHideout_4F.inc new file mode 100644 index 0000000000..545eeea92a --- /dev/null +++ b/data/maps/events/MagmaHideout_4F.inc @@ -0,0 +1,17 @@ +MagmaHideout_4F_MapObjects: @ 8537490 + object_event 1, MAP_OBJ_GFX_GROUDON_1, 0, 0, 16, 17, 0, 8, 17, 0, 0, 0, 0x0, 853, 0, 0 + object_event 2, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 31, 22, 0, 10, 17, 0, 1, 3, MagmaHideout_4F_EventScript_23A68C, 857, 0, 0 + object_event 3, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 30, 13, 0, 9, 17, 0, 1, 3, MagmaHideout_4F_EventScript_23A6A3, 857, 0, 0 + object_event 4, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 26, 13, 0, 10, 17, 0, 1, 3, MagmaHideout_4F_EventScript_23A6BA, 857, 0, 0 + object_event 5, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 22, 4, 0, 8, 17, 0, 1, 4, MagmaHideout_4F_EventScript_23A6D1, 857, 0, 0 + object_event 6, MAP_OBJ_GFX_MAXIE, 0, 0, 16, 21, 0, 7, 17, 0, 0, 0, MagmaHideout_4F_EventScript_23A560, 857, 0, 0 + object_event 7, MAP_OBJ_GFX_GROUDON_2, 0, 0, 16, 17, 3, 8, 17, 0, 0, 0, 0x0, 850, 0, 0 + object_event 8, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 7, 0, 1, 17, 0, 0, 0, MagmaHideout_4F_EventScript_29151F, 1168, 0, 0 + +MagmaHideout_4F_MapWarps: @ 8537550 + warp_def 46, 7, 0, 0, MAGMA_HIDEOUT_3F_1R + warp_def 20, 21, 0, 1, MAGMA_HIDEOUT_3F_3R + +MagmaHideout_4F_MapEvents:: @ 8537560 + map_events MagmaHideout_4F_MapObjects, MagmaHideout_4F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MarineCave_End.inc b/data/maps/events/MarineCave_End.inc new file mode 100644 index 0000000000..385a051939 --- /dev/null +++ b/data/maps/events/MarineCave_End.inc @@ -0,0 +1,12 @@ +MarineCave_End_MapObjects: @ 85377E8 + object_event 1, MAP_OBJ_GFX_KYOGRE_1, 0, 0, 9, 22, 1, 8, 17, 0, 0, 0, 0x0, 782, 0, 0 + +MarineCave_End_MapWarps: @ 8537800 + warp_def 20, 4, 0, 0, MARINE_CAVE_ENTRANCE + +MarineCave_End_MapCoordEvents: @ 8537808 + coord_event 9, 26, 3, 0, VAR_0x4001, 1, 0, MarineCave_End_EventScript_23B01B + +MarineCave_End_MapEvents:: @ 8537818 + map_events MarineCave_End_MapObjects, MarineCave_End_MapWarps, MarineCave_End_MapCoordEvents, 0x0 + diff --git a/data/maps/events/MarineCave_Entrance.inc b/data/maps/events/MarineCave_Entrance.inc new file mode 100644 index 0000000000..e00290acbc --- /dev/null +++ b/data/maps/events/MarineCave_Entrance.inc @@ -0,0 +1,6 @@ +MarineCave_Entrance_MapWarps: @ 85377CC + warp_def 14, 1, 3, 0, MARINE_CAVE_END + +MarineCave_Entrance_MapEvents:: @ 85377D4 + map_events 0x0, MarineCave_Entrance_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MauvilleCity.inc b/data/maps/events/MauvilleCity.inc new file mode 100644 index 0000000000..c6da0eb612 --- /dev/null +++ b/data/maps/events/MauvilleCity.inc @@ -0,0 +1,35 @@ +MauvilleCity_MapObjects: @ 852662C + object_event 1, MAP_OBJ_GFX_BOY_3, 0, 0, 29, 16, 3, 5, 17, 0, 0, 0, MauvilleCity_EventScript_1DF3B3, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BOY_4, 0, 0, 24, 10, 3, 5, 1, 0, 0, 0, MauvilleCity_EventScript_1DF3CE, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MANIAC, 0, 0, 14, 11, 3, 10, 0, 0, 0, 0, MauvilleCity_EventScript_1DF3BC, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_5, 0, 0, 18, 6, 3, 1, 0, 0, 0, 0, MauvilleCity_EventScript_1DF3C5, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 17, 14, 3, 8, 0, 0, 0, 0, MauvilleCity_EventScript_1DF3FB, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_WALLY, 0, 0, 8, 6, 3, 7, 0, 0, 0, 0, MauvilleCity_EventScript_1DF452, 804, 0, 0 + object_event 7, MAP_OBJ_GFX_MAN_3, 0, 0, 9, 6, 3, 9, 0, 0, 0, 0, MauvilleCity_EventScript_1DF41D, 805, 0, 0 + object_event 8, MAP_OBJ_GFX_WATTSON, 0, 0, 29, 9, 3, 1, 0, 0, 0, 0, MauvilleCity_EventScript_1DF73A, 912, 0, 0 + object_event 9, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 28, 19, 3, 1, 17, 0, 0, 0, MauvilleCity_EventScript_2910CE, 1116, 0, 0 + object_event 10, MAP_OBJ_GFX_FAT_MAN, 0, 0, 13, 7, 3, 9, 0, 0, 0, 0, MauvilleCity_EventScript_2C7F7E, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_SCOTT, 0, 0, 12, 14, 3, 7, 0, 0, 0, 0, 0x0, 765, 0, 0 + +MauvilleCity_MapWarps: @ 8526734 + warp_def 8, 5, 0, 0, MAUVILLE_CITY_GYM + warp_def 22, 5, 0, 0, MAUVILLE_CITY_POKEMON_CENTER_1F + warp_def 35, 5, 0, 0, MAUVILLE_CITY_BIKE_SHOP + warp_def 23, 14, 0, 0, MAUVILLE_CITY_MART + warp_def 32, 14, 0, 0, MAUVILLE_CITY_HOUSE_1 + warp_def 8, 13, 0, 0, MAUVILLE_CITY_GAME_CORNER + warp_def 19, 14, 0, 0, MAUVILLE_CITY_HOUSE_2 + +MauvilleCity_MapBGEvents: @ 852676C + bg_event 23, 5, 0, 1, 0, MauvilleCity_EventScript_271E73 + bg_event 11, 6, 3, 0, 0, MauvilleCity_EventScript_1DF3E0 + bg_event 24, 14, 0, 1, 0, MauvilleCity_EventScript_271E6A + bg_event 25, 14, 0, 1, 0, MauvilleCity_EventScript_271E6A + bg_event 24, 5, 0, 1, 0, MauvilleCity_EventScript_271E73 + bg_event 19, 7, 0, 0, 0, MauvilleCity_EventScript_1DF3D7 + bg_event 33, 6, 0, 0, 0, MauvilleCity_EventScript_1DF3E9 + bg_event 11, 15, 0, 0, 0, MauvilleCity_EventScript_1DF3F2 + +MauvilleCity_MapEvents:: @ 85267CC + map_events MauvilleCity_MapObjects, MauvilleCity_MapWarps, 0x0, MauvilleCity_MapBGEvents + diff --git a/data/maps/events/MauvilleCity_BikeShop.inc b/data/maps/events/MauvilleCity_BikeShop.inc new file mode 100644 index 0000000000..e8e3ef7be1 --- /dev/null +++ b/data/maps/events/MauvilleCity_BikeShop.inc @@ -0,0 +1,15 @@ +MauvilleCity_BikeShop_MapObjects: @ 852FE80 + object_event 1, MAP_OBJ_GFX_MAN_2, 0, 0, 2, 5, 3, 9, 0, 0, 0, 0, MauvilleCity_BikeShop_EventScript_20EBBC, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_6, 0, 0, 7, 6, 3, 2, 17, 0, 0, 0, MauvilleCity_BikeShop_EventScript_20ED31, 0, 0, 0 + +MauvilleCity_BikeShop_MapWarps: @ 852FEB0 + warp_def 3, 8, 0, 2, MAUVILLE_CITY + warp_def 4, 8, 0, 2, MAUVILLE_CITY + +MauvilleCity_BikeShop_MapBGEvents: @ 852FEC0 + bg_event 8, 1, 0, 0, 0, MauvilleCity_BikeShop_EventScript_20ED3A + bg_event 11, 1, 0, 0, 0, MauvilleCity_BikeShop_EventScript_20EDAE + +MauvilleCity_BikeShop_MapEvents:: @ 852FED8 + map_events MauvilleCity_BikeShop_MapObjects, MauvilleCity_BikeShop_MapWarps, 0x0, MauvilleCity_BikeShop_MapBGEvents + diff --git a/data/maps/events/MauvilleCity_GameCorner.inc b/data/maps/events/MauvilleCity_GameCorner.inc new file mode 100644 index 0000000000..1a84504f50 --- /dev/null +++ b/data/maps/events/MauvilleCity_GameCorner.inc @@ -0,0 +1,47 @@ +MauvilleCity_GameCorner_MapObjects: @ 852FF28 + object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 12, 7, 3, 8, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_210125, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 16, 5, 3, 8, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_21012E, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BEAUTY, 0, 0, 11, 2, 3, 8, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_20FBB9, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BEAUTY, 0, 0, 14, 2, 3, 8, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_20FCF1, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_GIRL_2, 0, 0, 7, 3, 3, 8, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_210137, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_MAN_3, 0, 0, 19, 4, 3, 8, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_21021D, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 20, 8, 3, 9, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_210279, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_COOK, 0, 0, 6, 8, 3, 10, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_210289, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_BEAUTY, 0, 0, 13, 2, 3, 8, 17, 0, 0, 0, MauvilleCity_GameCorner_EventScript_20FE9F, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_MAN_4, 0, 0, 1, 7, 3, 10, 17, 0, 0, 0, MauvilleCity_GameCorner_EventScript_210299, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_MANIAC, 0, 0, 9, 8, 3, 9, 17, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2102B6, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_WOMAN_7, 0, 0, 4, 6, 3, 9, 17, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2102C6, 0, 0, 0 + +MauvilleCity_GameCorner_MapWarps: @ 8530048 + warp_def 11, 10, 3, 5, MAUVILLE_CITY + warp_def 12, 10, 3, 5, MAUVILLE_CITY + +MauvilleCity_GameCorner_MapBGEvents: @ 8530058 + bg_event 2, 6, 0, 3, 0, MauvilleCity_GameCorner_EventScript_2102D6 + bg_event 2, 8, 0, 3, 0, MauvilleCity_GameCorner_EventScript_2102F6 + bg_event 2, 9, 0, 3, 0, MauvilleCity_GameCorner_EventScript_210316 + bg_event 3, 7, 0, 4, 0, MauvilleCity_GameCorner_EventScript_210336 + bg_event 3, 8, 0, 4, 0, MauvilleCity_GameCorner_EventScript_210356 + bg_event 3, 9, 0, 4, 0, MauvilleCity_GameCorner_EventScript_210376 + bg_event 7, 6, 0, 3, 0, MauvilleCity_GameCorner_EventScript_210396 + bg_event 7, 7, 0, 3, 0, MauvilleCity_GameCorner_EventScript_2103B6 + bg_event 7, 9, 0, 3, 0, MauvilleCity_GameCorner_EventScript_2103D6 + bg_event 8, 6, 0, 4, 0, MauvilleCity_GameCorner_EventScript_2103F6 + bg_event 8, 7, 0, 4, 0, MauvilleCity_GameCorner_EventScript_210416 + bg_event 8, 9, 0, 4, 0, MauvilleCity_GameCorner_EventScript_210436 + bg_event 14, 6, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5AB1 + bg_event 15, 6, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5AB1 + bg_event 14, 7, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5AB1 + bg_event 15, 7, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5AB1 + bg_event 14, 8, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5AB1 + bg_event 15, 8, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5AB1 + bg_event 18, 6, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5ADF + bg_event 19, 6, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5ADF + bg_event 18, 7, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5ADF + bg_event 19, 7, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5ADF + bg_event 18, 8, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5ADF + bg_event 19, 8, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5ADF + +MauvilleCity_GameCorner_MapEvents:: @ 8530178 + map_events MauvilleCity_GameCorner_MapObjects, MauvilleCity_GameCorner_MapWarps, 0x0, MauvilleCity_GameCorner_MapBGEvents + diff --git a/data/maps/events/MauvilleCity_Gym.inc b/data/maps/events/MauvilleCity_Gym.inc new file mode 100644 index 0000000000..acbbeccefc --- /dev/null +++ b/data/maps/events/MauvilleCity_Gym.inc @@ -0,0 +1,26 @@ +MauvilleCity_Gym_MapObjects: @ 852FD5C + object_event 1, MAP_OBJ_GFX_WATTSON, 0, 0, 5, 2, 0, 8, 0, 0, 0, 0, MauvilleCity_Gym_EventScript_20DEEB, 913, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_6, 0, 0, 7, 8, 3, 8, 0, 0, 1, 1, MauvilleCity_Gym_EventScript_20E0D0, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_GIRL_3, 0, 0, 1, 16, 0, 7, 0, 0, 1, 2, MauvilleCity_Gym_EventScript_20E0FE, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 5, 10, 0, 9, 0, 0, 1, 2, MauvilleCity_Gym_EventScript_20E0E7, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_MAN_6, 0, 0, 1, 13, 0, 8, 0, 0, 1, 2, MauvilleCity_Gym_EventScript_20E0B9, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_MAN_2, 0, 0, 7, 20, 0, 9, 0, 0, 0, 0, MauvilleCity_Gym_EventScript_20E12C, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_MANIAC, 0, 0, 7, 10, 3, 7, 17, 0, 1, 1, MauvilleCity_Gym_EventScript_20E115, 0, 0, 0 + +MauvilleCity_Gym_MapWarps: @ 852FE04 + warp_def 4, 20, 0, 0, MAUVILLE_CITY + warp_def 5, 20, 0, 0, MAUVILLE_CITY + +MauvilleCity_Gym_MapCoordEvents: @ 852FE14 + coord_event 4, 12, 3, 0, VAR_0x4000, 0, 0, MauvilleCity_Gym_EventScript_20E01E + coord_event 3, 9, 3, 0, VAR_0x4000, 0, 0, MauvilleCity_Gym_EventScript_20E043 + coord_event 0, 15, 3, 0, VAR_0x4000, 0, 0, MauvilleCity_Gym_EventScript_20DFF9 + coord_event 8, 9, 3, 0, VAR_0x4000, 0, 0, MauvilleCity_Gym_EventScript_20E068 + +MauvilleCity_Gym_MapBGEvents: @ 852FE54 + bg_event 3, 18, 0, 1, 0, MauvilleCity_Gym_EventScript_20E14B + bg_event 6, 18, 0, 1, 0, MauvilleCity_Gym_EventScript_20E15B + +MauvilleCity_Gym_MapEvents:: @ 852FE6C + map_events MauvilleCity_Gym_MapObjects, MauvilleCity_Gym_MapWarps, MauvilleCity_Gym_MapCoordEvents, MauvilleCity_Gym_MapBGEvents + diff --git a/data/maps/events/MauvilleCity_House1.inc b/data/maps/events/MauvilleCity_House1.inc new file mode 100644 index 0000000000..9b30d31196 --- /dev/null +++ b/data/maps/events/MauvilleCity_House1.inc @@ -0,0 +1,10 @@ +MauvilleCity_House1_MapObjects: @ 852FEEC + object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 4, 4, 3, 10, 0, 0, 0, 0, MauvilleCity_House1_EventScript_20F976, 0, 0, 0 + +MauvilleCity_House1_MapWarps: @ 852FF04 + warp_def 3, 7, 0, 4, MAUVILLE_CITY + warp_def 4, 7, 0, 4, MAUVILLE_CITY + +MauvilleCity_House1_MapEvents:: @ 852FF14 + map_events MauvilleCity_House1_MapObjects, MauvilleCity_House1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MauvilleCity_House2.inc b/data/maps/events/MauvilleCity_House2.inc new file mode 100644 index 0000000000..5328de49fb --- /dev/null +++ b/data/maps/events/MauvilleCity_House2.inc @@ -0,0 +1,10 @@ +MauvilleCity_House2_MapObjects: @ 853018C + object_event 1, MAP_OBJ_GFX_WOMAN_4, 0, 0, 4, 5, 3, 9, 0, 0, 0, 0, MauvilleCity_House2_EventScript_210C5D, 0, 0, 0 + +MauvilleCity_House2_MapWarps: @ 85301A4 + warp_def 3, 8, 0, 6, MAUVILLE_CITY + warp_def 4, 8, 0, 6, MAUVILLE_CITY + +MauvilleCity_House2_MapEvents:: @ 85301B4 + map_events MauvilleCity_House2_MapObjects, MauvilleCity_House2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MauvilleCity_Mart.inc b/data/maps/events/MauvilleCity_Mart.inc new file mode 100644 index 0000000000..257d047cd5 --- /dev/null +++ b/data/maps/events/MauvilleCity_Mart.inc @@ -0,0 +1,12 @@ +MauvilleCity_Mart_MapObjects: @ 8530310 + object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, MauvilleCity_Mart_EventScript_2110E6, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 5, 4, 3, 10, 0, 0, 0, 0, MauvilleCity_Mart_EventScript_21111C, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 5, 5, 3, 10, 0, 0, 0, 0, MauvilleCity_Mart_EventScript_211125, 0, 0, 0 + +MauvilleCity_Mart_MapWarps: @ 8530358 + warp_def 3, 7, 0, 3, MAUVILLE_CITY + warp_def 4, 7, 0, 3, MAUVILLE_CITY + +MauvilleCity_Mart_MapEvents:: @ 8530368 + map_events MauvilleCity_Mart_MapObjects, MauvilleCity_Mart_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MauvilleCity_PokemonCenter_1F.inc b/data/maps/events/MauvilleCity_PokemonCenter_1F.inc new file mode 100644 index 0000000000..725e52ef32 --- /dev/null +++ b/data/maps/events/MauvilleCity_PokemonCenter_1F.inc @@ -0,0 +1,15 @@ +MauvilleCity_PokemonCenter_1F_MapObjects: @ 85301C8 + object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_210E78, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 2, 3, 3, 9, 1, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_28E066, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_1, 0, 0, 8, 6, 3, 1, 0, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_210E86, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_7, 0, 0, 11, 4, 3, 3, 16, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_210E8F, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 2, 8, 3, 1, 17, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_210E98, 0, 0, 0 + +MauvilleCity_PokemonCenter_1F_MapWarps: @ 8530240 + warp_def 7, 8, 3, 1, MAUVILLE_CITY + warp_def 6, 8, 3, 1, MAUVILLE_CITY + warp_def 1, 6, 4, 0, MAUVILLE_CITY_POKEMON_CENTER_2F + +MauvilleCity_PokemonCenter_1F_MapEvents:: @ 8530258 + map_events MauvilleCity_PokemonCenter_1F_MapObjects, MauvilleCity_PokemonCenter_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MauvilleCity_PokemonCenter_2F.inc b/data/maps/events/MauvilleCity_PokemonCenter_2F.inc new file mode 100644 index 0000000000..9e5cb6e81c --- /dev/null +++ b/data/maps/events/MauvilleCity_PokemonCenter_2F.inc @@ -0,0 +1,15 @@ +MauvilleCity_PokemonCenter_2F_MapObjects: @ 853026C + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, MauvilleCity_PokemonCenter_2F_EventScript_27375B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, MauvilleCity_PokemonCenter_2F_EventScript_273761, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, MauvilleCity_PokemonCenter_2F_EventScript_273767, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, MauvilleCity_PokemonCenter_2F_EventScript_276B03, 702, 0, 0 + object_event 5, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 8, 8, 3, 7, 17, 0, 0, 0, MauvilleCity_PokemonCenter_2F_EventScript_21102F, 0, 0, 0 + +MauvilleCity_PokemonCenter_2F_MapWarps: @ 85302E4 + warp_def 1, 6, 4, 2, MAUVILLE_CITY_POKEMON_CENTER_1F + warp_def 5, 1, 3, 0, UNION_ROOM + warp_def 9, 1, 3, 0, TRADE_CENTER + +MauvilleCity_PokemonCenter_2F_MapEvents:: @ 85302FC + map_events MauvilleCity_PokemonCenter_2F_MapObjects, MauvilleCity_PokemonCenter_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MeteorFalls_1F_1R.inc b/data/maps/events/MeteorFalls_1F_1R.inc new file mode 100644 index 0000000000..29ecbf043b --- /dev/null +++ b/data/maps/events/MeteorFalls_1F_1R.inc @@ -0,0 +1,29 @@ +MeteorFalls_1F_1R_MapObjects: @ 8533F74 + object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 2, 4, 3, 1, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_2911AB, 1044, 0, 0 + object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 2, 14, 3, 1, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_2911C5, 1046, 0, 0 + object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 27, 5, 3, 1, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_2911B8, 1045, 0, 0 + object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 26, 32, 3, 1, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_2911D2, 1047, 0, 0 + object_event 5, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 12, 20, 3, 8, 0, 0, 0, 0, 0x0, 939, 0, 0 + object_event 6, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 14, 21, 3, 9, 0, 0, 0, 0, 0x0, 939, 0, 0 + object_event 7, MAP_OBJ_GFX_ARCHIE, 0, 0, 6, 20, 3, 10, 0, 0, 0, 0, 0x0, 938, 0, 0 + object_event 8, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 6, 20, 3, 10, 0, 0, 0, 0, 0x0, 938, 0, 0 + object_event 9, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 6, 21, 3, 1, 0, 0, 0, 0, 0x0, 938, 0, 0 + object_event 10, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 13, 23, 3, 21, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_22BF25, 942, 0, 0 + +MeteorFalls_1F_1R_MapWarps: @ 8534064 + warp_def 27, 18, 4, 0, ROUTE_114 + warp_def 6, 39, 3, 0, ROUTE_115 + warp_def 10, 3, 3, 0, METEOR_FALLS_1F_2R + warp_def 5, 4, 3, 4, METEOR_FALLS_B1F_1R + warp_def 26, 28, 3, 5, METEOR_FALLS_B1F_1R + warp_def 4, 2, 0, 0, METEOR_FALLS_STEVENS_CAVE + +MeteorFalls_1F_1R_MapCoordEvents: @ 8534094 + coord_event 14, 18, 4, 0, VAR_0x40BF, 0, 0, MeteorFalls_1F_1R_EventScript_22BD5F + +MeteorFalls_1F_1R_MapBGEvents: @ 85340A4 + bg_event 9, 58, 0, 0, 0, 0x0 + +MeteorFalls_1F_1R_MapEvents:: @ 85340B0 + map_events MeteorFalls_1F_1R_MapObjects, MeteorFalls_1F_1R_MapWarps, MeteorFalls_1F_1R_MapCoordEvents, MeteorFalls_1F_1R_MapBGEvents + diff --git a/data/maps/events/MeteorFalls_1F_2R.inc b/data/maps/events/MeteorFalls_1F_2R.inc new file mode 100644 index 0000000000..180b4f7229 --- /dev/null +++ b/data/maps/events/MeteorFalls_1F_2R.inc @@ -0,0 +1,17 @@ +MeteorFalls_1F_2R_MapObjects: @ 85340C4 + object_event 1, MAP_OBJ_GFX_MAN_4, 0, 0, 13, 2, 3, 8, 0, 0, 1, 1, MeteorFalls_1F_2R_EventScript_22C4DE, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 6, 12, 3, 8, 17, 0, 1, 1, MeteorFalls_1F_2R_EventScript_22C540, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 7, 12, 3, 8, 17, 0, 1, 1, MeteorFalls_1F_2R_EventScript_22C5A4, 0, 0, 0 + +MeteorFalls_1F_2R_MapWarps: @ 853410C + warp_def 10, 29, 3, 2, METEOR_FALLS_1F_1R + warp_def 4, 14, 3, 0, METEOR_FALLS_B1F_1R + warp_def 7, 20, 3, 1, METEOR_FALLS_B1F_1R + warp_def 21, 23, 3, 2, METEOR_FALLS_B1F_1R + +MeteorFalls_1F_2R_MapBGEvents: @ 853412C + bg_event 9, 58, 0, 0, 0, 0x0 + +MeteorFalls_1F_2R_MapEvents:: @ 8534138 + map_events MeteorFalls_1F_2R_MapObjects, MeteorFalls_1F_2R_MapWarps, 0x0, MeteorFalls_1F_2R_MapBGEvents + diff --git a/data/maps/events/MeteorFalls_B1F_1R.inc b/data/maps/events/MeteorFalls_B1F_1R.inc new file mode 100644 index 0000000000..410dd90c0c --- /dev/null +++ b/data/maps/events/MeteorFalls_B1F_1R.inc @@ -0,0 +1,11 @@ +MeteorFalls_B1F_1R_MapWarps: @ 853414C + warp_def 5, 6, 4, 1, METEOR_FALLS_1F_2R + warp_def 7, 11, 5, 2, METEOR_FALLS_1F_2R + warp_def 18, 15, 4, 3, METEOR_FALLS_1F_2R + warp_def 17, 3, 3, 0, METEOR_FALLS_B1F_2R + warp_def 3, 23, 5, 3, METEOR_FALLS_1F_1R + warp_def 20, 36, 3, 4, METEOR_FALLS_1F_1R + +MeteorFalls_B1F_1R_MapEvents:: @ 853417C + map_events 0x0, MeteorFalls_B1F_1R_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MeteorFalls_B1F_2R.inc b/data/maps/events/MeteorFalls_B1F_2R.inc new file mode 100644 index 0000000000..e208273cf6 --- /dev/null +++ b/data/maps/events/MeteorFalls_B1F_2R.inc @@ -0,0 +1,9 @@ +MeteorFalls_B1F_2R_MapObjects: @ 8534190 + object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 5, 3, 3, 1, 17, 0, 0, 0, MeteorFalls_B1F_2R_EventScript_2911DF, 1080, 0, 0 + +MeteorFalls_B1F_2R_MapWarps: @ 85341A8 + warp_def 5, 15, 3, 3, METEOR_FALLS_B1F_1R + +MeteorFalls_B1F_2R_MapEvents:: @ 85341B0 + map_events MeteorFalls_B1F_2R_MapObjects, MeteorFalls_B1F_2R_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MeteorFalls_StevensCave.inc b/data/maps/events/MeteorFalls_StevensCave.inc new file mode 100644 index 0000000000..e9f3d0db67 --- /dev/null +++ b/data/maps/events/MeteorFalls_StevensCave.inc @@ -0,0 +1,9 @@ +MeteorFalls_StevensCave_MapObjects: @ 85378B0 + object_event 1, MAP_OBJ_GFX_STEVEN, 0, 0, 19, 3, 3, 7, 17, 0, 0, 0, MeteorFalls_StevensCave_EventScript_23B182, 0, 0, 0 + +MeteorFalls_StevensCave_MapWarps: @ 85378C8 + warp_def 10, 29, 3, 5, METEOR_FALLS_1F_1R + +MeteorFalls_StevensCave_MapEvents:: @ 85378D0 + map_events MeteorFalls_StevensCave_MapObjects, MeteorFalls_StevensCave_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MirageTower_1F.inc b/data/maps/events/MirageTower_1F.inc new file mode 100644 index 0000000000..5bf9568bbe --- /dev/null +++ b/data/maps/events/MirageTower_1F.inc @@ -0,0 +1,7 @@ +MirageTower_1F_MapWarps: @ 85375D4 + warp_def 10, 14, 3, 3, ROUTE_111 + warp_def 15, 2, 3, 1, MIRAGE_TOWER_2F + +MirageTower_1F_MapEvents:: @ 85375E4 + map_events 0x0, MirageTower_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MirageTower_2F.inc b/data/maps/events/MirageTower_2F.inc new file mode 100644 index 0000000000..07814433a9 --- /dev/null +++ b/data/maps/events/MirageTower_2F.inc @@ -0,0 +1,7 @@ +MirageTower_2F_MapWarps: @ 85375F8 + warp_def 18, 12, 3, 0, MIRAGE_TOWER_3F + warp_def 15, 2, 3, 1, MIRAGE_TOWER_1F + +MirageTower_2F_MapEvents:: @ 8537608 + map_events 0x0, MirageTower_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MirageTower_3F.inc b/data/maps/events/MirageTower_3F.inc new file mode 100644 index 0000000000..956965d5f1 --- /dev/null +++ b/data/maps/events/MirageTower_3F.inc @@ -0,0 +1,11 @@ +MirageTower_3F_MapObjects: @ 853761C + object_event 1, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 3, 7, 3, 1, 17, 0, 0, 0, MirageTower_3F_EventScript_2907A6, 17, 0, 0 + object_event 2, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 4, 8, 3, 1, 17, 0, 0, 0, MirageTower_3F_EventScript_2907A6, 18, 0, 0 + +MirageTower_3F_MapWarps: @ 853764C + warp_def 18, 12, 3, 0, MIRAGE_TOWER_2F + warp_def 2, 4, 0, 0, MIRAGE_TOWER_4F + +MirageTower_3F_MapEvents:: @ 853765C + map_events MirageTower_3F_MapObjects, MirageTower_3F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MirageTower_4F.inc b/data/maps/events/MirageTower_4F.inc new file mode 100644 index 0000000000..1042dc803a --- /dev/null +++ b/data/maps/events/MirageTower_4F.inc @@ -0,0 +1,11 @@ +MirageTower_4F_MapObjects: @ 8537670 + object_event 1, MAP_OBJ_GFX_FOSSIL, 0, 0, 5, 4, 4, 8, 17, 0, 0, 0, MirageTower_4F_EventScript_23AD48, 963, 0, 0 + object_event 2, MAP_OBJ_GFX_FOSSIL, 0, 0, 7, 4, 0, 8, 17, 0, 0, 0, MirageTower_4F_EventScript_23AD89, 964, 0, 0 + object_event 3, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 6, 7, 3, 1, 17, 0, 0, 0, MirageTower_4F_EventScript_2907A6, 17, 0, 0 + +MirageTower_4F_MapWarps: @ 85376B8 + warp_def 1, 4, 3, 1, MIRAGE_TOWER_3F + +MirageTower_4F_MapEvents:: @ 85376C0 + map_events MirageTower_4F_MapObjects, MirageTower_4F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MossdeepCity.inc b/data/maps/events/MossdeepCity.inc new file mode 100644 index 0000000000..5d37175310 --- /dev/null +++ b/data/maps/events/MossdeepCity.inc @@ -0,0 +1,56 @@ +MossdeepCity_MapObjects: @ 8527018 + object_event 1, MAP_OBJ_GFX_SAILOR, 0, 0, 38, 12, 5, 2, 17, 0, 0, 0, MossdeepCity_EventScript_1E4AD1, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 50, 34, 5, 5, 1, 0, 0, 0, MossdeepCity_EventScript_1E4AF9, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_2, 0, 0, 32, 12, 5, 2, 17, 0, 0, 0, MossdeepCity_EventScript_1E4AB2, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 26, 21, 5, 3, 16, 0, 0, 0, MossdeepCity_EventScript_1E4AF0, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_GIRL_1, 0, 0, 45, 18, 7, 9, 0, 0, 0, 0, MossdeepCity_EventScript_1E4B02, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 62, 35, 5, 1, 0, 0, 0, 0, MossdeepCity_EventScript_2910F5, 1043, 0, 0 + object_event 7, MAP_OBJ_GFX_MAN_1, 0, 0, 55, 5, 7, 7, 0, 0, 0, 0, MossdeepCity_EventScript_1E4C10, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_WOMAN_1, 0, 0, 56, 21, 7, 10, 17, 0, 0, 0, MossdeepCity_EventScript_1E4B0B, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_BOY_2, 0, 0, 23, 13, 5, 2, 17, 0, 0, 0, MossdeepCity_EventScript_1E4C26, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 44, 23, 5, 8, 17, 0, 0, 0, 0x0, 823, 0, 0 + object_event 11, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 44, 24, 5, 7, 17, 0, 0, 0, 0x0, 823, 0, 0 + object_event 12, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 44, 25, 5, 8, 17, 0, 0, 0, 0x0, 823, 0, 0 + object_event 13, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 44, 26, 5, 7, 17, 0, 0, 0, 0x0, 823, 0, 0 + object_event 14, MAP_OBJ_GFX_MAXIE, 0, 0, 45, 25, 5, 9, 17, 0, 0, 0, 0x0, 823, 0, 0 + object_event 15, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 19, 25, 3, 64, 51, 0, 0, 0, MossdeepCity_EventScript_2C81EE, 0, 0, 0 + object_event 16, MAP_OBJ_GFX_SCOTT, 0, 0, 61, 29, 5, 17, 0, 0, 0, 0, MossdeepCity_EventScript_1E4C85, 788, 0, 0 + object_event 17, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 31, 29, 3, 64, 51, 0, 0, 0, MossdeepCity_EventScript_1E4C7C, 0, 0, 0 + +MossdeepCity_MapWarps: @ 85271B0 + warp_def 28, 9, 0, 0, MOSSDEEP_CITY_HOUSE_1 + warp_def 38, 9, 0, 0, MOSSDEEP_CITY_GYM + warp_def 28, 16, 0, 0, MOSSDEEP_CITY_POKEMON_CENTER_1F + warp_def 67, 25, 0, 0, MOSSDEEP_CITY_HOUSE_2 + warp_def 37, 18, 0, 0, MOSSDEEP_CITY_MART + warp_def 49, 6, 0, 0, MOSSDEEP_CITY_HOUSE_3 + warp_def 19, 10, 0, 0, MOSSDEEP_CITY_STEVENS_HOUSE + warp_def 18, 16, 0, 1, MOSSDEEP_CITY_HOUSE_4 + warp_def 64, 15, 0, 0, MOSSDEEP_CITY_SPACE_CENTER_1F + warp_def 36, 24, 0, 0, MOSSDEEP_CITY_GAME_CORNER_1F + +MossdeepCity_MapCoordEvents: @ 8527200 + coord_event 25, 25, 0, 0, VAR_0x4001, 0, 0, MossdeepCity_EventScript_1E4B38 + coord_event 26, 25, 0, 0, VAR_0x4001, 0, 0, MossdeepCity_EventScript_1E4B38 + coord_event 32, 27, 0, 0, VAR_0x4001, 0, 0, MossdeepCity_EventScript_1E4B38 + coord_event 33, 27, 0, 0, VAR_0x4001, 0, 0, MossdeepCity_EventScript_1E4B38 + coord_event 42, 21, 5, 0, VAR_0x405D, 1, 0, MossdeepCity_EventScript_1E4B41 + coord_event 41, 22, 5, 0, VAR_0x405D, 1, 0, MossdeepCity_EventScript_1E4B41 + coord_event 41, 23, 5, 0, VAR_0x405D, 1, 0, MossdeepCity_EventScript_1E4B41 + coord_event 41, 24, 5, 0, VAR_0x405D, 1, 0, MossdeepCity_EventScript_1E4B41 + coord_event 40, 25, 5, 0, VAR_0x405D, 1, 0, MossdeepCity_EventScript_1E4B41 + coord_event 40, 26, 5, 0, VAR_0x405D, 1, 0, MossdeepCity_EventScript_1E4B41 + +MossdeepCity_MapBGEvents: @ 85272A0 + bg_event 25, 16, 0, 0, 0, MossdeepCity_EventScript_1E4B26 + bg_event 34, 9, 0, 0, 0, MossdeepCity_EventScript_1E4B1D + bg_event 29, 16, 0, 1, 0, MossdeepCity_EventScript_271E73 + bg_event 38, 18, 0, 1, 0, MossdeepCity_EventScript_271E6A + bg_event 66, 16, 0, 0, 0, MossdeepCity_EventScript_1E4B2F + bg_event 30, 16, 0, 1, 0, MossdeepCity_EventScript_271E73 + bg_event 39, 18, 0, 1, 0, MossdeepCity_EventScript_271E6A + bg_event 57, 21, 7, 0, 0, MossdeepCity_EventScript_1E4B14 + +MossdeepCity_MapEvents:: @ 8527300 + map_events MossdeepCity_MapObjects, MossdeepCity_MapWarps, MossdeepCity_MapCoordEvents, MossdeepCity_MapBGEvents + diff --git a/data/maps/events/MossdeepCity_GameCorner_1F.inc b/data/maps/events/MossdeepCity_GameCorner_1F.inc new file mode 100644 index 0000000000..c4477a44b8 --- /dev/null +++ b/data/maps/events/MossdeepCity_GameCorner_1F.inc @@ -0,0 +1,17 @@ +MossdeepCity_GameCorner_1F_MapObjects: @ 8532F40 + object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 6, 2, 0, 8, 0, 0, 0, 0, MossdeepCity_GameCorner_1F_EventScript_224B54, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_5, 0, 0, 4, 2, 0, 8, 0, 0, 0, 0, MossdeepCity_GameCorner_1F_EventScript_224B4B, 0, 0, 0 + +MossdeepCity_GameCorner_1F_MapWarps: @ 8532F70 + warp_def 5, 9, 0, 9, MOSSDEEP_CITY + warp_def 6, 9, 0, 9, MOSSDEEP_CITY + warp_def 2, 0, 0, 0, MOSSDEEP_CITY_GAME_CORNER_B1F + +MossdeepCity_GameCorner_1F_MapBGEvents: @ 8532F88 + bg_event 3, 0, 0, 0, 0, MossdeepCity_GameCorner_1F_EventScript_224B5D + bg_event 0, 1, 0, 0, 0, MossdeepCity_GameCorner_1F_EventScript_277E9D + bg_event 1, 1, 0, 0, 0, MossdeepCity_GameCorner_1F_EventScript_277E96 + +MossdeepCity_GameCorner_1F_MapEvents:: @ 8532FAC + map_events MossdeepCity_GameCorner_1F_MapObjects, MossdeepCity_GameCorner_1F_MapWarps, 0x0, MossdeepCity_GameCorner_1F_MapBGEvents + diff --git a/data/maps/events/MossdeepCity_GameCorner_B1F.inc b/data/maps/events/MossdeepCity_GameCorner_B1F.inc new file mode 100644 index 0000000000..ed9b4f6605 --- /dev/null +++ b/data/maps/events/MossdeepCity_GameCorner_B1F.inc @@ -0,0 +1,9 @@ +MossdeepCity_GameCorner_B1F_MapObjects: @ 8532FC0 + object_event 1, MAP_OBJ_GFX_HIPSTER, 0, 0, 6, 5, 3, 9, 0, 0, 0, 0, 0x0, 0, 0, 0 + +MossdeepCity_GameCorner_B1F_MapWarps: @ 8532FD8 + warp_def 3, 1, 0, 2, MOSSDEEP_CITY_GAME_CORNER_1F + +MossdeepCity_GameCorner_B1F_MapEvents:: @ 8532FE0 + map_events MossdeepCity_GameCorner_B1F_MapObjects, MossdeepCity_GameCorner_B1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MossdeepCity_Gym.inc b/data/maps/events/MossdeepCity_Gym.inc new file mode 100644 index 0000000000..cf3e424342 --- /dev/null +++ b/data/maps/events/MossdeepCity_Gym.inc @@ -0,0 +1,72 @@ +MossdeepCity_Gym_MapObjects: @ 85324EC + object_event 1, MAP_OBJ_GFX_TATE, 0, 0, 23, 7, 0, 8, 0, 0, 0, 0, MossdeepCity_Gym_EventScript_220898, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 1, 30, 3, 8, 0, 0, 1, 1, MossdeepCity_Gym_EventScript_220AFD, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 5, 20, 3, 7, 0, 0, 1, 1, MossdeepCity_Gym_EventScript_220B2B, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_LASS, 0, 0, 4, 29, 3, 7, 0, 0, 1, 1, MossdeepCity_Gym_EventScript_220B70, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_LASS, 0, 0, 4, 23, 0, 7, 0, 0, 1, 1, MossdeepCity_Gym_EventScript_220B59, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 6, 9, 3, 8, 0, 0, 1, 1, MossdeepCity_Gym_EventScript_220B14, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_LASS, 0, 0, 6, 3, 0, 8, 0, 0, 1, 1, MossdeepCity_Gym_EventScript_220B42, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_MAN_2, 0, 0, 5, 33, 0, 8, 0, 0, 0, 0, MossdeepCity_Gym_EventScript_220C11, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_LIZA, 0, 0, 24, 7, 0, 8, 0, 0, 0, 0, MossdeepCity_Gym_EventScript_220898, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 2, 30, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 1, 29, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 4, 30, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 13, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 5, 29, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 5, 21, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 15, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 7, 9, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 16, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 10, 8, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 17, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 9, 8, 3, 7, 17, 0, 1, 1, MossdeepCity_Gym_EventScript_220B9E, 0, 0, 0 + object_event 18, MAP_OBJ_GFX_HEX_MANIAC, 0, 0, 7, 5, 3, 10, 17, 0, 1, 1, MossdeepCity_Gym_EventScript_220B87, 0, 0, 0 + object_event 19, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 6, 6, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 20, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 12, 5, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 21, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 11, 5, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 22, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 11, 34, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 23, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 12, 33, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 24, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 12, 34, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 25, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 22, 25, 3, 7, 17, 0, 1, 1, MossdeepCity_Gym_EventScript_220BCC, 0, 0, 0 + object_event 26, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 23, 26, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 27, MAP_OBJ_GFX_LASS, 0, 0, 25, 25, 0, 9, 17, 0, 1, 1, MossdeepCity_Gym_EventScript_220BB5, 0, 0, 0 + object_event 28, MAP_OBJ_GFX_HEX_MANIAC, 0, 0, 22, 23, 3, 8, 17, 0, 1, 1, MossdeepCity_Gym_EventScript_220BFA, 0, 0, 0 + object_event 29, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 21, 23, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 30, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 21, 22, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 31, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 22, 22, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 32, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 25, 22, 3, 7, 17, 0, 1, 1, MossdeepCity_Gym_EventScript_220BE3, 0, 0, 0 + object_event 33, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 24, 22, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 34, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 24, 23, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 35, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 6, 5, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 36, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 23, 25, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + +MossdeepCity_Gym_MapWarps: @ 853284C + warp_def 6, 35, 3, 1, MOSSDEEP_CITY + warp_def 7, 35, 3, 1, MOSSDEEP_CITY + warp_def 3, 28, 0, 3, MOSSDEEP_CITY_GYM + warp_def 1, 23, 3, 2, MOSSDEEP_CITY_GYM + warp_def 7, 18, 0, 5, MOSSDEEP_CITY_GYM + warp_def 8, 12, 0, 4, MOSSDEEP_CITY_GYM + warp_def 9, 18, 0, 7, MOSSDEEP_CITY_GYM + warp_def 23, 20, 0, 6, MOSSDEEP_CITY_GYM + warp_def 1, 33, 3, 9, MOSSDEEP_CITY_GYM + warp_def 20, 24, 0, 8, MOSSDEEP_CITY_GYM + warp_def 11, 3, 0, 11, MOSSDEEP_CITY_GYM + warp_def 11, 35, 3, 10, MOSSDEEP_CITY_GYM + warp_def 13, 32, 0, 13, MOSSDEEP_CITY_GYM + warp_def 21, 10, 0, 12, MOSSDEEP_CITY_GYM + +MossdeepCity_Gym_MapCoordEvents: @ 85328BC + coord_event 2, 21, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220C67 + coord_event 8, 10, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220C7D + coord_event 6, 7, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220C7D + coord_event 15, 34, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220C93 + coord_event 23, 24, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220CA9 + coord_event 23, 21, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220CA9 + coord_event 8, 6, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220CBF + coord_event 21, 6, 0, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220AF1 + coord_event 3, 30, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220C67 + +MossdeepCity_Gym_MapBGEvents: @ 853294C + bg_event 4, 34, 0, 1, 0, MossdeepCity_Gym_EventScript_220C33 + bg_event 8, 34, 0, 1, 0, MossdeepCity_Gym_EventScript_220C43 + +MossdeepCity_Gym_MapEvents:: @ 8532964 + map_events MossdeepCity_Gym_MapObjects, MossdeepCity_Gym_MapWarps, MossdeepCity_Gym_MapCoordEvents, MossdeepCity_Gym_MapBGEvents + diff --git a/data/maps/events/MossdeepCity_House1.inc b/data/maps/events/MossdeepCity_House1.inc new file mode 100644 index 0000000000..c83a09c5c5 --- /dev/null +++ b/data/maps/events/MossdeepCity_House1.inc @@ -0,0 +1,11 @@ +MossdeepCity_House1_MapObjects: @ 8532978 + object_event 1, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 3, 3, 3, 3, 17, 0, 0, 0, MossdeepCity_House1_EventScript_221FD6, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_3, 0, 0, 7, 4, 3, 9, 0, 0, 0, 0, MossdeepCity_House1_EventScript_222006, 0, 0, 0 + +MossdeepCity_House1_MapWarps: @ 85329A8 + warp_def 3, 7, 0, 0, MOSSDEEP_CITY + warp_def 4, 7, 0, 0, MOSSDEEP_CITY + +MossdeepCity_House1_MapEvents:: @ 85329B8 + map_events MossdeepCity_House1_MapObjects, MossdeepCity_House1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MossdeepCity_House2.inc b/data/maps/events/MossdeepCity_House2.inc new file mode 100644 index 0000000000..08ab803488 --- /dev/null +++ b/data/maps/events/MossdeepCity_House2.inc @@ -0,0 +1,12 @@ +MossdeepCity_House2_MapObjects: @ 85329CC + object_event 1, MAP_OBJ_GFX_MAN_5, 0, 0, 6, 6, 3, 9, 0, 0, 0, 0, MossdeepCity_House2_EventScript_2220DF, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, MossdeepCity_House2_EventScript_2220E8, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WINGULL, 0, 0, 4, 5, 3, 7, 0, 0, 0, 0, MossdeepCity_House2_EventScript_2220F1, 934, 0, 0 + +MossdeepCity_House2_MapWarps: @ 8532A14 + warp_def 3, 8, 0, 3, MOSSDEEP_CITY + warp_def 4, 8, 0, 3, MOSSDEEP_CITY + +MossdeepCity_House2_MapEvents:: @ 8532A24 + map_events MossdeepCity_House2_MapObjects, MossdeepCity_House2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MossdeepCity_House3.inc b/data/maps/events/MossdeepCity_House3.inc new file mode 100644 index 0000000000..21c008770d --- /dev/null +++ b/data/maps/events/MossdeepCity_House3.inc @@ -0,0 +1,10 @@ +MossdeepCity_House3_MapObjects: @ 8532BD4 + object_event 1, MAP_OBJ_GFX_FISHERMAN, 0, 0, 4, 4, 3, 10, 0, 0, 0, 0, MossdeepCity_House3_EventScript_2225C3, 0, 0, 0 + +MossdeepCity_House3_MapWarps: @ 8532BEC + warp_def 3, 7, 0, 5, MOSSDEEP_CITY + warp_def 4, 7, 0, 5, MOSSDEEP_CITY + +MossdeepCity_House3_MapEvents:: @ 8532BFC + map_events MossdeepCity_House3_MapObjects, MossdeepCity_House3_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MossdeepCity_House4.inc b/data/maps/events/MossdeepCity_House4.inc new file mode 100644 index 0000000000..76245850f2 --- /dev/null +++ b/data/maps/events/MossdeepCity_House4.inc @@ -0,0 +1,12 @@ +MossdeepCity_House4_MapObjects: @ 8532CAC + object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 3, 4, 3, 9, 0, 0, 0, 0, MossdeepCity_House4_EventScript_222DD8, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 6, 6, 3, 5, 1, 0, 0, 0, MossdeepCity_House4_EventScript_222DF7, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_SKITTY, 0, 0, 2, 4, 3, 1, 17, 0, 0, 0, MossdeepCity_House4_EventScript_222E1E, 0, 0, 0 + +MossdeepCity_House4_MapWarps: @ 8532CF4 + warp_def 4, 7, 0, 7, MOSSDEEP_CITY + warp_def 3, 7, 0, 7, MOSSDEEP_CITY + +MossdeepCity_House4_MapEvents:: @ 8532D04 + map_events MossdeepCity_House4_MapObjects, MossdeepCity_House4_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MossdeepCity_Mart.inc b/data/maps/events/MossdeepCity_Mart.inc new file mode 100644 index 0000000000..4a49376bab --- /dev/null +++ b/data/maps/events/MossdeepCity_Mart.inc @@ -0,0 +1,13 @@ +MossdeepCity_Mart_MapObjects: @ 8532B50 + object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, MossdeepCity_Mart_EventScript_2223C8, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_7, 0, 0, 1, 5, 3, 7, 0, 0, 0, 0, MossdeepCity_Mart_EventScript_2223F6, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BOY_2, 0, 0, 8, 3, 3, 3, 16, 0, 0, 0, MossdeepCity_Mart_EventScript_2223FF, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_SAILOR, 0, 0, 5, 3, 3, 2, 17, 0, 0, 0, MossdeepCity_Mart_EventScript_222408, 0, 0, 0 + +MossdeepCity_Mart_MapWarps: @ 8532BB0 + warp_def 3, 7, 0, 4, MOSSDEEP_CITY + warp_def 4, 7, 0, 4, MOSSDEEP_CITY + +MossdeepCity_Mart_MapEvents:: @ 8532BC0 + map_events MossdeepCity_Mart_MapObjects, MossdeepCity_Mart_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MossdeepCity_PokemonCenter_1F.inc b/data/maps/events/MossdeepCity_PokemonCenter_1F.inc new file mode 100644 index 0000000000..30e5d395cd --- /dev/null +++ b/data/maps/events/MossdeepCity_PokemonCenter_1F.inc @@ -0,0 +1,13 @@ +MossdeepCity_PokemonCenter_1F_MapObjects: @ 8532A38 + object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, MossdeepCity_PokemonCenter_1F_EventScript_22224E, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_3, 0, 0, 8, 4, 3, 7, 0, 0, 0, 0, MossdeepCity_PokemonCenter_1F_EventScript_22225C, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_GIRL_1, 0, 0, 3, 5, 3, 1, 0, 0, 0, 0, MossdeepCity_PokemonCenter_1F_EventScript_222265, 0, 0, 0 + +MossdeepCity_PokemonCenter_1F_MapWarps: @ 8532A80 + warp_def 7, 8, 3, 2, MOSSDEEP_CITY + warp_def 6, 8, 3, 2, MOSSDEEP_CITY + warp_def 1, 6, 4, 0, MOSSDEEP_CITY_POKEMON_CENTER_2F + +MossdeepCity_PokemonCenter_1F_MapEvents:: @ 8532A98 + map_events MossdeepCity_PokemonCenter_1F_MapObjects, MossdeepCity_PokemonCenter_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MossdeepCity_PokemonCenter_2F.inc b/data/maps/events/MossdeepCity_PokemonCenter_2F.inc new file mode 100644 index 0000000000..7eda9d522b --- /dev/null +++ b/data/maps/events/MossdeepCity_PokemonCenter_2F.inc @@ -0,0 +1,15 @@ +MossdeepCity_PokemonCenter_2F_MapObjects: @ 8532AAC + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, MossdeepCity_PokemonCenter_2F_EventScript_27375B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, MossdeepCity_PokemonCenter_2F_EventScript_273761, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, MossdeepCity_PokemonCenter_2F_EventScript_273767, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, MossdeepCity_PokemonCenter_2F_EventScript_276B03, 702, 0, 0 + object_event 5, MAP_OBJ_GFX_WOMAN_7, 0, 0, 11, 7, 3, 5, 17, 0, 0, 0, MossdeepCity_PokemonCenter_2F_EventScript_22235B, 0, 0, 0 + +MossdeepCity_PokemonCenter_2F_MapWarps: @ 8532B24 + warp_def 1, 6, 4, 2, MOSSDEEP_CITY_POKEMON_CENTER_1F + warp_def 5, 1, 3, 0, UNION_ROOM + warp_def 9, 1, 3, 0, TRADE_CENTER + +MossdeepCity_PokemonCenter_2F_MapEvents:: @ 8532B3C + map_events MossdeepCity_PokemonCenter_2F_MapObjects, MossdeepCity_PokemonCenter_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MossdeepCity_SpaceCenter_1F.inc b/data/maps/events/MossdeepCity_SpaceCenter_1F.inc new file mode 100644 index 0000000000..4e2062365e --- /dev/null +++ b/data/maps/events/MossdeepCity_SpaceCenter_1F.inc @@ -0,0 +1,21 @@ +MossdeepCity_SpaceCenter_1F_MapObjects: @ 8532D18 + object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 7, 2, 3, 7, 0, 0, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_222FD8, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 2, 2, 3, 7, 0, 0, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_223063, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_SAILOR, 0, 0, 6, 6, 3, 9, 0, 0, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_22308E, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 10, 2, 3, 7, 0, 0, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_223168, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_WOMAN_5, 0, 0, 14, 7, 3, 3, 17, 0, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_22312D, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_MAGMA_MEMBER_F, 0, 0, 12, 9, 3, 9, 17, 0, 1, 2, MossdeepCity_SpaceCenter_1F_EventScript_2231DA, 756, 0, 0 + object_event 7, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 11, 6, 3, 9, 17, 0, 1, 2, MossdeepCity_SpaceCenter_1F_EventScript_2231F1, 756, 0, 0 + object_event 8, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 10, 2, 3, 8, 17, 0, 1, 2, MossdeepCity_SpaceCenter_1F_EventScript_223208, 756, 0, 0 + object_event 9, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 13, 2, 3, 8, 17, 0, 1, 0, MossdeepCity_SpaceCenter_1F_EventScript_22321F, 756, 0, 0 + object_event 10, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 2, 5, 0, 76, 17, 0, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_2231CF, 737, 0, 0 + object_event 11, MAP_OBJ_GFX_STEVEN, 0, 0, 1, 4, 3, 8, 17, 0, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_2231B9, 753, 0, 0 + +MossdeepCity_SpaceCenter_1F_MapWarps: @ 8532E20 + warp_def 7, 9, 0, 8, MOSSDEEP_CITY + warp_def 8, 9, 0, 8, MOSSDEEP_CITY + warp_def 13, 1, 0, 0, MOSSDEEP_CITY_SPACE_CENTER_2F + +MossdeepCity_SpaceCenter_1F_MapEvents:: @ 8532E38 + map_events MossdeepCity_SpaceCenter_1F_MapObjects, MossdeepCity_SpaceCenter_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MossdeepCity_SpaceCenter_2F.inc b/data/maps/events/MossdeepCity_SpaceCenter_2F.inc new file mode 100644 index 0000000000..3de11be87b --- /dev/null +++ b/data/maps/events/MossdeepCity_SpaceCenter_2F.inc @@ -0,0 +1,17 @@ +MossdeepCity_SpaceCenter_2F_MapObjects: @ 8532E4C + object_event 1, MAP_OBJ_GFX_BOY_4, 0, 0, 6, 2, 3, 7, 0, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F03, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 11, 8, 3, 7, 0, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223EC8, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 5, 6, 3, 2, 17, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223E8D, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_STEVEN, 0, 0, 1, 8, 3, 8, 17, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F7A, 863, 0, 0 + object_event 5, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 12, 2, 3, 10, 17, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F3E, 862, 0, 0 + object_event 6, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 13, 3, 3, 7, 17, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F50, 862, 0, 0 + object_event 7, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 14, 2, 3, 9, 17, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F47, 862, 0, 0 + object_event 8, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 0, 8, 3, 10, 17, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F59, 862, 0, 0 + object_event 9, MAP_OBJ_GFX_MAXIE, 0, 0, 1, 9, 3, 7, 17, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F6F, 862, 0, 0 + +MossdeepCity_SpaceCenter_2F_MapWarps: @ 8532F24 + warp_def 13, 1, 0, 2, MOSSDEEP_CITY_SPACE_CENTER_1F + +MossdeepCity_SpaceCenter_2F_MapEvents:: @ 8532F2C + map_events MossdeepCity_SpaceCenter_2F_MapObjects, MossdeepCity_SpaceCenter_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MossdeepCity_StevensHouse.inc b/data/maps/events/MossdeepCity_StevensHouse.inc new file mode 100644 index 0000000000..523088c405 --- /dev/null +++ b/data/maps/events/MossdeepCity_StevensHouse.inc @@ -0,0 +1,18 @@ +MossdeepCity_StevensHouse_MapObjects: @ 8532C10 + object_event 1, MAP_OBJ_GFX_STEVEN, 0, 0, 9, 6, 3, 10, 0, 0, 0, 0, MossdeepCity_StevensHouse_EventScript_222912, 967, 0, 0 + object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 3, 3, 1, 17, 0, 0, 0, MossdeepCity_StevensHouse_EventScript_222841, 968, 0, 0 + object_event 3, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 6, 4, 3, 76, 17, 0, 0, 0, MossdeepCity_StevensHouse_EventScript_22291B, 727, 0, 0 + +MossdeepCity_StevensHouse_MapWarps: @ 8532C58 + warp_def 3, 7, 0, 6, MOSSDEEP_CITY + warp_def 4, 7, 0, 6, MOSSDEEP_CITY + +MossdeepCity_StevensHouse_MapBGEvents: @ 8532C68 + bg_event 0, 1, 0, 0, 0, MossdeepCity_StevensHouse_EventScript_222909 + bg_event 1, 1, 0, 0, 0, MossdeepCity_StevensHouse_EventScript_222909 + bg_event 10, 4, 3, 0, 0, MossdeepCity_StevensHouse_EventScript_222909 + bg_event 10, 6, 3, 0, 0, MossdeepCity_StevensHouse_EventScript_222909 + +MossdeepCity_StevensHouse_MapEvents:: @ 8532C98 + map_events MossdeepCity_StevensHouse_MapObjects, MossdeepCity_StevensHouse_MapWarps, 0x0, MossdeepCity_StevensHouse_MapBGEvents + diff --git a/data/maps/events/MtChimney.inc b/data/maps/events/MtChimney.inc new file mode 100644 index 0000000000..5f026066ad --- /dev/null +++ b/data/maps/events/MtChimney.inc @@ -0,0 +1,45 @@ +MtChimney_MapObjects: @ 85347C8 + object_event 1, MAP_OBJ_GFX_ARCHIE, 0, 0, 24, 19, 3, 9, 0, 0, 0, 0, MtChimney_EventScript_22EDD5, 926, 0, 0 + object_event 2, MAP_OBJ_GFX_MAXIE, 0, 0, 13, 6, 3, 10, 0, 0, 0, 0, MtChimney_EventScript_22EE0B, 927, 0, 0 + object_event 3, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 12, 11, 3, 9, 0, 0, 1, 2, MtChimney_EventScript_22F06E, 927, 0, 0 + object_event 4, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 32, 5, 3, 9, 0, 0, 0, 0, MtChimney_EventScript_22F0C0, 927, 0, 0 + object_event 5, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 28, 12, 3, 10, 0, 0, 0, 0, MtChimney_EventScript_22F0B7, 927, 0, 0 + object_event 6, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 19, 39, 3, 10, 0, 0, 0, 0, MtChimney_EventScript_22F05C, 926, 0, 0 + object_event 7, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 29, 5, 3, 10, 0, 0, 0, 0, MtChimney_EventScript_22F053, 926, 0, 0 + object_event 8, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 31, 12, 3, 9, 0, 0, 0, 0, MtChimney_EventScript_22F065, 926, 0, 0 + object_event 9, MAP_OBJ_GFX_OLD_WOMAN_2, 0, 0, 19, 39, 3, 10, 0, 0, 0, 0, MtChimney_EventScript_22EEF3, 994, 0, 0 + object_event 10, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 22, 39, 3, 9, 0, 0, 0, 0, MtChimney_EventScript_22F0C9, 927, 0, 0 + object_event 11, MAP_OBJ_GFX_POOCHYENA, 0, 0, 23, 19, 3, 74, 0, 0, 0, 0, MtChimney_EventScript_22F0DB, 926, 0, 0 + object_event 12, MAP_OBJ_GFX_POOCHYENA, 0, 0, 23, 18, 3, 64, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, 927, 0, 0 + object_event 13, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 23, 17, 3, 8, 0, 0, 0, 0, MtChimney_EventScript_22F0A5, 927, 0, 0 + object_event 14, MAP_OBJ_GFX_POOCHYENA, 0, 0, 23, 20, 3, 65, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, 927, 0, 0 + object_event 15, MAP_OBJ_GFX_POOCHYENA, 0, 0, 22, 19, 3, 67, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, 927, 0, 0 + object_event 16, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 23, 21, 3, 7, 0, 0, 0, 0, MtChimney_EventScript_22F0AE, 927, 0, 0 + object_event 17, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 21, 19, 3, 10, 0, 0, 0, 0, MtChimney_EventScript_22F09C, 927, 0, 0 + object_event 18, MAP_OBJ_GFX_POOCHYENA, 0, 0, 30, 12, 3, 66, 0, 0, 0, 0, MtChimney_EventScript_22F0DB, 926, 0, 0 + object_event 19, MAP_OBJ_GFX_POOCHYENA, 0, 0, 29, 12, 3, 67, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, 927, 0, 0 + object_event 20, MAP_OBJ_GFX_POOCHYENA, 0, 0, 30, 5, 3, 67, 0, 0, 0, 0, MtChimney_EventScript_22F0DB, 926, 0, 0 + object_event 21, MAP_OBJ_GFX_POOCHYENA, 0, 0, 31, 5, 3, 66, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, 927, 0, 0 + object_event 22, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 9, 16, 3, 10, 0, 0, 1, 3, MtChimney_EventScript_22F085, 927, 0, 0 + object_event 23, MAP_OBJ_GFX_POOCHYENA, 0, 0, 20, 39, 3, 67, 0, 0, 0, 0, MtChimney_EventScript_22F0DB, 926, 0, 0 + object_event 24, MAP_OBJ_GFX_POOCHYENA, 0, 0, 21, 39, 3, 66, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, 927, 0, 0 + object_event 25, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 16, 18, 3, 13, 0, 0, 1, 3, MtChimney_EventScript_22F14A, 877, 0, 0 + object_event 26, MAP_OBJ_GFX_BEAUTY, 0, 0, 14, 7, 3, 70, 0, 0, 1, 6, MtChimney_EventScript_22F1AC, 877, 0, 0 + object_event 27, MAP_OBJ_GFX_BEAUTY, 0, 0, 29, 7, 3, 17, 17, 0, 1, 3, MtChimney_EventScript_22F1C3, 877, 0, 0 + object_event 28, MAP_OBJ_GFX_BEAUTY, 0, 0, 27, 17, 3, 16, 17, 0, 1, 3, MtChimney_EventScript_22F1DA, 877, 0, 0 + object_event 29, MAP_OBJ_GFX_MAGMA_MEMBER_F, 0, 0, 13, 16, 3, 9, 17, 0, 1, 3, MtChimney_EventScript_22F1F1, 927, 0, 0 + object_event 30, MAP_OBJ_GFX_HIKER, 0, 0, 7, 7, 3, 10, 17, 0, 1, 6, MtChimney_EventScript_22F208, 877, 0, 0 + +MtChimney_MapWarps: @ 8534A98 + warp_def 17, 36, 0, 0, MT_CHIMNEY_CABLE_CAR_STATION + warp_def 18, 36, 0, 1, MT_CHIMNEY_CABLE_CAR_STATION + warp_def 20, 41, 3, 2, JAGGED_PASS + warp_def 21, 41, 3, 3, JAGGED_PASS + +MtChimney_MapBGEvents: @ 8534AB8 + bg_event 14, 6, 0, 0, 0, MtChimney_EventScript_22F0E4 + bg_event 24, 37, 3, 0, 0, MtChimney_EventScript_22F141 + +MtChimney_MapEvents:: @ 8534AD0 + map_events MtChimney_MapObjects, MtChimney_MapWarps, 0x0, MtChimney_MapBGEvents + diff --git a/data/maps/events/MtChimney_CableCarStation.inc b/data/maps/events/MtChimney_CableCarStation.inc new file mode 100644 index 0000000000..deb7541570 --- /dev/null +++ b/data/maps/events/MtChimney_CableCarStation.inc @@ -0,0 +1,11 @@ +MtChimney_CableCarStation_MapObjects: @ 8533CA8 + object_event 1, MAP_OBJ_GFX_BEAUTY, 0, 0, 6, 6, 3, 8, 0, 0, 0, 0, MtChimney_CableCarStation_EventScript_22AC4B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_CABLE_CAR, 0, 0, 6, 3, 3, 1, 0, 0, 0, 0, 0x0, 0, 0, 0 + +MtChimney_CableCarStation_MapWarps: @ 8533CD8 + warp_def 6, 11, 0, 0, MT_CHIMNEY + warp_def 7, 11, 0, 1, MT_CHIMNEY + +MtChimney_CableCarStation_MapEvents:: @ 8533CE8 + map_events MtChimney_CableCarStation_MapObjects, MtChimney_CableCarStation_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MtPyre_1F.inc b/data/maps/events/MtPyre_1F.inc new file mode 100644 index 0000000000..5270f92fdc --- /dev/null +++ b/data/maps/events/MtPyre_1F.inc @@ -0,0 +1,16 @@ +MtPyre_1F_MapObjects: @ 8534D64 + object_event 1, MAP_OBJ_GFX_OLD_WOMAN_2, 0, 0, 21, 2, 3, 8, 17, 0, 0, 0, MtPyre_1F_EventScript_230F3F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 17, 8, 3, 7, 17, 0, 0, 0, MtPyre_1F_EventScript_230F78, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_5, 0, 0, 13, 10, 3, 9, 17, 0, 0, 0, MtPyre_1F_EventScript_230F81, 0, 0, 0 + +MtPyre_1F_MapWarps: @ 8534DAC + warp_def 17, 18, 3, 0, ROUTE_122 + warp_def 3, 6, 3, 0, MT_PYRE_EXTERIOR + warp_def 18, 18, 3, 0, ROUTE_122 + warp_def 4, 6, 3, 0, MT_PYRE_EXTERIOR + warp_def 11, 1, 3, 0, MT_PYRE_2F + warp_def 20, 9, 3, 4, MT_PYRE_2F + +MtPyre_1F_MapEvents:: @ 8534DDC + map_events MtPyre_1F_MapObjects, MtPyre_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MtPyre_2F.inc b/data/maps/events/MtPyre_2F.inc new file mode 100644 index 0000000000..86659ac47e --- /dev/null +++ b/data/maps/events/MtPyre_2F.inc @@ -0,0 +1,20 @@ +MtPyre_2F_MapObjects: @ 8534DF0 + object_event 1, MAP_OBJ_GFX_MANIAC, 0, 0, 3, 6, 3, 10, 17, 0, 1, 2, MtPyre_2F_EventScript_231128, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 10, 3, 1, 17, 0, 0, 0, MtPyre_2F_EventScript_2912FD, 1129, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_1, 0, 0, 9, 3, 3, 10, 17, 0, 0, 0, MtPyre_2F_EventScript_231116, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MAN_3, 0, 0, 12, 10, 3, 8, 17, 0, 0, 0, MtPyre_2F_EventScript_23111F, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_WOMAN_5, 0, 0, 2, 9, 3, 8, 17, 0, 1, 1, MtPyre_2F_EventScript_23115A, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_MAN_5, 0, 0, 3, 9, 3, 8, 17, 0, 1, 1, MtPyre_2F_EventScript_23113F, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 6, 9, 3, 7, 17, 0, 1, 2, MtPyre_2F_EventScript_23118C, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_HEX_MANIAC, 0, 0, 6, 6, 3, 17, 17, 0, 1, 2, MtPyre_2F_EventScript_231175, 0, 0, 0 + +MtPyre_2F_MapWarps: @ 8534EB0 + warp_def 2, 1, 3, 4, MT_PYRE_1F + warp_def 10, 1, 3, 0, MT_PYRE_3F + warp_def 10, 12, 3, 4, MT_PYRE_3F + warp_def 6, 12, 3, 5, MT_PYRE_3F + warp_def 11, 9, 3, 5, MT_PYRE_1F + +MtPyre_2F_MapEvents:: @ 8534ED8 + map_events MtPyre_2F_MapObjects, MtPyre_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MtPyre_3F.inc b/data/maps/events/MtPyre_3F.inc new file mode 100644 index 0000000000..96dcae630c --- /dev/null +++ b/data/maps/events/MtPyre_3F.inc @@ -0,0 +1,17 @@ +MtPyre_3F_MapObjects: @ 8534EEC + object_event 1, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 1, 4, 3, 18, 17, 0, 1, 4, MtPyre_3F_EventScript_231753, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_LASS, 0, 0, 11, 4, 3, 17, 17, 0, 1, 4, MtPyre_3F_EventScript_23176A, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 7, 3, 1, 17, 0, 0, 0, MtPyre_3F_EventScript_29130A, 1120, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_3, 0, 0, 6, 4, 3, 14, 17, 0, 1, 4, MtPyre_3F_EventScript_231781, 0, 0, 0 + +MtPyre_3F_MapWarps: @ 8534F4C + warp_def 10, 1, 3, 1, MT_PYRE_2F + warp_def 2, 1, 3, 1, MT_PYRE_4F + warp_def 9, 10, 3, 4, MT_PYRE_4F + warp_def 1, 12, 3, 5, MT_PYRE_4F + warp_def 10, 12, 3, 2, MT_PYRE_2F + warp_def 6, 12, 3, 3, MT_PYRE_2F + +MtPyre_3F_MapEvents:: @ 8534F7C + map_events MtPyre_3F_MapObjects, MtPyre_3F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MtPyre_4F.inc b/data/maps/events/MtPyre_4F.inc new file mode 100644 index 0000000000..2792fa422a --- /dev/null +++ b/data/maps/events/MtPyre_4F.inc @@ -0,0 +1,15 @@ +MtPyre_4F_MapObjects: @ 8534F90 + object_event 1, MAP_OBJ_GFX_HEX_MANIAC, 0, 0, 11, 7, 3, 24, 17, 0, 1, 2, MtPyre_4F_EventScript_231C6E, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 11, 3, 1, 17, 0, 0, 0, MtPyre_4F_EventScript_291317, 1130, 0, 0 + +MtPyre_4F_MapWarps: @ 8534FC0 + warp_def 10, 1, 3, 1, MT_PYRE_5F + warp_def 2, 5, 3, 1, MT_PYRE_3F + warp_def 12, 10, 3, 3, MT_PYRE_5F + warp_def 12, 12, 3, 4, MT_PYRE_5F + warp_def 9, 10, 3, 2, MT_PYRE_3F + warp_def 2, 12, 3, 3, MT_PYRE_3F + +MtPyre_4F_MapEvents:: @ 8534FF0 + map_events MtPyre_4F_MapObjects, MtPyre_4F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MtPyre_5F.inc b/data/maps/events/MtPyre_5F.inc new file mode 100644 index 0000000000..f92f779653 --- /dev/null +++ b/data/maps/events/MtPyre_5F.inc @@ -0,0 +1,14 @@ +MtPyre_5F_MapObjects: @ 8535004 + object_event 1, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 3, 7, 3, 17, 17, 0, 1, 2, MtPyre_5F_EventScript_231BC9, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 6, 11, 3, 1, 17, 0, 0, 0, MtPyre_5F_EventScript_291324, 1052, 0, 0 + +MtPyre_5F_MapWarps: @ 8535034 + warp_def 2, 1, 3, 0, MT_PYRE_6F + warp_def 10, 5, 3, 0, MT_PYRE_4F + warp_def 1, 10, 3, 1, MT_PYRE_6F + warp_def 12, 10, 3, 2, MT_PYRE_4F + warp_def 12, 12, 3, 3, MT_PYRE_4F + +MtPyre_5F_MapEvents:: @ 853505C + map_events MtPyre_5F_MapObjects, MtPyre_5F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MtPyre_6F.inc b/data/maps/events/MtPyre_6F.inc new file mode 100644 index 0000000000..be64599819 --- /dev/null +++ b/data/maps/events/MtPyre_6F.inc @@ -0,0 +1,12 @@ +MtPyre_6F_MapObjects: @ 8535070 + object_event 1, MAP_OBJ_GFX_HEX_MANIAC, 0, 0, 6, 3, 3, 23, 17, 0, 1, 3, MtPyre_6F_EventScript_231D3B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 6, 9, 3, 1, 17, 0, 0, 0, MtPyre_6F_EventScript_291331, 1089, 0, 0 + object_event 3, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 10, 3, 3, 24, 17, 0, 1, 3, MtPyre_6F_EventScript_231D9D, 0, 0, 0 + +MtPyre_6F_MapWarps: @ 85350B8 + warp_def 2, 1, 3, 0, MT_PYRE_5F + warp_def 1, 10, 3, 2, MT_PYRE_5F + +MtPyre_6F_MapEvents:: @ 85350C8 + map_events MtPyre_6F_MapObjects, MtPyre_6F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/MtPyre_Exterior.inc b/data/maps/events/MtPyre_Exterior.inc new file mode 100644 index 0000000000..5a6101968c --- /dev/null +++ b/data/maps/events/MtPyre_Exterior.inc @@ -0,0 +1,23 @@ +MtPyre_Exterior_MapObjects: @ 85350DC + object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 27, 15, 3, 1, 0, 0, 0, 0, MtPyre_Exterior_EventScript_29133E, 1073, 0, 0 + object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 19, 40, 3, 1, 0, 0, 0, 0, MtPyre_Exterior_EventScript_29134B, 1074, 0, 0 + +MtPyre_Exterior_MapWarps: @ 853510C + warp_def 10, 42, 3, 1, MT_PYRE_1F + warp_def 19, 10, 3, 1, MT_PYRE_SUMMIT + warp_def 20, 10, 3, 1, MT_PYRE_SUMMIT + +MtPyre_Exterior_MapCoordEvents: @ 8535124 + coord_event 24, 21, 3, 0, 0, 0, 0, MtPyre_Exterior_EventScript_231FED + coord_event 25, 21, 3, 0, 0, 0, 0, MtPyre_Exterior_EventScript_231FED + coord_event 22, 27, 3, 0, 0, 0, 0, MtPyre_Exterior_EventScript_231FF2 + coord_event 23, 28, 3, 0, 0, 0, 0, MtPyre_Exterior_EventScript_231FF2 + coord_event 26, 21, 3, 0, 0, 0, 0, MtPyre_Exterior_EventScript_231FED + +MtPyre_Exterior_MapBGEvents: @ 8535174 + bg_event 9, 8, 0, 7, 0, ITEM_ULTRA_BALL, 29, 0 + bg_event 16, 22, 0, 7, 0, ITEM_MAX_ETHER, 78, 0 + +MtPyre_Exterior_MapEvents:: @ 853518C + map_events MtPyre_Exterior_MapObjects, MtPyre_Exterior_MapWarps, MtPyre_Exterior_MapCoordEvents, MtPyre_Exterior_MapBGEvents + diff --git a/data/maps/events/MtPyre_Summit.inc b/data/maps/events/MtPyre_Summit.inc new file mode 100644 index 0000000000..261721fb96 --- /dev/null +++ b/data/maps/events/MtPyre_Summit.inc @@ -0,0 +1,30 @@ +MtPyre_Summit_MapObjects: @ 85351A0 + object_event 1, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 22, 5, 3, 8, 0, 0, 0, 0, MtPyre_Summit_EventScript_23213C, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_ARCHIE, 0, 0, 23, 6, 3, 7, 0, 0, 0, 0, 0x0, 916, 0, 0 + object_event 3, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 23, 5, 3, 8, 0, 0, 0, 0, MtPyre_Summit_EventScript_2321A2, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 21, 15, 3, 10, 0, 0, 1, 3, MtPyre_Summit_EventScript_2323FD, 917, 0, 0 + object_event 5, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 25, 18, 3, 9, 0, 0, 1, 3, MtPyre_Summit_EventScript_232414, 917, 0, 0 + object_event 6, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 21, 11, 3, 10, 0, 0, 1, 3, MtPyre_Summit_EventScript_23242B, 917, 0, 0 + object_event 7, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 25, 11, 3, 9, 17, 0, 1, 3, MtPyre_Summit_EventScript_232442, 917, 0, 0 + object_event 8, MAP_OBJ_GFX_MAXIE, 0, 0, 23, 6, 3, 7, 17, 0, 0, 0, 0x0, 856, 0, 0 + +MtPyre_Summit_MapWarps: @ 8535260 + warp_def 22, 31, 3, 1, MT_PYRE_EXTERIOR + warp_def 23, 31, 3, 1, MT_PYRE_EXTERIOR + warp_def 24, 31, 3, 1, MT_PYRE_EXTERIOR + +MtPyre_Summit_MapCoordEvents: @ 8535278 + coord_event 22, 7, 3, 0, VAR_0x40B9, 0, 0, MtPyre_Summit_EventScript_232018 + coord_event 23, 7, 3, 0, VAR_0x40B9, 0, 0, MtPyre_Summit_EventScript_232024 + coord_event 24, 7, 3, 0, VAR_0x40B9, 0, 0, MtPyre_Summit_EventScript_232030 + coord_event 22, 9, 3, 0, VAR_0x40B9, 2, 0, MtPyre_Summit_EventScript_2321EC + coord_event 23, 9, 3, 0, VAR_0x40B9, 2, 0, MtPyre_Summit_EventScript_2321F8 + coord_event 24, 9, 3, 0, VAR_0x40B9, 2, 0, MtPyre_Summit_EventScript_232204 + +MtPyre_Summit_MapBGEvents: @ 85352D8 + bg_event 9, 25, 0, 7, 0, ITEM_ZINC, 79, 0 + bg_event 37, 7, 3, 7, 0, ITEM_RARE_CANDY, 80, 0 + +MtPyre_Summit_MapEvents:: @ 85352F0 + map_events MtPyre_Summit_MapObjects, MtPyre_Summit_MapWarps, MtPyre_Summit_MapCoordEvents, MtPyre_Summit_MapBGEvents + diff --git a/data/maps/events/NavelRock_B1F.inc b/data/maps/events/NavelRock_B1F.inc new file mode 100644 index 0000000000..541b11fcac --- /dev/null +++ b/data/maps/events/NavelRock_B1F.inc @@ -0,0 +1,7 @@ +NavelRock_B1F_MapWarps: @ 853DA94 + warp_def 4, 3, 3, 0, NAVEL_ROCK_ENTRANCE + warp_def 18, 9, 3, 1, NAVEL_ROCK_FORK + +NavelRock_B1F_MapEvents:: @ 853DAA4 + map_events 0x0, NavelRock_B1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/NavelRock_Bottom.inc b/data/maps/events/NavelRock_Bottom.inc new file mode 100644 index 0000000000..6de1313e9e --- /dev/null +++ b/data/maps/events/NavelRock_Bottom.inc @@ -0,0 +1,9 @@ +NavelRock_Bottom_MapObjects: @ 853DD50 + object_event 1, MAP_OBJ_GFX_LUGIA, 0, 0, 11, 13, 0, 8, 17, 0, 0, 0, NavelRock_Bottom_EventScript_2692A2, 800, 0, 0 + +NavelRock_Bottom_MapWarps: @ 853DD68 + warp_def 14, 19, 0, 0, NAVEL_ROCK_DOWN_11 + +NavelRock_Bottom_MapEvents:: @ 853DD70 + map_events NavelRock_Bottom_MapObjects, NavelRock_Bottom_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/NavelRock_Down01.inc b/data/maps/events/NavelRock_Down01.inc new file mode 100644 index 0000000000..b644f47ad8 --- /dev/null +++ b/data/maps/events/NavelRock_Down01.inc @@ -0,0 +1,7 @@ +NavelRock_Down01_MapWarps: @ 853DBC4 + warp_def 3, 3, 3, 2, NAVEL_ROCK_FORK + warp_def 5, 5, 3, 0, NAVEL_ROCK_DOWN_02 + +NavelRock_Down01_MapEvents:: @ 853DBD4 + map_events 0x0, NavelRock_Down01_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/NavelRock_Down02.inc b/data/maps/events/NavelRock_Down02.inc new file mode 100644 index 0000000000..dfa088f49e --- /dev/null +++ b/data/maps/events/NavelRock_Down02.inc @@ -0,0 +1,7 @@ +NavelRock_Down02_MapWarps: @ 853DBE8 + warp_def 5, 5, 3, 1, NAVEL_ROCK_DOWN_01 + warp_def 3, 3, 3, 0, NAVEL_ROCK_DOWN_03 + +NavelRock_Down02_MapEvents:: @ 853DBF8 + map_events 0x0, NavelRock_Down02_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/NavelRock_Down03.inc b/data/maps/events/NavelRock_Down03.inc new file mode 100644 index 0000000000..723bc8934b --- /dev/null +++ b/data/maps/events/NavelRock_Down03.inc @@ -0,0 +1,7 @@ +NavelRock_Down03_MapWarps: @ 853DC0C + warp_def 3, 3, 3, 1, NAVEL_ROCK_DOWN_02 + warp_def 5, 5, 3, 0, NAVEL_ROCK_DOWN_04 + +NavelRock_Down03_MapEvents:: @ 853DC1C + map_events 0x0, NavelRock_Down03_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/NavelRock_Down04.inc b/data/maps/events/NavelRock_Down04.inc new file mode 100644 index 0000000000..9f51486111 --- /dev/null +++ b/data/maps/events/NavelRock_Down04.inc @@ -0,0 +1,7 @@ +NavelRock_Down04_MapWarps: @ 853DC30 + warp_def 5, 5, 3, 1, NAVEL_ROCK_DOWN_03 + warp_def 3, 3, 3, 0, NAVEL_ROCK_DOWN_05 + +NavelRock_Down04_MapEvents:: @ 853DC40 + map_events 0x0, NavelRock_Down04_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/NavelRock_Down05.inc b/data/maps/events/NavelRock_Down05.inc new file mode 100644 index 0000000000..df8981e2af --- /dev/null +++ b/data/maps/events/NavelRock_Down05.inc @@ -0,0 +1,7 @@ +NavelRock_Down05_MapWarps: @ 853DC54 + warp_def 3, 3, 3, 1, NAVEL_ROCK_DOWN_04 + warp_def 5, 5, 3, 0, NAVEL_ROCK_DOWN_06 + +NavelRock_Down05_MapEvents:: @ 853DC64 + map_events 0x0, NavelRock_Down05_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/NavelRock_Down06.inc b/data/maps/events/NavelRock_Down06.inc new file mode 100644 index 0000000000..c32dc9500b --- /dev/null +++ b/data/maps/events/NavelRock_Down06.inc @@ -0,0 +1,7 @@ +NavelRock_Down06_MapWarps: @ 853DC78 + warp_def 5, 5, 3, 1, NAVEL_ROCK_DOWN_05 + warp_def 3, 3, 3, 0, NAVEL_ROCK_DOWN_07 + +NavelRock_Down06_MapEvents:: @ 853DC88 + map_events 0x0, NavelRock_Down06_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/NavelRock_Down07.inc b/data/maps/events/NavelRock_Down07.inc new file mode 100644 index 0000000000..35191f0baf --- /dev/null +++ b/data/maps/events/NavelRock_Down07.inc @@ -0,0 +1,7 @@ +NavelRock_Down07_MapWarps: @ 853DC9C + warp_def 3, 3, 3, 1, NAVEL_ROCK_DOWN_06 + warp_def 5, 5, 3, 0, NAVEL_ROCK_DOWN_08 + +NavelRock_Down07_MapEvents:: @ 853DCAC + map_events 0x0, NavelRock_Down07_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/NavelRock_Down08.inc b/data/maps/events/NavelRock_Down08.inc new file mode 100644 index 0000000000..a55307cfa4 --- /dev/null +++ b/data/maps/events/NavelRock_Down08.inc @@ -0,0 +1,7 @@ +NavelRock_Down08_MapWarps: @ 853DCC0 + warp_def 5, 5, 3, 1, NAVEL_ROCK_DOWN_07 + warp_def 3, 3, 3, 0, NAVEL_ROCK_DOWN_09 + +NavelRock_Down08_MapEvents:: @ 853DCD0 + map_events 0x0, NavelRock_Down08_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/NavelRock_Down09.inc b/data/maps/events/NavelRock_Down09.inc new file mode 100644 index 0000000000..7816eb358a --- /dev/null +++ b/data/maps/events/NavelRock_Down09.inc @@ -0,0 +1,7 @@ +NavelRock_Down09_MapWarps: @ 853DCE4 + warp_def 3, 3, 3, 1, NAVEL_ROCK_DOWN_08 + warp_def 5, 5, 3, 0, NAVEL_ROCK_DOWN_10 + +NavelRock_Down09_MapEvents:: @ 853DCF4 + map_events 0x0, NavelRock_Down09_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/NavelRock_Down10.inc b/data/maps/events/NavelRock_Down10.inc new file mode 100644 index 0000000000..20e7ac6cd1 --- /dev/null +++ b/data/maps/events/NavelRock_Down10.inc @@ -0,0 +1,7 @@ +NavelRock_Down10_MapWarps: @ 853DD08 + warp_def 5, 5, 3, 1, NAVEL_ROCK_DOWN_09 + warp_def 3, 3, 3, 1, NAVEL_ROCK_DOWN_11 + +NavelRock_Down10_MapEvents:: @ 853DD18 + map_events 0x0, NavelRock_Down10_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/NavelRock_Down11.inc b/data/maps/events/NavelRock_Down11.inc new file mode 100644 index 0000000000..eea34db90a --- /dev/null +++ b/data/maps/events/NavelRock_Down11.inc @@ -0,0 +1,7 @@ +NavelRock_Down11_MapWarps: @ 853DD2C + warp_def 5, 5, 3, 0, NAVEL_ROCK_BOTTOM + warp_def 3, 3, 3, 1, NAVEL_ROCK_DOWN_10 + +NavelRock_Down11_MapEvents:: @ 853DD3C + map_events 0x0, NavelRock_Down11_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/NavelRock_Entrance.inc b/data/maps/events/NavelRock_Entrance.inc new file mode 100644 index 0000000000..9d470a8640 --- /dev/null +++ b/data/maps/events/NavelRock_Entrance.inc @@ -0,0 +1,7 @@ +NavelRock_Entrance_MapWarps: @ 853DA70 + warp_def 10, 5, 3, 0, NAVEL_ROCK_B1F + warp_def 10, 26, 3, 1, NAVEL_ROCK_EXTERIOR + +NavelRock_Entrance_MapEvents:: @ 853DA80 + map_events 0x0, NavelRock_Entrance_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/NavelRock_Exterior.inc b/data/maps/events/NavelRock_Exterior.inc new file mode 100644 index 0000000000..57a6d5a6e5 --- /dev/null +++ b/data/maps/events/NavelRock_Exterior.inc @@ -0,0 +1,7 @@ +NavelRock_Exterior_MapWarps: @ 853DA00 + warp_def 10, 18, 0, 0, NAVEL_ROCK_HARBOR + warp_def 10, 10, 0, 1, NAVEL_ROCK_ENTRANCE + +NavelRock_Exterior_MapEvents:: @ 853DA10 + map_events 0x0, NavelRock_Exterior_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/NavelRock_Fork.inc b/data/maps/events/NavelRock_Fork.inc new file mode 100644 index 0000000000..4e3f5a8018 --- /dev/null +++ b/data/maps/events/NavelRock_Fork.inc @@ -0,0 +1,8 @@ +NavelRock_Fork_MapWarps: @ 853DAB8 + warp_def 4, 6, 3, 0, NAVEL_ROCK_UP_1 + warp_def 11, 79, 3, 1, NAVEL_ROCK_B1F + warp_def 22, 6, 3, 0, NAVEL_ROCK_DOWN_01 + +NavelRock_Fork_MapEvents:: @ 853DAD0 + map_events 0x0, NavelRock_Fork_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/NavelRock_Harbor.inc b/data/maps/events/NavelRock_Harbor.inc new file mode 100644 index 0000000000..eab9c8fc66 --- /dev/null +++ b/data/maps/events/NavelRock_Harbor.inc @@ -0,0 +1,10 @@ +NavelRock_Harbor_MapObjects: @ 853DA24 + object_event 1, MAP_OBJ_GFX_SAILOR, 0, 0, 8, 5, 0, 7, 17, 0, 0, 0, NavelRock_Harbor_EventScript_2690BD, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SS_TIDAL, 0, 0, 8, 7, 1, 10, 17, 0, 0, 0, 0x0, 0, 0, 0 + +NavelRock_Harbor_MapWarps: @ 853DA54 + warp_def 8, 2, 0, 0, NAVEL_ROCK_EXTERIOR + +NavelRock_Harbor_MapEvents:: @ 853DA5C + map_events NavelRock_Harbor_MapObjects, NavelRock_Harbor_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/NavelRock_Top.inc b/data/maps/events/NavelRock_Top.inc new file mode 100644 index 0000000000..6fb99be16a --- /dev/null +++ b/data/maps/events/NavelRock_Top.inc @@ -0,0 +1,15 @@ +NavelRock_Top_MapObjects: @ 853DB74 + object_event 1, MAP_OBJ_GFX_HOOH, 0, 0, 12, 4, 0, 8, 17, 0, 0, 0, 0x0, 801, 0, 0 + +NavelRock_Top_MapWarps: @ 853DB8C + warp_def 13, 20, 3, 1, NAVEL_ROCK_UP_4 + +NavelRock_Top_MapCoordEvents: @ 853DB94 + coord_event 12, 10, 3, 0, VAR_0x4001, 0, 0, NavelRock_Top_EventScript_26916F + +NavelRock_Top_MapBGEvents: @ 853DBA4 + bg_event 12, 9, 3, 7, 0, ITEM_SACRED_ASH, 109, 0 + +NavelRock_Top_MapEvents:: @ 853DBB0 + map_events NavelRock_Top_MapObjects, NavelRock_Top_MapWarps, NavelRock_Top_MapCoordEvents, NavelRock_Top_MapBGEvents + diff --git a/data/maps/events/NavelRock_Up1.inc b/data/maps/events/NavelRock_Up1.inc new file mode 100644 index 0000000000..292278a856 --- /dev/null +++ b/data/maps/events/NavelRock_Up1.inc @@ -0,0 +1,7 @@ +NavelRock_Up1_MapWarps: @ 853DAE4 + warp_def 5, 5, 3, 0, NAVEL_ROCK_FORK + warp_def 3, 3, 3, 0, NAVEL_ROCK_UP_2 + +NavelRock_Up1_MapEvents:: @ 853DAF4 + map_events 0x0, NavelRock_Up1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/NavelRock_Up2.inc b/data/maps/events/NavelRock_Up2.inc new file mode 100644 index 0000000000..55c4b4315e --- /dev/null +++ b/data/maps/events/NavelRock_Up2.inc @@ -0,0 +1,7 @@ +NavelRock_Up2_MapWarps: @ 853DB08 + warp_def 3, 3, 3, 1, NAVEL_ROCK_UP_1 + warp_def 5, 5, 3, 0, NAVEL_ROCK_UP_3 + +NavelRock_Up2_MapEvents:: @ 853DB18 + map_events 0x0, NavelRock_Up2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/NavelRock_Up3.inc b/data/maps/events/NavelRock_Up3.inc new file mode 100644 index 0000000000..c67cc7b179 --- /dev/null +++ b/data/maps/events/NavelRock_Up3.inc @@ -0,0 +1,7 @@ +NavelRock_Up3_MapWarps: @ 853DB2C + warp_def 5, 5, 3, 1, NAVEL_ROCK_UP_2 + warp_def 3, 3, 3, 0, NAVEL_ROCK_UP_4 + +NavelRock_Up3_MapEvents:: @ 853DB3C + map_events 0x0, NavelRock_Up3_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/NavelRock_Up4.inc b/data/maps/events/NavelRock_Up4.inc new file mode 100644 index 0000000000..c1091ae52a --- /dev/null +++ b/data/maps/events/NavelRock_Up4.inc @@ -0,0 +1,7 @@ +NavelRock_Up4_MapWarps: @ 853DB50 + warp_def 3, 3, 3, 1, NAVEL_ROCK_UP_3 + warp_def 5, 5, 3, 0, NAVEL_ROCK_TOP + +NavelRock_Up4_MapEvents:: @ 853DB60 + map_events 0x0, NavelRock_Up4_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/NewMauville_Entrance.inc b/data/maps/events/NewMauville_Entrance.inc new file mode 100644 index 0000000000..876841b6d4 --- /dev/null +++ b/data/maps/events/NewMauville_Entrance.inc @@ -0,0 +1,10 @@ +NewMauville_Entrance_MapWarps: @ 8536474 + warp_def 4, 6, 3, 0, ROUTE_110 + warp_def 4, 1, 3, 0, NEW_MAUVILLE_INSIDE + +NewMauville_Entrance_MapCoordEvents: @ 8536484 + coord_event 4, 2, 3, 0, VAR_0x40BA, 0, 0, NewMauville_Entrance_EventScript_2372FF + +NewMauville_Entrance_MapEvents:: @ 8536494 + map_events 0x0, NewMauville_Entrance_MapWarps, NewMauville_Entrance_MapCoordEvents, 0x0 + diff --git a/data/maps/events/NewMauville_Inside.inc b/data/maps/events/NewMauville_Inside.inc new file mode 100644 index 0000000000..74255c7637 --- /dev/null +++ b/data/maps/events/NewMauville_Inside.inc @@ -0,0 +1,38 @@ +NewMauville_Inside_MapObjects: @ 85364A8 + object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 32, 25, 3, 1, 0, 0, 0, 0, NewMauville_Inside_EventScript_2911EC, 1075, 0, 0 + object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 16, 22, 3, 1, 0, 0, 0, 0, NewMauville_Inside_EventScript_2911F9, 1076, 0, 0 + object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 39, 4, 3, 1, 17, 0, 0, 0, NewMauville_Inside_EventScript_291206, 1110, 0, 0 + object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 17, 10, 3, 1, 17, 0, 0, 0, NewMauville_Inside_EventScript_291213, 1122, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 2, 11, 3, 1, 17, 0, 0, 0, NewMauville_Inside_EventScript_291220, 1123, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 25, 18, 3, 1, 17, 0, 0, 0, NewMauville_Inside_EventScript_2377AF, 974, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 6, 11, 3, 1, 17, 0, 0, 0, NewMauville_Inside_EventScript_2377FC, 975, 0, 0 + object_event 8, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 13, 10, 3, 1, 17, 0, 0, 0, NewMauville_Inside_EventScript_237849, 976, 0, 0 + +NewMauville_Inside_MapWarps: @ 8536568 + warp_def 32, 33, 3, 1, NEW_MAUVILLE_ENTRANCE + +NewMauville_Inside_MapCoordEvents: @ 8536570 + coord_event 30, 38, 3, 0, VAR_0x4001, 0, 0, NewMauville_Inside_EventScript_237459 + coord_event 18, 36, 3, 0, VAR_0x4002, 0, 0, NewMauville_Inside_EventScript_237471 + coord_event 4, 26, 3, 0, VAR_0x4001, 0, 0, NewMauville_Inside_EventScript_237459 + coord_event 16, 22, 3, 0, VAR_0x4001, 0, 0, NewMauville_Inside_EventScript_237459 + coord_event 25, 18, 3, 0, VAR_0x4002, 0, 0, NewMauville_Inside_EventScript_237471 + coord_event 2, 11, 3, 0, VAR_0x4002, 0, 0, NewMauville_Inside_EventScript_237471 + coord_event 6, 11, 3, 0, VAR_0x4001, 0, 0, NewMauville_Inside_EventScript_237459 + coord_event 13, 10, 3, 0, VAR_0x4001, 0, 0, NewMauville_Inside_EventScript_237459 + coord_event 17, 10, 3, 0, VAR_0x4002, 0, 0, NewMauville_Inside_EventScript_237471 + coord_event 33, 6, 3, 0, VAR_0x40BA, 1, 0, NewMauville_Inside_EventScript_237725 + +NewMauville_Inside_MapBGEvents: @ 8536610 + bg_event 32, 4, 3, 0, 0, NewMauville_Inside_EventScript_23778F + bg_event 32, 3, 3, 0, 0, NewMauville_Inside_EventScript_23778F + bg_event 32, 2, 0, 0, 0, NewMauville_Inside_EventScript_23778F + bg_event 33, 4, 3, 0, 0, NewMauville_Inside_EventScript_23778F + bg_event 34, 4, 3, 0, 0, NewMauville_Inside_EventScript_23778F + bg_event 35, 4, 3, 0, 0, NewMauville_Inside_EventScript_23778F + bg_event 35, 3, 3, 0, 0, NewMauville_Inside_EventScript_23778F + bg_event 35, 2, 0, 0, 0, NewMauville_Inside_EventScript_23778F + +NewMauville_Inside_MapEvents:: @ 8536670 + map_events NewMauville_Inside_MapObjects, NewMauville_Inside_MapWarps, NewMauville_Inside_MapCoordEvents, NewMauville_Inside_MapBGEvents + diff --git a/data/maps/events/OldaleTown.inc b/data/maps/events/OldaleTown.inc new file mode 100644 index 0000000000..2f2929eb5f --- /dev/null +++ b/data/maps/events/OldaleTown.inc @@ -0,0 +1,28 @@ +OldaleTown_MapObjects: @ 8527854 + object_event 1, MAP_OBJ_GFX_GIRL_3, 0, 0, 16, 11, 3, 9, 0, 0, 0, 0, OldaleTown_EventScript_1E8EF3, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 13, 7, 3, 8, 0, 0, 0, 0, OldaleTown_EventScript_1E8EFC, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MANIAC, 0, 0, 8, 9, 3, 10, 0, 0, 0, 0, OldaleTown_EventScript_1E901F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_HIPSTER, 0, 0, 11, 19, 3, 7, 17, 0, 0, 0, OldaleTown_EventScript_1E9070, 979, 0, 0 + +OldaleTown_MapWarps: @ 85278B4 + warp_def 5, 7, 0, 0, OLDALE_TOWN_HOUSE_1 + warp_def 15, 16, 0, 0, OLDALE_TOWN_HOUSE_2 + warp_def 6, 16, 0, 0, OLDALE_TOWN_POKEMON_CENTER_1F + warp_def 14, 6, 0, 0, OLDALE_TOWN_MART + +OldaleTown_MapCoordEvents: @ 85278D4 + coord_event 0, 10, 3, 0, VAR_0x4051, 0, 0, OldaleTown_EventScript_1E903F + coord_event 8, 19, 3, 0, VAR_0x40C7, 1, 0, OldaleTown_EventScript_1E9086 + coord_event 9, 19, 3, 0, VAR_0x40C7, 1, 0, OldaleTown_EventScript_1E90A6 + coord_event 10, 19, 3, 0, VAR_0x40C7, 1, 0, OldaleTown_EventScript_1E90C6 + +OldaleTown_MapBGEvents: @ 8527914 + bg_event 11, 9, 0, 0, 0, OldaleTown_EventScript_1E8EEA + bg_event 7, 16, 0, 1, 0, OldaleTown_EventScript_271E73 + bg_event 15, 6, 0, 1, 0, OldaleTown_EventScript_271E6A + bg_event 8, 16, 0, 1, 0, OldaleTown_EventScript_271E73 + bg_event 16, 6, 0, 1, 0, OldaleTown_EventScript_271E6A + +OldaleTown_MapEvents:: @ 8527950 + map_events OldaleTown_MapObjects, OldaleTown_MapWarps, OldaleTown_MapCoordEvents, OldaleTown_MapBGEvents + diff --git a/data/maps/events/OldaleTown_House1.inc b/data/maps/events/OldaleTown_House1.inc new file mode 100644 index 0000000000..1a8edcbc61 --- /dev/null +++ b/data/maps/events/OldaleTown_House1.inc @@ -0,0 +1,10 @@ +OldaleTown_House1_MapObjects: @ 852D7B4 + object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 6, 4, 3, 2, 17, 0, 0, 0, OldaleTown_House1_EventScript_1FBE86, 0, 0, 0 + +OldaleTown_House1_MapWarps: @ 852D7CC + warp_def 3, 8, 0, 0, OLDALE_TOWN + warp_def 4, 8, 0, 0, OLDALE_TOWN + +OldaleTown_House1_MapEvents:: @ 852D7DC + map_events OldaleTown_House1_MapObjects, OldaleTown_House1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/OldaleTown_House2.inc b/data/maps/events/OldaleTown_House2.inc new file mode 100644 index 0000000000..c86bc109c7 --- /dev/null +++ b/data/maps/events/OldaleTown_House2.inc @@ -0,0 +1,11 @@ +OldaleTown_House2_MapObjects: @ 852D7F0 + object_event 1, MAP_OBJ_GFX_WOMAN_2, 0, 0, 4, 4, 3, 10, 0, 0, 0, 0, OldaleTown_House2_EventScript_1FBF5B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 7, 4, 3, 9, 0, 0, 0, 0, OldaleTown_House2_EventScript_1FBF64, 0, 0, 0 + +OldaleTown_House2_MapWarps: @ 852D820 + warp_def 3, 7, 0, 1, OLDALE_TOWN + warp_def 4, 7, 0, 1, OLDALE_TOWN + +OldaleTown_House2_MapEvents:: @ 852D830 + map_events OldaleTown_House2_MapObjects, OldaleTown_House2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/OldaleTown_Mart.inc b/data/maps/events/OldaleTown_Mart.inc new file mode 100644 index 0000000000..6a58118c8a --- /dev/null +++ b/data/maps/events/OldaleTown_Mart.inc @@ -0,0 +1,12 @@ +OldaleTown_Mart_MapObjects: @ 852D95C + object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, OldaleTown_Mart_EventScript_1FC240, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_7, 0, 0, 5, 5, 3, 10, 0, 0, 0, 0, OldaleTown_Mart_EventScript_1FC28A, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BOY_1, 0, 0, 9, 4, 3, 3, 16, 0, 0, 0, OldaleTown_Mart_EventScript_1FC2A9, 0, 0, 0 + +OldaleTown_Mart_MapWarps: @ 852D9A4 + warp_def 3, 7, 0, 3, OLDALE_TOWN + warp_def 4, 7, 0, 3, OLDALE_TOWN + +OldaleTown_Mart_MapEvents:: @ 852D9B4 + map_events OldaleTown_Mart_MapObjects, OldaleTown_Mart_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/OldaleTown_PokemonCenter_1F.inc b/data/maps/events/OldaleTown_PokemonCenter_1F.inc new file mode 100644 index 0000000000..a6e424f276 --- /dev/null +++ b/data/maps/events/OldaleTown_PokemonCenter_1F.inc @@ -0,0 +1,14 @@ +OldaleTown_PokemonCenter_1F_MapObjects: @ 852D844 + object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, OldaleTown_PokemonCenter_1F_EventScript_1FC01A, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, OldaleTown_PokemonCenter_1F_EventScript_1FC028, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BOY_1, 0, 0, 10, 6, 3, 10, 0, 0, 0, 0, OldaleTown_PokemonCenter_1F_EventScript_1FC031, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_GIRL_3, 0, 0, 3, 7, 3, 10, 17, 0, 0, 0, OldaleTown_PokemonCenter_1F_EventScript_1FC03A, 0, 0, 0 + +OldaleTown_PokemonCenter_1F_MapWarps: @ 852D8A4 + warp_def 7, 8, 3, 2, OLDALE_TOWN + warp_def 6, 8, 3, 2, OLDALE_TOWN + warp_def 1, 6, 4, 0, OLDALE_TOWN_POKEMON_CENTER_2F + +OldaleTown_PokemonCenter_1F_MapEvents:: @ 852D8BC + map_events OldaleTown_PokemonCenter_1F_MapObjects, OldaleTown_PokemonCenter_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/OldaleTown_PokemonCenter_2F.inc b/data/maps/events/OldaleTown_PokemonCenter_2F.inc new file mode 100644 index 0000000000..d520c6bcf3 --- /dev/null +++ b/data/maps/events/OldaleTown_PokemonCenter_2F.inc @@ -0,0 +1,14 @@ +OldaleTown_PokemonCenter_2F_MapObjects: @ 852D8D0 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 3, 8, 17, 0, 0, 0, OldaleTown_PokemonCenter_2F_EventScript_27375B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, OldaleTown_PokemonCenter_2F_EventScript_273761, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 3, 8, 17, 0, 0, 0, OldaleTown_PokemonCenter_2F_EventScript_273767, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, OldaleTown_PokemonCenter_2F_EventScript_276B03, 702, 0, 0 + +OldaleTown_PokemonCenter_2F_MapWarps: @ 852D930 + warp_def 1, 6, 4, 2, OLDALE_TOWN_POKEMON_CENTER_1F + warp_def 5, 1, 3, 0, UNION_ROOM + warp_def 9, 1, 3, 0, TRADE_CENTER + +OldaleTown_PokemonCenter_2F_MapEvents:: @ 852D948 + map_events OldaleTown_PokemonCenter_2F_MapObjects, OldaleTown_PokemonCenter_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/PacifidlogTown.inc b/data/maps/events/PacifidlogTown.inc new file mode 100644 index 0000000000..1667ccc87e --- /dev/null +++ b/data/maps/events/PacifidlogTown.inc @@ -0,0 +1,21 @@ +PacifidlogTown_MapObjects: @ 8527DE8 + object_event 1, MAP_OBJ_GFX_GIRL_1, 0, 0, 10, 23, 3, 9, 0, 0, 0, 0, PacifidlogTown_EventScript_1EBACC, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_FISHERMAN, 0, 0, 11, 14, 3, 10, 0, 0, 0, 0, PacifidlogTown_EventScript_1EBAD5, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 9, 16, 3, 8, 0, 0, 0, 0, PacifidlogTown_EventScript_1EBAC3, 0, 0, 0 + +PacifidlogTown_MapWarps: @ 8527E30 + warp_def 8, 15, 0, 0, PACIFIDLOG_TOWN_POKEMON_CENTER_1F + warp_def 16, 13, 0, 0, PACIFIDLOG_TOWN_HOUSE_1 + warp_def 3, 22, 0, 0, PACIFIDLOG_TOWN_HOUSE_2 + warp_def 12, 24, 0, 0, PACIFIDLOG_TOWN_HOUSE_3 + warp_def 2, 12, 0, 0, PACIFIDLOG_TOWN_HOUSE_4 + warp_def 17, 21, 0, 0, PACIFIDLOG_TOWN_HOUSE_5 + +PacifidlogTown_MapBGEvents: @ 8527E60 + bg_event 9, 15, 0, 1, 0, PacifidlogTown_EventScript_271E73 + bg_event 7, 16, 0, 0, 0, PacifidlogTown_EventScript_1EBADE + bg_event 10, 15, 0, 1, 0, PacifidlogTown_EventScript_271E73 + +PacifidlogTown_MapEvents:: @ 8527E84 + map_events PacifidlogTown_MapObjects, PacifidlogTown_MapWarps, 0x0, PacifidlogTown_MapBGEvents + diff --git a/data/maps/events/PacifidlogTown_House1.inc b/data/maps/events/PacifidlogTown_House1.inc new file mode 100644 index 0000000000..5f2c3b9052 --- /dev/null +++ b/data/maps/events/PacifidlogTown_House1.inc @@ -0,0 +1,11 @@ +PacifidlogTown_House1_MapObjects: @ 852EBA0 + object_event 1, MAP_OBJ_GFX_MAN_6, 0, 0, 3, 5, 3, 8, 0, 0, 0, 0, PacifidlogTown_House1_EventScript_20365D, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_5, 0, 0, 6, 4, 3, 9, 0, 0, 0, 0, PacifidlogTown_House1_EventScript_203666, 0, 0, 0 + +PacifidlogTown_House1_MapWarps: @ 852EBD0 + warp_def 4, 8, 0, 1, PACIFIDLOG_TOWN + warp_def 5, 8, 0, 1, PACIFIDLOG_TOWN + +PacifidlogTown_House1_MapEvents:: @ 852EBE0 + map_events PacifidlogTown_House1_MapObjects, PacifidlogTown_House1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/PacifidlogTown_House2.inc b/data/maps/events/PacifidlogTown_House2.inc new file mode 100644 index 0000000000..743395c723 --- /dev/null +++ b/data/maps/events/PacifidlogTown_House2.inc @@ -0,0 +1,12 @@ +PacifidlogTown_House2_MapObjects: @ 852EBF4 + object_event 1, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 3, 5, 3, 8, 17, 0, 0, 0, PacifidlogTown_House2_EventScript_203792, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_AZURILL, 0, 0, 8, 6, 3, 1, 17, 0, 0, 0, PacifidlogTown_House2_EventScript_203891, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_AZURILL, 0, 0, 1, 7, 3, 1, 17, 0, 0, 0, PacifidlogTown_House2_EventScript_2038AC, 0, 0, 0 + +PacifidlogTown_House2_MapWarps: @ 852EC3C + warp_def 4, 8, 0, 2, PACIFIDLOG_TOWN + warp_def 5, 8, 0, 2, PACIFIDLOG_TOWN + +PacifidlogTown_House2_MapEvents:: @ 852EC4C + map_events PacifidlogTown_House2_MapObjects, PacifidlogTown_House2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/PacifidlogTown_House3.inc b/data/maps/events/PacifidlogTown_House3.inc new file mode 100644 index 0000000000..85d7c4f53f --- /dev/null +++ b/data/maps/events/PacifidlogTown_House3.inc @@ -0,0 +1,11 @@ +PacifidlogTown_House3_MapObjects: @ 852EC60 + object_event 1, MAP_OBJ_GFX_GIRL_2, 0, 0, 3, 5, 3, 18, 0, 0, 0, 0, PacifidlogTown_House3_EventScript_203CB5, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_4, 0, 0, 4, 2, 3, 10, 17, 0, 0, 0, PacifidlogTown_House3_EventScript_203C11, 0, 0, 0 + +PacifidlogTown_House3_MapWarps: @ 852EC90 + warp_def 4, 8, 0, 3, PACIFIDLOG_TOWN + warp_def 5, 8, 0, 3, PACIFIDLOG_TOWN + +PacifidlogTown_House3_MapEvents:: @ 852ECA0 + map_events PacifidlogTown_House3_MapObjects, PacifidlogTown_House3_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/PacifidlogTown_House4.inc b/data/maps/events/PacifidlogTown_House4.inc new file mode 100644 index 0000000000..b552a566c2 --- /dev/null +++ b/data/maps/events/PacifidlogTown_House4.inc @@ -0,0 +1,12 @@ +PacifidlogTown_House4_MapObjects: @ 852ECB4 + object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 3, 4, 3, 8, 0, 0, 0, 0, PacifidlogTown_House4_EventScript_203F55, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 7, 5, 3, 2, 17, 0, 0, 0, PacifidlogTown_House4_EventScript_203F4C, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BOY_1, 0, 0, 7, 4, 3, 2, 17, 0, 0, 0, PacifidlogTown_House4_EventScript_203F5E, 0, 0, 0 + +PacifidlogTown_House4_MapWarps: @ 852ECFC + warp_def 4, 8, 0, 4, PACIFIDLOG_TOWN + warp_def 5, 8, 0, 4, PACIFIDLOG_TOWN + +PacifidlogTown_House4_MapEvents:: @ 852ED0C + map_events PacifidlogTown_House4_MapObjects, PacifidlogTown_House4_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/PacifidlogTown_House5.inc b/data/maps/events/PacifidlogTown_House5.inc new file mode 100644 index 0000000000..e078fc6127 --- /dev/null +++ b/data/maps/events/PacifidlogTown_House5.inc @@ -0,0 +1,11 @@ +PacifidlogTown_House5_MapObjects: @ 852ED20 + object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 9, 4, 3, 10, 0, 0, 0, 0, PacifidlogTown_House5_EventScript_204111, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 3, 4, 3, 10, 0, 0, 0, 0, PacifidlogTown_House5_EventScript_204137, 0, 0, 0 + +PacifidlogTown_House5_MapWarps: @ 852ED50 + warp_def 4, 8, 0, 5, PACIFIDLOG_TOWN + warp_def 5, 8, 0, 5, PACIFIDLOG_TOWN + +PacifidlogTown_House5_MapEvents:: @ 852ED60 + map_events PacifidlogTown_House5_MapObjects, PacifidlogTown_House5_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/PacifidlogTown_PokemonCenter_1F.inc b/data/maps/events/PacifidlogTown_PokemonCenter_1F.inc new file mode 100644 index 0000000000..3a28af3723 --- /dev/null +++ b/data/maps/events/PacifidlogTown_PokemonCenter_1F.inc @@ -0,0 +1,15 @@ +PacifidlogTown_PokemonCenter_1F_MapObjects: @ 852EA70 + object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, PacifidlogTown_PokemonCenter_1F_EventScript_2034B6, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 10, 6, 3, 9, 0, 0, 0, 0, PacifidlogTown_PokemonCenter_1F_EventScript_2034D6, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_GIRL_2, 0, 0, 2, 2, 3, 7, 0, 0, 0, 0, PacifidlogTown_PokemonCenter_1F_EventScript_2034C4, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_1, 0, 0, 4, 5, 3, 1, 17, 0, 0, 0, PacifidlogTown_PokemonCenter_1F_EventScript_2034CD, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_MAN_6, 0, 0, 12, 8, 3, 7, 0, 0, 0, 0, PacifidlogTown_PokemonCenter_1F_EventScript_2C82BE, 0, 0, 0 + +PacifidlogTown_PokemonCenter_1F_MapWarps: @ 852EAE8 + warp_def 7, 8, 3, 0, PACIFIDLOG_TOWN + warp_def 6, 8, 3, 0, PACIFIDLOG_TOWN + warp_def 1, 6, 4, 0, PACIFIDLOG_TOWN_POKEMON_CENTER_2F + +PacifidlogTown_PokemonCenter_1F_MapEvents:: @ 852EB00 + map_events PacifidlogTown_PokemonCenter_1F_MapObjects, PacifidlogTown_PokemonCenter_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/PacifidlogTown_PokemonCenter_2F.inc b/data/maps/events/PacifidlogTown_PokemonCenter_2F.inc new file mode 100644 index 0000000000..2ae1cc4809 --- /dev/null +++ b/data/maps/events/PacifidlogTown_PokemonCenter_2F.inc @@ -0,0 +1,14 @@ +PacifidlogTown_PokemonCenter_2F_MapObjects: @ 852EB14 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, PacifidlogTown_PokemonCenter_2F_EventScript_27375B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, PacifidlogTown_PokemonCenter_2F_EventScript_273761, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, PacifidlogTown_PokemonCenter_2F_EventScript_273767, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, PacifidlogTown_PokemonCenter_2F_EventScript_276B03, 702, 0, 0 + +PacifidlogTown_PokemonCenter_2F_MapWarps: @ 852EB74 + warp_def 1, 6, 4, 2, PACIFIDLOG_TOWN_POKEMON_CENTER_1F + warp_def 5, 1, 3, 0, UNION_ROOM + warp_def 9, 1, 3, 0, TRADE_CENTER + +PacifidlogTown_PokemonCenter_2F_MapEvents:: @ 852EB8C + map_events PacifidlogTown_PokemonCenter_2F_MapObjects, PacifidlogTown_PokemonCenter_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/PetalburgCity.inc b/data/maps/events/PetalburgCity.inc new file mode 100644 index 0000000000..ad696f7ffa --- /dev/null +++ b/data/maps/events/PetalburgCity.inc @@ -0,0 +1,42 @@ +PetalburgCity_MapObjects: @ 8525FD0 + object_event 1, MAP_OBJ_GFX_WOMAN_5, 0, 0, 16, 18, 3, 2, 17, 0, 0, 0, PetalburgCity_EventScript_1DC3FD, 728, 0, 0 + object_event 2, MAP_OBJ_GFX_WALLY, 0, 0, 15, 10, 3, 7, 0, 0, 0, 0, 0x0, 726, 0, 0 + object_event 3, MAP_OBJ_GFX_BOY_1, 0, 0, 8, 22, 3, 8, 0, 0, 0, 0, PetalburgCity_EventScript_1DC3E6, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 20, 10, 3, 3, 16, 0, 0, 0, PetalburgCity_EventScript_1DC488, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_MAN_3, 0, 0, 15, 10, 3, 7, 0, 0, 0, 0, 0x0, 830, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 19, 2, 3, 1, 0, 0, 0, 0, PetalburgCity_EventScript_2910B4, 1039, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 28, 3, 1, 0, 0, 0, 0, PetalburgCity_EventScript_2910C1, 1040, 0, 0 + object_event 8, MAP_OBJ_GFX_BOY_2, 0, 0, 12, 15, 3, 1, 0, 0, 0, 0, PetalburgCity_EventScript_1DC82E, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_SCOTT, 0, 0, 13, 12, 3, 1, 17, 0, 0, 0, 0x0, 995, 0, 0 + +PetalburgCity_MapWarps: @ 85260A8 + warp_def 10, 19, 0, 0, PETALBURG_CITY_HOUSE_1 + warp_def 7, 5, 0, 0, PETALBURG_CITY_WALLYS_HOUSE + warp_def 15, 8, 0, 0, PETALBURG_CITY_GYM + warp_def 20, 16, 0, 0, PETALBURG_CITY_POKEMON_CENTER_1F + warp_def 20, 24, 0, 0, PETALBURG_CITY_HOUSE_2 + warp_def 25, 12, 0, 0, PETALBURG_CITY_MART + +PetalburgCity_MapCoordEvents: @ 85260D8 + coord_event 8, 10, 3, 0, VAR_0x4057, 0, 0, PetalburgCity_EventScript_1DC49A + coord_event 8, 11, 3, 0, VAR_0x4057, 0, 0, PetalburgCity_EventScript_1DC4A6 + coord_event 8, 12, 3, 0, VAR_0x4057, 0, 0, PetalburgCity_EventScript_1DC4B2 + coord_event 8, 13, 3, 0, VAR_0x4057, 0, 0, PetalburgCity_EventScript_1DC4BE + coord_event 4, 10, 3, 0, VAR_0x40C9, 0, 0, PetalburgCity_EventScript_1DC691 + coord_event 4, 11, 3, 0, VAR_0x40C9, 0, 0, PetalburgCity_EventScript_1DC6A7 + coord_event 4, 12, 3, 0, VAR_0x40C9, 0, 0, PetalburgCity_EventScript_1DC6BD + coord_event 4, 13, 3, 0, VAR_0x40C9, 0, 0, PetalburgCity_EventScript_1DC6D3 + +PetalburgCity_MapBGEvents: @ 8526158 + bg_event 17, 10, 0, 0, 0, PetalburgCity_EventScript_1DC476 + bg_event 26, 12, 0, 1, 0, PetalburgCity_EventScript_271E6A + bg_event 21, 16, 0, 1, 0, PetalburgCity_EventScript_271E73 + bg_event 17, 16, 0, 0, 0, PetalburgCity_EventScript_1DC47F + bg_event 22, 16, 0, 1, 0, PetalburgCity_EventScript_271E73 + bg_event 27, 12, 0, 1, 0, PetalburgCity_EventScript_271E6A + bg_event 8, 9, 0, 0, 0, PetalburgCity_EventScript_1DC491 + bg_event 11, 29, 3, 7, 0, ITEM_RARE_CANDY, 95, 0 + +PetalburgCity_MapEvents:: @ 85261B8 + map_events PetalburgCity_MapObjects, PetalburgCity_MapWarps, PetalburgCity_MapCoordEvents, PetalburgCity_MapBGEvents + diff --git a/data/maps/events/PetalburgCity_Gym.inc b/data/maps/events/PetalburgCity_Gym.inc new file mode 100644 index 0000000000..2ee8771a00 --- /dev/null +++ b/data/maps/events/PetalburgCity_Gym.inc @@ -0,0 +1,72 @@ +PetalburgCity_Gym_MapObjects: @ 852EDC8 + object_event 1, MAP_OBJ_GFX_NORMAN, 0, 0, 4, 2, 0, 8, 0, 0, 0, 0, PetalburgCity_Gym_EventScript_2049F1, 772, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_7, 0, 0, 4, 94, 3, 8, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_2054AA, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 4, 81, 3, 8, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_2053BA, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MAN_4, 0, 0, 4, 42, 3, 8, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_2053F6, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_WOMAN_7, 0, 0, 4, 55, 3, 8, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_2054E6, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_MAN_4, 0, 0, 4, 68, 3, 8, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_205432, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_WOMAN_7, 0, 0, 4, 16, 3, 8, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_205522, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_MAN_4, 0, 0, 4, 29, 3, 8, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_20546E, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_MAN_2, 0, 0, 3, 109, 3, 8, 0, 0, 0, 0, PetalburgCity_Gym_EventScript_20574F, 781, 0, 0 + object_event 10, MAP_OBJ_GFX_WALLY, 0, 0, 4, 111, 3, 7, 0, 0, 0, 0, 0x0, 866, 0, 0 + object_event 11, MAP_OBJ_GFX_MAN_3, 0, 0, 1, 7, 3, 7, 17, 0, 0, 0, 0x0, 824, 0, 0 + +PetalburgCity_Gym_MapWarps: @ 852EED0 + warp_def 4, 111, 3, 2, PETALBURG_CITY + warp_def 5, 111, 3, 2, PETALBURG_CITY + warp_def 1, 105, 3, 3, PETALBURG_CITY_GYM + warp_def 7, 85, 3, 2, PETALBURG_CITY_GYM + warp_def 6, 85, 3, 2, PETALBURG_CITY_GYM + warp_def 7, 105, 3, 6, PETALBURG_CITY_GYM + warp_def 1, 98, 3, 5, PETALBURG_CITY_GYM + warp_def 2, 98, 3, 5, PETALBURG_CITY_GYM + warp_def 1, 79, 3, 10, PETALBURG_CITY_GYM + warp_def 7, 79, 3, 12, PETALBURG_CITY_GYM + warp_def 7, 46, 3, 8, PETALBURG_CITY_GYM + warp_def 6, 46, 3, 8, PETALBURG_CITY_GYM + warp_def 1, 59, 3, 9, PETALBURG_CITY_GYM + warp_def 2, 59, 3, 9, PETALBURG_CITY_GYM + warp_def 1, 92, 3, 16, PETALBURG_CITY_GYM + warp_def 7, 92, 3, 18, PETALBURG_CITY_GYM + warp_def 7, 59, 3, 14, PETALBURG_CITY_GYM + warp_def 6, 59, 3, 14, PETALBURG_CITY_GYM + warp_def 1, 72, 3, 15, PETALBURG_CITY_GYM + warp_def 2, 72, 3, 15, PETALBURG_CITY_GYM + warp_def 7, 40, 3, 24, PETALBURG_CITY_GYM + warp_def 1, 53, 3, 26, PETALBURG_CITY_GYM + warp_def 7, 53, 3, 28, PETALBURG_CITY_GYM + warp_def 1, 66, 3, 30, PETALBURG_CITY_GYM + warp_def 1, 20, 3, 20, PETALBURG_CITY_GYM + warp_def 2, 20, 3, 20, PETALBURG_CITY_GYM + warp_def 7, 20, 3, 21, PETALBURG_CITY_GYM + warp_def 6, 20, 3, 21, PETALBURG_CITY_GYM + warp_def 1, 33, 3, 22, PETALBURG_CITY_GYM + warp_def 2, 33, 3, 22, PETALBURG_CITY_GYM + warp_def 7, 33, 3, 23, PETALBURG_CITY_GYM + warp_def 6, 33, 3, 23, PETALBURG_CITY_GYM + warp_def 7, 14, 3, 34, PETALBURG_CITY_GYM + warp_def 1, 27, 3, 36, PETALBURG_CITY_GYM + warp_def 1, 7, 3, 32, PETALBURG_CITY_GYM + warp_def 2, 7, 3, 32, PETALBURG_CITY_GYM + warp_def 7, 7, 3, 33, PETALBURG_CITY_GYM + warp_def 6, 7, 3, 33, PETALBURG_CITY_GYM + +PetalburgCity_Gym_MapBGEvents: @ 852F000 + bg_event 1, 105, 3, 0, 0, PetalburgCity_Gym_EventScript_205137 + bg_event 7, 105, 3, 0, 0, PetalburgCity_Gym_EventScript_205187 + bg_event 1, 79, 3, 0, 0, PetalburgCity_Gym_EventScript_2051BC + bg_event 7, 79, 3, 0, 0, PetalburgCity_Gym_EventScript_2051EF + bg_event 1, 92, 3, 0, 0, PetalburgCity_Gym_EventScript_205222 + bg_event 7, 92, 3, 0, 0, PetalburgCity_Gym_EventScript_205255 + bg_event 7, 40, 3, 0, 0, PetalburgCity_Gym_EventScript_205288 + bg_event 1, 53, 3, 0, 0, PetalburgCity_Gym_EventScript_2052BB + bg_event 7, 53, 3, 0, 0, PetalburgCity_Gym_EventScript_2052EE + bg_event 1, 66, 3, 0, 0, PetalburgCity_Gym_EventScript_205321 + bg_event 7, 14, 3, 0, 0, PetalburgCity_Gym_EventScript_205354 + bg_event 1, 27, 3, 0, 0, PetalburgCity_Gym_EventScript_205387 + bg_event 1, 110, 3, 1, 0, PetalburgCity_Gym_EventScript_20576E + bg_event 7, 110, 3, 1, 0, PetalburgCity_Gym_EventScript_20577E + +PetalburgCity_Gym_MapEvents:: @ 852F0A8 + map_events PetalburgCity_Gym_MapObjects, PetalburgCity_Gym_MapWarps, 0x0, PetalburgCity_Gym_MapBGEvents + diff --git a/data/maps/events/PetalburgCity_House1.inc b/data/maps/events/PetalburgCity_House1.inc new file mode 100644 index 0000000000..59ffd7eca9 --- /dev/null +++ b/data/maps/events/PetalburgCity_House1.inc @@ -0,0 +1,11 @@ +PetalburgCity_House1_MapObjects: @ 852F0BC + object_event 1, MAP_OBJ_GFX_GIRL_1, 0, 0, 7, 4, 3, 2, 34, 0, 0, 0, PetalburgCity_House1_EventScript_2077A3, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, PetalburgCity_House1_EventScript_20779A, 0, 0, 0 + +PetalburgCity_House1_MapWarps: @ 852F0EC + warp_def 3, 8, 0, 0, PETALBURG_CITY + warp_def 4, 8, 0, 0, PETALBURG_CITY + +PetalburgCity_House1_MapEvents:: @ 852F0FC + map_events PetalburgCity_House1_MapObjects, PetalburgCity_House1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/PetalburgCity_House2.inc b/data/maps/events/PetalburgCity_House2.inc new file mode 100644 index 0000000000..14ca86ab83 --- /dev/null +++ b/data/maps/events/PetalburgCity_House2.inc @@ -0,0 +1,11 @@ +PetalburgCity_House2_MapObjects: @ 852F110 + object_event 1, MAP_OBJ_GFX_WOMAN_2, 0, 0, 2, 5, 3, 2, 17, 0, 0, 0, PetalburgCity_House2_EventScript_2078F3, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 7, 5, 3, 8, 0, 0, 0, 0, PetalburgCity_House2_EventScript_2078FC, 0, 0, 0 + +PetalburgCity_House2_MapWarps: @ 852F140 + warp_def 3, 7, 0, 4, PETALBURG_CITY + warp_def 4, 7, 0, 4, PETALBURG_CITY + +PetalburgCity_House2_MapEvents:: @ 852F150 + map_events PetalburgCity_House2_MapObjects, PetalburgCity_House2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/PetalburgCity_Mart.inc b/data/maps/events/PetalburgCity_Mart.inc new file mode 100644 index 0000000000..e5f1a1d3d9 --- /dev/null +++ b/data/maps/events/PetalburgCity_Mart.inc @@ -0,0 +1,13 @@ +PetalburgCity_Mart_MapObjects: @ 852F294 + object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, PetalburgCity_Mart_EventScript_207D69, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_1, 0, 0, 9, 4, 3, 10, 0, 0, 0, 0, PetalburgCity_Mart_EventScript_207DE8, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BOY_1, 0, 0, 6, 3, 3, 8, 0, 0, 0, 0, PetalburgCity_Mart_EventScript_207DDF, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_3, 0, 0, 5, 5, 3, 10, 0, 0, 0, 0, PetalburgCity_Mart_EventScript_207DD6, 0, 0, 0 + +PetalburgCity_Mart_MapWarps: @ 852F2F4 + warp_def 3, 7, 0, 5, PETALBURG_CITY + warp_def 4, 7, 0, 5, PETALBURG_CITY + +PetalburgCity_Mart_MapEvents:: @ 852F304 + map_events PetalburgCity_Mart_MapObjects, PetalburgCity_Mart_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/PetalburgCity_PokemonCenter_1F.inc b/data/maps/events/PetalburgCity_PokemonCenter_1F.inc new file mode 100644 index 0000000000..3395f43b4b --- /dev/null +++ b/data/maps/events/PetalburgCity_PokemonCenter_1F.inc @@ -0,0 +1,15 @@ +PetalburgCity_PokemonCenter_1F_MapObjects: @ 852F164 + object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, PetalburgCity_PokemonCenter_1F_EventScript_2079FC, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_5, 0, 0, 11, 2, 3, 8, 0, 0, 0, 0, PetalburgCity_PokemonCenter_1F_EventScript_291539, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_FAT_MAN, 0, 0, 2, 3, 3, 8, 0, 0, 0, 0, PetalburgCity_PokemonCenter_1F_EventScript_207A0A, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 9, 6, 3, 2, 17, 0, 0, 0, PetalburgCity_PokemonCenter_1F_EventScript_207A13, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_WOMAN_7, 0, 0, 5, 4, 3, 1, 17, 0, 0, 0, PetalburgCity_PokemonCenter_1F_EventScript_207A1C, 0, 0, 0 + +PetalburgCity_PokemonCenter_1F_MapWarps: @ 852F1DC + warp_def 7, 8, 3, 3, PETALBURG_CITY + warp_def 6, 8, 3, 3, PETALBURG_CITY + warp_def 1, 6, 4, 0, PETALBURG_CITY_POKEMON_CENTER_2F + +PetalburgCity_PokemonCenter_1F_MapEvents:: @ 852F1F4 + map_events PetalburgCity_PokemonCenter_1F_MapObjects, PetalburgCity_PokemonCenter_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/PetalburgCity_PokemonCenter_2F.inc b/data/maps/events/PetalburgCity_PokemonCenter_2F.inc new file mode 100644 index 0000000000..5506670c57 --- /dev/null +++ b/data/maps/events/PetalburgCity_PokemonCenter_2F.inc @@ -0,0 +1,14 @@ +PetalburgCity_PokemonCenter_2F_MapObjects: @ 852F208 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, PetalburgCity_PokemonCenter_2F_EventScript_27375B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, PetalburgCity_PokemonCenter_2F_EventScript_273761, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, PetalburgCity_PokemonCenter_2F_EventScript_273767, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, PetalburgCity_PokemonCenter_2F_EventScript_276B03, 702, 0, 0 + +PetalburgCity_PokemonCenter_2F_MapWarps: @ 852F268 + warp_def 1, 6, 4, 2, PETALBURG_CITY_POKEMON_CENTER_1F + warp_def 5, 1, 3, 0, UNION_ROOM + warp_def 9, 1, 3, 0, TRADE_CENTER + +PetalburgCity_PokemonCenter_2F_MapEvents:: @ 852F280 + map_events PetalburgCity_PokemonCenter_2F_MapObjects, PetalburgCity_PokemonCenter_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/PetalburgCity_WallysHouse.inc b/data/maps/events/PetalburgCity_WallysHouse.inc new file mode 100644 index 0000000000..df04a06953 --- /dev/null +++ b/data/maps/events/PetalburgCity_WallysHouse.inc @@ -0,0 +1,11 @@ +PetalburgCity_WallysHouse_MapObjects: @ 852ED74 + object_event 1, MAP_OBJ_GFX_MAN_3, 0, 0, 3, 4, 3, 10, 0, 0, 0, 0, PetalburgCity_WallysHouse_EventScript_204278, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_5, 0, 0, 7, 5, 3, 9, 0, 0, 0, 0, PetalburgCity_WallysHouse_EventScript_2042C0, 0, 0, 0 + +PetalburgCity_WallysHouse_MapWarps: @ 852EDA4 + warp_def 3, 7, 0, 1, PETALBURG_CITY + warp_def 4, 7, 0, 1, PETALBURG_CITY + +PetalburgCity_WallysHouse_MapEvents:: @ 852EDB4 + map_events PetalburgCity_WallysHouse_MapObjects, PetalburgCity_WallysHouse_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/PetalburgWoods.inc b/data/maps/events/PetalburgWoods.inc new file mode 100644 index 0000000000..5d6c101490 --- /dev/null +++ b/data/maps/events/PetalburgWoods.inc @@ -0,0 +1,38 @@ +PetalburgWoods_MapObjects: @ 85345E4 + object_event 1, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 19, 10, 3, 1, 0, 0, 0, 0, PetalburgWoods_EventScript_2906BB, 17, 0, 0 + object_event 2, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 19, 11, 3, 1, 0, 0, 0, 0, PetalburgWoods_EventScript_2906BB, 18, 0, 0 + object_event 3, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 26, 17, 3, 10, 0, 0, 0, 0, 0x0, 725, 0, 0 + object_event 4, MAP_OBJ_GFX_MAN_2, 0, 0, 26, 20, 3, 1, 0, 0, 0, 0, 0x0, 724, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 45, 7, 3, 8, 0, 0, 0, 0, PetalburgWoods_EventScript_29110F, 1056, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 35, 20, 3, 8, 0, 0, 0, 0, PetalburgWoods_EventScript_291102, 1055, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 8, 3, 1, 0, 0, 0, 0, PetalburgWoods_EventScript_29111C, 1058, 0, 0 + object_event 8, MAP_OBJ_GFX_BOY_2, 0, 0, 15, 19, 3, 3, 33, 0, 0, 0, PetalburgWoods_EventScript_22E210, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_BUG_CATCHER, 0, 0, 7, 32, 3, 22, 0, 0, 1, 3, PetalburgWoods_EventScript_22E26D, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_BUG_CATCHER, 0, 0, 4, 14, 3, 20, 0, 0, 1, 3, PetalburgWoods_EventScript_22E284, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_BOY_3, 0, 0, 30, 34, 3, 2, 18, 0, 0, 0, PetalburgWoods_EventScript_22E219, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 26, 3, 1, 17, 0, 0, 0, PetalburgWoods_EventScript_291129, 1117, 0, 0 + object_event 13, MAP_OBJ_GFX_GIRL_2, 0, 0, 33, 5, 3, 1, 17, 0, 0, 0, PetalburgWoods_EventScript_22E222, 0, 0, 0 + +PetalburgWoods_MapWarps: @ 853471C + warp_def 14, 5, 0, 2, ROUTE_104 + warp_def 15, 5, 0, 3, ROUTE_104 + warp_def 16, 38, 0, 4, ROUTE_104 + warp_def 17, 38, 0, 5, ROUTE_104 + warp_def 36, 38, 0, 6, ROUTE_104 + warp_def 37, 38, 0, 7, ROUTE_104 + +PetalburgWoods_MapCoordEvents: @ 853474C + coord_event 26, 23, 3, 0, VAR_0x4098, 0, 0, PetalburgWoods_EventScript_22DFD7 + coord_event 27, 23, 3, 0, VAR_0x4098, 0, 0, PetalburgWoods_EventScript_22E079 + +PetalburgWoods_MapBGEvents: @ 853476C + bg_event 14, 32, 3, 0, 0, PetalburgWoods_EventScript_22E25B + bg_event 39, 35, 3, 7, 0, ITEM_POTION, 58, 0 + bg_event 26, 6, 3, 7, 0, ITEM_TINY_MUSHROOM, 59, 0 + bg_event 40, 29, 3, 7, 0, ITEM_TINY_MUSHROOM, 60, 0 + bg_event 4, 19, 3, 7, 0, ITEM_POKE_BALL, 61, 0 + bg_event 11, 8, 3, 0, 0, PetalburgWoods_EventScript_22E264 + +PetalburgWoods_MapEvents:: @ 85347B4 + map_events PetalburgWoods_MapObjects, PetalburgWoods_MapWarps, PetalburgWoods_MapCoordEvents, PetalburgWoods_MapBGEvents + diff --git a/data/maps/events/RecordCorner.inc b/data/maps/events/RecordCorner.inc new file mode 100644 index 0000000000..67c2c56da6 --- /dev/null +++ b/data/maps/events/RecordCorner.inc @@ -0,0 +1,18 @@ +RecordCorner_MapObjects: @ 8539DFC + object_event 1, MAP_OBJ_GFX_WOMAN_6, 0, 0, 10, 5, 3, 8, 0, 0, 0, 0, RecordCorner_EventScript_2774C6, 0, 0, 0 + +RecordCorner_MapWarps: @ 8539E14 + warp_def 8, 9, 3, 127, NONE + warp_def 9, 9, 3, 127, NONE + warp_def 11, 9, 3, 127, NONE + warp_def 10, 9, 3, 127, NONE + +RecordCorner_MapCoordEvents: @ 8539E34 + coord_event 6, 4, 3, 0, VAR_0x4000, 0, 0, gUnknown_0827741D + coord_event 6, 6, 3, 0, VAR_0x4000, 0, 0, gUnknown_08277447 + coord_event 13, 4, 3, 0, VAR_0x4000, 0, 0, gUnknown_08277432 + coord_event 13, 6, 3, 0, VAR_0x4000, 0, 0, gUnknown_0827745C + +RecordCorner_MapEvents:: @ 8539E74 + map_events RecordCorner_MapObjects, RecordCorner_MapWarps, RecordCorner_MapCoordEvents, 0x0 + diff --git a/data/maps/events/Route101.inc b/data/maps/events/Route101.inc new file mode 100644 index 0000000000..aa8389e292 --- /dev/null +++ b/data/maps/events/Route101.inc @@ -0,0 +1,25 @@ +Route101_MapObjects: @ 8527E98 + object_event 1, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 16, 8, 3, 1, 0, 0, 0, 0, Route101_EventScript_1EBDFB, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_PROF_BIRCH, 0, 0, 9, 13, 0, 71, 0, 0, 0, 0, 0x0, 720, 0, 0 + object_event 3, MAP_OBJ_GFX_BIRCHS_BAG, 0, 0, 7, 14, 3, 1, 0, 0, 0, 0, Route101_EventScript_1EBE16, 700, 0, 0 + object_event 4, MAP_OBJ_GFX_ZIGZAGOON_1, 0, 0, 10, 13, 0, 70, 0, 0, 0, 0, 0x0, 750, 0, 0 + object_event 5, MAP_OBJ_GFX_PROF_BIRCH, 0, 0, 5, 11, 3, 1, 0, 0, 0, 0, Route101_EventScript_272141, 897, 0, 0 + object_event 6, MAP_OBJ_GFX_BOY_2, 0, 0, 2, 13, 3, 5, 17, 0, 0, 0, Route101_EventScript_1EBE04, 991, 0, 0 + +Route101_MapCoordEvents: @ 8527F28 + coord_event 10, 19, 3, 0, VAR_0x4060, 1, 0, Route101_EventScript_1EBCDE + coord_event 11, 19, 3, 0, VAR_0x4060, 1, 0, Route101_EventScript_1EBCDE + coord_event 10, 18, 3, 0, VAR_0x4060, 2, 0, Route101_EventScript_1EBD4E + coord_event 11, 18, 3, 0, VAR_0x4060, 2, 0, Route101_EventScript_1EBD4E + coord_event 6, 16, 3, 0, VAR_0x4060, 2, 0, Route101_EventScript_1EBD64 + coord_event 6, 15, 3, 0, VAR_0x4060, 2, 0, Route101_EventScript_1EBD64 + coord_event 6, 17, 3, 0, VAR_0x4060, 2, 0, Route101_EventScript_1EBD64 + coord_event 6, 18, 3, 0, VAR_0x4060, 2, 0, Route101_EventScript_1EBD64 + coord_event 7, 13, 3, 0, VAR_0x4060, 2, 0, Route101_EventScript_1EBD7A + +Route101_MapBGEvents: @ 8527FB8 + bg_event 5, 9, 0, 0, 0, Route101_EventScript_1EBE0D + +Route101_MapEvents:: @ 8527FC4 + map_events Route101_MapObjects, 0x0, Route101_MapCoordEvents, Route101_MapBGEvents + diff --git a/data/maps/events/Route102.inc b/data/maps/events/Route102.inc new file mode 100644 index 0000000000..e128d9652d --- /dev/null +++ b/data/maps/events/Route102.inc @@ -0,0 +1,18 @@ +Route102_MapObjects: @ 8527FD8 + object_event 1, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 18, 11, 3, 1, 0, 0, 0, 0, Route102_EventScript_1EC0E1, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 33, 14, 3, 8, 0, 0, 1, 3, Route102_EventScript_1EC105, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BUG_CATCHER, 0, 0, 25, 15, 3, 7, 0, 0, 1, 2, Route102_EventScript_1EC1B3, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_LASS, 0, 0, 8, 7, 3, 18, 0, 0, 1, 3, Route102_EventScript_1EC1CA, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_BOY_1, 0, 0, 37, 4, 3, 2, 17, 0, 0, 0, Route102_EventScript_1EC0FC, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 11, 15, 3, 8, 0, 0, 0, 0, Route102_EventScript_290CD8, 1000, 0, 0 + object_event 7, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 24, 2, 3, 12, 0, 0, 0, 2, BerryTreeScript, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 25, 2, 3, 12, 0, 0, 0, 1, BerryTreeScript, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 19, 4, 3, 8, 17, 0, 1, 3, Route102_EventScript_1EC1E1, 0, 0, 0 + +Route102_MapBGEvents: @ 85280B0 + bg_event 17, 2, 0, 0, 0, Route102_EventScript_1EC0F3 + bg_event 40, 9, 0, 0, 0, Route102_EventScript_1EC0EA + +Route102_MapEvents:: @ 85280C8 + map_events Route102_MapObjects, 0x0, 0x0, Route102_MapBGEvents + diff --git a/data/maps/events/Route103.inc b/data/maps/events/Route103.inc new file mode 100644 index 0000000000..0b1bae04ae --- /dev/null +++ b/data/maps/events/Route103.inc @@ -0,0 +1,31 @@ +Route103_MapObjects: @ 85280DC + object_event 1, MAP_OBJ_GFX_MAN_4, 0, 0, 49, 12, 3, 9, 0, 0, 0, 0, Route103_EventScript_1EC5E2, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 10, 3, 3, 10, 0, 0, 0, 0, Route103_EventScript_1EC3C1, 723, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_3, 0, 0, 71, 11, 3, 18, 0, 0, 1, 3, Route103_EventScript_1EC5F4, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 65, 12, 3, 8, 0, 0, 1, 1, Route103_EventScript_1EC66E, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 64, 12, 3, 8, 0, 0, 1, 1, Route103_EventScript_1EC60B, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_FISHERMAN, 0, 0, 50, 8, 3, 26, 16, 0, 1, 3, Route103_EventScript_1EC6D1, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 58, 5, 3, 12, 0, 0, 0, 5, BerryTreeScript, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 59, 5, 3, 12, 0, 0, 0, 6, BerryTreeScript, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 60, 5, 3, 12, 0, 0, 0, 7, BerryTreeScript, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_BOY_1, 0, 0, 20, 10, 3, 2, 33, 0, 0, 0, Route103_EventScript_1EC5D9, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_PROF_BIRCH, 0, 0, 7, 3, 3, 2, 17, 0, 0, 0, Route103_EventScript_272141, 898, 0, 0 + object_event 12, MAP_OBJ_GFX_MAN_3, 0, 0, 56, 13, 3, 10, 0, 0, 1, 5, Route103_EventScript_1EC6E8, 0, 0, 0 + object_event 13, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 50, 5, 3, 1, 17, 0, 0, 0, Route103_EventScript_290CE5, 1114, 0, 0 + object_event 14, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 67, 7, 3, 1, 17, 0, 0, 0, Route103_EventScript_2906BB, 18, 0, 0 + object_event 15, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 72, 8, 3, 1, 17, 0, 0, 0, Route103_EventScript_2906BB, 19, 0, 0 + object_event 16, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 67, 5, 3, 8, 17, 0, 1, 2, Route103_EventScript_1EC761, 0, 0, 0 + object_event 17, MAP_OBJ_GFX_MAN_6, 0, 0, 67, 9, 3, 7, 17, 0, 1, 2, Route103_EventScript_1EC74A, 0, 0, 0 + object_event 18, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 36, 6, 1, 26, 49, 0, 1, 5, Route103_EventScript_1EC78F, 0, 0, 0 + object_event 19, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 36, 13, 1, 25, 49, 0, 1, 5, Route103_EventScript_1EC778, 0, 0, 0 + object_event 20, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 64, 7, 0, 1, 17, 0, 0, 0, Route103_EventScript_290CF2, 1137, 0, 0 + +Route103_MapWarps: @ 85282BC + warp_def 45, 6, 0, 0, ALTERING_CAVE + +Route103_MapBGEvents: @ 85282C4 + bg_event 11, 9, 0, 0, 0, Route103_EventScript_1EC5EB + +Route103_MapEvents:: @ 85282D0 + map_events Route103_MapObjects, Route103_MapWarps, 0x0, Route103_MapBGEvents + diff --git a/data/maps/events/Route104.inc b/data/maps/events/Route104.inc new file mode 100644 index 0000000000..2913f96c4f --- /dev/null +++ b/data/maps/events/Route104.inc @@ -0,0 +1,64 @@ +Route104_MapObjects: @ 85282E4 + object_event 1, MAP_OBJ_GFX_BUG_CATCHER, 0, 0, 15, 60, 3, 9, 0, 0, 0, 0, Route104_EventScript_1ED00F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GIRL_2, 0, 0, 25, 49, 3, 2, 17, 0, 0, 0, Route104_EventScript_1ED006, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_LASS, 0, 0, 31, 24, 3, 9, 0, 0, 1, 7, Route104_EventScript_1ED38D, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BOY_1, 0, 0, 27, 63, 3, 3, 16, 0, 0, 0, Route104_EventScript_1ED045, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_WOMAN_3, 0, 0, 30, 50, 3, 2, 17, 0, 0, 0, Route104_EventScript_1ED04E, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_GIRL_3, 0, 0, 28, 74, 3, 7, 0, 0, 0, 0, Route104_EventScript_1ED090, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_MR_BRINEYS_BOAT, 0, 0, 12, 54, 1, 7, 0, 0, 0, 0, 0x0, 742, 0, 0 + object_event 8, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 12, 51, 4, 10, 0, 0, 0, 0, 0x0, 738, 0, 0 + object_event 9, MAP_OBJ_GFX_FISHERMAN, 0, 0, 29, 8, 3, 8, 0, 0, 1, 0, Route104_EventScript_1ED35F, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 34, 6, 3, 12, 0, 0, 0, 8, BerryTreeScript, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 35, 6, 3, 12, 0, 0, 0, 9, BerryTreeScript, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 36, 6, 3, 12, 0, 0, 0, 10, BerryTreeScript, 0, 0, 0 + object_event 13, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 22, 41, 3, 12, 0, 0, 0, 11, BerryTreeScript, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 23, 41, 3, 12, 0, 0, 0, 12, BerryTreeScript, 0, 0, 0 + object_event 15, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 24, 41, 3, 12, 0, 0, 0, 13, BerryTreeScript, 0, 0, 0 + object_event 16, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 37, 8, 3, 9, 17, 0, 0, 0, Route104_EventScript_1ECF8C, 0, 0, 0 + object_event 17, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 3, 22, 3, 12, 0, 0, 0, 3, BerryTreeScript, 0, 0, 0 + object_event 18, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 3, 23, 3, 12, 0, 0, 0, 4, BerryTreeScript, 0, 0, 0 + object_event 19, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 3, 24, 3, 12, 0, 0, 0, 75, BerryTreeScript, 0, 0, 0 + object_event 20, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 3, 25, 3, 12, 0, 0, 0, 76, BerryTreeScript, 0, 0, 0 + object_event 21, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 39, 15, 3, 1, 0, 0, 0, 0, Route104_EventScript_290CFF, 1002, 0, 0 + object_event 22, MAP_OBJ_GFX_WOMAN_7, 0, 0, 8, 19, 3, 5, 1, 0, 0, 0, Route104_EventScript_1ECFCD, 906, 0, 0 + object_event 23, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 27, 15, 3, 8, 0, 0, 1, 1, Route104_EventScript_1ED597, 0, 0, 0 + object_event 24, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 28, 15, 3, 8, 0, 0, 1, 1, Route104_EventScript_1ED5B6, 0, 0, 0 + object_event 25, MAP_OBJ_GFX_BOY_4, 0, 0, 21, 25, 3, 23, 0, 0, 1, 3, Route104_EventScript_1ED43B, 0, 0, 0 + object_event 26, MAP_OBJ_GFX_WOMAN_3, 0, 0, 11, 44, 3, 16, 0, 0, 1, 3, Route104_EventScript_1ED4E9, 0, 0, 0 + object_event 27, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 29, 53, 3, 1, 17, 0, 0, 0, Route104_EventScript_290D0C, 1057, 0, 0 + object_event 28, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 18, 67, 3, 46, 101, 0, 1, 2, Route104_EventScript_1ED376, 0, 0, 0 + object_event 29, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 37, 22, 3, 1, 17, 0, 0, 0, Route104_EventScript_290D19, 1115, 0, 0 + object_event 30, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 35, 22, 3, 1, 17, 0, 0, 0, Route104_EventScript_2906BB, 17, 0, 0 + object_event 31, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 5, 8, 3, 1, 17, 0, 0, 0, Route104_EventScript_290D26, 1135, 0, 0 + object_event 32, MAP_OBJ_GFX_BOY_2, 0, 0, 5, 26, 3, 1, 17, 0, 0, 0, Route104_EventScript_1ED057, 0, 0, 0 + object_event 33, MAP_OBJ_GFX_FISHERMAN, 0, 0, 15, 59, 3, 9, 0, 0, 1, 0, Route104_EventScript_1ED5D5, 0, 0, 0 + object_event 34, MAP_OBJ_GFX_HIPSTER, 0, 0, 17, 50, 0, 1, 17, 0, 0, 0, Route104_EventScript_1ECC9E, 719, 0, 0 + +Route104_MapWarps: @ 8528614 + warp_def 17, 50, 0, 0, ROUTE_104_MR_BRINEYS_HOUSE + warp_def 5, 18, 0, 0, ROUTE_104_PRETTY_PETAL_FLOWER_SHOP + warp_def 10, 30, 3, 0, PETALBURG_WOODS + warp_def 11, 30, 3, 1, PETALBURG_WOODS + warp_def 10, 38, 3, 2, PETALBURG_WOODS + warp_def 11, 38, 3, 3, PETALBURG_WOODS + warp_def 32, 42, 3, 4, PETALBURG_WOODS + warp_def 33, 42, 3, 5, PETALBURG_WOODS + +Route104_MapCoordEvents: @ 8528654 + coord_event 17, 51, 3, 0, VAR_0x4063, 1, 0, Route104_EventScript_1ECCB3 + +Route104_MapBGEvents: @ 8528664 + bg_event 20, 50, 0, 0, 0, Route104_EventScript_1ED018 + bg_event 27, 66, 0, 0, 0, Route104_EventScript_1ED021 + bg_event 23, 5, 0, 0, 0, Route104_EventScript_1ED02A + bg_event 7, 20, 0, 0, 0, Route104_EventScript_1ED033 + bg_event 17, 23, 3, 0, 0, Route104_EventScript_1ED03C + bg_event 7, 6, 3, 7, 0, ITEM_SUPER_POTION, 44, 0 + bg_event 3, 9, 3, 7, 0, ITEM_POKE_BALL, 62, 0 + bg_event 14, 55, 3, 7, 0, ITEM_POTION, 37, 0 + bg_event 16, 72, 3, 7, 0, ITEM_ANTIDOTE, 85, 0 + bg_event 16, 64, 3, 7, 0, ITEM_HEART_SCALE, 88, 0 + +Route104_MapEvents:: @ 85286DC + map_events Route104_MapObjects, Route104_MapWarps, Route104_MapCoordEvents, Route104_MapBGEvents + diff --git a/data/maps/events/Route104_MrBrineysHouse.inc b/data/maps/events/Route104_MrBrineysHouse.inc new file mode 100644 index 0000000000..c643b364b9 --- /dev/null +++ b/data/maps/events/Route104_MrBrineysHouse.inc @@ -0,0 +1,11 @@ +Route104_MrBrineysHouse_MapObjects: @ 8533AD4 + object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 5, 3, 3, 50, 51, 0, 0, 0, Route104_MrBrineysHouse_EventScript_229D67, 739, 0, 0 + object_event 2, MAP_OBJ_GFX_WINGULL, 0, 0, 6, 3, 3, 8, 51, 0, 0, 0, Route104_MrBrineysHouse_EventScript_229E5D, 881, 0, 0 + +Route104_MrBrineysHouse_MapWarps: @ 8533B04 + warp_def 5, 8, 0, 0, ROUTE_104 + warp_def 6, 8, 0, 0, ROUTE_104 + +Route104_MrBrineysHouse_MapEvents:: @ 8533B14 + map_events Route104_MrBrineysHouse_MapObjects, Route104_MrBrineysHouse_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Route104_PrettyPetalFlowerShop.inc b/data/maps/events/Route104_PrettyPetalFlowerShop.inc new file mode 100644 index 0000000000..08f2390c05 --- /dev/null +++ b/data/maps/events/Route104_PrettyPetalFlowerShop.inc @@ -0,0 +1,12 @@ +Route104_PrettyPetalFlowerShop_MapObjects: @ 8533B28 + object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 0, 3, 3, 10, 0, 0, 0, 0, Route104_PrettyPetalFlowerShop_EventScript_22A373, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GIRL_3, 0, 0, 7, 3, 3, 5, 1, 0, 0, 0, Route104_PrettyPetalFlowerShop_EventScript_22A40C, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_GIRL_1, 0, 0, 11, 6, 4, 2, 34, 0, 0, 0, Route104_PrettyPetalFlowerShop_EventScript_22A442, 0, 0, 0 + +Route104_PrettyPetalFlowerShop_MapWarps: @ 8533B70 + warp_def 2, 8, 0, 1, ROUTE_104 + warp_def 3, 8, 0, 1, ROUTE_104 + +Route104_PrettyPetalFlowerShop_MapEvents:: @ 8533B80 + map_events Route104_PrettyPetalFlowerShop_MapObjects, Route104_PrettyPetalFlowerShop_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Route104_Prototype.inc b/data/maps/events/Route104_Prototype.inc new file mode 100644 index 0000000000..08976e5a89 --- /dev/null +++ b/data/maps/events/Route104_Prototype.inc @@ -0,0 +1,3 @@ +Route104_Prototype_MapEvents:: @ 853DDC0 + map_events 0x0, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/Route104_PrototypePrettyPetalFlowerShop.inc b/data/maps/events/Route104_PrototypePrettyPetalFlowerShop.inc new file mode 100644 index 0000000000..e66b3c841c --- /dev/null +++ b/data/maps/events/Route104_PrototypePrettyPetalFlowerShop.inc @@ -0,0 +1,3 @@ +Route104_PrototypePrettyPetalFlowerShop_MapEvents:: @ 853DDD4 + map_events 0x0, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/Route105.inc b/data/maps/events/Route105.inc new file mode 100644 index 0000000000..c27cff2621 --- /dev/null +++ b/data/maps/events/Route105.inc @@ -0,0 +1,20 @@ +Route105_MapObjects: @ 85286F0 + object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 19, 60, 1, 10, 0, 0, 1, 6, Route105_EventScript_1EE261, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 27, 36, 1, 27, 7, 0, 1, 3, Route105_EventScript_1EE278, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 8, 45, 1, 25, 112, 0, 1, 3, Route105_EventScript_1EE28F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 19, 9, 1, 24, 80, 0, 1, 3, Route105_EventScript_1EE2A6, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 8, 73, 3, 1, 0, 0, 0, 0, Route105_EventScript_290D33, 1003, 0, 0 + object_event 6, MAP_OBJ_GFX_HIKER, 0, 0, 17, 48, 3, 26, 112, 0, 1, 3, Route105_EventScript_1EE24A, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_MAN_6, 0, 0, 4, 54, 3, 8, 32, 0, 1, 2, Route105_EventScript_1EE2BD, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_HIKER, 0, 0, 4, 58, 3, 7, 32, 0, 1, 4, Route105_EventScript_1EE2D4, 0, 0, 0 + +Route105_MapWarps: @ 85287B0 + warp_def 9, 20, 0, 0, ISLAND_CAVE + +Route105_MapBGEvents: @ 85287B8 + bg_event 15, 68, 3, 7, 0, ITEM_HEART_SCALE, 89, 0 + bg_event 5, 56, 3, 7, 0, ITEM_BIG_PEARL, 111, 0 + +Route105_MapEvents:: @ 85287D0 + map_events Route105_MapObjects, Route105_MapWarps, 0x0, Route105_MapBGEvents + diff --git a/data/maps/events/Route106.inc b/data/maps/events/Route106.inc new file mode 100644 index 0000000000..ee4beeddde --- /dev/null +++ b/data/maps/events/Route106.inc @@ -0,0 +1,19 @@ +Route106_MapObjects: @ 85287E4 + object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 18, 5, 1, 27, 4, 0, 1, 3, Route106_EventScript_1EE493, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 29, 10, 1, 1, 0, 0, 1, 3, Route106_EventScript_1EE4AA, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_FISHERMAN, 0, 0, 51, 14, 3, 10, 0, 0, 1, 4, Route106_EventScript_1EE4C1, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_FISHERMAN, 0, 0, 65, 14, 3, 1, 0, 0, 1, 3, Route106_EventScript_1EE523, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 29, 14, 3, 1, 0, 0, 0, 0, Route106_EventScript_290D40, 1004, 0, 0 + +Route106_MapWarps: @ 852885C + warp_def 48, 16, 0, 0, GRANITE_CAVE_1F + +Route106_MapBGEvents: @ 8528864 + bg_event 41, 11, 3, 7, 0, ITEM_POKE_BALL, 63, 0 + bg_event 53, 12, 0, 7, 0, ITEM_STARDUST, 46, 0 + bg_event 68, 15, 3, 7, 0, ITEM_HEART_SCALE, 47, 0 + bg_event 59, 13, 3, 0, 0, Route106_EventScript_1EE48A + +Route106_MapEvents:: @ 8528894 + map_events Route106_MapObjects, Route106_MapWarps, 0x0, Route106_MapBGEvents + diff --git a/data/maps/events/Route107.inc b/data/maps/events/Route107.inc new file mode 100644 index 0000000000..8498a0f426 --- /dev/null +++ b/data/maps/events/Route107.inc @@ -0,0 +1,12 @@ +Route107_MapObjects: @ 85288A8 + object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 41, 10, 1, 24, 17, 0, 1, 3, Route107_EventScript_1EE595, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 23, 11, 1, 52, 38, 0, 1, 2, Route107_EventScript_1EE5AC, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 16, 7, 1, 13, 0, 0, 1, 5, Route107_EventScript_1EE60E, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 50, 11, 1, 65, 17, 0, 1, 5, Route107_EventScript_1EE625, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 33, 4, 1, 8, 17, 0, 1, 1, Route107_EventScript_1EE63C, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_TUBER_M_SWIMMING, 0, 0, 32, 4, 1, 8, 17, 0, 1, 1, Route107_EventScript_1EE657, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 50, 5, 1, 64, 17, 0, 1, 5, Route107_EventScript_1EE672, 0, 0, 0 + +Route107_MapEvents:: @ 8528950 + map_events Route107_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/Route108.inc b/data/maps/events/Route108.inc new file mode 100644 index 0000000000..340a3bd3f5 --- /dev/null +++ b/data/maps/events/Route108.inc @@ -0,0 +1,18 @@ +Route108_MapObjects: @ 8528964 + object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 52, 13, 1, 45, 51, 0, 1, 3, Route108_EventScript_1EE68A, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 35, 12, 1, 13, 17, 0, 1, 3, Route108_EventScript_1EE6B8, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 13, 13, 1, 24, 0, 0, 1, 3, Route108_EventScript_1EE6A1, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 8, 7, 1, 20, 6, 0, 1, 3, Route108_EventScript_1EE6CF, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_WOMAN_7, 0, 0, 41, 5, 3, 10, 17, 0, 1, 1, Route108_EventScript_1EE6E6, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_SAILOR, 0, 0, 43, 5, 3, 9, 17, 0, 1, 1, Route108_EventScript_1EE6FD, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 42, 4, 3, 1, 17, 0, 0, 0, Route108_EventScript_290D4D, 1139, 0, 0 + +Route108_MapWarps: @ 8528A0C + warp_def 29, 6, 3, 0, ABANDONED_SHIP_DECK + +Route108_MapBGEvents: @ 8528A14 + bg_event 38, 14, 3, 7, 0, ITEM_RARE_CANDY, 86, 0 + +Route108_MapEvents:: @ 8528A20 + map_events Route108_MapObjects, Route108_MapWarps, 0x0, Route108_MapBGEvents + diff --git a/data/maps/events/Route109.inc b/data/maps/events/Route109.inc new file mode 100644 index 0000000000..aab8c40c00 --- /dev/null +++ b/data/maps/events/Route109.inc @@ -0,0 +1,42 @@ +Route109_MapObjects: @ 8528A34 + object_event 1, MAP_OBJ_GFX_MR_BRINEYS_BOAT, 0, 0, 21, 26, 1, 7, 0, 0, 0, 0, 0x0, 744, 0, 0 + object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 21, 24, 3, 7, 0, 0, 0, 0, Route109_EventScript_1EE910, 741, 0, 0 + object_event 3, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 12, 36, 3, 10, 0, 0, 1, 5, Route109_EventScript_1EEA3D, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 25, 39, 1, 15, 0, 0, 1, 5, Route109_EventScript_1EEA54, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_SAILOR, 0, 0, 15, 17, 4, 8, 0, 0, 1, 1, Route109_EventScript_1EEA6B, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_SAILOR, 0, 0, 24, 13, 3, 9, 0, 0, 1, 6, Route109_EventScript_1EEA82, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_TUBER_M, 0, 0, 19, 10, 3, 8, 0, 0, 1, 3, Route109_EventScript_1EEA99, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_TUBER_F, 0, 0, 22, 7, 3, 80, 0, 0, 1, 4, Route109_EventScript_1EEAFB, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 11, 6, 3, 8, 0, 0, 0, 0, Route109_EventScript_1EE995, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 27, 46, 3, 1, 0, 0, 0, 0, Route109_EventScript_290D5A, 1005, 0, 0 + object_event 11, MAP_OBJ_GFX_TUBER_F, 0, 0, 29, 32, 3, 13, 0, 0, 1, 3, Route109_EventScript_1EEB74, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_TUBER_F, 0, 0, 28, 31, 3, 17, 0, 0, 1, 3, Route109_EventScript_1EEB5D, 0, 0, 0 + object_event 13, MAP_OBJ_GFX_FISHERMAN, 0, 0, 21, 56, 0, 9, 0, 0, 1, 3, Route109_EventScript_1EEB8B, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_TUBER_M, 0, 0, 24, 18, 3, 10, 17, 0, 0, 0, Route109_EventScript_1EE99E, 0, 0, 0 + object_event 15, MAP_OBJ_GFX_TUBER_F, 0, 0, 25, 18, 3, 9, 17, 0, 0, 0, Route109_EventScript_1EE9B5, 0, 0, 0 + object_event 16, MAP_OBJ_GFX_WOMAN_2, 0, 0, 30, 32, 3, 8, 17, 0, 0, 0, Route109_EventScript_1EEA06, 0, 0, 0 + object_event 17, MAP_OBJ_GFX_WOMAN_5, 0, 0, 8, 41, 3, 8, 17, 0, 1, 1, Route109_EventScript_1EEBBD, 0, 0, 0 + object_event 18, MAP_OBJ_GFX_MAN_5, 0, 0, 9, 41, 3, 8, 17, 0, 1, 1, Route109_EventScript_1EEBA2, 0, 0, 0 + object_event 19, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 33, 6, 3, 1, 17, 0, 0, 0, Route109_EventScript_1EEA0F, 0, 0, 0 + object_event 20, MAP_OBJ_GFX_ZIGZAGOON_2, 0, 0, 32, 6, 3, 1, 17, 0, 0, 0, Route109_EventScript_1EEA18, 0, 0, 0 + object_event 21, MAP_OBJ_GFX_TUBER_F, 0, 0, 17, 13, 3, 80, 17, 0, 1, 6, Route109_EventScript_1EEBEF, 0, 0, 0 + object_event 22, MAP_OBJ_GFX_TUBER_M, 0, 0, 27, 7, 3, 79, 17, 0, 1, 4, Route109_EventScript_1EEBD8, 0, 0, 0 + object_event 23, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 25, 6, 3, 1, 17, 0, 0, 0, Route109_EventScript_290D67, 1140, 0, 0 + object_event 24, MAP_OBJ_GFX_MAN_6, 0, 0, 17, 56, 3, 80, 17, 0, 1, 3, Route109_EventScript_1EEC06, 0, 0, 0 + +Route109_MapWarps: @ 8528C74 + warp_def 12, 5, 0, 0, ROUTE_109_SEASHORE_HOUSE + +Route109_MapBGEvents: @ 8528C7C + bg_event 15, 5, 0, 0, 0, Route109_EventScript_1EEA2B + bg_event 29, 10, 3, 0, 0, Route109_EventScript_1EEA34 + bg_event 16, 23, 3, 7, 0, ITEM_REVIVE, 50, 0 + bg_event 33, 5, 3, 7, 0, ITEM_HEART_SCALE, 52, 0 + bg_event 9, 10, 3, 7, 0, ITEM_GREAT_BALL, 51, 0 + bg_event 28, 20, 3, 7, 0, ITEM_ETHER, 64, 0 + bg_event 13, 16, 3, 7, 0, ITEM_HEART_SCALE, 90, 0 + bg_event 8, 42, 3, 7, 0, ITEM_HEART_SCALE, 91, 0 + +Route109_MapEvents:: @ 8528CDC + map_events Route109_MapObjects, Route109_MapWarps, 0x0, Route109_MapBGEvents + diff --git a/data/maps/events/Route109_SeashoreHouse.inc b/data/maps/events/Route109_SeashoreHouse.inc new file mode 100644 index 0000000000..1e2332451f --- /dev/null +++ b/data/maps/events/Route109_SeashoreHouse.inc @@ -0,0 +1,13 @@ +Route109_SeashoreHouse_MapObjects: @ 853DDE8 + object_event 1, MAP_OBJ_GFX_MAN_3, 0, 0, 6, 2, 3, 8, 0, 0, 0, 0, Route109_SeashoreHouse_EventScript_2693FE, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SAILOR, 0, 0, 2, 3, 3, 8, 0, 0, 1, 2, Route109_SeashoreHouse_EventScript_2694E2, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TUBER_M, 0, 0, 14, 9, 3, 9, 0, 0, 1, 2, Route109_SeashoreHouse_EventScript_269518, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BEAUTY, 0, 0, 10, 5, 3, 14, 0, 0, 1, 2, Route109_SeashoreHouse_EventScript_2694FD, 0, 0, 0 + +Route109_SeashoreHouse_MapWarps: @ 853DE48 + warp_def 6, 9, 0, 0, ROUTE_109 + warp_def 7, 9, 0, 0, ROUTE_109 + +Route109_SeashoreHouse_MapEvents:: @ 853DE58 + map_events Route109_SeashoreHouse_MapObjects, Route109_SeashoreHouse_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Route110.inc b/data/maps/events/Route110.inc new file mode 100644 index 0000000000..2b8e1571dd --- /dev/null +++ b/data/maps/events/Route110.inc @@ -0,0 +1,79 @@ +Route110_MapObjects: @ 8528CF0 + object_event 1, MAP_OBJ_GFX_CAMPER, 0, 0, 17, 90, 3, 8, 0, 0, 0, 0, Route110_EventScript_1EF338, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 0, 29, 79, 4, 8, 0, 0, 0, 0, Route110_EventScript_1EF32F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 14, 69, 3, 3, 16, 0, 0, 0, Route110_EventScript_1EF326, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 0, 9, 57, 4, 2, 17, 0, 0, 0, Route110_EventScript_1EF314, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 10, 11, 3, 2, 17, 0, 0, 0, Route110_EventScript_1EF31D, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_CYCLING_TRIATHLETE_F, 0, 0, 27, 24, 4, 2, 49, 0, 0, 0, Route110_EventScript_1EF30B, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_BOY_3, 0, 0, 15, 7, 3, 2, 17, 0, 0, 0, Route110_EventScript_1EF302, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_CYCLING_TRIATHLETE_F, 0, 0, 16, 73, 4, 49, 226, 0, 1, 3, Route110_EventScript_1EF529, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 0, 19, 31, 4, 51, 26, 0, 1, 3, Route110_EventScript_1EF4B0, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_CYCLING_TRIATHLETE_F, 0, 0, 30, 31, 4, 9, 17, 0, 1, 4, Route110_EventScript_1EF540, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 0, 16, 55, 4, 45, 68, 0, 1, 3, Route110_EventScript_1EF4C7, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 3, 39, 3, 10, 0, 0, 1, 6, Route110_EventScript_1EF3F2, 0, 0, 0 + object_event 13, MAP_OBJ_GFX_LASS, 0, 0, 33, 15, 3, 9, 0, 0, 1, 1, Route110_EventScript_1EF409, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_MANIAC, 0, 0, 34, 40, 3, 67, 0, 0, 1, 4, Route110_EventScript_1EF420, 0, 0, 0 + object_event 15, MAP_OBJ_GFX_FISHERMAN, 0, 0, 10, 19, 3, 8, 0, 0, 1, 1, Route110_EventScript_1EF482, 0, 0, 0 + object_event 16, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 5, 11, 3, 12, 0, 0, 0, 16, BerryTreeScript, 0, 0, 0 + object_event 17, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 6, 11, 3, 12, 0, 0, 0, 17, BerryTreeScript, 0, 0, 0 + object_event 18, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 7, 11, 3, 12, 0, 0, 0, 18, BerryTreeScript, 0, 0, 0 + object_event 19, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 30, 69, 3, 1, 0, 0, 0, 0, Route110_EventScript_290D81, 1007, 0, 0 + object_event 20, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 26, 47, 3, 1, 0, 0, 0, 0, Route110_EventScript_290D74, 1006, 0, 0 + object_event 21, MAP_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 0, 27, 92, 3, 8, 0, 0, 0, 0, Route110_EventScript_1EF3B7, 0, 0, 0 + object_event 22, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 7, 83, 3, 7, 0, 0, 0, 0, Route110_EventScript_1EF2AA, 900, 0, 0 + object_event 23, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 8, 83, 3, 7, 0, 0, 0, 0, Route110_EventScript_1EF2C0, 900, 0, 0 + object_event 24, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 9, 83, 3, 7, 0, 0, 0, 0, Route110_EventScript_1EF2D6, 900, 0, 0 + object_event 25, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 10, 83, 3, 7, 0, 0, 0, 0, Route110_EventScript_1EF2EC, 900, 0, 0 + object_event 26, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 8, 82, 3, 8, 0, 0, 0, 0, 0x0, 900, 0, 0 + object_event 27, MAP_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 0, 21, 78, 4, 51, 23, 0, 1, 2, Route110_EventScript_1EF499, 0, 0, 0 + object_event 28, MAP_OBJ_GFX_HIPSTER, 0, 0, 34, 54, 3, 14, 0, 0, 0, 0, 0x0, 919, 0, 0 + object_event 29, MAP_OBJ_GFX_GIDDY, 0, 0, 34, 54, 3, 8, 0, 0, 0, 0, 0x0, 922, 0, 0 + object_event 30, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 33, 69, 3, 14, 0, 0, 1, 3, Route110_EventScript_1EF604, 0, 0, 0 + object_event 31, MAP_OBJ_GFX_WOMAN_2, 0, 0, 10, 76, 3, 9, 0, 0, 1, 2, Route110_EventScript_1EF5A2, 0, 0, 0 + object_event 32, MAP_OBJ_GFX_MAN_3, 0, 0, 7, 76, 3, 10, 17, 0, 1, 2, Route110_EventScript_1EF61C, 0, 0, 0 + object_event 33, MAP_OBJ_GFX_CYCLING_TRIATHLETE_F, 0, 0, 10, 39, 3, 9, 17, 0, 1, 6, Route110_EventScript_1EF64A, 0, 0, 0 + object_event 34, MAP_OBJ_GFX_MAN_6, 0, 0, 36, 40, 3, 66, 17, 0, 1, 3, Route110_EventScript_1EF633, 0, 0, 0 + object_event 35, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 6, 38, 3, 1, 17, 0, 0, 0, Route110_EventScript_290D8E, 1141, 0, 0 + object_event 36, MAP_OBJ_GFX_PROF_BIRCH, 0, 0, 9, 79, 3, 1, 17, 0, 0, 0, 0x0, 837, 0, 0 + +Route110_MapWarps: @ 8529050 + warp_def 35, 24, 3, 0, NEW_MAUVILLE_ENTRANCE + warp_def 11, 66, 0, 0, ROUTE_110_TRICK_HOUSE_ENTRANCE + warp_def 15, 16, 0, 0, ROUTE_110_SEASIDE_CYCLING_ROAD_ENTRANCE_2 + warp_def 18, 16, 0, 2, ROUTE_110_SEASIDE_CYCLING_ROAD_ENTRANCE_2 + warp_def 16, 88, 0, 0, ROUTE_110_SEASIDE_CYCLING_ROAD_ENTRANCE_1 + warp_def 19, 88, 0, 2, ROUTE_110_SEASIDE_CYCLING_ROAD_ENTRANCE_1 + +Route110_MapCoordEvents: @ 8529080 + coord_event 28, 92, 3, 0, VAR_0x40A9, 2, 0, Route110_EventScript_1EF661 + coord_event 29, 92, 3, 0, VAR_0x40A9, 2, 0, Route110_EventScript_1EF661 + coord_event 33, 56, 3, 0, VAR_0x4069, 0, 0, Route110_EventScript_1EF74D + coord_event 34, 56, 3, 0, VAR_0x4069, 0, 0, Route110_EventScript_1EF758 + coord_event 35, 56, 3, 0, VAR_0x4069, 0, 0, Route110_EventScript_1EF763 + coord_event 7, 85, 3, 0, VAR_0x40DA, 1, 0, Route110_EventScript_1EF9CB + coord_event 8, 85, 3, 0, VAR_0x40DA, 1, 0, Route110_EventScript_1EF9D6 + coord_event 9, 85, 3, 0, VAR_0x40DA, 1, 0, Route110_EventScript_1EF9E1 + coord_event 10, 85, 3, 0, VAR_0x40DA, 1, 0, Route110_EventScript_1EF9EC + +Route110_MapBGEvents: @ 8529110 + bg_event 15, 25, 0, 0, 0, Route110_EventScript_1EF353 + bg_event 9, 51, 0, 0, 0, Route110_EventScript_1EF365 + bg_event 14, 88, 0, 0, 0, Route110_EventScript_1EF34A + bg_event 20, 94, 0, 0, 0, Route110_EventScript_1EF341 + bg_event 7, 79, 0, 0, 0, Route110_EventScript_1EF35C + bg_event 3, 17, 0, 0, 0, Route110_EventScript_1EF36E + bg_event 16, 25, 0, 8, 0, ITEM_MACHO_BRACE, 0, 0 + bg_event 17, 25, 0, 8, 0, ITEM_SOUL_DEW, 0, 0 + bg_event 33, 39, 3, 0, 0, Route110_EventScript_1EF377 + bg_event 37, 70, 3, 0, 0, Route110_EventScript_1EF380 + bg_event 8, 67, 0, 0, 0, Route110_EventScript_1EF389 + bg_event 32, 93, 0, 0, 0, Route110_EventScript_1EF392 + bg_event 35, 39, 3, 7, 0, ITEM_REVIVE, 54, 0 + bg_event 33, 45, 3, 7, 0, ITEM_GREAT_BALL, 53, 0 + bg_event 4, 35, 3, 7, 0, ITEM_POKE_BALL, 65, 0 + bg_event 37, 67, 3, 7, 0, ITEM_FULL_HEAL, 55, 0 + bg_event 13, 16, 0, 0, 0, Route110_EventScript_1EF34A + +Route110_MapEvents:: @ 85291DC + map_events Route110_MapObjects, Route110_MapWarps, Route110_MapCoordEvents, Route110_MapBGEvents + diff --git a/data/maps/events/Route110_SeasideCyclingRoadEntrance1.inc b/data/maps/events/Route110_SeasideCyclingRoadEntrance1.inc new file mode 100644 index 0000000000..ec107e1763 --- /dev/null +++ b/data/maps/events/Route110_SeasideCyclingRoadEntrance1.inc @@ -0,0 +1,16 @@ +Route110_SeasideCyclingRoadEntrance1_MapObjects: @ 853E9A0 + object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, Route110_SeasideCyclingRoadEntrance1_EventScript_26EA78, 0, 0, 0 + +Route110_SeasideCyclingRoadEntrance1_MapWarps: @ 853E9B8 + warp_def 1, 5, 0, 4, ROUTE_110 + warp_def 2, 5, 0, 4, ROUTE_110 + warp_def 12, 5, 0, 5, ROUTE_110 + warp_def 13, 5, 0, 5, ROUTE_110 + +Route110_SeasideCyclingRoadEntrance1_MapCoordEvents: @ 853E9D8 + coord_event 7, 4, 3, 0, VAR_0x4001, 0, 0, Route110_SeasideCyclingRoadEntrance1_EventScript_26EA84 + coord_event 5, 4, 3, 0, VAR_0x4001, 1, 0, Route110_SeasideCyclingRoadEntrance1_EventScript_26EAB6 + +Route110_SeasideCyclingRoadEntrance1_MapEvents:: @ 853E9F8 + map_events Route110_SeasideCyclingRoadEntrance1_MapObjects, Route110_SeasideCyclingRoadEntrance1_MapWarps, Route110_SeasideCyclingRoadEntrance1_MapCoordEvents, 0x0 + diff --git a/data/maps/events/Route110_SeasideCyclingRoadEntrance2.inc b/data/maps/events/Route110_SeasideCyclingRoadEntrance2.inc new file mode 100644 index 0000000000..23b8f72532 --- /dev/null +++ b/data/maps/events/Route110_SeasideCyclingRoadEntrance2.inc @@ -0,0 +1,16 @@ +Route110_SeasideCyclingRoadEntrance2_MapObjects: @ 853EA0C + object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, Route110_SeasideCyclingRoadEntrance2_EventScript_26EBC4, 0, 0, 0 + +Route110_SeasideCyclingRoadEntrance2_MapWarps: @ 853EA24 + warp_def 1, 5, 0, 2, ROUTE_110 + warp_def 2, 5, 0, 2, ROUTE_110 + warp_def 12, 5, 0, 3, ROUTE_110 + warp_def 13, 5, 0, 3, ROUTE_110 + +Route110_SeasideCyclingRoadEntrance2_MapCoordEvents: @ 853EA44 + coord_event 7, 4, 3, 0, VAR_0x4001, 0, 0, Route110_SeasideCyclingRoadEntrance2_EventScript_26EBD0 + coord_event 5, 4, 3, 0, VAR_0x4001, 1, 0, Route110_SeasideCyclingRoadEntrance2_EventScript_26EC13 + +Route110_SeasideCyclingRoadEntrance2_MapEvents:: @ 853EA64 + map_events Route110_SeasideCyclingRoadEntrance2_MapObjects, Route110_SeasideCyclingRoadEntrance2_MapWarps, Route110_SeasideCyclingRoadEntrance2_MapCoordEvents, 0x0 + diff --git a/data/maps/events/Route110_TrickHouseCorridor.inc b/data/maps/events/Route110_TrickHouseCorridor.inc new file mode 100644 index 0000000000..eaef9c9a23 --- /dev/null +++ b/data/maps/events/Route110_TrickHouseCorridor.inc @@ -0,0 +1,9 @@ +Route110_TrickHouseCorridor_MapWarps: @ 853DF54 + warp_def 13, 3, 3, 1, ROUTE_110_TRICK_HOUSE_END + warp_def 14, 3, 3, 1, ROUTE_110_TRICK_HOUSE_END + warp_def 4, 23, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE + warp_def 5, 23, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE + +Route110_TrickHouseCorridor_MapEvents:: @ 853DF74 + map_events 0x0, Route110_TrickHouseCorridor_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Route110_TrickHouseEnd.inc b/data/maps/events/Route110_TrickHouseEnd.inc new file mode 100644 index 0000000000..42ff2196c0 --- /dev/null +++ b/data/maps/events/Route110_TrickHouseEnd.inc @@ -0,0 +1,16 @@ +Route110_TrickHouseEnd_MapObjects: @ 853DEFC + object_event 1, MAP_OBJ_GFX_MAN_1, 0, 0, 4, 5, 3, 10, 0, 0, 0, 0, Route110_TrickHouseEnd_EventScript_26AD17, 899, 0, 0 + +Route110_TrickHouseEnd_MapWarps: @ 853DF14 + warp_def 10, 1, 3, 2, ROUTE_110_TRICK_HOUSE_PUZZLE_1 + warp_def 2, 1, 3, 0, ROUTE_110_TRICK_HOUSE_CORRIDOR + +Route110_TrickHouseEnd_MapCoordEvents: @ 853DF24 + coord_event 2, 2, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHouseEnd_EventScript_26B041 + +Route110_TrickHouseEnd_MapBGEvents: @ 853DF34 + bg_event 4, 5, 3, 7, 0, ITEM_NUGGET, 1, 0 + +Route110_TrickHouseEnd_MapEvents:: @ 853DF40 + map_events Route110_TrickHouseEnd_MapObjects, Route110_TrickHouseEnd_MapWarps, Route110_TrickHouseEnd_MapCoordEvents, Route110_TrickHouseEnd_MapBGEvents + diff --git a/data/maps/events/Route110_TrickHouseEntrance.inc b/data/maps/events/Route110_TrickHouseEntrance.inc new file mode 100644 index 0000000000..a87df306b6 --- /dev/null +++ b/data/maps/events/Route110_TrickHouseEntrance.inc @@ -0,0 +1,20 @@ +Route110_TrickHouseEntrance_MapObjects: @ 853DE6C + object_event 1, MAP_OBJ_GFX_MAN_1, 0, 0, 6, 2, 3, 9, 0, 0, 0, 0, Route110_TrickHouseEntrance_EventScript_269D3B, 872, 0, 0 + +Route110_TrickHouseEntrance_MapWarps: @ 853DE84 + warp_def 5, 7, 3, 1, ROUTE_110 + warp_def 6, 7, 3, 1, ROUTE_110 + warp_def 5, 2, 3, 0, ROUTE_110_TRICK_HOUSE_PUZZLE_1 + +Route110_TrickHouseEntrance_MapCoordEvents: @ 853DE9C + coord_event 4, 7, 3, 0, VAR_0x40A5, 0, 0, Route110_TrickHouseEntrance_EventScript_26A3F8 + coord_event 5, 6, 3, 0, VAR_0x40A5, 0, 0, Route110_TrickHouseEntrance_EventScript_26A3F8 + coord_event 6, 6, 3, 0, VAR_0x40A5, 0, 0, Route110_TrickHouseEntrance_EventScript_26A3F8 + coord_event 7, 7, 3, 0, VAR_0x40A5, 0, 0, Route110_TrickHouseEntrance_EventScript_26A3F8 + +Route110_TrickHouseEntrance_MapBGEvents: @ 853DEDC + bg_event 5, 1, 0, 1, 0, Route110_TrickHouseEntrance_EventScript_26A0D3 + +Route110_TrickHouseEntrance_MapEvents:: @ 853DEE8 + map_events Route110_TrickHouseEntrance_MapObjects, Route110_TrickHouseEntrance_MapWarps, Route110_TrickHouseEntrance_MapCoordEvents, Route110_TrickHouseEntrance_MapBGEvents + diff --git a/data/maps/events/Route110_TrickHousePuzzle1.inc b/data/maps/events/Route110_TrickHousePuzzle1.inc new file mode 100644 index 0000000000..002ad0532a --- /dev/null +++ b/data/maps/events/Route110_TrickHousePuzzle1.inc @@ -0,0 +1,28 @@ +Route110_TrickHousePuzzle1_MapObjects: @ 853DF88 + object_event 1, MAP_OBJ_GFX_LASS, 0, 0, 14, 20, 3, 9, 0, 0, 1, 6, Route110_TrickHousePuzzle1_EventScript_26B948, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 14, 8, 3, 9, 0, 0, 1, 2, Route110_TrickHousePuzzle1_EventScript_26B95F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_LASS, 0, 0, 2, 15, 3, 8, 0, 0, 1, 2, Route110_TrickHousePuzzle1_EventScript_26B976, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 11, 16, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 19, 0, 0 + object_event 5, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 13, 18, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 18, 0, 0 + object_event 6, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 14, 14, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 20, 0, 0 + object_event 7, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 11, 8, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 23, 0, 0 + object_event 8, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 8, 10, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 22, 0, 0 + object_event 9, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 11, 12, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 21, 0, 0 + object_event 10, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 2, 4, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 25, 0, 0 + object_event 11, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 13, 6, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 24, 0, 0 + object_event 12, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 0, 6, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 27, 0, 0 + object_event 13, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 9, 4, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_29140E, 1060, 0, 0 + object_event 14, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 4, 8, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 28, 0, 0 + object_event 15, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 2, 12, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 30, 0, 0 + +Route110_TrickHousePuzzle1_MapWarps: @ 853E0F0 + warp_def 0, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE + warp_def 1, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE + warp_def 13, 1, 3, 0, ROUTE_110_TRICK_HOUSE_END + +Route110_TrickHousePuzzle1_MapBGEvents: @ 853E108 + bg_event 3, 16, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_26B92B + +Route110_TrickHousePuzzle1_MapEvents:: @ 853E114 + map_events Route110_TrickHousePuzzle1_MapObjects, Route110_TrickHousePuzzle1_MapWarps, 0x0, Route110_TrickHousePuzzle1_MapBGEvents + diff --git a/data/maps/events/Route110_TrickHousePuzzle2.inc b/data/maps/events/Route110_TrickHousePuzzle2.inc new file mode 100644 index 0000000000..007be38619 --- /dev/null +++ b/data/maps/events/Route110_TrickHousePuzzle2.inc @@ -0,0 +1,24 @@ +Route110_TrickHousePuzzle2_MapObjects: @ 853E128 + object_event 1, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 13, 10, 3, 10, 0, 0, 1, 1, Route110_TrickHousePuzzle2_EventScript_26BC75, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 10, 17, 3, 8, 0, 0, 1, 4, Route110_TrickHousePuzzle2_EventScript_26BC8C, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_GIRL_3, 0, 0, 11, 9, 3, 9, 0, 0, 1, 2, Route110_TrickHousePuzzle2_EventScript_26BCA3, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 8, 17, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle2_EventScript_291428, 1062, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 13, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle2_EventScript_29141B, 1061, 0, 0 + +Route110_TrickHousePuzzle2_MapWarps: @ 853E1A0 + warp_def 0, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE + warp_def 1, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE + warp_def 13, 1, 3, 0, ROUTE_110_TRICK_HOUSE_END + +Route110_TrickHousePuzzle2_MapCoordEvents: @ 853E1B8 + coord_event 11, 12, 3, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle2_EventScript_26BBDD + coord_event 0, 4, 0, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle2_EventScript_26BBF0 + coord_event 14, 5, 3, 0, VAR_0x4003, 0, 0, Route110_TrickHousePuzzle2_EventScript_26BC03 + coord_event 7, 11, 3, 0, VAR_0x4004, 0, 0, Route110_TrickHousePuzzle2_EventScript_26BC16 + +Route110_TrickHousePuzzle2_MapBGEvents: @ 853E1F8 + bg_event 14, 14, 0, 0, 0, Route110_TrickHousePuzzle2_EventScript_26BBC0 + +Route110_TrickHousePuzzle2_MapEvents:: @ 853E204 + map_events Route110_TrickHousePuzzle2_MapObjects, Route110_TrickHousePuzzle2_MapWarps, Route110_TrickHousePuzzle2_MapCoordEvents, Route110_TrickHousePuzzle2_MapBGEvents + diff --git a/data/maps/events/Route110_TrickHousePuzzle3.inc b/data/maps/events/Route110_TrickHousePuzzle3.inc new file mode 100644 index 0000000000..88aedca9f6 --- /dev/null +++ b/data/maps/events/Route110_TrickHousePuzzle3.inc @@ -0,0 +1,26 @@ +Route110_TrickHousePuzzle3_MapObjects: @ 853E218 + object_event 1, MAP_OBJ_GFX_CAMPER, 0, 0, 7, 19, 3, 8, 0, 0, 1, 2, Route110_TrickHousePuzzle3_EventScript_26C5C4, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_PICNICKER, 0, 0, 4, 4, 3, 10, 0, 0, 1, 1, Route110_TrickHousePuzzle3_EventScript_26C5DB, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_HIKER, 0, 0, 10, 10, 3, 8, 0, 0, 1, 1, Route110_TrickHousePuzzle3_EventScript_26C5F2, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 1, 2, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle3_EventScript_291442, 1064, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 2, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle3_EventScript_291435, 1063, 0, 0 + object_event 6, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 1, 20, 3, 1, 17, 0, 0, 0, Route110_TrickHousePuzzle3_EventScript_2907A6, 21, 0, 0 + object_event 7, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 2, 21, 3, 1, 17, 0, 0, 0, Route110_TrickHousePuzzle3_EventScript_2907A6, 22, 0, 0 + +Route110_TrickHousePuzzle3_MapWarps: @ 853E2C0 + warp_def 0, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE + warp_def 1, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE + warp_def 13, 1, 3, 0, ROUTE_110_TRICK_HOUSE_END + +Route110_TrickHousePuzzle3_MapCoordEvents: @ 853E2D8 + coord_event 4, 14, 3, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle3_EventScript_26C4CD + coord_event 3, 11, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle3_EventScript_26C4D9 + coord_event 12, 5, 3, 0, VAR_0x4003, 0, 0, Route110_TrickHousePuzzle3_EventScript_26C4E5 + coord_event 8, 2, 3, 0, VAR_0x4004, 0, 0, Route110_TrickHousePuzzle3_EventScript_26C4F1 + +Route110_TrickHousePuzzle3_MapBGEvents: @ 853E318 + bg_event 0, 14, 0, 0, 0, Route110_TrickHousePuzzle3_EventScript_26C5A7 + +Route110_TrickHousePuzzle3_MapEvents:: @ 853E324 + map_events Route110_TrickHousePuzzle3_MapObjects, Route110_TrickHousePuzzle3_MapWarps, Route110_TrickHousePuzzle3_MapCoordEvents, Route110_TrickHousePuzzle3_MapBGEvents + diff --git a/data/maps/events/Route110_TrickHousePuzzle4.inc b/data/maps/events/Route110_TrickHousePuzzle4.inc new file mode 100644 index 0000000000..79731353cb --- /dev/null +++ b/data/maps/events/Route110_TrickHousePuzzle4.inc @@ -0,0 +1,27 @@ +Route110_TrickHousePuzzle4_MapObjects: @ 853E338 + object_event 1, MAP_OBJ_GFX_GIRL_3, 0, 0, 2, 2, 3, 8, 0, 0, 1, 1, Route110_TrickHousePuzzle4_EventScript_26C87E, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GIRL_3, 0, 0, 14, 7, 3, 9, 0, 0, 1, 2, Route110_TrickHousePuzzle4_EventScript_26C8AC, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 2, 14, 3, 10, 0, 0, 1, 2, Route110_TrickHousePuzzle4_EventScript_26C895, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 2, 5, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_29144F, 1065, 0, 0 + object_event 5, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 13, 3, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 17, 0, 0 + object_event 6, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 12, 5, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 18, 0, 0 + object_event 7, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 5, 16, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 19, 0, 0 + object_event 8, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 4, 6, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 20, 0, 0 + object_event 9, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 12, 2, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 21, 0, 0 + object_event 10, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 5, 7, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 22, 0, 0 + object_event 11, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 9, 3, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 23, 0, 0 + object_event 12, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 10, 12, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 24, 0, 0 + object_event 13, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 14, 2, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 25, 0, 0 + object_event 14, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 10, 15, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 26, 0, 0 + +Route110_TrickHousePuzzle4_MapWarps: @ 853E488 + warp_def 0, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE + warp_def 1, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE + warp_def 13, 1, 3, 0, ROUTE_110_TRICK_HOUSE_END + +Route110_TrickHousePuzzle4_MapBGEvents: @ 853E4A0 + bg_event 14, 13, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_26C861 + +Route110_TrickHousePuzzle4_MapEvents:: @ 853E4AC + map_events Route110_TrickHousePuzzle4_MapObjects, Route110_TrickHousePuzzle4_MapWarps, 0x0, Route110_TrickHousePuzzle4_MapBGEvents + diff --git a/data/maps/events/Route110_TrickHousePuzzle5.inc b/data/maps/events/Route110_TrickHousePuzzle5.inc new file mode 100644 index 0000000000..7d15de921d --- /dev/null +++ b/data/maps/events/Route110_TrickHousePuzzle5.inc @@ -0,0 +1,42 @@ +Route110_TrickHousePuzzle5_MapObjects: @ 853E4C0 + object_event 1, MAP_OBJ_GFX_MAN_1, 0, 0, 6, 17, 3, 9, 0, 0, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CB32, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_1, 0, 0, 0, 7, 3, 10, 0, 0, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CB53, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_1, 0, 0, 14, 10, 3, 9, 0, 0, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CB74, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MAN_1, 0, 0, 14, 19, 3, 9, 0, 0, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CB95, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_MAN_1, 0, 0, 10, 4, 3, 10, 0, 0, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CBB6, 0, 0, 0 + +Route110_TrickHousePuzzle5_MapWarps: @ 853E538 + warp_def 0, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE + warp_def 1, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE + warp_def 13, 1, 3, 0, ROUTE_110_TRICK_HOUSE_END + +Route110_TrickHousePuzzle5_MapCoordEvents: @ 853E550 + coord_event 5, 17, 3, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CBD7 + coord_event 4, 17, 3, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CBE3 + coord_event 3, 17, 3, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CBEF + coord_event 2, 17, 3, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CBFB + coord_event 1, 7, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC13 + coord_event 2, 7, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC1F + coord_event 13, 10, 3, 0, VAR_0x4003, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC5B + coord_event 12, 10, 3, 0, VAR_0x4003, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC67 + coord_event 11, 10, 3, 0, VAR_0x4003, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC73 + coord_event 13, 19, 3, 0, VAR_0x4004, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC97 + coord_event 12, 19, 3, 0, VAR_0x4004, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CCA3 + coord_event 11, 4, 3, 0, VAR_0x4005, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CCDF + coord_event 1, 17, 3, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC07 + coord_event 3, 7, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC2B + coord_event 4, 7, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC37 + coord_event 5, 7, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC43 + coord_event 6, 7, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC4F + coord_event 10, 10, 3, 0, VAR_0x4003, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC7F + coord_event 9, 10, 3, 0, VAR_0x4003, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC8B + coord_event 11, 19, 3, 0, VAR_0x4004, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CCAF + coord_event 10, 19, 3, 0, VAR_0x4004, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CCBB + coord_event 9, 19, 3, 0, VAR_0x4004, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CCC7 + +Route110_TrickHousePuzzle5_MapBGEvents: @ 853E6B0 + bg_event 11, 21, 0, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CB15 + +Route110_TrickHousePuzzle5_MapEvents:: @ 853E6BC + map_events Route110_TrickHousePuzzle5_MapObjects, Route110_TrickHousePuzzle5_MapWarps, Route110_TrickHousePuzzle5_MapCoordEvents, Route110_TrickHousePuzzle5_MapBGEvents + diff --git a/data/maps/events/Route110_TrickHousePuzzle6.inc b/data/maps/events/Route110_TrickHousePuzzle6.inc new file mode 100644 index 0000000000..d08169a761 --- /dev/null +++ b/data/maps/events/Route110_TrickHousePuzzle6.inc @@ -0,0 +1,17 @@ +Route110_TrickHousePuzzle6_MapObjects: @ 853E6D0 + object_event 1, MAP_OBJ_GFX_PICNICKER, 0, 0, 7, 9, 3, 10, 0, 0, 1, 1, Route110_TrickHousePuzzle6_EventScript_26DDE1, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_6, 0, 0, 11, 10, 3, 10, 0, 0, 1, 3, Route110_TrickHousePuzzle6_EventScript_26DDF8, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_CAMPER, 0, 0, 4, 5, 3, 7, 0, 0, 1, 1, Route110_TrickHousePuzzle6_EventScript_26DE0F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 11, 21, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle6_EventScript_29145C, 1067, 0, 0 + +Route110_TrickHousePuzzle6_MapWarps: @ 853E730 + warp_def 0, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE + warp_def 1, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE + warp_def 13, 1, 3, 0, ROUTE_110_TRICK_HOUSE_END + +Route110_TrickHousePuzzle6_MapBGEvents: @ 853E748 + bg_event 0, 10, 3, 0, 0, Route110_TrickHousePuzzle6_EventScript_26DDC4 + +Route110_TrickHousePuzzle6_MapEvents:: @ 853E754 + map_events Route110_TrickHousePuzzle6_MapObjects, Route110_TrickHousePuzzle6_MapWarps, 0x0, Route110_TrickHousePuzzle6_MapBGEvents + diff --git a/data/maps/events/Route110_TrickHousePuzzle7.inc b/data/maps/events/Route110_TrickHousePuzzle7.inc new file mode 100644 index 0000000000..49003a63eb --- /dev/null +++ b/data/maps/events/Route110_TrickHousePuzzle7.inc @@ -0,0 +1,38 @@ +Route110_TrickHousePuzzle7_MapObjects: @ 853E768 + object_event 1, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 9, 20, 0, 10, 0, 0, 1, 1, Route110_TrickHousePuzzle7_EventScript_26E389, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_LASS, 0, 0, 10, 2, 0, 7, 0, 0, 1, 1, Route110_TrickHousePuzzle7_EventScript_26E3B7, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_HEX_MANIAC, 0, 0, 8, 17, 0, 9, 0, 0, 1, 1, Route110_TrickHousePuzzle7_EventScript_26E3A0, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 5, 12, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle7_EventScript_291469, 1068, 0, 0 + object_event 5, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 9, 2, 3, 8, 17, 0, 1, 1, Route110_TrickHousePuzzle7_EventScript_26E3E5, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_LASS, 0, 0, 8, 13, 3, 7, 17, 0, 1, 1, Route110_TrickHousePuzzle7_EventScript_26E3CE, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 9, 12, 3, 9, 17, 0, 1, 1, Route110_TrickHousePuzzle7_EventScript_26E3FC, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 4, 17, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 4, 6, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + +Route110_TrickHousePuzzle7_MapWarps: @ 853E840 + warp_def 0, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE + warp_def 1, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE + warp_def 13, 1, 3, 0, ROUTE_110_TRICK_HOUSE_END + warp_def 13, 4, 0, 4, ROUTE_110_TRICK_HOUSE_PUZZLE_7 + warp_def 7, 3, 0, 3, ROUTE_110_TRICK_HOUSE_PUZZLE_7 + warp_def 13, 11, 0, 6, ROUTE_110_TRICK_HOUSE_PUZZLE_7 + warp_def 4, 3, 0, 5, ROUTE_110_TRICK_HOUSE_PUZZLE_7 + warp_def 1, 17, 0, 8, ROUTE_110_TRICK_HOUSE_PUZZLE_7 + warp_def 0, 11, 0, 7, ROUTE_110_TRICK_HOUSE_PUZZLE_7 + warp_def 2, 3, 0, 10, ROUTE_110_TRICK_HOUSE_PUZZLE_7 + warp_def 4, 13, 0, 9, ROUTE_110_TRICK_HOUSE_PUZZLE_7 + warp_def 1, 3, 0, 12, ROUTE_110_TRICK_HOUSE_PUZZLE_7 + warp_def 8, 12, 0, 11, ROUTE_110_TRICK_HOUSE_PUZZLE_7 + +Route110_TrickHousePuzzle7_MapCoordEvents: @ 853E8A8 + coord_event 8, 19, 0, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle7_EventScript_26E31B + coord_event 0, 14, 0, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle7_EventScript_26E331 + coord_event 6, 6, 0, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle7_EventScript_26E347 + coord_event 9, 7, 0, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle7_EventScript_26E35D + +Route110_TrickHousePuzzle7_MapBGEvents: @ 853E8E8 + bg_event 6, 17, 0, 0, 0, Route110_TrickHousePuzzle7_EventScript_26E1D0 + +Route110_TrickHousePuzzle7_MapEvents:: @ 853E8F4 + map_events Route110_TrickHousePuzzle7_MapObjects, Route110_TrickHousePuzzle7_MapWarps, Route110_TrickHousePuzzle7_MapCoordEvents, Route110_TrickHousePuzzle7_MapBGEvents + diff --git a/data/maps/events/Route110_TrickHousePuzzle8.inc b/data/maps/events/Route110_TrickHousePuzzle8.inc new file mode 100644 index 0000000000..5d942affa0 --- /dev/null +++ b/data/maps/events/Route110_TrickHousePuzzle8.inc @@ -0,0 +1,17 @@ +Route110_TrickHousePuzzle8_MapObjects: @ 853E908 + object_event 1, MAP_OBJ_GFX_MAN_4, 0, 0, 1, 10, 3, 7, 0, 0, 1, 1, Route110_TrickHousePuzzle8_EventScript_26E81F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_4, 0, 0, 4, 2, 3, 10, 0, 0, 1, 1, Route110_TrickHousePuzzle8_EventScript_26E84D, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_7, 0, 0, 8, 17, 3, 9, 0, 0, 1, 1, Route110_TrickHousePuzzle8_EventScript_26E836, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 2, 2, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle8_EventScript_291476, 1069, 0, 0 + +Route110_TrickHousePuzzle8_MapWarps: @ 853E968 + warp_def 0, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE + warp_def 1, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE + warp_def 13, 1, 0, 0, ROUTE_110_TRICK_HOUSE_END + +Route110_TrickHousePuzzle8_MapBGEvents: @ 853E980 + bg_event 3, 21, 3, 0, 0, Route110_TrickHousePuzzle8_EventScript_26E802 + +Route110_TrickHousePuzzle8_MapEvents:: @ 853E98C + map_events Route110_TrickHousePuzzle8_MapObjects, Route110_TrickHousePuzzle8_MapWarps, 0x0, Route110_TrickHousePuzzle8_MapBGEvents + diff --git a/data/maps/events/Route111.inc b/data/maps/events/Route111.inc new file mode 100644 index 0000000000..564b947975 --- /dev/null +++ b/data/maps/events/Route111.inc @@ -0,0 +1,114 @@ +Route111_MapObjects: @ 85291F0 + object_event 1, MAP_OBJ_GFX_MAN_1, 0, 0, 13, 114, 3, 8, 0, 0, 0, 0, Route111_EventScript_1F0FC5, 768, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 13, 113, 0, 8, 0, 0, 0, 0, 0x0, 769, 0, 0 + object_event 3, MAP_OBJ_GFX_LASS, 0, 0, 13, 113, 0, 8, 1, 0, 0, 0, 0x0, 770, 0, 0 + object_event 4, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 13, 113, 0, 8, 0, 0, 0, 0, 0x0, 771, 0, 0 + object_event 5, MAP_OBJ_GFX_PICNICKER, 0, 0, 28, 51, 3, 17, 0, 0, 1, 3, Route111_EventScript_1F121B, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 22, 5, 3, 12, 0, 0, 0, 19, BerryTreeScript, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 23, 5, 3, 12, 0, 0, 0, 20, BerryTreeScript, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_MAN_4, 0, 0, 8, 91, 3, 2, 17, 0, 0, 0, Route111_EventScript_1F1189, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_CAMPER, 0, 0, 29, 37, 3, 17, 0, 0, 1, 3, Route111_EventScript_1F1204, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_HIKER, 0, 0, 27, 69, 3, 50, 34, 0, 1, 2, Route111_EventScript_1F1260, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_CAMPER, 0, 0, 21, 47, 3, 9, 0, 0, 1, 4, Route111_EventScript_1F1232, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_PICNICKER, 0, 0, 32, 66, 3, 24, 0, 0, 1, 3, Route111_EventScript_1F1249, 0, 0, 0 + object_event 13, MAP_OBJ_GFX_CAMERAMAN, 0, 0, 14, 86, 3, 8, 0, 0, 0, 0, Route111_EventScript_28CDF6, 796, 0, 0 + object_event 14, MAP_OBJ_GFX_REPORTER_F, 0, 0, 13, 86, 3, 8, 0, 0, 0, 0, Route111_EventScript_28CDD6, 796, 0, 0 + object_event 15, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 18, 101, 3, 1, 0, 0, 0, 0, Route111_EventScript_2907A6, 17, 0, 0 + object_event 16, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 19, 100, 3, 1, 0, 0, 0, 0, Route111_EventScript_2907A6, 18, 0, 0 + object_event 17, MAP_OBJ_GFX_GIRL_1, 0, 0, 23, 8, 3, 5, 1, 0, 0, 0, Route111_EventScript_1F0EB9, 0, 0, 0 + object_event 18, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 33, 104, 3, 1, 0, 0, 0, 0, Route111_EventScript_290D9B, 1008, 0, 0 + object_event 19, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 18, 5, 3, 12, 0, 0, 0, 80, BerryTreeScript, 0, 0, 0 + object_event 20, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 19, 5, 3, 12, 0, 0, 0, 81, BerryTreeScript, 0, 0, 0 + object_event 21, MAP_OBJ_GFX_REPORTER_F, 0, 0, 13, 86, 3, 8, 0, 0, 0, 0, Route111_EventScript_28CE96, 799, 0, 0 + object_event 22, MAP_OBJ_GFX_CAMERAMAN, 0, 0, 14, 86, 3, 8, 0, 0, 0, 0, Route111_EventScript_28CEB6, 799, 0, 0 + object_event 23, MAP_OBJ_GFX_REPORTER_F, 0, 0, 13, 86, 3, 8, 0, 0, 0, 0, Route111_EventScript_28CF16, 903, 0, 0 + object_event 24, MAP_OBJ_GFX_CAMERAMAN, 0, 0, 14, 86, 3, 8, 0, 0, 0, 0, Route111_EventScript_28CF36, 903, 0, 0 + object_event 25, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 12, 54, 3, 1, 0, 0, 0, 0, Route111_EventScript_290DA8, 1009, 0, 0 + object_event 26, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 114, 3, 1, 0, 0, 0, 0, Route111_EventScript_290DB5, 1010, 0, 0 + object_event 27, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 22, 21, 3, 1, 0, 0, 0, 0, Route111_EventScript_2906BB, 19, 0, 0 + object_event 28, MAP_OBJ_GFX_PICNICKER, 0, 0, 10, 82, 3, 14, 0, 0, 1, 2, Route111_EventScript_1F12D9, 0, 0, 0 + object_event 29, MAP_OBJ_GFX_CAMPER, 0, 0, 11, 71, 3, 22, 0, 0, 1, 3, Route111_EventScript_1F12C2, 0, 0, 0 + object_event 30, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 32, 29, 3, 28, 1, 0, 1, 2, Route111_EventScript_1F12F0, 0, 0, 0 + object_event 31, MAP_OBJ_GFX_WOMAN_7, 0, 0, 11, 11, 3, 7, 4, 0, 1, 4, Route111_EventScript_1F1369, 0, 0, 0 + object_event 32, MAP_OBJ_GFX_MAN_4, 0, 0, 9, 27, 3, 17, 0, 0, 1, 3, Route111_EventScript_1F1307, 0, 0, 0 + object_event 33, MAP_OBJ_GFX_BOY_1, 0, 0, 13, 20, 3, 7, 17, 0, 0, 0, Route111_EventScript_2765FF, 960, 0, 0 + object_event 34, MAP_OBJ_GFX_MAN_5, 0, 0, 20, 114, 3, 2, 17, 0, 0, 0, Route111_EventScript_1F1192, 0, 0, 0 + object_event 35, MAP_OBJ_GFX_CAMPER, 0, 0, 26, 132, 3, 9, 17, 0, 1, 5, Route111_EventScript_1F13F9, 0, 0, 0 + object_event 36, MAP_OBJ_GFX_WOMAN_3, 0, 0, 20, 132, 3, 10, 17, 0, 1, 5, Route111_EventScript_1F1410, 0, 0, 0 + object_event 37, MAP_OBJ_GFX_PICNICKER, 0, 0, 19, 121, 3, 7, 17, 0, 1, 2, Route111_EventScript_1F13E2, 0, 0, 0 + object_event 38, MAP_OBJ_GFX_MAN_6, 0, 0, 16, 119, 3, 10, 17, 0, 1, 3, Route111_EventScript_1F13CB, 0, 0, 0 + object_event 39, MAP_OBJ_GFX_HIKER, 0, 0, 29, 77, 3, 14, 17, 0, 1, 7, Route111_EventScript_1F143E, 0, 0, 0 + object_event 40, MAP_OBJ_GFX_PICNICKER, 0, 0, 22, 77, 3, 10, 17, 0, 1, 6, Route111_EventScript_1F1427, 0, 0, 0 + object_event 41, MAP_OBJ_GFX_CAMPER, 0, 0, 37, 77, 3, 9, 17, 0, 1, 7, Route111_EventScript_1F1455, 0, 0, 0 + object_event 42, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 19, 118, 3, 1, 17, 0, 0, 0, Route111_EventScript_290DC2, 1142, 0, 0 + object_event 43, MAP_OBJ_GFX_HIKER, 0, 0, 14, 56, 3, 16, 17, 0, 0, 0, Route111_EventScript_1F119B, 0, 0, 0 + object_event 44, MAP_OBJ_GFX_FOSSIL, 0, 0, 20, 53, 3, 8, 17, 0, 0, 0, 0x0, 876, 0, 0 + object_event 45, MAP_OBJ_GFX_HIPSTER, 0, 0, 19, 53, 3, 8, 17, 0, 0, 0, 0x0, 875, 0, 0 + object_event 46, MAP_OBJ_GFX_FAT_MAN, 0, 0, 19, 101, 3, 7, 17, 0, 0, 0, Route111_EventScript_1F11E4, 843, 0, 0 + +Route111_MapWarps: @ 8529640 + warp_def 13, 113, 0, 0, ROUTE_111_WINSTRATE_FAMILYS_HOUSE + warp_def 29, 87, 0, 0, DESERT_RUINS + warp_def 26, 18, 0, 0, ROUTE_111_OLD_LADYS_REST_STOP + warp_def 19, 58, 0, 0, MIRAGE_TOWER_1F + warp_def 31, 113, 0, 0, TRAINER_HILL_ENTRANCE + +Route111_MapCoordEvents: @ 8529668 + coord_event 12, 62, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD + coord_event 11, 61, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F0A + coord_event 12, 61, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F0A + coord_event 13, 61, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F0A + coord_event 7, 63, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0 + coord_event 12, 44, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F16 + coord_event 13, 43, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F16 + coord_event 14, 42, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F16 + coord_event 16, 40, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F16 + coord_event 14, 61, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F0A + coord_event 18, 32, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0 + coord_event 17, 31, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0 + coord_event 9, 37, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0 + coord_event 10, 36, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0 + coord_event 17, 39, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F16 + coord_event 18, 38, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F16 + coord_event 8, 64, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0 + coord_event 9, 65, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0 + coord_event 10, 65, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0 + coord_event 11, 66, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0 + coord_event 12, 67, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0 + coord_event 13, 68, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0 + coord_event 14, 69, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0 + coord_event 10, 61, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD + coord_event 11, 62, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD + coord_event 13, 62, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD + coord_event 14, 62, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD + coord_event 17, 38, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD + coord_event 16, 39, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD + coord_event 15, 40, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD + coord_event 14, 41, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD + coord_event 13, 42, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD + coord_event 12, 43, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD + coord_event 11, 44, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD + +Route111_MapBGEvents: @ 8529888 + bg_event 16, 114, 0, 0, 0, Route111_EventScript_1F115C + bg_event 24, 126, 0, 0, 0, Route111_EventScript_1F1153 + bg_event 7, 66, 0, 0, 0, Route111_EventScript_1F1165 + bg_event 13, 6, 0, 0, 0, Route111_EventScript_1F116E + bg_event 24, 36, 0, 8, 0, ITEM_FAB_MAIL, 0, 0 + bg_event 34, 50, 0, 8, 0, ITEM_LUM_BERRY, 0, 0 + bg_event 33, 34, 0, 8, 0, ITEM_ORANGE_MAIL, 0, 0 + bg_event 25, 19, 0, 0, 0, Route111_EventScript_1F1177 + bg_event 35, 1, 0, 8, 0, ITEM_POTION, 0, 0 + bg_event 35, 31, 0, 8, 0, ITEM_POMEG_BERRY, 0, 0 + bg_event 26, 70, 0, 7, 0, ITEM_STARDUST, 2, 0 + bg_event 27, 27, 3, 8, 0, ITEM_REVIVAL_HERB, 0, 0 + bg_event 7, 84, 3, 0, 0, Route111_EventScript_1F1180 + bg_event 14, 19, 0, 8, 0, ITEM_PAMTRE_BERRY, 0, 0 + bg_event 13, 19, 0, 8, 0, ITEM_RABUTA_BERRY, 0, 0 + bg_event 19, 55, 0, 7, 0, ITEM_PROTEIN, 56, 0 + bg_event 35, 66, 0, 7, 0, ITEM_RARE_CANDY, 57, 0 + bg_event 24, 116, 0, 0, 0, Route111_EventScript_1F146C + +Route111_MapEvents:: @ 8529960 + map_events Route111_MapObjects, Route111_MapWarps, Route111_MapCoordEvents, Route111_MapBGEvents + diff --git a/data/maps/events/Route111_OldLadysRestStop.inc b/data/maps/events/Route111_OldLadysRestStop.inc new file mode 100644 index 0000000000..05510b62d4 --- /dev/null +++ b/data/maps/events/Route111_OldLadysRestStop.inc @@ -0,0 +1,10 @@ +Route111_OldLadysRestStop_MapObjects: @ 8533C18 + object_event 1, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 6, 3, 3, 9, 0, 0, 0, 0, Route111_OldLadysRestStop_EventScript_22A920, 0, 0, 0 + +Route111_OldLadysRestStop_MapWarps: @ 8533C30 + warp_def 3, 7, 0, 2, ROUTE_111 + warp_def 4, 7, 0, 2, ROUTE_111 + +Route111_OldLadysRestStop_MapEvents:: @ 8533C40 + map_events Route111_OldLadysRestStop_MapObjects, Route111_OldLadysRestStop_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Route111_WinstrateFamilysHouse.inc b/data/maps/events/Route111_WinstrateFamilysHouse.inc new file mode 100644 index 0000000000..402b6e180f --- /dev/null +++ b/data/maps/events/Route111_WinstrateFamilysHouse.inc @@ -0,0 +1,13 @@ +Route111_WinstrateFamilysHouse_MapObjects: @ 8533B94 + object_event 1, MAP_OBJ_GFX_LASS, 0, 0, 7, 5, 3, 9, 0, 0, 0, 0, Route111_WinstrateFamilysHouse_EventScript_22A4E8, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_1, 0, 0, 4, 5, 3, 10, 0, 0, 0, 0, Route111_WinstrateFamilysHouse_EventScript_22A48D, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_2, 0, 0, 7, 4, 3, 9, 1, 0, 0, 0, Route111_WinstrateFamilysHouse_EventScript_22A4A2, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 4, 4, 3, 10, 0, 0, 0, 0, Route111_WinstrateFamilysHouse_EventScript_22A4FD, 0, 0, 0 + +Route111_WinstrateFamilysHouse_MapWarps: @ 8533BF4 + warp_def 3, 7, 0, 0, ROUTE_111 + warp_def 4, 7, 0, 0, ROUTE_111 + +Route111_WinstrateFamilysHouse_MapEvents:: @ 8533C04 + map_events Route111_WinstrateFamilysHouse_MapObjects, Route111_WinstrateFamilysHouse_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Route112.inc b/data/maps/events/Route112.inc new file mode 100644 index 0000000000..56bd169356 --- /dev/null +++ b/data/maps/events/Route112.inc @@ -0,0 +1,32 @@ +Route112_MapObjects: @ 8529974 + object_event 1, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 26, 30, 3, 7, 17, 0, 0, 0, Route112_EventScript_1F1DB7, 819, 0, 0 + object_event 2, MAP_OBJ_GFX_HIKER, 0, 0, 24, 34, 3, 14, 0, 0, 1, 2, Route112_EventScript_1F1E6A, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_CAMPER, 0, 0, 29, 49, 3, 8, 0, 0, 1, 3, Route112_EventScript_1F1EE3, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_PICNICKER, 0, 0, 22, 46, 3, 23, 0, 0, 1, 3, Route112_EventScript_1F1EFA, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_HIKER, 0, 0, 15, 40, 3, 16, 0, 0, 1, 3, Route112_EventScript_1F1E81, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 27, 30, 3, 7, 0, 0, 0, 0, Route112_EventScript_1F1DB7, 819, 0, 0 + object_event 7, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 27, 6, 0, 12, 0, 0, 0, 24, BerryTreeScript, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 28, 6, 0, 12, 0, 0, 0, 23, BerryTreeScript, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 29, 6, 0, 12, 0, 0, 0, 22, BerryTreeScript, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 30, 6, 3, 12, 0, 0, 0, 21, BerryTreeScript, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_HIKER, 0, 0, 8, 50, 3, 26, 48, 0, 0, 0, Route112_EventScript_1F1E61, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 14, 43, 3, 1, 0, 0, 0, 0, Route112_EventScript_290DCF, 1011, 0, 0 + object_event 13, MAP_OBJ_GFX_MAN_6, 0, 0, 31, 7, 3, 18, 17, 0, 1, 3, Route112_EventScript_1F1F11, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_WOMAN_3, 0, 0, 31, 11, 3, 15, 17, 0, 1, 3, Route112_EventScript_1F1F28, 0, 0, 0 + +Route112_MapWarps: @ 8529AC4 + warp_def 28, 27, 0, 0, ROUTE_112_CABLE_CAR_STATION + warp_def 29, 27, 0, 1, ROUTE_112_CABLE_CAR_STATION + warp_def 6, 46, 3, 0, JAGGED_PASS + warp_def 7, 46, 3, 1, JAGGED_PASS + warp_def 11, 36, 0, 0, FIERY_PATH + warp_def 22, 10, 0, 1, FIERY_PATH + +Route112_MapBGEvents: @ 8529AF4 + bg_event 19, 44, 3, 0, 0, Route112_EventScript_1F1E4F + bg_event 22, 37, 0, 0, 0, Route112_EventScript_1F1E46 + bg_event 4, 49, 0, 0, 0, Route112_EventScript_1F1E58 + +Route112_MapEvents:: @ 8529B18 + map_events Route112_MapObjects, Route112_MapWarps, 0x0, Route112_MapBGEvents + diff --git a/data/maps/events/Route112_CableCarStation.inc b/data/maps/events/Route112_CableCarStation.inc new file mode 100644 index 0000000000..e1f001aad0 --- /dev/null +++ b/data/maps/events/Route112_CableCarStation.inc @@ -0,0 +1,11 @@ +Route112_CableCarStation_MapObjects: @ 8533C54 + object_event 1, MAP_OBJ_GFX_BEAUTY, 0, 0, 6, 6, 3, 8, 0, 0, 0, 0, Route112_CableCarStation_EventScript_22AB17, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_CABLE_CAR, 0, 0, 6, 3, 3, 1, 0, 0, 0, 0, 0x0, 0, 0, 0 + +Route112_CableCarStation_MapWarps: @ 8533C84 + warp_def 6, 11, 0, 0, ROUTE_112 + warp_def 7, 11, 0, 1, ROUTE_112 + +Route112_CableCarStation_MapEvents:: @ 8533C94 + map_events Route112_CableCarStation_MapObjects, Route112_CableCarStation_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Route113.inc b/data/maps/events/Route113.inc new file mode 100644 index 0000000000..f1d07a6712 --- /dev/null +++ b/data/maps/events/Route113.inc @@ -0,0 +1,57 @@ +Route113_MapObjects: @ 8529B2C + object_event 1, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 66, 12, 3, 5, 1, 0, 0, 0, Route113_EventScript_1F2193, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 36, 10, 3, 3, 16, 0, 0, 0, Route113_EventScript_1F218A, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 62, 8, 3, 8, 0, 0, 1, 3, Route113_EventScript_1F21C0, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 21, 11, 3, 17, 0, 0, 1, 3, Route113_EventScript_1F21D7, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_WOMAN_7, 0, 0, 51, 11, 3, 23, 0, 0, 1, 2, Route113_EventScript_1F21EE, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 53, 7, 3, 1, 0, 0, 0, 0, Route113_EventScript_290DDC, 1012, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 79, 5, 3, 1, 0, 0, 0, 0, Route113_EventScript_290DE9, 1013, 0, 0 + object_event 8, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 29, 6, 3, 63, 0, 0, 3, 1, Route113_EventScript_1F2250, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 71, 2, 3, 63, 0, 0, 3, 1, Route113_EventScript_1F22B2, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 45, 6, 3, 8, 17, 0, 1, 1, Route113_EventScript_1F22C9, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 46, 6, 3, 8, 17, 0, 1, 1, Route113_EventScript_1F22E4, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 15, 15, 3, 1, 17, 0, 0, 0, Route113_EventScript_290DF6, 1143, 0, 0 + object_event 13, MAP_OBJ_GFX_MANIAC, 0, 0, 75, 3, 3, 9, 17, 0, 1, 4, Route113_EventScript_1F2344, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_CAMPER, 0, 0, 71, 4, 3, 7, 17, 0, 1, 1, Route113_EventScript_1F232D, 0, 0, 0 + object_event 15, MAP_OBJ_GFX_PICNICKER, 0, 0, 7, 6, 3, 26, 49, 0, 1, 6, Route113_EventScript_1F22FF, 0, 0, 0 + object_event 16, MAP_OBJ_GFX_MAN_6, 0, 0, 7, 13, 3, 25, 49, 0, 1, 6, Route113_EventScript_1F2316, 0, 0, 0 + +Route113_MapWarps: @ 8529CAC + warp_def 33, 5, 0, 0, ROUTE_113_GLASS_WORKSHOP + warp_def 41, 12, 0, 0, TERRA_CAVE_ENTRANCE + warp_def 88, 5, 0, 0, TERRA_CAVE_ENTRANCE + +Route113_MapCoordEvents: @ 8529CC4 + coord_event 19, 11, 3, 0, 8, 0, 0, 0x0 + coord_event 19, 10, 3, 0, 8, 0, 0, 0x0 + coord_event 19, 12, 3, 0, 8, 0, 0, 0x0 + coord_event 19, 13, 3, 0, 8, 0, 0, 0x0 + coord_event 86, 9, 3, 0, 8, 0, 0, 0x0 + coord_event 85, 10, 3, 0, 8, 0, 0, 0x0 + coord_event 85, 11, 3, 0, 8, 0, 0, 0x0 + coord_event 14, 10, 3, 0, 2, 0, 0, 0x0 + coord_event 14, 11, 3, 0, 2, 0, 0, 0x0 + coord_event 14, 12, 3, 0, 2, 0, 0, 0x0 + coord_event 14, 13, 3, 0, 2, 0, 0, 0x0 + coord_event 94, 8, 3, 0, 2, 0, 0, 0x0 + coord_event 94, 9, 3, 0, 2, 0, 0, 0x0 + coord_event 94, 10, 3, 0, 2, 0, 0, 0x0 + coord_event 94, 11, 0, 0, 2, 0, 0, 0x0 + coord_event 19, 14, 3, 0, 8, 0, 0, 0x0 + coord_event 87, 8, 3, 0, 8, 0, 0, 0x0 + coord_event 87, 6, 3, 0, 8, 0, 0, 0x0 + coord_event 87, 7, 3, 0, 8, 0, 0, 0x0 + +Route113_MapBGEvents: @ 8529DF4 + bg_event 85, 6, 0, 0, 0, Route113_EventScript_1F219C + bg_event 12, 9, 0, 0, 0, Route113_EventScript_1F21A5 + bg_event 58, 4, 3, 0, 0, Route113_EventScript_1F21B7 + bg_event 31, 5, 0, 0, 0, Route113_EventScript_1F21AE + bg_event 49, 8, 3, 8, 0, ITEM_GREAT_BALL, 0, 0 + bg_event 66, 3, 3, 7, 0, ITEM_ETHER, 3, 0 + bg_event 22, 5, 3, 7, 0, ITEM_TM32, 30, 0 + bg_event 73, 3, 3, 7, 0, ITEM_NUGGET, 98, 0 + +Route113_MapEvents:: @ 8529E54 + map_events Route113_MapObjects, Route113_MapWarps, Route113_MapCoordEvents, Route113_MapBGEvents + diff --git a/data/maps/events/Route113_GlassWorkshop.inc b/data/maps/events/Route113_GlassWorkshop.inc new file mode 100644 index 0000000000..0191f8578f --- /dev/null +++ b/data/maps/events/Route113_GlassWorkshop.inc @@ -0,0 +1,11 @@ +Route113_GlassWorkshop_MapObjects: @ 853EA78 + object_event 1, MAP_OBJ_GFX_MAN_1, 0, 0, 2, 3, 3, 8, 0, 0, 0, 0, Route113_GlassWorkshop_EventScript_26ED1E, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 5, 4, 3, 2, 17, 0, 0, 0, Route113_GlassWorkshop_EventScript_26F194, 0, 0, 0 + +Route113_GlassWorkshop_MapWarps: @ 853EAA8 + warp_def 3, 8, 0, 0, ROUTE_113 + warp_def 4, 8, 0, 0, ROUTE_113 + +Route113_GlassWorkshop_MapEvents:: @ 853EAB8 + map_events Route113_GlassWorkshop_MapObjects, Route113_GlassWorkshop_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Route114.inc b/data/maps/events/Route114.inc new file mode 100644 index 0000000000..800af012c0 --- /dev/null +++ b/data/maps/events/Route114.inc @@ -0,0 +1,53 @@ +Route114_MapObjects: @ 8529E68 + object_event 1, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 31, 43, 3, 12, 0, 0, 0, 77, BerryTreeScript, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 31, 44, 3, 12, 0, 0, 0, 78, BerryTreeScript, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_HIKER, 0, 0, 15, 65, 7, 10, 0, 0, 1, 6, Route114_EventScript_1F2640, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_HIKER, 0, 0, 30, 72, 5, 9, 0, 0, 1, 4, Route114_EventScript_1F2657, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_CAMPER, 0, 0, 22, 50, 3, 10, 0, 0, 1, 3, Route114_EventScript_1F266E, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_PICNICKER, 0, 0, 19, 35, 3, 1, 0, 0, 1, 3, Route114_EventScript_1F2685, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_MANIAC, 0, 0, 20, 56, 3, 7, 0, 0, 1, 3, Route114_EventScript_1F269C, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 31, 45, 3, 12, 0, 0, 0, 68, BerryTreeScript, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 6, 3, 1, 0, 0, 0, 0, Route114_EventScript_290E03, 1014, 0, 0 + object_event 10, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 11, 37, 4, 1, 0, 0, 0, 0, Route114_EventScript_290E10, 1015, 0, 0 + object_event 11, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 12, 43, 4, 1, 0, 0, 0, 0, Route114_EventScript_2907A6, 17, 0, 0 + object_event 12, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 19, 11, 3, 10, 0, 0, 0, 0, Route114_EventScript_1F25D1, 0, 0, 0 + object_event 13, MAP_OBJ_GFX_POOCHYENA, 0, 0, 19, 12, 3, 10, 0, 0, 0, 0, Route114_EventScript_1F2612, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_MAN_5, 0, 0, 27, 42, 3, 3, 16, 0, 0, 0, Route114_EventScript_1F2582, 0, 0, 0 + object_event 15, MAP_OBJ_GFX_FISHERMAN, 0, 0, 25, 6, 3, 8, 0, 0, 1, 0, Route114_EventScript_1F2777, 0, 0, 0 + object_event 16, MAP_OBJ_GFX_FISHERMAN, 0, 0, 19, 26, 3, 9, 0, 0, 1, 0, Route114_EventScript_1F2760, 0, 0, 0 + object_event 17, MAP_OBJ_GFX_MAN_6, 0, 0, 30, 58, 5, 23, 0, 0, 1, 3, Route114_EventScript_1F26FE, 0, 0, 0 + object_event 18, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 29, 53, 5, 1, 17, 0, 0, 0, Route114_EventScript_2907A6, 18, 0, 0 + object_event 19, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 30, 54, 5, 1, 17, 0, 0, 0, Route114_EventScript_2907A6, 19, 0, 0 + object_event 20, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 22, 69, 7, 1, 17, 0, 0, 0, Route114_EventScript_2907A6, 20, 0, 0 + object_event 21, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 11, 64, 5, 1, 17, 0, 0, 0, Route114_EventScript_2907A6, 21, 0, 0 + object_event 22, MAP_OBJ_GFX_LASS, 0, 0, 24, 44, 3, 8, 17, 0, 1, 1, Route114_EventScript_1F27A9, 0, 0, 0 + object_event 23, MAP_OBJ_GFX_LASS, 0, 0, 23, 44, 3, 8, 17, 0, 1, 1, Route114_EventScript_1F278E, 0, 0, 0 + object_event 24, MAP_OBJ_GFX_PICNICKER, 0, 0, 28, 20, 3, 7, 17, 0, 1, 3, Route114_EventScript_1F27DB, 0, 0, 0 + object_event 25, MAP_OBJ_GFX_PICNICKER, 0, 0, 26, 72, 5, 18, 17, 0, 1, 4, Route114_EventScript_1F27C4, 0, 0, 0 + object_event 26, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 31, 19, 3, 1, 17, 0, 0, 0, Route114_EventScript_290E1D, 1160, 0, 0 + object_event 27, MAP_OBJ_GFX_FISHERMAN, 0, 0, 28, 16, 3, 17, 17, 0, 1, 3, Route114_EventScript_1F27F2, 0, 0, 0 + +Route114_MapWarps: @ 852A0F0 + warp_def 8, 63, 0, 0, METEOR_FALLS_1F_1R + warp_def 29, 5, 0, 0, ROUTE_114_FOSSIL_MANIACS_HOUSE + warp_def 27, 36, 0, 0, ROUTE_114_LANETTES_HOUSE + warp_def 6, 46, 0, 0, TERRA_CAVE_ENTRANCE + warp_def 7, 4, 0, 0, TERRA_CAVE_ENTRANCE + +Route114_MapBGEvents: @ 852A118 + bg_event 7, 64, 0, 0, 0, Route114_EventScript_1F2625 + bg_event 31, 7, 0, 0, 0, Route114_EventScript_1F262E + bg_event 9, 47, 0, 8, 0, ITEM_RED_FLUTE, 0, 0 + bg_event 30, 51, 0, 8, 0, ITEM_GREEN_SHARD, 0, 0 + bg_event 11, 62, 0, 8, 0, 61, 0, 0 + bg_event 19, 70, 0, 8, 0, ITEM_PP_MAX, 0, 0 + bg_event 11, 27, 0, 8, 0, ITEM_EXP_SHARE, 0, 0 + bg_event 12, 27, 0, 8, 0, ITEM_DEEP_SEA_TOOTH, 0, 0 + bg_event 25, 38, 3, 0, 0, Route114_EventScript_1F2637 + bg_event 20, 57, 3, 7, 0, ITEM_CARBOS, 4, 0 + bg_event 32, 57, 0, 8, 0, ITEM_GUARD_SPEC, 0, 0 + bg_event 7, 30, 3, 7, 0, ITEM_REVIVE, 42, 0 + +Route114_MapEvents:: @ 852A1A8 + map_events Route114_MapObjects, Route114_MapWarps, 0x0, Route114_MapBGEvents + diff --git a/data/maps/events/Route114_FossilManiacsHouse.inc b/data/maps/events/Route114_FossilManiacsHouse.inc new file mode 100644 index 0000000000..e20e9c54c3 --- /dev/null +++ b/data/maps/events/Route114_FossilManiacsHouse.inc @@ -0,0 +1,17 @@ +Route114_FossilManiacsHouse_MapObjects: @ 8533CFC + object_event 1, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 3, 2, 3, 8, 17, 0, 0, 0, Route114_FossilManiacsHouse_EventScript_22AD3A, 0, 0, 0 + +Route114_FossilManiacsHouse_MapWarps: @ 8533D14 + warp_def 4, 7, 0, 1, ROUTE_114 + warp_def 5, 7, 0, 1, ROUTE_114 + warp_def 4, 1, 0, 0, ROUTE_114_FOSSIL_MANIACS_TUNNEL + +Route114_FossilManiacsHouse_MapBGEvents: @ 8533D2C + bg_event 5, 3, 0, 1, 0, Route114_FossilManiacsHouse_EventScript_22AD73 + bg_event 6, 3, 0, 1, 0, Route114_FossilManiacsHouse_EventScript_22AD73 + bg_event 7, 2, 0, 1, 0, Route114_FossilManiacsHouse_EventScript_22AD7C + bg_event 8, 2, 0, 1, 0, Route114_FossilManiacsHouse_EventScript_22AD7C + +Route114_FossilManiacsHouse_MapEvents:: @ 8533D5C + map_events Route114_FossilManiacsHouse_MapObjects, Route114_FossilManiacsHouse_MapWarps, 0x0, Route114_FossilManiacsHouse_MapBGEvents + diff --git a/data/maps/events/Route114_FossilManiacsTunnel.inc b/data/maps/events/Route114_FossilManiacsTunnel.inc new file mode 100644 index 0000000000..3fb19d06e7 --- /dev/null +++ b/data/maps/events/Route114_FossilManiacsTunnel.inc @@ -0,0 +1,15 @@ +Route114_FossilManiacsTunnel_MapObjects: @ 8533D70 + object_event 1, MAP_OBJ_GFX_MANIAC, 0, 0, 5, 3, 3, 7, 17, 0, 0, 0, Route114_FossilManiacsTunnel_EventScript_22AF87, 0, 0, 0 + +Route114_FossilManiacsTunnel_MapWarps: @ 8533D88 + warp_def 6, 25, 3, 2, ROUTE_114_FOSSIL_MANIACS_HOUSE + warp_def 7, 25, 3, 2, ROUTE_114_FOSSIL_MANIACS_HOUSE + warp_def 6, 2, 0, 0, DESERT_UNDERPASS + +Route114_FossilManiacsTunnel_MapCoordEvents: @ 8533DA0 + coord_event 5, 4, 3, 0, VAR_0x40CC, 1, 0, Route114_FossilManiacsTunnel_EventScript_22AF66 + coord_event 6, 4, 3, 0, VAR_0x40CC, 1, 0, Route114_FossilManiacsTunnel_EventScript_22AF66 + +Route114_FossilManiacsTunnel_MapEvents:: @ 8533DC0 + map_events Route114_FossilManiacsTunnel_MapObjects, Route114_FossilManiacsTunnel_MapWarps, Route114_FossilManiacsTunnel_MapCoordEvents, 0x0 + diff --git a/data/maps/events/Route114_LanettesHouse.inc b/data/maps/events/Route114_LanettesHouse.inc new file mode 100644 index 0000000000..c6e493c739 --- /dev/null +++ b/data/maps/events/Route114_LanettesHouse.inc @@ -0,0 +1,15 @@ +Route114_LanettesHouse_MapObjects: @ 8533DD4 + object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 5, 4, 3, 1, 0, 0, 0, 0, Route114_LanettesHouse_EventScript_22B2D2, 870, 0, 0 + +Route114_LanettesHouse_MapWarps: @ 8533DEC + warp_def 5, 7, 0, 2, ROUTE_114 + warp_def 6, 7, 0, 2, ROUTE_114 + +Route114_LanettesHouse_MapBGEvents: @ 8533DFC + bg_event 5, 1, 0, 0, 0, Route114_LanettesHouse_EventScript_22B309 + bg_event 8, 1, 0, 0, 0, Route114_LanettesHouse_EventScript_22B345 + bg_event 7, 1, 0, 0, 0, Route114_LanettesHouse_EventScript_22B345 + +Route114_LanettesHouse_MapEvents:: @ 8533E20 + map_events Route114_LanettesHouse_MapObjects, Route114_LanettesHouse_MapWarps, 0x0, Route114_LanettesHouse_MapBGEvents + diff --git a/data/maps/events/Route115.inc b/data/maps/events/Route115.inc new file mode 100644 index 0000000000..e59081620b --- /dev/null +++ b/data/maps/events/Route115.inc @@ -0,0 +1,49 @@ +Route115_MapObjects: @ 852A1BC + object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 18, 68, 3, 2, 17, 0, 0, 0, Route115_EventScript_1F2973, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 5, 15, 3, 10, 0, 0, 1, 6, Route115_EventScript_1F298E, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 27, 53, 3, 15, 17, 0, 1, 4, Route115_EventScript_1F2A07, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 12, 5, 3, 12, 0, 0, 0, 69, BerryTreeScript, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 13, 5, 3, 12, 0, 0, 0, 70, BerryTreeScript, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 14, 5, 3, 12, 0, 0, 0, 71, BerryTreeScript, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_GIRL_3, 0, 0, 15, 50, 3, 64, 0, 0, 1, 3, Route115_EventScript_1F2A69, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 19, 15, 3, 27, 5, 0, 1, 2, Route115_EventScript_1F29F0, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_MANIAC, 0, 0, 24, 62, 3, 18, 0, 0, 1, 4, Route115_EventScript_1F2ACB, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 20, 60, 3, 1, 0, 0, 0, 0, Route115_EventScript_290E2A, 1016, 0, 0 + object_event 11, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 18, 7, 3, 1, 0, 0, 0, 0, Route115_EventScript_290E37, 1017, 0, 0 + object_event 12, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 23, 29, 3, 1, 0, 0, 0, 0, Route115_EventScript_290E44, 1018, 0, 0 + object_event 13, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 31, 64, 3, 12, 0, 0, 0, 55, BerryTreeScript, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 31, 65, 3, 12, 0, 0, 0, 56, BerryTreeScript, 0, 0, 0 + object_event 15, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 29, 50, 3, 1, 17, 0, 0, 0, Route115_EventScript_2907A6, 17, 0, 0 + object_event 16, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 31, 56, 3, 1, 17, 0, 0, 0, Route115_EventScript_290E51, 1118, 0, 0 + object_event 17, MAP_OBJ_GFX_RUNNING_TRIATHLETE_F, 0, 0, 10, 15, 3, 46, 51, 0, 1, 2, Route115_EventScript_1F2AE2, 0, 0, 0 + object_event 18, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 11, 12, 3, 57, 17, 0, 1, 3, Route115_EventScript_1F2AF9, 0, 0, 0 + object_event 19, MAP_OBJ_GFX_GIRL_3, 0, 0, 15, 7, 3, 9, 17, 0, 1, 4, Route115_EventScript_1F2B27, 0, 0, 0 + object_event 20, MAP_OBJ_GFX_LASS, 0, 0, 10, 7, 3, 10, 17, 0, 1, 4, Route115_EventScript_1F2B10, 0, 0, 0 + object_event 21, MAP_OBJ_GFX_LASS, 0, 0, 28, 62, 3, 9, 17, 0, 1, 4, Route115_EventScript_1F2B3E, 0, 0, 0 + object_event 22, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 26, 67, 3, 1, 17, 0, 0, 0, Route115_EventScript_290E6B, 1161, 0, 0 + object_event 23, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 12, 14, 3, 1, 17, 0, 0, 0, Route115_EventScript_290E5E, 1144, 0, 0 + +Route115_MapWarps: @ 852A3E4 + warp_def 27, 37, 0, 1, METEOR_FALLS_1F_1R + warp_def 21, 6, 0, 0, TERRA_CAVE_ENTRANCE + warp_def 36, 10, 0, 0, TERRA_CAVE_ENTRANCE + +Route115_MapBGEvents: @ 852A3FC + bg_event 32, 6, 0, 8, 0, 72, 0, 0 + bg_event 21, 18, 0, 8, 0, 62, 0, 0 + bg_event 16, 64, 0, 0, 0, Route115_EventScript_1F297C + bg_event 25, 38, 3, 0, 0, Route115_EventScript_1F2985 + bg_event 8, 30, 0, 8, 0, ITEM_CHERI_BERRY, 0, 0 + bg_event 32, 39, 0, 8, 0, ITEM_BLACK_FLUTE, 0, 0 + bg_event 26, 15, 0, 8, 0, 52, 0, 0 + bg_event 23, 8, 0, 8, 0, ITEM_WHITE_FLUTE, 0, 0 + bg_event 32, 46, 0, 8, 0, 53, 0, 0 + bg_event 7, 20, 0, 8, 0, ITEM_STARF_BERRY, 0, 0 + bg_event 8, 20, 0, 8, 0, ITEM_QUICK_CLAW, 0, 0 + bg_event 25, 24, 0, 8, 0, ITEM_HP_UP, 0, 0 + bg_event 20, 53, 0, 8, 0, ITEM_HYPER_POTION, 0, 0 + bg_event 15, 49, 3, 7, 0, ITEM_HEART_SCALE, 97, 0 + +Route115_MapEvents:: @ 852A4A4 + map_events Route115_MapObjects, Route115_MapWarps, 0x0, Route115_MapBGEvents + diff --git a/data/maps/events/Route116.inc b/data/maps/events/Route116.inc new file mode 100644 index 0000000000..a28f44e921 --- /dev/null +++ b/data/maps/events/Route116.inc @@ -0,0 +1,56 @@ +Route116_MapObjects: @ 852A4B8 + object_event 1, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 18, 2, 3, 12, 0, 0, 0, 25, BerryTreeScript, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 19, 2, 3, 12, 0, 0, 0, 26, BerryTreeScript, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 12, 7, 3, 16, 0, 0, 1, 3, Route116_EventScript_1F2E89, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 21, 6, 3, 1, 0, 0, 0, 0, Route116_EventScript_2906BB, 17, 0, 0 + object_event 5, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 32, 10, 3, 1, 0, 0, 0, 0, Route116_EventScript_2906BB, 18, 0, 0 + object_event 6, MAP_OBJ_GFX_BUG_CATCHER, 0, 0, 13, 17, 3, 24, 0, 0, 1, 2, Route116_EventScript_1F2EA0, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 19, 6, 3, 1, 0, 0, 0, 0, Route116_EventScript_290E85, 1019, 0, 0 + object_event 8, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 10, 17, 3, 1, 0, 0, 0, 0, Route116_EventScript_290E92, 1020, 0, 0 + object_event 9, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 20, 2, 3, 12, 0, 0, 0, 66, BerryTreeScript, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 21, 2, 3, 12, 0, 0, 0, 67, BerryTreeScript, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 46, 9, 3, 1, 0, 0, 0, 0, Route116_EventScript_1F2D84, 891, 0, 0 + object_event 12, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 28, 11, 3, 1, 0, 0, 0, 0, Route116_EventScript_2906BB, 19, 0, 0 + object_event 13, MAP_OBJ_GFX_HIKER, 0, 0, 36, 17, 3, 15, 0, 0, 1, 3, Route116_EventScript_1F2F65, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 24, 9, 3, 1, 0, 0, 0, 0, Route116_EventScript_2906BB, 20, 0, 0 + object_event 15, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 80, 8, 3, 1, 0, 0, 0, 0, Route116_EventScript_290E9F, 1021, 0, 0 + object_event 16, MAP_OBJ_GFX_LASS, 0, 0, 26, 6, 3, 10, 0, 0, 1, 2, Route116_EventScript_1F2F7C, 0, 0, 0 + object_event 17, MAP_OBJ_GFX_GIRL_3, 0, 0, 22, 16, 3, 13, 0, 0, 1, 3, Route116_EventScript_1F2F93, 0, 0, 0 + object_event 18, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 28, 8, 3, 7, 0, 0, 1, 4, Route116_EventScript_1F2EB7, 0, 0, 0 + object_event 19, MAP_OBJ_GFX_MAN_2, 0, 0, 46, 11, 3, 1, 17, 0, 0, 0, Route116_EventScript_1F2CA2, 947, 0, 0 + object_event 20, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 55, 12, 4, 1, 17, 0, 0, 0, Route116_EventScript_290E78, 1001, 0, 0 + object_event 21, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 38, 9, 3, 10, 17, 0, 0, 0, Route116_EventScript_1F2C70, 894, 0, 0 + object_event 22, MAP_OBJ_GFX_MANIAC, 0, 0, 74, 13, 3, 1, 17, 0, 0, 0, Route116_EventScript_1F2DB6, 813, 0, 0 + object_event 23, MAP_OBJ_GFX_WOMAN_3, 0, 0, 33, 8, 3, 7, 0, 0, 1, 1, Route116_EventScript_1F3041, 0, 0, 0 + object_event 24, MAP_OBJ_GFX_BOY_2, 0, 0, 33, 5, 3, 8, 0, 0, 1, 2, Route116_EventScript_1F3058, 0, 0, 0 + object_event 25, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 34, 7, 0, 1, 17, 0, 0, 0, Route116_EventScript_290EAC, 1146, 0, 0 + object_event 26, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 30, 5, 3, 1, 17, 0, 0, 0, Route116_EventScript_2906BB, 21, 0, 0 + object_event 27, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 36, 13, 3, 18, 17, 0, 1, 5, Route116_EventScript_1F3086, 0, 0, 0 + object_event 28, MAP_OBJ_GFX_HIKER, 0, 0, 42, 13, 3, 9, 17, 0, 1, 5, Route116_EventScript_1F306F, 0, 0, 0 + +Route116_MapWarps: @ 852A758 + warp_def 47, 8, 0, 0, RUSTURF_TUNNEL + warp_def 38, 8, 0, 0, ROUTE_116_TUNNELERS_REST_HOUSE + warp_def 65, 10, 0, 2, RUSTURF_TUNNEL + warp_def 59, 13, 0, 0, TERRA_CAVE_ENTRANCE + warp_def 79, 6, 0, 0, TERRA_CAVE_ENTRANCE + +Route116_MapCoordEvents: @ 852A780 + coord_event 47, 9, 3, 0, VAR_0x406F, 1, 0, Route116_EventScript_1F2D95 + +Route116_MapBGEvents: @ 852A790 + bg_event 5, 10, 0, 0, 0, Route116_EventScript_1F2D57 + bg_event 48, 9, 0, 0, 0, Route116_EventScript_1F2D60 + bg_event 40, 9, 0, 0, 0, Route116_EventScript_1F2D69 + bg_event 71, 4, 0, 8, 0, ITEM_FLUFFY_TAIL, 0, 0 + bg_event 79, 11, 0, 8, 0, 91, 0, 0 + bg_event 16, 12, 0, 0, 0, Route116_EventScript_1F2D72 + bg_event 29, 10, 0, 0, 0, Route116_EventScript_1F2D7B + bg_event 56, 6, 0, 8, 0, 102, 0, 0 + bg_event 55, 15, 0, 8, 0, 112, 0, 0 + bg_event 22, 9, 3, 7, 0, ITEM_SUPER_POTION, 45, 0 + bg_event 70, 13, 3, 7, 0, ITEM_BLACK_GLASSES, 96, 0 + +Route116_MapEvents:: @ 852A814 + map_events Route116_MapObjects, Route116_MapWarps, Route116_MapCoordEvents, Route116_MapBGEvents + diff --git a/data/maps/events/Route116_TunnelersRestHouse.inc b/data/maps/events/Route116_TunnelersRestHouse.inc new file mode 100644 index 0000000000..bc159312ed --- /dev/null +++ b/data/maps/events/Route116_TunnelersRestHouse.inc @@ -0,0 +1,12 @@ +Route116_TunnelersRestHouse_MapObjects: @ 8533E34 + object_event 1, MAP_OBJ_GFX_MAN_3, 0, 0, 6, 5, 3, 10, 0, 0, 0, 0, Route116_TunnelersRestHouse_EventScript_22B85A, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_3, 0, 0, 3, 6, 3, 1, 17, 0, 0, 0, Route116_TunnelersRestHouse_EventScript_22B86C, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_3, 0, 0, 7, 2, 3, 7, 1, 0, 0, 0, Route116_TunnelersRestHouse_EventScript_22B863, 0, 0, 0 + +Route116_TunnelersRestHouse_MapWarps: @ 8533E7C + warp_def 4, 8, 0, 1, ROUTE_116 + warp_def 5, 8, 0, 1, ROUTE_116 + +Route116_TunnelersRestHouse_MapEvents:: @ 8533E8C + map_events Route116_TunnelersRestHouse_MapObjects, Route116_TunnelersRestHouse_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Route117.inc b/data/maps/events/Route117.inc new file mode 100644 index 0000000000..5b0e89239b --- /dev/null +++ b/data/maps/events/Route117.inc @@ -0,0 +1,38 @@ +Route117_MapObjects: @ 852A828 + object_event 1, MAP_OBJ_GFX_WOMAN_1, 0, 0, 13, 13, 3, 8, 0, 0, 0, 0, Route117_EventScript_1F399A, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 25, 5, 3, 40, 34, 0, 0, 0, Route117_EventScript_1F39A3, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 47, 4, 3, 8, 0, 0, 0, 0, Route117_EventScript_291C18, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_ZIGZAGOON_2, 0, 0, 33, 3, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_KECLEON_1, 0, 0, 39, 4, 3, 1, 0, 0, 0, 0, 0x0, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_AZUMARILL, 0, 0, 42, 2, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_PIKACHU, 0, 0, 49, 2, 3, 1, 0, 0, 0, 0, 0x0, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_RUNNING_TRIATHLETE_M, 0, 0, 38, 16, 3, 28, 8, 0, 1, 4, Route117_EventScript_1F3A94, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_WOMAN_3, 0, 0, 8, 10, 3, 23, 0, 0, 1, 3, Route117_EventScript_1F3A32, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_MAN_5, 0, 0, 33, 11, 3, 16, 0, 0, 1, 4, Route117_EventScript_1F39D0, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 41, 13, 3, 12, 0, 0, 0, 29, BerryTreeScript, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 42, 13, 3, 12, 0, 0, 0, 28, BerryTreeScript, 0, 0, 0 + object_event 13, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 43, 13, 3, 12, 0, 0, 0, 27, BerryTreeScript, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 16, 18, 3, 1, 0, 0, 0, 0, Route117_EventScript_290EB9, 1022, 0, 0 + object_event 15, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 15, 2, 3, 1, 0, 0, 0, 0, Route117_EventScript_2906BB, 17, 0, 0 + object_event 16, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 9, 1, 3, 1, 0, 0, 0, 0, Route117_EventScript_290EC6, 1023, 0, 0 + object_event 17, MAP_OBJ_GFX_RUNNING_TRIATHLETE_F, 0, 0, 26, 13, 3, 33, 34, 0, 1, 5, Route117_EventScript_1F3AF6, 0, 0, 0 + object_event 18, MAP_OBJ_GFX_MANIAC, 0, 0, 17, 12, 3, 7, 17, 0, 1, 4, Route117_EventScript_1F3B58, 0, 0, 0 + object_event 19, MAP_OBJ_GFX_LASS, 0, 0, 43, 6, 3, 8, 0, 0, 1, 1, Route117_EventScript_1F3BD3, 0, 0, 0 + object_event 20, MAP_OBJ_GFX_LASS, 0, 0, 42, 6, 3, 8, 0, 0, 1, 1, Route117_EventScript_1F3B6F, 0, 0, 0 + object_event 21, MAP_OBJ_GFX_GIRL_2, 0, 0, 48, 10, 3, 2, 17, 0, 0, 0, Route117_EventScript_1F39AC, 0, 0, 0 + object_event 22, MAP_OBJ_GFX_LASS, 0, 0, 15, 4, 3, 10, 17, 0, 1, 4, Route117_EventScript_1F3C4E, 0, 0, 0 + object_event 23, MAP_OBJ_GFX_GIRL_3, 0, 0, 21, 4, 3, 9, 17, 0, 1, 4, Route117_EventScript_1F3C65, 0, 0, 0 + object_event 24, MAP_OBJ_GFX_RUNNING_TRIATHLETE_F, 0, 0, 16, 4, 3, 28, 20, 0, 1, 4, Route117_EventScript_1F3C37, 0, 0, 0 + +Route117_MapWarps: @ 852AA68 + warp_def 51, 5, 0, 0, ROUTE_117_POKEMON_DAY_CARE + +Route117_MapBGEvents: @ 852AA70 + bg_event 16, 6, 0, 0, 0, Route117_EventScript_1F39B5 + bg_event 49, 12, 0, 0, 0, Route117_EventScript_1F39BE + bg_event 49, 5, 0, 0, 0, Route117_EventScript_1F39C7 + bg_event 3, 18, 3, 7, 0, ITEM_REPEL, 72, 0 + +Route117_MapEvents:: @ 852AAA0 + map_events Route117_MapObjects, Route117_MapWarps, 0x0, Route117_MapBGEvents + diff --git a/data/maps/events/Route117_PokemonDayCare.inc b/data/maps/events/Route117_PokemonDayCare.inc new file mode 100644 index 0000000000..e9625991f3 --- /dev/null +++ b/data/maps/events/Route117_PokemonDayCare.inc @@ -0,0 +1,10 @@ +Route117_PokemonDayCare_MapObjects: @ 8533EA0 + object_event 1, MAP_OBJ_GFX_OLD_WOMAN_2, 0, 0, 2, 2, 3, 8, 0, 0, 0, 0, Route117_PokemonDayCare_EventScript_291D11, 0, 0, 0 + +Route117_PokemonDayCare_MapWarps: @ 8533EB8 + warp_def 2, 8, 0, 0, ROUTE_117 + warp_def 3, 8, 0, 0, ROUTE_117 + +Route117_PokemonDayCare_MapEvents:: @ 8533EC8 + map_events Route117_PokemonDayCare_MapObjects, Route117_PokemonDayCare_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Route118.inc b/data/maps/events/Route118.inc new file mode 100644 index 0000000000..40e1e4b709 --- /dev/null +++ b/data/maps/events/Route118.inc @@ -0,0 +1,46 @@ +Route118_MapObjects: @ 852AAB4 + object_event 1, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 35, 5, 3, 12, 0, 0, 0, 31, BerryTreeScript, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 36, 5, 3, 12, 0, 0, 0, 32, BerryTreeScript, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 37, 5, 3, 12, 0, 0, 0, 33, BerryTreeScript, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MAN_6, 0, 0, 64, 10, 3, 8, 0, 0, 1, 3, Route118_EventScript_1F4079, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_REPORTER_F, 0, 0, 33, 8, 3, 8, 0, 0, 0, 0, Route118_EventScript_28CE16, 797, 0, 0 + object_event 6, MAP_OBJ_GFX_CAMERAMAN, 0, 0, 34, 8, 3, 8, 0, 0, 0, 0, Route118_EventScript_28CE36, 797, 0, 0 + object_event 7, MAP_OBJ_GFX_GIRL_2, 0, 0, 12, 10, 3, 2, 17, 0, 0, 0, Route118_EventScript_1F3E73, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_REPORTER_F, 0, 0, 33, 8, 3, 8, 0, 0, 0, 0, Route118_EventScript_28CED6, 901, 0, 0 + object_event 9, MAP_OBJ_GFX_CAMERAMAN, 0, 0, 34, 8, 3, 8, 0, 0, 0, 0, Route118_EventScript_28CEF6, 901, 0, 0 + object_event 10, MAP_OBJ_GFX_REPORTER_F, 0, 0, 33, 8, 3, 8, 0, 0, 0, 0, Route118_EventScript_28CF16, 904, 0, 0 + object_event 11, MAP_OBJ_GFX_CAMERAMAN, 0, 0, 34, 8, 3, 8, 0, 0, 0, 0, Route118_EventScript_28CF36, 904, 0, 0 + object_event 12, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 38, 8, 3, 1, 0, 0, 0, 0, Route118_EventScript_2906BB, 17, 0, 0 + object_event 13, MAP_OBJ_GFX_FISHERMAN, 0, 0, 28, 8, 3, 9, 0, 0, 0, 0, Route118_EventScript_1F3E14, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_WOMAN_3, 0, 0, 7, 12, 3, 7, 0, 0, 1, 4, Route118_EventScript_1F3F87, 0, 0, 0 + object_event 15, MAP_OBJ_GFX_FISHERMAN, 0, 0, 14, 14, 3, 8, 0, 0, 1, 0, Route118_EventScript_1F4000, 0, 0, 0 + object_event 16, MAP_OBJ_GFX_MAN_6, 0, 0, 56, 7, 3, 16, 0, 0, 1, 3, Route118_EventScript_1F4090, 0, 0, 0 + object_event 17, MAP_OBJ_GFX_FISHERMAN, 0, 0, 39, 15, 3, 1, 0, 0, 1, 2, Route118_EventScript_1F3FE9, 0, 0, 0 + object_event 18, MAP_OBJ_GFX_MAN_6, 0, 0, 17, 11, 3, 15, 17, 0, 1, 3, Route118_EventScript_1F4017, 0, 0, 0 + object_event 19, MAP_OBJ_GFX_STEVEN, 0, 0, 44, 7, 3, 8, 17, 0, 0, 0, 0x0, 966, 0, 0 + object_event 20, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 69, 7, 3, 1, 17, 0, 0, 0, Route118_EventScript_290ED3, 1121, 0, 0 + object_event 21, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 7, 7, 3, 8, 17, 0, 1, 4, Route118_EventScript_1F40A7, 0, 0, 0 + +Route118_MapWarps: @ 852ACAC + warp_def 42, 6, 0, 0, TERRA_CAVE_ENTRANCE + warp_def 9, 6, 0, 0, TERRA_CAVE_ENTRANCE + +Route118_MapCoordEvents: @ 852ACBC + coord_event 43, 11, 3, 0, VAR_0x4071, 0, 0, Route118_EventScript_1F3E8E + coord_event 44, 11, 3, 0, VAR_0x4071, 0, 0, Route118_EventScript_1F3EAE + coord_event 45, 11, 3, 0, VAR_0x4071, 0, 0, Route118_EventScript_1F3EC4 + +Route118_MapBGEvents: @ 852ACEC + bg_event 47, 14, 0, 8, 0, ITEM_MASTER_BALL, 0, 0 + bg_event 13, 6, 0, 0, 0, Route118_EventScript_1F3E7C + bg_event 56, 8, 0, 0, 0, Route118_EventScript_1F3E85 + bg_event 67, 6, 0, 8, 0, ITEM_LUXURY_BALL, 0, 0 + bg_event 29, 5, 0, 8, 0, ITEM_HARBOR_MAIL, 0, 0 + bg_event 47, 5, 0, 8, 0, ITEM_SPELON_BERRY, 0, 0 + bg_event 46, 5, 0, 8, 0, ITEM_PETAYA_BERRY, 0, 0 + bg_event 31, 13, 3, 7, 0, ITEM_IRON, 67, 0 + bg_event 12, 14, 3, 7, 0, ITEM_HEART_SCALE, 66, 0 + +Route118_MapEvents:: @ 852AD58 + map_events Route118_MapObjects, Route118_MapWarps, Route118_MapCoordEvents, Route118_MapBGEvents + diff --git a/data/maps/events/Route119.inc b/data/maps/events/Route119.inc new file mode 100644 index 0000000000..e78006b3c4 --- /dev/null +++ b/data/maps/events/Route119.inc @@ -0,0 +1,99 @@ +Route119_MapObjects: @ 852AD6C + object_event 1, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 24, 5, 3, 12, 0, 0, 0, 34, BerryTreeScript, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 25, 5, 3, 12, 0, 0, 0, 35, BerryTreeScript, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 26, 5, 3, 12, 0, 0, 0, 36, BerryTreeScript, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BUG_CATCHER, 0, 0, 12, 123, 3, 59, 0, 0, 1, 1, Route119_EventScript_1F47E2, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_MANIAC, 0, 0, 26, 123, 3, 60, 0, 0, 1, 1, Route119_EventScript_1F47B4, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_MANIAC, 0, 0, 5, 125, 3, 62, 0, 0, 1, 1, Route119_EventScript_1F479D, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_CAMPER, 0, 0, 7, 74, 3, 18, 0, 0, 1, 3, Route119_EventScript_1F4810, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_MANIAC, 0, 0, 28, 116, 3, 60, 0, 0, 1, 1, Route119_EventScript_1F4786, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_PICNICKER, 0, 0, 35, 83, 4, 8, 0, 0, 1, 2, Route119_EventScript_1F4872, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_BUG_CATCHER, 0, 0, 34, 122, 3, 61, 0, 0, 1, 1, Route119_EventScript_1F47CB, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_BUG_CATCHER, 0, 0, 17, 128, 3, 61, 0, 0, 1, 1, Route119_EventScript_1F47F9, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 28, 14, 3, 57, 0, 0, 1, 1, Route119_EventScript_1F4902, 0, 0, 0 + object_event 13, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 19, 49, 3, 58, 0, 0, 1, 3, Route119_EventScript_1F4919, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_MAN_6, 0, 0, 10, 50, 4, 10, 0, 0, 1, 3, Route119_EventScript_1F48D4, 0, 0, 0 + object_event 15, MAP_OBJ_GFX_MAN_6, 0, 0, 8, 63, 3, 8, 0, 0, 1, 5, Route119_EventScript_1F48EB, 0, 0, 0 + object_event 16, MAP_OBJ_GFX_HIPSTER, 0, 0, 25, 32, 3, 7, 0, 0, 0, 0, 0x0, 851, 0, 0 + object_event 17, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 12, 121, 3, 1, 0, 0, 0, 0, Route119_EventScript_290EE0, 1024, 0, 0 + object_event 18, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 96, 3, 1, 0, 0, 0, 0, Route119_EventScript_290EED, 1025, 0, 0 + object_event 19, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 29, 53, 3, 1, 0, 0, 0, 0, Route119_EventScript_290EFA, 1026, 0, 0 + object_event 20, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 25, 76, 3, 1, 0, 0, 0, 0, Route119_EventScript_290F07, 1027, 0, 0 + object_event 21, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 8, 18, 3, 1, 0, 0, 0, 0, Route119_EventScript_290F14, 1028, 0, 0 + object_event 22, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 33, 117, 3, 1, 0, 0, 0, 0, Route119_EventScript_290F21, 1029, 0, 0 + object_event 23, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 13, 33, 4, 10, 0, 0, 0, 0, Route119_EventScript_1F49A3, 890, 0, 0 + object_event 24, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 13, 34, 4, 10, 0, 0, 0, 0, Route119_EventScript_1F49BA, 890, 0, 0 + object_event 25, MAP_OBJ_GFX_GIDDY, 0, 0, 17, 33, 4, 7, 0, 0, 0, 0, 0x0, 923, 0, 0 + object_event 26, MAP_OBJ_GFX_BOY_3, 0, 0, 31, 109, 3, 8, 17, 0, 0, 0, Route119_EventScript_1F49D1, 0, 0, 0 + object_event 27, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 8, 23, 3, 12, 0, 0, 0, 83, BerryTreeScript, 0, 0, 0 + object_event 28, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 9, 23, 3, 12, 0, 0, 0, 84, BerryTreeScript, 0, 0, 0 + object_event 29, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 29, 90, 3, 12, 0, 0, 0, 85, BerryTreeScript, 0, 0, 0 + object_event 30, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 30, 90, 3, 12, 0, 0, 0, 86, BerryTreeScript, 0, 0, 0 + object_event 31, MAP_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 0, 19, 133, 3, 5, 18, 0, 0, 0, Route119_EventScript_1F476B, 0, 0, 0 + object_event 32, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 56, 3, 1, 17, 0, 0, 0, Route119_EventScript_290F2E, 1106, 0, 0 + object_event 33, MAP_OBJ_GFX_BOY_2, 0, 0, 35, 93, 4, 2, 17, 0, 0, 0, Route119_EventScript_1F49DA, 0, 0, 0 + object_event 34, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 29, 6, 3, 57, 17, 0, 1, 3, Route119_EventScript_1F4930, 0, 0, 0 + object_event 35, MAP_OBJ_GFX_KECLEON_1, 0, 0, 31, 6, 3, 76, 17, 0, 0, 0, Route119_EventScript_27231C, 989, 0, 0 + object_event 36, MAP_OBJ_GFX_KECLEON_1, 0, 0, 25, 15, 3, 76, 17, 0, 0, 0, Route119_EventScript_272329, 990, 0, 0 + object_event 37, MAP_OBJ_GFX_FISHERMAN, 0, 0, 13, 104, 3, 10, 17, 0, 1, 0, Route119_EventScript_1F4947, 0, 0, 0 + object_event 38, MAP_OBJ_GFX_WOMAN_3, 0, 0, 8, 68, 3, 7, 17, 0, 1, 5, Route119_EventScript_1F498C, 0, 0, 0 + object_event 39, MAP_OBJ_GFX_MAN_6, 0, 0, 16, 52, 3, 10, 17, 0, 1, 3, Route119_EventScript_1F4975, 0, 0, 0 + object_event 40, MAP_OBJ_GFX_MAN_6, 0, 0, 32, 15, 3, 9, 17, 0, 1, 4, Route119_EventScript_1F495E, 0, 0, 0 + object_event 41, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 19, 5, 4, 1, 17, 0, 0, 0, Route119_EventScript_291399, 1134, 0, 0 + object_event 42, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 24, 42, 3, 1, 17, 0, 0, 0, Route119_EventScript_290F3B, 1147, 0, 0 + object_event 43, MAP_OBJ_GFX_SCOTT, 0, 0, 28, 25, 3, 8, 0, 0, 0, 0, 0x0, 786, 0, 0 + +Route119_MapWarps: @ 852B174 + warp_def 6, 32, 0, 0, ROUTE_119_WEATHER_INSTITUTE_1F + warp_def 33, 109, 0, 0, ROUTE_119_HOUSE + +Route119_MapCoordEvents: @ 852B184 + coord_event 25, 31, 0, 0, VAR_0x4072, 0, 0, Route119_EventScript_1F4472 + coord_event 26, 31, 0, 0, VAR_0x4072, 0, 0, Route119_EventScript_1F447D + coord_event 29, 13, 3, 0, 20, 0, 0, 0x0 + coord_event 30, 13, 3, 0, 20, 0, 0, 0x0 + coord_event 31, 13, 3, 0, 20, 0, 0, 0x0 + coord_event 32, 13, 3, 0, 20, 0, 0, 0x0 + coord_event 15, 133, 3, 0, 20, 0, 0, 0x0 + coord_event 16, 132, 3, 0, 20, 0, 0, 0x0 + coord_event 17, 131, 3, 0, 20, 0, 0, 0x0 + coord_event 18, 130, 3, 0, 20, 0, 0, 0x0 + coord_event 19, 131, 3, 0, 20, 0, 0, 0x0 + coord_event 20, 132, 3, 0, 20, 0, 0, 0x0 + coord_event 21, 133, 3, 0, 20, 0, 0, 0x0 + coord_event 36, 6, 3, 0, 2, 0, 0, 0x0 + coord_event 36, 7, 3, 0, 2, 0, 0, 0x0 + coord_event 35, 8, 3, 0, 2, 0, 0, 0x0 + coord_event 35, 9, 3, 0, 2, 0, 0, 0x0 + coord_event 16, 137, 3, 0, 2, 0, 0, 0x0 + coord_event 17, 137, 3, 0, 2, 0, 0, 0x0 + coord_event 18, 137, 3, 0, 2, 0, 0, 0x0 + coord_event 19, 137, 3, 0, 2, 0, 0, 0x0 + coord_event 20, 137, 3, 0, 2, 0, 0, 0x0 + coord_event 34, 13, 3, 0, 20, 0, 0, 0x0 + +Route119_MapBGEvents: @ 852B2F4 + bg_event 9, 33, 0, 0, 0, Route119_EventScript_1F477D + bg_event 27, 19, 0, 0, 0, Route119_EventScript_1F4774 + bg_event 5, 2, 0, 8, 0, ITEM_DRAGON_SCALE, 0, 0 + bg_event 4, 89, 0, 8, 0, ITEM_LIGHT_BALL, 0, 0 + bg_event 5, 15, 0, 8, 0, ITEM_POISON_BARB, 0, 0 + bg_event 7, 101, 3, 8, 0, ITEM_NEVER_MELT_ICE, 0, 0 + bg_event 34, 24, 3, 8, 0, ITEM_LAX_INCENSE, 0, 0 + bg_event 31, 73, 3, 8, 0, 231, 0, 0 + bg_event 16, 81, 0, 8, 0, ITEM_TINY_MUSHROOM, 0, 0 + bg_event 16, 28, 0, 8, 0, 113, 0, 0 + bg_event 17, 82, 3, 7, 0, ITEM_CALCIUM, 5, 0 + bg_event 38, 63, 3, 7, 0, ITEM_ULTRA_BALL, 6, 0 + bg_event 26, 81, 0, 8, 0, ITEM_FULL_HEAL, 0, 0 + bg_event 19, 76, 0, 8, 0, ITEM_LANSAT_BERRY, 0, 0 + bg_event 18, 76, 0, 8, 0, ITEM_DEEP_SEA_SCALE, 0, 0 + bg_event 4, 15, 0, 8, 0, ITEM_METAL_POWDER, 0, 0 + bg_event 6, 2, 0, 8, 0, 233, 0, 0 + bg_event 26, 120, 3, 7, 0, ITEM_FULL_HEAL, 68, 0 + bg_event 20, 29, 3, 7, 0, ITEM_MAX_ETHER, 87, 0 + bg_event 28, 9, 0, 0, 0, Route119_EventScript_1F49E3 + +Route119_MapEvents:: @ 852B3E4 + map_events Route119_MapObjects, Route119_MapWarps, Route119_MapCoordEvents, Route119_MapBGEvents + diff --git a/data/maps/events/Route119_House.inc b/data/maps/events/Route119_House.inc new file mode 100644 index 0000000000..7033c505ac --- /dev/null +++ b/data/maps/events/Route119_House.inc @@ -0,0 +1,16 @@ +Route119_House_MapObjects: @ 853ECD0 + object_event 1, MAP_OBJ_GFX_WOMAN_5, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, Route119_House_EventScript_270966, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WINGULL, 0, 0, 1, 6, 3, 2, 34, 0, 0, 0, Route119_House_EventScript_27096F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WINGULL, 0, 0, 0, 4, 3, 2, 19, 0, 0, 0, Route119_House_EventScript_27096F, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_WINGULL, 0, 0, 2, 2, 3, 2, 17, 0, 0, 0, Route119_House_EventScript_27096F, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_WINGULL, 0, 0, 8, 5, 3, 2, 35, 0, 0, 0, Route119_House_EventScript_27096F, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_WINGULL, 0, 0, 6, 6, 3, 2, 34, 0, 0, 0, Route119_House_EventScript_27096F, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_WINGULL, 0, 0, 5, 3, 3, 2, 49, 0, 0, 0, Route119_House_EventScript_27096F, 0, 0, 0 + +Route119_House_MapWarps: @ 853ED78 + warp_def 3, 8, 0, 1, ROUTE_119 + warp_def 4, 8, 0, 1, ROUTE_119 + +Route119_House_MapEvents:: @ 853ED88 + map_events Route119_House_MapObjects, Route119_House_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Route119_WeatherInstitute_1F.inc b/data/maps/events/Route119_WeatherInstitute_1F.inc new file mode 100644 index 0000000000..01a53d75a9 --- /dev/null +++ b/data/maps/events/Route119_WeatherInstitute_1F.inc @@ -0,0 +1,21 @@ +Route119_WeatherInstitute_1F_MapObjects: @ 853EB20 + object_event 1, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 15, 3, 3, 9, 0, 0, 1, 3, Route119_WeatherInstitute_1F_EventScript_26FB29, 890, 0, 0 + object_event 2, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 10, 5, 3, 8, 0, 0, 1, 2, Route119_WeatherInstitute_1F_EventScript_26FB40, 890, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_5, 0, 0, 5, 4, 3, 8, 0, 0, 0, 0, Route119_WeatherInstitute_1F_EventScript_26FB0F, 892, 0, 0 + object_event 4, MAP_OBJ_GFX_MAN_5, 0, 0, 2, 11, 3, 1, 1, 0, 0, 0, Route119_WeatherInstitute_1F_EventScript_26FAC8, 892, 0, 0 + object_event 5, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 14, 11, 3, 2, 17, 0, 0, 0, Route119_WeatherInstitute_1F_EventScript_26FAA4, 0, 0, 0 + +Route119_WeatherInstitute_1F_MapWarps: @ 853EB98 + warp_def 9, 12, 0, 0, ROUTE_119 + warp_def 10, 12, 0, 0, ROUTE_119 + warp_def 17, 1, 0, 0, ROUTE_119_WEATHER_INSTITUTE_2F + +Route119_WeatherInstitute_1F_MapBGEvents: @ 853EBB0 + bg_event 1, 2, 0, 0, 0, Route119_WeatherInstitute_1F_EventScript_26FB18 + bg_event 1, 3, 0, 0, 0, Route119_WeatherInstitute_1F_EventScript_26FB18 + bg_event 0, 2, 0, 0, 0, Route119_WeatherInstitute_1F_EventScript_26FB18 + bg_event 0, 3, 0, 0, 0, Route119_WeatherInstitute_1F_EventScript_26FB18 + +Route119_WeatherInstitute_1F_MapEvents:: @ 853EBE0 + map_events Route119_WeatherInstitute_1F_MapObjects, Route119_WeatherInstitute_1F_MapWarps, 0x0, Route119_WeatherInstitute_1F_MapBGEvents + diff --git a/data/maps/events/Route119_WeatherInstitute_2F.inc b/data/maps/events/Route119_WeatherInstitute_2F.inc new file mode 100644 index 0000000000..3a68ca8657 --- /dev/null +++ b/data/maps/events/Route119_WeatherInstitute_2F.inc @@ -0,0 +1,16 @@ +Route119_WeatherInstitute_2F_MapObjects: @ 853EBF4 + object_event 1, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 15, 6, 3, 10, 0, 0, 1, 4, Route119_WeatherInstitute_2F_EventScript_26FF7F, 890, 0, 0 + object_event 2, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 10, 8, 3, 13, 0, 0, 1, 2, Route119_WeatherInstitute_2F_EventScript_26FF96, 890, 0, 0 + object_event 3, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 4, 6, 3, 10, 0, 0, 1, 0, Route119_WeatherInstitute_2F_EventScript_26FFAD, 890, 0, 0 + object_event 4, MAP_OBJ_GFX_MAN_5, 0, 0, 0, 6, 3, 10, 0, 0, 0, 0, 0x0, 893, 0, 0 + object_event 5, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 18, 6, 3, 1, 18, 0, 0, 0, Route119_WeatherInstitute_2F_EventScript_27018B, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_MAN_5, 0, 0, 1, 7, 3, 10, 0, 0, 0, 0, 0x0, 893, 0, 0 + object_event 7, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 16, 6, 3, 9, 17, 0, 0, 0, 0x0, 992, 0, 0 + object_event 8, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 19, 6, 3, 9, 17, 0, 1, 3, Route119_WeatherInstitute_2F_EventScript_26FF68, 890, 0, 0 + +Route119_WeatherInstitute_2F_MapWarps: @ 853ECB4 + warp_def 17, 1, 0, 2, ROUTE_119_WEATHER_INSTITUTE_1F + +Route119_WeatherInstitute_2F_MapEvents:: @ 853ECBC + map_events Route119_WeatherInstitute_2F_MapObjects, Route119_WeatherInstitute_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Route120.inc b/data/maps/events/Route120.inc new file mode 100644 index 0000000000..6206e713f7 --- /dev/null +++ b/data/maps/events/Route120.inc @@ -0,0 +1,90 @@ +Route120_MapObjects: @ 852B3F8 + object_event 1, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 4, 79, 3, 12, 0, 0, 0, 46, BerryTreeScript, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 5, 79, 3, 12, 0, 0, 0, 45, BerryTreeScript, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 6, 79, 3, 12, 0, 0, 0, 44, BerryTreeScript, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 7, 79, 3, 12, 0, 0, 0, 43, BerryTreeScript, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 34, 24, 3, 12, 0, 0, 0, 37, BerryTreeScript, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 35, 24, 3, 12, 0, 0, 0, 38, BerryTreeScript, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 36, 24, 3, 12, 0, 0, 0, 39, BerryTreeScript, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 9, 92, 5, 12, 0, 0, 0, 40, BerryTreeScript, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 10, 92, 5, 12, 0, 0, 0, 41, BerryTreeScript, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 11, 92, 5, 12, 0, 0, 0, 42, BerryTreeScript, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_MAN_6, 0, 0, 5, 22, 3, 14, 0, 0, 1, 3, Route120_EventScript_1F57D7, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_MAN_6, 0, 0, 32, 14, 3, 10, 0, 0, 1, 3, Route120_EventScript_1F57EE, 0, 0, 0 + object_event 13, MAP_OBJ_GFX_CAMPER, 0, 0, 27, 51, 3, 9, 0, 0, 1, 7, Route120_EventScript_1F5850, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_PICNICKER, 0, 0, 36, 45, 3, 9, 0, 0, 1, 2, Route120_EventScript_1F5867, 0, 0, 0 + object_event 15, MAP_OBJ_GFX_MANIAC, 0, 0, 19, 80, 5, 15, 0, 0, 1, 3, Route120_EventScript_1F587E, 0, 0, 0 + object_event 16, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 20, 55, 3, 1, 0, 0, 0, 0, Route120_EventScript_290F48, 1030, 0, 0 + object_event 17, MAP_OBJ_GFX_CAMERAMAN, 0, 0, 37, 5, 3, 8, 0, 0, 0, 0, Route120_EventScript_28CE76, 798, 0, 0 + object_event 18, MAP_OBJ_GFX_REPORTER_F, 0, 0, 36, 5, 3, 8, 0, 0, 0, 0, Route120_EventScript_28CE56, 798, 0, 0 + object_event 19, MAP_OBJ_GFX_REPORTER_F, 0, 0, 36, 5, 3, 8, 0, 0, 0, 0, Route120_EventScript_28CF16, 902, 0, 0 + object_event 20, MAP_OBJ_GFX_CAMERAMAN, 0, 0, 37, 5, 3, 8, 0, 0, 0, 0, Route120_EventScript_28CF36, 902, 0, 0 + object_event 21, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 35, 32, 3, 1, 0, 0, 0, 0, Route120_EventScript_2906BB, 17, 0, 0 + object_event 22, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 89, 3, 1, 0, 0, 0, 0, Route120_EventScript_290F55, 1031, 0, 0 + object_event 23, MAP_OBJ_GFX_BEAUTY, 0, 0, 14, 92, 5, 5, 1, 0, 0, 0, Route120_EventScript_1F5527, 0, 0, 0 + object_event 24, MAP_OBJ_GFX_WOMAN_7, 0, 0, 31, 37, 3, 15, 0, 0, 1, 4, Route120_EventScript_1F58E0, 0, 0, 0 + object_event 25, MAP_OBJ_GFX_HIKER, 0, 0, 9, 60, 3, 21, 0, 0, 1, 4, Route120_EventScript_1F58F7, 0, 0, 0 + object_event 26, MAP_OBJ_GFX_WOMAN_7, 0, 0, 16, 6, 3, 23, 0, 0, 1, 4, Route120_EventScript_1F590E, 0, 0, 0 + object_event 27, MAP_OBJ_GFX_WOMAN_7, 0, 0, 18, 34, 3, 9, 0, 0, 1, 3, Route120_EventScript_1F5925, 0, 0, 0 + object_event 28, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 22, 13, 3, 1, 17, 0, 0, 0, Route120_EventScript_290F6F, 1108, 0, 0 + object_event 29, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 23, 82, 5, 1, 17, 0, 0, 0, Route120_EventScript_290F62, 1107, 0, 0 + object_event 30, MAP_OBJ_GFX_KECLEON_1, 0, 0, 12, 16, 4, 76, 17, 0, 0, 0, Route120_EventScript_1F57BC, 970, 0, 0 + object_event 31, MAP_OBJ_GFX_STEVEN, 0, 0, 13, 15, 4, 8, 17, 0, 0, 0, Route120_EventScript_1F5641, 972, 0, 0 + object_event 32, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 20, 1, 3, 1, 17, 0, 0, 0, Route120_EventScript_2906BB, 20, 0, 0 + object_event 33, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 15, 1, 3, 1, 17, 0, 0, 0, Route120_EventScript_2906BB, 18, 0, 0 + object_event 34, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 10, 72, 3, 58, 17, 0, 1, 3, Route120_EventScript_1F593C, 0, 0, 0 + object_event 35, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 19, 28, 3, 57, 17, 0, 1, 3, Route120_EventScript_1F5953, 0, 0, 0 + object_event 36, MAP_OBJ_GFX_KECLEON_2, 0, 0, 12, 16, 3, 8, 17, 0, 0, 0, 0x0, 981, 0, 0 + object_event 37, MAP_OBJ_GFX_KECLEON_1, 0, 0, 20, 11, 3, 76, 17, 0, 0, 0, Route120_EventScript_2722DB, 982, 0, 0 + object_event 38, MAP_OBJ_GFX_KECLEON_1, 0, 0, 27, 2, 3, 76, 17, 0, 0, 0, Route120_EventScript_2722E8, 985, 0, 0 + object_event 39, MAP_OBJ_GFX_KECLEON_1, 0, 0, 4, 77, 3, 76, 17, 0, 0, 0, Route120_EventScript_2722F5, 986, 0, 0 + object_event 40, MAP_OBJ_GFX_KECLEON_1, 0, 0, 7, 51, 3, 76, 17, 0, 0, 0, Route120_EventScript_27230F, 988, 0, 0 + object_event 41, MAP_OBJ_GFX_KECLEON_1, 0, 0, 19, 48, 3, 76, 17, 0, 0, 0, Route120_EventScript_272302, 987, 0, 0 + object_event 42, MAP_OBJ_GFX_GIRL_3, 0, 0, 19, 32, 3, 7, 17, 0, 1, 3, Route120_EventScript_1F5981, 0, 0, 0 + object_event 43, MAP_OBJ_GFX_MAN_4, 0, 0, 14, 34, 3, 10, 17, 0, 1, 3, Route120_EventScript_1F596A, 0, 0, 0 + object_event 44, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 24, 33, 3, 1, 17, 0, 0, 0, Route120_EventScript_290F7C, 1148, 0, 0 + +Route120_MapWarps: @ 852B818 + warp_def 7, 55, 0, 0, ANCIENT_TOMB + warp_def 19, 23, 1, 0, SCORCHED_SLAB + +Route120_MapCoordEvents: @ 852B828 + coord_event 7, 15, 0, 0, 3, 0, 0, 0x0 + coord_event 7, 16, 0, 0, 3, 0, 0, 0x0 + coord_event 22, 61, 3, 0, 3, 0, 0, 0x0 + coord_event 12, 64, 3, 0, 3, 0, 0, 0x0 + coord_event 35, 63, 3, 0, 1, 0, 0, 0x0 + coord_event 36, 63, 3, 0, 1, 0, 0, 0x0 + coord_event 37, 63, 3, 0, 1, 0, 0, 0x0 + coord_event 38, 63, 3, 0, 1, 0, 0, 0x0 + coord_event 32, 88, 5, 0, 1, 0, 0, 0x0 + coord_event 28, 15, 0, 0, 2, 0, 0, 0x0 + coord_event 28, 16, 0, 0, 2, 0, 0, 0x0 + coord_event 28, 17, 3, 0, 2, 0, 0, 0x0 + coord_event 32, 89, 5, 0, 1, 0, 0, 0x0 + coord_event 32, 90, 5, 0, 1, 0, 0, 0x0 + coord_event 32, 91, 5, 0, 1, 0, 0, 0x0 + coord_event 10, 75, 3, 0, 1, 0, 0, 0x0 + coord_event 11, 75, 3, 0, 1, 0, 0, 0x0 + coord_event 12, 75, 3, 0, 1, 0, 0, 0x0 + coord_event 13, 75, 3, 0, 1, 0, 0, 0x0 + +Route120_MapBGEvents: @ 852B958 + bg_event 27, 3, 3, 0, 0, Route120_EventScript_1F57C5 + bg_event 38, 88, 3, 0, 0, Route120_EventScript_1F57CE + bg_event 28, 62, 0, 8, 0, 101, 0, 0 + bg_event 30, 62, 0, 8, 0, ITEM_HEART_SCALE, 0, 0 + bg_event 26, 10, 0, 8, 0, ITEM_LUCKY_PUNCH, 0, 0 + bg_event 29, 85, 5, 8, 0, 232, 0, 0 + bg_event 18, 12, 0, 8, 0, ITEM_SUN_STONE, 0, 0 + bg_event 38, 54, 0, 8, 0, ITEM_SOFT_SAND, 0, 0 + bg_event 31, 23, 0, 8, 0, ITEM_SPELL_TAG, 0, 0 + bg_event 9, 1, 3, 7, 0, ITEM_RARE_CANDY, 71, 0 + bg_event 31, 11, 3, 7, 0, ITEM_REVIVE, 84, 0 + bg_event 0, 86, 3, 7, 0, ITEM_RARE_CANDY, 69, 0 + bg_event 24, 42, 3, 7, 0, ITEM_ZINC, 70, 0 + bg_event 5, 76, 0, 8, 0, ITEM_HARD_STONE, 0, 0 + +Route120_MapEvents:: @ 852BA00 + map_events Route120_MapObjects, Route120_MapWarps, Route120_MapCoordEvents, Route120_MapBGEvents + diff --git a/data/maps/events/Route121.inc b/data/maps/events/Route121.inc new file mode 100644 index 0000000000..b58fe48584 --- /dev/null +++ b/data/maps/events/Route121.inc @@ -0,0 +1,55 @@ +Route121_MapObjects: @ 852BA14 + object_event 1, MAP_OBJ_GFX_WOMAN_4, 0, 0, 29, 14, 3, 10, 17, 0, 0, 0, Route121_EventScript_1F5DFD, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 14, 2, 3, 12, 0, 0, 0, 47, BerryTreeScript, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 15, 2, 3, 12, 0, 0, 0, 48, BerryTreeScript, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 16, 2, 3, 12, 0, 0, 0, 49, BerryTreeScript, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 17, 2, 3, 12, 0, 0, 0, 50, BerryTreeScript, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 64, 14, 3, 12, 0, 0, 0, 51, BerryTreeScript, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 65, 14, 3, 12, 0, 0, 0, 52, BerryTreeScript, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 66, 14, 3, 12, 0, 0, 0, 53, BerryTreeScript, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 67, 14, 3, 12, 0, 0, 0, 54, BerryTreeScript, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_LASS, 0, 0, 39, 9, 3, 8, 0, 0, 1, 1, Route121_EventScript_1F5F04, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_LASS, 0, 0, 40, 9, 3, 8, 0, 0, 1, 1, Route121_EventScript_1F5F1F, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 30, 8, 3, 7, 0, 0, 0, 0, 0x0, 914, 0, 0 + object_event 13, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 30, 7, 3, 10, 0, 0, 0, 0, 0x0, 914, 0, 0 + object_event 14, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 31, 7, 3, 9, 0, 0, 0, 0, 0x0, 914, 0, 0 + object_event 15, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 32, 5, 3, 1, 0, 0, 0, 0, Route121_EventScript_2906BB, 17, 0, 0 + object_event 16, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 65, 4, 3, 1, 0, 0, 0, 0, Route121_EventScript_2906BB, 18, 0, 0 + object_event 17, MAP_OBJ_GFX_WOMAN_2, 0, 0, 63, 5, 3, 9, 0, 0, 1, 4, Route121_EventScript_1F5E74, 0, 0, 0 + object_event 18, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 55, 8, 3, 9, 0, 0, 1, 3, Route121_EventScript_1F5E8B, 0, 0, 0 + object_event 19, MAP_OBJ_GFX_HEX_MANIAC, 0, 0, 11, 11, 3, 7, 0, 0, 1, 4, Route121_EventScript_1F5EED, 0, 0, 0 + object_event 20, MAP_OBJ_GFX_BEAUTY, 0, 0, 22, 5, 3, 17, 0, 0, 1, 4, Route121_EventScript_1F5F3A, 0, 0, 0 + object_event 21, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 55, 10, 3, 1, 17, 0, 0, 0, Route121_EventScript_290F89, 1103, 0, 0 + object_event 22, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 26, 12, 3, 1, 17, 0, 0, 0, Route121_EventScript_2906BB, 19, 0, 0 + object_event 23, MAP_OBJ_GFX_MANIAC, 0, 0, 11, 6, 3, 26, 65, 0, 1, 3, Route121_EventScript_1F5F9C, 0, 0, 0 + object_event 24, MAP_OBJ_GFX_MAN_5, 0, 0, 59, 8, 3, 8, 17, 0, 1, 4, Route121_EventScript_1F5FB3, 0, 0, 0 + object_event 25, MAP_OBJ_GFX_WOMAN_3, 0, 0, 59, 13, 3, 7, 17, 0, 1, 4, Route121_EventScript_1F5FCA, 0, 0, 0 + object_event 26, MAP_OBJ_GFX_MAN_4, 0, 0, 65, 9, 3, 18, 17, 0, 1, 6, Route121_EventScript_1F5FE1, 0, 0, 0 + object_event 27, MAP_OBJ_GFX_WOMAN_7, 0, 0, 72, 9, 3, 17, 17, 0, 1, 6, Route121_EventScript_1F5FF8, 0, 0, 0 + object_event 28, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 60, 10, 3, 1, 17, 0, 0, 0, Route121_EventScript_290F96, 1149, 0, 0 + object_event 29, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 38, 13, 3, 1, 17, 0, 0, 0, Route121_EventScript_290FA3, 1150, 0, 0 + +Route121_MapWarps: @ 852BCCC + warp_def 37, 5, 0, 2, ROUTE_121_SAFARI_ZONE_ENTRANCE + +Route121_MapCoordEvents: @ 852BCD4 + coord_event 25, 5, 3, 0, VAR_0x4074, 0, 0, Route121_EventScript_1F5E18 + coord_event 25, 6, 3, 0, VAR_0x4074, 0, 0, Route121_EventScript_1F5E18 + coord_event 25, 7, 3, 0, VAR_0x4074, 0, 0, Route121_EventScript_1F5E18 + coord_event 25, 8, 3, 0, VAR_0x4074, 0, 0, Route121_EventScript_1F5E18 + +Route121_MapBGEvents: @ 852BD14 + bg_event 32, 14, 0, 0, 0, Route121_EventScript_1F5E06 + bg_event 40, 11, 0, 8, 0, ITEM_PREMIER_BALL, 0, 0 + bg_event 18, 13, 0, 8, 0, ITEM_SUPER_POTION, 0, 0 + bg_event 43, 7, 0, 8, 0, ITEM_NOMEL_BERRY, 0, 0 + bg_event 42, 7, 0, 8, 0, ITEM_APICOT_BERRY, 0, 0 + bg_event 39, 6, 0, 0, 0, Route121_EventScript_1F5E0F + bg_event 23, 10, 3, 7, 0, ITEM_HP_UP, 39, 0 + bg_event 58, 3, 3, 7, 0, ITEM_NUGGET, 40, 0 + bg_event 72, 5, 3, 7, 0, ITEM_FULL_HEAL, 73, 0 + bg_event 68, 8, 3, 7, 0, ITEM_MAX_REVIVE, 100, 0 + +Route121_MapEvents:: @ 852BD8C + map_events Route121_MapObjects, Route121_MapWarps, Route121_MapCoordEvents, Route121_MapBGEvents + diff --git a/data/maps/events/Route121_SafariZoneEntrance.inc b/data/maps/events/Route121_SafariZoneEntrance.inc new file mode 100644 index 0000000000..cad82a51a5 --- /dev/null +++ b/data/maps/events/Route121_SafariZoneEntrance.inc @@ -0,0 +1,20 @@ +Route121_SafariZoneEntrance_MapObjects: @ 8533EDC + object_event 1, MAP_OBJ_GFX_PICNICKER, 0, 0, 17, 9, 3, 9, 0, 0, 0, 0, Route121_SafariZoneEntrance_EventScript_22BBE6, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_CAMPER, 0, 0, 10, 2, 3, 8, 0, 0, 0, 0, Route121_SafariZoneEntrance_EventScript_22BBEF, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_CAMPER, 0, 0, 8, 2, 3, 8, 0, 0, 0, 0, 0x0, 0, 0, 0 + +Route121_SafariZoneEntrance_MapWarps: @ 8533F24 + warp_def 2, 5, 0, 0, SAFARI_ZONE_SOUTH + warp_def 3, 5, 0, 0, SAFARI_ZONE_SOUTH + warp_def 14, 13, 0, 0, ROUTE_121 + warp_def 15, 13, 0, 0, ROUTE_121 + +Route121_SafariZoneEntrance_MapCoordEvents: @ 8533F44 + coord_event 8, 4, 3, 0, VAR_0x4001, 0, 0, Route121_SafariZoneEntrance_EventScript_22BC18 + +Route121_SafariZoneEntrance_MapBGEvents: @ 8533F54 + bg_event 15, 1, 0, 0, 0, Route121_SafariZoneEntrance_EventScript_22BD21 + +Route121_SafariZoneEntrance_MapEvents:: @ 8533F60 + map_events Route121_SafariZoneEntrance_MapObjects, Route121_SafariZoneEntrance_MapWarps, Route121_SafariZoneEntrance_MapCoordEvents, Route121_SafariZoneEntrance_MapBGEvents + diff --git a/data/maps/events/Route122.inc b/data/maps/events/Route122.inc new file mode 100644 index 0000000000..10330d8e32 --- /dev/null +++ b/data/maps/events/Route122.inc @@ -0,0 +1,6 @@ +Route122_MapWarps: @ 852BDA0 + warp_def 22, 29, 0, 0, MT_PYRE_1F + +Route122_MapEvents:: @ 852BDA8 + map_events 0x0, Route122_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Route123.inc b/data/maps/events/Route123.inc new file mode 100644 index 0000000000..cb60786c08 --- /dev/null +++ b/data/maps/events/Route123.inc @@ -0,0 +1,88 @@ +Route123_MapObjects: @ 852BDBC + object_event 1, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 11, 3, 3, 12, 0, 0, 0, 58, BerryTreeScript, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 12, 3, 3, 12, 0, 0, 0, 59, BerryTreeScript, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 14, 3, 3, 12, 0, 0, 0, 60, BerryTreeScript, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 15, 3, 3, 12, 0, 0, 0, 61, BerryTreeScript, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 81, 1, 3, 12, 0, 0, 0, 62, BerryTreeScript, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 82, 1, 3, 12, 0, 0, 0, 63, BerryTreeScript, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 83, 1, 3, 12, 0, 0, 0, 64, BerryTreeScript, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_WOMAN_7, 0, 0, 70, 12, 3, 24, 0, 0, 1, 1, Route123_EventScript_1F61C5, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_MAN_4, 0, 0, 58, 7, 3, 17, 0, 0, 1, 2, Route123_EventScript_1F61DC, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 14, 5, 3, 12, 0, 0, 0, 65, BerryTreeScript, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 15, 5, 3, 12, 0, 0, 0, 72, BerryTreeScript, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 17, 5, 3, 12, 0, 0, 0, 73, BerryTreeScript, 0, 0, 0 + object_event 13, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 18, 5, 3, 12, 0, 0, 0, 74, BerryTreeScript, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 17, 3, 3, 12, 0, 0, 0, 79, BerryTreeScript, 0, 0, 0 + object_event 15, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 18, 3, 3, 12, 0, 0, 0, 14, BerryTreeScript, 0, 0, 0 + object_event 16, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 11, 5, 3, 12, 0, 0, 0, 15, BerryTreeScript, 0, 0, 0 + object_event 17, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 12, 5, 3, 12, 0, 0, 0, 30, BerryTreeScript, 0, 0, 0 + object_event 18, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 101, 13, 3, 1, 0, 0, 0, 0, Route123_EventScript_2906BB, 17, 0, 0 + object_event 19, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 129, 14, 3, 1, 0, 0, 0, 0, Route123_EventScript_2906BB, 18, 0, 0 + object_event 20, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 92, 9, 3, 1, 0, 0, 0, 0, Route123_EventScript_2906BB, 19, 0, 0 + object_event 21, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 31, 8, 3, 1, 0, 0, 0, 0, Route123_EventScript_290FB0, 1032, 0, 0 + object_event 22, MAP_OBJ_GFX_GIRL_3, 0, 0, 108, 13, 3, 15, 0, 0, 0, 0, Route123_EventScript_1F6151, 0, 0, 0 + object_event 23, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 109, 13, 3, 12, 0, 0, 0, 87, BerryTreeScript, 0, 0, 0 + object_event 24, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 110, 13, 3, 12, 0, 0, 0, 88, BerryTreeScript, 0, 0, 0 + object_event 25, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 111, 13, 3, 12, 0, 0, 0, 89, BerryTreeScript, 0, 0, 0 + object_event 26, MAP_OBJ_GFX_WOMAN_3, 0, 0, 18, 9, 3, 23, 0, 0, 1, 2, Route123_EventScript_1F61F3, 0, 0, 0 + object_event 27, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 38, 13, 3, 8, 0, 0, 1, 1, Route123_EventScript_1F62E9, 0, 0, 0 + object_event 28, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 37, 13, 3, 8, 0, 0, 1, 1, Route123_EventScript_1F62CE, 0, 0, 0 + object_event 29, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 138, 12, 3, 9, 0, 0, 1, 7, Route123_EventScript_1F620A, 0, 0, 0 + object_event 30, MAP_OBJ_GFX_LASS, 0, 0, 49, 16, 3, 8, 0, 0, 1, 1, Route123_EventScript_1F626C, 0, 0, 0 + object_event 31, MAP_OBJ_GFX_HEX_MANIAC, 0, 0, 87, 12, 3, 8, 0, 0, 1, 4, Route123_EventScript_1F6304, 0, 0, 0 + object_event 32, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 27, 18, 3, 1, 17, 0, 0, 0, Route123_EventScript_290FBD, 1104, 0, 0 + object_event 33, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 75, 9, 3, 1, 17, 0, 0, 0, Route123_EventScript_290FCA, 1109, 0, 0 + object_event 34, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 138, 14, 3, 57, 17, 0, 1, 1, Route123_EventScript_1F6377, 0, 0, 0 + object_event 35, MAP_OBJ_GFX_WOMAN_3, 0, 0, 138, 16, 3, 7, 17, 0, 1, 1, Route123_EventScript_1F6360, 0, 0, 0 + object_event 36, MAP_OBJ_GFX_MANIAC, 0, 0, 87, 17, 3, 7, 17, 0, 1, 4, Route123_EventScript_1F6349, 0, 0, 0 + object_event 37, MAP_OBJ_GFX_MAN_6, 0, 0, 66, 16, 3, 8, 17, 0, 1, 2, Route123_EventScript_1F63BC, 0, 0, 0 + object_event 38, MAP_OBJ_GFX_MAN_6, 0, 0, 66, 19, 3, 7, 17, 0, 1, 2, Route123_EventScript_1F6332, 0, 0, 0 + object_event 39, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 49, 19, 3, 7, 17, 0, 1, 2, Route123_EventScript_1F631B, 0, 0, 0 + object_event 40, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 43, 15, 3, 1, 17, 0, 0, 0, Route123_EventScript_290FD7, 1152, 0, 0 + object_event 41, MAP_OBJ_GFX_WOMAN_7, 0, 0, 14, 16, 3, 7, 17, 0, 1, 3, Route123_EventScript_1F638E, 0, 0, 0 + object_event 42, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 14, 12, 3, 26, 49, 0, 1, 3, Route123_EventScript_1F63A5, 0, 0, 0 + object_event 43, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 57, 16, 3, 1, 17, 0, 0, 0, Route123_EventScript_290FE4, 1153, 0, 0 + +Route123_MapWarps: @ 852C1C4 + warp_def 22, 6, 0, 0, ROUTE_123_BERRY_MASTERS_HOUSE + +Route123_MapCoordEvents: @ 852C1CC + coord_event 90, 16, 3, 0, 21, 0, 0, 0x0 + coord_event 92, 9, 3, 0, 21, 0, 0, 0x0 + coord_event 93, 12, 3, 0, 21, 0, 0, 0x0 + coord_event 92, 13, 3, 0, 21, 0, 0, 0x0 + coord_event 91, 14, 3, 0, 21, 0, 0, 0x0 + coord_event 19, 13, 3, 0, 21, 0, 0, 0x0 + coord_event 19, 12, 3, 0, 21, 0, 0, 0x0 + coord_event 34, 13, 3, 0, 21, 0, 0, 0x0 + coord_event 19, 14, 3, 0, 21, 0, 0, 0x0 + coord_event 19, 15, 3, 0, 21, 0, 0, 0x0 + coord_event 19, 16, 3, 0, 21, 0, 0, 0x0 + coord_event 108, 14, 3, 0, 2, 0, 0, 0x0 + coord_event 109, 15, 3, 0, 2, 0, 0, 0x0 + coord_event 110, 16, 3, 0, 2, 0, 0, 0x0 + coord_event 111, 17, 3, 0, 2, 0, 0, 0x0 + coord_event 112, 18, 3, 0, 2, 0, 0, 0x0 + coord_event 9, 12, 3, 0, 2, 0, 0, 0x0 + coord_event 9, 13, 3, 0, 2, 0, 0, 0x0 + coord_event 9, 14, 3, 0, 2, 0, 0, 0x0 + coord_event 9, 15, 3, 0, 2, 0, 0, 0x0 + coord_event 9, 16, 3, 0, 2, 0, 0, 0x0 + coord_event 94, 10, 3, 0, 21, 0, 0, 0x0 + +Route123_MapBGEvents: @ 852C32C + bg_event 117, 10, 0, 0, 0, Route123_EventScript_1F61B3 + bg_event 47, 3, 0, 8, 0, 82, 0, 0 + bg_event 49, 3, 0, 8, 0, 92, 0, 0 + bg_event 10, 12, 3, 0, 0, Route123_EventScript_1F61AA + bg_event 75, 1, 3, 7, 0, ITEM_SUPER_REPEL, 7, 0 + bg_event 20, 7, 3, 0, 0, Route123_EventScript_1F61BC + bg_event 57, 5, 0, 8, 0, ITEM_SUPER_REPEL, 0, 0 + bg_event 12, 1, 3, 7, 0, ITEM_REVIVE, 41, 0 + bg_event 91, 15, 3, 7, 0, ITEM_HYPER_POTION, 74, 0 + bg_event 139, 15, 3, 7, 0, ITEM_PP_UP, 99, 0 + bg_event 138, 18, 3, 7, 0, ITEM_RARE_CANDY, 110, 0 + +Route123_MapEvents:: @ 852C3B0 + map_events Route123_MapObjects, Route123_MapWarps, Route123_MapCoordEvents, Route123_MapBGEvents + diff --git a/data/maps/events/Route123_BerryMastersHouse.inc b/data/maps/events/Route123_BerryMastersHouse.inc new file mode 100644 index 0000000000..cbe15cac1c --- /dev/null +++ b/data/maps/events/Route123_BerryMastersHouse.inc @@ -0,0 +1,11 @@ +Route123_BerryMastersHouse_MapObjects: @ 853EACC + object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, Route123_BerryMastersHouse_EventScript_26F845, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_OLD_WOMAN_2, 0, 0, 7, 4, 3, 8, 0, 0, 0, 0, Route123_BerryMastersHouse_EventScript_26F8C0, 0, 0, 0 + +Route123_BerryMastersHouse_MapWarps: @ 853EAFC + warp_def 3, 7, 0, 0, ROUTE_123 + warp_def 4, 7, 0, 0, ROUTE_123 + +Route123_BerryMastersHouse_MapEvents:: @ 853EB0C + map_events Route123_BerryMastersHouse_MapObjects, Route123_BerryMastersHouse_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Route124.inc b/data/maps/events/Route124.inc new file mode 100644 index 0000000000..6f40347e9c --- /dev/null +++ b/data/maps/events/Route124.inc @@ -0,0 +1,23 @@ +Route124_MapObjects: @ 852C3C4 + object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 34, 25, 1, 1, 5, 0, 1, 3, Route124_EventScript_1F6585, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 61, 74, 1, 67, 53, 0, 1, 7, Route124_EventScript_1F659C, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 49, 45, 1, 24, 0, 0, 1, 3, Route124_EventScript_1F65B3, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 7, 23, 1, 18, 134, 0, 1, 5, Route124_EventScript_1F6615, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 58, 58, 1, 28, 7, 0, 1, 2, Route124_EventScript_1F662C, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 28, 12, 3, 1, 17, 0, 0, 0, Route124_EventScript_290FF1, 1092, 0, 0 + object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 31, 53, 3, 1, 17, 0, 0, 0, Route124_EventScript_290FFE, 1093, 0, 0 + object_event 8, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 58, 11, 3, 1, 17, 0, 0, 0, Route124_EventScript_29100B, 1066, 0, 0 + object_event 9, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 18, 44, 1, 8, 17, 0, 1, 1, Route124_EventScript_1F6643, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_TUBER_M_SWIMMING, 0, 0, 17, 44, 1, 8, 17, 0, 1, 1, Route124_EventScript_1F66A7, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 7, 29, 1, 7, 17, 0, 1, 5, Route124_EventScript_1F670B, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 69, 74, 1, 66, 17, 0, 1, 7, Route124_EventScript_1F6722, 0, 0, 0 + +Route124_MapWarps: @ 852C4E4 + warp_def 70, 48, 3, 0, ROUTE_124_DIVING_TREASURE_HUNTERS_HOUSE + +Route124_MapBGEvents: @ 852C4EC + bg_event 73, 48, 3, 0, 0, Route124_EventScript_1F657C + +Route124_MapEvents:: @ 852C4F8 + map_events Route124_MapObjects, Route124_MapWarps, 0x0, Route124_MapBGEvents + diff --git a/data/maps/events/Route124_DivingTreasureHuntersHouse.inc b/data/maps/events/Route124_DivingTreasureHuntersHouse.inc new file mode 100644 index 0000000000..43c364e8de --- /dev/null +++ b/data/maps/events/Route124_DivingTreasureHuntersHouse.inc @@ -0,0 +1,12 @@ +Route124_DivingTreasureHuntersHouse_MapObjects: @ 853ED9C + object_event 1, MAP_OBJ_GFX_MAN_6, 0, 0, 5, 4, 0, 9, 0, 0, 0, 0, Route124_DivingTreasureHuntersHouse_EventScript_270A32, 0, 0, 0 + +Route124_DivingTreasureHuntersHouse_MapWarps: @ 853EDB4 + warp_def 3, 8, 0, 0, ROUTE_124 + warp_def 4, 8, 0, 0, ROUTE_124 + +Route124_DivingTreasureHuntersHouse_MapBGEvents: @ 853EDC4 + bg_event 7, 1, 0, 0, 0, Route124_DivingTreasureHuntersHouse_EventScript_270F63 + +Route124_DivingTreasureHuntersHouse_MapEvents:: @ 853EDD0 + map_events Route124_DivingTreasureHuntersHouse_MapObjects, Route124_DivingTreasureHuntersHouse_MapWarps, 0x0, Route124_DivingTreasureHuntersHouse_MapBGEvents diff --git a/data/maps/events/Route125.inc b/data/maps/events/Route125.inc new file mode 100644 index 0000000000..1211044f23 --- /dev/null +++ b/data/maps/events/Route125.inc @@ -0,0 +1,24 @@ +Route125_MapObjects: @ 852C50C + object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 7, 31, 1, 28, 0, 0, 1, 2, Route125_EventScript_1F67A4, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 45, 9, 1, 10, 82, 0, 1, 2, Route125_EventScript_1F67BB, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 38, 24, 1, 28, 6, 0, 1, 3, Route125_EventScript_1F67D2, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 30, 28, 1, 52, 153, 0, 1, 3, Route125_EventScript_1F67E9, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_SAILOR, 0, 0, 21, 30, 3, 13, 0, 0, 1, 2, Route125_EventScript_1F6800, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_LASS, 0, 0, 17, 19, 3, 8, 17, 0, 1, 1, Route125_EventScript_1F6862, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_LASS, 0, 0, 18, 19, 3, 8, 17, 0, 1, 1, Route125_EventScript_1F687D, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_MAN_6, 0, 0, 43, 19, 3, 28, 18, 0, 1, 3, Route125_EventScript_1F6898, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 48, 19, 3, 27, 18, 0, 1, 3, Route125_EventScript_1F68AF, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 46, 17, 3, 1, 17, 0, 0, 0, Route125_EventScript_291018, 1154, 0, 0 + +Route125_MapWarps: @ 852C5FC + warp_def 22, 19, 0, 0, SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM + +Route125_MapBGEvents: @ 852C604 + bg_event 53, 10, 0, 8, 0, ITEM_ULTRA_BALL, 0, 0 + bg_event 55, 11, 0, 8, 0, ITEM_HEAL_POWDER, 0, 0 + bg_event 7, 25, 0, 8, 0, ITEM_RETRO_MAIL, 0, 0 + bg_event 24, 32, 0, 8, 0, ITEM_PINAP_BERRY, 0, 0 + +Route125_MapEvents:: @ 852C634 + map_events Route125_MapObjects, Route125_MapWarps, 0x0, Route125_MapBGEvents + diff --git a/data/maps/events/Route126.inc b/data/maps/events/Route126.inc new file mode 100644 index 0000000000..e8bfd1a5f1 --- /dev/null +++ b/data/maps/events/Route126.inc @@ -0,0 +1,14 @@ +Route126_MapObjects: @ 852C648 + object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 51, 65, 1, 51, 58, 0, 1, 3, Route126_EventScript_1F68D6, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 56, 22, 1, 28, 9, 0, 1, 3, Route126_EventScript_1F68ED, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 63, 43, 1, 24, 0, 0, 1, 3, Route126_EventScript_1F6904, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 9, 48, 1, 7, 0, 0, 1, 3, Route126_EventScript_1F691B, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 14, 1, 3, 1, 17, 0, 0, 0, Route126_EventScript_291025, 1105, 0, 0 + object_event 6, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 15, 66, 1, 66, 17, 0, 1, 7, Route126_EventScript_1F6960, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 7, 66, 1, 67, 17, 0, 1, 7, Route126_EventScript_1F6977, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 64, 5, 1, 66, 17, 0, 1, 7, Route126_EventScript_1F6949, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 56, 5, 1, 67, 17, 0, 1, 7, Route126_EventScript_1F6932, 0, 0, 0 + +Route126_MapEvents:: @ 852C720 + map_events Route126_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/Route127.inc b/data/maps/events/Route127.inc new file mode 100644 index 0000000000..7a486263e6 --- /dev/null +++ b/data/maps/events/Route127.inc @@ -0,0 +1,23 @@ +Route127_MapObjects: @ 852C734 + object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 45, 42, 1, 14, 0, 0, 1, 2, Route127_EventScript_1F6A35, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 18, 68, 1, 21, 0, 0, 1, 4, Route127_EventScript_1F6A4C, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 14, 6, 3, 1, 0, 0, 0, 0, Route127_EventScript_291032, 1034, 0, 0 + object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 64, 39, 3, 1, 0, 0, 0, 0, Route127_EventScript_29103F, 1035, 0, 0 + object_event 5, MAP_OBJ_GFX_FISHERMAN, 0, 0, 42, 21, 3, 9, 17, 0, 1, 0, Route127_EventScript_1F6A63, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_FISHERMAN, 0, 0, 64, 19, 3, 10, 17, 0, 1, 0, Route127_EventScript_1F6A91, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_FISHERMAN, 0, 0, 54, 14, 3, 7, 17, 0, 1, 0, Route127_EventScript_1F6A7A, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_MAN_6, 0, 0, 15, 23, 3, 9, 17, 0, 1, 2, Route127_EventScript_1F6AA8, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 63, 63, 3, 1, 17, 0, 1, 3, Route127_EventScript_1F6AD6, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_WOMAN_7, 0, 0, 12, 23, 3, 10, 17, 0, 1, 2, Route127_EventScript_1F6ABF, 0, 0, 0 + object_event 11, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 13, 20, 3, 1, 0, 0, 0, 0, Route127_EventScript_29104C, 1155, 0, 0 + +Route127_MapBGEvents: @ 852C83C + bg_event 59, 67, 0, 8, 0, ITEM_ENERGY_ROOT, 0, 0 + bg_event 59, 72, 0, 8, 0, ITEM_SITRUS_BERRY, 0, 0 + bg_event 67, 63, 0, 8, 0, ITEM_WEPEAR_BERRY, 0, 0 + bg_event 61, 21, 0, 8, 0, ITEM_FIGY_BERRY, 0, 0 + bg_event 45, 24, 0, 8, 0, ITEM_GLITTER_MAIL, 0, 0 + +Route127_MapEvents:: @ 852C878 + map_events Route127_MapObjects, 0x0, 0x0, Route127_MapBGEvents + diff --git a/data/maps/events/Route128.inc b/data/maps/events/Route128.inc new file mode 100644 index 0000000000..b48c8c4a24 --- /dev/null +++ b/data/maps/events/Route128.inc @@ -0,0 +1,20 @@ +Route128_MapObjects: @ 852C88C + object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 35, 33, 1, 48, 85, 0, 1, 3, Route128_EventScript_1F6CBE, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 78, 24, 1, 28, 5, 0, 1, 7, Route128_EventScript_1F6D20, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_STEVEN, 0, 0, 40, 22, 3, 8, 0, 0, 0, 0, 0x0, 834, 0, 0 + object_event 4, MAP_OBJ_GFX_ARCHIE, 0, 0, 37, 22, 3, 9, 17, 0, 0, 0, 0x0, 944, 0, 0 + object_event 5, MAP_OBJ_GFX_MAXIE, 0, 0, 38, 21, 3, 7, 17, 0, 0, 0, 0x0, 945, 0, 0 + object_event 6, MAP_OBJ_GFX_FISHERMAN, 0, 0, 63, 28, 3, 7, 17, 0, 1, 0, Route128_EventScript_1F6DB0, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_MAN_4, 0, 0, 47, 9, 3, 10, 17, 0, 1, 3, Route128_EventScript_1F6D99, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_WOMAN_7, 0, 0, 24, 8, 3, 17, 17, 0, 1, 3, Route128_EventScript_1F6D82, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 101, 29, 1, 25, 49, 0, 1, 4, Route128_EventScript_1F6DDE, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 101, 22, 1, 26, 49, 0, 1, 4, Route128_EventScript_1F6DC7, 0, 0, 0 + +Route128_MapBGEvents: @ 852C97C + bg_event 49, 9, 3, 7, 0, ITEM_HEART_SCALE, 92, 0 + bg_event 57, 21, 3, 7, 0, ITEM_HEART_SCALE, 93, 0 + bg_event 31, 33, 3, 7, 0, ITEM_HEART_SCALE, 94, 0 + +Route128_MapEvents:: @ 852C9A0 + map_events Route128_MapObjects, 0x0, 0x0, Route128_MapBGEvents + diff --git a/data/maps/events/Route129.inc b/data/maps/events/Route129.inc new file mode 100644 index 0000000000..38ac3513c3 --- /dev/null +++ b/data/maps/events/Route129.inc @@ -0,0 +1,10 @@ +Route129_MapObjects: @ 852C9B4 + object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 28, 16, 1, 50, 67, 0, 1, 3, Route129_EventScript_1F72EC, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 10, 14, 1, 52, 37, 0, 1, 2, Route129_EventScript_1F7303, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 13, 22, 1, 64, 17, 0, 1, 5, Route129_EventScript_1F7331, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 35, 9, 1, 24, 17, 0, 1, 2, Route129_EventScript_1F731A, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 13, 27, 1, 65, 17, 0, 1, 5, Route129_EventScript_1F7348, 0, 0, 0 + +Route129_MapEvents:: @ 852CA2C + map_events Route129_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/Route130.inc b/data/maps/events/Route130.inc new file mode 100644 index 0000000000..d5bd41cbd2 --- /dev/null +++ b/data/maps/events/Route130.inc @@ -0,0 +1,9 @@ +Route130_MapObjects: @ 852CA40 + object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 70, 21, 1, 51, 99, 0, 1, 3, Route130_EventScript_1F73BF, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 7, 21, 1, 26, 65, 0, 1, 5, Route130_EventScript_1F73D6, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 52, 9, 3, 12, 0, 0, 0, 82, BerryTreeScript, 17, 0, 0 + object_event 4, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 7, 30, 1, 25, 65, 0, 1, 5, Route130_EventScript_1F73ED, 0, 0, 0 + +Route130_MapEvents:: @ 852CAA0 + map_events Route130_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/Route131.inc b/data/maps/events/Route131.inc new file mode 100644 index 0000000000..0f37a4c70e --- /dev/null +++ b/data/maps/events/Route131.inc @@ -0,0 +1,16 @@ +Route131_MapObjects: @ 852CAB4 + object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 41, 32, 1, 29, 117, 0, 1, 3, Route131_EventScript_1F7429, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 18, 19, 1, 22, 112, 0, 1, 4, Route131_EventScript_1F7440, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 10, 22, 1, 20, 6, 0, 1, 4, Route131_EventScript_1F7457, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 31, 25, 1, 47, 83, 0, 1, 3, Route131_EventScript_1F746E, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 9, 16, 1, 8, 17, 0, 1, 1, Route131_EventScript_1F7485, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_TUBER_M_SWIMMING, 0, 0, 8, 16, 1, 8, 17, 0, 1, 1, Route131_EventScript_1F74A0, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 52, 20, 1, 26, 49, 0, 1, 5, Route131_EventScript_1F74D2, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 52, 27, 1, 25, 49, 0, 1, 5, Route131_EventScript_1F74BB, 0, 0, 0 + +Route131_MapWarps: @ 852CB74 + warp_def 36, 6, 3, 0, SKY_PILLAR_ENTRANCE + +Route131_MapEvents:: @ 852CB7C + map_events Route131_MapObjects, Route131_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Route132.inc b/data/maps/events/Route132.inc new file mode 100644 index 0000000000..3e1287b7d9 --- /dev/null +++ b/data/maps/events/Route132.inc @@ -0,0 +1,15 @@ +Route132_MapObjects: @ 852CB90 + object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 40, 13, 1, 46, 51, 0, 1, 2, Route132_EventScript_1F74EA, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 10, 6, 1, 45, 51, 0, 1, 2, Route132_EventScript_1F7501, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 10, 11, 3, 1, 0, 0, 0, 0, Route132_EventScript_291059, 1036, 0, 0 + object_event 4, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 9, 15, 3, 8, 0, 0, 1, 4, Route132_EventScript_1F752F, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_FISHERMAN, 0, 0, 49, 28, 3, 10, 0, 0, 1, 1, Route132_EventScript_1F7518, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 33, 26, 3, 8, 17, 0, 1, 4, Route132_EventScript_1F7546, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_WOMAN_7, 0, 0, 33, 31, 3, 25, 65, 0, 1, 4, Route132_EventScript_1F755D, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 21, 30, 3, 7, 17, 0, 1, 4, Route132_EventScript_1F758B, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_MAN_4, 0, 0, 21, 25, 3, 26, 65, 0, 1, 4, Route132_EventScript_1F7574, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 20, 27, 3, 1, 17, 0, 0, 0, Route132_EventScript_291066, 1156, 0, 0 + +Route132_MapEvents:: @ 852CC80 + map_events Route132_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/Route133.inc b/data/maps/events/Route133.inc new file mode 100644 index 0000000000..c6cb4ac3bb --- /dev/null +++ b/data/maps/events/Route133.inc @@ -0,0 +1,15 @@ +Route133_MapObjects: @ 852CC94 + object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 68, 27, 1, 25, 32, 0, 1, 3, Route133_EventScript_1F75A3, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 13, 3, 1, 8, 0, 0, 1, 3, Route133_EventScript_1F75D1, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 68, 28, 1, 26, 32, 0, 1, 3, Route133_EventScript_1F75BA, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 53, 12, 3, 1, 0, 0, 0, 0, Route133_EventScript_291073, 1037, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 8, 10, 3, 1, 0, 0, 0, 0, Route133_EventScript_291080, 1038, 0, 0 + object_event 6, MAP_OBJ_GFX_MAN_6, 0, 0, 7, 14, 3, 18, 17, 0, 1, 2, Route133_EventScript_1F75FF, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_MAN_4, 0, 0, 37, 15, 3, 18, 0, 0, 1, 4, Route133_EventScript_1F75E8, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 56, 11, 3, 8, 17, 0, 1, 3, Route133_EventScript_1F7616, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 56, 15, 3, 16, 17, 0, 1, 3, Route133_EventScript_1F762D, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 48, 28, 3, 1, 17, 0, 0, 0, Route133_EventScript_29108D, 1157, 0, 0 + +Route133_MapEvents:: @ 852CD84 + map_events Route133_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/Route134.inc b/data/maps/events/Route134.inc new file mode 100644 index 0000000000..6905f533f7 --- /dev/null +++ b/data/maps/events/Route134.inc @@ -0,0 +1,16 @@ +Route134_MapObjects: @ 852CD98 + object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 49, 9, 1, 49, 83, 0, 1, 2, Route134_EventScript_1F7653, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 58, 7, 1, 1, 0, 0, 1, 3, Route134_EventScript_1F766A, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 41, 23, 3, 10, 0, 0, 1, 2, Route134_EventScript_1F7698, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MAN_6, 0, 0, 24, 23, 3, 26, 48, 0, 1, 6, Route134_EventScript_1F7681, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 49, 16, 3, 27, 6, 0, 1, 5, Route134_EventScript_1F76AF, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_WOMAN_7, 0, 0, 43, 23, 1, 9, 17, 0, 1, 2, Route134_EventScript_1F76F4, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_SAILOR, 0, 0, 24, 30, 3, 25, 48, 0, 1, 6, Route134_EventScript_1F770B, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_GIRL_3, 0, 0, 50, 16, 3, 28, 6, 0, 1, 5, Route134_EventScript_1F76DD, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_SAILOR, 0, 0, 63, 14, 3, 18, 17, 0, 1, 3, Route134_EventScript_1F76C6, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 50, 17, 3, 1, 17, 0, 0, 0, Route134_EventScript_29109A, 1158, 0, 0 + object_event 11, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 22, 27, 3, 1, 17, 0, 0, 0, Route134_EventScript_2910A7, 1159, 0, 0 + +Route134_MapEvents:: @ 852CEA0 + map_events Route134_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/RustboroCity.inc b/data/maps/events/RustboroCity.inc new file mode 100644 index 0000000000..26a0c1a11b --- /dev/null +++ b/data/maps/events/RustboroCity.inc @@ -0,0 +1,70 @@ +RustboroCity_MapObjects: @ 85267E0 + object_event 1, MAP_OBJ_GFX_WOMAN_7, 0, 0, 22, 34, 3, 3, 16, 0, 0, 0, RustboroCity_EventScript_1E088A, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_FAT_MAN, 0, 0, 19, 13, 3, 1, 17, 0, 0, 0, RustboroCity_EventScript_1E085F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 25, 37, 3, 7, 0, 0, 0, 0, RustboroCity_EventScript_1E08DA, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 21, 46, 3, 3, 16, 0, 0, 0, RustboroCity_EventScript_1E08D1, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_BOY_2, 0, 0, 12, 45, 3, 1, 0, 0, 0, 0, RustboroCity_EventScript_1E08B2, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_MAN_4, 0, 0, 26, 23, 3, 1, 17, 0, 0, 0, RustboroCity_EventScript_1E0893, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 24, 51, 3, 10, 0, 0, 0, 0, RustboroCity_EventScript_1E0922, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 25, 51, 3, 9, 0, 0, 0, 0, RustboroCity_EventScript_1E0938, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_MAN_2, 0, 0, 30, 10, 3, 10, 17, 0, 0, 0, RustboroCity_EventScript_1E0ADD, 732, 0, 0 + object_event 10, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 13, 21, 3, 10, 0, 0, 0, 0, 0x0, 731, 0, 0 + object_event 11, MAP_OBJ_GFX_MAN_7, 0, 0, 13, 34, 3, 2, 17, 0, 0, 0, RustboroCity_EventScript_1E087E, 0, 0, 0 + object_event 12, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 36, 51, 3, 1, 0, 0, 0, 0, RustboroCity_EventScript_2910DB, 1041, 0, 0 + object_event 13, MAP_OBJ_GFX_MAN_5, 0, 0, 19, 27, 3, 8, 16, 0, 0, 0, RustboroCity_EventScript_1E094E, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_HIPSTER, 0, 0, 16, 50, 3, 1, 17, 0, 0, 0, RustboroCity_EventScript_1E0DB8, 814, 0, 0 + object_event 15, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 11, 15, 0, 1, 17, 0, 0, 0, 0x0, 844, 0, 0 + object_event 16, MAP_OBJ_GFX_BOY_1, 0, 0, 31, 36, 3, 1, 16, 0, 0, 0, RustboroCity_EventScript_1E1236, 0, 0, 0 + +RustboroCity_MapWarps: @ 8526960 + warp_def 27, 19, 0, 0, RUSTBORO_CITY_GYM + warp_def 13, 30, 0, 0, RUSTBORO_CITY_FLAT_1_1F + warp_def 16, 45, 0, 0, RUSTBORO_CITY_MART + warp_def 16, 38, 0, 0, RUSTBORO_CITY_POKEMON_CENTER_1F + warp_def 27, 34, 0, 0, RUSTBORO_CITY_POKEMON_SCHOOL + warp_def 11, 15, 0, 0, RUSTBORO_CITY_DEVON_CORP_1F + warp_def 12, 15, 0, 1, RUSTBORO_CITY_DEVON_CORP_1F + warp_def 33, 19, 0, 0, RUSTBORO_CITY_HOUSE_1 + warp_def 9, 38, 0, 0, RUSTBORO_CITY_CUTTERS_HOUSE + warp_def 30, 28, 0, 0, RUSTBORO_CITY_HOUSE_2 + warp_def 5, 51, 0, 0, RUSTBORO_CITY_FLAT_2_1F + warp_def 26, 46, 0, 0, RUSTBORO_CITY_HOUSE_3 + +RustboroCity_MapCoordEvents: @ 85269C0 + coord_event 23, 20, 3, 0, VAR_0x405A, 1, 0, RustboroCity_EventScript_1E095A + coord_event 23, 21, 3, 0, VAR_0x405A, 1, 0, RustboroCity_EventScript_1E0971 + coord_event 23, 22, 3, 0, VAR_0x405A, 1, 0, RustboroCity_EventScript_1E0988 + coord_event 23, 23, 3, 0, VAR_0x405A, 1, 0, RustboroCity_EventScript_1E099F + coord_event 23, 24, 3, 0, VAR_0x405A, 1, 0, RustboroCity_EventScript_1E09B6 + coord_event 30, 9, 3, 0, VAR_0x405A, 2, 0, RustboroCity_EventScript_1E0AFE + coord_event 29, 10, 3, 0, VAR_0x405A, 2, 0, RustboroCity_EventScript_1E0B0A + coord_event 30, 11, 3, 0, VAR_0x405A, 2, 0, RustboroCity_EventScript_1E0B16 + coord_event 30, 12, 3, 0, VAR_0x405A, 2, 0, RustboroCity_EventScript_1E0B22 + coord_event 30, 9, 3, 0, VAR_0x405A, 4, 0, RustboroCity_EventScript_1E0C2B + coord_event 31, 10, 3, 0, VAR_0x405A, 4, 0, RustboroCity_EventScript_1E0C37 + coord_event 30, 11, 3, 0, VAR_0x405A, 4, 0, RustboroCity_EventScript_1E0C43 + coord_event 30, 12, 3, 0, VAR_0x405A, 4, 0, RustboroCity_EventScript_1E0C4F + coord_event 12, 53, 3, 0, VAR_0x405A, 7, 0, RustboroCity_EventScript_1E0DF3 + coord_event 13, 53, 3, 0, VAR_0x405A, 7, 0, RustboroCity_EventScript_1E0E33 + coord_event 14, 53, 3, 0, VAR_0x405A, 7, 0, RustboroCity_EventScript_1E0E73 + coord_event 15, 53, 3, 0, VAR_0x405A, 7, 0, RustboroCity_EventScript_1E0EB3 + coord_event 16, 53, 3, 0, VAR_0x405A, 7, 0, RustboroCity_EventScript_1E0EF3 + coord_event 17, 53, 3, 0, VAR_0x405A, 7, 0, RustboroCity_EventScript_1E0F33 + coord_event 18, 53, 3, 0, VAR_0x405A, 7, 0, RustboroCity_EventScript_1E0F73 + coord_event 19, 53, 3, 0, VAR_0x405A, 7, 0, RustboroCity_EventScript_1E0FB3 + +RustboroCity_MapBGEvents: @ 8526B10 + bg_event 23, 19, 0, 0, 0, RustboroCity_EventScript_1E08F5 + bg_event 25, 35, 0, 0, 0, RustboroCity_EventScript_1E0910 + bg_event 17, 45, 0, 1, 0, RustboroCity_EventScript_271E6A + bg_event 18, 38, 0, 1, 0, RustboroCity_EventScript_271E73 + bg_event 19, 49, 0, 0, 0, RustboroCity_EventScript_1E0907 + bg_event 18, 45, 0, 1, 0, RustboroCity_EventScript_271E6A + bg_event 17, 38, 0, 1, 0, RustboroCity_EventScript_271E73 + bg_event 17, 20, 0, 0, 0, RustboroCity_EventScript_1E08EC + bg_event 30, 8, 0, 0, 0, RustboroCity_EventScript_1E08E3 + bg_event 12, 38, 3, 0, 0, RustboroCity_EventScript_1E0919 + +RustboroCity_MapEvents:: @ 8526B88 + map_events RustboroCity_MapObjects, RustboroCity_MapWarps, RustboroCity_MapCoordEvents, RustboroCity_MapBGEvents + diff --git a/data/maps/events/RustboroCity_CuttersHouse.inc b/data/maps/events/RustboroCity_CuttersHouse.inc new file mode 100644 index 0000000000..1e779cb1ec --- /dev/null +++ b/data/maps/events/RustboroCity_CuttersHouse.inc @@ -0,0 +1,11 @@ +RustboroCity_CuttersHouse_MapObjects: @ 8530A1C + object_event 1, MAP_OBJ_GFX_MAN_3, 0, 0, 7, 5, 3, 10, 0, 0, 0, 0, RustboroCity_CuttersHouse_EventScript_215BD4, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_LASS, 0, 0, 9, 2, 3, 5, 1, 0, 0, 0, RustboroCity_CuttersHouse_EventScript_215C0A, 0, 0, 0 + +RustboroCity_CuttersHouse_MapWarps: @ 8530A4C + warp_def 5, 8, 0, 8, RUSTBORO_CITY + warp_def 6, 8, 0, 8, RUSTBORO_CITY + +RustboroCity_CuttersHouse_MapEvents:: @ 8530A5C + map_events RustboroCity_CuttersHouse_MapObjects, RustboroCity_CuttersHouse_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/RustboroCity_DevonCorp_1F.inc b/data/maps/events/RustboroCity_DevonCorp_1F.inc new file mode 100644 index 0000000000..5a92ba2fce --- /dev/null +++ b/data/maps/events/RustboroCity_DevonCorp_1F.inc @@ -0,0 +1,17 @@ +RustboroCity_DevonCorp_1F_MapObjects: @ 853037C + object_event 1, MAP_OBJ_GFX_MAN_7, 0, 0, 2, 6, 3, 2, 17, 0, 0, 0, RustboroCity_DevonCorp_1F_EventScript_211261, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_7, 0, 0, 15, 5, 3, 2, 18, 0, 0, 0, RustboroCity_DevonCorp_1F_EventScript_211293, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_4, 0, 0, 5, 3, 3, 8, 0, 0, 0, 0, RustboroCity_DevonCorp_1F_EventScript_2112CE, 0, 0, 0 + +RustboroCity_DevonCorp_1F_MapWarps: @ 85303C4 + warp_def 5, 8, 0, 5, RUSTBORO_CITY + warp_def 6, 8, 0, 6, RUSTBORO_CITY + warp_def 14, 1, 0, 0, RUSTBORO_CITY_DEVON_CORP_2F + +RustboroCity_DevonCorp_1F_MapBGEvents: @ 85303DC + bg_event 3, 2, 0, 0, 0, RustboroCity_DevonCorp_1F_EventScript_211312 + bg_event 8, 2, 0, 0, 0, RustboroCity_DevonCorp_1F_EventScript_211309 + +RustboroCity_DevonCorp_1F_MapEvents:: @ 85303F4 + map_events RustboroCity_DevonCorp_1F_MapObjects, RustboroCity_DevonCorp_1F_MapWarps, 0x0, RustboroCity_DevonCorp_1F_MapBGEvents + diff --git a/data/maps/events/RustboroCity_DevonCorp_2F.inc b/data/maps/events/RustboroCity_DevonCorp_2F.inc new file mode 100644 index 0000000000..a84456e44e --- /dev/null +++ b/data/maps/events/RustboroCity_DevonCorp_2F.inc @@ -0,0 +1,15 @@ +RustboroCity_DevonCorp_2F_MapObjects: @ 8530408 + object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 6, 5, 3, 7, 0, 0, 0, 0, RustboroCity_DevonCorp_2F_EventScript_21186F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 1, 5, 3, 10, 0, 0, 0, 0, RustboroCity_DevonCorp_2F_EventScript_211886, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 2, 6, 3, 15, 0, 0, 0, 0, RustboroCity_DevonCorp_2F_EventScript_2118B0, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 10, 5, 3, 7, 160, 0, 0, 0, RustboroCity_DevonCorp_2F_EventScript_2118DA, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 14, 8, 3, 7, 17, 0, 0, 0, RustboroCity_DevonCorp_2F_EventScript_2118F1, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 14, 5, 3, 7, 17, 0, 0, 0, RustboroCity_DevonCorp_2F_EventScript_211BCF, 0, 0, 0 + +RustboroCity_DevonCorp_2F_MapWarps: @ 8530498 + warp_def 14, 1, 0, 2, RUSTBORO_CITY_DEVON_CORP_1F + warp_def 2, 1, 0, 0, RUSTBORO_CITY_DEVON_CORP_3F + +RustboroCity_DevonCorp_2F_MapEvents:: @ 85304A8 + map_events RustboroCity_DevonCorp_2F_MapObjects, RustboroCity_DevonCorp_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/RustboroCity_DevonCorp_3F.inc b/data/maps/events/RustboroCity_DevonCorp_3F.inc new file mode 100644 index 0000000000..ec2d227076 --- /dev/null +++ b/data/maps/events/RustboroCity_DevonCorp_3F.inc @@ -0,0 +1,15 @@ +RustboroCity_DevonCorp_3F_MapObjects: @ 85304BC + object_event 1, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 17, 5, 3, 9, 0, 0, 0, 0, RustboroCity_DevonCorp_3F_EventScript_21256C, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_2, 0, 0, 3, 5, 3, 10, 0, 0, 0, 0, RustboroCity_DevonCorp_3F_EventScript_2125E1, 949, 0, 0 + object_event 3, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 15, 5, 3, 76, 17, 0, 0, 0, RustboroCity_DevonCorp_3F_EventScript_21256C, 0, 0, 0 + +RustboroCity_DevonCorp_3F_MapWarps: @ 8530504 + warp_def 2, 1, 0, 1, RUSTBORO_CITY_DEVON_CORP_2F + +RustboroCity_DevonCorp_3F_MapBGEvents: @ 853050C + bg_event 1, 5, 3, 0, 0, RustboroCity_DevonCorp_3F_EventScript_212600 + bg_event 1, 7, 3, 0, 0, RustboroCity_DevonCorp_3F_EventScript_212600 + +RustboroCity_DevonCorp_3F_MapEvents:: @ 8530524 + map_events RustboroCity_DevonCorp_3F_MapObjects, RustboroCity_DevonCorp_3F_MapWarps, 0x0, RustboroCity_DevonCorp_3F_MapBGEvents + diff --git a/data/maps/events/RustboroCity_Flat1_1F.inc b/data/maps/events/RustboroCity_Flat1_1F.inc new file mode 100644 index 0000000000..93185e0fdf --- /dev/null +++ b/data/maps/events/RustboroCity_Flat1_1F.inc @@ -0,0 +1,12 @@ +RustboroCity_Flat1_1F_MapObjects: @ 8530890 + object_event 1, MAP_OBJ_GFX_MAN_4, 0, 0, 9, 4, 3, 10, 0, 0, 0, 0, RustboroCity_Flat1_1F_EventScript_2150CE, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_7, 0, 0, 12, 4, 3, 9, 0, 0, 0, 0, RustboroCity_Flat1_1F_EventScript_2150D7, 0, 0, 0 + +RustboroCity_Flat1_1F_MapWarps: @ 85308C0 + warp_def 6, 7, 0, 1, RUSTBORO_CITY + warp_def 7, 7, 0, 1, RUSTBORO_CITY + warp_def 2, 1, 0, 0, RUSTBORO_CITY_FLAT_1_2F + +RustboroCity_Flat1_1F_MapEvents:: @ 85308D8 + map_events RustboroCity_Flat1_1F_MapObjects, RustboroCity_Flat1_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/RustboroCity_Flat1_2F.inc b/data/maps/events/RustboroCity_Flat1_2F.inc new file mode 100644 index 0000000000..0fa012edac --- /dev/null +++ b/data/maps/events/RustboroCity_Flat1_2F.inc @@ -0,0 +1,16 @@ +RustboroCity_Flat1_2F_MapObjects: @ 85308EC + object_event 1, MAP_OBJ_GFX_WOMAN_2, 0, 0, 4, 6, 3, 5, 19, 0, 0, 0, RustboroCity_Flat1_2F_EventScript_21523D, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 9, 5, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_SKITTY_DOLL, 0, 0, 9, 4, 3, 1, 17, 0, 0, 0, RustboroCity_Flat1_2F_EventScript_215246, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_TREECKO_DOLL, 0, 0, 10, 5, 3, 1, 17, 0, 0, 0, RustboroCity_Flat1_2F_EventScript_215246, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_TORCHIC_DOLL, 0, 0, 10, 6, 3, 1, 17, 0, 0, 0, RustboroCity_Flat1_2F_EventScript_215246, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_MAN_1, 0, 0, 8, 5, 3, 10, 17, 0, 0, 0, RustboroCity_Flat1_2F_EventScript_21513A, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_MUDKIP_DOLL, 0, 0, 8, 6, 3, 1, 17, 0, 0, 0, RustboroCity_Flat1_2F_EventScript_215246, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_PIKACHU_DOLL, 0, 0, 9, 7, 3, 1, 17, 0, 0, 0, RustboroCity_Flat1_2F_EventScript_215246, 0, 0, 0 + +RustboroCity_Flat1_2F_MapWarps: @ 85309AC + warp_def 2, 1, 0, 2, RUSTBORO_CITY_FLAT_1_1F + +RustboroCity_Flat1_2F_MapEvents:: @ 85309B4 + map_events RustboroCity_Flat1_2F_MapObjects, RustboroCity_Flat1_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/RustboroCity_Flat2_1F.inc b/data/maps/events/RustboroCity_Flat2_1F.inc new file mode 100644 index 0000000000..937d1afb9e --- /dev/null +++ b/data/maps/events/RustboroCity_Flat2_1F.inc @@ -0,0 +1,12 @@ +RustboroCity_Flat2_1F_MapObjects: @ 8530AC4 + object_event 1, MAP_OBJ_GFX_SKITTY, 0, 0, 11, 4, 3, 9, 0, 0, 0, 0, RustboroCity_Flat2_1F_EventScript_215F80, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_OLD_WOMAN_2, 0, 0, 8, 4, 3, 10, 0, 0, 0, 0, RustboroCity_Flat2_1F_EventScript_215F77, 0, 0, 0 + +RustboroCity_Flat2_1F_MapWarps: @ 8530AF4 + warp_def 2, 8, 0, 10, RUSTBORO_CITY + warp_def 3, 8, 0, 10, RUSTBORO_CITY + warp_def 3, 1, 0, 0, RUSTBORO_CITY_FLAT_2_2F + +RustboroCity_Flat2_1F_MapEvents:: @ 8530B0C + map_events RustboroCity_Flat2_1F_MapObjects, RustboroCity_Flat2_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/RustboroCity_Flat2_2F.inc b/data/maps/events/RustboroCity_Flat2_2F.inc new file mode 100644 index 0000000000..2ea886e544 --- /dev/null +++ b/data/maps/events/RustboroCity_Flat2_2F.inc @@ -0,0 +1,11 @@ +RustboroCity_Flat2_2F_MapObjects: @ 8530B20 + object_event 1, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 11, 4, 3, 10, 0, 0, 0, 0, RustboroCity_Flat2_2F_EventScript_215FD8, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 7, 3, 3, 5, 2, 0, 0, 0, RustboroCity_Flat2_2F_EventScript_215FE1, 0, 0, 0 + +RustboroCity_Flat2_2F_MapWarps: @ 8530B50 + warp_def 3, 1, 0, 2, RUSTBORO_CITY_FLAT_2_1F + warp_def 1, 1, 0, 0, RUSTBORO_CITY_FLAT_2_3F + +RustboroCity_Flat2_2F_MapEvents:: @ 8530B60 + map_events RustboroCity_Flat2_2F_MapObjects, RustboroCity_Flat2_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/RustboroCity_Flat2_3F.inc b/data/maps/events/RustboroCity_Flat2_3F.inc new file mode 100644 index 0000000000..44c5bc37ac --- /dev/null +++ b/data/maps/events/RustboroCity_Flat2_3F.inc @@ -0,0 +1,10 @@ +RustboroCity_Flat2_3F_MapObjects: @ 8530B74 + object_event 1, MAP_OBJ_GFX_MAN_7, 0, 0, 7, 3, 3, 5, 2, 0, 0, 0, RustboroCity_Flat2_3F_EventScript_216117, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_1, 0, 0, 12, 2, 3, 8, 0, 0, 0, 0, RustboroCity_Flat2_3F_EventScript_216120, 0, 0, 0 + +RustboroCity_Flat2_3F_MapWarps: @ 8530BA4 + warp_def 1, 1, 0, 1, RUSTBORO_CITY_FLAT_2_2F + +RustboroCity_Flat2_3F_MapEvents:: @ 8530BAC + map_events RustboroCity_Flat2_3F_MapObjects, RustboroCity_Flat2_3F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/RustboroCity_Gym.inc b/data/maps/events/RustboroCity_Gym.inc new file mode 100644 index 0000000000..dc395c0648 --- /dev/null +++ b/data/maps/events/RustboroCity_Gym.inc @@ -0,0 +1,18 @@ +RustboroCity_Gym_MapObjects: @ 8530538 + object_event 1, MAP_OBJ_GFX_ROXANNE, 0, 0, 5, 2, 3, 8, 0, 0, 0, 0, RustboroCity_Gym_EventScript_212F31, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 5, 13, 3, 8, 0, 0, 1, 2, RustboroCity_Gym_EventScript_212FE3, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 3, 9, 3, 9, 0, 0, 1, 3, RustboroCity_Gym_EventScript_212FFA, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MAN_2, 0, 0, 3, 18, 3, 8, 0, 0, 0, 0, RustboroCity_Gym_EventScript_213028, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_HIKER, 0, 0, 1, 6, 3, 8, 17, 0, 1, 3, RustboroCity_Gym_EventScript_213011, 0, 0, 0 + +RustboroCity_Gym_MapWarps: @ 85305B0 + warp_def 5, 19, 0, 0, RUSTBORO_CITY + warp_def 6, 19, 0, 0, RUSTBORO_CITY + +RustboroCity_Gym_MapBGEvents: @ 85305C0 + bg_event 2, 18, 0, 1, 0, RustboroCity_Gym_EventScript_213047 + bg_event 8, 18, 0, 1, 0, RustboroCity_Gym_EventScript_213057 + +RustboroCity_Gym_MapEvents:: @ 85305D8 + map_events RustboroCity_Gym_MapObjects, RustboroCity_Gym_MapWarps, 0x0, RustboroCity_Gym_MapBGEvents + diff --git a/data/maps/events/RustboroCity_House1.inc b/data/maps/events/RustboroCity_House1.inc new file mode 100644 index 0000000000..eee616f8a4 --- /dev/null +++ b/data/maps/events/RustboroCity_House1.inc @@ -0,0 +1,11 @@ +RustboroCity_House1_MapObjects: @ 85309C8 + object_event 1, MAP_OBJ_GFX_CAMPER, 0, 0, 6, 4, 3, 9, 0, 0, 0, 0, RustboroCity_House1_EventScript_21593F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_HIKER, 0, 0, 9, 2, 3, 8, 0, 0, 0, 0, RustboroCity_House1_EventScript_2159DF, 0, 0, 0 + +RustboroCity_House1_MapWarps: @ 85309F8 + warp_def 5, 7, 0, 7, RUSTBORO_CITY + warp_def 6, 7, 0, 7, RUSTBORO_CITY + +RustboroCity_House1_MapEvents:: @ 8530A08 + map_events RustboroCity_House1_MapObjects, RustboroCity_House1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/RustboroCity_House2.inc b/data/maps/events/RustboroCity_House2.inc new file mode 100644 index 0000000000..b4a00970f2 --- /dev/null +++ b/data/maps/events/RustboroCity_House2.inc @@ -0,0 +1,11 @@ +RustboroCity_House2_MapObjects: @ 8530A70 + object_event 1, MAP_OBJ_GFX_WOMAN_2, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, RustboroCity_House2_EventScript_215EB4, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 4, 5, 3, 7, 0, 0, 0, 0, RustboroCity_House2_EventScript_215EBD, 0, 0, 0 + +RustboroCity_House2_MapWarps: @ 8530AA0 + warp_def 5, 8, 0, 9, RUSTBORO_CITY + warp_def 6, 8, 0, 9, RUSTBORO_CITY + +RustboroCity_House2_MapEvents:: @ 8530AB0 + map_events RustboroCity_House2_MapObjects, RustboroCity_House2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/RustboroCity_House3.inc b/data/maps/events/RustboroCity_House3.inc new file mode 100644 index 0000000000..09cf245e06 --- /dev/null +++ b/data/maps/events/RustboroCity_House3.inc @@ -0,0 +1,12 @@ +RustboroCity_House3_MapObjects: @ 8530BC0 + object_event 1, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 4, 5, 3, 10, 0, 0, 0, 0, RustboroCity_House3_EventScript_216191, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_OLD_WOMAN_2, 0, 0, 7, 5, 3, 9, 0, 0, 0, 0, RustboroCity_House3_EventScript_21619A, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_PIKACHU, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, RustboroCity_House3_EventScript_2161A3, 0, 0, 0 + +RustboroCity_House3_MapWarps: @ 8530C08 + warp_def 5, 8, 0, 11, RUSTBORO_CITY + warp_def 6, 8, 0, 11, RUSTBORO_CITY + +RustboroCity_House3_MapEvents:: @ 8530C18 + map_events RustboroCity_House3_MapObjects, RustboroCity_House3_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/RustboroCity_Mart.inc b/data/maps/events/RustboroCity_Mart.inc new file mode 100644 index 0000000000..28b614d478 --- /dev/null +++ b/data/maps/events/RustboroCity_Mart.inc @@ -0,0 +1,13 @@ +RustboroCity_Mart_MapObjects: @ 853080C + object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, RustboroCity_Mart_EventScript_214F06, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BOY_1, 0, 0, 2, 5, 3, 7, 0, 0, 0, 0, RustboroCity_Mart_EventScript_214F7D, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_2, 0, 0, 8, 4, 3, 3, 16, 0, 0, 0, RustboroCity_Mart_EventScript_214F74, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BUG_CATCHER, 0, 0, 8, 2, 3, 7, 17, 0, 0, 0, RustboroCity_Mart_EventScript_214F86, 0, 0, 0 + +RustboroCity_Mart_MapWarps: @ 853086C + warp_def 3, 7, 0, 2, RUSTBORO_CITY + warp_def 4, 7, 0, 2, RUSTBORO_CITY + +RustboroCity_Mart_MapEvents:: @ 853087C + map_events RustboroCity_Mart_MapObjects, RustboroCity_Mart_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/RustboroCity_PokemonCenter_1F.inc b/data/maps/events/RustboroCity_PokemonCenter_1F.inc new file mode 100644 index 0000000000..9c44870ad7 --- /dev/null +++ b/data/maps/events/RustboroCity_PokemonCenter_1F.inc @@ -0,0 +1,14 @@ +RustboroCity_PokemonCenter_1F_MapObjects: @ 85306F4 + object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, RustboroCity_PokemonCenter_1F_EventScript_214D76, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_1, 0, 0, 11, 2, 3, 9, 0, 0, 0, 0, RustboroCity_PokemonCenter_1F_EventScript_214D84, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BOY_1, 0, 0, 3, 4, 3, 2, 17, 0, 0, 0, RustboroCity_PokemonCenter_1F_EventScript_214D8D, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_GIRL_3, 0, 0, 10, 6, 3, 10, 0, 0, 0, 0, RustboroCity_PokemonCenter_1F_EventScript_214D96, 0, 0, 0 + +RustboroCity_PokemonCenter_1F_MapWarps: @ 8530754 + warp_def 7, 8, 3, 3, RUSTBORO_CITY + warp_def 6, 8, 3, 3, RUSTBORO_CITY + warp_def 1, 6, 4, 0, RUSTBORO_CITY_POKEMON_CENTER_2F + +RustboroCity_PokemonCenter_1F_MapEvents:: @ 853076C + map_events RustboroCity_PokemonCenter_1F_MapObjects, RustboroCity_PokemonCenter_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/RustboroCity_PokemonCenter_2F.inc b/data/maps/events/RustboroCity_PokemonCenter_2F.inc new file mode 100644 index 0000000000..71defda3d4 --- /dev/null +++ b/data/maps/events/RustboroCity_PokemonCenter_2F.inc @@ -0,0 +1,14 @@ +RustboroCity_PokemonCenter_2F_MapObjects: @ 8530780 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, RustboroCity_PokemonCenter_2F_EventScript_27375B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, RustboroCity_PokemonCenter_2F_EventScript_273761, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, RustboroCity_PokemonCenter_2F_EventScript_273767, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, RustboroCity_PokemonCenter_2F_EventScript_276B03, 702, 0, 0 + +RustboroCity_PokemonCenter_2F_MapWarps: @ 85307E0 + warp_def 1, 6, 4, 2, RUSTBORO_CITY_POKEMON_CENTER_1F + warp_def 5, 1, 3, 0, UNION_ROOM + warp_def 9, 1, 3, 0, TRADE_CENTER + +RustboroCity_PokemonCenter_2F_MapEvents:: @ 85307F8 + map_events RustboroCity_PokemonCenter_2F_MapObjects, RustboroCity_PokemonCenter_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/RustboroCity_PokemonSchool.inc b/data/maps/events/RustboroCity_PokemonSchool.inc new file mode 100644 index 0000000000..3facee89a1 --- /dev/null +++ b/data/maps/events/RustboroCity_PokemonSchool.inc @@ -0,0 +1,23 @@ +RustboroCity_PokemonSchool_MapObjects: @ 85305EC + object_event 1, MAP_OBJ_GFX_BOY_5, 0, 0, 8, 6, 3, 10, 0, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213F5F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BOY_5, 0, 0, 9, 6, 3, 9, 0, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213F68, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BOY_4, 0, 0, 3, 8, 3, 7, 0, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213F71, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_LASS, 0, 0, 10, 8, 3, 7, 0, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213F7A, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 3, 6, 3, 8, 0, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213F83, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 5, 3, 3, 8, 17, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213F95, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_SCOTT, 0, 0, 0, 10, 0, 7, 17, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_214040, 999, 0, 0 + +RustboroCity_PokemonSchool_MapWarps: @ 8530694 + warp_def 5, 10, 0, 4, RUSTBORO_CITY + warp_def 6, 10, 0, 4, RUSTBORO_CITY + +RustboroCity_PokemonSchool_MapBGEvents: @ 85306A4 + bg_event 5, 2, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213EA9 + bg_event 4, 2, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213EA9 + bg_event 6, 2, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213EA9 + bg_event 7, 2, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213EA9 + bg_event 3, 5, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213F8C + +RustboroCity_PokemonSchool_MapEvents:: @ 85306E0 + map_events RustboroCity_PokemonSchool_MapObjects, RustboroCity_PokemonSchool_MapWarps, 0x0, RustboroCity_PokemonSchool_MapBGEvents + diff --git a/data/maps/events/RusturfTunnel.inc b/data/maps/events/RusturfTunnel.inc new file mode 100644 index 0000000000..94846323a4 --- /dev/null +++ b/data/maps/events/RusturfTunnel.inc @@ -0,0 +1,27 @@ +RusturfTunnel_MapObjects: @ 85341C4 + object_event 1, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 23, 5, 3, 10, 0, 0, 0, 0, RusturfTunnel_EventScript_22CE76, 807, 0, 0 + object_event 2, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 24, 5, 3, 1, 0, 0, 0, 0, RusturfTunnel_EventScript_2907A6, 931, 0, 0 + object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 1, 3, 1, 0, 0, 0, 0, RusturfTunnel_EventScript_291136, 1048, 0, 0 + object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 30, 2, 3, 1, 0, 0, 0, 0, RusturfTunnel_EventScript_291143, 1049, 0, 0 + object_event 5, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 5, 4, 3, 10, 0, 0, 0, 0, 0x0, 879, 0, 0 + object_event 6, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 14, 5, 3, 9, 0, 0, 0, 0, RusturfTunnel_EventScript_22D0C2, 878, 0, 0 + object_event 7, MAP_OBJ_GFX_WINGULL, 0, 0, 14, 4, 3, 9, 0, 0, 0, 0, RusturfTunnel_EventScript_22D0AF, 880, 0, 0 + object_event 8, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 24, 4, 3, 8, 0, 0, 0, 0, RusturfTunnel_EventScript_2907A6, 932, 0, 0 + object_event 9, MAP_OBJ_GFX_HIKER, 0, 0, 32, 13, 3, 9, 17, 0, 1, 3, RusturfTunnel_EventScript_22D1B1, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_WOMAN_3, 0, 0, 25, 4, 3, 9, 17, 0, 0, 0, RusturfTunnel_EventScript_22CE5F, 983, 0, 0 + +RusturfTunnel_MapWarps: @ 85342B4 + warp_def 4, 10, 3, 0, ROUTE_116 + warp_def 29, 16, 3, 4, VERDANTURF_TOWN + warp_def 18, 20, 3, 2, ROUTE_116 + +RusturfTunnel_MapCoordEvents: @ 85342CC + coord_event 23, 4, 3, 0, 0, 0, 0, RusturfTunnel_EventScript_22D071 + coord_event 9, 4, 3, 0, VAR_0x409A, 2, 0, RusturfTunnel_EventScript_22D083 + coord_event 9, 5, 3, 0, VAR_0x409A, 2, 0, RusturfTunnel_EventScript_22D083 + coord_event 25, 4, 3, 0, 0, 0, 0, RusturfTunnel_EventScript_22D077 + coord_event 25, 5, 3, 0, 0, 0, 0, RusturfTunnel_EventScript_22D07D + +RusturfTunnel_MapEvents:: @ 853431C + map_events RusturfTunnel_MapObjects, RusturfTunnel_MapWarps, RusturfTunnel_MapCoordEvents, 0x0 + diff --git a/data/maps/events/SSTidalCorridor.inc b/data/maps/events/SSTidalCorridor.inc new file mode 100644 index 0000000000..5d6d732885 --- /dev/null +++ b/data/maps/events/SSTidalCorridor.inc @@ -0,0 +1,35 @@ +SSTidalCorridor_MapObjects: @ 853A158 + object_event 1, MAP_OBJ_GFX_SAILOR, 0, 0, 1, 11, 3, 7, 0, 0, 0, 0, SSTidalCorridor_EventScript_23C119, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SAILOR, 0, 0, 16, 7, 3, 3, 32, 0, 0, 0, SSTidalCorridor_EventScript_23C1A3, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 9, 2, 3, 8, 17, 0, 0, 0, SSTidalCorridor_EventScript_23C0D9, 950, 0, 0 + object_event 4, MAP_OBJ_GFX_WINGULL, 0, 0, 7, 2, 3, 1, 17, 0, 0, 0, SSTidalCorridor_EventScript_23C0E2, 950, 0, 0 + object_event 5, MAP_OBJ_GFX_SCOTT, 0, 0, 9, 10, 3, 9, 0, 0, 0, 0, 0x0, 810, 0, 0 + +SSTidalCorridor_MapWarps: @ 853A1D0 + warp_def 4, 9, 3, 0, SS_TIDAL_ROOMS + warp_def 7, 9, 3, 2, SS_TIDAL_ROOMS + warp_def 10, 9, 3, 4, SS_TIDAL_ROOMS + warp_def 13, 9, 3, 6, SS_TIDAL_ROOMS + warp_def 4, 3, 3, 8, SS_TIDAL_ROOMS + warp_def 7, 3, 3, 9, SS_TIDAL_ROOMS + warp_def 10, 3, 3, 10, SS_TIDAL_ROOMS + warp_def 13, 3, 3, 11, SS_TIDAL_ROOMS + warp_def 16, 2, 3, 0, SS_TIDAL_LOWER_DECK + +SSTidalCorridor_MapBGEvents: @ 853A218 + bg_event 2, 1, 0, 0, 0, SSTidalCorridor_EventScript_23C17D + bg_event 4, 1, 0, 0, 0, SSTidalCorridor_EventScript_23C17D + bg_event 6, 1, 0, 0, 0, SSTidalCorridor_EventScript_23C17D + bg_event 8, 1, 0, 0, 0, SSTidalCorridor_EventScript_23C17D + bg_event 10, 1, 0, 0, 0, SSTidalCorridor_EventScript_23C17D + bg_event 12, 1, 0, 0, 0, SSTidalCorridor_EventScript_23C17D + bg_event 14, 1, 0, 0, 0, SSTidalCorridor_EventScript_23C17D + bg_event 16, 1, 0, 0, 0, SSTidalCorridor_EventScript_23C17D + bg_event 5, 9, 0, 1, 0, SSTidalCorridor_EventScript_23C0F5 + bg_event 8, 9, 0, 1, 0, SSTidalCorridor_EventScript_23C0FE + bg_event 11, 9, 0, 1, 0, SSTidalCorridor_EventScript_23C107 + bg_event 14, 9, 0, 1, 0, SSTidalCorridor_EventScript_23C110 + +SSTidalCorridor_MapEvents:: @ 853A2A8 + map_events SSTidalCorridor_MapObjects, SSTidalCorridor_MapWarps, 0x0, SSTidalCorridor_MapBGEvents + diff --git a/data/maps/events/SSTidalLowerDeck.inc b/data/maps/events/SSTidalLowerDeck.inc new file mode 100644 index 0000000000..0ce76cf29a --- /dev/null +++ b/data/maps/events/SSTidalLowerDeck.inc @@ -0,0 +1,13 @@ +SSTidalLowerDeck_MapObjects: @ 853A2BC + object_event 1, MAP_OBJ_GFX_SAILOR, 0, 0, 10, 4, 3, 46, 68, 0, 1, 3, SSTidalLowerDeck_EventScript_23C819, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SAILOR, 0, 0, 7, 4, 3, 50, 71, 0, 1, 3, SSTidalLowerDeck_EventScript_23C830, 0, 0, 0 + +SSTidalLowerDeck_MapWarps: @ 853A2EC + warp_def 15, 2, 3, 8, SS_TIDAL_CORRIDOR + +SSTidalLowerDeck_MapBGEvents: @ 853A2F4 + bg_event 0, 2, 0, 7, 0, ITEM_LEFTOVERS, 35, 0 + +SSTidalLowerDeck_MapEvents:: @ 853A300 + map_events SSTidalLowerDeck_MapObjects, SSTidalLowerDeck_MapWarps, 0x0, SSTidalLowerDeck_MapBGEvents + diff --git a/data/maps/events/SSTidalRooms.inc b/data/maps/events/SSTidalRooms.inc new file mode 100644 index 0000000000..81648162b3 --- /dev/null +++ b/data/maps/events/SSTidalRooms.inc @@ -0,0 +1,31 @@ +SSTidalRooms_MapObjects: @ 853A314 + object_event 1, MAP_OBJ_GFX_MAN_3, 0, 0, 4, 7, 3, 10, 0, 0, 1, 0, SSTidalRooms_EventScript_23CA49, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 34, 11, 3, 9, 0, 0, 1, 3, SSTidalRooms_EventScript_23CA60, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 21, 5, 3, 10, 0, 0, 1, 0, SSTidalRooms_EventScript_23CA77, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MAN_5, 0, 0, 5, 14, 3, 8, 0, 0, 1, 1, SSTidalRooms_EventScript_23CA8E, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_WOMAN_5, 0, 0, 4, 14, 3, 8, 0, 0, 1, 1, SSTidalRooms_EventScript_23CAA9, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_BOY_4, 0, 0, 22, 11, 3, 8, 17, 0, 1, 3, SSTidalRooms_EventScript_23CAC4, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_WOMAN_3, 0, 0, 15, 6, 3, 9, 0, 0, 1, 0, SSTidalRooms_EventScript_23CADB, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_MANIAC, 0, 0, 28, 5, 3, 7, 17, 0, 0, 0, SSTidalRooms_EventScript_23C9F2, 951, 0, 0 + +SSTidalRooms_MapWarps: @ 853A3D4 + warp_def 4, 16, 0, 0, SS_TIDAL_CORRIDOR + warp_def 5, 16, 0, 0, SS_TIDAL_CORRIDOR + warp_def 13, 16, 0, 1, SS_TIDAL_CORRIDOR + warp_def 14, 16, 0, 1, SS_TIDAL_CORRIDOR + warp_def 22, 16, 0, 2, SS_TIDAL_CORRIDOR + warp_def 23, 16, 0, 2, SS_TIDAL_CORRIDOR + warp_def 31, 16, 0, 3, SS_TIDAL_CORRIDOR + warp_def 32, 16, 0, 3, SS_TIDAL_CORRIDOR + warp_def 4, 1, 0, 4, SS_TIDAL_CORRIDOR + warp_def 13, 1, 0, 5, SS_TIDAL_CORRIDOR + warp_def 22, 1, 0, 6, SS_TIDAL_CORRIDOR + warp_def 31, 1, 0, 7, SS_TIDAL_CORRIDOR + +SSTidalRooms_MapBGEvents: @ 853A434 + bg_event 15, 11, 0, 0, 0, SSTidalRooms_EventScript_23CA33 + bg_event 15, 12, 0, 0, 0, SSTidalRooms_EventScript_23CA33 + +SSTidalRooms_MapEvents:: @ 853A44C + map_events SSTidalRooms_MapObjects, SSTidalRooms_MapWarps, 0x0, SSTidalRooms_MapBGEvents + diff --git a/data/maps/events/SafariZone_North.inc b/data/maps/events/SafariZone_North.inc new file mode 100644 index 0000000000..e8ace64829 --- /dev/null +++ b/data/maps/events/SafariZone_North.inc @@ -0,0 +1,14 @@ +SafariZone_North_MapObjects: @ 853B160 + object_event 1, MAP_OBJ_GFX_FISHERMAN, 0, 0, 22, 9, 3, 2, 17, 0, 0, 0, SafariZone_North_EventScript_23D254, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_5, 0, 0, 6, 29, 3, 2, 17, 0, 0, 0, SafariZone_North_EventScript_23D25D, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 25, 10, 3, 1, 17, 0, 0, 0, SafariZone_North_EventScript_2907A6, 17, 0, 0 + object_event 4, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 25, 13, 3, 1, 17, 0, 0, 0, SafariZone_North_EventScript_2907A6, 18, 0, 0 + object_event 5, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 28, 14, 3, 1, 17, 0, 0, 0, SafariZone_North_EventScript_2907A6, 19, 0, 0 + object_event 6, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 23, 6, 3, 1, 17, 0, 0, 0, SafariZone_North_EventScript_2907A6, 20, 0, 0 + object_event 7, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 20, 7, 3, 1, 17, 0, 0, 0, SafariZone_North_EventScript_2907A6, 21, 0, 0 + object_event 8, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 27, 7, 3, 1, 17, 0, 0, 0, SafariZone_North_EventScript_2907A6, 22, 0, 0 + object_event 9, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 6, 3, 1, 17, 0, 0, 0, SafariZone_North_EventScript_2912C9, 1119, 0, 0 + +SafariZone_North_MapEvents:: @ 853B238 + map_events SafariZone_North_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/SafariZone_Northeast.inc b/data/maps/events/SafariZone_Northeast.inc new file mode 100644 index 0000000000..84505d6e65 --- /dev/null +++ b/data/maps/events/SafariZone_Northeast.inc @@ -0,0 +1,18 @@ +SafariZone_Northeast_MapObjects: @ 853B968 + object_event 1, MAP_OBJ_GFX_BOY_3, 0, 0, 8, 20, 3, 1, 17, 0, 0, 0, SafariZone_Northeast_EventScript_23D3C6, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GIRL_3, 0, 0, 30, 22, 3, 1, 17, 0, 0, 0, SafariZone_Northeast_EventScript_23D3D8, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 11, 11, 3, 1, 17, 0, 0, 0, SafariZone_Northeast_EventScript_2907A6, 21, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_1, 0, 0, 13, 35, 0, 1, 17, 0, 0, 0, SafariZone_Northeast_EventScript_23D3CF, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 8, 13, 3, 1, 17, 0, 0, 0, SafariZone_Northeast_EventScript_2907A6, 19, 0, 0 + object_event 6, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 9, 7, 3, 1, 17, 0, 0, 0, SafariZone_Northeast_EventScript_2907A6, 17, 0, 0 + object_event 7, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 8, 10, 3, 1, 17, 0, 0, 0, SafariZone_Northeast_EventScript_2907A6, 20, 0, 0 + object_event 8, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 12, 8, 3, 1, 17, 0, 0, 0, SafariZone_Northeast_EventScript_2907A6, 18, 0, 0 + object_event 9, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 8, 17, 3, 1, 17, 0, 0, 0, SafariZone_Northeast_EventScript_2912E3, 1169, 0, 0 + +SafariZone_Northeast_MapBGEvents: @ 853BA40 + bg_event 31, 35, 3, 7, 0, ITEM_RARE_CANDY, 106, 0 + bg_event 21, 5, 3, 7, 0, ITEM_ZINC, 107, 0 + +SafariZone_Northeast_MapEvents:: @ 853BA58 + map_events SafariZone_Northeast_MapObjects, 0x0, 0x0, SafariZone_Northeast_MapBGEvents + diff --git a/data/maps/events/SafariZone_Northwest.inc b/data/maps/events/SafariZone_Northwest.inc new file mode 100644 index 0000000000..64152d008a --- /dev/null +++ b/data/maps/events/SafariZone_Northwest.inc @@ -0,0 +1,7 @@ +SafariZone_Northwest_MapObjects: @ 853B11C + object_event 1, MAP_OBJ_GFX_MAN_1, 0, 0, 8, 8, 5, 8, 0, 0, 0, 0, SafariZone_Northwest_EventScript_23D24A, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 33, 7, 3, 1, 17, 0, 0, 0, SafariZone_Northwest_EventScript_2912BC, 1094, 0, 0 + +SafariZone_Northwest_MapEvents:: @ 853B14C + map_events SafariZone_Northwest_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/SafariZone_RestHouse.inc b/data/maps/events/SafariZone_RestHouse.inc new file mode 100644 index 0000000000..863c3113a9 --- /dev/null +++ b/data/maps/events/SafariZone_RestHouse.inc @@ -0,0 +1,12 @@ +SafariZone_RestHouse_MapObjects: @ 853B8FC + object_event 1, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 7, 4, 0, 10, 17, 0, 0, 0, SafariZone_RestHouse_EventScript_242BE7, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 8, 4, 0, 9, 17, 0, 0, 0, SafariZone_RestHouse_EventScript_242BF0, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_FAT_MAN, 0, 0, 2, 5, 3, 10, 17, 0, 0, 0, SafariZone_RestHouse_EventScript_242BF9, 0, 0, 0 + +SafariZone_RestHouse_MapWarps: @ 853B944 + warp_def 3, 8, 0, 0, SAFARI_ZONE_SOUTHWEST + warp_def 4, 8, 0, 0, SAFARI_ZONE_SOUTHWEST + +SafariZone_RestHouse_MapEvents:: @ 853B954 + map_events SafariZone_RestHouse_MapObjects, SafariZone_RestHouse_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SafariZone_South.inc b/data/maps/events/SafariZone_South.inc new file mode 100644 index 0000000000..4a0ead84c2 --- /dev/null +++ b/data/maps/events/SafariZone_South.inc @@ -0,0 +1,14 @@ +SafariZone_South_MapObjects: @ 853B2A4 + object_event 1, MAP_OBJ_GFX_CAMPER, 0, 0, 32, 34, 4, 8, 0, 0, 0, 0, SafariZone_South_EventScript_23D2E5, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BOY_1, 0, 0, 26, 28, 3, 2, 17, 0, 0, 0, SafariZone_South_EventScript_23D2CA, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_5, 0, 0, 16, 6, 5, 8, 0, 0, 0, 0, SafariZone_South_EventScript_23D2D3, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 15, 31, 3, 2, 17, 0, 0, 0, SafariZone_South_EventScript_23D2DC, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_CAMPER, 0, 0, 36, 16, 3, 9, 17, 0, 0, 0, SafariZone_South_EventScript_23D390, 717, 0, 0 + object_event 6, MAP_OBJ_GFX_CAMPER, 0, 0, 36, 17, 3, 9, 17, 0, 0, 0, SafariZone_South_EventScript_23D3A2, 717, 0, 0 + +SafariZone_South_MapWarps: @ 853B334 + warp_def 32, 33, 0, 0, ROUTE_121_SAFARI_ZONE_ENTRANCE + +SafariZone_South_MapEvents:: @ 853B33C + map_events SafariZone_South_MapObjects, SafariZone_South_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SafariZone_Southeast.inc b/data/maps/events/SafariZone_Southeast.inc new file mode 100644 index 0000000000..3970e6eb04 --- /dev/null +++ b/data/maps/events/SafariZone_Southeast.inc @@ -0,0 +1,14 @@ +SafariZone_Southeast_MapObjects: @ 853BA6C + object_event 1, MAP_OBJ_GFX_BOY_4, 0, 0, 7, 7, 3, 1, 17, 0, 0, 0, SafariZone_Southeast_EventScript_23D3BD, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_FAT_MAN, 0, 0, 20, 30, 3, 2, 17, 0, 0, 0, SafariZone_Southeast_EventScript_23D3B4, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 8, 26, 3, 2, 17, 0, 0, 0, SafariZone_Southeast_EventScript_23D3AB, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 31, 15, 3, 1, 17, 0, 0, 0, SafariZone_Southeast_EventScript_2912F0, 1170, 0, 0 + object_event 5, MAP_OBJ_GFX_CAMPER, 0, 0, 12, 16, 3, 9, 17, 0, 0, 0, SafariZone_Southeast_EventScript_23D399, 747, 0, 0 + +SafariZone_Southeast_MapBGEvents: @ 853BAE4 + bg_event 19, 36, 3, 7, 0, ITEM_PP_UP, 108, 0 + bg_event 32, 33, 0, 7, 0, ITEM_FULL_RESTORE, 105, 0 + +SafariZone_Southeast_MapEvents:: @ 853BAFC + map_events SafariZone_Southeast_MapObjects, 0x0, 0x0, SafariZone_Southeast_MapBGEvents + diff --git a/data/maps/events/SafariZone_Southwest.inc b/data/maps/events/SafariZone_Southwest.inc new file mode 100644 index 0000000000..9edb33ddb3 --- /dev/null +++ b/data/maps/events/SafariZone_Southwest.inc @@ -0,0 +1,13 @@ +SafariZone_Southwest_MapObjects: @ 853B24C + object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 22, 9, 3, 8, 0, 0, 0, 0, SafariZone_Southwest_EventScript_23D267, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 37, 3, 1, 17, 0, 0, 0, SafariZone_Southwest_EventScript_2912D6, 1131, 0, 0 + +SafariZone_Southwest_MapWarps: @ 853B27C + warp_def 29, 7, 3, 0, SAFARI_ZONE_REST_HOUSE + +SafariZone_Southwest_MapBGEvents: @ 853B284 + bg_event 32, 7, 3, 0, 0, SafariZone_Southwest_EventScript_23D270 + +SafariZone_Southwest_MapEvents:: @ 853B290 + map_events SafariZone_Southwest_MapObjects, SafariZone_Southwest_MapWarps, 0x0, SafariZone_Southwest_MapBGEvents + diff --git a/data/maps/events/ScorchedSlab.inc b/data/maps/events/ScorchedSlab.inc new file mode 100644 index 0000000000..f5c8784660 --- /dev/null +++ b/data/maps/events/ScorchedSlab.inc @@ -0,0 +1,9 @@ +ScorchedSlab_MapObjects: @ 8536F88 + object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 5, 3, 1, 0, 0, 0, 0, ScorchedSlab_EventScript_2912AF, 1079, 0, 0 + +ScorchedSlab_MapWarps: @ 8536FA0 + warp_def 7, 16, 1, 1, ROUTE_120 + +ScorchedSlab_MapEvents:: @ 8536FA8 + map_events ScorchedSlab_MapObjects, ScorchedSlab_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SeafloorCavern_Entrance.inc b/data/maps/events/SeafloorCavern_Entrance.inc new file mode 100644 index 0000000000..3a41757e25 --- /dev/null +++ b/data/maps/events/SeafloorCavern_Entrance.inc @@ -0,0 +1,10 @@ +SeafloorCavern_Entrance_MapObjects: @ 85356BC + object_event 1, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 10, 2, 3, 7, 17, 0, 0, 0, SeafloorCavern_Entrance_EventScript_234485, 941, 0, 0 + +SeafloorCavern_Entrance_MapWarps: @ 85356D4 + warp_def 10, 18, 3, 0, UNDERWATER_4 + warp_def 10, 1, 3, 0, SEAFLOOR_CAVERN_ROOM_1 + +SeafloorCavern_Entrance_MapEvents:: @ 85356E4 + map_events SeafloorCavern_Entrance_MapObjects, SeafloorCavern_Entrance_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SeafloorCavern_Room1.inc b/data/maps/events/SeafloorCavern_Room1.inc new file mode 100644 index 0000000000..4a219357c2 --- /dev/null +++ b/data/maps/events/SeafloorCavern_Room1.inc @@ -0,0 +1,15 @@ +SeafloorCavern_Room1_MapObjects: @ 85356F8 + object_event 1, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 5, 11, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room1_EventScript_2908BA, 17, 0, 0 + object_event 2, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 12, 11, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room1_EventScript_2908BA, 18, 0, 0 + object_event 3, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 5, 10, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room1_EventScript_2907A6, 19, 0, 0 + object_event 4, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 8, 6, 3, 1, 17, 0, 1, 2, SeafloorCavern_Room1_EventScript_2347EC, 946, 0, 0 + object_event 5, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 15, 10, 3, 16, 17, 0, 1, 3, SeafloorCavern_Room1_EventScript_234803, 946, 0, 0 + +SeafloorCavern_Room1_MapWarps: @ 8535770 + warp_def 5, 18, 3, 1, SEAFLOOR_CAVERN_ENTRANCE + warp_def 17, 13, 3, 0, SEAFLOOR_CAVERN_ROOM_5 + warp_def 6, 2, 3, 0, SEAFLOOR_CAVERN_ROOM_2 + +SeafloorCavern_Room1_MapEvents:: @ 8535788 + map_events SeafloorCavern_Room1_MapObjects, SeafloorCavern_Room1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SeafloorCavern_Room2.inc b/data/maps/events/SeafloorCavern_Room2.inc new file mode 100644 index 0000000000..cf0c2dfad9 --- /dev/null +++ b/data/maps/events/SeafloorCavern_Room2.inc @@ -0,0 +1,19 @@ +SeafloorCavern_Room2_MapObjects: @ 853579C + object_event 1, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 13, 3, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, 18, 0, 0 + object_event 2, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 10, 3, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, 19, 0, 0 + object_event 3, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 13, 5, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, 17, 0, 0 + object_event 4, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 4, 5, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, 21, 0, 0 + object_event 5, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 7, 4, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, 22, 0, 0 + object_event 6, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 8, 7, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2907A6, 24, 0, 0 + object_event 7, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 9, 3, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2907A6, 25, 0, 0 + object_event 8, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 4, 8, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, 23, 0, 0 + +SeafloorCavern_Room2_MapWarps: @ 853585C + warp_def 10, 7, 3, 2, SEAFLOOR_CAVERN_ROOM_1 + warp_def 4, 10, 3, 0, SEAFLOOR_CAVERN_ROOM_4 + warp_def 6, 1, 3, 0, SEAFLOOR_CAVERN_ROOM_6 + warp_def 11, 1, 3, 0, SEAFLOOR_CAVERN_ROOM_7 + +SeafloorCavern_Room2_MapEvents:: @ 853587C + map_events SeafloorCavern_Room2_MapObjects, SeafloorCavern_Room2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SeafloorCavern_Room3.inc b/data/maps/events/SeafloorCavern_Room3.inc new file mode 100644 index 0000000000..964b45a6d4 --- /dev/null +++ b/data/maps/events/SeafloorCavern_Room3.inc @@ -0,0 +1,19 @@ +SeafloorCavern_Room3_MapObjects: @ 8535890 + object_event 1, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 13, 10, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, 18, 0, 0 + object_event 2, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 11, 10, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, 20, 0, 0 + object_event 3, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 12, 9, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, 21, 0, 0 + object_event 4, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 12, 7, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, 22, 0, 0 + object_event 5, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 11, 8, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, 23, 0, 0 + object_event 6, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 12, 11, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, 24, 0, 0 + object_event 7, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 13, 8, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, 25, 0, 0 + object_event 8, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 9, 5, 3, 9, 17, 0, 1, 6, SeafloorCavern_Room3_EventScript_234938, 946, 0, 0 + object_event 9, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 5, 5, 3, 10, 17, 0, 1, 4, SeafloorCavern_Room3_EventScript_23494F, 946, 0, 0 + +SeafloorCavern_Room3_MapWarps: @ 8535968 + warp_def 8, 1, 3, 1, SEAFLOOR_CAVERN_ROOM_8 + warp_def 9, 13, 3, 1, SEAFLOOR_CAVERN_ROOM_7 + warp_def 4, 15, 3, 1, SEAFLOOR_CAVERN_ROOM_6 + +SeafloorCavern_Room3_MapEvents:: @ 8535980 + map_events SeafloorCavern_Room3_MapObjects, SeafloorCavern_Room3_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SeafloorCavern_Room4.inc b/data/maps/events/SeafloorCavern_Room4.inc new file mode 100644 index 0000000000..79d57dd727 --- /dev/null +++ b/data/maps/events/SeafloorCavern_Room4.inc @@ -0,0 +1,13 @@ +SeafloorCavern_Room4_MapObjects: @ 8535994 + object_event 1, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 5, 8, 3, 17, 17, 0, 1, 3, SeafloorCavern_Room4_EventScript_234C9C, 946, 0, 0 + object_event 2, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 5, 12, 3, 7, 17, 0, 1, 3, SeafloorCavern_Room4_EventScript_234CB3, 946, 0, 0 + +SeafloorCavern_Room4_MapWarps: @ 85359C4 + warp_def 13, 1, 3, 1, SEAFLOOR_CAVERN_ROOM_2 + warp_def 4, 1, 3, 1, SEAFLOOR_CAVERN_ROOM_5 + warp_def 9, 10, 3, 2, SEAFLOOR_CAVERN_ROOM_5 + warp_def 10, 15, 3, 1, SEAFLOOR_CAVERN_ENTRANCE + +SeafloorCavern_Room4_MapEvents:: @ 85359E4 + map_events SeafloorCavern_Room4_MapObjects, SeafloorCavern_Room4_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SeafloorCavern_Room5.inc b/data/maps/events/SeafloorCavern_Room5.inc new file mode 100644 index 0000000000..b88a862abc --- /dev/null +++ b/data/maps/events/SeafloorCavern_Room5.inc @@ -0,0 +1,16 @@ +SeafloorCavern_Room5_MapObjects: @ 85359F8 + object_event 1, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 3, 11, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2908BA, 17, 0, 0 + object_event 2, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 4, 11, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2908BA, 18, 0, 0 + object_event 3, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 11, 7, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2908BA, 19, 0, 0 + object_event 4, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 3, 13, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2907A6, 21, 0, 0 + object_event 5, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 13, 8, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2907A6, 22, 0, 0 + object_event 6, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 12, 8, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2908BA, 20, 0, 0 + +SeafloorCavern_Room5_MapWarps: @ 8535A88 + warp_def 4, 1, 3, 1, SEAFLOOR_CAVERN_ROOM_1 + warp_def 15, 12, 3, 1, SEAFLOOR_CAVERN_ROOM_4 + warp_def 7, 17, 3, 2, SEAFLOOR_CAVERN_ROOM_4 + +SeafloorCavern_Room5_MapEvents:: @ 8535AA0 + map_events SeafloorCavern_Room5_MapObjects, SeafloorCavern_Room5_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SeafloorCavern_Room6.inc b/data/maps/events/SeafloorCavern_Room6.inc new file mode 100644 index 0000000000..2293f359dc --- /dev/null +++ b/data/maps/events/SeafloorCavern_Room6.inc @@ -0,0 +1,8 @@ +SeafloorCavern_Room6_MapWarps: @ 8535AB4 + warp_def 11, 21, 3, 2, SEAFLOOR_CAVERN_ROOM_2 + warp_def 4, 1, 3, 2, SEAFLOOR_CAVERN_ROOM_3 + warp_def 14, 8, 1, 1, SEAFLOOR_CAVERN_ENTRANCE + +SeafloorCavern_Room6_MapEvents:: @ 8535ACC + map_events 0x0, SeafloorCavern_Room6_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SeafloorCavern_Room7.inc b/data/maps/events/SeafloorCavern_Room7.inc new file mode 100644 index 0000000000..002154473c --- /dev/null +++ b/data/maps/events/SeafloorCavern_Room7.inc @@ -0,0 +1,7 @@ +SeafloorCavern_Room7_MapWarps: @ 8535AE0 + warp_def 3, 23, 3, 3, SEAFLOOR_CAVERN_ROOM_2 + warp_def 5, 1, 3, 1, SEAFLOOR_CAVERN_ROOM_3 + +SeafloorCavern_Room7_MapEvents:: @ 8535AF0 + map_events 0x0, SeafloorCavern_Room7_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SeafloorCavern_Room8.inc b/data/maps/events/SeafloorCavern_Room8.inc new file mode 100644 index 0000000000..7fd65fc087 --- /dev/null +++ b/data/maps/events/SeafloorCavern_Room8.inc @@ -0,0 +1,21 @@ +SeafloorCavern_Room8_MapObjects: @ 8535B04 + object_event 1, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 4, 7, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 17, 0, 0 + object_event 2, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 5, 7, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 18, 0, 0 + object_event 3, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 6, 7, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 19, 0, 0 + object_event 4, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 3, 6, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 20, 0, 0 + object_event 5, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 7, 6, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 21, 0, 0 + object_event 6, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 4, 5, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 22, 0, 0 + object_event 7, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 5, 5, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 23, 0, 0 + object_event 8, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 6, 5, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 24, 0, 0 + object_event 9, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 3, 4, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 25, 0, 0 + object_event 10, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 4, 4, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 26, 0, 0 + object_event 11, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 6, 4, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 27, 0, 0 + object_event 12, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 7, 4, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 28, 0, 0 + +SeafloorCavern_Room8_MapWarps: @ 8535C24 + warp_def 5, 2, 3, 0, SEAFLOOR_CAVERN_ROOM_9 + warp_def 5, 12, 3, 0, SEAFLOOR_CAVERN_ROOM_3 + +SeafloorCavern_Room8_MapEvents:: @ 8535C34 + map_events SeafloorCavern_Room8_MapObjects, SeafloorCavern_Room8_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SeafloorCavern_Room9.inc b/data/maps/events/SeafloorCavern_Room9.inc new file mode 100644 index 0000000000..bcd27d0307 --- /dev/null +++ b/data/maps/events/SeafloorCavern_Room9.inc @@ -0,0 +1,18 @@ +SeafloorCavern_Room9_MapObjects: @ 8535C48 + object_event 1, MAP_OBJ_GFX_KYOGRE_1, 0, 0, 17, 38, 3, 8, 0, 0, 0, 0, 0x0, 859, 0, 0 + object_event 2, MAP_OBJ_GFX_ARCHIE, 0, 0, 9, 42, 3, 10, 0, 0, 0, 0, 0x0, 828, 0, 0 + object_event 3, MAP_OBJ_GFX_MAXIE, 0, 0, 9, 42, 3, 10, 0, 0, 0, 0, 0x0, 829, 0, 0 + object_event 4, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 8, 41, 3, 10, 0, 0, 0, 0, 0x0, 831, 0, 0 + object_event 5, MAP_OBJ_GFX_MAGMA_MEMBER_F, 0, 0, 8, 42, 3, 10, 0, 0, 0, 0, 0x0, 831, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 14, 5, 3, 1, 17, 0, 0, 0, SeafloorCavern_Room9_EventScript_291401, 1090, 0, 0 + object_event 7, MAP_OBJ_GFX_KYOGRE_2, 0, 0, 17, 38, 3, 8, 17, 0, 0, 0, 0x0, 733, 0, 0 + +SeafloorCavern_Room9_MapWarps: @ 8535CF0 + warp_def 5, 4, 3, 0, SEAFLOOR_CAVERN_ROOM_8 + +SeafloorCavern_Room9_MapCoordEvents: @ 8535CF8 + coord_event 17, 42, 3, 0, VAR_0x40A2, 0, 0, SeafloorCavern_Room9_EventScript_234DC9 + +SeafloorCavern_Room9_MapEvents:: @ 8535D08 + map_events SeafloorCavern_Room9_MapObjects, SeafloorCavern_Room9_MapWarps, SeafloorCavern_Room9_MapCoordEvents, 0x0 + diff --git a/data/maps/events/SealedChamber_InnerRoom.inc b/data/maps/events/SealedChamber_InnerRoom.inc new file mode 100644 index 0000000000..753d6dbfb5 --- /dev/null +++ b/data/maps/events/SealedChamber_InnerRoom.inc @@ -0,0 +1,17 @@ +SealedChamber_InnerRoom_MapWarps: @ 8536F00 + warp_def 10, 19, 3, 0, SEALED_CHAMBER_OUTER_ROOM + +SealedChamber_InnerRoom_MapBGEvents: @ 8536F08 + bg_event 10, 4, 0, 0, 0, SealedChamber_InnerRoom_EventScript_2391F8 + bg_event 6, 8, 0, 0, 0, SealedChamber_InnerRoom_EventScript_239255 + bg_event 14, 8, 0, 0, 0, SealedChamber_InnerRoom_EventScript_23925F + bg_event 4, 13, 0, 0, 0, SealedChamber_InnerRoom_EventScript_239269 + bg_event 16, 13, 0, 0, 0, SealedChamber_InnerRoom_EventScript_239273 + bg_event 6, 18, 0, 0, 0, SealedChamber_InnerRoom_EventScript_23927D + bg_event 14, 18, 0, 0, 0, SealedChamber_InnerRoom_EventScript_239287 + bg_event 9, 4, 0, 0, 0, SealedChamber_InnerRoom_EventScript_2391F8 + bg_event 11, 4, 0, 0, 0, SealedChamber_InnerRoom_EventScript_2391F8 + +SealedChamber_InnerRoom_MapEvents:: @ 8536F74 + map_events 0x0, SealedChamber_InnerRoom_MapWarps, 0x0, SealedChamber_InnerRoom_MapBGEvents + diff --git a/data/maps/events/SealedChamber_OuterRoom.inc b/data/maps/events/SealedChamber_OuterRoom.inc new file mode 100644 index 0000000000..21be37675f --- /dev/null +++ b/data/maps/events/SealedChamber_OuterRoom.inc @@ -0,0 +1,37 @@ +SealedChamber_OuterRoom_MapWarps: @ 8536D88 + warp_def 10, 2, 3, 0, SEALED_CHAMBER_INNER_ROOM + +SealedChamber_OuterRoom_MapBGEvents: @ 8536D90 + bg_event 5, 6, 0, 0, 0, SealedChamber_OuterRoom_EventScript_23916C + bg_event 5, 9, 0, 0, 0, SealedChamber_OuterRoom_EventScript_239176 + bg_event 5, 12, 0, 0, 0, SealedChamber_OuterRoom_EventScript_239180 + bg_event 5, 15, 0, 0, 0, SealedChamber_OuterRoom_EventScript_23918A + bg_event 11, 6, 0, 0, 0, SealedChamber_OuterRoom_EventScript_239194 + bg_event 11, 9, 0, 0, 0, SealedChamber_OuterRoom_EventScript_23919E + bg_event 11, 12, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391A8 + bg_event 11, 15, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391BC + bg_event 16, 6, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391B2 + bg_event 16, 9, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391C6 + bg_event 10, 2, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391D0 + bg_event 6, 6, 0, 0, 0, SealedChamber_OuterRoom_EventScript_23916C + bg_event 4, 6, 0, 0, 0, SealedChamber_OuterRoom_EventScript_23916C + bg_event 4, 9, 0, 0, 0, SealedChamber_OuterRoom_EventScript_239176 + bg_event 6, 9, 0, 0, 0, SealedChamber_OuterRoom_EventScript_239176 + bg_event 4, 12, 0, 0, 0, SealedChamber_OuterRoom_EventScript_239180 + bg_event 6, 12, 0, 0, 0, SealedChamber_OuterRoom_EventScript_239180 + bg_event 4, 15, 0, 0, 0, SealedChamber_OuterRoom_EventScript_23918A + bg_event 6, 15, 0, 0, 0, SealedChamber_OuterRoom_EventScript_23918A + bg_event 10, 6, 0, 0, 0, SealedChamber_OuterRoom_EventScript_239194 + bg_event 12, 6, 0, 0, 0, SealedChamber_OuterRoom_EventScript_239194 + bg_event 10, 9, 0, 0, 0, SealedChamber_OuterRoom_EventScript_23919E + bg_event 12, 9, 0, 0, 0, SealedChamber_OuterRoom_EventScript_23919E + bg_event 10, 12, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391A8 + bg_event 12, 12, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391A8 + bg_event 10, 15, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391BC + bg_event 12, 15, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391BC + bg_event 9, 2, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391ED + bg_event 11, 2, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391ED + +SealedChamber_OuterRoom_MapEvents:: @ 8536EEC + map_events 0x0, SealedChamber_OuterRoom_MapWarps, 0x0, SealedChamber_OuterRoom_MapBGEvents + diff --git a/data/maps/events/SecretBase_BlueCave1.inc b/data/maps/events/SecretBase_BlueCave1.inc new file mode 100644 index 0000000000..eb92a3851c --- /dev/null +++ b/data/maps/events/SecretBase_BlueCave1.inc @@ -0,0 +1,23 @@ +SecretBase_BlueCave1_MapObjects: @ 8537BEC + object_event 1, 255, 0, 0, 4, 2, 3, 8, 0, 0, 0, 0, SecretBase_BlueCave1_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_BlueCave1_MapWarps: @ 8537D54 + warp_def 5, 7, 0, 126, NONE + +SecretBase_BlueCave1_MapEvents:: @ 8537D5C + map_events SecretBase_BlueCave1_MapObjects, SecretBase_BlueCave1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_BlueCave2.inc b/data/maps/events/SecretBase_BlueCave2.inc new file mode 100644 index 0000000000..e2db7471f1 --- /dev/null +++ b/data/maps/events/SecretBase_BlueCave2.inc @@ -0,0 +1,23 @@ +SecretBase_BlueCave2_MapObjects: @ 8538504 + object_event 1, 255, 0, 0, 2, 1, 3, 8, 0, 0, 0, 0, SecretBase_BlueCave2_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_BlueCave2_MapWarps: @ 853866C + warp_def 7, 5, 0, 126, NONE + +SecretBase_BlueCave2_MapEvents:: @ 8538674 + map_events SecretBase_BlueCave2_MapObjects, SecretBase_BlueCave2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_BlueCave3.inc b/data/maps/events/SecretBase_BlueCave3.inc new file mode 100644 index 0000000000..cc5606ac43 --- /dev/null +++ b/data/maps/events/SecretBase_BlueCave3.inc @@ -0,0 +1,23 @@ +SecretBase_BlueCave3_MapObjects: @ 8538E1C + object_event 1, 255, 0, 0, 5, 1, 3, 8, 0, 0, 0, 0, SecretBase_BlueCave3_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_BlueCave3_MapWarps: @ 8538F84 + warp_def 4, 15, 0, 126, NONE + +SecretBase_BlueCave3_MapEvents:: @ 8538F8C + map_events SecretBase_BlueCave3_MapObjects, SecretBase_BlueCave3_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_BlueCave4.inc b/data/maps/events/SecretBase_BlueCave4.inc new file mode 100644 index 0000000000..0efdf765d8 --- /dev/null +++ b/data/maps/events/SecretBase_BlueCave4.inc @@ -0,0 +1,23 @@ +SecretBase_BlueCave4_MapObjects: @ 8539734 + object_event 1, 255, 0, 0, 5, 13, 3, 8, 0, 0, 0, 0, SecretBase_BlueCave4_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_BlueCave4_MapWarps: @ 853989C + warp_def 4, 15, 0, 126, NONE + +SecretBase_BlueCave4_MapEvents:: @ 85398A4 + map_events SecretBase_BlueCave4_MapObjects, SecretBase_BlueCave4_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_BrownCave1.inc b/data/maps/events/SecretBase_BrownCave1.inc new file mode 100644 index 0000000000..7755a5a095 --- /dev/null +++ b/data/maps/events/SecretBase_BrownCave1.inc @@ -0,0 +1,23 @@ +SecretBase_BrownCave1_MapObjects: @ 8537A68 + object_event 1, 255, 0, 0, 5, 2, 3, 8, 0, 0, 0, 0, SecretBase_BrownCave1_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_BrownCave1_MapWarps: @ 8537BD0 + warp_def 5, 7, 0, 126, NONE + +SecretBase_BrownCave1_MapEvents:: @ 8537BD8 + map_events SecretBase_BrownCave1_MapObjects, SecretBase_BrownCave1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_BrownCave2.inc b/data/maps/events/SecretBase_BrownCave2.inc new file mode 100644 index 0000000000..37a1387bf9 --- /dev/null +++ b/data/maps/events/SecretBase_BrownCave2.inc @@ -0,0 +1,23 @@ +SecretBase_BrownCave2_MapObjects: @ 8538380 + object_event 1, 255, 0, 0, 11, 2, 3, 8, 0, 0, 0, 0, SecretBase_BrownCave2_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_BrownCave2_MapWarps: @ 85384E8 + warp_def 1, 7, 0, 126, NONE + +SecretBase_BrownCave2_MapEvents:: @ 85384F0 + map_events SecretBase_BrownCave2_MapObjects, SecretBase_BrownCave2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_BrownCave3.inc b/data/maps/events/SecretBase_BrownCave3.inc new file mode 100644 index 0000000000..14c9905a27 --- /dev/null +++ b/data/maps/events/SecretBase_BrownCave3.inc @@ -0,0 +1,23 @@ +SecretBase_BrownCave3_MapObjects: @ 8538C98 + object_event 1, 255, 0, 0, 1, 7, 3, 8, 0, 0, 0, 0, SecretBase_BrownCave3_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_BrownCave3_MapWarps: @ 8538E00 + warp_def 11, 9, 0, 126, NONE + +SecretBase_BrownCave3_MapEvents:: @ 8538E08 + map_events SecretBase_BrownCave3_MapObjects, SecretBase_BrownCave3_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_BrownCave4.inc b/data/maps/events/SecretBase_BrownCave4.inc new file mode 100644 index 0000000000..543cb0072b --- /dev/null +++ b/data/maps/events/SecretBase_BrownCave4.inc @@ -0,0 +1,23 @@ +SecretBase_BrownCave4_MapObjects: @ 85395B0 + object_event 1, 255, 0, 0, 2, 1, 3, 8, 0, 0, 0, 0, SecretBase_BrownCave4_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_BrownCave4_MapWarps: @ 8539718 + warp_def 2, 8, 0, 126, NONE + +SecretBase_BrownCave4_MapEvents:: @ 8539720 + map_events SecretBase_BrownCave4_MapObjects, SecretBase_BrownCave4_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_RedCave1.inc b/data/maps/events/SecretBase_RedCave1.inc new file mode 100644 index 0000000000..ebc15ecd72 --- /dev/null +++ b/data/maps/events/SecretBase_RedCave1.inc @@ -0,0 +1,23 @@ +SecretBase_RedCave1_MapObjects: @ 85378E4 + object_event 1, 255, 0, 0, 7, 4, 3, 8, 0, 0, 0, 0, SecretBase_RedCave1_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_RedCave1_MapWarps: @ 8537A4C + warp_def 5, 7, 0, 126, NONE + +SecretBase_RedCave1_MapEvents:: @ 8537A54 + map_events SecretBase_RedCave1_MapObjects, SecretBase_RedCave1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_RedCave2.inc b/data/maps/events/SecretBase_RedCave2.inc new file mode 100644 index 0000000000..ef7958e9aa --- /dev/null +++ b/data/maps/events/SecretBase_RedCave2.inc @@ -0,0 +1,23 @@ +SecretBase_RedCave2_MapObjects: @ 85381FC + object_event 1, 255, 0, 0, 3, 1, 3, 8, 0, 0, 0, 0, SecretBase_RedCave2_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_RedCave2_MapWarps: @ 8538364 + warp_def 3, 14, 0, 126, NONE + +SecretBase_RedCave2_MapEvents:: @ 853836C + map_events SecretBase_RedCave2_MapObjects, SecretBase_RedCave2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_RedCave3.inc b/data/maps/events/SecretBase_RedCave3.inc new file mode 100644 index 0000000000..65dc430267 --- /dev/null +++ b/data/maps/events/SecretBase_RedCave3.inc @@ -0,0 +1,23 @@ +SecretBase_RedCave3_MapObjects: @ 8538B14 + object_event 1, 255, 0, 0, 12, 1, 3, 8, 0, 0, 0, 0, SecretBase_RedCave3_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_RedCave3_MapWarps: @ 8538C7C + warp_def 3, 6, 0, 126, NONE + +SecretBase_RedCave3_MapEvents:: @ 8538C84 + map_events SecretBase_RedCave3_MapObjects, SecretBase_RedCave3_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_RedCave4.inc b/data/maps/events/SecretBase_RedCave4.inc new file mode 100644 index 0000000000..274a459cd7 --- /dev/null +++ b/data/maps/events/SecretBase_RedCave4.inc @@ -0,0 +1,23 @@ +SecretBase_RedCave4_MapObjects: @ 853942C + object_event 1, 255, 0, 0, 5, 8, 3, 8, 0, 0, 0, 0, SecretBase_RedCave4_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_RedCave4_MapWarps: @ 8539594 + warp_def 2, 12, 0, 126, NONE + +SecretBase_RedCave4_MapEvents:: @ 853959C + map_events SecretBase_RedCave4_MapObjects, SecretBase_RedCave4_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_Shrub1.inc b/data/maps/events/SecretBase_Shrub1.inc new file mode 100644 index 0000000000..e20d76bc28 --- /dev/null +++ b/data/maps/events/SecretBase_Shrub1.inc @@ -0,0 +1,23 @@ +SecretBase_Shrub1_MapObjects: @ 8538078 + object_event 1, 255, 0, 0, 5, 2, 3, 8, 0, 0, 0, 0, SecretBase_Shrub1_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_Shrub1_MapWarps: @ 85381E0 + warp_def 5, 7, 0, 126, NONE + +SecretBase_Shrub1_MapEvents:: @ 85381E8 + map_events SecretBase_Shrub1_MapObjects, SecretBase_Shrub1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_Shrub2.inc b/data/maps/events/SecretBase_Shrub2.inc new file mode 100644 index 0000000000..23d023b31d --- /dev/null +++ b/data/maps/events/SecretBase_Shrub2.inc @@ -0,0 +1,23 @@ +SecretBase_Shrub2_MapObjects: @ 8538990 + object_event 1, 255, 0, 0, 13, 2, 3, 8, 0, 0, 0, 0, SecretBase_Shrub2_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_Shrub2_MapWarps: @ 8538AF8 + warp_def 7, 5, 0, 126, NONE + +SecretBase_Shrub2_MapEvents:: @ 8538B00 + map_events SecretBase_Shrub2_MapObjects, SecretBase_Shrub2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_Shrub3.inc b/data/maps/events/SecretBase_Shrub3.inc new file mode 100644 index 0000000000..5fe624dc38 --- /dev/null +++ b/data/maps/events/SecretBase_Shrub3.inc @@ -0,0 +1,23 @@ +SecretBase_Shrub3_MapObjects: @ 85392A8 + object_event 1, 255, 0, 0, 5, 7, 3, 8, 0, 0, 0, 0, SecretBase_Shrub3_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_Shrub3_MapWarps: @ 8539410 + warp_def 6, 9, 0, 126, NONE + +SecretBase_Shrub3_MapEvents:: @ 8539418 + map_events SecretBase_Shrub3_MapObjects, SecretBase_Shrub3_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_Shrub4.inc b/data/maps/events/SecretBase_Shrub4.inc new file mode 100644 index 0000000000..ad432f6ffd --- /dev/null +++ b/data/maps/events/SecretBase_Shrub4.inc @@ -0,0 +1,23 @@ +SecretBase_Shrub4_MapObjects: @ 8539BC0 + object_event 1, 255, 0, 0, 9, 7, 3, 8, 0, 0, 0, 0, SecretBase_Shrub4_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_Shrub4_MapWarps: @ 8539D28 + warp_def 11, 8, 0, 126, NONE + +SecretBase_Shrub4_MapEvents:: @ 8539D30 + map_events SecretBase_Shrub4_MapObjects, SecretBase_Shrub4_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_Tree1.inc b/data/maps/events/SecretBase_Tree1.inc new file mode 100644 index 0000000000..149d5dea31 --- /dev/null +++ b/data/maps/events/SecretBase_Tree1.inc @@ -0,0 +1,23 @@ +SecretBase_Tree1_MapObjects: @ 8537EF4 + object_event 1, 255, 0, 0, 5, 1, 3, 8, 0, 0, 0, 0, SecretBase_Tree1_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_Tree1_MapWarps: @ 853805C + warp_def 5, 7, 0, 126, NONE + +SecretBase_Tree1_MapEvents:: @ 8538064 + map_events SecretBase_Tree1_MapObjects, SecretBase_Tree1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_Tree2.inc b/data/maps/events/SecretBase_Tree2.inc new file mode 100644 index 0000000000..16037e22fd --- /dev/null +++ b/data/maps/events/SecretBase_Tree2.inc @@ -0,0 +1,23 @@ +SecretBase_Tree2_MapObjects: @ 853880C + object_event 1, 255, 0, 0, 3, 1, 3, 8, 0, 0, 0, 0, SecretBase_Tree2_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_Tree2_MapWarps: @ 8538974 + warp_def 3, 14, 0, 126, NONE + +SecretBase_Tree2_MapEvents:: @ 853897C + map_events SecretBase_Tree2_MapObjects, SecretBase_Tree2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_Tree3.inc b/data/maps/events/SecretBase_Tree3.inc new file mode 100644 index 0000000000..6fbd60683a --- /dev/null +++ b/data/maps/events/SecretBase_Tree3.inc @@ -0,0 +1,23 @@ +SecretBase_Tree3_MapObjects: @ 8539124 + object_event 1, 255, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, SecretBase_Tree3_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_Tree3_MapWarps: @ 853928C + warp_def 8, 6, 0, 126, NONE + +SecretBase_Tree3_MapEvents:: @ 8539294 + map_events SecretBase_Tree3_MapObjects, SecretBase_Tree3_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_Tree4.inc b/data/maps/events/SecretBase_Tree4.inc new file mode 100644 index 0000000000..4032d668a2 --- /dev/null +++ b/data/maps/events/SecretBase_Tree4.inc @@ -0,0 +1,23 @@ +SecretBase_Tree4_MapObjects: @ 8539A3C + object_event 1, 255, 0, 0, 10, 9, 3, 8, 0, 0, 0, 0, SecretBase_Tree4_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_Tree4_MapWarps: @ 8539BA4 + warp_def 7, 12, 0, 126, NONE + +SecretBase_Tree4_MapEvents:: @ 8539BAC + map_events SecretBase_Tree4_MapObjects, SecretBase_Tree4_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_YellowCave1.inc b/data/maps/events/SecretBase_YellowCave1.inc new file mode 100644 index 0000000000..7d604b0933 --- /dev/null +++ b/data/maps/events/SecretBase_YellowCave1.inc @@ -0,0 +1,23 @@ +SecretBase_YellowCave1_MapObjects: @ 8537D70 + object_event 1, 255, 0, 0, 3, 1, 3, 8, 0, 0, 0, 0, SecretBase_YellowCave1_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_YellowCave1_MapWarps: @ 8537ED8 + warp_def 5, 7, 0, 126, NONE + +SecretBase_YellowCave1_MapEvents:: @ 8537EE0 + map_events SecretBase_YellowCave1_MapObjects, SecretBase_YellowCave1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_YellowCave2.inc b/data/maps/events/SecretBase_YellowCave2.inc new file mode 100644 index 0000000000..592595aa8f --- /dev/null +++ b/data/maps/events/SecretBase_YellowCave2.inc @@ -0,0 +1,23 @@ +SecretBase_YellowCave2_MapObjects: @ 8538688 + object_event 1, 255, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, SecretBase_YellowCave2_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_YellowCave2_MapWarps: @ 85387F0 + warp_def 12, 7, 0, 126, NONE + +SecretBase_YellowCave2_MapEvents:: @ 85387F8 + map_events SecretBase_YellowCave2_MapObjects, SecretBase_YellowCave2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_YellowCave3.inc b/data/maps/events/SecretBase_YellowCave3.inc new file mode 100644 index 0000000000..bd1f69b1a5 --- /dev/null +++ b/data/maps/events/SecretBase_YellowCave3.inc @@ -0,0 +1,23 @@ +SecretBase_YellowCave3_MapObjects: @ 8538FA0 + object_event 1, 255, 0, 0, 7, 5, 3, 8, 0, 0, 0, 0, SecretBase_YellowCave3_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_YellowCave3_MapWarps: @ 8539108 + warp_def 5, 9, 0, 126, NONE + +SecretBase_YellowCave3_MapEvents:: @ 8539110 + map_events SecretBase_YellowCave3_MapObjects, SecretBase_YellowCave3_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SecretBase_YellowCave4.inc b/data/maps/events/SecretBase_YellowCave4.inc new file mode 100644 index 0000000000..fe52f12bb9 --- /dev/null +++ b/data/maps/events/SecretBase_YellowCave4.inc @@ -0,0 +1,23 @@ +SecretBase_YellowCave4_MapObjects: @ 85398B8 + object_event 1, 255, 0, 0, 9, 8, 3, 8, 0, 0, 0, 0, SecretBase_YellowCave4_EventScript_275D64, 173, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0 + object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0 + object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0 + object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0 + object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0 + object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0 + object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0 + object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0 + object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0 + object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0 + object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0 + object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0 + +SecretBase_YellowCave4_MapWarps: @ 8539A20 + warp_def 6, 12, 0, 126, NONE + +SecretBase_YellowCave4_MapEvents:: @ 8539A28 + map_events SecretBase_YellowCave4_MapObjects, SecretBase_YellowCave4_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/ShoalCave_HighTideEntranceRoom.inc b/data/maps/events/ShoalCave_HighTideEntranceRoom.inc new file mode 100644 index 0000000000..e04abe6938 --- /dev/null +++ b/data/maps/events/ShoalCave_HighTideEntranceRoom.inc @@ -0,0 +1,3 @@ +ShoalCave_HighTideEntranceRoom_MapEvents:: @ 853644C + map_events 0x0, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/ShoalCave_HighTideInnerRoom.inc b/data/maps/events/ShoalCave_HighTideInnerRoom.inc new file mode 100644 index 0000000000..20d59a56f9 --- /dev/null +++ b/data/maps/events/ShoalCave_HighTideInnerRoom.inc @@ -0,0 +1,3 @@ +ShoalCave_HighTideInnerRoom_MapEvents:: @ 8536460 + map_events 0x0, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/ShoalCave_LowTideEntranceRoom.inc b/data/maps/events/ShoalCave_LowTideEntranceRoom.inc new file mode 100644 index 0000000000..b19a293efb --- /dev/null +++ b/data/maps/events/ShoalCave_LowTideEntranceRoom.inc @@ -0,0 +1,13 @@ +ShoalCave_LowTideEntranceRoom_MapObjects: @ 853627C + object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 30, 3, 3, 1, 17, 0, 0, 0, ShoalCave_LowTideEntranceRoom_EventScript_2913C0, 1081, 0, 0 + object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 18, 15, 3, 9, 17, 0, 0, 0, ShoalCave_LowTideEntranceRoom_EventScript_236DD9, 0, 0, 0 + +ShoalCave_LowTideEntranceRoom_MapWarps: @ 85362AC + warp_def 20, 30, 3, 0, ROUTE_125 + warp_def 19, 5, 3, 0, SHOAL_CAVE_LOW_TIDE_INNER_ROOM + warp_def 6, 2, 3, 6, SHOAL_CAVE_LOW_TIDE_INNER_ROOM + warp_def 27, 2, 3, 7, SHOAL_CAVE_LOW_TIDE_INNER_ROOM + +ShoalCave_LowTideEntranceRoom_MapEvents:: @ 85362CC + map_events ShoalCave_LowTideEntranceRoom_MapObjects, ShoalCave_LowTideEntranceRoom_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/ShoalCave_LowTideIceRoom.inc b/data/maps/events/ShoalCave_LowTideIceRoom.inc new file mode 100644 index 0000000000..a02a208643 --- /dev/null +++ b/data/maps/events/ShoalCave_LowTideIceRoom.inc @@ -0,0 +1,10 @@ +ShoalCave_LowTideIceRoom_MapObjects: @ 8537100 + object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 12, 8, 3, 1, 17, 0, 0, 0, ShoalCave_LowTideIceRoom_EventScript_2913E7, 1112, 0, 0 + object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 12, 21, 4, 1, 17, 0, 0, 0, ShoalCave_LowTideIceRoom_EventScript_2913F4, 1113, 0, 0 + +ShoalCave_LowTideIceRoom_MapWarps: @ 8537130 + warp_def 17, 10, 3, 3, SHOAL_CAVE_LOW_TIDE_LOWER_ROOM + +ShoalCave_LowTideIceRoom_MapEvents:: @ 8537138 + map_events ShoalCave_LowTideIceRoom_MapObjects, ShoalCave_LowTideIceRoom_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/ShoalCave_LowTideInnerRoom.inc b/data/maps/events/ShoalCave_LowTideInnerRoom.inc new file mode 100644 index 0000000000..8fe34709ba --- /dev/null +++ b/data/maps/events/ShoalCave_LowTideInnerRoom.inc @@ -0,0 +1,24 @@ +ShoalCave_LowTideInnerRoom_MapObjects: @ 85362E0 + object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 26, 14, 5, 1, 17, 0, 0, 0, ShoalCave_LowTideInnerRoom_EventScript_2913CD, 1082, 0, 0 + +ShoalCave_LowTideInnerRoom_MapWarps: @ 85362F8 + warp_def 34, 29, 3, 1, SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM + warp_def 38, 15, 3, 0, SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM + warp_def 42, 4, 3, 1, SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM + warp_def 19, 14, 4, 0, SHOAL_CAVE_LOW_TIDE_LOWER_ROOM + warp_def 15, 19, 3, 1, SHOAL_CAVE_LOW_TIDE_LOWER_ROOM + warp_def 30, 25, 3, 2, SHOAL_CAVE_LOW_TIDE_LOWER_ROOM + warp_def 14, 33, 5, 2, SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM + warp_def 40, 33, 5, 3, SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM + +ShoalCave_LowTideInnerRoom_MapBGEvents: @ 8536338 + bg_event 31, 8, 5, 0, 0, ShoalCave_LowTideInnerRoom_EventScript_23708C + bg_event 14, 26, 3, 0, 0, ShoalCave_LowTideInnerRoom_EventScript_2370C8 + bg_event 41, 20, 5, 0, 0, ShoalCave_LowTideInnerRoom_EventScript_236FBA + bg_event 41, 10, 5, 0, 0, ShoalCave_LowTideInnerRoom_EventScript_236FF6 + bg_event 6, 9, 3, 0, 0, ShoalCave_LowTideInnerRoom_EventScript_237028 + bg_event 16, 13, 5, 0, 0, ShoalCave_LowTideInnerRoom_EventScript_23705A + +ShoalCave_LowTideInnerRoom_MapEvents:: @ 8536380 + map_events ShoalCave_LowTideInnerRoom_MapObjects, ShoalCave_LowTideInnerRoom_MapWarps, 0x0, ShoalCave_LowTideInnerRoom_MapBGEvents + diff --git a/data/maps/events/ShoalCave_LowTideLowerRoom.inc b/data/maps/events/ShoalCave_LowTideLowerRoom.inc new file mode 100644 index 0000000000..384b6570fd --- /dev/null +++ b/data/maps/events/ShoalCave_LowTideLowerRoom.inc @@ -0,0 +1,16 @@ +ShoalCave_LowTideLowerRoom_MapObjects: @ 85363DC + object_event 1, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 25, 3, 3, 1, 0, 0, 0, 0, ShoalCave_LowTideLowerRoom_EventScript_2908BA, 17, 0, 0 + object_event 2, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 11, 4, 3, 2, 17, 0, 0, 0, ShoalCave_LowTideLowerRoom_EventScript_2371B2, 0, 0, 0 + +ShoalCave_LowTideLowerRoom_MapWarps: @ 853640C + warp_def 7, 2, 3, 3, SHOAL_CAVE_LOW_TIDE_INNER_ROOM + warp_def 2, 6, 3, 4, SHOAL_CAVE_LOW_TIDE_INNER_ROOM + warp_def 19, 11, 3, 5, SHOAL_CAVE_LOW_TIDE_INNER_ROOM + warp_def 28, 11, 3, 0, SHOAL_CAVE_LOW_TIDE_ICE_ROOM + +ShoalCave_LowTideLowerRoom_MapBGEvents: @ 853642C + bg_event 18, 2, 3, 0, 0, ShoalCave_LowTideLowerRoom_EventScript_237176 + +ShoalCave_LowTideLowerRoom_MapEvents:: @ 8536438 + map_events ShoalCave_LowTideLowerRoom_MapObjects, ShoalCave_LowTideLowerRoom_MapWarps, 0x0, ShoalCave_LowTideLowerRoom_MapBGEvents + diff --git a/data/maps/events/ShoalCave_LowTideStairsRoom.inc b/data/maps/events/ShoalCave_LowTideStairsRoom.inc new file mode 100644 index 0000000000..6592f68d72 --- /dev/null +++ b/data/maps/events/ShoalCave_LowTideStairsRoom.inc @@ -0,0 +1,13 @@ +ShoalCave_LowTideStairsRoom_MapObjects: @ 8536394 + object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 13, 12, 3, 1, 17, 0, 0, 0, ShoalCave_LowTideStairsRoom_EventScript_2913DA, 1083, 0, 0 + +ShoalCave_LowTideStairsRoom_MapWarps: @ 85363AC + warp_def 3, 12, 3, 1, SHOAL_CAVE_LOW_TIDE_INNER_ROOM + warp_def 7, 4, 3, 2, SHOAL_CAVE_LOW_TIDE_INNER_ROOM + +ShoalCave_LowTideStairsRoom_MapBGEvents: @ 85363BC + bg_event 11, 11, 3, 0, 0, ShoalCave_LowTideStairsRoom_EventScript_23711A + +ShoalCave_LowTideStairsRoom_MapEvents:: @ 85363C8 + map_events ShoalCave_LowTideStairsRoom_MapObjects, ShoalCave_LowTideStairsRoom_MapWarps, 0x0, ShoalCave_LowTideStairsRoom_MapBGEvents + diff --git a/data/maps/events/SingleBattleColosseum.inc b/data/maps/events/SingleBattleColosseum.inc new file mode 100644 index 0000000000..6672b1221c --- /dev/null +++ b/data/maps/events/SingleBattleColosseum.inc @@ -0,0 +1,14 @@ +SingleBattleColosseum_MapObjects: @ 8539D44 + object_event 1, MAP_OBJ_GFX_WOMAN_6, 0, 0, 9, 3, 3, 9, 0, 0, 0, 0, SingleBattleColosseum_EventScript_2774A6, 0, 0, 0 + +SingleBattleColosseum_MapWarps: @ 8539D5C + warp_def 6, 8, 3, 127, NONE + warp_def 7, 8, 3, 127, NONE + +SingleBattleColosseum_MapCoordEvents: @ 8539D6C + coord_event 3, 5, 3, 0, VAR_0x4000, 0, 0, gUnknown_08277374 + coord_event 10, 5, 3, 0, VAR_0x4000, 0, 0, gUnknown_0827737E + +SingleBattleColosseum_MapEvents:: @ 8539D8C + map_events SingleBattleColosseum_MapObjects, SingleBattleColosseum_MapWarps, SingleBattleColosseum_MapCoordEvents, 0x0 + diff --git a/data/maps/events/SkyPillar_1F.inc b/data/maps/events/SkyPillar_1F.inc new file mode 100644 index 0000000000..c9eda68b06 --- /dev/null +++ b/data/maps/events/SkyPillar_1F.inc @@ -0,0 +1,8 @@ +SkyPillar_1F_MapWarps: @ 8537058 + warp_def 6, 13, 3, 1, SKY_PILLAR_OUTSIDE + warp_def 7, 13, 3, 1, SKY_PILLAR_OUTSIDE + warp_def 10, 1, 3, 0, SKY_PILLAR_2F + +SkyPillar_1F_MapEvents:: @ 8537070 + map_events 0x0, SkyPillar_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SkyPillar_2F.inc b/data/maps/events/SkyPillar_2F.inc new file mode 100644 index 0000000000..1c81f78389 --- /dev/null +++ b/data/maps/events/SkyPillar_2F.inc @@ -0,0 +1,7 @@ +SkyPillar_2F_MapWarps: @ 8537084 + warp_def 10, 1, 3, 2, SKY_PILLAR_1F + warp_def 3, 1, 3, 0, SKY_PILLAR_3F + +SkyPillar_2F_MapEvents:: @ 8537094 + map_events 0x0, SkyPillar_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SkyPillar_3F.inc b/data/maps/events/SkyPillar_3F.inc new file mode 100644 index 0000000000..c8a97565b6 --- /dev/null +++ b/data/maps/events/SkyPillar_3F.inc @@ -0,0 +1,8 @@ +SkyPillar_3F_MapWarps: @ 85370A8 + warp_def 3, 1, 3, 1, SKY_PILLAR_2F + warp_def 11, 1, 3, 0, SKY_PILLAR_4F + warp_def 7, 1, 3, 1, SKY_PILLAR_4F + +SkyPillar_3F_MapEvents:: @ 85370C0 + map_events 0x0, SkyPillar_3F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SkyPillar_4F.inc b/data/maps/events/SkyPillar_4F.inc new file mode 100644 index 0000000000..a399d1364d --- /dev/null +++ b/data/maps/events/SkyPillar_4F.inc @@ -0,0 +1,8 @@ +SkyPillar_4F_MapWarps: @ 85370D4 + warp_def 11, 1, 3, 1, SKY_PILLAR_3F + warp_def 7, 1, 3, 2, SKY_PILLAR_3F + warp_def 3, 1, 3, 0, SKY_PILLAR_5F + +SkyPillar_4F_MapEvents:: @ 85370EC + map_events 0x0, SkyPillar_4F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SkyPillar_5F.inc b/data/maps/events/SkyPillar_5F.inc new file mode 100644 index 0000000000..d6ce944cb0 --- /dev/null +++ b/data/maps/events/SkyPillar_5F.inc @@ -0,0 +1,7 @@ +SkyPillar_5F_MapWarps: @ 853714C + warp_def 3, 1, 3, 2, SKY_PILLAR_4F + warp_def 10, 1, 3, 0, SKY_PILLAR_TOP + +SkyPillar_5F_MapEvents:: @ 853715C + map_events 0x0, SkyPillar_5F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SkyPillar_Entrance.inc b/data/maps/events/SkyPillar_Entrance.inc new file mode 100644 index 0000000000..5a63e2496a --- /dev/null +++ b/data/maps/events/SkyPillar_Entrance.inc @@ -0,0 +1,7 @@ +SkyPillar_Entrance_MapWarps: @ 8536FF8 + warp_def 6, 16, 3, 0, ROUTE_131 + warp_def 14, 4, 3, 0, SKY_PILLAR_OUTSIDE + +SkyPillar_Entrance_MapEvents:: @ 8537008 + map_events 0x0, SkyPillar_Entrance_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SkyPillar_Outside.inc b/data/maps/events/SkyPillar_Outside.inc new file mode 100644 index 0000000000..70a9c5c217 --- /dev/null +++ b/data/maps/events/SkyPillar_Outside.inc @@ -0,0 +1,10 @@ +SkyPillar_Outside_MapObjects: @ 853701C + object_event 1, MAP_OBJ_GFX_WALLACE, 0, 0, 13, 7, 3, 8, 17, 0, 0, 0, SkyPillar_Outside_EventScript_2393F8, 855, 0, 0 + +SkyPillar_Outside_MapWarps: @ 8537034 + warp_def 17, 13, 3, 1, SKY_PILLAR_ENTRANCE + warp_def 14, 5, 0, 0, SKY_PILLAR_1F + +SkyPillar_Outside_MapEvents:: @ 8537044 + map_events SkyPillar_Outside_MapObjects, SkyPillar_Outside_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SkyPillar_Top.inc b/data/maps/events/SkyPillar_Top.inc new file mode 100644 index 0000000000..8abe8401fc --- /dev/null +++ b/data/maps/events/SkyPillar_Top.inc @@ -0,0 +1,13 @@ +SkyPillar_Top_MapObjects: @ 8537170 + object_event 1, MAP_OBJ_GFX_RAYQUAZA_2, 0, 0, 14, 7, 3, 8, 17, 0, 0, 0, 0x0, 773, 0, 0 + object_event 2, MAP_OBJ_GFX_RAYQUAZA_1, 0, 0, 14, 6, 3, 8, 17, 0, 0, 0, SkyPillar_Top_EventScript_239722, 80, 0, 0 + +SkyPillar_Top_MapWarps: @ 85371A0 + warp_def 16, 14, 3, 1, SKY_PILLAR_5F + +SkyPillar_Top_MapCoordEvents: @ 85371A8 + coord_event 14, 9, 3, 0, VAR_0x40D7, 0, 0, SkyPillar_Top_EventScript_23979A + +SkyPillar_Top_MapEvents:: @ 85371B8 + map_events SkyPillar_Top_MapObjects, SkyPillar_Top_MapWarps, SkyPillar_Top_MapCoordEvents, 0x0 + diff --git a/data/maps/events/SlateportCity.inc b/data/maps/events/SlateportCity.inc new file mode 100644 index 0000000000..a187aaf1fd --- /dev/null +++ b/data/maps/events/SlateportCity.inc @@ -0,0 +1,71 @@ +SlateportCity_MapObjects: @ 85261CC + object_event 1, MAP_OBJ_GFX_FAT_MAN, 0, 0, 21, 11, 3, 2, 17, 0, 0, 0, SlateportCity_EventScript_1DCED9, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_1, 0, 0, 34, 29, 3, 5, 1, 0, 0, 0, SlateportCity_EventScript_1DCEF6, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BOY_4, 0, 0, 5, 13, 3, 2, 33, 0, 0, 0, SlateportCity_EventScript_1DCEB8, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_5, 0, 0, 26, 29, 3, 1, 0, 0, 0, 0, SlateportCity_EventScript_1DCF17, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 31, 27, 3, 7, 0, 0, 0, 0, SlateportCity_EventScript_1DD009, 882, 0, 0 + object_event 6, MAP_OBJ_GFX_COOK, 0, 0, 5, 43, 3, 8, 0, 0, 0, 0, SlateportCity_EventScript_1DCE42, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_OLD_WOMAN_2, 0, 0, 20, 37, 3, 1, 17, 0, 0, 0, SlateportCity_EventScript_1DCE63, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_GIRL_1, 0, 0, 8, 42, 3, 2, 17, 0, 0, 0, SlateportCity_EventScript_1DCE84, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_CAMERAMAN, 0, 0, 29, 13, 3, 9, 0, 0, 0, 0, SlateportCity_EventScript_1DD353, 835, 0, 0 + object_event 10, MAP_OBJ_GFX_REPORTER_F, 0, 0, 28, 14, 3, 7, 0, 0, 0, 0, SlateportCity_EventScript_1DD35C, 835, 0, 0 + object_event 11, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 28, 13, 3, 10, 0, 0, 0, 0, SlateportCity_EventScript_1DD1F8, 840, 0, 0 + object_event 12, MAP_OBJ_GFX_SAILOR, 0, 0, 37, 41, 3, 10, 0, 0, 0, 0, SlateportCity_EventScript_1DCFE5, 0, 0, 0 + object_event 13, MAP_OBJ_GFX_SAILOR, 0, 0, 28, 46, 3, 5, 1, 0, 0, 0, SlateportCity_EventScript_1DCFEE, 0, 0, 0 + object_event 14, MAP_OBJ_GFX_WOMAN_2, 0, 0, 9, 50, 3, 3, 16, 0, 0, 0, SlateportCity_EventScript_1DCFF7, 0, 0, 0 + object_event 15, MAP_OBJ_GFX_MAN_4, 0, 0, 16, 46, 3, 2, 17, 0, 0, 0, SlateportCity_EventScript_1DD000, 0, 0, 0 + object_event 16, MAP_OBJ_GFX_MANIAC, 0, 0, 8, 24, 3, 3, 16, 0, 0, 0, SlateportCity_EventScript_1DCFBB, 0, 0, 0 + object_event 17, MAP_OBJ_GFX_WOMAN_7, 0, 0, 15, 31, 3, 1, 0, 0, 0, 0, SlateportCity_EventScript_1DCFDC, 0, 0, 0 + object_event 18, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 30, 27, 3, 10, 0, 0, 0, 0, SlateportCity_EventScript_1DD020, 882, 0, 0 + object_event 19, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 29, 27, 3, 10, 0, 0, 0, 0, SlateportCity_EventScript_1DD037, 882, 0, 0 + object_event 20, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 6, 38, 3, 10, 0, 0, 0, 0, SlateportCity_EventScript_1DD198, 0, 0, 0 + object_event 21, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 5, 51, 3, 8, 0, 0, 0, 0, SlateportCity_EventScript_1DD16A, 0, 0, 0 + object_event 22, MAP_OBJ_GFX_MAN_6, 0, 0, 34, 51, 3, 8, 0, 0, 0, 0, SlateportCity_EventScript_1DD365, 0, 0, 0 + object_event 23, MAP_OBJ_GFX_WOMAN_7, 0, 0, 4, 47, 3, 8, 0, 0, 0, 0, SlateportCity_EventScript_1DCDE4, 0, 0, 0 + object_event 24, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 11, 47, 3, 8, 17, 0, 0, 0, SlateportCity_EventScript_1DD1D8, 948, 0, 0 + object_event 25, MAP_OBJ_GFX_MAN_3, 0, 0, 5, 47, 3, 8, 17, 0, 0, 0, SlateportCity_EventScript_1DCDBD, 0, 0, 0 + object_event 26, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 22, 27, 3, 10, 17, 0, 0, 0, SlateportCity_EventScript_1DD04E, 882, 0, 0 + object_event 27, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 23, 27, 3, 7, 17, 0, 0, 0, SlateportCity_EventScript_1DD065, 882, 0, 0 + object_event 28, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 24, 27, 3, 10, 17, 0, 0, 0, SlateportCity_EventScript_1DD07C, 882, 0, 0 + object_event 29, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 21, 26, 3, 10, 17, 0, 0, 0, SlateportCity_EventScript_1DD093, 882, 0, 0 + object_event 30, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 20, 26, 3, 10, 17, 0, 0, 0, SlateportCity_EventScript_1DD0AA, 882, 0, 0 + object_event 31, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 26, 27, 3, 7, 17, 0, 0, 0, SlateportCity_EventScript_1DD0C1, 882, 0, 0 + object_event 32, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 28, 27, 3, 7, 17, 0, 0, 0, SlateportCity_EventScript_1DD14A, 882, 0, 0 + object_event 33, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 25, 27, 3, 7, 17, 0, 0, 0, SlateportCity_EventScript_1DD153, 882, 0, 0 + object_event 34, MAP_OBJ_GFX_WOMAN_2, 0, 0, 11, 37, 3, 9, 33, 0, 0, 0, SlateportCity_EventScript_1DD36E, 0, 0, 0 + object_event 35, MAP_OBJ_GFX_SCOTT, 0, 0, 10, 12, 0, 8, 33, 0, 0, 0, 0x0, 749, 0, 0 + +SlateportCity_MapWarps: @ 8526514 + warp_def 19, 19, 0, 0, SLATEPORT_CITY_POKEMON_CENTER_1F + warp_def 13, 26, 0, 0, SLATEPORT_CITY_MART + warp_def 26, 38, 0, 0, SLATEPORT_CITY_STERNS_SHIPYARD_1F + warp_def 10, 12, 0, 0, SLATEPORT_CITY_BATTLE_TENT_LOBBY + warp_def 4, 26, 0, 0, SLATEPORT_CITY_POKEMON_FAN_CLUB + warp_def 30, 26, 0, 0, SLATEPORT_CITY_OCEANIC_MUSEUM_1F + warp_def 5, 19, 0, 0, SLATEPORT_CITY_HOUSE_1 + warp_def 31, 26, 0, 1, SLATEPORT_CITY_OCEANIC_MUSEUM_1F + warp_def 28, 12, 0, 0, SLATEPORT_CITY_HARBOR + warp_def 40, 7, 0, 2, SLATEPORT_CITY_HARBOR + warp_def 21, 44, 0, 0, SLATEPORT_CITY_HOUSE_2 + +SlateportCity_MapCoordEvents: @ 852656C + coord_event 10, 13, 3, 0, VAR_0x40D2, 2, 0, SlateportCity_EventScript_1DD5DC + +SlateportCity_MapBGEvents: @ 852657C + bg_event 8, 19, 0, 0, 0, SlateportCity_EventScript_1DCFB2 + bg_event 20, 19, 0, 1, 0, SlateportCity_EventScript_271E73 + bg_event 21, 19, 0, 1, 0, SlateportCity_EventScript_271E73 + bg_event 14, 26, 0, 1, 0, SlateportCity_EventScript_271E6A + bg_event 24, 12, 0, 0, 0, SlateportCity_EventScript_1DCF94 + bg_event 15, 26, 0, 1, 0, SlateportCity_EventScript_271E6A + bg_event 14, 51, 0, 0, 0, SlateportCity_EventScript_1DCF8B + bg_event 26, 26, 0, 0, 0, SlateportCity_EventScript_1DCF79 + bg_event 16, 22, 0, 0, 0, SlateportCity_EventScript_1DCF82 + bg_event 8, 26, 0, 0, 0, SlateportCity_EventScript_1DCF70 + bg_event 7, 13, 0, 0, 0, SlateportCity_EventScript_1DCF36 + bg_event 23, 38, 0, 0, 0, SlateportCity_EventScript_1DCF3F + bg_event 10, 36, 0, 1, 0, SlateportCity_EventScript_1DD643 + +SlateportCity_MapEvents:: @ 8526618 + map_events SlateportCity_MapObjects, SlateportCity_MapWarps, SlateportCity_MapCoordEvents, SlateportCity_MapBGEvents + diff --git a/data/maps/events/SlateportCity_BattleTentBattleRoom.inc b/data/maps/events/SlateportCity_BattleTentBattleRoom.inc new file mode 100644 index 0000000000..8c13a223ac --- /dev/null +++ b/data/maps/events/SlateportCity_BattleTentBattleRoom.inc @@ -0,0 +1,8 @@ +SlateportCity_BattleTentBattleRoom_MapObjects: @ 852F4DC + object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 1, 4, 0, 10, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 5, 1, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 4, 8, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0 + +SlateportCity_BattleTentBattleRoom_MapEvents:: @ 852F524 + map_events SlateportCity_BattleTentBattleRoom_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/SlateportCity_BattleTentCorridor.inc b/data/maps/events/SlateportCity_BattleTentCorridor.inc new file mode 100644 index 0000000000..acd0f732c5 --- /dev/null +++ b/data/maps/events/SlateportCity_BattleTentCorridor.inc @@ -0,0 +1,6 @@ +SlateportCity_BattleTentCorridor_MapObjects: @ 852F4B0 + object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 2, 6, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0 + +SlateportCity_BattleTentCorridor_MapEvents:: @ 852F4C8 + map_events SlateportCity_BattleTentCorridor_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/SlateportCity_BattleTentLobby.inc b/data/maps/events/SlateportCity_BattleTentLobby.inc new file mode 100644 index 0000000000..7b0f10331e --- /dev/null +++ b/data/maps/events/SlateportCity_BattleTentLobby.inc @@ -0,0 +1,17 @@ +SlateportCity_BattleTentLobby_MapObjects: @ 852F408 + object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 6, 5, 3, 8, 17, 0, 0, 0, SlateportCity_BattleTentLobby_EventScript_2088AA, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SAILOR, 0, 0, 1, 5, 3, 2, 17, 0, 0, 0, SlateportCity_BattleTentLobby_EventScript_208A3D, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 3, 7, 3, 7, 17, 0, 0, 0, SlateportCity_BattleTentLobby_EventScript_208A7E, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_GIRL_1, 0, 0, 1, 8, 3, 1, 17, 0, 0, 0, SlateportCity_BattleTentLobby_EventScript_208A87, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_WOMAN_3, 0, 0, 11, 8, 3, 9, 17, 0, 0, 0, SlateportCity_BattleTentLobby_EventScript_208A90, 0, 0, 0 + +SlateportCity_BattleTentLobby_MapWarps: @ 852F480 + warp_def 6, 9, 0, 3, SLATEPORT_CITY + warp_def 7, 9, 0, 3, SLATEPORT_CITY + +SlateportCity_BattleTentLobby_MapBGEvents: @ 852F490 + bg_event 4, 5, 0, 0, 0, SlateportCity_BattleTentLobby_EventScript_208A99 + +SlateportCity_BattleTentLobby_MapEvents:: @ 852F49C + map_events SlateportCity_BattleTentLobby_MapObjects, SlateportCity_BattleTentLobby_MapWarps, 0x0, SlateportCity_BattleTentLobby_MapBGEvents + diff --git a/data/maps/events/SlateportCity_Harbor.inc b/data/maps/events/SlateportCity_Harbor.inc new file mode 100644 index 0000000000..307cfd1c28 --- /dev/null +++ b/data/maps/events/SlateportCity_Harbor.inc @@ -0,0 +1,25 @@ +SlateportCity_Harbor_MapObjects: @ 852FA68 + object_event 1, MAP_OBJ_GFX_BEAUTY, 0, 0, 8, 10, 3, 8, 0, 0, 0, 0, SlateportCity_Harbor_EventScript_20CAF1, 905, 0, 0 + object_event 2, MAP_OBJ_GFX_SAILOR, 0, 0, 4, 12, 3, 9, 0, 0, 0, 0, SlateportCity_Harbor_EventScript_20CC52, 905, 0, 0 + object_event 3, MAP_OBJ_GFX_FAT_MAN, 0, 0, 1, 12, 3, 10, 0, 0, 0, 0, SlateportCity_Harbor_EventScript_20CC99, 905, 0, 0 + object_event 4, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 6, 13, 3, 1, 0, 0, 0, 0, SlateportCity_Harbor_EventScript_20CCA2, 841, 0, 0 + object_event 5, MAP_OBJ_GFX_SS_TIDAL, 0, 0, 8, 9, 1, 10, 0, 0, 0, 0, 0x0, 860, 0, 0 + object_event 6, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 7, 10, 3, 10, 0, 0, 0, 0, 0x0, 845, 0, 0 + object_event 7, MAP_OBJ_GFX_ARCHIE, 0, 0, 8, 10, 3, 9, 0, 0, 0, 0, 0x0, 846, 0, 0 + object_event 8, MAP_OBJ_GFX_SUBMARINE_SHADOW, 0, 0, 7, 9, 1, 10, 0, 0, 0, 0, 0x0, 848, 0, 0 + +SlateportCity_Harbor_MapWarps: @ 852FB28 + warp_def 11, 14, 0, 8, SLATEPORT_CITY + warp_def 12, 14, 0, 8, SLATEPORT_CITY + warp_def 19, 15, 0, 9, SLATEPORT_CITY + warp_def 20, 15, 0, 9, SLATEPORT_CITY + +SlateportCity_Harbor_MapCoordEvents: @ 852FB48 + coord_event 8, 11, 3, 0, VAR_0x40A0, 1, 0, SlateportCity_Harbor_EventScript_20C9BB + coord_event 8, 12, 3, 0, VAR_0x40A0, 1, 0, SlateportCity_Harbor_EventScript_20C9C7 + coord_event 8, 13, 3, 0, VAR_0x40A0, 1, 0, SlateportCity_Harbor_EventScript_20C9D3 + coord_event 8, 14, 3, 0, VAR_0x40A0, 1, 0, SlateportCity_Harbor_EventScript_20C9DF + +SlateportCity_Harbor_MapEvents:: @ 852FB88 + map_events SlateportCity_Harbor_MapObjects, SlateportCity_Harbor_MapWarps, SlateportCity_Harbor_MapCoordEvents, 0x0 + diff --git a/data/maps/events/SlateportCity_House1.inc b/data/maps/events/SlateportCity_House1.inc new file mode 100644 index 0000000000..d5151a0a1c --- /dev/null +++ b/data/maps/events/SlateportCity_House1.inc @@ -0,0 +1,10 @@ +SlateportCity_House1_MapObjects: @ 852F538 + object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 7, 5, 3, 8, 0, 0, 0, 0, SlateportCity_House1_EventScript_209AA5, 0, 0, 0 + +SlateportCity_House1_MapWarps: @ 852F550 + warp_def 3, 7, 0, 6, SLATEPORT_CITY + warp_def 4, 7, 0, 6, SLATEPORT_CITY + +SlateportCity_House1_MapEvents:: @ 852F560 + map_events SlateportCity_House1_MapObjects, SlateportCity_House1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SlateportCity_House2.inc b/data/maps/events/SlateportCity_House2.inc new file mode 100644 index 0000000000..f77f344563 --- /dev/null +++ b/data/maps/events/SlateportCity_House2.inc @@ -0,0 +1,11 @@ +SlateportCity_House2_MapObjects: @ 852FB9C + object_event 1, MAP_OBJ_GFX_MAN_3, 0, 0, 4, 4, 3, 10, 0, 0, 0, 0, SlateportCity_House2_EventScript_20D9AF, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GIRL_3, 0, 0, 7, 4, 3, 9, 0, 0, 0, 0, SlateportCity_House2_EventScript_20D9B8, 0, 0, 0 + +SlateportCity_House2_MapWarps: @ 852FBCC + warp_def 3, 7, 0, 10, SLATEPORT_CITY + warp_def 4, 7, 0, 10, SLATEPORT_CITY + +SlateportCity_House2_MapEvents:: @ 852FBDC + map_events SlateportCity_House2_MapObjects, SlateportCity_House2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SlateportCity_Mart.inc b/data/maps/events/SlateportCity_Mart.inc new file mode 100644 index 0000000000..bab6768de8 --- /dev/null +++ b/data/maps/events/SlateportCity_Mart.inc @@ -0,0 +1,12 @@ +SlateportCity_Mart_MapObjects: @ 852FCF0 + object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, SlateportCity_Mart_EventScript_20DC49, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 4, 2, 3, 7, 0, 0, 0, 0, SlateportCity_Mart_EventScript_20DC76, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 5, 5, 3, 1, 0, 0, 0, 0, SlateportCity_Mart_EventScript_20DC7F, 0, 0, 0 + +SlateportCity_Mart_MapWarps: @ 852FD38 + warp_def 3, 7, 0, 1, SLATEPORT_CITY + warp_def 4, 7, 0, 1, SLATEPORT_CITY + +SlateportCity_Mart_MapEvents:: @ 852FD48 + map_events SlateportCity_Mart_MapObjects, SlateportCity_Mart_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SlateportCity_OceanicMuseum_1F.inc b/data/maps/events/SlateportCity_OceanicMuseum_1F.inc new file mode 100644 index 0000000000..1ae29ed6f3 --- /dev/null +++ b/data/maps/events/SlateportCity_OceanicMuseum_1F.inc @@ -0,0 +1,43 @@ +SlateportCity_OceanicMuseum_1F_MapObjects: @ 852F670 + object_event 1, MAP_OBJ_GFX_BEAUTY, 0, 0, 7, 7, 3, 10, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AD96, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 18, 5, 3, 7, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE5F, 883, 0, 0 + object_event 3, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 12, 2, 3, 7, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE68, 883, 0, 0 + object_event 4, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 2, 8, 3, 7, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE56, 883, 0, 0 + object_event 5, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 3, 4, 3, 9, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE4D, 883, 0, 0 + object_event 6, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 14, 4, 3, 10, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE71, 883, 0, 0 + object_event 7, MAP_OBJ_GFX_BEAUTY, 0, 0, 12, 7, 3, 9, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AD96, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 8, 3, 3, 8, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE7A, 883, 0, 0 + object_event 9, MAP_OBJ_GFX_WOMAN_7, 0, 0, 4, 2, 3, 1, 17, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AED4, 961, 0, 0 + object_event 10, MAP_OBJ_GFX_MANIAC, 0, 0, 10, 2, 3, 7, 17, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEDD, 961, 0, 0 + object_event 11, MAP_OBJ_GFX_MAN_3, 0, 0, 17, 7, 3, 10, 17, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEE6, 961, 0, 0 + object_event 12, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 18, 8, 3, 7, 17, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEEF, 961, 0, 0 + object_event 13, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 9, 4, 3, 21, 17, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEF8, 965, 0, 0 + object_event 14, MAP_OBJ_GFX_REPORTER_M, 0, 0, 7, 4, 3, 1, 17, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_28C883, 961, 0, 0 + +SlateportCity_OceanicMuseum_1F_MapWarps: @ 852F7C0 + warp_def 9, 8, 0, 5, SLATEPORT_CITY + warp_def 10, 8, 0, 7, SLATEPORT_CITY + warp_def 6, 1, 0, 0, SLATEPORT_CITY_OCEANIC_MUSEUM_2F + +SlateportCity_OceanicMuseum_1F_MapCoordEvents: @ 852F7D8 + coord_event 9, 7, 3, 0, VAR_0x40AA, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AD9F + coord_event 10, 7, 3, 0, VAR_0x40AA, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20ADB0 + +SlateportCity_OceanicMuseum_1F_MapBGEvents: @ 852F7F8 + bg_event 2, 7, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE83 + bg_event 2, 4, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE8C + bg_event 9, 1, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE95 + bg_event 12, 1, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE9E + bg_event 10, 1, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE95 + bg_event 13, 1, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE9E + bg_event 15, 4, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEA7 + bg_event 18, 4, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEB0 + bg_event 18, 7, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEB9 + bg_event 2, 1, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEC2 + bg_event 3, 1, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEC2 + bg_event 16, 1, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AECB + bg_event 17, 1, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AECB + +SlateportCity_OceanicMuseum_1F_MapEvents:: @ 852F894 + map_events SlateportCity_OceanicMuseum_1F_MapObjects, SlateportCity_OceanicMuseum_1F_MapWarps, SlateportCity_OceanicMuseum_1F_MapCoordEvents, SlateportCity_OceanicMuseum_1F_MapBGEvents + diff --git a/data/maps/events/SlateportCity_OceanicMuseum_2F.inc b/data/maps/events/SlateportCity_OceanicMuseum_2F.inc new file mode 100644 index 0000000000..5c3f7108d7 --- /dev/null +++ b/data/maps/events/SlateportCity_OceanicMuseum_2F.inc @@ -0,0 +1,38 @@ +SlateportCity_OceanicMuseum_2F_MapObjects: @ 852F8A8 + object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 13, 6, 3, 8, 0, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BB00, 887, 0, 0 + object_event 2, MAP_OBJ_GFX_ARCHIE, 0, 0, 6, 1, 3, 8, 0, 0, 0, 0, 0x0, 886, 0, 0 + object_event 3, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 6, 1, 3, 8, 0, 0, 0, 0, 0x0, 884, 0, 0 + object_event 4, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 6, 1, 3, 8, 0, 0, 0, 0, 0x0, 885, 0, 0 + object_event 5, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 12, 7, 3, 10, 17, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD64, 961, 0, 0 + object_event 6, MAP_OBJ_GFX_WOMAN_2, 0, 0, 9, 6, 3, 1, 17, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD6D, 961, 0, 0 + object_event 7, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 1, 3, 3, 10, 17, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD76, 961, 0, 0 + +SlateportCity_OceanicMuseum_2F_MapWarps: @ 852F950 + warp_def 6, 1, 0, 2, SLATEPORT_CITY_OCEANIC_MUSEUM_1F + +SlateportCity_OceanicMuseum_2F_MapBGEvents: @ 852F958 + bg_event 18, 4, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD0A + bg_event 18, 7, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD13 + bg_event 4, 3, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD52 + bg_event 4, 4, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD52 + bg_event 3, 3, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD49 + bg_event 2, 3, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD49 + bg_event 3, 4, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD49 + bg_event 3, 6, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD40 + bg_event 4, 6, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD40 + bg_event 13, 7, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD5B + bg_event 14, 7, 3, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD5B + bg_event 18, 1, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD37 + bg_event 19, 1, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD37 + bg_event 15, 1, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD2E + bg_event 16, 1, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD2E + bg_event 8, 1, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD25 + bg_event 9, 1, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD25 + bg_event 12, 1, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD1C + bg_event 13, 1, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD1C + bg_event 3, 7, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD40 + bg_event 4, 7, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD40 + +SlateportCity_OceanicMuseum_2F_MapEvents:: @ 852FA54 + map_events SlateportCity_OceanicMuseum_2F_MapObjects, SlateportCity_OceanicMuseum_2F_MapWarps, 0x0, SlateportCity_OceanicMuseum_2F_MapBGEvents + diff --git a/data/maps/events/SlateportCity_PokemonCenter_1F.inc b/data/maps/events/SlateportCity_PokemonCenter_1F.inc new file mode 100644 index 0000000000..52f406b718 --- /dev/null +++ b/data/maps/events/SlateportCity_PokemonCenter_1F.inc @@ -0,0 +1,13 @@ +SlateportCity_PokemonCenter_1F_MapObjects: @ 852FBF0 + object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, SlateportCity_PokemonCenter_1F_EventScript_20DAD3, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SAILOR, 0, 0, 2, 3, 3, 8, 0, 0, 0, 0, SlateportCity_PokemonCenter_1F_EventScript_20DAE1, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_7, 0, 0, 10, 7, 3, 10, 0, 0, 0, 0, SlateportCity_PokemonCenter_1F_EventScript_20DAEA, 0, 0, 0 + +SlateportCity_PokemonCenter_1F_MapWarps: @ 852FC38 + warp_def 7, 8, 3, 0, SLATEPORT_CITY + warp_def 6, 8, 3, 0, SLATEPORT_CITY + warp_def 1, 6, 4, 0, SLATEPORT_CITY_POKEMON_CENTER_2F + +SlateportCity_PokemonCenter_1F_MapEvents:: @ 852FC50 + map_events SlateportCity_PokemonCenter_1F_MapObjects, SlateportCity_PokemonCenter_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SlateportCity_PokemonCenter_2F.inc b/data/maps/events/SlateportCity_PokemonCenter_2F.inc new file mode 100644 index 0000000000..cd9f74d39a --- /dev/null +++ b/data/maps/events/SlateportCity_PokemonCenter_2F.inc @@ -0,0 +1,14 @@ +SlateportCity_PokemonCenter_2F_MapObjects: @ 852FC64 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, SlateportCity_PokemonCenter_2F_EventScript_27375B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, SlateportCity_PokemonCenter_2F_EventScript_273761, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, SlateportCity_PokemonCenter_2F_EventScript_273767, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, SlateportCity_PokemonCenter_2F_EventScript_276B03, 702, 0, 0 + +SlateportCity_PokemonCenter_2F_MapWarps: @ 852FCC4 + warp_def 1, 6, 4, 2, SLATEPORT_CITY_POKEMON_CENTER_1F + warp_def 5, 1, 3, 0, UNION_ROOM + warp_def 9, 1, 3, 0, TRADE_CENTER + +SlateportCity_PokemonCenter_2F_MapEvents:: @ 852FCDC + map_events SlateportCity_PokemonCenter_2F_MapObjects, SlateportCity_PokemonCenter_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SlateportCity_PokemonFanClub.inc b/data/maps/events/SlateportCity_PokemonFanClub.inc new file mode 100644 index 0000000000..ba18519ef9 --- /dev/null +++ b/data/maps/events/SlateportCity_PokemonFanClub.inc @@ -0,0 +1,18 @@ +SlateportCity_PokemonFanClub_MapObjects: @ 852F574 + object_event 1, MAP_OBJ_GFX_MAN_1, 0, 0, 11, 4, 0, 8, 0, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_20A1E8, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 1, 5, 0, 3, 16, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_20A1F1, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_REPORTER_F, 0, 0, 11, 5, 0, 7, 0, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_28C943, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_5, 0, 0, 6, 2, 3, 1, 0, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_20A17E, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 6, 5, 4, 8, 0, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_209E96, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_ZIGZAGOON_2, 0, 0, 3, 9, 3, 1, 17, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_20A20D, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_SKITTY, 0, 0, 8, 3, 3, 1, 17, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_20A1FA, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_AZUMARILL, 0, 0, 10, 8, 3, 1, 17, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_20A220, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_MAN_5, 0, 0, 11, 8, 0, 9, 16, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_2C7F16, 0, 0, 0 + +SlateportCity_PokemonFanClub_MapWarps: @ 852F64C + warp_def 6, 10, 0, 4, SLATEPORT_CITY + warp_def 7, 10, 0, 4, SLATEPORT_CITY + +SlateportCity_PokemonFanClub_MapEvents:: @ 852F65C + map_events SlateportCity_PokemonFanClub_MapObjects, SlateportCity_PokemonFanClub_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SlateportCity_SternsShipyard_1F.inc b/data/maps/events/SlateportCity_SternsShipyard_1F.inc new file mode 100644 index 0000000000..07e93e516b --- /dev/null +++ b/data/maps/events/SlateportCity_SternsShipyard_1F.inc @@ -0,0 +1,14 @@ +SlateportCity_SternsShipyard_1F_MapObjects: @ 852F318 + object_event 1, MAP_OBJ_GFX_MAN_1, 0, 0, 5, 5, 3, 8, 0, 0, 0, 0, SlateportCity_SternsShipyard_1F_EventScript_207F40, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 10, 7, 3, 7, 0, 0, 0, 0, SlateportCity_SternsShipyard_1F_EventScript_207FED, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 18, 8, 3, 5, 1, 0, 0, 0, SlateportCity_SternsShipyard_1F_EventScript_207FF6, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 12, 11, 3, 2, 33, 0, 0, 0, SlateportCity_SternsShipyard_1F_EventScript_207FFF, 869, 0, 0 + +SlateportCity_SternsShipyard_1F_MapWarps: @ 852F378 + warp_def 2, 14, 0, 2, SLATEPORT_CITY + warp_def 3, 14, 0, 2, SLATEPORT_CITY + warp_def 3, 1, 0, 0, SLATEPORT_CITY_STERNS_SHIPYARD_2F + +SlateportCity_SternsShipyard_1F_MapEvents:: @ 852F390 + map_events SlateportCity_SternsShipyard_1F_MapObjects, SlateportCity_SternsShipyard_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SlateportCity_SternsShipyard_2F.inc b/data/maps/events/SlateportCity_SternsShipyard_2F.inc new file mode 100644 index 0000000000..d43e455687 --- /dev/null +++ b/data/maps/events/SlateportCity_SternsShipyard_2F.inc @@ -0,0 +1,11 @@ +SlateportCity_SternsShipyard_2F_MapObjects: @ 852F3A4 + object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 10, 7, 3, 7, 0, 0, 0, 0, 0x0, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 8, 4, 3, 10, 0, 0, 0, 0, SlateportCity_SternsShipyard_2F_EventScript_20863E, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 0, 9, 3, 7, 0, 0, 0, 0, SlateportCity_SternsShipyard_2F_EventScript_208647, 0, 0, 0 + +SlateportCity_SternsShipyard_2F_MapWarps: @ 852F3EC + warp_def 3, 1, 0, 2, SLATEPORT_CITY_STERNS_SHIPYARD_1F + +SlateportCity_SternsShipyard_2F_MapEvents:: @ 852F3F4 + map_events SlateportCity_SternsShipyard_2F_MapObjects, SlateportCity_SternsShipyard_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SootopolisCity.inc b/data/maps/events/SootopolisCity.inc new file mode 100644 index 0000000000..6f3bb0111a --- /dev/null +++ b/data/maps/events/SootopolisCity.inc @@ -0,0 +1,46 @@ +SootopolisCity_MapObjects: @ 8527314 + object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 31, 18, 3, 8, 0, 0, 0, 0, SootopolisCity_EventScript_1E5E8D, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_5, 0, 0, 47, 33, 0, 9, 0, 0, 0, 0, SootopolisCity_EventScript_1E5FE2, 854, 0, 0 + object_event 3, MAP_OBJ_GFX_GIRL_2, 0, 0, 9, 43, 3, 5, 1, 0, 0, 0, SootopolisCity_EventScript_1E5ED8, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 51, 14, 3, 8, 0, 0, 0, 0, SootopolisCity_EventScript_1E608E, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_BOY_1, 0, 0, 43, 26, 3, 1, 0, 0, 0, 0, SootopolisCity_EventScript_1E60E3, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_MAN_1, 0, 0, 26, 4, 3, 5, 1, 0, 0, 0, SootopolisCity_EventScript_1E6017, 839, 0, 0 + object_event 7, MAP_OBJ_GFX_STEVEN, 0, 0, 20, 36, 3, 8, 17, 0, 0, 0, SootopolisCity_EventScript_1E6166, 973, 0, 0 + object_event 8, MAP_OBJ_GFX_WOMAN_7, 0, 0, 49, 34, 3, 3, 17, 0, 0, 0, SootopolisCity_EventScript_1E6038, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_GROUDON_3, 0, 0, 28, 44, 0, 80, 17, 0, 0, 0, 0x0, 998, 0, 0 + object_event 10, MAP_OBJ_GFX_KYOGRE_3, 0, 0, 34, 44, 1, 79, 17, 0, 0, 0, 0x0, 997, 0, 0 + object_event 11, MAP_OBJ_GFX_RAYQUAZA_2, 0, 0, 31, 41, 1, 10, 17, 0, 0, 0, 0x0, 996, 0, 0 + object_event 12, MAP_OBJ_GFX_MANIAC, 0, 0, 17, 44, 3, 10, 17, 0, 0, 0, SootopolisCity_EventScript_1E6411, 854, 0, 0 + object_event 13, MAP_OBJ_GFX_GIRL_3, 0, 0, 14, 42, 3, 10, 17, 0, 0, 0, SootopolisCity_EventScript_1E63DB, 854, 0, 0 + object_event 14, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 17, 40, 3, 10, 17, 0, 0, 0, SootopolisCity_EventScript_1E6393, 854, 0, 0 + object_event 15, MAP_OBJ_GFX_BOY_2, 0, 0, 19, 37, 3, 8, 17, 0, 0, 0, SootopolisCity_EventScript_1E635D, 854, 0, 0 + object_event 16, MAP_OBJ_GFX_MAXIE, 0, 0, 29, 33, 3, 8, 17, 0, 0, 0, SootopolisCity_EventScript_1E64F2, 827, 0, 0 + object_event 17, MAP_OBJ_GFX_ARCHIE, 0, 0, 31, 33, 3, 8, 17, 0, 0, 0, SootopolisCity_EventScript_1E651F, 826, 0, 0 + object_event 18, MAP_OBJ_GFX_WALLACE, 0, 0, 31, 18, 3, 8, 17, 0, 0, 0, SootopolisCity_EventScript_1E6446, 816, 0, 0 + +SootopolisCity_MapWarps: @ 85274C4 + warp_def 43, 31, 0, 0, SOOTOPOLIS_CITY_POKEMON_CENTER_1F + warp_def 17, 29, 0, 0, SOOTOPOLIS_CITY_MART + warp_def 31, 32, 0, 0, SOOTOPOLIS_CITY_GYM_1F + warp_def 31, 16, 3, 0, CAVE_OF_ORIGIN_ENTRANCE + warp_def 9, 6, 0, 0, SOOTOPOLIS_CITY_HOUSE_1 + warp_def 45, 6, 0, 0, SOOTOPOLIS_CITY_HOUSE_2 + warp_def 9, 17, 0, 0, SOOTOPOLIS_CITY_HOUSE_3 + warp_def 44, 17, 0, 0, SOOTOPOLIS_CITY_HOUSE_4 + warp_def 9, 26, 0, 0, SOOTOPOLIS_CITY_HOUSE_5 + warp_def 53, 28, 0, 0, SOOTOPOLIS_CITY_HOUSE_6 + warp_def 8, 35, 0, 0, SOOTOPOLIS_CITY_HOUSE_7 + warp_def 48, 25, 0, 0, SOOTOPOLIS_CITY_LOTAD_AND_SEEDOT_HOUSE + warp_def 51, 36, 0, 0, SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F + +SootopolisCity_MapBGEvents: @ 852752C + bg_event 33, 34, 3, 0, 0, SootopolisCity_EventScript_1E614B + bg_event 19, 29, 0, 1, 0, SootopolisCity_EventScript_271E6A + bg_event 44, 31, 0, 1, 0, SootopolisCity_EventScript_271E73 + bg_event 45, 31, 0, 1, 0, SootopolisCity_EventScript_271E73 + bg_event 18, 29, 0, 1, 0, SootopolisCity_EventScript_271E6A + bg_event 41, 37, 0, 0, 0, SootopolisCity_EventScript_1E6154 + +SootopolisCity_MapEvents:: @ 8527574 + map_events SootopolisCity_MapObjects, SootopolisCity_MapWarps, 0x0, SootopolisCity_MapBGEvents + diff --git a/data/maps/events/SootopolisCity_Gym_1F.inc b/data/maps/events/SootopolisCity_Gym_1F.inc new file mode 100644 index 0000000000..b348cebcfa --- /dev/null +++ b/data/maps/events/SootopolisCity_Gym_1F.inc @@ -0,0 +1,16 @@ +SootopolisCity_Gym_1F_MapObjects: @ 8532FF4 + object_event 1, MAP_OBJ_GFX_JUAN, 0, 0, 8, 2, 0, 8, 0, 0, 0, 0, SootopolisCity_Gym_1F_EventScript_224F44, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_2, 0, 0, 7, 24, 3, 8, 0, 0, 0, 0, SootopolisCity_Gym_1F_EventScript_225040, 0, 0, 0 + +SootopolisCity_Gym_1F_MapWarps: @ 8533024 + warp_def 8, 25, 0, 2, SOOTOPOLIS_CITY + warp_def 9, 25, 0, 2, SOOTOPOLIS_CITY + warp_def 11, 22, 3, 0, SOOTOPOLIS_CITY_GYM_B1F + +SootopolisCity_Gym_1F_MapBGEvents: @ 853303C + bg_event 6, 24, 0, 0, 0, SootopolisCity_Gym_1F_EventScript_22505F + bg_event 10, 24, 0, 1, 0, SootopolisCity_Gym_1F_EventScript_22506F + +SootopolisCity_Gym_1F_MapEvents:: @ 8533054 + map_events SootopolisCity_Gym_1F_MapObjects, SootopolisCity_Gym_1F_MapWarps, 0x0, SootopolisCity_Gym_1F_MapBGEvents + diff --git a/data/maps/events/SootopolisCity_Gym_B1F.inc b/data/maps/events/SootopolisCity_Gym_B1F.inc new file mode 100644 index 0000000000..9e0dcbadd9 --- /dev/null +++ b/data/maps/events/SootopolisCity_Gym_B1F.inc @@ -0,0 +1,18 @@ +SootopolisCity_Gym_B1F_MapObjects: @ 8533068 + object_event 1, MAP_OBJ_GFX_LASS, 0, 0, 7, 17, 3, 10, 0, 0, 1, 1, SootopolisCity_Gym_B1F_EventScript_225C8B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BEAUTY, 0, 0, 9, 19, 3, 9, 0, 0, 1, 1, SootopolisCity_Gym_B1F_EventScript_225CD0, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_3, 0, 0, 12, 7, 3, 9, 0, 0, 1, 1, SootopolisCity_Gym_B1F_EventScript_225CB9, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BEAUTY, 0, 0, 11, 9, 0, 7, 0, 0, 1, 5, SootopolisCity_Gym_B1F_EventScript_225CE7, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_BEAUTY, 0, 0, 5, 6, 3, 8, 0, 0, 1, 4, SootopolisCity_Gym_B1F_EventScript_225D15, 0, 0, 0 + object_event 6, MAP_OBJ_GFX_WOMAN_2, 0, 0, 7, 8, 3, 10, 0, 0, 1, 2, SootopolisCity_Gym_B1F_EventScript_225D2C, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_LASS, 0, 0, 4, 8, 3, 10, 0, 0, 1, 2, SootopolisCity_Gym_B1F_EventScript_225CA2, 0, 0, 0 + object_event 8, MAP_OBJ_GFX_BEAUTY, 0, 0, 9, 7, 3, 8, 0, 0, 1, 3, SootopolisCity_Gym_B1F_EventScript_225CFE, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_WOMAN_3, 0, 0, 6, 13, 3, 10, 17, 0, 1, 3, SootopolisCity_Gym_B1F_EventScript_225D5A, 0, 0, 0 + object_event 10, MAP_OBJ_GFX_WOMAN_2, 0, 0, 10, 13, 3, 9, 17, 0, 1, 3, SootopolisCity_Gym_B1F_EventScript_225D43, 0, 0, 0 + +SootopolisCity_Gym_B1F_MapWarps: @ 8533158 + warp_def 11, 22, 3, 2, SOOTOPOLIS_CITY_GYM_1F + +SootopolisCity_Gym_B1F_MapEvents:: @ 8533160 + map_events SootopolisCity_Gym_B1F_MapObjects, SootopolisCity_Gym_B1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SootopolisCity_House1.inc b/data/maps/events/SootopolisCity_House1.inc new file mode 100644 index 0000000000..b7eb626e01 --- /dev/null +++ b/data/maps/events/SootopolisCity_House1.inc @@ -0,0 +1,11 @@ +SootopolisCity_House1_MapObjects: @ 85332F8 + object_event 1, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 2, 4, 3, 10, 0, 0, 0, 0, SootopolisCity_House1_EventScript_22694D, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_KECLEON_1, 0, 0, 2, 3, 3, 8, 0, 0, 0, 0, SootopolisCity_House1_EventScript_22698E, 0, 0, 0 + +SootopolisCity_House1_MapWarps: @ 8533328 + warp_def 3, 6, 0, 4, SOOTOPOLIS_CITY + warp_def 4, 6, 0, 4, SOOTOPOLIS_CITY + +SootopolisCity_House1_MapEvents:: @ 8533338 + map_events SootopolisCity_House1_MapObjects, SootopolisCity_House1_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SootopolisCity_House2.inc b/data/maps/events/SootopolisCity_House2.inc new file mode 100644 index 0000000000..98b1b6712f --- /dev/null +++ b/data/maps/events/SootopolisCity_House2.inc @@ -0,0 +1,10 @@ +SootopolisCity_House2_MapObjects: @ 853334C + object_event 1, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 3, 3, 3, 10, 0, 0, 0, 0, SootopolisCity_House2_EventScript_226A77, 0, 0, 0 + +SootopolisCity_House2_MapWarps: @ 8533364 + warp_def 3, 6, 0, 5, SOOTOPOLIS_CITY + warp_def 4, 6, 0, 5, SOOTOPOLIS_CITY + +SootopolisCity_House2_MapEvents:: @ 8533374 + map_events SootopolisCity_House2_MapObjects, SootopolisCity_House2_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SootopolisCity_House3.inc b/data/maps/events/SootopolisCity_House3.inc new file mode 100644 index 0000000000..eaf48fd6e1 --- /dev/null +++ b/data/maps/events/SootopolisCity_House3.inc @@ -0,0 +1,11 @@ +SootopolisCity_House3_MapObjects: @ 8533388 + object_event 1, MAP_OBJ_GFX_WOMAN_5, 0, 0, 2, 4, 3, 8, 0, 0, 0, 0, SootopolisCity_House3_EventScript_226B72, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GIRL_2, 0, 0, 6, 4, 3, 2, 17, 0, 0, 0, SootopolisCity_House3_EventScript_226B9B, 0, 0, 0 + +SootopolisCity_House3_MapWarps: @ 85333B8 + warp_def 3, 6, 0, 6, SOOTOPOLIS_CITY + warp_def 4, 6, 0, 6, SOOTOPOLIS_CITY + +SootopolisCity_House3_MapEvents:: @ 85333C8 + map_events SootopolisCity_House3_MapObjects, SootopolisCity_House3_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SootopolisCity_House4.inc b/data/maps/events/SootopolisCity_House4.inc new file mode 100644 index 0000000000..eb41cbafbd --- /dev/null +++ b/data/maps/events/SootopolisCity_House4.inc @@ -0,0 +1,12 @@ +SootopolisCity_House4_MapObjects: @ 85333DC + object_event 1, MAP_OBJ_GFX_MAN_1, 0, 0, 2, 4, 3, 10, 0, 0, 0, 0, SootopolisCity_House4_EventScript_226D16, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_5, 0, 0, 5, 2, 3, 7, 33, 0, 0, 0, SootopolisCity_House4_EventScript_226D1F, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_AZUMARILL, 0, 0, 2, 3, 3, 1, 17, 0, 0, 0, SootopolisCity_House4_EventScript_226D28, 0, 0, 0 + +SootopolisCity_House4_MapWarps: @ 8533424 + warp_def 3, 6, 0, 7, SOOTOPOLIS_CITY + warp_def 4, 6, 0, 7, SOOTOPOLIS_CITY + +SootopolisCity_House4_MapEvents:: @ 8533434 + map_events SootopolisCity_House4_MapObjects, SootopolisCity_House4_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SootopolisCity_House5.inc b/data/maps/events/SootopolisCity_House5.inc new file mode 100644 index 0000000000..5bffec9123 --- /dev/null +++ b/data/maps/events/SootopolisCity_House5.inc @@ -0,0 +1,11 @@ +SootopolisCity_House5_MapObjects: @ 8533448 + object_event 1, MAP_OBJ_GFX_MANIAC, 0, 0, 3, 3, 3, 10, 0, 0, 0, 0, SootopolisCity_House5_EventScript_226E94, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GIRL_3, 0, 0, 6, 3, 3, 9, 0, 0, 0, 0, SootopolisCity_House5_EventScript_226E9D, 0, 0, 0 + +SootopolisCity_House5_MapWarps: @ 8533478 + warp_def 3, 6, 0, 8, SOOTOPOLIS_CITY + warp_def 4, 6, 0, 8, SOOTOPOLIS_CITY + +SootopolisCity_House5_MapEvents:: @ 8533488 + map_events SootopolisCity_House5_MapObjects, SootopolisCity_House5_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SootopolisCity_House6.inc b/data/maps/events/SootopolisCity_House6.inc new file mode 100644 index 0000000000..5f0f5d4307 --- /dev/null +++ b/data/maps/events/SootopolisCity_House6.inc @@ -0,0 +1,10 @@ +SootopolisCity_House6_MapObjects: @ 853349C + object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 4, 3, 3, 2, 17, 0, 0, 0, SootopolisCity_House6_EventScript_226F5C, 0, 0, 0 + +SootopolisCity_House6_MapWarps: @ 85334B4 + warp_def 3, 6, 0, 9, SOOTOPOLIS_CITY + warp_def 4, 6, 0, 9, SOOTOPOLIS_CITY + +SootopolisCity_House6_MapEvents:: @ 85334C4 + map_events SootopolisCity_House6_MapObjects, SootopolisCity_House6_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SootopolisCity_House7.inc b/data/maps/events/SootopolisCity_House7.inc new file mode 100644 index 0000000000..3a18508a24 --- /dev/null +++ b/data/maps/events/SootopolisCity_House7.inc @@ -0,0 +1,11 @@ +SootopolisCity_House7_MapObjects: @ 85334D8 + object_event 1, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 5, 3, 3, 9, 0, 0, 0, 0, SootopolisCity_House7_EventScript_2270CC, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 1, 4, 3, 2, 17, 0, 0, 0, SootopolisCity_House7_EventScript_2270D5, 0, 0, 0 + +SootopolisCity_House7_MapWarps: @ 8533508 + warp_def 3, 6, 0, 10, SOOTOPOLIS_CITY + warp_def 4, 6, 0, 10, SOOTOPOLIS_CITY + +SootopolisCity_House7_MapEvents:: @ 8533518 + map_events SootopolisCity_House7_MapObjects, SootopolisCity_House7_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SootopolisCity_LotadAndSeedotHouse.inc b/data/maps/events/SootopolisCity_LotadAndSeedotHouse.inc new file mode 100644 index 0000000000..0dcb79d1b3 --- /dev/null +++ b/data/maps/events/SootopolisCity_LotadAndSeedotHouse.inc @@ -0,0 +1,15 @@ +SootopolisCity_LotadAndSeedotHouse_MapObjects: @ 853352C + object_event 1, MAP_OBJ_GFX_FISHERMAN, 0, 0, 2, 4, 3, 10, 0, 0, 0, 0, SootopolisCity_LotadAndSeedotHouse_EventScript_2272BC, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_HIKER, 0, 0, 5, 4, 3, 9, 0, 0, 0, 0, SootopolisCity_LotadAndSeedotHouse_EventScript_22722B, 0, 0, 0 + +SootopolisCity_LotadAndSeedotHouse_MapWarps: @ 853355C + warp_def 3, 6, 0, 11, SOOTOPOLIS_CITY + warp_def 4, 6, 0, 11, SOOTOPOLIS_CITY + +SootopolisCity_LotadAndSeedotHouse_MapBGEvents: @ 853356C + bg_event 5, 1, 0, 0, 0, SootopolisCity_LotadAndSeedotHouse_EventScript_22734D + bg_event 2, 1, 0, 0, 0, SootopolisCity_LotadAndSeedotHouse_EventScript_22735B + +SootopolisCity_LotadAndSeedotHouse_MapEvents:: @ 8533584 + map_events SootopolisCity_LotadAndSeedotHouse_MapObjects, SootopolisCity_LotadAndSeedotHouse_MapWarps, 0x0, SootopolisCity_LotadAndSeedotHouse_MapBGEvents + diff --git a/data/maps/events/SootopolisCity_Mart.inc b/data/maps/events/SootopolisCity_Mart.inc new file mode 100644 index 0000000000..de29f556be --- /dev/null +++ b/data/maps/events/SootopolisCity_Mart.inc @@ -0,0 +1,12 @@ +SootopolisCity_Mart_MapObjects: @ 853328C + object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, SootopolisCity_Mart_EventScript_226795, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_FAT_MAN, 0, 0, 5, 5, 3, 10, 0, 0, 0, 0, SootopolisCity_Mart_EventScript_2267C2, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 9, 5, 3, 10, 0, 0, 0, 0, SootopolisCity_Mart_EventScript_2267EC, 0, 0, 0 + +SootopolisCity_Mart_MapWarps: @ 85332D4 + warp_def 3, 7, 0, 1, SOOTOPOLIS_CITY + warp_def 4, 7, 0, 1, SOOTOPOLIS_CITY + +SootopolisCity_Mart_MapEvents:: @ 85332E4 + map_events SootopolisCity_Mart_MapObjects, SootopolisCity_Mart_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SootopolisCity_MysteryEventsHouse_1F.inc b/data/maps/events/SootopolisCity_MysteryEventsHouse_1F.inc new file mode 100644 index 0000000000..69865a2aae --- /dev/null +++ b/data/maps/events/SootopolisCity_MysteryEventsHouse_1F.inc @@ -0,0 +1,11 @@ +SootopolisCity_MysteryEventsHouse_1F_MapObjects: @ 8533598 + object_event 1, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 6, 4, 0, 10, 0, 0, 0, 0, SootopolisCity_MysteryEventsHouse_1F_EventScript_227A24, 0, 0, 0 + +SootopolisCity_MysteryEventsHouse_1F_MapWarps: @ 85335B0 + warp_def 3, 7, 0, 12, SOOTOPOLIS_CITY + warp_def 4, 7, 0, 12, SOOTOPOLIS_CITY + warp_def 3, 1, 3, 0, SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_B1F + +SootopolisCity_MysteryEventsHouse_1F_MapEvents:: @ 85335C8 + map_events SootopolisCity_MysteryEventsHouse_1F_MapObjects, SootopolisCity_MysteryEventsHouse_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SootopolisCity_MysteryEventsHouse_B1F.inc b/data/maps/events/SootopolisCity_MysteryEventsHouse_B1F.inc new file mode 100644 index 0000000000..2a02e72f28 --- /dev/null +++ b/data/maps/events/SootopolisCity_MysteryEventsHouse_B1F.inc @@ -0,0 +1,9 @@ +SootopolisCity_MysteryEventsHouse_B1F_MapObjects: @ 85335DC + object_event 1, MAP_OBJ_GFX_HIPSTER, 0, 0, 6, 5, 0, 9, 17, 0, 0, 0, 0x0, 0, 0, 0 + +SootopolisCity_MysteryEventsHouse_B1F_MapWarps: @ 85335F4 + warp_def 3, 1, 0, 2, SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F + +SootopolisCity_MysteryEventsHouse_B1F_MapEvents:: @ 85335FC + map_events SootopolisCity_MysteryEventsHouse_B1F_MapObjects, SootopolisCity_MysteryEventsHouse_B1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SootopolisCity_PokemonCenter_1F.inc b/data/maps/events/SootopolisCity_PokemonCenter_1F.inc new file mode 100644 index 0000000000..669ce88ae1 --- /dev/null +++ b/data/maps/events/SootopolisCity_PokemonCenter_1F.inc @@ -0,0 +1,14 @@ +SootopolisCity_PokemonCenter_1F_MapObjects: @ 8533174 + object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, SootopolisCity_PokemonCenter_1F_EventScript_226500, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 12, 4, 3, 2, 17, 0, 0, 0, SootopolisCity_PokemonCenter_1F_EventScript_22650E, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_7, 0, 0, 4, 7, 3, 5, 1, 0, 0, 0, SootopolisCity_PokemonCenter_1F_EventScript_226538, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_1, 0, 0, 2, 3, 3, 2, 17, 0, 0, 0, SootopolisCity_PokemonCenter_1F_EventScript_2C8256, 0, 0, 0 + +SootopolisCity_PokemonCenter_1F_MapWarps: @ 85331D4 + warp_def 7, 8, 3, 0, SOOTOPOLIS_CITY + warp_def 6, 8, 3, 0, SOOTOPOLIS_CITY + warp_def 1, 6, 4, 0, SOOTOPOLIS_CITY_POKEMON_CENTER_2F + +SootopolisCity_PokemonCenter_1F_MapEvents:: @ 85331EC + map_events SootopolisCity_PokemonCenter_1F_MapObjects, SootopolisCity_PokemonCenter_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SootopolisCity_PokemonCenter_2F.inc b/data/maps/events/SootopolisCity_PokemonCenter_2F.inc new file mode 100644 index 0000000000..d063a7666f --- /dev/null +++ b/data/maps/events/SootopolisCity_PokemonCenter_2F.inc @@ -0,0 +1,14 @@ +SootopolisCity_PokemonCenter_2F_MapObjects: @ 8533200 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, SootopolisCity_PokemonCenter_2F_EventScript_27375B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, SootopolisCity_PokemonCenter_2F_EventScript_273761, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, SootopolisCity_PokemonCenter_2F_EventScript_273767, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, SootopolisCity_PokemonCenter_2F_EventScript_276B03, 702, 0, 0 + +SootopolisCity_PokemonCenter_2F_MapWarps: @ 8533260 + warp_def 1, 6, 4, 2, SOOTOPOLIS_CITY_POKEMON_CENTER_1F + warp_def 5, 1, 3, 0, UNION_ROOM + warp_def 9, 1, 3, 0, TRADE_CENTER + +SootopolisCity_PokemonCenter_2F_MapEvents:: @ 8533278 + map_events SootopolisCity_PokemonCenter_2F_MapObjects, SootopolisCity_PokemonCenter_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/SouthernIsland_Exterior.inc b/data/maps/events/SouthernIsland_Exterior.inc new file mode 100644 index 0000000000..7c6bc41284 --- /dev/null +++ b/data/maps/events/SouthernIsland_Exterior.inc @@ -0,0 +1,14 @@ +SouthernIsland_Exterior_MapObjects: @ 853B83C + object_event 1, MAP_OBJ_GFX_SAILOR, 0, 0, 13, 23, 3, 7, 0, 0, 0, 0, SouthernIsland_Exterior_EventScript_2429D2, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_SS_TIDAL, 0, 0, 13, 25, 1, 10, 0, 0, 0, 0, 0x0, 0, 0, 0 + +SouthernIsland_Exterior_MapWarps: @ 853B86C + warp_def 14, 5, 3, 0, SOUTHERN_ISLAND_INTERIOR + warp_def 15, 5, 3, 1, SOUTHERN_ISLAND_INTERIOR + +SouthernIsland_Exterior_MapBGEvents: @ 853B87C + bg_event 16, 7, 3, 0, 0, SouthernIsland_Exterior_EventScript_242A3C + +SouthernIsland_Exterior_MapEvents:: @ 853B888 + map_events SouthernIsland_Exterior_MapObjects, SouthernIsland_Exterior_MapWarps, 0x0, SouthernIsland_Exterior_MapBGEvents + diff --git a/data/maps/events/SouthernIsland_Interior.inc b/data/maps/events/SouthernIsland_Interior.inc new file mode 100644 index 0000000000..a304f18327 --- /dev/null +++ b/data/maps/events/SouthernIsland_Interior.inc @@ -0,0 +1,14 @@ +SouthernIsland_Interior_MapObjects: @ 853B89C + object_event 1, MAP_OBJ_GFX_HIPSTER, 0, 0, 13, 12, 3, 7, 0, 0, 0, 0, 0x0, 910, 0, 0 + object_event 2, MAP_OBJ_GFX_TRADER, 0, 0, 13, 2, 0, 8, 0, 0, 0, 0, 0x0, 911, 0, 0 + +SouthernIsland_Interior_MapWarps: @ 853B8CC + warp_def 13, 18, 3, 0, SOUTHERN_ISLAND_EXTERIOR + warp_def 14, 18, 3, 1, SOUTHERN_ISLAND_EXTERIOR + +SouthernIsland_Interior_MapBGEvents: @ 853B8DC + bg_event 13, 11, 3, 1, 0, SouthernIsland_Interior_EventScript_242AC4 + +SouthernIsland_Interior_MapEvents:: @ 853B8E8 + map_events SouthernIsland_Interior_MapObjects, SouthernIsland_Interior_MapWarps, 0x0, SouthernIsland_Interior_MapBGEvents + diff --git a/data/maps/events/TerraCave_End.inc b/data/maps/events/TerraCave_End.inc new file mode 100644 index 0000000000..2421cba402 --- /dev/null +++ b/data/maps/events/TerraCave_End.inc @@ -0,0 +1,12 @@ +TerraCave_End_MapObjects: @ 8537850 + object_event 1, MAP_OBJ_GFX_GROUDON_1, 0, 0, 17, 22, 1, 8, 17, 0, 0, 0, 0x0, 783, 0, 0 + +TerraCave_End_MapWarps: @ 8537868 + warp_def 5, 4, 3, 1, TERRA_CAVE_ENTRANCE + +TerraCave_End_MapCoordEvents: @ 8537870 + coord_event 17, 26, 3, 0, VAR_0x4001, 1, 0, TerraCave_End_EventScript_23B0EC + +TerraCave_End_MapEvents:: @ 8537880 + map_events TerraCave_End_MapObjects, TerraCave_End_MapWarps, TerraCave_End_MapCoordEvents, 0x0 + diff --git a/data/maps/events/TerraCave_Entrance.inc b/data/maps/events/TerraCave_Entrance.inc new file mode 100644 index 0000000000..3cea5a7c6b --- /dev/null +++ b/data/maps/events/TerraCave_Entrance.inc @@ -0,0 +1,7 @@ +TerraCave_Entrance_MapWarps: @ 853782C + warp_def 8, 18, 0, 127, NONE + warp_def 14, 1, 3, 0, TERRA_CAVE_END + +TerraCave_Entrance_MapEvents:: @ 853783C + map_events 0x0, TerraCave_Entrance_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/TradeCenter.inc b/data/maps/events/TradeCenter.inc new file mode 100644 index 0000000000..ffb999b226 --- /dev/null +++ b/data/maps/events/TradeCenter.inc @@ -0,0 +1,14 @@ +TradeCenter_MapObjects: @ 8539DA0 + object_event 1, MAP_OBJ_GFX_WOMAN_6, 0, 0, 9, 6, 3, 9, 0, 0, 0, 0, TradeCenter_EventScript_2774B6, 0, 0, 0 + +TradeCenter_MapWarps: @ 8539DB8 + warp_def 5, 8, 3, 127, NONE + warp_def 6, 8, 3, 127, NONE + +TradeCenter_MapCoordEvents: @ 8539DC8 + coord_event 4, 5, 3, 0, VAR_0x4000, 0, 0, gUnknown_082773F5 + coord_event 7, 5, 3, 0, VAR_0x4000, 0, 0, gUnknown_082773FF + +TradeCenter_MapEvents:: @ 8539DE8 + map_events TradeCenter_MapObjects, TradeCenter_MapWarps, TradeCenter_MapCoordEvents, 0x0 + diff --git a/data/maps/events/TrainerHill_1F.inc b/data/maps/events/TrainerHill_1F.inc new file mode 100644 index 0000000000..ae8fecee75 --- /dev/null +++ b/data/maps/events/TrainerHill_1F.inc @@ -0,0 +1,7 @@ +TrainerHill_1F_MapWarps: @ 853D934 + warp_def 2, 1, 3, 2, TRAINER_HILL_ENTRANCE + warp_def 12, 1, 3, 0, TRAINER_HILL_2F + +TrainerHill_1F_MapEvents:: @ 853D944 + map_events 0x0, TrainerHill_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/TrainerHill_2F.inc b/data/maps/events/TrainerHill_2F.inc new file mode 100644 index 0000000000..dc0e071a2a --- /dev/null +++ b/data/maps/events/TrainerHill_2F.inc @@ -0,0 +1,7 @@ +TrainerHill_2F_MapWarps: @ 853D958 + warp_def 2, 1, 3, 1, TRAINER_HILL_1F + warp_def 12, 1, 3, 0, TRAINER_HILL_3F + +TrainerHill_2F_MapEvents:: @ 853D968 + map_events 0x0, TrainerHill_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/TrainerHill_3F.inc b/data/maps/events/TrainerHill_3F.inc new file mode 100644 index 0000000000..c022f16d25 --- /dev/null +++ b/data/maps/events/TrainerHill_3F.inc @@ -0,0 +1,7 @@ +TrainerHill_3F_MapWarps: @ 853D97C + warp_def 2, 1, 3, 1, TRAINER_HILL_2F + warp_def 12, 1, 3, 0, TRAINER_HILL_4F + +TrainerHill_3F_MapEvents:: @ 853D98C + map_events 0x0, TrainerHill_3F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/TrainerHill_4F.inc b/data/maps/events/TrainerHill_4F.inc new file mode 100644 index 0000000000..7007a69a7e --- /dev/null +++ b/data/maps/events/TrainerHill_4F.inc @@ -0,0 +1,7 @@ +TrainerHill_4F_MapWarps: @ 853D9A0 + warp_def 2, 1, 3, 1, TRAINER_HILL_3F + warp_def 12, 1, 3, 0, TRAINER_HILL_ROOF + +TrainerHill_4F_MapEvents:: @ 853D9B0 + map_events 0x0, TrainerHill_4F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/TrainerHill_Elevator.inc b/data/maps/events/TrainerHill_Elevator.inc new file mode 100644 index 0000000000..8734958768 --- /dev/null +++ b/data/maps/events/TrainerHill_Elevator.inc @@ -0,0 +1,10 @@ +TrainerHill_Elevator_MapObjects: @ 853DD84 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 0, 6, 3, 8, 17, 0, 0, 0, TrainerHill_Elevator_EventScript_26935F, 0, 0, 0 + +TrainerHill_Elevator_MapWarps: @ 853DD9C + warp_def 1, 6, 3, 1, TRAINER_HILL_ROOF + warp_def 2, 6, 3, 1, TRAINER_HILL_ROOF + +TrainerHill_Elevator_MapEvents:: @ 853DDAC + map_events TrainerHill_Elevator_MapObjects, TrainerHill_Elevator_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/TrainerHill_Entrance.inc b/data/maps/events/TrainerHill_Entrance.inc new file mode 100644 index 0000000000..a5574755b9 --- /dev/null +++ b/data/maps/events/TrainerHill_Entrance.inc @@ -0,0 +1,21 @@ +TrainerHill_Entrance_MapObjects: @ 853D874 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 11, 6, 3, 9, 17, 0, 0, 0, TrainerHill_Entrance_EventScript_2681FD, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_NURSE, 0, 0, 4, 9, 3, 8, 17, 0, 0, 0, TrainerHill_Entrance_EventScript_2681EF, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 14, 9, 3, 8, 17, 0, 0, 0, TrainerHill_Entrance_EventScript_2683C7, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_GIRL_3, 0, 0, 5, 14, 3, 2, 17, 0, 0, 0, TrainerHill_Entrance_EventScript_2683AC, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_MAN_4, 0, 0, 14, 15, 3, 2, 17, 0, 0, 0, TrainerHill_Entrance_EventScript_268391, 0, 0, 0 + +TrainerHill_Entrance_MapWarps: @ 853D8EC + warp_def 9, 16, 3, 4, ROUTE_111 + warp_def 10, 16, 3, 4, ROUTE_111 + warp_def 9, 1, 3, 0, TRAINER_HILL_1F + +TrainerHill_Entrance_MapCoordEvents: @ 853D904 + coord_event 9, 6, 3, 0, VAR_0x40D6, 0, 0, TrainerHill_Entrance_EventScript_268229 + +TrainerHill_Entrance_MapBGEvents: @ 853D914 + bg_event 8, 10, 0, 1, 0, TrainerHill_Entrance_EventScript_268388 + +TrainerHill_Entrance_MapEvents:: @ 853D920 + map_events TrainerHill_Entrance_MapObjects, TrainerHill_Entrance_MapWarps, TrainerHill_Entrance_MapCoordEvents, TrainerHill_Entrance_MapBGEvents + diff --git a/data/maps/events/TrainerHill_Roof.inc b/data/maps/events/TrainerHill_Roof.inc new file mode 100644 index 0000000000..4f48ef724f --- /dev/null +++ b/data/maps/events/TrainerHill_Roof.inc @@ -0,0 +1,10 @@ +TrainerHill_Roof_MapObjects: @ 853D9C4 + object_event 1, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 12, 7, 3, 8, 17, 0, 0, 0, TrainerHill_Roof_EventScript_268FB2, 0, 0, 0 + +TrainerHill_Roof_MapWarps: @ 853D9DC + warp_def 9, 5, 3, 1, TRAINER_HILL_4F + warp_def 15, 5, 0, 1, TRAINER_HILL_ELEVATOR + +TrainerHill_Roof_MapEvents:: @ 853D9EC + map_events TrainerHill_Roof_MapObjects, TrainerHill_Roof_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Underwater1.inc b/data/maps/events/Underwater1.inc new file mode 100644 index 0000000000..08cf19a4c7 --- /dev/null +++ b/data/maps/events/Underwater1.inc @@ -0,0 +1,12 @@ +Underwater1_MapBGEvents: @ 852CEB4 + bg_event 42, 51, 0, 7, 0, ITEM_CARBOS, 8, 0 + bg_event 14, 40, 0, 7, 0, ITEM_GREEN_SHARD, 9, 0 + bg_event 66, 34, 3, 7, 0, ITEM_PEARL, 10, 0 + bg_event 64, 54, 3, 7, 0, ITEM_BIG_PEARL, 11, 0 + bg_event 70, 64, 3, 7, 0, ITEM_HEART_SCALE, 13, 0 + bg_event 42, 5, 3, 7, 0, ITEM_CALCIUM, 36, 0 + bg_event 45, 36, 3, 7, 0, ITEM_HEART_SCALE, 38, 0 + +Underwater1_MapEvents:: @ 852CF08 + map_events 0x0, 0x0, 0x0, Underwater1_MapBGEvents + diff --git a/data/maps/events/Underwater2.inc b/data/maps/events/Underwater2.inc new file mode 100644 index 0000000000..097dbdc65d --- /dev/null +++ b/data/maps/events/Underwater2.inc @@ -0,0 +1,16 @@ +Underwater2_MapWarps: @ 852CF1C + warp_def 45, 65, 0, 0, UNDERWATER_SOOTOPOLIS_CITY + +Underwater2_MapBGEvents: @ 852CF24 + bg_event 30, 17, 3, 7, 0, ITEM_HEART_SCALE, 14, 0 + bg_event 41, 19, 3, 7, 0, ITEM_ULTRA_BALL, 15, 0 + bg_event 63, 19, 3, 7, 0, ITEM_STARDUST, 16, 0 + bg_event 10, 36, 3, 7, 0, ITEM_PEARL, 17, 0 + bg_event 11, 39, 3, 7, 0, ITEM_IRON, 19, 0 + bg_event 12, 35, 3, 7, 0, ITEM_YELLOW_SHARD, 18, 0 + bg_event 65, 60, 3, 7, 0, ITEM_BIG_PEARL, 20, 0 + bg_event 9, 77, 3, 7, 0, ITEM_BLUE_SHARD, 12, 0 + +Underwater2_MapEvents:: @ 852CF84 + map_events 0x0, Underwater2_MapWarps, 0x0, Underwater2_MapBGEvents + diff --git a/data/maps/events/Underwater3.inc b/data/maps/events/Underwater3.inc new file mode 100644 index 0000000000..66b7b87585 --- /dev/null +++ b/data/maps/events/Underwater3.inc @@ -0,0 +1,13 @@ +Underwater3_MapWarps: @ 852CF98 + warp_def 57, 5, 0, 0, UNDERWATER_MARINE_CAVE + warp_def 67, 38, 0, 0, UNDERWATER_MARINE_CAVE + +Underwater3_MapBGEvents: @ 852CFA8 + bg_event 12, 42, 3, 7, 0, ITEM_STAR_PIECE, 21, 0 + bg_event 50, 36, 3, 7, 0, ITEM_HP_UP, 22, 0 + bg_event 34, 72, 3, 7, 0, ITEM_HEART_SCALE, 23, 0 + bg_event 72, 20, 3, 7, 0, ITEM_RED_SHARD, 24, 0 + +Underwater3_MapEvents:: @ 852CFD8 + map_events 0x0, Underwater3_MapWarps, 0x0, Underwater3_MapBGEvents + diff --git a/data/maps/events/Underwater4.inc b/data/maps/events/Underwater4.inc new file mode 100644 index 0000000000..b1846f1aa5 --- /dev/null +++ b/data/maps/events/Underwater4.inc @@ -0,0 +1,10 @@ +Underwater4_MapWarps: @ 852CFEC + warp_def 38, 26, 3, 0, UNDERWATER_SEAFLOOR_CAVERN + +Underwater4_MapBGEvents: @ 852CFF4 + bg_event 38, 19, 3, 7, 0, ITEM_PROTEIN, 25, 0 + bg_event 69, 18, 3, 7, 0, ITEM_PEARL, 26, 0 + +Underwater4_MapEvents:: @ 852D00C + map_events 0x0, Underwater4_MapWarps, 0x0, Underwater4_MapBGEvents + diff --git a/data/maps/events/Underwater5.inc b/data/maps/events/Underwater5.inc new file mode 100644 index 0000000000..7f72f3771b --- /dev/null +++ b/data/maps/events/Underwater5.inc @@ -0,0 +1,7 @@ +Underwater5_MapWarps: @ 852D020 + warp_def 26, 3, 0, 0, UNDERWATER_MARINE_CAVE + warp_def 32, 21, 0, 0, UNDERWATER_MARINE_CAVE + +Underwater5_MapEvents:: @ 852D030 + map_events 0x0, Underwater5_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Underwater6.inc b/data/maps/events/Underwater6.inc new file mode 100644 index 0000000000..ba5883d7c7 --- /dev/null +++ b/data/maps/events/Underwater6.inc @@ -0,0 +1,7 @@ +Underwater6_MapWarps: @ 852D044 + warp_def 13, 4, 0, 0, UNDERWATER_MARINE_CAVE + warp_def 17, 66, 0, 0, UNDERWATER_MARINE_CAVE + +Underwater6_MapEvents:: @ 852D054 + map_events 0x0, Underwater6_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Underwater7.inc b/data/maps/events/Underwater7.inc new file mode 100644 index 0000000000..0841a343e2 --- /dev/null +++ b/data/maps/events/Underwater7.inc @@ -0,0 +1,7 @@ +Underwater7_MapWarps: @ 852D068 + warp_def 22, 10, 0, 0, UNDERWATER_MARINE_CAVE + warp_def 45, 30, 0, 0, UNDERWATER_MARINE_CAVE + +Underwater7_MapEvents:: @ 852D078 + map_events 0x0, Underwater7_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Underwater_MarineCave.inc b/data/maps/events/Underwater_MarineCave.inc new file mode 100644 index 0000000000..9266cc5c3a --- /dev/null +++ b/data/maps/events/Underwater_MarineCave.inc @@ -0,0 +1,6 @@ +Underwater_MarineCave_MapWarps: @ 85377B0 + warp_def 9, 8, 0, 127, NONE + +Underwater_MarineCave_MapEvents:: @ 85377B8 + map_events 0x0, Underwater_MarineCave_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Underwater_Route134.inc b/data/maps/events/Underwater_Route134.inc new file mode 100644 index 0000000000..03ed08535b --- /dev/null +++ b/data/maps/events/Underwater_Route134.inc @@ -0,0 +1,6 @@ +Underwater_Route134_MapWarps: @ 8536D44 + warp_def 8, 8, 0, 0, UNDERWATER_SEALED_CHAMBER + +Underwater_Route134_MapEvents:: @ 8536D4C + map_events 0x0, Underwater_Route134_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Underwater_SeafloorCavern.inc b/data/maps/events/Underwater_SeafloorCavern.inc new file mode 100644 index 0000000000..b284db78f9 --- /dev/null +++ b/data/maps/events/Underwater_SeafloorCavern.inc @@ -0,0 +1,12 @@ +Underwater_SeafloorCavern_MapObjects: @ 8535640 + object_event 1, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 5, 4, 3, 76, 17, 0, 0, 0, Underwater_SeafloorCavern_EventScript_2343DC, 980, 0, 0 + object_event 2, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 6, 4, 3, 76, 17, 0, 0, 0, Underwater_SeafloorCavern_EventScript_2343DC, 980, 0, 0 + object_event 3, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 7, 4, 3, 76, 17, 0, 0, 0, Underwater_SeafloorCavern_EventScript_2343DC, 980, 0, 0 + object_event 4, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 8, 4, 3, 76, 17, 0, 0, 0, Underwater_SeafloorCavern_EventScript_2343DC, 980, 0, 0 + +Underwater_SeafloorCavern_MapWarps: @ 85356A0 + warp_def 6, 7, 0, 0, UNDERWATER_4 + +Underwater_SeafloorCavern_MapEvents:: @ 85356A8 + map_events Underwater_SeafloorCavern_MapObjects, Underwater_SeafloorCavern_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/Underwater_SealedChamber.inc b/data/maps/events/Underwater_SealedChamber.inc new file mode 100644 index 0000000000..9ef7be29e8 --- /dev/null +++ b/data/maps/events/Underwater_SealedChamber.inc @@ -0,0 +1,9 @@ +Underwater_SealedChamber_MapWarps: @ 8536D60 + warp_def 7, 1, 0, 0, UNDERWATER_ROUTE_134 + +Underwater_SealedChamber_MapBGEvents: @ 8536D68 + bg_event 12, 43, 0, 0, 0, Underwater_SealedChamber_EventScript_2390FC + +Underwater_SealedChamber_MapEvents:: @ 8536D74 + map_events 0x0, Underwater_SealedChamber_MapWarps, 0x0, Underwater_SealedChamber_MapBGEvents + diff --git a/data/maps/events/Underwater_SootopolisCity.inc b/data/maps/events/Underwater_SootopolisCity.inc new file mode 100644 index 0000000000..4b0cda4eb0 --- /dev/null +++ b/data/maps/events/Underwater_SootopolisCity.inc @@ -0,0 +1,7 @@ +Underwater_SootopolisCity_MapWarps: @ 8534330 + warp_def 9, 8, 0, 0, UNDERWATER_2 + warp_def 10, 8, 0, 0, UNDERWATER_2 + +Underwater_SootopolisCity_MapEvents:: @ 8534340 + map_events 0x0, Underwater_SootopolisCity_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/UnionRoom.inc b/data/maps/events/UnionRoom.inc new file mode 100644 index 0000000000..be9b402435 --- /dev/null +++ b/data/maps/events/UnionRoom.inc @@ -0,0 +1,18 @@ +UnionRoom_MapObjects: @ 853B020 + object_event 1, MAP_OBJ_GFX_UNION_ROOM_NURSE, 0, 0, 3, 2, 3, 8, 0, 0, 0, 0, UnionRoom_EventScript_23D236, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GIDDY, 0, 0, 1, 8, 3, 2, 17, 0, 0, 0, UnionRoom_EventScript_23D204, 706, 0, 0 + object_event 3, 247, 0, 0, 7, 8, 3, 2, 17, 0, 0, 0, UnionRoom_EventScript_23D22C, 710, 0, 0 + object_event 4, 246, 0, 0, 1, 4, 3, 2, 17, 0, 0, 0, UnionRoom_EventScript_23D222, 709, 0, 0 + object_event 5, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 7, 4, 3, 2, 17, 0, 0, 0, UnionRoom_EventScript_23D218, 708, 0, 0 + object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 13, 4, 3, 2, 17, 0, 0, 0, UnionRoom_EventScript_23D20E, 707, 0, 0 + object_event 7, MAP_OBJ_GFX_STORYTELLER, 0, 0, 10, 6, 3, 2, 17, 0, 0, 0, UnionRoom_EventScript_23D1FA, 705, 0, 0 + object_event 8, MAP_OBJ_GFX_TRADER, 0, 0, 13, 8, 3, 2, 17, 0, 0, 0, UnionRoom_EventScript_23D1F0, 704, 0, 0 + object_event 9, MAP_OBJ_GFX_HIPSTER, 0, 0, 4, 6, 3, 2, 17, 0, 0, 0, UnionRoom_EventScript_23D1E6, 703, 0, 0 + +UnionRoom_MapWarps: @ 853B0F8 + warp_def 7, 11, 3, 127, NONE + warp_def 8, 11, 3, 127, NONE + +UnionRoom_MapEvents:: @ 853B108 + map_events UnionRoom_MapObjects, UnionRoom_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/UnknownMap_25_29.inc b/data/maps/events/UnknownMap_25_29.inc new file mode 100644 index 0000000000..13ea1b8b97 --- /dev/null +++ b/data/maps/events/UnknownMap_25_29.inc @@ -0,0 +1 @@ +UnknownMap_25_29_MapEvents:: @ 853A064 diff --git a/data/maps/events/UnknownMap_25_30.inc b/data/maps/events/UnknownMap_25_30.inc new file mode 100644 index 0000000000..0e221e2403 --- /dev/null +++ b/data/maps/events/UnknownMap_25_30.inc @@ -0,0 +1 @@ +UnknownMap_25_30_MapEvents:: @ 853A064 diff --git a/data/maps/events/UnknownMap_25_31.inc b/data/maps/events/UnknownMap_25_31.inc new file mode 100644 index 0000000000..99e450de5d --- /dev/null +++ b/data/maps/events/UnknownMap_25_31.inc @@ -0,0 +1 @@ +UnknownMap_25_31_MapEvents:: @ 853A064 diff --git a/data/maps/events/UnknownMap_25_32.inc b/data/maps/events/UnknownMap_25_32.inc new file mode 100644 index 0000000000..c48eedb17a --- /dev/null +++ b/data/maps/events/UnknownMap_25_32.inc @@ -0,0 +1 @@ +UnknownMap_25_32_MapEvents:: @ 853A064 diff --git a/data/maps/events/UnknownMap_25_33.inc b/data/maps/events/UnknownMap_25_33.inc new file mode 100644 index 0000000000..14f4571d23 --- /dev/null +++ b/data/maps/events/UnknownMap_25_33.inc @@ -0,0 +1 @@ +UnknownMap_25_33_MapEvents:: @ 853A064 diff --git a/data/maps/events/UnknownMap_25_34.inc b/data/maps/events/UnknownMap_25_34.inc new file mode 100644 index 0000000000..0fcbef3a3d --- /dev/null +++ b/data/maps/events/UnknownMap_25_34.inc @@ -0,0 +1,3 @@ +UnknownMap_25_34_MapEvents:: @ 853A064 + map_events LinkContestRoom1_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/VerdanturfTown.inc b/data/maps/events/VerdanturfTown.inc new file mode 100644 index 0000000000..7738701b2b --- /dev/null +++ b/data/maps/events/VerdanturfTown.inc @@ -0,0 +1,28 @@ +VerdanturfTown_MapObjects: @ 8527CDC + object_event 1, MAP_OBJ_GFX_MAN_2, 0, 0, 4, 17, 3, 5, 1, 0, 0, 0, VerdanturfTown_EventScript_1EB5A8, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 9, 2, 3, 9, 1, 0, 0, 0, VerdanturfTown_EventScript_1EB575, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BOY_1, 0, 0, 7, 11, 3, 3, 16, 0, 0, 0, VerdanturfTown_EventScript_1EB5BA, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_CAMPER, 0, 0, 7, 6, 3, 5, 1, 0, 0, 0, VerdanturfTown_EventScript_1EB5B1, 0, 0, 0 + +VerdanturfTown_MapWarps: @ 8527D3C + warp_def 3, 7, 0, 0, VERDANTURF_TOWN_BATTLE_TENT_LOBBY + warp_def 12, 3, 0, 0, VERDANTURF_TOWN_MART + warp_def 16, 3, 0, 0, VERDANTURF_TOWN_POKEMON_CENTER_1F + warp_def 10, 14, 0, 0, VERDANTURF_TOWN_WANDAS_HOUSE + warp_def 8, 1, 0, 1, RUSTURF_TUNNEL + warp_def 1, 14, 0, 0, VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE + warp_def 17, 15, 0, 0, VERDANTURF_TOWN_HOUSE + +VerdanturfTown_MapBGEvents: @ 8527D74 + bg_event 14, 3, 0, 1, 0, VerdanturfTown_EventScript_271E6A + bg_event 14, 6, 0, 0, 0, VerdanturfTown_EventScript_1EB5D9 + bg_event 17, 3, 0, 1, 0, VerdanturfTown_EventScript_271E73 + bg_event 7, 14, 0, 0, 0, VerdanturfTown_EventScript_1EB5E2 + bg_event 13, 3, 0, 1, 0, VerdanturfTown_EventScript_271E6A + bg_event 18, 3, 0, 1, 0, VerdanturfTown_EventScript_271E73 + bg_event 1, 8, 0, 0, 0, VerdanturfTown_EventScript_1EB5EB + bg_event 7, 3, 0, 0, 0, VerdanturfTown_EventScript_1EB5F4 + +VerdanturfTown_MapEvents:: @ 8527DD4 + map_events VerdanturfTown_MapObjects, VerdanturfTown_MapWarps, 0x0, VerdanturfTown_MapBGEvents + diff --git a/data/maps/events/VerdanturfTown_BattleTentBattleRoom.inc b/data/maps/events/VerdanturfTown_BattleTentBattleRoom.inc new file mode 100644 index 0000000000..0db3fc9201 --- /dev/null +++ b/data/maps/events/VerdanturfTown_BattleTentBattleRoom.inc @@ -0,0 +1,8 @@ +VerdanturfTown_BattleTentBattleRoom_MapObjects: @ 852E734 + object_event 1, MAP_OBJ_GFX_TRADER, 0, 0, 2, 8, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 11, 1, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 2, 4, 0, 10, 17, 0, 0, 0, 0x0, 0, 0, 0 + +VerdanturfTown_BattleTentBattleRoom_MapEvents:: @ 852E77C + map_events VerdanturfTown_BattleTentBattleRoom_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/VerdanturfTown_BattleTentCorridor.inc b/data/maps/events/VerdanturfTown_BattleTentCorridor.inc new file mode 100644 index 0000000000..7ec4cee106 --- /dev/null +++ b/data/maps/events/VerdanturfTown_BattleTentCorridor.inc @@ -0,0 +1,6 @@ +VerdanturfTown_BattleTentCorridor_MapObjects: @ 852E708 + object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 2, 6, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0 + +VerdanturfTown_BattleTentCorridor_MapEvents:: @ 852E720 + map_events VerdanturfTown_BattleTentCorridor_MapObjects, 0x0, 0x0, 0x0 + diff --git a/data/maps/events/VerdanturfTown_BattleTentLobby.inc b/data/maps/events/VerdanturfTown_BattleTentLobby.inc new file mode 100644 index 0000000000..d6b5818da5 --- /dev/null +++ b/data/maps/events/VerdanturfTown_BattleTentLobby.inc @@ -0,0 +1,18 @@ +VerdanturfTown_BattleTentLobby_MapObjects: @ 852E648 + object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 6, 5, 3, 8, 17, 0, 0, 0, VerdanturfTown_BattleTentLobby_EventScript_201873, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GIRL_1, 0, 0, 0, 5, 3, 2, 17, 0, 0, 0, VerdanturfTown_BattleTentLobby_EventScript_201A7B, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_BOY_3, 0, 0, 9, 7, 3, 2, 17, 0, 0, 0, VerdanturfTown_BattleTentLobby_EventScript_201ABC, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_BOY_2, 0, 0, 1, 8, 3, 10, 17, 0, 0, 0, VerdanturfTown_BattleTentLobby_EventScript_201AC5, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_SCOTT, 0, 0, 12, 6, 3, 9, 17, 0, 0, 0, VerdanturfTown_BattleTentLobby_EventScript_201AD0, 766, 0, 0 + object_event 6, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 2, 8, 3, 9, 17, 0, 0, 0, VerdanturfTown_BattleTentLobby_EventScript_201AF7, 0, 0, 0 + +VerdanturfTown_BattleTentLobby_MapWarps: @ 852E6D8 + warp_def 6, 9, 0, 0, VERDANTURF_TOWN + warp_def 7, 9, 0, 0, VERDANTURF_TOWN + +VerdanturfTown_BattleTentLobby_MapBGEvents: @ 852E6E8 + bg_event 4, 5, 0, 0, 0, VerdanturfTown_BattleTentLobby_EventScript_201B02 + +VerdanturfTown_BattleTentLobby_MapEvents:: @ 852E6F4 + map_events VerdanturfTown_BattleTentLobby_MapObjects, VerdanturfTown_BattleTentLobby_MapWarps, 0x0, VerdanturfTown_BattleTentLobby_MapBGEvents + diff --git a/data/maps/events/VerdanturfTown_FriendshipRatersHouse.inc b/data/maps/events/VerdanturfTown_FriendshipRatersHouse.inc new file mode 100644 index 0000000000..2441d8d41c --- /dev/null +++ b/data/maps/events/VerdanturfTown_FriendshipRatersHouse.inc @@ -0,0 +1,11 @@ +VerdanturfTown_FriendshipRatersHouse_MapObjects: @ 852E9C8 + object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 3, 4, 3, 8, 0, 0, 0, 0, VerdanturfTown_FriendshipRatersHouse_EventScript_203031, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_PIKACHU, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, VerdanturfTown_FriendshipRatersHouse_EventScript_2030DA, 0, 0, 0 + +VerdanturfTown_FriendshipRatersHouse_MapWarps: @ 852E9F8 + warp_def 3, 7, 0, 5, VERDANTURF_TOWN + warp_def 4, 7, 0, 5, VERDANTURF_TOWN + +VerdanturfTown_FriendshipRatersHouse_MapEvents:: @ 852EA08 + map_events VerdanturfTown_FriendshipRatersHouse_MapObjects, VerdanturfTown_FriendshipRatersHouse_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/VerdanturfTown_House.inc b/data/maps/events/VerdanturfTown_House.inc new file mode 100644 index 0000000000..803f9f666c --- /dev/null +++ b/data/maps/events/VerdanturfTown_House.inc @@ -0,0 +1,11 @@ +VerdanturfTown_House_MapObjects: @ 852EA1C + object_event 1, MAP_OBJ_GFX_WOMAN_7, 0, 0, 4, 5, 3, 7, 0, 0, 0, 0, VerdanturfTown_House_EventScript_20335F, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_7, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, VerdanturfTown_House_EventScript_203368, 0, 0, 0 + +VerdanturfTown_House_MapWarps: @ 852EA4C + warp_def 3, 8, 0, 6, VERDANTURF_TOWN + warp_def 4, 8, 0, 6, VERDANTURF_TOWN + +VerdanturfTown_House_MapEvents:: @ 852EA5C + map_events VerdanturfTown_House_MapObjects, VerdanturfTown_House_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/VerdanturfTown_Mart.inc b/data/maps/events/VerdanturfTown_Mart.inc new file mode 100644 index 0000000000..6d6ca6a5d7 --- /dev/null +++ b/data/maps/events/VerdanturfTown_Mart.inc @@ -0,0 +1,13 @@ +VerdanturfTown_Mart_MapObjects: @ 852E790 + object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, VerdanturfTown_Mart_EventScript_202587, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_BOY_2, 0, 0, 5, 4, 3, 10, 0, 0, 0, 0, VerdanturfTown_Mart_EventScript_2025BA, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 8, 5, 3, 9, 0, 0, 0, 0, VerdanturfTown_Mart_EventScript_2025C3, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_LASS, 0, 0, 3, 2, 3, 9, 17, 0, 0, 0, VerdanturfTown_Mart_EventScript_2025CC, 0, 0, 0 + +VerdanturfTown_Mart_MapWarps: @ 852E7F0 + warp_def 3, 7, 0, 1, VERDANTURF_TOWN + warp_def 4, 7, 0, 1, VERDANTURF_TOWN + +VerdanturfTown_Mart_MapEvents:: @ 852E800 + map_events VerdanturfTown_Mart_MapObjects, VerdanturfTown_Mart_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/VerdanturfTown_PokemonCenter_1F.inc b/data/maps/events/VerdanturfTown_PokemonCenter_1F.inc new file mode 100644 index 0000000000..9534ca9c7e --- /dev/null +++ b/data/maps/events/VerdanturfTown_PokemonCenter_1F.inc @@ -0,0 +1,14 @@ +VerdanturfTown_PokemonCenter_1F_MapObjects: @ 852E814 + object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, VerdanturfTown_PokemonCenter_1F_EventScript_20273A, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 4, 5, 3, 5, 1, 0, 0, 0, VerdanturfTown_PokemonCenter_1F_EventScript_202748, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 12, 2, 3, 7, 0, 0, 0, 0, VerdanturfTown_PokemonCenter_1F_EventScript_202751, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 10, 6, 3, 9, 1, 0, 0, 0, VerdanturfTown_PokemonCenter_1F_EventScript_2C7FE6, 0, 0, 0 + +VerdanturfTown_PokemonCenter_1F_MapWarps: @ 852E874 + warp_def 7, 8, 3, 2, VERDANTURF_TOWN + warp_def 6, 8, 3, 2, VERDANTURF_TOWN + warp_def 1, 6, 4, 0, VERDANTURF_TOWN_POKEMON_CENTER_2F + +VerdanturfTown_PokemonCenter_1F_MapEvents:: @ 852E88C + map_events VerdanturfTown_PokemonCenter_1F_MapObjects, VerdanturfTown_PokemonCenter_1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/VerdanturfTown_PokemonCenter_2F.inc b/data/maps/events/VerdanturfTown_PokemonCenter_2F.inc new file mode 100644 index 0000000000..2649066d8f --- /dev/null +++ b/data/maps/events/VerdanturfTown_PokemonCenter_2F.inc @@ -0,0 +1,14 @@ +VerdanturfTown_PokemonCenter_2F_MapObjects: @ 852E8A0 + object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, VerdanturfTown_PokemonCenter_2F_EventScript_27375B, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, VerdanturfTown_PokemonCenter_2F_EventScript_273761, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, VerdanturfTown_PokemonCenter_2F_EventScript_273767, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, VerdanturfTown_PokemonCenter_2F_EventScript_276B03, 702, 0, 0 + +VerdanturfTown_PokemonCenter_2F_MapWarps: @ 852E900 + warp_def 1, 6, 4, 2, VERDANTURF_TOWN_POKEMON_CENTER_1F + warp_def 5, 1, 3, 0, UNION_ROOM + warp_def 9, 1, 3, 0, TRADE_CENTER + +VerdanturfTown_PokemonCenter_2F_MapEvents:: @ 852E918 + map_events VerdanturfTown_PokemonCenter_2F_MapObjects, VerdanturfTown_PokemonCenter_2F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/VerdanturfTown_WandasHouse.inc b/data/maps/events/VerdanturfTown_WandasHouse.inc new file mode 100644 index 0000000000..2089da649f --- /dev/null +++ b/data/maps/events/VerdanturfTown_WandasHouse.inc @@ -0,0 +1,14 @@ +VerdanturfTown_WandasHouse_MapObjects: @ 852E92C + object_event 1, MAP_OBJ_GFX_WALLY, 0, 0, 14, 5, 3, 2, 17, 0, 0, 0, VerdanturfTown_WandasHouse_EventScript_2028BF, 806, 0, 0 + object_event 2, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 5, 4, 3, 8, 0, 0, 0, 0, VerdanturfTown_WandasHouse_EventScript_202913, 808, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_3, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, VerdanturfTown_WandasHouse_EventScript_2028E1, 809, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_2, 0, 0, 2, 4, 3, 10, 0, 0, 0, 0, VerdanturfTown_WandasHouse_EventScript_20294E, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_WOMAN_3, 0, 0, 5, 5, 3, 9, 0, 0, 0, 0, VerdanturfTown_WandasHouse_EventScript_20291C, 984, 0, 0 + +VerdanturfTown_WandasHouse_MapWarps: @ 852E9A4 + warp_def 7, 7, 0, 3, VERDANTURF_TOWN + warp_def 8, 7, 0, 3, VERDANTURF_TOWN + +VerdanturfTown_WandasHouse_MapEvents:: @ 852E9B4 + map_events VerdanturfTown_WandasHouse_MapObjects, VerdanturfTown_WandasHouse_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/VictoryRoad_1F.inc b/data/maps/events/VictoryRoad_1F.inc new file mode 100644 index 0000000000..db3554ed4a --- /dev/null +++ b/data/maps/events/VictoryRoad_1F.inc @@ -0,0 +1,28 @@ +VictoryRoad_1F_MapObjects: @ 8535E04 + object_event 1, MAP_OBJ_GFX_MAN_4, 0, 0, 33, 22, 3, 8, 0, 0, 1, 3, VictoryRoad_1F_EventScript_235E73, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_WOMAN_7, 0, 0, 6, 15, 4, 9, 0, 0, 1, 4, VictoryRoad_1F_EventScript_235EA1, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 27, 34, 3, 18, 0, 0, 1, 3, VictoryRoad_1F_EventScript_235E8A, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_WALLY, 0, 0, 12, 25, 4, 8, 17, 0, 0, 0, VictoryRoad_1F_EventScript_235E2C, 858, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 40, 26, 3, 1, 17, 0, 0, 0, VictoryRoad_1F_EventScript_291483, 1084, 0, 0 + object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 37, 39, 4, 1, 17, 0, 0, 0, VictoryRoad_1F_EventScript_291490, 1085, 0, 0 + object_event 7, MAP_OBJ_GFX_WALLY, 0, 0, 31, 9, 3, 1, 17, 0, 0, 0, VictoryRoad_1F_EventScript_235E35, 751, 0, 0 + object_event 8, MAP_OBJ_GFX_WOMAN_7, 0, 0, 29, 17, 3, 10, 17, 0, 1, 2, VictoryRoad_1F_EventScript_235ECF, 0, 0, 0 + object_event 9, MAP_OBJ_GFX_MAN_4, 0, 0, 32, 17, 3, 9, 17, 0, 1, 2, VictoryRoad_1F_EventScript_235EB8, 0, 0, 0 + +VictoryRoad_1F_MapWarps: @ 8535EDC + warp_def 15, 40, 3, 2, EVER_GRANDE_CITY + warp_def 39, 5, 3, 3, EVER_GRANDE_CITY + warp_def 21, 32, 3, 5, VICTORY_ROAD_B1F + warp_def 42, 38, 4, 2, VICTORY_ROAD_B1F + warp_def 9, 14, 4, 4, VICTORY_ROAD_B1F + +VictoryRoad_1F_MapCoordEvents: @ 8535F04 + coord_event 2, 23, 4, 0, VAR_0x40C3, 0, 0, VictoryRoad_1F_EventScript_235DAF + coord_event 3, 23, 4, 0, VAR_0x40C3, 0, 0, VictoryRoad_1F_EventScript_235DC8 + +VictoryRoad_1F_MapBGEvents: @ 8535F24 + bg_event 30, 39, 4, 7, 0, ITEM_ULTRA_BALL, 81, 0 + +VictoryRoad_1F_MapEvents:: @ 8535F30 + map_events VictoryRoad_1F_MapObjects, VictoryRoad_1F_MapWarps, VictoryRoad_1F_MapCoordEvents, VictoryRoad_1F_MapBGEvents + diff --git a/data/maps/events/VictoryRoad_B1F.inc b/data/maps/events/VictoryRoad_B1F.inc new file mode 100644 index 0000000000..6c57f0662e --- /dev/null +++ b/data/maps/events/VictoryRoad_B1F.inc @@ -0,0 +1,35 @@ +VictoryRoad_B1F_MapObjects: @ 8535F44 + object_event 1, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 20, 5, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 19, 0, 0 + object_event 2, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 21, 4, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 20, 0, 0 + object_event 3, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 4, 7, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 17, 0, 0 + object_event 4, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 9, 10, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 18, 0, 0 + object_event 5, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 20, 26, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 23, 0, 0 + object_event 6, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 21, 25, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 22, 0, 0 + object_event 7, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 35, 6, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 30, 0, 0 + object_event 8, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 19, 5, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, 25, 0, 0 + object_event 9, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 20, 4, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, 26, 0, 0 + object_event 10, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 18, 12, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, 27, 0, 0 + object_event 11, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 20, 25, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, 28, 0, 0 + object_event 12, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 21, 26, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, 29, 0, 0 + object_event 13, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 34, 4, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 31, 0, 0 + object_event 14, MAP_OBJ_GFX_MAN_4, 0, 0, 37, 12, 3, 9, 0, 0, 1, 3, VictoryRoad_B1F_EventScript_2364E5, 0, 0, 0 + object_event 15, MAP_OBJ_GFX_WOMAN_7, 0, 0, 26, 16, 3, 7, 0, 0, 1, 4, VictoryRoad_B1F_EventScript_2364FC, 0, 0, 0 + object_event 16, MAP_OBJ_GFX_WOMAN_7, 0, 0, 5, 21, 3, 9, 0, 0, 1, 2, VictoryRoad_B1F_EventScript_236513, 0, 0, 0 + object_event 17, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 34, 3, 3, 1, 17, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, 21, 0, 0 + object_event 18, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 42, 8, 4, 1, 17, 0, 0, 0, VictoryRoad_B1F_EventScript_29149D, 1086, 0, 0 + object_event 19, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 32, 3, 3, 1, 17, 0, 0, 0, VictoryRoad_B1F_EventScript_2914AA, 1087, 0, 0 + object_event 20, MAP_OBJ_GFX_MAN_4, 0, 0, 14, 16, 3, 8, 17, 0, 1, 4, VictoryRoad_B1F_EventScript_23652A, 0, 0, 0 + object_event 21, MAP_OBJ_GFX_WOMAN_7, 0, 0, 14, 20, 3, 16, 17, 0, 1, 3, VictoryRoad_B1F_EventScript_236541, 0, 0, 0 + +VictoryRoad_B1F_MapWarps: @ 853613C + warp_def 30, 25, 3, 0, VICTORY_ROAD_B2F + warp_def 17, 16, 3, 2, VICTORY_ROAD_B2F + warp_def 42, 25, 3, 3, VICTORY_ROAD_1F + warp_def 42, 2, 4, 1, VICTORY_ROAD_B2F + warp_def 8, 3, 3, 4, VICTORY_ROAD_1F + warp_def 20, 21, 3, 2, VICTORY_ROAD_1F + warp_def 5, 26, 3, 3, VICTORY_ROAD_B2F + +VictoryRoad_B1F_MapEvents:: @ 8536174 + map_events VictoryRoad_B1F_MapObjects, VictoryRoad_B1F_MapWarps, 0x0, 0x0 + diff --git a/data/maps/events/VictoryRoad_B2F.inc b/data/maps/events/VictoryRoad_B2F.inc new file mode 100644 index 0000000000..09fdb466f3 --- /dev/null +++ b/data/maps/events/VictoryRoad_B2F.inc @@ -0,0 +1,22 @@ +VictoryRoad_B2F_MapObjects: @ 8536188 + object_event 1, MAP_OBJ_GFX_MAN_4, 0, 0, 15, 6, 3, 8, 17, 0, 1, 2, VictoryRoad_B2F_EventScript_2368D5, 0, 0, 0 + object_event 2, MAP_OBJ_GFX_MAN_4, 0, 0, 43, 14, 3, 7, 17, 0, 1, 4, VictoryRoad_B2F_EventScript_2368EC, 0, 0, 0 + object_event 3, MAP_OBJ_GFX_WOMAN_7, 0, 0, 2, 17, 3, 8, 17, 0, 1, 2, VictoryRoad_B2F_EventScript_236903, 0, 0, 0 + object_event 4, MAP_OBJ_GFX_WOMAN_7, 0, 0, 35, 22, 3, 9, 17, 0, 1, 2, VictoryRoad_B2F_EventScript_23691A, 0, 0, 0 + object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 13, 8, 3, 1, 17, 0, 0, 0, VictoryRoad_B2F_EventScript_2914B7, 1088, 0, 0 + object_event 6, MAP_OBJ_GFX_WOMAN_7, 0, 0, 25, 18, 4, 8, 17, 0, 1, 2, VictoryRoad_B2F_EventScript_236948, 0, 0, 0 + object_event 7, MAP_OBJ_GFX_MAN_4, 0, 0, 25, 21, 4, 7, 17, 0, 1, 2, VictoryRoad_B2F_EventScript_236931, 0, 0, 0 + +VictoryRoad_B2F_MapWarps: @ 8536230 + warp_def 30, 25, 3, 0, VICTORY_ROAD_B1F + warp_def 43, 2, 3, 3, VICTORY_ROAD_B1F + warp_def 19, 12, 3, 1, VICTORY_ROAD_B1F + warp_def 5, 26, 3, 6, VICTORY_ROAD_B1F + +VictoryRoad_B2F_MapBGEvents: @ 8536250 + bg_event 28, 5, 3, 7, 0, ITEM_ELIXIR, 82, 0 + bg_event 37, 1, 3, 7, 0, ITEM_MAX_REPEL, 83, 0 + +VictoryRoad_B2F_MapEvents:: @ 8536268 + map_events VictoryRoad_B2F_MapObjects, VictoryRoad_B2F_MapWarps, 0x0, VictoryRoad_B2F_MapBGEvents + diff --git a/data/maps/headers.inc b/data/maps/headers.inc new file mode 100644 index 0000000000..58d2cc66cb --- /dev/null +++ b/data/maps/headers.inc @@ -0,0 +1,518 @@ + .include "data/maps/PetalburgCity/header.inc" + .include "data/maps/SlateportCity/header.inc" + .include "data/maps/MauvilleCity/header.inc" + .include "data/maps/RustboroCity/header.inc" + .include "data/maps/FortreeCity/header.inc" + .include "data/maps/LilycoveCity/header.inc" + .include "data/maps/MossdeepCity/header.inc" + .include "data/maps/SootopolisCity/header.inc" + .include "data/maps/EverGrandeCity/header.inc" + .include "data/maps/LittlerootTown/header.inc" + .include "data/maps/OldaleTown/header.inc" + .include "data/maps/DewfordTown/header.inc" + .include "data/maps/LavaridgeTown/header.inc" + .include "data/maps/FallarborTown/header.inc" + .include "data/maps/VerdanturfTown/header.inc" + .include "data/maps/PacifidlogTown/header.inc" + .include "data/maps/Route101/header.inc" + .include "data/maps/Route102/header.inc" + .include "data/maps/Route103/header.inc" + .include "data/maps/Route104/header.inc" + .include "data/maps/Route105/header.inc" + .include "data/maps/Route106/header.inc" + .include "data/maps/Route107/header.inc" + .include "data/maps/Route108/header.inc" + .include "data/maps/Route109/header.inc" + .include "data/maps/Route110/header.inc" + .include "data/maps/Route111/header.inc" + .include "data/maps/Route112/header.inc" + .include "data/maps/Route113/header.inc" + .include "data/maps/Route114/header.inc" + .include "data/maps/Route115/header.inc" + .include "data/maps/Route116/header.inc" + .include "data/maps/Route117/header.inc" + .include "data/maps/Route118/header.inc" + .include "data/maps/Route119/header.inc" + .include "data/maps/Route120/header.inc" + .include "data/maps/Route121/header.inc" + .include "data/maps/Route122/header.inc" + .include "data/maps/Route123/header.inc" + .include "data/maps/Route124/header.inc" + .include "data/maps/Route125/header.inc" + .include "data/maps/Route126/header.inc" + .include "data/maps/Route127/header.inc" + .include "data/maps/Route128/header.inc" + .include "data/maps/Route129/header.inc" + .include "data/maps/Route130/header.inc" + .include "data/maps/Route131/header.inc" + .include "data/maps/Route132/header.inc" + .include "data/maps/Route133/header.inc" + .include "data/maps/Route134/header.inc" + .include "data/maps/Underwater1/header.inc" + .include "data/maps/Underwater2/header.inc" + .include "data/maps/Underwater3/header.inc" + .include "data/maps/Underwater4/header.inc" + .include "data/maps/Underwater5/header.inc" + .include "data/maps/Underwater6/header.inc" + .include "data/maps/Underwater7/header.inc" + .include "data/maps/LittlerootTown_BrendansHouse_1F/header.inc" + .include "data/maps/LittlerootTown_BrendansHouse_2F/header.inc" + .include "data/maps/LittlerootTown_MaysHouse_1F/header.inc" + .include "data/maps/LittlerootTown_MaysHouse_2F/header.inc" + .include "data/maps/LittlerootTown_ProfessorBirchsLab/header.inc" + .include "data/maps/OldaleTown_House1/header.inc" + .include "data/maps/OldaleTown_House2/header.inc" + .include "data/maps/OldaleTown_PokemonCenter_1F/header.inc" + .include "data/maps/OldaleTown_PokemonCenter_2F/header.inc" + .include "data/maps/OldaleTown_Mart/header.inc" + .include "data/maps/DewfordTown_House1/header.inc" + .include "data/maps/DewfordTown_PokemonCenter_1F/header.inc" + .include "data/maps/DewfordTown_PokemonCenter_2F/header.inc" + .include "data/maps/DewfordTown_Gym/header.inc" + .include "data/maps/DewfordTown_Hall/header.inc" + .include "data/maps/DewfordTown_House2/header.inc" + .include "data/maps/LavaridgeTown_HerbShop/header.inc" + .include "data/maps/LavaridgeTown_Gym_1F/header.inc" + .include "data/maps/LavaridgeTown_Gym_B1F/header.inc" + .include "data/maps/LavaridgeTown_House/header.inc" + .include "data/maps/LavaridgeTown_Mart/header.inc" + .include "data/maps/LavaridgeTown_PokemonCenter_1F/header.inc" + .include "data/maps/LavaridgeTown_PokemonCenter_2F/header.inc" + .include "data/maps/FallarborTown_Mart/header.inc" + .include "data/maps/FallarborTown_BattleTentLobby/header.inc" + .include "data/maps/FallarborTown_BattleTentCorridor/header.inc" + .include "data/maps/FallarborTown_BattleTentBattleRoom/header.inc" + .include "data/maps/FallarborTown_PokemonCenter_1F/header.inc" + .include "data/maps/FallarborTown_PokemonCenter_2F/header.inc" + .include "data/maps/FallarborTown_House1/header.inc" + .include "data/maps/FallarborTown_House2/header.inc" + .include "data/maps/VerdanturfTown_BattleTentLobby/header.inc" + .include "data/maps/VerdanturfTown_BattleTentCorridor/header.inc" + .include "data/maps/VerdanturfTown_BattleTentBattleRoom/header.inc" + .include "data/maps/VerdanturfTown_Mart/header.inc" + .include "data/maps/VerdanturfTown_PokemonCenter_1F/header.inc" + .include "data/maps/VerdanturfTown_PokemonCenter_2F/header.inc" + .include "data/maps/VerdanturfTown_WandasHouse/header.inc" + .include "data/maps/VerdanturfTown_FriendshipRatersHouse/header.inc" + .include "data/maps/VerdanturfTown_House/header.inc" + .include "data/maps/PacifidlogTown_PokemonCenter_1F/header.inc" + .include "data/maps/PacifidlogTown_PokemonCenter_2F/header.inc" + .include "data/maps/PacifidlogTown_House1/header.inc" + .include "data/maps/PacifidlogTown_House2/header.inc" + .include "data/maps/PacifidlogTown_House3/header.inc" + .include "data/maps/PacifidlogTown_House4/header.inc" + .include "data/maps/PacifidlogTown_House5/header.inc" + .include "data/maps/PetalburgCity_WallysHouse/header.inc" + .include "data/maps/PetalburgCity_Gym/header.inc" + .include "data/maps/PetalburgCity_House1/header.inc" + .include "data/maps/PetalburgCity_House2/header.inc" + .include "data/maps/PetalburgCity_PokemonCenter_1F/header.inc" + .include "data/maps/PetalburgCity_PokemonCenter_2F/header.inc" + .include "data/maps/PetalburgCity_Mart/header.inc" + .include "data/maps/SlateportCity_SternsShipyard_1F/header.inc" + .include "data/maps/SlateportCity_SternsShipyard_2F/header.inc" + .include "data/maps/SlateportCity_BattleTentLobby/header.inc" + .include "data/maps/SlateportCity_BattleTentCorridor/header.inc" + .include "data/maps/SlateportCity_BattleTentBattleRoom/header.inc" + .include "data/maps/SlateportCity_House1/header.inc" + .include "data/maps/SlateportCity_PokemonFanClub/header.inc" + .include "data/maps/SlateportCity_OceanicMuseum_1F/header.inc" + .include "data/maps/SlateportCity_OceanicMuseum_2F/header.inc" + .include "data/maps/SlateportCity_Harbor/header.inc" + .include "data/maps/SlateportCity_House2/header.inc" + .include "data/maps/SlateportCity_PokemonCenter_1F/header.inc" + .include "data/maps/SlateportCity_PokemonCenter_2F/header.inc" + .include "data/maps/SlateportCity_Mart/header.inc" + .include "data/maps/MauvilleCity_Gym/header.inc" + .include "data/maps/MauvilleCity_BikeShop/header.inc" + .include "data/maps/MauvilleCity_House1/header.inc" + .include "data/maps/MauvilleCity_GameCorner/header.inc" + .include "data/maps/MauvilleCity_House2/header.inc" + .include "data/maps/MauvilleCity_PokemonCenter_1F/header.inc" + .include "data/maps/MauvilleCity_PokemonCenter_2F/header.inc" + .include "data/maps/MauvilleCity_Mart/header.inc" + .include "data/maps/RustboroCity_DevonCorp_1F/header.inc" + .include "data/maps/RustboroCity_DevonCorp_2F/header.inc" + .include "data/maps/RustboroCity_DevonCorp_3F/header.inc" + .include "data/maps/RustboroCity_Gym/header.inc" + .include "data/maps/RustboroCity_PokemonSchool/header.inc" + .include "data/maps/RustboroCity_PokemonCenter_1F/header.inc" + .include "data/maps/RustboroCity_PokemonCenter_2F/header.inc" + .include "data/maps/RustboroCity_Mart/header.inc" + .include "data/maps/RustboroCity_Flat1_1F/header.inc" + .include "data/maps/RustboroCity_Flat1_2F/header.inc" + .include "data/maps/RustboroCity_House1/header.inc" + .include "data/maps/RustboroCity_CuttersHouse/header.inc" + .include "data/maps/RustboroCity_House2/header.inc" + .include "data/maps/RustboroCity_Flat2_1F/header.inc" + .include "data/maps/RustboroCity_Flat2_2F/header.inc" + .include "data/maps/RustboroCity_Flat2_3F/header.inc" + .include "data/maps/RustboroCity_House3/header.inc" + .include "data/maps/FortreeCity_House1/header.inc" + .include "data/maps/FortreeCity_Gym/header.inc" + .include "data/maps/FortreeCity_PokemonCenter_1F/header.inc" + .include "data/maps/FortreeCity_PokemonCenter_2F/header.inc" + .include "data/maps/FortreeCity_Mart/header.inc" + .include "data/maps/FortreeCity_House2/header.inc" + .include "data/maps/FortreeCity_House3/header.inc" + .include "data/maps/FortreeCity_House4/header.inc" + .include "data/maps/FortreeCity_House5/header.inc" + .include "data/maps/FortreeCity_DecorationShop/header.inc" + .include "data/maps/LilycoveCity_CoveLilyMotel_1F/header.inc" + .include "data/maps/LilycoveCity_CoveLilyMotel_2F/header.inc" + .include "data/maps/LilycoveCity_LilycoveMuseum_1F/header.inc" + .include "data/maps/LilycoveCity_LilycoveMuseum_2F/header.inc" + .include "data/maps/LilycoveCity_ContestLobby/header.inc" + .include "data/maps/LilycoveCity_ContestHall/header.inc" + .include "data/maps/LilycoveCity_PokemonCenter_1F/header.inc" + .include "data/maps/LilycoveCity_PokemonCenter_2F/header.inc" + .include "data/maps/LilycoveCity_UnusedMart/header.inc" + .include "data/maps/LilycoveCity_PokemonTrainerFanClub/header.inc" + .include "data/maps/LilycoveCity_Harbor/header.inc" + .include "data/maps/LilycoveCity_MoveDeletersHouse/header.inc" + .include "data/maps/LilycoveCity_House1/header.inc" + .include "data/maps/LilycoveCity_House2/header.inc" + .include "data/maps/LilycoveCity_House3/header.inc" + .include "data/maps/LilycoveCity_House4/header.inc" + .include "data/maps/LilycoveCity_DepartmentStore_1F/header.inc" + .include "data/maps/LilycoveCity_DepartmentStore_2F/header.inc" + .include "data/maps/LilycoveCity_DepartmentStore_3F/header.inc" + .include "data/maps/LilycoveCity_DepartmentStore_4F/header.inc" + .include "data/maps/LilycoveCity_DepartmentStore_5F/header.inc" + .include "data/maps/LilycoveCity_DepartmentStoreRooftop/header.inc" + .include "data/maps/LilycoveCity_DepartmentStoreElevator/header.inc" + .include "data/maps/MossdeepCity_Gym/header.inc" + .include "data/maps/MossdeepCity_House1/header.inc" + .include "data/maps/MossdeepCity_House2/header.inc" + .include "data/maps/MossdeepCity_PokemonCenter_1F/header.inc" + .include "data/maps/MossdeepCity_PokemonCenter_2F/header.inc" + .include "data/maps/MossdeepCity_Mart/header.inc" + .include "data/maps/MossdeepCity_House3/header.inc" + .include "data/maps/MossdeepCity_StevensHouse/header.inc" + .include "data/maps/MossdeepCity_House4/header.inc" + .include "data/maps/MossdeepCity_SpaceCenter_1F/header.inc" + .include "data/maps/MossdeepCity_SpaceCenter_2F/header.inc" + .include "data/maps/MossdeepCity_GameCorner_1F/header.inc" + .include "data/maps/MossdeepCity_GameCorner_B1F/header.inc" + .include "data/maps/SootopolisCity_Gym_1F/header.inc" + .include "data/maps/SootopolisCity_Gym_B1F/header.inc" + .include "data/maps/SootopolisCity_PokemonCenter_1F/header.inc" + .include "data/maps/SootopolisCity_PokemonCenter_2F/header.inc" + .include "data/maps/SootopolisCity_Mart/header.inc" + .include "data/maps/SootopolisCity_House1/header.inc" + .include "data/maps/SootopolisCity_House2/header.inc" + .include "data/maps/SootopolisCity_House3/header.inc" + .include "data/maps/SootopolisCity_House4/header.inc" + .include "data/maps/SootopolisCity_House5/header.inc" + .include "data/maps/SootopolisCity_House6/header.inc" + .include "data/maps/SootopolisCity_House7/header.inc" + .include "data/maps/SootopolisCity_LotadAndSeedotHouse/header.inc" + .include "data/maps/SootopolisCity_MysteryEventsHouse_1F/header.inc" + .include "data/maps/SootopolisCity_MysteryEventsHouse_B1F/header.inc" + .include "data/maps/EverGrandeCity_SidneysRoom/header.inc" + .include "data/maps/EverGrandeCity_PhoebesRoom/header.inc" + .include "data/maps/EverGrandeCity_GlaciasRoom/header.inc" + .include "data/maps/EverGrandeCity_DrakesRoom/header.inc" + .include "data/maps/EverGrandeCity_ChampionsRoom/header.inc" + .include "data/maps/EverGrandeCity_Hall1/header.inc" + .include "data/maps/EverGrandeCity_Hall2/header.inc" + .include "data/maps/EverGrandeCity_Hall3/header.inc" + .include "data/maps/EverGrandeCity_Hall4/header.inc" + .include "data/maps/EverGrandeCity_Hall5/header.inc" + .include "data/maps/EverGrandeCity_PokemonLeague_1F/header.inc" + .include "data/maps/EverGrandeCity_HallOfFame/header.inc" + .include "data/maps/EverGrandeCity_PokemonCenter_1F/header.inc" + .include "data/maps/EverGrandeCity_PokemonCenter_2F/header.inc" + .include "data/maps/EverGrandeCity_PokemonLeague_2F/header.inc" + .include "data/maps/Route104_MrBrineysHouse/header.inc" + .include "data/maps/Route104_PrettyPetalFlowerShop/header.inc" + .include "data/maps/Route111_WinstrateFamilysHouse/header.inc" + .include "data/maps/Route111_OldLadysRestStop/header.inc" + .include "data/maps/Route112_CableCarStation/header.inc" + .include "data/maps/MtChimney_CableCarStation/header.inc" + .include "data/maps/Route114_FossilManiacsHouse/header.inc" + .include "data/maps/Route114_FossilManiacsTunnel/header.inc" + .include "data/maps/Route114_LanettesHouse/header.inc" + .include "data/maps/Route116_TunnelersRestHouse/header.inc" + .include "data/maps/Route117_PokemonDayCare/header.inc" + .include "data/maps/Route121_SafariZoneEntrance/header.inc" + .include "data/maps/MeteorFalls_1F_1R/header.inc" + .include "data/maps/MeteorFalls_1F_2R/header.inc" + .include "data/maps/MeteorFalls_B1F_1R/header.inc" + .include "data/maps/MeteorFalls_B1F_2R/header.inc" + .include "data/maps/RusturfTunnel/header.inc" + .include "data/maps/Underwater_SootopolisCity/header.inc" + .include "data/maps/DesertRuins/header.inc" + .include "data/maps/GraniteCave_1F/header.inc" + .include "data/maps/GraniteCave_B1F/header.inc" + .include "data/maps/GraniteCave_B2F/header.inc" + .include "data/maps/GraniteCave_StevensRoom/header.inc" + .include "data/maps/PetalburgWoods/header.inc" + .include "data/maps/MtChimney/header.inc" + .include "data/maps/JaggedPass/header.inc" + .include "data/maps/FieryPath/header.inc" + .include "data/maps/MtPyre_1F/header.inc" + .include "data/maps/MtPyre_2F/header.inc" + .include "data/maps/MtPyre_3F/header.inc" + .include "data/maps/MtPyre_4F/header.inc" + .include "data/maps/MtPyre_5F/header.inc" + .include "data/maps/MtPyre_6F/header.inc" + .include "data/maps/MtPyre_Exterior/header.inc" + .include "data/maps/MtPyre_Summit/header.inc" + .include "data/maps/AquaHideout_1F/header.inc" + .include "data/maps/AquaHideout_B1F/header.inc" + .include "data/maps/AquaHideout_B2F/header.inc" + .include "data/maps/Underwater_SeafloorCavern/header.inc" + .include "data/maps/SeafloorCavern_Entrance/header.inc" + .include "data/maps/SeafloorCavern_Room1/header.inc" + .include "data/maps/SeafloorCavern_Room2/header.inc" + .include "data/maps/SeafloorCavern_Room3/header.inc" + .include "data/maps/SeafloorCavern_Room4/header.inc" + .include "data/maps/SeafloorCavern_Room5/header.inc" + .include "data/maps/SeafloorCavern_Room6/header.inc" + .include "data/maps/SeafloorCavern_Room7/header.inc" + .include "data/maps/SeafloorCavern_Room8/header.inc" + .include "data/maps/SeafloorCavern_Room9/header.inc" + .include "data/maps/CaveOfOrigin_Entrance/header.inc" + .include "data/maps/CaveOfOrigin_1F/header.inc" + .include "data/maps/CaveOfOrigin_UnusedRubySapphireMap1/header.inc" + .include "data/maps/CaveOfOrigin_UnusedRubySapphireMap2/header.inc" + .include "data/maps/CaveOfOrigin_UnusedRubySapphireMap3/header.inc" + .include "data/maps/CaveOfOrigin_B1F/header.inc" + .include "data/maps/VictoryRoad_1F/header.inc" + .include "data/maps/VictoryRoad_B1F/header.inc" + .include "data/maps/VictoryRoad_B2F/header.inc" + .include "data/maps/ShoalCave_LowTideEntranceRoom/header.inc" + .include "data/maps/ShoalCave_LowTideInnerRoom/header.inc" + .include "data/maps/ShoalCave_LowTideStairsRoom/header.inc" + .include "data/maps/ShoalCave_LowTideLowerRoom/header.inc" + .include "data/maps/ShoalCave_HighTideEntranceRoom/header.inc" + .include "data/maps/ShoalCave_HighTideInnerRoom/header.inc" + .include "data/maps/NewMauville_Entrance/header.inc" + .include "data/maps/NewMauville_Inside/header.inc" + .include "data/maps/AbandonedShip_Deck/header.inc" + .include "data/maps/AbandonedShip_Corridors_1F/header.inc" + .include "data/maps/AbandonedShip_Rooms_1F/header.inc" + .include "data/maps/AbandonedShip_Corridors_B1F/header.inc" + .include "data/maps/AbandonedShip_Rooms_B1F/header.inc" + .include "data/maps/AbandonedShip_Rooms2_B1F/header.inc" + .include "data/maps/AbandonedShip_Underwater1/header.inc" + .include "data/maps/AbandonedShip_Room_B1F/header.inc" + .include "data/maps/AbandonedShip_Rooms2_1F/header.inc" + .include "data/maps/AbandonedShip_CaptainsOffice/header.inc" + .include "data/maps/AbandonedShip_Underwater2/header.inc" + .include "data/maps/AbandonedShip_HiddenFloorCorridors/header.inc" + .include "data/maps/AbandonedShip_HiddenFloorRooms/header.inc" + .include "data/maps/IslandCave/header.inc" + .include "data/maps/AncientTomb/header.inc" + .include "data/maps/Underwater_Route134/header.inc" + .include "data/maps/Underwater_SealedChamber/header.inc" + .include "data/maps/SealedChamber_OuterRoom/header.inc" + .include "data/maps/SealedChamber_InnerRoom/header.inc" + .include "data/maps/ScorchedSlab/header.inc" + .include "data/maps/AquaHideout_UnusedRubyMap1/header.inc" + .include "data/maps/AquaHideout_UnusedRubyMap2/header.inc" + .include "data/maps/AquaHideout_UnusedRubyMap3/header.inc" + .include "data/maps/SkyPillar_Entrance/header.inc" + .include "data/maps/SkyPillar_Outside/header.inc" + .include "data/maps/SkyPillar_1F/header.inc" + .include "data/maps/SkyPillar_2F/header.inc" + .include "data/maps/SkyPillar_3F/header.inc" + .include "data/maps/SkyPillar_4F/header.inc" + .include "data/maps/ShoalCave_LowTideIceRoom/header.inc" + .include "data/maps/SkyPillar_5F/header.inc" + .include "data/maps/SkyPillar_Top/header.inc" + .include "data/maps/MagmaHideout_1F/header.inc" + .include "data/maps/MagmaHideout_2F_1R/header.inc" + .include "data/maps/MagmaHideout_2F_2R/header.inc" + .include "data/maps/MagmaHideout_3F_1R/header.inc" + .include "data/maps/MagmaHideout_3F_2R/header.inc" + .include "data/maps/MagmaHideout_4F/header.inc" + .include "data/maps/MagmaHideout_3F_3R/header.inc" + .include "data/maps/MagmaHideout_2F_3R/header.inc" + .include "data/maps/MirageTower_1F/header.inc" + .include "data/maps/MirageTower_2F/header.inc" + .include "data/maps/MirageTower_3F/header.inc" + .include "data/maps/MirageTower_4F/header.inc" + .include "data/maps/DesertUnderpass/header.inc" + .include "data/maps/ArtisanCave_B1F/header.inc" + .include "data/maps/ArtisanCave_1F/header.inc" + .include "data/maps/Underwater_MarineCave/header.inc" + .include "data/maps/MarineCave_Entrance/header.inc" + .include "data/maps/MarineCave_End/header.inc" + .include "data/maps/TerraCave_Entrance/header.inc" + .include "data/maps/TerraCave_End/header.inc" + .include "data/maps/AlteringCave/header.inc" + .include "data/maps/MeteorFalls_StevensCave/header.inc" + .include "data/maps/SecretBase_RedCave1/header.inc" + .include "data/maps/SecretBase_BrownCave1/header.inc" + .include "data/maps/SecretBase_BlueCave1/header.inc" + .include "data/maps/SecretBase_YellowCave1/header.inc" + .include "data/maps/SecretBase_Tree1/header.inc" + .include "data/maps/SecretBase_Shrub1/header.inc" + .include "data/maps/SecretBase_RedCave2/header.inc" + .include "data/maps/SecretBase_BrownCave2/header.inc" + .include "data/maps/SecretBase_BlueCave2/header.inc" + .include "data/maps/SecretBase_YellowCave2/header.inc" + .include "data/maps/SecretBase_Tree2/header.inc" + .include "data/maps/SecretBase_Shrub2/header.inc" + .include "data/maps/SecretBase_RedCave3/header.inc" + .include "data/maps/SecretBase_BrownCave3/header.inc" + .include "data/maps/SecretBase_BlueCave3/header.inc" + .include "data/maps/SecretBase_YellowCave3/header.inc" + .include "data/maps/SecretBase_Tree3/header.inc" + .include "data/maps/SecretBase_Shrub3/header.inc" + .include "data/maps/SecretBase_RedCave4/header.inc" + .include "data/maps/SecretBase_BrownCave4/header.inc" + .include "data/maps/SecretBase_BlueCave4/header.inc" + .include "data/maps/SecretBase_YellowCave4/header.inc" + .include "data/maps/SecretBase_Tree4/header.inc" + .include "data/maps/SecretBase_Shrub4/header.inc" + .include "data/maps/SingleBattleColosseum/header.inc" + .include "data/maps/TradeCenter/header.inc" + .include "data/maps/RecordCorner/header.inc" + .include "data/maps/DoubleBattleColosseum/header.inc" + .include "data/maps/LinkContestRoom1/header.inc" + .include "data/maps/UnknownMap_25_29/header.inc" + .include "data/maps/UnknownMap_25_30/header.inc" + .include "data/maps/UnknownMap_25_31/header.inc" + .include "data/maps/UnknownMap_25_32/header.inc" + .include "data/maps/UnknownMap_25_33/header.inc" + .include "data/maps/UnknownMap_25_34/header.inc" + .include "data/maps/LinkContestRoom2/header.inc" + .include "data/maps/LinkContestRoom3/header.inc" + .include "data/maps/LinkContestRoom4/header.inc" + .include "data/maps/LinkContestRoom5/header.inc" + .include "data/maps/LinkContestRoom6/header.inc" + .include "data/maps/InsideOfTruck/header.inc" + .include "data/maps/SSTidalCorridor/header.inc" + .include "data/maps/SSTidalLowerDeck/header.inc" + .include "data/maps/SSTidalRooms/header.inc" + .include "data/maps/BattlePyramidSquare01/header.inc" + .include "data/maps/BattlePyramidSquare02/header.inc" + .include "data/maps/BattlePyramidSquare03/header.inc" + .include "data/maps/BattlePyramidSquare04/header.inc" + .include "data/maps/BattlePyramidSquare05/header.inc" + .include "data/maps/BattlePyramidSquare06/header.inc" + .include "data/maps/BattlePyramidSquare07/header.inc" + .include "data/maps/BattlePyramidSquare08/header.inc" + .include "data/maps/BattlePyramidSquare09/header.inc" + .include "data/maps/BattlePyramidSquare10/header.inc" + .include "data/maps/BattlePyramidSquare11/header.inc" + .include "data/maps/BattlePyramidSquare12/header.inc" + .include "data/maps/BattlePyramidSquare13/header.inc" + .include "data/maps/BattlePyramidSquare14/header.inc" + .include "data/maps/BattlePyramidSquare15/header.inc" + .include "data/maps/BattlePyramidSquare16/header.inc" + .include "data/maps/UnionRoom/header.inc" + .include "data/maps/SafariZone_Northwest/header.inc" + .include "data/maps/SafariZone_North/header.inc" + .include "data/maps/SafariZone_Southwest/header.inc" + .include "data/maps/SafariZone_South/header.inc" + .include "data/maps/BattleFrontier_OutsideWest/header.inc" + .include "data/maps/BattleFrontier_BattleTowerLobby/header.inc" + .include "data/maps/BattleFrontier_BattleTowerElevator/header.inc" + .include "data/maps/BattleFrontier_BattleTowerCorridor/header.inc" + .include "data/maps/BattleFrontier_BattleTowerBattleRoom/header.inc" + .include "data/maps/SouthernIsland_Exterior/header.inc" + .include "data/maps/SouthernIsland_Interior/header.inc" + .include "data/maps/SafariZone_RestHouse/header.inc" + .include "data/maps/SafariZone_Northeast/header.inc" + .include "data/maps/SafariZone_Southeast/header.inc" + .include "data/maps/BattleFrontier_OutsideEast/header.inc" + .include "data/maps/BattleFrontier_BattleTowerMultiBattleRoom/header.inc" + .include "data/maps/BattleFrontier_BattleTowerCorridor2/header.inc" + .include "data/maps/BattleFrontier_BattleTowerBattleRoom2/header.inc" + .include "data/maps/BattleFrontier_BattleDomeLobby/header.inc" + .include "data/maps/BattleFrontier_BattleDomeCorridor/header.inc" + .include "data/maps/BattleFrontier_BattleDomePreBattleRoom/header.inc" + .include "data/maps/BattleFrontier_BattleDomeBattleRoom/header.inc" + .include "data/maps/BattleFrontier_BattlePalaceLobby/header.inc" + .include "data/maps/BattleFrontier_BattlePalaceCorridor/header.inc" + .include "data/maps/BattleFrontier_BattlePalaceBattleRoom/header.inc" + .include "data/maps/BattleFrontier_BattlePyramidLobby/header.inc" + .include "data/maps/BattleFrontier_BattlePyramidEmptySquare/header.inc" + .include "data/maps/BattleFrontier_BattlePyramidTop/header.inc" + .include "data/maps/BattleFrontier_BattleArenaLobby/header.inc" + .include "data/maps/BattleFrontier_BattleArenaCorridor/header.inc" + .include "data/maps/BattleFrontier_BattleArenaBattleRoom/header.inc" + .include "data/maps/BattleFrontier_BattleFactoryLobby/header.inc" + .include "data/maps/BattleFrontier_BattleFactoryPreBattleRoom/header.inc" + .include "data/maps/BattleFrontier_BattleFactoryBattleRoom/header.inc" + .include "data/maps/BattleFrontier_BattlePikeLobby/header.inc" + .include "data/maps/BattleFrontier_BattlePikeCorridor/header.inc" + .include "data/maps/BattleFrontier_BattlePikeThreePathRoom/header.inc" + .include "data/maps/BattleFrontier_BattlePikeRandomRoom1/header.inc" + .include "data/maps/BattleFrontier_BattlePikeRandomRoom2/header.inc" + .include "data/maps/BattleFrontier_BattlePikeRandomRoom3/header.inc" + .include "data/maps/BattleFrontier_RankingHall/header.inc" + .include "data/maps/BattleFrontier_Lounge1/header.inc" + .include "data/maps/BattleFrontier_BattlePointExchangeServiceCorner/header.inc" + .include "data/maps/BattleFrontier_Lounge2/header.inc" + .include "data/maps/BattleFrontier_Lounge3/header.inc" + .include "data/maps/BattleFrontier_Lounge4/header.inc" + .include "data/maps/BattleFrontier_ScottsHouse/header.inc" + .include "data/maps/BattleFrontier_Lounge5/header.inc" + .include "data/maps/BattleFrontier_Lounge6/header.inc" + .include "data/maps/BattleFrontier_Lounge7/header.inc" + .include "data/maps/BattleFrontier_ReceptionGate/header.inc" + .include "data/maps/BattleFrontier_Lounge8/header.inc" + .include "data/maps/BattleFrontier_Lounge9/header.inc" + .include "data/maps/BattleFrontier_PokemonCenter_1F/header.inc" + .include "data/maps/BattleFrontier_PokemonCenter_2F/header.inc" + .include "data/maps/BattleFrontier_Mart/header.inc" + .include "data/maps/FarawayIsland_Entrance/header.inc" + .include "data/maps/FarawayIsland_Interior/header.inc" + .include "data/maps/BirthIsland_Exterior/header.inc" + .include "data/maps/BirthIsland_Harbor/header.inc" + .include "data/maps/TrainerHill_Entrance/header.inc" + .include "data/maps/TrainerHill_1F/header.inc" + .include "data/maps/TrainerHill_2F/header.inc" + .include "data/maps/TrainerHill_3F/header.inc" + .include "data/maps/TrainerHill_4F/header.inc" + .include "data/maps/TrainerHill_Roof/header.inc" + .include "data/maps/NavelRock_Exterior/header.inc" + .include "data/maps/NavelRock_Harbor/header.inc" + .include "data/maps/NavelRock_Entrance/header.inc" + .include "data/maps/NavelRock_B1F/header.inc" + .include "data/maps/NavelRock_Fork/header.inc" + .include "data/maps/NavelRock_Up1/header.inc" + .include "data/maps/NavelRock_Up2/header.inc" + .include "data/maps/NavelRock_Up3/header.inc" + .include "data/maps/NavelRock_Up4/header.inc" + .include "data/maps/NavelRock_Top/header.inc" + .include "data/maps/NavelRock_Down01/header.inc" + .include "data/maps/NavelRock_Down02/header.inc" + .include "data/maps/NavelRock_Down03/header.inc" + .include "data/maps/NavelRock_Down04/header.inc" + .include "data/maps/NavelRock_Down05/header.inc" + .include "data/maps/NavelRock_Down06/header.inc" + .include "data/maps/NavelRock_Down07/header.inc" + .include "data/maps/NavelRock_Down08/header.inc" + .include "data/maps/NavelRock_Down09/header.inc" + .include "data/maps/NavelRock_Down10/header.inc" + .include "data/maps/NavelRock_Down11/header.inc" + .include "data/maps/NavelRock_Bottom/header.inc" + .include "data/maps/TrainerHill_Elevator/header.inc" + .include "data/maps/Route104_Prototype/header.inc" + .include "data/maps/Route104_PrototypePrettyPetalFlowerShop/header.inc" + .include "data/maps/Route109_SeashoreHouse/header.inc" + .include "data/maps/Route110_TrickHouseEntrance/header.inc" + .include "data/maps/Route110_TrickHouseEnd/header.inc" + .include "data/maps/Route110_TrickHouseCorridor/header.inc" + .include "data/maps/Route110_TrickHousePuzzle1/header.inc" + .include "data/maps/Route110_TrickHousePuzzle2/header.inc" + .include "data/maps/Route110_TrickHousePuzzle3/header.inc" + .include "data/maps/Route110_TrickHousePuzzle4/header.inc" + .include "data/maps/Route110_TrickHousePuzzle5/header.inc" + .include "data/maps/Route110_TrickHousePuzzle6/header.inc" + .include "data/maps/Route110_TrickHousePuzzle7/header.inc" + .include "data/maps/Route110_TrickHousePuzzle8/header.inc" + .include "data/maps/Route110_SeasideCyclingRoadEntrance1/header.inc" + .include "data/maps/Route110_SeasideCyclingRoadEntrance2/header.inc" + .include "data/maps/Route113_GlassWorkshop/header.inc" + .include "data/maps/Route123_BerryMastersHouse/header.inc" + .include "data/maps/Route119_WeatherInstitute_1F/header.inc" + .include "data/maps/Route119_WeatherInstitute_2F/header.inc" + .include "data/maps/Route119_House/header.inc" + .include "data/maps/Route124_DivingTreasureHuntersHouse/header.inc" diff --git a/data/mauville_old_man.s b/data/mauville_old_man.s index 539cace622..c1b4dd1be8 100644 --- a/data/mauville_old_man.s +++ b/data/mauville_old_man.s @@ -5,22 +5,54 @@ .align 2, 0 gUnknown_0859EFE4:: @ 859EFE4 - .incbin "baserom.gba", 0x59efe4, 0xc + .2byte 0x2811, 0x1029, 0x1018, 0xE0D, 0x1A1A, 0x1A1D gUnknown_0859EFF0:: @ 859EFF0 - .incbin "baserom.gba", 0x59eff0, 0x20 + .4byte gText_SoPretty + .4byte gText_SoDarling + .4byte gText_SoRelaxed + .4byte gText_SoSunny + .4byte gText_SoDesirable + .4byte gText_SoExciting + .4byte gText_SoAmusing + .4byte gText_SoMagical gUnknown_0859F010:: @ 859F010 - .incbin "baserom.gba", 0x59f010, 0x20 + .4byte gUnknown_08294313 + .4byte gUnknown_08294359 + .4byte gUnknown_08294398 + .4byte gUnknown_082943DA + .4byte gUnknown_0829441C + .4byte gUnknown_08294460 + .4byte gUnknown_082944A0 + .4byte gUnknown_082944D5 gUnknown_0859F030:: @ 859F030 - .incbin "baserom.gba", 0x59f030, 0x18 + .4byte 0, 12, 13, 18, 19, 21 gUnknown_0859F048:: @ 859F048 - .incbin "baserom.gba", 0x59f048, 0x230 + .4byte 0x00000132, MauvilleCity_PokemonCenter_1F_Text_28E930, MauvilleCity_PokemonCenter_1F_Text_28E947, MauvilleCity_PokemonCenter_1F_Text_28E956, 0x00000102, MauvilleCity_PokemonCenter_1F_Text_28E9D7, MauvilleCity_PokemonCenter_1F_Text_28E9EF, MauvilleCity_PokemonCenter_1F_Text_28E9FE + .4byte 0x00000103, MauvilleCity_PokemonCenter_1F_Text_28EA7D, MauvilleCity_PokemonCenter_1F_Text_28EA98, MauvilleCity_PokemonCenter_1F_Text_28EAA8, 0x00000104, MauvilleCity_PokemonCenter_1F_Text_28EB19, MauvilleCity_PokemonCenter_1F_Text_28EB31, MauvilleCity_PokemonCenter_1F_Text_28EB3E + .4byte 0x00000106, MauvilleCity_PokemonCenter_1F_Text_28EBB5, MauvilleCity_PokemonCenter_1F_Text_28EBCD, MauvilleCity_PokemonCenter_1F_Text_28EBDD, 0x00000109, MauvilleCity_PokemonCenter_1F_Text_28EC60, MauvilleCity_PokemonCenter_1F_Text_28EC79, MauvilleCity_PokemonCenter_1F_Text_28EC81 + .4byte 0x0000010b, MauvilleCity_PokemonCenter_1F_Text_28ED04, MauvilleCity_PokemonCenter_1F_Text_28ED21, MauvilleCity_PokemonCenter_1F_Text_28ED30, 0x0000010c, MauvilleCity_PokemonCenter_1F_Text_28EDA1, MauvilleCity_PokemonCenter_1F_Text_28EDB5, MauvilleCity_PokemonCenter_1F_Text_28EDCF + .4byte 0x0000010d, MauvilleCity_PokemonCenter_1F_Text_28EE45, MauvilleCity_PokemonCenter_1F_Text_28EE5D, MauvilleCity_PokemonCenter_1F_Text_28EE6A, 0x0000010e, MauvilleCity_PokemonCenter_1F_Text_28EEDD, MauvilleCity_PokemonCenter_1F_Text_28EEF1, MauvilleCity_PokemonCenter_1F_Text_28EF01 + .4byte 0x0000010f, MauvilleCity_PokemonCenter_1F_Text_28EF73, MauvilleCity_PokemonCenter_1F_Text_28EF95, MauvilleCity_PokemonCenter_1F_Text_28EFAA, 0x00000110, MauvilleCity_PokemonCenter_1F_Text_28F045, MauvilleCity_PokemonCenter_1F_Text_28F05A, MauvilleCity_PokemonCenter_1F_Text_28F071 + .4byte 0x00000111, MauvilleCity_PokemonCenter_1F_Text_28F0F3, MauvilleCity_PokemonCenter_1F_Text_28F10D, MauvilleCity_PokemonCenter_1F_Text_28F125, 0x00000112, MauvilleCity_PokemonCenter_1F_Text_28F1BE, MauvilleCity_PokemonCenter_1F_Text_28F1D5, MauvilleCity_PokemonCenter_1F_Text_28F1DE + .4byte 0x00000113, MauvilleCity_PokemonCenter_1F_Text_28F24F, MauvilleCity_PokemonCenter_1F_Text_28F269, MauvilleCity_PokemonCenter_1F_Text_28F277, 0x00000114, MauvilleCity_PokemonCenter_1F_Text_28F2FC, MauvilleCity_PokemonCenter_1F_Text_28F314, MauvilleCity_PokemonCenter_1F_Text_28F32A + .4byte 0x0000011a, MauvilleCity_PokemonCenter_1F_Text_28F3AD, MauvilleCity_PokemonCenter_1F_Text_28F3C6, MauvilleCity_PokemonCenter_1F_Text_28F3D2, 0x0000011b, MauvilleCity_PokemonCenter_1F_Text_28F44B, MauvilleCity_PokemonCenter_1F_Text_28F461, MauvilleCity_PokemonCenter_1F_Text_28F47C + .4byte 0x0000011c, MauvilleCity_PokemonCenter_1F_Text_28F50C, MauvilleCity_PokemonCenter_1F_Text_28F51B, MauvilleCity_PokemonCenter_1F_Text_28F538, 0x0000021d, MauvilleCity_PokemonCenter_1F_Text_28F5BE, MauvilleCity_PokemonCenter_1F_Text_28F5D1, MauvilleCity_PokemonCenter_1F_Text_28F5F2 + .4byte 0x0000011e, MauvilleCity_PokemonCenter_1F_Text_28F678, MauvilleCity_PokemonCenter_1F_Text_28F694, MauvilleCity_PokemonCenter_1F_Text_28F6B4, 0x00000121, MauvilleCity_PokemonCenter_1F_Text_28F751, MauvilleCity_PokemonCenter_1F_Text_28F76A, MauvilleCity_PokemonCenter_1F_Text_28F776 + .4byte 0x00000124, MauvilleCity_PokemonCenter_1F_Text_28F7F6, MauvilleCity_PokemonCenter_1F_Text_28F811, MauvilleCity_PokemonCenter_1F_Text_28F822, 0x00000125, MauvilleCity_PokemonCenter_1F_Text_28F89C, MauvilleCity_PokemonCenter_1F_Text_28F8AF, MauvilleCity_PokemonCenter_1F_Text_28F8BC + .4byte 0x00000126, MauvilleCity_PokemonCenter_1F_Text_28F92F, MauvilleCity_PokemonCenter_1F_Text_28F941, MauvilleCity_PokemonCenter_1F_Text_28F949, 0x00000127, MauvilleCity_PokemonCenter_1F_Text_28F9D1, MauvilleCity_PokemonCenter_1F_Text_28F9EA, MauvilleCity_PokemonCenter_1F_Text_28F9FD + .4byte 0x00000128, MauvilleCity_PokemonCenter_1F_Text_28FA81, MauvilleCity_PokemonCenter_1F_Text_28FA99, MauvilleCity_PokemonCenter_1F_Text_28FAA7, 0x00000129, MauvilleCity_PokemonCenter_1F_Text_28FB1D, MauvilleCity_PokemonCenter_1F_Text_28FB35, MauvilleCity_PokemonCenter_1F_Text_28FB47 + .4byte 0x0000012a, MauvilleCity_PokemonCenter_1F_Text_28FBC4, MauvilleCity_PokemonCenter_1F_Text_28FBD9, MauvilleCity_PokemonCenter_1F_Text_28FBEA, 0x0000012b, MauvilleCity_PokemonCenter_1F_Text_28FC6B, MauvilleCity_PokemonCenter_1F_Text_28FC85, MauvilleCity_PokemonCenter_1F_Text_28FC98 + .4byte 0x0000012c, MauvilleCity_PokemonCenter_1F_Text_28FD1D, MauvilleCity_PokemonCenter_1F_Text_28FD35, MauvilleCity_PokemonCenter_1F_Text_28FD40, 0x0000012d, MauvilleCity_PokemonCenter_1F_Text_28FDA2, MauvilleCity_PokemonCenter_1F_Text_28FDBD, MauvilleCity_PokemonCenter_1F_Text_28FDCE + .4byte 0x0000012e, MauvilleCity_PokemonCenter_1F_Text_28FE57, MauvilleCity_PokemonCenter_1F_Text_28FE72, MauvilleCity_PokemonCenter_1F_Text_28FE88, 0x0000012f, MauvilleCity_PokemonCenter_1F_Text_28FF0C, MauvilleCity_PokemonCenter_1F_Text_28FF27, MauvilleCity_PokemonCenter_1F_Text_28FF44 + .4byte 0x00000130, MauvilleCity_PokemonCenter_1F_Text_28FFDD, MauvilleCity_PokemonCenter_1F_Text_28FFFA, MauvilleCity_PokemonCenter_1F_Text_29000D + gUnknown_0859F278:: @ 859F278 - .incbin "baserom.gba", 0x59f278, 0x10 + .4byte 0x00000131, MauvilleCity_PokemonCenter_1F_Text_290097, MauvilleCity_PokemonCenter_1F_Text_2900B5, MauvilleCity_PokemonCenter_1F_Text_2900CB gUnknown_0859F288:: @ 859F288 - .incbin "baserom.gba", 0x59f288, 0x8 + .4byte 0x00000024, 0x00000008 diff --git a/data/menu_helpers.s b/data/menu_helpers.s index b43af0bc4b..25ca664859 100644 --- a/data/menu_helpers.s +++ b/data/menu_helpers.s @@ -4,11 +4,34 @@ .section .rodata .align 2, 0 +gUnknown_0859F4E8:: @ 859F4E8 + .2byte 0x00 + .2byte 0x4000 + .2byte 0x00 + .2byte 0x00 + +gUnknown_0859F4F0:: @ 859F4F0 + obj_image_anim_frame 0x00, 0x00 + obj_image_anim_end + +gUnknown_0859F4F8:: @ 859F4F8 + obj_image_anim_frame 0x04, 0x00 + obj_image_anim_end + +gUnknown_0859F500:: @ 859F500 + obj_image_anim_frame 0x00, 0x40 + obj_image_anim_end + +gUnknown_0859F508:: @ 859F508 + .4byte gUnknown_0859F4F0 + .4byte gUnknown_0859F4F8 + .4byte gUnknown_0859F500 + gUnknown_0859F514:: @ 859F514 - .incbin "baserom.gba", 0x59f514, 0x8 + .4byte gBagSwapLineGfx, 0x6D0100 gUnknown_0859F51C:: @ 859F51C - .incbin "baserom.gba", 0x59f51c, 0x8 + .4byte gBagSwapLinePal, 0x6D gUnknown_0859F524:: @ 859F524 - .incbin "baserom.gba", 0x59f524, 0x10 + spr_template 0x6D, 0x6D, gUnknown_0859F4E8, gUnknown_0859F508, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy diff --git a/data/menu_indicators.s b/data/menu_indicators.s index ee97261cd3..24353b157f 100644 --- a/data/menu_indicators.s +++ b/data/menu_indicators.s @@ -4,46 +4,90 @@ .section .rodata gUnknown_086141FC:: @ 86141FC - .incbin "baserom.gba", 0x6141fc, 0x48 + .byte 0, 2, 8, 0 + .byte 1, 2, -8, -1 + .byte 18, 2, 8, 0 + .byte 19, 2, -8, -1 + +gUnknown_0861420C:: @ 861420C + .2byte 0 + .2byte 0x4000 + .2byte 0 + .2byte 0 + +gUnknown_08614214:: @ 8614214 + obj_image_anim_frame 0, 30 + obj_image_anim_end + +gUnknown_0861421C:: @ 861421C + obj_image_anim_frame 0, 0x5e + obj_image_anim_end + +gUnknown_08614224:: @ 8614224 + obj_image_anim_frame 4, 30 + obj_image_anim_end + +gUnknown_0861422C:: @ 861422C + obj_image_anim_frame 4, 0x9e + obj_image_anim_end + +gUnknown_08614234:: @ 8614234 + .4byte gUnknown_08614214 + .4byte gUnknown_0861421C + .4byte gUnknown_08614224 + .4byte gUnknown_0861422C gUnknown_08614244:: @ 8614244 - .incbin "baserom.gba", 0x614244, 0x18 + spr_template 0, 0, gUnknown_0861420C, gUnknown_08614234, NULL, gDummySpriteAffineAnimTable, sub_81AF264 gUnknown_0861425C:: @ 861425C - .incbin "baserom.gba", 0x61425c, 0x4 + .4byte 0x00000000 gUnknown_08614260:: @ 8614260 - .incbin "baserom.gba", 0x614260, 0x4 + .4byte 0x00100000 gUnknown_08614264:: @ 8614264 - .incbin "baserom.gba", 0x614264, 0x4 + .4byte 0x00200000 gUnknown_08614268:: @ 8614268 - .incbin "baserom.gba", 0x614268, 0x4 + .4byte 0x00300000 gUnknown_0861426C:: @ 861426C - .incbin "baserom.gba", 0x61426c, 0x4 + .4byte 0x00400000 gUnknown_08614270:: @ 8614270 - .incbin "baserom.gba", 0x614270, 0x4 + .4byte 0x00500000 gUnknown_08614274:: @ 8614274 - .incbin "baserom.gba", 0x614274, 0x4 + .4byte 0x00600000 gUnknown_08614278:: @ 8614278 - .incbin "baserom.gba", 0x614278, 0x18 + .4byte 0x00700000 + +gUnknown_0861427C:: @ 861427C + .2byte 0 + .2byte 0x4000 + .2byte 0 + .2byte 0 + +gUnknown_08614284:: @ 8614284 + obj_image_anim_frame 0, 30 + obj_image_anim_end + +gUnknown_0861428C:: @ 861428C + .4byte gUnknown_08614284 gUnknown_08614290:: @ 8614290 - .incbin "baserom.gba", 0x614290, 0x18 + spr_template 0, 0, gUnknown_0861427C, gUnknown_0861428C, NULL, gDummySpriteAffineAnimTable, ObjectCB_RedArrowCursor gUnknown_086142A8:: @ 86142A8 - .incbin "baserom.gba", 0x6142a8, 0x20 + .incbin "graphics/interface/red_arrow.gbapal" gUnknown_086142C8:: @ 86142C8 - .incbin "baserom.gba", 0x6142c8, 0x70 + .incbin "graphics/interface/red_arrow_other.4bpp.lz" gUnknown_08614338:: @ 8614338 - .incbin "baserom.gba", 0x614338, 0x40 + .incbin "graphics/interface/selector_outline.4bpp.lz" gUnknown_08614378:: @ 8614378 - .incbin "baserom.gba", 0x614378, 0x44 + .incbin "graphics/interface/red_arrow.4bpp.lz" diff --git a/data/mon_markings.s b/data/mon_markings.s index 795b8d8a68..7d30c0012c 100644 --- a/data/mon_markings.s +++ b/data/mon_markings.s @@ -5,25 +5,153 @@ .align 2, 0 gUnknown_0859E65C:: @ 859E65C - .incbin "baserom.gba", 0x59e65c, 0x20 + .incbin "graphics/misc/mon_markings.gbapal" gUnknown_0859E67C:: @ 859E67C - .incbin "baserom.gba", 0x59e67c, 0x800 + .incbin "graphics/misc/mon_markings.4bpp" gUnknown_0859EE7C:: @ 859EE7C - .incbin "baserom.gba", 0x59ee7c, 0x8 + .2byte 0, 0xC000, 0, 0 gUnknown_0859EE84:: @ 859EE84 - .incbin "baserom.gba", 0x59ee84, 0x58 + .2byte 0, 0, 0, 0 + +gUnknown_0859EE8C:: @ 859EE8C + .2byte 0, 5, -1, 0 + +gUnknown_0859EE94:: @ 859EE94 + .2byte 1, 5, -1, 0 + +gUnknown_0859EE9C:: @ 859EE9C + .2byte 2, 5, -1, 0 + +gUnknown_0859EEA4:: @ 859EEA4 + .2byte 3, 5, -1, 0 + +gUnknown_0859EEAC:: @ 859EEAC + .2byte 4, 5, -1, 0 + +gUnknown_0859EEB4:: @ 859EEB4 + .2byte 5, 5, -1, 0 + +gUnknown_0859EEBC:: @ 859EEBC + .2byte 6, 5, -1, 0 + +gUnknown_0859EEC4:: @ 859EEC4 + .2byte 7, 5, -1, 0 + +gUnknown_0859EECC:: @ 859EECC + .2byte 8, 5, -1, 0 + +gUnknown_0859EED4:: @ 859EED4 + .2byte 9, 5, -1, 0 gUnknown_0859EEDC:: @ 859EEDC - .incbin "baserom.gba", 0x59eedc, 0x38 + .4byte gUnknown_0859EE8C + .4byte gUnknown_0859EE94 + .4byte gUnknown_0859EE9C + .4byte gUnknown_0859EEA4 + .4byte gUnknown_0859EEAC + .4byte gUnknown_0859EEB4 + .4byte gUnknown_0859EEBC + .4byte gUnknown_0859EEC4 + .4byte gUnknown_0859EECC + .4byte gUnknown_0859EED4 +gUnknown_0859EF04:: @ 859EF04 + .2byte 0, 5, -1, 0 + +gUnknown_0859EF0C:: @ 859EF0C + .2byte 64, 5, -1, 0 + gUnknown_0859EF14:: @ 859EF14 - .incbin "baserom.gba", 0x59ef14, 0x8 + .4byte gUnknown_0859EF04 + .4byte gUnknown_0859EF0C gUnknown_0859EF1C:: @ 859EF1C - .incbin "baserom.gba", 0x59ef1c, 0x88 + .2byte 0x4000 + .2byte 0x4000 + .2byte 0 + .2byte 0 + +gUnknown_0859EF24:: @ 859EF24 + obj_image_anim_frame 0, 5 + obj_image_anim_end + +gUnknown_0859EF2C:: @ 859EF2C + obj_image_anim_frame 4, 5 + obj_image_anim_end + +gUnknown_0859EF34:: @ 859EF34 + obj_image_anim_frame 8, 5 + obj_image_anim_end + +gUnknown_0859EF3C:: @ 859EF3C + obj_image_anim_frame 12, 5 + obj_image_anim_end + +gUnknown_0859EF44:: @ 859EF44 + obj_image_anim_frame 16, 5 + obj_image_anim_end + +gUnknown_0859EF4C:: @ 859EF4C + obj_image_anim_frame 20, 5 + obj_image_anim_end + +gUnknown_0859EF54:: @ 859EF54 + obj_image_anim_frame 24, 5 + obj_image_anim_end + +gUnknown_0859EF5C:: @ 859EF5C + obj_image_anim_frame 28, 5 + obj_image_anim_end + +gUnknown_0859EF64:: @ 859EF64 + obj_image_anim_frame 32, 5 + obj_image_anim_end + +gUnknown_0859EF6C:: @ 859EF6C + obj_image_anim_frame 36, 5 + obj_image_anim_end + +gUnknown_0859EF74:: @ 859EF74 + obj_image_anim_frame 40, 5 + obj_image_anim_end + +gUnknown_0859EF7C:: @ 859EF7C + obj_image_anim_frame 44, 5 + obj_image_anim_end + +gUnknown_0859EF84:: @ 859EF84 + obj_image_anim_frame 48, 5 + obj_image_anim_end + +gUnknown_0859EF8C:: @ 859EF8C + obj_image_anim_frame 52, 5 + obj_image_anim_end + +gUnknown_0859EF94:: @ 859EF94 + obj_image_anim_frame 56, 5 + obj_image_anim_end + +gUnknown_0859EF9C:: @ 859EF9C + obj_image_anim_frame 60, 5 + obj_image_anim_end gUnknown_0859EFA4:: @ 859EFA4 - .incbin "baserom.gba", 0x59efa4, 0x40 + .4byte gUnknown_0859EF24 + .4byte gUnknown_0859EF2C + .4byte gUnknown_0859EF34 + .4byte gUnknown_0859EF3C + .4byte gUnknown_0859EF44 + .4byte gUnknown_0859EF4C + .4byte gUnknown_0859EF54 + .4byte gUnknown_0859EF5C + .4byte gUnknown_0859EF64 + .4byte gUnknown_0859EF6C + .4byte gUnknown_0859EF74 + .4byte gUnknown_0859EF7C + .4byte gUnknown_0859EF84 + .4byte gUnknown_0859EF8C + .4byte gUnknown_0859EF94 + .4byte gUnknown_0859EF9C diff --git a/data/mystery_event_menu.s b/data/mystery_event_menu.s deleted file mode 100644 index 1dbe2d5801..0000000000 --- a/data/mystery_event_menu.s +++ /dev/null @@ -1,10 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -gUnknown_085EFD64:: @ 85EFD64 - .incbin "baserom.gba", 0x5efd64, 0x4 - -gUnknown_085EFD68:: @ 85EFD68 - .incbin "baserom.gba", 0x5efd68, 0x18 diff --git a/data/mystery_event_msg.s b/data/mystery_event_msg.s index 60de34b817..68267a5e39 100644 --- a/data/mystery_event_msg.s +++ b/data/mystery_event_msg.s @@ -1,34 +1,342 @@ +#include "constants/flags.h" +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/songs.h" +#include "constants/species.h" +#include "constants/vars.h" .include "asm/macros.inc" + .include "asm/macros/event.inc" .include "constants/constants.inc" .section .rodata + + .align 2 -gUnknown_08674AE4:: @ 8674AE4 - .incbin "baserom.gba", 0x674ae4, 0x32 +MysteryEventScript_StampCard:: @ 8674CB0 + setvaddress MysteryEventScript_StampCard + setorcopyvar VAR_RESULT, 1 + specialvar VAR_0x8008, sub_813986C + setorcopyvar VAR_RESULT, 0 + specialvar VAR_0x8009, sub_813986C + subvar VAR_0x8008, 32777 + buffernumberstring 0, VAR_0x8008 + lock + faceplayer + vmessage sText_MysteryGiftStampCard + waitmessage + waitbuttonpress + release + end -gUnknown_08674B16:: @ 8674B16 - .incbin "baserom.gba", 0x674b16, 0x2c +sText_MysteryGiftStampCard: + .string "Thank you for using the STAMP CARD\nSystem.\pYou have {STR_VAR_1} more to collect to\nfill your STAMP CARD.$" -gUnknown_08674B42:: @ 8674B42 - .incbin "baserom.gba", 0x674b42, 0x28 +MysteryEventScript_SurfPichu:: @ 8674D3D + setvaddress MysteryEventScript_SurfPichu + checkflag FLAG_MYSTERY_EVENT_DONE + vgoto_if 0, SurfPichu_GiveIfPossible + gotoram -gUnknown_08674B6A:: @ 8674B6A - .incbin "baserom.gba", 0x674b6a, 0x34 +SurfPichu_GiveIfPossible: @ 8674D4C + specialvar VAR_EVENT_PICHU_SLOT, CalculatePlayerPartyCount + compare_var_to_value VAR_EVENT_PICHU_SLOT, 6 + vgoto_if 1, SurfPichu_FullParty + setflag FLAG_MYSTERY_EVENT_DONE + vcall SurfPichu_GiveEgg + lock + faceplayer + vmessage sText_MysteryGiftEgg + waitmessage + waitbuttonpress + playfanfare MUS_FANFA4 + waitfanfare + release + end -gUnknown_08674B9E:: @ 8674B9E - .incbin "baserom.gba", 0x674b9e, 0x36 +SurfPichu_FullParty: @ 8674D73 + lock + faceplayer + vmessage sText_FullParty + waitmessage + waitbuttonpress + release + end -gUnknown_08674BD4:: @ 8674BD4 - .incbin "baserom.gba", 0x674bd4, 0x1c +SurfPichu_GiveEgg: @ 8674D7E + giveegg SPECIES_PICHU + setmonobedient VAR_EVENT_PICHU_SLOT + setmonmetlocation VAR_EVENT_PICHU_SLOT, 255 + compare_var_to_value VAR_EVENT_PICHU_SLOT, 1 + vgoto_if 1, SurfPichu_Slot1 + compare_var_to_value VAR_EVENT_PICHU_SLOT, 2 + vgoto_if 1, SurfPichu_Slot2 + compare_var_to_value VAR_EVENT_PICHU_SLOT, 3 + vgoto_if 1, SurfPichu_Slot3 + compare_var_to_value VAR_EVENT_PICHU_SLOT, 4 + vgoto_if 1, SurfPichu_Slot4 + compare_var_to_value VAR_EVENT_PICHU_SLOT, 5 + vgoto_if 1, SurfPichu_Slot5 + return -gUnknown_08674BF0:: @ 8674BF0 - .incbin "baserom.gba", 0x674bf0, 0x12 +SurfPichu_Slot1: @ 8674DC0 + setmonmove 1, 2, MOVE_SURF + return -gUnknown_08674C02:: @ 8674C02 - .incbin "baserom.gba", 0x674c02, 0x2f +SurfPichu_Slot2:: @ 8674DC6 + setmonmove 2, 2, MOVE_SURF + return -gUnknown_08674C31:: @ 8674C31 - .incbin "baserom.gba", 0x674c31, 0x55 +SurfPichu_Slot3: @ 8674DCC + setmonmove 3, 2, MOVE_SURF + return -gUnknown_08674C86:: @ 8674C86 - .incbin "baserom.gba", 0x674c86, 0xd5a +SurfPichu_Slot4: @ 8674DD2 + setmonmove 4, 2, MOVE_SURF + return + +SurfPichu_Slot5: @ 8674DD8 + setmonmove 5, 2, MOVE_SURF + return + +sText_MysteryGiftEgg: + .string "Thank you for using the MYSTERY\nGIFT System.\pFrom the POKéMON CENTER we\nhave a gift--a POKéMON EGG!\pPlease raise it with love and\nkindness.$" + +sText_FullParty: + .string "Oh, your party appears to be full.\pPlease come see me after storing\na POKéMON on a PC.$" + +MysteryEventScript_VisitingTrainer:: @ 8674EC1 + setvaddress MysteryEventScript_VisitingTrainer + special ValidateEReaderTrainer + compare_var_to_value VAR_RESULT, 0 + vgoto_if 1, MysteryEventScript_VisitingTrainerArrived + lock + faceplayer + vmessage sText_MysteryGiftVisitingTrainer + waitmessage + waitbuttonpress + release + end + +MysteryEventScript_VisitingTrainerArrived: @ 8674EDF + lock + faceplayer + vmessage sText_MysteryGiftVisitingTrainer_2 + waitmessage + waitbuttonpress + release + end + +sText_MysteryGiftVisitingTrainer: + .string "Thank you for using the MYSTERY\nGIFT System.\pBy holding this WONDER CARD, you\nmay take part in a survey at a\lPOKéMON MART.\pUse these surveys to invite\nTRAINERS to SOOTOPOLIS CITY.\p…Let me give you a secret\npassword for a survey:\p“GIVE ME\nAWESOME TRAINER”\pWrite that in on a survey and send\nit to the WIRELESS\lCOMMUNICATION SYSTEM.$" + +sText_MysteryGiftVisitingTrainer_2: + .string "Thank you for using the MYSTERY\nGIFT System.\pA TRAINER has arrived in\nSOOTOPOLIS CITY looking for you.\pWe hope you will enjoy\nbattling the visiting TRAINER.\pYou may invite other TRAINERS by\nentering other passwords.\pTry looking for other passwords\nthat may work.$" + +MysteryEventScript_BattleCard:: @ 867513C + setvaddress MysteryEventScript_BattleCard + checkflag FLAG_MYSTERY_EVENT_DONE + vgoto_if 1, MysteryEventScript_BattleCardInfo + setorcopyvar VAR_RESULT, 2 + specialvar VAR_0x8008, sub_813986C + compare_var_to_value VAR_0x8008, 3 + vgoto_if 0, MysteryEventScript_BattleCardInfo + lock + faceplayer + vmessage sText_MysteryGiftBattleCountCard_2 + waitmessage + waitbuttonpress + giveitem_std ITEM_POTION + release + setflag FLAG_MYSTERY_EVENT_DONE + end + +MysteryEventScript_BattleCardInfo: @ 8675179 + lock + faceplayer + vmessage sText_MysteryGiftBattleCountCard + waitmessage + waitbuttonpress + release + end + +sText_MysteryGiftBattleCountCard: + .string "Thank you for using the MYSTERY\nGIFT System.\pYour BATTLE COUNT CARD keeps\ntrack of your battle record against\lTRAINERS with the same CARD.\pLook for and battle TRAINERS who\nhave the same CARD as you.\pYou may check the overall rankings\nby reading the NEWS.\pPlease do give it a try!$" + +sText_MysteryGiftBattleCountCard_2: + .string "Thank you for using the MYSTERY\nGIFT System.\pCongratulations!\pYou have won a prize for winning\nthree battles!\pWe hope you will be inspired to\nbattle some more.$" + +MysteryEventScript_AuroraTicket:: @ 867533C + setvaddress MysteryEventScript_AuroraTicket + lock + faceplayer + checkflag FLAG_0x13A + vgoto_if 1, AuroraTicket_Obtained + checkflag FLAG_0x1AD + vgoto_if 1, AuroraTicket_Obtained + checkitem ITEM_AURORA_TICKET, 1 + compare_var_to_value VAR_RESULT, 1 + vgoto_if 1, AuroraTicket_Obtained + vmessage sText_AuroraTicket1 + waitmessage + waitbuttonpress + checkitemspace ITEM_AURORA_TICKET, 1 + compare_var_to_value VAR_RESULT, 0 + vgoto_if 1, AuroraTicket_NoBagSpace + giveitem_std ITEM_AURORA_TICKET + setflag FLAG_0x8D5 + setflag FLAG_0x13A + vmessage sText_AuroraTicket2 + waitmessage + waitbuttonpress + release + end + +AuroraTicket_NoBagSpace: @ 8675397 + vmessage sText_AuroraTicketNoPlace + waitmessage + waitbuttonpress + release + end + +AuroraTicket_Obtained: @ 86753A0 + vmessage sText_AuroraTicketGot + waitmessage + waitbuttonpress + release + end + +sText_AuroraTicket1: + .string "Thank you for using the MYSTERY\nGIFT System.\pYou must be {PLAYER}.\nThere is a ticket here for you.$" + +sText_AuroraTicket2: + .string "It appears to be for use at the\nLILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$" + +sText_AuroraTicketGot: + .string "Thank you for using the MYSTERY\nGIFT System.$" + +sText_AuroraTicketNoPlace: + .string "Oh, I’m sorry, {PLAYER}.\nYour BAG’s KEY ITEMS POCKET is full.\pPlease store something on your PC,\nthen come back for this.$" + +MysteryEventScript_MysticTicket:: @ 867550B + setvaddress MysteryEventScript_MysticTicket + lock + faceplayer + checkflag FLAG_0x13B + vgoto_if 1, MysticTicket_Obtained + checkflag FLAG_0x091 + vgoto_if 1, MysticTicket_Obtained + checkflag FLAG_0x092 + vgoto_if 1, MysticTicket_Obtained + checkitem ITEM_MYSTIC_TICKET, 1 + compare_var_to_value VAR_RESULT, 1 + vgoto_if 1, MysticTicket_Obtained + vmessage sText_MysticTicket2 + waitmessage + waitbuttonpress + checkitemspace ITEM_MYSTIC_TICKET, 1 + compare_var_to_value VAR_RESULT, 0 + vgoto_if 1, MysticTicket_NoBagSpace + giveitem_std ITEM_MYSTIC_TICKET + setflag FLAG_0x8E0 + setflag FLAG_0x13B + vmessage sText_MysticTicket1 + waitmessage + waitbuttonpress + release + end + +MysticTicket_NoBagSpace: @ 867556F + vmessage sText_MysticTicketNoPlace + waitmessage + waitbuttonpress + release + end + +MysticTicket_Obtained: @ 8675578 + vmessage sText_MysticTicketGot + waitmessage + waitbuttonpress + release + end + +sText_MysticTicket2: + .string "Thank you for using the MYSTERY\nGIFT System.\pYou must be {PLAYER}.\nThere is a ticket here for you.$" + +sText_MysticTicket1: + .string "It appears to be for use at the\nLILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$" + +sText_MysticTicketGot: + .string "Thank you for using the MYSTERY\nGIFT System.$" + +sText_MysticTicketNoPlace: + .string "Oh, I’m sorry, {PLAYER}.\nYour BAG’s KEY ITEMS POCKET is full.\pPlease store something on your PC,\nthen come back for this.$" + +MysteryEventScript_AlteringCave:: @ 86756E3 + setvaddress MysteryEventScript_AlteringCave + addvar VAR_ALTERING_CAVE_WILD_SET, 1 + compare_var_to_value VAR_ALTERING_CAVE_WILD_SET, 10 + vgoto_if 0, MysteryEventScript_AlteringCave_ + setvar VAR_ALTERING_CAVE_WILD_SET, 0 +MysteryEventScript_AlteringCave_: @ 86756FD + lock + faceplayer + vmessage sText_MysteryGiftAlteringCave + waitmessage + waitbuttonpress + release + end + +sText_MysteryGiftAlteringCave:: + .string "Thank you for using the MYSTERY\nGIFT System.\pThere appears to be a rumor about\nrare POKéMON sightings.\pThe sightings reportedly came from\nthe ALTERING CAVE on ROUTE 103.\pPerhaps it would be worthwhile for\nyou to investigate this rumor.$" + +MysteryEventScript_OldSeaMap:: @ 86757F4 + setvaddress MysteryEventScript_OldSeaMap + lock + faceplayer + checkflag FLAG_0x13C + vgoto_if 1, OldSeaMap_Obtained + checkflag FLAG_0x1CA + vgoto_if 1, OldSeaMap_Obtained + checkitem ITEM_OLD_SEA_MAP, 1 + compare_var_to_value VAR_RESULT, 1 + vgoto_if 1, OldSeaMap_Obtained + vmessage sText_MysteryGiftOldSeaMap + waitmessage + waitbuttonpress + checkitemspace ITEM_OLD_SEA_MAP, 1 + compare_var_to_value VAR_RESULT, 0 + vgoto_if 1, OldSeaMap_NoBagSpace + giveitem_std ITEM_OLD_SEA_MAP + setflag FLAG_0x8D6 + setflag FLAG_0x13C + vmessage sText_MysteryGiftOldSeaMap_1 + waitmessage + waitbuttonpress + release + end + +OldSeaMap_NoBagSpace: @ 867584F + vmessage sText_MysteryGiftOldSeaMap_3 + waitmessage + waitbuttonpress + release + end + +OldSeaMap_Obtained: @ 8675858 + vmessage sText_MysteryGiftOldSeaMap_2 + waitmessage + waitbuttonpress + release + end + +sText_MysteryGiftOldSeaMap: + .string "Thank you for using the MYSTERY\nGIFT System.\pLet me confirm--you are {PLAYER}?\pWe received this OLD SEA MAP\naddressed to you.$" + +sText_MysteryGiftOldSeaMap_1: + .string "It appears to be for use at the\nLILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$" + +sText_MysteryGiftOldSeaMap_2: + .string "Thank you for using the MYSTERY\nGIFT System.$" + +sText_MysteryGiftOldSeaMap_3: + .string "Oh, I’m sorry, {PLAYER}.\nYour BAG’s KEY ITEMS POCKET is full.\pPlease store something on your PC,\nthen come back for this.$" diff --git a/data/mystery_event_script_cmd_table.s b/data/mystery_event_script_cmd_table.s new file mode 100644 index 0000000000..867b05e07c --- /dev/null +++ b/data/mystery_event_script_cmd_table.s @@ -0,0 +1,22 @@ + .section script_data, "aw", %progbits + + .align 2 +gMysteryEventScriptCmdTable:: @ 82DED2C + .4byte MEScrCmd_nop + .4byte MEScrCmd_checkcompat + .4byte MEScrCmd_end + .4byte MEScrCmd_setmsg + .4byte MEScrCmd_setstatus + .4byte MEScrCmd_runscript + .4byte MEScrCmd_initramscript + .4byte MEScrCmd_setenigmaberry + .4byte MEScrCmd_giveribbon + .4byte MEScrCmd_givenationaldex + .4byte MEScrCmd_addrareword + .4byte MEScrCmd_setrecordmixinggift + .4byte MEScrCmd_givepokemon + .4byte MEScrCmd_addtrainer + .4byte MEScrCmd_enableresetrtc + .4byte MEScrCmd_checksum + .4byte MEScrCmd_crc +gMysteryEventScriptCmdTableEnd:: diff --git a/data/naming_screen.s b/data/naming_screen.s deleted file mode 100644 index 80cbd0b097..0000000000 --- a/data/naming_screen.s +++ /dev/null @@ -1,151 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -gUnknown_0858BD78:: @ 858BD78 - .incbin "baserom.gba", 0x58bd78, 0x40 - -gUnknown_0858BDB8:: @ 858BDB8 - .incbin "baserom.gba", 0x58bdb8, 0x10 - -gUnknown_0858BDC8:: @ 858BDC8 - .incbin "baserom.gba", 0x58bdc8, 0x38 - -gUnknown_0858BE00:: @ 858BE00 - .incbin "baserom.gba", 0x58be00, 0x10 - -gUnknown_0858BE10:: @ 858BE10 - .incbin "baserom.gba", 0x58be10, 0x30 - -gUnknown_0858BE40:: @ 858BE40 - .incbin "baserom.gba", 0x58be40, 0x60 - -gUnknown_0858BEA0:: @ 858BEA0 - .incbin "baserom.gba", 0x58bea0, 0x3 - -gUnknown_0858BEA3:: @ 858BEA3 - .incbin "baserom.gba", 0x58bea3, 0x18 - -gUnknown_0858BEBB:: @ 858BEBB - .incbin "baserom.gba", 0x58bebb, 0x3 - -gUnknown_0858BEBE:: @ 858BEBE - .incbin "baserom.gba", 0x58bebe, 0x3 - -gUnknown_0858BEC1:: @ 858BEC1 - .incbin "baserom.gba", 0x58bec1, 0x3 - -gUnknown_0858BEC4:: @ 858BEC4 - .incbin "baserom.gba", 0x58bec4, 0x10 - -gUnknown_0858BED4:: @ 858BED4 - .incbin "baserom.gba", 0x58bed4, 0x8 - -gUnknown_0858BEDC:: @ 858BEDC - .incbin "baserom.gba", 0x58bedc, 0x8 - -gUnknown_0858BEE4:: @ 858BEE4 - .incbin "baserom.gba", 0x58bee4, 0x4 - -gUnknown_0858BEE8:: @ 858BEE8 - .incbin "baserom.gba", 0x58bee8, 0x10 - -gUnknown_0858BEF8:: @ 858BEF8 - .incbin "baserom.gba", 0x58bef8, 0x6 - -gUnknown_0858BEFE:: @ 858BEFE - .incbin "baserom.gba", 0x58befe, 0x6 - -gUnknown_0858BF04:: @ 858BF04 - .incbin "baserom.gba", 0x58bf04, 0x14 - -gUnknown_0858BF18:: @ 858BF18 - .incbin "baserom.gba", 0x58bf18, 0x10 - -gUnknown_0858BF28:: @ 858BF28 - .incbin "baserom.gba", 0x58bf28, 0xc - -gUnknown_0858BF34:: @ 858BF34 - .incbin "baserom.gba", 0x58bf34, 0xa - -gUnknown_0858BF3E:: @ 858BF3E - .incbin "baserom.gba", 0x58bf3e, 0xa - -gUnknown_0858BF48:: @ 858BF48 - .incbin "baserom.gba", 0x58bf48, 0x8 - -gUnknown_0858BF50:: @ 858BF50 - .incbin "baserom.gba", 0x58bf50, 0x8 - -gUnknown_0858BF58:: @ 858BF58 - .incbin "baserom.gba", 0x58bf58, 0x14 - -gUnknown_0858BF6C:: @ 858BF6C - .incbin "baserom.gba", 0x58bf6c, 0x8 - -gUnknown_0858BF74:: @ 858BF74 - .incbin "baserom.gba", 0x58bf74, 0x14 - -gUnknown_0858BF88:: @ 858BF88 - .incbin "baserom.gba", 0x58bf88, 0x4 - -gUnknown_0858BF8C:: @ 858BF8C - .incbin "baserom.gba", 0x58bf8c, 0xc - -gUnknown_0858BF98:: @ 858BF98 - .incbin "baserom.gba", 0x58bf98, 0xc - -gUnknown_0858BFA4:: @ 858BFA4 - .incbin "baserom.gba", 0x58bfa4, 0x34 - -gUnknown_0858BFD8:: @ 858BFD8 - .incbin "baserom.gba", 0x58bfd8, 0x78 - -gUnknown_0858C050:: @ 858C050 - .incbin "baserom.gba", 0x58c050, 0x8 - -gUnknown_0858C058:: @ 858C058 - .incbin "baserom.gba", 0x58c058, 0x18 - -gUnknown_0858C070:: @ 858C070 - .incbin "baserom.gba", 0x58c070, 0x8 - -gUnknown_0858C078:: @ 858C078 - .incbin "baserom.gba", 0x58c078, 0x48 - -gUnknown_0858C0C0:: @ 858C0C0 - .incbin "baserom.gba", 0x58c0c0, 0x18 - -gUnknown_0858C0D8:: @ 858C0D8 - .incbin "baserom.gba", 0x58c0d8, 0x18 - -gUnknown_0858C0F0:: @ 858C0F0 - .incbin "baserom.gba", 0x58c0f0, 0x18 - -gUnknown_0858C108:: @ 858C108 - .incbin "baserom.gba", 0x58c108, 0x18 - -gUnknown_0858C120:: @ 858C120 - .incbin "baserom.gba", 0x58c120, 0x18 - -gUnknown_0858C138:: @ 858C138 - .incbin "baserom.gba", 0x58c138, 0x18 - -gUnknown_0858C150:: @ 858C150 - .incbin "baserom.gba", 0x58c150, 0x18 - -gUnknown_0858C168:: @ 858C168 - .incbin "baserom.gba", 0x58c168, 0x18 - -gUnknown_0858C180:: @ 858C180 - .incbin "baserom.gba", 0x58c180, 0x18 - -gUnknown_0858C198:: @ 858C198 - .incbin "baserom.gba", 0x58c198, 0x30 - -gUnknown_0858C1C8:: @ 858C1C8 - .incbin "baserom.gba", 0x58c1c8, 0x68 - -gUnknown_0858C230:: @ 858C230 - .incbin "baserom.gba", 0x58c230, 0x48 diff --git a/data/nature_stat_table.inc b/data/nature_stat_table.inc deleted file mode 100644 index efba22f06a..0000000000 --- a/data/nature_stat_table.inc +++ /dev/null @@ -1,27 +0,0 @@ -gNatureStatTable:: @ 831E818 -@ Atk Def Spd Sp.Atk Sp.Def - .byte 0, 0, 0, 0, 0 @ Hardy - .byte 1, -1, 0, 0, 0 @ Lonely - .byte 1, 0, -1, 0, 0 @ Brave - .byte 1, 0, 0, -1, 0 @ Adamant - .byte 1, 0, 0, 0, -1 @ Naughty - .byte -1, 1, 0, 0, 0 @ Bold - .byte 0, 0, 0, 0, 0 @ Docile - .byte 0, 1, -1, 0, 0 @ Relaxed - .byte 0, 1, 0, -1, 0 @ Impish - .byte 0, 1, 0, 0, -1 @ Lax - .byte -1, 0, 1, 0, 0 @ Timid - .byte 0, -1, 1, 0, 0 @ Hasty - .byte 0, 0, 0, 0, 0 @ Serious - .byte 0, 0, 1, -1, 0 @ Jolly - .byte 0, 0, 1, 0, -1 @ Naive - .byte -1, 0, 0, 1, 0 @ Modest - .byte 0, -1, 0, 1, 0 @ Mild - .byte 0, 0, -1, 1, 0 @ Quiet - .byte 0, 0, 0, 0, 0 @ Bashful - .byte 0, 0, 0, 1, -1 @ Rash - .byte -1, 0, 0, 0, 1 @ Calm - .byte 0, -1, 0, 0, 1 @ Gentle - .byte 0, 0, -1, 0, 1 @ Sassy - .byte 0, 0, 0, -1, 1 @ Careful - .byte 0, 0, 0, 0, 0 @ Quirky diff --git a/data/new_menu_helpers.s b/data/new_menu_helpers.s deleted file mode 100644 index 8d4e43b15e..0000000000 --- a/data/new_menu_helpers.s +++ /dev/null @@ -1,27 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -gUnknown_0860F074:: @ 860F074 - .incbin "baserom.gba", 0x60f074, 0x20 - -gUnknown_0860F094:: @ 860F094 - .incbin "baserom.gba", 0x60f094, 0x4 - -gUnknown_0860F098:: @ 860F098 - .incbin "baserom.gba", 0x60f098, 0x10 - -gUnknown_0860F0A8:: @ 860F0A8 - .incbin "baserom.gba", 0x60f0a8, 0x8 - - @ These are not referenced in src/new_menu_helpers.c; rather, they are in src/menu.c. Regardless, they were plopped here. - -gUnknown_0860F0B0:: @ 860F0B0 - .incbin "baserom.gba", 0x60f0b0, 0x20 - -gUnknown_0860F0D0:: @ 860F0D0 - .incbin "baserom.gba", 0x60f0d0, 0x4 - -gUnknown_0860F0D4:: @ 860F0D4 - .incbin "baserom.gba", 0x60f0d4, 0x68 diff --git a/data/option_menu.s b/data/option_menu.s deleted file mode 100644 index 05db7fddf6..0000000000 --- a/data/option_menu.s +++ /dev/null @@ -1,20 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_0855C604:: @ 855C604 - .incbin "baserom.gba", 0x55c604, 0x60 - -gUnknown_0855C664:: @ 855C664 - .incbin "baserom.gba", 0x55c664, 0x1c - -gUnknown_0855C680:: @ 855C680 - .incbin "baserom.gba", 0x55c680, 0x18 - -gUnknown_0855C698:: @ 855C698 - .incbin "baserom.gba", 0x55c698, 0x8 - -gUnknown_0855C6A0:: @ 855C6A0 - .incbin "baserom.gba", 0x55c6a0, 0x4 diff --git a/data/overworld.s b/data/overworld.s new file mode 100644 index 0000000000..186af6f441 --- /dev/null +++ b/data/overworld.s @@ -0,0 +1,52 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2, 0 +gUnknown_08339D3C:: @ 8339D3C + .4byte 0xFFFFFF, 0xFFFFFFFF, 0x4B0, 0xE10, 0x4B0, 0x960, 0x32, 0x50, 0xFFFFFFD4, 0x2C + +gUnknown_08339D64:: @ 8339D64 + .4byte 0, 0 + .4byte 0, 1 + .4byte 0, -1 + .4byte -1, 0 + .4byte 1, 0 + .4byte -1, 1 + .4byte 1, 1 + .4byte -1, -1 + .4byte 1, -1 + +gUnknown_08339DAC:: @ 8339DAC + .4byte 0x1F8 + .4byte 0x11D1 + .4byte 0x21C2 + .4byte 0x31E3 + +gUnknown_08339DBC:: @ 8339DBC + .4byte REG_WIN0H + .4byte 0xa2600001 + .byte 1, 0 + + .align 2 +gUnknown_08339DC8:: @ 8339DC8 + .4byte sub_80879D8 + .4byte sub_80879F8 + .4byte sub_80879FC + +gUnknown_08339DD4:: @ 8339DD4 + .4byte sub_8087A1C + .4byte sub_8087A20 + .4byte sub_8087A20 + .4byte sub_8087A20 + .4byte sub_8087A20 + .4byte sub_8087A1C + .4byte sub_8087A1C + .4byte sub_8087A88 + .4byte sub_8087A88 + .4byte sub_8087A88 + .4byte sub_8087A88 + +gUnknown_08339E00:: @ 8339E00 + .4byte sub_8087AA0 + .4byte sub_8087AA8 diff --git a/data/party_menu.s b/data/party_menu.s index 36ee4f9605..1319ce5d80 100644 --- a/data/party_menu.s +++ b/data/party_menu.s @@ -3,227 +3,647 @@ .section .rodata + .align 1 gUnknown_0861500C:: @ 861500C - .incbin "baserom.gba", 0x61500c, 0x3c + .2byte 0x0005, 0x000e, 0x0019, 0x0022, 0x0026, 0x0044, 0x0045, 0x0066, 0x0076, 0x0087, 0x008a, 0x0056, 0x0099, 0x009d, 0x00a4, 0x00df + .2byte 0x00cd, 0x00f4, 0x00ad, 0x00c4, 0x00cb, 0x00bd, 0x0008, 0x00cf, 0x00d6, 0x0081, 0x006f, 0x0009, 0x0007, 0x00d2 + .align 2 gUnknown_08615048:: @ 8615048 - .incbin "baserom.gba", 0x615048, 0x670 + .4byte 0x00000000, 0x25b4409a, 0x25b4409a, 0x25b4409a, 0x37b4e0ff, 0x37b4e0ff, 0x37b4e0ff, 0x05fdc0fd + .4byte 0x05fdc0fd, 0x05fdc0fd, 0x00000000, 0x00000000, 0x03944490, 0x00000000, 0x00000000, 0x23944092 + .4byte 0x03b44090, 0x03b44090, 0x03b44090, 0x07bc48b8, 0x07bc48b8, 0x03b44090, 0x03b44090, 0x01946098 + .4byte 0x01946098, 0x0fb5c8fd, 0x0fb5c8fd, 0x27b5e0fa, 0x27b5e0fa, 0x05b440b8, 0x05b440b8, 0x3dfce0fd + .4byte 0x05b440b8, 0x05b440b8, 0x3dfce0fd, 0x1df7cffd, 0x1df7cffd, 0x03944098, 0x03944098, 0x1df7ccfd + .4byte 0x1df7ccfd, 0x03944090, 0x03944090, 0x01944092, 0x01944092, 0x0194409a, 0x219440ba, 0x219440ba + .4byte 0x03944090, 0x03944090, 0x01b46098, 0x01b46098, 0x07be4498, 0x07be4498, 0x03fec0fd, 0x23fec0fd + .4byte 0x1ff6e1fd, 0x1ff6e1fd, 0x03944098, 0x03944098, 0x059c4098, 0x05fc41fd, 0x05fcc1fd, 0x19d6cdfd + .4byte 0x19d6cdfd, 0x19d6cdfd, 0x19f4e1fd, 0x19f4e1fd, 0x19f4e1fd, 0x01944092, 0x01944092, 0x0194409a + .4byte 0x019c4092, 0x019c4092, 0x15b5f1f9, 0x15b5f1f9, 0x35b5f1fd, 0x03944098, 0x03944098, 0x03be4c98 + .4byte 0x23feccfd, 0x03954890, 0x03954890, 0x03b6409a, 0x03b44098, 0x03b44098, 0x019c4098, 0x019c4098 + .4byte 0x19f4d088, 0x19f4d088, 0x039c5090, 0x039c5090, 0x01965480, 0x01965480, 0x19d6d5fd, 0x01b67098 + .4byte 0x19d6cdfd, 0x19d6cdfd, 0x21bc409a, 0x21bc409a, 0x03955880, 0x03955880, 0x01975490, 0x01975490 + .4byte 0x19bce0ff, 0x19bce0ff, 0x03b4e1fd, 0x1bf4e1fd, 0x1dffe4ff, 0x01955080, 0x01955080, 0x01bd60ba + .4byte 0x39bde0ff, 0x05bfcffd, 0x0196409a, 0x39fce0fd, 0x039c4090, 0x039c4090, 0x039c4090, 0x039c4090 + .4byte 0x039e4890, 0x039e4c90, 0x19f64dfd, 0x239440b2, 0x01fec5fd, 0x1bf4c8fd, 0x19b4c0fd, 0x219460da + .4byte 0x019c4098, 0x00000000, 0x019c4898, 0x019c4498, 0x00000000, 0x03b44098, 0x03bc4098, 0x03b44898 + .4byte 0x03b44098, 0x039e4c90, 0x019d6098, 0x019d60d8, 0x019d6098, 0x219d60de, 0x03946090, 0x1dffe1fd + .4byte 0x03bc4090, 0x03b44890, 0x03b44090, 0x039c4898, 0x039c4898, 0x3bfcc898, 0x1bfecdfd, 0x3fffffff + .4byte 0x01b440ba, 0x21b440ba, 0x21b440ba, 0x07b54098, 0x27b54098, 0x3fb5e0fd, 0x01fce0ff, 0x21fce0ff + .4byte 0x21fce0ff, 0x3ff5c098, 0x3ff5c098, 0x03b44490, 0x03b44490, 0x0bd5c093, 0x0bd5c093, 0x01944098 + .4byte 0x01944098, 0x03944090, 0x01944890, 0x01944890, 0x07b548fd, 0x05bf4ffd, 0x05bf4cfd, 0x07b74ffd + .4byte 0x07b74ffd, 0x03964c90, 0x03964c90, 0x07944898, 0x1f94c8fd, 0x1f94c8fd, 0x01944092, 0x07fdc0dd + .4byte 0x07fdc0dd, 0x1df7f0fd, 0x05bcc1fd, 0x05944092, 0x05944092, 0x05944092, 0x3ff4cdfd, 0x01944092 + .4byte 0x01944092, 0x03944490, 0x05f5c098, 0x05f5c0fd, 0x03b64498, 0x03b64498, 0x03be4c90, 0x23feccfd + .4byte 0x07964c90, 0x00000000, 0x00000000, 0x03b64c98, 0x059570b8, 0x059570b8, 0x05b76cb8, 0x239464b2 + .4byte 0x05b57098, 0x1df4c9fd, 0x1df4e9fd, 0x079d4892, 0x239440b2, 0x05b56098, 0x219460fa, 0x27fec4b2 + .4byte 0x3ff5c1ff, 0x3ff5e1ff, 0x05b56098, 0x05b56098, 0x05bc6098, 0x05bc6098, 0x05b57098, 0x07b44890 + .4byte 0x07b448d0, 0x03bc40fd, 0x03bc4098, 0x03b460b0, 0x03b444b8, 0x03b444b8, 0x039c4098, 0x05b540b8 + .4byte 0x05b560b8, 0x079e4c90, 0x03b64c98, 0x00000000, 0x03b460fc, 0x03b460fc, 0x01fec5fd, 0x1bf4c8fd + .4byte 0x19b4c0fd, 0x1dffe9fd, 0x05bdcffd, 0x03b64898, 0x03b64098, 0x03be4098, 0x01b46098, 0x01b46098 + .4byte 0x31b4e8fd, 0x03be4c98, 0x03b64c90, 0x07b64592, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + .4byte 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + .4byte 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + .4byte 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x2bb4c0ff, 0x2bb4c0ff, 0x2bb4c0ff + .4byte 0x03b460ff, 0x3bb4e0ff, 0x3bb4e0ff, 0x05bd4098, 0x05fde0fd, 0x05fde0fd, 0x01b640b8, 0x01b640b8 + .4byte 0x27bd4898, 0x27bd4898, 0x00000000, 0x00000000, 0x03944090, 0x00000000, 0x03944090, 0x019c409a + .4byte 0x19fcc09a, 0x19fcc1ff, 0x0595509a, 0x27b7509e, 0x27b7509e, 0x21b44090, 0x23b44092, 0x21b44490 + .4byte 0x03b440b0, 0x03b440b0, 0x0194409a, 0x29b4c0ff, 0x1fffe5fd, 0x03bc4090, 0x03bc4090, 0x039e4090 + .4byte 0x039e4090, 0x059d4098, 0x059d4098, 0x07bf4c98, 0x07bf4c98, 0x3fffe9fd, 0x01b67490, 0x01b67490 + .4byte 0x1df5f898, 0x01b47098, 0x39f6c5fd, 0x01bc4090, 0x01bc6090, 0x039e4090, 0x21bc40ba, 0x23bc40ba + .4byte 0x039c4090, 0x03be4098, 0x23bc4090, 0x23bc4090, 0x01b46098, 0x03b46098, 0x33b46098, 0x19f4e1fd + .4byte 0x19f4e1fd, 0x03b44898, 0x03b44898, 0x05b56098, 0x05b57098, 0x05bd6098, 0x05bd6098, 0x05bd6098 + .4byte 0x29b4c0fb, 0x29b4c0ff, 0x019c4098, 0x059d5098, 0x07977498, 0x07977498, 0x07bd4098, 0x039e4498 + .4byte 0x1bfec4fd, 0x0fb5c9fd, 0x0fb5c9fd, 0x09fee0ff, 0x1bf6c5fd, 0x1bf6e5fd, 0x03b64498, 0x03b64498 + .4byte 0x00000000, 0x019e4498, 0x19fee5fd, 0x23b6409a, 0x39fce0fd, 0x39fce0fd, 0x39fce0fd, 0x1df5d4b8 + .4byte 0x1df5d4b8, 0x21b4409a, 0x1dffc0fd, 0x1dffe0fd, 0x1dffe0fd, 0x019c4098, 0x03bc4098, 0x03bc4098 + .4byte 0x23be6cba, 0x019e4c98, 0x01be4d98, 0x23b44098, 0x3ffde8ff, 0x01be6098, 0x25b56098, 0x25b56098 + .4byte 0x3dfde8fd, 0x079e4898, 0x0bf6c9fd, 0x0bf6c9fd, 0x01b66098, 0x01b66098, 0x21b4609a, 0x21b460da + .4byte 0x1dfe4c98, 0x1dfe4c98, 0x1dfe4c98, 0x21b46098, 0x25b56098, 0x27b56098, 0x00000000, 0x2ffff098 + .4byte 0x2ffff098, 0x1df7f8fd, 0x0dfff8fd, 0x0df7f8fd, 0x07be6898, 0x3fb7e8ff, 0x23be6898, 0x23be4c98 + .4byte 0x23be4c98, 0x1ffecd98, 0x1bfeecfd, 0x059f4490 + .align 2 gUnknown_086156B8:: @ 86156B8 - .incbin "baserom.gba", 0x6156b8, 0x2c + .4byte 0x000011f0, 0x000021e1, 0x000003c2 + .align 2 +gUnknown_086156C4:: @ 86156C4 + .4byte sub_81B2658, 0x0d280b18, 0x08201420, 0x08081440, 0x08182526, 0x08182535, 0x03302318, 0x1040220c + + .align 2 gUnknown_086156E4:: @ 86156E4 - .incbin "baserom.gba", 0x6156e4, 0x20 + .4byte sub_81B26BC, 0x0d280316, 0x08200c1e, 0x08080c3e, 0x08180c66, 0x08180c75, 0x03300a58, 0x1040044d + .align 2 gUnknown_08615704:: @ 8615704 - .incbin "baserom.gba", 0x615704, 0xc0 + .4byte 0x32142810, 0x22103432, 0x1c6c1268, 0x19661b88, 0x346c2a68, 0x31663388, 0x4c6c4268, 0x49664b88 + .4byte 0x646c5a68, 0x61666388, 0x7c6c7268, 0x79667b88, 0x22141810, 0x12102432, 0x5a145010, 0x4a105c32 + .4byte 0x1c6c1268, 0x19661b88, 0x3c6c3268, 0x39663b88, 0x5c6c5268, 0x59665b88, 0x7c6c7268, 0x79667b88 + .4byte 0x22141810, 0x12102432, 0x5a145010, 0x4a105c32, 0x246a1a68, 0x21662388, 0x3c6a3268, 0x39663b88 + .4byte 0x5c6a5268, 0x59665b88, 0x746a6a68, 0x71667388, 0x2a142010, 0x1a102c32, 0x2c6a2268, 0x29662b88 + .4byte 0x446a3a68, 0x41664388, 0x72146810, 0x62107432, 0x746a6a68, 0x71667388, 0x8c6a8268, 0x89668b88 + .align 1 gUnknown_086157C4:: @ 86157C4 - .incbin "baserom.gba", 0x6157c4, 0x1c + .incbin "graphics/interface/unknown_6157C4.bin" + .align 1 gUnknown_086157E0:: @ 86157E0 - .incbin "baserom.gba", 0x6157e0, 0x1c + .incbin "graphics/interface/unknown_6157E0.bin" gUnknown_086157FC:: @ 86157FC - .incbin "baserom.gba", 0x6157fc, 0x14 + .byte 0x00, 0x03, 0x02, 0x00 +gUnknown_08615800:: @ 8615800 + .byte 0x01, 0x06, 0x00, 0x0b, 0x0c, 0x01, 0x02, 0x03, 0x01, 0x08, 0x09, 0x00, 0x01, 0x02, 0x00, 0x00 + + .align 2 gUnknown_08615810:: @ 8615810 - .incbin "baserom.gba", 0x615810, 0x40 + window_template 0x00, 0x01, 0x03, 0x0a, 0x07, 0x03, 0x0063 + window_template 0x00, 0x0c, 0x01, 0x12, 0x03, 0x04, 0x00a9 + window_template 0x00, 0x0c, 0x04, 0x12, 0x03, 0x05, 0x00df + window_template 0x00, 0x0c, 0x07, 0x12, 0x03, 0x06, 0x0115 + window_template 0x00, 0x0c, 0x0a, 0x12, 0x03, 0x07, 0x014b + window_template 0x00, 0x0c, 0x0d, 0x12, 0x03, 0x08, 0x0181 + window_template 0x02, 0x01, 0x0f, 0x1c, 0x04, 0x0e, 0x01df + null_window_template + .align 2 gUnknown_08615850:: @ 8615850 - .incbin "baserom.gba", 0x615850, 0x40 + window_template 0x00, 0x01, 0x01, 0x0a, 0x07, 0x03, 0x0063 + window_template 0x00, 0x01, 0x08, 0x0a, 0x07, 0x04, 0x00a9 + window_template 0x00, 0x0c, 0x01, 0x12, 0x03, 0x05, 0x00ef + window_template 0x00, 0x0c, 0x05, 0x12, 0x03, 0x06, 0x0125 + window_template 0x00, 0x0c, 0x09, 0x12, 0x03, 0x07, 0x015b + window_template 0x00, 0x0c, 0x0d, 0x12, 0x03, 0x08, 0x0191 + window_template 0x02, 0x01, 0x0f, 0x1c, 0x04, 0x0e, 0x01df + null_window_template + .align 2 gUnknown_08615890:: @ 8615890 - .incbin "baserom.gba", 0x615890, 0x40 + window_template 0x00, 0x01, 0x01, 0x0a, 0x07, 0x03, 0x0063 + window_template 0x00, 0x01, 0x08, 0x0a, 0x07, 0x04, 0x00a9 + window_template 0x00, 0x0c, 0x02, 0x12, 0x03, 0x05, 0x00ef + window_template 0x00, 0x0c, 0x05, 0x12, 0x03, 0x06, 0x0125 + window_template 0x00, 0x0c, 0x09, 0x12, 0x03, 0x07, 0x015b + window_template 0x00, 0x0c, 0x0c, 0x12, 0x03, 0x08, 0x0191 + window_template 0x02, 0x01, 0x0f, 0x1c, 0x04, 0x0e, 0x01df + null_window_template + .align 2 gUnknown_086158D0:: @ 86158D0 - .incbin "baserom.gba", 0x6158d0, 0x38 + window_template 0x00, 0x01, 0x02, 0x0a, 0x07, 0x03, 0x0063 + window_template 0x00, 0x0c, 0x03, 0x12, 0x03, 0x05, 0x00a9 + window_template 0x00, 0x0c, 0x06, 0x12, 0x03, 0x06, 0x00df + window_template 0x02, 0x01, 0x0b, 0x0a, 0x07, 0x04, 0x0115 + window_template 0x02, 0x0c, 0x0c, 0x12, 0x03, 0x07, 0x016b + window_template 0x02, 0x0c, 0x0f, 0x12, 0x03, 0x08, 0x01a1 + null_window_template + .align 2 gUnknown_08615908:: @ 8615908 - .incbin "baserom.gba", 0x615908, 0x8 + window_template 0x00, 0x18, 0x11, 0x06, 0x02, 0x03, 0x01c7 + .align 2 gUnknown_08615910:: @ 8615910 - .incbin "baserom.gba", 0x615910, 0x8 + window_template 0x00, 0x18, 0x12, 0x06, 0x02, 0x03, 0x01c7 + .align 2 gUnknown_08615918:: @ 8615918 - .incbin "baserom.gba", 0x615918, 0x8 + window_template 0x00, 0x18, 0x10, 0x06, 0x02, 0x03, 0x01d3 + .align 2 gUnknown_08615920:: @ 8615920 - .incbin "baserom.gba", 0x615920, 0x8 + window_template 0x02, 0x01, 0x11, 0x15, 0x02, 0x0f, 0x024f + .align 2 gUnknown_08615928:: @ 8615928 - .incbin "baserom.gba", 0x615928, 0x8 + window_template 0x02, 0x01, 0x11, 0x10, 0x02, 0x0f, 0x0279 + .align 2 gUnknown_08615930:: @ 8615930 - .incbin "baserom.gba", 0x615930, 0x8 + window_template 0x02, 0x01, 0x11, 0x14, 0x02, 0x0f, 0x0299 + .align 2 gUnknown_08615938:: @ 8615938 - .incbin "baserom.gba", 0x615938, 0x8 + window_template 0x02, 0x01, 0x11, 0x12, 0x02, 0x0f, 0x0299 + .align 2 gUnknown_08615940:: @ 8615940 - .incbin "baserom.gba", 0x615940, 0x8 + window_template 0x02, 0x01, 0x11, 0x10, 0x02, 0x0f, 0x0299 + .align 2 gUnknown_08615948:: @ 8615948 - .incbin "baserom.gba", 0x615948, 0x8 + window_template 0x02, 0x01, 0x0f, 0x14, 0x04, 0x0f, 0x0299 + .align 2 gUnknown_08615950:: @ 8615950 - .incbin "baserom.gba", 0x615950, 0x8 + window_template 0x02, 0x17, 0x0d, 0x06, 0x06, 0x0e, 0x039d + .align 2 gUnknown_08615958:: @ 8615958 - .incbin "baserom.gba", 0x615958, 0x8 + window_template 0x02, 0x15, 0x0d, 0x08, 0x06, 0x0e, 0x039d + .align 2 gUnknown_08615960:: @ 8615960 - .incbin "baserom.gba", 0x615960, 0x8 + window_template 0x02, 0x13, 0x0b, 0x0a, 0x08, 0x0e, 0x02e9 + .align 2 gUnknown_08615968:: @ 8615968 - .incbin "baserom.gba", 0x615968, 0x8 + window_template 0x02, 0x15, 0x09, 0x05, 0x04, 0x0e, 0x02e9 + .align 2 gUnknown_08615970:: @ 8615970 - .incbin "baserom.gba", 0x615970, 0x18 + window_template 0x02, 0x13, 0x01, 0x0a, 0x0b, 0x0e, 0x02e9 + window_template 0x02, 0x02, 0x0f, 0x1b, 0x04, 0x0e, 0x01df + window_template 0x02, 0x00, 0x0d, 0x12, 0x03, 0x0c, 0x039d gUnknown_08615988:: @ 8615988 - .incbin "baserom.gba", 0x615988, 0x46 + .byte 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1a, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x20, 0x21 + .byte 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x28, 0x3b, 0x3c, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3d, 0x0f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x2e, 0x2f, 0x2f, 0x2f + .byte 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x30 gUnknown_086159CE:: @ 86159CE - .incbin "baserom.gba", 0x6159ce, 0x46 + .byte 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1a, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x20, 0x21 + .byte 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x28, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x2a, 0x0f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x2e, 0x2f, 0x2f, 0x2f + .byte 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x30 gUnknown_08615A14:: @ 8615A14 - .incbin "baserom.gba", 0x615a14, 0x36 + .byte 0x2b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2d, 0x31, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x34, 0x35, 0x33, 0x33, 0x33 + .byte 0x33, 0x33, 0x33, 0x36, 0x37, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x39 gUnknown_08615A4A:: @ 8615A4A - .incbin "baserom.gba", 0x615a4a, 0x36 + .byte 0x2b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2d, 0x31, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21 + .byte 0x21, 0x21, 0x21, 0x32, 0x37, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x39 gUnknown_08615A80:: @ 8615A80 - .incbin "baserom.gba", 0x615a80, 0x36 + .byte 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x17, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x1f, 0x25, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x27 gUnknown_08615AB6:: @ 8615AB6 - .incbin "baserom.gba", 0x615ab6, 0x2 + .byte 0x0b, 0x0c gUnknown_08615AB8:: @ 8615AB8 - .incbin "baserom.gba", 0x615ab8, 0x2 + .byte 0x09, 0x0a gUnknown_08615ABA:: @ 8615ABA - .incbin "baserom.gba", 0x615aba, 0x3 + .byte 0x04, 0x05, 0x06 gUnknown_08615ABD:: @ 8615ABD - .incbin "baserom.gba", 0x615abd, 0x3 + .byte 0x01, 0x07, 0x08 gUnknown_08615AC0:: @ 8615AC0 - .incbin "baserom.gba", 0x615ac0, 0x3 + .byte 0x01, 0x0b, 0x0c gUnknown_08615AC3:: @ 8615AC3 - .incbin "baserom.gba", 0x615ac3, 0x2 + .byte 0x3b, 0x3c gUnknown_08615AC5:: @ 8615AC5 - .incbin "baserom.gba", 0x615ac5, 0x2 + .byte 0x4b, 0x4c gUnknown_08615AC7:: @ 8615AC7 - .incbin "baserom.gba", 0x615ac7, 0x2 + .byte 0x39, 0x3a gUnknown_08615AC9:: @ 8615AC9 - .incbin "baserom.gba", 0x615ac9, 0x2 + .byte 0x49, 0x4a gUnknown_08615ACB:: @ 8615ACB - .incbin "baserom.gba", 0x615acb, 0x2 + .byte 0x59, 0x5a gUnknown_08615ACD:: @ 8615ACD - .incbin "baserom.gba", 0x615acd, 0x3 + .byte 0x34, 0x35, 0x36 gUnknown_08615AD0:: @ 8615AD0 - .incbin "baserom.gba", 0x615ad0, 0x3 + .byte 0x44, 0x45, 0x46 gUnknown_08615AD3:: @ 8615AD3 - .incbin "baserom.gba", 0x615ad3, 0x3 + .byte 0x54, 0x55, 0x56 gUnknown_08615AD6:: @ 8615AD6 - .incbin "baserom.gba", 0x615ad6, 0x3 + .byte 0x74, 0x75, 0x76 gUnknown_08615AD9:: @ 8615AD9 - .incbin "baserom.gba", 0x615ad9, 0x3 + .byte 0x84, 0x85, 0x86 gUnknown_08615ADC:: @ 8615ADC - .incbin "baserom.gba", 0x615adc, 0x3 + .byte 0x94, 0x95, 0x96 gUnknown_08615ADF:: @ 8615ADF - .incbin "baserom.gba", 0x615adf, 0x3 + .byte 0x64, 0x65, 0x66 gUnknown_08615AE2:: @ 8615AE2 - .incbin "baserom.gba", 0x615ae2, 0x3 + .byte 0x31, 0x37, 0x38 gUnknown_08615AE5:: @ 8615AE5 - .incbin "baserom.gba", 0x615ae5, 0x3 + .byte 0x41, 0x47, 0x48 gUnknown_08615AE8:: @ 8615AE8 - .incbin "baserom.gba", 0x615ae8, 0x3 + .byte 0x51, 0x57, 0x58 gUnknown_08615AEB:: @ 8615AEB - .incbin "baserom.gba", 0x615aeb, 0x3 + .byte 0x61, 0x67, 0x68 gUnknown_08615AEE:: @ 8615AEE - .incbin "baserom.gba", 0x615aee, 0x3 + .byte 0xa1, 0xa7, 0xa8 gUnknown_08615AF1:: @ 8615AF1 - .incbin "baserom.gba", 0x615af1, 0x3 + .byte 0x11, 0x1b, 0x1c + .align 2 gUnknown_08615AF4:: @ 8615AF4 - .incbin "baserom.gba", 0x615af4, 0x6c + .4byte gUnknown_085E9E43 + .4byte gUnknown_085EA010 + .4byte gUnknown_085EA02A + .4byte gUnknown_085E9E55 + .4byte gUnknown_085E9E64 + .4byte gUnknown_085E9E79 + .4byte gUnknown_085E9E8F + .4byte gUnknown_085E9EBC + .4byte gUnknown_085E9ED4 + .4byte gUnknown_085E9EE9 + .4byte gUnknown_085E9FDB + .4byte gUnknown_085EA046 + .4byte gUnknown_085EA05B + .4byte gUnknown_085E9F01 + .4byte gUnknown_085E9F58 + .4byte gUnknown_085E9F6F + .4byte gUnknown_085E9F81 + .4byte gUnknown_085E9F90 + .4byte gUnknown_085E9FA7 + .4byte gUnknown_085E9FC2 + .4byte gText_EmptyString2 + .4byte gUnknown_085E9EA6 + .4byte gUnknown_085E9F16 + .4byte gUnknown_085E9F2A + .4byte gUnknown_085E9F42 + .4byte gUnknown_085E9FF9 + .4byte gUnknown_085EA073 gUnknown_08615B60:: @ 8615B60 - .incbin "baserom.gba", 0x615b60, 0xa8 + .4byte gUnknown_085EA091 + .4byte gUnknown_085EA099 + .4byte gUnknown_085EA09E + .4byte gUnknown_085EA0A4 + .4byte gUnknown_085EA0AB + .4byte gUnknown_085EA0E7 + .4byte gUnknown_085EA0B1 + .4byte gUnknown_085EA0B6 + .4byte gUnknown_085EA0BF + .4byte gUnknown_085EA0C5 + .4byte gUnknown_085EA0CF + .4byte gUnknown_085EA0D7 + .4byte gUnknown_085EA0DC + .align 1 +gUnknown_08615B94:: @ 8615B94 + .2byte 0x0108, 0x0151, 0x0160, 0x015b, 0x002e, 0x005c, 0x0102, 0x0153, 0x014b, 0x00ed, 0x00f1, 0x010d, 0x003a, 0x003b, 0x003f, 0x0071 + .2byte 0x00b6, 0x00f0, 0x00ca, 0x00db, 0x00da, 0x004c, 0x00e7, 0x0055, 0x0057, 0x0059, 0x00d8, 0x005b, 0x005e, 0x00f7, 0x0118, 0x0068 + .2byte 0x0073, 0x015f, 0x0035, 0x00bc, 0x00c9, 0x007e, 0x013d, 0x014c, 0x0103, 0x0107, 0x0122, 0x009c, 0x00d5, 0x00a8, 0x00d3, 0x011d + .2byte 0x0121, 0x013b, 0x000f, 0x0013, 0x0039, 0x0046, 0x0094, 0x00f9, 0x007f, 0x0123 + + .align 2 gUnknown_08615C08:: @ 8615C08 - .incbin "baserom.gba", 0x615c08, 0x130 + .4byte gText_Summary5, sub_81B37FC + .4byte gText_Switch2, brm_switch + .4byte gText_Cancel2, brm_cancel_1 + .4byte gText_Item, sub_81B4134 + .4byte gMenuText_Give, sub_81B4198 + .4byte gText_Take, sub_81B4724 + .4byte gText_Mail, sub_81B4A08 + .4byte gText_Take2, brm_take_2 + .4byte gText_Read2, sub_81B4A6C + .4byte gText_Cancel2, sub_81B4D78 + .4byte gText_Shift, brm_shift_sendout + .4byte gText_SendOut, brm_shift_sendout + .4byte gText_Enter, sub_81B4E8C + .4byte gText_NoEntry, sub_81B4FA8 + .4byte gText_Store, sub_81B50AC + .4byte gText_Register, sub_81B50C8 + .4byte gText_Trade4, brm_trade_1 + .4byte gText_Trade4, sub_81B52E4 + .4byte gMenuText_Toss, sub_81B47E0 + .4byte gMoveNames+195, sub_81B5470 + .4byte gMoveNames+1924, sub_81B5470 + .4byte gMoveNames+3237, sub_81B5470 + .4byte gMoveNames+910, sub_81B5470 + .4byte gMoveNames+741, sub_81B5470 + .4byte gMoveNames+247, sub_81B5470 + .4byte gMoveNames+3783, sub_81B5470 + .4byte gMoveNames+1651, sub_81B5470 + .4byte gMoveNames+1300, sub_81B5470 + .4byte gMoveNames+1183, sub_81B5470 + .4byte gMoveNames+3770, sub_81B5470 + .4byte gMoveNames+2704, sub_81B5470 + .4byte gMoveNames+1755, sub_81B5470 + .4byte gMoveNames+2990, sub_81B5470 +gUnknown_08615D10:: @ 8615D10 + .byte 0x00, 0x01, 0x02 + +gUnknown_08615D13:: @ 8615D13 + .byte 0x0a, 0x00, 0x02 + +gUnknown_08615D16:: @ 8615D16 + .byte 0x0b, 0x00, 0x02 + +gUnknown_08615D19:: @ 8615D19 + .byte 0x00, 0x02 + +gUnknown_08615D1B:: @ 8615D1B + .byte 0x0c, 0x00, 0x02 + +gUnknown_08615D1E:: @ 8615D1E + .byte 0x0d, 0x00, 0x02 + +gUnknown_08615D21:: @ 8615D21 + .byte 0x0e, 0x00, 0x02 + +gUnknown_08615D24:: @ 8615D24 + .byte 0x04, 0x05, 0x09 + +gUnknown_08615D27:: @ 8615D27 + .byte 0x08, 0x07, 0x09 + +gUnknown_08615D2A:: @ 8615D2A + .byte 0x0f, 0x00, 0x02 + +gUnknown_08615D2D:: @ 8615D2D + .byte 0x10, 0x00, 0x02 + +gUnknown_08615D30:: @ 8615D30 + .byte 0x11, 0x00, 0x02 + +gUnknown_08615D33:: @ 8615D33 + .byte 0x05, 0x12, 0x02 + + .align 2 gUnknown_08615D38:: @ 8615D38 - .incbin "baserom.gba", 0x615d38, 0x38 + .4byte NULL, gUnknown_08615D10, gUnknown_08615D13, gUnknown_08615D16, gUnknown_08615D1B, gUnknown_08615D1E, gUnknown_08615D21, gUnknown_08615D19 + .4byte gUnknown_08615D24, gUnknown_08615D27, gUnknown_08615D2A, gUnknown_08615D2D, gUnknown_08615D30, gUnknown_08615D33 gUnknown_08615D70:: @ 8615D70 - .incbin "baserom.gba", 0x615d70, 0xe + .byte 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 + .align 1 gUnknown_08615D7E:: @ 8615D7E - .incbin "baserom.gba", 0x615d7e, 0x1e + .2byte 0x000f, 0x0094, 0x00f9, 0x0046, 0x0039, 0x0013, 0x0123, 0x007f, 0x0064, 0x005b, 0x0122, 0x00d0, 0x0087, 0x00e6, 0x000e + .align 2 gUnknown_08615D9C:: @ 8615D9C - .incbin "baserom.gba", 0x615d9c, 0x70 + .4byte sub_80D3718, 0x00000007 + .4byte SetUpFieldMove_Flash, 0x0000000d + .4byte sub_8135654, 0x0000000d + .4byte hm_prepare_rocksmash, 0x0000000d + .4byte sub_81B5820, 0x00000008 + .4byte sub_81B5884, 0x0000000d + .4byte sub_81B5974, 0x0000000d + .4byte hm_prepare_waterfall, 0x0000000d + .4byte SetUpFieldMove_Teleport, 0x0000000d + .4byte sub_813572C, 0x0000000d + .4byte sub_80FA004, 0x0000000d + .4byte hm_prepare_dive_probably, 0x00000010 + .4byte hm_prepare_dive_probably, 0x00000010 + .4byte SetUpFieldMove_SweetScent, 0x0000000d + .align 2 gUnknown_08615E0C:: @ 8615E0C - .incbin "baserom.gba", 0x615e0c, 0xa4 + .4byte gText_NotPkmnOtherTrainerWants + .4byte gText_ThatIsntAnEgg + .4byte gText_PkmnCantBeTradedNow + .4byte gText_PkmnCantBeTradedNow + .4byte gText_OtherTrainersPkmnCantBeTraded + .4byte gText_EggCantBeTradedNow + .4byte gText_OtherTrainerCantAcceptPkmn + .4byte gText_CantTradeWithTrainer + .4byte gText_CantTradeWithTrainer + .align 2 +gUnknown_08615E30:: @ 8615E30 + .incbin "graphics/interface/hold_icons.4bpp" + + .align 2 +gUnknown_08615E70:: @ 8615E70 + .incbin "graphics/interface/hold_icons.gbapal" + + .align 2 +gOamData_8615E90:: @ 8615E90 + .2byte 0x0000, 0x0000, 0x0400, 0x0000 + + .align 2 +gSpriteAnim_8615E98:: @ 8615E98 + .2byte 0x0000, 0x0001, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8615EA0:: @ 8615EA0 + .2byte 0x0001, 0x0001, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_8615EA8:: @ 8615EA8 + .4byte gSpriteAnim_8615E98 + .4byte gSpriteAnim_8615EA0 + + .align 2 gUnknown_08615EB0:: @ 8615EB0 - .incbin "baserom.gba", 0x615eb0, 0x8 + obj_tiles gUnknown_08615E30, 0x40, 55120 + .align 2 gUnknown_08615EB8:: @ 8615EB8 - .incbin "baserom.gba", 0x615eb8, 0x8 + obj_pal gUnknown_08615E70, 55120 -gUnknown_08615EC0:: @ 8615EC0 - .incbin "baserom.gba", 0x615ec0, 0x38 + .align 2 +gSpriteTemplate_8615EC0:: @ 8615EC0 + spr_template 0xd750, 0xd750, gOamData_8615E90, gSpriteAnimTable_8615EA8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 +gOamData_8615ED8:: @ 8615ED8 + .2byte 0x0000, 0x8000, 0x0400, 0x0000 + + .align 2 +gSpriteAnim_8615EE0:: @ 8615EE0 + .2byte 0x0000, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8615EE8:: @ 8615EE8 + .2byte 0x0010, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_8615EF0:: @ 8615EF0 + .4byte gSpriteAnim_8615EE0 + .4byte gSpriteAnim_8615EE8 + + .align 2 gUnknown_08615EF8:: @ 8615EF8 - .incbin "baserom.gba", 0x615ef8, 0x8 + obj_tiles gPartyMenuPokeball_Gfx, 0x400, 1200 + .align 2 gUnknown_08615F00:: @ 8615F00 - .incbin "baserom.gba", 0x615f00, 0x8 + obj_pal gPartyMenuPokeball_Pal, 1200 -gUnknown_08615F08:: @ 8615F08 - .incbin "baserom.gba", 0x615f08, 0x68 + .align 2 +gSpriteTemplate_8615F08:: @ 8615F08 + spr_template 0x04b0, 0x04b0, gOamData_8615ED8, gSpriteAnimTable_8615EF0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 +gOamData_8615F20:: @ 8615F20 + .2byte 0x0000, 0x4000, 0x0800, 0x0000 + + .align 2 +gSpriteAnim_8615F28:: @ 8615F28 + .2byte 0x0000, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8615F30:: @ 8615F30 + .2byte 0x0004, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8615F38:: @ 8615F38 + .2byte 0x0008, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8615F40:: @ 8615F40 + .2byte 0x000c, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8615F48:: @ 8615F48 + .2byte 0x0010, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8615F50:: @ 8615F50 + .2byte 0x0014, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_8615F58:: @ 8615F58 + .4byte gSpriteAnim_8615F28 + .4byte gSpriteAnim_8615F30 + .4byte gSpriteAnim_8615F38 + .4byte gSpriteAnim_8615F40 + .4byte gSpriteAnim_8615F48 + .4byte gSpriteAnim_8615F50 + + .align 2 gUnknown_08615F70:: @ 8615F70 - .incbin "baserom.gba", 0x615f70, 0x8 + obj_tiles gPartyMenuPokeballSmall_Gfx, 0x0300, 0x04b1 -gUnknown_08615F78:: @ 8615F78 - .incbin "baserom.gba", 0x615f78, 0x80 + .align 2 +gSpriteTemplate_8615F78:: @ 8615F78 + spr_template 0x04b1, 0x04b0, gOamData_8615F20, gSpriteAnimTable_8615F58, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 +gOamData_8615F90:: @ 8615F90 + .2byte 0x4000, 0x4000, 0x0400, 0x0000 + + .align 2 +gSpriteAnim_8615F98:: @ 8615F98 + .2byte 0x0000, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8615FA0:: @ 8615FA0 + .2byte 0x0004, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8615FA8:: @ 8615FA8 + .2byte 0x0008, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8615FB0:: @ 8615FB0 + .2byte 0x000c, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8615FB8:: @ 8615FB8 + .2byte 0x0010, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8615FC0:: @ 8615FC0 + .2byte 0x0014, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8615FC8:: @ 8615FC8 + .2byte 0x0018, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8615FD0:: @ 8615FD0 + .2byte 0x001c, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_8615FD8:: @ 8615FD8 + .4byte gSpriteAnim_8615F98 + .4byte gSpriteAnim_8615FA0 + .4byte gSpriteAnim_8615FA8 + .4byte gSpriteAnim_8615FB0 + .4byte gSpriteAnim_8615FB8 + .4byte gSpriteAnim_8615FC0 + .4byte gSpriteAnim_8615FC8 + .4byte gSpriteAnim_8615FD0 + + .align 2 gUnknown_08615FF8:: @ 8615FF8 - .incbin "baserom.gba", 0x615ff8, 0x8 + obj_tiles gStatusGfx_Icons, 0x400, 1202 + .align 2 gUnknown_08616000:: @ 8616000 - .incbin "baserom.gba", 0x616000, 0x8 + obj_pal gStatusPal_Icons, 1202 -gUnknown_08616008:: @ 8616008 - .incbin "baserom.gba", 0x616008, 0x18 + .align 2 +gSpriteTemplate_8616008:: @ 8616008 + spr_template 0x04b2, 0x04b2, gOamData_8615F90, gSpriteAnimTable_8615FD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_08616020:: @ 8616020 - .incbin "baserom.gba", 0x616020, 0x20 + .byte 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00 + .align 2 +gUnknown_08616028:: @ 8616028 + .4byte gText_HP4 + .4byte gText_Attack3 + .4byte gText_Defense3 + .4byte gText_SpAtk4 + .4byte gText_SpDef4 + .4byte gText_Speed2 + + .align 1 gUnknown_08616040:: @ 8616040 - .incbin "baserom.gba", 0x616040, 0x74 + .2byte 0x0108, 0x0151, 0x0160, 0x015b, 0x002e, 0x005c, 0x0102, 0x0153, 0x014b, 0x00ed, 0x00f1, 0x010d, 0x003a, 0x003b, 0x003f, 0x0071 + .2byte 0x00b6, 0x00f0, 0x00ca, 0x00db, 0x00da, 0x004c, 0x00e7, 0x0055, 0x0057, 0x0059, 0x00d8, 0x005b, 0x005e, 0x00f7, 0x0118, 0x0068 + .2byte 0x0073, 0x015f, 0x0035, 0x00bc, 0x00c9, 0x007e, 0x013d, 0x014c, 0x0103, 0x0107, 0x0122, 0x009c, 0x00d5, 0x00a8, 0x00d3, 0x011d + .2byte 0x0121, 0x013b, 0x000f, 0x0013, 0x0039, 0x0046, 0x0094, 0x00f9, 0x007f, 0x0123 + diff --git a/data/player_pc.s b/data/player_pc.s index c3422db302..47bdbff399 100644 --- a/data/player_pc.s +++ b/data/player_pc.s @@ -1,3 +1,4 @@ +#include "constants/items.h" .include "asm/macros.inc" .include "constants/constants.inc" diff --git a/data/pokeball.s b/data/pokeball.s deleted file mode 100644 index 4e7b4315a1..0000000000 --- a/data/pokeball.s +++ /dev/null @@ -1,14 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_0832C400:: @ 832C400 - .incbin "baserom.gba", 0x32c400, 0x60 - -gUnknown_0832C460:: @ 832C460 - .incbin "baserom.gba", 0x32c460, 0x128 - -gUnknown_0832C588:: @ 832C588 - .incbin "baserom.gba", 0x32c588, 0x138 diff --git a/data/pokeblock_feed.s b/data/pokeblock_feed.s deleted file mode 100644 index b4d3d192d7..0000000000 --- a/data/pokeblock_feed.s +++ /dev/null @@ -1,43 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -gUnknown_085EFEBC:: @ 85EFEBC - .incbin "baserom.gba", 0x5efebc, 0x32 - -gUnknown_085EFEEE:: @ 85EFEEE - .incbin "baserom.gba", 0x5efeee, 0x12 - -gUnknown_085EFF00:: @ 85EFF00 - .incbin "baserom.gba", 0x5eff00, 0x5fc - -gUnknown_085F04FC:: @ 85F04FC - .incbin "baserom.gba", 0x5f04fc, 0x54 - -gUnknown_085F0550:: @ 85F0550 - .incbin "baserom.gba", 0x5f0550, 0x8 - -gUnknown_085F0558:: @ 85F0558 - .incbin "baserom.gba", 0x5f0558, 0x10 - -gUnknown_085F0568:: @ 85F0568 - .incbin "baserom.gba", 0x5f0568, 0x48 - -gUnknown_085F05B0:: @ 85F05B0 - .incbin "baserom.gba", 0x5f05b0, 0xb4 - -gUnknown_085F0664:: @ 85F0664 - .incbin "baserom.gba", 0x5f0664, 0x4 - -gUnknown_085F0668:: @ 85F0668 - .incbin "baserom.gba", 0x5f0668, 0x4 - -gUnknown_085F066C:: @ 85F066C - .incbin "baserom.gba", 0x5f066c, 0x34 - -gUnknown_085F06A0:: @ 85F06A0 - .incbin "baserom.gba", 0x5f06a0, 0x8 - -gUnknown_085F06A8:: @ 85F06A8 - .incbin "baserom.gba", 0x5f06a8, 0x18 diff --git a/data/pokedex.s b/data/pokedex.s index 3ba94dbc59..7fdecaf5f7 100644 --- a/data/pokedex.s +++ b/data/pokedex.s @@ -1,72 +1,37 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" + .include "asm/macros.inc" + .include "constants/constants.inc" - .section .rodata - .align 2, 0 + .section .rodata + .align 2, 0 -gUnknown_0855C6A4:: @ 855C6A4 - .incbin "baserom.gba", 0x55c6a4, 0x336 +.macro unk_dex_struct texts, a2, a3, a4 + .4byte \texts + .byte \a2, \a3, \a4 + .byte 0 @padding +.endm -gUnknown_0855C9DA:: @ 855C9DA - .incbin "baserom.gba", 0x55c9da, 0x304 +.macro unk_dex_struct_2 text, a2, a3, a4, a5, a6, a7 + .4byte \text + .byte \a2, \a3, \a4, \a5, \a6, \a7 + .2byte 0 @padding +.endm -gUnknown_0855CCDE:: @ 855CCDE - .incbin "baserom.gba", 0x55ccde, 0x4b6 - -gUnknown_0855D194:: @ 855D194 - .incbin "baserom.gba", 0x55d194, 0x18 - -gUnknown_0855D1AC:: @ 855D1AC - .incbin "baserom.gba", 0x55d1ac, 0x18 - -gUnknown_0855D1C4:: @ 855D1C4 - .incbin "baserom.gba", 0x55d1c4, 0x18 - -gUnknown_0855D1DC:: @ 855D1DC - .incbin "baserom.gba", 0x55d1dc, 0x18 - -gUnknown_0855D1F4:: @ 855D1F4 - .incbin "baserom.gba", 0x55d1f4, 0x18 - -gUnknown_0855D20C:: @ 855D20C - .incbin "baserom.gba", 0x55d20c, 0x18 - -gUnknown_0855D224:: @ 855D224 - .incbin "baserom.gba", 0x55d224, 0x18 - -gUnknown_0855D23C:: @ 855D23C - .incbin "baserom.gba", 0x55d23c, 0x18 - -gUnknown_0855D254:: @ 855D254 - .incbin "baserom.gba", 0x55d254, 0x18 - -gUnknown_0855D26C:: @ 855D26C - .incbin "baserom.gba", 0x55d26c, 0x10 - -gUnknown_0855D27C:: @ 855D27C - .incbin "baserom.gba", 0x55d27c, 0x10 - -gUnknown_0855D28C:: @ 855D28C - .incbin "baserom.gba", 0x55d28c, 0x5 - -gUnknown_0855D291:: @ 855D291 - .incbin "baserom.gba", 0x55d291, 0x7 - -gUnknown_0855D298:: @ 855D298 - .incbin "baserom.gba", 0x55d298, 0x10 - -gUnknown_0855D2A8:: @ 855D2A8 - .incbin "baserom.gba", 0x55d2a8, 0x10 +.macro unk_dex_struct_3 text, a2, a3, a4 + .4byte \text + .byte \a2, \a3, \a4 + .byte 0 @padding +.endm gUnknown_0855D2B8:: @ 855D2B8 - .incbin "baserom.gba", 0x55d2b8, 0x6 + .string "{UNK_CTRL_F9 8}000$" gUnknown_0855D2BE:: @ 855D2BE - .incbin "baserom.gba", 0x55d2be, 0x40 + .incbin "graphics/pokedex/caught_ball.4bpp" -gUnknown_0855D2FE:: @ 855D2FE - .incbin "baserom.gba", 0x55d2fe, 0xe +sText_TenDashes:: @ 855D2FE + .string "----------$" + .align 2 gUnknown_0855D30C:: @ 855D30C .string "$" @@ -76,77 +41,213 @@ gUnknown_0855D30C:: @ 855D30C @ 856B5B0 .include "data/pokedex_entries.inc" + .align 2 gUnknown_0856E610:: @ 856E610 - .incbin "baserom.gba", 0x56e610, 0x20 + .incbin "graphics/pokedex/black.gbapal" + .align 2 gUnknown_0856E630:: @ 856E630 - .incbin "baserom.gba", 0x56e630, 0x10 + .4byte 0x000030c8, 0x000000d1, 0x000010ea, 0x000020f3 + .align 2 gUnknown_0856E640:: @ 856E640 - .incbin "baserom.gba", 0x56e640, 0x28 + window_template 0x02, 0x00, 0x00, 0x20, 0x14, 0x00, 0x0001 + window_template 0x02, 0x19, 0x08, 0x02, 0x02, 0x0f, 0x0281 + window_template 0x00, 0x00, 0x0c, 0x20, 0x07, 0x08, 0x0285 + window_template 0x02, 0x12, 0x03, 0x0a, 0x08, 0x09, 0x0365 + window_template 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 + .align 2 gUnknown_0856E668:: @ 856E668 - .incbin "baserom.gba", 0x56e668, 0x8 + .4byte 0x000020ea, 0x000030f7 + .align 2 gUnknown_0856E670:: @ 856E670 - .incbin "baserom.gba", 0x56e670, 0x18 + window_template 0x02, 0x00, 0x00, 0x20, 0x14, 0x00, 0x0001 + window_template 0x02, 0x19, 0x08, 0x02, 0x02, 0x0f, 0x0281 + window_template 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 -gUnknown_0856E688:: @ 856E688 - .incbin "baserom.gba", 0x56e688, 0xc +sText_TenDashes2:: @ 856E688 + .string "----------$" @ 856E694 .include "data/graphics/pokemon/footprint_table.inc" gUnknown_0856ED08:: @ 856ED08 - .incbin "baserom.gba", 0x56ed08, 0x28 + .byte 0x00, 0x00, 0x00, 0x00, 0xbb, 0x03, 0xd5, 0x03, 0xbe, 0x03, 0xd8, 0x03, 0xc1, 0x03, 0xdb, 0x03, 0xc4, 0x03, 0xde, 0x03, 0xc7, 0x03, 0xe1, 0x03, 0xca, 0x03, 0xe4, 0x03, 0xcd, 0x03, 0xe7, 0x03 + .byte 0xd0, 0x03, 0xea, 0x03, 0xd3, 0x02, 0xed, 0x02 gUnknown_0856ED30:: @ 856ED30 - .incbin "baserom.gba", 0x56ed30, 0x18 + unk_dex_struct_3 gUnknown_085E87A5, 0, 0, 5 + unk_dex_struct_3 gUnknown_085E87D6, 6, 0, 5 + unk_dex_struct_3 gUnknown_085E87EF, 12, 0, 5 gUnknown_0856ED48:: @ 856ED48 - .incbin "baserom.gba", 0x56ed48, 0x54 + unk_dex_struct_2 gUnknown_085E8840, 0, 2, 5, 5, 2, 12 + unk_dex_struct_2 gUnknown_085E887C, 0, 4, 5, 5, 4, 12 + unk_dex_struct_2 gUnknown_085E88A6, 0, 6, 5, 5, 6, 6 + unk_dex_struct_2 gUnknown_085E88A6, 0, 6, 5, 11, 6, 6 + unk_dex_struct_2 gUnknown_085E881F, 0, 8, 5, 5, 8, 12 + unk_dex_struct_2 gUnknown_085E8806, 0, 10, 5, 5, 10, 12 + unk_dex_struct_2 gUnknown_085E88C8, 0, 12, 5, 0, 0, 0 + .align 1 gUnknown_0856ED9C:: @ 856ED9C - .incbin "baserom.gba", 0x56ed9c, 0x1c + .2byte 0xffff, 0x01ff, 0xffff, 0x0200, 0x03ff, 0x0401, 0xff02, 0x0401, 0xffff, 0x0502, 0xffff, 0x0604, 0xffff, 0xff05 + .align 1 gUnknown_0856EDB8:: @ 856EDB8 - .incbin "baserom.gba", 0x56edb8, 0x1c + .2byte 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x05ff, 0xffff, 0x0604, 0xffff, 0xff05 + .align 1 gUnknown_0856EDD4:: @ 856EDD4 - .incbin "baserom.gba", 0x56edd4, 0x1c + .2byte 0xffff, 0x01ff, 0xffff, 0x0200, 0x03ff, 0x0401, 0xff02, 0x0401, 0xffff, 0x0602, 0xffff, 0xffff, 0xffff, 0xff04 + .align 1 gUnknown_0856EDF0:: @ 856EDF0 - .incbin "baserom.gba", 0x56edf0, 0x1c + .2byte 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x06ff, 0xffff, 0xffff, 0xffff, 0xff04 + .align 2 gUnknown_0856EE0C:: @ 856EE0C - .incbin "baserom.gba", 0x56ee0c, 0x18 + .4byte gUnknown_085E89A4 + .4byte gUnknown_085E88DF + .4byte gUnknown_085E89BB + .4byte gUnknown_085E88E9 + .4byte NULL + .4byte NULL + .align 2 gUnknown_0856EE24:: @ 856EE24 - .incbin "baserom.gba", 0x56ee24, 0x38 + .4byte gUnknown_085E89D4 + .4byte gUnknown_085E88F6 + .4byte gUnknown_085E8A02 + .4byte gUnknown_085E8905 + .4byte gUnknown_085E8A37 + .4byte gUnknown_085E8911 + .4byte gUnknown_085E8A73 + .4byte gUnknown_085E891F + .4byte gUnknown_085E8AAF + .4byte gUnknown_085E892D + .4byte gUnknown_085E8AEA + .4byte gUnknown_085E893A + .4byte 0 + .4byte 0 gUnknown_0856EE5C:: @ 856EE5C - .incbin "baserom.gba", 0x56ee5c, 0x58 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8B26 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8948 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E894C + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8950 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8954 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8958 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E895C + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8960 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8964 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8968 + .4byte 0 + .4byte 0 gUnknown_0856EEB4:: @ 856EEB4 - .incbin "baserom.gba", 0x56eeb4, 0x60 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8B26 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E896B + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E896F + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8974 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E897B + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8981 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8987 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E898D + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8994 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8999 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E899F + .4byte 0 + .4byte 0 +@ read from type table for each type except ???, entry is 7 byte of length gUnknown_0856EF14:: @ 856EF14 - .incbin "baserom.gba", 0x56ef14, 0x98 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8B35 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 0 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 7 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 14 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 21 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 28 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 35 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 42 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 49 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 56 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 70 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 77 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 84 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 91 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 98 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 105 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 112 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 119 + .4byte 0 + .4byte 0 gUnknown_0856EFAC:: @ 856EFAC - .incbin "baserom.gba", 0x56efac, 0x2 + .byte 0x00, 0x01 gUnknown_0856EFAE:: @ 856EFAE - .incbin "baserom.gba", 0x56efae, 0x6 + .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05 gUnknown_0856EFB4:: @ 856EFB4 - .incbin "baserom.gba", 0x56efb4, 0x14 + .byte 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x00, 0x00 + .align 2 gUnknown_0856EFC8:: @ 856EFC8 - .incbin "baserom.gba", 0x56efc8, 0x30 + unk_dex_struct gUnknown_0856EE5C, 6, 7, 10 + unk_dex_struct gUnknown_0856EEB4, 8, 9, 11 + unk_dex_struct gUnknown_0856EF14, 10,11, 18 + unk_dex_struct gUnknown_0856EF14, 12, 13, 18 + unk_dex_struct gUnknown_0856EE24, 4, 5, 6 + unk_dex_struct gUnknown_0856EE0C, 2, 3, 2 + .align 2 gUnknown_0856EFF8:: @ 856EFF8 - .incbin "baserom.gba", 0x56eff8, 0x10 + .4byte 0x000000c8, 0x000010d1, 0x000020ea, 0x000030f3 + .align 2 gUnknown_0856F008:: @ 856F008 - .incbin "baserom.gba", 0x56f008, 0x10 + window_template 0x02, 0x00, 0x00, 0x20, 0x14, 0x00, 0x0001 + null_window_template + diff --git a/data/pokedex_area_screen.s b/data/pokedex_area_screen.s new file mode 100644 index 0000000000..77d17a0479 --- /dev/null +++ b/data/pokedex_area_screen.s @@ -0,0 +1,92 @@ +#include "constants/flags.h" +#include "constants/region_map_sections.h" +#include "constants/species.h" + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 +gUnknown_085B3D94:: @ 85B3D94 + .incbin "graphics/pokedex/area_glow.gbapal" + + .align 2 +gUnknown_085B3DB4:: @ 85B3DB4 + .incbin "graphics/pokedex/area_glow.4bpp.lz" + + .align 1 +gUnknown_085B3EE8:: @ 85B3EE8 + .2byte 0x0168 + + .align 1 +gUnknown_085B3EEA:: @ 85B3EEA + .2byte MAPSEC_MARINE_CAVE, MAPSEC_UNDERWATER_MARINE_CAVE, MAPSEC_TERRA_CAVE + + .align 1 +gUnknown_085B3EF0:: @ 85B3EF0 + .2byte SPECIES_FEEBAS, 0x0000, 0x0022 + .2byte SPECIES_EGG, 0x0000, 0x0000 + + .align 1 +gUnknown_085B3EFC:: @ 85B3EFC + .2byte MAPSEC_SKY_PILLAR, FLAG_LANDMARK_SKY_PILLAR + .2byte MAPSEC_SEAFLOOR_CAVERN, FLAG_LANDMARK_SEAFLOOR_CAVERN + .2byte MAPSEC_ALTERING_CAVE_2, FLAG_LANDMARK_ALTERING_CAVE + .2byte MAPSEC_MIRAGE_TOWER, FLAG_LANDMARK_MIRAGE_TOWER + .2byte MAPSEC_DESERT_UNDERPASS, FLAG_LANDMARK_DESERT_UNDERPASS + .2byte MAPSEC_ARTISAN_CAVE, FLAG_0x8DF + .2byte MAPSEC_NONE, 0x0000 + +gUnknown_085B3F18:: @ 85B3F18 + .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x11, 0x20, 0x02, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f + .byte 0x12, 0x21, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x13, 0x22, 0x02, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f + .byte 0x14, 0x01, 0x23, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x15, 0x20, 0x23, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f + .byte 0x16, 0x21, 0x23, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x17, 0x22, 0x23, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f + .byte 0x18, 0x01, 0x24, 0x03, 0x04, 0x05, 0x06, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x19, 0x20, 0x24, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f + .byte 0x1a, 0x21, 0x24, 0x03, 0x04, 0x05, 0x06, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x1b, 0x22, 0x24, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f + .byte 0x1c, 0x01, 0x25, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x1d, 0x20, 0x25, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f + .byte 0x1e, 0x21, 0x25, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x1f, 0x22, 0x25, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f + + .align 2 +gUnknown_085B4018:: @ 85B4018 + .4byte 0x00002003 + + .align 2 +gUnknown_085B401C:: @ 85B401C + obj_tiles AreaMarkerTiles, 0x0080, 0x0002 + + .align 2 +gUnknown_085B4024:: @ 85B4024 + obj_pal AreaMarkerPalette, 0x0002 + + .align 2 +gUnknown_085B402C:: @ 85B402C + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0400 + + .align 2 +gUnknown_085B4034:: @ 85B4034 + spr_template 0x0002, 0x0002, gUnknown_085B402C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +AreaMarkerPalette:: @ 85B404C + .incbin "graphics/pokedex/area_marker.gbapal" + + .align 2 +AreaMarkerTiles:: @ 85B406C + .incbin "graphics/pokedex/area_marker.4bpp" + + .align 2 +gUnknown_085B40EC:: @ 85B40EC + obj_pal gPokedexAreaScreenAreaUnknown_Pal, 0x0003 + + .align 2 +gOamData_85B40F4:: @ 85B40F4 + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteTemplate_85B40FC:: @ 85B40FC + spr_template 0x0003, 0x0003, gOamData_85B40F4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy diff --git a/data/pokedex_cry_screen.s b/data/pokedex_cry_screen.s new file mode 100644 index 0000000000..4b84c3ece4 --- /dev/null +++ b/data/pokedex_cry_screen.s @@ -0,0 +1,110 @@ + + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 +CryMeterNeedlePalette: @ 85B7B58 + .incbin "graphics/pokedex/cry_meter_needle.gbapal" + + .align 2 +CryMeterNeedleTiles: @ 85B7B78 + .incbin "graphics/pokedex/cry_meter_needle.4bpp" + + .align 1 +gUnknown_085B8378:: @ 85B8378 + .incbin "graphics/pokedex/cry_meter_map.bin" + + .align 1 +gUnknown_085B8418:: @ 85B8418 + .incbin "graphics/pokedex/cry_meter.gbapal" + + .align 2 +gUnknown_085B8438:: @ 85B8438 + .incbin "graphics/pokedex/cry_meter.4bpp.lz" + + .align 1 +gUnknown_085B8770:: @ 85B8770 + .2byte 0x0,0x4,0x8,0xC,0x10,0x14,0x18,0x1C,0x400,0x404,0x408,0x40C,0x410,0x414,0x418,0x41C,0x800,0x804,0x808,0x80C,0x810,0x814,0x818,0x81C,0xC00,0xC04,0xC08,0xC0C,0xC10,0xC14,0xC18,0xC1C,0x1000,0x1004,0x1008,0x100C,0x1010,0x1014,0x1018,0x101C,0x1400,0x1404,0x1408,0x140C,0x1410,0x1414,0x1418,0x141C,0x1800,0x1804,0x1808,0x180C,0x1810,0x1814,0x1818,0x181C,0x1C00,0x1C04,0x1C08,0x1C0C,0x1C10,0x1C14,0x1C18,0x1C1C,0x2000,0x2004,0x2008,0x200C,0x2010,0x2014,0x2018,0x201C + .2byte 0x0,0x4,0x8,0xC,0x10,0x14,0x18,0x1C,0x400,0x404,0x408,0x40C,0x410,0x414,0x418,0x41C,0x800,0x804,0x808,0x80C,0x810,0x814,0x818,0x81C,0xC00,0xC04,0xC08,0xC0C,0xC10,0xC14,0xC18,0xC1C,0x1000,0x1004,0x1008,0x100C,0x1010,0x1014,0x1018,0x101C,0x1400,0x1404,0x1408,0x140C,0x1410,0x1414,0x1418,0x141C,0x1800,0x1804,0x1808,0x180C,0x1810,0x1814,0x1818,0x181C,0x1C00,0x1C04,0x1C08,0x1C0C,0x1C10,0x1C14,0x1C18,0x1C1C,0x2000,0x2004,0x2008,0x200C,0x2010,0x2014,0x2018,0x201C + .2byte 0x1,0x5,0x9,0xD,0x11,0x15,0x19,0x1D,0x401,0x405,0x409,0x40D,0x411,0x415,0x419,0x41D,0x801,0x805,0x809,0x80D,0x811,0x815,0x819,0x81D,0xC01,0xC05,0xC09,0xC0D,0xC11,0xC15,0xC19,0xC1D,0x1001,0x1005,0x1009,0x100D,0x1011,0x1015,0x1019,0x101D,0x1401,0x1405,0x1409,0x140D,0x1411,0x1415,0x1419,0x141D,0x1801,0x1805,0x1809,0x180D,0x1811,0x1815,0x1819,0x181D,0x1C01,0x1C05,0x1C09,0x1C0D,0x1C11,0x1C15,0x1C19,0x1C1D,0x2001,0x2005,0x2009,0x200D,0x2011,0x2015,0x2019,0x201D + .2byte 0x1,0x5,0x9,0xD,0x11,0x15,0x19,0x1D,0x401,0x405,0x409,0x40D,0x411,0x415,0x419,0x41D,0x801,0x805,0x809,0x80D,0x811,0x815,0x819,0x81D,0xC01,0xC05,0xC09,0xC0D,0xC11,0xC15,0xC19,0xC1D,0x1001,0x1005,0x1009,0x100D,0x1011,0x1015,0x1019,0x101D,0x1401,0x1405,0x1409,0x140D,0x1411,0x1415,0x1419,0x141D,0x1801,0x1805,0x1809,0x180D,0x1811,0x1815,0x1819,0x181D,0x1C01,0x1C05,0x1C09,0x1C0D,0x1C11,0x1C15,0x1C19,0x1C1D,0x2001,0x2005,0x2009,0x200D,0x2011,0x2015,0x2019,0x201D + .2byte 0x2,0x6,0xA,0xE,0x12,0x16,0x1A,0x1E,0x402,0x406,0x40A,0x40E,0x412,0x416,0x41A,0x41E,0x802,0x806,0x80A,0x80E,0x812,0x816,0x81A,0x81E,0xC02,0xC06,0xC0A,0xC0E,0xC12,0xC16,0xC1A,0xC1E,0x1002,0x1006,0x100A,0x100E,0x1012,0x1016,0x101A,0x101E,0x1402,0x1406,0x140A,0x140E,0x1412,0x1416,0x141A,0x141E,0x1802,0x1806,0x180A,0x180E,0x1812,0x1816,0x181A,0x181E,0x1C02,0x1C06,0x1C0A,0x1C0E,0x1C12,0x1C16,0x1C1A,0x1C1E,0x2002,0x2006,0x200A,0x200E,0x2012,0x2016,0x201A,0x201E + .2byte 0x2,0x6,0xA,0xE,0x12,0x16,0x1A,0x1E,0x402,0x406,0x40A,0x40E,0x412,0x416,0x41A,0x41E,0x802,0x806,0x80A,0x80E,0x812,0x816,0x81A,0x81E,0xC02,0xC06,0xC0A,0xC0E,0xC12,0xC16,0xC1A,0xC1E,0x1002,0x1006,0x100A,0x100E,0x1012,0x1016,0x101A,0x101E,0x1402,0x1406,0x140A,0x140E,0x1412,0x1416,0x141A,0x141E,0x1802,0x1806,0x180A,0x180E,0x1812,0x1816,0x181A,0x181E,0x1C02,0x1C06,0x1C0A,0x1C0E,0x1C12,0x1C16,0x1C1A,0x1C1E,0x2002,0x2006,0x200A,0x200E,0x2012,0x2016,0x201A,0x201E + .2byte 0x3,0x7,0xB,0xF,0x13,0x17,0x1B,0x1F,0x403,0x407,0x40B,0x40F,0x413,0x417,0x41B,0x41F,0x803,0x807,0x80B,0x80F,0x813,0x817,0x81B,0x81F,0xC03,0xC07,0xC0B,0xC0F,0xC13,0xC17,0xC1B,0xC1F,0x1003,0x1007,0x100B,0x100F,0x1013,0x1017,0x101B,0x101F,0x1403,0x1407,0x140B,0x140F,0x1413,0x1417,0x141B,0x141F,0x1803,0x1807,0x180B,0x180F,0x1813,0x1817,0x181B,0x181F,0x1C03,0x1C07,0x1C0B,0x1C0F,0x1C13,0x1C17,0x1C1B,0x1C1F,0x2003,0x2007,0x200B,0x200F,0x2013,0x2017,0x201B,0x201F + .2byte 0x3,0x7,0xB,0xF,0x13,0x17,0x1B,0x1F,0x403,0x407,0x40B,0x40F,0x413,0x417,0x41B,0x41F,0x803,0x807,0x80B,0x80F,0x813,0x817,0x81B,0x81F,0xC03,0xC07,0xC0B,0xC0F,0xC13,0xC17,0xC1B,0xC1F,0x1003,0x1007,0x100B,0x100F,0x1013,0x1017,0x101B,0x101F,0x1403,0x1407,0x140B,0x140F,0x1413,0x1417,0x141B,0x141F,0x1803,0x1807,0x180B,0x180F,0x1813,0x1817,0x181B,0x181F,0x1C03,0x1C07,0x1C0B,0x1C0F,0x1C13,0x1C17,0x1C1B,0x1C1F,0x2003,0x2007,0x200B,0x200F,0x2013,0x2017,0x201B,0x201F + + .align 1 +gUnknown_085B8BF0:: @ 85B8BF0 + .incbin "graphics/pokedex/85B8BF0.gbapal" + +gUnknown_085B8C10:: @ 85B8C10 + .byte 0x11 + .byte 0x11 + .byte 0x11 + .byte 0x11 + .byte 0x22 + .byte 0x22 + .byte 0x22 + .byte 0x22 + .byte 0x11 + .byte 0x11 + .byte 0x11 + .byte 0x11 + .byte 0x22 + .byte 0x22 + .byte 0x22 + .byte 0x22 + .byte 0x11 + .byte 0x11 + .byte 0x11 + .byte 0x11 + .byte 0x22 + .byte 0x22 + .byte 0x22 + .byte 0x22 + .byte 0x11 + .byte 0x11 + .byte 0x11 + .byte 0x11 + .byte 0x22 + .byte 0x22 + .byte 0x22 + .byte 0x22 + +gUnknown_085B8C30:: @ 85B8C30 + .byte 0xF0, 0x0F + +gUnknown_085B8C32:: @ 85B8C32 + .byte 0x0F,0x0E,0x0D,0x0C,0x0B,0x0A,0x09,0x08,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F + .byte 0xF0,0xE0,0xD0,0xC0,0xB0,0xA0,0x90,0x80,0x80,0x90,0xA0,0xB0,0xC0,0xD0,0xE0,0xF0 + + .align 2 +gSpriteAnim_85B8C54:: @ 85B8C54 + obj_image_anim_frame 0, 30 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_85B8C5C:: @ 85B8C5C + .4byte gSpriteAnim_85B8C54 + + .align 2 +gOamData_85B8C60:: @ 85B8C60 + .2byte 0x01A0 + .2byte 0xC000 + .2byte 0x0400 + + .align 2 +gUnknown_085B8C68:: @ 85B8C68 + spr_template 8192, 8192, gOamData_85B8C60, gSpriteAnimTable_85B8C5C, NULL, gDummySpriteAffineAnimTable, sub_814596C + + .align 2 +gCryMeterNeedleSpriteSheets:: @ 85B8C80 + obj_tiles CryMeterNeedleTiles, 0x800, 8192 + null_obj_tiles + + .align 2 +gCryMeterNeedleSpritePalettes:: @ 85B8C90 + obj_pal CryMeterNeedlePalette, 8192 + null_obj_pal diff --git a/data/pokedex_entries.inc b/data/pokedex_entries.inc index 76eedf023d..ce98a7b265 100644 --- a/data/pokedex_entries.inc +++ b/data/pokedex_entries.inc @@ -1,11 +1,11 @@ .align 2 gPokedexEntries:: @ 856B5B0 .string "UNKNOWN$", 12 - pokedex_entry 0, 0, gDummyPokedexText, 256, 0, 256, 0 + pokedex_entry 0, 0, gDummyPokedexText, 256, 0, 256, 0 .string "SEED$", 12 pokedex_entry 7, 69, gBulbasaurPokedexText, 356, 17, 256, 0 .string "SEED$", 12 - pokedex_entry 10, 130, gIvysaurPokedexText, 335, 13, 256, 0 + pokedex_entry 10, 130, gIvysaurPokedexText, 335, 13, 256, 0 .string "SEED$", 12 pokedex_entry 20, 1000, gVenusaurPokedexText, 256, 0, 388, 6 .string "LIZARD$", 12 @@ -23,37 +23,37 @@ gPokedexEntries:: @ 856B5B0 .string "WORM$", 12 pokedex_entry 3, 29, gCaterpiePokedexText, 549, 22, 256, 0 .string "COCOON$", 12 - pokedex_entry 7, 99, gMetapodPokedexText, 350, 18, 256, 0 + pokedex_entry 7, 99, gMetapodPokedexText, 350, 18, 256, 0 .string "BUTTERFLY$", 12 pokedex_entry 11, 320, gButterfreePokedexText, 312, 2, 256, 0 .string "HAIRY BUG$", 12 - pokedex_entry 3, 32, gWeedlePokedexText, 455, 22, 256, 0 + pokedex_entry 3, 32, gWeedlePokedexText, 455, 22, 256, 0 .string "COCOON$", 12 - pokedex_entry 6, 100, gKakunaPokedexText, 424, 17, 256, 0 + pokedex_entry 6, 100, gKakunaPokedexText, 424, 17, 256, 0 .string "POISON BEE$", 12 pokedex_entry 10, 295, gBeedrillPokedexText, 366, 2, 256, 0 .string "TINY BIRD$", 12 - pokedex_entry 3, 18, gPidgeyPokedexText, 508, -3, 256, 0 + pokedex_entry 3, 18, gPidgeyPokedexText, 508, -3, 256, 0 .string "BIRD$", 12 pokedex_entry 11, 300, gPidgeottoPokedexText, 331, 10, 256, 0 .string "BIRD$", 12 - pokedex_entry 15, 395, gPidgeotPokedexText, 269, 0, 256, 0 + pokedex_entry 15, 395, gPidgeotPokedexText, 269, 0, 256, 0 .string "MOUSE$", 12 - pokedex_entry 3, 35, gRattataPokedexText, 481, 21, 256, 0 + pokedex_entry 3, 35, gRattataPokedexText, 481, 21, 256, 0 .string "MOUSE$", 12 pokedex_entry 7, 185, gRaticatePokedexText, 459, 18, 256, 0 .string "TINY BIRD$", 12 - pokedex_entry 3, 20, gSpearowPokedexText, 571, 22, 256, 0 + pokedex_entry 3, 20, gSpearowPokedexText, 571, 22, 256, 0 .string "BEAK$", 12 - pokedex_entry 12, 380, gFearowPokedexText, 278, 1, 256, 0 + pokedex_entry 12, 380, gFearowPokedexText, 278, 1, 256, 0 .string "SNAKE$", 12 - pokedex_entry 20, 69, gEkansPokedexText, 298, 12, 256, 0 + pokedex_entry 20, 69, gEkansPokedexText, 298, 12, 256, 0 .string "COBRA$", 12 - pokedex_entry 35, 650, gArbokPokedexText, 256, 0, 296, 2 + pokedex_entry 35, 650, gArbokPokedexText, 256, 0, 296, 2 .string "MOUSE$", 12 - pokedex_entry 4, 60, gPikachuPokedexText, 479, 19, 256, 0 + pokedex_entry 4, 60, gPikachuPokedexText, 479, 19, 256, 0 .string "MOUSE$", 12 - pokedex_entry 8, 300, gRaichuPokedexText, 426, 13, 256, 0 + pokedex_entry 8, 300, gRaichuPokedexText, 426, 13, 256, 0 .string "MOUSE$", 12 pokedex_entry 6, 120, gSandshrewPokedexText, 365, 18, 256, 0 .string "MOUSE$", 12 @@ -75,7 +75,7 @@ gPokedexEntries:: @ 856B5B0 .string "FAIRY$", 12 pokedex_entry 13, 400, gClefablePokedexText, 256, 5, 256, 0 .string "FOX$", 12 - pokedex_entry 6, 99, gVulpixPokedexText, 542, 19, 256, 0 + pokedex_entry 6, 99, gVulpixPokedexText, 542, 19, 256, 0 .string "FOX$", 12 pokedex_entry 11, 199, gNinetalesPokedexText, 339, 10, 256, 0 .string "BALLOON$", 12 @@ -83,37 +83,37 @@ gPokedexEntries:: @ 856B5B0 .string "BALLOON$", 12 pokedex_entry 10, 120, gWigglytuffPokedexText, 328, 11, 256, 0 .string "BAT$", 12 - pokedex_entry 8, 75, gZubatPokedexText, 362, -5, 256, 0 + pokedex_entry 8, 75, gZubatPokedexText, 362, -5, 256, 0 .string "BAT$", 12 - pokedex_entry 16, 550, gGolbatPokedexText, 256, 1, 256, 0 + pokedex_entry 16, 550, gGolbatPokedexText, 256, 1, 256, 0 .string "WEED$", 12 - pokedex_entry 5, 54, gOddishPokedexText, 423, 19, 256, 0 + pokedex_entry 5, 54, gOddishPokedexText, 423, 19, 256, 0 .string "WEED$", 12 - pokedex_entry 8, 86, gGloomPokedexText, 329, 13, 256, 0 + pokedex_entry 8, 86, gGloomPokedexText, 329, 13, 256, 0 .string "FLOWER$", 12 pokedex_entry 12, 186, gVileplumePokedexText, 256, 4, 256, 0 .string "MUSHROOM$", 12 - pokedex_entry 3, 54, gParasPokedexText, 593, 22, 256, 0 + pokedex_entry 3, 54, gParasPokedexText, 593, 22, 256, 0 .string "MUSHROOM$", 12 pokedex_entry 10, 295, gParasectPokedexText, 307, 8, 256, 0 .string "INSECT$", 12 - pokedex_entry 10, 300, gVenonatPokedexText, 360, 0, 256, -1 + pokedex_entry 10, 300, gVenonatPokedexText, 360, 0, 256, -1 .string "POISON MOTH$", 12 pokedex_entry 15, 125, gVenomothPokedexText, 285, 2, 256, 1 .string "MOLE$", 12 - pokedex_entry 2, 8, gDiglettPokedexText, 833, 25, 256, 0 + pokedex_entry 2, 8, gDiglettPokedexText, 833, 25, 256, 0 .string "MOLE$", 12 - pokedex_entry 7, 333, gDugtrioPokedexText, 406, 18, 256, 0 + pokedex_entry 7, 333, gDugtrioPokedexText, 406, 18, 256, 0 .string "SCRATCH CAT$", 12 - pokedex_entry 4, 42, gMeowthPokedexText, 480, 19, 256, 0 + pokedex_entry 4, 42, gMeowthPokedexText, 480, 19, 256, 0 .string "CLASSY CAT$", 12 - pokedex_entry 10, 320, gPersianPokedexText, 320, 10, 256, 0 + pokedex_entry 10, 320, gPersianPokedexText, 320, 10, 256, 0 .string "DUCK$", 12 - pokedex_entry 8, 196, gPsyduckPokedexText, 369, 15, 256, 0 + pokedex_entry 8, 196, gPsyduckPokedexText, 369, 15, 256, 0 .string "DUCK$", 12 - pokedex_entry 17, 766, gGolduckPokedexText, 256, 1, 273, 1 + pokedex_entry 17, 766, gGolduckPokedexText, 256, 1, 273, 1 .string "PIG MONKEY$", 12 - pokedex_entry 5, 280, gMankeyPokedexText, 404, 19, 256, 0 + pokedex_entry 5, 280, gMankeyPokedexText, 404, 19, 256, 0 .string "PIG MONKEY$", 12 pokedex_entry 10, 320, gPrimeapePokedexText, 326, 10, 256, 0 .string "PUPPY$", 12 @@ -121,23 +121,23 @@ gPokedexEntries:: @ 856B5B0 .string "LEGENDARY$", 12 pokedex_entry 19, 1550, gArcaninePokedexText, 256, 1, 312, 4 .string "TADPOLE$", 12 - pokedex_entry 6, 124, gPoliwagPokedexText, 369, 20, 256, 0 + pokedex_entry 6, 124, gPoliwagPokedexText, 369, 20, 256, 0 .string "TADPOLE$", 12 pokedex_entry 10, 200, gPoliwhirlPokedexText, 288, 11, 256, 0 .string "TADPOLE$", 12 pokedex_entry 13, 540, gPoliwrathPokedexText, 256, 6, 256, 0 .string "PSI$", 12 - pokedex_entry 9, 195, gAbraPokedexText, 363, 14, 256, 0 + pokedex_entry 9, 195, gAbraPokedexText, 363, 14, 256, 0 .string "PSI$", 12 - pokedex_entry 13, 565, gKadabraPokedexText, 256, 3, 256, 0 + pokedex_entry 13, 565, gKadabraPokedexText, 256, 3, 256, 0 .string "PSI$", 12 pokedex_entry 15, 480, gAlakazamPokedexText, 256, 3, 256, 0 .string "SUPERPOWER$", 12 - pokedex_entry 8, 195, gMachopPokedexText, 342, 14, 256, 0 + pokedex_entry 8, 195, gMachopPokedexText, 342, 14, 256, 0 .string "SUPERPOWER$", 12 - pokedex_entry 15, 705, gMachokePokedexText, 323, 9, 257, 0 + pokedex_entry 15, 705, gMachokePokedexText, 323, 9, 257, 0 .string "SUPERPOWER$", 12 - pokedex_entry 16, 1300, gMachampPokedexText, 280, 1, 269, -1 + pokedex_entry 16, 1300, gMachampPokedexText, 280, 1, 269, -1 .string "FLOWER$", 12 pokedex_entry 7, 40, gBellsproutPokedexText, 354, 16, 256, 0 .string "FLYCATCHER$", 12 @@ -149,19 +149,19 @@ gPokedexEntries:: @ 856B5B0 .string "JELLYFISH$", 12 pokedex_entry 16, 550, gTentacruelPokedexText, 256, 0, 312, 1 .string "ROCK$", 12 - pokedex_entry 4, 200, gGeodudePokedexText, 347, 18, 256, 0 + pokedex_entry 4, 200, gGeodudePokedexText, 347, 18, 256, 0 .string "ROCK$", 12 pokedex_entry 10, 1050, gGravelerPokedexText, 256, 2, 256, 0 .string "MEGATON$", 12 - pokedex_entry 14, 3000, gGolemPokedexText, 256, 3, 296, 2 + pokedex_entry 14, 3000, gGolemPokedexText, 256, 3, 296, 2 .string "FIRE HORSE$", 12 - pokedex_entry 10, 300, gPonytaPokedexText, 283, 8, 256, 0 + pokedex_entry 10, 300, gPonytaPokedexText, 283, 8, 256, 0 .string "FIRE HORSE$", 12 pokedex_entry 17, 950, gRapidashPokedexText, 256, 0, 289, 1 .string "DOPEY$", 12 pokedex_entry 12, 360, gSlowpokePokedexText, 256, 10, 256, 0 .string "HERMIT CRAB$", 12 - pokedex_entry 16, 785, gSlowbroPokedexText, 256, 6, 296, 2 + pokedex_entry 16, 785, gSlowbroPokedexText, 256, 6, 296, 2 .string "MAGNET$", 12 pokedex_entry 3, 60, gMagnemitePokedexText, 288, -9, 256, 0 .string "MAGNET$", 12 @@ -169,39 +169,39 @@ gPokedexEntries:: @ 856B5B0 .string "WILD DUCK$", 12 pokedex_entry 8, 150, gFarfetchdPokedexText, 330, 2, 293, 2 .string "TWIN BIRD$", 12 - pokedex_entry 14, 392, gDoduoPokedexText, 256, 3, 257, -1 + pokedex_entry 14, 392, gDoduoPokedexText, 256, 3, 257, -1 .string "TRIPLE BIRD$", 12 - pokedex_entry 18, 852, gDodrioPokedexText, 256, 0, 268, 0 + pokedex_entry 18, 852, gDodrioPokedexText, 256, 0, 268, 0 .string "SEA LION$", 12 - pokedex_entry 11, 900, gSeelPokedexText, 297, 8, 256, 0 + pokedex_entry 11, 900, gSeelPokedexText, 297, 8, 256, 0 .string "SEA LION$", 12 - pokedex_entry 17, 1200, gDewgongPokedexText, 256, 0, 275, 0 + pokedex_entry 17, 1200, gDewgongPokedexText, 256, 0, 275, 0 .string "SLUDGE$", 12 - pokedex_entry 9, 300, gGrimerPokedexText, 258, 10, 256, 0 + pokedex_entry 9, 300, gGrimerPokedexText, 258, 10, 256, 0 .string "SLUDGE$", 12 - pokedex_entry 12, 300, gMukPokedexText, 256, 2, 256, 0 + pokedex_entry 12, 300, gMukPokedexText, 256, 2, 256, 0 .string "BIVALVE$", 12 pokedex_entry 3, 40, gShellderPokedexText, 675, 24, 256, 0 .string "BIVALVE$", 12 pokedex_entry 15, 1325, gCloysterPokedexText, 256, 0, 269, 1 .string "GAS$", 12 - pokedex_entry 13, 1, gGastlyPokedexText, 256, 0, 256, 0 + pokedex_entry 13, 1, gGastlyPokedexText, 256, 0, 256, 0 .string "GAS$", 12 - pokedex_entry 16, 1, gHaunterPokedexText, 256, 2, 293, 2 + pokedex_entry 16, 1, gHaunterPokedexText, 256, 2, 293, 2 .string "SHADOW$", 12 - pokedex_entry 15, 405, gGengarPokedexText, 256, 2, 302, 2 + pokedex_entry 15, 405, gGengarPokedexText, 256, 2, 302, 2 .string "ROCK SNAKE$", 12 - pokedex_entry 88, 2100, gOnixPokedexText, 256, 1, 515, 14 + pokedex_entry 88, 2100, gOnixPokedexText, 256, 1, 515, 14 .string "HYPNOSIS$", 12 - pokedex_entry 10, 324, gDrowzeePokedexText, 274, 6, 256, 0 + pokedex_entry 10, 324, gDrowzeePokedexText, 274, 6, 256, 0 .string "HYPNOSIS$", 12 - pokedex_entry 16, 756, gHypnoPokedexText, 256, 3, 257, 0 + pokedex_entry 16, 756, gHypnoPokedexText, 256, 3, 257, 0 .string "RIVER CRAB$", 12 - pokedex_entry 4, 65, gKrabbyPokedexText, 469, 20, 256, 0 + pokedex_entry 4, 65, gKrabbyPokedexText, 469, 20, 256, 0 .string "PINCER$", 12 - pokedex_entry 13, 600, gKinglerPokedexText, 256, 2, 256, 0 + pokedex_entry 13, 600, gKinglerPokedexText, 256, 2, 256, 0 .string "BALL$", 12 - pokedex_entry 5, 104, gVoltorbPokedexText, 364, -8, 256, 0 + pokedex_entry 5, 104, gVoltorbPokedexText, 364, -8, 256, 0 .string "BALL$", 12 pokedex_entry 12, 666, gElectrodePokedexText, 256, 0, 256, 0 .string "EGG$", 12 @@ -209,9 +209,9 @@ gPokedexEntries:: @ 856B5B0 .string "COCONUT$", 12 pokedex_entry 20, 1200, gExeggutorPokedexText, 256, 0, 309, 5 .string "LONELY$", 12 - pokedex_entry 4, 65, gCubonePokedexText, 545, 21, 256, 0 + pokedex_entry 4, 65, gCubonePokedexText, 545, 21, 256, 0 .string "BONE KEEPER$", 12 - pokedex_entry 10, 450, gMarowakPokedexText, 293, 12, 256, 0 + pokedex_entry 10, 450, gMarowakPokedexText, 293, 12, 256, 0 .string "KICKING$", 12 pokedex_entry 15, 498, gHitmonleePokedexText, 256, 3, 259, 1 .string "PUNCHING$", 12 @@ -219,101 +219,101 @@ gPokedexEntries:: @ 856B5B0 .string "LICKING$", 12 pokedex_entry 12, 655, gLickitungPokedexText, 256, 4, 256, 0 .string "POISON GAS$", 12 - pokedex_entry 6, 10, gKoffingPokedexText, 369, -1, 256, 0 + pokedex_entry 6, 10, gKoffingPokedexText, 369, -1, 256, 0 .string "POISON GAS$", 12 - pokedex_entry 12, 95, gWeezingPokedexText, 305, 3, 256, 0 + pokedex_entry 12, 95, gWeezingPokedexText, 305, 3, 256, 0 .string "SPIKES$", 12 - pokedex_entry 10, 1150, gRhyhornPokedexText, 267, 6, 256, 0 + pokedex_entry 10, 1150, gRhyhornPokedexText, 267, 6, 256, 0 .string "DRILL$", 12 - pokedex_entry 19, 1200, gRhydonPokedexText, 256, 1, 299, 2 + pokedex_entry 19, 1200, gRhydonPokedexText, 256, 1, 299, 2 .string "EGG$", 12 - pokedex_entry 11, 346, gChanseyPokedexText, 257, 7, 256, 0 + pokedex_entry 11, 346, gChanseyPokedexText, 257, 7, 256, 0 .string "VINE$", 12 - pokedex_entry 10, 350, gTangelaPokedexText, 304, 1, 256, 0 + pokedex_entry 10, 350, gTangelaPokedexText, 304, 1, 256, 0 .string "PARENT$", 12 pokedex_entry 22, 800, gKangaskhanPokedexText, 256, 0, 387, 8 .string "DRAGON$", 12 - pokedex_entry 4, 80, gHorseaPokedexText, 399, -1, 256, 0 + pokedex_entry 4, 80, gHorseaPokedexText, 399, -1, 256, 0 .string "DRAGON$", 12 - pokedex_entry 12, 250, gSeadraPokedexText, 299, 3, 256, 0 + pokedex_entry 12, 250, gSeadraPokedexText, 299, 3, 256, 0 .string "GOLDFISH$", 12 - pokedex_entry 6, 150, gGoldeenPokedexText, 379, 4, 256, 0 + pokedex_entry 6, 150, gGoldeenPokedexText, 379, 4, 256, 0 .string "GOLDFISH$", 12 - pokedex_entry 13, 390, gSeakingPokedexText, 256, 3, 256, 0 + pokedex_entry 13, 390, gSeakingPokedexText, 256, 3, 256, 0 .string "STAR SHAPE$", 12 - pokedex_entry 8, 345, gStaryuPokedexText, 326, 1, 256, 0 + pokedex_entry 8, 345, gStaryuPokedexText, 326, 1, 256, 0 .string "MYSTERIOUS$", 12 - pokedex_entry 11, 800, gStarmiePokedexText, 301, 3, 256, 0 + pokedex_entry 11, 800, gStarmiePokedexText, 301, 3, 256, 0 .string "BARRIER$", 12 - pokedex_entry 13, 545, gMrmimePokedexText, 258, 6, 256, 0 + pokedex_entry 13, 545, gMrmimePokedexText, 258, 6, 256, 0 .string "MANTIS$", 12 - pokedex_entry 15, 560, gScytherPokedexText, 256, 1, 293, 2 + pokedex_entry 15, 560, gScytherPokedexText, 256, 1, 293, 2 .string "HUMAN SHAPE$", 12 - pokedex_entry 14, 406, gJynxPokedexText, 256, 3, 300, 1 + pokedex_entry 14, 406, gJynxPokedexText, 256, 3, 300, 1 .string "ELECTRIC$", 12 pokedex_entry 11, 300, gElectabuzzPokedexText, 351, 8, 256, 0 .string "SPITFIRE$", 12 - pokedex_entry 13, 445, gMagmarPokedexText, 277, 5, 256, 0 + pokedex_entry 13, 445, gMagmarPokedexText, 277, 5, 256, 0 .string "STAG BEETLE$", 12 - pokedex_entry 15, 550, gPinsirPokedexText, 256, 2, 257, 0 + pokedex_entry 15, 550, gPinsirPokedexText, 256, 2, 257, 0 .string "WILD BULL$", 12 - pokedex_entry 14, 884, gTaurosPokedexText, 256, 0, 256, 0 + pokedex_entry 14, 884, gTaurosPokedexText, 256, 0, 256, 0 .string "FISH$", 12 pokedex_entry 9, 100, gMagikarpPokedexText, 310, 4, 256, 0 .string "ATROCIOUS$", 12 pokedex_entry 65, 2350, gGyaradosPokedexText, 256, 6, 481, 13 .string "TRANSPORT$", 12 - pokedex_entry 25, 2200, gLaprasPokedexText, 257, 10, 423, 8 + pokedex_entry 25, 2200, gLaprasPokedexText, 257, 10, 423, 8 .string "TRANSFORM$", 12 - pokedex_entry 3, 40, gDittoPokedexText, 633, 23, 256, 0 + pokedex_entry 3, 40, gDittoPokedexText, 633, 23, 256, 0 .string "EVOLUTION$", 12 - pokedex_entry 3, 65, gEeveePokedexText, 476, 18, 256, 0 + pokedex_entry 3, 65, gEeveePokedexText, 476, 18, 256, 0 .string "BUBBLE JET$", 12 pokedex_entry 10, 290, gVaporeonPokedexText, 316, 8, 256, 0 .string "LIGHTNING$", 12 - pokedex_entry 8, 245, gJolteonPokedexText, 283, 8, 256, 0 + pokedex_entry 8, 245, gJolteonPokedexText, 283, 8, 256, 0 .string "FLAME$", 12 - pokedex_entry 9, 250, gFlareonPokedexText, 306, 12, 256, 0 + pokedex_entry 9, 250, gFlareonPokedexText, 306, 12, 256, 0 .string "VIRTUAL$", 12 - pokedex_entry 8, 365, gPorygonPokedexText, 328, 15, 256, 0 + pokedex_entry 8, 365, gPorygonPokedexText, 328, 15, 256, 0 .string "SPIRAL$", 12 - pokedex_entry 4, 75, gOmanytePokedexText, 521, 22, 256, 0 + pokedex_entry 4, 75, gOmanytePokedexText, 521, 22, 256, 0 .string "SPIRAL$", 12 - pokedex_entry 10, 350, gOmastarPokedexText, 307, 7, 256, 0 + pokedex_entry 10, 350, gOmastarPokedexText, 307, 7, 256, 0 .string "SHELLFISH$", 12 - pokedex_entry 5, 115, gKabutoPokedexText, 454, 21, 256, 0 + pokedex_entry 5, 115, gKabutoPokedexText, 454, 21, 256, 0 .string "SHELLFISH$", 12 pokedex_entry 13, 405, gKabutopsPokedexText, 271, 3, 256, 0 .string "FOSSIL$", 12 pokedex_entry 18, 590, gAerodactylPokedexText, 256, 0, 302, 4 .string "SLEEPING$", 12 - pokedex_entry 21, 4600, gSnorlaxPokedexText, 256, 4, 423, 11 + pokedex_entry 21, 4600, gSnorlaxPokedexText, 256, 4, 423, 11 .string "FREEZE$", 12 pokedex_entry 17, 554, gArticunoPokedexText, 256, 0, 309, 2 .string "ELECTRIC$", 12 - pokedex_entry 16, 526, gZapdosPokedexText, 256, 0, 318, 3 + pokedex_entry 16, 526, gZapdosPokedexText, 256, 0, 318, 3 .string "FLAME$", 12 - pokedex_entry 20, 600, gMoltresPokedexText, 270, 0, 387, 8 + pokedex_entry 20, 600, gMoltresPokedexText, 270, 0, 387, 8 .string "DRAGON$", 12 - pokedex_entry 18, 33, gDratiniPokedexText, 256, 8, 386, 6 + pokedex_entry 18, 33, gDratiniPokedexText, 256, 8, 386, 6 .string "DRAGON$", 12 pokedex_entry 40, 165, gDragonairPokedexText, 256, 0, 411, 5 .string "DRAGON$", 12 pokedex_entry 22, 2100, gDragonitePokedexText, 256, 0, 309, 4 .string "GENETIC$", 12 - pokedex_entry 20, 1220, gMewtwoPokedexText, 256, 0, 309, 4 + pokedex_entry 20, 1220, gMewtwoPokedexText, 256, 0, 309, 4 .string "NEW SPECIES$", 12 - pokedex_entry 4, 40, gMewPokedexText, 457, -2, 256, 0 + pokedex_entry 4, 40, gMewPokedexText, 457, -2, 256, 0 .string "LEAF$", 12 pokedex_entry 9, 64, gChikoritaPokedexText, 512, 20, 256, 0 .string "LEAF$", 12 - pokedex_entry 12, 158, gBayleefPokedexText, 296, 4, 256, 0 + pokedex_entry 12, 158, gBayleefPokedexText, 296, 4, 256, 0 .string "HERB$", 12 pokedex_entry 18, 1005, gMeganiumPokedexText, 256, 0, 277, 1 .string "FIRE MOUSE$", 12 pokedex_entry 5, 79, gCyndaquilPokedexText, 539, 21, 256, 0 .string "VOLCANO$", 12 - pokedex_entry 9, 190, gQuilavaPokedexText, 329, 11, 256, 0 + pokedex_entry 9, 190, gQuilavaPokedexText, 329, 11, 256, 0 .string "VOLCANO$", 12 pokedex_entry 17, 795, gTyphlosionPokedexText, 256, 0, 268, 1 .string "BIG JAW$", 12 @@ -323,51 +323,51 @@ gPokedexEntries:: @ 856B5B0 .string "BIG JAW$", 12 pokedex_entry 23, 888, gFeraligatrPokedexText, 256, 0, 342, 7 .string "SCOUT$", 12 - pokedex_entry 8, 60, gSentretPokedexText, 439, 12, 256, 0 + pokedex_entry 8, 60, gSentretPokedexText, 439, 12, 256, 0 .string "LONG BODY$", 12 - pokedex_entry 18, 325, gFurretPokedexText, 346, 11, 256, 0 + pokedex_entry 18, 325, gFurretPokedexText, 346, 11, 256, 0 .string "OWL$", 12 pokedex_entry 7, 212, gHoothootPokedexText, 380, -2, 256, 0 .string "OWL$", 12 - pokedex_entry 16, 408, gNoctowlPokedexText, 278, 3, 256, 0 + pokedex_entry 16, 408, gNoctowlPokedexText, 278, 3, 256, 0 .string "FIVE STAR$", 12 - pokedex_entry 10, 108, gLedybaPokedexText, 256, 4, 256, 0 + pokedex_entry 10, 108, gLedybaPokedexText, 256, 4, 256, 0 .string "FIVE STAR$", 12 - pokedex_entry 14, 356, gLedianPokedexText, 256, 2, 256, 0 + pokedex_entry 14, 356, gLedianPokedexText, 256, 2, 256, 0 .string "STRING SPIT$", 12 pokedex_entry 5, 85, gSpinarakPokedexText, 414, 21, 256, 0 .string "LONG LEG$", 12 - pokedex_entry 11, 335, gAriadosPokedexText, 316, 8, 256, 0 + pokedex_entry 11, 335, gAriadosPokedexText, 316, 8, 256, 0 .string "BAT$", 12 - pokedex_entry 18, 750, gCrobatPokedexText, 256, 0, 281, 1 + pokedex_entry 18, 750, gCrobatPokedexText, 256, 0, 281, 1 .string "ANGLER$", 12 pokedex_entry 5, 120, gChinchouPokedexText, 424, -2, 256, 0 .string "LIGHT$", 12 - pokedex_entry 12, 225, gLanturnPokedexText, 269, 6, 256, 0 + pokedex_entry 12, 225, gLanturnPokedexText, 269, 6, 256, 0 .string "TINY MOUSE$", 12 - pokedex_entry 3, 20, gPichuPokedexText, 508, 20, 256, 0 + pokedex_entry 3, 20, gPichuPokedexText, 508, 20, 256, 0 .string "STAR SHAPE$", 12 - pokedex_entry 3, 30, gCleffaPokedexText, 462, 23, 256, 0 + pokedex_entry 3, 30, gCleffaPokedexText, 462, 23, 256, 0 .string "BALLOON$", 12 pokedex_entry 3, 10, gIgglybuffPokedexText, 457, -1, 256, 0 .string "SPIKE BALL$", 12 - pokedex_entry 3, 15, gTogepiPokedexText, 507, 23, 256, 0 + pokedex_entry 3, 15, gTogepiPokedexText, 507, 23, 256, 0 .string "HAPPINESS$", 12 - pokedex_entry 6, 32, gTogeticPokedexText, 424, 17, 256, 0 + pokedex_entry 6, 32, gTogeticPokedexText, 424, 17, 256, 0 .string "TINY BIRD$", 12 - pokedex_entry 2, 20, gNatuPokedexText, 610, 25, 256, 0 + pokedex_entry 2, 20, gNatuPokedexText, 610, 25, 256, 0 .string "MYSTIC$", 12 - pokedex_entry 15, 150, gXatuPokedexText, 256, 6, 318, 4 + pokedex_entry 15, 150, gXatuPokedexText, 256, 6, 318, 4 .string "WOOL$", 12 - pokedex_entry 6, 78, gMareepPokedexText, 379, 18, 256, 0 + pokedex_entry 6, 78, gMareepPokedexText, 379, 18, 256, 0 .string "WOOL$", 12 - pokedex_entry 8, 133, gFlaaffyPokedexText, 372, 15, 256, 0 + pokedex_entry 8, 133, gFlaaffyPokedexText, 372, 15, 256, 0 .string "LIGHT$", 12 pokedex_entry 14, 615, gAmpharosPokedexText, 256, 4, 256, 0 .string "FLOWER$", 12 pokedex_entry 4, 58, gBellossomPokedexText, 472, 21, 256, 0 .string "AQUA MOUSE$", 12 - pokedex_entry 4, 85, gMarillPokedexText, 476, 20, 256, 0 + pokedex_entry 4, 85, gMarillPokedexText, 476, 20, 256, 0 .string "AQUA RABBIT$", 12 pokedex_entry 8, 285, gAzumarillPokedexText, 448, 16, 256, 0 .string "IMITATION$", 12 @@ -375,49 +375,49 @@ gPokedexEntries:: @ 856B5B0 .string "FROG$", 12 pokedex_entry 11, 339, gPolitoedPokedexText, 289, 6, 256, 0 .string "COTTONWEED$", 12 - pokedex_entry 4, 5, gHoppipPokedexText, 562, -7, 256, 0 + pokedex_entry 4, 5, gHoppipPokedexText, 562, -7, 256, 0 .string "COTTONWEED$", 12 pokedex_entry 6, 10, gSkiploomPokedexText, 387, 0, 256, 0 .string "COTTONWEED$", 12 pokedex_entry 8, 30, gJumpluffPokedexText, 418, -4, 256, 0 .string "LONG TAIL$", 12 - pokedex_entry 8, 115, gAipomPokedexText, 363, 6, 256, 0 + pokedex_entry 8, 115, gAipomPokedexText, 363, 6, 256, 0 .string "SEED$", 12 - pokedex_entry 3, 18, gSunkernPokedexText, 541, 0, 256, 0 + pokedex_entry 3, 18, gSunkernPokedexText, 541, 0, 256, 0 .string "SUN$", 12 pokedex_entry 8, 85, gSunfloraPokedexText, 444, 15, 256, 0 .string "CLEAR WING$", 12 - pokedex_entry 12, 380, gYanmaPokedexText, 274, -1, 256, 0 + pokedex_entry 12, 380, gYanmaPokedexText, 274, -1, 256, 0 .string "WATER FISH$", 12 - pokedex_entry 4, 85, gWooperPokedexText, 479, 21, 256, 0 + pokedex_entry 4, 85, gWooperPokedexText, 479, 21, 256, 0 .string "WATER FISH$", 12 pokedex_entry 14, 750, gQuagsirePokedexText, 256, 4, 256, 0 .string "SUN$", 12 - pokedex_entry 9, 265, gEspeonPokedexText, 363, 14, 256, 0 + pokedex_entry 9, 265, gEspeonPokedexText, 363, 14, 256, 0 .string "MOONLIGHT$", 12 - pokedex_entry 10, 270, gUmbreonPokedexText, 317, 11, 256, 0 + pokedex_entry 10, 270, gUmbreonPokedexText, 317, 11, 256, 0 .string "DARKNESS$", 12 - pokedex_entry 5, 21, gMurkrowPokedexText, 401, -8, 256, 1 + pokedex_entry 5, 21, gMurkrowPokedexText, 401, -8, 256, 1 .string "ROYAL$", 12 pokedex_entry 20, 795, gSlowkingPokedexText, 256, 0, 309, 5 .string "SCREECH$", 12 pokedex_entry 7, 10, gMisdreavusPokedexText, 407, -8, 256, 0 .string "SYMBOL$", 12 - pokedex_entry 5, 50, gUnownPokedexText, 411, 2, 256, 0 + pokedex_entry 5, 50, gUnownPokedexText, 411, 2, 256, 0 .string "PATIENT$", 12 pokedex_entry 13, 285, gWobbuffetPokedexText, 274, 4, 256, 0 .string "LONG NECK$", 12 pokedex_entry 15, 415, gGirafarigPokedexText, 281, 1, 256, 0 .string "BAGWORM$", 12 - pokedex_entry 6, 72, gPinecoPokedexText, 445, 2, 256, 0 + pokedex_entry 6, 72, gPinecoPokedexText, 445, 2, 256, 0 .string "BAGWORM$", 12 pokedex_entry 12, 1258, gForretressPokedexText, 293, 5, 256, 0 .string "LAND SNAKE$", 12 pokedex_entry 15, 140, gDunsparcePokedexText, 316, 17, 256, 0 .string "FLYSCORPION$", 12 - pokedex_entry 11, 648, gGligarPokedexText, 350, -1, 256, 0 + pokedex_entry 11, 648, gGligarPokedexText, 350, -1, 256, 0 .string "IRON SNAKE$", 12 - pokedex_entry 92, 4000, gSteelixPokedexText, 256, 0, 516, 13 + pokedex_entry 92, 4000, gSteelixPokedexText, 256, 0, 516, 13 .string "FAIRY$", 12 pokedex_entry 6, 78, gSnubbullPokedexText, 465, 19, 256, 0 .string "FAIRY$", 12 @@ -425,27 +425,27 @@ gPokedexEntries:: @ 856B5B0 .string "BALLOON$", 12 pokedex_entry 5, 39, gQwilfishPokedexText, 430, 0, 256, 0 .string "PINCER$", 12 - pokedex_entry 18, 1180, gScizorPokedexText, 278, 1, 256, 0 + pokedex_entry 18, 1180, gScizorPokedexText, 278, 1, 256, 0 .string "MOLD$", 12 - pokedex_entry 6, 205, gShucklePokedexText, 485, 18, 256, 0 + pokedex_entry 6, 205, gShucklePokedexText, 485, 18, 256, 0 .string "SINGLE HORN$", 12 pokedex_entry 15, 540, gHeracrossPokedexText, 256, 0, 256, 0 .string "SHARP CLAW$", 12 - pokedex_entry 9, 280, gSneaselPokedexText, 413, -3, 256, 0 + pokedex_entry 9, 280, gSneaselPokedexText, 413, -3, 256, 0 .string "LITTLE BEAR$", 12 pokedex_entry 6, 88, gTeddiursaPokedexText, 455, 19, 256, 0 .string "HIBERNATOR$", 12 pokedex_entry 18, 1258, gUrsaringPokedexText, 256, 0, 256, 0 .string "LAVA$", 12 - pokedex_entry 7, 350, gSlugmaPokedexText, 329, 15, 256, 0 + pokedex_entry 7, 350, gSlugmaPokedexText, 329, 15, 256, 0 .string "LAVA$", 12 pokedex_entry 8, 550, gMagcargoPokedexText, 332, 15, 256, 0 .string "PIG$", 12 - pokedex_entry 4, 65, gSwinubPokedexText, 324, 20, 256, 0 + pokedex_entry 4, 65, gSwinubPokedexText, 324, 20, 256, 0 .string "SWINE$", 12 pokedex_entry 11, 558, gPiloswinePokedexText, 306, 10, 256, 0 .string "CORAL$", 12 - pokedex_entry 6, 50, gCorsolaPokedexText, 410, 15, 256, 0 + pokedex_entry 6, 50, gCorsolaPokedexText, 410, 15, 256, 0 .string "JET$", 12 pokedex_entry 6, 120, gRemoraidPokedexText, 316, 4, 256, 0 .string "JET$", 12 @@ -453,7 +453,7 @@ gPokedexEntries:: @ 856B5B0 .string "DELIVERY$", 12 pokedex_entry 9, 160, gDelibirdPokedexText, 293, 11, 256, 0 .string "KITE$", 12 - pokedex_entry 21, 2200, gMantinePokedexText, 256, 0, 342, 7 + pokedex_entry 21, 2200, gMantinePokedexText, 256, 0, 342, 7 .string "ARMOR BIRD$", 12 pokedex_entry 17, 505, gSkarmoryPokedexText, 256, 0, 271, 1 .string "DARK$", 12 @@ -461,11 +461,11 @@ gPokedexEntries:: @ 856B5B0 .string "DARK$", 12 pokedex_entry 14, 350, gHoundoomPokedexText, 256, 4, 256, 0 .string "DRAGON$", 12 - pokedex_entry 18, 1520, gKingdraPokedexText, 256, 0, 287, 0 + pokedex_entry 18, 1520, gKingdraPokedexText, 256, 0, 287, 0 .string "LONG NOSE$", 12 - pokedex_entry 5, 335, gPhanpyPokedexText, 465, 21, 256, 0 + pokedex_entry 5, 335, gPhanpyPokedexText, 465, 21, 256, 0 .string "ARMOR$", 12 - pokedex_entry 11, 1200, gDonphanPokedexText, 313, 9, 256, 0 + pokedex_entry 11, 1200, gDonphanPokedexText, 313, 9, 256, 0 .string "VIRTUAL$", 12 pokedex_entry 6, 325, gPorygon2PokedexText, 320, 17, 256, 0 .string "BIG HORN$", 12 @@ -473,51 +473,51 @@ gPokedexEntries:: @ 856B5B0 .string "PAINTER$", 12 pokedex_entry 12, 580, gSmearglePokedexText, 287, 5, 256, 0 .string "SCUFFLE$", 12 - pokedex_entry 7, 210, gTyroguePokedexText, 292, 9, 256, 0 + pokedex_entry 7, 210, gTyroguePokedexText, 292, 9, 256, 0 .string "HANDSTAND$", 12 pokedex_entry 14, 480, gHitmontopPokedexText, 256, 2, 257, 0 .string "KISS$", 12 pokedex_entry 4, 60, gSmoochumPokedexText, 440, 20, 256, 0 .string "ELECTRIC$", 12 - pokedex_entry 6, 235, gElekidPokedexText, 363, 14, 256, 0 + pokedex_entry 6, 235, gElekidPokedexText, 363, 14, 256, 0 .string "LIVE COAL$", 12 - pokedex_entry 7, 214, gMagbyPokedexText, 284, 13, 256, 0 + pokedex_entry 7, 214, gMagbyPokedexText, 284, 13, 256, 0 .string "MILK COW$", 12 - pokedex_entry 12, 755, gMiltankPokedexText, 280, 5, 256, 0 + pokedex_entry 12, 755, gMiltankPokedexText, 280, 5, 256, 0 .string "HAPPINESS$", 12 - pokedex_entry 15, 468, gBlisseyPokedexText, 256, 4, 310, 3 + pokedex_entry 15, 468, gBlisseyPokedexText, 256, 4, 310, 3 .string "THUNDER$", 12 - pokedex_entry 19, 1780, gRaikouPokedexText, 256, 0, 345, 7 + pokedex_entry 19, 1780, gRaikouPokedexText, 256, 0, 345, 7 .string "VOLCANO$", 12 - pokedex_entry 21, 1980, gEnteiPokedexText, 259, 0, 345, 7 + pokedex_entry 21, 1980, gEnteiPokedexText, 259, 0, 345, 7 .string "AURORA$", 12 - pokedex_entry 20, 1870, gSuicunePokedexText, 269, 0, 345, 7 + pokedex_entry 20, 1870, gSuicunePokedexText, 269, 0, 345, 7 .string "ROCK SKIN$", 12 pokedex_entry 6, 720, gLarvitarPokedexText, 472, 18, 256, 0 .string "HARD SHELL$", 12 - pokedex_entry 12, 1520, gPupitarPokedexText, 292, 8, 256, 0 + pokedex_entry 12, 1520, gPupitarPokedexText, 292, 8, 256, 0 .string "ARMOR$", 12 pokedex_entry 20, 2020, gTyranitarPokedexText, 256, 0, 345, 7 .string "DIVING$", 12 - pokedex_entry 52, 2160, gLugiaPokedexText, 256, 0, 721, 19 + pokedex_entry 52, 2160, gLugiaPokedexText, 256, 0, 721, 19 .string "RAINBOW$", 12 - pokedex_entry 38, 1990, gHoOhPokedexText, 256, 0, 610, 17 + pokedex_entry 38, 1990, gHoOhPokedexText, 256, 0, 610, 17 .string "TIME TRAVEL$", 12 - pokedex_entry 6, 50, gCelebiPokedexText, 393, -10, 256, 0 + pokedex_entry 6, 50, gCelebiPokedexText, 393, -10, 256, 0 .string "WOOD GECKO$", 12 - pokedex_entry 5, 50, gTreeckoPokedexText, 541, 19, 256, 0 + pokedex_entry 5, 50, gTreeckoPokedexText, 541, 19, 256, 0 .string "WOOD GECKO$", 12 - pokedex_entry 9, 216, gGrovylePokedexText, 360, 5, 256, 0 + pokedex_entry 9, 216, gGrovylePokedexText, 360, 5, 256, 0 .string "FOREST$", 12 pokedex_entry 17, 522, gSceptilePokedexText, 256, -1, 275, 2 .string "CHICK$", 12 - pokedex_entry 4, 25, gTorchicPokedexText, 566, 19, 256, 0 + pokedex_entry 4, 25, gTorchicPokedexText, 566, 19, 256, 0 .string "YOUNG FOWL$", 12 pokedex_entry 9, 195, gCombuskenPokedexText, 343, 5, 256, 0 .string "BLAZE$", 12 pokedex_entry 19, 520, gBlazikenPokedexText, 256, 0, 301, 4 .string "MUD FISH$", 12 - pokedex_entry 4, 76, gMudkipPokedexText, 535, 20, 256, 0 + pokedex_entry 4, 76, gMudkipPokedexText, 535, 20, 256, 0 .string "MUD FISH$", 12 pokedex_entry 7, 280, gMarshtompPokedexText, 340, 7, 256, 0 .string "MUD FISH$", 12 @@ -529,91 +529,91 @@ gPokedexEntries:: @ 856B5B0 .string "TINYRACCOON$", 12 pokedex_entry 4, 175, gZigzagoonPokedexText, 560, 22, 256, 0 .string "RUSHING$", 12 - pokedex_entry 5, 325, gLinoonePokedexText, 321, 7, 256, 0 + pokedex_entry 5, 325, gLinoonePokedexText, 321, 7, 256, 0 .string "WORM$", 12 - pokedex_entry 3, 36, gWurmplePokedexText, 711, 24, 256, 0 + pokedex_entry 3, 36, gWurmplePokedexText, 711, 24, 256, 0 .string "COCOON$", 12 - pokedex_entry 6, 100, gSilcoonPokedexText, 431, 19, 256, 0 + pokedex_entry 6, 100, gSilcoonPokedexText, 431, 19, 256, 0 .string "BUTTERFLY$", 12 pokedex_entry 10, 284, gBeautiflyPokedexText, 298, -1, 256, 0 .string "COCOON$", 12 - pokedex_entry 7, 115, gCascoonPokedexText, 391, 20, 256, 0 + pokedex_entry 7, 115, gCascoonPokedexText, 391, 20, 256, 0 .string "POISON MOTH$", 12 - pokedex_entry 12, 316, gDustoxPokedexText, 269, 1, 256, 0 + pokedex_entry 12, 316, gDustoxPokedexText, 269, 1, 256, 0 .string "WATER WEED$", 12 - pokedex_entry 5, 26, gLotadPokedexText, 406, 19, 256, 0 + pokedex_entry 5, 26, gLotadPokedexText, 406, 19, 256, 0 .string "JOLLY$", 12 - pokedex_entry 12, 325, gLombrePokedexText, 277, 9, 256, 0 + pokedex_entry 12, 325, gLombrePokedexText, 277, 9, 256, 0 .string "CAREFREE$", 12 pokedex_entry 15, 550, gLudicoloPokedexText, 256, 0, 268, -1 .string "ACORN$", 12 - pokedex_entry 5, 40, gSeedotPokedexText, 472, 20, 256, 0 + pokedex_entry 5, 40, gSeedotPokedexText, 472, 20, 256, 0 .string "WILY$", 12 - pokedex_entry 10, 280, gNuzleafPokedexText, 299, 10, 256, 0 + pokedex_entry 10, 280, gNuzleafPokedexText, 299, 10, 256, 0 .string "WICKED$", 12 - pokedex_entry 13, 596, gShiftryPokedexText, 290, 4, 256, 0 + pokedex_entry 13, 596, gShiftryPokedexText, 290, 4, 256, 0 .string "TINYSWALLOW$", 12 - pokedex_entry 3, 23, gTaillowPokedexText, 465, 21, 256, 0 + pokedex_entry 3, 23, gTaillowPokedexText, 465, 21, 256, 0 .string "SWALLOW$", 12 - pokedex_entry 7, 198, gSwellowPokedexText, 428, 15, 256, 0 + pokedex_entry 7, 198, gSwellowPokedexText, 428, 15, 256, 0 .string "SEAGULL$", 12 - pokedex_entry 6, 95, gWingullPokedexText, 295, -2, 256, 0 + pokedex_entry 6, 95, gWingullPokedexText, 295, -2, 256, 0 .string "WATER BIRD$", 12 pokedex_entry 12, 280, gPelipperPokedexText, 288, 1, 256, 0 .string "FEELING$", 12 - pokedex_entry 4, 66, gRaltsPokedexText, 457, -3, 256, 0 + pokedex_entry 4, 66, gRaltsPokedexText, 457, -3, 256, 0 .string "EMOTION$", 12 - pokedex_entry 8, 202, gKirliaPokedexText, 354, 0, 256, 0 + pokedex_entry 8, 202, gKirliaPokedexText, 354, 0, 256, 0 .string "EMBRACE$", 12 pokedex_entry 16, 484, gGardevoirPokedexText, 256, 0, 256, 0 .string "POND SKATER$", 12 - pokedex_entry 5, 17, gSurskitPokedexText, 375, 17, 256, 0 + pokedex_entry 5, 17, gSurskitPokedexText, 375, 17, 256, 0 .string "EYEBALL$", 12 pokedex_entry 8, 36, gMasquerainPokedexText, 378, 8, 256, 0 .string "MUSHROOM$", 12 pokedex_entry 4, 45, gShroomishPokedexText, 513, 22, 256, 0 .string "MUSHROOM$", 12 - pokedex_entry 12, 392, gBreloomPokedexText, 324, 6, 256, 0 + pokedex_entry 12, 392, gBreloomPokedexText, 324, 6, 256, 0 .string "SLACKER$", 12 - pokedex_entry 8, 240, gSlakothPokedexText, 291, 16, 256, 0 + pokedex_entry 8, 240, gSlakothPokedexText, 291, 16, 256, 0 .string "WILD MONKEY$", 12 pokedex_entry 14, 465, gVigorothPokedexText, 301, 2, 256, 0 .string "LAZY$", 12 - pokedex_entry 20, 1305, gSlakingPokedexText, 256, 2, 300, 1 + pokedex_entry 20, 1305, gSlakingPokedexText, 256, 2, 300, 1 .string "TRAINEE$", 12 - pokedex_entry 5, 55, gNincadaPokedexText, 405, 21, 256, 0 + pokedex_entry 5, 55, gNincadaPokedexText, 405, 21, 256, 0 .string "NINJA$", 12 - pokedex_entry 8, 120, gNinjaskPokedexText, 383, -9, 256, 0 + pokedex_entry 8, 120, gNinjaskPokedexText, 383, -9, 256, 0 .string "SHED$", 12 pokedex_entry 8, 12, gShedinjaPokedexText, 372, -8, 256, 0 .string "WHISPER$", 12 - pokedex_entry 6, 163, gWhismurPokedexText, 373, 17, 256, 0 + pokedex_entry 6, 163, gWhismurPokedexText, 373, 17, 256, 0 .string "BIG VOICE$", 12 - pokedex_entry 10, 405, gLoudredPokedexText, 356, 10, 256, 0 + pokedex_entry 10, 405, gLoudredPokedexText, 356, 10, 256, 0 .string "LOUD NOISE$", 12 - pokedex_entry 15, 840, gExploudPokedexText, 284, 1, 256, 0 + pokedex_entry 15, 840, gExploudPokedexText, 284, 1, 256, 0 .string "GUTS$", 12 pokedex_entry 10, 864, gMakuhitaPokedexText, 256, 10, 256, 0 .string "ARM THRUST$", 12 pokedex_entry 23, 2538, gHariyamaPokedexText, 256, 0, 343, 7 .string "POLKA DOT$", 12 - pokedex_entry 2, 20, gAzurillPokedexText, 603, 23, 256, 0 + pokedex_entry 2, 20, gAzurillPokedexText, 603, 23, 256, 0 .string "COMPASS$", 12 pokedex_entry 10, 970, gNosepassPokedexText, 256, 9, 289, 3 .string "KITTEN$", 12 - pokedex_entry 6, 110, gSkittyPokedexText, 492, 19, 256, 0 + pokedex_entry 6, 110, gSkittyPokedexText, 492, 19, 256, 0 .string "PRIM$", 12 pokedex_entry 11, 326, gDelcattyPokedexText, 322, 10, 256, 0 .string "DARKNESS$", 12 - pokedex_entry 5, 110, gSableyePokedexText, 451, 17, 256, 0 + pokedex_entry 5, 110, gSableyePokedexText, 451, 17, 256, 0 .string "DECEIVER$", 12 - pokedex_entry 6, 115, gMawilePokedexText, 466, 17, 256, 0 + pokedex_entry 6, 115, gMawilePokedexText, 466, 17, 256, 0 .string "IRON ARMOR$", 12 - pokedex_entry 4, 600, gAronPokedexText, 419, 23, 256, 0 + pokedex_entry 4, 600, gAronPokedexText, 419, 23, 256, 0 .string "IRON ARMOR$", 12 - pokedex_entry 9, 1200, gLaironPokedexText, 275, 12, 256, 0 + pokedex_entry 9, 1200, gLaironPokedexText, 275, 12, 256, 0 .string "IRON ARMOR$", 12 - pokedex_entry 21, 3600, gAggronPokedexText, 256, -1, 350, 6 + pokedex_entry 21, 3600, gAggronPokedexText, 256, -1, 350, 6 .string "MEDITATE$", 12 pokedex_entry 6, 112, gMedititePokedexText, 465, 17, 256, 0 .string "MEDITATE$", 12 @@ -623,61 +623,61 @@ gPokedexEntries:: @ 856B5B0 .string "DISCHARGE$", 12 pokedex_entry 15, 402, gManectricPokedexText, 256, 3, 257, 0 .string "CHEERING$", 12 - pokedex_entry 4, 42, gPluslePokedexText, 515, -9, 256, 0 + pokedex_entry 4, 42, gPluslePokedexText, 515, -9, 256, 0 .string "CHEERING$", 12 - pokedex_entry 4, 42, gMinunPokedexText, 512, -7, 256, 0 + pokedex_entry 4, 42, gMinunPokedexText, 512, -7, 256, 0 .string "FIREFLY$", 12 - pokedex_entry 7, 177, gVolbeatPokedexText, 442, 16, 256, 0 + pokedex_entry 7, 177, gVolbeatPokedexText, 442, 16, 256, 0 .string "FIREFLY$", 12 pokedex_entry 6, 177, gIllumisePokedexText, 572, 19, 256, 0 .string "THORN$", 12 - pokedex_entry 3, 20, gRoseliaPokedexText, 677, 20, 256, 0 + pokedex_entry 3, 20, gRoseliaPokedexText, 677, 20, 256, 0 .string "STOMACH$", 12 - pokedex_entry 4, 103, gGulpinPokedexText, 593, 23, 256, 0 + pokedex_entry 4, 103, gGulpinPokedexText, 593, 23, 256, 0 .string "POISON BAG$", 12 - pokedex_entry 17, 800, gSwalotPokedexText, 256, 6, 345, 3 + pokedex_entry 17, 800, gSwalotPokedexText, 256, 6, 345, 3 .string "SAVAGE$", 12 pokedex_entry 8, 208, gCarvanhaPokedexText, 362, 0, 256, 0 .string "BRUTAL$", 12 pokedex_entry 18, 888, gSharpedoPokedexText, 256, 0, 317, 3 .string "BALL WHALE$", 12 - pokedex_entry 20, 1300, gWailmerPokedexText, 256, 2, 493, 0 + pokedex_entry 20, 1300, gWailmerPokedexText, 256, 2, 493, 0 .string "FLOAT WHALE$", 12 - pokedex_entry 145, 3980, gWailordPokedexText, 256, 0, 1352, 18 + pokedex_entry 145, 3980, gWailordPokedexText, 256, 0, 1352, 18 .string "NUMB$", 12 - pokedex_entry 7, 240, gNumelPokedexText, 342, 17, 256, 0 + pokedex_entry 7, 240, gNumelPokedexText, 342, 17, 256, 0 .string "ERUPTION$", 12 pokedex_entry 19, 2200, gCameruptPokedexText, 256, 7, 345, 6 .string "COAL$", 12 - pokedex_entry 5, 804, gTorkoalPokedexText, 390, 9, 256, 0 + pokedex_entry 5, 804, gTorkoalPokedexText, 390, 9, 256, 0 .string "BOUNCE$", 12 - pokedex_entry 7, 306, gSpoinkPokedexText, 423, 17, 256, 0 + pokedex_entry 7, 306, gSpoinkPokedexText, 423, 17, 256, 0 .string "MANIPULATE$", 12 - pokedex_entry 9, 715, gGrumpigPokedexText, 358, 10, 256, 0 + pokedex_entry 9, 715, gGrumpigPokedexText, 358, 10, 256, 0 .string "SPOT PANDA$", 12 - pokedex_entry 11, 50, gSpindaPokedexText, 321, 4, 256, 0 + pokedex_entry 11, 50, gSpindaPokedexText, 321, 4, 256, 0 .string "ANT PIT$", 12 pokedex_entry 7, 150, gTrapinchPokedexText, 298, 17, 256, 0 .string "VIBRATION$", 12 - pokedex_entry 11, 153, gVibravaPokedexText, 370, 11, 256, 0 + pokedex_entry 11, 153, gVibravaPokedexText, 370, 11, 256, 0 .string "MYSTIC$", 12 - pokedex_entry 20, 820, gFlygonPokedexText, 256, 0, 268, 1 + pokedex_entry 20, 820, gFlygonPokedexText, 256, 0, 268, 1 .string "CACTUS$", 12 - pokedex_entry 4, 513, gCacneaPokedexText, 455, 20, 256, 0 + pokedex_entry 4, 513, gCacneaPokedexText, 455, 20, 256, 0 .string "SCARECROW$", 12 pokedex_entry 13, 774, gCacturnePokedexText, 327, 5, 256, 0 .string "COTTON BIRD$", 12 - pokedex_entry 4, 12, gSwabluPokedexText, 422, -8, 256, 0 + pokedex_entry 4, 12, gSwabluPokedexText, 422, -8, 256, 0 .string "HUMMING$", 12 - pokedex_entry 11, 206, gAltariaPokedexText, 327, 0, 256, 0 + pokedex_entry 11, 206, gAltariaPokedexText, 327, 0, 256, 0 .string "CAT FERRET$", 12 pokedex_entry 13, 403, gZangoosePokedexText, 256, 3, 256, 0 .string "FANG SNAKE$", 12 - pokedex_entry 27, 525, gSeviperPokedexText, 275, 7, 256, 0 + pokedex_entry 27, 525, gSeviperPokedexText, 275, 7, 256, 0 .string "METEORITE$", 12 pokedex_entry 10, 1680, gLunatonePokedexText, 300, 3, 256, 0 .string "METEORITE$", 12 - pokedex_entry 12, 1540, gSolrockPokedexText, 328, 0, 256, 0 + pokedex_entry 12, 1540, gSolrockPokedexText, 328, 0, 256, 0 .string "WHISKERS$", 12 pokedex_entry 4, 19, gBarboachPokedexText, 581, -3, 256, 0 .string "WHISKERS$", 12 @@ -687,90 +687,90 @@ gPokedexEntries:: @ 856B5B0 .string "ROGUE$", 12 pokedex_entry 11, 328, gCrawdauntPokedexText, 365, 9, 256, 0 .string "CLAY DOLL$", 12 - pokedex_entry 5, 215, gBaltoyPokedexText, 457, 21, 256, 0 + pokedex_entry 5, 215, gBaltoyPokedexText, 457, 21, 256, 0 .string "CLAY DOLL$", 12 - pokedex_entry 15, 1080, gClaydolPokedexText, 256, 3, 280, 1 + pokedex_entry 15, 1080, gClaydolPokedexText, 256, 3, 280, 1 .string "SEA LILY$", 12 - pokedex_entry 10, 238, gLileepPokedexText, 305, 8, 256, 0 + pokedex_entry 10, 238, gLileepPokedexText, 305, 8, 256, 0 .string "BARNACLE$", 12 - pokedex_entry 15, 604, gCradilyPokedexText, 267, 0, 256, 0 + pokedex_entry 15, 604, gCradilyPokedexText, 267, 0, 256, 0 .string "OLD SHRIMP$", 12 - pokedex_entry 7, 125, gAnorithPokedexText, 296, 4, 256, 0 + pokedex_entry 7, 125, gAnorithPokedexText, 296, 4, 256, 0 .string "PLATE$", 12 - pokedex_entry 15, 682, gArmaldoPokedexText, 312, 3, 271, 0 + pokedex_entry 15, 682, gArmaldoPokedexText, 312, 3, 271, 0 .string "FISH$", 12 - pokedex_entry 6, 74, gFeebasPokedexText, 423, -4, 256, 0 + pokedex_entry 6, 74, gFeebasPokedexText, 423, -4, 256, 0 .string "TENDER$", 12 - pokedex_entry 62, 1620, gMiloticPokedexText, 256, 0, 360, 7 + pokedex_entry 62, 1620, gMiloticPokedexText, 256, 0, 360, 7 .string "WEATHER$", 12 - pokedex_entry 3, 8, gCastformPokedexText, 435, -5, 256, 0 + pokedex_entry 3, 8, gCastformPokedexText, 435, -5, 256, 0 .string "COLOR SWAP$", 12 - pokedex_entry 10, 220, gKecleonPokedexText, 316, 10, 256, 0 + pokedex_entry 10, 220, gKecleonPokedexText, 316, 10, 256, 0 .string "PUPPET$", 12 - pokedex_entry 6, 23, gShuppetPokedexText, 440, 20, 256, 0 + pokedex_entry 6, 23, gShuppetPokedexText, 440, 20, 256, 0 .string "MARIONETTE$", 12 - pokedex_entry 11, 125, gBanettePokedexText, 262, 9, 256, 0 + pokedex_entry 11, 125, gBanettePokedexText, 262, 9, 256, 0 .string "REQUIEM$", 12 - pokedex_entry 8, 150, gDuskullPokedexText, 406, -4, 256, 0 + pokedex_entry 8, 150, gDuskullPokedexText, 406, -4, 256, 0 .string "BECKON$", 12 pokedex_entry 16, 306, gDusclopsPokedexText, 256, 3, 299, 1 .string "FRUIT$", 12 - pokedex_entry 20, 1000, gTropiusPokedexText, 256, 0, 344, 7 + pokedex_entry 20, 1000, gTropiusPokedexText, 256, 0, 344, 7 .string "WIND CHIME$", 12 pokedex_entry 6, 10, gChimechoPokedexText, 505, 0, 256, 0 .string "DISASTER$", 12 - pokedex_entry 12, 470, gAbsolPokedexText, 301, 3, 256, 0 + pokedex_entry 12, 470, gAbsolPokedexText, 301, 3, 256, 0 .string "BRIGHT$", 12 - pokedex_entry 6, 140, gWynautPokedexText, 484, 19, 256, 0 + pokedex_entry 6, 140, gWynautPokedexText, 484, 19, 256, 0 .string "SNOW HAT$", 12 - pokedex_entry 7, 168, gSnoruntPokedexText, 380, 15, 256, 0 + pokedex_entry 7, 168, gSnoruntPokedexText, 380, 15, 256, 0 .string "FACE$", 12 - pokedex_entry 15, 2565, gGlaliePokedexText, 256, 3, 344, 0 + pokedex_entry 15, 2565, gGlaliePokedexText, 256, 3, 344, 0 .string "CLAP$", 12 - pokedex_entry 8, 395, gSphealPokedexText, 315, 16, 256, 0 + pokedex_entry 8, 395, gSphealPokedexText, 315, 16, 256, 0 .string "BALL ROLL$", 12 - pokedex_entry 11, 876, gSealeoPokedexText, 338, 13, 256, 0 + pokedex_entry 11, 876, gSealeoPokedexText, 338, 13, 256, 0 .string "ICE BREAK$", 12 - pokedex_entry 14, 1506, gWalreinPokedexText, 316, 4, 256, 0 + pokedex_entry 14, 1506, gWalreinPokedexText, 316, 4, 256, 0 .string "BIVALVE$", 12 pokedex_entry 4, 525, gClamperlPokedexText, 691, 22, 256, 0 .string "DEEP SEA$", 12 - pokedex_entry 17, 270, gHuntailPokedexText, 307, 1, 256, 0 + pokedex_entry 17, 270, gHuntailPokedexText, 307, 1, 256, 0 .string "SOUTH SEA$", 12 pokedex_entry 18, 226, gGorebyssPokedexText, 278, 5, 256, 0 .string "LONGEVITY$", 12 pokedex_entry 10, 234, gRelicanthPokedexText, 316, 7, 256, 0 .string "RENDEZVOUS$", 12 - pokedex_entry 6, 87, gLuvdiscPokedexText, 371, 2, 256, 0 + pokedex_entry 6, 87, gLuvdiscPokedexText, 371, 2, 256, 0 .string "ROCK HEAD$", 12 - pokedex_entry 6, 421, gBagonPokedexText, 448, 18, 256, 0 + pokedex_entry 6, 421, gBagonPokedexText, 448, 18, 256, 0 .string "ENDURANCE$", 12 - pokedex_entry 11, 1105, gShelgonPokedexText, 311, 12, 256, 0 + pokedex_entry 11, 1105, gShelgonPokedexText, 311, 12, 256, 0 .string "DRAGON$", 12 pokedex_entry 15, 1026, gSalamencePokedexText, 256, 0, 256, 0 .string "IRON BALL$", 12 - pokedex_entry 6, 952, gBeldumPokedexText, 414, -1, 256, 0 + pokedex_entry 6, 952, gBeldumPokedexText, 414, -1, 256, 0 .string "IRON CLAW$", 12 - pokedex_entry 12, 2025, gMetangPokedexText, 256, 6, 256, 0 + pokedex_entry 12, 2025, gMetangPokedexText, 256, 6, 256, 0 .string "IRON LEG$", 12 pokedex_entry 16, 5500, gMetagrossPokedexText, 256, 4, 447, 9 .string "ROCK PEAK$", 12 pokedex_entry 17, 2300, gRegirockPokedexText, 256, 2, 309, 1 .string "ICEBERG$", 12 - pokedex_entry 18, 1750, gRegicePokedexText, 256, 0, 301, 2 + pokedex_entry 18, 1750, gRegicePokedexText, 256, 0, 301, 2 .string "IRON$", 12 pokedex_entry 19, 2050, gRegisteelPokedexText, 256, 0, 359, 6 .string "EON$", 12 - pokedex_entry 14, 400, gLatiasPokedexText, 304, 3, 256, 0 + pokedex_entry 14, 400, gLatiasPokedexText, 304, 3, 256, 0 .string "EON$", 12 - pokedex_entry 20, 600, gLatiosPokedexText, 256, 0, 294, 3 + pokedex_entry 20, 600, gLatiosPokedexText, 256, 0, 294, 3 .string "SEA BASIN$", 12 - pokedex_entry 45, 3520, gKyogrePokedexText, 256, 0, 614, 13 + pokedex_entry 45, 3520, gKyogrePokedexText, 256, 0, 614, 13 .string "CONTINENT$", 12 - pokedex_entry 35, 9500, gGroudonPokedexText, 256, 0, 515, 14 + pokedex_entry 35, 9500, gGroudonPokedexText, 256, 0, 515, 14 .string "SKY HIGH$", 12 pokedex_entry 70, 2065, gRayquazaPokedexText, 256, 0, 448, 12 .string "WISH$", 12 - pokedex_entry 3, 11, gJirachiPokedexText, 608, -8, 256, 0 + pokedex_entry 3, 11, gJirachiPokedexText, 608, -8, 256, 0 .string "DNA$", 12 - pokedex_entry 17, 608, gDeoxysPokedexText, 256, 0, 290, 2 + pokedex_entry 17, 608, gDeoxysPokedexText, 256, 0, 290, 2 diff --git a/data/pokedex_order.inc b/data/pokedex_order.inc deleted file mode 100644 index a7699edacc..0000000000 --- a/data/pokedex_order.inc +++ /dev/null @@ -1,1238 +0,0 @@ -gSpeciesToHoennPokedexNum:: @ 831D94C - .2byte 203 - .2byte 204 - .2byte 205 - .2byte 206 - .2byte 207 - .2byte 208 - .2byte 209 - .2byte 210 - .2byte 211 - .2byte 212 - .2byte 213 - .2byte 214 - .2byte 215 - .2byte 216 - .2byte 217 - .2byte 218 - .2byte 219 - .2byte 220 - .2byte 221 - .2byte 222 - .2byte 223 - .2byte 224 - .2byte 225 - .2byte 226 - .2byte 156 - .2byte 157 - .2byte 112 - .2byte 113 - .2byte 227 - .2byte 228 - .2byte 229 - .2byte 230 - .2byte 231 - .2byte 232 - .2byte 233 - .2byte 234 - .2byte 153 - .2byte 154 - .2byte 138 - .2byte 139 - .2byte 63 - .2byte 64 - .2byte 88 - .2byte 89 - .2byte 90 - .2byte 235 - .2byte 236 - .2byte 237 - .2byte 238 - .2byte 239 - .2byte 240 - .2byte 241 - .2byte 242 - .2byte 158 - .2byte 159 - .2byte 243 - .2byte 244 - .2byte 245 - .2byte 246 - .2byte 247 - .2byte 248 - .2byte 249 - .2byte 39 - .2byte 40 - .2byte 41 - .2byte 73 - .2byte 74 - .2byte 75 - .2byte 250 - .2byte 251 - .2byte 252 - .2byte 66 - .2byte 67 - .2byte 57 - .2byte 58 - .2byte 59 - .2byte 253 - .2byte 254 - .2byte 255 - .2byte 256 - .2byte 82 - .2byte 83 - .2byte 257 - .2byte 92 - .2byte 93 - .2byte 258 - .2byte 259 - .2byte 106 - .2byte 107 - .2byte 260 - .2byte 261 - .2byte 262 - .2byte 263 - .2byte 264 - .2byte 265 - .2byte 266 - .2byte 267 - .2byte 268 - .2byte 269 - .2byte 84 - .2byte 85 - .2byte 270 - .2byte 271 - .2byte 272 - .2byte 273 - .2byte 274 - .2byte 275 - .2byte 276 - .2byte 108 - .2byte 109 - .2byte 169 - .2byte 170 - .2byte 277 - .2byte 278 - .2byte 279 - .2byte 184 - .2byte 185 - .2byte 50 - .2byte 51 - .2byte 143 - .2byte 144 - .2byte 280 - .2byte 281 - .2byte 282 - .2byte 283 - .2byte 284 - .2byte 167 - .2byte 285 - .2byte 52 - .2byte 53 - .2byte 286 - .2byte 287 - .2byte 288 - .2byte 289 - .2byte 290 - .2byte 291 - .2byte 292 - .2byte 293 - .2byte 294 - .2byte 295 - .2byte 296 - .2byte 297 - .2byte 298 - .2byte 299 - .2byte 300 - .2byte 301 - .2byte 302 - .2byte 303 - .2byte 304 - .2byte 305 - .2byte 306 - .2byte 307 - .2byte 308 - .2byte 309 - .2byte 310 - .2byte 311 - .2byte 312 - .2byte 313 - .2byte 314 - .2byte 315 - .2byte 316 - .2byte 317 - .2byte 318 - .2byte 319 - .2byte 320 - .2byte 321 - .2byte 322 - .2byte 323 - .2byte 65 - .2byte 181 - .2byte 182 - .2byte 155 - .2byte 324 - .2byte 137 - .2byte 325 - .2byte 326 - .2byte 162 - .2byte 163 - .2byte 327 - .2byte 328 - .2byte 329 - .2byte 91 - .2byte 55 - .2byte 56 - .2byte 330 - .2byte 331 - .2byte 332 - .2byte 333 - .2byte 334 - .2byte 335 - .2byte 336 - .2byte 337 - .2byte 338 - .2byte 339 - .2byte 340 - .2byte 341 - .2byte 342 - .2byte 343 - .2byte 344 - .2byte 345 - .2byte 346 - .2byte 161 - .2byte 164 - .2byte 347 - .2byte 348 - .2byte 349 - .2byte 350 - .2byte 351 - .2byte 352 - .2byte 353 - .2byte 354 - .2byte 355 - .2byte 356 - .2byte 168 - .2byte 357 - .2byte 358 - .2byte 359 - .2byte 103 - .2byte 104 - .2byte 360 - .2byte 361 - .2byte 180 - .2byte 362 - .2byte 363 - .2byte 364 - .2byte 365 - .2byte 115 - .2byte 366 - .2byte 367 - .2byte 186 - .2byte 165 - .2byte 166 - .2byte 368 - .2byte 369 - .2byte 370 - .2byte 371 - .2byte 372 - .2byte 373 - .2byte 374 - .2byte 375 - .2byte 376 - .2byte 377 - .2byte 378 - .2byte 379 - .2byte 380 - .2byte 381 - .2byte 382 - .2byte 383 - .2byte 384 - .2byte 385 - .2byte 386 - .2byte 387 - .2byte 388 - .2byte 389 - .2byte 390 - .2byte 391 - .2byte 392 - .2byte 393 - .2byte 394 - .2byte 395 - .2byte 396 - .2byte 397 - .2byte 398 - .2byte 399 - .2byte 400 - .2byte 401 - .2byte 402 - .2byte 403 - .2byte 404 - .2byte 405 - .2byte 406 - .2byte 407 - .2byte 408 - .2byte 409 - .2byte 410 - .2byte 411 - .2byte 1 - .2byte 2 - .2byte 3 - .2byte 4 - .2byte 5 - .2byte 6 - .2byte 7 - .2byte 8 - .2byte 9 - .2byte 10 - .2byte 11 - .2byte 12 - .2byte 13 - .2byte 14 - .2byte 15 - .2byte 16 - .2byte 17 - .2byte 18 - .2byte 19 - .2byte 20 - .2byte 21 - .2byte 22 - .2byte 23 - .2byte 24 - .2byte 42 - .2byte 43 - .2byte 44 - .2byte 25 - .2byte 26 - .2byte 34 - .2byte 35 - .2byte 114 - .2byte 27 - .2byte 28 - .2byte 32 - .2byte 33 - .2byte 99 - .2byte 100 - .2byte 61 - .2byte 62 - .2byte 145 - .2byte 131 - .2byte 132 - .2byte 60 - .2byte 105 - .2byte 68 - .2byte 127 - .2byte 128 - .2byte 183 - .2byte 129 - .2byte 130 - .2byte 140 - .2byte 141 - .2byte 97 - .2byte 98 - .2byte 116 - .2byte 117 - .2byte 118 - .2byte 48 - .2byte 49 - .2byte 78 - .2byte 79 - .2byte 101 - .2byte 102 - .2byte 173 - .2byte 174 - .2byte 175 - .2byte 119 - .2byte 120 - .2byte 171 - .2byte 172 - .2byte 125 - .2byte 126 - .2byte 54 - .2byte 110 - .2byte 111 - .2byte 80 - .2byte 81 - .2byte 69 - .2byte 76 - .2byte 77 - .2byte 121 - .2byte 122 - .2byte 160 - .2byte 148 - .2byte 149 - .2byte 94 - .2byte 36 - .2byte 37 - .2byte 38 - .2byte 95 - .2byte 96 - .2byte 150 - .2byte 45 - .2byte 46 - .2byte 47 - .2byte 176 - .2byte 177 - .2byte 178 - .2byte 152 - .2byte 146 - .2byte 147 - .2byte 124 - .2byte 123 - .2byte 179 - .2byte 70 - .2byte 71 - .2byte 72 - .2byte 142 - .2byte 86 - .2byte 87 - .2byte 133 - .2byte 134 - .2byte 135 - .2byte 136 - .2byte 29 - .2byte 30 - .2byte 31 - .2byte 187 - .2byte 188 - .2byte 189 - .2byte 190 - .2byte 191 - .2byte 192 - .2byte 193 - .2byte 194 - .2byte 195 - .2byte 198 - .2byte 199 - .2byte 200 - .2byte 196 - .2byte 197 - .2byte 201 - .2byte 202 - .2byte 151 - -gSpeciesToNationalPokedexNum:: @ 831DC82 - .2byte 1 - .2byte 2 - .2byte 3 - .2byte 4 - .2byte 5 - .2byte 6 - .2byte 7 - .2byte 8 - .2byte 9 - .2byte 10 - .2byte 11 - .2byte 12 - .2byte 13 - .2byte 14 - .2byte 15 - .2byte 16 - .2byte 17 - .2byte 18 - .2byte 19 - .2byte 20 - .2byte 21 - .2byte 22 - .2byte 23 - .2byte 24 - .2byte 25 - .2byte 26 - .2byte 27 - .2byte 28 - .2byte 29 - .2byte 30 - .2byte 31 - .2byte 32 - .2byte 33 - .2byte 34 - .2byte 35 - .2byte 36 - .2byte 37 - .2byte 38 - .2byte 39 - .2byte 40 - .2byte 41 - .2byte 42 - .2byte 43 - .2byte 44 - .2byte 45 - .2byte 46 - .2byte 47 - .2byte 48 - .2byte 49 - .2byte 50 - .2byte 51 - .2byte 52 - .2byte 53 - .2byte 54 - .2byte 55 - .2byte 56 - .2byte 57 - .2byte 58 - .2byte 59 - .2byte 60 - .2byte 61 - .2byte 62 - .2byte 63 - .2byte 64 - .2byte 65 - .2byte 66 - .2byte 67 - .2byte 68 - .2byte 69 - .2byte 70 - .2byte 71 - .2byte 72 - .2byte 73 - .2byte 74 - .2byte 75 - .2byte 76 - .2byte 77 - .2byte 78 - .2byte 79 - .2byte 80 - .2byte 81 - .2byte 82 - .2byte 83 - .2byte 84 - .2byte 85 - .2byte 86 - .2byte 87 - .2byte 88 - .2byte 89 - .2byte 90 - .2byte 91 - .2byte 92 - .2byte 93 - .2byte 94 - .2byte 95 - .2byte 96 - .2byte 97 - .2byte 98 - .2byte 99 - .2byte 100 - .2byte 101 - .2byte 102 - .2byte 103 - .2byte 104 - .2byte 105 - .2byte 106 - .2byte 107 - .2byte 108 - .2byte 109 - .2byte 110 - .2byte 111 - .2byte 112 - .2byte 113 - .2byte 114 - .2byte 115 - .2byte 116 - .2byte 117 - .2byte 118 - .2byte 119 - .2byte 120 - .2byte 121 - .2byte 122 - .2byte 123 - .2byte 124 - .2byte 125 - .2byte 126 - .2byte 127 - .2byte 128 - .2byte 129 - .2byte 130 - .2byte 131 - .2byte 132 - .2byte 133 - .2byte 134 - .2byte 135 - .2byte 136 - .2byte 137 - .2byte 138 - .2byte 139 - .2byte 140 - .2byte 141 - .2byte 142 - .2byte 143 - .2byte 144 - .2byte 145 - .2byte 146 - .2byte 147 - .2byte 148 - .2byte 149 - .2byte 150 - .2byte 151 - .2byte 152 - .2byte 153 - .2byte 154 - .2byte 155 - .2byte 156 - .2byte 157 - .2byte 158 - .2byte 159 - .2byte 160 - .2byte 161 - .2byte 162 - .2byte 163 - .2byte 164 - .2byte 165 - .2byte 166 - .2byte 167 - .2byte 168 - .2byte 169 - .2byte 170 - .2byte 171 - .2byte 172 - .2byte 173 - .2byte 174 - .2byte 175 - .2byte 176 - .2byte 177 - .2byte 178 - .2byte 179 - .2byte 180 - .2byte 181 - .2byte 182 - .2byte 183 - .2byte 184 - .2byte 185 - .2byte 186 - .2byte 187 - .2byte 188 - .2byte 189 - .2byte 190 - .2byte 191 - .2byte 192 - .2byte 193 - .2byte 194 - .2byte 195 - .2byte 196 - .2byte 197 - .2byte 198 - .2byte 199 - .2byte 200 - .2byte 201 - .2byte 202 - .2byte 203 - .2byte 204 - .2byte 205 - .2byte 206 - .2byte 207 - .2byte 208 - .2byte 209 - .2byte 210 - .2byte 211 - .2byte 212 - .2byte 213 - .2byte 214 - .2byte 215 - .2byte 216 - .2byte 217 - .2byte 218 - .2byte 219 - .2byte 220 - .2byte 221 - .2byte 222 - .2byte 223 - .2byte 224 - .2byte 225 - .2byte 226 - .2byte 227 - .2byte 228 - .2byte 229 - .2byte 230 - .2byte 231 - .2byte 232 - .2byte 233 - .2byte 234 - .2byte 235 - .2byte 236 - .2byte 237 - .2byte 238 - .2byte 239 - .2byte 240 - .2byte 241 - .2byte 242 - .2byte 243 - .2byte 244 - .2byte 245 - .2byte 246 - .2byte 247 - .2byte 248 - .2byte 249 - .2byte 250 - .2byte 251 - .2byte 387 - .2byte 388 - .2byte 389 - .2byte 390 - .2byte 391 - .2byte 392 - .2byte 393 - .2byte 394 - .2byte 395 - .2byte 396 - .2byte 397 - .2byte 398 - .2byte 399 - .2byte 400 - .2byte 401 - .2byte 402 - .2byte 403 - .2byte 404 - .2byte 405 - .2byte 406 - .2byte 407 - .2byte 408 - .2byte 409 - .2byte 410 - .2byte 411 - .2byte 252 - .2byte 253 - .2byte 254 - .2byte 255 - .2byte 256 - .2byte 257 - .2byte 258 - .2byte 259 - .2byte 260 - .2byte 261 - .2byte 262 - .2byte 263 - .2byte 264 - .2byte 265 - .2byte 266 - .2byte 267 - .2byte 268 - .2byte 269 - .2byte 270 - .2byte 271 - .2byte 272 - .2byte 273 - .2byte 274 - .2byte 275 - .2byte 290 - .2byte 291 - .2byte 292 - .2byte 276 - .2byte 277 - .2byte 285 - .2byte 286 - .2byte 327 - .2byte 278 - .2byte 279 - .2byte 283 - .2byte 284 - .2byte 320 - .2byte 321 - .2byte 300 - .2byte 301 - .2byte 352 - .2byte 343 - .2byte 344 - .2byte 299 - .2byte 324 - .2byte 302 - .2byte 339 - .2byte 340 - .2byte 370 - .2byte 341 - .2byte 342 - .2byte 349 - .2byte 350 - .2byte 318 - .2byte 319 - .2byte 328 - .2byte 329 - .2byte 330 - .2byte 296 - .2byte 297 - .2byte 309 - .2byte 310 - .2byte 322 - .2byte 323 - .2byte 363 - .2byte 364 - .2byte 365 - .2byte 331 - .2byte 332 - .2byte 361 - .2byte 362 - .2byte 337 - .2byte 338 - .2byte 298 - .2byte 325 - .2byte 326 - .2byte 311 - .2byte 312 - .2byte 303 - .2byte 307 - .2byte 308 - .2byte 333 - .2byte 334 - .2byte 360 - .2byte 355 - .2byte 356 - .2byte 315 - .2byte 287 - .2byte 288 - .2byte 289 - .2byte 316 - .2byte 317 - .2byte 357 - .2byte 293 - .2byte 294 - .2byte 295 - .2byte 366 - .2byte 367 - .2byte 368 - .2byte 359 - .2byte 353 - .2byte 354 - .2byte 336 - .2byte 335 - .2byte 369 - .2byte 304 - .2byte 305 - .2byte 306 - .2byte 351 - .2byte 313 - .2byte 314 - .2byte 345 - .2byte 346 - .2byte 347 - .2byte 348 - .2byte 280 - .2byte 281 - .2byte 282 - .2byte 371 - .2byte 372 - .2byte 373 - .2byte 374 - .2byte 375 - .2byte 376 - .2byte 377 - .2byte 378 - .2byte 379 - .2byte 382 - .2byte 383 - .2byte 384 - .2byte 380 - .2byte 381 - .2byte 385 - .2byte 386 - .2byte 358 - -gHoennToNationalOrder:: @ 831DFB8 - .2byte 252 - .2byte 253 - .2byte 254 - .2byte 255 - .2byte 256 - .2byte 257 - .2byte 258 - .2byte 259 - .2byte 260 - .2byte 261 - .2byte 262 - .2byte 263 - .2byte 264 - .2byte 265 - .2byte 266 - .2byte 267 - .2byte 268 - .2byte 269 - .2byte 270 - .2byte 271 - .2byte 272 - .2byte 273 - .2byte 274 - .2byte 275 - .2byte 276 - .2byte 277 - .2byte 278 - .2byte 279 - .2byte 280 - .2byte 281 - .2byte 282 - .2byte 283 - .2byte 284 - .2byte 285 - .2byte 286 - .2byte 287 - .2byte 288 - .2byte 289 - .2byte 63 - .2byte 64 - .2byte 65 - .2byte 290 - .2byte 291 - .2byte 292 - .2byte 293 - .2byte 294 - .2byte 295 - .2byte 296 - .2byte 297 - .2byte 118 - .2byte 119 - .2byte 129 - .2byte 130 - .2byte 298 - .2byte 183 - .2byte 184 - .2byte 74 - .2byte 75 - .2byte 76 - .2byte 299 - .2byte 300 - .2byte 301 - .2byte 41 - .2byte 42 - .2byte 169 - .2byte 72 - .2byte 73 - .2byte 302 - .2byte 303 - .2byte 304 - .2byte 305 - .2byte 306 - .2byte 66 - .2byte 67 - .2byte 68 - .2byte 307 - .2byte 308 - .2byte 309 - .2byte 310 - .2byte 311 - .2byte 312 - .2byte 81 - .2byte 82 - .2byte 100 - .2byte 101 - .2byte 313 - .2byte 314 - .2byte 43 - .2byte 44 - .2byte 45 - .2byte 182 - .2byte 84 - .2byte 85 - .2byte 315 - .2byte 316 - .2byte 317 - .2byte 318 - .2byte 319 - .2byte 320 - .2byte 321 - .2byte 322 - .2byte 323 - .2byte 218 - .2byte 219 - .2byte 324 - .2byte 88 - .2byte 89 - .2byte 109 - .2byte 110 - .2byte 325 - .2byte 326 - .2byte 27 - .2byte 28 - .2byte 327 - .2byte 227 - .2byte 328 - .2byte 329 - .2byte 330 - .2byte 331 - .2byte 332 - .2byte 333 - .2byte 334 - .2byte 335 - .2byte 336 - .2byte 337 - .2byte 338 - .2byte 339 - .2byte 340 - .2byte 341 - .2byte 342 - .2byte 343 - .2byte 344 - .2byte 345 - .2byte 346 - .2byte 347 - .2byte 348 - .2byte 174 - .2byte 39 - .2byte 40 - .2byte 349 - .2byte 350 - .2byte 351 - .2byte 120 - .2byte 121 - .2byte 352 - .2byte 353 - .2byte 354 - .2byte 355 - .2byte 356 - .2byte 357 - .2byte 358 - .2byte 359 - .2byte 37 - .2byte 38 - .2byte 172 - .2byte 25 - .2byte 26 - .2byte 54 - .2byte 55 - .2byte 360 - .2byte 202 - .2byte 177 - .2byte 178 - .2byte 203 - .2byte 231 - .2byte 232 - .2byte 127 - .2byte 214 - .2byte 111 - .2byte 112 - .2byte 361 - .2byte 362 - .2byte 363 - .2byte 364 - .2byte 365 - .2byte 366 - .2byte 367 - .2byte 368 - .2byte 369 - .2byte 222 - .2byte 170 - .2byte 171 - .2byte 370 - .2byte 116 - .2byte 117 - .2byte 230 - .2byte 371 - .2byte 372 - .2byte 373 - .2byte 374 - .2byte 375 - .2byte 376 - .2byte 377 - .2byte 378 - .2byte 379 - .2byte 380 - .2byte 381 - .2byte 382 - .2byte 383 - .2byte 384 - .2byte 385 - .2byte 386 - .2byte 1 - .2byte 2 - .2byte 3 - .2byte 4 - .2byte 5 - .2byte 6 - .2byte 7 - .2byte 8 - .2byte 9 - .2byte 10 - .2byte 11 - .2byte 12 - .2byte 13 - .2byte 14 - .2byte 15 - .2byte 16 - .2byte 17 - .2byte 18 - .2byte 19 - .2byte 20 - .2byte 21 - .2byte 22 - .2byte 23 - .2byte 24 - .2byte 29 - .2byte 30 - .2byte 31 - .2byte 32 - .2byte 33 - .2byte 34 - .2byte 35 - .2byte 36 - .2byte 46 - .2byte 47 - .2byte 48 - .2byte 49 - .2byte 50 - .2byte 51 - .2byte 52 - .2byte 53 - .2byte 56 - .2byte 57 - .2byte 58 - .2byte 59 - .2byte 60 - .2byte 61 - .2byte 62 - .2byte 69 - .2byte 70 - .2byte 71 - .2byte 77 - .2byte 78 - .2byte 79 - .2byte 80 - .2byte 83 - .2byte 86 - .2byte 87 - .2byte 90 - .2byte 91 - .2byte 92 - .2byte 93 - .2byte 94 - .2byte 95 - .2byte 96 - .2byte 97 - .2byte 98 - .2byte 99 - .2byte 102 - .2byte 103 - .2byte 104 - .2byte 105 - .2byte 106 - .2byte 107 - .2byte 108 - .2byte 113 - .2byte 114 - .2byte 115 - .2byte 122 - .2byte 123 - .2byte 124 - .2byte 125 - .2byte 126 - .2byte 128 - .2byte 131 - .2byte 132 - .2byte 133 - .2byte 134 - .2byte 135 - .2byte 136 - .2byte 137 - .2byte 138 - .2byte 139 - .2byte 140 - .2byte 141 - .2byte 142 - .2byte 143 - .2byte 144 - .2byte 145 - .2byte 146 - .2byte 147 - .2byte 148 - .2byte 149 - .2byte 150 - .2byte 151 - .2byte 152 - .2byte 153 - .2byte 154 - .2byte 155 - .2byte 156 - .2byte 157 - .2byte 158 - .2byte 159 - .2byte 160 - .2byte 161 - .2byte 162 - .2byte 163 - .2byte 164 - .2byte 165 - .2byte 166 - .2byte 167 - .2byte 168 - .2byte 173 - .2byte 175 - .2byte 176 - .2byte 179 - .2byte 180 - .2byte 181 - .2byte 185 - .2byte 186 - .2byte 187 - .2byte 188 - .2byte 189 - .2byte 190 - .2byte 191 - .2byte 192 - .2byte 193 - .2byte 194 - .2byte 195 - .2byte 196 - .2byte 197 - .2byte 198 - .2byte 199 - .2byte 200 - .2byte 201 - .2byte 204 - .2byte 205 - .2byte 206 - .2byte 207 - .2byte 208 - .2byte 209 - .2byte 210 - .2byte 211 - .2byte 212 - .2byte 213 - .2byte 215 - .2byte 216 - .2byte 217 - .2byte 220 - .2byte 221 - .2byte 223 - .2byte 224 - .2byte 225 - .2byte 226 - .2byte 228 - .2byte 229 - .2byte 233 - .2byte 234 - .2byte 235 - .2byte 236 - .2byte 237 - .2byte 238 - .2byte 239 - .2byte 240 - .2byte 241 - .2byte 242 - .2byte 243 - .2byte 244 - .2byte 245 - .2byte 246 - .2byte 247 - .2byte 248 - .2byte 249 - .2byte 250 - .2byte 251 - .2byte 387 - .2byte 388 - .2byte 389 - .2byte 390 - .2byte 391 - .2byte 392 - .2byte 393 - .2byte 394 - .2byte 395 - .2byte 396 - .2byte 397 - .2byte 398 - .2byte 399 - .2byte 400 - .2byte 401 - .2byte 402 - .2byte 403 - .2byte 404 - .2byte 405 - .2byte 406 - .2byte 407 - .2byte 408 - .2byte 409 - .2byte 410 - .2byte 411 diff --git a/data/pokemon_icon.s b/data/pokemon_icon.s deleted file mode 100644 index 9d6c7ac2e0..0000000000 --- a/data/pokemon_icon.s +++ /dev/null @@ -1,27 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -@ 857BCA8 - .include "data/graphics/pokemon/icon_table.inc" - -@ 857C388 - .include "data/graphics/pokemon/icon_palette_indices.inc" - -@ 857C540 - .include "data/graphics/pokemon/icon_palette_table.inc" - -gUnknown_0857C570:: @ 857C570 - .incbin "baserom.gba", 0x57c570, 0x44 - -gUnknown_0857C5B4:: @ 857C5B4 - .incbin "baserom.gba", 0x57c5b4, 0x14 - .incbin "baserom.gba", 0x57c5c8, 0x20 - -gUnknown_0857C5E8:: @ 857C5E8 - .incbin "baserom.gba", 0x57c5e8, 0x8 - -gUnknown_0857C5F0:: @ 857C5F0 - .incbin "baserom.gba", 0x57c5f0, 0x18 diff --git a/data/pokemon_storage_system.s b/data/pokemon_storage_system.s index 4f2815713c..f05613b005 100644 --- a/data/pokemon_storage_system.s +++ b/data/pokemon_storage_system.s @@ -1,152 +1,1130 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" + .include "asm/macros.inc" + .include "constants/constants.inc" - .section .rodata - .align 2, 0 - -gUnknown_085716C0:: @ 85716C0 - .incbin "baserom.gba", 0x5716c0, 0x28 - -gUnknown_085716E8:: @ 85716E8 - .incbin "baserom.gba", 0x5716e8, 0x28 - -gUnknown_08571710:: @ 8571710 - .incbin "baserom.gba", 0x571710, 0x24 - -gUnknown_08571734:: @ 8571734 - .incbin "baserom.gba", 0x571734, 0x3 - -gUnknown_08571737:: @ 8571737 - .incbin "baserom.gba", 0x571737, 0x5 + .section .rodata + .align 2 gUnknown_0857173C:: @ 857173C - .incbin "baserom.gba", 0x57173c, 0x20 + .incbin "graphics/unknown/unknown_57173C.gbapal" + .align 2 gUnknown_0857175C:: @ 857175C - .incbin "baserom.gba", 0x57175c, 0x800 + .incbin "graphics/pokemon_storage/box_selection_popup_center.4bpp" + .align 2 gUnknown_08571F5C:: @ 8571F5C - .incbin "baserom.gba", 0x571f5c, 0x180 + .incbin "graphics/pokemon_storage/box_selection_popup_sides.4bpp" + .align 2 gUnknown_085720DC:: @ 85720DC - .incbin "baserom.gba", 0x5720dc, 0x98 + .incbin "graphics/pokemon_storage/scrolling_bg.4bpp.lz" + .align 2 gUnknown_08572174:: @ 8572174 - .incbin "baserom.gba", 0x572174, 0x12c + .incbin "graphics/pokemon_storage/scrolling_bg.bin.lz" + .align 2 +gUnknown_08572280:: @ 8572280 + .incbin "graphics/unknown/unknown_572280.gbapal" + + .align 2 gUnknown_085722A0:: @ 85722A0 - .incbin "baserom.gba", 0x5722a0, 0xfc + .incbin "graphics/unknown/unknown_5722A0.bin.lz" + .align 1 gUnknown_0857239C:: @ 857239C - .incbin "baserom.gba", 0x57239c, 0x40 + .2byte 0x0101, 0x0102, 0x0103, 0x0104, 0x0105, 0x0106, 0x0107, 0x0108, 0x0111, 0x0112, 0x0113, 0x0114, 0x0115, 0x0116, 0x0117, 0x0118 + .2byte 0x2101, 0x2102, 0x2103, 0x2104, 0x2105, 0x2106, 0x2107, 0x2108, 0x2111, 0x2112, 0x2113, 0x2114, 0x2115, 0x2116, 0x2117, 0x2118 + .align 2 gUnknown_085723DC:: @ 85723DC - .incbin "baserom.gba", 0x5723dc, 0x20 + .incbin "graphics/unknown/unknown_5723DC.gbapal" + .align 2 gUnknown_085723FC:: @ 85723FC - .incbin "baserom.gba", 0x5723fc, 0x20 + .incbin "graphics/unknown/unknown_5723FC.gbapal" + .align 2 gUnknown_0857241C:: @ 857241C - .incbin "baserom.gba", 0x57241c, 0x20 + .incbin "graphics/unknown/unknown_57241C.gbapal" + .align 2 gUnknown_0857243C:: @ 857243C - .incbin "baserom.gba", 0x57243c, 0x20 + .incbin "graphics/unknown/unknown_57243C.gbapal" + .align 1 gUnknown_0857245C:: @ 857245C - .incbin "baserom.gba", 0x57245c, 0x48 + .2byte 0x014c, 0x014d, 0x014e, 0x014f, 0x0170, 0x0171, 0x0172, 0x0173, 0x0174, 0x015c, 0x015d, 0x015e, 0x015f, 0x0180, 0x0181, 0x0182 + .2byte 0x0183, 0x0184, 0x0175, 0x0176, 0x0177, 0x0178, 0x0179, 0x017a, 0x017b, 0x017c, 0x017d, 0x0185, 0x0186, 0x0187, 0x0188, 0x0189 + .2byte 0x018a, 0x018b, 0x018c, 0x018d + .align 1 gUnknown_085724A4:: @ 85724A4 - .incbin "baserom.gba", 0x5724a4, 0x18 + .2byte 0x1140, 0x1141, 0x1141, 0x1142, 0x1150, 0x1151, 0x1151, 0x1152, 0x1160, 0x1161, 0x1161, 0x1162 + .align 1 gUnknown_085724BC:: @ 85724BC - .incbin "baserom.gba", 0x5724bc, 0x238 + .2byte 0x1143, 0x1144, 0x1144, 0x1145, 0x1153, 0x1154, 0x1154, 0x1155, 0x1163, 0x1164, 0x1164, 0x1165 + .align 2 +WaveformPalette:: @ 85724D4 + .incbin "graphics/pokemon_storage/waveform.gbapal" + + .align 2 +WaveformTiles:: @ 85724F4 + .incbin "graphics/pokemon_storage/waveform.4bpp" + + .align 2 +gUnknown_085726B4:: @ 85726B4 + .incbin "graphics/unused/unknown_5726B4.gbapal" + + .align 2 gUnknown_085726F4:: @ 85726F4 - .incbin "baserom.gba", 0x5726f4, 0x20 + .incbin "graphics/unknown/unknown_5726F4.gbapal" + .align 2 gUnknown_08572714:: @ 8572714 - .incbin "baserom.gba", 0x572714, 0x20 + window_template 0x01, 0x00, 0x0b, 0x09, 0x07, 0x03, 0x00c0 + window_template 0x00, 0x0b, 0x11, 0x12, 0x02, 0x0f, 0x0014 + window_template 0x00, 0x00, 0x0d, 0x15, 0x07, 0x0f, 0x0014 + null_window_template + .align 2 gUnknown_08572734:: @ 8572734 - .incbin "baserom.gba", 0x572734, 0x10 + .4byte 0x000001d0, 0x004011e5, 0x000023ba, 0x000031ff -gUnknown_08572744:: @ 8572744 - .incbin "baserom.gba", 0x572744, 0x8 + .align 2 +gWaveformSpritePalette:: @ 8572744 + obj_pal WaveformPalette, 0xDACA -gUnknown_0857274C:: @ 857274C - .incbin "baserom.gba", 0x57274c, 0x8 + .align 2 +gWaveformSpriteSheet:: @ 857274C + obj_tiles WaveformTiles, 0x1C0, 5 gUnknown_08572754:: @ 8572754 - .incbin "baserom.gba", 0x572754, 0x18 + spr_template 2, 0xDAC6, gOamData_857286C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_0857276C:: @ 857276C - .incbin "baserom.gba", 0x57276c, 0xf8 + .4byte gText_ExitFromBox, 0 + .4byte gText_WhatDoYouWantToDo, 0 + .4byte gText_PleasePickATheme, 0 + .4byte gText_PickTheWallpaper, 0 + .4byte gText_PkmnIsSelected, 1 + .4byte gText_JumpToWhichBox, 0 + .4byte gText_DepositInWhichBox, 0 + .4byte gText_PkmnWasDeposited, 1 + .4byte gText_BoxIsFull2, 0 + .4byte gText_ReleaseThisPokemon, 0 + .4byte gText_PkmnWasReleased, 4 + .4byte gText_ByeByePkmn, 6 + .4byte gText_MarkYourPkmn, 0 + .4byte gText_ThatsYourLastPkmn, 0 + .4byte gText_YourPartysFull, 0 + .4byte gText_YoureHoldingAPkmn, 0 + .4byte gText_WhichOneWillYouTake, 0 + .4byte gText_YouCantReleaseAnEgg, 0 + .4byte gText_ContinueBoxOperations, 0 + .4byte gText_PkmnCameBack, 1 + .4byte gText_WasItWorriedAboutYou, 0 + .4byte gText_FourEllipsesExclamation, 0 + .4byte gText_PleaseRemoveTheMail, 0 + .4byte gText_PkmnIsSelected, 7 + .4byte gText_GiveToAPkmn, 0 + .4byte gText_PlacedItemInBag, 7 + .4byte gText_BagIsFull2, 0 + .4byte gText_PutItemInBag, 0 + .4byte gText_ItemIsNowHeld, 7 + .4byte gText_ChangedToNewItem, 7 + .4byte gText_MailCantBeStored, 0 + .align 2 gUnknown_08572864:: @ 8572864 - .incbin "baserom.gba", 0x572864, 0x58 + window_template 0, 0x18, 0xB, 5, 4, 0xF, 0x5C + + .align 2 +gOamData_857286C:: @ 857286C + .2byte 0x0000 + .2byte 0xC000 + .2byte 0x0000 + + .align 2 +gOamData_8572874:: @ 8572874 + .2byte 0x4000 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gSpriteAnim_857287C:: @ 857287C + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_8572884:: @ 8572884 + obj_image_anim_frame 2, 8 + obj_image_anim_frame 4, 8 + obj_image_anim_frame 6, 8 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_8572894:: @ 8572894 + obj_image_anim_frame 8, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_857289C:: @ 857289C + obj_image_anim_frame 10, 8 + obj_image_anim_frame 4, 8 + obj_image_anim_frame 12, 8 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_85728AC:: @ 85728AC + .4byte gSpriteAnim_857287C + .4byte gSpriteAnim_8572884 + .4byte gSpriteAnim_8572894 + .4byte gSpriteAnim_857289C gUnknown_085728BC:: @ 85728BC - .incbin "baserom.gba", 0x5728bc, 0x18 + spr_template 5, 0xDACA, gOamData_8572874, gSpriteAnimTable_85728AC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 gUnknown_085728D4:: @ 85728D4 - .incbin "baserom.gba", 0x5728d4, 0x48 + spr_template 0x12, 0xDAC0, gOamData_85728EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy -gUnknown_0857291C:: @ 857291C - .incbin "baserom.gba", 0x57291c, 0x4c58 + .align 2 +gOamData_85728EC:: @ 85728EC + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0000 + .align 2 +gSpriteAffineAnim_85728F4:: @ 85728F4 + obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 0, 120 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8572904:: @ 8572904 + obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 + obj_rot_scal_anim_frame 0x10, 0x10, 0, 15 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_857291C:: @ 857291C + .4byte gSpriteAffineAnim_85728F4 + .4byte gSpriteAffineAnim_8572904 + + .align 2 +gWallpaperPalettes_Forest:: @ 8572924 + .incbin "graphics/pokemon_storage/forest_frame.gbapal" + .incbin "graphics/pokemon_storage/forest_bg.gbapal" + + .align 2 +gWallpaperTiles_Forest: @ 8572964 + .incbin "graphics/pokemon_storage/forest.4bpp.lz" + + .align 2 +gWallpaperTilemap_Forest:: @ 8572DE8 + .incbin "graphics/pokemon_storage/forest.bin.lz" + + .align 2 +gWallpaperPalettes_City: @ 8572EC8 + .incbin "graphics/pokemon_storage/city_frame.gbapal" + .incbin "graphics/pokemon_storage/city_bg.gbapal" + + .align 2 +gWallpaperTiles_City: @ 8572F08 + .incbin "graphics/pokemon_storage/city.4bpp.lz" + + .align 2 +gWallpaperTilemap_City: @ 8573220 + .incbin "graphics/pokemon_storage/city.bin.lz" + + .align 2 +gWallpaperPalettes_Desert: @ 85732FC + .incbin "graphics/pokemon_storage/desert_frame.gbapal" + .incbin "graphics/pokemon_storage/desert_bg.gbapal" + + .align 2 +gWallpaperTiles_Desert: @ 857333C + .incbin "graphics/pokemon_storage/desert.4bpp.lz" + + .align 2 +gWallpaperTilemap_Desert: @ 85736F0 + .incbin "graphics/pokemon_storage/desert.bin.lz" + + .align 2 +gWallpaperPalettes_Savanna: @ 85737EC + .incbin "graphics/pokemon_storage/savanna_frame.gbapal" + .incbin "graphics/pokemon_storage/savanna_bg.gbapal" + + .align 2 +gWallpaperTiles_Savanna: @ 857382C + .incbin "graphics/pokemon_storage/savanna.4bpp.lz" + + .align 2 +gWallpaperTilemap_Savanna: @ 8573C40 + .incbin "graphics/pokemon_storage/savanna.bin.lz" + + .align 2 +gWallpaperPalettes_Crag: @ 8573D44 + .incbin "graphics/pokemon_storage/crag_frame.gbapal" + .incbin "graphics/pokemon_storage/crag_bg.gbapal" + + .align 2 +gWallpaperTiles_Crag: @ 8573D84 + .incbin "graphics/pokemon_storage/crag.4bpp.lz" + + .align 2 +gWallpaperTilemap_Crag: @ 8574180 + .incbin "graphics/pokemon_storage/crag.bin.lz" + + .align 2 +gWallpaperPalettes_Volcano: @ 8573D44 + .incbin "graphics/pokemon_storage/volcano_frame.gbapal" + .incbin "graphics/pokemon_storage/volcano_bg.gbapal" + + .align 2 +gWallpaperTiles_Volcano: @ 8573D84 + .incbin "graphics/pokemon_storage/volcano.4bpp.lz" + + .align 2 +gWallpaperTilemap_Volcano: @ 85747A0 + .incbin "graphics/pokemon_storage/volcano.bin.lz" + + .align 2 +gWallpaperPalettes_Snow: @ 85748DC + .incbin "graphics/pokemon_storage/snow_frame.gbapal" + .incbin "graphics/pokemon_storage/snow_bg.gbapal" + + .align 2 +gWallpaperTiles_Snow: @ 857491C + .incbin "graphics/pokemon_storage/snow.4bpp.lz" + + .align 2 +gWallpaperTilemap_Snow: @ 8574D7C + .incbin "graphics/pokemon_storage/snow.bin.lz" + + .align 2 +gWallpaperPalettes_Cave: @ 8574E88 + .incbin "graphics/pokemon_storage/cave_frame.gbapal" + .incbin "graphics/pokemon_storage/cave_bg.gbapal" + + .align 2 +gWallpaperTiles_Cave: @ 8574EC8 + .incbin "graphics/pokemon_storage/cave.4bpp.lz" + + .align 2 +gWallpaperTilemap_Cave: @ 85752A0 + .incbin "graphics/pokemon_storage/cave.bin.lz" + + .align 2 +gWallpaperPalettes_Beach: @ 8575378 + .incbin "graphics/pokemon_storage/beach_frame.gbapal" + .incbin "graphics/pokemon_storage/beach_bg.gbapal" + + .align 2 +gWallpaperTiles_Beach: @ 85753B8 + .incbin "graphics/pokemon_storage/beach.4bpp.lz" + + .align 2 +gWallpaperTilemap_Beach: @ 8575788 + .incbin "graphics/pokemon_storage/beach.bin.lz" + + .align 2 +gWallpaperPalettes_Seafloor: @ 8575888 + .incbin "graphics/pokemon_storage/seafloor_frame.gbapal" + .incbin "graphics/pokemon_storage/seafloor_bg.gbapal" + + .align 2 +gWallpaperTiles_Seafloor: @ 85758C8 + .incbin "graphics/pokemon_storage/seafloor.4bpp.lz" + + .align 2 +gWallpaperTilemap_Seafloor: @ 8575BC4 + .incbin "graphics/pokemon_storage/seafloor.bin.lz" + + .align 2 +gWallpaperPalettes_River: @ 8575CD8 + .incbin "graphics/pokemon_storage/river_frame.gbapal" + .incbin "graphics/pokemon_storage/river_bg.gbapal" + + .align 2 +gWallpaperTiles_River: @ 8575D18 + .incbin "graphics/pokemon_storage/river.4bpp.lz" + + .align 2 +gWallpaperTilemap_River: @ 8576100 + .incbin "graphics/pokemon_storage/river.bin.lz" + + .align 2 +gWallpaperPalettes_Sky: @ 85761F8 + .incbin "graphics/pokemon_storage/sky_frame.gbapal" + .incbin "graphics/pokemon_storage/sky_bg.gbapal" + + .align 2 +gWallpaperTiles_Sky: @ 8576238 + .incbin "graphics/pokemon_storage/sky.4bpp.lz" + + .align 2 +gWallpaperTilemap_Sky: @ 85765C0 + .incbin "graphics/pokemon_storage/sky.bin.lz" + + .align 2 +gWallpaperPalettes_PolkaDot: @ 85766B0 + .incbin "graphics/pokemon_storage/polkadot_frame.gbapal" + .incbin "graphics/pokemon_storage/polkadot_bg.gbapal" + + .align 2 +gWallpaperTiles_PolkaDot: @ 85766F0 + .incbin "graphics/pokemon_storage/polkadot.4bpp.lz" + + .align 2 +gWallpaperTilemap_PolkaDot: @ 85769B8 + .incbin "graphics/pokemon_storage/polkadot.bin.lz" + + .align 2 +gWallpaperPalettes_Pokecenter: @ 8576AB8 + .incbin "graphics/pokemon_storage/pokecenter_frame.gbapal" + .incbin "graphics/pokemon_storage/pokecenter_bg.gbapal" + + .align 2 +gWallpaperTiles_Pokecenter: @ 8576AF8 + .incbin "graphics/pokemon_storage/pokecenter.4bpp.lz" + + .align 2 +gWallpaperTilemap_Pokecenter: @ 8576D74 + .incbin "graphics/pokemon_storage/pokecenter.bin.lz" + + .align 2 +gWallpaperPalettes_Machine: @ 8576E74 + .incbin "graphics/pokemon_storage/machine_frame.gbapal" + .incbin "graphics/pokemon_storage/machine_bg.gbapal" + + .align 2 +gWallpaperTiles_Machine: @ 8576EB4 + .incbin "graphics/pokemon_storage/machine.4bpp.lz" + + .align 2 +gWallpaperTilemap_Machine: @ 8577108 + .incbin "graphics/pokemon_storage/machine.bin.lz" + + .align 2 +gWallpaperPalettes_Plain: @ 85771CC + .incbin "graphics/pokemon_storage/plain_frame.gbapal" + .incbin "graphics/pokemon_storage/plain_bg.gbapal" + + .align 2 +gWallpaperTiles_Plain: @ 857720C + .incbin "graphics/pokemon_storage/plain.4bpp.lz" + + .align 2 +gWallpaperTilemap_Plain: @ 857732C + .incbin "graphics/pokemon_storage/plain.bin.lz" + +@ 12×18 tilemap + .incbin "graphics/unused/tilemap_5773C4.bin" + + .align 1 gUnknown_08577574:: @ 8577574 - .incbin "baserom.gba", 0x577574, 0x44 + .2byte 0x1CE7, 0x7FFF + .2byte 0x1CE7, 0x7FFF + .2byte 0x1CE7, 0x7FFF + .2byte 0x1CE7, 0x7FFF + .2byte 0x1CE7, 0x7FFF + .2byte 0x1CE7, 0x7FFF + .2byte 0x1CE7, 0x7FFF + .2byte 0x1CE7, 0x7FFF + .2byte 0x1CE7, 0x7FFF + .2byte 0x1CE7, 0x7FFF + .2byte 0x1CE7, 0x7FFF + .2byte 0x1CE7, 0x7FFF + .2byte 0x1CE7, 0x7FFF + .2byte 0x1CE7, 0x7FFF + .2byte 0x1CE7, 0x7FFF + .2byte 0x1CE7, 0x7FFF + .2byte 0x1CE7, 0x7FFF -gUnknown_085775B8:: @ 85775B8 - .incbin "baserom.gba", 0x5775b8, 0x398c + .align 2 +gWallpaperTable:: @ 85775B8 + @ Forest + .4byte gWallpaperTiles_Forest + .4byte gWallpaperTilemap_Forest + .4byte gWallpaperPalettes_Forest + @ City + .4byte gWallpaperTiles_City + .4byte gWallpaperTilemap_City + .4byte gWallpaperPalettes_City + + @ Desert + .4byte gWallpaperTiles_Desert + .4byte gWallpaperTilemap_Desert + .4byte gWallpaperPalettes_Desert + + @ Savanna + .4byte gWallpaperTiles_Savanna + .4byte gWallpaperTilemap_Savanna + .4byte gWallpaperPalettes_Savanna + + @ Crag + .4byte gWallpaperTiles_Crag + .4byte gWallpaperTilemap_Crag + .4byte gWallpaperPalettes_Crag + + @ Volcano + .4byte gWallpaperTiles_Volcano + .4byte gWallpaperTilemap_Volcano + .4byte gWallpaperPalettes_Volcano + + @ Snow + .4byte gWallpaperTiles_Snow + .4byte gWallpaperTilemap_Snow + .4byte gWallpaperPalettes_Snow + + @ Cave + .4byte gWallpaperTiles_Cave + .4byte gWallpaperTilemap_Cave + .4byte gWallpaperPalettes_Cave + + @ Beach + .4byte gWallpaperTiles_Beach + .4byte gWallpaperTilemap_Beach + .4byte gWallpaperPalettes_Beach + + @ Seafloor + .4byte gWallpaperTiles_Seafloor + .4byte gWallpaperTilemap_Seafloor + .4byte gWallpaperPalettes_Seafloor + + @ River + .4byte gWallpaperTiles_River + .4byte gWallpaperTilemap_River + .4byte gWallpaperPalettes_River + + @ Sky + .4byte gWallpaperTiles_Sky + .4byte gWallpaperTilemap_Sky + .4byte gWallpaperPalettes_Sky + + @ PolkaDot + .4byte gWallpaperTiles_PolkaDot + .4byte gWallpaperTilemap_PolkaDot + .4byte gWallpaperPalettes_PolkaDot + + @ Pokecenter + .4byte gWallpaperTiles_Pokecenter + .4byte gWallpaperTilemap_Pokecenter + .4byte gWallpaperPalettes_Pokecenter + + @ Machine + .4byte gWallpaperTiles_Machine + .4byte gWallpaperTilemap_Machine + .4byte gWallpaperPalettes_Machine + + @ Plain + .4byte gWallpaperTiles_Plain + .4byte gWallpaperTilemap_Plain + .4byte gWallpaperPalettes_Plain + + .align 2 +PCGfx_Arrow: @ 8577678 + .incbin "graphics/pokemon_storage/arrow.4bpp" + + .align 2 +gWallpaperPalettes_Zigzagoon:: @ 85776F8 + .incbin "graphics/pokemon_storage/friends_frame1.gbapal" + .incbin "graphics/pokemon_storage/zigzagoon_bg.gbapal" + + .align 2 +gWallpaperTiles_Zigzagoon: @ 8577738 + .incbin "graphics/pokemon_storage/zigzagoon.4bpp.lz" + + .align 2 +gWallpaperTilemap_Zigzagoon: @ 857792C + .incbin "graphics/pokemon_storage/zigzagoon.bin.lz" + + .align 2 +gWallpaperPalettes_Screen:: @ 8577A44 + .incbin "graphics/pokemon_storage/friends_frame1.gbapal" + .incbin "graphics/pokemon_storage/screen_bg.gbapal" + + .align 2 +gWallpaperTiles_Screen: @ 8577A84 + .incbin "graphics/pokemon_storage/screen.4bpp.lz" + + .align 2 +gWallpaperTilemap_Screen: @ 8577D00 + .incbin "graphics/pokemon_storage/screen.bin.lz" + + .align 2 +gWallpaperPalettes_Diagonal:: @ 8577E2C + .incbin "graphics/pokemon_storage/friends_frame1.gbapal" + .incbin "graphics/pokemon_storage/diagonal_bg.gbapal" + + .align 2 +gWallpaperTiles_Diagonal: @ 8577E6C + .incbin "graphics/pokemon_storage/diagonal.4bpp.lz" + + .align 2 +gWallpaperTilemap_Diagonal: @ 8578058 + .incbin "graphics/pokemon_storage/diagonal.bin.lz" + + .align 2 +gWallpaperPalettes_Block:: @ 8578148 + .incbin "graphics/pokemon_storage/block_bg.gbapal" + .incbin "graphics/pokemon_storage/block_bg.gbapal" + + .align 2 +gWallpaperTiles_Block: @ 8578188 + .incbin "graphics/pokemon_storage/block.4bpp.lz" + + .align 2 +gWallpaperTilemap_Block: @ 8578358 + .incbin "graphics/pokemon_storage/block.bin.lz" + + .align 2 +gWallpaperPalettes_Pokecenter2:: @ 8578450 + .incbin "graphics/pokemon_storage/pokecenter2_bg.gbapal" + .incbin "graphics/pokemon_storage/pokecenter2_bg.gbapal" + + .align 2 +gWallpaperTiles_Pokecenter2: @ 8578490 + .incbin "graphics/pokemon_storage/pokecenter2.4bpp.lz" + + .align 2 +gWallpaperTilemap_Pokecenter2: @ 85786D0 + .incbin "graphics/pokemon_storage/pokecenter2.bin.lz" + + .align 2 +gWallpaperPalettes_Frame:: @ 85787E4 + .incbin "graphics/pokemon_storage/frame_bg.gbapal" + .incbin "graphics/pokemon_storage/frame_bg.gbapal" + + .align 2 +gWallpaperTiles_Frame: @ 8578824 + .incbin "graphics/pokemon_storage/frame.4bpp.lz" + + .align 2 +gWallpaperTilemap_Frame: @ 8578A34 + .incbin "graphics/pokemon_storage/frame.bin.lz" + + .align 2 +gWallpaperPalettes_Blank:: @ 8578B48 + .incbin "graphics/pokemon_storage/friends_frame1.gbapal" + .incbin "graphics/pokemon_storage/zigzagoon_bg.gbapal" + + .align 2 +gWallpaperTiles_Blank: @ 8578B88 + .incbin "graphics/pokemon_storage/blank.4bpp.lz" + + .align 2 +gWallpaperTilemap_Blank: @ 8578D34 + .incbin "graphics/pokemon_storage/blank.bin.lz" + + .align 2 +gWallpaperPalettes_Circles:: @ 8578E10 + .incbin "graphics/pokemon_storage/friends_frame2.gbapal" + .incbin "graphics/pokemon_storage/circles_bg.gbapal" + + .align 2 +gWallpaperTiles_Circles: @ 8578E50 + .incbin "graphics/pokemon_storage/circles.4bpp.lz" + + .align 2 +gWallpaperTilemap_Circles: @ 85790A4 + .incbin "graphics/pokemon_storage/circles.bin.lz" + + .align 2 +gWallpaperPalettes_Azumarill:: @ 85791A0 + .incbin "graphics/pokemon_storage/friends_frame2.gbapal" + .incbin "graphics/pokemon_storage/azumarill_bg.gbapal" + + .align 2 +gWallpaperTiles_Azumarill: @ 85791E0 + .incbin "graphics/pokemon_storage/azumarill.4bpp.lz" + + .align 2 +gWallpaperTilemap_Azumarill: @ 85793CC + .incbin "graphics/pokemon_storage/azumarill.bin.lz" + + .align 2 +gWallpaperPalettes_Pikachu:: @ 85794C4 + .incbin "graphics/pokemon_storage/friends_frame2.gbapal" + .incbin "graphics/pokemon_storage/pikachu_bg.gbapal" + + .align 2 +gWallpaperTiles_Pikachu: @ 8579504 + .incbin "graphics/pokemon_storage/pikachu.4bpp.lz" + + .align 2 +gWallpaperTilemap_Pikachu: @ 8579738 + .incbin "graphics/pokemon_storage/pikachu.bin.lz" + + .align 2 +gWallpaperPalettes_Legendary:: @ 8579860 + .incbin "graphics/pokemon_storage/friends_frame2.gbapal" + .incbin "graphics/pokemon_storage/legendary_bg.gbapal" + + .align 2 +gWallpaperTiles_Legendary: @ 85798A0 + .incbin "graphics/pokemon_storage/legendary.4bpp.lz" + + .align 2 +gWallpaperTilemap_Legendary: @ 8579B80 + .incbin "graphics/pokemon_storage/legendary.bin.lz" + + .align 2 +gWallpaperPalettes_Dusclops:: @ 8579CC4 + .incbin "graphics/pokemon_storage/friends_frame2.gbapal" + .incbin "graphics/pokemon_storage/dusclops_bg.gbapal" + + .align 2 +gWallpaperTiles_Dusclops: @ 8579D04 + .incbin "graphics/pokemon_storage/dusclops.4bpp.lz" + + .align 2 +gWallpaperTilemap_Dusclops: @ 8579F50 + .incbin "graphics/pokemon_storage/dusclops.bin.lz" + + .align 2 +gWallpaperPalettes_Ludicolo:: @ 857A048 + .incbin "graphics/pokemon_storage/friends_frame2.gbapal" + .incbin "graphics/pokemon_storage/ludicolo_bg.gbapal" + + .align 2 +gWallpaperTiles_Ludicolo: @ 857A088 + .incbin "graphics/pokemon_storage/ludicolo.4bpp.lz" + + .align 2 +gWallpaperTilemap_Ludicolo: @ 857A348 + .incbin "graphics/pokemon_storage/ludicolo.bin.lz" + + .align 2 +gWallpaperPalettes_Whiscash:: @ 857A468 + .incbin "graphics/pokemon_storage/friends_frame2.gbapal" + .incbin "graphics/pokemon_storage/whiscash_bg.gbapal" + + .align 2 +gWallpaperTiles_Whiscash: @ 857A4A8 + .incbin "graphics/pokemon_storage/whiscash.4bpp.lz" + + .align 2 +gWallpaperTilemap_Whiscash: @ 857A6F0 + .incbin "graphics/pokemon_storage/whiscash.bin.lz" + + .align 2 +gWallpaperIcon_Aqua: @ 857A81C + .incbin "graphics/pokemon_storage/aqua_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_Heart: @ 857A860 + .incbin "graphics/pokemon_storage/heart_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_FiveStar: @ 857A89C + .incbin "graphics/pokemon_storage/five_star_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_Brick: @ 857A8DC + .incbin "graphics/pokemon_storage/brick_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_FourStar: @ 857A904 + .incbin "graphics/pokemon_storage/four_star_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_Asterisk: @ 857A940 + .incbin "graphics/pokemon_storage/asterisk_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_Dot: @ 857A990 + .incbin "graphics/pokemon_storage/dot_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_LineCircle: @ 857A9C0 + .incbin "graphics/pokemon_storage/line_circle_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_PokeBall: @ 857A9EC + .incbin "graphics/pokemon_storage/pokeball_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_Maze: @ 857AA38 + .incbin "graphics/pokemon_storage/maze_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_Footprint: @ 857AA7C + .incbin "graphics/pokemon_storage/footprint_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_BigAsterisk: @ 857AAC4 + .incbin "graphics/pokemon_storage/big_asterisk_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_Circle: @ 857AB08 + .incbin "graphics/pokemon_storage/circle_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_Koffing: @ 857AB48 + .incbin "graphics/pokemon_storage/koffing_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_Ribbon: @ 857AB98 + .incbin "graphics/pokemon_storage/ribbon_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_FourCircles: @ 857AC00 + .incbin "graphics/pokemon_storage/four_circles_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_Lotad: @ 857AC30 + .incbin "graphics/pokemon_storage/lotad_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_Crystal: @ 857AC74 + .incbin "graphics/pokemon_storage/crystal_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_Pichu: @ 857ACBC + .incbin "graphics/pokemon_storage/pichu_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_Diglett: @ 857ACF4 + .incbin "graphics/pokemon_storage/diglett_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_Luvdisc: @ 857AD44 + .incbin "graphics/pokemon_storage/luvdisc_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_StarInCircle: @ 857AD88 + .incbin "graphics/pokemon_storage/star_in_circle_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_Spinda: @ 857ADCC + .incbin "graphics/pokemon_storage/spinda_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_Latis: @ 857AE20 + .incbin "graphics/pokemon_storage/latis_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_Minun: @ 857AE64 + .incbin "graphics/pokemon_storage/minun_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_Togepi: @ 857AEAC + .incbin "graphics/pokemon_storage/togepi_icon.4bpp.lz" + + .align 2 +gWallpaperIcon_Magma: @ 857AF08 + .incbin "graphics/pokemon_storage/magma_icon.4bpp.lz" + + .align 2 gUnknown_0857AF44:: @ 857AF44 - .incbin "baserom.gba", 0x57af44, 0xc0 + .4byte gWallpaperTiles_Zigzagoon, gWallpaperTilemap_Zigzagoon, gWallpaperPalettes_Zigzagoon + .4byte gWallpaperTiles_Screen, gWallpaperTilemap_Screen, gWallpaperPalettes_Screen + .4byte gWallpaperTiles_Horizontal, gWallpaperTilemap_Horizontal, gWallpaperPalettes_Horizontal + .4byte gWallpaperTiles_Diagonal, gWallpaperTilemap_Diagonal, gWallpaperPalettes_Diagonal + .4byte gWallpaperTiles_Block, gWallpaperTilemap_Block, gWallpaperPalettes_Block + .4byte gWallpaperTiles_Ribbon, gWallpaperTilemap_Ribbon, gWallpaperPalettes_Ribbon + .4byte gWallpaperTiles_Pokecenter2, gWallpaperTilemap_Pokecenter2, gWallpaperPalettes_Pokecenter2 + .4byte gWallpaperTiles_Frame, gWallpaperTilemap_Frame, gWallpaperPalettes_Frame + .4byte gWallpaperTiles_Blank, gWallpaperTilemap_Blank, gWallpaperPalettes_Blank + .4byte gWallpaperTiles_Circles, gWallpaperTilemap_Circles, gWallpaperPalettes_Circles + .4byte gWallpaperTiles_Azumarill, gWallpaperTilemap_Azumarill, gWallpaperPalettes_Azumarill + .4byte gWallpaperTiles_Pikachu, gWallpaperTilemap_Pikachu, gWallpaperPalettes_Pikachu + .4byte gWallpaperTiles_Legendary, gWallpaperTilemap_Legendary, gWallpaperPalettes_Legendary + .4byte gWallpaperTiles_Dusclops, gWallpaperTilemap_Dusclops, gWallpaperPalettes_Dusclops + .4byte gWallpaperTiles_Ludicolo, gWallpaperTilemap_Ludicolo, gWallpaperPalettes_Ludicolo + .4byte gWallpaperTiles_Whiscash, gWallpaperTilemap_Whiscash, gWallpaperPalettes_Whiscash + .align 2 gUnknown_0857B004:: @ 857B004 - .incbin "baserom.gba", 0x57b004, 0x7c + .4byte gWallpaperIcon_Aqua + .4byte gWallpaperIcon_Heart + .4byte gWallpaperIcon_FiveStar + .4byte gWallpaperIcon_Brick + .4byte gWallpaperIcon_FourStar + .4byte gWallpaperIcon_Asterisk + .4byte gWallpaperIcon_Dot + .4byte gWallpaperIcon_Cross + .4byte gWallpaperIcon_LineCircle + .4byte gWallpaperIcon_PokeBall + .4byte gWallpaperIcon_Maze + .4byte gWallpaperIcon_Footprint + .4byte gWallpaperIcon_BigAsterisk + .4byte gWallpaperIcon_Circle + .4byte gWallpaperIcon_Koffing + .4byte gWallpaperIcon_Ribbon + .4byte gWallpaperIcon_Bolt + .4byte gWallpaperIcon_FourCircles + .4byte gWallpaperIcon_Lotad + .4byte gWallpaperIcon_Crystal + .4byte gWallpaperIcon_Pichu + .4byte gWallpaperIcon_Diglett + .4byte gWallpaperIcon_Luvdisc + .4byte gWallpaperIcon_StarInCircle + .4byte gWallpaperIcon_Spinda + .4byte gWallpaperIcon_Latis + .4byte gWallpaperIcon_Plusle + .4byte gWallpaperIcon_Minun + .4byte gWallpaperIcon_Togepi + .4byte gWallpaperIcon_Magma + .align 2 +gUnknown_0857B07C:: @ 857B07C + .4byte 0x23BA + + .align 2 gUnknown_0857B080:: @ 857B080 - .incbin "baserom.gba", 0x57b080, 0x28 + obj_tiles PCGfx_Arrow, 128, 0x0006 -gUnknown_0857B0A8:: @ 857B0A8 - .incbin "baserom.gba", 0x57b0a8, 0x38 + .align 2 +gOamData_857B088:: @ 857B088 + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gSpriteAnim_857B090:: @ 857B090 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_857B098:: @ 857B098 + obj_image_anim_frame 8, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_857B0A0:: @ 857B0A0 + .4byte gSpriteAnim_857B090 + .4byte gSpriteAnim_857B098 + + .align 2 +gSpriteTemplate_857B0A8:: @ 857B0A8 + spr_template 0x0003, 0xDAC9, gOamData_857B088, gSpriteAnimTable_857B0A0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gOamData_857B0C0:: @ 857B0C0 + .2byte 0x8000 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gSpriteAnim_857B0C8:: @ 857B0C8 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_857B0D0:: @ 857B0D0 + obj_image_anim_frame 2, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_857B0D8:: @ 857B0D8 + .4byte gSpriteAnim_857B0C8 + .4byte gSpriteAnim_857B0D0 gUnknown_0857B0E0:: @ 857B0E0 - .incbin "baserom.gba", 0x57b0e0, 0x8b8 + spr_template 0x0006, 0xDACA, gOamData_857B0C0, gSpriteAnimTable_857B0D8, NULL, gDummySpriteAffineAnimTable, sub_80CD210 + .align 2 +HandCursorPalette: @ 857B0F8 + .incbin "graphics/pokemon_storage/hand_cursor.gbapal" + + .align 2 +HandCursorTiles: @ 857B118 + .incbin "graphics/pokemon_storage/hand_cursor.4bpp" + + .align 2 +HandCursorShadowTiles: @ 857B918 + .incbin "graphics/pokemon_storage/hand_cursor_shadow.4bpp" + + .align 2 gUnknown_0857B998:: @ 857B998 - .incbin "baserom.gba", 0x57b998, 0xc + .4byte sub_80CDCCC + .4byte sub_80CDD5C + .4byte sub_80CDDD8 + .align 2 gUnknown_0857B9A4:: @ 857B9A4 - .incbin "baserom.gba", 0x57b9a4, 0x18 + .byte 0x22, 0x00 + .2byte 0x0039 + .byte 0x22, 0x00 + .2byte 0x0123 + .byte 0x10, 0x0a + .2byte 0x0046 + .byte 0x10, 0x0a + .2byte 0x00f9 + .byte 0x10, 0x0e + .2byte 0x0046 + .byte 0x10, 0x0e + .2byte 0x00f9 + .align 2 gUnknown_0857B9BC:: @ 857B9BC - .incbin "baserom.gba", 0x57b9bc, 0x28 + .4byte sub_80CF0CC, 0 + .4byte sub_80CF5C4, 1 + .4byte sub_80CF7E4, 2 + .4byte sub_80CF8D8, 3 + .4byte NULL, 0 -gUnknown_0857B9E4:: @ 857B9E4 - .incbin "baserom.gba", 0x57b9e4, 0x18 + .align 2 +gHandCursorSpriteSheets:: @ 857B9E4 + obj_tiles HandCursorTiles, 0x0800, 0x0000 + obj_tiles HandCursorShadowTiles, 0x0080, 0x0001 + null_obj_tiles -gUnknown_0857B9FC:: @ 857B9FC - .incbin "baserom.gba", 0x57b9fc, 0x54 + .align 2 +gHandCursorSpritePalettes:: @ 857B9FC + obj_pal HandCursorPalette, 0xDAC7 + null_obj_pal -gUnknown_0857BA50:: @ 857BA50 - .incbin "baserom.gba", 0x57ba50, 0x18 + .align 2 +gOamData_857BA0C:: @ 857BA0C + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0400 -gUnknown_0857BA68:: @ 857BA68 - .incbin "baserom.gba", 0x57ba68, 0x18 + .align 2 +gOamData_857BA14:: @ 857BA14 + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0400 + .align 2 +gSpriteAnim_857BA1C:: @ 857BA1C + obj_image_anim_frame 0, 30 + obj_image_anim_frame 16, 30 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_857BA28:: @ 857BA28 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_857BA30:: @ 857BA30 + obj_image_anim_frame 32, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_857BA38:: @ 857BA38 + obj_image_anim_frame 48, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_857BA40:: @ 857BA40 + .4byte gSpriteAnim_857BA1C + .4byte gSpriteAnim_857BA28 + .4byte gSpriteAnim_857BA30 + .4byte gSpriteAnim_857BA38 + + .align 2 +gSpriteTemplate_857BA50:: @ 857BA50 + spr_template 0, 0xDACA, gOamData_857BA0C, gSpriteAnimTable_857BA40, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_857BA68:: @ 857BA68 + spr_template 1, 0xDACA, gOamData_857BA14, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CFBF4 + + .align 2 gUnknown_0857BA80:: @ 857BA80 - .incbin "baserom.gba", 0x57ba80, 0x9c + .4byte gPCText_Cancel + .4byte gPCText_Store + .4byte gPCText_Withdraw + .4byte gPCText_Move + .4byte gPCText_Shift + .4byte gPCText_Place + .4byte gPCText_Summary + .4byte gPCText_Release + .4byte gPCText_Mark + .4byte gPCText_Jump + .4byte gPCText_Wallpaper + .4byte gPCText_Name + .4byte gPCText_Take + .4byte gPCText_Give + .4byte gPCText_Give + .4byte gPCText_Switch + .4byte gPCText_Bag + .4byte gPCText_Info + .4byte gPCText_Scenery1 + .4byte gPCText_Scenery2 + .4byte gPCText_Scenery3 + .4byte gPCText_Etcetera + .4byte gPCText_Friends + .4byte gPCText_Forest + .4byte gPCText_City + .4byte gPCText_Desert + .4byte gPCText_Savanna + .4byte gPCText_Crag + .4byte gPCText_Volcano + .4byte gPCText_Snow + .4byte gPCText_Cave + .4byte gPCText_Beach + .4byte gPCText_Seafloor + .4byte gPCText_River + .4byte gPCText_Sky + .4byte gPCText_PolkaDot + .4byte gPCText_Pokecenter + .4byte gPCText_Machine + .4byte gPCText_Simple + .align 2 gUnknown_0857BB1C:: @ 857BB1C - .incbin "baserom.gba", 0x57bb1c, 0x8 + window_template 0x00, 0x0a, 0x03, 0x14, 0x12, 0x09, 0x000a + .align 2 gUnknown_0857BB24:: @ 857BB24 - .incbin "baserom.gba", 0x57bb24, 0x14c + .incbin "graphics/pokemon_storage/unknown_frame.4bpp" -gUnknown_0857BC70:: @ 857BC70 - .incbin "baserom.gba", 0x57bc70, 0x18 + .align 2 +gOamData_857BBA4:: @ 857BBA4 + .2byte 0x0100, 0x8000, 0x0400, 0x0000 + + .align 2 +gSpriteAffineAnim_857BBAC:: @ 857BBAC + .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_857BBBC:: @ 857BBBC + .2byte 0x0058, 0x0058, 0x0000, 0x0000, 0x0005, 0x0005, 0x0800, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_857BBD4:: @ 857BBD4 + .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0xfffb, 0xfffb, 0x0800, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_857BBEC:: @ 857BBEC + .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x000a, 0x000a, 0x0c00, 0x0000, 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_857BC0C:: @ 857BC0C + .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0xfff6, 0xfff6, 0x0c00, 0x0000, 0x0080, 0x0080, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_857BC2C:: @ 857BC2C + .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0xfffb, 0xfffb, 0x1000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_857BC44:: @ 857BC44 + .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnimTable_857BC54:: @ 857BC54 + .4byte gSpriteAffineAnim_857BBAC + .4byte gSpriteAffineAnim_857BBBC + .4byte gSpriteAffineAnim_857BBD4 + .4byte gSpriteAffineAnim_857BBEC + .4byte gSpriteAffineAnim_857BC0C + .4byte gSpriteAffineAnim_857BC2C + .4byte gSpriteAffineAnim_857BC44 + + .align 2 +gSpriteTemplate_857BC70:: @ 857BC70 + spr_template 0x0007, 0xdacb, gOamData_857BBA4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_857BC54, SpriteCallbackDummy + +gSpriteTemplate_857BC88:: @ 857BC88 + .2byte 0x0100, 0x0100, 0x0200, 0x0100, 0x0100, 0x0200, 0x0200, 0x0200, 0x0080, 0x0080, 0x0100, 0x0100, 0x0200, 0x0200, 0x0400, 0x0400 -gUnknown_0857BC88:: @ 857BC88 - .incbin "baserom.gba", 0x57bc88, 0x20 diff --git a/data/pokemon_summary_screen.s b/data/pokemon_summary_screen.s index fc1c790960..85c30bc6f8 100644 --- a/data/pokemon_summary_screen.s +++ b/data/pokemon_summary_screen.s @@ -9,149 +9,502 @@ @ 861CAAC .include "data/text/nature_names.inc" + .align 2 gUnknown_0861CBB4:: @ 861CBB4 - .incbin "baserom.gba", 0x61cbb4, 0x38 + .4byte 0x000001f0, 0x000013b9, 0x0000239a, 0x000033db + .align 2 +gUnknown_0861CBC4:: @ 861CBC4 + .incbin "graphics/interface/unk_tilemap2.bin" + + .align 2 gUnknown_0861CBEC:: @ 861CBEC - .incbin "baserom.gba", 0x61cbec, 0xc + .4byte gUnknown_0861CBC4 + .byte 0x01, 0x00, 0x0a, 0x02, 0x00, 0x12 + .align 2 gUnknown_0861CBF8:: @ 861CBF8 - .incbin "baserom.gba", 0x61cbf8, 0xc + .4byte gUnknown_0861CBC4 + .byte 0x01, 0x00, 0x0a, 0x02, 0x00, 0x32 + .align 2 gUnknown_0861CC04:: @ 861CC04 - .incbin "baserom.gba", 0x61cc04, 0xc + .4byte gSummaryScreenPowAcc_Tilemap + .byte 0x00 + .byte 0x00 + .byte 0x0A + .byte 0x07 + .byte 0x00 + .byte 0x2D + .align 2 gUnknown_0861CC10:: @ 861CC10 - .incbin "baserom.gba", 0x61cc10, 0xc + .4byte gUnknown_08DC3C34 + .byte 0x00 + .byte 0x00 + .byte 0x0A + .byte 0x07 + .byte 0x00 + .byte 0x2D + .align 2 gUnknown_0861CC1C:: @ 861CC1C - .incbin "baserom.gba", 0x61cc1c, 0x8 + .byte 0x00, 0x02, 0x03, 0x01, 0x04, 0x05, 0x00, 0x00 + .align 2 gUnknown_0861CC24:: @ 861CC24 - .incbin "baserom.gba", 0x61cc24, 0xa8 + window_template 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0001 + window_template 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0017 + window_template 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x002d + window_template 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0043 + window_template 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0059 + window_template 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0069 + window_template 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0079 + window_template 0x00, 0x0b, 0x04, 0x00, 0x02, 0x06, 0x0089 + window_template 0x00, 0x0b, 0x04, 0x12, 0x02, 0x06, 0x0089 + window_template 0x00, 0x0b, 0x06, 0x12, 0x02, 0x06, 0x00ad + window_template 0x00, 0x0a, 0x07, 0x06, 0x06, 0x06, 0x00d1 + window_template 0x00, 0x16, 0x07, 0x05, 0x06, 0x06, 0x00f5 + window_template 0x00, 0x0a, 0x0e, 0x0b, 0x04, 0x06, 0x0113 + window_template 0x00, 0x00, 0x12, 0x06, 0x02, 0x06, 0x013f + window_template 0x00, 0x01, 0x0f, 0x09, 0x04, 0x06, 0x014b + window_template 0x00, 0x01, 0x0f, 0x05, 0x04, 0x06, 0x016f + window_template 0x00, 0x16, 0x04, 0x00, 0x02, 0x06, 0x0183 + window_template 0x00, 0x01, 0x02, 0x04, 0x02, 0x07, 0x0183 + window_template 0x00, 0x01, 0x0c, 0x09, 0x02, 0x06, 0x018b + window_template 0x00, 0x01, 0x0e, 0x09, 0x04, 0x06, 0x019d + null_window_template + .align 2 gUnknown_0861CCCC:: @ 861CCCC - .incbin "baserom.gba", 0x61cccc, 0x20 + window_template 0x00, 0x0b, 0x04, 0x0b, 0x02, 0x06, 0x01c1 + window_template 0x00, 0x16, 0x04, 0x07, 0x02, 0x06, 0x01d7 + window_template 0x00, 0x0b, 0x09, 0x12, 0x04, 0x06, 0x01e5 + window_template 0x00, 0x0b, 0x0e, 0x12, 0x06, 0x06, 0x022d + .align 2 gUnknown_0861CCEC:: @ 861CCEC - .incbin "baserom.gba", 0x61ccec, 0x28 + window_template 0x00, 0x0a, 0x04, 0x0a, 0x02, 0x06, 0x01c1 + window_template 0x00, 0x14, 0x04, 0x0a, 0x02, 0x06, 0x01d5 + window_template 0x00, 0x10, 0x07, 0x06, 0x06, 0x06, 0x01e9 + window_template 0x00, 0x1b, 0x07, 0x03, 0x06, 0x06, 0x020d + window_template 0x00, 0x18, 0x0e, 0x06, 0x04, 0x06, 0x021f + .align 2 gUnknown_0861CD14:: @ 861CD14 - .incbin "baserom.gba", 0x61cd14, 0x18 + window_template 0x00, 0x0f, 0x04, 0x09, 0x0a, 0x06, 0x01c1 + window_template 0x00, 0x18, 0x04, 0x06, 0x0a, 0x08, 0x021b + window_template 0x00, 0x0a, 0x0f, 0x14, 0x04, 0x06, 0x0257 gUnknown_0861CD2C:: @ 861CD2C - .incbin "baserom.gba", 0x61cd2c, 0x27 + .byte 0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x00, 0x05, 0x06, 0x00, 0x07, 0x08, 0x00, 0x09, 0x0a, 0x00, 0x0b, 0x0c, 0x00, 0x0d, 0x0e, 0x00, 0x07, 0x08, 0x0d, 0x0f, 0x0e, 0x00, 0x01, 0x02, 0x00, 0x03 + .byte 0x04, 0x00, 0x05, 0x06, 0x00, 0x07, 0x08 gUnknown_0861CD53:: @ 861CD53 - .incbin "baserom.gba", 0x61cd53, 0x80 + .incbin "graphics/interface/summary_a_button.4bpp" gUnknown_0861CDD3:: @ 861CDD3 - .incbin "baserom.gba", 0x61cdd3, 0x81 + .incbin "graphics/interface/summary_b_button.4bpp" + .align 2 gUnknown_0861CE54:: @ 861CE54 - .incbin "baserom.gba", 0x61ce54, 0x10 + .4byte sub_81C2E00 + .4byte sub_81C3530 + .4byte sub_81C3984 + .4byte sub_81C3D08 + .align 2 gUnknown_0861CE64:: @ 861CE64 - .incbin "baserom.gba", 0x61ce64, 0x10 + .4byte sub_81C2E40 + .4byte sub_81C3554 + .4byte sub_81C39F0 + .4byte sub_81C3D54 gUnknown_0861CE74:: @ 861CE74 - .incbin "baserom.gba", 0x61ce74, 0x7 + .string "{COLOR LIGHT_RED}{SHADOW GREEN}$" gUnknown_0861CE7B:: @ 861CE7B - .incbin "baserom.gba", 0x61ce7b, 0x7 + .string "{COLOR WHITE}{SHADOW DARK_GREY}$" gUnknown_0861CE82:: @ 861CE82 - .incbin "baserom.gba", 0x61ce82, 0xc + .string "{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}\n" + .string "{SPECIAL_F7 0x02}\n" + .string "{SPECIAL_F7 0x03}$" gUnknown_0861CE8E:: @ 861CE8E - .incbin "baserom.gba", 0x61ce8e, 0x9 + .string "{SPECIAL_F7 0x00}\n" + .string "{SPECIAL_F7 0x01}\n" + .string "{SPECIAL_F7 0x02}$" gUnknown_0861CE97:: @ 861CE97 - .incbin "baserom.gba", 0x61ce97, 0x125 + .string "{UNK_CTRL_F9 0x06}{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}$" + .align 2 +gOamData_861CEA0:: @ 861CEA0 + .2byte 0x4000, 0x8000, 0x0400, 0x0000 + + .align 2 +gSpriteAnim_861CEA8:: @ 861CEA8 + .2byte 0x0000, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CEB0:: @ 861CEB0 + .2byte 0x0008, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CEB8:: @ 861CEB8 + .2byte 0x0010, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CEC0:: @ 861CEC0 + .2byte 0x0018, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CEC8:: @ 861CEC8 + .2byte 0x0020, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CED0:: @ 861CED0 + .2byte 0x0028, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CED8:: @ 861CED8 + .2byte 0x0030, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CEE0:: @ 861CEE0 + .2byte 0x0038, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CEE8:: @ 861CEE8 + .2byte 0x0040, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CEF0:: @ 861CEF0 + .2byte 0x0048, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CEF8:: @ 861CEF8 + .2byte 0x0050, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CF00:: @ 861CF00 + .2byte 0x0058, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CF08:: @ 861CF08 + .2byte 0x0060, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CF10:: @ 861CF10 + .2byte 0x0068, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CF18:: @ 861CF18 + .2byte 0x0070, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CF20:: @ 861CF20 + .2byte 0x0078, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CF28:: @ 861CF28 + .2byte 0x0080, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CF30:: @ 861CF30 + .2byte 0x0088, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CF38:: @ 861CF38 + .2byte 0x0090, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CF40:: @ 861CF40 + .2byte 0x0098, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CF48:: @ 861CF48 + .2byte 0x00a0, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CF50:: @ 861CF50 + .2byte 0x00a8, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861CF58:: @ 861CF58 + .2byte 0x00b0, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_861CF60:: @ 861CF60 + .4byte gSpriteAnim_861CEA8 + .4byte gSpriteAnim_861CEB0 + .4byte gSpriteAnim_861CEB8 + .4byte gSpriteAnim_861CEC0 + .4byte gSpriteAnim_861CEC8 + .4byte gSpriteAnim_861CED0 + .4byte gSpriteAnim_861CED8 + .4byte gSpriteAnim_861CEE0 + .4byte gSpriteAnim_861CEE8 + .4byte gSpriteAnim_861CEF0 + .4byte gSpriteAnim_861CEF8 + .4byte gSpriteAnim_861CF00 + .4byte gSpriteAnim_861CF08 + .4byte gSpriteAnim_861CF10 + .4byte gSpriteAnim_861CF18 + .4byte gSpriteAnim_861CF20 + .4byte gSpriteAnim_861CF28 + .4byte gSpriteAnim_861CF30 + .4byte gSpriteAnim_861CF38 + .4byte gSpriteAnim_861CF40 + .4byte gSpriteAnim_861CF48 + .4byte gSpriteAnim_861CF50 + .4byte gSpriteAnim_861CF58 + + .align 2 gUnknown_0861CFBC:: @ 861CFBC - .incbin "baserom.gba", 0x61cfbc, 0x8 + obj_tiles gMoveTypes_Gfx, 0x1700, 0x7532 + .align 2 gUnknown_0861CFC4:: @ 861CFC4 - .incbin "baserom.gba", 0x61cfc4, 0x18 + spr_template 0x7532, 0x7532, gOamData_861CEA0, gSpriteAnimTable_861CF60, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_0861CFDC:: @ 861CFDC - .incbin "baserom.gba", 0x61cfdc, 0x98 + .byte 0x0d, 0x0d, 0x0e, 0x0e, 0x0d, 0x0d, 0x0f, 0x0e, 0x0d, 0x0f, 0x0d, 0x0e, 0x0f, 0x0d, 0x0e, 0x0e, 0x0f, 0x0d, 0x0d, 0x0e, 0x0e, 0x0f, 0x0d, 0x00 + .align 2 +gOamData_861CFF4:: @ 861CFF4 + .2byte 0x0000, 0x4000, 0x0400, 0x0000 + + .align 2 +gSpriteAnim_861CFFC:: @ 861CFFC + .2byte 0x0000, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861D004:: @ 861D004 + .2byte 0x0004, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861D00C:: @ 861D00C + .2byte 0x0008, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861D014:: @ 861D014 + .2byte 0x000c, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861D01C:: @ 861D01C + .2byte 0x0010, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861D024:: @ 861D024 + .2byte 0x0010, 0x0040, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861D02C:: @ 861D02C + .2byte 0x0014, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861D034:: @ 861D034 + .2byte 0x0018, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861D03C:: @ 861D03C + .2byte 0x0018, 0x0040, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861D044:: @ 861D044 + .2byte 0x001c, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_861D04C:: @ 861D04C + .4byte gSpriteAnim_861CFFC + .4byte gSpriteAnim_861D004 + .4byte gSpriteAnim_861D00C + .4byte gSpriteAnim_861D014 + .4byte gSpriteAnim_861D01C + .4byte gSpriteAnim_861D024 + .4byte gSpriteAnim_861D02C + .4byte gSpriteAnim_861D034 + .4byte gSpriteAnim_861D03C + .4byte gSpriteAnim_861D044 + + .align 2 gUnknown_0861D074:: @ 861D074 - .incbin "baserom.gba", 0x61d074, 0x8 + obj_tiles gUnknown_08D97BEC, 0x0400, 0x7530 + .align 2 gUnknown_0861D07C:: @ 861D07C - .incbin "baserom.gba", 0x61d07c, 0x8 + obj_pal gUnknown_08D97CF4, 0x7530 + .align 2 gUnknown_0861D084:: @ 861D084 - .incbin "baserom.gba", 0x61d084, 0x74 + spr_template 0x7530, 0x7530, gOamData_861CFF4, gSpriteAnimTable_861D04C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 +gOamData_861D09C:: @ 861D09C + .2byte 0x4000, 0x4000, 0x0c00, 0x0000 + + .align 2 +gSpriteAnim_861D0A4:: @ 861D0A4 + .2byte 0x0000, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861D0AC:: @ 861D0AC + .2byte 0x0004, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861D0B4:: @ 861D0B4 + .2byte 0x0008, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861D0BC:: @ 861D0BC + .2byte 0x000c, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861D0C4:: @ 861D0C4 + .2byte 0x0010, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861D0CC:: @ 861D0CC + .2byte 0x0014, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_861D0D4:: @ 861D0D4 + .2byte 0x0018, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_861D0DC:: @ 861D0DC + .4byte gSpriteAnim_861D0A4 + .4byte gSpriteAnim_861D0AC + .4byte gSpriteAnim_861D0B4 + .4byte gSpriteAnim_861D0BC + .4byte gSpriteAnim_861D0C4 + .4byte gSpriteAnim_861D0CC + .4byte gSpriteAnim_861D0D4 + + .align 2 gUnknown_0861D0F8:: @ 861D0F8 - .incbin "baserom.gba", 0x61d0f8, 0x8 + obj_tiles gStatusGfx_Icons, 0x0380, 0x7531 + .align 2 gUnknown_0861D100:: @ 861D100 - .incbin "baserom.gba", 0x61d100, 0x8 + obj_pal gStatusPal_Icons, 0x7531 + .align 2 gUnknown_0861D108:: @ 861D108 - .incbin "baserom.gba", 0x61d108, 0x18 + spr_template 0x7531, 0x7531, gOamData_861D09C, gSpriteAnimTable_861D0DC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 gUnknown_0861D120:: @ 861D120 - .incbin "baserom.gba", 0x61d120, 0x20 + .incbin "graphics/interface/summary_markings.gbapal" + .align 2 gUnknown_0861D140:: @ 861D140 - .incbin "baserom.gba", 0x61d140, 0x60 + .incbin "graphics/interface/region_map.gbapal" + .align 2 gUnknown_0861D1A0:: @ 861D1A0 - .incbin "baserom.gba", 0x61d1a0, 0xd54 + .incbin "graphics/interface/region_map.8bpp.lz" + .align 2 gUnknown_0861DEF4:: @ 861DEF4 - .incbin "baserom.gba", 0x61def4, 0x314 + .incbin "graphics/interface/region_map.bin.lz" + .align 2 gUnknown_0861E208:: @ 861E208 - .incbin "baserom.gba", 0x61e208, 0xd5c + .incbin "graphics/interface/region_map_affine.8bpp.lz" + .align 2 gUnknown_0861EF64:: @ 861EF64 - .incbin "baserom.gba", 0x61ef64, 0x350 + .incbin "graphics/interface/region_map_affine.bin.lz" + .align 2 gUnknown_0861F2B4:: @ 861F2B4 - .incbin "baserom.gba", 0x61f2b4, 0xc + .4byte 0x000011f0, 0x000001e1, 0x000021de + .align 2 gUnknown_0861F2C0:: @ 861F2C0 - .incbin "baserom.gba", 0x61f2c0, 0x18 + .4byte 0x00000000, sub_81C5460, sub_81C5518, 0x00000000, 0x00080000, 0x07003021 + .align 2 gUnknown_0861F2D8:: @ 861F2D8 - .incbin "baserom.gba", 0x61f2d8, 0x30 + .4byte gMenuText_Use, sub_81C61E0 + .4byte gMenuText_Toss, sub_81C62C4 + .4byte gMenuText_Give, sub_81C6648 + .4byte gText_Cancel2, sub_81C6258 + .4byte gMenuText_Use, sub_81C679C + .4byte gText_EmptyString2, NULL gUnknown_0861F308:: @ 861F308 - .incbin "baserom.gba", 0x61f308, 0x4 + .byte 0x00, 0x02, 0x01, 0x03 gUnknown_0861F30C:: @ 861F30C - .incbin "baserom.gba", 0x61f30c, 0x2 + .byte 0x01, 0x03 gUnknown_0861F30E:: @ 861F30E - .incbin "baserom.gba", 0x61f30e, 0x2 + .byte 0x04, 0x03 gUnknown_0861F310:: @ 861F310 - .incbin "baserom.gba", 0x61f310, 0x4 + .byte 0x03, 0x00, 0x00, 0x00 gUnknown_0861F314:: @ 861F314 - .incbin "baserom.gba", 0x61f314, 0x8 + .4byte sub_81C654C + .4byte sub_81C63D0 gUnknown_0861F31C:: @ 861F31C - .incbin "baserom.gba", 0x61f31c, 0xc + .byte 0x00, 0x02, 0x03, 0x00, 0x03, 0x01, 0x01, 0x02, 0x03, 0x00, 0x00, 0x00 + .align 2 gUnknown_0861F328:: @ 861F328 - .incbin "baserom.gba", 0x61f328, 0x28 + window_template 0x00, 0x0e, 0x02, 0x0f, 0x10, 0x0f, 0x001e + window_template 0x00, 0x00, 0x0d, 0x0e, 0x06, 0x0f, 0x010e + window_template 0x01, 0x02, 0x0f, 0x1b, 0x04, 0x0f, 0x0162 + window_template 0x01, 0x18, 0x11, 0x05, 0x02, 0x0f, 0x01ce + null_window_template + .align 2 gUnknown_0861F350:: @ 861F350 - .incbin "baserom.gba", 0x61f350, 0x20 + window_template 0x01, 0x16, 0x11, 0x07, 0x02, 0x0f, 0x01d8 + window_template 0x01, 0x16, 0x0f, 0x07, 0x04, 0x0f, 0x01d8 + window_template 0x01, 0x0f, 0x0f, 0x0e, 0x04, 0x0f, 0x01d8 + window_template 0x01, 0x0f, 0x0d, 0x0e, 0x06, 0x0f, 0x01d8 + .align 2 gUnknown_0861F370:: @ 861F370 - .incbin "baserom.gba", 0x61f370, 0x5c + window_template 0x01, 0x18, 0x0f, 0x05, 0x04, 0x0f, 0x01d8 + .align 2 +gOamData_861F378:: @ 861F378 + .2byte 0x0100, 0xc000, 0x0400, 0x0000 + + .align 2 +gSpriteAnim_861F380:: @ 861F380 + .2byte 0x0000, 0x0004, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_861F388:: @ 861F388 + .4byte gSpriteAnim_861F380 + + .align 2 +gSpriteAffineAnim_861F38C:: @ 861F38C + .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_861F39C:: @ 861F39C + .2byte 0x0000, 0x0000, 0x02fe, 0x0000, 0x0000, 0x0000, 0x0402, 0x0000, 0x0000, 0x0000, 0x04fe, 0x0000, 0x0000, 0x0000, 0x0202, 0x0000 + .2byte 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnimTable_861F3C4:: @ 861F3C4 + .4byte gSpriteAffineAnim_861F38C + .4byte gSpriteAffineAnim_861F39C + + .align 2 gUnknown_0861F3CC:: @ 861F3CC - .incbin "baserom.gba", 0x61f3cc, 0x8 + obj_tiles gBattleFrontierGfx_PyramidBag, 0x0800, 0x1024 + .align 2 gUnknown_0861F3D4:: @ 861F3D4 - .incbin "baserom.gba", 0x61f3d4, 0x18 + spr_template 0x1024, 0x1024, gOamData_861F378, gSpriteAnimTable_861F388, NULL, gSpriteAffineAnimTable_861F3C4, SpriteCallbackDummy + diff --git a/data/pokenav.s b/data/pokenav.s index 8e8e24b656..03c0d4b8a6 100644 --- a/data/pokenav.s +++ b/data/pokenav.s @@ -4,340 +4,1883 @@ .section .rodata gUnknown_0861F3EC:: @ 861F3EC - .incbin "baserom.gba", 0x61f3ec, 0x618 + .4byte sub_81C9298 + .4byte sub_81C941C + .4byte sub_81C9924 + .4byte sub_81C9990 + .4byte sub_81C99C0 + .4byte sub_81C9430 + .4byte sub_81C99D4 + .4byte sub_81C9298 + .4byte sub_81C941C + .4byte sub_81C9940 + .4byte sub_81C9990 + .4byte sub_81C99C0 + .4byte sub_81C9430 + .4byte sub_81C99D4 + .4byte sub_81C9338 + .4byte sub_81C941C + .4byte sub_81C9940 + .4byte sub_81C9990 + .4byte sub_81C99C0 + .4byte sub_81C9430 + .4byte sub_81C99D4 + .4byte sub_81C9368 + .4byte sub_81C941C + .4byte sub_81C9940 + .4byte sub_81C9990 + .4byte sub_81C99C0 + .4byte sub_81C9430 + .4byte sub_81C99D4 + .4byte sub_81C92CC + .4byte sub_81C941C + .4byte sub_81C9940 + .4byte sub_81C9990 + .4byte sub_81C99C0 + .4byte sub_81C9430 + .4byte sub_81C99D4 + .4byte sub_81C9304 + .4byte sub_81C941C + .4byte sub_81C9940 + .4byte sub_81C9990 + .4byte sub_81C99C0 + .4byte sub_81C9430 + .4byte sub_81C99D4 + .4byte sub_81CC4D4 + .4byte sub_81CC554 + .4byte sub_81CC5F4 + .4byte sub_81CC62C + .4byte sub_81CC65C + .4byte sub_81CC524 + .4byte sub_81CC670 + .4byte sub_81CCFD8 + .4byte sub_81CD070 + .4byte sub_81CDDD4 + .4byte sub_81CDE2C + .4byte sub_81CDE64 + .4byte sub_81CD1C0 + .4byte sub_81CECA0 + .4byte sub_81CEF3C + .4byte sub_81CEFDC + .4byte sub_81CF330 + .4byte sub_81CF3A0 + .4byte sub_81CF3D0 + .4byte sub_81CEFF0 + .4byte sub_81CF3F8 + .4byte sub_81CD024 + .4byte sub_81CD070 + .4byte sub_81CDDD4 + .4byte sub_81CDE2C + .4byte sub_81CDE64 + .4byte sub_81CD1C0 + .4byte sub_81CECA0 + .4byte sub_81CEF98 + .4byte sub_81CEFDC + .4byte sub_81CF368 + .4byte sub_81CF3A0 + .4byte sub_81CF3D0 + .4byte sub_81CEFF0 + .4byte sub_81CF3F8 + .4byte sub_81CAAE8 + .4byte sub_81CAB24 + .4byte sub_81CB260 + .4byte sub_81CB29C + .4byte sub_81CB2CC + .4byte sub_81CAB38 + .4byte sub_81CB2E0 + .4byte sub_81CF9BC + .4byte sub_81CFA34 + .4byte sub_81CFDD0 + .4byte sub_81CFE40 + .4byte sub_81CFE70 + .4byte sub_81CFA48 + .4byte sub_81CFE98 + .4byte sub_81D0450 + .4byte sub_81D04A0 + .4byte sub_81D0978 + .4byte sub_81D09B0 + .4byte sub_81D09E0 + .4byte sub_81D04B8 + .4byte sub_81D09F4 + .4byte sub_81CFA04 + .4byte sub_81CFA34 + .4byte sub_81CFE08 + .4byte sub_81CFE40 + .4byte sub_81CFE70 + .4byte sub_81CFA48 + .4byte sub_81CFE98 + +gUnknown_0861F590:: @ 861F590 + .incbin "graphics/pokenav/icon2.gbapal" + +gUnknown_0861F5B0:: @ 861F5B0 + .incbin "graphics/pokenav/icon2.4bpp.lz" + +gUnknown_0861F994:: @ 861F994 + .incbin "graphics/pokenav/icon2_unused.4bpp.lz" gUnknown_0861FA04:: @ 861FA04 - .incbin "baserom.gba", 0x61fa04, 0x4 + .byte 0x50 + .byte 0x0 + .byte 0x0 + .byte 0x0 gUnknown_0861FA08:: @ 861FA08 - .incbin "baserom.gba", 0x61fa08, 0x10 + window_template 0, 1, 0x16, 0x10, 0x2, 0x0, 0x36 + null_window_template gUnknown_0861FA18:: @ 861FA18 - .incbin "baserom.gba", 0x61fa18, 0x30 + .4byte gUnknown_085EBED5 + .4byte gUnknown_085EBED9 + .4byte gUnknown_085EBEE9 + .4byte gUnknown_085EBEF9 + .4byte gUnknown_085EBF0E + .4byte gUnknown_085EBF22 + .4byte gUnknown_085EBF39 + .4byte gUnknown_085EBF49 + .4byte gUnknown_085EBF57 + .4byte gUnknown_085EBF60 + .4byte gUnknown_085EBF73 + .4byte gUnknown_085EBF84 gUnknown_0861FA48:: @ 861FA48 - .incbin "baserom.gba", 0x61fa48, 0x4 + .byte 0x4 + .byte 0x1 + .byte 0x2 + .byte 0x0 gUnknown_0861FA4C:: @ 861FA4C - .incbin "baserom.gba", 0x61fa4c, 0x8 + obj_tiles gUnknown_0861F5B0, 0x1000, 0 gUnknown_0861FA54:: @ 861FA54 - .incbin "baserom.gba", 0x61fa54, 0x10 + obj_pal gUnknown_0861F590, 0 + null_obj_pal gUnknown_0861FA64:: @ 861FA64 - .incbin "baserom.gba", 0x61fa64, 0x8 + obj_tiles gPokenavLeftHeaderHoennMap_Gfx, 0xC00, 2 gUnknown_0861FA6C:: @ 861FA6C - .incbin "baserom.gba", 0x61fa6c, 0x30 + obj_tiles gPokenavLeftHeaderMainMenu_Gfx, 0x20, 3 + obj_tiles gPokenavLeftHeaderCondition_Gfx, 0x20, 1 + obj_tiles gPokenavLeftHeaderRibbons_Gfx, 0x20, 2 + obj_tiles gPokenavLeftHeaderMatchCall_Gfx, 0x20, 4 + obj_tiles gPokenavLeftHeaderHoennMap_Gfx, 0x20, 0 + obj_tiles gPokenavLeftHeaderHoennMap_Gfx, 0x40, 0 gUnknown_0861FA9C:: @ 861FA9C - .incbin "baserom.gba", 0x61fa9c, 0x68 + .4byte gPokenavLeftHeaderParty_Gfx, 1 + .4byte gPokenavLeftHeaderSearch_Gfx, 1 + .4byte gPokenavLeftHeaderCool_Gfx, 4 + .4byte gPokenavLeftHeaderBeauty_Gfx, 1 + .4byte gPokenavLeftHeaderCute_Gfx, 2 + .4byte gPokenavLeftHeaderSmart_Gfx, 0 + .4byte gPokenavLeftHeaderTough_Gfx, 0 + +gUnknown_0861FAD4:: @ 861FAD4 + .2byte 0x0 + .2byte 0x8000 + .2byte 0x0 + .2byte 0x0 + +gUnknown_0861FADC:: + obj_image_anim_frame 0, 8 + obj_image_anim_frame 16, 8 + obj_image_anim_frame 32, 8 + obj_image_anim_frame 48, 8 + obj_image_anim_frame 64, 8 + obj_image_anim_frame 80, 8 + obj_image_anim_frame 96, 8 + obj_image_anim_frame 112, 8 + obj_image_anim_jump 0 + +gUnknown_0861FB00:: + .4byte gUnknown_0861FADC gUnknown_0861FB04:: @ 861FB04 - .incbin "baserom.gba", 0x61fb04, 0x28 + spr_template 0, 0, gUnknown_0861FAD4, gUnknown_0861FB00, NULL, gDummySpriteAffineAnimTable, sub_81C7CB4 + +gUnknown_0861FB1C:: + .2byte 0x4000 + .2byte 0xC000 + .2byte 0x400 + .2byte 0x0 + +gUnknown_0861FB24:: + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x400 + .2byte 0x0 gUnknown_0861FB2C:: @ 861FB2C - .incbin "baserom.gba", 0x61fb2c, 0x18 + spr_template 2, 1, gUnknown_0861FB1C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_0861FB44:: @ 861FB44 - .incbin "baserom.gba", 0x61fb44, 0xa0 + spr_template 2, 2, gUnknown_0861FB24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_0861FB5C:: @ 861FB5C + .incbin "graphics/pokenav/arrows_matchcall.gbapal" + +gUnknown_0861FB7C:: @ 861FB7C + .incbin "graphics/pokenav/arrows_matchcall.4bpp.lz" gUnknown_0861FBE4:: @ 861FBE4 - .incbin "baserom.gba", 0x61fbe4, 0x4 + .byte 0x0 + .byte 0x2 + .byte 0x5 + .byte 0x0 gUnknown_0861FBE8:: @ 861FBE8 - .incbin "baserom.gba", 0x61fbe8, 0xc + .4byte gUnknown_085EBEA8 + .4byte gUnknown_085EBEB1 + .4byte gUnknown_085EBEC3 gUnknown_0861FBF4:: @ 861FBF4 - .incbin "baserom.gba", 0x61fbf4, 0x3 + .byte 0x1 + .byte 0x4 + .byte 0x5 gUnknown_0861FBF7:: @ 861FBF7 - .incbin "baserom.gba", 0x61fbf7, 0x5 + .byte 0x2 + .byte 0x4 + .byte 0x6 + .byte 0x7 + .byte 0x0 gUnknown_0861FBFC:: @ 861FBFC - .incbin "baserom.gba", 0x61fbfc, 0x8 + .4byte gUnknown_0861FB7C + .2byte 0xC0 + .2byte 0xA gUnknown_0861FC04:: @ 861FC04 - .incbin "baserom.gba", 0x61fc04, 0x18 + .4byte gUnknown_0861FB5C + .4byte 0x14 + .4byte 0x0 + .4byte 0x0 + +gUnknown_0861FC14:: @ 861FC14 + .4byte 0x8000 + .4byte 0x800 gUnknown_0861FC1C:: @ 861FC1C - .incbin "baserom.gba", 0x61fc1c, 0x20 + spr_template 10, 20, gUnknown_0861FC14, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81C9080 + +gUnknown_0861FC34:: @ 861FC34 + .4byte 0x4000 + .4byte 0x800 gUnknown_0861FC3C:: @ 861FC3C - .incbin "baserom.gba", 0x61fc3c, 0x18 + spr_template 10, 20, gUnknown_0861FC34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_0861FC54:: @ 861FC54 - .incbin "baserom.gba", 0x61fc54, 0x5 + .byte 2 + .byte 3 + .byte 4 + .byte 2 + .byte 5 gUnknown_0861FC59:: @ 861FC59 - .incbin "baserom.gba", 0x61fc59, 0x1f + .byte 0, 1, 4, 4, 4, 4, 0, 1, 2, 4, 4, 4, 0, 1, 2, 3, 4, 4, 5, 6, 7, 4, 4, 4, 8, 9, 10, 11, 12, 13, 0 gUnknown_0861FC78:: @ 861FC78 - .incbin "baserom.gba", 0x61fc78, 0x2 - -gUnknown_0861FC7A:: @ 861FC7A - .incbin "baserom.gba", 0x61fc7a, 0xc - -gUnknown_0861FC86:: @ 861FC86 - .incbin "baserom.gba", 0x61fc86, 0x12 + .incbin "graphics/pokenav/bg.gbapal" gUnknown_0861FC98:: @ 861FC98 - .incbin "baserom.gba", 0x61fc98, 0x14 + .incbin "graphics/pokenav/bg.4bpp.lz" gUnknown_0861FCAC:: @ 861FCAC - .incbin "baserom.gba", 0x61fcac, 0xa0 + .incbin "graphics/pokenav/bg.bin.lz" gUnknown_0861FD4C:: @ 861FD4C - .incbin "baserom.gba", 0x61fd4c, 0x20 + .incbin "graphics/pokenav/outline.gbapal" gUnknown_0861FD6C:: @ 861FD6C - .incbin "baserom.gba", 0x61fd6c, 0x288 + .incbin "graphics/pokenav/outline.4bpp.lz" gUnknown_0861FFF4:: @ 861FFF4 - .incbin "baserom.gba", 0x61fff4, 0x1a0 + .incbin "graphics/pokenav/outline_map.bin.lz" + +gUnknown_08620104:: @ 8620104 + .incbin "graphics/pokenav/blue_light.gbapal" + +gUnknown_08620124:: @ 8620124 + .incbin "graphics/pokenav/blue_light.4bpp.lz" gUnknown_08620194:: @ 8620194 - .incbin "baserom.gba", 0x620194, 0xc + .byte 0xF5, 0x10, 0, 0, 0x7A, 0x21, 0, 0, 0xFF, 0x31, 0, 0 gUnknown_086201A0:: @ 86201A0 - .incbin "baserom.gba", 0x6201a0, 0x24 + .4byte NULL + .4byte sub_81C9C6C + .4byte sub_81C9CA8 + .4byte sub_81C9D44 + .4byte sub_81C9DD8 + .4byte sub_81C9E58 + .4byte sub_81C9EC8 + .4byte sub_81C9EF8 + .4byte sub_81C9F28 gUnknown_086201C4:: @ 86201C4 - .incbin "baserom.gba", 0x6201c4, 0x10 + .4byte gPokenavOptions_Gfx + .byte 0, 0x34, 3, 0 + .4byte gUnknown_08620124 + .byte 0, 1, 1, 0 gUnknown_086201D4:: @ 86201D4 - .incbin "baserom.gba", 0x6201d4, 0x6c + .4byte gPokenavOptions_Pal + 0x0, 4 + .4byte gPokenavOptions_Pal + 0x20, 5 + .4byte gPokenavOptions_Pal + 0x40, 6 + .4byte gPokenavOptions_Pal + 0x60, 7 + .4byte gPokenavOptions_Pal + 0x80, 8 + .4byte gUnknown_08620104, 3 + .4byte 0, 0 + +gUnknown_0862020C:: @ 862020C + .2byte 0, 0 + +gUnknown_08620210:: @ 8620210 + .2byte 0x20, 1 + +gUnknown_08620214:: @ 8620214 + .2byte 0x40, 4 + +gUnknown_08620218:: @ 8620218 + .2byte 0x60, 2 + +gUnknown_0862021C:: @ 862021C + .2byte 0x80, 3 + +gUnknown_08620220:: @ 8620220 + .2byte 0xA0, 1 + +gUnknown_08620224:: @ 8620224 + .2byte 0xC0, 1 + +gUnknown_08620228:: @ 8620228 + .2byte 0xE0, 4 + +gUnknown_0862022C:: @ 862022C + .2byte 0x100, 1 + +gUnknown_08620230:: @ 8620230 + .2byte 0x120, 2 + +gUnknown_08620234:: @ 8620234 + .2byte 0x140, 0 + +gUnknown_08620238:: @ 8620238 + .2byte 0x160, 0 + +gUnknown_0862023C:: @ 862023C + .2byte 0x180, 3 gUnknown_08620240:: @ 8620240 - .incbin "baserom.gba", 0x620240, 0x4 + .2byte 0x2A, 0x14 gUnknown_08620244:: @ 8620244 - .incbin "baserom.gba", 0x620244, 0x88 + .4byte gUnknown_0862020C + .4byte gUnknown_08620210 + .4byte gUnknown_0862021C + .4byte NULL + .4byte NULL + .4byte NULL + .2byte 0x2A, 0x14 + .4byte gUnknown_0862020C + .4byte gUnknown_08620210 + .4byte gUnknown_08620214 + .4byte gUnknown_0862021C + .4byte NULL + .4byte NULL + .2byte 0x2A, 0x14 + .4byte gUnknown_0862020C + .4byte gUnknown_08620210 + .4byte gUnknown_08620214 + .4byte gUnknown_08620218 + .4byte gUnknown_0862021C + .4byte NULL + .2byte 0x38, 0x14 + .4byte gUnknown_08620220 + .4byte gUnknown_08620224 + .4byte gUnknown_0862023C + .4byte NULL + .4byte NULL + .4byte NULL + .2byte 0x28, 0x10 + .4byte gUnknown_08620228 + .4byte gUnknown_0862022C + .4byte gUnknown_08620230 + .4byte gUnknown_08620234 + .4byte gUnknown_08620238 + .4byte gUnknown_0862023C gUnknown_086202CC:: @ 86202CC - .incbin "baserom.gba", 0x6202cc, 0x8 + window_template 1, 3, 17, 0x18, 2, 1, 8 gUnknown_086202D4:: @ 86202D4 - .incbin "baserom.gba", 0x6202d4, 0x38 + .4byte gUnknown_085EBCC5 + .4byte gUnknown_085EBCE8 + .4byte gUnknown_085EBD01 + .4byte gUnknown_085EBD1C + .4byte gUnknown_085EBD34 + .4byte gUnknown_085EBD83 + .4byte gUnknown_085EBDA2 + .4byte gUnknown_085EBDBF + .4byte gUnknown_085EBDDB + .4byte gUnknown_085EBDEE + .4byte gUnknown_085EBE06 + .4byte gUnknown_085EBE19 + .4byte gUnknown_085EBE2D + .4byte gUnknown_085EBE41 gUnknown_0862030C:: @ 862030C - .incbin "baserom.gba", 0x62030c, 0x3 + .byte 6, 8, 7 gUnknown_0862030F:: @ 862030F - .incbin "baserom.gba", 0x62030f, 0x3d + .byte 6, 8, 7, 0, 0 + +gUnknown_08620314:: @ 8620314 + .byte 0, 0x40, 0, 0x80, 0, 8, 0, 0 + +gUnknown_0862031C:: @ 862031C + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_end + +gUnknown_0862032C:: @ 862032C + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x10, 0x10, 0, 0x12 + obj_rot_scal_anim_end + +gUnknown_08620344:: @ 8620344 + .4byte gUnknown_0862031C + .4byte gUnknown_0862032C gUnknown_0862034C:: @ 862034C - .incbin "baserom.gba", 0x62034c, 0x20 + spr_template 3, 4, gUnknown_08620314, gDummySpriteAnimTable, NULL, gUnknown_08620344, SpriteCallbackDummy + +gUnknown_08620364:: @ 8620364 + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x800 + .2byte 0 gUnknown_0862036C:: @ 862036C - .incbin "baserom.gba", 0x62036c, 0x18 + spr_template 1, 3, gUnknown_08620364, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_08620384:: @ 8620384 - .incbin "baserom.gba", 0x620384, 0x1ca4 + .4byte 0x4000040 + .4byte 0xa2600001 + .byte 1, 0, 0, 0 + +gUnknown_08620390:: @ 8620390 + .string "Becalm fighting emotions.$" +gUnknown_086203AA:: @ 86203AA + .string "Fragrant GRASS POKéMON.$" + +gUnknown_086203C2:: @ 86203C2 + .string "Soothing aromas make the$" + +gUnknown_086203DB:: @ 86203DB + .string "body and mind healthy.$" + +gUnknown_086203F2:: @ 86203F2 + .string "I’m not very good at this.$" + +gUnknown_0862040D:: @ 862040D + .string "Ruin-exploration partners.$" + +gUnknown_08620428:: @ 8620428 + .string "I am searching for undersea$" + +gUnknown_08620444:: @ 8620444 + .string "ruins and relics.$" + +gUnknown_08620456:: @ 8620456 + .string "Overwhelm with power!$" + +gUnknown_0862046C:: @ 862046C + .string "Craggy ROCK POKéMON.$" + +gUnknown_08620481:: @ 8620481 + .string "In search of ancient lore,$" + +gUnknown_0862049C:: @ 862049C + .string "I travel the world.$" + +gUnknown_086204B0:: @ 86204B0 + .string "I’m going to try hard!$" + +gUnknown_086204C7:: @ 86204C7 + .string "Good swimmer POKéMON.$" + +gUnknown_086204DD:: @ 86204DD + .string "I wish I could swim without$" + +gUnknown_086204F9:: @ 86204F9 + .string "using an inner tube.$" + +gUnknown_0862050E:: @ 862050E + .string "I don’t know. I’ll try hard.$" + +gUnknown_0862052B:: @ 862052B + .string "WATER POKéMON are buddies.$" + +gUnknown_08620546:: @ 8620546 + .string "It’s not like I can’t swim.$" + +gUnknown_08620562:: @ 8620562 + .string "I just like my inner tube.$" + +gUnknown_0862057D:: @ 862057D + .string "We split our duties.$" + +gUnknown_08620592:: @ 8620592 + .string "We like friendly POKéMON.$" + +gUnknown_086205AC:: @ 86205AC + .string "We enjoy POKéMON together$" + +gUnknown_086205C6:: @ 86205C6 + .string "as sister and brother.$" + +gUnknown_086205DD:: @ 86205DD + .string "I finish with power moves!$" + +gUnknown_086205F8:: @ 86205F8 + .string "A mix of different types.$" + +gUnknown_08620612:: @ 8620612 + .string "I aim to become the ultimate$" + +gUnknown_0862062F:: @ 862062F + .string "TRAINER!$" + +gUnknown_08620638:: @ 8620638 + .string "Exploit the foe’s weakness.$" + +gUnknown_08620654:: @ 8620654 + .string "Balance is crucial.$" + +gUnknown_08620668:: @ 8620668 + .string "My goal is to become the$" + +gUnknown_08620681:: @ 8620681 + .string "POKéMON CHAMPION.$" + +gUnknown_08620693:: @ 8620693 + .string "Upset the opponent.$" + +gUnknown_086206A7:: @ 86206A7 + .string "Type doesn’t matter.$" + +gUnknown_086206BC:: @ 86206BC + .string "I’m a top student at the$" + +gUnknown_086206D5:: @ 86206D5 + .string "TRAINER’S SCHOOL.$" + +gUnknown_086206E7:: @ 86206E7 + .string "Slow, steady suffering.$" + +gUnknown_086206FF:: @ 86206FF + .string "Scary to meet at night.$" + +gUnknown_08620717:: @ 8620717 + .string "I see things that others$" + +gUnknown_08620730:: @ 8620730 + .string "can’t see...$" + +gUnknown_0862073D:: @ 862073D + .string "Anything to win.$" + +gUnknown_0862074E:: @ 862074E + .string "Gorgeous type!$" + +gUnknown_0862075D:: @ 862075D + .string "I have a pool specially for$" + +gUnknown_08620779:: @ 8620779 + .string "my POKéMON at home.$" + +gUnknown_0862078D:: @ 862078D + .string "You’ll fall under my spell!$" + +gUnknown_086207A9:: @ 86207A9 + .string "Mature WATER type.$" + +gUnknown_086207BC:: @ 86207BC + .string "I dream of cruising around$" + +gUnknown_086207D7:: @ 86207D7 + .string "the world on a luxury liner.$" + +gUnknown_086207F4:: @ 86207F4 + .string "I’ll lead you astray.$" + +gUnknown_0862080A:: @ 862080A + .string "Cute, of course.$" + +gUnknown_0862081B:: @ 862081B + .string "I love the SAFARI ZONE.$" + +gUnknown_08620833:: @ 8620833 + .string "I seem to end up there.$" + +gUnknown_0862084B:: @ 862084B + .string "Strategy? Who needs it?$" + +gUnknown_08620863:: @ 8620863 + .string "I spent big money on it!$" + +gUnknown_0862087C:: @ 862087C + .string "I, being rich, sleep in a$" + +gUnknown_08620896:: @ 8620896 + .string "custom POKéMON bed.$" + +gUnknown_086208AA:: @ 86208AA + .string "Wrestle down with power.$" + +gUnknown_086208C3:: @ 86208C3 + .string "Took all night to catch.$" + +gUnknown_086208DC:: @ 86208DC + .string "Big, burly, and buff$" + +gUnknown_086208F1:: @ 86208F1 + .string "POKéMON are the best...$" + +gUnknown_08620909:: @ 8620909 + .string "Ram at full speed!$" + +gUnknown_0862091C:: @ 862091C + .string "Funky WATER type!$" + +gUnknown_0862092E:: @ 862092E + .string "If I can’t be out swimming,$" + +gUnknown_0862094A:: @ 862094A + .string "I’ll be pumping weights.$" + +gUnknown_08620963:: @ 8620963 + .string "Grand slam pummeling!$" + +gUnknown_08620979:: @ 8620979 + .string "FIGHTING type.$" + +gUnknown_08620988:: @ 8620988 + .string "Not to brag, but I can bust$" + +gUnknown_086209A4:: @ 86209A4 + .string "ten roof tiles!$" + +gUnknown_086209B4:: @ 86209B4 + .string "Witness karate power!$" + +gUnknown_086209CA:: @ 86209CA + .string "My partners in training!$" + +gUnknown_086209E3:: @ 86209E3 + .string "Let us discuss matters of$" + +gUnknown_086209FD:: @ 86209FD + .string "the world with bare fists!$" + +gUnknown_08620A18:: @ 8620A18 + .string "Rock to stunning sounds!$" + +gUnknown_08620A31:: @ 8620A31 + .string "Electric-and-sound combo!$" + +gUnknown_08620A4B:: @ 8620A4B + .string "My compositions will shock$" + +gUnknown_08620A66:: @ 8620A66 + .string "you and stun you!$" + +gUnknown_08620A78:: @ 8620A78 + .string "I’ll electrify you!$" + +gUnknown_08620A8C:: @ 8620A8C + .string "They’re ELECTRIC!$" + +gUnknown_08620A9E:: @ 8620A9E + .string "I want to make people cry$" + +gUnknown_08620AB8:: @ 8620AB8 + .string "with songs from my heart.$" + +gUnknown_08620AD2:: @ 8620AD2 + .string "Burn it all down!$" + +gUnknown_08620AE4:: @ 8620AE4 + .string "Burn-inducing POKéMON.$" + +gUnknown_08620AFB:: @ 8620AFB + .string "When you light a campfire,$" + +gUnknown_08620B16:: @ 8620B16 + .string "be sure there’s some water.$" + +gUnknown_08620B32:: @ 8620B32 + .string "Hang in and be tenacious!$" + +gUnknown_08620B4C:: @ 8620B4C + .string "I’ll raise any POKéMON.$" + +gUnknown_08620B64:: @ 8620B64 + .string "POKéMON raised in the wild$" + +gUnknown_08620B7F:: @ 8620B7F + .string "grow strong!$" + +gUnknown_08620B8C:: @ 8620B8C + .string "Our love lets us prevail.$" + +gUnknown_08620BA6:: @ 8620BA6 + .string "We’ve had them for years.$" + +gUnknown_08620BC0:: @ 8620BC0 + .string "Married 50 years, we’ve$" + +gUnknown_08620BD8:: @ 8620BD8 + .string "devotedly raised POKéMON.$" + +gUnknown_08620BF2:: @ 8620BF2 + .string "Attack in waves!$" + +gUnknown_08620C03:: @ 8620C03 + .string "BUG POKéMON are cool.$" + +gUnknown_08620C19:: @ 8620C19 + .string "I go into the forest every$" + +gUnknown_08620C34:: @ 8620C34 + .string "day to catch BUG POKéMON.$" + +gUnknown_08620C4E:: @ 8620C4E + .string "Daze and confuse!$" + +gUnknown_08620C60:: @ 8620C60 + .string "Ones with weird powers.$" + +gUnknown_08620C78:: @ 8620C78 + .string "I can see through exactly$" + +gUnknown_08620C92:: @ 8620C92 + .string "what you’re thinking!$" + +gUnknown_08620CA8:: @ 8620CA8 + .string "Battle at full power.$" + +gUnknown_08620CBE:: @ 8620CBE + .string "POKéMON of many mysteries.$" + +gUnknown_08620CD9:: @ 8620CD9 + .string "When we spoke, I was really$" + +gUnknown_08620CF5:: @ 8620CF5 + .string "using telepathy.$" + +gUnknown_08620D06:: @ 8620D06 + .string "Calm and collected.$" + +gUnknown_08620D1A:: @ 8620D1A + .string "POKéMON of distinction.$" + +gUnknown_08620D32:: @ 8620D32 + .string "We enjoy a spot of tea$" + +gUnknown_08620D49:: @ 8620D49 + .string "every day. It’s imported.$" + +gUnknown_08620D63:: @ 8620D63 + .string "I use my head to battle.$" + +gUnknown_08620D7C:: @ 8620D7C + .string "I love any kind of POKéMON!$" + +gUnknown_08620D98:: @ 8620D98 + .string "My daddy gives me spending$" + +gUnknown_08620DB3:: @ 8620DB3 + .string "money if I ace a test.$" + +gUnknown_08620DCA:: @ 8620DCA + .string "My knowledge rules!$" + +gUnknown_08620DDE:: @ 8620DDE + .string "Any smart POKéMON!$" + +gUnknown_08620DF1:: @ 8620DF1 + .string "I want to be a POKéMON$" + +gUnknown_08620E08:: @ 8620E08 + .string "researcher in the future.$" + +gUnknown_08620E22:: @ 8620E22 + .string "We talk it over first.$" + +gUnknown_08620E39:: @ 8620E39 + .string "POKéMON that we both like.$" + +gUnknown_08620E54:: @ 8620E54 + .string "We’re senior and junior$" + +gUnknown_08620E6C:: @ 8620E6C + .string "students into POKéMON!$" + +gUnknown_08620E83:: @ 8620E83 + .string "Go for it, my dears!$" + +gUnknown_08620E98:: @ 8620E98 + .string "I have no likes or dislikes.$" + +gUnknown_08620EB5:: @ 8620EB5 + .string "While out shopping for$" + +gUnknown_08620ECC:: @ 8620ECC + .string "supper, I battle too.$" + +gUnknown_08620EE2:: @ 8620EE2 + .string "I battle with love!$" + +gUnknown_08620EF6:: @ 8620EF6 + .string "A POKéMON raised with love!$" + +gUnknown_08620F12:: @ 8620F12 + .string "It’s important to build$" + +gUnknown_08620F2A:: @ 8620F2A + .string "trust with your POKéMON.$" + +gUnknown_08620F43:: @ 8620F43 + .string "I see through your moves!$" + +gUnknown_08620F5D:: @ 8620F5D + .string "The essence of FIGHTING.$" + +gUnknown_08620F76:: @ 8620F76 + .string "I’m not ready to give way$" + +gUnknown_08620F90:: @ 8620F90 + .string "to the young yet!$" + +gUnknown_08620FA2:: @ 8620FA2 + .string "Attack while defending.$" + +gUnknown_08620FBA:: @ 8620FBA + .string "The FIGHTING type.$" + +gUnknown_08620FCD:: @ 8620FCD + .string "Being old, I have my own$" + +gUnknown_08620FE6:: @ 8620FE6 + .string "style of battling.$" + +gUnknown_08620FF9:: @ 8620FF9 + .string "I do what I can.$" + +gUnknown_0862100A:: @ 862100A + .string "I use different types.$" + +gUnknown_08621021:: @ 8621021 + .string "I’m going to keep working$" + +gUnknown_0862103B:: @ 862103B + .string "until I beat a GYM LEADER.$" + +gUnknown_08621056:: @ 8621056 + .string "I battle patiently.$" + +gUnknown_0862106A:: @ 862106A + .string "WATER POKéMON to battle!$" + +gUnknown_08621083:: @ 8621083 + .string "I’m the world’s only guy to$" + +gUnknown_0862109F:: @ 862109F + .string "catch a huge POKéMON!$" + +gUnknown_086210B5:: @ 86210B5 + .string "Exploit the environment!$" + +gUnknown_086210CE:: @ 86210CE + .string "All hail the WATER type!$" + +gUnknown_086210E7:: @ 86210E7 + .string "I won’t be beaten by some$" + +gUnknown_08621101:: @ 8621101 + .string "beach bum SWIMMER!$" + +gUnknown_08621114:: @ 8621114 + .string "Speed above all!$" + +gUnknown_08621125:: @ 8621125 + .string "I use a speedy POKéMON.$" + +gUnknown_0862113D:: @ 862113D + .string "A marathon is a challenge$" + +gUnknown_08621157:: @ 8621157 + .string "against your own self.$" + +gUnknown_0862116E:: @ 862116E + .string "Defense is crucial.$" + +gUnknown_08621182:: @ 8621182 + .string "My POKéMON is solid.$" + +gUnknown_08621197:: @ 8621197 + .string "I started this for dieting,$" + +gUnknown_086211B3:: @ 86211B3 + .string "but I got right into it.$" + +gUnknown_086211CC:: @ 86211CC + .string "Strike before stricken!$" + +gUnknown_086211E4:: @ 86211E4 + .string "A fast-running POKéMON!$" + +gUnknown_086211FC:: @ 86211FC + .string "If you ran and ran, you’d$" + +gUnknown_08621216:: @ 8621216 + .string "become one with the wind.$" + +gUnknown_08621230:: @ 8621230 + .string "All-out offensive!$" + +gUnknown_08621243:: @ 8621243 + .string "WATER POKéMON rule!$" + +gUnknown_08621257:: @ 8621257 + .string "I must swim over 6 miles$" + +gUnknown_08621270:: @ 8621270 + .string "every day.$" + +gUnknown_0862127B:: @ 862127B + .string "Push and push again!$" + +gUnknown_08621290:: @ 8621290 + .string "The strength of STEEL.$" + +gUnknown_086212A7:: @ 86212A7 + .string "If you’re sweating, get$" + +gUnknown_086212BF:: @ 86212BF + .string "fluids into you regularly.$" + +gUnknown_086212DA:: @ 86212DA + .string "Draw the power of WATER.$" + +gUnknown_086212F3:: @ 86212F3 + .string "Toughened WATER POKéMON.$" + +gUnknown_0862130C:: @ 862130C + .string "Training POKéMON is good,$" + +gUnknown_08621326:: @ 8621326 + .string "but don’t neglect yourself.$" + +gUnknown_08621342:: @ 8621342 + .string "It’s about POKéMON power!$" + +gUnknown_0862135C:: @ 862135C + .string "See the power of DRAGONS!$" + +gUnknown_08621376:: @ 8621376 + .string "I’ll become legendary as the$" + +gUnknown_08621393:: @ 8621393 + .string "strongest one day!$" + +gUnknown_086213A6:: @ 86213A6 + .string "I’ll show you my technique!$" + +gUnknown_086213C2:: @ 86213C2 + .string "Elegantly wheeling BIRDS.$" + +gUnknown_086213DC:: @ 86213DC + .string "My BIRD POKéMON, deliver my$" + +gUnknown_086213F8:: @ 86213F8 + .string "love to that girl!$" + +gUnknown_0862140B:: @ 862140B + .string "You’ll suffer from poison!$" + +gUnknown_08621426:: @ 8621426 + .string "Poisonous POKéMON.$" + +gUnknown_08621439:: @ 8621439 + .string "I undertake training so$" + +gUnknown_08621451:: @ 8621451 + .string "that I may become a ninja.$" + +gUnknown_0862146C:: @ 862146C + .string "The first strike wins!$" + +gUnknown_08621483:: @ 8621483 + .string "Speedy FIGHTING type.$" + +gUnknown_08621499:: @ 8621499 + .string "If my POKéMON lose,$" + +gUnknown_086214AD:: @ 86214AD + .string "I’ll carry on the fight!$" + +gUnknown_086214C6:: @ 86214C6 + .string "Go, go, my POKéMON!$" + +gUnknown_086214DA:: @ 86214DA + .string "I’ll raise anything.$" + +gUnknown_086214EF:: @ 86214EF + .string "UV rays are your skin’s$" + +gUnknown_08621507:: @ 8621507 + .string "enemy. Get protected.$" + +gUnknown_0862151D:: @ 862151D + .string "No mercy!$" + +gUnknown_08621527:: @ 8621527 + .string "Cute WATER POKéMON.$" + +gUnknown_0862153B:: @ 862153B + .string "I have too many fans.$" + +gUnknown_08621551:: @ 8621551 + .string "I was interviewed on TV.$" + +gUnknown_0862156A:: @ 862156A + .string "I think about this & that.$" + +gUnknown_08621585:: @ 8621585 + .string "I like all POKéMON.$" + +gUnknown_08621599:: @ 8621599 + .string "What lies beyond that$" + +gUnknown_086215AF:: @ 86215AF + .string "yonder hill?$" + +gUnknown_086215BC:: @ 86215BC + .string "We battle together!$" + +gUnknown_086215D0:: @ 86215D0 + .string "We train together!$" + +gUnknown_086215E3:: @ 86215E3 + .string "We like the same POKéMON,$" + +gUnknown_086215FD:: @ 86215FD + .string "but different desserts.$" + +gUnknown_08621615:: @ 8621615 + .string "I force things with power!$" + +gUnknown_08621630:: @ 8621630 + .string "WATER and FIGHTING types.$" + +gUnknown_0862164A:: @ 862164A + .string "Seamen are rough spirits!$" + +gUnknown_08621664:: @ 8621664 + .string "Any complaints?$" + +gUnknown_08621674:: @ 8621674 + .string "Up for a fight anytime!$" + +gUnknown_0862168C:: @ 862168C + .string "WATER POKéMON are my faves!$" + +gUnknown_086216A8:: @ 86216A8 + .string "If you want to shout loud,$" + +gUnknown_086216C3:: @ 86216C3 + .string "suck in air with your belly!$" + +gUnknown_086216E0:: @ 86216E0 + .string "Protect POKéMON from harm.$" + +gUnknown_086216FB:: @ 86216FB + .string "I love rare POKéMON.$" + +gUnknown_08621710:: @ 8621710 + .string "I want to collect all the$" + +gUnknown_0862172A:: @ 862172A + .string "world’s rare POKéMON.$" + +gUnknown_08621740:: @ 8621740 + .string "I count on power.$" + +gUnknown_08621752:: @ 8621752 + .string "POKéMON are my children.$" + +gUnknown_0862176B:: @ 862176B + .string "It takes knowledge and$" + +gUnknown_08621782:: @ 8621782 + .string "love to raise POKéMON.$" + +gUnknown_08621799:: @ 8621799 + .string "Full-on attack!$" + +gUnknown_086217A9:: @ 86217A9 + .string "Anything. I’ll raise it.$" + +gUnknown_086217C2:: @ 86217C2 + .string "I give them {POKEBLOCK}S for$" + +gUnknown_086217D9:: @ 86217D9 + .string "going after CONTEST titles.$" + +gUnknown_086217F5:: @ 86217F5 + .string "I raise POKéMON with care.$" + +gUnknown_08621810:: @ 8621810 + .string "Fun-to-raise POKéMON.$" + +gUnknown_08621826:: @ 8621826 + .string "Treat every POKéMON you$" + +gUnknown_0862183E:: @ 862183E + .string "meet with respect.$" + +gUnknown_08621851:: @ 8621851 + .string "I believe in my POKéMON.$" + +gUnknown_0862186A:: @ 862186A + .string "I like strong POKéMON.$" + +gUnknown_08621881:: @ 8621881 + .string "I’m training for rescue$" + +gUnknown_08621899:: @ 8621899 + .string "work with my POKéMON.$" + +gUnknown_086218AF:: @ 86218AF + .string "Attack in waves!$" + +gUnknown_086218C0:: @ 86218C0 + .string "I use different types.$" + +gUnknown_086218D7:: @ 86218D7 + .string "Those who destroy nature$" + +gUnknown_086218F0:: @ 86218F0 + .string "must never be forgiven!$" + +gUnknown_08621908:: @ 8621908 + .string "I’ll show you some guts!$" + +gUnknown_08621921:: @ 8621921 + .string "Cute POKéMON are my faves!$" + +gUnknown_0862193C:: @ 862193C + .string "After a battle, I always$" + +gUnknown_08621955:: @ 8621955 + .string "bathe with my POKéMON.$" + +gUnknown_0862196C:: @ 862196C + .string "Lightning-fast attack!$" + +gUnknown_08621983:: @ 8621983 + .string "BUG POKéMON are number 1!$" + +gUnknown_0862199D:: @ 862199D + .string "If you want to catch BUG$" + +gUnknown_086219B6:: @ 86219B6 + .string "POKéMON, wake up early.$" + +gUnknown_086219CE:: @ 86219CE + .string "I battle with power.$" + +gUnknown_086219E3:: @ 86219E3 + .string "Hard-bodied POKéMON.$" + +gUnknown_086219F8:: @ 86219F8 + .string "I’ve been planning a month$" + +gUnknown_08621A13:: @ 8621A13 + .string "for today’s hike.$" + +gUnknown_08621A25:: @ 8621A25 + .string "I like it hot!$" + +gUnknown_08621A34:: @ 8621A34 + .string "Hot POKéMON!$" + +gUnknown_08621A41:: @ 8621A41 + .string "As much as I love POKéMON,$" + +gUnknown_08621A5C:: @ 8621A5C + .string "I surely like hiking!$" + +gUnknown_08621A72:: @ 8621A72 + .string "Lovey-dovey strategy!$" + +gUnknown_08621A88:: @ 8621A88 + .string "Lovey-dovey POKéMON!$" + +gUnknown_08621A9D:: @ 8621A9D + .string "We’re lovey-dovey!$" + +gUnknown_08621AB0:: @ 8621AB0 + .string "Forever lovey-dovey!$" + +gUnknown_08621AC5:: @ 8621AC5 + .string "We let it all hang out.$" + +gUnknown_08621ADD:: @ 8621ADD + .string "The 1st POKéMON I caught.$" + +gUnknown_08621AF7:: @ 8621AF7 + .string "POKéMON and I have grown$" + +gUnknown_08621B10:: @ 8621B10 + .string "stronger together.$" + +gUnknown_08621B23:: @ 8621B23 + .string "ROCK-type power attack.$" + +gUnknown_08621B3B:: @ 8621B3B + .string "I prefer rock-hard POKéMON.$" + +gUnknown_08621B57:: @ 8621B57 + .string "A LEADER of a big GYM bears$" + +gUnknown_08621B73:: @ 8621B73 + .string "a lot of responsibility.$" + +gUnknown_08621B8C:: @ 8621B8C + .string "Direct physical action!$" + +gUnknown_08621BA4:: @ 8621BA4 + .string "FIGHTING POKéMON rule!$" + +gUnknown_08621BBB:: @ 8621BBB + .string "The world awaits me as the$" + +gUnknown_08621BD6:: @ 8621BD6 + .string "next big wave!$" + +gUnknown_08621BE5:: @ 8621BE5 + .string "I choose to electrify.$" + +gUnknown_08621BFC:: @ 8621BFC + .string "Get shocked by electricity!$" + +gUnknown_08621C18:: @ 8621C18 + .string "One must never throw a$" + +gUnknown_08621C2F:: @ 8621C2F + .string "match. Even I must not.$" + +gUnknown_08621C47:: @ 8621C47 + .string "Battle aggressively.$" + +gUnknown_08621C5C:: @ 8621C5C + .string "Burn with passion!$" + +gUnknown_08621C6F:: @ 8621C6F + .string "Completely wash away daily$" + +gUnknown_08621C8A:: @ 8621C8A + .string "fatigue in hot springs!$" + +gUnknown_08621CA2:: @ 8621CA2 + .string "I flexibly adapt my style.$" + +gUnknown_08621CBD:: @ 8621CBD + .string "Grown in a balanced manner.$" + +gUnknown_08621CD9:: @ 8621CD9 + .string "I walk the 30 minutes from$" + +gUnknown_08621CF4:: @ 8621CF4 + .string "home to here every day.$" + +gUnknown_08621D0C:: @ 8621D0C + .string "I take advantage of speed.$" + +gUnknown_08621D27:: @ 8621D27 + .string "Graceful sky dancers.$" + +gUnknown_08621D3D:: @ 8621D3D + .string "The ultimate would be to$" + +gUnknown_08621D56:: @ 8621D56 + .string "live as one with nature.$" + +gUnknown_08621D6F:: @ 8621D6F + .string "We battle in cooperation.$" + +gUnknown_08621D89:: @ 8621D89 + .string "Always friendly POKéMON.$" + +gUnknown_08621DA2:: @ 8621DA2 + .string "Papa has trouble telling$" + +gUnknown_08621DBB:: @ 8621DBB + .string "the two of us apart!$" + +gUnknown_08621DD0:: @ 8621DD0 + .string "I use splendid waterpower.$" + +gUnknown_08621DEB:: @ 8621DEB + .string "POKéMON of elegance!$" + +gUnknown_08621E00:: @ 8621E00 + .string "The adulation of beautiful$" + +gUnknown_08621E1B:: @ 8621E1B + .string "ladies fills me with energy!$" + +gUnknown_08621E38:: @ 8621E38 + .string "Offense over defense!$" + +gUnknown_08621E4E:: @ 8621E4E + .string "The DARK side’s beauties.$" + +gUnknown_08621E68:: @ 8621E68 + .string "They said I was a punk, but$" + +gUnknown_08621E84:: @ 8621E84 + .string "I’m one of the ELITE FOUR!$" + +gUnknown_08621E9F:: @ 8621E9F + .string "Confuse and confound.$" + +gUnknown_08621EB5:: @ 8621EB5 + .string "There’s nothing definite.$" + +gUnknown_08621ECF:: @ 8621ECF + .string "I wonder how my grandma at$" + +gUnknown_08621EEA:: @ 8621EEA + .string "MT. PYRE is doing?$" + +gUnknown_08621EFD:: @ 8621EFD + .string "I use items for help.$" + +gUnknown_08621F13:: @ 8621F13 + .string "Flaming passion in icy cold!$" + +gUnknown_08621F30:: @ 8621F30 + .string "The ICE type can be better$" + +gUnknown_08621F4B:: @ 8621F4B + .string "trained in this hot land.$" + +gUnknown_08621F65:: @ 8621F65 + .string "Harness strong abilities.$" + +gUnknown_08621F7F:: @ 8621F7F + .string "The raw power of DRAGONS!$" + +gUnknown_08621F99:: @ 8621F99 + .string "I dedicate myself to the$" + +gUnknown_08621FB2:: @ 8621FB2 + .string "POKéMON that saved me.$" + +gUnknown_08621FC9:: @ 8621FC9 + .string "Dignity and respect.$" + +gUnknown_08621FDE:: @ 8621FDE + .string "I prefer POKéMON of grace.$" + +gUnknown_08621FF9:: @ 8621FF9 + .string "I represent beauty as$" + +gUnknown_0862200F:: @ 862200F + .string "well as intelligence.$" + +.align 2 + +@ strategy, mon text, introduction1, introduction2 gUnknown_08622028:: @ 8622028 - .incbin "baserom.gba", 0x622028, 0x4e0 + .4byte gUnknown_08620390, gUnknown_086203AA, gUnknown_086203C2, gUnknown_086203DB + .4byte gUnknown_086203F2, gUnknown_0862040D, gUnknown_08620428, gUnknown_08620444 + .4byte gUnknown_08620456, gUnknown_0862046C, gUnknown_08620481, gUnknown_0862049C + .4byte gUnknown_086204B0, gUnknown_086204C7, gUnknown_086204DD, gUnknown_086204F9 + .4byte gUnknown_0862050E, gUnknown_0862052B, gUnknown_08620546, gUnknown_08620562 + .4byte gUnknown_0862057D, gUnknown_08620592, gUnknown_086205AC, gUnknown_086205C6 + .4byte gUnknown_086205DD, gUnknown_086205F8, gUnknown_08620612, gUnknown_0862062F + .4byte gUnknown_08620638, gUnknown_08620654, gUnknown_08620668, gUnknown_08620681 + .4byte gUnknown_08620693, gUnknown_086206A7, gUnknown_086206BC, gUnknown_086206D5 + .4byte gUnknown_086206E7, gUnknown_086206FF, gUnknown_08620717, gUnknown_08620730 + .4byte gUnknown_0862073D, gUnknown_0862074E, gUnknown_0862075D, gUnknown_08620779 + .4byte gUnknown_0862078D, gUnknown_086207A9, gUnknown_086207BC, gUnknown_086207D7 + .4byte gUnknown_086207F4, gUnknown_0862080A, gUnknown_0862081B, gUnknown_08620833 + .4byte gUnknown_0862084B, gUnknown_08620863, gUnknown_0862087C, gUnknown_08620896 + .4byte gUnknown_086208AA, gUnknown_086208C3, gUnknown_086208DC, gUnknown_086208F1 + .4byte gUnknown_08620909, gUnknown_0862091C, gUnknown_0862092E, gUnknown_0862094A + .4byte gUnknown_08620963, gUnknown_08620979, gUnknown_08620988, gUnknown_086209A4 + .4byte gUnknown_086209B4, gUnknown_086209CA, gUnknown_086209E3, gUnknown_086209FD + .4byte gUnknown_08620A18, gUnknown_08620A31, gUnknown_08620A4B, gUnknown_08620A66 + .4byte gUnknown_08620A78, gUnknown_08620A8C, gUnknown_08620A9E, gUnknown_08620AB8 + .4byte gUnknown_08620AD2, gUnknown_08620AE4, gUnknown_08620AFB, gUnknown_08620B16 + .4byte gUnknown_08620B32, gUnknown_08620B4C, gUnknown_08620B64, gUnknown_08620B7F + .4byte gUnknown_08620B8C, gUnknown_08620BA6, gUnknown_08620BC0, gUnknown_08620BD8 + .4byte gUnknown_08620BF2, gUnknown_08620C03, gUnknown_08620C19, gUnknown_08620C34 + .4byte gUnknown_08620C4E, gUnknown_08620C60, gUnknown_08620C78, gUnknown_08620C92 + .4byte gUnknown_08620CA8, gUnknown_08620CBE, gUnknown_08620CD9, gUnknown_08620CF5 + .4byte gUnknown_08620D06, gUnknown_08620D1A, gUnknown_08620D32, gUnknown_08620D49 + .4byte gUnknown_08620D63, gUnknown_08620D7C, gUnknown_08620D98, gUnknown_08620DB3 + .4byte gUnknown_08620DCA, gUnknown_08620DDE, gUnknown_08620DF1, gUnknown_08620E08 + .4byte gUnknown_08620E22, gUnknown_08620E39, gUnknown_08620E54, gUnknown_08620E6C + .4byte gUnknown_08620E83, gUnknown_08620E98, gUnknown_08620EB5, gUnknown_08620ECC + .4byte gUnknown_08620EE2, gUnknown_08620EF6, gUnknown_08620F12, gUnknown_08620F2A + .4byte gUnknown_08620F43, gUnknown_08620F5D, gUnknown_08620F76, gUnknown_08620F90 + .4byte gUnknown_08620FA2, gUnknown_08620FBA, gUnknown_08620FCD, gUnknown_08620FE6 + .4byte gUnknown_08620FF9, gUnknown_0862100A, gUnknown_08621021, gUnknown_0862103B + .4byte gUnknown_08621056, gUnknown_0862106A, gUnknown_08621083, gUnknown_0862109F + .4byte gUnknown_086210B5, gUnknown_086210CE, gUnknown_086210E7, gUnknown_08621101 + .4byte gUnknown_08621114, gUnknown_08621125, gUnknown_0862113D, gUnknown_08621157 + .4byte gUnknown_0862116E, gUnknown_08621182, gUnknown_08621197, gUnknown_086211B3 + .4byte gUnknown_086211CC, gUnknown_086211E4, gUnknown_086211FC, gUnknown_08621216 + .4byte gUnknown_08621230, gUnknown_08621243, gUnknown_08621257, gUnknown_08621270 + .4byte gUnknown_0862127B, gUnknown_08621290, gUnknown_086212A7, gUnknown_086212BF + .4byte gUnknown_086212DA, gUnknown_086212F3, gUnknown_0862130C, gUnknown_08621326 + .4byte gUnknown_08621342, gUnknown_0862135C, gUnknown_08621376, gUnknown_08621393 + .4byte gUnknown_086213A6, gUnknown_086213C2, gUnknown_086213DC, gUnknown_086213F8 + .4byte gUnknown_0862140B, gUnknown_08621426, gUnknown_08621439, gUnknown_08621451 + .4byte gUnknown_0862146C, gUnknown_08621483, gUnknown_08621499, gUnknown_086214AD + .4byte gUnknown_086214C6, gUnknown_086214DA, gUnknown_086214EF, gUnknown_08621507 + .4byte gUnknown_0862151D, gUnknown_08621527, gUnknown_0862153B, gUnknown_08621551 + .4byte gUnknown_0862156A, gUnknown_08621585, gUnknown_08621599, gUnknown_086215AF + .4byte gUnknown_086215BC, gUnknown_086215D0, gUnknown_086215E3, gUnknown_086215FD + .4byte gUnknown_08621615, gUnknown_08621630, gUnknown_0862164A, gUnknown_08621664 + .4byte gUnknown_08621674, gUnknown_0862168C, gUnknown_086216A8, gUnknown_086216C3 + .4byte gUnknown_086216E0, gUnknown_086216FB, gUnknown_08621710, gUnknown_0862172A + .4byte gUnknown_08621740, gUnknown_08621752, gUnknown_0862176B, gUnknown_08621782 + .4byte gUnknown_08621799, gUnknown_086217A9, gUnknown_086217C2, gUnknown_086217D9 + .4byte gUnknown_086217F5, gUnknown_08621810, gUnknown_08621826, gUnknown_0862183E + .4byte gUnknown_08621851, gUnknown_0862186A, gUnknown_08621881, gUnknown_08621899 + .4byte gUnknown_086218AF, gUnknown_086218C0, gUnknown_086218D7, gUnknown_086218F0 + .4byte gUnknown_08621908, gUnknown_08621921, gUnknown_0862193C, gUnknown_08621955 + .4byte gUnknown_0862196C, gUnknown_08621983, gUnknown_0862199D, gUnknown_086219B6 + .4byte gUnknown_086219CE, gUnknown_086219E3, gUnknown_086219F8, gUnknown_08621A13 + .4byte gUnknown_08621A25, gUnknown_08621A34, gUnknown_08621A41, gUnknown_08621A5C + .4byte gUnknown_08621A72, gUnknown_08621A88, gUnknown_08621A9D, gUnknown_08621AB0 + .4byte gUnknown_08621AC5, gUnknown_08621ADD, gUnknown_08621AF7, gUnknown_08621B10 + .4byte gUnknown_08621B23, gUnknown_08621B3B, gUnknown_08621B57, gUnknown_08621B73 + .4byte gUnknown_08621B8C, gUnknown_08621BA4, gUnknown_08621BBB, gUnknown_08621BD6 + .4byte gUnknown_08621BE5, gUnknown_08621BFC, gUnknown_08621C18, gUnknown_08621C2F + .4byte gUnknown_08621C47, gUnknown_08621C5C, gUnknown_08621C6F, gUnknown_08621C8A + .4byte gUnknown_08621CA2, gUnknown_08621CBD, gUnknown_08621CD9, gUnknown_08621CF4 + .4byte gUnknown_08621D0C, gUnknown_08621D27, gUnknown_08621D3D, gUnknown_08621D56 + .4byte gUnknown_08621D6F, gUnknown_08621D89, gUnknown_08621DA2, gUnknown_08621DBB + .4byte gUnknown_08621DD0, gUnknown_08621DEB, gUnknown_08621E00, gUnknown_08621E1B + .4byte gUnknown_08621E38, gUnknown_08621E4E, gUnknown_08621E68, gUnknown_08621E84 + .4byte gUnknown_08621E9F, gUnknown_08621EB5, gUnknown_08621ECF, gUnknown_08621EEA + .4byte gUnknown_08621EFD, gUnknown_08621F13, gUnknown_08621F30, gUnknown_08621F4B + .4byte gUnknown_08621F65, gUnknown_08621F7F, gUnknown_08621F99, gUnknown_08621FB2 + .4byte gUnknown_08621FC9, gUnknown_08621FDE, gUnknown_08621FF9, gUnknown_0862200F gUnknown_08622508:: @ 8622508 - .incbin "baserom.gba", 0x622508, 0x2 + .byte 0, 2 gUnknown_0862250A:: @ 862250A - .incbin "baserom.gba", 0x62250a, 0x6 + .byte 0, 1, 2, 0, 0, 0 gUnknown_08622510:: @ 8622510 - .incbin "baserom.gba", 0x622510, 0x20 + .incbin "graphics/pokenav/ui_matchcall.gbapal" gUnknown_08622530:: @ 8622530 - .incbin "baserom.gba", 0x622530, 0xa4 + .incbin "graphics/pokenav/ui_matchcall.4bpp.lz" gUnknown_086225D4:: @ 86225D4 - .incbin "baserom.gba", 0x6225d4, 0x10c + .incbin "graphics/pokenav/ui_matchcall.bin.lz" + +gUnknown_08622698:: @ 8622698 + .incbin "graphics/pokenav/arrow2.gbapal" + +gUnknown_086226B8:: @ 86226B8 + .incbin "graphics/pokenav/arrow2.4bpp.lz" gUnknown_086226E0:: @ 86226E0 - .incbin "baserom.gba", 0x6226e0, 0x20 + .incbin "graphics/pokenav/86226E0.gbapal" gUnknown_08622700:: @ 8622700 - .incbin "baserom.gba", 0x622700, 0x20 + .incbin "graphics/pokenav/8622700.gbapal" gUnknown_08622720:: @ 8622720 - .incbin "baserom.gba", 0x622720, 0x40 + .incbin "graphics/pokenav/pokeball_matchcall.gbapal" gUnknown_08622760:: @ 8622760 - .incbin "baserom.gba", 0x622760, 0x2c + .incbin "graphics/pokenav/pokeball_matchcall.4bpp.lz" gUnknown_0862278C:: @ 862278C - .incbin "baserom.gba", 0x62278c, 0x8 + .4byte 0x11FD + .4byte 0x20206A gUnknown_08622794:: @ 8622794 - .incbin "baserom.gba", 0x622794, 0x4 + .4byte 0x3077 gUnknown_08622798:: @ 8622798 - .incbin "baserom.gba", 0x622798, 0x40 + .4byte NULL + .4byte sub_81CB510 + .4byte sub_81CB588 + .4byte sub_81CB600 + .4byte sub_81CB678 + .4byte sub_81CB6F0 + .4byte sub_81CB734 + .4byte sub_81CB75C + .4byte sub_81CB7A0 + .4byte sub_81CB824 + .4byte sub_81CB888 + .4byte sub_81CB93C + .4byte sub_81CBAD4 + .4byte sub_81CB9C8 + .4byte sub_81CBA68 + .4byte sub_81CBB74 gUnknown_086227D8:: @ 86227D8 - .incbin "baserom.gba", 0x6227d8, 0x8 + window_template 2, 0, 5, 11, 2, 2, 16 gUnknown_086227E0:: @ 86227E0 - .incbin "baserom.gba", 0x6227e0, 0x8 + window_template 2, 0, 9, 11, 8, 2, 0x26 gUnknown_086227E8:: @ 86227E8 - .incbin "baserom.gba", 0x6227e8, 0xc + .4byte gUnknown_085EC017 + .4byte gUnknown_085EC01C + .4byte gUnknown_085EC022 gUnknown_086227F4:: @ 86227F4 - .incbin "baserom.gba", 0x6227f4, 0x14 + .string "·{PAUSE 0x04}·{PAUSE 0x04}·{PAUSE 0x04}·{PAUSE 0x04}·\p" + .string "$" + .align 2 gUnknown_08622808:: @ 8622808 - .incbin "baserom.gba", 0x622808, 0x8 + window_template 1, 1, 12, 0x1C, 4, 1, 10 gUnknown_08622810:: @ 8622810 - .incbin "baserom.gba", 0x622810, 0x8 + obj_tiles gUnknown_086226B8, 0x40, 7 gUnknown_08622818:: @ 8622818 - .incbin "baserom.gba", 0x622818, 0x18 + obj_pal gUnknown_08622698, 12 + null_obj_pal + +gUnknown_08622828:: @ 8622828 + .2byte 0x8000 + .2byte 0x0 + .2byte 0x400 + .2byte 0x0 gUnknown_08622830:: @ 8622830 - .incbin "baserom.gba", 0x622830, 0x20 + spr_template 7, 12, gUnknown_08622828, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81CC34C + +gUnknown_08622848:: @ 8622848 + .2byte 0x0 + .2byte 0xC000 + .2byte 0x400 + .2byte 0x0 gUnknown_08622850:: @ 8622850 - .incbin "baserom.gba", 0x622850, 0x18 + spr_template 8, 13, gUnknown_08622848, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_08622868:: @ 8622868 - .incbin "baserom.gba", 0x622868, 0x20 + .incbin "graphics/pokenav/8622868.gbapal" gUnknown_08622888:: @ 8622888 - .incbin "baserom.gba", 0x622888, 0x850 + .incbin "graphics/pokenav/zoom_tiles.4bpp.lz" + +gUnknown_08622A7C:: @ 8622A7C + .incbin "graphics/pokenav/city_maps/lavaridge_0.bin.lz" + +gUnknown_08622AC0:: @ 8622AC0 + .incbin "graphics/pokenav/city_maps/fallarbor_0.bin.lz" + +gUnknown_08622B08:: @ 8622B08 + .incbin "graphics/pokenav/city_maps/fortree_0.bin.lz" + +gUnknown_08622B58:: @ 8622B58 + .incbin "graphics/pokenav/city_maps/slateport_0.bin.lz" + +gUnknown_08622BB8:: @ 8622BB8 + .incbin "graphics/pokenav/city_maps/slateport_1.bin.lz" + +gUnknown_08622C04:: @ 8622C04 + .incbin "graphics/pokenav/city_maps/rustboro_0.bin.lz" + +gUnknown_08622C58:: @ 8622C58 + .incbin "graphics/pokenav/city_maps/rustboro_1.bin.lz" + +gUnknown_08622CAC:: @ 8622CAC + .incbin "graphics/pokenav/city_maps/pacifidlog_0.bin.lz" + +gUnknown_08622CEC:: @ 8622CEC + .incbin "graphics/pokenav/city_maps/mauville_0.bin.lz" + +gUnknown_08622D44:: @ 8622D44 + .incbin "graphics/pokenav/city_maps/mauville_1.bin.lz" + +gUnknown_08622D98:: @ 8622D98 + .incbin "graphics/pokenav/city_maps/oldale_0.bin.lz" + +gUnknown_08622DC8:: @ 8622DC8 + .incbin "graphics/pokenav/city_maps/lilycove_0.bin.lz" + +gUnknown_08622E14:: @ 8622E14 + .incbin "graphics/pokenav/city_maps/lilycove_1.bin.lz" + +gUnknown_08622E6C:: @ 8622E6C + .incbin "graphics/pokenav/city_maps/littleroot_0.bin.lz" + +gUnknown_08622E9C:: @ 8622E9C + .incbin "graphics/pokenav/city_maps/dewford_0.bin.lz" + +gUnknown_08622ED4:: @ 8622ED4 + .incbin "graphics/pokenav/city_maps/sootopolis_0.bin.lz" + +gUnknown_08622F14:: @ 8622F14 + .incbin "graphics/pokenav/city_maps/ever_grande_0.bin.lz" + +gUnknown_08622F5C:: @ 8622F5C + .incbin "graphics/pokenav/city_maps/ever_grande_1.bin.lz" + +gUnknown_08622FA0:: @ 8622FA0 + .incbin "graphics/pokenav/city_maps/verdanturf_0.bin.lz" + +gUnknown_08622FD8:: @ 8622FD8 + .incbin "graphics/pokenav/city_maps/mossdeep_0.bin.lz" + +gUnknown_08623020:: @ 8623020 + .incbin "graphics/pokenav/city_maps/mossdeep_1.bin.lz" + +gUnknown_0862307C:: @ 862307C + .incbin "graphics/pokenav/city_maps/petalburg_0.bin.lz" gUnknown_086230D8:: @ 86230D8 - .incbin "baserom.gba", 0x6230d8, 0xc + .4byte 0x11F5 + .4byte 0x206A + .4byte 0x3402 gUnknown_086230E4:: @ 86230E4 - .incbin "baserom.gba", 0x6230e4, 0x14 + .4byte NULL + .4byte sub_81CC848 + .4byte sub_81CC878 + .4byte sub_81CC8D8 + .4byte sub_81CC95C gUnknown_086230F8:: @ 86230F8 - .incbin "baserom.gba", 0x6230f8, 0x8 + obj_tiles gHoennMapZoomIcons_Gfx, 0x800, 6 gUnknown_08623100:: @ 8623100 - .incbin "baserom.gba", 0x623100, 0x10 + obj_pal gHoennMapZoomIcons_Pal, 11 + null_obj_pal gUnknown_08623110:: @ 8623110 - .incbin "baserom.gba", 0x623110, 0x8 + .byte 1 + .byte 17 + .byte 4 + .byte 12 + .byte 13 + .byte 1 + .2byte 0x4C gUnknown_08623118:: @ 8623118 - .incbin "baserom.gba", 0x623118, 0xb8 + .4byte 0, gUnknown_08622E6C + .4byte 1, gUnknown_08622D98 + .4byte 2, gUnknown_08622E9C + .4byte 3, gUnknown_08622A7C + .4byte 4, gUnknown_08622AC0 + .4byte 5, gUnknown_08622FA0 + .4byte 6, gUnknown_08622CAC + .4byte 7, gUnknown_0862307C + .4byte 8, gUnknown_08622B58 + .4byte 0x10008, gUnknown_08622BB8 + .4byte 9, gUnknown_08622D44 + .4byte 0x10009, gUnknown_08622CEC + .4byte 0xA, gUnknown_08622C04 + .4byte 0x1000A, gUnknown_08622C58 + .4byte 0xB, gUnknown_08622B08 + .4byte 0xC, gUnknown_08622E14 + .4byte 0x1000C, gUnknown_08622DC8 + .4byte 0xD, gUnknown_08623020 + .4byte 0x1000D, gUnknown_08622FD8 + .4byte 0xE, gUnknown_08622ED4 + .4byte 0xF, gUnknown_08622F14 + .4byte 0x1000F, gUnknown_08622F5C + +gUnknown_086231C8:: @ 86231C8 + .2byte 0x4000 + .2byte 0x4000 + .2byte 0x400 + .2byte 0x0 gUnknown_086231D0:: @ 86231D0 - .incbin "baserom.gba", 0x6231d0, 0x18 + spr_template 6, 11, gUnknown_086231C8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81CCEF4 gUnknown_086231E8:: @ 86231E8 - .incbin "baserom.gba", 0x6231e8, 0x20 + .incbin "graphics/pokenav/86231E8.gbapal" gUnknown_08623208:: @ 8623208 - .incbin "baserom.gba", 0x623208, 0x20 + .incbin "graphics/pokenav/8623208.gbapal" gUnknown_08623228:: @ 8623228 - .incbin "baserom.gba", 0x623228, 0x14 + .incbin "graphics/pokenav/8623228.4bpp.lz" gUnknown_0862323C:: @ 862323C - .incbin "baserom.gba", 0x62323c, 0xfc + .incbin "graphics/pokenav/862323C.bin.lz" gUnknown_08623338:: @ 8623338 - .incbin "baserom.gba", 0x623338, 0x20 + .incbin "graphics/pokenav/8623338.gbapal" gUnknown_08623358:: @ 8623358 - .incbin "baserom.gba", 0x623358, 0xc + .4byte 0x11F5 + .4byte 0x21DE + .4byte 0x31EB gUnknown_08623364:: @ 8623364 - .incbin "baserom.gba", 0x623364, 0x8 + window_template 1, 13, 1, 13, 4, 15, 2 gUnknown_0862336C:: @ 862336C - .incbin "baserom.gba", 0x62336c, 0x8 + window_template 1, 1, 6, 7, 2, 15, 0x36 gUnknown_08623374:: @ 8623374 - .incbin "baserom.gba", 0x623374, 0x8 + window_template 1, 1, 0x1C, 5, 2, 15, 0x44 gUnknown_0862337C:: @ 862337C - .incbin "baserom.gba", 0x62337c, 0x8 + window_template 1, 13, 0x1C, 3, 2, 15, 0x44 gUnknown_08623384:: @ 8623384 - .incbin "baserom.gba", 0x623384, 0x1c + .4byte NULL + .4byte sub_81CE37C + .4byte sub_81CE2D0 + .4byte sub_81CE4D8 + .4byte sub_81CE5E4 + .4byte sub_81CE6BC + .4byte sub_81CE700 gUnknown_086233A0:: @ 86233A0 - .incbin "baserom.gba", 0x6233a0, 0x14 + .4byte 0x16, 0x17, 0x18, 0x21, 0x2F gUnknown_086233B4:: @ 86233B4 - .incbin "baserom.gba", 0x6233b4, 0x10 + .4byte sub_81CF134 + .4byte sub_81CF1C4 + .4byte sub_81CF1D8 + .4byte sub_81CF278 gUnknown_086233C4:: @ 86233C4 - .incbin "baserom.gba", 0x6233c4, 0x20 + .incbin "graphics/pokenav/condition_search2.gbapal" gUnknown_086233E4:: @ 86233E4 - .incbin "baserom.gba", 0x6233e4, 0xc8 + .incbin "graphics/pokenav/condition_search2.4bpp.lz" gUnknown_086234AC:: @ 86234AC - .incbin "baserom.gba", 0x6234ac, 0xc4 + .incbin "graphics/pokenav/condition_search2.bin.lz" gUnknown_08623570:: @ 8623570 - .incbin "baserom.gba", 0x623570, 0x20 + .incbin "graphics/pokenav/8623570.gbapal" gUnknown_08623590:: @ 8623590 - .incbin "baserom.gba", 0x623590, 0x4 + .4byte 0x2065 gUnknown_08623594:: @ 8623594 - .incbin "baserom.gba", 0x623594, 0x4 + .4byte 0x307A gUnknown_08623598:: @ 8623598 - .incbin "baserom.gba", 0x623598, 0x1c + .4byte NULL + .4byte sub_81CF578 + .4byte sub_81CF5F0 + .4byte sub_81CF668 + .4byte sub_81CF6E0 + .4byte sub_81CF758 + .4byte sub_81CF798 gUnknown_086235B4:: @ 86235B4 - .incbin "baserom.gba", 0x6235b4, 0x8 + window_template 1, 1, 6, 7, 2, 1, 20 gUnknown_086235BC:: @ 86235BC - .incbin "baserom.gba", 0x6235bc, 0xc + .string "{COLOR_HIGHLIGHT_SHADOW}{LIGHT_RED}{WHITE}{GREEN}♂{COLOR_HIGHLIGHT_SHADOW}{DARK_GREY}{WHITE}{LIGHT_GREY}$" + .align 2 gUnknown_086235C8:: @ 86235C8 - .incbin "baserom.gba", 0x6235c8, 0xc + .string "{COLOR_HIGHLIGHT_SHADOW}{LIGHT_GREEN}{WHITE}{BLUE}♀{COLOR_HIGHLIGHT_SHADOW}{DARK_GREY}{WHITE}{LIGHT_GREY}$" + .align 2 gUnknown_086235D4:: @ 86235D4 - .incbin "baserom.gba", 0x6235d4, 0x4 + .string "{0x77}$" + .align 2 gUnknown_086235D8:: @ 86235D8 - .incbin "baserom.gba", 0x6235d8, 0xc + .4byte sub_81CFB8C + .4byte sub_81CFC2C + .4byte sub_81CFC40 gUnknown_086235E4:: @ 86235E4 - .incbin "baserom.gba", 0x6235e4, 0x20 + .incbin "graphics/pokenav/ui_ribbons.gbapal" gUnknown_08623604:: @ 8623604 - .incbin "baserom.gba", 0x623604, 0xc8 + .incbin "graphics/pokenav/ui_ribbons.4bpp.lz" gUnknown_086236CC:: @ 86236CC - .incbin "baserom.gba", 0x6236cc, 0xc4 + .incbin "graphics/pokenav/ui_ribbons.bin.lz" gUnknown_08623790:: @ 8623790 - .incbin "baserom.gba", 0x623790, 0x20 + .incbin "graphics/pokenav/8623790.gbapal" gUnknown_086237B0:: @ 86237B0 - .incbin "baserom.gba", 0x6237b0, 0x4 + .4byte 0x2065 gUnknown_086237B4:: @ 86237B4 - .incbin "baserom.gba", 0x6237b4, 0x4 + .4byte 0x307A gUnknown_086237B8:: @ 86237B8 - .incbin "baserom.gba", 0x6237b8, 0x1c + .4byte NULL + .4byte sub_81CFFFC + .4byte sub_81D0074 + .4byte sub_81D00EC + .4byte sub_81D0164 + .4byte sub_81D01DC + .4byte sub_81D021C gUnknown_086237D4:: @ 86237D4 - .incbin "baserom.gba", 0x6237d4, 0x8 + window_template 1, 1, 6, 7, 2, 1, 20 gUnknown_086237DC:: @ 86237DC - .incbin "baserom.gba", 0x6237dc, 0xc + .string "{COLOR_HIGHLIGHT_SHADOW}{LIGHT_RED}{WHITE}{GREEN}♂{COLOR_HIGHLIGHT_SHADOW}{DARK_GREY}{WHITE}{LIGHT_GREY}$" + .align 2 gUnknown_086237E8:: @ 86237E8 - .incbin "baserom.gba", 0x6237e8, 0xc + .string "{COLOR_HIGHLIGHT_SHADOW}{LIGHT_GREEN}{WHITE}{BLUE}♀{COLOR_HIGHLIGHT_SHADOW}{DARK_GREY}{WHITE}{LIGHT_GREY}$" + .align 2 gUnknown_086237F4:: @ 86237F4 - .incbin "baserom.gba", 0x6237f4, 0x4 + .string "{0x77}$" + .align 2 gUnknown_086237F8:: @ 86237F8 - .incbin "baserom.gba", 0x6237f8, 0x44 + .byte 1, 1, 0, 0 + .byte 3, 4, 1, 0 + .byte 3, 4, 5, 0 + .byte 3, 4, 9, 0 + .byte 3, 4, 13, 0 + .byte 3, 4, 17, 0 + .byte 1, 1, 21, 0 + .byte 1, 1, 22, 0 + .byte 1, 1, 23, 0 + .byte 1, 1, 24, 0 + .byte 1, 1, 25, 1 + .byte 1, 1, 26, 1 + .byte 1, 1, 27, 1 + .byte 1, 1, 28, 1 + .byte 1, 1, 29, 1 + .byte 1, 1, 30, 1 + .byte 1, 1, 31, 1 @ 862383C .include "data/text/ribbon_descriptions.inc" @@ -346,172 +1889,1295 @@ gUnknown_086237F8:: @ 86237F8 .include "data/text/gift_ribbon_descriptions.inc" gUnknown_08623FF8:: @ 8623FF8 - .incbin "baserom.gba", 0x623ff8, 0xa0 + .incbin "graphics/pokenav/ribbons_icon1.gbapal" + +gUnknown_08624018:: @ 8624018 + .incbin "graphics/pokenav/ribbons_icon2.gbapal" + +gUnknown_08624038:: @ 8624038 + .incbin "graphics/pokenav/ribbons_icon3.gbapal" + +gUnknown_08624058:: @ 8624058 + .incbin "graphics/pokenav/ribbons_icon4.gbapal" + +gUnknown_08624078:: @ 8624078 + .incbin "graphics/pokenav/ribbons_icon5.gbapal" gUnknown_08624098:: @ 8624098 - .incbin "baserom.gba", 0x624098, 0x20 + .incbin "graphics/pokenav/8624098.gbapal" gUnknown_086240B8:: @ 86240B8 - .incbin "baserom.gba", 0x6240b8, 0xae0 + .incbin "graphics/pokenav/ribbons_icon.4bpp.lz" + +gUnknown_08624280:: @ 8624280 + .incbin "graphics/pokenav/ribbons_icon_big.4bpp.lz" gUnknown_08624B98:: @ 8624B98 - .incbin "baserom.gba", 0x624b98, 0x8 + .4byte 0x107D + .4byte 0x2066 gUnknown_08624BA0:: @ 8624BA0 - .incbin "baserom.gba", 0x624ba0, 0x18 + .4byte NULL + .4byte sub_81D0C84 + .4byte sub_81D0D2C + .4byte sub_81D0D8C + .4byte sub_81D0E00 + .4byte sub_81D0C54 gUnknown_08624BB8:: @ 8624BB8 - .incbin "baserom.gba", 0x624bb8, 0x8 + window_template 2, 12, 13, 16, 4, 1, 20 gUnknown_08624BC0:: @ 8624BC0 - .incbin "baserom.gba", 0x624bc0, 0x4 + .byte 4, 2, 3, 0 gUnknown_08624BC4:: @ 8624BC4 - .incbin "baserom.gba", 0x624bc4, 0x8 + window_template 2, 14, 1, 13, 2, 10, 0x54 gUnknown_08624BCC:: @ 8624BCC - .incbin "baserom.gba", 0x624bcc, 0xc + .string "{COLOR_HIGHLIGHT_SHADOW}{LIGHT_RED}{WHITE}{GREEN}♂{COLOR_HIGHLIGHT_SHADOW}{DARK_GREY}{WHITE}{LIGHT_GREY}$" + .align 2 gUnknown_08624BD8:: @ 8624BD8 - .incbin "baserom.gba", 0x624bd8, 0xc + .string "{COLOR_HIGHLIGHT_SHADOW}{LIGHT_GREEN}{WHITE}{BLUE}♀{COLOR_HIGHLIGHT_SHADOW}{DARK_GREY}{WHITE}{LIGHT_GREY}$" + .align 2 gUnknown_08624BE4:: @ 8624BE4 - .incbin "baserom.gba", 0x624be4, 0x4 + .string "{0x77}$" + .align 2 gUnknown_08624BE8:: @ 8624BE8 - .incbin "baserom.gba", 0x624be8, 0x10 + window_template 2, 1, 5, 7, 2, 1, 0x6E + .4byte NULL + .4byte NULL gUnknown_08624BF8:: @ 8624BF8 - .incbin "baserom.gba", 0x624bf8, 0x80 + .2byte 0, 0, 1, 0 + .2byte 2, 0, 3, 0 + .2byte 4, 0, 1, 1 + .2byte 2, 1, 3, 1 + .2byte 4, 1, 1, 2 + .2byte 2, 2, 3, 2 + .2byte 4, 2, 1, 3 + .2byte 2, 3, 3, 3 + .2byte 4, 3, 1, 4 + .2byte 2, 4, 3, 4 + .2byte 4, 4, 5, 0 + .2byte 6, 0, 7, 1 + .2byte 8, 2, 9, 1 + .2byte 9, 3, 9, 4 + .2byte 10, 3, 10, 4 + .2byte 11, 0, 11, 1 gUnknown_08624C78:: @ 8624C78 - .incbin "baserom.gba", 0x624c78, 0x8 + obj_tiles gUnknown_08624280, 0x1800, 9 gUnknown_08624C80:: @ 8624C80 - .incbin "baserom.gba", 0x624c80, 0x84 + obj_pal gUnknown_08623FF8, 15 + obj_pal gUnknown_08624018, 16 + obj_pal gUnknown_08624038, 17 + obj_pal gUnknown_08624058, 18 + obj_pal gUnknown_08624078, 19 + null_obj_pal + +gUnknown_08624CB0:: @ 8624CB0 + .2byte 0x100 + .2byte 0x8000 + .2byte 0x400 + .2byte 0x0 + +gUnknown_08624CB8:: @ 8624CB8 + .2byte 0x80 + .2byte 0x80 + .2byte 0 + .2byte 0 + .2byte 0x7FFF + .2byte 0 + .2byte 0 + .2byte 0 + +gUnknown_08624CC8:: @ 8624CC8 + .2byte 0x80 + .2byte 0x80 + .2byte 0 + .2byte 0 + .2byte 0x20 + .2byte 0x20 + .2byte 0x400 + .2byte 0 + .2byte 0x7FFF + .2byte 0 + .2byte 0 + .2byte 0 + +gUnknown_08624CE0:: @ 8624CE0 + .2byte 0x100 + .2byte 0x100 + .2byte 0 + .2byte 0 + .2byte 0xFFE0 + .2byte 0xFFE0 + .2byte 0x400 + .2byte 0 + .2byte 0x7FFF + .2byte 0 + .2byte 0 + .2byte 0 + +gUnknown_08624CF8:: @ 8624CF8 + .4byte gUnknown_08624CB8 + .4byte gUnknown_08624CC8 + .4byte gUnknown_08624CE0 gUnknown_08624D04:: @ 8624D04 - .incbin "baserom.gba", 0x624d04, 0x5a4 + spr_template 9, 15, gUnknown_08624CB0, gDummySpriteAnimTable, NULL, gUnknown_08624CF8, SpriteCallbackDummy + +gUnknown_08624D1C:: @ 8624D1C + .4byte gText_MrStone_Pokenav_2B60C0 + .2byte 0xFFFF + .byte 0x58 + .byte 1 + .4byte gText_MrStone_Pokenav_2B61E6 + .byte 0x58 + .byte 1 + .2byte 0xFFFF + .4byte gText_MrStone_Pokenav_2B6302 + .byte 0xBD + .byte 0 + .2byte 0xFFFF + .4byte gText_MrStone_Pokenav_2B63A0 + .byte 16 + .byte 1 + .2byte 0xFFFF + .4byte gText_MrStone_Pokenav_2B64A2 + .byte 0x6A + .byte 0 + .2byte 0xFFFF + .4byte gText_MrStone_Pokenav_2B6526 + .byte 0xF4 + .byte 4 + .2byte 0xFFFF + .4byte gText_MrStone_Pokenav_2B65BB + .byte 0x97 + .byte 0 + .2byte 0xFFFF + .4byte gText_MrStone_Pokenav_2B6664 + .byte 0x6f + .byte 0 + .2byte 0xFFFF + .4byte gText_MrStone_Pokenav_2B66B1 + .byte 0x70 + .byte 0 + .2byte 0xFFFF + .4byte gText_MrStone_Pokenav_2B6703 + .byte 0xf7 + .byte 4 + .2byte 0xFFFF + .4byte gText_MrStone_Pokenav_2B67ED + .byte 0x64 + .byte 8 + .2byte 0xFFFF + .4byte NULL + .4byte 0xFFFFFFFF + +gUnknown_08624D7C:: @ 8624D7C + .byte 0 + .byte 10 + .2byte 0xFFFF + .4byte gUnknown_085EFAEF + .4byte gUnknown_085EFAFA + .4byte gUnknown_08624D1C + +gUnknown_08624D8C:: @ 8624D8C + .4byte gText_Norman_Pokenav_2B5719 + .byte 0x32 + .byte 1 + .2byte 0xFFFF + .4byte gText_Norman_Pokenav_2B5795 + .byte 0xF1 + .byte 4 + .2byte 0xFFFF + .4byte gText_Norman_Pokenav_2B584D + .byte 0xF3 + .byte 4 + .2byte 0xFFFF + .4byte gText_Norman_Pokenav_2B58E3 + .byte 0xF4 + .byte 4 + .2byte 0xFFFF + .4byte gText_Norman_Pokenav_2B5979 + .byte 0xD4 + .byte 0 + .2byte 0xFFFF + .4byte gText_Norman_Pokenav_2B5A07 + .byte 0xFE + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Norman_Pokenav_2B5A69 + .byte 0x64 + .byte 8 + .2byte 0xFFFF + .4byte gText_Norman_Pokenav_2B5ACF + .byte 0x64 + .byte 8 + .2byte 0xFFFF + .4byte gText_Norman_Pokenav_2B5B5E + .byte 0x64 + .byte 8 + .2byte 0xFFFF + .4byte NULL + .4byte 0xFFFFFFFF + +gUnknown_08624DDC:: @ 8624DDC + .byte 5, 7, 0x32, 1, 0x45, 0, 0, 0 + .4byte gUnknown_085EFB25 + .4byte gUnknown_085EFB47 + .4byte gUnknown_08624D8C + +gUnknown_08624DF0:: @ 8624DF0 + .byte 3, 0, 0x19, 1 + .4byte gUnknown_085EFBC9 + .4byte gUnknown_085E8270 + +gUnknown_08624DFC:: @ 8624DFC + .4byte gText_Mom_Pokenav_2B227B + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Mom_Pokenav_2B2310 + .byte 0xF4 + .byte 0x4 + .2byte 0xFFFF + .4byte gText_Mom_Pokenav_2B23F3 + .byte 0x64 + .byte 8 + .2byte 0xFFFF + .4byte NULL + .4byte 0xFFFFFFFF + +gUnknown_08624E1C:: @ 8624E1C + .byte 0, 0, 0xD8, 0 + .4byte gUnknown_085EFB32 + .4byte gUnknown_085EFB4B + .4byte gUnknown_08624DFC + +gUnknown_08624E2C:: @ 8624E2C + .4byte gText_Steven_Pokenav_2B5B95 + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Steven_Pokenav_2B5C53 + .byte 0xC7 + .byte 0 + .2byte 0xFFFF + .4byte gText_Steven_Pokenav_2B5CC9 + .byte 0xD4 + .byte 0 + .2byte 0xFFFF + .4byte gText_Steven_Pokenav_2B5DB4 + .byte 0x70 + .byte 0 + .2byte 0xFFFF + .4byte gText_Steven_Pokenav_2B5E26 + .byte 0xF6 + .byte 4 + .2byte 0xFFFF + .4byte gText_Steven_Pokenav_2B5EA2 + .byte 0x81 + .byte 0 + .2byte 0xFFFF + .4byte gText_Steven_Pokenav_2B5ED9 + .byte 0x64 + .byte 8 + .2byte 0xFFFF + .4byte NULL + .4byte 0xFFFFFFFF + +gUnknown_08624E6C:: @ 8624E6C + .byte 0, 0xD5, 0x31, 1 + .4byte gUnknown_085EFB04 + .4byte gUnknown_085EFB11 + .4byte gUnknown_08624E2C + +gUnknown_08624E7C:: @ 8624E7C + .4byte gText_May_Pokenav_2B3AB3 + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte gText_May_Pokenav_2B3B3F + .byte 0xF1 + .byte 0x4 + .2byte 0xFFFF + .4byte gText_May_Pokenav_2B3C13 + .byte 0x95 + .byte 0 + .2byte 0xFFFF + .4byte gText_May_Pokenav_2B3CF3 + .byte 0x24 + .byte 0x3 + .2byte 0xFFFF + .4byte gText_May_Pokenav_2B3D4B + .byte 0x6A + .byte 0 + .2byte 0xFFFF + .4byte gText_May_Pokenav_2B3DD1 + .byte 0xF3 + .byte 0x4 + .2byte 0xFFFF + .4byte gText_May_Pokenav_2B3E69 + .byte 0xF4 + .byte 4 + .2byte 0xFFFF + .4byte gText_May_Pokenav_2B3ECD + .byte 0x97 + .byte 0 + .2byte 0xFFFF + .4byte gText_May_Pokenav_2B3F2B + .byte 0xD4 + .byte 0 + .2byte 0xFFFF + .4byte gText_May_Pokenav_2B3FFB + .byte 0x6F + .byte 0 + .2byte 0xFFFF + .4byte gText_May_Pokenav_2B402B + .byte 0x61 + .byte 0 + .2byte 0xFFFF + .4byte gText_May_Pokenav_2B414B + .byte 0x70 + .byte 0 + .2byte 0xFFFF + .4byte gText_May_Pokenav_2B4228 + .byte 0x81 + .byte 0 + .2byte 0xFFFF + .4byte gText_May_Pokenav_2B42E0 + .byte 0xF7 + .byte 4 + .2byte 0xFFFF + .4byte gText_May_Pokenav_2B4350 + .byte 0x64 + .byte 8 + .2byte 0xFFFF + .4byte NULL + .4byte 0xFFFFFFFF + +gUnknown_08624EFC:: @ 8624EFC + .byte 4, 0, 0xFD, 0 + .4byte gUnknown_085EFB18 + .4byte gExpandedPlaceholder_May + .4byte gUnknown_08624E7C + +gUnknown_08624F0C:: @ 8624F0C + .4byte gText_Brendan_Pokenav_2B43EF + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Brendan_Pokenav_2B4486 + .byte 0xF1 + .byte 0x4 + .2byte 0xFFFF + .4byte gText_Brendan_Pokenav_2B4560 + .byte 0x95 + .byte 0 + .2byte 0xFFFF + .4byte gText_Brendan_Pokenav_2B463F + .byte 0x24 + .byte 0x3 + .2byte 0xFFFF + .4byte gText_Brendan_Pokenav_2B46B7 + .byte 0x6A + .byte 0 + .2byte 0xFFFF + .4byte gText_Brendan_Pokenav_2B4761 + .byte 0xF3 + .byte 0x4 + .2byte 0xFFFF + .4byte gText_Brendan_Pokenav_2B47F4 + .byte 0xF4 + .byte 4 + .2byte 0xFFFF + .4byte gText_Brendan_Pokenav_2B4882 + .byte 0x97 + .byte 0 + .2byte 0xFFFF + .4byte gText_Brendan_Pokenav_2B4909 + .byte 0xD4 + .byte 0 + .2byte 0xFFFF + .4byte gText_Brendan_Pokenav_2B49C4 + .byte 0x6F + .byte 0 + .2byte 0xFFFF + .4byte gText_Brendan_Pokenav_2B4A44 + .byte 0x61 + .byte 0 + .2byte 0xFFFF + .4byte gText_Brendan_Pokenav_2B4B28 + .byte 0x70 + .byte 0 + .2byte 0xFFFF + .4byte gText_Brendan_Pokenav_2B4C15 + .byte 0x81 + .byte 0 + .2byte 0xFFFF + .4byte gText_Brendan_Pokenav_2B4CD8 + .byte 0xF7 + .byte 4 + .2byte 0xFFFF + .4byte gText_Brendan_Pokenav_2B4D46 + .byte 0x64 + .byte 8 + .2byte 0xFFFF + .4byte NULL + .4byte 0xFFFFFFFF + +gUnknown_08624F8C:: @ 8624F8C + .byte 4, 1, 0xFD, 0 + .4byte gUnknown_085EFB18 + .4byte gExpandedPlaceholder_Brendan + .4byte gUnknown_08624F0C + +gUnknown_08624F9C:: @ 8624F9C + .4byte gText_Wally_Pokenav_2B4DE2 + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Wally_Pokenav_2B4E57 + .byte 0xC7 + .byte 0 + .2byte 0xFFFF + .4byte gText_Wally_Pokenav_2B4EA5 + .byte 0xF3 + .byte 0x4 + .2byte 0xFFFF + .4byte gText_Wally_Pokenav_2B4F41 + .byte 0x97 + .byte 0 + .2byte 0xFFFF + .4byte gText_Wally_Pokenav_2B4FF3 + .byte 0x6F + .byte 0 + .2byte 0xFFFF + .4byte gText_Wally_Pokenav_2B50B1 + .byte 0x81 + .byte 0 + .2byte 0xFFFF + .4byte gText_Wally_Pokenav_2B5100 + .byte 0x7E + .byte 0 + .2byte 0xFFFF + .4byte NULL + .4byte 0xFFFFFFFF + +gUnknown_08624FDC:: @ 8624FDC + .byte 0x24, 3, 5, 0 + .2byte 0x6F, 0xD5 + .byte 0x5A, 3, 0x46, 0, 0xFF, 0xFF, 0xD5, 0 + +gUnknown_08624FEC:: @ 8624FEC + .byte 2, 0, 0xD6, 0 + .4byte 0x40 + .4byte gUnknown_085EFB3E + .4byte gUnknown_08624F9C + .4byte gUnknown_08624FDC + +gUnknown_08624500:: @ 8624500 + .4byte gText_Scott_Pokenav_2B5184 + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Scott_Pokenav_2B5275 + .byte 0x8B + .byte 0 + .2byte 0xFFFF + .4byte gText_Scott_Pokenav_2B5323 + .byte 0x97 + .byte 0 + .2byte 0xFFFF + .4byte gText_Scott_Pokenav_2B53DB + .byte 0xD4 + .byte 0 + .2byte 0xFFFF + .4byte gText_Scott_Pokenav_2B54A5 + .byte 0x70 + .byte 0 + .2byte 0xFFFF + .4byte gText_Scott_Pokenav_2B5541 + .byte 0xF7 + .byte 4 + .2byte 0xFFFF + .4byte gText_Scott_Pokenav_2B56CA + .byte 0x64 + .byte 8 + .2byte 0xFFFF + .4byte NULL + .4byte 0xFFFFFFFF + + +gUnknown_08625040:: @ 8625040 + .byte 0, 0xD5, 0xD7, 0 + .4byte gUnknown_085EFB4F + .4byte gUnknown_085EFB5C + .4byte gUnknown_08624500 + +gUnknown_08625050:: @ 8625050 + .4byte gText_Roxanne_Pokenav_2B2456 + .byte 0xFE + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Roxanne_Pokenav_2B250E + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Roxanne_Pokenav_2B25C1 + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Roxanne_Pokenav_2B2607 + .byte 0x64 + .byte 0x8 + .2byte 0xFFFF + .4byte NULL + .4byte 0xFFFFFFFF + +gUnknown_08625078:: @ 8625078 + .byte 5, 10, 0xD3, 1 + .4byte 0x41 + .4byte gUnknown_085EFB62 + .4byte NULL + .4byte gUnknown_08625050 + +gUnknown_0862508C:: @ 862508C + .4byte gText_Brawly_Pokenav_2B2659 + .byte 0xFE + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Brawly_Pokenav_2B275D + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Brawly_Pokenav_2B286F + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Brawly_Pokenav_2B28D1 + .byte 0x64 + .byte 0x8 + .2byte 0xFFFF + .4byte NULL + .4byte 0xFFFFFFFF + +gUnknown_086250B4:: @ 86250B4 + .byte 5, 2, 0xD4, 1 + .4byte 0x42 + .4byte gUnknown_085EFB6F + .4byte NULL + .4byte gUnknown_0862508C + +gUnknown_086250C8:: @ 86250C8 + .4byte gText_Wattson_Pokenav_2B2912 + .byte 0xFE + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Wattson_Pokenav_2B29CA + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Wattson_Pokenav_2B2AB6 + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Wattson_Pokenav_2B2B01 + .byte 0x64 + .byte 0x8 + .2byte 0xFFFF + .4byte NULL + .4byte 0xFFFFFFFF + +gUnknown_086250F0:: @ 86250F0 + .byte 5, 9, 0xD5, 1 + .4byte 0x43 + .4byte gUnknown_085EFB7B + .4byte NULL + .4byte gUnknown_086250C8 + +gUnknown_08625104:: @ 8625104 + .4byte gText_Flannery_Pokenav_2B2B4D + .byte 0xFE + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Flannery_Pokenav_2B2C0E + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Flannery_Pokenav_2B2CF1 + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Flannery_Pokenav_2B2D54 + .byte 0x64 + .byte 0x8 + .2byte 0xFFFF + .4byte NULL + .4byte 0xFFFFFFFF + +gUnknown_0862512C:: @ 862512C + .byte 5, 3, 0xD6, 1 + .4byte 0x44 + .4byte gUnknown_085EFB87 + .4byte NULL + .4byte gUnknown_08625104 + +gUnknown_08625140:: @ 8625140 + .4byte gText_Winona_Pokenav_2B2DA4 + .byte 0xFE + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Winona_Pokenav_2B2E2B + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Winona_Pokenav_2B2EC2 + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Winona_Pokenav_2B2F16 + .byte 0x64 + .byte 0x8 + .2byte 0xFFFF + .4byte NULL + .4byte 0xFFFFFFFF + +gUnknown_08625168:: @ 8625168 + .byte 5, 11, 0xD7, 1 + .4byte 0x46 + .4byte gUnknown_085EFB94 + .4byte NULL + .4byte gUnknown_08625140 + +gUnknown_0862517C:: @ 862517C + .4byte gText_TateLiza_Pokenav_2B2F97 + .byte 0xFE + .byte 0xFF + .2byte 0xFFFF + .4byte gText_TateLiza_Pokenav_2B306E + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte gText_TateLiza_Pokenav_2B3158 + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte gText_TateLiza_Pokenav_2B31CD + .byte 0x64 + .byte 0x8 + .2byte 0xFFFF + .4byte NULL + .4byte 0xFFFFFFFF + +gUnknown_086251A4:: @ 86251A4 + .byte 5, 13, 0xD8, 1 + .4byte 0x47 + .4byte gUnknown_085EFB9E + .4byte NULL + .4byte gUnknown_0862517C + +gUnknown_086251B8:: @ 86251B8 + .4byte gText_Juan_Pokenav_2B3249 + .byte 0xFE + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Juan_Pokenav_2B32EC + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Juan_Pokenav_2B33AA + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte gText_Juan_Pokenav_2B341E + .byte 0x64 + .byte 0x8 + .2byte 0xFFFF + .4byte NULL + .4byte 0xFFFFFFFF + +gUnknown_086251E0:: @ 86251E0 + .byte 5, 14, 0xD9, 1 + .4byte 0x48 + .4byte gUnknown_085EFBA9 + .4byte NULL + .4byte gUnknown_086251B8 + +gUnknown_086251F4:: @ 86251F4 + .4byte gText_Sidney_Pokenav_2B34CC + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte NULL + .4byte 0xFFFFFFFF + +gUnknown_08625204:: @ 8625204 + .byte 5, 15, 0xA5, 1 + .4byte 0x49 + .4byte gUnknown_085EFBB5 + .4byte NULL + .4byte gUnknown_086251F4 + +gUnknown_08625218:: @ 8625218 + .4byte gText_Phoebe_Pokenav_2B3561 + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte NULL + .4byte 0xFFFFFFFF + +gUnknown_08625228:: @ 8625228 + .byte 5, 15, 0xA6, 1 + .4byte 0x4A + .4byte gUnknown_085EFBB5 + .4byte NULL + .4byte gUnknown_08625218 + +gUnknown_0862523C:: @ 862523C + .4byte gText_Glacia_Pokenav_2B35E4 + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte NULL + .4byte 0xFFFFFFFF + +gUnknown_0862524C:: @ 862524C + .byte 5, 15, 0xA7, 1 + .4byte 0x4B + .4byte gUnknown_085EFBB5 + .4byte NULL + .4byte gUnknown_0862523C + +gUnknown_08625260:: @ 8625260 + .4byte gText_Drake_Pokenav_2B368B + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte NULL + .4byte 0xFFFFFFFF + +gUnknown_08625270:: @ 8625270 + .byte 5, 15, 0xA8, 1 + .4byte 0x4C + .4byte gUnknown_085EFBB5 + .4byte NULL + .4byte gUnknown_08625260 + +gUnknown_08625284:: @ 8625284 + .4byte gText_Wallace_Pokenav_2B3790 + .byte 0xFF + .byte 0xFF + .2byte 0xFFFF + .4byte NULL + .4byte 0xFFFFFFFF + +gUnknown_08625294:: @ 8625294 + .byte 5, 15, 0xA9, 1 + .4byte 0x4D + .4byte gUnknown_085EFBC0 + .4byte NULL + .4byte gUnknown_08625284 gUnknown_086252A8:: @ 86252A8 - .incbin "baserom.gba", 0x6252a8, 0x54 + .4byte gUnknown_08624D7C + .4byte gUnknown_08624DF0 + .4byte gUnknown_08624F8C + .4byte gUnknown_08624EFC + .4byte gUnknown_08624FEC + .4byte gUnknown_08624DDC + .4byte gUnknown_08624E1C + .4byte gUnknown_08624E6C + .4byte gUnknown_08625040 + .4byte gUnknown_08625078 + .4byte gUnknown_086250B4 + .4byte gUnknown_086250F0 + .4byte gUnknown_0862512C + .4byte gUnknown_08625168 + .4byte gUnknown_086251A4 + .4byte gUnknown_086251E0 + .4byte gUnknown_08625204 + .4byte gUnknown_08625228 + .4byte gUnknown_0862524C + .4byte gUnknown_08625270 + .4byte gUnknown_08625294 gUnknown_086252FC:: @ 86252FC - .incbin "baserom.gba", 0x6252fc, 0x14 + .4byte sub_81D1628 + .4byte sub_81D164C + .4byte sub_81D1670 + .4byte sub_81D1694 + .4byte sub_81D16CC gUnknown_08625310:: @ 8625310 - .incbin "baserom.gba", 0x625310, 0x14 + .4byte sub_81D1714 + .4byte sub_81D1718 + .4byte sub_81D171C + .4byte sub_81D1750 + .4byte sub_81D1754 gUnknown_08625324:: @ 8625324 - .incbin "baserom.gba", 0x625324, 0x14 + .4byte sub_81D178C + .4byte sub_81D1790 + .4byte sub_81D17C0 + .4byte sub_81D17E0 + .4byte sub_81D17E4 gUnknown_08625338:: @ 8625338 - .incbin "baserom.gba", 0x625338, 0x14 + .4byte sub_81D1840 + .4byte sub_81D1844 + .4byte sub_81D1848 + .4byte sub_81D184C + .4byte sub_81D1850 gUnknown_0862534C:: @ 862534C - .incbin "baserom.gba", 0x62534c, 0x14 + .4byte sub_81D1888 + .4byte sub_81D188C + .4byte sub_81D1890 + .4byte sub_81D1894 + .4byte sub_81D1898 gUnknown_08625360:: @ 8625360 - .incbin "baserom.gba", 0x625360, 0x14 + .4byte sub_81D18D0 + .4byte sub_81D18DC + .4byte sub_81D18FC + .4byte sub_81D1908 + .4byte sub_81D1914 gUnknown_08625374:: @ 8625374 - .incbin "baserom.gba", 0x625374, 0x14 + .4byte sub_81D1AB0 + .4byte sub_81D1ABC + .4byte sub_81D1ADC + .4byte sub_81D1AF4 + .4byte sub_81D1B00 gUnknown_08625388:: @ 8625388 - .incbin "baserom.gba", 0x625388, 0x60 + .2byte 7, 0x4B, 0xFFFF, 0 + .4byte gUnknown_085ED453 + .4byte gUnknown_085ED46B + .4byte gUnknown_085ED483 + .4byte gUnknown_085ED49D + .2byte 7, 0x4B, 0x4F6, 0 + .4byte gUnknown_085ED453 + .4byte gUnknown_085ED46B + .4byte gUnknown_085ED4B3 + .4byte gUnknown_085ED4CE + .2byte 2, 0X3C, 0xFFFF, 0 + .4byte gUnknown_085ED4E3 + .4byte gUnknown_085ED4FA + .4byte gUnknown_085ED516 + .4byte gUnknown_085ED52F + .2byte 3, 0x3F, 0xFFFF, 0 + .4byte gUnknown_085ED547 + .4byte gUnknown_085ED563 + .4byte gUnknown_085ED579 + .4byte gUnknown_085ED58F gUnknown_086253E8:: @ 86253E8 - .incbin "baserom.gba", 0x6253e8, 0x18 + .4byte 0x8010100 + .4byte 0x80F02 + .4byte 0x8011500 + .4byte 0x180F12 + .4byte 0xB010100 + .4byte 0x180F08 gUnknown_08625400:: @ 8625400 - .incbin "baserom.gba", 0x625400, 0x3 + .byte 1, 2, 3 gUnknown_08625403:: @ 8625403 - .incbin "baserom.gba", 0x625403, 0x1 + .byte 0xFF gUnknown_08625404:: @ 8625404 - .incbin "baserom.gba", 0x625404, 0xc + .byte 0x40, 0, 0, 4, 1, 0, 0x60, 0xA6, 1, 0, 0, 0 gUnknown_08625410:: @ 8625410 - .incbin "baserom.gba", 0x625410, 0x100 + .byte 4, 5, 6, 7, 8, 9, 9, 0xA, 0xA, 0xB, 0xB, 0xC, 0xC, 0xD, 0xD, 0xD, 0xD, 0xE, 0xE, 0xE, 0xE, 0xF, 0xF, 0xF, 0xF, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1D, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23 gUnknown_08625510:: @ 8625510 - .incbin "baserom.gba", 0x625510, 0x30 + .4byte 0x10010101 + .4byte 0xA0F0C + .4byte 0x10010101 + .4byte 0xCA0F0C + .4byte 0xA011301 + .4byte 0x18A0F0C + .4byte 0x160F0401 + .4byte 0x2020F04 + .4byte 0x5081600 + .4byte 0x25A0F04 + .4byte 0xFF + .4byte NULL gUnknown_08625540:: @ 8625540 - .incbin "baserom.gba", 0x625540, 0x8 + .4byte 0x5081600 + .4byte 0x25A0F04 gUnknown_08625548:: @ 8625548 - .incbin "baserom.gba", 0x625548, 0x500 + .4byte NULL + .4byte sub_81D2BD0 + .4byte NULL + .2byte 0 + .2byte 0 + .byte 2 + .byte 0 + .byte 8 + .byte 0 + .4byte 0x1003121 + +gUnknown_08625560:: @ 8625560 + .incbin "graphics/pokenav/pokeball.4bpp" + +gUnknown_08625660:: @ 8625660 + .incbin "graphics/pokenav/8625660.4bpp" + +gUnknown_08625680:: @ 8625680 + .incbin "graphics/pokenav/sparkle.gbapal" + +gUnknown_086256A0:: @ 86255A0 + .incbin "graphics/pokenav/sparkle.4bpp" + +gUnknown_08625A20:: @ 8625A20 + .2byte 0 + .2byte 0xC000 + .2byte 0x400 + .2byte 0 + +gUnknown_08625A28:: @ 8625A28 + .2byte 0 + .2byte 0x4000 + .2byte 0x800 + .2byte 0 + +gUnknown_08625A30:: @ 8625A30 + .2byte 0 + .2byte 5 + .2byte 0xFFFF + .2byte 0 + +gUnknown_08625A38:: @ 8625A38 + .2byte 4 + .2byte 5 + .2byte 0xFFFF + .2byte 0 + +gUnknown_08625A40:: @ 8625A40 + .4byte gUnknown_08625A30 + .4byte gUnknown_08625A38 gUnknown_08625A48:: @ 8625A48 - .incbin "baserom.gba", 0x625a48, 0x8 + .4byte NULL + .4byte 0x640800 gUnknown_08625A50:: @ 8625A50 - .incbin "baserom.gba", 0x625a50, 0x18 + spr_template 0x64, 0x64, gUnknown_08625A20, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_08625A68:: @ 8625A68 - .incbin "baserom.gba", 0x625a68, 0x8 + .4byte NULL + .4byte 0x64 gUnknown_08625A70:: @ 8625A70 - .incbin "baserom.gba", 0x625a70, 0x20 + .4byte gUnknown_08625560 + .byte 0, 1, 0x65, 0 + .4byte gUnknown_08625660 + .2byte 0x20, 0x67 + .4byte gPokenavConditionCancel_Gfx + .byte 0, 1, 0x66, 0 + .4byte NULL, NULL gUnknown_08625A90:: @ 8625A90 - .incbin "baserom.gba", 0x625a90, 0x18 + .4byte gPokenavConditionCancel_Pal + 0x0 + .byte 0x65, 0, 0, 0 + .4byte gPokenavConditionCancel_Pal + 0x20 + .byte 0x66, 0, 0, 0 + .4byte NULL, NULL gUnknown_08625AA8:: @ 8625AA8 - .incbin "baserom.gba", 0x625aa8, 0x18 + spr_template 0x65, 0x65, gUnknown_08625A28, gUnknown_08625A40, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_08625AC0:: @ 8625AC0 - .incbin "baserom.gba", 0x625ac0, 0x8 + .4byte gUnknown_086256A0 + .byte 0x80, 3, 0x68, 0 gUnknown_08625AC8:: @ 8625AC8 - .incbin "baserom.gba", 0x625ac8, 0x4c + .4byte gUnknown_08625680 + .byte 0x68, 0, 0, 0 + +gUnknown_08625AD0:: @ 8625AD0 + .2byte 0 + .2byte 0x4000 + .2byte 0 + .2byte 0 + +gUnknown_08625AD8:: @ 8625AD8 + .2byte 0 + .2byte 5 + .2byte 4 + .2byte 5 + +gUnknown_08625AE0:: @ 8625AE0 + .2byte 8 + .2byte 5 + .2byte 12 + .2byte 5 + +gUnknown_08625AE8:: @ 8625AE8 + .2byte 16 + .2byte 5 + .2byte 20 + .2byte 5 + +gUnknown_08625AF0:: @ 8625AF0 + .2byte 24 + .2byte 5 + .2byte 0xFFFF + .2byte 0 + +gUnknown_08625AF8:: @ 8625AF8 + .4byte gUnknown_08625AD8 + .4byte gUnknown_08625AE0 + +gUnknown_08625B00:: @ 8625B00 + .4byte gUnknown_08625AE8 + .4byte gUnknown_08625AF0 + +gUnknown_08625B08:: @ 8625B08 + .4byte gUnknown_08625AF8 + .4byte gUnknown_08625B00 + .4byte gUnknown_08625B08 gUnknown_08625B14:: @ 8625B14 - .incbin "baserom.gba", 0x625b14, 0x18 + spr_template 0x68, 0x68, gUnknown_08625AD0, gUnknown_08625AF8, NULL gDummySpriteAffineAnimTable, sub_81D3564 gUnknown_08625B2C:: @ 8625B2C - .incbin "baserom.gba", 0x625b2c, 0x28 + .2byte 0, 0xFFDD + .2byte 20, 0xFFE4 + .2byte 33, 0xFFF6 + .2byte 33, 10 + .2byte 20, 28 + .2byte 0, 35 + .2byte 0xFFEC, 28 + .2byte 0xFFDF, 10 + .2byte 0xFFDF, 0xFFF6 + .2byte 0xFFEC, 0xFFE4 gUnknown_08625B54:: @ 8625B54 - .incbin "baserom.gba", 0x625b54, 0x18 + .4byte gUnknown_085EEA46 + .4byte gUnknown_085EEA4E + .4byte gUnknown_085EEA55 + .4byte gUnknown_085EEA63 + .4byte gUnknown_085EEA6B + .4byte gUnknown_085EEA5D gUnknown_08625B6C:: @ 8625B6C - .incbin "baserom.gba", 0x625b6c, 0x520 +@ apparently e-reader trainer data? idk +.byte 0x6f, 0x57, 0x54, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x2e, 0x14, 0x0c, 0x0e, 0x23, 0x10, 0x47, 0x0a, 0x1f, 0x06, 0x24, 0x0e, 0x48, 0x0a, 0x0f, 0x06 +.byte 0x22, 0x27, 0x2c, 0x16, 0x07, 0x06, 0x01, 0x0c, 0x47, 0x0a, 0x06, 0x06, 0x24, 0x0e, 0x00, 0x1e, 0x19, 0x12, 0x05, 0x0c, 0x25, 0x16, 0x25, 0x10, 0x0d, 0x1c, 0x2a, 0x1c, 0x06, 0x0a, 0x06, 0x0c +.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +.byte 0xff, 0xff, 0xff, 0x00, 0x70, 0x01, 0xdb, 0x00, 0xbc, 0x00, 0xf7, 0x00, 0xdc, 0x00, 0x19, 0x01, 0x00, 0x00, 0x37, 0xff, 0x64, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x8a +.byte 0x80, 0x00, 0x00, 0x00, 0x6f, 0x79, 0x69, 0xae, 0x71, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x26, 0x01, 0xb3, 0x00, 0x3e, 0x01, 0xbc, 0x00, 0xf7, 0x00, 0xca, 0x00, 0x00, 0x00, 0x00, 0xff +.byte 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x95, 0x58, 0x59, 0x52, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0x01, 0xb7, 0x00 +.byte 0xf6, 0x00, 0x39, 0x00, 0x59, 0x00, 0x85, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x9b, 0xff, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x2f, 0x00, 0x00, 0x00, 0x8d, 0xae, 0x77, 0x7e +.byte 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6a, 0x79, 0x6b, 0x64, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x1b, 0x01, 0x00, 0x00, 0x00, 0x54, 0x27, 0x2b, 0x0e, 0xff, 0xff, 0x3b, 0x0a +.byte 0x20, 0x06, 0x00, 0x0c, 0x13, 0x24, 0x2b, 0x0e, 0xff, 0xff, 0x3b, 0x0a, 0x05, 0x12, 0x00, 0x0c, 0x6b, 0x26, 0x2b, 0x0e, 0xff, 0xff, 0x3b, 0x0a, 0x0e, 0x12, 0x00, 0x0c, 0x2c, 0x24, 0x2b, 0x0e +.byte 0xff, 0xff, 0x3b, 0x0a, 0x17, 0x12, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00 +.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x59, 0x01, 0xb7, 0x00, 0xca, 0x00, 0xb9, 0x00, 0x09, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x37, 0x00, 0x64, 0x00, 0xff, 0x64 +.byte 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x8c, 0x00, 0x00, 0x00, 0x69, 0x58, 0x60, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x31, 0x01, 0xb3, 0x00, 0x07, 0x01, 0x4c, 0x01 +.byte 0x62, 0x00, 0x68, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x80, 0x00, 0x00, 0x00, 0x55, 0x55, 0x5d, 0x96, 0x72, 0xff, 0xff, 0xff +.byte 0xff, 0xff, 0xff, 0xff, 0x44, 0x01, 0x86, 0x00, 0x39, 0x00, 0x59, 0x00, 0x85, 0x00, 0x9c, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a +.byte 0x00, 0x00, 0x00, 0x00, 0x65, 0x6f, 0x8e, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x72, 0x52, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x27, 0x01, 0x00, 0x00, 0x00 +.byte 0x4a, 0x04, 0x0e, 0x02, 0x35, 0x16, 0x10, 0x10, 0xda, 0x26, 0x3e, 0x10, 0x4a, 0x04, 0x0e, 0x02, 0x47, 0x0a, 0xd9, 0x26, 0x21, 0x16, 0x3e, 0x10, 0x14, 0x1e, 0x07, 0x1e, 0x30, 0x06, 0x23, 0x16 +.byte 0x24, 0x0e, 0x06, 0x0c, 0x18, 0x14, 0x2f, 0x14, 0x1a, 0x08, 0x27, 0x1c, 0x00, 0x0c, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 +.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff +.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x3c, 0x01, 0x8d, 0x00, 0x2f, 0x00, 0x22, 0x00, 0xf7, 0x00, 0xe7, 0x00 +.byte 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x03, 0x00, 0x00, 0x00, 0x54, 0x68, 0x5a, 0x7b, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +.byte 0x6b, 0x01, 0xc8, 0x00, 0xca, 0x00, 0x40, 0x01, 0x5c, 0x00, 0x49, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x8a, 0x06, 0x00, 0x00, 0x00 +.byte 0x7b, 0x8f, 0x78, 0x51, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x24, 0x01, 0xb3, 0x00, 0x3e, 0x01, 0x4c, 0x01, 0xd5, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x64, 0xc8, 0x00, 0x00, 0xc8, 0x00 +.byte 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x51, 0x8a, 0x6a, 0x7e, 0x64, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9c, 0x54, 0xae, 0x79, 0xff, 0xff, 0xff, 0xff +.byte 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0a, 0x02, 0x06, 0x20, 0x06, 0x0a, 0x0a, 0x23, 0x10, 0x00, 0x0c, 0x28, 0x0c, 0x14, 0x18, 0x32, 0x14, 0x02, 0x16, 0x05, 0x10, 0xff, 0xff +.byte 0x0c, 0x1e, 0x0a, 0x0a, 0x34, 0x12, 0x11, 0x1e, 0x1a, 0x08, 0x05, 0x0c, 0x1e, 0x0a, 0x02, 0x06, 0x20, 0x06, 0x22, 0x0a, 0x15, 0x10, 0x01, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +.byte 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +.byte 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x63, 0x01, 0xb3, 0x00 +.byte 0xf2, 0x00, 0x35, 0x00, 0x09, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0xff, 0x9b, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x58, 0x61, 0xae, 0x64 +.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4b, 0x01, 0xc6, 0x00, 0x39, 0x00, 0xf2, 0x00, 0x26, 0x00, 0x59, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10 +.byte 0xa5, 0x94, 0x52, 0x0a, 0x96, 0x00, 0x00, 0x00, 0x5b, 0x72, 0x6a, 0x91, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7a, 0x01, 0x8d, 0x00, 0x5e, 0x00, 0xf7, 0x00, 0x55, 0x00, 0x05, 0x01 +.byte 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x96, 0x00, 0x00, 0x00, 0x8d, 0x85, 0x9e, 0xa0, 0x60, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff gUnknown_0862608C:: @ 862608C - .incbin "baserom.gba", 0x62608c, 0x2 + .2byte 21, 16 + .2byte 25, 16 + .2byte 16, 17 + .2byte 20, 20 + +gUnknown_0862609C:: @ 862609C + .incbin "data/unknown_jp_62609C.bin" + +gUnknown_08626814:: @ 8626814 + .incbin "data/pokenav/unk_struct_1.bin" -gUnknown_0862608E:: @ 862608E - .incbin "baserom.gba", 0x62608e, 0x4326 +gUnknown_086276FC:: @ 86276FC + .incbin "data/pokenav/unk_struct_2.bin" + +gUnknown_086285E4:: @ 86285E4 + .incbin "data/pokenav/unk_struct_3.bin" + +gUnknown_086294CC:: @ 86294CC + .incbin "data/pokenav/unk_struct_4.bin" gUnknown_0862A3B4:: @ 862A3B4 - .incbin "baserom.gba", 0x62a3b4, 0x218 + .byte 0x03, 0x06, 0x00, 0x00, 0x0B, 0x06, 0x00, 0x00, 0x0D, 0x06, 0x00, 0x00, 0x0F, 0x01, 0x00, 0x00, 0x2B, 0x04, 0x00, 0x00, 0x2D, 0x01, 0x00, 0x00, 0x24, 0x09, 0x00, 0x00, 0x29, 0x04, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00, 0x18, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x2E, 0x09, 0x00, 0x00, 0x11, 0x0C, 0x00, 0x00, 0x10, 0x0B, 0x00, 0x00, 0x1E, 0x0D, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x17, 0x03, 0x00, 0x00, 0x0C, 0x04, 0x00, 0x00, 0x38, 0x04, 0x00, 0x00, 0x1C, 0x03, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x19, 0x0B, 0x00, 0x00, 0x09, 0x07, 0x00, 0x00, 0x31, 0x07, 0x00, 0x00, 0x35, 0x07, 0x00, 0x00, 0x36, 0x01, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x2A, 0x03, 0x00, 0x00, 0x16, 0x0D, 0x00, 0x00, 0x0E, 0x03, 0x00, 0x00, 0x15, 0x01, 0x00, 0x00, 0x14, 0x01, 0x00, 0x00, 0x2C, 0x01, 0x00, 0x00, 0x1B, 0x02, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x07, 0x03, 0x00, 0x00, 0x34, 0x05, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x37, 0x02, 0x00, 0x00, 0x1D, 0x04, 0x00, 0x00, 0x22, 0x09, 0x00, 0x00, 0x1F, 0x01, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x0A, 0x04, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x06, 0x05, 0x00, 0x00, 0x27, 0x0B, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x12, 0x02, 0x00, 0x00, 0x39, 0x08, 0x00, 0x00, 0x02, 0x0B, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00 +gUnknown_0862A48C:: @ 862A48C + .2byte 0x44, 0x22, 0x14, 0x18, 0x51, 0x3 + +gUnknown_0862A498:: @ 862A498 + .2byte 0xB, 0x22, 0x14, 0x18, 0x51, 3 + +gUnknown_0862A4A4:: @ 862A4A4 + .2byte 0x19, 0x22, 0x14, 0x18, 0x51, 3 + +gUnknown_0862A4B0:: @ 862A4B0 + .2byte 0x23, 0x22, 0x14, 0x18, 0x51, 0x3 + +gUnknown_0862A4BC:: @ 862A4BC + .2byte 0x24, 0x22, 0x14, 0x18, 0x51, 0x3 + +gUnknown_0862A4C8:: @ 862A4C8 + .2byte 0x125, 0x22, 0x14, 0x18, 0x51, 0x3 + +gUnknown_0862A4D4:: @ 862A4D4 + .2byte 0x144, 0x22, 0x14, 0x18, 0x51, 0x3 + +gUnknown_0862A4E0:: @ 862A4E0 + .2byte 0x126, 0x22, 0x14, 0x18, 0x51, 0x3 + +gUnknown_0862A4EC:: @ 862A4EC + .2byte 0x12B, 0x22, 0x14, 0x18, 0x51, 0x3 + +gUnknown_0862A4F8:: @ 862A4F8 + .2byte 0x13A, 0x22, 0x14, 0x18, 0x51, 0x3 + +gUnknown_0862A504:: @ 862A504 + .2byte 0x44, 0x22, 0x14, 0x18, 0x51, 0x3 + +gUnknown_0862A510:: @ 862A510 + .2byte 0xB, 0x22, 0x14, 0x18, 0x51, 0x3 + +gUnknown_0862A51C:: @ 862A51C + .2byte 0x19, 0x22, 0x14, 0x18, 0x51, 0x3 + +gUnknown_0862A528:: @ 862A528 + .2byte 0x23, 0x22, 0x14, 0x18, 0x51, 0x3 + +gUnknown_0862A534:: @ 862A534 + .2byte 0x24, 0x22, 0x14, 0x18, 0x51, 0x3 + +gUnknown_0862A540:: @ 862A540 + .2byte 0x13F, 0x22, 0x14, 0x18, 0x51, 0x3 + +gUnknown_0862A54C:: @ 862A54C + .2byte 0x149, 0x22, 0x14, 0x18, 0x51, 0x3 + +gUnknown_0862A558:: @ 862A558 + .2byte 0x150, 0x22, 0x14, 0x18, 0x51, 0x3 + +gUnknown_0862A564:: @ 862A564 + .2byte 0x133, 0x22, 0x14, 0x18, 0x51, 0x3 + +gUnknown_0862A570:: @ 862A570 + .2byte 0x14D, 0x22, 0x14, 0x18, 0x51, 0x3 + +gUnknown_0862A57C:: @ 862A57C + .4byte gUnknown_0862A48C + .4byte gUnknown_0862A498 + .4byte gUnknown_0862A4A4 + .4byte gUnknown_0862A4B0 + .4byte gUnknown_0862A4BC + .4byte gUnknown_0862A4C8 + .4byte gUnknown_0862A4D4 + .4byte gUnknown_0862A4E0 + .4byte gUnknown_0862A4EC + .4byte gUnknown_0862A4F8 + +gUnknown_0862A5A4:: @ 862A5A4 + .4byte gUnknown_0862A504 + .4byte gUnknown_0862A510 + .4byte gUnknown_0862A51C + .4byte gUnknown_0862A528 + .4byte gUnknown_0862A534 + .4byte gUnknown_0862A540 + .4byte gUnknown_0862A54C + .4byte gUnknown_0862A558 + .4byte gUnknown_0862A564 + .4byte gUnknown_0862A570 + gUnknown_0862A5CC:: @ 862A5CC - .incbin "baserom.gba", 0x62a5cc, 0x8 + .4byte gUnknown_0862A57C + .4byte gUnknown_0862A5A4 gUnknown_0862A5D4:: @ 862A5D4 - .incbin "baserom.gba", 0x62a5d4, 0x20 + .incbin "graphics/pokenav/862A5D4.gbapal" gUnknown_0862A5F4:: @ 862A5F4 - .incbin "baserom.gba", 0x62a5f4, 0x4 + .byte 0, 2, 3, 0 gUnknown_0862A5F8:: @ 862A5F8 - .incbin "baserom.gba", 0x62a5f8, 0x20 + .4byte gUnknown_08626814 + .4byte gUnknown_086276FC + .4byte gUnknown_086285E4 + .4byte gUnknown_086294CC + .4byte gUnknown_085EF8B6 + .4byte gUnknown_085EF8B9 + .4byte gUnknown_085EF8BC + .4byte gUnknown_085EF8BF gUnknown_0862A618:: @ 862A618 - .incbin "baserom.gba", 0x62a618, 0x48 + .4byte sub_81D581C + .4byte sub_81D58D8 + .4byte sub_81D5924 + .4byte sub_81D59D0 + .4byte sub_81D5A70 + .4byte sub_81D5AB4 + .4byte sub_81D5AD0 + .4byte sub_81D5B2C + .4byte sub_81D5BBC + .4byte sub_81D5C00 + .4byte sub_81D5C5C + .4byte sub_81D62B4 + .4byte sub_81D64AC + .4byte sub_81D64DC + .4byte sub_81D64FC + .4byte sub_81D6518 + .4byte sub_81D6568 + .4byte sub_81D65A0 gUnknown_0862A660:: @ 862A660 - .incbin "baserom.gba", 0x62a660, 0x10 + .4byte gUnknown_085EB32D + .4byte gUnknown_085EB33E + .4byte gUnknown_085EB350 + .4byte gUnknown_085EB361 gUnknown_0862A670:: @ 862A670 - .incbin "baserom.gba", 0x62a670, 0x18 + .byte 0, 0x64 + .4byte NULL + .2byte 0, 0x103, 17, 1, 0, 0, 0, 0, 0 gUnknown_0862A688:: @ 862A688 - .incbin "baserom.gba", 0x62a688, 0x10 + .2byte 0x3E, 0, 0x3F, 0, 0x40, 0, 0x41, 0 gUnknown_0862A698:: @ 862A698 - .incbin "baserom.gba", 0x62a698, 0x8 + .byte 0, 1, 2, 3, 4, 5, 0, 0 diff --git a/data/pokenav/unk_struct_1.bin b/data/pokenav/unk_struct_1.bin new file mode 100644 index 0000000000..18a696cf43 Binary files /dev/null and b/data/pokenav/unk_struct_1.bin differ diff --git a/data/pokenav/unk_struct_2.bin b/data/pokenav/unk_struct_2.bin new file mode 100644 index 0000000000..a3547fbbbb Binary files /dev/null and b/data/pokenav/unk_struct_2.bin differ diff --git a/data/pokenav/unk_struct_3.bin b/data/pokenav/unk_struct_3.bin new file mode 100644 index 0000000000..93273aae28 Binary files /dev/null and b/data/pokenav/unk_struct_3.bin differ diff --git a/data/pokenav/unk_struct_4.bin b/data/pokenav/unk_struct_4.bin new file mode 100644 index 0000000000..569193acd3 Binary files /dev/null and b/data/pokenav/unk_struct_4.bin differ diff --git a/data/rayquaza_scene.s b/data/rayquaza_scene.s deleted file mode 100644 index 51a285285a..0000000000 --- a/data/rayquaza_scene.s +++ /dev/null @@ -1,160 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -gUnknown_0862A6A0:: @ 862A6A0 - .incbin "baserom.gba", 0x62a6a0, 0x8c - -gUnknown_0862A72C:: @ 862A72C - .incbin "baserom.gba", 0x62a72c, 0x24 - -gUnknown_0862A750:: @ 862A750 - .incbin "baserom.gba", 0x62a750, 0x24 - -gUnknown_0862A774:: @ 862A774 - .incbin "baserom.gba", 0x62a774, 0xa8 - -gUnknown_0862A81C:: @ 862A81C - .incbin "baserom.gba", 0x62a81c, 0x30 - -gUnknown_0862A84C:: @ 862A84C - .incbin "baserom.gba", 0x62a84c, 0x18 - -gUnknown_0862A864:: @ 862A864 - .incbin "baserom.gba", 0x62a864, 0x18 - -gUnknown_0862A87C:: @ 862A87C - .incbin "baserom.gba", 0x62a87c, 0xc - -gUnknown_0862A888:: @ 862A888 - .incbin "baserom.gba", 0x62a888, 0x3c - -gUnknown_0862A8C4:: @ 862A8C4 - .incbin "baserom.gba", 0x62a8c4, 0x8 - -gUnknown_0862A8CC:: @ 862A8CC - .incbin "baserom.gba", 0x62a8cc, 0x8 - -gUnknown_0862A8D4:: @ 862A8D4 - .incbin "baserom.gba", 0x62a8d4, 0x24 - -gUnknown_0862A8F8:: @ 862A8F8 - .incbin "baserom.gba", 0x62a8f8, 0x8 - -gUnknown_0862A900:: @ 862A900 - .incbin "baserom.gba", 0x62a900, 0x24 - -gUnknown_0862A924:: @ 862A924 - .incbin "baserom.gba", 0x62a924, 0x8 - -gUnknown_0862A92C:: @ 862A92C - .incbin "baserom.gba", 0x62a92c, 0xa8 - -gUnknown_0862A9D4:: @ 862A9D4 - .incbin "baserom.gba", 0x62a9d4, 0x8 - -gUnknown_0862A9DC:: @ 862A9DC - .incbin "baserom.gba", 0x62a9dc, 0x8 - -gUnknown_0862A9E4:: @ 862A9E4 - .incbin "baserom.gba", 0x62a9e4, 0x30 - -gUnknown_0862AA14:: @ 862AA14 - .incbin "baserom.gba", 0x62aa14, 0x8 - -gUnknown_0862AA1C:: @ 862AA1C - .incbin "baserom.gba", 0x62aa1c, 0x18 - -gUnknown_0862AA34:: @ 862AA34 - .incbin "baserom.gba", 0x62aa34, 0x8 - -gUnknown_0862AA3C:: @ 862AA3C - .incbin "baserom.gba", 0x62aa3c, 0x18 - -gUnknown_0862AA54:: @ 862AA54 - .incbin "baserom.gba", 0x62aa54, 0x3c - -gUnknown_0862AA90:: @ 862AA90 - .incbin "baserom.gba", 0x62aa90, 0x8 - -gUnknown_0862AA98:: @ 862AA98 - .incbin "baserom.gba", 0x62aa98, 0x8 - -gUnknown_0862AAA0:: @ 862AAA0 - .incbin "baserom.gba", 0x62aaa0, 0x18 - -gUnknown_0862AAB8:: @ 862AAB8 - .incbin "baserom.gba", 0x62aab8, 0x14 - -gUnknown_0862AACC:: @ 862AACC - .incbin "baserom.gba", 0x62aacc, 0x30 - -gUnknown_0862AAFC:: @ 862AAFC - .incbin "baserom.gba", 0x62aafc, 0x8 - -gUnknown_0862AB04:: @ 862AB04 - .incbin "baserom.gba", 0x62ab04, 0x8 - -gUnknown_0862AB0C:: @ 862AB0C - .incbin "baserom.gba", 0x62ab0c, 0x8 - -gUnknown_0862AB14:: @ 862AB14 - .incbin "baserom.gba", 0x62ab14, 0x18 - -gUnknown_0862AB2C:: @ 862AB2C - .incbin "baserom.gba", 0x62ab2c, 0x18 - -gUnknown_0862AB44:: @ 862AB44 - .incbin "baserom.gba", 0x62ab44, 0xe4 - -gUnknown_0862AC28:: @ 862AC28 - .incbin "baserom.gba", 0x62ac28, 0x8 - -gUnknown_0862AC30:: @ 862AC30 - .incbin "baserom.gba", 0x62ac30, 0x8 - -gUnknown_0862AC38:: @ 862AC38 - .incbin "baserom.gba", 0x62ac38, 0x8 - -gUnknown_0862AC40:: @ 862AC40 - .incbin "baserom.gba", 0x62ac40, 0x8 - -gUnknown_0862AC48:: @ 862AC48 - .incbin "baserom.gba", 0x62ac48, 0x8 - -gUnknown_0862AC50:: @ 862AC50 - .incbin "baserom.gba", 0x62ac50, 0x8 - -gUnknown_0862AC58:: @ 862AC58 - .incbin "baserom.gba", 0x62ac58, 0x8 - -gUnknown_0862AC60:: @ 862AC60 - .incbin "baserom.gba", 0x62ac60, 0x8 - -gUnknown_0862AC68:: @ 862AC68 - .incbin "baserom.gba", 0x62ac68, 0x8 - -gUnknown_0862AC70:: @ 862AC70 - .incbin "baserom.gba", 0x62ac70, 0x8 - -gUnknown_0862AC78:: @ 862AC78 - .incbin "baserom.gba", 0x62ac78, 0x18 - -gUnknown_0862AC90:: @ 862AC90 - .incbin "baserom.gba", 0x62ac90, 0x18 - -gUnknown_0862ACA8:: @ 862ACA8 - .incbin "baserom.gba", 0x62aca8, 0x18 - -gUnknown_0862ACC0:: @ 862ACC0 - .incbin "baserom.gba", 0x62acc0, 0x18 - -gUnknown_0862ACD8:: @ 862ACD8 - .incbin "baserom.gba", 0x62acd8, 0x18 - -gUnknown_0862ACF0:: @ 862ACF0 - .incbin "baserom.gba", 0x62acf0, 0x18 - -gUnknown_0862AD08:: @ 862AD08 - .incbin "baserom.gba", 0x62ad08, 0xc diff --git a/data/record_mixing.s b/data/record_mixing.s index 6531633a50..20a37145c7 100644 --- a/data/record_mixing.s +++ b/data/record_mixing.s @@ -2,19 +2,36 @@ .include "constants/constants.inc" .section .rodata - .align 2, 0 + .align 2, 0 gUnknown_0858CF8C:: @ 858CF8C - .incbin "baserom.gba", 0x58cf8c, 0x2 + .byte 1, 0 gUnknown_0858CF8E:: @ 858CF8E - .incbin "baserom.gba", 0x58cf8e, 0x6 + .byte 1, 2, 0 + .byte 2, 0, 1 gUnknown_0858CF94:: @ 858CF94 - .incbin "baserom.gba", 0x58cf94, 0x24 + .byte 1, 0, 3 + .byte 2, 3, 0 + .byte 1, 2, 2 + .byte 0, 3, 1 + .byte 1, 3, 0 + .byte 2, 2, 3 + .byte 0, 1, 3 + .byte 2, 0, 1 + .byte 1, 2, 3 + .byte 0, 2, 3 + .byte 1, 0, 3 + .byte 2, 1, 0 gUnknown_0858CFB8:: @ 858CFB8 - .incbin "baserom.gba", 0x58cfb8, 0x6 + .byte 0, 1 + .byte 1, 2 + .byte 2, 0 gUnknown_0858CFBE:: @ 858CFBE - .incbin "baserom.gba", 0x58cfbe, 0xe + .byte 0, 1, 2, 3 + .byte 0, 2, 1, 3 + .byte 0, 3, 2, 1 + .byte 0, 0 diff --git a/data/region_map.s b/data/region_map.s deleted file mode 100644 index 78e6cec2f6..0000000000 --- a/data/region_map.s +++ /dev/null @@ -1,101 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_0859F60C:: @ 859F60C - .incbin "baserom.gba", 0x59f60c, 0x44 - -gUnknown_0859F650:: @ 859F650 - .incbin "baserom.gba", 0x59f650, 0xec - -gUnknown_0859F73C:: @ 859F73C - .incbin "baserom.gba", 0x59f73c, 0x40 - -gUnknown_0859F77C:: @ 859F77C - .incbin "baserom.gba", 0x59f77c, 0xd64 - -gUnknown_085A04E0:: @ 85A04E0 - .incbin "baserom.gba", 0x5a04e0, 0x34c - -gUnknown_085A082C:: @ 85A082C - .incbin "baserom.gba", 0x5a082c, 0x20 - -gUnknown_085A084C:: @ 85A084C - .incbin "baserom.gba", 0x5a084c, 0x80 - -gUnknown_085A08CC:: @ 85A08CC - .incbin "baserom.gba", 0x5a08cc, 0x20 - -gUnknown_085A08EC:: @ 85A08EC - .incbin "baserom.gba", 0x5a08ec, 0x80 - -gUnknown_085A096C:: @ 85A096C - .incbin "baserom.gba", 0x5a096c, 0x1a4 - -@ 85A0B10 - .include "data/region_map_entries.inc" - -gUnknown_085A1B24:: @ 85A1B24 - .incbin "baserom.gba", 0x5a1b24, 0x60 - -gUnknown_085A1B84:: @ 85A1B84 - .incbin "baserom.gba", 0x5a1b84, 0x6 - -gUnknown_085A1B8A:: @ 85A1B8A - .incbin "baserom.gba", 0x5a1b8a, 0x22 - -gUnknown_085A1BAC:: @ 85A1BAC - .incbin "baserom.gba", 0x5a1bac, 0x20 - -gUnknown_085A1BCC:: @ 85A1BCC - .incbin "baserom.gba", 0x5a1bcc, 0x34 - -gUnknown_085A1C00:: @ 85A1C00 - .incbin "baserom.gba", 0x5a1c00, 0x8 - -gUnknown_085A1C08:: @ 85A1C08 - .incbin "baserom.gba", 0x5a1c08, 0x18 - -gUnknown_085A1C20:: @ 85A1C20 - .incbin "baserom.gba", 0x5a1c20, 0x10 - -gUnknown_085A1C30:: @ 85A1C30 - .incbin "baserom.gba", 0x5a1c30, 0x4 - -gUnknown_085A1C34:: @ 85A1C34 - .incbin "baserom.gba", 0x5a1c34, 0x4 - -gUnknown_085A1C38:: @ 85A1C38 - .incbin "baserom.gba", 0x5a1c38, 0x20 - -gUnknown_085A1C58:: @ 85A1C58 - .incbin "baserom.gba", 0x5a1c58, 0x38 - -gUnknown_085A1C90:: @ 85A1C90 - .incbin "baserom.gba", 0x5a1c90, 0xd8 - -gUnknown_085A1D68:: @ 85A1D68 - .incbin "baserom.gba", 0x5a1d68, 0xd4 - -gUnknown_085A1E3C:: @ 85A1E3C - .incbin "baserom.gba", 0x5a1e3c, 0xa0 - -gUnknown_085A1EDC:: @ 85A1EDC - .incbin "baserom.gba", 0x5a1edc, 0x8 - -gUnknown_085A1EE4:: @ 85A1EE4 - .incbin "baserom.gba", 0x5a1ee4, 0xc - -gUnknown_085A1EF0:: @ 85A1EF0 - .incbin "baserom.gba", 0x5a1ef0, 0x20 - -gUnknown_085A1F10:: @ 85A1F10 - .incbin "baserom.gba", 0x5a1f10, 0x8 - -gUnknown_085A1F18:: @ 85A1F18 - .incbin "baserom.gba", 0x5a1f18, 0x64 - -gUnknown_085A1F7C:: @ 85A1F7C - .incbin "baserom.gba", 0x5a1f7c, 0x18 diff --git a/data/region_map_entries.inc b/data/region_map_entries.inc deleted file mode 100644 index ced01648c3..0000000000 --- a/data/region_map_entries.inc +++ /dev/null @@ -1,809 +0,0 @@ -gMapName_LittlerootTown:: @ 85A0B10 - .string "LITTLEROOT TOWN$" - -gMapName_OldaleTown:: @ 85A0B20 - .string "OLDALE TOWN$" - -gMapName_DewfordTown:: @ 85A0B2C - .string "DEWFORD TOWN$" - -gMapName_LavaridgeTown:: @ 85A0B39 - .string "LAVARIDGE TOWN$" - -gMapName_FallarborTown:: @ 85A0B48 - .string "FALLARBOR TOWN$" - -gMapName_VerdanturfTown:: @ 85A0B57 - .string "VERDANTURF TOWN$" - -gMapName_PacifidlogTown:: @ 85A0B67 - .string "PACIFIDLOG TOWN$" - -gMapName_PetalburgCity:: @ 85A0B77 - .string "PETALBURG CITY$" - -gMapName_SlateportCity:: @ 85A0B86 - .string "SLATEPORT CITY$" - -gMapName_MauvilleCity:: @ 85A0B95 - .string "MAUVILLE CITY$" - -gMapName_RustboroCity:: @ 85A0BA3 - .string "RUSTBORO CITY$" - -gMapName_FortreeCity:: @ 85A0BB1 - .string "FORTREE CITY$" - -gMapName_LilycoveCity:: @ 85A0BBE - .string "LILYCOVE CITY$" - -gMapName_MossdeepCity:: @ 85A0BCC - .string "MOSSDEEP CITY$" - -gMapName_SootopolisCity:: @ 85A0BDA - .string "SOOTOPOLIS CITY$" - -gMapName_EverGrandeCity:: @ 85A0BEA - .string "EVER GRANDE CITY$" - -gMapName_Route101:: @ 85A0BFB - .string "ROUTE 101$" - -gMapName_Route102:: @ 85A0C05 - .string "ROUTE 102$" - -gMapName_Route103:: @ 85A0C0F - .string "ROUTE 103$" - -gMapName_Route104:: @ 85A0C19 - .string "ROUTE 104$" - -gMapName_Route105:: @ 85A0C23 - .string "ROUTE 105$" - -gMapName_Route106:: @ 85A0C2D - .string "ROUTE 106$" - -gMapName_Route107:: @ 85A0C37 - .string "ROUTE 107$" - -gMapName_Route108:: @ 85A0C41 - .string "ROUTE 108$" - -gMapName_Route109:: @ 85A0C4B - .string "ROUTE 109$" - -gMapName_Route110:: @ 85A0C55 - .string "ROUTE 110$" - -gMapName_Route111:: @ 85A0C5F - .string "ROUTE 111$" - -gMapName_Route112:: @ 85A0C69 - .string "ROUTE 112$" - -gMapName_Route113:: @ 85A0C73 - .string "ROUTE 113$" - -gMapName_Route114:: @ 85A0C7D - .string "ROUTE 114$" - -gMapName_Route115:: @ 85A0C87 - .string "ROUTE 115$" - -gMapName_Route116:: @ 85A0C91 - .string "ROUTE 116$" - -gMapName_Route117:: @ 85A0C9B - .string "ROUTE 117$" - -gMapName_Route118:: @ 85A0CA5 - .string "ROUTE 118$" - -gMapName_Route119:: @ 85A0CAF - .string "ROUTE 119$" - -gMapName_Route120:: @ 85A0CB9 - .string "ROUTE 120$" - -gMapName_Route121:: @ 85A0CC3 - .string "ROUTE 121$" - -gMapName_Route122:: @ 85A0CCD - .string "ROUTE 122$" - -gMapName_Route123:: @ 85A0CD7 - .string "ROUTE 123$" - -gMapName_Route124:: @ 85A0CE1 - .string "ROUTE 124$" - -gMapName_Route125:: @ 85A0CEB - .string "ROUTE 125$" - -gMapName_Route126:: @ 85A0CF5 - .string "ROUTE 126$" - -gMapName_Route127:: @ 85A0CFF - .string "ROUTE 127$" - -gMapName_Route128:: @ 85A0D09 - .string "ROUTE 128$" - -gMapName_Route129:: @ 85A0D13 - .string "ROUTE 129$" - -gMapName_Route130:: @ 85A0D1D - .string "ROUTE 130$" - -gMapName_Route131:: @ 85A0D27 - .string "ROUTE 131$" - -gMapName_Route132:: @ 85A0D31 - .string "ROUTE 132$" - -gMapName_Route133:: @ 85A0D3B - .string "ROUTE 133$" - -gMapName_Route134:: @ 85A0D45 - .string "ROUTE 134$" - -gMapName_Underwater:: @ 85A0D4F - .string "UNDERWATER$" - -gMapName_GraniteCave:: @ 85A0D5A - .string "GRANITE CAVE$" - -gMapName_MtChimney:: @ 85A0D67 - .string "MT. CHIMNEY$" - -gMapName_SafariZone:: @ 85A0D73 - .string "SAFARI ZONE$" - -gMapName_BattleFrontier:: @ 85A0D7F - .string "BATTLE FRONTIER$" - -gMapName_PetalburgWoods:: @ 85A0D8F - .string "PETALBURG WOODS$" - -gMapName_RusturfTunnel:: @ 85A0D9F - .string "RUSTURF TUNNEL$" - -gMapName_AbandonedShip:: @ 85A0DAE - .string "ABANDONED SHIP$" - -gMapName_NewMauville:: @ 85A0DBD - .string "NEW MAUVILLE$" - -gMapName_MeteorFalls:: @ 85A0DCA - .string "METEOR FALLS$" - -gMapName_MtPyre:: @ 85A0DD7 - .string "MT. PYRE$" - -@ This was the Aqua or Magma hideout in Ruby/Sapphire, but each team has a -@ hideout in Emerald with their own new region map entries, and this name -@ doesn't seem to be used anymore. -gMapName_AquaHideoutOld:: @ 85A0DE0 - .string "{AQUA} HIDEOUT$" - -gMapName_ShoalCave:: @ 85A0DEB - .string "SHOAL CAVE$" - -gMapName_SeafloorCavern:: @ 85A0DF6 - .string "SEAFLOOR CAVERN$" - -gMapName_VictoryRoad:: @ 85A0E06 - .string "VICTORY ROAD$" - -gMapName_MirageIsland:: @ 85A0E13 - .string "MIRAGE ISLAND$" - -gMapName_CaveOfOrigin:: @ 85A0E21 - .string "CAVE OF ORIGIN$" - -gMapName_SouthernIsland:: @ 85A0E30 - .string "SOUTHERN ISLAND$" - -gMapName_FieryPath:: @ 85A0E40 - .string "FIERY PATH$" - -gMapName_JaggedPass:: @ 85A0E4B - .string "JAGGED PASS$" - -gMapName_SealedChamber:: @ 85A0E57 - .string "SEALED CHAMBER$" - -gMapName_ScorchedSlab:: @ 85A0E66 - .string "SCORCHED SLAB$" - -gMapName_IslandCave:: @ 85A0E74 - .string "ISLAND CAVE$" - -gMapName_DesertRuins:: @ 85A0E80 - .string "DESERT RUINS$" - -gMapName_AncientTomb:: @ 85A0E8D - .string "ANCIENT TOMB$" - -gMapName_InsideOfTruck:: @ 85A0E9A - .string "INSIDE OF TRUCK$" - -gMapName_SkyPillar:: @ 85A0EAA - .string "SKY PILLAR$" - -gMapName_SecretBase:: @ 85A0EB5 - .string "SECRET BASE$" - -gMapName_None:: @ 85A0EC1 - .string "$" - -gMapName_PalletTown:: @ 85A0EC2 - .string "PALLET TOWN$" - -gMapName_ViridianCity:: @ 85A0ECE - .string "VIRIDIAN CITY$" - -gMapName_PewterCity:: @ 85A0EDC - .string "PEWTER CITY$" - -gMapName_CeruleanCity:: @ 85A0EE8 - .string "CERULEAN CITY$" - -gMapName_LavenderTown:: @ 85A0EF6 - .string "LAVENDER TOWN$" - -gMapName_VermilionCity:: @ 85A0F04 - .string "VERMILION CITY$" - -gMapName_CeladonCity:: @ 85A0F13 - .string "CELADON CITY$" - -gMapName_FuchsiaCity:: @ 85A0F20 - .string "FUCHSIA CITY$" - -gMapName_CinnabarIsland:: @ 85A0F2D - .string "CINNABAR ISLAND$" - -gMapName_IndigoPlateau:: @ 85A0F3D - .string "INDIGO PLATEAU$" - -gMapName_SaffronCity:: @ 85A0F4C - .string "SAFFRON CITY$" - -gMapName_Route4:: @ 85A0F59 - .string "ROUTE 4$" - -gMapName_Route10:: @ 85A0F61 - .string "ROUTE 10$" - -gMapName_Route1:: @ 85A0F6A - .string "ROUTE 1$" - -gMapName_Route2:: @ 85A0F72 - .string "ROUTE 2$" - -gMapName_Route3:: @ 85A0F7A - .string "ROUTE 3$" - -gMapName_Route4_2:: @ 85A0F82 - .string "ROUTE 4$" - -gMapName_Route5:: @ 85A0F8A - .string "ROUTE 5$" - -gMapName_Route6:: @ 85A0F92 - .string "ROUTE 6$" - -gMapName_Route7:: @ 85A0F9A - .string "ROUTE 7$" - -gMapName_Route8:: @ 85A0FA2 - .string "ROUTE 8$" - -gMapName_Route9:: @ 85A0FAA - .string "ROUTE 9$" - -gMapName_Route10_2:: @ 85A0FB2 - .string "ROUTE 10$" - -gMapName_Route11:: @ 85A0FBB - .string "ROUTE 11$" - -gMapName_Route12:: @ 85A0FC4 - .string "ROUTE 12$" - -gMapName_Route13:: @ 85A0FCD - .string "ROUTE 13$" - -gMapName_Route14:: @ 85A0FD6 - .string "ROUTE 14$" - -gMapName_Route15:: @ 85A0FDF - .string "ROUTE 15$" - -gMapName_Route16:: @ 85A0FE8 - .string "ROUTE 16$" - -gMapName_Route17:: @ 85A0FF1 - .string "ROUTE 17$" - -gMapName_Route18:: @ 85A0FFA - .string "ROUTE 18$" - -gMapName_Route19:: @ 85A1003 - .string "ROUTE 19$" - -gMapName_Route20:: @ 85A100C - .string "ROUTE 20$" - -gMapName_Route21:: @ 85A1015 - .string "ROUTE 21$" - -gMapName_Route22:: @ 85A101E - .string "ROUTE 22$" - -gMapName_Route23:: @ 85A1027 - .string "ROUTE 23$" - -gMapName_Route24:: @ 85A1030 - .string "ROUTE 24$" - -gMapName_Route25:: @ 85A1039 - .string "ROUTE 25$" - -gMapName_ViridianForest:: @ 85A1042 - .string "VIRIDIAN FOREST$" - -gMapName_MtMoon:: @ 85A1052 - .string "MT. MOON$" - -gMapName_SSAnne:: @ 85A105B - .string "S.S. ANNE$" - -gMapName_UndergroundPath:: @ 85A1065 - .string "UNDERGROUND PATH$" - -gMapName_UndergroundPath2:: @ 85A1076 - .string "UNDERGROUND PATH$" - -gMapName_DiglettsCave:: @ 85A1087 - .string "DIGLETT’S CAVE$" - -gMapName_KantoVictoryRoad:: @ 85A1096 - .string "VICTORY ROAD$" - -gMapName_RocketHideout:: @ 85A10A3 - .string "ROCKET HIDEOUT$" - -gMapName_SilphCo:: @ 85A10B2 - .string "SILPH CO.$" - -gMapName_PokemonMansion:: @ 85A10BC - .string "POKéMON MANSION$" - -gMapName_KantoSafariZone:: @ 85A10CC - .string "SAFARI ZONE$" - -gMapName_PokemonLeague:: @ 85A10D8 - .string "POKéMON LEAGUE$" - -gMapName_RockTunnel:: @ 85A10E7 - .string "ROCK TUNNEL$" - -gMapName_SeafoamIslands:: @ 85A10F3 - .string "SEAFOAM ISLANDS$" - -gMapName_PokemonTower:: @ 85A1103 - .string "POKéMON TOWER$" - -gMapName_CeruleanCave:: @ 85A1111 - .string "CERULEAN CAVE$" - -gMapName_PowerPlant:: @ 85A111F - .string "POWER PLANT$" - -gMapName_OneIsland:: @ 85A112B - .string "ONE ISLAND$" - -gMapName_TwoIsland:: @ 85A1136 - .string "TWO ISLAND$" - -gMapName_ThreeIsland:: @ 85A1141 - .string "THREE ISLAND$" - -gMapName_FourIsland:: @ 85A114E - .string "FOUR ISLAND$" - -gMapName_FiveIsland:: @ 85A115A - .string "FIVE ISLAND$" - -gMapName_SevenIsland:: @ 85A1166 - .string "SEVEN ISLAND$" - -gMapName_SixIsland:: @ 85A1173 - .string "SIX ISLAND$" - -gMapName_KindleRoad:: @ 85A117E - .string "KINDLE ROAD$" - -gMapName_TreasureBeach:: @ 85A118A - .string "TREASURE BEACH$" - -gMapName_CapeBrink:: @ 85A1199 - .string "CAPE BRINK$" - -gMapName_BondBridge:: @ 85A11A4 - .string "BOND BRIDGE$" - -gMapName_ThreeIslePort:: @ 85A11B0 - .string "THREE ISLE PORT$" - -gMapName_SeviiIsle6:: @ 85A11C0 - .string "SEVII ISLE 6$" - -gMapName_SeviiIsle7:: @ 85A11CD - .string "SEVII ISLE 7$" - -gMapName_SeviiIsle8:: @ 85A11DA - .string "SEVII ISLE 8$" - -gMapName_SeviiIsle9:: @ 85A11E7 - .string "SEVII ISLE 9$" - -gMapName_ResortGorgeous:: @ 85A11F4 - .string "RESORT GORGEOUS$" - -gMapName_WaterLabyrinth:: @ 85A1204 - .string "WATER LABYRINTH$" - -gMapName_FiveIsleMeadow:: @ 85A1214 - .string "FIVE ISLE MEADOW$" - -gMapName_MemorialPillar:: @ 85A1225 - .string "MEMORIAL PILLAR$" - -gMapName_OutcastIsland:: @ 85A1235 - .string "OUTCAST ISLAND$" - -gMapName_GreenPath:: @ 85A1244 - .string "GREEN PATH$" - -gMapName_WaterPath:: @ 85A124F - .string "WATER PATH$" - -gMapName_RuinValley:: @ 85A125A - .string "RUIN VALLEY$" - -gMapName_TrainerTower:: @ 85A1266 - .string "TRAINER TOWER$" - -gMapName_CanyonEntrance:: @ 85A1274 - .string "CANYON ENTRANCE$" - -gMapName_SevaultCanyon:: @ 85A1284 - .string "SEVAULT CANYON$" - -gMapName_TanobyRuins:: @ 85A1293 - .string "TANOBY RUINS$" - -gMapName_SeviiIsle22:: @ 85A12A0 - .string "SEVII ISLE 22$" - -gMapName_SeviiIsle23:: @ 85A12AE - .string "SEVII ISLE 23$" - -gMapName_SeviiIsle24:: @ 85A12BC - .string "SEVII ISLE 24$" - -gMapName_NavelRock:: @ 85A12CA - .string "NAVEL ROCK$" - -gMapName_MtEmber:: @ 85A12D5 - .string "MT. EMBER$" - -gMapName_BerryForest:: @ 85A12DF - .string "BERRY FOREST$" - -gMapName_IcefallCave:: @ 85A12EC - .string "ICEFALL CAVE$" - -gMapName_RocketWarehouse:: @ 85A12F9 - .string "ROCKET WAREHOUSE$" - -gMapName_TrainerTower2:: @ 85A130A - .string "TRAINER TOWER$" - -gMapName_DottedHole:: @ 85A1318 - .string "DOTTED HOLE$" - -gMapName_LostCave:: @ 85A1324 - .string "LOST CAVE$" - -gMapName_PatternBush:: @ 85A132E - .string "PATTERN BUSH$" - -gMapName_AlteringCave:: @ 85A133B - .string "ALTERING CAVE$" - -gMapName_TanobyChambers:: @ 85A1349 - .string "TANOBY CHAMBERS$" - -gMapName_ThreeIslePath:: @ 85A1359 - .string "THREE ISLE PATH$" - -gMapName_TanobyKey:: @ 85A1369 - .string "TANOBY KEY$" - -gMapName_BirthIsland:: @ 85A1374 - .string "BIRTH ISLAND$" - -gMapName_MoneanChamber:: @ 85A1381 - .string "MONEAN CHAMBER$" - -gMapName_LiptooChamber:: @ 85A1390 - .string "LIPTOO CHAMBER$" - -gMapName_WeepthChamber:: @ 85A139F - .string "WEEPTH CHAMBER$" - -gMapName_DilfordChamber:: @ 85A13AE - .string "DILFORD CHAMBER$" - -gMapName_ScufibChamber:: @ 85A13BE - .string "SCUFIB CHAMBER$" - -gMapName_RixyChamber:: @ 85A13CD - .string "RIXY CHAMBER$" - -gMapName_ViapoisChamber:: @ 85A13DA - .string "VIAPOIS CHAMBER$" - -gMapName_EmberSpa:: @ 85A13EA - .string "EMBER SPA$" - -gMapName_SpecialArea:: @ 85A13F4 - .string "SPECIAL AREA$" - -gMapName_AquaHideout:: @ 85A1401 - .string "AQUA HIDEOUT$" - -gMapName_MagmaHideout:: @ 85A140E - .string "MAGMA HIDEOUT$" - -gMapName_MirageTower:: @ 85A141C - .string "MIRAGE TOWER$" - -gMapName_FarawayIsland:: @ 85A1429 - .string "FARAWAY ISLAND$" - -gMapName_ArtisanCave:: @ 85A1438 - .string "ARTISAN CAVE$" - -gMapName_MarineCave:: @ 85A1445 - .string "MARINE CAVE$" - -gMapName_TerraCave:: @ 85A1451 - .string "TERRA CAVE$" - -gMapName_DesertUnderpass:: @ 85A145C - .string "DESERT UNDERPASS$" - -gMapName_TrainerHill:: @ 85A146D - .string "TRAINER HILL$" - - .align 2 -gRegionMapEntries:: @ 85A147C - region_map_entry 4, 11, 1, 1, LittlerootTown - region_map_entry 4, 9, 1, 1, OldaleTown - region_map_entry 2, 14, 1, 1, DewfordTown - region_map_entry 5, 3, 1, 1, LavaridgeTown - region_map_entry 3, 0, 1, 1, FallarborTown - region_map_entry 4, 6, 1, 1, VerdanturfTown - region_map_entry 17, 10, 1, 1, PacifidlogTown - region_map_entry 1, 9, 1, 1, PetalburgCity - region_map_entry 8, 10, 1, 2, SlateportCity - region_map_entry 8, 6, 2, 1, MauvilleCity - region_map_entry 0, 5, 1, 2, RustboroCity - region_map_entry 12, 0, 1, 1, FortreeCity - region_map_entry 18, 3, 2, 1, LilycoveCity - region_map_entry 24, 5, 2, 1, MossdeepCity - region_map_entry 21, 7, 1, 1, SootopolisCity - region_map_entry 27, 8, 1, 2, EverGrandeCity - region_map_entry 4, 10, 1, 1, Route101 - region_map_entry 2, 9, 2, 1, Route102 - region_map_entry 4, 8, 4, 1, Route103 - region_map_entry 0, 7, 1, 3, Route104 - region_map_entry 0, 10, 1, 3, Route105 - region_map_entry 0, 13, 2, 1, Route106 - region_map_entry 3, 14, 3, 1, Route107 - region_map_entry 6, 14, 2, 1, Route108 - region_map_entry 8, 12, 1, 3, Route109 - region_map_entry 8, 7, 1, 3, Route110 - region_map_entry 8, 0, 1, 6, Route111 - region_map_entry 6, 3, 2, 1, Route112 - region_map_entry 4, 0, 4, 1, Route113 - region_map_entry 1, 0, 2, 3, Route114 - region_map_entry 0, 2, 1, 3, Route115 - region_map_entry 1, 5, 4, 1, Route116 - region_map_entry 5, 6, 3, 1, Route117 - region_map_entry 10, 6, 2, 1, Route118 - region_map_entry 11, 0, 1, 6, Route119 - region_map_entry 13, 0, 1, 4, Route120 - region_map_entry 14, 3, 4, 1, Route121 - region_map_entry 16, 4, 1, 2, Route122 - region_map_entry 12, 6, 5, 1, Route123 - region_map_entry 20, 3, 4, 3, Route124 - region_map_entry 24, 3, 2, 2, Route125 - region_map_entry 20, 6, 3, 3, Route126 - region_map_entry 23, 6, 3, 3, Route127 - region_map_entry 23, 9, 4, 1, Route128 - region_map_entry 24, 10, 2, 1, Route129 - region_map_entry 21, 10, 3, 1, Route130 - region_map_entry 18, 10, 3, 1, Route131 - region_map_entry 15, 10, 2, 1, Route132 - region_map_entry 12, 10, 3, 1, Route133 - region_map_entry 9, 10, 3, 1, Route134 - region_map_entry 20, 3, 4, 3, Underwater - region_map_entry 20, 6, 3, 3, Underwater - region_map_entry 23, 6, 3, 3, Underwater - region_map_entry 23, 9, 4, 1, Underwater - region_map_entry 21, 7, 1, 1, Underwater - region_map_entry 1, 13, 1, 1, GraniteCave - region_map_entry 6, 2, 1, 1, MtChimney - region_map_entry 16, 2, 1, 1, SafariZone - region_map_entry 22, 12, 1, 1, BattleFrontier - region_map_entry 0, 8, 1, 1, PetalburgWoods - region_map_entry 2, 5, 1, 1, RusturfTunnel - region_map_entry 6, 14, 1, 1, AbandonedShip - region_map_entry 8, 7, 1, 1, NewMauville - region_map_entry 0, 3, 1, 1, MeteorFalls - region_map_entry 1, 2, 1, 1, MeteorFalls - region_map_entry 16, 4, 1, 1, MtPyre - region_map_entry 19, 3, 1, 1, AquaHideoutOld - region_map_entry 24, 4, 1, 1, ShoalCave - region_map_entry 24, 9, 1, 1, SeafloorCavern - region_map_entry 24, 9, 1, 1, Underwater - region_map_entry 27, 9, 1, 1, VictoryRoad - region_map_entry 17, 10, 1, 1, MirageIsland - region_map_entry 21, 7, 1, 1, CaveOfOrigin - region_map_entry 12, 14, 1, 1, SouthernIsland - region_map_entry 6, 3, 1, 1, FieryPath - region_map_entry 7, 3, 1, 1, FieryPath - region_map_entry 6, 3, 1, 1, JaggedPass - region_map_entry 7, 2, 1, 1, JaggedPass - region_map_entry 11, 10, 1, 1, SealedChamber - region_map_entry 11, 10, 1, 1, Underwater - region_map_entry 13, 0, 1, 1, ScorchedSlab - region_map_entry 0, 10, 1, 1, IslandCave - region_map_entry 8, 3, 1, 1, DesertRuins - region_map_entry 13, 2, 1, 1, AncientTomb - region_map_entry 0, 0, 1, 1, InsideOfTruck - region_map_entry 19, 10, 1, 1, SkyPillar - region_map_entry 0, 0, 1, 1, SecretBase - region_map_entry 0, 0, 1, 1, None - region_map_entry 0, 0, 1, 1, PalletTown - region_map_entry 0, 0, 1, 1, ViridianCity - region_map_entry 0, 0, 1, 1, PewterCity - region_map_entry 0, 0, 1, 1, CeruleanCity - region_map_entry 0, 0, 1, 1, LavenderTown - region_map_entry 0, 0, 1, 1, VermilionCity - region_map_entry 0, 0, 1, 1, CeladonCity - region_map_entry 0, 0, 1, 1, FuchsiaCity - region_map_entry 0, 0, 1, 1, CinnabarIsland - region_map_entry 0, 0, 1, 1, IndigoPlateau - region_map_entry 0, 0, 1, 1, SaffronCity - region_map_entry 0, 0, 1, 1, Route4 - region_map_entry 0, 0, 1, 1, Route10 - region_map_entry 0, 0, 1, 1, Route1 - region_map_entry 0, 0, 1, 1, Route2 - region_map_entry 0, 0, 1, 1, Route3 - region_map_entry 0, 0, 1, 1, Route4_2 - region_map_entry 0, 0, 1, 1, Route5 - region_map_entry 0, 0, 1, 1, Route6 - region_map_entry 0, 0, 1, 1, Route7 - region_map_entry 0, 0, 1, 1, Route8 - region_map_entry 0, 0, 1, 1, Route9 - region_map_entry 0, 0, 1, 1, Route10_2 - region_map_entry 0, 0, 1, 1, Route11 - region_map_entry 0, 0, 1, 1, Route12 - region_map_entry 0, 0, 1, 1, Route13 - region_map_entry 0, 0, 1, 1, Route14 - region_map_entry 0, 0, 1, 1, Route15 - region_map_entry 0, 0, 1, 1, Route16 - region_map_entry 0, 0, 1, 1, Route17 - region_map_entry 0, 0, 1, 1, Route18 - region_map_entry 0, 0, 1, 1, Route19 - region_map_entry 0, 0, 1, 1, Route20 - region_map_entry 0, 0, 1, 1, Route21 - region_map_entry 0, 0, 1, 1, Route22 - region_map_entry 0, 0, 1, 1, Route23 - region_map_entry 0, 0, 1, 1, Route24 - region_map_entry 0, 0, 1, 1, Route25 - region_map_entry 0, 0, 1, 1, ViridianForest - region_map_entry 0, 0, 1, 1, MtMoon - region_map_entry 0, 0, 1, 1, SSAnne - region_map_entry 0, 0, 1, 1, UndergroundPath - region_map_entry 0, 0, 1, 1, UndergroundPath2 - region_map_entry 0, 0, 1, 1, DiglettsCave - region_map_entry 0, 0, 1, 1, KantoVictoryRoad - region_map_entry 0, 0, 1, 1, RocketHideout - region_map_entry 0, 0, 1, 1, SilphCo - region_map_entry 0, 0, 1, 1, PokemonMansion - region_map_entry 0, 0, 1, 1, KantoSafariZone - region_map_entry 0, 0, 1, 1, PokemonLeague - region_map_entry 0, 0, 1, 1, RockTunnel - region_map_entry 0, 0, 1, 1, SeafoamIslands - region_map_entry 0, 0, 1, 1, PokemonTower - region_map_entry 0, 0, 1, 1, CeruleanCave - region_map_entry 0, 0, 1, 1, PowerPlant - region_map_entry 0, 0, 1, 1, OneIsland - region_map_entry 0, 0, 1, 1, TwoIsland - region_map_entry 0, 0, 1, 1, ThreeIsland - region_map_entry 0, 0, 1, 1, FourIsland - region_map_entry 0, 0, 1, 1, FiveIsland - region_map_entry 0, 0, 1, 1, SevenIsland - region_map_entry 0, 0, 1, 1, SixIsland - region_map_entry 0, 0, 1, 1, KindleRoad - region_map_entry 0, 0, 1, 1, TreasureBeach - region_map_entry 0, 0, 1, 1, CapeBrink - region_map_entry 0, 0, 1, 1, BondBridge - region_map_entry 0, 0, 1, 1, ThreeIslePort - region_map_entry 0, 0, 1, 1, SeviiIsle6 - region_map_entry 0, 0, 1, 1, SeviiIsle7 - region_map_entry 0, 0, 1, 1, SeviiIsle8 - region_map_entry 0, 0, 1, 1, SeviiIsle9 - region_map_entry 0, 0, 1, 1, ResortGorgeous - region_map_entry 0, 0, 1, 1, WaterLabyrinth - region_map_entry 0, 0, 1, 1, FiveIsleMeadow - region_map_entry 0, 0, 1, 1, MemorialPillar - region_map_entry 0, 0, 1, 1, OutcastIsland - region_map_entry 0, 0, 1, 1, GreenPath - region_map_entry 0, 0, 1, 1, WaterPath - region_map_entry 0, 0, 1, 1, RuinValley - region_map_entry 0, 0, 1, 1, TrainerTower - region_map_entry 0, 0, 1, 1, CanyonEntrance - region_map_entry 0, 0, 1, 1, SevaultCanyon - region_map_entry 0, 0, 1, 1, TanobyRuins - region_map_entry 0, 0, 1, 1, SeviiIsle22 - region_map_entry 0, 0, 1, 1, SeviiIsle23 - region_map_entry 0, 0, 1, 1, SeviiIsle24 - region_map_entry 0, 0, 1, 1, NavelRock - region_map_entry 0, 0, 1, 1, MtEmber - region_map_entry 0, 0, 1, 1, BerryForest - region_map_entry 0, 0, 1, 1, IcefallCave - region_map_entry 0, 0, 1, 1, RocketWarehouse - region_map_entry 0, 0, 1, 1, TrainerTower2 - region_map_entry 0, 0, 1, 1, DottedHole - region_map_entry 0, 0, 1, 1, LostCave - region_map_entry 0, 0, 1, 1, PatternBush - region_map_entry 0, 0, 1, 1, AlteringCave - region_map_entry 0, 0, 1, 1, TanobyChambers - region_map_entry 0, 0, 1, 1, ThreeIslePath - region_map_entry 0, 0, 1, 1, TanobyKey - region_map_entry 0, 0, 1, 1, BirthIsland - region_map_entry 0, 0, 1, 1, MoneanChamber - region_map_entry 0, 0, 1, 1, LiptooChamber - region_map_entry 0, 0, 1, 1, WeepthChamber - region_map_entry 0, 0, 1, 1, DilfordChamber - region_map_entry 0, 0, 1, 1, ScufibChamber - region_map_entry 0, 0, 1, 1, RixyChamber - region_map_entry 0, 0, 1, 1, ViapoisChamber - region_map_entry 0, 0, 1, 1, EmberSpa - region_map_entry 0, 0, 1, 1, SpecialArea - region_map_entry 19, 3, 1, 1, AquaHideout - region_map_entry 6, 3, 1, 1, MagmaHideout - region_map_entry 8, 2, 1, 1, MirageTower - region_map_entry 0, 0, 1, 1, BirthIsland - region_map_entry 0, 0, 1, 1, FarawayIsland - region_map_entry 22, 12, 1, 1, ArtisanCave - region_map_entry 0, 0, 1, 1, MarineCave - region_map_entry 0, 0, 1, 1, Underwater - region_map_entry 0, 0, 1, 1, TerraCave - region_map_entry 0, 10, 1, 3, Underwater - region_map_entry 24, 3, 2, 2, Underwater - region_map_entry 24, 10, 2, 1, Underwater - region_map_entry 2, 0, 1, 1, DesertUnderpass - region_map_entry 6, 8, 1, 1, AlteringCave - region_map_entry 0, 0, 1, 1, NavelRock - region_map_entry 8, 4, 1, 1, TrainerHill diff --git a/data/reset_rtc_screen.s b/data/reset_rtc_screen.s deleted file mode 100644 index f680a87bc8..0000000000 --- a/data/reset_rtc_screen.s +++ /dev/null @@ -1,78 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_08510404:: @ 8510404 struct BgTemplate - .4byte 0x000001f0 - - .align 2 -gUnknown_08510408:: @ 8510408 - window_template 0x00, 0x01, 0x01, 0x13, 0x09, 0x0f, 0x0155 - window_template 0x00, 0x02, 0x0f, 0x1b, 0x04, 0x0f, 0x00e9 - window_template_terminator - - .align 2 -gUnknown_08510420:: @ 8510420 - window_template 0x00, 0x04, 0x09, 0x15, 0x02, 0x0f, 0x00bf - - .align 2 -gUnknown_08510428:: @ 8510428 - .byte 3, 0, 1, 0, 15, 39, 0, 2, 0, 0, 0, 0 - .byte 4, 0, 0, 0, 23, 0, 1, 3, 0, 0, 0, 0 - .byte 5, 0, 0, 0, 59, 0, 2, 4, 0, 0, 0, 0 - .byte 6, 0, 0, 0, 59, 0, 3, 5, 0, 0, 0, 0 - .byte 7, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0 - - .align 2 -gOamData_08510464:: @ 8510464 - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gResetRtcScreen_DownArrowGfx:: @ 851046C - .incbin "graphics/misc/reset_rtc_screen_downarrow.4bpp" - - .align 2 -gResetRtcScreen_RightArrowGfx:: @ 851048C - .incbin "graphics/misc/reset_rtc_screen_rightarrow.4bpp" - - .align 2 -gResetRtcScreen_ArrowPal: @ 85104AC - .incbin "graphics/misc/reset_rtc_screen_arrow.gbapal" - - .align 2 -gSpriteImageTable_85104B4:: @ 85104B4 - obj_frame_tiles gResetRtcScreen_DownArrowGfx, 0x20 - obj_frame_tiles gResetRtcScreen_RightArrowGfx, 0x20 - - .align 2 -gUnknown_085104C4:: @ 85104C4 - obj_pal gResetRtcScreen_ArrowPal, 0x1000 - - .align 2 -gSpriteAnim_85104CC:: @ 85104CC - obj_image_anim_frame 0, 30 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_85104D4: @ 85104D4 - obj_image_anim_frame 0, 30, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_85104DC:: @ 85104DC - obj_image_anim_frame 1, 30 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_85104E4:: @ 85104E4 - .4byte gSpriteAnim_85104CC - .4byte gSpriteAnim_85104D4 - .4byte gSpriteAnim_85104DC - - .align 2 -gSpriteTemplate_85104F0:: @ 85104F0 - spr_template 0xFFFF, 0x1000, gOamData_08510464, gSpriteAnimTable_85104E4, gSpriteImageTable_85104B4, gDummySpriteAffineAnimTable, SpriteCallbackDummy diff --git a/data/rom4.s b/data/rom4.s deleted file mode 100644 index aa57174d98..0000000000 --- a/data/rom4.s +++ /dev/null @@ -1,43 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 -gUnknown_08339D3C:: @ 8339D3C - .incbin "baserom.gba", 0x339d3c, 0x28 - -gUnknown_08339D64:: @ 8339D64 - .incbin "baserom.gba", 0x339d64, 0x48 - -gUnknown_08339DAC:: @ 8339DAC - .incbin "baserom.gba", 0x339dac, 0x10 - -gUnknown_08339DBC:: @ 8339DBC - .incbin "baserom.gba", 0x339dbc, 0xc - -gUnknown_08339DC8:: @ 8339DC8 - .incbin "baserom.gba", 0x339dc8, 0xc - -gUnknown_08339DD4:: @ 8339DD4 - .incbin "baserom.gba", 0x339dd4, 0x2c - -gUnknown_08339E00:: @ 8339E00 - .incbin "baserom.gba", 0x339e00, 0x8 - -@ 8339E08 - .include "data/tilesets/tileset_graphics.inc" - -@ 83960F0 - .include "data/tilesets/metatiles.inc" - -@ 83DF704 - .include "data/tilesets/tilesets.inc" - -@ 83DFE14 - .incbin "baserom.gba", 0x3dfe14, 0xa1fc0 - -gUnknown_08481DD4:: @ 8481DD4 - .incbin "baserom.gba", 0x481dd4, 0x47a4 - -gUnknown_08486578:: @ 8486578 - .incbin "baserom.gba", 0x486578, 0x980 diff --git a/data/rom_8486FEC.s b/data/rom_8486FEC.s deleted file mode 100644 index 9b7834a32a..0000000000 --- a/data/rom_8486FEC.s +++ /dev/null @@ -1,8 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_8486FEC:: @ 8486FEC - .incbin "baserom.gba", 0x486fec, 0xFFA0 diff --git a/data/rom_8525F58.s b/data/rom_8525F58.s index 1cee7112ac..d95af7e20a 100644 --- a/data/rom_8525F58.s +++ b/data/rom_8525F58.s @@ -1,57 +1,34 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 + .include "asm/macros.inc" + .include "constants/constants.inc" + .section .rodata + .align 2 gUnknown_08525F58:: @ 8525F58 .byte 0x48, 0x50, 0x00, 0x00, 0xb0, 0x28, 0x00, 0x00 .byte 0x30, 0x28, 0x00, 0x00, 0x70, 0x50, 0x00, 0x00 .byte 0x20, 0x50, 0x00, 0x00, 0xc8, 0x28, 0x00, 0x00 .byte 0x5a, 0x58, 0x00, 0x00, 0x98, 0x20, 0x00, 0x00 - .align 2 + .align 2 gCastformFrontSpriteCoords:: @ 8525F78 .byte 0x44, 0x11, 0x00, 0x00, 0x66, 0x09, 0x00, 0x00 .byte 0x46, 0x09, 0x00, 0x00, 0x86, 0x08, 0x00, 0x00 - .align 2 + .align 2 gUnknown_08525F88:: @ 8525F88 .byte 0x0d, 0x0e, 0x0d, 0x0d - .align 2 + .align 2 gUnknown_08525F8C:: @ 8525F8C .byte 0x00, 0x00, 0x00, 0x00 - .align 2 + .align 2 gUnknown_08525F90:: @ 8525F90 spr_template 0xd755, 0xd755, gUnknown_0852497C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy spr_template 0xd756, 0xd756, gUnknown_0852497C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - .align 2 + .align 2 gUnknown_08525FC0:: @ 8525FC0 obj_tiles gMiscBlank_Gfx, 0x0800, 0xd755 obj_tiles gMiscBlank_Gfx, 0x0800, 0xd756 - - .align 2 -@ the mother of all baserom includes - .incbin "baserom.gba", 0x525fd0, 0x18f60 - - .align 2 -gUnknown_0853EF30:: @ 853EF30 - .byte 0xf0, 0xf0, 0x0c, 0x80, 0xf0, 0x30, 0x0d, 0x84, 0x30, 0xf0, 0x0e, 0x86, 0x30, 0x30, 0x08, 0x88 - - .align 2 -gUnknown_0853EF40:: @ 853EF40 - .4byte 0x00000004, gUnknown_0853EF30 - - .align 2 -gUnknown_0853EF48:: @ 853EF48 - spr_template 0x271a, 0x271a, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_0853EF60:: @ 853EF60 - spr_template 0x2798, 0x2798, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A9E44 - diff --git a/data/rotating_gate.s b/data/rotating_gate.s index 90568caa5b..595cc9917c 100644 --- a/data/rotating_gate.s +++ b/data/rotating_gate.s @@ -2,40 +2,284 @@ .include "constants/constants.inc" .section .rodata - .align 2, 0 + .align 2 gUnknown_0858E8B0:: @ 858E8B0 - .incbin "baserom.gba", 0x58e8b0, 0x40 + .2byte 0x0006, 0x0007 + .byte 0x05, 0x01 + .align 2 + .2byte 0x0009, 0x000f + .byte 0x05, 0x02 + + .align 2 + .2byte 0x0003, 0x0013 + .byte 0x05, 0x01 + + .align 2 + .2byte 0x0002, 0x0006 + .byte 0x04, 0x01 + + .align 2 + .2byte 0x0009, 0x000c + .byte 0x04, 0x00 + + .align 2 + .2byte 0x0006, 0x0017 + .byte 0x04, 0x00 + + .align 2 + .2byte 0x000c, 0x0016 + .byte 0x04, 0x00 + + .align 2 + .2byte 0x0006, 0x0003 + .byte 0x03, 0x02 + + .align 2 gUnknown_0858E8F0:: @ 858E8F0 - .incbin "baserom.gba", 0x58e8f0, 0x3468 + .2byte 0x000e, 0x0005 + .byte 0x04, 0x01 + .align 2 + .2byte 0x000a, 0x0006 + .byte 0x01, 0x02 + + .align 2 + .2byte 0x0006, 0x0006 + .byte 0x03, 0x01 + + .align 2 + .2byte 0x000e, 0x0008 + .byte 0x04, 0x01 + + .align 2 + .2byte 0x0003, 0x000a + .byte 0x02, 0x03 + + .align 2 + .2byte 0x0009, 0x000e + .byte 0x00, 0x01 + + .align 2 + .2byte 0x0003, 0x000f + .byte 0x06, 0x00 + + .align 2 + .2byte 0x0002, 0x0011 + .byte 0x01, 0x02 + + .align 2 + .2byte 0x000c, 0x0012 + .byte 0x06, 0x03 + + .align 2 + .2byte 0x0005, 0x0012 + .byte 0x03, 0x01 + + .align 2 + .2byte 0x000a, 0x0013 + .byte 0x02, 0x02 + + .align 2 +gUnknown_0858E948:: @ 858E948 + .incbin "graphics/misc/rotating_gate_1.4bpp" + + .align 2 +gUnknown_0858EB48:: @ 858EB48 + .incbin "graphics/misc/rotating_gate_2.4bpp" + + .align 2 +gUnknown_0858F348:: @ 858F348 + .incbin "graphics/misc/rotating_gate_3.4bpp" + + .align 2 +gUnknown_0858FB48:: @ 858FB48 + .incbin "graphics/misc/rotating_gate_4.4bpp" + + .align 2 +gUnknown_08590348:: @ 8590348 + .incbin "graphics/misc/rotating_gate_5.4bpp" + + .align 2 +gUnknown_08590548:: @ 8590548 + .incbin "graphics/misc/rotating_gate_6.4bpp" + + .align 2 +gUnknown_08590D48:: @ 8590D48 + .incbin "graphics/misc/rotating_gate_7.4bpp" + + .align 2 +gUnknown_08591548:: @ 8591548 + .incbin "graphics/misc/rotating_gate_8.4bpp" + + .align 2 +gOamData_8591D48:: @ 8591D48 + .2byte 0x0100, 0xc000, 0x2800 + + .align 2 +gOamData_8591D50:: @ 8591D50 + .2byte 0x0100, 0x8000, 0x2800 + + .align 2 gUnknown_08591D58:: @ 8591D58 - .incbin "baserom.gba", 0x591d58, 0x270 + obj_tiles gUnknown_0858E948, 0x0200, 0x1300 + obj_tiles gUnknown_0858EB48, 0x0800, 0x1301 + obj_tiles gUnknown_0858F348, 0x0800, 0x1302 + obj_tiles gUnknown_0858FB48, 0x0800, 0x1303 + obj_tiles gUnknown_08590348, 0x0200, 0x1304 + obj_tiles gUnknown_08590548, 0x0800, 0x1305 + obj_tiles gUnknown_08590D48, 0x0800, 0x1306 + obj_tiles gUnknown_08591548, 0x0800, 0x1307 + null_obj_tiles + .align 2 +gSpriteAnim_8591DA0:: @ 8591DA0 + .2byte 0x0000, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8591DA8:: @ 8591DA8 + .2byte 0x0000, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_8591DB0:: @ 8591DB0 + .4byte gSpriteAnim_8591DA0 + + .align 2 +gSpriteAnimTable_8591DB4:: @ 8591DB4 + .4byte gSpriteAnim_8591DA8 + + .align 2 +gSpriteAffineAnim_8591DB8:: @ 8591DB8 + .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_8591DC8:: @ 8591DC8 + .2byte 0x0100, 0x0100, 0x00c0, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_8591DD8:: @ 8591DD8 + .2byte 0x0100, 0x0100, 0x0080, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_8591DE8:: @ 8591DE8 + .2byte 0x0100, 0x0100, 0x0040, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_8591DF8:: @ 8591DF8 + .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x10fc, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_8591E10:: @ 8591E10 + .2byte 0x0100, 0x0100, 0x00c0, 0x0000, 0x0000, 0x0000, 0x10fc, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_8591E28:: @ 8591E28 + .2byte 0x0100, 0x0100, 0x0080, 0x0000, 0x0000, 0x0000, 0x10fc, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_8591E40:: @ 8591E40 + .2byte 0x0100, 0x0100, 0x0040, 0x0000, 0x0000, 0x0000, 0x10fc, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_8591E58:: @ 8591E58 + .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1004, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_8591E70:: @ 8591E70 + .2byte 0x0100, 0x0100, 0x0040, 0x0000, 0x0000, 0x0000, 0x1004, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_8591E88:: @ 8591E88 + .2byte 0x0100, 0x0100, 0x0080, 0x0000, 0x0000, 0x0000, 0x1004, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_8591EA0:: @ 8591EA0 + .2byte 0x0100, 0x0100, 0x00c0, 0x0000, 0x0000, 0x0000, 0x1004, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_8591EB8:: @ 8591EB8 + .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x08f8, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_8591ED0:: @ 8591ED0 + .2byte 0x0100, 0x0100, 0x00c0, 0x0000, 0x0000, 0x0000, 0x08f8, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_8591EE8:: @ 8591EE8 + .2byte 0x0100, 0x0100, 0x0080, 0x0000, 0x0000, 0x0000, 0x08f8, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_8591F00:: @ 8591F00 + .2byte 0x0100, 0x0100, 0x0040, 0x0000, 0x0000, 0x0000, 0x08f8, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_8591F18:: @ 8591F18 + .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0808, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_8591F30:: @ 8591F30 + .2byte 0x0100, 0x0100, 0x0040, 0x0000, 0x0000, 0x0000, 0x0808, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_8591F48:: @ 8591F48 + .2byte 0x0100, 0x0100, 0x0080, 0x0000, 0x0000, 0x0000, 0x0808, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_8591F60:: @ 8591F60 + .2byte 0x0100, 0x0100, 0x00c0, 0x0000, 0x0000, 0x0000, 0x0808, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnimTable_8591F78:: @ 8591F78 + .4byte gSpriteAffineAnim_8591DB8 + .4byte gSpriteAffineAnim_8591DC8 + .4byte gSpriteAffineAnim_8591DD8 + .4byte gSpriteAffineAnim_8591DE8 + .4byte gSpriteAffineAnim_8591E58 + .4byte gSpriteAffineAnim_8591EA0 + .4byte gSpriteAffineAnim_8591E88 + .4byte gSpriteAffineAnim_8591E70 + .4byte gSpriteAffineAnim_8591DF8 + .4byte gSpriteAffineAnim_8591E10 + .4byte gSpriteAffineAnim_8591E28 + .4byte gSpriteAffineAnim_8591E40 + .4byte gSpriteAffineAnim_8591F18 + .4byte gSpriteAffineAnim_8591F60 + .4byte gSpriteAffineAnim_8591F48 + .4byte gSpriteAffineAnim_8591F30 + .4byte gSpriteAffineAnim_8591EB8 + .4byte gSpriteAffineAnim_8591ED0 + .4byte gSpriteAffineAnim_8591EE8 + .4byte gSpriteAffineAnim_8591F00 + + .align 2 gUnknown_08591FC8:: @ 8591FC8 - .incbin "baserom.gba", 0x591fc8, 0x18 + spr_template 0x1300, 0xffff, gOamData_8591D48, gSpriteAnimTable_8591DB0, NULL, gSpriteAffineAnimTable_8591F78, sub_80FBAE4 + .align 2 gUnknown_08591FE0:: @ 8591FE0 - .incbin "baserom.gba", 0x591fe0, 0x18 + spr_template 0x1300, 0xffff, gOamData_8591D50, gSpriteAnimTable_8591DB4, NULL, gSpriteAffineAnimTable_8591F78, sub_80FBAE4 gUnknown_08591FF8:: @ 8591FF8 - .incbin "baserom.gba", 0x591ff8, 0x10 + .byte 0xff, 0xff, 0xff, 0xff, 0x27, 0x26, 0x12, 0x13, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff gUnknown_08592008:: @ 8592008 - .incbin "baserom.gba", 0x592008, 0x10 + .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x17, 0x16, 0x22, 0x23, 0xff, 0xff, 0xff, 0xff gUnknown_08592018:: @ 8592018 - .incbin "baserom.gba", 0x592018, 0x10 + .byte 0xff, 0x11, 0xff, 0xff, 0xff, 0x10, 0xff, 0xff, 0xff, 0x24, 0xff, 0xff, 0xff, 0x25, 0xff, 0xff gUnknown_08592028:: @ 8592028 - .incbin "baserom.gba", 0x592028, 0x10 + .byte 0xff, 0xff, 0x21, 0xff, 0xff, 0xff, 0x20, 0xff, 0xff, 0xff, 0x14, 0xff, 0xff, 0xff, 0x15, 0xff gUnknown_08592038:: @ 8592038 - .incbin "baserom.gba", 0x592038, 0x20 + .byte 0x00, 0xff, 0x00, 0x00, 0x01, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x00 gUnknown_08592058:: @ 8592058 - .incbin "baserom.gba", 0x592058, 0x20 + .byte 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00 gUnknown_08592078:: @ 8592078 - .incbin "baserom.gba", 0x592078, 0x60 + .byte 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00 + .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00 + diff --git a/data/roulette.s b/data/roulette.s new file mode 100644 index 0000000000..3cb412084b --- /dev/null +++ b/data/roulette.s @@ -0,0 +1,928 @@ + + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 1 +gUnknown_085B5BFC:: @ 85B5BFC + .incbin "graphics/roulette/85B5BFC.gbapal" + + .align 2 +gUnknown_085B5DFC:: @ 85B5DFC + .incbin "graphics/roulette/85B5DFC.bin.lz" + + .align 2 +gUnknown_085B5FA0:: @ 85B5FA0 + .incbin "graphics/roulette/wheel_map.bin.lz" + + .align 2 +gUnknown_085B6140:: @ 85B6140 + .4byte 0x000001f8, 0x00001241, 0x00002a66 + + .align 2 +gUnknown_085B614C:: @ 85B614C + window_template 0x00, 0x03, 0x0f, 0x18, 0x04, 0x0f, 0x00c5 + + .align 2 +gUnknown_085B6154:: @ 85B6154 + .byte 0xFF, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x0C, 0x14, 0x00, 0x11, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x42, 0x08, 0x01, 0x00, 0x00, 0xE0, 0x00, 0x00 + .byte 0x0D, 0x24, 0x00, 0x14, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x84, 0x10, 0x02, 0x00, 0x00, 0xE0, 0x00, 0x00 + .byte 0x0E, 0x34, 0x00, 0x17, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x21, 0x04, 0x00, 0x00, 0xE0, 0x00, 0x00 + .byte 0x0F, 0x44, 0x00, 0x1A, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x42, 0x08, 0x00, 0x00, 0xE0, 0x00, 0x00 + .byte 0x10, 0x03, 0x01, 0x0E, 0x0A, 0x00, 0x0C, 0x00, 0x20, 0x00, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x49, 0x02, 0x00, 0x00 + .byte 0x00, 0x1C, 0x01, 0x11, 0x0A, 0x03, 0x03, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00 + .byte 0x09, 0x2C, 0x01, 0x14, 0x0A, 0x03, 0x03, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00 + .byte 0x06, 0x3C, 0x01, 0x17, 0x0A, 0x03, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x20, 0x00, 0x00 + .byte 0x03, 0x4C, 0x01, 0x1A, 0x0A, 0x03, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00 + .byte 0x11, 0x03, 0x02, 0x0E, 0x0D, 0x03, 0x0F, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00 + .byte 0x04, 0x1C, 0x02, 0x11, 0x0D, 0x06, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00 + .byte 0x01, 0x2C, 0x02, 0x14, 0x0D, 0x06, 0x06, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00 + .byte 0x0A, 0x3C, 0x02, 0x17, 0x0D, 0x06, 0x06, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00 + .byte 0x07, 0x4C, 0x02, 0x1A, 0x0D, 0x06, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00 + .byte 0x12, 0x03, 0x03, 0x0E, 0x10, 0x06, 0x12, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x00, 0x24, 0x09, 0x00, 0x00 + .byte 0x08, 0x1C, 0x03, 0x11, 0x10, 0x09, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x21, 0x00, 0x00 + .byte 0x05, 0x2C, 0x03, 0x14, 0x10, 0x09, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x20, 0x20, 0x00, 0x00 + .byte 0x02, 0x3C, 0x03, 0x17, 0x10, 0x09, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x20, 0x00, 0x00 + .byte 0x0B, 0x4C, 0x03, 0x1A, 0x10, 0x09, 0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x28, 0x00, 0x00 + + .align 2 +gUnknown_085B62E4:: @ 85B62E4 + .byte 0, 1, 6, 0, 64, 0, 0, 0 + .byte 1, 3, 12, 0, 0, 16, 0, 0 + .byte 2, 5, 18, 0, 0, 0, 4, 0 + .byte 3, 7, 9, 0, 0, 2, 0, 0 + .byte 4, 9, 11, 0, 0, 8, 0, 0 + .byte 5, 11, 17, 0, 0, 0, 2, 0 + .byte 6, 13, 8, 0, 0, 1, 0, 0 + .byte 7, 15, 14, 0, 0, 64, 0, 0 + .byte 8, 17, 16, 0, 0, 0, 1, 0 + .byte 9, 19, 7, 0, 128, 0, 0, 0 + .byte 10, 21, 13, 0, 0, 32, 0, 0 + .byte 11, 23, 19, 0, 0, 0, 8, 0 + +gUnknown_085B6344:: @ 85B6344 + .byte 1, 3 + .byte 1, 6 + + .align 2 +gUnknown_085B6348:: @ 85B6348 + .byte 0x01, 0x3C, 0x1E, 0x01, 0x01, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x1E, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x1B, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x68, 0x01, 0x00, 0x00, 0x00, 0xBF + .byte 0x03, 0x1E, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x3C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x30, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x0E, 0x01, 0x00, 0x00, 0x80, 0xBF + + .align 2 +gUnknown_085B6388:: @ 85B6388 + .byte 0x00, 0x80, 0x05, 0x00, 0x01, 0x01, 0xFF, 0x48 + .byte 0x00, 0x80, 0x0A, 0x00, 0x01, 0x01, 0xFF, 0x48 + .byte 0x00, 0x80, 0x15, 0x00, 0x01, 0x01, 0xFF, 0x48 + .byte 0x00, 0x80, 0x55, 0x00, 0x01, 0x01, 0xFF, 0x48 + .byte 0x00, 0x80, 0x5A, 0x00, 0x01, 0x01, 0xFF, 0x48 + .byte 0x00, 0x80, 0x65, 0x00, 0x01, 0x01, 0xFF, 0x48 + .byte 0x00, 0x80, 0x75, 0x00, 0x01, 0x01, 0xFF, 0x48 + .byte 0x00, 0x80, 0x7A, 0x00, 0x01, 0x01, 0xFF, 0x48 + .byte 0x00, 0x80, 0x85, 0x00, 0x01, 0x01, 0xFF, 0x48 + .byte 0x00, 0x80, 0x95, 0x00, 0x01, 0x01, 0xFF, 0x48 + .byte 0x00, 0x80, 0x9A, 0x00, 0x01, 0x01, 0xFF, 0x48 + .byte 0x00, 0x80, 0xA5, 0x00, 0x01, 0x01, 0xFF, 0x48 + .byte 0xD6, 0x77, 0x28, 0x00, 0x02, 0x0A, 0xFF, 0x4E + + .align 1 +gUnknown_085B63F0:: @ 85B63F0 + .2byte 0x53FF + .2byte 0x0101 + .2byte 0x1E05 + .2byte 0x4EFF + .2byte 0x7FFB + .2byte 0x0106 + .2byte 0x1E05 + .2byte 0x4EFF + .2byte 0x7F7F + .2byte 0x010B + .2byte 0x1E05 + .2byte 0x4EFF + + .align 2 +gUnknown_085B6408:: @ 85B6408 + .4byte sub_8142918 + .4byte sub_814297C + + .align 2 +gUnknown_085B6410:: @ 85B6410 + .4byte sub_8140968 + .4byte sub_8140994 + + .align 1 +gUnknown_085B6418:: @ 85B6418 + .2byte 0x2898 + .2byte 0x1A6A + .2byte 0x2898 + +gUnknown_085B641E:: @ 85B641E + .byte 0xFB, 0x05, 0xFF, 0x01 + + .align 1 +gUnknown_085B6422:: @ 85B6422 + .2byte 0, 180 + .2byte 90, 270 + + .align 2 +gUnknown_085B642C:: @ 85B642C + .4byte 0x10842 + .4byte 0x21084 + .4byte 0x42108 + .4byte 0x84210 + + .align 2 +gUnknown_085B643C:: @ 85B643C + .4byte 0x3E0 + .4byte 0x7C00 + .4byte 0xF8000 + +gUnknown_085B6448:: @ 85B6448 + .byte 0, 3, 4, 6, 12 + + .align 2 +RouletteSpritePalette_01: @ 85B6450 + .incbin "graphics/roulette/shadow.gbapal" + + .align 2 +RouletteSpritePalette_02: @ 85B6470 + .incbin "graphics/roulette/ball.gbapal" + + .align 2 +RouletteSpritePalette_03: @ 85B6490 + .incbin "graphics/roulette/ball_counter.gbapal" + + .align 2 +RouletteSpritePalette_04: @ 85B64B0 + .incbin "graphics/roulette/cursor.gbapal" + + .align 2 +RouletteSpritePalette_05: @ 85B64D0 + .incbin "graphics/roulette/credit.gbapal" + + .align 2 +RouletteSpritePalette_06: @ 85B64F0 + .incbin "graphics/roulette/shroomish.gbapal" + + .align 2 +RouletteSpritePalette_07: @ 85B6510 + .incbin "graphics/roulette/tailow.gbapal" + + .align 2 +RouletteSpritePalette_08: @ 85B6530 + .incbin "graphics/roulette/poke_icons.gbapal" + + .align 2 +RouletteSpritePalette_09: @ 85B6550 + .incbin "graphics/roulette/wynaut.gbapal" + + .align 2 +RouletteSpritePalette_10: @ 85B6570 + .incbin "graphics/roulette/azurill.gbapal" + + .align 2 +RouletteSpritePalette_11: @ 85B6590 + .incbin "graphics/roulette/skitty.gbapal" + + .align 2 +RouletteSpritePalette_12: @ 85B65B0 + .incbin "graphics/roulette/makuhita.gbapal" + + .align 2 +RouletteSpritePalette_13: @ 85B65D0 + .incbin "graphics/roulette/85B65D0.gbapal" + + .align 2 +RouletteSpritePalette_14: @ 85B65F0 + .incbin "graphics/roulette/85B65F0.gbapal" + + .align 2 +RouletteSpritePalette_15: @ 85B6610 + .incbin "graphics/roulette/85B6610.gbapal" + + .align 2 +RouletteSpritePalette_16: @ 85B6630 + .incbin "graphics/roulette/85B6630.gbapal" + + .align 2 +gUnknown_085B6650:: @ 85B6650 + .incbin "graphics/roulette/ball.4bpp.lz" + + .align 2 +RouletteBallCounterTiles: @ 85B6798 + .incbin "graphics/roulette/ball_counter.4bpp.lz" + + .align 2 +gUnknown_085B67FC:: @ 85B67FC + .incbin "graphics/roulette/roulette_tilt.4bpp.lz" + + .align 2 +RoulettePokeIconsTiles: @ 85B6BEC + .incbin "graphics/roulette/poke_icons.4bpp.lz" + + .align 2 +RoulettePokeIcons2Tiles: @ 85B6D90 + .incbin "graphics/roulette/poke_icons2.4bpp.lz" + + .align 2 +gUnknown_085B7290:: @ 85B7290 + .incbin "graphics/roulette/shadow.4bpp.lz" + + .align 2 +RouletteCursorTiles: @ 85B7328 + .incbin "graphics/roulette/cursor.4bpp.lz" + + .align 2 +gUnknown_085B7384:: @ 85B7384 + obj_pal RouletteSpritePalette_01, 1 + obj_pal RouletteSpritePalette_02, 2 + obj_pal RouletteSpritePalette_03, 3 + obj_pal RouletteSpritePalette_04, 4 + obj_pal RouletteSpritePalette_05, 5 + obj_pal RouletteSpritePalette_06, 6 + obj_pal RouletteSpritePalette_07, 7 + obj_pal RouletteSpritePalette_08, 8 + obj_pal RouletteSpritePalette_09, 9 + obj_pal RouletteSpritePalette_10, 10 + obj_pal RouletteSpritePalette_11, 11 + obj_pal RouletteSpritePalette_12, 12 + null_obj_pal + + .align 2 +gOamData_85B73EC:: @ 85B73EC + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gOamData_85B73F4:: @ 85B73F4 + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0400 + + .align 2 +gOamData_85B73FC:: @ 85B73FC + .2byte 0x833C + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gSpriteAnim_85B7404:: @ 85B7404 + obj_image_anim_frame 0, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_85B740C:: @ 85B740C + .4byte gSpriteAnim_85B7404 + + .align 2 +gSpriteAffineAnim_85B7410:: @ 85B7410 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_85B7418:: @ 85B7418 + .4byte gSpriteAffineAnim_85B7410 + + .align 2 +gUnknown_085B741C:: @ 85B741C + obj_tiles RoulettePokeIcons2Tiles, 0xC00, 0 + + .align 2 +gSpriteAnim_85B7420:: @ 85B7420 + obj_image_anim_frame 0, 0 + obj_image_anim_frame 32, 0 + obj_image_anim_frame 64, 0 + obj_image_anim_frame 72, 0 + obj_image_anim_frame 8, 0 + obj_image_anim_frame 40, 0 + obj_image_anim_frame 48, 0 + obj_image_anim_frame 80, 0 + obj_image_anim_frame 16, 0 + obj_image_anim_frame 24, 0 + obj_image_anim_frame 56, 0 + obj_image_anim_frame 88, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_85B7458:: @ 85B7458 + .4byte gSpriteAnim_85B7420 + + .align 2 +gSpriteAnimTable_85B745C:: @ 85B745C + .4byte gSpriteAnim_85B7420 + 0x4 + + .align 2 +gSpriteAnimTable_85B7460:: @ 85B7460 + .4byte gSpriteAnim_85B7420 + 0x8 + + .align 2 +gSpriteAnimTable_85B7464:: @ 85B7464 + .4byte gSpriteAnim_85B7420 + 0xC + + .align 2 +gSpriteAnimTable_85B7468:: @ 85B7468 + .4byte gSpriteAnim_85B7420 + 0x10 + + .align 2 +gSpriteAnimTable_85B746C:: @ 85B746C + .4byte gSpriteAnim_85B7420 + 0x14 + + .align 2 +gSpriteAnimTable_85B7470:: @ 85B7470 + .4byte gSpriteAnim_85B7420 + 0x18 + + .align 2 +gSpriteAnimTable_85B7474:: @ 85B7474 + .4byte gSpriteAnim_85B7420 + 0x1C + + .align 2 +gSpriteAnimTable_85B7478:: @ 85B7478 + .4byte gSpriteAnim_85B7420 + 0x20 + + .align 2 +gSpriteAnimTable_85B747C:: @ 85B747C + .4byte gSpriteAnim_85B7420 + 0x24 + + .align 2 +gSpriteAnimTable_85B7480:: @ 85B7480 + .4byte gSpriteAnim_85B7420 + 0x28 + + .align 2 +gSpriteAnimTable_85B7484:: @ 85B7484 + .4byte gSpriteAnim_85B7420 + 0x2C + + .align 2 +gUnknown_085B7488:: @ 85B7488 + obj_tiles gRouletteHeadersTiles, 0x1600, 4 + + .align 2 +gUnknown_085B7490:: @ 85B7490 + obj_tiles RoulettePokeIconsTiles, 0x400, 5 + + .align 2 +gSpriteAnim_85B7498:: @ 85B7498 + obj_image_anim_frame 0, 0 + obj_image_anim_frame 16, 0 + obj_image_anim_frame 32, 0 + obj_image_anim_frame 48, 0 + obj_image_anim_frame 64, 0 + obj_image_anim_frame 80, 0 + obj_image_anim_frame 96, 0 + obj_image_anim_frame 112, 0 + obj_image_anim_frame 128, 0 + obj_image_anim_frame 144, 0 + obj_image_anim_frame 160, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_85B74C8:: @ 85B74C8 + obj_image_anim_frame 0, 0 + obj_image_anim_frame 4, 0 + obj_image_anim_frame 8, 0 + obj_image_anim_frame 12, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_85B74DC:: @ 85B74DC + .4byte gSpriteAnim_85B7498 + + .align 2 +gSpriteAnimTable_85B74E0:: @ 85B74E0 + .4byte gSpriteAnim_85B7498 + 0x8 + + .align 2 +gSpriteAnimTable_85B74E4:: @ 85B74E4 + .4byte gSpriteAnim_85B7498 + 0x10 + + .align 2 +gSpriteAnimTable_85B74E8:: @ 85B74E8 + .4byte gSpriteAnim_85B7498 + 0x18 + + .align 2 +gSpriteAnimTable_85B74EC:: @ 85B74EC + .4byte gSpriteAnim_85B7498 + 0x20 + + .align 2 +gSpriteAnimTable_85B74F0:: @ 85B74F0 + .4byte gSpriteAnim_85B7498 + 0x24 + + .align 2 +gSpriteAnimTable_85B74F4:: @ 85B74F4 + .4byte gSpriteAnim_85B7498 + 0x28 + + .align 2 +gSpriteAnimTable_85B74F8:: @ 85B74F8 + .4byte gSpriteAnim_85B74C8 + + .align 2 +gSpriteAnimTable_85B74FC:: @ 85B74FC + .4byte gSpriteAnim_85B74C8 + 0x4 + + .align 2 +gSpriteAnimTable_85B7500:: @ 85B7500 + .4byte gSpriteAnim_85B74C8 + 0x8 + + .align 2 +gSpriteAnimTable_85B7504:: @ 85B7504 + .4byte gSpriteAnim_85B74C8 + 0xC + + .align 2 +gSpriteTemplate_85B7508:: @ 85B7508 + spr_template 4, 8, gOamData_85B73EC, gSpriteAnimTable_85B74DC, NULL, gDummySpriteAffineAnimTable, sub_814390C + + .align 2 +gSpriteTemplate_85B7520:: @ 85B7520 + spr_template 4, 8, gOamData_85B73EC, gSpriteAnimTable_85B74E0, NULL, gDummySpriteAffineAnimTable, sub_814390C + + .align 2 +gSpriteTemplate_85B7538:: @ 85B7538 + spr_template 4, 8, gOamData_85B73EC, gSpriteAnimTable_85B74E4, NULL, gDummySpriteAffineAnimTable, sub_814390C + + .align 2 +gSpriteTemplate_85B7550:: @ 85B7550 + spr_template 4, 8, gOamData_85B73EC, gSpriteAnimTable_85B74E8, NULL, gDummySpriteAffineAnimTable, sub_814390C + + .align 2 +gSpriteTemplate_85B7568:: @ 85B7568 + spr_template 4, 8, gOamData_85B73EC, gSpriteAnimTable_85B74EC, NULL, gDummySpriteAffineAnimTable, sub_814390C + + .align 2 +gSpriteTemplate_85B7580:: @ 85B7580 + spr_template 4, 8, gOamData_85B73EC, gSpriteAnimTable_85B74F0, NULL, gDummySpriteAffineAnimTable, sub_814390C + + .align 2 +gSpriteTemplate_85B7598:: @ 85B7598 + spr_template 4, 8, gOamData_85B73EC, gSpriteAnimTable_85B74F4, NULL, gDummySpriteAffineAnimTable, sub_814390C + + .align 2 +gSpriteTemplate_85B75B0:: @ 85B75B0 + spr_template 5, 8, gOamData_85B73F4, gSpriteAnimTable_85B74F8, NULL, gDummySpriteAffineAnimTable, sub_814390C + + .align 2 +gSpriteTemplate_85B75C8:: @ 85B75C8 + spr_template 5, 8, gOamData_85B73F4, gSpriteAnimTable_85B74FC, NULL, gDummySpriteAffineAnimTable, sub_814390C + + .align 2 +gSpriteTemplate_85B75E0:: @ 85B75E0 + spr_template 5, 8, gOamData_85B73F4, gSpriteAnimTable_85B7500, NULL, gDummySpriteAffineAnimTable, sub_814390C + + .align 2 +gSpriteTemplate_85B75F8:: @ 85B75F8 + spr_template 5, 8, gOamData_85B73F4, gSpriteAnimTable_85B7504, NULL, gDummySpriteAffineAnimTable, sub_814390C + + .align 2 +gSpriteTemplate_85B7610:: @ 85B7610 + spr_template 0, 9, gOamData_85B73FC, gSpriteAnimTable_85B7458, NULL, gDummySpriteAffineAnimTable, sub_8143280 + + .align 2 +gSpriteTemplate_85B7628:: @ 85B7628 + spr_template 0, 10, gOamData_85B73FC, gSpriteAnimTable_85B745C, NULL, gDummySpriteAffineAnimTable, sub_8143280 + + .align 2 +gSpriteTemplate_85B7640:: @ 85B7640 + spr_template 0, 11, gOamData_85B73FC, gSpriteAnimTable_85B7460, NULL, gDummySpriteAffineAnimTable, sub_8143280 + + .align 2 +gSpriteTemplate_85B7658:: @ 85B7658 + spr_template 0, 12, gOamData_85B73FC, gSpriteAnimTable_85B7464, NULL, gDummySpriteAffineAnimTable, sub_8143280 + + .align 2 +gSpriteTemplate_85B7670:: @ 85B7670 + spr_template 0, 9, gOamData_85B73FC, gSpriteAnimTable_85B7468, NULL, gDummySpriteAffineAnimTable, sub_8143280 + + .align 2 +gSpriteTemplate_85B7688:: @ 85B7688 + spr_template 0, 10, gOamData_85B73FC, gSpriteAnimTable_85B746C, NULL, gDummySpriteAffineAnimTable, sub_8143280 + + .align 2 +gSpriteTemplate_85B76A0:: @ 85B76A0 + spr_template 0, 11, gOamData_85B73FC, gSpriteAnimTable_85B7470, NULL, gDummySpriteAffineAnimTable, sub_8143280 + + .align 2 +gSpriteTemplate_85B76B8:: @ 85B76B8 + spr_template 0, 12, gOamData_85B73FC, gSpriteAnimTable_85B7474, NULL, gDummySpriteAffineAnimTable, sub_8143280 + + .align 2 +gSpriteTemplate_85B76D0:: @ 85B76D0 + spr_template 0, 9, gOamData_85B73FC, gSpriteAnimTable_85B7478, NULL, gDummySpriteAffineAnimTable, sub_8143280 + + .align 2 +gSpriteTemplate_85B76E8:: @ 85B76E8 + spr_template 0, 10, gOamData_85B73FC, gSpriteAnimTable_85B747C, NULL, gDummySpriteAffineAnimTable, sub_8143280 + + .align 2 +gSpriteTemplate_85B7700:: @ 85B7700 + spr_template 0, 11, gOamData_85B73FC, gSpriteAnimTable_85B7480, NULL, gDummySpriteAffineAnimTable, sub_8143280 + + .align 2 +gSpriteTemplate_85B7718:: @ 85B7718 + spr_template 0, 12, gOamData_85B73FC, gSpriteAnimTable_85B7484, NULL, gDummySpriteAffineAnimTable, sub_8143280 + + .align 2 +gOamData_85B7730:: @ 85B7730 + .2byte 0x4000 + .2byte 0xC000 + .2byte 0x0400 + + .align 2 +gOamData_85B7738:: @ 85B7738 + .2byte 0x8000 + .2byte 0x0000 + .2byte 0x0400 + + .align 2 +gOamData_85B7740:: @ 85B7740 + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gOamData_85B7748:: @ 85B7748 + .2byte 0x4000 + .2byte 0x0000 + .2byte 0x0400 + + .align 2 +gUnknown_085B7750:: @ 85B7750 + obj_tiles gRouletteCreditTiles, 0x400, 7 + obj_tiles gRouletteNumbersTiles, 0x280, 8 + obj_tiles gRouletteMultiplierTiles, 0x500, 9 + obj_tiles RouletteBallCounterTiles, 0x140, 10 + obj_tiles RouletteCursorTiles, 0x200, 11 + null_obj_tiles + + .align 2 +gSpriteAnim_85B7780:: @ 85B7780 + obj_image_anim_frame 0, 0 + obj_image_anim_frame 2, 0 + obj_image_anim_frame 4, 0 + obj_image_anim_frame 6, 0 + obj_image_anim_frame 8, 0 + obj_image_anim_frame 10, 0 + obj_image_anim_frame 12, 0 + obj_image_anim_frame 14, 0 + obj_image_anim_frame 16, 0 + obj_image_anim_frame 18, 0 + + .align 2 +gSpriteAnimTable_85B77A8:: @ 85B77A8 + .4byte gSpriteAnim_85B7780 + + .align 2 +gSpriteAnim_85B77AC:: @ 85B77AC + obj_image_anim_frame 0, 0 + obj_image_anim_frame 8, 0 + obj_image_anim_frame 16, 0 + obj_image_anim_frame 24, 0 + obj_image_anim_frame 32, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_85B77C4:: @ 85B77C4 + .4byte gSpriteAnim_85B77AC + + .align 2 +gSpriteAnim_85B77C8:: @ 85B77C8 + obj_image_anim_frame 0, 0 + obj_image_anim_frame 2, 0 + obj_image_anim_frame 4, 0 + obj_image_anim_frame 6, 0 + obj_image_anim_frame 8, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_85B77E0:: @ 85B77E0 + .4byte gSpriteAnim_85B77C8 + + .align 2 +gSpriteTemplate_85B77E4:: @ 85B77E4 + spr_template 7, 5, gOamData_85B7730, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gUnknown_085B77FC:: @ 85B77FC + spr_template 8, 5, gOamData_85B7738, gSpriteAnimTable_85B77A8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gUnknown_085B7814:: @ 85B7814 + spr_template 9, 5, gOamData_85B7740, gSpriteAnimTable_85B77C4, NULL, gDummySpriteAffineAnimTable, sub_814390C + + .align 2 +gUnknown_085B782C:: @ 85B782C + spr_template 10, 3, gOamData_85B7748, gSpriteAnimTable_85B77E0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gUnknown_085B7844:: @ 85B7844 + spr_template 11, 5, gOamData_85B73EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gOamData_85B785C:: @ 85B785C + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gUnknown_085B7864:: @ 85B7864 + obj_tiles gUnknown_085B6650, 0x200, 0xC + + .align 2 +gSpriteAnim_85B786C:: @ 85B786C + obj_image_anim_frame 0, 5 + obj_image_anim_frame 4, 5 + obj_image_anim_frame 8, 5 + obj_image_anim_frame 4, 5 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_85B7880:: @ 85B7880 + obj_image_anim_frame 0, 10 + obj_image_anim_frame 4, 10 + obj_image_anim_frame 8, 10 + obj_image_anim_frame 4, 10 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_85B7894:: @ 85B7894 + obj_image_anim_frame 0, 15 + obj_image_anim_frame 4, 15 + obj_image_anim_frame 8, 15 + obj_image_anim_frame 4, 15 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_85B78A8:: @ 85B78A8 + obj_image_anim_frame 4, 2 + obj_image_anim_frame 8, 5 + obj_image_anim_frame 4, 5 + obj_image_anim_frame 12, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_85B78BC:: @ 85B78BC + obj_image_anim_frame 4, 2 + obj_image_anim_frame 0, 4 + obj_image_anim_frame 4, 4 + obj_image_anim_frame 8, 4 + obj_image_anim_frame 12, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_85B78D4:: @ 85B78D4 + obj_image_anim_frame 0, 2 + obj_image_anim_frame 4, 5 + obj_image_anim_frame 8, 5 + obj_image_anim_frame 12, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_85B78E8:: @ 85B78E8 + obj_image_anim_frame 12, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_85B78F0:: @ 85B78F0 + obj_image_anim_frame 8, 2 + obj_image_anim_frame 4, 5 + obj_image_anim_frame 0, 5 + obj_image_anim_frame 12, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_85B7904:: @ 85B7904 + .4byte gSpriteAnim_85B786C + .4byte gSpriteAnim_85B7880 + .4byte gSpriteAnim_85B7894 + .4byte gSpriteAnim_85B78A8 + .4byte gSpriteAnim_85B78F0 + .4byte gSpriteAnim_85B78BC + .4byte gSpriteAnim_85B78D4 + .4byte gSpriteAnim_85B78D4 + .4byte gSpriteAnim_85B78E8 + + .align 2 +gSpriteTemplate_85B7928:: @ 85B7928 + spr_template 12, 2, gOamData_85B785C, gSpriteAnimTable_85B7904, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gOamData_85B7940:: @ 85B7940 + .2byte 0x0351 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gUnknown_085B7948:: @ 85B7948 + obj_tiles gRouletteCenter_Gfx, 2048, 0x0006 + + .align 2 +gSpriteTemplate_85B7950:: @ 85B7950 + spr_template 6, 2, gOamData_85B7940, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_814399C + + .align 2 +gOamData_85B7968:: @ 85B7968 + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_85B7970:: @ 85B7970 + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gUnknown_085B7978:: @ 85B7978 + obj_tiles gUnknown_085B67FC, 0xE00, 0x000D + + .align 2 +gSpriteAnim_85B7980:: @ 85B7980 + obj_image_anim_frame 0x00, 6 + obj_image_anim_frame 0x10, 6 + obj_image_anim_frame 0x20, 6 + obj_image_anim_frame 0x30, 6 + obj_image_anim_frame 0x20, 6 + obj_image_anim_frame 0x40, 6 + obj_image_anim_jump 2 + + .align 2 +gSpriteAnim_85B799C:: @ 85B799C + obj_image_anim_frame 0x50, 10 + obj_image_anim_end + + .align 2 +gSpriteAnim_85B79A4:: @ 85B79A4 + obj_image_anim_frame 0x50, 10, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_85B79AC:: @ 85B79AC + obj_image_anim_frame 0x50, 20 + obj_image_anim_frame 0x60, 20 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_85B79B8:: @ 85B79B8 + obj_image_anim_frame 0x50, 20, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 0x60, 20, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_85B79C4:: @ 85B79C4 + obj_image_anim_frame 0x50, 10 + obj_image_anim_frame 0x60, 10 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_85B79D0:: @ 85B79D0 + obj_image_anim_frame 0x50, 10, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 0x60, 10, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_85B79DC:: @ 85B79DC + .4byte gSpriteAnim_85B7980 + + .align 2 +gSpriteAnimTable_85B79E0:: @ 85B79E0 + .4byte gSpriteAnim_85B799C + .4byte gSpriteAnim_85B79A4 + .4byte gSpriteAnim_85B79AC + .4byte gSpriteAnim_85B79B8 + .4byte gSpriteAnim_85B79C4 + .4byte gSpriteAnim_85B79D0 + + .align 2 +gSpriteTemplate_85B79F8:: @ 85B79F8 + spr_template 13, 6, gOamData_85B7968, gSpriteAnimTable_85B79DC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_85B7A10:: @ 85B7A10 + spr_template 13, 7, gOamData_85B7970, gSpriteAnimTable_85B79E0, NULL, gDummySpriteAffineAnimTable, sub_8145294 + + .align 2 +gOamData_85B7A28:: @ 85B7A28 + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gOamData_85B7A30:: @ 85B7A30 + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_85B7A38:: @ 85B7A38 + .2byte 0x4100 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gUnknown_085B7A40:: @ 85B7A40 + obj_tiles gUnknown_085B7290, 0x180, 0x000E + + .align 2 +gSpriteAffineAnim_85B7A48:: @ 85B7A48 + obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 + obj_rot_scal_anim_frame 0x2, 0x2, 0, 60 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_85B7A60:: @ 85B7A60 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0xFFFE, 0x0, 0, 15 + obj_rot_scal_anim_frame 0xFFFF, 0xFFFE, 0, 15 + obj_rot_scal_anim_frame 0xFFFF, 0xFFFB, 0, 24 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_85B7A88:: @ 85B7A88 + .4byte gSpriteAffineAnim_85B7A48 + + .align 2 +gSpriteAffineAnimTable_85B7A8C:: @ 85B7A8C + .4byte gSpriteAffineAnim_85B7A60 + + .align 2 +gSpriteAffineAnim_85B7A90:: @ 85B7A90 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_85B7AA0:: @ 85B7AA0 + .4byte gSpriteAffineAnim_85B7A90 + + .align 2 +gSpriteAnim_85B7AA4:: @ 85B7AA4 + obj_image_anim_frame 0, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_85B7AAC:: @ 85B7AAC + obj_image_anim_frame 4, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_85B7AB4:: @ 85B7AB4 + .4byte gSpriteAnim_85B7AA4 + + .align 2 +gSpriteAnimTable_85B7AB8:: @ 85B7AB8 + .4byte gSpriteAnim_85B7AAC + + .align 2 +gSpriteTemplate_85B7ABC:: @ 85B7ABC + spr_template 14, 1, gOamData_85B7A28, gSpriteAnimTable_85B7AB4, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83FA5D8:: @ 83FA5D8 + spr_template 14, 1, gOamData_85B7A30, gSpriteAnimTable_85B7AB8, NULL, gDummySpriteAffineAnimTable, sub_8144E60 + + .align 2 +gUnknown_085B7AEC:: @ 85B7AEC + spr_template 14, 1, gOamData_85B7A38, gSpriteAnimTable_85B7AB8, NULL, gSpriteAffineAnimTable_85B7A8C, sub_8145294 + +gUnknown_085B7B04:: @ 85B7B04 + .byte 0, 1, 2, 3, 4 + + .align 1 +gUnknown_085B7B0A:: @ 85B7B0A + .2byte 0x74, 0x2C + .2byte 0x74, 0x70 + + .align 1 +gUnknown_085B7B12:: @ 85B7B12 + .2byte 256, 84 + .2byte -16, 84 + + .align 1 +gUnknown_085B7B1A:: @ 85B7B1A + .2byte 0x907 + .2byte 0x808 + .2byte 0x709 + .2byte 0x60A + .2byte 0x50B + .2byte 0x40C + .2byte 0x30D + .2byte 0x20E + .2byte 0x10F + .2byte 0x10 + + .align 1 +gUnknown_085B7B2E:: @ 85B7B2E + .2byte -1, 0, 1, 0 + .2byte -2, 0, 2, 0 + .2byte -3, 0, 3, 0 + +gUnknown_085B7B46:: @ 85B7B46 + .byte -1, 1 + +gUnknown_085B7B48:: @ 85B7B48 + .byte 2, 0 + .byte 2, 0 + .byte 2, -1 + .byte 2, -1 + .byte 2, -1 + .byte 2, -1 + .byte 2, -2 + .byte 2, -2 diff --git a/data/save.s b/data/save.s deleted file mode 100644 index 29b750b3ad..0000000000 --- a/data/save.s +++ /dev/null @@ -1,7 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -gSaveSectionOffsets:: @ 85CDC00 - .incbin "baserom.gba", 0x5cdc00, 0x38 diff --git a/data/script_cmd_table.inc b/data/script_cmd_table.inc new file mode 100644 index 0000000000..07b22dda2e --- /dev/null +++ b/data/script_cmd_table.inc @@ -0,0 +1,232 @@ + .align 2 +gScriptCmdTable:: @ 81DB67C + .4byte ScrCmd_nop + .4byte ScrCmd_nop1 + .4byte ScrCmd_end + .4byte ScrCmd_return + .4byte ScrCmd_call + .4byte ScrCmd_goto + .4byte ScrCmd_goto_if + .4byte ScrCmd_call_if + .4byte ScrCmd_gotostd + .4byte ScrCmd_callstd + .4byte ScrCmd_gotostd_if + .4byte ScrCmd_callstd_if + .4byte ScrCmd_gotoram + .4byte ScrCmd_killscript + .4byte ScrCmd_setmysteryeventstatus + .4byte ScrCmd_loadword + .4byte ScrCmd_loadbyte + .4byte ScrCmd_writebytetoaddr + .4byte ScrCmd_loadbytefromaddr + .4byte ScrCmd_setptrbyte + .4byte ScrCmd_copylocal + .4byte ScrCmd_copybyte + .4byte ScrCmd_setvar + .4byte ScrCmd_addvar + .4byte ScrCmd_subvar + .4byte ScrCmd_copyvar + .4byte ScrCmd_setorcopyvar + .4byte ScrCmd_compare_local_to_local + .4byte ScrCmd_compare_local_to_value + .4byte ScrCmd_compare_local_to_addr + .4byte ScrCmd_compare_addr_to_local + .4byte ScrCmd_compare_addr_to_value + .4byte ScrCmd_compare_addr_to_addr + .4byte ScrCmd_compare_var_to_value + .4byte ScrCmd_compare_var_to_var + .4byte ScrCmd_callnative + .4byte ScrCmd_gotonative + .4byte ScrCmd_special + .4byte ScrCmd_specialvar + .4byte ScrCmd_waitstate + .4byte ScrCmd_delay + .4byte ScrCmd_setflag + .4byte ScrCmd_clearflag + .4byte ScrCmd_checkflag + .4byte ScrCmd_initclock + .4byte ScrCmd_dodailyevents + .4byte ScrCmd_gettime + .4byte ScrCmd_playse + .4byte ScrCmd_waitse + .4byte ScrCmd_playfanfare + .4byte ScrCmd_waitfanfare + .4byte ScrCmd_playbgm + .4byte ScrCmd_savebgm + .4byte ScrCmd_fadedefaultbgm + .4byte ScrCmd_fadenewbgm + .4byte ScrCmd_fadeoutbgm + .4byte ScrCmd_fadeinbgm + .4byte ScrCmd_warp + .4byte ScrCmd_warpsilent + .4byte ScrCmd_warpdoor + .4byte ScrCmd_warphole + .4byte ScrCmd_warpteleport + .4byte ScrCmd_setwarp + .4byte ScrCmd_setdynamicwarp + .4byte ScrCmd_setdivewarp + .4byte ScrCmd_setholewarp + .4byte ScrCmd_getplayerxy + .4byte ScrCmd_getpartysize + .4byte ScrCmd_giveitem + .4byte ScrCmd_takeitem + .4byte ScrCmd_checkitemspace + .4byte ScrCmd_checkitem + .4byte ScrCmd_checkitemtype + .4byte ScrCmd_givepcitem + .4byte ScrCmd_checkpcitem + .4byte ScrCmd_givedecoration + .4byte ScrCmd_takedecoration + .4byte ScrCmd_checkdecor + .4byte ScrCmd_checkdecorspace + .4byte ScrCmd_applymovement + .4byte ScrCmd_applymovement_at + .4byte ScrCmd_waitmovement + .4byte ScrCmd_waitmovement_at + .4byte ScrCmd_removeobject + .4byte ScrCmd_removeobject_at + .4byte ScrCmd_addobject + .4byte ScrCmd_addobject_at + .4byte ScrCmd_setobjectxy + .4byte ScrCmd_showobject_at + .4byte ScrCmd_hideobject_at + .4byte ScrCmd_faceplayer + .4byte ScrCmd_turnobject + .4byte ScrCmd_trainerbattle + .4byte ScrCmd_dotrainerbattle + .4byte ScrCmd_gotopostbattlescript + .4byte ScrCmd_gotobeatenscript + .4byte ScrCmd_checktrainerflag + .4byte ScrCmd_settrainerflag + .4byte ScrCmd_cleartrainerflag + .4byte ScrCmd_setobjectxyperm + .4byte ScrCmd_moveobjectoffscreen + .4byte ScrCmd_setobjectmovementtype + .4byte ScrCmd_waitmessage + .4byte ScrCmd_message + .4byte ScrCmd_closemessage + .4byte ScrCmd_lockall + .4byte ScrCmd_lock + .4byte ScrCmd_releaseall + .4byte ScrCmd_release + .4byte ScrCmd_waitbuttonpress + .4byte ScrCmd_yesnobox + .4byte ScrCmd_multichoice + .4byte ScrCmd_multichoicedefault + .4byte ScrCmd_multichoicegrid + .4byte ScrCmd_drawbox + .4byte ScrCmd_erasebox + .4byte ScrCmd_drawboxtext + .4byte ScrCmd_showmonpic + .4byte ScrCmd_hidemonpic + .4byte ScrCmd_showcontestwinner + .4byte ScrCmd_braillemessage + .4byte ScrCmd_givemon + .4byte ScrCmd_giveegg + .4byte ScrCmd_setmonmove + .4byte ScrCmd_checkpartymove + .4byte ScrCmd_bufferspeciesname + .4byte ScrCmd_bufferleadmonspeciesname + .4byte ScrCmd_bufferpartymonnick + .4byte ScrCmd_bufferitemname + .4byte ScrCmd_bufferdecorationname + .4byte ScrCmd_buffermovename + .4byte ScrCmd_buffernumberstring + .4byte ScrCmd_bufferstdstring + .4byte ScrCmd_bufferstring + .4byte ScrCmd_pokemart + .4byte ScrCmd_pokemartdecoration + .4byte ScrCmd_pokemartdecoration2 + .4byte ScrCmd_playslotmachine + .4byte ScrCmd_setberrytree + .4byte ScrCmd_choosecontestmon + .4byte ScrCmd_startcontest + .4byte ScrCmd_showcontestresults + .4byte ScrCmd_contestlinktransfer + .4byte ScrCmd_random + .4byte ScrCmd_givemoney + .4byte ScrCmd_takemoney + .4byte ScrCmd_checkmoney + .4byte ScrCmd_showmoneybox + .4byte ScrCmd_hidemoneybox + .4byte ScrCmd_updatemoneybox + .4byte ScrCmd_getpricereduction + .4byte ScrCmd_fadescreen + .4byte ScrCmd_fadescreenspeed + .4byte ScrCmd_setflashradius + .4byte ScrCmd_animateflash + .4byte ScrCmd_messageautoscroll + .4byte ScrCmd_dofieldeffect + .4byte ScrCmd_setfieldeffectarg + .4byte ScrCmd_waitfieldeffect + .4byte ScrCmd_setrespawn + .4byte ScrCmd_checkplayergender + .4byte ScrCmd_playmoncry + .4byte ScrCmd_setmetatile + .4byte ScrCmd_resetweather + .4byte ScrCmd_setweather + .4byte ScrCmd_doweather + .4byte ScrCmd_setstepcallback + .4byte ScrCmd_setmaplayoutindex + .4byte ScrCmd_setobjectpriority + .4byte ScrCmd_resetobjectpriority + .4byte ScrCmd_createvobject + .4byte ScrCmd_turnvobject + .4byte ScrCmd_opendoor + .4byte ScrCmd_closedoor + .4byte ScrCmd_waitdooranim + .4byte ScrCmd_setdooropen + .4byte ScrCmd_setdoorclosed + .4byte ScrCmd_addelevmenuitem + .4byte ScrCmd_showelevmenu + .4byte ScrCmd_checkcoins + .4byte ScrCmd_givecoins + .4byte ScrCmd_takecoins + .4byte ScrCmd_setwildbattle + .4byte ScrCmd_dowildbattle + .4byte ScrCmd_setvaddress + .4byte ScrCmd_vgoto + .4byte ScrCmd_vcall + .4byte ScrCmd_vgoto_if + .4byte ScrCmd_vcall_if + .4byte ScrCmd_vmessage + .4byte ScrCmd_vloadword + .4byte ScrCmd_vbufferstring + .4byte ScrCmd_showcoinsbox + .4byte ScrCmd_hidecoinsbox + .4byte ScrCmd_updatecoinsbox + .4byte ScrCmd_incrementgamestat + .4byte ScrCmd_setescapewarp + .4byte ScrCmd_waitmoncry + .4byte ScrCmd_bufferboxname + .4byte ScrCmd_nop1 + .4byte ScrCmd_nop1 + .4byte ScrCmd_nop1 + .4byte ScrCmd_nop1 + .4byte ScrCmd_nop1 + .4byte ScrCmd_nop1 + .4byte ScrCmd_setmonobedient + .4byte ScrCmd_checkmonobedience + .4byte ScrCmd_cmdCF + .4byte ScrCmd_nop1 + .4byte ScrCmd_warpD1 + .4byte ScrCmd_setmonmetlocation + .4byte ScrCmd_mossdeepgym1 + .4byte ScrCmd_mossdeepgym2 + .4byte ScrCmd_mossdeepgym3 + .4byte ScrCmd_mossdeepgym4 + .4byte ScrCmd_warpD7 + .4byte ScrCmd_cmdD8 + .4byte ScrCmd_cmdD9 + .4byte ScrCmd_cmdDA + .4byte ScrCmd_cmdDB + .4byte ScrCmd_fadescreenswapbuffers + .4byte ScrCmd_buffertrainerclassname + .4byte ScrCmd_buffertrainername + .4byte ScrCmd_pokenavcall + .4byte ScrCmd_warpE0 + .4byte ScrCmd_buffercontesttype + .4byte ScrCmd_bufferitemnameplural + +gScriptCmdTableEnd:: @ 81DBA08 + .4byte ScrCmd_nop diff --git a/data/script_funcs.s b/data/script_funcs.s deleted file mode 100644 index 276807fa54..0000000000 --- a/data/script_funcs.s +++ /dev/null @@ -1,21 +0,0 @@ - .section script_data, "aw", %progbits - - .align 2 -gUnknown_082DED2C:: @ 82DED2C - .4byte sub_8153A80 - .4byte sub_8153A30 - .4byte script_status_stop_and_ret_1 - .4byte sub_8153A94 - .4byte sub_8153A84 - .4byte sub_8153ACC - .4byte sub_8153BE4 - .4byte sub_8153AE8 - .4byte sub_8153BB0 - .4byte sub_8153C4C - .4byte sub_8153C70 - .4byte sub_8153C9C - .4byte sub_8153CC8 - .4byte sub_8153DD4 - .4byte sub_8153E1C - .4byte sub_8153E40 - .4byte sub_8153E88 diff --git a/data/script_menu.s b/data/script_menu.s index 8cf395c047..dbfb056219 100644 --- a/data/script_menu.s +++ b/data/script_menu.s @@ -4,26 +4,22 @@ .section .rodata gUnknown_0858ABD8:: @ 858ABD8 -@ replacing .incbin "baserom.gba", 0x0058abd8, 0x18 .4byte gUnknown_085EAD37, 0 .4byte gUnknown_085EAD41, 0 .4byte gText_Exit, 0 gUnknown_0858ABF0:: @ 58ABF0 -@ replacing .incbin "baserom.gba", 0x0058abf0, 0x18 .4byte gUnknown_085EAD67, 0 .4byte gUnknown_085EAD6D, 0 .4byte gText_Exit, 0 gUnknown_0858AC08:: @ 58AC08 -@ replacing .incbin "baserom.gba", 0x0058ac08, 0x20 .4byte gUnknown_085EAD72, 0 .4byte gUnknown_085EAD84, 0 .4byte gUnknown_085EAD96, 0 .4byte gText_Cancel2, 0 gUnknown_0858AC28:: @ 58AC28 -@ replacing .incbin "baserom.gba", 0x0058ac28, 0x30 .4byte gUnknown_085EADA4, 0 .4byte gUnknown_085EADB5, 0 .4byte gUnknown_085EADC4, 0 @@ -32,32 +28,27 @@ gUnknown_0858AC28:: @ 58AC28 .4byte gText_Exit, 0 gUnknown_0858AC58:: @ 58AC58 -@ replacing .incbin "baserom.gba", 0x0058ac58, 0x20 .4byte gUnknown_085EADF9, 0 .4byte gUnknown_085EAE04, 0 .4byte gUnknown_085EAE12, 0 .4byte gText_Exit, 0 gUnknown_0858AC78:: @ 58AC78 -@ replacing .incbin "baserom.gba", 0x0058ac78, 0x18 .4byte gUnknown_085EADF9, 0 .4byte gUnknown_085EAE04, 0 .4byte gText_Exit, 0 gUnknown_0858AC90:: @ 58AC90 -@ replacing .incbin "baserom.gba", 0x0058ac90, 0x20 - .4byte gUnknown_085E8CCB, 0 + .4byte gMenuText_Register, 0 .4byte gUnknown_085EAE12, 0 .4byte gUnknown_085EAE1B, 0 .4byte gText_Cancel2, 0 gUnknown_0858ACB0:: @ 58ACB0 -@ replacing .incbin "baserom.gba", 0x0058acb0, 0x10 .4byte gUnknown_085EAE27, 0 .4byte gUnknown_085EAE2C, 0 gUnknown_0858ACC0:: @ 58ACC0 -@ replacing .incbin "baserom.gba", 0x0058acc0, 0x30 .4byte gUnknown_085EAE31, 0 .4byte gUnknown_085EAE35, 0 .4byte gUnknown_085EAE39, 0 @@ -66,157 +57,131 @@ gUnknown_0858ACC0:: @ 58ACC0 .4byte gText_Exit, 0 gUnknown_0858ACF0:: @ 58ACF0 -@ replacing .incbin "baserom.gba", 0x0058acf0, 0x10 .4byte gUnknown_085EAD5F, 0 .4byte gText_Exit, 0 gUnknown_0858AD00:: @ 58AD00 -@ replacing .incbin "baserom.gba", 0x0058ad00, 0x10 .4byte gUnknown_085EAE53, 0 .4byte gUnknown_085EAE5A, 0 gUnknown_0858AD10:: @ 58AD10 -@ replacing .incbin "baserom.gba", 0x0058ad10, 0x18 .4byte gText_Yes, 0 .4byte gText_No, 0 .4byte gUnknown_085EAD6D, 0 gUnknown_0858AD28:: @ 58AD28 -@ replacing .incbin "baserom.gba", 0x0058ad28, 0x18 .4byte gUnknown_085EAEA2, 0 .4byte gUnknown_085EAEAC, 0 .4byte gText_Exit, 0 gUnknown_0858AD40:: @ 58AD40 -@ replacing .incbin "baserom.gba", 0x0058ad40, 0x18 .4byte gText_Lv50, 0 .4byte gText_OpenLevel, 0 .4byte gText_Exit, 0 gUnknown_0858AD58:: @ 58AD58 -@ replacing .incbin "baserom.gba", 0x0058ad58, 0x18 .4byte gUnknown_0827ECBC, 0 .4byte gUnknown_0827ECC3, 0 .4byte gUnknown_0827ECCD, 0 gUnknown_0858AD70:: @ 58AD70 -@ replacing .incbin "baserom.gba", 0x0058ad70, 0x18 .4byte gUnknown_0827ECD5, 0 .4byte gUnknown_0827ECDD, 0 .4byte gUnknown_0827ECE3, 0 gUnknown_0858AD88:: @ 58AD88 -@ replacing .incbin "baserom.gba", 0x0058ad88, 0x18 .4byte gUnknown_0827ECEB, 0 .4byte gUnknown_0827ECF2, 0 .4byte gUnknown_0827ECF8, 0 gUnknown_0858ADA0:: @ 58ADA0 -@ replacing .incbin "baserom.gba", 0x0058ada0, 0x18 .4byte gUnknown_0827ED00, 0 .4byte gUnknown_0827ED06, 0 .4byte gUnknown_0827ED10, 0 gUnknown_0858ADB8:: @ 58ADB8 -@ replacing .incbin "baserom.gba", 0x0058adb8, 0x18 .4byte gUnknown_0827ED18, 0 .4byte gUnknown_0827ED22, 0 .4byte gUnknown_0827ED2C, 0 gUnknown_0858ADD0:: @ 58ADD0 -@ replacing .incbin "baserom.gba", 0x0058add0, 0x18 .4byte gUnknown_0827ED36, 0 .4byte gUnknown_0827ED40, 0 .4byte gUnknown_0827ED46, 0 gUnknown_0858ADE8:: @ 58ADE8 -@ replacing .incbin "baserom.gba", 0x0058ade8, 0x18 .4byte gUnknown_0827ED4F, 0 .4byte gUnknown_0827ED59, 0 .4byte gUnknown_0827ED65, 0 gUnknown_0858AE00:: @ 58AE00 -@ replacing .incbin "baserom.gba", 0x0058ae00, 0x18 .4byte gUnknown_0827ED70, 0 .4byte gUnknown_0827ED74, 0 .4byte gUnknown_0827ED78, 0 gUnknown_0858AE18:: @ 58AE18 -@ replacing .incbin "baserom.gba", 0x0058ae18, 0x18 .4byte gUnknown_0827ED80, 0 .4byte gUnknown_0827ED95, 0 .4byte gUnknown_0827EDAA, 0 gUnknown_0858AE30:: @ 58AE30 -@ replacing .incbin "baserom.gba", 0x0058ae30, 0x18 .4byte gUnknown_0827EDB5, 0 .4byte gUnknown_0827EDBA, 0 .4byte gUnknown_0827EDC1, 0 gUnknown_0858AE48:: @ 58AE48 -@ replacing .incbin "baserom.gba", 0x0058ae48, 0x18 .4byte gUnknown_0827EDC9, 0 .4byte gUnknown_0827EDD5, 0 .4byte gUnknown_0827EDE4, 0 gUnknown_0858AE60:: @ 58AE60 -@ replacing .incbin "baserom.gba", 0x0058ae60, 0x18 .4byte gUnknown_0827EDF0, 0 .4byte gUnknown_0827EDF5, 0 .4byte gUnknown_0827EDF7, 0 gUnknown_0858AE78:: @ 58AE78 -@ replacing .incbin "baserom.gba", 0x0058ae78, 0x18 .4byte gUnknown_0827EDF9, 0 .4byte gUnknown_0827EDFB, 0 .4byte gUnknown_0827EDFD, 0 gUnknown_0858AE90:: @ 58AE90 -@ replacing .incbin "baserom.gba", 0x0058ae90, 0x18 .4byte gUnknown_0827EDFF, 0 .4byte gUnknown_0827EE01, 0 .4byte gUnknown_0827EE03, 0 gUnknown_0858AEA8:: @ 58AEA8 -@ replacing .incbin "baserom.gba", 0x0058aea8, 0x18 .4byte gUnknown_0827EE05, 0 .4byte gUnknown_0827EE07, 0 .4byte gUnknown_0827EE09, 0 gUnknown_0858AEC0:: @ 58AEC0 -@ replacing .incbin "baserom.gba", 0x0058aec0, 0x20 .4byte gUnknown_085EAEC3, 0 .4byte gUnknown_085EAED6, 0 .4byte gUnknown_085EAEE6, 0 .4byte gText_Exit, 0 gUnknown_0858AEE0:: @ 58AEE0 -@ replacing .incbin "baserom.gba", 0x0058aee0, 0x20 .4byte gUnknown_085EAEF6, 0 .4byte gUnknown_085EAF02, 0 .4byte gUnknown_085EAF0E, 0 .4byte gText_Exit, 0 gUnknown_0858AF00:: @ 58AF00 -@ replacing .incbin "baserom.gba", 0x0058af00, 0x20 .4byte gUnknown_085EAF1B, 0 .4byte gUnknown_085EAF24, 0 .4byte gUnknown_085EAF2F, 0 .4byte gText_Exit, 0 gUnknown_0858AF20:: @ 58AF20 -@ replacing .incbin "baserom.gba", 0x0058af20, 0x10 .4byte gUnknown_085EAF34, 0 .4byte gUnknown_085EAF3E, 0 gUnknown_0858AF30:: @ 58AF30 -@ replacing .incbin "baserom.gba", 0x0058af30, 0x18 .4byte gUnknown_085EAF4B, 0 .4byte gUnknown_085EAF58, 0 .4byte gText_Exit, 0 gUnknown_0858AF48:: @ 58AF48 -@ replacing .incbin "baserom.gba", 0x0058af48, 0x40 .4byte gUnknown_085EAF65, 0 .4byte gUnknown_085EAF70, 0 .4byte gUnknown_085EAF7D, 0 @@ -227,14 +192,12 @@ gUnknown_0858AF48:: @ 58AF48 .4byte gText_Cancel2, 0 gUnknown_0858AF88:: @ 58AF88 -@ replacing .incbin "baserom.gba", 0x0058af88, 0x20 .4byte gUnknown_085EAFB6, 0 .4byte gUnknown_085EAFCF, 0 .4byte gUnknown_085EAFE8, 0 .4byte gText_Exit, 0 gUnknown_0858AFA8:: @ 58AFA8 -@ replacing .incbin "baserom.gba", 0x0058afa8, 0x30 .4byte gUnknown_085EB089, 0 .4byte gUnknown_085EB09C, 0 .4byte gUnknown_085EB0AF, 0 @@ -243,133 +206,111 @@ gUnknown_0858AFA8:: @ 58AFA8 .4byte gText_Exit, 0 gUnknown_0858AFD8:: @ 58AFD8 -@ replacing .incbin "baserom.gba", 0x0058afd8, 0x18 .4byte gUnknown_085EB002, 0 .4byte gUnknown_085EB017, 0 .4byte gText_Exit, 0 gUnknown_0858AFF0:: @ 58AFF0 -@ replacing .incbin "baserom.gba", 0x0058aff0, 0x10 .4byte gUnknown_085EB02A, 0 .4byte gUnknown_085EB034, 0 gUnknown_0858B000:: @ 58B000 -@ replacing .incbin "baserom.gba", 0x0058b000, 0x18 - .4byte gUnknown_085EB79B, 0 - .4byte gUnknown_085EB06E, 0 + .4byte gText_LilycoveCity, 0 + .4byte gText_BattleFrontier, 0 .4byte gText_Exit, 0 gUnknown_0858B018:: @ 58B018 -@ replacing .incbin "baserom.gba", 0x0058b018, 0x18 - .4byte gUnknown_085EB7A9, 0 - .4byte gUnknown_085EB79B, 0 + .4byte gText_SlateportCity, 0 + .4byte gText_LilycoveCity, 0 .4byte gText_Exit, 0 gUnknown_0858B030:: @ 58B030 -@ replacing .incbin "baserom.gba", 0x0058b030, 0x10 .4byte gUnknown_085EB07E, 0 .4byte gUnknown_085EB084, 0 gUnknown_0858B040:: @ 58B040 -@ replacing .incbin "baserom.gba", 0x0058b040, 0x10 - .4byte gUnknown_085EB79B, 0 + .4byte gText_LilycoveCity, 0 .4byte gText_Exit, 0 gUnknown_0858B050:: @ 58B050 -@ replacing .incbin "baserom.gba", 0x0058b050, 0x30 - .4byte gUnknown_085EB676, 0 - .4byte gUnknown_085EB673, 0 - .4byte gUnknown_085EB670, 0 - .4byte gUnknown_085EB66D, 0 - .4byte gUnknown_085EB66A, 0 + .4byte gText_5F, 0 + .4byte gText_4F, 0 + .4byte gText_3F, 0 + .4byte gText_2F, 0 + .4byte gText_1F, 0 .4byte gText_Exit, 0 gUnknown_0858B080:: @ 58B080 -@ replacing .incbin "baserom.gba", 0x0058b080, 0x10 .4byte gUnknown_085EB040, 0 .4byte gText_Exit, 0 gUnknown_0858B090:: @ 58B090 -@ replacing .incbin "baserom.gba", 0x0058b090, 0x10 .4byte gUnknown_085EB04A, 0 .4byte gText_Exit, 0 gUnknown_0858B0A0:: @ 58B0A0 -@ replacing .incbin "baserom.gba", 0x0058b0a0, 0x18 .4byte gUnknown_085EB040, 0 .4byte gUnknown_085EB04A, 0 .4byte gText_Exit, 0 gUnknown_0858B0B8:: @ 58B0B8 -@ replacing .incbin "baserom.gba", 0x0058b0b8, 0x10 .4byte gUnknown_085EB057, 0 .4byte gText_Exit, 0 gUnknown_0858B0C8:: @ 58B0C8 -@ replacing .incbin "baserom.gba", 0x0058b0c8, 0x18 .4byte gUnknown_085EB040, 0 .4byte gUnknown_085EB057, 0 .4byte gText_Exit, 0 gUnknown_0858B0E0:: @ 58B0E0 -@ replacing .incbin "baserom.gba", 0x0058b0e0, 0x18 .4byte gUnknown_085EB04A, 0 .4byte gUnknown_085EB057, 0 .4byte gText_Exit, 0 gUnknown_0858B0F8:: @ 58B0F8 -@ replacing .incbin "baserom.gba", 0x0058b0f8, 0x20 .4byte gUnknown_085EB040, 0 .4byte gUnknown_085EB04A, 0 .4byte gUnknown_085EB057, 0 .4byte gText_Exit, 0 gUnknown_0858B118:: @ 58B118 -@ replacing .incbin "baserom.gba", 0x0058b118, 0x10 .4byte gUnknown_085EB062, 0 .4byte gText_Exit, 0 gUnknown_0858B128:: @ 58B128 -@ replacing .incbin "baserom.gba", 0x0058b128, 0x18 .4byte gUnknown_085EB040, 0 .4byte gUnknown_085EB062, 0 .4byte gText_Exit, 0 gUnknown_0858B140:: @ 58B140 -@ replacing .incbin "baserom.gba", 0x0058b140, 0x18 .4byte gUnknown_085EB04A, 0 .4byte gUnknown_085EB062, 0 .4byte gText_Exit, 0 gUnknown_0858B158:: @ 58B158 -@ replacing .incbin "baserom.gba", 0x0058b158, 0x20 .4byte gUnknown_085EB040, 0 .4byte gUnknown_085EB04A, 0 .4byte gUnknown_085EB062, 0 .4byte gText_Exit, 0 gUnknown_0858B178:: @ 58B178 -@ replacing .incbin "baserom.gba", 0x0058b178, 0x18 .4byte gUnknown_085EB057, 0 .4byte gUnknown_085EB062, 0 .4byte gText_Exit, 0 gUnknown_0858B190:: @ 58B190 -@ replacing .incbin "baserom.gba", 0x0058b190, 0x20 .4byte gUnknown_085EB040, 0 .4byte gUnknown_085EB057, 0 .4byte gUnknown_085EB062, 0 .4byte gText_Exit, 0 gUnknown_0858B1B0:: @ 58B1B0 -@ replacing .incbin "baserom.gba", 0x0058b1b0, 0x20 .4byte gUnknown_085EB04A, 0 .4byte gUnknown_085EB057, 0 .4byte gUnknown_085EB062, 0 .4byte gText_Exit, 0 gUnknown_0858B1D0:: @ 58B1D0 -@ replacing .incbin "baserom.gba", 0x0058b1d0, 0x28 .4byte gUnknown_085EB040, 0 .4byte gUnknown_085EB04A, 0 .4byte gUnknown_085EB057, 0 @@ -377,42 +318,36 @@ gUnknown_0858B1D0:: @ 58B1D0 .4byte gText_Exit, 0 gUnknown_0858B1F8:: @ 58B1F8 -@ replacing .incbin "baserom.gba", 0x0058b1f8, 0x30 - .4byte gUnknown_085EB1A0, 0 - .4byte gUnknown_085EB1A9, 0 - .4byte gUnknown_085EB1B6, 0 + .4byte gText_Opponent, 0 + .4byte gText_Tourney_Tree, 0 + .4byte gText_ReadyToStart, 0 .4byte gUnknown_085EB5BC, 0 .4byte gUnknown_085EB5C3, 0 .4byte gUnknown_085EB5C8, 0 gUnknown_0858B228:: @ 58B228 -@ replacing .incbin "baserom.gba", 0x0058b228, 0x28 - .4byte gUnknown_085EB1A0, 0 - .4byte gUnknown_085EB1A9, 0 - .4byte gUnknown_085EB1B6, 0 + .4byte gText_Opponent, 0 + .4byte gText_Tourney_Tree, 0 + .4byte gText_ReadyToStart, 0 .4byte gUnknown_085EB5C3, 0 .4byte gUnknown_085EB5C8, 0 gUnknown_0858B250:: @ 58B250 -@ replacing .incbin "baserom.gba", 0x0058b250, 0x10 .4byte gUnknown_085EB29A, 0 .4byte gUnknown_085EB2A3, 0 gUnknown_0858B260:: @ 58B260 -@ replacing .incbin "baserom.gba", 0x0058b260, 0x20 .4byte gUnknown_085EB372, 0 .4byte gUnknown_085EB37F, 0 .4byte gUnknown_085EB389, 0 .4byte gText_Exit, 0 gUnknown_0858B280:: @ 58B280 -@ replacing .incbin "baserom.gba", 0x0058b280, 0x18 .4byte gText_Yes, 0 .4byte gText_No, 0 .4byte gUnknown_085EAD6D, 0 gUnknown_0858B298:: @ 58B298 -@ replacing .incbin "baserom.gba", 0x0058b298, 0x28 .4byte gUnknown_085EAE6E, 0 .4byte gUnknown_085EAE7C, 0 .4byte gUnknown_085EAE8A, 0 @@ -420,14 +355,12 @@ gUnknown_0858B298:: @ 58B298 .4byte gText_Exit, 0 gUnknown_0858B2C0:: @ 58B2C0 -@ replacing .incbin "baserom.gba", 0x0058b2c0, 0x20 .4byte gUnknown_085EB372, 0 .4byte gUnknown_085EB37F, 0 .4byte gUnknown_085EB397, 0 .4byte gText_Exit, 0 gUnknown_0858B2E0:: @ 58B2E0 -@ replacing .incbin "baserom.gba", 0x0058b2e0, 0x28 .4byte gUnknown_085EB372, 0 .4byte gUnknown_085EB37F, 0 .4byte gUnknown_085EB389, 0 @@ -435,52 +368,44 @@ gUnknown_0858B2E0:: @ 58B2E0 .4byte gText_Exit, 0 gUnknown_0858B308:: @ 58B308 -@ replacing .incbin "baserom.gba", 0x0058b308, 0x18 .4byte gUnknown_085EB372, 0 .4byte gUnknown_085EB37F, 0 .4byte gText_Exit, 0 gUnknown_0858B320:: @ 58B320 -@ replacing .incbin "baserom.gba", 0x0058b320, 0x18 .4byte gUnknown_085EB3A4, 0 .4byte gUnknown_085EB3B1, 0 .4byte gText_Exit, 0 gUnknown_0858B338:: @ 58B338 -@ replacing .incbin "baserom.gba", 0x0058b338, 0x18 .4byte gUnknown_085EB3D4, 0 .4byte gUnknown_085EB3C6, 0 .4byte gText_Exit, 0 gUnknown_0858B350:: @ 58B350 -@ replacing .incbin "baserom.gba", 0x0058b350, 0x28 - .4byte gUnknown_085EB1C5, 0 - .4byte gUnknown_085EB1D1, 0 - .4byte gUnknown_085EB1DC, 0 - .4byte gUnknown_085EB1E7, 0 + .4byte gText_NormalRank, 0 + .4byte gText_SuperRank, 0 + .4byte gText_HyperRank, 0 + .4byte gText_MasterRank, 0 .4byte gText_Exit, 0 gUnknown_0858B378:: @ 58B378 -@ replacing .incbin "baserom.gba", 0x0058b378, 0x18 - .4byte gUnknown_085EB212, 0 - .4byte gUnknown_085EB21D, 0 + .4byte gText_BattleBag, 0 + .4byte gText_HeldItem, 0 .4byte gText_Exit, 0 gUnknown_0858B390:: @ 58B390 -@ replacing .incbin "baserom.gba", 0x0058b390, 0x20 - .4byte gUnknown_085EB227, 0 - .4byte gUnknown_085EB234, 0 - .4byte gUnknown_085EB241, 0 + .4byte gText_LinkContest, 0 + .4byte gText_AboutE_Mode, 0 + .4byte gText_AboutG_Mode, 0 .4byte gText_Cancel2, 0 gUnknown_0858B3B0:: @ 58B3B0 -@ replacing .incbin "baserom.gba", 0x0058b3b0, 0x18 - .4byte gUnknown_085EB24E, 0 - .4byte gUnknown_085EB255, 0 + .4byte gText_E_Mode, 0 + .4byte gText_G_Mode, 0 .4byte gText_Exit, 0 gUnknown_0858B3C8:: @ 58B3C8 -@ replacing .incbin "baserom.gba", 0x0058b3c8, 0x40 .4byte gText_MenuOptionPokedex, 0 .4byte gText_MenuOptionPokemon, 0 .4byte gText_MenuOptionBag, 0 @@ -491,50 +416,42 @@ gUnknown_0858B3C8:: @ 58B3C8 .4byte gText_MenuOptionExit, 0 gUnknown_0858B408:: @ 58B408 -@ replacing .incbin "baserom.gba", 0x0058b408, 0x20 .4byte gUnknown_085EB28A, 0 .4byte gUnknown_085EB290, 0 .4byte gUnknown_085EB295, 0 .4byte gText_Exit, 0 gUnknown_0858B428:: @ 58B428 -@ replacing .incbin "baserom.gba", 0x0058b428, 0x18 - .4byte gUnknown_085EB2AD, 0 - .4byte gUnknown_085EB2BD, 0 + .4byte gText_SouthernIsland, 0 + .4byte gText_BirthIsland, 0 .4byte gText_Exit, 0 gUnknown_0858B440:: @ 58B440 -@ replacing .incbin "baserom.gba", 0x0058b440, 0x18 - .4byte gUnknown_085EB2AD, 0 - .4byte gUnknown_085EB2CA, 0 + .4byte gText_SouthernIsland, 0 + .4byte gText_FarawayIsland, 0 .4byte gText_Exit, 0 gUnknown_0858B458:: @ 58B458 -@ replacing .incbin "baserom.gba", 0x0058b458, 0x18 - .4byte gUnknown_085EB2BD, 0 - .4byte gUnknown_085EB2CA, 0 + .4byte gText_BirthIsland, 0 + .4byte gText_FarawayIsland, 0 .4byte gText_Exit, 0 gUnknown_0858B470:: @ 58B470 -@ replacing .incbin "baserom.gba", 0x0058b470, 0x20 - .4byte gUnknown_085EB2AD, 0 - .4byte gUnknown_085EB2BD, 0 - .4byte gUnknown_085EB2CA, 0 + .4byte gText_SouthernIsland, 0 + .4byte gText_BirthIsland, 0 + .4byte gText_FarawayIsland, 0 .4byte gText_Exit, 0 gUnknown_0858B490:: @ 58B490 -@ replacing .incbin "baserom.gba", 0x0058b490, 0x18 .4byte gUnknown_085EB2E4, 0 .4byte gUnknown_085EB2F0, 0 .4byte gText_Exit, 0 gUnknown_0858B4A8:: @ 58B4A8 -@ replacing .incbin "baserom.gba", 0x0058b4a8, 0x10 .4byte gText_Yes, 0 .4byte gUnknown_085EB2FC, 0 gUnknown_0858B4B8:: @ 58B4B8 -@ replacing .incbin "baserom.gba", 0x0058b4b8, 0x30 .4byte gUnknown_085EB3DF, 0 .4byte gUnknown_085EB3EA, 0 .4byte gUnknown_085EB3F1, 0 @@ -543,14 +460,12 @@ gUnknown_0858B4B8:: @ 58B4B8 .4byte gText_Exit, 0 gUnknown_0858B4E8:: @ 58B4E8 -@ replacing .incbin "baserom.gba", 0x0058b4e8, 0x20 .4byte gUnknown_085EB415, 0 .4byte gUnknown_085EB41D, 0 .4byte gUnknown_085EB424, 0 .4byte gText_Exit, 0 gUnknown_0858B508:: @ 58B508 -@ replacing .incbin "baserom.gba", 0x0058b508, 0x28 .4byte gUnknown_085EB45C, 0 .4byte gUnknown_085EB469, 0 .4byte gUnknown_085EB475, 0 @@ -558,7 +473,6 @@ gUnknown_0858B508:: @ 58B508 .4byte gText_Exit, 0 gUnknown_0858B530:: @ 58B530 -@ replacing .incbin "baserom.gba", 0x0058b530, 0x28 .4byte gUnknown_085EB42F, 0 .4byte gUnknown_085EB43A, 0 .4byte gUnknown_085EB444, 0 @@ -566,14 +480,12 @@ gUnknown_0858B530:: @ 58B530 .4byte gText_Exit, 0 gUnknown_0858B558:: @ 58B558 -@ replacing .incbin "baserom.gba", 0x0058b558, 0x20 .4byte gUnknown_085EB48E, 0 .4byte gUnknown_085EB496, 0 .4byte gUnknown_085EB4A3, 0 .4byte gText_Exit, 0 gUnknown_0858B578:: @ 58B578 -@ replacing .incbin "baserom.gba", 0x0058b578, 0x30 .4byte gUnknown_085EB4AD, 0 .4byte gUnknown_085EB4B9, 0 .4byte gUnknown_085EB4C7, 0 @@ -582,16 +494,14 @@ gUnknown_0858B578:: @ 58B578 .4byte gText_Exit, 0 gUnknown_0858B5A8:: @ 58B5A8 -@ replacing .incbin "baserom.gba", 0x0058b5a8, 0x30 - .4byte gUnknown_085EB4EB, 0 - .4byte gUnknown_085EB4F9, 0 - .4byte gUnknown_085EB508, 0 - .4byte gUnknown_085EB516, 0 - .4byte gUnknown_085EB523, 0 + .4byte gText_BattleBasics, 0 + .4byte gText_PokemonNature, 0 + .4byte gText_PokemonMoves, 0 + .4byte gText_Underpowered, 0 + .4byte gText_WhenInDanger, 0 .4byte gText_Exit, 0 gUnknown_0858B5D8:: @ 58B5D8 -@ replacing .incbin "baserom.gba", 0x0058b5d8, 0x28 .4byte gUnknown_085EB532, 0 .4byte gUnknown_085EB543, 0 .4byte gUnknown_085EB555, 0 @@ -599,57 +509,48 @@ gUnknown_0858B5D8:: @ 58B5D8 .4byte gText_Exit, 0 gUnknown_0858B600:: @ 58B600 -@ replacing .incbin "baserom.gba", 0x0058b600, 0x20 .4byte gUnknown_085EB56E, 0 .4byte gUnknown_085EB57E, 0 .4byte gUnknown_085EB589, 0 .4byte gText_Exit, 0 gUnknown_0858B620:: @ 58B620 -@ replacing .incbin "baserom.gba", 0x0058b620, 0x20 .4byte gUnknown_085EB5B6, 0 .4byte gUnknown_085EB5BC, 0 .4byte gUnknown_085EB5C3, 0 .4byte gUnknown_085EB5C8, 0 gUnknown_0858B640:: @ 58B640 -@ replacing .incbin "baserom.gba", 0x0058b640, 0x18 .4byte gUnknown_085EB5B6, 0 .4byte gUnknown_085EB5C3, 0 .4byte gUnknown_085EB5C8, 0 gUnknown_0858B658:: @ 58B658 -@ replacing .incbin "baserom.gba", 0x0058b658, 0x18 .4byte gUnknown_085EB5B6, 0 .4byte gUnknown_085EB5BC, 0 .4byte gUnknown_085EB5C8, 0 gUnknown_0858B670:: @ 58B670 -@ replacing .incbin "baserom.gba", 0x0058b670, 0x10 .4byte gUnknown_085EB5B6, 0 .4byte gUnknown_085EB5C8, 0 gUnknown_0858B680:: @ 58B680 -@ replacing .incbin "baserom.gba", 0x0058b680, 0x10 .4byte gUnknown_085EE14B, 0 .4byte gUnknown_085EE14F, 0 gUnknown_0858B690:: @ 58B690 -@ replacing .incbin "baserom.gba", 0x0058b690, 0x20 .4byte gUnknown_085EB2FF, 0 .4byte gUnknown_085EB310, 0 .4byte gUnknown_085EB317, 0 .4byte gUnknown_085EB31F, 0 gUnknown_0858B6B0:: @ 58B6B0 -@ replacing .incbin "baserom.gba", 0x0058b6b0, 0x20 - .4byte gUnknown_085EB7B8, 0 - .4byte gUnknown_085EB7C7, 0 - .4byte gUnknown_085EB7D0, 0 - .4byte gUnknown_085EB7DB, 0 + .4byte gText_CaveOfOrigin, 0 + .4byte gText_MtPyre, 0 + .4byte gText_SkyPillar, 0 + .4byte gText_DontRemember, 0 gUnknown_0858B6D0:: @ 58B6D0 -@ replacing .incbin "baserom.gba", 0x0058b6d0, 0x30 .4byte gUnknown_085EB4AD, 0 .4byte gUnknown_085EB4B9, 0 .4byte gUnknown_085EB4C7, 0 @@ -658,8 +559,7 @@ gUnknown_0858B6D0:: @ 58B6D0 .4byte gText_Exit, 0 gUnknown_0858B700:: @ 58B700 -@ replacing .incbin "baserom.gba", 0x0058b700, 0x30 - .4byte gUnknown_085EB5A6, 0 + .4byte gText_BattleTrainers, 0 .4byte gUnknown_085EB45C, 0 .4byte gUnknown_085EB469, 0 .4byte gUnknown_085EB475, 0 @@ -667,7 +567,6 @@ gUnknown_0858B700:: @ 58B700 .4byte gText_Exit, 0 gUnknown_0858B730:: @ 58B730 -@ replacing .incbin "baserom.gba", 0x0058b730, 0x28 .4byte gUnknown_085EB32D, 0 .4byte gUnknown_085EB33E, 0 .4byte gUnknown_085EB350, 0 @@ -675,13 +574,11 @@ gUnknown_0858B730:: @ 58B730 .4byte gText_Exit, 0 gUnknown_0858B758:: @ 58B758 -@ replacing .incbin "baserom.gba", 0x0058b758, 0x8 .4byte gText_Exit, 0 gUnknown_0858B760:: @ 858B760 -@ replacing .incbin "baserom.gba", 0x0058b760, 0x390 - .4byte 0x0858abd8, 3 + .4byte gUnknown_0858ABD8, 3 .4byte gUnknown_0858B758, 1 .4byte gUnknown_0858ABF0, 3 .4byte gUnknown_0858AC08, 4 @@ -797,31 +694,87 @@ gUnknown_0858B760:: @ 858B760 .4byte gUnknown_0858B730, 5 gUnknown_0858BAF0:: @ 858BAF0 - .incbin "baserom.gba", 0x58baf0, 0x78 + .4byte gText_Cool + .4byte gText_Beauty + .4byte gText_Cute + .4byte gText_Smart + .4byte gText_Tough + .4byte gText_Normal + .4byte gText_Super + .4byte gText_Hyper + .4byte gText_Master + .4byte gText_Cool2 + .4byte gText_Beauty2 + .4byte gText_Cute2 + .4byte gText_Smart2 + .4byte gText_Tough2 + .4byte gText_Items + .4byte gText_Key_Items + .4byte gText_Poke_Balls + .4byte gText_TMs_Hms + .4byte gText_Berries2 + .4byte gText_Single2 + .4byte gText_Double2 + .4byte gText_Multi + .4byte gText_MultiLink + .4byte gText_BattleTower2 + .4byte gText_BattleDome + .4byte gText_BattleFactory + .4byte gText_BattlePalace + .4byte gText_BattleArena + .4byte gText_BattlePike + .4byte gText_BattlePyramid gUnknown_0858BB68:: @ 858BB68 - .incbin "baserom.gba", 0x58bb68, 0x8 + .byte 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F + .align 2 gUnknown_0858BB70:: @ 858BB70 - .incbin "baserom.gba", 0x58bb70, 0x10 + .4byte gText_SomeonesPC + .4byte gText_LanettesPC + .4byte gText_PlayersPC + .4byte gText_LogOff gUnknown_0858BB80:: @ 858BB80 - .incbin "baserom.gba", 0x58bb80, 0x1c + .4byte gText_SlateportCity + .4byte gText_BattleFrontier + .4byte gText_SouthernIsland + .4byte gText_NavelRock + .4byte gText_BirthIsland + .4byte gText_FarawayIsland + .4byte gText_Exit gUnknown_0858BB9C:: @ 858BB9C - .incbin "baserom.gba", 0x58bb9c, 0x10 + .4byte OldaleTown_PokemonCenter_2F_Text_277F1B + .4byte OldaleTown_PokemonCenter_2F_Text_277F5A + .4byte OldaleTown_PokemonCenter_2F_Text_277F96 + .4byte OldaleTown_PokemonCenter_2F_Text_27889C gUnknown_0858BBAC:: @ 858BBAC - .incbin "baserom.gba", 0x58bbac, 0x10 + .4byte OldaleTown_PokemonCenter_2F_Text_27879F + .4byte OldaleTown_PokemonCenter_2F_Text_2787D5 + .4byte OldaleTown_PokemonCenter_2F_Text_278831 + .4byte OldaleTown_PokemonCenter_2F_Text_27889C gUnknown_0858BBBC:: @ 858BBBC - .incbin "baserom.gba", 0x58bbbc, 0x10 + .4byte OldaleTown_PokemonCenter_2F_Text_27879F + .4byte OldaleTown_PokemonCenter_2F_Text_2787D5 + .4byte OldaleTown_PokemonCenter_2F_Text_2787FC + .4byte OldaleTown_PokemonCenter_2F_Text_27889C gUnknown_0858BBCC:: @ 858BBCC - .incbin "baserom.gba", 0x58bbcc, 0x14 + .4byte OldaleTown_PokemonCenter_2F_Text_27879F + .4byte OldaleTown_PokemonCenter_2F_Text_2787D5 + .4byte OldaleTown_PokemonCenter_2F_Text_278831 + .4byte OldaleTown_PokemonCenter_2F_Text_2787FC + .4byte OldaleTown_PokemonCenter_2F_Text_27889C gUnknown_0858BBE0:: @ 858BBE0 - .incbin "baserom.gba", 0x58bbe0, 0xc + .4byte OldaleTown_PokemonCenter_2F_Text_277F1B + .4byte OldaleTown_PokemonCenter_2F_Text_277F5A + .4byte OldaleTown_PokemonCenter_2F_Text_27889C gUnknown_0858BBEC:: @ 858BBEC - .incbin "baserom.gba", 0x58bbec, 0x18c + .4byte OldaleTown_PokemonCenter_2F_Text_27879F + .4byte OldaleTown_PokemonCenter_2F_Text_2787D5 + .4byte OldaleTown_PokemonCenter_2F_Text_27889C diff --git a/data/script_pokemon_util_80F87D8.s b/data/script_pokemon_util_80F87D8.s index beda525c8a..dcf9edeea9 100644 --- a/data/script_pokemon_util_80F87D8.s +++ b/data/script_pokemon_util_80F87D8.s @@ -2,6 +2,6 @@ .include "constants/constants.inc" .section .rodata - .align 2, 0 + .align 2, 0 gUnknown_0858D8EC:: @ 858D8EC - .incbin "baserom.gba", 0x58d8ec, 0x4 + .byte 3, 4, 5, 14 diff --git a/data/scripts/berry_tree.inc b/data/scripts/berry_tree.inc new file mode 100644 index 0000000000..2828036e01 --- /dev/null +++ b/data/scripts/berry_tree.inc @@ -0,0 +1,261 @@ +BerryTreeScript:: @ 82742F9 + special FieldObjectInteractionGetBerryTreeData + switch VAR_0x8004 + case 255, Route102_EventScript_27434F + case 0, Route102_EventScript_274359 + case 1, Route102_EventScript_2743B1 + case 2, Route102_EventScript_2743C1 + case 3, Route102_EventScript_2743D1 + case 4, Route102_EventScript_2743E1 + case 5, Route102_EventScript_274421 + end + +Route102_EventScript_27434F:: @ 827434F + lockall + message Route102_Text_274744 + waitmessage + waitbuttonpress + releaseall + end + +Route102_EventScript_274359:: @ 8274359 + lock + faceplayer + specialvar VAR_RESULT, PlayerHasBerries + compare VAR_RESULT, 1 + goto_eq Route102_EventScript_274374 + message Route102_Text_2744F0 + waitmessage + waitbuttonpress + release + end + +Route102_EventScript_274374:: @ 8274374 + msgbox Route102_Text_274507, 5 + compare VAR_RESULT, 1 + goto_eq Route102_EventScript_274393 + compare VAR_RESULT, 0 + goto_eq Route102_EventScript_2743AF + end + +Route102_EventScript_274393:: @ 8274393 + fadescreen 1 + closemessage + special Bag_ChooseBerry + waitstate + compare VAR_ITEM_ID, 0 + goto_eq Route102_EventScript_2743AF + takeitem VAR_ITEM_ID, 1 + call Route102_EventScript_2744DD + +Route102_EventScript_2743AF:: @ 82743AF + release + end + +Route102_EventScript_2743B1:: @ 82743B1 + lockall + special FieldObjectInteractionGetBerryCountString + message Route102_Text_274560 + waitmessage + waitbuttonpress + goto Route102_EventScript_27448D + +Route102_EventScript_2743C1:: @ 82743C1 + lockall + special FieldObjectInteractionGetBerryName + message Route102_Text_274579 + waitmessage + waitbuttonpress + goto Route102_EventScript_27448D + +Route102_EventScript_2743D1:: @ 82743D1 + lockall + special FieldObjectInteractionGetBerryName + message Route102_Text_27458A + waitmessage + waitbuttonpress + goto Route102_EventScript_27448D + +Route102_EventScript_2743E1:: @ 82743E1 + call Route102_EventScript_2743F6 + lockall + special FieldObjectInteractionGetBerryName + message Route102_Text_2745AB + waitmessage + waitbuttonpress + goto Route102_EventScript_27448D + +Route102_EventScript_2743F6:: @ 82743F6 + compare VAR_0x8005, 0 + goto_eq Route102_EventScript_27441A + compare VAR_0x8005, 4 + goto_eq Route102_EventScript_274413 + bufferstring 1, Route102_Text_2745E5 + return + +Route102_EventScript_274413:: @ 8274413 + bufferstring 1, Route102_Text_2745CD + return + +Route102_EventScript_27441A:: @ 827441A + bufferstring 1, Route102_Text_2745DE + return + +Route102_EventScript_274421:: @ 8274421 + buffernumberstring 1, VAR_0x8006 + lock + faceplayer + special FieldObjectInteractionGetBerryCountString + msgbox Route102_Text_2745EE, 5 + compare VAR_RESULT, 1 + goto_eq Route102_EventScript_274448 + compare VAR_RESULT, 0 + goto_eq Route102_EventScript_274479 + +Route102_EventScript_274448:: @ 8274448 + special FieldObjectInteractionPickBerryTree + compare VAR_0x8004, 0 + goto_eq Route102_EventScript_274470 + special sub_80EED34 + special FieldObjectInteractionRemoveBerryTree + message Route102_Text_27461B + playfanfare MUS_ME_KINOMI + waitmessage + waitfanfare + waitbuttonpress + message Route102_Text_274630 + waitmessage + waitbuttonpress + release + end + +Route102_EventScript_274470:: @ 8274470 + message Route102_Text_27468F + waitmessage + waitbuttonpress + release + end + +Route102_EventScript_274479:: @ 8274479 + message Route102_Text_2746CB + waitmessage + waitbuttonpress + release + end + +Route102_EventScript_274482:: @ 8274482 + lockall + special FieldObjectInteractionGetBerryTreeData + call Route102_EventScript_2744DD + releaseall + end + +Route102_EventScript_27448D:: @ 827448D + checkitem ITEM_WAILMER_PAIL, 1 + compare VAR_RESULT, 0 + goto_eq Route102_EventScript_2744BE + special FieldObjectInteractionGetBerryName + msgbox Route102_Text_2746E4, 5 + compare VAR_RESULT, 1 + goto_eq Route102_EventScript_2744C4 + compare VAR_RESULT, 0 + goto_eq Route102_EventScript_2744BE + +Route102_EventScript_2744BE:: @ 82744BE + releaseall + end + +Route102_EventScript_2744C0:: @ 82744C0 + special FieldObjectInteractionGetBerryTreeData + lockall + +Route102_EventScript_2744C4:: @ 82744C4 + special FieldObjectInteractionGetBerryName + message Route102_Text_274710 + waitmessage + special FieldObjectInteractionWaterBerryTree + special sub_80FAFF8 + waitstate + message Route102_Text_274723 + waitmessage + waitbuttonpress + releaseall + end + +Route102_EventScript_2744DD:: @ 82744DD + special FieldObjectInteractionPlantBerryTree + incrementgamestat 3 + special sub_80EED10 + special FieldObjectInteractionGetBerryCountString + message Route102_Text_274535 + waitmessage + waitbuttonpress + return + +Route102_Text_2744F0: @ 82744F0 + .string "It’s soft, loamy soil.$" + +Route102_Text_274507: @ 8274507 + .string "It’s soft, loamy soil.\n" + .string "Want to plant a BERRY?$" + +Route102_Text_274535: @ 8274535 + .string "{PLAYER} planted one {STR_VAR_1} in\n" + .string "the soft, loamy soil.$" + +Route102_Text_274560: @ 8274560 + .string "One {STR_VAR_1} was planted here.$" + +Route102_Text_274579: @ 8274579 + .string "{STR_VAR_1} has sprouted.$" + +Route102_Text_27458A: @ 827458A + .string "This {STR_VAR_1} plant is growing taller.$" + +Route102_Text_2745AB: @ 82745AB + .string "These {STR_VAR_1} flowers are blooming\n" + .string "{STR_VAR_2}.$" + +Route102_Text_2745CD: @ 82745CD + .string "very beautifully$" + +Route102_Text_2745DE: @ 82745DE + .string "cutely$" + +Route102_Text_2745E5: @ 82745E5 + .string "prettily$" + +Route102_Text_2745EE: @ 82745EE + .string "You found {STR_VAR_2} {STR_VAR_1}!\p" + .string "Do you want to pick the\n" + .string "{STR_VAR_1}?$" + +Route102_Text_27461B: @ 827461B + .string "{PLAYER} picked the {STR_VAR_2} {STR_VAR_1}.$" + +Route102_Text_274630: @ 8274630 + .string "{PLAYER} put away the {STR_VAR_1}\n" + .string "in the BAG’s BERRIES POCKET.\p" + .string "The soil returned to its soft and\n" + .string "loamy state.$" + +Route102_Text_27468F: @ 827468F + .string "The BAG’s BERRIES POCKET is full.\p" + .string "The {STR_VAR_1} couldn’t be taken.$" + +Route102_Text_2746CB: @ 82746CB + .string "{PLAYER} left the {STR_VAR_1}\n" + .string "unpicked.$" + +Route102_Text_2746E4: @ 82746E4 + .string "Want to water the {STR_VAR_1} with the\n" + .string "WAILMER PAIL?$" + +Route102_Text_274710: @ 8274710 + .string "{PLAYER} watered the {STR_VAR_1}.$" + +Route102_Text_274723: @ 8274723 + .string "The plant seems to be delighted.$" + +Route102_Text_274744: @ 8274744 + .string "!$" diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc new file mode 100644 index 0000000000..b8aef7c3dc --- /dev/null +++ b/data/scripts/cable_club.inc @@ -0,0 +1,2124 @@ +BattleFrontier_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF +DewfordTown_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF +EverGrandeCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF +EverGrandeCity_PokemonLeague_2F_MapScript1_276ACF: @ 8276ACF +FallarborTown_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF +FortreeCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF +LavaridgeTown_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF +LilycoveCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF +MauvilleCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF +MossdeepCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF +OldaleTown_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF +PacifidlogTown_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF +PetalburgCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF +RustboroCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF +SlateportCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF +SootopolisCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF +VerdanturfTown_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF + call OldaleTown_PokemonCenter_2F_EventScript_276AD5 + end + +OldaleTown_PokemonCenter_2F_EventScript_276AD5:: @ 8276AD5 + specialvar VAR_RESULT, sub_813B514 + compare VAR_RESULT, 1 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_276AFB + specialvar VAR_RESULT, sub_801B27C + compare VAR_RESULT, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_276AFF + goto OldaleTown_PokemonCenter_2F_EventScript_276AFB + end + +OldaleTown_PokemonCenter_2F_EventScript_276AFB:: @ 8276AFB + clearflag FLAG_0x2BE + return + +OldaleTown_PokemonCenter_2F_EventScript_276AFF:: @ 8276AFF + setflag FLAG_0x2BE + return + +BattleFrontier_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 +DewfordTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 +EverGrandeCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 +EverGrandeCity_PokemonLeague_2F_EventScript_276B03:: @ 8276B03 +FallarborTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 +FortreeCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 +LavaridgeTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 +LilycoveCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 +MauvilleCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 +MossdeepCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 +OldaleTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 +PacifidlogTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 +PetalburgCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 +RustboroCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 +SlateportCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 +SootopolisCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 +VerdanturfTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03 + specialvar VAR_RESULT, sub_813B514 + compare VAR_RESULT, 1 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_276B23 + goto OldaleTown_PokemonCenter_2F_EventScript_276B19 + end + +OldaleTown_PokemonCenter_2F_EventScript_276B19:: @ 8276B19 + execram + +OldaleTown_PokemonCenter_2F_EventScript_276B1A:: @ 8276B1A + msgbox gUnknown_08273178, 2 + end + +OldaleTown_PokemonCenter_2F_EventScript_276B23:: @ 8276B23 + checkitem ITEM_EON_TICKET, 1 + compare VAR_RESULT, 1 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_276B19 + checkflag FLAG_SYS_HAS_EON_TICKET + goto_eq OldaleTown_PokemonCenter_2F_EventScript_276B19 + msgbox gUnknown_08273594, 4 + giveitem_std ITEM_EON_TICKET + setflag FLAG_SYS_HAS_EON_TICKET + setvar VAR_0x403F, 0 + msgbox gUnknown_082735F2, 4 + release + end + +OldaleTown_PokemonCenter_2F_EventScript_276B62:: @ 8276B62 + msgbox gUnknown_08273178, 4 + release + end + +BattleFrontier_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C +DewfordTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C +EverGrandeCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C +EverGrandeCity_PokemonLeague_2F_MapScript2_276B6C: @ 8276B6C +FallarborTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C +FortreeCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C +LavaridgeTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C +LilycoveCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C +MauvilleCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C +MossdeepCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C +OldaleTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C +PacifidlogTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C +PetalburgCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C +RustboroCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C +SlateportCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C +SootopolisCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C +VerdanturfTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C + map_script_2 VAR_0x4087, 1, OldaleTown_PokemonCenter_2F_EventScript_276BAE + map_script_2 VAR_0x4087, 2, OldaleTown_PokemonCenter_2F_EventScript_276BAE + map_script_2 VAR_0x4087, 5, OldaleTown_PokemonCenter_2F_EventScript_276BAE + map_script_2 VAR_0x4087, 3, OldaleTown_PokemonCenter_2F_EventScript_276BAE + map_script_2 VAR_0x4087, 4, OldaleTown_PokemonCenter_2F_EventScript_276BAE + map_script_2 VAR_0x4087, 6, OldaleTown_PokemonCenter_2F_EventScript_276BAE + map_script_2 VAR_0x4087, 7, OldaleTown_PokemonCenter_2F_EventScript_276BAE + map_script_2 VAR_0x4087, 8, OldaleTown_PokemonCenter_2F_EventScript_276BAE + .2byte 0 + +MossdeepCity_GameCorner_1F_EventScript_276BAE:: @ 8276BAE +OldaleTown_PokemonCenter_2F_EventScript_276BAE:: @ 8276BAE + compare VAR_0x8007, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_276BBD + turnobject VAR_0x8007, 3 + +OldaleTown_PokemonCenter_2F_EventScript_276BBD:: @ 8276BBD + end + +BattleFrontier_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE +DewfordTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE +EverGrandeCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE +EverGrandeCity_PokemonLeague_2F_MapScript1_276BBE: @ 8276BBE +FallarborTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE +FortreeCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE +LavaridgeTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE +LilycoveCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE +MauvilleCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE +MossdeepCity_GameCorner_1F_MapScript1_276BBE: @ 8276BBE +MossdeepCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE +OldaleTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE +PacifidlogTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE +PetalburgCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE +RustboroCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE +SlateportCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE +SootopolisCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE +VerdanturfTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE + compare VAR_0x4087, 1 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C17 + compare VAR_0x4087, 2 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C17 + compare VAR_0x4087, 5 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C17 + compare VAR_0x4087, 3 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C1D + compare VAR_0x4087, 4 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C23 + compare VAR_0x4087, 6 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C29 + compare VAR_0x4087, 7 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C2F + compare VAR_0x4087, 8 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C35 + end + +OldaleTown_PokemonCenter_2F_EventScript_276C17:: @ 8276C17 + call OldaleTown_PokemonCenter_2F_EventScript_277BE4 + end + +OldaleTown_PokemonCenter_2F_EventScript_276C1D:: @ 8276C1D + call OldaleTown_PokemonCenter_2F_EventScript_277BE4 + end + +OldaleTown_PokemonCenter_2F_EventScript_276C23:: @ 8276C23 + call OldaleTown_PokemonCenter_2F_EventScript_277BE4 + end + +OldaleTown_PokemonCenter_2F_EventScript_276C29:: @ 8276C29 + call OldaleTown_PokemonCenter_2F_EventScript_277BBE + end + +OldaleTown_PokemonCenter_2F_EventScript_276C2F:: @ 8276C2F + call OldaleTown_PokemonCenter_2F_EventScript_277BE4 + end + +OldaleTown_PokemonCenter_2F_EventScript_276C35:: @ 8276C35 + call OldaleTown_PokemonCenter_2F_EventScript_277C0A + end + +BattleFrontier_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B +DewfordTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B +EverGrandeCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B +EverGrandeCity_PokemonLeague_2F_MapScript2_276C3B: @ 8276C3B +FallarborTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B +FortreeCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B +LavaridgeTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B +LilycoveCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B +MauvilleCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B +MossdeepCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B +OldaleTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B +PacifidlogTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B +PetalburgCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B +RustboroCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B +SlateportCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B +SootopolisCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B +VerdanturfTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B + map_script_2 VAR_0x40CD, 1, OldaleTown_PokemonCenter_2F_EventScript_276DE0 + map_script_2 VAR_0x4087, 1, OldaleTown_PokemonCenter_2F_EventScript_276C85 + map_script_2 VAR_0x4087, 2, OldaleTown_PokemonCenter_2F_EventScript_276C85 + map_script_2 VAR_0x4087, 5, OldaleTown_PokemonCenter_2F_EventScript_276C85 + map_script_2 VAR_0x4087, 3, OldaleTown_PokemonCenter_2F_EventScript_276CE7 + map_script_2 VAR_0x4087, 4, OldaleTown_PokemonCenter_2F_EventScript_276D2C + map_script_2 VAR_0x4087, 6, OldaleTown_PokemonCenter_2F_EventScript_276D6C + map_script_2 VAR_0x4087, 7, OldaleTown_PokemonCenter_2F_EventScript_276C85 + map_script_2 VAR_0x4087, 8, OldaleTown_PokemonCenter_2F_EventScript_276C9D + .2byte 0 + +OldaleTown_PokemonCenter_2F_EventScript_276C85:: @ 8276C85 + lockall + call OldaleTown_PokemonCenter_2F_EventScript_276CB5 + call OldaleTown_PokemonCenter_2F_EventScript_277BF7 + special DrawWholeMapView + playse SE_TK_KASYA + erasebox 0, 0, 29, 19 + releaseall + end + +MossdeepCity_GameCorner_1F_EventScript_276C9D:: @ 8276C9D +OldaleTown_PokemonCenter_2F_EventScript_276C9D:: @ 8276C9D + lockall + call OldaleTown_PokemonCenter_2F_EventScript_276CB5 + call OldaleTown_PokemonCenter_2F_EventScript_277C1D + special DrawWholeMapView + playse SE_TK_KASYA + erasebox 0, 0, 29, 19 + releaseall + end + +OldaleTown_PokemonCenter_2F_EventScript_276CB5:: @ 8276CB5 + special CloseLink + setvar VAR_0x4087, 0 + compare VAR_0x8007, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5 + applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D + waitmovement 0 + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F + waitmovement 0 + applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349 + waitmovement 0 + return + +OldaleTown_PokemonCenter_2F_EventScript_276CE7:: @ 8276CE7 + lockall + call OldaleTown_PokemonCenter_2F_EventScript_276CFF + call OldaleTown_PokemonCenter_2F_EventScript_277BF7 + special DrawWholeMapView + playse SE_TK_KASYA + erasebox 0, 0, 29, 19 + releaseall + end + +OldaleTown_PokemonCenter_2F_EventScript_276CFF:: @ 8276CFF + special CloseLink + setvar VAR_0x4087, 0 + compare VAR_0x8007, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5 + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735E + waitmovement 0 + applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D + waitmovement 0 + call OldaleTown_PokemonCenter_2F_EventScript_276DAE + return + +OldaleTown_PokemonCenter_2F_EventScript_276D2C:: @ 8276D2C + lockall + call OldaleTown_PokemonCenter_2F_EventScript_276D44 + call OldaleTown_PokemonCenter_2F_EventScript_277BF7 + special DrawWholeMapView + playse SE_TK_KASYA + erasebox 0, 0, 29, 19 + releaseall + end + +OldaleTown_PokemonCenter_2F_EventScript_276D44:: @ 8276D44 + special CloseLink + setvar VAR_0x4087, 0 + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F + waitmovement 0 + compare VAR_0x8007, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_276D6B + applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349 + waitmovement 0 + +OldaleTown_PokemonCenter_2F_EventScript_276D6B:: @ 8276D6B + return + +OldaleTown_PokemonCenter_2F_EventScript_276D6C:: @ 8276D6C + lockall + call OldaleTown_PokemonCenter_2F_EventScript_276D84 + call OldaleTown_PokemonCenter_2F_EventScript_277BD1 + special DrawWholeMapView + playse SE_TK_KASYA + erasebox 0, 0, 29, 19 + releaseall + end + +OldaleTown_PokemonCenter_2F_EventScript_276D84:: @ 8276D84 + setvar VAR_0x4087, 0 + compare VAR_0x8007, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5 + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735E + waitmovement 0 + applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D + waitmovement 0 + call OldaleTown_PokemonCenter_2F_EventScript_276DAE + return + +OldaleTown_PokemonCenter_2F_EventScript_276DAE:: @ 8276DAE + message OldaleTown_PokemonCenter_2F_Text_278521 + waitmessage + playse SE_PIN + delay 60 + message OldaleTown_PokemonCenter_2F_Text_27854C + waitmessage + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F + waitmovement 0 + applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349 + waitmovement 0 + return + +OldaleTown_PokemonCenter_2F_EventScript_276DD5:: @ 8276DD5 + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F + waitmovement 0 + return + +OldaleTown_PokemonCenter_2F_EventScript_276DE0:: @ 8276DE0 + lockall + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_2725A6 + waitmovement 0 + msgbox OldaleTown_PokemonCenter_2F_Text_27964A, 4 + closemessage + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_276E10 + waitmovement 0 + delay 30 + msgbox OldaleTown_PokemonCenter_2F_Text_279718, 4 + setvar VAR_0x40CD, 2 + releaseall + end + +OldaleTown_PokemonCenter_2F_Movement_276E10: @ 8276E10 + step_up + step_up + step_end + +OldaleTown_PokemonCenter_2F_EventScript_276E13:: @ 8276E13 + message OldaleTown_PokemonCenter_2F_Text_277EA4 + waitmessage + delay 28 + goto OldaleTown_PokemonCenter_2F_EventScript_276E30 + end + +OldaleTown_PokemonCenter_2F_EventScript_276E22:: @ 8276E22 + msgbox OldaleTown_PokemonCenter_2F_Text_277EF1, 4 + goto OldaleTown_PokemonCenter_2F_EventScript_276E30 + end + +OldaleTown_PokemonCenter_2F_EventScript_276E30:: @ 8276E30 + setvar VAR_0x8004, 0 + checkflag FLAG_VISITED_MAUVILLE_CITY + goto_eq OldaleTown_PokemonCenter_2F_EventScript_276E75 + multichoice 0, 0, 74, 0 + switch VAR_RESULT + case 0, OldaleTown_PokemonCenter_2F_EventScript_2770B2 + case 1, OldaleTown_PokemonCenter_2F_EventScript_276EB7 + case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC + end + +OldaleTown_PokemonCenter_2F_EventScript_276E75:: @ 8276E75 + multichoice 0, 0, 76, 0 + switch VAR_RESULT + case 0, OldaleTown_PokemonCenter_2F_EventScript_2770B2 + case 1, OldaleTown_PokemonCenter_2F_EventScript_276EB7 + case 2, OldaleTown_PokemonCenter_2F_EventScript_2771DB + case 3, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC + end + +OldaleTown_PokemonCenter_2F_EventScript_276EB7:: @ 8276EB7 + copyvar VAR_0x8007, VAR_LAST_TALKED + goto OldaleTown_PokemonCenter_2F_EventScript_276EC2 + end + +OldaleTown_PokemonCenter_2F_EventScript_276EC2:: @ 8276EC2 + message OldaleTown_PokemonCenter_2F_Text_2790BE + waitmessage + multichoice 0, 0, 18, 0 + switch VAR_RESULT + case 0, OldaleTown_PokemonCenter_2F_EventScript_276F23 + case 1, OldaleTown_PokemonCenter_2F_EventScript_276F2E + case 2, OldaleTown_PokemonCenter_2F_EventScript_276F55 + case 3, OldaleTown_PokemonCenter_2F_EventScript_276F15 + case 4, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC + end + +OldaleTown_PokemonCenter_2F_EventScript_276F15:: @ 8276F15 + msgbox OldaleTown_PokemonCenter_2F_Text_279142, 4 + goto OldaleTown_PokemonCenter_2F_EventScript_276EC2 + end + +OldaleTown_PokemonCenter_2F_EventScript_276F23:: @ 8276F23 + setvar VAR_0x8004, 1 + goto OldaleTown_PokemonCenter_2F_EventScript_276F60 + end + +OldaleTown_PokemonCenter_2F_EventScript_276F2E:: @ 8276F2E + special HasEnoughMonsForDoubleBattle + compare VAR_RESULT, 0 + goto_if 5, OldaleTown_PokemonCenter_2F_EventScript_276F47 + setvar VAR_0x8004, 2 + goto OldaleTown_PokemonCenter_2F_EventScript_276F60 + end + +OldaleTown_PokemonCenter_2F_EventScript_276F47:: @ 8276F47 + msgbox OldaleTown_PokemonCenter_2F_Text_277FEE, 4 + goto OldaleTown_PokemonCenter_2F_EventScript_276EC2 + end + +OldaleTown_PokemonCenter_2F_EventScript_276F55:: @ 8276F55 + setvar VAR_0x8004, 5 + goto OldaleTown_PokemonCenter_2F_EventScript_276F60 + end + +OldaleTown_PokemonCenter_2F_EventScript_276F60:: @ 8276F60 + call OldaleTown_PokemonCenter_2F_EventScript_27134F + compare VAR_RESULT, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + message OldaleTown_PokemonCenter_2F_Text_278091 + waitmessage + special sub_80B2DA4 + waitstate + compare VAR_RESULT, 1 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_276FBD + compare VAR_RESULT, 2 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2 + compare VAR_RESULT, 3 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF + compare VAR_RESULT, 4 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_277046 + compare VAR_RESULT, 5 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + compare VAR_RESULT, 6 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5 + end + +OldaleTown_PokemonCenter_2F_EventScript_276FBD:: @ 8276FBD + special HealPlayerParty + special copy_player_party_to_sav1 + special copy_bags_and_unk_data_from_save_blocks + copyvar VAR_0x4087, VAR_0x8004 + messageautoscroll OldaleTown_PokemonCenter_2F_Text_278197 + waitmessage + call OldaleTown_PokemonCenter_2F_EventScript_277BE4 + special DrawWholeMapView + playse SE_TK_KASYA + delay 60 + applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D + waitmovement 0 + closemessage + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356 + waitmovement 0 + opendoor 9, 1 + waitdooranim + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A + waitmovement 0 + hideobjectat 255, PETALBURG_CITY + closedoor 9, 1 + waitdooranim + release + compare VAR_0x8004, 5 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_277036 + special sub_809D2BC + warp SINGLE_BATTLE_COLOSSEUM, 255, 6, 8 + special sub_80AF948 + waitstate + end + +OldaleTown_PokemonCenter_2F_EventScript_27702B:: @ 827702B + applymovement 255, Movement_277352 + waitmovement 0 + return + +OldaleTown_PokemonCenter_2F_EventScript_277036:: @ 8277036 + special sub_809D2BC + warp DOUBLE_BATTLE_COLOSSEUM, 255, 5, 8 + special sub_80AF948 + waitstate + end + +OldaleTown_PokemonCenter_2F_EventScript_277046:: @ 8277046 + switch VAR_0x8004 + case 1, OldaleTown_PokemonCenter_2F_EventScript_277094 + case 2, OldaleTown_PokemonCenter_2F_EventScript_277083 + case 5, OldaleTown_PokemonCenter_2F_EventScript_277072 + goto OldaleTown_PokemonCenter_2F_EventScript_27730E + end + +OldaleTown_PokemonCenter_2F_EventScript_277072:: @ 8277072 + special CloseLink + msgbox OldaleTown_PokemonCenter_2F_Text_27833D, 4 + goto OldaleTown_PokemonCenter_2F_EventScript_2770A5 + end + +OldaleTown_PokemonCenter_2F_EventScript_277083:: @ 8277083 + special CloseLink + msgbox OldaleTown_PokemonCenter_2F_Text_278307, 4 + goto OldaleTown_PokemonCenter_2F_EventScript_2770A5 + end + +OldaleTown_PokemonCenter_2F_EventScript_277094:: @ 8277094 + special CloseLink + msgbox OldaleTown_PokemonCenter_2F_Text_2782D1, 4 + goto OldaleTown_PokemonCenter_2F_EventScript_2770A5 + end + +OldaleTown_PokemonCenter_2F_EventScript_2770A5:: @ 82770A5 + special CloseLink + msgbox OldaleTown_PokemonCenter_2F_Text_278372, 4 + release + end + +OldaleTown_PokemonCenter_2F_EventScript_2770B2:: @ 82770B2 + copyvar VAR_0x8007, VAR_LAST_TALKED + call OldaleTown_PokemonCenter_2F_EventScript_277199 + compare VAR_RESULT, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + call OldaleTown_PokemonCenter_2F_EventScript_27134F + compare VAR_RESULT, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + message OldaleTown_PokemonCenter_2F_Text_278091 + waitmessage + special sub_80B2E4C + waitstate + compare VAR_RESULT, 1 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_27713A + compare VAR_RESULT, 2 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2 + compare VAR_RESULT, 3 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF + compare VAR_RESULT, 4 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_27730E + compare VAR_RESULT, 5 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + compare VAR_RESULT, 6 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5 + compare VAR_RESULT, 7 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772AB + compare VAR_RESULT, 9 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772B8 + end + +OldaleTown_PokemonCenter_2F_EventScript_27713A:: @ 827713A + setvar VAR_0x8004, 3 + copyvar VAR_0x4087, VAR_0x8004 + messageautoscroll OldaleTown_PokemonCenter_2F_Text_278197 + waitmessage + call OldaleTown_PokemonCenter_2F_EventScript_277BE4 + special DrawWholeMapView + playse SE_TK_KASYA + delay 60 + applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D + waitmovement 0 + closemessage + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356 + waitmovement 0 + opendoor 9, 1 + waitdooranim + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A + waitmovement 0 + hideobjectat 255, PETALBURG_CITY + closedoor 9, 1 + waitdooranim + release + special sub_809D2BC + setwarp TRADE_CENTER, 255, 5, 8 + special sub_80AF948 + waitstate + end + +OldaleTown_PokemonCenter_2F_EventScript_277199:: @ 8277199 + specialvar VAR_RESULT, CalculatePlayerPartyCount + compare VAR_RESULT, 2 + goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_2771BF + specialvar VAR_RESULT, sub_80F9370 + compare VAR_RESULT, 1 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2771CD + setvar VAR_RESULT, 1 + return + +OldaleTown_PokemonCenter_2F_EventScript_2771BF:: @ 82771BF + msgbox OldaleTown_PokemonCenter_2F_Text_278027, 4 + setvar VAR_RESULT, 0 + return + +OldaleTown_PokemonCenter_2F_EventScript_2771CD:: @ 82771CD + msgbox OldaleTown_PokemonCenter_2F_Text_278061, 4 + setvar VAR_RESULT, 0 + return + +OldaleTown_PokemonCenter_2F_EventScript_2771DB:: @ 82771DB + copyvar VAR_0x8007, VAR_LAST_TALKED + call OldaleTown_PokemonCenter_2F_EventScript_27134F + compare VAR_RESULT, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + message OldaleTown_PokemonCenter_2F_Text_278091 + waitmessage + special sub_80B2E74 + waitstate + special sub_80B2EA8 + waitstate + compare VAR_RESULT, 12 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_277328 + compare VAR_RESULT, 1 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_27724C + compare VAR_RESULT, 2 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2 + compare VAR_RESULT, 3 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF + compare VAR_RESULT, 4 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_27730E + compare VAR_RESULT, 5 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + compare VAR_RESULT, 6 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5 + end + +OldaleTown_PokemonCenter_2F_EventScript_27724C:: @ 827724C + setvar VAR_0x8004, 4 + copyvar VAR_0x4087, VAR_0x8004 + messageautoscroll OldaleTown_PokemonCenter_2F_Text_278197 + waitmessage + call OldaleTown_PokemonCenter_2F_EventScript_277BE4 + special DrawWholeMapView + playse SE_TK_KASYA + delay 60 + applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D + waitmovement 0 + closemessage + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356 + waitmovement 0 + opendoor 9, 1 + waitdooranim + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A + waitmovement 0 + hideobjectat 255, PETALBURG_CITY + closedoor 9, 1 + waitdooranim + release + special sub_809D2BC + setwarp RECORD_CORNER, 255, 8, 9 + special sub_80AF948 + waitstate + end + +OldaleTown_PokemonCenter_2F_EventScript_2772AB:: @ 82772AB + special CloseLink + msgbox OldaleTown_PokemonCenter_2F_Text_278565, 4 + release + end + +OldaleTown_PokemonCenter_2F_EventScript_2772B8:: @ 82772B8 + special CloseLink + msgbox OldaleTown_PokemonCenter_2F_Text_2785C9, 4 + release + end + +BattleFrontier_BattleTowerLobby_EventScript_2772C5:: @ 82772C5 +OldaleTown_PokemonCenter_2F_EventScript_2772C5:: @ 82772C5 + special CloseLink + msgbox OldaleTown_PokemonCenter_2F_Text_27821C, 4 + release + end + +BattleFrontier_BattleTowerLobby_EventScript_2772D2:: @ 82772D2 +OldaleTown_PokemonCenter_2F_EventScript_2772D2:: @ 82772D2 + special CloseLink + msgbox OldaleTown_PokemonCenter_2F_Text_2781C7, 4 + release + end + +OldaleTown_PokemonCenter_2F_EventScript_2772DF:: @ 82772DF + special CloseLink + msgbox OldaleTown_PokemonCenter_2F_Text_278255, 4 + release + end + +OldaleTown_PokemonCenter_2F_EventScript_2772EC:: @ 82772EC + special CloseLink + msgbox OldaleTown_PokemonCenter_2F_Text_278291, 4 + release + end + +MossdeepCity_GameCorner_1F_EventScript_2772F9:: @ 82772F9 + special CloseLink + msgbox MossdeepCity_GameCorner_1F_Text_278D51, 4 + release + end + +OldaleTown_PokemonCenter_2F_EventScript_277306:: @ 8277306 + special sub_809D2BC + special sub_80AF948 + waitstate + end + +OldaleTown_PokemonCenter_2F_EventScript_27730E:: @ 827730E + special CloseLink + msgbox OldaleTown_PokemonCenter_2F_Text_2782A8, 4 + release + end + +OldaleTown_PokemonCenter_2F_EventScript_27731B:: @ 827731B + special CloseLink + msgbox OldaleTown_PokemonCenter_2F_Text_2785E9, 4 + release + end + +OldaleTown_PokemonCenter_2F_EventScript_277328:: @ 8277328 + special CloseLink + msgbox OldaleTown_PokemonCenter_2F_Text_278651, 4 + release + end + +OldaleTown_PokemonCenter_2F_EventScript_277335:: @ 8277335 + msgbox gUnknown_0827306F, 4 + release + end + +OldaleTown_PokemonCenter_2F_EventScript_27733F:: @ 827733F + msgbox gUnknown_082730BC, 4 + releaseall + end + +OldaleTown_PokemonCenter_2F_Movement_277349: @ 8277349 + step_00 + step_end + +OldaleTown_PokemonCenter_2F_Movement_27734B: @ 827734B + step_03 + step_end + +MossdeepCity_GameCorner_1F_Movement_27734D: @ 827734D +OldaleTown_PokemonCenter_2F_Movement_27734D: @ 827734D + step_02 + step_end + +OldaleTown_PokemonCenter_2F_Movement_27734F: @ 827734F + step_down + step_down + step_end + +Movement_277352: @ 8277352 + step_right + step_up + step_up + step_end + +OldaleTown_PokemonCenter_2F_Movement_277356: @ 8277356 + step_left + step_up + step_up + step_end + +OldaleTown_PokemonCenter_2F_Movement_27735A: @ 827735A + step_up + step_end + +OldaleTown_PokemonCenter_2F_Movement_27735C: @ 827735C + step_02 + step_end + +OldaleTown_PokemonCenter_2F_Movement_27735E: @ 827735E + step_03 + step_end + +MossdeepCity_GameCorner_1F_Movement_277360: @ 8277360 + step_left + step_up + step_up + step_up + step_end + +gUnknown_08277365:: @ 8277365 + lockall + setvar VAR_0x8004, 0 + special sub_813C4BC + waitbuttonpress + special sub_813C5A0 + releaseall + end + +gUnknown_08277374:: @ 8277374 + setvar VAR_0x8005, 0 + special sub_80B3968 + waitstate + end + +gUnknown_0827737E:: @ 827737E + setvar VAR_0x8005, 1 + special sub_80B3968 + waitstate + end + +gUnknown_08277388:: @ 8277388 + fadescreen 1 + special sub_80F9438 + waitstate + compare VAR_RESULT, 0 + goto_eq DoubleBattleColosseum_EventScript_2773F4 + setvar VAR_0x8005, 0 + special sub_80B3968 + waitstate + end + +gUnknown_082773A3:: @ 82773A3 + fadescreen 1 + special sub_80F9438 + waitstate + compare VAR_RESULT, 0 + goto_eq DoubleBattleColosseum_EventScript_2773F4 + setvar VAR_0x8005, 1 + special sub_80B3968 + waitstate + end + +gUnknown_082773BE:: @ 82773BE + fadescreen 1 + special sub_80F9438 + waitstate + compare VAR_RESULT, 0 + goto_eq DoubleBattleColosseum_EventScript_2773F4 + setvar VAR_0x8005, 2 + special sub_80B3968 + waitstate + end + +gUnknown_082773D9:: @ 82773D9 + fadescreen 1 + special sub_80F9438 + waitstate + compare VAR_RESULT, 0 + goto_eq DoubleBattleColosseum_EventScript_2773F4 + setvar VAR_0x8005, 3 + special sub_80B3968 + waitstate + end + +DoubleBattleColosseum_EventScript_2773F4:: @ 82773F4 + end + +gUnknown_082773F5:: @ 82773F5 + setvar VAR_0x8005, 0 + special sub_80B3924 + waitstate + end + +gUnknown_082773FF:: @ 82773FF + setvar VAR_0x8005, 1 + special sub_80B3924 + waitstate + end + +gUnknown_08277409:: @ 8277409 + setvar VAR_0x8005, 2 + special sub_80B3924 + waitstate + end + +gUnknown_08277413:: @ 8277413 + setvar VAR_0x8005, 3 + special sub_80B3924 + waitstate + end + +gUnknown_0827741D:: @ 827741D + setvar VAR_0x8005, 0 + special sub_80E6BE8 + waitstate + compare VAR_0x4001, 0 + goto_if 5, RecordCorner_EventScript_277471 + end + +gUnknown_08277432:: @ 8277432 + setvar VAR_0x8005, 1 + special sub_80E6BE8 + waitstate + compare VAR_0x4001, 0 + goto_if 5, RecordCorner_EventScript_277471 + end + +gUnknown_08277447:: @ 8277447 + setvar VAR_0x8005, 2 + special sub_80E6BE8 + waitstate + compare VAR_0x4001, 0 + goto_if 5, RecordCorner_EventScript_277471 + end + +gUnknown_0827745C:: @ 827745C + setvar VAR_0x8005, 3 + special sub_80E6BE8 + waitstate + compare VAR_0x4001, 0 + goto_if 5, RecordCorner_EventScript_277471 + end + +RecordCorner_EventScript_277471:: @ 8277471 + bufferitemname 1, VAR_0x4001 + message RecordCorner_Text_27863C + waitmessage + waitbuttonpress + releaseall + end + +gUnknown_0827747E:: @ 827747E + msgbox Text_278452, 4 + fadescreen 1 + special sp02A_crash_sound + waitstate + end + +gUnknown_0827748D:: @ 827748D + msgbox Text_27847B, 4 + fadescreen 1 + special sp02A_crash_sound + waitstate + end + +gUnknown_0827749C:: @ 827749C + msgbox Text_27842E, 4 + closemessage + end + +SingleBattleColosseum_EventScript_2774A6:: @ 82774A6 + special sub_8098574 + msgbox SingleBattleColosseum_Text_2784B4, 4 + special sub_809859C + closemessage + end + +TradeCenter_EventScript_2774B6:: @ 82774B6 + special sub_8098574 + msgbox TradeCenter_Text_2784E2, 4 + special sub_809859C + closemessage + end + +RecordCorner_EventScript_2774C6:: @ 82774C6 + compare VAR_0x4000, 0 + goto_if 5, RecordCorner_EventScript_2774E0 + special sub_8098574 + message RecordCorner_Text_27861C + waitmessage + waitbuttonpress + special sub_809859C + closemessage + end + +RecordCorner_EventScript_2774E0:: @ 82774E0 + special sub_8098574 + message RecordCorner_Text_27850E + waitmessage + waitbuttonpress + special sub_809859C + closemessage + end + +gUnknown_082774EF:: @ 82774EF + msgbox Text_2783A8, 5 + compare VAR_RESULT, 1 + goto_eq gUnknown_08277509 + erasebox 0, 0, 29, 19 + releaseall + end + +gUnknown_08277509:: @ 8277509 + messageautoscroll Text_2783E9 + waitmessage + special sub_80B371C + end + +gUnknown_08277513:: @ 8277513 + special sub_80B36EC + special sub_80AF9F8 + waitstate + end + +OldaleTown_PokemonCenter_2F_EventScript_27751B:: @ 827751B + lock + faceplayer + setvar VAR_FRONTIER_FACILITY, 8 + checkflag FLAG_SYS_POKEDEX_GET + goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_277335 + specialvar VAR_RESULT, sub_813990C + compare VAR_RESULT, 1 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_27731B + copyvar VAR_0x8007, VAR_LAST_TALKED + specialvar VAR_RESULT, sub_80093CC + compare VAR_RESULT, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_277668 + message OldaleTown_PokemonCenter_2F_Text_27940D + waitmessage + goto OldaleTown_PokemonCenter_2F_EventScript_27755C + end + +OldaleTown_PokemonCenter_2F_EventScript_27755C:: @ 827755C + multichoice 17, 6, 17, 0 + switch VAR_RESULT + case 0, OldaleTown_PokemonCenter_2F_EventScript_27759F + case 1, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 2, OldaleTown_PokemonCenter_2F_EventScript_277593 + case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC + end + +OldaleTown_PokemonCenter_2F_EventScript_277593:: @ 8277593 + message OldaleTown_PokemonCenter_2F_Text_2794B8 + waitmessage + goto OldaleTown_PokemonCenter_2F_EventScript_27755C + end + +OldaleTown_PokemonCenter_2F_EventScript_27759F:: @ 827759F + call OldaleTown_PokemonCenter_2F_EventScript_277626 + compare VAR_RESULT, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + call OldaleTown_PokemonCenter_2F_EventScript_27134F + compare VAR_RESULT, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + msgbox OldaleTown_PokemonCenter_2F_Text_27961C, 4 + closemessage + special HealPlayerParty + setvar VAR_0x8004, 6 + copyvar VAR_0x4087, VAR_0x8004 + call OldaleTown_PokemonCenter_2F_EventScript_277BBE + special DrawWholeMapView + playse SE_TK_KASYA + delay 60 + applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D + waitmovement 0 + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356 + waitmovement 0 + opendoor 5, 1 + waitdooranim + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A + waitmovement 0 + hideobjectat 255, PETALBURG_CITY + closedoor 5, 1 + waitdooranim + special sub_8018090 + special sub_809D2BC + warpteleport2 UNION_ROOM, 255, 7, 11 + waitstate + special UnionRoomSpecial + waitstate + end + +OldaleTown_PokemonCenter_2F_EventScript_277626:: @ 8277626 + specialvar VAR_RESULT, CountPartyNonEggMons + compare VAR_RESULT, 2 + goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_27764C + specialvar VAR_RESULT, sub_80F9370 + compare VAR_RESULT, 1 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_27765A + setvar VAR_RESULT, 1 + return + +OldaleTown_PokemonCenter_2F_EventScript_27764C:: @ 827764C + msgbox OldaleTown_PokemonCenter_2F_Text_27893E, 4 + goto OldaleTown_PokemonCenter_2F_EventScript_273755 + end + +OldaleTown_PokemonCenter_2F_EventScript_27765A:: @ 827765A + msgbox OldaleTown_PokemonCenter_2F_Text_27897B, 4 + goto OldaleTown_PokemonCenter_2F_EventScript_273755 + end + +OldaleTown_PokemonCenter_2F_EventScript_277668:: @ 8277668 + msgbox OldaleTown_PokemonCenter_2F_Text_2789B5, 4 + release + return + +OldaleTown_PokemonCenter_2F_EventScript_277672:: @ 8277672 + lock + faceplayer + checkflag FLAG_SYS_POKEDEX_GET + goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_277335 + msgbox OldaleTown_PokemonCenter_2F_Text_279937, 5 + compare VAR_RESULT, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_27769A + msgbox OldaleTown_PokemonCenter_2F_Text_2799AA, 4 + release + return + +OldaleTown_PokemonCenter_2F_EventScript_27769A:: @ 827769A + msgbox OldaleTown_PokemonCenter_2F_Text_279C91, 4 + release + return + +OldaleTown_PokemonCenter_2F_EventScript_2776A4:: @ 82776A4 + lock + faceplayer + setvar VAR_FRONTIER_FACILITY, 9 + checkflag FLAG_SYS_POKEDEX_GET + goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_277335 + specialvar VAR_RESULT, sub_813990C + compare VAR_RESULT, 1 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_27731B + specialvar VAR_RESULT, sub_80093CC + compare VAR_RESULT, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_276E13 + message OldaleTown_PokemonCenter_2F_Text_279013 + waitmessage + delay 28 + goto OldaleTown_PokemonCenter_2F_EventScript_2776E3 + end + +OldaleTown_PokemonCenter_2F_EventScript_2776E3:: @ 82776E3 + checkitem ITEM_POWDER_JAR, 1 + compare VAR_RESULT, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_27778B + checkflag FLAG_VISITED_MAUVILLE_CITY + goto_eq OldaleTown_PokemonCenter_2F_EventScript_27773E + multichoice 0, 0, 78, 0 + switch VAR_RESULT + case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D + case 1, OldaleTown_PokemonCenter_2F_EventScript_27783B + case 2, OldaleTown_PokemonCenter_2F_EventScript_2778F7 + case 3, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC + end + +OldaleTown_PokemonCenter_2F_EventScript_27773E:: @ 827773E + multichoice 0, 0, 79, 0 + switch VAR_RESULT + case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D + case 1, OldaleTown_PokemonCenter_2F_EventScript_27783B + case 2, OldaleTown_PokemonCenter_2F_EventScript_2778D9 + case 3, OldaleTown_PokemonCenter_2F_EventScript_2778F7 + case 4, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC + end + +OldaleTown_PokemonCenter_2F_EventScript_27778B:: @ 827778B + checkflag FLAG_VISITED_MAUVILLE_CITY + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2777CB + multichoice 0, 0, 75, 0 + switch VAR_RESULT + case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D + case 1, OldaleTown_PokemonCenter_2F_EventScript_27783B + case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC + end + +OldaleTown_PokemonCenter_2F_EventScript_2777CB:: @ 82777CB + multichoice 0, 0, 77, 0 + switch VAR_RESULT + case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D + case 1, OldaleTown_PokemonCenter_2F_EventScript_27783B + case 2, OldaleTown_PokemonCenter_2F_EventScript_2778D9 + case 3, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC + end + +OldaleTown_PokemonCenter_2F_EventScript_27780D:: @ 827780D + msgbox OldaleTown_PokemonCenter_2F_Text_27909D, 5 + compare VAR_RESULT, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + call OldaleTown_PokemonCenter_2F_EventScript_277199 + compare VAR_RESULT, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + setvar VAR_0x8004, 3 + goto OldaleTown_PokemonCenter_2F_EventScript_277931 + end + +OldaleTown_PokemonCenter_2F_EventScript_27783B:: @ 827783B + message OldaleTown_PokemonCenter_2F_Text_2790BE + waitmessage + multichoice 0, 0, 18, 0 + switch VAR_RESULT + case 0, OldaleTown_PokemonCenter_2F_EventScript_27788E + case 1, OldaleTown_PokemonCenter_2F_EventScript_277899 + case 2, OldaleTown_PokemonCenter_2F_EventScript_2778C0 + case 3, OldaleTown_PokemonCenter_2F_EventScript_2778CB + case 4, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC + end + +OldaleTown_PokemonCenter_2F_EventScript_27788E:: @ 827788E + setvar VAR_0x8004, 0 + goto OldaleTown_PokemonCenter_2F_EventScript_277931 + end + +OldaleTown_PokemonCenter_2F_EventScript_277899:: @ 8277899 + special HasEnoughMonsForDoubleBattle + compare VAR_RESULT, 0 + goto_if 5, OldaleTown_PokemonCenter_2F_EventScript_2778B2 + setvar VAR_0x8004, 1 + goto OldaleTown_PokemonCenter_2F_EventScript_277931 + end + +OldaleTown_PokemonCenter_2F_EventScript_2778B2:: @ 82778B2 + msgbox OldaleTown_PokemonCenter_2F_Text_277FEE, 4 + goto OldaleTown_PokemonCenter_2F_EventScript_27783B + end + +OldaleTown_PokemonCenter_2F_EventScript_2778C0:: @ 82778C0 + setvar VAR_0x8004, 2 + goto OldaleTown_PokemonCenter_2F_EventScript_277931 + end + +OldaleTown_PokemonCenter_2F_EventScript_2778CB:: @ 82778CB + msgbox OldaleTown_PokemonCenter_2F_Text_279142, 4 + goto OldaleTown_PokemonCenter_2F_EventScript_27783B + end + +OldaleTown_PokemonCenter_2F_EventScript_2778D9:: @ 82778D9 + msgbox OldaleTown_PokemonCenter_2F_Text_2790E8, 5 + compare VAR_RESULT, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + setvar VAR_0x8004, 12 + goto OldaleTown_PokemonCenter_2F_EventScript_277931 + end + +OldaleTown_PokemonCenter_2F_EventScript_2778F7:: @ 82778F7 + msgbox OldaleTown_PokemonCenter_2F_Text_279114, 5 + compare VAR_RESULT, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + special HasAtLeastOneBerry + compare VAR_RESULT, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_277923 + setvar VAR_0x8004, 5 + goto OldaleTown_PokemonCenter_2F_EventScript_277931 + end + +OldaleTown_PokemonCenter_2F_EventScript_277923:: @ 8277923 + msgbox OldaleTown_PokemonCenter_2F_Text_2788FC, 4 + goto OldaleTown_PokemonCenter_2F_EventScript_2776E3 + end + +OldaleTown_PokemonCenter_2F_EventScript_277931:: @ 8277931 + call OldaleTown_PokemonCenter_2F_EventScript_27134F + compare VAR_RESULT, 0 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC + switch VAR_0x8004 + case 3, OldaleTown_PokemonCenter_2F_EventScript_277989 + case 0, OldaleTown_PokemonCenter_2F_EventScript_277989 + case 1, OldaleTown_PokemonCenter_2F_EventScript_277989 + case 2, OldaleTown_PokemonCenter_2F_EventScript_277A16 + case 5, OldaleTown_PokemonCenter_2F_EventScript_277AA3 + case 12, OldaleTown_PokemonCenter_2F_EventScript_277AA3 + end + +OldaleTown_PokemonCenter_2F_EventScript_277989:: @ 8277989 + message OldaleTown_PokemonCenter_2F_Text_2792CD + waitmessage + multichoice 16, 6, 81, 0 + switch VAR_RESULT + case 0, OldaleTown_PokemonCenter_2F_EventScript_2779EE + case 1, OldaleTown_PokemonCenter_2F_EventScript_2779C6 + case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC + end + +OldaleTown_PokemonCenter_2F_EventScript_2779C6:: @ 82779C6 + call OldaleTown_PokemonCenter_2F_EventScript_277B30 + compare VAR_RESULT, 1 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + compare VAR_RESULT, 5 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_277989 + compare VAR_RESULT, 8 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2779C6 + release + return + +OldaleTown_PokemonCenter_2F_EventScript_2779EE:: @ 82779EE + call OldaleTown_PokemonCenter_2F_EventScript_277B35 + compare VAR_RESULT, 1 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + compare VAR_RESULT, 5 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_277989 + compare VAR_RESULT, 8 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_2779EE + release + return + +OldaleTown_PokemonCenter_2F_EventScript_277A16:: @ 8277A16 + message OldaleTown_PokemonCenter_2F_Text_279334 + waitmessage + multichoice 16, 6, 81, 0 + switch VAR_RESULT + case 0, OldaleTown_PokemonCenter_2F_EventScript_277A7B + case 1, OldaleTown_PokemonCenter_2F_EventScript_277A53 + case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC + end + +OldaleTown_PokemonCenter_2F_EventScript_277A53:: @ 8277A53 + call OldaleTown_PokemonCenter_2F_EventScript_277B30 + compare VAR_RESULT, 1 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + compare VAR_RESULT, 5 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_277A16 + compare VAR_RESULT, 8 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_277A53 + release + return + +OldaleTown_PokemonCenter_2F_EventScript_277A7B:: @ 8277A7B + call OldaleTown_PokemonCenter_2F_EventScript_277B35 + compare VAR_RESULT, 1 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + compare VAR_RESULT, 5 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_277A16 + compare VAR_RESULT, 8 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_277A7B + release + return + +OldaleTown_PokemonCenter_2F_EventScript_277AA3:: @ 8277AA3 + message OldaleTown_PokemonCenter_2F_Text_2793A3 + waitmessage + multichoice 16, 6, 81, 0 + switch VAR_RESULT + case 0, OldaleTown_PokemonCenter_2F_EventScript_277B08 + case 1, OldaleTown_PokemonCenter_2F_EventScript_277AE0 + case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC + case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC + end + +OldaleTown_PokemonCenter_2F_EventScript_277AE0:: @ 8277AE0 + call OldaleTown_PokemonCenter_2F_EventScript_277B30 + compare VAR_RESULT, 1 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + compare VAR_RESULT, 5 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_277AA3 + compare VAR_RESULT, 8 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_277AE0 + release + return + +OldaleTown_PokemonCenter_2F_EventScript_277B08:: @ 8277B08 + call OldaleTown_PokemonCenter_2F_EventScript_277B35 + compare VAR_RESULT, 1 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A + compare VAR_RESULT, 5 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_277AA3 + compare VAR_RESULT, 8 + goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B08 + release + return + +BattleFrontier_BattleTowerLobby_EventScript_277B30:: @ 8277B30 +MossdeepCity_GameCorner_1F_EventScript_277B30:: @ 8277B30 +OldaleTown_PokemonCenter_2F_EventScript_277B30:: @ 8277B30 + special BerryBlenderLinkBecomeLeader + waitstate + return + +BattleFrontier_BattleTowerLobby_EventScript_277B35:: @ 8277B35 +MossdeepCity_GameCorner_1F_EventScript_277B35:: @ 8277B35 +OldaleTown_PokemonCenter_2F_EventScript_277B35:: @ 8277B35 + special BerryBlenderLinkJoinGroup + waitstate + return + +OldaleTown_PokemonCenter_2F_EventScript_277B3A:: @ 8277B3A + messageautoscroll OldaleTown_PokemonCenter_2F_Text_2781A5 + waitmessage + delay 60 + closemessage + copyvar VAR_0x8007, VAR_LAST_TALKED + call OldaleTown_PokemonCenter_2F_EventScript_277BE4 + special DrawWholeMapView + playse SE_TK_KASYA + delay 60 + applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D + waitmovement 0 + closemessage + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356 + waitmovement 0 + opendoor 9, 1 + waitdooranim + applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A + waitmovement 0 + hideobjectat 255, PETALBURG_CITY + closedoor 9, 1 + waitdooranim + release + waitstate + end + +OldaleTown_PokemonCenter_2F_EventScript_277B8A:: @ 8277B8A + lockall + checkflag FLAG_SYS_POKEDEX_GET + goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_27733F + specialvar VAR_RESULT, sub_80093CC + compare VAR_RESULT, 0 + goto_eq EventScript_277BB4 + fadescreen 1 + special sub_801A42C + waitstate + msgbox OldaleTown_PokemonCenter_2F_Text_27874F, 4 + releaseall + end + +EventScript_277BB4:: @ 8277BB4 + msgbox OldaleTown_PokemonCenter_2F_Text_27871F, 4 + releaseall + end + +OldaleTown_PokemonCenter_2F_EventScript_277BBE:: @ 8277BBE + setmetatile 5, 2, 732, 0 + setmetatile 5, 3, 740, 0 + return + +OldaleTown_PokemonCenter_2F_EventScript_277BD1:: @ 8277BD1 + setmetatile 5, 2, 542, 1 + setmetatile 5, 3, 605, 1 + return + +OldaleTown_PokemonCenter_2F_EventScript_277BE4:: @ 8277BE4 + setmetatile 9, 2, 732, 0 + setmetatile 9, 3, 740, 0 + return + +OldaleTown_PokemonCenter_2F_EventScript_277BF7:: @ 8277BF7 + setmetatile 9, 2, 542, 1 + setmetatile 9, 3, 605, 1 + return + +MossdeepCity_GameCorner_1F_EventScript_277C0A:: @ 8277C0A +OldaleTown_PokemonCenter_2F_EventScript_277C0A:: @ 8277C0A + setmetatile 5, 2, 556, 0 + setmetatile 5, 3, 564, 0 + return + +OldaleTown_PokemonCenter_2F_EventScript_277C1D:: @ 8277C1D + setmetatile 5, 2, 554, 1 + setmetatile 5, 3, 562, 1 + return + +BattleFrontier_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 +DewfordTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 +EverGrandeCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 +EverGrandeCity_PokemonLeague_1F_MapScript1_277C30: @ 8277C30 +FallarborTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 +FortreeCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 +LavaridgeTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 +LilycoveCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 +MauvilleCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 +MossdeepCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 +OldaleTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 +PacifidlogTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 +PetalburgCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 +RustboroCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 +SlateportCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 +SootopolisCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 +VerdanturfTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30 + special sub_8016934 + end + +MossdeepCity_GameCorner_1F_EventScript_277C34:: @ 8277C34 + lock + faceplayer + message MossdeepCity_GameCorner_1F_Text_278A7D + waitmessage + multichoice 0, 0, 80, 0 + switch VAR_RESULT + case 0, MossdeepCity_GameCorner_1F_EventScript_277C73 + case 1, MossdeepCity_GameCorner_1F_EventScript_277C7D + case 2, MossdeepCity_GameCorner_1F_EventScript_277C87 + case 127, MossdeepCity_GameCorner_1F_EventScript_277C87 + end + +MossdeepCity_GameCorner_1F_EventScript_277C73:: @ 8277C73 + msgbox MossdeepCity_GameCorner_1F_Text_278ACB, 4 + release + end + +MossdeepCity_GameCorner_1F_EventScript_277C7D:: @ 8277C7D + msgbox MossdeepCity_GameCorner_1F_Text_278BF1, 4 + release + end + +MossdeepCity_GameCorner_1F_EventScript_277C87:: @ 8277C87 + msgbox MossdeepCity_GameCorner_1F_Text_278CAC, 4 + release + end + +MossdeepCity_GameCorner_1F_EventScript_277C91:: @ 8277C91 + lock + faceplayer + message MossdeepCity_GameCorner_1F_Text_278CEB + waitmessage + specialvar VAR_RESULT, sub_80093CC + compare VAR_RESULT, 0 + goto_eq MossdeepCity_GameCorner_1F_EventScript_277E48 + delay 60 + message MossdeepCity_GameCorner_1F_Text_278DAD + waitmessage + multichoice 0, 0, 80, 0 + switch VAR_RESULT + case 0, MossdeepCity_GameCorner_1F_EventScript_277CE9 + case 1, MossdeepCity_GameCorner_1F_EventScript_277D35 + case 2, MossdeepCity_GameCorner_1F_EventScript_2772F9 + case 127, MossdeepCity_GameCorner_1F_EventScript_2772F9 + end + +MossdeepCity_GameCorner_1F_EventScript_277CE9:: @ 8277CE9 + setvar VAR_0x8005, 0 + special sub_802C920 + compare VAR_RESULT, 0 + goto_eq MossdeepCity_GameCorner_1F_EventScript_277E55 + msgbox MossdeepCity_GameCorner_1F_Text_278DD9, 4 + fadescreen 1 + setvar VAR_0x8005, 0 + special sub_81B8958 + waitstate + compare VAR_0x8004, 6 + goto_if 4, MossdeepCity_GameCorner_1F_EventScript_2772F9 + call MossdeepCity_GameCorner_1F_EventScript_27134F + compare VAR_RESULT, 0 + goto_eq MossdeepCity_GameCorner_1F_EventScript_2772F9 + setvar VAR_0x8004, 4 + goto MossdeepCity_GameCorner_1F_EventScript_277D81 + end + +MossdeepCity_GameCorner_1F_EventScript_277D35:: @ 8277D35 + setvar VAR_0x8005, 1 + special sub_8027A5C + compare VAR_RESULT, 0 + goto_eq MossdeepCity_GameCorner_1F_EventScript_277E55 + msgbox MossdeepCity_GameCorner_1F_Text_278DD9, 4 + fadescreen 1 + setvar VAR_0x8005, 1 + special sub_81B8958 + waitstate + compare VAR_0x8004, 6 + goto_if 4, MossdeepCity_GameCorner_1F_EventScript_2772F9 + call MossdeepCity_GameCorner_1F_EventScript_27134F + compare VAR_RESULT, 0 + goto_eq MossdeepCity_GameCorner_1F_EventScript_2772F9 + setvar VAR_0x8004, 6 + goto MossdeepCity_GameCorner_1F_EventScript_277D81 + end + +MossdeepCity_GameCorner_1F_EventScript_277D81:: @ 8277D81 + message MossdeepCity_GameCorner_1F_Text_2793A3 + waitmessage + multichoice 16, 6, 81, 0 + switch VAR_RESULT + case 0, MossdeepCity_GameCorner_1F_EventScript_277DE6 + case 1, MossdeepCity_GameCorner_1F_EventScript_277DBE + case 2, MossdeepCity_GameCorner_1F_EventScript_2772F9 + case 127, MossdeepCity_GameCorner_1F_EventScript_2772F9 + end + +MossdeepCity_GameCorner_1F_EventScript_277DBE:: @ 8277DBE + call MossdeepCity_GameCorner_1F_EventScript_277B30 + compare VAR_RESULT, 1 + goto_eq MossdeepCity_GameCorner_1F_EventScript_277E0E + compare VAR_RESULT, 5 + goto_eq MossdeepCity_GameCorner_1F_EventScript_277D81 + compare VAR_RESULT, 8 + goto_eq MossdeepCity_GameCorner_1F_EventScript_277DBE + release + return + +MossdeepCity_GameCorner_1F_EventScript_277DE6:: @ 8277DE6 + call MossdeepCity_GameCorner_1F_EventScript_277B35 + compare VAR_RESULT, 1 + goto_eq MossdeepCity_GameCorner_1F_EventScript_277E0E + compare VAR_RESULT, 5 + goto_eq MossdeepCity_GameCorner_1F_EventScript_277D81 + compare VAR_RESULT, 8 + goto_eq MossdeepCity_GameCorner_1F_EventScript_277DE6 + release + return + +MossdeepCity_GameCorner_1F_EventScript_277E0E:: @ 8277E0E + messageautoscroll MossdeepCity_GameCorner_1F_Text_278E00 + waitmessage + delay 60 + closemessage + copyvar VAR_0x8007, VAR_LAST_TALKED + call MossdeepCity_GameCorner_1F_EventScript_277C0A + special DrawWholeMapView + playse SE_TK_KASYA + delay 60 + applymovement VAR_LAST_TALKED, MossdeepCity_GameCorner_1F_Movement_27734D + waitmovement 0 + closemessage + applymovement 255, MossdeepCity_GameCorner_1F_Movement_277360 + waitmovement 0 + hideobjectat 255, PETALBURG_CITY + release + waitstate + end + +MossdeepCity_GameCorner_1F_EventScript_277E48:: @ 8277E48 + delay 60 + msgbox MossdeepCity_GameCorner_1F_Text_278D68, 4 + release + end + +MossdeepCity_GameCorner_1F_EventScript_277E55:: @ 8277E55 + msgbox MossdeepCity_GameCorner_1F_Text_278E60, 5 + compare VAR_RESULT, 0 + goto_eq MossdeepCity_GameCorner_1F_EventScript_2772F9 + compare VAR_0x8005, 0 + call_if 1, MossdeepCity_GameCorner_1F_EventScript_277E84 + compare VAR_0x8005, 1 + call_if 1, MossdeepCity_GameCorner_1F_EventScript_277E8D + goto MossdeepCity_GameCorner_1F_EventScript_2772F9 + end + +MossdeepCity_GameCorner_1F_EventScript_277E84:: @ 8277E84 + msgbox MossdeepCity_GameCorner_1F_Text_278EDC, 4 + return + +MossdeepCity_GameCorner_1F_EventScript_277E8D:: @ 8277E8D + msgbox MossdeepCity_GameCorner_1F_Text_278FA4, 4 + return + +MossdeepCity_GameCorner_1F_EventScript_277E96:: @ 8277E96 + lockall + special sub_802E3C4 + waitstate + releaseall + end + +MossdeepCity_GameCorner_1F_EventScript_277E9D:: @ 8277E9D + lockall + special sub_8027AAC + waitstate + releaseall + end +OldaleTown_PokemonCenter_2F_Text_277EA4: @ 8277EA4 + .string "Welcome to the POKéMON CABLE\n" + .string "CLUB.\p" + .string "Which of our services do you wish\n" + .string "to use?$" + +OldaleTown_PokemonCenter_2F_Text_277EF1: @ 8277EF1 + .string "Which of our services do you wish\n" + .string "to use?$" + +OldaleTown_PokemonCenter_2F_Text_277F1B:: @ 8277F1B + .string "Trade POKéMON with another player\n" + .string "using a GBA Game Link cable.$" + +OldaleTown_PokemonCenter_2F_Text_277F5A:: @ 8277F5A + .string "You may battle another TRAINER\n" + .string "using a GBA Game Link cable.$" + +OldaleTown_PokemonCenter_2F_Text_277F96:: @ 8277F96 + .string "You can use the RECORD CORNER with\n" + .string "others using a GBA Game Link cable.$" + +OldaleTown_PokemonCenter_2F_Text_277FDD: @ 8277FDD + .string "Close this menu.$" + +OldaleTown_PokemonCenter_2F_Text_277FEE: @ 8277FEE + .string "For a DOUBLE BATTLE, you must\n" + .string "have at least two POKéMON.$" + +OldaleTown_PokemonCenter_2F_Text_278027: @ 8278027 + .string "For trading, you must have at\n" + .string "least two POKéMON with you.$" + +OldaleTown_PokemonCenter_2F_Text_278061: @ 8278061 + .string "A POKéMON holding the {STR_VAR_1}\n" + .string "BERRY can’t be traded.$" + +OldaleTown_PokemonCenter_2F_Text_278091:: @ 8278091 + .string "Please wait.\n" + .string "… … B Button: Cancel$" + +OldaleTown_PokemonCenter_2F_Text_2780B3:: @ 82780B3 + .string "When all players are ready…\n" + .string "A Button: Confirm\l" + .string "B Button: Cancel$" + +OldaleTown_PokemonCenter_2F_Text_2780F2:: @ 82780F2 + .string "Start link with {STR_VAR_1} players.\n" + .string "A Button: Confirm\l" + .string "B Button: Cancel$" + +OldaleTown_PokemonCenter_2F_Text_278131:: @ 8278131 + .string "Awaiting linkup…\n" + .string "… … B Button: Cancel$" + +OldaleTown_PokemonCenter_2F_Text_278157:: @ 8278157 + .string "Your progress must be saved before\n" + .string "linking. Is it okay to save?$" + +OldaleTown_PokemonCenter_2F_Text_278197: @ 8278197 + .string "Please enter.$" + +OldaleTown_PokemonCenter_2F_Text_2781A5: @ 82781A5 + .string "I’ll direct you to your room now.$" + +LilycoveCity_ContestLobby_Text_2781C7: @ 82781C7 +OldaleTown_PokemonCenter_2F_Text_2781C7: @ 82781C7 + .string "Someone is not ready to link.\p" + .string "Please come back after everyone\n" + .string "has made preparations.$" + +LilycoveCity_ContestLobby_Text_27821C: @ 827821C +OldaleTown_PokemonCenter_2F_Text_27821C: @ 827821C + .string "Sorry, we have a link error…\n" + .string "Please reset and try again.$" + +BattleFrontier_BattleTowerLobby_Text_278255: @ 8278255 +LilycoveCity_ContestLobby_Text_278255: @ 8278255 +OldaleTown_PokemonCenter_2F_Text_278255: @ 8278255 + .string "The link partners appear to have\n" + .string "made different selections.$" + +OldaleTown_PokemonCenter_2F_Text_278291: @ 8278291 + .string "Please do visit again.$" + +BattleFrontier_BattleTowerLobby_Text_2782A8: @ 82782A8 +OldaleTown_PokemonCenter_2F_Text_2782A8: @ 82782A8 + .string "The number of participants is\n" + .string "incorrect.$" + +OldaleTown_PokemonCenter_2F_Text_2782D1: @ 82782D1 + .string "The SINGLE BATTLE Mode can’t be\n" + .string "played by {STR_VAR_1} players.$" + +OldaleTown_PokemonCenter_2F_Text_278307: @ 8278307 + .string "The DOUBLE BATTLE Mode can’t be\n" + .string "played by {STR_VAR_1} players.$" + +OldaleTown_PokemonCenter_2F_Text_27833D: @ 827833D + .string "There must be four players to play\n" + .string "this Battle Mode.$" + +OldaleTown_PokemonCenter_2F_Text_278372: @ 8278372 + .string "Please confirm the number of\n" + .string "players and start again.$" + +Text_2783A8: @ 82783A8 + .string "The link will be terminated if you\n" + .string "leave the room. Is that okay?$" + +Text_2783E9: @ 82783E9 + .string "Terminating link…\n" + .string "You will be escorted out of\l" + .string "the room. Please wait.$" + +Text_27842E: @ 827842E + .string "This TRAINER is too busy to\n" + .string "notice…$" + +Text_278452: @ 8278452 + .string "Score! Got to look at {STR_VAR_1}’s\n" + .string "TRAINER CARD!$" + +Text_27847B: @ 827847B + .string "Score! Got to look at {STR_VAR_1}’s\n" + .string "TRAINER CARD!\p" + .string "It’s a {STR_VAR_2} card!$" + +SingleBattleColosseum_Text_2784B4: @ 82784B4 + .string "Please take your place and start\n" + .string "your battle.$" + +TradeCenter_Text_2784E2: @ 82784E2 + .string "Please take your seat and start\n" + .string "your trade.$" + +RecordCorner_Text_27850E: @ 827850E + .string "Thanks for coming.$" + +OldaleTown_PokemonCenter_2F_Text_278521: @ 8278521 + .string "The TRAINER CARD data will\n" + .string "be overwritten.$" + +OldaleTown_PokemonCenter_2F_Text_27854C: @ 827854C + .string "I hope to see you again!$" + +OldaleTown_PokemonCenter_2F_Text_278565: @ 8278565 + .string "I’m awfully sorry.\p" + .string "We’re not set up to conduct trades\n" + .string "with TRAINERS far away in another\l" + .string "region yet…$" + +OldaleTown_PokemonCenter_2F_Text_2785C9: @ 82785C9 + .string "The other TRAINER is not ready.$" + +OldaleTown_PokemonCenter_2F_Text_2785E9: @ 82785E9 + .string "You have at least one POKéMON\n" + .string "that can’t be taken.$" + +RecordCorner_Text_27861C: @ 827861C + .string "Please take your seat and wait.$" + +RecordCorner_Text_27863C: @ 827863C + .string "{STR_VAR_1} sent over one\n" + .string "{STR_VAR_2}.$" + +OldaleTown_PokemonCenter_2F_Text_278651: @ 8278651 + .string "Sorry, there is a transmission error.\p" + .string "You may not mix records with \n" + .string "Japanese Ruby or Sapphire games.\p" + .string "Also, you can’t mix records with\n" + .string "Japanese Emerald and overseas Ruby\l" + .string "or Sapphire games at the same time.$" + +OldaleTown_PokemonCenter_2F_Text_27871F: @ 827871F + .string "The Wireless Adapter is not\n" + .string "connected properly.$" + +OldaleTown_PokemonCenter_2F_Text_27874F: @ 827874F + .string "Participants are asked to step up\n" + .string "to the reception counter.$" + +OldaleTown_PokemonCenter_2F_Text_27878B: @ 827878B + .string "Hello!$" + +OldaleTown_PokemonCenter_2F_Text_278792: @ 8278792 + .string "Please wait.$" + +OldaleTown_PokemonCenter_2F_Text_27879F:: @ 827879F + .string "You may trade your POKéMON here\n" + .string "with another TRAINER.$" + +OldaleTown_PokemonCenter_2F_Text_2787D5:: @ 82787D5 + .string "You may battle with your friends\n" + .string "here.$" + +OldaleTown_PokemonCenter_2F_Text_2787FC:: @ 82787FC + .string "Two to five TRAINERS can make\n" + .string "BERRY POWDER together.$" + +OldaleTown_PokemonCenter_2F_Text_278831:: @ 8278831 + .string "The records of two to four players\n" + .string "can be mixed together.$" + +OldaleTown_PokemonCenter_2F_Text_27886B: @ 827886B + .string "A guide to the WIRELESS CLUB’s\n" + .string "various services.$" + +OldaleTown_PokemonCenter_2F_Text_27889C:: @ 827889C + .string "Cancels the selected MENU item.$" + +OldaleTown_PokemonCenter_2F_Text_2788BC: @ 82788BC + .string "Which battle mode would you like?$" + +OldaleTown_PokemonCenter_2F_Text_2788DE: @ 82788DE + .string "Returns to the previous step.$" + +OldaleTown_PokemonCenter_2F_Text_2788FC: @ 82788FC + .string "To use the BERRY CRUSH service,\n" + .string "you must have at least one BERRY.$" + +OldaleTown_PokemonCenter_2F_Text_27893E: @ 827893E + .string "To enter the UNION ROOM, you must\n" + .string "have at least two POKéMON.$" + +OldaleTown_PokemonCenter_2F_Text_27897B: @ 827897B + .string "No POKéMON holding the {STR_VAR_1}\n" + .string "BERRY may enter the UNION ROOM.$" + +OldaleTown_PokemonCenter_2F_Text_2789B5: @ 82789B5 + .string "This is the POKéMON WIRELESS CLUB\n" + .string "UNION ROOM.\p" + .string "Unfortunately, your Wireless\n" + .string "Adapter is not connected properly.\p" + .string "Please do come again.$" + +OldaleTown_PokemonCenter_2F_Text_278A39: @ 8278A39 + .string "Oh…\n" + .string "Excuse me!$" + +OldaleTown_PokemonCenter_1F_Text_278A48: @ 8278A48 + .string "It appears as if {STR_VAR_1} is playing\n" + .string "right now.\l" + .string "Go for it!$" + +MossdeepCity_GameCorner_1F_Text_278A7D: @ 8278A7D + .string "I can explain game rules to you,\n" + .string "if you’d like.\p" + .string "Which game should I describe?$" + +MossdeepCity_GameCorner_1F_Text_278ACB: @ 8278ACB + .string "“POKéMON JUMP”\p" + .string "Make your POKéMON skip the VINE WHIP\n" + .string "rope with the A Button.\p" + .string "Only mini POKéMON around 28 inches\n" + .string "or less may participate.\p" + .string "POKéMON that only swim, burrow,\n" + .string "or fly are not good at jumping.\p" + .string "As a result, those POKéMON may not\n" + .string "participate.\p" + .string "Good things happen if everyone\n" + .string "jumps in time.$" + +MossdeepCity_GameCorner_1F_Text_278BF1: @ 8278BF1 + .string "“DODRIO BERRY-PICKING”\p" + .string "Command DODRIO’s three heads to\n" + .string "catch falling BERRIES.\p" + .string "Press right, up, or left on the\n" + .string "{0xF9}Ç Control Pad to move the heads.\p" + .string "To play this game, you must have\n" + .string "a DODRIO.$" + +MossdeepCity_GameCorner_1F_Text_278CAC: @ 8278CAC + .string "If you want to play a game,\n" + .string "please tell the old man beside me.$" + +MossdeepCity_GameCorner_1F_Text_278CEB: @ 8278CEB + .string "Hi, welcome!\n" + .string "Are you here to play games using\l" + .string "Wireless Communication?\p" + .string "Can you wait just a little bit?$" + +MossdeepCity_GameCorner_1F_Text_278D51: @ 8278D51 + .string "All right, come again!$" + +MossdeepCity_GameCorner_1F_Text_278D68: @ 8278D68 + .string "The Wireless Adapter isn’t connected.\n" + .string "Come back when it’s hooked up!$" + +MossdeepCity_GameCorner_1F_Text_278DAD: @ 8278DAD + .string "All right, which game did you want\n" + .string "to play?$" + +MossdeepCity_GameCorner_1F_Text_278DD9: @ 8278DD9 + .string "Which POKéMON would you like to\n" + .string "enter?$" + +MossdeepCity_GameCorner_1F_Text_278E00: @ 8278E00 + .string "Okay, you’re all good to go.\n" + .string "Don’t let the others beat you!$" + +MossdeepCity_GameCorner_1F_Text_278E3C: @ 8278E3C + .string "Are you leaving now?\n" + .string "Do come again!$" + +MossdeepCity_GameCorner_1F_Text_278E60: @ 8278E60 + .string "It doesn’t look like you have any\n" + .string "POKéMON that you can enter…\p" + .string "Would you like me to explain what\n" + .string "kinds of POKéMON can enter?$" + +MossdeepCity_GameCorner_1F_Text_278EDC: @ 8278EDC + .string "“POKéMON JUMP” is open to POKéMON\n" + .string "around 28 inches or less.\p" + .string "What you can’t enter are those\n" + .string "POKéMON that can’t jump.\p" + .string "You know, like POKéMON that only\n" + .string "swim, burrow, or fly.\p" + .string "That’s all you need to know.$" + +MossdeepCity_GameCorner_1F_Text_278FA4: @ 8278FA4 + .string "DODRIO BERRY-PICKING is a game that \n" + .string "only DODRIO may enter.$" + +MossdeepCity_GameCorner_1F_Text_278FE0: @ 8278FE0 + .string "Could you retry this from the start\n" + .string "again, please?$" + +OldaleTown_PokemonCenter_2F_Text_279013: @ 8279013 + .string "Welcome to the POKéMON WIRELESS\n" + .string "CLUB DIRECT CORNER.\p" + .string "You may interact directly with\n" + .string "your friends here.\p" + .string "Which room would you like to\n" + .string "enter?$" + +OldaleTown_PokemonCenter_2F_Text_27909D: @ 827909D + .string "Would you like to trade POKéMON?$" + +OldaleTown_PokemonCenter_2F_Text_2790BE: @ 82790BE + .string "Which Battle Mode would you like\n" + .string "to play?$" + +OldaleTown_PokemonCenter_2F_Text_2790E8: @ 82790E8 + .string "Would you like to access\n" + .string "the RECORD CORNER?$" + +OldaleTown_PokemonCenter_2F_Text_279114: @ 8279114 + .string "Would you like to use the\n" + .string "BERRY CRUSH System?$" + +OldaleTown_PokemonCenter_2F_Text_279142: @ 8279142 + .string "There are three Battle Modes.\p" + .string "SINGLE BATTLE is for two TRAINERS\n" + .string "with one or more POKéMON each.\p" + .string "Each TRAINER can have one POKéMON\n" + .string "in battle at a time.\p" + .string "DOUBLE BATTLE is for two TRAINERS\n" + .string "with two or more POKéMON each.\p" + .string "Each TRAINER will send out two\n" + .string "POKéMON in battle at a time.\p" + .string "MULTI BATTLE is for four TRAINERS\n" + .string "with one or more POKéMON each.\p" + .string "Each TRAINER can have one POKéMON\n" + .string "in battle at a time.$" + +BattleFrontier_BattleTowerLobby_Text_2792CD: @ 82792CD +OldaleTown_PokemonCenter_2F_Text_2792CD: @ 82792CD + .string "Please decide which of you two\n" + .string "will become the LEADER.\p" + .string "The other player must then choose\n" + .string "“JOIN GROUP.”$" + +OldaleTown_PokemonCenter_2F_Text_279334: @ 8279334 + .string "Please decide which of you four\n" + .string "will become the GROUP LEADER.\p" + .string "The other players must then choose\n" + .string "“JOIN GROUP.”$" + +MossdeepCity_GameCorner_1F_Text_2793A3: @ 82793A3 +OldaleTown_PokemonCenter_2F_Text_2793A3: @ 82793A3 + .string "Please decide which of you will\n" + .string "become the GROUP LEADER.\p" + .string "The other players must then choose\n" + .string "“JOIN GROUP.”$" + +OldaleTown_PokemonCenter_2F_Text_27940D: @ 827940D + .string "Welcome to the POKéMON WIRELESS\n" + .string "CLUB UNION ROOM.\p" + .string "You may interact directly with\n" + .string "other TRAINERS here, some of\l" + .string "whom you may not even know.\p" + .string "Would you like to enter the ROOM?$" + +OldaleTown_PokemonCenter_2F_Text_2794B8: @ 82794B8 + .string "The TRAINERS in the UNION ROOM\n" + .string "will be those players around you\l" + .string "who have also entered the ROOM.\p" + .string "You may do all sorts of things\n" + .string "here, such as exchanging greetings.\p" + .string "You may enter two POKéMON up to\n" + .string "Lv. 30 for a one-on-one battle.\p" + .string "You may take part in a chat with\n" + .string "two to five people.\p" + .string "Or, you may register a POKéMON for\n" + .string "trade.\p" + .string "Would you like to enter the ROOM?$" + +OldaleTown_PokemonCenter_2F_Text_27961C: @ 827961C + .string "I hope you enjoy your time in\n" + .string "the UNION ROOM.$" + +OldaleTown_PokemonCenter_2F_Text_27964A: @ 827964A + .string "Hello!\n" + .string "My name is TEALA.\p" + .string "This must be your first time\n" + .string "up here.\p" + .string "I’ll show you how the Wireless\n" + .string "Communication System works.\p" + .string "First, I need to show you this\n" + .string "floor of our POKéMON CENTER.\p" + .string "Right this way, please.$" + +OldaleTown_PokemonCenter_2F_Text_279718: @ 8279718 + .string "On the top floor, there are two\n" + .string "rooms.\p" + .string "First, the room on the left.\n" + .string "It’s the UNION ROOM.\p" + .string "You may link up with TRAINERS\n" + .string "around you who have also entered\l" + .string "the UNION ROOM.\p" + .string "With them, you may do things like\n" + .string "chat, battle, and trade.\p" + .string "Second, the room on the right is\n" + .string "the DIRECT CORNER.\p" + .string "You may trade or battle POKéMON\n" + .string "with your friends in this room.\p" + .string "If the Wireless Adapter isn’t\n" + .string "connected, you may still link up\l" + .string "using a GBA Game Link cable.\p" + .string "If that is the case, you must go\n" + .string "to the DIRECT CORNER.\p" + .string "I hope you enjoy the Wireless \n" + .string "Communication System.$" + +OldaleTown_PokemonCenter_2F_Text_279937: @ 8279937 + .string "Hello, {PLAYER}!\p" + .string "It’s me, TEALA, the POKéMON\n" + .string "CENTER 2F attendant.\p" + .string "Is there something you needed to\n" + .string "ask me about linking?$" + +OldaleTown_PokemonCenter_2F_Text_2799AA: @ 82799AA + .string "Let me explain how the POKéMON\n" + .string "WIRELESS CLUB works.\p" + .string "On this, the top floor, there are\n" + .string "two rooms.\p" + .string "First, the room on the left.\n" + .string "It’s the UNION ROOM.\p" + .string "You may link up with TRAINERS\n" + .string "around you who have also entered\l" + .string "the UNION ROOM.\p" + .string "With them, you may do things like\n" + .string "chat, battle, and trade.\p" + .string "Second, the room on the right is\n" + .string "the DIRECT CORNER.\p" + .string "You may trade or battle POKéMON\n" + .string "with your friends in this room.\p" + .string "Sometimes, you may not be able to\n" + .string "find your friends in the UNION ROOM\l" + .string "or the DIRECT CORNER.\p" + .string "In that case, please move closer\n" + .string "to your friends.\p" + .string "If the Wireless Adapter isn’t\n" + .string "connected, you may still link up\l" + .string "using a GBA Game Link cable.\p" + .string "If that is the case, you must go\n" + .string "to the DIRECT CORNER.\p" + .string "I hope you enjoy the Wireless \n" + .string "Communication System.$" + +OldaleTown_PokemonCenter_2F_Text_279C91: @ 8279C91 + .string "I hope you enjoy the Wireless\n" + .string "Communication System.$" diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc new file mode 100644 index 0000000000..7eb12ac1fb --- /dev/null +++ b/data/scripts/contest_hall.inc @@ -0,0 +1,1871 @@ +LilycoveCity_ContestLobby_EventScript_279CC5:: @ 8279CC5 + lock + faceplayer + compare VAR_0x408A, 0 + goto_if 5, LilycoveCity_ContestLobby_EventScript_279D13 + checkflag FLAG_0x05F + call_if 1, LilycoveCity_ContestLobby_EventScript_279CEA + checkflag FLAG_0x05F + call_if 0, LilycoveCity_ContestLobby_EventScript_279CF3 + goto LilycoveCity_ContestLobby_EventScript_279D5A + end + +LilycoveCity_ContestLobby_EventScript_279CEA:: @ 8279CEA + msgbox LilycoveCity_ContestLobby_Text_27AEA8, 4 + return + +LilycoveCity_ContestLobby_EventScript_279CF3:: @ 8279CF3 + msgbox LilycoveCity_ContestLobby_Text_27ADA7, 4 + giveitem_std ITEM_POKEBLOCK_CASE + setflag FLAG_0x05F + msgbox LilycoveCity_ContestLobby_Text_27AE47, 4 + return + +LilycoveCity_ContestLobby_EventScript_279D13:: @ 8279D13 + msgbox LilycoveCity_ContestLobby_Text_27B67B, 4 + switch VAR_0x408A + case 4, LilycoveCity_ContestLobby_EventScript_279D2C + end + +LilycoveCity_ContestLobby_EventScript_279D2C:: @ 8279D2C + giveitem_std ITEM_LUXURY_BALL + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_279D4B + setvar VAR_0x408A, 0 + closemessage + release + end + +LilycoveCity_ContestLobby_EventScript_279D4B:: @ 8279D4B + call LilycoveCity_ContestLobby_EventScript_27205E + msgbox LilycoveCity_ContestLobby_Text_27B6E7, 4 + release + end + +LilycoveCity_ContestLobby_EventScript_279D5A:: @ 8279D5A + message LilycoveCity_ContestLobby_Text_27AF28 + waitmessage + multichoice 0, 0, 2, 0 + switch VAR_RESULT + case 0, LilycoveCity_ContestLobby_EventScript_279E62 + case 1, LilycoveCity_ContestLobby_EventScript_279D97 + case 2, LilycoveCity_ContestLobby_EventScript_279E09 + case 127, LilycoveCity_ContestLobby_EventScript_279E09 + end + +LilycoveCity_ContestLobby_EventScript_279D97:: @ 8279D97 + message LilycoveCity_ContestLobby_Text_27AF5E + waitmessage + multichoice 0, 0, 3, 0 + switch VAR_RESULT + case 0, LilycoveCity_ContestLobby_EventScript_279DDF + case 1, LilycoveCity_ContestLobby_EventScript_279DED + case 2, LilycoveCity_ContestLobby_EventScript_279DFB + case 3, LilycoveCity_ContestLobby_EventScript_279D5A + case 127, LilycoveCity_ContestLobby_EventScript_279D5A + end + +LilycoveCity_ContestLobby_EventScript_279DDF:: @ 8279DDF + msgbox LilycoveCity_ContestLobby_Text_27AF7A, 4 + goto LilycoveCity_ContestLobby_EventScript_279D97 + end + +LilycoveCity_ContestLobby_EventScript_279DED:: @ 8279DED + msgbox LilycoveCity_ContestLobby_Text_27B17D, 4 + goto LilycoveCity_ContestLobby_EventScript_279D97 + end + +LilycoveCity_ContestLobby_EventScript_279DFB:: @ 8279DFB + msgbox LilycoveCity_ContestLobby_Text_27B221, 4 + goto LilycoveCity_ContestLobby_EventScript_279D97 + end + +LilycoveCity_ContestLobby_EventScript_279E09:: @ 8279E09 + msgbox LilycoveCity_ContestLobby_Text_27BD4F, 4 + release + end + +LilycoveCity_ContestLobby_EventScript_279E13:: @ 8279E13 + msgbox LilycoveCity_ContestLobby_Text_27B44A, 4 + choosecontestmon + compare VAR_0x8004, 255 + goto_eq LilycoveCity_ContestLobby_EventScript_279E09 + special sub_80F7F30 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_279F12 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_279F87 + compare VAR_RESULT, 2 + goto_eq LilycoveCity_ContestLobby_EventScript_279F45 + compare VAR_RESULT, 3 + goto_eq LilycoveCity_ContestLobby_EventScript_279F69 + compare VAR_RESULT, 4 + goto_eq LilycoveCity_ContestLobby_EventScript_279F78 + end + +LilycoveCity_ContestLobby_EventScript_279E62:: @ 8279E62 + message LilycoveCity_ContestLobby_Text_27B3FF + waitmessage + multichoice 0, 0, 82, 0 + switch VAR_RESULT + case 0, LilycoveCity_ContestLobby_EventScript_279EB5 + case 1, LilycoveCity_ContestLobby_EventScript_279EC0 + case 2, LilycoveCity_ContestLobby_EventScript_279ECB + case 3, LilycoveCity_ContestLobby_EventScript_279ED6 + case 4, LilycoveCity_ContestLobby_EventScript_279E09 + case 127, LilycoveCity_ContestLobby_EventScript_279E09 + end + +LilycoveCity_ContestLobby_EventScript_279EB5:: @ 8279EB5 + setvar VAR_CONTEST_RANK, 0 + goto LilycoveCity_ContestLobby_EventScript_279EE1 + end + +LilycoveCity_ContestLobby_EventScript_279EC0:: @ 8279EC0 + setvar VAR_CONTEST_RANK, 1 + goto LilycoveCity_ContestLobby_EventScript_279EE1 + end + +LilycoveCity_ContestLobby_EventScript_279ECB:: @ 8279ECB + setvar VAR_CONTEST_RANK, 2 + goto LilycoveCity_ContestLobby_EventScript_279EE1 + end + +LilycoveCity_ContestLobby_EventScript_279ED6:: @ 8279ED6 + setvar VAR_CONTEST_RANK, 3 + goto LilycoveCity_ContestLobby_EventScript_279EE1 + end + +LilycoveCity_ContestLobby_EventScript_279EE1:: @ 8279EE1 + message LilycoveCity_ContestLobby_Text_27B423 + waitmessage + multichoice 0, 0, 4, 0 + switch VAR_RESULT + case 5, LilycoveCity_ContestLobby_EventScript_279E09 + case 127, LilycoveCity_ContestLobby_EventScript_279E09 + copyvar VAR_CONTEST_CATEGORY, VAR_RESULT + goto LilycoveCity_ContestLobby_EventScript_279E13 + end + +LilycoveCity_ContestLobby_EventScript_279F12:: @ 8279F12 + msgbox LilycoveCity_ContestLobby_Text_27B471, 4 + goto LilycoveCity_ContestLobby_EventScript_279E13 + release + end + +LilycoveCity_ContestLobby_EventScript_279F21:: @ 8279F21 + msgbox LilycoveCity_ContestLobby_Text_27B5C4, 5 + switch VAR_RESULT + case 0, LilycoveCity_ContestLobby_EventScript_279E13 + case 1, LilycoveCity_ContestLobby_EventScript_279F87 + end + +LilycoveCity_ContestLobby_EventScript_279F45:: @ 8279F45 + msgbox LilycoveCity_ContestLobby_Text_27B547, 5 + switch VAR_RESULT + case 0, LilycoveCity_ContestLobby_EventScript_279E13 + case 1, LilycoveCity_ContestLobby_EventScript_279F87 + end + +LilycoveCity_ContestLobby_EventScript_279F69:: @ 8279F69 + msgbox LilycoveCity_ContestLobby_Text_27B4C4, 4 + goto LilycoveCity_ContestLobby_EventScript_279E13 + release + end + +LilycoveCity_ContestLobby_EventScript_279F78:: @ 8279F78 + msgbox LilycoveCity_ContestLobby_Text_27B501, 4 + goto LilycoveCity_ContestLobby_EventScript_279E13 + release + end + +LilycoveCity_ContestLobby_EventScript_279F87:: @ 8279F87 + msgbox LilycoveCity_ContestLobby_Text_27B5E2, 4 + closemessage + releaseall + setvar VAR_0x4086, 1 + return + +LinkContestRoom1_EventScript_279F97:: @ 8279F97 + special sub_80F90DC + setvar VAR_0x8006, 0 + lockall + applymovement 14, LinkContestRoom1_Movement_27AD43 + waitmovement 0 + applymovement 1, LinkContestRoom1_Movement_27AD09 + waitmovement 0 + releaseall + call LinkContestRoom1_EventScript_27A133 + call LinkContestRoom1_EventScript_279FF2 + call LinkContestRoom1_EventScript_27A03C + call LinkContestRoom1_EventScript_27A097 + call LinkContestRoom1_EventScript_27A0F5 + call LinkContestRoom1_EventScript_27A801 + call LinkContestRoom1_EventScript_27A8A5 + call LinkContestRoom1_EventScript_27A987 + call LinkContestRoom1_EventScript_27A9D4 + call LinkContestRoom1_EventScript_27AA1B + call LinkContestRoom1_EventScript_27AB36 + setvar VAR_0x4086, 2 + return + +LinkContestRoom1_EventScript_279FF2:: @ 8279FF2 + switch VAR_CONTEST_RANK + case 0, LinkContestRoom1_EventScript_27A024 + case 1, LinkContestRoom1_EventScript_27A02A + case 2, LinkContestRoom1_EventScript_27A030 + case 3, LinkContestRoom1_EventScript_27A036 + return + +LinkContestRoom1_EventScript_27A024:: @ 827A024 + setvar VAR_0x8009, 5 + return + +LinkContestRoom1_EventScript_27A02A:: @ 827A02A + setvar VAR_0x8009, 6 + return + +LinkContestRoom1_EventScript_27A030:: @ 827A030 + setvar VAR_0x8009, 7 + return + +LinkContestRoom1_EventScript_27A036:: @ 827A036 + setvar VAR_0x8009, 8 + return + +LinkContestRoom1_EventScript_27A03C:: @ 827A03C + switch VAR_CONTEST_CATEGORY + case 0, LinkContestRoom1_EventScript_27A079 + case 1, LinkContestRoom1_EventScript_27A07F + case 2, LinkContestRoom1_EventScript_27A085 + case 3, LinkContestRoom1_EventScript_27A08B + case 4, LinkContestRoom1_EventScript_27A091 + return + +LinkContestRoom1_EventScript_27A079:: @ 827A079 + setvar VAR_0x8008, 0 + return + +LinkContestRoom1_EventScript_27A07F:: @ 827A07F + setvar VAR_0x8008, 1 + return + +LinkContestRoom1_EventScript_27A085:: @ 827A085 + setvar VAR_0x8008, 2 + return + +LinkContestRoom1_EventScript_27A08B:: @ 827A08B + setvar VAR_0x8008, 3 + return + +LinkContestRoom1_EventScript_27A091:: @ 827A091 + setvar VAR_0x8008, 4 + return + +LinkContestRoom1_EventScript_27A097:: @ 827A097 + buffercontesttypestring 1, 32776 + bufferstdstring 2, VAR_0x8009 + call LinkContestRoom1_EventScript_27A0B1 + lockall + applymovement 1, LinkContestRoom1_Movement_27AD0B + waitmovement 0 + releaseall + return + +LinkContestRoom1_EventScript_27A0B1:: @ 827A0B1 + compare VAR_0x4088, 5 + goto_eq LinkContestRoom1_EventScript_27A0C7 + lockall + msgbox LinkContestRoom1_Text_27B711, 4 + releaseall + return + +LinkContestRoom1_EventScript_27A0C7:: @ 827A0C7 + specialvar VAR_RESULT, sub_80F9160 + compare VAR_RESULT, 1 + goto_eq LinkContestRoom1_EventScript_27A0DE + messageautoscroll LinkContestRoom1_Text_27B78F + waitmessage + return + +LinkContestRoom1_EventScript_27A0DE:: @ 827A0DE + messageautoscroll LinkContestRoom1_Text_27C929 + waitmessage + call LinkContestRoom1_EventScript_27A133 + messageautoscroll LinkContestRoom1_Text_27C972 + waitmessage + call LinkContestRoom1_EventScript_27A133 + return + +LinkContestRoom1_EventScript_27A0F5:: @ 827A0F5 + call LinkContestRoom1_EventScript_27A149 + call LinkContestRoom1_EventScript_27A1D2 + call LinkContestRoom1_EventScript_27A34F + call LinkContestRoom1_EventScript_27A2D5 + call LinkContestRoom1_EventScript_27A77A + call LinkContestRoom1_EventScript_27A133 + call LinkContestRoom1_EventScript_27A133 + addvar VAR_0x8006, 1 + compare VAR_0x8006, 4 + goto_if 5, LinkContestRoom1_EventScript_27A0F5 + call LinkContestRoom1_EventScript_27A230 + setvar VAR_0x4001, 6 + return + +LinkContestRoom1_EventScript_27A133:: @ 827A133 + specialvar VAR_RESULT, sub_80F9160 + compare VAR_RESULT, 1 + goto_eq LinkContestRoom1_EventScript_27A144 + return + +LinkContestRoom1_EventScript_27A144:: @ 827A144 + special sub_80F905C + waitstate + return + +LinkContestRoom1_EventScript_27A149:: @ 827A149 + compare VAR_0x8006, 0 + goto_eq LinkContestRoom1_EventScript_27A176 + compare VAR_0x8006, 1 + goto_eq LinkContestRoom1_EventScript_27A18D + compare VAR_0x8006, 2 + goto_eq LinkContestRoom1_EventScript_27A1A4 + compare VAR_0x8006, 3 + goto_eq LinkContestRoom1_EventScript_27A1BB + return + +LinkContestRoom1_EventScript_27A176:: @ 827A176 + call LinkContestRoom1_EventScript_27A133 + lockall + applymovement 3, LinkContestRoom1_Movement_27AD52 + waitmovement 0 + releaseall + setvar VAR_0x800B, 3 + return + +LinkContestRoom1_EventScript_27A18D:: @ 827A18D + call LinkContestRoom1_EventScript_27A133 + lockall + applymovement 4, LinkContestRoom1_Movement_27AD5E + waitmovement 0 + releaseall + setvar VAR_0x800B, 4 + return + +LinkContestRoom1_EventScript_27A1A4:: @ 827A1A4 + call LinkContestRoom1_EventScript_27A133 + lockall + applymovement 5, LinkContestRoom1_Movement_27AD66 + waitmovement 0 + releaseall + setvar VAR_0x800B, 5 + return + +LinkContestRoom1_EventScript_27A1BB:: @ 827A1BB + call LinkContestRoom1_EventScript_27A133 + lockall + applymovement 14, LinkContestRoom1_Movement_27AD6E + waitmovement 0 + releaseall + setvar VAR_0x800B, 14 + return + +LinkContestRoom1_EventScript_27A1D2:: @ 827A1D2 + special sub_80F8850 + addvar VAR_0x8006, 1 + buffernumberstring 1, VAR_0x8006 + lockall + applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD20 + waitmovement 0 + releaseall + call LinkContestRoom1_EventScript_27A133 + call LinkContestRoom1_EventScript_27AD80 + addobject 13 + playse SE_DANSA + lockall + applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD20 + waitmovement 0 + releaseall + addvar VAR_0x8006, 65535 + playse SE_BOWA2 + special sub_80F8D28 + call LinkContestRoom1_EventScript_27A217 + return + +LinkContestRoom1_EventScript_27A217:: @ 827A217 + compare VAR_0x4088, 5 + goto_eq LinkContestRoom1_EventScript_27A229 + message LinkContestRoom1_Text_27B815 + waitmessage + return + +LinkContestRoom1_EventScript_27A229:: @ 827A229 + messageautoscroll LinkContestRoom1_Text_27B815 + waitmessage + return + +LinkContestRoom1_EventScript_27A230:: @ 827A230 + call LinkContestRoom1_EventScript_27A26C + call LinkContestRoom1_EventScript_27A2B9 + playse SE_W227B + waitmessage + call LinkContestRoom1_EventScript_27AA1B + applymovement 1, LinkContestRoom1_Movement_27AD23 + waitmovement 0 + applymovement 2, LinkContestRoom1_Movement_27AD25 + waitmovement 0 + delay 20 + applymovement 1, LinkContestRoom1_Movement_27AD13 + applymovement 2, LinkContestRoom1_Movement_27AD13 + waitmovement 0 + return + +LinkContestRoom1_EventScript_27A26C:: @ 827A26C + compare VAR_0x4088, 5 + goto_eq LinkContestRoom1_EventScript_27A280 + msgbox LinkContestRoom1_Text_27B830, 4 + return + +LinkContestRoom1_EventScript_27A280:: @ 827A280 + specialvar VAR_RESULT, sub_80F9160 + compare VAR_RESULT, 1 + goto_eq LinkContestRoom1_EventScript_27A297 + messageautoscroll LinkContestRoom1_Text_27B830 + waitmessage + return + +LinkContestRoom1_EventScript_27A297:: @ 827A297 + messageautoscroll LinkContestRoom1_Text_27C9AF + waitmessage + call LinkContestRoom1_EventScript_27A133 + messageautoscroll LinkContestRoom1_Text_27CA04 + waitmessage + call LinkContestRoom1_EventScript_27A133 + messageautoscroll LinkContestRoom1_Text_27CA42 + waitmessage + call LinkContestRoom1_EventScript_27A133 + return + +LinkContestRoom1_EventScript_27A2B9:: @ 827A2B9 + compare VAR_0x4088, 5 + goto_eq LinkContestRoom1_EventScript_27A2CA + message LinkContestRoom1_Text_27B8F2 + return + +LinkContestRoom1_EventScript_27A2CA:: @ 827A2CA + messageautoscroll LinkContestRoom1_Text_27B8F2 + call LinkContestRoom1_EventScript_27A133 + return + +LinkContestRoom1_EventScript_27A2D5:: @ 827A2D5 + call LinkContestRoom1_EventScript_27A133 + applymovement 1, LinkContestRoom1_Movement_27AD33 + waitmovement 0 + playse SE_W227B + call LinkContestRoom1_EventScript_27AA6F + applymovement 9, LinkContestRoom1_Movement_27AD3B + applymovement 12, LinkContestRoom1_Movement_27AD3F + applymovement 7, LinkContestRoom1_Movement_27AD3B + waitmovement 0 + applymovement 1, LinkContestRoom1_Movement_27AD3B + waitmovement 0 + applymovement 10, LinkContestRoom1_Movement_27AD33 + applymovement 11, LinkContestRoom1_Movement_27AD3F + applymovement 6, LinkContestRoom1_Movement_27AD37 + applymovement 8, LinkContestRoom1_Movement_27AD33 + waitmovement 0 + applymovement 1, LinkContestRoom1_Movement_27AD45 + waitmovement 0 + applymovement 1, LinkContestRoom1_Movement_27AD4E + applymovement 2, LinkContestRoom1_Movement_27AD49 + waitmovement 0 + releaseall + call LinkContestRoom1_EventScript_27A133 + return + +LinkContestRoom1_EventScript_27A34F:: @ 827A34F + special sub_80F82FC + compare VAR_0x4088, 1 + call_if 1, LinkContestRoom1_EventScript_27A454 + compare VAR_0x4088, 2 + call_if 1, LinkContestRoom1_EventScript_27A4B2 + compare VAR_0x4088, 3 + call_if 1, LinkContestRoom1_EventScript_27A510 + compare VAR_0x4088, 4 + call_if 1, LinkContestRoom1_EventScript_27A56E + compare VAR_0x4088, 5 + call_if 1, LinkContestRoom1_EventScript_27A5CC + setvar VAR_0x4001, 9 + setvar VAR_0x4002, 9 + setvar VAR_0x4003, 9 + setvar VAR_0x4004, 9 + setvar VAR_0x4005, 9 + setvar VAR_0x4006, 9 + setvar VAR_0x4007, 9 + setvar VAR_0x4008, 9 + compare VAR_0x4000, 0 + call_if 2, LinkContestRoom1_EventScript_27A3E5 + setvar VAR_0x4001, 0 + setvar VAR_0x4002, 0 + setvar VAR_0x4003, 0 + setvar VAR_0x4004, 0 + setvar VAR_0x4005, 0 + setvar VAR_0x4006, 0 + setvar VAR_0x4007, 0 + setvar VAR_0x4008, 0 + return + +LinkContestRoom1_EventScript_27A3E5:: @ 827A3E5 + setvar VAR_RESULT, 8 + special sub_80F8FE8 + compare VAR_RESULT, 0 + call_if 1, LinkContestRoom1_EventScript_27A65A + compare VAR_RESULT, 1 + call_if 1, LinkContestRoom1_EventScript_27A67E + compare VAR_RESULT, 2 + call_if 1, LinkContestRoom1_EventScript_27A6A2 + compare VAR_RESULT, 3 + call_if 1, LinkContestRoom1_EventScript_27A6C6 + compare VAR_RESULT, 4 + call_if 1, LinkContestRoom1_EventScript_27A6EA + compare VAR_RESULT, 5 + call_if 1, LinkContestRoom1_EventScript_27A70E + compare VAR_RESULT, 6 + call_if 1, LinkContestRoom1_EventScript_27A732 + compare VAR_RESULT, 7 + call_if 1, LinkContestRoom1_EventScript_27A756 + compare VAR_0x4000, 0 + goto_if 2, LinkContestRoom1_EventScript_27A3E5 + waitmovement 0 + return + +LinkContestRoom1_EventScript_27A454:: @ 827A454 + compare VAR_0x8004, 80 + goto_if 2, LinkContestRoom1_EventScript_27A654 + compare VAR_0x8004, 70 + goto_if 2, LinkContestRoom1_EventScript_27A64E + compare VAR_0x8004, 60 + goto_if 2, LinkContestRoom1_EventScript_27A648 + compare VAR_0x8004, 50 + goto_if 2, LinkContestRoom1_EventScript_27A642 + compare VAR_0x8004, 40 + goto_if 2, LinkContestRoom1_EventScript_27A63C + compare VAR_0x8004, 30 + goto_if 2, LinkContestRoom1_EventScript_27A636 + compare VAR_0x8004, 20 + goto_if 2, LinkContestRoom1_EventScript_27A630 + compare VAR_0x8004, 10 + goto_if 2, LinkContestRoom1_EventScript_27A62A + setvar VAR_0x4000, 0 + return + +LinkContestRoom1_EventScript_27A4B2:: @ 827A4B2 + compare VAR_0x8004, 230 + goto_if 2, LinkContestRoom1_EventScript_27A654 + compare VAR_0x8004, 210 + goto_if 2, LinkContestRoom1_EventScript_27A64E + compare VAR_0x8004, 190 + goto_if 2, LinkContestRoom1_EventScript_27A648 + compare VAR_0x8004, 170 + goto_if 2, LinkContestRoom1_EventScript_27A642 + compare VAR_0x8004, 150 + goto_if 2, LinkContestRoom1_EventScript_27A63C + compare VAR_0x8004, 130 + goto_if 2, LinkContestRoom1_EventScript_27A636 + compare VAR_0x8004, 110 + goto_if 2, LinkContestRoom1_EventScript_27A630 + compare VAR_0x8004, 90 + goto_if 2, LinkContestRoom1_EventScript_27A62A + setvar VAR_0x4000, 0 + return + +LinkContestRoom1_EventScript_27A510:: @ 827A510 + compare VAR_0x8004, 380 + goto_if 2, LinkContestRoom1_EventScript_27A654 + compare VAR_0x8004, 350 + goto_if 2, LinkContestRoom1_EventScript_27A64E + compare VAR_0x8004, 320 + goto_if 2, LinkContestRoom1_EventScript_27A648 + compare VAR_0x8004, 290 + goto_if 2, LinkContestRoom1_EventScript_27A642 + compare VAR_0x8004, 260 + goto_if 2, LinkContestRoom1_EventScript_27A63C + compare VAR_0x8004, 230 + goto_if 2, LinkContestRoom1_EventScript_27A636 + compare VAR_0x8004, 200 + goto_if 2, LinkContestRoom1_EventScript_27A630 + compare VAR_0x8004, 170 + goto_if 2, LinkContestRoom1_EventScript_27A62A + setvar VAR_0x4000, 0 + return + +LinkContestRoom1_EventScript_27A56E:: @ 827A56E + compare VAR_0x8004, 600 + goto_if 2, LinkContestRoom1_EventScript_27A654 + compare VAR_0x8004, 560 + goto_if 2, LinkContestRoom1_EventScript_27A64E + compare VAR_0x8004, 520 + goto_if 2, LinkContestRoom1_EventScript_27A648 + compare VAR_0x8004, 480 + goto_if 2, LinkContestRoom1_EventScript_27A642 + compare VAR_0x8004, 440 + goto_if 2, LinkContestRoom1_EventScript_27A63C + compare VAR_0x8004, 400 + goto_if 2, LinkContestRoom1_EventScript_27A636 + compare VAR_0x8004, 360 + goto_if 2, LinkContestRoom1_EventScript_27A630 + compare VAR_0x8004, 320 + goto_if 2, LinkContestRoom1_EventScript_27A62A + setvar VAR_0x4000, 0 + return + +LinkContestRoom1_EventScript_27A5CC:: @ 827A5CC + compare VAR_0x8004, 600 + goto_if 2, LinkContestRoom1_EventScript_27A654 + compare VAR_0x8004, 550 + goto_if 2, LinkContestRoom1_EventScript_27A64E + compare VAR_0x8004, 500 + goto_if 2, LinkContestRoom1_EventScript_27A648 + compare VAR_0x8004, 450 + goto_if 2, LinkContestRoom1_EventScript_27A642 + compare VAR_0x8004, 400 + goto_if 2, LinkContestRoom1_EventScript_27A63C + compare VAR_0x8004, 300 + goto_if 2, LinkContestRoom1_EventScript_27A636 + compare VAR_0x8004, 200 + goto_if 2, LinkContestRoom1_EventScript_27A630 + compare VAR_0x8004, 100 + goto_if 2, LinkContestRoom1_EventScript_27A62A + setvar VAR_0x4000, 0 + return + +LinkContestRoom1_EventScript_27A62A:: @ 827A62A + setvar VAR_0x4000, 1 + return + +LinkContestRoom1_EventScript_27A630:: @ 827A630 + setvar VAR_0x4000, 2 + return + +LinkContestRoom1_EventScript_27A636:: @ 827A636 + setvar VAR_0x4000, 3 + return + +LinkContestRoom1_EventScript_27A63C:: @ 827A63C + setvar VAR_0x4000, 4 + return + +LinkContestRoom1_EventScript_27A642:: @ 827A642 + setvar VAR_0x4000, 5 + return + +LinkContestRoom1_EventScript_27A648:: @ 827A648 + setvar VAR_0x4000, 6 + return + +LinkContestRoom1_EventScript_27A64E:: @ 827A64E + setvar VAR_0x4000, 7 + return + +LinkContestRoom1_EventScript_27A654:: @ 827A654 + setvar VAR_0x4000, 8 + return + +LinkContestRoom1_EventScript_27A65A:: @ 827A65A + compare VAR_0x4001, 1 + goto_eq LinkContestRoom1_EventScript_27A67D + applymovement 6, LinkContestRoom1_Movement_27AD11 + playse SE_PIN + delay 14 + setvar VAR_0x4001, 1 + addvar VAR_0x4000, 65535 + return + +LinkContestRoom1_EventScript_27A67D:: @ 827A67D + return + +LinkContestRoom1_EventScript_27A67E:: @ 827A67E + compare VAR_0x4002, 1 + goto_eq LinkContestRoom1_EventScript_27A6A1 + applymovement 12, LinkContestRoom1_Movement_27AD11 + playse SE_PIN + delay 14 + setvar VAR_0x4002, 1 + addvar VAR_0x4000, 65535 + return + +LinkContestRoom1_EventScript_27A6A1:: @ 827A6A1 + return + +LinkContestRoom1_EventScript_27A6A2:: @ 827A6A2 + compare VAR_0x4003, 1 + goto_eq LinkContestRoom1_EventScript_27A6C5 + applymovement 7, LinkContestRoom1_Movement_27AD11 + playse SE_PIN + delay 14 + setvar VAR_0x4003, 1 + addvar VAR_0x4000, 65535 + return + +LinkContestRoom1_EventScript_27A6C5:: @ 827A6C5 + return + +LinkContestRoom1_EventScript_27A6C6:: @ 827A6C6 + compare VAR_0x4004, 1 + goto_eq LinkContestRoom1_EventScript_27A6E9 + applymovement 8, LinkContestRoom1_Movement_27AD11 + playse SE_PIN + delay 14 + setvar VAR_0x4004, 1 + addvar VAR_0x4000, 65535 + return + +LinkContestRoom1_EventScript_27A6E9:: @ 827A6E9 + return + +LinkContestRoom1_EventScript_27A6EA:: @ 827A6EA + compare VAR_0x4005, 1 + goto_eq LinkContestRoom1_EventScript_27A70D + applymovement 9, LinkContestRoom1_Movement_27AD11 + playse SE_PIN + delay 14 + setvar VAR_0x4005, 1 + addvar VAR_0x4000, 65535 + return + +LinkContestRoom1_EventScript_27A70D:: @ 827A70D + return + +LinkContestRoom1_EventScript_27A70E:: @ 827A70E + compare VAR_0x4006, 1 + goto_eq LinkContestRoom1_EventScript_27A731 + applymovement 10, LinkContestRoom1_Movement_27AD11 + playse SE_PIN + delay 14 + setvar VAR_0x4006, 1 + addvar VAR_0x4000, 65535 + return + +LinkContestRoom1_EventScript_27A731:: @ 827A731 + return + +LinkContestRoom1_EventScript_27A732:: @ 827A732 + compare VAR_0x4007, 1 + goto_eq LinkContestRoom1_EventScript_27A755 + applymovement 11, LinkContestRoom1_Movement_27AD11 + playse SE_PIN + delay 14 + setvar VAR_0x4007, 1 + addvar VAR_0x4000, 65535 + return + +LinkContestRoom1_EventScript_27A755:: @ 827A755 + return + +LinkContestRoom1_EventScript_27A756:: @ 827A756 + compare VAR_0x4008, 1 + goto_eq LinkContestRoom1_EventScript_27A779 + applymovement 15, LinkContestRoom1_Movement_27AD11 + playse SE_PIN + delay 14 + setvar VAR_0x4008, 1 + addvar VAR_0x4000, 65535 + return + +LinkContestRoom1_EventScript_27A779:: @ 827A779 + return + +LinkContestRoom1_EventScript_27A77A:: @ 827A77A + closemessage + release + removeobject 13 + special sub_80F8EB8 + call LinkContestRoom1_EventScript_27A133 + switch VAR_0x8006 + case 0, LinkContestRoom1_EventScript_27A7B9 + case 1, LinkContestRoom1_EventScript_27A7CB + case 2, LinkContestRoom1_EventScript_27A7DD + case 3, LinkContestRoom1_EventScript_27A7EF + return + +LinkContestRoom1_EventScript_27A7B9:: @ 827A7B9 + call LinkContestRoom1_EventScript_27A133 + lockall + applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD58 + waitmovement 0 + releaseall + return + +LinkContestRoom1_EventScript_27A7CB:: @ 827A7CB + call LinkContestRoom1_EventScript_27A133 + lockall + applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD62 + waitmovement 0 + releaseall + return + +LinkContestRoom1_EventScript_27A7DD:: @ 827A7DD + call LinkContestRoom1_EventScript_27A133 + lockall + applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD6A + waitmovement 0 + releaseall + return + +LinkContestRoom1_EventScript_27A7EF:: @ 827A7EF + call LinkContestRoom1_EventScript_27A133 + lockall + applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD74 + waitmovement 0 + releaseall + return + +LinkContestRoom1_EventScript_27A801:: @ 827A801 + lockall + applymovement 1, LinkContestRoom1_Movement_27AD27 + waitmovement 0 + call LinkContestRoom1_EventScript_27A133 + call LinkContestRoom1_EventScript_27A853 + waitmessage + applymovement 1, LinkContestRoom1_Movement_27AD15 + applymovement 2, LinkContestRoom1_Movement_27AD19 + waitmovement 0 + releaseall + call LinkContestRoom1_EventScript_27A133 + setvar VAR_0x4009, 1 + special sub_80F910C + startcontest + special sub_80F90DC + setvar VAR_0x4009, 0 + lockall + applymovement 1, LinkContestRoom1_Movement_27AD19 + applymovement 2, LinkContestRoom1_Movement_27AD15 + waitmovement 0 + releaseall + return + +LinkContestRoom1_EventScript_27A853:: @ 827A853 + compare VAR_0x4088, 5 + goto_eq LinkContestRoom1_EventScript_27A867 + msgbox LinkContestRoom1_Text_27B904, 4 + return + +LinkContestRoom1_EventScript_27A867:: @ 827A867 + specialvar VAR_RESULT, sub_80F9160 + compare VAR_RESULT, 1 + goto_eq LinkContestRoom1_EventScript_27A87E + messageautoscroll LinkContestRoom1_Text_27B904 + waitmessage + return + +LinkContestRoom1_EventScript_27A87E:: @ 827A87E + call LinkContestRoom1_EventScript_27A133 + messageautoscroll LinkContestRoom1_Text_27CA71 + waitmessage + call LinkContestRoom1_EventScript_27A133 + messageautoscroll LinkContestRoom1_Text_27CAD0 + waitmessage + call LinkContestRoom1_EventScript_27A133 + messageautoscroll LinkContestRoom1_Text_27CB55 + waitmessage + call LinkContestRoom1_EventScript_27A133 + return + +LinkContestRoom1_EventScript_27A8A5:: @ 827A8A5 + call LinkContestRoom1_EventScript_27A133 + call LinkContestRoom1_EventScript_27A8FB + call LinkContestRoom1_EventScript_27A133 + call LinkContestRoom1_EventScript_27A91E + call LinkContestRoom1_EventScript_27A133 + applymovement 1, LinkContestRoom1_Movement_27AD0F + waitmovement 0 + call LinkContestRoom1_EventScript_27A941 + call LinkContestRoom1_EventScript_27A133 + call LinkContestRoom1_EventScript_27A964 + call LinkContestRoom1_EventScript_27A133 + applymovement 1, LinkContestRoom1_Movement_27AD13 + waitmovement 0 + closemessage + releaseall + special sub_80F910C + setvar VAR_0x4009, 1 + showcontestresults + setvar VAR_0x4009, 0 + playbgm MUS_CON_FAN, 0 + return + +LinkContestRoom1_EventScript_27A8FB:: @ 827A8FB + compare VAR_0x4088, 5 + goto_eq LinkContestRoom1_EventScript_27A90F + msgbox LinkContestRoom1_Text_27BA15, 4 + return + +LinkContestRoom1_EventScript_27A90F:: @ 827A90F + call LinkContestRoom1_EventScript_27A133 + messageautoscroll LinkContestRoom1_Text_27BA15 + waitmessage + delay 30 + return + +LinkContestRoom1_EventScript_27A91E:: @ 827A91E + compare VAR_0x4088, 5 + goto_eq LinkContestRoom1_EventScript_27A932 + msgbox LinkContestRoom1_Text_27BA30, 4 + return + +LinkContestRoom1_EventScript_27A932:: @ 827A932 + call LinkContestRoom1_EventScript_27A133 + messageautoscroll LinkContestRoom1_Text_27BA30 + waitmessage + delay 30 + return + +LinkContestRoom1_EventScript_27A941:: @ 827A941 + compare VAR_0x4088, 5 + goto_eq LinkContestRoom1_EventScript_27A955 + msgbox LinkContestRoom1_Text_27BAAC, 4 + return + +LinkContestRoom1_EventScript_27A955:: @ 827A955 + call LinkContestRoom1_EventScript_27A133 + messageautoscroll LinkContestRoom1_Text_27BAAC + waitmessage + delay 30 + return + +LinkContestRoom1_EventScript_27A964:: @ 827A964 + compare VAR_0x4088, 5 + goto_eq LinkContestRoom1_EventScript_27A978 + msgbox LinkContestRoom1_Text_27BB25, 4 + return + +LinkContestRoom1_EventScript_27A978:: @ 827A978 + call LinkContestRoom1_EventScript_27A133 + messageautoscroll LinkContestRoom1_Text_27BB25 + waitmessage + delay 30 + return + +LinkContestRoom1_EventScript_27A987:: @ 827A987 + special sub_80F831C + switch VAR_0x8005 + case 0, LinkContestRoom1_EventScript_27A9BC + case 1, LinkContestRoom1_EventScript_27A9C2 + case 2, LinkContestRoom1_EventScript_27A9C8 + case 3, LinkContestRoom1_EventScript_27A9CE + return + +LinkContestRoom1_EventScript_27A9BC:: @ 827A9BC + setvar VAR_0x4003, 3 + return + +LinkContestRoom1_EventScript_27A9C2:: @ 827A9C2 + setvar VAR_0x4003, 4 + return + +LinkContestRoom1_EventScript_27A9C8:: @ 827A9C8 + setvar VAR_0x4003, 5 + return + +LinkContestRoom1_EventScript_27A9CE:: @ 827A9CE + setvar VAR_0x4003, 14 + return + +LinkContestRoom1_EventScript_27A9D4:: @ 827A9D4 + special sub_80F834C + special sub_80F8390 + addvar VAR_0x8005, 1 + buffernumberstring 1, VAR_0x8005 + addvar VAR_0x8005, 65535 + call LinkContestRoom1_EventScript_27AA00 + applymovement VAR_0x4003, LinkContestRoom1_Movement_27AD1D + waitmovement 0 + playse SE_W227B + setvar VAR_0x4001, 0 + return + +LinkContestRoom1_EventScript_27AA00:: @ 827AA00 + compare VAR_0x4088, 5 + goto_eq LinkContestRoom1_EventScript_27AA14 + msgbox LinkContestRoom1_Text_27BB4C, 4 + return + +LinkContestRoom1_EventScript_27AA14:: @ 827AA14 + messageautoscroll LinkContestRoom1_Text_27BB4C + waitmessage + return + +LinkContestRoom1_EventScript_27AA1B:: @ 827AA1B + addvar VAR_0x4001, 1 + lockall + compare VAR_0x4088, 1 + call_if 2, LinkContestRoom1_EventScript_27AA6F + applymovement 9, LinkContestRoom1_Movement_27AD3B + applymovement 12, LinkContestRoom1_Movement_27AD3F + applymovement 7, LinkContestRoom1_Movement_27AD3B + delay 30 + applymovement 10, LinkContestRoom1_Movement_27AD33 + applymovement 11, LinkContestRoom1_Movement_27AD3F + applymovement 6, LinkContestRoom1_Movement_27AD37 + applymovement 8, LinkContestRoom1_Movement_27AD33 + compare VAR_0x4001, 4 + goto_if 5, LinkContestRoom1_EventScript_27AA1B + delay 30 + return + +LinkContestRoom1_EventScript_27AA6F:: @ 827AA6F + turnvobject 0, 1 + turnvobject 2, 1 + turnvobject 4, 4 + turnvobject 6, 1 + turnvobject 8, 1 + turnvobject 10, 1 + turnvobject 12, 1 + turnvobject 14, 1 + turnvobject 16, 1 + turnvobject 18, 1 + turnvobject 20, 4 + turnvobject 22, 4 + turnvobject 25, 4 + turnvobject 27, 3 + turnvobject 28, 4 + delay 10 + turnvobject 0, 4 + turnvobject 2, 4 + turnvobject 4, 4 + turnvobject 6, 4 + turnvobject 8, 4 + turnvobject 10, 3 + turnvobject 12, 3 + turnvobject 14, 3 + turnvobject 16, 3 + turnvobject 18, 3 + turnvobject 20, 1 + turnvobject 22, 1 + turnvobject 25, 2 + turnvobject 27, 2 + turnvobject 28, 2 + delay 10 + turnvobject 1, 2 + turnvobject 3, 2 + turnvobject 5, 2 + turnvobject 7, 2 + turnvobject 9, 4 + turnvobject 11, 2 + turnvobject 15, 2 + turnvobject 13, 2 + turnvobject 17, 2 + turnvobject 19, 2 + turnvobject 21, 3 + turnvobject 23, 3 + turnvobject 24, 3 + turnvobject 26, 4 + turnvobject 29, 3 + turnvobject 30, 3 + delay 10 + turnvobject 1, 4 + turnvobject 3, 4 + turnvobject 5, 4 + turnvobject 7, 4 + turnvobject 9, 4 + turnvobject 11, 3 + turnvobject 15, 3 + turnvobject 13, 3 + turnvobject 17, 3 + turnvobject 19, 3 + turnvobject 21, 1 + turnvobject 23, 1 + turnvobject 24, 1 + turnvobject 26, 2 + turnvobject 29, 2 + turnvobject 30, 2 + delay 10 + return + +LinkContestRoom1_EventScript_27AB36:: @ 827AB36 + compare VAR_0x4088, 5 + goto_eq LinkContestRoom1_EventScript_27ABD8 + call LinkContestRoom1_EventScript_27AB9E + checkflag FLAG_0x002 + goto_eq LinkContestRoom1_EventScript_27AB82 + lockall + msgbox LinkContestRoom1_Text_27BBA8, 4 + releaseall + call LinkContestRoom1_EventScript_27ABF8 + call LinkContestRoom1_EventScript_27AC5E + playse SE_W227B + setvar VAR_0x4001, 0 + call LinkContestRoom1_EventScript_27AA1B + delay 30 + special sub_80F88E8 + compare VAR_0x8004, 1 + goto_eq LinkContestRoom1_EventScript_27ABD2 + return + +LinkContestRoom1_EventScript_27AB82:: @ 827AB82 + lockall + msgbox LinkContestRoom1_Text_27BB7A, 4 + releaseall + delay 90 + special sub_80F88E8 + compare VAR_0x8004, 1 + goto_eq LinkContestRoom1_EventScript_27ABD2 + return + +LinkContestRoom1_EventScript_27AB9E:: @ 827AB9E + specialvar VAR_RESULT, sub_80F7F7C + compare VAR_RESULT, 1 + goto_eq LinkContestRoom1_EventScript_27ABAF + return + +LinkContestRoom1_EventScript_27ABAF:: @ 827ABAF + special sub_80F831C + compare VAR_0x8005, 3 + goto_eq LinkContestRoom1_EventScript_27ABBE + return + +LinkContestRoom1_EventScript_27ABBE:: @ 827ABBE + compare VAR_CONTEST_RANK, 3 + goto_eq LinkContestRoom1_EventScript_27ABCD + setflag FLAG_0x002 + return + +LinkContestRoom1_EventScript_27ABCD:: @ 827ABCD + return + +LinkContestRoom1_EventScript_27ABCE:: @ 827ABCE + setflag FLAG_0x10E + return + +LinkContestRoom1_EventScript_27ABD2:: @ 827ABD2 + setvar VAR_0x4099, 1 + return + +LinkContestRoom1_EventScript_27ABD8:: @ 827ABD8 + delay 60 + special sub_80F84B0 + special sub_80F831C + special sub_80F88E8 + compare VAR_0x8004, 1 + goto_eq LinkContestRoom1_EventScript_27ABF1 + closemessage + return + +LinkContestRoom1_EventScript_27ABF1:: @ 827ABF1 + setvar VAR_0x4099, 2 + return + +LinkContestRoom1_EventScript_27ABF7:: @ 827ABF7 + return + +LinkContestRoom1_EventScript_27ABF8:: @ 827ABF8 + switch VAR_0x8005 + case 0, LinkContestRoom1_EventScript_27AC2A + case 1, LinkContestRoom1_EventScript_27AC37 + case 2, LinkContestRoom1_EventScript_27AC44 + case 3, LinkContestRoom1_EventScript_27AC51 + return + +LinkContestRoom1_EventScript_27AC2A:: @ 827AC2A + lockall + applymovement VAR_0x4003, LinkContestRoom1_Movement_27AD7A + waitmovement 0 + releaseall + return + +LinkContestRoom1_EventScript_27AC37:: @ 827AC37 + lockall + applymovement VAR_0x4003, LinkContestRoom1_Movement_27AD7E + waitmovement 0 + releaseall + return + +LinkContestRoom1_EventScript_27AC44:: @ 827AC44 + lockall + applymovement VAR_0x4003, LinkContestRoom1_Movement_27AD29 + waitmovement 0 + releaseall + return + +LinkContestRoom1_EventScript_27AC51:: @ 827AC51 + lockall + applymovement VAR_0x4003, LinkContestRoom1_Movement_27AD2D + waitmovement 0 + releaseall + return + +LinkContestRoom1_EventScript_27AC5E:: @ 827AC5E + special sub_80F831C + compare VAR_0x8005, 3 + goto_eq LinkContestRoom1_EventScript_27AC77 + lockall + msgbox LinkContestRoom1_Text_27BB7A, 4 + releaseall + return + +LinkContestRoom1_EventScript_27AC77:: @ 827AC77 + compare VAR_0x4088, 2 + call_if 1, LinkContestRoom1_EventScript_27ABCE + specialvar VAR_RESULT, sub_80F7F7C + compare VAR_RESULT, 0 + goto_eq LinkContestRoom1_EventScript_27ACDF + compare VAR_CONTEST_RANK, 3 + goto_eq LinkContestRoom1_EventScript_27ACBD + lockall + msgbox LinkContestRoom1_Text_27BB7A, 4 + releaseall + return + +LinkContestRoom1_EventScript_27ACA8:: @ 827ACA8 + lockall + call LinkContestRoom1_EventScript_27205E + msgbox LinkContestRoom1_Text_27BC2F, 4 + releaseall + setvar VAR_0x408A, 4 + return + +LinkContestRoom1_EventScript_27ACBD:: @ 827ACBD + giveitem_std ITEM_LUXURY_BALL + compare VAR_RESULT, 0 + goto_eq LinkContestRoom1_EventScript_27ACA8 + lockall + msgbox LinkContestRoom1_Text_27BB7A, 4 + releaseall + return + +LinkContestRoom1_EventScript_27ACDF:: @ 827ACDF + special sub_80F7FFC + incrementgamestat 42 + setflag FLAG_SYS_RIBBON_GET + lockall + msgbox LinkContestRoom1_Text_27BBD4, 4 + playfanfare MUS_FANFA4 + msgbox LinkContestRoom1_Text_27BC00, 4 + waitfanfare + special sub_80F8390 + msgbox LinkContestRoom1_Text_27BC16, 4 + releaseall + return + +LinkContestRoom1_Movement_27AD09: @ 827AD09 + step_down + step_end + +LinkContestRoom1_Movement_27AD0B: @ 827AD0B + step_40 + step_up + step_41 + step_end + +LinkContestRoom1_Movement_27AD0F: @ 827AD0F + step_28 + step_end + +LinkContestRoom1_Movement_27AD11: @ 827AD11 + step_58 + step_end + +LinkContestRoom1_Movement_27AD13: @ 827AD13 + step_25 + step_end + +LinkContestRoom1_Movement_27AD15: @ 827AD15 + step_left + step_left + step_25 + step_end + +LinkContestRoom1_Movement_27AD19: @ 827AD19 + step_right + step_right + step_25 + step_end + +LinkContestRoom1_Movement_27AD1D: @ 827AD1D + step_up + step_25 + step_end + +LinkContestRoom1_Movement_27AD20: @ 827AD20 + step_14 + step_14 + step_end + +LinkContestRoom1_Movement_27AD23: @ 827AD23 + step_28 + step_end + +LinkContestRoom1_Movement_27AD25: @ 827AD25 + step_27 + step_end + +LinkContestRoom1_Movement_27AD27: @ 827AD27 + step_25 + step_end + +LinkContestRoom1_Movement_27AD29: @ 827AD29 + step_left + step_left + step_up + step_end + +LinkContestRoom1_Movement_27AD2D: @ 827AD2D + step_left + step_left + step_left + step_left + step_up + step_end + +LinkContestRoom1_Movement_27AD33: @ 827AD33 + step_02 + step_14 + step_4e + step_end + +LinkContestRoom1_Movement_27AD37: @ 827AD37 + step_01 + step_14 + step_4e + step_end + +LinkContestRoom1_Movement_27AD3B: @ 827AD3B + step_03 + step_14 + step_4e + step_end + +LinkContestRoom1_Movement_27AD3F: @ 827AD3F + step_00 + step_14 + step_4e + step_end + +LinkContestRoom1_Movement_27AD43: @ 827AD43 + step_01 + step_end + +LinkContestRoom1_Movement_27AD45: @ 827AD45 + step_01 + step_14 + step_28 + step_end + +LinkContestRoom1_Movement_27AD49: @ 827AD49 + step_27 + step_14 + step_14 + step_25 + step_end + +LinkContestRoom1_Movement_27AD4E: @ 827AD4E + step_14 + step_14 + step_25 + step_end + +LinkContestRoom1_Movement_27AD52: @ 827AD52 + step_up + step_right + step_right + step_right + step_26 + step_end + +LinkContestRoom1_Movement_27AD58: @ 827AD58 + step_17 + step_17 + step_17 + step_15 + step_26 + step_end + +LinkContestRoom1_Movement_27AD5E: @ 827AD5E + step_up + step_right + step_26 + step_end + +LinkContestRoom1_Movement_27AD62: @ 827AD62 + step_17 + step_15 + step_26 + step_end + +LinkContestRoom1_Movement_27AD66: @ 827AD66 + step_up + step_left + step_26 + step_end + +LinkContestRoom1_Movement_27AD6A: @ 827AD6A + step_18 + step_15 + step_26 + step_end + +LinkContestRoom1_Movement_27AD6E: @ 827AD6E + step_up + step_left + step_left + step_left + step_26 + step_end + +LinkContestRoom1_Movement_27AD74: @ 827AD74 + step_18 + step_18 + step_18 + step_15 + step_26 + step_end + +LinkContestRoom1_Movement_27AD7A: @ 827AD7A + step_right + step_right + step_up + step_end + +LinkContestRoom1_Movement_27AD7E: @ 827AD7E + step_up + step_end + +LinkContestRoom1_EventScript_27AD80:: @ 827AD80 + specialvar VAR_RESULT, sub_80F9134 + compare VAR_RESULT, 1 + goto_eq LinkContestRoom1_EventScript_27AD91 + return + +LinkContestRoom1_EventScript_27AD91:: @ 827AD91 + return + +LilycoveCity_ContestLobby_EventScript_27AD92:: @ 827AD92 + specialvar VAR_RESULT, sub_80F9134 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_27ADA3 + return + +LilycoveCity_ContestLobby_EventScript_27ADA3:: @ 827ADA3 + delay 9 + return + +LilycoveCity_ContestLobby_Text_27ADA7: @ 827ADA7 + .string "Hello!\p" + .string "This is the reception counter for\n" + .string "POKéMON CONTESTS.\p" + .string "Oh? It appears that you don’t have\n" + .string "a {POKEBLOCK} CASE yet.\p" + .string "In that case, we need to provide you\n" + .string "with this!$" + +LilycoveCity_ContestLobby_Text_27AE47: @ 827AE47 + .string "Okay, now that we’ve cleared that\n" + .string "up…\p" + .string "Hello!\p" + .string "This is the reception counter for\n" + .string "POKéMON CONTESTS.$" + +LilycoveCity_ContestLobby_Text_27AEA8: @ 827AEA8 + .string "Hello!\p" + .string "This is the reception counter for\n" + .string "POKéMON CONTESTS.$" + +LilycoveCity_ContestLobby_Text_27AEE3: @ 827AEE3 + .string "Hello!\p" + .string "This reception counter is only\n" + .string "for 4-player POKéMON CONTESTS.$" + +LilycoveCity_ContestLobby_Text_27AF28: @ 827AF28 + .string "Would you like to enter your POKéMON\n" + .string "in our CONTESTS?$" + +LilycoveCity_ContestLobby_Text_27AF5E: @ 827AF5E + .string "Which topic would you like?$" + +LilycoveCity_ContestLobby_Text_27AF7A: @ 827AF7A + .string "A POKéMON CONTEST involves four\n" + .string "TRAINERS entering one POKéMON each\l" + .string "in competitive judging.\p" + .string "A CONTEST has two stages of judging,\n" + .string "primary and secondary.\p" + .string "Primary judging is a popularity poll\n" + .string "involving the audience.\p" + .string "Secondary judging features appeals\n" + .string "by the POKéMON using their moves.\p" + .string "Plan appeals carefully to earn the\n" + .string "most attention of the JUDGE and\l" + .string "excite the audience.\l" + .string "Do your best to stand out.\p" + .string "The primary and secondary scores are\n" + .string "added at the end.\p" + .string "The POKéMON garnering the highest\n" + .string "score is declared the winner.$" + +LilycoveCity_ContestLobby_Text_27B17D: @ 827B17D + .string "There are five kinds of CONTESTS.\p" + .string "COOL, BEAUTY, CUTE, SMART, and\n" + .string "TOUGH are the five categories.\p" + .string "Choose the CONTEST that is right for\n" + .string "the POKéMON you plan to enter.$" + +LilycoveCity_ContestLobby_Text_27B221: @ 827B221 + .string "There are four ranks of POKéMON\n" + .string "CONTESTS.\p" + .string "NORMAL, SUPER, HYPER, and MASTER\n" + .string "are the four ranks.\p" + .string "In the NORMAL Rank, any POKéMON may\n" + .string "enter.\p" + .string "Any POKéMON that won a NORMAL Rank\n" + .string "CONTEST may move up to the SUPER Rank\l" + .string "in the same category.\p" + .string "In the same way, a SUPER Rank winner\n" + .string "can move up to the HYPER Rank, and\l" + .string "a HYPER Rank winner can advance to\l" + .string "the MASTER Rank in the same category.\p" + .string "A POKéMON that won in the MASTER Rank\n" + .string "may compete in the MASTER Rank as\l" + .string "often as its TRAINER wants.$" + +LilycoveCity_ContestLobby_Text_27B3FF: @ 827B3FF + .string "Which Rank would you like to enter?$" + +LilycoveCity_ContestLobby_Text_27B423: @ 827B423 + .string "Which CONTEST would you like to enter?$" + +LilycoveCity_ContestLobby_Text_27B44A: @ 827B44A + .string "Which POKéMON would you like to enter?$" + +LilycoveCity_ContestLobby_Text_27B471: @ 827B471 + .string "I’m terribly sorry, but your POKéMON\n" + .string "is not qualified to compete at this\l" + .string "Rank yet…$" + +LilycoveCity_ContestLobby_Text_27B4C4: @ 827B4C4 + .string "I’m sorry, but an EGG cannot take part\n" + .string "in a POKéMON CONTEST.$" + +LilycoveCity_ContestLobby_Text_27B501: @ 827B501 + .string "Your POKéMON appears to be in no\n" + .string "condition to take part in a CONTEST…$" + +LilycoveCity_ContestLobby_Text_27B547: @ 827B547 + .string "Oh, but that RIBBON…\p" + .string "Your POKéMON has won this CONTEST\n" + .string "before, hasn’t it?\p" + .string "Would you like to enter it in this\n" + .string "CONTEST anyway?$" + +LilycoveCity_ContestLobby_Text_27B5C4: @ 827B5C4 + .string "Is that your CONTEST POKéMON?$" + +LilycoveCity_ContestLobby_Text_27B5E2: @ 827B5E2 + .string "Okay, your POKéMON will be entered\n" + .string "in this CONTEST.\p" + .string "Your POKéMON is Entry No. 4.\n" + .string "The CONTEST will begin shortly.$" + +LilycoveCity_ContestLobby_Text_27B653: @ 827B653 + .string "Please come in through here.\n" + .string "Good luck!$" + +LilycoveCity_ContestLobby_Text_27B67B: @ 827B67B + .string "Congratulations! Your POKéMON is the\n" + .string "CONTEST winner!\p" + .string "We have your prize right here.\n" + .string "Please, right this way!$" + +LilycoveCity_ContestLobby_Text_27B6E7: @ 827B6E7 + .string "Please come back for your prize\n" + .string "later on.$" + +LinkContestRoom1_Text_27B711: @ 827B711 + .string "MC: Hello! We’re just getting started\n" + .string "with a {STR_VAR_3} Rank POKéMON\l" + .string "{STR_VAR_2}!\p" + .string "The participating TRAINERS and their\n" + .string "POKéMON are as follows:$" + +LinkContestRoom1_Text_27B78F: @ 827B78F + .string "MC: Hello! We’re just getting started\n" + .string "with a 4-player linked POKéMON\l" + .string "{STR_VAR_2}!\p" + .string "The participating TRAINERS and their\n" + .string "POKéMON are as follows:$" + +LinkContestRoom1_Text_27B815: @ 827B815 + .string "MC: Entry No. {STR_VAR_2}!\n" + .string "{STR_VAR_1}’s {STR_VAR_3}!$" + +LinkContestRoom1_Text_27B830: @ 827B830 + .string "MC: We’ve just seen the four POKéMON\n" + .string "contestants.\p" + .string "Now it’s time for primary judging!\p" + .string "The audience will vote on their\n" + .string "favorite POKéMON contestants.\p" + .string "Without any further ado, let the\n" + .string "voting begin!$" + +LinkContestRoom1_Text_27B8F2: @ 827B8F2 + .string "Voting under way…$" + +LinkContestRoom1_Text_27B904: @ 827B904 + .string "Voting is now complete!\p" + .string "While the votes are being tallied,\n" + .string "let’s move on to secondary judging!\p" + .string "The second stage of judging is the\n" + .string "much anticipated appeal time!\p" + .string "May the contestants amaze us with\n" + .string "superb appeals of dazzling moves!\p" + .string "Let’s see a little enthusiasm!\n" + .string "Let’s appeal!$" + +LinkContestRoom1_Text_27BA15: @ 827BA15 + .string "MC: That’s it for judging!$" + +LinkContestRoom1_Text_27BA30: @ 827BA30 + .string "Thank you all for a most wonderful\n" + .string "display of quality appeals!\p" + .string "This concludes all judging!\n" + .string "Thank you for your fine efforts!$" + +LinkContestRoom1_Text_27BAAC: @ 827BAAC + .string "Now, all that remains is the pulse-\n" + .string "pounding proclamation of the winner.\p" + .string "The JUDGE looks ready to make\n" + .string "the announcement!$" + +LinkContestRoom1_Text_27BB25: @ 827BB25 + .string "JUDGE: We will now declare the winner!$" + +LinkContestRoom1_Text_27BB4C: @ 827BB4C + .string "MC: Entry No. {STR_VAR_2}!\p" + .string "{STR_VAR_3} and {STR_VAR_1},\n" + .string "congratulations!$" + +LinkContestRoom1_Text_27BB7A: @ 827BB7A + .string "MC: Congratulations!\n" + .string "Please do compete again!$" + +LinkContestRoom1_Text_27BBA8: @ 827BBA8 + .string "MC: Here you are!\n" + .string "Please accept your prize!$" + +LinkContestRoom1_Text_27BBD4: @ 827BBD4 + .string "We confer on you this RIBBON\n" + .string "as your prize!$" + +LinkContestRoom1_Text_27BC00: @ 827BC00 + .string "{PLAYER} received a RIBBON.$" + +LinkContestRoom1_Text_27BC16: @ 827BC16 + .string "{PLAYER} put the RIBBON on\n" + .string "{STR_VAR_1}.$" + +LinkContestRoom1_Text_27BC2F: @ 827BC2F + .string "Please pick up your prize at\n" + .string "the reception counter later.\l" + .string "Please do compete again!$" + +LinkContestRoom1_Text_27BC82: @ 827BC82 + .string "I only register four players for\n" + .string "POKéMON CONTESTS.\p" + .string "If three other players link up, all\n" + .string "four may enter the same CONTEST.\p" + .string "Would you like to take part?$" + +LilycoveCity_ContestLobby_Text_27BD17: @ 827BD17 + .string "Before entering a CONTEST, your\n" + .string "progress will be saved.$" + +LilycoveCity_ContestLobby_Text_27BD4F: @ 827BD4F + .string "We hope you will participate another\n" + .string "time.$" + +LilycoveCity_ContestLobby_Text_27BD7A: @ 827BD7A + .string "Would you like to enter a CONTEST?$" + +LilycoveCity_ContestLobby_Text_27BD9D: @ 827BD9D + .string "When four players are ready, connect\n" + .string "over a Game Link cable, and register\l" + .string "with me, please.\p" + .string "Please choose the same CONTEST\n" + .string "as your fellow contestants.\p" + .string "The CONTEST begins as soon as all\n" + .string "players register their entry.\p" + .string "After that, the usual CONTEST rules\n" + .string "apply.$" + +LilycoveCity_ContestLobby_Text_27BE9E: @ 827BE9E + .string "Which CONTEST would you like to enter?$" + +LilycoveCity_ContestLobby_Text_27BEC5: @ 827BEC5 + .string "Which POKéMON would you like to enter?$" + +LilycoveCity_ContestLobby_Text_27BEEC: @ 827BEEC + .string "Transmitting…$" + +LilycoveCity_ContestLobby_Text_27BEFA: @ 827BEFA + .string "Transmission error…$" + +LilycoveCity_ContestLobby_Text_27BF0E: @ 827BF0E + .string "You may have chosen a different\n" + .string "CONTEST than another player.$" + +LilycoveCity_ContestLobby_Text_27BF4B: @ 827BF4B + .string "You may have made a different\n" + .string "choice than another player.$" + +LilycoveCity_ContestLobby_Text_27BF85: @ 827BF85 + .string "Please wait.\n" + .string "… … B Button: Cancel$" + +LilycoveCity_ContestLobby_Text_27BFA7: @ 827BFA7 + .string "We hope you will participate another\n" + .string "time.$" + +LilycoveCity_ContestLobby_Text_27BFD2: @ 827BFD2 + .string "Transmission error.\n" + .string "Please try again.$" + +LilycoveCity_ContestLobby_Text_27BFF8: @ 827BFF8 + .string "Your POKéMON will be entered in\n" + .string "the CONTEST.\p" + .string "Your POKéMON is Entry No. {STR_VAR_2}.$" + +LilycoveCity_ContestLobby_Text_27C043: @ 827C043 + .string "The CONTEST will begin shortly.$" + +LilycoveCity_ContestLobby_Text_27C063: @ 827C063 + .string "Welcome! This is the POKéMON CONTEST\n" + .string "link reception counter.\p" + .string "You may enter CONTESTS together with\n" + .string "one or more friends.$" + +LilycoveCity_ContestLobby_Text_27C0DA: @ 827C0DA + .string "Which topic would you like?$" + +LilycoveCity_ContestLobby_Text_27C0F6: @ 827C0F6 + .string "Would you like to enter a CONTEST?$" + +LilycoveCity_ContestLobby_Text_27C119: @ 827C119 + .string "Which CONTEST would you like to enter?$" + +LilycoveCity_ContestLobby_Text_27C140: @ 827C140 + .string "Your POKéMON appears to be in no\n" + .string "condition to take part in a CONTEST…$" + +LilycoveCity_ContestLobby_Text_27C186: @ 827C186 + .string "I’m sorry, but an EGG cannot take part\n" + .string "in a POKéMON CONTEST.$" + +LilycoveCity_ContestLobby_Text_27C1C3: @ 827C1C3 + .string "Which POKéMON would you like to enter?$" + +LilycoveCity_ContestLobby_Text_27C1EA: @ 827C1EA + .string "Please decide which of you will\n" + .string "become the GROUP LEADER.\p" + .string "The other players must then choose\n" + .string "“JOIN GROUP.”$" + +LilycoveCity_ContestLobby_Text_27C254: @ 827C254 + .string "At least one player has entered using\n" + .string "the 4-player reception counter.\p" + .string "There must be four players connected\n" + .string "using a GBA Game Link cable.\p" + .string "When the four players are ready,\n" + .string "select G-MODE (GLOBAL MODE),\l" + .string "then register to enter again, please.$" + +LilycoveCity_ContestLobby_Text_27C340: @ 827C340 + .string "This is a CONTEST for two to four\n" + .string "players linked using a Wireless\l" + .string "Adapter or a GBA Game Link cable.\p" + .string "Participants are first asked to choose\n" + .string "the mode they wish to enter.\p" + .string "There are two different modes.\p" + .string "E-MODE (EMERALD MODE) is for\n" + .string "two to four players, each with a\l" + .string "POKéMON Emerald Game Pak.\p" + .string "G-MODE (GLOBAL MODE) is only for\n" + .string "four players, each with a POKéMON\l" + .string "Emerald, Ruby, or Sapphire Game Pak.\p" + .string "The players should discuss which mode\n" + .string "they want, then choose the same mode.\p" + .string "Once all the players have chosen\n" + .string "the same CONTEST in the same mode,\l" + .string "the entry registration is complete.\p" + .string "After that, a CONTEST will start in\n" + .string "the usual manner.$" + +LilycoveCity_ContestLobby_Text_27C5B1: @ 827C5B1 + .string "In E-MODE (EMERALD MODE),\n" + .string "a LINK CONTEST can be held with\l" + .string "two to four players. Each player must\l" + .string "have a POKéMON Emerald Game Pak.\p" + .string "The players must be linked with each\n" + .string "other using Wireless Adapters or\l" + .string "GBA Game Link cables.\p" + .string "If there are fewer than four players,\n" + .string "TRAINERS in the hall will join to fill\l" + .string "the 4-player CONTEST lineup.\p" + .string "Please be aware that E-MODE is not\n" + .string "available in POKéMON Ruby or Sapphire.$" + +LilycoveCity_ContestLobby_Text_27C742: @ 827C742 + .string "G-MODE (GLOBAL MODE) is specifically\n" + .string "for four players who are linked using\l" + .string "GBA Game Link cables.\p" + .string "Each player must have a POKéMON\n" + .string "Emerald, Ruby, or Sapphire Game Pak.\p" + .string "The CONTEST starts after all players\n" + .string "choose G-MODE (POKéMON Emerald) or\l" + .string "enter through the 4-player reception\l" + .string "counter (POKéMON Ruby or Sapphire).$" + +LilycoveCity_ContestLobby_Text_27C879: @ 827C879 + .string "I’m terribly sorry.\p" + .string "G-MODE does not function\n" + .string "with Wireless Adapters.\p" + .string "Please select E-MODE or try\n" + .string "again using a GBA Game Link cable.$" + +LilycoveCity_ContestLobby_Text_27C8FD: @ 827C8FD + .string "Which CONTEST MODE would you like\n" + .string "to enter?$" + +LinkContestRoom1_Text_27C929: @ 827C929 + .string "MC: Hello! We’re just getting started\n" + .string "with a 4-player linked POKéMON\l" + .string "{STR_VAR_2}!$" + +LinkContestRoom1_Text_27C972: @ 827C972 + .string "The participating TRAINERS and their\n" + .string "POKéMON are as follows:$" + +LinkContestRoom1_Text_27C9AF: @ 827C9AF + .string "MC: We’ve just seen the four POKéMON\n" + .string "contestants.\p" + .string "Now it’s time for primary judging!$" + +LinkContestRoom1_Text_27CA04: @ 827CA04 + .string "The audience will vote on their\n" + .string "favorite POKéMON contestants.$" + +LinkContestRoom1_Text_27CA42: @ 827CA42 + .string "Without any further ado,\n" + .string "let the voting begin!$" + +LinkContestRoom1_Text_27CA71: @ 827CA71 + .string "Voting is now complete!\p" + .string "While the votes are being tallied,\n" + .string "let’s move on to secondary judging!$" + +LinkContestRoom1_Text_27CAD0: @ 827CAD0 + .string "The second stage of judging is\n" + .string "the much-anticipated appeal time!\p" + .string "May the contestants amaze us with\n" + .string "superb appeals of dazzling moves!$" + +LinkContestRoom1_Text_27CB55: @ 827CB55 + .string "Let’s see a little enthusiasm!\n" + .string "Let’s appeal!$" diff --git a/data/scripts/day_care.inc b/data/scripts/day_care.inc new file mode 100644 index 0000000000..07ed1b82d5 --- /dev/null +++ b/data/scripts/day_care.inc @@ -0,0 +1,439 @@ +Route117_EventScript_291C18:: @ 8291C18 + lock + faceplayer + special GetDaycareMonNicknames + specialvar VAR_RESULT, GetDaycareState + compare VAR_RESULT, 1 + goto_eq Route117_EventScript_291C4D + compare VAR_RESULT, 2 + goto_eq Route117_EventScript_291CD1 + compare VAR_RESULT, 3 + goto_eq Route117_EventScript_291CE8 + msgbox Route117_Text_291FCF, 4 + release + end + +Route117_EventScript_291C4D:: @ 8291C4D + msgbox Route117_Text_29205D, 5 + compare VAR_RESULT, 1 + goto_eq Route117_EventScript_291C83 + msgbox Route117_Text_2922C6, 5 + compare VAR_RESULT, 1 + goto_eq Route117_EventScript_291C83 + msgbox Route117_Text_292149, 4 + clearflag FLAG_PENDING_DAYCARE_EGG + special RejectEggFromDayCare + release + end + +Route117_EventScript_291C83:: @ 8291C83 + specialvar VAR_RESULT, CalculatePlayerPartyCount + compare VAR_RESULT, 6 + goto_if 5, Route117_EventScript_291C9D + msgbox Route117_Text_29216A, 4 + release + end + +Route117_EventScript_291C9D:: @ 8291C9D + message Route117_Text_2921A4 + playfanfare MUS_FANFA1 + waitfanfare + waitbuttonpress + msgbox Route117_Text_2921CF, 4 + special GiveEggFromDaycare + clearflag FLAG_PENDING_DAYCARE_EGG + release + end + +Route117_EventScript_291CB7:: @ 8291CB7 + specialvar VAR_RESULT, sub_8071614 + compare VAR_RESULT, 1 + call_if 1, Route117_EventScript_291CC8 + return + +Route117_EventScript_291CC8:: @ 8291CC8 + msgbox Route117_Text_2921E5, 4 + return + +Route117_EventScript_291CD1:: @ 8291CD1 + special GetDaycareMonNicknames + msgbox Route117_Text_292114, 4 + setvar VAR_0x8004, 0 + call Route117_EventScript_291CB7 + release + end + +Route117_EventScript_291CE8:: @ 8291CE8 + special GetDaycareMonNicknames + msgbox Route117_Text_292299, 4 + special SetDaycareCompatibilityString + special ShowFieldMessageStringVar4 + waitmessage + waitbuttonpress + setvar VAR_0x8004, 0 + call Route117_EventScript_291CB7 + setvar VAR_0x8004, 1 + call Route117_EventScript_291CB7 + release + end + +Route117_PokemonDayCare_EventScript_291D11:: @ 8291D11 + lock + faceplayer + specialvar VAR_RESULT, GetDaycareState + compare VAR_RESULT, 1 + goto_eq Route117_PokemonDayCare_EventScript_291E0B + compare VAR_RESULT, 2 + goto_eq Route117_PokemonDayCare_EventScript_291E2F + compare VAR_RESULT, 3 + goto_eq Route117_PokemonDayCare_EventScript_291F5C + msgbox Route117_PokemonDayCare_Text_2922F4, 5 + compare VAR_RESULT, 1 + goto_eq Route117_PokemonDayCare_EventScript_291D56 + msgbox Route117_PokemonDayCare_Text_292416, 4 + release + end + +Route117_PokemonDayCare_EventScript_291D56:: @ 8291D56 + specialvar VAR_RESULT, CountPartyNonEggMons + compare VAR_RESULT, 1 + goto_eq Route117_PokemonDayCare_EventScript_291DED + specialvar VAR_RESULT, sub_80722E0 + compare VAR_RESULT, 2 + goto_eq Route117_PokemonDayCare_EventScript_291E01 + msgbox Route117_PokemonDayCare_Text_292349, 4 + fadescreen 1 + special ChooseSendDaycareMon + waitstate + compare VAR_0x8004, 255 + goto_eq Route117_PokemonDayCare_EventScript_291DCA + specialvar VAR_RESULT, CountPartyAliveNonEggMons_IgnoreVar0x8004Slot + compare VAR_RESULT, 0 + goto_eq Route117_PokemonDayCare_EventScript_291DF7 + specialvar VAR_0x8005, GetSelectedMonNickAndSpecies + waitse + playmoncry VAR_0x8005, 0 + msgbox Route117_PokemonDayCare_Text_292370, 4 + waitmoncry + special StoreSelectedPokemonInDaycare + incrementgamestat 47 + specialvar VAR_RESULT, GetDaycareState + compare VAR_RESULT, 2 + goto_eq Route117_PokemonDayCare_EventScript_291DD4 + release + end + +Route117_PokemonDayCare_EventScript_291DCA:: @ 8291DCA + msgbox Route117_PokemonDayCare_Text_292476, 4 + release + end + +Route117_PokemonDayCare_EventScript_291DD4:: @ 8291DD4 + msgbox Route117_PokemonDayCare_Text_2923AF, 5 + compare VAR_RESULT, 1 + goto_eq Route117_PokemonDayCare_EventScript_291D56 + goto Route117_PokemonDayCare_EventScript_291DCA + end + +Route117_PokemonDayCare_EventScript_291DED:: @ 8291DED + msgbox Route117_PokemonDayCare_Text_2925BB, 4 + release + end + +Route117_PokemonDayCare_EventScript_291DF7:: @ 8291DF7 + msgbox Route117_PokemonDayCare_Text_292617, 4 + release + end + +Route117_PokemonDayCare_EventScript_291E01:: @ 8291E01 + msgbox Route117_PokemonDayCare_Text_29266D, 4 + release + end + +Route117_PokemonDayCare_EventScript_291E0B:: @ 8291E0B + msgbox Route117_PokemonDayCare_Text_2923F6, 4 + release + end + +Route117_PokemonDayCare_EventScript_291E15:: @ 8291E15 + msgbox Route117_PokemonDayCare_Text_2924CC, 4 + return + +Route117_PokemonDayCare_EventScript_291E1E:: @ 8291E1E + specialvar VAR_RESULT, GetNumLevelsGainedFromDaycare + compare VAR_RESULT, 0 + call_if 5, Route117_PokemonDayCare_EventScript_291E15 + return + +Route117_PokemonDayCare_EventScript_291E2F:: @ 8291E2F + msgbox Route117_PokemonDayCare_Text_292488, 4 + setvar VAR_0x8004, 0 + call Route117_PokemonDayCare_EventScript_291E1E + msgbox Route117_PokemonDayCare_Text_2923AF, 5 + compare VAR_RESULT, 1 + goto_eq Route117_PokemonDayCare_EventScript_291D56 + msgbox Route117_PokemonDayCare_Text_2925F6, 5 + compare VAR_RESULT, 1 + goto_eq Route117_PokemonDayCare_EventScript_291E6D + goto Route117_PokemonDayCare_EventScript_291DCA + end + +Route117_PokemonDayCare_EventScript_291E6D:: @ 8291E6D + specialvar VAR_RESULT, CalculatePlayerPartyCount + compare VAR_RESULT, 6 + goto_eq Route117_PokemonDayCare_EventScript_291F3D + specialvar VAR_RESULT, GetDaycareState + setvar VAR_0x8004, 0 + compare VAR_RESULT, 2 + goto_eq Route117_PokemonDayCare_EventScript_291EAC + special ShowDaycareLevelMenu + waitstate + copyvar VAR_0x8004, VAR_RESULT + compare VAR_RESULT, 2 + goto_eq Route117_PokemonDayCare_EventScript_291DCA + goto Route117_PokemonDayCare_EventScript_291EAC + end + +Route117_PokemonDayCare_EventScript_291EAC:: @ 8291EAC + special GetDaycareCost + msgbox Route117_PokemonDayCare_Text_292549, 5 + compare VAR_RESULT, 1 + goto_eq Route117_PokemonDayCare_EventScript_291EC8 + goto Route117_PokemonDayCare_EventScript_291DCA + end + +Route117_PokemonDayCare_EventScript_291EC8:: @ 8291EC8 + specialvar VAR_RESULT, IsEnoughForCostInVar0x8005 + compare VAR_RESULT, 1 + goto_eq Route117_PokemonDayCare_EventScript_291EE2 + msgbox Route117_PokemonDayCare_Text_292432, 4 + release + end + +Route117_PokemonDayCare_EventScript_291EE2:: @ 8291EE2 + applymovement 1, Route117_PokemonDayCare_Movement_291F47 + waitmovement 0 + specialvar VAR_RESULT, TakePokemonFromDaycare + special SubtractMoneyFromVar0x8005 + playse SE_REGI + msgbox Route117_PokemonDayCare_Text_292575, 4 + waitse + playmoncry VAR_RESULT, 0 + msgbox Route117_PokemonDayCare_Text_292593, 4 + waitmoncry + specialvar VAR_RESULT, GetDaycareState + compare VAR_RESULT, 2 + goto_eq Route117_PokemonDayCare_EventScript_291F24 + goto Route117_PokemonDayCare_EventScript_291DCA + end + +Route117_PokemonDayCare_EventScript_291F24:: @ 8291F24 + msgbox Route117_PokemonDayCare_Text_29244F, 5 + compare VAR_RESULT, 1 + goto_eq Route117_PokemonDayCare_EventScript_291E6D + goto Route117_PokemonDayCare_EventScript_291DCA + end + +Route117_PokemonDayCare_EventScript_291F3D:: @ 8291F3D + msgbox Route117_PokemonDayCare_Text_2924EF, 4 + release + end + +Route117_PokemonDayCare_Movement_291F47: @ 8291F47 + step_14 + step_14 + step_02 + step_14 + step_14 + step_03 + step_14 + step_14 + step_01 + slow_step_up + step_54 + step_14 + step_14 + step_14 + step_14 + step_14 + step_00 + step_55 + slow_step_down + step_end + +Route117_PokemonDayCare_EventScript_291F5B:: @ 8291F5B + end + +Route117_PokemonDayCare_EventScript_291F5C:: @ 8291F5C + msgbox Route117_PokemonDayCare_Text_292488, 4 + setvar VAR_0x8004, 0 + call Route117_PokemonDayCare_EventScript_291E1E + setvar VAR_0x8004, 1 + call Route117_PokemonDayCare_EventScript_291E1E + msgbox Route117_PokemonDayCare_Text_2925F6, 5 + compare VAR_RESULT, 1 + goto_eq Route117_PokemonDayCare_EventScript_291E6D + msgbox Route117_PokemonDayCare_Text_292476, 4 + release + end + +Route117_PokemonDayCare_EventScript_291F95:: @ 8291F95 + special ShowDaycareLevelMenu + waitstate + compare VAR_RESULT, 2 + goto_eq Route117_PokemonDayCare_EventScript_291DCA + copyvar VAR_0x8004, VAR_RESULT + specialvar VAR_RESULT, TakePokemonFromDaycare + msgbox Route117_PokemonDayCare_Text_292575, 4 + msgbox Route117_PokemonDayCare_Text_292476, 4 + release + end + +Route117_PokemonDayCare_EventScript_291FC0:: @ 8291FC0 + lockall + msgbox Text_292668, 4 + special EggHatch + waitstate + releaseall + end + +Route117_Text_291FCF: @ 8291FCF + .string "I’m the DAY-CARE MAN.\p" + .string "I help take care of the precious\n" + .string "POKéMON of TRAINERS.\p" + .string "If you’d like me to raise your POKéMON,\n" + .string "have a word with my wife.$" + +Route117_Text_29205D: @ 829205D + .string "Ah, it’s you!\p" + .string "We were raising your POKéMON,\n" + .string "and my goodness, were we surprised!\p" + .string "Your POKéMON had an EGG!\p" + .string "We don’t know how it got there,\n" + .string "but your POKéMON had it.\p" + .string "You do want it, yes?$" + +Route117_Text_292114: @ 8292114 + .string "Ah, it’s you! Good to see you.\n" + .string "Your {STR_VAR_1}’s doing fine.$" + +Route117_Text_292149: @ 8292149 + .string "Well then, I’ll keep it.\n" + .string "Thanks!$" + +Route117_Text_29216A: @ 829216A + .string "You have no room for it…\n" + .string "Come back when you’ve made room.$" + +Route117_Text_2921A4: @ 82921A4 + .string "{PLAYER} received the EGG from\n" + .string "the DAY-CARE MAN.$" + +Route117_Text_2921CF: @ 82921CF + .string "Take good care of it.$" + +Route117_Text_2921E5: @ 82921E5 + .string "By the way, about your {STR_VAR_1},\n" + .string "it seemed to be friendly with\l" + .string "{STR_VAR_2}’s {STR_VAR_3}.\p" + .string "I may even have seen it receiving\n" + .string "a piece of MAIL.$" + +Route117_Text_29225A: @ 829225A + .string "If you want to pick up your POKéMON,\n" + .string "have a word with my wife.$" + +Route117_Text_292299: @ 8292299 + .string "Ah, it’s you! Your {STR_VAR_1} and\n" + .string "{STR_VAR_2} are doing fine.$" + +Route117_Text_2922C6: @ 82922C6 + .string "I really will keep it.\n" + .string "You do want this, yes?$" + +Route117_PokemonDayCare_Text_2922F4: @ 82922F4 + .string "I’m the DAY-CARE LADY.\p" + .string "We can raise POKéMON for you.\p" + .string "Would you like us to raise one?$" + +Route117_PokemonDayCare_Text_292349: @ 8292349 + .string "Which POKéMON should we raise for\n" + .string "you?$" + +Route117_PokemonDayCare_Text_292370: @ 8292370 + .string "Fine, we’ll raise your {STR_VAR_1}\n" + .string "for a while.\p" + .string "Come back for it later.$" + +Route117_PokemonDayCare_Text_2923AF: @ 82923AF + .string "We can raise two of your POKéMON.\n" + .string "Would you like us to raise one more?$" + +Route117_PokemonDayCare_Text_2923F6: @ 82923F6 + .string "My husband was looking for you.$" + +Route117_PokemonDayCare_Text_292416: @ 8292416 + .string "Oh, fine, then.\n" + .string "Come again.$" + +Route117_PokemonDayCare_Text_292432: @ 8292432 + .string "You don’t have enough money…$" + +Route117_PokemonDayCare_Text_29244F: @ 829244F + .string "Will you take back the other one,\n" + .string "too?$" + +Route117_PokemonDayCare_Text_292476: @ 8292476 + .string "Fine.\n" + .string "Come again.$" + +Route117_PokemonDayCare_Text_292488: @ 8292488 + .string "Ah, it’s you! Good to see you.\n" + .string "Your POKéMON can only be doing good!$" + +Route117_PokemonDayCare_Text_2924CC: @ 82924CC + .string "By level, your {STR_VAR_1} has\n" + .string "grown by {STR_VAR_2}.$" + +Route117_PokemonDayCare_Text_2924EF: @ 82924EF + .string "Your POKéMON team is full.\n" + .string "Make room, then come see me.$" + +Route117_PokemonDayCare_Text_292527: @ 8292527 + .string "Which POKéMON will you take back?$" + +Route117_PokemonDayCare_Text_292549: @ 8292549 + .string "If you want your {STR_VAR_1} back,\n" + .string "it will cost ¥{STR_VAR_2}.$" + +Route117_PokemonDayCare_Text_292575: @ 8292575 + .string "Perfect!\n" + .string "Here’s your POKéMON.$" + +Route117_PokemonDayCare_Text_292593: @ 8292593 + .string "{PLAYER} took back {STR_VAR_1} from\n" + .string "the DAY-CARE LADY.$" + +Route117_PokemonDayCare_Text_2925BB: @ 82925BB + .string "Oh? But you have just one\n" + .string "POKéMON.\p" + .string "Come back another time.$" + +Route117_PokemonDayCare_Text_2925F6: @ 82925F6 + .string "Will you take your POKéMON back?$" + +Route117_PokemonDayCare_Text_292617: @ 8292617 + .string "If you leave me that POKéMON,\n" + .string "what will you battle with?\p" + .string "Come back another time.$" + +Text_292668: @ 8292668 + .string "Huh?$" + +Route117_PokemonDayCare_Text_29266D: @ 829266D + .string "Huh?\n" + .string "Now, now.\p" + .string "If you leave that POKéMON with\n" + .string "me, you’ll be left with just one.\p" + .string "You will be better off if you catch\n" + .string "some more, I dare say.$" diff --git a/data/scripts/field_move_scripts.inc b/data/scripts/field_move_scripts.inc new file mode 100644 index 0000000000..44631cc20f --- /dev/null +++ b/data/scripts/field_move_scripts.inc @@ -0,0 +1,336 @@ +PetalburgWoods_EventScript_2906BB:: @ 82906BB +Route103_EventScript_2906BB:: @ 82906BB +Route104_EventScript_2906BB:: @ 82906BB +Route110_TrickHousePuzzle1_EventScript_2906BB:: @ 82906BB +Route111_EventScript_2906BB:: @ 82906BB +Route116_EventScript_2906BB:: @ 82906BB +Route117_EventScript_2906BB:: @ 82906BB +Route118_EventScript_2906BB:: @ 82906BB +Route120_EventScript_2906BB:: @ 82906BB +Route121_EventScript_2906BB:: @ 82906BB +Route123_EventScript_2906BB:: @ 82906BB + lockall + checkflag FLAG_BADGE01_GET + goto_if 0, Route103_EventScript_290721 + checkpartymove MOVE_CUT + compare VAR_RESULT, 6 + goto_eq Route103_EventScript_290721 + setfieldeffectargument 0, VAR_RESULT + bufferpartymonnick 0, VAR_RESULT + buffermovename 1, MOVE_CUT + msgbox Route103_Text_29072E, 5 + compare VAR_RESULT, 0 + goto_eq Route103_EventScript_29072B + msgbox Route103_Text_290771, 4 + closemessage + dofieldeffect 2 + waitstate + goto Route103_EventScript_290710 + end + +Route103_EventScript_290705:: @ 8290705 + lockall + dofieldeffect 2 + waitstate + goto Route103_EventScript_290710 + end + +Route103_EventScript_290710:: @ 8290710 + applymovement VAR_LAST_TALKED, Route103_Movement_29071F + waitmovement 0 + removeobject VAR_LAST_TALKED + releaseall + end + +Route103_Movement_29071F: @ 829071F + step_5b + step_end + +Route103_EventScript_290721:: @ 8290721 + msgbox Route103_Text_29077D, 4 + releaseall + end + +Route103_EventScript_29072B:: @ 829072B + closemessage + releaseall + end + +Route103_Text_29072E: @ 829072E + .string "This tree looks like it can be\n" + .string "CUT down!\p" + .string "Would you like to CUT it?$" + +Route103_Text_290771: @ 8290771 +Route111_Text_290771: @ 8290771 + .string "{STR_VAR_1} used {STR_VAR_2}!$" + +Route103_Text_29077D: @ 829077D + .string "This tree looks like it can be\n" + .string "CUT down!$" + +GraniteCave_B2F_EventScript_2907A6:: @ 82907A6 +MirageTower_3F_EventScript_2907A6:: @ 82907A6 +MirageTower_4F_EventScript_2907A6:: @ 82907A6 +Route110_TrickHousePuzzle3_EventScript_2907A6:: @ 82907A6 +Route111_EventScript_2907A6:: @ 82907A6 +Route114_EventScript_2907A6:: @ 82907A6 +Route115_EventScript_2907A6:: @ 82907A6 +RusturfTunnel_EventScript_2907A6:: @ 82907A6 +SafariZone_North_EventScript_2907A6:: @ 82907A6 +SafariZone_Northeast_EventScript_2907A6:: @ 82907A6 +SeafloorCavern_Room1_EventScript_2907A6:: @ 82907A6 +SeafloorCavern_Room2_EventScript_2907A6:: @ 82907A6 +SeafloorCavern_Room5_EventScript_2907A6:: @ 82907A6 +VictoryRoad_B1F_EventScript_2907A6:: @ 82907A6 + lockall + checkflag FLAG_BADGE03_GET + goto_if 0, Route111_EventScript_29082D + checkpartymove MOVE_ROCK_SMASH + compare VAR_RESULT, 6 + goto_eq Route111_EventScript_29082D + setfieldeffectargument 0, VAR_RESULT + bufferpartymonnick 0, VAR_RESULT + buffermovename 1, MOVE_ROCK_SMASH + msgbox Route111_Text_29083A, 5 + compare VAR_RESULT, 0 + goto_eq Route111_EventScript_290837 + msgbox Route111_Text_290771, 4 + closemessage + dofieldeffect 37 + waitstate + goto Route111_EventScript_2907FB + end + +Route111_EventScript_2907F0:: @ 82907F0 + lockall + dofieldeffect 37 + waitstate + goto Route111_EventScript_2907FB + end + +Route111_EventScript_2907FB:: @ 82907FB + applymovement VAR_LAST_TALKED, Route111_Movement_29082B + waitmovement 0 + removeobject VAR_LAST_TALKED + specialvar VAR_RESULT, sub_81393FC + compare VAR_RESULT, 1 + goto_eq Route111_EventScript_290829 + special RockSmashWildEncounter + compare VAR_RESULT, 0 + goto_eq Route111_EventScript_290829 + waitstate + releaseall + end + +Route111_EventScript_290829:: @ 8290829 + releaseall + end + +Route111_Movement_29082B: @ 829082B + step_5a + step_end + +Route111_EventScript_29082D:: @ 829082D + msgbox Route111_Text_29087F, 4 + releaseall + end + +Route111_EventScript_290837:: @ 8290837 + closemessage + releaseall + end + +Route111_Text_29083A: @ 829083A + .string "This rock appears to be breakable.\n" + .string "Would you like to use ROCK SMASH?$" + +Route111_Text_29087F: @ 829087F + .string "It’s a rugged rock, but a POKéMON\n" + .string "may be able to smash it.$" + +FieryPath_EventScript_2908BA:: @ 82908BA +MagmaHideout_1F_EventScript_2908BA:: @ 82908BA +Route110_TrickHousePuzzle4_EventScript_2908BA:: @ 82908BA +SeafloorCavern_Room1_EventScript_2908BA:: @ 82908BA +SeafloorCavern_Room2_EventScript_2908BA:: @ 82908BA +SeafloorCavern_Room3_EventScript_2908BA:: @ 82908BA +SeafloorCavern_Room5_EventScript_2908BA:: @ 82908BA +SeafloorCavern_Room8_EventScript_2908BA:: @ 82908BA +ShoalCave_LowTideLowerRoom_EventScript_2908BA:: @ 82908BA +VictoryRoad_B1F_EventScript_2908BA:: @ 82908BA + lockall + checkflag FLAG_BADGE04_GET + goto_if 0, FieryPath_EventScript_290915 + checkflag FLAG_SYS_USE_STRENGTH + goto_eq FieryPath_EventScript_29091F + checkpartymove MOVE_STRENGTH + compare VAR_RESULT, 6 + goto_eq FieryPath_EventScript_290915 + setfieldeffectargument 0, VAR_RESULT + msgbox FieryPath_Text_29092C, 5 + compare VAR_RESULT, 0 + goto_eq FieryPath_EventScript_290929 + closemessage + dofieldeffect 40 + waitstate + goto FieryPath_EventScript_290908 + end + +FieryPath_EventScript_2908FD:: @ 82908FD + lockall + dofieldeffect 40 + waitstate + goto FieryPath_EventScript_290908 + end + +FieryPath_EventScript_290908:: @ 8290908 + setflag FLAG_SYS_USE_STRENGTH + msgbox FieryPath_Text_29098C, 4 + releaseall + end + +FieryPath_EventScript_290915:: @ 8290915 + msgbox FieryPath_Text_2909D6, 4 + releaseall + end + +FieryPath_EventScript_29091F:: @ 829091F + msgbox FieryPath_Text_290A16, 4 + releaseall + end + +FieryPath_EventScript_290929:: @ 8290929 + closemessage + releaseall + end + +FieryPath_Text_29092C: @ 829092C + .string "It’s a big boulder, but a POKéMON\n" + .string "may be able to push it aside.\p" + .string "Would you like to use STRENGTH?$" + +FieryPath_Text_29098C: @ 829098C + .string "{STR_VAR_1} used STRENGTH!\p" + .string "{STR_VAR_1}’s STRENGTH made it\n" + .string "possible to move boulders around!$" + +FieryPath_Text_2909D6: @ 82909D6 + .string "It’s a big boulder, but a POKéMON\n" + .string "may be able to push it aside.$" + +FieryPath_Text_290A16: @ 8290A16 + .string "STRENGTH made it possible to move\n" + .string "boulders around.$" + +EventScript_290A49:: @ 8290A49 + lockall + checkpartymove MOVE_WATERFALL + compare VAR_RESULT, 6 + goto_eq EventScript_290A84 + bufferpartymonnick 0, VAR_RESULT + setfieldeffectargument 0, VAR_RESULT + msgbox Text_290AC3, 5 + compare VAR_RESULT, 0 + goto_eq EventScript_290A8C + msgbox Text_290AFC, 4 + dofieldeffect 43 + goto EventScript_290A8C + +EventScript_290A83:: @ 8290A83 + lockall + +EventScript_290A84:: @ 8290A84 + msgbox Text_290A8E, 4 + +EventScript_290A8C:: @ 8290A8C + releaseall + end + +Text_290A8E: @ 8290A8E + .string "A wall of water is crashing down with\n" + .string "a mighty roar.$" + +Text_290AC3: @ 8290AC3 + .string "It’s a large waterfall.\n" + .string "Would you like to use WATERFALL?$" + +Text_290AFC: @ 8290AFC + .string "{STR_VAR_1} used WATERFALL.$" + +EventScript_290B0F:: @ 8290B0F + lockall + checkpartymove MOVE_DIVE + compare VAR_RESULT, 6 + goto_eq EventScript_290B4E + bufferpartymonnick 0, VAR_RESULT + setfieldeffectargument 0, VAR_RESULT + setfieldeffectargument 1, 1 + msgbox Text_290BE8, 5 + compare VAR_RESULT, 0 + goto_eq EventScript_290B58 + msgbox Text_290C1A, 4 + dofieldeffect 44 + goto EventScript_290B58 + end + +EventScript_290B4E:: @ 8290B4E + msgbox Text_290BAA, 4 + releaseall + end + +EventScript_290B58:: @ 8290B58 + releaseall + end + +EventScript_290B5A:: @ 8290B5A + lockall + checkpartymove MOVE_DIVE + compare VAR_RESULT, 6 + goto_eq EventScript_290B99 + bufferpartymonnick 0, VAR_RESULT + setfieldeffectargument 0, VAR_RESULT + setfieldeffectargument 1, 1 + msgbox Text_290C6E, 5 + compare VAR_RESULT, 0 + goto_eq EventScript_290BA8 + msgbox Text_290C1A, 4 + dofieldeffect 44 + goto EventScript_290BA8 + end + +EventScript_290B99:: @ 8290B99 + lockall + msgbox Text_290C28, 4 + goto EventScript_290BA8 + end + +EventScript_290BA8:: @ 8290BA8 + releaseall + end + +Text_290BAA: @ 8290BAA + .string "The sea is deep here. A POKéMON\n" + .string "may be able to go underwater.$" + +Text_290BE8: @ 8290BE8 + .string "The sea is deep here.\n" + .string "Would you like to use DIVE?$" + +Text_290C1A: @ 8290C1A + .string "{STR_VAR_1} used DIVE.$" + +Text_290C28: @ 8290C28 + .string "Light is filtering down from above.\n" + .string "A POKéMON may be able to surface.$" + +Text_290C6E: @ 8290C6E + .string "Light is filtering down from above.\n" + .string "Would you like to use DIVE?$" + +EventScript_290CAE:: @ 8290CAE + msgbox Text_290CB7, 3 + end + +Text_290CB7: @ 8290CB7 + .string "Looks like there’s nothing here…$" diff --git a/data/scripts/gabby_and_ty.inc b/data/scripts/gabby_and_ty.inc new file mode 100644 index 0000000000..269ef25300 --- /dev/null +++ b/data/scripts/gabby_and_ty.inc @@ -0,0 +1,339 @@ +EventScript_28CCAA:: @ 828CCAA + setvar VAR_0x8005, 8 + special InterviewBefore + compare VAR_RESULT, 1 + goto_eq EventScript_28CCC6 + setvar VAR_0x8005, 8 + special InterviewAfter + return + +EventScript_28CCC6:: @ 828CCC6 + return + +Route111_EventScript_28CCC7:: @ 828CCC7 +Route118_EventScript_28CCC7:: @ 828CCC7 +Route120_EventScript_28CCC7:: @ 828CCC7 + cleartrainerflag TRAINER_GABBY_AND_TY_6 + specialvar VAR_RESULT, GabbyAndTyGetBattleNum + switch VAR_RESULT + case 0, Route111_EventScript_28CD38 + case 1, Route111_EventScript_28CD3E + case 2, Route111_EventScript_28CD49 + case 3, Route111_EventScript_28CD54 + case 4, Route111_EventScript_28CD5F + case 5, Route111_EventScript_28CD6A + case 6, Route111_EventScript_28CD75 + case 7, Route111_EventScript_28CD80 + case 8, Route111_EventScript_28CD8B + end + +Route111_EventScript_28CD38:: @ 828CD38 + call Route111_EventScript_28CD9A + return + +Route111_EventScript_28CD3E:: @ 828CD3E + call Route111_EventScript_28CDA2 + call Route111_EventScript_28CD96 + return + +Route111_EventScript_28CD49:: @ 828CD49 + call Route111_EventScript_28CDAA + call Route111_EventScript_28CD9E + return + +Route111_EventScript_28CD54:: @ 828CD54 + call Route111_EventScript_28CDB2 + call Route111_EventScript_28CDA6 + return + +Route111_EventScript_28CD5F:: @ 828CD5F + call Route111_EventScript_28CDBA + call Route111_EventScript_28CDAE + return + +Route111_EventScript_28CD6A:: @ 828CD6A + call Route111_EventScript_28CDC2 + call Route111_EventScript_28CDB6 + return + +Route111_EventScript_28CD75:: @ 828CD75 + call Route111_EventScript_28CDCA + call Route111_EventScript_28CDBE + return + +Route111_EventScript_28CD80:: @ 828CD80 + call Route111_EventScript_28CDD2 + call Route111_EventScript_28CDC6 + return + +Route111_EventScript_28CD8B:: @ 828CD8B + call Route111_EventScript_28CDC2 + call Route111_EventScript_28CDCE + return + +Route111_EventScript_28CD96:: @ 828CD96 + setflag FLAG_0x31C + return + +Route111_EventScript_28CD9A:: @ 828CD9A + clearflag FLAG_0x31C + return + +Route111_EventScript_28CD9E:: @ 828CD9E + setflag FLAG_0x31D + return + +Route111_EventScript_28CDA2:: @ 828CDA2 + clearflag FLAG_0x31D + return + +Route111_EventScript_28CDA6:: @ 828CDA6 + setflag FLAG_0x31E + return + +Route111_EventScript_28CDAA:: @ 828CDAA + clearflag FLAG_0x31E + return + +Route111_EventScript_28CDAE:: @ 828CDAE + setflag FLAG_0x31F + return + +Route111_EventScript_28CDB2:: @ 828CDB2 + clearflag FLAG_0x31F + return + +Route111_EventScript_28CDB6:: @ 828CDB6 + setflag FLAG_0x385 + return + +Route111_EventScript_28CDBA:: @ 828CDBA + clearflag FLAG_0x385 + return + +Route111_EventScript_28CDBE:: @ 828CDBE + setflag FLAG_0x386 + return + +Route111_EventScript_28CDC2:: @ 828CDC2 + clearflag FLAG_0x386 + return + +Route111_EventScript_28CDC6:: @ 828CDC6 + setflag FLAG_0x387 + return + +Route111_EventScript_28CDCA:: @ 828CDCA + clearflag FLAG_0x387 + return + +Route111_EventScript_28CDCE:: @ 828CDCE + setflag FLAG_0x388 + return + +Route111_EventScript_28CDD2:: @ 828CDD2 + clearflag FLAG_0x388 + return + +Route111_EventScript_28CDD6:: @ 828CDD6 + trainerbattle 6, TRAINER_GABBY_AND_TY_1, 0, Route111_Text_28AF05, Route111_Text_28B000, Route111_Text_28B5EC, Route111_EventScript_28CF56 + msgbox Route111_Text_28B5C0, 4 + release + end + +Route111_EventScript_28CDF6:: @ 828CDF6 + trainerbattle 6, TRAINER_GABBY_AND_TY_1, 0, Route111_Text_28B75C, Route111_Text_28B8B1, Route111_Text_28B841, Route111_EventScript_28CF56 + msgbox Route111_Text_28B805, 4 + release + end + +Route118_EventScript_28CE16:: @ 828CE16 + trainerbattle 6, TRAINER_GABBY_AND_TY_2, 0, Route118_Text_28AF7D, Route118_Text_28B719, Route118_Text_28B5EC, Route118_EventScript_28CFC3 + msgbox Route118_Text_28B5C0, 4 + release + end + +Route118_EventScript_28CE36:: @ 828CE36 + trainerbattle 6, TRAINER_GABBY_AND_TY_2, 0, Route118_Text_28B7B1, Route118_Text_28B8F6, Route118_Text_28B841, Route118_EventScript_28CFC3 + msgbox Route118_Text_28B805, 4 + release + end + +Route120_EventScript_28CE56:: @ 828CE56 + trainerbattle 6, TRAINER_GABBY_AND_TY_3, 0, Route120_Text_28AF7D, Route120_Text_28B719, Route120_Text_28B5EC, Route120_EventScript_28CFC3 + msgbox Route120_Text_28B5C0, 4 + release + end + +Route120_EventScript_28CE76:: @ 828CE76 + trainerbattle 6, TRAINER_GABBY_AND_TY_3, 0, Route120_Text_28B7B1, Route120_Text_28B8F6, Route120_Text_28B841, Route120_EventScript_28CFC3 + msgbox Route120_Text_28B805, 4 + release + end + +Route111_EventScript_28CE96:: @ 828CE96 + trainerbattle 6, TRAINER_GABBY_AND_TY_4, 0, Route111_Text_28AF7D, Route111_Text_28B719, Route111_Text_28B5EC, Route111_EventScript_28CFC3 + msgbox Route111_Text_28B5C0, 4 + release + end + +Route111_EventScript_28CEB6:: @ 828CEB6 + trainerbattle 6, TRAINER_GABBY_AND_TY_4, 0, Route111_Text_28B7B1, Route111_Text_28B8F6, Route111_Text_28B841, Route111_EventScript_28CFC3 + msgbox Route111_Text_28B805, 4 + release + end + +Route118_EventScript_28CED6:: @ 828CED6 + trainerbattle 6, TRAINER_GABBY_AND_TY_5, 0, Route118_Text_28AF7D, Route118_Text_28B719, Route118_Text_28B5EC, Route118_EventScript_28CFC3 + msgbox Route118_Text_28B5C0, 4 + release + end + +Route118_EventScript_28CEF6:: @ 828CEF6 + trainerbattle 6, TRAINER_GABBY_AND_TY_5, 0, Route118_Text_28B7B1, Route118_Text_28B8F6, Route118_Text_28B841, Route118_EventScript_28CFC3 + msgbox Route118_Text_28B805, 4 + release + end + +Route111_EventScript_28CF16:: @ 828CF16 +Route118_EventScript_28CF16:: @ 828CF16 +Route120_EventScript_28CF16:: @ 828CF16 + trainerbattle 6, TRAINER_GABBY_AND_TY_6, 0, Route111_Text_28AF7D, Route111_Text_28B719, Route111_Text_28B5EC, Route111_EventScript_28CFC3 + msgbox Route111_Text_28B5C0, 4 + release + end + +Route111_EventScript_28CF36:: @ 828CF36 +Route118_EventScript_28CF36:: @ 828CF36 +Route120_EventScript_28CF36:: @ 828CF36 + trainerbattle 6, TRAINER_GABBY_AND_TY_6, 0, Route111_Text_28B7B1, Route111_Text_28B8F6, Route111_Text_28B841, Route111_EventScript_28CFC3 + msgbox Route111_Text_28B805, 4 + release + end + +Route111_EventScript_28CF56:: @ 828CF56 + special GabbyAndTyBeforeInterview + special GabbyAndTySetScriptVarsToFieldObjectLocalIds + compare VAR_FACING, 2 + call_if 1, Route111_EventScript_28CF94 + compare VAR_FACING, 1 + call_if 1, Route111_EventScript_28CF9F + compare VAR_FACING, 4 + call_if 1, Route111_EventScript_28CFB1 + checkflag FLAG_0x001 + goto_eq Route111_EventScript_28D0EE + msgbox Route111_Text_28B042, 5 + goto Route111_EventScript_28D0A7 + end + +Route111_EventScript_28CF94:: @ 828CF94 + applymovement VAR_0x8004, Route111_Movement_28D04D + waitmovement 0 + return + +Route111_EventScript_28CF9F:: @ 828CF9F + applymovement VAR_0x8004, Route111_Movement_28D04F + applymovement VAR_0x8005, Route111_Movement_2725A6 + waitmovement 0 + return + +Route111_EventScript_28CFB1:: @ 828CFB1 + applymovement VAR_0x8004, Route111_Movement_28D051 + applymovement VAR_0x8005, Route111_Movement_2725A4 + waitmovement 0 + return + +Route111_EventScript_28CFC3:: @ 828CFC3 +Route118_EventScript_28CFC3:: @ 828CFC3 +Route120_EventScript_28CFC3:: @ 828CFC3 + special GabbyAndTyBeforeInterview + special GabbyAndTySetScriptVarsToFieldObjectLocalIds + compare VAR_FACING, 2 + call_if 1, Route111_EventScript_28CF94 + compare VAR_FACING, 1 + call_if 1, Route111_EventScript_28CF9F + compare VAR_FACING, 4 + call_if 1, Route111_EventScript_28CFB1 + checkflag FLAG_0x001 + goto_eq Route111_EventScript_28D0EE + specialvar VAR_RESULT, GabbyAndTyGetLastQuote + compare VAR_RESULT, 0 + goto_eq Route111_EventScript_28D053 + msgbox Route111_Text_28B137, 4 + specialvar VAR_RESULT, GabbyAndTyGetLastBattleTrivia + switch VAR_RESULT + case 0, Route111_EventScript_28D061 + case 1, Route111_EventScript_28D06F + case 2, Route111_EventScript_28D07D + case 3, Route111_EventScript_28D08B + case 4, Route111_EventScript_28D099 + end + +Route111_Movement_28D04D: @ 828D04D + step_1d + step_end + +Route111_Movement_28D04F: @ 828D04F + step_1e + step_end + +Route111_Movement_28D051: @ 828D051 + step_1f + step_end + +Route111_EventScript_28D053:: @ 828D053 + msgbox Route111_Text_28B62D, 5 + goto Route111_EventScript_28D0A7 + end + +Route111_EventScript_28D061:: @ 828D061 + msgbox Route111_Text_28B3F3, 5 + goto Route111_EventScript_28D0A7 + end + +Route111_EventScript_28D06F:: @ 828D06F + msgbox Route111_Text_28B1B3, 5 + goto Route111_EventScript_28D0A7 + end + +Route111_EventScript_28D07D:: @ 828D07D + msgbox Route111_Text_28B23D, 5 + goto Route111_EventScript_28D0A7 + end + +Route111_EventScript_28D08B:: @ 828D08B + msgbox Route111_Text_28B2FA, 5 + goto Route111_EventScript_28D0A7 + end + +Route111_EventScript_28D099:: @ 828D099 + msgbox Route111_Text_28B379, 5 + goto Route111_EventScript_28D0A7 + end + +Route111_EventScript_28D0A7:: @ 828D0A7 + compare VAR_RESULT, 0 + goto_eq Route111_EventScript_28D0E1 + msgbox Route111_Text_28B433, 4 + setvar VAR_0x8004, 10 + call Route111_EventScript_271E7C + lock + faceplayer + compare VAR_RESULT, 0 + goto_eq Route111_EventScript_28D0E1 + msgbox Route111_Text_28B4AB, 4 + special GabbyAndTyAfterInterview + setflag FLAG_0x001 + release + end + +Route111_EventScript_28D0E1:: @ 828D0E1 + msgbox Route111_Text_28B577, 4 + setflag FLAG_0x001 + release + end + +Route111_EventScript_28D0EE:: @ 828D0EE + msgbox Route111_Text_28B5C0, 4 + release + end diff --git a/data/scripts/item_ball_scripts.inc b/data/scripts/item_ball_scripts.inc new file mode 100644 index 0000000000..2b0083175a --- /dev/null +++ b/data/scripts/item_ball_scripts.inc @@ -0,0 +1,659 @@ +Route102_EventScript_290CD8:: @ 8290CD8 + giveitem_std ITEM_POTION, 1, 1 + end + +Route103_EventScript_290CE5:: @ 8290CE5 + giveitem_std ITEM_GUARD_SPEC, 1, 1 + end + +Route103_EventScript_290CF2:: @ 8290CF2 + giveitem_std ITEM_PP_UP, 1, 1 + end + +Route104_EventScript_290CFF:: @ 8290CFF + giveitem_std ITEM_PP_UP, 1, 1 + end + +Route104_EventScript_290D0C:: @ 8290D0C + giveitem_std ITEM_POKE_BALL, 1, 1 + end + +Route104_EventScript_290D19:: @ 8290D19 + giveitem_std ITEM_X_ACCURACY, 1, 1 + end + +Route104_EventScript_290D26:: @ 8290D26 + giveitem_std ITEM_POTION, 1, 1 + end + +Route105_EventScript_290D33:: @ 8290D33 + giveitem_std ITEM_IRON, 1, 1 + end + +Route106_EventScript_290D40:: @ 8290D40 + giveitem_std ITEM_PROTEIN, 1, 1 + end + +Route108_EventScript_290D4D:: @ 8290D4D + giveitem_std ITEM_STAR_PIECE, 1, 1 + end + +Route109_EventScript_290D5A:: @ 8290D5A + giveitem_std ITEM_PP_UP, 1, 1 + end + +Route109_EventScript_290D67:: @ 8290D67 + giveitem_std ITEM_POTION, 1, 1 + end + +Route110_EventScript_290D74:: @ 8290D74 + giveitem_std ITEM_RARE_CANDY, 1, 1 + end + +Route110_EventScript_290D81:: @ 8290D81 + giveitem_std ITEM_DIRE_HIT, 1, 1 + end + +Route110_EventScript_290D8E:: @ 8290D8E + giveitem_std ITEM_ELIXIR, 1, 1 + end + +Route111_EventScript_290D9B:: @ 8290D9B + giveitem_std ITEM_TM37, 1, 1 + end + +Route111_EventScript_290DA8:: @ 8290DA8 + giveitem_std ITEM_STARDUST, 1, 1 + end + +Route111_EventScript_290DB5:: @ 8290DB5 + giveitem_std ITEM_HP_UP, 1, 1 + end + +Route111_EventScript_290DC2:: @ 8290DC2 + giveitem_std ITEM_ELIXIR, 1, 1 + end + +Route112_EventScript_290DCF:: @ 8290DCF + giveitem_std ITEM_NUGGET, 1, 1 + end + +Route113_EventScript_290DDC:: @ 8290DDC + giveitem_std ITEM_MAX_ETHER, 1, 1 + end + +Route113_EventScript_290DE9:: @ 8290DE9 + giveitem_std ITEM_SUPER_REPEL, 1, 1 + end + +Route113_EventScript_290DF6:: @ 8290DF6 + giveitem_std ITEM_HYPER_POTION, 1, 1 + end + +Route114_EventScript_290E03:: @ 8290E03 + giveitem_std ITEM_RARE_CANDY, 1, 1 + end + +Route114_EventScript_290E10:: @ 8290E10 + giveitem_std ITEM_PROTEIN, 1, 1 + end + +Route114_EventScript_290E1D:: @ 8290E1D + giveitem_std ITEM_ENERGY_POWDER, 1, 1 + end + +Route115_EventScript_290E2A:: @ 8290E2A + giveitem_std ITEM_SUPER_POTION, 1, 1 + end + +Route115_EventScript_290E37:: @ 8290E37 + giveitem_std ITEM_TM01, 1, 1 + end + +Route115_EventScript_290E44:: @ 8290E44 + giveitem_std ITEM_IRON, 1, 1 + end + +Route115_EventScript_290E51:: @ 8290E51 + giveitem_std ITEM_GREAT_BALL, 1, 1 + end + +Route115_EventScript_290E5E:: @ 8290E5E + giveitem_std ITEM_HEAL_POWDER, 1, 1 + end + +Route115_EventScript_290E6B:: @ 8290E6B + giveitem_std ITEM_PP_UP, 1, 1 + end + +Route116_EventScript_290E78:: @ 8290E78 + giveitem_std ITEM_X_SPECIAL, 1, 1 + end + +Route116_EventScript_290E85:: @ 8290E85 + giveitem_std ITEM_ETHER, 1, 1 + end + +Route116_EventScript_290E92:: @ 8290E92 + giveitem_std ITEM_REPEL, 1, 1 + end + +Route116_EventScript_290E9F:: @ 8290E9F + giveitem_std ITEM_HP_UP, 1, 1 + end + +Route116_EventScript_290EAC:: @ 8290EAC + giveitem_std ITEM_POTION, 1, 1 + end + +Route117_EventScript_290EB9:: @ 8290EB9 + giveitem_std ITEM_GREAT_BALL, 1, 1 + end + +Route117_EventScript_290EC6:: @ 8290EC6 + giveitem_std ITEM_REVIVE, 1, 1 + end + +Route118_EventScript_290ED3:: @ 8290ED3 + giveitem_std ITEM_HYPER_POTION, 1, 1 + end + +Route119_EventScript_290EE0:: @ 8290EE0 + giveitem_std ITEM_SUPER_REPEL, 1, 1 + end + +Route119_EventScript_290EED:: @ 8290EED + giveitem_std ITEM_ZINC, 1, 1 + end + +Route119_EventScript_290EFA:: @ 8290EFA + giveitem_std ITEM_ELIXIR, 1, 1 + end + +Route119_EventScript_290F07:: @ 8290F07 + giveitem_std ITEM_LEAF_STONE, 1, 1 + end + +Route119_EventScript_290F14:: @ 8290F14 + giveitem_std ITEM_RARE_CANDY, 1, 1 + end + +Route119_EventScript_290F21:: @ 8290F21 + giveitem_std ITEM_HYPER_POTION, 1, 1 + end + +Route119_EventScript_290F2E:: @ 8290F2E + giveitem_std ITEM_HYPER_POTION, 1, 1 + end + +Route119_EventScript_290F3B:: @ 8290F3B + giveitem_std ITEM_ELIXIR, 1, 1 + end + +Route120_EventScript_290F48:: @ 8290F48 + giveitem_std ITEM_NUGGET, 1, 1 + end + +Route120_EventScript_290F55:: @ 8290F55 + giveitem_std ITEM_FULL_HEAL, 1, 1 + end + +Route120_EventScript_290F62:: @ 8290F62 + giveitem_std ITEM_HYPER_POTION, 1, 1 + end + +Route120_EventScript_290F6F:: @ 8290F6F + giveitem_std ITEM_NEST_BALL, 1, 1 + end + +Route120_EventScript_290F7C:: @ 8290F7C + giveitem_std ITEM_REVIVE, 1, 1 + end + +Route121_EventScript_290F89:: @ 8290F89 + giveitem_std ITEM_CARBOS, 1, 1 + end + +Route121_EventScript_290F96:: @ 8290F96 + giveitem_std ITEM_REVIVE, 1, 1 + end + +Route121_EventScript_290FA3:: @ 8290FA3 + giveitem_std ITEM_ZINC, 1, 1 + end + +Route123_EventScript_290FB0:: @ 8290FB0 + giveitem_std ITEM_CALCIUM, 1, 1 + end + +Route123_EventScript_290FBD:: @ 8290FBD + giveitem_std ITEM_ULTRA_BALL, 1, 1 + end + +Route123_EventScript_290FCA:: @ 8290FCA + giveitem_std ITEM_ELIXIR, 1, 1 + end + +Route123_EventScript_290FD7:: @ 8290FD7 + giveitem_std ITEM_PP_UP, 1, 1 + end + +Route123_EventScript_290FE4:: @ 8290FE4 + giveitem_std ITEM_REVIVAL_HERB, 1, 1 + end + +Route124_EventScript_290FF1:: @ 8290FF1 + giveitem_std ITEM_RED_SHARD, 1, 1 + end + +Route124_EventScript_290FFE:: @ 8290FFE + giveitem_std ITEM_BLUE_SHARD, 1, 1 + end + +Route124_EventScript_29100B:: @ 829100B + giveitem_std ITEM_YELLOW_SHARD, 1, 1 + end + +Route125_EventScript_291018:: @ 8291018 + giveitem_std ITEM_BIG_PEARL, 1, 1 + end + +Route126_EventScript_291025:: @ 8291025 + giveitem_std ITEM_GREEN_SHARD, 1, 1 + end + +Route127_EventScript_291032:: @ 8291032 + giveitem_std ITEM_ZINC, 1, 1 + end + +Route127_EventScript_29103F:: @ 829103F + giveitem_std ITEM_CARBOS, 1, 1 + end + +Route127_EventScript_29104C:: @ 829104C + giveitem_std ITEM_RARE_CANDY, 1, 1 + end + +Route132_EventScript_291059:: @ 8291059 + giveitem_std ITEM_RARE_CANDY, 1, 1 + end + +Route132_EventScript_291066:: @ 8291066 + giveitem_std ITEM_PROTEIN, 1, 1 + end + +Route133_EventScript_291073:: @ 8291073 + giveitem_std ITEM_BIG_PEARL, 1, 1 + end + +Route133_EventScript_291080:: @ 8291080 + giveitem_std ITEM_STAR_PIECE, 1, 1 + end + +Route133_EventScript_29108D:: @ 829108D + giveitem_std ITEM_MAX_REVIVE, 1, 1 + end + +Route134_EventScript_29109A:: @ 829109A + giveitem_std ITEM_CARBOS, 1, 1 + end + +Route134_EventScript_2910A7:: @ 82910A7 + giveitem_std ITEM_STAR_PIECE, 1, 1 + end + +PetalburgCity_EventScript_2910B4:: @ 82910B4 + giveitem_std ITEM_MAX_REVIVE, 1, 1 + end + +PetalburgCity_EventScript_2910C1:: @ 82910C1 + giveitem_std ITEM_ETHER, 1, 1 + end + +MauvilleCity_EventScript_2910CE:: @ 82910CE + giveitem_std ITEM_X_SPEED, 1, 1 + end + +RustboroCity_EventScript_2910DB:: @ 82910DB + giveitem_std ITEM_X_DEFEND, 1, 1 + end + +LilycoveCity_EventScript_2910E8:: @ 82910E8 + giveitem_std ITEM_MAX_REPEL, 1, 1 + end + +MossdeepCity_EventScript_2910F5:: @ 82910F5 + giveitem_std ITEM_NET_BALL, 1, 1 + end + +PetalburgWoods_EventScript_291102:: @ 8291102 + giveitem_std ITEM_X_ATTACK, 1, 1 + end + +PetalburgWoods_EventScript_29110F:: @ 829110F + giveitem_std ITEM_GREAT_BALL, 1, 1 + end + +PetalburgWoods_EventScript_29111C:: @ 829111C + giveitem_std ITEM_ETHER, 1, 1 + end + +PetalburgWoods_EventScript_291129:: @ 8291129 + giveitem_std ITEM_PARALYZE_HEAL, 1, 1 + end + +RusturfTunnel_EventScript_291136:: @ 8291136 + giveitem_std ITEM_POKE_BALL, 1, 1 + end + +RusturfTunnel_EventScript_291143:: @ 8291143 + giveitem_std ITEM_MAX_ETHER, 1, 1 + end + +GraniteCave_1F_EventScript_291150:: @ 8291150 + giveitem_std ITEM_ESCAPE_ROPE, 1, 1 + end + +GraniteCave_B1F_EventScript_29115D:: @ 829115D + giveitem_std ITEM_POKE_BALL, 1, 1 + end + +GraniteCave_B2F_EventScript_29116A:: @ 829116A + giveitem_std ITEM_REPEL, 1, 1 + end + +GraniteCave_B2F_EventScript_291177:: @ 8291177 + giveitem_std ITEM_RARE_CANDY, 1, 1 + end + +JaggedPass_EventScript_291184:: @ 8291184 + giveitem_std ITEM_BURN_HEAL, 1, 1 + end + +FieryPath_EventScript_291191:: @ 8291191 + giveitem_std ITEM_FIRE_STONE, 1, 1 + end + +FieryPath_EventScript_29119E:: @ 829119E + giveitem_std ITEM_TM06, 1, 1 + end + +MeteorFalls_1F_1R_EventScript_2911AB:: @ 82911AB + giveitem_std ITEM_TM23, 1, 1 + end + +MeteorFalls_1F_1R_EventScript_2911B8:: @ 82911B8 + giveitem_std ITEM_FULL_HEAL, 1, 1 + end + +MeteorFalls_1F_1R_EventScript_2911C5:: @ 82911C5 + giveitem_std ITEM_MOON_STONE, 1, 1 + end + +MeteorFalls_1F_1R_EventScript_2911D2:: @ 82911D2 + giveitem_std ITEM_PP_UP, 1, 1 + end + +MeteorFalls_B1F_2R_EventScript_2911DF:: @ 82911DF + giveitem_std ITEM_TM02, 1, 1 + end + +NewMauville_Inside_EventScript_2911EC:: @ 82911EC + giveitem_std ITEM_ULTRA_BALL, 1, 1 + end + +NewMauville_Inside_EventScript_2911F9:: @ 82911F9 + giveitem_std ITEM_ESCAPE_ROPE, 1, 1 + end + +NewMauville_Inside_EventScript_291206:: @ 8291206 + giveitem_std ITEM_THUNDER_STONE, 1, 1 + end + +NewMauville_Inside_EventScript_291213:: @ 8291213 + giveitem_std ITEM_FULL_HEAL, 1, 1 + end + +NewMauville_Inside_EventScript_291220:: @ 8291220 + giveitem_std ITEM_PARALYZE_HEAL, 1, 1 + end + +AbandonedShip_Rooms_1F_EventScript_29122D:: @ 829122D + giveitem_std ITEM_HARBOR_MAIL, 1, 1 + end + +AbandonedShip_Rooms_B1F_EventScript_29123A:: @ 829123A + giveitem_std ITEM_ESCAPE_ROPE, 1, 1 + end + +AbandonedShip_Rooms2_B1F_EventScript_291247:: @ 8291247 + giveitem_std ITEM_DIVE_BALL, 1, 1 + end + +AbandonedShip_Room_B1F_EventScript_291254:: @ 8291254 + giveitem_std ITEM_TM13, 1, 1 + end + +AbandonedShip_Rooms2_1F_EventScript_291261:: @ 8291261 + giveitem_std ITEM_REVIVE, 1, 1 + end + +AbandonedShip_CaptainsOffice_EventScript_29126E:: @ 829126E + giveitem_std ITEM_STORAGE_KEY, 1, 1 + end + +AbandonedShip_HiddenFloorRooms_EventScript_29127B:: @ 829127B + giveitem_std ITEM_LUXURY_BALL, 1, 1 + end + +AbandonedShip_HiddenFloorRooms_EventScript_291288:: @ 8291288 + giveitem_std ITEM_SCANNER, 1, 1 + end + +AbandonedShip_HiddenFloorRooms_EventScript_291295:: @ 8291295 + giveitem_std ITEM_WATER_STONE, 1, 1 + end + +AbandonedShip_HiddenFloorRooms_EventScript_2912A2:: @ 82912A2 + giveitem_std ITEM_TM18, 1, 1 + end + +ScorchedSlab_EventScript_2912AF:: @ 82912AF + giveitem_std ITEM_TM11, 1, 1 + end + +SafariZone_Northwest_EventScript_2912BC:: @ 82912BC + giveitem_std ITEM_TM22, 1, 1 + end + +SafariZone_North_EventScript_2912C9:: @ 82912C9 + giveitem_std ITEM_CALCIUM, 1, 1 + end + +SafariZone_Southwest_EventScript_2912D6:: @ 82912D6 + giveitem_std ITEM_MAX_REVIVE, 1, 1 + end + +SafariZone_Northeast_EventScript_2912E3:: @ 82912E3 + giveitem_std ITEM_NUGGET, 1, 1 + end + +SafariZone_Southeast_EventScript_2912F0:: @ 82912F0 + giveitem_std ITEM_BIG_PEARL, 1, 1 + end + +MtPyre_2F_EventScript_2912FD:: @ 82912FD + giveitem_std ITEM_ULTRA_BALL, 1, 1 + end + +MtPyre_3F_EventScript_29130A:: @ 829130A + giveitem_std ITEM_SUPER_REPEL, 1, 1 + end + +MtPyre_4F_EventScript_291317:: @ 8291317 + giveitem_std ITEM_SEA_INCENSE, 1, 1 + end + +MtPyre_5F_EventScript_291324:: @ 8291324 + giveitem_std ITEM_LAX_INCENSE, 1, 1 + end + +MtPyre_6F_EventScript_291331:: @ 8291331 + giveitem_std ITEM_TM30, 1, 1 + end + +MtPyre_Exterior_EventScript_29133E:: @ 829133E + giveitem_std ITEM_MAX_POTION, 1, 1 + end + +MtPyre_Exterior_EventScript_29134B:: @ 829134B + giveitem_std ITEM_TM48, 1, 1 + end + +AquaHideout_B1F_EventScript_291358:: @ 8291358 + giveitem_std ITEM_MASTER_BALL, 1, 1 + end + +AquaHideout_B1F_EventScript_291365:: @ 8291365 + giveitem_std ITEM_NUGGET, 1, 1 + end + +AquaHideout_B1F_EventScript_291372:: @ 8291372 + giveitem_std ITEM_MAX_ELIXIR, 1, 1 + end + +AquaHideout_B2F_EventScript_29137F:: @ 829137F + giveitem_std ITEM_NEST_BALL, 1, 1 + end + +AquaHideout_B2F_EventScript_29138C:: @ 829138C + giveitem_std ITEM_MASTER_BALL, 1, 1 + end + +Route119_EventScript_291399:: @ 8291399 + giveitem_std ITEM_NUGGET, 1, 1 + end + +Route119_EventScript_2913A6:: @ 82913A6 + giveitem_std ITEM_MAX_ELIXIR, 1, 1 + end + +Route119_EventScript_2913B3:: @ 82913B3 + giveitem_std ITEM_NEST_BALL, 1, 1 + end + +ShoalCave_LowTideEntranceRoom_EventScript_2913C0:: @ 82913C0 + giveitem_std ITEM_BIG_PEARL, 1, 1 + end + +ShoalCave_LowTideInnerRoom_EventScript_2913CD:: @ 82913CD + giveitem_std ITEM_RARE_CANDY, 1, 1 + end + +ShoalCave_LowTideStairsRoom_EventScript_2913DA:: @ 82913DA + giveitem_std ITEM_ICE_HEAL, 1, 1 + end + +ShoalCave_LowTideIceRoom_EventScript_2913E7:: @ 82913E7 + giveitem_std ITEM_TM07, 1, 1 + end + +ShoalCave_LowTideIceRoom_EventScript_2913F4:: @ 82913F4 + giveitem_std ITEM_NEVER_MELT_ICE, 1, 1 + end + +SeafloorCavern_Room9_EventScript_291401:: @ 8291401 + giveitem_std ITEM_TM26, 1, 1 + end + +Route110_TrickHousePuzzle1_EventScript_29140E:: @ 829140E + giveitem_std ITEM_ORANGE_MAIL, 1, 1 + end + +Route110_TrickHousePuzzle2_EventScript_29141B:: @ 829141B + giveitem_std ITEM_HARBOR_MAIL, 1, 1 + end + +Route110_TrickHousePuzzle2_EventScript_291428:: @ 8291428 + giveitem_std ITEM_WAVE_MAIL, 1, 1 + end + +Route110_TrickHousePuzzle3_EventScript_291435:: @ 8291435 + giveitem_std ITEM_SHADOW_MAIL, 1, 1 + end + +Route110_TrickHousePuzzle3_EventScript_291442:: @ 8291442 + giveitem_std ITEM_WOOD_MAIL, 1, 1 + end + +Route110_TrickHousePuzzle4_EventScript_29144F:: @ 829144F + giveitem_std ITEM_MECH_MAIL, 1, 1 + end + +Route110_TrickHousePuzzle6_EventScript_29145C:: @ 829145C + giveitem_std ITEM_GLITTER_MAIL, 1, 1 + end + +Route110_TrickHousePuzzle7_EventScript_291469:: @ 8291469 + giveitem_std ITEM_TROPIC_MAIL, 1, 1 + end + +Route110_TrickHousePuzzle8_EventScript_291476:: @ 8291476 + giveitem_std ITEM_BEAD_MAIL, 1, 1 + end + +VictoryRoad_1F_EventScript_291483:: @ 8291483 + giveitem_std ITEM_MAX_ELIXIR, 1, 1 + end + +VictoryRoad_1F_EventScript_291490:: @ 8291490 + giveitem_std ITEM_PP_UP, 1, 1 + end + +VictoryRoad_B1F_EventScript_29149D:: @ 829149D + giveitem_std ITEM_TM29, 1, 1 + end + +VictoryRoad_B1F_EventScript_2914AA:: @ 82914AA + giveitem_std ITEM_FULL_RESTORE, 1, 1 + end + +VictoryRoad_B2F_EventScript_2914B7:: @ 82914B7 + giveitem_std ITEM_FULL_HEAL, 1, 1 + end + +ArtisanCave_B1F_EventScript_2914C4:: @ 82914C4 + giveitem_std ITEM_HP_UP, 1, 1 + end + +ArtisanCave_1F_EventScript_2914D1:: @ 82914D1 + giveitem_std ITEM_CARBOS, 1, 1 + end + +MagmaHideout_1F_EventScript_2914DE:: @ 82914DE + giveitem_std ITEM_RARE_CANDY, 1, 1 + end + +MagmaHideout_2F_2R_EventScript_2914EB:: @ 82914EB + giveitem_std ITEM_MAX_ELIXIR, 1, 1 + end + +MagmaHideout_2F_2R_EventScript_2914F8:: @ 82914F8 + giveitem_std ITEM_FULL_RESTORE, 1, 1 + end + +MagmaHideout_3F_1R_EventScript_291505:: @ 8291505 + giveitem_std ITEM_NUGGET, 1, 1 + end + +MagmaHideout_3F_2R_EventScript_291512:: @ 8291512 + giveitem_std ITEM_PP_MAX, 1, 1 + end + +MagmaHideout_4F_EventScript_29151F:: @ 829151F + giveitem_std ITEM_MAX_REVIVE, 1, 1 + end + +MagmaHideout_3F_3R_EventScript_29152C:: @ 829152C + giveitem_std ITEM_ESCAPE_ROPE, 1, 1 + end diff --git a/data/scripts/maps/AbandonedShip_CaptainsOffice.inc b/data/scripts/maps/AbandonedShip_CaptainsOffice.inc new file mode 100644 index 0000000000..5b3941dd20 --- /dev/null +++ b/data/scripts/maps/AbandonedShip_CaptainsOffice.inc @@ -0,0 +1,44 @@ +AbandonedShip_CaptainsOffice_MapScripts:: @ 82387E1 + .byte 0 + +AbandonedShip_CaptainsOffice_EventScript_2387E2:: @ 82387E2 + lock + faceplayer + checkflag FLAG_0x126 + goto_eq AbandonedShip_CaptainsOffice_EventScript_23881A + checkitem ITEM_SCANNER, 1 + compare VAR_RESULT, 1 + goto_eq AbandonedShip_CaptainsOffice_EventScript_238810 + checkflag FLAG_0x436 + goto_eq AbandonedShip_CaptainsOffice_EventScript_23881A + msgbox AbandonedShip_CaptainsOffice_Text_238824, 4 + release + end + +AbandonedShip_CaptainsOffice_EventScript_238810:: @ 8238810 + msgbox AbandonedShip_CaptainsOffice_Text_23889D, 4 + release + end + +AbandonedShip_CaptainsOffice_EventScript_23881A:: @ 823881A + msgbox AbandonedShip_CaptainsOffice_Text_238918, 4 + release + end + +AbandonedShip_CaptainsOffice_Text_238824: @ 8238824 + .string "I’m investigating this ship on behalf\n" + .string "of CAPT. STERN.\p" + .string "He also asked me to find a SCANNER,\n" + .string "but I haven’t had any success…$" + +AbandonedShip_CaptainsOffice_Text_23889D: @ 823889D + .string "Oh! That’s a SCANNER!\p" + .string "Listen, can I get you to deliver that\n" + .string "to CAPT. STERN?\p" + .string "I want to investigate this ship a\n" + .string "little more.$" + +AbandonedShip_CaptainsOffice_Text_238918: @ 8238918 + .string "This ship is called S.S. CACTUS.\n" + .string "It seems to be from an earlier era.$" + diff --git a/data/scripts/maps/AbandonedShip_Corridors_1F.inc b/data/scripts/maps/AbandonedShip_Corridors_1F.inc new file mode 100644 index 0000000000..39c7861a1c --- /dev/null +++ b/data/scripts/maps/AbandonedShip_Corridors_1F.inc @@ -0,0 +1,27 @@ +AbandonedShip_Corridors_1F_MapScripts:: @ 82379A4 + .byte 0 + +AbandonedShip_Corridors_1F_EventScript_2379A5:: @ 82379A5 + msgbox AbandonedShip_Corridors_1F_Text_237A60, 2 + end + +AbandonedShip_Corridors_1F_EventScript_2379AE:: @ 82379AE + trainerbattle 0, TRAINER_CHARLIE, 0, AbandonedShip_Corridors_1F_Text_2379C5, AbandonedShip_Corridors_1F_Text_237A01 + msgbox AbandonedShip_Corridors_1F_Text_237A1B, 6 + end + +AbandonedShip_Corridors_1F_Text_2379C5: @ 82379C5 + .string "What’s so funny about having my inner\n" + .string "tube aboard the ship?$" + +AbandonedShip_Corridors_1F_Text_237A01: @ 8237A01 + .string "Whoa, you overwhelmed me!$" + +AbandonedShip_Corridors_1F_Text_237A1B: @ 8237A1B + .string "It’s not easy throwing POKé BALLS\n" + .string "while hanging on to an inner tube!$" + +AbandonedShip_Corridors_1F_Text_237A60: @ 8237A60 + .string "Isn’t it fun here?\n" + .string "I get excited just being here!$" + diff --git a/data/scripts/maps/AbandonedShip_Corridors_B1F.inc b/data/scripts/maps/AbandonedShip_Corridors_B1F.inc new file mode 100644 index 0000000000..3f019f4d86 --- /dev/null +++ b/data/scripts/maps/AbandonedShip_Corridors_B1F.inc @@ -0,0 +1,91 @@ +AbandonedShip_Corridors_B1F_MapScripts:: @ 8237D84 + map_script 5, AbandonedShip_Corridors_B1F_MapScript1_237D8F + map_script 1, AbandonedShip_Corridors_B1F_MapScript1_237D98 + .byte 0 + +AbandonedShip_Corridors_B1F_MapScript1_237D8F: @ 8237D8F + setdivewarp ABANDONED_SHIP_UNDERWATER_1, 255, 5, 4 + end + +AbandonedShip_Corridors_B1F_MapScript1_237D98: @ 8237D98 + checkflag FLAG_0x0EF + call_if 0, AbandonedShip_Corridors_B1F_EventScript_237DAB + checkflag FLAG_0x0EF + call_if 1, AbandonedShip_Corridors_B1F_EventScript_237DB5 + end + +AbandonedShip_Corridors_B1F_EventScript_237DAB:: @ 8237DAB + setmetatile 11, 4, 563, 1 + return + +AbandonedShip_Corridors_B1F_EventScript_237DB5:: @ 8237DB5 + setmetatile 11, 4, 555, 1 + return + +AbandonedShip_Corridors_B1F_EventScript_237DBF:: @ 8237DBF + msgbox AbandonedShip_Corridors_B1F_Text_237F03, 2 + end + +AbandonedShip_Corridors_B1F_EventScript_237DC8:: @ 8237DC8 + lockall + checkflag FLAG_0x0EF + goto_eq AbandonedShip_Corridors_B1F_EventScript_237E09 + checkitem ITEM_STORAGE_KEY, 1 + compare VAR_RESULT, 0 + goto_eq AbandonedShip_Corridors_B1F_EventScript_237DFF + msgbox AbandonedShip_Corridors_B1F_Text_237F4B, 4 + playse SE_PIN + takeitem ITEM_STORAGE_KEY, 1 + setflag FLAG_0x0EF + call AbandonedShip_Corridors_B1F_EventScript_237DB5 + special DrawWholeMapView + releaseall + end + +AbandonedShip_Corridors_B1F_EventScript_237DFF:: @ 8237DFF + msgbox AbandonedShip_Corridors_B1F_Text_237F15, 4 + releaseall + end + +AbandonedShip_Corridors_B1F_EventScript_237E09:: @ 8237E09 + msgbox AbandonedShip_Corridors_B1F_Text_237FA5, 4 + releaseall + end + +AbandonedShip_Corridors_B1F_EventScript_237E13:: @ 8237E13 + trainerbattle 0, TRAINER_DUNCAN, 0, AbandonedShip_Corridors_B1F_Text_237E2A, AbandonedShip_Corridors_B1F_Text_237E80 + msgbox AbandonedShip_Corridors_B1F_Text_237E92, 6 + end + +AbandonedShip_Corridors_B1F_Text_237E2A: @ 8237E2A + .string "When we go out to sea, we SAILORS\n" + .string "always bring our POKéMON.\l" + .string "How about a quick battle?$" + +AbandonedShip_Corridors_B1F_Text_237E80: @ 8237E80 + .string "Whoops, I’m sunk!$" + +AbandonedShip_Corridors_B1F_Text_237E92: @ 8237E92 + .string "The ship’s bottom has sunk into the\n" + .string "depths.\p" + .string "If a POKéMON knew how to go underwater,\n" + .string "we might make some progress…$" + +AbandonedShip_Corridors_B1F_Text_237F03: @ 8237F03 + .string "Yay!\n" + .string "It’s a ship!$" + +AbandonedShip_Corridors_B1F_Text_237F15: @ 8237F15 + .string "The door is locked.\p" + .string "“STORAGE” is painted on the door.$" + +AbandonedShip_Corridors_B1F_Text_237F4B: @ 8237F4B + .string "{PLAYER} inserted and turned the\n" + .string "STORAGE KEY.\p" + .string "The inserted KEY stuck fast,\n" + .string "but the door opened.$" + +AbandonedShip_Corridors_B1F_Text_237FA5: @ 8237FA5 +AbandonedShip_HiddenFloorCorridors_Text_237FA5: @ 8237FA5 + .string "The door is open.$" + diff --git a/data/scripts/maps/AbandonedShip_Deck.inc b/data/scripts/maps/AbandonedShip_Deck.inc new file mode 100644 index 0000000000..1f0c0e2f2b --- /dev/null +++ b/data/scripts/maps/AbandonedShip_Deck.inc @@ -0,0 +1,8 @@ +AbandonedShip_Deck_MapScripts:: @ 823799A + map_script 3, AbandonedShip_Deck_MapScript1_2379A0 + .byte 0 + +AbandonedShip_Deck_MapScript1_2379A0: @ 82379A0 + setflag FLAG_LANDMARK_ABANDONED_SHIP + end + diff --git a/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc b/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc new file mode 100644 index 0000000000..b1bca85aa8 --- /dev/null +++ b/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc @@ -0,0 +1,171 @@ +AbandonedShip_HiddenFloorCorridors_MapScripts:: @ 823896C + map_script 5, AbandonedShip_HiddenFloorCorridors_MapScript1_238977 + map_script 1, AbandonedShip_HiddenFloorCorridors_MapScript1_238980 + .byte 0 + +AbandonedShip_HiddenFloorCorridors_MapScript1_238977: @ 8238977 + setdivewarp ABANDONED_SHIP_UNDERWATER_1, 255, 5, 4 + end + +AbandonedShip_HiddenFloorCorridors_MapScript1_238980: @ 8238980 + checkflag FLAG_0x0F0 + call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_2389F1 + checkflag FLAG_0x0F1 + call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_2389FB + checkflag FLAG_0x0F2 + call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_238A05 + checkflag FLAG_0x0F3 + call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_238A0F + checkflag FLAG_0x0F0 + call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_2389C9 + checkflag FLAG_0x0F1 + call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_2389D3 + checkflag FLAG_0x0F2 + call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_2389DD + checkflag FLAG_0x0F3 + call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_2389E7 + end + +AbandonedShip_HiddenFloorCorridors_EventScript_2389C9:: @ 82389C9 + setmetatile 3, 8, 555, 1 + return + +AbandonedShip_HiddenFloorCorridors_EventScript_2389D3:: @ 82389D3 + setmetatile 6, 8, 555, 1 + return + +AbandonedShip_HiddenFloorCorridors_EventScript_2389DD:: @ 82389DD + setmetatile 3, 3, 538, 0 + return + +AbandonedShip_HiddenFloorCorridors_EventScript_2389E7:: @ 82389E7 + setmetatile 9, 3, 538, 0 + return + +AbandonedShip_HiddenFloorCorridors_EventScript_2389F1:: @ 82389F1 + setmetatile 3, 8, 563, 1 + return + +AbandonedShip_HiddenFloorCorridors_EventScript_2389FB:: @ 82389FB + setmetatile 6, 8, 563, 1 + return + +AbandonedShip_HiddenFloorCorridors_EventScript_238A05:: @ 8238A05 + setmetatile 3, 3, 564, 0 + return + +AbandonedShip_HiddenFloorCorridors_EventScript_238A0F:: @ 8238A0F + setmetatile 9, 3, 564, 0 + return + +AbandonedShip_HiddenFloorCorridors_EventScript_238A19:: @ 8238A19 + lockall + checkflag FLAG_0x0F0 + goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B1D + checkitem ITEM_ROOM_1_KEY, 1 + compare VAR_RESULT, 0 + goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238AF5 + msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, 4 + playse SE_PIN + takeitem ITEM_ROOM_1_KEY, 1 + setflag FLAG_0x0F0 + call AbandonedShip_HiddenFloorCorridors_EventScript_2389C9 + special DrawWholeMapView + releaseall + end + +AbandonedShip_HiddenFloorCorridors_EventScript_238A50:: @ 8238A50 + lockall + checkflag FLAG_0x0F1 + goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B1D + checkitem ITEM_ROOM_2_KEY, 1 + compare VAR_RESULT, 0 + goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238AFF + msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, 4 + playse SE_PIN + takeitem ITEM_ROOM_2_KEY, 1 + setflag FLAG_0x0F1 + call AbandonedShip_HiddenFloorCorridors_EventScript_2389D3 + special DrawWholeMapView + releaseall + end + +AbandonedShip_HiddenFloorCorridors_EventScript_238A87:: @ 8238A87 + lockall + checkflag FLAG_0x0F2 + goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B1D + checkitem ITEM_ROOM_4_KEY, 1 + compare VAR_RESULT, 0 + goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B09 + msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, 4 + playse SE_PIN + takeitem ITEM_ROOM_4_KEY, 1 + setflag FLAG_0x0F2 + call AbandonedShip_HiddenFloorCorridors_EventScript_2389DD + special DrawWholeMapView + releaseall + end + +AbandonedShip_HiddenFloorCorridors_EventScript_238ABE:: @ 8238ABE + lockall + checkflag FLAG_0x0F3 + goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B1D + checkitem ITEM_ROOM_6_KEY, 1 + compare VAR_RESULT, 0 + goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B13 + msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, 4 + playse SE_PIN + takeitem ITEM_ROOM_6_KEY, 1 + setflag FLAG_0x0F3 + call AbandonedShip_HiddenFloorCorridors_EventScript_2389E7 + special DrawWholeMapView + releaseall + end + +AbandonedShip_HiddenFloorCorridors_EventScript_238AF5:: @ 8238AF5 + msgbox AbandonedShip_HiddenFloorCorridors_Text_238B27, 4 + releaseall + end + +AbandonedShip_HiddenFloorCorridors_EventScript_238AFF:: @ 8238AFF + msgbox AbandonedShip_HiddenFloorCorridors_Text_238B5B, 4 + releaseall + end + +AbandonedShip_HiddenFloorCorridors_EventScript_238B09:: @ 8238B09 + msgbox AbandonedShip_HiddenFloorCorridors_Text_238B8F, 4 + releaseall + end + +AbandonedShip_HiddenFloorCorridors_EventScript_238B13:: @ 8238B13 + msgbox AbandonedShip_HiddenFloorCorridors_Text_238BC3, 4 + releaseall + end + +AbandonedShip_HiddenFloorCorridors_EventScript_238B1D:: @ 8238B1D + msgbox AbandonedShip_HiddenFloorCorridors_Text_237FA5, 4 + releaseall + end + +AbandonedShip_HiddenFloorCorridors_Text_238B27: @ 8238B27 + .string "The door is locked.\p" + .string "“RM. 1” is painted on the door.$" + +AbandonedShip_HiddenFloorCorridors_Text_238B5B: @ 8238B5B + .string "The door is locked.\p" + .string "“RM. 2” is painted on the door.$" + +AbandonedShip_HiddenFloorCorridors_Text_238B8F: @ 8238B8F + .string "The door is locked.\p" + .string "“RM. 4” is painted on the door.$" + +AbandonedShip_HiddenFloorCorridors_Text_238BC3: @ 8238BC3 + .string "The door is locked.\p" + .string "“RM. 6” is painted on the door.$" + +AbandonedShip_HiddenFloorCorridors_Text_238BF7: @ 8238BF7 + .string "{PLAYER} inserted and turned the\n" + .string "KEY.\p" + .string "The inserted KEY stuck fast,\n" + .string "but the door opened.$" + diff --git a/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc b/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc new file mode 100644 index 0000000000..23532b2758 --- /dev/null +++ b/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc @@ -0,0 +1,148 @@ +AbandonedShip_HiddenFloorRooms_MapScripts:: @ 8238C49 + map_script 2, AbandonedShip_HiddenFloorRooms_MapScript2_238C4F + .byte 0 + +AbandonedShip_HiddenFloorRooms_MapScript2_238C4F: @ 8238C4F + map_script_2 VAR_0x4001, 0, AbandonedShip_HiddenFloorRooms_EventScript_238C59 + .2byte 0 + +AbandonedShip_HiddenFloorRooms_EventScript_238C59:: @ 8238C59 + setvar VAR_0x4001, 1 + getplayerxy VAR_0x4002, VAR_0x4003 + setvar VAR_0x4004, 1 + compare VAR_0x4002, 21 + call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238CD1 + compare VAR_0x4002, 36 + call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238CD7 + compare VAR_0x4003, 2 + call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238CDD + switch VAR_0x4004 + case 1, AbandonedShip_HiddenFloorRooms_EventScript_238CE3 + case 2, AbandonedShip_HiddenFloorRooms_EventScript_238D0C + case 3, AbandonedShip_HiddenFloorRooms_EventScript_238D0D + case 4, AbandonedShip_HiddenFloorRooms_EventScript_238D33 + case 5, AbandonedShip_HiddenFloorRooms_EventScript_238D6B + case 6, AbandonedShip_HiddenFloorRooms_EventScript_238DB2 + end + +AbandonedShip_HiddenFloorRooms_EventScript_238CD1:: @ 8238CD1 + addvar VAR_0x4004, 1 + return + +AbandonedShip_HiddenFloorRooms_EventScript_238CD7:: @ 8238CD7 + addvar VAR_0x4004, 2 + return + +AbandonedShip_HiddenFloorRooms_EventScript_238CDD:: @ 8238CDD + addvar VAR_0x4004, 3 + return + +AbandonedShip_HiddenFloorRooms_EventScript_238CE3:: @ 8238CE3 + delay 20 + setfieldeffectargument 0, 10 + setfieldeffectargument 1, 10 + setfieldeffectargument 2, 0 + dofieldeffect 54 + specialvar VAR_RESULT, sub_81392F8 + compare VAR_RESULT, 0 + call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DD3 + waitfieldeffect 54 + delay 10 + end + +AbandonedShip_HiddenFloorRooms_EventScript_238D0C:: @ 8238D0C + end + +AbandonedShip_HiddenFloorRooms_EventScript_238D0D:: @ 8238D0D + specialvar VAR_RESULT, sub_81392AC + compare VAR_RESULT, 1 + goto_eq AbandonedShip_HiddenFloorRooms_EventScript_238D32 + delay 20 + compare VAR_RESULT, 0 + call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DB3 + waitfieldeffect 54 + delay 10 + end + +AbandonedShip_HiddenFloorRooms_EventScript_238D32:: @ 8238D32 + end + +AbandonedShip_HiddenFloorRooms_EventScript_238D33:: @ 8238D33 + delay 20 + setfieldeffectargument 0, 8 + setfieldeffectargument 1, 5 + setfieldeffectargument 2, 0 + dofieldeffect 54 + setfieldeffectargument 0, 11 + setfieldeffectargument 1, 3 + setfieldeffectargument 2, 0 + dofieldeffect 54 + specialvar VAR_RESULT, sub_8139320 + compare VAR_RESULT, 0 + call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DE3 + waitfieldeffect 54 + delay 10 + end + +AbandonedShip_HiddenFloorRooms_EventScript_238D6B:: @ 8238D6B + delay 20 + setfieldeffectargument 0, 16 + setfieldeffectargument 1, 3 + setfieldeffectargument 2, 0 + dofieldeffect 54 + setfieldeffectargument 0, 25 + setfieldeffectargument 1, 2 + setfieldeffectargument 2, 0 + dofieldeffect 54 + setfieldeffectargument 0, 24 + setfieldeffectargument 1, 6 + setfieldeffectargument 2, 0 + dofieldeffect 54 + specialvar VAR_RESULT, sub_81392D4 + compare VAR_RESULT, 0 + call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DC3 + waitfieldeffect 54 + delay 10 + end + +AbandonedShip_HiddenFloorRooms_EventScript_238DB2:: @ 8238DB2 + end + +AbandonedShip_HiddenFloorRooms_EventScript_238DB3:: @ 8238DB3 + setfieldeffectargument 0, 42 + setfieldeffectargument 1, 10 + setfieldeffectargument 2, 0 + dofieldeffect 54 + return + +AbandonedShip_HiddenFloorRooms_EventScript_238DC3:: @ 8238DC3 + setfieldeffectargument 0, 20 + setfieldeffectargument 1, 5 + setfieldeffectargument 2, 0 + dofieldeffect 54 + return + +AbandonedShip_HiddenFloorRooms_EventScript_238DD3:: @ 8238DD3 + setfieldeffectargument 0, 1 + setfieldeffectargument 1, 12 + setfieldeffectargument 2, 0 + dofieldeffect 54 + return + +AbandonedShip_HiddenFloorRooms_EventScript_238DE3:: @ 8238DE3 + setfieldeffectargument 0, 1 + setfieldeffectargument 1, 2 + setfieldeffectargument 2, 0 + dofieldeffect 54 + return + +AbandonedShip_HiddenFloorRooms_EventScript_238DF3:: @ 8238DF3 + lockall + msgbox AbandonedShip_HiddenFloorRooms_Text_238DFE, 4 + releaseall + end + +AbandonedShip_HiddenFloorRooms_Text_238DFE: @ 8238DFE + .string "It’s bright and shiny!\n" + .string "But it’s just trash…$" + diff --git a/data/scripts/maps/AbandonedShip_Room_B1F.inc b/data/scripts/maps/AbandonedShip_Room_B1F.inc new file mode 100644 index 0000000000..5dd7a2bad3 --- /dev/null +++ b/data/scripts/maps/AbandonedShip_Room_B1F.inc @@ -0,0 +1,3 @@ +AbandonedShip_Room_B1F_MapScripts:: @ 82380A5 + .byte 0 + diff --git a/data/scripts/maps/AbandonedShip_Rooms2_1F.inc b/data/scripts/maps/AbandonedShip_Rooms2_1F.inc new file mode 100644 index 0000000000..ab710546bd --- /dev/null +++ b/data/scripts/maps/AbandonedShip_Rooms2_1F.inc @@ -0,0 +1,158 @@ +AbandonedShip_Rooms2_1F_MapScripts:: @ 82380A6 + .byte 0 + +AbandonedShip_Rooms2_1F_EventScript_2380A7:: @ 82380A7 + trainerbattle 6, TRAINER_KIRA_AND_DAN_1, 0, AbandonedShip_Rooms2_1F_Text_23819D, AbandonedShip_Rooms2_1F_Text_2381DA, AbandonedShip_Rooms2_1F_Text_238257, AbandonedShip_Rooms2_1F_EventScript_2380D7 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq AbandonedShip_Rooms2_1F_EventScript_2380F0 + msgbox AbandonedShip_Rooms2_1F_Text_23820F, 4 + release + end + +AbandonedShip_Rooms2_1F_EventScript_2380D7:: @ 82380D7 + msgbox AbandonedShip_Rooms2_1F_Text_2383BB, 4 + setvar VAR_0x8004, 642 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 642 + callstd 8 + release + end + +AbandonedShip_Rooms2_1F_EventScript_2380F0:: @ 82380F0 + trainerbattle 7, TRAINER_KIRA_AND_DAN_1, 0, AbandonedShip_Rooms2_1F_Text_2383FF, AbandonedShip_Rooms2_1F_Text_238473, AbandonedShip_Rooms2_1F_Text_238509 + msgbox AbandonedShip_Rooms2_1F_Text_238491, 6 + end + +AbandonedShip_Rooms2_1F_EventScript_23810B:: @ 823810B + trainerbattle 6, TRAINER_KIRA_AND_DAN_1, 0, AbandonedShip_Rooms2_1F_Text_2382A4, AbandonedShip_Rooms2_1F_Text_2382F4, AbandonedShip_Rooms2_1F_Text_23836F, AbandonedShip_Rooms2_1F_EventScript_23813B + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq AbandonedShip_Rooms2_1F_EventScript_238154 + msgbox AbandonedShip_Rooms2_1F_Text_23830A, 4 + release + end + +AbandonedShip_Rooms2_1F_EventScript_23813B:: @ 823813B + msgbox AbandonedShip_Rooms2_1F_Text_2383BB, 4 + setvar VAR_0x8004, 642 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 642 + callstd 8 + release + end + +AbandonedShip_Rooms2_1F_EventScript_238154:: @ 8238154 + trainerbattle 7, TRAINER_KIRA_AND_DAN_1, 0, AbandonedShip_Rooms2_1F_Text_238556, AbandonedShip_Rooms2_1F_Text_2385F2, AbandonedShip_Rooms2_1F_Text_238668 + msgbox AbandonedShip_Rooms2_1F_Text_23860B, 6 + end + +AbandonedShip_Rooms2_1F_EventScript_23816F:: @ 823816F + trainerbattle 0, TRAINER_JANI, 0, AbandonedShip_Rooms2_1F_Text_2386B4, AbandonedShip_Rooms2_1F_Text_2386E8 + msgbox AbandonedShip_Rooms2_1F_Text_238708, 6 + end + +AbandonedShip_Rooms2_1F_EventScript_238186:: @ 8238186 + trainerbattle 0, TRAINER_GARRISON, 0, AbandonedShip_Rooms2_1F_Text_23873F, AbandonedShip_Rooms2_1F_Text_238779 + msgbox AbandonedShip_Rooms2_1F_Text_2387A9, 6 + end + +AbandonedShip_Rooms2_1F_Text_23819D: @ 823819D + .string "DAN: While searching for treasures,\n" + .string "we discovered a TRAINER!$" + +AbandonedShip_Rooms2_1F_Text_2381DA: @ 82381DA + .string "DAN: We couldn’t win even though\n" + .string "we worked together…$" + +AbandonedShip_Rooms2_1F_Text_23820F: @ 823820F + .string "DAN: We can’t find any treasures…\n" + .string "I wonder if someone got them already?$" + +AbandonedShip_Rooms2_1F_Text_238257: @ 8238257 + .string "DAN: You don’t even have two POKéMON.\n" + .string "You can’t expect to beat us like that.$" + +AbandonedShip_Rooms2_1F_Text_2382A4: @ 82382A4 + .string "KIRA: Oh?\n" + .string "We were searching for treasures.\l" + .string "But we discovered a TRAINER instead!$" + +AbandonedShip_Rooms2_1F_Text_2382F4: @ 82382F4 + .string "KIRA: Ooh, so strong!$" + +AbandonedShip_Rooms2_1F_Text_23830A: @ 823830A + .string "KIRA: Where could the treasures be?\p" + .string "I’ve already decided what I’m buying\n" + .string "when we find the treasures!$" + +AbandonedShip_Rooms2_1F_Text_23836F: @ 823836F + .string "KIRA: Oh, you don’t have two POKéMON?\n" + .string "We’ll have to battle some other time!$" + +AbandonedShip_Rooms2_1F_Text_2383BB: @ 82383BB + .string "KIRA: Oh, you make me so angry!\n" + .string "I’m going to register you for that!$" + +AbandonedShip_Rooms2_1F_Text_2383FF: @ 82383FF + .string "DAN: We’ve been searching for\n" + .string "treasures all this time.\p" + .string "Our POKéMON have grown stronger, too.\n" + .string "Let us show you, okay?$" + +AbandonedShip_Rooms2_1F_Text_238473: @ 8238473 + .string "DAN: You’re strong, as usual!$" + +AbandonedShip_Rooms2_1F_Text_238491: @ 8238491 + .string "DAN: We can’t find any treasures,\n" + .string "we lose at POKéMON…\p" + .string "I want to go home… But if I say that,\n" + .string "she gets all angry with me…$" + +AbandonedShip_Rooms2_1F_Text_238509: @ 8238509 + .string "DAN: You don’t even have two POKéMON.\n" + .string "You can’t expect to beat us like that.$" + +AbandonedShip_Rooms2_1F_Text_238556: @ 8238556 + .string "KIRA: Oh? We meet again!\p" + .string "Just like us, you still haven’t given up\n" + .string "searching for treasures, have you?\p" + .string "Want to make it so the loser has\n" + .string "to give up searching?$" + +AbandonedShip_Rooms2_1F_Text_2385F2: @ 82385F2 + .string "KIRA: Oh, we lost again…$" + +AbandonedShip_Rooms2_1F_Text_23860B: @ 823860B + .string "KIRA: We’re not leaving until we raise\n" + .string "our POKéMON some more and we find\l" + .string "the treasures here!$" + +AbandonedShip_Rooms2_1F_Text_238668: @ 8238668 + .string "KIRA: Oh, you don’t have two POKéMON?\n" + .string "We’ll have to battle some other time!$" + +AbandonedShip_Rooms2_1F_Text_2386B4: @ 82386B4 + .string "I’m not good at swimming,\n" + .string "but I am good at battles!$" + +AbandonedShip_Rooms2_1F_Text_2386E8: @ 82386E8 + .string "Oops.\n" + .string "That didn’t go very well.$" + +AbandonedShip_Rooms2_1F_Text_238708: @ 8238708 + .string "Walking around barefoot in this ship\n" + .string "is kind of gross.$" + +AbandonedShip_Rooms2_1F_Text_23873F: @ 823873F + .string "Strength and compassion…\n" + .string "Those are a TRAINER’s treasures!$" + +AbandonedShip_Rooms2_1F_Text_238779: @ 8238779 + .string "Ah, there is something about you\n" + .string "that sparkles.$" + +AbandonedShip_Rooms2_1F_Text_2387A9: @ 82387A9 + .string "In a cabin somewhere on board,\n" + .string "I saw something sparkle.$" + diff --git a/data/scripts/maps/AbandonedShip_Rooms2_B1F.inc b/data/scripts/maps/AbandonedShip_Rooms2_B1F.inc new file mode 100644 index 0000000000..00b3d0fb92 --- /dev/null +++ b/data/scripts/maps/AbandonedShip_Rooms2_B1F.inc @@ -0,0 +1,13 @@ +AbandonedShip_Rooms2_B1F_MapScripts:: @ 8238024 + .byte 0 + +AbandonedShip_Rooms2_B1F_EventScript_238025:: @ 8238025 + msgbox AbandonedShip_Rooms2_B1F_Text_23802E, 2 + end + +AbandonedShip_Rooms2_B1F_Text_23802E: @ 823802E + .string "This is a perfect place to go exploring!\n" + .string "It’s exciting here!\p" + .string "I bet there’re amazing treasures on\n" + .string "board.$" + diff --git a/data/scripts/maps/AbandonedShip_Rooms_1F.inc b/data/scripts/maps/AbandonedShip_Rooms_1F.inc new file mode 100644 index 0000000000..00fde5ccb2 --- /dev/null +++ b/data/scripts/maps/AbandonedShip_Rooms_1F.inc @@ -0,0 +1,81 @@ +AbandonedShip_Rooms_1F_MapScripts:: @ 8237A92 + .byte 0 + +AbandonedShip_Rooms_1F_EventScript_237A93:: @ 8237A93 + msgbox AbandonedShip_Rooms_1F_Text_237B15, 2 + end + +AbandonedShip_Rooms_1F_EventScript_237A9C:: @ 8237A9C + trainerbattle 0, TRAINER_DEMETRIUS, 0, AbandonedShip_Rooms_1F_Text_237D0C, AbandonedShip_Rooms_1F_Text_237D2A + msgbox AbandonedShip_Rooms_1F_Text_237D41, 6 + end + +AbandonedShip_Rooms_1F_EventScript_237AB3:: @ 8237AB3 + trainerbattle 2, TRAINER_THALIA_1, 0, AbandonedShip_Rooms_1F_Text_237B76, AbandonedShip_Rooms_1F_Text_237BB8, AbandonedShip_Rooms_1F_EventScript_237ADF + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq AbandonedShip_Rooms_1F_EventScript_237AFE + msgbox AbandonedShip_Rooms_1F_Text_237BDB, 4 + release + end + +AbandonedShip_Rooms_1F_EventScript_237ADF:: @ 8237ADF + special sub_80B4808 + waitmovement 0 + msgbox AbandonedShip_Rooms_1F_Text_237C2A, 4 + setvar VAR_0x8004, 144 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 144 + callstd 8 + release + end + +AbandonedShip_Rooms_1F_EventScript_237AFE:: @ 8237AFE + trainerbattle 5, TRAINER_THALIA_1, 0, AbandonedShip_Rooms_1F_Text_237C69, AbandonedShip_Rooms_1F_Text_237CB2 + msgbox AbandonedShip_Rooms_1F_Text_237CC9, 6 + end + +AbandonedShip_Rooms_1F_Text_237B15: @ 8237B15 + .string "Ships of this sort are rare, so I’m\n" + .string "taking a look around.\p" + .string "Hmhm…\n" + .string "There appear to be other cabins…$" + +AbandonedShip_Rooms_1F_Text_237B76: @ 8237B76 + .string "What on earth would compel you to\n" + .string "come here? You must be curious!$" + +AbandonedShip_Rooms_1F_Text_237BB8: @ 8237BB8 + .string "Not just curious, but also strong…$" + +AbandonedShip_Rooms_1F_Text_237BDB: @ 8237BDB + .string "The man next door…\p" + .string "He says he’s just sightseeing,\n" + .string "but I don’t know about that.$" + +AbandonedShip_Rooms_1F_Text_237C2A: @ 8237C2A + .string "You’re such a tough TRAINER!\n" + .string "Let me register you as a memento!$" + +AbandonedShip_Rooms_1F_Text_237C69: @ 8237C69 + .string "What on earth would compel you to\n" + .string "come back? You must really be curious!$" + +AbandonedShip_Rooms_1F_Text_237CB2: @ 8237CB2 + .string "Aren’t you too strong?$" + +AbandonedShip_Rooms_1F_Text_237CC9: @ 8237CC9 + .string "I’m sure that man’s up to something!\n" + .string "He just acts so suspiciously!$" + +AbandonedShip_Rooms_1F_Text_237D0C: @ 8237D0C + .string "Waaah!\n" + .string "I’ve been found! …Huh?$" + +AbandonedShip_Rooms_1F_Text_237D2A: @ 8237D2A + .string "Oh, you’re not my mom.$" + +AbandonedShip_Rooms_1F_Text_237D41: @ 8237D41 + .string "I’m in trouble with my mom, so I ran.\n" + .string "Keep it a secret where I am!$" + diff --git a/data/scripts/maps/AbandonedShip_Rooms_B1F.inc b/data/scripts/maps/AbandonedShip_Rooms_B1F.inc new file mode 100644 index 0000000000..784d44c2ed --- /dev/null +++ b/data/scripts/maps/AbandonedShip_Rooms_B1F.inc @@ -0,0 +1,18 @@ +AbandonedShip_Rooms_B1F_MapScripts:: @ 8237FB7 + map_script 5, AbandonedShip_Rooms_B1F_MapScript1_237FBD + .byte 0 + +AbandonedShip_Rooms_B1F_MapScript1_237FBD: @ 8237FBD + setdivewarp ABANDONED_SHIP_UNDERWATER_2, 255, 17, 4 + end + +AbandonedShip_Rooms_B1F_EventScript_237FC6:: @ 8237FC6 + msgbox AbandonedShip_Rooms_B1F_Text_237FCF, 2 + end + +AbandonedShip_Rooms_B1F_Text_237FCF: @ 8237FCF + .string "Urrrrppp…\p" + .string "I’m getting queasy just being aboard\n" + .string "this ship…\p" + .string "It’s not even moving, but…$" + diff --git a/data/scripts/maps/AbandonedShip_Underwater1.inc b/data/scripts/maps/AbandonedShip_Underwater1.inc new file mode 100644 index 0000000000..49971cde71 --- /dev/null +++ b/data/scripts/maps/AbandonedShip_Underwater1.inc @@ -0,0 +1,8 @@ +AbandonedShip_Underwater1_MapScripts:: @ 8238096 + map_script 5, AbandonedShip_Underwater1_MapScript1_23809C + .byte 0 + +AbandonedShip_Underwater1_MapScript1_23809C: @ 823809C + setdivewarp ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS, 255, 0, 10 + end + diff --git a/data/scripts/maps/AbandonedShip_Underwater2.inc b/data/scripts/maps/AbandonedShip_Underwater2.inc new file mode 100644 index 0000000000..19a786956c --- /dev/null +++ b/data/scripts/maps/AbandonedShip_Underwater2.inc @@ -0,0 +1,8 @@ +AbandonedShip_Underwater2_MapScripts:: @ 823895D + map_script 5, AbandonedShip_Underwater2_MapScript1_238963 + .byte 0 + +AbandonedShip_Underwater2_MapScript1_238963: @ 8238963 + setdivewarp ABANDONED_SHIP_ROOMS_B1F, 255, 13, 7 + end + diff --git a/data/scripts/maps/AlteringCave.inc b/data/scripts/maps/AlteringCave.inc new file mode 100644 index 0000000000..a9faddc36e --- /dev/null +++ b/data/scripts/maps/AlteringCave.inc @@ -0,0 +1,8 @@ +AlteringCave_MapScripts:: @ 823B177 + map_script 3, AlteringCave_MapScript1_23B17D + .byte 0 + +AlteringCave_MapScript1_23B17D: @ 823B17D + setflag FLAG_LANDMARK_ALTERING_CAVE + end + diff --git a/data/scripts/maps/AncientTomb.inc b/data/scripts/maps/AncientTomb.inc new file mode 100644 index 0000000000..3cd0b9effa --- /dev/null +++ b/data/scripts/maps/AncientTomb.inc @@ -0,0 +1,98 @@ +AncientTomb_MapScripts:: @ 8238FB3 + map_script 5, AncientTomb_MapScript1_238FC3 + map_script 1, AncientTomb_MapScript1_238FF2 + map_script 3, AncientTomb_MapScript1_238FE1 + .byte 0 + +AncientTomb_MapScript1_238FC3: @ 8238FC3 + checkflag FLAG_SYS_CTRL_OBJ_DELETE + call_if 1, AncientTomb_EventScript_238FCD + end + +AncientTomb_EventScript_238FCD:: @ 8238FCD + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 7 + goto_if 5, AncientTomb_EventScript_27374E + removeobject VAR_LAST_TALKED + return + +AncientTomb_MapScript1_238FE1: @ 8238FE1 + setflag FLAG_LANDMARK_ANCIENT_TOMB + checkflag FLAG_0x1BD + call_if 0, AncientTomb_EventScript_238FEE + end + +AncientTomb_EventScript_238FEE:: @ 8238FEE + clearflag FLAG_0x3A9 + return + +AncientTomb_MapScript1_238FF2: @ 8238FF2 + checkflag FLAG_SYS_BRAILLE_FLY + call_if 0, AncientTomb_EventScript_238FFC + end + +AncientTomb_EventScript_238FFC:: @ 8238FFC + setmetatile 7, 19, 553, 1 + setmetatile 8, 19, 553, 1 + setmetatile 9, 19, 553, 1 + setmetatile 7, 20, 565, 1 + setmetatile 8, 20, 565, 1 + setmetatile 9, 20, 565, 1 + return + +AncientTomb_EventScript_239033:: @ 8239033 + lockall + checkflag FLAG_SYS_BRAILLE_FLY + goto_eq AncientTomb_EventScript_239046 + braillemessage AncientTomb_Braille_2A6D06 + waitbuttonpress + hidebox2 + releaseall + end + +AncientTomb_EventScript_239046:: @ 8239046 + msgbox gUnknown_0827304E, 4 + releaseall + end + +AncientTomb_EventScript_239050:: @ 8239050 + lockall + braillemessage AncientTomb_Braille_2A6D06 + waitbuttonpress + hidebox2 + releaseall + end + +AncientTomb_EventScript_23905A:: @ 823905A + lock + faceplayer + waitse + playmoncry SPECIES_REGISTEEL, 2 + delay 40 + waitmoncry + setwildbattle SPECIES_REGISTEEL, 40, ITEM_NONE + setflag FLAG_SYS_CTRL_OBJ_DELETE + special StartRegiBattle + waitstate + clearflag FLAG_SYS_CTRL_OBJ_DELETE + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 1 + goto_eq AncientTomb_EventScript_2390A1 + compare VAR_RESULT, 4 + goto_eq AncientTomb_EventScript_2390AA + compare VAR_RESULT, 5 + goto_eq AncientTomb_EventScript_2390AA + setflag FLAG_0x1BD + release + end + +AncientTomb_EventScript_2390A1:: @ 82390A1 + setflag FLAG_0x1BD + goto AncientTomb_EventScript_27376D + end + +AncientTomb_EventScript_2390AA:: @ 82390AA + setvar VAR_0x8004, 403 + goto AncientTomb_EventScript_273776 + end + diff --git a/data/scripts/maps/AquaHideout_1F.inc b/data/scripts/maps/AquaHideout_1F.inc new file mode 100644 index 0000000000..9172c3927b --- /dev/null +++ b/data/scripts/maps/AquaHideout_1F.inc @@ -0,0 +1,122 @@ +AquaHideout_1F_MapScripts:: @ 8233493 + .byte 0 + +AquaHideout_1F_EventScript_233494:: @ 8233494 + lock + faceplayer + checkflag FLAG_0x06F + goto_eq AquaHideout_1F_EventScript_2334BC + checkflag FLAG_0x0D4 + goto_eq AquaHideout_1F_EventScript_2334B2 + msgbox AquaHideout_1F_Text_23351D, 4 + release + end + +AquaHideout_1F_EventScript_2334B2:: @ 82334B2 + msgbox AquaHideout_1F_Text_2335E3, 4 + release + end + +AquaHideout_1F_EventScript_2334BC:: @ 82334BC + msgbox AquaHideout_1F_Text_23367D, 4 + release + end + +AquaHideout_1F_EventScript_2334C6:: @ 82334C6 + lock + faceplayer + checkflag FLAG_0x06F + goto_eq AquaHideout_1F_EventScript_2334EE + checkflag FLAG_0x0D4 + goto_eq AquaHideout_1F_EventScript_2334E4 + msgbox AquaHideout_1F_Text_233739, 4 + release + end + +AquaHideout_1F_EventScript_2334E4:: @ 82334E4 + msgbox AquaHideout_1F_Text_2337FA, 4 + release + end + +AquaHideout_1F_EventScript_2334EE:: @ 82334EE + msgbox AquaHideout_1F_Text_233884, 4 + release + end + +AquaHideout_1F_EventScript_2334F8:: @ 82334F8 + trainerbattle 2, TRAINER_GRUNT_1, 0, AquaHideout_1F_Text_23393D, AquaHideout_1F_Text_233964, AquaHideout_1F_EventScript_233513 + msgbox AquaHideout_1F_Text_233977, 6 + end + +AquaHideout_1F_EventScript_233513:: @ 8233513 + msgbox AquaHideout_1F_Text_233977, 4 + release + end + +AquaHideout_1F_Text_23351D: @ 823351D + .string "What? What? What do you want with \n" + .string "TEAM AQUA?\p" + .string "Our BOSS isn’t here! He’s gone off to\n" + .string "snatch something important!\p" + .string "… …\n" + .string "Where did he go?\p" + .string "Wahaha! Do you really think I’d tell\n" + .string "you something that crucial?$" + +AquaHideout_1F_Text_2335E3: @ 82335E3 + .string "What? What?\n" + .string "Are you a TEAM MAGMA grunt?\p" + .string "I hear that TEAM MAGMA is trying to\n" + .string "awaken an awesome POKéMON at their\l" + .string "HIDEOUT.\p" + .string "But where might their HIDEOUT be?$" + +AquaHideout_1F_Text_23367D: @ 823367D + .string "What? What? What do you want with \n" + .string "TEAM AQUA?\p" + .string "Our BOSS isn’t here!\n" + .string "He’s gone off to jack a submarine!\p" + .string "… …\n" + .string "Where did he go?\p" + .string "Wahaha! Do you really think I’d tell\n" + .string "you something that crucial?$" + +AquaHideout_1F_Text_233739: @ 8233739 + .string "What? What? What do you want with \n" + .string "TEAM AQUA?\p" + .string "Our BOSS isn’t here! He’s on his way to\n" + .string "MT. PYRE on ROUTE 122!\p" + .string "… …\n" + .string "Why did he go?\p" + .string "Wahaha! Do you really think I’d tell\n" + .string "you something that crucial?$" + +AquaHideout_1F_Text_2337FA: @ 82337FA + .string "What? What?\n" + .string "Are you a TEAM MAGMA grunt?\p" + .string "I hear that TEAM MAGMA is after\n" + .string "an awesome POKéMON at MT. CHIMNEY.\p" + .string "But what is that POKéMON like?$" + +AquaHideout_1F_Text_233884: @ 8233884 + .string "What? What? What do you want with\n" + .string "TEAM AQUA?\p" + .string "Our BOSS isn’t here!\n" + .string "He’s on his way to SLATEPORT CITY!\p" + .string "… …\n" + .string "Why did he go?\p" + .string "Wahaha! Do you really think I’d tell\n" + .string "you something that crucial?$" + +AquaHideout_1F_Text_23393D: @ 823393D + .string "Ayiyiyi!\n" + .string "Suspicious character spotted!$" + +AquaHideout_1F_Text_233964: @ 8233964 + .string "Grrrrr…\n" + .string "I lost it!$" + +AquaHideout_1F_Text_233977: @ 8233977 + .string "I took the loss for the TEAM,\n" + .string "but I did my job…$" + diff --git a/data/scripts/maps/AquaHideout_B1F.inc b/data/scripts/maps/AquaHideout_B1F.inc new file mode 100644 index 0000000000..cf59bdacc5 --- /dev/null +++ b/data/scripts/maps/AquaHideout_B1F.inc @@ -0,0 +1,171 @@ +AquaHideout_B1F_MapScripts:: @ 82339A7 + map_script 5, AquaHideout_B1F_MapScript1_2339B2 + map_script 3, AquaHideout_B1F_MapScript1_2339D0 + .byte 0 + +AquaHideout_B1F_MapScript1_2339B2: @ 82339B2 + checkflag FLAG_SYS_CTRL_OBJ_DELETE + call_if 1, AquaHideout_B1F_EventScript_2339BC + end + +AquaHideout_B1F_EventScript_2339BC:: @ 82339BC + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 7 + goto_if 5, AquaHideout_B1F_EventScript_27374E + removeobject VAR_LAST_TALKED + return + +AquaHideout_B1F_MapScript1_2339D0: @ 82339D0 + checkflag FLAG_0x1C4 + call_if 0, AquaHideout_B1F_EventScript_2339E3 + checkflag FLAG_0x1C5 + call_if 0, AquaHideout_B1F_EventScript_2339E7 + end + +AquaHideout_B1F_EventScript_2339E3:: @ 82339E3 + clearflag FLAG_0x3D1 + return + +AquaHideout_B1F_EventScript_2339E7:: @ 82339E7 + clearflag FLAG_0x3D2 + return + +AquaHideout_B1F_EventScript_2339EB:: @ 82339EB + lock + faceplayer + setwildbattle SPECIES_ELECTRODE, 30, ITEM_NONE + waitse + playmoncry SPECIES_ELECTRODE, 2 + delay 40 + waitmoncry + setflag FLAG_SYS_CTRL_OBJ_DELETE + dowildbattle + clearflag FLAG_SYS_CTRL_OBJ_DELETE + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 1 + goto_eq AquaHideout_B1F_EventScript_233A2F + compare VAR_RESULT, 4 + goto_eq AquaHideout_B1F_EventScript_233A2F + compare VAR_RESULT, 5 + goto_eq AquaHideout_B1F_EventScript_233A2F + setflag FLAG_0x1C4 + release + end + +AquaHideout_B1F_EventScript_233A2F:: @ 8233A2F + setflag FLAG_0x1C4 + goto AquaHideout_B1F_EventScript_27376D + end + +AquaHideout_B1F_EventScript_233A38:: @ 8233A38 + lock + faceplayer + setwildbattle SPECIES_ELECTRODE, 30, ITEM_NONE + waitse + playmoncry SPECIES_ELECTRODE, 2 + delay 40 + waitmoncry + setflag FLAG_SYS_CTRL_OBJ_DELETE + dowildbattle + clearflag FLAG_SYS_CTRL_OBJ_DELETE + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 1 + goto_eq AquaHideout_B1F_EventScript_233A7C + compare VAR_RESULT, 4 + goto_eq AquaHideout_B1F_EventScript_233A7C + compare VAR_RESULT, 5 + goto_eq AquaHideout_B1F_EventScript_233A7C + setflag FLAG_0x1C5 + release + end + +AquaHideout_B1F_EventScript_233A7C:: @ 8233A7C + setflag FLAG_0x1C5 + goto AquaHideout_B1F_EventScript_27376D + end + +AquaHideout_B1F_EventScript_233A85:: @ 8233A85 + trainerbattle 2, TRAINER_GRUNT_2, 0, AquaHideout_B1F_Text_233B03, AquaHideout_B1F_Text_233B4A, AquaHideout_B1F_EventScript_233AA0 + msgbox AquaHideout_B1F_Text_233B5E, 6 + end + +AquaHideout_B1F_EventScript_233AA0:: @ 8233AA0 + special sub_80B4808 + waitmovement 0 + msgbox AquaHideout_B1F_Text_233B5E, 4 + release + end + +AquaHideout_B1F_EventScript_233AB0:: @ 8233AB0 + trainerbattle 2, TRAINER_GRUNT_3, 0, AquaHideout_B1F_Text_233BC5, AquaHideout_B1F_Text_233C27, AquaHideout_B1F_EventScript_233ACB + msgbox AquaHideout_B1F_Text_233C41, 6 + end + +AquaHideout_B1F_EventScript_233ACB:: @ 8233ACB + msgbox AquaHideout_B1F_Text_233C41, 4 + release + end + +AquaHideout_B1F_EventScript_233AD5:: @ 8233AD5 + trainerbattle 0, TRAINER_GRUNT_21, 0, AquaHideout_B1F_Text_233C89, AquaHideout_B1F_Text_233CCA + msgbox AquaHideout_B1F_Text_233CDC, 6 + end + +AquaHideout_B1F_EventScript_233AEC:: @ 8233AEC + trainerbattle 0, TRAINER_GRUNT_25, 0, AquaHideout_B1F_Text_233D1B, AquaHideout_B1F_Text_233D6E + msgbox AquaHideout_B1F_Text_233D84, 6 + end + +AquaHideout_B1F_Text_233B03: @ 8233B03 + .string "If you want to know the secret about\n" + .string "our HIDEOUT, you have me to beat!$" + +AquaHideout_B1F_Text_233B4A: @ 8233B4A + .string "I can’t win at all…$" + +AquaHideout_B1F_Text_233B5E: @ 8233B5E + .string "Our HIDEOUT’s secret?\p" + .string "Well, let’s just say…\n" + .string "There’s a submarine at the far end!\p" + .string "But, by now…\n" + .string "Kekekeke…$" + +AquaHideout_B1F_Text_233BC5: @ 8233BC5 + .string "Fuel supply loaded A-OK!\n" + .string "In-cruise snacks loaded A-OK!\p" + .string "Nothing left to do but KO a pesky\n" + .string "meddler!$" + +AquaHideout_B1F_Text_233C27: @ 8233C27 + .string "I took a serious licking!$" + +AquaHideout_B1F_Text_233C41: @ 8233C41 + .string "Humph!\n" + .string "This was supposed to happen!\p" + .string "My mission was to just hold you up!$" + +AquaHideout_B1F_Text_233C89: @ 8233C89 + .string "Yawn… Keeping watch over the\n" + .string "HIDEOUT bores me. I’ll take you on.$" + +AquaHideout_B1F_Text_233CCA: @ 8233CCA + .string "Yawn…\n" + .string "Oh, I lost…$" + +AquaHideout_B1F_Text_233CDC: @ 8233CDC + .string "If you scurry too much, other TEAM\n" + .string "AQUA members might get you.$" + +AquaHideout_B1F_Text_233D1B: @ 8233D1B + .string "Hey!\n" + .string "You there!\p" + .string "Which do you think is cooler?\n" + .string "TEAM AQUA’s uniform or TEAM MAGMA’s?$" + +AquaHideout_B1F_Text_233D6E: @ 8233D6E + .string "I lost in a cool way…$" + +AquaHideout_B1F_Text_233D84: @ 8233D84 + .string "If you have a cool uniform, you look\n" + .string "good even in a loss, don’t you think?$" + diff --git a/data/scripts/maps/AquaHideout_B2F.inc b/data/scripts/maps/AquaHideout_B2F.inc new file mode 100644 index 0000000000..85a94cc219 --- /dev/null +++ b/data/scripts/maps/AquaHideout_B2F.inc @@ -0,0 +1,160 @@ +AquaHideout_B2F_MapScripts:: @ 8233DCF + map_script 3, AquaHideout_B2F_MapScript1_233DD5 + .byte 0 + +AquaHideout_B2F_MapScript1_233DD5: @ 8233DD5 + checkflag FLAG_0x070 + call_if 1, AquaHideout_B2F_EventScript_233DDF + end + +AquaHideout_B2F_EventScript_233DDF:: @ 8233DDF + setvar VAR_0x4001, 1 + return + +AquaHideout_B2F_EventScript_233DE5:: @ 8233DE5 + lockall + setvar VAR_0x8008, 1 + playse SE_PIN + applymovement VAR_0x8008, AquaHideout_B2F_Movement_272598 + waitmovement 0 + applymovement VAR_0x8008, AquaHideout_B2F_Movement_27259E + waitmovement 0 + setvar VAR_0x4001, 1 + releaseall + end + +AquaHideout_B2F_EventScript_233E09:: @ 8233E09 + trainerbattle 2, TRAINER_MATT, 0, AquaHideout_B2F_Text_233EDD, AquaHideout_B2F_Text_233F8D, AquaHideout_B2F_EventScript_233E25 + msgbox AquaHideout_B2F_Text_233FF2, 4 + release + end + +AquaHideout_B2F_EventScript_233E25:: @ 8233E25 + setvar VAR_0x8008, 1 + setvar VAR_0x8009, 4 + applymovement VAR_0x8008, AquaHideout_B2F_Movement_2725A4 + waitmovement 0 + delay 20 + applymovement VAR_0x8008, AquaHideout_B2F_Movement_27259E + waitmovement 0 + msgbox AquaHideout_B2F_Text_233FA6, 4 + closemessage + applymovement VAR_0x8008, AquaHideout_B2F_Movement_2725A4 + applymovement VAR_0x8009, AquaHideout_B2F_Movement_233E80 + waitmovement 0 + removeobject VAR_0x8009 + delay 20 + applymovement VAR_0x8008, AquaHideout_B2F_Movement_27259E + waitmovement 0 + msgbox AquaHideout_B2F_Text_233FF2, 4 + setflag FLAG_0x070 + setflag FLAG_0x354 + release + end + +AquaHideout_B2F_Movement_233E80: @ 8233E80 + step_left + step_left + step_left + step_left + step_end + +AquaHideout_B2F_Movement_233E85: @ 8233E85 + step_right + step_right + step_right + step_right + step_end + +AquaHideout_B2F_EventScript_233E8A:: @ 8233E8A + trainerbattle 2, TRAINER_GRUNT_4, 0, AquaHideout_B2F_Text_2340B4, AquaHideout_B2F_Text_2340F0, AquaHideout_B2F_EventScript_233EA5 + msgbox AquaHideout_B2F_Text_234112, 6 + end + +AquaHideout_B2F_EventScript_233EA5:: @ 8233EA5 + msgbox AquaHideout_B2F_Text_234112, 4 + release + end + +AquaHideout_B2F_EventScript_233EAF:: @ 8233EAF + trainerbattle 0, TRAINER_GRUNT_22, 0, AquaHideout_B2F_Text_23412D, AquaHideout_B2F_Text_2341CE + msgbox AquaHideout_B2F_Text_2341FE, 6 + end + +AquaHideout_B2F_EventScript_233EC6:: @ 8233EC6 + trainerbattle 0, TRAINER_GRUNT_26, 0, AquaHideout_B2F_Text_23426F, AquaHideout_B2F_Text_2342CC + msgbox AquaHideout_B2F_Text_2342FF, 6 + end + +AquaHideout_B2F_Text_233EDD: @ 8233EDD + .string "Hehehe…\p" + .string "Got here already, did you?\n" + .string "We underestimated you!\p" + .string "But this is it!\p" + .string "I’m a cut above the GRUNTS you’ve seen\n" + .string "so far.\p" + .string "I’m not stalling for time.\n" + .string "I’m going to pulverize you!$" + +AquaHideout_B2F_Text_233F8D: @ 8233F8D + .string "Hehehe…\n" + .string "So, I lost, too…$" + +AquaHideout_B2F_Text_233FA6: @ 8233FA6 + .string "Hehehe!\p" + .string "While I was toying with you, our BOSS\n" + .string "got through his preparations!$" + +AquaHideout_B2F_Text_233FF2: @ 8233FF2 + .string "Hehehe!\p" + .string "Our BOSS has already gone on his way to\n" + .string "some cave under the sea!\p" + .string "If you’re going to give chase, you’d\n" + .string "better search the big, wide sea beyond\l" + .string "LILYCOVE.\p" + .string "But will you find it then?\n" + .string "Hehehe!$" + +AquaHideout_B2F_Text_2340B4: @ 82340B4 + .string "Wahahah, I grew weary of waiting!\n" + .string "You owe me a battle, too!$" + +AquaHideout_B2F_Text_2340F0: @ 82340F0 + .string "Tired of waiting…\n" + .string "Lost and dazed…$" + +AquaHideout_B2F_Text_234112: @ 8234112 + .string "BOSS…\n" + .string "Is this good enough?$" + +AquaHideout_B2F_Text_23412D: @ 823412D + .string "Warp panels, the HIDEOUT’s pride\n" + .string "and joy!\p" + .string "You’re clueless about where you are,\n" + .string "aren’t you?\p" + .string "Fluster and tire out the enemy, then\n" + .string "lower the boom! That’s our plan!$" + +AquaHideout_B2F_Text_2341CE: @ 82341CE + .string "What’s wrong with you?\n" + .string "You’re not tired at all!$" + +AquaHideout_B2F_Text_2341FE: @ 82341FE + .string "That reminds me… I can’t remember\n" + .string "where I put the MASTER BALL.\p" + .string "If I fail to guard it, our BOSS will\n" + .string "chew me out…$" + +AquaHideout_B2F_Text_23426F: @ 823426F + .string "When I joined TEAM AQUA, the first\n" + .string "thing I had to learn was how these\l" + .string "warp panels connected.$" + +AquaHideout_B2F_Text_2342CC: @ 82342CC + .string "I was too occupied thinking about\n" + .string "the warp panels…$" + +AquaHideout_B2F_Text_2342FF: @ 82342FF + .string "I’ll have to learn about how I can\n" + .string "battle more effectively…$" + diff --git a/data/scripts/maps/AquaHideout_UnusedRubyMap1.inc b/data/scripts/maps/AquaHideout_UnusedRubyMap1.inc new file mode 100644 index 0000000000..73cde82a97 --- /dev/null +++ b/data/scripts/maps/AquaHideout_UnusedRubyMap1.inc @@ -0,0 +1,3 @@ +AquaHideout_UnusedRubyMap1_MapScripts:: @ 823929B + .byte 0 + diff --git a/data/scripts/maps/AquaHideout_UnusedRubyMap2.inc b/data/scripts/maps/AquaHideout_UnusedRubyMap2.inc new file mode 100644 index 0000000000..28901497af --- /dev/null +++ b/data/scripts/maps/AquaHideout_UnusedRubyMap2.inc @@ -0,0 +1,3 @@ +AquaHideout_UnusedRubyMap2_MapScripts:: @ 823929C + .byte 0 + diff --git a/data/scripts/maps/AquaHideout_UnusedRubyMap3.inc b/data/scripts/maps/AquaHideout_UnusedRubyMap3.inc new file mode 100644 index 0000000000..de0e6d7ddb --- /dev/null +++ b/data/scripts/maps/AquaHideout_UnusedRubyMap3.inc @@ -0,0 +1,3 @@ +AquaHideout_UnusedRubyMap3_MapScripts:: @ 823929D + .byte 0 + diff --git a/data/scripts/maps/ArtisanCave_1F.inc b/data/scripts/maps/ArtisanCave_1F.inc new file mode 100644 index 0000000000..18090ff685 --- /dev/null +++ b/data/scripts/maps/ArtisanCave_1F.inc @@ -0,0 +1,3 @@ +ArtisanCave_1F_MapScripts:: @ 823AFB7 + .byte 0 + diff --git a/data/scripts/maps/ArtisanCave_B1F.inc b/data/scripts/maps/ArtisanCave_B1F.inc new file mode 100644 index 0000000000..059343a56b --- /dev/null +++ b/data/scripts/maps/ArtisanCave_B1F.inc @@ -0,0 +1,8 @@ +ArtisanCave_B1F_MapScripts:: @ 823AFAD + map_script 3, ArtisanCave_B1F_MapScript1_23AFB3 + .byte 0 + +ArtisanCave_B1F_MapScript1_23AFB3: @ 823AFB3 + setflag FLAG_0x8DF + end + diff --git a/data/scripts/maps/BattleFrontier_BattleArenaBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattleArenaBattleRoom.inc new file mode 100644 index 0000000000..52351b549e --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattleArenaBattleRoom.inc @@ -0,0 +1,712 @@ +BattleFrontier_BattleArenaBattleRoom_MapScripts:: @ 8257487 + map_script 3, BattleFrontier_BattleArenaBattleRoom_MapScript1_2574A0 + map_script 2, BattleFrontier_BattleArenaBattleRoom_MapScript2_2574D2 + map_script 4, BattleFrontier_BattleArenaBattleRoom_MapScript2_257C0C + map_script 5, BattleFrontier_BattleArenaBattleRoom_MapScript1_25749C + .byte 0 + +BattleFrontier_BattleArenaBattleRoom_MapScript1_25749C: @ 825749C + special sub_8139980 + end + +BattleFrontier_BattleArenaBattleRoom_MapScript1_2574A0: @ 82574A0 + setvar VAR_0x8004, 5 + special sub_81A1780 + call BattleFrontier_BattleArenaBattleRoom_EventScript_2574AE + end + +BattleFrontier_BattleArenaBattleRoom_EventScript_2574AE:: @ 82574AE + checkplayergender + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2574C6 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2574CC + return + +BattleFrontier_BattleArenaBattleRoom_EventScript_2574C6:: @ 82574C6 + setvar VAR_0x4011, 100 + return + +BattleFrontier_BattleArenaBattleRoom_EventScript_2574CC:: @ 82574CC + setvar VAR_0x4011, 105 + return + +BattleFrontier_BattleArenaBattleRoom_MapScript2_2574D2: @ 82574D2 + map_script_2 VAR_0x4000, 0, BattleFrontier_BattleArenaBattleRoom_EventScript_2574DC + .2byte 0 + +BattleFrontier_BattleArenaBattleRoom_EventScript_2574DC:: @ 82574DC + lockall + showobjectat 8, BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM + applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE2 + waitmovement 0 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25752E + applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257C08 + applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BEB + setvar VAR_0x4002, 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 6 + setvar VAR_0x8006, 1 + special sub_81A1780 + goto BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0 + +BattleFrontier_BattleArenaBattleRoom_EventScript_25752E:: @ 825752E + setvar VAR_0x8004, 3 + special sub_8161F74 + addobject 7 + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BEF + waitmovement 0 + applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 + playse SE_W187 + waitse + waitmovement 0 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C3D, 4 + closemessage + applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE5 + waitmovement 0 + applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 + playse SE_W187 + waitse + waitmovement 0 + setvar VAR_0x8004, 6 + special sub_81A5238 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C68, 4 + closemessage + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF2 + waitmovement 0 + applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 + playse SE_W187 + waitse + waitmovement 0 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C93, 4 + closemessage + applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE5 + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF2 + waitmovement 0 + setvar VAR_0x8004, 5 + special sub_8195960 + msgbox 0x2021fc4, 4 + waitmessage + call BattleFrontier_BattleArenaBattleRoom_EventScript_257B6C + switch VAR_RESULT + case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_257630 + +BattleFrontier_BattleArenaBattleRoom_EventScript_2575DB:: @ 82575DB + applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 + applymovement 1, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 + applymovement 2, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 + applymovement 3, BattleFrontier_BattleArenaBattleRoom_Movement_257C05 + applymovement 4, BattleFrontier_BattleArenaBattleRoom_Movement_257C05 + playse SE_W173 + waitse + waitmovement 0 + setvar VAR_0x8004, 6 + special sub_81A5238 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CCE, 4 + +BattleFrontier_BattleArenaBattleRoom_EventScript_257615:: @ 8257615 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 4 + special sub_81A1780 + warp BATTLE_FRONTIER_BATTLE_ARENA_LOBBY, 255, 7, 8 + waitstate + +BattleFrontier_BattleArenaBattleRoom_EventScript_257630:: @ 8257630 + call BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + addvar VAR_RESULT, 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A1780 + switch VAR_RESULT + case 7, BattleFrontier_BattleArenaBattleRoom_EventScript_257852 + applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE7 + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BFA + waitmovement 0 + removeobject 7 + applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257C08 + applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BEB + waitmovement 0 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CE9, 4 + special copy_player_party_from_sav1 + special copy_player_party_to_sav1 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 3 + special sub_81A1780 + playfanfare MUS_ME_ASA + waitfanfare + special HealPlayerParty + +BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0:: @ 82576B0 + setvar VAR_0x8004, 9 + special sub_81A1780 + copyvar VAR_0x400F, VAR_RESULT + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattleArenaBattleRoom_EventScript_2578BC + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + compare VAR_RESULT, 1 + call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_257870 + compare VAR_RESULT, 2 + call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_257877 + compare VAR_RESULT, 3 + call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_25787E + compare VAR_RESULT, 4 + call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_257885 + compare VAR_RESULT, 5 + call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_25788C + compare VAR_RESULT, 6 + call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_257893 + call BattleFrontier_BattleArenaBattleRoom_EventScript_23E8E0 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257768 + multichoice 19, 4, 103, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_25783A + case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_25779E + case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_2577DA + case 3, BattleFrontier_BattleArenaBattleRoom_EventScript_257808 + case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0 + +BattleFrontier_BattleArenaBattleRoom_EventScript_257768:: @ 8257768 + multichoice 20, 6, 104, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_25783A + case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_2577DA + case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_257808 + case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0 + +BattleFrontier_BattleArenaBattleRoom_EventScript_25779E:: @ 825779E + message BattleFrontier_BattleArenaBattleRoom_Text_257F04 + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0 + case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_2577D0 + case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0 + +BattleFrontier_BattleArenaBattleRoom_EventScript_2577D0:: @ 82577D0 + call BattleFrontier_BattleArenaBattleRoom_EventScript_23E8B4 + goto BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0 + +BattleFrontier_BattleArenaBattleRoom_EventScript_2577DA:: @ 82577DA + msgbox BattleFrontier_BattleArenaBattleRoom_Text_257E6B, 5 + switch VAR_RESULT + case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0 + case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_25789A + case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0 + +BattleFrontier_BattleArenaBattleRoom_EventScript_257808:: @ 8257808 + message BattleFrontier_BattleArenaBattleRoom_Text_257E9E + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0 + case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_257615 + case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0 + +BattleFrontier_BattleArenaBattleRoom_EventScript_25783A:: @ 825783A + closemessage + applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BED + applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257BED + waitmovement 0 + goto BattleFrontier_BattleArenaBattleRoom_EventScript_25752E + waitstate + +BattleFrontier_BattleArenaBattleRoom_EventScript_257852:: @ 8257852 + delay 60 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 3 + special sub_81A1780 + warp BATTLE_FRONTIER_BATTLE_ARENA_LOBBY, 255, 7, 8 + waitstate + +BattleFrontier_BattleArenaBattleRoom_EventScript_257870:: @ 8257870 + message BattleFrontier_BattleArenaBattleRoom_Text_257D17 + waitmessage + return + +BattleFrontier_BattleArenaBattleRoom_EventScript_257877:: @ 8257877 + message BattleFrontier_BattleArenaBattleRoom_Text_257D50 + waitmessage + return + +BattleFrontier_BattleArenaBattleRoom_EventScript_25787E:: @ 825787E + message BattleFrontier_BattleArenaBattleRoom_Text_257D88 + waitmessage + return + +BattleFrontier_BattleArenaBattleRoom_EventScript_257885:: @ 8257885 + message BattleFrontier_BattleArenaBattleRoom_Text_257DC1 + waitmessage + return + +BattleFrontier_BattleArenaBattleRoom_EventScript_25788C:: @ 825788C + message BattleFrontier_BattleArenaBattleRoom_Text_257DF9 + waitmessage + return + +BattleFrontier_BattleArenaBattleRoom_EventScript_257893:: @ 8257893 + message BattleFrontier_BattleArenaBattleRoom_Text_257E31 + waitmessage + return + +BattleFrontier_BattleArenaBattleRoom_EventScript_25789A:: @ 825789A + message BattleFrontier_BattleArenaBattleRoom_Text_257EDB + waitmessage + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 2 + special sub_81A5238 + playse SE_SAVE + waitse + fadescreen 1 + setvar VAR_0x8004, 4 + special sub_81A1780 + end + +BattleFrontier_BattleArenaBattleRoom_EventScript_2578BC:: @ 82578BC + compare VAR_0x4002, 1 + goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_257F45, 4 + setvar VAR_0x4002, 1 + +BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4:: @ 82578D4 + message BattleFrontier_BattleArenaBattleRoom_Text_257FBB + waitmessage + call BattleFrontier_BattleArenaBattleRoom_EventScript_23E8E0 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25792B + multichoice 19, 4, 103, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_257961 + case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_25779E + case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_2577DA + case 3, BattleFrontier_BattleArenaBattleRoom_EventScript_257808 + case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4 + +BattleFrontier_BattleArenaBattleRoom_EventScript_25792B:: @ 825792B + multichoice 20, 6, 104, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_257961 + case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_2577DA + case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_257808 + case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4 + +BattleFrontier_BattleArenaBattleRoom_EventScript_257961:: @ 8257961 + call BattleFrontier_BattleArenaBattleRoom_EventScript_242170 + applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BED + applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257BED + waitmovement 0 + applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 + playse SE_W187 + waitse + waitmovement 0 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C3D, 4 + closemessage + applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE4 + waitmovement 0 + applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 + playse SE_W187 + waitse + waitmovement 0 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_257FED, 4 + closemessage + addobject 7 + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF4 + waitmovement 0 + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF2 + waitmovement 0 + switch VAR_0x400F + case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_257AA5 + case 3, BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F + case 4, BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 7 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F + msgbox BattleFrontier_BattleArenaBattleRoom_Text_25801C, 4 + closemessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 7 + special sub_81A1780 + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C30 + waitmovement 0 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_25804E, 4 + closemessage + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C3A + waitmovement 0 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_258068, 4 + +BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F:: @ 8257A3F + msgbox BattleFrontier_BattleArenaBattleRoom_Text_25810D, 4 + call BattleFrontier_BattleArenaBattleRoom_EventScript_257B5E + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257A5C + goto BattleFrontier_BattleArenaBattleRoom_EventScript_2575DB + +BattleFrontier_BattleArenaBattleRoom_EventScript_257A5C:: @ 8257A5C + call BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9 + setvar VAR_0x8004, 12 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattleArenaBattleRoom_EventScript_257852 + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF1 + waitmovement 0 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_25813F, 4 + playfanfare MUS_ME_SYMBOLGET + message BattleFrontier_BattleArenaBattleRoom_Text_25819C + waitmessage + waitfanfare + setvar VAR_0x8004, 13 + special sub_81A1780 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_2581CF, 4 + goto BattleFrontier_BattleArenaBattleRoom_EventScript_257852 + +BattleFrontier_BattleArenaBattleRoom_EventScript_257AA5:: @ 8257AA5 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 7 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_258213, 4 + closemessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 7 + special sub_81A1780 + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C30 + waitmovement 0 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_2582A2, 4 + closemessage + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C3A + waitmovement 0 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_2582BB, 4 + +BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8:: @ 8257AF8 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_2582F9, 4 + call BattleFrontier_BattleArenaBattleRoom_EventScript_257B5E + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257B15 + goto BattleFrontier_BattleArenaBattleRoom_EventScript_2575DB + +BattleFrontier_BattleArenaBattleRoom_EventScript_257B15:: @ 8257B15 + call BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9 + setvar VAR_0x8004, 12 + special sub_81A1780 + compare VAR_RESULT, 2 + goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257852 + applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF1 + waitmovement 0 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_258323, 4 + playfanfare MUS_ME_SYMBOLGET + message BattleFrontier_BattleArenaBattleRoom_Text_25835B + waitmessage + waitfanfare + setvar VAR_0x8004, 13 + special sub_81A1780 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_258383, 4 + goto BattleFrontier_BattleArenaBattleRoom_EventScript_257852 + +BattleFrontier_BattleArenaBattleRoom_EventScript_257B5E:: @ 8257B5E + msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C93, 4 + call BattleFrontier_BattleArenaBattleRoom_EventScript_257B6C + return + +BattleFrontier_BattleArenaBattleRoom_EventScript_257B6C:: @ 8257B6C +FallarborTown_BattleTentBattleRoom_EventScript_257B6C:: @ 8257B6C + closemessage + setvar VAR_0x4002, 0 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 6 + setvar VAR_0x8006, 0 + special sub_81A1780 + special HealPlayerParty + setvar VAR_0x8004, 5 + setvar VAR_0x8005, 0 + special sub_8163AC4 + waitstate + setvar VAR_0x8004, 18 + special sub_81A1780 + special HealPlayerParty + setvar VAR_0x8004, 21 + special sub_81A1780 + return + +BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9:: @ 8257BA9 + applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 + applymovement 1, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 + applymovement 2, BattleFrontier_BattleArenaBattleRoom_Movement_257C02 + applymovement 3, BattleFrontier_BattleArenaBattleRoom_Movement_257C05 + applymovement 4, BattleFrontier_BattleArenaBattleRoom_Movement_257C05 + playse SE_BAN + waitse + waitmovement 0 + msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CB3, 4 + closemessage + call BattleFrontier_BattleArenaBattleRoom_EventScript_241EBA + return + +BattleFrontier_BattleArenaBattleRoom_Movement_257BE2: @ 8257BE2 + step_right + step_right + +BattleFrontier_BattleArenaBattleRoom_Movement_257BE4: @ 8257BE4 + step_right + +BattleFrontier_BattleArenaBattleRoom_Movement_257BE5: @ 8257BE5 + step_right + step_end + +BattleFrontier_BattleArenaBattleRoom_Movement_257BE7: @ 8257BE7 + step_left + step_left + step_28 + step_end + +BattleFrontier_BattleArenaBattleRoom_Movement_257BEB: @ 8257BEB + step_26 + step_end + +BattleFrontier_BattleArenaBattleRoom_Movement_257BED: @ 8257BED + step_28 + step_end + +BattleFrontier_BattleArenaBattleRoom_Movement_257BEF: @ 8257BEF + step_left + step_left + +BattleFrontier_BattleArenaBattleRoom_Movement_257BF1: @ 8257BF1 + step_left + +BattleFrontier_BattleArenaBattleRoom_Movement_257BF2: @ 8257BF2 + step_left + step_end + +BattleFrontier_BattleArenaBattleRoom_Movement_257BF4: @ 8257BF4 + step_17 + step_17 + step_17 + step_17 + step_17 + step_end + +BattleFrontier_BattleArenaBattleRoom_Movement_257BFA: @ 8257BFA + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_end + +BattleFrontier_BattleArenaBattleRoom_Movement_257C02: @ 8257C02 + step_51 + step_46 + step_end + +BattleFrontier_BattleArenaBattleRoom_Movement_257C05: @ 8257C05 + step_51 + step_47 + step_end + +BattleFrontier_BattleArenaBattleRoom_Movement_257C08: @ 8257C08 + step_25 + step_end + +BattleFrontier_BattleArenaBattleRoom_Movement_257C0A: @ 8257C0A + step_28 + step_end + +BattleFrontier_BattleArenaBattleRoom_MapScript2_257C0C: @ 8257C0C + map_script_2 VAR_0x4001, 0, BattleFrontier_BattleArenaBattleRoom_EventScript_257C16 + .2byte 0 + +BattleFrontier_BattleArenaBattleRoom_EventScript_257C16:: @ 8257C16 + hideobjectat 8, BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM + removeobject 7 + call BattleFrontier_BattleArenaBattleRoom_EventScript_24BCDC + applymovement 255, BattleFrontier_BattleArenaBattleRoom_Movement_24C773 + setvar VAR_0x4001, 1 + end + +BattleFrontier_BattleArenaBattleRoom_Movement_257C30: @ 8257C30 + step_down + step_27 + step_14 + step_14 + step_14 + step_14 + step_up + step_up + step_27 + step_end + +BattleFrontier_BattleArenaBattleRoom_Movement_257C3A: @ 8257C3A + step_down + step_27 + step_end + +BattleFrontier_BattleArenaBattleRoom_Text_257C3D: @ 8257C3D + .string "REFEREE: TRAINER {PLAYER}!\n" + .string "Step forward, please!$" + +BattleFrontier_BattleArenaBattleRoom_Text_257C68: @ 8257C68 + .string "REFEREE: TRAINER {STR_VAR_1}!\n" + .string "Step forward, please!$" + +BattleFrontier_BattleArenaBattleRoom_Text_257C93: @ 8257C93 +FallarborTown_BattleTentBattleRoom_Text_257C93: @ 8257C93 + .string "REFEREE: Set KO Tourney!\n" + .string "Begin!$" + +BattleFrontier_BattleArenaBattleRoom_Text_257CB3: @ 8257CB3 +FallarborTown_BattleTentBattleRoom_Text_257CB3: @ 8257CB3 + .string "REFEREE: The winner is {PLAYER}!$" + +BattleFrontier_BattleArenaBattleRoom_Text_257CCE: @ 8257CCE +FallarborTown_BattleTentBattleRoom_Text_257CCE: @ 8257CCE + .string "REFEREE: The winner is {STR_VAR_1}!$" + +BattleFrontier_BattleArenaBattleRoom_Text_257CE9: @ 8257CE9 +FallarborTown_BattleTentBattleRoom_Text_257CE9: @ 8257CE9 + .string "Your POKéMON will be restored to\n" + .string "full health.$" + +BattleFrontier_BattleArenaBattleRoom_Text_257D17: @ 8257D17 +FallarborTown_BattleTentBattleRoom_Text_257D17: @ 8257D17 + .string "Next up, your second opponent!\n" + .string "Are you ready to move on?$" + +BattleFrontier_BattleArenaBattleRoom_Text_257D50: @ 8257D50 +FallarborTown_BattleTentBattleRoom_Text_257D50: @ 8257D50 + .string "Next up, your third opponent!\n" + .string "Are you ready to move on?$" + +BattleFrontier_BattleArenaBattleRoom_Text_257D88: @ 8257D88 + .string "Next up, your fourth opponent!\n" + .string "Are you ready to move on?$" + +BattleFrontier_BattleArenaBattleRoom_Text_257DC1: @ 8257DC1 + .string "Next up, your fifth opponent!\n" + .string "Are you ready to move on?$" + +BattleFrontier_BattleArenaBattleRoom_Text_257DF9: @ 8257DF9 + .string "Next up, your sixth opponent!\n" + .string "Are you ready to move on?$" + +BattleFrontier_BattleArenaBattleRoom_Text_257E31: @ 8257E31 + .string "Next up, your seventh opponent!\n" + .string "Are you ready to move on?$" + +BattleFrontier_BattleArenaBattleRoom_Text_257E6B: @ 8257E6B +FallarborTown_BattleTentBattleRoom_Text_257E6B: @ 8257E6B + .string "Would you like to save the game and\n" + .string "shut down now?$" + +BattleFrontier_BattleArenaBattleRoom_Text_257E9E: @ 8257E9E +FallarborTown_BattleTentBattleRoom_Text_257E9E: @ 8257E9E + .string "Would you like to retire from your\n" + .string "Set KO Tourney challenge?$" + +BattleFrontier_BattleArenaBattleRoom_Text_257EDB: @ 8257EDB +FallarborTown_BattleTentBattleRoom_Text_257EDB: @ 8257EDB + .string "I am saving your game data.\n" + .string "Please wait.$" + +BattleFrontier_BattleArenaBattleRoom_Text_257F04: @ 8257F04 + .string "Would you like to record your last\n" + .string "battle on your FRONTIER PASS?$" + +BattleFrontier_BattleArenaBattleRoom_Text_257F45: @ 8257F45 + .string "My dear challenger!\p" + .string "Your skill level is truly astounding!\p" + .string "We now would like you to face our\n" + .string "leader, the ARENA TYCOON!$" + +BattleFrontier_BattleArenaBattleRoom_Text_257FBB: @ 8257FBB + .string "A battle with the ARENA TYCOON!\n" + .string "Are you prepared?$" + +BattleFrontier_BattleArenaBattleRoom_Text_257FED: @ 8257FED + .string "REFEREE: The ARENA TYCOON!\n" + .string "Make way for GRETA!$" + +BattleFrontier_BattleArenaBattleRoom_Text_25801C: @ 825801C + .string "GRETA: Hey!\n" + .string "Howdy!\p" + .string "…Wait, are you the challenger?$" + +BattleFrontier_BattleArenaBattleRoom_Text_25804E: @ 825804E + .string "Is that right? Hmm…\n" + .string "Hmhm…$" + +BattleFrontier_BattleArenaBattleRoom_Text_258068: @ 8258068 + .string "I don’t know how to say it, but…\n" + .string "To put it bluntly, you look pretty weak.\l" + .string "Are you sure you’re up for me?\p" + .string "Hmm…\p" + .string "Well, all right!\n" + .string "We’ll take things easy to start with!$" + +BattleFrontier_BattleArenaBattleRoom_Text_25810D: @ 825810D + .string "Okay! Let’s see you ignite my passion\n" + .string "for battle!$" + +BattleFrontier_BattleArenaBattleRoom_Text_25813F: @ 825813F + .string "GRETA: Ow, wait a second!\n" + .string "You are tough after all!\p" + .string "I like you!\n" + .string "Let’s see your FRONTIER PASS.$" + +BattleFrontier_BattleArenaBattleRoom_Text_25819C: @ 825819C + .string "The Guts Symbol was embossed on\n" + .string "the FRONTIER PASS!$" + +BattleFrontier_BattleArenaBattleRoom_Text_2581CF: @ 82581CF + .string "Hmm…\p" + .string "It’s going to be fun the next time!\n" + .string "I’m looking forward to it!$" + +BattleFrontier_BattleArenaBattleRoom_Text_258213: @ 8258213 + .string "GRETA: Hey! Howdy!\n" + .string "You finally won your way up to me!\p" + .string "I was getting worried waiting for you!\n" + .string "I was really looking forward to seeing\l" + .string "you again!$" + +BattleFrontier_BattleArenaBattleRoom_Text_2582A2: @ 82582A2 + .string "… … …\n" + .string "So, are you ready?$" + +BattleFrontier_BattleArenaBattleRoom_Text_2582BB: @ 82582BB + .string "I won’t allow a halfhearted effort!\n" + .string "Be ready for a thrashing!$" + +BattleFrontier_BattleArenaBattleRoom_Text_2582F9: @ 82582F9 + .string "Come on, REFEREE!\n" + .string "Let’s get this started!$" + +BattleFrontier_BattleArenaBattleRoom_Text_258323: @ 8258323 + .string "GRETA: Gaaah! Blown away!\n" + .string "Let’s see your FRONTIER PASS!$" + +BattleFrontier_BattleArenaBattleRoom_Text_25835B: @ 825835B + .string "The Guts Symbol took on\n" + .string "a golden shine!$" + +BattleFrontier_BattleArenaBattleRoom_Text_258383: @ 8258383 + .string "Arrrgh!\n" + .string "This is so infuriating!\p" + .string "If we ever battle again, I won’t lose!\n" + .string "Don’t you forget it! Bye-bye!$" diff --git a/data/scripts/maps/BattleFrontier_BattleArenaCorridor.inc b/data/scripts/maps/BattleFrontier_BattleArenaCorridor.inc new file mode 100644 index 0000000000..ed7371dabf --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattleArenaCorridor.inc @@ -0,0 +1,90 @@ +BattleFrontier_BattleArenaCorridor_MapScripts:: @ 82573B9 + map_script 2, BattleFrontier_BattleArenaCorridor_MapScript2_2573BF + .byte 0 + +BattleFrontier_BattleArenaCorridor_MapScript2_2573BF: @ 82573BF + map_script_2 VAR_0x4000, 0, BattleFrontier_BattleArenaCorridor_EventScript_2573C9 + .2byte 0 + +BattleFrontier_BattleArenaCorridor_EventScript_2573C9:: @ 82573C9 + delay 16 + setvar VAR_0x4000, 1 + applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_25742F + applymovement 255, BattleFrontier_BattleArenaCorridor_Movement_257417 + waitmovement 0 + applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_257444 + waitmovement 0 + msgbox BattleFrontier_BattleArenaCorridor_Text_257449, 3 + applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_257446 + waitmovement 0 + applymovement 255, BattleFrontier_BattleArenaCorridor_Movement_25742C + waitmovement 0 + setvar VAR_0x8006, 0 + warp BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM, 255, 7, 5 + waitstate + end + +BattleFrontier_BattleArenaCorridor_Movement_257417: @ 8257417 + step_up + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_right + step_right + step_right + step_end + +BattleFrontier_BattleArenaCorridor_Movement_25742C: @ 825742C + step_right + step_54 + step_end + +BattleFrontier_BattleArenaCorridor_Movement_25742F: @ 825742F + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_right + step_right + step_right + step_right + step_end + +BattleFrontier_BattleArenaCorridor_Movement_257444: @ 8257444 + step_27 + step_end + +BattleFrontier_BattleArenaCorridor_Movement_257446: @ 8257446 + step_up + step_25 + step_end + +BattleFrontier_BattleArenaCorridor_Text_257449: @ 8257449 + .string "Your battles shall be waged in\n" + .string "the next room. Please step in!$" + diff --git a/data/scripts/maps/BattleFrontier_BattleArenaLobby.inc b/data/scripts/maps/BattleFrontier_BattleArenaLobby.inc new file mode 100644 index 0000000000..303a2c4c92 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattleArenaLobby.inc @@ -0,0 +1,638 @@ +BattleFrontier_BattleArenaLobby_MapScripts:: @ 8255C36 + map_script 2, BattleFrontier_BattleArenaLobby_MapScript2_255C55 + map_script 4, BattleFrontier_BattleArenaLobby_MapScript2_255C41 + .byte 0 + +BattleFrontier_BattleArenaLobby_MapScript2_255C41: @ 8255C41 + map_script_2 VAR_0x4001, 0, BattleFrontier_BattleArenaLobby_EventScript_255C4B + .2byte 0 + +BattleFrontier_BattleArenaLobby_EventScript_255C4B:: @ 8255C4B + setvar VAR_0x4001, 1 + turnobject 255, 2 + end + +BattleFrontier_BattleArenaLobby_MapScript2_255C55: @ 8255C55 + map_script_2 VAR_0x4000, 0, BattleFrontier_BattleArenaLobby_EventScript_255C7F + map_script_2 VAR_0x4000, 1, BattleFrontier_BattleArenaLobby_EventScript_255C88 + map_script_2 VAR_0x4000, 2, BattleFrontier_BattleArenaLobby_EventScript_255DC0 + map_script_2 VAR_0x4000, 3, BattleFrontier_BattleArenaLobby_EventScript_255CCF + map_script_2 VAR_0x4000, 4, BattleFrontier_BattleArenaLobby_EventScript_255D2B + .2byte 0 + +BattleFrontier_BattleArenaLobby_EventScript_255C7F:: @ 8255C7F + setvar VAR_0x8004, 0 + special sub_81A1780 + end + +BattleFrontier_BattleArenaLobby_EventScript_255C88:: @ 8255C88 + lockall + msgbox BattleFrontier_BattleArenaLobby_Text_256811, 4 + closemessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 0 + special sub_81A5238 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 0 + special sub_81A5238 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x4000, 255 + releaseall + end + +BattleFrontier_BattleArenaLobby_EventScript_255CCF:: @ 8255CCF + lockall + setvar VAR_0x8004, 10 + special sub_81A1780 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleArenaLobby_EventScript_255CF0 + msgbox BattleFrontier_BattleArenaLobby_Text_2568E7, 4 + goto BattleFrontier_BattleArenaLobby_EventScript_255CF8 + +BattleFrontier_BattleArenaLobby_EventScript_255CF0:: @ 8255CF0 + msgbox BattleFrontier_BattleArenaLobby_Text_2572D9, 4 + +BattleFrontier_BattleArenaLobby_EventScript_255CF8:: @ 8255CF8 + msgbox BattleFrontier_BattleArenaLobby_Text_257353, 4 + setvar VAR_0x8004, 11 + special sub_81A1780 + msgbox BattleFrontier_BattleArenaLobby_Text_241520, 9 + message BattleFrontier_BattleArenaLobby_Text_256931 + waitmessage + call BattleFrontier_BattleArenaLobby_EventScript_255D59 + msgbox BattleFrontier_BattleArenaLobby_Text_256A74, 4 + closemessage + setvar VAR_0x4000, 255 + releaseall + end + +BattleFrontier_BattleArenaLobby_EventScript_255D2B:: @ 8255D2B + lockall + message BattleFrontier_BattleArenaLobby_Text_256A2C + waitmessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 0 + special sub_81A5238 + call BattleFrontier_BattleArenaLobby_EventScript_255D59 + msgbox BattleFrontier_BattleArenaLobby_Text_256A74, 4 + closemessage + setvar VAR_0x4000, 255 + releaseall + end + +BattleFrontier_BattleArenaLobby_EventScript_255D59:: @ 8255D59 + setvar VAR_0x8004, 8 + special sub_81A1780 + special copy_player_party_from_sav1 + special HealPlayerParty + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 0 + special sub_81A5238 + playse SE_SAVE + waitse + call BattleFrontier_BattleArenaLobby_EventScript_23E8E0 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleArenaLobby_EventScript_255DBF + message BattleFrontier_BattleArenaLobby_Text_256B19 + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattleArenaLobby_EventScript_255DBF + case 0, BattleFrontier_BattleArenaLobby_EventScript_255DBA + case 127, BattleFrontier_BattleArenaLobby_EventScript_255DBF + +BattleFrontier_BattleArenaLobby_EventScript_255DBA:: @ 8255DBA + call BattleFrontier_BattleArenaLobby_EventScript_23E8B4 + +BattleFrontier_BattleArenaLobby_EventScript_255DBF:: @ 8255DBF + return + +BattleFrontier_BattleArenaLobby_EventScript_255DC0:: @ 8255DC0 + lockall + message BattleFrontier_BattleArenaLobby_Text_256AA1 + waitmessage + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 1 + special sub_81A5238 + playse SE_SAVE + waitse + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x4000, 255 + goto BattleFrontier_BattleArenaLobby_EventScript_255F54 + +BattleFrontier_BattleArenaLobby_EventScript_255DF4:: @ 8255DF4 + lock + faceplayer + setvar VAR_FRONTIER_FACILITY, 3 + setvar VAR_0x40CE, 0 + special copy_player_party_to_sav1 + msgbox BattleFrontier_BattleArenaLobby_Text_256166, 4 + +BattleFrontier_BattleArenaLobby_EventScript_255E0B:: @ 8255E0B + message BattleFrontier_BattleArenaLobby_Text_2561EA + waitmessage + multichoice 17, 6, 23, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattleArenaLobby_EventScript_255E47 + case 1, BattleFrontier_BattleArenaLobby_EventScript_255F9F + case 2, BattleFrontier_BattleArenaLobby_EventScript_255FFB + case 127, BattleFrontier_BattleArenaLobby_EventScript_255FFB + +BattleFrontier_BattleArenaLobby_EventScript_255E47:: @ 8255E47 + message BattleFrontier_BattleArenaLobby_Text_256513 + waitmessage + multichoice 17, 6, 24, 0 + switch VAR_RESULT + case 2, BattleFrontier_BattleArenaLobby_EventScript_255FFB + case 127, BattleFrontier_BattleArenaLobby_EventScript_255FFB + setvar VAR_0x8004, 15 + special sub_81A1780 + compare VAR_0x8004, 1 + goto_eq BattleFrontier_BattleArenaLobby_EventScript_255FAC + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A1780 + msgbox BattleFrontier_BattleArenaLobby_Text_256573, 4 + fadescreen 1 + call BattleFrontier_BattleArenaLobby_EventScript_23F2B7 + copyvar VAR_0x8004, VAR_RESULT + setvar VAR_0x8005, 3 + special sub_80F9490 + waitstate + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleArenaLobby_EventScript_255FF8 + msgbox BattleFrontier_BattleArenaLobby_Text_2564CE, 5 + switch VAR_RESULT + case 0, BattleFrontier_BattleArenaLobby_EventScript_255FF8 + case 1, BattleFrontier_BattleArenaLobby_EventScript_255EE8 + case 127, BattleFrontier_BattleArenaLobby_EventScript_255FF8 + +BattleFrontier_BattleArenaLobby_EventScript_255EE8:: @ 8255EE8 + setvar VAR_0x4000, 0 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 4 + special sub_81A1780 + setvar VAR_0x8004, 0 + special sub_81A5238 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 1 + special sub_81A5238 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 1 + special sub_81A1780 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + special copy_player_party_from_sav1 + closemessage + delay 2 + call BattleFrontier_BattleArenaLobby_EventScript_27134F + setvar VAR_0x4000, 255 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleArenaLobby_EventScript_255FE1 + +BattleFrontier_BattleArenaLobby_EventScript_255F54:: @ 8255F54 + special copy_player_party_to_sav1 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 3 + special sub_81A1780 + msgbox BattleFrontier_BattleArenaLobby_Text_2567E6, 4 + closemessage + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + special sub_81A1780 + compare VAR_RESULT, 0 + call_if 1, BattleFrontier_BattleArenaLobby_EventScript_256005 + compare VAR_RESULT, 1 + call_if 1, BattleFrontier_BattleArenaLobby_EventScript_256050 + warp BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR, 255, 9, 13 + setvar VAR_0x4000, 0 + waitstate + end + +BattleFrontier_BattleArenaLobby_EventScript_255F9F:: @ 8255F9F + msgbox BattleFrontier_BattleArenaLobby_Text_25624C, 4 + goto BattleFrontier_BattleArenaLobby_EventScript_255E0B + +BattleFrontier_BattleArenaLobby_EventScript_255FAC:: @ 8255FAC + switch VAR_RESULT + case 0, BattleFrontier_BattleArenaLobby_EventScript_255FC7 + case 1, BattleFrontier_BattleArenaLobby_EventScript_255FD4 + +BattleFrontier_BattleArenaLobby_EventScript_255FC7:: @ 8255FC7 + msgbox BattleFrontier_BattleArenaLobby_Text_2566A8, 4 + goto BattleFrontier_BattleArenaLobby_EventScript_256003 + +BattleFrontier_BattleArenaLobby_EventScript_255FD4:: @ 8255FD4 + msgbox BattleFrontier_BattleArenaLobby_Text_2565A5, 4 + goto BattleFrontier_BattleArenaLobby_EventScript_256003 + +BattleFrontier_BattleArenaLobby_EventScript_255FE1:: @ 8255FE1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + goto BattleFrontier_BattleArenaLobby_EventScript_255FFB + +BattleFrontier_BattleArenaLobby_EventScript_255FF8:: @ 8255FF8 + special copy_player_party_from_sav1 + +BattleFrontier_BattleArenaLobby_EventScript_255FFB:: @ 8255FFB + msgbox BattleFrontier_BattleArenaLobby_Text_25621F, 4 + +BattleFrontier_BattleArenaLobby_EventScript_256003:: @ 8256003 + release + end + +BattleFrontier_BattleArenaLobby_EventScript_256005:: @ 8256005 + applymovement 1, BattleFrontier_BattleArenaLobby_Movement_256034 + applymovement 255, BattleFrontier_BattleArenaLobby_Movement_256041 + waitmovement 0 + opendoor 2, 2 + waitdooranim + applymovement 1, BattleFrontier_BattleArenaLobby_Movement_25603E + applymovement 255, BattleFrontier_BattleArenaLobby_Movement_25604C + waitmovement 0 + closedoor 2, 2 + waitdooranim + return + +BattleFrontier_BattleArenaLobby_Movement_256034: @ 8256034 + step_up + step_up + step_up + step_left + step_left + step_left + step_left + step_left + step_up + step_end + +BattleFrontier_BattleArenaLobby_Movement_25603E: @ 825603E + step_up + step_54 + step_end + +BattleFrontier_BattleArenaLobby_Movement_256041: @ 8256041 + step_up + step_up + step_up + step_up + step_left + step_left + step_left + step_left + step_left + step_26 + step_end + +BattleFrontier_BattleArenaLobby_Movement_25604C: @ 825604C + step_up + step_up + step_54 + step_end + +BattleFrontier_BattleArenaLobby_EventScript_256050:: @ 8256050 + applymovement 1, BattleFrontier_BattleArenaLobby_Movement_25607F + applymovement 255, BattleFrontier_BattleArenaLobby_Movement_256088 + waitmovement 0 + opendoor 11, 2 + waitdooranim + applymovement 1, BattleFrontier_BattleArenaLobby_Movement_25603E + applymovement 255, BattleFrontier_BattleArenaLobby_Movement_25604C + waitmovement 0 + closedoor 11, 2 + waitdooranim + return + +BattleFrontier_BattleArenaLobby_Movement_25607F: @ 825607F + step_up + step_up + step_up + step_right + step_right + step_right + step_right + step_up + step_end + +BattleFrontier_BattleArenaLobby_Movement_256088: @ 8256088 + step_up + step_up + step_up + step_up + step_right + step_right + step_right + step_right + step_26 + step_end + +BattleFrontier_BattleArenaLobby_EventScript_256092:: @ 8256092 + lockall + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 3 + special sub_81A1780 + waitbuttonpress + special sub_813C5A0 + releaseall + end + +BattleFrontier_BattleArenaLobby_EventScript_2560A6:: @ 82560A6 + msgbox BattleFrontier_BattleArenaLobby_Text_256B5C, 2 + end + +BattleFrontier_BattleArenaLobby_EventScript_2560AF:: @ 82560AF + msgbox BattleFrontier_BattleArenaLobby_Text_256BCB, 2 + end + +BattleFrontier_BattleArenaLobby_EventScript_2560B8:: @ 82560B8 + msgbox BattleFrontier_BattleArenaLobby_Text_256C19, 2 + end + +BattleFrontier_BattleArenaLobby_EventScript_2560C1:: @ 82560C1 + msgbox BattleFrontier_BattleArenaLobby_Text_256C9A, 2 + end + +BattleFrontier_BattleArenaLobby_EventScript_2560CA:: @ 82560CA + lockall + msgbox BattleFrontier_BattleArenaLobby_Text_256DB8, 4 + goto BattleFrontier_BattleArenaLobby_EventScript_2560D9 + end + +BattleFrontier_BattleArenaLobby_EventScript_2560D9:: @ 82560D9 + message BattleFrontier_BattleArenaLobby_Text_256DDF + waitmessage + multichoice 17, 2, 96, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattleArenaLobby_EventScript_25612C + case 1, BattleFrontier_BattleArenaLobby_EventScript_25613A + case 2, BattleFrontier_BattleArenaLobby_EventScript_256148 + case 3, BattleFrontier_BattleArenaLobby_EventScript_256156 + case 4, BattleFrontier_BattleArenaLobby_EventScript_256164 + case 127, BattleFrontier_BattleArenaLobby_EventScript_256164 + end + +BattleFrontier_BattleArenaLobby_EventScript_25612C:: @ 825612C + msgbox BattleFrontier_BattleArenaLobby_Text_256E02, 4 + goto BattleFrontier_BattleArenaLobby_EventScript_2560D9 + end + +BattleFrontier_BattleArenaLobby_EventScript_25613A:: @ 825613A + msgbox BattleFrontier_BattleArenaLobby_Text_256F43, 4 + goto BattleFrontier_BattleArenaLobby_EventScript_2560D9 + end + +BattleFrontier_BattleArenaLobby_EventScript_256148:: @ 8256148 + msgbox BattleFrontier_BattleArenaLobby_Text_256FF2, 4 + goto BattleFrontier_BattleArenaLobby_EventScript_2560D9 + end + +BattleFrontier_BattleArenaLobby_EventScript_256156:: @ 8256156 + msgbox BattleFrontier_BattleArenaLobby_Text_257202, 4 + goto BattleFrontier_BattleArenaLobby_EventScript_2560D9 + end + +BattleFrontier_BattleArenaLobby_EventScript_256164:: @ 8256164 + releaseall + end + +BattleFrontier_BattleArenaLobby_Text_256166: @ 8256166 + .string "Where the battling spirit of TRAINERS\n" + .string "is put to the test!\p" + .string "I welcome you to the BATTLE ARENA!\p" + .string "I am your guide to the Set KO Tourney!$" + +BattleFrontier_BattleArenaLobby_Text_2561EA: @ 82561EA + .string "Now, do you wish to take\n" + .string "the BATTLE ARENA challenge?$" + +BattleFrontier_BattleArenaLobby_Text_25621F: @ 825621F + .string "We await your challenge on\n" + .string "another occasion!$" + +BattleFrontier_BattleArenaLobby_Text_25624C: @ 825624C + .string "In the BATTLE ARENA, we undertake\n" + .string "the Set KO Tourney.\p" + .string "All participants enter with a team of\n" + .string "three POKéMON.\p" + .string "The three POKéMON must be lined up in\n" + .string "the order in which they are to appear.\p" + .string "During battle, the POKéMON will appear\n" + .string "one at a time in the preset order.\p" + .string "Once a POKéMON enters battle, it must\n" + .string "remain out until the match is decided.\p" + .string "If a match remains undecided in\n" + .string "three turns, it goes to judging.\p" + .string "If you wish to interrupt your challenge,\n" + .string "please save the game.\p" + .string "If you don’t save, you will not be able\n" + .string "to continue with your challenge.\p" + .string "If you pull off the feat of beating\n" + .string "seven TRAINERS in succession,\l" + .string "we will present you with Battle Points.$" + +BattleFrontier_BattleArenaLobby_Text_2564CE: @ 82564CE + .string "Before showing you to the BATTLE\n" + .string "ARENA, you must save. Is that okay?$" + +BattleFrontier_BattleArenaLobby_Text_256513: @ 8256513 + .string "The BATTLE ARENA offers two levels\n" + .string "of challenge, Level 50 and Open Level.\l" + .string "Which is your choice?$" + +BattleFrontier_BattleArenaLobby_Text_256573: @ 8256573 + .string "Very well, now select your\n" + .string "three POKéMON, please.$" + +BattleFrontier_BattleArenaLobby_Text_2565A5: @ 82565A5 + .string "My dear challenger!\p" + .string "You do not have the three POKéMON\n" + .string "required for entry.\p" + .string "To qualify, you must bring three\n" + .string "different kinds of POKéMON.\p" + .string "They also must not hold the same\n" + .string "kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "When you have made your preparations,\n" + .string "please do return.$" + +BattleFrontier_BattleArenaLobby_Text_2566A8: @ 82566A8 + .string "My dear challenger!\p" + .string "You do not have the three POKéMON\n" + .string "required for entry.\p" + .string "To qualify, you must bring three\n" + .string "different kinds of POKéMON.\p" + .string "The three different POKéMON\n" + .string "must all be Level 50 or lower.\p" + .string "They also must not hold the same\n" + .string "kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "When you have made your preparations,\n" + .string "please do return.$" + +BattleFrontier_BattleArenaLobby_Text_2567E6: @ 82567E6 + .string "I shall now guide you to\n" + .string "the BATTLE ARENA.$" + +BattleFrontier_BattleArenaLobby_Text_256811: @ 8256811 + .string "My dear challenger!\p" + .string "You did not save the game before\n" + .string "shutting down, did you?\p" + .string "It is unfortunate, but that has\n" + .string "resulted in your disqualification\l" + .string "from your challenge.\p" + .string "You may, of course, start with a fresh\n" + .string "challenge.$" + +BattleFrontier_BattleArenaLobby_Text_2568E7: @ 82568E7 + .string "We congratulate you for your splendid\n" + .string "string of wins over seven TRAINERS!$" + +BattleFrontier_BattleArenaLobby_Text_256931: @ 8256931 + .string "Your achievement will be recorded.\n" + .string "Please wait while I save the game.$" + +BattleFrontier_BattleArenaLobby_Text_256977: @ 8256977 + .string "In commemoration of your 7-win streak,\n" + .string "we present you with this prize.$" + +BattleFrontier_BattleArenaLobby_Text_2569BE: @ 82569BE + .string "{PLAYER} received the prize\n" + .string "{STR_VAR_1}.$" + +BattleFrontier_BattleArenaLobby_Text_2569D8: @ 82569D8 + .string "Oh?\n" + .string "Your BAG seems to be full.\p" + .string "I urge you to clear space and\n" + .string "return for your prize.$" + +BattleFrontier_BattleArenaLobby_Text_256A2C: @ 8256A2C + .string "Thank you so much for participating!\p" + .string "Please wait while I save the game.$" + +BattleFrontier_BattleArenaLobby_Text_256A74: @ 8256A74 + .string "We await your challenge on\n" + .string "another occasion!$" + +BattleFrontier_BattleArenaLobby_Text_256AA1: @ 8256AA1 + .string "We have been looking forward to\n" + .string "your arrival.\p" + .string "Before I show you to the BATTLE\n" + .string "ARENA, I must save the game.\l" + .string "Please wait.$" + +BattleFrontier_BattleArenaLobby_Text_256B19: @ 8256B19 + .string "Shall I record your last BATTLE ARENA\n" + .string "match on your FRONTIER PASS?$" + +BattleFrontier_BattleArenaLobby_Text_256B5C: @ 8256B5C + .string "I lost on the REFEREE’s decision…\p" + .string "I don’t think it was a good idea to only\n" + .string "use defensive moves and not attack…$" + +BattleFrontier_BattleArenaLobby_Text_256BCB: @ 8256BCB + .string "I won in judging!\p" + .string "Landing hits consistently on\n" + .string "the opponent’s POKéMON worked!$" + +BattleFrontier_BattleArenaLobby_Text_256C19: @ 8256C19 + .string "Our match was declared a draw.\p" + .string "When we ran out of time, both my\n" + .string "POKéMON and the opponent’s had about\l" + .string "the same amount of HP left.$" + +BattleFrontier_BattleArenaLobby_Text_256C9A: @ 8256C9A + .string "In the BATTLE ARENA, the order of\n" + .string "POKéMON is totally important.\p" + .string "For example, if your first POKéMON\n" + .string "has certain type disadvantages,\l" + .string "try making your second POKéMON one\l" + .string "with moves that are super effective\l" + .string "against the first one.\p" + .string "I think that will be a good way of\n" + .string "making an effective team.$" + +BattleFrontier_BattleArenaLobby_Text_256DB8: @ 8256DB8 +FallarborTown_BattleTentLobby_Text_256DB8: @ 8256DB8 + .string "The Set KO Tourney’s rules are listed.$" + +BattleFrontier_BattleArenaLobby_Text_256DDF: @ 8256DDF +FallarborTown_BattleTentLobby_Text_256DDF: @ 8256DDF + .string "Which heading do you want to read?$" + +BattleFrontier_BattleArenaLobby_Text_256E02: @ 8256E02 +FallarborTown_BattleTentLobby_Text_256E02: @ 8256E02 + .string "The Set KO Tourney has special rules,\n" + .string "unlike standard battles.\p" + .string "First, one battle lasts only\n" + .string "three turns.\p" + .string "If the outcome is not decided after\n" + .string "three turns, it goes to judging.\p" + .string "The REFEREE will choose the winner\n" + .string "based on how the POKéMON battled.\p" + .string "Also, a POKéMON cannot be switched out\n" + .string "until its battle’s outcome is decided.$" + +BattleFrontier_BattleArenaLobby_Text_256F43: @ 8256F43 +FallarborTown_BattleTentLobby_Text_256F43: @ 8256F43 + .string "The first judging factor is “Mind.”\n" + .string "This factor evaluates how aggressive\l" + .string "the battlers were.\p" + .string "The judging is based on how often\n" + .string "the TRAINERS ordered the use of\l" + .string "offensive moves.$" + +BattleFrontier_BattleArenaLobby_Text_256FF2: @ 8256FF2 +FallarborTown_BattleTentLobby_Text_256FF2: @ 8256FF2 + .string "The second judging factor is “Skill.”\n" + .string "This factor evaluates how effectively\l" + .string "POKéMON moves were used.\p" + .string "If a move worked successfully,\n" + .string "the Skill rating goes up.\p" + .string "If a move failed, the Skill rating\n" + .string "is lowered.\p" + .string "If it was an offensive move, the Skill\n" + .string "rating goes up if the move was “super\l" + .string "effective” and goes down if it was\l" + .string "“not very effective.”\p" + .string "The Skill rating will not go up for\n" + .string "moves such as PROTECT and DETECT.\p" + .string "If the opponent used PROTECT or\n" + .string "DETECT, and your POKéMON failed to\l" + .string "hit with a move, its Skill rating will not\l" + .string "go down.$" + +BattleFrontier_BattleArenaLobby_Text_257202: @ 8257202 +FallarborTown_BattleTentLobby_Text_257202: @ 8257202 + .string "The third judging factor is “Body.”\n" + .string "This factor is based on how much HP\l" + .string "remained at the end of a battle.\p" + .string "The rating takes into account how much\n" + .string "HP a POKéMON had at the start of\l" + .string "battle, and what remained at the end.$" + +BattleFrontier_BattleArenaLobby_Text_2572D9: @ 82572D9 + .string "A victory snatched from the ARENA\n" + .string "TYCOON, and a seven-TRAINER sweep!\p" + .string "We congratulate you on your most\n" + .string "splendid challenge!$" + +BattleFrontier_BattleArenaLobby_Text_257353: @ 8257353 + .string "My dear challenger, in recognition of\n" + .string "your indefatigable spirit, please\l" + .string "accept these Battle Point(s).$" diff --git a/data/scripts/maps/BattleFrontier_BattleDomeBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattleDomeBattleRoom.inc new file mode 100644 index 0000000000..fce85e7d35 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattleDomeBattleRoom.inc @@ -0,0 +1,1277 @@ +BattleFrontier_BattleDomeBattleRoom_MapScripts:: @ 824BC9C + map_script 3, BattleFrontier_BattleDomeBattleRoom_MapScript1_24BCB1 + map_script 2, BattleFrontier_BattleDomeBattleRoom_MapScript2_24BD00 + map_script 4, BattleFrontier_BattleDomeBattleRoom_MapScript2_24C481 + map_script 5, BattleFrontier_BattleDomeBattleRoom_MapScript1_24C4F0 + .byte 0 + +BattleFrontier_BattleDomeBattleRoom_MapScript1_24BCB1: @ 824BCB1 + setvar VAR_0x8004, 10 + special sub_818E9AC + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + copyvar VAR_0x400F, VAR_RESULT + compare VAR_RESULT, 0 + call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C919 + call BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC + end + +BattleFrontier_BattleArenaBattleRoom_EventScript_24BCDC:: @ 824BCDC +BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC:: @ 824BCDC + checkplayergender + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BCF4 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BCFA + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24BCF4:: @ 824BCF4 + setvar VAR_0x4011, 100 + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24BCFA:: @ 824BCFA + setvar VAR_0x4011, 105 + return + +BattleFrontier_BattleDomeBattleRoom_MapScript2_24BD00: @ 824BD00 + map_script_2 VAR_0x4000, 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24BD0A + .2byte 0 + +BattleFrontier_BattleDomeBattleRoom_EventScript_24BD0A:: @ 824BD0A + lockall + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD + compare VAR_RESULT, 0 + call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C938 + applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4 + waitmovement 0 + call BattleFrontier_BattleDomeBattleRoom_EventScript_24BFD5 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C970, 4 + closemessage + showobjectat 13, BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM + compare VAR_0x400F, 3 + goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24BD4E + compare VAR_0x400E, 0 + goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24BD5A + +BattleFrontier_BattleDomeBattleRoom_EventScript_24BD4E:: @ 824BD4E + applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C775 + goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BD61 + +BattleFrontier_BattleDomeBattleRoom_EventScript_24BD5A:: @ 824BD5A + applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C77F + +BattleFrontier_BattleDomeBattleRoom_EventScript_24BD61:: @ 824BD61 + playse SE_W227B + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + waitmovement 0 + compare VAR_0x400F, 3 + goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82 + compare VAR_0x400E, 0 + goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1CB + +BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82:: @ 824BD82 + setvar VAR_0x8004, 4 + special sub_818E9AC + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C990, 4 + closemessage + applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C77B + applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C789 + waitmovement 0 + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 0 + special sub_8161F74 + msgbox 0x2021fc4, 4 + closemessage + setvar VAR_0x8004, 5 + special sub_818E9AC + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C440 + setvar VAR_0x4002, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0 + case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F + case 9, BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F + setvar VAR_0x4002, 1 + +BattleFrontier_BattleDomeBattleRoom_EventScript_24BDF7:: @ 824BDF7 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CA86, 4 + closemessage + playse SE_W227B + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + delay 60 + applymovement 9, BattleFrontier_BattleDomeBattleRoom_Movement_24C964 + waitmovement 0 + applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_24C969 + waitmovement 0 + delay 180 + applymovement 9, BattleFrontier_BattleDomeBattleRoom_Movement_24C96B + waitmovement 0 + compare VAR_0x4002, 2 + goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F + setvar VAR_0x8004, 19 + special sub_818E9AC + switch VAR_RESULT + case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0 + +BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F:: @ 824BE4F + applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4 + waitmovement 0 + setvar VAR_0x8004, 4 + special sub_818E9AC + compare VAR_0x4002, 0 + call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEB1 + compare VAR_0x4002, 1 + call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEC5 + compare VAR_0x4002, 2 + call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BED9 + playse SE_W227B + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + delay 60 + +BattleFrontier_BattleDomeBattleRoom_EventScript_24BE8D:: @ 824BE8D + setvar VAR_0x8004, 12 + setvar VAR_0x8005, 2 + special sub_818E9AC + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24BE9A:: @ 824BE9A + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 4 + special sub_81A1780 + goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C8F5 +@ goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24C8F5 + +BattleFrontier_BattleDomeBattleRoom_EventScript_24BEB1:: @ 824BEB1 + setvar VAR_0x8004, 20 + setvar VAR_0x8005, 1 + special sub_81A1780 + message BattleFrontier_BattleDomeBattleRoom_Text_24C9E1 + waitmessage + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24BEC5:: @ 824BEC5 + setvar VAR_0x8004, 20 + setvar VAR_0x8005, 0 + special sub_81A1780 + message BattleFrontier_BattleDomeBattleRoom_Text_24CB34 + waitmessage + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24BED9:: @ 824BED9 + message BattleFrontier_BattleDomeBattleRoom_Text_24D6BE + waitmessage + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0:: @ 824BEE0 + applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4 + waitmovement 0 + compare VAR_0x4002, 0 + call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BFC3 + compare VAR_0x4002, 1 + call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BFCC + playse SE_W227B + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + delay 60 + setvar VAR_0x8004, 3 + special sub_818E9AC + setvar VAR_0x8004, 12 + setvar VAR_0x8005, 1 + special sub_818E9AC + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + addvar VAR_RESULT, 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A1780 + switch VAR_RESULT + case 4, BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62 + setvar VAR_0x8006, 1 + warp BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM, 255, 5, 3 + waitstate + +BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62:: @ 824BF62 + applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C77D + waitmovement 0 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + special sub_81A1780 + switch VAR_RESULT + case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BF96 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CA04, 4 + goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BF9E + +BattleFrontier_BattleDomeBattleRoom_EventScript_24BF96:: @ 824BF96 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CA44, 4 + +BattleFrontier_BattleDomeBattleRoom_EventScript_24BF9E:: @ 824BF9E + special sub_8175280 + playse SE_W227B + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + delay 60 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 3 + special sub_81A1780 + goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C8F5 + +BattleFrontier_BattleDomeBattleRoom_EventScript_24BFC3:: @ 824BFC3 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C9BE, 4 + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24BFCC:: @ 824BFCC + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CB9D, 4 + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24BFD5:: @ 824BFD5 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 6 + special sub_818E9AC + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C023 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 7 + special sub_818E9AC + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C076 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + special sub_818E9AC + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C16A + goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C9 + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C023:: @ 824C023 + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD + switch VAR_RESULT + case 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24C05A + case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C061 + case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C068 + case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C06F + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C05A:: @ 824C05A + message BattleFrontier_BattleDomeBattleRoom_Text_24CC06 + waitmessage + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C061:: @ 824C061 + message BattleFrontier_BattleDomeBattleRoom_Text_24CC1C + waitmessage + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C068:: @ 824C068 + message BattleFrontier_BattleDomeBattleRoom_Text_24CC2E + waitmessage + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C06F:: @ 824C06F + message BattleFrontier_BattleDomeBattleRoom_Text_24CC5B + waitmessage + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C076:: @ 824C076 + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD + switch VAR_RESULT + case 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24C0AD + case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C0B4 + case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C0BB + case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C2 + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C0AD:: @ 824C0AD + message BattleFrontier_BattleDomeBattleRoom_Text_24CC99 + waitmessage + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C0B4:: @ 824C0B4 + message BattleFrontier_BattleDomeBattleRoom_Text_24CCC5 + waitmessage + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C0BB:: @ 824C0BB + message BattleFrontier_BattleDomeBattleRoom_Text_24CCFD + waitmessage + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C2:: @ 824C0C2 + message BattleFrontier_BattleDomeBattleRoom_Text_24CD33 + waitmessage + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C9:: @ 824C0C9 + compare VAR_0x400F, 3 + goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C105 + switch VAR_0x400E + case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C158 + case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C161 + case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C158 + case 4, BattleFrontier_BattleDomeBattleRoom_EventScript_24C161 + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C105:: @ 824C105 + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD + switch VAR_RESULT + case 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24C13C + case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C143 + case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C14A + case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C151 + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C13C:: @ 824C13C + message BattleFrontier_BattleDomeBattleRoom_Text_24CD72 + waitmessage + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C143:: @ 824C143 + message BattleFrontier_BattleDomeBattleRoom_Text_24CD8C + waitmessage + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C14A:: @ 824C14A + message BattleFrontier_BattleDomeBattleRoom_Text_24CDB3 + waitmessage + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C151:: @ 824C151 + message BattleFrontier_BattleDomeBattleRoom_Text_24CDDE + waitmessage + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C158:: @ 824C158 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CEBE, 4 + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C161:: @ 824C161 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D232, 4 + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C16A:: @ 824C16A + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD + switch VAR_RESULT + case 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1A1 + case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1A8 + case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1AF + case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1B6 + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C1A1:: @ 824C1A1 + message BattleFrontier_BattleDomeBattleRoom_Text_24CE10 + waitmessage + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C1A8:: @ 824C1A8 + message BattleFrontier_BattleDomeBattleRoom_Text_24CE33 + waitmessage + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C1AF:: @ 824C1AF + message BattleFrontier_BattleDomeBattleRoom_Text_24CE57 + waitmessage + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C1B6:: @ 824C1B6 + message BattleFrontier_BattleDomeBattleRoom_Text_24CE94 + waitmessage + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD:: @ 824C1BD + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C1CB:: @ 824C1CB + switch VAR_0x400E + case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1FC + case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C209 + case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1FC + case 4, BattleFrontier_BattleDomeBattleRoom_EventScript_24C209 + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C1FC:: @ 824C1FC + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CEDE, 4 + goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C211 + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C209:: @ 824C209 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D26C, 4 + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C211:: @ 824C211 + closemessage + applymovement 2, BattleFrontier_BattleDomeBattleRoom_Movement_24C94B + applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_24C7F9 + applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C78E + playse SE_W227B + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + waitse + playse SE_W227B + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + waitse + playse SE_W227B + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + waitse + playse SE_W227B + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + waitse + playse SE_W227B + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + waitse + waitmovement 0 + message BattleFrontier_BattleDomeBattleRoom_Text_24CF7A + waitmessage + playse SE_W227B + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + waitse + switch VAR_0x400E + case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C346 + case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9 + case 4, BattleFrontier_BattleDomeBattleRoom_EventScript_24C373 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 7 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CFAE, 4 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 7 + special sub_81A1780 + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9:: @ 824C2B9 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0D9, 4 + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C400 + switch VAR_RESULT + case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C420 + case 9, BattleFrontier_BattleDomeBattleRoom_EventScript_24C420 + case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C436 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0F6, 4 + setvar VAR_0x8004, 12 + setvar VAR_0x8005, 1 + special sub_818E9AC + setvar VAR_0x8004, 12 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62 + closemessage + applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C82B + waitmovement 0 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D172, 4 + playfanfare MUS_ME_SYMBOLGET + message BattleFrontier_BattleDomeBattleRoom_Text_24D1AA + waitmessage + waitfanfare + setvar VAR_0x8004, 13 + special sub_81A1780 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D1E0, 4 + goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62 + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C346:: @ 824C346 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 7 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C373 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D319, 4 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 7 + special sub_81A1780 + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C373:: @ 824C373 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D43E, 4 + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C400 + switch VAR_RESULT + case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C420 + case 9, BattleFrontier_BattleDomeBattleRoom_EventScript_24C420 + case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C436 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0F6, 4 + setvar VAR_0x8004, 12 + setvar VAR_0x8005, 1 + special sub_818E9AC + setvar VAR_0x8004, 12 + special sub_81A1780 + compare VAR_RESULT, 2 + goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62 + closemessage + applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C82B + waitmovement 0 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D47F, 4 + playfanfare MUS_ME_SYMBOLGET + message BattleFrontier_BattleDomeBattleRoom_Text_24D522 + waitmessage + waitfanfare + setvar VAR_0x8004, 13 + special sub_81A1780 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D54D, 4 + goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62 + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C400:: @ 824C400 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D677, 4 + closemessage + applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C787 + applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C829 + waitmovement 0 + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C440 + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C420:: @ 824C420 + msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D127, 4 + playse SE_W227B + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E + waitse + goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BE8D + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C436:: @ 824C436 + setvar VAR_0x4002, 2 + goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BDF7 + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C440:: @ 824C440 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 6 + setvar VAR_0x8006, 0 + special sub_81A1780 + special HealPlayerParty + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 0 + setvar VAR_0x4009, 1 + special sub_8163AC4 + waitstate + setvar VAR_0x4009, 0 + setvar VAR_0x8004, 17 + special sub_818E9AC + special HealPlayerParty + setvar VAR_0x8004, 16 + special sub_818E9AC + return + +BattleFrontier_BattleDomeBattleRoom_MapScript2_24C481: @ 824C481 + map_script_2 VAR_0x4001, 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24C48B + .2byte 0 + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C48B:: @ 824C48B + hideobjectat 13, BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C502 + call BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC + setvar VAR_0x4001, 1 + applymovement 255, BattleFrontier_BattleDomeBattleRoom_Movement_24C773 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + compare VAR_RESULT, 3 + goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF + setvar VAR_0x8004, 9 + special sub_81A1780 + copyvar VAR_0x400E, VAR_RESULT + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF + call BattleFrontier_BattleDomeBattleRoom_EventScript_242170 + setobjectxyperm 15, 13, 9 + removeobject 15 + addobject 15 + applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C78B + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF:: @ 824C4EF + end + +BattleFrontier_BattleDomeBattleRoom_MapScript1_24C4F0: @ 824C4F0 + compare VAR_0x4009, 1 + call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C4FC + end + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C4FC:: @ 824C4FC + call BattleFrontier_BattleDomeBattleRoom_EventScript_24C502 + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C502:: @ 824C502 + compare VAR_0x400F, 0 + call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C52F + compare VAR_0x400F, 1 + call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C530 + compare VAR_0x400F, 2 + call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C594 + compare VAR_0x400F, 3 + call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C652 + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C52F:: @ 824C52F + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C530:: @ 824C530 + createvobject 46, 1, 3, 0, 3, 1 + createvobject 22, 4, 6, 0, 3, 1 + createvobject 5, 6, 8, 0, 3, 1 + createvobject 12, 9, 11, 0, 3, 1 + createvobject 46, 11, 13, 0, 3, 1 + createvobject 66, 13, 15, 0, 3, 1 + createvobject 45, 19, 7, 1, 3, 1 + createvobject 34, 22, 11, 1, 3, 1 + createvobject 11, 25, 15, 1, 3, 1 + createvobject 35, 26, 2, 2, 3, 1 + createvobject 38, 29, 5, 1, 3, 1 + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C594:: @ 824C594 + createvobject 46, 1, 3, 0, 3, 1 + createvobject 22, 4, 6, 0, 3, 1 + createvobject 5, 6, 8, 0, 3, 1 + createvobject 20, 7, 9, 0, 3, 1 + createvobject 12, 9, 11, 0, 3, 1 + createvobject 47, 10, 12, 0, 3, 1 + createvobject 46, 11, 13, 0, 3, 1 + createvobject 66, 13, 15, 0, 3, 1 + createvobject 48, 15, 2, 1, 3, 1 + createvobject 5, 16, 3, 1, 3, 1 + createvobject 20, 17, 4, 1, 3, 1 + createvobject 45, 19, 7, 1, 3, 1 + createvobject 22, 20, 9, 1, 3, 1 + createvobject 34, 22, 11, 1, 3, 1 + createvobject 46, 23, 13, 1, 3, 1 + createvobject 11, 25, 15, 1, 3, 1 + createvobject 35, 26, 2, 2, 3, 1 + createvobject 40, 28, 5, 2, 3, 1 + createvobject 38, 29, 5, 1, 3, 1 + createvobject 83, 30, 6, 2, 3, 1 + createvobject 34, 31, 8, 2, 3, 1 + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C652:: @ 824C652 + createvobject 5, 0, 2, 0, 3, 1 + createvobject 46, 1, 3, 0, 3, 1 + createvobject 45, 2, 15, 0, 3, 1 + createvobject 66, 3, 5, 0, 3, 1 + createvobject 22, 4, 6, 0, 3, 1 + createvobject 46, 5, 7, 0, 3, 1 + createvobject 5, 6, 8, 0, 3, 1 + createvobject 20, 7, 9, 0, 3, 1 + createvobject 24, 8, 10, 0, 3, 1 + createvobject 12, 9, 11, 0, 3, 1 + createvobject 47, 10, 12, 0, 3, 1 + createvobject 46, 11, 13, 0, 3, 1 + createvobject 45, 12, 14, 0, 3, 1 + createvobject 66, 13, 15, 2, 3, 1 + createvobject 55, 14, 12, 2, 3, 1 + createvobject 48, 15, 2, 1, 3, 1 + createvobject 5, 16, 3, 1, 3, 1 + createvobject 20, 17, 4, 1, 3, 1 + createvobject 24, 18, 6, 1, 3, 1 + createvobject 45, 19, 7, 1, 3, 1 + createvobject 22, 20, 9, 1, 3, 1 + createvobject 23, 21, 10, 1, 3, 1 + createvobject 34, 22, 11, 1, 3, 1 + createvobject 46, 23, 13, 1, 3, 1 + createvobject 48, 24, 14, 1, 3, 1 + createvobject 11, 25, 15, 1, 3, 1 + createvobject 35, 26, 2, 2, 3, 1 + createvobject 17, 27, 3, 2, 3, 1 + createvobject 40, 28, 5, 2, 3, 1 + createvobject 38, 29, 5, 1, 3, 1 + createvobject 83, 30, 6, 2, 3, 1 + createvobject 34, 31, 8, 2, 3, 1 + return + +BattleFrontier_BattleArenaBattleRoom_Movement_24C773: @ 824C773 +BattleFrontier_BattleDomeBattleRoom_Movement_24C773: @ 824C773 + step_54 + step_end + +BattleFrontier_BattleDomeBattleRoom_Movement_24C775: @ 824C775 + step_55 + step_14 + step_up + step_up + step_up + step_right + +BattleFrontier_BattleDomeBattleRoom_Movement_24C77B: @ 824C77B + step_right + step_end + +BattleFrontier_BattleDomeBattleRoom_Movement_24C77D: @ 824C77D + step_up + step_end + +BattleFrontier_BattleDomeBattleRoom_Movement_24C77F: @ 824C77F + step_55 + step_14 + step_up + step_up + step_up + step_right + step_right + step_end + +BattleFrontier_BattleDomeBattleRoom_Movement_24C787: @ 824C787 + step_right + step_end + +BattleFrontier_BattleDomeBattleRoom_Movement_24C789: @ 824C789 + step_left + step_end + +BattleFrontier_BattleDomeBattleRoom_Movement_24C78B: @ 824C78B + step_01 + step_54 + step_end + +BattleFrontier_BattleDomeBattleRoom_Movement_24C78E: @ 824C78E + step_55 + step_up + step_up + step_up + step_02 + step_13 + step_12 + step_00 + step_13 + step_12 + step_03 + step_13 + step_12 + step_01 + step_13 + step_12 + step_02 + step_14 + step_16 + step_16 + step_02 + step_13 + step_12 + step_00 + step_13 + step_12 + step_03 + step_13 + step_12 + step_01 + step_13 + step_12 + step_02 + fast_step_left + step_41 + step_01 + step_40 + fast_step_left + fast_step_left + step_41 + step_03 + step_40 + fast_step_left + step_41 + step_00 + step_11 + step_02 + step_13 + step_12 + step_01 + step_13 + step_12 + step_03 + step_13 + step_12 + step_00 + step_13 + step_12 + step_02 + step_12 + step_01 + step_12 + step_03 + step_12 + step_00 + step_12 + step_02 + step_11 + step_01 + step_11 + step_03 + step_11 + step_00 + step_11 + step_02 + step_40 + step_right + slow_step_right + step_right + slow_step_right + step_41 + step_01 + step_14 + step_47 + step_47 + step_14 + step_right + step_right + step_right + step_47 + step_14 + step_right + step_down + step_down + step_02 + step_11 + step_01 + step_11 + step_03 + step_11 + step_00 + step_11 + step_02 + step_12 + step_left + step_left + step_end + +BattleFrontier_BattleDomeBattleRoom_Movement_24C7F9: @ 824C7F9 + step_14 + step_14 + step_left + step_left + step_28 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_right + step_right + step_25 + step_end + +BattleFrontier_BattleDomeBattleRoom_Movement_24C829: @ 824C829 + step_left + step_end + +BattleFrontier_BattleDomeBattleRoom_Movement_24C82B: @ 824C82B + step_left + step_left + step_end + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E:: @ 824C82E + turnvobject 0, 4 + turnvobject 2, 4 + turnvobject 4, 4 + turnvobject 6, 4 + turnvobject 8, 4 + turnvobject 10, 3 + turnvobject 12, 3 + turnvobject 14, 3 + turnvobject 16, 3 + turnvobject 18, 3 + turnvobject 20, 4 + turnvobject 22, 4 + turnvobject 24, 4 + turnvobject 26, 4 + turnvobject 28, 4 + turnvobject 30, 4 + delay 20 + turnvobject 0, 1 + turnvobject 2, 1 + turnvobject 4, 1 + turnvobject 6, 1 + turnvobject 8, 1 + turnvobject 10, 1 + turnvobject 12, 1 + turnvobject 14, 1 + turnvobject 16, 1 + turnvobject 18, 1 + turnvobject 20, 1 + turnvobject 22, 1 + turnvobject 24, 1 + turnvobject 26, 1 + turnvobject 28, 1 + turnvobject 30, 1 + delay 20 + turnvobject 1, 4 + turnvobject 3, 4 + turnvobject 5, 4 + turnvobject 7, 4 + turnvobject 9, 4 + turnvobject 11, 3 + turnvobject 13, 3 + turnvobject 15, 3 + turnvobject 17, 3 + turnvobject 19, 3 + turnvobject 21, 4 + turnvobject 23, 4 + turnvobject 25, 4 + turnvobject 27, 3 + turnvobject 31, 3 + delay 20 + turnvobject 1, 1 + turnvobject 3, 1 + turnvobject 5, 1 + turnvobject 7, 1 + turnvobject 9, 1 + turnvobject 11, 1 + turnvobject 13, 1 + turnvobject 15, 1 + turnvobject 17, 1 + turnvobject 19, 1 + turnvobject 21, 1 + turnvobject 23, 1 + turnvobject 25, 1 + turnvobject 27, 1 + turnvobject 31, 1 + delay 20 + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C8F5:: @ 824C8F5 +BattleFrontier_BattleDomePreBattleRoom_EventScript_24C8F5:: @ 824C8F5 + copyvar VAR_RESULT, VAR_0x40CE + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24C90F + warp BATTLE_FRONTIER_BATTLE_DOME_LOBBY, 255, 5, 11 + waitstate + end + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24C90F:: @ 824C90F + warp BATTLE_FRONTIER_BATTLE_DOME_LOBBY, 255, 17, 11 + waitstate + end + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C919:: @ 824C919 + random 2 + copyvar VAR_0x400D, VAR_RESULT + compare VAR_0x400D, 0 + goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_27374E + setobjectxyperm 6, 2, 0 + setobjectmovementtype 6, 10 + return + +BattleFrontier_BattleDomeBattleRoom_EventScript_24C938:: @ 824C938 + compare VAR_0x400D, 0 + goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_27374E + applymovement 6, BattleFrontier_BattleDomeBattleRoom_Movement_24C95E + return + +BattleFrontier_BattleDomeBattleRoom_Movement_24C94B: @ 824C94B + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_13 + step_51 + step_46 + step_12 + step_46 + step_50 + step_end + +BattleFrontier_BattleDomeBattleRoom_Movement_24C95E: @ 824C95E + step_down + step_down + step_right + step_right + step_25 + step_end + +BattleFrontier_BattleDomeBattleRoom_Movement_24C964: @ 824C964 + step_right + step_right + step_right + step_right + step_end + +BattleFrontier_BattleDomeBattleRoom_Movement_24C969: @ 824C969 + step_27 + step_end + +BattleFrontier_BattleDomeBattleRoom_Movement_24C96B: @ 824C96B + step_left + step_left + step_left + step_left + step_end + +BattleFrontier_BattleDomeBattleRoom_Text_24C970: @ 824C970 + .string "{PLAYER} has entered the BATTLE DOME!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24C990: @ 824C990 + .string "{STR_VAR_1}\n" + .string "match!\p" + .string "{PLAYER} versus {STR_VAR_2}!\p" + .string "Let the battle begin!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24C9BE: @ 824C9BE + .string "{PLAYER} is the winner!\n" + .string "Congratulations!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24C9E1: @ 824C9E1 + .string "{STR_VAR_2} is the winner!\n" + .string "Congratulations!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CA04: @ 824CA04 + .string "{PLAYER} is the Level 50\n" + .string "Battle Tournament Champion!\p" + .string "Congratulations!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CA44: @ 824CA44 + .string "{PLAYER} is the Open Level\n" + .string "Battle Tournament Champion!\p" + .string "Congratulations!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CA86: @ 824CA86 + .string "What an unbelievable finish!\n" + .string "We have a double knockout!\p" + .string "In this event, the Battle Tournament\n" + .string "rules call for a REFEREE’S decision.\p" + .string "Please wait while the judging\n" + .string "is under way.$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CB34: @ 824CB34 + .string "The REFEREES have reached\n" + .string "a decision!\p" + .string "The winner is…\n" + .string "Oh, my goodness!\l" + .string "The winner is {STR_VAR_1}!\l" + .string "Congratulations!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CB9D: @ 824CB9D + .string "The REFEREES have reached\n" + .string "a decision!\p" + .string "The winner is…\n" + .string "Oh, my goodness!\l" + .string "The winner is {PLAYER}!\l" + .string "Congratulations!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CC06: @ 824CC06 + .string "The bright new hope!\p" + .string "$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CC1C: @ 824CC1C + .string "The rising star!\p" + .string "$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CC2E: @ 824CC2E + .string "Will this TRAINER race to\n" + .string "the championship?\p" + .string "$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CC5B: @ 824CC5B + .string "Can the feat of a championship\n" + .string "on the first try be achieved?\p" + .string "$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CC99: @ 824CC99 + .string "Can the loss of the last match\n" + .string "be avenged?\p" + .string "$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CCC5: @ 824CCC5 + .string "The TRAINER is on fire for\n" + .string "the first championship try!\p" + .string "$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CCFD: @ 824CCFD + .string "A win here means this TRAINER\n" + .string "advances to the final!\p" + .string "$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CD33: @ 824CD33 + .string "Will the long-held dream of\n" + .string "a championship finally come true?\p" + .string "$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CD72: @ 824CD72 + .string "The invincible champion!\p" + .string "$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CD8C: @ 824CD8C + .string "Can anyone hope to beat this\n" + .string "TRAINER?\p" + .string "$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CDB3: @ 824CDB3 + .string "Do battles exist solely for\n" + .string "this TRAINER?\p" + .string "$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CDDE: @ 824CDDE + .string "The current champion aiming to\n" + .string "retain the title!\p" + .string "$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CE10: @ 824CE10 + .string "The former champion has returned!\p" + .string "$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CE33: @ 824CE33 + .string "The former toughness has returned!\p" + .string "$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CE57: @ 824CE57 + .string "Will this TRAINER do as expected\n" + .string "and advance to the finals?\p" + .string "$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CE94: @ 824CE94 + .string "Will the former champ regain\n" + .string "lost glory?\p" + .string "$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CEBE: @ 824CEBE + .string "Feel the glow of a true master!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CEDE: @ 824CEDE + .string "And now… The TRAINER standing in\n" + .string "{PLAYER}’s record-setting path…\p" + .string "Yes! The one and only!\n" + .string "The BATTLE DOME COMMISSIONER!\l" + .string "Our very own DOME ACE!\l" + .string "Make way for TUCKER!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CF7A: @ 824CF7A + .string "Spectators: TUCKER! TUCKER!\n" + .string "TUCKER! TUCKER! TUCKER!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24CFAE: @ 824CFAE + .string "TUCKER: Ahahah!\p" + .string "Do you hear it? This crowd!\n" + .string "They’re all itching to see our match!\p" + .string "Ahahah!\p" + .string "I bet you’re twitching all over from\n" + .string "the tension of getting to battle me!\p" + .string "But don’t you worry about a thing!\p" + .string "I’m the no. 1 star of the BATTLE DOME!\n" + .string "I, TUCKER the DOME ACE, will bathe you\l" + .string "in my brilliant glow!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24D0D9: @ 824D0D9 + .string "Your strategy!\n" + .string "Let’s see it!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24D0F6: @ 824D0F6 + .string "Unbelievable! It’s incredible!\n" + .string "The victor is {PLAYER}!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24D127: @ 824D127 + .string "The winner is TUCKER!\n" + .string "The DOME ACE has prevailed!\p" + .string "Congratulations, TUCKER!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24D172: @ 824D172 + .string "TUCKER: Rules are rules!\n" + .string "Let me see your FRONTIER PASS.$" + +BattleFrontier_BattleDomeBattleRoom_Text_24D1AA: @ 824D1AA + .string "The Tactics Symbol was embossed on\n" + .string "the FRONTIER PASS!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24D1E0: @ 824D1E0 + .string "… … … … … …\p" + .string "I sorely underestimated you. I won’t\n" + .string "make the same mistake next time…$" + +BattleFrontier_BattleDomeBattleRoom_Text_24D232: @ 824D232 + .string "Can the win streak be stretched?\n" + .string "The confidence is there!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24D26C: @ 824D26C + .string "Ladies and gentlemen!\n" + .string "Boys, girls, and POKéMON!\p" + .string "Finally!\n" + .string "Finally, the legend has returned!\p" + .string "Yes, the name of that legend!\n" + .string "Our very own DOME ACE!\l" + .string "It’s none other than TUCKER!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24D319: @ 824D319 + .string "TUCKER: Ah…\n" + .string "The pummeling roar of the crowd…\l" + .string "Their furnace-like heat of excitement…\l" + .string "This is a wonderful place…\p" + .string "To the crowd, I am the DOME ACE…\n" + .string "I represent their hopes and dreams…\l" + .string "I must never fade from their sight…\p" + .string "I must burn!\n" + .string "Brighter and more brilliant!\l" + .string "I must light all that gather here!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24D43E: @ 824D43E + .string "I will unleash all the power that\n" + .string "I possess! Right here and now!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24D47F: @ 824D47F + .string "TUCKER: You’re genuinely fantastic!\p" + .string "Never before! I haven’t ever lost in the\n" + .string "times I’ve had to unleash my power.\p" + .string "Yes, quite fantastic!\n" + .string "Your FRONTIER PASS, please?$" + +BattleFrontier_BattleDomeBattleRoom_Text_24D522: @ 824D522 + .string "The Tactics Symbol took on\n" + .string "a golden shine!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24D54D: @ 824D54D + .string "You’re strong, but above all,\n" + .string "you have a unique charm!\p" + .string "In you, I see a definite potential for\n" + .string "a superstar like me.\p" + .string "I will very much look forward to\n" + .string "our next encounter!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24D5F5: @ 824D5F5 + .string "{PLAYER} is the Level 50\n" + .string "Battle Tournament Champion!\p" + .string "Congratulations!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24D635: @ 824D635 + .string "{PLAYER} is the Open Level\n" + .string "Battle Tournament Champion!\p" + .string "Congratulations!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24D677: @ 824D677 + .string "The final match!\p" + .string "{PLAYER} versus the DOME ACE, TUCKER!\p" + .string "Let the battle begin!$" + +BattleFrontier_BattleDomeBattleRoom_Text_24D6BE: @ 824D6BE + .string "The REFEREES have reached\n" + .string "a decision!\p" + .string "The winner is…\n" + .string "Oh, my goodness!\l" + .string "The winner is our very own DOME ACE!\l" + .string "It’s TUCKER!\p" + .string "Congratulations! And thank you!\n" + .string "Let’s hear it for the DOME ACE, TUCKER!$" diff --git a/data/scripts/maps/BattleFrontier_BattleDomeCorridor.inc b/data/scripts/maps/BattleFrontier_BattleDomeCorridor.inc new file mode 100644 index 0000000000..9cb4f31873 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattleDomeCorridor.inc @@ -0,0 +1,152 @@ +BattleFrontier_BattleDomeCorridor_MapScripts:: @ 824B0FE + map_script 2, BattleFrontier_BattleDomeCorridor_MapScript2_24B104 + .byte 0 + +BattleFrontier_BattleDomeCorridor_MapScript2_24B104: @ 824B104 + map_script_2 VAR_0x4000, 0, BattleFrontier_BattleDomeCorridor_EventScript_24B10E + .2byte 0 + +BattleFrontier_BattleDomeCorridor_EventScript_24B10E:: @ 824B10E + delay 16 + setvar VAR_0x4000, 1 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + special sub_81A1780 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleDomeCorridor_EventScript_24B161 + applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1B2 + applymovement 255, BattleFrontier_BattleDomeCorridor_Movement_24B1A1 + waitmovement 0 + opendoor 13, 3 + waitdooranim + applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1BE + applymovement 255, BattleFrontier_BattleDomeCorridor_Movement_24B1AE + waitmovement 0 + closedoor 13, 3 + waitdooranim + goto BattleFrontier_BattleDomeCorridor_EventScript_24B18F + +BattleFrontier_BattleDomeCorridor_EventScript_24B161:: @ 824B161 + applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1D6 + applymovement 255, BattleFrontier_BattleDomeCorridor_Movement_24B1C1 + waitmovement 0 + opendoor 37, 3 + waitdooranim + applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1E6 + applymovement 255, BattleFrontier_BattleDomeCorridor_Movement_24B1D2 + waitmovement 0 + closedoor 37, 3 + waitdooranim + +BattleFrontier_BattleDomeCorridor_EventScript_24B18F:: @ 824B18F + waitmovement 0 + setvar VAR_0x8006, 0 + warp BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM, 255, 5, 7 + waitstate + end + +BattleFrontier_BattleDomeCorridor_Movement_24B1A1: @ 824B1A1 + step_up + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_26 + step_end + +BattleFrontier_BattleDomeCorridor_Movement_24B1AE: @ 824B1AE + step_up + step_up + step_54 + step_end + +BattleFrontier_BattleDomeCorridor_Movement_24B1B2: @ 824B1B2 + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_up + step_end + +BattleFrontier_BattleDomeCorridor_Movement_24B1BE: @ 824B1BE + step_up + step_54 + step_end + +BattleFrontier_BattleDomeCorridor_Movement_24B1C1: @ 824B1C1 + step_up + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_26 + step_end + +BattleFrontier_BattleDomeCorridor_Movement_24B1D2: @ 824B1D2 + step_up + step_up + step_54 + step_end + +BattleFrontier_BattleDomeCorridor_Movement_24B1D6: @ 824B1D6 + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_up + step_end + +BattleFrontier_BattleDomeCorridor_Movement_24B1E6: @ 824B1E6 + step_up + step_54 + step_end + +BattleFrontier_BattleDomeCorridor_Movement_24B1E9: @ 824B1E9 + step_up + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_up + step_up + step_54 + step_end diff --git a/data/scripts/maps/BattleFrontier_BattleDomeLobby.inc b/data/scripts/maps/BattleFrontier_BattleDomeLobby.inc new file mode 100644 index 0000000000..33b5654d07 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattleDomeLobby.inc @@ -0,0 +1,777 @@ +BattleFrontier_BattleDomeLobby_MapScripts:: @ 82497E2 + map_script 5, BattleFrontier_BattleDomeLobby_MapScript1_2497F2 + map_script 2, BattleFrontier_BattleDomeLobby_MapScript2_24980F + map_script 4, BattleFrontier_BattleDomeLobby_MapScript2_2497FB + .byte 0 + +BattleFrontier_BattleDomeLobby_MapScript1_2497F2: @ 82497F2 + setvar VAR_0x8004, 21 + special sub_818E9AC + end + +BattleFrontier_BattleDomeLobby_MapScript2_2497FB: @ 82497FB +BattleFrontier_BattlePyramidLobby_MapScript2_2497FB: @ 82497FB + map_script_2 VAR_0x4001, 0, BattleFrontier_BattleDomeLobby_EventScript_249805 + .2byte 0 + +BattleFrontier_BattleDomeLobby_EventScript_249805:: @ 8249805 + setvar VAR_0x4001, 1 + turnobject 255, 2 + end + +BattleFrontier_BattleDomeLobby_MapScript2_24980F: @ 824980F + map_script_2 VAR_0x4000, 0, BattleFrontier_BattleDomeLobby_EventScript_249839 + map_script_2 VAR_0x4000, 1, BattleFrontier_BattleDomeLobby_EventScript_249842 + map_script_2 VAR_0x4000, 2, BattleFrontier_BattleDomeLobby_EventScript_2499F9 + map_script_2 VAR_0x4000, 3, BattleFrontier_BattleDomeLobby_EventScript_24989B + map_script_2 VAR_0x4000, 4, BattleFrontier_BattleDomeLobby_EventScript_249940 + .2byte 0 + +BattleFrontier_BattleDomeLobby_EventScript_249839:: @ 8249839 + setvar VAR_0x8004, 0 + special sub_81A1780 + end + +BattleFrontier_BattleDomeLobby_EventScript_249842:: @ 8249842 + lockall + msgbox BattleFrontier_BattleDomeLobby_Text_24A45F, 4 + closemessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_818E9AC + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 0 + special sub_818E9AC + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 6 + setvar VAR_0x8006, 1 + special sub_818E9AC + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x4000, 255 + releaseall + end + +BattleFrontier_BattleDomeLobby_EventScript_24989B:: @ 824989B + call BattleFrontier_BattleDomeLobby_EventScript_241EBA + lockall + setvar VAR_0x8004, 10 + special sub_81A1780 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleDomeLobby_EventScript_2498C1 + msgbox BattleFrontier_BattleDomeLobby_Text_24A4E9, 4 + goto BattleFrontier_BattleDomeLobby_EventScript_2498C9 + +BattleFrontier_BattleDomeLobby_EventScript_2498C1:: @ 82498C1 + msgbox BattleFrontier_BattleDomeLobby_Text_24AD67, 4 + +BattleFrontier_BattleDomeLobby_EventScript_2498C9:: @ 82498C9 + msgbox BattleFrontier_BattleDomeLobby_Text_24ADB1, 4 + setvar VAR_0x8004, 11 + special sub_81A1780 + msgbox BattleFrontier_BattleDomeLobby_Text_241520, 9 + message BattleFrontier_BattleDomeLobby_Text_24A5D6 + waitmessage + special copy_player_party_from_sav1 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 3 + special sub_81A1780 + setvar VAR_0x8004, 8 + special sub_81A1780 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 6 + setvar VAR_0x8006, 1 + special sub_818E9AC + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 7 + setvar VAR_0x8006, 1 + special sub_818E9AC + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 1 + special sub_818E9AC + special copy_player_party_from_sav1 + special HealPlayerParty + goto BattleFrontier_BattleDomeLobby_EventScript_249991 + +BattleFrontier_BattleDomeLobby_EventScript_249940:: @ 8249940 + lockall + msgbox BattleFrontier_BattleDomeLobby_Text_24A5BF, 4 + message BattleFrontier_BattleDomeLobby_Text_24A5D6 + waitmessage + special copy_player_party_from_sav1 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 3 + special sub_81A1780 + setvar VAR_0x8004, 8 + special sub_81A1780 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 0 + special sub_818E9AC + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 6 + setvar VAR_0x8006, 1 + special sub_818E9AC + special copy_player_party_from_sav1 + special HealPlayerParty + +BattleFrontier_BattleDomeLobby_EventScript_249991:: @ 8249991 + setvar VAR_0x8004, 13 + setvar VAR_0x8005, 0 + special sub_818E9AC + playse SE_SAVE + waitse + call BattleFrontier_BattleDomeLobby_EventScript_23E8E0 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleDomeLobby_EventScript_2499E9 + message BattleFrontier_BattleDomeLobby_Text_24AE17 + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattleDomeLobby_EventScript_2499E9 + case 0, BattleFrontier_BattleDomeLobby_EventScript_2499E4 + case 127, BattleFrontier_BattleDomeLobby_EventScript_2499E9 + +BattleFrontier_BattleDomeLobby_EventScript_2499E4:: @ 82499E4 + call BattleFrontier_BattleDomeLobby_EventScript_23E8B4 + +BattleFrontier_BattleDomeLobby_EventScript_2499E9:: @ 82499E9 + msgbox BattleFrontier_BattleDomeLobby_Text_249F74, 4 + closemessage + setvar VAR_0x4000, 255 + releaseall + end + +BattleFrontier_BattleDomeLobby_EventScript_2499F9:: @ 82499F9 + lockall + msgbox BattleFrontier_BattleDomeLobby_Text_24A5FE, 4 + message BattleFrontier_BattleDomeLobby_Text_24A61A + waitmessage + setvar VAR_0x8004, 13 + setvar VAR_0x8005, 1 + special sub_818E9AC + playse SE_SAVE + waitse + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x4000, 255 + goto BattleFrontier_BattleDomeLobby_EventScript_249BC2 + +BattleFrontier_BattleDomeLobby_EventScript_249A35:: @ 8249A35 + lock + faceplayer + setvar VAR_FRONTIER_FACILITY, 1 + setvar VAR_0x40CE, 0 + goto BattleFrontier_BattleDomeLobby_EventScript_249A59 + end + +BattleFrontier_BattleDomeLobby_EventScript_249A47:: @ 8249A47 + lock + faceplayer + setvar VAR_FRONTIER_FACILITY, 1 + setvar VAR_0x40CE, 1 + goto BattleFrontier_BattleDomeLobby_EventScript_249A59 + end + +BattleFrontier_BattleDomeLobby_EventScript_249A59:: @ 8249A59 + special copy_player_party_to_sav1 + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CFD + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D06 + +BattleFrontier_BattleDomeLobby_EventScript_249A72:: @ 8249A72 + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D0F + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D15 + waitmessage + multichoice 17, 6, 23, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattleDomeLobby_EventScript_249ABF + case 1, BattleFrontier_BattleDomeLobby_EventScript_249BFA + case 2, BattleFrontier_BattleDomeLobby_EventScript_249C64 + case 127, BattleFrontier_BattleDomeLobby_EventScript_249C64 + +BattleFrontier_BattleDomeLobby_EventScript_249ABF:: @ 8249ABF + message BattleFrontier_BattleDomeLobby_Text_24A210 + waitmessage + multichoice 17, 6, 24, 0 + switch VAR_RESULT + case 2, BattleFrontier_BattleDomeLobby_EventScript_249C64 + case 127, BattleFrontier_BattleDomeLobby_EventScript_249C64 + setvar VAR_0x8004, 15 + special sub_81A1780 + compare VAR_0x8004, 1 + goto_eq BattleFrontier_BattleDomeLobby_EventScript_249C15 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A1780 + msgbox BattleFrontier_BattleDomeLobby_Text_24A26E, 4 + fadescreen 1 + call BattleFrontier_BattleDomeLobby_EventScript_23F2B7 + copyvar VAR_0x8004, VAR_RESULT + setvar VAR_0x8005, 3 + special sub_80F9490 + waitstate + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleDomeLobby_EventScript_249C61 + msgbox BattleFrontier_BattleDomeLobby_Text_24A1C6, 5 + switch VAR_RESULT + case 0, BattleFrontier_BattleDomeLobby_EventScript_249C61 + case 1, BattleFrontier_BattleDomeLobby_EventScript_249B60 + case 127, BattleFrontier_BattleDomeLobby_EventScript_249C61 + +BattleFrontier_BattleDomeLobby_EventScript_249B60:: @ 8249B60 + setvar VAR_0x4000, 0 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 4 + special sub_81A1780 + setvar VAR_0x8004, 0 + special sub_818E9AC + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 1 + special sub_81A1780 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + special copy_player_party_from_sav1 + closemessage + delay 2 + call BattleFrontier_BattleDomeLobby_EventScript_27134F + setvar VAR_0x4000, 255 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleDomeLobby_EventScript_249C4A + setvar VAR_0x8004, 22 + special sub_818E9AC + +BattleFrontier_BattleDomeLobby_EventScript_249BC2:: @ 8249BC2 + special copy_player_party_to_sav1 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 3 + special sub_81A1780 + setvar VAR_0x8004, 15 + special sub_818E9AC + msgbox BattleFrontier_BattleDomeLobby_Text_24A437, 4 + closemessage + call BattleFrontier_BattleDomeLobby_EventScript_249C6E + special HealPlayerParty + warp BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR, 255, 23, 6 + setvar VAR_0x4000, 0 + waitstate + end + +BattleFrontier_BattleDomeLobby_EventScript_249BFA:: @ 8249BFA + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D1B + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D24 + goto BattleFrontier_BattleDomeLobby_EventScript_249A72 + +BattleFrontier_BattleDomeLobby_EventScript_249C15:: @ 8249C15 + switch VAR_RESULT + case 0, BattleFrontier_BattleDomeLobby_EventScript_249C30 + case 1, BattleFrontier_BattleDomeLobby_EventScript_249C3D + +BattleFrontier_BattleDomeLobby_EventScript_249C30:: @ 8249C30 + msgbox BattleFrontier_BattleDomeLobby_Text_24A353, 4 + goto BattleFrontier_BattleDomeLobby_EventScript_249C6C + +BattleFrontier_BattleDomeLobby_EventScript_249C3D:: @ 8249C3D + msgbox BattleFrontier_BattleDomeLobby_Text_24A2AB, 4 + goto BattleFrontier_BattleDomeLobby_EventScript_249C6C + +BattleFrontier_BattleDomeLobby_EventScript_249C4A:: @ 8249C4A + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + goto BattleFrontier_BattleDomeLobby_EventScript_249C64 + +BattleFrontier_BattleDomeLobby_EventScript_249C61:: @ 8249C61 + special copy_player_party_from_sav1 + +BattleFrontier_BattleDomeLobby_EventScript_249C64:: @ 8249C64 + msgbox BattleFrontier_BattleDomeLobby_Text_249F74, 4 + +BattleFrontier_BattleDomeLobby_EventScript_249C6C:: @ 8249C6C + release + end + +BattleFrontier_BattleDomeLobby_EventScript_249C6E:: @ 8249C6E + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CDD + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CE5 + applymovement 255, BattleFrontier_BattleDomeLobby_Movement_249D45 + waitmovement 0 + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D2D + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D33 + waitdooranim + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CED + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CF5 + applymovement 255, BattleFrontier_BattleDomeLobby_Movement_249D4E + waitmovement 0 + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D39 + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D3F + waitdooranim + return + +BattleFrontier_BattleDomeLobby_EventScript_249CDD:: @ 8249CDD + applymovement 1, BattleFrontier_BattleDomeLobby_Movement_249D45 + return + +BattleFrontier_BattleDomeLobby_EventScript_249CE5:: @ 8249CE5 + applymovement 6, BattleFrontier_BattleDomeLobby_Movement_249D45 + return + +BattleFrontier_BattleDomeLobby_EventScript_249CED:: @ 8249CED + applymovement 1, BattleFrontier_BattleDomeLobby_Movement_249D4B + return + +BattleFrontier_BattleDomeLobby_EventScript_249CF5:: @ 8249CF5 + applymovement 6, BattleFrontier_BattleDomeLobby_Movement_249D4B + return + +BattleFrontier_BattleDomeLobby_EventScript_249CFD:: @ 8249CFD + msgbox BattleFrontier_BattleDomeLobby_Text_249EB7, 4 + return + +BattleFrontier_BattleDomeLobby_EventScript_249D06:: @ 8249D06 + msgbox BattleFrontier_BattleDomeLobby_Text_24A664, 4 + return + +BattleFrontier_BattleDomeLobby_EventScript_249D0F:: @ 8249D0F + message BattleFrontier_BattleDomeLobby_Text_249F3A + return + +BattleFrontier_BattleDomeLobby_EventScript_249D15:: @ 8249D15 + message BattleFrontier_BattleDomeLobby_Text_24A6E7 + return + +BattleFrontier_BattleDomeLobby_EventScript_249D1B:: @ 8249D1B + msgbox BattleFrontier_BattleDomeLobby_Text_249F8E, 4 + return + +BattleFrontier_BattleDomeLobby_EventScript_249D24:: @ 8249D24 + msgbox BattleFrontier_BattleDomeLobby_Text_24A721, 4 + return + +BattleFrontier_BattleDomeLobby_EventScript_249D2D:: @ 8249D2D + opendoor 5, 4 + return + +BattleFrontier_BattleDomeLobby_EventScript_249D33:: @ 8249D33 + opendoor 17, 4 + return + +BattleFrontier_BattleDomeLobby_EventScript_249D39:: @ 8249D39 + closedoor 5, 4 + return + +BattleFrontier_BattleDomeLobby_EventScript_249D3F:: @ 8249D3F + closedoor 17, 4 + return + +BattleFrontier_BattleDomeLobby_Movement_249D45: @ 8249D45 + step_up + step_up + step_up + step_up + step_up + step_end + +BattleFrontier_BattleDomeLobby_Movement_249D4B: @ 8249D4B + step_up + step_54 + step_end + +BattleFrontier_BattleDomeLobby_Movement_249D4E: @ 8249D4E + step_up + step_up + step_54 + step_end + +BattleFrontier_BattleDomeLobby_EventScript_249D52:: @ 8249D52 + lockall + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 0 + special sub_81A1780 + waitbuttonpress + special sub_813C5A0 + releaseall + end + +BattleFrontier_BattleDomeLobby_EventScript_249D6B:: @ 8249D6B + lockall + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 1 + special sub_81A1780 + waitbuttonpress + special sub_813C5A0 + releaseall + end + +BattleFrontier_BattleDomeLobby_EventScript_249D84:: @ 8249D84 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 9 + special sub_818E9AC + compare VAR_RESULT, 0 + call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249DC9 + compare VAR_RESULT, 1 + call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249DD2 + compare VAR_RESULT, 2 + call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249DDB + compare VAR_RESULT, 3 + call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249DE4 + fadescreen 1 + setvar VAR_0x8004, 8 + special sub_818E9AC + waitstate + end + +BattleFrontier_BattleDomeLobby_EventScript_249DC9:: @ 8249DC9 + msgbox BattleFrontier_BattleDomeLobby_Text_24A966, 3 + return + +BattleFrontier_BattleDomeLobby_EventScript_249DD2:: @ 8249DD2 + msgbox BattleFrontier_BattleDomeLobby_Text_24A9A9, 3 + return + +BattleFrontier_BattleDomeLobby_EventScript_249DDB:: @ 8249DDB + msgbox BattleFrontier_BattleDomeLobby_Text_24A9EC, 3 + return + +BattleFrontier_BattleDomeLobby_EventScript_249DE4:: @ 8249DE4 + msgbox BattleFrontier_BattleDomeLobby_Text_24AA31, 3 + return + +BattleFrontier_BattleDomeLobby_EventScript_249DED:: @ 8249DED + setvar VAR_0x8004, 20 + special sub_818E9AC + msgbox BattleFrontier_BattleDomeLobby_Text_24AA76, 2 + end + +BattleFrontier_BattleDomeLobby_EventScript_249DFE:: @ 8249DFE + msgbox BattleFrontier_BattleDomeLobby_Text_24AB94, 2 + end + +BattleFrontier_BattleDomeLobby_EventScript_249E07:: @ 8249E07 + msgbox BattleFrontier_BattleDomeLobby_Text_24AC76, 2 + end + +BattleFrontier_BattleDomeLobby_EventScript_249E10:: @ 8249E10 + msgbox BattleFrontier_BattleDomeLobby_Text_24ACD3, 2 + end + +BattleFrontier_OutsideWest_EventScript_249E19:: @ 8249E19 + msgbox BattleFrontier_OutsideWest_Text_24AB06, 2 + end + +BattleFrontier_OutsideWest_EventScript_249E22:: @ 8249E22 + loadword 0, BattleFrontier_OutsideWest_Text_24AB44 + callstd 2 + end + +BattleFrontier_OutsideWest_EventScript_249E2B:: @ 8249E2B + loadword 0, BattleFrontier_OutsideWest_Text_24AB75 + callstd 2 + end + +BattleFrontier_BattleDomeLobby_EventScript_249E34:: @ 8249E34 + lockall + msgbox BattleFrontier_BattleDomeLobby_Text_24AE63, 4 + goto BattleFrontier_BattleDomeLobby_EventScript_249E43 + end + +BattleFrontier_BattleDomeLobby_EventScript_249E43:: @ 8249E43 + message BattleFrontier_BattleDomeLobby_Text_24AE8B + waitmessage + multichoice 17, 4, 98, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattleDomeLobby_EventScript_249E8B + case 1, BattleFrontier_BattleDomeLobby_EventScript_249E99 + case 2, BattleFrontier_BattleDomeLobby_EventScript_249EA7 + case 3, BattleFrontier_BattleDomeLobby_EventScript_249EB5 + case 127, BattleFrontier_BattleDomeLobby_EventScript_249EB5 + end + +BattleFrontier_BattleDomeLobby_EventScript_249E8B:: @ 8249E8B + msgbox BattleFrontier_BattleDomeLobby_Text_24AEAE, 4 + goto BattleFrontier_BattleDomeLobby_EventScript_249E43 + end + +BattleFrontier_BattleDomeLobby_EventScript_249E99:: @ 8249E99 + msgbox BattleFrontier_BattleDomeLobby_Text_24AF4C, 4 + goto BattleFrontier_BattleDomeLobby_EventScript_249E43 + end + +BattleFrontier_BattleDomeLobby_EventScript_249EA7:: @ 8249EA7 + msgbox BattleFrontier_BattleDomeLobby_Text_24B073, 4 + goto BattleFrontier_BattleDomeLobby_EventScript_249E43 + end + +BattleFrontier_BattleDomeLobby_EventScript_249EB5:: @ 8249EB5 + releaseall + end + +BattleFrontier_BattleDomeLobby_Text_249EB7: @ 8249EB7 + .string "Where the strategies of TRAINERS\n" + .string "are put to the test!\p" + .string "Welcome to the BATTLE DOME!\p" + .string "I am your guide to the SINGLE BATTLE\n" + .string "Tournament.$" + +BattleFrontier_BattleDomeLobby_Text_249F3A: @ 8249F3A + .string "Would you like to challenge\n" + .string "the SINGLE BATTLE Tournament?$" + +BattleFrontier_BattleDomeLobby_Text_249F74: @ 8249F74 + .string "We hope to see you again.$" + +BattleFrontier_BattleDomeLobby_Text_249F8E: @ 8249F8E + .string "The SINGLE BATTLE Tournament\n" + .string "is exactly as the name suggests--\l" + .string "a tournament of SINGLE BATTLES.\p" + .string "All participating TRAINERS must\n" + .string "enter three POKéMON each.\p" + .string "In each battle, one of the three\n" + .string "POKéMON must be held in reserve.\p" + .string "The other two POKéMON can battle\n" + .string "one at a time.\p" + .string "Choose the two battling POKéMON after\n" + .string "examining the opponent’s trio.\p" + .string "You win the tournament by defeating\n" + .string "four TRAINERS.\p" + .string "Battle Points are awarded to\n" + .string "the tournament winner.\p" + .string "If you want to interrupt your\n" + .string "tournament, please save the game.\p" + .string "If you don’t save before interrupting,\n" + .string "you will be disqualified.$" + +BattleFrontier_BattleDomeLobby_Text_24A1C6: @ 824A1C6 + .string "Before I show you to the BATTLE DOME,\n" + .string "I must save the data. Is that okay?$" + +BattleFrontier_BattleDomeLobby_Text_24A210: @ 824A210 + .string "The tournament offers two levels\n" + .string "of challenge, Level 50 and Open Level.\l" + .string "Which is your choice?$" + +BattleFrontier_BattleDomeLobby_Text_24A26E: @ 824A26E + .string "Now select the three POKéMON that\n" + .string "you wish to enter, please.$" + +BattleFrontier_BattleDomeLobby_Text_24A2AB: @ 824A2AB + .string "Excuse me!\p" + .string "You don’t have three eligible POKéMON.\p" + .string "Also, the POKéMON must be holding\n" + .string "different kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "Please come see me when you are ready.$" + +BattleFrontier_BattleDomeLobby_Text_24A353: @ 824A353 + .string "Excuse me!\p" + .string "You don’t have three eligible POKéMON.\p" + .string "You must have three different POKéMON\n" + .string "of Level 50 or less to enter.\p" + .string "They also must be holding different\n" + .string "kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "Please come see me when you are ready.$" + +BattleFrontier_BattleDomeLobby_Text_24A437: @ 824A437 + .string "I will now show you to\n" + .string "the BATTLE DOME.$" + +BattleFrontier_BattleDomeLobby_Text_24A45F: @ 824A45F + .string "Excuse me!\p" + .string "You didn’t save before you quit your\n" + .string "challenge last time.\p" + .string "Because of that, your challenge so far\n" + .string "has been disqualified. Sorry!$" + +BattleFrontier_BattleDomeLobby_Text_24A4E9: @ 824A4E9 + .string "Congratulations for winning\n" + .string "your Battle Tournament!$" + +BattleFrontier_BattleDomeLobby_Text_24A51D: @ 824A51D + .string "Here is your prize for your Battle\n" + .string "Tournament victory.$" + +VerdanturfTown_BattleTentLobby_Text_24A554: @ 824A554 + .string "{PLAYER} received the prize\n" + .string "{STR_VAR_1}.$" + +VerdanturfTown_BattleTentLobby_Text_24A56E: @ 824A56E + .string "Oh, your BAG appears to be full.\p" + .string "Please make room in your BAG, then come\n" + .string "see me.$" + +BattleFrontier_BattleDomeLobby_Text_24A5BF: @ 824A5BF + .string "Thank you for playing!$" + +BattleFrontier_BattleDomeLobby_Text_24A5D6: @ 824A5D6 + .string "Your record will be saved.\n" + .string "Please wait.$" + +BattleFrontier_BattleDomeLobby_Text_24A5FE: @ 824A5FE + .string "We’ve been waiting for you!$" + +BattleFrontier_BattleDomeLobby_Text_24A61A: @ 824A61A + .string "Before I show you to the BATTLE DOME,\n" + .string "I must save the data. Is that okay?$" + +BattleFrontier_BattleDomeLobby_Text_24A664: @ 824A664 + .string "Where the strategies of TRAINERS\n" + .string "are put to the test!\p" + .string "Welcome to the BATTLE DOME!\p" + .string "I am your guide to the DOUBLE BATTLE\n" + .string "Tournament.$" + +BattleFrontier_BattleDomeLobby_Text_24A6E7: @ 824A6E7 + .string "Would you like to challenge\n" + .string "the DOUBLE BATTLE Tournament?$" + +BattleFrontier_BattleDomeLobby_Text_24A721: @ 824A721 + .string "The DOUBLE BATTLE Tournament\n" + .string "is exactly as the name suggests--\l" + .string "a tournament of DOUBLE BATTLES.\p" + .string "All participating TRAINERS must\n" + .string "enter three POKéMON each.\p" + .string "In each battle, one of the three\n" + .string "POKéMON must be held in reserve.\p" + .string "The remaining two POKéMON must take\n" + .string "part in a DOUBLE BATTLE.\p" + .string "Choose the two battling POKéMON after\n" + .string "examining the opponent’s trio.\p" + .string "You win the tournament by defeating\n" + .string "four TRAINERS.\p" + .string "Battle Points are awarded to\n" + .string "the tournament winner.\p" + .string "If you want to interrupt your\n" + .string "tournament, please save the game.\p" + .string "If you don’t save before interrupting,\n" + .string "you will be disqualified.$" + +BattleFrontier_BattleDomeLobby_Text_24A966: @ 824A966 + .string "They’re the results of the last\n" + .string "Level 50 SINGLE BATTLE Tournament.$" + +BattleFrontier_BattleDomeLobby_Text_24A9A9: @ 824A9A9 + .string "They’re the results of the last\n" + .string "Level 50 DOUBLE BATTLE Tournament.$" + +BattleFrontier_BattleDomeLobby_Text_24A9EC: @ 824A9EC + .string "They’re the results of the last\n" + .string "Open Level SINGLE BATTLE Tournament.$" + +BattleFrontier_BattleDomeLobby_Text_24AA31: @ 824AA31 + .string "They’re the results of the last\n" + .string "Open Level DOUBLE BATTLE Tournament.$" + +BattleFrontier_BattleDomeLobby_Text_24AA76: @ 824AA76 + .string "Did you see it?\n" + .string "The last Battle Tournament?\p" + .string "The winner, {STR_VAR_1}, was seriously\n" + .string "tough.\p" + .string "You should check out the results\n" + .string "on the monitor beside the PC.$" + +BattleFrontier_OutsideWest_Text_24AB06: @ 824AB06 + .string "The BATTLE FRONTIER…\n" + .string "I’ve long dreamed about a place like it.$" + +BattleFrontier_OutsideWest_Text_24AB44: @ 824AB44 + .string "The BATTLE DOME\n" + .string "Become the Unbeatable Superstar!$" + +BattleFrontier_OutsideWest_Text_24AB75: @ 824AB75 + .string "The ??????\n" + .string "Under Construction!$" + +BattleFrontier_BattleDomeLobby_Text_24AB94: @ 824AB94 + .string "When a TRAINER chains tournament\n" + .string "wins at the BATTLE DOME, he or she\l" + .string "gains a reputation as a star.\p" + .string "Tough TRAINERS are drawn by that\n" + .string "reputation to the BATTLE DOME.\p" + .string "A true superstar is a TRAINER who\n" + .string "can keep winning tournaments.$" + +BattleFrontier_BattleDomeLobby_Text_24AC76: @ 824AC76 + .string "I ran into one of the tournament\n" + .string "favorites in the very first round.\p" + .string "Of course I got trashed…$" + +BattleFrontier_BattleDomeLobby_Text_24ACD3: @ 824ACD3 + .string "I would’ve won if I’d kept this POKéMON\n" + .string "held in reserve.\p" + .string "You need to check your opponent’s\n" + .string "POKéMON carefully before choosing\l" + .string "your battling POKéMON.$" + +BattleFrontier_BattleDomeLobby_Text_24AD67: @ 824AD67 + .string "Congratulations!\p" + .string "You defeated the DOME ACE and won\n" + .string "the Battle Tournament!$" + +BattleFrontier_BattleDomeLobby_Text_24ADB1: @ 824ADB1 + .string "In recognition of your strategy--\n" + .string "a thing of beauty it was, too--\l" + .string "we award you these Battle Point(s)!$" + +BattleFrontier_BattleDomeLobby_Text_24AE17: @ 824AE17 + .string "Would you like to record your\n" + .string "last BATTLE DOME match on your\l" + .string "FRONTIER PASS?$" + +BattleFrontier_BattleDomeLobby_Text_24AE63: @ 824AE63 + .string "The Battle Tournament rules\n" + .string "are listed.$" + +BattleFrontier_BattleDomeLobby_Text_24AE8B: @ 824AE8B + .string "Which heading do you want to read?$" + +BattleFrontier_BattleDomeLobby_Text_24AEAE: @ 824AEAE + .string "The tournament matchups are drawn up\n" + .string "based on the toughness of POKéMON\l" + .string "held by TRAINERS.\p" + .string "The matchups avoid having tough\n" + .string "TRAINERS face each other right away.$" + +BattleFrontier_BattleDomeLobby_Text_24AF4C: @ 824AF4C + .string "The tournament chart, or as we call it,\n" + .string "the “Tree,” is available for viewing\l" + .string "in the Waiting Room from any guide.\p" + .string "The Tournament Tree will provide\n" + .string "several kinds of data.\p" + .string "The data on view includes the previous\n" + .string "tournament’s results, the POKéMON held\l" + .string "by TRAINERS, and the battle styles of\l" + .string "TRAINERS.$" + +BattleFrontier_BattleDomeLobby_Text_24B073: @ 824B073 + .string "If battling POKéMON faint at the same\n" + .string "time--a double KO--in a tournament\l" + .string "match, the REFEREES will review\l" + .string "the match and declare the winner.$" diff --git a/data/scripts/maps/BattleFrontier_BattleDomePreBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattleDomePreBattleRoom.inc new file mode 100644 index 0000000000..5de099292a --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattleDomePreBattleRoom.inc @@ -0,0 +1,417 @@ +BattleFrontier_BattleDomePreBattleRoom_MapScripts:: @ 824B1F9 + map_script 2, BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B218 + map_script 4, BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B204 + .byte 0 + +BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B204: @ 824B204 + map_script_2 VAR_0x4001, 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B20E + .2byte 0 + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B20E:: @ 824B20E + setvar VAR_0x4001, 1 + turnobject 255, 2 + end + +BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B218: @ 824B218 + map_script_2 VAR_0x4000, 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B222 + .2byte 0 + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B222:: @ 824B222 + compare VAR_0x8006, 1 + goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 6 + setvar VAR_0x8006, 1 + special sub_81A1780 + setvar VAR_0x4000, 1 + applymovement 255, BattleFrontier_BattleDomePreBattleRoom_Movement_24B652 + waitmovement 0 + lockall + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F:: @ 824B24F + call BattleFrontier_BattleDomePreBattleRoom_EventScript_24B4FB + waitmessage + switch VAR_RESULT + call BattleFrontier_BattleDomePreBattleRoom_EventScript_23E8E0 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B2C1 + multichoice 16, 0, 73, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3DD + case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3F5 + case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D + case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B30D + case 4, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B349 + case 5, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B377 + case 127, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B2C1:: @ 824B2C1 + multichoice 16, 2, 107, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3DD + case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3F5 + case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D + case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B349 + case 4, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B377 + case 127, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B30D:: @ 824B30D + message BattleFrontier_BattleDomePreBattleRoom_Text_24BAF7 + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B33F + case 127, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B33F:: @ 824B33F + call BattleFrontier_BattleDomePreBattleRoom_EventScript_23E8B4 + goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B349:: @ 824B349 + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BA69, 5 + switch VAR_RESULT + case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3BB + case 127, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B377:: @ 824B377 + message BattleFrontier_BattleDomePreBattleRoom_Text_24BA93 + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3A9 + case 127, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3A9:: @ 824B3A9 + setvar VAR_0x8004, 12 + setvar VAR_0x8005, 9 + special sub_818E9AC + goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24BE9A + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3BB:: @ 824B3BB + message BattleFrontier_BattleDomePreBattleRoom_Text_24BAD3 + waitmessage + setvar VAR_0x8004, 13 + setvar VAR_0x8005, 2 + special sub_818E9AC + playse SE_SAVE + waitse + fadescreen 1 + setvar VAR_0x8004, 4 + special sub_81A1780 + end + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3DD:: @ 824B3DD + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B9B5, 4 + fadescreen 1 + setvar VAR_0x8004, 6 + special sub_818E9AC + waitstate + goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3F5:: @ 824B3F5 + call BattleFrontier_BattleDomePreBattleRoom_EventScript_24B40A + fadescreen 1 + setvar VAR_0x8004, 7 + special sub_818E9AC + waitstate + goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B40A:: @ 824B40A + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + switch VAR_RESULT + case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B449 + case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B452 + case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B45B + case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B464 + return + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B449:: @ 824B449 + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B9D9, 4 + return + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B452:: @ 824B452 + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B9FD, 4 + return + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B45B:: @ 824B45B + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BA21, 4 + return + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B464:: @ 824B464 + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BA46, 4 + return + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D:: @ 824B46D + message BattleFrontier_BattleDomePreBattleRoom_Text_24B70C + waitmessage + waitbuttonpress + fadescreen 1 + call BattleFrontier_BattleDomePreBattleRoom_EventScript_23F2B7 + copyvar VAR_0x8004, VAR_RESULT + setvar VAR_0x8005, 2 + special sub_80F9490 + waitstate + setvar VAR_0x8004, 21 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 8 + special sub_818E9AC + setvar VAR_0x8004, 18 + special sub_818E9AC + setvar VAR_0x8004, 9 + special sub_818E9AC + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B748, 4 + closemessage + applymovement 1, BattleFrontier_BattleDomePreBattleRoom_Movement_24B64F + waitmovement 0 + applymovement 255, BattleFrontier_BattleDomePreBattleRoom_Movement_24B657 + waitmovement 0 + opendoor 5, 1 + waitdooranim + applymovement 255, BattleFrontier_BattleDomePreBattleRoom_Movement_24B659 + waitmovement 0 + closedoor 5, 1 + waitdooranim + warp BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM, 255, 9, 5 + setvar VAR_0x4000, 0 + waitstate + end + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B4FB:: @ 824B4FB + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + switch VAR_RESULT + case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B53A + case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B540 + case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B546 + case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B54C + return + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B53A:: @ 824B53A + message BattleFrontier_BattleDomePreBattleRoom_Text_24B65C + return + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B540:: @ 824B540 + message BattleFrontier_BattleDomePreBattleRoom_Text_24B689 + return + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B546:: @ 824B546 + message BattleFrontier_BattleDomePreBattleRoom_Text_24B6B6 + return + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B54C:: @ 824B54C + setvar VAR_0x8004, 9 + special sub_81A1780 + switch VAR_RESULT + case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B58B + case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5A0 + case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B58B + case 4, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5A0 + message BattleFrontier_BattleDomePreBattleRoom_Text_24B6E3 + return + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B58B:: @ 824B58B + checkflag FLAG_0x001 + goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5B5 + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BB2E, 4 + setflag FLAG_0x001 + return + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5A0:: @ 824B5A0 + checkflag FLAG_0x001 + goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5BE + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BBAC, 4 + setflag FLAG_0x001 + return + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5B5:: @ 824B5B5 + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BC2A, 4 + return + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5BE:: @ 824B5BE + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BC63, 4 + return + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7:: @ 824B5C7 + setvar VAR_0x4000, 1 + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B760, 4 + special copy_player_party_from_sav1 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 3 + special sub_81A1780 + playfanfare MUS_ME_ASA + waitfanfare + special HealPlayerParty + call BattleFrontier_BattleDomePreBattleRoom_EventScript_24B600 + fadescreen 1 + setvar VAR_0x8004, 11 + special sub_818E9AC + waitstate + goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B600:: @ 824B600 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + switch VAR_RESULT + case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B634 + case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B63D + case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B646 + return + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B634:: @ 824B634 + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B7A3, 4 + return + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B63D:: @ 824B63D + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B7F1, 4 + return + +BattleFrontier_BattleDomePreBattleRoom_EventScript_24B646:: @ 824B646 + msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B83F, 4 + return + +BattleFrontier_BattleDomePreBattleRoom_Movement_24B64F: @ 824B64F + step_right + step_02 + step_end + +BattleFrontier_BattleDomePreBattleRoom_Movement_24B652: @ 824B652 + step_up + step_up + step_up + step_up + step_end + +BattleFrontier_BattleDomePreBattleRoom_Movement_24B657: @ 824B657 + step_up + step_end + +BattleFrontier_BattleDomePreBattleRoom_Movement_24B659: @ 824B659 + step_up + step_54 + step_end + +BattleFrontier_BattleDomePreBattleRoom_Text_24B65C: @ 824B65C + .string "Your 1st-round match is next.\n" + .string "Are you ready?$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24B689: @ 824B689 + .string "Your 2nd-round match is next.\n" + .string "Are you ready?$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24B6B6: @ 824B6B6 + .string "Your semifinal match is next.\n" + .string "Are you ready?$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24B6E3: @ 824B6E3 + .string "Your final match is next.\n" + .string "Are you ready?$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24B70C: @ 824B70C + .string "Please choose the two POKéMON\n" + .string "that are to appear in battle.$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24B748: @ 824B748 + .string "Right this way, please.$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24B760: @ 824B760 + .string "Thank you for competing!\p" + .string "I’ll restore your POKéMON to\n" + .string "full health.$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24B7A3: @ 824B7A3 + .string "All 1st-round matches have been\n" + .string "completed.\p" + .string "These are the teams that advanced!$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24B7F1: @ 824B7F1 + .string "All 2nd-round matches have been\n" + .string "completed.\p" + .string "These are the teams that advanced!$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24B83F: @ 824B83F + .string "All semifinal matches have been\n" + .string "completed.\p" + .string "These are the teams that advanced!$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24B88D: @ 824B88D + .string "Congratulations for getting through\n" + .string "the 1st round.\p" + .string "The 2nd round is next.\n" + .string "Are you ready?$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24B8E6: @ 824B8E6 + .string "Congratulations for advancing\n" + .string "to the semifinals.\p" + .string "The best four teams meet in this round.\n" + .string "Are you ready?$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24B94E: @ 824B94E + .string "Congratulations for advancing\n" + .string "to the final match.\p" + .string "You’re one win from the championship.\n" + .string "Are you ready?$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24B9B5: @ 824B9B5 + .string "{PLAYER}’s next opponent\n" + .string "is this TRAINER.$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24B9D9: @ 824B9D9 + .string "The tournament is in the 1st round.$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24B9FD: @ 824B9FD + .string "The tournament is in the 2nd round.$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24BA21: @ 824BA21 + .string "The tournament is in the semifinals.$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24BA46: @ 824BA46 + .string "The tournament is up to the final.$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24BA69: @ 824BA69 + .string "Would you like to save and\n" + .string "quit the game?$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24BA93: @ 824BA93 + .string "Would you like to retire from your\n" + .string "Battle Tournament challenge?$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24BAD3: @ 824BAD3 + .string "I am saving your data.\n" + .string "Please wait.$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24BAF7: @ 824BAF7 + .string "Should I record your last match\n" + .string "on your FRONTIER PASS?$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24BB2E: @ 824BB2E + .string "Congratulations for advancing\n" + .string "to the final match.\p" + .string "For the final match, you will challenge\n" + .string "the DOME ACE TUCKER.\p" + .string "Are you ready?$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24BBAC: @ 824BBAC + .string "Congratulations for advancing\n" + .string "to the final match.\p" + .string "For the final match, you will challenge\n" + .string "the DOME ACE TUCKER.\p" + .string "Are you ready?$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24BC2A: @ 824BC2A + .string "Your final battle against TUCKER is\n" + .string "next. Are you ready?$" + +BattleFrontier_BattleDomePreBattleRoom_Text_24BC63: @ 824BC63 + .string "Your final battle against TUCKER is\n" + .string "next. Are you ready?$" + diff --git a/data/scripts/maps/BattleFrontier_BattleFactoryBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattleFactoryBattleRoom.inc new file mode 100644 index 0000000000..7d1c57f66c --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattleFactoryBattleRoom.inc @@ -0,0 +1,384 @@ +BattleFrontier_BattleFactoryBattleRoom_MapScripts:: @ 825ADAB + map_script 3, BattleFrontier_BattleFactoryBattleRoom_MapScript1_25ADBB + map_script 4, BattleFrontier_BattleFactoryBattleRoom_MapScript2_25AE00 + map_script 2, BattleFrontier_BattleFactoryBattleRoom_MapScript2_25AE31 + .byte 0 + +BattleFrontier_BattleFactoryBattleRoom_MapScript1_25ADBB: @ 825ADBB + setvar VAR_0x8004, 5 + special sub_81A1780 + checkplayergender + compare VAR_RESULT, 0 + call_if 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE25 + compare VAR_RESULT, 1 + call_if 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE2B + setvar VAR_0x8004, 9 + special sub_81A1780 + copyvar VAR_0x400F, VAR_RESULT + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25ADF3 + end + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25ADF3:: @ 825ADF3 + call BattleFrontier_BattleFactoryBattleRoom_EventScript_242170 + setobjectxyperm 2, 7, 9 + end + +BattleFrontier_BattleFactoryBattleRoom_MapScript2_25AE00: @ 825AE00 + map_script_2 VAR_0x4001, 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE0A + .2byte 0 + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE0A:: @ 825AE0A + setvar VAR_0x4001, 1 + hideobjectat 255, BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM + compare VAR_0x400F, 0 + goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE24 + hideobjectat 2, BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE24:: @ 825AE24 + end + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE25:: @ 825AE25 + setvar VAR_0x401F, 100 + return + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE2B:: @ 825AE2B + setvar VAR_0x401F, 105 + return + +BattleFrontier_BattleFactoryBattleRoom_MapScript2_25AE31: @ 825AE31 + map_script_2 VAR_0x4000, 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE67 + .2byte 0 + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B:: @ 825AE3B + msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B1E2, 4 + closemessage + applymovement 2, BattleFrontier_BattleFactoryBattleRoom_Movement_25B18B + applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B + applymovement 255, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B + waitmovement 0 + call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4 + goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEA7 + end + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE67:: @ 825AE67 + compare VAR_0x400F, 0 + goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B + applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B + applymovement 255, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B + waitmovement 0 + call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4 + setvar VAR_0x8004, 11 + special sub_81A5E74 + removeobject 2 + setobjectxyperm 2, 7, 1 + addobject 2 + applymovement 2, BattleFrontier_BattleFactoryBattleRoom_Movement_25B184 + waitmovement 0 + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEA7:: @ 825AEA7 + compare VAR_0x400F, 0 + goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C + setvar VAR_0x8004, 5 + special sub_8195960 + lockall + msgbox 0x2021fc4, 4 + waitmessage + closemessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 6 + setvar VAR_0x8006, 0 + special sub_81A1780 + special HealPlayerParty + setvar VAR_0x8004, 6 + setvar VAR_0x8005, 0 + special sub_8163AC4 + waitstate + switch VAR_RESULT + case 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF0F + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEF8:: @ 825AEF8 +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25AEF8:: @ 825AEF8 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 4 + special sub_81A1780 + goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190 +@ goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B190 + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF0F:: @ 825AF0F + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 3 + special sub_81A5E74 + compare VAR_RESULT, 9999 + goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E + addvar VAR_RESULT, 1 + setorcopyvar VAR_0x8006, VAR_RESULT + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + special sub_81A5E74 + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E:: @ 825AF3E + call BattleFrontier_BattleFactoryBattleRoom_EventScript_241EBA + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF43:: @ 825AF43 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + addvar VAR_RESULT, 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A1780 + switch VAR_RESULT + case 7, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF85 + setvar VAR_0x8006, 1 + warp BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 255, 8, 8 + waitstate + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF85:: @ 825AF85 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 3 + special sub_81A1780 + goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190 + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C:: @ 825AF9C + switch VAR_0x400F + case 2, BattleFrontier_BattleFactoryBattleRoom_EventScript_25B051 + case 3, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF + case 4, BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 7 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF + msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B1FB, 4 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 7 + special sub_81A1780 + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF:: @ 825AFEF + msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B3F1, 4 + call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B00C + goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEF8 + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25B00C:: @ 825B00C + setvar VAR_0x8004, 12 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105 + msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B42D, 4 + closemessage + applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B182 + waitmovement 0 + playfanfare MUS_ME_SYMBOLGET + message BattleFrontier_BattleFactoryBattleRoom_Text_25B460 + waitmessage + waitfanfare + setvar VAR_0x8004, 13 + special sub_81A1780 + msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B498, 4 + goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105 + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25B051:: @ 825B051 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 7 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E + msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B517, 4 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 7 + special sub_81A1780 + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E:: @ 825B07E + msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B5CF, 4 + call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B09B + goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEF8 + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25B09B:: @ 825B09B + setvar VAR_0x8004, 12 + special sub_81A1780 + compare VAR_RESULT, 2 + goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105 + msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B5E7, 4 + waitmessage + applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B182 + waitmovement 0 + playfanfare MUS_ME_SYMBOLGET + message BattleFrontier_BattleFactoryBattleRoom_Text_25B640 + waitmessage + waitfanfare + setvar VAR_0x8004, 13 + special sub_81A1780 + msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B66D, 4 + goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105 + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0:: @ 825B0E0 + closemessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 6 + setvar VAR_0x8006, 0 + special sub_81A1780 + special HealPlayerParty + setvar VAR_0x8004, 6 + setvar VAR_0x8005, 0 + special sub_8163AC4 + waitstate + return + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105:: @ 825B105 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 3 + special sub_81A5E74 + compare VAR_RESULT, 9999 + goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E + addvar VAR_RESULT, 1 + setorcopyvar VAR_0x8006, VAR_RESULT + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + special sub_81A5E74 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + special sub_81A5E74 + compare VAR_RESULT, 9999 + goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF43 + addvar VAR_RESULT, 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A5E74 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + addvar VAR_RESULT, 1 + goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF85 + end + +BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B: @ 825B17B + step_up + step_up + step_up + step_up + step_up + step_03 + step_end + +BattleFrontier_BattleFactoryBattleRoom_Movement_25B182: @ 825B182 + step_right + step_end + +BattleFrontier_BattleFactoryBattleRoom_Movement_25B184: @ 825B184 + step_down + step_down + step_down + step_down + step_down + step_02 + step_end + +BattleFrontier_BattleFactoryBattleRoom_Movement_25B18B: @ 825B18B + step_up + step_up + step_up + step_02 + step_end + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190:: @ 825B190 +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B190:: @ 825B190 + copyvar VAR_RESULT, VAR_0x40CE + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B1AA + warp BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY, 255, 4, 8 + waitstate + end + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B1AA:: @ 825B1AA + warp BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY, 255, 14, 8 + waitstate + end + +BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4:: @ 825B1B4 + applymovement 1, BattleFrontier_BattleFactoryBattleRoom_Movement_2725A8 + applymovement 3, BattleFrontier_BattleFactoryBattleRoom_Movement_2725A8 + applymovement 4, BattleFrontier_BattleFactoryBattleRoom_Movement_2725A8 + applymovement 5, BattleFrontier_BattleFactoryBattleRoom_Movement_2725A4 + applymovement 6, BattleFrontier_BattleFactoryBattleRoom_Movement_2725A4 + applymovement 7, BattleFrontier_BattleFactoryBattleRoom_Movement_2725A4 + waitmovement 0 + return + +BattleFrontier_BattleFactoryBattleRoom_Text_25B1E2: @ 825B1E2 + .string "Hey, hey!\n" + .string "Get a move on!$" + +BattleFrontier_BattleFactoryBattleRoom_Text_25B1FB: @ 825B1FB + .string "Hey, my name’s NOLAND!\n" + .string "I’m basically in charge of this place,\l" + .string "which is why I’m the FACTORY HEAD!\p" + .string "I had a look at your Battle Swap data.\p" + .string "You seem to have the right idea,\n" + .string "but you’re still square in your head!\p" + .string "Listen up, okay? Knowledge isn’t only\n" + .string "about reading books or doing desk work.\p" + .string "Just doing that sort of thing…\n" + .string "It may as well be useless!\p" + .string "You have to experience things with\n" + .string "your heart and your body, understand?\p" + .string "I’ll take you on under the same\n" + .string "conditions as you.\p" + .string "I’ll be using rental POKéMON, too!$" + +BattleFrontier_BattleFactoryBattleRoom_Text_25B3F1: @ 825B3F1 + .string "Shake out every last bit of your\n" + .string "knowledge and bring it on!$" + +BattleFrontier_BattleFactoryBattleRoom_Text_25B42D: @ 825B42D + .string "NOLAND: Smart going!\n" + .string "Let’s see your FRONTIER PASS.$" + +BattleFrontier_BattleFactoryBattleRoom_Text_25B460: @ 825B460 + .string "The Knowledge Symbol was embossed\n" + .string "on the FRONTIER PASS!$" + +BattleFrontier_BattleFactoryBattleRoom_Text_25B498: @ 825B498 + .string "Heh…\n" + .string "You’re a pretty bright spark…\p" + .string "Next time, I’ll come after you hard.\n" + .string "No holds barred, understand?\p" + .string "You keep up your studies!$" + +BattleFrontier_BattleFactoryBattleRoom_Text_25B517: @ 825B517 + .string "NOLAND: Hey, hey! How’s it going?\n" + .string "You keeping up with your studies?\p" + .string "…Oh?\p" + .string "You’ve taken on a harder look than\n" + .string "the last time I saw you.\p" + .string "Now, this should be fun!\n" + .string "I’m getting excited, hey!$" + +BattleFrontier_BattleFactoryBattleRoom_Text_25B5CF: @ 825B5CF + .string "All right!\n" + .string "Bring it on!$" + +BattleFrontier_BattleFactoryBattleRoom_Text_25B5E7: @ 825B5E7 + .string "NOLAND: What the…\n" + .string "You’re getting out of my league!\p" + .string "Sheesh!\n" + .string "Let’s see that FRONTIER PASS!$" + +BattleFrontier_BattleFactoryBattleRoom_Text_25B640: @ 825B640 + .string "The Knowledge Symbol took on\n" + .string "a golden shine!$" + +BattleFrontier_BattleFactoryBattleRoom_Text_25B66D: @ 825B66D + .string "Pfft, man!\p" + .string "That’s absolutely the last time\n" + .string "I lose to you!\p" + .string "We have to do this again, hey?$" + diff --git a/data/scripts/maps/BattleFrontier_BattleFactoryLobby.inc b/data/scripts/maps/BattleFrontier_BattleFactoryLobby.inc new file mode 100644 index 0000000000..791a666d58 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattleFactoryLobby.inc @@ -0,0 +1,611 @@ +BattleFrontier_BattleFactoryLobby_MapScripts:: @ 82583E8 + map_script 2, BattleFrontier_BattleFactoryLobby_MapScript2_258407 + map_script 4, BattleFrontier_BattleFactoryLobby_MapScript2_2583F3 + .byte 0 + +BattleFrontier_BattleFactoryLobby_MapScript2_2583F3: @ 82583F3 + map_script_2 VAR_0x4001, 0, BattleFrontier_BattleFactoryLobby_EventScript_2583FD + .2byte 0 + +BattleFrontier_BattleFactoryLobby_EventScript_2583FD:: @ 82583FD + setvar VAR_0x4001, 1 + turnobject 255, 2 + end + +BattleFrontier_BattleFactoryLobby_MapScript2_258407: @ 8258407 + map_script_2 VAR_0x4000, 0, BattleFrontier_BattleFactoryLobby_EventScript_258431 + map_script_2 VAR_0x4000, 1, BattleFrontier_BattleFactoryLobby_EventScript_25843A + map_script_2 VAR_0x4000, 2, BattleFrontier_BattleFactoryLobby_EventScript_258592 + map_script_2 VAR_0x4000, 3, BattleFrontier_BattleFactoryLobby_EventScript_25849B + map_script_2 VAR_0x4000, 4, BattleFrontier_BattleFactoryLobby_EventScript_258506 + .2byte 0 + +BattleFrontier_BattleFactoryLobby_EventScript_258431:: @ 8258431 + setvar VAR_0x8004, 0 + special sub_81A1780 + end + +BattleFrontier_BattleFactoryLobby_EventScript_25843A:: @ 825843A + lockall + msgbox BattleFrontier_BattleFactoryLobby_Text_258ECA, 4 + closemessage + setvar VAR_0x8004, 8 + special sub_81A5E74 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A5E74 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 0 + special sub_81A5E74 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 0 + special sub_81A5E74 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x4000, 255 + releaseall + end + +BattleFrontier_BattleFactoryLobby_EventScript_25849B:: @ 825849B + lockall + setvar VAR_0x8004, 10 + special sub_81A1780 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleFactoryLobby_EventScript_2584BD + msgbox BattleFrontier_BattleFactoryLobby_Text_258D93, 4 + waitmessage + goto BattleFrontier_BattleFactoryLobby_EventScript_2584C6 + +BattleFrontier_BattleFactoryLobby_EventScript_2584BD:: @ 82584BD + msgbox BattleFrontier_BattleFactoryLobby_Text_25926A, 4 + waitmessage + +BattleFrontier_BattleFactoryLobby_EventScript_2584C6:: @ 82584C6 + msgbox BattleFrontier_BattleFactoryLobby_Text_2592BD, 4 + setvar VAR_0x8004, 11 + special sub_81A1780 + msgbox BattleFrontier_BattleFactoryLobby_Text_241520, 9 + message BattleFrontier_BattleFactoryLobby_Text_259323 + waitmessage + setvar VAR_0x8004, 8 + special sub_81A1780 + special copy_player_party_from_sav1 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 0 + special sub_81A5E74 + playse SE_SAVE + waitse + goto BattleFrontier_BattleFactoryLobby_EventScript_25853B + end + +BattleFrontier_BattleFactoryLobby_EventScript_258506:: @ 8258506 + lockall + message BattleFrontier_BattleFactoryLobby_Text_258CC7 + waitmessage + setvar VAR_0x8004, 8 + special sub_81A1780 + special copy_player_party_from_sav1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 0 + special sub_81A5E74 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 0 + special sub_81A5E74 + playse SE_SAVE + waitse + +BattleFrontier_BattleFactoryLobby_EventScript_25853B:: @ 825853B + call BattleFrontier_BattleFactoryLobby_EventScript_23E8E0 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleFactoryLobby_EventScript_258582 + message BattleFrontier_BattleFactoryLobby_Text_259388 + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattleFactoryLobby_EventScript_258582 + case 0, BattleFrontier_BattleFactoryLobby_EventScript_25857D + case 127, BattleFrontier_BattleFactoryLobby_EventScript_258582 + +BattleFrontier_BattleFactoryLobby_EventScript_25857D:: @ 825857D + call BattleFrontier_BattleFactoryLobby_EventScript_23E8B4 + +BattleFrontier_BattleFactoryLobby_EventScript_258582:: @ 8258582 + msgbox BattleFrontier_BattleFactoryLobby_Text_258BC5, 4 + closemessage + setvar VAR_0x4000, 255 + releaseall + end + +BattleFrontier_BattleFactoryLobby_EventScript_258592:: @ 8258592 + lockall + message BattleFrontier_BattleFactoryLobby_Text_258E77 + waitmessage + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 1 + special sub_81A5E74 + playse SE_SAVE + waitse + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x4000, 255 + setvar VAR_0x8006, 2 + goto BattleFrontier_BattleFactoryLobby_EventScript_25871A + +BattleFrontier_BattleFactoryLobby_EventScript_2585CB:: @ 82585CB + lock + faceplayer + setvar VAR_FRONTIER_FACILITY, 4 + setvar VAR_0x40CE, 0 + goto BattleFrontier_BattleFactoryLobby_EventScript_2585ED + end + +BattleFrontier_BattleFactoryLobby_EventScript_2585DD:: @ 82585DD + setvar VAR_FRONTIER_FACILITY, 4 + setvar VAR_0x40CE, 1 + goto BattleFrontier_BattleFactoryLobby_EventScript_2585ED + end + +BattleFrontier_BattleFactoryLobby_EventScript_2585ED:: @ 82585ED + special copy_player_party_to_sav1 + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587B1 + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587BA + +BattleFrontier_BattleFactoryLobby_EventScript_258606:: @ 8258606 + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587C3 + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587C9 + waitmessage + multichoice 17, 6, 23, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattleFactoryLobby_EventScript_258653 + case 1, BattleFrontier_BattleFactoryLobby_EventScript_258768 + case 2, BattleFrontier_BattleFactoryLobby_EventScript_25879D + case 127, BattleFrontier_BattleFactoryLobby_EventScript_25879D + +BattleFrontier_BattleFactoryLobby_EventScript_258653:: @ 8258653 + message BattleFrontier_BattleFactoryLobby_Text_258BE9 + waitmessage + multichoice 17, 6, 24, 0 + switch VAR_RESULT + case 2, BattleFrontier_BattleFactoryLobby_EventScript_25879D + case 127, BattleFrontier_BattleFactoryLobby_EventScript_25879D + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A1780 + msgbox BattleFrontier_BattleFactoryLobby_Text_258C27, 5 + switch VAR_RESULT + case 0, BattleFrontier_BattleFactoryLobby_EventScript_25879A + case 1, BattleFrontier_BattleFactoryLobby_EventScript_2586B9 + case 127, BattleFrontier_BattleFactoryLobby_EventScript_25879A + +BattleFrontier_BattleFactoryLobby_EventScript_2586B9:: @ 82586B9 + setvar VAR_0x4000, 0 + setvar VAR_0x8004, 0 + special sub_81A5E74 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 1 + special sub_81A1780 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 1 + special sub_81A5E74 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + closemessage + delay 2 + call BattleFrontier_BattleFactoryLobby_EventScript_27134F + setvar VAR_0x4000, 255 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleFactoryLobby_EventScript_258783 + setvar VAR_0x8006, 0 + +BattleFrontier_BattleFactoryLobby_EventScript_25871A:: @ 825871A + special copy_player_party_to_sav1 + msgbox BattleFrontier_BattleFactoryLobby_Text_258CB1, 4 + closemessage + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_25875C + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_258762 + applymovement VAR_LAST_TALKED, BattleFrontier_BattleFactoryLobby_Movement_2587A7 + applymovement 255, BattleFrontier_BattleFactoryLobby_Movement_2587AC + waitmovement 0 + warp BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 255, 8, 13 + setvar VAR_0x4000, 0 + waitstate + end + +BattleFrontier_BattleFactoryLobby_EventScript_25875C:: @ 825875C + setvar VAR_LAST_TALKED, 1 + return + +BattleFrontier_BattleFactoryLobby_EventScript_258762:: @ 8258762 + setvar VAR_LAST_TALKED, 6 + return + +BattleFrontier_BattleFactoryLobby_EventScript_258768:: @ 8258768 + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587CF + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587D8 + goto BattleFrontier_BattleFactoryLobby_EventScript_258606 + +BattleFrontier_BattleFactoryLobby_EventScript_258783:: @ 8258783 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + goto BattleFrontier_BattleFactoryLobby_EventScript_25879D + +BattleFrontier_BattleFactoryLobby_EventScript_25879A:: @ 825879A + special copy_player_party_from_sav1 + +BattleFrontier_BattleFactoryLobby_EventScript_25879D:: @ 825879D + msgbox BattleFrontier_BattleFactoryLobby_Text_258BC5, 4 + release + end + +BattleFrontier_BattleFactoryLobby_Movement_2587A7: @ 82587A7 + step_up + step_up + step_up + step_54 + step_end + +BattleFrontier_BattleFactoryLobby_Movement_2587AC: @ 82587AC + step_up + step_up + step_up + step_up + step_end + +BattleFrontier_BattleFactoryLobby_EventScript_2587B1:: @ 82587B1 + msgbox BattleFrontier_BattleFactoryLobby_Text_2588EE, 4 + return + +BattleFrontier_BattleFactoryLobby_EventScript_2587BA:: @ 82587BA + msgbox BattleFrontier_BattleFactoryLobby_Text_258F93, 4 + return + +BattleFrontier_BattleFactoryLobby_EventScript_2587C3:: @ 82587C3 + message BattleFrontier_BattleFactoryLobby_Text_25897A + return + +BattleFrontier_BattleFactoryLobby_EventScript_2587C9:: @ 82587C9 + message BattleFrontier_BattleFactoryLobby_Text_25901F + return + +BattleFrontier_BattleFactoryLobby_EventScript_2587CF:: @ 82587CF + msgbox BattleFrontier_BattleFactoryLobby_Text_2589B3, 4 + return + +BattleFrontier_BattleFactoryLobby_EventScript_2587D8:: @ 82587D8 + msgbox BattleFrontier_BattleFactoryLobby_Text_259058, 4 + return + +BattleFrontier_BattleFactoryLobby_EventScript_2587E1:: @ 82587E1 + lockall + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 4 + setvar VAR_0x8006, 0 + special sub_81A1780 + waitbuttonpress + special sub_813C5A0 + releaseall + end + +BattleFrontier_BattleFactoryLobby_EventScript_2587FA:: @ 82587FA + lockall + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 4 + setvar VAR_0x8006, 1 + special sub_81A1780 + waitbuttonpress + special sub_813C5A0 + releaseall + end + +BattleFrontier_BattleFactoryLobby_EventScript_258813:: @ 8258813 + msgbox BattleFrontier_BattleFactoryLobby_Text_2593D7, 2 + end + +BattleFrontier_BattleFactoryLobby_EventScript_25881C:: @ 825881C + msgbox BattleFrontier_BattleFactoryLobby_Text_2594E5, 2 + end + +BattleFrontier_BattleFactoryLobby_EventScript_258825:: @ 8258825 + lock + msgbox BattleFrontier_BattleFactoryLobby_Text_259547, 4 + release + end + +BattleFrontier_BattleFactoryLobby_EventScript_258830:: @ 8258830 + msgbox BattleFrontier_BattleFactoryLobby_Text_2595C4, 2 + end + +BattleFrontier_BattleFactoryLobby_EventScript_258839:: @ 8258839 + lockall + msgbox BattleFrontier_BattleFactoryLobby_Text_259721, 4 + goto BattleFrontier_BattleFactoryLobby_EventScript_258848 + end + +BattleFrontier_BattleFactoryLobby_EventScript_258848:: @ 8258848 + message BattleFrontier_BattleFactoryLobby_Text_259743 + waitmessage + multichoice 17, 0, 99, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattleFactoryLobby_EventScript_2588A6 + case 1, BattleFrontier_BattleFactoryLobby_EventScript_2588B4 + case 2, BattleFrontier_BattleFactoryLobby_EventScript_2588C2 + case 3, BattleFrontier_BattleFactoryLobby_EventScript_2588D0 + case 4, BattleFrontier_BattleFactoryLobby_EventScript_2588DE + case 5, BattleFrontier_BattleFactoryLobby_EventScript_2588EC + case 127, BattleFrontier_BattleFactoryLobby_EventScript_2588EC + end + +BattleFrontier_BattleFactoryLobby_EventScript_2588A6:: @ 82588A6 + msgbox BattleFrontier_BattleFactoryLobby_Text_259766, 4 + goto BattleFrontier_BattleFactoryLobby_EventScript_258848 + end + +BattleFrontier_BattleFactoryLobby_EventScript_2588B4:: @ 82588B4 + msgbox BattleFrontier_BattleFactoryLobby_Text_2597FB, 4 + goto BattleFrontier_BattleFactoryLobby_EventScript_258848 + end + +BattleFrontier_BattleFactoryLobby_EventScript_2588C2:: @ 82588C2 + msgbox BattleFrontier_BattleFactoryLobby_Text_25987E, 4 + goto BattleFrontier_BattleFactoryLobby_EventScript_258848 + end + +BattleFrontier_BattleFactoryLobby_EventScript_2588D0:: @ 82588D0 + msgbox BattleFrontier_BattleFactoryLobby_Text_259920, 4 + goto BattleFrontier_BattleFactoryLobby_EventScript_258848 + end + +BattleFrontier_BattleFactoryLobby_EventScript_2588DE:: @ 82588DE + msgbox BattleFrontier_BattleFactoryLobby_Text_259A5E, 4 + goto BattleFrontier_BattleFactoryLobby_EventScript_258848 + end + +BattleFrontier_BattleFactoryLobby_EventScript_2588EC:: @ 82588EC + releaseall + end + +BattleFrontier_BattleFactoryLobby_Text_2588EE: @ 82588EE + .string "Where the intelligence of TRAINERS\n" + .string "is put to the test!\p" + .string "Welcome to the BATTLE FACTORY!\p" + .string "I am your guide to the Battle Swap\n" + .string "Single Tournament.$" + +BattleFrontier_BattleFactoryLobby_Text_25897A: @ 825897A + .string "Would you like to take the Battle\n" + .string "Swap Single challenge?$" + +BattleFrontier_BattleFactoryLobby_Text_2589B3: @ 82589B3 + .string "The Battle Swap Single Tournament\n" + .string "is a SINGLE BATTLE competition using\l" + .string "only rental POKéMON.\p" + .string "First, you will be loaned three\n" + .string "POKéMON specifically for this event.\p" + .string "Using the supplied rental POKéMON,\n" + .string "you must conduct a SINGLE BATTLE.\p" + .string "If you win, you are permitted to trade\n" + .string "one of your rental POKéMON.\p" + .string "Repeat this cycle of battling and\n" + .string "trading--if you win seven times in\l" + .string "a row, you will earn Battle Points.\p" + .string "If you want to interrupt your\n" + .string "challenge, please save the game.\p" + .string "If you don’t save, you will be\n" + .string "disqualified from your challenge.$" + +BattleFrontier_BattleFactoryLobby_Text_258BC5: @ 8258BC5 + .string "We look forward to your next visit.$" + +BattleFrontier_BattleFactoryLobby_Text_258BE9: @ 8258BE9 + .string "Which level do you wish to challenge?\n" + .string "Level 50 or Open Level?$" + +BattleFrontier_BattleFactoryLobby_Text_258C27: @ 8258C27 + .string "Before you begin your challenge,\n" + .string "I need to save the game. Is that okay?$" + +BattleFrontier_BattleFactoryLobby_Text_258C6F: @ 8258C6F + .string "Okay, I will hold your POKéMON for\n" + .string "safekeeping while you compete.$" + +BattleFrontier_BattleFactoryLobby_Text_258CB1: @ 8258CB1 + .string "Please step this way.$" + +BattleFrontier_BattleFactoryLobby_Text_258CC7: @ 8258CC7 + .string "Thank you for participating!\p" + .string "I will return your POKéMON in exchange\n" + .string "for our rental POKéMON.\p" + .string "I must also save the event results.\n" + .string "Please wait.$" + +BattleFrontier_BattleFactoryLobby_Text_258D54: @ 8258D54 + .string "I will return your POKéMON in exchange\n" + .string "for our rental POKéMON.$" + +BattleFrontier_BattleFactoryLobby_Text_258D93: @ 8258D93 + .string "Congratulations! You’ve won seven\n" + .string "straight Battle Swap matches!$" + +BattleFrontier_BattleFactoryLobby_Text_258DD3: @ 8258DD3 + .string "In recognition of your 7-win streak,\n" + .string "we award you these Battle Point(s).$" + +BattleFrontier_BattleFactoryLobby_Text_258E1C: @ 8258E1C + .string "Oh, oh, oh!\p" + .string "Your Battle Points are maxed.\p" + .string "Please come back after using\n" + .string "some Battle Points.$" + +BattleFrontier_BattleFactoryLobby_Text_258E77: @ 8258E77 + .string "We’ve been waiting for you!\p" + .string "Before we resume your challenge,\n" + .string "I must save the game.$" + +BattleFrontier_BattleFactoryLobby_Text_258ECA: @ 8258ECA + .string "I’m sorry to say this, but you didn’t\n" + .string "save before you quit playing last time.\p" + .string "As a result, you have been disqualified\n" + .string "from your challenge.$" + +BattleFrontier_BattleFactoryLobby_Text_258F55: @ 8258F55 + .string "We’ll return your personal POKéMON.$" + +BattleFrontier_BattleFactoryLobby_Text_258F79: @ 8258F79 + .string "{PLAYER} received the prize\n" + .string "{STR_VAR_1}.$" + +BattleFrontier_BattleFactoryLobby_Text_258F93: @ 8258F93 + .string "Where the intelligence of TRAINERS\n" + .string "is put to the test!\p" + .string "Welcome to the BATTLE FACTORY!\p" + .string "I am your guide to the Battle Swap\n" + .string "Double Tournament.$" + +BattleFrontier_BattleFactoryLobby_Text_25901F: @ 825901F + .string "Would you like to take the Battle\n" + .string "Swap Double challenge?$" + +BattleFrontier_BattleFactoryLobby_Text_259058: @ 8259058 + .string "The Battle Swap Double Tournament\n" + .string "is a DOUBLE BATTLE competition using\l" + .string "only rental POKéMON.\p" + .string "First, you will be loaned three\n" + .string "POKéMON specifically for this event.\p" + .string "Using the supplied rental POKéMON,\n" + .string "you must conduct a DOUBLE BATTLE.\p" + .string "If you win, you are permitted to trade\n" + .string "one of your rental POKéMON.\p" + .string "Repeat this cycle of battling and\n" + .string "trading--if you win seven times in\l" + .string "a row, you will earn Battle Points.\p" + .string "If you want to interrupt your\n" + .string "challenge, please save the game.\p" + .string "If you don’t save before interrupting,\n" + .string "you will be disqualified.$" + +BattleFrontier_BattleFactoryLobby_Text_25926A: @ 825926A + .string "Congratulations for defeating\n" + .string "the FACTORY HEAD and winning\l" + .string "seven matches in a row!$" + +BattleFrontier_BattleFactoryLobby_Text_2592BD: @ 82592BD + .string "In recognition of your wealth of\n" + .string "knowledge and keen intelligence,\l" + .string "we award you these Battle Point(s).$" + +BattleFrontier_BattleFactoryLobby_Text_259323: @ 8259323 + .string "Let me exchange your POKéMON\n" + .string "for our rental POKéMON.\p" + .string "I need to save the battle data,\n" + .string "so please wait.$" + +BattleFrontier_BattleFactoryLobby_Text_259388: @ 8259388 + .string "Would you like to record your last\n" + .string "BATTLE FACTORY match on your\l" + .string "FRONTIER PASS?$" + +BattleFrontier_BattleFactoryLobby_Text_2593D7: @ 82593D7 + .string "Hi!\n" + .string "You, there!\p" + .string "Are you thinking that the events here\n" + .string "are easy since you don’t need to have\l" + .string "a raised team of POKéMON?\p" + .string "I wouldn’t be too sure about winning\n" + .string "that easily.\p" + .string "If you don’t have thorough knowledge\n" + .string "about POKéMON and their moves,\l" + .string "it will be tough to keep winning.$" + +BattleFrontier_BattleFactoryLobby_Text_2594E5: @ 82594E5 + .string "I swapped for a weak POKéMON…\n" + .string "I thought it was a good kind to have…\p" + .string "They wiped the floor with us…$" + +BattleFrontier_BattleFactoryLobby_Text_259547: @ 8259547 + .string "Things haven’t been going my way\n" + .string "at all.\p" + .string "You need to check your opponent’s\n" + .string "POKéMON during battle to see if\l" + .string "they’re any good.$" + +BattleFrontier_BattleFactoryLobby_Text_2595C4: @ 82595C4 + .string "You know how the staff here give you\n" + .string "a few hints about your next opponent?\p" + .string "Well, I’m a full-grown man, but I have\n" + .string "trouble figuring out their hints.$" + +BattleFrontier_BattleFactoryLobby_Text_259658: @ 8259658 + .string "Like, I’m really tough, but I get bored\n" + .string "really easily, so I just kept swapping\l" + .string "and battling over and over.\p" + .string "So anyway, when I kept entering\n" + .string "Battle Swap events, I noticed they\l" + .string "varied the rental POKéMON.$" + +BattleFrontier_BattleFactoryLobby_Text_259721: @ 8259721 +SlateportCity_BattleTentLobby_Text_259721: @ 8259721 + .string "The Battle Swap rules are listed.$" + +BattleFrontier_BattleFactoryLobby_Text_259743: @ 8259743 +SlateportCity_BattleTentLobby_Text_259743: @ 8259743 + .string "Which heading do you want to read?$" + +BattleFrontier_BattleFactoryLobby_Text_259766: @ 8259766 + .string "In a Battle Swap event, you may use\n" + .string "only three POKéMON.\p" + .string "Whether you are renting or swapping,\n" + .string "your team may not have two or more\l" + .string "of the same POKéMON.$" + +BattleFrontier_BattleFactoryLobby_Text_2597FB: @ 82597FB + .string "You may swap POKéMON only with\n" + .string "the TRAINER you have just defeated.\p" + .string "You may swap for only those POKéMON\n" + .string "used by the beaten TRAINER.$" + +BattleFrontier_BattleFactoryLobby_Text_25987E: @ 825987E + .string "After every battle you win, you may\n" + .string "swap for one of your defeated\l" + .string "opponent’s POKéMON.\p" + .string "You will not be able to swap POKéMON\n" + .string "with the seventh TRAINER in the event.$" + +BattleFrontier_BattleFactoryLobby_Text_259920: @ 8259920 + .string "There are two key points to be aware\n" + .string "of when swapping POKéMON.\p" + .string "First, when swapping, you can’t check\n" + .string "the stats of the POKéMON you are\l" + .string "about to receive.\p" + .string "Second, the POKéMON on your team\n" + .string "are lined up in sequence, depending on\l" + .string "the order in which you rented them.\p" + .string "This sequence remains unchanged\n" + .string "even when swaps are made.$" + +BattleFrontier_BattleFactoryLobby_Text_259A5E: @ 8259A5E + .string "In the Open Level, the rental POKéMON\n" + .string "and the opposing TRAINERS’ POKéMON\l" + .string "are all Level 100.$" diff --git a/data/scripts/maps/BattleFrontier_BattleFactoryPreBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattleFactoryPreBattleRoom.inc new file mode 100644 index 0000000000..4c0528e347 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattleFactoryPreBattleRoom.inc @@ -0,0 +1,726 @@ +BattleFrontier_BattleFactoryPreBattleRoom_MapScripts:: @ 8259ABA + map_script 2, BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AEF + map_script 4, BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AC5 + .byte 0 + +BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AC5: @ 8259AC5 + map_script_2 VAR_0x4001, 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259ACF + .2byte 0 + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259ACF:: @ 8259ACF + setvar VAR_0x4001, 1 + compare VAR_0x8006, 1 + goto_if 5, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AEA + setobjectxy 1, 8, 7 + turnobject 1, 1 + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AEA:: @ 8259AEA + turnobject 255, 2 + end + +BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AEF: @ 8259AEF + map_script_2 VAR_0x4000, 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AF9 + .2byte 0 + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AF9:: @ 8259AF9 + compare VAR_0x8006, 1 + goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259BA5 + setvar VAR_0x4000, 1 + applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1AC + applymovement 255, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A19A + waitmovement 0 + compare VAR_0x8006, 2 + goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69 + setvar VAR_0x8004, 13 + special sub_81A5E74 + setvar VAR_0x8004, 12 + special sub_81A5E74 + setvar VAR_0x8004, 14 + special sub_81A5E74 + setorcopyvar VAR_0x8005, VAR_RESULT + setvar VAR_0x8004, 15 + special sub_81A5E74 + setorcopyvar VAR_0x8006, VAR_RESULT + call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93 + call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A1C8, 4 + fadescreen 1 + setvar VAR_0x8004, 8 + special sub_81A5E74 + setvar VAR_0x8004, 6 + special sub_81A5E74 + waitstate + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74:: @ 8259B74 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB96, 4 + closemessage + call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23F2B7 + compare VAR_RESULT, 0 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A17C + compare VAR_RESULT, 1 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A18B + waitmovement 0 + warp BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM, 255, 6, 11 + waitstate + end + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259BA5:: @ 8259BA5 + setvar VAR_0x8004, 9 + special sub_81A5E74 + setvar VAR_0x8004, 16 + special sub_81A5E74 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A22D, 4 + playfanfare MUS_ME_ASA + waitfanfare + special HealPlayerParty + setvar VAR_0x8004, 9 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C26 + playse 263 + waitse + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC15, 4 + closemessage + applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1BF + waitmovement 0 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC58, 4 + closemessage + applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1C3 + waitmovement 0 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC89, 4 + closemessage + delay 16 + goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9 + end + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13:: @ 8259C13 + setvar VAR_0x8004, 9 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9 + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C26:: @ 8259C26 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + compare VAR_RESULT, 1 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E1D + compare VAR_RESULT, 2 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E24 + compare VAR_RESULT, 3 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E2B + compare VAR_RESULT, 4 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E32 + compare VAR_RESULT, 5 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E39 + compare VAR_RESULT, 6 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E40 + call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8E0 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CC6 + multichoice 19, 4, 103, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D98 + case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CFC + case 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D38 + case 3, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D66 + case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13 + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CC6:: @ 8259CC6 + multichoice 20, 6, 104, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D98 + case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D38 + case 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D66 + case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13 + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CFC:: @ 8259CFC + message BattleFrontier_BattleFactoryPreBattleRoom_Text_25ABD2 + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13 + case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D2E + case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13 + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D2E:: @ 8259D2E + call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8B4 + goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13 + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D38:: @ 8259D38 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A350, 5 + switch VAR_RESULT + case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13 + case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E47 + case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13 + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D66:: @ 8259D66 + message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A37A + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13 + case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25AEF8 + case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13 + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D98:: @ 8259D98 + setvar VAR_0x8004, 12 + special sub_81A5E74 + setvar VAR_0x8004, 14 + special sub_81A5E74 + setorcopyvar VAR_0x8005, VAR_RESULT + setvar VAR_0x8004, 15 + special sub_81A5E74 + setorcopyvar VAR_0x8006, VAR_RESULT + call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93 + call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB2E, 5 + switch VAR_RESULT + case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74 + case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259DF2 + case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74 + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259DF2:: @ 8259DF2 + fadescreen 1 + setvar VAR_0x8004, 7 + special sub_81A5E74 + waitstate + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74 + setvar VAR_0x8004, 8 + special sub_81A5E74 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB6C, 4 + goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74 + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E1D:: @ 8259E1D + message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A263 + waitmessage + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E24:: @ 8259E24 + message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A289 + waitmessage + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E2B:: @ 8259E2B + message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2AF + waitmessage + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E32:: @ 8259E32 + message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2D5 + waitmessage + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E39:: @ 8259E39 + message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2FB + waitmessage + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E40:: @ 8259E40 + message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A321 + waitmessage + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E47:: @ 8259E47 + message BattleFrontier_BattleFactoryPreBattleRoom_Text_25ABAE + waitmessage + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 2 + special sub_81A5E74 + playse SE_SAVE + waitse + fadescreen 1 + setvar VAR_0x8004, 4 + special sub_81A1780 + end + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69:: @ 8259E69 + special copy_player_party_to_sav1 + setvar VAR_0x8004, 10 + setvar VAR_0x8005, 0 + special sub_81A5E74 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 6 + setvar VAR_0x8006, 1 + special sub_81A1780 + special CalculatePlayerPartyCount + goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13 + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93:: @ 8259E93 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3B4, 4 + compare VAR_0x8005, 0 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F62 + compare VAR_0x8005, 1 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F6B + compare VAR_0x8005, 2 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F74 + compare VAR_0x8005, 3 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F7D + compare VAR_0x8005, 4 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F86 + compare VAR_0x8005, 5 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F8F + compare VAR_0x8005, 6 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F98 + compare VAR_0x8005, 7 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FA1 + compare VAR_0x8005, 8 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FAA + compare VAR_0x8005, 10 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FB3 + compare VAR_0x8005, 11 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FBC + compare VAR_0x8005, 12 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FC5 + compare VAR_0x8005, 13 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FCE + compare VAR_0x8005, 14 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FD7 + compare VAR_0x8005, 15 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE0 + compare VAR_0x8005, 16 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE9 + compare VAR_0x8005, 17 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FF2 + compare VAR_0x8005, 18 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FFB + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F62:: @ 8259F62 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3F8, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F6B:: @ 8259F6B + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A597, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F74:: @ 8259F74 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A66B, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F7D:: @ 8259F7D + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A5DF, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F86:: @ 8259F86 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A625, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F8F:: @ 8259F8F + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A73B, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F98:: @ 8259F98 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A6F8, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FA1:: @ 8259FA1 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A77F, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FAA:: @ 8259FAA + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A84E, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FB3:: @ 8259FB3 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A43E, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FBC:: @ 8259FBC + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A482, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FC5:: @ 8259FC5 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A50F, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FCE:: @ 8259FCE + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A4C7, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FD7:: @ 8259FD7 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A6B1, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE0:: @ 8259FE0 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A554, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE9:: @ 8259FE9 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A7C4, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FF2:: @ 8259FF2 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A80A, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FFB:: @ 8259FFB + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A893, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004:: @ 825A004 + compare VAR_0x8006, 0 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A068 + compare VAR_0x8006, 1 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A071 + compare VAR_0x8006, 2 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A07A + compare VAR_0x8006, 3 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A083 + compare VAR_0x8006, 4 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A08C + compare VAR_0x8006, 5 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A095 + compare VAR_0x8006, 6 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A09E + compare VAR_0x8006, 7 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0A7 + compare VAR_0x8006, 8 + call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B0 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A068:: @ 825A068 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AAE6, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A071:: @ 825A071 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A9CE, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A07A:: @ 825A07A + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A8D9, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A083:: @ 825A083 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A912, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A08C:: @ 825A08C + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A94C, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A095:: @ 825A095 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AA16, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A09E:: @ 825A09E + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AAA7, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0A7:: @ 825A0A7 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A98C, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B0:: @ 825A0B0 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AA5A, 4 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9:: @ 825A0B9 + message BattleFrontier_BattleFactoryPreBattleRoom_Text_25AD20 + waitmessage + call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8E0 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A110 + multichoice 19, 4, 103, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A146 + case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CFC + case 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D38 + case 3, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D66 + case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9 + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A110:: @ 825A110 + multichoice 20, 6, 104, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A146 + case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D38 + case 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D66 + case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9 + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A146:: @ 825A146 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AD61, 4 + msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB2E, 5 + switch VAR_RESULT + case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74 + case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259DF2 + case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74 + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A17C:: @ 825A17C + applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B3 + applymovement 255, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A0 + return + +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A18B:: @ 825A18B + applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B9 + applymovement 255, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A6 + return + +BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A19A: @ 825A19A + step_up + step_up + step_up + step_up + step_up + step_end + +BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A0: @ 825A1A0 + step_up + step_left + step_left + step_up + step_up + step_end + +BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A6: @ 825A1A6 + step_up + step_right + step_right + step_up + step_up + step_end + +BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1AC: @ 825A1AC + step_up + step_up + step_up + step_up + step_up + step_00 + step_end + +BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B3: @ 825A1B3 + step_left + step_left + step_up + step_up + step_54 + step_end + +BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B9: @ 825A1B9 + step_right + step_right + step_up + step_up + step_54 + step_end + +BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1BF: @ 825A1BF + step_left + step_left + step_left + step_end + +BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1C3: @ 825A1C3 + step_right + step_right + step_right + step_00 + step_end + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A1C8: @ 825A1C8 +SlateportCity_BattleTentCorridor_Text_25A1C8: @ 825A1C8 + .string "First, we will hold your POKéMON for\n" + .string "safekeeping.\p" + .string "You may then choose from our\n" + .string "selection of POKéMON.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A22D: @ 825A22D +SlateportCity_BattleTentCorridor_Text_25A22D: @ 825A22D + .string "Thank you for competing!\n" + .string "Let us restore your POKéMON!$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A263: @ 825A263 +SlateportCity_BattleTentCorridor_Text_25A263: @ 825A263 + .string "The 2nd match is next!\n" + .string "Are you ready?$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A289: @ 825A289 +SlateportCity_BattleTentCorridor_Text_25A289: @ 825A289 + .string "The 3rd match is next!\n" + .string "Are you ready?$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2AF: @ 825A2AF + .string "The 4th match is next!\n" + .string "Are you ready?$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2D5: @ 825A2D5 + .string "The 5th match is next!\n" + .string "Are you ready?$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2FB: @ 825A2FB + .string "The 6th match is next!\n" + .string "Are you ready?$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A321: @ 825A321 + .string "Finally, the 7th match is next!\n" + .string "Are you ready?$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A350: @ 825A350 +SlateportCity_BattleTentCorridor_Text_25A350: @ 825A350 + .string "Would you like to save and quit\n" + .string "the game?$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A37A: @ 825A37A +SlateportCity_BattleTentCorridor_Text_25A37A: @ 825A37A + .string "Would you like to retire from your\n" + .string "Battle Swap challenge?$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3B4: @ 825A3B4 + .string "I’ve conducted a little investigation\n" + .string "about your upcoming opponent.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3F8: @ 825A3F8 + .string "The TRAINER is apparently skilled\n" + .string "in the handling of the NORMAL type.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A43E: @ 825A43E + .string "The TRAINER is apparently skilled\n" + .string "in the handling of the FIRE type.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A482: @ 825A482 + .string "The TRAINER is apparently skilled\n" + .string "in the handling of the WATER type.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A4C7: @ 825A4C7 + .string "The TRAINER is apparently skilled\n" + .string "in the handling of the ELECTRIC type.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A50F: @ 825A50F + .string "The TRAINER is apparently skilled\n" + .string "in the handling of the GRASS type.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A554: @ 825A554 + .string "The TRAINER is apparently skilled\n" + .string "in the handling of the ICE type.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A597: @ 825A597 + .string "The TRAINER is apparently skilled\n" + .string "in the handling of the FIGHTING type.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A5DF: @ 825A5DF + .string "The TRAINER is apparently skilled\n" + .string "in the handling of the POISON type.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A625: @ 825A625 + .string "The TRAINER is apparently skilled\n" + .string "in the handling of the GROUND type.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A66B: @ 825A66B + .string "The TRAINER is apparently skilled\n" + .string "in the handling of the FLYING type.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A6B1: @ 825A6B1 + .string "The TRAINER is apparently skilled\n" + .string "in the handling of the PSYCHIC type.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A6F8: @ 825A6F8 + .string "The TRAINER is apparently skilled\n" + .string "in the handling of the BUG type.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A73B: @ 825A73B + .string "The TRAINER is apparently skilled\n" + .string "in the handling of the ROCK type.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A77F: @ 825A77F + .string "The TRAINER is apparently skilled\n" + .string "in the handling of the GHOST type.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A7C4: @ 825A7C4 + .string "The TRAINER is apparently skilled\n" + .string "in the handling of the DRAGON type.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A80A: @ 825A80A + .string "The TRAINER is apparently skilled\n" + .string "in the handling of the DARK type.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A84E: @ 825A84E + .string "The TRAINER is apparently skilled\n" + .string "in the handling of the STEEL type.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A893: @ 825A893 + .string "The TRAINER appears to have no clear\n" + .string "favorites when it comes to type.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A8D9: @ 825A8D9 + .string "The favorite battle style appears to\n" + .string "be slow and steady.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A912: @ 825A912 + .string "The favorite battle style appears to\n" + .string "be one of endurance.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A94C: @ 825A94C + .string "The favorite battle style appears to\n" + .string "be high risk, high return.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A98C: @ 825A98C + .string "The favorite battle style appears to\n" + .string "depend on the battle’s flow.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25A9CE: @ 825A9CE + .string "The favorite battle style appears to\n" + .string "be one based on total preparation.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25AA16: @ 825AA16 + .string "The favorite battle style appears\n" + .string "to be weakening the foe to start.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25AA5A: @ 825AA5A + .string "The favorite battle style appears to\n" + .string "be flexibly adaptable to the situation.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25AAA7: @ 825AAA7 + .string "The favorite battle style appears to\n" + .string "be impossible to predict.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25AAE6: @ 825AAE6 + .string "The favorite battle style appears to\n" + .string "be free-spirited and unrestrained.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB2E: @ 825AB2E +SlateportCity_BattleTentCorridor_Text_25AB2E: @ 825AB2E + .string "Before starting the battle, would you\n" + .string "like to swap a POKéMON?$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB6C: @ 825AB6C +SlateportCity_BattleTentCorridor_Text_25AB6C: @ 825AB6C + .string "Thank you!\n" + .string "Your POKéMON swap is complete.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB96: @ 825AB96 +SlateportCity_BattleTentCorridor_Text_25AB96: @ 825AB96 + .string "Right this way, please!$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25ABAE: @ 825ABAE +SlateportCity_BattleTentCorridor_Text_25ABAE: @ 825ABAE + .string "I am saving your data.\n" + .string "Please wait.$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25ABD2: @ 825ABD2 + .string "Would you like to record your latest\n" + .string "battle on your FRONTIER PASS?$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC15: @ 825AC15 + .string "Excuse me! Excuse me, please!\n" + .string "May I get you to wait a few moments?$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC58: @ 825AC58 + .string "…Uh-huh? What?! …Whoa!\n" + .string "Understood, sir! Will do!$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC89: @ 825AC89 + .string "Oh, my…\n" + .string "Sorry to keep you waiting!\p" + .string "I have a message from this facility’s\n" + .string "boss, the FACTORY HEAD.\p" + .string "He says, “We’re going to do it!\n" + .string "Come here right now!”$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25AD20: @ 825AD20 + .string "The FACTORY HEAD is demanding you.\n" + .string "Are you prepared to face him?$" + +BattleFrontier_BattleFactoryPreBattleRoom_Text_25AD61: @ 825AD61 + .string "I’m terribly sorry, but I can’t tell you\n" + .string "anything about the FACTORY HEAD.$" diff --git a/data/scripts/maps/BattleFrontier_BattlePalaceBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattlePalaceBattleRoom.inc new file mode 100644 index 0000000000..ccd285a3a2 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattlePalaceBattleRoom.inc @@ -0,0 +1,650 @@ +BattleFrontier_BattlePalaceBattleRoom_MapScripts:: @ 824F815 + map_script 3, BattleFrontier_BattlePalaceBattleRoom_MapScript1_24F825 + map_script 2, BattleFrontier_BattlePalaceBattleRoom_MapScript2_24F861 + map_script 4, BattleFrontier_BattlePalaceBattleRoom_MapScript2_24FE34 + .byte 0 + +BattleFrontier_BattlePalaceBattleRoom_MapScript1_24F825: @ 824F825 + setvar VAR_0x8004, 5 + special sub_81A1780 + call BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833 + end + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833:: @ 824F833 + checkplayergender + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F84B + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F856 + return + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24F84B:: @ 824F84B + setvar VAR_0x4011, 100 + setvar VAR_0x4010, 100 + return + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24F856:: @ 824F856 + setvar VAR_0x4011, 105 + setvar VAR_0x4010, 105 + return + +BattleFrontier_BattlePalaceBattleRoom_MapScript2_24F861: @ 824F861 + map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F86B + .2byte 0 + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24F86B:: @ 824F86B + showobjectat 1, BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8B5 + applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE9B + waitmovement 0 + applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC + setvar VAR_0x4002, 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 6 + setvar VAR_0x8006, 1 + special sub_81A1780 + goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8B5:: @ 824F8B5 + applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE92 + waitmovement 0 + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8BF:: @ 824F8BF + setvar VAR_0x8004, 3 + special sub_8161F74 + addobject 2 + applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA1 + waitmovement 0 + setvar VAR_0x8004, 5 + special sub_8195960 + msgbox 0x2021fc4, 4 + waitmessage + call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7 + switch VAR_RESULT + case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F911 + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8FA:: @ 824F8FA + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 4 + special sub_81A1780 + goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FEBB + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24F911:: @ 824F911 + call BattleFrontier_BattlePalaceBattleRoom_EventScript_241EBA + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + addvar VAR_RESULT, 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A1780 + switch VAR_RESULT + case 7, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28 + applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA7 + waitmovement 0 + removeobject 2 + applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE99 + applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC + waitmovement 0 + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_24FF00, 4 + special copy_player_party_from_sav1 + special copy_player_party_to_sav1 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 3 + special sub_81A1780 + playfanfare MUS_ME_ASA + waitfanfare + special HealPlayerParty + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A:: @ 824F98A + setvar VAR_0x8004, 9 + special sub_81A1780 + copyvar VAR_0x400F, VAR_RESULT + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB61 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + compare VAR_RESULT, 1 + call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE66 + compare VAR_RESULT, 2 + call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE6D + compare VAR_RESULT, 3 + call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE74 + compare VAR_RESULT, 4 + call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE7B + compare VAR_RESULT, 5 + call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE82 + compare VAR_RESULT, 6 + call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE89 + call BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8E0 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA42 + multichoice 19, 4, 103, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB14 + case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA78 + case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAB4 + case 3, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAE2 + case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA42:: @ 824FA42 + multichoice 20, 6, 104, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB14 + case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAB4 + case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAE2 + case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA78:: @ 824FA78 + message BattleFrontier_BattlePalaceBattleRoom_Text_25009E + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A + case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAAA + case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAAA:: @ 824FAAA + call BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8B4 + goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAB4:: @ 824FAB4 + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250030, 5 + switch VAR_RESULT + case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A + case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB3F + case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAE2:: @ 824FAE2 + message BattleFrontier_BattlePalaceBattleRoom_Text_25005A + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A + case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8FA + case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB14:: @ 824FB14 + applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97 + applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97 + closemessage + goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8BF + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28:: @ 824FB28 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 3 + special sub_81A1780 + goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FEBB + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB3F:: @ 824FB3F + message BattleFrontier_BattlePalaceBattleRoom_Text_25007E + waitmessage + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 2 + special sub_8195960 + playse SE_SAVE + waitse + fadescreen 1 + setvar VAR_0x8004, 4 + special sub_81A1780 + end + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB61:: @ 824FB61 + compare VAR_0x4002, 1 + goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79 + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2500DD, 4 + setvar VAR_0x4002, 1 + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79:: @ 824FB79 + message BattleFrontier_BattlePalaceBattleRoom_Text_25014A + waitmessage + call BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8E0 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FBD0 + multichoice 19, 4, 103, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FC06 + case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA78 + case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAB4 + case 3, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAE2 + case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79 + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FBD0:: @ 824FBD0 + multichoice 20, 6, 104, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FC06 + case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAB4 + case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAE2 + case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79 + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FC06:: @ 824FC06 + call BattleFrontier_BattlePalaceBattleRoom_EventScript_242170 + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_25017C, 4 + closemessage + applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97 + applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97 + setobjectxyperm 2, 15, 1 + addobject 2 + hideobjectat 2, BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM + setobjectxy 2, 13, 1 + setobjectxyperm 2, 13, 1 + applymovement 4, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEDF + applymovement 5, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEE7 + applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEF2 + waitmovement 0 + switch VAR_0x400F + case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD3A + case 3, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA + case 4, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 7 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2501C1, 4 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 7 + special sub_81A1780 + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA:: @ 824FCAA + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2502C4, 4 + call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7 + goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8FA + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7:: @ 824FCC7 + setvar VAR_0x8004, 6 + special sub_8195960 + setvar VAR_0x8004, 12 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28 + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2502FF, 4 + applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE99 + applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_25036D, 4 + playfanfare MUS_ME_SYMBOLGET + message BattleFrontier_BattlePalaceBattleRoom_Text_2503DC + waitmessage + waitfanfare + setvar VAR_0x8004, 13 + special sub_81A1780 + applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_2725B6 + waitmovement 0 + applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_2725A8 + applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_2725A8 + waitmovement 0 + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250412, 4 + goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28 + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD3A:: @ 824FD3A + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 7 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67 + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250485, 4 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 7 + special sub_81A1780 + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67:: @ 824FD67 + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250572, 4 + call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84 + goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8FA + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84:: @ 824FD84 + setvar VAR_0x8004, 6 + special sub_8195960 + setvar VAR_0x8004, 12 + special sub_81A1780 + compare VAR_RESULT, 2 + goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28 + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_25057E, 4 + applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE99 + applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250629, 4 + playfanfare MUS_ME_SYMBOLGET + message BattleFrontier_BattlePalaceBattleRoom_Text_250699 + waitmessage + waitfanfare + setvar VAR_0x8004, 13 + special sub_81A1780 + applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_2725B6 + waitmovement 0 + applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_2725A8 + applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_2725A8 + waitmovement 0 + msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2506C4, 4 + goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28 + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7:: @ 824FDF7 +VerdanturfTown_BattleTentBattleRoom_EventScript_24FDF7:: @ 824FDF7 + closemessage + setvar VAR_0x4002, 0 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 6 + setvar VAR_0x8006, 0 + special sub_81A1780 + special HealPlayerParty + setvar VAR_0x8004, 4 + setvar VAR_0x8005, 0 + special sub_8163AC4 + waitstate + setvar VAR_0x8004, 18 + special sub_81A1780 + special HealPlayerParty + setvar VAR_0x8004, 21 + special sub_81A1780 + return + +BattleFrontier_BattlePalaceBattleRoom_MapScript2_24FE34: @ 824FE34 + map_script_2 VAR_0x4001, 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE3E + .2byte 0 + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE3E:: @ 824FE3E + hideobjectat 1, BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM + call BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833 + setvar VAR_0x4001, 1 + applymovement 255, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90 + removeobject 2 + applymovement 4, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90 + applymovement 5, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90 + end + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE66:: @ 824FE66 + message BattleFrontier_BattlePalaceBattleRoom_Text_24FF28 + waitmessage + return + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE6D:: @ 824FE6D + message BattleFrontier_BattlePalaceBattleRoom_Text_24FF54 + waitmessage + return + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE74:: @ 824FE74 + message BattleFrontier_BattlePalaceBattleRoom_Text_24FF80 + waitmessage + return + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE7B:: @ 824FE7B + message BattleFrontier_BattlePalaceBattleRoom_Text_24FFAC + waitmessage + return + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE82:: @ 824FE82 + message BattleFrontier_BattlePalaceBattleRoom_Text_24FFD8 + waitmessage + return + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE89:: @ 824FE89 + message BattleFrontier_BattlePalaceBattleRoom_Text_250004 + waitmessage + return + +BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90: @ 824FE90 + step_54 + step_end + +BattleFrontier_BattlePalaceBattleRoom_Movement_24FE92: @ 824FE92 + step_55 + step_up + step_up + step_up + step_up + +BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97: @ 824FE97 + step_03 + step_end + +BattleFrontier_BattlePalaceBattleRoom_Movement_24FE99: @ 824FE99 + step_01 + step_end + +BattleFrontier_BattlePalaceBattleRoom_Movement_24FE9B: @ 824FE9B + step_55 + step_up + step_up + step_up + step_up + step_end + +BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA1: @ 824FEA1 + step_down + step_down + step_down + step_down + step_02 + step_end + +BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA7: @ 824FEA7 + step_up + step_up + step_up + step_up + step_end + +BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC: @ 824FEAC + step_00 + step_end + +BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAE: @ 824FEAE + step_55 + slow_step_down + slow_step_down + step_02 + step_end + +BattleFrontier_BattlePalaceBattleRoom_Movement_24FEB3: @ 824FEB3 + step_55 + slow_step_down + step_end + +BattleFrontier_BattlePalaceBattleRoom_Movement_24FEB6: @ 824FEB6 + slow_step_down + slow_step_down + slow_step_down + step_02 + step_end + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FEBB:: @ 824FEBB + copyvar VAR_RESULT, VAR_0x40CE + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FED5 + warp BATTLE_FRONTIER_BATTLE_PALACE_LOBBY, 255, 5, 7 + waitstate + end + +BattleFrontier_BattlePalaceBattleRoom_EventScript_24FED5:: @ 824FED5 + warp BATTLE_FRONTIER_BATTLE_PALACE_LOBBY, 255, 19, 7 + waitstate + end + +BattleFrontier_BattlePalaceBattleRoom_Movement_24FEDF: @ 824FEDF + step_14 + step_14 + step_55 + step_down + step_right + step_down + step_27 + step_end + +BattleFrontier_BattlePalaceBattleRoom_Movement_24FEE7: @ 824FEE7 + step_55 + step_15 + step_18 + step_15 + step_15 + step_15 + step_15 + step_15 + step_27 + step_14 + step_end + +BattleFrontier_BattlePalaceBattleRoom_Movement_24FEF2: @ 824FEF2 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_55 + slow_step_down + slow_step_down + slow_step_down + slow_step_down + step_02 + step_end + +BattleFrontier_BattlePalaceBattleRoom_Text_24FF00: @ 824FF00 +VerdanturfTown_BattleTentBattleRoom_Text_24FF00: @ 824FF00 + .string "Excellent…\n" + .string "Let me restore your POKéMON.$" + +BattleFrontier_BattlePalaceBattleRoom_Text_24FF28: @ 824FF28 +VerdanturfTown_BattleTentBattleRoom_Text_24FF28: @ 824FF28 + .string "The 2nd opponent is next.\n" + .string "Are you prepared?$" + +BattleFrontier_BattlePalaceBattleRoom_Text_24FF54: @ 824FF54 +VerdanturfTown_BattleTentBattleRoom_Text_24FF54: @ 824FF54 + .string "The 3rd opponent is next.\n" + .string "Are you prepared?$" + +BattleFrontier_BattlePalaceBattleRoom_Text_24FF80: @ 824FF80 + .string "The 4th opponent is next.\n" + .string "Are you prepared?$" + +BattleFrontier_BattlePalaceBattleRoom_Text_24FFAC: @ 824FFAC + .string "The 5th opponent is next.\n" + .string "Are you prepared?$" + +BattleFrontier_BattlePalaceBattleRoom_Text_24FFD8: @ 824FFD8 + .string "The 6th opponent is next.\n" + .string "Are you prepared?$" + +BattleFrontier_BattlePalaceBattleRoom_Text_250004: @ 8250004 + .string "The 7th opponent is next.\n" + .string "Are you prepared?$" + +BattleFrontier_BattlePalaceBattleRoom_Text_250030: @ 8250030 +VerdanturfTown_BattleTentBattleRoom_Text_250030: @ 8250030 + .string "Would you like to save and quit\n" + .string "the game?$" + +BattleFrontier_BattlePalaceBattleRoom_Text_25005A: @ 825005A +VerdanturfTown_BattleTentBattleRoom_Text_25005A: @ 825005A + .string "Do you wish to quit your challenge?$" + +BattleFrontier_BattlePalaceBattleRoom_Text_25007E: @ 825007E +VerdanturfTown_BattleTentBattleRoom_Text_25007E: @ 825007E + .string "Saving the data.\n" + .string "Have patience…$" + +BattleFrontier_BattlePalaceBattleRoom_Text_25009E: @ 825009E + .string "Do you wish to record your latest\n" + .string "match on your FRONTIER PASS?$" + +BattleFrontier_BattlePalaceBattleRoom_Text_2500DD: @ 82500DD + .string "And now…\p" + .string "By winning consistently, you have\n" + .string "earned the privilege of challenging\l" + .string "our master, the PALACE MAVEN…$" + +BattleFrontier_BattlePalaceBattleRoom_Text_25014A: @ 825014A + .string "I shall send for the PALACE MAVEN.\n" + .string "Are you ready?$" + +BattleFrontier_BattlePalaceBattleRoom_Text_25017C: @ 825017C + .string "Let great fanfare announce the arrival\n" + .string "of the PALACE MAVEN, SPENSER!$" + +BattleFrontier_BattlePalaceBattleRoom_Text_2501C1: @ 82501C1 + .string "SPENSER: My physical being is with\n" + .string "POKéMON always!\p" + .string "My heart beats as one with\n" + .string "POKéMON always!\p" + .string "Young one of a TRAINER!\n" + .string "Do you believe in your POKéMON?\p" + .string "Can you believe them through\n" + .string "and through?\p" + .string "If your bonds of trust are frail,\n" + .string "you will never beat my brethren!$" + +BattleFrontier_BattlePalaceBattleRoom_Text_2502C4: @ 82502C4 + .string "The bond you share with your POKéMON!\n" + .string "Prove it to me here!$" + +BattleFrontier_BattlePalaceBattleRoom_Text_2502FF: @ 82502FF + .string "SPENSER: Gwahahah!\p" + .string "Hah, you never fell for my bluster!\n" + .string "Sorry for trying that stunt!\p" + .string "Here!\n" + .string "Bring me the thing!$" + +BattleFrontier_BattlePalaceBattleRoom_Text_25036D: @ 825036D + .string "My, my, if only you could maintain that\n" + .string "facade of distinguished authority…\p" + .string "Here!\n" + .string "Let’s see your FRONTIER PASS!$" + +BattleFrontier_BattlePalaceBattleRoom_Text_2503DC: @ 82503DC + .string "The Spirits Symbol was embossed on\n" + .string "the FRONTIER PASS!$" + +BattleFrontier_BattlePalaceBattleRoom_Text_250412: @ 8250412 + .string "SPENSER: Your POKéMON’s eyes are \n" + .string "truly clear and unclouded.\p" + .string "I will eagerly await the next\n" + .string "opportunity to see you.$" + +BattleFrontier_BattlePalaceBattleRoom_Text_250485: @ 8250485 + .string "SPENSER: Gwahahah!\n" + .string "You’ve battled your way up again?\p" + .string "You must have developed a truly\n" + .string "formidable bond with your POKéMON.\p" + .string "So be it!\p" + .string "This time, I won’t bluster or hold back.\n" + .string "This time, there’s no fooling around.\p" + .string "Ready now?\n" + .string "Prepare to lose!$" + +BattleFrontier_BattlePalaceBattleRoom_Text_250572: @ 8250572 + .string "… … …Kaaah!$" + +BattleFrontier_BattlePalaceBattleRoom_Text_25057E: @ 825057E + .string "SPENSER: Well, that was some display!\n" + .string "Even fully unleashed, my brethren\l" + .string "could not overpower you.\p" + .string "Your team spirit is truly admirable!\p" + .string "Here!\n" + .string "Bring me that thing, will you?$" + +BattleFrontier_BattlePalaceBattleRoom_Text_250629: @ 8250629 + .string "My, my, if only you could maintain\n" + .string "a certain level of decorum…\p" + .string "Gaaah, here!\n" + .string "Hurry with that FRONTIER PASS, you!$" + +BattleFrontier_BattlePalaceBattleRoom_Text_250699: @ 8250699 + .string "The Spirits Symbol took on\n" + .string "a golden shine!$" + +BattleFrontier_BattlePalaceBattleRoom_Text_2506C4: @ 82506C4 + .string "SPENSER: Gwahahah!\p" + .string "Come see me time and again!\n" + .string "My brethren and I will be waiting!$" diff --git a/data/scripts/maps/BattleFrontier_BattlePalaceCorridor.inc b/data/scripts/maps/BattleFrontier_BattlePalaceCorridor.inc new file mode 100644 index 0000000000..5c71cf4d67 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattlePalaceCorridor.inc @@ -0,0 +1,160 @@ +BattleFrontier_BattlePalaceCorridor_MapScripts:: @ 824F4A3 + map_script 2, BattleFrontier_BattlePalaceCorridor_MapScript2_24F4A9 + .byte 0 + +BattleFrontier_BattlePalaceCorridor_MapScript2_24F4A9: @ 824F4A9 + map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3 + .2byte 0 + +BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3:: @ 824F4B3 + delay 16 + applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5B8 + applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5B8 + waitmovement 0 + lockall + setvar VAR_0x8004, 3 + special sub_8195960 + compare VAR_RESULT, 0 + call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F58B + compare VAR_RESULT, 1 + call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F594 + compare VAR_RESULT, 2 + call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F59D + compare VAR_RESULT, 3 + call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F5A6 + compare VAR_RESULT, 4 + call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F5AF + closemessage + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + special sub_81A1780 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F553 + applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5BD + applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5C4 + waitmovement 0 + opendoor 6, 3 + waitdooranim + applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5DA + applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5D9 + waitmovement 0 + closedoor 6, 3 + waitdooranim + goto BattleFrontier_BattlePalaceCorridor_EventScript_24F581 + +BattleFrontier_BattlePalaceCorridor_EventScript_24F553:: @ 824F553 + applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5CB + applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5D2 + waitmovement 0 + opendoor 10, 3 + waitdooranim + applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5DA + applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5D9 + waitmovement 0 + closedoor 10, 3 + waitdooranim + +BattleFrontier_BattlePalaceCorridor_EventScript_24F581:: @ 824F581 + warp BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM, 255, 7, 4 + waitstate + end + +BattleFrontier_BattlePalaceCorridor_EventScript_24F58B:: @ 824F58B + msgbox BattleFrontier_BattlePalaceCorridor_Text_24F5DD, 4 + return + +BattleFrontier_BattlePalaceCorridor_EventScript_24F594:: @ 824F594 + msgbox BattleFrontier_BattlePalaceCorridor_Text_24F65B, 4 + return + +BattleFrontier_BattlePalaceCorridor_EventScript_24F59D:: @ 824F59D + msgbox BattleFrontier_BattlePalaceCorridor_Text_24F718, 4 + return + +BattleFrontier_BattlePalaceCorridor_EventScript_24F5A6:: @ 824F5A6 + msgbox BattleFrontier_BattlePalaceCorridor_Text_24F78C, 4 + return + +BattleFrontier_BattlePalaceCorridor_EventScript_24F5AF:: @ 824F5AF + msgbox BattleFrontier_BattlePalaceCorridor_Text_24F7D4, 4 + return + +BattleFrontier_BattlePalaceCorridor_Movement_24F5B8: @ 824F5B8 + step_up + step_up + step_up + step_up + step_end + +BattleFrontier_BattlePalaceCorridor_Movement_24F5BD: @ 824F5BD + step_up + step_up + step_left + step_left + step_up + step_up + step_end + +BattleFrontier_BattlePalaceCorridor_Movement_24F5C4: @ 824F5C4 + step_up + step_up + step_up + step_left + step_left + step_up + step_end + +BattleFrontier_BattlePalaceCorridor_Movement_24F5CB: @ 824F5CB + step_up + step_right + step_right + step_up + step_up + step_up + step_end + +BattleFrontier_BattlePalaceCorridor_Movement_24F5D2: @ 824F5D2 + step_up + step_up + step_right + step_right + step_up + step_up + step_end + +BattleFrontier_BattlePalaceCorridor_Movement_24F5D9: @ 824F5D9 + step_up + +BattleFrontier_BattlePalaceCorridor_Movement_24F5DA: @ 824F5DA + step_up + step_54 + step_end + +BattleFrontier_BattlePalaceCorridor_Text_24F5DD: @ 824F5DD + .string "People and POKéMON, they are but\n" + .string "the same…\p" + .string "Their individual nature makes them\n" + .string "good at certain things, and not good\l" + .string "at others.$" + +BattleFrontier_BattlePalaceCorridor_Text_24F65B: @ 824F65B + .string "Rather than trying to make a POKéMON\n" + .string "do what it dislikes, try to let it do\l" + .string "what it likes and is good at doing.\p" + .string "Put yourself in the POKéMON’s position\n" + .string "and consider what moves it would like.$" + +BattleFrontier_BattlePalaceCorridor_Text_24F718: @ 824F718 + .string "A POKéMON’s nature is a remarkable\n" + .string "thing…\p" + .string "Some POKéMON behave in a completely\n" + .string "different way when they are cornered.$" + +BattleFrontier_BattlePalaceCorridor_Text_24F78C: @ 824F78C + .string "Are you beginning to understand how\n" + .string "a POKéMON’s nature makes it behave?$" + +BattleFrontier_BattlePalaceCorridor_Text_24F7D4: @ 824F7D4 + .string "Ah… I see a strong, heartfelt bond\n" + .string "between you and your POKéMON…$" + diff --git a/data/scripts/maps/BattleFrontier_BattlePalaceLobby.inc b/data/scripts/maps/BattleFrontier_BattlePalaceLobby.inc new file mode 100644 index 0000000000..2e0f152b43 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattlePalaceLobby.inc @@ -0,0 +1,729 @@ +BattleFrontier_BattlePalaceLobby_MapScripts:: @ 824D77E + map_script 2, BattleFrontier_BattlePalaceLobby_MapScript2_24D79D + map_script 4, BattleFrontier_BattlePalaceLobby_MapScript2_24D789 + .byte 0 + +BattleFrontier_BattlePalaceLobby_MapScript2_24D789: @ 824D789 + map_script_2 VAR_0x4001, 0, BattleFrontier_BattlePalaceLobby_EventScript_24D793 + .2byte 0 + +BattleFrontier_BattlePalaceLobby_EventScript_24D793:: @ 824D793 + setvar VAR_0x4001, 1 + turnobject 255, 2 + end + +BattleFrontier_BattlePalaceLobby_MapScript2_24D79D: @ 824D79D + map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePalaceLobby_EventScript_24D7C7 + map_script_2 VAR_0x4000, 1, BattleFrontier_BattlePalaceLobby_EventScript_24D7D0 + map_script_2 VAR_0x4000, 2, BattleFrontier_BattlePalaceLobby_EventScript_24D908 + map_script_2 VAR_0x4000, 3, BattleFrontier_BattlePalaceLobby_EventScript_24D817 + map_script_2 VAR_0x4000, 4, BattleFrontier_BattlePalaceLobby_EventScript_24D873 + .2byte 0 + +BattleFrontier_BattlePalaceLobby_EventScript_24D7C7:: @ 824D7C7 + setvar VAR_0x8004, 0 + special sub_81A1780 + end + +BattleFrontier_BattlePalaceLobby_EventScript_24D7D0:: @ 824D7D0 + lockall + msgbox BattleFrontier_BattlePalaceLobby_Text_24E636, 4 + closemessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 0 + special sub_8195960 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 0 + special sub_8195960 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x4000, 255 + releaseall + end + +BattleFrontier_BattlePalaceLobby_EventScript_24D817:: @ 824D817 + lockall + setvar VAR_0x8004, 10 + special sub_81A1780 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24D838 + msgbox BattleFrontier_BattlePalaceLobby_Text_24E497, 4 + goto BattleFrontier_BattlePalaceLobby_EventScript_24D840 + +BattleFrontier_BattlePalaceLobby_EventScript_24D838:: @ 824D838 + msgbox BattleFrontier_BattlePalaceLobby_Text_24EE81, 4 + +BattleFrontier_BattlePalaceLobby_EventScript_24D840:: @ 824D840 + msgbox BattleFrontier_BattlePalaceLobby_Text_24EEB9, 4 + setvar VAR_0x8004, 11 + special sub_81A1780 + msgbox BattleFrontier_BattlePalaceLobby_Text_241520, 9 + message BattleFrontier_BattlePalaceLobby_Text_24E4F7 + waitmessage + call BattleFrontier_BattlePalaceLobby_EventScript_24D8A1 + msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, 4 + closemessage + setvar VAR_0x4000, 255 + releaseall + end + +BattleFrontier_BattlePalaceLobby_EventScript_24D873:: @ 824D873 + lockall + message BattleFrontier_BattlePalaceLobby_Text_24E41E + waitmessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 0 + special sub_8195960 + call BattleFrontier_BattlePalaceLobby_EventScript_24D8A1 + msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, 4 + closemessage + setvar VAR_0x4000, 255 + releaseall + end + +BattleFrontier_BattlePalaceLobby_EventScript_24D8A1:: @ 824D8A1 + setvar VAR_0x8004, 8 + special sub_81A1780 + special copy_player_party_from_sav1 + special HealPlayerParty + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 0 + special sub_8195960 + playse SE_SAVE + waitse + call BattleFrontier_BattlePalaceLobby_EventScript_23E8E0 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24D907 + message BattleFrontier_BattlePalaceLobby_Text_24EF16 + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattlePalaceLobby_EventScript_24D907 + case 0, BattleFrontier_BattlePalaceLobby_EventScript_24D902 + case 127, BattleFrontier_BattlePalaceLobby_EventScript_24D907 + +BattleFrontier_BattlePalaceLobby_EventScript_24D902:: @ 824D902 + call BattleFrontier_BattlePalaceLobby_EventScript_23E8B4 + +BattleFrontier_BattlePalaceLobby_EventScript_24D907:: @ 824D907 + return + +BattleFrontier_BattlePalaceLobby_EventScript_24D908:: @ 824D908 + lockall + msgbox BattleFrontier_BattlePalaceLobby_Text_24E5D8, 4 + message BattleFrontier_BattlePalaceLobby_Text_24E5F6 + waitmessage + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 1 + special sub_8195960 + playse SE_SAVE + waitse + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x4000, 255 + goto BattleFrontier_BattlePalaceLobby_EventScript_24DAF3 + +BattleFrontier_BattlePalaceLobby_EventScript_24D944:: @ 824D944 + lock + faceplayer + setvar VAR_FRONTIER_FACILITY, 2 + setvar VAR_0x40CE, 0 + goto BattleFrontier_BattlePalaceLobby_EventScript_24D968 + end + +BattleFrontier_BattlePalaceLobby_EventScript_24D956:: @ 824D956 + lock + faceplayer + setvar VAR_FRONTIER_FACILITY, 2 + setvar VAR_0x40CE, 1 + goto BattleFrontier_BattlePalaceLobby_EventScript_24D968 + end + +BattleFrontier_BattlePalaceLobby_EventScript_24D968:: @ 824D968 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 0 + special sub_8195960 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattlePalaceLobby_EventScript_24D817 + special copy_player_party_to_sav1 + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DB9E + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DBA7 + +BattleFrontier_BattlePalaceLobby_EventScript_24D999:: @ 824D999 + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DBB0 + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DBB6 + waitmessage + multichoice 17, 6, 23, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattlePalaceLobby_EventScript_24D9E6 + case 1, BattleFrontier_BattlePalaceLobby_EventScript_24DB20 + case 2, BattleFrontier_BattlePalaceLobby_EventScript_24DB94 + case 127, BattleFrontier_BattlePalaceLobby_EventScript_24DB94 + +BattleFrontier_BattlePalaceLobby_EventScript_24D9E6:: @ 824D9E6 + message BattleFrontier_BattlePalaceLobby_Text_24E119 + waitmessage + multichoice 17, 6, 24, 0 + switch VAR_RESULT + case 2, BattleFrontier_BattlePalaceLobby_EventScript_24DB94 + case 127, BattleFrontier_BattlePalaceLobby_EventScript_24DB94 + setvar VAR_0x8004, 15 + special sub_81A1780 + compare VAR_0x8004, 1 + goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB45 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A1780 + msgbox BattleFrontier_BattlePalaceLobby_Text_24E399, 4 + fadescreen 1 + call BattleFrontier_BattlePalaceLobby_EventScript_23F2B7 + copyvar VAR_0x8004, VAR_RESULT + setvar VAR_0x8005, 3 + special sub_80F9490 + waitstate + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB91 + msgbox BattleFrontier_BattlePalaceLobby_Text_24E3C8, 5 + switch VAR_RESULT + case 0, BattleFrontier_BattlePalaceLobby_EventScript_24DB91 + case 1, BattleFrontier_BattlePalaceLobby_EventScript_24DA87 + case 127, BattleFrontier_BattlePalaceLobby_EventScript_24DB91 + +BattleFrontier_BattlePalaceLobby_EventScript_24DA87:: @ 824DA87 + setvar VAR_0x4000, 0 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 4 + special sub_81A1780 + setvar VAR_0x8004, 0 + special sub_8195960 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 1 + special sub_8195960 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 1 + special sub_81A1780 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + special copy_player_party_from_sav1 + closemessage + delay 2 + call BattleFrontier_BattlePalaceLobby_EventScript_27134F + setvar VAR_0x4000, 255 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB7A + +BattleFrontier_BattlePalaceLobby_EventScript_24DAF3:: @ 824DAF3 + special copy_player_party_to_sav1 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 3 + special sub_81A1780 + msgbox BattleFrontier_BattlePalaceLobby_Text_24E408, 4 + closemessage + call BattleFrontier_BattlePalaceLobby_EventScript_24DBBC + warp BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR, 255, 8, 13 + setvar VAR_0x4000, 0 + waitstate + end + +BattleFrontier_BattlePalaceLobby_EventScript_24DB20:: @ 824DB20 + compare VAR_0x40CE, 1 + goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB38 + msgbox BattleFrontier_BattlePalaceLobby_Text_24DE17, 4 + goto BattleFrontier_BattlePalaceLobby_EventScript_24D999 + +BattleFrontier_BattlePalaceLobby_EventScript_24DB38:: @ 824DB38 + msgbox BattleFrontier_BattlePalaceLobby_Text_24EBC2, 4 + goto BattleFrontier_BattlePalaceLobby_EventScript_24D999 + +BattleFrontier_BattlePalaceLobby_EventScript_24DB45:: @ 824DB45 + switch VAR_RESULT + case 0, BattleFrontier_BattlePalaceLobby_EventScript_24DB60 + case 1, BattleFrontier_BattlePalaceLobby_EventScript_24DB6D + +BattleFrontier_BattlePalaceLobby_EventScript_24DB60:: @ 824DB60 + msgbox BattleFrontier_BattlePalaceLobby_Text_24E173, 4 + goto BattleFrontier_BattlePalaceLobby_EventScript_24DB9C + +BattleFrontier_BattlePalaceLobby_EventScript_24DB6D:: @ 824DB6D + msgbox BattleFrontier_BattlePalaceLobby_Text_24E29E, 4 + goto BattleFrontier_BattlePalaceLobby_EventScript_24DB9C + +BattleFrontier_BattlePalaceLobby_EventScript_24DB7A:: @ 824DB7A + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + goto BattleFrontier_BattlePalaceLobby_EventScript_24DB94 + +BattleFrontier_BattlePalaceLobby_EventScript_24DB91:: @ 824DB91 + special copy_player_party_from_sav1 + +BattleFrontier_BattlePalaceLobby_EventScript_24DB94:: @ 824DB94 + msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, 4 + +BattleFrontier_BattlePalaceLobby_EventScript_24DB9C:: @ 824DB9C + release + end + +BattleFrontier_BattlePalaceLobby_EventScript_24DB9E:: @ 824DB9E + msgbox BattleFrontier_BattlePalaceLobby_Text_24DD5B, 4 + return + +BattleFrontier_BattlePalaceLobby_EventScript_24DBA7:: @ 824DBA7 + msgbox BattleFrontier_BattlePalaceLobby_Text_24EB06, 4 + return + +BattleFrontier_BattlePalaceLobby_EventScript_24DBB0:: @ 824DBB0 + message BattleFrontier_BattlePalaceLobby_Text_24DDE1 + return + +BattleFrontier_BattlePalaceLobby_EventScript_24DBB6:: @ 824DBB6 + message BattleFrontier_BattlePalaceLobby_Text_24EB8C + return + +BattleFrontier_BattlePalaceLobby_EventScript_24DBBC:: @ 824DBBC + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC23 + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC29 + applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_24DC47 + applymovement 255, BattleFrontier_BattlePalaceLobby_Movement_24DC47 + waitmovement 0 + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC2F + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC35 + waitdooranim + applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_24DC49 + applymovement 255, BattleFrontier_BattlePalaceLobby_Movement_24DC4C + waitmovement 0 + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC3B + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC41 + waitdooranim + return + +BattleFrontier_BattlePalaceLobby_EventScript_24DC23:: @ 824DC23 + setvar VAR_LAST_TALKED, 1 + return + +BattleFrontier_BattlePalaceLobby_EventScript_24DC29:: @ 824DC29 + setvar VAR_LAST_TALKED, 6 + return + +BattleFrontier_BattlePalaceLobby_EventScript_24DC2F:: @ 824DC2F + opendoor 5, 4 + return + +BattleFrontier_BattlePalaceLobby_EventScript_24DC35:: @ 824DC35 + opendoor 19, 4 + return + +BattleFrontier_BattlePalaceLobby_EventScript_24DC3B:: @ 824DC3B + closedoor 5, 4 + return + +BattleFrontier_BattlePalaceLobby_EventScript_24DC41:: @ 824DC41 + closedoor 19, 4 + return + +BattleFrontier_BattlePalaceLobby_Movement_24DC47: @ 824DC47 + step_up + step_end + +BattleFrontier_BattlePalaceLobby_Movement_24DC49: @ 824DC49 + step_up + step_54 + step_end + +BattleFrontier_BattlePalaceLobby_Movement_24DC4C: @ 824DC4C + step_up + step_up + step_54 + step_end + +BattleFrontier_BattlePalaceLobby_EventScript_24DC50:: @ 824DC50 + lockall + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 0 + special sub_81A1780 + waitbuttonpress + special sub_813C5A0 + releaseall + end + +BattleFrontier_BattlePalaceLobby_EventScript_24DC69:: @ 824DC69 + lockall + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 1 + special sub_81A1780 + waitbuttonpress + special sub_813C5A0 + releaseall + end + +BattleFrontier_BattlePalaceLobby_EventScript_24DC82:: @ 824DC82 + msgbox BattleFrontier_BattlePalaceLobby_Text_24E6E3, 2 + end + +BattleFrontier_BattlePalaceLobby_EventScript_24DC8B:: @ 824DC8B + msgbox BattleFrontier_BattlePalaceLobby_Text_24E851, 2 + end + +BattleFrontier_BattlePalaceLobby_EventScript_24DC94:: @ 824DC94 + msgbox BattleFrontier_BattlePalaceLobby_Text_24E992, 2 + end + +BattleFrontier_BattlePalaceLobby_EventScript_24DC9D:: @ 824DC9D + msgbox BattleFrontier_BattlePalaceLobby_Text_24EA4B, 2 + end + +BattleFrontier_BattlePalaceLobby_EventScript_24DCA6:: @ 824DCA6 + lockall + msgbox BattleFrontier_BattlePalaceLobby_Text_24EF66, 4 + goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5 + end + +BattleFrontier_BattlePalaceLobby_EventScript_24DCB5:: @ 824DCB5 + message BattleFrontier_BattlePalaceLobby_Text_24EF88 + waitmessage + multichoice 16, 0, 100, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattlePalaceLobby_EventScript_24DD13 + case 1, BattleFrontier_BattlePalaceLobby_EventScript_24DD21 + case 2, BattleFrontier_BattlePalaceLobby_EventScript_24DD2F + case 3, BattleFrontier_BattlePalaceLobby_EventScript_24DD3D + case 4, BattleFrontier_BattlePalaceLobby_EventScript_24DD4B + case 5, BattleFrontier_BattlePalaceLobby_EventScript_24DD59 + case 127, BattleFrontier_BattlePalaceLobby_EventScript_24DD59 + end + +BattleFrontier_BattlePalaceLobby_EventScript_24DD13:: @ 824DD13 + msgbox BattleFrontier_BattlePalaceLobby_Text_24EFAB, 4 + goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5 + end + +BattleFrontier_BattlePalaceLobby_EventScript_24DD21:: @ 824DD21 + msgbox BattleFrontier_BattlePalaceLobby_Text_24F049, 4 + goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5 + end + +BattleFrontier_BattlePalaceLobby_EventScript_24DD2F:: @ 824DD2F + msgbox BattleFrontier_BattlePalaceLobby_Text_24F190, 4 + goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5 + end + +BattleFrontier_BattlePalaceLobby_EventScript_24DD3D:: @ 824DD3D + msgbox BattleFrontier_BattlePalaceLobby_Text_24F2E8, 4 + goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5 + end + +BattleFrontier_BattlePalaceLobby_EventScript_24DD4B:: @ 824DD4B + msgbox BattleFrontier_BattlePalaceLobby_Text_24F3F4, 4 + goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5 + end + +BattleFrontier_BattlePalaceLobby_EventScript_24DD59:: @ 824DD59 + releaseall + end + +BattleFrontier_BattlePalaceLobby_Text_24DD5B: @ 824DD5B + .string "Where the hearts of TRAINERS\n" + .string "are put to the test.\p" + .string "I welcome you to the BATTLE PALACE.\p" + .string "I accept challenges to the SINGLE\n" + .string "BATTLE HALLS.$" + +BattleFrontier_BattlePalaceLobby_Text_24DDE1: @ 824DDE1 + .string "Do you wish to take\n" + .string "the SINGLE BATTLE HALL challenge?$" + +BattleFrontier_BattlePalaceLobby_Text_24DE17: @ 824DE17 + .string "In the BATTLE PALACE, there are\n" + .string "several auditoriums for SINGLE BATTLES\l" + .string "that are named SINGLE BATTLE HALLS.\p" + .string "The SINGLE BATTLES are conducted in\n" + .string "the usual way, except with one crucial\l" + .string "rule that must be obeyed.\p" + .string "TRAINERS are permitted only to switch\n" + .string "their POKéMON in and out.\p" + .string "TRAINERS are otherwise forbidden to\n" + .string "command their POKéMON.\p" + .string "The POKéMON are to behave according\n" + .string "to their nature and battle on their own.\p" + .string "You must put your trust in your\n" + .string "POKéMON and watch over them.\p" + .string "If you achieve the honor of beating\n" + .string "seven TRAINERS in succession,\l" + .string "we will present you with Battle Points.\p" + .string "If you want to interrupt your\n" + .string "challenge, you must save the game.\p" + .string "If you don’t save before interrupting,\n" + .string "you will be disqualified.$" + +BattleFrontier_BattlePalaceLobby_Text_24E0D8: @ 824E0D8 + .string "When you have fortified your heart\n" + .string "and POKéMON, you must return.$" + +BattleFrontier_BattlePalaceLobby_Text_24E119: @ 824E119 + .string "There are two BATTLE HALLS,\n" + .string "Level 50 and Open Level.\l" + .string "Which is your choice of a challenge?$" + +BattleFrontier_BattlePalaceLobby_Text_24E173: @ 824E173 + .string "Sigh…\p" + .string "You do not have the three POKéMON\n" + .string "required for the challenge.\p" + .string "To enter, you must provide three\n" + .string "different kinds of POKéMON.\p" + .string "These POKéMON must all be of\n" + .string "Level 50 or lower.\p" + .string "They also must not be holding\n" + .string "the same kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "Come back when you have made\n" + .string "your preparations.$" + +BattleFrontier_BattlePalaceLobby_Text_24E29E: @ 824E29E + .string "Sigh…\p" + .string "You do not have the three POKéMON\n" + .string "required for the challenge.\p" + .string "To enter, you must provide three\n" + .string "different kinds of POKéMON.\p" + .string "They also must not be holding\n" + .string "the same kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "Come back when you have made\n" + .string "your preparations.$" + +BattleFrontier_BattlePalaceLobby_Text_24E399: @ 824E399 + .string "Good. Now, you must select your\n" + .string "three POKéMON.$" + +BattleFrontier_BattlePalaceLobby_Text_24E3C8: @ 824E3C8 + .string "I must save before I show you to\n" + .string "the BATTLE HALL. Is that okay?$" + +BattleFrontier_BattlePalaceLobby_Text_24E408: @ 824E408 + .string "Good.\n" + .string "Now, follow me.$" + +BattleFrontier_BattlePalaceLobby_Text_24E41E: @ 824E41E + .string "I feel privileged for having seen\n" + .string "your POKéMON’s exploits.\p" + .string "The results will be recorded.\n" + .string "I must ask you to briefly wait.$" + +BattleFrontier_BattlePalaceLobby_Text_24E497: @ 824E497 + .string "To achieve a 7-win streak…\p" + .string "The bonds that bind your heart with\n" + .string "your POKéMON seem firm and true.$" + +BattleFrontier_BattlePalaceLobby_Text_24E4F7: @ 824E4F7 + .string "Your feat will be recorded.\n" + .string "I must ask you to briefly wait.$" + +BattleFrontier_BattlePalaceLobby_Text_24E533: @ 824E5333 + .string "For the feat of your 7-win streak,\n" + .string "we present you with Battle Point(s).$" + +VerdanturfTown_BattleTentLobby_Text_24E57B: @ 824E57B + .string "You seem to have no space for\n" + .string "our prize.\p" + .string "You should return when you have\n" + .string "organized your BAG.$" + +BattleFrontier_BattlePalaceLobby_Text_24E5D8: @ 824E5D8 +VerdanturfTown_BattleTentLobby_Text_24E5D8: @ 824E5D8 + .string "We have been waiting for you…$" + +BattleFrontier_BattlePalaceLobby_Text_24E5F6: @ 824E5F6 +VerdanturfTown_BattleTentLobby_Text_24E5F6: @ 824E5F6 + .string "I must save before I show you to\n" + .string "the BATTLE HALL. Is that okay?$" + +BattleFrontier_BattlePalaceLobby_Text_24E636: @ 824E636 +VerdanturfTown_BattleTentLobby_Text_24E636: @ 824E636 + .string "Sigh…\p" + .string "You failed to save before you ended\n" + .string "your challenge the last time.\p" + .string "As a result, your challenge has been\n" + .string "disqualified. It is most unfortunate.$" + +BattleFrontier_BattlePalaceLobby_Text_24E6C9: @ 824E6C9 + .string "{PLAYER} received the prize\n" + .string "{STR_VAR_1}.$" + +BattleFrontier_BattlePalaceLobby_Text_24E6E3: @ 824E6E3 + .string "For a hardy fellow like me,\n" + .string "hardy POKéMON are the best.\p" + .string "Offense is the best defense!\n" + .string "A relentless attack is the ultimate!\p" + .string "But that’s not what I wanted to chat\n" + .string "about.\p" + .string "Every so often a really cute lady\n" + .string "swings by here.\p" + .string "She says that she can tell what\n" + .string "POKéMON are thinking.\p" + .string "I don’t know about that part,\n" + .string "but she is really cute.\p" + .string "Huh?\n" + .string "Why are you looking at me like that?$" + +BattleFrontier_BattlePalaceLobby_Text_24E851: @ 824E851 + .string "Hmm…\p" + .string "It appears that the nature of POKéMON\n" + .string "and the moves that they have been\l" + .string "taught are the keys to battle here.\p" + .string "To be more precise, it’s how well\n" + .string "the moves match the nature of\l" + .string "the POKéMON.\p" + .string "If your POKéMON is in trouble and\n" + .string "unable to live up to its potential,\l" + .string "you may need to examine how well\l" + .string "its moves match its nature.$" + +BattleFrontier_BattlePalaceLobby_Text_24E992: @ 824E992 + .string "My POKéMON is usually very docile.\p" + .string "But when it’s in a BATTLE HALL,\n" + .string "it sometimes seems to become\l" + .string "transformed into something wicked!\p" + .string "It becomes totally intimidating.\n" + .string "It’s shocking, even.$" + +BattleFrontier_BattlePalaceLobby_Text_24EA4B: @ 824EA4B + .string "I wonder what sort of nature a POKéMON\n" + .string "would have if it favored enfeebling its\l" + .string "opponents and chipping away slowly.\p" + .string "I’d be surprised if it was a LAX nature.\p" + .string "But, nah, that can’t be right.$" + +BattleFrontier_BattlePalaceLobby_Text_24EB06: @ 824EB06 + .string "Where the hearts of TRAINERS\n" + .string "are put to the test.\p" + .string "I welcome you to the BATTLE PALACE.\p" + .string "I accept challenges to the DOUBLE\n" + .string "BATTLE HALLS.$" + +BattleFrontier_BattlePalaceLobby_Text_24EB8C: @ 824EB8C + .string "Do you wish to take\n" + .string "the DOUBLE BATTLE HALL challenge?$" + +BattleFrontier_BattlePalaceLobby_Text_24EBC2: @ 824EBC2 + .string "In the BATTLE PALACE, there are\n" + .string "several auditoriums for DOUBLE BATTLES\l" + .string "that are named DOUBLE BATTLE HALLS.\p" + .string "The DOUBLE BATTLES are conducted in\n" + .string "the usual way, except with one crucial\l" + .string "rule that must be obeyed.\p" + .string "TRAINERS are permitted only to switch\n" + .string "their POKéMON in and out.\p" + .string "TRAINERS are otherwise forbidden to\n" + .string "command their POKéMON.\p" + .string "The POKéMON are to behave according\n" + .string "to their nature and battle on their own.\p" + .string "You must put your trust in your\n" + .string "POKéMON and watch over them.\p" + .string "If you achieve the honor of beating\n" + .string "seven TRAINERS in succession,\l" + .string "we will present you with Battle Points.\p" + .string "If you want to interrupt your\n" + .string "challenge, please save the game.\p" + .string "If you don’t save before interrupting,\n" + .string "you will be disqualified.$" + +BattleFrontier_BattlePalaceLobby_Text_24EE81: @ 824EE81 + .string "To defeat the PALACE MAVEN\n" + .string "and seven TRAINERS in a row…$" + +BattleFrontier_BattlePalaceLobby_Text_24EEB9: @ 824EEB9 + .string "In honor of the bond you share with\n" + .string "your POKéMON, we present you with\l" + .string "these Battle Point(s).$" + +BattleFrontier_BattlePalaceLobby_Text_24EF16: @ 824EF16 + .string "Would you like to record your latest\n" + .string "BATTLE PALACE match on your\l" + .string "FRONTIER PASS?$" + +BattleFrontier_BattlePalaceLobby_Text_24EF66: @ 824EF66 + .string "The BATTLE HALL rules are listed.$" + +BattleFrontier_BattlePalaceLobby_Text_24EF88: @ 824EF88 +VerdanturfTown_BattleTentLobby_Text_24EF88: @ 824EF88 + .string "Which heading do you want to read?$" + +BattleFrontier_BattlePalaceLobby_Text_24EFAB: @ 824EFAB +VerdanturfTown_BattleTentLobby_Text_24EFAB: @ 824EFAB + .string "Here, POKéMON are required to think\n" + .string "and battle by themselves.\p" + .string "Unlike in the wild, POKéMON that live\n" + .string "with people behave differently\l" + .string "depending on their nature.$" + +BattleFrontier_BattlePalaceLobby_Text_24F049: @ 824F049 +VerdanturfTown_BattleTentLobby_Text_24F049: @ 824F049 + .string "Depending on its nature, a POKéMON\n" + .string "may prefer to attack no matter what.\p" + .string "Another POKéMON may prefer to protect\n" + .string "itself from any harm.\p" + .string "Yet another may enjoy vexing or\n" + .string "confounding its foes.\p" + .string "Due to its nature, a POKéMON\n" + .string "will have favorite moves that it is good\l" + .string "at using.\p" + .string "It may also dislike certain moves that\n" + .string "it has trouble using.$" + +BattleFrontier_BattlePalaceLobby_Text_24F190: @ 824F190 +VerdanturfTown_BattleTentLobby_Text_24F190: @ 824F190 + .string "There are offensive moves that inflict\n" + .string "direct damage on the foe.\p" + .string "There are defensive moves that are\n" + .string "used to prepare for enemy attacks or\l" + .string "used to heal HP and so on.\p" + .string "There are also other somewhat-odd\n" + .string "moves that may enfeeble the foes with\l" + .string "stat problems including poison and \l" + .string "paralysis.\p" + .string "POKéMON will consider using moves in\n" + .string "these three categories.$" + +BattleFrontier_BattlePalaceLobby_Text_24F2E8: @ 824F2E8 +VerdanturfTown_BattleTentLobby_Text_24F2E8: @ 824F2E8 + .string "When not under command by its TRAINER,\n" + .string "a POKéMON may be unable to effectively\l" + .string "use certain moves.\p" + .string "A POKéMON is not good at using any\n" + .string "move that it dislikes.\p" + .string "If a POKéMON only knows moves that\n" + .string "do not match its nature, it will often\l" + .string "be unable to live up to its potential.$" + +BattleFrontier_BattlePalaceLobby_Text_24F3F4: @ 824F3F4 +VerdanturfTown_BattleTentLobby_Text_24F3F4: @ 824F3F4 + .string "Depending on its nature, a POKéMON may\n" + .string "start using moves that don’t match its\l" + .string "nature when it is in trouble.\p" + .string "If a POKéMON begins behaving oddly\n" + .string "in a pinch, watch it carefully.$" + diff --git a/data/scripts/maps/BattleFrontier_BattlePikeCorridor.inc b/data/scripts/maps/BattleFrontier_BattlePikeCorridor.inc new file mode 100644 index 0000000000..06335dddf8 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattlePikeCorridor.inc @@ -0,0 +1,69 @@ +BattleFrontier_BattlePikeCorridor_MapScripts:: @ 825C771 + map_script 2, BattleFrontier_BattlePikeCorridor_MapScript2_25C77C + map_script 4, BattleFrontier_BattlePikeCorridor_MapScript2_25C7F7 + .byte 0 + +BattleFrontier_BattlePikeCorridor_MapScript2_25C77C: @ 825C77C + map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePikeCorridor_EventScript_25C786 + .2byte 0 + +BattleFrontier_BattlePikeCorridor_EventScript_25C786:: @ 825C786 + delay 16 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 1 + special sub_81A1780 + setvar VAR_0x8004, 20 + special sub_81A703C + setvar VAR_0x8004, 24 + setvar VAR_0x8005, 1 + special sub_81A703C + applymovement 255, BattleFrontier_BattlePikeCorridor_Movement_25C80B + applymovement 1, BattleFrontier_BattlePikeCorridor_Movement_25C812 + waitmovement 0 + lockall + msgbox BattleFrontier_BattlePikeCorridor_Text_25C817, 4 + closemessage + releaseall + applymovement 255, BattleFrontier_BattlePikeCorridor_Movement_25C80E + waitmovement 0 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 99 + special sub_81A1780 + call BattleFrontier_BattlePikeCorridor_EventScript_25BB49 + warpsilent BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM, 255, 6, 10 + waitstate + end + +BattleFrontier_BattlePikeCorridor_MapScript2_25C7F7: @ 825C7F7 + map_script_2 VAR_0x4001, 0, BattleFrontier_BattlePikeCorridor_EventScript_25C801 + .2byte 0 + +BattleFrontier_BattlePikeCorridor_EventScript_25C801:: @ 825C801 + setvar VAR_0x4001, 1 + turnobject 255, 2 + end + +BattleFrontier_BattlePikeCorridor_Movement_25C80B: @ 825C80B + step_up + step_up + step_end + +BattleFrontier_BattlePikeCorridor_Movement_25C80E: @ 825C80E + step_up + step_up + step_54 + step_end + +BattleFrontier_BattlePikeCorridor_Movement_25C812: @ 825C812 + step_up + step_up + step_left + step_00 + step_end + +BattleFrontier_BattlePikeCorridor_Text_25C817: @ 825C817 + .string "Your Battle Choice challenge\n" + .string "has now begun…$" + diff --git a/data/scripts/maps/BattleFrontier_BattlePikeLobby.inc b/data/scripts/maps/BattleFrontier_BattlePikeLobby.inc new file mode 100644 index 0000000000..40b5e437fc --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattlePikeLobby.inc @@ -0,0 +1,497 @@ +BattleFrontier_BattlePikeLobby_MapScripts:: @ 825B6C6 + map_script 2, BattleFrontier_BattlePikeLobby_MapScript2_25B6D1 + map_script 4, BattleFrontier_BattlePikeLobby_MapScript2_25B6F3 + .byte 0 + +BattleFrontier_BattlePikeLobby_MapScript2_25B6D1: @ 825B6D1 + map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePikeLobby_EventScript_25B707 + map_script_2 VAR_0x4000, 1, BattleFrontier_BattlePikeLobby_EventScript_25B710 + map_script_2 VAR_0x4000, 3, BattleFrontier_BattlePikeLobby_EventScript_25B762 + map_script_2 VAR_0x4000, 4, BattleFrontier_BattlePikeLobby_EventScript_25B806 + .2byte 0 + +BattleFrontier_BattlePikeLobby_MapScript2_25B6F3: @ 825B6F3 + map_script_2 VAR_0x4001, 0, BattleFrontier_BattlePikeLobby_EventScript_25B6FD + .2byte 0 + +BattleFrontier_BattlePikeLobby_EventScript_25B6FD:: @ 825B6FD + setvar VAR_0x4001, 1 + turnobject 255, 2 + end + +BattleFrontier_BattlePikeLobby_EventScript_25B707:: @ 825B707 + setvar VAR_0x8004, 0 + special sub_81A1780 + end + +BattleFrontier_BattlePikeLobby_EventScript_25B710:: @ 825B710 + special HealPlayerParty + setvar VAR_0x8004, 27 + special sub_81A703C + lockall + msgbox BattleFrontier_BattlePikeLobby_Text_25C2E0, 4 + closemessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 0 + special sub_81A703C + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 4 + setvar VAR_0x8006, 0 + special sub_81A703C + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x4000, 255 + releaseall + end + +BattleFrontier_BattlePikeLobby_EventScript_25B762:: @ 825B762 + lockall + setvar VAR_0x8004, 10 + special sub_81A1780 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattlePikeLobby_EventScript_25B784 + msgbox BattleFrontier_BattlePikeLobby_Text_25C18A, 4 + waitmessage + goto BattleFrontier_BattlePikeLobby_EventScript_25B78D + +BattleFrontier_BattlePikeLobby_EventScript_25B784:: @ 825B784 + msgbox BattleFrontier_BattlePikeLobby_Text_25C383, 4 + waitmessage + +BattleFrontier_BattlePikeLobby_EventScript_25B78D:: @ 825B78D + msgbox BattleFrontier_BattlePikeLobby_Text_25C3D9, 4 + setvar VAR_0x8004, 11 + special sub_81A1780 + msgbox BattleFrontier_BattlePikeLobby_Text_241520, 9 + setvar VAR_0x8004, 8 + special sub_81A1780 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 3 + special sub_81A703C + addvar VAR_RESULT, 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A703C + special copy_player_party_from_sav1 + special HealPlayerParty + setvar VAR_0x8004, 27 + special sub_81A703C + message BattleFrontier_BattlePikeLobby_Text_25C1DF + waitmessage + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 0 + special sub_81A703C + playse SE_SAVE + waitse + msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, 4 + closemessage + setvar VAR_0x4000, 255 + releaseall + end + +BattleFrontier_BattlePikeLobby_EventScript_25B806:: @ 825B806 + lockall + message BattleFrontier_BattlePikeLobby_Text_25C146 + waitmessage + setvar VAR_0x8004, 8 + special sub_81A1780 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 4 + setvar VAR_0x8006, 0 + special sub_81A703C + special copy_player_party_from_sav1 + special HealPlayerParty + setvar VAR_0x8004, 27 + special sub_81A703C + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 0 + special sub_81A703C + playse SE_SAVE + waitse + msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, 4 + closemessage + setvar VAR_0x4000, 255 + releaseall + end + +BattleFrontier_BattlePikeLobby_EventScript_25B868:: @ 825B868 + lock + faceplayer + setvar VAR_FRONTIER_FACILITY, 5 + setvar VAR_0x40CE, 0 + special copy_player_party_to_sav1 + msgbox BattleFrontier_BattlePikeLobby_Text_25BB52, 4 + +BattleFrontier_BattlePikeLobby_EventScript_25B87F:: @ 825B87F + message BattleFrontier_BattlePikeLobby_Text_25BBC1 + waitmessage + multichoice 17, 6, 23, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattlePikeLobby_EventScript_25B8BB + case 1, BattleFrontier_BattlePikeLobby_EventScript_25BA1A + case 2, BattleFrontier_BattlePikeLobby_EventScript_25BA76 + case 127, BattleFrontier_BattlePikeLobby_EventScript_25BA76 + +BattleFrontier_BattlePikeLobby_EventScript_25B8BB:: @ 825B8BB + message BattleFrontier_BattlePikeLobby_Text_25BE35 + waitmessage + multichoice 17, 6, 24, 0 + switch VAR_RESULT + case 2, BattleFrontier_BattlePikeLobby_EventScript_25BA76 + case 127, BattleFrontier_BattlePikeLobby_EventScript_25BA76 + setvar VAR_0x8004, 15 + special sub_81A1780 + compare VAR_0x8004, 1 + goto_eq BattleFrontier_BattlePikeLobby_EventScript_25BA27 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A1780 + msgbox BattleFrontier_BattlePikeLobby_Text_25C094, 4 + fadescreen 1 + call BattleFrontier_BattlePikeLobby_EventScript_23F2B7 + copyvar VAR_0x8004, VAR_RESULT + setvar VAR_0x8005, 3 + special sub_80F9490 + waitstate + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePikeLobby_EventScript_25BA73 + msgbox BattleFrontier_BattlePikeLobby_Text_25C0D8, 5 + switch VAR_RESULT + case 0, BattleFrontier_BattlePikeLobby_EventScript_25BA73 + case 1, BattleFrontier_BattlePikeLobby_EventScript_25B95C + case 127, BattleFrontier_BattlePikeLobby_EventScript_25BA73 + +BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C + setvar VAR_0x4000, 0 + setvar VAR_0x4001, 0 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 4 + special sub_81A1780 + setvar VAR_0x8004, 28 + special sub_81A703C + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 1 + special sub_81A1780 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 4 + setvar VAR_0x8006, 1 + special sub_81A703C + setvar VAR_0x8004, 26 + special sub_81A703C + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + special copy_player_party_from_sav1 + closemessage + delay 2 + call BattleFrontier_BattlePikeLobby_EventScript_27134F + setvar VAR_0x4000, 255 + setvar VAR_0x8004, 26 + special sub_81A703C + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePikeLobby_EventScript_25BA5C + special copy_player_party_to_sav1 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 3 + special sub_81A1780 + msgbox BattleFrontier_BattlePikeLobby_Text_25C130, 4 + closemessage + setvar VAR_0x8004, 5 + special sub_81A1780 + call BattleFrontier_BattlePikeLobby_EventScript_25BA94 + special HealPlayerParty + call BattleFrontier_BattlePikeLobby_EventScript_25BB49 + warpsilent BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR, 255, 6, 7 + setvar VAR_0x4000, 0 + waitstate + end + +BattleFrontier_BattlePikeLobby_EventScript_25BA1A:: @ 825BA1A + msgbox BattleFrontier_BattlePikeLobby_Text_25BBF5, 4 + goto BattleFrontier_BattlePikeLobby_EventScript_25B87F + +BattleFrontier_BattlePikeLobby_EventScript_25BA27:: @ 825BA27 + switch VAR_RESULT + case 0, BattleFrontier_BattlePikeLobby_EventScript_25BA42 + case 1, BattleFrontier_BattlePikeLobby_EventScript_25BA4F + +BattleFrontier_BattlePikeLobby_EventScript_25BA42:: @ 825BA42 + msgbox BattleFrontier_BattlePikeLobby_Text_25BE8C, 4 + goto BattleFrontier_BattlePikeLobby_EventScript_25BA7E + +BattleFrontier_BattlePikeLobby_EventScript_25BA4F:: @ 825BA4F + msgbox BattleFrontier_BattlePikeLobby_Text_25BF9A, 4 + goto BattleFrontier_BattlePikeLobby_EventScript_25BA7E + +BattleFrontier_BattlePikeLobby_EventScript_25BA5C:: @ 825BA5C + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + goto BattleFrontier_BattlePikeLobby_EventScript_25BA76 + +BattleFrontier_BattlePikeLobby_EventScript_25BA73:: @ 825BA73 + special copy_player_party_from_sav1 + +BattleFrontier_BattlePikeLobby_EventScript_25BA76:: @ 825BA76 + msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, 4 + +BattleFrontier_BattlePikeLobby_EventScript_25BA7E:: @ 825BA7E + release + end + +BattleFrontier_BattlePikeLobby_EventScript_25BA80:: @ 825BA80 + lockall + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 5 + special sub_81A1780 + waitbuttonpress + special sub_813C5A0 + releaseall + end + +BattleFrontier_BattlePikeLobby_EventScript_25BA94:: @ 825BA94 + applymovement 1, BattleFrontier_BattlePikeLobby_Movement_25BAA7 + applymovement 255, BattleFrontier_BattlePikeLobby_Movement_25BAA6 + waitmovement 0 + return + +BattleFrontier_BattlePikeLobby_Movement_25BAA6: @ 825BAA6 + step_up + +BattleFrontier_BattlePikeLobby_Movement_25BAA7: @ 825BAA7 + step_up + step_up + step_54 + step_end + +BattleFrontier_BattlePikeLobby_EventScript_25BAAB:: @ 825BAAB + msgbox BattleFrontier_BattlePikeLobby_Text_25C422, 2 + end + +BattleFrontier_BattlePikeLobby_EventScript_25BAB4:: @ 825BAB4 + msgbox BattleFrontier_BattlePikeLobby_Text_25C4A5, 2 + end + +BattleFrontier_BattlePikeLobby_EventScript_25BABD:: @ 825BABD + msgbox BattleFrontier_BattlePikeLobby_Text_25C4FD, 2 + end + +BattleFrontier_BattlePikeLobby_EventScript_25BAC6:: @ 825BAC6 + lockall + msgbox BattleFrontier_BattlePikeLobby_Text_25C5FB, 4 + goto BattleFrontier_BattlePikeLobby_EventScript_25BAD5 + end + +BattleFrontier_BattlePikeLobby_EventScript_25BAD5:: @ 825BAD5 + message BattleFrontier_BattlePikeLobby_Text_25C621 + waitmessage + multichoice 16, 4, 102, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattlePikeLobby_EventScript_25BB1D + case 1, BattleFrontier_BattlePikeLobby_EventScript_25BB2B + case 2, BattleFrontier_BattlePikeLobby_EventScript_25BB39 + case 3, BattleFrontier_BattlePikeLobby_EventScript_25BB47 + case 127, BattleFrontier_BattlePikeLobby_EventScript_25BB47 + end + +BattleFrontier_BattlePikeLobby_EventScript_25BB1D:: @ 825BB1D + msgbox BattleFrontier_BattlePikeLobby_Text_25C644, 4 + goto BattleFrontier_BattlePikeLobby_EventScript_25BAD5 + end + +BattleFrontier_BattlePikeLobby_EventScript_25BB2B:: @ 825BB2B + msgbox BattleFrontier_BattlePikeLobby_Text_25C68A, 4 + goto BattleFrontier_BattlePikeLobby_EventScript_25BAD5 + end + +BattleFrontier_BattlePikeLobby_EventScript_25BB39:: @ 825BB39 + msgbox BattleFrontier_BattlePikeLobby_Text_25C6EB, 4 + goto BattleFrontier_BattlePikeLobby_EventScript_25BAD5 + end + +BattleFrontier_BattlePikeLobby_EventScript_25BB47:: @ 825BB47 + releaseall + end + +BattleFrontier_BattlePikeCorridor_EventScript_25BB49:: @ 825BB49 +BattleFrontier_BattlePikeLobby_EventScript_25BB49:: @ 825BB49 +BattleFrontier_BattlePikeRandomRoom1_EventScript_25BB49:: @ 825BB49 +BattleFrontier_BattlePikeThreePathRoom_EventScript_25BB49:: @ 825BB49 + playse 267 + special sub_813B880 + waitstate + waitse + return + +BattleFrontier_BattlePikeLobby_Text_25BB52: @ 825BB52 + .string "Where the luck of TRAINERS\n" + .string "is put to the test…\p" + .string "Welcome to the BATTLE PIKE…\p" + .string "I am your guide to the BATTLE PIKE…$" + +BattleFrontier_BattlePikeLobby_Text_25BBC1: @ 825BBC1 + .string "Would you like to take the Battle\n" + .string "Choice challenge?$" + +BattleFrontier_BattlePikeLobby_Text_25BBF5: @ 825BBF5 + .string "Here we conduct an event we call\n" + .string "the Battle Choice.\p" + .string "The Battle Choice rules are very\n" + .string "simple…\p" + .string "Choose one of three paths and make\n" + .string "your way to the goal room at the end\l" + .string "of the BATTLE PIKE. It’s that simple.\p" + .string "However, what happens on the chosen\n" + .string "path depends entirely on the luck\l" + .string "of the challenger…\p" + .string "If you reach the goal, you will be\n" + .string "rewarded with Battle Points.\p" + .string "If you want to interrupt your\n" + .string "challenge, please have a word with\l" + .string "our staff in the big rooms on the way.\p" + .string "If you don’t save before interrupting,\n" + .string "you will be disqualified.$" + +BattleFrontier_BattlePikeLobby_Text_25BE02: @ 825BE02 + .string "We look forward to seeing you\n" + .string "on another occasion…$" + +BattleFrontier_BattlePikeLobby_Text_25BE35: @ 825BE35 + .string "You have the choice of two courses,\n" + .string "Level 50 and Open Level.\l" + .string "Which will you challenge?$" + +BattleFrontier_BattlePikeLobby_Text_25BE8C: @ 825BE8C + .string "I beg your pardon, but…\p" + .string "You do not have three eligible\n" + .string "POKéMON for the Battle Choice event.\p" + .string "You must have three different POKéMON\n" + .string "of Level 50 or less to enter.\p" + .string "They also must be holding different\n" + .string "kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "Please come see me when\n" + .string "you are ready…$" + +BattleFrontier_BattlePikeLobby_Text_25BF9A: @ 825BF9A + .string "I beg your pardon, but…\p" + .string "You do not have three eligible\n" + .string "POKéMON for the Battle Choice event.\p" + .string "You must have three different\n" + .string "POKéMON to enter.\p" + .string "They also must be holding different\n" + .string "kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "Please come see me when\n" + .string "you are ready…$" + +BattleFrontier_BattlePikeLobby_Text_25C094: @ 825C094 + .string "Please choose the three POKéMON\n" + .string "you wish to enter in the challenge…$" + +BattleFrontier_BattlePikeLobby_Text_25C0D8: @ 825C0D8 + .string "Before starting your Battle Choice\n" + .string "challenge, I must save the game.\l" + .string "Is that acceptable?$" + +BattleFrontier_BattlePikeLobby_Text_25C130: @ 825C130 + .string "Please step this way…$" + +BattleFrontier_BattlePikeLobby_Text_25C146: @ 825C146 + .string "Your challenge has ended…\p" + .string "I shall record your results.\n" + .string "Please wait…$" + +BattleFrontier_BattlePikeLobby_Text_25C18A: @ 825C18A + .string "You have completed the challenge…\p" + .string "I must say… You seem to possess luck\n" + .string "in abundance…$" + +BattleFrontier_BattlePikeLobby_Text_25C1DF: @ 825C1DF + .string "I shall record your results.\n" + .string "Please wait…$" + +BattleFrontier_BattlePikeLobby_Text_25C209: @ 825C209 + .string "To commemorate your completion of\n" + .string "the Battle Choice challenge, we award\l" + .string "you these Battle Point(s)…$" + +BattleFrontier_BattlePikeLobby_Text_25C26C: @ 825C26C + .string "You appear to have reached the limit\n" + .string "for Battle Points…\pPlease exchange some Battle Points\n" + .string "for prizes, then return…$" + +BattleFrontier_BattlePikeLobby_Text_25C2E0: @ 825C2E0 + .string "I beg your pardon, but…\p" + .string "You failed to save before you quit\n" + .string "your challenge the last time.\p" + .string "Because of that, your challenge so far\n" + .string "has been disqualified. I am sorry…$" + +BattleFrontier_BattlePikeLobby_Text_25C383: @ 825C383 + .string "Congratulations…\p" + .string "You have snatched victory from the\n" + .string "PIKE QUEEN and cleared the event…$" + +BattleFrontier_BattlePikeLobby_Text_25C3D9: @ 825C3D9 + .string "In recognition of your amazing luck,\n" + .string "we award you these Battle Point(s)…$" + +BattleFrontier_BattlePikeLobby_Text_25C422: @ 825C422 + .string "Arrgh! I blew my chance!\n" + .string "I was one room away from the goal!\p" + .string "In this place, you’d better watch out\n" + .string "for poison, freezing, and so on.$" + +BattleFrontier_BattlePikeLobby_Text_25C4A5: @ 825C4A5 + .string "I’ve completed the challenge 10 times\n" + .string "now, but I’ve never had to battle\l" + .string "a TRAINER once.$" + +BattleFrontier_BattlePikeLobby_Text_25C4FD: @ 825C4FD + .string "Listen! Listen!\p" + .string "Don’t you think that the special\n" + .string "abilities of POKéMON will be useful\l" + .string "here?$" + +BattleFrontier_BattlePikeLobby_Text_25C558: @ 825C558 + .string "What is this weird place?\n" + .string "I can’t figure it out at all!\p" + .string "I’ve taken the challenge a bunch\n" + .string "of times, but all I ever do is run into\l" + .string "TRAINERS whichever path I choose.$" + +BattleFrontier_BattlePikeLobby_Text_25C5FB: @ 825C5FB + .string "The Battle Choice’s rules are listed.$" + +BattleFrontier_BattlePikeLobby_Text_25C621: @ 825C621 + .string "Which heading do you want to read?$" + +BattleFrontier_BattlePikeLobby_Text_25C644: @ 825C644 + .string "The BAG and POKéNAV may not be used\n" + .string "during a Battle Choice challenge.$" + +BattleFrontier_BattlePikeLobby_Text_25C68A: @ 825C68A + .string "During a Battle Choice challenge,\n" + .string "any BERRY or HERB held by POKéMON\l" + .string "will be effective only once.$" + +BattleFrontier_BattlePikeLobby_Text_25C6EB: @ 825C6EB + .string "During a Battle Choice challenge,\n" + .string "the sequence of POKéMON cannot be\l" + .string "changed.\p" + .string "The sequence must be set before\n" + .string "starting your challenge.$" + diff --git a/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom1.inc b/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom1.inc new file mode 100644 index 0000000000..30245d984a --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom1.inc @@ -0,0 +1,895 @@ +BattleFrontier_BattlePikeRandomRoom1_MapScripts:: @ 825D152 + map_script 5, BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C423E + map_script 3, BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C3E25 + map_script 2, BattleFrontier_BattlePikeRandomRoom1_MapScript2_25D167 + map_script 4, BattleFrontier_BattlePikeRandomRoom1_MapScript2_2C3EDE + .byte 0 + +BattleFrontier_BattlePikeRandomRoom1_MapScript2_25D167: @ 825D167 + map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D171 + .2byte 0 + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D171:: @ 825D171 + setvar VAR_0x4000, 1 + setvar VAR_0x8004, 5 + special sub_81A703C + switch VAR_RESULT + case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D1C6 + case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D50E + case 3, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D605 + case 6, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D231 + case 7, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E + case 8, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2BF + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D1C6:: @ 825D1C6 + lockall + delay 16 + applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D795 + waitmovement 0 + setvar VAR_0x8004, 21 + setvar VAR_0x8005, 0 + special sub_81A703C + msgbox 0x2021fc4, 4 + waitmessage + closemessage + releaseall + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 0 + special sub_8163AC4 + waitstate + switch VAR_RESULT + case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D226 + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D20A:: @ 825D20A + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 4 + special sub_81A1780 + warp BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6 + waitstate + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D226:: @ 825D226 + applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D798 + waitmovement 0 + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D231:: @ 825D231 + lockall + delay 16 + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DDFE, 4 + waitmessage + closemessage + applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D795 + waitmovement 0 + setvar VAR_0x8004, 21 + setvar VAR_0x8005, 0 + special sub_81A703C + msgbox 0x2021fc4, 4 + waitmessage + closemessage + releaseall + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 0 + special sub_8163AC4 + waitstate + switch VAR_RESULT + case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D285 + goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D20A + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D285:: @ 825D285 + applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D798 + waitmovement 0 + applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B6 + waitmovement 0 + lock + faceplayer + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DE3F, 4 + playfanfare MUS_ME_ASA + waitfanfare + special HealPlayerParty + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DE94, 4 + closemessage + release + applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D798 + waitmovement 0 + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2BF:: @ 825D2BF + delay 22 + lockall + applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DF + waitmovement 0 + setvar VAR_0x8004, 23 + special sub_81A703C + switch VAR_RESULT + case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4DC + case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4EA + case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4FC + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB:: @ 825D2FB + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E311, 4 + closemessage + special SpawnScriptFieldObject + applymovement 127, BattleFrontier_BattlePikeRandomRoom1_Movement_25D9B0 + applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E2 + waitmovement 0 + playse 267 + call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D8E7 + delay 4 + call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D8A4 + delay 4 + call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D96D + delay 4 + waitse + delay 60 + playse 268 + delay 65 + call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D8A4 + showobjectat 1, BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_1 + delay 4 + call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D8E7 + delay 4 + call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D92A + waitse + applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E7 + waitmovement 0 + setvar VAR_0x8004, 22 + special sub_81A703C + switch VAR_RESULT + case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D416 + case 3, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD + case 4, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D443 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 7 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DED2, 4 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 7 + special sub_81A1780 + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD:: @ 825D3BD + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DF71, 4 + call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D77B + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3DA + goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D20A + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3DA:: @ 825D3DA + setvar VAR_0x8004, 12 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DFA2, 4 + waitmessage + playfanfare MUS_ME_SYMBOLGET + message BattleFrontier_BattlePikeRandomRoom1_Text_25DFD0 + waitmessage + waitfanfare + setvar VAR_0x8004, 13 + special sub_81A1780 + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E003, 4 + closemessage + goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D416:: @ 825D416 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 7 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D443 + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E02C, 4 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 7 + special sub_81A1780 + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D443:: @ 825D443 + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E0E8, 4 + call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D77B + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D460 + goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D20A + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D460:: @ 825D460 + setvar VAR_0x8004, 12 + special sub_81A1780 + compare VAR_RESULT, 2 + goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E0F6, 4 + waitmessage + playfanfare MUS_ME_SYMBOLGET + message BattleFrontier_BattlePikeRandomRoom1_Text_25E118 + waitmessage + waitfanfare + setvar VAR_0x8004, 13 + special sub_81A1780 + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E140, 4 + closemessage + goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D:: @ 825D49D + applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7EA + waitmovement 0 + applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC + waitmovement 0 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + special sub_81A703C + addvar VAR_RESULT, 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A703C + call BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144 + waitstate + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4DC:: @ 825D4DC + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E15D, 4 + goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4EA:: @ 825D4EA + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E1DD, 4 + playfanfare MUS_ME_ASA + waitfanfare + goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4FC:: @ 825D4FC + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E238, 4 + playfanfare MUS_ME_ASA + waitfanfare + goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D50E:: @ 825D50E + lockall + delay 16 + applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D795 + waitmovement 0 + message BattleFrontier_BattlePikeRandomRoom1_Text_25D9B6 + waitmessage + playfanfare MUS_ME_ASA + waitfanfare + special HealPlayerParty + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DA13, 4 + closemessage + applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D798 + waitmovement 0 + releaseall + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E:: @ 825D53E + lockall + delay 16 + applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C1 + applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C3 + waitmovement 0 + applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C5 + applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C5 + waitmovement 0 + applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C8 + applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7CA + waitmovement 0 + applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BB + waitmovement 0 + setvar VAR_0x8004, 21 + setvar VAR_0x8005, 0 + special sub_81A703C + msgbox 0x2021fc4, 4 + closemessage + delay 16 + applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD + waitmovement 0 + setvar VAR_0x8004, 21 + setvar VAR_0x8005, 1 + special sub_81A703C + msgbox 0x2021fc4, 4 + closemessage + setvar VAR_0x8004, 9 + setvar VAR_0x8005, 0 + special sub_8163AC4 + waitstate + switch VAR_RESULT + case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D5DC + goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D20A + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D5DC:: @ 825D5DC + applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD + waitmovement 0 + applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7CC + waitmovement 0 + applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7D4 + waitmovement 0 + applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BF + waitmovement 0 + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D605:: @ 825D605 + lockall + message BattleFrontier_BattlePikeRandomRoom1_Text_25DBD1 + applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7AA + waitmovement 0 + setvar VAR_0x8004, 12 + special sub_81A703C + copyvar VAR_0x8004, VAR_RESULT + compare VAR_0x8004, 0 + call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643 + compare VAR_0x8004, 1 + call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D6D5 + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DD3F, 4 + closemessage + releaseall + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643:: @ 825D643 + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DBE4, 4 + closemessage + waitse + playmoncry SPECIES_KIRLIA, 0 + waitmoncry + setvar VAR_0x8004, 11 + special sub_81A703C + compare VAR_RESULT, 2 + call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D751 + compare VAR_RESULT, 1 + call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D758 + compare VAR_RESULT, 3 + call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D75F + compare VAR_RESULT, 4 + call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D766 + setvar VAR_0x8004, 15 + special sub_81A703C + waitstate + applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A2 + waitmovement 0 + applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B1 + waitmovement 0 + waitse + playmoncry SPECIES_KIRLIA, 0 + waitmoncry + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DCAF, 4 + waitse + playmoncry SPECIES_KIRLIA, 0 + waitmoncry + closemessage + applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B3 + applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A4 + waitmovement 0 + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DCCF, 4 + return + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D6D5:: @ 825D6D5 + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DC01, 4 + closemessage + waitse + playmoncry SPECIES_DUSCLOPS, 0 + waitmoncry + setvar VAR_0x8004, 11 + special sub_81A703C + compare VAR_RESULT, 0 + call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D76D + compare VAR_RESULT, 1 + call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D774 + setvar VAR_0x8004, 15 + special sub_81A703C + waitstate + applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A2 + waitmovement 0 + applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B1 + waitmovement 0 + waitse + playmoncry SPECIES_DUSCLOPS, 0 + waitmoncry + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DCAF, 4 + waitse + playmoncry SPECIES_DUSCLOPS, 0 + waitmoncry + closemessage + applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B3 + applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A4 + waitmovement 0 + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DD06, 4 + return + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D751:: @ 825D751 + message BattleFrontier_BattlePikeRandomRoom1_Text_25DC20 + waitmessage + return + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D758:: @ 825D758 + message BattleFrontier_BattlePikeRandomRoom1_Text_25DC63 + waitmessage + return + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D75F:: @ 825D75F + message BattleFrontier_BattlePikeRandomRoom1_Text_25DC49 + waitmessage + return + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D766:: @ 825D766 + message BattleFrontier_BattlePikeRandomRoom1_Text_25DC33 + waitmessage + return + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D76D:: @ 825D76D + message BattleFrontier_BattlePikeRandomRoom1_Text_25DC97 + waitmessage + return + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D774:: @ 825D774 + message BattleFrontier_BattlePikeRandomRoom1_Text_25DC7C + waitmessage + return + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D77B:: @ 825D77B + closemessage + applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC + waitmovement 0 + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 0 + special sub_8163AC4 + waitstate + return + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D795: @ 825D795 + step_down + step_down + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D798: @ 825D798 + step_up + step_up + step_up + step_54 + step_up + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D79E: @ 825D79E + step_up + step_54 + step_up + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A2: @ 825D7A2 + step_down + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A4: @ 825D7A4 + step_down + step_02 + step_14 + step_14 + step_00 + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7AA: @ 825D7AA + step_15 + step_18 + step_18 + step_15 + step_17 + step_00 + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B1: @ 825D7B1 + step_01 + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B3: @ 825D7B3 + step_left + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B4: @ 825D7B4 + step_03 + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B6: @ 825D7B6 + step_down + step_down + step_right + step_00 + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BB: @ 825D7BB + step_02 + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD: @ 825D7BD + step_03 + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BF: @ 825D7BF + step_01 + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C1: @ 825D7C1 + step_right + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C3: @ 825D7C3 + step_left + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C5: @ 825D7C5 + step_down + step_down + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C8: @ 825D7C8 + step_03 + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7CA: @ 825D7CA + step_02 + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7CC: @ 825D7CC + step_up + step_up + step_up + step_right + step_up + step_54 + step_up + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7D4: @ 825D7D4 + step_up + step_up + step_up + step_left + step_up + step_54 + step_up + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC: @ 825D7DC + step_up + step_up + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DF: @ 825D7DF + step_down + step_down + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E2: @ 825D7E2 + step_up + step_up + step_up + step_54 + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E7: @ 825D7E7 + step_55 + step_down + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D7EA: @ 825D7EA + step_left + step_03 + step_end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D7ED:: @ 825D7ED + setvar VAR_0x8004, 5 + special sub_81A703C + switch VAR_RESULT + case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D81B + case 3, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D831 + case 4, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D83E + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D81B:: @ 825D81B + lock + faceplayer + setvar VAR_0x8004, 14 + special sub_81A703C + msgbox 0x2021fc4, 4 + waitmessage + closemessage + release + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D831:: @ 825D831 + lock + faceplayer + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DDA3, 4 + closemessage + release + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D83E:: @ 825D83E + setvar VAR_0x8004, 13 + special sub_81A703C + compare VAR_RESULT, 2 + call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D881 + compare VAR_RESULT, 1 + call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D875 + playfanfare MUS_ME_ASA + waitfanfare + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DABE, 4 + closemessage + release + applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D79E + waitmovement 0 + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D875:: @ 825D875 + lock + faceplayer + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DA51, 4 + closemessage + return + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D881:: @ 825D881 + lock + faceplayer + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E32E, 4 + closemessage + return + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D88D:: @ 825D88D + lock + faceplayer + msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DDE6, 4 + closemessage + release + applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B4 + waitmovement 0 + end + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D8A4:: @ 825D8A4 + setmetatile 4, 1, 554, 1 + setmetatile 3, 2, 561, 1 + setmetatile 4, 2, 562, 1 + setmetatile 5, 2, 563, 1 + setmetatile 3, 3, 569, 1 + setmetatile 4, 3, 570, 0 + setmetatile 5, 3, 571, 1 + special DrawWholeMapView + return + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D8E7:: @ 825D8E7 + setmetatile 4, 1, 522, 1 + setmetatile 3, 2, 529, 1 + setmetatile 4, 2, 530, 1 + setmetatile 5, 2, 531, 1 + setmetatile 3, 3, 537, 1 + setmetatile 4, 3, 538, 0 + setmetatile 5, 3, 539, 1 + special DrawWholeMapView + return + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D92A:: @ 825D92A + setmetatile 4, 1, 683, 1 + setmetatile 3, 2, 690, 1 + setmetatile 4, 2, 691, 1 + setmetatile 5, 2, 692, 1 + setmetatile 3, 3, 698, 1 + setmetatile 4, 3, 699, 0 + setmetatile 5, 3, 700, 1 + special DrawWholeMapView + return + +BattleFrontier_BattlePikeRandomRoom1_EventScript_25D96D:: @ 825D96D + setmetatile 4, 1, 586, 1 + setmetatile 3, 2, 593, 1 + setmetatile 4, 2, 594, 1 + setmetatile 5, 2, 595, 1 + setmetatile 3, 3, 601, 1 + setmetatile 4, 3, 602, 0 + setmetatile 5, 3, 603, 1 + special DrawWholeMapView + return + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D9B0: @ 825D9B0 + step_up + step_up + step_end + +BattleFrontier_BattlePikeRandomRoom1_Movement_25D9B3: @ 825D9B3 + step_down + step_down + step_end + +BattleFrontier_BattlePikeRandomRoom1_Text_25D9B6: @ 825D9B6 + .string "Welcome…\n" + .string "You must be commended for your luck…\p" + .string "Your POKéMON shall be restored\n" + .string "to full health…$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DA13: @ 825DA13 + .string "I urge you to enjoy the rest of your\n" + .string "Battle Choice challenge…$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DA51: @ 825DA51 + .string "Ah, you’re a lucky one.\n" + .string "I’m in somewhat-good spirits now.\p" + .string "I will restore one of your POKéMON\n" + .string "to full health.$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DABE: @ 825DABE + .string "The best of luck to you.\n" + .string "Farewell.$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DAE1: @ 825DAE1 + .string "Excuse me…\p" + .string "Would you care for a battle?\n" + .string "I’ll restore your POKéMON if you win.$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DB2F: @ 825DB2F + .string "Very well…\n" + .string "Now, shall we?$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DB49: @ 825DB49 + .string "I see…\n" + .string "How unsporting of you…$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DB67: @ 825DB67 + .string "Magnificent…\p" + .string "As promised, I shall restore your\n" + .string "POKéMON to full health.$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DBAE: @ 825DBAE + .string "The best of luck to you.\n" + .string "Farewell.$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DBD1: @ 825DBD1 + .string "Oh, my!\p" + .string "Watch out!$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DBE4: @ 825DBE4 + .string "Now, now!\n" + .string "KIRLIA, stop that!$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DC01: @ 825DC01 + .string "Now, now!\n" + .string "DUSCLOPS, stop that!$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DC20: @ 825DC20 + .string "KIRLIA used TOXIC!$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DC33: @ 825DC33 + .string "KIRLIA used HYPNOSIS!$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DC49: @ 825DC49 + .string "KIRLIA used THUNDER WAVE!$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DC63: @ 825DC63 + .string "KIRLIA used WILL-O-WISP!$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DC7C: @ 825DC7C + .string "DUSCLOPS used WILL-O-WISP!$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DC97: @ 825DC97 + .string "DUSCLOPS used ICE BEAM!$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DCAF: @ 825DCAF + .string "Look here!\n" + .string "That’s quite enough!$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DCCF: @ 825DCCF + .string "I must apologize to you…\p" + .string "My KIRLIA has a TIMID nature…$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DD06: @ 825DD06 + .string "I must apologize to you…\p" + .string "My DUSCLOPS has a TIMID nature…$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DD3F: @ 825DD3F + .string "It attacks without warning if it is\n" + .string "startled by another person…\p" + .string "Are you and your POKéMON all right?$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DDA3: @ 825DDA3 + .string "I do apologize for what happened…\n" + .string "I do hope your POKéMON are fine.$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DDE6: @ 825DDE6 + .string "… … … … … …\n" + .string "… … … … … …$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DDFE: @ 825DDFE + .string "Welcome…\p" + .string "Here, we will have you battle\n" + .string "a somewhat-tough TRAINER…$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DE3F: @ 825DE3F + .string "How wonderful…\p" + .string "To honor your victory, your POKéMON\n" + .string "shall be restored to full health…$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DE94: @ 825DE94 + .string "I urge you to enjoy the rest of your\n" + .string "Battle Choice challenge…$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DED2: @ 825DED2 + .string "I am LUCY…\n" + .string "I am the law here…\l" + .string "For I am the PIKE QUEEN…\p" + .string "You already know it, but to advance,\n" + .string "you must defeat me…\p" + .string "…I’m not one for idle chatter.\n" + .string "Hurry. Come on…$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DF71: @ 825DF71 + .string "Your luck…\n" + .string "I hope you didn’t use it all up here…$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DFA2: @ 825DFA2 + .string "LUCY: … … … … … …\n" + .string "Show me your FRONTIER PASS…$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25DFD0: @ 825DFD0 + .string "The Luck Symbol was embossed on\n" + .string "the FRONTIER PASS!$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25E003: @ 825E003 + .string "…That’s all there is…\n" + .string "Disappear already…$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25E02C: @ 825E02C + .string "LUCY: …You again…\p" + .string "… … … … … …\p" + .string "…I’ve trampled flowers and braved\n" + .string "storms to get to where I am…\p" + .string "I don’t feel any compulsion to keep\n" + .string "losing to the same opponent…\p" + .string "… … … … … …\n" + .string "Fine… I’ll do it…$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25E0E8: @ 825E0E8 + .string "Now!\n" + .string "Come on!$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25E0F6: @ 825E0F6 + .string "LUCY: … … … … … …\p" + .string "…FRONTIER PASS…$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25E118: @ 825E118 + .string "The Luck Symbol took on\n" + .string "a golden shine!$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25E140: @ 825E140 + .string "…You, I won’t forget…\n" + .string "…Ever…$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25E15D: @ 825E15D + .string "I welcome you…\p" + .string "Giggle…\n" + .string "You seem to be bereft of luck…\p" + .string "If only you hadn’t chosen this room,\n" + .string "your POKéMON could have been healed…$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25E1DD: @ 825E1DD + .string "I welcome you…\p" + .string "Since you have chosen this room, I will\n" + .string "restore one POKéMON to full health…$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25E238: @ 825E238 + .string "I welcome you…\p" + .string "Since you have chosen this room, I will\n" + .string "restore two POKéMON to full health…$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25E293: @ 825E293 + .string "I welcome you…\p" + .string "Giggle…\n" + .string "You should thank your lucky stars…\p" + .string "Since you have chosen this room,\n" + .string "all your POKéMON will be restored…$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25E311: @ 825E311 + .string "I shall go fetch our master…$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25E32E: @ 825E32E + .string "Ah, you’re a lucky one!\n" + .string "I’m in good spirits now.\p" + .string "I will restore two of your POKéMON\n" + .string "to full health!$" + diff --git a/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom2.inc b/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom2.inc new file mode 100644 index 0000000000..22f4614d37 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom2.inc @@ -0,0 +1,43 @@ +BattleFrontier_BattlePikeRandomRoom2_MapScripts:: @ 825E392 + map_script 2, BattleFrontier_BattlePikeRandomRoom2_MapScript2_25E39D + map_script 4, BattleFrontier_BattlePikeRandomRoom2_MapScript2_25E3DE + .byte 0 + +BattleFrontier_BattlePikeRandomRoom2_MapScript2_25E39D: @ 825E39D + map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3A7 + .2byte 0 + +BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3A7:: @ 825E3A7 + delay 16 + applymovement 1, BattleFrontier_BattlePikeRandomRoom2_Movement_25E3DB + waitmovement 0 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 3 + special sub_81A1780 + lockall + msgbox BattleFrontier_BattlePikeRandomRoom2_Text_25E3F2, 4 + closemessage + releaseall + warp BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6 + waitstate + end + +BattleFrontier_BattlePikeRandomRoom2_Movement_25E3DB: @ 825E3DB + step_down + step_down + step_end + +BattleFrontier_BattlePikeRandomRoom2_MapScript2_25E3DE: @ 825E3DE + map_script_2 VAR_0x4004, 0, BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3E8 + .2byte 0 + +BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3E8:: @ 825E3E8 + setvar VAR_0x4004, 1 + turnobject 255, 2 + end + +BattleFrontier_BattlePikeRandomRoom2_Text_25E3F2: @ 825E3F2 + .string "Congratulations…\n" + .string "Now, this way, please…$" + diff --git a/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom3.inc b/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom3.inc new file mode 100644 index 0000000000..c651a9e680 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom3.inc @@ -0,0 +1,50 @@ +BattleFrontier_BattlePikeRandomRoom3_MapScripts:: @ 825E41A + map_script 5, BattleFrontier_BattlePikeRandomRoom3_MapScript1_25E47A + map_script 2, BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E42A + map_script 4, BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E466 + .byte 0 + +BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E42A: @ 825E42A + map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_25E43C + map_script_2 VAR_0x4001, 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_25E44A + .2byte 0 + +BattleFrontier_BattlePikeRandomRoom3_EventScript_25E43C:: @ 825E43C + setvar VAR_0x4000, 1 + setvar VAR_0x8004, 6 + special sub_81A703C + end + +BattleFrontier_BattlePikeRandomRoom3_EventScript_25E44A:: @ 825E44A + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 4 + special sub_81A1780 + warp BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6 + waitstate + end + +BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E466: @ 825E466 + map_script_2 VAR_0x4004, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_25E470 + .2byte 0 + +BattleFrontier_BattlePikeRandomRoom3_EventScript_25E470:: @ 825E470 + setvar VAR_0x4004, 1 + turnobject 255, 2 + end + +BattleFrontier_BattlePikeRandomRoom3_MapScript1_25E47A: @ 825E47A + call BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4271 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 5 + special sub_81A1780 + compare VAR_RESULT, 2 + goto_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3 + compare VAR_RESULT, 3 + goto_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3 + end + +BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3:: @ 825E4A3 + setvar VAR_0x4001, 1 + end + diff --git a/data/scripts/maps/BattleFrontier_BattlePikeThreePathRoom.inc b/data/scripts/maps/BattleFrontier_BattlePikeThreePathRoom.inc new file mode 100644 index 0000000000..74da4c01c8 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattlePikeThreePathRoom.inc @@ -0,0 +1,393 @@ +BattleFrontier_BattlePikeThreePathRoom_MapScripts:: @ 825C843 + map_script 5, BattleFrontier_BattlePikeThreePathRoom_MapScript1_2C423E + map_script 2, BattleFrontier_BattlePikeThreePathRoom_MapScript2_25C853 + map_script 4, BattleFrontier_BattlePikeThreePathRoom_MapScript2_25C87D + .byte 0 + +BattleFrontier_BattlePikeThreePathRoom_MapScript2_25C853: @ 825C853 + map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C891 + map_script_2 VAR_0x4000, 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C89A + map_script_2 VAR_0x4000, 2, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C8A4 + map_script_2 VAR_0x4005, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA78 + map_script_2 VAR_0x4005, 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA97 + .2byte 0 + +BattleFrontier_BattlePikeThreePathRoom_MapScript2_25C87D: @ 825C87D + map_script_2 VAR_0x4004, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C887 + .2byte 0 + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25C887:: @ 825C887 + setvar VAR_0x4004, 1 + turnobject 255, 2 + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25C891:: @ 825C891 + setvar VAR_0x8004, 0 + special sub_81A1780 + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25C89A:: @ 825C89A + warp BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6 + waitstate + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25C8A4:: @ 825C8A4 + lockall + message BattleFrontier_BattlePikeThreePathRoom_Text_25CD75 + waitmessage + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 1 + special sub_81A703C + playse SE_SAVE + waitse + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x4000, 255 + special copy_player_party_to_sav1 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 3 + special sub_81A1780 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CDDA, 4 + closemessage + releaseall + setvar VAR_0x8004, 5 + special sub_81A1780 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 99 + special sub_81A1780 + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25C908:: @ 825C908 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + switch VAR_RESULT + case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C968 + case 3, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C978 + case 5, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C988 + case 7, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C998 + case 9, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9A8 + case 11, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9B8 + case 13, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9C8 + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25C968:: @ 825C968 + lock + faceplayer + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CBDD, 4 + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8 + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25C978:: @ 825C978 + lock + faceplayer + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC00, 4 + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8 + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25C988:: @ 825C988 + lock + faceplayer + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC23, 4 + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8 + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25C998:: @ 825C998 + lock + faceplayer + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC46, 4 + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8 + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9A8:: @ 825C9A8 + lock + faceplayer + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC69, 4 + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8 + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9B8:: @ 825C9B8 + lock + faceplayer + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC8C, 4 + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8 + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9C8:: @ 825C9C8 + lock + faceplayer + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CCB0, 4 + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8 + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8:: @ 825C9D8 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CCD4, 5 + switch VAR_RESULT + case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA2A + case 127, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA2A + release + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9FD:: @ 825C9FD + setvar VAR_0x8004, 6 + special sub_81A1780 + message BattleFrontier_BattlePikeThreePathRoom_Text_25CE08 + waitmessage + special copy_player_party_from_sav1 + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 2 + special sub_81A703C + playse SE_SAVE + waitse + fadescreen 1 + setvar VAR_0x8004, 4 + special sub_81A1780 + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA2A:: @ 825CA2A + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CCFB, 5 + switch VAR_RESULT + case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9FD + case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA5A + case 127, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA5A + release + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA5A:: @ 825CA5A + message BattleFrontier_BattlePikeThreePathRoom_Text_25CD3C + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222 + release + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA78:: @ 825CA78 + setvar VAR_0x8004, 17 + special sub_81A703C + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA91 + setvar VAR_0x4005, 255 + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA91:: @ 825CA91 + setvar VAR_0x4005, 1 + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA97:: @ 825CA97 + applymovement 2, BattleFrontier_BattlePikeThreePathRoom_Movement_25CBCE + waitmovement 0 + lockall + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D094, 4 + releaseall + applymovement 2, BattleFrontier_BattlePikeThreePathRoom_Movement_25CBD5 + waitmovement 0 + setvar VAR_0x4005, 255 + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25CABB:: @ 825CABB + setvar VAR_0x8004, 19 + special sub_81A703C + compare VAR_RESULT, 4 + goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBC2 + lock + faceplayer + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CE69, 5 + switch VAR_RESULT + case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB0A + case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB00 + case 127, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB00 + release + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB00:: @ 825CB00 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CEBB, 4 + release + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB0A:: @ 825CB0A + setvar VAR_0x8004, 18 + special sub_81A703C + switch VAR_RESULT + case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB39 + case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB46 + case 2, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB53 + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB39:: @ 825CB39 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CF64, 4 + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60 + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB46:: @ 825CB46 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CF23, 4 + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60 + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB53:: @ 825CB53 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CEE3, 4 + goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60 + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60:: @ 825CB60 + setvar VAR_0x8004, 19 + special sub_81A703C + switch VAR_RESULT + case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB9A + case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBA4 + case 2, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBAE + case 3, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBB8 + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB9A:: @ 825CB9A + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D054, 4 + release + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBA4:: @ 825CBA4 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D017, 4 + release + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBAE:: @ 825CBAE + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CFA3, 4 + release + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBB8:: @ 825CBB8 + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CFE5, 4 + release + end + +BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBC2:: @ 825CBC2 + lock + faceplayer + msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D125, 4 + release + end + +BattleFrontier_BattlePikeThreePathRoom_Movement_25CBCE: @ 825CBCE + step_left + step_left + step_down + step_down + step_down + step_down + step_end + +BattleFrontier_BattlePikeThreePathRoom_Movement_25CBD5: @ 825CBD5 + step_up + step_up + step_up + step_up + step_right + step_right + step_00 + step_end + +BattleFrontier_BattlePikeThreePathRoom_Text_25CBDD: @ 825CBDD + .string "You are currently in\n" + .string "the 1st room…$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25CC00: @ 825CC00 + .string "You are currently in\n" + .string "the 3rd room…$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25CC23: @ 825CC23 + .string "You are currently in\n" + .string "the 5th room…$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25CC46: @ 825CC46 + .string "You are currently in\n" + .string "the 7th room…$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25CC69: @ 825CC69 + .string "You are currently in\n" + .string "the 9th room…$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25CC8C: @ 825CC8C + .string "You are currently in\n" + .string "the 11th room…$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25CCB0: @ 825CCB0 + .string "You are currently in\n" + .string "the 13th room…$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25CCD4: @ 825CCD4 + .string "Will you continue with\n" + .string "your challenge?$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25CCFB: @ 825CCFB + .string "Would you like to save your challenge\n" + .string "and quit the game for now?$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25CD3C: @ 825CD3C + .string "Do you wish to retire from your\n" + .string "Battle Choice challenge?$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25CD75: @ 825CD75 + .string "We’ve been awaiting your return…\p" + .string "Before resuming your Battle Choice\n" + .string "challenge, let me save the game…$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25CDDA: @ 825CDDA + .string "Please do enjoy your Battle Choice\n" + .string "challenge…$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25CE08: @ 825CE08 + .string "I am saving your data…\n" + .string "A little time, please…$" + +BattleFrontier_BattlePikeRandomRoom1_Text_25CE36: @ 825CE36 +BattleFrontier_BattlePikeRandomRoom3_Text_25CE36: @ 825CE36 +BattleFrontier_BattlePikeThreePathRoom_Text_25CE36: @ 825CE36 + .string "The path is blocked!\n" + .string "And there is no turning back…$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25CE69: @ 825CE69 + .string "I beg your pardon, but…\p" + .string "Are you perhaps finding it difficult\n" + .string "to choose your path?$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25CEBB: @ 825CEBB + .string "I see…\n" + .string "I apologize for my impertinence…$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25CEE3: @ 825CEE3 + .string "Ah, let me see… There is something\n" + .string "about the path on the right…$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25CF23: @ 825CF23 + .string "Ah, let me see… There is something\n" + .string "about the path in the center…$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25CF64: @ 825CF64 + .string "Ah, let me see… There is something\n" + .string "about the path on the left…$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25CFA3: @ 825CFA3 + .string "It seems to have the distinct aroma\n" + .string "of POKéMON wafting around it…$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25CFE5: @ 825CFE5 + .string "Is it… A TRAINER?\n" + .string "I sense the presence of people…$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25D017: @ 825D017 + .string "I seem to have heard something…\n" + .string "It may have been whispering…$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25D054: @ 825D054 + .string "For some odd reason, I felt a wave\n" + .string "of nostalgia coming from it…$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25D094: @ 825D094 + .string "I am sorry to say…\p" + .string "A terrifying event, yes, a horrible one,\n" + .string "is about to befall you…\p" + .string "I urge you to pay the utmost care\n" + .string "and prepare for the worst…$" + +BattleFrontier_BattlePikeThreePathRoom_Text_25D125: @ 825D125 + .string "From every path I sense a dreadful\n" + .string "presence…$" diff --git a/data/scripts/maps/BattleFrontier_BattlePointExchangeServiceCorner.inc b/data/scripts/maps/BattleFrontier_BattlePointExchangeServiceCorner.inc new file mode 100644 index 0000000000..2a39d844b7 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattlePointExchangeServiceCorner.inc @@ -0,0 +1,764 @@ +BattleFrontier_BattlePointExchangeServiceCorner_MapScripts:: @ 825F070 + .byte 0 + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071:: @ 825F071 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F7FA, 4 + special sub_813A958 + return + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D:: @ 825F07D + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FF12, 4 + special sub_813A988 + release + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A:: @ 825F08A + specialvar VAR_0x4001, sub_813AA04 + compare VAR_0x4001, VAR_0x8008 + goto_if 4, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0C9 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE86, 4 + compare VAR_0x4002, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + compare VAR_0x4002, 1 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E + compare VAR_0x4002, 2 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0C9:: @ 825F0C9 + compare VAR_0x4002, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5 + compare VAR_0x4002, 1 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F12A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5:: @ 825F0E5 + checkdecorspace VAR_0x8009 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F11D + copyvar VAR_0x8004, VAR_0x8008 + special sub_813A9A4 + givedecoration VAR_0x8009 + special sub_813A8FC + playse SE_REGI + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE45, 4 + compare VAR_0x4002, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F11D:: @ 825F11D + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FEB9, 4 + special sub_813A988 + release + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F12A:: @ 825F12A + checkitemspace VAR_0x8009, 1 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F166 + copyvar VAR_0x8004, VAR_0x8008 + special sub_813A9A4 + giveitem VAR_0x8009, 1 + special sub_813A8FC + playse SE_REGI + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE72, 4 + compare VAR_0x4002, 2 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F166:: @ 825F166 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FEE3, 4 + special sub_813A988 + release + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F173:: @ 825F173 + lock + faceplayer + setvar VAR_0x4002, 0 + call BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185:: @ 825F185 + setvar VAR_0x8004, 3 + special sub_813AA18 + special sub_813A128 + waitstate + special sub_813AA44 + switch VAR_RESULT + case 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F21E + case 1, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F241 + case 2, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F264 + case 3, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F287 + case 4, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2AA + case 5, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2CD + case 6, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2F0 + case 7, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F313 + case 8, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F336 + case 9, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F359 + case 10, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D + case 127, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F21E:: @ 825F21E + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F8B6, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + setvar VAR_0x8008, 16 + setvar VAR_0x8009, 75 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F241:: @ 825F241 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F8E6, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + setvar VAR_0x8008, 32 + setvar VAR_0x8009, 103 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F264:: @ 825F264 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F917, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + setvar VAR_0x8008, 32 + setvar VAR_0x8009, 87 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F287:: @ 825F287 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F949, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + setvar VAR_0x8008, 48 + setvar VAR_0x8009, 79 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2AA:: @ 825F2AA + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F979, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + setvar VAR_0x8008, 48 + setvar VAR_0x8009, 84 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2CD:: @ 825F2CD + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F9A9, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + setvar VAR_0x8008, 48 + setvar VAR_0x8009, 85 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2F0:: @ 825F2F0 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F9DB, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + setvar VAR_0x8008, 48 + setvar VAR_0x8009, 86 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F313:: @ 825F313 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA0A, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + setvar VAR_0x8008, 80 + setvar VAR_0x8009, 80 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F336:: @ 825F336 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA3D, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + setvar VAR_0x8008, 80 + setvar VAR_0x8009, 81 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F359:: @ 825F359 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA70, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 + setvar VAR_0x8008, 80 + setvar VAR_0x8009, 82 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F37C:: @ 825F37C + lock + faceplayer + setvar VAR_0x4002, 1 + call BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E:: @ 825F38E + setvar VAR_0x8004, 4 + special sub_813AA18 + special sub_813A128 + waitstate + special sub_813AA44 + switch VAR_RESULT + case 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F3F0 + case 1, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F413 + case 2, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F436 + case 3, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F459 + case 4, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F47C + case 5, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D + case 127, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F3F0:: @ 825F3F0 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FAA2, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E + setvar VAR_0x8008, 128 + setvar VAR_0x8009, 113 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F413:: @ 825F413 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FAD2, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E + setvar VAR_0x8008, 128 + setvar VAR_0x8009, 111 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F436:: @ 825F436 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB03, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E + setvar VAR_0x8008, 256 + setvar VAR_0x8009, 114 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F459:: @ 825F459 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB35, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E + setvar VAR_0x8008, 256 + setvar VAR_0x8009, 115 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F47C:: @ 825F47C + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB68, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E + setvar VAR_0x8008, 256 + setvar VAR_0x8009, 116 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F49F:: @ 825F49F + lock + faceplayer + setvar VAR_0x4002, 2 + call BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1:: @ 825F4B1 + setvar VAR_0x8004, 5 + special sub_813AA18 + special sub_813A128 + waitstate + special sub_813AA44 + switch VAR_RESULT + case 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F51E + case 1, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F541 + case 2, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F564 + case 3, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F587 + case 4, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5AA + case 5, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5CD + case 6, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D + case 127, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F51E:: @ 825F51E + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB9B, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 + setvar VAR_0x8008, 1 + setvar VAR_0x8009, 64 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F541:: @ 825F541 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FBC7, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 + setvar VAR_0x8008, 1 + setvar VAR_0x8009, 67 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F564:: @ 825F564 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FBF3, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 + setvar VAR_0x8008, 1 + setvar VAR_0x8009, 65 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F587:: @ 825F587 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC1C, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 + setvar VAR_0x8008, 1 + setvar VAR_0x8009, 70 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5AA:: @ 825F5AA + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC45, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 + setvar VAR_0x8008, 1 + setvar VAR_0x8009, 66 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5CD:: @ 825F5CD + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC70, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 + setvar VAR_0x8008, 1 + setvar VAR_0x8009, 63 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5F0:: @ 825F5F0 + lock + faceplayer + setvar VAR_0x4002, 3 + call BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602:: @ 825F602 + setvar VAR_0x8004, 6 + special sub_813AA18 + special sub_813A128 + waitstate + special sub_813AA44 + switch VAR_RESULT + case 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F690 + case 1, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6B3 + case 2, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6D6 + case 3, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6F9 + case 4, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F71C + case 5, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F73F + case 6, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F762 + case 7, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F785 + case 8, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7A8 + case 9, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D + case 127, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F690:: @ 825F690 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE17, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 + setvar VAR_0x8008, 48 + setvar VAR_0x8009, 200 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6B3:: @ 825F6B3 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FCCB, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 + setvar VAR_0x8008, 48 + setvar VAR_0x8009, 180 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6D6:: @ 825F6D6 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FCFA, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 + setvar VAR_0x8008, 48 + setvar VAR_0x8009, 183 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6F9:: @ 825F6F9 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD29, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 + setvar VAR_0x8008, 48 + setvar VAR_0x8009, 185 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F71C:: @ 825F71C + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC9A, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 + setvar VAR_0x8008, 64 + setvar VAR_0x8009, 179 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F73F:: @ 825F73F + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD59, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 + setvar VAR_0x8008, 64 + setvar VAR_0x8009, 186 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F762:: @ 825F762 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD89, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 + setvar VAR_0x8008, 64 + setvar VAR_0x8009, 187 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F785:: @ 825F785 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FDB9, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 + setvar VAR_0x8008, 64 + setvar VAR_0x8009, 196 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7A8:: @ 825F7A8 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FDE8, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 + setvar VAR_0x8008, 64 + setvar VAR_0x8009, 198 + goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7CB:: @ 825F7CB + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_260099, 2 + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7D4:: @ 825F7D4 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_26002E, 2 + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7DD:: @ 825F7DD + lock + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FFD0, 4 + release + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7E8:: @ 825F7E8 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FF5D, 2 + end + +BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7F1:: @ 825F7F1 + msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_26012D, 2 + end + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25F7FA: @ 825F7FA + .string "Hello, this is the EXCHANGE SERVICE\n" + .string "CORNER.\p" + .string "We exchange the Battle Points you\n" + .string "have collected for lovely prizes.\p" + .string "Please choose a prize from this list.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25F890: @ 825F890 + .string "Please choose a prize from this list.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25F8B6: @ 825F8B6 + .string "You’ve chosen the KISS POSTER.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25F8E6: @ 825F8E6 + .string "You’ve chosen the KISS CUSHION.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25F917: @ 825F917 + .string "You’ve chosen the SMOOCHUM DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25F949: @ 825F949 + .string "You’ve chosen the TOGEPI DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25F979: @ 825F979 + .string "You’ve chosen the MEOWTH DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25F9A9: @ 825F9A9 + .string "You’ve chosen the CLEFAIRY DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25F9DB: @ 825F9DB + .string "You’ve chosen the DITTO DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA0A: @ 825FA0A + .string "You’ve chosen the CYNDAQUIL DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA3D: @ 825FA3D + .string "You’ve chosen the CHIKORITA DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA70: @ 825FA70 + .string "You’ve chosen the TOTODILE DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FAA2: @ 825FAA2 + .string "You’ve chosen the LAPRAS DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FAD2: @ 825FAD2 + .string "You’ve chosen the SNORLAX DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB03: @ 825FB03 + .string "You’ve chosen the VENUSAUR DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB35: @ 825FB35 + .string "You’ve chosen the CHARIZARD DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB68: @ 825FB68 + .string "You’ve chosen the BLASTOISE DOLL.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB9B: @ 825FB9B + .string "You’ve chosen the PROTEIN.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FBC7: @ 825FBC7 + .string "You’ve chosen the CALCIUM.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FBF3: @ 825FBF3 + .string "You’ve chosen the IRON.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC1C: @ 825FC1C + .string "You’ve chosen the ZINC.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC45: @ 825FC45 + .string "You’ve chosen the CARBOS.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC70: @ 825FC70 + .string "You’ve chosen the HP UP.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC9A: @ 825FC9A + .string "You’ve chosen the BRIGHTPOWDER.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FCCB: @ 825FCCB + .string "You’ve chosen the WHITE HERB.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FCFA: @ 825FCFA + .string "You’ve chosen the QUICK CLAW.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD29: @ 825FD29 + .string "You’ve chosen the MENTAL HERB.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD59: @ 825FD59 + .string "You’ve chosen the CHOICE BAND.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD89: @ 825FD89 + .string "You’ve chosen the KING’S ROCK.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FDB9: @ 825FDB9 + .string "You’ve chosen the FOCUS BAND.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FDE8: @ 825FDE8 + .string "You’ve chosen the SCOPE LENS.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE17: @ 825FE17 + .string "You’ve chosen the LEFTOVERS.\n" + .string "Is that correct?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE45: @ 825FE45 + .string "Thank you!\n" + .string "We’ll send it to your PC at home.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE72: @ 825FE72 + .string "Here is your prize!$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE86: @ 825FE86 + .string "I’m so sorry…\n" + .string "You don’t have enough Battle Points…$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FEB9: @ 825FEB9 + .string "I’m so sorry…\n" + .string "Your PC appears to be full…$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FEE3: @ 825FEE3 + .string "I’m so sorry…\n" + .string "You don’t have space to hold it…$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FF12: @ 825FF12 + .string "Thank you very much.\p" + .string "Please visit us when you have\n" + .string "saved up Battle Points.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FF5D: @ 825FF5D + .string "Oh, they’re so nice!\n" + .string "I wish I had them!\l" + .string "Cute cushions!\l" + .string "Big plush DOLLS!\l" + .string "Little plush DOLLS!\l" + .string "I wish I had them all!$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_25FFD0: @ 825FFD0 + .string "Leave it to your mommy!\p" + .string "If it’s anything you want, I’ll go\n" + .string "through anything to get it, honey!$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_26002E: @ 826002E + .string "If I can get hold of the items here,\n" + .string "my POKéMON will get tougher.\p" + .string "You bet they will!\n" + .string "No question about it!$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_260099: @ 8260099 + .string "Hah?\n" + .string "What are you gawking at?\p" + .string "I don’t like you staring at my plush\n" + .string "doll like that.\p" + .string "If you want it, go get one yourself!\n" + .string "Isn’t that right, SMOOCHUM?$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_26012D: @ 826012D + .string "Did you know?\p" + .string "If you stretch your record at any of\n" + .string "the BATTLE facilities, they start\l" + .string "giving you more and more Battle Points.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA:: @ 82601AA + .string "A large poster with a SMOOCHUM print.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0:: @ 82601D0 + .string "A SMOOCHUM cushion.\n" + .string "Place it on a mat or a desk.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_260201:: @ 8260201 + .string "A SMOOCHUM DOLL.\n" + .string "Place it on a mat or a desk.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F:: @ 826022F + .string "A TOGEPI DOLL.\n" + .string "Place it on a mat or a desk.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B:: @ 826025B + .string "A MEOWTH DOLL.\n" + .string "Place it on a mat or a desk.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_260287:: @ 8260287 + .string "A CLEFAIRY DOLL.\n" + .string "Place it on a mat or a desk.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5:: @ 82602B5 + .string "A DITTO DOLL.\n" + .string "Place it on a mat or a desk.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0:: @ 82602E0 + .string "A CYNDAQUIL DOLL.\n" + .string "Place it on a mat or a desk.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F:: @ 826030F + .string "A CHIKORITA DOLL.\n" + .string "Place it on a mat or a desk.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E:: @ 826033E + .string "A TOTODILE DOLL.\n" + .string "Place it on a mat or a desk.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C:: @ 826036C + .string "A large DOLL.\n" + .string "Place it on a mat or a desk.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_260397:: @ 8260397 + .string "Raises the stat ATTACK of one\n" + .string "POKéMON.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE:: @ 82603BE + .string "Raises the stat SP. ATK of one\n" + .string "POKéMON.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6:: @ 82603E6 + .string "Raises the stat DEFENSE of one\n" + .string "POKéMON.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E:: @ 826040E + .string "Raises the stat SP. DEF of one\n" + .string "POKéMON.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_260436:: @ 8260436 + .string "Raises the stat SPEED of one\n" + .string "POKéMON.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C:: @ 826045C + .string "Raises the HP of one POKéMON.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A:: @ 826047A + .string "A hold item that gradually restores\n" + .string "HP in battle.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC:: @ 82604AC + .string "A hold item that restores any\n" + .string "lowered stat.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8:: @ 82604D8 + .string "A hold item that occasionally allows\n" + .string "the first strike.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F:: @ 826050F + .string "A hold item that snaps POKéMON out\n" + .string "of infatuation.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_260542:: @ 8260542 + .string "A hold item that casts a glare to\n" + .string "reduce accuracy.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_260575:: @ 8260575 + .string "Raises a move’s power, but permits\n" + .string "only that move.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8:: @ 82605A8 + .string "A hold item that may cause flinching\n" + .string "when the foe is hit.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2:: @ 82605E2 + .string "A hold item that occasionally\n" + .string "prevents fainting.$" + +BattleFrontier_BattlePointExchangeServiceCorner_Text_260613:: @ 8260613 + .string "A hold item that raises the\n" + .string "critical-hit rate.$" diff --git a/data/scripts/maps/BattleFrontier_BattlePyramidEmptySquare.inc b/data/scripts/maps/BattleFrontier_BattlePyramidEmptySquare.inc new file mode 100644 index 0000000000..cff6761246 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattlePyramidEmptySquare.inc @@ -0,0 +1,784 @@ +BattleFrontier_BattlePyramidEmptySquare_MapScripts:: @ 8252A33 + map_script 5, BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2 + map_script 2, BattleFrontier_BattlePyramidEmptySquare_MapScript2_252A43 + map_script 3, BattleFrontier_BattlePyramidEmptySquare_MapScript1_252BCA + .byte 0 + +BattleFrontier_BattlePyramidEmptySquare_MapScript2_252A43: @ 8252A43 + map_script_2 VAR_0x400D, 1, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A5D + map_script_2 VAR_0x400E, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A98 + map_script_2 VAR_0x400F, 1, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A8F + .2byte 0 + +BattleFrontier_BattlePyramidEmptySquare_EventScript_252A5D:: @ 8252A5D + lockall + setvar VAR_0x8004, 13 + setvar VAR_0x8005, 4 + setvar VAR_0x8006, 1 + setvar VAR_0x8007, 55 + setvar VAR_RESULT, 0 + +BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77:: @ 8252A77 + special sub_81A8E7C + delay 2 + compare VAR_RESULT, 2 + goto_if 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77 + setvar VAR_0x400D, 0 + releaseall + end + +BattleFrontier_BattlePyramidEmptySquare_EventScript_252A8F:: @ 8252A8F + special AddMapNamePopUpWindowTask + setvar VAR_0x400F, 0 + end + +BattleFrontier_BattlePyramidEmptySquare_EventScript_252A98:: @ 8252A98 + playbgm MUS_PYRAMID, 0 + setvar VAR_0x400E, 1 + end + +BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2: @ 8252AA2 + setvar VAR_0x8004, 15 + special sub_81A8E7C + setvar VAR_0x8004, 0 + special sub_81A1780 + switch VAR_0x4000 + case 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D + case 1, BattleFrontier_BattlePyramidEmptySquare_EventScript_252B66 + case 2, BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 5 + special sub_81A1780 + compare VAR_RESULT, 4 + goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39 + compare VAR_RESULT, 5 + goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39 + compare VAR_RESULT, 2 + goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42 + compare VAR_RESULT, 3 + goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42 + compare VAR_RESULT, 9 + goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42 + setvar VAR_0x8004, 14 + setvar VAR_0x8005, 8 + special sub_81A1780 + setvar VAR_0x400D, 1 + +BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39:: @ 8252B39 + setvar VAR_0x8004, 17 + special sub_81A8E7C + end + +BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42:: @ 8252B42 +BattleFrontier_BattlePyramidTop_EventScript_252B42:: @ 8252B42 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 4 + special sub_81A1780 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 7 + setvar VAR_0x8006, 255 + special sub_81A8E7C + +BattleFrontier_BattlePyramidEmptySquare_EventScript_252B66:: @ 8252B66 +BattleFrontier_BattlePyramidTop_EventScript_252B66:: @ 8252B66 + setvar VAR_0x8004, 13 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A8E7C + setvar VAR_0x8004, 14 + special sub_81A8E7C + special HealPlayerParty + warpsilent BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY, 255, 7, 13 + waitstate + end + +BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D:: @ 8252B8D + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 1 + special sub_81A8E7C + special copy_player_party_to_sav1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x8004, 9 + special sub_81A8E7C + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 3 + special sub_81A1780 + setvar VAR_0x400F, 1 + end + +BattleFrontier_BattlePyramidEmptySquare_MapScript1_252BCA: @ 8252BCA + call BattleFrontier_BattlePyramidEmptySquare_EventScript_252BD5 + setvar VAR_0x400F, 1 + end + +BattleFrontier_BattlePyramidEmptySquare_EventScript_252BD5:: @ 8252BD5 + setvar VAR_0x8004, 13 + setvar VAR_0x8005, 32 + setvar VAR_0x8006, 0 + special sub_81A8E7C + return + +BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8:: @ 8252BE8 + call BattleFrontier_BattlePalaceBattleRoom_EventScript_241EBA + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + addvar VAR_RESULT, 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A1780 + compare VAR_RESULT, 7 + goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C45 + setvar VAR_0x8004, 6 + special sub_81A8E7C + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_RESULT, 0 + warp BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE, 255, 1, 1 + waitstate + end + +BattleFrontier_BattlePyramidEmptySquare_EventScript_252C45:: @ 8252C45 + warp BATTLE_FRONTIER_BATTLE_PYRAMID_TOP, 255, 17, 17 + waitstate + end + +BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F:: @ 8252C4F + trainerbattle 9, TRAINER_PHILLIP, 0, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D + setvar VAR_0x8004, 10 + special sub_81A8E7C + waitmessage + waitbuttonpress + closemessage + releaseall + end + +BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A:: @ 8252C6A + setvar VAR_0x8004, 7 + special sub_81A8E7C + callstd 1 + compare VAR_0x8007, 0 + goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C87 + setvar VAR_0x8004, 8 + special sub_81A8E7C + +BattleFrontier_BattlePyramidEmptySquare_EventScript_252C87:: @ 8252C87 + end + +BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88:: @ 8252C88 + goto BattleFrontier_BattlePyramidTop_EventScript_252B42 + +BattleFrontier_BattlePyramidEmptySquare_Text_252C8D: @ 8252C8D + .string "This is a sample message.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_252CA7:: @ 8252CA7 + .string "Your BATTLE PYRAMID quest will be\n" + .string "saved so that you may quit for now.\l" + .string "Is that okay?$" + +BattleFrontier_BattlePyramidEmptySquare_Text_252CFB:: @ 8252CFB + .string "Are you sure you want to quit your\n" + .string "PYRAMID quest?$" + +BattleFrontier_BattlePyramidEmptySquare_Text_252D2D:: @ 8252D2D + .string "This floor’s exit is in\n" + .string "that direction: {UP_ARROW}$" + +BattleFrontier_BattlePyramidEmptySquare_Text_252D57:: @ 8252D57 + .string "This floor’s exit is in\n" + .string "that direction: {LEFT_ARROW}$" + +BattleFrontier_BattlePyramidEmptySquare_Text_252D81:: @ 8252D81 + .string "This floor’s exit is in\n" + .string "that direction: {RIGHT_ARROW}$" + +BattleFrontier_BattlePyramidEmptySquare_Text_252DAB:: @ 8252DAB + .string "This floor’s exit is in\n" + .string "that direction: {DOWN_ARROW}$" + +BattleFrontier_BattlePyramidEmptySquare_Text_252DD5:: @ 8252DD5 + .string "The exit on this floor is in\n" + .string "the {UP_ARROW} direction.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_252E03:: @ 8252E03 + .string "The exit on this floor is in\n" + .string "the {LEFT_ARROW} direction.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_252E31:: @ 8252E31 + .string "The exit on this floor is in\n" + .string "the {RIGHT_ARROW} direction.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_252E5F:: @ 8252E5F + .string "The exit on this floor is in\n" + .string "the {DOWN_ARROW} direction.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_252E8D:: @ 8252E8D + .string "The exit is over\n" + .string "that {UP_ARROW} way.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_252EAA:: @ 8252EAA + .string "The exit is over\n" + .string "that {LEFT_ARROW} way.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_252EC7:: @ 8252EC7 + .string "The exit is over\n" + .string "that {RIGHT_ARROW} way.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_252EE4:: @ 8252EE4 + .string "The exit is over\n" + .string "that {DOWN_ARROW} way.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_252F01:: @ 8252F01 + .string "On this floor, the exit is somewhere\n" + .string "in the {UP_ARROW} direction.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_252F3A:: @ 8252F3A + .string "On this floor, the exit is somewhere\n" + .string "in the {LEFT_ARROW} direction.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_252F73:: @ 8252F73 + .string "On this floor, the exit is somewhere\n" + .string "in the {RIGHT_ARROW} direction.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_252FAC:: @ 8252FAC + .string "On this floor, the exit is somewhere\n" + .string "in the {DOWN_ARROW} direction.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_252FE5:: @ 8252FE5 + .string "The exit?\n" + .string "It’s that {UP_ARROW} way.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253000:: @ 8253000 + .string "The exit?\n" + .string "It’s that {LEFT_ARROW} way.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25301B:: @ 825301B + .string "The exit?\n" + .string "It’s that {RIGHT_ARROW} way.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253036:: @ 8253036 + .string "The exit?\n" + .string "It’s that {DOWN_ARROW} way.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253051:: @ 8253051 + .string "The exit happens to be in\n" + .string "the {UP_ARROW} direction.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25307C:: @ 825307C + .string "The exit happens to be in\n" + .string "the {LEFT_ARROW} direction.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2530A7:: @ 82530A7 + .string "The exit happens to be in\n" + .string "the {RIGHT_ARROW} direction.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2530D2:: @ 82530D2 + .string "The exit happens to be in\n" + .string "the {DOWN_ARROW} direction.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2530FD:: @ 82530FD + .string "Are you looking for items?\p" + .string "There are eight items left to\n" + .string "be found.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253140:: @ 8253140 + .string "Are you looking for items?\p" + .string "There are seven items left to\n" + .string "be found.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253183:: @ 8253183 + .string "Are you looking for items?\p" + .string "There are six items left to\n" + .string "be found.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2531C4:: @ 82531C4 + .string "Are you looking for items?\p" + .string "There are five items left to\n" + .string "be found.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253206:: @ 8253206 + .string "Are you looking for items?\p" + .string "There are four items left to\n" + .string "be found.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253248:: @ 8253248 + .string "Are you looking for items?\p" + .string "There are three items left to\n" + .string "be found.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25328B:: @ 825328B + .string "Are you looking for items?\p" + .string "There are two items left to\n" + .string "be found.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2532CC:: @ 82532CC + .string "Are you looking for items?\p" + .string "There is one item left to\n" + .string "be found.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25330B:: @ 825330B + .string "Are you looking for items?\p" + .string "There isn’t anything left to\n" + .string "be found!$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25334D:: @ 825334D + .string "Because you won, I’ll tell you\n" + .string "a little secret!\p" + .string "There are eight items\n" + .string "lying around here.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2533A6:: @ 82533A6 + .string "Because you won, I’ll tell you\n" + .string "a little secret!\p" + .string "There are seven items left\n" + .string "lying around here.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253404:: @ 8253404 + .string "Because you won, I’ll tell you\n" + .string "a little secret!\p" + .string "There are six items left\n" + .string "lying around here.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253460:: @ 8253460 + .string "Because you won, I’ll tell you\n" + .string "a little secret!\p" + .string "There are five items left\n" + .string "lying around here.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2534BD:: @ 82534BD + .string "Because you won, I’ll tell you\n" + .string "a little secret!\p" + .string "There are four items left\n" + .string "lying around here.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25351A:: @ 825351A + .string "Because you won, I’ll tell you\n" + .string "a little secret!\p" + .string "There are three items left\n" + .string "lying around here.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253578:: @ 8253578 + .string "Because you won, I’ll tell you\n" + .string "a little secret!\p" + .string "There are two items left\n" + .string "lying around here.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2535D4:: @ 82535D4 + .string "Because you won, I’ll tell you\n" + .string "a little secret!\p" + .string "There is just one item\n" + .string "lying around here.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25362E:: @ 825362E + .string "Because you won, I’ll tell you\n" + .string "a little secret!\p" + .string "There isn’t anything left\n" + .string "lying around here.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25368B:: @ 825368B + .string "How’s your stock of items holding up?\p" + .string "I reckon there are eight items left\n" + .string "waiting to be found on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2536F8:: @ 82536F8 + .string "How’s your stock of items holding up?\p" + .string "I reckon there are seven items left\n" + .string "waiting to be found on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253765:: @ 8253765 + .string "How’s your stock of items holding up?\p" + .string "I reckon there are six items left\n" + .string "waiting to be found on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2537D0:: @ 82537D0 + .string "How’s your stock of items holding up?\p" + .string "I reckon there are five items left\n" + .string "waiting to be found on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25383C:: @ 825383C + .string "How’s your stock of items holding up?\p" + .string "I reckon there are four items left\n" + .string "waiting to be found on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2538A8:: @ 82538A8 + .string "How’s your stock of items holding up?\p" + .string "I reckon there are three items left\n" + .string "waiting to be found on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253915:: @ 8253915 + .string "How’s your stock of items holding up?\p" + .string "I reckon there are two items left\n" + .string "waiting to be found on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253980:: @ 8253980 + .string "How’s your stock of items holding up?\p" + .string "I reckon there’s but one item left\n" + .string "waiting to be found on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2539EC:: @ 82539EC + .string "How’s your stock of items holding up?\p" + .string "I reckon there are no more items\n" + .string "waiting to be found on this floor.\l" + .string "You take care now!$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253A69:: @ 8253A69 + .string "You’re strong, so you’ve earned\n" + .string "a hint!\p" + .string "There appear to be eight more\n" + .string "items on the ground.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253AC4:: @ 8253AC4 + .string "You’re strong, so you’ve earned\n" + .string "a hint!\p" + .string "There appear to be seven more\n" + .string "items on the ground.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253B1F:: @ 8253B1F + .string "You’re strong, so you’ve earned\n" + .string "a hint!\p" + .string "There appear to be six more\n" + .string "items on the ground.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253B78:: @ 8253B78 + .string "You’re strong, so you’ve earned\n" + .string "a hint!\p" + .string "There appear to be five more\n" + .string "items on the ground.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253BD2:: @ 8253BD2 + .string "You’re strong, so you’ve earned\n" + .string "a hint!\p" + .string "There appear to be four more\n" + .string "items on the ground.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253C2C:: @ 8253C2C + .string "You’re strong, so you’ve earned\n" + .string "a hint!\p" + .string "There appear to be three more\n" + .string "items on the ground.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253C87:: @ 8253C87 + .string "You’re strong, so you’ve earned\n" + .string "a hint!\p" + .string "There appear to be two more\n" + .string "items on the ground.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253CE0:: @ 8253CE0 + .string "You’re strong, so you’ve earned\n" + .string "a hint!\p" + .string "There appears to be only one more\n" + .string "item on the ground.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253D3E:: @ 8253D3E + .string "You’re strong, so you’ve earned\n" + .string "a hint!\p" + .string "There appear to be no more\n" + .string "items on the ground.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253D96:: @ 8253D96 + .string "On this floor of the PYRAMID,\n" + .string "I hear there are eight items…$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253DD2:: @ 8253DD2 + .string "On this floor of the PYRAMID,\n" + .string "I hear there are seven items…$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253E0E:: @ 8253E0E + .string "On this floor of the PYRAMID,\n" + .string "I hear there are six items…$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253E48:: @ 8253E48 + .string "On this floor of the PYRAMID,\n" + .string "I hear there are five items…$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253E83:: @ 8253E83 + .string "On this floor of the PYRAMID,\n" + .string "I hear there are four items…$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253EBE:: @ 8253EBE + .string "On this floor of the PYRAMID,\n" + .string "I hear there are three items…$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253EFA:: @ 8253EFA + .string "On this floor of the PYRAMID,\n" + .string "I hear there are two items…$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253F34:: @ 8253F34 + .string "On this floor of the PYRAMID,\n" + .string "I hear there is one item…$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253F6C:: @ 8253F6C + .string "On this floor of the PYRAMID,\n" + .string "I hear there are no items…$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253FA5:: @ 8253FA5 + .string "Have you collected any items?\p" + .string "I believe there are eight more\n" + .string "items on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_253FF7:: @ 8253FF7 + .string "Have you collected any items?\p" + .string "I believe there are seven more\n" + .string "items on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254049:: @ 8254049 + .string "Have you collected any items?\p" + .string "I believe there are six more\n" + .string "items on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254099:: @ 8254099 + .string "Have you collected any items?\p" + .string "I believe there are five more\n" + .string "items on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2540EA:: @ 82540EA + .string "Have you collected any items?\p" + .string "I believe there are four more\n" + .string "items on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25413B:: @ 825413B + .string "Have you collected any items?\p" + .string "I believe there are three more\n" + .string "items on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25418D:: @ 825418D + .string "Have you collected any items?\p" + .string "I believe there are two more\n" + .string "items on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2541DD:: @ 82541DD + .string "Have you collected any items?\p" + .string "I believe there is one more\n" + .string "item on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25422B:: @ 825422B + .string "Have you collected any items?\p" + .string "I believe there are no more\n" + .string "items on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25427A:: @ 825427A + .string "You were really awesome!\p" + .string "But there are still seven tough\n" + .string "TRAINERS other than me!$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2542CB:: @ 82542CB + .string "You were really awesome!\p" + .string "But there are still six tough\n" + .string "TRAINERS other than me!$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25431A:: @ 825431A + .string "You were really awesome!\p" + .string "But there are still five tough\n" + .string "TRAINERS other than me!$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25436A:: @ 825436A + .string "You were really awesome!\p" + .string "But there are still four tough\n" + .string "TRAINERS other than me!$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2543BA:: @ 82543BA + .string "You were really awesome!\p" + .string "But there are still three tough\n" + .string "TRAINERS other than me!$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25440B:: @ 825440B + .string "You were really awesome!\p" + .string "But there are still two tough\n" + .string "TRAINERS other than me!$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25445A:: @ 825445A + .string "You were really awesome!\p" + .string "But there’s still one tough\n" + .string "TRAINER other than me!$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2544A6:: @ 82544A6 + .string "You were really awesome!\p" + .string "There’s no one left that\n" + .string "can beat you!$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2544E6:: @ 82544E6 + .string "This is so upsetting!\p" + .string "But there are seven TRAINERS left!\n" + .string "Someone will humble you!$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254538:: @ 8254538 + .string "This is so upsetting!\p" + .string "But there are six TRAINERS left!\n" + .string "Someone will humble you!$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254588:: @ 8254588 + .string "This is so upsetting!\p" + .string "But there are five TRAINERS left!\n" + .string "Someone will humble you!$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2545D9:: @ 82545D9 + .string "This is so upsetting!\p" + .string "But there are four TRAINERS left!\n" + .string "Someone will humble you!$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25462A:: @ 825462A + .string "This is so upsetting!\p" + .string "But there are three TRAINERS left!\n" + .string "Someone will humble you!$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25467C:: @ 825467C + .string "This is so upsetting!\p" + .string "But there are two TRAINERS left!\n" + .string "Someone will humble you!$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2546CC:: @ 82546CC + .string "This is so upsetting!\p" + .string "But there’s one TRAINER left!\n" + .string "I’m sure you will be humbled!$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25471E:: @ 825471E + .string "This is so upsetting!\p" + .string "But there are no more TRAINERS\n" + .string "who can engage you!$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254767:: @ 8254767 + .string "That’s pretty impressive!\p" + .string "But there are seven more TRAINERS\n" + .string "on this floor. Can you beat them all?$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2547C9:: @ 82547C9 + .string "That’s pretty impressive!\p" + .string "But there are six more TRAINERS\n" + .string "on this floor. Can you beat them all?$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254829:: @ 8254829 + .string "That’s pretty impressive!\p" + .string "But there are five more TRAINERS\n" + .string "on this floor. Can you beat them all?$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25488A:: @ 825488A + .string "That’s pretty impressive!\p" + .string "But there are four more TRAINERS\n" + .string "on this floor. Can you beat them all?$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2548EB:: @ 82548EB + .string "That’s pretty impressive!\p" + .string "But there are three more TRAINERS\n" + .string "on this floor. Can you beat them all?$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25494D:: @ 825494D + .string "That’s pretty impressive!\p" + .string "But there are two more TRAINERS\n" + .string "on this floor. Can you beat them both?$" + +BattleFrontier_BattlePyramidEmptySquare_Text_2549AE:: @ 82549AE + .string "That’s pretty impressive!\p" + .string "But there’s still one more TRAINER\n" + .string "on this floor. Can you prevail?$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254A0B:: @ 8254A0B + .string "That’s pretty impressive!\p" + .string "You’ve gone through all the TRAINERS\n" + .string "on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254A59:: @ 8254A59 + .string "Maybe you could sweep through\n" + .string "the seven TRAINERS left on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254A9E:: @ 8254A9E + .string "Maybe you could sweep through\n" + .string "the six TRAINERS left on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254AE1:: @ 8254AE1 + .string "Maybe you could sweep through\n" + .string "the five TRAINERS left on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254B25:: @ 8254B25 + .string "Maybe you could sweep through\n" + .string "the four TRAINERS left on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254B69:: @ 8254B69 + .string "Maybe you could sweep through\n" + .string "the three TRAINERS left on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254BAE:: @ 8254BAE + .string "Maybe you could sweep through\n" + .string "the two TRAINERS left on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254BF1:: @ 8254BF1 + .string "Maybe you could complete your sweep\n" + .string "with the one TRAINER left on this floor.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254C3E:: @ 8254C3E + .string "There isn’t a single person left who\n" + .string "can defeat you now…$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254C77:: @ 8254C77 + .string "You may have what it takes to beat\n" + .string "the seven expert TRAINERS who remain.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254CC0:: @ 8254CC0 + .string "You may have what it takes to beat\n" + .string "the six expert TRAINERS who remain.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254D07:: @ 8254D07 + .string "You may have what it takes to beat\n" + .string "the five expert TRAINERS who remain.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254D4F:: @ 8254D4F + .string "You may have what it takes to beat\n" + .string "the four expert TRAINERS who remain.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254D97:: @ 8254D97 + .string "You may have what it takes to beat\n" + .string "the three expert TRAINERS who remain.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254DE0:: @ 8254DE0 + .string "You may have what it takes to beat\n" + .string "the two expert TRAINERS who remain.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254E27:: @ 8254E27 + .string "You may have what it takes to beat\n" + .string "the one expert TRAINER who remains.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254E6E:: @ 8254E6E + .string "Your skills are beyond reproach.\p" + .string "There are no more TRAINERS here\n" + .string "who have any chance of beating you.$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254ED3:: @ 8254ED3 + .string "Can you keep winning against\n" + .string "the seven remaining TRAINERS?$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254F0E:: @ 8254F0E + .string "Can you keep winning against\n" + .string "the six remaining TRAINERS?$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254F47:: @ 8254F47 + .string "Can you keep winning against\n" + .string "the five remaining TRAINERS?$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254F81:: @ 8254F81 + .string "Can you keep winning against\n" + .string "the four remaining TRAINERS?$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254FBB:: @ 8254FBB + .string "Can you keep winning against\n" + .string "the three remaining TRAINERS?$" + +BattleFrontier_BattlePyramidEmptySquare_Text_254FF6:: @ 8254FF6 + .string "Can you keep winning against\n" + .string "the two remaining TRAINERS?$" + +BattleFrontier_BattlePyramidEmptySquare_Text_25502F:: @ 825502F + .string "Can you keep winning against\n" + .string "the last remaining TRAINER?$" + +BattleFrontier_BattlePyramidEmptySquare_Text_255068:: @ 8255068 + .string "There aren’t any TRAINERS left that\n" + .string "can take you on now…$" + diff --git a/data/scripts/maps/BattleFrontier_BattlePyramidLobby.inc b/data/scripts/maps/BattleFrontier_BattlePyramidLobby.inc new file mode 100644 index 0000000000..9455479a7f --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattlePyramidLobby.inc @@ -0,0 +1,970 @@ +BattleFrontier_BattlePyramidLobby_MapScripts:: @ 8250716 + map_script 2, BattleFrontier_BattlePyramidLobby_MapScript2_250735 + map_script 4, BattleFrontier_BattlePyramidLobby_MapScript2_2497FB + .byte 0 + +BattleFrontier_BattlePyramidLobby_MapScript2_250721: @ 8250721 + map_script_2 VAR_0x4001, 0, BattleFrontier_BattlePyramidLobby_EventScript_25072B + .2byte 0 + +BattleFrontier_BattlePyramidLobby_EventScript_25072B: @ 825072B + setvar VAR_0x4001, 1 + turnobject 255, 2 + end + +BattleFrontier_BattlePyramidLobby_MapScript2_250735: @ 8250735 + map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePyramidLobby_EventScript_25075F + map_script_2 VAR_0x4000, 1, BattleFrontier_BattlePyramidLobby_EventScript_250768 + map_script_2 VAR_0x4000, 2, BattleFrontier_BattlePyramidLobby_EventScript_2508AC + map_script_2 VAR_0x4000, 3, BattleFrontier_BattlePyramidLobby_EventScript_2507B1 + map_script_2 VAR_0x4000, 4, BattleFrontier_BattlePyramidLobby_EventScript_250852 + .2byte 0 + +BattleFrontier_BattlePyramidLobby_EventScript_25075F:: @ 825075F + setvar VAR_0x8004, 0 + special sub_81A1780 + end + +BattleFrontier_BattlePyramidLobby_EventScript_250768:: @ 8250768 + lockall + message BattleFrontier_BattlePyramidLobby_Text_2516D6 + waitmessage + playse SE_EXPMAX + waitse + closemessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 0 + special sub_81A8E7C + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 0 + special sub_81A8E7C + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x4000, 255 + releaseall + end + +BattleFrontier_BattlePyramidLobby_EventScript_2507B1:: @ 82507B1 + lockall + setvar VAR_0x8004, 10 + special sub_81A1780 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattlePyramidLobby_EventScript_2507D2 + msgbox BattleFrontier_BattlePyramidLobby_Text_2517B5, 4 + goto BattleFrontier_BattlePyramidLobby_EventScript_2507DA + +BattleFrontier_BattlePyramidLobby_EventScript_2507D2:: @ 82507D2 + msgbox BattleFrontier_BattlePyramidLobby_Text_2525F4, 4 + +BattleFrontier_BattlePyramidLobby_EventScript_2507DA:: @ 82507DA + special sub_81B95E0 + compare VAR_RESULT, 1 + call_if 1, BattleFrontier_BattlePyramidLobby_EventScript_250DDB + clearflag FLAG_SPECIAL_FLAG_0x4004 + setvar VAR_0x8004, 8 + special sub_81A1780 + special copy_player_party_from_sav1 + setvar VAR_0x8004, 14 + special sub_81A8E7C + special HealPlayerParty + message BattleFrontier_BattlePyramidLobby_Text_2519F8 + waitmessage + playse SE_EXPMAX + waitse + msgbox BattleFrontier_BattlePyramidLobby_Text_252662, 4 + setvar VAR_0x8004, 11 + special sub_81A1780 + msgbox BattleFrontier_BattlePyramidLobby_Text_241520, 9 + message BattleFrontier_BattlePyramidLobby_Text_251A77 + waitmessage + setvar VAR_0x8004, 4 + special sub_81A8E7C + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 0 + special sub_81A8E7C + playse SE_SAVE + waitse + msgbox BattleFrontier_BattlePyramidLobby_Text_251BB6, 4 + closemessage + setvar VAR_0x4000, 255 + releaseall + end + +BattleFrontier_BattlePyramidLobby_EventScript_250852:: @ 8250852 + setvar VAR_0x8004, 8 + special sub_81A1780 + special copy_player_party_from_sav1 + setvar VAR_0x8004, 14 + special sub_81A8E7C + special HealPlayerParty + lockall + message BattleFrontier_BattlePyramidLobby_Text_251B5A + waitmessage + playse SE_EXPMAX + waitse + message BattleFrontier_BattlePyramidLobby_Text_251A77 + waitmessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 0 + special sub_81A8E7C + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 0 + special sub_81A8E7C + playse SE_SAVE + waitse + msgbox BattleFrontier_BattlePyramidLobby_Text_251BB6, 4 + closemessage + setvar VAR_0x4000, 255 + releaseall + end + +BattleFrontier_BattlePyramidLobby_EventScript_2508AC:: @ 82508AC + goto BattleFrontier_BattlePyramidLobby_EventScript_250A21 + +BattleFrontier_BattlePyramidLobby_EventScript_2508B1:: @ 82508B1 + lock + faceplayer + setvar VAR_FRONTIER_FACILITY, 6 + setvar VAR_0x40CE, 0 + special copy_player_party_to_sav1 + msgbox BattleFrontier_BattlePyramidLobby_Text_250F31, 4 + +BattleFrontier_BattlePyramidLobby_EventScript_2508C8:: @ 82508C8 + message BattleFrontier_BattlePyramidLobby_Text_250FA7 + waitmessage + multichoice 17, 6, 23, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattlePyramidLobby_EventScript_250904 + case 1, BattleFrontier_BattlePyramidLobby_EventScript_250A68 + case 2, BattleFrontier_BattlePyramidLobby_EventScript_250AC4 + case 127, BattleFrontier_BattlePyramidLobby_EventScript_250AC4 + +BattleFrontier_BattlePyramidLobby_EventScript_250904:: @ 8250904 + message BattleFrontier_BattlePyramidLobby_Text_251248 + waitmessage + multichoice 17, 6, 24, 0 + switch VAR_RESULT + case 2, BattleFrontier_BattlePyramidLobby_EventScript_250AC4 + case 127, BattleFrontier_BattlePyramidLobby_EventScript_250AC4 + setvar VAR_0x8004, 15 + special sub_81A1780 + compare VAR_0x8004, 1 + goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250A75 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A1780 + msgbox BattleFrontier_BattlePyramidLobby_Text_251297, 4 + fadescreen 1 + call BattleFrontier_BattlePyramidLobby_EventScript_23F2B7 + copyvar VAR_0x8004, VAR_RESULT + setvar VAR_0x8005, 3 + special sub_80F9490 + waitstate + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250AC1 + msgbox BattleFrontier_BattlePyramidLobby_Text_2514E6, 5 + switch VAR_RESULT + case 0, BattleFrontier_BattlePyramidLobby_EventScript_250AC1 + case 1, BattleFrontier_BattlePyramidLobby_EventScript_2509A5 + case 127, BattleFrontier_BattlePyramidLobby_EventScript_250AC1 + +BattleFrontier_BattlePyramidLobby_EventScript_2509A5:: @ 82509A5 + setvar VAR_0x4000, 0 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 4 + special sub_81A1780 + setvar VAR_0x8004, 0 + special sub_81A8E7C + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 1 + special sub_81A8E7C + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 1 + special sub_81A1780 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x8004, 6 + special sub_81A8E7C + setvar VAR_0x8004, 9 + special sub_81A8E7C + special copy_player_party_from_sav1 + closemessage + delay 2 + call BattleFrontier_BattlePyramidLobby_EventScript_27134F + setvar VAR_0x4000, 255 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250AAA + +BattleFrontier_BattlePyramidLobby_EventScript_250A21:: @ 8250A21 + special copy_player_party_to_sav1 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 3 + special sub_81A1780 + msgbox BattleFrontier_BattlePyramidLobby_Text_251531, 4 + closemessage + call BattleFrontier_BattlePyramidLobby_EventScript_250D56 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_RESULT, 0 + special HealPlayerParty + warp BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE, 255, 1, 1 + setvar VAR_0x4000, 0 + waitstate + end + +BattleFrontier_BattlePyramidLobby_EventScript_250A68:: @ 8250A68 + msgbox BattleFrontier_BattlePyramidLobby_Text_25100C, 4 + goto BattleFrontier_BattlePyramidLobby_EventScript_2508C8 + +BattleFrontier_BattlePyramidLobby_EventScript_250A75:: @ 8250A75 + switch VAR_RESULT + case 0, BattleFrontier_BattlePyramidLobby_EventScript_250A90 + case 1, BattleFrontier_BattlePyramidLobby_EventScript_250A9D + +BattleFrontier_BattlePyramidLobby_EventScript_250A90:: @ 8250A90 + msgbox BattleFrontier_BattlePyramidLobby_Text_2513C1, 4 + goto BattleFrontier_BattlePyramidLobby_EventScript_250ACC + +BattleFrontier_BattlePyramidLobby_EventScript_250A9D:: @ 8250A9D + msgbox BattleFrontier_BattlePyramidLobby_Text_2512E2, 4 + goto BattleFrontier_BattlePyramidLobby_EventScript_250ACC + +BattleFrontier_BattlePyramidLobby_EventScript_250AAA:: @ 8250AAA + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + goto BattleFrontier_BattlePyramidLobby_EventScript_250AC4 + +BattleFrontier_BattlePyramidLobby_EventScript_250AC1:: @ 8250AC1 + special copy_player_party_from_sav1 + +BattleFrontier_BattlePyramidLobby_EventScript_250AC4:: @ 8250AC4 + msgbox BattleFrontier_BattlePyramidLobby_Text_250FE5, 4 + +BattleFrontier_BattlePyramidLobby_EventScript_250ACC:: @ 8250ACC + release + end + +BattleFrontier_BattlePyramidLobby_EventScript_250ACE:: @ 8250ACE + lockall + applymovement 2, BattleFrontier_BattlePyramidLobby_Movement_27259E + waitmovement 0 + msgbox BattleFrontier_BattlePyramidLobby_Text_251C3B, 4 + call BattleFrontier_BattlePyramidLobby_EventScript_250AF0 + msgbox BattleFrontier_BattlePyramidLobby_Text_252461, 4 + releaseall + end + +BattleFrontier_BattlePyramidLobby_EventScript_250AF0:: @ 8250AF0 + multichoice 17, 6, 24, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattlePyramidLobby_EventScript_250B28 + case 1, BattleFrontier_BattlePyramidLobby_EventScript_250B66 + case 2, BattleFrontier_BattlePyramidLobby_EventScript_250B27 + case 127, BattleFrontier_BattlePyramidLobby_EventScript_250B27 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250B27:: @ 8250B27 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250B28:: @ 8250B28 + msgbox BattleFrontier_BattlePyramidLobby_Text_251C8A, 4 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 5 + special sub_81A8E7C + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattlePyramidLobby_EventScript_250B53 + setvar VAR_RESULT, 0 + goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250B53:: @ 8250B53 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 3 + special sub_81A8E7C + goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250B66:: @ 8250B66 + msgbox BattleFrontier_BattlePyramidLobby_Text_251C8A, 4 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 6 + special sub_81A8E7C + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattlePyramidLobby_EventScript_250B91 + setvar VAR_RESULT, 0 + goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250B91:: @ 8250B91 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 4 + special sub_81A8E7C + goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250BA4:: @ 8250BA4 + copyvar VAR_0x8004, VAR_RESULT + special sub_813B968 + switch VAR_RESULT + case 0, BattleFrontier_BattlePyramidLobby_EventScript_250C8E + case 1, BattleFrontier_BattlePyramidLobby_EventScript_250C97 + case 2, BattleFrontier_BattlePyramidLobby_EventScript_250CA0 + case 3, BattleFrontier_BattlePyramidLobby_EventScript_250CA9 + case 4, BattleFrontier_BattlePyramidLobby_EventScript_250CB2 + case 5, BattleFrontier_BattlePyramidLobby_EventScript_250CBB + case 6, BattleFrontier_BattlePyramidLobby_EventScript_250CC4 + case 7, BattleFrontier_BattlePyramidLobby_EventScript_250CCD + case 8, BattleFrontier_BattlePyramidLobby_EventScript_250CD6 + case 9, BattleFrontier_BattlePyramidLobby_EventScript_250CDF + case 10, BattleFrontier_BattlePyramidLobby_EventScript_250CE8 + case 11, BattleFrontier_BattlePyramidLobby_EventScript_250CF1 + case 12, BattleFrontier_BattlePyramidLobby_EventScript_250CFA + case 13, BattleFrontier_BattlePyramidLobby_EventScript_250D03 + case 14, BattleFrontier_BattlePyramidLobby_EventScript_250D0C + case 15, BattleFrontier_BattlePyramidLobby_EventScript_250D15 + case 16, BattleFrontier_BattlePyramidLobby_EventScript_250D1E + case 17, BattleFrontier_BattlePyramidLobby_EventScript_250D27 + case 18, BattleFrontier_BattlePyramidLobby_EventScript_250D30 + case 19, BattleFrontier_BattlePyramidLobby_EventScript_250D39 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250C8E:: @ 8250C8E + msgbox BattleFrontier_BattlePyramidLobby_Text_251CB3, 4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250C97:: @ 8250C97 + msgbox BattleFrontier_BattlePyramidLobby_Text_251D07, 4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250CA0:: @ 8250CA0 + msgbox BattleFrontier_BattlePyramidLobby_Text_251D54, 4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250CA9:: @ 8250CA9 + msgbox BattleFrontier_BattlePyramidLobby_Text_251D9C, 4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250CB2:: @ 8250CB2 + msgbox BattleFrontier_BattlePyramidLobby_Text_251E3D, 4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250CBB:: @ 8250CBB + msgbox BattleFrontier_BattlePyramidLobby_Text_251EA1, 4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250CC4:: @ 8250CC4 + msgbox BattleFrontier_BattlePyramidLobby_Text_251F17, 4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250CCD:: @ 8250CCD + msgbox BattleFrontier_BattlePyramidLobby_Text_251F6E, 4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250CD6:: @ 8250CD6 + msgbox BattleFrontier_BattlePyramidLobby_Text_251FC7, 4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250CDF:: @ 8250CDF + msgbox BattleFrontier_BattlePyramidLobby_Text_25201B, 4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250CE8:: @ 8250CE8 + msgbox BattleFrontier_BattlePyramidLobby_Text_252068, 4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250CF1:: @ 8250CF1 + msgbox BattleFrontier_BattlePyramidLobby_Text_2520BA, 4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250CFA:: @ 8250CFA + msgbox BattleFrontier_BattlePyramidLobby_Text_252158, 4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250D03:: @ 8250D03 + msgbox BattleFrontier_BattlePyramidLobby_Text_2521B4, 4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250D0C:: @ 8250D0C + msgbox BattleFrontier_BattlePyramidLobby_Text_252206, 4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250D15:: @ 8250D15 + msgbox BattleFrontier_BattlePyramidLobby_Text_25225A, 4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250D1E:: @ 8250D1E + msgbox BattleFrontier_BattlePyramidLobby_Text_2522AE, 4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250D27:: @ 8250D27 + msgbox BattleFrontier_BattlePyramidLobby_Text_25230B, 4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250D30:: @ 8250D30 + msgbox BattleFrontier_BattlePyramidLobby_Text_252364, 4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250D39:: @ 8250D39 + msgbox BattleFrontier_BattlePyramidLobby_Text_252403, 4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250D42:: @ 8250D42 + lockall + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 6 + special sub_81A1780 + waitbuttonpress + special sub_813C5A0 + releaseall + end + +BattleFrontier_BattlePyramidLobby_EventScript_250D56:: @ 8250D56 + applymovement 1, BattleFrontier_BattlePyramidLobby_Movement_250DC4 + applymovement 255, BattleFrontier_BattlePyramidLobby_Movement_250DCD + waitmovement 0 + msgbox BattleFrontier_BattlePyramidLobby_Text_251569, 4 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + special sub_81A8E7C + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250D94 + msgbox BattleFrontier_BattlePyramidLobby_Text_2515AD, 4 + goto BattleFrontier_BattlePyramidLobby_EventScript_250D9C + +BattleFrontier_BattlePyramidLobby_EventScript_250D94:: @ 8250D94 + msgbox BattleFrontier_BattlePyramidLobby_Text_2515F4, 4 + +BattleFrontier_BattlePyramidLobby_EventScript_250D9C:: @ 8250D9C + message BattleFrontier_BattlePyramidLobby_Text_25161E + waitmessage + playse SE_EXPMAX + waitse + msgbox BattleFrontier_BattlePyramidLobby_Text_251647, 4 + closemessage + applymovement 1, BattleFrontier_BattlePyramidLobby_Movement_250DD5 + waitmovement 0 + applymovement 255, BattleFrontier_BattlePyramidLobby_Movement_250DD8 + waitmovement 0 + return + +BattleFrontier_BattlePyramidLobby_Movement_250DC4: @ 8250DC4 + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_00 + step_end + +BattleFrontier_BattlePyramidLobby_Movement_250DCD: @ 8250DCD + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_end + +BattleFrontier_BattlePyramidLobby_Movement_250DD5: @ 8250DD5 + step_right + step_02 + step_end + +BattleFrontier_BattlePyramidLobby_Movement_250DD8: @ 8250DD8 + step_up + step_up + step_end + +BattleFrontier_BattlePyramidLobby_EventScript_250DDB:: @ 8250DDB + msgbox BattleFrontier_BattlePyramidLobby_Text_2517FC, 4 + setflag FLAG_SPECIAL_FLAG_0x4004 + special sub_81C6A94 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250E00 + message BattleFrontier_BattlePyramidLobby_Text_2518C6 + waitmessage + goto BattleFrontier_BattlePyramidLobby_EventScript_250E09 + end + +BattleFrontier_BattlePyramidLobby_EventScript_250E00:: @ 8250E00 + msgbox BattleFrontier_BattlePyramidLobby_Text_251881, 4 + return + +BattleFrontier_BattlePyramidLobby_EventScript_250E09:: @ 8250E09 + multichoice 17, 6, 83, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattlePyramidLobby_EventScript_250E40 + case 1, BattleFrontier_BattlePyramidLobby_EventScript_250E50 + case 2, BattleFrontier_BattlePyramidLobby_EventScript_250E60 + case 127, BattleFrontier_BattlePyramidLobby_EventScript_250E60 + end + +BattleFrontier_BattlePyramidLobby_EventScript_250E40:: @ 8250E40 + special sub_81C4F24 + waitstate + message BattleFrontier_BattlePyramidLobby_Text_25197E + waitmessage + goto BattleFrontier_BattlePyramidLobby_EventScript_250E09 + end + +BattleFrontier_BattlePyramidLobby_EventScript_250E50:: @ 8250E50 + special sub_81B9620 + waitstate + message BattleFrontier_BattlePyramidLobby_Text_25197E + waitmessage + goto BattleFrontier_BattlePyramidLobby_EventScript_250E09 + end + +BattleFrontier_BattlePyramidLobby_EventScript_250E60:: @ 8250E60 + special sub_81B95E0 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250E6F + return + +BattleFrontier_BattlePyramidLobby_EventScript_250E6F:: @ 8250E6F + msgbox BattleFrontier_BattlePyramidLobby_Text_25194F, 4 + message BattleFrontier_BattlePyramidLobby_Text_25197E + waitmessage + goto BattleFrontier_BattlePyramidLobby_EventScript_250E09 + end + +BattleFrontier_BattlePyramidLobby_EventScript_250E83:: @ 8250E83 + msgbox BattleFrontier_BattlePyramidLobby_Text_2524DA, 2 + end + +BattleFrontier_BattlePyramidLobby_EventScript_250E8C:: @ 8250E8C + msgbox BattleFrontier_BattlePyramidLobby_Text_252595, 2 + end + +BattleFrontier_BattlePyramidLobby_EventScript_250E95:: @ 8250E95 + lockall + msgbox BattleFrontier_BattlePyramidLobby_Text_2526B6, 4 + goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4 + end + +BattleFrontier_BattlePyramidLobby_EventScript_250EA4:: @ 8250EA4 + message BattleFrontier_BattlePyramidLobby_Text_2526D9 + waitmessage + multichoice 15, 2, 101, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattlePyramidLobby_EventScript_250EF7 + case 1, BattleFrontier_BattlePyramidLobby_EventScript_250F05 + case 2, BattleFrontier_BattlePyramidLobby_EventScript_250F13 + case 3, BattleFrontier_BattlePyramidLobby_EventScript_250F21 + case 4, BattleFrontier_BattlePyramidLobby_EventScript_250F2F + case 127, BattleFrontier_BattlePyramidLobby_EventScript_250F2F + end + +BattleFrontier_BattlePyramidLobby_EventScript_250EF7:: @ 8250EF7 + msgbox BattleFrontier_BattlePyramidLobby_Text_2526FC, 4 + goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4 + end + +BattleFrontier_BattlePyramidLobby_EventScript_250F05:: @ 8250F05 + msgbox BattleFrontier_BattlePyramidLobby_Text_2527A9, 4 + goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4 + end + +BattleFrontier_BattlePyramidLobby_EventScript_250F13:: @ 8250F13 + msgbox BattleFrontier_BattlePyramidLobby_Text_25285A, 4 + goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4 + end + +BattleFrontier_BattlePyramidLobby_EventScript_250F21:: @ 8250F21 + msgbox BattleFrontier_BattlePyramidLobby_Text_252924, 4 + goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4 + end + +BattleFrontier_BattlePyramidLobby_EventScript_250F2F:: @ 8250F2F + releaseall + end + +BattleFrontier_BattlePyramidLobby_Text_250F31: @ 8250F31 + .string "Where the courage of TRAINERS\n" + .string "is put to the test!\p" + .string "Welcome to the BATTLE PYRAMID!\p" + .string "I am your guide to\n" + .string "the Battle Quest.$" + +BattleFrontier_BattlePyramidLobby_Text_250FA7: @ 8250FA7 + .string "Have you the courage to embark on\n" + .string "the Battle Quest challenge?$" + +BattleFrontier_BattlePyramidLobby_Text_250FE5: @ 8250FE5 + .string "We await your challenge in the future!$" + +BattleFrontier_BattlePyramidLobby_Text_25100C: @ 825100C + .string "The Battle Quest is a battling\n" + .string "event in which you must explore\l" + .string "the PYRAMID and try to reach the top.\p" + .string "In the PYRAMID are seven floors of\n" + .string "mazes, all of them filled with not only\l" + .string "skilled TRAINERS but also wild POKéMON.\p" + .string "You must enter with three POKéMON,\n" + .string "none of them holding an item.\p" + .string "On your ascent, you will be provided\n" + .string "with a BATTLE BAG for items.\p" + .string "If you fail in your challenge, any item\n" + .string "placed in the BATTLE BAG disappears.\p" + .string "If you want to interrupt your\n" + .string "challenge, you must select “REST”\l" + .string "and save the game.\p" + .string "If you don’t save before interrupting,\n" + .string "you will be disqualified.$" + +BattleFrontier_BattlePyramidLobby_Text_251248: @ 8251248 + .string "The PYRAMID offers two courses,\n" + .string "Level 50 and Open Level.\l" + .string "Which will you enter?$" + +BattleFrontier_BattlePyramidLobby_Text_251297: @ 8251297 + .string "Very good. Now, please select the three\n" + .string "POKéMON you wish to accompany you.$" + +BattleFrontier_BattlePyramidLobby_Text_2512E2: @ 82512E2 + .string "A slight problem, adventurer!\p" + .string "You seem to not have the three\n" + .string "POKéMON qualified for the challenge.\p" + .string "Please also remember to take all\n" + .string "items from your POKéMON.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "When you are ready, please have\n" + .string "a word with me.$" + +BattleFrontier_BattlePyramidLobby_Text_2513C1: @ 82513C1 + .string "A slight problem, adventurer!\p" + .string "You seem to not have the three\n" + .string "POKéMON qualified for the challenge.\p" + .string "The three POKéMON must be different\n" + .string "and each no higher than Level 50.\p" + .string "Please also remember to take all\n" + .string "items from your POKéMON.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "When you are ready, please have\n" + .string "a word with me.$" + +BattleFrontier_BattlePyramidLobby_Text_2514E6: @ 82514E6 + .string "Before you enter the BATTLE PYRAMID,\n" + .string "the game must be saved. Is that okay?$" + +BattleFrontier_BattlePyramidLobby_Text_251531: @ 8251531 + .string "Very good. I will now show you into\n" + .string "the BATTLE PYRAMID.$" + +BattleFrontier_BattlePyramidLobby_Text_251569: @ 8251569 + .string "We will hold your BAG for safekeeping,\n" + .string "{PLAYER}, while you are exploring.$" + +BattleFrontier_BattlePyramidLobby_Text_2515AD: @ 82515AD + .string "In exchange, please take this BATTLE\n" + .string "BAG, the one you used previously.$" + +BattleFrontier_BattlePyramidLobby_Text_2515F4: @ 82515F4 + .string "In exchange, please take this\n" + .string "BATTLE BAG.$" + +BattleFrontier_BattlePyramidLobby_Text_25161E: @ 825161E + .string "{PLAYER} exchanged the BAG for\n" + .string "the BATTLE BAG.$" + +BattleFrontier_BattlePyramidLobby_Text_251647: @ 8251647 + .string "When you step on this floor panel,\n" + .string "you will be transported to a higher\l" + .string "floor in the PYRAMID.\p" + .string "I hope for your sake that your\n" + .string "quest goes safely!$" + +BattleFrontier_BattlePyramidLobby_Text_2516D6: @ 82516D6 + .string "A major problem, explorer!\p" + .string "You did not save before ending\n" + .string "your challenge the last time.\p" + .string "Consequently, your challenge has\n" + .string "been disqualified, I’m sorry to say.\p" + .string "Here is the BAG we’ve been holding\n" + .string "for you.\p" + .string "{PLAYER} got the BAG back.$" + +BattleFrontier_BattlePyramidLobby_Text_2517B5: @ 82517B5 + .string "Excellent to see you back!\p" + .string "You’ve conquered the PYRAMID!\n" + .string "How splendid!$" + +BattleFrontier_BattlePyramidLobby_Text_2517FC: @ 82517FC + .string "Ah, a slight problem.\p" + .string "At least one POKéMON is holding\n" + .string "an item.\p" + .string "I’m sorry to say, items obtained in\n" + .string "the PYRAMID cannot be taken away.$" + +BattleFrontier_BattlePyramidLobby_Text_251881: @ 8251881 + .string "All items held by your POKéMON will be\n" + .string "moved to your BATTLE BAG, {PLAYER}.$" + +BattleFrontier_BattlePyramidLobby_Text_2518C6: @ 82518C6 + .string "The BATTLE BAG cannot hold all your\n" + .string "items, I’m sorry to say.\p" + .string "Please pick the items you’ll keep in the\n" + .string "BATTLE BAG, and with your POKéMON.$" + +BattleFrontier_BattlePyramidLobby_Text_25194F: @ 825194F + .string "At least one POKéMON is still\n" + .string "holding an item.$" + +BattleFrontier_BattlePyramidLobby_Text_25197E: @ 825197E + .string "Please pick the items you’ll keep in the\n" + .string "BATTLE BAG, and with your POKéMON.$" + +BattleFrontier_BattlePyramidLobby_Text_2519CA: @ 82519CA + .string "{PLAYER} returned everything that\n" + .string "the POKéMON held.$" + +BattleFrontier_BattlePyramidLobby_Text_2519F8: @ 82519F8 + .string "The BATTLE BAG you used will be kept\n" + .string "in readiness for your next challenge.\p" + .string "{PLAYER} turned the BATTLE BAG over\n" + .string "for the BAG’s return.$" + +BattleFrontier_BattlePyramidLobby_Text_251A77: @ 8251A77 + .string "I must record your results.\n" + .string "Please wait.$" + +BattleFrontier_BattlePyramidLobby_Text_251AA0: @ 8251AA0 + .string "As a memento for conquering\n" + .string "the BATTLE PYRAMID, please take this.$" + +BattleFrontier_BattlePyramidLobby_Text_251AE2: @ 8251AE2 + .string "{PLAYER} received the prize\n" + .string "{STR_VAR_1}.$" + +BattleFrontier_BattlePyramidLobby_Text_251AFC: @ 8251AFC + .string "…Ah…\n" + .string "Your BAG appears to be filled.\p" + .string "Please return after you’ve organized\n" + .string "your BAG’s contents.$" + +BattleFrontier_BattlePyramidLobby_Text_251B5A: @ 8251B5A + .string "How disappointing for you…\p" + .string "Here is the BAG we’ve been holding\n" + .string "for you.\p" + .string "{PLAYER} got the BAG back.$" + +BattleFrontier_BattlePyramidLobby_Text_251BB6: @ 8251BB6 + .string "We look forward to your\n" + .string "next challenge!$" + +BattleFrontier_BattlePyramidLobby_Text_251BDE: @ 8251BDE + .string "We have been looking forward to\n" + .string "your arrival!\p" + .string "Here is your prize for conquering\n" + .string "the PYRAMID.$" + +BattleFrontier_BattlePyramidLobby_Text_251C3B: @ 8251C3B + .string "Welcome…\p" + .string "I shall be pleased to tell you what\n" + .string "misfortunes await in the PYRAMID…$" + +BattleFrontier_BattlePyramidLobby_Text_251C8A: @ 8251C8A + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "… … … … … …\n" + .string "Aah!$" + +BattleFrontier_BattlePyramidLobby_Text_251CB3: @ 8251CB3 + .string "I see a shower of sparks…\p" + .string "…And in it, I see your POKéMON\n" + .string "struggling with paralysis…$" + +BattleFrontier_BattlePyramidLobby_Text_251D07: @ 8251D07 + .string "I see poison…\p" + .string "…And, I see your POKéMON suffering\n" + .string "from the effects of poison…$" + +BattleFrontier_BattlePyramidLobby_Text_251D54: @ 8251D54 + .string "I see bright red flames…\p" + .string "…And, I see your POKéMON suffering\n" + .string "from burns…$" + +BattleFrontier_BattlePyramidLobby_Text_251D9C: @ 8251D9C + .string "I sense the tremendous pressure of\n" + .string "unrequited anger…\p" + .string "It is a curse…\p" + .string "…And, I see your POKéMON drained of\n" + .string "Power Points and having no recourse\l" + .string "but to use STRUGGLE…$" + +BattleFrontier_BattlePyramidLobby_Text_251E3D: @ 8251E3D + .string "I see POKéMON loftily airborne…\p" + .string "…And, I see your POKéMON frustrated\n" + .string "by powerless GROUND-type moves…$" + +BattleFrontier_BattlePyramidLobby_Text_251EA1: @ 8251EA1 + .string "I sense terrific energy rising from\n" + .string "the ground below…\p" + .string "…And, I see your POKéMON unable to\n" + .string "escape the power’s clutches…$" + +BattleFrontier_BattlePyramidLobby_Text_251F17: @ 8251F17 + .string "I see ICE-type POKéMON…\p" + .string "…And, I see your POKéMON fighting\n" + .string "the freezing effects of ice…$" + +BattleFrontier_BattlePyramidLobby_Text_251F6E: @ 8251F6E + .string "I see a flurry of moves that imperil\n" + .string "the user…\p" + .string "…And, I see your POKéMON falling\n" + .string "to them…$" + +BattleFrontier_BattlePyramidLobby_Text_251FC7: @ 8251FC7 + .string "I see PSYCHIC-type POKéMON…\p" + .string "…And, I see your POKéMON in torment\n" + .string "from PSYCHIC moves…$" + +BattleFrontier_BattlePyramidLobby_Text_25201B: @ 825201B + .string "I see ROCK-type POKéMON…\p" + .string "…And, I see your POKéMON suffering\n" + .string "from ROCK moves…$" + +BattleFrontier_BattlePyramidLobby_Text_252068: @ 8252068 + .string "I see FIGHTING-type POKéMON…\p" + .string "…And, I see your POKéMON pummeled\n" + .string "by FIGHTING moves…$" + +BattleFrontier_BattlePyramidLobby_Text_2520BA: @ 82520BA + .string "RAIN DANCE… SUNNY DAY…\n" + .string "SANDSTORM… HAIL…\p" + .string "I see POKéMON that become stronger\n" + .string "with the weather…\p" + .string "…And, I see your POKéMON confounded\n" + .string "by different types of moves…$" + +BattleFrontier_BattlePyramidLobby_Text_252158: @ 8252158 + .string "I see BUG-type POKéMON…\p" + .string "…And, I see your POKéMON suffering\n" + .string "from different kinds of attacks…$" + +BattleFrontier_BattlePyramidLobby_Text_2521B4: @ 82521B4 + .string "I see DARK-type POKéMON…\p" + .string "…And, I see your POKéMON suffering\n" + .string "from DARK-type moves…$" + +BattleFrontier_BattlePyramidLobby_Text_252206: @ 8252206 + .string "I see WATER-type POKéMON…\p" + .string "…And, I see your POKéMON suffering\n" + .string "from WATER-type moves…$" + +BattleFrontier_BattlePyramidLobby_Text_25225A: @ 825225A + .string "I see GHOST-type POKéMON…\p" + .string "…And, I see your POKéMON suffering\n" + .string "from GHOST-type moves…$" + +BattleFrontier_BattlePyramidLobby_Text_2522AE: @ 82522AE + .string "I see STEEL-type POKéMON…\p" + .string "…And, I see your POKéMON suffering\n" + .string "from enormously powerful moves…$" + +BattleFrontier_BattlePyramidLobby_Text_25230B: @ 825230B + .string "I see flying POKéMON…\p" + .string "…And, I see your POKéMON suffering\n" + .string "from enormously powerful moves…$" + +BattleFrontier_BattlePyramidLobby_Text_252364: @ 8252364 + .string "I see those that have evolved from\n" + .string "the power of stones…\p" + .string "I also sense fire, water,\n" + .string "and electricity…\p" + .string "…And, I see your POKéMON suffering\n" + .string "from those three powers…$" + +BattleFrontier_BattlePyramidLobby_Text_252403: @ 8252403 + .string "I see NORMAL-type POKéMON…\p" + .string "…And, I see your POKéMON suffering\n" + .string "from enormously powerful moves…$" + +BattleFrontier_BattlePyramidLobby_Text_252461: @ 8252461 + .string "Whether you believe my fortunes\n" + .string "or not, the choice is yours…\p" + .string "The future can be changed anytime…\n" + .string "I wish you safe passage…$" + +BattleFrontier_BattlePyramidLobby_Text_2524DA: @ 82524DA + .string "Did you know?\p" + .string "If you run fast, TRAINERS may notice\n" + .string "and come after you for a battle.\p" + .string "So, if you want to avoid TRAINERS,\n" + .string "don’t catch their eyes, but sneak\l" + .string "cautiously and quietly past them.$" + +BattleFrontier_BattlePyramidLobby_Text_252595: @ 8252595 + .string "Awaaaaaaarrrrgh!\p" + .string "I had a whole lot of items, but I lost\n" + .string "them all when I lost!\p" + .string "Awaaaaaaarrrrgh!$" + +BattleFrontier_BattlePyramidLobby_Text_2525F4: @ 82525F4 + .string "Welcome back!\n" + .string "You’ve done the unthinkable!\p" + .string "You’ve defeated the PYRAMID KING\n" + .string "and conquered the BATTLE PYRAMID!$" + +BattleFrontier_BattlePyramidLobby_Text_252662: @ 8252662 + .string "Young explorer!\n" + .string "In commendation of your courage,\l" + .string "we give you these Battle Point(s)!$" + +BattleFrontier_BattlePyramidLobby_Text_2526B6: @ 82526B6 + .string "The Battle Quest rules are listed.$" + +BattleFrontier_BattlePyramidLobby_Text_2526D9: @ 82526D9 + .string "Which heading do you want to read?$" + +BattleFrontier_BattlePyramidLobby_Text_2526FC: @ 82526FC + .string "When the PYRAMID is conquered,\n" + .string "the wild POKéMON that appear in it\l" + .string "are replaced by different kinds.\p" + .string "Explore, observe, and learn what kinds\n" + .string "of wild POKéMON you may encounter.$" + +BattleFrontier_BattlePyramidLobby_Text_2527A9: @ 82527A9 + .string "TRAINERS are lying in wait for you\n" + .string "inside the PYRAMID.\p" + .string "On each floor, there are up to\n" + .string "eight TRAINERS.\p" + .string "When you defeat a TRAINER, you will\n" + .string "get a helpful hint for your adventure.$" + +BattleFrontier_BattlePyramidLobby_Text_25285A: @ 825285A + .string "The mazes in the PYRAMID rearrange\n" + .string "themselves every time you enter it.\p" + .string "The mazes are poorly lit.\n" + .string "You must advance with caution.\p" + .string "The light grows brighter whenever you\n" + .string "defeat a wild POKéMON or a TRAINER.$" + +BattleFrontier_BattlePyramidLobby_Text_252924: @ 8252924 + .string "The BATTLE BAG serves as your BAG\n" + .string "while in the PYRAMID.\p" + .string "There are two separate BATTLE BAGS--\n" + .string "one each for the Level 50 and\l" + .string "Open Level adventures.\p" + .string "They each can hold up to 99 pieces\n" + .string "of ten kinds of items.\p" + .string "The contents of the BATTLE BAG are\n" + .string "lost if you fail in your quest.$" + diff --git a/data/scripts/maps/BattleFrontier_BattlePyramidTop.inc b/data/scripts/maps/BattleFrontier_BattlePyramidTop.inc new file mode 100644 index 0000000000..6c44e0044c --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattlePyramidTop.inc @@ -0,0 +1,379 @@ +BattleFrontier_BattlePyramidTop_MapScripts:: @ 82550A1 + map_script 5, BattleFrontier_BattlePyramidTop_MapScript1_2550F4 + map_script 2, BattleFrontier_BattlePyramidTop_MapScript2_25516E + map_script 3, BattleFrontier_BattlePyramidTop_MapScript1_2550B6 + map_script 4, BattleFrontier_BattlePyramidTop_MapScript2_2550CE + .byte 0 + +BattleFrontier_BattlePyramidTop_MapScript1_2550B6: @ 82550B6 + setvar VAR_0x8004, 13 + setvar VAR_0x8005, 200 + setvar VAR_0x8006, 0 + special sub_81A8E7C + setvar VAR_0x400F, 1 + end + +BattleFrontier_BattlePyramidTop_MapScript2_2550CE: @ 82550CE + map_script_2 VAR_0x4001, 0, BattleFrontier_BattlePyramidTop_EventScript_2550D8 + .2byte 0 + +BattleFrontier_BattlePyramidTop_EventScript_2550D8:: @ 82550D8 + setvar VAR_0x4001, 1 + turnobject 255, 2 + compare VAR_0x400C, 0 + goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_2550F3 + setobjectxyperm 2, 0, 0 + +BattleFrontier_BattlePyramidTop_EventScript_2550F3:: @ 82550F3 + end + +BattleFrontier_BattlePyramidTop_MapScript1_2550F4: @ 82550F4 + setvar VAR_0x8004, 9 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattlePyramidTop_EventScript_25510C + call BattleFrontier_BattlePyramidTop_EventScript_242170 + +BattleFrontier_BattlePyramidTop_EventScript_25510C:: @ 825510C + copyvar VAR_0x400C, VAR_RESULT + setvar VAR_0x8004, 0 + special sub_81A1780 + switch VAR_0x4000 + case 0, BattleFrontier_BattlePyramidTop_EventScript_255193 + case 1, BattleFrontier_BattlePyramidTop_EventScript_252B66 + case 2, BattleFrontier_BattlePyramidTop_EventScript_255193 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 5 + special sub_81A1780 + compare VAR_RESULT, 2 + goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 + compare VAR_RESULT, 3 + goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 + compare VAR_RESULT, 9 + goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42 + end + +BattleFrontier_BattlePyramidTop_MapScript2_25516E: @ 825516E + map_script_2 VAR_0x400E, 0, BattleFrontier_BattlePyramidTop_EventScript_255180 + map_script_2 VAR_0x400F, 1, BattleFrontier_BattlePyramidTop_EventScript_25518A + .2byte 0 + +BattleFrontier_BattlePyramidTop_EventScript_255180:: @ 8255180 + playbgm MUS_PYRAMID_TOP, 0 + setvar VAR_0x400E, 1 + end + +BattleFrontier_BattlePyramidTop_EventScript_25518A:: @ 825518A + special AddMapNamePopUpWindowTask + setvar VAR_0x400F, 0 + end + +BattleFrontier_BattlePyramidTop_EventScript_255193:: @ 8255193 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 1 + special sub_81A8E7C + special copy_player_party_to_sav1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x8004, 9 + special sub_81A8E7C + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 3 + special sub_81A1780 + setvar VAR_0x400F, 1 + end + +BattleFrontier_BattlePyramidTop_EventScript_2551D0:: @ 82551D0 + lock + faceplayer + compare VAR_0x400D, 0 + goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_255236 + compare VAR_0x400C, 0 + goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_255240 + msgbox BattleFrontier_BattlePyramidTop_Text_255410, 4 + closemessage + applymovement 1, BattleFrontier_BattlePyramidTop_Movement_2553FD + waitmovement 0 + applymovement 255, BattleFrontier_BattlePyramidTop_Movement_255403 + waitmovement 0 + applymovement 1, BattleFrontier_BattlePyramidTop_Movement_255400 + waitmovement 0 + message BattleFrontier_BattlePyramidTop_Text_2554E8 + waitmessage + playfanfare MUS_ME_POINTGET + waitfanfare + closemessage + +BattleFrontier_BattlePyramidTop_EventScript_25521A:: @ 825521A + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 3 + special sub_81A1780 + warp BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY, 255, 7, 13 + waitstate + end + +BattleFrontier_BattlePyramidTop_EventScript_255236:: @ 8255236 + msgbox BattleFrontier_BattlePyramidTop_Text_255BFE, 4 + closemessage + end + +BattleFrontier_BattlePyramidTop_EventScript_255240:: @ 8255240 + msgbox BattleFrontier_BattlePyramidTop_Text_25551F, 4 + applymovement 1, BattleFrontier_BattlePyramidTop_Movement_2553FD + setvar VAR_0x400D, 1 + closemessage + end + +BattleFrontier_BattlePyramidTop_EventScript_255256:: @ 8255256 + lockall + switch VAR_0x400C + case 2, BattleFrontier_BattlePyramidTop_EventScript_255335 + case 3, BattleFrontier_BattlePyramidTop_EventScript_2552D0 + case 4, BattleFrontier_BattlePyramidTop_EventScript_255388 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 7 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_2552D0 + special SpawnScriptFieldObject + applymovement 127, BattleFrontier_BattlePyramidTop_Movement_25540C + waitmovement 0 + msgbox BattleFrontier_BattlePyramidTop_Text_255669, 4 + closemessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 7 + special sub_81A1780 + applymovement 2, BattleFrontier_BattlePyramidTop_Movement_25540A + waitmovement 0 + msgbox BattleFrontier_BattlePyramidTop_Text_25573E, 4 + goto BattleFrontier_BattlePyramidTop_EventScript_2552DA + end + +BattleFrontier_BattlePyramidTop_EventScript_2552D0:: @ 82552D0 + applymovement 2, BattleFrontier_BattlePyramidTop_Movement_25540A + waitmovement 0 + +BattleFrontier_BattlePyramidTop_EventScript_2552DA:: @ 82552DA + msgbox BattleFrontier_BattlePyramidTop_Text_255846, 4 + call BattleFrontier_BattlePyramidTop_EventScript_2553ED + playbgm MUS_PYRAMID_TOP, 0 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattlePyramidTop_EventScript_2552FB + goto BattleFrontier_BattlePyramidTop_EventScript_252B42 + +BattleFrontier_BattlePyramidTop_EventScript_2552FB:: @ 82552FB + setvar VAR_0x8004, 12 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_25521A + msgbox BattleFrontier_BattlePyramidTop_Text_255873, 4 + playfanfare MUS_ME_SYMBOLGET + message BattleFrontier_BattlePyramidTop_Text_2558E9 + waitmessage + waitfanfare + setvar VAR_0x8004, 13 + special sub_81A1780 + msgbox BattleFrontier_BattlePyramidTop_Text_25591D, 4 + goto BattleFrontier_BattlePyramidTop_EventScript_25521A + +BattleFrontier_BattlePyramidTop_EventScript_255335:: @ 8255335 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 7 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_255388 + special SpawnScriptFieldObject + applymovement 127, BattleFrontier_BattlePyramidTop_Movement_25540C + waitmovement 0 + msgbox BattleFrontier_BattlePyramidTop_Text_255951, 4 + closemessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 7 + special sub_81A1780 + applymovement 2, BattleFrontier_BattlePyramidTop_Movement_25540A + waitmovement 0 + msgbox BattleFrontier_BattlePyramidTop_Text_255A6D, 4 + goto BattleFrontier_BattlePyramidTop_EventScript_255392 + end + +BattleFrontier_BattlePyramidTop_EventScript_255388:: @ 8255388 + applymovement 2, BattleFrontier_BattlePyramidTop_Movement_25540A + waitmovement 0 + +BattleFrontier_BattlePyramidTop_EventScript_255392:: @ 8255392 + msgbox BattleFrontier_BattlePyramidTop_Text_255AA1, 4 + call BattleFrontier_BattlePyramidTop_EventScript_2553ED + playbgm MUS_PYRAMID_TOP, 0 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattlePyramidTop_EventScript_2553B3 + goto BattleFrontier_BattlePyramidTop_EventScript_252B42 + +BattleFrontier_BattlePyramidTop_EventScript_2553B3:: @ 82553B3 + setvar VAR_0x8004, 12 + special sub_81A1780 + compare VAR_RESULT, 2 + goto_eq BattleFrontier_BattlePyramidTop_EventScript_25521A + msgbox BattleFrontier_BattlePyramidTop_Text_255ACD, 4 + playfanfare MUS_ME_SYMBOLGET + message BattleFrontier_BattlePyramidTop_Text_255B59 + waitmessage + waitfanfare + setvar VAR_0x8004, 13 + special sub_81A1780 + msgbox BattleFrontier_BattlePyramidTop_Text_255B82, 4 + goto BattleFrontier_BattlePyramidTop_EventScript_25521A + +BattleFrontier_BattlePyramidTop_EventScript_2553ED:: @ 82553ED + closemessage + setvar VAR_0x8004, 10 + setvar VAR_0x8005, 0 + special sub_8163AC4 + waitstate + return + +BattleFrontier_BattlePyramidTop_Movement_2553FD: @ 82553FD + step_right + step_27 + step_end + +BattleFrontier_BattlePyramidTop_Movement_255400: @ 8255400 + step_left + step_26 + step_end + +BattleFrontier_BattlePyramidTop_Movement_255403: @ 8255403 + step_up + step_up + step_up + step_up + step_up + step_25 + step_end + +BattleFrontier_BattlePyramidTop_Movement_25540A: @ 825540A + step_15 + step_end + +BattleFrontier_BattlePyramidTop_Movement_25540C: @ 825540C + slow_step_up + slow_step_up + step_14 + step_end + +BattleFrontier_BattlePyramidTop_Text_255410: @ 8255410 + .string "It is a delight to see you here!\n" + .string "You have reached the summit of\l" + .string "the BATTLE PYRAMID!\p" + .string "Above here is the PYRAMID’s\n" + .string "lookout point.\p" + .string "It is a place open only to those\n" + .string "who have conquered the PYRAMID.\p" + .string "Now, please!\n" + .string "Up you go!$" + +BattleFrontier_BattlePyramidTop_Text_2554E8: @ 82554E8 + .string "The PYRAMID’s new conqueror!\n" + .string "Let the name {PLAYER} be known!$" + +BattleFrontier_BattlePyramidTop_Text_25551F: @ 825551F + .string "It is a delight to see you here!\p" + .string "Unfortunately, you were second by\n" + .string "a mere fraction of time!\p" + .string "Our chief has already conquered\n" + .string "the PYRAMID ahead of you.\p" + .string "However, my young explorer…\n" + .string "You are a TRAINER!\p" + .string "Assert your power and take the glory\n" + .string "of the pinnacle from our chief!\p" + .string "Now, please! When you are ready,\n" + .string "take one more step of courage!$" + +BattleFrontier_BattlePyramidTop_Text_255669: @ 8255669 + .string "Young adventurer…\p" + .string "Wouldn’t you agree that explorations\n" + .string "are the grandest of adventures?\p" + .string "Your own wits!\p" + .string "Your own strength!\p" + .string "Your own POKéMON!\p" + .string "And, above all, only your own courage\n" + .string "to lead you through unknown worlds…$" + +BattleFrontier_BattlePyramidTop_Text_25573E: @ 825573E + .string "Aah, yes, indeed this life is grand!\n" + .string "Grand, it is! Eh?\p" + .string "I’m BRANDON!\p" + .string "I’m the PYRAMID KING, which means\n" + .string "I’m in charge here.\p" + .string "Most people call me the chief!\p" + .string "You coming here means you have\n" + .string "that much confidence in yourself,\l" + .string "am I right?\p" + .string "Hahahah!\n" + .string "This should be exciting!$" + +BattleFrontier_BattlePyramidTop_Text_255846: @ 8255846 + .string "Now, then!\n" + .string "Bring your courage to our battle!$" + +BattleFrontier_BattlePyramidTop_Text_255873: @ 8255873 + .string "BRANDON: Hahahah! Grand it was!\n" + .string "Grand, yes, indeed!\p" + .string "Well done! You’ve earned recognition!\n" + .string "Your FRONTIER PASS, please!$" + +BattleFrontier_BattlePyramidTop_Text_2558E9: @ 82558E9 + .string "The Brave Symbol was embossed on\n" + .string "the FRONTIER PASS!$" + +BattleFrontier_BattlePyramidTop_Text_25591D: @ 825591D + .string "Young explorer!\n" + .string "I look forward to our next meeting!$" + +BattleFrontier_BattlePyramidTop_Text_255951: @ 8255951 + .string "BRANDON: …You’ve finally returned,\n" + .string "young explorer…\p" + .string "Your love of adventure seems to come\n" + .string "deep from within your heart…\p" + .string "Yes… You are exactly as I was in\n" + .string "my own youth…\p" + .string "… … …Ah…\p" + .string "The passionate!\p" + .string "The dangerous!\p" + .string "The desperate!\p" + .string "Those days of death-defying,\n" + .string "life-affirming adventures are back…$" + +BattleFrontier_BattlePyramidTop_Text_255A6D: @ 8255A6D + .string "Now, then!\p" + .string "I sense my own courage is off\n" + .string "the meter!$" + +BattleFrontier_BattlePyramidTop_Text_255AA1: @ 8255AA1 + .string "Everything you have!\n" + .string "I’m braced for it all!$" + +BattleFrontier_BattlePyramidTop_Text_255ACD: @ 8255ACD + .string "BRANDON: Hahahah!\n" + .string "Remarkable!\l" + .string "Yes, it’s grand, indeed!\p" + .string "Young explorer!\p" + .string "You’ve bested me through and through!\n" + .string "Here! I want you to have this!$" + +BattleFrontier_BattlePyramidTop_Text_255B59: @ 8255B59 + .string "The Brave Symbol took on\n" + .string "a golden shine!$" + +BattleFrontier_BattlePyramidTop_Text_255B82: @ 8255B82 + .string "Ah, yes! It just goes to show that\n" + .string "I have much to learn still!\p" + .string "May our paths cross again!\n" + .string "Farewell for now, young explorer!$" + +BattleFrontier_BattlePyramidTop_Text_255BFE: @ 8255BFE + .string "Now, when you are ready, take courage\n" + .string "and step forward.$" + diff --git a/data/scripts/maps/BattleFrontier_BattleTowerBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattleTowerBattleRoom.inc new file mode 100644 index 0000000000..7ed448c9aa --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattleTowerBattleRoom.inc @@ -0,0 +1,651 @@ +BattleFrontier_BattleTowerBattleRoom_MapScripts:: @ 8241B40 + map_script 2, BattleFrontier_BattleTowerBattleRoom_MapScript2_241B62 + map_script 4, BattleFrontier_BattleTowerBattleRoom_MapScript2_241B4B + .byte 0 + +BattleFrontier_BattleTowerBattleRoom_MapScript2_241B4B: @ 8241B4B + map_script_2 VAR_0x4001, 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241B55 + .2byte 0 + +BattleFrontier_BattleTowerBattleRoom_EventScript_241B55:: @ 8241B55 + setvar VAR_0x4001, 1 + applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_242198 + end + +BattleFrontier_BattleTowerBattleRoom_MapScript2_241B62: @ 8241B62 + map_script_2 VAR_0x4000, 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241B6C + .2byte 0 + +BattleFrontier_BattleTowerBattleRoom_EventScript_241B6C:: @ 8241B6C + setvar VAR_0x4000, 1 + applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_242179 + waitmovement 0 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3 + applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_24218D + waitmovement 0 + applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_24217E + waitmovement 0 + setvar VAR_0x4002, 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 6 + setvar VAR_0x8006, 1 + special sub_81A1780 + goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F + +BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3:: @ 8241BC3 + setvar VAR_0x8004, 3 + special sub_8161F74 + addobject 1 + applymovement 1, BattleFrontier_BattleTowerBattleRoom_Movement_242182 + waitmovement 0 + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 0 + special sub_8161F74 + msgbox 0x2021fc4, 4 + waitmessage + call BattleFrontier_BattleTowerBattleRoom_EventScript_24210E + switch VAR_RESULT + case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241C2F + +BattleFrontier_BattleTowerBattleRoom_EventScript_241C03:: @ 8241C03 +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_241C03:: @ 8241C03 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 4 + special sub_81A1780 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + special sub_8161F74 + setvar VAR_0x8004, 3 + special sub_813BF7C + goto BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8 + +BattleFrontier_BattleTowerBattleRoom_EventScript_241C2F:: @ 8241C2F + call BattleFrontier_BattleTowerBattleRoom_EventScript_241EBA + setvar VAR_0x8004, 4 + special sub_8161F74 + switch VAR_RESULT + case 7, BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6 + applymovement 1, BattleFrontier_BattleTowerBattleRoom_Movement_242188 + waitmovement 0 + removeobject 1 + setvar VAR_0x8004, 9 + special sub_81A1780 + compare VAR_RESULT, 0 + call_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_241EC3 + applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_24218D + waitmovement 0 + applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_24217E + waitmovement 0 + msgbox BattleFrontier_BattleTowerBattleRoom_Text_242217, 4 + playfanfare MUS_ME_ASA + waitfanfare + special HealPlayerParty + +BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F:: @ 8241C8F + setvar VAR_0x8004, 9 + special sub_81A1780 + copyvar VAR_0x400F, VAR_RESULT + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_241F0A + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + call BattleFrontier_BattleTowerBattleRoom_EventScript_241E44 + call BattleFrontier_BattleTowerBattleRoom_EventScript_23E8E0 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241D0A + multichoice 19, 4, 103, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241DDC + case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241D40 + case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_241D7C + case 3, BattleFrontier_BattleTowerBattleRoom_EventScript_241DAA + case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F + +BattleFrontier_BattleTowerBattleRoom_EventScript_241D0A:: @ 8241D0A + multichoice 20, 6, 104, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241DDC + case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241D7C + case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_241DAA + case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F + +BattleFrontier_BattleTowerBattleRoom_EventScript_241D40:: @ 8241D40 + message BattleFrontier_BattleTowerBattleRoom_Text_2423A3 + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F + case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241D72 + case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F + +BattleFrontier_BattleTowerBattleRoom_EventScript_241D72:: @ 8241D72 + call BattleFrontier_BattleTowerBattleRoom_EventScript_23E8B4 + goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F + +BattleFrontier_BattleTowerBattleRoom_EventScript_241D7C:: @ 8241D7C + msgbox BattleFrontier_BattleTowerBattleRoom_Text_2423FC, 5 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F + case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241E22 + case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F + +BattleFrontier_BattleTowerBattleRoom_EventScript_241DAA:: @ 8241DAA + message BattleFrontier_BattleTowerBattleRoom_Text_24244C + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F + case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_24220E + case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F + +BattleFrontier_BattleTowerBattleRoom_EventScript_241DDC:: @ 8241DDC + closemessage + applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_242180 + waitmovement 0 + applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_242192 + waitmovement 0 + goto BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3 + +BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6:: @ 8241DF6 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 3 + special sub_81A1780 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + special sub_8161F74 + setvar VAR_0x8004, 3 + special sub_813BF7C + goto BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8 + +BattleFrontier_BattleTowerBattleRoom_EventScript_241E22:: @ 8241E22 + message BattleFrontier_BattleTowerBattleRoom_Text_242426 + waitmessage + setvar VAR_0x8004, 6 + setvar VAR_0x8005, 2 + special sub_8161F74 + playse SE_SAVE + waitse + fadescreen 1 + setvar VAR_0x8004, 4 + special sub_81A1780 + end + +BattleFrontier_BattleTowerBattleRoom_EventScript_241E44:: @ 8241E44 + copyvar VAR_0x400F, VAR_RESULT + switch VAR_0x400F + case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241E90 + case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_241E97 + case 3, BattleFrontier_BattleTowerBattleRoom_EventScript_241E9E + case 4, BattleFrontier_BattleTowerBattleRoom_EventScript_241EA5 + case 5, BattleFrontier_BattleTowerBattleRoom_EventScript_241EAC + case 6, BattleFrontier_BattleTowerBattleRoom_EventScript_241EB3 + +BattleFrontier_BattleTowerBattleRoom_EventScript_241E90:: @ 8241E90 + message BattleFrontier_BattleTowerBattleRoom_Text_242277 + waitmessage + return + +BattleFrontier_BattleTowerBattleRoom_EventScript_241E97:: @ 8241E97 + message BattleFrontier_BattleTowerBattleRoom_Text_2422A9 + waitmessage + return + +BattleFrontier_BattleTowerBattleRoom_EventScript_241E9E:: @ 8241E9E + message BattleFrontier_BattleTowerBattleRoom_Text_2422DB + waitmessage + return + +BattleFrontier_BattleTowerBattleRoom_EventScript_241EA5:: @ 8241EA5 + message BattleFrontier_BattleTowerBattleRoom_Text_24230D + waitmessage + return + +BattleFrontier_BattleTowerBattleRoom_EventScript_241EAC:: @ 8241EAC + message BattleFrontier_BattleTowerBattleRoom_Text_24233F + waitmessage + return + +BattleFrontier_BattleTowerBattleRoom_EventScript_241EB3:: @ 8241EB3 + message BattleFrontier_BattleTowerBattleRoom_Text_242371 + waitmessage + return + +BattleFrontier_BattleArenaBattleRoom_EventScript_241EBA:: @ 8241EBA +BattleFrontier_BattleDomeLobby_EventScript_241EBA:: @ 8241EBA +BattleFrontier_BattleFactoryBattleRoom_EventScript_241EBA:: @ 8241EBA +BattleFrontier_BattlePalaceBattleRoom_EventScript_241EBA:: @ 8241EBA +BattleFrontier_BattleTowerBattleRoom2_EventScript_241EBA:: @ 8241EBA +BattleFrontier_BattleTowerBattleRoom_EventScript_241EBA:: @ 8241EBA + setvar VAR_0x8004, 17 + special sub_81A1780 + return + +BattleFrontier_BattleTowerBattleRoom_EventScript_241EC3:: @ 8241EC3 + applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_24219A + waitmovement 0 + applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_2725B6 + waitmovement 0 + playse SE_PIN + applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_272598 + waitmovement 0 + applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_27259A + waitmovement 0 + applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_2421A6 + applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_2421AB + waitmovement 0 + applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_2421A1 + waitmovement 0 + return + +BattleFrontier_BattleTowerBattleRoom_EventScript_241F0A:: @ 8241F0A + compare VAR_0x4002, 1 + goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241F22 + msgbox BattleFrontier_BattleTowerBattleRoom_Text_2424C2, 4 + setvar VAR_0x4002, 1 + +BattleFrontier_BattleTowerBattleRoom_EventScript_241F22:: @ 8241F22 + message BattleFrontier_BattleTowerBattleRoom_Text_242542 + waitmessage + call BattleFrontier_BattleTowerBattleRoom_EventScript_23E8E0 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241F79 + multichoice 19, 4, 103, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241FAF + case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241D40 + case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_241D7C + case 3, BattleFrontier_BattleTowerBattleRoom_EventScript_241DAA + case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241F22 + +BattleFrontier_BattleTowerBattleRoom_EventScript_241F79:: @ 8241F79 + multichoice 20, 6, 104, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241FAF + case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241D7C + case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_241DAA + case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241F22 + +BattleFrontier_BattleTowerBattleRoom_EventScript_241FAF:: @ 8241FAF + call BattleFrontier_BattleTowerBattleRoom_EventScript_242170 + closemessage + applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_242180 + waitmovement 0 + applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_242192 + waitmovement 0 + addobject 1 + applymovement 1, BattleFrontier_BattleTowerBattleRoom_Movement_2421B2 + waitmovement 0 + switch VAR_0x400F + case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_242085 + case 3, BattleFrontier_BattleTowerBattleRoom_EventScript_242029 + case 4, BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 7 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_242029 + msgbox BattleFrontier_BattleTowerBattleRoom_Text_242579, 4 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 7 + special sub_81A1780 + +BattleFrontier_BattleTowerBattleRoom_EventScript_242029:: @ 8242029 + msgbox BattleFrontier_BattleTowerBattleRoom_Text_24268C, 4 + call BattleFrontier_BattleTowerBattleRoom_EventScript_24210E + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_242046 + goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C03 + +BattleFrontier_BattleTowerBattleRoom_EventScript_242046:: @ 8242046 + call BattleFrontier_BattleTowerBattleRoom_EventScript_241EBA + setvar VAR_0x8004, 12 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6 + msgbox BattleFrontier_BattleTowerBattleRoom_Text_2426B4, 4 + playfanfare MUS_ME_SYMBOLGET + message BattleFrontier_BattleTowerBattleRoom_Text_24270E + waitmessage + waitfanfare + setvar VAR_0x8004, 13 + special sub_81A1780 + msgbox BattleFrontier_BattleTowerBattleRoom_Text_242744, 4 + goto BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6 + +BattleFrontier_BattleTowerBattleRoom_EventScript_242085:: @ 8242085 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 7 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2 + msgbox BattleFrontier_BattleTowerBattleRoom_Text_2427F9, 4 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 7 + special sub_81A1780 + +BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2:: @ 82420B2 + msgbox BattleFrontier_BattleTowerBattleRoom_Text_2428E0, 4 + call BattleFrontier_BattleTowerBattleRoom_EventScript_24210E + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2420CF + goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C03 + +BattleFrontier_BattleTowerBattleRoom_EventScript_2420CF:: @ 82420CF + call BattleFrontier_BattleTowerBattleRoom_EventScript_241EBA + setvar VAR_0x8004, 12 + special sub_81A1780 + compare VAR_RESULT, 2 + goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6 + msgbox BattleFrontier_BattleTowerBattleRoom_Text_2428F7, 4 + playfanfare MUS_ME_SYMBOLGET + message BattleFrontier_BattleTowerBattleRoom_Text_242932 + waitmessage + waitfanfare + setvar VAR_0x8004, 13 + special sub_81A1780 + msgbox BattleFrontier_BattleTowerBattleRoom_Text_24295D, 4 + goto BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6 + +BattleFrontier_BattleTowerBattleRoom2_EventScript_24210E:: @ 824210E +BattleFrontier_BattleTowerBattleRoom_EventScript_24210E:: @ 824210E + closemessage + setvar VAR_0x4002, 0 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 6 + setvar VAR_0x8006, 0 + special sub_81A1780 + special HealPlayerParty + setvar VAR_0x8004, 0 + setvar VAR_0x8005, 0 + special sub_8163AC4 + waitstate + copyvar VAR_0x8004, VAR_0x40CE + compare VAR_0x8004, 3 + goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_24215A + setvar VAR_0x8004, 18 + special sub_81A1780 + special HealPlayerParty + setvar VAR_0x8004, 21 + special sub_81A1780 + +BattleFrontier_BattleTowerBattleRoom_EventScript_24215A:: @ 824215A + setvar VAR_0x8004, 15 + special sub_8161F74 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 5 + special sub_81A1780 + return + +BattleFrontier_BattleArenaBattleRoom_EventScript_242170:: @ 8242170 +BattleFrontier_BattleDomeBattleRoom_EventScript_242170:: @ 8242170 +BattleFrontier_BattleFactoryBattleRoom_EventScript_242170:: @ 8242170 +BattleFrontier_BattlePalaceBattleRoom_EventScript_242170:: @ 8242170 +BattleFrontier_BattlePyramidTop_EventScript_242170:: @ 8242170 +BattleFrontier_BattleTowerBattleRoom_EventScript_242170:: @ 8242170 + setvar VAR_0x8004, 22 + special sub_81A1780 + return + +BattleFrontier_BattleTowerBattleRoom_Movement_242179: @ 8242179 + step_up + step_up + step_up + step_03 + step_end + +BattleFrontier_BattleTowerBattleRoom_Movement_24217E: @ 824217E + step_00 + step_end + +BattleFrontier_BattleTowerBattleRoom_Movement_242180: @ 8242180 + step_03 + step_end + +BattleFrontier_BattleTowerBattleRoom_Movement_242182: @ 8242182 + step_down + step_down + step_down + step_down + step_02 + step_end + +BattleFrontier_BattleTowerBattleRoom_Movement_242188: @ 8242188 + step_up + step_up + step_up + step_up + step_end + +BattleFrontier_BattleTowerBattleRoom_Movement_24218D: @ 824218D + step_right + step_right + step_right + step_up + step_end + +BattleFrontier_BattleTowerBattleRoom_Movement_242192: @ 8242192 + step_down + step_left + step_left + step_left + step_03 + step_end + +BattleFrontier_BattleTowerBattleRoom_Movement_242198: @ 8242198 + step_54 + step_end + +BattleFrontier_BattleTowerBattleRoom_Movement_24219A: @ 824219A + step_55 + step_14 + step_up + step_left + step_left + step_13 + step_end + +BattleFrontier_BattleTowerBattleRoom_Movement_2421A1: @ 82421A1 + step_right + step_right + step_down + step_54 + step_end + +BattleFrontier_BattleTowerBattleRoom_Movement_2421A6: @ 82421A6 + step_14 + step_14 + step_14 + step_14 + step_end + +BattleFrontier_BattleTowerBattleRoom_Movement_2421AB: @ 82421AB + step_03 + step_14 + step_14 + step_14 + step_14 + step_20 + step_end + +BattleFrontier_BattleTowerBattleRoom_Movement_2421B2: @ 82421B2 + slow_step_down + slow_step_down + slow_step_down + slow_step_down + step_02 + step_end + +BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8:: @ 82421B8 +BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8:: @ 82421B8 + copyvar VAR_RESULT, VAR_0x40CE + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421E8 + compare VAR_RESULT, 2 + goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421F2 + compare VAR_RESULT, 3 + goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421FC + warp BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 6, 6 + waitstate + end + +BattleFrontier_BattleTowerBattleRoom_EventScript_2421E8:: @ 82421E8 + warp BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 10, 6 + waitstate + end + +BattleFrontier_BattleTowerBattleRoom_EventScript_2421F2:: @ 82421F2 + warp BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 14, 6 + waitstate + end + +BattleFrontier_BattleTowerBattleRoom_EventScript_2421FC:: @ 82421FC + setvar VAR_0x8004, 13 + special sub_8161F74 + warp BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 18, 6 + waitstate + end + +BattleFrontier_BattleTowerBattleRoom_EventScript_24220E:: @ 824220E + setflag FLAG_0x077 + goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C03 + end + +BattleFrontier_BattleTowerBattleRoom2_Text_242217: @ 8242217 +BattleFrontier_BattleTowerBattleRoom_Text_242217: @ 8242217 + .string "We will restore your POKéMON to\n" + .string "full health.$" + +BattleFrontier_BattleTowerBattleRoom_Text_242244: @ 8242244 + .string "You will be facing opponent no. {STR_VAR_1}.\n" + .string "Are you ready?$" + +BattleFrontier_BattleTowerBattleRoom_Text_242277: @ 8242277 + .string "You will be facing opponent no. 2.\n" + .string "Are you ready?$" + +BattleFrontier_BattleTowerBattleRoom_Text_2422A9: @ 82422A9 + .string "You will be facing opponent no. 3.\n" + .string "Are you ready?$" + +BattleFrontier_BattleTowerBattleRoom_Text_2422DB: @ 82422DB + .string "You will be facing opponent no. 4.\n" + .string "Are you ready?$" + +BattleFrontier_BattleTowerBattleRoom_Text_24230D: @ 824230D + .string "You will be facing opponent no. 5.\n" + .string "Are you ready?$" + +BattleFrontier_BattleTowerBattleRoom_Text_24233F: @ 824233F + .string "You will be facing opponent no. 6.\n" + .string "Are you ready?$" + +BattleFrontier_BattleTowerBattleRoom_Text_242371: @ 8242371 + .string "You will be facing opponent no. 7.\n" + .string "Are you ready?$" + +BattleFrontier_BattleTowerBattleRoom2_Text_2423A3: @ 82423A3 +BattleFrontier_BattleTowerBattleRoom_Text_2423A3: @ 82423A3 + .string "Record your battle on your\n" + .string "FRONTIER PASS?$" + +BattleFrontier_BattleTowerLobby_Text_2423CD: @ 82423CD + .string "{PLAYER}’s battle was recorded\n" + .string "on the FRONTIER PASS.$" + +BattleFrontier_BattleTowerBattleRoom2_Text_2423FC: @ 82423FC +BattleFrontier_BattleTowerBattleRoom_Text_2423FC: @ 82423FC + .string "Would you like to save and\n" + .string "quit the game?$" + +BattleFrontier_BattleTowerBattleRoom2_Text_242426: @ 8242426 +BattleFrontier_BattleTowerBattleRoom_Text_242426: @ 8242426 + .string "Saving your battle data.\n" + .string "Please wait.$" + +BattleFrontier_BattleTowerBattleRoom2_Text_24244C: @ 824244C +BattleFrontier_BattleTowerBattleRoom_Text_24244C: @ 824244C + .string "Would you like to cancel your BATTLE\n" + .string "ROOM challenge?$" + +gText_BattleRecordCouldntBeSaved:: @ 8242481 + .string "There was an error of some sort.\n" + .string "Your record could not be saved.$" + +BattleFrontier_BattleTowerBattleRoom_Text_2424C2: @ 82424C2 + .string "Excuse me, but…\p" + .string "Our leader, the SALON MAIDEN, is on\n" + .string "her way here in hopes of battling you.\p" + .string "She should be arriving very shortly.$" + +BattleFrontier_BattleTowerBattleRoom_Text_242542: @ 8242542 + .string "You will be facing the SALON MAIDEN.\n" + .string "Are you prepared?$" + +BattleFrontier_BattleTowerBattleRoom_Text_242579: @ 8242579 + .string "Greetings…\n" + .string "My name is ANABEL.\p" + .string "I am the SALON MAIDEN, and I am in\n" + .string "charge of running the BATTLE TOWER…\p" + .string "I have heard several rumors\n" + .string "about you…\p" + .string "In all honesty, what I have heard does\n" + .string "not seem attractive in any way…\p" + .string "The reason I’ve come to see you…\n" + .string "Well, there is but one reason…$" + +BattleFrontier_BattleTowerBattleRoom_Text_24268C: @ 824268C + .string "Let me see your talent in\n" + .string "its entirety…$" + +BattleFrontier_BattleTowerBattleRoom_Text_2426B4: @ 82426B4 + .string "ANABEL: Fufufu, nicely done…\p" + .string "Your FRONTIER PASS, please…\n" + .string "Your talent shall be recognized.$" + +BattleFrontier_BattleTowerBattleRoom_Text_24270E: @ 824270E + .string "The Ability Symbol was embossed on\n" + .string "the FRONTIER PASS!$" + +BattleFrontier_BattleTowerBattleRoom_Text_242744: @ 8242744 + .string "… … … … … …\p" + .string "You have confidence in your POKéMON\n" + .string "battling talent, don’t you?\p" + .string "I urge you to keep battling and\n" + .string "keep on winning.\p" + .string "I will be waiting for you.\n" + .string "Until the next time we meet…$" + +BattleFrontier_BattleTowerBattleRoom_Text_2427F9: @ 82427F9 + .string "ANABEL: You really did come back to\n" + .string "see me…\p" + .string "… … … … … …\p" + .string "You’ve won straight matches to see me…\n" + .string "I won’t have to hold back against you…\p" + .string "It’s been too long now…\p" + .string "Too long since I’ve been able to battle\n" + .string "without thinking about anything…$" + +BattleFrontier_BattleTowerBattleRoom_Text_2428E0: @ 82428E0 + .string "Let’s begin, shall we?$" + +BattleFrontier_BattleTowerBattleRoom_Text_2428F7: @ 82428F7 + .string "ANABEL: Fufu, congratulations…\n" + .string "Your FRONTIER PASS, please…$" + +BattleFrontier_BattleTowerBattleRoom_Text_242932: @ 8242932 + .string "The Ability Symbol took on\n" + .string "a golden shine!$" + +BattleFrontier_BattleTowerBattleRoom_Text_24295D: @ 824295D + .string "That was fun…\p" + .string "I have never had a POKéMON battle\n" + .string "so enjoyable before…\p" + .string "I wish I could battle with you again…$" + diff --git a/data/scripts/maps/BattleFrontier_BattleTowerBattleRoom2.inc b/data/scripts/maps/BattleFrontier_BattleTowerBattleRoom2.inc new file mode 100644 index 0000000000..feaa18c8dc --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattleTowerBattleRoom2.inc @@ -0,0 +1,540 @@ +BattleFrontier_BattleTowerBattleRoom2_MapScripts:: @ 8248EE8 + map_script 3, BattleFrontier_BattleTowerBattleRoom2_MapScript1_248EF8 + map_script 4, BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F33 + map_script 2, BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F43 + .byte 0 + +BattleFrontier_BattleTowerBattleRoom2_MapScript1_248EF8: @ 8248EF8 + compare VAR_0x40CE, 2 + call_if 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F + compare VAR_0x40CE, 3 + call_if 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F2F + end + +BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F:: @ 8248F0F + setvar VAR_0x8004, 14 + special sub_8161F74 + checkplayergender + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F29 + setvar VAR_0x401F, 0 + return + +BattleFrontier_BattleTowerBattleRoom2_EventScript_248F29:: @ 8248F29 + setvar VAR_0x401F, 89 + return + +BattleFrontier_BattleTowerBattleRoom2_EventScript_248F2F:: @ 8248F2F + special sub_813A76C + return + +BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F33: @ 8248F33 + map_script_2 VAR_0x4001, 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F3D + .2byte 0 + +BattleFrontier_BattleTowerBattleRoom2_EventScript_248F3D:: @ 8248F3D + hideobjectat 255, BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM_2 + end + +BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F43: @ 8248F43 + map_script_2 VAR_0x4000, 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F4D + .2byte 0 + +BattleFrontier_BattleTowerBattleRoom2_EventScript_248F4D:: @ 8248F4D + setvar VAR_0x4000, 1 + applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249518 + applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_24951E + waitmovement 0 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4 + applymovement 2, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E + applymovement 3, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E + waitmovement 0 + applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249524 + applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_249524 + waitmovement 0 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 6 + setvar VAR_0x8006, 1 + special sub_81A1780 + goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 + +BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4:: @ 8248FB4 + setvar VAR_0x8004, 3 + special sub_8161F74 + addobject 1 + addobject 4 + applymovement 1, BattleFrontier_BattleTowerBattleRoom2_Movement_249528 + applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_24952E + waitmovement 0 + compare VAR_0x40CE, 3 + goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249026 + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 0 + special sub_8161F74 + delay 15 + applymovement 1, BattleFrontier_BattleTowerBattleRoom2_Movement_249545 + waitmovement 0 + msgbox 0x2021fc4, 4 + waitmessage + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 1 + special sub_8161F74 + applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_249545 + waitmovement 0 + msgbox 0x2021fc4, 4 + waitmessage + goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249069 + +BattleFrontier_BattleTowerBattleRoom2_EventScript_249026:: @ 8249026 + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 0 + special sub_8161F74 + delay 15 + applymovement 1, BattleFrontier_BattleTowerBattleRoom2_Movement_249545 + waitmovement 0 + messageautoscroll 0x2021fc4 + waitmessage + delay 48 + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 1 + special sub_8161F74 + applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_249545 + waitmovement 0 + messageautoscroll 0x2021fc4 + waitmessage + delay 48 + +BattleFrontier_BattleTowerBattleRoom2_EventScript_249069:: @ 8249069 + call BattleFrontier_BattleTowerBattleRoom2_EventScript_24210E + switch VAR_RESULT + case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2490AA + +BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E:: @ 824907E + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 4 + special sub_81A1780 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + special sub_8161F74 + setvar VAR_0x8004, 3 + special sub_813BF7C + goto BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8 + +BattleFrontier_BattleTowerBattleRoom2_EventScript_2490AA:: @ 82490AA + call BattleFrontier_BattleTowerBattleRoom2_EventScript_241EBA + setvar VAR_0x8004, 4 + special sub_8161F74 + switch VAR_RESULT + case 7, BattleFrontier_BattleTowerBattleRoom2_EventScript_2492AF + applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_249534 + applymovement 1, BattleFrontier_BattleTowerBattleRoom2_Movement_249539 + waitmovement 0 + removeobject 1 + removeobject 4 + applymovement 2, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E + applymovement 3, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E + waitmovement 0 + applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249524 + applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_249524 + waitmovement 0 + compare VAR_0x40CE, 3 + goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249118 + msgbox BattleFrontier_BattleTowerBattleRoom2_Text_242217, 4 + goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249121 + +BattleFrontier_BattleTowerBattleRoom2_EventScript_249118:: @ 8249118 + messageautoscroll BattleFrontier_BattleTowerBattleRoom2_Text_242217 + waitmessage + delay 48 + +BattleFrontier_BattleTowerBattleRoom2_EventScript_249121:: @ 8249121 + special copy_player_party_from_sav1 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 2 + special sub_81A1780 + compare VAR_0x40CE, 3 + call_if 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249514 + playfanfare MUS_ME_ASA + waitfanfare + special HealPlayerParty + +BattleFrontier_BattleTowerBattleRoom2_EventScript_249143:: @ 8249143 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + call BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD + compare VAR_0x40CE, 3 + goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249283 + call BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8E0 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_2491B1 + multichoice 19, 4, 103, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249283 + case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2491E7 + case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_249223 + case 3, BattleFrontier_BattleTowerBattleRoom2_EventScript_249251 + case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 + +BattleFrontier_BattleTowerBattleRoom2_EventScript_2491B1:: @ 82491B1 + multichoice 20, 6, 104, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249283 + case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249223 + case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_249251 + case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 + +BattleFrontier_BattleTowerBattleRoom2_EventScript_2491E7:: @ 82491E7 + message BattleFrontier_BattleTowerBattleRoom2_Text_2423A3 + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 + case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249219 + case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 + +BattleFrontier_BattleTowerBattleRoom2_EventScript_249219:: @ 8249219 + call BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8B4 + goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 + +BattleFrontier_BattleTowerBattleRoom2_EventScript_249223:: @ 8249223 + msgbox BattleFrontier_BattleTowerBattleRoom2_Text_2423FC, 5 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 + case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2492DB + case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 + +BattleFrontier_BattleTowerBattleRoom2_EventScript_249251:: @ 8249251 + message BattleFrontier_BattleTowerBattleRoom2_Text_24244C + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 + case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E + case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 + +BattleFrontier_BattleTowerBattleRoom2_EventScript_249283:: @ 8249283 + closemessage + clearflag FLAG_0x002 + applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249526 + applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_249526 + waitmovement 0 + applymovement 2, BattleFrontier_BattleTowerBattleRoom2_Movement_249541 + applymovement 3, BattleFrontier_BattleTowerBattleRoom2_Movement_249541 + waitmovement 0 + goto BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4 + end + +BattleFrontier_BattleTowerBattleRoom2_EventScript_2492AF:: @ 82492AF + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 3 + special sub_81A1780 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + special sub_8161F74 + setvar VAR_0x8004, 3 + special sub_813BF7C + goto BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8 + +BattleFrontier_BattleTowerBattleRoom2_EventScript_2492DB:: @ 82492DB + message BattleFrontier_BattleTowerBattleRoom2_Text_242426 + waitmessage + setvar VAR_0x8004, 6 + setvar VAR_0x8005, 2 + special sub_8161F74 + playse SE_SAVE + waitse + fadescreen 1 + setvar VAR_0x8004, 4 + special sub_81A1780 + end + +BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD:: @ 82492FD + compare VAR_0x40CE, 3 + goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_24937E + copyvar VAR_0x400F, VAR_RESULT + switch VAR_0x400F + case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249354 + case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_24935B + case 3, BattleFrontier_BattleTowerBattleRoom2_EventScript_249362 + case 4, BattleFrontier_BattleTowerBattleRoom2_EventScript_249369 + case 5, BattleFrontier_BattleTowerBattleRoom2_EventScript_249370 + case 6, BattleFrontier_BattleTowerBattleRoom2_EventScript_249377 + +BattleFrontier_BattleTowerBattleRoom2_EventScript_249354:: @ 8249354 + message BattleFrontier_BattleTowerBattleRoom2_Text_249547 + waitmessage + return + +BattleFrontier_BattleTowerBattleRoom2_EventScript_24935B:: @ 824935B + message BattleFrontier_BattleTowerBattleRoom2_Text_249578 + waitmessage + return + +BattleFrontier_BattleTowerBattleRoom2_EventScript_249362:: @ 8249362 + message BattleFrontier_BattleTowerBattleRoom2_Text_2495A9 + waitmessage + return + +BattleFrontier_BattleTowerBattleRoom2_EventScript_249369:: @ 8249369 + message BattleFrontier_BattleTowerBattleRoom2_Text_2495DA + waitmessage + return + +BattleFrontier_BattleTowerBattleRoom2_EventScript_249370:: @ 8249370 + message BattleFrontier_BattleTowerBattleRoom2_Text_24960B + waitmessage + return + +BattleFrontier_BattleTowerBattleRoom2_EventScript_249377:: @ 8249377 + message BattleFrontier_BattleTowerBattleRoom2_Text_24963C + waitmessage + return + +BattleFrontier_BattleTowerBattleRoom2_EventScript_24937E:: @ 824937E + copyvar VAR_0x400F, VAR_RESULT + switch VAR_0x400F + case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493CA + case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493D6 + case 3, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493E2 + case 4, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493EE + case 5, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493FA + case 6, BattleFrontier_BattleTowerBattleRoom2_EventScript_249406 + +BattleFrontier_BattleTowerBattleRoom2_EventScript_2493CA:: @ 82493CA + message BattleFrontier_BattleTowerBattleRoom2_Text_249547 + waitmessage + goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417 + end + +BattleFrontier_BattleTowerBattleRoom2_EventScript_2493D6:: @ 82493D6 + message BattleFrontier_BattleTowerBattleRoom2_Text_249578 + waitmessage + goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417 + end + +BattleFrontier_BattleTowerBattleRoom2_EventScript_2493E2:: @ 82493E2 + message BattleFrontier_BattleTowerBattleRoom2_Text_2495A9 + waitmessage + goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417 + end + +BattleFrontier_BattleTowerBattleRoom2_EventScript_2493EE:: @ 82493EE + message BattleFrontier_BattleTowerBattleRoom2_Text_2495DA + waitmessage + goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417 + end + +BattleFrontier_BattleTowerBattleRoom2_EventScript_2493FA:: @ 82493FA + message BattleFrontier_BattleTowerBattleRoom2_Text_24960B + waitmessage + goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417 + end + +BattleFrontier_BattleTowerBattleRoom2_EventScript_249406:: @ 8249406 + message BattleFrontier_BattleTowerBattleRoom2_Text_24963C + waitmessage + goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417 + end + +BattleFrontier_BattleTowerBattleRoom2_EventScript_249412:: @ 8249412 + waitmessage + delay 48 + return + +BattleFrontier_BattleTowerBattleRoom2_EventScript_249417:: @ 8249417 + checkflag FLAG_0x002 + goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249457 + multichoice 19, 6, 105, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249483 + case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2494A8 + case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD + case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD + end + +BattleFrontier_BattleTowerBattleRoom2_EventScript_249457:: @ 8249457 + multichoice 20, 8, 106, 1 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249483 + case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD + case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD + end + +BattleFrontier_BattleTowerBattleRoom2_EventScript_249483:: @ 8249483 + setvar VAR_0x8004, 0 + setvar VAR_0x8005, 0 + message gText_LinkStandby3 + waitmessage + special sub_813B568 + waitstate + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E + goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249412 + end + +BattleFrontier_BattleTowerBattleRoom2_EventScript_2494A8:: @ 82494A8 + message BattleFrontier_BattleTowerBattleRoom2_Text_2423A3 + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 + case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 + call BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8B4 + setflag FLAG_0x002 + goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 + end + +BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD:: @ 82494DD + message BattleFrontier_BattleTowerBattleRoom2_Text_24244C + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_2494FA + goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143 + end + +BattleFrontier_BattleTowerBattleRoom2_EventScript_2494FA:: @ 82494FA + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 0 + message gText_LinkStandby3 + waitmessage + special sub_813B568 + waitstate + goto BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E + end + +BattleFrontier_BattleTowerBattleRoom2_EventScript_249514:: @ 8249514 + special sub_813B534 + return + +BattleFrontier_BattleTowerBattleRoom2_Movement_249518: @ 8249518 + step_up + step_up + step_up + step_up + step_03 + step_end + +BattleFrontier_BattleTowerBattleRoom2_Movement_24951E: @ 824951E + step_left + step_up + step_up + step_up + step_03 + step_end + +BattleFrontier_BattleTowerBattleRoom2_Movement_249524: @ 8249524 + step_02 + step_end + +BattleFrontier_BattleTowerBattleRoom2_Movement_249526: @ 8249526 + step_28 + step_end + +BattleFrontier_BattleTowerBattleRoom2_Movement_249528: @ 8249528 + step_down + step_down + step_down + step_down + step_02 + step_end + +BattleFrontier_BattleTowerBattleRoom2_Movement_24952E: @ 824952E + step_right + step_down + step_down + step_down + step_02 + step_end + +BattleFrontier_BattleTowerBattleRoom2_Movement_249534: @ 8249534 + step_up + step_up + step_up + step_54 + step_end + +BattleFrontier_BattleTowerBattleRoom2_Movement_249539: @ 8249539 + step_up + step_up + step_up + step_up + step_end + +BattleFrontier_BattleTowerBattleRoom2_Movement_24953E: @ 824953E + step_right + step_right + step_end + +BattleFrontier_BattleTowerBattleRoom2_Movement_249541: @ 8249541 + step_left + step_left + step_28 + step_end + +BattleFrontier_BattleTowerBattleRoom2_Movement_249545: @ 8249545 + step_1f + step_end + +BattleFrontier_BattleTowerBattleRoom2_Text_249547: @ 8249547 + .string "The 2nd set of opponents is next.\n" + .string "Are you ready?$" + +BattleFrontier_BattleTowerBattleRoom2_Text_249578: @ 8249578 + .string "The 3rd set of opponents is next.\n" + .string "Are you ready?$" + +BattleFrontier_BattleTowerBattleRoom2_Text_2495A9: @ 82495A9 + .string "The 4th set of opponents is next.\n" + .string "Are you ready?$" + +BattleFrontier_BattleTowerBattleRoom2_Text_2495DA: @ 82495DA + .string "The 5th set of opponents is next.\n" + .string "Are you ready?$" + +BattleFrontier_BattleTowerBattleRoom2_Text_24960B: @ 824960B + .string "The 6th set of opponents is next.\n" + .string "Are you ready?$" + +BattleFrontier_BattleTowerBattleRoom2_Text_24963C: @ 824963C + .string "The 7th set of opponents is next.\n" + .string "Are you ready?$" + +BattleFrontier_BattleTowerBattleRoom2_Text_24966D: @ 824966D + .string "The 2nd set of opponents is next.\n" + .string "Do your best!$" + +BattleFrontier_BattleTowerBattleRoom2_Text_24969D: @ 824969D + .string "The 3rd set of opponents is next.\n" + .string "Do your best!$" + +BattleFrontier_BattleTowerBattleRoom2_Text_2496CD: @ 82496CD + .string "The 4th set of opponents is next.\n" + .string "Do your best!$" + +BattleFrontier_BattleTowerBattleRoom2_Text_2496FD: @ 82496FD + .string "The 5th set of opponents is next.\n" + .string "Do your best!$" + +BattleFrontier_BattleTowerBattleRoom2_Text_24972D: @ 824972D + .string "The 6th set of opponents is next.\n" + .string "Do your best!$" + +BattleFrontier_BattleTowerBattleRoom2_Text_24975D: @ 824975D + .string "The 7th set of opponents is next.\n" + .string "Do your best!$" + +gText_LinkStandby3:: @ 824978D + .string "Link standby…$" + +gText_YourPartnerHasRetired:: @ 824979B + .string "Your partner has retired.\p" + .string "Your BATTLE ROOM challenge\n" + .string "will be canceled.$" diff --git a/data/scripts/maps/BattleFrontier_BattleTowerCorridor.inc b/data/scripts/maps/BattleFrontier_BattleTowerCorridor.inc new file mode 100644 index 0000000000..fc1327f415 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattleTowerCorridor.inc @@ -0,0 +1,59 @@ +BattleFrontier_BattleTowerCorridor_MapScripts:: @ 8241AAA + map_script 1, BattleFrontier_BattleTowerCorridor_MapScript1_241AB5 + map_script 2, BattleFrontier_BattleTowerCorridor_MapScript2_241AE6 + .byte 0 + +BattleFrontier_BattleTowerCorridor_MapScript1_241AB5: @ 8241AB5 + compare VAR_0x8006, 1 + goto_eq BattleFrontier_BattleTowerCorridor_EventScript_241AD3 + setmetatile 12, 0, 519, 0 + setmetatile 12, 1, 527, 0 + end + +BattleFrontier_BattleTowerCorridor_EventScript_241AD3:: @ 8241AD3 + setmetatile 15, 0, 519, 0 + setmetatile 15, 1, 527, 0 + end + +BattleFrontier_BattleTowerCorridor_MapScript2_241AE6: @ 8241AE6 + map_script_2 VAR_0x4000, 0, BattleFrontier_BattleTowerCorridor_EventScript_241AF0 + .2byte 0 + +BattleFrontier_BattleTowerCorridor_EventScript_241AF0:: @ 8241AF0 + setvar VAR_0x4000, 1 + compare VAR_0x8006, 1 + goto_eq BattleFrontier_BattleTowerCorridor_EventScript_241B16 + applymovement 1, BattleFrontier_BattleTowerCorridor_Movement_241B3A + applymovement 255, BattleFrontier_BattleTowerCorridor_Movement_241B39 + waitmovement 0 + goto BattleFrontier_BattleTowerCorridor_EventScript_241B27 + +BattleFrontier_BattleTowerCorridor_EventScript_241B16:: @ 8241B16 + applymovement 1, BattleFrontier_BattleTowerCorridor_Movement_241B37 + applymovement 255, BattleFrontier_BattleTowerCorridor_Movement_241B36 + waitmovement 0 + +BattleFrontier_BattleTowerCorridor_EventScript_241B27:: @ 8241B27 + setvar VAR_0x4000, 0 + warp BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM, 255, 4, 8 + waitstate + end + +BattleFrontier_BattleTowerCorridor_Movement_241B36: @ 8241B36 + step_right + +BattleFrontier_BattleTowerCorridor_Movement_241B37: @ 8241B37 + step_right + step_right + +BattleFrontier_BattleTowerCorridor_Movement_241B39: @ 8241B39 + step_right + +BattleFrontier_BattleTowerCorridor_Movement_241B3A: @ 8241B3A + step_right + step_right + step_right + step_up + step_54 + step_end + diff --git a/data/scripts/maps/BattleFrontier_BattleTowerCorridor2.inc b/data/scripts/maps/BattleFrontier_BattleTowerCorridor2.inc new file mode 100644 index 0000000000..cd81b47fd3 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattleTowerCorridor2.inc @@ -0,0 +1,172 @@ +BattleFrontier_BattleTowerCorridor2_MapScripts:: @ 8248D4A + map_script 3, BattleFrontier_BattleTowerCorridor2_MapScript1_248D5A + map_script 4, BattleFrontier_BattleTowerCorridor2_MapScript2_248D95 + map_script 2, BattleFrontier_BattleTowerCorridor2_MapScript2_248DB2 + .byte 0 + +BattleFrontier_BattleTowerCorridor2_MapScript1_248D5A: @ 8248D5A + compare VAR_0x40CE, 2 + call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248D71 + compare VAR_0x40CE, 3 + call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248D91 + end + +BattleFrontier_BattleTowerCorridor2_EventScript_248D71:: @ 8248D71 + setvar VAR_0x8004, 14 + special sub_8161F74 + checkplayergender + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleTowerCorridor2_EventScript_248D8B + setvar VAR_0x401F, 0 + return + +BattleFrontier_BattleTowerCorridor2_EventScript_248D8B:: @ 8248D8B + setvar VAR_0x401F, 89 + return + +BattleFrontier_BattleTowerCorridor2_EventScript_248D91:: @ 8248D91 + special sub_813A76C + return + +BattleFrontier_BattleTowerCorridor2_MapScript2_248D95: @ 8248D95 + map_script_2 VAR_0x4001, 0, BattleFrontier_BattleTowerCorridor2_EventScript_248D9F + .2byte 0 + +BattleFrontier_BattleTowerCorridor2_EventScript_248D9F:: @ 8248D9F + hideobjectat 255, BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2 + hideobjectat 1, BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2 + hideobjectat 4, BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2 + special sub_8139980 + end + +BattleFrontier_BattleTowerCorridor2_MapScript2_248DB2: @ 8248DB2 + map_script_2 VAR_0x4001, 0, BattleFrontier_BattleTowerCorridor2_EventScript_248DBC + .2byte 0 + +BattleFrontier_BattleTowerCorridor2_EventScript_248DBC:: @ 8248DBC + lockall + setflag FLAG_SPECIAL_FLAG_0x4002 + setvar VAR_0x8004, 14 + setvar VAR_0x8005, 1 + opendoor 1, 1 + waitdooranim + clearflag FLAG_SPECIAL_FLAG_0x4002 + showobjectat 1, BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2 + showobjectat 4, BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2 + applymovement 1, BattleFrontier_BattleTowerCorridor2_Movement_248EE6 + applymovement 4, BattleFrontier_BattleTowerCorridor2_Movement_248EE6 + waitmovement 0 + setflag FLAG_SPECIAL_FLAG_0x4002 + setvar VAR_0x8004, 14 + setvar VAR_0x8005, 1 + closedoor 1, 1 + waitdooranim + clearflag FLAG_SPECIAL_FLAG_0x4002 + applymovement 1, BattleFrontier_BattleTowerCorridor2_Movement_248EBC + applymovement 4, BattleFrontier_BattleTowerCorridor2_Movement_248EC4 + applymovement 3, BattleFrontier_BattleTowerCorridor2_Movement_248ECC + applymovement 2, BattleFrontier_BattleTowerCorridor2_Movement_248ED5 + waitmovement 0 + delay 40 + applymovement 3, BattleFrontier_BattleTowerCorridor2_Movement_2725A6 + applymovement 2, BattleFrontier_BattleTowerCorridor2_Movement_2725A6 + waitmovement 0 + opendoor 7, 1 + waitdooranim + applymovement 3, BattleFrontier_BattleTowerCorridor2_Movement_248EE3 + applymovement 2, BattleFrontier_BattleTowerCorridor2_Movement_248EE3 + applymovement 1, BattleFrontier_BattleTowerCorridor2_Movement_248EDE + applymovement 4, BattleFrontier_BattleTowerCorridor2_Movement_248EDE + waitmovement 0 + closedoor 7, 1 + waitdooranim + delay 30 + setvar VAR_0x4001, 1 + call BattleFrontier_BattleTowerCorridor2_EventScript_248E71 + releaseall + end + +BattleFrontier_BattleTowerCorridor2_EventScript_248E71:: @ 8248E71 + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248E9E + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248E9E + compare VAR_0x40CE, 2 + call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248EA8 + compare VAR_0x40CE, 3 + call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248EB2 + return + +BattleFrontier_BattleTowerCorridor2_EventScript_248E9E:: @ 8248E9E + warp BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM, 255, 4, 8 + waitstate + return + +BattleFrontier_BattleTowerCorridor2_EventScript_248EA8:: @ 8248EA8 + warp BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM_2, 255, 4, 5 + waitstate + return + +BattleFrontier_BattleTowerCorridor2_EventScript_248EB2:: @ 8248EB2 + warp BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM_2, 255, 4, 5 + waitstate + return + +BattleFrontier_BattleTowerCorridor2_Movement_248EBC: @ 8248EBC + step_down + step_right + step_right + step_right + step_right + step_right + step_right + step_end + +BattleFrontier_BattleTowerCorridor2_Movement_248EC4: @ 8248EC4 + step_down + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +BattleFrontier_BattleTowerCorridor2_Movement_248ECC: @ 8248ECC + step_right + step_right + step_right + step_right + step_right + step_right + step_up + step_28 + step_end + +BattleFrontier_BattleTowerCorridor2_Movement_248ED5: @ 8248ED5 + step_left + step_left + step_left + step_left + step_left + step_left + step_up + step_27 + step_end + +BattleFrontier_BattleTowerCorridor2_Movement_248EDE: @ 8248EDE + step_14 + step_up + step_up + step_54 + step_end + +BattleFrontier_BattleTowerCorridor2_Movement_248EE3: @ 8248EE3 + step_up + step_54 + step_end + +BattleFrontier_BattleTowerCorridor2_Movement_248EE6: @ 8248EE6 + step_down + step_end + diff --git a/data/scripts/maps/BattleFrontier_BattleTowerElevator.inc b/data/scripts/maps/BattleFrontier_BattleTowerElevator.inc new file mode 100644 index 0000000000..fe824b1eae --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattleTowerElevator.inc @@ -0,0 +1,91 @@ +BattleFrontier_BattleTowerElevator_MapScripts:: @ 82419DB + map_script 2, BattleFrontier_BattleTowerElevator_MapScript2_2419E6 + map_script 4, BattleFrontier_BattleTowerElevator_MapScript2_241A96 + .byte 0 + +BattleFrontier_BattleTowerElevator_MapScript2_2419E6: @ 82419E6 + map_script_2 VAR_0x4000, 0, BattleFrontier_BattleTowerElevator_EventScript_2419F0 + .2byte 0 + +BattleFrontier_BattleTowerElevator_EventScript_2419F0:: @ 82419F0 + setvar VAR_0x4000, 1 + applymovement 1, BattleFrontier_BattleTowerElevator_Movement_241A86 + applymovement 255, BattleFrontier_BattleTowerElevator_Movement_241A8A + waitmovement 0 + special sub_813A080 + waitse + special sub_8139A78 + waitstate + delay 48 + applymovement 1, BattleFrontier_BattleTowerElevator_Movement_241A8E + applymovement 255, BattleFrontier_BattleTowerElevator_Movement_241A92 + waitmovement 0 + call BattleFrontier_BattleTowerElevator_EventScript_241A28 + end + +BattleFrontier_BattleTowerElevator_EventScript_241A28:: @ 8241A28 + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A55 + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A55 + compare VAR_0x40CE, 2 + call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A5F + compare VAR_0x40CE, 3 + call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A72 + return + +BattleFrontier_BattleTowerElevator_EventScript_241A55:: @ 8241A55 + warp BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR, 255, 8, 1 + waitstate + return + +BattleFrontier_BattleTowerElevator_EventScript_241A5F:: @ 8241A5F + checkflag FLAG_0x152 + goto_if 0, BattleFrontier_BattleTowerElevator_EventScript_241A7C + warp BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2, 255, 7, 2 + waitstate + return + +BattleFrontier_BattleTowerElevator_EventScript_241A72:: @ 8241A72 + warp BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2, 255, 7, 2 + waitstate + return + +BattleFrontier_BattleTowerElevator_EventScript_241A7C:: @ 8241A7C + warp BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 255, 10, 1 + waitstate + return + +BattleFrontier_BattleTowerElevator_Movement_241A86: @ 8241A86 + step_up + step_right + step_00 + step_end + +BattleFrontier_BattleTowerElevator_Movement_241A8A: @ 8241A8A + step_up + step_up + step_00 + step_end + +BattleFrontier_BattleTowerElevator_Movement_241A8E: @ 8241A8E + step_down + step_down + step_54 + step_end + +BattleFrontier_BattleTowerElevator_Movement_241A92: @ 8241A92 + step_right + step_down + step_down + step_end + +BattleFrontier_BattleTowerElevator_MapScript2_241A96: @ 8241A96 + map_script_2 VAR_0x4001, 0, BattleFrontier_BattleTowerElevator_EventScript_241AA0 + .2byte 0 + +BattleFrontier_BattleTowerElevator_EventScript_241AA0:: @ 8241AA0 + setvar VAR_0x4001, 1 + turnobject 255, 2 + end + diff --git a/data/scripts/maps/BattleFrontier_BattleTowerLobby.inc b/data/scripts/maps/BattleFrontier_BattleTowerLobby.inc new file mode 100644 index 0000000000..def3dd122d --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattleTowerLobby.inc @@ -0,0 +1,1589 @@ +BattleFrontier_BattleTowerLobby_MapScripts:: @ 823E67B + map_script 5, BattleFrontier_BattleTowerLobby_MapScript1_23E690 + map_script 3, BattleFrontier_BattleTowerLobby_MapScript1_23E694 + map_script 2, BattleFrontier_BattleTowerLobby_MapScript2_23E6DD + map_script 4, BattleFrontier_BattleTowerLobby_MapScript2_23E6C9 + .byte 0 + +BattleFrontier_BattleTowerLobby_MapScript1_23E690: @ 823E690 + special sub_81653CC + end + +BattleFrontier_BattleTowerLobby_MapScript1_23E694: @ 823E694 + call BattleFrontier_BattleTowerLobby_EventScript_28CC84 + setvar VAR_0x8004, 10 + special sub_81A085C + compare VAR_0x8004, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E6B5 + checkflag FLAG_0x934 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E6C1 + +BattleFrontier_BattleTowerLobby_EventScript_23E6B5:: @ 823E6B5 + clearflag FLAG_0x2BD + setvar VAR_0x8004, 23 + special sub_81A085C + +BattleFrontier_BattleTowerLobby_EventScript_23E6C0:: @ 823E6C0 + end + +BattleFrontier_BattleTowerLobby_EventScript_23E6C1:: @ 823E6C1 + setflag FLAG_0x2BD + goto BattleFrontier_BattleTowerLobby_EventScript_23E6C0 + +BattleFrontier_BattleTowerLobby_MapScript2_23E6C9: @ 823E6C9 + map_script_2 VAR_0x4001, 0, BattleFrontier_BattleTowerLobby_EventScript_23E6D3 + .2byte 0 + +BattleFrontier_BattleTowerLobby_EventScript_23E6D3:: @ 823E6D3 + setvar VAR_0x4001, 1 + turnobject 255, 2 + end + +BattleFrontier_BattleTowerLobby_MapScript2_23E6DD: @ 823E6DD + map_script_2 VAR_0x4000, 0, BattleFrontier_BattleTowerLobby_EventScript_23E707 + map_script_2 VAR_0x4000, 1, BattleFrontier_BattleTowerLobby_EventScript_23E710 + map_script_2 VAR_0x4000, 2, BattleFrontier_BattleTowerLobby_EventScript_23E8EE + map_script_2 VAR_0x4000, 3, BattleFrontier_BattleTowerLobby_EventScript_23E758 + map_script_2 VAR_0x4000, 4, BattleFrontier_BattleTowerLobby_EventScript_23E7F2 + .2byte 0 + +BattleFrontier_BattleTowerLobby_EventScript_23E707:: @ 823E707 + setvar VAR_0x8004, 0 + special sub_81A1780 + end + +BattleFrontier_BattleTowerLobby_EventScript_23E710:: @ 823E710 + lock + faceplayer + msgbox BattleFrontier_BattleTowerLobby_Text_23F583, 4 + closemessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 0 + special sub_8161F74 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 0 + special sub_8161F74 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x4000, 255 + release + end + +BattleFrontier_BattleTowerLobby_EventScript_23E758:: @ 823E758 + lock + faceplayer + setvar VAR_0x8004, 10 + special sub_81A1780 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E778 + message BattleFrontier_BattleTowerLobby_Text_23F60D + waitmessage + goto BattleFrontier_BattleTowerLobby_EventScript_23E780 + +BattleFrontier_BattleTowerLobby_EventScript_23E778:: @ 823E778 + msgbox BattleFrontier_BattleTowerLobby_Text_241486, 4 + +BattleFrontier_BattleTowerLobby_EventScript_23E780:: @ 823E780 + setvar VAR_0x8004, 5 + special sub_8161F74 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E7A5 + message BattleFrontier_BattleTowerLobby_Text_23F844 + waitmessage + playfanfare MUS_FANFA4 + waitfanfare + msgbox BattleFrontier_BattleTowerLobby_Text_23F89F, 4 + +BattleFrontier_BattleTowerLobby_EventScript_23E7A5:: @ 823E7A5 + msgbox BattleFrontier_BattleTowerLobby_Text_2414D4, 4 + setvar VAR_0x8004, 11 + special sub_81A1780 + msgbox BattleFrontier_BattleTowerLobby_Text_241520, 9 + call BattleFrontier_BattleTowerLobby_EventScript_23E84D + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + special sub_8161F74 + compare VAR_RESULT, 49 + goto_if 5, BattleFrontier_BattleTowerLobby_EventScript_23E7E2 + msgbox BattleFrontier_BattleTowerLobby_Text_23F79D, 4 + +BattleFrontier_BattleTowerLobby_EventScript_23E7E2:: @ 823E7E2 + msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, 4 + closemessage + setvar VAR_0x4000, 255 + release + end + +BattleFrontier_BattleTowerLobby_EventScript_23E7F2:: @ 823E7F2 + compare VAR_0x40CE, 2 + goto_if 5, BattleFrontier_BattleTowerLobby_EventScript_23E81E + checkflag FLAG_0x152 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E81E + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + special sub_8161F74 + compare VAR_RESULT, 0 + goto_if 5, BattleFrontier_BattleTowerLobby_EventScript_23E830 + +BattleFrontier_BattleTowerLobby_EventScript_23E81E:: @ 823E81E + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 0 + special sub_8161F74 + +BattleFrontier_BattleTowerLobby_EventScript_23E830:: @ 823E830 + lock + faceplayer + message BattleFrontier_BattleTowerLobby_Text_23F6F7 + waitmessage + call BattleFrontier_BattleTowerLobby_EventScript_23E84D + msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, 4 + closemessage + setvar VAR_0x4000, 255 + release + end + +BattleFrontier_BattleTowerLobby_EventScript_23E84D:: @ 823E84D + message BattleFrontier_BattleTowerLobby_Text_23F70F + waitmessage + setvar VAR_0x8004, 8 + special sub_81A1780 + special copy_player_party_from_sav1 + special HealPlayerParty + setvar VAR_0x8004, 6 + setvar VAR_0x8005, 0 + special sub_8161F74 + playse SE_SAVE + waitse + call BattleFrontier_BattleTowerLobby_EventScript_23E8E0 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E8DF + message BattleFrontier_BattleTowerLobby_Text_23FE3C + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattleTowerLobby_EventScript_23E8DF + case 0, BattleFrontier_BattleTowerLobby_EventScript_23E8B4 + case 127, BattleFrontier_BattleTowerLobby_EventScript_23E8DF + +BattleFrontier_BattleArenaBattleRoom_EventScript_23E8B4:: @ 823E8B4 +BattleFrontier_BattleArenaLobby_EventScript_23E8B4:: @ 823E8B4 +BattleFrontier_BattleDomeLobby_EventScript_23E8B4:: @ 823E8B4 +BattleFrontier_BattleDomePreBattleRoom_EventScript_23E8B4:: @ 823E8B4 +BattleFrontier_BattleFactoryLobby_EventScript_23E8B4:: @ 823E8B4 +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8B4:: @ 823E8B4 +BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8B4:: @ 823E8B4 +BattleFrontier_BattlePalaceLobby_EventScript_23E8B4:: @ 823E8B4 +BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8B4:: @ 823E8B4 +BattleFrontier_BattleTowerBattleRoom_EventScript_23E8B4:: @ 823E8B4 +BattleFrontier_BattleTowerLobby_EventScript_23E8B4:: @ 823E8B4 + setvar VAR_0x8004, 19 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E8D7 + playse SE_SAVE + msgbox BattleFrontier_BattleTowerLobby_Text_2423CD, 4 + goto BattleFrontier_BattleTowerLobby_EventScript_23E8DF + +BattleFrontier_BattleTowerLobby_EventScript_23E8D7:: @ 823E8D7 + msgbox gText_BattleRecordCouldntBeSaved, 4 + +BattleFrontier_BattleTowerLobby_EventScript_23E8DF:: @ 823E8DF + return + +BattleFrontier_BattleArenaBattleRoom_EventScript_23E8E0:: @ 823E8E0 +BattleFrontier_BattleArenaLobby_EventScript_23E8E0:: @ 823E8E0 +BattleFrontier_BattleDomeLobby_EventScript_23E8E0:: @ 823E8E0 +BattleFrontier_BattleDomePreBattleRoom_EventScript_23E8E0:: @ 823E8E0 +BattleFrontier_BattleFactoryLobby_EventScript_23E8E0:: @ 823E8E0 +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8E0:: @ 823E8E0 +BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8E0:: @ 823E8E0 +BattleFrontier_BattlePalaceLobby_EventScript_23E8E0:: @ 823E8E0 +BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8E0:: @ 823E8E0 +BattleFrontier_BattleTowerBattleRoom_EventScript_23E8E0:: @ 823E8E0 +BattleFrontier_BattleTowerLobby_EventScript_23E8E0:: @ 823E8E0 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 6 + special sub_81A1780 + return + +BattleFrontier_BattleTowerLobby_EventScript_23E8EE:: @ 823E8EE + lock + faceplayer + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23E930 + message BattleFrontier_BattleTowerLobby_Text_23F737 + waitmessage + message BattleFrontier_BattleTowerLobby_Text_23F754 + waitmessage + setvar VAR_0x8004, 6 + setvar VAR_0x8005, 1 + special sub_8161F74 + playse SE_SAVE + waitse + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3 + end + +BattleFrontier_BattleTowerLobby_EventScript_23E930:: @ 823E930 + setvar VAR_0x40BC, 1 + return + +BattleFrontier_BattleTowerLobby_EventScript_23E936:: @ 823E936 + lock + faceplayer + setvar VAR_FRONTIER_FACILITY, 0 + special copy_player_party_to_sav1 + msgbox BattleFrontier_BattleTowerLobby_Text_240537, 4 + +BattleFrontier_BattleTowerLobby_EventScript_23E948:: @ 823E948 + message BattleFrontier_BattleTowerLobby_Text_2405B3 + waitmessage + multichoice 17, 6, 23, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerLobby_EventScript_23E984 + case 1, BattleFrontier_BattleTowerLobby_EventScript_23EA91 + case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + +BattleFrontier_BattleTowerLobby_EventScript_23E984:: @ 823E984 + setvar VAR_0x40CE, 0 + message BattleFrontier_BattleTowerLobby_Text_23FD3B + waitmessage + multichoice 17, 6, 24, 0 + switch VAR_RESULT + case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + setvar VAR_0x8004, 15 + special sub_81A1780 + compare VAR_0x8004, 1 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A1780 + msgbox BattleFrontier_BattleTowerLobby_Text_2407A6, 4 + fadescreen 1 + call BattleFrontier_BattleTowerLobby_EventScript_23F2B7 + copyvar VAR_0x8004, VAR_RESULT + setvar VAR_0x8005, 3 + special sub_80F9490 + waitstate + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3 + msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, 5 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3 + case 1, BattleFrontier_BattleTowerLobby_EventScript_23EA2A + case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E3 + +BattleFrontier_BattleTowerLobby_EventScript_23EA2A:: @ 823EA2A + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 4 + special sub_81A1780 + setvar VAR_0x4000, 0 + setvar VAR_0x8004, 0 + special sub_8161F74 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 1 + special sub_8161F74 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + special copy_player_party_from_sav1 + closemessage + delay 2 + call BattleFrontier_BattleTowerLobby_EventScript_27134F + setvar VAR_0x4000, 255 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0 + incrementgamestat 30 + setvar VAR_0x40BC, 1 + goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3 + end + +BattleFrontier_BattleTowerLobby_EventScript_23EA91:: @ 823EA91 + msgbox BattleFrontier_BattleTowerLobby_Text_2405EC, 4 + goto BattleFrontier_BattleTowerLobby_EventScript_23E948 + end + +BattleFrontier_BattleTowerLobby_EventScript_23EA9F:: @ 823EA9F + lock + faceplayer + setvar VAR_FRONTIER_FACILITY, 0 + special copy_player_party_to_sav1 + msgbox BattleFrontier_BattleTowerLobby_Text_2407E2, 4 + +BattleFrontier_BattleTowerLobby_EventScript_23EAB1:: @ 823EAB1 + message BattleFrontier_BattleTowerLobby_Text_24085E + waitmessage + multichoice 17, 6, 23, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerLobby_EventScript_23EAED + case 1, BattleFrontier_BattleTowerLobby_EventScript_23EBFA + case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + +BattleFrontier_BattleTowerLobby_EventScript_23EAED:: @ 823EAED + setvar VAR_0x40CE, 1 + message BattleFrontier_BattleTowerLobby_Text_23FD3B + waitmessage + multichoice 17, 6, 24, 0 + switch VAR_RESULT + case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + setvar VAR_0x8004, 15 + special sub_81A1780 + compare VAR_0x8004, 1 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A1780 + msgbox BattleFrontier_BattleTowerLobby_Text_240A50, 4 + fadescreen 1 + call BattleFrontier_BattleTowerLobby_EventScript_23F2B7 + copyvar VAR_0x8004, VAR_RESULT + setvar VAR_0x8005, 4 + special sub_80F9490 + waitstate + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3 + msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, 5 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3 + case 1, BattleFrontier_BattleTowerLobby_EventScript_23EB93 + case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E3 + +BattleFrontier_BattleTowerLobby_EventScript_23EB93:: @ 823EB93 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 4 + special sub_81A1780 + setvar VAR_0x4000, 0 + setvar VAR_0x8004, 0 + special sub_8161F74 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 1 + special sub_8161F74 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + special copy_player_party_from_sav1 + closemessage + delay 2 + call BattleFrontier_BattleTowerLobby_EventScript_27134F + setvar VAR_0x4000, 255 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0 + incrementgamestat 30 + setvar VAR_0x40BC, 0 + goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3 + end + +BattleFrontier_BattleTowerLobby_EventScript_23EBFA:: @ 823EBFA + msgbox BattleFrontier_BattleTowerLobby_Text_240897, 4 + goto BattleFrontier_BattleTowerLobby_EventScript_23EAB1 + end + +BattleFrontier_BattleTowerLobby_EventScript_23EC08:: @ 823EC08 + lock + faceplayer + setvar VAR_FRONTIER_FACILITY, 0 + clearflag FLAG_0x152 + special copy_player_party_to_sav1 + msgbox BattleFrontier_BattleTowerLobby_Text_240A8B, 4 + +BattleFrontier_BattleTowerLobby_EventScript_23EC1D:: @ 823EC1D + message BattleFrontier_BattleTowerLobby_Text_240B06 + waitmessage + multichoice 17, 6, 23, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerLobby_EventScript_23EC59 + case 1, BattleFrontier_BattleTowerLobby_EventScript_23ED66 + case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + +BattleFrontier_BattleTowerLobby_EventScript_23EC59:: @ 823EC59 + setvar VAR_0x40CE, 2 + message BattleFrontier_BattleTowerLobby_Text_23FD3B + waitmessage + multichoice 17, 6, 24, 0 + switch VAR_RESULT + case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + setvar VAR_0x8004, 15 + special sub_81A1780 + compare VAR_0x8004, 1 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A1780 + msgbox BattleFrontier_BattleTowerLobby_Text_240DDB, 4 + fadescreen 1 + call BattleFrontier_BattleTowerLobby_EventScript_23F2B7 + copyvar VAR_0x8004, VAR_RESULT + setvar VAR_0x8005, 2 + special sub_80F9490 + waitstate + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3 + msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, 5 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3 + case 1, BattleFrontier_BattleTowerLobby_EventScript_23ECFF + case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E3 + +BattleFrontier_BattleTowerLobby_EventScript_23ECFF:: @ 823ECFF + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 4 + special sub_81A1780 + setvar VAR_0x4000, 0 + setvar VAR_0x8004, 0 + special sub_8161F74 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 1 + special sub_8161F74 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + special copy_player_party_from_sav1 + closemessage + delay 2 + call BattleFrontier_BattleTowerLobby_EventScript_27134F + setvar VAR_0x4000, 255 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0 + incrementgamestat 30 + setvar VAR_0x40BC, 0 + goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3 + end + +BattleFrontier_BattleTowerLobby_EventScript_23ED66:: @ 823ED66 + msgbox BattleFrontier_BattleTowerLobby_Text_240B3E, 4 + goto BattleFrontier_BattleTowerLobby_EventScript_23EC1D + end + +BattleFrontier_BattleTowerLobby_EventScript_23ED74:: @ 823ED74 + lock + faceplayer + setvar VAR_FRONTIER_FACILITY, 0 + special copy_player_party_to_sav1 + msgbox BattleFrontier_BattleTowerLobby_Text_240E15, 4 + +BattleFrontier_BattleTowerLobby_EventScript_23ED86:: @ 823ED86 + message BattleFrontier_BattleTowerLobby_Text_240E95 + waitmessage + multichoice 17, 6, 23, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerLobby_EventScript_23EDC2 + case 1, BattleFrontier_BattleTowerLobby_EventScript_23F3DA + case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + +BattleFrontier_BattleTowerLobby_EventScript_23EDC2:: @ 823EDC2 + setvar VAR_0x40CE, 3 + message BattleFrontier_BattleTowerLobby_Text_23FD3B + waitmessage + multichoice 17, 6, 24, 0 + switch VAR_RESULT + case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + setvar VAR_0x8004, 15 + special sub_81A1780 + compare VAR_0x8004, 1 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A1780 + msgbox BattleFrontier_BattleTowerLobby_Text_24115E, 4 + fadescreen 1 + call BattleFrontier_BattleTowerLobby_EventScript_23F2B7 + copyvar VAR_0x8004, VAR_RESULT + setvar VAR_0x8005, 2 + special sub_80F9490 + waitstate + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3 + msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, 5 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3 + case 1, BattleFrontier_BattleTowerLobby_EventScript_23EE68 + case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E3 + +BattleFrontier_BattleTowerLobby_EventScript_23EE68:: @ 823EE68 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 4 + special sub_81A1780 + setvar VAR_0x4000, 0 + setvar VAR_0x8004, 0 + special sub_8161F74 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 1 + special sub_8161F74 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + special copy_player_party_from_sav1 + closemessage + delay 2 + setvar VAR_0x8004, 6 + setvar VAR_0x8005, 0 + special sub_8161F74 + call BattleFrontier_BattleTowerLobby_EventScript_27134F + setvar VAR_0x4000, 255 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0 + incrementgamestat 30 + specialvar VAR_RESULT, sub_80093CC + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F3E8 + goto BattleFrontier_BattleTowerLobby_EventScript_23F2C5 + end + +BattleFrontier_BattleTowerLobby_EventScript_23EEE7:: @ 823EEE7 + lock + faceplayer + message BattleFrontier_BattleTowerLobby_Text_23F8CD + waitmessage + multichoice 16, 4, 109, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerLobby_EventScript_23EF32 + case 1, BattleFrontier_BattleTowerLobby_EventScript_23EF4C + case 2, BattleFrontier_BattleTowerLobby_EventScript_23EF66 + case 3, BattleFrontier_BattleTowerLobby_EventScript_23EF80 + case 127, BattleFrontier_BattleTowerLobby_EventScript_23EF80 + release + end + +BattleFrontier_BattleTowerLobby_EventScript_23EF32:: @ 823EF32 + msgbox BattleFrontier_BattleTowerLobby_Text_23F969, 4 + setvar VAR_0x8004, 1 + call BattleFrontier_BattleTowerLobby_EventScript_271E7C + lock + faceplayer + goto BattleFrontier_BattleTowerLobby_EventScript_23EF8A + end + +BattleFrontier_BattleTowerLobby_EventScript_23EF4C:: @ 823EF4C + msgbox BattleFrontier_BattleTowerLobby_Text_23F9AA, 4 + setvar VAR_0x8004, 2 + call BattleFrontier_BattleTowerLobby_EventScript_271E7C + lock + faceplayer + goto BattleFrontier_BattleTowerLobby_EventScript_23EF8A + end + +BattleFrontier_BattleTowerLobby_EventScript_23EF66:: @ 823EF66 + msgbox BattleFrontier_BattleTowerLobby_Text_23F9D4, 4 + setvar VAR_0x8004, 3 + call BattleFrontier_BattleTowerLobby_EventScript_271E7C + lock + faceplayer + goto BattleFrontier_BattleTowerLobby_EventScript_23EF8A + end + +BattleFrontier_BattleTowerLobby_EventScript_23EF80:: @ 823EF80 + msgbox BattleFrontier_BattleTowerLobby_Text_23FA0F, 4 + release + end + +BattleFrontier_BattleTowerLobby_EventScript_23EF8A:: @ 823EF8A + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23EFA1 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23EFAB + end + +BattleFrontier_BattleTowerLobby_EventScript_23EFA1:: @ 823EFA1 + msgbox BattleFrontier_BattleTowerLobby_Text_23FA4F, 4 + release + end + +BattleFrontier_BattleTowerLobby_EventScript_23EFAB:: @ 823EFAB + msgbox BattleFrontier_BattleTowerLobby_Text_23FA83, 4 + release + end + +BattleFrontier_BattleTowerLobby_EventScript_23EFB5:: @ 823EFB5 + msgbox BattleFrontier_BattleTowerLobby_Text_23FAC0, 2 + end + +BattleFrontier_BattleTowerLobby_EventScript_23EFBE:: @ 823EFBE + msgbox BattleFrontier_BattleTowerLobby_Text_23FB26, 2 + end + +BattleFrontier_BattleTowerLobby_EventScript_23EFC7:: @ 823EFC7 + lockall + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + waitbuttonpress + special sub_813C5A0 + releaseall + end + +BattleFrontier_BattleTowerLobby_EventScript_23EFE0:: @ 823EFE0 + lockall + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 1 + special sub_81A1780 + waitbuttonpress + special sub_813C5A0 + releaseall + end + +BattleFrontier_BattleTowerLobby_EventScript_23EFF9:: @ 823EFF9 + lockall + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 2 + special sub_81A1780 + waitbuttonpress + special sub_813C5A0 + releaseall + end + +BattleFrontier_BattleTowerLobby_EventScript_23F012:: @ 823F012 + lockall + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 3 + special sub_81A1780 + waitbuttonpress + special sub_813C5A0 + releaseall + end + +BattleFrontier_BattleTowerLobby_EventScript_23F02B:: @ 823F02B + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerLobby_EventScript_23F046 + case 1, BattleFrontier_BattleTowerLobby_EventScript_23F08B + +BattleFrontier_BattleTowerLobby_EventScript_23F046:: @ 823F046 + switch VAR_0x40CE + case 0, BattleFrontier_BattleTowerLobby_EventScript_23F06F + case 1, BattleFrontier_BattleTowerLobby_EventScript_23F07D + msgbox BattleFrontier_BattleTowerLobby_Text_24038B, 4 + goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1 + end + +BattleFrontier_BattleTowerLobby_EventScript_23F06F:: @ 823F06F + msgbox BattleFrontier_BattleTowerLobby_Text_240027, 4 + goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1 + end + +BattleFrontier_BattleTowerLobby_EventScript_23F07D:: @ 823F07D + msgbox BattleFrontier_BattleTowerLobby_Text_2401DB, 4 + goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1 + end + +BattleFrontier_BattleTowerLobby_EventScript_23F08B:: @ 823F08B + switch VAR_0x40CE + case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0B4 + case 1, BattleFrontier_BattleTowerLobby_EventScript_23F0C2 + msgbox BattleFrontier_BattleTowerLobby_Text_24046B, 4 + goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1 + end + +BattleFrontier_BattleTowerLobby_EventScript_23F0B4:: @ 823F0B4 + msgbox BattleFrontier_BattleTowerLobby_Text_24010B, 4 + goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1 + end + +BattleFrontier_BattleTowerLobby_EventScript_23F0C2:: @ 823F0C2 + msgbox BattleFrontier_BattleTowerLobby_Text_2402BD, 4 + goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1 + end + +BattleFrontier_BattleTowerLobby_EventScript_23F0D0:: @ 823F0D0 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + special sub_81A1780 + goto BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + end + +BattleFrontier_BattleTowerLobby_EventScript_23F0E3:: @ 823F0E3 + special copy_player_party_from_sav1 + +BattleFrontier_BattleTowerLobby_EventScript_23F0E6:: @ 823F0E6 + special CloseLink + msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, 4 + +BattleFrontier_BattleTowerLobby_EventScript_23F0F1:: @ 823F0F1 + release + end + +BattleFrontier_BattleTowerLobby_EventScript_23F0F3:: @ 823F0F3 + special copy_player_party_to_sav1 + setvar VAR_0x8004, 3 + call BattleFrontier_BattleTowerLobby_EventScript_23F272 + special sub_81A1780 + setvar VAR_RESULT, 0 + +BattleFrontier_BattleTowerLobby_EventScript_23F108:: @ 823F108 + setvar VAR_0x8004, 12 + special sub_8161F74 + delay 1 + compare VAR_RESULT, 6 + goto_if 5, BattleFrontier_BattleTowerLobby_EventScript_23F108 + call BattleFrontier_BattleTowerLobby_EventScript_23F135 + clearflag FLAG_0x077 + warp BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 255, 1, 6 + setvar VAR_0x4000, 0 + waitstate + end + +BattleFrontier_BattleTowerLobby_EventScript_23F135:: @ 823F135 + call BattleFrontier_BattleTowerLobby_EventScript_23F1A7 + compare VAR_0x40CE, 3 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F152 + msgbox BattleFrontier_BattleTowerLobby_Text_23FE11, 4 + goto BattleFrontier_BattleTowerLobby_EventScript_23F15B + +BattleFrontier_BattleTowerLobby_EventScript_23F152:: @ 823F152 + messageautoscroll BattleFrontier_BattleTowerLobby_Text_23FE11 + waitmessage + delay 48 + +BattleFrontier_BattleTowerLobby_EventScript_23F15B:: @ 823F15B + closemessage + call BattleFrontier_BattleTowerLobby_EventScript_23F1E8 + call BattleFrontier_BattleTowerLobby_EventScript_23F22D + applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_23F195 + applymovement 255, BattleFrontier_BattleTowerLobby_Movement_23F195 + waitmovement 0 + opendoor VAR_0x8004, 1 + waitdooranim + applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_23F199 + applymovement 255, BattleFrontier_BattleTowerLobby_Movement_23F19C + waitmovement 0 + closedoor VAR_0x8004, 1 + waitdooranim + return + +BattleFrontier_BattleTowerLobby_Movement_23F195: @ 823F195 + step_up + step_up + step_up + step_end + +BattleFrontier_BattleTowerLobby_Movement_23F199: @ 823F199 + step_up + step_54 + step_end + +BattleFrontier_BattleTowerLobby_Movement_23F19C: @ 823F19C + step_up + step_up + step_54 + step_end + +BattleFrontier_BattleTowerLobby_Movement_23F1A0: @ 823F1A0 + step_16 + step_16 + step_16 + step_16 + step_16 + step_54 + step_end + +BattleFrontier_BattleTowerLobby_EventScript_23F1A7:: @ 823F1A7 + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1D4 + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1D9 + compare VAR_0x40CE, 2 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1DE + compare VAR_0x40CE, 3 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1E3 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F1D4:: @ 823F1D4 + bufferstdstring 0, 19 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F1D9:: @ 823F1D9 + bufferstdstring 0, 20 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F1DE:: @ 823F1DE + bufferstdstring 0, 21 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F1E3:: @ 823F1E3 + bufferstdstring 0, 22 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F1E8:: @ 823F1E8 + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F215 + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F21B + compare VAR_0x40CE, 2 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F221 + compare VAR_0x40CE, 3 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F227 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F215:: @ 823F215 + setvar VAR_LAST_TALKED, 1 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F21B:: @ 823F21B + setvar VAR_LAST_TALKED, 7 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F221:: @ 823F221 + setvar VAR_LAST_TALKED, 8 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F227:: @ 823F227 + setvar VAR_LAST_TALKED, 9 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F22D:: @ 823F22D + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F25A + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F260 + compare VAR_0x40CE, 2 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F266 + compare VAR_0x40CE, 3 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F26C + return + +BattleFrontier_BattleTowerLobby_EventScript_23F25A:: @ 823F25A + setvar VAR_0x8004, 6 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F260:: @ 823F260 + setvar VAR_0x8004, 10 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F266:: @ 823F266 + setvar VAR_0x8004, 14 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F26C:: @ 823F26C + setvar VAR_0x8004, 18 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F272:: @ 823F272 + compare VAR_0x40CE, 0 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F29F + compare VAR_0x40CE, 1 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F2A5 + compare VAR_0x40CE, 2 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F2AB + compare VAR_0x40CE, 3 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F2B1 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F29F:: @ 823F29F + setvar VAR_0x8005, 3 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F2A5:: @ 823F2A5 + setvar VAR_0x8005, 4 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F2AB:: @ 823F2AB + setvar VAR_0x8005, 2 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F2B1:: @ 823F2B1 + setvar VAR_0x8005, 2 + return + +BattleFrontier_BattleArenaLobby_EventScript_23F2B7:: @ 823F2B7 +BattleFrontier_BattleDomeLobby_EventScript_23F2B7:: @ 823F2B7 +BattleFrontier_BattleDomePreBattleRoom_EventScript_23F2B7:: @ 823F2B7 +BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23F2B7:: @ 823F2B7 +BattleFrontier_BattlePalaceLobby_EventScript_23F2B7:: @ 823F2B7 +BattleFrontier_BattlePikeLobby_EventScript_23F2B7:: @ 823F2B7 +BattleFrontier_BattlePyramidLobby_EventScript_23F2B7:: @ 823F2B7 +BattleFrontier_BattleTowerLobby_EventScript_23F2B7:: @ 823F2B7 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + special sub_81A1780 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F2C5:: @ 823F2C5 + setvar VAR_0x8004, 9 + message OldaleTown_PokemonCenter_2F_Text_278091 + waitmessage + setvar VAR_0x8005, 0 + special sub_80B2DA4 + waitstate + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F3AF + compare VAR_RESULT, 2 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_2772D2 + compare VAR_RESULT, 3 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F327 + compare VAR_RESULT, 4 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F351 + compare VAR_RESULT, 5 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + compare VAR_RESULT, 6 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_2772C5 + compare VAR_RESULT, 11 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F366 + end + +BattleFrontier_BattleTowerLobby_EventScript_23F327:: @ 823F327 + special CloseLink + compare VAR_0x8005, 3 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F33F + msgbox BattleFrontier_BattleTowerLobby_Text_278255, 4 + release + end + +BattleFrontier_BattleTowerLobby_EventScript_23F33F:: @ 823F33F + msgbox BattleFrontier_BattleTowerLobby_Text_2412E8, 4 + msgbox BattleFrontier_BattleTowerLobby_Text_2413DE, 4 + release + end + +BattleFrontier_BattleTowerLobby_EventScript_23F351:: @ 823F351 + msgbox BattleFrontier_BattleTowerLobby_Text_241240, 4 + special CloseLink + msgbox BattleFrontier_BattleTowerLobby_Text_2782A8, 4 + release + end + +BattleFrontier_BattleTowerLobby_EventScript_23F366:: @ 823F366 + special CloseLink + compare VAR_0x8005, 0 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F394 + compare VAR_0x8005, 1 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F39D + compare VAR_0x8005, 2 + call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F3A6 + msgbox BattleFrontier_BattleTowerLobby_Text_2413DE, 4 + release + end + +BattleFrontier_BattleTowerLobby_EventScript_23F394:: @ 823F394 + msgbox BattleFrontier_BattleTowerLobby_Text_2412E8, 4 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F39D:: @ 823F39D + msgbox BattleFrontier_BattleTowerLobby_Text_241285, 4 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F3A6:: @ 823F3A6 + msgbox BattleFrontier_BattleTowerLobby_Text_2412B3, 4 + return + +BattleFrontier_BattleTowerLobby_EventScript_23F3AF:: @ 823F3AF + incrementgamestat 30 + setvar VAR_0x40BC, 0 + message BattleFrontier_BattleTowerLobby_Text_24144D + waitmessage + setvar VAR_0x8004, 6 + setvar VAR_0x8005, 1 + special sub_8161F74 + special sub_80A08CC + waitstate + playse SE_SAVE + waitse + special sub_80B3BC4 + goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3 + end + +BattleFrontier_BattleTowerLobby_EventScript_23F3DA:: @ 823F3DA + msgbox BattleFrontier_BattleTowerLobby_Text_240ED2, 4 + goto BattleFrontier_BattleTowerLobby_EventScript_23ED86 + end + +BattleFrontier_BattleTowerLobby_EventScript_23F3E8:: @ 823F3E8 + setvar VAR_0x8004, 20 + goto BattleFrontier_BattleTowerLobby_EventScript_23F3F3 + end + +BattleFrontier_BattleTowerLobby_EventScript_23F3F3:: @ 823F3F3 + message BattleFrontier_BattleTowerLobby_Text_2792CD + waitmessage + multichoice 16, 6, 81, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerLobby_EventScript_23F463 + case 1, BattleFrontier_BattleTowerLobby_EventScript_23F430 + case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6 + end + +BattleFrontier_BattleTowerLobby_EventScript_23F430:: @ 823F430 + call BattleFrontier_BattleTowerLobby_EventScript_277B30 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F496 + compare VAR_RESULT, 5 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F3F3 + compare VAR_RESULT, 8 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F430 + compare VAR_RESULT, 11 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F366 + release + return + +BattleFrontier_BattleTowerLobby_EventScript_23F463:: @ 823F463 + call BattleFrontier_BattleTowerLobby_EventScript_277B35 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F496 + compare VAR_RESULT, 5 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F3F3 + compare VAR_RESULT, 8 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F463 + compare VAR_RESULT, 11 + goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F366 + release + return + +BattleFrontier_BattleTowerLobby_EventScript_23F496:: @ 823F496 + incrementgamestat 30 + setvar VAR_0x40BC, 0 + message BattleFrontier_BattleTowerLobby_Text_24144D + waitmessage + setvar VAR_0x8004, 6 + setvar VAR_0x8005, 1 + special sub_8161F74 + special sub_80A08CC + waitstate + playse SE_SAVE + waitse + goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3 + end + +BattleFrontier_BattleTowerLobby_EventScript_23F4BE:: @ 823F4BE + lockall + msgbox BattleFrontier_BattleTowerLobby_Text_241540, 4 + goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD + end + +BattleFrontier_BattleTowerLobby_EventScript_23F4CD:: @ 823F4CD + message BattleFrontier_BattleTowerLobby_Text_241563 + waitmessage + multichoice 17, 2, 97, 0 + switch VAR_RESULT + case 0, BattleFrontier_BattleTowerLobby_EventScript_23F520 + case 1, BattleFrontier_BattleTowerLobby_EventScript_23F52E + case 2, BattleFrontier_BattleTowerLobby_EventScript_23F53C + case 3, BattleFrontier_BattleTowerLobby_EventScript_23F54A + case 4, BattleFrontier_BattleTowerLobby_EventScript_23F558 + case 127, BattleFrontier_BattleTowerLobby_EventScript_23F558 + end + +BattleFrontier_BattleTowerLobby_EventScript_23F520:: @ 823F520 + msgbox BattleFrontier_BattleTowerLobby_Text_241586, 4 + goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD + end + +BattleFrontier_BattleTowerLobby_EventScript_23F52E:: @ 823F52E + msgbox BattleFrontier_BattleTowerLobby_Text_241693, 4 + goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD + end + +BattleFrontier_BattleTowerLobby_EventScript_23F53C:: @ 823F53C + msgbox BattleFrontier_BattleTowerLobby_Text_241777, 4 + goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD + end + +BattleFrontier_BattleTowerLobby_EventScript_23F54A:: @ 823F54A + msgbox BattleFrontier_BattleTowerLobby_Text_24187E, 4 + goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD + end + +BattleFrontier_BattleTowerLobby_EventScript_23F558:: @ 823F558 + releaseall + end + +BattleFrontier_BattleTowerLobby_EventScript_23F55A: @ 823F55A + .string "I’ll direct you to your BATTLE ROOM now.$" + +BattleFrontier_BattleTowerLobby_Text_23F583: @ 823F583 + .string "Excuse me!\p" + .string "You didn’t save before you quit your\n" + .string "challenge last time.\p" + .string "Because of that, your challenge so far\n" + .string "has been disqualified. Sorry!$" + +BattleFrontier_BattleTowerLobby_Text_23F60D: @ 823F60D + .string "Congratulations!\n" + .string "You’ve beaten all seven TRAINERS!\p" + .string "$" + +BattleFrontier_BattleTowerLobby_Text_23F641: @ 823F641 + .string "For beating seven TRAINERS in a row,\n" + .string "you have earned this fabulous prize!\p" + .string "$" + +SlateportCity_BattleTentLobby_Text_23F68C: @ 823F68C + .string "{PLAYER} received the prize\n" + .string "{STR_VAR_1}.$" + +SlateportCity_BattleTentLobby_Text_23F6A6: @ 823F6A6 + .string "Oh, your BAG appears to be full.\p" + .string "Please make room in your BAG, then come\n" + .string "see me.$" + +BattleFrontier_BattleTowerLobby_Text_23F6F7: @ 823F6F7 + .string "Thank you for playing!\p" + .string "$" + +BattleFrontier_BattleTowerLobby_Text_23F70F: @ 823F70F + .string "Your record will be saved.\n" + .string "Please wait.$" + +BattleFrontier_BattleTowerLobby_Text_23F737: @ 823F737 + .string "We’ve been waiting for you!\p" + .string "$" + +BattleFrontier_BattleTowerLobby_Text_23F754: @ 823F754 + .string "Before entering a BATTLE ROOM, your\n" + .string "progress will be saved. Please wait.$" + +BattleFrontier_BattleTowerLobby_Text_23F79D: @ 823F79D + .string "You’re finally about to face the\n" + .string "50th TRAINER.\p" + .string "From here on, every time you beat seven\n" + .string "TRAINERS in a row, your POKéMON will\l" + .string "receive a commemorative RIBBON.\p" + .string "Good luck!$" + +BattleFrontier_BattleTowerLobby_Text_23F844: @ 823F844 + .string "Here are some RIBBONS for beating\n" + .string "seven tough TRAINERS in a row.\p" + .string "{PLAYER} received some RIBBONS!$" + +BattleFrontier_BattleTowerLobby_Text_23F89F: @ 823F89F + .string "{PLAYER} put the RIBBONS on\n" + .string "the challenger POKéMON.$" + +BattleFrontier_BattleTowerLobby_Text_23F8CD: @ 823F8CD + .string "Excuse me, do you have a moment?\p" + .string "Can you describe your feelings when\n" + .string "you’re about to begin a BATTLE TOWER\l" + .string "match, or when you’ve either won or\l" + .string "lost a match?$" + +BattleFrontier_BattleTowerLobby_Text_23F969: @ 823F969 + .string "Okay, what are your feelings when\n" + .string "you’re about to begin a match?$" + +BattleFrontier_BattleTowerLobby_Text_23F9AA: @ 823F9AA + .string "What do you feel when you’ve won\n" + .string "a match?$" + +BattleFrontier_BattleTowerLobby_Text_23F9D4: @ 823F9D4 + .string "Can I hear about your feelings when\n" + .string "you have lost a match?$" + +BattleFrontier_BattleTowerLobby_Text_23FA0F: @ 823FA0F + .string "Oh, so you don’t think much about it?\n" + .string "You’re one cool customer.$" + +BattleFrontier_BattleTowerLobby_Text_23FA4F: @ 823FA4F + .string "Hunh? You changed your mind?\n" + .string "I guess you’re fickle.$" + +BattleFrontier_BattleTowerLobby_Text_23FA83: @ 823FA83 + .string "Okay, so that’s how you feel?\n" + .string "That’s quite original.\p" + .string "Thanks!$" + +BattleFrontier_BattleTowerLobby_Text_23FAC0: @ 823FAC0 + .string "The number of matches you win in a row\n" + .string "is recorded.\p" + .string "I’d better not get beaten in\n" + .string "an embarrassing way!$" + +BattleFrontier_BattleTowerLobby_Text_23FB26: @ 823FB26 + .string "Once you’ve entered the BATTLE TOWER,\n" + .string "you can’t leave until you either lose\l" + .string "or you beat seven TRAINERS in a row.\p" + .string "You’d best be certain that you’re up\n" + .string "to the challenge.$" + +BattleFrontier_BattleTowerLobby_Text_23FBCE: @ 823FBCE + .string "Welcome to the BATTLE TOWER\n" + .string "DOUBLE BATTLE CORNER!\p" + .string "Unfortunately, the BATTLE ROOMS\n" + .string "are still under construction.\p" + .string "Please come back when the work\n" + .string "is completed.$" + +BattleFrontier_BattleTowerLobby_Text_23FC6B: @ 823FC6B + .string "Welcome to the BATTLE TOWER\n" + .string "MULTI BATTLE CORNER!\p" + .string "Unfortunately, the BATTLE ROOMS\n" + .string "are still under construction.\p" + .string "Please come back when the work\n" + .string "is completed.$" + +BattleFrontier_BattleTowerLobby_Text_23FD07: @ 823FD07 + .string "We look forward to seeing you on\n" + .string "another challenge!$" + +BattleFrontier_BattleTowerLobby_Text_23FD3B: @ 823FD3B + .string "The BATTLE ROOM offers two levels\n" + .string "of challenge, Level 50 and Open Level.\l" + .string "Which is your choice?$" + +BattleFrontier_BattleTowerLobby_Text_23FD9A: @ 823FD9A + .string "Please select the POKéMON you wish\n" + .string "to enter.$" + +BattleFrontier_BattleTowerLobby_Text_23FDC7: @ 823FDC7 + .string "Before entering a BATTLE ROOM, your\n" + .string "progress must be saved. Is that okay?$" + +BattleFrontier_BattleTowerLobby_Text_23FE11: @ 823FE11 + .string "I will now show you to the\n" + .string "{STR_VAR_1} BATTLE ROOM.$" + +BattleFrontier_BattleTowerLobby_Text_23FE3C: @ 823FE3C + .string "Shall I record your last BATTLE TOWER\n" + .string "match on your FRONTIER PASS?$" + +BattleFrontier_BattleTowerLobby_Text_23FE7F: @ 823FE7F + .string "Excuse me!\p" + .string "You don’t have {STR_VAR_2} eligible POKéMON.\p" + .string "You must have {STR_VAR_2} different POKéMON\n" + .string "of Level 50 or less to enter.\p" + .string "They also must be holding different\n" + .string "kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "Please come see me when you are ready.$" + +BattleFrontier_BattleTowerLobby_Text_23FF5D: @ 823FF5D + .string "Excuse me!\p" + .string "You don’t have {STR_VAR_2} eligible POKéMON.\p" + .string "You must have {STR_VAR_2} different POKéMON\n" + .string "to enter.\p" + .string "They also must be holding different\n" + .string "kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "Please come see me when you are ready.$" + +BattleFrontier_BattleTowerLobby_Text_240027: @ 8240027 + .string "Excuse me!\p" + .string "You don’t have three eligible POKéMON.\p" + .string "You must have three different POKéMON\n" + .string "of Level 50 or less to enter.\p" + .string "They also must be holding different\n" + .string "kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "Please come see me when you are ready.$" + +BattleFrontier_BattleTowerLobby_Text_24010B: @ 824010B + .string "Excuse me!\p" + .string "You don’t have three eligible POKéMON.\p" + .string "You must have three different POKéMON\n" + .string "to enter.\p" + .string "They also must be holding different\n" + .string "kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "Please come see me when you are ready.$" + +BattleFrontier_BattleTowerLobby_Text_2401DB: @ 82401DB + .string "Excuse me!\p" + .string "You don’t have four eligible POKéMON.\p" + .string "You must have four different POKéMON\n" + .string "of Level 50 or less to enter.\p" + .string "They also must be holding different\n" + .string "kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "Please come see me when you are ready.$" + +BattleFrontier_BattleTowerLobby_Text_2402BD: @ 82402BD + .string "Excuse me!\p" + .string "You don’t have four eligible POKéMON.\p" + .string "You must have four different POKéMON\n" + .string "to enter.\p" + .string "They also must be holding different\n" + .string "kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "Please come see me when you are ready.$" + +BattleFrontier_BattleTowerLobby_Text_24038B: @ 824038B + .string "Excuse me!\p" + .string "You don’t have two eligible POKéMON.\p" + .string "You must have two different POKéMON\n" + .string "of Level 50 or less to enter.\p" + .string "They also must be holding different\n" + .string "kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "Please come see me when you are ready.$" + +BattleFrontier_BattleTowerLobby_Text_24046B: @ 824046B + .string "Excuse me!\p" + .string "You don’t have two eligible POKéMON.\p" + .string "You must have two different POKéMON\n" + .string "to enter.\p" + .string "They also must be holding different\n" + .string "kinds of items.\p" + .string "EGGS{STR_VAR_1} ineligible.\p" + .string "Please come see me when you are ready.$" + +BattleFrontier_BattleTowerLobby_Text_240537: @ 8240537 + .string "Where the talents of TRAINERS\n" + .string "are put to the test!\p" + .string "Welcome to the BATTLE TOWER!\p" + .string "I am your guide to the SINGLE\n" + .string "BATTLE ROOMS.$" + +BattleFrontier_BattleTowerLobby_Text_2405B3: @ 82405B3 + .string "Would you like to take the SINGLE\n" + .string "BATTLE ROOM challenge?$" + +BattleFrontier_BattleTowerLobby_Text_2405EC: @ 82405EC + .string "The BATTLE TOWER’s SINGLE BATTLE\n" + .string "ROOMS are facilities for conducting\l" + .string "SINGLE BATTLES with three POKéMON.\p" + .string "There are many SINGLE BATTLE ROOMS\n" + .string "in the BATTLE TOWER for team battles.\p" + .string "In each of the SINGLE BATTLE ROOMS,\n" + .string "seven TRAINERS await your challenge.\p" + .string "If you manage to defeat all seven,\n" + .string "you will earn Battle Points.\p" + .string "If you want to interrupt your\n" + .string "challenge, please save the game.\p" + .string "If you don’t save before interrupting,\n" + .string "you will be disqualified.$" + +BattleFrontier_BattleTowerLobby_Text_2407A6: @ 82407A6 + .string "Now please select the three POKéMON\n" + .string "that are to be entered.$" + +BattleFrontier_BattleTowerLobby_Text_2407E2: @ 82407E2 + .string "Where the talents of TRAINERS\n" + .string "are put to the test!\p" + .string "Welcome to the BATTLE TOWER!\p" + .string "I am your guide to the DOUBLE\n" + .string "BATTLE ROOMS.$" + +BattleFrontier_BattleTowerLobby_Text_24085E: @ 824085E + .string "Would you like to take the DOUBLE\n" + .string "BATTLE ROOM challenge?$" + +BattleFrontier_BattleTowerLobby_Text_240897: @ 8240897 + .string "The BATTLE TOWER’s DOUBLE BATTLE\n" + .string "ROOMS are facilities for conducting\l" + .string "DOUBLE BATTLES with four POKéMON.\p" + .string "There are many DOUBLE BATTLE ROOMS\n" + .string "in the BATTLE TOWER for team battles.\p" + .string "In each of the DOUBLE BATTLE ROOMS,\n" + .string "seven TRAINERS await your challenge.\p" + .string "If you manage to defeat all seven,\n" + .string "you will earn Battle Points.\p" + .string "If you want to interrupt your\n" + .string "challenge, please save the game.\p" + .string "If you don’t save before interrupting,\n" + .string "you will be disqualified.$" + +BattleFrontier_BattleTowerLobby_Text_240A50: @ 8240A50 + .string "Now please select the four POKéMON\n" + .string "that are to be entered.$" + +BattleFrontier_BattleTowerLobby_Text_240A8B: @ 8240A8B + .string "Where the talents of TRAINERS\n" + .string "are put to the test!\p" + .string "Welcome to the BATTLE TOWER!\p" + .string "I am your guide to the MULTI\n" + .string "BATTLE ROOMS.$" + +BattleFrontier_BattleTowerLobby_Text_240B06: @ 8240B06 + .string "Would you like to take the MULTI\n" + .string "BATTLE ROOM challenge?$" + +BattleFrontier_BattleTowerLobby_Text_240B3E: @ 8240B3E + .string "The BATTLE TOWER’s MULTI BATTLE\n" + .string "ROOMS are facilities for conducting\l" + .string "MULTI BATTLES.\p" + .string "For MULTI BATTLES, you must partner\n" + .string "with a TRAINER in the TOWER and enter\l" + .string "with two POKéMON each.\p" + .string "Inside the TOWER is a room named\n" + .string "the BATTLE SALON where you may meet\l" + .string "other TRAINERS.\p" + .string "There, you must find a TRAINER to act\n" + .string "as your partner in MULTI BATTLES.\p" + .string "Once you have partnered up, you will\n" + .string "be shown to a MULTI BATTLE ROOM.\p" + .string "In the MULTI BATTLE ROOM, seven\n" + .string "tag teams await your challenge.\p" + .string "If you manage to defeat all seven\n" + .string "teams, you will earn Battle Points.\p" + .string "If you want to interrupt your\n" + .string "challenge, please save the game.\p" + .string "If you don’t save before interrupting,\n" + .string "you will be disqualified.$" + +BattleFrontier_BattleTowerLobby_Text_240DDB: @ 8240DDB + .string "Now please select the two POKéMON\n" + .string "that are to be entered.$" + +BattleFrontier_BattleTowerLobby_Text_240E15: @ 8240E15 + .string "Where the talents of TRAINERS\n" + .string "are put to the test!\p" + .string "Welcome to the BATTLE TOWER!\p" + .string "I am your guide to the LINK MULTI\n" + .string "BATTLE ROOMS.$" + +BattleFrontier_BattleTowerLobby_Text_240E95: @ 8240E95 + .string "Would you like to take the LINK MULTI\n" + .string "BATTLE ROOM challenge?$" + +BattleFrontier_BattleTowerLobby_Text_240ED2: @ 8240ED2 + .string "The BATTLE TOWER’s MULTI BATTLE\n" + .string "ROOMS are facilities for conducting\l" + .string "MULTI BATTLES with a friend.\p" + .string "You must link with your friend using\n" + .string "Wireless Adapters or a Game Boy\l" + .string "Advance Game Link cable.\p" + .string "You must partner with your friend and\n" + .string "enter two different kinds of POKéMON.\p" + .string "There are many MULTI BATTLE ROOMS\n" + .string "in the BATTLE TOWER for team battles.\p" + .string "In a MULTI BATTLE ROOM, seven\n" + .string "tag teams await you and your friend\l" + .string "to make a tag-team challenge.\p" + .string "If you manage to defeat all seven\n" + .string "teams, you will earn Battle Points.\p" + .string "Please beware that unlike other ROOMS,\n" + .string "you may not interrupt your challenge.\p" + .string "Once you start, you must battle seven\n" + .string "MULTI BATTLES in a row nonstop.$" + +BattleFrontier_BattleTowerLobby_Text_24115E: @ 824115E + .string "Now please select the two POKéMON\n" + .string "that are to be entered.$" + +BattleFrontier_BattleTowerLobby_Text_241198: @ 8241198 + .string "You have chosen the same kind of\n" + .string "POKéMON as your friend.\p" + .string "Please choose two POKéMON different\n" + .string "from your friend’s, match the level\l" + .string "you wish to enter, and register again.$" + +BattleFrontier_BattleTowerLobby_Text_241240: @ 8241240 + .string "The LINK MULTI BATTLE ROOM challenge\n" + .string "is only for two linked players.$" + +BattleFrontier_BattleTowerLobby_Text_241285: @ 8241285 + .string "Your friend has also selected\n" + .string "the POKéMON {STR_VAR_1}.$" + +BattleFrontier_BattleTowerLobby_Text_2412B3: @ 82412B3 + .string "Your friend has also selected the\n" + .string "POKéMON {STR_VAR_1} and {STR_VAR_2}.$" + +BattleFrontier_BattleTowerLobby_Text_2412E8: @ 82412E8 + .string "Your friend has chosen a different\n" + .string "battle level.$" + +BattleFrontier_BattleTowerLobby_Text_241319: @ 8241319 + .string "Your friend has chosen a different\n" + .string "battle level.\p" + .string "Your friend has also selected\n" + .string "the POKéMON {STR_VAR_1}.$" + +BattleFrontier_BattleTowerLobby_Text_241378: @ 8241378 + .string "Your friend has chosen a different\n" + .string "battle level.\p" + .string "Your friend has also selected the\n" + .string "POKéMON {STR_VAR_1} and {STR_VAR_2}.$" + +BattleFrontier_BattleTowerLobby_Text_2413DE: @ 82413DE + .string "Please choose two POKéMON different\n" + .string "from your friend’s, match the level\l" + .string "you wish to enter, and register again.$" + +BattleFrontier_BattleTowerLobby_Text_24144D: @ 824144D + .string "I will save the game before\n" + .string "showing you in. Please wait.$" + +BattleFrontier_BattleTowerLobby_Text_241486: @ 8241486 + .string "Congratulations!\n" + .string "You have defeated the SALON MAIDEN\l" + .string "and swept seven TRAINERS!$" + +BattleFrontier_BattleTowerLobby_Text_2414D4: @ 82414D4 + .string "In recognition of your infinite talent,\n" + .string "we award you these Battle Point(s).$" + +BattleFrontier_BattleArenaLobby_Text_241520: @ 8241520 +BattleFrontier_BattleDomeLobby_Text_241520: @ 8241520 +BattleFrontier_BattleFactoryLobby_Text_241520: @ 8241520 +BattleFrontier_BattlePalaceLobby_Text_241520: @ 8241520 +BattleFrontier_BattlePikeLobby_Text_241520: @ 8241520 +BattleFrontier_BattlePyramidLobby_Text_241520: @ 8241520 +BattleFrontier_BattleTowerLobby_Text_241520: @ 8241520 + .string "{PLAYER} obtained {STR_VAR_1} Battle Point(s).$" + +BattleFrontier_BattleTowerLobby_Text_241540: @ 8241540 + .string "The BATTLE TOWER rules are listed.$" + +BattleFrontier_BattleTowerLobby_Text_241563: @ 8241563 + .string "Which heading do you want to read?$" + +BattleFrontier_BattleTowerLobby_Text_241586: @ 8241586 + .string "The BATTLE TOWER is a facility where\n" + .string "four types of battles are waged--\l" + .string "SINGLE BATTLE, DOUBLE BATTLE, MULTI\l" + .string "BATTLE, and LINK MULTI BATTLE.\p" + .string "For each of these types, there are\n" + .string "separate BATTLE ROOMS.\p" + .string "Please speak with a guide offering\n" + .string "the type of battle you wish to enter.$" + +BattleFrontier_BattleTowerLobby_Text_241693: @ 8241693 + .string "Depending on the BATTLE ROOM you are\n" + .string "entering, you will be required to take\l" + .string "a certain number of POKéMON.\p" + .string "The SINGLE BATTLE mode requires\n" + .string "three POKéMON.\p" + .string "The DOUBLE BATTLE mode requires four,\n" + .string "and the MULTI modes both require two.$" + +BattleFrontier_BattleTowerLobby_Text_241777: @ 8241777 + .string "The BATTLE SALON is where you must\n" + .string "find a partner to form a tag team for\l" + .string "the MULTI BATTLE ROOM challenge.\p" + .string "Choose the best partner for you by\n" + .string "examining other TRAINERS’\l" + .string "POKéMON and their moves.\p" + .string "You may choose a new tag partner\n" + .string "after winning seven straight matches.$" + +BattleFrontier_BattleTowerLobby_Text_24187E: @ 824187E + .string "The LINK MULTI BATTLE Mode is for two\n" + .string "friends to mount a challenge together.\p" + .string "You and your friend must be linked with\n" + .string "Wireless Adapters or a GBA Game Link\l" + .string "cable.\p" + .string "You must choose two POKéMON at\n" + .string "the registration counter.\p" + .string "These POKéMON must be different\n" + .string "from those of your friend.\p" + .string "You may not interrupt this challenge\n" + .string "in the middle, unlike other modes.$" diff --git a/data/scripts/maps/BattleFrontier_BattleTowerMultiBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattleTowerMultiBattleRoom.inc new file mode 100644 index 0000000000..e334e24136 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_BattleTowerMultiBattleRoom.inc @@ -0,0 +1,1822 @@ +BattleFrontier_BattleTowerMultiBattleRoom_MapScripts:: @ 8243D92 + map_script 5, BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DA7 + map_script 3, BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DB0 + map_script 4, BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E14 + map_script 2, BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E23 + .byte 0 + +BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DA7: @ 8243DA7 + setvar VAR_0x8004, 17 + special sub_81A8E7C + end + +BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DB0: @ 8243DB0 + checkflag FLAG_0x152 + goto_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243DDA + clearflag FLAG_0x2C7 + clearflag FLAG_0x2C8 + clearflag FLAG_0x2C9 + clearflag FLAG_0x2CA + clearflag FLAG_0x2CB + clearflag FLAG_0x2CC + setflag FLAG_0x360 + setflag FLAG_0x361 + setvar VAR_0x8004, 10 + special sub_8161F74 + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243DDA:: @ 8243DDA + setvar VAR_0x4010, 7 + setvar VAR_0x4011, 7 + setvar VAR_0x4012, 7 + setvar VAR_0x4013, 7 + setvar VAR_0x4014, 7 + setvar VAR_0x4015, 7 + setvar VAR_0x4016, 7 + setvar VAR_0x4017, 7 + setvar VAR_0x4001, 1 + setvar VAR_0x4003, 1 + setobjectxyperm 1, 10, 2 + end + +BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E14: @ 8243E14 + map_script_2 VAR_0x4003, 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E1E + .2byte 0 + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E1E:: @ 8243E1E + turnobject 255, 2 + end + +BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E23: @ 8243E23 + map_script_2 VAR_0x4001, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E41 + map_script_2 VAR_0x4003, 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E35 + .2byte 0 + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E35:: @ 8243E35 + lockall + setvar VAR_0x4003, 0 + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EB5 + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E41:: @ 8243E41 + lockall + applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E75 + waitmovement 0 + applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E77 + waitmovement 0 + moveobjectoffscreen 1 + applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_2725A6 + waitmovement 0 + msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_244056, 4 + special HealPlayerParty + setvar VAR_0x4001, 1 + releaseall + end + +BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E75: @ 8243E75 + step_down + step_end + +BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E77: @ 8243E77 + step_left + step_25 + step_end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E7A:: @ 8243E7A + lock + faceplayer + message BattleFrontier_BattleTowerMultiBattleRoom_Text_244094 + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E9D + msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_24410C, 4 + release + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E9D:: @ 8243E9D + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 6 + setvar VAR_0x8006, 1 + special sub_81A1780 + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_241C03 + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EB5:: @ 8243EB5 + msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_244149, 4 + closemessage + applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_2725A6 + waitmovement 0 + opendoor 10, 1 + waitdooranim + call BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EE4 + closedoor 10, 1 + waitdooranim + warp BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 255, 1, 6 + waitstate + releaseall + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EE4:: @ 8243EE4 + applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26 + applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1A + waitmovement 0 + return + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EF6: @ 8243EF6 + applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26 + applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1E + waitmovement 0 + return + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F08: @ 8243F08 + applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26 + applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F22 + waitmovement 0 + return + +BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1A: @ 8243F1A + step_up + step_up + step_54 + step_end + +BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1E: @ 8243F1E + step_right + step_up + step_54 + step_end + +BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F22: @ 8243F22 + step_left + step_up + step_54 + step_end + +BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26: @ 8243F26 + step_up + step_54 + step_end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F29:: @ 8243F29 + lock + faceplayer + setvar VAR_0x4002, 0 + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36:: @ 8243F36 + checkflag FLAG_0x152 + goto_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FC3 + setvar VAR_0x8004, 11 + setvar VAR_0x8005, 0 + special sub_8161F74 + waitmessage + waitbuttonpress + setvar VAR_0x8004, 11 + setvar VAR_0x8005, 1 + special sub_8161F74 + waitmessage + waitbuttonpress + setvar VAR_0x8004, 11 + setvar VAR_0x8005, 2 + special sub_8161F74 + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FC3 + case 127, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FC3 + setvar VAR_0x8004, 11 + setvar VAR_0x8005, 3 + special sub_8161F74 + waitmessage + waitbuttonpress + closemessage + compare VAR_FACING, 1 + call_if 5, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FD4 + compare VAR_FACING, 1 + call_if 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FDF + removeobject VAR_LAST_TALKED + setflag FLAG_0x152 + warpsilent BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 255, 10, 3 + waitstate + release + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FC3:: @ 8243FC3 + setvar VAR_0x8004, 11 + setvar VAR_0x8005, 4 + special sub_8161F74 + waitmessage + waitbuttonpress + release + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FD4:: @ 8243FD4 + applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243FEA + waitmovement 0 + return + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FDF:: @ 8243FDF + applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243FF2 + waitmovement 0 + return + +BattleFrontier_BattleTowerMultiBattleRoom_Movement_243FEA: @ 8243FEA + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_end + +BattleFrontier_BattleTowerMultiBattleRoom_Movement_243FF2: @ 8243FF2 + step_17 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FFB:: @ 8243FFB + lock + faceplayer + setvar VAR_0x4002, 1 + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244008:: @ 8244008 + lock + faceplayer + setvar VAR_0x4002, 2 + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244015:: @ 8244015 + lock + faceplayer + setvar VAR_0x4002, 3 + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244022:: @ 8244022 + lock + faceplayer + setvar VAR_0x4002, 4 + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24402F:: @ 824402F + lock + faceplayer + setvar VAR_0x4002, 5 + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24403C:: @ 824403C + lock + faceplayer + setvar VAR_0x4002, 6 + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 + end + +BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244049:: @ 8244049 + lock + faceplayer + setvar VAR_0x4002, 7 + goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36 + end + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244056: @ 8244056 + .string "Please find a partner from out of\n" + .string "the TRAINERS gathered here.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244094: @ 8244094 + .string "{PLAYER}, you have not found a partner\n" + .string "for your tag team.\p" + .string "Would you like to quit looking and\n" + .string "return to the reception counter?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24410C: @ 824410C + .string "Then, please find a partner from\n" + .string "the TRAINERS gathered here.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244149:: @ 8244149 + .string "Thank you for choosing a partner.\p" + .string "I will now show you to your\n" + .string "MULTI BATTLE ROOM.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24419A:: @ 824419A + .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n" + .string "You can call me {STR_VAR_3}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2441CA:: @ 82441CA + .string "On {STR_VAR_1}’s advice, I brought\n" + .string "one {STR_VAR_3} with {STR_VAR_2} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2441F7:: @ 82441F7 + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "Please, let me join you as a tag team.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24422E:: @ 824422E + .string "Thank you!\n" + .string "I’ll go register right now.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244255:: @ 8244255 + .string "I really wanted to form a tag team\n" + .string "with you, {PLAYER}…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244286:: @ 8244286 + .string "I am {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n" + .string "My name is {STR_VAR_3}.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2442B2:: @ 82442B2 + .string "I got advice from {STR_VAR_1} and chose\n" + .string "one {STR_VAR_3} with {STR_VAR_2} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2442E4:: @ 82442E4 + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "Please, let’s form a tag team!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244313:: @ 8244313 + .string "Thank you very much!\n" + .string "I’ll be done with registration quickly!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244350:: @ 8244350 + .string "{PLAYER}, I was hoping that I could\n" + .string "partner up with you…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244383:: @ 8244383 + .string "Um, my name’s {STR_VAR_3}, and I’m\n" + .string "{STR_VAR_1}’s no. {STR_VAR_2} apprentice.\p" + .string "Snivel…\p" + .string "I’m sorry!\n" + .string "This tension is making me cry…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2443E7:: @ 82443E7 + .string "{STR_VAR_3} advised me, so I have\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244413:: @ 8244413 + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "Snivel…\n" + .string "Please, please team up with me!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24444B:: @ 824444B + .string "Oh, really? You will?\n" + .string "Awesome! Wicked! Awoooh!\p" + .string "Oh… I’m sorry…\n" + .string "I’m so happy, I’m crying…\p" + .string "I’ll go register right away.\n" + .string "Please don’t go away!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2444D6:: @ 82444D6 + .string "Oh, b-but…\n" + .string "Sob… Waaaaah!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2444EF:: @ 82444EF + .string "Hi, there! I’m {STR_VAR_3}!\n" + .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24451E:: @ 824451E + .string "{STR_VAR_3} recommended my crew.\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244549:: @ 8244549 + .string "one {STR_VAR_2} with {STR_VAR_1},\n" + .string "that’s what I have! Cool, huh?\p" + .string "So come on!\n" + .string "Let’s form a tag team!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24459B:: @ 824459B + .string "Yay! Great!\n" + .string "Okay, I’ll go register, okay?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2445C5:: @ 82445C5 + .string "Aww, why?\n" + .string "I wanted to team up, {PLAYER}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2445E8:: @ 82445E8 + .string "I’m {STR_VAR_3}, the no. {STR_VAR_2} apprentice\n" + .string "of the famous {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244618:: @ 8244618 + .string "I looked to {STR_VAR_3} for advice.\n" + .string "One {STR_VAR_1}-using {STR_VAR_2}$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244643:: @ 8244643 + .string "and one {STR_VAR_2} with {STR_VAR_1},\n" + .string "that’s my pair.\p" + .string "Please, will you join me in\n" + .string "a tag team?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24468F:: @ 824468F + .string "Thank you!\n" + .string "I’ll register right away!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2446B4:: @ 82446B4 + .string "{PLAYER}, I had been hoping to join\n" + .string "you in a tag team…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2446E5:: @ 82446E5 + .string "Um… I’m sincerely happy that you\n" + .string "would take the time to talk to me.\p" + .string "I’m {STR_VAR_3}.\n" + .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24474D:: @ 824474D + .string "{STR_VAR_3} gave me advice.\n" + .string "I’m very grateful for it.\p" + .string "I have a team of one {STR_VAR_2}\n" + .string "with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24479E:: @ 824479E + .string "one {STR_VAR_2} with {STR_VAR_1}.\n" + .string "I know I’m asking a lot…\p" + .string "I don’t think you’ll be willing to,\n" + .string "but may I join you as a partner?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24480C:: @ 824480C + .string "Really? I can’t believe it!\n" + .string "I can’t believe you’ll let me join you!\l" + .string "I… I won’t let you down!\p" + .string "Um… If it’s really okay, I’ll go register\n" + .string "right this instant!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2448A7:: @ 82448A7 + .string "Oh…\n" + .string "I didn’t think I was good enough…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2448CD:: @ 82448CD + .string "Hi, I’m {STR_VAR_3}.\n" + .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2448F5:: @ 82448F5 + .string "{STR_VAR_3} told me that it would be\n" + .string "good to make this team:\l" + .string "one {STR_VAR_1}-using {STR_VAR_2}$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244939:: @ 8244939 + .string "and one {STR_VAR_2} that knows how\n" + .string "to use {STR_VAR_1}.\p" + .string "Not bad, huh?\n" + .string "Want me to team up with you?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244989:: @ 8244989 + .string "Okay, glad to join you!\n" + .string "I hope you won’t mess things up for me!\l" + .string "I’ll do my registration now.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2449E6:: @ 82449E6 + .string "Huh? Why did you turn me down?\n" + .string "You’re no judge of character!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244A23:: @ 8244A23 + .string "I’m {STR_VAR_3} and I’m a TRIATHLETE.\n" + .string "I’m busy every day what with jogging,\l" + .string "training, and rapping.\p" + .string "I also happen to be {STR_VAR_1}’s\n" + .string "no. {STR_VAR_2} apprentice.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244AA9:: @ 8244AA9 + .string "This is what {STR_VAR_3} recommended.\n" + .string "One {STR_VAR_1}-using {STR_VAR_2}$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244AD6:: @ 8244AD6 + .string "and one {STR_VAR_1}-using\n" + .string "{STR_VAR_2}.\p" + .string "I put a lot of effort into raising\n" + .string "them, even though I’m busy.\p" + .string "Let’s form a tag team\n" + .string "and give it a go!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244B52:: @ 8244B52 + .string "Thanks, that’s the spirit!\n" + .string "Hang tight while I go register, okay?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244B93:: @ 8244B93 + .string "I took time from my busy schedule\n" + .string "to be here! Give me a break!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244BD2:: @ 8244BD2 + .string "Hi!\n" + .string "How’s it going?\p" + .string "I’m {STR_VAR_3}, {STR_VAR_1}’s\n" + .string "no. {STR_VAR_2} apprentice. Glad to meet you!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244C18:: @ 8244C18 + .string "Listen, listen! You have to hear about\n" + .string "the POKéMON {STR_VAR_3} recommended.\l" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244C6E:: @ 8244C6E + .string "one {STR_VAR_2} with {STR_VAR_1}.\n" + .string "Of course I raised them superbly!\p" + .string "So, want to team up?\n" + .string "I’m sure it’ll be a great combo!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244CD6:: @ 8244CD6 + .string "Yay, I think this will be fun!\n" + .string "I’ll go register!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244D07:: @ 8244D07 + .string "Oh, you’re mean!\n" + .string "I come recommended, you know.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244D36:: @ 8244D36 + .string "Please let me introduce myself.\n" + .string "I am {STR_VAR_3}.\p" + .string "I serve as {STR_VAR_1}’s\n" + .string "no. {STR_VAR_2} apprentice.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244D82:: @ 8244D82 + .string "I sought the sage advice of\n" + .string "{STR_VAR_3} and raised my team\l" + .string "of one {STR_VAR_2} with {STR_VAR_1}$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244DC6:: @ 8244DC6 + .string "and one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "Please agree to a tag team with me!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244DFE:: @ 8244DFE + .string "Oh… I’m delighted!\n" + .string "I promise to give you my best!\p" + .string "Of course I will register us!\n" + .string "Please wait!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244E5B:: @ 8244E5B + .string "I had been hoping to join you,\n" + .string "{PLAYER}…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244E7E:: @ 8244E7E + .string "Eek! You spoke to me!\n" + .string "I… I’m overjoyed!\p" + .string "I’m {STR_VAR_3}! I’m {STR_VAR_1}’s\n" + .string "no. {STR_VAR_2} apprentice!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244ECA:: @ 8244ECA + .string "On {STR_VAR_3}’s advice, I trained\n" + .string "one {STR_VAR_1}-using {STR_VAR_2}$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244EF4:: @ 8244EF4 + .string "and one {STR_VAR_1}-using\n" + .string "{STR_VAR_2}.\p" + .string "Please, can you grant me my wish?\n" + .string "I want to be your tag-team partner!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244F4F:: @ 8244F4F + .string "Eek! I… I feel giddy!\n" + .string "Thank you so much!\l" + .string "I’ll go register us right away!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244F98:: @ 8244F98 + .string "Waaah! Don’t you feel any pity?\n" + .string "But that makes you cooler…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_244FD3:: @ 8244FD3 + .string "Yeehaw! I’m {STR_VAR_1}’s\n" + .string "no. {STR_VAR_2} apprentice!\p" + .string "{STR_VAR_3}’s my name, hello, hello!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245013:: @ 8245013 + .string "My mentor {STR_VAR_3} recommended\n" + .string "one {STR_VAR_1}-master {STR_VAR_2}$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24503D:: @ 824503D + .string "and one {STR_VAR_1}-master\n" + .string "{STR_VAR_2}.\p" + .string "Good stuff, huh?\n" + .string "You’ll partner with me, won’t you?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245087:: @ 8245087 + .string "Okay, excellent!\n" + .string "I’ll get the registration done quickly!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2450C0:: @ 82450C0 + .string "Gwaaah!\n" + .string "You’re a calculating one, {PLAYER}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2450E6:: @ 82450E6 + .string "Hey! There’s big trouble! This is\n" + .string "the BATTLE TOWER’s last day!\p" + .string "… … … … … …\n" + .string "I’m only joking!\p" + .string "People call me {STR_VAR_3} and I do, too!\n" + .string "I’m {STR_VAR_1}’s 1,000th apprentice!\l" + .string "Actually, I’m no. {STR_VAR_2}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245196:: @ 8245196 + .string "{STR_VAR_3} gave me some advice.\n" + .string "{STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2451BD:: @ 82451BD + .string "{STR_VAR_2} with {STR_VAR_1}.\n" + .string "I’ve got ten of each kind!\l" + .string "Actually, just one of each!\p" + .string "How about it?\n" + .string "Want to try tag battles with me?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24522F:: @ 824522F + .string "Yippee!\n" + .string "I’ll give you a POKéMON as my thanks!\p" + .string "Just joking! But I will really go do\n" + .string "the registration, okay?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24529A:: @ 824529A + .string "Oh, that’s so cold! I’ll have to wreck\n" + .string "the BATTLE TOWER for that!\p" + .string "Of course I won’t!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2452EF:: @ 82452EF + .string "Hey, there, I’m rockin’ and a-rollin’!\n" + .string "POKéMON, I be controllin’!\p" + .string "I’m {STR_VAR_3} the rappin’ SAILOR.\n" + .string "Don’t be mistakin’ me for no wailer!\p" + .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n" + .string "Me, you shouldn’t be quick to dismiss!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2453B4:: @ 82453B4 + .string "With the advice of {STR_VAR_3} I did\n" + .string "abide, put together my team of pride!\l" + .string "One {STR_VAR_1}-using {STR_VAR_2}$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245406:: @ 8245406 + .string "and one {STR_VAR_1}-using\n" + .string "{STR_VAR_2}!\p" + .string "Our meeting we should commemorate,\n" + .string "with a tag-team victory to celebrate!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245464:: @ 8245464 + .string "Hey, hey, I like your style!\n" + .string "Our registration, I will go file!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2454A3:: @ 82454A3 + .string "Oh, hey, {PLAYER}, now that’s cold!\n" + .string "If I may be so bold!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2454D6:: @ 82454D6 + .string "Yippee-yahoo!\n" + .string "Oh, don’t run! I was just having fun!\p" + .string "Howdy! I’m {STR_VAR_3}!\n" + .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245535:: @ 8245535 + .string "{STR_VAR_3} told me what to do.\n" + .string "So one {STR_VAR_1}-using {STR_VAR_2}$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24555F:: @ 824555F + .string "and one {STR_VAR_1}-using\n" + .string "{STR_VAR_2}, I did choose.\p" + .string "So, what do you say?\n" + .string "Come on, make my day!\p" + .string "Please, I’m begging you!\n" + .string "Let me join you, don’t leave me blue!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2455EC:: @ 82455EC + .string "Yeahah! Luck is with me!\n" + .string "It sure makes me happy!\p" + .string "Before we go join the fray,\n" + .string "I’ll go register right away!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245656:: @ 8245656 + .string "You’re turning me down?\n" + .string "{PLAYER}, you’re making me frown!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24568A:: @ 824568A + .string "Cough!\p" + .string "Oh, sorry, I have a cold.\n" + .string "My POKéMON are fine, though.\p" + .string "My name’s {STR_VAR_3}, {STR_VAR_1}’s\n" + .string "no. {STR_VAR_2} apprentice. Cough!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2456F5:: @ 82456F5 + .string "I took {STR_VAR_3}’s advice to heart\n" + .string "and put together my team of\l" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245740:: @ 8245740 + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "I trained them every day,\n" + .string "even in wind and rain.\p" + .string "That’s why I have this cold,\n" + .string "I think.\p" + .string "That’s what I’m about.\n" + .string "Want to be my tag partner?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2457D9:: @ 82457D9 + .string "Thanks, I appreciate this!\n" + .string "Cough, cough!\l" + .string "Hang on while I go register.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24581F:: @ 824581F + .string "Oh, you won’t?\n" + .string "{PLAYER}, I think we’d make a good pair.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245851:: @ 8245851 + .string "Oh, hello!\n" + .string "This is nerve-racking.\p" + .string "I’m {STR_VAR_3}.\n" + .string "I’m the no. {STR_VAR_2} apprentice of {STR_VAR_1}.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24589C:: @ 824589C + .string "{STR_VAR_3} said this team’ll be good--\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2458CE:: @ 82458CE + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "I’m feeling self-conscious about this,\n" + .string "but will you let me join you?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245923:: @ 8245923 + .string "Oh, gee, thank you!\n" + .string "I feel bashful, but I’ll do my best!\p" + .string "I’ll go get the registration done.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24597F:: @ 824597F + .string "Oh, please don’t say no!\n" + .string "I feel self-conscious enough already…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2459BE:: @ 82459BE + .string "I am {STR_VAR_3}, and that’s no lie.\n" + .string "I am {STR_VAR_1}’s no. {STR_VAR_2} apprentice.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2459F7:: @ 82459F7 + .string "{STR_VAR_3} recommended my team.\p" + .string "Since the advice sounded sincere,\n" + .string "I decided to bring with me\l" + .string "my {STR_VAR_1}-using {STR_VAR_2} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245A5F:: @ 8245A5F + .string "my {STR_VAR_1}-using {STR_VAR_2}.\p" + .string "If possible, I would like you to accept\n" + .string "me as your tag-team partner.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245AB4:: @ 8245AB4 + .string "You really will accept me?\n" + .string "It would be too terrible otherwise.\p" + .string "But since you’ve agreed, this is fine.\n" + .string "I shall go register the both of us.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245B3E:: @ 8245B3E + .string "Hm? Now why would you refuse?\n" + .string "Is this your idea of a joke?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245B79:: @ 8245B79 + .string "I’m {STR_VAR_1}, and I’m a LASS!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245B91:: @ 8245B91 + .string "What I have are one {STR_VAR_2}\n" + .string "that uses {STR_VAR_1} and one$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245BBD:: @ 8245BBD + .string "{STR_VAR_2} that uses {STR_VAR_1}.\n" + .string "Those are what I have with me.\p" + .string "Will you be my partner?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245C05:: @ 8245C05 + .string "Thank you!\n" + .string "I’ll go do the registration!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245C2D:: @ 8245C2D + .string "You don’t want to be my partner?\n" + .string "You’ll regret it later!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245C66:: @ 8245C66 + .string "Hello!\p" + .string "I’m YOUNGSTER {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245C7F:: @ 8245C7F + .string "Want to know what I have?\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245CAC:: @ 8245CAC + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "You’ll be my tag-team partner,\n" + .string "won’t you?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245CE6:: @ 8245CE6 + .string "Yay!\n" + .string "I’ll go and register, okay?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245D07:: @ 8245D07 + .string "Aww! If you’d form a tag team with\n" + .string "my POKéMON, we’d be unstoppable!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245D4B:: @ 8245D4B + .string "Yahoo!\n" + .string "I’m HIKER {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245D60:: @ 8245D60 + .string "Know what I have with me?\n" + .string "My {STR_VAR_1}-using {STR_VAR_2} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245D8D:: @ 8245D8D + .string "my {STR_VAR_1}-using {STR_VAR_2}!\p" + .string "Sounds good, eh?\n" + .string "Want to form a tag team?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245DC7:: @ 8245DC7 + .string "Yahoo!\n" + .string "I’ll go do the registering, then.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245DF0:: @ 8245DF0 + .string "I would’ve liked to battle with you\n" + .string "at my side.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245E20:: @ 8245E20 + .string "Hello!\n" + .string "I’m {STR_VAR_1}, and I’m a BEAUTY!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245E41:: @ 8245E41 + .string "Do you know what I’ve been raising?\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245E78:: @ 8245E78 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "What do you think?\n" + .string "Want to make a tag team together?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245EBD:: @ 8245EBD + .string "Wonderful!\n" + .string "I’ll get the registration done now!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245EEC:: @ 8245EEC + .string "How disappointing!\p" + .string "We two together--we would’ve been\n" + .string "the best!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245F2B:: @ 8245F2B + .string "Yo!\p" + .string "You know who I am?\n" + .string "I’m {STR_VAR_1} the FISHERMAN!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245F58:: @ 8245F58 + .string "I’ve got with me a team of one\n" + .string "{STR_VAR_1}-using {STR_VAR_2} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245F87:: @ 8245F87 + .string "one {STR_VAR_1}-using {STR_VAR_2}.\p" + .string "So, how about it?\n" + .string "Will you battle at my side?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_245FC6:: @ 8245FC6 + .string "Good, good!\n" + .string "Leave it up to me!\p" + .string "I’ll go and register us now.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246002:: @ 8246002 + .string "We matched up perfectly, too…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246020:: @ 8246020 + .string "Glad to make your acquaintance.\n" + .string "I am {STR_VAR_1}, a LADY.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246051:: @ 8246051 + .string "I am accompanied by a team of\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246082:: @ 8246082 + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "I hope I meet your approval.\n" + .string "For I wish to have you as my partner.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2460D5:: @ 82460D5 + .string "I thank you sincerely.\n" + .string "I shall handle the registration.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24610D:: @ 824610D + .string "I’m sure that you will regret not\n" + .string "having me as your partner.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24614A:: @ 824614A + .string "I’m TRIATHLETE {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24615D:: @ 824615D + .string "What I have…\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24617D:: @ 824617D + .string "one {STR_VAR_2} with {STR_VAR_1}!\n" + .string "That’s my pair!\p" + .string "Please?\n" + .string "Will you form a tag team with me?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2461C7:: @ 82461C7 + .string "Gee, thanks!\n" + .string "I’ll go register at the counter.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2461F5:: @ 82461F5 + .string "We two together, we would’ve been\n" + .string "tough for certain!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24622A:: @ 824622A + .string "Hiya!\n" + .string "I’m BUG CATCHER {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246244:: @ 8246244 + .string "Check out what I have!\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24626E:: @ 824626E + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "So, listen!\n" + .string "Do you want to form a tag team?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2462AA:: @ 82462AA + .string "Gotcha!\p" + .string "I’ll go do the registration stuff\n" + .string "at the counter.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2462E4:: @ 82462E4 + .string "Aww, my POKéMON are awesome.\n" + .string "I hope you won’t regret this!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24631F:: @ 824631F + .string "Good day!\n" + .string "I’m SCHOOL KID {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24633C:: @ 824633C + .string "What I’ve been raising are one\n" + .string "{STR_VAR_2} that uses {STR_VAR_1}$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24636B:: @ 824636B + .string "and one {STR_VAR_2} that uses\n" + .string "{STR_VAR_1}.\p" + .string "Not too bad, don’t you think?\n" + .string "Would you care to form a tag team?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2463C5:: @ 82463C5 + .string "Thank you very much!\n" + .string "I’ll get done with the registration.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2463FF:: @ 82463FF + .string "That’s too bad…\p" + .string "I was hoping that I could learn\n" + .string "from you as your partner…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246449:: @ 8246449 + .string "Yo! Let me tell you who I am!\n" + .string "I’m RICH BOY {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246478:: @ 8246478 + .string "Guess what I got!\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24649D:: @ 824649D + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "I’m willing to offer you the chance\n" + .string "to be in a tag team with me.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2464EE:: @ 82464EE + .string "Smart move!\p" + .string "I’ll finish up the registration\n" + .string "process quick!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246529:: @ 8246529 + .string "You’d turn me of all people down?\n" + .string "You’ll regret that decision for sure!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246571:: @ 8246571 + .string "Hiyah!\n" + .string "I am BLACK BELT {STR_VAR_1}.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24658C:: @ 824658C + .string "As my companions, I have\n" + .string "one {STR_VAR_2} using {STR_VAR_1}$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2465B5:: @ 82465B5 + .string "and one {STR_VAR_2} using\n" + .string "{STR_VAR_1}.\p" + .string "Please, grant me my wish!\n" + .string "Allow me to be your tag partner!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246605:: @ 8246605 + .string "Hiyah!\n" + .string "I will go register forthwith!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24662A:: @ 824662A + .string "I see… I hope for an opportunity\n" + .string "the next time we meet…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246662:: @ 8246662 + .string "Hi, there!\n" + .string "I’m {STR_VAR_1}, and I’m a TUBER!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246686:: @ 8246686 + .string "I’ll tell you what I have.\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2466B4:: @ 82466B4 + .string "one {STR_VAR_2} with {STR_VAR_1}!\n" + .string "May I please be on your tag team?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2466E6:: @ 82466E6 + .string "Thank you!\n" + .string "I’ll go register us now!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24670A:: @ 824670A + .string "If we’d become partners, we could\n" + .string "have been so strong!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246741:: @ 8246741 + .string "Greetings…\n" + .string "I am HEX MANIAC {STR_VAR_1}…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246760:: @ 8246760 + .string "I bear with me one {STR_VAR_1}-using\n" + .string "{STR_VAR_2} together with one$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246791:: @ 8246791 + .string "{STR_VAR_1}-using {STR_VAR_2}…\p" + .string "I beseech you…\n" + .string "Join me in a tag team…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2467C4:: @ 82467C4 + .string "I thank you…\n" + .string "I shall register us…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2467E6:: @ 82467E6 + .string "I so longed to join you…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2467FF:: @ 82467FF + .string "How do you do? I’m {STR_VAR_1},\n" + .string "and I’m a POKéMON BREEDER!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246831:: @ 8246831 + .string "I’m raising a couple good ones!\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246864:: @ 8246864 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "How about it?\n" + .string "Feel like making a tag team with me?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2468A7:: @ 82468A7 + .string "Thank you kindly!\p" + .string "I’ll go take care of the registration\n" + .string "stuff, so you wait right here!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2468FE:: @ 82468FE + .string "I was looking forward to being\n" + .string "your partner…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24692B:: @ 824692B + .string "Well, hello!\n" + .string "I’m TRIATHLETE {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24694B:: @ 824694B + .string "Want to know what I run with?\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24697C:: @ 824697C + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Well?\n" + .string "Want to be in a tag team with me?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2469B4:: @ 82469B4 + .string "Good going!\p" + .string "I’ll be quick and get the registration\n" + .string "all done!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2469F1:: @ 82469F1 + .string "You and me, we would’ve been tops.\n" + .string "It’s too bad…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246A22:: @ 8246A22 + .string "Hey, there! My name’s {STR_VAR_1}!\n" + .string "I’m a TRIATHLETE!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246A4E:: @ 8246A4E + .string "I go on runs with my durable team--\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246A85:: @ 8246A85 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Not too shabby, huh?\n" + .string "We should be in a tag team together!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246ACF:: @ 8246ACF + .string "All right!\n" + .string "I’ll go register in a flash!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246AF7:: @ 8246AF7 + .string "I really wanted to battle as your\n" + .string "tag-team partner…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246B2B:: @ 8246B2B + .string "I’m BATTLE GIRL {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246B3F:: @ 8246B3F + .string "I’ve been toughening up one\n" + .string "{STR_VAR_1}-using {STR_VAR_2} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246B6B:: @ 8246B6B + .string "one {STR_VAR_1}-using {STR_VAR_2}!\p" + .string "Do you like that combo?\n" + .string "How about you and me join up?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246BB2:: @ 8246BB2 + .string "Why, thanks!\p" + .string "I’ll get the registration done\n" + .string "right now!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246BE9:: @ 8246BE9 + .string "With you, I thought we could form\n" + .string "the ultimate tag team…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246C22:: @ 8246C22 + .string "I’m TRIATHLETE {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246C35:: @ 8246C35 + .string "I’ve been running with one {STR_VAR_2}\n" + .string "that knows how to use {STR_VAR_1}$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246C6C:: @ 8246C6C + .string "and one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "We could be in a tag team.\n" + .string "Wouldn’t that be great?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246CB3:: @ 8246CB3 + .string "Thank you!\p" + .string "I’ll go register us, and that’s\n" + .string "right now!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246CE9:: @ 8246CE9 + .string "Aww, that’s too bad. We would’ve been\n" + .string "the toughest tag team around!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246D2D:: @ 8246D2D + .string "Me?\n" + .string "I’m TUBER {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246D3F:: @ 8246D3F + .string "What do I have with me?\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246D6A:: @ 8246D6A + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Hey?\n" + .string "You’ll team up with me, right?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246D9E:: @ 8246D9E + .string "Okay!\p" + .string "I’ll go register!\n" + .string "Let’s be excellent together!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246DD3:: @ 8246DD3 + .string "My POKéMON are tough for sure…\n" + .string "It’s too bad you don’t want to team up.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246E1A:: @ 8246E1A + .string "Yay-hey!\n" + .string "Call me GUITARIST {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246E39:: @ 8246E39 + .string "Check out my entourage!\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246E64:: @ 8246E64 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Yay-hey! Pretty wild, huh?\n" + .string "We’ll have to do a duet in a tag team!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246EB6:: @ 8246EB6 + .string "Yay-hey! Right on!\n" + .string "I’ll do that registration stuff now!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246EEE:: @ 8246EEE + .string "My POKéMON rock hard!\n" + .string "You’ll be sorry, I tell you!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246F21:: @ 8246F21 + .string "Pleased to meet you.\n" + .string "I am {STR_VAR_1}, a GENTLEMAN.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246F4C:: @ 8246F4C + .string "I am accompanied by my trusted\n" + .string "{STR_VAR_1}-using {STR_VAR_2} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246F7B:: @ 8246F7B + .string "one {STR_VAR_1}-using {STR_VAR_2}.\p" + .string "May I ask you to join me in a tag-team\n" + .string "partnership arrangement?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_246FCC:: @ 8246FCC + .string "Ah, I thank you for your trust.\n" + .string "I shall be done with the registration.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247013:: @ 8247013 + .string "That is most unfortunate…\p" + .string "I shall look forward to the next\n" + .string "opportunity…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24705B:: @ 824705B + .string "Hello, I’m {STR_VAR_1},\n" + .string "and I’m a POKéFAN.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24707D:: @ 824707D + .string "I have with me now one {STR_VAR_2}\n" + .string "that knows the move {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2470B2:: @ 82470B2 + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "Do you like what you see?\n" + .string "Why don’t you be my tag partner?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2470FD:: @ 82470FD + .string "Thank you!\n" + .string "I’ll look after the registration!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24712A:: @ 824712A + .string "My POKéMON are top grade…\n" + .string "It’s too bad you can’t appreciate that.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24716C:: @ 824716C + .string "Hm!\n" + .string "I am {STR_VAR_1}, and an EXPERT am I!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24718D:: @ 824718D + .string "The POKéMON that I’ve toughened up are\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2471C7:: @ 82471C7 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "What say you to a tag team with me?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2471FB:: @ 82471FB + .string "Hm!\n" + .string "I shall register us right away!\l" + .string "Let us both do our best!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247238:: @ 8247238 + .string "I will hope that your choice is\n" + .string "indeed correct…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247268:: @ 8247268 + .string "Hello, hello.\n" + .string "I’m {STR_VAR_1}, and I’m an EXPERT.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247291:: @ 8247291 + .string "I’ve raised my POKéMON thoroughly.\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2472C7:: @ 82472C7 + .string "one {STR_VAR_2} with {STR_VAR_1}--\n" + .string "they’re what I have.\p" + .string "Wouldn’t you like to team up with me?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247313:: @ 8247313 + .string "Good, good.\n" + .string "I’ll see to the registration right away.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247348:: @ 8247348 + .string "Perhaps we can form a team the next\n" + .string "time we meet.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24737A:: @ 824737A + .string "I’m DRAGON TAMER {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24738F:: @ 824738F + .string "The team I’ve been toughening up is\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2473C6:: @ 82473C6 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "How about it?\n" + .string "Want to be my partner?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2473FB:: @ 82473FB + .string "Okay, I’ll give it my best!\n" + .string "I’ll go register now, all right?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247438:: @ 8247438 + .string "You’re not going to find many tougher\n" + .string "partners than me!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247470:: @ 8247470 + .string "I’m BIRD KEEPER {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247484:: @ 8247484 + .string "What POKéMON do I have?\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2474AF:: @ 82474AF + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "Don’t you think we’d make a decent\n" + .string "tag team?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2474EC:: @ 82474EC + .string "Great, thanks!\n" + .string "I’ll look after the registration!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24751D:: @ 824751D + .string "My POKéMON and I are strong.\n" + .string "What a letdown.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24754A:: @ 824754A + .string "I’m NINJA BOY {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24755C:: @ 824755C + .string "My POKéMON team consists of one\n" + .string "{STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24758B:: @ 824758B + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Let’s be in a tag team together!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2475BC:: @ 82475BC + .string "Yay!\n" + .string "Let me go register!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2475D5:: @ 82475D5 + .string "You’ll regret not having my tough\n" + .string "POKéMON on your side!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24760D:: @ 824760D + .string "Hello!\n" + .string "I’m PARASOL LADY {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247629:: @ 8247629 + .string "Escorting me now are my {STR_VAR_2}\n" + .string "that uses {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247655:: @ 8247655 + .string "one {STR_VAR_2} that uses\n" + .string "{STR_VAR_1}.\p" + .string "Aren’t they nice?\n" + .string "Care to join us in a tag team?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24769B:: @ 824769B + .string "Thanks a bunch!\p" + .string "I’ll go register at the counter.\n" + .string "Let’s not disappoint each other!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2476ED:: @ 82476ED + .string "My POKéMON are tremendously strong.\n" + .string "How disappointing…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247724:: @ 8247724 + .string "Hello.\n" + .string "I’m {STR_VAR_1}, and I’m a BUG MANIAC!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247749:: @ 8247749 + .string "I have found my POKéMON, yes.\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24777A:: @ 824777A + .string "one {STR_VAR_2} with {STR_VAR_1}--\n" + .string "they are what I found.\p" + .string "Could I interest you in forming\n" + .string "a tag team?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2477CE:: @ 82477CE + .string "Okay!\n" + .string "Understood!\p" + .string "I won’t be long with the registration!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247807:: @ 8247807 + .string "With the POKéMON I found, we wouldn’t\n" + .string "have lost…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247838:: @ 8247838 + .string "Ahoy, there!\n" + .string "I’m SAILOR {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247854:: @ 8247854 + .string "Let me show you my pride and joy!\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247889:: @ 8247889 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Of course you’re not going to turn\n" + .string "me down. We will team up, right?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2478DD:: @ 82478DD + .string "I didn’t expect any less!\n" + .string "I’ll go register now.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24790D:: @ 824790D + .string "We would’ve stormed through\n" + .string "the opposition! Too bad!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247942:: @ 8247942 + .string "Hi, I’m {STR_VAR_1}.\n" + .string "I’m a COLLECTOR.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24795F:: @ 824795F + .string "The jewels in my collection are\n" + .string "my {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247991:: @ 8247991 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Swell, huh?\n" + .string "We should be in a team together.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2479CE:: @ 82479CE + .string "Oh, yeah!\p" + .string "Well, let’s not waste any time.\n" + .string "I’ll go register the two of us.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247A18:: @ 8247A18 + .string "Well, that’s upsetting.\n" + .string "You don’t appreciate my POKéMON.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247A51:: @ 8247A51 + .string "Howdy, I’m {STR_VAR_1}.\n" + .string "I’m a POKéMON RANGER.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247A76:: @ 8247A76 + .string "Keeping me company are one\n" + .string "{STR_VAR_1}-using {STR_VAR_2} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247AA1:: @ 8247AA1 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Don’t you think we’d make an impressive\n" + .string "tag team?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247AE3:: @ 8247AE3 + .string "That’s super!\n" + .string "I’ll deal with the registration now.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247B16:: @ 8247B16 + .string "Next time, choose my POKéMON,\n" + .string "will you?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247B3E:: @ 8247B3E + .string "My name’s {STR_VAR_1}.\n" + .string "I’m a POKéMON RANGER!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247B62:: @ 8247B62 + .string "Let me tell you about my team. I have\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247B9B:: @ 8247B9B + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "How would you like to form a tag team\n" + .string "with my little posse?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247BE7:: @ 8247BE7 + .string "We’ll be at our best!\n" + .string "I’ll get the registration done quick!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247C23:: @ 8247C23 + .string "I hope you’ll choose my POKéMON\n" + .string "next time.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247C4E:: @ 8247C4E + .string "Pleased to meet you. I’m {STR_VAR_1}.\n" + .string "I consider myself an AROMA LADY.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247C8C:: @ 8247C8C + .string "I travel with one {STR_VAR_2}\n" + .string "that uses {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247CB2:: @ 8247CB2 + .string "one {STR_VAR_2} that uses\n" + .string "{STR_VAR_1}.\p" + .string "I hope they strike your fancy.\n" + .string "Would you care to be my partner?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247D07:: @ 8247D07 + .string "I’m honored by your acceptance.\n" + .string "I will go register right this instant.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247D4E:: @ 8247D4E + .string "It would be wonderful if we could form\n" + .string "a tag team the next time we meet.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247D97:: @ 8247D97 + .string "Want to know who I am?\n" + .string "I’m {STR_VAR_1}, the RUIN MANIAC!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247DC7:: @ 8247DC7 + .string "The POKéMON that I have with me are\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247DFE:: @ 8247DFE + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Intriguing, eh?\n" + .string "How about you and I partner up?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247E3E:: @ 8247E3E + .string "That’s a sound decision!\n" + .string "I’ll go do the registration paperwork.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247E7E:: @ 8247E7E + .string "Hmm…\n" + .string "I think my POKéMON are tough…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247EA1:: @ 8247EA1 + .string "I’m COOLTRAINER {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247EB5:: @ 8247EB5 + .string "The POKéMON I have right now are one\n" + .string "{STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247EE9:: @ 8247EE9 + .string "one {STR_VAR_2} with {STR_VAR_1}.\n" + .string "Cool, huh?\p" + .string "Don’t you think it’d be pretty cool\n" + .string "if we made a tag team?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247F3F:: @ 8247F3F + .string "Cool!\n" + .string "I’ll go do the registration in a flash!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247F6D:: @ 8247F6D + .string "I thought that we’d make just\n" + .string "the greatest team ever.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247FA3:: @ 8247FA3 + .string "I’m COOLTRAINER {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247FB7:: @ 8247FB7 + .string "The team I’ve been raising has one\n" + .string "{STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_247FE9:: @ 8247FE9 + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "Does that sound okay?\n" + .string "How about we become tag partners?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248031:: @ 8248031 + .string "Sounds A-OK!\n" + .string "I’d better do the registration.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24805E:: @ 824805E + .string "I was thinking how we would be\n" + .string "one tough team…$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24808D:: @ 824808D + .string "Heyo!\n" + .string "I’m {STR_VAR_1}, the POKéMANIAC!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2480AB:: @ 82480AB + .string "What does a guy like me have?\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2480DC:: @ 82480DC + .string "one {STR_VAR_2} with {STR_VAR_1},\n" + .string "that’s what!\p" + .string "Let’s do it!\n" + .string "We’ll stomp around as a tag team!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248128:: @ 8248128 + .string "Good call!\n" + .string "I’ll register the both of us!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248151:: @ 8248151 + .string "My POKéMON are brutal!\n" + .string "It’s not my fault if you regret this!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24818E:: @ 824818E + .string "Yo, there!\n" + .string "I’m KINDLER {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2481A9:: @ 82481A9 + .string "You know what my training cooked up?\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2481E1:: @ 82481E1 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Well, what do you say?\n" + .string "Want to form a tag team?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248221:: @ 8248221 + .string "All right!\n" + .string "I’ll get on with the registration.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24824F:: @ 824824F + .string "Promise you’ll partner up with me\n" + .string "the next time we run into each other.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248297:: @ 8248297 + .string "I’m {STR_VAR_1}, and I’m a CAMPER!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2482B1:: @ 82482B1 + .string "I’ve been raising one {STR_VAR_1}-\n" + .string "using {STR_VAR_2} and one$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2482DC:: @ 82482DC + .string "{STR_VAR_1}-using {STR_VAR_2}.\p" + .string "Do you think it’d be fun to team up?\n" + .string "I bet it would be!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248321:: @ 8248321 + .string "Yeah!\n" + .string "Off I go to register!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24833D:: @ 824833D + .string "Next time, okay?\n" + .string "I want to be on your team.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248369:: @ 8248369 + .string "Hello!\n" + .string "I’m {STR_VAR_1}, and I’m a PICNICKER!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24838D:: @ 824838D + .string "The POKéMON I’ve been taking are\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2483C1:: @ 82483C1 + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "Are you interested in joining me\n" + .string "on a tag team?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248401:: @ 8248401 + .string "Why, thank you!\n" + .string "I will do the registration now.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248431:: @ 8248431 + .string "It would be nice if I could join you\n" + .string "some other time.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248467:: @ 8248467 + .string "I’m PSYCHIC {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248477:: @ 8248477 + .string "The twosome I’ve been raising are\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2484AC:: @ 82484AC + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "Would you like to form a tag team\n" + .string "with me?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2484E7:: @ 82484E7 + .string "Sure thing!\n" + .string "I’ll take care of the registration!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248517:: @ 8248517 + .string "If we meet again, that’s when I’d like\n" + .string "to team up with you.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248553:: @ 8248553 + .string "I’m {STR_VAR_1}.\n" + .string "I’m a PSYCHIC.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24856A:: @ 824856A + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24857D:: @ 824857D + .string "one {STR_VAR_2} with {STR_VAR_1}--\n" + .string "they’re my disciples.\p" + .string "Doesn’t the idea of forming a tag-team\n" + .string "partnership intrigue you?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2485E5:: @ 82485E5 + .string "Thank you.\n" + .string "I’ll go deal with the registration.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248614:: @ 8248614 + .string "I hope there will be another chance\n" + .string "to forge an alliance.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24864E:: @ 824864E + .string "I’m SCHOOL KID {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248661:: @ 8248661 + .string "One {STR_VAR_1}-using {STR_VAR_2}$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248671:: @ 8248671 + .string "and one {STR_VAR_1}-using\n" + .string "{STR_VAR_2} are my POKéMON pair.\p" + .string "May I please be your partner on\n" + .string "a tag team?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2486C6:: @ 82486C6 + .string "Ooh, thank you!\n" + .string "I’ll register at the counter right away!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2486FF:: @ 82486FF + .string "Please?\n" + .string "May I join you the next time?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248725:: @ 8248725 + .string "Hiya! The name’s {STR_VAR_1}!\n" + .string "I’m a POKéMON BREEDER!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248751:: @ 8248751 + .string "The POKéMON I’ve raised are one\n" + .string "{STR_VAR_1}-using {STR_VAR_2} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248781:: @ 8248781 + .string "one {STR_VAR_1}-using {STR_VAR_2}.\p" + .string "Sound interesting?\n" + .string "How about we form a tag team, then?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2487C9:: @ 82487C9 + .string "All righty!\n" + .string "You leave the registration to me!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2487F7:: @ 82487F7 + .string "You have to team up with me next time,\n" + .string "all right?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248829:: @ 8248829 + .string "I’m {STR_VAR_1}, and I’m proud to say\n" + .string "that I am a POKéFAN.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24885B:: @ 824885B + .string "The darling POKéMON I’ve raised are\n" + .string "one {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248892:: @ 8248892 + .string "one {STR_VAR_2} with {STR_VAR_1}.\p" + .string "Aren’t they just the cutest?\n" + .string "We ought to make a team!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2488D8:: @ 82488D8 + .string "Thank you, dear!\n" + .string "I’ll be on my way to register!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248908:: @ 8248908 + .string "My darling POKéMON are the best,\n" + .string "I’ll have you know. How annoying!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24894B:: @ 824894B + .string "Hi, I’m SWIMMER {STR_VAR_1}.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24895F:: @ 824895F + .string "One {STR_VAR_1}-using {STR_VAR_2}$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_24896F:: @ 824896F + .string "and one {STR_VAR_1}-using\n" + .string "{STR_VAR_2} are what I’ve trained.\p" + .string "You and me, let’s make a tag team.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2489BD:: @ 82489BD + .string "That’s cool!\n" + .string "I’ll register the two of us.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_2489E7:: @ 82489E7 + .string "If we meet again, you owe me\n" + .string "a tag team!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248A10:: @ 8248A10 + .string "What’s happening?\n" + .string "I’m {STR_VAR_1}, and I’m a TRIATHLETE.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248A40:: @ 8248A40 + .string "I got a couple decent POKéMON.\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248A72:: @ 8248A72 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "It’d be neat if we made a tag team\n" + .string "together, so how about it?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248AC0:: @ 8248AC0 + .string "Right on!\n" + .string "You wait while I register, okay?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248AEB:: @ 8248AEB + .string "I expect you’ll let me join you\n" + .string "next time, how’s that?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248B22:: @ 8248B22 + .string "I’m the TRIATHLETE {STR_VAR_1}!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248B39:: @ 8248B39 + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248B4C:: @ 8248B4C + .string "another {STR_VAR_2} that knows how\n" + .string "to use {STR_VAR_1}. That’s my pair.\p" + .string "What do you think?\n" + .string "We’d make a good team, I’d say.$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248BB4:: @ 8248BB4 + .string "I like that answer!\n" + .string "I’ll get done with registration fast!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248BEE:: @ 8248BEE + .string "You’ll give me another chance to form\n" + .string "a partnership, won’t you?$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248C2E:: @ 8248C2E + .string "Hi, there! Hello!\n" + .string "I’m {STR_VAR_1}, and I’m a SWIMMER!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248C5B:: @ 8248C5B + .string "Check out what I’ve been raising!\n" + .string "One {STR_VAR_2} with {STR_VAR_1} and$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248C90:: @ 8248C90 + .string "one {STR_VAR_2} with {STR_VAR_1}!\p" + .string "Sweet, huh?\n" + .string "It’d be sweet to form a team, too!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248CCF:: @ 8248CCF + .string "Much obliged!\n" + .string "I’ll get this registration thing done!$" + +BattleFrontier_BattleTowerMultiBattleRoom_Text_248D04:: @ 8248D04 + .string "If we meet again, you have to team up\n" + .string "with me. You’ll do that, right?$" + diff --git a/data/scripts/maps/BattleFrontier_Lounge1.inc b/data/scripts/maps/BattleFrontier_Lounge1.inc new file mode 100644 index 0000000000..ba8ca0cb61 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_Lounge1.inc @@ -0,0 +1,269 @@ +BattleFrontier_Lounge1_MapScripts:: @ 825E774 + .byte 0 + +BattleFrontier_Lounge1_EventScript_25E775:: @ 825E775 + lock + faceplayer + checkflag FLAG_0x153 + call_if 0, BattleFrontier_Lounge1_EventScript_25E7AD + checkflag FLAG_0x153 + call_if 1, BattleFrontier_Lounge1_EventScript_25E7B6 + setflag FLAG_0x153 + goto BattleFrontier_Lounge1_EventScript_25E792 + end + +BattleFrontier_Lounge1_EventScript_25E792:: @ 825E792 + special sub_81B94B0 + waitstate + compare VAR_0x8004, 255 + goto_if 5, BattleFrontier_Lounge1_EventScript_25E7BF + compare VAR_0x8004, 255 + goto_eq BattleFrontier_Lounge1_EventScript_25E943 + end + +BattleFrontier_Lounge1_EventScript_25E7AD:: @ 825E7AD + msgbox BattleFrontier_Lounge1_Text_25E95F, 4 + return + +BattleFrontier_Lounge1_EventScript_25E7B6:: @ 825E7B6 + msgbox BattleFrontier_Lounge1_Text_25EEF6, 4 + return + +BattleFrontier_Lounge1_EventScript_25E7BF:: @ 825E7BF + specialvar VAR_RESULT, ScriptGetPartyMonSpecies + compare VAR_RESULT, 412 + goto_eq BattleFrontier_Lounge1_EventScript_25E7FF + special sub_8139D98 + compare VAR_0x8005, 90 + goto_if 3, BattleFrontier_Lounge1_EventScript_25E87F + compare VAR_0x8005, 120 + goto_if 3, BattleFrontier_Lounge1_EventScript_25E88D + compare VAR_0x8005, 150 + goto_if 3, BattleFrontier_Lounge1_EventScript_25E89B + compare VAR_0x8005, 151 + goto_if 4, BattleFrontier_Lounge1_EventScript_25E8A9 + end + +BattleFrontier_Lounge1_EventScript_25E7FF:: @ 825E7FF + msgbox BattleFrontier_Lounge1_Text_25EF5E, 4 + goto BattleFrontier_Lounge1_EventScript_25E792 + end + +BattleFrontier_Lounge1_EventScript_25E80D:: @ 825E80D + compare VAR_0x8006, 0 + goto_eq BattleFrontier_Lounge1_EventScript_25E8B7 + compare VAR_0x8006, 1 + goto_eq BattleFrontier_Lounge1_EventScript_25E8C5 + compare VAR_0x8006, 2 + goto_eq BattleFrontier_Lounge1_EventScript_25E8D3 + compare VAR_0x8006, 3 + goto_eq BattleFrontier_Lounge1_EventScript_25E8E1 + compare VAR_0x8006, 4 + goto_eq BattleFrontier_Lounge1_EventScript_25E8EF + compare VAR_0x8006, 5 + goto_eq BattleFrontier_Lounge1_EventScript_25E8FD + end + +BattleFrontier_Lounge1_EventScript_25E850:: @ 825E850 + compare VAR_0x8007, 15 + goto_if 3, BattleFrontier_Lounge1_EventScript_25E90B + compare VAR_0x8007, 25 + goto_if 3, BattleFrontier_Lounge1_EventScript_25E919 + compare VAR_0x8007, 30 + goto_if 3, BattleFrontier_Lounge1_EventScript_25E927 + compare VAR_0x8007, 31 + goto_if 4, BattleFrontier_Lounge1_EventScript_25E935 + end + +BattleFrontier_Lounge1_EventScript_25E87D:: @ 825E87D + release + end + +BattleFrontier_Lounge1_EventScript_25E87F:: @ 825E87F + msgbox BattleFrontier_Lounge1_Text_25EA92, 4 + goto BattleFrontier_Lounge1_EventScript_25E80D + end + +BattleFrontier_Lounge1_EventScript_25E88D:: @ 825E88D + msgbox BattleFrontier_Lounge1_Text_25EAD9, 4 + goto BattleFrontier_Lounge1_EventScript_25E80D + end + +BattleFrontier_Lounge1_EventScript_25E89B:: @ 825E89B + msgbox BattleFrontier_Lounge1_Text_25EB2A, 4 + goto BattleFrontier_Lounge1_EventScript_25E80D + end + +BattleFrontier_Lounge1_EventScript_25E8A9:: @ 825E8A9 + msgbox BattleFrontier_Lounge1_Text_25EB6F, 4 + goto BattleFrontier_Lounge1_EventScript_25E80D + end + +BattleFrontier_Lounge1_EventScript_25E8B7:: @ 825E8B7 + msgbox BattleFrontier_Lounge1_Text_25EBBB, 4 + goto BattleFrontier_Lounge1_EventScript_25E850 + end + +BattleFrontier_Lounge1_EventScript_25E8C5:: @ 825E8C5 + msgbox BattleFrontier_Lounge1_Text_25EBF8, 4 + goto BattleFrontier_Lounge1_EventScript_25E850 + end + +BattleFrontier_Lounge1_EventScript_25E8D3:: @ 825E8D3 + msgbox BattleFrontier_Lounge1_Text_25EC39, 4 + goto BattleFrontier_Lounge1_EventScript_25E850 + end + +BattleFrontier_Lounge1_EventScript_25E8E1:: @ 825E8E1 + msgbox BattleFrontier_Lounge1_Text_25ED0E, 4 + goto BattleFrontier_Lounge1_EventScript_25E850 + end + +BattleFrontier_Lounge1_EventScript_25E8EF:: @ 825E8EF + msgbox BattleFrontier_Lounge1_Text_25EC7B, 4 + goto BattleFrontier_Lounge1_EventScript_25E850 + end + +BattleFrontier_Lounge1_EventScript_25E8FD:: @ 825E8FD + msgbox BattleFrontier_Lounge1_Text_25ECC4, 4 + goto BattleFrontier_Lounge1_EventScript_25E850 + end + +BattleFrontier_Lounge1_EventScript_25E90B:: @ 825E90B + msgbox BattleFrontier_Lounge1_Text_25ED4E, 4 + goto BattleFrontier_Lounge1_EventScript_25E87D + end + +BattleFrontier_Lounge1_EventScript_25E919:: @ 825E919 + msgbox BattleFrontier_Lounge1_Text_25ED87, 4 + goto BattleFrontier_Lounge1_EventScript_25E87D + end + +BattleFrontier_Lounge1_EventScript_25E927:: @ 825E927 + msgbox BattleFrontier_Lounge1_Text_25EDC1, 4 + goto BattleFrontier_Lounge1_EventScript_25E87D + end + +BattleFrontier_Lounge1_EventScript_25E935:: @ 825E935 + msgbox BattleFrontier_Lounge1_Text_25EDF6, 4 + goto BattleFrontier_Lounge1_EventScript_25E87D + end + +BattleFrontier_Lounge1_EventScript_25E943:: @ 825E943 + msgbox BattleFrontier_Lounge1_Text_25EE37, 4 + release + end + +BattleFrontier_Lounge1_EventScript_25E94D:: @ 825E94D + msgbox BattleFrontier_Lounge1_Text_25EFDD, 2 + end + +BattleFrontier_Lounge1_EventScript_25E956:: @ 825E956 + msgbox BattleFrontier_Lounge1_Text_25F020, 2 + end + +BattleFrontier_Lounge1_Text_25E95F: @ 825E95F + .string "For 70 years I have raised POKéMON!\n" + .string "I am the man they revere as\l" + .string "the legendary top POKéMON BREEDER!\p" + .string "If you ever become as seasoned as me,\n" + .string "you’ll see the abilities of POKéMON\l" + .string "at a glance.\p" + .string "You’re a TRAINER. Doesn’t it interest\n" + .string "you to know your own POKéMON’s\l" + .string "abilities?\p" + .string "Here!\n" + .string "Let’s have a look at your POKéMON!$" + +BattleFrontier_Lounge1_Text_25EA92: @ 825EA92 + .string "…Hmm…\p" + .string "This one, overall, I would describe\n" + .string "as being of average ability.$" + +BattleFrontier_Lounge1_Text_25EAD9: @ 825EAD9 + .string "…Hmm…\p" + .string "This one, overall, I would describe as\n" + .string "having better-than-average ability.$" + +BattleFrontier_Lounge1_Text_25EB2A: @ 825EB2A + .string "…Hmm…\p" + .string "This one, overall, I would say is\n" + .string "quite impressive in ability!$" + +BattleFrontier_Lounge1_Text_25EB6F: @ 825EB6F + .string "…Hmm…\p" + .string "This one, overall, I would say is\n" + .string "wonderfully outstanding in ability!$" + +BattleFrontier_Lounge1_Text_25EBBB: @ 825EBBB + .string "Incidentally, the best aspect of it,\n" + .string "I would say, is its HP…$" + +BattleFrontier_Lounge1_Text_25EBF8: @ 825EBF8 + .string "Incidentally, the best aspect of it,\n" + .string "I would say, is its ATTACK…$" + +BattleFrontier_Lounge1_Text_25EC39: @ 825EC39 + .string "Incidentally, the best aspect of it,\n" + .string "I would say, is its DEFENSE…$" + +BattleFrontier_Lounge1_Text_25EC7B: @ 825EC7B + .string "Incidentally, the best aspect of it,\n" + .string "I would say, is its SPECIAL ATTACK…$" + +BattleFrontier_Lounge1_Text_25ECC4: @ 825ECC4 + .string "Incidentally, the best aspect of it,\n" + .string "I would say, is its SPECIAL DEFENSE…$" + +BattleFrontier_Lounge1_Text_25ED0E: @ 825ED0E + .string "Incidentally, the best aspect of it,\n" + .string "I would say, is its SPEED…$" + +BattleFrontier_Lounge1_Text_25ED4E: @ 825ED4E + .string "That stat is relatively good.\n" + .string "…Hm… That’s how I call it.$" + +BattleFrontier_Lounge1_Text_25ED87: @ 825ED87 + .string "That stat is quite impressive.\n" + .string "…Hm… That’s how I call it.$" + +BattleFrontier_Lounge1_Text_25EDC1: @ 825EDC1 + .string "That stat is outstanding!\n" + .string "…Hm… That’s how I call it.$" + +BattleFrontier_Lounge1_Text_25EDF6: @ 825EDF6 + .string "It’s flawless! A thing of perfection!\n" + .string "…Hm… That’s how I call it.$" + +BattleFrontier_Lounge1_Text_25EE37: @ 825EE37 + .string "What?\n" + .string "You have no time for my advice?\p" + .string "You should always be eager to learn\n" + .string "from the experiences of your elders!$" + +BattleFrontier_Lounge1_Text_25EEA6: @ 825EEA6 + .string "Yes, what is it now?\p" + .string "I have business that needs tending!\n" + .string "Save it for next time!$" + +BattleFrontier_Lounge1_Text_25EEF6: @ 825EEF6 + .string "Ah, youngster! Do your POKéMON’s\n" + .string "abilities intrigue you?\p" + .string "Here, here!\n" + .string "Let’s have a look at your POKéMON!$" + +BattleFrontier_Lounge1_Text_25EF5E: @ 825EF5E + .string "An expert I am, but even I can’t tell\n" + .string "anything about an unhatched POKéMON!\p" + .string "Show me a POKéMON!\n" + .string "A POKéMON is what I need to see!$" + +BattleFrontier_Lounge1_Text_25EFDD: @ 825EFDD + .string "He said my POKéMON is outstanding!\n" + .string "I’m glad I raised it carefully!$" + +BattleFrontier_Lounge1_Text_25F020: @ 825F020 + .string "He said my POKéMON is outstanding!\n" + .string "But I didn’t do anything special\l" + .string "raising it…$" + diff --git a/data/scripts/maps/BattleFrontier_Lounge2.inc b/data/scripts/maps/BattleFrontier_Lounge2.inc new file mode 100644 index 0000000000..bbb298b5b1 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_Lounge2.inc @@ -0,0 +1,373 @@ +BattleFrontier_Lounge2_MapScripts:: @ 8260642 + .byte 0 + +BattleFrontier_Lounge2_EventScript_260643:: @ 8260643 + lock + faceplayer + checkflag FLAG_0x154 + goto_eq BattleFrontier_Lounge2_EventScript_26065F + setflag FLAG_0x154 + msgbox BattleFrontier_Lounge2_Text_260766, 4 + goto BattleFrontier_Lounge2_EventScript_26066D + end + +BattleFrontier_Lounge2_EventScript_26065F:: @ 826065F + msgbox BattleFrontier_Lounge2_Text_260857, 4 + goto BattleFrontier_Lounge2_EventScript_26066D + end + +BattleFrontier_Lounge2_EventScript_26066D:: @ 826066D + compare VAR_FRONTIER_MANIAC_FACILITY, 0 + call_if 1, BattleFrontier_Lounge2_EventScript_26070A + compare VAR_FRONTIER_MANIAC_FACILITY, 1 + call_if 1, BattleFrontier_Lounge2_EventScript_26070F + compare VAR_FRONTIER_MANIAC_FACILITY, 2 + call_if 1, BattleFrontier_Lounge2_EventScript_260714 + compare VAR_FRONTIER_MANIAC_FACILITY, 3 + call_if 1, BattleFrontier_Lounge2_EventScript_260719 + compare VAR_FRONTIER_MANIAC_FACILITY, 4 + call_if 1, BattleFrontier_Lounge2_EventScript_26071E + compare VAR_FRONTIER_MANIAC_FACILITY, 5 + call_if 1, BattleFrontier_Lounge2_EventScript_260723 + compare VAR_FRONTIER_MANIAC_FACILITY, 6 + call_if 1, BattleFrontier_Lounge2_EventScript_260728 + compare VAR_FRONTIER_MANIAC_FACILITY, 7 + call_if 1, BattleFrontier_Lounge2_EventScript_26072D + compare VAR_FRONTIER_MANIAC_FACILITY, 8 + call_if 1, BattleFrontier_Lounge2_EventScript_260732 + compare VAR_FRONTIER_MANIAC_FACILITY, 9 + call_if 1, BattleFrontier_Lounge2_EventScript_260737 + compare VAR_FRONTIER_MANIAC_FACILITY, 3 + call_if 3, BattleFrontier_Lounge2_EventScript_2606F8 + compare VAR_FRONTIER_MANIAC_FACILITY, 4 + call_if 4, BattleFrontier_Lounge2_EventScript_260701 + special sub_8139F20 + waitmessage + waitbuttonpress + release + end + +BattleFrontier_Lounge2_EventScript_2606F8:: @ 82606F8 + msgbox BattleFrontier_Lounge2_Text_260933, 4 + return + +BattleFrontier_Lounge2_EventScript_260701:: @ 8260701 + msgbox BattleFrontier_Lounge2_Text_2608F2, 4 + return + +BattleFrontier_Lounge2_EventScript_26070A:: @ 826070A + bufferstdstring 0, 19 + return + +BattleFrontier_Lounge2_EventScript_26070F:: @ 826070F + bufferstdstring 0, 20 + return + +BattleFrontier_Lounge2_EventScript_260714:: @ 8260714 + bufferstdstring 0, 21 + return + +BattleFrontier_Lounge2_EventScript_260719:: @ 8260719 + bufferstdstring 0, 22 + return + +BattleFrontier_Lounge2_EventScript_26071E:: @ 826071E + bufferstdstring 0, 24 + return + +BattleFrontier_Lounge2_EventScript_260723:: @ 8260723 + bufferstdstring 0, 25 + return + +BattleFrontier_Lounge2_EventScript_260728:: @ 8260728 + bufferstdstring 0, 26 + return + +BattleFrontier_Lounge2_EventScript_26072D:: @ 826072D + bufferstdstring 0, 27 + return + +BattleFrontier_Lounge2_EventScript_260732:: @ 8260732 + bufferstdstring 0, 28 + return + +BattleFrontier_Lounge2_EventScript_260737:: @ 8260737 + bufferstdstring 0, 29 + return + +BattleFrontier_Lounge2_EventScript_26073C:: @ 826073C + lock + msgbox BattleFrontier_Lounge2_Text_261C9C, 4 + release + end + +BattleFrontier_Lounge2_EventScript_260747:: @ 8260747 + lock + msgbox BattleFrontier_Lounge2_Text_261CDC, 4 + release + end + +BattleFrontier_Lounge2_EventScript_260752:: @ 8260752 + lock + msgbox BattleFrontier_Lounge2_Text_261D1D, 4 + release + end + +BattleFrontier_Lounge2_EventScript_26075D:: @ 826075D + msgbox BattleFrontier_Lounge2_Text_261D5C, 2 + end + +BattleFrontier_Lounge2_Text_260766:: @ 8260766 + .string "Howdy! When it comes to news about\n" + .string "the BATTLE FRONTIER, I’m no. 1.\p" + .string "You can think of me as\n" + .string "the FRONTIER MANIAC.\p" + .string "Just checking, but you are a TRAINER,\n" + .string "isn’t that right?\p" + .string "I’ll happily share the hottest news\n" + .string "I gathered about the BATTLE FRONTIER.$" + +BattleFrontier_Lounge2_Text_260857:: @ 8260857 + .string "Howdy! Did you swing by to grill me\n" + .string "about the latest word? Oh, all right!$" + +BattleFrontier_Lounge2_Text_2608A1:: @ 82608A1 + .string "Well? Well? Well?\p" + .string "I’m sure my information’s been\n" + .string "seriously useful to you, right?$" + +BattleFrontier_Lounge2_Text_2608F2:: @ 82608F2 + .string "Let’s see now…\p" + .string "It sounds like the {STR_VAR_1}\n" + .string "is the hottest place going.$" + +BattleFrontier_Lounge2_Text_260933:: @ 8260933 + .string "Let’s see now…\p" + .string "It sounds like BATTLE TOWER\n" + .string "{STR_VAR_1} is the hottest.$" + +BattleFrontier_Lounge2_Text_260971:: @ 8260971 + .string "Bet you didn’t know this!\p" + .string "One of those top TRAINERS that SCOTT\n" + .string "calls the FRONTIER BRAINS is there.\p" + .string "It’s this mysterious TRAINER called\n" + .string "the SALON MAIDEN that runs the place.$" + +BattleFrontier_Lounge2_Text_260A1E:: @ 8260A1E + .string "Have you battled the SALON MAIDEN?\p" + .string "When she’s measuring up her opponent,\n" + .string "she apparently uses these POKéMON:\p" + .string "A PSYCHIC-type PSI POKéMON,\n" + .string "a FIRE-type VOLCANO POKéMON,\l" + .string "and a NORMAL-type SLEEPING POKéMON.$" + +BattleFrontier_Lounge2_Text_260AE7:: @ 8260AE7 + .string "Have you battled the SALON MAIDEN\n" + .string "when she’s serious?\p" + .string "When she’s battling flat out,\n" + .string "she apparently uses these POKéMON:\p" + .string "A DRAGON & PSYCHIC EON POKéMON,\n" + .string "an ELECTRIC-type THUNDER POKéMON,\l" + .string "and a NORMAL-type SLEEPING POKéMON.$" + +BattleFrontier_Lounge2_Text_260BC4:: @ 8260BC4 + .string "Bet you didn’t know this!\p" + .string "One of those top TRAINERS that SCOTT\n" + .string "calls the FRONTIER BRAINS is there.\p" + .string "It’s this flamboyant TRAINER called\n" + .string "the DOME ACE that runs the place.$" + +BattleFrontier_Lounge2_Text_260C6D:: @ 8260C6D + .string "Have you battled the DOME ACE?\p" + .string "When he’s treating the opponent\n" + .string "lightly, he uses these three POKéMON:\p" + .string "A DRAGON & FLYING DRAGON POKéMON,\n" + .string "a WATER & GROUND MUD FISH POKéMON,\l" + .string "and a FIRE & FLYING FLAME POKéMON.$" + +BattleFrontier_Lounge2_Text_260D3A:: @ 8260D3A + .string "Have you battled the DOME ACE\n" + .string "when he’s serious?\p" + .string "When he’s demonstrating his strategy,\n" + .string "he uses these three POKéMON:\p" + .string "A DRAGON & FLYING EON POKéMON,\n" + .string "a WATER & GROUND MUD FISH POKéMON,\l" + .string "and a STEEL- & PSYCHIC-type IRON LEG\l" + .string "POKéMON.$" + +BattleFrontier_Lounge2_Text_260E1E:: @ 8260E1E + .string "Bet you didn’t know this!\p" + .string "One of those top TRAINERS that SCOTT\n" + .string "calls the FRONTIER BRAINS is there.\p" + .string "It’s this freaky TRAINER called\n" + .string "the FACTORY HEAD that runs the place.$" + +BattleFrontier_Lounge2_Text_260EC7:: @ 8260EC7 + .string "Have you battled the FACTORY HEAD\n" + .string "already?\p" + .string "Let me think… When he goes to battle,\n" + .string "he just gets three rental POKéMON.\p" + .string "He battles under pretty much the same\n" + .string "conditions as you.$" + +BattleFrontier_Lounge2_Text_260F74:: @ 8260F74 + .string "Have you battled the FACTORY HEAD\n" + .string "when he’s serious?\p" + .string "When he goes seriously to battle,\n" + .string "he still gets three rental POKéMON.\p" + .string "He battles under virtually the same\n" + .string "conditions as you.$" + +BattleFrontier_Lounge2_Text_261026:: @ 8261026 + .string "Bet you didn’t know this!\p" + .string "One of those top TRAINERS that SCOTT\n" + .string "calls the FRONTIER BRAINS is there.\p" + .string "It’s this scary TRAINER called\n" + .string "the PIKE QUEEN that runs the place.$" + +BattleFrontier_Lounge2_Text_2610CC:: @ 82610CC + .string "Have you battled the PIKE QUEEN\n" + .string "before?\p" + .string "When she’s in a good mood, they say\n" + .string "she uses these three POKéMON:\p" + .string "A POISON-type FANG SNAKE POKéMON,\n" + .string "a BUG & ROCK MOLD POKéMON,\l" + .string "and a WATER-type TENDER POKéMON.$" + +BattleFrontier_Lounge2_Text_261194:: @ 8261194 + .string "Have you battled the PIKE QUEEN\n" + .string "when she’s serious?\p" + .string "When she’s seriously annoyed, they say\n" + .string "she uses these three POKéMON:\p" + .string "A POISON-type FANG SNAKE POKéMON,\n" + .string "a STEEL & GROUND IRON SNAKE POKéMON,\l" + .string "and a WATER- & FLYING-type ATROCIOUS\l" + .string "POKéMON.$" + +BattleFrontier_Lounge2_Text_261282:: @ 8261282 + .string "Bet you didn’t know this!\p" + .string "One of those top TRAINERS that SCOTT\n" + .string "calls the FRONTIER BRAINS is there.\p" + .string "It’s this cute TRAINER called\n" + .string "the ARENA TYCOON that runs the place.$" + +BattleFrontier_Lounge2_Text_261329:: @ 8261329 + .string "Have you battled the ARENA TYCOON\n" + .string "before?\p" + .string "When she’s assessing the foe’s ability,\n" + .string "she supposedly uses these POKéMON:\p" + .string "A BUG & FIGHTING SINGLE HORN POKéMON,\n" + .string "a DARK-type MOONLIGHT POKéMON,\l" + .string "and a BUG & GHOST SHED POKéMON.$" + +BattleFrontier_Lounge2_Text_261403:: @ 8261403 + .string "Have you battled the ARENA TYCOON\n" + .string "when she’s serious?\p" + .string "When she battles for keeps,\n" + .string "she supposedly uses these POKéMON:\p" + .string "A DARK-type MOONLIGHT POKéMON,\n" + .string "a GHOST & POISON SHADOW POKéMON\l" + .string "and a GRASS- & FIGHTING-type\l" + .string "MUSHROOM POKéMON.$" + +BattleFrontier_Lounge2_Text_2614E6:: @ 82614E6 + .string "Bet you didn’t know this!\p" + .string "One of those top TRAINERS that SCOTT\n" + .string "calls the FRONTIER BRAINS is there.\p" + .string "It’s this sinister TRAINER called\n" + .string "the PALACE MAVEN that runs the place.$" + +BattleFrontier_Lounge2_Text_261591:: @ 8261591 + .string "Have you battled the PALACE MAVEN\n" + .string "before?\p" + .string "When he’s testing the opponent’s\n" + .string "spirit, he’s said to use these POKéMON:\p" + .string "A POISON & FLYING-type BAT POKéMON,\n" + .string "a NORMAL-type LAZY POKéMON, and a\l" + .string "WATER- & ICE-type TRANSPORT POKéMON.$" + +BattleFrontier_Lounge2_Text_26166F:: @ 826166F + .string "Have you battled the PALACE MAVEN\n" + .string "when he’s serious?\p" + .string "When he throws his entire might into\n" + .string "battle, he’s said to use these POKéMON:\p" + .string "A FIRE-type LEGENDARY POKéMON,\n" + .string "a NORMAL-type LAZY POKéMON,\l" + .string "and a WATER-type AURORA POKéMON.$" + +BattleFrontier_Lounge2_Text_26174D:: @ 826174D + .string "Bet you didn’t know this!\p" + .string "One of those top TRAINERS that SCOTT\n" + .string "calls the FRONTIER BRAINS is there.\p" + .string "It’s this fiery-hot TRAINER called\n" + .string "the PYRAMID KING that runs the place.$" + +BattleFrontier_Lounge2_Text_2617F9:: @ 82617F9 + .string "Have you battled the PYRAMID KING\n" + .string "before?\p" + .string "When he’s checking the foe’s power,\n" + .string "he apparently uses these POKéMON:\p" + .string "A ROCK-type ROCK PEAK POKéMON,\n" + .string "an ICE-type ICEBERG POKéMON,\l" + .string "and a STEEL-type IRON POKéMON.$" + +BattleFrontier_Lounge2_Text_2618C4:: @ 82618C4 + .string "Have you battled the PYRAMID KING\n" + .string "when he’s serious?\p" + .string "When he’s pumped with hot power,\n" + .string "he apparently uses these POKéMON:\p" + .string "An ICE & FLYING FREEZE POKéMON, an\n" + .string "ELECTRIC & FLYING ELECTRIC POKéMON,\l" + .string "and a FIRE- & FLYING-type FLAME\l" + .string "POKéMON.$" + +BattleFrontier_Lounge2_Text_2619AC:: @ 82619AC + .string "Sure, there are several places where\n" + .string "you can enter DOUBLE BATTLES.\p" + .string "But the DOUBLE BATTLE ROOMS of\n" + .string "the BATTLE TOWER are, like, basic!\p" + .string "They’re where you should learn about\n" + .string "how DOUBLE BATTLES are played here\l" + .string "in the BATTLE FRONTIER.$" + +BattleFrontier_Lounge2_Text_261A91:: @ 8261A91 + .string "Watch yourself in the battles here.\p" + .string "I hear there are TRAINERS that have\n" + .string "strategies they developed just for\l" + .string "DOUBLE BATTLES.$" + +BattleFrontier_Lounge2_Text_261B0C:: @ 8261B0C + .string "Once you’re confident and comfortable\n" + .string "with DOUBLE BATTLES here, you should\l" + .string "think about challenging other places\l" + .string "offering DOUBLE BATTLES.$" + +BattleFrontier_Lounge2_Text_261B95:: @ 8261B95 + .string "All sorts of TRAINERS gather in\n" + .string "the BATTLE SALON.\p" + .string "Just think--you may run into your\n" + .string "friends or followers!\l" + .string "You should look carefully!$" + +BattleFrontier_Lounge2_Text_261C1A:: @ 8261C1A + .string "If you’re with a friend, head for the\n" + .string "LINK MULTI BATTLE ROOM.\p" + .string "If you play with a strong friend,\n" + .string "you can expect to see tough foes!$" + +BattleFrontier_Lounge2_Text_261C9C:: @ 8261C9C + .string "What amazing news-gathering power!\n" + .string "My mentor’s like none other!$" + +BattleFrontier_Lounge2_Text_261CDC:: @ 8261CDC + .string "What amazing powers of observation!\n" + .string "My mentor’s like none other!$" + +BattleFrontier_Lounge2_Text_261D1D:: @ 8261D1D + .string "What amazing power of persuasion!\n" + .string "My mentor’s like none other!$" + +BattleFrontier_Lounge2_Text_261D5C:: @ 8261D5C + .string "…What is this place?\n" + .string "It’s scaring me…$" + diff --git a/data/scripts/maps/BattleFrontier_Lounge3.inc b/data/scripts/maps/BattleFrontier_Lounge3.inc new file mode 100644 index 0000000000..4568dd2c8d --- /dev/null +++ b/data/scripts/maps/BattleFrontier_Lounge3.inc @@ -0,0 +1,483 @@ +BattleFrontier_Lounge3_MapScripts:: @ 8261D82 + .byte 0 + +BattleFrontier_Lounge3_EventScript_261D83:: @ 8261D83 + lock + faceplayer + checkflag FLAG_0x157 + goto_eq BattleFrontier_Lounge3_EventScript_261EF9 + call BattleFrontier_Lounge3_EventScript_261EA0 + compare VAR_0x8004, 2 + goto_if 3, BattleFrontier_Lounge3_EventScript_261EEB + setflag FLAG_0x157 + msgbox BattleFrontier_Lounge3_Text_262061, 4 + goto BattleFrontier_Lounge3_EventScript_261DAF + end + +BattleFrontier_Lounge3_EventScript_261DAF:: @ 8261DAF + special sub_813A820 + waitmessage + waitbuttonpress + msgbox BattleFrontier_Lounge3_Text_262A60, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_Lounge3_EventScript_261FA5 + msgbox BattleFrontier_Lounge3_Text_262ABD, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_Lounge3_EventScript_261FA5 + message BattleFrontier_Lounge3_Text_262B42 + waitmessage + special sub_813A958 + goto BattleFrontier_Lounge3_EventScript_261DE9 + end + +BattleFrontier_Lounge3_EventScript_261DE9:: @ 8261DE9 + multichoice 20, 4, 87, 0 + copyvar VAR_FRONTIER_GAMBLER_AMOUNT_BET, VAR_RESULT + switch VAR_RESULT + case 0, BattleFrontier_Lounge3_EventScript_261E30 + case 1, BattleFrontier_Lounge3_EventScript_261E3B + case 2, BattleFrontier_Lounge3_EventScript_261E46 + case 3, BattleFrontier_Lounge3_EventScript_261FAF + case 127, BattleFrontier_Lounge3_EventScript_261FAF + end + +BattleFrontier_Lounge3_EventScript_261E30:: @ 8261E30 + setvar VAR_0x8008, 5 + goto BattleFrontier_Lounge3_EventScript_261E51 + end + +BattleFrontier_Lounge3_EventScript_261E3B:: @ 8261E3B + setvar VAR_0x8008, 10 + goto BattleFrontier_Lounge3_EventScript_261E51 + end + +BattleFrontier_Lounge3_EventScript_261E46:: @ 8261E46 + setvar VAR_0x8008, 15 + goto BattleFrontier_Lounge3_EventScript_261E51 + end + +BattleFrontier_Lounge3_EventScript_261E51:: @ 8261E51 + specialvar VAR_0x4001, sub_813AA04 + compare VAR_0x4001, VAR_0x8008 + goto_if 4, BattleFrontier_Lounge3_EventScript_261E75 + msgbox BattleFrontier_Lounge3_Text_262B6E, 4 + message BattleFrontier_Lounge3_Text_262B42 + waitmessage + goto BattleFrontier_Lounge3_EventScript_261DE9 + end + +BattleFrontier_Lounge3_EventScript_261E75:: @ 8261E75 + copyvar VAR_0x8004, VAR_0x8008 + special sub_813A9A4 + setvar VAR_FRONTIER_GAMBLER_PLACED_BET_F, 1 + special sub_813A8FC + playse SE_REGI + msgbox BattleFrontier_Lounge3_Text_262BE0, 4 + goto BattleFrontier_Lounge3_EventScript_261E96 + end + +BattleFrontier_Lounge3_EventScript_261E96:: @ 8261E96 + special sub_813A854 + waitmessage + waitbuttonpress + special sub_813A988 + release + end + +BattleFrontier_Lounge3_EventScript_261EA0:: @ 8261EA0 + setvar VAR_0x8004, 0 + checkflag FLAG_SYS_TOWER_SILVER + call_if 1, BattleFrontier_Lounge3_EventScript_261EE5 + checkflag FLAG_SYS_DOME_SILVER + call_if 1, BattleFrontier_Lounge3_EventScript_261EE5 + checkflag FLAG_SYS_PALACE_SILVER + call_if 1, BattleFrontier_Lounge3_EventScript_261EE5 + checkflag FLAG_SYS_ARENA_SILVER + call_if 1, BattleFrontier_Lounge3_EventScript_261EE5 + checkflag FLAG_SYS_FACTORY_SILVER + call_if 1, BattleFrontier_Lounge3_EventScript_261EE5 + checkflag FLAG_SYS_PIKE_SILVER + call_if 1, BattleFrontier_Lounge3_EventScript_261EE5 + checkflag FLAG_SYS_PYRAMID_SILVER + call_if 1, BattleFrontier_Lounge3_EventScript_261EE5 + return + +BattleFrontier_Lounge3_EventScript_261EE5:: @ 8261EE5 + addvar VAR_0x8004, 1 + return + +BattleFrontier_Lounge3_EventScript_261EEB:: @ 8261EEB + msgbox BattleFrontier_Lounge3_Text_261FFE, 4 + goto BattleFrontier_Lounge3_EventScript_261FF1 + end + +BattleFrontier_Lounge3_EventScript_261EF9:: @ 8261EF9 + msgbox BattleFrontier_Lounge3_Text_26346B, 4 + compare VAR_FRONTIER_GAMBLER_PLACED_BET_F, 1 + goto_if 4, BattleFrontier_Lounge3_EventScript_261F12 + goto BattleFrontier_Lounge3_EventScript_261DAF + end + +BattleFrontier_Lounge3_EventScript_261F12:: @ 8261F12 + compare VAR_FRONTIER_GAMBLER_PLACED_BET_F, 1 + goto_eq BattleFrontier_Lounge3_EventScript_261F9E + compare VAR_FRONTIER_GAMBLER_PLACED_BET_F, 2 + goto_eq BattleFrontier_Lounge3_EventScript_261F2E + goto BattleFrontier_Lounge3_EventScript_261F71 + end + +BattleFrontier_Lounge3_EventScript_261F2E:: @ 8261F2E + msgbox BattleFrontier_Lounge3_Text_263334, 4 + compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, 0 + call_if 1, BattleFrontier_Lounge3_EventScript_261F80 + compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, 1 + call_if 1, BattleFrontier_Lounge3_EventScript_261F8A + compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, 2 + call_if 1, BattleFrontier_Lounge3_EventScript_261F94 + msgbox BattleFrontier_Lounge3_Text_2633D4, 9 + special sub_813A9D0 + msgbox BattleFrontier_Lounge3_Text_2633F2, 4 + setvar VAR_FRONTIER_GAMBLER_PLACED_BET_F, 0 + release + end + +BattleFrontier_Lounge3_EventScript_261F71:: @ 8261F71 + msgbox BattleFrontier_Lounge3_Text_263298, 4 + setvar VAR_FRONTIER_GAMBLER_PLACED_BET_F, 0 + release + end + +BattleFrontier_Lounge3_EventScript_261F80:: @ 8261F80 + buffernumberstring 0, 10 + setvar VAR_0x8004, 10 + return + +BattleFrontier_Lounge3_EventScript_261F8A:: @ 8261F8A + buffernumberstring 0, 20 + setvar VAR_0x8004, 20 + return + +BattleFrontier_Lounge3_EventScript_261F94:: @ 8261F94 + buffernumberstring 0, 30 + setvar VAR_0x8004, 30 + return + +BattleFrontier_Lounge3_EventScript_261F9E:: @ 8261F9E + special sub_813A854 + waitmessage + waitbuttonpress + release + end + +BattleFrontier_Lounge3_EventScript_261FA5:: @ 8261FA5 + msgbox BattleFrontier_Lounge3_Text_26342D, 4 + release + end + +BattleFrontier_Lounge3_EventScript_261FAF:: @ 8261FAF + special sub_813A988 + goto BattleFrontier_Lounge3_EventScript_261FA5 + end + +BattleFrontier_Lounge3_EventScript_261FB8:: @ 8261FB8 + msgbox BattleFrontier_Lounge3_Text_263545, 2 + end + +BattleFrontier_Lounge3_EventScript_261FC1:: @ 8261FC1 + lock + faceplayer + msgbox BattleFrontier_Lounge3_Text_26346F, 4 + goto BattleFrontier_Lounge3_EventScript_261FF1 + end + +BattleFrontier_Lounge3_EventScript_261FD1:: @ 8261FD1 + lock + faceplayer + msgbox BattleFrontier_Lounge3_Text_26351D, 4 + goto BattleFrontier_Lounge3_EventScript_261FF1 + end + +BattleFrontier_Lounge3_EventScript_261FE1:: @ 8261FE1 + lock + faceplayer + msgbox BattleFrontier_Lounge3_Text_2634C9, 4 + goto BattleFrontier_Lounge3_EventScript_261FF1 + end + +BattleFrontier_Lounge3_EventScript_261FF1:: @ 8261FF1 + closemessage + applymovement VAR_LAST_TALKED, BattleFrontier_Lounge3_Movement_2725A2 + waitmovement 0 + release + end + +BattleFrontier_Lounge3_Text_261FFE:: @ 8261FFE + .string "…What’s that you want?\p" + .string "Can’t you see we’re kind of busy here?\n" + .string "Can’t your business wait till later?$" + +BattleFrontier_Lounge3_Text_262061:: @ 8262061 + .string "…Huh?\n" + .string "You look to me like a tough TRAINER.\p" + .string "Heheh…\n" + .string "Listen, I have this proposition.\p" + .string "We have a little group going here,\n" + .string "and we play a little game with what\l" + .string "goes on in the BATTLE FRONTIER.\p" + .string "The rules are really simple.\p" + .string "First, we pick one of the facilities\n" + .string "in the BATTLE FRONTIER.\p" + .string "Then, we each pick a different TRAINER\n" + .string "who’s taking that facility’s challenge,\l" + .string "and bet with our Battle Points.\p" + .string "The guy who bet on the TRAINER with\n" + .string "the best record takes all the Battle\l" + .string "Points in the pool.\p" + .string "Sounds simple, huh?\n" + .string "So, anyway…$" + +BattleFrontier_Lounge3_Text_262261:: @ 8262261 + .string "What I’m looking for is a TRAINER who’s\n" + .string "going to be challenging the BATTLE\l" + .string "TOWER’s SINGLE BATTLE ROOMS.\p" + .string "But so far, I haven’t seen a TRAINER\n" + .string "that has that winning quality.$" + +BattleFrontier_Lounge3_Text_26230D:: @ 826230D + .string "What I’m looking for is a TRAINER who’s\n" + .string "going to be challenging the BATTLE\l" + .string "TOWER’s DOUBLE BATTLE ROOMS.\p" + .string "But so far, I haven’t seen a TRAINER\n" + .string "that has that winning quality.$" + +BattleFrontier_Lounge3_Text_2623B9:: @ 82623B9 + .string "What I’m looking for is a TRAINER who’s\n" + .string "going to be challenging the BATTLE\l" + .string "TOWER’s MULTI BATTLE ROOMS.\p" + .string "But so far, I haven’t seen a TRAINER\n" + .string "that has that winning quality.$" + +BattleFrontier_Lounge3_Text_262464:: @ 8262464 + .string "What I’m looking for is a TRAINER who’s\n" + .string "going to be entering the BATTLE\l" + .string "DOME’s SINGLE BATTLE Tourney.\p" + .string "But so far, I haven’t seen a TRAINER\n" + .string "that has that winning quality.$" + +BattleFrontier_Lounge3_Text_26250E:: @ 826250E + .string "What I’m looking for is a TRAINER who’s\n" + .string "going to be entering the BATTLE\l" + .string "DOME’s DOUBLE BATTLE Tourney.\p" + .string "But so far, I haven’t seen a TRAINER\n" + .string "that has that winning quality.$" + +BattleFrontier_Lounge3_Text_2625B8:: @ 82625B8 + .string "What I’m looking for is a TRAINER who’s\n" + .string "going to be entering the BATTLE\l" + .string "FACTORY’s Battle Swap Single Tourney.\p" + .string "But so far, I haven’t seen a TRAINER\n" + .string "that has that winning quality.$" + +BattleFrontier_Lounge3_Text_26266A:: @ 826266A + .string "What I’m looking for is a TRAINER who’s\n" + .string "going to be entering the BATTLE\l" + .string "FACTORY’s Battle Swap Double Tourney.\p" + .string "But so far, I haven’t seen a TRAINER\n" + .string "that has that winning quality.$" + +BattleFrontier_Lounge3_Text_26271C:: @ 826271C + .string "What I’m looking for is a TRAINER who’s\n" + .string "going to be challenging the BATTLE\l" + .string "PALACE’s SINGLE BATTLE HALLS.\p" + .string "But so far, I haven’t seen a TRAINER\n" + .string "that has that winning quality.$" + +BattleFrontier_Lounge3_Text_2627C9:: @ 82627C9 + .string "What I’m looking for is a TRAINER who’s\n" + .string "going to be challenging the BATTLE\l" + .string "PALACE’s DOUBLE BATTLE HALLS.\p" + .string "But so far, I haven’t seen a TRAINER\n" + .string "that has that winning quality.$" + +BattleFrontier_Lounge3_Text_262876:: @ 8262876 + .string "What I’m looking for is a TRAINER who’s\n" + .string "going to be entering the BATTLE\l" + .string "ARENA’s Set KO Tourney.\p" + .string "But so far, I haven’t seen a TRAINER\n" + .string "that has that winning quality.$" + +BattleFrontier_Lounge3_Text_26291A:: @ 826291A + .string "What I’m looking for is a TRAINER who’s\n" + .string "going to be entering the BATTLE PIKE’s\l" + .string "Battle Choice.\p" + .string "But so far, I haven’t seen a TRAINER\n" + .string "that has that winning quality.$" + +BattleFrontier_Lounge3_Text_2629BC:: @ 82629BC + .string "What I’m looking for is a TRAINER who’s\n" + .string "going to be entering the BATTLE\l" + .string "PYRAMID’s Battle Quest.\p" + .string "But so far, I haven’t seen a TRAINER\n" + .string "that has that winning quality.$" + +BattleFrontier_Lounge3_Text_262A60:: @ 8262A60 + .string "I’ll see to it that you benefit, too.\n" + .string "So how about it?\l" + .string "How about entering that event for me?$" + +BattleFrontier_Lounge3_Text_262ABD:: @ 8262ABD + .string "All right, that’s perfect.\n" + .string "So, uh… How about spotting me some\l" + .string "of your Battle Points?\p" + .string "Trust me, I’ll show you my gratitude\n" + .string "afterward.$" + +BattleFrontier_Lounge3_Text_262B42:: @ 8262B42 + .string "Great, great!\n" + .string "So, how much can you spot me?$" + +BattleFrontier_Lounge3_Text_262B6E:: @ 8262B6E + .string "Oh, no, no, no!\n" + .string "You don’t have enough Battle Points!\p" + .string "I wish you wouldn’t monkey around and\n" + .string "waste everyone’s time!$" + +BattleFrontier_Lounge3_Text_262BE0:: @ 8262BE0 + .string "Heheh! Thanks much!\n" + .string "So, off you go!$" + +BattleFrontier_Lounge3_Text_262C04:: @ 8262C04 + .string "Get to the BATTLE TOWER’s\n" + .string "SINGLE BATTLE ROOMS pronto!\p" + .string "It’s a must-win situation!\n" + .string "Don’t blow your chance!\l" + .string "Both of our futures depend on you!$" + +BattleFrontier_Lounge3_Text_262C90:: @ 8262C90 + .string "Get to the BATTLE TOWER’s\n" + .string "DOUBLE BATTLE ROOMS pronto!\p" + .string "It’s a must-win situation!\n" + .string "Don’t blow your chance!\l" + .string "Both of our futures depend on you!$" + +BattleFrontier_Lounge3_Text_262D1C:: @ 8262D1C + .string "Get to the BATTLE TOWER’s\n" + .string "MULTI BATTLE ROOMS pronto!\p" + .string "It’s a must-win situation!\n" + .string "Don’t blow your chance!\l" + .string "Both of our futures depend on you!$" + +BattleFrontier_Lounge3_Text_262DA7:: @ 8262DA7 + .string "Get to the BATTLE DOME’s\n" + .string "SINGLE BATTLE Tourney pronto!\p" + .string "It’s a must-win situation!\n" + .string "Don’t blow your chance!\l" + .string "Both of our futures depend on you!$" + +BattleFrontier_Lounge3_Text_262E34:: @ 8262E34 + .string "Get to the BATTLE DOME’s\n" + .string "DOUBLE BATTLE Tourney pronto!\p" + .string "It’s a must-win situation!\n" + .string "Don’t blow your chance!\l" + .string "Both of our futures depend on you!$" + +BattleFrontier_Lounge3_Text_262EC1:: @ 8262EC1 + .string "Get to the BATTLE FACTORY’s\n" + .string "Battle Swap Single Tourney pronto!\p" + .string "It’s a must-win situation!\n" + .string "Don’t blow your chance!\l" + .string "Both of our futures depend on you!$" + +BattleFrontier_Lounge3_Text_262F56:: @ 8262F56 + .string "Get to the BATTLE FACTORY’s\n" + .string "Battle Swap Double Tourney pronto!\p" + .string "It’s a must-win situation!\n" + .string "Don’t blow your chance!\l" + .string "Both of our futures depend on you!$" + +BattleFrontier_Lounge3_Text_262FEB:: @ 8262FEB + .string "Get to the BATTLE PALACE’s\n" + .string "SINGLE BATTLE HALLS pronto!\p" + .string "It’s a must-win situation!\n" + .string "Don’t blow your chance!\l" + .string "Both of our futures depend on you!$" + +BattleFrontier_Lounge3_Text_263078:: @ 8263078 + .string "Get to the BATTLE PALACE’s\n" + .string "DOUBLE BATTLE HALLS pronto!\p" + .string "It’s a must-win situation!\n" + .string "Don’t blow your chance!\l" + .string "Both of our futures depend on you!$" + +BattleFrontier_Lounge3_Text_263105:: @ 8263105 + .string "Get to the BATTLE ARENA’s\n" + .string "Set KO Tourney pronto!\p" + .string "It’s a must-win situation!\n" + .string "Don’t blow your chance!\l" + .string "Both of our futures depend on you!$" + +BattleFrontier_Lounge3_Text_26318C:: @ 826318C + .string "Get to the BATTLE PIKE’s\n" + .string "Battle Choice pronto!\p" + .string "It’s a must-win situation!\n" + .string "Don’t blow your chance!\l" + .string "Both of our futures depend on you!$" + +BattleFrontier_Lounge3_Text_263211:: @ 8263211 + .string "Get to the BATTLE PYRAMID’s\n" + .string "Battle Quest pronto!\p" + .string "It’s a must-win situation!\n" + .string "Don’t blow your chance!\l" + .string "Both of our futures depend on you!$" + +BattleFrontier_Lounge3_Text_263298:: @ 8263298 + .string "Oh, it’s you…\n" + .string "Nice try…\p" + .string "I hate to break it to you, but I can’t\n" + .string "return your Battle Points…\p" + .string "I guess we’ll have to let it motivate\n" + .string "us to try harder next time!$" + +BattleFrontier_Lounge3_Text_263334:: @ 8263334 + .string "Oh, yes!\n" + .string "Hello there, champ!\p" + .string "I knew you could!\n" + .string "I knew you would!\l" + .string "We’re both big winners!\p" + .string "I’ll return your Battle Points and,\n" + .string "of course, a little extra from me!$" + +BattleFrontier_Lounge3_Text_2633D4:: @ 82633D4 + .string "{PLAYER} obtained\n" + .string "{STR_VAR_1} Battle Points.$" + +BattleFrontier_Lounge3_Text_2633F2:: @ 82633F2 + .string "If you’re up for another challenge,\n" + .string "please do think of me!$" + +BattleFrontier_Lounge3_Text_26342D:: @ 826342D + .string "Not interested?! You shouldn’t be\n" + .string "so afraid to take a chance!$" + +BattleFrontier_Lounge3_Text_26346B:: @ 826346B + .string "Oh…$" + +BattleFrontier_Lounge3_Text_26346F:: @ 826346F + .string "I backed the wrong TRAINER again!\p" + .string "Maybe I should be battling normally\n" + .string "like everyone else…$" + +BattleFrontier_Lounge3_Text_2634C9:: @ 82634C9 + .string "That TRAINER…\p" + .string "He’s good, but he gets rattled too\n" + .string "easily to survive the BATTLE DOME…$" + +BattleFrontier_Lounge3_Text_26351D:: @ 826351D + .string "Giggle!\n" + .string "I know a winner when I see one!$" + +BattleFrontier_Lounge3_Text_263545:: @ 8263545 + .string "Those TRAINERS…\n" + .string "What are they doing?\l" + .string "They should be taking challenges.$" + diff --git a/data/scripts/maps/BattleFrontier_Lounge4.inc b/data/scripts/maps/BattleFrontier_Lounge4.inc new file mode 100644 index 0000000000..1108ceee7a --- /dev/null +++ b/data/scripts/maps/BattleFrontier_Lounge4.inc @@ -0,0 +1,30 @@ +BattleFrontier_Lounge4_MapScripts:: @ 826358C + .byte 0 + +BattleFrontier_Lounge4_EventScript_26358D:: @ 826358D + msgbox BattleFrontier_Lounge4_Text_2635A8, 2 + end + +BattleFrontier_Lounge4_EventScript_263596:: @ 8263596 + msgbox BattleFrontier_Lounge4_Text_2635EC, 2 + end + +BattleFrontier_Lounge4_EventScript_26359F:: @ 826359F + msgbox BattleFrontier_Lounge4_Text_263625, 2 + end + +BattleFrontier_Lounge4_Text_2635A8: @ 82635A8 + .string "I wonder if they’ll be airing interviews\n" + .string "with tough TRAINERS today?$" + +BattleFrontier_Lounge4_Text_2635EC: @ 82635EC + .string "If I opened a restaurant here,\n" + .string "it’d make money for sure.$" + +BattleFrontier_Lounge4_Text_263625: @ 8263625 + .string "Whew…\p" + .string "I need to take a breather after\n" + .string "some intense battles…\p" + .string "But even now, I never take a break\n" + .string "from plotting strategy and combos.$" + diff --git a/data/scripts/maps/BattleFrontier_Lounge5.inc b/data/scripts/maps/BattleFrontier_Lounge5.inc new file mode 100644 index 0000000000..bb1feceeca --- /dev/null +++ b/data/scripts/maps/BattleFrontier_Lounge5.inc @@ -0,0 +1,206 @@ +BattleFrontier_Lounge5_MapScripts:: @ 82645C5 + .byte 0 + +BattleFrontier_Lounge5_EventScript_2645C6:: @ 82645C6 + lock + faceplayer + msgbox BattleFrontier_Lounge5_Text_264632, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_Lounge5_EventScript_26460D + special sub_81B94B0 + waitstate + lock + faceplayer + compare VAR_0x8004, 255 + goto_eq BattleFrontier_Lounge5_EventScript_26460D + specialvar VAR_RESULT, ScriptGetPartyMonSpecies + compare VAR_RESULT, 412 + goto_eq BattleFrontier_Lounge5_EventScript_264603 + special sub_813A7B8 + waitmessage + waitbuttonpress + release + end + +BattleFrontier_Lounge5_EventScript_264603:: @ 8264603 + msgbox BattleFrontier_Lounge5_Text_264EEE, 4 + release + end + +BattleFrontier_Lounge5_EventScript_26460D:: @ 826460D + msgbox BattleFrontier_Lounge5_Text_26467F, 4 + release + end + +BattleFrontier_Lounge5_EventScript_264617:: @ 8264617 + msgbox BattleFrontier_Lounge5_Text_264F22, 2 + end + +BattleFrontier_Lounge5_EventScript_264620:: @ 8264620 + msgbox BattleFrontier_Lounge5_Text_264F64, 2 + end + +BattleFrontier_Lounge5_EventScript_264629:: @ 8264629 + msgbox BattleFrontier_Lounge5_Text_264FAB, 2 + end + +BattleFrontier_Lounge5_Text_264632:: @ 8264632 + .string "Ehehe!\n" + .string "I can tell what POKéMON are thinking!\p" + .string "Please!\n" + .string "Can I see your POKéMON?$" + +BattleFrontier_Lounge5_Text_26467F:: @ 826467F + .string "Boo!\n" + .string "Cheapie!$" + +BattleFrontier_Lounge5_Text_26468D:: @ 826468D + .string "Hmhm…\p" + .string "This one says it likes to battle!\n" + .string "It will battle even if it has a lot\l" + .string "of ouchies!$" + +BattleFrontier_Lounge5_Text_2646E5:: @ 82646E5 + .string "Hmhm…\p" + .string "This one says it likes to be sneaky!\n" + .string "But if it gets enough ouchies,\l" + .string "it will hit back!$" + +BattleFrontier_Lounge5_Text_264741:: @ 8264741 + .string "Hmhm…\p" + .string "This one says it likes to battle!\n" + .string "But if it gets enough ouchies,\l" + .string "it will worry about itself!$" + +BattleFrontier_Lounge5_Text_2647A4:: @ 82647A4 + .string "Hmhm…\p" + .string "This one says it likes to battle!\n" + .string "It will battle even if it has a lot\l" + .string "of ouchies!$" + +BattleFrontier_Lounge5_Text_2647FC:: @ 82647FC + .string "Hmhm…\p" + .string "This one says it looks after itself!\n" + .string "But if it gets enough ouchies,\l" + .string "it will hit back!$" + +BattleFrontier_Lounge5_Text_264858:: @ 8264858 + .string "Hmhm…\p" + .string "This one says it likes to be sneaky!\n" + .string "But if it gets enough ouchies,\l" + .string "it will worry about itself!$" + +BattleFrontier_Lounge5_Text_2648BE:: @ 82648BE + .string "Hmhm…\p" + .string "This one says it likes to battle!\n" + .string "It will battle even if it has a lot\l" + .string "of ouchies!$" + +BattleFrontier_Lounge5_Text_264916:: @ 8264916 + .string "Hmhm…\p" + .string "This one says it likes to be sneaky!\n" + .string "But if it gets enough ouchies,\l" + .string "it will hit back!$" + +BattleFrontier_Lounge5_Text_264972:: @ 8264972 + .string "Hmhm…\p" + .string "This one says it likes to battle!\n" + .string "But if it gets enough ouchies,\l" + .string "it will worry about itself!$" + +BattleFrontier_Lounge5_Text_2649D5:: @ 82649D5 + .string "Hmhm…\p" + .string "This one says it likes to be sneaky!\n" + .string "It says it likes to be sneaky even\l" + .string "if it has a lot of ouchies!$" + +BattleFrontier_Lounge5_Text_264A3F:: @ 8264A3F + .string "Hmhm…\p" + .string "This one says it likes to battle!\n" + .string "But if it gets enough ouchies,\l" + .string "it will turn sneaky!$" + +BattleFrontier_Lounge5_Text_264A9B:: @ 8264A9B + .string "Hmhm…\p" + .string "This one says it likes to battle!\n" + .string "It will battle even if it has a lot\l" + .string "of ouchies!$" + +BattleFrontier_Lounge5_Text_264AF3:: @ 8264AF3 + .string "Hmhm…\p" + .string "This one says it likes to be sneaky!\n" + .string "It says it likes to be sneaky even\l" + .string "if it has a lot of ouchies!$" + +BattleFrontier_Lounge5_Text_264B5D:: @ 8264B5D + .string "Hmhm…\p" + .string "This one says it likes to be sneaky!\n" + .string "But if it gets enough ouchies,\l" + .string "it will worry about itself!$" + +BattleFrontier_Lounge5_Text_264BC3:: @ 8264BC3 + .string "Hmhm…\p" + .string "This one says it looks after itself!\n" + .string "It says it worries about itself whether\l" + .string "or not it has a lot of ouchies!$" + +BattleFrontier_Lounge5_Text_264C36:: @ 8264C36 + .string "Hmhm…\p" + .string "This one says it looks after itself!\n" + .string "But if it gets enough ouchies,\l" + .string "it will turn sneaky!$" + +BattleFrontier_Lounge5_Text_264C95:: @ 8264C95 + .string "Hmhm…\p" + .string "This one says it looks after itself!\n" + .string "It says it worries about itself even\l" + .string "if it has a lot of ouchies!$" + +BattleFrontier_Lounge5_Text_264D01:: @ 8264D01 + .string "Hmhm…\p" + .string "This one says it likes to be sneaky!\n" + .string "It says it likes to be sneaky even\l" + .string "if it has a lot of ouchies!$" + +BattleFrontier_Lounge5_Text_264D6B:: @ 8264D6B + .string "Hmhm…\p" + .string "This one says it looks after itself!\n" + .string "It says it worries about itself even\l" + .string "if it has a lot of ouchies!$" + +BattleFrontier_Lounge5_Text_264DD7:: @ 8264DD7 + .string "Hmhm…\p" + .string "This one says it looks after itself!\n" + .string "But if it gets enough ouchies,\l" + .string "it will hit back!$" + +BattleFrontier_Lounge5_Text_264E33:: @ 8264E33 + .string "Hmhm…\p" + .string "This one says it likes to battle!\n" + .string "But if it gets enough ouchies,\l" + .string "it will turn sneaky!$" + +BattleFrontier_Lounge5_Text_264E8F:: @ 8264E8F + .string "Hmhm…\p" + .string "This one says it looks after itself!\n" + .string "But if it gets enough ouchies,\l" + .string "it will turn sneaky!$" + +BattleFrontier_Lounge5_Text_264EEE:: @ 8264EEE + .string "That’s silly! An EGG is asleep!\n" + .string "I can’t talk to it!$" + +BattleFrontier_Lounge5_Text_264F22:: @ 8264F22 + .string "How charming!\n" + .string "That little lady claims she can\l" + .string "understand POKéMON!$" + +BattleFrontier_Lounge5_Text_264F64:: @ 8264F64 + .string "I have this feeling that the little girl\n" + .string "is saying something profound.$" + +BattleFrontier_Lounge5_Text_264FAB:: @ 8264FAB + .string "I know something!\p" + .string "That little girl plays at the red house\n" + .string "a lot!$" + diff --git a/data/scripts/maps/BattleFrontier_Lounge6.inc b/data/scripts/maps/BattleFrontier_Lounge6.inc new file mode 100644 index 0000000000..c779e7c76d --- /dev/null +++ b/data/scripts/maps/BattleFrontier_Lounge6.inc @@ -0,0 +1,82 @@ +BattleFrontier_Lounge6_MapScripts:: @ 8264FEC + .byte 0 + +BattleFrontier_Lounge6_EventScript_264FED:: @ 8264FED + lock + faceplayer + checkflag FLAG_0x09C + goto_eq BattleFrontier_Lounge6_EventScript_265083 + setvar VAR_0x8008, 3 + copyvar VAR_0x8004, VAR_0x8008 + specialvar VAR_RESULT, sub_807E73C + copyvar VAR_0x8009, VAR_RESULT + msgbox BattleFrontier_Lounge6_Text_26508D, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_Lounge6_EventScript_26506B + special sub_81B94B0 + waitstate + copyvar VAR_0x800A, VAR_0x8004 + compare VAR_0x8004, 255 + goto_eq BattleFrontier_Lounge6_EventScript_26506B + copyvar VAR_0x8005, VAR_0x800A + specialvar VAR_RESULT, sub_807E9D4 + copyvar VAR_0x800B, VAR_RESULT + compare VAR_RESULT, VAR_0x8009 + goto_if 5, BattleFrontier_Lounge6_EventScript_265075 + copyvar VAR_0x8004, VAR_0x8008 + copyvar VAR_0x8005, VAR_0x800A + special sub_807EA10 + special sub_807F0E4 + waitstate + msgbox BattleFrontier_Lounge6_Text_265128, 4 + setflag FLAG_0x09C + release + end + +BattleFrontier_Lounge6_EventScript_26506B:: @ 826506B + msgbox BattleFrontier_Lounge6_Text_2651CB, 4 + release + end + +BattleFrontier_Lounge6_EventScript_265075:: @ 8265075 + bufferspeciesname 0, VAR_0x8009 + msgbox BattleFrontier_Lounge6_Text_26518D, 4 + release + end + +BattleFrontier_Lounge6_EventScript_265083:: @ 8265083 + msgbox BattleFrontier_Lounge6_Text_26520E, 4 + release + end + +BattleFrontier_Lounge6_Text_26508D: @ 826508D + .string "My POKéMON is a {STR_VAR_2}.\n" + .string "Do you know it?\l" + .string "It’s quite cute and rather nice.\p" + .string "This little one, I could trade with\n" + .string "pride!\p" + .string "Would you like to trade me a {STR_VAR_1}\n" + .string "for my {STR_VAR_2}?$" + +BattleFrontier_Lounge6_Text_265128: @ 8265128 + .string "Oh, it’s adorable!\n" + .string "Thank you!\l" + .string "I promise I’ll be good to it!\p" + .string "Oh! I hope you’ll be good to\n" + .string "my {STR_VAR_2}, too!$" + +BattleFrontier_Lounge6_Text_26518D: @ 826518D + .string "Oh, I’m sorry!\n" + .string "I don’t intend to trade for anything\l" + .string "but a {STR_VAR_1}.$" + +BattleFrontier_Lounge6_Text_2651CB: @ 82651CB + .string "Oh, you won’t?\n" + .string "Well, that’s fine, too.\l" + .string "Please come visit us again.$" + +BattleFrontier_Lounge6_Text_26520E: @ 826520E + .string "Giggle!\n" + .string "A SKITTY is so much cuter than I had\l" + .string "imagined. I’m delighted!$" + diff --git a/data/scripts/maps/BattleFrontier_Lounge7.inc b/data/scripts/maps/BattleFrontier_Lounge7.inc new file mode 100644 index 0000000000..f6f957cae4 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_Lounge7.inc @@ -0,0 +1,482 @@ +BattleFrontier_Lounge7_MapScripts:: @ 8265254 + .byte 0 + +BattleFrontier_Lounge7_EventScript_265255:: @ 8265255 + lock + faceplayer + setvar VAR_0x400C, 9 + checkflag FLAG_0x15A + goto_eq BattleFrontier_Lounge7_EventScript_265276 + msgbox BattleFrontier_Lounge7_Text_2656ED, 4 + setflag FLAG_0x15A + goto BattleFrontier_Lounge7_EventScript_265284 + end + +BattleFrontier_Lounge7_EventScript_265276:: @ 8265276 + msgbox BattleFrontier_Lounge7_Text_2658AB, 4 + goto BattleFrontier_Lounge7_EventScript_265284 + end + +BattleFrontier_Lounge7_EventScript_265284:: @ 8265284 + message BattleFrontier_Lounge7_Text_2658EF + waitmessage + special sub_813A958 + setvar VAR_0x400E, 0 + setvar VAR_0x8004, 9 + setvar VAR_0x8006, 0 + special sub_813A128 + waitstate + copyvar VAR_0x400D, VAR_RESULT + switch VAR_RESULT + case 0, BattleFrontier_Lounge7_EventScript_2653D7 + case 1, BattleFrontier_Lounge7_EventScript_2653E2 + case 2, BattleFrontier_Lounge7_EventScript_2653ED + case 3, BattleFrontier_Lounge7_EventScript_2653F8 + case 4, BattleFrontier_Lounge7_EventScript_265403 + case 5, BattleFrontier_Lounge7_EventScript_26540E + case 6, BattleFrontier_Lounge7_EventScript_265419 + case 7, BattleFrontier_Lounge7_EventScript_265424 + case 8, BattleFrontier_Lounge7_EventScript_26542F + case 9, BattleFrontier_Lounge7_EventScript_26543A + case 10, BattleFrontier_Lounge7_EventScript_265635 + case 127, BattleFrontier_Lounge7_EventScript_265635 + end + +BattleFrontier_Lounge7_EventScript_26532F:: @ 826532F + message BattleFrontier_Lounge7_Text_2658EF + waitmessage + setvar VAR_0x400E, 0 + setvar VAR_0x8004, 9 + setvar VAR_0x8006, 1 + special sub_813A128 + waitstate + copyvar VAR_0x400D, VAR_RESULT + switch VAR_RESULT + case 0, BattleFrontier_Lounge7_EventScript_2653D7 + case 1, BattleFrontier_Lounge7_EventScript_2653E2 + case 2, BattleFrontier_Lounge7_EventScript_2653ED + case 3, BattleFrontier_Lounge7_EventScript_2653F8 + case 4, BattleFrontier_Lounge7_EventScript_265403 + case 5, BattleFrontier_Lounge7_EventScript_26540E + case 6, BattleFrontier_Lounge7_EventScript_265419 + case 7, BattleFrontier_Lounge7_EventScript_265424 + case 8, BattleFrontier_Lounge7_EventScript_26542F + case 9, BattleFrontier_Lounge7_EventScript_26543A + case 10, BattleFrontier_Lounge7_EventScript_265635 + case 127, BattleFrontier_Lounge7_EventScript_265635 + end + +BattleFrontier_Lounge7_EventScript_2653D7:: @ 82653D7 + setvar VAR_0x8008, 16 + goto BattleFrontier_Lounge7_EventScript_26564F + end + +BattleFrontier_Lounge7_EventScript_2653E2:: @ 82653E2 + setvar VAR_0x8008, 24 + goto BattleFrontier_Lounge7_EventScript_26564F + end + +BattleFrontier_Lounge7_EventScript_2653ED:: @ 82653ED + setvar VAR_0x8008, 24 + goto BattleFrontier_Lounge7_EventScript_26564F + end + +BattleFrontier_Lounge7_EventScript_2653F8:: @ 82653F8 + setvar VAR_0x8008, 24 + goto BattleFrontier_Lounge7_EventScript_26564F + end + +BattleFrontier_Lounge7_EventScript_265403:: @ 8265403 + setvar VAR_0x8008, 48 + goto BattleFrontier_Lounge7_EventScript_26564F + end + +BattleFrontier_Lounge7_EventScript_26540E:: @ 826540E + setvar VAR_0x8008, 48 + goto BattleFrontier_Lounge7_EventScript_26564F + end + +BattleFrontier_Lounge7_EventScript_265419:: @ 8265419 + setvar VAR_0x8008, 48 + goto BattleFrontier_Lounge7_EventScript_26564F + end + +BattleFrontier_Lounge7_EventScript_265424:: @ 8265424 + setvar VAR_0x8008, 48 + goto BattleFrontier_Lounge7_EventScript_26564F + end + +BattleFrontier_Lounge7_EventScript_26542F:: @ 826542F + setvar VAR_0x8008, 48 + goto BattleFrontier_Lounge7_EventScript_26564F + end + +BattleFrontier_Lounge7_EventScript_26543A:: @ 826543A + setvar VAR_0x8008, 48 + goto BattleFrontier_Lounge7_EventScript_26564F + end + +BattleFrontier_Lounge7_EventScript_265445:: @ 8265445 + lock + faceplayer + setvar VAR_0x400C, 10 + checkflag FLAG_0x15B + goto_eq BattleFrontier_Lounge7_EventScript_265466 + msgbox BattleFrontier_Lounge7_Text_265A6C, 4 + setflag FLAG_0x15B + goto BattleFrontier_Lounge7_EventScript_265474 + end + +BattleFrontier_Lounge7_EventScript_265466:: @ 8265466 + msgbox BattleFrontier_Lounge7_Text_265C2C, 4 + goto BattleFrontier_Lounge7_EventScript_265474 + end + +BattleFrontier_Lounge7_EventScript_265474:: @ 8265474 + message BattleFrontier_Lounge7_Text_2658EF + waitmessage + special sub_813A958 + setvar VAR_0x400E, 1 + setvar VAR_0x8004, 10 + setvar VAR_0x8006, 0 + special sub_813A128 + waitstate + copyvar VAR_0x400D, VAR_RESULT + switch VAR_RESULT + case 0, BattleFrontier_Lounge7_EventScript_2655C7 + case 1, BattleFrontier_Lounge7_EventScript_2655D2 + case 2, BattleFrontier_Lounge7_EventScript_2655DD + case 3, BattleFrontier_Lounge7_EventScript_2655E8 + case 4, BattleFrontier_Lounge7_EventScript_2655F3 + case 5, BattleFrontier_Lounge7_EventScript_2655FE + case 6, BattleFrontier_Lounge7_EventScript_265609 + case 7, BattleFrontier_Lounge7_EventScript_265614 + case 8, BattleFrontier_Lounge7_EventScript_26561F + case 9, BattleFrontier_Lounge7_EventScript_26562A + case 10, BattleFrontier_Lounge7_EventScript_265635 + case 127, BattleFrontier_Lounge7_EventScript_265635 + end + +BattleFrontier_Lounge7_EventScript_26551F:: @ 826551F + message BattleFrontier_Lounge7_Text_2658EF + waitmessage + setvar VAR_0x400E, 1 + setvar VAR_0x8004, 10 + setvar VAR_0x8006, 1 + special sub_813A128 + waitstate + copyvar VAR_0x400D, VAR_RESULT + switch VAR_RESULT + case 0, BattleFrontier_Lounge7_EventScript_2655C7 + case 1, BattleFrontier_Lounge7_EventScript_2655D2 + case 2, BattleFrontier_Lounge7_EventScript_2655DD + case 3, BattleFrontier_Lounge7_EventScript_2655E8 + case 4, BattleFrontier_Lounge7_EventScript_2655F3 + case 5, BattleFrontier_Lounge7_EventScript_2655FE + case 6, BattleFrontier_Lounge7_EventScript_265609 + case 7, BattleFrontier_Lounge7_EventScript_265614 + case 8, BattleFrontier_Lounge7_EventScript_26561F + case 9, BattleFrontier_Lounge7_EventScript_26562A + case 10, BattleFrontier_Lounge7_EventScript_265635 + case 127, BattleFrontier_Lounge7_EventScript_265635 + end + +BattleFrontier_Lounge7_EventScript_2655C7:: @ 82655C7 + setvar VAR_0x8008, 16 + goto BattleFrontier_Lounge7_EventScript_26564F + end + +BattleFrontier_Lounge7_EventScript_2655D2:: @ 82655D2 + setvar VAR_0x8008, 24 + goto BattleFrontier_Lounge7_EventScript_26564F + end + +BattleFrontier_Lounge7_EventScript_2655DD:: @ 82655DD + setvar VAR_0x8008, 24 + goto BattleFrontier_Lounge7_EventScript_26564F + end + +BattleFrontier_Lounge7_EventScript_2655E8:: @ 82655E8 + setvar VAR_0x8008, 24 + goto BattleFrontier_Lounge7_EventScript_26564F + end + +BattleFrontier_Lounge7_EventScript_2655F3:: @ 82655F3 + setvar VAR_0x8008, 24 + goto BattleFrontier_Lounge7_EventScript_26564F + end + +BattleFrontier_Lounge7_EventScript_2655FE:: @ 82655FE + setvar VAR_0x8008, 48 + goto BattleFrontier_Lounge7_EventScript_26564F + end + +BattleFrontier_Lounge7_EventScript_265609:: @ 8265609 + setvar VAR_0x8008, 48 + goto BattleFrontier_Lounge7_EventScript_26564F + end + +BattleFrontier_Lounge7_EventScript_265614:: @ 8265614 + setvar VAR_0x8008, 48 + goto BattleFrontier_Lounge7_EventScript_26564F + end + +BattleFrontier_Lounge7_EventScript_26561F:: @ 826561F + setvar VAR_0x8008, 48 + goto BattleFrontier_Lounge7_EventScript_26564F + end + +BattleFrontier_Lounge7_EventScript_26562A:: @ 826562A + setvar VAR_0x8008, 48 + goto BattleFrontier_Lounge7_EventScript_26564F + end + +BattleFrontier_Lounge7_EventScript_265635:: @ 8265635 + special sub_813ADB8 + special sub_813A988 + msgbox BattleFrontier_Lounge7_Text_265A0E, 4 + release + end + +BattleFrontier_Lounge7_EventScript_265645:: @ 8265645 + msgbox BattleFrontier_Lounge7_Text_265A0E, 4 + release + end + +BattleFrontier_Lounge7_EventScript_26564F:: @ 826564F + copyvar VAR_0x8004, VAR_0x400D + copyvar VAR_0x8005, VAR_0x400E + special sub_813AC7C + buffernumberstring 1, VAR_0x8008 + copyvar VAR_0x8004, VAR_0x400C + msgbox BattleFrontier_Lounge7_Text_265921, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_Lounge7_EventScript_2656CA + specialvar VAR_0x4001, sub_813AA04 + compare VAR_0x4001, VAR_0x8008 + goto_if 4, BattleFrontier_Lounge7_EventScript_265696 + msgbox BattleFrontier_Lounge7_Text_265997, 4 + goto BattleFrontier_Lounge7_EventScript_2656CA + end + +BattleFrontier_Lounge7_EventScript_265696:: @ 8265696 + msgbox BattleFrontier_Lounge7_Text_26595A, 4 + special sub_813AEB4 + fadescreen 1 + special sub_813A988 + special sub_813ADB8 + special sub_81B892C + waitstate + compare VAR_RESULT, 0 + goto_eq BattleFrontier_Lounge7_EventScript_265645 + msgbox BattleFrontier_Lounge7_Text_2659C7, 4 + copyvar VAR_0x8004, VAR_0x8008 + special sub_813A9A4 + release + end + +BattleFrontier_Lounge7_EventScript_2656CA:: @ 82656CA + compare VAR_0x400E, 0 + goto_eq BattleFrontier_Lounge7_EventScript_26532F + goto BattleFrontier_Lounge7_EventScript_26551F + end + +BattleFrontier_Lounge7_EventScript_2656DB:: @ 82656DB + msgbox BattleFrontier_Lounge7_Text_265C6F, 2 + end + +BattleFrontier_Lounge7_EventScript_2656E4:: @ 82656E4 + msgbox BattleFrontier_Lounge7_Text_265D17, 2 + end + +BattleFrontier_Lounge7_Text_2656ED: @ 82656ED + .string "Buhahaha!\p" + .string "You couldn’t tell it from looking now,\n" + .string "but I used to be one tough TRAINER.\p" + .string "I had a reputation as the toughest\n" + .string "BEAUTY around, I tell you!\p" + .string "… … … … … …\p" + .string "What is it now?\n" + .string "You don’t believe me.\p" + .string "I’m not like that blowhard woman over\n" + .string "there. I’m actually talented!\p" + .string "Let me prove it to you.\n" + .string "I can teach your POKéMON special and\l" + .string "yet cute moves.\p" + .string "But my lessons don’t come free.\n" + .string "How about paying for the moves I teach\l" + .string "with a wee bit of Battle Points?$" + +BattleFrontier_Lounge7_Text_2658AB: @ 82658AB + .string "Buhahaha!\p" + .string "Are you back to learn special and\n" + .string "yet cute POKéMON moves?$" + +BattleFrontier_Lounge7_Text_2658EF: @ 82658EF + .string "Fine, fine, look here!\n" + .string "Which move should I teach?$" + +BattleFrontier_Lounge7_Text_265921: @ 8265921 + .string "The move {STR_VAR_1}, is it?\n" + .string "That will be {STR_VAR_2} Battle Points, okay?$" + +BattleFrontier_Lounge7_Text_26595A: @ 826595A + .string "Fine, fine, now pick the POKéMON\n" + .string "I should teach the move to.$" + +BattleFrontier_Lounge7_Text_265997: @ 8265997 + .string "What the…\n" + .string "You haven’t got enough Battle Points!$" + +BattleFrontier_Lounge7_Text_2659C7: @ 82659C7 + .string "Do you see how skilled I am now?\n" + .string "I’ll take your Battle Points, thanks!$" + +BattleFrontier_Lounge7_Text_265A0E: @ 8265A0E + .string "What’s that?\n" + .string "You don’t want to…\p" + .string "If you want to see how skilled I am,\n" + .string "you come see me anytime!$" + +BattleFrontier_Lounge7_Text_265A6C: @ 8265A6C + .string "Ihihihi!\p" + .string "I know it’s hard to see now, but I used\n" + .string "to be one fantastic TRAINER.\p" + .string "I had a reputation as the most\n" + .string "invincible SWIMMER around, I tell you!\p" + .string "… … … … … …\p" + .string "What’s wrong?\n" + .string "You don’t believe me.\p" + .string "I’m not like that buffoonish woman over\n" + .string "there. I’m actually experienced!\p" + .string "I can prove it to you.\n" + .string "I can teach your POKéMON hard and\l" + .string "yet pretty moves.\p" + .string "But my lessons don’t come free.\n" + .string "How about paying for the moves I teach\l" + .string "with a wee bit of Battle Points?$" + +BattleFrontier_Lounge7_Text_265C2C: @ 8265C2C + .string "Ihihihi!\p" + .string "Have you come to learn hard and\n" + .string "yet pretty POKéMON moves?$" + +BattleFrontier_Lounge7_Text_265C6F: @ 8265C6F + .string "Those ladies, the way they bad-mouth\n" + .string "each other, you probably think that\l" + .string "they don’t get along.\p" + .string "But if that were true, they wouldn’t\n" + .string "stay out here together, would they?$" + +BattleFrontier_Lounge7_Text_265D17: @ 8265D17 + .string "When I was just a wee YOUNGSTER,\n" + .string "those ladies were strong and beautiful.\p" + .string "They were idols among us TRAINERS.\p" + .string "Even now, age hasn’t dulled their\n" + .string "abilities.\p" + .string "In fact, their POKéMON moves have\n" + .string "grown even more polished.\p" + .string "But… For some reason, I can’t help\n" + .string "but feel this…\p" + .string "Time is so cruel…$" + +BattleFrontier_Lounge7_Text_265E30:: @ 8265E30 + .string "Recovers up to\n" + .string "half the user’s\n" + .string "maximum HP.$" + +BattleFrontier_Lounge7_Text_265E5B:: @ 8265E5B + .string "Inflicts damage\n" + .string "identical to the\n" + .string "user’s level.$" + +BattleFrontier_Lounge7_Text_265E8A:: @ 8265E8A + .string "Recovers half the\n" + .string "damage inflicted\n" + .string "on a sleeping foe.$" + +BattleFrontier_Lounge7_Text_265EC0:: @ 8265EC0 + .string "A strong punch\n" + .string "thrown with\n" + .string "incredible power.$" + +BattleFrontier_Lounge7_Text_265EED:: @ 8265EED + .string "An extremely\n" + .string "powerful kick with\n" + .string "intense force.$" + +BattleFrontier_Lounge7_Text_265F1C:: @ 8265F1C + .string "A full-body slam\n" + .string "that may cause\n" + .string "paralysis.$" + +BattleFrontier_Lounge7_Text_265F47:: @ 8265F47 + .string "Large boulders\n" + .string "are hurled. May\n" + .string "cause flinching.$" + +BattleFrontier_Lounge7_Text_265F77:: @ 8265F77 + .string "Retaliates any\n" + .string "physical hit with\n" + .string "double the power.$" + +BattleFrontier_Lounge7_Text_265FAA:: @ 8265FAA + .string "A weak jolt of\n" + .string "electricity that\n" + .string "paralyzes the foe.$" + +BattleFrontier_Lounge7_Text_265FDD:: @ 8265FDD + .string "A fighting dance\n" + .string "that sharply\n" + .string "raises ATTACK.$" + +BattleFrontier_Lounge7_Text_26600A:: @ 826600A + .string "Curls up to con-\n" + .string "ceal weak spots\n" + .string "and raise DEFENSE.$" + +BattleFrontier_Lounge7_Text_26603E:: @ 826603E + .string "A loud attack\n" + .string "that can be used\n" + .string "only while asleep.$" + +BattleFrontier_Lounge7_Text_266070:: @ 8266070 + .string "Hurls mud in the\n" + .string "foe’s face to re-\n" + .string "duce its accuracy.$" + +BattleFrontier_Lounge7_Text_2660A6:: @ 82660A6 + .string "Sprays star-\n" + .string "shaped rays\n" + .string "that never miss.$" + +BattleFrontier_Lounge7_Text_2660D0:: @ 82660D0 + .string "A chilling attack\n" + .string "that lowers the\n" + .string "foe’s SPEED.$" + +BattleFrontier_Lounge7_Text_2660FF:: @ 82660FF + .string "Endures any at-\n" + .string "tack for 1 turn,\n" + .string "leaving 1HP.$" + +BattleFrontier_Lounge7_Text_26612D:: @ 826612D + .string "Copies the foe’s\n" + .string "effect(s) and\n" + .string "gives to the user.$" + +BattleFrontier_Lounge7_Text_26615F:: @ 826615F + .string "An icy punch\n" + .string "that may\n" + .string "freeze the foe.$" + +BattleFrontier_Lounge7_Text_266185:: @ 8266185 + .string "An electrified\n" + .string "punch that may\n" + .string "paralyze the foe.$" + +BattleFrontier_Lounge7_Text_2661B5:: @ 82661B5 + .string "A fiery punch\n" + .string "that may burn\n" + .string "the foe.$" + diff --git a/data/scripts/maps/BattleFrontier_Lounge8.inc b/data/scripts/maps/BattleFrontier_Lounge8.inc new file mode 100644 index 0000000000..35f83baff2 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_Lounge8.inc @@ -0,0 +1,45 @@ +BattleFrontier_Lounge8_MapScripts:: @ 82676C9 + .byte 0 + +BattleFrontier_Lounge8_EventScript_2676CA:: @ 82676CA + msgbox BattleFrontier_Lounge8_Text_2676E5, 2 + end + +BattleFrontier_Lounge8_EventScript_2676D3:: @ 82676D3 + msgbox BattleFrontier_Lounge8_Text_26779C, 2 + end + +BattleFrontier_Lounge8_EventScript_2676DC:: @ 82676DC + msgbox BattleFrontier_Lounge8_Text_26782C, 2 + end + +BattleFrontier_Lounge8_Text_2676E5: @ 82676E5 + .string "What a TRAINER needs…\p" + .string "Knowledge…\n" + .string "Strategy…\l" + .string "Luck…\l" + .string "Guts…\l" + .string "Spirit…\l" + .string "Bravery…\l" + .string "And ability…\p" + .string "Well, I’m all set in every way!\n" + .string "I’ll be unstoppable at every building!\p" + .string "Huh? POKéMON?\n" + .string "What’s that?$" + +BattleFrontier_Lounge8_Text_26779C: @ 826779C + .string "Do you know about the FRONTIER\n" + .string "BRAINS?\p" + .string "That’s what SCOTT calls the seven\n" + .string "special TRAINERS that run the seven\l" + .string "facilities in the BATTLE FRONTIER.$" + +BattleFrontier_Lounge8_Text_26782C: @ 826782C + .string "At the BATTLE TOWER, an older girl\n" + .string "told me that I have a lot of talent\l" + .string "for battling!\p" + .string "I like POKéMON CONTESTS more!\p" + .string "But I’m no good at CONTESTS!\p" + .string "I guess having talent and liking\n" + .string "something aren’t the same.$" + diff --git a/data/scripts/maps/BattleFrontier_Lounge9.inc b/data/scripts/maps/BattleFrontier_Lounge9.inc new file mode 100644 index 0000000000..cba75ee777 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_Lounge9.inc @@ -0,0 +1,3 @@ +BattleFrontier_Lounge9_MapScripts:: @ 82678F8 + .byte 0 + diff --git a/data/scripts/maps/BattleFrontier_Mart.inc b/data/scripts/maps/BattleFrontier_Mart.inc new file mode 100644 index 0000000000..0b7f5b7679 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_Mart.inc @@ -0,0 +1,67 @@ +BattleFrontier_Mart_MapScripts:: @ 8267ACB + .byte 0 + +BattleFrontier_Mart_EventScript_267ACC:: @ 8267ACC + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemart BattleFrontier_Mart_Pokemart_267AE4 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +BattleFrontier_Mart_Pokemart_267AE4: @ 8267AE4 + .2byte ITEM_ULTRA_BALL + .2byte ITEM_HYPER_POTION + .2byte ITEM_MAX_POTION + .2byte ITEM_FULL_RESTORE + .2byte ITEM_FULL_HEAL + .2byte ITEM_REVIVE + .2byte ITEM_MAX_REPEL + .2byte ITEM_PROTEIN + .2byte ITEM_CALCIUM + .2byte ITEM_IRON + .2byte ITEM_ZINC + .2byte ITEM_CARBOS + .2byte ITEM_HP_UP + .2byte ITEM_NONE + release + end + +BattleFrontier_Mart_EventScript_267B02:: @ 8267B02 + msgbox BattleFrontier_Mart_Text_267B29, 2 + end + +BattleFrontier_Mart_EventScript_267B0B:: @ 8267B0B + lock + applymovement 2, BattleFrontier_Mart_Movement_2725B0 + waitmovement 0 + msgbox BattleFrontier_Mart_Text_267B8F, 4 + release + end + +BattleFrontier_Mart_EventScript_267B20:: @ 8267B20 + msgbox BattleFrontier_Mart_Text_267C01, 2 + end + +BattleFrontier_Mart_Text_267B29: @ 8267B29 + .string "We came here to chaperon our\n" + .string "grandson.\p" + .string "But since we’re here, we thought\n" + .string "we should get some souvenirs.$" + +BattleFrontier_Mart_Text_267B8F: @ 8267B8F + .string "Dear, what do you think of this?\n" + .string "Wouldn’t this make a nice gift?\p" + .string "It’s…PRO…TE…IN?\n" + .string "It sounds delicious, doesn’t it?$" + +BattleFrontier_Mart_Text_267C01: @ 8267C01 + .string "A lot of the BATTLE FRONTIER’s\n" + .string "facilities don’t allow the use of items\l" + .string "during battles.\p" + .string "That rule makes things tougher than\n" + .string "they already are!$" + diff --git a/data/scripts/maps/BattleFrontier_OutsideEast.inc b/data/scripts/maps/BattleFrontier_OutsideEast.inc new file mode 100644 index 0000000000..bf0d3ff166 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_OutsideEast.inc @@ -0,0 +1,444 @@ +BattleFrontier_OutsideEast_MapScripts:: @ 8242C04 + map_script 5, BattleFrontier_OutsideEast_MapScript1_242C0F + map_script 3, BattleFrontier_OutsideEast_MapScript1_242C2D + .byte 0 + +BattleFrontier_OutsideEast_MapScript1_242C0F: @ 8242C0F + checkflag FLAG_SYS_CTRL_OBJ_DELETE + call_if 1, BattleFrontier_OutsideEast_EventScript_242C19 + end + +BattleFrontier_OutsideEast_EventScript_242C19:: @ 8242C19 + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 7 + goto_if 5, BattleFrontier_OutsideEast_EventScript_27374E + removeobject VAR_LAST_TALKED + return + +BattleFrontier_OutsideEast_MapScript1_242C2D: @ 8242C2D + setvar VAR_0x40BC, 0 + setflag FLAG_0x396 + checkflag FLAG_0x1C6 + call_if 0, BattleFrontier_OutsideEast_EventScript_242C3F + end + +BattleFrontier_OutsideEast_EventScript_242C3F:: @ 8242C3F + clearflag FLAG_0x34A + return + +BattleFrontier_OutsideEast_EventScript_242C43:: @ 8242C43 + msgbox BattleFrontier_OutsideEast_Text_242E11, 3 + end + +BattleFrontier_OutsideEast_EventScript_242C4C:: @ 8242C4C + msgbox BattleFrontier_OutsideEast_Text_242E58, 3 + end + +BattleFrontier_OutsideEast_EventScript_242C55:: @ 8242C55 + msgbox BattleFrontier_OutsideEast_Text_242E96, 3 + end + +BattleFrontier_OutsideEast_EventScript_242C5E:: @ 8242C5E + msgbox BattleFrontier_OutsideEast_Text_242ECF, 3 + end + +BattleFrontier_OutsideEast_EventScript_242C67:: @ 8242C67 + msgbox BattleFrontier_OutsideEast_Text_242F8C, 2 + end + +BattleFrontier_OutsideEast_EventScript_242C70:: @ 8242C70 + msgbox BattleFrontier_OutsideEast_Text_242FDC, 2 + end + +BattleFrontier_OutsideEast_EventScript_242C79:: @ 8242C79 + msgbox BattleFrontier_OutsideEast_Text_24308C, 2 + end + +BattleFrontier_OutsideEast_EventScript_242C82:: @ 8242C82 + msgbox BattleFrontier_OutsideEast_Text_243106, 2 + end + +BattleFrontier_OutsideEast_EventScript_242C8B:: @ 8242C8B + msgbox BattleFrontier_OutsideEast_Text_2431A5, 2 + end + +BattleFrontier_OutsideEast_EventScript_242C94:: @ 8242C94 + lock + msgbox BattleFrontier_OutsideEast_Text_2432DD, 4 + release + end + +BattleFrontier_OutsideEast_EventScript_242C9F:: @ 8242C9F + lock + faceplayer + waitse + playmoncry SPECIES_ZIGZAGOON, 0 + msgbox BattleFrontier_OutsideEast_Text_24334B, 4 + waitmoncry + release + end + +BattleFrontier_OutsideEast_EventScript_242CB2:: @ 8242CB2 + msgbox BattleFrontier_OutsideEast_Text_243363, 2 + end + +BattleFrontier_OutsideEast_EventScript_242CBB:: @ 8242CBB + msgbox BattleFrontier_OutsideEast_Text_243425, 2 + end + +BattleFrontier_OutsideEast_EventScript_242CC4:: @ 8242CC4 + msgbox BattleFrontier_OutsideEast_Text_2434A0, 2 + end + +BattleFrontier_OutsideEast_EventScript_242CCD:: @ 8242CCD + msgbox BattleFrontier_OutsideEast_Text_243504, 2 + end + +BattleFrontier_OutsideEast_EventScript_242CD6:: @ 8242CD6 + lock + msgbox BattleFrontier_OutsideEast_Text_243529, 4 + release + end + +BattleFrontier_OutsideEast_EventScript_242CE1:: @ 8242CE1 + msgbox BattleFrontier_OutsideEast_Text_243230, 2 + end + +BattleFrontier_OutsideEast_EventScript_242CEA:: @ 8242CEA + lock + faceplayer + waitse + playse 269 + applymovement 14, BattleFrontier_OutsideEast_Movement_242D69 + waitmovement 0 + release + end + +BattleFrontier_OutsideEast_EventScript_242CFC:: @ 8242CFC + lock + faceplayer + special sub_80FAFF8 + waitstate + waitse + playse 269 + applymovement 14, BattleFrontier_OutsideEast_Movement_242D69 + waitmovement 0 + msgbox gUnknown_082731BD, 4 + closemessage + waitse + playmoncry SPECIES_SUDOWOODO, 2 + delay 40 + waitmoncry + setvar VAR_LAST_TALKED, 14 + setwildbattle SPECIES_SUDOWOODO, 40, ITEM_NONE + setflag FLAG_SYS_CTRL_OBJ_DELETE + dowildbattle + clearflag FLAG_SYS_CTRL_OBJ_DELETE + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_OutsideEast_EventScript_242D60 + compare VAR_RESULT, 4 + goto_eq BattleFrontier_OutsideEast_EventScript_242D60 + compare VAR_RESULT, 5 + goto_eq BattleFrontier_OutsideEast_EventScript_242D60 + setflag FLAG_0x1C6 + release + end + +BattleFrontier_OutsideEast_EventScript_242D60:: @ 8242D60 + setflag FLAG_0x1C6 + goto IslandCave_EventScript_27376D + end + +BattleFrontier_OutsideEast_Movement_242D69: @ 8242D69 + step_03 + step_13 + step_00 + step_13 + step_02 + step_13 + step_00 + step_13 + step_03 + step_13 + step_00 + step_13 + step_02 + step_13 + step_00 + step_end + +BattleFrontier_OutsideEast_EventScript_242D79:: @ 8242D79 + msgbox BattleFrontier_OutsideEast_Text_243598, 2 + end + +BattleFrontier_OutsideEast_EventScript_242D82:: @ 8242D82 + msgbox BattleFrontier_OutsideEast_Text_243668, 2 + end + +BattleFrontier_OutsideEast_EventScript_242D8B:: @ 8242D8B + msgbox BattleFrontier_OutsideEast_Text_2436F2, 2 + end + +BattleFrontier_OutsideEast_EventScript_242D94:: @ 8242D94 + msgbox BattleFrontier_OutsideEast_Text_243809, 2 + end + +BattleFrontier_OutsideEast_EventScript_242D9D:: @ 8242D9D + msgbox BattleFrontier_OutsideEast_Text_243895, 2 + end + +BattleFrontier_OutsideEast_EventScript_242DA6:: @ 8242DA6 + msgbox BattleFrontier_OutsideEast_Text_243943, 2 + end + +BattleFrontier_OutsideEast_EventScript_242DAF:: @ 8242DAF + msgbox BattleFrontier_OutsideEast_Text_2439A0, 2 + end + +BattleFrontier_OutsideEast_EventScript_242DB8:: @ 8242DB8 + lock + msgbox BattleFrontier_OutsideEast_Text_243A2B, 4 + release + end + +BattleFrontier_OutsideEast_EventScript_242DC3:: @ 8242DC3 + lock + msgbox BattleFrontier_OutsideEast_Text_243A53, 4 + release + end + +BattleFrontier_OutsideEast_EventScript_242DCE:: @ 8242DCE + msgbox BattleFrontier_OutsideEast_Text_242F0D, 3 + end + +BattleFrontier_OutsideEast_EventScript_242DD7:: @ 8242DD7 + msgbox BattleFrontier_OutsideEast_Text_242F4A, 3 + end + +BattleFrontier_OutsideEast_EventScript_242DE0:: @ 8242DE0 + msgbox BattleFrontier_OutsideEast_Text_243B68, 2 + end + +BattleFrontier_OutsideEast_EventScript_242DE9:: @ 8242DE9 + lock + faceplayer + checkflag FLAG_0x1C6 + goto_eq BattleFrontier_OutsideEast_EventScript_242DFE + msgbox BattleFrontier_OutsideEast_Text_243C2C, 4 + release + end + +BattleFrontier_OutsideEast_EventScript_242DFE:: @ 8242DFE + msgbox BattleFrontier_OutsideEast_Text_243CA3, 4 + release + end + +BattleFrontier_OutsideEast_EventScript_242E08:: @ 8242E08 + msgbox BattleFrontier_OutsideEast_Text_243D0B, 2 + end + +BattleFrontier_OutsideEast_Text_242E11: @ 8242E11 + .string "This is the BATTLE TOWER!\n" + .string "Keep the win streak as the toughest\l" + .string "TRAINER!$" + +BattleFrontier_OutsideEast_Text_242E58: @ 8242E58 + .string "This is the BATTLE PALACE!\n" + .string "Keep your eyes on POKéMON battles!$" + +BattleFrontier_OutsideEast_Text_242E96: @ 8242E96 + .string "This is the BATTLE ARENA!\n" + .string "Let the toughest teams gather!$" + +BattleFrontier_OutsideEast_Text_242ECF: @ 8242ECF + .string "This is the BATTLE PYRAMID!\n" + .string "Advance through the Battle Quest!$" + +BattleFrontier_OutsideEast_Text_242F0D: @ 8242F0D + .string "BATTLE FRONTIER RANKING HALL\n" + .string "Set your sights on new records!$" + +BattleFrontier_OutsideEast_Text_242F4A: @ 8242F4A + .string "BATTLE POINT EXCHANGE SERVICE CORNER\n" + .string "Exchange your Battle Points!$" + +BattleFrontier_OutsideEast_Text_242F8C: @ 8242F8C + .string "Wow!\n" + .string "It’s huge!\p" + .string "The BATTLE TOWER feels special.\n" + .string "It’s different from the others.$" + +BattleFrontier_OutsideEast_Text_242FDC: @ 8242FDC + .string "My grand ambition is to conquer both\n" + .string "the BATTLE FRONTIER and the POKéMON\l" + .string "LEAGUE.\p" + .string "And if my dream comes true…\p" + .string "I… I’m going to ask MIMI next door\n" + .string "if she will be friends with me!$" + +BattleFrontier_OutsideEast_Text_24308C: @ 824308C + .string "The BATTLE PYRAMID’s too harsh!\n" + .string "I just can’t make it to the top!\p" + .string "Since I’m out of options, maybe I can\n" + .string "climb the outside…$" + +BattleFrontier_OutsideEast_Text_243106: @ 8243106 + .string "I thrive in darkness…\n" + .string "Yes… What is worthy of me?\l" + .string "None other than the BATTLE PYRAMID…\p" + .string "What say you to wandering in darkness\n" + .string "and in utter and total desperation?$" + +BattleFrontier_OutsideEast_Text_2431A5: @ 82431A5 + .string "I didn’t sleep for a week, but then\n" + .string "I put together the ultimate team!\p" + .string "I can’t see myself losing, no joke.\n" + .string "We’re storming the BATTLE ARENA!$" + +BattleFrontier_OutsideEast_Text_243230: @ 8243230 + .string "Did SCOTT bring you here, too?\n" + .string "What is it with that guy?\p" + .string "It sounds like he really does know\n" + .string "how to spot talented TRAINERS, but…\p" + .string "I’ve never seen him battling in person\n" + .string "ever.$" + +BattleFrontier_OutsideEast_Text_2432DD: @ 82432DD + .string "ZIGG!\n" + .string "I believe in you, little buddy!\p" + .string "I’ll make my little ZIGG any favorite\n" + .string "tasty treats you like if you win!$" + +BattleFrontier_OutsideEast_Text_24334B: @ 824334B + .string "ZIGZAGOON looks vacant…$" + +BattleFrontier_OutsideEast_Text_243363: @ 8243363 + .string "People call me a busybody,\n" + .string "but I can’t help it.\p" + .string "Your hat’s on crooked!\n" + .string "Oh, no, trash on the ground!\l" + .string "Oops, it’s almost dinnertime!\p" + .string "I don’t know if I can stand to just\n" + .string "watch at the BATTLE PALACE…$" + +BattleFrontier_OutsideEast_Text_243425: @ 8243425 + .string "I may not look that impressive now,\n" + .string "but I once beat a GYM LEADER.\p" + .string "Who knows, maybe I should give it\n" + .string "another shot at glory.$" + +BattleFrontier_OutsideEast_Text_2434A0: @ 82434A0 + .string "I’m fast on my BIKE, and that goes for\n" + .string "the way I battle, too.\p" + .string "I win matches in the blink of\n" + .string "an eye!$" + +BattleFrontier_OutsideEast_Text_243504: @ 8243504 + .string "I’m better than my daddy\n" + .string "at POKéMON.$" + +BattleFrontier_OutsideEast_Text_243529: @ 8243529 + .string "Go on, my baby sweetie!\n" + .string "Go rack up some wins for Daddy!\p" + .string "You’re just like your mother,\n" + .string "so you’ll be dominating!$" + +BattleFrontier_OutsideEast_Text_243598: @ 8243598 + .string "It wasn’t easy getting here,\n" + .string "but I’d heard about this knockout\l" + .string "pretty girl at the BATTLE ARENA.\p" + .string "Instead of her, do you know what\n" + .string "I found?\p" + .string "A whole teeming mob of sweaty,\n" + .string "stinky, and primitive martial artists!$" + +BattleFrontier_OutsideEast_Text_243668: @ 8243668 + .string "I sometimes see this really important-\n" + .string "looking old man going in there.\p" + .string "He has these really awesome POKéMON.\n" + .string "He seems really nice, though.$" + +BattleFrontier_OutsideEast_Text_2436F2: @ 82436F2 + .string "Do you know it?\n" + .string "The legend of the BATTLE PYRAMID?\p" + .string "When there comes a confident TRAINER\n" + .string "reaching for the golden pinnacle,\l" + .string "there shall appear a man among men.\p" + .string "Don’t know that legend?\n" + .string "Well, of course not!\l" + .string "I just made it up!\p" + .string "What’s it supposed to mean?\n" + .string "That, my friend, I can’t say!$" + +BattleFrontier_OutsideEast_Text_243809: @ 8243809 + .string "Man! Oh man!\n" + .string "I’ve never lost once before!\p" + .string "But I got wiped out with no saving\n" + .string "grace at all!\p" + .string "And then I’m told I don’t have any\n" + .string "talent?! Man!$" + +BattleFrontier_OutsideEast_Text_243895: @ 8243895 + .string "This guy ran into a horribly tough\n" + .string "TRAINER while he was on the BATTLE\l" + .string "TOWER challenge.\p" + .string "Now look at him…\p" + .string "You need to be cautious if you ever\n" + .string "decide to go to the BATTLE TOWER.$" + +BattleFrontier_OutsideEast_Text_243943: @ 8243943 + .string "Yes!\n" + .string "I’ve finally got enough Battle Points!\p" + .string "I guess I’ll trade for another giant\n" + .string "plush DOLL!$" + +BattleFrontier_OutsideEast_Text_2439A0: @ 82439A0 + .string "Oh, yeah, okay!\n" + .string "So this is the RANKING HALL!\p" + .string "I’d like to go down in history as\n" + .string "a super champ and have my name\l" + .string "recorded here for posterity.$" + +BattleFrontier_OutsideEast_Text_243A2B: @ 8243A2B + .string "With you by my side, I can do anything.$" + +BattleFrontier_OutsideEast_Text_243A53: @ 8243A53 + .string "Ooh, darling, you are so wonderful!\p" + .string "Ooh, I just can’t wait anymore!\p" + .string "Let’s go to a MULTI BATTLE ROOM\n" + .string "right this instant!\p" + .string "If we get together in the BATTLE SALON,\n" + .string "the power of our love will overcome\l" + .string "everyone we meet.\p" + .string "Why, before us, darling, everything\n" + .string "will topple like dominoes!$" + +BattleFrontier_OutsideEast_Text_243B68: @ 8243B68 + .string "The BATTLE FRONTIER isn’t exclusively\n" + .string "for tough TRAINERS.\p" + .string "Many people with special abilities\n" + .string "have been invited, it seems.\p" + .string "That man SCOTT…\p" + .string "He may have built this place to serve\n" + .string "a bigger objective…$" + +BattleFrontier_OutsideEast_Text_243C2C: @ 8243C2C + .string "Excuse me, young one.\n" + .string "Have you good eyesight?\p" + .string "There is an odd tree past here, and to\n" + .string "my tired eyes it seems to wiggle.$" + +BattleFrontier_OutsideEast_Text_243CA3: @ 8243CA3 + .string "Excuse me, young one.\n" + .string "Have you a good memory?\p" + .string "I have this feeling there once was\n" + .string "an odd tree past here.$" + +BattleFrontier_OutsideEast_Text_243D0B: @ 8243D0B + .string "I…\n" + .string "I saw it!\p" + .string "There was a sticky sort of a POKéMON\n" + .string "with a long tail up ahead!\p" + .string "It was hiding under a boulder, and\n" + .string "it kept staring at me!$" diff --git a/data/scripts/maps/BattleFrontier_OutsideWest.inc b/data/scripts/maps/BattleFrontier_OutsideWest.inc new file mode 100644 index 0000000000..f5886bfffc --- /dev/null +++ b/data/scripts/maps/BattleFrontier_OutsideWest.inc @@ -0,0 +1,526 @@ +BattleFrontier_OutsideWest_MapScripts:: @ 823D3E1 + map_script 3, BattleFrontier_OutsideWest_MapScript1_23D3E7 + .byte 0 + +BattleFrontier_OutsideWest_MapScript1_23D3E7: @ 823D3E7 + setvar VAR_0x40BC, 0 + setflag FLAG_0x396 + end + +BattleFrontier_OutsideWest_EventScript_23D3F0:: @ 823D3F0 + lock + faceplayer + msgbox BattleFrontier_OutsideWest_Text_23D808, 4 + checkitem ITEM_SS_TICKET, 1 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_OutsideWest_EventScript_23D44E + message BattleFrontier_OutsideWest_Text_23D89D + waitmessage + goto BattleFrontier_OutsideWest_EventScript_23D416 + end + +BattleFrontier_OutsideWest_EventScript_23D416:: @ 823D416 + multichoicedefault 18, 6, 53, 2, 0 + switch VAR_RESULT + case 0, BattleFrontier_OutsideWest_EventScript_23D458 + case 1, BattleFrontier_OutsideWest_EventScript_23D483 + case 2, BattleFrontier_OutsideWest_EventScript_23D4D8 + case 127, BattleFrontier_OutsideWest_EventScript_23D4D8 + end + +BattleFrontier_OutsideWest_EventScript_23D44E:: @ 823D44E + msgbox BattleFrontier_OutsideWest_Text_23D842, 4 + release + end + +BattleFrontier_OutsideWest_EventScript_23D458:: @ 823D458 + msgbox BattleFrontier_OutsideWest_Text_23D8F2, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_OutsideWest_EventScript_23D4AE + msgbox BattleFrontier_OutsideWest_Text_23D94B, 4 + call BattleFrontier_OutsideWest_EventScript_23D4BA + warp SLATEPORT_CITY_HARBOR, 255, 8, 11 + waitstate + release + end + +BattleFrontier_OutsideWest_EventScript_23D483:: @ 823D483 + msgbox BattleFrontier_OutsideWest_Text_23D90E, 5 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_OutsideWest_EventScript_23D4AE + msgbox BattleFrontier_OutsideWest_Text_23D94B, 4 + call BattleFrontier_OutsideWest_EventScript_23D4BA + warp LILYCOVE_CITY_HARBOR, 255, 8, 11 + waitstate + release + end + +BattleFrontier_OutsideWest_EventScript_23D4AE:: @ 823D4AE + message BattleFrontier_OutsideWest_Text_23D97A + waitmessage + goto BattleFrontier_OutsideWest_EventScript_23D416 + end + +BattleFrontier_OutsideWest_EventScript_23D4BA:: @ 823D4BA + closemessage + applymovement VAR_LAST_TALKED, BattleFrontier_OutsideWest_Movement_2725AA + waitmovement 0 + delay 30 + hideobjectat 3, BATTLE_FRONTIER_OUTSIDE_WEST + setvar VAR_0x8004, 2 + call BattleFrontier_OutsideWest_EventScript_272250 + return + +BattleFrontier_OutsideWest_EventScript_23D4D8:: @ 823D4D8 + msgbox BattleFrontier_OutsideWest_Text_23D929, 4 + release + end + +BattleFrontier_OutsideWest_EventScript_23D4E2:: @ 823D4E2 + msgbox BattleFrontier_OutsideWest_Text_23D6F7, 3 + end + +BattleFrontier_OutsideWest_EventScript_23D4EB:: @ 823D4EB + msgbox BattleFrontier_OutsideWest_Text_23D737, 3 + end + +BattleFrontier_OutsideWest_EventScript_23D4F4:: @ 823D4F4 + msgbox BattleFrontier_OutsideWest_Text_23D772, 3 + end + +BattleFrontier_OutsideWest_EventScript_23D4FD:: @ 823D4FD + msgbox BattleFrontier_OutsideWest_Text_23D7A6, 2 + end + +BattleFrontier_OutsideWest_EventScript_23D506:: @ 823D4FD + msgbox BattleFrontier_OutsideWest_Text_23D9DD, 2 + end + +BattleFrontier_OutsideWest_EventScript_23D50F:: @ 823D50F + msgbox BattleFrontier_OutsideWest_Text_23D99C, 2 + end + +BattleFrontier_OutsideWest_EventScript_23D518:: @ 823D518 + lock + faceplayer + message BattleFrontier_OutsideWest_Text_23DA60 + waitmessage + applymovement 18, BattleFrontier_OutsideWest_Movement_2725A0 + waitmovement 0 + waitbuttonpress + release + end + +BattleFrontier_OutsideWest_EventScript_23D52D:: @ 823D52D + msgbox BattleFrontier_OutsideWest_Text_23DABF, 2 + end + +BattleFrontier_OutsideWest_EventScript_23D536:: @ 823D536 + lock + goto BattleFrontier_OutsideWest_EventScript_23D544 + end + +BattleFrontier_OutsideWest_EventScript_23D53D:: @ 823D53D + lock + goto BattleFrontier_OutsideWest_EventScript_23D544 + end + +BattleFrontier_OutsideWest_EventScript_23D544:: @ 823D544 + applymovement 9, BattleFrontier_OutsideWest_Movement_2725A8 + waitmovement 0 + msgbox BattleFrontier_OutsideWest_Text_23DB7D, 4 + applymovement 10, BattleFrontier_OutsideWest_Movement_2725A4 + waitmovement 0 + msgbox BattleFrontier_OutsideWest_Text_23DBCE, 4 + closemessage + delay 25 + applymovement 9, BattleFrontier_OutsideWest_Movement_2725A6 + applymovement 10, BattleFrontier_OutsideWest_Movement_2725A6 + waitmovement 0 + release + end + +BattleFrontier_OutsideWest_EventScript_23D57F:: @ 823D57F + lock + faceplayer + delay 20 + compare VAR_FACING, 2 + call_if 1, BattleFrontier_OutsideWest_EventScript_23D5BA + compare VAR_FACING, 1 + call_if 1, BattleFrontier_OutsideWest_EventScript_23D5C5 + compare VAR_FACING, 3 + call_if 1, BattleFrontier_OutsideWest_EventScript_23D5BA + compare VAR_FACING, 4 + call_if 1, BattleFrontier_OutsideWest_EventScript_23D5BA + msgbox BattleFrontier_OutsideWest_Text_23DC36, 4 + release + end + +BattleFrontier_OutsideWest_EventScript_23D5BA:: @ 823D5BA + applymovement 14, BattleFrontier_OutsideWest_Movement_2725A6 + waitmovement 0 + return + +BattleFrontier_OutsideWest_EventScript_23D5C5:: @ 823D5C5 + return + +BattleFrontier_OutsideWest_EventScript_23D5C6:: @ 823D5C6 + lock + faceplayer + message BattleFrontier_OutsideWest_Text_23DCB0 + waitmessage + compare VAR_FACING, 2 + call_if 1, BattleFrontier_OutsideWest_EventScript_23D5FD + compare VAR_FACING, 1 + call_if 1, BattleFrontier_OutsideWest_EventScript_23D608 + compare VAR_FACING, 3 + call_if 1, BattleFrontier_OutsideWest_EventScript_23D613 + compare VAR_FACING, 4 + call_if 1, BattleFrontier_OutsideWest_EventScript_23D61E + waitbuttonpress + release + end + +BattleFrontier_OutsideWest_EventScript_23D5FD:: @ 823D5FD + applymovement 12, BattleFrontier_OutsideWest_Movement_23D629 + waitmovement 0 + return + +BattleFrontier_OutsideWest_EventScript_23D608:: @ 823D608 + applymovement 12, BattleFrontier_OutsideWest_Movement_23D62C + waitmovement 0 + return + +BattleFrontier_OutsideWest_EventScript_23D613:: @ 823D613 + applymovement 12, BattleFrontier_OutsideWest_Movement_23D62F + waitmovement 0 + return + +BattleFrontier_OutsideWest_EventScript_23D61E:: @ 823D61E + applymovement 12, BattleFrontier_OutsideWest_Movement_23D632 + waitmovement 0 + return + +BattleFrontier_OutsideWest_Movement_23D629: @ 823D629 + step_25 + step_25 + step_end + +BattleFrontier_OutsideWest_Movement_23D62C: @ 823D62C + step_26 + step_26 + step_end + +BattleFrontier_OutsideWest_Movement_23D62F: @ 823D62F + step_28 + step_28 + step_end + +BattleFrontier_OutsideWest_Movement_23D632: @ 823D632 + step_27 + step_27 + step_end + +BattleFrontier_OutsideWest_EventScript_23D635:: @ 823D635 + lock + faceplayer + msgbox BattleFrontier_OutsideWest_Text_23DD3B, 4 + random 2 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_OutsideWest_EventScript_23D653 + goto BattleFrontier_OutsideWest_EventScript_23D65D + end + +BattleFrontier_OutsideWest_EventScript_23D653:: @ 823D653 + msgbox BattleFrontier_OutsideWest_Text_23DD7A, 4 + release + end + +BattleFrontier_OutsideWest_EventScript_23D65D:: @ 823D65D + msgbox BattleFrontier_OutsideWest_Text_23DDAD, 4 + release + end + +BattleFrontier_OutsideWest_EventScript_23D667:: @ 823D667 + msgbox BattleFrontier_OutsideWest_Text_23DE15, 2 + end + +BattleFrontier_OutsideWest_EventScript_23D670:: @ 823D670 + msgbox BattleFrontier_OutsideWest_Text_23DF7D, 2 + end + +BattleFrontier_OutsideWest_EventScript_23D679:: @ 823D679 + msgbox BattleFrontier_OutsideWest_Text_23DEFD, 2 + end + +BattleFrontier_OutsideWest_EventScript_23D682:: @ 823D682 + msgbox BattleFrontier_OutsideWest_Text_23DEB4, 2 + end + +BattleFrontier_OutsideWest_EventScript_23D68B:: @ 823D68B + msgbox BattleFrontier_OutsideWest_Text_23DFBF, 2 + end + +BattleFrontier_OutsideWest_EventScript_23D694:: @ 823D694 + msgbox BattleFrontier_OutsideWest_Text_23E01E, 2 + end + +BattleFrontier_OutsideWest_EventScript_23D69D:: @ 823D69D + msgbox BattleFrontier_OutsideWest_Text_23E09F, 2 + end + +BattleFrontier_OutsideWest_EventScript_23D6A6:: @ 823D6A6 + msgbox BattleFrontier_OutsideWest_Text_23E102, 2 + end + +BattleFrontier_OutsideWest_EventScript_23D6AF:: @ 823D6AF + msgbox BattleFrontier_OutsideWest_Text_23E154, 2 + end + +BattleFrontier_OutsideWest_EventScript_23D6B8:: @ 823D6B8 + lock + msgbox BattleFrontier_OutsideWest_Text_23E273, 4 + release + end + +BattleFrontier_OutsideWest_EventScript_23D6C3:: @ 823D6C3 + lock + msgbox BattleFrontier_OutsideWest_Text_23E2E9, 4 + release + end + +BattleFrontier_OutsideWest_EventScript_23D6CE:: @ 823D6CE + msgbox BattleFrontier_OutsideWest_Text_23E37E, 2 + end + +BattleFrontier_OutsideWest_EventScript_23D6D7:: @ 823D6D7 + lock + faceplayer + msgbox BattleFrontier_OutsideWest_Text_23E410, 4 + closemessage + applymovement 23, BattleFrontier_OutsideWest_Movement_2725A2 + waitmovement 0 + release + end + +BattleFrontier_OutsideWest_EventScript_23D6EE:: @ 823D6EE + msgbox BattleFrontier_OutsideWest_Text_23E5A5, 2 + end + +BattleFrontier_OutsideWest_Text_23D6F7: @ 823D6F7 + .string "This is the BATTLE DOME!\n" + .string "Your path to the invincible superstar!$" + +BattleFrontier_OutsideWest_Text_23D737: @ 823D737 + .string "This is the BATTLE FACTORY!\n" + .string "Seek out the toughest POKéMON!$" + +BattleFrontier_OutsideWest_Text_23D772: @ 823D772 + .string "This is the BATTLE PIKE!\n" + .string "Choose one of three paths!$" + +BattleFrontier_OutsideWest_Text_23D7A6: @ 823D7A6 + .string "This is the BATTLE TOWER.\p" + .string "TRAINERS bring their best-raised\n" + .string "POKéMON for elimination-style matches.$" + +BattleFrontier_OutsideWest_Text_23D808: @ 823D808 + .string "Hello, are you here for the ferry?\n" + .string "May I see your TICKET?$" + +BattleFrontier_OutsideWest_Text_23D842: @ 823D842 + .string "{PLAYER} doesn’t have the TICKET…\p" + .string "I’m terribly sorry.\p" + .string "You must have a TICKET to board\n" + .string "the ferry.$" + +BattleFrontier_OutsideWest_Text_23D89D: @ 823D89D + .string "{PLAYER} flashed the TICKET.\p" + .string "Perfect! That’s all you need!\p" + .string "And where would you like to go?$" + +BattleFrontier_OutsideWest_Text_23D8F2: @ 823D8F2 + .string "SLATEPORT CITY it is, then!$" + +BattleFrontier_OutsideWest_Text_23D90E: @ 823D90E + .string "LILYCOVE CITY it is, then!$" + +BattleFrontier_OutsideWest_Text_23D929: @ 823D929 + .string "Please sail with us another time!$" + +BattleFrontier_OutsideWest_Text_23D94B: @ 823D94B + .string "Please board the ferry and wait for\n" + .string "departure.$" + +BattleFrontier_OutsideWest_Text_23D97A: @ 823D97A + .string "Then, where would you like to go?$" + +BattleFrontier_OutsideWest_Text_23D99C: @ 823D99C + .string "I’m the best out of all my friends.\n" + .string "But here…\l" + .string "I’ve been useless!$" + +BattleFrontier_OutsideWest_Text_23D9DD: @ 823D9DD + .string "I want to go to the BATTLE TOWER,\n" + .string "but I can’t find it even though I have\l" + .string "a map of the BATTLE FRONTIER.\p" + .string "This place is just too big!$" + +BattleFrontier_OutsideWest_Text_23DA60: @ 823DA60 + .string "I wanted to take a challenge as soon\n" + .string "as I arrived here.\p" + .string "But on the way, I got seasick…\n" + .string "Urrrrp…$" + +BattleFrontier_OutsideWest_Text_23DABF: @ 823DABF + .string "It’s not as if just anyone can come\n" + .string "here, you know?\p" + .string "Only those TRAINERS who’ve been\n" + .string "recognized as tough are brought here.\p" + .string "That’s why many TRAINERS don’t even\n" + .string "know about the BATTLE FRONTIER.$" + +BattleFrontier_OutsideWest_Text_23DB7D: @ 823DB7D + .string "Hey, bro…\p" + .string "Are you sure we can make challenges\n" + .string "even if we don’t have any POKéMON?$" + +BattleFrontier_OutsideWest_Text_23DBCE: @ 823DBCE + .string "Uh…\n" + .string "I’m sure it’ll be okay.\p" + .string "I think…\p" + .string "But remember that big scary guy?\n" + .string "He said, “I’ll lend you POKéMON!”$" + +BattleFrontier_OutsideWest_Text_23DC36: @ 823DC36 + .string "That’s the BATTLE FACTORY.\n" + .string "You can rent strong POKéMON there.\p" + .string "But it makes me wonder.\n" + .string "Who’s raising those rental POKéMON?$" + +BattleFrontier_OutsideWest_Text_23DCB0: @ 823DCB0 + .string "I’m scared of going into the BATTLE\n" + .string "PIKE because of SEVIPER…\p" + .string "B-but I came all the way here, so I will\n" + .string "try to conquer everything!\l" + .string "…Shudder…$" + +BattleFrontier_OutsideWest_Text_23DD3B: @ 823DD3B + .string "Let’s play rock, paper, scissors!\n" + .string "One, two, three!\p" + .string "… … … … … …$" + +BattleFrontier_OutsideWest_Text_23DD7A: @ 823DD7A + .string "Yay! I won!\n" + .string "I will take the BATTLE PIKE challenge!$" + +BattleFrontier_OutsideWest_Text_23DDAD: @ 823DDAD + .string "Oh, no…\n" + .string "I lost.\p" + .string "I guess I’m not very lucky today.\n" + .string "I’ll put off my BATTLE PIKE challenge\l" + .string "until tomorrow.$" + +BattleFrontier_OutsideWest_Text_23DE15: @ 823DE15 + .string "I believe I’m the only person here who,\n" + .string "for some unknown reason, would choose\l" + .string "fishing over battling.\p" + .string "Huh? You can’t catch anything here?\n" + .string "That’s disappointing…$" + +BattleFrontier_OutsideWest_Text_23DEB4: @ 823DEB4 + .string "Today, I’m going to keep battling, no\n" + .string "matter what, until I get a Symbol.$" + +BattleFrontier_OutsideWest_Text_23DEFD: @ 823DEFD + .string "Oh? You’re off to challenge\n" + .string "the BATTLE DOME?\p" + .string "I’ll wish you the best of luck.\n" + .string "Let us both win our way up and meet\l" + .string "in challenges.$" + +BattleFrontier_OutsideWest_Text_23DF7D: @ 823DF7D + .string "Grandpa, over here!\n" + .string "The BATTLE DOME is here!\l" + .string "Go get ’em, Grandpa!$" + +BattleFrontier_OutsideWest_Text_23DFBF: @ 823DFBF + .string "Ah, so this here is the BATTLE DOME?\n" + .string "I won’t let GENTLEMEN beat me!\p" + .string "But where is the entrance?$" + +BattleFrontier_OutsideWest_Text_23E01E: @ 823E01E + .string "There used to be nothing here not all\n" + .string "that long ago.\p" + .string "But, now look at this place! Amazing!\n" + .string "I’ll bring my mother out to see this.$" + +BattleFrontier_OutsideWest_Text_23E09F: @ 823E09F + .string "I’ve finally arrived at the BATTLE\n" + .string "FRONTIER!\p" + .string "I’m sure to grab attention with\n" + .string "my looks and ability!$" + +BattleFrontier_OutsideWest_Text_23E102: @ 823E102 + .string "Munch, munch…\p" + .string "It looks like this square’s filled with\n" + .string "tough people.\p" + .string "Munch, munch…$" + +BattleFrontier_OutsideWest_Text_23E154: @ 823E154 + .string "Crunch, munch…\p" + .string "A while back, I met this older girl\n" + .string "at the BATTLE PIKE.\p" + .string "She had these eyes that were scary\n" + .string "in a real ornery way.\p" + .string "Crunch, munch…\p" + .string "She got all furious: “Will you quit\n" + .string "eating!” Then she whaled on me.\p" + .string "It was a hair-raising kind of\n" + .string "scary experience, sure enough.\p" + .string "Crunch, munch…$" + +BattleFrontier_OutsideWest_Text_23E273: @ 823E273 + .string "Huh? Will you listen to yourself?\n" + .string "That’s nothing!\p" + .string "Why, the last time I cheered for him,\n" + .string "our eyes met and sparks flew!$" + +BattleFrontier_OutsideWest_Text_23E2E9: @ 823E2E9 + .string "Whaaaaaat?!\n" + .string "Pfft!\p" + .string "That only happened because\n" + .string "I happened to be sitting next to you!\p" + .string "The DOME ACE only looked our way\n" + .string "because my cheering was so loud!$" + +BattleFrontier_OutsideWest_Text_23E37E: @ 823E37E + .string "Oh, shush!\n" + .string "Keep that racket down!\p" + .string "You fair-weather fans should stick\n" + .string "to cheering for some GYM LEADER!\p" + .string "The DOME ACE is mine!\n" + .string "The only idol for me!$" + +BattleFrontier_OutsideWest_Text_23E410: @ 823E410 + .string "Those people squabbling over there…\p" + .string "It’s hard to believe, but they once\n" + .string "were TRAINERS, and good ones, too.\p" + .string "They used to be incredibly tough,\n" + .string "and they were famous, too.\p" + .string "But they were obliterated by this\n" + .string "certain TRAINER at a tournament.\p" + .string "They were so thoroughly whipped,\n" + .string "they became smitten by the TRAINER.\p" + .string "Now they’re just fans of the TRAINER.\n" + .string "They go cheer for their idol at the\l" + .string "BATTLE DOME every day now.$" + +BattleFrontier_OutsideWest_Text_23E5A5: @ 823E5A5 + .string "I heard a rumor that someone saw\n" + .string "a POKéMON with an unusually long tail\l" + .string "somewhere in the BATTLE FRONTIER.\p" + .string "It must be adorable. I’m sure of it…\p" + .string "Oh, challenges can wait. I feel driven\n" + .string "to find the delightful creature!$" + diff --git a/data/scripts/maps/BattleFrontier_PokemonCenter_1F.inc b/data/scripts/maps/BattleFrontier_PokemonCenter_1F.inc new file mode 100644 index 0000000000..23818d64c0 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_PokemonCenter_1F.inc @@ -0,0 +1,59 @@ +BattleFrontier_PokemonCenter_1F_MapScripts:: @ 82678F9 + map_script 3, BattleFrontier_PokemonCenter_1F_MapScript1_267904 + map_script 5, BattleFrontier_PokemonCenter_1F_MapScript1_277C30 + .byte 0 + +BattleFrontier_PokemonCenter_1F_MapScript1_267904: @ 8267904 + setrespawn 22 + end + +BattleFrontier_PokemonCenter_1F_EventScript_267908:: @ 8267908 + setvar VAR_0x800B, 1 + call BattleFrontier_PokemonCenter_1F_EventScript_27191E + waitmessage + waitbuttonpress + release + end + +BattleFrontier_PokemonCenter_1F_EventScript_267916:: @ 8267916 + msgbox BattleFrontier_PokemonCenter_1F_Text_267944, 2 + end + +BattleFrontier_PokemonCenter_1F_EventScript_26791F:: @ 826791F + msgbox BattleFrontier_PokemonCenter_1F_Text_2679EB, 2 + end + +BattleFrontier_PokemonCenter_1F_EventScript_267928:: @ 8267928 + msgbox BattleFrontier_PokemonCenter_1F_Text_267A4B, 2 + end + +BattleFrontier_PokemonCenter_1F_EventScript_267931:: @ 8267931 + lock + faceplayer + waitse + playmoncry SPECIES_SKITTY, 0 + msgbox BattleFrontier_PokemonCenter_1F_Text_267A90, 4 + waitmoncry + release + end + +BattleFrontier_PokemonCenter_1F_Text_267944: @ 8267944 + .string "There was someone here using a \n" + .string "POKéMON I’ve never seen before.\p" + .string "I never learned about it at\n" + .string "TRAINER’S SCHOOL at least.\p" + .string "I wonder where you can catch POKéMON\n" + .string "like that.$" + +BattleFrontier_PokemonCenter_1F_Text_2679EB: @ 82679EB + .string "Okay! Next stop, the BATTLE ARENA!\n" + .string "I’d better get the right POKéMON from\l" + .string "the PC Storage System.$" + +BattleFrontier_PokemonCenter_1F_Text_267A4B: @ 8267A4B + .string "Giggle… I’m going to go through every\n" + .string "challenge with just this baby!$" + +BattleFrontier_PokemonCenter_1F_Text_267A90: @ 8267A90 + .string "SKITTY: Mya myaaah!$" + diff --git a/data/scripts/maps/BattleFrontier_PokemonCenter_2F.inc b/data/scripts/maps/BattleFrontier_PokemonCenter_2F.inc new file mode 100644 index 0000000000..7d3c3a2f1e --- /dev/null +++ b/data/scripts/maps/BattleFrontier_PokemonCenter_2F.inc @@ -0,0 +1,19 @@ +BattleFrontier_PokemonCenter_2F_MapScripts:: @ 8267AA4 + map_script 2, BattleFrontier_PokemonCenter_2F_MapScript2_276C3B + map_script 4, BattleFrontier_PokemonCenter_2F_MapScript2_276B6C + map_script 1, BattleFrontier_PokemonCenter_2F_MapScript1_276BBE + map_script 3, BattleFrontier_PokemonCenter_2F_MapScript1_276ACF + .byte 0 + +BattleFrontier_PokemonCenter_2F_EventScript_267AB9:: @ 8267AB9 + call OldaleTown_PokemonCenter_2F_EventScript_276EB7 + end + +BattleFrontier_PokemonCenter_2F_EventScript_267ABF:: @ 8267ABF + call OldaleTown_PokemonCenter_2F_EventScript_2770B2 + end + +BattleFrontier_PokemonCenter_2F_EventScript_267AC5:: @ 8267AC5 + call OldaleTown_PokemonCenter_2F_EventScript_2771DB + end + diff --git a/data/scripts/maps/BattleFrontier_RankingHall.inc b/data/scripts/maps/BattleFrontier_RankingHall.inc new file mode 100644 index 0000000000..b13bfe3434 --- /dev/null +++ b/data/scripts/maps/BattleFrontier_RankingHall.inc @@ -0,0 +1,135 @@ +BattleFrontier_RankingHall_MapScripts:: @ 825E4A9 + .byte 0 + +BattleFrontier_RankingHall_EventScript_25E4AA:: @ 825E4AA + lockall + setvar VAR_0x8005, 0 + goto BattleFrontier_RankingHall_EventScript_25E522 + end + +BattleFrontier_RankingHall_EventScript_25E4B6:: @ 825E4B6 + lockall + setvar VAR_0x8005, 1 + goto BattleFrontier_RankingHall_EventScript_25E522 + end + +BattleFrontier_RankingHall_EventScript_25E4C2:: @ 825E4C2 + lockall + setvar VAR_0x8005, 2 + goto BattleFrontier_RankingHall_EventScript_25E522 + end + +BattleFrontier_RankingHall_EventScript_25E4CE:: @ 825E4CE + lockall + setvar VAR_0x8005, 9 + goto BattleFrontier_RankingHall_EventScript_25E522 + end + +BattleFrontier_RankingHall_EventScript_25E4DA:: @ 825E4DA + lockall + setvar VAR_0x8005, 5 + goto BattleFrontier_RankingHall_EventScript_25E522 + end + +BattleFrontier_RankingHall_EventScript_25E4E6:: @ 825E4E6 + lockall + setvar VAR_0x8005, 4 + goto BattleFrontier_RankingHall_EventScript_25E522 + end + +BattleFrontier_RankingHall_EventScript_25E4F2:: @ 825E4F2 + lockall + setvar VAR_0x8005, 6 + goto BattleFrontier_RankingHall_EventScript_25E522 + end + +BattleFrontier_RankingHall_EventScript_25E4FE:: @ 825E4FE + lockall + setvar VAR_0x8005, 3 + goto BattleFrontier_RankingHall_EventScript_25E522 + end + +BattleFrontier_RankingHall_EventScript_25E50A:: @ 825E50A + lockall + setvar VAR_0x8005, 7 + goto BattleFrontier_RankingHall_EventScript_25E522 + end + +BattleFrontier_RankingHall_EventScript_25E516:: @ 825E516 + lockall + setvar VAR_0x8005, 8 + goto BattleFrontier_RankingHall_EventScript_25E522 + end + +BattleFrontier_RankingHall_EventScript_25E522:: @ 825E522 + special sub_81A4AA0 + waitbuttonpress + special sub_81A4AE8 + waitbuttonpress + special sub_813C5A0 + releaseall + end + +BattleFrontier_RankingHall_EventScript_25E52F:: @ 825E52F + msgbox BattleFrontier_RankingHall_Text_25E57C, 2 + end + +BattleFrontier_RankingHall_EventScript_25E538:: @ 825E538 + msgbox BattleFrontier_RankingHall_Text_25E5F9, 3 + end + +BattleFrontier_RankingHall_EventScript_25E541:: @ 825E541 + msgbox BattleFrontier_RankingHall_Text_25E62E, 3 + end + +BattleFrontier_RankingHall_EventScript_25E54A:: @ 825E54A + lock + faceplayer + msgbox BattleFrontier_RankingHall_Text_25E666, 5 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_RankingHall_EventScript_25E569 + msgbox BattleFrontier_RankingHall_Text_25E6B6, 4 + release + end + +BattleFrontier_RankingHall_EventScript_25E569:: @ 825E569 + msgbox BattleFrontier_RankingHall_Text_25E685, 4 + release + end + +BattleFrontier_RankingHall_EventScript_25E573:: @ 825E573 + msgbox BattleFrontier_RankingHall_Text_25E715, 2 + end + +BattleFrontier_RankingHall_Text_25E57C: @ 825E57C + .string "This is the RANKING HALL.\p" + .string "This is where we recognize the immortal\n" + .string "TRAINERS who left great records in\l" + .string "BATTLE FRONTIER events.$" + +BattleFrontier_RankingHall_Text_25E5F9: @ 825E5F9 + .string "BATTLE DOME, BATTLE PIKE,\n" + .string "and BATTLE FACTORY Records$" + +BattleFrontier_RankingHall_Text_25E62E: @ 825E62E + .string "BATTLE PALACE, BATTLE ARENA,\n" + .string "and BATTLE PYRAMID Records$" + +BattleFrontier_RankingHall_Text_25E666: @ 825E666 + .string "Hi, is your name on this list?$" + +BattleFrontier_RankingHall_Text_25E685: @ 825E685 + .string "Wow, that’s super!\n" + .string "I’ll have to try harder, too!$" + +BattleFrontier_RankingHall_Text_25E6B6: @ 825E6B6 + .string "Oh, is that right?\p" + .string "If you saw your friend’s name up here,\n" + .string "I bet it would make you work harder!$" + +BattleFrontier_RankingHall_Text_25E715: @ 825E715 + .string "Hmm…\n" + .string "My name’s not up there…\p" + .string "Well, it’s only natural since I haven’t\n" + .string "taken any challenges yet.$" + diff --git a/data/scripts/maps/BattleFrontier_ReceptionGate.inc b/data/scripts/maps/BattleFrontier_ReceptionGate.inc new file mode 100644 index 0000000000..eca861f85c --- /dev/null +++ b/data/scripts/maps/BattleFrontier_ReceptionGate.inc @@ -0,0 +1,505 @@ +BattleFrontier_ReceptionGate_MapScripts:: @ 82661DA + map_script 2, BattleFrontier_ReceptionGate_MapScript2_2661E9 + map_script 3, BattleFrontier_ReceptionGate_MapScript1_2661E5 + .byte 0 + +BattleFrontier_ReceptionGate_MapScript1_2661E5: @ 82661E5 + setflag FLAG_LANDMARK_BATTLE_FRONTIER + end + +BattleFrontier_ReceptionGate_MapScript2_2661E9: @ 82661E9 + map_script_2 VAR_0x40D0, 0, BattleFrontier_ReceptionGate_EventScript_2661F3 + .2byte 0 + +BattleFrontier_ReceptionGate_EventScript_2661F3:: @ 82661F3 + lockall + setvar VAR_0x40D0, 1 + playse SE_PIN + applymovement 1, BattleFrontier_ReceptionGate_Movement_272598 + waitmovement 0 + applymovement 1, BattleFrontier_ReceptionGate_Movement_27259A + waitmovement 0 + msgbox BattleFrontier_ReceptionGate_Text_266580, 4 + closemessage + applymovement 255, BattleFrontier_ReceptionGate_Movement_2662D2 + waitmovement 0 + goto BattleFrontier_ReceptionGate_EventScript_266229 + end + +BattleFrontier_ReceptionGate_EventScript_266229:: @ 8266229 + msgbox BattleFrontier_ReceptionGate_Text_2665B2, 4 + msgbox BattleFrontier_ReceptionGate_Text_2665F7, 4 + playfanfare MUS_FANFA4 + message BattleFrontier_ReceptionGate_Text_266676 + waitfanfare + waitmessage + msgbox BattleFrontier_ReceptionGate_Text_266695, 4 + setflag FLAG_SYS_FRONTIER_PASS + msgbox BattleFrontier_ReceptionGate_Text_2666C6, 4 + msgbox BattleFrontier_ReceptionGate_Text_266703, 4 + closemessage + applymovement 1, BattleFrontier_ReceptionGate_Movement_2725A6 + applymovement 2, BattleFrontier_ReceptionGate_Movement_2725A6 + applymovement 255, BattleFrontier_ReceptionGate_Movement_2725A6 + waitmovement 0 + playse SE_PIN + applymovement 1, BattleFrontier_ReceptionGate_Movement_272598 + applymovement 2, BattleFrontier_ReceptionGate_Movement_272598 + applymovement 255, BattleFrontier_ReceptionGate_Movement_272598 + waitmovement 0 + msgbox BattleFrontier_ReceptionGate_Text_266733, 4 + closemessage + applymovement 1, BattleFrontier_ReceptionGate_Movement_2662F0 + applymovement 2, BattleFrontier_ReceptionGate_Movement_2662F6 + applymovement 255, BattleFrontier_ReceptionGate_Movement_2662D7 + applymovement 4, BattleFrontier_ReceptionGate_Movement_2662E0 + waitmovement 0 + msgbox BattleFrontier_ReceptionGate_Text_266764, 4 + closemessage + applymovement 4, BattleFrontier_ReceptionGate_Movement_2662E8 + waitmovement 0 + removeobject 4 + releaseall + end + +BattleFrontier_ReceptionGate_Movement_2662D2: @ 82662D2 + step_up + step_up + step_left + step_left + step_end + +BattleFrontier_ReceptionGate_Movement_2662D7: @ 82662D7 + step_14 + step_14 + step_14 + step_13 + step_28 + step_end + +BattleFrontier_ReceptionGate_Movement_2662DD: @ 82662DD + step_down + step_down + step_end + +BattleFrontier_ReceptionGate_Movement_2662E0: @ 82662E0 + step_down + step_down + step_down + step_down + step_down + step_down + step_left + step_end + +BattleFrontier_ReceptionGate_Movement_2662E8: @ 82662E8 + step_right + step_up + step_up + step_up + step_up + step_up + step_up + step_end + +BattleFrontier_ReceptionGate_Movement_2662F0: @ 82662F0 + step_14 + step_14 + step_14 + step_13 + step_28 + step_end + +BattleFrontier_ReceptionGate_Movement_2662F6: @ 82662F6 + step_14 + step_14 + step_14 + step_13 + step_27 + step_end + +BattleFrontier_ReceptionGate_EventScript_2662FC:: @ 82662FC + lock + faceplayer + msgbox BattleFrontier_ReceptionGate_Text_2665B2, 4 + msgbox BattleFrontier_ReceptionGate_Text_2666C6, 4 + release + end + +BattleFrontier_ReceptionGate_EventScript_266310:: @ 8266310 + lock + faceplayer + msgbox BattleFrontier_ReceptionGate_Text_266857, 4 + goto BattleFrontier_ReceptionGate_EventScript_266320 + end + +BattleFrontier_ReceptionGate_EventScript_266320:: @ 8266320 + message BattleFrontier_ReceptionGate_Text_26689D + waitmessage + setvar VAR_0x8004, 8 + special sub_813A128 + waitstate + switch VAR_RESULT + case 0, BattleFrontier_ReceptionGate_EventScript_2663AE + case 1, BattleFrontier_ReceptionGate_EventScript_2663BC + case 2, BattleFrontier_ReceptionGate_EventScript_2663CA + case 3, BattleFrontier_ReceptionGate_EventScript_2663D8 + case 4, BattleFrontier_ReceptionGate_EventScript_2663E6 + case 5, BattleFrontier_ReceptionGate_EventScript_2663F4 + case 6, BattleFrontier_ReceptionGate_EventScript_266402 + case 7, BattleFrontier_ReceptionGate_EventScript_266410 + case 8, BattleFrontier_ReceptionGate_EventScript_26641E + case 9, BattleFrontier_ReceptionGate_EventScript_26642C + case 127, BattleFrontier_ReceptionGate_EventScript_26642C + end + +BattleFrontier_ReceptionGate_EventScript_2663AE:: @ 82663AE + msgbox BattleFrontier_ReceptionGate_Text_2668C2, 4 + goto BattleFrontier_ReceptionGate_EventScript_266320 + end + +BattleFrontier_ReceptionGate_EventScript_2663BC:: @ 82663BC + msgbox BattleFrontier_ReceptionGate_Text_26696F, 4 + goto BattleFrontier_ReceptionGate_EventScript_266320 + end + +BattleFrontier_ReceptionGate_EventScript_2663CA:: @ 82663CA + msgbox BattleFrontier_ReceptionGate_Text_266A34, 4 + goto BattleFrontier_ReceptionGate_EventScript_266320 + end + +BattleFrontier_ReceptionGate_EventScript_2663D8:: @ 82663D8 + msgbox BattleFrontier_ReceptionGate_Text_266AC2, 4 + goto BattleFrontier_ReceptionGate_EventScript_266320 + end + +BattleFrontier_ReceptionGate_EventScript_2663E6:: @ 82663E6 + msgbox BattleFrontier_ReceptionGate_Text_266B5D, 4 + goto BattleFrontier_ReceptionGate_EventScript_266320 + end + +BattleFrontier_ReceptionGate_EventScript_2663F4:: @ 82663F4 + msgbox BattleFrontier_ReceptionGate_Text_266C24, 4 + goto BattleFrontier_ReceptionGate_EventScript_266320 + end + +BattleFrontier_ReceptionGate_EventScript_266402:: @ 8266402 + msgbox BattleFrontier_ReceptionGate_Text_266CBB, 4 + goto BattleFrontier_ReceptionGate_EventScript_266320 + end + +BattleFrontier_ReceptionGate_EventScript_266410:: @ 8266410 + msgbox BattleFrontier_ReceptionGate_Text_266D1C, 4 + goto BattleFrontier_ReceptionGate_EventScript_266320 + end + +BattleFrontier_ReceptionGate_EventScript_26641E:: @ 826641E + msgbox BattleFrontier_ReceptionGate_Text_266DCB, 4 + goto BattleFrontier_ReceptionGate_EventScript_266320 + end + +BattleFrontier_ReceptionGate_EventScript_26642C:: @ 826642C + msgbox BattleFrontier_ReceptionGate_Text_2666C6, 4 + release + end + +BattleFrontier_ReceptionGate_EventScript_266436:: @ 8266436 + lock + faceplayer + msgbox BattleFrontier_ReceptionGate_Text_266E66, 4 + goto BattleFrontier_ReceptionGate_EventScript_266446 + end + +BattleFrontier_ReceptionGate_EventScript_266446:: @ 8266446 + message BattleFrontier_ReceptionGate_Text_266EE0 + waitmessage + multichoice 15, 0, 95, 0 + switch VAR_RESULT + case 0, BattleFrontier_ReceptionGate_EventScript_2664A4 + case 1, BattleFrontier_ReceptionGate_EventScript_2664B2 + case 2, BattleFrontier_ReceptionGate_EventScript_2664C0 + case 3, BattleFrontier_ReceptionGate_EventScript_2664CE + case 4, BattleFrontier_ReceptionGate_EventScript_2664DC + case 5, BattleFrontier_ReceptionGate_EventScript_2664EA + case 127, BattleFrontier_ReceptionGate_EventScript_2664EA + end + +BattleFrontier_ReceptionGate_EventScript_2664A4:: @ 82664A4 + msgbox BattleFrontier_ReceptionGate_Text_266F04, 4 + goto BattleFrontier_ReceptionGate_EventScript_266446 + end + +BattleFrontier_ReceptionGate_EventScript_2664B2:: @ 82664B2 + msgbox BattleFrontier_ReceptionGate_Text_266F69, 4 + goto BattleFrontier_ReceptionGate_EventScript_266446 + end + +BattleFrontier_ReceptionGate_EventScript_2664C0:: @ 82664C0 + msgbox BattleFrontier_ReceptionGate_Text_267080, 4 + goto BattleFrontier_ReceptionGate_EventScript_266446 + end + +BattleFrontier_ReceptionGate_EventScript_2664CE:: @ 82664CE + msgbox BattleFrontier_ReceptionGate_Text_26716A, 4 + goto BattleFrontier_ReceptionGate_EventScript_266446 + end + +BattleFrontier_ReceptionGate_EventScript_2664DC:: @ 82664DC + msgbox BattleFrontier_ReceptionGate_Text_267298, 4 + goto BattleFrontier_ReceptionGate_EventScript_266446 + end + +BattleFrontier_ReceptionGate_EventScript_2664EA:: @ 82664EA + msgbox BattleFrontier_ReceptionGate_Text_2666C6, 4 + release + end + +BattleFrontier_ReceptionGate_EventScript_2664F4:: @ 82664F4 + lock + faceplayer + msgbox BattleFrontier_ReceptionGate_Text_267357, 4 + goto BattleFrontier_ReceptionGate_EventScript_266504 + end + +BattleFrontier_ReceptionGate_EventScript_266504:: @ 8266504 + message BattleFrontier_ReceptionGate_Text_26737C + waitmessage + multichoice 16, 4, 11, 0 + switch VAR_RESULT + case 0, BattleFrontier_ReceptionGate_EventScript_26654C + case 1, BattleFrontier_ReceptionGate_EventScript_26655A + case 2, BattleFrontier_ReceptionGate_EventScript_266568 + case 3, BattleFrontier_ReceptionGate_EventScript_266576 + case 127, BattleFrontier_ReceptionGate_EventScript_266576 + end + +BattleFrontier_ReceptionGate_EventScript_26654C:: @ 826654C + msgbox BattleFrontier_ReceptionGate_Text_2673A1, 4 + goto BattleFrontier_ReceptionGate_EventScript_266504 + end + +BattleFrontier_ReceptionGate_EventScript_26655A:: @ 826655A + msgbox BattleFrontier_ReceptionGate_Text_2674F3, 4 + goto BattleFrontier_ReceptionGate_EventScript_266504 + end + +BattleFrontier_ReceptionGate_EventScript_266568:: @ 8266568 + msgbox BattleFrontier_ReceptionGate_Text_26761C, 4 + goto BattleFrontier_ReceptionGate_EventScript_266504 + end + +BattleFrontier_ReceptionGate_EventScript_266576:: @ 8266576 + msgbox BattleFrontier_ReceptionGate_Text_2666C6, 4 + release + end + +BattleFrontier_ReceptionGate_Text_266580: @ 8266580 + .string "Is it your first time here?\n" + .string "Please step this way!$" + +BattleFrontier_ReceptionGate_Text_2665B2: @ 82665B2 + .string "The front lines of POKéMON battling!\n" + .string "Welcome to the BATTLE FRONTIER!$" + +BattleFrontier_ReceptionGate_Text_2665F7: @ 82665F7 + .string "For a first-time visitor, we issue\n" + .string "the FRONTIER PASS.\p" + .string "It’s for use at all the facilities\n" + .string "in the BATTLE FRONTIER.\p" + .string "Here you are!$" + +BattleFrontier_ReceptionGate_Text_266676: @ 8266676 + .string "{PLAYER} obtained\n" + .string "the FRONTIER PASS.$" + +BattleFrontier_ReceptionGate_Text_266695: @ 8266695 + .string "{PLAYER} placed the TRAINER CARD\n" + .string "in the FRONTIER PASS.$" + +BattleFrontier_ReceptionGate_Text_2666C6: @ 82666C6 + .string "We hope you enjoy all that the BATTLE\n" + .string "FRONTIER has to offer!$" + +BattleFrontier_ReceptionGate_Text_266703: @ 8266703 + .string "???: Well, if it isn’t {PLAYER}{KUN}!\n" + .string "You came out here!$" + +BattleFrontier_ReceptionGate_Text_266733: @ 8266733 + .string "GUIDE: Oh! MR. SCOTT, sir!\n" + .string "Good day to you, sir!$" + +BattleFrontier_ReceptionGate_Text_266764: @ 8266764 + .string "SCOTT: It’s great to see you here,\n" + .string "it really is!\p" + .string "I hope you’ll take your time and\n" + .string "explore everywhere.\p" + .string "Naturally, I hope you’ll also experience\n" + .string "the pure essence of battling.\p" + .string "I also have my quarters here, so feel\n" + .string "free to visit if you have time.$" + +BattleFrontier_ReceptionGate_Text_266857: @ 8266857 + .string "I’m your guide to the various facilities\n" + .string "here in the BATTLE FRONTIER.$" + +BattleFrontier_ReceptionGate_Text_26689D: @ 826689D + .string "Which would you like to learn about?$" + +BattleFrontier_ReceptionGate_Text_2668C2: @ 82668C2 + .string "It is the gigantic tower considered\n" + .string "to be the BATTLE FRONTIER’s symbol.\p" + .string "There are four kinds of BATTLE ROOMS\n" + .string "in the tower for SINGLE, DOUBLE, MULTI,\l" + .string "and LINK MULTI BATTLES.$" + +BattleFrontier_ReceptionGate_Text_26696F: @ 826696F + .string "The BATTLE DOME is the large building\n" + .string "shaped like a huge egg.\p" + .string "Events named Battle Tourneys are held\n" + .string "in this facility.\p" + .string "The Battle Tourneys are offered in\n" + .string "two courses--for SINGLE and DOUBLE\l" + .string "BATTLES.$" + +BattleFrontier_ReceptionGate_Text_266A34: @ 8266A34 + .string "The BATTLE PALACE is the red building\n" + .string "on the right of the BATTLE FRONTIER.\p" + .string "There are two kinds of BATTLE HALLS\n" + .string "for SINGLE and DOUBLE BATTLES.$" + +BattleFrontier_ReceptionGate_Text_266AC2: @ 8266AC2 + .string "The BATTLE ARENA is the dojo-like\n" + .string "building at the center-right of\l" + .string "the BATTLE FRONTIER.\p" + .string "An event called the Set KO Tourney\n" + .string "takes place at the BATTLE ARENA.$" + +BattleFrontier_ReceptionGate_Text_266B5D: @ 8266B5D + .string "The BATTLE FACTORY is the large\n" + .string "building that is the closest to us.\p" + .string "An event called the Battle Swap\n" + .string "is conducted there.\p" + .string "The Battle Swap event is offered in\n" + .string "two courses for SINGLE and DOUBLE\l" + .string "BATTLES.$" + +BattleFrontier_ReceptionGate_Text_266C24: @ 8266C24 + .string "The BATTLE PIKE is the building shaped\n" + .string "like a POKéMON at the center-left of\l" + .string "the BATTLE FRONTIER.\p" + .string "An event called the Battle Choice\n" + .string "is conducted there.$" + +BattleFrontier_ReceptionGate_Text_266CBB: @ 8266CBB + .string "The BATTLE PYRAMID is the enormous\n" + .string "pyramid.\p" + .string "An event called the Battle Quest\n" + .string "is conducted there.$" + +BattleFrontier_ReceptionGate_Text_266D1C: @ 8266D1C + .string "The RANKING HALL is located near\n" + .string "the BATTLE TOWER.\p" + .string "There, you may see the most fantastic\n" + .string "records left by the TRAINERS that\l" + .string "took on the many challenges of\l" + .string "the BATTLE FRONTIER.$" + +BattleFrontier_ReceptionGate_Text_266DCB: @ 8266DCB + .string "The EXCHANGE SERVICE CORNER is near\n" + .string "the BATTLE TOWER.\p" + .string "The Battle Points you have earned in\n" + .string "the BATTLE FRONTIER may be exchanged\l" + .string "for fabulous prizes there.$" + +BattleFrontier_ReceptionGate_Text_266E66: @ 8266E66 + .string "I’m your guide to the basic rules that\n" + .string "are common to all the challenges\l" + .string "offered by the facilities in the BATTLE\l" + .string "FRONTIER.$" + +BattleFrontier_ReceptionGate_Text_266EE0: @ 8266EE0 + .string "What would you like to learn about?$" + +BattleFrontier_ReceptionGate_Text_266F04: @ 8266F04 + .string "All the challenges at the BATTLE\n" + .string "FRONTIER’s facilities come in\l" + .string "two courses--Level 50 and Open Level.$" + +BattleFrontier_ReceptionGate_Text_266F69: @ 8266F69 + .string "The Level 50 course is open to POKéMON\n" + .string "up to and including Level 50.\p" + .string "Please keep in mind, however, that\n" + .string "no TRAINER you face will have any\l" + .string "POKéMON below Level 50.\p" + .string "This course is the entry level for\n" + .string "battles at the BATTLE FRONTIER.\p" + .string "To begin, we hope you will challenge\n" + .string "this course.$" + +BattleFrontier_ReceptionGate_Text_267080: @ 8267080 + .string "The Open Level course places no limit\n" + .string "on the levels of POKéMON entering\l" + .string "challenges.\p" + .string "The levels of your opponents will\n" + .string "be adjusted to match the levels of\l" + .string "your POKéMON.\p" + .string "However, no TRAINER you face will\n" + .string "have any POKéMON below Level 60.$" + +BattleFrontier_ReceptionGate_Text_26716A: @ 826716A + .string "Virtually any kind of POKéMON may take\n" + .string "on the challenges at all facilities.\p" + .string "EGGS and certain kinds of POKéMON,\n" + .string "however, are not permitted.\p" + .string "The numbers of POKéMON required for\n" + .string "challenges will depend on the facility.\p" + .string "At all facilities, however, two or more\n" + .string "of the same kind of POKéMON are not\l" + .string "permitted.$" + +BattleFrontier_ReceptionGate_Text_267298: @ 8267298 + .string "When entering a challenge at a BATTLE\n" + .string "FRONTIER facility, POKéMON may not\l" + .string "be holding the same kind of item.\p" + .string "Please make sure that all POKéMON\n" + .string "entering a challenge are holding\l" + .string "different items.$" + +BattleFrontier_ReceptionGate_Text_267357: @ 8267357 + .string "I’m your guide to the FRONTIER PASS.$" + +BattleFrontier_ReceptionGate_Text_26737C: @ 826737C + .string "Which would you like to learn about?$" + +BattleFrontier_ReceptionGate_Text_2673A1: @ 82673A1 + .string "There are seven facilities at\n" + .string "the BATTLE FRONTIER.\p" + .string "TRAINERS who gain recognition for\n" + .string "their abilities may be rewarded with\l" + .string "symbols from each of the facilities.\p" + .string "To earn a symbol, TRAINERS may need\n" + .string "to defeat other TRAINERS in a row,\l" + .string "and may need to win events repeatedly.\p" + .string "It’s certainly not easy to win symbols.\n" + .string "I wish you the best of luck!$" + +BattleFrontier_ReceptionGate_Text_2674F3: @ 82674F3 + .string "It is possible to record one battle\n" + .string "on your FRONTIER PASS.\p" + .string "You may record a battle you had with\n" + .string "a friend or friends.\p" + .string "Or you may record a battle conducted\n" + .string "at the BATTLE FRONTIER excluding\l" + .string "matches at the BATTLE PIKE or\l" + .string "the BATTLE PYRAMID.\p" + .string "You may choose to record your match\n" + .string "at the end of a battle.$" + +BattleFrontier_ReceptionGate_Text_26761C: @ 826761C + .string "Battle Points are rewards given to\n" + .string "TRAINERS who battled outstandingly\l" + .string "at the BATTLE FRONTIER.\p" + .string "You may trade in your Battle Points\n" + .string "for prizes at the EXCHANGE SERVICE\l" + .string "CORNER.$" + diff --git a/data/scripts/maps/BattleFrontier_ScottsHouse.inc b/data/scripts/maps/BattleFrontier_ScottsHouse.inc new file mode 100644 index 0000000000..5be72b9b5b --- /dev/null +++ b/data/scripts/maps/BattleFrontier_ScottsHouse.inc @@ -0,0 +1,406 @@ +BattleFrontier_ScottsHouse_MapScripts:: @ 82636A7 + .byte 0 + +BattleFrontier_ScottsHouse_EventScript_2636A8:: @ 82636A8 + lock + faceplayer + checkflag FLAG_0x004 + goto_eq BattleFrontier_ScottsHouse_EventScript_2637DA + checkflag FLAG_0x003 + goto_eq BattleFrontier_ScottsHouse_EventScript_2638AA + checkflag FLAG_0x002 + goto_eq BattleFrontier_ScottsHouse_EventScript_263939 + goto BattleFrontier_ScottsHouse_EventScript_2636CB + end + +BattleFrontier_ScottsHouse_EventScript_2636CB:: @ 82636CB + checkflag FLAG_0x1D1 + goto_if 0, BattleFrontier_ScottsHouse_EventScript_263943 + checkflag FLAG_0x05C + goto_if 0, BattleFrontier_ScottsHouse_EventScript_263704 + checkflag FLAG_0x1D2 + goto_if 0, BattleFrontier_ScottsHouse_EventScript_26376A + goto BattleFrontier_ScottsHouse_EventScript_2636EC + end + +BattleFrontier_ScottsHouse_EventScript_2636EC:: @ 82636EC + checkflag FLAG_0x0ED + goto_if 0, BattleFrontier_ScottsHouse_EventScript_26381B + checkflag FLAG_0x0EE + goto_if 0, BattleFrontier_ScottsHouse_EventScript_2638B4 + goto BattleFrontier_ScottsHouse_EventScript_2637E4 + end + +BattleFrontier_ScottsHouse_EventScript_263704:: @ 8263704 + checkflag FLAG_SYS_TOWER_SILVER + goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC + checkflag FLAG_SYS_DOME_SILVER + goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC + checkflag FLAG_SYS_PALACE_SILVER + goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC + checkflag FLAG_SYS_ARENA_SILVER + goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC + checkflag FLAG_SYS_FACTORY_SILVER + goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC + checkflag FLAG_SYS_PIKE_SILVER + goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC + checkflag FLAG_SYS_PYRAMID_SILVER + goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC + msgbox BattleFrontier_ScottsHouse_Text_2640BC, 4 + giveitem_std ITEM_LANSAT_BERRY + compare VAR_RESULT, 0 + goto_eq BattleFrontier_ScottsHouse_EventScript_2637D0 + setflag FLAG_0x05C + setflag FLAG_0x004 + release + end + +BattleFrontier_ScottsHouse_EventScript_26376A:: @ 826376A + checkflag FLAG_SYS_TOWER_GOLD + goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC + checkflag FLAG_SYS_DOME_GOLD + goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC + checkflag FLAG_SYS_PALACE_GOLD + goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC + checkflag FLAG_SYS_ARENA_GOLD + goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC + checkflag FLAG_SYS_FACTORY_GOLD + goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC + checkflag FLAG_SYS_PIKE_GOLD + goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC + checkflag FLAG_SYS_PYRAMID_GOLD + goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC + msgbox BattleFrontier_ScottsHouse_Text_264216, 4 + giveitem_std ITEM_STARF_BERRY + compare VAR_RESULT, 0 + goto_eq BattleFrontier_ScottsHouse_EventScript_2637D0 + setflag FLAG_0x1D2 + setflag FLAG_0x004 + release + end + +BattleFrontier_ScottsHouse_EventScript_2637D0:: @ 82637D0 + msgbox BattleFrontier_ScottsHouse_Text_2643EB, 4 + release + end + +BattleFrontier_ScottsHouse_EventScript_2637DA:: @ 82637DA + msgbox BattleFrontier_ScottsHouse_Text_264373, 4 + release + end + +BattleFrontier_ScottsHouse_EventScript_2637E4:: @ 82637E4 + random 3 + compare VAR_RESULT, 1 + goto_eq BattleFrontier_ScottsHouse_EventScript_263807 + compare VAR_RESULT, 2 + goto_eq BattleFrontier_ScottsHouse_EventScript_263811 + msgbox BattleFrontier_ScottsHouse_Text_263DDD, 4 + release + end + +BattleFrontier_ScottsHouse_EventScript_263807:: @ 8263807 + msgbox BattleFrontier_ScottsHouse_Text_263F12, 4 + release + end + +BattleFrontier_ScottsHouse_EventScript_263811:: @ 8263811 + msgbox BattleFrontier_ScottsHouse_Text_263FFE, 4 + release + end + +BattleFrontier_ScottsHouse_EventScript_26381B:: @ 826381B + setvar VAR_0x40CE, 0 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + special sub_8161F74 + compare VAR_RESULT, 50 + goto_if 4, BattleFrontier_ScottsHouse_EventScript_26387A + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 1 + special sub_81A1780 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + special sub_8161F74 + compare VAR_RESULT, 50 + goto_if 4, BattleFrontier_ScottsHouse_EventScript_26387A + goto BattleFrontier_ScottsHouse_EventScript_2637E4 + end + +BattleFrontier_ScottsHouse_EventScript_26387A:: @ 826387A + msgbox BattleFrontier_ScottsHouse_Text_264412, 4 + givedecoration_std 42 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_ScottsHouse_EventScript_2638A0 + setflag FLAG_0x0ED + setflag FLAG_0x003 + goto BattleFrontier_ScottsHouse_EventScript_2638AA + end + +BattleFrontier_ScottsHouse_EventScript_2638A0:: @ 82638A0 + msgbox BattleFrontier_ScottsHouse_Text_264583, 4 + release + end + +BattleFrontier_ScottsHouse_EventScript_2638AA:: @ 82638AA + msgbox BattleFrontier_ScottsHouse_Text_264546, 4 + release + end + +BattleFrontier_ScottsHouse_EventScript_2638B4:: @ 82638B4 + setvar VAR_0x40CE, 0 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + special sub_8161F74 + compare VAR_RESULT, 100 + goto_if 4, BattleFrontier_ScottsHouse_EventScript_263913 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 1 + special sub_81A1780 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + special sub_8161F74 + compare VAR_RESULT, 100 + goto_if 4, BattleFrontier_ScottsHouse_EventScript_263913 + goto BattleFrontier_ScottsHouse_EventScript_2637E4 + end + +BattleFrontier_ScottsHouse_EventScript_263913:: @ 8263913 + msgbox BattleFrontier_ScottsHouse_Text_26449F, 4 + givedecoration_std 43 + compare VAR_RESULT, 0 + goto_eq BattleFrontier_ScottsHouse_EventScript_2638A0 + setflag FLAG_0x0EE + setflag FLAG_0x003 + goto BattleFrontier_ScottsHouse_EventScript_2638AA + end + +BattleFrontier_ScottsHouse_EventScript_263939:: @ 8263939 + msgbox BattleFrontier_ScottsHouse_Text_263DB8, 4 + release + end + +BattleFrontier_ScottsHouse_EventScript_263943:: @ 8263943 + msgbox BattleFrontier_ScottsHouse_Text_263A3F, 4 + closemessage + delay 30 + compare VAR_FACING, 2 + call_if 1, BattleFrontier_ScottsHouse_EventScript_263A13 + compare VAR_FACING, 1 + call_if 1, BattleFrontier_ScottsHouse_EventScript_263A1E + compare VAR_FACING, 4 + call_if 1, BattleFrontier_ScottsHouse_EventScript_263A29 + compare VAR_FACING, 3 + call_if 1, BattleFrontier_ScottsHouse_EventScript_263A34 + msgbox BattleFrontier_ScottsHouse_Text_263B29, 4 + applymovement 1, BattleFrontier_ScottsHouse_Movement_27259E + waitmovement 0 + msgbox BattleFrontier_ScottsHouse_Text_263BD4, 4 + compare VAR_0x40D1, 13 + goto_eq BattleFrontier_ScottsHouse_EventScript_2639BC + compare VAR_0x40D1, 9 + goto_if 4, BattleFrontier_ScottsHouse_EventScript_2639CB + compare VAR_0x40D1, 6 + goto_if 4, BattleFrontier_ScottsHouse_EventScript_2639DA + goto BattleFrontier_ScottsHouse_EventScript_2639E9 + end + +BattleFrontier_ScottsHouse_EventScript_2639BC:: @ 82639BC + buffernumberstring 0, 4 + setvar VAR_0x8004, 4 + goto BattleFrontier_ScottsHouse_EventScript_2639F8 + end + +BattleFrontier_ScottsHouse_EventScript_2639CB:: @ 82639CB + buffernumberstring 0, 3 + setvar VAR_0x8004, 3 + goto BattleFrontier_ScottsHouse_EventScript_2639F8 + end + +BattleFrontier_ScottsHouse_EventScript_2639DA:: @ 82639DA + buffernumberstring 0, 2 + setvar VAR_0x8004, 2 + goto BattleFrontier_ScottsHouse_EventScript_2639F8 + end + +BattleFrontier_ScottsHouse_EventScript_2639E9:: @ 82639E9 + buffernumberstring 0, 1 + setvar VAR_0x8004, 1 + goto BattleFrontier_ScottsHouse_EventScript_2639F8 + end + +BattleFrontier_ScottsHouse_EventScript_2639F8:: @ 82639F8 + special sub_813A9D0 + msgbox BattleFrontier_ScottsHouse_Text_263CB0, 9 + msgbox BattleFrontier_ScottsHouse_Text_263CD0, 4 + setflag FLAG_0x1D1 + setflag FLAG_0x002 + release + end + +BattleFrontier_ScottsHouse_EventScript_263A13:: @ 8263A13 + applymovement 1, BattleFrontier_ScottsHouse_Movement_2725A6 + waitmovement 0 + return + +BattleFrontier_ScottsHouse_EventScript_263A1E:: @ 8263A1E + applymovement 1, BattleFrontier_ScottsHouse_Movement_2725AA + waitmovement 0 + return + +BattleFrontier_ScottsHouse_EventScript_263A29:: @ 8263A29 + applymovement 1, BattleFrontier_ScottsHouse_Movement_2725A8 + waitmovement 0 + return + +BattleFrontier_ScottsHouse_EventScript_263A34:: @ 8263A34 + applymovement 1, BattleFrontier_ScottsHouse_Movement_2725A4 + waitmovement 0 + return + +BattleFrontier_ScottsHouse_Text_263A3F: @ 8263A3F + .string "SCOTT: Well, hello and welcome!\n" + .string "Heheh… Sorry about the cramped space.\p" + .string "Anyway, {PLAYER}{KUN}, let me formally\n" + .string "welcome you to the BATTLE FRONTIER.\p" + .string "This is my dream come true.\n" + .string "It took me years and years, but I’ve\l" + .string "finally given shape to my dream.$" + +BattleFrontier_ScottsHouse_Text_263B29: @ 8263B29 + .string "On reflection, it was a terribly long\n" + .string "journey…\p" + .string "I left home alone on a quest to find\n" + .string "strong TRAINERS.\p" + .string "No one can imagine how much effort\n" + .string "or time it took to make this real.$" + +BattleFrontier_ScottsHouse_Text_263BD4: @ 8263BD4 + .string "But that’s all in the past.\n" + .string "No point dwelling on that!\p" + .string "All I want for you is to enjoy battling\n" + .string "to your heart’s content here.\p" + .string "{PLAYER}{KUN}, I want you to have this\n" + .string "as a memento for all the time our\l" + .string "paths crossed on our journeys.$" + +BattleFrontier_ScottsHouse_Text_263CB0: @ 8263CB0 + .string "{PLAYER} obtained\n" + .string "{STR_VAR_1} Battle Point(s).$" + +BattleFrontier_ScottsHouse_Text_263CD0: @ 8263CD0 + .string "SCOTT: You can check your Battle\n" + .string "Points on your FRONTIER PASS.\p" + .string "The more success you have here at\n" + .string "the BATTLE FRONTIER, the more Battle\l" + .string "Points you will collect.\p" + .string "Use your Battle Points the way you\n" + .string "see fit, like trading them for items.$" + +BattleFrontier_ScottsHouse_Text_263DB8: @ 8263DB8 + .string "I’m expecting great things from you!$" + +BattleFrontier_ScottsHouse_Text_263DDD: @ 8263DDD + .string "SCOTT: Every TRAINER is an individual.\n" + .string "They all lead lives of their own.\p" + .string "But when they’re in a battle,\n" + .string "it doesn’t matter who they are.\p" + .string "They’re all the same!\p" + .string "I love the purity of battle,\n" + .string "where everyone is equal.\p" + .string "That’s why I go everywhere seeking\n" + .string "TRAINERS who are serious about\l" + .string "battling, and invite them here.$" + +BattleFrontier_ScottsHouse_Text_263F12: @ 8263F12 + .string "SCOTT: Have you met any of\n" + .string "the FRONTIER BRAINS?\p" + .string "Better yet, have you obtained any\n" + .string "symbols from them?\p" + .string "I handpicked the FRONTIER BRAINS\n" + .string "as the toughest TRAINERS anywhere.\p" + .string "But I’m sure that seeing how tough\n" + .string "you are will startle even them!$" + +BattleFrontier_ScottsHouse_Text_263FFE: @ 8263FFE + .string "SCOTT: You don’t just train for battle,\n" + .string "right?\p" + .string "I think I remember you working on\n" + .string "a POKéDEX as well.\p" + .string "Well, guess what?\p" + .string "You may run into wild POKéMON in\n" + .string "the BATTLE FRONTIER somewhere…\l" + .string "Fufufu!$" + +BattleFrontier_ScottsHouse_Text_2640BC: @ 82640BC + .string "SCOTT: Are you enjoying things in\n" + .string "the BATTLE FRONTIER?\p" + .string "…Wait a second…\n" + .string "Oh!\p" + .string "Your FRONTIER PASS!\n" + .string "You’ve collected the full set\l" + .string "of silver symbols!\p" + .string "That’s more than impressive!\n" + .string "You are tough, just as I suspected!\p" + .string "Normally, I wouldn’t do something\n" + .string "like this, but this is a special time!\p" + .string "I want you to have this.\n" + .string "I’m sure you can put it to proper use.$" + +BattleFrontier_ScottsHouse_Text_264216: @ 8264216 + .string "SCOTT: I hope you’re enjoying\n" + .string "everything in the BATTLE FRONTIER.\p" + .string "…Wait a second…\n" + .string "Oh, my disbelieving eyes!\p" + .string "Your FRONTIER PASS!\n" + .string "You’ve gathered up the full set\l" + .string "of gold symbols!\p" + .string "That’s more than stupendous!\n" + .string "You’re incredible, just as I suspected!\p" + .string "… … … … … …\p" + .string "{PLAYER}, you’ve got to accept this!\p" + .string "I think you will be able to\n" + .string "appreciate the value of my gift!$" + +BattleFrontier_ScottsHouse_Text_264373: @ 8264373 + .string "I must say I have the gift of knowing\n" + .string "a good TRAINER when I see one.\p" + .string "I’m so glad I had the foresight to\n" + .string "bring you here!$" + +BattleFrontier_ScottsHouse_Text_2643EB: @ 82643EB + .string "Your BERRY POCKET seems to\n" + .string "be stuffed.$" + +BattleFrontier_ScottsHouse_Text_264412: @ 8264412 + .string "SCOTT: Oh, I heard about you!\n" + .string "How you ruled the BATTLE TOWER!\l" + .string "You beat over 50 TRAINERS in a row?\p" + .string "That’s fantastic!\n" + .string "I want you to have this!$" + +BattleFrontier_ScottsHouse_Text_26449F: @ 826449F + .string "SCOTT: Oh, my! I heard about you!\n" + .string "How you overwhelmed the BATTLE TOWER!\l" + .string "You beat over 100 TRAINERS in a row?\p" + .string "That’s ridiculously spectacular!\n" + .string "You’ve got to have this!$" + +BattleFrontier_ScottsHouse_Text_264546: @ 8264546 + .string "I’ll be expecting to hear even greater\n" + .string "things about you now!$" + +BattleFrontier_ScottsHouse_Text_264583: @ 8264583 + .string "Oops, well, if you have too much\n" + .string "stuff, come back for this later.$" + diff --git a/data/scripts/maps/BattlePyramidSquare01.inc b/data/scripts/maps/BattlePyramidSquare01.inc new file mode 100644 index 0000000000..c51e49ba75 --- /dev/null +++ b/data/scripts/maps/BattlePyramidSquare01.inc @@ -0,0 +1 @@ +BattlePyramidSquare01_MapScripts:: @ 823D1A5 diff --git a/data/scripts/maps/BattlePyramidSquare02.inc b/data/scripts/maps/BattlePyramidSquare02.inc new file mode 100644 index 0000000000..a694b03bf6 --- /dev/null +++ b/data/scripts/maps/BattlePyramidSquare02.inc @@ -0,0 +1 @@ +BattlePyramidSquare02_MapScripts:: @ 823D1A5 diff --git a/data/scripts/maps/BattlePyramidSquare03.inc b/data/scripts/maps/BattlePyramidSquare03.inc new file mode 100644 index 0000000000..229dd5a28d --- /dev/null +++ b/data/scripts/maps/BattlePyramidSquare03.inc @@ -0,0 +1 @@ +BattlePyramidSquare03_MapScripts:: @ 823D1A5 diff --git a/data/scripts/maps/BattlePyramidSquare04.inc b/data/scripts/maps/BattlePyramidSquare04.inc new file mode 100644 index 0000000000..a231965b5f --- /dev/null +++ b/data/scripts/maps/BattlePyramidSquare04.inc @@ -0,0 +1 @@ +BattlePyramidSquare04_MapScripts:: @ 823D1A5 diff --git a/data/scripts/maps/BattlePyramidSquare05.inc b/data/scripts/maps/BattlePyramidSquare05.inc new file mode 100644 index 0000000000..e4670f78c3 --- /dev/null +++ b/data/scripts/maps/BattlePyramidSquare05.inc @@ -0,0 +1 @@ +BattlePyramidSquare05_MapScripts:: @ 823D1A5 diff --git a/data/scripts/maps/BattlePyramidSquare06.inc b/data/scripts/maps/BattlePyramidSquare06.inc new file mode 100644 index 0000000000..6c0d38e416 --- /dev/null +++ b/data/scripts/maps/BattlePyramidSquare06.inc @@ -0,0 +1 @@ +BattlePyramidSquare06_MapScripts:: @ 823D1A5 diff --git a/data/scripts/maps/BattlePyramidSquare07.inc b/data/scripts/maps/BattlePyramidSquare07.inc new file mode 100644 index 0000000000..8603a69165 --- /dev/null +++ b/data/scripts/maps/BattlePyramidSquare07.inc @@ -0,0 +1 @@ +BattlePyramidSquare07_MapScripts:: @ 823D1A5 diff --git a/data/scripts/maps/BattlePyramidSquare08.inc b/data/scripts/maps/BattlePyramidSquare08.inc new file mode 100644 index 0000000000..68a055f0e2 --- /dev/null +++ b/data/scripts/maps/BattlePyramidSquare08.inc @@ -0,0 +1 @@ +BattlePyramidSquare08_MapScripts:: @ 823D1A5 diff --git a/data/scripts/maps/BattlePyramidSquare09.inc b/data/scripts/maps/BattlePyramidSquare09.inc new file mode 100644 index 0000000000..e937349887 --- /dev/null +++ b/data/scripts/maps/BattlePyramidSquare09.inc @@ -0,0 +1 @@ +BattlePyramidSquare09_MapScripts:: @ 823D1A5 diff --git a/data/scripts/maps/BattlePyramidSquare10.inc b/data/scripts/maps/BattlePyramidSquare10.inc new file mode 100644 index 0000000000..412e608e7b --- /dev/null +++ b/data/scripts/maps/BattlePyramidSquare10.inc @@ -0,0 +1 @@ +BattlePyramidSquare10_MapScripts:: @ 823D1A5 diff --git a/data/scripts/maps/BattlePyramidSquare11.inc b/data/scripts/maps/BattlePyramidSquare11.inc new file mode 100644 index 0000000000..3b82fb925a --- /dev/null +++ b/data/scripts/maps/BattlePyramidSquare11.inc @@ -0,0 +1 @@ +BattlePyramidSquare11_MapScripts:: @ 823D1A5 diff --git a/data/scripts/maps/BattlePyramidSquare12.inc b/data/scripts/maps/BattlePyramidSquare12.inc new file mode 100644 index 0000000000..87a38213bf --- /dev/null +++ b/data/scripts/maps/BattlePyramidSquare12.inc @@ -0,0 +1 @@ +BattlePyramidSquare12_MapScripts:: @ 823D1A5 diff --git a/data/scripts/maps/BattlePyramidSquare13.inc b/data/scripts/maps/BattlePyramidSquare13.inc new file mode 100644 index 0000000000..1881093053 --- /dev/null +++ b/data/scripts/maps/BattlePyramidSquare13.inc @@ -0,0 +1 @@ +BattlePyramidSquare13_MapScripts:: @ 823D1A5 diff --git a/data/scripts/maps/BattlePyramidSquare14.inc b/data/scripts/maps/BattlePyramidSquare14.inc new file mode 100644 index 0000000000..5ae39cb8a4 --- /dev/null +++ b/data/scripts/maps/BattlePyramidSquare14.inc @@ -0,0 +1 @@ +BattlePyramidSquare14_MapScripts:: @ 823D1A5 diff --git a/data/scripts/maps/BattlePyramidSquare15.inc b/data/scripts/maps/BattlePyramidSquare15.inc new file mode 100644 index 0000000000..f1b7782d79 --- /dev/null +++ b/data/scripts/maps/BattlePyramidSquare15.inc @@ -0,0 +1 @@ +BattlePyramidSquare15_MapScripts:: @ 823D1A5 diff --git a/data/scripts/maps/BattlePyramidSquare16.inc b/data/scripts/maps/BattlePyramidSquare16.inc new file mode 100644 index 0000000000..9308930d1b --- /dev/null +++ b/data/scripts/maps/BattlePyramidSquare16.inc @@ -0,0 +1,3 @@ +BattlePyramidSquare16_MapScripts:: @ 823D1A5 + .byte 0 + diff --git a/data/scripts/maps/BirthIsland_Exterior.inc b/data/scripts/maps/BirthIsland_Exterior.inc new file mode 100644 index 0000000000..afaf9a605b --- /dev/null +++ b/data/scripts/maps/BirthIsland_Exterior.inc @@ -0,0 +1,125 @@ +BirthIsland_Exterior_MapScripts:: @ 8267F15 + map_script 3, BirthIsland_Exterior_MapScript1_267F29 + map_script 5, BirthIsland_Exterior_MapScript1_267F65 + map_script 7, BirthIsland_Exterior_MapScript1_267F25 + .byte 0 + +BirthIsland_Exterior_MapScript1_267F25: @ 8267F25 + special sub_813B1D0 + end + +BirthIsland_Exterior_MapScript1_267F29: @ 8267F29 + setflag FLAG_0x8D3 + setvar VAR_0x4010, 100 + setvar VAR_0x4034, 0 + setvar VAR_0x4035, 0 + checkflag FLAG_0x1AD + call_if 1, BirthIsland_Exterior_EventScript_267F4E + checkflag FLAG_0x1AD + call_if 0, BirthIsland_Exterior_EventScript_267F55 + end + +BirthIsland_Exterior_EventScript_267F4E:: @ 8267F4E + setflag FLAG_0x2FB + setflag FLAG_0x2FC + return + +BirthIsland_Exterior_EventScript_267F55:: @ 8267F55 + checkflag FLAG_0x1AC + goto_eq BirthIsland_Exterior_EventScript_27374E + clearflag FLAG_0x2FC + clearflag FLAG_0x8D4 + return + +BirthIsland_Exterior_MapScript1_267F65: @ 8267F65 + checkflag FLAG_SYS_CTRL_OBJ_DELETE + call_if 1, BirthIsland_Exterior_EventScript_267F6F + end + +BirthIsland_Exterior_EventScript_267F6F:: @ 8267F6F + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 7 + goto_if 5, BirthIsland_Exterior_EventScript_27374E + removeobject 2 + return + +BirthIsland_Exterior_EventScript_267F83:: @ 8267F83 + lock + faceplayer + special sub_813AFC8 + waitstate + switch VAR_RESULT + case 0, BirthIsland_Exterior_EventScript_267FBB + case 1, BirthIsland_Exterior_EventScript_267FBD + case 2, BirthIsland_Exterior_EventScript_267FC1 + case 3, BirthIsland_Exterior_EventScript_267FBF + end + +BirthIsland_Exterior_EventScript_267FBB:: @ 8267FBB + release + end + +BirthIsland_Exterior_EventScript_267FBD:: @ 8267FBD + release + end + +BirthIsland_Exterior_EventScript_267FBF:: @ 8267FBF + release + end + +BirthIsland_Exterior_EventScript_267FC1:: @ 8267FC1 + waitse + setfieldeffectargument 0, 1 + setfieldeffectargument 1, 58 + setfieldeffectargument 2, 26 + dofieldeffect 65 + playbgm MUS_RG_DEOEYE, 0 + waitfieldeffect 65 + addobject 2 + applymovement 2, BirthIsland_Exterior_Movement_268054 + waitmovement 0 + waitse + playmoncry SPECIES_DEOXYS, 2 + delay 40 + waitmoncry + setvar VAR_LAST_TALKED, 2 + setvar VAR_0x8004, 410 + setvar VAR_0x8005, 30 + setvar VAR_0x8006, 0 + special DoScriptedWildBattle + setflag FLAG_SYS_CTRL_OBJ_DELETE + special BattleSetup_StartLegendaryBattle + waitstate + clearflag FLAG_SYS_CTRL_OBJ_DELETE + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 1 + goto_eq BirthIsland_Exterior_EventScript_26803B + compare VAR_RESULT, 4 + goto_eq BirthIsland_Exterior_EventScript_268049 + compare VAR_RESULT, 5 + goto_eq BirthIsland_Exterior_EventScript_268049 + setflag FLAG_0x1AD + release + end + +BirthIsland_Exterior_EventScript_26803B:: @ 826803B + setflag FLAG_0x1AC + setvar VAR_0x8004, 410 + goto BirthIsland_Exterior_EventScript_273776 + end + +BirthIsland_Exterior_EventScript_268049:: @ 8268049 + setvar VAR_0x8004, 410 + goto BirthIsland_Exterior_EventScript_273776 + end + +BirthIsland_Exterior_Movement_268054: @ 8268054 + slow_step_down + slow_step_down + slow_step_down + slow_step_down + slow_step_down + slow_step_down + slow_step_down + step_end + diff --git a/data/scripts/maps/BirthIsland_Harbor.inc b/data/scripts/maps/BirthIsland_Harbor.inc new file mode 100644 index 0000000000..bf82aa6d1e --- /dev/null +++ b/data/scripts/maps/BirthIsland_Harbor.inc @@ -0,0 +1,27 @@ +BirthIsland_Harbor_MapScripts:: @ 826805C + .byte 0 + +BirthIsland_Harbor_EventScript_26805D:: @ 826805D + lock + faceplayer + msgbox BirthIsland_Harbor_Text_2C6B90, 5 + compare VAR_RESULT, 0 + goto_eq BirthIsland_Harbor_EventScript_2680A2 + msgbox BirthIsland_Harbor_Text_2A6A5D, 4 + closemessage + applymovement VAR_LAST_TALKED, BirthIsland_Harbor_Movement_2725AA + waitmovement 0 + delay 30 + hideobjectat 1, BIRTH_ISLAND_HARBOR + setvar VAR_0x8004, 2 + call BirthIsland_Harbor_EventScript_272250 + warp LILYCOVE_CITY_HARBOR, 255, 8, 11 + waitstate + release + end + +BirthIsland_Harbor_EventScript_2680A2:: @ 82680A2 + msgbox BirthIsland_Harbor_Text_2A6A82, 4 + release + end + diff --git a/data/scripts/maps/CaveOfOrigin_1F.inc b/data/scripts/maps/CaveOfOrigin_1F.inc new file mode 100644 index 0000000000..42c78d4b7c --- /dev/null +++ b/data/scripts/maps/CaveOfOrigin_1F.inc @@ -0,0 +1,9 @@ +CaveOfOrigin_1F_MapScripts:: @ 8235768 + map_script 3, CaveOfOrigin_1F_MapScript1_23576E + .byte 0 + +CaveOfOrigin_1F_MapScript1_23576E: @ 823576E + checkflag FLAG_0x071 + call_if 1, CaveOfOrigin_1F_EventScript_2722C1 + end + diff --git a/data/scripts/maps/CaveOfOrigin_B1F.inc b/data/scripts/maps/CaveOfOrigin_B1F.inc new file mode 100644 index 0000000000..5ac3ec64aa --- /dev/null +++ b/data/scripts/maps/CaveOfOrigin_B1F.inc @@ -0,0 +1,118 @@ +CaveOfOrigin_B1F_MapScripts:: @ 82357A8 + .byte 0 + +CaveOfOrigin_B1F_EventScript_2357A9:: @ 82357A9 + lock + faceplayer + msgbox CaveOfOrigin_B1F_Text_23586E, 4 + closemessage + applymovement 1, CaveOfOrigin_B1F_Movement_2725A6 + waitmovement 0 + delay 60 + playse SE_PIN + applymovement 1, CaveOfOrigin_B1F_Movement_272598 + waitmovement 0 + applymovement 1, CaveOfOrigin_B1F_Movement_27259A + waitmovement 0 + delay 30 + applymovement 1, CaveOfOrigin_B1F_Movement_27259E + waitmovement 0 + message CaveOfOrigin_B1F_Text_235ACE + waitmessage + goto CaveOfOrigin_B1F_EventScript_2357F0 + +CaveOfOrigin_B1F_EventScript_2357F0:: @ 82357F0 + multichoice 0, 0, 110, 0 + switch VAR_RESULT + case 0, CaveOfOrigin_B1F_EventScript_23582C + case 1, CaveOfOrigin_B1F_EventScript_235837 + case 2, CaveOfOrigin_B1F_EventScript_23584D + case 3, CaveOfOrigin_B1F_EventScript_235842 + goto CaveOfOrigin_B1F_EventScript_235842 + end + +CaveOfOrigin_B1F_EventScript_23582C:: @ 823582C + message CaveOfOrigin_B1F_Text_235B23 + waitmessage + goto CaveOfOrigin_B1F_EventScript_2357F0 + +CaveOfOrigin_B1F_EventScript_235837:: @ 8235837 + message CaveOfOrigin_B1F_Text_235BBF + waitmessage + goto CaveOfOrigin_B1F_EventScript_2357F0 + +CaveOfOrigin_B1F_EventScript_235842:: @ 8235842 + message CaveOfOrigin_B1F_Text_235C99 + waitmessage + goto CaveOfOrigin_B1F_EventScript_2357F0 + +CaveOfOrigin_B1F_EventScript_23584D:: @ 823584D + msgbox CaveOfOrigin_B1F_Text_235CEE, 4 + closemessage + playse SE_KAIDAN + fadescreenspeed 1, 4 + setflag FLAG_0x137 + setvar VAR_0x405E, 3 + removeobject 1 + clearflag FLAG_0x357 + fadescreen 0 + release + end + +CaveOfOrigin_B1F_Text_23586E: @ 823586E + .string "Ah, so you are {PLAYER}{KUN}?\n" + .string "I’ve heard tales of your exploits.\p" + .string "My name is WALLACE.\p" + .string "I was once the GYM LEADER of\n" + .string "SOOTOPOLIS, but something came up.\p" + .string "So now, I’ve entrusted my mentor JUAN\n" + .string "with the GYM’s operation.\p" + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "GROUDON and KYOGRE, the two POKéMON\n" + .string "wreaking havoc here, are considered\l" + .string "to be super-ancient POKéMON.\p" + .string "But there aren’t just two super-\n" + .string "ancient POKéMON.\p" + .string "There is one more somewhere.\p" + .string "Somewhere, there is a super-\n" + .string "ancient POKéMON named RAYQUAZA.\p" + .string "It’s said that it was RAYQUAZA that\n" + .string "becalmed the two combatants in\l" + .string "the distant past.\p" + .string "But even I have no clue as to\n" + .string "RAYQUAZA’s whereabouts…$" + +CaveOfOrigin_B1F_Text_235ACE: @ 8235ACE + .string "WALLACE: {PLAYER}{KUN}, do you perhaps\n" + .string "know where RAYQUAZA is now?\p" + .string "If you do, please tell me.$" + +CaveOfOrigin_B1F_Text_235B23: @ 8235B23 + .string "WALLACE: The CAVE OF ORIGIN?\p" + .string "But that’s right here!\n" + .string "I need you to do better than that!\p" + .string "Please, I need you to think about\n" + .string "where RAYQUAZA might be right now.$" + +CaveOfOrigin_B1F_Text_235BBF: @ 8235BBF + .string "WALLACE: MT. PYRE?\p" + .string "But when I met the old lady there\n" + .string "earlier, she made no mention of it.\p" + .string "I very much doubt that the old lady\n" + .string "would try to hide something from me…\p" + .string "{PLAYER}{KUN}, could you think about this\n" + .string "more carefully for me?$" + +CaveOfOrigin_B1F_Text_235C99: @ 8235C99 + .string "WALLACE: Huh? You don’t remember?\n" + .string "Hmm… That’s a problem…\p" + .string "Can’t you remember somehow?$" + +CaveOfOrigin_B1F_Text_235CEE: @ 8235CEE + .string "WALLACE: The SKY PILLAR?\p" + .string "That’s it!\n" + .string "It must be the SKY PILLAR!\p" + .string "{PLAYER}{KUN}, there’s not a moment to lose!\n" + .string "We’ll head to the SKY PILLAR right away!$" + diff --git a/data/scripts/maps/CaveOfOrigin_Entrance.inc b/data/scripts/maps/CaveOfOrigin_Entrance.inc new file mode 100644 index 0000000000..a4b96a48f6 --- /dev/null +++ b/data/scripts/maps/CaveOfOrigin_Entrance.inc @@ -0,0 +1,8 @@ +CaveOfOrigin_Entrance_MapScripts:: @ 8235759 + map_script 5, CaveOfOrigin_Entrance_MapScript1_23575F + .byte 0 + +CaveOfOrigin_Entrance_MapScript1_23575F: @ 823575F + setescapewarp SOOTOPOLIS_CITY, 255, 31, 17 + end + diff --git a/data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap1.inc b/data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap1.inc new file mode 100644 index 0000000000..4b42408337 --- /dev/null +++ b/data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap1.inc @@ -0,0 +1,9 @@ +CaveOfOrigin_UnusedRubySapphireMap1_MapScripts:: @ 8235778 + map_script 3, CaveOfOrigin_UnusedRubySapphireMap1_MapScript1_23577E + .byte 0 + +CaveOfOrigin_UnusedRubySapphireMap1_MapScript1_23577E: @ 823577E + checkflag FLAG_0x071 + call_if 1, CaveOfOrigin_UnusedRubySapphireMap1_EventScript_2722C1 + end + diff --git a/data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap2.inc b/data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap2.inc new file mode 100644 index 0000000000..d73ff82311 --- /dev/null +++ b/data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap2.inc @@ -0,0 +1,9 @@ +CaveOfOrigin_UnusedRubySapphireMap2_MapScripts:: @ 8235788 + map_script 3, CaveOfOrigin_UnusedRubySapphireMap2_MapScript1_23578E + .byte 0 + +CaveOfOrigin_UnusedRubySapphireMap2_MapScript1_23578E: @ 823578E + checkflag FLAG_0x071 + call_if 1, CaveOfOrigin_UnusedRubySapphireMap2_EventScript_2722C1 + end + diff --git a/data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap3.inc b/data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap3.inc new file mode 100644 index 0000000000..7f4fb2ff16 --- /dev/null +++ b/data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap3.inc @@ -0,0 +1,9 @@ +CaveOfOrigin_UnusedRubySapphireMap3_MapScripts:: @ 8235798 + map_script 3, CaveOfOrigin_UnusedRubySapphireMap3_MapScript1_23579E + .byte 0 + +CaveOfOrigin_UnusedRubySapphireMap3_MapScript1_23579E: @ 823579E + checkflag FLAG_0x071 + call_if 1, CaveOfOrigin_UnusedRubySapphireMap3_EventScript_2722C1 + end + diff --git a/data/scripts/maps/DesertRuins.inc b/data/scripts/maps/DesertRuins.inc new file mode 100644 index 0000000000..9137902f2c --- /dev/null +++ b/data/scripts/maps/DesertRuins.inc @@ -0,0 +1,98 @@ +DesertRuins_MapScripts:: @ 822D95B + map_script 5, DesertRuins_MapScript1_22D96B + map_script 1, DesertRuins_MapScript1_22D989 + map_script 3, DesertRuins_MapScript1_22D9CA + .byte 0 + +DesertRuins_MapScript1_22D96B: @ 822D96B + checkflag FLAG_SYS_CTRL_OBJ_DELETE + call_if 1, DesertRuins_EventScript_22D975 + end + +DesertRuins_EventScript_22D975:: @ 822D975 + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 7 + goto_if 5, DesertRuins_EventScript_27374E + removeobject VAR_LAST_TALKED + return + +DesertRuins_MapScript1_22D989: @ 822D989 + checkflag FLAG_SYS_BRAILLE_STRENGTH + call_if 0, DesertRuins_EventScript_22D993 + end + +DesertRuins_EventScript_22D993:: @ 822D993 + setmetatile 7, 19, 553, 1 + setmetatile 8, 19, 553, 1 + setmetatile 9, 19, 553, 1 + setmetatile 7, 20, 565, 1 + setmetatile 8, 20, 565, 1 + setmetatile 9, 20, 565, 1 + return + +DesertRuins_MapScript1_22D9CA: @ 822D9CA + setflag FLAG_LANDMARK_DESERT_RUINS + checkflag FLAG_0x1BB + call_if 0, DesertRuins_EventScript_22D9D7 + end + +DesertRuins_EventScript_22D9D7:: @ 822D9D7 + clearflag FLAG_0x3A7 + return + +DesertRuins_EventScript_22D9DB:: @ 822D9DB + lockall + checkflag FLAG_SYS_BRAILLE_STRENGTH + goto_eq DesertRuins_EventScript_22D9EE + braillemessage DesertRuins_Braille_2A6CA0 + waitbuttonpress + hidebox2 + releaseall + end + +DesertRuins_EventScript_22D9EE:: @ 822D9EE + msgbox gUnknown_0827304E, 4 + releaseall + end + +DesertRuins_EventScript_22D9F8:: @ 822D9F8 + lockall + braillemessage DesertRuins_Braille_2A6CA0 + waitbuttonpress + hidebox2 + releaseall + end + +DesertRuins_EventScript_22DA02:: @ 822DA02 + lock + faceplayer + waitse + playmoncry SPECIES_REGIROCK, 2 + delay 40 + waitmoncry + setwildbattle SPECIES_REGIROCK, 40, ITEM_NONE + setflag FLAG_SYS_CTRL_OBJ_DELETE + special StartRegiBattle + waitstate + clearflag FLAG_SYS_CTRL_OBJ_DELETE + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 1 + goto_eq DesertRuins_EventScript_22DA49 + compare VAR_RESULT, 4 + goto_eq DesertRuins_EventScript_22DA52 + compare VAR_RESULT, 5 + goto_eq DesertRuins_EventScript_22DA52 + setflag FLAG_0x1BB + release + end + +DesertRuins_EventScript_22DA49:: @ 822DA49 + setflag FLAG_0x1BB + goto DesertRuins_EventScript_27376D + end + +DesertRuins_EventScript_22DA52:: @ 822DA52 + setvar VAR_0x8004, 401 + goto DesertRuins_EventScript_273776 + end + diff --git a/data/scripts/maps/DesertUnderpass.inc b/data/scripts/maps/DesertUnderpass.inc new file mode 100644 index 0000000000..486bd25772 --- /dev/null +++ b/data/scripts/maps/DesertUnderpass.inc @@ -0,0 +1,36 @@ +DesertUnderpass_MapScripts:: @ 823AF37 + map_script 3, DesertUnderpass_MapScript1_23AF3D + .byte 0 + +DesertUnderpass_MapScript1_23AF3D: @ 823AF3D + setflag FLAG_LANDMARK_DESERT_UNDERPASS + end + +DesertUnderpass_EventScript_23AF41:: @ 823AF41 + lock + faceplayer + checkflag FLAG_0x14F + goto_eq DesertUnderpass_EventScript_23AF57 + checkflag FLAG_0x150 + goto_eq DesertUnderpass_EventScript_23AF68 + release + end + +DesertUnderpass_EventScript_23AF57:: @ 823AF57 + giveitem_std ITEM_CLAW_FOSSIL + removeobject 1 + release + end + +DesertUnderpass_EventScript_23AF68:: @ 823AF68 + giveitem_std ITEM_ROOT_FOSSIL + removeobject 1 + release + end + +DesertUnderpass_Text_23AF79:: @ 823AF79 + .string "{PLAYER} found the ROOT FOSSIL.$" + +DesertUnderpass_Text_23AF93:: @ 823AF93 + .string "{PLAYER} found the CLAW FOSSIL.$" + diff --git a/data/scripts/maps/DewfordTown.inc b/data/scripts/maps/DewfordTown.inc new file mode 100644 index 0000000000..f78d4ea15a --- /dev/null +++ b/data/scripts/maps/DewfordTown.inc @@ -0,0 +1,805 @@ +DewfordTown_MapScripts:: @ 81E9507 + map_script 3, DewfordTown_MapScript1_1E950D + .byte 0 + +DewfordTown_MapScript1_1E950D: @ 81E950D + setflag FLAG_VISITED_DEWFORD_TOWN + end + +DewfordTown_EventScript_1E9511:: @ 81E9511 + lock + faceplayer + checkflag FLAG_0x0BD + goto_if 0, DewfordTown_EventScript_1E9585 + message DewfordTown_Text_1E9C8A + waitmessage + multichoicedefault 21, 6, 0, 2, 0 + switch VAR_RESULT + case 0, DewfordTown_EventScript_1E955A + case 1, DewfordTown_EventScript_1E956A + case 2, DewfordTown_EventScript_1E957A + case 127, DewfordTown_EventScript_1E957A + end + +DewfordTown_EventScript_1E955A:: @ 81E955A + msgbox DewfordTown_Text_1E9CE5, 4 + closemessage + goto DewfordTown_EventScript_1E9660 + release + end + +DewfordTown_EventScript_1E956A:: @ 81E956A + msgbox DewfordTown_Text_1E9D3A, 4 + closemessage + goto DewfordTown_EventScript_1E96E7 + release + end + +DewfordTown_EventScript_1E957A:: @ 81E957A + msgbox DewfordTown_Text_1E9D8F, 4 + closemessage + release + end + +DewfordTown_EventScript_1E9585:: @ 81E9585 + msgbox DewfordTown_Text_1E9B24, 5 + compare VAR_RESULT, 1 + goto_eq DewfordTown_EventScript_1E95A2 + msgbox DewfordTown_Text_1E9BD9, 4 + release + end + +DewfordTown_EventScript_1E95A2:: @ 81E95A2 + msgbox DewfordTown_Text_1E9B7F, 4 + closemessage + goto DewfordTown_EventScript_1E9660 + end + +DewfordTown_EventScript_1E95B1:: @ 81E95B1 + msgbox DewfordTown_Text_1E99A8, 2 + end + +DewfordTown_EventScript_1E95BA:: @ 81E95BA + msgbox DewfordTown_Text_1E9A0F, 3 + end + +DewfordTown_EventScript_1E95C3:: @ 81E95C3 + msgbox DewfordTown_Text_1E9A3D, 3 + end + +DewfordTown_EventScript_1E95CC:: @ 81E95CC + msgbox DewfordTown_Text_1E9A7F, 3 + end + +DewfordTown_EventScript_1E95D5:: @ 81E95D5 + lock + faceplayer + checkflag FLAG_0x101 + goto_eq DewfordTown_EventScript_1E962A + msgbox DewfordTown_Text_1E9DD1, 5 + compare VAR_RESULT, 1 + goto_eq DewfordTown_EventScript_1E95FF + compare VAR_RESULT, 0 + goto_eq DewfordTown_EventScript_1E9620 + end + +DewfordTown_EventScript_1E95FF:: @ 81E95FF + msgbox DewfordTown_Text_1E9E14, 4 + giveitem_std ITEM_OLD_ROD + setflag FLAG_0x101 + msgbox DewfordTown_Text_1E9E65, 4 + release + end + +DewfordTown_EventScript_1E9620:: @ 81E9620 + msgbox DewfordTown_Text_1E9F92, 4 + release + end + +DewfordTown_EventScript_1E962A:: @ 81E962A + message DewfordTown_Text_1E9FB8 + waitmessage + multichoice 20, 8, 50, 1 + compare VAR_RESULT, 0 + goto_eq DewfordTown_EventScript_1E964C + compare VAR_RESULT, 1 + goto_eq DewfordTown_EventScript_1E9656 + end + +DewfordTown_EventScript_1E964C:: @ 81E964C + msgbox DewfordTown_Text_1E9FD0, 4 + release + end + +DewfordTown_EventScript_1E9656:: @ 81E9656 + msgbox DewfordTown_Text_1EA004, 4 + release + end + +DewfordTown_EventScript_1E9660:: @ 81E9660 + call DewfordTown_EventScript_271E95 + setobjectpriority 2, DEWFORD_TOWN, 0 + setobjectpriority 255, DEWFORD_TOWN, 0 + applymovement 2, DewfordTown_Movement_1E991D + waitmovement 0 + removeobject 2 + applymovement 255, DewfordTown_Movement_1E9911 + waitmovement 0 + hideobjectat 255, DEWFORD_TOWN + call DewfordTown_EventScript_2720A0 + applymovement 4, DewfordTown_Movement_1E97A2 + applymovement 255, DewfordTown_Movement_1E97A2 + waitmovement 0 + showobjectat 255, ROUTE_104 + call DewfordTown_EventScript_2720A8 + applymovement 255, DewfordTown_Movement_1E9914 + waitmovement 0 + showobjectat 255, ROUTE_104 + clearflag FLAG_0x2E3 + clearflag FLAG_0x371 + clearflag FLAG_0x2E6 + setflag FLAG_0x2E7 + hideobjectat 4, DEWFORD_TOWN + setvar VAR_0x408E, 2 + resetobjectpriority 255, DEWFORD_TOWN + warp ROUTE_104_MR_BRINEYS_HOUSE, 255, 5, 4 + copyvar VAR_0x4096, VAR_0x8008 + waitstate + release + end + +DewfordTown_EventScript_1E96E7:: @ 81E96E7 + call DewfordTown_EventScript_271E95 + setobjectpriority 2, DEWFORD_TOWN, 0 + setobjectpriority 255, DEWFORD_TOWN, 1 + applymovement 2, DewfordTown_Movement_1E991D + waitmovement 0 + removeobject 2 + applymovement 255, DewfordTown_Movement_1E9911 + waitmovement 0 + hideobjectat 255, DEWFORD_TOWN + call DewfordTown_EventScript_2720A0 + applymovement 4, DewfordTown_Movement_1E9865 + applymovement 255, DewfordTown_Movement_1E9865 + waitmovement 0 + call DewfordTown_EventScript_2720A8 + showobjectat 255, ROUTE_109 + applymovement 255, DewfordTown_Movement_1E9918 + waitmovement 0 + setobjectxyperm 2, 21, 26 + addobject 2 + setobjectpriority 2, ROUTE_109, 0 + applymovement 2, DewfordTown_Movement_1E991F + waitmovement 0 + clearflag FLAG_0x2E5 + addobject 1 + clearflag FLAG_0x2E8 + setflag FLAG_0x2E7 + hideobjectat 4, DEWFORD_TOWN + checkflag FLAG_0x095 + call_if 0, DewfordTown_EventScript_1E9790 + checkflag FLAG_0x095 + call_if 1, DewfordTown_EventScript_1E9799 + closemessage + copyvar VAR_0x4096, VAR_0x8008 + resetobjectpriority 255, DEWFORD_TOWN + resetobjectpriority 2, ROUTE_109 + moveobjectoffscreen 2 + release + end + +DewfordTown_EventScript_1E9790:: @ 81E9790 + msgbox DewfordTown_Text_1EEC1D, 4 + return + +DewfordTown_EventScript_1E9799:: @ 81E9799 + msgbox DewfordTown_Text_1EEDA7, 4 + return + +DewfordTown_Movement_1E97A2: @ 81E97A2 + step_up + step_up + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_up + step_up + step_left + step_left + step_17 + step_17 + step_17 + step_17 + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_17 + step_17 + step_17 + step_17 + step_16 + step_16 + step_16 + step_16 + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_16 + step_16 + step_16 + step_16 + step_17 + step_17 + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_17 + step_17 + step_16 + step_16 + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_16 + step_16 + step_16 + step_16 + step_up + step_up + step_up + step_up + step_end + +DewfordTown_Movement_1E9865: @ 81E9865 + step_right + step_18 + step_18 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_18 + step_18 + step_16 + step_16 + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_end + +DewfordTown_Movement_1E9911: @ 81E9911 + step_right + step_up + step_end + +DewfordTown_Movement_1E9914: @ 81E9914 + step_up + step_up + step_up + step_end + +DewfordTown_Movement_1E9918: @ 81E9918 + step_up + step_up + step_up + step_25 + step_end + +DewfordTown_Movement_1E991D: @ 81E991D + step_up + step_end + +DewfordTown_Movement_1E991F: @ 81E991F + step_up + step_up + step_end + +DewfordTown_EventScript_1E9922:: @ 81E9922 + lock + faceplayer + call DewfordTown_EventScript_271E8B + msgbox DewfordTown_Text_1EA136, 5 + compare VAR_RESULT, 1 + goto_eq DewfordTown_EventScript_1E9948 + compare VAR_RESULT, 0 + goto_eq DewfordTown_EventScript_1E9952 + end + +DewfordTown_EventScript_1E9948:: @ 81E9948 + msgbox DewfordTown_Text_1EA491, 4 + release + end + +DewfordTown_EventScript_1E9952:: @ 81E9952 + msgbox DewfordTown_Text_1EA242, 4 + setvar VAR_0x8004, 9 + call DewfordTown_EventScript_271E7C + lock + faceplayer + compare VAR_RESULT, 1 + goto_eq DewfordTown_EventScript_1E997D + compare VAR_RESULT, 0 + goto_eq DewfordTown_EventScript_1E9994 + end + +DewfordTown_EventScript_1E997D:: @ 81E997D + incrementgamestat 2 + compare VAR_0x8004, 0 + goto_eq DewfordTown_EventScript_1E999E + msgbox DewfordTown_Text_1EA2AA, 4 + release + end + +DewfordTown_EventScript_1E9994:: @ 81E9994 + msgbox DewfordTown_Text_1EA443, 4 + release + end + +DewfordTown_EventScript_1E999E:: @ 81E999E + msgbox DewfordTown_Text_1EA3FE, 4 + release + end + +DewfordTown_Text_1E99A8: @ 81E99A8 + .string "DEWFORD is a tiny island community.\n" + .string "If something gets trendy here,\l" + .string "everyone picks up on it right away.$" + +DewfordTown_Text_1E9A0F: @ 81E9A0F + .string "DEWFORD TOWN\n" + .string "“A tiny island in the blue sea.”$" + +DewfordTown_Text_1E9A3D: @ 81E9A3D + .string "DEWFORD TOWN POKéMON GYM\n" + .string "LEADER: BRAWLY\l" + .string "“A big wave in fighting!”$" + +DewfordTown_Text_1E9A7F: @ 81E9A7F + .string "DEWFORD HALL\n" + .string "“Everyone’s information exchange!”$" + +Route104_Text_1E9AAF: @ 81E9AAF + .string "MR. BRINEY: Ahoy!\n" + .string "We’ve hit land in DEWFORD.\p" + .string "I suppose you’re off to deliver that\n" + .string "LETTER to, who was it now, STEVEN!$" + +DewfordTown_Text_1E9B24: @ 81E9B24 + .string "MR. BRINEY: Have you delivered your\n" + .string "LETTER?\p" + .string "Or were you meaning to sail back to\n" + .string "PETALBURG?$" + +DewfordTown_Text_1E9B7F: @ 81E9B7F + .string "MR. BRINEY: PETALBURG it is, then!\p" + .string "Anchors aweigh!\n" + .string "PEEKO, we’re setting sail, my darling!$" + +DewfordTown_Text_1E9BD9: @ 81E9BD9 + .string "MR. BRINEY: Then you go on and deliver\n" + .string "the LETTER. I’ll be waiting.$" + +Route104_Text_1E9C1D: @ 81E9C1D +Route109_Text_1E9C1D: @ 81E9C1D + .string "MR. BRINEY: Ahoy!\n" + .string "We’ve hit land in DEWFORD!\p" + .string "You just go on and tell me whenever\n" + .string "you want to set sail again!$" + +DewfordTown_Text_1E9C8A: @ 81E9C8A + .string "MR. BRINEY: Ahoy!\n" + .string "For you, I’ll go out to sea anytime!\p" + .string "Now, my friend, where are we bound?$" + +DewfordTown_Text_1E9CE5: @ 81E9CE5 + .string "MR. BRINEY: PETALBURG, is it?\p" + .string "Anchors aweigh!\n" + .string "PEEKO, we’re setting sail, my darling!$" + +DewfordTown_Text_1E9D3A: @ 81E9D3A + .string "MR. BRINEY: SLATEPORT, is it?\p" + .string "Anchors aweigh!\n" + .string "PEEKO, we’re setting sail, my darling!$" + +DewfordTown_Text_1E9D8F: @ 81E9D8F + .string "MR. BRINEY: You just tell me whenever\n" + .string "you need to set sail again!$" + +DewfordTown_Text_1E9DD1: @ 81E9DD1 + .string "This is a renowned fishing spot.\n" + .string "Are you getting the itch to fish?$" + +DewfordTown_Text_1E9E14: @ 81E9E14 + .string "I hear you, and I like what\n" + .string "you’re saying!\p" + .string "I’ll give you one of my fishing RODS.$" + +DewfordTown_Text_1E9E65: @ 81E9E65 + .string "And, as an added bonus, I’ll even throw\n" + .string "in a little fishing advice!\p" + .string "First, you want to face the water,\n" + .string "then use the ROD.\p" + .string "Focus your mind…\n" + .string "If you get a bite, pull on the ROD.\p" + .string "Sometimes you can snag something\n" + .string "immediately, but with bigger catches,\l" + .string "you need to time the pulls on your ROD\l" + .string "to haul them in.$" + +DewfordTown_Text_1E9F92: @ 81E9F92 + .string "Oh, is that so?\n" + .string "That’s too bad, then.$" + +DewfordTown_Text_1E9FB8: @ 81E9FB8 + .string "Yo!\n" + .string "How’s your fishing?$" + +DewfordTown_Text_1E9FD0: @ 81E9FD0 + .string "Is that right! That’s great!\n" + .string "Haul in some big ones!$" + +DewfordTown_Text_1EA004: @ 81EA004 + .string "Oh, hey, don’t get down on yourself!\n" + .string "I’ll give you a little fishing advice.\p" + .string "First, you want to face the water,\n" + .string "then use the ROD.\p" + .string "Focus your mind…\n" + .string "If you get a bite, pull the ROD.\p" + .string "Sometimes you can snag something\n" + .string "immediately, but with bigger catches,\l" + .string "you need to time the pulls on your ROD\l" + .string "to haul them in.$" + +DewfordTown_Text_1EA136: @ 81EA136 + .string "I like what’s hip, happening, and trendy.\n" + .string "I’m always checking it out.\p" + .string "Listen, have you heard about this new\n" + .string "“{STR_VAR_1}”?\p" + .string "That’s right!\n" + .string "Of course you know!\p" + .string "I mean, sheesh,\n" + .string "“{STR_VAR_1}”…\l" + .string "It’s the hottest thing in cool!\p" + .string "Wherever you’re from,\n" + .string "“{STR_VAR_1}”\l" + .string "is the biggest happening thing, right?$" + +DewfordTown_Text_1EA242: @ 81EA242 + .string "Hunh?\n" + .string "It’s not the hip and happening thing?\p" + .string "Well, hey, you have to tell me,\n" + .string "what’s new and what’s “in”?$" + +DewfordTown_Text_1EA2AA: @ 81EA2AA + .string "Hunh?\n" + .string "“{STR_VAR_2}”?\p" + .string "… …\p" + .string "…Uh… Yeah! That’s right!\n" + .string "Yeah, I knew that! Knew it all along!\p" + .string "Of course I know about that!\n" + .string "“{STR_VAR_2},” right?\p" + .string "Yeah, that’s it, it’s there!\n" + .string "Isn’t “{STR_VAR_2}”\l" + .string "the coolest, or what?\p" + .string "It’s the hippest thing in hip.\n" + .string "You think I’d not know about it?\p" + .string "“{STR_VAR_1}”…\n" + .string "It’s, like, so five minutes ago.\p" + .string "Now, “{STR_VAR_2}” is\n" + .string "what’s vital and in tune with the times!$" + +DewfordTown_Text_1EA3FE: @ 81EA3FE + .string "Hmm…\n" + .string "“{STR_VAR_2},” huh?\p" + .string "But personally, I think\n" + .string "“{STR_VAR_1}”\l" + .string "is what’s real in cool.$" + +DewfordTown_Text_1EA443: @ 81EA443 + .string "Well, if you hear of any happening new\n" + .string "trends, come share them with me, okay?$" + +DewfordTown_Text_1EA491: @ 81EA491 + .string "Yeah, absolutely right!\p" + .string "“{STR_VAR_1}” is the\n" + .string "definition of “in” right now.$" diff --git a/data/scripts/maps/DewfordTown_Gym.inc b/data/scripts/maps/DewfordTown_Gym.inc new file mode 100644 index 0000000000..6acd677926 --- /dev/null +++ b/data/scripts/maps/DewfordTown_Gym.inc @@ -0,0 +1,491 @@ +DewfordTown_Gym_MapScripts:: @ 81FC63C + map_script 3, DewfordTown_Gym_MapScript1_1FC642 + .byte 0 + +DewfordTown_Gym_MapScript1_1FC642: @ 81FC642 + call DewfordTown_Gym_EventScript_1FC648 + end + +DewfordTown_Gym_EventScript_1FC648:: @ 81FC648 + checktrainerflag TRAINER_BRAWLY_1 + goto_eq DewfordTown_Gym_EventScript_1FC6A2 + call DewfordTown_Gym_EventScript_1FC768 + copyvar VAR_0x8001, VAR_0x8000 + compare VAR_0x8000, 0 + goto_eq DewfordTown_Gym_EventScript_1FC6BE + compare VAR_0x8000, 1 + goto_eq DewfordTown_Gym_EventScript_1FC6BA + compare VAR_0x8000, 2 + goto_eq DewfordTown_Gym_EventScript_1FC6B6 + compare VAR_0x8000, 3 + goto_eq DewfordTown_Gym_EventScript_1FC6B2 + compare VAR_0x8000, 4 + goto_eq DewfordTown_Gym_EventScript_1FC6AE + compare VAR_0x8000, 5 + goto_eq DewfordTown_Gym_EventScript_1FC6AA + goto DewfordTown_Gym_EventScript_1FC6A6 + +DewfordTown_Gym_EventScript_1FC6A2:: @ 81FC6A2 + setflashradius 0 + return + +DewfordTown_Gym_EventScript_1FC6A6:: @ 81FC6A6 + setflashradius 1 + return + +DewfordTown_Gym_EventScript_1FC6AA:: @ 81FC6AA + setflashradius 2 + return + +DewfordTown_Gym_EventScript_1FC6AE:: @ 81FC6AE + setflashradius 3 + return + +DewfordTown_Gym_EventScript_1FC6B2:: @ 81FC6B2 + setflashradius 4 + return + +DewfordTown_Gym_EventScript_1FC6B6:: @ 81FC6B6 + setflashradius 5 + return + +DewfordTown_Gym_EventScript_1FC6BA:: @ 81FC6BA + setflashradius 6 + return + +DewfordTown_Gym_EventScript_1FC6BE:: @ 81FC6BE + setflashradius 7 + return + +DewfordTown_Gym_EventScript_1FC6C2:: @ 81FC6C2 + call DewfordTown_Gym_EventScript_1FC768 + nop1 + compare VAR_0x8000, VAR_0x8001 + goto_eq DewfordTown_Gym_EventScript_1FC71A + copyvar VAR_0x8001, VAR_0x8000 + compare VAR_0x8000, 1 + goto_eq DewfordTown_Gym_EventScript_1FC71B + compare VAR_0x8000, 2 + goto_eq DewfordTown_Gym_EventScript_1FC726 + compare VAR_0x8000, 3 + goto_eq DewfordTown_Gym_EventScript_1FC731 + compare VAR_0x8000, 4 + goto_eq DewfordTown_Gym_EventScript_1FC73C + compare VAR_0x8000, 5 + goto_eq DewfordTown_Gym_EventScript_1FC747 + compare VAR_0x8000, 6 + goto_eq DewfordTown_Gym_EventScript_1FC752 + +DewfordTown_Gym_EventScript_1FC71A:: @ 81FC71A + return + +DewfordTown_Gym_EventScript_1FC71B:: @ 81FC71B + playse SE_MU_PACHI + animateflash 6 + call DewfordTown_Gym_EventScript_1FC648 + return + +DewfordTown_Gym_EventScript_1FC726:: @ 81FC726 + playse SE_MU_PACHI + animateflash 5 + call DewfordTown_Gym_EventScript_1FC648 + return + +DewfordTown_Gym_EventScript_1FC731:: @ 81FC731 + playse SE_MU_PACHI + animateflash 4 + call DewfordTown_Gym_EventScript_1FC648 + return + +DewfordTown_Gym_EventScript_1FC73C:: @ 81FC73C + playse SE_MU_PACHI + animateflash 3 + call DewfordTown_Gym_EventScript_1FC648 + return + +DewfordTown_Gym_EventScript_1FC747:: @ 81FC747 + playse SE_MU_PACHI + animateflash 2 + call DewfordTown_Gym_EventScript_1FC648 + return + +DewfordTown_Gym_EventScript_1FC752:: @ 81FC752 + playse SE_MU_PACHI + animateflash 1 + call DewfordTown_Gym_EventScript_1FC648 + return + +DewfordTown_Gym_EventScript_1FC75D:: @ 81FC75D + playse SE_MU_PACHI + animateflash 0 + call DewfordTown_Gym_EventScript_1FC648 + return + +DewfordTown_Gym_EventScript_1FC768:: @ 81FC768 + setvar VAR_0x8000, 0 + checktrainerflag TRAINER_TAKAO + goto_if 0, DewfordTown_Gym_EventScript_1FC77B + addvar VAR_0x8000, 1 + +DewfordTown_Gym_EventScript_1FC77B:: @ 81FC77B + checktrainerflag TRAINER_JOCELYN + goto_if 0, DewfordTown_Gym_EventScript_1FC789 + addvar VAR_0x8000, 1 + +DewfordTown_Gym_EventScript_1FC789:: @ 81FC789 + checktrainerflag TRAINER_LAURA + goto_if 0, DewfordTown_Gym_EventScript_1FC797 + addvar VAR_0x8000, 1 + +DewfordTown_Gym_EventScript_1FC797:: @ 81FC797 + checktrainerflag TRAINER_BRENDEN + goto_if 0, DewfordTown_Gym_EventScript_1FC7A5 + addvar VAR_0x8000, 1 + +DewfordTown_Gym_EventScript_1FC7A5:: @ 81FC7A5 + checktrainerflag TRAINER_CRISTIAN + goto_if 0, DewfordTown_Gym_EventScript_1FC7B3 + addvar VAR_0x8000, 1 + +DewfordTown_Gym_EventScript_1FC7B3:: @ 81FC7B3 + checktrainerflag TRAINER_LILITH + goto_if 0, DewfordTown_Gym_EventScript_1FC7C1 + addvar VAR_0x8000, 1 + +DewfordTown_Gym_EventScript_1FC7C1:: @ 81FC7C1 + return + +DewfordTown_Gym_EventScript_1FC7C2:: @ 81FC7C2 + trainerbattle 1, TRAINER_BRAWLY_1, 0, DewfordTown_Gym_Text_1FCF44, DewfordTown_Gym_Text_1FD008, DewfordTown_Gym_EventScript_1FC7F7 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq DewfordTown_Gym_EventScript_1FC89C + checkflag FLAG_0x0A6 + goto_if 0, DewfordTown_Gym_EventScript_1FC878 + msgbox DewfordTown_Gym_Text_1FD20D, 4 + release + end + +DewfordTown_Gym_EventScript_1FC7F7:: @ 81FC7F7 + call DewfordTown_Gym_EventScript_1FC75D + message DewfordTown_Gym_Text_1FD07D + waitmessage + call DewfordTown_Gym_EventScript_27207E + msgbox DewfordTown_Gym_Text_1FD0A8, 4 + setflag FLAG_0x4F1 + setflag FLAG_BADGE02_GET + addvar VAR_0x4085, 1 + compare VAR_0x4085, 6 + call_if 1, DewfordTown_Gym_EventScript_271E84 + setvar VAR_0x8008, 2 + call DewfordTown_Gym_EventScript_271F43 + call DewfordTown_Gym_EventScript_1FC855 + closemessage + delay 30 + playfanfare MUS_ME_TORE_EYE + msgbox DewfordTown_Gym_Text_1FD1E0, 4 + waitfanfare + closemessage + delay 30 + setflag FLAG_0x1D4 + setvar VAR_0x40F4, 0 + setflag FLAG_0x080 + release + end + +DewfordTown_Gym_EventScript_1FC855:: @ 81FC855 + giveitem_std ITEM_TM08 + compare VAR_RESULT, 0 + goto_eq DewfordTown_Gym_EventScript_27205E + msgbox DewfordTown_Gym_Text_1FD181, 4 + setflag FLAG_0x0A6 + return + +DewfordTown_Gym_EventScript_1FC878:: @ 81FC878 + giveitem_std ITEM_TM08 + compare VAR_RESULT, 0 + goto_eq DewfordTown_Gym_EventScript_272054 + msgbox DewfordTown_Gym_Text_1FD181, 4 + setflag FLAG_0x0A6 + release + end + +DewfordTown_Gym_EventScript_1FC89C:: @ 81FC89C + trainerbattle 7, TRAINER_BRAWLY_1, 0, DewfordTown_Gym_Text_1FD2C4, DewfordTown_Gym_Text_1FD367, DewfordTown_Gym_Text_1FD3DE + msgbox DewfordTown_Gym_Text_1FD37B, 6 + end + +DewfordTown_Gym_EventScript_1FC8B7:: @ 81FC8B7 + trainerbattle 2, TRAINER_TAKAO, 0, DewfordTown_Gym_Text_1FCB9F, DewfordTown_Gym_Text_1FCBB8, DewfordTown_Gym_EventScript_1FC8D2 + msgbox DewfordTown_Gym_Text_1FCBCA, 6 + end + +DewfordTown_Gym_EventScript_1FC8D2:: @ 81FC8D2 + call DewfordTown_Gym_EventScript_1FC6C2 + release + end + +DewfordTown_Gym_EventScript_1FC8D9:: @ 81FC8D9 + trainerbattle 2, TRAINER_JOCELYN, 0, DewfordTown_Gym_Text_1FCC0A, DewfordTown_Gym_Text_1FCC45, DewfordTown_Gym_EventScript_1FC8F4 + msgbox DewfordTown_Gym_Text_1FCC6B, 6 + end + +DewfordTown_Gym_EventScript_1FC8F4:: @ 81FC8F4 + call DewfordTown_Gym_EventScript_1FC6C2 + release + end + +DewfordTown_Gym_EventScript_1FC8FB:: @ 81FC8FB + trainerbattle 2, TRAINER_LAURA, 0, DewfordTown_Gym_Text_1FCD01, DewfordTown_Gym_Text_1FCD3C, DewfordTown_Gym_EventScript_1FC916 + msgbox DewfordTown_Gym_Text_1FCD4F, 6 + end + +DewfordTown_Gym_EventScript_1FC916:: @ 81FC916 + call DewfordTown_Gym_EventScript_1FC6C2 + release + end + +DewfordTown_Gym_EventScript_1FC91D:: @ 81FC91D + trainerbattle 2, TRAINER_BRENDEN, 0, DewfordTown_Gym_Text_1FCE48, DewfordTown_Gym_Text_1FCE75, DewfordTown_Gym_EventScript_1FC938 + msgbox DewfordTown_Gym_Text_1FCEAB, 6 + end + +DewfordTown_Gym_EventScript_1FC938:: @ 81FC938 + call DewfordTown_Gym_EventScript_1FC6C2 + release + end + +DewfordTown_Gym_EventScript_1FC93F:: @ 81FC93F + trainerbattle 2, TRAINER_CRISTIAN, 0, DewfordTown_Gym_Text_1FCEDC, DewfordTown_Gym_Text_1FCF0A, DewfordTown_Gym_EventScript_1FC95A + msgbox DewfordTown_Gym_Text_1FCF26, 6 + end + +DewfordTown_Gym_EventScript_1FC95A:: @ 81FC95A + call DewfordTown_Gym_EventScript_1FC6C2 + release + end + +DewfordTown_Gym_EventScript_1FC961:: @ 81FC961 + trainerbattle 2, TRAINER_LILITH, 0, DewfordTown_Gym_Text_1FCDB8, DewfordTown_Gym_Text_1FCDE5, DewfordTown_Gym_EventScript_1FC97C + msgbox DewfordTown_Gym_Text_1FCE08, 6 + end + +DewfordTown_Gym_EventScript_1FC97C:: @ 81FC97C + call DewfordTown_Gym_EventScript_1FC6C2 + release + end + +DewfordTown_Gym_EventScript_1FC983:: @ 81FC983 + lock + faceplayer + checkflag FLAG_0x4F1 + goto_eq DewfordTown_Gym_EventScript_1FC998 + msgbox DewfordTown_Gym_Text_1FC9D6, 4 + release + end + +DewfordTown_Gym_EventScript_1FC998:: @ 81FC998 + msgbox DewfordTown_Gym_Text_1FCB5C, 4 + release + end + +DewfordTown_Gym_EventScript_1FC9A2:: @ 81FC9A2 + lockall + checkflag FLAG_BADGE02_GET + goto_eq DewfordTown_Gym_EventScript_1FC9C2 + goto DewfordTown_Gym_EventScript_1FC9CC + end + +DewfordTown_Gym_EventScript_1FC9B2:: @ 81FC9B2 + lockall + checkflag FLAG_BADGE02_GET + goto_eq DewfordTown_Gym_EventScript_1FC9C2 + goto DewfordTown_Gym_EventScript_1FC9CC + end + +DewfordTown_Gym_EventScript_1FC9C2:: @ 81FC9C2 + msgbox DewfordTown_Gym_Text_1FD28B, 4 + releaseall + end + +DewfordTown_Gym_EventScript_1FC9CC:: @ 81FC9CC + msgbox DewfordTown_Gym_Text_1FD272, 4 + releaseall + end + +DewfordTown_Gym_Text_1FC9D6: @ 81FC9D6 + .string "Hey, how’s it going, CHAMPION-\n" + .string "bound {PLAYER}?\p" + .string "DEWFORD’s GYM LEADER BRAWLY commands\n" + .string "FIGHTING-type POKéMON.\p" + .string "Going against him with NORMAL-type\n" + .string "POKéMON is asking for trouble.\p" + .string "FIGHTING POKéMON will lay a serious\n" + .string "smack down on NORMAL POKéMON,\l" + .string "so be careful!\p" + .string "What’s worse, the GYM is as dark as\n" + .string "the ocean floor.\p" + .string "But it will get brighter after defeating\n" + .string "the TRAINERS in your way.\p" + .string "Hey, okay, go for it!$" + +DewfordTown_Gym_Text_1FCB5C: @ 81FCB5C + .string "Whoah! It’s turned too bright in here!\p" + .string "Your future is bright, too!$" + +DewfordTown_Gym_Text_1FCB9F: @ 81FCB9F + .string "Might is right!\n" + .string "Come on!$" + +DewfordTown_Gym_Text_1FCBB8: @ 81FCBB8 + .string "Not enough power…$" + +DewfordTown_Gym_Text_1FCBCA: @ 81FCBCA + .string "Your skill overcame my strength!\n" + .string "Your technique is commendable!$" + +DewfordTown_Gym_Text_1FCC0A: @ 81FCC0A + .string "There’s no need for BRAWLY to be\n" + .string "involved!\p" + .string "I’ll crush you!$" + +DewfordTown_Gym_Text_1FCC45: @ 81FCC45 + .string "But… How?\n" + .string "How could I lose so easily?$" + +DewfordTown_Gym_Text_1FCC6B: @ 81FCC6B + .string "I’m not going to waste this loss.\n" + .string "I’ll use it to motivate me to train!\p" + .string "One day I’ll become a GYM LEADER…\p" + .string "No, I’ll become the POKéMON LEAGUE\n" + .string "CHAMPION!$" + +DewfordTown_Gym_Text_1FCD01: @ 81FCD01 + .string "Don’t you dare brush me off!\n" + .string "It’s not my fault if you cry!$" + +DewfordTown_Gym_Text_1FCD3C: @ 81FCD3C + .string "Waaaaaaah!\n" + .string "I lost!$" + +DewfordTown_Gym_Text_1FCD4F: @ 81FCD4F + .string "I battle in the dark to make my heart\n" + .string "stronger.\p" + .string "But because it’s so dark, I can never\n" + .string "see BRAWLY’s face…$" + +DewfordTown_Gym_Text_1FCDB8: @ 81FCDB8 + .string "Ufufu…\n" + .string "Are you stumbling around in the dark?$" + +DewfordTown_Gym_Text_1FCDE5: @ 81FCDE5 + .string "Oh, you…\n" + .string "I don’t want to know you!$" + +DewfordTown_Gym_Text_1FCE08: @ 81FCE08 + .string "You deserve to stay lost and end up\n" + .string "back at the entrance again!$" + +DewfordTown_Gym_Text_1FCE48: @ 81FCE48 + .string "I’ll show you the gumption of\n" + .string "a sailing man!$" + +DewfordTown_Gym_Text_1FCE75: @ 81FCE75 + .string "How’d this happen?\n" + .string "It’s not like me to lose this way!$" + +DewfordTown_Gym_Text_1FCEAB: @ 81FCEAB + .string "Oh, aye! You’re worthy of seeing\n" + .string "our GYM LEADER.$" + +DewfordTown_Gym_Text_1FCEDC: @ 81FCEDC + .string "If you mean to pass, it has to be\n" + .string "through me!$" + +DewfordTown_Gym_Text_1FCF0A: @ 81FCF0A + .string "Grrrrr!\n" + .string "Vastly overpowered!$" + +DewfordTown_Gym_Text_1FCF26: @ 81FCF26 + .string "You win!\n" + .string "Go after that BADGE!$" + +DewfordTown_Gym_Text_1FCF44: @ 81FCF44 + .string "I’m BRAWLY!\n" + .string "DEWFORD’s GYM LEADER!\p" + .string "I’ve been churned in the rough waves\n" + .string "of these parts, and I’ve grown tough\l" + .string "in the pitch-black cave!\p" + .string "So you wanted to challenge me?\n" + .string "Let me see what you’re made of!$" + +DewfordTown_Gym_Text_1FD008: @ 81FD008 + .string "Whoah, wow! You made a much bigger\n" + .string "splash than I expected!\p" + .string "You swamped me!\p" + .string "Okay, you’ve got me.\n" + .string "Take this GYM BADGE!$" + +DewfordTown_Gym_Text_1FD07D: @ 81FD07D + .string "{PLAYER} received the KNUCKLE BADGE\n" + .string "from BRAWLY.$" + +DewfordTown_Gym_Text_1FD0A8: @ 81FD0A8 + .string "The KNUCKLE BADGE makes all POKéMON\n" + .string "up to Level 30, even those you get in\l" + .string "trades, obey without question.\p" + .string "And, you’ll be able to use the HM move\n" + .string "FLASH outside of battle.\p" + .string "If you’d like, use this TECHNICAL\n" + .string "MACHINE, too.$" + +DewfordTown_Gym_Text_1FD181: @ 81FD181 + .string "That TM08 contains BULK UP.\p" + .string "It’s a move that raises both ATTACK\n" + .string "and DEFENSE stats.\p" + .string "… … … … … …$" + +DewfordTown_Gym_Text_1FD1E0: @ 81FD1E0 + .string "Registered GYM LEADER BRAWLY\n" + .string "in the POKéNAV.$" + +DewfordTown_Gym_Text_1FD20D: @ 81FD20D + .string "I can see your talent becoming a giant\n" + .string "wave to cause a storm of astonishment\l" + .string "among TRAINERS one day!$" + +DewfordTown_Gym_Text_1FD272: @ 81FD272 + .string "DEWFORD TOWN POKéMON GYM$" + +DewfordTown_Gym_Text_1FD28B: @ 81FD28B + .string "DEWFORD TOWN POKéMON GYM\p" + .string "BRAWLY’S CERTIFIED TRAINERS:\n" + .string "{PLAYER}$" + +DewfordTown_Gym_Text_1FD2C4: @ 81FD2C4 + .string "BRAWLY: A wave may draw back, but it\n" + .string "always returns to the shore.\p" + .string "A giant wave of a talent like you…\n" + .string "I knew you would return!\p" + .string "Show me how much higher\n" + .string "you’ve gone!$" + +DewfordTown_Gym_Text_1FD367: @ 81FD367 + .string "Wow!\n" + .string "Swamped again!$" + +DewfordTown_Gym_Text_1FD37B: @ 81FD37B + .string "BRAWLY: Battling is vast and it’s deep.\n" + .string "You can’t see the bottom.\l" + .string "It’s just like the sea of HOENN!$" + +DewfordTown_Gym_Text_1FD3DE: @ 81FD3DE + .string "BRAWLY: A wave may draw back, but it\n" + .string "always returns to the shore.\p" + .string "A giant wave of a talent like you…\n" + .string "I knew you would return!\p" + .string "Oh? You only have one POKéMON\n" + .string "that can battle.\p" + .string "I’m sorry, but I’d like you to come back\n" + .string "with at least two POKéMON.$" + diff --git a/data/scripts/maps/DewfordTown_Hall.inc b/data/scripts/maps/DewfordTown_Hall.inc new file mode 100644 index 0000000000..3f95187225 --- /dev/null +++ b/data/scripts/maps/DewfordTown_Hall.inc @@ -0,0 +1,453 @@ +DewfordTown_Hall_MapScripts:: @ 81FD4CF + .byte 0 + +DewfordTown_Hall_EventScript_1FD4D0:: @ 81FD4D0 + lock + faceplayer + call DewfordTown_Hall_EventScript_271E8B + special sub_81229C8 + compare VAR_RESULT, 1 + goto_eq DewfordTown_Hall_EventScript_1FD4EF + msgbox DewfordTown_Hall_Text_1FD818, 4 + release + end + +DewfordTown_Hall_EventScript_1FD4EF:: @ 81FD4EF + msgbox DewfordTown_Hall_Text_1FD877, 4 + release + end + +DewfordTown_Hall_EventScript_1FD4F9:: @ 81FD4F9 + lock + faceplayer + call DewfordTown_Hall_EventScript_271E8B + msgbox DewfordTown_Hall_Text_1FD8ED, 4 + release + end + +DewfordTown_Hall_EventScript_1FD50A:: @ 81FD50A + lock + faceplayer + call DewfordTown_Hall_EventScript_271E8B + special sub_811EF6C + msgbox DewfordTown_Hall_Text_1FD948, 5 + compare VAR_RESULT, 1 + goto_eq DewfordTown_Hall_EventScript_1FD533 + compare VAR_RESULT, 0 + goto_eq DewfordTown_Hall_EventScript_1FD53D + end + +DewfordTown_Hall_EventScript_1FD533:: @ 81FD533 + msgbox DewfordTown_Hall_Text_1FD9B3, 4 + release + end + +DewfordTown_Hall_EventScript_1FD53D:: @ 81FD53D + msgbox DewfordTown_Hall_Text_1FDA06, 4 + release + end + +DewfordTown_Hall_EventScript_1FD547:: @ 81FD547 + lock + faceplayer + call DewfordTown_Hall_EventScript_271E8B + msgbox DewfordTown_Hall_Text_1FDA5C, 4 + closemessage + applymovement 4, DewfordTown_Hall_Movement_2725A6 + waitmovement 0 + release + end + +DewfordTown_Hall_EventScript_1FD563:: @ 81FD563 + lock + faceplayer + call DewfordTown_Hall_EventScript_271E8B + msgbox DewfordTown_Hall_Text_1FDA99, 4 + closemessage + applymovement 5, DewfordTown_Hall_Movement_2725A6 + waitmovement 0 + release + end + +DewfordTown_Hall_EventScript_1FD57F:: @ 81FD57F + lock + faceplayer + call DewfordTown_Hall_EventScript_271E8B + msgbox DewfordTown_Hall_Text_1FDAC4, 4 + release + end + +DewfordTown_Hall_EventScript_1FD590:: @ 81FD590 + lockall + call DewfordTown_Hall_EventScript_271E8B + msgbox DewfordTown_Hall_Text_1FDB89, 4 + releaseall + end + +DewfordTown_Hall_EventScript_1FD5A0:: @ 81FD5A0 + lockall + call DewfordTown_Hall_EventScript_271E8B + special sub_8122A30 + switch VAR_RESULT + case 0, DewfordTown_Hall_EventScript_1FD607 + case 4, DewfordTown_Hall_EventScript_1FD607 + case 1, DewfordTown_Hall_EventScript_1FD611 + case 5, DewfordTown_Hall_EventScript_1FD607 + case 2, DewfordTown_Hall_EventScript_1FD61B + case 6, DewfordTown_Hall_EventScript_1FD61B + case 3, DewfordTown_Hall_EventScript_1FD625 + case 7, DewfordTown_Hall_EventScript_1FD61B + end + +DewfordTown_Hall_EventScript_1FD607:: @ 81FD607 + msgbox DewfordTown_Hall_Text_1FDC05, 4 + releaseall + end + +DewfordTown_Hall_EventScript_1FD611:: @ 81FD611 + msgbox DewfordTown_Hall_Text_1FDC21, 4 + releaseall + end + +DewfordTown_Hall_EventScript_1FD61B:: @ 81FD61B + msgbox DewfordTown_Hall_Text_1FDC3C, 4 + releaseall + end + +DewfordTown_Hall_EventScript_1FD625:: @ 81FD625 + msgbox DewfordTown_Hall_Text_1FDC57, 4 + releaseall + end + +DewfordTown_Hall_EventScript_1FD62F:: @ 81FD62F + lockall + setvar VAR_0x8008, 0 + goto DewfordTown_Hall_EventScript_1FD647 + end + +DewfordTown_Hall_EventScript_1FD63B:: @ 81FD63B + lockall + setvar VAR_0x8008, 1 + goto DewfordTown_Hall_EventScript_1FD647 + end + +DewfordTown_Hall_EventScript_1FD647:: @ 81FD647 + call DewfordTown_Hall_EventScript_271E8B + special sub_8122A30 + switch VAR_RESULT + case 0, DewfordTown_Hall_EventScript_1FD6AD + case 1, DewfordTown_Hall_EventScript_1FD6AD + case 2, DewfordTown_Hall_EventScript_1FD6C9 + case 3, DewfordTown_Hall_EventScript_1FD6C9 + case 4, DewfordTown_Hall_EventScript_1FD6E5 + case 5, DewfordTown_Hall_EventScript_1FD6E5 + case 6, DewfordTown_Hall_EventScript_1FD701 + case 7, DewfordTown_Hall_EventScript_1FD71D + end + +DewfordTown_Hall_EventScript_1FD6AD:: @ 81FD6AD + call DewfordTown_Hall_EventScript_1FD73A + msgbox DewfordTown_Hall_Text_1FDC76, 4 + call DewfordTown_Hall_EventScript_1FD772 + msgbox DewfordTown_Hall_Text_1FDCE2, 4 + releaseall + end + +DewfordTown_Hall_EventScript_1FD6C9:: @ 81FD6C9 + call DewfordTown_Hall_EventScript_1FD73A + msgbox DewfordTown_Hall_Text_1FDD95, 4 + call DewfordTown_Hall_EventScript_1FD772 + msgbox DewfordTown_Hall_Text_1FDE0E, 4 + releaseall + end + +DewfordTown_Hall_EventScript_1FD6E5:: @ 81FD6E5 + call DewfordTown_Hall_EventScript_1FD73A + msgbox DewfordTown_Hall_Text_1FDE77, 4 + call DewfordTown_Hall_EventScript_1FD772 + msgbox DewfordTown_Hall_Text_1FDED8, 4 + releaseall + end + +DewfordTown_Hall_EventScript_1FD701:: @ 81FD701 + call DewfordTown_Hall_EventScript_1FD73A + msgbox DewfordTown_Hall_Text_1FDF72, 4 + call DewfordTown_Hall_EventScript_1FD772 + msgbox DewfordTown_Hall_Text_1FDFF1, 4 + releaseall + end + +DewfordTown_Hall_EventScript_1FD71D:: @ 81FD71D + call DewfordTown_Hall_EventScript_1FD73A + msgbox DewfordTown_Hall_Text_1FE09A, 4 + call DewfordTown_Hall_EventScript_1FD772 + msgbox DewfordTown_Hall_Text_1FE0F2, 4 + releaseall + end + +DewfordTown_Hall_EventScript_1FD739:: @ 81FD739 + return + +DewfordTown_Hall_EventScript_1FD73A:: @ 81FD73A + applymovement 8, DewfordTown_Hall_Movement_1FD7D6 + waitmovement 0 + compare VAR_0x8008, 0 + goto_eq DewfordTown_Hall_EventScript_1FD75B + compare VAR_0x8008, 1 + goto_eq DewfordTown_Hall_EventScript_1FD771 + end + +DewfordTown_Hall_EventScript_1FD75B:: @ 81FD75B + compare VAR_FACING, 4 + goto_eq DewfordTown_Hall_EventScript_1FD739 + applymovement 255, DewfordTown_Hall_Movement_2725A8 + waitmovement 0 + return + +DewfordTown_Hall_EventScript_1FD771:: @ 81FD771 + return + +DewfordTown_Hall_EventScript_1FD772:: @ 81FD772 + applymovement 7, DewfordTown_Hall_Movement_1FD7D8 + waitmovement 0 + compare VAR_0x8008, 0 + goto_eq DewfordTown_Hall_EventScript_1FD793 + compare VAR_0x8008, 1 + goto_eq DewfordTown_Hall_EventScript_1FD7C0 + end + +DewfordTown_Hall_EventScript_1FD793:: @ 81FD793 + compare VAR_FACING, 2 + call_if 1, DewfordTown_Hall_EventScript_1FD7AA + compare VAR_FACING, 1 + call_if 1, DewfordTown_Hall_EventScript_1FD7B5 + return + +DewfordTown_Hall_EventScript_1FD7AA:: @ 81FD7AA + applymovement 255, DewfordTown_Hall_Movement_2725A6 + waitmovement 0 + return + +DewfordTown_Hall_EventScript_1FD7B5:: @ 81FD7B5 + applymovement 255, DewfordTown_Hall_Movement_2725AA + waitmovement 0 + return + +DewfordTown_Hall_EventScript_1FD7C0:: @ 81FD7C0 + compare VAR_FACING, 3 + goto_eq DewfordTown_Hall_EventScript_1FD739 + applymovement 255, DewfordTown_Hall_Movement_2725A4 + waitmovement 0 + return + +DewfordTown_Hall_Movement_1FD7D6: @ 81FD7D6 + step_1f + step_end + +DewfordTown_Hall_Movement_1FD7D8: @ 81FD7D8 + step_20 + step_end + +DewfordTown_Hall_EventScript_1FD7DA:: @ 81FD7DA + lock + faceplayer + call DewfordTown_Hall_EventScript_271E8B + checkflag FLAG_0x0E6 + goto_eq DewfordTown_Hall_EventScript_1FD80E + msgbox DewfordTown_Hall_Text_1FE142, 4 + giveitem_std ITEM_TM36 + compare VAR_RESULT, 0 + goto_eq DewfordTown_Hall_EventScript_272054 + setflag FLAG_0x0E6 + release + end + +DewfordTown_Hall_EventScript_1FD80E:: @ 81FD80E + msgbox DewfordTown_Hall_Text_1FE1ED, 4 + release + end + +DewfordTown_Hall_Text_1FD818: @ 81FD818 + .string "What’s in vogue? Why, it has to be\n" + .string "“{STR_VAR_1}”!\p" + .string "I can’t imagine what life would be like\n" + .string "without “{STR_VAR_1}”!$" + +DewfordTown_Hall_Text_1FD877: @ 81FD877 + .string "What’s in vogue? Why, it has to be\n" + .string "“{STR_VAR_1}”!\p" + .string "But I’m getting kind of bored with it.\p" + .string "I should look for the next big thing.$" + +DewfordTown_Hall_Text_1FD8ED: @ 81FD8ED + .string "I’m teaching my POKéMON about\n" + .string "“{STR_VAR_1},”\l" + .string "but it’s not going well.\p" + .string "It’s a bit too much, I think.$" + +DewfordTown_Hall_Text_1FD948: @ 81FD948 + .string "I’m studying up on the hip and trendy\n" + .string "“{STR_VAR_1}” now.\p" + .string "Is it true that there’s a deep link\n" + .string "between “{STR_VAR_1}”\l" + .string "and “{STR_VAR_2}”?$" + +DewfordTown_Hall_Text_1FD9B3: @ 81FD9B3 + .string "Oh!\n" + .string "So, my hunch was right!\p" + .string "I’m one step closer to being hip and\n" + .string "happening, yowza!$" + +DewfordTown_Hall_Text_1FDA06: @ 81FDA06 + .string "What?!\n" + .string "Is that so?!\p" + .string "It’s not easy for an older fellow like\n" + .string "me to keep up with trends!$" + +DewfordTown_Hall_Text_1FDA5C: @ 81FDA5C + .string "This whole business about\n" + .string "“{STR_VAR_1}”…\l" + .string "Isn’t there a TV show on it?$" + +DewfordTown_Hall_Text_1FDA99: @ 81FDA99 + .string "Across the sea…\p" + .string "Is “{STR_VAR_1}”\n" + .string "even more popular?$" + +DewfordTown_Hall_Text_1FDAC4: @ 81FDAC4 + .string "I collect official\n" + .string "“{STR_VAR_1}”\l" + .string "licensed merchandise.\p" + .string "I have official\n" + .string "“{STR_VAR_1}” DOLLS…\p" + .string "Official “{STR_VAR_1}”\n" + .string "brand clothing…\p" + .string "And officially licensed\n" + .string "“{STR_VAR_1}”\l" + .string "picture books.\p" + .string "Heheh, I own!\n" + .string "I’m not sharing anything with you!$" + +DewfordTown_Hall_Text_1FDB89: @ 81FDB89 + .string "IDENTIFYING GOOD\n" + .string "“{STR_VAR_1}” &\l" + .string "BAD “{STR_VAR_1}”…\p" + .string "THE LINK BETWEEN\n" + .string "“{STR_VAR_1}” AND\l" + .string "POKéMON…\p" + .string "USEFUL\n" + .string "“{STR_VAR_1}”…\p" + .string "It’s neatly jammed with books about\n" + .string "“{STR_VAR_1}.”$" + +DewfordTown_Hall_Text_1FDC05: @ 81FDC05 + .string "“{STR_VAR_1}’S\n" + .string "SCREAM” is the title.$" + +DewfordTown_Hall_Text_1FDC21: @ 81FDC21 + .string "“{STR_VAR_1}’S\n" + .string "SMILE” is the title.$" + +DewfordTown_Hall_Text_1FDC3C: @ 81FDC3C + .string "It’s titled “THE LAST\n" + .string "{STR_VAR_1}”.$" + +DewfordTown_Hall_Text_1FDC57: @ 81FDC57 + .string "It’s titled “THE BIRTH OF\n" + .string "{STR_VAR_1}”.$" + +DewfordTown_Hall_Text_1FDC76: @ 81FDC76 + .string "I saw “{STR_VAR_1}”!\n" + .string "Cool, huh?\p" + .string "It’s, like, the coolest thing going!\p" + .string "It was awesome!\n" + .string "It was the real thing, oh yeah!$" + +DewfordTown_Hall_Text_1FDCE2: @ 81FDCE2 + .string "Oh, no, no, no.\p" + .string "That alleged\n" + .string "“{STR_VAR_1}”\l" + .string "you claim to have seen--it’s not.\p" + .string "The authentic article is much…\n" + .string "How should I say it?\l" + .string "Sharper, yet more mellow!\p" + .string "Ah, no matter. It’s astonishing!$" + +DewfordTown_Hall_Text_1FDD95: @ 81FDD95 + .string "Hey, listen, I composed a theme song\n" + .string "for “{STR_VAR_1}.”\p" + .string "“{STR_VAR_1}”\n" + .string "is really popular right now.\p" + .string "Okay, listen!\n" + .string "… …\p" + .string "Oh!\n" + .string "{STR_VAR_1}!\p" + .string "Wonderful\n" + .string "{STR_VAR_1}!$" + +DewfordTown_Hall_Text_1FDE0E: @ 81FDE0E + .string "… …\p" + .string "I dare say, chap, it would pay for you\n" + .string "to work on your singing before you\l" + .string "trifle yourself with\l" + .string "“{STR_VAR_1}.”$" + +DewfordTown_Hall_Text_1FDE77: @ 81FDE77 + .string "Anyway, as I was saying earlier, we\n" + .string "should get together and organize a\l" + .string "“{STR_VAR_1}” party\l" + .string "on the island.$" + +DewfordTown_Hall_Text_1FDED8: @ 81FDED8 + .string "Oh, a smashing good idea!\p" + .string "It will settle once and for all\n" + .string "who is the best at\l" + .string "“{STR_VAR_1}.”\l" + .string "Brilliant, indeed!\p" + .string "Starting today, our lives will revolve\n" + .string "around “{STR_VAR_1}”!$" + +DewfordTown_Hall_Text_1FDF72: @ 81FDF72 + .string "I was thinking, though…\p" + .string "Wouldn’t you agree that\n" + .string "“{STR_VAR_1}” has\l" + .string "grown from being something trendy to\l" + .string "being a part of our daily lives?$" + +DewfordTown_Hall_Text_1FDFF1: @ 81FDFF1 + .string "Beg pardon?\n" + .string "That much, what?\p" + .string "However, it’s true that\n" + .string "“{STR_VAR_1}”\l" + .string "weighs heavily on your mind, whether\l" + .string "you’re awake or asleep.\p" + .string "Absolutely, you’re the\n" + .string "“{STR_VAR_1}”\l" + .string "PROFESSOR, old sport!$" + +DewfordTown_Hall_Text_1FE09A: @ 81FE09A + .string "If you and me team up as a combo,\n" + .string "we’ll be invincible when it comes to all\l" + .string "things “{STR_VAR_1}”!$" + +DewfordTown_Hall_Text_1FE0F2: @ 81FE0F2 + .string "Spot on, my friend!\p" + .string "We shall be the\n" + .string "“{STR_VAR_1}” DUO!\p" + .string "Isn’t that a ripe image?\n" + .string "Hahahah!$" + +DewfordTown_Hall_Text_1FE142: @ 81FE142 + .string "For me, SLUDGE BOMB is at the peak\n" + .string "of popularity. It’s the one.\p" + .string "Hunh? You’re telling me that you don’t\n" + .string "know about SLUDGE BOMB?\p" + .string "That’s outright pitiful.\n" + .string "I’ll give you one.$" + +DewfordTown_Hall_Text_1FE1ED: @ 81FE1ED + .string "I love SLUDGE BOMB.\p" + .string "But POKéMON with the move\n" + .string "“{STR_VAR_1}”\l" + .string "are in, too.$" + diff --git a/data/scripts/maps/DewfordTown_House1.inc b/data/scripts/maps/DewfordTown_House1.inc new file mode 100644 index 0000000000..59c490d813 --- /dev/null +++ b/data/scripts/maps/DewfordTown_House1.inc @@ -0,0 +1,36 @@ +DewfordTown_House1_MapScripts:: @ 81FC3CD + .byte 0 + +DewfordTown_House1_EventScript_1FC3CE:: @ 81FC3CE + msgbox DewfordTown_House1_Text_1FC3F3, 2 + end + +DewfordTown_House1_EventScript_1FC3D7:: @ 81FC3D7 + msgbox DewfordTown_House1_Text_1FC45B, 2 + end + +DewfordTown_House1_EventScript_1FC3E0:: @ 81FC3E0 + lock + faceplayer + waitse + playmoncry SPECIES_ZIGZAGOON, 0 + msgbox DewfordTown_House1_Text_1FC510, 4 + waitmoncry + release + end + +DewfordTown_House1_Text_1FC3F3: @ 81FC3F3 + .string "There’s a lot to be said for living on\n" + .string "a small island like this in harmony with\l" + .string "POKéMON and the family.$" + +DewfordTown_House1_Text_1FC45B: @ 81FC45B + .string "I left the major port of SLATEPORT\n" + .string "CITY when I married my husband here.\p" + .string "Life goes by slowly on this little\n" + .string "island. But being surrounded by the\l" + .string "beautiful sea--that’s happiness, too.$" + +DewfordTown_House1_Text_1FC510: @ 81FC510 + .string "ZIGZAGOON: Guguuh!$" + diff --git a/data/scripts/maps/DewfordTown_House2.inc b/data/scripts/maps/DewfordTown_House2.inc new file mode 100644 index 0000000000..1805164afd --- /dev/null +++ b/data/scripts/maps/DewfordTown_House2.inc @@ -0,0 +1,59 @@ +DewfordTown_House2_MapScripts:: @ 81FE22D + .byte 0 + +DewfordTown_House2_EventScript_1FE22E:: @ 81FE22E + lock + faceplayer + checkflag FLAG_0x121 + goto_eq DewfordTown_House2_EventScript_1FE267 + msgbox DewfordTown_House2_Text_1FE27A, 4 + giveitem_std ITEM_SILK_SCARF + compare VAR_RESULT, 0 + goto_eq DewfordTown_House2_EventScript_1FE25D + setflag FLAG_0x121 + release + end + +DewfordTown_House2_EventScript_1FE25D:: @ 81FE25D + msgbox DewfordTown_House2_Text_1FE356, 4 + release + end + +DewfordTown_House2_EventScript_1FE267:: @ 81FE267 + msgbox DewfordTown_House2_Text_1FE3D1, 4 + release + end + +DewfordTown_House2_EventScript_1FE271:: @ 81FE271 + msgbox DewfordTown_House2_Text_1FE444, 2 + end + +DewfordTown_House2_Text_1FE27A: @ 81FE27A + .string "Gorge your eyes on this!\p" + .string "It’s a SILK SCARF. It’s right at the\n" + .string "cutting edge of fashion, yeah!\p" + .string "Oh, I can see your eyes twinkling!\n" + .string "You appreciate my dazzling style!\p" + .string "Oh, you’re a delight!\n" + .string "Here you go. I want you to have it!$" + +DewfordTown_House2_Text_1FE356: @ 81FE356 + .string "Oh, you don’t have room?\p" + .string "Now, listen tight, this SCARF is a must-\n" + .string "have! Why, I would sell all my items\l" + .string "in order to get it!$" + +DewfordTown_House2_Text_1FE3D1: @ 81FE3D1 + .string "The SILK SCARF raises the power of\n" + .string "NORMAL-type moves.\p" + .string "It’s a marvelous SCARF that will go\n" + .string "with almost all POKéMON!$" + +DewfordTown_House2_Text_1FE444: @ 81FE444 + .string "Wow, you bothered to cross the sea\n" + .string "to visit DEWFORD?\p" + .string "Did you maybe come here because you\n" + .string "heard about BRAWLY?\p" + .string "He’s so cool…\n" + .string "Everyone idolizes him.$" + diff --git a/data/scripts/maps/DewfordTown_PokemonCenter_1F.inc b/data/scripts/maps/DewfordTown_PokemonCenter_1F.inc new file mode 100644 index 0000000000..15a1c81b92 --- /dev/null +++ b/data/scripts/maps/DewfordTown_PokemonCenter_1F.inc @@ -0,0 +1,37 @@ +DewfordTown_PokemonCenter_1F_MapScripts:: @ 81FC523 + map_script 3, DewfordTown_PokemonCenter_1F_MapScript1_1FC52E + map_script 5, DewfordTown_PokemonCenter_1F_MapScript1_277C30 + .byte 0 + +DewfordTown_PokemonCenter_1F_MapScript1_1FC52E: @ 81FC52E + setrespawn 15 + call DewfordTown_PokemonCenter_1F_EventScript_2718DE + end + +DewfordTown_PokemonCenter_1F_EventScript_1FC537:: @ 81FC537 + setvar VAR_0x800B, 1 + call DewfordTown_PokemonCenter_1F_EventScript_27191E + waitmessage + waitbuttonpress + release + end + +DewfordTown_PokemonCenter_1F_EventScript_1FC545:: @ 81FC545 + msgbox DewfordTown_PokemonCenter_1F_Text_1FC557, 2 + end + +DewfordTown_PokemonCenter_1F_EventScript_1FC54E:: @ 81FC54E + msgbox DewfordTown_PokemonCenter_1F_Text_1FC5AE, 2 + end + +DewfordTown_PokemonCenter_1F_Text_1FC557: @ 81FC557 + .string "There’s a stone cavern at the edge\n" + .string "of town.\p" + .string "I’ve heard you can find rare stones\n" + .string "there.$" + +DewfordTown_PokemonCenter_1F_Text_1FC5AE: @ 81FC5AE + .string "Even if a POKéMON faints and can’t\n" + .string "battle, it can still use a move learned\l" + .string "from a HIDDEN MACHINE (HM).$" + diff --git a/data/scripts/maps/DewfordTown_PokemonCenter_2F.inc b/data/scripts/maps/DewfordTown_PokemonCenter_2F.inc new file mode 100644 index 0000000000..f2a30ecd2d --- /dev/null +++ b/data/scripts/maps/DewfordTown_PokemonCenter_2F.inc @@ -0,0 +1,19 @@ +DewfordTown_PokemonCenter_2F_MapScripts:: @ 81FC615 + map_script 2, DewfordTown_PokemonCenter_2F_MapScript2_276C3B + map_script 4, DewfordTown_PokemonCenter_2F_MapScript2_276B6C + map_script 1, DewfordTown_PokemonCenter_2F_MapScript1_276BBE + map_script 3, DewfordTown_PokemonCenter_2F_MapScript1_276ACF + .byte 0 + +DewfordTown_PokemonCenter_2F_EventScript_1FC62A:: @ 81FC62A + call OldaleTown_PokemonCenter_2F_EventScript_276EB7 + end + +DewfordTown_PokemonCenter_2F_EventScript_1FC630:: @ 81FC630 + call OldaleTown_PokemonCenter_2F_EventScript_2770B2 + end + +DewfordTown_PokemonCenter_2F_EventScript_1FC636:: @ 81FC636 + call OldaleTown_PokemonCenter_2F_EventScript_2771DB + end + diff --git a/data/scripts/maps/DoubleBattleColosseum.inc b/data/scripts/maps/DoubleBattleColosseum.inc new file mode 100644 index 0000000000..ac64377aeb --- /dev/null +++ b/data/scripts/maps/DoubleBattleColosseum.inc @@ -0,0 +1,3 @@ +DoubleBattleColosseum_MapScripts:: @ 823B780 + .byte 0 + diff --git a/data/scripts/maps/EverGrandeCity.inc b/data/scripts/maps/EverGrandeCity.inc new file mode 100644 index 0000000000..1fe66a56cf --- /dev/null +++ b/data/scripts/maps/EverGrandeCity.inc @@ -0,0 +1,38 @@ +EverGrandeCity_MapScripts:: @ 81E7D1B + map_script 3, EverGrandeCity_MapScript1_1E7D21 + .byte 0 + +EverGrandeCity_MapScript1_1E7D21: @ 81E7D21 + checkflag FLAG_SYS_WEATHER_CTRL + call_if 1, EverGrandeCity_EventScript_27207A + end + +EverGrandeCity_EventScript_1E7D2B:: @ 81E7D2B + msgbox EverGrandeCity_Text_1E7D4F, 3 + end + +EverGrandeCity_EventScript_1E7D34:: @ 81E7D34 + msgbox EverGrandeCity_Text_1E7D89, 3 + end + +EverGrandeCity_EventScript_1E7D3D:: @ 81E7D3D + msgbox EverGrandeCity_Text_1E7D65, 3 + end + +EverGrandeCity_EventScript_1E7D46:: @ 81E7D46 + setflag FLAG_VISITED_EVER_GRANDE_CITY + setvar VAR_0x4001, 1 + end + +EverGrandeCity_Text_1E7D4F: @ 81E7D4F + .string "ENTERING VICTORY ROAD$" + +EverGrandeCity_Text_1E7D65: @ 81E7D65 + .string "ENTERING POKéMON LEAGUE\n" + .string "CENTER GATE$" + +EverGrandeCity_Text_1E7D89: @ 81E7D89 + .string "EVER GRANDE CITY\p" + .string "“The paradise of flowers, the sea,\n" + .string "and POKéMON.”$" + diff --git a/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc b/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc new file mode 100644 index 0000000000..f8dab1f3bf --- /dev/null +++ b/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc @@ -0,0 +1,346 @@ +EverGrandeCity_ChampionsRoom_MapScripts:: @ 82289EF + map_script 3, EverGrandeCity_ChampionsRoom_MapScript1_2289FF + map_script 4, EverGrandeCity_ChampionsRoom_MapScript2_228A05 + map_script 2, EverGrandeCity_ChampionsRoom_MapScript2_228A14 + .byte 0 + +EverGrandeCity_ChampionsRoom_MapScript1_2289FF: @ 82289FF + call EverGrandeCity_ChampionsRoom_EventScript_271ED7 + end + +EverGrandeCity_ChampionsRoom_MapScript2_228A05: @ 8228A05 + map_script_2 VAR_0x4001, 0, EverGrandeCity_ChampionsRoom_EventScript_228A0F + .2byte 0 + +EverGrandeCity_ChampionsRoom_EventScript_228A0F:: @ 8228A0F + turnobject 255, 2 + end + +EverGrandeCity_ChampionsRoom_MapScript2_228A14: @ 8228A14 + map_script_2 VAR_0x4001, 0, EverGrandeCity_ChampionsRoom_EventScript_228A1E + .2byte 0 + +EverGrandeCity_ChampionsRoom_EventScript_228A1E:: @ 8228A1E + lockall + applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725C1 + waitmovement 0 + delay 40 + applymovement 255, EverGrandeCity_ChampionsRoom_Movement_228A42 + waitmovement 0 + setvar VAR_0x4001, 1 + goto EverGrandeCity_ChampionsRoom_EventScript_228A45 + releaseall + end + +EverGrandeCity_ChampionsRoom_Movement_228A42: @ 8228A42 + step_up + step_up + step_end + +EverGrandeCity_ChampionsRoom_EventScript_228A45:: @ 8228A45 + playbgm MUS_DAIGO, 0 + msgbox EverGrandeCity_ChampionsRoom_Text_228C4C, 4 + trainerbattle 3, TRAINER_WALLACE, 0, EverGrandeCity_ChampionsRoom_Text_228EAC + goto EverGrandeCity_ChampionsRoom_EventScript_228A61 + end + +EverGrandeCity_ChampionsRoom_EventScript_228A61:: @ 8228A61 + playse SE_DOOR + setmetatile 6, 1, 838, 0 + setmetatile 6, 2, 839, 0 + special DrawWholeMapView + msgbox EverGrandeCity_ChampionsRoom_Text_228F66, 4 + closemessage + playse SE_DOOR + checkplayergender + compare VAR_RESULT, 0 + call_if 1, EverGrandeCity_ChampionsRoom_EventScript_228ABC + compare VAR_RESULT, 1 + call_if 1, EverGrandeCity_ChampionsRoom_EventScript_228AC1 + addobject 2 + call EverGrandeCity_ChampionsRoom_EventScript_228BFD + checkplayergender + compare VAR_RESULT, 0 + goto_eq EverGrandeCity_ChampionsRoom_EventScript_228AC6 + compare VAR_RESULT, 1 + goto_eq EverGrandeCity_ChampionsRoom_EventScript_228AFB + end + +EverGrandeCity_ChampionsRoom_EventScript_228ABC:: @ 8228ABC + playbgm MUS_GIRL_SUP, 0 + return + +EverGrandeCity_ChampionsRoom_EventScript_228AC1:: @ 8228AC1 + playbgm MUS_BOY_SUP, 0 + return + +EverGrandeCity_ChampionsRoom_EventScript_228AC6:: @ 8228AC6 + msgbox EverGrandeCity_ChampionsRoom_Text_2290CA, 4 + delay 40 + playse SE_PIN + applymovement 2, EverGrandeCity_ChampionsRoom_Movement_272598 + waitmovement 0 + applymovement 2, EverGrandeCity_ChampionsRoom_Movement_27259A + waitmovement 0 + call EverGrandeCity_ChampionsRoom_EventScript_228C12 + msgbox EverGrandeCity_ChampionsRoom_Text_22910B, 4 + goto EverGrandeCity_ChampionsRoom_EventScript_228B30 + end + +EverGrandeCity_ChampionsRoom_EventScript_228AFB:: @ 8228AFB + msgbox EverGrandeCity_ChampionsRoom_Text_229152, 4 + delay 40 + playse SE_PIN + applymovement 2, EverGrandeCity_ChampionsRoom_Movement_272598 + waitmovement 0 + applymovement 2, EverGrandeCity_ChampionsRoom_Movement_27259A + waitmovement 0 + call EverGrandeCity_ChampionsRoom_EventScript_228C12 + msgbox EverGrandeCity_ChampionsRoom_Text_2291A2, 4 + goto EverGrandeCity_ChampionsRoom_EventScript_228B30 + end + +EverGrandeCity_ChampionsRoom_EventScript_228B30:: @ 8228B30 + closemessage + addobject 3 + applymovement 3, EverGrandeCity_ChampionsRoom_Movement_228C43 + waitmovement 0 + applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725A8 + waitmovement 0 + msgbox EverGrandeCity_ChampionsRoom_Text_2291E6, 4 + call EverGrandeCity_ChampionsRoom_EventScript_272184 + msgbox EverGrandeCity_ChampionsRoom_Text_22934D, 4 + applymovement 1, EverGrandeCity_ChampionsRoom_Movement_2725A6 + waitmovement 0 + delay 20 + applymovement 1, EverGrandeCity_ChampionsRoom_Movement_2725AA + waitmovement 0 + msgbox EverGrandeCity_ChampionsRoom_Text_229399, 4 + closemessage + delay 30 + applymovement 1, EverGrandeCity_ChampionsRoom_Movement_228C3B + applymovement 255, EverGrandeCity_ChampionsRoom_Movement_228C1D + applymovement 3, EverGrandeCity_ChampionsRoom_Movement_2725A6 + applymovement 2, EverGrandeCity_ChampionsRoom_Movement_228C38 + waitmovement 0 + delay 20 + applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725AA + waitmovement 0 + msgbox EverGrandeCity_ChampionsRoom_Text_2293EB, 4 + checkplayergender + compare VAR_RESULT, 0 + call_if 1, EverGrandeCity_ChampionsRoom_EventScript_228BEB + compare VAR_RESULT, 1 + call_if 1, EverGrandeCity_ChampionsRoom_EventScript_228BF4 + closemessage + applymovement 1, EverGrandeCity_ChampionsRoom_Movement_228C3F + applymovement 255, EverGrandeCity_ChampionsRoom_Movement_228C20 + waitmovement 0 + setflag FLAG_0x30D + warp EVER_GRANDE_CITY_HALL_OF_FAME, 255, 7, 16 + waitstate + releaseall + end + +EverGrandeCity_ChampionsRoom_EventScript_228BEB:: @ 8228BEB + msgbox EverGrandeCity_ChampionsRoom_Text_229479, 4 + return + +EverGrandeCity_ChampionsRoom_EventScript_228BF4:: @ 8228BF4 + msgbox EverGrandeCity_ChampionsRoom_Text_2294F5, 4 + return + +EverGrandeCity_ChampionsRoom_EventScript_228BFD:: @ 8228BFD + applymovement 2, EverGrandeCity_ChampionsRoom_Movement_228C26 + waitmovement 0 + applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725A4 + waitmovement 0 + return + +EverGrandeCity_ChampionsRoom_EventScript_228C12:: @ 8228C12 + applymovement 2, EverGrandeCity_ChampionsRoom_Movement_228C2F + waitmovement 0 + return + +EverGrandeCity_ChampionsRoom_Movement_228C1D: @ 8228C1D + step_up + step_up + step_end + +EverGrandeCity_ChampionsRoom_Movement_228C20: @ 8228C20 + step_up + step_14 + step_up + step_13 + step_54 + step_end + +EverGrandeCity_ChampionsRoom_Movement_228C26: @ 8228C26 + step_up + step_up + step_up + step_up + step_up + step_left + step_up + step_28 + step_end + +EverGrandeCity_ChampionsRoom_Movement_228C2F: @ 8228C2F + step_26 + step_14 + step_28 + step_14 + step_26 + step_13 + step_28 + step_14 + step_end + +EverGrandeCity_ChampionsRoom_Movement_228C38: @ 8228C38 + step_right + step_up + step_end + +EverGrandeCity_ChampionsRoom_Movement_228C3B: @ 8228C3B + step_up + step_up + step_25 + step_end + +EverGrandeCity_ChampionsRoom_Movement_228C3F: @ 8228C3F + step_up + step_13 + step_54 + step_end + +EverGrandeCity_ChampionsRoom_Movement_228C43: @ 8228C43 + step_up + step_up + step_up + step_up + step_up + step_right + step_up + step_27 + step_end + +EverGrandeCity_ChampionsRoom_Text_228C4C: @ 8228C4C + .string "WALLACE: Welcome, {PLAYER}{KUN}.\p" + .string "That incident in SOOTOPOLIS CITY…\n" + .string "That was superb work, putting an end\l" + .string "to that crisis all by yourself.\p" + .string "Oops!\p" + .string "It wouldn’t be fair to say that you\n" + .string "alone ended the crisis.\p" + .string "You overcame that difficult situation\n" + .string "by working as one with your POKéMON.\p" + .string "We TRAINERS raise POKéMON by giving\n" + .string "them items and by teaching them new\l" + .string "techniques for battle.\p" + .string "But we ourselves also learn many\n" + .string "things from POKéMON.\p" + .string "And this is where your achievements\n" + .string "are put to the test against what\l" + .string "others like you have achieved.\p" + .string "Now!\p" + .string "Who can most elegantly dance with\n" + .string "their POKéMON in HOENN?\p" + .string "Show me right here and now!$" + +EverGrandeCity_ChampionsRoom_Text_228EAC: @ 8228EAC + .string "I, the CHAMPION, fall in defeat…\p" + .string "That was wonderful work.\n" + .string "You were elegant, infuriatingly so.\l" + .string "And yet it was utterly glorious!\p" + .string "Kudos to you, {PLAYER}{KUN}!\p" + .string "You are a truly noble POKéMON\n" + .string "TRAINER!$" + +EverGrandeCity_ChampionsRoom_Text_228F66: @ 8228F66 + .string "WALLACE: The POKéMON you sent into\n" + .string "battle…\p" + .string "At times they danced like a spring\n" + .string "breeze, and at times they struck\l" + .string "like lightning.\p" + .string "It was with light, yet surefooted,\n" + .string "elegance that you led your POKéMON.\p" + .string "Even I felt bedazzled by your\n" + .string "masterful performance!\p" + .string "You now stand at the glorious peak\n" + .string "of the POKéMON LEAGUE.\p" + .string "I now proclaim you to be the new\n" + .string "HOENN region…$" + +EverGrandeCity_ChampionsRoom_Text_2290CA: @ 82290CA + .string "MAY: {PLAYER}{KUN}!\p" + .string "Here’s some advice before you challenge\n" + .string "the CHAMPION…$" + +EverGrandeCity_ChampionsRoom_Text_22910B: @ 822910B + .string "MAY: Huh?\n" + .string "What, what, what?\p" + .string "{PLAYER}{KUN}…\n" + .string "Could it be that…\l" + .string "It’s already over?$" + +EverGrandeCity_ChampionsRoom_Text_229152: @ 8229152 + .string "BRENDAN: {PLAYER}!\p" + .string "How would you like some advice before\n" + .string "you challenge the CHAMPION?…$" + +EverGrandeCity_ChampionsRoom_Text_2291A2: @ 82291A2 + .string "BRENDAN: {PLAYER}…\p" + .string "Are you trying to tell me…\n" + .string "You’ve beaten the CHAMPION?$" + +EverGrandeCity_ChampionsRoom_Text_2291E6: @ 82291E6 + .string "PROF. BIRCH: See?\n" + .string "What did I tell you, {RIVAL}?\p" + .string "Didn’t I tell you that you don’t need\n" + .string "to worry about {PLAYER}{KUN}?\p" + .string "… … … … … … … …\n" + .string "{PLAYER}{KUN}, you’ve finally done it.\p" + .string "When I heard that you defeated your\n" + .string "own father at the PETALBURG GYM,\l" + .string "I thought perhaps you had a chance…\p" + .string "But to think you’ve actually become\n" + .string "the CHAMPION!\p" + .string "Ah, yes!\p" + .string "What became of your POKéDEX?\n" + .string "Here, let me see.$" + +EverGrandeCity_ChampionsRoom_Text_22934D: @ 822934D + .string "PROF. BIRCH: Anyways,\n" + .string "congratulations!\p" + .string "Now, go proudly into the final room!$" + +EverGrandeCity_ChampionsRoom_Text_229399: @ 8229399 + .string "WALLACE: {PLAYER}{KUN}…\p" + .string "No, let me rephrase that properly.\p" + .string "The new CHAMPION!\p" + .string "Come with me.$" + +EverGrandeCity_ChampionsRoom_Text_2293EB: @ 82293EB + .string "WALLACE: I’m sorry, but…\p" + .string "From here on, only those TRAINERS who\n" + .string "have become CHAMPIONS may enter.\p" + .string "You’ll have to wait outside with\n" + .string "PROF. BIRCH.$" + +EverGrandeCity_ChampionsRoom_Text_229479: @ 8229479 + .string "MAY: Groan…\p" + .string "… … … … … … … …\n" + .string "… … … … … … … …\p" + .string "I’m just joking! That’s okay!\n" + .string "That’s the rule!\p" + .string "{PLAYER}{KUN}!\n" + .string "Honestly, congratulations!$" + +EverGrandeCity_ChampionsRoom_Text_2294F5: @ 82294F5 + .string "BRENDAN: Whaaaat?! … … … … …\n" + .string "… … … … … … … …\p" + .string "It can’t be helped if that’s the rule.\p" + .string "{PLAYER}, way to go!\n" + .string "Congratulations!$" + diff --git a/data/scripts/maps/EverGrandeCity_DrakesRoom.inc b/data/scripts/maps/EverGrandeCity_DrakesRoom.inc new file mode 100644 index 0000000000..a5274bbe52 --- /dev/null +++ b/data/scripts/maps/EverGrandeCity_DrakesRoom.inc @@ -0,0 +1,94 @@ +EverGrandeCity_DrakesRoom_MapScripts:: @ 822869C + map_script 2, EverGrandeCity_DrakesRoom_MapScript2_2286BB + map_script 1, EverGrandeCity_DrakesRoom_MapScript1_2286D2 + map_script 4, EverGrandeCity_DrakesRoom_MapScript2_227F3E + .byte 0 + +EverGrandeCity_DrakesRoom_MapScript2_2286AC: @ 82286AC + map_script_2 VAR_0x4001, 0, EverGrandeCity_DrakesRoom_EventScript_2286B6 + .2byte 0 + +EverGrandeCity_DrakesRoom_EventScript_2286B6:: @ 82286B6 + turnobject 255, 2 + end + +EverGrandeCity_DrakesRoom_MapScript2_2286BB: @ 82286BB + map_script_2 VAR_0x409C, 3, EverGrandeCity_DrakesRoom_EventScript_2286C5 + .2byte 0 + +EverGrandeCity_DrakesRoom_EventScript_2286C5:: @ 82286C5 + lockall + call EverGrandeCity_DrakesRoom_EventScript_272475 + setvar VAR_0x409C, 4 + releaseall + end + +EverGrandeCity_DrakesRoom_MapScript1_2286D2: @ 82286D2 + checkflag FLAG_0x4FE + call_if 1, EverGrandeCity_DrakesRoom_EventScript_2286E7 + compare VAR_0x409C, 4 + call_if 1, EverGrandeCity_DrakesRoom_EventScript_2286ED + end + +EverGrandeCity_DrakesRoom_EventScript_2286E7:: @ 82286E7 + call EverGrandeCity_DrakesRoom_EventScript_2724BC + return + +EverGrandeCity_DrakesRoom_EventScript_2286ED:: @ 82286ED + call EverGrandeCity_DrakesRoom_EventScript_27255F + return + +EverGrandeCity_DrakesRoom_EventScript_2286F3:: @ 82286F3 + lock + faceplayer + checkflag FLAG_0x4FE + goto_eq EverGrandeCity_DrakesRoom_EventScript_22871A + playbgm MUS_SITENNOU, 0 + msgbox EverGrandeCity_DrakesRoom_Text_22873E, 4 + trainerbattle 3, TRAINER_DRAKE, 0, EverGrandeCity_DrakesRoom_Text_228895 + goto EverGrandeCity_DrakesRoom_EventScript_228724 + end + +EverGrandeCity_DrakesRoom_EventScript_22871A:: @ 822871A + msgbox EverGrandeCity_DrakesRoom_Text_2288B0, 4 + release + end + +EverGrandeCity_DrakesRoom_EventScript_228724:: @ 8228724 + setvar VAR_0x8004, 0 + special sub_813BF7C + setflag FLAG_0x4FE + call EverGrandeCity_DrakesRoom_EventScript_2723F8 + msgbox EverGrandeCity_DrakesRoom_Text_2288B0, 4 + release + end + +EverGrandeCity_DrakesRoom_Text_22873E: @ 822873E + .string "I am the last of the POKéMON LEAGUE\n" + .string "ELITE FOUR, DRAKE the DRAGON master!\p" + .string "In their natural state, POKéMON are\n" + .string "wild living things. They are free.\p" + .string "At times, they hinder us.\n" + .string "At times, they help us.\p" + .string "For us to battle with POKéMON as\n" + .string "partners, do you know what it takes?\p" + .string "Do you know what is needed?\p" + .string "If you don’t, then you will never\n" + .string "prevail over me!$" + +EverGrandeCity_DrakesRoom_Text_228895: @ 8228895 + .string "Superb, it should be said.$" + +EverGrandeCity_DrakesRoom_Text_2288B0: @ 82288B0 + .string "You deserve every credit for coming\n" + .string "this far as a TRAINER of POKéMON.\p" + .string "You do seem to know what is needed.\p" + .string "Yes, what a TRAINER needs is a\n" + .string "virtuous heart.\p" + .string "POKéMON touch the good hearts of\n" + .string "TRAINERS and learn good from wrong.\p" + .string "They touch the good hearts of\n" + .string "TRAINERS and grow strong.\p" + .string "Go! Go onwards!\n" + .string "The CHAMPION is waiting!$" + diff --git a/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc b/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc new file mode 100644 index 0000000000..e05b82e2ea --- /dev/null +++ b/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc @@ -0,0 +1,86 @@ +EverGrandeCity_GlaciasRoom_MapScripts:: @ 8228412 + map_script 2, EverGrandeCity_GlaciasRoom_MapScript2_228431 + map_script 1, EverGrandeCity_GlaciasRoom_MapScript1_228448 + map_script 4, EverGrandeCity_GlaciasRoom_MapScript2_228422 + .byte 0 + +EverGrandeCity_GlaciasRoom_MapScript2_228422: @ 8228422 + map_script_2 VAR_0x4001, 0, EverGrandeCity_GlaciasRoom_EventScript_22842C + .2byte 0 + +EverGrandeCity_GlaciasRoom_EventScript_22842C:: @ 822842C + turnobject 255, 2 + end + +EverGrandeCity_GlaciasRoom_MapScript2_228431: @ 8228431 + map_script_2 VAR_0x409C, 2, EverGrandeCity_GlaciasRoom_EventScript_22843B + .2byte 0 + +EverGrandeCity_GlaciasRoom_EventScript_22843B:: @ 822843B + lockall + call EverGrandeCity_GlaciasRoom_EventScript_272475 + setvar VAR_0x409C, 3 + releaseall + end + +EverGrandeCity_GlaciasRoom_MapScript1_228448: @ 8228448 + checkflag FLAG_0x4FD + call_if 1, EverGrandeCity_GlaciasRoom_EventScript_22845D + compare VAR_0x409C, 3 + call_if 1, EverGrandeCity_GlaciasRoom_EventScript_228463 + end + +EverGrandeCity_GlaciasRoom_EventScript_22845D:: @ 822845D + call EverGrandeCity_GlaciasRoom_EventScript_2724BC + return + +EverGrandeCity_GlaciasRoom_EventScript_228463:: @ 8228463 + call EverGrandeCity_GlaciasRoom_EventScript_27255F + return + +EverGrandeCity_GlaciasRoom_EventScript_228469:: @ 8228469 + lock + faceplayer + checkflag FLAG_0x4FD + goto_eq EverGrandeCity_GlaciasRoom_EventScript_228490 + playbgm MUS_SITENNOU, 0 + msgbox EverGrandeCity_GlaciasRoom_Text_2284AC, 4 + trainerbattle 3, TRAINER_GLACIA, 0, EverGrandeCity_GlaciasRoom_Text_2285B4 + goto EverGrandeCity_GlaciasRoom_EventScript_22849A + end + +EverGrandeCity_GlaciasRoom_EventScript_228490:: @ 8228490 + msgbox EverGrandeCity_GlaciasRoom_Text_228640, 4 + release + end + +EverGrandeCity_GlaciasRoom_EventScript_22849A:: @ 822849A + setflag FLAG_0x4FD + call EverGrandeCity_GlaciasRoom_EventScript_2723F8 + msgbox EverGrandeCity_GlaciasRoom_Text_228640, 4 + release + end + +EverGrandeCity_GlaciasRoom_Text_2284AC: @ 82284AC + .string "Welcome, my name is GLACIA\n" + .string "of the ELITE FOUR.\p" + .string "I’ve traveled from afar to HOENN\n" + .string "so that I may hone my ice skills.\p" + .string "But all I have seen are challenges by\n" + .string "weak TRAINERS and their POKéMON.\p" + .string "What about you?\p" + .string "It would please me to no end if I could\n" + .string "go all out against you!$" + +EverGrandeCity_GlaciasRoom_Text_2285B4: @ 82285B4 + .string "You and your POKéMON…\n" + .string "How hot your spirits burn!\p" + .string "The all-consuming heat overwhelms.\p" + .string "It’s no surprise that my icy skills\n" + .string "failed to harm you.$" + +EverGrandeCity_GlaciasRoom_Text_228640: @ 8228640 + .string "Advance to the next room.\p" + .string "And there, confirm the truly fearsome\n" + .string "side of the POKéMON LEAGUE.$" + diff --git a/data/scripts/maps/EverGrandeCity_Hall1.inc b/data/scripts/maps/EverGrandeCity_Hall1.inc new file mode 100644 index 0000000000..9a570e6e02 --- /dev/null +++ b/data/scripts/maps/EverGrandeCity_Hall1.inc @@ -0,0 +1,12 @@ +EverGrandeCity_Hall1_MapScripts:: @ 8229569 + map_script 4, EverGrandeCity_Hall1_MapScript2_22956F + .byte 0 + +EverGrandeCity_Hall1_MapScript2_22956F: @ 822956F + map_script_2 VAR_0x4001, 0, EverGrandeCity_Hall1_EventScript_229579 + .2byte 0 + +EverGrandeCity_Hall1_EventScript_229579:: @ 8229579 + turnobject 255, 2 + end + diff --git a/data/scripts/maps/EverGrandeCity_Hall2.inc b/data/scripts/maps/EverGrandeCity_Hall2.inc new file mode 100644 index 0000000000..e6bed41c8c --- /dev/null +++ b/data/scripts/maps/EverGrandeCity_Hall2.inc @@ -0,0 +1,12 @@ +EverGrandeCity_Hall2_MapScripts:: @ 822957E + map_script 4, EverGrandeCity_Hall2_MapScript2_229584 + .byte 0 + +EverGrandeCity_Hall2_MapScript2_229584: @ 8229584 + map_script_2 VAR_0x4001, 0, EverGrandeCity_Hall2_EventScript_22958E + .2byte 0 + +EverGrandeCity_Hall2_EventScript_22958E:: @ 822958E + turnobject 255, 2 + end + diff --git a/data/scripts/maps/EverGrandeCity_Hall3.inc b/data/scripts/maps/EverGrandeCity_Hall3.inc new file mode 100644 index 0000000000..505a9f6acb --- /dev/null +++ b/data/scripts/maps/EverGrandeCity_Hall3.inc @@ -0,0 +1,12 @@ +EverGrandeCity_Hall3_MapScripts:: @ 8229593 + map_script 4, EverGrandeCity_Hall3_MapScript2_229599 + .byte 0 + +EverGrandeCity_Hall3_MapScript2_229599: @ 8229599 + map_script_2 VAR_0x4001, 0, EverGrandeCity_Hall3_EventScript_2295A3 + .2byte 0 + +EverGrandeCity_Hall3_EventScript_2295A3:: @ 82295A3 + turnobject 255, 2 + end + diff --git a/data/scripts/maps/EverGrandeCity_Hall4.inc b/data/scripts/maps/EverGrandeCity_Hall4.inc new file mode 100644 index 0000000000..bae904c35e --- /dev/null +++ b/data/scripts/maps/EverGrandeCity_Hall4.inc @@ -0,0 +1,12 @@ +EverGrandeCity_Hall4_MapScripts:: @ 82295A8 + map_script 4, EverGrandeCity_Hall4_MapScript2_2295AE + .byte 0 + +EverGrandeCity_Hall4_MapScript2_2295AE: @ 82295AE + map_script_2 VAR_0x4001, 0, EverGrandeCity_Hall4_EventScript_2295B8 + .2byte 0 + +EverGrandeCity_Hall4_EventScript_2295B8:: @ 82295B8 + turnobject 255, 2 + end + diff --git a/data/scripts/maps/EverGrandeCity_Hall5.inc b/data/scripts/maps/EverGrandeCity_Hall5.inc new file mode 100644 index 0000000000..cc987a4cf3 --- /dev/null +++ b/data/scripts/maps/EverGrandeCity_Hall5.inc @@ -0,0 +1,12 @@ +EverGrandeCity_Hall5_MapScripts:: @ 82295BD + map_script 4, EverGrandeCity_Hall5_MapScript2_2295C3 + .byte 0 + +EverGrandeCity_Hall5_MapScript2_2295C3: @ 82295C3 + map_script_2 VAR_0x4001, 0, EverGrandeCity_Hall5_EventScript_2295CD + .2byte 0 + +EverGrandeCity_Hall5_EventScript_2295CD:: @ 82295CD + turnobject 255, 2 + end + diff --git a/data/scripts/maps/EverGrandeCity_HallOfFame.inc b/data/scripts/maps/EverGrandeCity_HallOfFame.inc new file mode 100644 index 0000000000..5cb4ee7fd8 --- /dev/null +++ b/data/scripts/maps/EverGrandeCity_HallOfFame.inc @@ -0,0 +1,99 @@ +EverGrandeCity_HallOfFame_MapScripts:: @ 822982C + map_script 2, EverGrandeCity_HallOfFame_MapScript2_229846 + map_script 4, EverGrandeCity_HallOfFame_MapScript2_229837 + .byte 0 + +EverGrandeCity_HallOfFame_MapScript2_229837: @ 8229837 + map_script_2 VAR_0x4001, 0, EverGrandeCity_HallOfFame_EventScript_229841 + .2byte 0 + +EverGrandeCity_HallOfFame_EventScript_229841:: @ 8229841 + turnobject 255, 2 + end + +EverGrandeCity_HallOfFame_MapScript2_229846: @ 8229846 + map_script_2 VAR_0x4001, 0, EverGrandeCity_HallOfFame_EventScript_229850 + .2byte 0 + +EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850 + lockall + applymovement 1, EverGrandeCity_HallOfFame_Movement_229901 + applymovement 255, EverGrandeCity_HallOfFame_Movement_229901 + waitmovement 0 + applymovement 1, EverGrandeCity_HallOfFame_Movement_2725A8 + applymovement 255, EverGrandeCity_HallOfFame_Movement_2725A4 + waitmovement 0 + msgbox EverGrandeCity_HallOfFame_Text_22990E, 4 + closemessage + applymovement 1, EverGrandeCity_HallOfFame_Movement_229908 + applymovement 255, EverGrandeCity_HallOfFame_Movement_229908 + waitmovement 0 + delay 20 + applymovement 1, EverGrandeCity_HallOfFame_Movement_2725A8 + applymovement 255, EverGrandeCity_HallOfFame_Movement_2725A4 + waitmovement 0 + msgbox EverGrandeCity_HallOfFame_Text_2299A3, 4 + closemessage + applymovement 1, EverGrandeCity_HallOfFame_Movement_2725A6 + applymovement 255, EverGrandeCity_HallOfFame_Movement_2725A6 + waitmovement 0 + delay 20 + dofieldeffect 62 + waitfieldeffect 62 + delay 40 + setvar VAR_0x4001, 1 + call EverGrandeCity_HallOfFame_EventScript_2717C1 + checkplayergender + compare VAR_RESULT, 0 + goto_eq EverGrandeCity_HallOfFame_EventScript_2298E9 + compare VAR_RESULT, 1 + goto_eq EverGrandeCity_HallOfFame_EventScript_2298F5 + end + +EverGrandeCity_HallOfFame_EventScript_2298E9:: @ 82298E9 + setrespawn 1 + fadescreenspeed 1, 24 + special GameClear + waitstate + releaseall + end + +EverGrandeCity_HallOfFame_EventScript_2298F5:: @ 82298F5 + setrespawn 2 + fadescreenspeed 1, 24 + special GameClear + waitstate + releaseall + end + +EverGrandeCity_HallOfFame_Movement_229901: @ 8229901 + step_up + step_up + step_up + step_up + step_up + step_up + step_end + +EverGrandeCity_HallOfFame_Movement_229908: @ 8229908 + step_up + step_up + step_up + step_up + step_up + step_end + +EverGrandeCity_HallOfFame_Text_22990E: @ 822990E + .string "WALLACE: This room…\p" + .string "This is where we keep records of\n" + .string "POKéMON that prevailed through\l" + .string "harsh battles.\p" + .string "It is here that the LEAGUE CHAMPIONS\n" + .string "are honored.$" + +EverGrandeCity_HallOfFame_Text_2299A3: @ 82299A3 + .string "WALLACE: Come on, let’s record your\n" + .string "name as a TRAINER who triumphed over\l" + .string "the POKéMON LEAGUE, and the names of\l" + .string "the partners who battled with you.$" + diff --git a/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc b/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc new file mode 100644 index 0000000000..b838cc25bd --- /dev/null +++ b/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc @@ -0,0 +1,87 @@ +EverGrandeCity_PhoebesRoom_MapScripts:: @ 8228174 + map_script 1, EverGrandeCity_PhoebesRoom_MapScript1_2281AA + map_script 4, EverGrandeCity_PhoebesRoom_MapScript2_228184 + map_script 2, EverGrandeCity_PhoebesRoom_MapScript2_228193 + .byte 0 + +EverGrandeCity_PhoebesRoom_MapScript2_228184: @ 8228184 + map_script_2 VAR_0x4001, 0, EverGrandeCity_PhoebesRoom_EventScript_22818E + .2byte 0 + +EverGrandeCity_PhoebesRoom_EventScript_22818E:: @ 822818E + turnobject 255, 2 + end + +EverGrandeCity_PhoebesRoom_MapScript2_228193: @ 8228193 + map_script_2 VAR_0x409C, 1, EverGrandeCity_PhoebesRoom_EventScript_22819D + .2byte 0 + +EverGrandeCity_PhoebesRoom_EventScript_22819D:: @ 822819D + lockall + call EverGrandeCity_PhoebesRoom_EventScript_272475 + setvar VAR_0x409C, 2 + releaseall + end + +EverGrandeCity_PhoebesRoom_MapScript1_2281AA: @ 82281AA + checkflag FLAG_0x4FC + call_if 1, EverGrandeCity_PhoebesRoom_EventScript_2281BF + compare VAR_0x409C, 2 + call_if 1, EverGrandeCity_PhoebesRoom_EventScript_2281C5 + end + +EverGrandeCity_PhoebesRoom_EventScript_2281BF:: @ 82281BF + call EverGrandeCity_PhoebesRoom_EventScript_2724BC + return + +EverGrandeCity_PhoebesRoom_EventScript_2281C5:: @ 82281C5 + call EverGrandeCity_PhoebesRoom_EventScript_27255F + return + +EverGrandeCity_PhoebesRoom_EventScript_2281CB:: @ 82281CB + lock + faceplayer + checkflag FLAG_0x4FC + goto_eq EverGrandeCity_PhoebesRoom_EventScript_2281F2 + playbgm MUS_SITENNOU, 0 + msgbox EverGrandeCity_PhoebesRoom_Text_22820E, 4 + trainerbattle 3, TRAINER_PHOEBE, 0, EverGrandeCity_PhoebesRoom_Text_228325 + goto EverGrandeCity_PhoebesRoom_EventScript_2281FC + end + +EverGrandeCity_PhoebesRoom_EventScript_2281F2:: @ 82281F2 + msgbox EverGrandeCity_PhoebesRoom_Text_228343, 4 + release + end + +EverGrandeCity_PhoebesRoom_EventScript_2281FC:: @ 82281FC + setflag FLAG_0x4FC + call EverGrandeCity_PhoebesRoom_EventScript_2723F8 + msgbox EverGrandeCity_PhoebesRoom_Text_228343, 4 + release + end + +EverGrandeCity_PhoebesRoom_Text_22820E: @ 822820E + .string "Ahahaha!\p" + .string "I’m PHOEBE of the ELITE FOUR.\n" + .string "I did my training on MT. PYRE.\p" + .string "While I trained, I gained the ability\n" + .string "to commune with GHOST-type POKéMON.\p" + .string "Yes, the bond I developed with POKéMON\n" + .string "is extremely tight.\p" + .string "So, come on, just try and see if you can\n" + .string "even inflict damage on my POKéMON!$" + +EverGrandeCity_PhoebesRoom_Text_228325: @ 8228325 + .string "Oh, darn.\n" + .string "I’ve gone and lost.$" + +EverGrandeCity_PhoebesRoom_Text_228343: @ 8228343 + .string "There’s a definite bond between you\n" + .string "and your POKéMON, too.\p" + .string "I didn’t recognize it, so it’s only\n" + .string "natural that I lost.\p" + .string "Yup, I’d like to see how far your bond\n" + .string "will carry you.\p" + .string "Go ahead, move on to the next room.$" + diff --git a/data/scripts/maps/EverGrandeCity_PokemonCenter_1F.inc b/data/scripts/maps/EverGrandeCity_PokemonCenter_1F.inc new file mode 100644 index 0000000000..a9e27ec73a --- /dev/null +++ b/data/scripts/maps/EverGrandeCity_PokemonCenter_1F.inc @@ -0,0 +1,104 @@ +EverGrandeCity_PokemonCenter_1F_MapScripts:: @ 8229A34 + map_script 3, EverGrandeCity_PokemonCenter_1F_MapScript1_229A3F + map_script 5, EverGrandeCity_PokemonCenter_1F_MapScript1_277C30 + .byte 0 + +EverGrandeCity_PokemonCenter_1F_MapScript1_229A3F: @ 8229A3F + setrespawn 11 + checkflag FLAG_0x1CF + call_if 0, EverGrandeCity_PokemonCenter_1F_EventScript_229A4C + end + +EverGrandeCity_PokemonCenter_1F_EventScript_229A4C:: @ 8229A4C + checkflag FLAG_BADGE06_GET + goto_if 0, EverGrandeCity_PokemonCenter_1F_EventScript_27374E + clearflag FLAG_0x319 + return + +EverGrandeCity_PokemonCenter_1F_EventScript_229A59:: @ 8229A59 + setvar VAR_0x800B, 1 + call EverGrandeCity_PokemonCenter_1F_EventScript_27191E + waitmessage + waitbuttonpress + release + end + +EverGrandeCity_PokemonCenter_1F_EventScript_229A67:: @ 8229A67 + msgbox EverGrandeCity_PokemonCenter_1F_Text_229ADA, 2 + end + +EverGrandeCity_PokemonCenter_1F_EventScript_229A70:: @ 8229A70 + msgbox EverGrandeCity_PokemonCenter_1F_Text_229B62, 2 + end + +EverGrandeCity_PokemonCenter_1F_EventScript_229A79:: @ 8229A79 + lock + faceplayer + msgbox EverGrandeCity_PokemonCenter_1F_Text_229BF1, 4 + closemessage + compare VAR_FACING, 2 + call_if 1, EverGrandeCity_PokemonCenter_1F_EventScript_229AB6 + compare VAR_FACING, 4 + call_if 1, EverGrandeCity_PokemonCenter_1F_EventScript_229AC1 + compare VAR_FACING, 3 + call_if 1, EverGrandeCity_PokemonCenter_1F_EventScript_229AC1 + addvar VAR_0x40D1, 1 + setflag FLAG_0x1CF + playse SE_KAIDAN + waitse + removeobject 4 + release + end + +EverGrandeCity_PokemonCenter_1F_EventScript_229AB6:: @ 8229AB6 + applymovement 4, EverGrandeCity_PokemonCenter_1F_Movement_229ACC + waitmovement 0 + return + +EverGrandeCity_PokemonCenter_1F_EventScript_229AC1:: @ 8229AC1 + applymovement 4, EverGrandeCity_PokemonCenter_1F_Movement_229AD3 + waitmovement 0 + return + +EverGrandeCity_PokemonCenter_1F_Movement_229ACC: @ 8229ACC + step_left + step_down + step_down + step_left + step_down + step_down + step_end + +EverGrandeCity_PokemonCenter_1F_Movement_229AD3: @ 8229AD3 + step_down + step_down + step_left + step_left + step_down + step_down + step_end + +EverGrandeCity_PokemonCenter_1F_Text_229ADA: @ 8229ADA + .string "The POKéMON LEAGUE is only a short\n" + .string "distance after the VICTORY ROAD.\p" + .string "If you’ve come this far, what choice\n" + .string "do you have but to keep going?$" + +EverGrandeCity_PokemonCenter_1F_Text_229B62: @ 8229B62 + .string "The long and harrowing VICTORY ROAD…\p" + .string "It’s like reliving the path one has\n" + .string "traveled in life…\p" + .string "Believe in your POKéMON and give it\n" + .string "your very best!$" + +EverGrandeCity_PokemonCenter_1F_Text_229BF1: @ 8229BF1 + .string "SCOTT: {PLAYER}{KUN}, you’ve clawed your\n" + .string "way up to face the POKéMON LEAGUE!\p" + .string "I’m happy for you!\n" + .string "You made my cheering worthwhile!\p" + .string "{PLAYER}{KUN}, if you were to become\n" + .string "the POKéMON LEAGUE CHAMPION…\p" + .string "I’ll get in touch with you then.\p" + .string "Okay, {PLAYER}{KUN}.\n" + .string "Go for greatness!$" + diff --git a/data/scripts/maps/EverGrandeCity_PokemonCenter_2F.inc b/data/scripts/maps/EverGrandeCity_PokemonCenter_2F.inc new file mode 100644 index 0000000000..09d382b2b3 --- /dev/null +++ b/data/scripts/maps/EverGrandeCity_PokemonCenter_2F.inc @@ -0,0 +1,20 @@ +EverGrandeCity_PokemonCenter_2F_MapScripts:: @ 8229CE0 + map_script 2, EverGrandeCity_PokemonCenter_2F_MapScript2_276C3B + map_script 4, EverGrandeCity_PokemonCenter_2F_MapScript2_276B6C + map_script 1, EverGrandeCity_PokemonCenter_2F_MapScript1_276BBE + map_script 3, EverGrandeCity_PokemonCenter_2F_MapScript1_276ACF + .byte 0 + +EverGrandeCity_PokemonCenter_2F_EventScript_229CF5:: @ 8229CF5 + call OldaleTown_PokemonCenter_2F_EventScript_276EB7 + end + +EverGrandeCity_PokemonCenter_2F_EventScript_229CFB:: @ 8229CFB + call OldaleTown_PokemonCenter_2F_EventScript_2770B2 + end + +EverGrandeCity_PokemonCenter_2F_EventScript_229D01:: @ 8229D01 + call OldaleTown_PokemonCenter_2F_EventScript_2771DB + end + + diff --git a/data/scripts/maps/EverGrandeCity_PokemonLeague_1F.inc b/data/scripts/maps/EverGrandeCity_PokemonLeague_1F.inc new file mode 100644 index 0000000000..0a174bf0cc --- /dev/null +++ b/data/scripts/maps/EverGrandeCity_PokemonLeague_1F.inc @@ -0,0 +1,142 @@ +EverGrandeCity_PokemonLeague_1F_MapScripts:: @ 82295D2 + map_script 3, EverGrandeCity_PokemonLeague_1F_MapScript1_2295DD + map_script 5, EverGrandeCity_PokemonLeague_1F_MapScript1_277C30 + .byte 0 + +EverGrandeCity_PokemonLeague_1F_MapScript1_2295DD: @ 82295DD + setrespawn 20 + setflag FLAG_LANDMARK_POKEMON_LEAGUE + checkflag FLAG_0x107 + call_if 0, EverGrandeCity_PokemonLeague_1F_EventScript_2295ED + end + +EverGrandeCity_PokemonLeague_1F_EventScript_2295ED:: @ 82295ED + setobjectxyperm 3, 9, 2 + setobjectxyperm 4, 10, 2 + return + +EverGrandeCity_PokemonLeague_1F_EventScript_2295FC:: @ 82295FC + setvar VAR_0x800B, 1 + call EverGrandeCity_PokemonLeague_1F_EventScript_27191E + waitmessage + waitbuttonpress + release + end + +EverGrandeCity_PokemonLeague_1F_EventScript_22960A:: @ 822960A + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemart EverGrandeCity_PokemonLeague_1F_Pokemart_229624 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +EverGrandeCity_PokemonLeague_1F_Pokemart_229624: @ 8229624 + .2byte ITEM_ULTRA_BALL + .2byte ITEM_HYPER_POTION + .2byte ITEM_MAX_POTION + .2byte ITEM_FULL_RESTORE + .2byte ITEM_FULL_HEAL + .2byte ITEM_REVIVE + .2byte ITEM_MAX_REPEL + .2byte ITEM_NONE + release + end + +EverGrandeCity_PokemonLeague_1F_EventScript_229636:: @ 8229636 + lockall + checkflag FLAG_0x107 + goto_eq EverGrandeCity_PokemonLeague_1F_EventScript_2296BB + getplayerxy VAR_0x4000, VAR_0x4001 + compare VAR_0x4000, 11 + call_if 4, EverGrandeCity_PokemonLeague_1F_EventScript_229698 + compare VAR_0x4000, 8 + call_if 3, EverGrandeCity_PokemonLeague_1F_EventScript_2296A3 + message EverGrandeCity_PokemonLeague_1F_Text_2296E8 + waitmessage + delay 120 + checkflag FLAG_BADGE06_GET + goto_if 0, EverGrandeCity_PokemonLeague_1F_EventScript_2296AE + closemessage + applymovement 3, EverGrandeCity_PokemonLeague_1F_Movement_2296E2 + applymovement 4, EverGrandeCity_PokemonLeague_1F_Movement_2296E5 + waitmovement 0 + delay 10 + playfanfare MUS_ME_BACHI + message EverGrandeCity_PokemonLeague_1F_Text_2297EF + waitmessage + waitfanfare + closemessage + moveobjectoffscreen 3 + moveobjectoffscreen 4 + setflag FLAG_0x107 + releaseall + end + +EverGrandeCity_PokemonLeague_1F_EventScript_229698:: @ 8229698 + applymovement 255, EverGrandeCity_PokemonLeague_1F_Movement_2296DA + waitmovement 0 + return + +EverGrandeCity_PokemonLeague_1F_EventScript_2296A3:: @ 82296A3 + applymovement 255, EverGrandeCity_PokemonLeague_1F_Movement_2296DE + waitmovement 0 + return + +EverGrandeCity_PokemonLeague_1F_EventScript_2296AE:: @ 82296AE + playse SE_HAZURE + msgbox EverGrandeCity_PokemonLeague_1F_Text_229787, 4 + releaseall + end + +EverGrandeCity_PokemonLeague_1F_EventScript_2296BB:: @ 82296BB + applymovement VAR_LAST_TALKED, EverGrandeCity_PokemonLeague_1F_Movement_27259E + waitmovement 0 + msgbox EverGrandeCity_PokemonLeague_1F_Text_2297EF, 4 + closemessage + applymovement VAR_LAST_TALKED, EverGrandeCity_PokemonLeague_1F_Movement_2725A2 + waitmovement 0 + releaseall + end + +EverGrandeCity_PokemonLeague_1F_Movement_2296DA: @ 82296DA + step_down + step_left + step_26 + step_end + +EverGrandeCity_PokemonLeague_1F_Movement_2296DE: @ 82296DE + step_down + step_right + step_26 + step_end + +EverGrandeCity_PokemonLeague_1F_Movement_2296E2: @ 82296E2 + step_left + step_25 + step_end + +EverGrandeCity_PokemonLeague_1F_Movement_2296E5: @ 82296E5 + step_right + step_25 + step_end + +EverGrandeCity_PokemonLeague_1F_Text_2296E8: @ 82296E8 + .string "Beyond this point, only those TRAINERS\n" + .string "who have collected all the GYM BADGES\l" + .string "are permitted to enter.\p" + .string "TRAINER, let us confirm that you have\n" + .string "all the GYM BADGES.$" + +EverGrandeCity_PokemonLeague_1F_Text_229787: @ 8229787 + .string "You haven’t obtained all the BADGES.\p" + .string "If you’re bound for the POKéMON\n" + .string "LEAGUE, you must return with them.$" + +EverGrandeCity_PokemonLeague_1F_Text_2297EF: @ 82297EF + .string "TRAINER! Believe in yourself and your\n" + .string "POKéMON, and go forth!$" + diff --git a/data/scripts/maps/EverGrandeCity_PokemonLeague_2F.inc b/data/scripts/maps/EverGrandeCity_PokemonLeague_2F.inc new file mode 100644 index 0000000000..d3a77a0511 --- /dev/null +++ b/data/scripts/maps/EverGrandeCity_PokemonLeague_2F.inc @@ -0,0 +1,19 @@ +EverGrandeCity_PokemonLeague_2F_MapScripts:: @ 8229D07 + map_script 2, EverGrandeCity_PokemonLeague_2F_MapScript2_276C3B + map_script 4, EverGrandeCity_PokemonLeague_2F_MapScript2_276B6C + map_script 1, EverGrandeCity_PokemonLeague_2F_MapScript1_276BBE + map_script 3, EverGrandeCity_PokemonLeague_2F_MapScript1_276ACF + .byte 0 + +EverGrandeCity_PokemonLeague_2F_EventScript_229D1C:: @ 8229D1C + call OldaleTown_PokemonCenter_2F_EventScript_276EB7 + end + +EverGrandeCity_PokemonLeague_2F_EventScript_229D22:: @ 8229D22 + call OldaleTown_PokemonCenter_2F_EventScript_2770B2 + end + +EverGrandeCity_PokemonLeague_2F_EventScript_229D28:: @ 8229D28 + call OldaleTown_PokemonCenter_2F_EventScript_2771DB + end + diff --git a/data/scripts/maps/EverGrandeCity_SidneysRoom.inc b/data/scripts/maps/EverGrandeCity_SidneysRoom.inc new file mode 100644 index 0000000000..46c471e4e3 --- /dev/null +++ b/data/scripts/maps/EverGrandeCity_SidneysRoom.inc @@ -0,0 +1,91 @@ +EverGrandeCity_SidneysRoom_MapScripts:: @ 8227F01 + map_script 1, EverGrandeCity_SidneysRoom_MapScript1_227F1D + map_script 4, EverGrandeCity_SidneysRoom_MapScript2_227F3E + map_script 3, EverGrandeCity_SidneysRoom_MapScript1_227F16 + map_script 2, EverGrandeCity_SidneysRoom_MapScript2_227F4D + .byte 0 + +EverGrandeCity_SidneysRoom_MapScript1_227F16: @ 8227F16 + setflag FLAG_0x1CF + setflag FLAG_0x319 + end + +EverGrandeCity_SidneysRoom_MapScript1_227F1D: @ 8227F1D + checkflag FLAG_0x4FB + call_if 1, EverGrandeCity_SidneysRoom_EventScript_227F32 + compare VAR_0x409C, 1 + call_if 1, EverGrandeCity_SidneysRoom_EventScript_227F38 + end + +EverGrandeCity_SidneysRoom_EventScript_227F32:: @ 8227F32 + call EverGrandeCity_SidneysRoom_EventScript_2724BC + return + +EverGrandeCity_SidneysRoom_EventScript_227F38:: @ 8227F38 + call EverGrandeCity_SidneysRoom_EventScript_27255F + return + +EverGrandeCity_DrakesRoom_MapScript2_227F3E: @ 8227F3E +EverGrandeCity_SidneysRoom_MapScript2_227F3E: @ 8227F3E + map_script_2 VAR_0x4001, 0, EverGrandeCity_SidneysRoom_EventScript_227F48 + .2byte 0 + +EverGrandeCity_SidneysRoom_EventScript_227F48:: @ 8227F48 + turnobject 255, 2 + end + +EverGrandeCity_SidneysRoom_MapScript2_227F4D: @ 8227F4D + map_script_2 VAR_0x409C, 0, EverGrandeCity_SidneysRoom_EventScript_227F57 + .2byte 0 + +EverGrandeCity_SidneysRoom_EventScript_227F57:: @ 8227F57 + lockall + call EverGrandeCity_SidneysRoom_EventScript_272475 + setvar VAR_0x409C, 1 + releaseall + end + +EverGrandeCity_SidneysRoom_EventScript_227F64:: @ 8227F64 + lock + faceplayer + checkflag FLAG_0x4FB + goto_eq EverGrandeCity_SidneysRoom_EventScript_227F8B + playbgm MUS_SITENNOU, 0 + msgbox EverGrandeCity_SidneysRoom_Text_227FA7, 4 + trainerbattle 3, TRAINER_SIDNEY, 0, EverGrandeCity_SidneysRoom_Text_2280A2 + goto EverGrandeCity_SidneysRoom_EventScript_227F95 + end + +EverGrandeCity_SidneysRoom_EventScript_227F8B:: @ 8227F8B + msgbox EverGrandeCity_SidneysRoom_Text_2280EC, 4 + release + end + +EverGrandeCity_SidneysRoom_EventScript_227F95:: @ 8227F95 + setflag FLAG_0x4FB + call EverGrandeCity_SidneysRoom_EventScript_2723F8 + msgbox EverGrandeCity_SidneysRoom_Text_2280EC, 4 + release + end + +EverGrandeCity_SidneysRoom_Text_227FA7: @ 8227FA7 + .string "Welcome, challenger!\n" + .string "I’m SIDNEY of the ELITE FOUR.\p" + .string "I like that look you’re giving me.\n" + .string "I guess you’ll give me a good match.\l" + .string "That’s good! Looking real good!\p" + .string "All right! You and me, let’s enjoy\n" + .string "a battle that can only be staged\l" + .string "here in the POKéMON LEAGUE!$" + +EverGrandeCity_SidneysRoom_Text_2280A2: @ 82280A2 + .string "Well, how do you like that? I lost!\n" + .string "Eh, it was fun, so it doesn’t matter.$" + +EverGrandeCity_SidneysRoom_Text_2280EC: @ 82280EC + .string "Well, listen to what this loser has\n" + .string "to say.\p" + .string "You’ve got what it takes to go far.\n" + .string "Now, go on to the next room and enjoy\l" + .string "your next battle!$" + diff --git a/data/scripts/maps/FallarborTown.inc b/data/scripts/maps/FallarborTown.inc new file mode 100644 index 0000000000..21cea72e14 --- /dev/null +++ b/data/scripts/maps/FallarborTown.inc @@ -0,0 +1,96 @@ +FallarborTown_MapScripts:: @ 81EB1FA + map_script 3, FallarborTown_MapScript1_1EB200 + .byte 0 + +FallarborTown_MapScript1_1EB200: @ 81EB200 + setflag FLAG_VISITED_FALLARBOR_TOWN + setvar VAR_0x4086, 0 + clearflag FLAG_0x10E + end + +FallarborTown_EventScript_1EB20C:: @ 81EB20C + lock + faceplayer + checkflag FLAG_0x08B + goto_eq FallarborTown_EventScript_1EB221 + msgbox FallarborTown_Text_1EB26B, 4 + release + end + +FallarborTown_EventScript_1EB221:: @ 81EB221 + msgbox FallarborTown_Text_1EB2DE, 4 + release + end + +FallarborTown_EventScript_1EB22B:: @ 81EB22B + msgbox FallarborTown_Text_1EB35F, 2 + end + +FallarborTown_EventScript_1EB234:: @ 81EB234 + msgbox FallarborTown_Text_1EB3CA, 2 + end + +FallarborTown_EventScript_1EB23D:: @ 81EB23D + lock + faceplayer + waitse + playmoncry SPECIES_AZURILL, 0 + msgbox FallarborTown_Text_1EB3B5, 4 + waitmoncry + release + end + +FallarborTown_EventScript_1EB250:: @ 81EB250 + msgbox FallarborTown_Text_1EB4C2, 3 + end + +FallarborTown_EventScript_1EB259:: @ 81EB259 + msgbox FallarborTown_Text_1EB4FE, 3 + end + +FallarborTown_EventScript_1EB262:: @ 81EB262 + msgbox FallarborTown_Text_1EB534, 3 + end + +FallarborTown_Text_1EB26B: @ 81EB26B + .string "Something’s happening,\n" + .string "and I don’t like it!\p" + .string "I’ve seen shady characters wandering\n" + .string "in and out of PROF. COZMO’s home…$" + +FallarborTown_Text_1EB2DE: @ 81EB2DE + .string "This region’s been known for meteors\n" + .string "since the olden days.\p" + .string "They say METEOR FALLS was gouged out\n" + .string "by a falling meteorite long ago.$" + +FallarborTown_Text_1EB35F: @ 81EB35F + .string "See! Take a look!\n" + .string "This is my precious AZURILL!\p" + .string "It’s slick and smooth and plushy, too!$" + +FallarborTown_Text_1EB3B5: @ 81EB3B5 + .string "AZURILL: Rooreelooo.$" + +FallarborTown_Text_1EB3CA: @ 81EB3CA + .string "Have you already challenged FLANNERY,\n" + .string "the LEADER of LAVARIDGE GYM?\p" + .string "The girl’s grandfather was famous.\n" + .string "He was one of the ELITE FOUR in the\l" + .string "POKéMON LEAGUE at one point.\p" + .string "It wouldn’t surprise me to see FLANNERY\n" + .string "become a great TRAINER in her own\l" + .string "right.$" + +FallarborTown_Text_1EB4C2: @ 81EB4C2 + .string "BATTLE TENT FALLARBOR SITE\n" + .string "“May the Greatest Teams Gather!”$" + +FallarborTown_Text_1EB4FE: @ 81EB4FE + .string "FALLARBOR TOWN\n" + .string "“A farm community with small gardens.”$" + +FallarborTown_Text_1EB534: @ 81EB534 + .string "MOVE TUTOR’S HOUSE\n" + .string "“New moves taught to POKéMON.”$" + diff --git a/data/scripts/maps/FallarborTown_BattleTentBattleRoom.inc b/data/scripts/maps/FallarborTown_BattleTentBattleRoom.inc new file mode 100644 index 0000000000..b4d0a5d9cd --- /dev/null +++ b/data/scripts/maps/FallarborTown_BattleTentBattleRoom.inc @@ -0,0 +1,268 @@ +FallarborTown_BattleTentBattleRoom_MapScripts:: @ 8200899 + map_script 3, FallarborTown_BattleTentBattleRoom_MapScript1_2008A9 + map_script 2, FallarborTown_BattleTentBattleRoom_MapScript2_2008DD + map_script 4, FallarborTown_BattleTentBattleRoom_MapScript2_200BB0 + .byte 0 + +FallarborTown_BattleTentBattleRoom_MapScript1_2008A9: @ 82008A9 + call FallarborTown_BattleTentBattleRoom_EventScript_2008AF + end + +FallarborTown_BattleTentBattleRoom_EventScript_2008AF:: @ 82008AF + checkplayergender + compare VAR_RESULT, 0 + goto_eq FallarborTown_BattleTentBattleRoom_EventScript_2008C7 + compare VAR_RESULT, 1 + goto_eq FallarborTown_BattleTentBattleRoom_EventScript_2008D2 + return + +FallarborTown_BattleTentBattleRoom_EventScript_2008C7:: @ 82008C7 + setvar VAR_0x4011, 100 + setvar VAR_0x4010, 100 + return + +FallarborTown_BattleTentBattleRoom_EventScript_2008D2:: @ 82008D2 + setvar VAR_0x4011, 105 + setvar VAR_0x4010, 105 + return + +FallarborTown_BattleTentBattleRoom_MapScript2_2008DD: @ 82008DD + map_script_2 VAR_0x4000, 0, FallarborTown_BattleTentBattleRoom_EventScript_2008E7 + .2byte 0 + +FallarborTown_BattleTentBattleRoom_EventScript_2008E7:: @ 82008E7 + lockall + showobjectat 1, FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM + applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_200B8D + waitmovement 0 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, FallarborTown_BattleTentBattleRoom_EventScript_200B73 + +FallarborTown_BattleTentBattleRoom_EventScript_20090F:: @ 820090F + setvar VAR_0x8004, 3 + special sub_8161F74 + addobject 3 + applymovement 3, FallarborTown_BattleTentBattleRoom_Movement_200B96 + waitmovement 0 + applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BA3 + playse SE_W187 + waitse + waitmovement 0 + msgbox FallarborTown_BattleTentBattleRoom_Text_257C93, 4 + setvar VAR_0x8004, 4 + special sub_81B99B4 + msgbox 0x2021fc4, 4 + waitmessage + call FallarborTown_BattleTentBattleRoom_EventScript_257B6C + switch VAR_RESULT + case 1, FallarborTown_BattleTentBattleRoom_EventScript_20099C + applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BA3 + playse SE_W173 + waitse + waitmovement 0 + setvar VAR_0x8004, 6 + special sub_81B9B80 + msgbox FallarborTown_BattleTentBattleRoom_Text_257CCE, 4 + +FallarborTown_BattleTentBattleRoom_EventScript_20097E:: @ 820097E + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 4 + special sub_81A1780 + special copy_player_party_from_sav1 + warp FALLARBOR_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6 + waitstate + +FallarborTown_BattleTentBattleRoom_EventScript_20099C:: @ 820099C + applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BA3 + playse SE_BAN + waitse + waitmovement 0 + msgbox FallarborTown_BattleTentBattleRoom_Text_257CB3, 4 + closemessage + +FallarborTown_BattleTentBattleRoom_EventScript_2009B3:: @ 82009B3 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + addvar VAR_RESULT, 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A1780 + switch VAR_RESULT + case 3, FallarborTown_BattleTentBattleRoom_EventScript_200AF3 + applymovement 3, FallarborTown_BattleTentBattleRoom_Movement_200B9E + waitmovement 0 + removeobject 3 + applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BA6 + waitmovement 0 + applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_200B94 + waitmovement 0 + msgbox FallarborTown_BattleTentBattleRoom_Text_257CE9, 4 + special copy_player_party_from_sav1 + special copy_player_party_to_sav1 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 3 + special sub_81A1780 + playfanfare MUS_ME_ASA + waitfanfare + special HealPlayerParty + +FallarborTown_BattleTentBattleRoom_EventScript_200A2A:: @ 8200A2A + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + compare VAR_RESULT, 1 + call_if 1, FallarborTown_BattleTentBattleRoom_EventScript_200B43 + compare VAR_RESULT, 2 + call_if 1, FallarborTown_BattleTentBattleRoom_EventScript_200B4A + multichoice 20, 6, 104, 1 + switch VAR_RESULT + case 0, FallarborTown_BattleTentBattleRoom_EventScript_200AD8 + case 1, FallarborTown_BattleTentBattleRoom_EventScript_200A78 + case 2, FallarborTown_BattleTentBattleRoom_EventScript_200AA6 + +FallarborTown_BattleTentBattleRoom_EventScript_200A78:: @ 8200A78 + msgbox FallarborTown_BattleTentBattleRoom_Text_257E6B, 5 + switch VAR_RESULT + case 0, FallarborTown_BattleTentBattleRoom_EventScript_200A2A + case 1, FallarborTown_BattleTentBattleRoom_EventScript_200B51 + case 127, FallarborTown_BattleTentBattleRoom_EventScript_200A2A + +FallarborTown_BattleTentBattleRoom_EventScript_200AA6:: @ 8200AA6 + message FallarborTown_BattleTentBattleRoom_Text_257E9E + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, FallarborTown_BattleTentBattleRoom_EventScript_200A2A + case 0, FallarborTown_BattleTentBattleRoom_EventScript_20097E + case 127, FallarborTown_BattleTentBattleRoom_EventScript_200A2A + +FallarborTown_BattleTentBattleRoom_EventScript_200AD8:: @ 8200AD8 + closemessage + applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BAB + waitmovement 0 + applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_200B92 + waitmovement 0 + goto FallarborTown_BattleTentBattleRoom_EventScript_20090F + waitstate + +FallarborTown_BattleTentBattleRoom_EventScript_200AF3:: @ 8200AF3 + delay 60 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 3 + special sub_81A1780 + special copy_player_party_from_sav1 + warp FALLARBOR_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6 + waitstate + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + special sub_81A5238 + compare VAR_RESULT, 9999 + goto_eq FallarborTown_BattleTentBattleRoom_EventScript_2009B3 + addvar VAR_RESULT, 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A5238 + +FallarborTown_BattleTentBattleRoom_EventScript_200B43:: @ 8200B43 + message FallarborTown_BattleTentBattleRoom_Text_257D17 + waitmessage + return + +FallarborTown_BattleTentBattleRoom_EventScript_200B4A:: @ 8200B4A + message FallarborTown_BattleTentBattleRoom_Text_257D50 + waitmessage + return + +FallarborTown_BattleTentBattleRoom_EventScript_200B51:: @ 8200B51 + message FallarborTown_BattleTentBattleRoom_Text_257EDB + waitmessage + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 2 + special sub_81B9B80 + playse SE_SAVE + waitse + fadescreen 1 + setvar VAR_0x8004, 4 + special sub_81A1780 + end + +FallarborTown_BattleTentBattleRoom_EventScript_200B73:: @ 8200B73 + applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BA6 + waitmovement 0 + applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_200B94 + waitmovement 0 + goto FallarborTown_BattleTentBattleRoom_EventScript_200A2A + end + +FallarborTown_BattleTentBattleRoom_Movement_200B8D: @ 8200B8D + step_up + step_up + step_up + step_28 + step_end + +FallarborTown_BattleTentBattleRoom_Movement_200B92: @ 8200B92 + step_28 + step_end + +FallarborTown_BattleTentBattleRoom_Movement_200B94: @ 8200B94 + step_27 + step_end + +FallarborTown_BattleTentBattleRoom_Movement_200B96: @ 8200B96 + step_down + step_down + step_down + step_down + step_27 + step_end + +FallarborTown_BattleTentBattleRoom_Movement_200B9C: @ 8200B9C + step_left + step_end + +FallarborTown_BattleTentBattleRoom_Movement_200B9E: @ 8200B9E + step_up + step_up + step_up + step_up + step_end + +FallarborTown_BattleTentBattleRoom_Movement_200BA3: @ 8200BA3 + step_51 + step_46 + step_end + +FallarborTown_BattleTentBattleRoom_Movement_200BA6: @ 8200BA6 + step_down + step_down + step_down + step_28 + step_end + +FallarborTown_BattleTentBattleRoom_Movement_200BAB: @ 8200BAB + step_up + step_up + step_up + step_25 + step_end + +FallarborTown_BattleTentBattleRoom_MapScript2_200BB0: @ 8200BB0 + map_script_2 VAR_0x4001, 0, FallarborTown_BattleTentBattleRoom_EventScript_200BBA + .2byte 0 + +FallarborTown_BattleTentBattleRoom_EventScript_200BBA:: @ 8200BBA + hideobjectat 255, FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM + hideobjectat 1, FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM + removeobject 3 + setvar VAR_0x4001, 1 + end + diff --git a/data/scripts/maps/FallarborTown_BattleTentCorridor.inc b/data/scripts/maps/FallarborTown_BattleTentCorridor.inc new file mode 100644 index 0000000000..d413e4ec60 --- /dev/null +++ b/data/scripts/maps/FallarborTown_BattleTentCorridor.inc @@ -0,0 +1,64 @@ +FallarborTown_BattleTentCorridor_MapScripts:: @ 82006A7 + map_script 2, FallarborTown_BattleTentCorridor_MapScript2_2006AD + .byte 0 + +FallarborTown_BattleTentCorridor_MapScript2_2006AD: @ 82006AD + map_script_2 VAR_0x4000, 0, FallarborTown_BattleTentCorridor_EventScript_2006B7 + .2byte 0 + +FallarborTown_BattleTentCorridor_EventScript_2006B7:: @ 82006B7 + lockall + setvar VAR_0x4000, 1 + applymovement 1, FallarborTown_BattleTentCorridor_Movement_2006FB + applymovement 255, FallarborTown_BattleTentCorridor_Movement_2006FB + waitmovement 0 + opendoor 2, 1 + waitdooranim + applymovement 1, FallarborTown_BattleTentCorridor_Movement_200701 + applymovement 255, FallarborTown_BattleTentCorridor_Movement_200700 + waitmovement 0 + closedoor 2, 1 + waitdooranim + setvar VAR_0x8006, 0 + warp FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM, 255, 4, 4 + waitstate + releaseall + end + +FallarborTown_BattleTentCorridor_Movement_2006FB: @ 82006FB + step_up + step_up + step_up + step_up + step_end + +FallarborTown_BattleTentCorridor_Movement_200700: @ 8200700 + step_up + +FallarborTown_BattleTentCorridor_Movement_200701: @ 8200701 + step_up + step_54 + step_end + +FallarborTown_BattleTentCorridor_Text_200704: @ 8200704 + .string "We do all right in the preliminary round,\n" + .string "but we can never win the appeals…\p" + .string "Maybe it means I have to watch what\n" + .string "other contestants are doing…$" + +FallarborTown_BattleTentCorridor_Text_200791: @ 8200791 + .string "See!\n" + .string "My POKéMON won all these RIBBONS!\p" + .string "Have your POKéMON earned any RIBBONS?\n" + .string "You can check them on your POKéNAV.$" + +FallarborTown_BattleTentCorridor_Text_200802: @ 8200802 + .string "I can’t beat GYM LEADERS…\p" + .string "I can’t win any CONTESTS…\p" + .string "I’ve been here, there, and everywhere,\n" + .string "and it’s all for naught…$" + +FallarborTown_BattleTentCorridor_Text_200876: @ 8200876 + .string "POKéMON CONTESTS\n" + .string "SUPER RANK STAGE!$" + diff --git a/data/scripts/maps/FallarborTown_BattleTentLobby.inc b/data/scripts/maps/FallarborTown_BattleTentLobby.inc new file mode 100644 index 0000000000..347c556594 --- /dev/null +++ b/data/scripts/maps/FallarborTown_BattleTentLobby.inc @@ -0,0 +1,402 @@ +FallarborTown_BattleTentLobby_MapScripts:: @ 81FFE66 + map_script 2, FallarborTown_BattleTentLobby_MapScript2_1FFE85 + map_script 4, FallarborTown_BattleTentLobby_MapScript2_1FFE71 + .byte 0 + +FallarborTown_BattleTentLobby_MapScript2_1FFE71: @ 81FFE71 + map_script_2 VAR_0x4001, 0, FallarborTown_BattleTentLobby_EventScript_1FFE7B + .2byte 0 + +FallarborTown_BattleTentLobby_EventScript_1FFE7B:: @ 81FFE7B + setvar VAR_0x4001, 1 + turnobject 255, 2 + end + +FallarborTown_BattleTentLobby_MapScript2_1FFE85: @ 81FFE85 + map_script_2 VAR_0x4000, 0, FallarborTown_BattleTentLobby_EventScript_1FFEAF + map_script_2 VAR_0x4000, 1, FallarborTown_BattleTentLobby_EventScript_1FFEB8 + map_script_2 VAR_0x4000, 2, FallarborTown_BattleTentLobby_EventScript_1FFFCD + map_script_2 VAR_0x4000, 3, FallarborTown_BattleTentLobby_EventScript_1FFEED + map_script_2 VAR_0x4000, 4, FallarborTown_BattleTentLobby_EventScript_1FFF93 + .2byte 0 + +FallarborTown_BattleTentLobby_EventScript_1FFEAF:: @ 81FFEAF + setvar VAR_0x8004, 0 + special sub_81A1780 + end + +FallarborTown_BattleTentLobby_EventScript_1FFEB8:: @ 81FFEB8 + lockall + msgbox FallarborTown_BattleTentLobby_Text_2C4DED, 4 + closemessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x4000, 255 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 0 + special sub_81A1780 + releaseall + end + +FallarborTown_BattleTentLobby_EventScript_1FFEED:: @ 81FFEED + lockall + msgbox FallarborTown_BattleTentLobby_Text_2C4EC3, 4 + message FallarborTown_BattleTentLobby_Text_2C4EFF + waitmessage + setvar VAR_0x8004, 4 + special sub_81B9B80 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 0 + special sub_81B9B80 + playse SE_SAVE + waitse + +FallarborTown_BattleTentLobby_EventScript_1FFF27:: @ 81FFF27 + msgbox FallarborTown_BattleTentLobby_Text_2C4F22, 4 + setvar VAR_0x8004, 5 + special sub_81B9B80 + switch VAR_RESULT + case 0, FallarborTown_BattleTentLobby_EventScript_1FFF73 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + message FallarborTown_BattleTentLobby_Text_2C4F69 + waitmessage + playfanfare MUS_FANFA4 + waitfanfare + msgbox FallarborTown_BattleTentLobby_Text_2C501F, 4 + closemessage + setvar VAR_0x4000, 255 + releaseall + end + +FallarborTown_BattleTentLobby_EventScript_1FFF73:: @ 81FFF73 + msgbox FallarborTown_BattleTentLobby_Text_2C4F83, 4 + waitmessage + closemessage + setvar VAR_0x4000, 255 + releaseall + end + +FallarborTown_BattleTentLobby_EventScript_1FFF84:: @ 81FFF84 + lockall + msgbox FallarborTown_BattleTentLobby_Text_2C4EC3, 4 + goto FallarborTown_BattleTentLobby_EventScript_1FFF27 + end + +FallarborTown_BattleTentLobby_EventScript_1FFF93:: @ 81FFF93 + lockall + message FallarborTown_BattleTentLobby_Text_2C4FD7 + waitmessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 0 + special sub_81B9B80 + playse SE_SAVE + waitse + msgbox FallarborTown_BattleTentLobby_Text_2C501F, 4 + closemessage + setvar VAR_0x4000, 255 + releaseall + end + +FallarborTown_BattleTentLobby_EventScript_1FFFCD:: @ 81FFFCD + lockall + message FallarborTown_BattleTentLobby_Text_2C504C + waitmessage + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 1 + special sub_81B9B80 + playse SE_SAVE + waitse + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x4000, 255 + goto FallarborTown_BattleTentLobby_EventScript_20013C + +FallarborTown_BattleTentLobby_EventScript_200001:: @ 8200001 + lock + faceplayer + setvar VAR_0x8004, 1 + special sub_81B9B80 + compare VAR_RESULT, 0 + goto_if 5, FallarborTown_BattleTentLobby_EventScript_1FFF84 + special copy_player_party_to_sav1 + msgbox FallarborTown_BattleTentLobby_Text_2C47EB, 4 + +FallarborTown_BattleTentLobby_EventScript_200021:: @ 8200021 + message FallarborTown_BattleTentLobby_Text_2C4843 + waitmessage + multichoice 17, 6, 23, 0 + switch VAR_RESULT + case 0, FallarborTown_BattleTentLobby_EventScript_20005D + case 1, FallarborTown_BattleTentLobby_EventScript_200169 + case 2, FallarborTown_BattleTentLobby_EventScript_2001C5 + case 127, FallarborTown_BattleTentLobby_EventScript_2001C5 + +FallarborTown_BattleTentLobby_EventScript_20005D:: @ 820005D + setvar VAR_FRONTIER_FACILITY, 3 + setvar VAR_0x40CE, 0 + setvar VAR_RESULT, 2 + setvar VAR_0x8004, 15 + special sub_81A1780 + compare VAR_0x8004, 1 + goto_eq FallarborTown_BattleTentLobby_EventScript_200176 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 2 + special sub_81A1780 + msgbox FallarborTown_BattleTentLobby_Text_2C4BC8, 4 + fadescreen 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + special sub_80F9490 + waitstate + compare VAR_RESULT, 0 + goto_eq FallarborTown_BattleTentLobby_EventScript_2001C2 + msgbox FallarborTown_BattleTentLobby_Text_2C4B35, 5 + switch VAR_RESULT + case 0, FallarborTown_BattleTentLobby_EventScript_2001C2 + case 1, FallarborTown_BattleTentLobby_EventScript_2000E2 + case 127, FallarborTown_BattleTentLobby_EventScript_2001C2 + +FallarborTown_BattleTentLobby_EventScript_2000E2:: @ 82000E2 + setvar VAR_0x4000, 0 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 4 + special sub_81A1780 + setvar VAR_0x8004, 0 + special sub_81B9B80 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 1 + special sub_81A1780 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + special copy_player_party_from_sav1 + closemessage + delay 2 + call FallarborTown_BattleTentLobby_EventScript_27134F + setvar VAR_0x4000, 255 + compare VAR_RESULT, 0 + goto_eq FallarborTown_BattleTentLobby_EventScript_2001AB + +FallarborTown_BattleTentLobby_EventScript_20013C:: @ 820013C + special copy_player_party_to_sav1 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 3 + special sub_81A1780 + msgbox FallarborTown_BattleTentLobby_Text_2C4DC3, 4 + closemessage + call FallarborTown_BattleTentLobby_EventScript_2001CF + warp FALLARBOR_TOWN_BATTLE_TENT_CORRIDOR, 255, 2, 7 + setvar VAR_0x4000, 0 + waitstate + end + +FallarborTown_BattleTentLobby_EventScript_200169:: @ 8200169 + msgbox FallarborTown_BattleTentLobby_Text_2C48AC, 4 + goto FallarborTown_BattleTentLobby_EventScript_200021 + +FallarborTown_BattleTentLobby_EventScript_200176:: @ 8200176 + switch VAR_RESULT + case 0, FallarborTown_BattleTentLobby_EventScript_200191 + case 1, FallarborTown_BattleTentLobby_EventScript_20019E + +FallarborTown_BattleTentLobby_EventScript_200191:: @ 8200191 + msgbox FallarborTown_BattleTentLobby_Text_2C4BFA, 4 + goto FallarborTown_BattleTentLobby_EventScript_2001CD + +FallarborTown_BattleTentLobby_EventScript_20019E:: @ 820019E + msgbox FallarborTown_BattleTentLobby_Text_2C4CC0, 4 + goto FallarborTown_BattleTentLobby_EventScript_2001CD + +FallarborTown_BattleTentLobby_EventScript_2001AB:: @ 82001AB + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + goto FallarborTown_BattleTentLobby_EventScript_2001C5 + +FallarborTown_BattleTentLobby_EventScript_2001C2:: @ 82001C2 + special copy_player_party_from_sav1 + +FallarborTown_BattleTentLobby_EventScript_2001C5:: @ 82001C5 + msgbox FallarborTown_BattleTentLobby_Text_2C487F, 4 + +FallarborTown_BattleTentLobby_EventScript_2001CD:: @ 82001CD + release + end + +FallarborTown_BattleTentLobby_EventScript_2001CF:: @ 82001CF + applymovement 1, FallarborTown_BattleTentLobby_Movement_2001FE + applymovement 255, FallarborTown_BattleTentLobby_Movement_200205 + waitmovement 0 + opendoor 6, 1 + waitdooranim + applymovement 1, FallarborTown_BattleTentLobby_Movement_200202 + applymovement 255, FallarborTown_BattleTentLobby_Movement_200209 + waitmovement 0 + closedoor 6, 1 + waitdooranim + return + +FallarborTown_BattleTentLobby_Movement_2001FE: @ 82001FE + step_up + step_up + step_up + step_end + +FallarborTown_BattleTentLobby_Movement_200202: @ 8200202 + step_up + step_54 + step_end + +FallarborTown_BattleTentLobby_Movement_200205: @ 8200205 + step_up + step_up + step_up + step_end + +FallarborTown_BattleTentLobby_Movement_200209: @ 8200209 + step_up + step_up + step_54 + step_end + +FallarborTown_BattleTentLobby_EventScript_20020D:: @ 820020D + msgbox FallarborTown_BattleTentLobby_Text_20045A, 2 + end + +FallarborTown_BattleTentLobby_EventScript_200216:: @ 8200216 + msgbox FallarborTown_BattleTentLobby_Text_200304, 2 + end + +FallarborTown_BattleTentLobby_EventScript_20021F:: @ 820021F + msgbox FallarborTown_BattleTentLobby_Text_200382, 2 + end + +FallarborTown_BattleTentLobby_EventScript_200228:: @ 8200228 + lock + faceplayer + checkflag FLAG_0x1CD + goto_eq FallarborTown_BattleTentLobby_EventScript_200245 + msgbox FallarborTown_BattleTentLobby_Text_200501, 4 + addvar VAR_0x40D1, 1 + setflag FLAG_0x1CD + release + end + +FallarborTown_BattleTentLobby_EventScript_200245:: @ 8200245 + msgbox FallarborTown_BattleTentLobby_Text_200653, 4 + release + end + +FallarborTown_BattleTentLobby_EventScript_20024F:: @ 820024F + lockall + msgbox FallarborTown_BattleTentLobby_Text_256DB8, 4 + goto FallarborTown_BattleTentLobby_EventScript_20025E + end + +FallarborTown_BattleTentLobby_EventScript_20025E:: @ 820025E + message FallarborTown_BattleTentLobby_Text_256DDF + waitmessage + multichoice 17, 0, 112, 0 + switch VAR_RESULT + case 0, FallarborTown_BattleTentLobby_EventScript_2002BC + case 1, FallarborTown_BattleTentLobby_EventScript_2002CA + case 2, FallarborTown_BattleTentLobby_EventScript_2002D8 + case 3, FallarborTown_BattleTentLobby_EventScript_2002E6 + case 4, FallarborTown_BattleTentLobby_EventScript_2002F4 + case 5, FallarborTown_BattleTentLobby_EventScript_200302 + case 127, FallarborTown_BattleTentLobby_EventScript_200302 + end + +FallarborTown_BattleTentLobby_EventScript_2002BC:: @ 82002BC + msgbox FallarborTown_BattleTentLobby_Text_2C67CD, 4 + goto FallarborTown_BattleTentLobby_EventScript_20025E + end + +FallarborTown_BattleTentLobby_EventScript_2002CA:: @ 82002CA + msgbox FallarborTown_BattleTentLobby_Text_256E02, 4 + goto FallarborTown_BattleTentLobby_EventScript_20025E + end + +FallarborTown_BattleTentLobby_EventScript_2002D8:: @ 82002D8 + msgbox FallarborTown_BattleTentLobby_Text_256F43, 4 + goto FallarborTown_BattleTentLobby_EventScript_20025E + end + +FallarborTown_BattleTentLobby_EventScript_2002E6:: @ 82002E6 + msgbox FallarborTown_BattleTentLobby_Text_256FF2, 4 + goto FallarborTown_BattleTentLobby_EventScript_20025E + end + +FallarborTown_BattleTentLobby_EventScript_2002F4:: @ 82002F4 + msgbox FallarborTown_BattleTentLobby_Text_257202, 4 + goto FallarborTown_BattleTentLobby_EventScript_20025E + end + +FallarborTown_BattleTentLobby_EventScript_200302:: @ 8200302 + releaseall + end + +FallarborTown_BattleTentLobby_Text_200304: @ 8200304 + .string "Fufufufufu.\p" + .string "I’m going to make everyone think\n" + .string "I’m just a kid and let them play down.\p" + .string "Then, I’ll shock them and grab\n" + .string "the title!$" + +FallarborTown_BattleTentLobby_Text_200382: @ 8200382 + .string "You know how BATTLE TENTS offer\n" + .string "different events in different towns?\p" + .string "My favorite is definitely the BATTLE\n" + .string "TENT in FALLARBOR TOWN.\p" + .string "I think it’s fantastic how TRAINERS\n" + .string "try to win with all their faith in\l" + .string "their POKéMON.$" + +FallarborTown_BattleTentLobby_Text_20045A: @ 820045A + .string "I heard something about some tent,\n" + .string "so I came to camp out.\p" + .string "I didn’t know that tents these days\n" + .string "are so luxurious!\p" + .string "Since I’m here, I may as well try\n" + .string "my hand at battling!$" + +FallarborTown_BattleTentLobby_Text_200501: @ 8200501 + .string "SCOTT: Hi, {PLAYER}{KUN}!\n" + .string "So you came out to this BATTLE TENT!\p" + .string "The people in these parts tend to be\n" + .string "easygoing and laid-back.\p" + .string "But, you see, what I’m looking for are\n" + .string "people with…\p" + .string "How should I say this?\p" + .string "Someone bursting with the desire\n" + .string "and the drive to win.\p" + .string "If there were a TRAINER like that,\n" + .string "I’d immediately…\p" + .string "Whoops! Never mind!\n" + .string "Keep working at it!$" + +FallarborTown_BattleTentLobby_Text_200653: @ 8200653 + .string "SCOTT: Instead of wasting your\n" + .string "time with the likes of me, why not\l" + .string "make a challenge?$" + diff --git a/data/scripts/maps/FallarborTown_House1.inc b/data/scripts/maps/FallarborTown_House1.inc new file mode 100644 index 0000000000..47459f8d50 --- /dev/null +++ b/data/scripts/maps/FallarborTown_House1.inc @@ -0,0 +1,126 @@ +FallarborTown_House1_MapScripts:: @ 8200F12 + .byte 0 + +FallarborTown_House1_EventScript_200F13:: @ 8200F13 + lock + faceplayer + checkflag FLAG_0x0E5 + goto_eq FallarborTown_House1_EventScript_200FB2 + checkitem ITEM_METEORITE, 1 + compare VAR_RESULT, 1 + goto_eq FallarborTown_House1_EventScript_200F38 + msgbox FallarborTown_House1_Text_200FEE, 4 + release + end + +FallarborTown_House1_EventScript_200F38:: @ 8200F38 + checkflag FLAG_0x002 + call_if 0, FallarborTown_House1_EventScript_200F8B + checkflag FLAG_0x002 + call_if 1, FallarborTown_House1_EventScript_200F9C + compare VAR_RESULT, 0 + goto_eq FallarborTown_House1_EventScript_200FA5 + msgbox FallarborTown_House1_Text_201159, 4 + giveitem_std ITEM_TM27 + compare VAR_RESULT, 0 + goto_eq FallarborTown_House1_EventScript_272054 + setvar VAR_0x8004, 280 + call FallarborTown_House1_EventScript_2723E4 + setflag FLAG_0x0E5 + msgbox FallarborTown_House1_Text_2011A5, 4 + release + end + +FallarborTown_House1_EventScript_200F8B:: @ 8200F8B + msgbox FallarborTown_House1_Text_200FEE, 4 + msgbox FallarborTown_House1_Text_2010A2, 5 + return + +FallarborTown_House1_EventScript_200F9C:: @ 8200F9C + msgbox FallarborTown_House1_Text_201249, 5 + return + +FallarborTown_House1_EventScript_200FA5:: @ 8200FA5 + setflag FLAG_0x002 + msgbox FallarborTown_House1_Text_201212, 4 + release + end + +FallarborTown_House1_EventScript_200FB2:: @ 8200FB2 + msgbox FallarborTown_House1_Text_2011A5, 4 + release + end + +FallarborTown_House1_EventScript_200FBC:: @ 8200FBC + lock + faceplayer + checkflag FLAG_0x0E5 + goto_eq FallarborTown_House1_EventScript_200FE4 + checkflag FLAG_0x08B + goto_eq FallarborTown_House1_EventScript_200FDA + msgbox FallarborTown_House1_Text_2012BC, 4 + release + end + +FallarborTown_House1_EventScript_200FDA:: @ 8200FDA + msgbox FallarborTown_House1_Text_201310, 4 + release + end + +FallarborTown_House1_EventScript_200FE4:: @ 8200FE4 + msgbox FallarborTown_House1_Text_20134B, 4 + release + end + +FallarborTown_House1_Text_200FEE: @ 8200FEE + .string "PROF. COZMO: Oh…\n" + .string "I never should have let myself be\l" + .string "conned into telling TEAM MAGMA where\l" + .string "you can find METEORITES…\p" + .string "That METEORITE from METEOR FALLS…\n" + .string "It’s never going to be mine now…$" + +FallarborTown_House1_Text_2010A2: @ 82010A2 + .string "Oh!\n" + .string "Hah?\p" + .string "That item…\p" + .string "Could it be?\p" + .string "Is it the METEORITE that TEAM MAGMA\n" + .string "took from METEOR FALLS?\p" + .string "Please, may I have it?\p" + .string "I’m not asking for it for free.\n" + .string "How about in exchange for this TM?$" + +FallarborTown_House1_Text_201159: @ 8201159 + .string "PROF. COZMO: This TM, it represents\n" + .string "my feeling of gratitude.\l" + .string "Please use it!$" + +FallarborTown_House1_Text_2011A5: @ 82011A5 + .string "PROF. COZMO: Oh, I can’t believe it.\n" + .string "This is really, really great!\p" + .string "This is really going to help my research!$" + +FallarborTown_House1_Text_201212: @ 8201212 + .string "PROF. COZMO: Oh, but…\n" + .string "I’m crushed with disappointment…$" + +FallarborTown_House1_Text_201249: @ 8201249 + .string "PROF. COZMO: Please, may I have that\n" + .string "METEORITE?\p" + .string "I’m not asking for it for free.\n" + .string "How about in exchange for this TM?$" + +FallarborTown_House1_Text_2012BC: @ 82012BC + .string "PROF. COZMO went off to METEOR FALLS\n" + .string "on ROUTE 114 with some people from\l" + .string "TEAM MAGMA.$" + +FallarborTown_House1_Text_201310: @ 8201310 + .string "Poor PROF. COZMO…\n" + .string "He’s so depressed… I feel sorry for him.$" + +FallarborTown_House1_Text_20134B: @ 820134B + .string "Look at PROF. COZMO…\n" + .string "He’s so happy! I think it’s cute.$" + diff --git a/data/scripts/maps/FallarborTown_House2.inc b/data/scripts/maps/FallarborTown_House2.inc new file mode 100644 index 0000000000..b78756e0af --- /dev/null +++ b/data/scripts/maps/FallarborTown_House2.inc @@ -0,0 +1,103 @@ +FallarborTown_House2_MapScripts:: @ 8201382 + .byte 0 + +FallarborTown_House2_EventScript_201383:: @ 8201383 + lockall + applymovement 1, FallarborTown_House2_Movement_27259E + waitmovement 0 + checkflag FLAG_0x001 + goto_eq FallarborTown_House2_EventScript_2013A8 + msgbox FallarborTown_House2_Text_20145C, 4 + setflag FLAG_0x001 + goto FallarborTown_House2_EventScript_2013A8 + end + +FallarborTown_House2_EventScript_2013A8:: @ 82013A8 + checkitem ITEM_HEART_SCALE, 1 + compare VAR_RESULT, 0 + goto_eq FallarborTown_House2_EventScript_201452 + msgbox FallarborTown_House2_Text_201541, 5 + switch VAR_RESULT + case 0, FallarborTown_House2_EventScript_201452 + goto FallarborTown_House2_EventScript_2013D6 + end + +FallarborTown_House2_EventScript_2013D6:: @ 82013D6 + msgbox FallarborTown_House2_Text_2015A5, 4 + special sub_81B951C + waitstate + compare VAR_0x8004, 255 + goto_eq FallarborTown_House2_EventScript_201452 + special sub_81B98DC + compare VAR_RESULT, 1 + goto_eq FallarborTown_House2_EventScript_201444 + compare VAR_0x8005, 0 + goto_eq FallarborTown_House2_EventScript_201436 + goto FallarborTown_House2_EventScript_20140C + end + +FallarborTown_House2_EventScript_20140C:: @ 820140C + msgbox FallarborTown_House2_Text_2015C3, 4 + special sub_8160638 + waitstate + compare VAR_0x8004, 0 + goto_eq FallarborTown_House2_EventScript_2013D6 + msgbox FallarborTown_House2_Text_201627, 4 + takeitem ITEM_HEART_SCALE, 1 + goto FallarborTown_House2_EventScript_201452 + end + +FallarborTown_House2_EventScript_201436:: @ 8201436 + msgbox FallarborTown_House2_Text_2015DE, 4 + goto FallarborTown_House2_EventScript_2013D6 + end + +FallarborTown_House2_EventScript_201444:: @ 8201444 + msgbox FallarborTown_House2_Text_201697, 4 + goto FallarborTown_House2_EventScript_2013D6 + end + +FallarborTown_House2_EventScript_201452:: @ 8201452 + msgbox FallarborTown_House2_Text_201653, 4 + releaseall + end + +FallarborTown_House2_Text_20145C: @ 820145C + .string "I’m the MOVE TUTOR.\p" + .string "I know all the moves that POKéMON\n" + .string "learn--every one of them--and I can\l" + .string "teach POKéMON those moves.\p" + .string "I can teach a move to a POKéMON\n" + .string "of yours if you’d like.\p" + .string "I’ll do it for a HEART SCALE.\n" + .string "I’m collecting those now.$" + +FallarborTown_House2_Text_201541: @ 8201541 + .string "Oh! That’s it! That’s an honest to\n" + .string "goodness HEART SCALE!\p" + .string "Let me guess, you want me to teach\n" + .string "a move?$" + +FallarborTown_House2_Text_2015A5: @ 82015A5 + .string "Which POKéMON needs tutoring?$" + +FallarborTown_House2_Text_2015C3: @ 82015C3 + .string "Which move should I teach?$" + +FallarborTown_House2_Text_2015DE: @ 82015DE + .string "Sorry…\p" + .string "It doesn’t appear as if I have any move\n" + .string "I can teach that POKéMON.$" + +FallarborTown_House2_Text_201627: @ 8201627 + .string "{PLAYER} handed over one HEART SCALE\n" + .string "in exchange.$" + +FallarborTown_House2_Text_201653: @ 8201653 + .string "If your POKéMON need to learn a move,\n" + .string "come back with a HEART SCALE.$" + +FallarborTown_House2_Text_201697: @ 8201697 + .string "Hunh? There isn’t a single move that\n" + .string "I can teach an EGG.$" + diff --git a/data/scripts/maps/FallarborTown_Mart.inc b/data/scripts/maps/FallarborTown_Mart.inc new file mode 100644 index 0000000000..dbaf33f4e0 --- /dev/null +++ b/data/scripts/maps/FallarborTown_Mart.inc @@ -0,0 +1,66 @@ +FallarborTown_Mart_MapScripts:: @ 81FFCBE + .byte 0 + +FallarborTown_Mart_EventScript_1FFCBF:: @ 81FFCBF + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemart FallarborTown_Mart_Pokemart_1FFCD8 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +FallarborTown_Mart_Pokemart_1FFCD8: @ 81FFCD8 + .2byte ITEM_GREAT_BALL + .2byte ITEM_SUPER_POTION + .2byte ITEM_ANTIDOTE + .2byte ITEM_PARALYZE_HEAL + .2byte ITEM_ESCAPE_ROPE + .2byte ITEM_SUPER_REPEL + .2byte ITEM_X_SPECIAL + .2byte ITEM_X_SPEED + .2byte ITEM_X_ATTACK + .2byte ITEM_X_DEFEND + .2byte ITEM_DIRE_HIT + .2byte ITEM_GUARD_SPEC + .2byte ITEM_NONE + release + end + +FallarborTown_Mart_EventScript_1FFCF4:: @ 81FFCF4 + msgbox FallarborTown_Mart_Text_1FFD19, 2 + end + +FallarborTown_Mart_EventScript_1FFCFD:: @ 81FFCFD + msgbox FallarborTown_Mart_Text_1FFE09, 2 + end + +FallarborTown_Mart_EventScript_1FFD06:: @ 81FFD06 + lock + faceplayer + waitse + playmoncry SPECIES_SKITTY, 0 + msgbox FallarborTown_Mart_Text_1FFDFA, 4 + waitmoncry + release + end + +FallarborTown_Mart_Text_1FFD19: @ 81FFD19 + .string "I’m having a hard time deciding if I\n" + .string "should make my SKITTY evolve or not.\p" + .string "I only have to use this MOON STONE,\n" + .string "but it’s so hard to decide…\p" + .string "If I make it evolve, it will become\n" + .string "much stronger.\p" + .string "But it will look so different, too.$" + +FallarborTown_Mart_Text_1FFDFA: @ 81FFDFA + .string "SKITTY: Miyao?$" + +FallarborTown_Mart_Text_1FFE09: @ 81FFE09 + .string "This NUGGET I found here…\n" + .string "I suppose I’ll have to sell it, seeing\l" + .string "as how it has no other use.$" + diff --git a/data/scripts/maps/FallarborTown_PokemonCenter_1F.inc b/data/scripts/maps/FallarborTown_PokemonCenter_1F.inc new file mode 100644 index 0000000000..1cc3999f70 --- /dev/null +++ b/data/scripts/maps/FallarborTown_PokemonCenter_1F.inc @@ -0,0 +1,111 @@ +FallarborTown_PokemonCenter_1F_MapScripts:: @ 8200BCD + map_script 3, FallarborTown_PokemonCenter_1F_MapScript1_200BD8 + map_script 5, FallarborTown_PokemonCenter_1F_MapScript1_277C30 + .byte 0 + +FallarborTown_PokemonCenter_1F_MapScript1_200BD8: @ 8200BD8 + setrespawn 17 + call FallarborTown_PokemonCenter_1F_EventScript_2718DE + end + +FallarborTown_PokemonCenter_1F_EventScript_200BE1:: @ 8200BE1 + setvar VAR_0x800B, 1 + call FallarborTown_PokemonCenter_1F_EventScript_27191E + waitmessage + waitbuttonpress + release + end + +FallarborTown_PokemonCenter_1F_EventScript_200BEF:: @ 8200BEF + msgbox FallarborTown_PokemonCenter_1F_Text_200E22, 2 + end + +FallarborTown_PokemonCenter_1F_EventScript_200BF8:: @ 8200BF8 + msgbox FallarborTown_PokemonCenter_1F_Text_200E8B, 2 + end + +FallarborTown_PokemonCenter_1F_EventScript_200C01:: @ 8200C01 + lock + faceplayer + msgbox FallarborTown_PokemonCenter_1F_Text_200C6B, 4 + closemessage + switch VAR_FACING + case 2, FallarborTown_PokemonCenter_1F_EventScript_200C28 + case 3, FallarborTown_PokemonCenter_1F_EventScript_200C38 + end + +FallarborTown_PokemonCenter_1F_EventScript_200C28:: @ 8200C28 + applymovement 4, FallarborTown_PokemonCenter_1F_Movement_200C53 + waitmovement 0 + goto FallarborTown_PokemonCenter_1F_EventScript_200C48 + end + +FallarborTown_PokemonCenter_1F_EventScript_200C38:: @ 8200C38 + applymovement 4, FallarborTown_PokemonCenter_1F_Movement_200C60 + waitmovement 0 + goto FallarborTown_PokemonCenter_1F_EventScript_200C48 + end + +FallarborTown_PokemonCenter_1F_EventScript_200C48:: @ 8200C48 + playse SE_JIDO_DOA + removeobject 4 + clearflag FLAG_0x366 + release + end + +FallarborTown_PokemonCenter_1F_Movement_200C53: @ 8200C53 + step_right + step_down + step_down + step_left + step_left + step_left + step_left + step_down + step_down + step_down + step_down + step_13 + step_end + +FallarborTown_PokemonCenter_1F_Movement_200C60: @ 8200C60 + step_down + step_down + step_left + step_left + step_left + step_down + step_down + step_down + step_down + step_13 + step_end + +FallarborTown_PokemonCenter_1F_Text_200C6B: @ 8200C6B + .string "Oh, hello.\n" + .string "You are?\p" + .string "Okay, your name’s {PLAYER}{KUN}.\n" + .string "I can see that you’re a TRAINER.\p" + .string "So that means you use the POKéMON\n" + .string "Storage System I developed.\p" + .string "How I arrived at that conclusion is\n" + .string "a simple deductive process.\p" + .string "You spoke to me because you wanted\n" + .string "to access something on this PC.\p" + .string "Oh, I’m sorry. I’m LANETTE.\p" + .string "Honestly, I’m glad to meet you--it’s\n" + .string "great you’re using the Storage System.\p" + .string "If you could, please visit me at home.\n" + .string "My house is on ROUTE 114.$" + +FallarborTown_PokemonCenter_1F_Text_200E22: @ 8200E22 + .string "I wonder what POKéMON looked like\n" + .string "long, long ago?\p" + .string "Maybe the FOSSIL MANIAC at the edge\n" + .string "of town will know.$" + +FallarborTown_PokemonCenter_1F_Text_200E8B: @ 8200E8B + .string "In the fields of FALLARBOR, we plant\n" + .string "seedlings of hardy trees that thrive\l" + .string "even in volcanic ash.$" + diff --git a/data/scripts/maps/FallarborTown_PokemonCenter_2F.inc b/data/scripts/maps/FallarborTown_PokemonCenter_2F.inc new file mode 100644 index 0000000000..93482e860c --- /dev/null +++ b/data/scripts/maps/FallarborTown_PokemonCenter_2F.inc @@ -0,0 +1,19 @@ +FallarborTown_PokemonCenter_2F_MapScripts:: @ 8200EEB + map_script 2, FallarborTown_PokemonCenter_2F_MapScript2_276C3B + map_script 4, FallarborTown_PokemonCenter_2F_MapScript2_276B6C + map_script 1, FallarborTown_PokemonCenter_2F_MapScript1_276BBE + map_script 3, FallarborTown_PokemonCenter_2F_MapScript1_276ACF + .byte 0 + +FallarborTown_PokemonCenter_2F_EventScript_200F00:: @ 8200F00 + call OldaleTown_PokemonCenter_2F_EventScript_276EB7 + end + +FallarborTown_PokemonCenter_2F_EventScript_200F06:: @ 8200F06 + call OldaleTown_PokemonCenter_2F_EventScript_2770B2 + end + +FallarborTown_PokemonCenter_2F_EventScript_200F0C:: @ 8200F0C + call OldaleTown_PokemonCenter_2F_EventScript_2771DB + end + diff --git a/data/scripts/maps/FarawayIsland_Entrance.inc b/data/scripts/maps/FarawayIsland_Entrance.inc new file mode 100644 index 0000000000..ff8af2e9f1 --- /dev/null +++ b/data/scripts/maps/FarawayIsland_Entrance.inc @@ -0,0 +1,46 @@ +FarawayIsland_Entrance_MapScripts:: @ 8267C8E + map_script 3, FarawayIsland_Entrance_MapScript1_267C94 + .byte 0 + +FarawayIsland_Entrance_MapScript1_267C94: @ 8267C94 + setflag FLAG_0x8D8 + end + +FarawayIsland_Entrance_EventScript_267C98:: @ 8267C98 + setweather 1 + doweather + end + +FarawayIsland_Entrance_EventScript_267C9D:: @ 8267C9D + setweather 0 + doweather + end + +FarawayIsland_Entrance_EventScript_267CA2:: @ 8267CA2 + lock + faceplayer + msgbox FarawayIsland_Entrance_Text_2C6B42, 5 + compare VAR_RESULT, 0 + goto_eq FarawayIsland_Entrance_EventScript_267CE7 + msgbox FarawayIsland_Entrance_Text_2A6A5D, 4 + closemessage + applymovement VAR_LAST_TALKED, FarawayIsland_Entrance_Movement_2725AA + waitmovement 0 + delay 30 + hideobjectat 1, FARAWAY_ISLAND_ENTRANCE + setvar VAR_0x8004, 2 + call FarawayIsland_Entrance_EventScript_272250 + warp LILYCOVE_CITY_HARBOR, 255, 8, 11 + waitstate + release + end + +FarawayIsland_Entrance_EventScript_267CE7:: @ 8267CE7 + msgbox FarawayIsland_Entrance_Text_2A6A82, 4 + release + end + +FarawayIsland_Entrance_EventScript_267CF1:: @ 8267CF1 + msgbox FarawayIsland_Entrance_Text_2C6D5A, 3 + end + diff --git a/data/scripts/maps/FarawayIsland_Interior.inc b/data/scripts/maps/FarawayIsland_Interior.inc new file mode 100644 index 0000000000..d3132b2026 --- /dev/null +++ b/data/scripts/maps/FarawayIsland_Interior.inc @@ -0,0 +1,207 @@ +FarawayIsland_Interior_MapScripts:: @ 8267CFA + map_script 5, FarawayIsland_Interior_MapScript1_267D54 + map_script 3, FarawayIsland_Interior_MapScript1_267D72 + map_script 2, FarawayIsland_Interior_MapScript2_267D98 + map_script 7, FarawayIsland_Interior_MapScript1_267D0F + .byte 0 + +FarawayIsland_Interior_MapScript1_267D0F: @ 8267D0F + checkflag FLAG_SYS_CTRL_OBJ_DELETE + call_if 1, FarawayIsland_Interior_EventScript_267D19 + end + +FarawayIsland_Interior_EventScript_267D19:: @ 8267D19 + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 1 + goto_eq FarawayIsland_Interior_EventScript_267D4B + compare VAR_RESULT, 4 + goto_eq FarawayIsland_Interior_EventScript_267D4B + compare VAR_RESULT, 5 + goto_eq FarawayIsland_Interior_EventScript_267D4B + compare VAR_RESULT, 10 + goto_eq FarawayIsland_Interior_EventScript_267D4B + return + +FarawayIsland_Interior_EventScript_267D4B:: @ 8267D4B + setvar VAR_0x8004, 1 + special sub_81D4A90 + return + +FarawayIsland_Interior_MapScript1_267D54: @ 8267D54 + checkflag FLAG_SYS_CTRL_OBJ_DELETE + call_if 1, FarawayIsland_Interior_EventScript_267D5E + end + +FarawayIsland_Interior_EventScript_267D5E:: @ 8267D5E + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 7 + goto_if 5, FarawayIsland_Interior_EventScript_27374E + removeobject VAR_LAST_TALKED + return + +FarawayIsland_Interior_MapScript1_267D72: @ 8267D72 + setvar VAR_0x403A, 0 + setvar VAR_0x4001, 1 + checkflag FLAG_0x1CA + call_if 0, FarawayIsland_Interior_EventScript_267D86 + end + +FarawayIsland_Interior_EventScript_267D86:: @ 8267D86 + checkflag FLAG_0x1C7 + goto_eq FarawayIsland_Interior_EventScript_27374E + clearflag FLAG_0x2CE + setvar VAR_0x4001, 0 + return + +FarawayIsland_Interior_MapScript2_267D98: @ 8267D98 + map_script_2 VAR_0x4001, 0, FarawayIsland_Interior_EventScript_267DA2 + .2byte 0 + +FarawayIsland_Interior_EventScript_267DA2:: @ 8267DA2 + lockall + playse SE_PIN + applymovement 1, FarawayIsland_Interior_Movement_272598 + waitmovement 0 + applymovement 1, FarawayIsland_Interior_Movement_27259A + waitmovement 0 + applymovement 1, FarawayIsland_Interior_Movement_267DCE + waitmovement 0 + moveobjectoffscreen 1 + setvar VAR_0x4001, 1 + releaseall + end + +FarawayIsland_Interior_Movement_267DCE: @ 8267DCE + step_up + step_up + step_up + step_25 + step_54 + step_end + +FarawayIsland_Interior_Movement_267DD4: @ 8267DD4 + step_55 + step_end + +FarawayIsland_Interior_Movement_267DD6: @ 8267DD6 + step_40 + step_16 + step_16 + step_41 + step_1d + step_1d + step_end + +FarawayIsland_Interior_Movement_267DDD: @ 8267DDD + step_40 + step_16 + step_16 + step_41 + step_1e + step_1e + step_end + +FarawayIsland_Interior_Movement_267DE4: @ 8267DE4 + step_40 + step_16 + step_16 + step_41 + step_20 + step_20 + step_end + +FarawayIsland_Interior_Movement_267DEB: @ 8267DEB + step_40 + step_16 + step_16 + step_41 + step_1f + step_1f + step_end + +FarawayIsland_Interior_EventScript_267DF2:: @ 8267DF2 + lock + faceplayer + applymovement 1, FarawayIsland_Interior_Movement_267DD4 + waitmovement 0 + setvar VAR_0x8004, 0 + special sub_81D4A90 + message FarawayIsland_Interior_Text_2C6DFF + waitse + playmoncry SPECIES_MEW, 2 + compare VAR_FACING, 2 + call_if 1, FarawayIsland_Interior_EventScript_267EAF + compare VAR_FACING, 1 + call_if 1, FarawayIsland_Interior_EventScript_267EBA + compare VAR_FACING, 3 + call_if 1, FarawayIsland_Interior_EventScript_267EC5 + compare VAR_FACING, 4 + call_if 1, FarawayIsland_Interior_EventScript_267ED0 + special sub_81D4BEC + delay 40 + waitmoncry + setvar VAR_0x8004, 151 + setvar VAR_0x8005, 30 + setvar VAR_0x8006, 0 + special DoScriptedWildBattle + setflag FLAG_SYS_CTRL_OBJ_DELETE + special BattleSetup_StartLegendaryBattle + waitstate + clearflag FLAG_SYS_CTRL_OBJ_DELETE + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 1 + goto_eq FarawayIsland_Interior_EventScript_267E96 + compare VAR_RESULT, 4 + goto_eq FarawayIsland_Interior_EventScript_267EA4 + compare VAR_RESULT, 5 + goto_eq FarawayIsland_Interior_EventScript_267EA4 + compare VAR_RESULT, 10 + goto_eq FarawayIsland_Interior_EventScript_267EA4 + setflag FLAG_0x1CA + release + end + +FarawayIsland_Interior_EventScript_267E96:: @ 8267E96 + setflag FLAG_0x1C7 + setvar VAR_0x8004, 151 + goto FarawayIsland_Interior_EventScript_273776 + end + +FarawayIsland_Interior_EventScript_267EA4:: @ 8267EA4 + setvar VAR_0x8004, 151 + goto FarawayIsland_Interior_EventScript_273776 + end + +FarawayIsland_Interior_EventScript_267EAF:: @ 8267EAF + applymovement 1, FarawayIsland_Interior_Movement_267DD6 + waitmovement 0 + return + +FarawayIsland_Interior_EventScript_267EBA:: @ 8267EBA + applymovement 1, FarawayIsland_Interior_Movement_267DDD + waitmovement 0 + return + +FarawayIsland_Interior_EventScript_267EC5:: @ 8267EC5 + applymovement 1, FarawayIsland_Interior_Movement_267DE4 + waitmovement 0 + return + +FarawayIsland_Interior_EventScript_267ED0:: @ 8267ED0 + applymovement 1, FarawayIsland_Interior_Movement_267DEB + waitmovement 0 + return + +FarawayIsland_Interior_EventScript_267EDB:: @ 8267EDB + lockall + fadescreenswapbuffers 1 + setflag FLAG_0x2CE + removeobject 1 + fadescreenswapbuffers 0 + msgbox FarawayIsland_Interior_Text_267EF1, 4 + closemessage + releaseall + end + +FarawayIsland_Interior_Text_267EF1: @ 8267EF1 + .string "The feeling of being watched faded…$" diff --git a/data/scripts/maps/FieryPath.inc b/data/scripts/maps/FieryPath.inc new file mode 100644 index 0000000000..a040a5327f --- /dev/null +++ b/data/scripts/maps/FieryPath.inc @@ -0,0 +1,15 @@ +FieryPath_MapScripts:: @ 8230F24 + map_script 3, FieryPath_MapScript1_230F2A + .byte 0 + +FieryPath_MapScript1_230F2A: @ 8230F2A + checkflag FLAG_LANDMARK_FIERY_PATH + call_if 0, FieryPath_EventScript_230F37 + setflag FLAG_LANDMARK_FIERY_PATH + end + +FieryPath_EventScript_230F37:: @ 8230F37 + setflag FLAG_0x2FE + clearflag FLAG_0x2FF + return + diff --git a/data/scripts/maps/FortreeCity.inc b/data/scripts/maps/FortreeCity.inc new file mode 100644 index 0000000000..0b4b71c2ba --- /dev/null +++ b/data/scripts/maps/FortreeCity.inc @@ -0,0 +1,159 @@ +FortreeCity_MapScripts:: @ 81E25A4 + map_script 3, FortreeCity_MapScript1_1E25AF + map_script 5, FortreeCity_MapScript1_1E25B3 + .byte 0 + +FortreeCity_MapScript1_1E25AF: @ 81E25AF + setflag FLAG_VISITED_FORTREE_CITY + end + +FortreeCity_MapScript1_1E25B3: @ 81E25B3 + setstepcallback 2 + end + +FortreeCity_EventScript_1E25B6:: @ 81E25B6 + msgbox FortreeCity_Text_1E2676, 2 + end + +FortreeCity_EventScript_1E25BF:: @ 81E25BF + lock + faceplayer + checkflag FLAG_0x127 + goto_eq FortreeCity_EventScript_1E25D4 + msgbox FortreeCity_Text_1E2738, 4 + release + end + +FortreeCity_EventScript_1E25D4:: @ 81E25D4 + msgbox FortreeCity_Text_1E27B6, 4 + release + end + +FortreeCity_EventScript_1E25DE:: @ 81E25DE + msgbox FortreeCity_Text_1E27FE, 2 + end + +FortreeCity_EventScript_1E25E7:: @ 81E25E7 + msgbox FortreeCity_Text_1E2880, 2 + end + +FortreeCity_EventScript_1E25F0:: @ 81E25F0 + msgbox FortreeCity_Text_1E292E, 2 + end + +FortreeCity_EventScript_1E25F9:: @ 81E25F9 + msgbox FortreeCity_Text_1E299D, 2 + end + +FortreeCity_EventScript_1E2602:: @ 81E2602 + msgbox FortreeCity_Text_1E2AAC, 3 + end + +FortreeCity_EventScript_1E260B:: @ 81E260B + msgbox FortreeCity_Text_1E2AE6, 3 + end + +FortreeCity_EventScript_1E2614:: @ 81E2614 + lock + faceplayer + checkitem ITEM_DEVON_SCOPE, 1 + compare VAR_RESULT, 1 + goto_eq FortreeCity_EventScript_1E2630 + msgbox FortreeCity_Text_1E29E5, 4 + release + end + +FortreeCity_EventScript_1E2630:: @ 81E2630 + msgbox FortreeCity_Text_1E2A08, 5 + compare VAR_RESULT, 1 + goto_eq FortreeCity_EventScript_1E2645 + release + end + +FortreeCity_EventScript_1E2645:: @ 81E2645 + msgbox FortreeCity_Text_1E2A48, 4 + closemessage + applymovement VAR_LAST_TALKED, FortreeCity_Movement_2723C7 + waitmovement 0 + waitse + playmoncry SPECIES_KECLEON, 2 + delay 40 + waitmoncry + applymovement VAR_LAST_TALKED, FortreeCity_Movement_1E2674 + waitmovement 0 + removeobject VAR_LAST_TALKED + setflag FLAG_0x127 + release + end + +FortreeCity_Movement_1E2674: @ 81E2674 + step_right + step_end + +FortreeCity_Text_1E2676: @ 81E2676 + .string "No one believes me, but I saw this\n" + .string "gigantic POKéMON in the sky.\p" + .string "It seemed to squirm as it flew toward\n" + .string "ROUTE 131.\p" + .string "By the way… Sniff…\n" + .string "Um… You, uh…smell singed.\p" + .string "Were you at a volcano or something?$" + +FortreeCity_Text_1E2738: @ 81E2738 + .string "I want to go to the POKéMON GYM,\n" + .string "but something’s blocking the way.\p" + .string "After all the bother I went through\n" + .string "training on ROUTE 120…$" + +FortreeCity_Text_1E27B6: @ 81E27B6 + .string "I’ve got my pride-and-joy POKéMON\n" + .string "with me. This time, I’ll beat WINONA.$" + +FortreeCity_Text_1E27FE: @ 81E27FE + .string "The ground absorbs rainwater, and\n" + .string "trees grow by drinking that water…\p" + .string "Our FORTREE CITY exists because\n" + .string "there’s both water and soil.$" + +FortreeCity_Text_1E2880: @ 81E2880 + .string "The CITY consists of homes built on\n" + .string "trees.\p" + .string "Perhaps because of that lifestyle,\n" + .string "everyone is healthy and lively.\p" + .string "Why, even myself--I feel as if I’ve\n" + .string "grown thirty years younger.$" + +FortreeCity_Text_1E292E: @ 81E292E + .string "Living on top of trees is okay.\p" + .string "But sometimes BUG POKéMON come in\n" + .string "through windows.\l" + .string "It can be really startling.$" + +FortreeCity_Text_1E299D: @ 81E299D + .string "There are POKéMON that evolve when\n" + .string "you trade them! That’s what I heard.$" + +FortreeCity_Text_1E29E5: @ 81E29E5 + .string "Something unseeable is in the way.$" + +FortreeCity_Text_1E2A08: @ 81E2A08 + .string "Something unseeable is in the way.\p" + .string "Want to use the DEVON SCOPE?$" + +FortreeCity_Text_1E2A48: @ 81E2A48 + .string "{PLAYER} used the DEVON SCOPE.\p" + .string "An invisible POKéMON became completely\n" + .string "visible!\p" + .string "The startled POKéMON fled!$" + +FortreeCity_Text_1E2AAC: @ 81E2AAC + .string "FORTREE CITY\n" + .string "“The treetop city that frolics with\l" + .string "nature.”$" + +FortreeCity_Text_1E2AE6: @ 81E2AE6 + .string "FORTREE CITY POKéMON GYM\n" + .string "LEADER: WINONA\p" + .string "“The bird user taking flight into\n" + .string "the world.”$" + diff --git a/data/scripts/maps/FortreeCity_DecorationShop.inc b/data/scripts/maps/FortreeCity_DecorationShop.inc new file mode 100644 index 0000000000..2229ab7023 --- /dev/null +++ b/data/scripts/maps/FortreeCity_DecorationShop.inc @@ -0,0 +1,72 @@ +FortreeCity_DecorationShop_MapScripts:: @ 821800D + .byte 0 + +FortreeCity_DecorationShop_EventScript_21800E:: @ 821800E + msgbox FortreeCity_DecorationShop_Text_218078, 2 + end + +FortreeCity_DecorationShop_EventScript_218017:: @ 8218017 + msgbox FortreeCity_DecorationShop_Text_2180ED, 2 + end + +FortreeCity_DecorationShop_EventScript_218020:: @ 8218020 + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemartdecoration FortreeCity_DecorationShop_PokemartDecor_218038 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +FortreeCity_DecorationShop_PokemartDecor_218038: @ 8218038 + .2byte 1 + .2byte 2 + .2byte 3 + .2byte 4 + .2byte 5 + .2byte 7 + .2byte 8 + .2byte 9 + .2byte 0 + release + end + +FortreeCity_DecorationShop_EventScript_21804C:: @ 821804C + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemartdecoration FortreeCity_DecorationShop_PokemartDecor_218064 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +FortreeCity_DecorationShop_PokemartDecor_218064: @ 8218064 + .2byte 10 + .2byte 11 + .2byte 12 + .2byte 15 + .2byte 14 + .2byte 16 + .2byte 17 + .2byte 18 + .2byte 0 + release + end + +FortreeCity_DecorationShop_Text_218078: @ 8218078 + .string "Merchandise you buy here is sent to\n" + .string "your own PC.\p" + .string "That’s fantastic! I wish they could\n" + .string "also deliver me home like that.$" + +FortreeCity_DecorationShop_Text_2180ED: @ 82180ED + .string "I’m buying a pretty desk and I’m\n" + .string "putting my cute DOLLS on it.\p" + .string "If I don’t, when I decorate my\n" + .string "SECRET BASE, my DOLLS will get\l" + .string "dirty or poked with splinters.$" + diff --git a/data/scripts/maps/FortreeCity_Gym.inc b/data/scripts/maps/FortreeCity_Gym.inc new file mode 100644 index 0000000000..fc069a8ee6 --- /dev/null +++ b/data/scripts/maps/FortreeCity_Gym.inc @@ -0,0 +1,325 @@ +FortreeCity_Gym_MapScripts:: @ 82165AB + map_script 3, FortreeCity_Gym_MapScript1_2165B6 + map_script 4, FortreeCity_Gym_MapScript2_2165BA + .byte 0 + +FortreeCity_Gym_MapScript1_2165B6: @ 82165B6 + special sub_80FBE90 + end + +FortreeCity_Gym_MapScript2_2165BA: @ 82165BA + map_script_2 VAR_0x4000, 16384, FortreeCity_Gym_EventScript_2165C4 + .2byte 0 + +FortreeCity_Gym_EventScript_2165C4:: @ 82165C4 + special sub_80FBED0 + end + +FortreeCity_Gym_EventScript_2165C8:: @ 82165C8 + trainerbattle 1, TRAINER_WINONA_1, 0, FortreeCity_Gym_Text_216D75, FortreeCity_Gym_Text_216E60, FortreeCity_Gym_EventScript_2165FD + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq FortreeCity_Gym_EventScript_21668D + checkflag FLAG_0x0AA + goto_if 0, FortreeCity_Gym_EventScript_216646 + msgbox FortreeCity_Gym_Text_217071, 4 + release + end + +FortreeCity_Gym_EventScript_2165FD:: @ 82165FD + message FortreeCity_Gym_Text_216EEC + waitmessage + call FortreeCity_Gym_EventScript_27207E + msgbox FortreeCity_Gym_Text_216F17, 4 + setflag FLAG_0x4F5 + setflag FLAG_BADGE06_GET + setvar VAR_0x8008, 6 + call FortreeCity_Gym_EventScript_271F43 + call FortreeCity_Gym_EventScript_21666A + closemessage + delay 30 + playfanfare MUS_ME_TORE_EYE + msgbox FortreeCity_Gym_Text_217044, 4 + waitfanfare + closemessage + delay 30 + setflag FLAG_0x1D7 + setvar VAR_0x40F3, 0 + setflag FLAG_0x08A + release + end + +FortreeCity_Gym_EventScript_216646:: @ 8216646 + giveitem_std ITEM_TM40 + compare VAR_RESULT, 0 + goto_eq FortreeCity_Gym_EventScript_272054 + msgbox FortreeCity_Gym_Text_216FEC, 4 + setflag FLAG_0x0AA + release + end + +FortreeCity_Gym_EventScript_21666A:: @ 821666A + giveitem_std ITEM_TM40 + compare VAR_RESULT, 0 + goto_eq FortreeCity_Gym_EventScript_27205E + msgbox FortreeCity_Gym_Text_216FEC, 4 + setflag FLAG_0x0AA + return + +FortreeCity_Gym_EventScript_21668D:: @ 821668D + trainerbattle 7, TRAINER_WINONA_1, 0, FortreeCity_Gym_Text_217100, FortreeCity_Gym_Text_2171E6, FortreeCity_Gym_Text_217292 + msgbox FortreeCity_Gym_Text_21720B, 6 + end + +FortreeCity_Gym_EventScript_2166A8:: @ 82166A8 + trainerbattle 0, TRAINER_JARED, 0, FortreeCity_Gym_Text_2168A2, FortreeCity_Gym_Text_2168D3 + msgbox FortreeCity_Gym_Text_2168E7, 6 + end + +FortreeCity_Gym_EventScript_2166BF:: @ 82166BF + trainerbattle 0, TRAINER_EDWARDO, 0, FortreeCity_Gym_Text_21695A, FortreeCity_Gym_Text_2169C7 + msgbox FortreeCity_Gym_Text_2169F1, 6 + end + +FortreeCity_Gym_EventScript_2166D6:: @ 82166D6 + trainerbattle 0, TRAINER_FLINT, 0, FortreeCity_Gym_Text_216A66, FortreeCity_Gym_Text_216AC4 + msgbox FortreeCity_Gym_Text_216AD7, 6 + end + +FortreeCity_Gym_EventScript_2166ED:: @ 82166ED + trainerbattle 0, TRAINER_ASHLEY, 0, FortreeCity_Gym_Text_216B1A, FortreeCity_Gym_Text_216B51 + msgbox FortreeCity_Gym_Text_216B5F, 6 + end + +FortreeCity_Gym_EventScript_216704:: @ 8216704 + trainerbattle 0, TRAINER_HUMBERTO, 0, FortreeCity_Gym_Text_216B9E, FortreeCity_Gym_Text_216C18 + msgbox FortreeCity_Gym_Text_216C32, 6 + end + +FortreeCity_Gym_EventScript_21671B:: @ 821671B + trainerbattle 0, TRAINER_DARIUS, 0, FortreeCity_Gym_Text_216C96, FortreeCity_Gym_Text_216CF2 + msgbox FortreeCity_Gym_Text_216D0F, 6 + end + +FortreeCity_Gym_EventScript_216732:: @ 8216732 + lock + faceplayer + checkflag FLAG_0x4F5 + goto_eq FortreeCity_Gym_EventScript_216747 + msgbox FortreeCity_Gym_Text_216785, 4 + release + end + +FortreeCity_Gym_EventScript_216747:: @ 8216747 + msgbox FortreeCity_Gym_Text_21687D, 4 + release + end + +FortreeCity_Gym_EventScript_216751:: @ 8216751 + lockall + checkflag FLAG_BADGE06_GET + goto_eq FortreeCity_Gym_EventScript_216771 + goto FortreeCity_Gym_EventScript_21677B + end + +FortreeCity_Gym_EventScript_216761:: @ 8216761 + lockall + checkflag FLAG_BADGE06_GET + goto_eq FortreeCity_Gym_EventScript_216771 + goto FortreeCity_Gym_EventScript_21677B + end + +FortreeCity_Gym_EventScript_216771:: @ 8216771 + msgbox FortreeCity_Gym_Text_2170C7, 4 + releaseall + end + +FortreeCity_Gym_EventScript_21677B:: @ 821677B + msgbox FortreeCity_Gym_Text_2170AE, 4 + releaseall + end + +FortreeCity_Gym_Text_216785: @ 8216785 + .string "Yo, how’s it going, CHAMPION-\n" + .string "bound {PLAYER}?\p" + .string "FORTREE GYM LEADER WINONA is\n" + .string "a master of FLYING-type POKéMON.\p" + .string "She’s waiting at the back of this GYM,\n" + .string "behind the rotating doors.\p" + .string "She’s waiting for new challengers\n" + .string "who are trying to take wing!\p" + .string "Okay, go for it!$" + +FortreeCity_Gym_Text_21687D: @ 821687D + .string "You did it!\n" + .string "You’ve achieved liftoff!$" + +FortreeCity_Gym_Text_2168A2: @ 82168A2 + .string "Behold the elegant battle style of\n" + .string "BIRD POKéMON!$" + +FortreeCity_Gym_Text_2168D3: @ 82168D3 + .string "You…\n" + .string "You’re strong…$" + +FortreeCity_Gym_Text_2168E7: @ 82168E7 + .string "A TRAINER has to be smart to keep\n" + .string "up with unexpected turns of events.\p" + .string "Do you have the smarts to get to\n" + .string "our LEADER?$" + +FortreeCity_Gym_Text_21695A: @ 821695A + .string "The lovers of BIRD POKéMON aspire\n" + .string "to join this GYM.\p" + .string "As a member of the FORTREE GYM,\n" + .string "I’m not allowed to lose!$" + +FortreeCity_Gym_Text_2169C7: @ 82169C7 + .string "It was too much of a load for me\n" + .string "to bear…$" + +FortreeCity_Gym_Text_2169F1: @ 82169F1 + .string "The world is huge, and there are\n" + .string "countless tough TRAINERS.\p" + .string "I’m going to keep training and make\n" + .string "myself even stronger.$" + +FortreeCity_Gym_Text_216A66: @ 8216A66 + .string "There’s no need for WINONA, our GYM\n" + .string "LEADER, to deal with you!\p" + .string "I’m plenty good enough for you!$" + +FortreeCity_Gym_Text_216AC4: @ 8216AC4 + .string "WINONA, I…\n" + .string "I lost!$" + +FortreeCity_Gym_Text_216AD7: @ 8216AD7 + .string "WINONA is cute and she’s strong.\n" + .string "She’s the ultimate LEADER!\p" + .string "Blush…$" + +FortreeCity_Gym_Text_216B1A: @ 8216B1A + .string "WINONA taught me personally!\n" + .string "You can’t beat me easily!$" + +FortreeCity_Gym_Text_216B51: @ 8216B51 + .string "I was beaten…$" + +FortreeCity_Gym_Text_216B5F: @ 8216B5F + .string "Thanks to WINONA, the people of\n" + .string "FORTREE can live without fear.$" + +FortreeCity_Gym_Text_216B9E: @ 8216B9E + .string "When WINONA takes to battle, her face\n" + .string "shines with beautiful determination…\p" + .string "I’m not letting you witness that\n" + .string "lovely sight!$" + +FortreeCity_Gym_Text_216C18: @ 8216C18 + .string "Urk!\n" + .string "I couldn’t stop you.$" + +FortreeCity_Gym_Text_216C32: @ 8216C32 + .string "You’d better watch it!\n" + .string "Don’t get distracted staring at WINONA\l" + .string "or you’ll go crashing down in a heap!$" + +FortreeCity_Gym_Text_216C96: @ 8216C96 + .string "You’d better know that there are all\n" + .string "sorts of FLYING-type POKéMON.\p" + .string "You do know that, right?$" + +FortreeCity_Gym_Text_216CF2: @ 8216CF2 + .string "You seem to know your stuff!$" + +FortreeCity_Gym_Text_216D0F: @ 8216D0F + .string "Sure, you beat me all right.\n" + .string "But you’d better watch it! Our LEADER\l" + .string "WINONA’s POKéMON are all business.$" + +FortreeCity_Gym_Text_216D75: @ 8216D75 + .string "I am WINONA. I am the LEADER of\n" + .string "the FORTREE POKéMON GYM.\p" + .string "I have become one with BIRD POKéMON\n" + .string "and have soared the skies…\p" + .string "However grueling the battle, we have\n" + .string "triumphed with grace…\p" + .string "Witness the elegant choreography\n" + .string "of BIRD POKéMON and I!$" + +FortreeCity_Gym_Text_216E60: @ 8216E60 + .string "Never before have I seen a TRAINER\n" + .string "command POKéMON with more grace\l" + .string "than I…\p" + .string "In recognition of your prowess,\n" + .string "I present to you this GYM BADGE.$" + +FortreeCity_Gym_Text_216EEC: @ 8216EEC + .string "{PLAYER} received the FEATHER BADGE\n" + .string "from WINONA.$" + +FortreeCity_Gym_Text_216F17: @ 8216F17 + .string "With the FEATHER BADGE, all POKéMON up\n" + .string "to LV 70, even those received through\l" + .string "trades, will obey your every command.\p" + .string "You will also be able to use\n" + .string "the HM move FLY outside of battle.\p" + .string "And this…\n" + .string "This is a gift from me.$" + +FortreeCity_Gym_Text_216FEC: @ 8216FEC + .string "TM40 contains AERIAL ACE.\p" + .string "Its speed…\n" + .string "No POKéMON should be able to avoid it.\p" + .string "… … … … … …$" + +FortreeCity_Gym_Text_217044: @ 8217044 + .string "Registered GYM LEADER WINONA\n" + .string "in the POKéNAV.$" + +FortreeCity_Gym_Text_217071: @ 8217071 + .string "Though I fell to you, I will remain\n" + .string "devoted to BIRD POKéMON.$" + +FortreeCity_Gym_Text_2170AE: @ 82170AE + .string "FORTREE CITY POKéMON GYM$" + +FortreeCity_Gym_Text_2170C7: @ 82170C7 + .string "FORTREE CITY POKéMON GYM\p" + .string "WINONA’S CERTIFIED TRAINERS:\n" + .string "{PLAYER}$" + +FortreeCity_Gym_Text_217100: @ 8217100 + .string "WINONA: We humans can never escape\n" + .string "gravity’s pull on the ground.\p" + .string "But by striving for excellence,\n" + .string "we have the power to soar!\p" + .string "You have scaled the pinnacle as\n" + .string "the reigning CHAMPION.\p" + .string "Please, allow me to see your power\n" + .string "at full flight!$" + +FortreeCity_Gym_Text_2171E6: @ 82171E6 + .string "I failed to reach your height again…$" + +FortreeCity_Gym_Text_21720B: @ 821720B + .string "WINONA: Even though I have lost,\n" + .string "the wings of my heart remain unbroken.\p" + .string "I can rise and soar again and\n" + .string "yet again.\p" + .string "I am convinced of it!$" + +FortreeCity_Gym_Text_217292: @ 8217292 + .string "WINONA: We humans can never escape\n" + .string "gravity’s pull on the ground.\p" + .string "But by striving for excellence,\n" + .string "we have the power to soar!\p" + .string "You have scaled the pinnacle as\n" + .string "the reigning CHAMPION.\p" + .string "Please, allow me to see your power\n" + .string "at full flight!\p" + .string "Oh, no… Do you have but one\n" + .string "POKéMON with you?\p" + .string "Please return with two POKéMON\n" + .string "at the very least.$" + diff --git a/data/scripts/maps/FortreeCity_House1.inc b/data/scripts/maps/FortreeCity_House1.inc new file mode 100644 index 0000000000..7e45bf87ae --- /dev/null +++ b/data/scripts/maps/FortreeCity_House1.inc @@ -0,0 +1,102 @@ +FortreeCity_House1_MapScripts:: @ 82162BA + .byte 0 + +FortreeCity_House1_EventScript_2162BB:: @ 82162BB + lock + faceplayer + checkflag FLAG_0x09B + goto_eq FortreeCity_House1_EventScript_216355 + setvar VAR_0x8008, 1 + copyvar VAR_0x8004, VAR_0x8008 + specialvar VAR_RESULT, sub_807E73C + copyvar VAR_0x8009, VAR_RESULT + msgbox FortreeCity_House1_Text_21637B, 5 + compare VAR_RESULT, 0 + goto_eq FortreeCity_House1_EventScript_21633D + special sub_81B94B0 + waitstate + copyvar VAR_0x800A, VAR_0x8004 + compare VAR_0x8004, 255 + goto_eq FortreeCity_House1_EventScript_21633D + copyvar VAR_0x8005, VAR_0x800A + specialvar VAR_RESULT, sub_807E9D4 + copyvar VAR_0x800B, VAR_RESULT + compare VAR_RESULT, VAR_0x8009 + goto_if 5, FortreeCity_House1_EventScript_216347 + copyvar VAR_0x8004, VAR_0x8008 + copyvar VAR_0x8005, VAR_0x800A + special sub_807EA10 + special sub_807F0E4 + waitstate + bufferspeciesname 0, VAR_0x8009 + msgbox FortreeCity_House1_Text_216440, 4 + setflag FLAG_0x09B + release + end + +FortreeCity_House1_EventScript_21633D:: @ 821633D + msgbox FortreeCity_House1_Text_21649F, 4 + release + end + +FortreeCity_House1_EventScript_216347:: @ 8216347 + bufferspeciesname 0, VAR_0x8009 + msgbox FortreeCity_House1_Text_216474, 4 + release + end + +FortreeCity_House1_EventScript_216355:: @ 8216355 + msgbox FortreeCity_House1_Text_2164DB, 4 + release + end + +FortreeCity_House1_EventScript_21635F:: @ 821635F + msgbox FortreeCity_House1_Text_21653B, 2 + end + +FortreeCity_House1_EventScript_216368:: @ 8216368 + lock + faceplayer + waitse + playmoncry SPECIES_ZIGZAGOON, 0 + msgbox FortreeCity_House1_Text_216597, 4 + waitmoncry + release + end + +FortreeCity_House1_Text_21637B: @ 821637B + .string "Wrooooaaar! I need it!\n" + .string "I have to get me a {STR_VAR_1}!\l" + .string "I’ll do anything for it!\p" + .string "…Uh… Did you hear that?\n" + .string "My shout from the bottom of my heart?\p" + .string "Having heard that, you will trade\n" + .string "your {STR_VAR_1} for my {STR_VAR_2},\l" + .string "won’t you?$" + +FortreeCity_House1_Text_216440: @ 8216440 + .string "Oh, yeah, right on!\p" + .string "{STR_VAR_1}, welcome!\n" + .string "{STR_VAR_2}, you take care!$" + +FortreeCity_House1_Text_216474: @ 8216474 + .string "Uh, no, I don’t think so.\n" + .string "That isn’t a {STR_VAR_1}.$" + +FortreeCity_House1_Text_21649F: @ 821649F + .string "No? You won’t trade me?\n" + .string "Even after I bared my heart to you?$" + +FortreeCity_House1_Text_2164DB: @ 82164DB + .string "I’m going to make VOLBEAT super\n" + .string "strong from this moment on!\p" + .string "I hope you do the same with PLUSLE!$" + +FortreeCity_House1_Text_21653B: @ 821653B + .string "Trading POKéMON with others…\p" + .string "It’s as if you’re trading your own\n" + .string "memories with other people.$" + +FortreeCity_House1_Text_216597: @ 8216597 + .string "ZIGZAGOON: Gumomoh?$" + diff --git a/data/scripts/maps/FortreeCity_House2.inc b/data/scripts/maps/FortreeCity_House2.inc new file mode 100644 index 0000000000..8f75b20d9d --- /dev/null +++ b/data/scripts/maps/FortreeCity_House2.inc @@ -0,0 +1,84 @@ +FortreeCity_House2_MapScripts:: @ 82177CA + .byte 0 + +FortreeCity_House2_EventScript_2177CB:: @ 82177CB + lock + faceplayer + checkflag FLAG_0x108 + goto_eq FortreeCity_House2_EventScript_21786E + checkflag FLAG_0x076 + call_if 0, FortreeCity_House2_EventScript_217862 + msgbox FortreeCity_House2_Text_2178D6, 4 + multichoice 21, 8, 54, 1 + switch VAR_RESULT + case 1, FortreeCity_House2_EventScript_217878 + msgbox FortreeCity_House2_Text_21796A, 4 + multichoice 21, 8, 54, 1 + switch VAR_RESULT + case 1, FortreeCity_House2_EventScript_217878 + msgbox FortreeCity_House2_Text_2179C9, 4 + multichoice 21, 8, 54, 1 + switch VAR_RESULT + case 0, FortreeCity_House2_EventScript_217878 + msgbox FortreeCity_House2_Text_217A28, 4 + giveitem_std ITEM_TM10 + compare VAR_RESULT, 0 + goto_eq FortreeCity_House2_EventScript_272054 + setflag FLAG_0x108 + msgbox FortreeCity_House2_Text_217A91, 4 + release + end + +FortreeCity_House2_EventScript_217862:: @ 8217862 + msgbox FortreeCity_House2_Text_217882, 4 + setflag FLAG_0x076 + return + +FortreeCity_House2_EventScript_21786E:: @ 821786E + msgbox FortreeCity_House2_Text_217A91, 4 + release + end + +FortreeCity_House2_EventScript_217878:: @ 8217878 + msgbox FortreeCity_House2_Text_217AC7, 4 + release + end + +FortreeCity_House2_Text_217882: @ 8217882 + .string "People… POKéMON…\p" + .string "Their hidden powers are aroused by\n" + .string "living in natural environments…$" + +FortreeCity_House2_Text_2178D6: @ 82178D6 + .string "Let this old woman see if your hidden\n" + .string "power has awoken…\p" + .string "I hold a coin in my hand.\p" + .string "Now, tell me, have I palmed it in\n" + .string "the right hand? Or in the left?$" + +FortreeCity_House2_Text_21796A: @ 821796A + .string "Oh! Yes, correct!\p" + .string "We shall try again.\p" + .string "In which hand have I palmed the coin?\n" + .string "The right or left?$" + +FortreeCity_House2_Text_2179C9: @ 82179C9 + .string "Oh! Yes, correct!\p" + .string "We shall try again.\p" + .string "In which hand have I palmed the coin?\n" + .string "The right or left?$" + +FortreeCity_House2_Text_217A28: @ 8217A28 + .string "Oh! Splendid!\n" + .string "Your hidden power has awoken!\p" + .string "Here, take this and awaken the hidden\n" + .string "power of your POKéMON.$" + +FortreeCity_House2_Text_217A91: @ 8217A91 + .string "HIDDEN POWER is a move that changes\n" + .string "with the POKéMON.$" + +FortreeCity_House2_Text_217AC7: @ 8217AC7 + .string "No, too bad.\n" + .string "You guessed wrong.$" + diff --git a/data/scripts/maps/FortreeCity_House3.inc b/data/scripts/maps/FortreeCity_House3.inc new file mode 100644 index 0000000000..92b9638114 --- /dev/null +++ b/data/scripts/maps/FortreeCity_House3.inc @@ -0,0 +1,29 @@ +FortreeCity_House3_MapScripts:: @ 8217AE7 + .byte 0 + +FortreeCity_House3_EventScript_217AE8:: @ 8217AE8 + msgbox FortreeCity_House3_Text_217AFA, 2 + end + +FortreeCity_House3_EventScript_217AF1:: @ 8217AF1 + msgbox FortreeCity_House3_Text_217C22, 2 + end + +FortreeCity_House3_Text_217AFA: @ 8217AFA + .string "While speaking about POKéDEXES,\n" + .string "I remembered something.\p" + .string "I met this TRAINER, STEVEN, when\n" + .string "I was searching for rare stones.\p" + .string "Hoo, boy, he had some amazing POKéMON\n" + .string "with him.\p" + .string "They weren’t just rare, they were\n" + .string "trained to terrifying extremes!\p" + .string "He might even be stronger than the\n" + .string "GYM LEADER in this town…$" + +FortreeCity_House3_Text_217C22: @ 8217C22 + .string "What’s that thing you have there?\p" + .string "… … … … … …\p" + .string "Oh, it’s called a POKéDEX?\n" + .string "It’s really awesome!$" + diff --git a/data/scripts/maps/FortreeCity_House4.inc b/data/scripts/maps/FortreeCity_House4.inc new file mode 100644 index 0000000000..521e990218 --- /dev/null +++ b/data/scripts/maps/FortreeCity_House4.inc @@ -0,0 +1,99 @@ +FortreeCity_House4_MapScripts:: @ 8217C80 + .byte 0 + +FortreeCity_House4_EventScript_217C81:: @ 8217C81 + msgbox FortreeCity_House4_Text_217D33, 2 + end + +FortreeCity_House4_EventScript_217C8A:: @ 8217C8A + lockall + checkflag FLAG_0x0DF + goto_eq FortreeCity_House4_EventScript_217D06 + checkflag FLAG_0x0E0 + goto_eq FortreeCity_House4_EventScript_217CD8 + checkflag FLAG_0x0DE + goto_eq FortreeCity_House4_EventScript_217CC4 + msgbox FortreeCity_House4_Text_217DB9, 4 + closemessage + setflag FLAG_0x0DE + clearflag FLAG_0x3A6 + applymovement 3, FortreeCity_House4_Movement_217D1A + waitmovement 0 + removeobject 3 + releaseall + end + +FortreeCity_House4_EventScript_217CC4:: @ 8217CC4 + applymovement VAR_LAST_TALKED, FortreeCity_House4_Movement_27259E + waitmovement 0 + msgbox FortreeCity_House4_Text_217DD2, 4 + releaseall + end + +FortreeCity_House4_EventScript_217CD8:: @ 8217CD8 + applymovement VAR_LAST_TALKED, FortreeCity_House4_Movement_27259E + waitmovement 0 + msgbox FortreeCity_House4_Text_217E05, 4 + giveitem_std ITEM_MENTAL_HERB + compare VAR_RESULT, 0 + goto_eq FortreeCity_House4_EventScript_272054 + setflag FLAG_0x0DF + releaseall + end + +FortreeCity_House4_EventScript_217D06:: @ 8217D06 + applymovement VAR_LAST_TALKED, FortreeCity_House4_Movement_27259E + waitmovement 0 + msgbox FortreeCity_House4_Text_217EA8, 4 + releaseall + end + +FortreeCity_House4_Movement_217D1A: @ 8217D1A + step_15 + step_15 + step_18 + step_25 + step_13 + step_end + +FortreeCity_House4_EventScript_217D20:: @ 8217D20 + lock + faceplayer + waitse + playmoncry SPECIES_WINGULL, 0 + msgbox FortreeCity_House4_Text_217EE0, 4 + waitmoncry + release + end + +FortreeCity_House4_Text_217D33: @ 8217D33 + .string "By being together with POKéMON,\n" + .string "people make more and more friends.\p" + .string "And that brings the world closer\n" + .string "together. I think it’s wonderful!$" + +FortreeCity_House4_Text_217DB9: @ 8217DB9 + .string "There!\n" + .string "Go, BIRD POKéMON!$" + +FortreeCity_House4_Text_217DD2: @ 8217DD2 + .string "Heheh, I asked my WINGULL to run\n" + .string "an errand for me.$" + +FortreeCity_House4_Text_217E05: @ 8217E05 + .string "Good!\n" + .string "Welcome back, WINGULL!\p" + .string "Huh? What is this?\n" + .string "What is it holding?\p" + .string "A MENTAL HERB?\n" + .string "It must have picked it up somewhere.\p" + .string "But I’m not a TRAINER, so you can\n" + .string "have it.$" + +FortreeCity_House4_Text_217EA8: @ 8217EA8 + .string "Thanks to my WINGULL, I have friends\n" + .string "who live far away.$" + +FortreeCity_House4_Text_217EE0: @ 8217EE0 + .string "WINGULL: Pihyoh!$" + diff --git a/data/scripts/maps/FortreeCity_House5.inc b/data/scripts/maps/FortreeCity_House5.inc new file mode 100644 index 0000000000..d4f1f2b02a --- /dev/null +++ b/data/scripts/maps/FortreeCity_House5.inc @@ -0,0 +1,35 @@ +FortreeCity_House5_MapScripts:: @ 8217EF1 + .byte 0 + +FortreeCity_House5_EventScript_217EF2:: @ 8217EF2 + msgbox FortreeCity_House5_Text_217F17, 2 + end + +FortreeCity_House5_EventScript_217EFB:: @ 8217EFB + msgbox FortreeCity_House5_Text_217F80, 2 + end + +FortreeCity_House5_EventScript_217F04:: @ 8217F04 + lock + faceplayer + waitse + playmoncry SPECIES_ZIGZAGOON, 0 + msgbox FortreeCity_House5_Text_217FFB, 4 + waitmoncry + release + end + +FortreeCity_House5_Text_217F17: @ 8217F17 + .string "The tree houses of FORTREE are great!\p" + .string "I think it’s the number one town for\n" + .string "living together with POKéMON.$" + +FortreeCity_House5_Text_217F80: @ 8217F80 + .string "POKéMON and people have adapted to\n" + .string "nature for survival.\p" + .string "There’s no need to make nature\n" + .string "conform to the way we want to live.$" + +FortreeCity_House5_Text_217FFB: @ 8217FFB + .string "ZIGZAGOON: Bufuu!$" + diff --git a/data/scripts/maps/FortreeCity_Mart.inc b/data/scripts/maps/FortreeCity_Mart.inc new file mode 100644 index 0000000000..050fc8f4ce --- /dev/null +++ b/data/scripts/maps/FortreeCity_Mart.inc @@ -0,0 +1,57 @@ +FortreeCity_Mart_MapScripts:: @ 8217665 + .byte 0 + +FortreeCity_Mart_EventScript_217666:: @ 8217666 + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemart FortreeCity_Mart_Pokemart_217680 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +FortreeCity_Mart_Pokemart_217680: @ 8217680 + .2byte ITEM_GREAT_BALL + .2byte ITEM_ULTRA_BALL + .2byte ITEM_SUPER_POTION + .2byte ITEM_HYPER_POTION + .2byte ITEM_ANTIDOTE + .2byte ITEM_PARALYZE_HEAL + .2byte ITEM_AWAKENING + .2byte ITEM_REVIVE + .2byte ITEM_SUPER_REPEL + .2byte ITEM_WOOD_MAIL + .2byte ITEM_NONE + release + end + +FortreeCity_Mart_EventScript_217698:: @ 8217698 + msgbox FortreeCity_Mart_Text_2176B3, 2 + end + +FortreeCity_Mart_EventScript_2176A1:: @ 82176A1 + msgbox FortreeCity_Mart_Text_217715, 2 + end + +FortreeCity_Mart_EventScript_2176AA:: @ 82176AA + msgbox FortreeCity_Mart_Text_21778E, 2 + end + +FortreeCity_Mart_Text_2176B3: @ 82176B3 + .string "SUPER REPEL lasts a long time,\n" + .string "and it gets the job done.\p" + .string "It’s much better than an ordinary\n" + .string "REPEL.$" + +FortreeCity_Mart_Text_217715: @ 8217715 + .string "I always stock up on more items than\n" + .string "I’m sure I’ll need.\p" + .string "You never know what might happen.\n" + .string "Better to be safe than sorry!$" + +FortreeCity_Mart_Text_21778E: @ 821778E + .string "A RARE CANDY makes a POKéMON grow\n" + .string "immediately by one level.$" + diff --git a/data/scripts/maps/FortreeCity_PokemonCenter_1F.inc b/data/scripts/maps/FortreeCity_PokemonCenter_1F.inc new file mode 100644 index 0000000000..e119a0f299 --- /dev/null +++ b/data/scripts/maps/FortreeCity_PokemonCenter_1F.inc @@ -0,0 +1,55 @@ +FortreeCity_PokemonCenter_1F_MapScripts:: @ 82173D8 + map_script 3, FortreeCity_PokemonCenter_1F_MapScript1_2173E3 + map_script 5, FortreeCity_PokemonCenter_1F_MapScript1_277C30 + .byte 0 + +FortreeCity_PokemonCenter_1F_MapScript1_2173E3: @ 82173E3 + setrespawn 7 + end + +FortreeCity_PokemonCenter_1F_EventScript_2173E7:: @ 82173E7 + setvar VAR_0x800B, 1 + call FortreeCity_PokemonCenter_1F_EventScript_27191E + waitmessage + waitbuttonpress + release + end + +FortreeCity_PokemonCenter_1F_EventScript_2173F5:: @ 82173F5 + msgbox FortreeCity_PokemonCenter_1F_Text_217410, 2 + end + +FortreeCity_PokemonCenter_1F_EventScript_2173FE:: @ 82173FE + msgbox FortreeCity_PokemonCenter_1F_Text_21746D, 2 + end + +FortreeCity_PokemonCenter_1F_EventScript_217407:: @ 8217407 + msgbox FortreeCity_PokemonCenter_1F_Text_21751F, 2 + end + +FortreeCity_PokemonCenter_1F_Text_217410: @ 8217410 + .string "Listen, kid, are you working\n" + .string "on a POKéDEX?\p" + .string "Hmm… Go to the SAFARI ZONE.\n" + .string "That’s my suggestion.$" + +FortreeCity_PokemonCenter_1F_Text_21746D: @ 821746D + .string "Have you done anything at\n" + .string "the RECORD CORNER?\p" + .string "It’s pretty neat. It mixes and matches\n" + .string "the records of TRAINERS.\p" + .string "I don’t know quite how it works,\n" + .string "but it’s cool. It’s exciting, even!$" + +FortreeCity_PokemonCenter_1F_Text_21751F: @ 821751F + .string "Oh, wow, you have a POKéNAV!\n" + .string "And it’s just like mine!\p" + .string "Do you know about POKéNAV’s\n" + .string "MATCH CALL system?\p" + .string "Access it, and you can chat with\n" + .string "registered TRAINERS anytime.\p" + .string "It also shows you which TRAINERS\n" + .string "want a rematch with you.\p" + .string "It’s really nifty! Those DEVON guys\n" + .string "sure know what they’re doing!$" + diff --git a/data/scripts/maps/FortreeCity_PokemonCenter_2F.inc b/data/scripts/maps/FortreeCity_PokemonCenter_2F.inc new file mode 100644 index 0000000000..f631aa3c63 --- /dev/null +++ b/data/scripts/maps/FortreeCity_PokemonCenter_2F.inc @@ -0,0 +1,19 @@ +FortreeCity_PokemonCenter_2F_MapScripts:: @ 821763E + map_script 2, FortreeCity_PokemonCenter_2F_MapScript2_276C3B + map_script 4, FortreeCity_PokemonCenter_2F_MapScript2_276B6C + map_script 1, FortreeCity_PokemonCenter_2F_MapScript1_276BBE + map_script 3, FortreeCity_PokemonCenter_2F_MapScript1_276ACF + .byte 0 + +FortreeCity_PokemonCenter_2F_EventScript_217653:: @ 8217653 + call OldaleTown_PokemonCenter_2F_EventScript_276EB7 + end + +FortreeCity_PokemonCenter_2F_EventScript_217659:: @ 8217659 + call OldaleTown_PokemonCenter_2F_EventScript_2770B2 + end + +FortreeCity_PokemonCenter_2F_EventScript_21765F:: @ 821765F + call OldaleTown_PokemonCenter_2F_EventScript_2771DB + end + diff --git a/data/scripts/maps/GraniteCave_1F.inc b/data/scripts/maps/GraniteCave_1F.inc new file mode 100644 index 0000000000..f3d303c0fe --- /dev/null +++ b/data/scripts/maps/GraniteCave_1F.inc @@ -0,0 +1,40 @@ +GraniteCave_1F_MapScripts:: @ 822DA5D + .byte 0 + +GraniteCave_1F_EventScript_22DA5E:: @ 822DA5E + lock + faceplayer + checkflag FLAG_0x06D + goto_eq GraniteCave_1F_EventScript_22DA8A + msgbox GraniteCave_1F_Text_22DA94, 4 + giveitem_std ITEM_HM05 + setflag FLAG_0x06D + msgbox GraniteCave_1F_Text_22DBB7, 4 + release + end + +GraniteCave_1F_EventScript_22DA8A:: @ 822DA8A + msgbox GraniteCave_1F_Text_22DBB7, 4 + release + end + +GraniteCave_1F_Text_22DA94: @ 822DA94 + .string "Hey, you.\n" + .string "It gets awfully dark ahead.\l" + .string "It’ll be tough trying to explore.\p" + .string "That guy who came by earlier…\n" + .string "STEVEN, I think it was.\p" + .string "He knew how to use FLASH, so he ought\n" + .string "to be all right, but…\p" + .string "Well, for us HIKERS, helping out those\n" + .string "that we meet is our motto.\p" + .string "Here you go, I’ll pass this on to you.$" + +GraniteCave_1F_Text_22DBB7: @ 822DBB7 + .string "Teach that hidden move FLASH to\n" + .string "a POKéMON and use it.\p" + .string "It lights up even the inky darkness\n" + .string "of caves.\p" + .string "But, to use it, you need the GYM BADGE\n" + .string "from DEWFORD’s POKéMON GYM.$" + diff --git a/data/scripts/maps/GraniteCave_B1F.inc b/data/scripts/maps/GraniteCave_B1F.inc new file mode 100644 index 0000000000..bf5c4297fb --- /dev/null +++ b/data/scripts/maps/GraniteCave_B1F.inc @@ -0,0 +1,11 @@ +GraniteCave_B1F_MapScripts:: @ 822DC5E + map_script 2, GraniteCave_B1F_MapScript2_2A8327 + map_script 3, GraniteCave_B1F_MapScript1_2A8331 + map_script 5, GraniteCave_B1F_MapScript1_22DC6E + .byte 0 + +GraniteCave_B1F_MapScript1_22DC6E: @ 822DC6E + setstepcallback 7 + setholewarp GRANITE_CAVE_B2F, 255, 0, 0 + end + diff --git a/data/scripts/maps/GraniteCave_B2F.inc b/data/scripts/maps/GraniteCave_B2F.inc new file mode 100644 index 0000000000..d8cacbe387 --- /dev/null +++ b/data/scripts/maps/GraniteCave_B2F.inc @@ -0,0 +1,3 @@ +GraniteCave_B2F_MapScripts:: @ 822DC79 + .byte 0 + diff --git a/data/scripts/maps/GraniteCave_StevensRoom.inc b/data/scripts/maps/GraniteCave_StevensRoom.inc new file mode 100644 index 0000000000..9d61bc1a55 --- /dev/null +++ b/data/scripts/maps/GraniteCave_StevensRoom.inc @@ -0,0 +1,124 @@ +GraniteCave_StevensRoom_MapScripts:: @ 822DC7A + .byte 0 + +GraniteCave_StevensRoom_EventScript_22DC7B:: @ 822DC7B + lock + faceplayer + msgbox GraniteCave_StevensRoom_Text_22DD5A, 4 + setvar VAR_0x8004, 274 + call GraniteCave_StevensRoom_EventScript_2723E4 + setflag FLAG_0x0BD + msgbox GraniteCave_StevensRoom_Text_22DDBD, 4 + giveitem_std ITEM_TM47 + compare VAR_RESULT, 0 + call_if 1, GraniteCave_StevensRoom_EventScript_22DD3C + msgbox GraniteCave_StevensRoom_Text_22DE6B, 4 + closemessage + delay 30 + playfanfare MUS_ME_TORE_EYE + msgbox GraniteCave_StevensRoom_Text_22DF6A, 4 + waitfanfare + closemessage + delay 30 + setflag FLAG_0x131 + msgbox GraniteCave_StevensRoom_Text_22DF8C, 4 + closemessage + compare VAR_FACING, 2 + call_if 1, GraniteCave_StevensRoom_EventScript_22DD0D + compare VAR_FACING, 1 + call_if 1, GraniteCave_StevensRoom_EventScript_22DD2A + compare VAR_FACING, 3 + call_if 1, GraniteCave_StevensRoom_EventScript_22DD18 + compare VAR_FACING, 4 + call_if 1, GraniteCave_StevensRoom_EventScript_22DD18 + playse SE_KAIDAN + removeobject 1 + release + end + +GraniteCave_StevensRoom_EventScript_22DD0D:: @ 822DD0D + applymovement 1, GraniteCave_StevensRoom_Movement_22DD45 + waitmovement 0 + return + +GraniteCave_StevensRoom_EventScript_22DD18:: @ 822DD18 + applymovement 255, GraniteCave_StevensRoom_Movement_22DD4C + applymovement 1, GraniteCave_StevensRoom_Movement_22DD45 + waitmovement 0 + return + +GraniteCave_StevensRoom_EventScript_22DD2A:: @ 822DD2A + applymovement 255, GraniteCave_StevensRoom_Movement_22DD4C + applymovement 1, GraniteCave_StevensRoom_Movement_22DD51 + waitmovement 0 + return + +GraniteCave_StevensRoom_EventScript_22DD3C:: @ 822DD3C + msgbox GraniteCave_StevensRoom_Text_22DFAA, 4 + return + +GraniteCave_StevensRoom_Movement_22DD45: @ 822DD45 + step_up + step_up + step_up + step_up + step_up + step_13 + step_end + +GraniteCave_StevensRoom_Movement_22DD4C: @ 822DD4C + step_14 + step_14 + step_14 + step_26 + step_end + +GraniteCave_StevensRoom_Movement_22DD51: @ 822DD51 + step_left + step_up + step_up + step_up + step_right + step_up + step_up + step_13 + step_end + +GraniteCave_StevensRoom_Text_22DD5A: @ 822DD5A + .string "My name is STEVEN.\p" + .string "I’m interested in rare stones,\n" + .string "so I travel here and there.\p" + .string "Oh?\n" + .string "A LETTER for me?$" + +GraniteCave_StevensRoom_Text_22DDBD: @ 822DDBD + .string "STEVEN: Okay, thank you.\p" + .string "You went through all this trouble to\n" + .string "deliver that. I need to thank you.\p" + .string "Let me see…\n" + .string "I’ll give you this TM.\p" + .string "It contains my favorite move,\n" + .string "STEEL WING.$" + +GraniteCave_StevensRoom_Text_22DE6B: @ 822DE6B + .string "STEVEN: Your POKéMON appear quite\n" + .string "capable.\p" + .string "If you keep training, you could even\n" + .string "become the CHAMPION of the POKéMON\l" + .string "LEAGUE one day. That’s what I think.\p" + .string "I know, since we’ve gotten to know each\n" + .string "other, let’s register one another in\l" + .string "our POKéNAVS.\p" + .string "… … … … … …$" + +GraniteCave_StevensRoom_Text_22DF6A: @ 822DF6A + .string "Registered STEVEN\n" + .string "in the POKéNAV.$" + +GraniteCave_StevensRoom_Text_22DF8C: @ 822DF8C + .string "Now, I’ve got to hurry along.$" + +GraniteCave_StevensRoom_Text_22DFAA: @ 822DFAA + .string "Oh, your BAG is full…\n" + .string "That’s too bad, then.$" + diff --git a/data/scripts/maps/InsideOfTruck.inc b/data/scripts/maps/InsideOfTruck.inc new file mode 100644 index 0000000000..3c4b241ace --- /dev/null +++ b/data/scripts/maps/InsideOfTruck.inc @@ -0,0 +1,60 @@ +InsideOfTruck_MapScripts:: @ 823BEDA + map_script 1, InsideOfTruck_MapScript1_23BEE5 + map_script 5, InsideOfTruck_MapScript1_23BF01 + .byte 0 + +InsideOfTruck_MapScript1_23BEE5: @ 823BEE5 + setmetatile 4, 1, 520, 0 + setmetatile 4, 2, 528, 0 + setmetatile 4, 3, 536, 0 + end + +InsideOfTruck_MapScript1_23BF01: @ 823BF01 + setstepcallback 5 + end + +InsideOfTruck_EventScript_23BF04:: @ 823BF04 + lockall + setflag FLAG_SPECIAL_FLAG_0x4000 + checkplayergender + compare VAR_RESULT, 0 + goto_eq InsideOfTruck_EventScript_23BF20 + compare VAR_RESULT, 1 + goto_eq InsideOfTruck_EventScript_23BF46 + end + +InsideOfTruck_EventScript_23BF20:: @ 823BF20 + setrespawn 1 + setvar VAR_0x4092, 1 + setflag FLAG_0x2F7 + setflag FLAG_0x2FA + setflag FLAG_0x310 + setflag FLAG_0x2DF + setflag FLAG_0x331 + setvar VAR_0x408C, 1 + setdynamicwarp LITTLEROOT_TOWN, 255, 3, 10 + releaseall + end + +InsideOfTruck_EventScript_23BF46:: @ 823BF46 + setrespawn 2 + setvar VAR_0x4092, 2 + setflag FLAG_0x2F6 + setflag FLAG_0x2F9 + setflag FLAG_0x311 + setflag FLAG_0x2E0 + setflag FLAG_0x332 + setvar VAR_0x4082, 1 + setdynamicwarp LITTLEROOT_TOWN, 255, 12, 10 + releaseall + end + +InsideOfTruck_EventScript_23BF6C:: @ 823BF6C + msgbox InsideOfTruck_Text_23BF75, 3 + end + +InsideOfTruck_Text_23BF75: @ 823BF75 + .string "The box is printed with a POKéMON logo.\p" + .string "It’s a POKéMON brand moving and\n" + .string "delivery service.$" + diff --git a/data/scripts/maps/IslandCave.inc b/data/scripts/maps/IslandCave.inc new file mode 100644 index 0000000000..a96d139023 --- /dev/null +++ b/data/scripts/maps/IslandCave.inc @@ -0,0 +1,129 @@ +IslandCave_MapScripts:: @ 8238E2A + map_script 5, IslandCave_MapScript1_238E3A + map_script 1, IslandCave_MapScript1_238E58 + map_script 3, IslandCave_MapScript1_238E99 + .byte 0 + +IslandCave_MapScript1_238E3A: @ 8238E3A + checkflag FLAG_SYS_CTRL_OBJ_DELETE + call_if 1, IslandCave_EventScript_238E44 + end + +IslandCave_EventScript_238E44:: @ 8238E44 + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 7 + goto_if 5, IslandCave_EventScript_27374E + removeobject VAR_LAST_TALKED + return + +IslandCave_MapScript1_238E58: @ 8238E58 + checkflag FLAG_SYS_BRAILLE_WAIT + call_if 0, IslandCave_EventScript_238E62 + end + +IslandCave_EventScript_238E62:: @ 8238E62 + setmetatile 7, 19, 553, 1 + setmetatile 8, 19, 553, 1 + setmetatile 9, 19, 553, 1 + setmetatile 7, 20, 565, 1 + setmetatile 8, 20, 565, 1 + setmetatile 9, 20, 565, 1 + return + +IslandCave_MapScript1_238E99: @ 8238E99 + setflag FLAG_LANDMARK_ISLAND_CAVE + call IslandCave_EventScript_238F45 + checkflag FLAG_0x1BC + call_if 0, IslandCave_EventScript_238EAB + end + +IslandCave_EventScript_238EAB:: @ 8238EAB + clearflag FLAG_0x3A8 + return + +IslandCave_EventScript_238EAF:: @ 8238EAF + setmetatile 7, 19, 554, 1 + setmetatile 8, 19, 555, 1 + setmetatile 9, 19, 556, 1 + setmetatile 7, 20, 562, 1 + setmetatile 8, 20, 563, 0 + setmetatile 9, 20, 564, 1 + special DrawWholeMapView + playse SE_BAN + setflag FLAG_SYS_BRAILLE_WAIT + end + +IslandCave_EventScript_238EEF:: @ 8238EEF + lockall + checkflag FLAG_0x003 + call_if 1, IslandCave_EventScript_238F45 + checkflag FLAG_SYS_BRAILLE_WAIT + goto_eq IslandCave_EventScript_238F13 + braillemessage IslandCave_Braille_2A6CD4 + setflag FLAG_0x002 + special ShouldDoBrailleRegicePuzzle + goto IslandCave_EventScript_238F41 + end + +IslandCave_EventScript_238F13:: @ 8238F13 + msgbox gUnknown_0827304E, 4 + releaseall + end + +IslandCave_EventScript_238F1D:: @ 8238F1D + lockall + checkflag FLAG_0x003 + call_if 1, IslandCave_EventScript_238F45 + braillemessage IslandCave_Braille_2A6CD4 + checkflag FLAG_SYS_BRAILLE_WAIT + goto_eq IslandCave_EventScript_238F41 + setflag FLAG_0x002 + special ShouldDoBrailleRegicePuzzle + goto IslandCave_EventScript_238F41 + end + +IslandCave_EventScript_238F41:: @ 8238F41 + waitbuttonpress + hidebox2 + releaseall + end + +IslandCave_EventScript_238F45:: @ 8238F45 + setvar VAR_0x403B, 0 + setvar VAR_0x403C, 0 + setvar VAR_0x403D, 0 + clearflag FLAG_0x003 + return + +IslandCave_EventScript_238F58:: @ 8238F58 + lock + faceplayer + waitse + playmoncry SPECIES_REGICE, 2 + delay 40 + waitmoncry + setwildbattle SPECIES_REGICE, 40, ITEM_NONE + setflag FLAG_SYS_CTRL_OBJ_DELETE + special StartRegiBattle + waitstate + clearflag FLAG_SYS_CTRL_OBJ_DELETE + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 1 + goto_eq IslandCave_EventScript_238F9F + compare VAR_RESULT, 4 + goto_eq IslandCave_EventScript_238FA8 + compare VAR_RESULT, 5 + goto_eq IslandCave_EventScript_238FA8 + setflag FLAG_0x1BC + release + end + +IslandCave_EventScript_238F9F:: @ 8238F9F + setflag FLAG_0x1BC + goto IslandCave_EventScript_27376D + end + +IslandCave_EventScript_238FA8:: @ 8238FA8 + setvar VAR_0x8004, 402 + goto IslandCave_EventScript_273776 + end diff --git a/data/scripts/maps/JaggedPass.inc b/data/scripts/maps/JaggedPass.inc new file mode 100644 index 0000000000..e5c3932211 --- /dev/null +++ b/data/scripts/maps/JaggedPass.inc @@ -0,0 +1,279 @@ +JaggedPass_MapScripts:: @ 8230656 + map_script 5, JaggedPass_MapScript1_230666 + map_script 3, JaggedPass_MapScript1_23068B + map_script 1, JaggedPass_MapScript1_23069C + .byte 0 + +JaggedPass_MapScript1_230666: @ 8230666 + setstepcallback 1 + compare VAR_0x40C8, 0 + call_if 1, JaggedPass_EventScript_230674 + end + +JaggedPass_EventScript_230674:: @ 8230674 + checkitem ITEM_MAGMA_EMBLEM, 1 + compare VAR_RESULT, 1 + goto_eq JaggedPass_EventScript_230685 + return + +JaggedPass_EventScript_230685:: @ 8230685 + setvar VAR_0x40C8, 1 + return + +JaggedPass_MapScript1_23068B: @ 823068B + compare VAR_0x40BD, 1 + call_if 1, JaggedPass_EventScript_230697 + end + +JaggedPass_EventScript_230697:: @ 8230697 + setweather 7 + doweather + return + +JaggedPass_MapScript1_23069C: @ 823069C + compare VAR_0x40C8, 1 + goto_if 3, JaggedPass_EventScript_2306A8 + end + +JaggedPass_EventScript_2306A8:: @ 82306A8 + setmetatile 16, 17, 628, 1 + setmetatile 16, 18, 628, 1 + end + +JaggedPass_EventScript_2306BB:: @ 82306BB + lockall + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 8 + setvar VAR_0x8007, 5 + special sub_8139560 + waitstate + msgbox JaggedPass_Text_230DBA, 4 + closemessage + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 16 + setvar VAR_0x8007, 3 + special sub_8139560 + waitstate + playse SE_KOUKA_M + setmetatile 16, 17, 598, 1 + setmetatile 16, 18, 606, 0 + special DrawWholeMapView + delay 30 + setvar VAR_0x40C8, 2 + waitse + releaseall + end + +JaggedPass_EventScript_230718:: @ 8230718 + lockall + checkflag FLAG_0x139 + goto_eq JaggedPass_EventScript_230766 + waitse + playse SE_PIN + applymovement 5, JaggedPass_Movement_272598 + waitmovement 0 + applymovement 5, JaggedPass_Movement_27259A + waitmovement 0 + applymovement 5, JaggedPass_Movement_27259E + waitmovement 0 + msgbox JaggedPass_Text_230CCB, 4 + closemessage + trainerbattle 3, TRAINER_GRUNT_30, 0, JaggedPass_Text_230D2D + setflag FLAG_0x139 + applymovement 5, JaggedPass_Movement_2725A2 + waitmovement 0 + releaseall + end + +JaggedPass_EventScript_230766:: @ 8230766 + applymovement 5, JaggedPass_Movement_27259E + waitmovement 0 + msgbox JaggedPass_Text_230D65, 4 + closemessage + applymovement 5, JaggedPass_Movement_2725A2 + waitmovement 0 + releaseall + end + +JaggedPass_EventScript_230785:: @ 8230785 + trainerbattle 0, TRAINER_ERIC, 0, JaggedPass_Text_230888, JaggedPass_Text_2308FF + msgbox JaggedPass_Text_230916, 6 + end + +JaggedPass_EventScript_23079C:: @ 823079C + trainerbattle 2, TRAINER_DIANA_1, 0, JaggedPass_Text_230974, JaggedPass_Text_2309B5, JaggedPass_EventScript_2307C8 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq JaggedPass_EventScript_2307E4 + msgbox JaggedPass_Text_2309D8, 4 + release + end + +JaggedPass_EventScript_2307C8:: @ 82307C8 + special sub_80B4808 + msgbox JaggedPass_Text_230A2C, 4 + setvar VAR_0x8004, 474 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 474 + callstd 8 + release + end + +JaggedPass_EventScript_2307E4:: @ 82307E4 + trainerbattle 5, TRAINER_DIANA_1, 0, JaggedPass_Text_230A76, JaggedPass_Text_230AAA + msgbox JaggedPass_Text_230AD7, 6 + end + +JaggedPass_EventScript_2307FB:: @ 82307FB + trainerbattle 2, TRAINER_ETHAN_1, 0, JaggedPass_Text_230B10, JaggedPass_Text_230B50, JaggedPass_EventScript_230827 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq JaggedPass_EventScript_230843 + msgbox JaggedPass_Text_230B93, 4 + release + end + +JaggedPass_EventScript_230827:: @ 8230827 + special sub_80B4808 + msgbox JaggedPass_Text_230BC6, 4 + setvar VAR_0x8004, 216 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 216 + callstd 8 + release + end + +JaggedPass_EventScript_230843:: @ 8230843 + trainerbattle 5, TRAINER_ETHAN_1, 0, JaggedPass_Text_230C28, JaggedPass_Text_230C60 + msgbox JaggedPass_Text_230C94, 6 + end + +JaggedPass_EventScript_23085A:: @ 823085A + trainerbattle 0, TRAINER_JULIO, 0, JaggedPass_Text_230DF7, JaggedPass_Text_230E38 + msgbox JaggedPass_Text_230E57, 6 + end + +JaggedPass_EventScript_230871:: @ 8230871 + trainerbattle 0, TRAINER_AUTUMN, 0, JaggedPass_Text_230E8E, JaggedPass_Text_230ECD + msgbox JaggedPass_Text_230EE3, 6 + end + +JaggedPass_Text_230888: @ 8230888 + .string "MT. CHIMNEY’s JAGGED PASS…\p" + .string "Now this is what I’ve always wanted\n" + .string "in a mountain.\p" + .string "This jagged bumpiness…\n" + .string "It rocks my soul!$" + +JaggedPass_Text_2308FF: @ 82308FF + .string "Losing left me bitter!$" + +JaggedPass_Text_230916: @ 8230916 + .string "Yes, I did lose at POKéMON…\p" + .string "But, when it comes to the love of\n" + .string "the mountains, I have you beat!$" + +JaggedPass_Text_230974: @ 8230974 + .string "This place isn’t your casual hike.\n" + .string "It’s not suited for a picnic.$" + +JaggedPass_Text_2309B5: @ 82309B5 + .string "Ohhh, no!\n" + .string "The ground is too bumpy…$" + +JaggedPass_Text_2309D8: @ 82309D8 + .string "Did you know?\p" + .string "Some people cleverly ride their\n" + .string "bicycles up this horribly bumpy pass.$" + +JaggedPass_Text_230A2C: @ 8230A2C + .string "Will you ever be back in this area?\n" + .string "If you do return, I’d like a rematch.$" + +JaggedPass_Text_230A76: @ 8230A76 + .string "Picnics are fun wherever you go.\n" + .string "Just like POKéMON!$" + +JaggedPass_Text_230AAA: @ 8230AAA + .string "I only lost because the ground is\n" + .string "too bumpy!$" + +JaggedPass_Text_230AD7: @ 8230AD7 + .string "I’ll forget about losing and just\n" + .string "enjoy this bumpy hike.$" + +JaggedPass_Text_230B10: @ 8230B10 + .string "JAGGED PASS is hard to walk on.\n" + .string "It’s a good place for training.$" + +JaggedPass_Text_230B50: @ 8230B50 + .string "It was all over while we were still\n" + .string "trying to find a good footing…$" + +JaggedPass_Text_230B93: @ 8230B93 + .string "If I had an ACRO BIKE, I’d be able to\n" + .string "jump ledges.$" + +JaggedPass_Text_230BC6: @ 8230BC6 + .string "When I get more used to this bumpiness,\n" + .string "I’ll be sure to win!\p" + .string "Can you register me in your POKéNAV?$" + +JaggedPass_Text_230C28: @ 8230C28 + .string "I got used to this bumpiness.\n" + .string "I sing while I climb now.$" + +JaggedPass_Text_230C60: @ 8230C60 + .string "It’s still not easy to battle on this\n" + .string "bumpy ground…$" + +JaggedPass_Text_230C94: @ 8230C94 + .string "I should get an ACRO BIKE from RYDEL\n" + .string "in MAUVILLE CITY…$" + +JaggedPass_Text_230CCB: @ 8230CCB + .string "Wah!\n" + .string "What are you doing here?\p" + .string "What am I doing in a place like this?\p" + .string "What business is it of yours?$" + +JaggedPass_Text_230D2D: @ 8230D2D + .string "Urrrgh…\p" + .string "I should’ve ducked into our HIDEOUT\n" + .string "right away…$" + +JaggedPass_Text_230D65: @ 8230D65 + .string "Okay, oh-kay!\n" + .string "I admit it--you’re strong!\p" + .string "Don’t worry about me.\n" + .string "Go wherever you want!$" + +JaggedPass_Text_230DBA: @ 8230DBA + .string "Oh! This boulder is shaking in response\n" + .string "to the MAGMA EMBLEM!$" + +JaggedPass_Text_230DF7: @ 8230DF7 + .string "Aiyeeh! It’s awfully scary to shoot\n" + .string "down the mountain in one go!$" + +JaggedPass_Text_230E38: @ 8230E38 + .string "I feel like I’m falling apart…$" + +JaggedPass_Text_230E57: @ 8230E57 + .string "My bicycle bounced around so much,\n" + .string "my rear end’s sore…$" + +JaggedPass_Text_230E8E: @ 8230E8E + .string "I climb this hill every day.\n" + .string "I have confidence in my strength!$" + +JaggedPass_Text_230ECD: @ 8230ECD + .string "Hmm…\n" + .string "What went wrong?$" + +JaggedPass_Text_230EE3: @ 8230EE3 + .string "What is that odd rock protrusion\n" + .string "a little up the hill from here?$" + diff --git a/data/scripts/maps/LavaridgeTown.inc b/data/scripts/maps/LavaridgeTown.inc new file mode 100644 index 0000000000..0631a5d33d --- /dev/null +++ b/data/scripts/maps/LavaridgeTown.inc @@ -0,0 +1,425 @@ +LavaridgeTown_MapScripts:: @ 81EA4D3 + map_script 3, LavaridgeTown_MapScript1_1EA4DE + map_script 2, LavaridgeTown_MapScript2_1EA547 + .byte 0 + +LavaridgeTown_MapScript1_1EA4DE: @ 81EA4DE + setflag FLAG_VISITED_LAVARIDGE_TOWN + checkflag FLAG_0x06C + call_if 1, LavaridgeTown_EventScript_1EA514 + checkflag FLAG_0x08B + call_if 1, LavaridgeTown_EventScript_1EA53F + call LavaridgeTown_EventScript_271ED7 + call LavaridgeTown_EventScript_271EFB + compare VAR_0x4053, 1 + call_if 1, LavaridgeTown_EventScript_1EA518 + compare VAR_0x4053, 1 + call_if 1, LavaridgeTown_EventScript_1EA543 + end + +LavaridgeTown_EventScript_1EA514:: @ 81EA514 + clearflag FLAG_0x06C + return + +LavaridgeTown_EventScript_1EA518:: @ 81EA518 + getplayerxy VAR_0x8004, VAR_0x8005 + compare VAR_0x8004, 9 + goto_eq LavaridgeTown_EventScript_1EA529 + return + +LavaridgeTown_EventScript_1EA529:: @ 81EA529 + setobjectxyperm 8, 11, 9 + setobjectxyperm 7, 9, 8 + setobjectmovementtype 7, 7 + clearflag FLAG_0x3A1 + return + +LavaridgeTown_EventScript_1EA53F:: @ 81EA53F + clearflag FLAG_0x36D + return + +LavaridgeTown_EventScript_1EA543:: @ 81EA543 + setflag FLAG_SPECIAL_FLAG_0x4000 + return + +LavaridgeTown_MapScript2_1EA547: @ 81EA547 + map_script_2 VAR_0x4053, 1, LavaridgeTown_EventScript_1EA551 + .2byte 0 + +LavaridgeTown_EventScript_1EA551:: @ 81EA551 + lockall + getplayerxy VAR_0x8008, VAR_0x8009 + compare VAR_0x8008, 9 + call_if 1, LavaridgeTown_EventScript_1EA63A + compare VAR_0x8008, 9 + call_if 5, LavaridgeTown_EventScript_1EA65C + delay 20 + checkplayergender + compare VAR_RESULT, 0 + call_if 1, LavaridgeTown_EventScript_1EA630 + compare VAR_RESULT, 1 + call_if 1, LavaridgeTown_EventScript_1EA635 + compare VAR_0x8008, 9 + call_if 1, LavaridgeTown_EventScript_1EA6A1 + compare VAR_0x8008, 9 + call_if 5, LavaridgeTown_EventScript_1EA6AC + checkplayergender + compare VAR_RESULT, 0 + goto_eq LavaridgeTown_EventScript_1EA5B5 + compare VAR_RESULT, 1 + goto_eq LavaridgeTown_EventScript_1EA5DA + end + +LavaridgeTown_EventScript_1EA5B5:: @ 81EA5B5 + msgbox LavaridgeTown_Text_1EA7C0, 4 + giveitem_std ITEM_GO_GOGGLES + setflag FLAG_0x0DD + msgbox LavaridgeTown_Text_1EA897, 4 + goto LavaridgeTown_EventScript_1EA5FF + end + +LavaridgeTown_EventScript_1EA5DA:: @ 81EA5DA + msgbox LavaridgeTown_Text_1EA9A2, 4 + giveitem_std ITEM_GO_GOGGLES + setflag FLAG_0x0DD + msgbox LavaridgeTown_Text_1EAA2E, 4 + goto LavaridgeTown_EventScript_1EA5FF + end + +LavaridgeTown_EventScript_1EA5FF:: @ 81EA5FF + closemessage + removeobject 8 + addobject 7 + delay 30 + compare VAR_0x8008, 9 + call_if 1, LavaridgeTown_EventScript_1EA6B7 + compare VAR_0x8008, 9 + call_if 5, LavaridgeTown_EventScript_1EA6C9 + removeobject 7 + setvar VAR_0x4053, 2 + clearflag FLAG_SPECIAL_FLAG_0x4000 + savebgm MUS_DUMMY + fadedefaultbgm + releaseall + end + +LavaridgeTown_EventScript_1EA630:: @ 81EA630 + playbgm MUS_GIRL_SUP, 1 + return + +LavaridgeTown_EventScript_1EA635:: @ 81EA635 + playbgm MUS_BOY_SUP, 1 + return + +LavaridgeTown_EventScript_1EA63A:: @ 81EA63A + applymovement 8, LavaridgeTown_Movement_2725A6 + waitmovement 0 + playse SE_PIN + applymovement 8, LavaridgeTown_Movement_272598 + waitmovement 0 + applymovement 8, LavaridgeTown_Movement_27259A + waitmovement 0 + return + +LavaridgeTown_EventScript_1EA65C:: @ 81EA65C + opendoor 12, 15 + waitdooranim + addobject 8 + applymovement 8, LavaridgeTown_Movement_1EA6F8 + waitmovement 0 + closedoor 12, 15 + waitdooranim + applymovement 8, LavaridgeTown_Movement_2725A4 + waitmovement 0 + playse SE_PIN + applymovement 8, LavaridgeTown_Movement_272598 + waitmovement 0 + applymovement 8, LavaridgeTown_Movement_27259A + waitmovement 0 + applymovement 255, LavaridgeTown_Movement_2725A8 + waitmovement 0 + return + +LavaridgeTown_EventScript_1EA6A1:: @ 81EA6A1 + applymovement 8, LavaridgeTown_Movement_1EA6F4 + waitmovement 0 + return + +LavaridgeTown_EventScript_1EA6AC:: @ 81EA6AC + applymovement 8, LavaridgeTown_Movement_1EA6ED + waitmovement 0 + return + +LavaridgeTown_EventScript_1EA6B7:: @ 81EA6B7 + applymovement 255, LavaridgeTown_Movement_1EA6DF + applymovement 7, LavaridgeTown_Movement_1EA6E3 + waitmovement 0 + return + +LavaridgeTown_EventScript_1EA6C9:: @ 81EA6C9 + applymovement 7, LavaridgeTown_Movement_1EA6D4 + waitmovement 0 + return + +LavaridgeTown_Movement_1EA6D4: @ 81EA6D4 + step_18 + step_18 + step_18 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_end + +LavaridgeTown_Movement_1EA6DF: @ 81EA6DF + step_14 + step_13 + step_28 + step_end + +LavaridgeTown_Movement_1EA6E3: @ 81EA6E3 + step_15 + step_18 + step_18 + step_18 + step_18 + step_18 + step_18 + step_18 + step_18 + step_end + +LavaridgeTown_Movement_1EA6ED: @ 81EA6ED + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +LavaridgeTown_Movement_1EA6F4: @ 81EA6F4 + step_left + step_left + step_up + step_end + +LavaridgeTown_Movement_1EA6F8: @ 81EA6F8 + step_down + step_end + +LavaridgeTown_EventScript_1EA6FA:: @ 81EA6FA + specialvar VAR_RESULT, player_get_direction_lower_nybble + compare VAR_RESULT, 1 + goto_eq LavaridgeTown_EventScript_1EA70B + end + +LavaridgeTown_EventScript_1EA70B:: @ 81EA70B + incrementgamestat 49 + end + +LavaridgeTown_EventScript_1EA70E:: @ 81EA70E + msgbox LavaridgeTown_Text_1EAE03, 2 + end + +LavaridgeTown_EventScript_1EA717:: @ 81EA717 + msgbox LavaridgeTown_Text_1EAEE1, 3 + end + +LavaridgeTown_EventScript_1EA720:: @ 81EA720 + msgbox LavaridgeTown_Text_1EAF9B, 2 + end + +LavaridgeTown_EventScript_1EA729:: @ 81EA729 + msgbox LavaridgeTown_Text_1EB003, 2 + end + +LavaridgeTown_EventScript_1EA732:: @ 81EA732 + msgbox LavaridgeTown_Text_1EB092, 2 + end + +LavaridgeTown_EventScript_1EA73B:: @ 81EA73B + msgbox LavaridgeTown_Text_1EAF4E, 2 + end + +LavaridgeTown_EventScript_1EA744:: @ 81EA744 + lock + faceplayer + checkflag FLAG_0x10A + goto_eq LavaridgeTown_EventScript_1EA787 + msgbox LavaridgeTown_Text_1EAB80, 5 + compare VAR_RESULT, 0 + goto_eq LavaridgeTown_EventScript_1EA79B + getpartysize + compare VAR_RESULT, 6 + goto_eq LavaridgeTown_EventScript_1EA791 + msgbox LavaridgeTown_Text_1EACC0, 4 + setflag FLAG_0x10A + playfanfare MUS_FANFA4 + message LavaridgeTown_Text_1EACF4 + waitfanfare + giveegg SPECIES_WYNAUT + release + end + +LavaridgeTown_EventScript_1EA787:: @ 81EA787 + msgbox LavaridgeTown_Text_1EAD9E, 4 + release + end + +LavaridgeTown_EventScript_1EA791:: @ 81EA791 + msgbox LavaridgeTown_Text_1EAD09, 4 + release + end + +LavaridgeTown_EventScript_1EA79B:: @ 81EA79B + msgbox LavaridgeTown_Text_1EAD44, 4 + release + end + +LavaridgeTown_EventScript_1EA7A5:: @ 81EA7A5 + msgbox LavaridgeTown_Text_1EB12B, 3 + end + +LavaridgeTown_EventScript_1EA7AE:: @ 81EA7AE + msgbox LavaridgeTown_Text_1EB178, 3 + end + +LavaridgeTown_EventScript_1EA7B7:: @ 81EA7B7 + msgbox LavaridgeTown_Text_1EB1CB, 3 + end + +LavaridgeTown_Text_1EA7C0: @ 81EA7C0 + .string "MAY: {PLAYER}{KUN}! Long time no see!\p" + .string "Oh? While I visited the hot springs,\n" + .string "you got the LAVARIDGE GYM BADGE.\p" + .string "You must have collected\n" + .string "good POKéMON…\l" + .string "No, I believe you raised some.\p" + .string "I guess it would be okay for you to\n" + .string "have this.$" + +LavaridgeTown_Text_1EA897: @ 81EA897 + .string "MAY: With those GO-GOGGLES, you’ll\n" + .string "have no trouble getting through the\l" + .string "desert near ROUTE 111.\p" + .string "But, wow, {PLAYER}{KUN}…\n" + .string "Challenging GYMS…\p" + .string "You’re trying hard because you don’t\n" + .string "want to lose to me, I bet!\p" + .string "{PLAYER}{KUN}, I think I should challenge\n" + .string "your dad in PETALBURG GYM.\p" + .string "See you again!$" + +LavaridgeTown_Text_1EA9A2: @ 81EA9A2 + .string "BRENDAN: {PLAYER}, hey, it’s been a while.\n" + .string "How’s it going?\p" + .string "Hmm…\n" + .string "That’s a decent collection of BADGES.\p" + .string "All right, then.\n" + .string "You may as well have this.$" + +LavaridgeTown_Text_1EAA2E: @ 81EAA2E + .string "BRENDAN: Keep those with you if you’re\n" + .string "planning on going into that desert near\l" + .string "ROUTE 111.\p" + .string "There should be some POKéMON that\n" + .string "are exclusively desert-dwellers.\l" + .string "You might look around for those.\p" + .string "As for me…\n" + .string "I’m considering challenging NORMAN,\l" + .string "the GYM LEADER of PETALBURG.\p" + .string "Unlike you, {PLAYER}, your dad looks like\n" + .string "he really is tough.\p" + .string "See you around!$" + +LavaridgeTown_Text_1EAB80: @ 81EAB80 + .string "I have here an EGG.\p" + .string "I’d hoped to hatch it by covering it in\n" + .string "hot sand by the hot springs.\l" + .string "But that doesn’t seem to be enough…\p" + .string "I’ve heard it would be best if it were\n" + .string "kept together with POKéMON and\l" + .string "carried about.\p" + .string "You are a TRAINER, yes?\n" + .string "And your POKéMON radiate vitality.\p" + .string "So, what say you?\n" + .string "Will you take this EGG to hatch?$" + +LavaridgeTown_Text_1EACC0: @ 81EACC0 + .string "Good! I hope you’ll walk plenty with\n" + .string "this here EGG!$" + +LavaridgeTown_Text_1EACF4: @ 81EACF4 + .string "{PLAYER} received the EGG.$" + +LavaridgeTown_Text_1EAD09: @ 81EAD09 + .string "Oh? You’ve too many POKéMON.\n" + .string "There’s no room for this EGG…$" + +LavaridgeTown_Text_1EAD44: @ 81EAD44 + .string "As you wish, then…\p" + .string "If you have a change of heart about\n" + .string "hatching this EGG, I will be here.$" + +LavaridgeTown_Text_1EAD9E: @ 81EAD9E + .string "Every so often, an EGG will be found at\n" + .string "the POKéMON DAY CARE.\p" + .string "Or at least that’s how the rumor goes.$" + +LavaridgeTown_Text_1EAE03: @ 81EAE03 + .string "We draw as much hot water as we need,\n" + .string "and yet the hot springs never run dry.\p" + .string "Isn’t it magical?\p" + .string "These hot springs appear near active\n" + .string "volcanoes. Veins of water under the\l" + .string "ground are heated by magma to well up\l" + .string "as hot springs.$" + +LavaridgeTown_Text_1EAEE1: @ 81EAEE1 + .string "Being buried in this hot sand is…\n" + .string "Sigh…\p" + .string "So warm and heavenly…\p" + .string "Eh? Gyaah! Ouch!\p" + .string "A POKéMON nipped my backside!$" + +LavaridgeTown_Text_1EAF4E: @ 81EAF4E + .string "Oh, you like hot springs, do you?\p" + .string "That’s surprising for one as young\n" + .string "as you.$" + +LavaridgeTown_Text_1EAF9B: @ 81EAF9B + .string "I bathe in the hot springs every day.\p" + .string "I want to become a beautiful and strong\n" + .string "GYM LEADER like FLANNERY.$" + +LavaridgeTown_Text_1EB003: @ 81EB003 + .string "If people put POKéMON in hot springs,\n" + .string "it might be seriously strange.\p" + .string "Why, it might be an electric bath, or\n" + .string "a bubble bath, or even a lava bath…$" + +LavaridgeTown_Text_1EB092: @ 81EB092 + .string "They’re claiming that these hot springs\n" + .string "are good for calming nervous tension,\l" + .string "relieving aching muscles, solving\l" + .string "romantic problems, and attracting\l" + .string "money…$" + +LavaridgeTown_Text_1EB12B: @ 81EB12B + .string "LAVARIDGE TOWN\p" + .string "“POKéMON CENTER HOT SPRINGS\n" + .string "An excellent place for relaxing!”$" + +LavaridgeTown_Text_1EB178: @ 81EB178 + .string "LAVARIDGE TOWN POKéMON GYM\n" + .string "LEADER: FLANNERY\l" + .string "“One with a fiery passion that burns!”$" + +LavaridgeTown_Text_1EB1CB: @ 81EB1CB + .string "POKéMON HERB SHOP\n" + .string "“Bitter taste--better cure!”$" + diff --git a/data/scripts/maps/LavaridgeTown_Gym_1F.inc b/data/scripts/maps/LavaridgeTown_Gym_1F.inc new file mode 100644 index 0000000000..cd34c3d812 --- /dev/null +++ b/data/scripts/maps/LavaridgeTown_Gym_1F.inc @@ -0,0 +1,424 @@ +LavaridgeTown_Gym_1F_MapScripts:: @ 81FE6F4 + map_script 3, LavaridgeTown_Gym_1F_MapScript1_1FE6FA + .byte 0 + +LavaridgeTown_Gym_1F_MapScript1_1FE6FA: @ 81FE6FA + call LavaridgeTown_Gym_1F_EventScript_1FE705 + call LavaridgeTown_Gym_1F_EventScript_1FE757 + end + +LavaridgeTown_Gym_1F_EventScript_1FE705:: @ 81FE705 + setvar VAR_0x400B, 0 + setvar VAR_0x400C, 0 + setvar VAR_0x400D, 0 + setvar VAR_0x400E, 0 + setvar VAR_0x400F, 0 + checktrainerflag TRAINER_COLE + goto_eq LavaridgeTown_Gym_1F_EventScript_1FE72C + setvar VAR_0x400B, 1 + +LavaridgeTown_Gym_1F_EventScript_1FE72C:: @ 81FE72C + checktrainerflag TRAINER_GERALD + goto_eq LavaridgeTown_Gym_1F_EventScript_1FE73A + setvar VAR_0x400C, 1 + +LavaridgeTown_Gym_1F_EventScript_1FE73A:: @ 81FE73A + checktrainerflag TRAINER_AXLE + goto_eq LavaridgeTown_Gym_1F_EventScript_1FE748 + setvar VAR_0x400D, 1 + +LavaridgeTown_Gym_1F_EventScript_1FE748:: @ 81FE748 + checktrainerflag TRAINER_DANIELLE + goto_eq LavaridgeTown_Gym_1F_EventScript_1FE756 + setvar VAR_0x400E, 1 + +LavaridgeTown_Gym_1F_EventScript_1FE756:: @ 81FE756 + return + +LavaridgeTown_Gym_1F_EventScript_1FE757:: @ 81FE757 + checktrainerflag TRAINER_COLE + goto_eq LavaridgeTown_Gym_1F_EventScript_1FE764 + setobjectmovementtype 2, 63 + +LavaridgeTown_Gym_1F_EventScript_1FE764:: @ 81FE764 + checktrainerflag TRAINER_GERALD + goto_eq LavaridgeTown_Gym_1F_EventScript_1FE771 + setobjectmovementtype 3, 63 + +LavaridgeTown_Gym_1F_EventScript_1FE771:: @ 81FE771 + checktrainerflag TRAINER_AXLE + goto_eq LavaridgeTown_Gym_1F_EventScript_1FE77E + setobjectmovementtype 4, 63 + +LavaridgeTown_Gym_1F_EventScript_1FE77E:: @ 81FE77E + checktrainerflag TRAINER_DANIELLE + goto_eq LavaridgeTown_Gym_1F_EventScript_1FE78B + setobjectmovementtype 5, 63 + +LavaridgeTown_Gym_1F_EventScript_1FE78B:: @ 81FE78B + return + +LavaridgeTown_Gym_1F_EventScript_1FE78C:: @ 81FE78C + trainerbattle 1, TRAINER_FLANNERY_1, 0, LavaridgeTown_Gym_1F_Text_1FF0DC, LavaridgeTown_Gym_1F_Text_1FF233, LavaridgeTown_Gym_1F_EventScript_1FE7C1 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq LavaridgeTown_Gym_1F_EventScript_1FE864 + checkflag FLAG_0x0A8 + goto_if 0, LavaridgeTown_Gym_1F_EventScript_1FE81D + msgbox LavaridgeTown_Gym_1F_Text_1FF546, 4 + release + end + +LavaridgeTown_Gym_1F_EventScript_1FE7C1:: @ 81FE7C1 + message LavaridgeTown_Gym_1F_Text_1FF32F + waitmessage + call LavaridgeTown_Gym_1F_EventScript_27207E + msgbox LavaridgeTown_Gym_1F_Text_1FF359, 4 + setflag FLAG_0x06C + setflag FLAG_0x4F3 + setflag FLAG_BADGE04_GET + addvar VAR_0x4085, 1 + compare VAR_0x4085, 6 + call_if 1, LavaridgeTown_Gym_1F_EventScript_271E84 + setvar VAR_0x8008, 4 + call LavaridgeTown_Gym_1F_EventScript_271F43 + setflag FLAG_0x326 + setvar VAR_0x4053, 1 + call LavaridgeTown_Gym_1F_EventScript_1FE841 + closemessage + delay 30 + playfanfare MUS_ME_TORE_EYE + msgbox LavaridgeTown_Gym_1F_Text_1FF517, 4 + waitfanfare + closemessage + delay 30 + setflag FLAG_0x1D6 + release + end + +LavaridgeTown_Gym_1F_EventScript_1FE81D:: @ 81FE81D + giveitem_std ITEM_TM50 + compare VAR_RESULT, 0 + goto_eq LavaridgeTown_Gym_1F_EventScript_272054 + msgbox LavaridgeTown_Gym_1F_Text_1FF45C, 4 + setflag FLAG_0x0A8 + release + end + +LavaridgeTown_Gym_1F_EventScript_1FE841:: @ 81FE841 + giveitem_std ITEM_TM50 + compare VAR_RESULT, 0 + goto_eq LavaridgeTown_Gym_1F_EventScript_27205E + msgbox LavaridgeTown_Gym_1F_Text_1FF45C, 4 + setflag FLAG_0x0A8 + return + +LavaridgeTown_Gym_1F_EventScript_1FE864:: @ 81FE864 + trainerbattle 7, TRAINER_FLANNERY_1, 0, LavaridgeTown_Gym_1F_Text_1FF601, LavaridgeTown_Gym_1F_Text_1FF69F, LavaridgeTown_Gym_1F_Text_1FF75E + msgbox LavaridgeTown_Gym_1F_Text_1FF6BF, 6 + end + +LavaridgeTown_Gym_1F_EventScript_1FE87F:: @ 81FE87F + trainerbattle 2, TRAINER_COLE, 2, LavaridgeTown_Gym_1F_Text_1FEADE, LavaridgeTown_Gym_1F_Text_1FEAFB, LavaridgeTown_Gym_1F_EventScript_1FE89A + msgbox LavaridgeTown_Gym_1F_Text_1FEB1C, 6 + end + +LavaridgeTown_Gym_1F_EventScript_1FE89A:: @ 81FE89A +LavaridgeTown_Gym_B1F_EventScript_1FE89A:: @ 81FE89A + call LavaridgeTown_Gym_1F_EventScript_1FE705 + release + special ShouldTryGetTrainerScript + compare VAR_RESULT, 1 + goto_eq EventScript_GotoTrainerScript + end + +LavaridgeTown_Gym_1F_EventScript_1FE8AF:: @ 81FE8AF + trainerbattle 2, TRAINER_AXLE, 4, LavaridgeTown_Gym_1F_Text_1FEB7B, LavaridgeTown_Gym_1F_Text_1FEBC0, LavaridgeTown_Gym_1F_EventScript_1FE89A + msgbox LavaridgeTown_Gym_1F_Text_1FEBE1, 6 + end + +LavaridgeTown_Gym_B1F_EventScript_1FE8CA:: @ 81FE8CA + trainerbattle 2, TRAINER_KEEGAN, 2, LavaridgeTown_Gym_B1F_Text_1FEC31, LavaridgeTown_Gym_B1F_Text_1FECE3, LavaridgeTown_Gym_B1F_EventScript_1FE89A + msgbox LavaridgeTown_Gym_B1F_Text_1FED02, 6 + end + +LavaridgeTown_Gym_1F_EventScript_1FE8E5:: @ 81FE8E5 + trainerbattle 2, TRAINER_DANIELLE, 5, LavaridgeTown_Gym_1F_Text_1FEE22, LavaridgeTown_Gym_1F_Text_1FEE42, LavaridgeTown_Gym_1F_EventScript_1FE89A + msgbox LavaridgeTown_Gym_1F_Text_1FEE5D, 6 + end + +LavaridgeTown_Gym_1F_EventScript_1FE900:: @ 81FE900 + trainerbattle 2, TRAINER_GERALD, 3, LavaridgeTown_Gym_1F_Text_1FED72, LavaridgeTown_Gym_1F_Text_1FED9E, LavaridgeTown_Gym_1F_EventScript_1FE89A + msgbox LavaridgeTown_Gym_1F_Text_1FEDBB, 6 + end + +LavaridgeTown_Gym_B1F_EventScript_1FE91B:: @ 81FE91B + trainerbattle 2, TRAINER_JACE, 1, LavaridgeTown_Gym_B1F_Text_1FEE9D, LavaridgeTown_Gym_B1F_Text_1FEED5, LavaridgeTown_Gym_B1F_EventScript_1FE89A + msgbox LavaridgeTown_Gym_B1F_Text_1FEF07, 6 + end + +LavaridgeTown_Gym_B1F_EventScript_1FE936:: @ 81FE936 + trainerbattle 2, TRAINER_JEFF, 3, LavaridgeTown_Gym_B1F_Text_1FEF60, LavaridgeTown_Gym_B1F_Text_1FEFA7, LavaridgeTown_Gym_B1F_EventScript_1FE89A + msgbox LavaridgeTown_Gym_B1F_Text_1FEFC2, 6 + end + +LavaridgeTown_Gym_B1F_EventScript_1FE951:: @ 81FE951 + trainerbattle 2, TRAINER_ELI, 4, LavaridgeTown_Gym_B1F_Text_1FF025, LavaridgeTown_Gym_B1F_Text_1FF05F, LavaridgeTown_Gym_B1F_EventScript_1FE89A + msgbox LavaridgeTown_Gym_B1F_Text_1FF09A, 6 + end + +LavaridgeTown_Gym_1F_EventScript_1FE96C:: @ 81FE96C + lock + faceplayer + checkflag FLAG_0x4F3 + goto_eq LavaridgeTown_Gym_1F_EventScript_1FE981 + msgbox LavaridgeTown_Gym_1F_Text_1FE9BF, 4 + release + end + +LavaridgeTown_Gym_1F_EventScript_1FE981:: @ 81FE981 + msgbox LavaridgeTown_Gym_1F_Text_1FEAB8, 4 + release + end + +LavaridgeTown_Gym_1F_EventScript_1FE98B:: @ 81FE98B + lockall + checkflag FLAG_BADGE04_GET + goto_eq LavaridgeTown_Gym_1F_EventScript_1FE9AB + goto LavaridgeTown_Gym_1F_EventScript_1FE9B5 + end + +LavaridgeTown_Gym_1F_EventScript_1FE99B:: @ 81FE99B + lockall + checkflag FLAG_BADGE04_GET + goto_eq LavaridgeTown_Gym_1F_EventScript_1FE9AB + goto LavaridgeTown_Gym_1F_EventScript_1FE9B5 + end + +LavaridgeTown_Gym_1F_EventScript_1FE9AB:: @ 81FE9AB + msgbox LavaridgeTown_Gym_1F_Text_1FF5C4, 4 + releaseall + end + +LavaridgeTown_Gym_1F_EventScript_1FE9B5:: @ 81FE9B5 + msgbox LavaridgeTown_Gym_1F_Text_1FF5A9, 4 + releaseall + end + +LavaridgeTown_Gym_1F_Text_1FE9BF: @ 81FE9BF + .string "Hey, how’s it going, CHAMPION-\n" + .string "bound {PLAYER}?\p" + .string "LAVARIDGE’s GYM LEADER FLANNERY\n" + .string "uses FIRE-type POKéMON.\p" + .string "Her passion for POKéMON burns stronger\n" + .string "and hotter than a volcano.\p" + .string "Don’t get too close to her--you’ll burn!\n" + .string "Hose her down with water and then\l" + .string "go for it!$" + +LavaridgeTown_Gym_1F_Text_1FEAB8: @ 81FEAB8 + .string "Yow! That was a scorching-hot battle!$" + +LavaridgeTown_Gym_1F_Text_1FEADE: @ 81FEADE + .string "Owowowowow!\n" + .string "Yikes, it’s hot!$" + +LavaridgeTown_Gym_1F_Text_1FEAFB: @ 81FEAFB + .string "I’m blinded by sweat in my eyes…$" + +LavaridgeTown_Gym_1F_Text_1FEB1C: @ 81FEB1C + .string "Being buried in hot sand promotes\n" + .string "circulation.\p" + .string "It’s effective for healing pain in\n" + .string "your joints.$" + +LavaridgeTown_Gym_1F_Text_1FEB7B: @ 81FEB7B + .string "I’m trying to relieve my stress.\n" + .string "Don’t come along and stress me out!$" + +LavaridgeTown_Gym_1F_Text_1FEBC0: @ 81FEBC0 + .string "I hope FLANNERY flames you good!$" + +LavaridgeTown_Gym_1F_Text_1FEBE1: @ 81FEBE1 + .string "Haaah… Whew…\p" + .string "If you spend too much time buried in\n" + .string "hot sand, it tuckers you out…$" + +LavaridgeTown_Gym_B1F_Text_1FEC31: @ 81FEC31 + .string "You must be getting tired by now.\n" + .string "You’d like to rest in the hot sand,\l" + .string "wouldn’t you?\p" + .string "But you should know that maintaining\n" + .string "your willpower is an important ability\l" + .string "for all TRAINERS.$" + +LavaridgeTown_Gym_B1F_Text_1FECE3: @ 81FECE3 + .string "Play with fire, and be burned…$" + +LavaridgeTown_Gym_B1F_Text_1FED02: @ 81FED02 + .string "Your skill is real…\n" + .string "But our LEADER FLANNERY is strong.\p" + .string "If you don’t watch yourself, you’ll be\n" + .string "burned seriously.$" + +LavaridgeTown_Gym_1F_Text_1FED72: @ 81FED72 + .string "Can your POKéMON withstand\n" + .string "392-degree heat?$" + +LavaridgeTown_Gym_1F_Text_1FED9E: @ 81FED9E + .string "It didn’t burn hotly enough…$" + +LavaridgeTown_Gym_1F_Text_1FEDBB: @ 81FEDBB + .string "The temperature of magma is\n" + .string "392 degrees.\p" + .string "Your POKéMON beat me, so they should\n" + .string "easily survive in magma.$" + +LavaridgeTown_Gym_1F_Text_1FEE22: @ 81FEE22 + .string "Um…\n" + .string "Okay, I’ll battle with you.$" + +LavaridgeTown_Gym_1F_Text_1FEE42: @ 81FEE42 + .string "Oh, but you’re too strong.$" + +LavaridgeTown_Gym_1F_Text_1FEE5D: @ 81FEE5D + .string "I’m going to be a pretty and strong\n" + .string "TRAINER just like FLANNERY.$" + +LavaridgeTown_Gym_B1F_Text_1FEE9D: @ 81FEE9D + .string "Come on, get with it!\n" + .string "Let’s go before my feelings cool!$" + +LavaridgeTown_Gym_B1F_Text_1FEED5: @ 81FEED5 + .string "It’s so hot, and yet my heart is\n" + .string "clutched by ice…$" + +LavaridgeTown_Gym_B1F_Text_1FEF07: @ 81FEF07 + .string "The way the battling spirit burns\n" + .string "within you, you may stand a chance\l" + .string "against our LEADER.$" + +LavaridgeTown_Gym_B1F_Text_1FEF60: @ 81FEF60 + .string "See how the flames blaze wildly?\n" + .string "They flare in anticipation of my win!$" + +LavaridgeTown_Gym_B1F_Text_1FEFA7: @ 81FEFA7 + .string "Something didn’t go right.$" + +LavaridgeTown_Gym_B1F_Text_1FEFC2: @ 81FEFC2 + .string "Well, so what? I say so what?\n" + .string "I can walk on hot coals barefoot!\p" + .string "…Don’t even think about trying it!$" + +LavaridgeTown_Gym_B1F_Text_1FF025: @ 81FF025 + .string "As much as I love mountains,\n" + .string "I especially love volcanoes.$" + +LavaridgeTown_Gym_B1F_Text_1FF05F: @ 81FF05F + .string "Well, it seems to me I lost without\n" + .string "ever being in control.$" + +LavaridgeTown_Gym_B1F_Text_1FF09A: @ 81FF09A + .string "I stay here because I became a fan\n" + .string "of FLANNERY’s power.\p" + .string "Hehehehe.$" + +LavaridgeTown_Gym_1F_Text_1FF0DC: @ 81FF0DC + .string "Welcome… No, wait.\p" + .string "Puny TRAINER, how good to see you’ve\n" + .string "made it here!\p" + .string "I have been entrusted with the…\n" + .string "No, wait.\p" + .string "I am FLANNERY, and I’m the GYM\n" + .string "LEADER here!\p" + .string "Uh…\n" + .string "Dare not underestimate me, though\l" + .string "I have been LEADER only a short time!\p" + .string "With skills inherited from my grand-\n" + .string "father, I shall, uh…demonstrate the\l" + .string "hot moves we have honed on this land!$" + +LavaridgeTown_Gym_1F_Text_1FF233: @ 81FF233 + .string "Oh…\n" + .string "I guess I was trying too hard…\p" + .string "I… I’ve only recently become\n" + .string "a GYM LEADER.\p" + .string "I tried too hard to be someone\n" + .string "I’m not.\p" + .string "I have to do things my natural way. If\n" + .string "I don’t, my POKéMON will be confused.\p" + .string "Thanks for teaching me that.\n" + .string "For that, you deserve this.$" + +LavaridgeTown_Gym_1F_Text_1FF32F: @ 81FF32F + .string "{PLAYER} received the HEAT BADGE\n" + .string "from FLANNERY.$" + +LavaridgeTown_Gym_1F_Text_1FF359: @ 81FF359 + .string "If you have a HEAT BADGE, all POKéMON\n" + .string "up to Level 50, even those you get in\l" + .string "trades from other people, will obey\l" + .string "you completely.\p" + .string "And, it lets POKéMON use the HM move\n" + .string "STRENGTH outside of battle.\p" + .string "This is a token of my appreciation.\n" + .string "Don’t be shy about taking it!$" + +LavaridgeTown_Gym_1F_Text_1FF45C: @ 81FF45C + .string "That TM50 contains OVERHEAT.\p" + .string "That move inflicts serious damage on\n" + .string "the opponent.\p" + .string "But it also sharply cuts the SP. ATK\n" + .string "of the POKéMON using it. It might not\l" + .string "be suitable for longer battles.$" + +LavaridgeTown_Gym_1F_Text_1FF517: @ 81FF517 + .string "Registered GYM LEADER FLANNERY\n" + .string "in the POKéNAV.$" + +LavaridgeTown_Gym_1F_Text_1FF546: @ 81FF546 + .string "Your power reminds me of someone…\p" + .string "Oh! I know! You battle like NORMAN,\n" + .string "the GYM LEADER of PETALBURG.$" + +LavaridgeTown_Gym_1F_Text_1FF5A9: @ 81FF5A9 + .string "LAVARIDGE TOWN POKéMON GYM$" + +LavaridgeTown_Gym_1F_Text_1FF5C4: @ 81FF5C4 + .string "LAVARIDGE TOWN POKéMON GYM\p" + .string "FLANNERY’S CERTIFIED TRAINERS:\n" + .string "{PLAYER}$" + +LavaridgeTown_Gym_1F_Text_1FF601: @ 81FF601 + .string "FLANNERY: Losing a battle isn’t going\n" + .string "to deflate me.\p" + .string "I love POKéMON.\n" + .string "I love to battle.\l" + .string "And… I love this GYM!\p" + .string "Let’s exchange superhot moves\n" + .string "in another battle!$" + +LavaridgeTown_Gym_1F_Text_1FF69F: @ 81FF69F + .string "Whew!\n" + .string "On the verge of eruption!$" + +LavaridgeTown_Gym_1F_Text_1FF6BF: @ 81FF6BF + .string "FLANNERY: I lost the match,\n" + .string "but I’m completely satisfied.\p" + .string "It’s not often I get to enjoy a battle\n" + .string "this heated.\p" + .string "Let’s have another one like this\n" + .string "again sometime!$" + +LavaridgeTown_Gym_1F_Text_1FF75E: @ 81FF75E + .string "FLANNERY: Losing a battle isn’t going\n" + .string "to deflate me.\p" + .string "I love POKéMON.\n" + .string "I love to battle.\l" + .string "And… I love this GYM!\p" + .string "Let’s exchange superhot moves\n" + .string "in another battle!\p" + .string "Oh, wait. Do you only have one POKéMON\n" + .string "that can battle?\p" + .string "I hate to say this, but when you come\n" + .string "see me, bring at least two POKéMON.$" diff --git a/data/scripts/maps/LavaridgeTown_Gym_B1F.inc b/data/scripts/maps/LavaridgeTown_Gym_B1F.inc new file mode 100644 index 0000000000..88b0e66e74 --- /dev/null +++ b/data/scripts/maps/LavaridgeTown_Gym_B1F.inc @@ -0,0 +1,59 @@ +LavaridgeTown_Gym_B1F_MapScripts:: @ 81FF87E + map_script 3, LavaridgeTown_Gym_B1F_MapScript1_1FF884 + .byte 0 + +LavaridgeTown_Gym_B1F_MapScript1_1FF884: @ 81FF884 + call LavaridgeTown_Gym_B1F_EventScript_1FF88F + call LavaridgeTown_Gym_B1F_EventScript_1FF8DC + end + +LavaridgeTown_Gym_B1F_EventScript_1FF88F:: @ 81FF88F + setvar VAR_0x4007, 0 + setvar VAR_0x4008, 0 + setvar VAR_0x4009, 0 + setvar VAR_0x400A, 0 + checktrainerflag TRAINER_KEEGAN + goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8B1 + setvar VAR_0x4007, 1 + +LavaridgeTown_Gym_B1F_EventScript_1FF8B1:: @ 81FF8B1 + checktrainerflag TRAINER_JACE + goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8BF + setvar VAR_0x4008, 1 + +LavaridgeTown_Gym_B1F_EventScript_1FF8BF:: @ 81FF8BF + checktrainerflag TRAINER_JEFF + goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8CD + setvar VAR_0x4009, 1 + +LavaridgeTown_Gym_B1F_EventScript_1FF8CD:: @ 81FF8CD + checktrainerflag TRAINER_ELI + goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8DB + setvar VAR_0x400A, 1 + +LavaridgeTown_Gym_B1F_EventScript_1FF8DB:: @ 81FF8DB + return + +LavaridgeTown_Gym_B1F_EventScript_1FF8DC:: @ 81FF8DC + checktrainerflag TRAINER_KEEGAN + goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8E9 + setobjectmovementtype 2, 63 + +LavaridgeTown_Gym_B1F_EventScript_1FF8E9:: @ 81FF8E9 + checktrainerflag TRAINER_JACE + goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8F6 + setobjectmovementtype 1, 63 + +LavaridgeTown_Gym_B1F_EventScript_1FF8F6:: @ 81FF8F6 + checktrainerflag TRAINER_JEFF + goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF903 + setobjectmovementtype 3, 63 + +LavaridgeTown_Gym_B1F_EventScript_1FF903:: @ 81FF903 + checktrainerflag TRAINER_ELI + goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF910 + setobjectmovementtype 4, 63 + +LavaridgeTown_Gym_B1F_EventScript_1FF910:: @ 81FF910 + return + diff --git a/data/scripts/maps/LavaridgeTown_HerbShop.inc b/data/scripts/maps/LavaridgeTown_HerbShop.inc new file mode 100644 index 0000000000..6af8132e47 --- /dev/null +++ b/data/scripts/maps/LavaridgeTown_HerbShop.inc @@ -0,0 +1,68 @@ +LavaridgeTown_HerbShop_MapScripts:: @ 81FE4D6 + .byte 0 + +LavaridgeTown_HerbShop_EventScript_1FE4D7:: @ 81FE4D7 + lock + faceplayer + message LavaridgeTown_HerbShop_Text_1FE53E + waitmessage + pokemart LavaridgeTown_HerbShop_Pokemart_1FE4F0 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +LavaridgeTown_HerbShop_Pokemart_1FE4F0: @ 81FE4F0 + .2byte ITEM_ENERGY_POWDER + .2byte ITEM_ENERGY_ROOT + .2byte ITEM_HEAL_POWDER + .2byte ITEM_REVIVAL_HERB + .2byte ITEM_NONE + release + end + +LavaridgeTown_HerbShop_EventScript_1FE4FC:: @ 81FE4FC + msgbox LavaridgeTown_HerbShop_Text_1FE685, 2 + end + +LavaridgeTown_HerbShop_EventScript_1FE505:: @ 81FE505 + lock + faceplayer + checkflag FLAG_0x0FE + goto_eq LavaridgeTown_HerbShop_EventScript_1FE534 + msgbox LavaridgeTown_HerbShop_Text_1FE584, 4 + giveitem_std ITEM_CHARCOAL + compare VAR_RESULT, 0 + goto_eq LavaridgeTown_HerbShop_EventScript_272054 + setflag FLAG_0x0FE + release + end + +LavaridgeTown_HerbShop_EventScript_1FE534:: @ 81FE534 + msgbox LavaridgeTown_HerbShop_Text_1FE5EB, 4 + release + end + +LavaridgeTown_HerbShop_Text_1FE53E: @ 81FE53E + .string "Welcome to the HERB SHOP, home of\n" + .string "effective and inexpensive medicine!$" + +LavaridgeTown_HerbShop_Text_1FE584: @ 81FE584 + .string "You’ve come to look at herbal medicine\n" + .string "in LAVARIDGE?\p" + .string "That’s rather commendable.\p" + .string "I like you! Take this!$" + +LavaridgeTown_HerbShop_Text_1FE5EB: @ 81FE5EB + .string "That CHARCOAL I gave you, it’s used\n" + .string "for making herbal medicine.\p" + .string "It also does wonders when held by\n" + .string "a POKéMON.\p" + .string "It intensifies the power of FIRE-type\n" + .string "moves.$" + +LavaridgeTown_HerbShop_Text_1FE685: @ 81FE685 + .string "Herbal medicine works impressively well.\n" + .string "But your POKéMON will dislike you for it.\l" + .string "It must be horribly bitter!$" + diff --git a/data/scripts/maps/LavaridgeTown_House.inc b/data/scripts/maps/LavaridgeTown_House.inc new file mode 100644 index 0000000000..14d112de9e --- /dev/null +++ b/data/scripts/maps/LavaridgeTown_House.inc @@ -0,0 +1,26 @@ +LavaridgeTown_House_MapScripts:: @ 81FF911 + .byte 0 + +LavaridgeTown_House_EventScript_1FF912:: @ 81FF912 + msgbox LavaridgeTown_House_Text_1FF92E, 2 + end + +LavaridgeTown_House_EventScript_1FF91B:: @ 81FF91B + lock + faceplayer + waitse + playmoncry SPECIES_ZIGZAGOON, 0 + msgbox LavaridgeTown_House_Text_1FF9BB, 4 + waitmoncry + release + end + +LavaridgeTown_House_Text_1FF92E: @ 81FF92E + .string "My wife’s warming an EGG in the hot\n" + .string "springs. This is what she told me.\p" + .string "She left two POKéMON with the DAY CARE.\n" + .string "And they discovered that EGG!$" + +LavaridgeTown_House_Text_1FF9BB: @ 81FF9BB + .string "ZIGZAGOON: Pshoo!$" + diff --git a/data/scripts/maps/LavaridgeTown_Mart.inc b/data/scripts/maps/LavaridgeTown_Mart.inc new file mode 100644 index 0000000000..2c56819832 --- /dev/null +++ b/data/scripts/maps/LavaridgeTown_Mart.inc @@ -0,0 +1,47 @@ +LavaridgeTown_Mart_MapScripts:: @ 81FF9CD + .byte 0 + +LavaridgeTown_Mart_EventScript_1FF9CE:: @ 81FF9CE + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemart LavaridgeTown_Mart_Pokemart_1FF9E8 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +LavaridgeTown_Mart_Pokemart_1FF9E8: @ 81FF9E8 + .2byte ITEM_GREAT_BALL + .2byte ITEM_SUPER_POTION + .2byte ITEM_ANTIDOTE + .2byte ITEM_PARALYZE_HEAL + .2byte ITEM_AWAKENING + .2byte ITEM_BURN_HEAL + .2byte ITEM_REVIVE + .2byte ITEM_SUPER_REPEL + .2byte ITEM_X_SPEED + .2byte ITEM_NONE + release + end + +LavaridgeTown_Mart_EventScript_1FF9FE:: @ 81FF9FE + msgbox LavaridgeTown_Mart_Text_1FFA10, 2 + end + +LavaridgeTown_Mart_EventScript_1FFA07:: @ 81FFA07 + msgbox LavaridgeTown_Mart_Text_1FFA83, 2 + end + +LavaridgeTown_Mart_Text_1FFA10: @ 81FFA10 + .string "Use X SPEED to add to a POKéMON’s\n" + .string "SPEED in battle.\p" + .string "That will help it get in the first\n" + .string "strike--a decided advantage!$" + +LavaridgeTown_Mart_Text_1FFA83: @ 81FFA83 + .string "On MT. CHIMNEY’s peak, there’s a local\n" + .string "specialty that you can buy only there.\p" + .string "Give it to a POKéMON--it will be elated.$" + diff --git a/data/scripts/maps/LavaridgeTown_PokemonCenter_1F.inc b/data/scripts/maps/LavaridgeTown_PokemonCenter_1F.inc new file mode 100644 index 0000000000..24f19b1d09 --- /dev/null +++ b/data/scripts/maps/LavaridgeTown_PokemonCenter_1F.inc @@ -0,0 +1,48 @@ +LavaridgeTown_PokemonCenter_1F_MapScripts:: @ 81FFAFA + map_script 3, LavaridgeTown_PokemonCenter_1F_MapScript1_1FFB05 + map_script 5, LavaridgeTown_PokemonCenter_1F_MapScript1_277C30 + .byte 0 + +LavaridgeTown_PokemonCenter_1F_MapScript1_1FFB05: @ 81FFB05 + setrespawn 16 + call LavaridgeTown_PokemonCenter_1F_EventScript_2718DE + end + +LavaridgeTown_PokemonCenter_1F_EventScript_1FFB0E:: @ 81FFB0E + setvar VAR_0x800B, 1 + call LavaridgeTown_PokemonCenter_1F_EventScript_27191E + waitmessage + waitbuttonpress + release + end + +LavaridgeTown_PokemonCenter_1F_EventScript_1FFB1C:: @ 81FFB1C + msgbox LavaridgeTown_PokemonCenter_1F_Text_1FFBAD, 2 + end + +LavaridgeTown_PokemonCenter_1F_EventScript_1FFB25:: @ 81FFB25 + msgbox LavaridgeTown_PokemonCenter_1F_Text_1FFB37, 2 + end + +LavaridgeTown_PokemonCenter_1F_EventScript_1FFB2E:: @ 81FFB2E + msgbox LavaridgeTown_PokemonCenter_1F_Text_1FFC21, 2 + end + +LavaridgeTown_PokemonCenter_1F_Text_1FFB37: @ 81FFB37 + .string "I think POKéMON get closer to their\n" + .string "TRAINERS if they spend time together.\p" + .string "The longer the better.\n" + .string "That’s what I think.$" + +LavaridgeTown_PokemonCenter_1F_Text_1FFBAD: @ 81FFBAD + .string "It’s sort of magical how just sitting\n" + .string "in a hot-spring pool can invigorate.\p" + .string "I wish I could let my POKéMON\n" + .string "soak, too.$" + +LavaridgeTown_PokemonCenter_1F_Text_1FFC21: @ 81FFC21 + .string "Hohoho! Hey, kid, you can reach\n" + .string "the hot springs from here.\p" + .string "If POKéMON are getting rest, so too\n" + .string "should their TRAINERS.$" + diff --git a/data/scripts/maps/LavaridgeTown_PokemonCenter_2F.inc b/data/scripts/maps/LavaridgeTown_PokemonCenter_2F.inc new file mode 100644 index 0000000000..b1491f6216 --- /dev/null +++ b/data/scripts/maps/LavaridgeTown_PokemonCenter_2F.inc @@ -0,0 +1,19 @@ +LavaridgeTown_PokemonCenter_2F_MapScripts:: @ 81FFC97 + map_script 2, LavaridgeTown_PokemonCenter_2F_MapScript2_276C3B + map_script 4, LavaridgeTown_PokemonCenter_2F_MapScript2_276B6C + map_script 1, LavaridgeTown_PokemonCenter_2F_MapScript1_276BBE + map_script 3, LavaridgeTown_PokemonCenter_2F_MapScript1_276ACF + .byte 0 + +LavaridgeTown_PokemonCenter_2F_EventScript_1FFCAC:: @ 81FFCAC + call OldaleTown_PokemonCenter_2F_EventScript_276EB7 + end + +LavaridgeTown_PokemonCenter_2F_EventScript_1FFCB2:: @ 81FFCB2 + call OldaleTown_PokemonCenter_2F_EventScript_2770B2 + end + +LavaridgeTown_PokemonCenter_2F_EventScript_1FFCB8:: @ 81FFCB8 + call OldaleTown_PokemonCenter_2F_EventScript_2771DB + end + diff --git a/data/scripts/maps/LilycoveCity.inc b/data/scripts/maps/LilycoveCity.inc new file mode 100644 index 0000000000..87a1296200 --- /dev/null +++ b/data/scripts/maps/LilycoveCity.inc @@ -0,0 +1,787 @@ +LilycoveCity_MapScripts:: @ 81E2B3C + map_script 3, LilycoveCity_MapScript1_1E2B47 + map_script 1, LilycoveCity_MapScript1_1E2B61 + .byte 0 + +LilycoveCity_MapScript1_1E2B47: @ 81E2B47 + setflag FLAG_VISITED_LILYCOVE_CITY + setvar VAR_0x4086, 0 + setflag FLAG_0x322 + checkflag FLAG_SYS_WEATHER_CTRL + call_if 1, LilycoveCity_EventScript_27207A + call LilycoveCity_EventScript_271ED7 + end + +LilycoveCity_MapScript1_1E2B61: @ 81E2B61 + checkflag FLAG_0x070 + call_if 0, LilycoveCity_EventScript_1E2B6B + end + +LilycoveCity_EventScript_1E2B6B:: @ 81E2B6B + setmetatile 76, 12, 656, 1 + setmetatile 77, 12, 657, 1 + setmetatile 76, 13, 672, 1 + setmetatile 77, 13, 673, 1 + setmetatile 76, 14, 664, 1 + setmetatile 77, 14, 665, 1 + setmetatile 76, 15, 672, 1 + setmetatile 77, 15, 673, 1 + setmetatile 77, 16, 664, 1 + setmetatile 78, 16, 665, 1 + setmetatile 77, 17, 672, 1 + setmetatile 78, 17, 673, 1 + return + +LilycoveCity_EventScript_1E2BD8:: @ 81E2BD8 + lock + faceplayer + dodailyevents + checkflag FLAG_0x92F + goto_eq LilycoveCity_EventScript_1E2C18 + msgbox LilycoveCity_Text_2A7244, 4 + random 10 + addvar VAR_RESULT, 133 + giveitem_std VAR_RESULT + compare VAR_RESULT, 0 + goto_eq LilycoveCity_EventScript_272054 + setflag FLAG_0x92F + msgbox LilycoveCity_Text_2A72E3, 4 + release + end + +LilycoveCity_EventScript_1E2C18:: @ 81E2C18 + msgbox LilycoveCity_Text_2A7321, 4 + release + end + +LilycoveCity_EventScript_1E2C22:: @ 81E2C22 + msgbox LilycoveCity_Text_1E3D9E, 2 + end + +LilycoveCity_EventScript_1E2C2B:: @ 81E2C2B + lock + faceplayer + checkflag FLAG_BADGE07_GET + goto_eq LilycoveCity_EventScript_1E2C40 + msgbox LilycoveCity_Text_1E3E3C, 4 + release + end + +LilycoveCity_EventScript_1E2C40:: @ 81E2C40 + msgbox LilycoveCity_Text_1E3E7D, 4 + release + end + +LilycoveCity_EventScript_1E2C4A:: @ 81E2C4A + msgbox LilycoveCity_Text_1E3F05, 2 + end + +LilycoveCity_EventScript_1E2C53:: @ 81E2C53 + lock + faceplayer + checkflag FLAG_0x070 + goto_eq LilycoveCity_EventScript_1E2C68 + msgbox LilycoveCity_Text_1E3FAB, 4 + release + end + +LilycoveCity_EventScript_1E2C68:: @ 81E2C68 + msgbox LilycoveCity_Text_1E4020, 4 + release + end + +LilycoveCity_EventScript_1E2C72:: @ 81E2C72 + lock + faceplayer + checkflag FLAG_0x070 + goto_eq LilycoveCity_EventScript_1E2C87 + msgbox LilycoveCity_Text_1E40AD, 4 + release + end + +LilycoveCity_EventScript_1E2C87:: @ 81E2C87 + msgbox LilycoveCity_Text_1E4145, 4 + release + end + +LilycoveCity_EventScript_1E2C91:: @ 81E2C91 + msgbox LilycoveCity_Text_1E417B, 2 + end + +LilycoveCity_EventScript_1E2C9A:: @ 81E2C9A + msgbox LilycoveCity_Text_1E420B, 3 + end + +LilycoveCity_EventScript_1E2CA3:: @ 81E2CA3 + msgbox LilycoveCity_Text_1E4283, 3 + end + +LilycoveCity_EventScript_1E2CAC:: @ 81E2CAC + lock + faceplayer + checkflag FLAG_BADGE07_GET + goto_eq LilycoveCity_EventScript_1E2CC1 + msgbox LilycoveCity_Text_1E42FC, 4 + release + end + +LilycoveCity_EventScript_1E2CC1:: @ 81E2CC1 + msgbox LilycoveCity_Text_1E43FF, 4 + release + end + +LilycoveCity_EventScript_1E2CCB:: @ 81E2CCB + msgbox LilycoveCity_Text_1E48A5, 2 + end + +LilycoveCity_EventScript_1E2CD4:: @ 81E2CD4 + msgbox LilycoveCity_Text_1E4902, 2 + end + +LilycoveCity_EventScript_1E2CDD:: @ 81E2CDD + lockall + msgbox LilycoveCity_Text_1E494D, 2 + applymovement 20, LilycoveCity_Movement_2725A2 + end + +LilycoveCity_EventScript_1E2CEE:: @ 81E2CEE + lockall + msgbox LilycoveCity_Text_1E49F4, 2 + applymovement 19, LilycoveCity_Movement_2725A2 + end + +LilycoveCity_EventScript_1E2CFF:: @ 81E2CFF + msgbox LilycoveCity_Text_1E448B, 3 + end + +LilycoveCity_EventScript_1E2D08:: @ 81E2D08 + msgbox LilycoveCity_Text_1E44C3, 3 + end + +LilycoveCity_EventScript_1E2D11:: @ 81E2D11 + msgbox LilycoveCity_Text_1E44FC, 3 + end + +LilycoveCity_EventScript_1E2D1A:: @ 81E2D1A + lockall + specialvar VAR_0x8004, sub_80F8940 + switch VAR_0x8004 + case 0, LilycoveCity_EventScript_1E2D3A + msgbox LilycoveCity_Text_1E4571, 4 + releaseall + end + +LilycoveCity_EventScript_1E2D3A:: @ 81E2D3A + msgbox LilycoveCity_Text_1E4534, 4 + releaseall + end + +LilycoveCity_EventScript_1E2D44:: @ 81E2D44 + lockall + checkflag FLAG_SYS_GAME_CLEAR + goto_eq LilycoveCity_EventScript_1E2D58 + msgbox LilycoveCity_Text_1E45A7, 4 + releaseall + end + +LilycoveCity_EventScript_1E2D58:: @ 81E2D58 + msgbox LilycoveCity_Text_1E4624, 4 + releaseall + end + +LilycoveCity_EventScript_1E2D62:: @ 81E2D62 + msgbox LilycoveCity_Text_1E466E, 3 + end + +LilycoveCity_EventScript_1E2D6B:: @ 81E2D6B + msgbox LilycoveCity_Text_1E46BE, 3 + end + +LilycoveCity_EventScript_1E2D74:: @ 81E2D74 + msgbox LilycoveCity_Text_1E473D, 3 + end + +LilycoveCity_EventScript_1E2D7D:: @ 81E2D7D + lockall + checkflag FLAG_0x0DA + goto_eq LilycoveCity_EventScript_1E2DB0 + msgbox LilycoveCity_Text_1E3D1F, 4 + applymovement VAR_LAST_TALKED, LilycoveCity_Movement_27259E + waitmovement 0 + msgbox LilycoveCity_Text_1E3D4A, 4 + applymovement VAR_LAST_TALKED, LilycoveCity_Movement_2725A2 + waitmovement 0 + setflag FLAG_0x0DA + releaseall + end + +LilycoveCity_EventScript_1E2DB0:: @ 81E2DB0 + msgbox LilycoveCity_Text_1E3D1F, 4 + releaseall + end + +LilycoveCity_EventScript_1E2DBA:: @ 81E2DBA + msgbox LilycoveCity_Text_1E3B2C, 2 + end + +LilycoveCity_EventScript_1E2DC3:: @ 81E2DC3 + msgbox LilycoveCity_Text_1E3B95, 2 + end + +LilycoveCity_EventScript_1E2DCC:: @ 81E2DCC + msgbox LilycoveCity_Text_1E3C46, 2 + end + +LilycoveCity_EventScript_1E2DD5:: @ 81E2DD5 + msgbox LilycoveCity_Text_1E3CBE, 2 + end + +LilycoveCity_EventScript_1E2DDE:: @ 81E2DDE + lock + faceplayer + checkplayergender + compare VAR_RESULT, 0 + goto_eq LilycoveCity_EventScript_1E2DF8 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_EventScript_1E2E6B + end + +LilycoveCity_EventScript_1E2DF8:: @ 81E2DF8 + playbgm MUS_GIRL_SUP, 1 + checkflag FLAG_0x11E + call_if 1, LilycoveCity_EventScript_1E2E48 + checkflag FLAG_0x11E + call_if 0, LilycoveCity_EventScript_1E2E51 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_EventScript_1E2E5A + msgbox LilycoveCity_Text_1E3234, 4 + switch VAR_FIRST_POKE + case 0, LilycoveCity_EventScript_1E2EDE + case 1, LilycoveCity_EventScript_1E2EEE + case 2, LilycoveCity_EventScript_1E2EFE + end + +LilycoveCity_EventScript_1E2E48:: @ 81E2E48 + msgbox LilycoveCity_Text_1E31F5, 5 + return + +LilycoveCity_EventScript_1E2E51:: @ 81E2E51 + msgbox LilycoveCity_Text_1E3061, 5 + return + +LilycoveCity_EventScript_1E2E5A:: @ 81E2E5A + setflag FLAG_0x11E + msgbox LilycoveCity_Text_1E318D, 4 + savebgm MUS_DUMMY + fadedefaultbgm + release + end + +LilycoveCity_EventScript_1E2E6B:: @ 81E2E6B + playbgm MUS_BOY_SUP, 1 + checkflag FLAG_0x11E + call_if 1, LilycoveCity_EventScript_1E2EBB + checkflag FLAG_0x11E + call_if 0, LilycoveCity_EventScript_1E2EC4 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_EventScript_1E2ECD + msgbox LilycoveCity_Text_1E373C, 4 + switch VAR_FIRST_POKE + case 0, LilycoveCity_EventScript_1E2F0E + case 1, LilycoveCity_EventScript_1E2F1E + case 2, LilycoveCity_EventScript_1E2F2E + end + +LilycoveCity_EventScript_1E2EBB:: @ 81E2EBB + msgbox LilycoveCity_Text_1E36FA, 5 + return + +LilycoveCity_EventScript_1E2EC4:: @ 81E2EC4 + msgbox LilycoveCity_Text_1E3608, 5 + return + +LilycoveCity_EventScript_1E2ECD:: @ 81E2ECD + setflag FLAG_0x11E + msgbox LilycoveCity_Text_1E36BF, 4 + savebgm MUS_DUMMY + fadedefaultbgm + release + end + +LilycoveCity_EventScript_1E2EDE:: @ 81E2EDE + trainerbattle 3, TRAINER_MAY_12, 0, LilycoveCity_Text_1E3275 + goto LilycoveCity_EventScript_1E2F3E + end + +LilycoveCity_EventScript_1E2EEE:: @ 81E2EEE + trainerbattle 3, TRAINER_MAY_13, 0, LilycoveCity_Text_1E3275 + goto LilycoveCity_EventScript_1E2F3E + end + +LilycoveCity_EventScript_1E2EFE:: @ 81E2EFE + trainerbattle 3, TRAINER_MAY_11, 0, LilycoveCity_Text_1E3275 + goto LilycoveCity_EventScript_1E2F3E + end + +LilycoveCity_EventScript_1E2F0E:: @ 81E2F0E + trainerbattle 3, TRAINER_BRENDAN_14, 0, LilycoveCity_Text_1E3777 + goto LilycoveCity_EventScript_1E2FAA + end + +LilycoveCity_EventScript_1E2F1E:: @ 81E2F1E + trainerbattle 3, TRAINER_BRENDAN_15, 0, LilycoveCity_Text_1E3777 + goto LilycoveCity_EventScript_1E2FAA + end + +LilycoveCity_EventScript_1E2F2E:: @ 81E2F2E + trainerbattle 3, TRAINER_BRENDAN_13, 0, LilycoveCity_Text_1E3777 + goto LilycoveCity_EventScript_1E2FAA + end + +LilycoveCity_EventScript_1E2F3E:: @ 81E2F3E + msgbox LilycoveCity_Text_1E32FB, 4 + setvar VAR_RESULT, 0 + checkflag FLAG_BADGE06_GET + call_if 1, LilycoveCity_EventScript_1E2F76 + compare VAR_RESULT, 0 + call_if 1, LilycoveCity_EventScript_1E2F86 + compare VAR_RESULT, 1 + call_if 1, LilycoveCity_EventScript_1E2F8F + clearflag FLAG_0x2D2 + clearflag FLAG_0x351 + goto LilycoveCity_EventScript_1E3006 + end + +LilycoveCity_EventScript_1E2F76:: @ 81E2F76 + checkflag FLAG_BADGE08_GET + goto_eq LilycoveCity_EventScript_1E2F80 + return + +LilycoveCity_EventScript_1E2F80:: @ 81E2F80 + setvar VAR_RESULT, 1 + return + +LilycoveCity_EventScript_1E2F86:: @ 81E2F86 + msgbox LilycoveCity_Text_1E3398, 4 + return + +LilycoveCity_EventScript_1E2F8F:: @ 81E2F8F + checkflag FLAG_SYS_GAME_CLEAR + goto_eq LilycoveCity_EventScript_1E2FA1 + msgbox LilycoveCity_Text_1E346D, 4 + return + +LilycoveCity_EventScript_1E2FA1:: @ 81E2FA1 + msgbox LilycoveCity_Text_1E353A, 4 + return + +LilycoveCity_EventScript_1E2FAA:: @ 81E2FAA + msgbox LilycoveCity_Text_1E37D7, 4 + setvar VAR_RESULT, 0 + checkflag FLAG_BADGE06_GET + call_if 1, LilycoveCity_EventScript_1E2F76 + compare VAR_RESULT, 0 + call_if 1, LilycoveCity_EventScript_1E2FE2 + compare VAR_RESULT, 1 + call_if 1, LilycoveCity_EventScript_1E2FEB + clearflag FLAG_0x2F8 + clearflag FLAG_0x32F + goto LilycoveCity_EventScript_1E3006 + end + +LilycoveCity_EventScript_1E2FE2:: @ 81E2FE2 + msgbox LilycoveCity_Text_1E3876, 4 + return + +LilycoveCity_EventScript_1E2FEB:: @ 81E2FEB + checkflag FLAG_SYS_GAME_CLEAR + goto_eq LilycoveCity_EventScript_1E2FFD + msgbox LilycoveCity_Text_1E390C, 4 + return + +LilycoveCity_EventScript_1E2FFD:: @ 81E2FFD + msgbox LilycoveCity_Text_1E39E3, 4 + return + +LilycoveCity_EventScript_1E3006:: @ 81E3006 + closemessage + applymovement VAR_LAST_TALKED, LilycoveCity_Movement_2725AA + waitmovement 0 + delay 50 + setfieldeffectargument 0, 1 + dofieldeffect 30 + delay 15 + removeobject VAR_LAST_TALKED + waitfieldeffect 30 + savebgm MUS_DUMMY + fadedefaultbgm + setflag FLAG_0x124 + release + end + +LilycoveCity_EventScript_1E302D:: @ 81E302D + lock + faceplayer + msgbox LilycoveCity_Text_1E4774, 5 + compare VAR_RESULT, 1 + call_if 1, LilycoveCity_EventScript_1E304F + compare VAR_RESULT, 0 + call_if 1, LilycoveCity_EventScript_1E3058 + release + end + +LilycoveCity_EventScript_1E304F:: @ 81E304F + msgbox LilycoveCity_Text_1E47A1, 4 + return + +LilycoveCity_EventScript_1E3058:: @ 81E3058 + msgbox LilycoveCity_Text_1E4824, 4 + return + +LilycoveCity_Text_1E3061: @ 81E3061 + .string "MAY: Oh, hey?\n" + .string "{PLAYER}{KUN}, are you shopping, too?\p" + .string "I bought a whole bunch of DOLLS and\n" + .string "POSTERS.\p" + .string "Of course, I’ve also caught a lot of\n" + .string "POKéMON, and I’m raising them\l" + .string "properly, too.\p" + .string "Actually, I’m more worried if you’re\n" + .string "raising POKéMON properly, {PLAYER}{KUN}.\p" + .string "I’ll battle with you, so you can show\n" + .string "me your POKéMON, {PLAYER}{KUN}.$" + +LilycoveCity_Text_1E318D: @ 81E318D + .string "MAY: Oh, why? {PLAYER}{KUN}, haven’t you\n" + .string "been raising your POKéMON?\p" + .string "That’s not a very good showing as a\n" + .string "TRAINER…$" + +LilycoveCity_Text_1E31F5: @ 81E31F5 + .string "MAY: Come on, battle with me, so I can\n" + .string "check out your POKéMON!$" + +LilycoveCity_Text_1E3234: @ 81E3234 + .string "MAY: The POKéMON I raised won’t be\n" + .string "beaten by your POKéMON, {PLAYER}{KUN}!$" + +LilycoveCity_Text_1E3275: @ 81E3275 + .string "… … … … … … … …\p" + .string "I remember the battle I had with you,\n" + .string "{PLAYER}{KUN}, on ROUTE 103.\p" + .string "That battle helped you become this\n" + .string "strong, {PLAYER}{KUN}, didn’t it?$" + +LilycoveCity_Text_1E32FB: @ 81E32FB + .string "MAY: I’m thinking of going back to\n" + .string "LITTLEROOT soon.\p" + .string "I’ve caught a decent group of POKéMON,\n" + .string "and my POKéDEX is coming along, so\l" + .string "I’m going home to show my dad.$" + +LilycoveCity_Text_1E3398: @ 81E3398 + .string "{PLAYER}{KUN}, what are you going to do?\p" + .string "Collect all the GYM BADGES and take\n" + .string "the POKéMON LEAGUE challenge?\p" + .string "Well, while you’re collecting BADGES,\n" + .string "{PLAYER}{KUN}, I’m going to work on my\l" + .string "POKéDEX. I’ll complete it before you!\p" + .string "See you!$" + +LilycoveCity_Text_1E346D: @ 81E346D + .string "{PLAYER}{KUN}, what are you going to do?\p" + .string "Are you taking the POKéMON LEAGUE\n" + .string "challenge?\p" + .string "Or, are you going to complete your\n" + .string "POKéDEX?\p" + .string "I might’ve lost to you in battling,\n" + .string "but I’ll finish my POKéDEX before you!\p" + .string "See you!$" + +LilycoveCity_Text_1E353A: @ 81E353A + .string "{PLAYER}{KUN}, what are you going to do?\p" + .string "Are you taking the BATTLE FRONTIER\n" + .string "challenge?\p" + .string "Or, are you going to complete your\n" + .string "POKéDEX?\p" + .string "I might’ve lost to you in battling,\n" + .string "but I’ll finish my POKéDEX before you!\p" + .string "See you!$" + +LilycoveCity_Text_1E3608: @ 81E3608 + .string "BRENDAN: Oh, hey, it’s {PLAYER}.\p" + .string "I’m running an errand for my dad.\n" + .string "No, I’m not buying any DOLLS.\p" + .string "Anyways, it’s been a while.\p" + .string "Want to have a battle to see who’s been\n" + .string "raising POKéMON better?$" + +LilycoveCity_Text_1E36BF: @ 81E36BF + .string "BRENDAN: Oh, what’s the matter?\n" + .string "Don’t have the confidence?$" + +LilycoveCity_Text_1E36FA: @ 81E36FA + .string "BRENDAN: Want to battle to see who’s\n" + .string "been raising POKéMON better?$" + +LilycoveCity_Text_1E373C: @ 81E373C + .string "BRENDAN: Aww, but you know I’m not\n" + .string "going to lose to no {PLAYER}.$" + +LilycoveCity_Text_1E3777: @ 81E3777 + .string "Humph…\n" + .string "You’ve done a lot of raising.\p" + .string "That stings a bit--I had a head start\n" + .string "on you as a TRAINER…$" + +LilycoveCity_Text_1E37D7: @ 81E37D7 + .string "BRENDAN: I…\n" + .string "I plan on going home to LITTLEROOT.\p" + .string "You know I’m helping out my dad on his\n" + .string "POKéDEX. It’s coming together pretty\l" + .string "decently, so I should go show him.$" + +LilycoveCity_Text_1E3876: @ 81E3876 + .string "{PLAYER}, what are you going to do?\p" + .string "Collect all the GYM BADGES and take\n" + .string "the POKéMON LEAGUE challenge?\p" + .string "Maybe I’ll do that, too…\p" + .string "Well, anyway, hang in there!$" + +LilycoveCity_Text_1E390C: @ 81E390C + .string "{PLAYER}, what are you going to do?\p" + .string "Since you’re that strong, are you\n" + .string "taking the POKéMON LEAGUE challenge?\p" + .string "Heh, even me--if I trained my POKéMON\n" + .string "a bit more, I should be stronger than\l" + .string "you, {PLAYER}.\p" + .string "Well, anyway, hang in there!$" + +LilycoveCity_Text_1E39E3: @ 81E39E3 + .string "{PLAYER}, what are you going to do?\p" + .string "Are you taking the BATTLE FRONTIER\n" + .string "challenge?\p" + .string "Or, are you going to complete your\n" + .string "POKéDEX?\p" + .string "Since you’re that strong, you should\n" + .string "consider the BATTLE FRONTIER.\p" + .string "Heh, if I train my POKéMON a bit more,\n" + .string "I’ll get stronger than you, {PLAYER}.\p" + .string "Maybe I should go to the BATTLE\n" + .string "FRONTIER.\p" + .string "Well, anyway, hang in there!$" + +LilycoveCity_Text_1E3B2C: @ 81E3B2C + .string "Fufufu…\p" + .string "We moved more loot into our secret\n" + .string "HIDEOUT today…\p" + .string "Wh-who are you?!\n" + .string "I was just talking to myself!$" + +LilycoveCity_Text_1E3B95: @ 81E3B95 + .string "I’m just a GRUNT, so I don’t know what\n" + .string "the BOSS is thinking…\p" + .string "But being on TEAM AQUA, I know I’ll get\n" + .string "the chance to do big things!\p" + .string "Wh-who are you?!\n" + .string "I was just talking to myself!$" + +LilycoveCity_Text_1E3C46: @ 81E3C46 + .string "Hey, you!\p" + .string "Don’t go near the cave in the cove!\p" + .string "Why? You don’t need a reason why!\n" + .string "I’m an adult, so you just listen to me!$" + +LilycoveCity_Text_1E3CBE: @ 81E3CBE + .string "If this whole wide world becomes ours,\n" + .string "TEAM AQUA’s, it will be a happier\l" + .string "place for POKéMON, too.$" + +LilycoveCity_Text_1E3D1F: @ 81E3D1F + .string "There! WAILMER!\n" + .string "Leap out of the water now!$" + +LilycoveCity_Text_1E3D4A: @ 81E3D4A + .string "Hunh? What do you want?\p" + .string "You’re messing up our training,\n" + .string "so can you, like, get lost?$" + +LilycoveCity_Text_1E3D9E: @ 81E3D9E + .string "There’s a POKéMON CONTEST HALL\n" + .string "right in this here town. \p" + .string "That means well-raised POKéMON will\n" + .string "come from all over the country.\p" + .string "My heart swells with excitement!$" + +LilycoveCity_Text_1E3E3C: @ 81E3E3C + .string "Have you seen that strange cave in\n" + .string "the cove at the edge of town?$" + +LilycoveCity_Text_1E3E7D: @ 81E3E7D + .string "I’m going to teach my POKéMON some new\n" + .string "moves for entering a CONTEST.\p" + .string "So, I’m going to see the MOVE DELETER\n" + .string "and make it forget HM moves.$" + +LilycoveCity_Text_1E3F05: @ 81E3F05 + .string "I came from KANTO.\p" + .string "The HOENN region is beautiful with\n" + .string "all its water and verdant nature.\p" + .string "Hunh? Wait a second…\p" + .string "Could there be rare POKéMON that live\n" + .string "only in this area?$" + +LilycoveCity_Text_1E3FAB: @ 81E3FAB + .string "TEAM AQUA’s been training their\n" + .string "WAILMER in the cove.\p" + .string "We SAILORS can’t get our boats out\n" + .string "to sea with them in the way!$" + +LilycoveCity_Text_1E4020: @ 81E4020 + .string "Ahoy, did you know?\p" + .string "Someone punted TEAM AQUA out of\n" + .string "the way for us!\p" + .string "That got the WAILMER out of the cove,\n" + .string "so we can get our boats out again.$" + +LilycoveCity_Text_1E40AD: @ 81E40AD + .string "I was taking a relaxing snooze at the\n" + .string "seaside inn to the sound of waves…\p" + .string "When someone stole my POKéMON!\p" + .string "Who’s the abductor?\n" + .string "TEAM AQUA? Is it TEAM AQUA?$" + +LilycoveCity_Text_1E4145: @ 81E4145 + .string "My missing POKéMON…\n" + .string "It came back without me noticing!$" + +LilycoveCity_Text_1E417B: @ 81E417B + .string "I’m an ART DEALER.\p" + .string "I am a buyer and seller of fine art,\n" + .string "especially paintings.\p" + .string "I’ve heard that the MUSEUM here has\n" + .string "magnificent works on exhibit…$" + +LilycoveCity_Text_1E420B: @ 81E420B + .string "Even as we grow old and wrinkled,\n" + .string "the sea remains forever young with\l" + .string "the vivid brilliance of life…\p" + .string "Fwohoho fwohohohoho…$" + +LilycoveCity_Text_1E4283: @ 81E4283 + .string "It was sixty years ago that my husband\n" + .string "proposed to me here.\l" + .string "The sea remains as beautiful as ever.\p" + .string "Mufufufu mufufufufufu…$" + +LilycoveCity_Text_1E42FC: @ 81E42FC + .string "Hm, you know of the peculiar cavern\n" + .string "in this cove?\p" + .string "That had been a natural formation,\n" + .string "but then that TEAM AQUA lot came\l" + .string "along and made their renovations.\p" + .string "They call themselves\n" + .string "the “nature-loving TEAM AQUA”!\p" + .string "But what they do and what they say\n" + .string "don’t match at all!$" + +LilycoveCity_Text_1E43FF: @ 81E43FF + .string "That cave in the cove…\p" + .string "I didn’t notice it right away,\n" + .string "but it’s completely empty now.\p" + .string "That TEAM AQUA lot, they must\n" + .string "have gone away for good.$" + +LilycoveCity_Text_1E448B: @ 81E448B + .string "LILYCOVE CITY\p" + .string "“Where the land ends and the\n" + .string "sea begins.”$" + +LilycoveCity_Text_1E44C3: @ 81E44C3 + .string "POKéMON CONTEST HALL\n" + .string "“The gathering place for TRAINERS!”$" + +LilycoveCity_Text_1E44FC: @ 81E44FC + .string "COVE LILY MOTEL\p" + .string "“Remember us as COVE LILY of\n" + .string "LILYCOVE.”$" + +LilycoveCity_Text_1E4534: @ 81E4534 + .string "LILYCOVE MUSEUM\p" + .string "“POKéMON Masterpiece Collection\n" + .string "on exhibit!”$" + +LilycoveCity_Text_1E4571: @ 81E4571 + .string "LILYCOVE MUSEUM\p" + .string "“{PLAYER}’s POKéMON Collection\n" + .string "on exhibit!”$" + +LilycoveCity_Text_1E45A7: @ 81E45A7 + .string "LILYCOVE CITY HARBOR\p" + .string "“The ferry S.S. TIDAL is under\n" + .string "construction in SLATEPORT CITY.\p" + .string "“Service is scheduled to begin\n" + .string "shortly.”$" + +LilycoveCity_Text_1E4624: @ 81E4624 + .string "LILYCOVE CITY HARBOR\p" + .string "“Enjoy a delightful cruise on\n" + .string "the ferry S.S. TIDAL.”$" + +LilycoveCity_Text_1E466E: @ 81E466E + .string "POKéMON TRAINER FAN CLUB\p" + .string "The names of TRAINERS are scribbled\n" + .string "all over the sign…$" + +LilycoveCity_Text_1E46BE: @ 81E46BE + .string "LILYCOVE DEPARTMENT STORE\p" + .string "“Overflowing with great merchandise\n" + .string "and excitement!\p" + .string "“A great place to find that something\n" + .string "you need!”$" + +LilycoveCity_Text_1E473D: @ 81E473D + .string "MOVE DELETER’S HOUSE\p" + .string "“Unwanted POKéMON moves deleted.”$" + +LilycoveCity_Text_1E4774: @ 81E4774 + .string "Do you know about the machine\n" + .string "BERRY BLENDER?$" + +LilycoveCity_Text_1E47A1: @ 81E47A1 + .string "People have to work together to get it\n" + .string "to spin faster.\p" + .string "The faster you can make it spin, the\n" + .string "better {POKEBLOCK}S you can get, I’ve heard.$" + +LilycoveCity_Text_1E4824: @ 81E4824 + .string "It’s used for making a kind of candy\n" + .string "called a {POKEBLOCK}.\p" + .string "If you give a good {POKEBLOCK} to a POKéMON,\n" + .string "its condition will improve by a lot.$" + +LilycoveCity_Text_1E48A5: @ 81E48A5 + .string "I heard there’s a tower somewhere out\n" + .string "on the sea routes.\p" + .string "It’s called the SKY PILLAR, I hear.$" + +LilycoveCity_Text_1E4902: @ 81E4902 + .string "I saw this tall tower somewhere\n" + .string "around ROUTE 131.\p" + .string "Could that possibly be…?$" + +LilycoveCity_Text_1E494D: @ 81E494D + .string "We just arrived here on our\n" + .string "honeymoon vacation.\p" + .string "We happened to see a DRAGON-type\n" + .string "POKéMON flying way up in the sky.\p" + .string "Do cool POKéMON like that live in\n" + .string "the HOENN region?$" + +LilycoveCity_Text_1E49F4: @ 81E49F4 + .string "On our honeymoon, we vowed to see as\n" + .string "many rare POKéMON as we can.\p" + .string "So we were delighted to see a rare\n" + .string "POKéMON as soon as we arrived.\p" + .string "I mean, we are totally happy!$" + diff --git a/data/scripts/maps/LilycoveCity_ContestHall.inc b/data/scripts/maps/LilycoveCity_ContestHall.inc new file mode 100644 index 0000000000..3f02a404c4 --- /dev/null +++ b/data/scripts/maps/LilycoveCity_ContestHall.inc @@ -0,0 +1,509 @@ +LilycoveCity_ContestHall_MapScripts:: @ 821B484 + .byte 0 + +LilycoveCity_ContestHall_EventScript_21B485:: @ 821B485 + msgbox LilycoveCity_ContestHall_Text_21B74E, 2 + end + +LilycoveCity_ContestHall_EventScript_21B48E:: @ 821B48E + msgbox LilycoveCity_ContestHall_Text_21B7D7, 2 + end + +LilycoveCity_ContestHall_EventScript_21B497:: @ 821B497 + msgbox LilycoveCity_ContestHall_Text_21B899, 2 + end + +LilycoveCity_ContestHall_EventScript_21B4A0:: @ 821B4A0 + msgbox LilycoveCity_ContestHall_Text_21B911, 2 + end + +LilycoveCity_ContestHall_EventScript_21B4A9:: @ 821B4A9 + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21B977, 4 + closemessage + applymovement 4, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B4C0:: @ 821B4C0 + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21B9DC, 4 + closemessage + applymovement 5, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B4D7:: @ 821B4D7 + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21BA44, 4 + closemessage + applymovement 6, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B4EE:: @ 821B4EE + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21BAD5, 4 + closemessage + applymovement 7, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B505:: @ 821B505 + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21BB84, 4 + closemessage + applymovement 8, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B51C:: @ 821B51C + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21BBDD, 4 + closemessage + applymovement 9, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B533:: @ 821B533 + msgbox LilycoveCity_ContestHall_Text_21BC65, 3 + end + +LilycoveCity_ContestHall_EventScript_21B53C:: @ 821B53C + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21BC89, 4 + closemessage + applymovement 12, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B553:: @ 821B553 + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21BD30, 4 + closemessage + applymovement 22, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B56A:: @ 821B56A + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21BD70, 4 + closemessage + applymovement 11, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B581:: @ 821B581 + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21BDDD, 4 + closemessage + applymovement 13, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B598:: @ 821B598 + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21BE16, 4 + closemessage + applymovement 14, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B5AF:: @ 821B5AF + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21BE77, 4 + closemessage + applymovement 15, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B5C6:: @ 821B5C6 + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21BEDE, 4 + closemessage + applymovement 16, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B5DD:: @ 821B5DD + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21BF6E, 4 + closemessage + applymovement 17, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B5F4:: @ 821B5F4 + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21BFE3, 4 + closemessage + applymovement 18, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B60B:: @ 821B60B + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21C07F, 4 + closemessage + applymovement 19, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B622:: @ 821B622 + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21C0D8, 4 + closemessage + applymovement 21, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B639:: @ 821B639 + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21C137, 4 + closemessage + applymovement 20, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B650:: @ 821B650 + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21C1A4, 4 + closemessage + applymovement 23, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B667:: @ 821B667 + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21C215, 4 + closemessage + applymovement 24, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B67E:: @ 821B67E + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21C27F, 4 + closemessage + applymovement 25, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B695:: @ 821B695 + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21C2BB, 4 + closemessage + applymovement 26, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B6AC:: @ 821B6AC + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21C307, 4 + closemessage + applymovement 27, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B6C3:: @ 821B6C3 + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21C365, 4 + closemessage + applymovement 28, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B6DA:: @ 821B6DA + lockall + applymovement 29, LilycoveCity_ContestHall_Movement_27259E + waitmovement 0 + msgbox LilycoveCity_ContestHall_Text_21C3F4, 4 + closemessage + applymovement 29, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + delay 25 + msgbox LilycoveCity_ContestHall_Text_21C411, 4 + releaseall + end + +LilycoveCity_ContestHall_EventScript_21B705:: @ 821B705 + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21C4B1, 4 + closemessage + applymovement 31, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B71C:: @ 821B71C + lock + faceplayer + msgbox LilycoveCity_ContestHall_Text_21C445, 4 + closemessage + applymovement 30, LilycoveCity_ContestHall_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestHall_EventScript_21B733:: @ 821B733 + msgbox LilycoveCity_ContestHall_Text_21C512, 3 + end + +LilycoveCity_ContestHall_EventScript_21B73C:: @ 821B73C + msgbox LilycoveCity_ContestHall_Text_21C548, 3 + end + +LilycoveCity_ContestHall_EventScript_21B745:: @ 821B745 + msgbox LilycoveCity_ContestHall_Text_21C57B, 3 + end + +LilycoveCity_ContestHall_Text_21B74E: @ 821B74E + .string "This POKéMON won the BEAUTY CONTEST\n" + .string "here before.\p" + .string "Well, guess what? Today, I made it\n" + .string "win a SMARTNESS CONTEST!\p" + .string "My abilities scare even me…$" + +LilycoveCity_ContestHall_Text_21B7D7: @ 821B7D7 + .string "I’ve entered a bunch of CONTESTS,\n" + .string "so I’m seeing how things work.\p" + .string "If you’re in a COOLNESS CONTEST,\n" + .string "cool moves go over as appeals.\p" + .string "But smart moves and cute moves\n" + .string "don’t go over well, for instance.$" + +LilycoveCity_ContestHall_Text_21B899: @ 821B899 + .string "That young man who won earlier had\n" + .string "a whole bunch of different {POKEBLOCK}S.\p" + .string "Can you win if you had that many\n" + .string "of those things?$" + +LilycoveCity_ContestHall_Text_21B911: @ 821B911 + .string "Whoa, isn’t this place humongous!\p" + .string "The tension in the air… It’s not\n" + .string "like a CONTEST hall in the sticks.$" + +LilycoveCity_ContestHall_Text_21B977: @ 821B977 + .string "MC: Okay, SMART POKéMON and their\n" + .string "TRAINERS, are you ready?!\p" + .string "Give it your best showing!\n" + .string "Let’s appeal!$" + +LilycoveCity_ContestHall_Text_21B9DC: @ 821B9DC + .string "JUDGE: Are you enjoying this CONTEST?\p" + .string "Come back with three friends, and\n" + .string "all of you may enter a CONTEST!$" + +LilycoveCity_ContestHall_Text_21BA44: @ 821BA44 + .string "Ayayayay…\n" + .string "I entered the wrong CONTEST.\p" + .string "I entered this tough POKéMON in\n" + .string "the SMARTNESS CONTEST…\p" + .string "Come on, wow them with a smart-looking\n" + .string "ROCK SMASH.$" + +LilycoveCity_ContestHall_Text_21BAD5: @ 821BAD5 + .string "I’ve spent many a year, and all my\n" + .string "wisdom besides, raising this POKéMON\l" + .string "to be smart.\p" + .string "It won’t be easily bested by some\n" + .string "young pup’s POKéMON.\p" + .string "My dear wife, are you seeing this?$" + +LilycoveCity_ContestHall_Text_21BB84: @ 821BB84 + .string "There it is!\p" + .string "If my POKéMON pulls a smart move next,\n" + .string "the audience’s excitement will peak!$" + +LilycoveCity_ContestHall_Text_21BBDD: @ 821BBDD + .string "Oh, dear, no!\p" + .string "My darling ZUBAT’s LEECH LIFE is so\n" + .string "cute I kept using it over and over!\p" + .string "But these mean people don’t appreciate\n" + .string "it at all!$" + +LilycoveCity_ContestHall_Text_21BC65: @ 821BC65 + .string "Kiyaaah! You’re beautiful, Grandpa!$" + +LilycoveCity_ContestHall_Text_21BC89: @ 821BC89 + .string "Even when TRAINERS enter the same\n" + .string "kind of POKéMON, they all seem to use\l" + .string "different moves for appeals.\p" + .string "It’s just like the way people have\n" + .string "different styles for battling.$" + +LilycoveCity_ContestHall_Text_21BD30: @ 821BD30 + .string "I think the POKéMON look smarter\n" + .string "than their TRAINERS. By a lot.$" + +LilycoveCity_ContestHall_Text_21BD70: @ 821BD70 + .string "When all’s said and done, I still love\n" + .string "SMARTNESS CONTESTS.\p" + .string "That intellectual green color…\n" + .string "It’s so… So… Cool.$" + +LilycoveCity_ContestHall_Text_21BDDD: @ 821BDDD + .string "MC: Are you entering the BEAUTY\n" + .string "CONTEST, too? Good luck!$" + +LilycoveCity_ContestHall_Text_21BE16: @ 821BE16 + .string "JUDGE: Ah, every POKéMON here is\n" + .string "a model of pristine beauty!\p" + .string "Why, I almost forgot to score them!$" + +LilycoveCity_ContestHall_Text_21BE77: @ 821BE77 + .string "A POKéMON this beautiful…\n" + .string "There isn’t another one like it.\p" + .string "Everyone’s eyes will be glued to\n" + .string "my beauty.$" + +LilycoveCity_ContestHall_Text_21BEDE: @ 821BEDE + .string "Waaaah!\p" + .string "I brushed and groomed my POKéMON\n" + .string "carefully for this CONTEST…\p" + .string "But I overdid it…\n" + .string "My POKéMON’s coat turned all scraggly…\p" + .string "What should I do?$" + +LilycoveCity_ContestHall_Text_21BF6E: @ 821BF6E + .string "This AURORA BEAM is so dazzling,\n" + .string "the JUDGE won’t be able to see it.\p" + .string "Uh, wait a second…\n" + .string "That’ll be meaningless, then!$" + +LilycoveCity_ContestHall_Text_21BFE3: @ 821BFE3 + .string "This pretty POKéMON looks just like\n" + .string "me when I was younger.\p" + .string "Right when I said that, my husband\n" + .string "spewed the coffee he was drinking.\p" + .string "Did I say something funny?$" + +LilycoveCity_ContestHall_Text_21C07F: @ 821C07F + .string "You know, if I win at a BEAUTY\n" + .string "CONTEST, sure it makes me\l" + .string "happy. More than usual, anyway.$" + +LilycoveCity_ContestHall_Text_21C0D8: @ 821C0D8 + .string "Wahahahah!\p" + .string "Will you take a gander at all those\n" + .string "pretty POKéMON!\l" + .string "I just love this sort of glitz!$" + +LilycoveCity_ContestHall_Text_21C137: @ 821C137 + .string "You can’t always win on just beauty\n" + .string "alone.\p" + .string "You have to groom your POKéMON so\n" + .string "it’s nice and glossy like mine.$" + +LilycoveCity_ContestHall_Text_21C1A4: @ 821C1A4 + .string "MC: Uh-oh! Hello!\n" + .string "We’re in the middle of a CONTEST!\p" + .string "Please enter at our registration\n" + .string "counter and come out, okay?$" + +LilycoveCity_ContestHall_Text_21C215: @ 821C215 + .string "JUDGE: Oh, such charming and cute\n" + .string "appeals!\p" + .string "Oh, my goodness! What a perfectly\n" + .string "adorable WATER SPORT appeal!$" + +LilycoveCity_ContestHall_Text_21C27F: @ 821C27F + .string "Oh, no… My sweet AZURILL was\n" + .string "distracted by another POKéMON.$" + +LilycoveCity_ContestHall_Text_21C2BB: @ 821C2BB + .string "My POKéMON has never won in a battle,\n" + .string "but put it in a CONTEST and look out!$" + +LilycoveCity_ContestHall_Text_21C307: @ 821C307 + .string "My POKéMON’s PETAL DANCE is a marvel\n" + .string "of elegance.\p" + .string "I won’t let anyone disturb its\n" + .string "performance.$" + +LilycoveCity_ContestHall_Text_21C365: @ 821C365 + .string "Everyone’s POKéMON are very cute.\p" + .string "However, if my POKéMON were to make\n" + .string "a cute appeal…\p" + .string "I’m sure that it would be so much \n" + .string "cuter than the others.$" + +LilycoveCity_ContestHall_Text_21C3F4: @ 821C3F4 + .string "My child is in this CONTEST.$" + +LilycoveCity_ContestHall_Text_21C411: @ 821C411 + .string "Come on, dear. Go for it!\n" + .string "Your POKéMON is the best!$" + +LilycoveCity_ContestHall_Text_21C445: @ 821C445 + .string "I think that girl over there is\n" + .string "the cutest of the lot.\p" + .string "What’s that? They’re judging\n" + .string "POKéMON by their looks?$" + +LilycoveCity_ContestHall_Text_21C4B1: @ 821C4B1 + .string "Ohh, seeing all these cute POKéMON,\n" + .string "they make we want to get my own!\p" + .string "I’m going to go catch some!$" + +LilycoveCity_ContestHall_Text_21C512: @ 821C512 + .string "BEAUTY CONTEST STAGE\n" + .string "BE ALLURED BY BEAUTIFUL POKéMON!$" + +LilycoveCity_ContestHall_Text_21C548: @ 821C548 + .string "CUTENESS CONTEST STAGE\n" + .string "BE CHARMED BY CUTE POKéMON!$" + +LilycoveCity_ContestHall_Text_21C57B: @ 821C57B + .string "SMARTNESS CONTEST STAGE\n" + .string "BE IMPRESSED BY SMART POKéMON!$" + diff --git a/data/scripts/maps/LilycoveCity_ContestLobby.inc b/data/scripts/maps/LilycoveCity_ContestLobby.inc new file mode 100644 index 0000000000..beb96e171c --- /dev/null +++ b/data/scripts/maps/LilycoveCity_ContestLobby.inc @@ -0,0 +1,1121 @@ +LilycoveCity_ContestLobby_MapScripts:: @ 821A211 + map_script 3, LilycoveCity_ContestLobby_MapScript1_21A21C + map_script 2, LilycoveCity_ContestLobby_MapScript2_21A243 + .byte 0 + +LilycoveCity_ContestLobby_MapScript1_21A21C: @ 821A21C + call LilycoveCity_ContestLobby_EventScript_28CB2B + call LilycoveCity_ContestLobby_EventScript_21A227 + end + +LilycoveCity_ContestLobby_EventScript_21A227:: @ 821A227 + getpricereduction 4 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_21A23C + clearflag FLAG_0x369 + setflag FLAG_0x340 + return + +LilycoveCity_ContestLobby_EventScript_21A23C:: @ 821A23C + setflag FLAG_0x369 + clearflag FLAG_0x340 + return + +LilycoveCity_ContestLobby_MapScript2_21A243: @ 821A243 + map_script_2 VAR_0x4099, 1, LilycoveCity_ContestLobby_EventScript_21A255 + map_script_2 VAR_0x4099, 2, LilycoveCity_ContestLobby_EventScript_21A427 + .2byte 0 + +LilycoveCity_ContestLobby_EventScript_21A255:: @ 821A255 + checkflag FLAG_0x307 + goto_eq LilycoveCity_ContestLobby_EventScript_21A264 + setvar VAR_0x4099, 0 + end + +LilycoveCity_ContestLobby_EventScript_21A264:: @ 821A264 + lockall + addobject 4 + applymovement 4, LilycoveCity_ContestLobby_Movement_21A407 + waitmovement 4 + applymovement 255, LilycoveCity_ContestLobby_Movement_21A418 + waitmovement 0 + msgbox LilycoveCity_ContestLobby_Text_21ADB9, 4 + lockall + fadescreen 1 + drawcontestwinner 0 + lockall + msgbox LilycoveCity_ContestLobby_Text_21AE78, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_21A2AA + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_21A2E4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_21A2AA:: @ 821A2AA + msgbox LilycoveCity_ContestLobby_Text_21AF63, 4 + closemessage + special sub_80F88DC + setvar VAR_0x4099, 0 + specialvar VAR_RESULT, sub_80F8C7C + compare VAR_RESULT, 1 + call_if 1, LilycoveCity_ContestLobby_EventScript_21A314 + applymovement 4, LilycoveCity_ContestLobby_Movement_21A40F + waitmovement 0 + removeobject 4 + call LilycoveCity_ContestLobby_EventScript_21A360 + call LilycoveCity_ContestLobby_EventScript_21A3B6 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_21A2E4:: @ 821A2E4 + msgbox LilycoveCity_ContestLobby_Text_21B0BC, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_21A2AA + msgbox LilycoveCity_ContestLobby_Text_21B132, 4 + closemessage + applymovement 4, LilycoveCity_ContestLobby_Movement_21A40F + waitmovement 0 + setvar VAR_0x4099, 0 + removeobject 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_21A314:: @ 821A314 + incrementgamestat 42 + special sub_80F8390 + applymovement 4, LilycoveCity_ContestLobby_Movement_21A41A + waitmovement 0 + playse SE_PIN + applymovement 4, LilycoveCity_ContestLobby_Movement_272598 + waitmovement 0 + applymovement 4, LilycoveCity_ContestLobby_Movement_21A41E + waitmovement 0 + msgbox LilycoveCity_ContestLobby_Text_21B030, 4 + playfanfare MUS_FANFA4 + msgbox LilycoveCity_ContestLobby_Text_21B07E, 4 + waitfanfare + msgbox LilycoveCity_ContestLobby_Text_21B094, 4 + msgbox LilycoveCity_ContestLobby_Text_21B0AD, 4 + closemessage + return + +LilycoveCity_ContestLobby_EventScript_21A360:: @ 821A360 + specialvar VAR_0x8004, sub_80F8940 + switch VAR_0x8004 + case 1, LilycoveCity_ContestLobby_EventScript_21A3A2 + case 2, LilycoveCity_ContestLobby_EventScript_21A3A6 + case 3, LilycoveCity_ContestLobby_EventScript_21A3AA + case 4, LilycoveCity_ContestLobby_EventScript_21A3AE + case 5, LilycoveCity_ContestLobby_EventScript_21A3B2 + return + +LilycoveCity_ContestLobby_EventScript_21A3A2:: @ 821A3A2 + clearflag FLAG_0x308 + return + +LilycoveCity_ContestLobby_EventScript_21A3A6:: @ 821A3A6 + clearflag FLAG_0x309 + return + +LilycoveCity_ContestLobby_EventScript_21A3AA:: @ 821A3AA + clearflag FLAG_0x30A + return + +LilycoveCity_ContestLobby_EventScript_21A3AE:: @ 821A3AE + clearflag FLAG_0x30B + return + +LilycoveCity_ContestLobby_EventScript_21A3B2:: @ 821A3B2 + clearflag FLAG_0x30C + return + +LilycoveCity_ContestLobby_EventScript_21A3B6:: @ 821A3B6 + switch VAR_CONTEST_CATEGORY + case 0, LilycoveCity_ContestLobby_EventScript_21A3F3 + case 1, LilycoveCity_ContestLobby_EventScript_21A3F7 + case 2, LilycoveCity_ContestLobby_EventScript_21A3FB + case 3, LilycoveCity_ContestLobby_EventScript_21A3FF + case 4, LilycoveCity_ContestLobby_EventScript_21A403 + return + +LilycoveCity_ContestLobby_EventScript_21A3F3:: @ 821A3F3 + setflag FLAG_0x0A0 + return + +LilycoveCity_ContestLobby_EventScript_21A3F7:: @ 821A3F7 + setflag FLAG_0x0A1 + return + +LilycoveCity_ContestLobby_EventScript_21A3FB:: @ 821A3FB + setflag FLAG_0x0A2 + return + +LilycoveCity_ContestLobby_EventScript_21A3FF:: @ 821A3FF + setflag FLAG_0x0A3 + return + +LilycoveCity_ContestLobby_EventScript_21A403:: @ 821A403 + setflag FLAG_0x0A4 + return + +LilycoveCity_ContestLobby_Movement_21A407: @ 821A407 + step_down + step_down + step_down + step_right + step_right + step_right + step_right + step_end + +LilycoveCity_ContestLobby_Movement_21A40F: @ 821A40F + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_end + +LilycoveCity_ContestLobby_Movement_21A418: @ 821A418 + step_27 + step_end + +LilycoveCity_ContestLobby_Movement_21A41A: @ 821A41A + step_down + step_down + step_down + step_end + +LilycoveCity_ContestLobby_Movement_21A41E: @ 821A41E + step_14 + step_14 + step_14 + step_14 + step_16 + step_16 + step_16 + step_28 + step_end + +LilycoveCity_ContestLobby_EventScript_21A427:: @ 821A427 + checkflag FLAG_0x307 + goto_eq LilycoveCity_ContestLobby_EventScript_21A436 + setvar VAR_0x4099, 0 + end + +LilycoveCity_ContestLobby_EventScript_21A436:: @ 821A436 + lockall + addobject 11 + applymovement 11, LilycoveCity_ContestLobby_Movement_21A533 + waitmovement 11 + applymovement 255, LilycoveCity_ContestLobby_Movement_21A545 + waitmovement 0 + msgbox LilycoveCity_ContestLobby_Text_21ADB9, 4 + lockall + fadescreen 1 + drawcontestwinner 0 + msgbox LilycoveCity_ContestLobby_Text_21AE78, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_21A47A + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_21A4B4 + end + +LilycoveCity_ContestLobby_EventScript_21A47A:: @ 821A47A + msgbox LilycoveCity_ContestLobby_Text_21AF63, 4 + closemessage + special sub_80F88DC + setvar VAR_0x4099, 0 + specialvar VAR_RESULT, sub_80F8C7C + compare VAR_RESULT, 1 + call_if 1, LilycoveCity_ContestLobby_EventScript_21A4E4 + applymovement 11, LilycoveCity_ContestLobby_Movement_21A53C + waitmovement 0 + removeobject 11 + call LilycoveCity_ContestLobby_EventScript_21A360 + call LilycoveCity_ContestLobby_EventScript_21A3B6 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_21A4B4:: @ 821A4B4 + msgbox LilycoveCity_ContestLobby_Text_21B0BC, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_21A47A + msgbox LilycoveCity_ContestLobby_Text_21B132, 4 + closemessage + applymovement 11, LilycoveCity_ContestLobby_Movement_21A53C + waitmovement 0 + setvar VAR_0x4099, 0 + removeobject 11 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_21A4E4:: @ 821A4E4 + incrementgamestat 42 + setflag FLAG_SYS_RIBBON_GET + special sub_80F8390 + applymovement 11, LilycoveCity_ContestLobby_Movement_21A547 + waitmovement 0 + playse SE_PIN + applymovement 11, LilycoveCity_ContestLobby_Movement_272598 + waitmovement 0 + applymovement 11, LilycoveCity_ContestLobby_Movement_21A54B + waitmovement 0 + msgbox LilycoveCity_ContestLobby_Text_21B030, 4 + playfanfare MUS_FANFA4 + msgbox LilycoveCity_ContestLobby_Text_21B07E, 4 + waitfanfare + msgbox LilycoveCity_ContestLobby_Text_21B094, 4 + msgbox LilycoveCity_ContestLobby_Text_21B0AD, 4 + closemessage + return + +LilycoveCity_ContestLobby_Movement_21A533: @ 821A533 + step_down + step_down + step_down + step_left + step_left + step_left + step_left + step_left + step_end + +LilycoveCity_ContestLobby_Movement_21A53C: @ 821A53C + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_end + +LilycoveCity_ContestLobby_Movement_21A545: @ 821A545 + step_28 + step_end + +LilycoveCity_ContestLobby_Movement_21A547: @ 821A547 + step_down + step_down + step_down + step_end + +LilycoveCity_ContestLobby_Movement_21A54B: @ 821A54B + step_14 + step_14 + step_14 + step_14 + step_16 + step_16 + step_16 + step_27 + step_end + +LilycoveCity_ContestLobby_EventScript_21A554:: @ 821A554 + special sub_80F9154 + specialvar VAR_RESULT, sub_80F8D24 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_21A5CF + call LilycoveCity_ContestLobby_EventScript_279CC5 + call LilycoveCity_ContestLobby_EventScript_21A670 + special sub_80F87D8 + call LilycoveCity_ContestLobby_EventScript_23BEB6 + call LilycoveCity_ContestLobby_EventScript_21A585 + call LilycoveCity_ContestLobby_EventScript_21A5EF + waitstate + end + +LilycoveCity_ContestLobby_EventScript_21A585:: @ 821A585 + switch VAR_CONTEST_RANK + case 0, LilycoveCity_ContestLobby_EventScript_21A5B7 + case 1, LilycoveCity_ContestLobby_EventScript_21A5BD + case 2, LilycoveCity_ContestLobby_EventScript_21A5C3 + case 3, LilycoveCity_ContestLobby_EventScript_21A5C9 + return + +LilycoveCity_ContestLobby_EventScript_21A5B7:: @ 821A5B7 + setvar VAR_0x4088, 1 + return + +LilycoveCity_ContestLobby_EventScript_21A5BD:: @ 821A5BD + setvar VAR_0x4088, 2 + return + +LilycoveCity_ContestLobby_EventScript_21A5C3:: @ 821A5C3 + setvar VAR_0x4088, 3 + return + +LilycoveCity_ContestLobby_EventScript_21A5C9:: @ 821A5C9 + setvar VAR_0x4088, 4 + return + +LilycoveCity_ContestLobby_EventScript_21A5CF:: @ 821A5CF + setflag FLAG_0x307 + copyvar VAR_0x4094, 0x1 + giveitem ITEM_CONTEST_PASS, 1 + setvar VAR_0x800B, 8 + setvar VAR_CONTEST_RANK, 3 + setvar VAR_0x4099, 1 + setflag FLAG_SYS_RIBBON_GET + end + +LilycoveCity_ContestLobby_EventScript_21A5EF:: @ 821A5EF + setflag FLAG_0x155 + switch VAR_CONTEST_CATEGORY + case 0, LilycoveCity_ContestLobby_EventScript_21A62F + case 1, LilycoveCity_ContestLobby_EventScript_21A63C + case 2, LilycoveCity_ContestLobby_EventScript_21A649 + case 3, LilycoveCity_ContestLobby_EventScript_21A656 + case 4, LilycoveCity_ContestLobby_EventScript_21A663 + return + +LilycoveCity_ContestLobby_EventScript_21A62F:: @ 821A62F + setwarp LINK_CONTEST_ROOM_4, 255, 7, 5 + special sub_80AFC60 + waitstate + return + +LilycoveCity_ContestLobby_EventScript_21A63C:: @ 821A63C + setwarp LINK_CONTEST_ROOM_2, 255, 7, 5 + special sub_80AFC60 + waitstate + return + +LilycoveCity_ContestLobby_EventScript_21A649:: @ 821A649 + setwarp LINK_CONTEST_ROOM_6, 255, 7, 5 + special sub_80AFC60 + waitstate + return + +LilycoveCity_ContestLobby_EventScript_21A656:: @ 821A656 + setwarp LINK_CONTEST_ROOM_5, 255, 7, 5 + special sub_80AFC60 + waitstate + return + +LilycoveCity_ContestLobby_EventScript_21A663:: @ 821A663 + setwarp LINK_CONTEST_ROOM_3, 255, 7, 5 + special sub_80AFC60 + waitstate + return + +LilycoveCity_ContestLobby_EventScript_21A670:: @ 821A670 + lockall + applymovement 1, LilycoveCity_ContestLobby_Movement_21A6F5 + waitmovement 0 + playse SE_HASHI + setmetatile 12, 2, 545, 1 + setmetatile 12, 3, 609, 1 + special DrawWholeMapView + applymovement 1, LilycoveCity_ContestLobby_Movement_21A6F9 + waitmovement 0 + playse SE_HASHI + setmetatile 12, 2, 721, 1 + setmetatile 12, 3, 729, 1 + special DrawWholeMapView + delay 20 + applymovement 1, LilycoveCity_ContestLobby_Movement_21A706 + waitmovement 0 + applymovement 255, LilycoveCity_ContestLobby_Movement_21A6F2 + waitmovement 0 + msgbox LilycoveCity_ContestLobby_Text_27B653, 4 + closemessage + applymovement 1, LilycoveCity_ContestLobby_Movement_21A6FD + applymovement 255, LilycoveCity_ContestLobby_Movement_21A6E8 + waitmovement 0 + releaseall + return + +LilycoveCity_ContestLobby_Movement_21A6E8: @ 821A6E8 + step_left + step_left + step_left + step_left + step_up + step_up + step_up + step_13 + step_54 + step_end + +LilycoveCity_ContestLobby_Movement_21A6F2: @ 821A6F2 + step_27 + step_left + step_end + +LilycoveCity_ContestLobby_Movement_21A6F5: @ 821A6F5 + step_left + step_left + step_25 + step_end + +LilycoveCity_ContestLobby_Movement_21A6F9: @ 821A6F9 + step_down + step_down + step_26 + step_end + +LilycoveCity_ContestLobby_Movement_21A6FD: @ 821A6FD + step_left + step_left + step_left + step_up + step_up + step_up + step_13 + step_54 + step_end + +LilycoveCity_ContestLobby_Movement_21A706: @ 821A706 + step_28 + step_end + +LilycoveCity_ContestLobby_EventScript_21A708:: @ 821A708 + msgbox LilycoveCity_ContestLobby_Text_21B1B1, 2 + end + +LilycoveCity_ContestLobby_EventScript_21A711:: @ 821A711 + msgbox LilycoveCity_ContestLobby_Text_21B24D, 2 + end + +LilycoveCity_ContestLobby_EventScript_21A71A:: @ 821A71A + msgbox LilycoveCity_ContestLobby_Text_21B2BA, 2 + end + +LilycoveCity_ContestLobby_EventScript_21A723:: @ 821A723 + msgbox LilycoveCity_ContestLobby_Text_21B334, 2 + end + +LilycoveCity_ContestLobby_EventScript_21A72C:: @ 821A72C + msgbox LilycoveCity_ContestLobby_Text_21B392, 2 + end + +LilycoveCity_ContestLobby_EventScript_21A735:: @ 821A735 + msgbox LilycoveCity_ContestLobby_Text_21B3FC, 2 + end + +LilycoveCity_ContestLobby_EventScript_21A73E:: @ 821A73E + lockall + fadescreen 1 + drawcontestwinner 1 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_21A745:: @ 821A745 + lockall + fadescreen 1 + drawcontestwinner 2 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_21A74C:: @ 821A74C + lockall + fadescreen 1 + drawcontestwinner 3 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_21A753:: @ 821A753 + lockall + fadescreen 1 + drawcontestwinner 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_21A75A:: @ 821A75A + lockall + fadescreen 1 + drawcontestwinner 5 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_21A761:: @ 821A761 + lockall + fadescreen 1 + drawcontestwinner 6 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_21A768:: @ 821A768 + msgbox LilycoveCity_ContestLobby_Text_2931AA, 2 + end + +LilycoveCity_ContestLobby_EventScript_21A771:: @ 821A771 + msgbox LilycoveCity_ContestLobby_Text_2931C6, 2 + end + +LilycoveCity_ContestLobby_EventScript_21A77A:: @ 821A77A + lockall + special ShowBerryBlenderRecordWindow + waitbuttonpress + special sub_813C5A0 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_21A784:: @ 821A784 + lockall + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 7 + special sub_81A1780 + waitbuttonpress + special sub_813C5A0 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_21A798:: @ 821A798 + lock + faceplayer + msgbox LilycoveCity_ContestLobby_Text_2C427C, 4 + goto LilycoveCity_ContestLobby_EventScript_21A7F9 + end + +LilycoveCity_ContestLobby_EventScript_21A7A8:: @ 821A7A8 + lock + msgbox LilycoveCity_ContestLobby_Text_2C464B, 4 + release + end + +LilycoveCity_ContestLobby_EventScript_21A7B3:: @ 821A7B3 + lock + msgbox LilycoveCity_ContestLobby_Text_2C465A, 4 + release + end + +LilycoveCity_ContestLobby_EventScript_21A7BE:: @ 821A7BE + lock + msgbox LilycoveCity_ContestLobby_Text_2C4669, 4 + release + end + +LilycoveCity_ContestLobby_EventScript_21A7C9:: @ 821A7C9 + lock + faceplayer + msgbox LilycoveCity_ContestLobby_Text_2C4679, 4 + goto LilycoveCity_ContestLobby_EventScript_21A7F9 + end + +LilycoveCity_ContestLobby_EventScript_21A7D9:: @ 821A7D9 + lock + faceplayer + msgbox LilycoveCity_ContestLobby_Text_2C46B1, 4 + goto LilycoveCity_ContestLobby_EventScript_21A7F9 + end + +LilycoveCity_ContestLobby_EventScript_21A7E9:: @ 821A7E9 + lock + faceplayer + msgbox LilycoveCity_ContestLobby_Text_2C4763, 4 + goto LilycoveCity_ContestLobby_EventScript_21A7F9 + end + +LilycoveCity_ContestLobby_EventScript_21A7F9:: @ 821A7F9 + closemessage + applymovement VAR_LAST_TALKED, LilycoveCity_ContestLobby_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_ContestLobby_EventScript_21A806:: @ 821A806 + special sub_80F9154 + lock + faceplayer + msgbox LilycoveCity_ContestLobby_Text_27C063, 4 + goto LilycoveCity_ContestLobby_EventScript_21A819 + end + +LilycoveCity_ContestLobby_EventScript_21A819:: @ 821A819 + message LilycoveCity_ContestLobby_Text_27C0F6 + waitmessage + multichoice 0, 0, 2, 0 + switch VAR_RESULT + case 0, LilycoveCity_ContestLobby_EventScript_21A856 + case 1, LilycoveCity_ContestLobby_EventScript_21A90D + case 2, LilycoveCity_ContestLobby_EventScript_21A97F + case 127, LilycoveCity_ContestLobby_EventScript_21A97F + end + +LilycoveCity_ContestLobby_EventScript_21A856:: @ 821A856 + msgbox LilycoveCity_ContestLobby_Text_27BD17, 5 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_21A97F + call LilycoveCity_ContestLobby_EventScript_27134F + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_21A97F + message LilycoveCity_ContestLobby_Text_27C8FD + waitmessage + specialvar VAR_0x400D, sub_80093CC + multichoice 0, 0, 85, 0 + switch VAR_RESULT + case 0, LilycoveCity_ContestLobby_EventScript_21A8BB + case 1, LilycoveCity_ContestLobby_EventScript_21A8C6 + case 2, LilycoveCity_ContestLobby_EventScript_21A97F + case 127, LilycoveCity_ContestLobby_EventScript_21A97F + end + +LilycoveCity_ContestLobby_EventScript_21A8BB:: @ 821A8BB + setvar VAR_0x400C, 0 + goto LilycoveCity_ContestLobby_EventScript_21A8DC + end + +LilycoveCity_ContestLobby_EventScript_21A8C6:: @ 821A8C6 + setvar VAR_0x400C, 1 + compare VAR_0x400D, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_21AAFC + goto LilycoveCity_ContestLobby_EventScript_21A8DC + end + +LilycoveCity_ContestLobby_EventScript_21A8DC:: @ 821A8DC + message LilycoveCity_ContestLobby_Text_27C119 + waitmessage + multichoice 0, 0, 4, 0 + switch VAR_RESULT + case 5, LilycoveCity_ContestLobby_EventScript_21A97F + case 127, LilycoveCity_ContestLobby_EventScript_21A97F + copyvar VAR_CONTEST_CATEGORY, VAR_RESULT + goto LilycoveCity_ContestLobby_EventScript_21A98C + end + +LilycoveCity_ContestLobby_EventScript_21A90D:: @ 821A90D + message LilycoveCity_ContestLobby_Text_27C0DA + waitmessage + multichoice 0, 0, 84, 0 + switch VAR_RESULT + case 0, LilycoveCity_ContestLobby_EventScript_21A955 + case 1, LilycoveCity_ContestLobby_EventScript_21A963 + case 2, LilycoveCity_ContestLobby_EventScript_21A971 + case 3, LilycoveCity_ContestLobby_EventScript_21A819 + case 127, LilycoveCity_ContestLobby_EventScript_21A819 + end + +LilycoveCity_ContestLobby_EventScript_21A955:: @ 821A955 + msgbox LilycoveCity_ContestLobby_Text_27C340, 4 + goto LilycoveCity_ContestLobby_EventScript_21A90D + end + +LilycoveCity_ContestLobby_EventScript_21A963:: @ 821A963 + msgbox LilycoveCity_ContestLobby_Text_27C5B1, 4 + goto LilycoveCity_ContestLobby_EventScript_21A90D + end + +LilycoveCity_ContestLobby_EventScript_21A971:: @ 821A971 + msgbox LilycoveCity_ContestLobby_Text_27C742, 4 + goto LilycoveCity_ContestLobby_EventScript_21A90D + end + +LilycoveCity_ContestLobby_EventScript_21A97F:: @ 821A97F + special CloseLink + msgbox LilycoveCity_ContestLobby_Text_27BD4F, 4 + release + end + +LilycoveCity_ContestLobby_EventScript_21A98C:: @ 821A98C + msgbox LilycoveCity_ContestLobby_Text_27C1C3, 4 + setvar VAR_CONTEST_RANK, 0 + choosecontestmon + compare VAR_0x8004, 255 + goto_eq LilycoveCity_ContestLobby_EventScript_21A97F + special sub_80F7F30 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_21A9E0 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_21AA0A + compare VAR_RESULT, 2 + goto_eq LilycoveCity_ContestLobby_EventScript_21AA0A + compare VAR_RESULT, 3 + goto_eq LilycoveCity_ContestLobby_EventScript_21A9EE + compare VAR_RESULT, 4 + goto_eq LilycoveCity_ContestLobby_EventScript_21A9FC + end + +LilycoveCity_ContestLobby_EventScript_21A9E0:: @ 821A9E0 + msgbox LilycoveCity_ContestLobby_Text_27B471, 4 + goto LilycoveCity_ContestLobby_EventScript_21A98C + end + +LilycoveCity_ContestLobby_EventScript_21A9EE:: @ 821A9EE + msgbox LilycoveCity_ContestLobby_Text_27C186, 4 + goto LilycoveCity_ContestLobby_EventScript_21A98C + end + +LilycoveCity_ContestLobby_EventScript_21A9FC:: @ 821A9FC + msgbox LilycoveCity_ContestLobby_Text_27C140, 4 + goto LilycoveCity_ContestLobby_EventScript_21A98C + end + +LilycoveCity_ContestLobby_EventScript_21AA0A:: @ 821AA0A + copyvar VAR_0x8008, VAR_0x8004 + goto LilycoveCity_ContestLobby_EventScript_21AA15 + end + +LilycoveCity_ContestLobby_EventScript_21AA15:: @ 821AA15 + compare VAR_0x400D, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_21AB4B + compare VAR_0x400D, 2 + goto_if 4, LilycoveCity_ContestLobby_EventScript_21A97F + message LilycoveCity_ContestLobby_Text_27BF85 + waitmessage + copyvar VAR_0x8004, VAR_RESULT + compare VAR_0x400C, 0 + call_if 1, LilycoveCity_ContestLobby_EventScript_21AABB + compare VAR_0x400C, 1 + call_if 1, LilycoveCity_ContestLobby_EventScript_21AAC0 + compare VAR_0x400C, 2 + goto_if 4, LilycoveCity_ContestLobby_EventScript_21A97F + compare VAR_RESULT, 4 + goto_eq LilycoveCity_ContestLobby_EventScript_21AAD3 + compare VAR_RESULT, 3 + goto_eq LilycoveCity_ContestLobby_EventScript_21AAD3 + compare VAR_RESULT, 5 + goto_eq LilycoveCity_ContestLobby_EventScript_21A97F + compare VAR_RESULT, 6 + goto_eq LilycoveCity_ContestLobby_EventScript_21AAEF + compare VAR_RESULT, 10 + goto_eq LilycoveCity_ContestLobby_EventScript_21AAE1 + message3 LilycoveCity_ContestLobby_Text_27BEEC + contestlinktransfer + switch VAR_0x8004 + case 0, LilycoveCity_ContestLobby_EventScript_21AB17 + case 1, LilycoveCity_ContestLobby_EventScript_21AAC5 + case 2, LilycoveCity_ContestLobby_EventScript_21AB09 + end + +LilycoveCity_ContestLobby_EventScript_21AABB:: @ 821AABB + special sub_80B3028 + waitstate + return + +LilycoveCity_ContestLobby_EventScript_21AAC0:: @ 821AAC0 + special sub_80B3000 + waitstate + return + +LilycoveCity_ContestLobby_EventScript_21AAC5:: @ 821AAC5 + msgbox LilycoveCity_ContestLobby_Text_27BF0E, 4 + goto LilycoveCity_ContestLobby_EventScript_21A97F + end + +LilycoveCity_ContestLobby_EventScript_21AAD3:: @ 821AAD3 + msgbox LilycoveCity_ContestLobby_Text_27BF4B, 4 + goto LilycoveCity_ContestLobby_EventScript_21A97F + end + +LilycoveCity_ContestLobby_EventScript_21AAE1:: @ 821AAE1 + msgbox LilycoveCity_ContestLobby_Text_27C254, 4 + goto LilycoveCity_ContestLobby_EventScript_21A97F + end + +LilycoveCity_ContestLobby_EventScript_21AAEF:: @ 821AAEF + special CloseLink + msgbox LilycoveCity_ContestLobby_Text_27821C, 4 + release + end + +LilycoveCity_ContestLobby_EventScript_21AAFC:: @ 821AAFC + special CloseLink + msgbox LilycoveCity_ContestLobby_Text_27C879, 4 + release + end + +LilycoveCity_ContestLobby_EventScript_21AB09:: @ 821AB09 + msgbox LilycoveCity_ContestLobby_Text_27BEFA, 4 + goto LilycoveCity_ContestLobby_EventScript_21A97F + end + +LilycoveCity_ContestLobby_EventScript_21AB17:: @ 821AB17 + special sub_80F84B0 + addvar VAR_0x8004, 1 + buffernumberstring 1, VAR_0x8004 + messageautoscroll LilycoveCity_ContestLobby_Text_27BFF8 + waitmessage + subvar VAR_0x8004, 1 + call LilycoveCity_ContestLobby_EventScript_21AC49 + setvar VAR_0x4086, 1 + special sub_80F8AFC + setvar VAR_0x4088, 5 + setvar VAR_CONTEST_RANK, 3 + call LilycoveCity_ContestLobby_EventScript_21A5EF + end + +LilycoveCity_ContestLobby_EventScript_21AB4B:: @ 821AB4B + compare VAR_CONTEST_CATEGORY, 0 + call_if 1, LilycoveCity_ContestLobby_EventScript_21AB88 + compare VAR_CONTEST_CATEGORY, 1 + call_if 1, LilycoveCity_ContestLobby_EventScript_21AB8E + compare VAR_CONTEST_CATEGORY, 2 + call_if 1, LilycoveCity_ContestLobby_EventScript_21AB94 + compare VAR_CONTEST_CATEGORY, 3 + call_if 1, LilycoveCity_ContestLobby_EventScript_21AB9A + compare VAR_CONTEST_CATEGORY, 4 + call_if 1, LilycoveCity_ContestLobby_EventScript_21ABA0 + goto LilycoveCity_ContestLobby_EventScript_21ABA6 + end + +LilycoveCity_ContestLobby_EventScript_21AB88:: @ 821AB88 + setvar VAR_0x8004, 15 + return + +LilycoveCity_ContestLobby_EventScript_21AB8E:: @ 821AB8E + setvar VAR_0x8004, 16 + return + +LilycoveCity_ContestLobby_EventScript_21AB94:: @ 821AB94 + setvar VAR_0x8004, 17 + return + +LilycoveCity_ContestLobby_EventScript_21AB9A:: @ 821AB9A + setvar VAR_0x8004, 18 + return + +LilycoveCity_ContestLobby_EventScript_21ABA0:: @ 821ABA0 + setvar VAR_0x8004, 19 + return + +LilycoveCity_ContestLobby_EventScript_21ABA6:: @ 821ABA6 + message LilycoveCity_ContestLobby_Text_27C1EA + waitmessage + multichoice 16, 6, 81, 0 + switch VAR_RESULT + case 0, LilycoveCity_ContestLobby_EventScript_21AC0B + case 1, LilycoveCity_ContestLobby_EventScript_21ABE3 + case 2, LilycoveCity_ContestLobby_EventScript_21A97F + case 127, LilycoveCity_ContestLobby_EventScript_21A97F + end + +LilycoveCity_ContestLobby_EventScript_21ABE3:: @ 821ABE3 + call LilycoveCity_ContestLobby_EventScript_21AC33 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_21AC3D + compare VAR_RESULT, 5 + goto_eq LilycoveCity_ContestLobby_EventScript_21ABA6 + compare VAR_RESULT, 8 + goto_eq LilycoveCity_ContestLobby_EventScript_21ABE3 + release + end + +LilycoveCity_ContestLobby_EventScript_21AC0B:: @ 821AC0B + call LilycoveCity_ContestLobby_EventScript_21AC38 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_21AC3D + compare VAR_RESULT, 5 + goto_eq LilycoveCity_ContestLobby_EventScript_21ABA6 + compare VAR_RESULT, 8 + goto_eq LilycoveCity_ContestLobby_EventScript_21AC0B + release + end + +LilycoveCity_ContestLobby_EventScript_21AC33:: @ 821AC33 + special BerryBlenderLinkBecomeLeader + waitstate + return + +LilycoveCity_ContestLobby_EventScript_21AC38:: @ 821AC38 + special BerryBlenderLinkJoinGroup + waitstate + return + +LilycoveCity_ContestLobby_EventScript_21AC3D:: @ 821AC3D + message3 LilycoveCity_ContestLobby_Text_27BEEC + contestlinktransfer + goto LilycoveCity_ContestLobby_EventScript_21AB17 + end + +LilycoveCity_ContestLobby_EventScript_21AC49:: @ 821AC49 + messageautoscroll LilycoveCity_ContestLobby_Text_27C043 + waitmessage + delay 20 + closemessage + applymovement 2, LilycoveCity_ContestLobby_Movement_21ACDD + waitmovement 0 + playse SE_HASHI + setmetatile 17, 2, 545, 1 + setmetatile 17, 3, 609, 1 + special DrawWholeMapView + applymovement 2, LilycoveCity_ContestLobby_Movement_21ACE1 + waitmovement 0 + playse SE_HASHI + setmetatile 17, 2, 721, 1 + setmetatile 17, 3, 729, 1 + special DrawWholeMapView + delay 20 + applymovement 2, LilycoveCity_ContestLobby_Movement_21ACEF + waitmovement 0 + applymovement 255, LilycoveCity_ContestLobby_Movement_21ACDB + waitmovement 0 + messageautoscroll LilycoveCity_ContestLobby_Text_27B653 + waitmessage + delay 20 + closemessage + call LilycoveCity_ContestLobby_EventScript_27AD92 + applymovement 2, LilycoveCity_ContestLobby_Movement_21ACE5 + applymovement 255, LilycoveCity_ContestLobby_Movement_21ACD0 + waitmovement 0 + release + return + +LilycoveCity_ContestLobby_Movement_21ACD0: @ 821ACD0 + step_right + step_right + step_right + step_right + step_right + step_up + step_up + step_up + step_13 + step_54 + step_end + +LilycoveCity_ContestLobby_Movement_21ACDB: @ 821ACDB + step_right + step_end + +LilycoveCity_ContestLobby_Movement_21ACDD: @ 821ACDD + step_right + step_right + step_25 + step_end + +LilycoveCity_ContestLobby_Movement_21ACE1: @ 821ACE1 + step_down + step_down + step_26 + step_end + +LilycoveCity_ContestLobby_Movement_21ACE5: @ 821ACE5 + step_right + step_right + step_right + step_right + step_up + step_up + step_up + step_13 + step_54 + step_end + +LilycoveCity_ContestLobby_Movement_21ACEF: @ 821ACEF + step_27 + step_end + +LilycoveCity_ContestLobby_EventScript_21ACF1:: @ 821ACF1 + lock + faceplayer + checkflag FLAG_0x05F + goto_eq LilycoveCity_ContestLobby_EventScript_21AD06 + msgbox LilycoveCity_ContestLobby_Text_21AD10, 4 + release + end + +LilycoveCity_ContestLobby_EventScript_21AD06:: @ 821AD06 + msgbox LilycoveCity_ContestLobby_Text_21AD55, 4 + release + end + +LilycoveCity_ContestLobby_Text_21AD10: @ 821AD10 + .string "Yippee!\p" + .string "The lady at the reception counter\n" + .string "gave me a case for {POKEBLOCK}S!$" + +LilycoveCity_ContestLobby_Text_21AD55: @ 821AD55 + .string "Make {POKEBLOCK}S and put them in there.\p" + .string "When you make a {POKEBLOCK}, everyone\n" + .string "has to put in a different BERRY.$" + +LilycoveCity_ContestLobby_Text_21ADB9: @ 821ADB9 + .string "Congratulations!\p" + .string "I did a painting of your POKéMON to\n" + .string "commemorate its victory…\p" + .string "Well, your POKéMON’s appeals were\n" + .string "so fantastic, it spurred me into\l" + .string "painting better than I usually do.\l" + .string "Look, see?$" + +LilycoveCity_ContestLobby_Text_21AE78: @ 821AE78 + .string "What do you think? I’m confident in\n" + .string "what I’ve done, but do you like it?\p" + .string "A work of this caliber, it wouldn’t look\n" + .string "out of place in an art museum.\p" + .string "Huh? An art museum really is looking\n" + .string "for paintings?\p" + .string "Do you think I should take this there?$" + +LilycoveCity_ContestLobby_Text_21AF63: @ 821AF63 + .string "What, really? Then, sure, I will take\n" + .string "this painting there right now.\p" + .string "I’ll give it a proper title, too.\p" + .string "I hope they’ll like it and consider\n" + .string "exhibiting this.\p" + .string "Please check if they did accept this.\n" + .string "Thank you!$" + +LilycoveCity_ContestLobby_Text_21B030: @ 821B030 + .string "Oh, that’s right!\p" + .string "As a memento of me painting your\n" + .string "POKéMON, please take this.$" + +LilycoveCity_ContestLobby_Text_21B07E: @ 821B07E + .string "{PLAYER} received a RIBBON.$" + +LilycoveCity_ContestLobby_Text_21B094: @ 821B094 + .string "{PLAYER} put the RIBBON on\n" + .string "{STR_VAR_1}.$" + +LilycoveCity_ContestLobby_Text_21B0AD: @ 821B0AD + .string "Okay, see you!$" + +LilycoveCity_ContestLobby_Text_21B0BC: @ 821B0BC + .string "Oh… Then, I guess I’ll just take\n" + .string "this home with me…\p" + .string "But, you know, I would like to take\n" + .string "this to the art museum… Okay?$" + +LilycoveCity_ContestLobby_Text_21B132: @ 821B132 + .string "Oh, fine, that’s the way it is.\n" + .string "I will hang this in my own house.\p" + .string "I’ll just have to try harder next time.\n" + .string "Well, be seeing you.$" + +LilycoveCity_ContestLobby_Text_21B1B1: @ 821B1B1 + .string "Hoo, boy… Master Rank CONTESTS,\n" + .string "here I come.\p" + .string "The world will know that my dearest\n" + .string "POKéMON is the cutest being in all\l" + .string "existence. The time has come!\l" + .string "Uheheheh.$" + +LilycoveCity_ContestLobby_Text_21B24D: @ 821B24D + .string "You can see a whole variety of\n" + .string "POKéMON here.\p" + .string "That’s why I make this place a regular\n" + .string "part of my daily stroll.$" + +LilycoveCity_ContestLobby_Text_21B2BA: @ 821B2BA + .string "Wow, coming out to a CONTEST is\n" + .string "a feast for these eyes!\p" + .string "Would you look at all the POKéMON\n" + .string "that just scream to be painted?$" + +LilycoveCity_ContestLobby_Text_21B334: @ 821B334 + .string "The TOUGHNESS CONTEST is like\n" + .string "extreme, man!\p" + .string "Those muscular appeals…\n" + .string "Cascading sweat… I swoon!$" + +LilycoveCity_ContestLobby_Text_21B392: @ 821B392 + .string "Day in and day out, I lavished my care\n" + .string "on this POKéMON.\p" + .string "Its condition is peaking.\n" + .string "Today, victory is mine!$" + +LilycoveCity_ContestLobby_Text_21B3FC: @ 821B3FC + .string "I made {POKEBLOCK}S with Mom, Dad, and\n" + .string "Big Sister. They turned out great!\p" + .string "I bet you can make smoother, better\n" + .string "{POKEBLOCK}S if you have more people.$" + diff --git a/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc b/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc new file mode 100644 index 0000000000..5f2b79a5d0 --- /dev/null +++ b/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc @@ -0,0 +1,131 @@ +LilycoveCity_CoveLilyMotel_1F_MapScripts:: @ 8218188 + .byte 0 + +LilycoveCity_CoveLilyMotel_1F_EventScript_218189:: @ 8218189 + lockall + checkflag FLAG_SYS_GAME_CLEAR + goto_eq LilycoveCity_CoveLilyMotel_1F_EventScript_2181EA + checkflag FLAG_BADGE07_GET + goto_eq LilycoveCity_CoveLilyMotel_1F_EventScript_2181C3 + msgbox LilycoveCity_CoveLilyMotel_1F_Text_218264, 4 + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_27259E + waitmovement 0 + msgbox LilycoveCity_CoveLilyMotel_1F_Text_21831E, 4 + closemessage + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_2725A2 + waitmovement 0 + releaseall + end + +LilycoveCity_CoveLilyMotel_1F_EventScript_2181C3:: @ 82181C3 + msgbox LilycoveCity_CoveLilyMotel_1F_Text_2183C3, 4 + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_27259E + waitmovement 0 + msgbox LilycoveCity_CoveLilyMotel_1F_Text_218470, 4 + closemessage + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_2725A2 + waitmovement 0 + releaseall + end + +LilycoveCity_CoveLilyMotel_1F_EventScript_2181EA:: @ 82181EA + msgbox LilycoveCity_CoveLilyMotel_1F_Text_218544, 4 + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_27259E + waitmovement 0 + msgbox LilycoveCity_CoveLilyMotel_1F_Text_2185F4, 4 + closemessage + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_2725A2 + waitmovement 0 + releaseall + end + +LilycoveCity_CoveLilyMotel_1F_EventScript_218211:: @ 8218211 + lockall + playse SE_PIN + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_272598 + waitmovement 0 + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_27259A + waitmovement 0 + applymovement 255, LilycoveCity_CoveLilyMotel_1F_Movement_2725AA + waitmovement 0 + msgbox LilycoveCity_CoveLilyMotel_1F_Text_21839B, 4 + closemessage + applymovement 255, LilycoveCity_CoveLilyMotel_1F_Movement_218259 + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_21825E + waitmovement 0 + applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_218260 + waitmovement 0 + release + end + +LilycoveCity_CoveLilyMotel_1F_Movement_218259: @ 8218259 + step_03 + step_40 + step_left + step_41 + step_end + +LilycoveCity_CoveLilyMotel_1F_Movement_21825E: @ 821825E + step_up + step_end + +LilycoveCity_CoveLilyMotel_1F_Movement_218260: @ 8218260 + step_00 + step_down + step_01 + step_end + +LilycoveCity_CoveLilyMotel_1F_Text_218264: @ 8218264 + .string "Hm, so they doubled the guests by\n" + .string "using POKéMON as attractions?\p" + .string "Hm, well, maybe I should make a cute\n" + .string "POKéMON our inn’s mascot.\p" + .string "I wonder if that will attract more\n" + .string "guests to stay with us?$" + +LilycoveCity_CoveLilyMotel_1F_Text_21831E: @ 821831E + .string "Oh, sorry, sorry!\n" + .string "I was too involved in watching TV!\p" + .string "Since that TEAM AQUA came to town,\n" + .string "the tourists have been staying away.$" + +LilycoveCity_CoveLilyMotel_1F_Text_21839B: @ 821839B + .string "Hey, down in front!\n" + .string "I can’t see the TV!$" + +LilycoveCity_CoveLilyMotel_1F_Text_2183C3: @ 82183C3 + .string "Amazing! You’re telling me a POKéMON\n" + .string "found someone’s lost item?\p" + .string "That’s something. If we had some smart\n" + .string "POKéMON like that…\p" + .string "We could recover anything that our\n" + .string "guests mislaid…$" + +LilycoveCity_CoveLilyMotel_1F_Text_218470: @ 8218470 + .string "Oh, sorry, sorry!\n" + .string "I was too involved in watching TV!\p" + .string "I heard that someone busted\n" + .string "the TEAM AQUA HIDEOUT.\p" + .string "Thanks to that, we just booked\n" + .string "a reservation from a big group.\p" + .string "It was a company called… Uh…\n" + .string "GAME something…$" + +LilycoveCity_CoveLilyMotel_1F_Text_218544: @ 8218544 + .string "Amazing! A house-sitting POKéMON\n" + .string "caught a burglar?\p" + .string "That’s something. If we had a tough\n" + .string "POKéMON as a security guard…\p" + .string "We would be able to provide our guests\n" + .string "with greater safety.$" + +LilycoveCity_CoveLilyMotel_1F_Text_2185F4: @ 82185F4 + .string "Oh, sorry, sorry!\n" + .string "I was too involved in watching TV.\p" + .string "Oh, yes. A big group of guests arrived\n" + .string "a little while ago.\p" + .string "They booked in as GAME FREAK,\n" + .string "so I guess they must make games.\p" + .string "Uh-oh, I’d better get working on\n" + .string "their dinner!$" + diff --git a/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc b/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc new file mode 100644 index 0000000000..90769b5507 --- /dev/null +++ b/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc @@ -0,0 +1,140 @@ +LilycoveCity_CoveLilyMotel_2F_MapScripts:: @ 82186D2 + .byte 0 + +LilycoveCity_CoveLilyMotel_2F_EventScript_2186D3:: @ 82186D3 + lock + faceplayer + checkflag FLAG_0x002 + call_if 0, LilycoveCity_CoveLilyMotel_2F_EventScript_2186F9 + checkflag FLAG_0x002 + call_if 1, LilycoveCity_CoveLilyMotel_2F_EventScript_21870F + specialvar VAR_RESULT, sub_80C08E4 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_CoveLilyMotel_2F_EventScript_218702 + release + end + +LilycoveCity_CoveLilyMotel_2F_EventScript_2186F9:: @ 82186F9 + msgbox LilycoveCity_CoveLilyMotel_2F_Text_218774, 4 + return + +LilycoveCity_CoveLilyMotel_2F_EventScript_218702:: @ 8218702 + setflag FLAG_0x002 + playfanfare MUS_FANFA4 + waitfanfare + goto LilycoveCity_CoveLilyMotel_2F_EventScript_21870F + end + +LilycoveCity_CoveLilyMotel_2F_EventScript_21870F:: @ 821870F + message LilycoveCity_CoveLilyMotel_2F_Text_21881C + waitmessage + call LilycoveCity_CoveLilyMotel_2F_EventScript_27207E + special Special_ShowDiploma + waitstate + release + end + +LilycoveCity_CoveLilyMotel_2F_EventScript_218720:: @ 8218720 + msgbox LilycoveCity_CoveLilyMotel_2F_Text_2188D6, 2 + end + +LilycoveCity_CoveLilyMotel_2F_EventScript_218729:: @ 8218729 + msgbox LilycoveCity_CoveLilyMotel_2F_Text_21892B, 2 + end + +LilycoveCity_CoveLilyMotel_2F_EventScript_218732:: @ 8218732 + msgbox LilycoveCity_CoveLilyMotel_2F_Text_21896C, 2 + end + +LilycoveCity_CoveLilyMotel_2F_EventScript_21873B:: @ 821873B + msgbox LilycoveCity_CoveLilyMotel_2F_Text_218A21, 2 + end + +LilycoveCity_CoveLilyMotel_2F_EventScript_218744:: @ 8218744 + msgbox LilycoveCity_CoveLilyMotel_2F_Text_218A5B, 2 + end + +LilycoveCity_CoveLilyMotel_2F_EventScript_21874D:: @ 821874D + lock + faceplayer + checkflag FLAG_0x1CE + goto_eq LilycoveCity_CoveLilyMotel_2F_EventScript_21876A + msgbox LilycoveCity_CoveLilyMotel_2F_Text_218ACF, 4 + addvar VAR_0x40D1, 1 + setflag FLAG_0x1CE + release + end + +LilycoveCity_CoveLilyMotel_2F_EventScript_21876A:: @ 821876A + msgbox LilycoveCity_CoveLilyMotel_2F_Text_218C33, 4 + release + end + +LilycoveCity_CoveLilyMotel_2F_Text_218774: @ 8218774 + .string "I’m the GAME DESIGNER.\p" + .string "Oh, is that right?\n" + .string "You’re working on a POKéDEX?\p" + .string "It’s tough trying to complete it,\n" + .string "but don’t give up.\p" + .string "If you do complete it, please come\n" + .string "show me.$" + +LilycoveCity_CoveLilyMotel_2F_Text_21881C: @ 821881C + .string "Wow! That’s awesome!\n" + .string "Yep, it’s totally awesome!\p" + .string "This POKéDEX is completely filled!\n" + .string "You really must love POKéMON!\p" + .string "I’m so impressed!\p" + .string "Let me give you something in\n" + .string "recognition of your feat!$" + +LilycoveCity_CoveLilyMotel_2F_Text_2188D6: @ 82188D6 + .string "Me? You’re talking to me?\n" + .string "I’m the PROGRAMMER.\p" + .string "I wonder what the SLOTS are\n" + .string "like here.$" + +LilycoveCity_CoveLilyMotel_2F_Text_21892B: @ 821892B + .string "I’m the GRAPHIC ARTIST! Aren’t the\n" + .string "POKéMON of HOENN interesting?$" + +LilycoveCity_CoveLilyMotel_2F_Text_21896C: @ 821896C + .string "The girl TUBERS, they’re cute, hey?\n" + .string "To battle against a cute TUBER…\p" + .string "Whoop, it’s so awesome!\p" + .string "And the TWINS! Aren’t they cute?\n" + .string "A 2-on-2 battle with TWINS…\p" + .string "Whoop, it’s unbearably fun!$" + +LilycoveCity_CoveLilyMotel_2F_Text_218A21: @ 8218A21 + .string "The sea breeze tickles my heart.\n" + .string "It feels wonderful here!$" + +LilycoveCity_CoveLilyMotel_2F_Text_218A5B: @ 8218A5B + .string "You never know when and where\n" + .string "people will challenge you.\p" + .string "That’s why I never leave home without\n" + .string "my GAME BOY ADVANCE.$" + +LilycoveCity_CoveLilyMotel_2F_Text_218ACF: @ 8218ACF + .string "SCOTT: … … … … …\n" + .string "… … … … … Zzz…\p" + .string "… … … … … Huh?!\n" + .string "Oh, sorry, sorry! I was snoozing!\p" + .string "I came to check out this POKéMON\n" + .string "CONTEST thing.\p" + .string "I have to admit, it does look quite\n" + .string "entertaining, but…\p" + .string "Consider me a purist--I prefer\n" + .string "battles and tough TRAINERS.\p" + .string "But that’s just me.\p" + .string "{PLAYER}{KUN}, I hope you’ll enjoy everything\n" + .string "like the GYMS, CONTESTS, BATTLE TENT,\l" + .string "the whole works!$" + +LilycoveCity_CoveLilyMotel_2F_Text_218C33: @ 8218C33 + .string "SCOTT: I think it does take strategy\n" + .string "to win a CONTEST.\p" + .string "Devising CONTEST strategies is one way\n" + .string "of becoming a better TRAINER, I’d say.$" + diff --git a/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc b/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc new file mode 100644 index 0000000000..b7ba171255 --- /dev/null +++ b/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc @@ -0,0 +1,129 @@ +LilycoveCity_DepartmentStoreElevator_MapScripts:: @ 8220623 + .byte 0 + +LilycoveCity_DepartmentStoreElevator_EventScript_220624:: @ 8220624 + lock + faceplayer + setvar VAR_0x8004, 0 + checkflag FLAG_0x002 + call_if 0, LilycoveCity_DepartmentStoreElevator_EventScript_2207FC + copyvar VAR_0x8005, VAR_DEPT_STORE_FLOOR + special sub_8139B60 + message gUnknown_08272C1D + waitmessage + setvar VAR_0x8004, 0 + specialvar VAR_RESULT, sub_81399F4 + switch VAR_RESULT + case 0, LilycoveCity_DepartmentStoreElevator_EventScript_220689 + case 1, LilycoveCity_DepartmentStoreElevator_EventScript_220695 + case 2, LilycoveCity_DepartmentStoreElevator_EventScript_2206A1 + case 3, LilycoveCity_DepartmentStoreElevator_EventScript_2206AD + case 4, LilycoveCity_DepartmentStoreElevator_EventScript_2206B9 + end + +LilycoveCity_DepartmentStoreElevator_EventScript_220689:: @ 8220689 + multichoicedefault 0, 0, 57, 0, 0 + goto LilycoveCity_DepartmentStoreElevator_EventScript_2206C5 + end + +LilycoveCity_DepartmentStoreElevator_EventScript_220695:: @ 8220695 + multichoicedefault 0, 0, 57, 1, 0 + goto LilycoveCity_DepartmentStoreElevator_EventScript_2206C5 + end + +LilycoveCity_DepartmentStoreElevator_EventScript_2206A1:: @ 82206A1 + multichoicedefault 0, 0, 57, 2, 0 + goto LilycoveCity_DepartmentStoreElevator_EventScript_2206C5 + end + +LilycoveCity_DepartmentStoreElevator_EventScript_2206AD:: @ 82206AD + multichoicedefault 0, 0, 57, 3, 0 + goto LilycoveCity_DepartmentStoreElevator_EventScript_2206C5 + end + +LilycoveCity_DepartmentStoreElevator_EventScript_2206B9:: @ 82206B9 + multichoicedefault 0, 0, 57, 4, 0 + goto LilycoveCity_DepartmentStoreElevator_EventScript_2206C5 + end + +LilycoveCity_DepartmentStoreElevator_EventScript_2206C5:: @ 82206C5 + switch VAR_RESULT + case 0, LilycoveCity_DepartmentStoreElevator_EventScript_2207B8 + case 1, LilycoveCity_DepartmentStoreElevator_EventScript_220790 + case 2, LilycoveCity_DepartmentStoreElevator_EventScript_220768 + case 3, LilycoveCity_DepartmentStoreElevator_EventScript_220740 + case 4, LilycoveCity_DepartmentStoreElevator_EventScript_220718 + case 5, LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + case 127, LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + end + +LilycoveCity_DepartmentStoreElevator_EventScript_220718:: @ 8220718 + setvar VAR_0x8006, 4 + setdynamicwarp LILYCOVE_CITY_DEPARTMENT_STORE_1F, 255, 2, 1 + compare VAR_DEPT_STORE_FLOOR, 4 + goto_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5 + setvar VAR_DEPT_STORE_FLOOR, 4 + goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + end + +LilycoveCity_DepartmentStoreElevator_EventScript_220740:: @ 8220740 + setvar VAR_0x8006, 5 + setdynamicwarp LILYCOVE_CITY_DEPARTMENT_STORE_2F, 255, 2, 1 + compare VAR_DEPT_STORE_FLOOR, 5 + goto_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5 + setvar VAR_DEPT_STORE_FLOOR, 5 + goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + end + +LilycoveCity_DepartmentStoreElevator_EventScript_220768:: @ 8220768 + setvar VAR_0x8006, 6 + setdynamicwarp LILYCOVE_CITY_DEPARTMENT_STORE_3F, 255, 2, 1 + compare VAR_DEPT_STORE_FLOOR, 6 + goto_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5 + setvar VAR_DEPT_STORE_FLOOR, 6 + goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + end + +LilycoveCity_DepartmentStoreElevator_EventScript_220790:: @ 8220790 + setvar VAR_0x8006, 7 + setdynamicwarp LILYCOVE_CITY_DEPARTMENT_STORE_4F, 255, 2, 1 + compare VAR_DEPT_STORE_FLOOR, 7 + goto_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5 + setvar VAR_DEPT_STORE_FLOOR, 7 + goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + end + +LilycoveCity_DepartmentStoreElevator_EventScript_2207B8:: @ 82207B8 + setvar VAR_0x8006, 8 + setdynamicwarp LILYCOVE_CITY_DEPARTMENT_STORE_5F, 255, 2, 1 + compare VAR_DEPT_STORE_FLOOR, 8 + goto_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5 + setvar VAR_DEPT_STORE_FLOOR, 8 + goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0 + end + +LilycoveCity_DepartmentStoreElevator_EventScript_2207E0:: @ 82207E0 + special sub_8139C10 + release + end + +LilycoveCity_DepartmentStoreElevator_EventScript_2207E5:: @ 82207E5 + special sub_8139C10 + closemessage + applymovement VAR_LAST_TALKED, LilycoveCity_DepartmentStoreElevator_Movement_2725AA + waitmovement 0 + waitse + special sub_8139A78 + waitstate + setflag FLAG_0x002 + return + +LilycoveCity_DepartmentStoreElevator_EventScript_2207FC:: @ 82207FC + special sub_8139994 + return + diff --git a/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc b/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc new file mode 100644 index 0000000000..e38f3a2768 --- /dev/null +++ b/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc @@ -0,0 +1,238 @@ +LilycoveCity_DepartmentStoreRooftop_MapScripts:: @ 8220207 + map_script 3, LilycoveCity_DepartmentStoreRooftop_MapScript1_22020D + .byte 0 + +LilycoveCity_DepartmentStoreRooftop_MapScript1_22020D: @ 822020D + getpricereduction 3 + compare VAR_RESULT, 1 + call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220227 + compare VAR_RESULT, 0 + call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_22022B + end + +LilycoveCity_DepartmentStoreRooftop_EventScript_220227:: @ 8220227 + clearflag FLAG_0x3C2 + return + +LilycoveCity_DepartmentStoreRooftop_EventScript_22022B:: @ 822022B + setflag FLAG_0x3C2 + return + +LilycoveCity_DepartmentStoreRooftop_EventScript_22022F:: @ 822022F + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemartdecoration LilycoveCity_DepartmentStoreRooftop_PokemartDecor_220248 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +LilycoveCity_DepartmentStoreRooftop_PokemartDecor_220248: @ 8220248 + .2byte 39 + .2byte 35 + .2byte 36 + .2byte 37 + .2byte 40 + .2byte 33 + .2byte 41 + .2byte 38 + .2byte 34 + .2byte 45 + .2byte 46 + .2byte 47 + .2byte 117 + .2byte 112 + .2byte 0 + release + end + +LilycoveCity_DepartmentStoreRooftop_EventScript_220268:: @ 8220268 + lock + faceplayer + getpricereduction 3 + compare VAR_RESULT, 1 + call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220282 + msgbox LilycoveCity_DepartmentStoreRooftop_Text_220463, 4 + release + end + +LilycoveCity_DepartmentStoreRooftop_EventScript_220282:: @ 8220282 + msgbox LilycoveCity_DepartmentStoreRooftop_Text_2204C9, 4 + release + end + +LilycoveCity_DepartmentStoreRooftop_EventScript_22028C:: @ 822028C + msgbox LilycoveCity_DepartmentStoreRooftop_Text_220552, 2 + end + +LilycoveCity_DepartmentStoreRooftop_EventScript_220295:: @ 8220295 + lockall + message LilycoveCity_DepartmentStoreRooftop_Text_22056D + waitmessage + showmoneybox 0, 0, 0 + goto LilycoveCity_DepartmentStoreRooftop_EventScript_2202A6 + end + +LilycoveCity_DepartmentStoreRooftop_EventScript_2202A6:: @ 82202A6 + multichoice 16, 0, 42, 0 + copyvar VAR_0x4001, VAR_RESULT + switch VAR_0x4001 + case 0, LilycoveCity_DepartmentStoreRooftop_EventScript_2202E4 + case 1, LilycoveCity_DepartmentStoreRooftop_EventScript_2202EF + case 2, LilycoveCity_DepartmentStoreRooftop_EventScript_2202FA + msgbox LilycoveCity_DepartmentStoreRooftop_Text_220603, 4 + goto LilycoveCity_DepartmentStoreRooftop_EventScript_22045E + end + +LilycoveCity_DepartmentStoreRooftop_EventScript_2202E4:: @ 82202E4 + setvar VAR_0x4000, 26 + goto LilycoveCity_DepartmentStoreRooftop_EventScript_22032F + end + +LilycoveCity_DepartmentStoreRooftop_EventScript_2202EF:: @ 82202EF + setvar VAR_0x4000, 27 + goto LilycoveCity_DepartmentStoreRooftop_EventScript_22032F + end + +LilycoveCity_DepartmentStoreRooftop_EventScript_2202FA:: @ 82202FA + setvar VAR_0x4000, 28 + goto LilycoveCity_DepartmentStoreRooftop_EventScript_22032F + end + +LilycoveCity_DepartmentStoreRooftop_EventScript_220305:: @ 8220305 + checkmoney 0xc8, 0 + return + +LilycoveCity_DepartmentStoreRooftop_EventScript_22030C:: @ 822030C + checkmoney 0x12c, 0 + return + +LilycoveCity_DepartmentStoreRooftop_EventScript_220313:: @ 8220313 + checkmoney 0x15e, 0 + return + +LilycoveCity_DepartmentStoreRooftop_EventScript_22031A:: @ 822031A + takemoney 0xc8, 0 + return + +LilycoveCity_DepartmentStoreRooftop_EventScript_220321:: @ 8220321 + takemoney 0x12c, 0 + return + +LilycoveCity_DepartmentStoreRooftop_EventScript_220328:: @ 8220328 + takemoney 0x15e, 0 + return + +LilycoveCity_DepartmentStoreRooftop_EventScript_22032F:: @ 822032F + compare VAR_0x4001, 0 + call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220305 + compare VAR_0x4001, 1 + call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_22030C + compare VAR_0x4001, 2 + call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220313 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220442 + checkitemspace VAR_0x4000, 1 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450 + compare VAR_0x4001, 0 + call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_22031A + compare VAR_0x4001, 1 + call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220321 + compare VAR_0x4001, 2 + call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220328 + updatemoneybox 0, 0 + nop + bufferitemname 0, VAR_0x4000 + playse SE_JIHANKI + msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205A1, 4 + giveitem VAR_0x4000, 1 + bufferitemname 1, VAR_0x4000 + bufferstdstring 2, 14 + msgbox gUnknown_08272A9A, 4 + random 64 + compare VAR_RESULT, 0 + goto_if 5, LilycoveCity_DepartmentStoreRooftop_EventScript_220436 + checkitemspace VAR_0x4000, 1 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450 + playse SE_JIHANKI + msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205C2, 4 + giveitem VAR_0x4000, 1 + bufferitemname 1, VAR_0x4000 + bufferstdstring 2, 14 + msgbox gUnknown_08272A9A, 4 + random 64 + compare VAR_RESULT, 0 + goto_if 5, LilycoveCity_DepartmentStoreRooftop_EventScript_220436 + checkitemspace VAR_0x4000, 1 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450 + playse SE_JIHANKI + msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205C2, 4 + giveitem VAR_0x4000, 1 + bufferitemname 1, VAR_0x4000 + bufferstdstring 2, 14 + msgbox gUnknown_08272A9A, 4 + goto LilycoveCity_DepartmentStoreRooftop_EventScript_220436 + end + +LilycoveCity_DepartmentStoreRooftop_EventScript_220436:: @ 8220436 + message LilycoveCity_DepartmentStoreRooftop_Text_22056D + waitmessage + goto LilycoveCity_DepartmentStoreRooftop_EventScript_2202A6 + end + +LilycoveCity_DepartmentStoreRooftop_EventScript_220442:: @ 8220442 + msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205F1, 4 + goto LilycoveCity_DepartmentStoreRooftop_EventScript_22045E + end + +LilycoveCity_DepartmentStoreRooftop_EventScript_220450:: @ 8220450 + msgbox gUnknown_08272A89, 4 + goto LilycoveCity_DepartmentStoreRooftop_EventScript_22045E + end + +LilycoveCity_DepartmentStoreRooftop_EventScript_22045E:: @ 822045E + hidemoneybox + nop + nop + releaseall + end + +LilycoveCity_DepartmentStoreRooftop_Text_220463: @ 8220463 + .string "Don’t they have set dates for their\n" + .string "clear-out sales?\p" + .string "I watch TV, but they never show any\n" + .string "commercials.$" + +LilycoveCity_DepartmentStoreRooftop_Text_2204C9: @ 82204C9 + .string "Yes! I’ve been waiting a long time for\n" + .string "this clear-out sale.\p" + .string "They have items that you can only get\n" + .string "here. I’m going to load up, that I am!$" + +LilycoveCity_DepartmentStoreRooftop_Text_220552: @ 8220552 + .string "Ohh… I’m bone-dry thirsty!$" + +LilycoveCity_DepartmentStoreRooftop_Text_22056D: @ 822056D + .string "It’s a VENDING MACHINE.\n" + .string "Which drink would you like?$" + +LilycoveCity_DepartmentStoreRooftop_Text_2205A1: @ 82205A1 + .string "Clang!\p" + .string "A can of {STR_VAR_1} dropped down.$" + +LilycoveCity_DepartmentStoreRooftop_Text_2205C2: @ 82205C2 + .string "Clang!\p" + .string "Score! An extra can of {STR_VAR_1}\n" + .string "dropped down!$" + +LilycoveCity_DepartmentStoreRooftop_Text_2205F1: @ 82205F1 + .string "Not enough money…$" + +LilycoveCity_DepartmentStoreRooftop_Text_220603: @ 8220603 + .string "Decided against buying a drink.$" + diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc new file mode 100644 index 0000000000..8de2d5d6f6 --- /dev/null +++ b/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc @@ -0,0 +1,193 @@ +LilycoveCity_DepartmentStore_1F_MapScripts:: @ 821F692 + .byte 0 + +LilycoveCity_DepartmentStore_1F_EventScript_21F693:: @ 821F693 + msgbox LilycoveCity_DepartmentStore_1F_Text_21F866, 2 + end + +LilycoveCity_DepartmentStore_1F_EventScript_21F69C:: @ 821F69C + lock + faceplayer + dodailyevents + compare VAR_POKELOT_PRIZE, 0 + goto_if 5, LilycoveCity_DepartmentStore_1F_EventScript_21F7F7 + checkflag FLAG_0x92A + goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F78D + msgbox LilycoveCity_DepartmentStore_1F_Text_2A6390, 5 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F797 + setflag FLAG_0x92A + message LilycoveCity_DepartmentStore_1F_Text_2A64C8 + waitmessage + special RetrieveLotteryNumber + copyvar VAR_0x8008, VAR_RESULT + special sub_81397C4 + msgbox LilycoveCity_DepartmentStore_1F_Text_2A650B, 4 + applymovement 2, LilycoveCity_DepartmentStore_1F_Movement_2725A8 + waitmovement 0 + playse SE_PC_ON + special DoLotteryCornerComputerEffect + special PickLotteryCornerTicket + delay 220 + special EndLotteryCornerComputerEffect + delay 10 + applymovement 2, LilycoveCity_DepartmentStore_1F_Movement_27259E + waitmovement 0 + compare VAR_0x8004, 0 + goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7A1 + incrementgamestat 46 + compare VAR_0x8006, 0 + call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F77B + compare VAR_0x8006, 1 + call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F784 + bufferitemname 0, VAR_0x8005 + compare VAR_0x8004, 1 + call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F7B9 + compare VAR_0x8004, 2 + call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F7C2 + compare VAR_0x8004, 3 + call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F7CB + compare VAR_0x8004, 4 + call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F7D4 + giveitem_std VAR_0x8005 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7DD + special sub_80EE2CC + goto LilycoveCity_DepartmentStore_1F_EventScript_21F7AF + end + +LilycoveCity_DepartmentStore_1F_EventScript_21F77B:: @ 821F77B + msgbox LilycoveCity_DepartmentStore_1F_Text_2A6592, 4 + return + +LilycoveCity_DepartmentStore_1F_EventScript_21F784:: @ 821F784 + msgbox LilycoveCity_DepartmentStore_1F_Text_2A65E6, 4 + return + +LilycoveCity_DepartmentStore_1F_EventScript_21F78D:: @ 821F78D + msgbox LilycoveCity_DepartmentStore_1F_Text_2A6496, 4 + release + end + +LilycoveCity_DepartmentStore_1F_EventScript_21F797:: @ 821F797 + msgbox LilycoveCity_DepartmentStore_1F_Text_2A64B1, 4 + release + end + +LilycoveCity_DepartmentStore_1F_EventScript_21F7A1:: @ 821F7A1 + msgbox LilycoveCity_DepartmentStore_1F_Text_2A663C, 4 + goto LilycoveCity_DepartmentStore_1F_EventScript_21F7AF + end + +LilycoveCity_DepartmentStore_1F_EventScript_21F7AF:: @ 821F7AF + msgbox LilycoveCity_DepartmentStore_1F_Text_2A6831, 4 + release + end + +LilycoveCity_DepartmentStore_1F_EventScript_21F7B9:: @ 821F7B9 + msgbox LilycoveCity_DepartmentStore_1F_Text_2A6664, 4 + return + +LilycoveCity_DepartmentStore_1F_EventScript_21F7C2:: @ 821F7C2 + msgbox LilycoveCity_DepartmentStore_1F_Text_2A66A7, 4 + return + +LilycoveCity_DepartmentStore_1F_EventScript_21F7CB:: @ 821F7CB + msgbox LilycoveCity_DepartmentStore_1F_Text_2A66ED, 4 + return + +LilycoveCity_DepartmentStore_1F_EventScript_21F7D4:: @ 821F7D4 + msgbox LilycoveCity_DepartmentStore_1F_Text_2A6731, 4 + return + +LilycoveCity_DepartmentStore_1F_EventScript_21F7DD:: @ 821F7DD + copyvar VAR_0x404D, VAR_0x8004 + copyvar VAR_POKELOT_PRIZE, VAR_0x8005 + goto LilycoveCity_DepartmentStore_1F_EventScript_21F7ED + end + +LilycoveCity_DepartmentStore_1F_EventScript_21F7ED:: @ 821F7ED + msgbox LilycoveCity_DepartmentStore_1F_Text_2A678C, 4 + release + end + +LilycoveCity_DepartmentStore_1F_EventScript_21F7F7:: @ 821F7F7 + msgbox LilycoveCity_DepartmentStore_1F_Text_2A67E1, 4 + giveitem_std VAR_POKELOT_PRIZE + compare VAR_RESULT, 0 + goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7ED + copyvar VAR_0x8004, VAR_0x404D + copyvar VAR_0x8005, VAR_POKELOT_PRIZE + special sub_80EE2CC + setvar VAR_POKELOT_PRIZE, 0 + setvar VAR_0x404D, 0 + release + end + +LilycoveCity_DepartmentStore_1F_EventScript_21F82F:: @ 821F82F + msgbox LilycoveCity_DepartmentStore_1F_Text_21F88C, 2 + end + +LilycoveCity_DepartmentStore_1F_EventScript_21F838:: @ 821F838 + msgbox LilycoveCity_DepartmentStore_1F_Text_21F8F5, 2 + end + +LilycoveCity_DepartmentStore_1F_EventScript_21F841:: @ 821F841 + msgbox LilycoveCity_DepartmentStore_1F_Text_21F92B, 2 + end + +LilycoveCity_DepartmentStore_1F_EventScript_21F84A:: @ 821F84A + lock + faceplayer + waitse + playmoncry SPECIES_AZUMARILL, 0 + msgbox LilycoveCity_DepartmentStore_1F_Text_21F974, 4 + waitmoncry + release + end + +LilycoveCity_DepartmentStore_1F_EventScript_21F85D:: @ 821F85D + msgbox LilycoveCity_DepartmentStore_1F_Text_21F98A, 3 + end + +LilycoveCity_DepartmentStore_1F_Text_21F866: @ 821F866 + .string "Welcome to LILYCOVE DEPARTMENT STORE.$" + +LilycoveCity_DepartmentStore_1F_Text_21F88C: @ 821F88C + .string "Whenever I come to the DEPARTMENT\n" + .string "STORE, I always end up buying all sorts\l" + .string "of things because it’s so fun.$" + +LilycoveCity_DepartmentStore_1F_Text_21F8F5: @ 821F8F5 + .string "Today, my mom is going to buy me some\n" + .string "nice furniture.$" + +LilycoveCity_DepartmentStore_1F_Text_21F92B: @ 821F92B + .string "I’m buying something for my AZUMARILL\n" + .string "as a reward for winning a CONTEST.$" + +LilycoveCity_DepartmentStore_1F_Text_21F974: @ 821F974 + .string "AZUMARILL: Maririroo!$" + +LilycoveCity_DepartmentStore_1F_Text_21F98A: @ 821F98A + .string "1F: SERVICE COUNTER\n" + .string " LOTTERY CORNER\p" + .string "2F: TRAINER’S ZONE\p" + .string "3F: BATTLE COLLECTION\p" + .string "4F: TM CORNER\p" + .string "5F: POKé DOLL FLOOR\p" + .string "ROOFTOP: ROOFTOP PLAZA$" + +LilycoveCity_DepartmentStore_1F_Text_21FA13: @ 821FA13 + .string "Wireless Communication is a\n" + .string "lot of fun, isn’t it?\p" + .string "I think it lets you do things that\n" + .string "weren’t possible before.\p" + .string "For instance, you can now trade\n" + .string "with people you couldn’t before.\p" + .string "I think it’s going to be exciting!$" + +LilycoveCity_DepartmentStore_1F_Text_21FAE5: @ 821FAE5 + .string "I want to spread the word about how\n" + .string "fun Wireless Communication can be.$" + diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_2F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_2F.inc new file mode 100644 index 0000000000..8bc6d8b290 --- /dev/null +++ b/data/scripts/maps/LilycoveCity_DepartmentStore_2F.inc @@ -0,0 +1,80 @@ +LilycoveCity_DepartmentStore_2F_MapScripts:: @ 821FB2C + .byte 0 + +LilycoveCity_DepartmentStore_2F_EventScript_21FB2D:: @ 821FB2D + msgbox LilycoveCity_DepartmentStore_2F_Text_21FBAC, 2 + end + +LilycoveCity_DepartmentStore_2F_EventScript_21FB36:: @ 821FB36 + msgbox LilycoveCity_DepartmentStore_2F_Text_21FBDF, 2 + end + +LilycoveCity_DepartmentStore_2F_EventScript_21FB3F:: @ 821FB3F + msgbox LilycoveCity_DepartmentStore_2F_Text_21FC23, 2 + end + +LilycoveCity_DepartmentStore_2F_EventScript_21FB48:: @ 821FB48 + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemart LilycoveCity_DepartmentStore_2F_Pokemart_21FB60 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +LilycoveCity_DepartmentStore_2F_Pokemart_21FB60: @ 821FB60 + .2byte ITEM_POKE_BALL + .2byte ITEM_GREAT_BALL + .2byte ITEM_ULTRA_BALL + .2byte ITEM_ESCAPE_ROPE + .2byte ITEM_FULL_HEAL + .2byte ITEM_ANTIDOTE + .2byte ITEM_PARALYZE_HEAL + .2byte ITEM_BURN_HEAL + .2byte ITEM_ICE_HEAL + .2byte ITEM_AWAKENING + .2byte ITEM_FLUFFY_TAIL + .2byte ITEM_NONE + release + end + +LilycoveCity_DepartmentStore_2F_EventScript_21FB7A:: @ 821FB7A + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemart LilycoveCity_DepartmentStore_2F_Pokemart_21FB94 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +LilycoveCity_DepartmentStore_2F_Pokemart_21FB94: @ 821FB94 + .2byte ITEM_POTION + .2byte ITEM_SUPER_POTION + .2byte ITEM_HYPER_POTION + .2byte ITEM_MAX_POTION + .2byte ITEM_REVIVE + .2byte ITEM_REPEL + .2byte ITEM_SUPER_REPEL + .2byte ITEM_MAX_REPEL + .2byte ITEM_WAVE_MAIL + .2byte ITEM_MECH_MAIL + .2byte ITEM_NONE + release + end + +LilycoveCity_DepartmentStore_2F_Text_21FBAC: @ 821FBAC + .string "Learn to use items properly.\n" + .string "That’s basic, really.$" + +LilycoveCity_DepartmentStore_2F_Text_21FBDF: @ 821FBDF + .string "My husband is waiting at home.\n" + .string "What would make a good gift for him?$" + +LilycoveCity_DepartmentStore_2F_Text_21FC23: @ 821FC23 + .string "I’m leaving on a long journey soon.\n" + .string "I need to stock up on items.$" + diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_3F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_3F.inc new file mode 100644 index 0000000000..1d980f83ea --- /dev/null +++ b/data/scripts/maps/LilycoveCity_DepartmentStore_3F.inc @@ -0,0 +1,75 @@ +LilycoveCity_DepartmentStore_3F_MapScripts:: @ 821FC64 + .byte 0 + +LilycoveCity_DepartmentStore_3F_EventScript_21FC65:: @ 821FC65 + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemart LilycoveCity_DepartmentStore_3F_Pokemart_21FC7C + msgbox gUnknown_08272A3F, 4 + release + end + +LilycoveCity_DepartmentStore_3F_Pokemart_21FC7C: @ 821FC7C + .2byte ITEM_PROTEIN + .2byte ITEM_CALCIUM + .2byte ITEM_IRON + .2byte ITEM_ZINC + .2byte ITEM_CARBOS + .2byte ITEM_HP_UP + .2byte ITEM_NONE + release + end + +LilycoveCity_DepartmentStore_3F_EventScript_21FC8C:: @ 821FC8C + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemart LilycoveCity_DepartmentStore_3F_Pokemart_21FCA4 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +LilycoveCity_DepartmentStore_3F_Pokemart_21FCA4: @ 821FCA4 + .2byte ITEM_X_SPEED + .2byte ITEM_X_SPECIAL + .2byte ITEM_X_ATTACK + .2byte ITEM_X_DEFEND + .2byte ITEM_DIRE_HIT + .2byte ITEM_GUARD_SPEC + .2byte ITEM_X_ACCURACY + .2byte ITEM_NONE + release + end + +LilycoveCity_DepartmentStore_3F_EventScript_21FCB6:: @ 821FCB6 + msgbox LilycoveCity_DepartmentStore_3F_Text_21FCD1, 2 + end + +LilycoveCity_DepartmentStore_3F_EventScript_21FCBF:: @ 821FCBF + msgbox LilycoveCity_DepartmentStore_3F_Text_21FD3B, 2 + end + +LilycoveCity_DepartmentStore_3F_EventScript_21FCC8:: @ 821FCC8 + msgbox LilycoveCity_DepartmentStore_3F_Text_21FDB4, 2 + end + +LilycoveCity_DepartmentStore_3F_Text_21FCD1: @ 821FCD1 + .string "For quickly toughening up POKéMON,\n" + .string "items are the best.\p" + .string "PROTEIN boosts ATTACK,\n" + .string "and CALCIUM raises SP. ATK.$" + +LilycoveCity_DepartmentStore_3F_Text_21FD3B: @ 821FD3B + .string "I want my POKéMON to have more\n" + .string "endurance.\p" + .string "I’m trying to decide whether to raise\n" + .string "DEFENSE with IRON, or SP. DEF with ZINC.$" + +LilycoveCity_DepartmentStore_3F_Text_21FDB4: @ 821FDB4 + .string "I gave a CARBOS to my POKéMON,\n" + .string "and its SPEED went up.$" + diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_4F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_4F.inc new file mode 100644 index 0000000000..b162c47402 --- /dev/null +++ b/data/scripts/maps/LilycoveCity_DepartmentStore_4F.inc @@ -0,0 +1,72 @@ +LilycoveCity_DepartmentStore_4F_MapScripts:: @ 821FDEA + .byte 0 + +LilycoveCity_DepartmentStore_4F_EventScript_21FDEB:: @ 821FDEB + msgbox LilycoveCity_DepartmentStore_4F_Text_21FE50, 2 + end + +LilycoveCity_DepartmentStore_4F_EventScript_21FDF4:: @ 821FDF4 + msgbox LilycoveCity_DepartmentStore_4F_Text_21FEC7, 2 + end + +LilycoveCity_DepartmentStore_4F_EventScript_21FDFD:: @ 821FDFD + msgbox LilycoveCity_DepartmentStore_4F_Text_21FF2D, 2 + end + +LilycoveCity_DepartmentStore_4F_EventScript_21FE06:: @ 821FE06 + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemart LilycoveCity_DepartmentStore_4F_Pokemart_21FE20 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +LilycoveCity_DepartmentStore_4F_Pokemart_21FE20: @ 821FE20 + .2byte ITEM_TM38 + .2byte ITEM_TM25 + .2byte ITEM_TM14 + .2byte ITEM_TM15 + .2byte ITEM_NONE + release + end + +LilycoveCity_DepartmentStore_4F_EventScript_21FE2C:: @ 821FE2C + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemart LilycoveCity_DepartmentStore_4F_Pokemart_21FE44 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +LilycoveCity_DepartmentStore_4F_Pokemart_21FE44: @ 821FE44 + .2byte ITEM_TM17 + .2byte ITEM_TM20 + .2byte ITEM_TM33 + .2byte ITEM_TM16 + .2byte ITEM_NONE + release + end + +LilycoveCity_DepartmentStore_4F_Text_21FE50: @ 821FE50 + .string "Hmm…\p" + .string "An attacking move…\n" + .string "Or a defensive move…\p" + .string "It’s no easy matter to decide which TM\n" + .string "moves should be taught to POKéMON…$" + +LilycoveCity_DepartmentStore_4F_Text_21FEC7: @ 821FEC7 + .string "There are so many different kinds of\n" + .string "TM moves.\p" + .string "A catalog I read said there are fifty\n" + .string "different kinds.$" + +LilycoveCity_DepartmentStore_4F_Text_21FF2D: @ 821FF2D + .string "I’d like to get all the different TMs,\n" + .string "but a POKéMON learns only four moves.$" + diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_5F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_5F.inc new file mode 100644 index 0000000000..d5f5e49ada --- /dev/null +++ b/data/scripts/maps/LilycoveCity_DepartmentStore_5F.inc @@ -0,0 +1,170 @@ +LilycoveCity_DepartmentStore_5F_MapScripts:: @ 821FF7A + map_script 4, LilycoveCity_DepartmentStore_5F_MapScript2_21FF80 + .byte 0 + +LilycoveCity_DepartmentStore_5F_MapScript2_21FF80: @ 821FF80 + map_script_2 VAR_0x405E, 1, LilycoveCity_DepartmentStore_5F_EventScript_21FF9A + map_script_2 VAR_0x405E, 2, LilycoveCity_DepartmentStore_5F_EventScript_21FF9A + map_script_2 VAR_0x405E, 3, LilycoveCity_DepartmentStore_5F_EventScript_21FF9A + .2byte 0 + +LilycoveCity_DepartmentStore_5F_EventScript_21FF9A:: @ 821FF9A + setobjectxy 7, 16, 2 + turnobject 7, 2 + end + +LilycoveCity_DepartmentStore_5F_EventScript_21FFA6:: @ 821FFA6 + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_21FFC0 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +LilycoveCity_DepartmentStore_5F_Pokemart_21FFC0: @ 821FFC0 + .2byte ITEM_X_DEFEND + .2byte ITEM_X_SPEED + .2byte ITEM_X_ACCURACY + .2byte ITEM_SUPER_REPEL + .2byte 91 + .2byte 92 + .2byte ITEM_SUN_STONE + .2byte ITEM_MOON_STONE + .2byte ITEM_FIRE_STONE + .2byte ITEM_THUNDER_STONE + .2byte ITEM_WATER_STONE + .2byte ITEM_LEAF_STONE + .2byte ITEM_NONE + release + end + +LilycoveCity_DepartmentStore_5F_EventScript_21FFDC:: @ 821FFDC + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_21FFF4 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +LilycoveCity_DepartmentStore_5F_Pokemart_21FFF4: @ 821FFF4 + .2byte 101 + .2byte 102 + .2byte ITEM_BIG_MUSHROOM + .2byte 105 + .2byte ITEM_PEARL + .2byte ITEM_BIG_PEARL + .2byte ITEM_STARDUST + .2byte ITEM_STAR_PIECE + .2byte ITEM_NUGGET + .2byte ITEM_NONE + release + end + +LilycoveCity_DepartmentStore_5F_EventScript_22000A:: @ 822000A + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_220024 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +LilycoveCity_DepartmentStore_5F_Pokemart_220024: @ 8220024 + .2byte ITEM_CARBOS + .2byte ITEM_CALCIUM + .2byte ITEM_RARE_CANDY + .2byte ITEM_PP_UP + .2byte ITEM_ZINC + .2byte ITEM_PP_MAX + .2byte 72 + .2byte ITEM_GUARD_SPEC + .2byte ITEM_DIRE_HIT + .2byte ITEM_NONE + release + end + +LilycoveCity_DepartmentStore_5F_EventScript_22003A:: @ 822003A + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_220054 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +LilycoveCity_DepartmentStore_5F_Pokemart_220054: @ 8220054 + .2byte 59 + .2byte 60 + .2byte 61 + .2byte 62 + .2byte ITEM_HP_UP + .2byte ITEM_PROTEIN + .2byte ITEM_IRON + .2byte ITEM_RED_SHARD + .2byte ITEM_BLUE_SHARD + .2byte ITEM_YELLOW_SHARD + .2byte ITEM_NONE + release + end + +LilycoveCity_DepartmentStore_5F_EventScript_22006C:: @ 822006C + msgbox LilycoveCity_DepartmentStore_5F_Text_2200C5, 2 + end + +LilycoveCity_DepartmentStore_5F_EventScript_220075:: @ 8220075 + lockall + applymovement 7, LilycoveCity_DepartmentStore_5F_Movement_27259E + waitmovement 0 + compare VAR_0x405E, 0 + goto_eq LilycoveCity_DepartmentStore_5F_EventScript_22009C + compare VAR_0x405E, 4 + goto_if 4, LilycoveCity_DepartmentStore_5F_EventScript_22009C + goto LilycoveCity_DepartmentStore_5F_EventScript_2200A7 + end + +LilycoveCity_DepartmentStore_5F_EventScript_22009C:: @ 822009C + msgbox LilycoveCity_DepartmentStore_5F_Text_22016B, 4 + closemessage + releaseall + end + +LilycoveCity_DepartmentStore_5F_EventScript_2200A7:: @ 82200A7 + msgbox LilycoveCity_DepartmentStore_5F_Text_2201C4, 4 + closemessage + applymovement 7, LilycoveCity_DepartmentStore_5F_Movement_2725A6 + waitmovement 0 + releaseall + end + +LilycoveCity_DepartmentStore_5F_EventScript_2200BC:: @ 82200BC + msgbox LilycoveCity_DepartmentStore_5F_Text_220122, 2 + end + +LilycoveCity_DepartmentStore_5F_Text_2200C5: @ 82200C5 + .string "This place is full of cute DOLLS.\p" + .string "I should buy some for me, instead of\n" + .string "just for my children.$" + +LilycoveCity_DepartmentStore_5F_Text_220122: @ 8220122 + .string "I’m not big enough to raise POKéMON,\n" + .string "so I’m getting a cute DOLL instead.$" + +LilycoveCity_DepartmentStore_5F_Text_22016B: @ 822016B + .string "They sell many cute MATS here.\p" + .string "I wonder which one I should get?\n" + .string "Maybe I’ll buy them all…$" + +LilycoveCity_DepartmentStore_5F_Text_2201C4: @ 82201C4 + .string "I think they closed the rooftop\n" + .string "because the weather is wild today.$" + diff --git a/data/scripts/maps/LilycoveCity_Harbor.inc b/data/scripts/maps/LilycoveCity_Harbor.inc new file mode 100644 index 0000000000..7f0e41d031 --- /dev/null +++ b/data/scripts/maps/LilycoveCity_Harbor.inc @@ -0,0 +1,630 @@ +LilycoveCity_Harbor_MapScripts:: @ 821E000 + map_script 3, LilycoveCity_Harbor_MapScript1_21E006 + .byte 0 + +LilycoveCity_Harbor_MapScript1_21E006: @ 821E006 + setescapewarp LILYCOVE_CITY, 255, 12, 33 + end + +LilycoveCity_Harbor_EventScript_21E00F:: @ 821E00F + lock + faceplayer + checkflag FLAG_SYS_GAME_CLEAR + goto_if 0, LilycoveCity_Harbor_EventScript_21E54D + call LilycoveCity_Harbor_EventScript_21E194 + call LilycoveCity_Harbor_EventScript_21E1C6 + call LilycoveCity_Harbor_EventScript_21E1F8 + call LilycoveCity_Harbor_EventScript_21E22A + call LilycoveCity_Harbor_EventScript_21E25C + call LilycoveCity_Harbor_EventScript_21E2A6 + compare VAR_0x400C, 2 + goto_eq LilycoveCity_Harbor_EventScript_21E350 + compare VAR_0x400B, 1 + goto_eq LilycoveCity_Harbor_EventScript_21E2F0 + compare VAR_0x400B, 2 + goto_eq LilycoveCity_Harbor_EventScript_21E320 + compare VAR_0x400B, 4 + goto_eq LilycoveCity_Harbor_EventScript_21E350 + compare VAR_0x400B, 8 + goto_eq LilycoveCity_Harbor_EventScript_21E41D + compare VAR_0x400B, 0 + goto_if 5, LilycoveCity_Harbor_EventScript_21E44D + goto LilycoveCity_Harbor_EventScript_21E080 + end + +LilycoveCity_Harbor_EventScript_21E080:: @ 821E080 + compare VAR_0x400A, 0 + goto_eq LilycoveCity_Harbor_EventScript_21E557 + msgbox LilycoveCity_Harbor_Text_21E758, 4 + message LilycoveCity_Harbor_Text_21E7ED + waitmessage + goto LilycoveCity_Harbor_EventScript_21E09F + end + +LilycoveCity_Harbor_EventScript_21E09F:: @ 821E09F + setvar VAR_0x8004, 0 + special sub_80E2548 + waitstate + special sub_80E2878 + switch VAR_RESULT + case 0, LilycoveCity_Harbor_EventScript_21E149 + case 1, LilycoveCity_Harbor_EventScript_21E171 + case 2, LilycoveCity_Harbor_EventScript_21E109 + case 3, LilycoveCity_Harbor_EventScript_21E119 + case 4, LilycoveCity_Harbor_EventScript_21E129 + case 5, LilycoveCity_Harbor_EventScript_21E139 + case 6, LilycoveCity_Harbor_EventScript_21E626 + case 127, LilycoveCity_Harbor_EventScript_21E626 + end + +LilycoveCity_Harbor_EventScript_21E109:: @ 821E109 + call LilycoveCity_Harbor_EventScript_21E5CC + warp SOUTHERN_ISLAND_EXTERIOR, 255, 13, 22 + waitstate + release + end + +LilycoveCity_Harbor_EventScript_21E119:: @ 821E119 + call LilycoveCity_Harbor_EventScript_21E5CC + warp NAVEL_ROCK_HARBOR, 255, 8, 4 + waitstate + release + end + +LilycoveCity_Harbor_EventScript_21E129:: @ 821E129 + call LilycoveCity_Harbor_EventScript_21E5CC + warp BIRTH_ISLAND_HARBOR, 255, 8, 4 + waitstate + release + end + +LilycoveCity_Harbor_EventScript_21E139:: @ 821E139 + call LilycoveCity_Harbor_EventScript_21E5CC + warp FARAWAY_ISLAND_ENTRANCE, 255, 13, 38 + waitstate + release + end + +LilycoveCity_Harbor_EventScript_21E149:: @ 821E149 + msgbox LilycoveCity_Harbor_Text_21E864, 5 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_Harbor_EventScript_21E5C0 + setvar VAR_PORTHOLE, 5 + call LilycoveCity_Harbor_EventScript_21E5CC + warp SS_TIDAL_CORRIDOR, 255, 1, 10 + waitstate + release + end + +LilycoveCity_Harbor_EventScript_21E171:: @ 821E171 + msgbox LilycoveCity_Harbor_Text_21E880, 5 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_Harbor_EventScript_21E5C0 + call LilycoveCity_Harbor_EventScript_21E5CC + warp BATTLE_FRONTIER_OUTSIDE_WEST, 255, 19, 67 + waitstate + release + end + +LilycoveCity_Harbor_EventScript_21E194:: @ 821E194 + setvar VAR_0x400E, 0 + checkflag FLAG_SYS_HAS_EON_TICKET + goto_if 0, LilycoveCity_Harbor_EventScript_27374E + checkitem ITEM_EON_TICKET, 1 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_Harbor_EventScript_27374E + setvar VAR_0x400E, 1 + checkflag FLAG_0x1AE + goto_eq LilycoveCity_Harbor_EventScript_27374E + setvar VAR_0x400E, 2 + return + +LilycoveCity_Harbor_EventScript_21E1C6:: @ 821E1C6 + setvar VAR_0x400D, 0 + checkflag FLAG_0x8D5 + goto_if 0, LilycoveCity_Harbor_EventScript_27374E + checkitem ITEM_AURORA_TICKET, 1 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_Harbor_EventScript_27374E + setvar VAR_0x400D, 1 + checkflag FLAG_0x1AF + goto_eq LilycoveCity_Harbor_EventScript_27374E + setvar VAR_0x400D, 2 + return + +LilycoveCity_Harbor_EventScript_21E1F8:: @ 821E1F8 + setvar VAR_0x400C, 0 + checkflag FLAG_0x8D6 + goto_if 0, LilycoveCity_Harbor_EventScript_27374E + checkitem ITEM_OLD_SEA_MAP, 1 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_Harbor_EventScript_27374E + setvar VAR_0x400C, 1 + checkflag FLAG_0x1B0 + goto_eq LilycoveCity_Harbor_EventScript_27374E + setvar VAR_0x400C, 2 + return + +LilycoveCity_Harbor_EventScript_21E22A:: @ 821E22A + setvar VAR_0x4009, 0 + checkflag FLAG_0x8E0 + goto_if 0, LilycoveCity_Harbor_EventScript_27374E + checkitem ITEM_MYSTIC_TICKET, 1 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_Harbor_EventScript_27374E + setvar VAR_0x4009, 1 + checkflag FLAG_0x1DB + goto_eq LilycoveCity_Harbor_EventScript_27374E + setvar VAR_0x4009, 2 + return + +LilycoveCity_Harbor_EventScript_21E25C:: @ 821E25C + setvar VAR_0x400B, 0 + compare VAR_0x400E, 2 + call_if 1, LilycoveCity_Harbor_EventScript_21E28E + compare VAR_0x400D, 2 + call_if 1, LilycoveCity_Harbor_EventScript_21E294 + compare VAR_0x400C, 2 + call_if 1, LilycoveCity_Harbor_EventScript_21E29A + compare VAR_0x4009, 2 + call_if 1, LilycoveCity_Harbor_EventScript_21E2A0 + return + +LilycoveCity_Harbor_EventScript_21E28E:: @ 821E28E + addvar VAR_0x400B, 1 + return + +LilycoveCity_Harbor_EventScript_21E294:: @ 821E294 + addvar VAR_0x400B, 2 + return + +LilycoveCity_Harbor_EventScript_21E29A:: @ 821E29A + addvar VAR_0x400B, 4 + return + +LilycoveCity_Harbor_EventScript_21E2A0:: @ 821E2A0 + addvar VAR_0x400B, 8 + return + +LilycoveCity_Harbor_EventScript_21E2A6:: @ 821E2A6 + setvar VAR_0x400A, 0 + compare VAR_0x400E, 1 + call_if 1, LilycoveCity_Harbor_EventScript_21E2D8 + compare VAR_0x400D, 1 + call_if 1, LilycoveCity_Harbor_EventScript_21E2DE + compare VAR_0x400C, 1 + call_if 1, LilycoveCity_Harbor_EventScript_21E2E4 + compare VAR_0x4009, 1 + call_if 1, LilycoveCity_Harbor_EventScript_21E2EA + return + +LilycoveCity_Harbor_EventScript_21E2D8:: @ 821E2D8 + addvar VAR_0x400A, 1 + return + +LilycoveCity_Harbor_EventScript_21E2DE:: @ 821E2DE + addvar VAR_0x400A, 2 + return + +LilycoveCity_Harbor_EventScript_21E2E4:: @ 821E2E4 + addvar VAR_0x400A, 4 + return + +LilycoveCity_Harbor_EventScript_21E2EA:: @ 821E2EA + addvar VAR_0x400A, 8 + return + +LilycoveCity_Harbor_EventScript_21E2F0:: @ 821E2F0 + setflag FLAG_0x1AE + msgbox LilycoveCity_Harbor_Text_2A68D2, 4 + closemessage + call LilycoveCity_Harbor_EventScript_21E4EE + msgbox LilycoveCity_Harbor_Text_2A68FC, 4 + goto LilycoveCity_Harbor_EventScript_21E30F + end + +LilycoveCity_Harbor_EventScript_21E30F:: @ 821E30F + closemessage + call LilycoveCity_Harbor_EventScript_21E514 + warp SOUTHERN_ISLAND_EXTERIOR, 255, 13, 22 + waitstate + release + end + +LilycoveCity_Harbor_EventScript_21E320:: @ 821E320 + setflag FLAG_0x1AF + msgbox LilycoveCity_Harbor_Text_2A68D2, 4 + closemessage + call LilycoveCity_Harbor_EventScript_21E4EE + msgbox LilycoveCity_Harbor_Text_2C6A71, 4 + goto LilycoveCity_Harbor_EventScript_21E33F + end + +LilycoveCity_Harbor_EventScript_21E33F:: @ 821E33F + closemessage + call LilycoveCity_Harbor_EventScript_21E514 + warp BIRTH_ISLAND_HARBOR, 255, 8, 4 + waitstate + release + end + +LilycoveCity_Harbor_EventScript_21E350:: @ 821E350 + setflag FLAG_0x1B0 + msgbox LilycoveCity_Harbor_Text_2A6848, 4 + closemessage + call LilycoveCity_Harbor_EventScript_21E4EE + msgbox LilycoveCity_Harbor_Text_2C68A5, 4 + closemessage + applymovement 4, LilycoveCity_Harbor_Movement_2725A6 + waitmovement 0 + playse SE_PIN + applymovement 4, LilycoveCity_Harbor_Movement_272598 + waitmovement 0 + applymovement 4, LilycoveCity_Harbor_Movement_27259A + waitmovement 0 + compare VAR_FACING, 2 + call_if 1, LilycoveCity_Harbor_EventScript_21E656 + compare VAR_FACING, 4 + call_if 1, LilycoveCity_Harbor_EventScript_21E661 + addobject 5 + compare VAR_FACING, 2 + call_if 1, LilycoveCity_Harbor_EventScript_21E675 + compare VAR_FACING, 4 + call_if 1, LilycoveCity_Harbor_EventScript_21E680 + msgbox LilycoveCity_Harbor_Text_2C6951, 4 + compare VAR_FACING, 2 + call_if 1, LilycoveCity_Harbor_EventScript_21E68B + compare VAR_FACING, 4 + call_if 1, LilycoveCity_Harbor_EventScript_21E696 + msgbox LilycoveCity_Harbor_Text_2C69AA, 4 + closemessage + compare VAR_FACING, 2 + call_if 1, LilycoveCity_Harbor_EventScript_21E6A1 + compare VAR_FACING, 4 + call_if 1, LilycoveCity_Harbor_EventScript_21E6BA + setvar VAR_0x8004, 2 + call LilycoveCity_Harbor_EventScript_2721E2 + warp FARAWAY_ISLAND_ENTRANCE, 255, 13, 38 + waitstate + release + end + +LilycoveCity_Harbor_EventScript_21E40C:: @ 821E40C + closemessage + call LilycoveCity_Harbor_EventScript_21E514 + warp FARAWAY_ISLAND_ENTRANCE, 255, 13, 38 + waitstate + release + end + +LilycoveCity_Harbor_EventScript_21E41D:: @ 821E41D + setflag FLAG_0x1DB + msgbox LilycoveCity_Harbor_Text_2A68D2, 4 + closemessage + call LilycoveCity_Harbor_EventScript_21E4EE + msgbox LilycoveCity_Harbor_Text_2C6A71, 4 + goto LilycoveCity_Harbor_EventScript_21E43C + end + +LilycoveCity_Harbor_EventScript_21E43C:: @ 821E43C + closemessage + call LilycoveCity_Harbor_EventScript_21E514 + warp NAVEL_ROCK_HARBOR, 255, 8, 4 + waitstate + release + end + +LilycoveCity_Harbor_EventScript_21E44D:: @ 821E44D + msgbox LilycoveCity_Harbor_Text_2A68D2, 4 + closemessage + call LilycoveCity_Harbor_EventScript_21E4EE + message LilycoveCity_Harbor_Text_2C6BD4 + waitmessage + setvar VAR_0x8004, 1 + special sub_80E2548 + waitstate + special sub_80E2878 + switch VAR_RESULT + case 2, LilycoveCity_Harbor_EventScript_21E30F + case 3, LilycoveCity_Harbor_EventScript_21E43C + case 4, LilycoveCity_Harbor_EventScript_21E33F + case 5, LilycoveCity_Harbor_EventScript_21E40C + case 6, LilycoveCity_Harbor_EventScript_21E4B6 + case 127, LilycoveCity_Harbor_EventScript_21E4B6 + release + end + +LilycoveCity_Harbor_EventScript_21E4B6:: @ 821E4B6 + msgbox LilycoveCity_Harbor_Text_2A6A82, 4 + closemessage + applymovement 4, LilycoveCity_Harbor_Movement_2725A6 + waitmovement 0 + delay 30 + removeobject 4 + delay 30 + applymovement 1, LilycoveCity_Harbor_Movement_2725AA + waitmovement 0 + showobjectat 1, LILYCOVE_CITY_HARBOR + delay 30 + msgbox LilycoveCity_Harbor_Text_21E842, 4 + release + end + +LilycoveCity_Harbor_EventScript_21E4EE:: @ 821E4EE + applymovement VAR_LAST_TALKED, LilycoveCity_Harbor_Movement_2725A6 + waitmovement 0 + delay 30 + hideobjectat VAR_LAST_TALKED, LILYCOVE_CITY_HARBOR + delay 60 + addobject 4 + delay 30 + applymovement 4, LilycoveCity_Harbor_Movement_27259E + waitmovement 0 + return + +LilycoveCity_Harbor_EventScript_21E514:: @ 821E514 + applymovement 4, LilycoveCity_Harbor_Movement_2725A6 + waitmovement 0 + delay 30 + removeobject 4 + compare VAR_FACING, 2 + call_if 1, LilycoveCity_Harbor_EventScript_21E61B + compare VAR_FACING, 4 + call_if 1, LilycoveCity_Harbor_EventScript_21E610 + delay 30 + hideobjectat 255, PETALBURG_CITY + setvar VAR_0x8004, 2 + call LilycoveCity_Harbor_EventScript_2721E2 + return + +LilycoveCity_Harbor_EventScript_21E54D:: @ 821E54D + msgbox LilycoveCity_Harbor_Text_21E6F1, 4 + release + end + +LilycoveCity_Harbor_EventScript_21E557:: @ 821E557 + msgbox LilycoveCity_Harbor_Text_21E758, 4 + message LilycoveCity_Harbor_Text_21E7ED + waitmessage + goto LilycoveCity_Harbor_EventScript_21E09F + end + +LilycoveCity_Harbor_EventScript_21E56B:: @ 821E56B + msgbox LilycoveCity_Harbor_Text_21E792, 4 + release + end + +LilycoveCity_Harbor_EventScript_21E575:: @ 821E575 + msgbox LilycoveCity_Harbor_Text_21E864, 5 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_Harbor_EventScript_21E5C0 + setvar VAR_PORTHOLE, 5 + call LilycoveCity_Harbor_EventScript_21E5CC + warp SS_TIDAL_CORRIDOR, 255, 1, 10 + waitstate + release + end + +LilycoveCity_Harbor_EventScript_21E59D:: @ 821E59D + msgbox LilycoveCity_Harbor_Text_21E880, 5 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_Harbor_EventScript_21E5C0 + call LilycoveCity_Harbor_EventScript_21E5CC + warp BATTLE_FRONTIER_OUTSIDE_WEST, 255, 19, 67 + waitstate + release + end + +LilycoveCity_Harbor_EventScript_21E5C0:: @ 821E5C0 + message LilycoveCity_Harbor_Text_21E8CC + waitmessage + goto LilycoveCity_Harbor_EventScript_21E09F + end + +LilycoveCity_Harbor_EventScript_21E5CC:: @ 821E5CC + msgbox LilycoveCity_Harbor_Text_21E89D, 4 + closemessage + applymovement VAR_LAST_TALKED, LilycoveCity_Harbor_Movement_2725A6 + waitmovement 0 + delay 30 + hideobjectat VAR_LAST_TALKED, LILYCOVE_CITY_HARBOR + compare VAR_FACING, 2 + call_if 1, LilycoveCity_Harbor_EventScript_21E61B + compare VAR_FACING, 4 + call_if 1, LilycoveCity_Harbor_EventScript_21E610 + delay 30 + hideobjectat 255, PETALBURG_CITY + setvar VAR_0x8004, 2 + call LilycoveCity_Harbor_EventScript_2721E2 + return + +LilycoveCity_Harbor_EventScript_21E610:: @ 821E610 + applymovement 255, LilycoveCity_Harbor_Movement_21E630 + waitmovement 0 + return + +LilycoveCity_Harbor_EventScript_21E61B:: @ 821E61B + applymovement 255, LilycoveCity_Harbor_Movement_21E633 + waitmovement 0 + return + +LilycoveCity_Harbor_EventScript_21E626:: @ 821E626 + msgbox LilycoveCity_Harbor_Text_21E842, 4 + release + end + +LilycoveCity_Harbor_Movement_21E630: @ 821E630 + step_right + step_26 + step_end + +LilycoveCity_Harbor_Movement_21E633: @ 821E633 + step_up + step_end + +LilycoveCity_Harbor_Movement_21E635: @ 821E635 + step_up + step_end + +LilycoveCity_Harbor_EventScript_21E637:: @ 821E637 + lock + faceplayer + checkflag FLAG_SYS_GAME_CLEAR + goto_eq LilycoveCity_Harbor_EventScript_21E64C + msgbox LilycoveCity_Harbor_Text_21E8EE, 4 + release + end + +LilycoveCity_Harbor_EventScript_21E64C:: @ 821E64C + msgbox LilycoveCity_Harbor_Text_21E976, 4 + release + end + +LilycoveCity_Harbor_EventScript_21E656:: @ 821E656 + applymovement 4, LilycoveCity_Harbor_Movement_21E66C + waitmovement 0 + return + +LilycoveCity_Harbor_EventScript_21E661:: @ 821E661 + applymovement 4, LilycoveCity_Harbor_Movement_21E671 + waitmovement 0 + return + +LilycoveCity_Harbor_Movement_21E66C: @ 821E66C + step_28 + step_40 + step_left + step_41 + step_end + +LilycoveCity_Harbor_Movement_21E671: @ 821E671 + step_40 + step_down + step_41 + step_end + +LilycoveCity_Harbor_EventScript_21E675:: @ 821E675 + applymovement 5, LilycoveCity_Harbor_Movement_2725A4 + waitmovement 0 + return + +LilycoveCity_Harbor_EventScript_21E680:: @ 821E680 + applymovement 5, LilycoveCity_Harbor_Movement_2725AA + waitmovement 0 + return + +LilycoveCity_Harbor_EventScript_21E68B:: @ 821E68B + applymovement 5, LilycoveCity_Harbor_Movement_2725AA + waitmovement 0 + return + +LilycoveCity_Harbor_EventScript_21E696:: @ 821E696 + applymovement 5, LilycoveCity_Harbor_Movement_2725A4 + waitmovement 0 + return + +LilycoveCity_Harbor_EventScript_21E6A1:: @ 821E6A1 + applymovement 5, LilycoveCity_Harbor_Movement_21E6D3 + applymovement 255, LilycoveCity_Harbor_Movement_21E6D7 + applymovement 4, LilycoveCity_Harbor_Movement_21E6DC + waitmovement 0 + return + +LilycoveCity_Harbor_EventScript_21E6BA:: @ 821E6BA + applymovement 5, LilycoveCity_Harbor_Movement_21E6D3 + applymovement 255, LilycoveCity_Harbor_Movement_21E6E4 + applymovement 4, LilycoveCity_Harbor_Movement_21E6EA + waitmovement 0 + return + +LilycoveCity_Harbor_Movement_21E6D3: @ 821E6D3 + step_26 + step_13 + step_54 + step_end + +LilycoveCity_Harbor_Movement_21E6D7: @ 821E6D7 + step_14 + step_up + step_14 + step_54 + step_end + +LilycoveCity_Harbor_Movement_21E6DC: @ 821E6DC + step_14 + step_14 + step_14 + step_right + step_26 + step_14 + step_54 + step_end + +LilycoveCity_Harbor_Movement_21E6E4: @ 821E6E4 + step_14 + step_right + step_26 + step_14 + step_54 + step_end + +LilycoveCity_Harbor_Movement_21E6EA: @ 821E6EA + step_14 + step_14 + step_14 + step_up + step_14 + step_54 + step_end + +LilycoveCity_Harbor_Text_21E6F1: @ 821E6F1 + .string "I beg your pardon?\n" + .string "You’re looking for a ship?\p" + .string "I’m sorry, the ferry service isn’t\n" + .string "available at present…$" + +LilycoveCity_Harbor_Text_21E758: @ 821E758 + .string "Hello, are you here for the ferry?\n" + .string "May I see your TICKET?$" + + +LilycoveCity_Harbor_Text_21E792: @ 821E792 + .string "{PLAYER} doesn’t have the TICKET…\p" + .string "I’m terribly sorry.\p" + .string "You must have a TICKET to board\n" + .string "the ferry.$" + +LilycoveCity_Harbor_Text_21E7ED: @ 821E7ED + .string "{PLAYER} flashed the TICKET.\p" + .string "Perfect! That’s all you need!\p" + .string "And where would you like to go?$" + +LilycoveCity_Harbor_Text_21E842: @ 821E842 + .string "Please sail with us another time!$" + +LilycoveCity_Harbor_Text_21E864: @ 821E864 + .string "SLATEPORT CITY it is, then!$" + +LilycoveCity_Harbor_Text_21E880: @ 821E880 + .string "BATTLE FRONTIER it is, then!$" + +LilycoveCity_Harbor_Text_21E89D: @ 821E89D + .string "Please board the ferry and wait for\n" + .string "departure.$" + +LilycoveCity_Harbor_Text_21E8CC: @ 821E8CC + .string "Then, where would you like to go?$" + +LilycoveCity_Harbor_Text_21E8EE: @ 821E8EE + .string "Until they finish making the ferry,\n" + .string "we sailors have nothing to do…\p" + .string "I wish they’d get a move on, the folks\n" + .string "at the SHIPYARD in SLATEPORT.$" + +LilycoveCity_Harbor_Text_21E976: @ 821E976 + .string "The ferry S.S. TIDAL is finally in\n" + .string "operation.\p" + .string "The folks at the SHIPYARD in SLATEPORT\n" + .string "must’ve worked extra hard.\p" + .string "Well, it’s my turn to get busy now!$" + diff --git a/data/scripts/maps/LilycoveCity_House1.inc b/data/scripts/maps/LilycoveCity_House1.inc new file mode 100644 index 0000000000..59418e6671 --- /dev/null +++ b/data/scripts/maps/LilycoveCity_House1.inc @@ -0,0 +1,26 @@ +LilycoveCity_House1_MapScripts:: @ 821ECCD + .byte 0 + +LilycoveCity_House1_EventScript_21ECCE:: @ 821ECCE + msgbox LilycoveCity_House1_Text_21ECEA, 2 + end + +LilycoveCity_House1_EventScript_21ECD7:: @ 821ECD7 + lock + faceplayer + waitse + playmoncry SPECIES_KECLEON, 0 + msgbox LilycoveCity_House1_Text_21ED63, 4 + waitmoncry + release + end + +LilycoveCity_House1_Text_21ECEA: @ 821ECEA + .string "POKéMON are partners to people.\n" + .string "They aren’t our tools.\p" + .string "Unfortunately, there are some people\n" + .string "who fail to understand that…$" + +LilycoveCity_House1_Text_21ED63: @ 821ED63 + .string "KECLEON: Ruroro?$" + diff --git a/data/scripts/maps/LilycoveCity_House2.inc b/data/scripts/maps/LilycoveCity_House2.inc new file mode 100644 index 0000000000..486df9be0f --- /dev/null +++ b/data/scripts/maps/LilycoveCity_House2.inc @@ -0,0 +1,32 @@ +LilycoveCity_House2_MapScripts:: @ 821ED74 + .byte 0 + +LilycoveCity_House2_EventScript_21ED75:: @ 821ED75 + lock + faceplayer + checkflag FLAG_0x0EA + goto_eq LilycoveCity_House2_EventScript_21EDAC + msgbox LilycoveCity_House2_Text_21EDB6, 4 + giveitem_std ITEM_TM44 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_House2_EventScript_272054 + setflag FLAG_0x0EA + msgbox LilycoveCity_House2_Text_21EDF9, 4 + release + end + +LilycoveCity_House2_EventScript_21EDAC:: @ 821EDAC + msgbox LilycoveCity_House2_Text_21EDF9, 4 + release + end + +LilycoveCity_House2_Text_21EDB6: @ 821EDB6 + .string "Huh? What? What’s that?\p" + .string "I’m not near awake yet…\n" + .string "You can have this…$" + +LilycoveCity_House2_Text_21EDF9: @ 821EDF9 + .string "Yawn…\p" + .string "Sleep is essential for good health…\n" + .string "Sleep and regain health…$" + diff --git a/data/scripts/maps/LilycoveCity_House3.inc b/data/scripts/maps/LilycoveCity_House3.inc new file mode 100644 index 0000000000..f82befbcfc --- /dev/null +++ b/data/scripts/maps/LilycoveCity_House3.inc @@ -0,0 +1,169 @@ +LilycoveCity_House3_MapScripts:: @ 821EE3C + map_script 3, LilycoveCity_House3_MapScript1_21EE42 + .byte 0 + +LilycoveCity_House3_MapScript1_21EE42: @ 821EE42 + random 4 + copyvar VAR_0x4001, VAR_RESULT + end + +LilycoveCity_House3_EventScript_21EE4B:: @ 821EE4B + lock + faceplayer + msgbox LilycoveCity_House3_Text_21EF99, 5 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_House3_EventScript_21EE75 + msgbox LilycoveCity_House3_Text_21F0F8, 4 + closemessage + applymovement VAR_LAST_TALKED, LilycoveCity_House3_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_House3_EventScript_21EE75:: @ 821EE75 + msgbox LilycoveCity_House3_Text_21F0A9, 4 + closemessage + applymovement VAR_LAST_TALKED, LilycoveCity_House3_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_House3_EventScript_21EE8A:: @ 821EE8A + lock + faceplayer + msgbox LilycoveCity_House3_Text_21F430, 4 + closemessage + applymovement VAR_LAST_TALKED, LilycoveCity_House3_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_House3_EventScript_21EEA1:: @ 821EEA1 + lock + faceplayer + switch VAR_0x4001 + case 0, LilycoveCity_House3_EventScript_21EF71 + case 1, LilycoveCity_House3_EventScript_21EF7B + case 2, LilycoveCity_House3_EventScript_21EF85 + case 3, LilycoveCity_House3_EventScript_21EF8F + end + +LilycoveCity_House3_EventScript_21EED5:: @ 821EED5 + lock + faceplayer + switch VAR_0x4001 + case 0, LilycoveCity_House3_EventScript_21EF71 + case 1, LilycoveCity_House3_EventScript_21EF7B + case 2, LilycoveCity_House3_EventScript_21EF85 + case 3, LilycoveCity_House3_EventScript_21EF8F + end + +LilycoveCity_House3_EventScript_21EF09:: @ 821EF09 + lock + faceplayer + switch VAR_0x4001 + case 0, LilycoveCity_House3_EventScript_21EF71 + case 1, LilycoveCity_House3_EventScript_21EF7B + case 2, LilycoveCity_House3_EventScript_21EF85 + case 3, LilycoveCity_House3_EventScript_21EF8F + end + +LilycoveCity_House3_EventScript_21EF3D:: @ 821EF3D + lock + faceplayer + switch VAR_0x4001 + case 0, LilycoveCity_House3_EventScript_21EF71 + case 1, LilycoveCity_House3_EventScript_21EF7B + case 2, LilycoveCity_House3_EventScript_21EF85 + case 3, LilycoveCity_House3_EventScript_21EF8F + end + +LilycoveCity_House3_EventScript_21EF71:: @ 821EF71 + msgbox LilycoveCity_House3_Text_21F4A7, 4 + release + end + +LilycoveCity_House3_EventScript_21EF7B:: @ 821EF7B + msgbox LilycoveCity_House3_Text_21F4E0, 4 + release + end + +LilycoveCity_House3_EventScript_21EF85:: @ 821EF85 + msgbox LilycoveCity_House3_Text_21F523, 4 + release + end + +LilycoveCity_House3_EventScript_21EF8F:: @ 821EF8F + msgbox LilycoveCity_House3_Text_21F55A, 4 + release + end + +LilycoveCity_House3_Text_21EF99: @ 821EF99 + .string "Oh, my, my! Are you traveling alone?\n" + .string "But you’re so young! Good for you!\p" + .string "I’m sure my kids could learn a thing\n" + .string "or two from you!\p" + .string "Me? I’m a master of {POKEBLOCK}S.\p" + .string "If I get serious just a little, why,\n" + .string "I can concoct great {POKEBLOCK}S.\p" + .string "Would you like to learn from me,\n" + .string "a master of {POKEBLOCK}S?$" + +LilycoveCity_House3_Text_21F0A9: @ 821F0A9 + .string "Oh? Are you sure?\p" + .string "You shouldn’t always try to do\n" + .string "everything by yourself, dear!$" + +LilycoveCity_House3_Text_21F0F8: @ 821F0F8 + .string "Oh, good! You’re a smart soul!\n" + .string "This is a bit long, so listen up!\p" + .string "Are you ready?\p" + .string "If you look at {POKEBLOCK}S, you should see\n" + .string "that they are rated on how they feel.\p" + .string "The lower the feel rating,\n" + .string "the better it is. Don’t forget this!\p" + .string "A good {POKEBLOCK} has a low feel\n" + .string "rating and a high level.\p" + .string "A POKéMON can eat more good\n" + .string "{POKEBLOCK}S than ordinary ones, too.\p" + .string "And this is important.\p" + .string "If you want to make smooth {POKEBLOCK}S,\n" + .string "use different kinds of BERRIES.\p" + .string "Don’t be stingy--the kinds of BERRIES\n" + .string "affect the smoothness of {POKEBLOCK}S.\p" + .string "And another thing.\p" + .string "The more people blending BERRIES,\n" + .string "the smoother the {POKEBLOCK}S.\p" + .string "That’s why you should talk to other\n" + .string "people and make {POKEBLOCK}S together.\p" + .string "That’s about all you need to know to\n" + .string "make good {POKEBLOCK}S.\p" + .string "If everyone had POKéMON they love,\n" + .string "smooth {POKEBLOCK}S, and a loving family,\l" + .string "the world would be a happier place.\p" + .string "Don’t give up, dear!$" + +LilycoveCity_House3_Text_21F430: @ 821F430 + .string "When my wife gave birth to quadruplets,\n" + .string "you bet I was shocked.\p" + .string "But, now, seeing them play together,\n" + .string "it makes me happy.$" + +LilycoveCity_House3_Text_21F4A7: @ 821F4A7 + .string "We’re having MULTI BATTLES, but I know\n" + .string "I’m going to win.$" + +LilycoveCity_House3_Text_21F4E0: @ 821F4E0 + .string "We like mixing stuff at\n" + .string "the RECORD CORNER.\p" + .string "But what gets mixed up?$" + +LilycoveCity_House3_Text_21F523: @ 821F523 + .string "We’re going to make super {POKEBLOCK}S\n" + .string "with a BERRY BLENDER!$" + +LilycoveCity_House3_Text_21F55A: @ 821F55A + .string "I want to brag about how tough my\n" + .string "POKéMON is, so we’re going to enter\l" + .string "a CONTEST together.$" + diff --git a/data/scripts/maps/LilycoveCity_House4.inc b/data/scripts/maps/LilycoveCity_House4.inc new file mode 100644 index 0000000000..8bfdb2d48a --- /dev/null +++ b/data/scripts/maps/LilycoveCity_House4.inc @@ -0,0 +1,21 @@ +LilycoveCity_House4_MapScripts:: @ 821F5B4 + .byte 0 + +LilycoveCity_House4_EventScript_21F5B5:: @ 821F5B5 + msgbox LilycoveCity_House4_Text_21F5C7, 2 + end + +LilycoveCity_House4_EventScript_21F5BE:: @ 821F5BE + msgbox LilycoveCity_House4_Text_21F62B, 2 + end + +LilycoveCity_House4_Text_21F5C7: @ 821F5C7 + .string "This planet’s biggest mysteries are\n" + .string "at the bottom of the sea.\p" + .string "Somebody said that, but I don’t know…$" + +LilycoveCity_House4_Text_21F62B: @ 821F62B + .string "There’s a deep underwater trench\n" + .string "between MOSSDEEP and SOOTOPOLIS.\p" + .string "That’s what someone told me, anyway.$" + diff --git a/data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc b/data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc new file mode 100644 index 0000000000..8103a623c7 --- /dev/null +++ b/data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc @@ -0,0 +1,296 @@ +LilycoveCity_LilycoveMuseum_1F_MapScripts:: @ 8218CB8 + .byte 0 + +LilycoveCity_LilycoveMuseum_1F_EventScript_218CB9:: @ 8218CB9 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_218E4B, 3 + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218CC2:: @ 8218CC2 + lockall + applymovement 2, LilycoveCity_LilycoveMuseum_1F_Movement_27259E + message LilycoveCity_LilycoveMuseum_1F_Text_218EBC + waitmessage + multichoice 20, 8, 16, 1 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218CF5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218CEC + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218CEC:: @ 8218CEC + msgbox LilycoveCity_LilycoveMuseum_1F_Text_218F5C, 2 + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218CF5:: @ 8218CF5 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_218F98, 5 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218D14 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218D1E + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218D14:: @ 8218D14 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_218FF8, 3 + releaseall + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218D1E:: @ 8218D1E + msgbox LilycoveCity_LilycoveMuseum_1F_Text_219035, 3 + applymovement 2, LilycoveCity_LilycoveMuseum_1F_Movement_218D99 + waitmovement 0 + removeobject 2 + switch VAR_FACING + case 2, LilycoveCity_LilycoveMuseum_1F_EventScript_218D5A + case 3, LilycoveCity_LilycoveMuseum_1F_EventScript_218D6F + case 4, LilycoveCity_LilycoveMuseum_1F_EventScript_218D84 + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218D5A:: @ 8218D5A + lockall + applymovement 255, LilycoveCity_LilycoveMuseum_1F_Movement_218DA1 + waitmovement 0 + warp LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8 + waitstate + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218D6F:: @ 8218D6F + lockall + applymovement 255, LilycoveCity_LilycoveMuseum_1F_Movement_218D9B + waitmovement 0 + warp LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8 + waitstate + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218D84:: @ 8218D84 + lockall + applymovement 255, LilycoveCity_LilycoveMuseum_1F_Movement_218D9E + waitmovement 0 + warp LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8 + waitstate + end + +LilycoveCity_LilycoveMuseum_1F_Movement_218D99: @ 8218D99 + step_up + step_end + +LilycoveCity_LilycoveMuseum_1F_Movement_218D9B: @ 8218D9B + step_left + step_up + step_end + +LilycoveCity_LilycoveMuseum_1F_Movement_218D9E: @ 8218D9E + step_right + step_up + step_end + +LilycoveCity_LilycoveMuseum_1F_Movement_218DA1: @ 8218DA1 + step_up + step_up + step_end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218DA4:: @ 8218DA4 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_219080, 3 + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218DAD:: @ 8218DAD + msgbox LilycoveCity_LilycoveMuseum_1F_Text_2190BF, 3 + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218DB6:: @ 8218DB6 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_2190F9, 3 + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218DBF:: @ 8218DBF + msgbox LilycoveCity_LilycoveMuseum_1F_Text_219142, 3 + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218DC8:: @ 8218DC8 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_2191A2, 3 + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218DD1:: @ 8218DD1 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_21920D, 3 + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218DDA:: @ 8218DDA +LilycoveCity_LilycoveMuseum_2F_EventScript_218DDA:: @ 8218DDA + msgbox LilycoveCity_LilycoveMuseum_1F_Text_219260, 3 + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218DE3:: @ 8218DE3 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_2192AA, 3 + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218DEC:: @ 8218DEC + msgbox LilycoveCity_LilycoveMuseum_1F_Text_219311, 3 + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218DF5:: @ 8218DF5 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_2193B4, 2 + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218DFE:: @ 8218DFE + msgbox LilycoveCity_LilycoveMuseum_1F_Text_21941A, 2 + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218E07:: @ 8218E07 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_2194BA, 3 + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218E10:: @ 8218E10 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_2194E1, 3 + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218E19:: @ 8218E19 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_219515, 2 + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218E22:: @ 8218E22 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_21959B, 2 + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218E2B:: @ 8218E2B + lock + faceplayer + msgbox LilycoveCity_LilycoveMuseum_1F_Text_2195FF, 4 + closemessage + applymovement 8, LilycoveCity_LilycoveMuseum_1F_Movement_2725A2 + waitmovement 0 + release + end + +LilycoveCity_LilycoveMuseum_1F_EventScript_218E42:: @ 8218E42 + msgbox LilycoveCity_LilycoveMuseum_1F_Text_21967A, 2 + end + +LilycoveCity_LilycoveMuseum_1F_Text_218E4B: @ 8218E4B + .string "Welcome to LILYCOVE MUSEUM.\p" + .string "Please take the time to enjoy our\n" + .string "collection of fantastic artwork\l" + .string "featuring POKéMON.$" + +LilycoveCity_LilycoveMuseum_1F_Text_218EBC: @ 8218EBC + .string "I’m the CURATOR of this MUSEUM of\n" + .string "fine arts.\p" + .string "It’s heartening to see someone so\n" + .string "young as you in our MUSEUM.\p" + .string "Have you viewed our collection of\n" + .string "paintings already?$" + +LilycoveCity_LilycoveMuseum_1F_Text_218F5C: @ 8218F5C + .string "Ah, then let me not disturb you.\n" + .string "Please, do take your time.$" + +LilycoveCity_LilycoveMuseum_1F_Text_218F98: @ 8218F98 + .string "Oh? I do believe that you seem to\n" + .string "be a POKéMON TRAINER.\p" + .string "Have you an interest in paintings,\n" + .string "too?$" + +LilycoveCity_LilycoveMuseum_1F_Text_218FF8: @ 8218FF8 + .string "I see…\p" + .string "I’m honored that you would visit\n" + .string "us in spite of that.$" + +LilycoveCity_LilycoveMuseum_1F_Text_219035: @ 8219035 + .string "Ah, excellent!\n" + .string "You do like paintings!\p" + .string "Then, may I ask you to come with me?$" + +LilycoveCity_LilycoveMuseum_1F_Text_219080: @ 8219080 + .string "It’s a very old painting.\n" + .string "The paint is peeling here and there.$" + +LilycoveCity_LilycoveMuseum_1F_Text_2190BF: @ 82190BF + .string "It’s an odd landscape with bizarre\n" + .string "and fantastic scenery.$" + +LilycoveCity_LilycoveMuseum_1F_Text_2190F9: @ 82190F9 + .string "It’s a painting of a beautiful, smiling\n" + .string "woman with a POKéMON on her lap.$" + +LilycoveCity_LilycoveMuseum_1F_Text_219142: @ 8219142 + .string "It’s a painting of a legendary POKéMON\n" + .string "from long ago.\p" + .string "The artist painted this from\n" + .string "imagination.$" + +LilycoveCity_LilycoveMuseum_1F_Text_2191A2: @ 82191A2 + .string "It’s a painting of GRASS POKéMON\n" + .string "swaying in a breeze.\p" + .string "They appear to be enjoying the wind’s\n" + .string "gentle caress.$" + +LilycoveCity_LilycoveMuseum_1F_Text_21920D: @ 821920D + .string "It’s a delicious-looking painting\n" + .string "of BERRIES.\p" + .string "This painting could make you hungry!$" + +LilycoveCity_LilycoveMuseum_1F_Text_219260: @ 8219260 + .string "It’s a replica of a famous sculpture.\p" + .string "It depicts an ancient BIRD POKéMON.$" + +LilycoveCity_LilycoveMuseum_1F_Text_2192AA: @ 82192AA + .string "It’s a big POKé BALL carved from\n" + .string "a black stone.\p" + .string "It was apparently used in festivals\n" + .string "in the olden days.$" + +LilycoveCity_LilycoveMuseum_1F_Text_219311: @ 8219311 + .string "It’s a huge stone tablet inscribed\n" + .string "with POKéMON and dense text in the\l" + .string "small characters of an ancient,\l" + .string "unreadable language.$" + +LilycoveCity_LilycoveMuseum_1F_Text_21938C: @ 821938C + .string "Hmmm…\n" + .string "What works of great magnificence…$" + +LilycoveCity_LilycoveMuseum_1F_Text_2193B4: @ 82193B4 + .string "Battling with POKéMON is fun,\n" + .string "I’ll grant you that.\p" + .string "But one mustn’t forget our love for\n" + .string "the fine arts.$" + +LilycoveCity_LilycoveMuseum_1F_Text_21941A: @ 821941A + .string "This ART MUSEUM… Well, you could\n" + .string "see many fantastic paintings.\p" + .string "And the CURATOR is a wonderful person.\p" + .string "Among artists like myself, this MUSEUM\n" + .string "is an inspiration.$" + +LilycoveCity_LilycoveMuseum_1F_Text_2194BA: @ 82194BA + .string "This lady is pretty!\n" + .string "She’s like Mommy!$" + +LilycoveCity_LilycoveMuseum_1F_Text_2194E1: @ 82194E1 + .string "This POKéMON is adorable!\n" + .string "Just like our little boy!$" + +LilycoveCity_LilycoveMuseum_1F_Text_219515: @ 8219515 + .string "I’d heard that this ART MUSEUM got\n" + .string "in some new paintings.\p" + .string "So, naturally I hurried over.\p" + .string "Are the new paintings up on\n" + .string "the second floor?$" + +LilycoveCity_LilycoveMuseum_1F_Text_21959B: @ 821959B + .string "Lately, the CURATOR has been\n" + .string "unusually cheerful.\p" + .string "I bet something good happened for him.\n" + .string "Definitely.$" + +LilycoveCity_LilycoveMuseum_1F_Text_2195FF: @ 82195FF + .string "I aim to see many great paintings\n" + .string "here and learn from them.\p" + .string "I have this dream of one day having\n" + .string "my artwork exhibited here.$" + +LilycoveCity_LilycoveMuseum_1F_Text_21967A: @ 821967A + .string "The ART MUSEUM has become a favorite\n" + .string "tourist destination.\p" + .string "It’s great for LILYCOVE…\n" + .string "No, great for the HOENN region!\p" + .string "This is what I’ve heard--a lone TRAINER\n" + .string "procured all the paintings upstairs.$" + diff --git a/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc b/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc new file mode 100644 index 0000000000..97dba47044 --- /dev/null +++ b/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc @@ -0,0 +1,340 @@ +LilycoveCity_LilycoveMuseum_2F_MapScripts:: @ 821973A + map_script 1, LilycoveCity_LilycoveMuseum_2F_MapScript1_219745 + map_script 2, LilycoveCity_LilycoveMuseum_2F_MapScript2_2197FE + .byte 0 + +LilycoveCity_LilycoveMuseum_2F_MapScript1_219745: @ 8219745 + checkflag FLAG_0x0A0 + goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_21978B + goto LilycoveCity_LilycoveMuseum_2F_EventScript_219754 + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_219754:: @ 8219754 + checkflag FLAG_0x0A1 + goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2197A3 + goto LilycoveCity_LilycoveMuseum_2F_EventScript_219763 + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_219763:: @ 8219763 + checkflag FLAG_0x0A2 + goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2197BB + goto LilycoveCity_LilycoveMuseum_2F_EventScript_219772 + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_219772:: @ 8219772 + checkflag FLAG_0x0A3 + goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2197D3 + goto LilycoveCity_LilycoveMuseum_2F_EventScript_219781 + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_219781:: @ 8219781 + checkflag FLAG_0x0A4 + goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2197EB + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_21978B:: @ 821978B + setmetatile 10, 6, 606, 1 + setmetatile 11, 6, 607, 1 + goto LilycoveCity_LilycoveMuseum_2F_EventScript_219754 + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_2197A3:: @ 82197A3 + setmetatile 18, 6, 604, 1 + setmetatile 19, 6, 605, 1 + goto LilycoveCity_LilycoveMuseum_2F_EventScript_219763 + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_2197BB:: @ 82197BB + setmetatile 14, 10, 608, 1 + setmetatile 15, 10, 609, 1 + goto LilycoveCity_LilycoveMuseum_2F_EventScript_219772 + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_2197D3:: @ 82197D3 + setmetatile 6, 10, 602, 1 + setmetatile 7, 10, 603, 1 + goto LilycoveCity_LilycoveMuseum_2F_EventScript_219781 + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_2197EB:: @ 82197EB + setmetatile 2, 6, 610, 1 + setmetatile 3, 6, 611, 1 + end + +LilycoveCity_LilycoveMuseum_2F_MapScript2_2197FE: @ 82197FE + map_script_2 VAR_0x4094, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219808 + .2byte 0 + +LilycoveCity_LilycoveMuseum_2F_EventScript_219808:: @ 8219808 + lockall + applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_27259E + applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_219861 + waitmovement 0 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_2199EB, 3 + applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_219863 + waitmovement 0 + applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_219863 + waitmovement 0 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_219A0D, 3 + applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_27259E + waitmovement 0 + applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_219861 + waitmovement 0 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_219BC4, 3 + copyvar VAR_0x4094, 0x1 + releaseall + end + +LilycoveCity_LilycoveMuseum_2F_Movement_219861: @ 8219861 + step_27 + step_end + +LilycoveCity_LilycoveMuseum_2F_Movement_219863: @ 8219863 + step_01 + step_14 + step_end + +LilycoveCity_LilycoveMuseum_2F_EventScript_219866:: @ 8219866 + lockall + checkflag FLAG_0x0EC + goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_219921 + specialvar VAR_0x8004, sub_80F8940 + switch VAR_0x8004 + case 1, LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA + case 2, LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA + case 3, LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA + case 4, LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA + case 5, LilycoveCity_LilycoveMuseum_2F_EventScript_2198C3 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_219CF3, 2 + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA:: @ 82198BA + msgbox LilycoveCity_LilycoveMuseum_2F_Text_219D42, 2 + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_2198C3:: @ 82198C3 + applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_27259E + waitmovement 0 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_219DD4, 4 + applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_219863 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_219DE6, 4 + goto LilycoveCity_LilycoveMuseum_2F_EventScript_2198EA + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_2198EA:: @ 82198EA + applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_27259E + msgbox LilycoveCity_LilycoveMuseum_2F_Text_219EC5, 4 + givedecoration_std 44 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_219911 + setflag FLAG_0x0EC + closemessage + releaseall + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_219911:: @ 8219911 + call LilycoveCity_LilycoveMuseum_2F_EventScript_272071 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_219EED, 4 + closemessage + releaseall + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_219921:: @ 8219921 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_219F1B, 2 + releaseall + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_21992B:: @ 821992B + lockall + checkflag FLAG_0x0A2 + goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2199C1 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_219FA0, 3 + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_21993E:: @ 821993E + lockall + checkflag FLAG_0x0A4 + goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2199DD + msgbox LilycoveCity_LilycoveMuseum_2F_Text_219FD3, 3 + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_219951:: @ 8219951 + lockall + checkflag FLAG_0x0A0 + goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2199A5 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A03B, 3 + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_219964:: @ 8219964 + lockall + checkflag FLAG_0x0A1 + goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2199B3 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A008, 3 + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_219977:: @ 8219977 + lockall + checkflag FLAG_0x0A3 + goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2199CF + msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A06D, 3 + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_21998A:: @ 821998A + msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0BD, 2 + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_219993:: @ 8219993 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A132, 2 + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_21999C:: @ 821999C + msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A1A8, 2 + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_2199A5:: @ 82199A5 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, 3 + fadescreen 1 + drawcontestwinner 9 + releaseall + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_2199B3:: @ 82199B3 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, 3 + fadescreen 1 + drawcontestwinner 10 + releaseall + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_2199C1:: @ 82199C1 + msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, 3 + fadescreen 1 + drawcontestwinner 11 + releaseall + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_2199CF:: @ 82199CF + msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, 3 + fadescreen 1 + drawcontestwinner 12 + releaseall + end + +LilycoveCity_LilycoveMuseum_2F_EventScript_2199DD:: @ 82199DD + msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, 3 + fadescreen 1 + drawcontestwinner 13 + releaseall + end + +LilycoveCity_LilycoveMuseum_2F_Text_2199EB: @ 82199EB + .string "This is our special exhibit hall.$" + +LilycoveCity_LilycoveMuseum_2F_Text_219A0D: @ 8219A0D + .string "As you can plainly see, there is not\n" + .string "a single painting on exhibit.\p" + .string "Here, I don’t wish to exhibit works of\n" + .string "so-called classical art.\p" + .string "Such classical works you can see on\n" + .string "our ground floor.\p" + .string "I wish to exhibit work that is far\n" + .string "different from the classics.\p" + .string "Art, after all, is not restricted to old,\n" + .string "famous works!\p" + .string "This exhibit hall, I wish to fill it with…\p" + .string "Modern and vibrant artworks of\n" + .string "POKéMON seemingly ready to spring\l" + .string "forth into glorious life!$" + +LilycoveCity_LilycoveMuseum_2F_Text_219BC4: @ 8219BC4 + .string "I beg your pardon. I didn’t intend\n" + .string "to monopolize the conversation.\p" + .string "Now, as you are young, and yet\n" + .string "obviously well traveled…\p" + .string "You must encounter lively POKéMON\n" + .string "and works of art depicting them.\p" + .string "If you were to come across such\n" + .string "a painting, may we ask you to obtain\l" + .string "the artist’s permission to exhibit\l" + .string "it here?$" + +LilycoveCity_LilycoveMuseum_2F_Text_219CF3: @ 8219CF3 + .string "I wish to fill this exhibit hall with\n" + .string "modern and vibrant paintings of\l" + .string "POKéMON.$" + +LilycoveCity_LilycoveMuseum_2F_Text_219D42: @ 8219D42 + .string "Thanks to you, we’ve added a new\n" + .string "painting to our collection!\p" + .string "I’ve heard it depicts your POKéMON.\n" + .string "Truly magnificent!\p" + .string "Thank you so very, very much!$" + +LilycoveCity_LilycoveMuseum_2F_Text_219DD4: @ 8219DD4 + .string "Ah! It’s you!\n" + .string "{PLAYER}!$" + +LilycoveCity_LilycoveMuseum_2F_Text_219DE6: @ 8219DE6 + .string "Isn’t this marvelous?\n" + .string "This collection of paintings!\p" + .string "Each one of them flawless!\n" + .string "None better than another!\p" + .string "These paintings have attracted\n" + .string "more guests to our ART MUSEUM.\p" + .string "Sincerely, I thank you, {PLAYER}.\n" + .string "This is my dream come true!$" + +LilycoveCity_LilycoveMuseum_2F_Text_219EC5: @ 8219EC5 + .string "This is merely a token of my gratitude.$" + +LilycoveCity_LilycoveMuseum_2F_Text_219EED: @ 8219EED + .string "I will keep this for you until we\n" + .string "meet again.$" + +LilycoveCity_LilycoveMuseum_2F_Text_219F1B: @ 8219F1B + .string "Ah, so good to see you, {PLAYER}!\p" + .string "It’s an honor to have you visit us\n" + .string "on your busy journeys.\p" + .string "Please, relax and do enjoy your\n" + .string "visit with us.$" + +LilycoveCity_LilycoveMuseum_2F_Text_219FA0: @ 8219FA0 + .string "It’s a picture frame with pink-colored\n" + .string "adornments.$" + +LilycoveCity_LilycoveMuseum_2F_Text_219FD3: @ 8219FD3 + .string "It’s a picture frame with\n" + .string "yellow-colored adornments.$" + +LilycoveCity_LilycoveMuseum_2F_Text_21A008: @ 821A008 + .string "It’s a picture frame with\n" + .string "blue-colored adornments.$" + +LilycoveCity_LilycoveMuseum_2F_Text_21A03B: @ 821A03B + .string "It’s a picture frame with\n" + .string "red-colored adornments.$" + +LilycoveCity_LilycoveMuseum_2F_Text_21A06D: @ 821A06D + .string "It’s a picture frame with\n" + .string "green-colored adornments.$" + +LilycoveCity_LilycoveMuseum_2F_Text_21A0A1: @ 821A0A1 + .string "It’s a painting of POKéMON.$" + +LilycoveCity_LilycoveMuseum_2F_Text_21A0BD: @ 821A0BD + .string "I’ve been away awhile, so the new\n" + .string "paintings up here surprised me.\p" + .string "I wish someone would paint my POKéMON\n" + .string "this pretty.$" + +LilycoveCity_LilycoveMuseum_2F_Text_21A132: @ 821A132 + .string "Well… So this is where they show\n" + .string "the topical POKéMON paintings.\p" + .string "I see, these new paintings are indeed\n" + .string "rather amusing.$" + +LilycoveCity_LilycoveMuseum_2F_Text_21A1A8: @ 821A1A8 + .string "Wow, is that right?\n" + .string "These paintings are of your POKéMON.\p" + .string "Isn’t that just the ultimate joy for\n" + .string "a TRAINER?$" + diff --git a/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc b/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc new file mode 100644 index 0000000000..19471d2e13 --- /dev/null +++ b/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc @@ -0,0 +1,111 @@ +LilycoveCity_MoveDeletersHouse_MapScripts:: @ 821EA0A + .byte 0 + +LilycoveCity_MoveDeletersHouse_EventScript_21EA0B:: @ 821EA0B + lockall + applymovement 1, LilycoveCity_MoveDeletersHouse_Movement_27259E + waitmovement 0 + msgbox LilycoveCity_MoveDeletersHouse_Text_21EAFD, 5 + switch VAR_RESULT + case 1, LilycoveCity_MoveDeletersHouse_EventScript_21EA3B + case 0, LilycoveCity_MoveDeletersHouse_EventScript_21EAE6 + releaseall + end + +LilycoveCity_MoveDeletersHouse_EventScript_21EA3B:: @ 821EA3B + msgbox LilycoveCity_MoveDeletersHouse_Text_21EB65, 4 + special sub_81B94B0 + waitstate + compare VAR_0x8004, 255 + goto_eq LilycoveCity_MoveDeletersHouse_EventScript_21EAE6 + special sub_81B98DC + compare VAR_RESULT, 1 + goto_eq LilycoveCity_MoveDeletersHouse_EventScript_21EADC + special sub_81B96D0 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_MoveDeletersHouse_EventScript_21EACF + msgbox LilycoveCity_MoveDeletersHouse_Text_21EB89, 4 + fadescreen 1 + special sub_81B968C + fadescreen 0 + compare VAR_0x8005, 4 + goto_eq LilycoveCity_MoveDeletersHouse_EventScript_21EA3B + special sub_81B9718 + msgbox LilycoveCity_MoveDeletersHouse_Text_21EBDA, 5 + switch VAR_RESULT + case 1, LilycoveCity_MoveDeletersHouse_EventScript_21EAB0 + case 0, LilycoveCity_MoveDeletersHouse_EventScript_21EAE6 + releaseall + end + +LilycoveCity_MoveDeletersHouse_EventScript_21EAB0:: @ 821EAB0 + special sub_81B9918 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_MoveDeletersHouse_EventScript_21EAF0 + special sub_81B9770 + playfanfare MUS_ME_WASURE + waitfanfare + msgbox LilycoveCity_MoveDeletersHouse_Text_21EC06, 4 + releaseall + end + +LilycoveCity_MoveDeletersHouse_EventScript_21EACF:: @ 821EACF + special sub_81B9718 + msgbox LilycoveCity_MoveDeletersHouse_Text_21EBA9, 4 + releaseall + end + +LilycoveCity_MoveDeletersHouse_EventScript_21EADC:: @ 821EADC + msgbox LilycoveCity_MoveDeletersHouse_Text_21EC78, 4 + releaseall + end + +LilycoveCity_MoveDeletersHouse_EventScript_21EAE6:: @ 821EAE6 + msgbox LilycoveCity_MoveDeletersHouse_Text_21EC3F, 4 + releaseall + end + +LilycoveCity_MoveDeletersHouse_EventScript_21EAF0:: @ 821EAF0 + special sub_81B9718 + msgbox LilycoveCity_MoveDeletersHouse_Text_21EC9C, 4 + releaseall + end + +LilycoveCity_MoveDeletersHouse_Text_21EAFD: @ 821EAFD + .string "Uh…\n" + .string "Oh, yes, I’m the MOVE DELETER.\p" + .string "I can make POKéMON forget their moves.\p" + .string "Would you like me to do that?$" + +LilycoveCity_MoveDeletersHouse_Text_21EB65: @ 821EB65 + .string "Which POKéMON should forget a move?$" + +LilycoveCity_MoveDeletersHouse_Text_21EB89: @ 821EB89 + .string "Which move should be forgotten?$" + +LilycoveCity_MoveDeletersHouse_Text_21EBA9: @ 821EBA9 + .string "{STR_VAR_1} knows only one move\n" + .string "so it can’t be forgotten…$" + +LilycoveCity_MoveDeletersHouse_Text_21EBDA: @ 821EBDA + .string "Hm! {STR_VAR_1}’s {STR_VAR_2}?\n" + .string "That move should be forgotten?$" + +LilycoveCity_MoveDeletersHouse_Text_21EC06: @ 821EC06 + .string "It worked to perfection!\p" + .string "{STR_VAR_1} has forgotten\n" + .string "{STR_VAR_2} completely.$" + +LilycoveCity_MoveDeletersHouse_Text_21EC3F: @ 821EC3F + .string "Come again if there are moves that\n" + .string "need to be forgotten.$" + +LilycoveCity_MoveDeletersHouse_Text_21EC78: @ 821EC78 + .string "What?\n" + .string "No EGG should know any moves.$" + +LilycoveCity_MoveDeletersHouse_Text_21EC9C: @ 821EC9C + .string "Hm!\p" + .string "Your {STR_VAR_1} doesn’t seem willing\n" + .string "to forget SURF.$" + diff --git a/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc b/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc new file mode 100644 index 0000000000..b6ca099062 --- /dev/null +++ b/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc @@ -0,0 +1,68 @@ +LilycoveCity_PokemonCenter_1F_MapScripts:: @ 821C5B2 + map_script 3, LilycoveCity_PokemonCenter_1F_MapScript1_21C5BD + map_script 5, LilycoveCity_PokemonCenter_1F_MapScript1_277C30 + .byte 0 + +LilycoveCity_PokemonCenter_1F_MapScript1_21C5BD: @ 821C5BD + setrespawn 8 + goto LilycoveCity_PokemonCenter_1F_EventScript_21C5C6 + end + +LilycoveCity_PokemonCenter_1F_EventScript_21C5C6:: @ 821C5C6 + special sub_818D9C0 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_21C5E0 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_21C5E4 + end + +LilycoveCity_PokemonCenter_1F_EventScript_21C5E0:: @ 821C5E0 + setflag FLAG_0x3E1 + end + +LilycoveCity_PokemonCenter_1F_EventScript_21C5E4:: @ 821C5E4 + clearflag FLAG_0x3E1 + end + +LilycoveCity_PokemonCenter_1F_EventScript_21C5E8:: @ 821C5E8 + setvar VAR_0x800B, 1 + call LilycoveCity_PokemonCenter_1F_EventScript_27191E + waitmessage + waitbuttonpress + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_21C5F6:: @ 821C5F6 + msgbox LilycoveCity_PokemonCenter_1F_Text_21C61E, 2 + end + +LilycoveCity_PokemonCenter_1F_EventScript_21C5FF:: @ 821C5FF + lock + faceplayer + checkflag FLAG_BADGE07_GET + goto_eq LilycoveCity_PokemonCenter_1F_EventScript_21C614 + msgbox LilycoveCity_PokemonCenter_1F_Text_21C69D, 4 + release + end + +LilycoveCity_PokemonCenter_1F_EventScript_21C614:: @ 821C614 + msgbox LilycoveCity_PokemonCenter_1F_Text_21C6F6, 4 + release + end + +LilycoveCity_PokemonCenter_1F_Text_21C61E: @ 821C61E + .string "I wonder how many kinds of POKéMON\n" + .string "there are in the world.\p" + .string "It’d be great to cross seas and\n" + .string "trade POKéMON with people far away.$" + +LilycoveCity_PokemonCenter_1F_Text_21C69D: @ 821C69D + .string "I’ve been hearing about some rotten\n" + .string "scoundrels who steal POKéMON and rip\l" + .string "off METEORITES.$" + +LilycoveCity_PokemonCenter_1F_Text_21C6F6: @ 821C6F6 + .string "Those rotten scoundrels who steal\n" + .string "POKéMON and rip off METEORITES…\p" + .string "I haven’t seen them around recently.$" + diff --git a/data/scripts/maps/LilycoveCity_PokemonCenter_2F.inc b/data/scripts/maps/LilycoveCity_PokemonCenter_2F.inc new file mode 100644 index 0000000000..f4a25f1377 --- /dev/null +++ b/data/scripts/maps/LilycoveCity_PokemonCenter_2F.inc @@ -0,0 +1,19 @@ +LilycoveCity_PokemonCenter_2F_MapScripts:: @ 821C75D + map_script 2, LilycoveCity_PokemonCenter_2F_MapScript2_276C3B + map_script 4, LilycoveCity_PokemonCenter_2F_MapScript2_276B6C + map_script 1, LilycoveCity_PokemonCenter_2F_MapScript1_276BBE + map_script 3, LilycoveCity_PokemonCenter_2F_MapScript1_276ACF + .byte 0 + +LilycoveCity_PokemonCenter_2F_EventScript_21C772:: @ 821C772 + call OldaleTown_PokemonCenter_2F_EventScript_276EB7 + end + +LilycoveCity_PokemonCenter_2F_EventScript_21C778:: @ 821C778 + call OldaleTown_PokemonCenter_2F_EventScript_2770B2 + end + +LilycoveCity_PokemonCenter_2F_EventScript_21C77E:: @ 821C77E + call OldaleTown_PokemonCenter_2F_EventScript_2771DB + end + diff --git a/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc b/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc new file mode 100644 index 0000000000..cdcef8e9ac --- /dev/null +++ b/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc @@ -0,0 +1,864 @@ +LilycoveCity_PokemonTrainerFanClub_MapScripts:: @ 821C785 + map_script 2, LilycoveCity_PokemonTrainerFanClub_MapScript2_21C790 + map_script 3, LilycoveCity_PokemonTrainerFanClub_MapScript1_21C80D + .byte 0 + +LilycoveCity_PokemonTrainerFanClub_MapScript2_21C790: @ 821C790 + map_script_2 VAR_0x4095, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A + .2byte 0 + +LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A:: @ 821C79A + lockall + applymovement 1, LilycoveCity_PokemonTrainerFanClub_Movement_2725AA + waitmovement 0 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21CF00, 4 + applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C7FD + applymovement 2, LilycoveCity_PokemonTrainerFanClub_Movement_21C7F5 + waitmovement 0 + applymovement 255, LilycoveCity_PokemonTrainerFanClub_Movement_2725A8 + waitmovement 0 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21CF12, 4 + applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C804 + waitmovement 0 + applymovement 255, LilycoveCity_PokemonTrainerFanClub_Movement_2725A4 + waitmovement 0 + applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C807 + waitmovement 0 + setvar VAR_0x4095, 2 + releaseall + end + +LilycoveCity_PokemonTrainerFanClub_Movement_21C7F5: @ 821C7F5 + step_13 + step_25 + step_down + step_down + step_down + step_left + step_left + step_end + +LilycoveCity_PokemonTrainerFanClub_Movement_21C7FD: @ 821C7FD + step_17 + step_17 + step_15 + step_15 + step_17 + step_15 + step_end + +LilycoveCity_PokemonTrainerFanClub_Movement_21C804: @ 821C804 + step_down + step_28 + step_end + +LilycoveCity_PokemonTrainerFanClub_Movement_21C807: @ 821C807 + step_49 + step_16 + step_16 + step_18 + step_25 + step_end + +LilycoveCity_PokemonTrainerFanClub_MapScript1_21C80D: @ 821C80D + call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8DA + compare VAR_0x4095, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F8 + compare VAR_0x4095, 2 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C829 + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21C829:: @ 821C829 + special sub_813BCE8 + call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5 + setvar VAR_0x8004, 8 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 0 + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B8 + setvar VAR_0x8004, 9 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 0 + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C0 + setvar VAR_0x8004, 10 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 0 + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C8 + setvar VAR_0x8004, 11 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 0 + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D0 + setvar VAR_0x8004, 12 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 0 + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D8 + setvar VAR_0x8004, 13 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 0 + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E0 + setvar VAR_0x8004, 14 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 0 + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E8 + setvar VAR_0x8004, 15 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 0 + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F0 + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21C8DA:: @ 821C8DA + specialvar VAR_RESULT, sub_80EE7C0 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F1 + clearflag FLAG_0x2DA + clearflag FLAG_0x0D2 + return + +LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F1:: @ 821C8F1 + setflag FLAG_0x2DA + return + +LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5:: @ 821C8F5 + setvar VAR_0x8005, 8 + setvar VAR_0x8004, 8 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 0 + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE + setvar VAR_0x8004, 9 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 0 + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE + setvar VAR_0x8004, 10 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 0 + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE + setvar VAR_0x8004, 11 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 0 + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE + setvar VAR_0x8004, 12 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 0 + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE + setvar VAR_0x8004, 13 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 0 + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE + setvar VAR_0x8004, 14 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 0 + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE + setvar VAR_0x8004, 15 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 0 + call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE + compare VAR_0x8005, 5 + goto_if 4, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B4 + return + +LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE:: @ 821C9AE + subvar VAR_0x8005, 1 + return + +LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B4:: @ 821C9B4 + special sub_80EE72C + return + +LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B8:: @ 821C9B8 + setobjectxyperm 1, 7, 5 + return + +LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C0:: @ 821C9C0 + setobjectxyperm 3, 3, 4 + return + +LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C8:: @ 821C9C8 + setobjectxyperm 4, 7, 2 + return + +LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D0:: @ 821C9D0 + setobjectxyperm 5, 5, 5 + return + +LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D8:: @ 821C9D8 + setobjectxyperm 6, 5, 2 + return + +LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E0:: @ 821C9E0 + setobjectxyperm 2, 8, 4 + return + +LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E8:: @ 821C9E8 + setobjectxyperm 7, 3, 3 + return + +LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F0:: @ 821C9F0 + setobjectxyperm 8, 8, 3 + return + +LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F8:: @ 821C9F8 + call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5 + call LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C0 + call LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D0 + call LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D8 + call LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E8 + call LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F0 + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17:: @ 821CA17 + lock + faceplayer + setvar VAR_0x8004, 13 + special sub_813BDB4 + compare VAR_0x4095, 0 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA84 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56 + specialvar VAR_RESULT, sub_813BCA8 + compare VAR_RESULT, 7 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA7A + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D12A, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56:: @ 821CA56 + specialvar VAR_RESULT, sub_813BCA8 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA70 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D094, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CA70:: @ 821CA70 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D0BB, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CA7A:: @ 821CA7A + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D1B5, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CA84:: @ 821CA84 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D20C, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CA8E:: @ 821CA8E + lock + faceplayer + setvar VAR_0x8004, 8 + special sub_813BDB4 + compare VAR_0x4095, 0 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAFB + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD + specialvar VAR_RESULT, sub_813BCA8 + compare VAR_RESULT, 7 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAF1 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D347, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD:: @ 821CACD + specialvar VAR_RESULT, sub_813BCA8 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAE7 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D2A6, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CAE7:: @ 821CAE7 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D2CE, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CAF1:: @ 821CAF1 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D377, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CAFB:: @ 821CAFB + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D3EE, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05:: @ 821CB05 + lock + faceplayer + setvar VAR_0x8004, 9 + special sub_813BDB4 + compare VAR_0x4095, 0 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB72 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44 + specialvar VAR_RESULT, sub_813BCA8 + compare VAR_RESULT, 7 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB68 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D52E, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44:: @ 821CB44 + specialvar VAR_RESULT, sub_813BCA8 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB5E + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D438, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CB5E:: @ 821CB5E + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D4A3, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CB68:: @ 821CB68 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D5DC, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CB72:: @ 821CB72 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D69C, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C:: @ 821CB7C + lock + faceplayer + setvar VAR_0x8004, 10 + special sub_813BDB4 + compare VAR_0x4095, 0 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBE9 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB + specialvar VAR_RESULT, sub_813BCA8 + compare VAR_RESULT, 7 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBDF + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D822, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB:: @ 821CBBB + specialvar VAR_RESULT, sub_813BCA8 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBD5 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D751, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CBD5:: @ 821CBD5 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D79B, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CBDF:: @ 821CBDF + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D857, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CBE9:: @ 821CBE9 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D8C4, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3:: @ 821CBF3 + lock + faceplayer + setvar VAR_0x8004, 11 + special sub_813BDB4 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27 + specialvar VAR_RESULT, sub_813BCA8 + compare VAR_RESULT, 7 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC4B + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D9D1, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27:: @ 821CC27 + specialvar VAR_RESULT, sub_813BCA8 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC41 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D921, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CC41:: @ 821CC41 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D96A, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CC4B:: @ 821CC4B + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DA0D, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55:: @ 821CC55 + lock + faceplayer + setvar VAR_0x8004, 12 + special sub_813BDB4 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89 + specialvar VAR_RESULT, sub_813BCA8 + compare VAR_RESULT, 7 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCAD + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DB69, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89:: @ 821CC89 + specialvar VAR_RESULT, sub_813BCA8 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCA3 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DA73, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CCA3:: @ 821CCA3 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DAF5, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CCAD:: @ 821CCAD + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DBFB, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7:: @ 821CCB7 + lock + faceplayer + setvar VAR_0x8004, 14 + special sub_813BDB4 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB + specialvar VAR_RESULT, sub_813BCA8 + compare VAR_RESULT, 7 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD0F + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DD36, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB:: @ 821CCEB + specialvar VAR_RESULT, sub_813BCA8 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD05 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DC68, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CD05:: @ 821CD05 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DCD6, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CD0F:: @ 821CD0F + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DDCE, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19:: @ 821CD19 + lock + faceplayer + setvar VAR_0x8004, 15 + special sub_813BDB4 + specialvar VAR_RESULT, sub_813BD60 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D + specialvar VAR_RESULT, sub_813BCA8 + compare VAR_RESULT, 7 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DEFF, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D:: @ 821CD4D + specialvar VAR_RESULT, sub_813BCA8 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD67 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DE72, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CD67:: @ 821CD67 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DE83, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71:: @ 821CD71 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DF51, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CD7B:: @ 821CD7B + lock + faceplayer + checkflag FLAG_0x0D2 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEED + checkflag FLAG_0x0D2 + goto_if 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90 + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90:: @ 821CD90 + setvar VAR_0x8005, 11 + special InterviewBefore + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEFF + copyvar VAR_0x800A, VAR_0x8006 + setvar VAR_0x8004, 8 + special sub_813BDB4 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_281BCB, 4 + setvar VAR_0x8004, 14 + copyvar VAR_0x8005, VAR_0x800A + call LilycoveCity_PokemonTrainerFanClub_EventScript_271E7C + lock + faceplayer + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0:: @ 821CDE0 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C06, 4 + goto LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE:: @ 821CDEE + setvar VAR_0x8004, 8 + special sub_813BDB4 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C3D, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15 + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15:: @ 821CE15 + setvar VAR_0x8004, 8 + special sub_813BDB4 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C65, 4 + setvar VAR_0x8004, 14 + copyvar VAR_0x8005, VAR_0x800A + call LilycoveCity_PokemonTrainerFanClub_EventScript_271E7C + lock + faceplayer + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D:: @ 821CE4D + setvar VAR_0x8004, 8 + special sub_813BDB4 + message LilycoveCity_PokemonTrainerFanClub_Text_281C95 + waitmessage + setvar VAR_0x8004, 2 + special sub_813A128 + waitstate + setvar VAR_0x8004, 8 + switch VAR_RESULT + case 11, LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F + case 127, LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F + setvar VAR_0x8004, 8 + special sub_813BDB4 + copyvar VAR_0x8006, VAR_0x800A + copyvar VAR_0x8005, VAR_RESULT + special PutFanClubSpecialOnTheAir + goto LilycoveCity_PokemonTrainerFanClub_EventScript_21CED8 + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F:: @ 821CE9F + setvar VAR_0x8004, 8 + special sub_813BDB4 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_281CCD, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6:: @ 821CEC6 + setvar VAR_0x8004, 8 + special sub_813BDB4 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_281CF5, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CED8:: @ 821CED8 + setvar VAR_0x8004, 8 + special sub_813BDB4 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_281D40, 4 + setflag FLAG_0x0D2 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CEED:: @ 821CEED + setvar VAR_0x8004, 8 + special sub_813BDB4 + msgbox LilycoveCity_PokemonTrainerFanClub_Text_281DB4, 4 + release + end + +LilycoveCity_PokemonTrainerFanClub_EventScript_21CEFF:: @ 821CEFF + end + +LilycoveCity_PokemonTrainerFanClub_Text_21CF00: @ 821CF00 + .string "Oh, wow!\n" + .string "It’s {PLAYER}!$" + +LilycoveCity_PokemonTrainerFanClub_Text_21CF12: @ 821CF12 + .string "I’ve heard the news!\n" + .string "You’re really strong, aren’t you?\p" + .string "We always argue about who is the\n" + .string "strongest of all TRAINERS here.\p" + .string "So when I heard about you, I decided\n" + .string "to be your fan!\p" + .string "I hope you’ll keep on battling other\n" + .string "tough TRAINERS.\p" + .string "That way, we’ll be able to see more\n" + .string "of your hot, hot battles.\p" + .string "That will make the others here see\n" + .string "exactly how great you are.\p" + .string "Remember, I’m cheering for you,\n" + .string "{PLAYER}!$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D094: @ 821D094 + .string "Yo, {PLAYER}!\n" + .string "You’re the one we want to win!$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D0BB: @ 821D0BB + .string "The others, they don’t know that\n" + .string "you’re the best of the best!\p" + .string "Isn’t that right, {PLAYER}?\n" + .string "Show them you’ve got guts!$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D12A: @ 821D12A + .string "I hate to say this, but the TRAINER\n" + .string "everybody’s talking about is\l" + .string "{STR_VAR_1}, no question about it!\p" + .string "That TRAINER’s power…\n" + .string "It’s out of the ordinary.$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D1B5: @ 821D1B5 + .string "Darn it… I’ve been telling people\n" + .string "that {STR_VAR_1} is the best now…\p" + .string "But no one wants to listen…$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D20C: @ 821D20C + .string "I’ve been hearing things about\n" + .string "a tough new TRAINER.\p" + .string "This TRAINER’s supposed to be beating\n" + .string "GYM LEADERS, even.\p" + .string "Do you know anything about this\n" + .string "new TRAINER?$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D2A6: @ 821D2A6 + .string "Oh!\n" + .string "{PLAYER}!\p" + .string "Go for it!\n" + .string "I’m pulling for you!$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D2CE: @ 821D2CE + .string "Sigh…\n" + .string "BRAWLY…\p" + .string "Oh, no! Wait!\n" + .string "That’s not right! No, no, no!\p" + .string "I’m your fan through and through!\p" + .string "So make me proud!\n" + .string "Go for it!$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D347: @ 821D347 + .string "I can’t help it, I can only get to\n" + .string "like BRAWLY…$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D377: @ 821D377 + .string "Nobody understands the charm of\n" + .string "BRAWLY…\p" + .string "I don’t care!\p" + .string "Even if I’m the only one, I’m going\n" + .string "to keep cheering for BRAWLY!$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D3EE: @ 821D3EE + .string "Whatever anyone says, my favorite\n" + .string "TRAINER is DEWFORD’s GYM LEADER\l" + .string "BRAWLY!$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D438: @ 821D438 + .string "You’ve surpassed your own father in\n" + .string "every regard!\p" + .string "I’m telling you, so there’s no question\n" + .string "about it at all!$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D4A3: @ 821D4A3 + .string "Even when things turned bleak,\n" + .string "your father never gave up.\p" + .string "This I know to be true.\p" + .string "You never give up even if you lose!\n" + .string "So keep on battling!$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D52E: @ 821D52E + .string "NORMAN battled with more power,\n" + .string "charisma, and showmanship than you.\p" + .string "Even though people may say that\n" + .string "you’re strong…\p" + .string "You’ve still got a long way to go\n" + .string "compared to your father.$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D5DC: @ 821D5DC + .string "You’re beginning to get the same\n" + .string "air of awe NORMAN exudes.\p" + .string "But there’s something conclusively\n" + .string "different between you and NORMAN.\p" + .string "I can’t tell you what that is.\n" + .string "You’ll have to find it yourself.$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D69C: @ 821D69C + .string "Everyone here, we’re all huge fans\n" + .string "of POKéMON battles.\p" + .string "We discuss who we consider to be\n" + .string "the strongest of all TRAINERS.\p" + .string "If you were to become famous,\n" + .string "we might even become your fans!$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D751: @ 821D751 + .string "Oh, woweee! It’s {PLAYER}!\n" + .string "For real, too!\p" + .string "Please, shake my hand, shake my hand!$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D79B: @ 821D79B + .string "I’ll always cheer for you, {PLAYER}!\n" + .string "Always, always!\p" + .string "I don’t want to see you lose ever,\n" + .string "{PLAYER}.\p" + .string "Because I know you’re really,\n" + .string "really strong, {PLAYER}!$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D822: @ 821D822 + .string "{STR_VAR_1} is really cool…\p" + .string "Everyone thinks so, right, right?$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D857: @ 821D857 + .string "{STR_VAR_1} really is cool, don’t\n" + .string "you think so?\p" + .string "Even if it’s just me, I’m going to keep\n" + .string "cheering my favorite TRAINER.$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D8C4: @ 821D8C4 + .string "My favorite TRAINER is…\p" + .string "Cool…\p" + .string "Strong…\p" + .string "And really nice…\p" + .string "I wish there was a TRAINER like that…$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D921: @ 821D921 + .string "Whoa! It’s {PLAYER}!\n" + .string "Wicked!\p" + .string "When I grow up, I want to be strong\n" + .string "like you, {PLAYER}!$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D96A: @ 821D96A + .string "Even if I’m the only one…\p" + .string "You’ll always be the only one\n" + .string "I cheer for, {PLAYER}!\p" + .string "Because I believe in you, {PLAYER}!$" + +LilycoveCity_PokemonTrainerFanClub_Text_21D9D1: @ 821D9D1 + .string "{STR_VAR_1} is so wickedly cool…\n" + .string "I want to shake hands with my hero.$" + +LilycoveCity_PokemonTrainerFanClub_Text_21DA0D: @ 821DA0D + .string "Even if I’m the only one…\p" + .string "I’m never going to stop being\n" + .string "{STR_VAR_1}’s fan!\p" + .string "Because I’ve heard, {STR_VAR_1}\n" + .string "never loses!$" + +LilycoveCity_PokemonTrainerFanClub_Text_21DA73: @ 821DA73 + .string "{PLAYER}!\n" + .string "You are amazing after all!\p" + .string "Ever since I set eyes on you,\n" + .string "I knew that you were great.\p" + .string "It looks like my eyes didn’t deceive me.$" + +LilycoveCity_PokemonTrainerFanClub_Text_21DAF5: @ 821DAF5 + .string "Who cares about the others.\n" + .string "I’m in your corner!\p" + .string "You don’t need to worry. Just get\n" + .string "out there and battle like always.$" + +LilycoveCity_PokemonTrainerFanClub_Text_21DB69: @ 821DB69 + .string "You’re a pretty decent TRAINER,\n" + .string "I think.\p" + .string "But I also think that {STR_VAR_1}\n" + .string "is number one right now.\p" + .string "That’s just my opinion.\n" + .string "Don’t worry about it too much.$" + +LilycoveCity_PokemonTrainerFanClub_Text_21DBFB: @ 821DBFB + .string "Wow, you really are strong.\n" + .string "Maybe even stronger than {STR_VAR_1}.\p" + .string "But {STR_VAR_1} needs me.\p" + .string "If I don’t cheer for {STR_VAR_1},\n" + .string "who will?$" + +LilycoveCity_PokemonTrainerFanClub_Text_21DC68: @ 821DC68 + .string "You’ve changed my mind!\n" + .string "You are strong, aren’t you?\p" + .string "I’d like you to tell me how you managed\n" + .string "to get so strong!$" + +LilycoveCity_PokemonTrainerFanClub_Text_21DCD6: @ 821DCD6 + .string "The tougher the situation, the more\n" + .string "attractively you battle.\p" + .string "I can’t wait for your next battle!$" + +LilycoveCity_PokemonTrainerFanClub_Text_21DD36: @ 821DD36 + .string "Among the recently hot TRAINERS,\n" + .string "{STR_VAR_1} is the standout.\p" + .string "That toughness, it’s simply not normal.\p" + .string "You’re doing okay, but you’re not in\n" + .string "the same class as {STR_VAR_1}.$" + +LilycoveCity_PokemonTrainerFanClub_Text_21DDCE: @ 821DDCE + .string "You are really popular…\p" + .string "You’re strong, and you’re caring to\n" + .string "POKéMON. No one can knock you.\p" + .string "But, you know, I believe in {STR_VAR_1}.\p" + .string "{STR_VAR_1} is definitely stronger!\n" + .string "I’m positive!$" + +LilycoveCity_PokemonTrainerFanClub_Text_21DE72: @ 821DE72 + .string "You…\p" + .string "Impressive!$" + +LilycoveCity_PokemonTrainerFanClub_Text_21DE83: @ 821DE83 + .string "Your true worth, it is fine if only\n" + .string "I recognized it.\p" + .string "The others I doubt will understand\n" + .string "the hidden power that beats within.$" + +LilycoveCity_PokemonTrainerFanClub_Text_21DEFF: @ 821DEFF + .string "Yes, I see strength in your eyes.\p" + .string "But!\p" + .string "You still haven’t realized your\n" + .string "potential.$" + +LilycoveCity_PokemonTrainerFanClub_Text_21DF51: @ 821DF51 + .string "It is true that you are tremendously\n" + .string "powerful.\p" + .string "But!\n" + .string "I can tell…\p" + .string "That strength cannot be considered\n" + .string "true strength yet!\p" + .string "True strength is…!\n" + .string "… …\p" + .string "Actually, I have no idea, either.$" + diff --git a/data/scripts/maps/LilycoveCity_UnusedMart.inc b/data/scripts/maps/LilycoveCity_UnusedMart.inc new file mode 100644 index 0000000000..fa0405f68c --- /dev/null +++ b/data/scripts/maps/LilycoveCity_UnusedMart.inc @@ -0,0 +1,3 @@ +LilycoveCity_UnusedMart_MapScripts:: @ 821C784 + .byte 0 + diff --git a/data/scripts/maps/LinkContestRoom1.inc b/data/scripts/maps/LinkContestRoom1.inc new file mode 100644 index 0000000000..5276adcd85 --- /dev/null +++ b/data/scripts/maps/LinkContestRoom1.inc @@ -0,0 +1 @@ +LinkContestRoom1_MapScripts:: @ 823B781 diff --git a/data/scripts/maps/LinkContestRoom2.inc b/data/scripts/maps/LinkContestRoom2.inc new file mode 100644 index 0000000000..ff85310f75 --- /dev/null +++ b/data/scripts/maps/LinkContestRoom2.inc @@ -0,0 +1 @@ +LinkContestRoom2_MapScripts:: @ 823B781 diff --git a/data/scripts/maps/LinkContestRoom3.inc b/data/scripts/maps/LinkContestRoom3.inc new file mode 100644 index 0000000000..c3a5c95fb0 --- /dev/null +++ b/data/scripts/maps/LinkContestRoom3.inc @@ -0,0 +1 @@ +LinkContestRoom3_MapScripts:: @ 823B781 diff --git a/data/scripts/maps/LinkContestRoom4.inc b/data/scripts/maps/LinkContestRoom4.inc new file mode 100644 index 0000000000..9a544e6f3d --- /dev/null +++ b/data/scripts/maps/LinkContestRoom4.inc @@ -0,0 +1 @@ +LinkContestRoom4_MapScripts:: @ 823B781 diff --git a/data/scripts/maps/LinkContestRoom5.inc b/data/scripts/maps/LinkContestRoom5.inc new file mode 100644 index 0000000000..f7ea729963 --- /dev/null +++ b/data/scripts/maps/LinkContestRoom5.inc @@ -0,0 +1 @@ +LinkContestRoom5_MapScripts:: @ 823B781 diff --git a/data/scripts/maps/LinkContestRoom6.inc b/data/scripts/maps/LinkContestRoom6.inc new file mode 100644 index 0000000000..bea65ea48f --- /dev/null +++ b/data/scripts/maps/LinkContestRoom6.inc @@ -0,0 +1 @@ +LinkContestRoom6_MapScripts:: @ 823B781 diff --git a/data/scripts/maps/LittlerootTown.inc b/data/scripts/maps/LittlerootTown.inc new file mode 100644 index 0000000000..0fcdc46d55 --- /dev/null +++ b/data/scripts/maps/LittlerootTown.inc @@ -0,0 +1,1040 @@ +LittlerootTown_MapScripts:: @ 81E7DCB + map_script 3, LittlerootTown_MapScript1_1E7DDB + map_script 2, LittlerootTown_MapScript2_1E7EC1 + map_script 4, LittlerootTown_MapScript2_1E7FE2 + .byte 0 + +LittlerootTown_MapScript1_1E7DDB: @ 81E7DDB + setflag FLAG_VISITED_LITTLEROOT_TOWN + call LittlerootTown_EventScript_271ED7 + compare VAR_0x4092, 2 + call_if 1, LittlerootTown_EventScript_1E7E67 + checkflag FLAG_0x052 + call_if 0, LittlerootTown_EventScript_1E7E6F + compare VAR_0x4050, 3 + call_if 1, LittlerootTown_EventScript_1E7E92 + compare VAR_0x4082, 4 + call_if 1, LittlerootTown_EventScript_1E7E5C + compare VAR_0x408C, 4 + call_if 1, LittlerootTown_EventScript_1E7E5C + compare VAR_0x40C7, 1 + call_if 1, LittlerootTown_EventScript_1E7E53 + compare VAR_0x408D, 3 + call_if 1, LittlerootTown_EventScript_1E7E4F + compare VAR_0x40D3, 1 + call_if 1, LittlerootTown_EventScript_1E7E4B + compare VAR_0x40D3, 2 + call_if 1, LittlerootTown_EventScript_1E7E45 + end + +LittlerootTown_EventScript_1E7E45:: @ 81E7E45 + setvar VAR_0x40D3, 3 + return + +LittlerootTown_EventScript_1E7E4B:: @ 81E7E4B + setflag FLAG_SPECIAL_FLAG_0x4000 + return + +LittlerootTown_EventScript_1E7E4F:: @ 81E7E4F + setflag FLAG_0x12D + return + +LittlerootTown_EventScript_1E7E53:: @ 81E7E53 + setvar VAR_0x40C7, 2 + setflag FLAG_0x3D3 + return + +LittlerootTown_EventScript_1E7E5C:: @ 81E7E5C + setvar VAR_0x4082, 5 + setvar VAR_0x408C, 5 + return + +LittlerootTown_EventScript_1E7E67:: @ 81E7E67 + setobjectxyperm 4, 14, 8 + return + +LittlerootTown_EventScript_1E7E6F:: @ 81E7E6F + compare VAR_0x4050, 0 + goto_eq LittlerootTown_EventScript_1E7E86 + setobjectxyperm 1, 10, 1 + setobjectmovementtype 1, 7 + return + +LittlerootTown_EventScript_1E7E86:: @ 81E7E86 + setobjectxyperm 1, 7, 2 + setobjectmovementtype 1, 8 + return + +LittlerootTown_EventScript_1E7E92:: @ 81E7E92 + clearflag FLAG_0x2F0 + setobjectmovementtype 4, 8 + checkplayergender + compare VAR_RESULT, 0 + call_if 1, LittlerootTown_EventScript_1E7EB1 + compare VAR_RESULT, 1 + call_if 1, LittlerootTown_EventScript_1E7EB9 + return + +LittlerootTown_EventScript_1E7EB1:: @ 81E7EB1 + setobjectxyperm 4, 5, 9 + return + +LittlerootTown_EventScript_1E7EB9:: @ 81E7EB9 + setobjectxyperm 4, 14, 9 + return + +LittlerootTown_MapScript2_1E7EC1: @ 81E7EC1 + map_script_2 VAR_0x4092, 1, LittlerootTown_EventScript_1E7EDB + map_script_2 VAR_0x4092, 2, LittlerootTown_EventScript_1E7EF9 + map_script_2 VAR_0x40D3, 1, LittlerootTown_EventScript_1E7FB1 + .2byte 0 + +LittlerootTown_EventScript_1E7EDB:: @ 81E7EDB + lockall + setvar VAR_0x8004, 5 + setvar VAR_0x8005, 8 + call LittlerootTown_EventScript_1E7F17 + setflag FLAG_0x2F9 + warpsilent LITTLEROOT_TOWN_BRENDANS_HOUSE_1F, 255, 8, 8 + waitstate + releaseall + end + +LittlerootTown_EventScript_1E7EF9:: @ 81E7EF9 + lockall + setvar VAR_0x8004, 14 + setvar VAR_0x8005, 8 + call LittlerootTown_EventScript_1E7F17 + setflag FLAG_0x2FA + warpsilent LITTLEROOT_TOWN_MAYS_HOUSE_1F, 255, 2, 8 + waitstate + releaseall + end + +LittlerootTown_EventScript_1E7F17:: @ 81E7F17 + delay 15 + playse SE_DANSA + applymovement 255, LittlerootTown_Movement_1E7FAC + waitmovement 0 + opendoor VAR_0x8004, VAR_0x8005 + waitdooranim + addobject 4 + applymovement 4, LittlerootTown_Movement_1E7F98 + waitmovement 0 + closedoor VAR_0x8004, VAR_0x8005 + waitdooranim + delay 10 + applymovement 4, LittlerootTown_Movement_1E7F9A + waitmovement 0 + msgbox LittlerootTown_Text_1E86BC, 4 + closemessage + applymovement 4, LittlerootTown_Movement_1E7F9D + applymovement 255, LittlerootTown_Movement_1E7FA4 + waitmovement 0 + opendoor VAR_0x8004, VAR_0x8005 + waitdooranim + applymovement 4, LittlerootTown_Movement_1E7FA1 + applymovement 255, LittlerootTown_Movement_1E7FA9 + waitmovement 0 + setflag FLAG_0x2F0 + setvar VAR_0x4092, 3 + hideobjectat 255, PETALBURG_CITY + closedoor VAR_0x8004, VAR_0x8005 + waitdooranim + clearflag FLAG_0x364 + clearflag FLAG_SPECIAL_FLAG_0x4000 + return + +LittlerootTown_Movement_1E7F98: @ 81E7F98 + step_down + step_end + +LittlerootTown_Movement_1E7F9A: @ 81E7F9A + step_down + step_27 + step_end + +LittlerootTown_Movement_1E7F9D: @ 81E7F9D + step_14 + step_13 + step_up + step_end + +LittlerootTown_Movement_1E7FA1: @ 81E7FA1 + step_up + step_54 + step_end + +LittlerootTown_Movement_1E7FA4: @ 81E7FA4 + step_14 + step_13 + step_right + step_26 + step_end + +LittlerootTown_Movement_1E7FA9: @ 81E7FA9 + step_up + step_up + step_end + +LittlerootTown_Movement_1E7FAC: @ 81E7FAC + step_45 + step_14 + step_14 + step_14 + step_end + +LittlerootTown_EventScript_1E7FB1:: @ 81E7FB1 + lockall + playse SE_PIN + applymovement 8, LittlerootTown_Movement_272598 + waitmovement 0 + delay 80 + msgbox LittlerootTown_Text_1E8DA2, 4 + closemessage + clearflag FLAG_0x31A + clearflag FLAG_0x31B + delay 20 + clearflag FLAG_SPECIAL_FLAG_0x4000 + warp LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB, 255, 6, 5 + waitstate + releaseall + end + +LittlerootTown_MapScript2_1E7FE2: @ 81E7FE2 + map_script_2 VAR_0x40D3, 1, LittlerootTown_EventScript_1E7FEC + .2byte 0 + +LittlerootTown_EventScript_1E7FEC:: @ 81E7FEC + addobject 8 + addobject 7 + checkplayergender + compare VAR_RESULT, 0 + goto_eq LittlerootTown_EventScript_1E8004 + goto LittlerootTown_EventScript_1E8013 + end + +LittlerootTown_EventScript_1E8004:: @ 81E8004 + setobjectxy 7, 6, 10 + setobjectxy 8, 5, 10 + end + +LittlerootTown_EventScript_1E8013:: @ 81E8013 + setobjectxy 7, 13, 10 + setobjectxy 8, 14, 10 + end + +LittlerootTown_EventScript_1E8022:: @ 81E8022 + msgbox LittlerootTown_Text_1E8ACF, 2 + end + +LittlerootTown_EventScript_1E802B:: @ 81E802B + msgbox LittlerootTown_Text_1E8B25, 2 + end + +LittlerootTown_EventScript_1E8034:: @ 81E8034 + lock + faceplayer + checkflag FLAG_0x074 + goto_eq LittlerootTown_EventScript_1E8087 + checkflag FLAG_0x052 + goto_eq LittlerootTown_EventScript_1E807A + compare VAR_0x4050, 0 + goto_if 5, LittlerootTown_EventScript_1E805D + msgbox LittlerootTown_Text_1E8BB8, 4 + release + end + +LittlerootTown_EventScript_1E805D:: @ 81E805D + special GetPlayerBigGuyGirlString + msgbox LittlerootTown_Text_1E8C3A, 4 + closemessage + applymovement 1, LittlerootTown_Movement_2725A2 + waitmovement 0 + setvar VAR_0x4050, 2 + release + end + +LittlerootTown_EventScript_1E807A:: @ 81E807A + special GetPlayerBigGuyGirlString + msgbox LittlerootTown_Text_1E8CE3, 4 + release + end + +LittlerootTown_EventScript_1E8087:: @ 81E8087 + msgbox LittlerootTown_Text_1E8D07, 4 + release + end + +LittlerootTown_EventScript_1E8091:: @ 81E8091 + lockall + applymovement 1, LittlerootTown_Movement_1E80D1 + waitmovement 0 + call LittlerootTown_EventScript_1E80AD + applymovement 1, LittlerootTown_Movement_1E80E1 + waitmovement 0 + releaseall + end + +LittlerootTown_EventScript_1E80AD:: @ 81E80AD + msgbox LittlerootTown_Text_1E8BB8, 4 + closemessage + applymovement 1, LittlerootTown_Movement_1E80DF + applymovement 255, LittlerootTown_Movement_1E80EB + waitmovement 0 + msgbox LittlerootTown_Text_1E8C07, 4 + closemessage + return + +LittlerootTown_Movement_1E80D1: @ 81E80D1 + step_03 + step_13 + step_51 + step_49 + step_13 + step_18 + step_18 + step_18 + step_18 + step_16 + step_16 + step_17 + step_00 + step_end + +LittlerootTown_Movement_1E80DF: @ 81E80DF + step_down + step_end + +LittlerootTown_Movement_1E80E1: @ 81E80E1 + step_right + step_down + step_down + step_left + step_left + step_left + step_left + step_up + step_25 + step_end + +LittlerootTown_Movement_1E80EB: @ 81E80EB + step_40 + step_down + step_41 + step_end + +LittlerootTown_EventScript_1E80EF:: @ 81E80EF + lockall + applymovement 1, LittlerootTown_Movement_1E810B + waitmovement 0 + call LittlerootTown_EventScript_1E80AD + applymovement 1, LittlerootTown_Movement_1E8118 + waitmovement 0 + releaseall + end + +LittlerootTown_Movement_1E810B: @ 81E810B + step_03 + step_13 + step_51 + step_49 + step_13 + step_18 + step_18 + step_18 + step_16 + step_16 + step_18 + step_00 + step_end + +LittlerootTown_Movement_1E8118: @ 81E8118 + step_left + step_down + step_left + step_left + step_left + step_25 + step_end + +LittlerootTown_EventScript_1E811F:: @ 81E811F + lockall + applymovement 1, LittlerootTown_Movement_2725A8 + waitmovement 0 + applymovement 255, LittlerootTown_Movement_2725A4 + waitmovement 0 + special GetPlayerBigGuyGirlString + msgbox LittlerootTown_Text_1E8C3A, 4 + closemessage + applymovement 1, LittlerootTown_Movement_2725A2 + waitmovement 0 + setvar VAR_0x4050, 2 + releaseall + end + +LittlerootTown_EventScript_1E8151:: @ 81E8151 + msgbox LittlerootTown_Text_1E8D32, 3 + end + +LittlerootTown_EventScript_1E815A:: @ 81E815A + msgbox LittlerootTown_Text_1E8D69, 3 + end + +LittlerootTown_EventScript_1E8163:: @ 81E8163 + lockall + checkplayergender + compare VAR_RESULT, 0 + call_if 1, LittlerootTown_EventScript_1E817D + compare VAR_RESULT, 1 + call_if 1, LittlerootTown_EventScript_1E8186 + releaseall + end + +LittlerootTown_EventScript_1E817D:: @ 81E817D + msgbox LittlerootTown_Text_1E8D83, 4 + return + +LittlerootTown_EventScript_1E8186:: @ 81E8186 + msgbox LittlerootTown_Text_1E8D8E, 4 + return + +LittlerootTown_EventScript_1E818F:: @ 81E818F + lockall + checkplayergender + compare VAR_RESULT, 0 + call_if 1, LittlerootTown_EventScript_1E81A9 + compare VAR_RESULT, 1 + call_if 1, LittlerootTown_EventScript_1E81B2 + releaseall + end + +LittlerootTown_EventScript_1E81A9:: @ 81E81A9 + msgbox LittlerootTown_Text_1E8D8E, 4 + return + +LittlerootTown_EventScript_1E81B2:: @ 81E81B2 + msgbox LittlerootTown_Text_1E8D83, 4 + return + +LittlerootTown_EventScript_1E81BB:: @ 81E81BB + lockall + setvar VAR_0x8008, 0 + setobjectxy 4, 10, 9 + goto LittlerootTown_EventScript_1E8211 + end + +LittlerootTown_EventScript_1E81CE:: @ 81E81CE + lockall + setvar VAR_0x8008, 1 + setobjectxy 4, 11, 9 + goto LittlerootTown_EventScript_1E8211 + end + +LittlerootTown_EventScript_1E81E1:: @ 81E81E1 + lockall + setvar VAR_0x8008, 2 + goto LittlerootTown_EventScript_1E8211 + end + +LittlerootTown_EventScript_1E81ED:: @ 81E81ED + lockall + setvar VAR_0x8008, 3 + goto LittlerootTown_EventScript_1E8211 + end + +LittlerootTown_EventScript_1E81F9:: @ 81E81F9 + lockall + setvar VAR_0x8008, 4 + goto LittlerootTown_EventScript_1E8211 + end + +LittlerootTown_EventScript_1E8205:: @ 81E8205 + lockall + setvar VAR_0x8008, 5 + goto LittlerootTown_EventScript_1E8211 + end + +LittlerootTown_EventScript_1E8211:: @ 81E8211 + checkplayergender + compare VAR_RESULT, 0 + call_if 1, LittlerootTown_EventScript_1E8297 + compare VAR_RESULT, 1 + call_if 1, LittlerootTown_EventScript_1E82A2 + checkplayergender + compare VAR_RESULT, 0 + call_if 1, LittlerootTown_EventScript_1E8281 + compare VAR_RESULT, 1 + call_if 1, LittlerootTown_EventScript_1E828C + msgbox LittlerootTown_Text_1E87E1, 4 + closemessage + checkplayergender + compare VAR_RESULT, 0 + call_if 1, LittlerootTown_EventScript_1E82AD + compare VAR_RESULT, 1 + call_if 1, LittlerootTown_EventScript_1E82F0 + call LittlerootTown_EventScript_1E8693 + checkplayergender + compare VAR_RESULT, 0 + call_if 1, LittlerootTown_EventScript_1E8405 + compare VAR_RESULT, 1 + call_if 1, LittlerootTown_EventScript_1E8448 + goto LittlerootTown_EventScript_1E8686 + end + +LittlerootTown_EventScript_1E8281:: @ 81E8281 + setvar VAR_0x8009, 5 + setvar VAR_0x800A, 8 + return + +LittlerootTown_EventScript_1E828C:: @ 81E828C + setvar VAR_0x8009, 14 + setvar VAR_0x800A, 8 + return + +LittlerootTown_EventScript_1E8297:: @ 81E8297 + applymovement 4, LittlerootTown_Movement_2725A8 + waitmovement 0 + return + +LittlerootTown_EventScript_1E82A2:: @ 81E82A2 + applymovement 4, LittlerootTown_Movement_2725A4 + waitmovement 0 + return + +LittlerootTown_EventScript_1E82AD:: @ 81E82AD + compare VAR_0x8008, 0 + call_if 1, LittlerootTown_EventScript_1E8333 + compare VAR_0x8008, 1 + call_if 1, LittlerootTown_EventScript_1E8348 + compare VAR_0x8008, 2 + call_if 1, LittlerootTown_EventScript_1E835D + compare VAR_0x8008, 3 + call_if 1, LittlerootTown_EventScript_1E8372 + compare VAR_0x8008, 4 + call_if 1, LittlerootTown_EventScript_1E8387 + compare VAR_0x8008, 5 + call_if 1, LittlerootTown_EventScript_1E839C + return + +LittlerootTown_EventScript_1E82F0:: @ 81E82F0 + compare VAR_0x8008, 0 + call_if 1, LittlerootTown_EventScript_1E8333 + compare VAR_0x8008, 1 + call_if 1, LittlerootTown_EventScript_1E8348 + compare VAR_0x8008, 2 + call_if 1, LittlerootTown_EventScript_1E83B1 + compare VAR_0x8008, 3 + call_if 1, LittlerootTown_EventScript_1E83C6 + compare VAR_0x8008, 4 + call_if 1, LittlerootTown_EventScript_1E83DB + compare VAR_0x8008, 5 + call_if 1, LittlerootTown_EventScript_1E83F0 + return + +LittlerootTown_EventScript_1E8333:: @ 81E8333 + applymovement 255, LittlerootTown_Movement_2725AA + waitmovement 0 + applymovement 4, LittlerootTown_Movement_1E85D1 + waitmovement 0 + return + +LittlerootTown_EventScript_1E8348:: @ 81E8348 + applymovement 255, LittlerootTown_Movement_2725AA + waitmovement 0 + applymovement 4, LittlerootTown_Movement_1E85D8 + waitmovement 0 + return + +LittlerootTown_EventScript_1E835D:: @ 81E835D + applymovement 255, LittlerootTown_Movement_2725A4 + waitmovement 0 + applymovement 4, LittlerootTown_Movement_1E85DF + waitmovement 0 + return + +LittlerootTown_EventScript_1E8372:: @ 81E8372 + applymovement 255, LittlerootTown_Movement_2725A4 + waitmovement 0 + applymovement 4, LittlerootTown_Movement_1E85E4 + waitmovement 0 + return + +LittlerootTown_EventScript_1E8387:: @ 81E8387 + applymovement 255, LittlerootTown_Movement_2725A4 + waitmovement 0 + applymovement 4, LittlerootTown_Movement_1E85EA + waitmovement 0 + return + +LittlerootTown_EventScript_1E839C:: @ 81E839C + applymovement 255, LittlerootTown_Movement_2725A4 + waitmovement 0 + applymovement 4, LittlerootTown_Movement_1E85ED + waitmovement 0 + return + +LittlerootTown_EventScript_1E83B1:: @ 81E83B1 + applymovement 255, LittlerootTown_Movement_2725A8 + waitmovement 0 + applymovement 4, LittlerootTown_Movement_1E85F1 + waitmovement 0 + return + +LittlerootTown_EventScript_1E83C6:: @ 81E83C6 + applymovement 255, LittlerootTown_Movement_2725A8 + waitmovement 0 + applymovement 4, LittlerootTown_Movement_1E85F5 + waitmovement 0 + return + +LittlerootTown_EventScript_1E83DB:: @ 81E83DB + applymovement 255, LittlerootTown_Movement_2725A8 + waitmovement 0 + applymovement 4, LittlerootTown_Movement_1E85F8 + waitmovement 0 + return + +LittlerootTown_EventScript_1E83F0:: @ 81E83F0 + applymovement 255, LittlerootTown_Movement_2725A8 + waitmovement 0 + applymovement 4, LittlerootTown_Movement_1E85FE + waitmovement 0 + return + +LittlerootTown_EventScript_1E8405:: @ 81E8405 + compare VAR_0x8008, 0 + call_if 1, LittlerootTown_EventScript_1E848B + compare VAR_0x8008, 1 + call_if 1, LittlerootTown_EventScript_1E8496 + compare VAR_0x8008, 2 + call_if 1, LittlerootTown_EventScript_1E84A1 + compare VAR_0x8008, 3 + call_if 1, LittlerootTown_EventScript_1E84C7 + compare VAR_0x8008, 4 + call_if 1, LittlerootTown_EventScript_1E84ED + compare VAR_0x8008, 5 + call_if 1, LittlerootTown_EventScript_1E8513 + return + +LittlerootTown_EventScript_1E8448:: @ 81E8448 + compare VAR_0x8008, 0 + call_if 1, LittlerootTown_EventScript_1E848B + compare VAR_0x8008, 1 + call_if 1, LittlerootTown_EventScript_1E8496 + compare VAR_0x8008, 2 + call_if 1, LittlerootTown_EventScript_1E8539 + compare VAR_0x8008, 3 + call_if 1, LittlerootTown_EventScript_1E855F + compare VAR_0x8008, 4 + call_if 1, LittlerootTown_EventScript_1E8585 + compare VAR_0x8008, 5 + call_if 1, LittlerootTown_EventScript_1E85AB + return + +LittlerootTown_EventScript_1E848B:: @ 81E848B + applymovement 4, LittlerootTown_Movement_1E8603 + waitmovement 0 + return + +LittlerootTown_EventScript_1E8496:: @ 81E8496 + applymovement 4, LittlerootTown_Movement_1E8609 + waitmovement 0 + return + +LittlerootTown_EventScript_1E84A1:: @ 81E84A1 + applymovement 4, LittlerootTown_Movement_1E860F + waitmovement 0 + opendoor VAR_0x8009, VAR_0x800A + waitdooranim + applymovement 4, LittlerootTown_Movement_1E863B + waitmovement 0 + hideobjectat 4, LITTLEROOT_TOWN + closedoor VAR_0x8009, VAR_0x800A + waitdooranim + return + +LittlerootTown_EventScript_1E84C7:: @ 81E84C7 + applymovement 4, LittlerootTown_Movement_1E8615 + waitmovement 0 + opendoor VAR_0x8009, VAR_0x800A + waitdooranim + applymovement 4, LittlerootTown_Movement_1E863B + waitmovement 0 + hideobjectat 4, LITTLEROOT_TOWN + closedoor VAR_0x8009, VAR_0x800A + waitdooranim + return + +LittlerootTown_EventScript_1E84ED:: @ 81E84ED + applymovement 4, LittlerootTown_Movement_1E861C + waitmovement 0 + opendoor VAR_0x8009, VAR_0x800A + waitdooranim + applymovement 4, LittlerootTown_Movement_1E863B + waitmovement 0 + hideobjectat 4, LITTLEROOT_TOWN + closedoor VAR_0x8009, VAR_0x800A + waitdooranim + return + +LittlerootTown_EventScript_1E8513:: @ 81E8513 + applymovement 4, LittlerootTown_Movement_1E8620 + waitmovement 0 + opendoor VAR_0x8009, VAR_0x800A + waitdooranim + applymovement 4, LittlerootTown_Movement_1E863B + waitmovement 0 + hideobjectat 4, LITTLEROOT_TOWN + closedoor VAR_0x8009, VAR_0x800A + waitdooranim + return + +LittlerootTown_EventScript_1E8539:: @ 81E8539 + applymovement 4, LittlerootTown_Movement_1E8625 + waitmovement 0 + opendoor VAR_0x8009, VAR_0x800A + waitdooranim + applymovement 4, LittlerootTown_Movement_1E863B + waitmovement 0 + hideobjectat 4, LITTLEROOT_TOWN + closedoor VAR_0x8009, VAR_0x800A + waitdooranim + return + +LittlerootTown_EventScript_1E855F:: @ 81E855F + applymovement 4, LittlerootTown_Movement_1E862A + waitmovement 0 + opendoor VAR_0x8009, VAR_0x800A + waitdooranim + applymovement 4, LittlerootTown_Movement_1E863B + waitmovement 0 + hideobjectat 4, LITTLEROOT_TOWN + closedoor VAR_0x8009, VAR_0x800A + waitdooranim + return + +LittlerootTown_EventScript_1E8585:: @ 81E8585 + applymovement 4, LittlerootTown_Movement_1E862E + waitmovement 0 + opendoor VAR_0x8009, VAR_0x800A + waitdooranim + applymovement 4, LittlerootTown_Movement_1E863B + waitmovement 0 + hideobjectat 4, LITTLEROOT_TOWN + closedoor VAR_0x8009, VAR_0x800A + waitdooranim + return + +LittlerootTown_EventScript_1E85AB:: @ 81E85AB + applymovement 4, LittlerootTown_Movement_1E8635 + waitmovement 0 + opendoor VAR_0x8009, VAR_0x800A + waitdooranim + applymovement 4, LittlerootTown_Movement_1E863B + waitmovement 0 + hideobjectat 4, LITTLEROOT_TOWN + closedoor VAR_0x8009, VAR_0x800A + waitdooranim + return + +LittlerootTown_Movement_1E85D1: @ 81E85D1 + step_up + step_up + step_up + step_up + step_up + step_up + step_end + +LittlerootTown_Movement_1E85D8: @ 81E85D8 + step_up + step_up + step_up + step_up + step_up + step_up + step_end + +LittlerootTown_Movement_1E85DF: @ 81E85DF + step_right + step_right + step_right + step_right + step_end + +LittlerootTown_Movement_1E85E4: @ 81E85E4 + step_right + step_right + step_right + step_right + step_right + step_end + +LittlerootTown_Movement_1E85EA: @ 81E85EA + step_right + step_right + step_end + +LittlerootTown_Movement_1E85ED: @ 81E85ED + step_right + step_right + step_right + step_end + +LittlerootTown_Movement_1E85F1: @ 81E85F1 + step_left + step_left + step_left + step_end + +LittlerootTown_Movement_1E85F5: @ 81E85F5 + step_left + step_left + step_end + +LittlerootTown_Movement_1E85F8: @ 81E85F8 + step_left + step_left + step_left + step_left + step_left + step_end + +LittlerootTown_Movement_1E85FE: @ 81E85FE + step_left + step_left + step_left + step_left + step_end + +LittlerootTown_Movement_1E8603: @ 81E8603 + step_down + step_down + step_down + step_down + step_down + step_end + +LittlerootTown_Movement_1E8609: @ 81E8609 + step_down + step_down + step_down + step_down + step_down + step_end + +LittlerootTown_Movement_1E860F: @ 81E860F + step_left + step_left + step_left + step_left + step_26 + step_end + +LittlerootTown_Movement_1E8615: @ 81E8615 + step_left + step_left + step_left + step_left + step_left + step_26 + step_end + +LittlerootTown_Movement_1E861C: @ 81E861C + step_left + step_left + step_26 + step_end + +LittlerootTown_Movement_1E8620: @ 81E8620 + step_left + step_left + step_left + step_26 + step_end + +LittlerootTown_Movement_1E8625: @ 81E8625 + step_right + step_right + step_right + step_26 + step_end + +LittlerootTown_Movement_1E862A: @ 81E862A + step_right + step_right + step_26 + step_end + +LittlerootTown_Movement_1E862E: @ 81E862E + step_right + step_right + step_right + step_right + step_right + step_26 + step_end + +LittlerootTown_Movement_1E8635: @ 81E8635 + step_right + step_right + step_right + step_right + step_26 + step_end + +LittlerootTown_Movement_1E863B: @ 81E863B + step_up + step_end + +LittlerootTown_EventScript_1E863D:: @ 81E863D + lock + faceplayer + checkplayergender + compare VAR_RESULT, 0 + call_if 1, LittlerootTown_EventScript_1E8281 + compare VAR_RESULT, 1 + call_if 1, LittlerootTown_EventScript_1E828C + call LittlerootTown_EventScript_1E8693 + applymovement 4, LittlerootTown_Movement_2725A6 + waitmovement 0 + opendoor VAR_0x8009, VAR_0x800A + waitdooranim + applymovement 4, LittlerootTown_Movement_1E863B + waitmovement 0 + hideobjectat 4, LITTLEROOT_TOWN + closedoor VAR_0x8009, VAR_0x800A + waitdooranim + goto LittlerootTown_EventScript_1E8686 + end + +LittlerootTown_EventScript_1E8686:: @ 81E8686 + removeobject 4 + setflag FLAG_SYS_B_DASH + setvar VAR_0x4050, 4 + release + end + +LittlerootTown_EventScript_1E8693:: @ 81E8693 + msgbox LittlerootTown_Text_1E87F0, 4 + playfanfare MUS_FANFA4 + message LittlerootTown_Text_1E8925 + waitfanfare + setflag FLAG_0x112 + msgbox LittlerootTown_Text_1E894F, 4 + msgbox LittlerootTown_Text_1E8A03, 4 + closemessage + delay 30 + return + +LittlerootTown_Text_1E86BC: @ 81E86BC + .string "MOM: {PLAYER}, we’re here, honey!\p" + .string "It must be tiring riding with our things\n" + .string "in the moving truck.\p" + .string "Well, this is LITTLEROOT TOWN.\p" + .string "How do you like it?\n" + .string "This is our new home!\p" + .string "It has a quaint feel, but it seems to be\n" + .string "an easy place to live, don’t you think?\p" + .string "And, you get your own room, {PLAYER}!\n" + .string "Let’s go inside.$" + +LittlerootTown_Text_1E87E1: @ 81E87E1 + .string "MOM: Wait, {PLAYER}!$" + +LittlerootTown_Text_1E87F0: @ 81E87F0 + .string "MOM: {PLAYER}! {PLAYER}! Did you\n" + .string "introduce yourself to PROF. BIRCH?\p" + .string "Oh! What an adorable POKéMON!\n" + .string "You got it from PROF. BIRCH. How nice!\p" + .string "You’re your father’s child, all right.\n" + .string "You look good together with POKéMON!\p" + .string "Here, honey! If you’re going out on an\n" + .string "adventure, wear these RUNNING SHOES.\p" + .string "They’ll put a zip in your step!$" + +LittlerootTown_Text_1E8925: @ 81E8925 + .string "{PLAYER} switched shoes with the\n" + .string "RUNNING SHOES.$" + +LittlerootTown_Text_1E894F: @ 81E894F + .string "MOM: {PLAYER}, those shoes came with\n" + .string "instructions.\p" + .string "“Press the B Button while wearing these\n" + .string "RUNNING SHOES to run extra-fast!\p" + .string "“Slip on these RUNNING SHOES and race\n" + .string "in the great outdoors!”$" + +LittlerootTown_Text_1E8A03: @ 81E8A03 + .string "… … … … … … … …\n" + .string "… … … … … … … …\p" + .string "To think that you have your very own\n" + .string "POKéMON now…\l" + .string "Your father will be overjoyed.\p" + .string "…But please be careful.\n" + .string "If anything happens, you can come home.\p" + .string "Go on, go get them, honey!$" + +LittlerootTown_Text_1E8ACF: @ 81E8ACF + .string "If you use a PC, you can store items\n" + .string "and POKéMON.\p" + .string "The power of science is staggering!$" + +LittlerootTown_Text_1E8B25: @ 81E8B25 + .string "PROF. BIRCH spends days in his LAB\n" + .string "studying, then he’ll suddenly go out in\l" + .string "the wild to do more research…\p" + .string "When does PROF. BIRCH spend time\n" + .string "at home?$" + +LittlerootTown_Text_1E8BB8: @ 81E8BB8 + .string "Um, um, um!\p" + .string "If you go outside and go in the grass,\n" + .string "wild POKéMON will jump out!$" + +LittlerootTown_Text_1E8C07: @ 81E8C07 + .string "It’s dangerous if you don’t have\n" + .string "your own POKéMON.$" + +LittlerootTown_Text_1E8C3A: @ 81E8C3A + .string "Um, hi!\p" + .string "There are scary POKéMON outside!\n" + .string "I can hear their cries!\p" + .string "I want to go see what’s going on,\n" + .string "but I don’t have any POKéMON…\p" + .string "Can you go see what’s happening\n" + .string "for me?$" + +LittlerootTown_Text_1E8CE3: @ 81E8CE3 + .string "You saved PROF. BIRCH!\n" + .string "I’m so glad!$" + +LittlerootTown_Text_1E8D07: @ 81E8D07 + .string "Are you going to catch POKéMON?\n" + .string "Good luck!$" + +LittlerootTown_Text_1E8D32: @ 81E8D32 + .string "LITTLEROOT TOWN\n" + .string "“A town that can’t be shaded any hue.”$" + +LittlerootTown_Text_1E8D69: @ 81E8D69 + .string "PROF. BIRCH’S POKéMON LAB$" + +LittlerootTown_Text_1E8D83: @ 81E8D83 + .string "{PLAYER}’s HOUSE$" + +LittlerootTown_Text_1E8D8E: @ 81E8D8E + .string "PROF. BIRCH’S HOUSE$" + +LittlerootTown_Text_1E8DA2: @ 81E8DA2 + .string "PROF. BIRCH: Well, well, {PLAYER}{KUN}!\n" + .string "That was good work out there!\p" + .string "I knew there was something special\n" + .string "about you when I first saw you,\l" + .string "but I never expected this.\p" + .string "Oh, yes. Do you still have the POKéDEX\n" + .string "I gave you?\p" + .string "I have something to show you.\n" + .string "Let’s go to my LAB.$" + diff --git a/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc b/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc new file mode 100644 index 0000000000..0f3fa1a0e7 --- /dev/null +++ b/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc @@ -0,0 +1,451 @@ +LittlerootTown_BrendansHouse_1F_MapScripts:: @ 81F7755 + map_script 1, LittlerootTown_BrendansHouse_1F_MapScript1_1F7765 + map_script 3, LittlerootTown_BrendansHouse_1F_MapScript1_1F77A4 + map_script 2, LittlerootTown_BrendansHouse_1F_MapScript2_1F77EA + .byte 0 + +LittlerootTown_BrendansHouse_1F_MapScript1_1F7765: @ 81F7765 + compare VAR_0x4092, 6 + call_if 0, LittlerootTown_BrendansHouse_1F_EventScript_1F777A + checkflag FLAG_0x112 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F778D + end + +LittlerootTown_BrendansHouse_1F_EventScript_1F777A:: @ 81F777A + setmetatile 5, 4, 624, 1 + setmetatile 5, 2, 616, 1 + return + +LittlerootTown_BrendansHouse_1F_EventScript_1F778D:: @ 81F778D + checkplayergender + compare VAR_RESULT, 0 + goto_eq LittlerootTown_BrendansHouse_1F_EventScript_1F779A + return + +LittlerootTown_BrendansHouse_1F_EventScript_1F779A:: @ 81F779A + setmetatile 3, 7, 659, 1 + return + +LittlerootTown_BrendansHouse_1F_MapScript1_1F77A4: @ 81F77A4 + compare VAR_0x4092, 3 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F77DE + compare VAR_0x4092, 5 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F77C6 + compare VAR_0x4092, 6 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F77D2 + end + +LittlerootTown_BrendansHouse_1F_EventScript_1F77C6:: @ 81F77C6 + setobjectxyperm 1, 8, 4 + setobjectmovementtype 1, 7 + return + +LittlerootTown_BrendansHouse_1F_EventScript_1F77D2:: @ 81F77D2 + setobjectxyperm 1, 4, 5 + setobjectmovementtype 1, 7 + return + +LittlerootTown_BrendansHouse_1F_EventScript_1F77DE:: @ 81F77DE + setobjectxyperm 1, 9, 8 + setobjectmovementtype 1, 7 + return + +LittlerootTown_BrendansHouse_1F_MapScript2_1F77EA: @ 81F77EA + map_script_2 VAR_0x4092, 3, LittlerootTown_BrendansHouse_1F_EventScript_1F783C + map_script_2 VAR_0x4092, 5, LittlerootTown_BrendansHouse_1F_EventScript_1F7814 + map_script_2 VAR_0x4092, 6, LittlerootTown_BrendansHouse_1F_EventScript_1F784D + map_script_2 VAR_0x4082, 1, LittlerootTown_BrendansHouse_1F_EventScript_1F785E + map_script_2 VAR_0x4082, 3, LittlerootTown_BrendansHouse_1F_EventScript_292AF2 + .2byte 0 + +LittlerootTown_BrendansHouse_1F_EventScript_1F7814:: @ 81F7814 + lockall + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B67, 4 + closemessage + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1F783A + applymovement 1, LittlerootTown_BrendansHouse_1F_Movement_1F783A + waitmovement 0 + warp LITTLEROOT_TOWN_BRENDANS_HOUSE_2F, 255, 7, 1 + waitstate + releaseall + end + +LittlerootTown_BrendansHouse_1F_Movement_1F783A: @ 81F783A + step_up + step_end + +LittlerootTown_BrendansHouse_1F_EventScript_1F783C:: @ 81F783C + lockall + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 0 + goto LittlerootTown_BrendansHouse_1F_EventScript_292704 + end + +LittlerootTown_BrendansHouse_1F_EventScript_1F784D:: @ 81F784D + lockall + setvar VAR_0x8004, 0 + setvar VAR_0x8005, 1 + goto LittlerootTown_BrendansHouse_1F_EventScript_29286D + end + +LittlerootTown_BrendansHouse_1F_EventScript_1F785E:: @ 81F785E + lockall + playse SE_PIN + applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_272598 + waitmovement 0 + applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_27259A + waitmovement 0 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4 + applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_1F789C + waitmovement 0 + special GetRivalSonDaughterString + msgbox LittlerootTown_BrendansHouse_1F_Text_1F8BC5, 4 + setflag FLAG_0x057 + setvar VAR_0x4082, 2 + releaseall + end + +LittlerootTown_BrendansHouse_1F_Movement_1F789C: @ 81F789C + step_down + step_right + step_right + step_right + step_right + step_right + step_end + +LittlerootTown_BrendansHouse_1F_EventScript_1F78A3:: @ 81F78A3 + lockall + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 0 + applymovement VAR_0x8004, LittlerootTown_BrendansHouse_1F_Movement_2725A4 + waitmovement 0 + goto LittlerootTown_BrendansHouse_1F_EventScript_292765 + end + +LittlerootTown_BrendansHouse_1F_EventScript_1F78BE:: @ 81F78BE + lockall + setvar VAR_0x8008, 0 + goto LittlerootTown_BrendansHouse_1F_EventScript_1F78E2 + end + +LittlerootTown_BrendansHouse_1F_EventScript_1F78CA:: @ 81F78CA + lockall + setvar VAR_0x8008, 1 + goto LittlerootTown_BrendansHouse_1F_EventScript_1F78E2 + end + +LittlerootTown_BrendansHouse_1F_EventScript_1F78D6:: @ 81F78D6 + lockall + setvar VAR_0x8008, 2 + goto LittlerootTown_BrendansHouse_1F_EventScript_1F78E2 + end + +LittlerootTown_BrendansHouse_1F_EventScript_1F78E2:: @ 81F78E2 + playse SE_KAIDAN + delay 10 + addobject 7 + delay 30 + playse SE_PIN + applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_272598 + waitmovement 0 + applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_27259A + waitmovement 0 + compare VAR_0x8008, 1 + call_if 5, LittlerootTown_BrendansHouse_1F_EventScript_1F7981 + playbgm MUS_BOY_SUP, 1 + compare VAR_0x8008, 0 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F798C + compare VAR_0x8008, 1 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F7997 + compare VAR_0x8008, 2 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F79A2 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F90B4, 4 + closemessage + compare VAR_0x8008, 0 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F79C1 + compare VAR_0x8008, 1 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F79D3 + compare VAR_0x8008, 2 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F79E5 + playse SE_KAIDAN + removeobject 7 + setflag FLAG_0x2E9 + setflag FLAG_0x331 + clearflag FLAG_0x2F8 + delay 30 + setvar VAR_0x408D, 3 + setvar VAR_0x4050, 1 + savebgm MUS_DUMMY + fadedefaultbgm + releaseall + end + +LittlerootTown_BrendansHouse_1F_EventScript_1F7981:: @ 81F7981 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725AA + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_EventScript_1F798C:: @ 81F798C + applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F79AD + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_EventScript_1F7997:: @ 81F7997 + applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F79B5 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_EventScript_1F79A2:: @ 81F79A2 + applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F79B9 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_Movement_1F79AD: @ 81F79AD + step_27 + step_left + step_26 + step_up + step_up + step_up + step_up + step_end + +LittlerootTown_BrendansHouse_1F_Movement_1F79B5: @ 81F79B5 + step_up + step_up + step_up + step_end + +LittlerootTown_BrendansHouse_1F_Movement_1F79B9: @ 81F79B9 + step_28 + step_right + step_26 + step_up + step_up + step_up + step_up + step_end + +LittlerootTown_BrendansHouse_1F_EventScript_1F79C1:: @ 81F79C1 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1F79F7 + applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F7A06 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_EventScript_1F79D3:: @ 81F79D3 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1F79FB + applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F7A0C + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_EventScript_1F79E5:: @ 81F79E5 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1F7A02 + applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F7A16 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_Movement_1F79F7: @ 81F79F7 + step_14 + step_13 + step_28 + step_end + +LittlerootTown_BrendansHouse_1F_Movement_1F79FB: @ 81F79FB + step_14 + step_13 + step_28 + step_14 + step_14 + step_26 + step_end + +LittlerootTown_BrendansHouse_1F_Movement_1F7A02: @ 81F7A02 + step_14 + step_13 + step_27 + step_end + +LittlerootTown_BrendansHouse_1F_Movement_1F7A06: @ 81F7A06 + step_28 + step_right + step_26 + step_up + step_up + step_end + +LittlerootTown_BrendansHouse_1F_Movement_1F7A0C: @ 81F7A0C + step_28 + step_right + step_26 + step_up + step_up + step_27 + step_left + step_26 + step_up + step_end + +LittlerootTown_BrendansHouse_1F_Movement_1F7A16: @ 81F7A16 + step_27 + step_left + step_26 + step_up + step_up + step_end + +LittlerootTown_BrendansHouse_1F_Text_1F7A1C: @ 81F7A1C + .string "MOM: See, {PLAYER}?\n" + .string "Isn’t it nice in here, too?$" + +LittlerootTown_BrendansHouse_1F_Text_1F7A46: @ 81F7A46 + .string "The mover’s POKéMON do all the work\n" + .string "of moving us in and cleaning up after.\l" + .string "This is so convenient!\p" + .string "{PLAYER}, your room is upstairs.\n" + .string "Go check it out, dear!\p" + .string "DAD bought you a new clock to mark\n" + .string "our move here.\l" + .string "Don’t forget to set it!$" + +LittlerootTown_BrendansHouse_1F_Text_1F7B24: @ 81F7B24 + .string "MOM: Well, {PLAYER}?\p" + .string "Aren’t you interested in seeing your\n" + .string "very own room?$" + +LittlerootTown_BrendansHouse_1F_Text_1F7B67: @ 81F7B67 +LittlerootTown_MaysHouse_1F_Text_1F7B67: @ 81F7B67 + .string "MOM: {PLAYER}.\p" + .string "Go set the clock in your room, honey.$" + +LittlerootTown_BrendansHouse_1F_Text_1F7B96: @ 81F7B96 + .string "MOM: Oh! {PLAYER}, {PLAYER}!\n" + .string "Quick! Come quickly!$" + +LittlerootTown_BrendansHouse_1F_Text_1F7BBC: @ 81F7BBC +LittlerootTown_MaysHouse_1F_Text_1F7BBC: @ 81F7BBC + .string "MOM: Look! It’s PETALBURG GYM!\n" + .string "Maybe DAD will be on!$" + +LittlerootTown_BrendansHouse_1F_Text_1F7BF1: @ 81F7BF1 +LittlerootTown_MaysHouse_1F_Text_1F7BF1: @ 81F7BF1 + .string "MOM: Oh… It’s over.\p" + .string "I think DAD was on, but we missed him.\n" + .string "Too bad.$" + +LittlerootTown_BrendansHouse_1F_Text_1F7C35: @ 81F7C35 +LittlerootTown_MaysHouse_1F_Text_1F7C35: @ 81F7C35 + .string "Oh, yes.\n" + .string "One of DAD’s friends lives in town.\p" + .string "PROF. BIRCH is his name.\p" + .string "He lives right next door, so you should\n" + .string "go over and introduce yourself.$" + +LittlerootTown_BrendansHouse_1F_Text_1F7CC3: @ 81F7CC3 + .string "MOM: See you, honey!$" + +LittlerootTown_BrendansHouse_1F_Text_1F7CD8: @ 81F7CD8 + .string "MOM: Did you introduce yourself to\n" + .string "PROF. BIRCH?$" + +LittlerootTown_BrendansHouse_1F_Text_1F7D08: @ 81F7D08 + .string "MOM: How are you doing, {PLAYER}?\n" + .string "You look a little tired.\p" + .string "I think you should rest a bit.$" + +LittlerootTown_BrendansHouse_1F_Text_1F7D5C: @ 81F7D5C + .string "MOM: Take care, honey!$" + +LittlerootTown_BrendansHouse_1F_Text_1F7D73: @ 81F7D73 + .string "MOM: Oh? Did DAD give you that BADGE?\p" + .string "Then here’s something from your MOM!$" + +LittlerootTown_BrendansHouse_1F_Text_1F7DBE: @ 81F7DBE + .string "Don’t push yourself too hard, dear.\n" + .string "You can always come home.\p" + .string "Go for it, honey!$" + +LittlerootTown_BrendansHouse_1F_Text_1F7E0E: @ 81F7E0E + .string "MOM: What is that, honey? A POKéNAV?\n" + .string "Someone from DEVON gave it to you?\p" + .string "Well, honey, how about registering\n" + .string "your mom?\p" + .string "… … …$" + +LittlerootTown_BrendansHouse_1F_Text_1F7E89: @ 81F7E89 + .string "Registered MOM\n" + .string "in the POKéNAV.$" + +LittlerootTown_BrendansHouse_1F_Text_1F7EA8: @ 81F7EA8 + .string "Fugiiiiih!$" + +LittlerootTown_BrendansHouse_1F_Text_1F7EB3: @ 81F7EB3 + .string "Huggoh, uggo uggo…$" + +LittlerootTown_BrendansHouse_1F_Text_1F7EC6: @ 81F7EC6 + .string "INTERVIEWER: …We brought you this\n" + .string "report from in front of PETALBURG GYM.$" + +LittlerootTown_BrendansHouse_1F_Text_1F7F0F: @ 81F7F0F + .string "There is a movie on TV.\p" + .string "Two men are dancing on a big piano\n" + .string "keyboard.\p" + .string "Better get going!$" + +LittlerootTown_BrendansHouse_1F_Text_1F7F66: @ 81F7F66 + .string "It’s the instruction booklet for the\n" + .string "RUNNING SHOES.\p" + .string "“Press the B Button to run while\n" + .string "wearing your RUNNING SHOES.\p" + .string "“Lace up your RUNNING SHOES and hit\n" + .string "the road running!”$" + +LittlerootTown_BrendansHouse_1F_Text_1F800E: @ 81F800E + .string "DAD: Hm?\p" + .string "Hey, it’s {PLAYER}!\p" + .string "It’s been a while since I saw you,\n" + .string "but you look…stronger, somehow.\p" + .string "That’s the impression I get.\n" + .string "But your old man hasn’t given up yet!\p" + .string "Oh, yes, I have something for you.\n" + .string "This came to you from someone named\l" + .string "MR. BRINEY.$" + +LittlerootTown_BrendansHouse_1F_Text_1F80FE: @ 81F80FE + .string "DAD: Hm, a TICKET for a ferry?\p" + .string "If I recall, there are ferry ports in\n" + .string "SLATEPORT and LILYCOVE.$" + +LittlerootTown_BrendansHouse_1F_Text_1F815B: @ 81F815B + .string "I’d better get back to PETALBURG GYM.\p" + .string "MOM, thanks for looking after the house\n" + .string "while I’m away.$" + +LittlerootTown_BrendansHouse_1F_Text_1F81B9: @ 81F81B9 + .string "MOM: That DAD of yours…\p" + .string "He comes home for the first time in a\n" + .string "while, but all he talks about is POKéMON.\p" + .string "He should relax and stay a little longer.$" + +LittlerootTown_BrendansHouse_1F_Text_1F824B: @ 81F824B + .string "MOM: Is that a breaking news story?$" + +LittlerootTown_BrendansHouse_1F_Text_1F826F: @ 81F826F + .string "We bring you this emergency\n" + .string "news flash!\p" + .string "In various HOENN locales, there have\n" + .string "been reports of a BZZT…colored\l" + .string "POKéMON in flight.\p" + .string "The identity of this POKéMON is\n" + .string "currently unknown.\p" + .string "We now return you to the regular\n" + .string "movie program.$" + +LittlerootTown_BrendansHouse_1F_Text_1F8351: @ 81F8351 + .string "MOM: {PLAYER}, did you catch that?\p" + .string "What color did the announcer say\n" + .string "that POKéMON was?$" + +LittlerootTown_BrendansHouse_1F_Text_1F83A1: @ 81F83A1 + .string "MOM: Well, isn’t that something!\n" + .string "There are still unknown POKéMON.$" diff --git a/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc b/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc new file mode 100644 index 0000000000..0e7ecbf226 --- /dev/null +++ b/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc @@ -0,0 +1,318 @@ +LittlerootTown_BrendansHouse_2F_MapScripts:: @ 81F83E3 + map_script 3, LittlerootTown_BrendansHouse_2F_MapScript1_1F83EE + map_script 4, LittlerootTown_BrendansHouse_2F_MapScript2_1F846A + .byte 0 + +LittlerootTown_BrendansHouse_2F_MapScript1_1F83EE: @ 81F83EE + compare VAR_0x408D, 2 + call_if 0, LittlerootTown_BrendansHouse_2F_EventScript_1F8457 + compare VAR_0x408D, 3 + call_if 4, LittlerootTown_BrendansHouse_2F_EventScript_1F841A + compare VAR_0x4092, 4 + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_2926FE + call LittlerootTown_BrendansHouse_2F_EventScript_275CE1 + setvar VAR_0x4089, 0 + end + +LittlerootTown_BrendansHouse_2F_EventScript_1F841A:: @ 81F841A + checkflag FLAG_0x124 + goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8433 + compare VAR_0x4084, 2 + goto_if 4, LittlerootTown_BrendansHouse_2F_EventScript_1F8456 + goto LittlerootTown_BrendansHouse_2F_EventScript_1F8433 + +LittlerootTown_BrendansHouse_2F_EventScript_1F8433:: @ 81F8433 + checkplayergender + compare VAR_RESULT, 0 + goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8456 + compare VAR_0x40D3, 2 + goto_if 4, LittlerootTown_BrendansHouse_2F_EventScript_1F9309 + setobjectxyperm 1, 0, 2 + setobjectmovementtype 1, 7 + return + +LittlerootTown_BrendansHouse_2F_EventScript_1F8456:: @ 81F8456 + return + +LittlerootTown_BrendansHouse_2F_EventScript_1F8457:: @ 81F8457 + checkplayergender + compare VAR_RESULT, 1 + goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8464 + return + +LittlerootTown_BrendansHouse_2F_EventScript_1F8464:: @ 81F8464 + setvar VAR_0x408D, 2 + return + +LittlerootTown_BrendansHouse_2F_MapScript2_1F846A: @ 81F846A + map_script_2 VAR_0x4089, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F8474 + .2byte 0 + +LittlerootTown_BrendansHouse_2F_EventScript_1F8474:: @ 81F8474 + checkplayergender + compare VAR_RESULT, 0 + goto_eq EventScript_275D0C + end + +LittlerootTown_BrendansHouse_2F_EventScript_1F8481:: @ 81F8481 + lockall + compare VAR_0x408D, 2 + goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8497 + msgbox LittlerootTown_BrendansHouse_2F_Text_1F9991, 4 + releaseall + end + +LittlerootTown_BrendansHouse_2F_EventScript_1F8497:: @ 81F8497 + delay 10 + addobject 1 + applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85BC + waitmovement 0 + playse SE_PIN + applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_272598 + waitmovement 0 + applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_27259A + waitmovement 0 + delay 10 + playbgm MUS_BOY_SUP, 1 + compare VAR_FACING, 2 + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F8507 + compare VAR_FACING, 1 + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F8536 + compare VAR_FACING, 3 + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F8565 + compare VAR_FACING, 4 + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F8594 + setvar VAR_0x408D, 3 + setflag FLAG_0x331 + clearflag FLAG_0x2F8 + setvar VAR_0x4050, 1 + savebgm MUS_DUMMY + fadedefaultbgm + releaseall + end + +LittlerootTown_BrendansHouse_2F_EventScript_1F8507:: @ 81F8507 + applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85C0 + waitmovement 0 + applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8 + waitmovement 0 + msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, 4 + closemessage + applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1F85CF + applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85C6 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_2F_EventScript_1F8536:: @ 81F8536 + applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85D7 + waitmovement 0 + applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8 + waitmovement 0 + msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, 4 + closemessage + applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1F85E2 + applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85DB + waitmovement 0 + return + +LittlerootTown_BrendansHouse_2F_EventScript_1F8565:: @ 81F8565 + applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85E8 + waitmovement 0 + applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8 + waitmovement 0 + msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, 4 + closemessage + applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1F85F6 + applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85ED + waitmovement 0 + return + +LittlerootTown_BrendansHouse_2F_EventScript_1F8594:: @ 81F8594 + applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85FD + waitmovement 0 + applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A6 + waitmovement 0 + msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, 4 + closemessage + applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F8604 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_2F_Movement_1F85BC: @ 81F85BC + step_down + step_down + step_27 + step_end + +LittlerootTown_BrendansHouse_2F_Movement_1F85C0: @ 81F85C0 + step_left + step_left + step_down + step_down + step_left + step_end + +LittlerootTown_BrendansHouse_2F_Movement_1F85C6: @ 81F85C6 + step_up + step_up + step_up + step_left + step_left + step_left + step_left + step_26 + step_end + +LittlerootTown_BrendansHouse_2F_Movement_1F85CF: @ 81F85CF + step_14 + step_26 + step_14 + step_14 + step_14 + step_14 + step_27 + step_end + +LittlerootTown_BrendansHouse_2F_Movement_1F85D7: @ 81F85D7 + step_left + step_left + step_left + step_end + +LittlerootTown_BrendansHouse_2F_Movement_1F85DB: @ 81F85DB + step_up + step_left + step_left + step_left + step_left + step_26 + step_end + +LittlerootTown_BrendansHouse_2F_Movement_1F85E2: @ 81F85E2 + step_14 + step_26 + step_14 + step_14 + step_27 + step_end + +LittlerootTown_BrendansHouse_2F_Movement_1F85E8: @ 81F85E8 + step_left + step_left + step_down + step_27 + step_end + +LittlerootTown_BrendansHouse_2F_Movement_1F85ED: @ 81F85ED + step_up + step_up + step_left + step_left + step_left + step_left + step_left + step_26 + step_end + +LittlerootTown_BrendansHouse_2F_Movement_1F85F6: @ 81F85F6 + step_13 + step_14 + step_26 + step_14 + step_14 + step_27 + step_end + +LittlerootTown_BrendansHouse_2F_Movement_1F85FD: @ 81F85FD + step_left + step_left + step_left + step_left + step_left + step_25 + step_end + +LittlerootTown_BrendansHouse_2F_Movement_1F8604: @ 81F8604 + step_up + step_left + step_left + step_26 + step_end + +LittlerootTown_BrendansHouse_2F_Movement_1F8609: @ 81F8609 + step_14 + step_14 + step_27 + step_end + +gUnknown_081F860D:: @ 81F860D + lockall + checkplayergender + compare VAR_RESULT, 0 + goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8626 + compare VAR_RESULT, 1 + goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F864C + end + +LittlerootTown_BrendansHouse_2F_EventScript_1F8626:: @ 81F8626 + setvar VAR_0x8004, 1 + special DoPCTurnOnEffect + playse SE_PC_ON + msgbox gUnknown_08272D87, 4 + special sub_816AE58 + waitstate + releaseall + end + +LittlerootTown_BrendansHouse_2F_EventScript_1F863F:: @ 81F863F + setvar VAR_0x8004, 1 + playse SE_PC_OFF + special DoPCTurnOffEffect + releaseall + end + +LittlerootTown_BrendansHouse_2F_EventScript_1F864C:: @ 81F864C + msgbox gUnknown_08272CD5, 4 + releaseall + end + +LittlerootTown_BrendansHouse_2F_EventScript_1F8656:: @ 81F8656 +LittlerootTown_MaysHouse_2F_EventScript_1F8656:: @ 81F8656 + msgbox LittlerootTown_BrendansHouse_2F_Text_1F877F, 3 + end + +LittlerootTown_BrendansHouse_2F_EventScript_1F865F:: @ 81F865F +LittlerootTown_MaysHouse_2F_EventScript_1F865F:: @ 81F865F + msgbox LittlerootTown_BrendansHouse_2F_Text_1F884F, 3 + end + +LittlerootTown_BrendansHouse_2F_Text_1F8668: @ 81F8668 + .string "The clock is stopped…\p" + .string "Better set it and start it!$" + +LittlerootTown_BrendansHouse_2F_Text_1F869A: @ 81F869A + .string "MOM: {PLAYER}, how do you like your\n" + .string "new room?\p" + .string "Good! Everything’s put away neatly!\p" + .string "They finished moving everything in\n" + .string "downstairs, too.\p" + .string "POKéMON movers are so convenient!\p" + .string "Oh, you should make sure that\n" + .string "everything’s all there on your desk.$" + +LittlerootTown_BrendansHouse_2F_Text_1F877F: @ 81F877F + .string "{PLAYER} flipped open the notebook.\p" + .string "ADVENTURE RULE NO. 1\n" + .string "Open the MENU with START.\p" + .string "ADVENTURE RULE NO. 2\n" + .string "Record your progress with SAVE.\p" + .string "The remaining pages are blank…$" + +LittlerootTown_BrendansHouse_2F_Text_1F8820: @ 81F8820 + .string "{PLAYER} took a closer look at the\n" + .string "HOENN region map.$" + +LittlerootTown_BrendansHouse_2F_Text_1F884F: @ 81F884F + .string "It’s a Nintendo GameCube.\p" + .string "A Game Boy Advance is connected to\n" + .string "serve as the Controller.$" diff --git a/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc b/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc new file mode 100644 index 0000000000..e0229b9eaa --- /dev/null +++ b/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc @@ -0,0 +1,423 @@ +LittlerootTown_MaysHouse_1F_MapScripts:: @ 81F88A5 + map_script 1, LittlerootTown_MaysHouse_1F_MapScript1_1F88B5 + map_script 3, LittlerootTown_MaysHouse_1F_MapScript1_1F88F4 + map_script 2, LittlerootTown_MaysHouse_1F_MapScript2_1F893A + .byte 0 + +LittlerootTown_MaysHouse_1F_MapScript1_1F88B5: @ 81F88B5 + compare VAR_0x4092, 6 + call_if 0, LittlerootTown_MaysHouse_1F_EventScript_1F88CA + checkflag FLAG_0x112 + call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F88DD + end + +LittlerootTown_MaysHouse_1F_EventScript_1F88CA:: @ 81F88CA + setmetatile 5, 4, 624, 1 + setmetatile 5, 2, 616, 1 + return + +LittlerootTown_MaysHouse_1F_EventScript_1F88DD:: @ 81F88DD + checkplayergender + compare VAR_RESULT, 1 + goto_eq LittlerootTown_MaysHouse_1F_EventScript_1F88EA + return + +LittlerootTown_MaysHouse_1F_EventScript_1F88EA:: @ 81F88EA + setmetatile 6, 7, 659, 1 + return + +LittlerootTown_MaysHouse_1F_MapScript1_1F88F4: @ 81F88F4 + compare VAR_0x4092, 3 + call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F892E + compare VAR_0x4092, 5 + call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8916 + compare VAR_0x4092, 6 + call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8922 + end + +LittlerootTown_MaysHouse_1F_EventScript_1F8916:: @ 81F8916 + setobjectxyperm 1, 2, 4 + setobjectmovementtype 1, 7 + return + +LittlerootTown_MaysHouse_1F_EventScript_1F8922:: @ 81F8922 + setobjectxyperm 1, 6, 5 + setobjectmovementtype 1, 7 + return + +LittlerootTown_MaysHouse_1F_EventScript_1F892E:: @ 81F892E + setobjectxyperm 1, 1, 8 + setobjectmovementtype 1, 7 + return + +LittlerootTown_MaysHouse_1F_MapScript2_1F893A: @ 81F893A + map_script_2 VAR_0x4092, 3, LittlerootTown_MaysHouse_1F_EventScript_1F898C + map_script_2 VAR_0x4092, 5, LittlerootTown_MaysHouse_1F_EventScript_1F8964 + map_script_2 VAR_0x4092, 6, LittlerootTown_MaysHouse_1F_EventScript_1F899D + map_script_2 VAR_0x408C, 1, LittlerootTown_MaysHouse_1F_EventScript_1F89AE + map_script_2 VAR_0x4082, 3, LittlerootTown_MaysHouse_1F_EventScript_292AF2 + .2byte 0 + +LittlerootTown_MaysHouse_1F_EventScript_1F8964:: @ 81F8964 + lockall + msgbox LittlerootTown_MaysHouse_1F_Text_1F7B67, 4 + closemessage + applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1F898A + applymovement 1, LittlerootTown_MaysHouse_1F_Movement_1F898A + waitmovement 0 + warp LITTLEROOT_TOWN_MAYS_HOUSE_2F, 255, 1, 1 + waitstate + releaseall + end + +LittlerootTown_MaysHouse_1F_Movement_1F898A: @ 81F898A + step_up + step_end + +LittlerootTown_MaysHouse_1F_EventScript_1F898C:: @ 81F898C + lockall + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + goto LittlerootTown_MaysHouse_1F_EventScript_292704 + end + +LittlerootTown_MaysHouse_1F_EventScript_1F899D:: @ 81F899D + lockall + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + goto LittlerootTown_MaysHouse_1F_EventScript_2928DC + end + +LittlerootTown_MaysHouse_1F_EventScript_1F89AE:: @ 81F89AE + lockall + playse SE_PIN + applymovement 4, LittlerootTown_MaysHouse_1F_Movement_272598 + waitmovement 0 + applymovement 4, LittlerootTown_MaysHouse_1F_Movement_27259A + waitmovement 0 + applymovement 255, LittlerootTown_MaysHouse_1F_Movement_2725A8 + applymovement 4, LittlerootTown_MaysHouse_1F_Movement_1F89EC + waitmovement 0 + special GetRivalSonDaughterString + msgbox LittlerootTown_MaysHouse_1F_Text_1F8BC5, 4 + setflag FLAG_0x057 + setvar VAR_0x408C, 2 + releaseall + end + +LittlerootTown_MaysHouse_1F_Movement_1F89EC: @ 81F89EC + step_down + step_left + step_left + step_left + step_left + step_left + step_end + +LittlerootTown_BrendansHouse_1F_EventScript_1F89F3:: @ 81F89F3 +LittlerootTown_MaysHouse_1F_EventScript_1F89F3:: @ 81F89F3 + lock + faceplayer + checkflag FLAG_0x082 + goto_eq LittlerootTown_BrendansHouse_1F_EventScript_1F8A33 + checkflag FLAG_SYS_POKEMON_GET + goto_eq LittlerootTown_BrendansHouse_1F_EventScript_1F8A29 + compare VAR_0x408D, 3 + goto_eq LittlerootTown_BrendansHouse_1F_EventScript_1F8A1F + special GetRivalSonDaughterString + msgbox LittlerootTown_BrendansHouse_1F_Text_1F8CA5, 4 + release + end + +LittlerootTown_BrendansHouse_1F_EventScript_1F8A1F:: @ 81F8A1F + msgbox LittlerootTown_BrendansHouse_1F_Text_1F8D37, 4 + release + end + +LittlerootTown_BrendansHouse_1F_EventScript_1F8A29:: @ 81F8A29 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F8D93, 4 + release + end + +LittlerootTown_BrendansHouse_1F_EventScript_1F8A33:: @ 81F8A33 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F8E01, 4 + release + end + +LittlerootTown_BrendansHouse_1F_EventScript_1F8A3D:: @ 81F8A3D +LittlerootTown_MaysHouse_1F_EventScript_1F8A3D:: @ 81F8A3D + lock + faceplayer + special GetPlayerBigGuyGirlString + msgbox LittlerootTown_BrendansHouse_1F_Text_1F9262, 4 + release + end + +LittlerootTown_MaysHouse_1F_EventScript_1F8A4C:: @ 81F8A4C + lockall + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + applymovement VAR_0x8004, LittlerootTown_MaysHouse_1F_Movement_2725A8 + waitmovement 0 + goto LittlerootTown_MaysHouse_1F_EventScript_292765 + end + +LittlerootTown_MaysHouse_1F_EventScript_1F8A67:: @ 81F8A67 + lockall + setvar VAR_0x8008, 0 + goto LittlerootTown_MaysHouse_1F_EventScript_1F8A8B + end + +LittlerootTown_MaysHouse_1F_EventScript_1F8A73:: @ 81F8A73 + lockall + setvar VAR_0x8008, 1 + goto LittlerootTown_MaysHouse_1F_EventScript_1F8A8B + end + +LittlerootTown_MaysHouse_1F_EventScript_1F8A7F:: @ 81F8A7F + lockall + setvar VAR_0x8008, 2 + goto LittlerootTown_MaysHouse_1F_EventScript_1F8A8B + end + +LittlerootTown_MaysHouse_1F_EventScript_1F8A8B:: @ 81F8A8B + playse SE_KAIDAN + delay 10 + addobject 7 + delay 30 + playse SE_PIN + applymovement 7, LittlerootTown_MaysHouse_1F_Movement_272598 + waitmovement 0 + applymovement 7, LittlerootTown_MaysHouse_1F_Movement_27259A + waitmovement 0 + compare VAR_0x8008, 1 + call_if 5, LittlerootTown_MaysHouse_1F_EventScript_1F8B2A + playbgm MUS_GIRL_SUP, 1 + compare VAR_0x8008, 0 + call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B35 + compare VAR_0x8008, 1 + call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B40 + compare VAR_0x8008, 2 + call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B4B + msgbox LittlerootTown_MaysHouse_1F_Text_1F8EC6, 4 + closemessage + compare VAR_0x8008, 0 + call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B6A + compare VAR_0x8008, 1 + call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B7C + compare VAR_0x8008, 2 + call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B8E + playse SE_KAIDAN + removeobject 7 + setflag FLAG_0x2EA + setflag FLAG_0x332 + clearflag FLAG_0x2D2 + delay 30 + setvar VAR_0x408D, 3 + setvar VAR_0x4050, 1 + savebgm MUS_DUMMY + fadedefaultbgm + releaseall + end + +LittlerootTown_MaysHouse_1F_EventScript_1F8B2A:: @ 81F8B2A + applymovement 255, LittlerootTown_MaysHouse_1F_Movement_2725AA + waitmovement 0 + return + +LittlerootTown_MaysHouse_1F_EventScript_1F8B35:: @ 81F8B35 + applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8B56 + waitmovement 0 + return + +LittlerootTown_MaysHouse_1F_EventScript_1F8B40:: @ 81F8B40 + applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8B5E + waitmovement 0 + return + +LittlerootTown_MaysHouse_1F_EventScript_1F8B4B:: @ 81F8B4B + applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8B62 + waitmovement 0 + return + +LittlerootTown_MaysHouse_1F_Movement_1F8B56: @ 81F8B56 + step_27 + step_left + step_26 + step_up + step_up + step_up + step_up + step_end + +LittlerootTown_MaysHouse_1F_Movement_1F8B5E: @ 81F8B5E + step_up + step_up + step_up + step_end + +LittlerootTown_MaysHouse_1F_Movement_1F8B62: @ 81F8B62 + step_28 + step_right + step_26 + step_up + step_up + step_up + step_up + step_end + +LittlerootTown_MaysHouse_1F_EventScript_1F8B6A:: @ 81F8B6A + applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1F8BA0 + applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8BAF + waitmovement 0 + return + +LittlerootTown_MaysHouse_1F_EventScript_1F8B7C:: @ 81F8B7C + applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1F8BA4 + applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8BB5 + waitmovement 0 + return + +LittlerootTown_MaysHouse_1F_EventScript_1F8B8E:: @ 81F8B8E + applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1F8BAB + applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8BBF + waitmovement 0 + return + +LittlerootTown_MaysHouse_1F_Movement_1F8BA0: @ 81F8BA0 + step_14 + step_13 + step_28 + step_end + +LittlerootTown_MaysHouse_1F_Movement_1F8BA4: @ 81F8BA4 + step_14 + step_13 + step_28 + step_14 + step_14 + step_26 + step_end + +LittlerootTown_MaysHouse_1F_Movement_1F8BAB: @ 81F8BAB + step_14 + step_13 + step_27 + step_end + +LittlerootTown_MaysHouse_1F_Movement_1F8BAF: @ 81F8BAF + step_28 + step_right + step_26 + step_up + step_up + step_end + +LittlerootTown_MaysHouse_1F_Movement_1F8BB5: @ 81F8BB5 + step_28 + step_right + step_26 + step_up + step_up + step_27 + step_left + step_26 + step_up + step_end + +LittlerootTown_MaysHouse_1F_Movement_1F8BBF: @ 81F8BBF + step_27 + step_left + step_26 + step_up + step_up + step_end + +LittlerootTown_BrendansHouse_1F_Text_1F8BC5: @ 81F8BC5 +LittlerootTown_MaysHouse_1F_Text_1F8BC5: @ 81F8BC5 + .string "Oh, hello. And you are?\p" + .string "… … … … … … … … …\n" + .string "… … … … … … … … …\p" + .string "Oh, you’re {PLAYER}{KUN}, our new next-door\n" + .string "neighbor! Hi!\p" + .string "We have a {STR_VAR_1} about the same\n" + .string "age as you.\p" + .string "Our {STR_VAR_1} was excited about making\n" + .string "a new friend.\p" + .string "Our {STR_VAR_1} is upstairs, I think.$" + +LittlerootTown_BrendansHouse_1F_Text_1F8CA5: @ 81F8CA5 + .string "Like child, like father.\p" + .string "My husband is as wild about POKéMON\n" + .string "as our child.\p" + .string "If he’s not at his LAB, he’s likely\n" + .string "scrabbling about in grassy places.$" + +LittlerootTown_BrendansHouse_1F_Text_1F8D37: @ 81F8D37 + .string "That {RIVAL}!\p" + .string "I guess our child is too busy with\n" + .string "POKéMON to notice that you came\l" + .string "to visit, {PLAYER}{KUN}.$" + +LittlerootTown_BrendansHouse_1F_Text_1F8D93: @ 81F8D93 + .string "Oh, {RIVAL} went out to ROUTE 103\n" + .string "just a little while ago.\p" + .string "Like father, like child.\n" + .string "{RIVAL} can’t stay quietly at home.$" + +LittlerootTown_BrendansHouse_1F_Text_1F8E01: @ 81F8E01 + .string "I think it’s wonderful for people to\n" + .string "travel with POKéMON.\p" + .string "But you should go home every so often\n" + .string "to let your mother know you’re okay.\p" + .string "She might not say it, but I’m sure she\n" + .string "worries about you, {PLAYER}{KUN}.$" + +LittlerootTown_MaysHouse_1F_Text_1F8EC6: @ 81F8EC6 + .string "Huh?\n" + .string "Who… Who are you?\p" + .string "… … … … … … … …\n" + .string "… … … … … … … …\p" + .string "Oh, you’re {PLAYER}{KUN}.\n" + .string "So your move was today.\p" + .string "Um… I’m MAY.\n" + .string "Glad to meet you!\p" + .string "I…\n" + .string "I have this dream of becoming friends\l" + .string "with POKéMON all over the world.\p" + .string "I… I heard about you, {PLAYER}{KUN}, from\n" + .string "my dad, PROF. BIRCH.\p" + .string "I was hoping that you would be nice,\n" + .string "{PLAYER}{KUN}, and that we could be friends.\p" + .string "Oh, this is silly, isn’t it?\n" + .string "I… I’ve just met you, {PLAYER}{KUN}.\p" + .string "Eheheh…\p" + .string "Oh, no! I forgot!\p" + .string "I was supposed to go help Dad catch\n" + .string "some wild POKéMON!\p" + .string "{PLAYER}{KUN}, I’ll catch you later!$" + +LittlerootTown_BrendansHouse_1F_Text_1F90B4: @ 81F90B4 + .string "Hey!\n" + .string "You…\p" + .string "Who are you?\p" + .string "Oh, you’re {PLAYER}, aren’t you?\n" + .string "Moved in next door, right?\p" + .string "I didn’t know that you’re a girl.\p" + .string "Dad, PROF. BIRCH, said that our new\n" + .string "next-door neighbor is a GYM LEADER’s\l" + .string "kid, so I assumed you’d be a guy.\p" + .string "My name’s BRENDAN.\n" + .string "So, hi, neighbor!\p" + .string "Huh? Hey, {PLAYER}, don’t you have\n" + .string "a POKéMON?\p" + .string "Do you want me to go catch you one?\p" + .string "Aw, darn, I forgot…\p" + .string "I’m supposed to go help my dad catch\n" + .string "some wild POKéMON.\p" + .string "Some other time, okay?$" + +LittlerootTown_BrendansHouse_1F_Text_1F9262: @ 81F9262 + .string "Hi, neighbor!\p" + .string "Do you already have your\n" + .string "own POKéMON?$" diff --git a/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc b/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc new file mode 100644 index 0000000000..327112d2f9 --- /dev/null +++ b/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc @@ -0,0 +1,422 @@ +LittlerootTown_MaysHouse_2F_MapScripts:: @ 81F9296 + map_script 3, LittlerootTown_MaysHouse_2F_MapScript1_1F92A1 + map_script 4, LittlerootTown_MaysHouse_2F_MapScript2_1F931D + .byte 0 + +LittlerootTown_MaysHouse_2F_MapScript1_1F92A1: @ 81F92A1 + compare VAR_0x408D, 2 + call_if 0, LittlerootTown_MaysHouse_2F_EventScript_1F930A + compare VAR_0x408D, 3 + call_if 4, LittlerootTown_MaysHouse_2F_EventScript_1F92CD + compare VAR_0x4092, 4 + call_if 1, LittlerootTown_MaysHouse_2F_EventScript_2926FE + call LittlerootTown_MaysHouse_2F_EventScript_275CE1 + setvar VAR_0x4089, 0 + end + +LittlerootTown_MaysHouse_2F_EventScript_1F92CD:: @ 81F92CD + checkflag FLAG_0x124 + goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F92E6 + compare VAR_0x4084, 2 + goto_if 4, LittlerootTown_MaysHouse_2F_EventScript_1F9309 + goto LittlerootTown_MaysHouse_2F_EventScript_1F92E6 + +LittlerootTown_MaysHouse_2F_EventScript_1F92E6:: @ 81F92E6 + checkplayergender + compare VAR_RESULT, 1 + goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F9309 + compare VAR_0x40D3, 2 + goto_if 4, LittlerootTown_MaysHouse_2F_EventScript_1F9309 + setobjectxyperm 1, 8, 2 + setobjectmovementtype 1, 7 + return + +LittlerootTown_BrendansHouse_2F_EventScript_1F9309:: @ 81F9309 +LittlerootTown_MaysHouse_2F_EventScript_1F9309:: @ 81F9309 + return + +LittlerootTown_MaysHouse_2F_EventScript_1F930A:: @ 81F930A + checkplayergender + compare VAR_RESULT, 0 + goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F9317 + return + +LittlerootTown_MaysHouse_2F_EventScript_1F9317:: @ 81F9317 + setvar VAR_0x408D, 2 + return + +LittlerootTown_MaysHouse_2F_MapScript2_1F931D: @ 81F931D + map_script_2 VAR_0x4089, 0, LittlerootTown_MaysHouse_2F_EventScript_1F9327 + .2byte 0 + +LittlerootTown_MaysHouse_2F_EventScript_1F9327:: @ 81F9327 + checkplayergender + compare VAR_RESULT, 1 + goto_eq EventScript_275D0C + end + +LittlerootTown_MaysHouse_2F_EventScript_1F9334:: @ 81F9334 + lockall + compare VAR_0x408D, 2 + goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F934A + msgbox LittlerootTown_MaysHouse_2F_Text_1F9991, 4 + releaseall + end + +LittlerootTown_MaysHouse_2F_EventScript_1F934A:: @ 81F934A + delay 10 + addobject 1 + applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F946F + waitmovement 0 + playse SE_PIN + applymovement 1, LittlerootTown_MaysHouse_2F_Movement_272598 + waitmovement 0 + applymovement 1, LittlerootTown_MaysHouse_2F_Movement_27259A + waitmovement 0 + delay 10 + playbgm MUS_GIRL_SUP, 1 + compare VAR_FACING, 2 + call_if 1, LittlerootTown_MaysHouse_2F_EventScript_1F93BA + compare VAR_FACING, 1 + call_if 1, LittlerootTown_MaysHouse_2F_EventScript_1F93E9 + compare VAR_FACING, 3 + call_if 1, LittlerootTown_MaysHouse_2F_EventScript_1F9418 + compare VAR_FACING, 4 + call_if 1, LittlerootTown_MaysHouse_2F_EventScript_1F9440 + setvar VAR_0x408D, 3 + setflag FLAG_0x332 + clearflag FLAG_0x2D2 + setvar VAR_0x4050, 1 + savebgm MUS_DUMMY + fadedefaultbgm + releaseall + end + +LittlerootTown_MaysHouse_2F_EventScript_1F93BA:: @ 81F93BA + applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F9473 + waitmovement 0 + applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A4 + waitmovement 0 + msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, 4 + closemessage + applymovement 255, LittlerootTown_MaysHouse_2F_Movement_1F9483 + applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F9479 + waitmovement 0 + return + +LittlerootTown_MaysHouse_2F_EventScript_1F93E9:: @ 81F93E9 + applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F948B + waitmovement 0 + applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A4 + waitmovement 0 + msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, 4 + closemessage + applymovement 255, LittlerootTown_MaysHouse_2F_Movement_1F9497 + applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F948F + waitmovement 0 + return + +LittlerootTown_MaysHouse_2F_EventScript_1F9418:: @ 81F9418 + applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F949D + waitmovement 0 + applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A6 + waitmovement 0 + msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, 4 + closemessage + applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F94A4 + waitmovement 0 + return + +LittlerootTown_MaysHouse_2F_EventScript_1F9440:: @ 81F9440 + applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F94AD + waitmovement 0 + applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A4 + waitmovement 0 + msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, 4 + closemessage + applymovement 255, LittlerootTown_MaysHouse_2F_Movement_1F94BB + applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F94B2 + waitmovement 0 + return + +LittlerootTown_MaysHouse_2F_Movement_1F946F: @ 81F946F + step_down + step_down + step_28 + step_end + +LittlerootTown_MaysHouse_2F_Movement_1F9473: @ 81F9473 + step_right + step_right + step_down + step_down + step_right + step_end + +LittlerootTown_MaysHouse_2F_Movement_1F9479: @ 81F9479 + step_up + step_up + step_up + step_28 + step_right + step_right + step_right + step_right + step_26 + step_end + +LittlerootTown_MaysHouse_2F_Movement_1F9483: @ 81F9483 + step_14 + step_26 + step_14 + step_14 + step_14 + step_14 + step_28 + step_end + +LittlerootTown_MaysHouse_2F_Movement_1F948B: @ 81F948B + step_right + step_right + step_right + step_end + +LittlerootTown_MaysHouse_2F_Movement_1F948F: @ 81F948F + step_up + step_28 + step_right + step_right + step_right + step_right + step_26 + step_end + +LittlerootTown_MaysHouse_2F_Movement_1F9497: @ 81F9497 + step_14 + step_26 + step_14 + step_14 + step_28 + step_end + +LittlerootTown_MaysHouse_2F_Movement_1F949D: @ 81F949D + step_right + step_right + step_right + step_right + step_right + step_25 + step_end + +LittlerootTown_MaysHouse_2F_Movement_1F94A4: @ 81F94A4 + step_up + step_right + step_right + step_26 + step_end + +LittlerootTown_MaysHouse_2F_Movement_1F94A9: @ 81F94A9 + step_14 + step_14 + step_28 + step_end + +LittlerootTown_MaysHouse_2F_Movement_1F94AD: @ 81F94AD + step_right + step_right + step_down + step_28 + step_end + +LittlerootTown_MaysHouse_2F_Movement_1F94B2: @ 81F94B2 + step_up + step_up + step_right + step_right + step_right + step_right + step_right + step_26 + step_end + +LittlerootTown_MaysHouse_2F_Movement_1F94BB: @ 81F94BB + step_14 + step_26 + step_14 + step_14 + step_28 + step_end + +LittlerootTown_BrendansHouse_2F_EventScript_1F94C1:: @ 81F94C1 +LittlerootTown_MaysHouse_2F_EventScript_1F94C1:: @ 81F94C1 + lockall + checkflag FLAG_0x124 + goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94F7 + checkplayergender + compare VAR_RESULT, 0 + goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94E3 + compare VAR_RESULT, 1 + goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94ED + end + +LittlerootTown_BrendansHouse_2F_EventScript_1F94E3:: @ 81F94E3 + msgbox LittlerootTown_BrendansHouse_2F_Text_1F978A, 4 + releaseall + end + +LittlerootTown_BrendansHouse_2F_EventScript_1F94ED:: @ 81F94ED + msgbox LittlerootTown_BrendansHouse_2F_Text_1F9962, 4 + releaseall + end + +LittlerootTown_BrendansHouse_2F_EventScript_1F94F7:: @ 81F94F7 + applymovement VAR_LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_27259E + waitmovement 0 + checkplayergender + compare VAR_RESULT, 0 + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F951D + compare VAR_RESULT, 1 + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F952F + setflag FLAG_0x125 + releaseall + end + +LittlerootTown_BrendansHouse_2F_EventScript_1F951D:: @ 81F951D + checkflag FLAG_0x125 + goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F9541 + msgbox LittlerootTown_BrendansHouse_2F_Text_1F99C9, 4 + return + +LittlerootTown_BrendansHouse_2F_EventScript_1F952F:: @ 81F952F + checkflag FLAG_0x125 + goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F954A + msgbox LittlerootTown_BrendansHouse_2F_Text_1F9B0D, 4 + return + +LittlerootTown_BrendansHouse_2F_EventScript_1F9541:: @ 81F9541 + msgbox LittlerootTown_BrendansHouse_2F_Text_1F9A9E, 4 + return + +LittlerootTown_BrendansHouse_2F_EventScript_1F954A:: @ 81F954A + msgbox LittlerootTown_BrendansHouse_2F_Text_1F9BE7, 4 + return + +gUnknown_081F9553:: @ 81F9553 + lockall + checkplayergender + compare VAR_RESULT, 0 + goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F956C + compare VAR_RESULT, 1 + goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F9576 + end + +LittlerootTown_MaysHouse_2F_EventScript_1F956C:: @ 81F956C + msgbox gUnknown_08272CD5, 4 + releaseall + end + +LittlerootTown_MaysHouse_2F_EventScript_1F9576:: @ 81F9576 + setvar VAR_0x8004, 2 + special DoPCTurnOnEffect + playse SE_PC_ON + msgbox gUnknown_08272D87, 4 + special sub_816AE58 + waitstate + releaseall + end + +LittlerootTown_MaysHouse_2F_EventScript_1F958F:: @ 81F958F + setvar VAR_0x8004, 2 + playse SE_PC_OFF + special DoPCTurnOffEffect + releaseall + end + +LittlerootTown_MaysHouse_2F_Text_1F959C: @ 81F959C + .string "Huh?\n" + .string "Who… Who are you?\p" + .string "… … … … … … … …\n" + .string "… … … … … … … …\p" + .string "Oh, you’re {PLAYER}{KUN}.\n" + .string "So your move was today.\p" + .string "Um… I’m MAY.\n" + .string "Glad to meet you!\p" + .string "I…\n" + .string "I have this dream of becoming friends\l" + .string "with POKéMON all over the world.\p" + .string "I… I heard about you, {PLAYER}{KUN}, from\n" + .string "my dad, PROF. BIRCH.\p" + .string "I was hoping that you would be nice,\n" + .string "{PLAYER}{KUN}, and that we could be friends.\p" + .string "Oh, this is silly, isn’t it?\n" + .string "I… I’ve just met you, {PLAYER}{KUN}.\p" + .string "Eheheh…\p" + .string "Oh, no! I forgot!\p" + .string "I was supposed to go help Dad catch\n" + .string "some wild POKéMON!\p" + .string "{PLAYER}{KUN}, I’ll catch you later!$" + +LittlerootTown_BrendansHouse_2F_Text_1F978A: @ 81F978A + .string "POKéMON fully restored!\n" + .string "Items ready, and…$" + +LittlerootTown_BrendansHouse_2F_Text_1F97B4: @ 81F97B4 + .string "Hey!\n" + .string "You…\p" + .string "Who are you?\p" + .string "Oh, you’re {PLAYER}, aren’t you?\n" + .string "Moved in next door, right?\p" + .string "I didn’t know that you’re a girl.\p" + .string "Dad, PROF. BIRCH, said that our new\n" + .string "next-door neighbor is a GYM LEADER’s\l" + .string "kid, so I assumed you’d be a guy.\p" + .string "My name’s BRENDAN.\n" + .string "So, hi, neighbor!\p" + .string "Huh? Hey, {PLAYER}, don’t you have\n" + .string "a POKéMON?\p" + .string "Do you want me to go catch you one?\p" + .string "Aw, darn, I forgot…\p" + .string "I’m supposed to go help my dad catch\n" + .string "some wild POKéMON.\p" + .string "Some other time, okay?$" + +LittlerootTown_BrendansHouse_2F_Text_1F9962: @ 81F9962 + .string "POKéMON fully restored…\n" + .string "Items all packed, and…$" + +LittlerootTown_BrendansHouse_2F_Text_1F9991: @ 81F9991 +LittlerootTown_MaysHouse_2F_Text_1F9991: @ 81F9991 + .string "It’s {RIVAL}’s POKé BALL!\p" + .string "Better leave it right where it is.$" + +LittlerootTown_BrendansHouse_2F_Text_1F99C9: @ 81F99C9 + .string "MAY: {PLAYER}{KUN}!\p" + .string "I was just checking my POKéDEX.\p" + .string "There’s still a lot of POKéMON that\n" + .string "I’ve seen but haven’t caught.\p" + .string "And there are many others that\n" + .string "I think will evolve.\p" + .string "I wonder where I should go catch\n" + .string "some POKéMON next?$" + +LittlerootTown_BrendansHouse_2F_Text_1F9A9E: @ 81F9A9E + .string "MAY: I wonder where I should go catch\n" + .string "some POKéMON next?\p" + .string "Wouldn’t it be funny if we ran into each\n" + .string "other, {PLAYER}{KUN}?$" + +LittlerootTown_BrendansHouse_2F_Text_1F9B0D: @ 81F9B0D + .string "BRENDAN: Hey, it’s {PLAYER}.\p" + .string "I was just checking out my POKéDEX.\p" + .string "There are still many POKéMON that\n" + .string "I need to catch, I know, but this\l" + .string "is looking pretty good.\p" + .string "Checking this POKéDEX out gives me\n" + .string "the urge to hit the road again.$" + +LittlerootTown_BrendansHouse_2F_Text_1F9BE7: @ 81F9BE7 + .string "BRENDAN: I’m having a hard time deciding\n" + .string "where I should catch POKéMON next.\p" + .string "Hey, {PLAYER}, if I see you while I’m out\n" + .string "catching POKéMON, I can pitch you a\l" + .string "battle if you’d like.$" diff --git a/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc b/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc new file mode 100644 index 0000000000..433db24d20 --- /dev/null +++ b/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc @@ -0,0 +1,1030 @@ +LittlerootTown_ProfessorBirchsLab_MapScripts:: @ 81F9C91 + map_script 3, LittlerootTown_ProfessorBirchsLab_MapScript1_1F9CA1 + map_script 4, LittlerootTown_ProfessorBirchsLab_MapScript2_1F9D06 + map_script 2, LittlerootTown_ProfessorBirchsLab_MapScript2_1F9DB9 + .byte 0 + +LittlerootTown_ProfessorBirchsLab_MapScript1_1F9CA1: @ 81F9CA1 + call LittlerootTown_ProfessorBirchsLab_EventScript_271ED7 + call LittlerootTown_ProfessorBirchsLab_EventScript_2720AD + compare VAR_0x40D3, 6 + goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF7 + compare VAR_0x40D3, 4 + goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF3 + compare VAR_0x40D3, 3 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9CCD + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9CCD:: @ 81F9CCD + specialvar VAR_RESULT, sub_80C08E4 + compare VAR_RESULT, 1 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9CE9 + setobjectmovementtype 3, 3 + setobjectxyperm 3, 5, 10 + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9CE9:: @ 81F9CE9 + setvar VAR_0x40D3, 4 + goto LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF3 + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF3:: @ 81F9CF3 + setmaplayoutindex 432 + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF7:: @ 81F9CF7 + setmaplayoutindex 432 + setobjectmovementtype 3, 3 + setobjectxyperm 3, 5, 10 + end + +LittlerootTown_ProfessorBirchsLab_MapScript2_1F9D06: @ 81F9D06 + map_script_2 VAR_0x4084, 2, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D40 + map_script_2 VAR_0x40D3, 1, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D45 + map_script_2 VAR_0x40D3, 2, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D45 + map_script_2 VAR_0x40D3, 3, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D71 + map_script_2 VAR_0x40D3, 6, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D71 + map_script_2 VAR_0x40D3, 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D75 + map_script_2 VAR_0x40D3, 5, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D75 + .2byte 0 + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9D40:: @ 81F9D40 + turnobject 255, 2 + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9D45:: @ 81F9D45 + turnobject 255, 2 + addobject 2 + addobject 3 + turnobject 3, 2 + setobjectxy 3, 5, 5 + turnobject 2, 1 + setobjectxy 2, 6, 4 + turnobject 1, 4 + setobjectxy 1, 10, 10 + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9D71:: @ 81F9D71 + addobject 3 + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9D75:: @ 81F9D75 + addobject 4 + addobject 5 + addobject 6 + addobject 3 + turnobject 4, 1 + setobjectxy 4, 8, 4 + turnobject 5, 1 + setobjectxy 5, 9, 4 + turnobject 6, 1 + setobjectxy 6, 10, 4 + turnobject 2, 1 + setobjectxy 2, 6, 4 + turnobject 3, 4 + setobjectxy 3, 5, 5 + end + +LittlerootTown_ProfessorBirchsLab_MapScript2_1F9DB9: @ 81F9DB9 + map_script_2 VAR_0x4084, 2, LittlerootTown_ProfessorBirchsLab_EventScript_1F9DDB + map_script_2 VAR_0x4084, 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9E67 + map_script_2 VAR_0x40D3, 1, LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80 + map_script_2 VAR_0x40D3, 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9F62 + .2byte 0 + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9DDB:: @ 81F9DDB + lockall + bufferleadmonspeciesname 0 + message LittlerootTown_ProfessorBirchsLab_Text_1FA74D + waitmessage + playfanfare MUS_FANFA4 + waitfanfare + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA8B1, 5 + compare VAR_RESULT, 1 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E07 + compare VAR_RESULT, 0 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E17 + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9E07:: @ 81F9E07 + setvar VAR_0x8004, 0 + call LittlerootTown_ProfessorBirchsLab_EventScript_2723DD + goto LittlerootTown_ProfessorBirchsLab_EventScript_1F9E17 + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9E17:: @ 81F9E17 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA8F6, 5 + compare VAR_RESULT, 1 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36 + compare VAR_RESULT, 0 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48 + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36:: @ 81F9E36 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA9D5, 4 + clearflag FLAG_0x3DF + setvar VAR_0x4084, 3 + releaseall + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48:: @ 81F9E48 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAA35, 5 + compare VAR_RESULT, 1 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36 + compare VAR_RESULT, 0 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48 + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9E67:: @ 81F9E67 + lockall + applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_1F9E78 + waitmovement 0 + goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8 + end + +LittlerootTown_ProfessorBirchsLab_Movement_1F9E78: @ 81F9E78 + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_end + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80:: @ 81F9E80 + lockall + delay 30 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB16D, 4 + closemessage + applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_1F9F46 + waitmovement 0 + delay 20 + playse SE_TK_KASYA + delay 10 + playse SE_TK_KASYA + delay 10 + playse SE_TK_KASYA + delay 10 + playse SE_TK_KASYA + delay 20 + applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_2725A8 + applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_2725A4 + waitmovement 0 + checkplayergender + compare VAR_RESULT, 0 + call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1F9F32 + compare VAR_RESULT, 1 + call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1F9F3C + playse SE_PC_ON + waitse + delay 20 + applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_1F9F58 + waitmovement 0 + applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_2725A6 + applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_2725A6 + waitmovement 0 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB419, 4 + playfanfare MUS_FANFA4 + message LittlerootTown_ProfessorBirchsLab_Text_1FB436 + waitmessage + waitfanfare + setflag FLAG_SYS_NATIONAL_DEX + special EnableNationalPokedex + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB466, 4 + closemessage + setflag FLAG_0x31B + setflag FLAG_0x31A + setvar VAR_0x40D3, 2 + setvar VAR_0x40F5, 0 + setflag FLAG_0x072 + releaseall + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9F32:: @ 81F9F32 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB30F, 4 + closemessage + return + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9F3C:: @ 81F9F3C + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB38E, 4 + closemessage + return + +LittlerootTown_ProfessorBirchsLab_Movement_1F9F46: @ 81F9F46 + step_left + step_25 + step_14 + step_14 + step_right + step_25 + step_14 + step_14 + step_right + step_down + step_down + step_down + step_down + step_right + step_right + step_right + step_26 + step_end + +LittlerootTown_ProfessorBirchsLab_Movement_1F9F58: @ 81F9F58 + step_left + step_left + step_left + step_up + step_up + step_up + step_up + step_left + step_25 + step_end + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9F62:: @ 81F9F62 + lockall + applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_1F9F7C + waitmovement 0 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB5F9, 4 + setvar VAR_0x40D3, 5 + releaseall + end + +LittlerootTown_ProfessorBirchsLab_Movement_1F9F7C: @ 81F9F7C + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_end + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9F84:: @ 81F9F84 + lock + faceplayer + compare VAR_0x4084, 3 + goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FB1 + checkflag FLAG_0x058 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9FA7 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA4E2, 4 + setflag FLAG_0x058 + release + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9FA7:: @ 81F9FA7 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA641, 4 + release + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9FB1:: @ 81F9FB1 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA6CE, 4 + release + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9FBB:: @ 81F9FBB + release + compare VAR_0x40D3, 6 + goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1FA057 + applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_2725A8 + waitmovement 0 + drawmonpic SPECIES_CYNDAQUIL, 10, 3 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB7F6, 5 + compare VAR_RESULT, 0 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061 + goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA06C + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1F9FEF:: @ 81F9FEF + release + compare VAR_0x40D3, 6 + goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1FA057 + applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_2725A8 + waitmovement 0 + drawmonpic SPECIES_TOTODILE, 10, 3 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB869, 5 + compare VAR_RESULT, 0 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061 + goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA10D + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA023:: @ 81FA023 + release + compare VAR_0x40D3, 6 + goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1FA057 + applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_2725A8 + waitmovement 0 + drawmonpic SPECIES_CHIKORITA, 10, 3 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB8E0, 5 + compare VAR_RESULT, 0 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061 + goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA1AE + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA057:: @ 81FA057 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBAF8, 4 + releaseall + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA061:: @ 81FA061 + erasemonpic + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB959, 4 + releaseall + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA06C:: @ 81FA06C + bufferspeciesname 0, SPECIES_CYNDAQUIL + setvar VAR_0x4001, 155 + givemon SPECIES_CYNDAQUIL, 5, ITEM_NONE, 0x0, 0x0, 0 + compare VAR_RESULT, 0 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0A1 + compare VAR_RESULT, 1 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0CC + erasemonpic + goto LittlerootTown_ProfessorBirchsLab_EventScript_273811 + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA0A1:: @ 81FA0A1 + call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F + removeobject 4 + msgbox gUnknown_08273374, 5 + compare VAR_RESULT, 0 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD + call LittlerootTown_ProfessorBirchsLab_EventScript_27378B + call LittlerootTown_ProfessorBirchsLab_EventScript_2723DD + goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA0CC:: @ 81FA0CC + call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F + removeobject 4 + msgbox gUnknown_08273374, 5 + compare VAR_RESULT, 0 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2 + call LittlerootTown_ProfessorBirchsLab_EventScript_273797 + goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2 + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2:: @ 81FA0F2 + call LittlerootTown_ProfessorBirchsLab_EventScript_2737A0 + goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD:: @ 81FA0FD + erasemonpic + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, 4 + setvar VAR_0x40D3, 6 + releaseall + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA10D:: @ 81FA10D + bufferspeciesname 0, SPECIES_TOTODILE + setvar VAR_0x4001, 158 + givemon SPECIES_TOTODILE, 5, ITEM_NONE, 0x0, 0x0, 0 + compare VAR_RESULT, 0 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA142 + compare VAR_RESULT, 1 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA16D + erasemonpic + goto LittlerootTown_ProfessorBirchsLab_EventScript_273811 + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA142:: @ 81FA142 + call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F + removeobject 5 + msgbox gUnknown_08273374, 5 + compare VAR_RESULT, 0 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E + call LittlerootTown_ProfessorBirchsLab_EventScript_27378B + call LittlerootTown_ProfessorBirchsLab_EventScript_2723DD + goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA16D:: @ 81FA16D + call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F + removeobject 5 + msgbox gUnknown_08273374, 5 + compare VAR_RESULT, 0 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA193 + call LittlerootTown_ProfessorBirchsLab_EventScript_273797 + goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA193 + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA193:: @ 81FA193 + call LittlerootTown_ProfessorBirchsLab_EventScript_2737A0 + goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E:: @ 81FA19E + erasemonpic + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, 4 + setvar VAR_0x40D3, 6 + releaseall + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA1AE:: @ 81FA1AE + bufferspeciesname 0, SPECIES_CHIKORITA + setvar VAR_0x4001, 152 + givemon SPECIES_CHIKORITA, 5, ITEM_NONE, 0x0, 0x0, 0 + compare VAR_RESULT, 0 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA1E3 + compare VAR_RESULT, 1 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA20E + erasemonpic + goto LittlerootTown_ProfessorBirchsLab_EventScript_273811 + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA1E3:: @ 81FA1E3 + call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F + removeobject 6 + msgbox gUnknown_08273374, 5 + compare VAR_RESULT, 0 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F + call LittlerootTown_ProfessorBirchsLab_EventScript_27378B + call LittlerootTown_ProfessorBirchsLab_EventScript_2723DD + goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA20E:: @ 81FA20E + call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F + removeobject 6 + msgbox gUnknown_08273374, 5 + compare VAR_RESULT, 0 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA234 + call LittlerootTown_ProfessorBirchsLab_EventScript_273797 + goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA234 + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA234:: @ 81FA234 + call LittlerootTown_ProfessorBirchsLab_EventScript_2737A0 + goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F:: @ 81FA23F + erasemonpic + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, 4 + setvar VAR_0x40D3, 6 + releaseall + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F:: @ 81FA24F + playfanfare MUS_FANFA4 + message LittlerootTown_ProfessorBirchsLab_Text_1FB9D7 + waitmessage + waitfanfare + return + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA25A:: @ 81FA25A + lock + faceplayer + compare VAR_0x40D3, 5 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA28A + compare VAR_0x40D3, 2 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA294 + checkflag FLAG_HAS_MATCH_CALL + goto_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E + checkflag FLAG_0x119 + goto_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA2D2 + goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA28A:: @ 81FA28A + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB787, 4 + release + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA294:: @ 81FA294 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB466, 4 + release + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E:: @ 81FA29E + checkflag FLAG_0x380 + goto_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_272141 + compare VAR_0x40D3, 3 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_272141 + compare VAR_0x40D3, 6 + goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_272141 + compare VAR_0x4084, 5 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA3C4 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAA74, 4 + release + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA2D2:: @ 81FA2D2 +Route101_EventScript_1FA2D2:: @ 81FA2D2 + msgbox Route101_Text_2B5F52, 4 + closemessage + delay 30 + playfanfare MUS_ME_TORE_EYE + msgbox Route101_Text_2B603A, 4 + waitfanfare + closemessage + delay 30 + setflag FLAG_0x119 + setvar VAR_0x40DA, 2 + release + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8:: @ 81FA2F8 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAB22, 4 + call LittlerootTown_ProfessorBirchsLab_EventScript_1FA3AC + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAC4B, 4 + closemessage + applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_1FA3E0 + waitmovement 0 + applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_2725A8 + waitmovement 0 + checkplayergender + compare VAR_RESULT, 0 + call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA352 + compare VAR_RESULT, 1 + call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA37F + setvar VAR_0x4084, 5 + setflag FLAG_0x074 + setvar VAR_0x4051, 1 + setvar VAR_0x408D, 4 + setvar VAR_0x4050, 3 + releaseall + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA352:: @ 81FA352 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FADD7, 4 + giveitem_std ITEM_POKE_BALL, 5 + compare VAR_RESULT, 0 + call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3CE + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAE40, 4 + setvar VAR_RESULT, 0 + return + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA37F:: @ 81FA37F + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF3F, 4 + giveitem_std ITEM_POKE_BALL, 5 + compare VAR_RESULT, 0 + call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3D7 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF8E, 4 + setvar VAR_RESULT, 1 + return + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA3AC:: @ 81FA3AC + playfanfare MUS_FANFA4 + message LittlerootTown_ProfessorBirchsLab_Text_1FAC32 + waitfanfare + setflag FLAG_SYS_POKEDEX_GET + special sub_81AFDA0 + setflag FLAG_0x8E4 + setvar VAR_0x40CD, 1 + return + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA3C4:: @ 81FA3C4 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAD6F, 4 + release + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA3CE:: @ 81FA3CE + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAEF3, 4 + return + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA3D7:: @ 81FA3D7 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB05D, 4 + return + +LittlerootTown_ProfessorBirchsLab_Movement_1FA3E0: @ 81FA3E0 + step_down + step_27 + step_end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA3E3:: @ 81FA3E3 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB0A2, 3 + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC:: @ 81FA3EC + lock + faceplayer + compare VAR_0x40D3, 5 + goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA43A + compare VAR_0x40D3, 6 + goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1FA465 + compare VAR_0x40D3, 2 + goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1FA490 + checkplayergender + compare VAR_RESULT, 0 + call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA428 + compare VAR_RESULT, 1 + call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA431 + release + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA428:: @ 81FA428 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF08, 4 + return + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA431:: @ 81FA431 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB073, 4 + return + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA43A:: @ 81FA43A + checkplayergender + compare VAR_RESULT, 0 + call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA453 + compare VAR_RESULT, 1 + call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA45C + release + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA453:: @ 81FA453 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBB68, 4 + return + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA45C:: @ 81FA45C + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBC2D, 4 + return + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA465:: @ 81FA465 + checkplayergender + compare VAR_RESULT, 0 + call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA47E + compare VAR_RESULT, 1 + call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA487 + release + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA47E:: @ 81FA47E + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBC8D, 4 + return + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA487:: @ 81FA487 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBCD2, 4 + return + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA490:: @ 81FA490 + checkplayergender + compare VAR_RESULT, 0 + call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4A9 + compare VAR_RESULT, 1 + call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4B2 + release + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA4A9:: @ 81FA4A9 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB528, 4 + return + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA4B2:: @ 81FA4B2 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB58A, 4 + return + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB:: @ 81FA4BB + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB0E7, 3 + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4:: @ 81FA4C4 + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB124, 3 + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA4CD:: @ 81FA4CD + msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB148, 3 + end + +LittlerootTown_ProfessorBirchsLab_EventScript_1FA4D6:: @ 81FA4D6 + lockall + pokenavcall LittlerootTown_ProfessorBirchsLab_Text_1FBD1A + waitmessage + clearflag FLAG_0x072 + releaseall + end + +LittlerootTown_ProfessorBirchsLab_Text_1FA4E2: @ 81FA4E2 + .string "Hunh? PROF. BIRCH?\p" + .string "The PROF’s away on fieldwork.\n" + .string "Ergo, he isn’t here.\p" + .string "Oh, let me explain what fieldwork is.\p" + .string "It is to study things in the natural\n" + .string "environment, like fields and mountains,\l" + .string "instead of a laboratory.\p" + .string "The PROF isn’t one for doing desk work.\n" + .string "He’s the type of person who would\l" + .string "rather go outside and experience\l" + .string "things than read about them here.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FA641: @ 81FA641 + .string "The PROF isn’t one for doing desk work.\n" + .string "He’s the type of person who would\l" + .string "rather go outside and experience\l" + .string "things than read about them here.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FA6CE: @ 81FA6CE + .string "PROF. BIRCH is studying the habitats\n" + .string "and distribution of POKéMON.\p" + .string "The PROF enjoys {RIVAL}’s help, too.\n" + .string "There’s a lot of love there.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FA74D: @ 81FA74D + .string "PROF. BIRCH: So, {PLAYER}{KUN}.\p" + .string "I’ve heard so much about you from\n" + .string "your father.\p" + .string "I’ve heard that you don’t have your\n" + .string "own POKéMON yet.\p" + .string "But the way you battled earlier,\n" + .string "you pulled it off with aplomb!\p" + .string "I guess you have your father’s blood\n" + .string "in your veins after all!\p" + .string "Oh, yes. As thanks for rescuing me,\n" + .string "I’d like you to have the POKéMON you\l" + .string "used earlier.\p" + .string "{PLAYER} received the {STR_VAR_1}!$" + +LittlerootTown_ProfessorBirchsLab_Text_1FA8B1: @ 81FA8B1 + .string "PROF. BIRCH: While you’re at it, why not\n" + .string "give a nickname to that {STR_VAR_1}?$" + +LittlerootTown_ProfessorBirchsLab_Text_1FA8F6: @ 81FA8F6 + .string "PROF. BIRCH: If you work at POKéMON\n" + .string "and gain experience, I think you’ll make\l" + .string "an extremely good TRAINER.\p" + .string "My kid, {RIVAL}, is also studying\n" + .string "POKéMON while helping me out.\p" + .string "{PLAYER}{KUN}, don’t you think it might be\n" + .string "a good idea to go see {RIVAL}?$" + +LittlerootTown_ProfessorBirchsLab_Text_1FA9D5: @ 81FA9D5 + .string "PROF. BIRCH: Great!\n" + .string "{RIVAL} should be happy, too.\p" + .string "Get {RIVAL} to teach you what it\n" + .string "means to be a TRAINER.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FAA35: @ 81FAA35 + .string "PROF. BIRCH: Oh, don’t be that way.\n" + .string "You should go meet my kid.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FAA74: @ 81FAA74 + .string "PROF. BIRCH: {RIVAL}?\n" + .string "Gone home, I think.\p" + .string "Or maybe that kid’s scrabbling around\n" + .string "in tall grass again somewhere…\p" + .string "If you or your POKéMON get tired,\n" + .string "you should get some rest at home.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FAB22: @ 81FAB22 + .string "PROF. BIRCH: Oh, hi, {PLAYER}{KUN}!\p" + .string "I heard you beat {RIVAL} on\n" + .string "your first try. That’s excellent!\p" + .string "{RIVAL}’s been helping with my research\n" + .string "for a long time.\p" + .string "{RIVAL} has an extensive history as\n" + .string "a TRAINER already.\p" + .string "Here, {PLAYER}{KUN}, I ordered this for my\n" + .string "research, but I think you should have\l" + .string "this POKéDEX.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FAC32: @ 81FAC32 + .string "{PLAYER} received the POKéDEX!$" + +LittlerootTown_ProfessorBirchsLab_Text_1FAC4B: @ 81FAC4B + .string "PROF. BIRCH: The POKéDEX is a high-tech\n" + .string "tool that automatically makes a record\l" + .string "of any POKéMON you meet or catch.\p" + .string "My kid, {RIVAL}, goes everywhere\n" + .string "with it.\p" + .string "Whenever my kid catches a rare POKéMON\n" + .string "and records its data in the POKéDEX,\l" + .string "why, {RIVAL} looks for me while I’m out\l" + .string "doing fieldwork, and shows me.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FAD6F: @ 81FAD6F + .string "PROF. BIRCH: Countless POKéMON\n" + .string "await you!\p" + .string "Argh, I’m getting the itch to get out\n" + .string "and do fieldwork again!$" + +LittlerootTown_ProfessorBirchsLab_Text_1FADD7: @ 81FADD7 + .string "MAY: Oh, wow, {PLAYER}{KUN}!\n" + .string "You got a POKéDEX, too!\p" + .string "That’s great! Just like me!\n" + .string "I’ve got something for you, too!$" + +LittlerootTown_ProfessorBirchsLab_Text_1FAE40: @ 81FAE40 + .string "MAY: It’s fun if you can get a lot of\n" + .string "POKéMON!\p" + .string "I’m going to look all over the place\n" + .string "because I want different POKéMON.\p" + .string "If I find any cute POKéMON, I’ll catch\n" + .string "them with POKé BALLS!$" + +LittlerootTown_ProfessorBirchsLab_Text_1FAEF3: @ 81FAEF3 + .string "Oh? Your BAG’s full.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FAF08: @ 81FAF08 + .string "MAY: I wonder where I should go look\n" + .string "for POKéMON next?$" + +LittlerootTown_ProfessorBirchsLab_Text_1FAF3F: @ 81FAF3F + .string "BRENDAN: Huh…\n" + .string "So you got a POKéDEX, too.\p" + .string "Well then, here.\n" + .string "I’ll give you these.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FAF8E: @ 81FAF8E + .string "BRENDAN: You know it’s more fun to\n" + .string "have a whole bunch of POKéMON.\p" + .string "I’m going to explore all over the place\n" + .string "to find different POKéMON.\p" + .string "If I find any cool POKéMON, you bet\n" + .string "I’ll try to get them with POKé BALLS.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB05D: @ 81FB05D + .string "Hey, your BAG’s full.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB073: @ 81FB073 + .string "BRENDAN: Where should I look for\n" + .string "POKéMON next…$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB0A2: @ 81FB0A2 + .string "It’s a serious-looking machine.\n" + .string "The PROF must use this for research.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB0E7: @ 81FB0E7 + .string "It’s a PC used for research.\n" + .string "Better not mess around with it.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB124: @ 81FB124 + .string "It’s crammed with books on POKéMON.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB148: @ 81FB148 + .string "It’s a book that’s too hard to read.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB16D: @ 81FB16D + .string "PROF. BIRCH: Now…\p" + .string "{PLAYER}{KUN} and {RIVAL}, I’ve had the two\n" + .string "of you help me study POKéMON.\p" + .string "Thanks to your help, new facts\n" + .string "are coming to light.\p" + .string "It appears that in the HOENN region,\n" + .string "there are also POKéMON from other\l" + .string "regions.\p" + .string "It goes to show how rich and varied\n" + .string "the natural environments of HOENN\l" + .string "happen to be.\p" + .string "That’s why I think it’s necessary for\n" + .string "me to upgrade your POKéDEX to\l" + .string "the NATIONAL Mode.\p" + .string "Here, let me see your POKéDEX units.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB30F: @ 81FB30F + .string "MAY: Eheheh!\p" + .string "It’s so cool that even my POKéDEX\n" + .string "is getting updated!\p" + .string "It’s because you went out and caught\n" + .string "so many POKéMON, {PLAYER}{KUN}!$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB38E: @ 81FB38E + .string "BRENDAN: I went out all over HOENN\n" + .string "and checked out POKéMON.\p" + .string "You can thank me for getting\n" + .string "the NATIONAL Mode POKéDEX.\p" + .string "Yep, you’re lucky, {PLAYER}!$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB419: @ 81FB419 + .string "PROF. BIRCH: Okay, all done!$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB436: @ 81FB436 + .string "{PLAYER}’s POKéDEX was upgraded\n" + .string "to the NATIONAL Mode!$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB466: @ 81FB466 + .string "PROF. BIRCH: But listen.\n" + .string "You’ve become the CHAMPION,\l" + .string "but your POKéMON journey isn’t over.\p" + .string "There is no end to the road\n" + .string "that is POKéMON.\p" + .string "Somewhere, there is a grassy patch\n" + .string "that’s waiting for you!$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB528: @ 81FB528 + .string "MAY: I think I’ll take a short break\n" + .string "from fieldwork.\p" + .string "I think I’ll help the PROF here for\n" + .string "a while.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB58A: @ 81FB58A + .string "BRENDAN: For the time being,\n" + .string "I’m taking a break from fieldwork.\p" + .string "I’ll be helping out the PROF here\n" + .string "for a while.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB5F9: @ 81FB5F9 + .string "PROF. BIRCH: Oh, {PLAYER}{KUN}!\n" + .string "Let’s have a look at your POKéDEX.\p" + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "Yes, there’s no doubt about it.\p" + .string "You really have completed the HOENN\n" + .string "region’s POKéDEX.\p" + .string "That’s more than just impressive.\p" + .string "I have a gift for you.\p" + .string "Consider it my show of appreciation\n" + .string "for the fantastic work you’ve done.\p" + .string "My gift is a rare POKéMON only found\n" + .string "in another region!\p" + .string "You can have any one of these\n" + .string "three POKéMON!$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB787: @ 81FB787 + .string "PROF. BIRCH: These are rare POKéMON\n" + .string "only found in another region!\p" + .string "You can have any one of these\n" + .string "three POKéMON!$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB7F6: @ 81FB7F6 + .string "PROF. BIRCH: The FIRE POKéMON\n" + .string "CYNDAQUIL caught your eye!\p" + .string "You’re as sharp as ever!\p" + .string "So the CYNDAQUIL is your choice?$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB869: @ 81FB869 + .string "PROF. BIRCH: The WATER POKéMON\n" + .string "TOTODILE is your choice!\p" + .string "You know how to pick a good one.\p" + .string "So, you’ll take the TOTODILE?$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB8E0: @ 81FB8E0 + .string "PROF. BIRCH: The GRASS POKéMON\n" + .string "CHIKORITA is your choice!\p" + .string "You sure know what you’re doing.\p" + .string "So, you’ll take the CHIKORITA?$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB959: @ 81FB959 + .string "PROF. BIRCH: Take your time before\n" + .string "you decide.\p" + .string "They’re all invaluable POKéMON.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB9A8: @ 81FB9A8 + .string "PROF. BIRCH: I see!\n" + .string "You picked a fine POKéMON!$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB9D7: @ 81FB9D7 + .string "{PLAYER} received the {STR_VAR_1}\n" + .string "from PROF. BIRCH!$" + +LittlerootTown_ProfessorBirchsLab_Text_1FB9FC: @ 81FB9FC + .string "Want to give a nickname to\n" + .string "the {STR_VAR_1} you received?$" + +LittlerootTown_ProfessorBirchsLab_Text_1FBA2C: @ 81FBA2C + .string "PROF. BIRCH: Listen, {PLAYER}{KUN}.\n" + .string "You’ve completed the HOENN POKéDEX,\l" + .string "but your POKéMON journey isn’t over.\p" + .string "There is no end to the road\n" + .string "that is POKéMON.\p" + .string "Somewhere, there is a grassy patch\n" + .string "that’s waiting for you!$" + +LittlerootTown_ProfessorBirchsLab_Text_1FBAF8: @ 81FBAF8 + .string "You received the promised POKéMON.\n" + .string "Better leave the others alone.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FBB3A: @ 81FBB3A + .string "Oh, you don’t have any room for\n" + .string "this POKéMON.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FBB68: @ 81FBB68 + .string "MAY: {PLAYER}{KUN}, after this…\n" + .string "What are you going to do?\p" + .string "Are you going to keep battling\n" + .string "and sharpening your skills?\p" + .string "Or are you going to try filling\n" + .string "the NATIONAL POKéDEX?\p" + .string "I’m staying here to help the PROF.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FBC2D: @ 81FBC2D + .string "BRENDAN: Rather than collecting\n" + .string "POKéMON, I prefer slowly and \l" + .string "steadily raising the one I chose.$" + +LittlerootTown_ProfessorBirchsLab_Text_1FBC8D: @ 81FBC8D + .string "MAY: Oh, hi, {PLAYER}{KUN}!\n" + .string "Have you gone to that place,\l" + .string "the BATTLE FRONTIER?$" + +LittlerootTown_ProfessorBirchsLab_Text_1FBCD2: @ 81FBCD2 + .string "BRENDAN: Hey, {PLAYER}!\n" + .string "Have you gone out to that place,\l" + .string "the BATTLE FRONTIER?$" + +LittlerootTown_ProfessorBirchsLab_Text_1FBD1A: @ 81FBD1A + .string "… … … … … …\n" + .string "… … … … … Beep!\p" + .string "SCOTT: Hi, hi, {PLAYER}!\n" + .string "It’s me, SCOTT.\p" + .string "I’m aboard the S.S. TIDAL now.\n" + .string "It feels great to be on the sea!\p" + .string "By the way…\p" + .string "There’s this place that I’d like to\n" + .string "invite you to for a visit.\p" + .string "If you’re interested, board a ferry\n" + .string "at either SLATEPORT or LILYCOVE.\p" + .string "I’ll fill you in on the details when\n" + .string "we meet. I’ll be waiting!\p" + .string "… … … … … …\n" + .string "… … … … … Click!$" diff --git a/data/scripts/maps/MagmaHideout_1F.inc b/data/scripts/maps/MagmaHideout_1F.inc new file mode 100644 index 0000000000..0e133a890e --- /dev/null +++ b/data/scripts/maps/MagmaHideout_1F.inc @@ -0,0 +1,53 @@ +MagmaHideout_1F_MapScripts:: @ 8239880 + map_script 3, MagmaHideout_1F_MapScript1_239886 + .byte 0 + +MagmaHideout_1F_MapScript1_239886: @ 8239886 + setvar VAR_0x40BD, 0 + end + +MagmaHideout_1F_EventScript_23988C:: @ 823988C + trainerbattle 0, TRAINER_GRUNT_38, 0, MagmaHideout_1F_Text_2398BA, MagmaHideout_1F_Text_239964 + msgbox MagmaHideout_1F_Text_2399B1, 6 + end + +MagmaHideout_1F_EventScript_2398A3:: @ 82398A3 + trainerbattle 0, TRAINER_GRUNT_39, 0, MagmaHideout_1F_Text_2399F5, MagmaHideout_1F_Text_239ABA + msgbox MagmaHideout_1F_Text_239ACD, 6 + end + +MagmaHideout_1F_Text_2398BA: @ 82398BA + .string "When TEAM MAGMA has roll call, we get\n" + .string "important guarding assignments in\l" + .string "the order that we line up.\p" + .string "That’s why I’m stuck off in this corner.\n" + .string "I’m always late to roll call!$" + +MagmaHideout_1F_Text_239964: @ 8239964 + .string "I’m always late for training sessions,\n" + .string "too!\p" + .string "I hate to say it, but I’m wimpy…$" + +MagmaHideout_1F_Text_2399B1: @ 82399B1 + .string "Okay, I’ll try to put a little more\n" + .string "effort into things from now on…$" + +MagmaHideout_1F_Text_2399F5: @ 82399F5 + .string "Our leader told us to dig into\n" + .string "MT. CHIMNEY, so we dug and dug.\p" + .string "And in the course of digging, we came\n" + .string "across something that blew our minds!\p" + .string "What did we find?\p" + .string "Fuhahaha!\n" + .string "I’ll tell you if you beat me!$" + +MagmaHideout_1F_Text_239ABA: @ 8239ABA + .string "Arrgh!\n" + .string "Taken down!$" + +MagmaHideout_1F_Text_239ACD: @ 8239ACD + .string "I won’t tell you after all.\n" + .string "You’ll find out when you get there!\p" + .string "It’d be better if you saved surprises\n" + .string "to the end, don’t you think?$" + diff --git a/data/scripts/maps/MagmaHideout_2F_1R.inc b/data/scripts/maps/MagmaHideout_2F_1R.inc new file mode 100644 index 0000000000..33252bb570 --- /dev/null +++ b/data/scripts/maps/MagmaHideout_2F_1R.inc @@ -0,0 +1,75 @@ +MagmaHideout_2F_1R_MapScripts:: @ 8239B50 + .byte 0 + +MagmaHideout_2F_1R_EventScript_239B51:: @ 8239B51 + trainerbattle 0, TRAINER_GRUNT_51, 0, MagmaHideout_2F_1R_Text_239BAD, MagmaHideout_2F_1R_Text_239C4B + msgbox MagmaHideout_2F_1R_Text_239C74, 6 + end + +MagmaHideout_2F_1R_EventScript_239B68:: @ 8239B68 + trainerbattle 0, TRAINER_GRUNT_40, 0, MagmaHideout_2F_1R_Text_239CAB, MagmaHideout_2F_1R_Text_239D09 + msgbox MagmaHideout_2F_1R_Text_239D1D, 6 + end + +MagmaHideout_2F_1R_EventScript_239B7F:: @ 8239B7F + trainerbattle 0, TRAINER_GRUNT_41, 0, MagmaHideout_2F_1R_Text_239D62, MagmaHideout_2F_1R_Text_239D75 + msgbox MagmaHideout_2F_1R_Text_239D7D, 6 + end + +MagmaHideout_2F_1R_EventScript_239B96:: @ 8239B96 + trainerbattle 0, TRAINER_GRUNT_42, 0, MagmaHideout_2F_1R_Text_239DC5, MagmaHideout_2F_1R_Text_239DDA + msgbox MagmaHideout_2F_1R_Text_239DE2, 6 + end + +MagmaHideout_2F_1R_Text_239BAD: @ 8239BAD + .string "What, what, what?\p" + .string "Only TEAM MAGMA members are supposed\n" + .string "to be in here!\p" + .string "But you’re not dressed in TEAM MAGMA’s\n" + .string "uniform…\p" + .string "You rouse my suspicion!\n" + .string "Battle with me!$" + +MagmaHideout_2F_1R_Text_239C4B: @ 8239C4B + .string "Aiyiyi…\n" + .string "My pride as a TEAM MAGMA member…$" + +MagmaHideout_2F_1R_Text_239C74: @ 8239C74 + .string "If you suffer from chills, you should\n" + .string "join TEAM MAGMA.$" + +MagmaHideout_2F_1R_Text_239CAB: @ 8239CAB + .string "Hold it right there!\p" + .string "You don’t really expect me to keep\n" + .string "my trap shut and let you waltz by me?$" + +MagmaHideout_2F_1R_Text_239D09: @ 8239D09 + .string "Ooh wow!\n" + .string "I concede!$" + +MagmaHideout_2F_1R_Text_239D1D: @ 8239D1D + .string "Maybe it would’ve been better if I did\n" + .string "just let you go unchallenged…$" + +MagmaHideout_2F_1R_Text_239D62: @ 8239D62 + .string "Ahah!\n" + .string "An intruder!$" + +MagmaHideout_2F_1R_Text_239D75: @ 8239D75 + .string "Graaah!$" + +MagmaHideout_2F_1R_Text_239D7D: @ 8239D7D + .string "I’ve already lost.\p" + .string "Do I really need to keep running\n" + .string "around in a circle?$" + +MagmaHideout_2F_1R_Text_239DC5: @ 8239DC5 + .string "Oh, oh!\n" + .string "An intruder!$" + +MagmaHideout_2F_1R_Text_239DDA: @ 8239DDA + .string "Mutter…$" + +MagmaHideout_2F_1R_Text_239DE2: @ 8239DE2 + .string "Actually, I’m no expert at battling…$" + diff --git a/data/scripts/maps/MagmaHideout_2F_2R.inc b/data/scripts/maps/MagmaHideout_2F_2R.inc new file mode 100644 index 0000000000..8b1e51f16e --- /dev/null +++ b/data/scripts/maps/MagmaHideout_2F_2R.inc @@ -0,0 +1,78 @@ +MagmaHideout_2F_2R_MapScripts:: @ 8239E07 + .byte 0 + +MagmaHideout_2F_2R_EventScript_239E08:: @ 8239E08 + trainerbattle 0, TRAINER_GRUNT_52, 0, MagmaHideout_2F_2R_Text_239E64, MagmaHideout_2F_2R_Text_239EA5 + msgbox MagmaHideout_2F_2R_Text_239EBB, 6 + end + +MagmaHideout_2F_2R_EventScript_239E1F:: @ 8239E1F + trainerbattle 0, TRAINER_GRUNT_43, 0, MagmaHideout_2F_2R_Text_239F31, MagmaHideout_2F_2R_Text_239F71 + msgbox MagmaHideout_2F_2R_Text_239FA1, 6 + end + +MagmaHideout_2F_2R_EventScript_239E36:: @ 8239E36 + trainerbattle 0, TRAINER_GRUNT_44, 0, MagmaHideout_2F_2R_Text_239FDE, MagmaHideout_2F_2R_Text_23A050 + msgbox MagmaHideout_2F_2R_Text_23A07D, 6 + end + +MagmaHideout_2F_2R_EventScript_239E4D:: @ 8239E4D + trainerbattle 0, TRAINER_GRUNT_45, 0, MagmaHideout_2F_2R_Text_23A0E4, MagmaHideout_2F_2R_Text_23A14C + msgbox MagmaHideout_2F_2R_Text_23A16F, 6 + end + +MagmaHideout_2F_2R_Text_239E64: @ 8239E64 + .string "I don’t have a bone to pick with you.\n" + .string "I’m just following orders!$" + +MagmaHideout_2F_2R_Text_239EA5: @ 8239EA5 + .string "I may have lost, but…$" + +MagmaHideout_2F_2R_Text_239EBB: @ 8239EBB + .string "We dug up something beyond belief!\n" + .string "And, we got the BLUE ORB!\p" + .string "All that’s left is for our leader to…\n" + .string "Fufufu… Fwahahaha!$" + +MagmaHideout_2F_2R_Text_239F31: @ 8239F31 + .string "I can’t stand heat. Maybe I should’ve\n" + .string "joined TEAM AQUA instead…$" + +MagmaHideout_2F_2R_Text_239F71: @ 8239F71 + .string "Yeah, I really may not be right for\n" + .string "TEAM MAGMA…$" + +MagmaHideout_2F_2R_Text_239FA1: @ 8239FA1 + .string "Don’t you get lonely for the sea\n" + .string "being in a place like this?$" + +MagmaHideout_2F_2R_Text_239FDE: @ 8239FDE + .string "You can hear tremors here sometimes.\p" + .string "Could it be the volcano rattling?\n" + .string "Or is it GROU…\p" + .string "Whoops!\n" + .string "No, no, never mind!$" + +MagmaHideout_2F_2R_Text_23A050: @ 823A050 + .string "You’re a fiery battler.\n" + .string "Just like a volcano!$" + +MagmaHideout_2F_2R_Text_23A07D: @ 823A07D + .string "You just happened to win this time,\n" + .string "but that doesn’t matter.\p" + .string "TEAM MAGMA’s goal is about to be\n" + .string "reached!$" + +MagmaHideout_2F_2R_Text_23A0E4: @ 823A0E4 + .string "One of our guys was freaking out that\n" + .string "he lost his MAGMA EMBLEM…\p" + .string "Wait a minute!\n" + .string "Was it you who found it?$" + +MagmaHideout_2F_2R_Text_23A14C: @ 823A14C + .string "I’m having trouble believing this…$" + +MagmaHideout_2F_2R_Text_23A16F: @ 823A16F + .string "I’m getting this feeling that our plan\n" + .string "is going to end in failure…$" + diff --git a/data/scripts/maps/MagmaHideout_2F_3R.inc b/data/scripts/maps/MagmaHideout_2F_3R.inc new file mode 100644 index 0000000000..cbcb3fd529 --- /dev/null +++ b/data/scripts/maps/MagmaHideout_2F_3R.inc @@ -0,0 +1,3 @@ +MagmaHideout_2F_3R_MapScripts:: @ 823AD00 + .byte 0 + diff --git a/data/scripts/maps/MagmaHideout_3F_1R.inc b/data/scripts/maps/MagmaHideout_3F_1R.inc new file mode 100644 index 0000000000..068e714923 --- /dev/null +++ b/data/scripts/maps/MagmaHideout_3F_1R.inc @@ -0,0 +1,43 @@ +MagmaHideout_3F_1R_MapScripts:: @ 823A1B2 + .byte 0 + +MagmaHideout_3F_1R_EventScript_23A1B3:: @ 823A1B3 + trainerbattle 0, TRAINER_GRUNT_46, 0, MagmaHideout_3F_1R_Text_23A1E1, MagmaHideout_3F_1R_Text_23A229 + msgbox MagmaHideout_3F_1R_Text_23A246, 6 + end + +MagmaHideout_3F_1R_EventScript_23A1CA:: @ 823A1CA + trainerbattle 0, TRAINER_GRUNT_53, 0, MagmaHideout_3F_1R_Text_23A293, MagmaHideout_3F_1R_Text_23A353 + msgbox MagmaHideout_3F_1R_Text_23A37C, 6 + end + +MagmaHideout_3F_1R_Text_23A1E1: @ 823A1E1 + .string "What did I do to deserve this guard\n" + .string "posting?\p" + .string "My left ear is burning up!$" + +MagmaHideout_3F_1R_Text_23A229: @ 823A229 + .string "I’m getting heat exhaustion…$" + +MagmaHideout_3F_1R_Text_23A246: @ 823A246 + .string "Do you think it’s odd that we’re wearing\n" + .string "hoods in this magma-filled volcano?$" + +MagmaHideout_3F_1R_Text_23A293: @ 823A293 + .string "We joined so we can help our leader\n" + .string "achieve his fantastic vision.\p" + .string "I don’t care if you’re with TEAM AQUA\n" + .string "or if you’re just some kid passing by.\p" + .string "No one interferes with us and gets\n" + .string "away with it!$" + +MagmaHideout_3F_1R_Text_23A353: @ 823A353 + .string "Oh, no!\n" + .string "You’re not to be trusted at all!$" + +MagmaHideout_3F_1R_Text_23A37C: @ 823A37C + .string "Listen to me.\n" + .string "TEAM MAGMA is right!\p" + .string "Don’t listen to TEAM AQUA.\n" + .string "Don’t believe their lies!$" + diff --git a/data/scripts/maps/MagmaHideout_3F_2R.inc b/data/scripts/maps/MagmaHideout_3F_2R.inc new file mode 100644 index 0000000000..15d0c26ea7 --- /dev/null +++ b/data/scripts/maps/MagmaHideout_3F_2R.inc @@ -0,0 +1,26 @@ +MagmaHideout_3F_2R_MapScripts:: @ 823A3D4 + .byte 0 + +MagmaHideout_3F_2R_EventScript_23A3D5:: @ 823A3D5 + trainerbattle 0, TRAINER_GRUNT_47, 0, MagmaHideout_3F_2R_Text_23A3EC, MagmaHideout_3F_2R_Text_23A4BB + msgbox MagmaHideout_3F_2R_Text_23A4EF, 6 + end + +MagmaHideout_3F_2R_Text_23A3EC: @ 823A3EC + .string "I understand everything our leader\n" + .string "says. But you know what?\p" + .string "Doing stuff like digging up a super-\n" + .string "ancient POKéMON and ripping off\l" + .string "someone’s METEORITE…\p" + .string "I think we’re going a little too far.\n" + .string "What do you think?$" + +MagmaHideout_3F_2R_Text_23A4BB: @ 823A4BB + .string "Yeah, I think we are doing something\n" + .string "wrong somehow.$" + +MagmaHideout_3F_2R_Text_23A4EF: @ 823A4EF + .string "You know, losing to you cleared my mind.\p" + .string "The next time I see our leader,\n" + .string "I’m going to ask him about what we do.$" + diff --git a/data/scripts/maps/MagmaHideout_3F_3R.inc b/data/scripts/maps/MagmaHideout_3F_3R.inc new file mode 100644 index 0000000000..e85cff9a31 --- /dev/null +++ b/data/scripts/maps/MagmaHideout_3F_3R.inc @@ -0,0 +1,3 @@ +MagmaHideout_3F_3R_MapScripts:: @ 823ACFF + .byte 0 + diff --git a/data/scripts/maps/MagmaHideout_4F.inc b/data/scripts/maps/MagmaHideout_4F.inc new file mode 100644 index 0000000000..cb05805800 --- /dev/null +++ b/data/scripts/maps/MagmaHideout_4F.inc @@ -0,0 +1,228 @@ +MagmaHideout_4F_MapScripts:: @ 823A55F + .byte 0 + +MagmaHideout_4F_EventScript_23A560:: @ 823A560 + lockall + playbgm MUS_MGM0, 0 + msgbox MagmaHideout_4F_Text_23A9F4, 4 + closemessage + delay 20 + setvar VAR_RESULT, 1 + playse SE_W197 + setfieldeffectargument 0, 18 + setfieldeffectargument 1, 42 + setfieldeffectargument 2, 0 + dofieldeffect 54 + waitfieldeffect 54 + setvar VAR_RESULT, 1 + playfanfare MUS_ME_TAMA + playse SE_TAMA + special sub_80B0534 + applymovement 255, MagmaHideout_4F_Movement_2725A6 + waitmovement 0 + delay 150 + removeobject 7 + addobject 1 + waitstate + delay 60 + applymovement 1, MagmaHideout_4F_Movement_23A672 + waitmovement 0 + special sub_80B058C + waitstate + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 8 + setvar VAR_0x8007, 5 + special sub_8139560 + waitstate + applymovement 1, MagmaHideout_4F_Movement_23A67D + waitmovement 0 + removeobject 1 + delay 4 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 8 + setvar VAR_0x8007, 5 + special sub_8139560 + waitstate + delay 30 + applymovement 6, MagmaHideout_4F_Movement_23A680 + waitmovement 0 + msgbox MagmaHideout_4F_Text_23AADA, 4 + closemessage + applymovement 255, MagmaHideout_4F_Movement_2725A8 + waitmovement 0 + delay 30 + applymovement 6, MagmaHideout_4F_Movement_27259E + waitmovement 0 + msgbox MagmaHideout_4F_Text_23AB33, 4 + closemessage + trainerbattle 3, TRAINER_MAXIE_1, 0, MagmaHideout_4F_Text_23ABB5 + msgbox MagmaHideout_4F_Text_23ABE2, 4 + closemessage + clearflag FLAG_0x348 + clearflag FLAG_0x343 + setvar VAR_0x4058, 1 + setflag FLAG_0x06F + setvar VAR_0x40A0, 1 + fadescreen 1 + removeobject 6 + removeobject 2 + removeobject 3 + removeobject 4 + removeobject 5 + setflag FLAG_0x359 + fadescreen 0 + releaseall + end + +MagmaHideout_4F_Movement_23A672: @ 823A672 + step_14 + step_14 + slow_step_down + step_14 + step_14 + step_14 + slow_step_down + step_14 + step_14 + step_14 + step_end + +MagmaHideout_4F_Movement_23A67D: @ 823A67D + step_32 + step_32 + step_end + +MagmaHideout_4F_Movement_23A680: @ 823A680 + step_02 + step_14 + step_03 + step_14 + step_02 + step_14 + step_03 + step_14 + step_01 + step_14 + step_14 + step_end + +MagmaHideout_4F_EventScript_23A68C:: @ 823A68C + trainerbattle 0, TRAINER_GRUNT_48, 0, MagmaHideout_4F_Text_23A6E8, MagmaHideout_4F_Text_23A775 + msgbox MagmaHideout_4F_Text_23A7B5, 6 + end + +MagmaHideout_4F_EventScript_23A6A3:: @ 823A6A3 + trainerbattle 0, TRAINER_GRUNT_49, 0, MagmaHideout_4F_Text_23A7DA, MagmaHideout_4F_Text_23A81B + msgbox MagmaHideout_4F_Text_23A841, 6 + end + +MagmaHideout_4F_EventScript_23A6BA:: @ 823A6BA + trainerbattle 0, TRAINER_GRUNT_50, 0, MagmaHideout_4F_Text_23A86D, MagmaHideout_4F_Text_23A8A7 + msgbox MagmaHideout_4F_Text_23A8C6, 6 + end + +MagmaHideout_4F_EventScript_23A6D1:: @ 823A6D1 + trainerbattle 0, TRAINER_TABITHA_3, 0, MagmaHideout_4F_Text_23A8E1, MagmaHideout_4F_Text_23A994 + msgbox MagmaHideout_4F_Text_23A9AC, 6 + end + +MagmaHideout_4F_Text_23A6E8: @ 823A6E8 + .string "I want to see GROUDON, too, but they\n" + .string "won’t let me see even its tail…\p" + .string "It’s got me feeling really frustrated.\p" + .string "Oh, no!\n" + .string "I blabbed about GROUDON!$" + +MagmaHideout_4F_Text_23A775: @ 823A775 + .string "I guess it’s impossible to win if one\n" + .string "doesn’t have a calm mind…$" + +MagmaHideout_4F_Text_23A7B5: @ 823A7B5 + .string "I wonder if GROUDON even has a tail?$" + +MagmaHideout_4F_Text_23A7DA: @ 823A7DA + .string "Fuhahaha!\n" + .string "Soon! Very soon!\l" + .string "Our grand objective will be achieved!$" + +MagmaHideout_4F_Text_23A81B: @ 823A81B + .string "Grrr…\n" + .string "I’ve come so far, but now this?$" + +MagmaHideout_4F_Text_23A841: @ 823A841 + .string "MAXIE, sir!\n" + .string "An intruder is headed your way!$" + +MagmaHideout_4F_Text_23A86D: @ 823A86D + .string "You’re not finished yet!\n" + .string "You’re not getting by me easily!$" + +MagmaHideout_4F_Text_23A8A7: @ 823A8A7 + .string "Was I that easy to knock down?$" + +MagmaHideout_4F_Text_23A8C6: @ 823A8C6 + .string "C-come on, one more match…$" + +MagmaHideout_4F_Text_23A8E1: @ 823A8E1 + .string "Hehehe!\n" + .string "You made it this far, so I’ll tell you!\p" + .string "That’s right!\n" + .string "Up ahead, GROUDON is sleeping!\p" + .string "MAXIE went to GROUDON just seconds\n" + .string "ago!\p" + .string "It’s going to awaken real soon!\n" + .string "Hehe! Hehehe!$" + +MagmaHideout_4F_Text_23A994: @ 823A994 + .string "Taken down again…\n" + .string "Hehe…$" + +MagmaHideout_4F_Text_23A9AC: @ 823A9AC + .string "…And while you wasted time with me,\n" + .string "MAXIE should have awakened GROUDON…$" + +MagmaHideout_4F_Text_23A9F4: @ 823A9F4 + .string "MAXIE: GROUDON…\p" + .string "Nothing could awaken you from your\n" + .string "sleep bathed in magma…\p" + .string "This BLUE ORB is what you sought.\n" + .string "Wasn’t it?\p" + .string "I have brought you the BLUE ORB.\n" + .string "Let its shine awaken you!\p" + .string "And show me…\n" + .string "Show me the full extent of your power!$" + +MagmaHideout_4F_Text_23AADA: @ 823AADA + .string "MAXIE: GROUDON!\n" + .string "What’s wrong?\p" + .string "Wasn’t the BLUE ORB the key?\p" + .string "GROUDON!\n" + .string "Where have you gone…$" + +MagmaHideout_4F_Text_23AB33: @ 823AB33 + .string "MAXIE: Oh, so it was you?\p" + .string "I’ve seen you poking around uninvited\n" + .string "here and there…\p" + .string "I get it now!\n" + .string "You must have pulled a cheap stunt!$" + +MagmaHideout_4F_Text_23ABB5: @ 823ABB5 + .string "What makes you so adept at handling\n" + .string "POKéMON?$" + +MagmaHideout_4F_Text_23ABE2: @ 823ABE2 + .string "MAXIE: There has to be some reason\n" + .string "why GROUDON fled…\p" + .string "That’s what you’re trying to say,\n" + .string "aren’t you?\p" + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "Humph…\n" + .string "You think I didn’t know that?\p" + .string "With GROUDON gone, there is no longer\n" + .string "any need for this blasted volcano.\p" + .string "I am going after GROUDON, so this\n" + .string "is where we part!$" + diff --git a/data/scripts/maps/MarineCave_End.inc b/data/scripts/maps/MarineCave_End.inc new file mode 100644 index 0000000000..7d2588a0a2 --- /dev/null +++ b/data/scripts/maps/MarineCave_End.inc @@ -0,0 +1,78 @@ +MarineCave_End_MapScripts:: @ 823AFDF + map_script 5, MarineCave_End_MapScript1_23AFEA + map_script 3, MarineCave_End_MapScript1_23B008 + .byte 0 + +MarineCave_End_MapScript1_23AFEA: @ 823AFEA + checkflag FLAG_SYS_CTRL_OBJ_DELETE + call_if 1, MarineCave_End_EventScript_23AFF4 + end + +MarineCave_End_EventScript_23AFF4:: @ 823AFF4 + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 7 + goto_if 5, MarineCave_End_EventScript_27374E + removeobject 1 + return + +MarineCave_End_MapScript1_23B008: @ 823B008 + checkflag FLAG_0x1BE + call_if 0, MarineCave_End_EventScript_23B012 + end + +MarineCave_End_EventScript_23B012:: @ 823B012 + clearflag FLAG_0x30E + setvar VAR_0x4001, 1 + return + +MarineCave_End_EventScript_23B01B:: @ 823B01B + lockall + applymovement 255, MarineCave_End_Movement_2725B2 + waitmovement 0 + applymovement 1, MarineCave_End_Movement_23B09D + waitmovement 0 + waitse + playmoncry SPECIES_KYOGRE, 2 + delay 40 + waitmoncry + setvar VAR_LAST_TALKED, 1 + setwildbattle SPECIES_KYOGRE, 70, ITEM_NONE + setflag FLAG_SYS_CTRL_OBJ_DELETE + special BattleSetup_StartLegendaryBattle + waitstate + clearflag FLAG_SYS_CTRL_OBJ_DELETE + setvar VAR_0x4001, 0 + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 1 + goto_eq MarineCave_End_EventScript_23B084 + compare VAR_RESULT, 4 + goto_eq MarineCave_End_EventScript_23B092 + compare VAR_RESULT, 5 + goto_eq MarineCave_End_EventScript_23B092 + setvar VAR_0x4039, 1 + setflag FLAG_0x1BE + releaseall + end + +MarineCave_End_EventScript_23B084:: @ 823B084 + setvar VAR_0x4039, 1 + setflag FLAG_0x1BE + goto MarineCave_End_EventScript_27376D + end + +MarineCave_End_EventScript_23B092:: @ 823B092 + setvar VAR_0x8004, 404 + goto MarineCave_End_EventScript_273776 + end + +MarineCave_End_Movement_23B09D: @ 823B09D + step_5e + step_62 + step_14 + step_14 + step_63 + step_14 + step_14 + step_63 + step_end + diff --git a/data/scripts/maps/MarineCave_Entrance.inc b/data/scripts/maps/MarineCave_Entrance.inc new file mode 100644 index 0000000000..a1f5489fee --- /dev/null +++ b/data/scripts/maps/MarineCave_Entrance.inc @@ -0,0 +1,8 @@ +MarineCave_Entrance_MapScripts:: @ 823AFD0 + map_script 5, MarineCave_Entrance_MapScript1_23AFD6 + .byte 0 + +MarineCave_Entrance_MapScript1_23AFD6: @ 823AFD6 + setdivewarp UNDERWATER_MARINE_CAVE, 255, 9, 6 + end + diff --git a/data/scripts/maps/MauvilleCity.inc b/data/scripts/maps/MauvilleCity.inc new file mode 100644 index 0000000000..1c48e97106 --- /dev/null +++ b/data/scripts/maps/MauvilleCity.inc @@ -0,0 +1,677 @@ +MauvilleCity_MapScripts:: @ 81DF385 + map_script 3, MauvilleCity_MapScript1_1DF38B + .byte 0 + +MauvilleCity_MapScript1_1DF38B: @ 81DF38B + setflag FLAG_VISITED_MAUVILLE_CITY + clearflag FLAG_0x09D + clearflag FLAG_0x3C1 + setflag FLAG_SYS_TV_START + clearflag FLAG_0x063 + setvar VAR_0x4093, 0 + checkflag FLAG_0x0D1 + call_if 1, MauvilleCity_EventScript_1DF3A9 + end + +MauvilleCity_EventScript_1DF3A9:: @ 81DF3A9 + clearflag FLAG_0x391 + setflag FLAG_0x390 + setflag FLAG_0x05B + return + +MauvilleCity_EventScript_1DF3B3:: @ 81DF3B3 + msgbox MauvilleCity_Text_1E0301, 2 + end + +MauvilleCity_EventScript_1DF3BC:: @ 81DF3BC + msgbox MauvilleCity_Text_1E037C, 2 + end + +MauvilleCity_EventScript_1DF3C5:: @ 81DF3C5 + msgbox MauvilleCity_Text_1E03FB, 2 + end + +MauvilleCity_EventScript_1DF3CE:: @ 81DF3CE + msgbox MauvilleCity_Text_1E044A, 2 + end + +MauvilleCity_EventScript_1DF3D7:: @ 81DF3D7 + msgbox MauvilleCity_Text_1E0485, 3 + end + +MauvilleCity_EventScript_1DF3E0:: @ 81DF3E0 + msgbox MauvilleCity_Text_1E04B7, 3 + end + +MauvilleCity_EventScript_1DF3E9:: @ 81DF3E9 + msgbox MauvilleCity_Text_1E0504, 3 + end + +MauvilleCity_EventScript_1DF3F2:: @ 81DF3F2 + msgbox MauvilleCity_Text_1E053C, 3 + end + +MauvilleCity_EventScript_1DF3FB:: @ 81DF3FB + lock + faceplayer + checkflag FLAG_0x062 + goto_eq MauvilleCity_EventScript_1DF413 + msgbox MauvilleCity_Text_1E056A, 4 + setflag FLAG_0x062 + release + end + +MauvilleCity_EventScript_1DF413:: @ 81DF413 + msgbox MauvilleCity_Text_1E0699, 4 + release + end + +MauvilleCity_EventScript_1DF41D:: @ 81DF41D + lock + faceplayer + checkflag FLAG_0x11C + goto_eq MauvilleCity_EventScript_1DF43D + msgbox MauvilleCity_Text_1DF7DC, 4 + closemessage + applymovement 7, MauvilleCity_Movement_2725A2 + waitmovement 0 + release + end + +MauvilleCity_EventScript_1DF43D:: @ 81DF43D + msgbox MauvilleCity_Text_1DFAA5, 4 + closemessage + applymovement 7, MauvilleCity_Movement_2725A2 + waitmovement 0 + release + end + +MauvilleCity_EventScript_1DF452:: @ 81DF452 + lockall + checkflag FLAG_0x11C + goto_eq MauvilleCity_EventScript_1DF690 + applymovement 6, MauvilleCity_Movement_2725A8 + waitmovement 0 + msgbox MauvilleCity_Text_1DF845, 4 + msgbox MauvilleCity_Text_1DF8B9, 4 + msgbox MauvilleCity_Text_1DF963, 4 + applymovement 6, MauvilleCity_Movement_27259E + waitmovement 0 + playse SE_PIN + applymovement 6, MauvilleCity_Movement_272598 + waitmovement 0 + applymovement 6, MauvilleCity_Movement_27259A + waitmovement 0 + msgbox MauvilleCity_Text_1DF9B2, 5 + goto MauvilleCity_EventScript_1DF4AD + end + +MauvilleCity_EventScript_1DF4AD:: @ 81DF4AD + compare VAR_RESULT, 1 + call_if 1, MauvilleCity_EventScript_1DF63A + compare VAR_RESULT, 0 + goto_eq MauvilleCity_EventScript_1DF683 + closemessage + switch VAR_FACING + case 2, MauvilleCity_EventScript_1DF4E0 + case 4, MauvilleCity_EventScript_1DF53D + end + +MauvilleCity_EventScript_1DF4E0:: @ 81DF4E0 + applymovement 255, MauvilleCity_Movement_1DF6DF + applymovement 6, MauvilleCity_Movement_1DF6A8 + applymovement 7, MauvilleCity_Movement_1DF6E2 + waitmovement 0 + applymovement 6, MauvilleCity_Movement_2725A8 + waitmovement 0 + delay 30 + applymovement 255, MauvilleCity_Movement_1DF6EE + applymovement 7, MauvilleCity_Movement_1DF6F3 + waitmovement 0 + msgbox MauvilleCity_Text_1DFD34, 4 + closemessage + applymovement 255, MauvilleCity_Movement_1DF6CC + applymovement 7, MauvilleCity_Movement_1DF6FA + applymovement 6, MauvilleCity_Movement_1DF6B4 + waitmovement 0 + goto MauvilleCity_EventScript_1DF593 + end + +MauvilleCity_EventScript_1DF53D:: @ 81DF53D + applymovement 255, MauvilleCity_Movement_1DF6DC + applymovement 6, MauvilleCity_Movement_1DF6AE + applymovement 7, MauvilleCity_Movement_1DF6E8 + waitmovement 0 + applymovement 6, MauvilleCity_Movement_2725A8 + waitmovement 0 + delay 30 + applymovement 7, MauvilleCity_Movement_1DF6F7 + waitmovement 0 + msgbox MauvilleCity_Text_1DFD34, 4 + closemessage + applymovement 255, MauvilleCity_Movement_1DF6D0 + applymovement 7, MauvilleCity_Movement_1DF703 + applymovement 6, MauvilleCity_Movement_1DF6C0 + waitmovement 0 + goto MauvilleCity_EventScript_1DF593 + end + +MauvilleCity_EventScript_1DF593:: @ 81DF593 + removeobject 6 + removeobject 7 + clearflag FLAG_0x326 + clearflag FLAG_0x329 + setflag FLAG_0x0BE + setvar VAR_0x40F2, 0 + setflag FLAG_0x088 + compare VAR_FACING, 2 + call_if 1, MauvilleCity_EventScript_1DF5F3 + compare VAR_FACING, 4 + call_if 1, MauvilleCity_EventScript_1DF601 + applymovement 255, MauvilleCity_Movement_2725AA + waitmovement 0 + msgbox MauvilleCity_Text_1DFED5, 4 + closemessage + addvar VAR_0x40D1, 1 + compare VAR_FACING, 2 + call_if 1, MauvilleCity_EventScript_1DF616 + compare VAR_FACING, 4 + call_if 1, MauvilleCity_EventScript_1DF628 + removeobject 11 + releaseall + end + +MauvilleCity_EventScript_1DF5F3:: @ 81DF5F3 + addobject 11 + applymovement 11, MauvilleCity_Movement_1DF70D + waitmovement 0 + return + +MauvilleCity_EventScript_1DF601:: @ 81DF601 + setobjectxyperm 11, 12, 13 + addobject 11 + applymovement 11, MauvilleCity_Movement_1DF719 + waitmovement 0 + return + +MauvilleCity_EventScript_1DF616:: @ 81DF616 + applymovement 255, MauvilleCity_Movement_1DF6D5 + applymovement 11, MauvilleCity_Movement_1DF725 + waitmovement 0 + return + +MauvilleCity_EventScript_1DF628:: @ 81DF628 + applymovement 255, MauvilleCity_Movement_1DF6D8 + applymovement 11, MauvilleCity_Movement_1DF72F + waitmovement 0 + return + +MauvilleCity_EventScript_1DF63A:: @ 81DF63A + msgbox MauvilleCity_Text_1DFB6D, 4 + trainerbattle 3, TRAINER_WALLY_2, 0, MauvilleCity_Text_1DFB96 + applymovement 6, MauvilleCity_Movement_2725A8 + waitmovement 0 + msgbox MauvilleCity_Text_1DFBC3, 4 + applymovement 6, MauvilleCity_Movement_27259E + waitmovement 0 + msgbox MauvilleCity_Text_1DFBED, 4 + applymovement 6, MauvilleCity_Movement_2725A8 + waitmovement 0 + msgbox MauvilleCity_Text_1DFC8A, 4 + return + +MauvilleCity_EventScript_1DF683:: @ 81DF683 + setflag FLAG_0x11C + msgbox MauvilleCity_Text_1DFA4A, 4 + release + end + +MauvilleCity_EventScript_1DF690:: @ 81DF690 + applymovement 6, MauvilleCity_Movement_27259E + waitmovement 0 + msgbox MauvilleCity_Text_1DFB42, 5 + goto MauvilleCity_EventScript_1DF4AD + end + +MauvilleCity_Movement_1DF6A8: @ 81DF6A8 + step_left + step_left + step_down + step_down + step_left + step_end + +MauvilleCity_Movement_1DF6AE: @ 81DF6AE + step_down + step_down + step_left + step_left + step_left + step_end + +MauvilleCity_Movement_1DF6B4: @ 81DF6B4 + step_14 + step_14 + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_13 + step_end + +MauvilleCity_Movement_1DF6C0: @ 81DF6C0 + step_14 + step_14 + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_13 + step_end + +MauvilleCity_Movement_1DF6CC: @ 81DF6CC + step_14 + step_13 + step_27 + step_end + +MauvilleCity_Movement_1DF6D0: @ 81DF6D0 + step_14 + step_14 + step_14 + step_27 + step_end + +MauvilleCity_Movement_1DF6D5: @ 81DF6D5 + step_14 + step_27 + step_end + +MauvilleCity_Movement_1DF6D8: @ 81DF6D8 + step_14 + step_14 + step_27 + step_end + +MauvilleCity_Movement_1DF6DC: @ 81DF6DC + step_14 + step_25 + step_end + +MauvilleCity_Movement_1DF6DF: @ 81DF6DF + step_14 + step_27 + step_end + +MauvilleCity_Movement_1DF6E2: @ 81DF6E2 + step_left + step_left + step_left + step_down + step_down + step_end + +MauvilleCity_Movement_1DF6E8: @ 81DF6E8 + step_left + step_down + step_down + step_left + step_left + step_end + +MauvilleCity_Movement_1DF6EE: @ 81DF6EE + step_14 + step_13 + step_12 + step_25 + step_end + +MauvilleCity_Movement_1DF6F3: @ 81DF6F3 + step_right + step_right + step_26 + step_end + +MauvilleCity_Movement_1DF6F7: @ 81DF6F7 + step_right + step_up + step_end + +MauvilleCity_Movement_1DF6FA: @ 81DF6FA + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +MauvilleCity_Movement_1DF703: @ 81DF703 + step_down + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +MauvilleCity_Movement_1DF70D: @ 81DF70D + step_up + step_up + step_up + step_up + step_up + step_up + step_left + step_left + step_left + step_left + step_26 + step_end + +MauvilleCity_Movement_1DF719: @ 81DF719 + step_up + step_up + step_up + step_up + step_up + step_left + step_left + step_left + step_left + step_left + step_up + step_end + +MauvilleCity_Movement_1DF725: @ 81DF725 + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +MauvilleCity_Movement_1DF72F: @ 81DF72F + step_down + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +MauvilleCity_EventScript_1DF73A:: @ 81DF73A + lock + faceplayer + checkflag FLAG_0x0D1 + goto_eq MauvilleCity_EventScript_1DF7B0 + compare VAR_0x40BA, 2 + goto_eq MauvilleCity_EventScript_1DF784 + checkflag FLAG_0x0D0 + goto_eq MauvilleCity_EventScript_1DF77A + msgbox MauvilleCity_Text_1DFFE4, 4 + giveitem_std ITEM_BASEMENT_KEY + setflag FLAG_0x0D0 + msgbox MauvilleCity_Text_1E0154, 4 + release + end + +MauvilleCity_EventScript_1DF77A:: @ 81DF77A + msgbox MauvilleCity_Text_1E0154, 4 + release + end + +MauvilleCity_EventScript_1DF784:: @ 81DF784 + msgbox MauvilleCity_Text_1E020E, 4 + giveitem_std ITEM_TM24 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_EventScript_272054 + setflag FLAG_0x0D1 + msgbox MauvilleCity_Text_1E02AA, 4 + release + end + +MauvilleCity_EventScript_1DF7B0:: @ 81DF7B0 + msgbox MauvilleCity_Text_1E02AA, 4 + release + end + +MauvilleCity_EventScript_1DF7BA:: @ 81DF7BA + lockall + pokenavcall MauvilleCity_Text_1DFDFB + waitmessage + delay 30 + playfanfare MUS_ME_TORE_EYE + msgbox MauvilleCity_Text_1DFEB4, 4 + waitfanfare + closemessage + delay 30 + setflag FLAG_0x0D6 + clearflag FLAG_0x088 + releaseall + end + +MauvilleCity_Text_1DF7DC: @ 81DF7DC + .string "UNCLE: It’s because of POKéMON that\n" + .string "this boy’s got more pep, I suppose…\l" + .string "But he’s become a bit too peppy…$" + +MauvilleCity_Text_1DF845: @ 81DF845 + .string "WALLY: Aww, UNCLE, please?\p" + .string "I want to challenge this GYM and see\n" + .string "how much better I’ve become.\p" + .string "Please? May I, please?$" + +MauvilleCity_Text_1DF8B9: @ 81DF8B9 + .string "UNCLE: Now hold on, WALLY.\p" + .string "Since you started living with POKéMON,\n" + .string "you have grown quite a lot stronger.\p" + .string "But don’t you think you’re pushing it\n" + .string "to suddenly challenge a GYM?$" + +MauvilleCity_Text_1DF963: @ 81DF963 + .string "WALLY: I’m not pushing it.\p" + .string "If I combine forces with RALTS,\n" + .string "we can beat anyone!$" + +MauvilleCity_Text_1DF9B2: @ 81DF9B2 + .string "WALLY: Oh! Hi, {PLAYER}!\p" + .string "I’ve gotten a lot stronger since\n" + .string "we met.\p" + .string "{PLAYER}, I want you and my UNCLE to\n" + .string "understand that.\p" + .string "{PLAYER}, please, will you have\n" + .string "a battle with me?$" + +MauvilleCity_Text_1DFA4A: @ 81DFA4A + .string "WALLY: Oh… If you won’t battle me,\n" + .string "{PLAYER}, my UNCLE won’t know that I’ve\l" + .string "become really strong.$" + +MauvilleCity_Text_1DFAA5: @ 81DFAA5 + .string "UNCLE: {PLAYER}{KUN}, was it?\n" + .string "On WALLY’s behalf, can I ask you to\l" + .string "battle with him just this once?\p" + .string "I don’t think he’s going to listen to\n" + .string "any reason the way he is now.$" + +MauvilleCity_Text_1DFB42: @ 81DFB42 + .string "WALLY: {PLAYER}, please!\n" + .string "Battle with me, please.$" + +MauvilleCity_Text_1DFB6D: @ 81DFB6D + .string "WALLY: {PLAYER}, thank you.\p" + .string "Okay… Here I come!$" + +MauvilleCity_Text_1DFB96: @ 81DFB96 + .string "WALLY: … … … … … … …\p" + .string "… … … … … … … …\p" + .string "I lost…$" + +MauvilleCity_Text_1DFBC3: @ 81DFBC3 + .string "WALLY: UNCLE…\n" + .string "I’ll go back to VERDANTURF…$" + +MauvilleCity_Text_1DFBED: @ 81DFBED + .string "{PLAYER}, thank you.\n" + .string "Being a TRAINER is tough, isn’t it?\p" + .string "It’s not enough just to have POKéMON\n" + .string "and make them battle. That isn’t what\l" + .string "being a real TRAINER is about.$" + +MauvilleCity_Text_1DFC8A: @ 81DFC8A + .string "UNCLE: WALLY, there’s no need to be so\n" + .string "down on yourself.\p" + .string "Why, what’s keeping you from becoming\n" + .string "stronger and stronger?\p" + .string "Come on, let’s go home.\n" + .string "Everyone’s waiting for you.$" + +MauvilleCity_Text_1DFD34: @ 81DFD34 + .string "UNCLE: {PLAYER}{KUN}, it just dawned on me\n" + .string "that you must be the TRAINER who kept\l" + .string "an eye out for WALLY when he caught\l" + .string "his POKéMON.\p" + .string "Why don’t you visit us in VERDANTURF\n" + .string "sometime?\l" + .string "I’m sure WALLY would enjoy it.$" + + +MauvilleCity_Text_1DFDFB: @ 81DFDFB + .string "… … … … … …\n" + .string "… … … … … Beep!\p" + .string "WALLY: Oh, hello, {PLAYER}!\p" + .string "I just wanted to tell you that\n" + .string "my uncle bought me a POKéNAV!\p" + .string "Now I can get in touch with you\n" + .string "anytime, {PLAYER}!\p" + .string "… … … … … …\n" + .string "… … … … … Click!$" + +MauvilleCity_Text_1DFEB4: @ 81DFEB4 + .string "Registered WALLY\n" + .string "in the POKéNAV.$" + +MauvilleCity_Text_1DFED5: @ 81DFED5 + .string "SCOTT: Hehe…\n" + .string "I was watching that match!\p" + .string "You’re friends with that boy WALLY,\n" + .string "aren’t you?\p" + .string "But you didn’t hold anything back\n" + .string "and beat him impressively.\p" + .string "Yeah! That’s what a real POKéMON\n" + .string "battle is all about!\p" + .string "I idolize TRAINERS like that!\p" + .string "… … … … … …\n" + .string "I’ll be cheering for you!$" + +MauvilleCity_Text_1DFFE4: @ 81DFFE4 + .string "WATTSON: Oh, {PLAYER}{KUN}!\n" + .string "You look like you have a lot of zip!\l" + .string "That’s a good thing, wahahahaha!\p" + .string "Fine! I’ve decided!\n" + .string "I need a favor, {PLAYER}{KUN}!\p" + .string "MAUVILLE CITY has an underground\n" + .string "sector called NEW MAUVILLE.\p" + .string "{PLAYER}{KUN}, I’d like you to go there and\n" + .string "switch off the GENERATOR.\p" + .string "The GENERATOR has been running a bit\n" + .string "haywire. It’s getting unsafe.\p" + .string "Here, this is the KEY to get into\n" + .string "NEW MAUVILLE.$" + +MauvilleCity_Text_1E0154: @ 81E0154 + .string "WATTSON: Don’t you worry about it.\n" + .string "It won’t be a challenge to you.\p" + .string "The entrance to NEW MAUVILLE is just\n" + .string "a short SURF away from ROUTE 110.\p" + .string "That’s it, then, you have my trust!\n" + .string "Wahahahaha!$" + +MauvilleCity_Text_1E020E: @ 81E020E + .string "WATTSON: Wahahahaha!\p" + .string "I knew it, {PLAYER}{KUN}! I knew I’d made\n" + .string "the right choice asking you!\p" + .string "This is my thanks--a TM containing\n" + .string "THUNDERBOLT!\p" + .string "Go on, you’ve earned it!$" + +MauvilleCity_Text_1E02AA: @ 81E02AA + .string "WATTSON: Wahahahaha!\p" + .string "It pleases me to no end to see\n" + .string "the young step up and take charge!$" + +MauvilleCity_Text_1E0301: @ 81E0301 + .string "You know, it’s cool to have POKéMON\n" + .string "battles and stuff…\p" + .string "But if your POKéMON gets hurt,\n" + .string "you have to nurse it back to health.$" + +MauvilleCity_Text_1E037C: @ 81E037C + .string "The roads of this town stretch north\n" + .string "and south, and east and west.\p" + .string "Because of that, we get all sorts of\n" + .string "people coming through.$" + +MauvilleCity_Text_1E03FB: @ 81E03FB + .string "Have you been to RYDEL’S CYCLES yet?\p" + .string "RYDEL, the owner, is a very generous\n" + .string "man.$" + +MauvilleCity_Text_1E044A: @ 81E044A + .string "Even if you’re riding a BIKE,\n" + .string "wild POKéMON could jump you.$" + +MauvilleCity_Text_1E0485: @ 81E0485 + .string "MAUVILLE CITY\n" + .string "“The bright and shiny city of fun!”$" + +MauvilleCity_Text_1E04B7: @ 81E04B7 + .string "MAUVILLE CITY POKéMON GYM\n" + .string "LEADER: WATTSON\l" + .string "“The cheerfully electrifying man!”$" + +MauvilleCity_Text_1E0504: @ 81E0504 + .string "“Ride in gravel and shake up your\n" + .string "soul!”\l" + .string "RYDEL’S CYCLES$" + +MauvilleCity_Text_1E053C: @ 81E053C + .string "“The play spot for all!”\n" + .string "MAUVILLE GAME CORNER$" + +MauvilleCity_Text_1E056A: @ 81E056A + .string "Hi, do you check out TV at all?\p" + .string "They’ve added a bunch of cool new\n" + .string "shows recently.\p" + .string "TV is so cool. I’ve seen my friends on\n" + .string "TV just out of the blue.\p" + .string "And, sometimes, they even put you on TV\n" + .string "without telling you.\p" + .string "I wish I would be on TV sometime.\p" + .string "That’s why I think you should check\n" + .string "out TVs whenever you can.$" + +MauvilleCity_Text_1E0699: @ 81E0699 + .string "Hi, have you been checking out TVs?$" diff --git a/data/scripts/maps/MauvilleCity_BikeShop.inc b/data/scripts/maps/MauvilleCity_BikeShop.inc new file mode 100644 index 0000000000..d4915a4780 --- /dev/null +++ b/data/scripts/maps/MauvilleCity_BikeShop.inc @@ -0,0 +1,329 @@ +MauvilleCity_BikeShop_MapScripts:: @ 820EBBB + .byte 0 + +MauvilleCity_BikeShop_EventScript_20EBBC:: @ 820EBBC + lock + faceplayer + checkflag FLAG_0x05A + goto_eq MauvilleCity_BikeShop_EventScript_20EC94 + checkflag FLAG_0x059 + goto_eq MauvilleCity_BikeShop_EventScript_20EBF7 + msgbox MauvilleCity_BikeShop_Text_20EE22, 4 + msgbox MauvilleCity_BikeShop_Text_20EE99, 5 + compare VAR_RESULT, 1 + goto_eq MauvilleCity_BikeShop_EventScript_20EC4A + compare VAR_RESULT, 0 + goto_eq MauvilleCity_BikeShop_EventScript_20EC3D + end + +MauvilleCity_BikeShop_EventScript_20EBF7:: @ 820EBF7 + msgbox MauvilleCity_BikeShop_Text_20EE99, 5 + compare VAR_RESULT, 1 + goto_eq MauvilleCity_BikeShop_EventScript_20EC4A + compare VAR_RESULT, 0 + goto_eq MauvilleCity_BikeShop_EventScript_20EC3D + end + +MauvilleCity_BikeShop_EventScript_20EC16:: @ 820EC16 + message MauvilleCity_BikeShop_Text_20EF32 + waitmessage + multichoice 21, 8, 12, 1 + switch VAR_RESULT + case 0, MauvilleCity_BikeShop_EventScript_20EC53 + case 1, MauvilleCity_BikeShop_EventScript_20EC6D + end + +MauvilleCity_BikeShop_EventScript_20EC3D:: @ 820EC3D + setflag FLAG_0x059 + msgbox MauvilleCity_BikeShop_Text_20EEE8, 4 + release + end + +MauvilleCity_BikeShop_EventScript_20EC4A:: @ 820EC4A + setflag FLAG_0x05A + goto MauvilleCity_BikeShop_EventScript_20EC16 + end + +MauvilleCity_BikeShop_EventScript_20EC53:: @ 820EC53 + msgbox MauvilleCity_BikeShop_Text_20F18D, 4 + giveitem_std ITEM_MACH_BIKE + goto MauvilleCity_BikeShop_EventScript_20EC87 + end + +MauvilleCity_BikeShop_EventScript_20EC6D:: @ 820EC6D + msgbox MauvilleCity_BikeShop_Text_20F1A5, 4 + giveitem_std ITEM_ACRO_BIKE + goto MauvilleCity_BikeShop_EventScript_20EC87 + end + +MauvilleCity_BikeShop_EventScript_20EC87:: @ 820EC87 + msgbox MauvilleCity_BikeShop_Text_20F1BD, 4 + special sub_80D6EDC + release + end + +MauvilleCity_BikeShop_EventScript_20EC94:: @ 820EC94 + msgbox MauvilleCity_BikeShop_Text_20F1FB, 5 + compare VAR_RESULT, 1 + goto_eq MauvilleCity_BikeShop_EventScript_20ECB3 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_BikeShop_EventScript_20ECE5 + end + +MauvilleCity_BikeShop_EventScript_20ECB3:: @ 820ECB3 + msgbox MauvilleCity_BikeShop_Text_20F22F, 4 + checkitem ITEM_ACRO_BIKE, 1 + compare VAR_RESULT, 1 + goto_eq MauvilleCity_BikeShop_EventScript_20ECEF + checkitem ITEM_MACH_BIKE, 1 + compare VAR_RESULT, 1 + goto_eq MauvilleCity_BikeShop_EventScript_20ED10 + msgbox MauvilleCity_BikeShop_Text_20F2F3, 4 + release + end + +MauvilleCity_BikeShop_EventScript_20ECE5:: @ 820ECE5 + msgbox MauvilleCity_BikeShop_Text_20F2C4, 4 + release + end + +MauvilleCity_BikeShop_EventScript_20ECEF:: @ 820ECEF + incrementgamestat 4 + msgbox MauvilleCity_BikeShop_Text_20F294, 4 + takeitem ITEM_ACRO_BIKE, 1 + giveitem_std ITEM_MACH_BIKE + goto MauvilleCity_BikeShop_EventScript_20EC87 + end + +MauvilleCity_BikeShop_EventScript_20ED10:: @ 820ED10 + incrementgamestat 4 + msgbox MauvilleCity_BikeShop_Text_20F263, 4 + takeitem ITEM_MACH_BIKE, 1 + giveitem_std ITEM_ACRO_BIKE + goto MauvilleCity_BikeShop_EventScript_20EC87 + end + +MauvilleCity_BikeShop_EventScript_20ED31:: @ 820ED31 + msgbox MauvilleCity_BikeShop_Text_20F3C3, 2 + end + +MauvilleCity_BikeShop_EventScript_20ED3A:: @ 820ED3A + message MauvilleCity_BikeShop_Text_20F445 + waitmessage + goto MauvilleCity_BikeShop_EventScript_20ED46 + end + +MauvilleCity_BikeShop_EventScript_20ED46:: @ 820ED46 + multichoice 0, 0, 43, 0 + switch VAR_RESULT + case 0, MauvilleCity_BikeShop_EventScript_20ED88 + case 1, MauvilleCity_BikeShop_EventScript_20ED94 + case 2, MauvilleCity_BikeShop_EventScript_20EDA0 + case 3, MauvilleCity_BikeShop_EventScript_20EDAC + case 127, MauvilleCity_BikeShop_EventScript_20EDAC + end + +MauvilleCity_BikeShop_EventScript_20ED88:: @ 820ED88 + message MauvilleCity_BikeShop_Text_20F487 + waitmessage + goto MauvilleCity_BikeShop_EventScript_20ED46 + end + +MauvilleCity_BikeShop_EventScript_20ED94:: @ 820ED94 + message MauvilleCity_BikeShop_Text_20F550 + waitmessage + goto MauvilleCity_BikeShop_EventScript_20ED46 + end + +MauvilleCity_BikeShop_EventScript_20EDA0:: @ 820EDA0 + message MauvilleCity_BikeShop_Text_20F61A + waitmessage + goto MauvilleCity_BikeShop_EventScript_20ED46 + end + +MauvilleCity_BikeShop_EventScript_20EDAC:: @ 820EDAC + release + end + +MauvilleCity_BikeShop_EventScript_20EDAE:: @ 820EDAE + message MauvilleCity_BikeShop_Text_20F6ED + waitmessage + goto MauvilleCity_BikeShop_EventScript_20EDBA + end + +MauvilleCity_BikeShop_EventScript_20EDBA:: @ 820EDBA + multichoice 0, 0, 44, 0 + switch VAR_RESULT + case 0, MauvilleCity_BikeShop_EventScript_20EDFC + case 1, MauvilleCity_BikeShop_EventScript_20EE08 + case 2, MauvilleCity_BikeShop_EventScript_20EE14 + case 3, MauvilleCity_BikeShop_EventScript_20EE20 + case 127, MauvilleCity_BikeShop_EventScript_20EE20 + end + +MauvilleCity_BikeShop_EventScript_20EDFC:: @ 820EDFC + message MauvilleCity_BikeShop_Text_20F72F + waitmessage + goto MauvilleCity_BikeShop_EventScript_20EDBA + end + +MauvilleCity_BikeShop_EventScript_20EE08:: @ 820EE08 + message MauvilleCity_BikeShop_Text_20F7F5 + waitmessage + goto MauvilleCity_BikeShop_EventScript_20EDBA + end + +MauvilleCity_BikeShop_EventScript_20EE14:: @ 820EE14 + message MauvilleCity_BikeShop_Text_20F898 + waitmessage + goto MauvilleCity_BikeShop_EventScript_20EDBA + end + +MauvilleCity_BikeShop_EventScript_20EE20:: @ 820EE20 + release + end + +MauvilleCity_BikeShop_Text_20EE22: @ 820EE22 + .string "Well, well, what have we here?\n" + .string "A most energetic customer!\p" + .string "Me? You may call me RYDEL.\n" + .string "I’m the owner of this cycle shop.$" + +MauvilleCity_BikeShop_Text_20EE99: @ 820EE99 + .string "RYDEL: Your RUNNING SHOES…\n" + .string "They’re awfully filthy.\p" + .string "Did you come from far away?$" + +MauvilleCity_BikeShop_Text_20EEE8: @ 820EEE8 + .string "RYDEL: Is that right?\p" + .string "Then, I guess you have no need for\n" + .string "any of my BIKES.$" + +MauvilleCity_BikeShop_Text_20EF32: @ 820EF32 + .string "RYDEL: Hm, hm… … … … …\p" + .string "You’re saying that you came all this\n" + .string "way from LITTLEROOT?\p" + .string "My goodness!\n" + .string "That’s ridiculously far!\p" + .string "If you had one of my BIKES, you could\n" + .string "go anywhere easily while feeling the\l" + .string "gentle caress of the wind!\p" + .string "I’ll tell you what!\n" + .string "I’ll give you a BIKE!\p" + .string "Oh, wait a second!\p" + .string "I forgot to tell you that there are\n" + .string "two kinds of BIKES!\p" + .string "They are the MACH BIKE and\n" + .string "the ACRO BIKE!\p" + .string "The MACH BIKE is for cyclists who want\n" + .string "to feel the wind with their bodies!\p" + .string "And an ACRO BIKE is for those who\n" + .string "prefer technical rides!\p" + .string "I’m a real sweetheart, so you can\n" + .string "have whichever one you like!\p" + .string "Which one will you choose?$" + +MauvilleCity_BikeShop_Text_20F18D: @ 820F18D + .string "{PLAYER} chose the MACH BIKE.$" + +MauvilleCity_BikeShop_Text_20F1A5: @ 820F1A5 + .string "{PLAYER} chose the ACRO BIKE.$" + +MauvilleCity_BikeShop_Text_20F1BD: @ 820F1BD + .string "RYDEL: If you get the urge to switch\n" + .string "BIKES, just come see me!$" + +MauvilleCity_BikeShop_Text_20F1FB: @ 820F1FB + .string "RYDEL: Oh? Were you thinking about\n" + .string "switching BIKES?$" + +MauvilleCity_BikeShop_Text_20F22F: @ 820F22F + .string "RYDEL: Okay, no problem!\n" + .string "I’ll switch BIKES for you!$" + +MauvilleCity_BikeShop_Text_20F263: @ 820F263 + .string "{PLAYER} got the MACH BIKE exchanged\n" + .string "for an ACRO BIKE.$" + +MauvilleCity_BikeShop_Text_20F294: @ 820F294 + .string "{PLAYER} got the ACRO BIKE exchanged\n" + .string "for a MACH BIKE.$" + +MauvilleCity_BikeShop_Text_20F2C4: @ 820F2C4 + .string "RYDEL: Good, good!\n" + .string "I’m happy that you like it!$" + +MauvilleCity_BikeShop_Text_20F2F3: @ 820F2F3 + .string "Oh? What happened to that BIKE\n" + .string "I gave you?\p" + .string "Oh, I get it, you stored it using your PC.\p" + .string "Well, take it out of PC storage,\n" + .string "and I’ll be happy to exchange it!\p" + .string "May the wind always be at your back\n" + .string "on your adventure!$" + +MauvilleCity_BikeShop_Text_20F3C3: @ 820F3C3 + .string "I’m learning about BIKES while\n" + .string "I work here.\p" + .string "If you need advice on how to ride your\n" + .string "BIKE, there’re a couple handbooks in\l" + .string "the back.$" + +MauvilleCity_BikeShop_Text_20F445: @ 820F445 + .string "It’s a handbook on the MACH BIKE.\p" + .string "Which page do you want to read?$" + +MauvilleCity_BikeShop_Text_20F487: @ 820F487 + .string "A BIKE moves in the direction that\n" + .string "the + Control Pad is pressed.\p" + .string "It will speed up once it gets rolling.\p" + .string "To stop, release the + Control Pad.\n" + .string "The BIKE will slow to a stop.\p" + .string "Want to read a different page?$" + +MauvilleCity_BikeShop_Text_20F550: @ 820F550 + .string "A MACH BIKE is speedy, but it can’t\n" + .string "stop very quickly.\p" + .string "It gets a little tricky to get around\n" + .string "a corner.\p" + .string "Release the + Control Pad a little\n" + .string "before the corner and slow down.\p" + .string "Want to read a different page?$" + +MauvilleCity_BikeShop_Text_20F61A: @ 820F61A + .string "There are small sandy slopes\n" + .string "throughout the HOENN region.\p" + .string "The loose, crumbly sand makes it\n" + .string "impossible to climb normally.\p" + .string "But if you have a MACH BIKE, you can\n" + .string "zip up a sandy slope.\p" + .string "Want to read a different page?$" + +MauvilleCity_BikeShop_Text_20F6ED: @ 820F6ED + .string "It’s a handbook on the ACRO BIKE.\p" + .string "Which page do you want to read?$" + +MauvilleCity_BikeShop_Text_20F72F: @ 820F72F + .string "Press the B Button while riding,\n" + .string "and the front wheel lifts up.\p" + .string "You can zip around with the front\n" + .string "wheel up using the + Control Pad.\p" + .string "This technique is called a wheelie.\p" + .string "Want to read a different page?$" + +MauvilleCity_BikeShop_Text_20F7F5: @ 820F7F5 + .string "Keeping the B Button pressed,\n" + .string "your BIKE can hop on the spot.\p" + .string "This technique is called a bunny hop.\p" + .string "You can ride while hopping, too.\p" + .string "Want to read a different page?$" + +MauvilleCity_BikeShop_Text_20F898: @ 820F898 + .string "Press the B Button and the + Control\n" + .string "Pad at the same time to jump.\p" + .string "Press the + Control Pad to the side\n" + .string "to jump sideways.\p" + .string "Press it backwards to make the BIKE\n" + .string "change directions while jumping.\p" + .string "Want to read a different page?$" + diff --git a/data/scripts/maps/MauvilleCity_GameCorner.inc b/data/scripts/maps/MauvilleCity_GameCorner.inc new file mode 100644 index 0000000000..6d3e0c3175 --- /dev/null +++ b/data/scripts/maps/MauvilleCity_GameCorner.inc @@ -0,0 +1,821 @@ +MauvilleCity_GameCorner_MapScripts:: @ 820FBB8 + .byte 0 + +MauvilleCity_GameCorner_EventScript_20FBB9:: @ 820FBB9 + lock + faceplayer + msgbox MauvilleCity_GameCorner_Text_210460, 4 + checkitem ITEM_COIN_CASE, 1 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_20FCB7 + message MauvilleCity_GameCorner_Text_2104DF + waitmessage + showmoneybox 0, 0, 0 + showcoinsbox 1, 6 + goto MauvilleCity_GameCorner_EventScript_20FBE5 + +MauvilleCity_GameCorner_EventScript_20FBE5:: @ 820FBE5 + multichoicedefault 15, 0, 49, 0, 0 + switch VAR_RESULT + case 0, MauvilleCity_GameCorner_EventScript_20FC33 + case 1, MauvilleCity_GameCorner_EventScript_20FC75 + goto MauvilleCity_GameCorner_EventScript_20FCD1 + end + +MauvilleCity_GameCorner_EventScript_20FC0C:: @ 820FC0C + multichoicedefault 15, 0, 49, 1, 0 + switch VAR_RESULT + case 0, MauvilleCity_GameCorner_EventScript_20FC33 + case 1, MauvilleCity_GameCorner_EventScript_20FC75 + goto MauvilleCity_GameCorner_EventScript_20FCD1 + end + +MauvilleCity_GameCorner_EventScript_20FC33:: @ 820FC33 + checkcoins VAR_0x4001 + compare VAR_0x4001, 9950 + goto_if 4, MauvilleCity_GameCorner_EventScript_20FCE1 + checkmoney 0x3e8, 0 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_20FCC1 + givecoins 50 + takemoney 0x3e8, 0 + updatemoneybox 0, 0 + nop + updatecoinsbox 1, 6 + playse SE_REGI + msgbox MauvilleCity_GameCorner_Text_210529, 4 + hidemoneybox + nop + nop + hidecoinsbox 0, 5 + release + end + +MauvilleCity_GameCorner_EventScript_20FC75:: @ 820FC75 + checkcoins VAR_0x4001 + compare VAR_0x4001, 9500 + goto_if 4, MauvilleCity_GameCorner_EventScript_20FCE1 + checkmoney 0x2710, 0 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_20FCC1 + givecoins 500 + takemoney 0x2710, 0 + updatemoneybox 0, 0 + nop + updatecoinsbox 1, 6 + playse SE_REGI + msgbox MauvilleCity_GameCorner_Text_210529, 4 + hidemoneybox + nop + nop + hidecoinsbox 0, 5 + release + end + +MauvilleCity_GameCorner_EventScript_20FCB7:: @ 820FCB7 + msgbox MauvilleCity_GameCorner_Text_21047E, 4 + release + end + +MauvilleCity_GameCorner_EventScript_20FCC1:: @ 820FCC1 + msgbox MauvilleCity_GameCorner_Text_210553, 4 + hidemoneybox + nop + nop + hidecoinsbox 0, 5 + release + end + +MauvilleCity_GameCorner_EventScript_20FCD1:: @ 820FCD1 + msgbox MauvilleCity_GameCorner_Text_21059A, 4 + hidemoneybox + nop + nop + hidecoinsbox 0, 5 + release + end + +MauvilleCity_GameCorner_EventScript_20FCE1:: @ 820FCE1 + msgbox MauvilleCity_GameCorner_Text_21057E, 4 + hidemoneybox + nop + nop + hidecoinsbox 0, 5 + release + end + +MauvilleCity_GameCorner_EventScript_20FCF1:: @ 820FCF1 + lock + faceplayer + msgbox MauvilleCity_GameCorner_Text_2105D7, 4 + checkitem ITEM_COIN_CASE, 1 + compare VAR_RESULT, 1 + goto_eq MauvilleCity_GameCorner_EventScript_20FD0D + release + end + +MauvilleCity_GameCorner_EventScript_20FD0D:: @ 820FD0D + message MauvilleCity_GameCorner_Text_21060D + waitmessage + setvar VAR_0x4001, 0 + showcoinsbox 1, 1 + goto MauvilleCity_GameCorner_EventScript_20FD2B + +MauvilleCity_GameCorner_EventScript_20FD20:: @ 820FD20 + message MauvilleCity_GameCorner_Text_21060D + waitmessage + goto MauvilleCity_GameCorner_EventScript_20FD2B + +MauvilleCity_GameCorner_EventScript_20FD2B:: @ 820FD2B + multichoice 12, 0, 48, 0 + switch VAR_RESULT + case 0, MauvilleCity_GameCorner_EventScript_20FD67 + case 1, MauvilleCity_GameCorner_EventScript_20FD75 + case 2, MauvilleCity_GameCorner_EventScript_20FD83 + case 3, MauvilleCity_GameCorner_EventScript_20FE92 + goto MauvilleCity_GameCorner_EventScript_20FE92 + end + +MauvilleCity_GameCorner_EventScript_20FD67:: @ 820FD67 + setvar VAR_0x4001, 1 + bufferdecorationname 0, 88 + goto MauvilleCity_GameCorner_EventScript_20FD91 + +MauvilleCity_GameCorner_EventScript_20FD75:: @ 820FD75 + setvar VAR_0x4001, 2 + bufferdecorationname 0, 89 + goto MauvilleCity_GameCorner_EventScript_20FD91 + +MauvilleCity_GameCorner_EventScript_20FD83:: @ 820FD83 + setvar VAR_0x4001, 3 + bufferdecorationname 0, 90 + goto MauvilleCity_GameCorner_EventScript_20FD91 + +MauvilleCity_GameCorner_EventScript_20FD91:: @ 820FD91 + msgbox MauvilleCity_GameCorner_Text_210705, 5 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_20FE92 + switch VAR_0x4001 + case 1, MauvilleCity_GameCorner_EventScript_20FDCB + case 2, MauvilleCity_GameCorner_EventScript_20FE05 + case 3, MauvilleCity_GameCorner_EventScript_20FE3F + end + +MauvilleCity_GameCorner_EventScript_20FDCB:: @ 820FDCB + checkcoins VAR_0x4002 + compare VAR_0x4002, 1000 + goto_if 0, MauvilleCity_GameCorner_EventScript_20FE79 + bufferdecorationname 1, 88 + checkdecorspace 88 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_20FE87 + takecoins 1000 + givedecoration 88 + updatecoinsbox 1, 1 + playse SE_REGI + msgbox MauvilleCity_GameCorner_Text_210646, 4 + goto MauvilleCity_GameCorner_EventScript_20FD20 + end + +MauvilleCity_GameCorner_EventScript_20FE05:: @ 820FE05 + checkcoins VAR_0x4002 + compare VAR_0x4002, 1000 + goto_if 0, MauvilleCity_GameCorner_EventScript_20FE79 + bufferdecorationname 1, 89 + checkdecorspace 89 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_20FE87 + takecoins 1000 + givedecoration 89 + updatecoinsbox 1, 1 + playse SE_REGI + msgbox MauvilleCity_GameCorner_Text_210646, 4 + goto MauvilleCity_GameCorner_EventScript_20FD20 + end + +MauvilleCity_GameCorner_EventScript_20FE3F:: @ 820FE3F + checkcoins VAR_0x4002 + compare VAR_0x4002, 1000 + goto_if 0, MauvilleCity_GameCorner_EventScript_20FE79 + bufferdecorationname 1, 90 + checkdecorspace 90 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_20FE87 + takecoins 1000 + givedecoration 90 + updatecoinsbox 1, 1 + playse SE_REGI + msgbox MauvilleCity_GameCorner_Text_210646, 4 + goto MauvilleCity_GameCorner_EventScript_20FD20 + end + +MauvilleCity_GameCorner_EventScript_20FE79:: @ 820FE79 + msgbox MauvilleCity_GameCorner_Text_210673, 4 + goto MauvilleCity_GameCorner_EventScript_20FD20 + end + +MauvilleCity_GameCorner_EventScript_20FE87:: @ 820FE87 + call MauvilleCity_GameCorner_EventScript_272071 + goto MauvilleCity_GameCorner_EventScript_20FD20 + end + +MauvilleCity_GameCorner_EventScript_20FE92:: @ 820FE92 + msgbox MauvilleCity_GameCorner_Text_2106BF, 4 + hidecoinsbox 0, 0 + release + end + +MauvilleCity_GameCorner_EventScript_20FE9F:: @ 820FE9F + lock + faceplayer + msgbox MauvilleCity_GameCorner_Text_2105D7, 4 + checkitem ITEM_COIN_CASE, 1 + compare VAR_RESULT, 1 + goto_eq MauvilleCity_GameCorner_EventScript_20FEBB + release + end + +MauvilleCity_GameCorner_EventScript_20FEBB:: @ 820FEBB + message MauvilleCity_GameCorner_Text_21060D + waitmessage + setvar VAR_0x4001, 0 + showcoinsbox 1, 1 + goto MauvilleCity_GameCorner_EventScript_20FED9 + +MauvilleCity_GameCorner_EventScript_20FECE:: @ 820FECE + message MauvilleCity_GameCorner_Text_21060D + waitmessage + goto MauvilleCity_GameCorner_EventScript_20FED9 + +MauvilleCity_GameCorner_EventScript_20FED9:: @ 820FED9 + multichoice 12, 0, 55, 0 + switch VAR_RESULT + case 0, MauvilleCity_GameCorner_EventScript_20FF2B + case 1, MauvilleCity_GameCorner_EventScript_20FF3E + case 2, MauvilleCity_GameCorner_EventScript_20FF51 + case 3, MauvilleCity_GameCorner_EventScript_20FF64 + case 4, MauvilleCity_GameCorner_EventScript_20FF77 + case 5, MauvilleCity_GameCorner_EventScript_210118 + goto MauvilleCity_GameCorner_EventScript_210118 + end + +MauvilleCity_GameCorner_EventScript_20FF2B:: @ 820FF2B + setvar VAR_0x4001, 1 + bufferitemname 0, ITEM_TM32 + setvar VAR_0x8004, 320 + goto MauvilleCity_GameCorner_EventScript_20FF8A + +MauvilleCity_GameCorner_EventScript_20FF3E:: @ 820FF3E + setvar VAR_0x4001, 2 + bufferitemname 0, ITEM_TM29 + setvar VAR_0x8004, 317 + goto MauvilleCity_GameCorner_EventScript_20FF8A + +MauvilleCity_GameCorner_EventScript_20FF51:: @ 820FF51 + setvar VAR_0x4001, 3 + bufferitemname 0, ITEM_TM35 + setvar VAR_0x8004, 323 + goto MauvilleCity_GameCorner_EventScript_20FF8A + +MauvilleCity_GameCorner_EventScript_20FF64:: @ 820FF64 + setvar VAR_0x4001, 4 + bufferitemname 0, ITEM_TM24 + setvar VAR_0x8004, 312 + goto MauvilleCity_GameCorner_EventScript_20FF8A + +MauvilleCity_GameCorner_EventScript_20FF77:: @ 820FF77 + setvar VAR_0x4001, 5 + bufferitemname 0, ITEM_TM13 + setvar VAR_0x8004, 301 + goto MauvilleCity_GameCorner_EventScript_20FF8A + +MauvilleCity_GameCorner_EventScript_20FF8A:: @ 820FF8A + special sub_81398C0 + msgbox MauvilleCity_GameCorner_Text_210629, 5 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_210118 + switch VAR_0x4001 + case 1, MauvilleCity_GameCorner_EventScript_20FFDD + case 2, MauvilleCity_GameCorner_EventScript_210017 + case 3, MauvilleCity_GameCorner_EventScript_210051 + case 4, MauvilleCity_GameCorner_EventScript_21008B + case 5, MauvilleCity_GameCorner_EventScript_2100C5 + end + +MauvilleCity_GameCorner_EventScript_20FFDD:: @ 820FFDD + checkcoins VAR_0x4002 + compare VAR_0x4002, 1500 + goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF + checkitemspace ITEM_TM32, 1 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_21010D + takecoins 1500 + giveitem ITEM_TM32, 1 + updatecoinsbox 1, 1 + playse SE_REGI + msgbox MauvilleCity_GameCorner_Text_21071B, 4 + goto MauvilleCity_GameCorner_EventScript_20FECE + end + +MauvilleCity_GameCorner_EventScript_210017:: @ 8210017 + checkcoins VAR_0x4002 + compare VAR_0x4002, 3500 + goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF + checkitemspace ITEM_TM29, 1 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_21010D + takecoins 3500 + giveitem ITEM_TM29, 1 + updatecoinsbox 1, 1 + playse SE_REGI + msgbox MauvilleCity_GameCorner_Text_21071B, 4 + goto MauvilleCity_GameCorner_EventScript_20FECE + end + +MauvilleCity_GameCorner_EventScript_210051:: @ 8210051 + checkcoins VAR_0x4002 + compare VAR_0x4002, 4000 + goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF + checkitemspace ITEM_TM35, 1 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_21010D + takecoins 4000 + giveitem ITEM_TM35, 1 + updatecoinsbox 1, 1 + playse SE_REGI + msgbox MauvilleCity_GameCorner_Text_21071B, 4 + goto MauvilleCity_GameCorner_EventScript_20FECE + end + +MauvilleCity_GameCorner_EventScript_21008B:: @ 821008B + checkcoins VAR_0x4002 + compare VAR_0x4002, 4000 + goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF + checkitemspace ITEM_TM24, 1 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_21010D + takecoins 4000 + giveitem ITEM_TM24, 1 + updatecoinsbox 1, 1 + playse SE_REGI + msgbox MauvilleCity_GameCorner_Text_21071B, 4 + goto MauvilleCity_GameCorner_EventScript_20FECE + end + +MauvilleCity_GameCorner_EventScript_2100C5:: @ 82100C5 + checkcoins VAR_0x4002 + compare VAR_0x4002, 4000 + goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF + checkitemspace ITEM_TM13, 1 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_21010D + takecoins 4000 + giveitem ITEM_TM13, 1 + updatecoinsbox 1, 1 + playse SE_REGI + msgbox MauvilleCity_GameCorner_Text_21071B, 4 + goto MauvilleCity_GameCorner_EventScript_20FECE + end + +MauvilleCity_GameCorner_EventScript_2100FF:: @ 82100FF + msgbox MauvilleCity_GameCorner_Text_210673, 4 + goto MauvilleCity_GameCorner_EventScript_20FECE + end + +MauvilleCity_GameCorner_EventScript_21010D:: @ 821010D + call MauvilleCity_GameCorner_EventScript_27205E + goto MauvilleCity_GameCorner_EventScript_20FECE + end + +MauvilleCity_GameCorner_EventScript_210118:: @ 8210118 + msgbox MauvilleCity_GameCorner_Text_2106BF, 4 + hidecoinsbox 0, 0 + release + end + +MauvilleCity_GameCorner_EventScript_210125:: @ 8210125 + msgbox MauvilleCity_GameCorner_Text_2109D3, 2 + end + +MauvilleCity_GameCorner_EventScript_21012E:: @ 821012E + msgbox MauvilleCity_GameCorner_Text_210A05, 2 + end + +MauvilleCity_GameCorner_EventScript_210137:: @ 8210137 + lock + faceplayer + checkflag FLAG_0x0E2 + goto_eq MauvilleCity_GameCorner_EventScript_210213 + msgbox MauvilleCity_GameCorner_Text_210750, 5 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_210209 + switch VAR_FIRST_POKE + case 0, MauvilleCity_GameCorner_EventScript_21017C + case 1, MauvilleCity_GameCorner_EventScript_2101A6 + case 2, MauvilleCity_GameCorner_EventScript_2101D0 + end + +MauvilleCity_GameCorner_EventScript_21017C:: @ 821017C + bufferdecorationname 1, 88 + checkdecorspace 88 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_2101FA + msgbox MauvilleCity_GameCorner_Text_21079C, 4 + givedecoration_std 88 + setflag FLAG_0x0E2 + goto MauvilleCity_GameCorner_EventScript_210213 + end + +MauvilleCity_GameCorner_EventScript_2101A6:: @ 82101A6 + bufferdecorationname 1, 89 + checkdecorspace 89 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_2101FA + msgbox MauvilleCity_GameCorner_Text_21079C, 4 + givedecoration_std 89 + setflag FLAG_0x0E2 + goto MauvilleCity_GameCorner_EventScript_210213 + end + +MauvilleCity_GameCorner_EventScript_2101D0:: @ 82101D0 + bufferdecorationname 1, 90 + checkdecorspace 90 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_2101FA + msgbox MauvilleCity_GameCorner_Text_21079C, 4 + givedecoration_std 90 + setflag FLAG_0x0E2 + goto MauvilleCity_GameCorner_EventScript_210213 + end + +MauvilleCity_GameCorner_EventScript_2101FA:: @ 82101FA + call MauvilleCity_GameCorner_EventScript_272071 + msgbox MauvilleCity_GameCorner_Text_2107A9, 4 + release + end + +MauvilleCity_GameCorner_EventScript_210209:: @ 8210209 + msgbox MauvilleCity_GameCorner_Text_2107CE, 4 + release + end + +MauvilleCity_GameCorner_EventScript_210213:: @ 8210213 + msgbox MauvilleCity_GameCorner_Text_2107FB, 4 + release + end + +MauvilleCity_GameCorner_EventScript_21021D:: @ 821021D + lock + faceplayer + checkitem ITEM_COIN_CASE, 1 + compare VAR_RESULT, 1 + goto_eq MauvilleCity_GameCorner_EventScript_21023D + msgbox MauvilleCity_GameCorner_Text_210830, 4 + goto MauvilleCity_GameCorner_EventScript_2102A9 + end + +MauvilleCity_GameCorner_EventScript_21023D:: @ 821023D + checkflag FLAG_0x0E1 + goto_eq MauvilleCity_GameCorner_EventScript_21026B + checkcoins VAR_0x4001 + compare VAR_0x4001, 1 + goto_if 4, MauvilleCity_GameCorner_EventScript_21026B + setflag FLAG_0x0E1 + givecoins 20 + msgbox MauvilleCity_GameCorner_Text_2108A0, 4 + playse SE_REGI + goto MauvilleCity_GameCorner_EventScript_21026B + end + +MauvilleCity_GameCorner_EventScript_21026B:: @ 821026B + msgbox MauvilleCity_GameCorner_Text_2108EF, 4 + goto MauvilleCity_GameCorner_EventScript_2102A9 + end + +MauvilleCity_GameCorner_EventScript_210279:: @ 8210279 + lock + faceplayer + msgbox MauvilleCity_GameCorner_Text_210932, 4 + goto MauvilleCity_GameCorner_EventScript_2102A9 + end + +MauvilleCity_GameCorner_EventScript_210289:: @ 8210289 + lock + faceplayer + msgbox MauvilleCity_GameCorner_Text_21098E, 4 + goto MauvilleCity_GameCorner_EventScript_2102A9 + end + +MauvilleCity_GameCorner_EventScript_210299:: @ 8210299 + lock + faceplayer + msgbox MauvilleCity_GameCorner_Text_210A51, 4 + goto MauvilleCity_GameCorner_EventScript_2102A9 + end + +MauvilleCity_GameCorner_EventScript_2102A9:: @ 82102A9 + closemessage + applymovement VAR_LAST_TALKED, MauvilleCity_GameCorner_Movement_2725A2 + waitmovement 0 + release + end + +MauvilleCity_GameCorner_EventScript_2102B6:: @ 82102B6 + lock + faceplayer + msgbox MauvilleCity_GameCorner_Text_210A82, 4 + goto MauvilleCity_GameCorner_EventScript_2102A9 + end + +MauvilleCity_GameCorner_EventScript_2102C6:: @ 82102C6 + lock + faceplayer + msgbox MauvilleCity_GameCorner_Text_210B04, 4 + goto MauvilleCity_GameCorner_EventScript_2102A9 + end + +MauvilleCity_GameCorner_EventScript_2102D6:: @ 82102D6 + lockall + checkitem ITEM_COIN_CASE, 1 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_210456 + setvar VAR_0x8004, 0 + specialvar VAR_RESULT, sub_8139248 + playslotmachine VAR_RESULT + releaseall + end + +MauvilleCity_GameCorner_EventScript_2102F6:: @ 82102F6 + lockall + checkitem ITEM_COIN_CASE, 1 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_210456 + setvar VAR_0x8004, 1 + specialvar VAR_RESULT, sub_8139248 + playslotmachine VAR_RESULT + releaseall + end + +MauvilleCity_GameCorner_EventScript_210316:: @ 8210316 + lockall + checkitem ITEM_COIN_CASE, 1 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_210456 + setvar VAR_0x8004, 2 + specialvar VAR_RESULT, sub_8139248 + playslotmachine VAR_RESULT + releaseall + end + +MauvilleCity_GameCorner_EventScript_210336:: @ 8210336 + lockall + checkitem ITEM_COIN_CASE, 1 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_210456 + setvar VAR_0x8004, 3 + specialvar VAR_RESULT, sub_8139248 + playslotmachine VAR_RESULT + releaseall + end + +MauvilleCity_GameCorner_EventScript_210356:: @ 8210356 + lockall + checkitem ITEM_COIN_CASE, 1 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_210456 + setvar VAR_0x8004, 4 + specialvar VAR_RESULT, sub_8139248 + playslotmachine VAR_RESULT + releaseall + end + +MauvilleCity_GameCorner_EventScript_210376:: @ 8210376 + lockall + checkitem ITEM_COIN_CASE, 1 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_210456 + setvar VAR_0x8004, 5 + specialvar VAR_RESULT, sub_8139248 + playslotmachine VAR_RESULT + releaseall + end + +MauvilleCity_GameCorner_EventScript_210396:: @ 8210396 + lockall + checkitem ITEM_COIN_CASE, 1 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_210456 + setvar VAR_0x8004, 6 + specialvar VAR_RESULT, sub_8139248 + playslotmachine VAR_RESULT + releaseall + end + +MauvilleCity_GameCorner_EventScript_2103B6:: @ 82103B6 + lockall + checkitem ITEM_COIN_CASE, 1 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_210456 + setvar VAR_0x8004, 7 + specialvar VAR_RESULT, sub_8139248 + playslotmachine VAR_RESULT + releaseall + end + +MauvilleCity_GameCorner_EventScript_2103D6:: @ 82103D6 + lockall + checkitem ITEM_COIN_CASE, 1 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_210456 + setvar VAR_0x8004, 8 + specialvar VAR_RESULT, sub_8139248 + playslotmachine VAR_RESULT + releaseall + end + +MauvilleCity_GameCorner_EventScript_2103F6:: @ 82103F6 + lockall + checkitem ITEM_COIN_CASE, 1 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_210456 + setvar VAR_0x8004, 9 + specialvar VAR_RESULT, sub_8139248 + playslotmachine VAR_RESULT + releaseall + end + +MauvilleCity_GameCorner_EventScript_210416:: @ 8210416 + lockall + checkitem ITEM_COIN_CASE, 1 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_210456 + setvar VAR_0x8004, 10 + specialvar VAR_RESULT, sub_8139248 + playslotmachine VAR_RESULT + releaseall + end + +MauvilleCity_GameCorner_EventScript_210436:: @ 8210436 + lockall + checkitem ITEM_COIN_CASE, 1 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_GameCorner_EventScript_210456 + setvar VAR_0x8004, 11 + specialvar VAR_RESULT, sub_8139248 + playslotmachine VAR_RESULT + releaseall + end + +MauvilleCity_GameCorner_EventScript_210456:: @ 8210456 + msgbox MauvilleCity_GameCorner_Text_210C2E, 4 + releaseall + end + +MauvilleCity_GameCorner_Text_210460: @ 8210460 + .string "This is MAUVILLE GAME CORNER.$" + +MauvilleCity_GameCorner_Text_21047E: @ 821047E + .string "Okay, you wanted some COINS for\n" + .string "the games?\p" + .string "But you don’t have a COIN CASE for\n" + .string "stowing the COINS.$" + +MauvilleCity_GameCorner_Text_2104DF: @ 82104DF + .string "Were you looking for COINS?\p" + .string "It’s ¥1000 for 50 COINS.\n" + .string "Would you like some?$" + +MauvilleCity_GameCorner_Text_210529: @ 8210529 + .string "Thank you very much!\n" + .string "Here are your COINS!$" + +MauvilleCity_GameCorner_Text_210553: @ 8210553 + .string "Um… You don’t appear to have\n" + .string "enough money…$" + +MauvilleCity_GameCorner_Text_21057E: @ 821057E + .string "Oh?\n" + .string "Your COIN CASE is full.$" + +MauvilleCity_GameCorner_Text_21059A: @ 821059A + .string "Oh… You don’t need COINS, then?\n" + .string "Good luck on your adventure!$" + +MauvilleCity_GameCorner_Text_2105D7: @ 82105D7 + .string "Welcome.\p" + .string "You can exchange your COINS for\n" + .string "prizes here.$" + +MauvilleCity_GameCorner_Text_21060D: @ 821060D + .string "Which prize would you like?$" + +MauvilleCity_GameCorner_Text_210629: @ 8210629 + .string "So your choice is\n" + .string "the {STR_VAR_1} {STR_VAR_2}?$" + +MauvilleCity_GameCorner_Text_210646: @ 8210646 + .string "Thank you!\n" + .string "We’ll send it to your PC at home.$" + +MauvilleCity_GameCorner_Text_210673: @ 8210673 + .string "You don’t have enough COINS.$" + +MauvilleCity_GameCorner_Text_210690: @ 8210690 + .string "There isn’t any room available for\n" + .string "placing {STR_VAR_1}.$" + +MauvilleCity_GameCorner_Text_2106BF: @ 82106BF + .string "Oh, is that so? \n" + .string "You need to save some COINS before\l" + .string "coming back here.$" + +MauvilleCity_GameCorner_Text_210705: @ 8210705 + .string "So your choice is {STR_VAR_1}?$" + +MauvilleCity_GameCorner_Text_21071B: @ 821071B + .string "Here you go!$" + +MauvilleCity_GameCorner_Text_210728: @ 8210728 + .string "Oh, you can’t carry any more than that.$" + +MauvilleCity_GameCorner_Text_210750: @ 8210750 + .string "I made a mistake and got two of\n" + .string "the same DOLLS.\p" + .string "Would you like one of them?$" + +MauvilleCity_GameCorner_Text_21079C: @ 821079C + .string "Here you go!$" + +MauvilleCity_GameCorner_Text_2107A9: @ 82107A9 + .string "Huh?\n" + .string "You want it, but not right now?$" + +MauvilleCity_GameCorner_Text_2107CE: @ 82107CE + .string "Oh, don’t be so negative!\n" + .string "You can have this!$" + +MauvilleCity_GameCorner_Text_2107FB: @ 82107FB + .string "There’s a prize I want, but I can’t win\n" + .string "the jackpot.$" + +MauvilleCity_GameCorner_Text_210830: @ 8210830 + .string "Hey, kid, if you want to play here,\n" + .string "you need a COIN CASE.\p" + .string "I think the young lady next door\n" + .string "had one. Go see her!$" + +MauvilleCity_GameCorner_Text_2108A0: @ 82108A0 + .string "My luck can only last so long.\n" + .string "This is too much for me.\l" + .string "Here, take some COINS!$" + +MauvilleCity_GameCorner_Text_2108EF: @ 82108EF + .string "MAUVILLE has something for\n" + .string "everyone.\p" + .string "For me, it’s the GAME CORNER.$" + +MauvilleCity_GameCorner_Text_210932: @ 8210932 + .string "The ROULETTE tables have different\n" + .string "rates.\p" + .string "Check your COINS if you’re going to\n" + .string "pick a table.$" + +MauvilleCity_GameCorner_Text_21098E: @ 821098E + .string "It’s easy to lose track of time in here. \n" + .string "I should get back to work.$" + +MauvilleCity_GameCorner_Text_2109D3: @ 82109D3 + .string "COINS are needed to play here\n" + .string "in the GAME CORNER.$" + +MauvilleCity_GameCorner_Text_210A05: @ 8210A05 + .string "This ROULETTE thing…\n" + .string "It’s rather demanding.\p" + .string "Win or lose, it’s only by luck.$" + +MauvilleCity_GameCorner_Text_210A51: @ 8210A51 + .string "Up to three COINS can be used to play\n" + .string "the SLOTS.$" + +MauvilleCity_GameCorner_Text_210A82: @ 8210A82 + .string "It’s very difficult to make it stop\n" + .string "right on “7.”\p" + .string "If it stops on “7” during the REEL TIME\n" + .string "bonus game, you’ll receive extra COINS.$" + +MauvilleCity_GameCorner_Text_210B04: @ 8210B04 + .string "Here’s some information for you\n" + .string "about the SLOTS.\p" + .string "The more lightning bolts you stock,\n" + .string "the more REEL TIME chances you get.\p" + .string "In a game with the maximum five\n" + .string "REEL TIME chances…\p" + .string "It is possible to receive four regular\n" + .string "bonuses, then a big bonus.\p" + .string "That would total 660 COINS, but it’s\n" + .string "very difficult to get.$" + +MauvilleCity_GameCorner_Text_210C2E: @ 8210C2E + .string "You can’t play if you don’t have\n" + .string "a COIN CASE.$" + diff --git a/data/scripts/maps/MauvilleCity_Gym.inc b/data/scripts/maps/MauvilleCity_Gym.inc new file mode 100644 index 0000000000..049833db02 --- /dev/null +++ b/data/scripts/maps/MauvilleCity_Gym.inc @@ -0,0 +1,442 @@ +MauvilleCity_Gym_MapScripts:: @ 820DD6E + map_script 1, MauvilleCity_Gym_MapScript1_20DD74 + .byte 0 + +MauvilleCity_Gym_MapScript1_20DD74: @ 820DD74 + checkflag FLAG_0x4F2 + goto_eq MauvilleCity_Gym_EventScript_20DEE7 + switch VAR_0x4093 + case 0, MauvilleCity_Gym_EventScript_20DDBA + case 1, MauvilleCity_Gym_EventScript_20DEAF + case 2, MauvilleCity_Gym_EventScript_20DEBD + case 3, MauvilleCity_Gym_EventScript_20DECB + case 4, MauvilleCity_Gym_EventScript_20DED9 + end + +MauvilleCity_Gym_EventScript_20DDBA:: @ 820DDBA + checkflag FLAG_0x063 + goto_eq MauvilleCity_Gym_EventScript_20DDC4 + end + +MauvilleCity_Gym_EventScript_20DDC4:: @ 820DDC4 + setmetatile 3, 11, 577, 1 + setmetatile 3, 12, 585, 1 + setmetatile 3, 13, 592, 1 + setmetatile 4, 10, 546, 0 + setmetatile 5, 10, 547, 0 + setmetatile 4, 11, 554, 1 + setmetatile 5, 11, 555, 1 + setmetatile 7, 10, 546, 0 + setmetatile 8, 10, 547, 0 + setmetatile 7, 11, 554, 1 + setmetatile 8, 11, 555, 1 + setmetatile 4, 13, 560, 0 + setmetatile 5, 13, 561, 0 + setmetatile 4, 14, 568, 0 + setmetatile 5, 14, 569, 0 + setmetatile 1, 10, 560, 0 + setmetatile 2, 10, 561, 0 + setmetatile 1, 11, 568, 0 + setmetatile 2, 11, 569, 0 + setmetatile 6, 8, 578, 1 + setmetatile 6, 9, 538, 0 + setmetatile 6, 10, 593, 0 + setmetatile 4, 6, 560, 0 + setmetatile 5, 6, 561, 0 + setmetatile 4, 7, 568, 0 + setmetatile 5, 7, 569, 0 + end + +MauvilleCity_Gym_EventScript_20DEAF:: @ 820DEAF + setvar VAR_0x8004, 0 + special MauvilleGymSpecial1 + goto MauvilleCity_Gym_EventScript_20DDBA + end + +MauvilleCity_Gym_EventScript_20DEBD:: @ 820DEBD + setvar VAR_0x8004, 1 + special MauvilleGymSpecial1 + goto MauvilleCity_Gym_EventScript_20DDBA + end + +MauvilleCity_Gym_EventScript_20DECB:: @ 820DECB + setvar VAR_0x8004, 2 + special MauvilleGymSpecial1 + goto MauvilleCity_Gym_EventScript_20DDBA + end + +MauvilleCity_Gym_EventScript_20DED9:: @ 820DED9 + setvar VAR_0x8004, 3 + special MauvilleGymSpecial1 + goto MauvilleCity_Gym_EventScript_20DDBA + end + +MauvilleCity_Gym_EventScript_20DEE7:: @ 820DEE7 + special MauvilleGymSpecial3 + end + +MauvilleCity_Gym_EventScript_20DEEB:: @ 820DEEB + trainerbattle 1, TRAINER_WATTSON_1, 0, MauvilleCity_Gym_Text_20E602, MauvilleCity_Gym_Text_20E734, MauvilleCity_Gym_EventScript_20DF2B + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq MauvilleCity_Gym_EventScript_20DFDE + checkflag FLAG_0x0A7 + goto_if 0, MauvilleCity_Gym_EventScript_20DF8D + compare VAR_0x40BA, 2 + goto_eq MauvilleCity_Gym_EventScript_20DFD4 + msgbox MauvilleCity_Gym_Text_20E8E3, 4 + release + end + +MauvilleCity_Gym_EventScript_20DF2B:: @ 820DF2B + message MauvilleCity_Gym_Text_20E77F + waitmessage + call MauvilleCity_Gym_EventScript_27207E + msgbox MauvilleCity_Gym_Text_20E7AA, 4 + setvar VAR_0x40D2, 3 + clearflag FLAG_0x2FE + setflag FLAG_0x4F2 + setflag FLAG_BADGE03_GET + addvar VAR_0x4085, 1 + compare VAR_0x4085, 6 + call_if 1, MauvilleCity_Gym_EventScript_271E84 + setvar VAR_0x8008, 3 + call MauvilleCity_Gym_EventScript_271F43 + special MauvilleGymSpecial3 + special DrawWholeMapView + playse SE_KI_GASYAN + call MauvilleCity_Gym_EventScript_20DFB1 + closemessage + delay 30 + playfanfare MUS_ME_TORE_EYE + msgbox MauvilleCity_Gym_Text_20E8B5, 4 + waitfanfare + closemessage + delay 30 + setflag FLAG_0x1D5 + release + end + +MauvilleCity_Gym_EventScript_20DF8D:: @ 820DF8D + giveitem_std ITEM_TM34 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_Gym_EventScript_272054 + msgbox MauvilleCity_Gym_Text_20E844, 4 + setflag FLAG_0x0A7 + release + end + +MauvilleCity_Gym_EventScript_20DFB1:: @ 820DFB1 + giveitem_std ITEM_TM34 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_Gym_EventScript_27205E + msgbox MauvilleCity_Gym_Text_20E844, 4 + setflag FLAG_0x0A7 + return + +MauvilleCity_Gym_EventScript_20DFD4:: @ 820DFD4 + msgbox MauvilleCity_Gym_Text_20E925, 4 + release + end + +MauvilleCity_Gym_EventScript_20DFDE:: @ 820DFDE + trainerbattle 7, TRAINER_WATTSON_1, 0, MauvilleCity_Gym_Text_20E9A7, MauvilleCity_Gym_Text_20EA42, MauvilleCity_Gym_Text_20EAFD + msgbox MauvilleCity_Gym_Text_20EA5E, 6 + end + +MauvilleCity_Gym_EventScript_20DFF9:: @ 820DFF9 + lockall + checkflag FLAG_0x4F2 + goto_eq MauvilleCity_Gym_EventScript_20E0AD + compare VAR_0x4093, 1 + goto_eq MauvilleCity_Gym_EventScript_20E0AD + setvar VAR_0x4093, 1 + setvar VAR_0x8004, 0 + goto MauvilleCity_Gym_EventScript_20E08D + end + +MauvilleCity_Gym_EventScript_20E01E:: @ 820E01E + lockall + checkflag FLAG_0x4F2 + goto_eq MauvilleCity_Gym_EventScript_20E0AD + compare VAR_0x4093, 2 + goto_eq MauvilleCity_Gym_EventScript_20E0AD + setvar VAR_0x4093, 2 + setvar VAR_0x8004, 1 + goto MauvilleCity_Gym_EventScript_20E08D + end + +MauvilleCity_Gym_EventScript_20E043:: @ 820E043 + lockall + checkflag FLAG_0x4F2 + goto_eq MauvilleCity_Gym_EventScript_20E0AD + compare VAR_0x4093, 3 + goto_eq MauvilleCity_Gym_EventScript_20E0AD + setvar VAR_0x4093, 3 + setvar VAR_0x8004, 2 + goto MauvilleCity_Gym_EventScript_20E08D + end + +MauvilleCity_Gym_EventScript_20E068:: @ 820E068 + lockall + checkflag FLAG_0x4F2 + goto_eq MauvilleCity_Gym_EventScript_20E0AD + compare VAR_0x4093, 4 + goto_eq MauvilleCity_Gym_EventScript_20E0AD + setvar VAR_0x4093, 4 + setvar VAR_0x8004, 3 + goto MauvilleCity_Gym_EventScript_20E08D + end + +MauvilleCity_Gym_EventScript_20E08D:: @ 820E08D + special MauvilleGymSpecial2 + special MauvilleGymSpecial1 + special DrawWholeMapView + playse SE_KI_GASYAN + checkflag FLAG_0x063 + goto_eq MauvilleCity_Gym_EventScript_20E0B4 + checkflag FLAG_0x063 + goto_if 0, MauvilleCity_Gym_EventScript_20E0AF + releaseall + end + +MauvilleCity_Gym_EventScript_20E0AD:: @ 820E0AD + releaseall + end + +MauvilleCity_Gym_EventScript_20E0AF:: @ 820E0AF + setflag FLAG_0x063 + releaseall + end + +MauvilleCity_Gym_EventScript_20E0B4:: @ 820E0B4 + clearflag FLAG_0x063 + releaseall + end + +MauvilleCity_Gym_EventScript_20E0B9:: @ 820E0B9 + trainerbattle 0, TRAINER_KIRK, 0, MauvilleCity_Gym_Text_20E2BC, MauvilleCity_Gym_Text_20E2FC + msgbox MauvilleCity_Gym_Text_20E336, 6 + end + +MauvilleCity_Gym_EventScript_20E0D0:: @ 820E0D0 + trainerbattle 0, TRAINER_SHAWN, 0, MauvilleCity_Gym_Text_20E369, MauvilleCity_Gym_Text_20E3A7 + msgbox MauvilleCity_Gym_Text_20E3C1, 6 + end + +MauvilleCity_Gym_EventScript_20E0E7:: @ 820E0E7 + trainerbattle 0, TRAINER_BEN, 0, MauvilleCity_Gym_Text_20E443, MauvilleCity_Gym_Text_20E469 + msgbox MauvilleCity_Gym_Text_20E47E, 6 + end + +MauvilleCity_Gym_EventScript_20E0FE:: @ 820E0FE + trainerbattle 0, TRAINER_VIVIAN, 0, MauvilleCity_Gym_Text_20E4BB, MauvilleCity_Gym_Text_20E4F4 + msgbox MauvilleCity_Gym_Text_20E50F, 6 + end + +MauvilleCity_Gym_EventScript_20E115:: @ 820E115 + trainerbattle 0, TRAINER_ANGELO, 0, MauvilleCity_Gym_Text_20E593, MauvilleCity_Gym_Text_20E5A8 + msgbox MauvilleCity_Gym_Text_20E5C2, 6 + end + +MauvilleCity_Gym_EventScript_20E12C:: @ 820E12C + lock + faceplayer + checkflag FLAG_0x4F2 + goto_eq MauvilleCity_Gym_EventScript_20E141 + msgbox MauvilleCity_Gym_Text_20E17F, 4 + release + end + +MauvilleCity_Gym_EventScript_20E141:: @ 820E141 + msgbox MauvilleCity_Gym_Text_20E283, 4 + release + end + +MauvilleCity_Gym_EventScript_20E14B:: @ 820E14B + lockall + checkflag FLAG_BADGE03_GET + goto_eq MauvilleCity_Gym_EventScript_20E16B + goto MauvilleCity_Gym_EventScript_20E175 + end + +MauvilleCity_Gym_EventScript_20E15B:: @ 820E15B + lockall + checkflag FLAG_BADGE03_GET + goto_eq MauvilleCity_Gym_EventScript_20E16B + goto MauvilleCity_Gym_EventScript_20E175 + end + +MauvilleCity_Gym_EventScript_20E16B:: @ 820E16B + msgbox MauvilleCity_Gym_Text_20E96C, 4 + releaseall + end + +MauvilleCity_Gym_EventScript_20E175:: @ 820E175 + msgbox MauvilleCity_Gym_Text_20E952, 4 + releaseall + end + +MauvilleCity_Gym_Text_20E17F: @ 820E17F + .string "Hey, how’s it going, CHAMPION-\n" + .string "bound {PLAYER}?\p" + .string "WATTSON, the LEADER of MAUVILLE\n" + .string "GYM, uses ELECTRIC-type POKéMON.\p" + .string "If you challenge him with WATER-type\n" + .string "POKéMON, he’ll zap them! Bzzt!\p" + .string "And, he’s put in switch-controlled\n" + .string "doors all over his GYM! Eccentric!\p" + .string "Hey, go for it!$" + +MauvilleCity_Gym_Text_20E283: @ 820E283 + .string "Whoa, you’re electrifying!\n" + .string "You’ve powered the door open!$" + +MauvilleCity_Gym_Text_20E2BC: @ 820E2BC + .string "My electric soul, it’ll shatter your\n" + .string "dreams whole, whoa-yeahah!$" + +MauvilleCity_Gym_Text_20E2FC: @ 820E2FC + .string "That was plugged in, amped up,\n" + .string "over-driven electric, man!$" + +MauvilleCity_Gym_Text_20E336: @ 820E336 + .string "POKéMON and rock, it’s all about heart,\n" + .string "whoa-yeah!$" + +MauvilleCity_Gym_Text_20E369: @ 820E369 + .string "I trained under WATTSON!\n" + .string "There ain’t no way I’ll lose easily!$" + +MauvilleCity_Gym_Text_20E3A7: @ 820E3A7 + .string "Unplugged and turned off…$" + +MauvilleCity_Gym_Text_20E3C1: @ 820E3C1 + .string "WATTSON, our GYM LEADER, has been\n" + .string "around for a long, long time.\p" + .string "He was battling even before your\n" + .string "daddy was born, that tough coot.$" + +MauvilleCity_Gym_Text_20E443: @ 820E443 + .string "This GYM’s got puzzles!\n" + .string "Isn’t it fun?$" + +MauvilleCity_Gym_Text_20E469: @ 820E469 + .string "It’s no fun to lose…$" + +MauvilleCity_Gym_Text_20E47E: @ 820E47E + .string "WATTSON says he likes setting up\n" + .string "little traps with switches.$" + +MauvilleCity_Gym_Text_20E4BB: @ 820E4BB + .string "With my charm and my POKéMON’s moves,\n" + .string "you’ll be shocked!$" + +MauvilleCity_Gym_Text_20E4F4: @ 820E4F4 + .string "I’m shocked by your power!$" + +MauvilleCity_Gym_Text_20E50F: @ 820E50F + .string "I’ve heard that MAUVILLE was founded\n" + .string "by WATTSON.\p" + .string "He was a TRAINER long before we\n" + .string "became TRAINERS.\l" + .string "He must know all sorts of things!$" + +MauvilleCity_Gym_Text_20E593: @ 820E593 + .string "I love shiny things!$" + +MauvilleCity_Gym_Text_20E5A8: @ 820E5A8 + .string "Oh…\n" + .string "My eyes are frazzled…$" + +MauvilleCity_Gym_Text_20E5C2: @ 820E5C2 + .string "MAUVILLE GYM’s WATTSON has a shiny\n" + .string "forehead. It makes me happy!$" + +MauvilleCity_Gym_Text_20E602: @ 820E602 + .string "I’ve given up on my plans to convert\n" + .string "the city, I have.\p" + .string "And so, I put my time into making\n" + .string "door traps in my GYM.\p" + .string "Oh? Now, what are you doing here?\p" + .string "What’s that? You say you’ve gotten\n" + .string "past all my rigged doors?\p" + .string "Wahahahah!\n" + .string "Now, that is amusing!\p" + .string "Then, I, WATTSON, the LEADER of\n" + .string "MAUVILLE GYM, shall electrify you!$" + +MauvilleCity_Gym_Text_20E734: @ 820E734 + .string "Wahahahah!\n" + .string "Fine, I lost!\p" + .string "You ended up giving me a thrill!\n" + .string "Take this BADGE!$" + +MauvilleCity_Gym_Text_20E77F: @ 820E77F + .string "{PLAYER} received the DYNAMO BADGE\n" + .string "from WATTSON.$" + +MauvilleCity_Gym_Text_20E7AA: @ 820E7AA + .string "With the DYNAMO BADGE, POKéMON can\n" + .string "use ROCK SMASH out of battle.\p" + .string "And, it will make your POKéMON a little\n" + .string "bit faster, too.\p" + .string "Hmm…\n" + .string "You should take this, too!$" + +MauvilleCity_Gym_Text_20E844: @ 820E844 + .string "That TM34 there contains SHOCK WAVE.\p" + .string "It’s a trustworthy move that never\n" + .string "misses! You can count on it!\p" + .string "… … … … … …$" + +MauvilleCity_Gym_Text_20E8B5: @ 820E8B5 + .string "Registered GYM LEADER WATTSON\n" + .string "in the POKéNAV.$" + +MauvilleCity_Gym_Text_20E8E3: @ 820E8E3 + .string "I swell with optimism, seeing a promising\n" + .string "young TRAINER like you!$" + +MauvilleCity_Gym_Text_20E925: @ 820E925 + .string "Wahahahah!\n" + .string "Go forth and endeavor, youngster!$" + +MauvilleCity_Gym_Text_20E952: @ 820E952 + .string "MAUVILLE CITY POKéMON GYM$" + +MauvilleCity_Gym_Text_20E96C: @ 820E96C + .string "MAUVILLE CITY POKéMON GYM\p" + .string "WATTSON’S CERTIFIED TRAINERS:\n" + .string "{PLAYER}$" + +MauvilleCity_Gym_Text_20E9A7: @ 820E9A7 + .string "WATTSON: Ah-ha! Here at last!\n" + .string "I know what you want.\l" + .string "You want to battle my POKéMON!\p" + .string "Wahahahaha!\p" + .string "I’ll make sparks fly from you!\n" + .string "Don’t say I didn’t warn you!$" + +MauvilleCity_Gym_Text_20EA42: @ 820EA42 + .string "Oof…\n" + .string "Our batteries ran dry…$" + +MauvilleCity_Gym_Text_20EA5E: @ 820EA5E + .string "WATTSON: We’ll have to recharge our\n" + .string "batteries again.\p" + .string "When we’re fully charged up, we’ll\n" + .string "gladly accept your challenge.\p" + .string "So, come back again sometime,\n" + .string "won’t you?$" + +MauvilleCity_Gym_Text_20EAFD: @ 820EAFD + .string "WATTSON: Ah-ha! Here at last!\n" + .string "I know what you want.\l" + .string "You want to battle my POKéMON!\p" + .string "Wahahahaha!\p" + .string "Oops! Wait!\n" + .string "You’ve only one POKéMON with you!\p" + .string "Come see me with two or more\n" + .string "POKéMON, all right?$" + diff --git a/data/scripts/maps/MauvilleCity_House1.inc b/data/scripts/maps/MauvilleCity_House1.inc new file mode 100644 index 0000000000..b36e116dbf --- /dev/null +++ b/data/scripts/maps/MauvilleCity_House1.inc @@ -0,0 +1,47 @@ +MauvilleCity_House1_MapScripts:: @ 820F975 + .byte 0 + +MauvilleCity_House1_EventScript_20F976:: @ 820F976 + lock + faceplayer + checkflag FLAG_0x06B + goto_eq MauvilleCity_House1_EventScript_20F9A5 + msgbox MauvilleCity_House1_Text_20F9AF, 4 + giveitem_std ITEM_HM06 + setflag FLAG_0x06B + setflag FLAG_0x34B + msgbox MauvilleCity_House1_Text_20FAA9, 4 + release + end + +MauvilleCity_House1_EventScript_20F9A5:: @ 820F9A5 + msgbox MauvilleCity_House1_Text_20FB67, 4 + release + end + +MauvilleCity_House1_Text_20F9AF: @ 820F9AF + .string "Woohoo!\p" + .string "I hear people call me the ROCK SMASH\n" + .string "GUY, but I find that sort of degrading.\p" + .string "I think I deserve a bit more respect,\n" + .string "like maybe the ROCK SMASH DUDE.\p" + .string "Woohoo!\p" + .string "Anyways, your POKéMON look pretty\n" + .string "strong.\p" + .string "I like that!\n" + .string "Here, take this HIDDEN MACHINE!$" + +MauvilleCity_House1_Text_20FAA9: @ 820FAA9 + .string "That HM contains ROCK SMASH.\p" + .string "If you come across large boulders\n" + .string "that block your path…\p" + .string "Well, use that HM move and smash\n" + .string "them right out of your way!\p" + .string "Yes, sir! Smash rocks aside, I say!\n" + .string "Woohoo!$" + +MauvilleCity_House1_Text_20FB67: @ 820FB67 + .string "Oh, yes, if you smash a rock, a POKéMON\n" + .string "could come flying out of hiding.\p" + .string "Woohoo!$" + diff --git a/data/scripts/maps/MauvilleCity_House2.inc b/data/scripts/maps/MauvilleCity_House2.inc new file mode 100644 index 0000000000..7a1a1cad1c --- /dev/null +++ b/data/scripts/maps/MauvilleCity_House2.inc @@ -0,0 +1,69 @@ +MauvilleCity_House2_MapScripts:: @ 8210C5C + .byte 0 + +MauvilleCity_House2_EventScript_210C5D:: @ 8210C5D + lock + faceplayer + checkflag FLAG_0x102 + goto_eq MauvilleCity_House2_EventScript_210CDA + msgbox MauvilleCity_House2_Text_210CEE, 4 + checkitem ITEM_HARBOR_MAIL, 1 + compare VAR_RESULT, 1 + goto_eq MauvilleCity_House2_EventScript_210C82 + release + end + +MauvilleCity_House2_EventScript_210C82:: @ 8210C82 + playse SE_PIN + applymovement VAR_LAST_TALKED, MauvilleCity_House2_Movement_272598 + waitmovement 0 + applymovement VAR_LAST_TALKED, MauvilleCity_House2_Movement_27259A + waitmovement 0 + msgbox MauvilleCity_House2_Text_210D76, 5 + compare VAR_RESULT, 1 + goto_eq MauvilleCity_House2_EventScript_210CB8 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_House2_EventScript_210CE4 + end + +MauvilleCity_House2_EventScript_210CB8:: @ 8210CB8 + msgbox MauvilleCity_House2_Text_210DB3, 4 + takeitem ITEM_HARBOR_MAIL, 1 + giveitem_std ITEM_COIN_CASE + setflag FLAG_0x102 + goto MauvilleCity_House2_EventScript_210CDA + end + +MauvilleCity_House2_EventScript_210CDA:: @ 8210CDA + msgbox MauvilleCity_House2_Text_210DE7, 4 + release + end + +MauvilleCity_House2_EventScript_210CE4:: @ 8210CE4 + msgbox MauvilleCity_House2_Text_210E16, 4 + release + end + +MauvilleCity_House2_Text_210CEE: @ 8210CEE + .string "If I had a BIKE, it’d be easy to cycle to\n" + .string "SLATEPORT for some shopping.\p" + .string "I’d be able to buy HARBOR MAIL at the\n" + .string "POKéMON MART in SLATEPORT…$" + +MauvilleCity_House2_Text_210D76: @ 8210D76 + .string "Oh! You have HARBOR MAIL?\n" + .string "Will you trade it for a COIN CASE?$" + +MauvilleCity_House2_Text_210DB3: @ 8210DB3 + .string "Oh, I’m so happy!\n" + .string "Okay, I’ll trade you a COIN CASE!$" + +MauvilleCity_House2_Text_210DE7: @ 8210DE7 + .string "That COIN CASE can be used\n" + .string "at the GAME CORNER.$" + +MauvilleCity_House2_Text_210E16: @ 8210E16 + .string "Oh, that’s disappointing.\p" + .string "A COIN CASE is needed for the\n" + .string "GAME CORNER.$" + diff --git a/data/scripts/maps/MauvilleCity_Mart.inc b/data/scripts/maps/MauvilleCity_Mart.inc new file mode 100644 index 0000000000..56ee9497fa --- /dev/null +++ b/data/scripts/maps/MauvilleCity_Mart.inc @@ -0,0 +1,53 @@ +MauvilleCity_Mart_MapScripts:: @ 82110E5 + .byte 0 + +MauvilleCity_Mart_EventScript_2110E6:: @ 82110E6 + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemart MauvilleCity_Mart_Pokemart_211100 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +MauvilleCity_Mart_Pokemart_211100: @ 8211100 + .2byte ITEM_POKE_BALL + .2byte ITEM_GREAT_BALL + .2byte ITEM_SUPER_POTION + .2byte ITEM_ANTIDOTE + .2byte ITEM_PARALYZE_HEAL + .2byte ITEM_AWAKENING + .2byte ITEM_X_SPEED + .2byte ITEM_X_ATTACK + .2byte ITEM_X_DEFEND + .2byte ITEM_GUARD_SPEC + .2byte ITEM_DIRE_HIT + .2byte ITEM_X_ACCURACY + .2byte ITEM_NONE + release + end + +MauvilleCity_Mart_EventScript_21111C:: @ 821111C + msgbox MauvilleCity_Mart_Text_21112E, 2 + end + +MauvilleCity_Mart_EventScript_211125:: @ 8211125 + msgbox MauvilleCity_Mart_Text_2111D8, 2 + end + +MauvilleCity_Mart_Text_21112E: @ 821112E + .string "There are items that temporarily\n" + .string "elevate the stats of POKéMON.\p" + .string "The ones I know you use in battle\n" + .string "are X ATTACK and X DEFEND…\p" + .string "I do believe that there are others\n" + .string "like them.$" + +MauvilleCity_Mart_Text_2111D8: @ 82111D8 + .string "Use a certain move, or use an item\n" + .string "instead…\p" + .string "The TRAINER’s decisions determine how\n" + .string "battles turn out, I think.$" + diff --git a/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc b/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc new file mode 100644 index 0000000000..9b85618733 --- /dev/null +++ b/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc @@ -0,0 +1,54 @@ +MauvilleCity_PokemonCenter_1F_MapScripts:: @ 8210E5B + map_script 3, MauvilleCity_PokemonCenter_1F_MapScript1_210E66 + map_script 5, MauvilleCity_PokemonCenter_1F_MapScript1_277C30 + .byte 0 + +MauvilleCity_PokemonCenter_1F_MapScript1_210E66: @ 8210E66 + setrespawn 5 + call MauvilleCity_PokemonCenter_1F_EventScript_2718DE + goto MauvilleCity_PokemonCenter_1F_EventScript_210E74 + end + +MauvilleCity_PokemonCenter_1F_EventScript_210E74:: @ 8210E74 + special sub_8120B5C + end + +MauvilleCity_PokemonCenter_1F_EventScript_210E78:: @ 8210E78 + setvar VAR_0x800B, 1 + call MauvilleCity_PokemonCenter_1F_EventScript_27191E + waitmessage + waitbuttonpress + release + end + +MauvilleCity_PokemonCenter_1F_EventScript_210E86:: @ 8210E86 + msgbox MauvilleCity_PokemonCenter_1F_Text_210EA1, 2 + end + +MauvilleCity_PokemonCenter_1F_EventScript_210E8F:: @ 8210E8F + msgbox MauvilleCity_PokemonCenter_1F_Text_210F06, 2 + end + +MauvilleCity_PokemonCenter_1F_EventScript_210E98:: @ 8210E98 + msgbox MauvilleCity_PokemonCenter_1F_Text_210F8A, 2 + end + +MauvilleCity_PokemonCenter_1F_Text_210EA1: @ 8210EA1 + .string "That man over there, he says weird\n" + .string "things!\p" + .string "He’s funny in a weird way.\n" + .string "I doubt I’ll forget about him!$" + +MauvilleCity_PokemonCenter_1F_Text_210F06: @ 8210F06 + .string "When I accessed the RECORD CORNER,\n" + .string "the data for what’s hot in DEWFORD\l" + .string "got updated.\p" + .string "Now that bit of data is the same\n" + .string "as my friend’s!$" + +MauvilleCity_PokemonCenter_1F_Text_210F8A: @ 8210F8A + .string "A RECORD CORNER opened upstairs in\n" + .string "the POKéMON CENTER.\p" + .string "I don’t know what it’s about, but it\n" + .string "sounds fun. I’ll go check it out!$" + diff --git a/data/scripts/maps/MauvilleCity_PokemonCenter_2F.inc b/data/scripts/maps/MauvilleCity_PokemonCenter_2F.inc new file mode 100644 index 0000000000..c430b4440c --- /dev/null +++ b/data/scripts/maps/MauvilleCity_PokemonCenter_2F.inc @@ -0,0 +1,31 @@ +MauvilleCity_PokemonCenter_2F_MapScripts:: @ 8211008 + map_script 2, MauvilleCity_PokemonCenter_2F_MapScript2_276C3B + map_script 4, MauvilleCity_PokemonCenter_2F_MapScript2_276B6C + map_script 1, MauvilleCity_PokemonCenter_2F_MapScript1_276BBE + map_script 3, MauvilleCity_PokemonCenter_2F_MapScript1_276ACF + .byte 0 + +MauvilleCity_PokemonCenter_2F_EventScript_21101D:: @ 821101D + call OldaleTown_PokemonCenter_2F_EventScript_276EB7 + end + +MauvilleCity_PokemonCenter_2F_EventScript_211023:: @ 8211023 + call OldaleTown_PokemonCenter_2F_EventScript_2770B2 + end + +MauvilleCity_PokemonCenter_2F_EventScript_211029:: @ 8211029 + call OldaleTown_PokemonCenter_2F_EventScript_2771DB + end + +MauvilleCity_PokemonCenter_2F_EventScript_21102F:: @ 821102F + msgbox MauvilleCity_PokemonCenter_2F_Text_211038, 2 + end + +MauvilleCity_PokemonCenter_2F_Text_211038: @ 8211038 + .string "Did you know that you can link battle\n" + .string "at the COLOSSEUM here?\p" + .string "They put up your record on the wall\n" + .string "for everyone to see.\p" + .string "It’s embarrassing if you lose more\n" + .string "often than you win…$" + diff --git a/data/scripts/maps/MeteorFalls_1F_1R.inc b/data/scripts/maps/MeteorFalls_1F_1R.inc new file mode 100644 index 0000000000..50b218f041 --- /dev/null +++ b/data/scripts/maps/MeteorFalls_1F_1R.inc @@ -0,0 +1,312 @@ +MeteorFalls_1F_1R_MapScripts:: @ 822BD2A + map_script 1, MeteorFalls_1F_1R_MapScript1_22BD30 + .byte 0 + +MeteorFalls_1F_1R_MapScript1_22BD30: @ 822BD30 + checkflag FLAG_SYS_GAME_CLEAR + call_if 1, MeteorFalls_1F_1R_EventScript_22BD3A + end + +MeteorFalls_1F_1R_EventScript_22BD3A:: @ 822BD3A + setmetatile 4, 1, 582, 1 + setmetatile 3, 2, 589, 1 + setmetatile 4, 2, 590, 0 + setmetatile 5, 2, 591, 1 + return + +MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F + lockall + playbgm MUS_MGM0, 0 + applymovement 255, MeteorFalls_1F_1R_Movement_2725B0 + waitmovement 0 + delay 30 + applymovement 5, MeteorFalls_1F_1R_Movement_2725B4 + waitmovement 0 + msgbox MeteorFalls_1F_1R_Text_22BF47, 4 + closemessage + applymovement 5, MeteorFalls_1F_1R_Movement_2725A6 + applymovement 6, MeteorFalls_1F_1R_Movement_2725A6 + waitmovement 0 + playse SE_PIN + applymovement 5, MeteorFalls_1F_1R_Movement_272598 + waitmovement 0 + applymovement 5, MeteorFalls_1F_1R_Movement_27259A + waitmovement 0 + msgbox MeteorFalls_1F_1R_Text_22BF84, 4 + closemessage + applymovement 5, MeteorFalls_1F_1R_Movement_22BEC0 + waitmovement 0 + msgbox MeteorFalls_1F_1R_Text_22BFE4, 4 + closemessage + applymovement 255, MeteorFalls_1F_1R_Movement_2725A4 + applymovement 5, MeteorFalls_1F_1R_Movement_2725A4 + applymovement 6, MeteorFalls_1F_1R_Movement_2725A4 + waitmovement 0 + addobject 7 + addobject 8 + addobject 9 + playbgm MUS_AQA_0, 0 + applymovement 7, MeteorFalls_1F_1R_Movement_22BED9 + applymovement 8, MeteorFalls_1F_1R_Movement_22BEE0 + applymovement 9, MeteorFalls_1F_1R_Movement_22BEE8 + waitmovement 0 + applymovement 5, MeteorFalls_1F_1R_Movement_2725A4 + applymovement 6, MeteorFalls_1F_1R_Movement_2725A4 + waitmovement 0 + msgbox MeteorFalls_1F_1R_Text_22C04E, 4 + closemessage + applymovement 255, MeteorFalls_1F_1R_Movement_22BF1D + applymovement 5, MeteorFalls_1F_1R_Movement_22BEC4 + applymovement 6, MeteorFalls_1F_1R_Movement_22BECE + waitmovement 0 + removeobject 5 + removeobject 6 + applymovement 7, MeteorFalls_1F_1R_Movement_22BEF8 + waitmovement 0 + msgbox MeteorFalls_1F_1R_Text_22C11C, 4 + closemessage + applymovement 8, MeteorFalls_1F_1R_Movement_22BF08 + applymovement 9, MeteorFalls_1F_1R_Movement_22BF18 + waitmovement 0 + msgbox MeteorFalls_1F_1R_Text_22C268, 4 + applymovement 7, MeteorFalls_1F_1R_Movement_2725AA + waitmovement 0 + msgbox MeteorFalls_1F_1R_Text_22C292, 4 + applymovement 7, MeteorFalls_1F_1R_Movement_2725A4 + waitmovement 0 + msgbox MeteorFalls_1F_1R_Text_22C2FC, 4 + closemessage + applymovement 7, MeteorFalls_1F_1R_Movement_22BEF0 + applymovement 8, MeteorFalls_1F_1R_Movement_22BEFE + applymovement 9, MeteorFalls_1F_1R_Movement_22BF0D + waitmovement 0 + fadedefaultbgm + removeobject 7 + removeobject 8 + removeobject 9 + setflag FLAG_0x333 + setflag FLAG_0x0CF + setflag FLAG_0x2FF + setvar VAR_0x40BF, 1 + releaseall + end + +MeteorFalls_1F_1R_Movement_22BEC0: @ 822BEC0 + step_right + step_right + step_26 + step_end + +MeteorFalls_1F_1R_Movement_22BEC4: @ 822BEC4 + step_16 + step_16 + step_18 + step_18 + step_18 + step_18 + step_18 + step_18 + step_18 + step_end + +MeteorFalls_1F_1R_Movement_22BECE: @ 822BECE + step_16 + step_16 + step_16 + step_18 + step_18 + step_18 + step_18 + step_18 + step_18 + step_18 + step_end + +MeteorFalls_1F_1R_Movement_22BED9: @ 822BED9 + step_right + step_right + step_right + step_right + step_right + step_right + step_end + +MeteorFalls_1F_1R_Movement_22BEE0: @ 822BEE0 + step_14 + step_14 + step_right + step_right + step_right + step_right + step_right + step_end + +MeteorFalls_1F_1R_Movement_22BEE8: @ 822BEE8 + step_14 + step_14 + step_right + step_right + step_right + step_right + step_right + step_end + +MeteorFalls_1F_1R_Movement_22BEF0: @ 822BEF0 + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_end + +MeteorFalls_1F_1R_Movement_22BEF8: @ 822BEF8 + step_right + step_right + step_up + step_up + step_27 + step_end + +MeteorFalls_1F_1R_Movement_22BEFE: @ 822BEFE + step_up + step_up + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_end + +MeteorFalls_1F_1R_Movement_22BF08: @ 822BF08 + step_right + step_right + step_right + step_26 + step_end + +MeteorFalls_1F_1R_Movement_22BF0D: @ 822BF0D + step_up + step_up + step_up + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_end + +MeteorFalls_1F_1R_Movement_22BF18: @ 822BF18 + step_right + step_right + step_right + step_26 + step_end + +MeteorFalls_1F_1R_Movement_22BF1D: @ 822BF1D + step_25 + step_12 + step_28 + step_40 + step_left + step_41 + step_03 + step_end + +MeteorFalls_1F_1R_EventScript_22BF25:: @ 822BF25 + lock + faceplayer + checkflag FLAG_0x0F4 + goto_eq MeteorFalls_1F_1R_EventScript_22BF3D + setflag FLAG_0x0F4 + msgbox MeteorFalls_1F_1R_Text_22C342, 4 + release + end + +MeteorFalls_1F_1R_EventScript_22BF3D:: @ 822BF3D + msgbox MeteorFalls_1F_1R_Text_22C47D, 4 + release + end + +MeteorFalls_1F_1R_Text_22BF47: @ 822BF47 + .string "Hehehe!\p" + .string "With this METEORITE, that thing in\n" + .string "MT. CHIMNEY will…$" + +MeteorFalls_1F_1R_Text_22BF84: @ 822BF84 + .string "Heh?\p" + .string "I don’t know who you are, but if you get\n" + .string "in the way of TEAM MAGMA, don’t\l" + .string "expect any mercy!$" + +MeteorFalls_1F_1R_Text_22BFE4: @ 822BFE4 + .string "Hold it right there, TEAM MAGMA!\p" + .string "You’re badly mistaken if you think you\n" + .string "can have your way with the world!$" + +MeteorFalls_1F_1R_Text_22C04E: @ 822C04E + .string "Hehehe!\n" + .string "Even TEAM AQUA joins us!\p" + .string "But it’s too much trouble to deal with\n" + .string "you all…\p" + .string "Heh, it doesn’t matter!\p" + .string "We’ve got the METEORITE, so off to\n" + .string "MT. CHIMNEY we go!\p" + .string "Hehehe! Be seeing you, you TEAM\n" + .string "AQUA dingbats!$" + +MeteorFalls_1F_1R_Text_22C11C: @ 822C11C + .string "ARCHIE: Didn’t I see you before?\n" + .string "At SLATEPORT’s MUSEUM?\p" + .string "Ah, so your name is {PLAYER}.\p" + .string "At the time, I thought you were one\n" + .string "of TEAM MAGMA’s goons.\p" + .string "Humph…\n" + .string "You’re one odd kid.\p" + .string "TEAM MAGMA is a dangerous group of\n" + .string "total fanatics.\p" + .string "They engage in destruction, claiming\n" + .string "to expand the land mass.\p" + .string "They are the rivals to us,\n" + .string "the sea-loving TEAM AQUA!$" + +MeteorFalls_1F_1R_Text_22C268: @ 822C268 + .string "BOSS, we should give chase to\n" + .string "TEAM MAGMA…$" + +MeteorFalls_1F_1R_Text_22C292: @ 822C292 + .string "ARCHIE: Yes, yes, we must!\n" + .string "We’ve got to hurry.\p" + .string "There’s no telling what TEAM MAGMA\n" + .string "will do at MT. CHIMNEY!$" + +MeteorFalls_1F_1R_Text_22C2FC: @ 822C2FC + .string "ARCHIE: {PLAYER}, you should keep\n" + .string "an eye out for TEAM MAGMA, too.\p" + .string "Farewell!$" + +MeteorFalls_1F_1R_Text_22C342: @ 822C342 + .string "I… I’m COZMO…\n" + .string "I’m a PROFESSOR…\p" + .string "TEAM MAGMA asked me to guide them\n" + .string "to METEOR FALLS…\p" + .string "But they tricked me.\n" + .string "They even took my METEORITE away…\p" + .string "And then another similar bunch,\n" + .string "TEAM AQUA showed up.\p" + .string "After that…\n" + .string "I don’t understand any of it.\p" + .string "But that TEAM MAGMA…\p" + .string "What are they going to do with that\n" + .string "METEORITE at MT. CHIMNEY?$" + +MeteorFalls_1F_1R_Text_22C47D: @ 822C47D + .string "PROF. COZMO: But that TEAM MAGMA…\p" + .string "What are they going to do with that\n" + .string "METEORITE at MT. CHIMNEY?$" + diff --git a/data/scripts/maps/MeteorFalls_1F_2R.inc b/data/scripts/maps/MeteorFalls_1F_2R.inc new file mode 100644 index 0000000000..76aad489f7 --- /dev/null +++ b/data/scripts/maps/MeteorFalls_1F_2R.inc @@ -0,0 +1,195 @@ +MeteorFalls_1F_2R_MapScripts:: @ 822C4DD + .byte 0 + +MeteorFalls_1F_2R_EventScript_22C4DE:: @ 822C4DE + trainerbattle 2, TRAINER_NICOLAS_1, 0, MeteorFalls_1F_2R_Text_22C608, MeteorFalls_1F_2R_Text_22C678, MeteorFalls_1F_2R_EventScript_22C50A + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq MeteorFalls_1F_2R_EventScript_22C529 + msgbox MeteorFalls_1F_2R_Text_22C6A3, 4 + release + end + +MeteorFalls_1F_2R_EventScript_22C50A:: @ 822C50A + special sub_80B4808 + waitmovement 0 + msgbox MeteorFalls_1F_2R_Text_22C6F6, 4 + setvar VAR_0x8004, 392 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 392 + callstd 8 + release + end + +MeteorFalls_1F_2R_EventScript_22C529:: @ 822C529 + trainerbattle 5, TRAINER_NICOLAS_1, 0, MeteorFalls_1F_2R_Text_22C73F, MeteorFalls_1F_2R_Text_22C7AD + msgbox MeteorFalls_1F_2R_Text_22C7D8, 6 + end + +MeteorFalls_1F_2R_EventScript_22C540:: @ 822C540 + trainerbattle 6, TRAINER_JOHN_AND_JAY_1, 0, MeteorFalls_1F_2R_Text_22C843, MeteorFalls_1F_2R_Text_22C89C, MeteorFalls_1F_2R_Text_22C92B, MeteorFalls_1F_2R_EventScript_22C570 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq MeteorFalls_1F_2R_EventScript_22C589 + msgbox MeteorFalls_1F_2R_Text_22C8C1, 4 + release + end + +MeteorFalls_1F_2R_EventScript_22C570:: @ 822C570 + msgbox MeteorFalls_1F_2R_Text_22C99C, 4 + setvar VAR_0x8004, 681 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 681 + callstd 8 + release + end + +MeteorFalls_1F_2R_EventScript_22C589:: @ 822C589 + trainerbattle 7, TRAINER_JOHN_AND_JAY_1, 0, MeteorFalls_1F_2R_Text_22CB47, MeteorFalls_1F_2R_Text_22CBA0, MeteorFalls_1F_2R_Text_22CC27 + msgbox MeteorFalls_1F_2R_Text_22CBC5, 6 + end + +MeteorFalls_1F_2R_EventScript_22C5A4:: @ 822C5A4 + trainerbattle 6, TRAINER_JOHN_AND_JAY_1, 0, MeteorFalls_1F_2R_Text_22C9E6, MeteorFalls_1F_2R_Text_22CA44, MeteorFalls_1F_2R_Text_22CACD, MeteorFalls_1F_2R_EventScript_22C5D4 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq MeteorFalls_1F_2R_EventScript_22C5ED + msgbox MeteorFalls_1F_2R_Text_22CA70, 4 + release + end + +MeteorFalls_1F_2R_EventScript_22C5D4:: @ 822C5D4 + msgbox MeteorFalls_1F_2R_Text_22C99C, 4 + setvar VAR_0x8004, 681 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 681 + callstd 8 + release + end + +MeteorFalls_1F_2R_EventScript_22C5ED:: @ 822C5ED + trainerbattle 7, TRAINER_JOHN_AND_JAY_1, 0, MeteorFalls_1F_2R_Text_22CC98, MeteorFalls_1F_2R_Text_22CD08, MeteorFalls_1F_2R_Text_22CDAB + msgbox MeteorFalls_1F_2R_Text_22CD34, 6 + end + +MeteorFalls_1F_2R_Text_22C608: @ 822C608 + .string "This is where we DRAGON users do our\n" + .string "training.\p" + .string "The CHAMPION even visits.\n" + .string "Now do you see how special it is here?$" + +MeteorFalls_1F_2R_Text_22C678: @ 822C678 + .string "Urgh!\n" + .string "I didn’t expect you to be so strong!$" + +MeteorFalls_1F_2R_Text_22C6A3: @ 822C6A3 + .string "The road ahead remains long and harsh.\p" + .string "When will my POKéMON and I become\n" + .string "the best?$" + +MeteorFalls_1F_2R_Text_22C6F6: @ 822C6F6 + .string "I want to know more about your power.\n" + .string "Let me register you in my POKéNAV.$" + +MeteorFalls_1F_2R_Text_22C73F: @ 822C73F + .string "Since we met, we have trained hard\n" + .string "with our sights on number one.\p" + .string "Help us see how much stronger we’ve\n" + .string "become!$" + +MeteorFalls_1F_2R_Text_22C7AD: @ 822C7AD + .string "Urgh!\n" + .string "I didn’t expect you to be so strong!$" + +MeteorFalls_1F_2R_Text_22C7D8: @ 822C7D8 + .string "You’ve obviously kept up your\n" + .string "POKéMON training.\p" + .string "So long as you remain strong, I, too,\n" + .string "can become stronger!$" + +MeteorFalls_1F_2R_Text_22C843: @ 822C843 + .string "JOHN: We’ve always battled POKéMON\n" + .string "together as a twosome.\l" + .string "We’ve confidence in ourselves.$" + +MeteorFalls_1F_2R_Text_22C89C: @ 822C89C + .string "JOHN: Oh, my.\n" + .string "We’ve lost, dear wife.$" + +MeteorFalls_1F_2R_Text_22C8C1: @ 822C8C1 + .string "JOHN: We’ve been married for\n" + .string "fifty years.\p" + .string "Come to think of it, I’ve yet to beat\n" + .string "my dear wife in a battle.$" + +MeteorFalls_1F_2R_Text_22C92B: @ 822C92B + .string "JOHN: Well, well, what a young TRAINER!\p" + .string "Will you battle with us? If so, you’ll\n" + .string "have to return with more POKéMON.$" + +MeteorFalls_1F_2R_Text_22C99C: @ 822C99C + .string "JOHN: Young TRAINER, if the chance\n" + .string "arises, will you battle with us again?$" + +MeteorFalls_1F_2R_Text_22C9E6: @ 822C9E6 + .string "JAY: We’ve been married for\n" + .string "fifty years.\p" + .string "The bond we share as a couple could\n" + .string "never be broken.$" + +MeteorFalls_1F_2R_Text_22CA44: @ 822CA44 + .string "JAY: Oh, dear.\n" + .string "We’ve lost, my dear husband.$" + +MeteorFalls_1F_2R_Text_22CA70: @ 822CA70 + .string "JAY: Fifty years of marriage…\p" + .string "If we ever argued, we always settled\n" + .string "it with a POKéMON battle…$" + +MeteorFalls_1F_2R_Text_22CACD: @ 822CACD + .string "JAY: Well, well, aren’t you a young\n" + .string "TRAINER?\p" + .string "If you’d care to battle with us, you’ll\n" + .string "have to come back with more POKéMON.$" + +MeteorFalls_1F_2R_Text_22CB47: @ 822CB47 + .string "JOHN: We’ve always battled POKéMON\n" + .string "together as a twosome.\l" + .string "We’ve confidence in ourselves.$" + +MeteorFalls_1F_2R_Text_22CBA0: @ 822CBA0 + .string "JOHN: Oh, my.\n" + .string "We’ve lost, dear wife.$" + +MeteorFalls_1F_2R_Text_22CBC5: @ 822CBC5 + .string "JOHN: Married for fifty years…\p" + .string "On reflection, the dear wife and I,\n" + .string "we battled day in and day out…$" + +MeteorFalls_1F_2R_Text_22CC27: @ 822CC27 + .string "JOHN: Well, well, what a young TRAINER!\p" + .string "Will you battle with us? If so, you’ll\n" + .string "have to return with more POKéMON.$" + +MeteorFalls_1F_2R_Text_22CC98: @ 822CC98 + .string "JAY: We’ve been married for\n" + .string "fifty years.\p" + .string "We’ve supported each other all that\n" + .string "time. We’ve made ourselves strong.$" + +MeteorFalls_1F_2R_Text_22CD08: @ 822CD08 + .string "JAY: Oh, dear.\n" + .string "We’ve lost, my dear husband.$" + +MeteorFalls_1F_2R_Text_22CD34: @ 822CD34 + .string "JAY: Fifty years of marriage…\n" + .string "Many things have happened.\p" + .string "I hope that we will continue to make\n" + .string "happy memories together.$" + +MeteorFalls_1F_2R_Text_22CDAB: @ 822CDAB + .string "JAY: Well, well, aren’t you a young\n" + .string "TRAINER?\p" + .string "If you’d care to battle with us, you’ll\n" + .string "have to come back with more POKéMON.$" + diff --git a/data/scripts/maps/MeteorFalls_B1F_1R.inc b/data/scripts/maps/MeteorFalls_B1F_1R.inc new file mode 100644 index 0000000000..551e68180c --- /dev/null +++ b/data/scripts/maps/MeteorFalls_B1F_1R.inc @@ -0,0 +1,3 @@ +MeteorFalls_B1F_1R_MapScripts:: @ 822CE25 + .byte 0 + diff --git a/data/scripts/maps/MeteorFalls_B1F_2R.inc b/data/scripts/maps/MeteorFalls_B1F_2R.inc new file mode 100644 index 0000000000..775b5787c4 --- /dev/null +++ b/data/scripts/maps/MeteorFalls_B1F_2R.inc @@ -0,0 +1,3 @@ +MeteorFalls_B1F_2R_MapScripts:: @ 822CE26 + .byte 0 + diff --git a/data/scripts/maps/MeteorFalls_StevensCave.inc b/data/scripts/maps/MeteorFalls_StevensCave.inc new file mode 100644 index 0000000000..5226ddb4a4 --- /dev/null +++ b/data/scripts/maps/MeteorFalls_StevensCave.inc @@ -0,0 +1,58 @@ +MeteorFalls_StevensCave_MapScripts:: @ 823B181 + .byte 0 + +MeteorFalls_StevensCave_EventScript_23B182:: @ 823B182 + lock + checkflag FLAG_0x4F8 + goto_eq MeteorFalls_StevensCave_EventScript_23B1CD + waitse + playse SE_PIN + applymovement 1, MeteorFalls_StevensCave_Movement_272598 + waitmovement 0 + applymovement 1, MeteorFalls_StevensCave_Movement_27259A + waitmovement 0 + applymovement 1, MeteorFalls_StevensCave_Movement_27259E + waitmovement 0 + msgbox MeteorFalls_StevensCave_Text_23B1E1, 4 + trainerbattle 3, TRAINER_STEVEN, 0, MeteorFalls_StevensCave_Text_23B32D + msgbox MeteorFalls_StevensCave_Text_23B358, 4 + setflag FLAG_0x4F8 + release + end + +MeteorFalls_StevensCave_EventScript_23B1CD:: @ 823B1CD + applymovement 1, MeteorFalls_StevensCave_Movement_27259E + waitmovement 0 + msgbox MeteorFalls_StevensCave_Text_23B358, 4 + release + end + +MeteorFalls_StevensCave_Text_23B1E1: @ 823B1E1 + .string "STEVEN: Oh, wow, {PLAYER}{KUN}.\n" + .string "I’m amazed you knew where to find me.\p" + .string "Do you, uh…maybe think of me as\n" + .string "just a rock maniac?\p" + .string "No, that can’t be right.\p" + .string "We battled alongside each other at\n" + .string "the SOOTOPOLIS SPACE CENTER.\p" + .string "You should have a very good idea\n" + .string "about how good I am.\p" + .string "Okay, {PLAYER}{KUN}, if you’re going to mount\n" + .string "a serious challenge, expect the worst!$" + +MeteorFalls_StevensCave_Text_23B32D: @ 823B32D + .string "You…\n" + .string "I had no idea you’d become so strong…$" + +MeteorFalls_StevensCave_Text_23B358: @ 823B358 + .string "STEVEN: Come to think of it, ever since\n" + .string "our paths first crossed in GRANITE\l" + .string "CAVE in DEWFORD, I had this feeling.\p" + .string "I thought that you would eventually\n" + .string "become the CHAMPION.\p" + .string "My predictions usually come true.\p" + .string "And where will you go from here?\p" + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "Fufufu, even I couldn’t tell you that.$" + diff --git a/data/scripts/maps/MirageTower_1F.inc b/data/scripts/maps/MirageTower_1F.inc new file mode 100644 index 0000000000..d7d9619b5b --- /dev/null +++ b/data/scripts/maps/MirageTower_1F.inc @@ -0,0 +1,10 @@ +MirageTower_1F_MapScripts:: @ 823AD01 + map_script 3, MirageTower_1F_MapScript1_23AD07 + .byte 0 + +MirageTower_1F_MapScript1_23AD07: @ 823AD07 + setflag FLAG_0x8DC + setflag FLAG_0x09D + setflag FLAG_LANDMARK_MIRAGE_TOWER + end + diff --git a/data/scripts/maps/MirageTower_2F.inc b/data/scripts/maps/MirageTower_2F.inc new file mode 100644 index 0000000000..c1a1d18d09 --- /dev/null +++ b/data/scripts/maps/MirageTower_2F.inc @@ -0,0 +1,11 @@ +MirageTower_2F_MapScripts:: @ 823AD11 + map_script 2, MirageTower_2F_MapScript2_2A8327 + map_script 3, MirageTower_2F_MapScript1_2A8331 + map_script 5, MirageTower_2F_MapScript1_23AD21 + .byte 0 + +MirageTower_2F_MapScript1_23AD21: @ 823AD21 + setstepcallback 7 + setholewarp MIRAGE_TOWER_1F, 255, 0, 0 + end + diff --git a/data/scripts/maps/MirageTower_3F.inc b/data/scripts/maps/MirageTower_3F.inc new file mode 100644 index 0000000000..bcf847344c --- /dev/null +++ b/data/scripts/maps/MirageTower_3F.inc @@ -0,0 +1,11 @@ +MirageTower_3F_MapScripts:: @ 823AD2C + map_script 2, MirageTower_3F_MapScript2_2A8327 + map_script 3, MirageTower_3F_MapScript1_2A8331 + map_script 5, MirageTower_3F_MapScript1_23AD3C + .byte 0 + +MirageTower_3F_MapScript1_23AD3C: @ 823AD3C + setstepcallback 7 + setholewarp MIRAGE_TOWER_2F, 255, 0, 0 + end + diff --git a/data/scripts/maps/MirageTower_4F.inc b/data/scripts/maps/MirageTower_4F.inc new file mode 100644 index 0000000000..10d465b741 --- /dev/null +++ b/data/scripts/maps/MirageTower_4F.inc @@ -0,0 +1,79 @@ +MirageTower_4F_MapScripts:: @ 823AD47 + .byte 0 + +MirageTower_4F_EventScript_23AD48:: @ 823AD48 + lock + faceplayer + msgbox MirageTower_4F_Text_23ADF9, 5 + compare VAR_RESULT, 0 + goto_eq MirageTower_4F_EventScript_23AD7F + giveitem_std ITEM_ROOT_FOSSIL + closemessage + setflag FLAG_0x3C3 + setflag FLAG_0x3C4 + removeobject 1 + delay 30 + setflag FLAG_0x14F + goto MirageTower_4F_EventScript_23ADCA + end + +MirageTower_4F_EventScript_23AD7F:: @ 823AD7F + msgbox MirageTower_4F_Text_23AE79, 4 + release + end + +MirageTower_4F_EventScript_23AD89:: @ 823AD89 + lock + faceplayer + msgbox MirageTower_4F_Text_23AE98, 5 + compare VAR_RESULT, 0 + goto_eq MirageTower_4F_EventScript_23ADC0 + giveitem_std ITEM_CLAW_FOSSIL + closemessage + setflag FLAG_0x3C4 + setflag FLAG_0x3C3 + removeobject 2 + delay 30 + setflag FLAG_0x150 + goto MirageTower_4F_EventScript_23ADCA + end + +MirageTower_4F_EventScript_23ADC0:: @ 823ADC0 + msgbox MirageTower_4F_Text_23AF18, 4 + release + end + +MirageTower_4F_EventScript_23ADCA:: @ 823ADCA + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 32 + setvar VAR_0x8007, 2 + special sub_8139560 + waitstate + special sub_81BE994 + waitstate + setvar VAR_0x40CB, 1 + clearflag FLAG_LANDMARK_MIRAGE_TOWER + warp ROUTE_111, 255, 19, 59 + waitstate + release + end + +MirageTower_4F_Text_23ADF9: @ 823ADF9 + .string "You found the ROOT FOSSIL.\p" + .string "If this FOSSIL is taken, the ground\n" + .string "around it will likely crumble away…\p" + .string "Take the ROOT FOSSIL anyway?$" + +MirageTower_4F_Text_23AE79: @ 823AE79 + .string "{PLAYER} left the ROOT FOSSIL alone.$" + +MirageTower_4F_Text_23AE98: @ 823AE98 + .string "You found the CLAW FOSSIL.\p" + .string "If this FOSSIL is taken, the ground\n" + .string "around it will likely crumble away…\p" + .string "Take the CLAW FOSSIL anyway?$" + +MirageTower_4F_Text_23AF18: @ 823AF18 + .string "{PLAYER} left the CLAW FOSSIL alone.$" + diff --git a/data/scripts/maps/MossdeepCity.inc b/data/scripts/maps/MossdeepCity.inc new file mode 100644 index 0000000000..111281931e --- /dev/null +++ b/data/scripts/maps/MossdeepCity.inc @@ -0,0 +1,436 @@ +MossdeepCity_MapScripts:: @ 81E4A96 + map_script 3, MossdeepCity_MapScript1_1E4A9C + .byte 0 + +MossdeepCity_MapScript1_1E4A9C: @ 81E4A9C + clearflag FLAG_0x064 + clearflag FLAG_0x065 + clearflag FLAG_0x066 + clearflag FLAG_0x067 + checkflag FLAG_SYS_WEATHER_CTRL + call_if 1, MossdeepCity_EventScript_27207A + end + +MossdeepCity_EventScript_1E4AB2:: @ 81E4AB2 + lock + faceplayer + checkflag FLAG_0x07B + goto_eq MossdeepCity_EventScript_1E4AC7 + msgbox MossdeepCity_Text_1E4E90, 4 + release + end + +MossdeepCity_EventScript_1E4AC7:: @ 81E4AC7 + msgbox MossdeepCity_Text_1E4F15, 4 + release + end + +MossdeepCity_EventScript_1E4AD1:: @ 81E4AD1 + lock + faceplayer + checkflag FLAG_0x07B + goto_eq MossdeepCity_EventScript_1E4AE6 + msgbox MossdeepCity_Text_1E4F50, 4 + release + end + +MossdeepCity_EventScript_1E4AE6:: @ 81E4AE6 + msgbox MossdeepCity_Text_1E5051, 4 + release + end + +MossdeepCity_EventScript_1E4AF0:: @ 81E4AF0 + msgbox MossdeepCity_Text_1E4E22, 2 + end + +MossdeepCity_EventScript_1E4AF9:: @ 81E4AF9 + msgbox MossdeepCity_Text_1E5135, 2 + end + +MossdeepCity_EventScript_1E4B02:: @ 81E4B02 + msgbox MossdeepCity_Text_1E50D9, 2 + end + +MossdeepCity_EventScript_1E4B0B:: @ 81E4B0B + msgbox MossdeepCity_Text_1E529D, 2 + end + +MossdeepCity_EventScript_1E4B14:: @ 81E4B14 + msgbox MossdeepCity_Text_1E5396, 3 + end + +MossdeepCity_EventScript_1E4B1D:: @ 81E4B1D + msgbox MossdeepCity_Text_1E53A9, 3 + end + +MossdeepCity_EventScript_1E4B26:: @ 81E4B26 + msgbox MossdeepCity_Text_1E53F2, 3 + end + +MossdeepCity_EventScript_1E4B2F:: @ 81E4B2F + msgbox MossdeepCity_Text_1E541F, 3 + end + +MossdeepCity_EventScript_1E4B38:: @ 81E4B38 + setflag FLAG_VISITED_MOSSDEEP_CITY + setvar VAR_0x4001, 1 + end + +MossdeepCity_EventScript_1E4B41:: @ 81E4B41 + lockall + applymovement 14, MossdeepCity_Movement_1E4BAD + waitmovement 0 + applymovement 10, MossdeepCity_Movement_1E4BB7 + applymovement 11, MossdeepCity_Movement_1E4BB7 + applymovement 12, MossdeepCity_Movement_1E4BB7 + applymovement 13, MossdeepCity_Movement_1E4BB7 + waitmovement 0 + applymovement 14, MossdeepCity_Movement_1E4BBC + applymovement 10, MossdeepCity_Movement_1E4BCA + applymovement 11, MossdeepCity_Movement_1E4BDD + applymovement 12, MossdeepCity_Movement_1E4BEF + applymovement 13, MossdeepCity_Movement_1E4C00 + waitmovement 0 + removeobject 14 + removeobject 10 + removeobject 11 + removeobject 12 + removeobject 13 + delay 30 + setvar VAR_0x405D, 2 + setflag FLAG_0x337 + releaseall + end + +MossdeepCity_Movement_1E4BAD: @ 81E4BAD + step_14 + step_03 + step_14 + step_14 + step_14 + step_14 + step_02 + step_14 + step_14 + step_end + +MossdeepCity_Movement_1E4BB7: @ 81E4BB7 + step_03 + step_14 + step_14 + step_14 + step_end + +MossdeepCity_Movement_1E4BBC: @ 81E4BBC + step_down + step_right + step_right + step_down + step_down + step_down + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_end + +MossdeepCity_Movement_1E4BCA: @ 81E4BCA + step_14 + step_13 + step_down + step_down + step_down + step_right + step_right + step_right + step_down + step_down + step_down + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_end + +MossdeepCity_Movement_1E4BDD: @ 81E4BDD + step_14 + step_13 + step_down + step_down + step_right + step_right + step_right + step_down + step_down + step_down + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_end + +MossdeepCity_Movement_1E4BEF: @ 81E4BEF + step_14 + step_13 + step_down + step_right + step_right + step_right + step_down + step_down + step_down + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_end + +MossdeepCity_Movement_1E4C00: @ 81E4C00 + step_14 + step_13 + step_right + step_right + step_right + step_down + step_down + step_down + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_end + +MossdeepCity_EventScript_1E4C10:: @ 81E4C10 + lock + faceplayer + msgbox MossdeepCity_Text_1E5213, 4 + applymovement VAR_LAST_TALKED, MossdeepCity_Movement_2725A2 + waitmovement 0 + release + end + +MossdeepCity_EventScript_1E4C26:: @ 81E4C26 + lock + faceplayer + checkflag FLAG_0x114 + goto_eq MossdeepCity_EventScript_1E4C68 + msgbox MossdeepCity_Text_1E4CED, 5 + compare VAR_RESULT, 0 + goto_eq MossdeepCity_EventScript_1E4C72 + msgbox MossdeepCity_Text_1E4D5B, 4 + giveitem_std ITEM_KINGS_ROCK + compare VAR_RESULT, 0 + goto_eq MossdeepCity_EventScript_272054 + setflag FLAG_0x114 + release + end + +MossdeepCity_EventScript_1E4C68:: @ 81E4C68 + msgbox MossdeepCity_Text_1E4DB3, 4 + release + end + +MossdeepCity_EventScript_1E4C72:: @ 81E4C72 + msgbox MossdeepCity_Text_1E4DD7, 4 + release + end + +MossdeepCity_EventScript_1E4C7C:: @ 81E4C7C + msgbox MossdeepCity_Text_1E5581, 2 + end + +MossdeepCity_EventScript_1E4C85:: @ 81E4C85 + lock + faceplayer + msgbox MossdeepCity_Text_1E5453, 4 + closemessage + compare VAR_FACING, 2 + call_if 1, MossdeepCity_EventScript_1E4CB0 + compare VAR_FACING, 4 + call_if 1, MossdeepCity_EventScript_1E4CC2 + addvar VAR_0x40D1, 1 + removeobject 16 + release + end + +MossdeepCity_EventScript_1E4CB0:: @ 81E4CB0 + applymovement 255, MossdeepCity_Movement_1E4CD4 + applymovement 16, MossdeepCity_Movement_1E4CD8 + waitmovement 0 + return + +MossdeepCity_EventScript_1E4CC2:: @ 81E4CC2 + applymovement 255, MossdeepCity_Movement_1E4CD4 + applymovement 16, MossdeepCity_Movement_1E4CE2 + waitmovement 0 + return + +MossdeepCity_Movement_1E4CD4: @ 81E4CD4 + step_14 + step_14 + step_27 + step_end + +MossdeepCity_Movement_1E4CD8: @ 81E4CD8 + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +MossdeepCity_Movement_1E4CE2: @ 81E4CE2 + step_down + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +MossdeepCity_Text_1E4CED: @ 81E4CED + .string "I got this from STEVEN, but I don’t\n" + .string "know what it’s good for.\p" + .string "I think it’s called KING’S ROCK.\n" + .string "Do you want it?$" + +MossdeepCity_Text_1E4D5B: @ 81E4D5B + .string "Why would you want it?\n" + .string "You’re weird.\p" + .string "You can keep it, but keep it a secret\n" + .string "from STEVEN.$" + +MossdeepCity_Text_1E4DB3: @ 81E4DB3 + .string "STEVEN’s house is right over there!$" + +MossdeepCity_Text_1E4DD7: @ 81E4DD7 + .string "Yeah, you think so, too! What are you\n" + .string "supposed to do with some weird rock?$" + +MossdeepCity_Text_1E4E22: @ 81E4E22 + .string "Around MOSSDEEP, you can see wild\n" + .string "WAILMER.\p" + .string "It’s called, uh…\n" + .string "What was it now…\p" + .string "WAI, WAI, WAI…\p" + .string "WAILMER watching!$" + +MossdeepCity_Text_1E4E90: @ 81E4E90 + .string "The island’s SPACE CENTER has been\n" + .string "launching huge rockets.\p" + .string "There’s been some kind of an uproar\n" + .string "over a letter they received recently.$" + +MossdeepCity_Text_1E4F15: @ 81E4F15 + .string "The island’s SPACE CENTER has been\n" + .string "launching huge rockets.$" + +MossdeepCity_Text_1E4F50: @ 81E4F50 + .string "I heard from a SAILOR buddy that\n" + .string "TEAM AQUA set up shop in LILYCOVE.\p" + .string "I also heard that someone came along\n" + .string "and wiped the floor with them!\p" + .string "But MOSSDEEP here’s been targeted\n" + .string "by that TEAM MAGMA.\p" + .string "If you want to know what they’re up to,\n" + .string "go visit the SPACE CENTER.$" + +MossdeepCity_Text_1E5051: @ 81E5051 + .string "I’m a SAILOR, so the sea’s obviously\n" + .string "more important to me.\p" + .string "But you know? When I get back on land\n" + .string "after a long voyage, I do feel relief!$" + +MossdeepCity_Text_1E50D9: @ 81E50D9 + .string "Wouldn’t it be nice?\p" + .string "If the whole world was covered in\n" + .string "plants and flowers like this island?$" + +MossdeepCity_Text_1E5135: @ 81E5135 + .string "All life needs the sea to live, even\n" + .string "though it makes its home on the land.\p" + .string "Life, having run its course, becomes\n" + .string "soil and returns to the land.\p" + .string "And the sea is always connected to\n" + .string "the land.\p" + .string "Yes, like the very shoreline here.$" + +MossdeepCity_Text_1E5213: @ 81E5213 + .string "A voyage on a ship is fine.\p" + .string "But crossing the sea with POKéMON\n" + .string "using SURF…\p" + .string "Now that’s an exhilarating trip!\n" + .string "Wouldn’t you agree, youngster?$" + +MossdeepCity_Text_1E529D: @ 81E529D + .string "This rock has a special meaning to\n" + .string "the people at the SPACE CENTER.\p" + .string "They put it here as their wish for\n" + .string "their rockets to fly safely.\p" + .string "When you make a wish, what do you use?\n" + .string "Do you wish upon a star?\p" + .string "I use a wish tag to make it happen.\n" + .string "That’s what I do.$" + +MossdeepCity_Text_1E5396: @ 81E5396 + .string "It’s a white rock.$" + +MossdeepCity_Text_1E53A9: @ 81E53A9 + .string "MOSSDEEP CITY POKéMON GYM\n" + .string "LEADERS: LIZA & TATE\p" + .string "“The mystic combination!”$" + +MossdeepCity_Text_1E53F2: @ 81E53F2 + .string "MOSSDEEP CITY\n" + .string "“Our slogan: Cherish POKéMON!”$" + +MossdeepCity_Text_1E541F: @ 81E541F + .string "MOSSDEEP SPACE CENTER\n" + .string "“The closest place to space.”$" + +MossdeepCity_Text_1E5453: @ 81E5453 + .string "SCOTT: {PLAYER}{KUN}, feeling good?\n" + .string "I’m doing great!\p" + .string "I’d heard MOSSDEEP’s GYM LEADER is\n" + .string "pretty strong, so I decided to come\l" + .string "take a look-see for myself.\p" + .string "But there’s something wrong about\n" + .string "this town.\p" + .string "People are going on about a warning\n" + .string "letter and the SPACE CENTER…\p" + .string "I don’t think it concerns me in any\n" + .string "way, though.$" + +MossdeepCity_Text_1E5581: @ 81E5581 + .string "Ahh… It feels great letting the waves\n" + .string "wash over my feet…\p" + .string "Speaking of the waves, you know that\n" + .string "island city SOOTOPOLIS?\p" + .string "I think the GYM there had a new\n" + .string "LEADER come in.\p" + .string "People tell me the new LEADER once\n" + .string "mentored WALLACE.$" + diff --git a/data/scripts/maps/MossdeepCity_GameCorner_1F.inc b/data/scripts/maps/MossdeepCity_GameCorner_1F.inc new file mode 100644 index 0000000000..ff5c14206f --- /dev/null +++ b/data/scripts/maps/MossdeepCity_GameCorner_1F.inc @@ -0,0 +1,80 @@ +MossdeepCity_GameCorner_1F_MapScripts:: @ 8224B27 + map_script 2, MossdeepCity_GameCorner_1F_MapScript2_224B41 + map_script 4, MossdeepCity_GameCorner_1F_MapScript2_224B37 + map_script 1, MossdeepCity_GameCorner_1F_MapScript1_276BBE + .byte 0 + +MossdeepCity_GameCorner_1F_MapScript2_224B37: @ 8224B37 + map_script_2 VAR_0x4087, 8, MossdeepCity_GameCorner_1F_EventScript_276BAE + .2byte 0 + +MossdeepCity_GameCorner_1F_MapScript2_224B41: @ 8224B41 + map_script_2 VAR_0x4087, 8, MossdeepCity_GameCorner_1F_EventScript_276C9D + .2byte 0 + +MossdeepCity_GameCorner_1F_EventScript_224B4B:: @ 8224B4B + lock + faceplayer + goto MossdeepCity_GameCorner_1F_EventScript_277C34 + release + end + +MossdeepCity_GameCorner_1F_EventScript_224B54:: @ 8224B54 + lock + faceplayer + goto MossdeepCity_GameCorner_1F_EventScript_277C91 + release + end + +MossdeepCity_GameCorner_1F_EventScript_224B5D:: @ 8224B5D + msgbox MossdeepCity_GameCorner_1F_Text_224BFD, 3 + end + +MossdeepCity_GameCorner_1F_Text_224B66: @ 8224B66 + .string "When I was young, I traveled the world\n" + .string "as a POKéMON TRAINER.\p" + .string "Now that I’ve become an old buzzard,\n" + .string "my only amusement is watching young\l" + .string "TRAINERS battle.$" + +MossdeepCity_GameCorner_1F_Text_224BFD: @ 8224BFD + .string "The door appears to be locked.$" + +MossdeepCity_GameCorner_1F_Text_224C1C: @ 8224C1C + .string "A TRAINER named {STR_VAR_1} is\n" + .string "visiting my home.\p" + .string "Would you like to challenge\n" + .string "{STR_VAR_1}?$" + +MossdeepCity_GameCorner_1F_Text_224C64: @ 8224C64 + .string "You won’t battle? I’m disappointed\n" + .string "that I can’t see you battle…$" + +MossdeepCity_GameCorner_1F_Text_224CA4: @ 8224CA4 + .string "Oh, good, good!\p" + .string "But my house isn’t all that sturdy.\p" + .string "Could I ask you to keep it down to\n" + .string "a 3-on-3 match?$" + +MossdeepCity_GameCorner_1F_Text_224D0B: @ 8224D0B + .string "Before you two battle, you should\n" + .string "save your progress.$" + +MossdeepCity_GameCorner_1F_Text_224D41: @ 8224D41 + .string "I hope to see a good match!$" + +MossdeepCity_GameCorner_1F_Text_224D5D: @ 8224D5D + .string "So, it became a standoff.\p" + .string "It was a brilliant match in which\n" + .string "neither side conceded a step!$" + +MossdeepCity_GameCorner_1F_Text_224DB7: @ 8224DB7 + .string "That was superlative!\p" + .string "Why, it was like seeing myself in\n" + .string "my youth again!$" + +MossdeepCity_GameCorner_1F_Text_224DFF: @ 8224DFF + .string "Ah, too bad for you!\p" + .string "But it was a good match.\n" + .string "I hope you can win next time.$" + diff --git a/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc b/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc new file mode 100644 index 0000000000..695be3c6ec --- /dev/null +++ b/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc @@ -0,0 +1,3 @@ +MossdeepCity_GameCorner_B1F_MapScripts:: @ 8224E4B + .byte 0 + diff --git a/data/scripts/maps/MossdeepCity_Gym.inc b/data/scripts/maps/MossdeepCity_Gym.inc new file mode 100644 index 0000000000..972d5f4e8d --- /dev/null +++ b/data/scripts/maps/MossdeepCity_Gym.inc @@ -0,0 +1,658 @@ +MossdeepCity_Gym_MapScripts:: @ 8220800 + map_script 1, MossdeepCity_Gym_MapScript1_220806 + .byte 0 + +MossdeepCity_Gym_MapScript1_220806: @ 8220806 + checkflag FLAG_0x064 + goto_eq MossdeepCity_Gym_EventScript_22083D + goto MossdeepCity_Gym_EventScript_220815 + end + +MossdeepCity_Gym_EventScript_220815:: @ 8220815 + checkflag FLAG_0x065 + goto_eq MossdeepCity_Gym_EventScript_220855 + goto MossdeepCity_Gym_EventScript_220824 + end + +MossdeepCity_Gym_EventScript_220824:: @ 8220824 + checkflag FLAG_0x066 + goto_eq MossdeepCity_Gym_EventScript_22086D + goto MossdeepCity_Gym_EventScript_220833 + end + +MossdeepCity_Gym_EventScript_220833:: @ 8220833 + checkflag FLAG_0x067 + goto_eq MossdeepCity_Gym_EventScript_220885 + end + +MossdeepCity_Gym_EventScript_22083D:: @ 822083D + setmetatile 5, 5, 516, 0 + setmetatile 2, 7, 569, 1 + goto MossdeepCity_Gym_EventScript_220815 + end + +MossdeepCity_Gym_EventScript_220855:: @ 8220855 + setmetatile 8, 14, 516, 0 + setmetatile 8, 10, 569, 1 + goto MossdeepCity_Gym_EventScript_220824 + end + +MossdeepCity_Gym_EventScript_22086D:: @ 822086D + setmetatile 15, 17, 524, 0 + setmetatile 17, 15, 569, 1 + goto MossdeepCity_Gym_EventScript_220833 + end + +MossdeepCity_Gym_EventScript_220885:: @ 8220885 + setmetatile 1, 23, 525, 0 + setmetatile 5, 24, 569, 1 + end + +MossdeepCity_Gym_EventScript_220898:: @ 8220898 + trainerbattle 8, TRAINER_TATE_AND_LIZA_1, 0, MossdeepCity_Gym_Text_221783, MossdeepCity_Gym_Text_2218EC, MossdeepCity_Gym_Text_221BCE, MossdeepCity_Gym_EventScript_2208D1 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq MossdeepCity_Gym_EventScript_22097E + checkflag FLAG_0x0AB + goto_if 0, MossdeepCity_Gym_EventScript_220937 + msgbox MossdeepCity_Gym_Text_221B1D, 4 + release + end + +MossdeepCity_Gym_EventScript_2208D1:: @ 82208D1 + message MossdeepCity_Gym_Text_22196A + waitmessage + call MossdeepCity_Gym_EventScript_27207E + msgbox MossdeepCity_Gym_Text_221999, 4 + setflag FLAG_0x4F6 + setflag FLAG_BADGE07_GET + setflag FLAG_0x39C + clearflag FLAG_0x365 + clearflag FLAG_0x393 + setvar VAR_0x8008, 7 + call MossdeepCity_Gym_EventScript_271F43 + clearflag FLAG_0x389 + clearflag FLAG_0x337 + clearflag FLAG_0x2F4 + clearflag FLAG_0x35E + clearflag FLAG_0x35F + setvar VAR_0x405D, 1 + setflag FLAG_0x2F1 + setvar VAR_0x409F, 1 + call MossdeepCity_Gym_EventScript_22095B + closemessage + delay 30 + playfanfare MUS_ME_TORE_EYE + msgbox MossdeepCity_Gym_Text_221AEA, 4 + waitfanfare + closemessage + delay 30 + setflag FLAG_0x1D8 + release + end + +MossdeepCity_Gym_EventScript_220937:: @ 8220937 + giveitem_std ITEM_TM04 + compare VAR_RESULT, 0 + goto_eq MossdeepCity_Gym_EventScript_272054 + msgbox MossdeepCity_Gym_Text_221A40, 4 + setflag FLAG_0x0AB + release + end + +MossdeepCity_Gym_EventScript_22095B:: @ 822095B + giveitem_std ITEM_TM04 + compare VAR_RESULT, 0 + goto_eq MossdeepCity_Gym_EventScript_27205E + msgbox MossdeepCity_Gym_Text_221A40, 4 + setflag FLAG_0x0AB + return + +MossdeepCity_Gym_EventScript_22097E:: @ 822097E + trainerbattle 7, TRAINER_TATE_AND_LIZA_1, 0, MossdeepCity_Gym_Text_221D0B, MossdeepCity_Gym_Text_221E05, MossdeepCity_Gym_Text_221EB8 + msgbox MossdeepCity_Gym_Text_221E45, 6 + end + +MossdeepCity_Gym_EventScript_220999:: @ 8220999 + lockall + checkflag FLAG_0x064 + goto_eq MossdeepCity_Gym_EventScript_2209D0 + setflag FLAG_0x064 + applymovement 255, MossdeepCity_Gym_Movement_220C30 + waitmovement 0 + setmetatile 5, 5, 516, 0 + setmetatile 2, 7, 569, 1 + goto MossdeepCity_Gym_EventScript_2209C8 + end + +MossdeepCity_Gym_EventScript_2209C8:: @ 82209C8 + special DrawWholeMapView + playse SE_TK_KASYA + releaseall + end + +MossdeepCity_Gym_EventScript_2209D0:: @ 82209D0 + clearflag FLAG_0x064 + applymovement 255, MossdeepCity_Gym_Movement_220C30 + waitmovement 0 + setmetatile 5, 5, 524, 0 + setmetatile 2, 7, 568, 1 + goto MossdeepCity_Gym_EventScript_2209C8 + end + +MossdeepCity_Gym_EventScript_2209F5:: @ 82209F5 + lockall + checkflag FLAG_0x065 + goto_eq MossdeepCity_Gym_EventScript_220A24 + setflag FLAG_0x065 + applymovement 255, MossdeepCity_Gym_Movement_220C30 + waitmovement 0 + setmetatile 8, 14, 516, 0 + setmetatile 8, 10, 569, 1 + goto MossdeepCity_Gym_EventScript_2209C8 + end + +MossdeepCity_Gym_EventScript_220A24:: @ 8220A24 + clearflag FLAG_0x065 + applymovement 255, MossdeepCity_Gym_Movement_220C30 + waitmovement 0 + setmetatile 8, 14, 517, 0 + setmetatile 8, 10, 568, 1 + goto MossdeepCity_Gym_EventScript_2209C8 + end + +MossdeepCity_Gym_EventScript_220A49:: @ 8220A49 + lockall + checkflag FLAG_0x066 + goto_eq MossdeepCity_Gym_EventScript_220A78 + setflag FLAG_0x066 + applymovement 255, MossdeepCity_Gym_Movement_220C30 + waitmovement 0 + setmetatile 15, 17, 524, 0 + setmetatile 17, 15, 569, 1 + goto MossdeepCity_Gym_EventScript_2209C8 + end + +MossdeepCity_Gym_EventScript_220A78:: @ 8220A78 + clearflag FLAG_0x066 + applymovement 255, MossdeepCity_Gym_Movement_220C30 + waitmovement 0 + setmetatile 15, 17, 516, 0 + setmetatile 17, 15, 568, 1 + goto MossdeepCity_Gym_EventScript_2209C8 + end + +MossdeepCity_Gym_EventScript_220A9D:: @ 8220A9D + lockall + checkflag FLAG_0x067 + goto_eq MossdeepCity_Gym_EventScript_220ACC + setflag FLAG_0x067 + applymovement 255, MossdeepCity_Gym_Movement_220C30 + waitmovement 0 + setmetatile 1, 23, 525, 0 + setmetatile 5, 24, 569, 1 + goto MossdeepCity_Gym_EventScript_2209C8 + end + +MossdeepCity_Gym_EventScript_220ACC:: @ 8220ACC + clearflag FLAG_0x067 + applymovement 255, MossdeepCity_Gym_Movement_220C30 + waitmovement 0 + setmetatile 1, 23, 516, 0 + setmetatile 5, 24, 568, 1 + goto MossdeepCity_Gym_EventScript_2209C8 + end + +MossdeepCity_Gym_EventScript_220AF1:: @ 8220AF1 + lockall + warp7 MOSSDEEP_CITY_GYM, 255, 7, 30 + waitstate + releaseall + end + +MossdeepCity_Gym_EventScript_220AFD:: @ 8220AFD + trainerbattle 0, TRAINER_PRESTON, 0, MossdeepCity_Gym_Text_220E5C, MossdeepCity_Gym_Text_220EAC + msgbox MossdeepCity_Gym_Text_220ED3, 6 + end + +MossdeepCity_Gym_EventScript_220B14:: @ 8220B14 + trainerbattle 0, TRAINER_VIRGIL, 0, MossdeepCity_Gym_Text_220F02, MossdeepCity_Gym_Text_220F1A + msgbox MossdeepCity_Gym_Text_220F3A, 6 + end + +MossdeepCity_Gym_EventScript_220B2B:: @ 8220B2B + trainerbattle 0, TRAINER_BLAKE, 0, MossdeepCity_Gym_Text_220FB0, MossdeepCity_Gym_Text_221024 + msgbox MossdeepCity_Gym_Text_221055, 6 + end + +MossdeepCity_Gym_EventScript_220B42:: @ 8220B42 + trainerbattle 0, TRAINER_HANNAH, 0, MossdeepCity_Gym_Text_2210EE, MossdeepCity_Gym_Text_221152 + msgbox MossdeepCity_Gym_Text_22116A, 6 + end + +MossdeepCity_Gym_EventScript_220B59:: @ 8220B59 + trainerbattle 0, TRAINER_SAMANTHA, 0, MossdeepCity_Gym_Text_2211E2, MossdeepCity_Gym_Text_221230 + msgbox MossdeepCity_Gym_Text_22123D, 6 + end + +MossdeepCity_Gym_EventScript_220B70:: @ 8220B70 + trainerbattle 0, TRAINER_MAURA, 0, MossdeepCity_Gym_Text_2212A6, MossdeepCity_Gym_Text_221309 + msgbox MossdeepCity_Gym_Text_22132E, 6 + end + +MossdeepCity_Gym_EventScript_220B87:: @ 8220B87 + trainerbattle 0, TRAINER_SYLVIA, 0, MossdeepCity_Gym_Text_2213C2, MossdeepCity_Gym_Text_2213F4 + msgbox MossdeepCity_Gym_Text_221412, 6 + end + +MossdeepCity_Gym_EventScript_220B9E:: @ 8220B9E + trainerbattle 0, TRAINER_NATE, 0, MossdeepCity_Gym_Text_221460, MossdeepCity_Gym_Text_2214A7 + msgbox MossdeepCity_Gym_Text_2214D3, 6 + end + +MossdeepCity_Gym_EventScript_220BB5:: @ 8220BB5 + trainerbattle 0, TRAINER_MACEY, 0, MossdeepCity_Gym_Text_22161B, MossdeepCity_Gym_Text_221658 + msgbox MossdeepCity_Gym_Text_221680, 6 + end + +MossdeepCity_Gym_EventScript_220BCC:: @ 8220BCC + trainerbattle 0, TRAINER_CLIFFORD, 0, MossdeepCity_Gym_Text_22157C, MossdeepCity_Gym_Text_2215B8 + msgbox MossdeepCity_Gym_Text_2215E2, 6 + end + +MossdeepCity_Gym_EventScript_220BE3:: @ 8220BE3 + trainerbattle 0, TRAINER_NICHOLAS, 0, MossdeepCity_Gym_Text_2216EE, MossdeepCity_Gym_Text_22172D + msgbox MossdeepCity_Gym_Text_22173A, 6 + end + +MossdeepCity_Gym_EventScript_220BFA:: @ 8220BFA + trainerbattle 0, TRAINER_KATHLEEN, 0, MossdeepCity_Gym_Text_221507, MossdeepCity_Gym_Text_22153B + msgbox MossdeepCity_Gym_Text_221545, 6 + end + +MossdeepCity_Gym_EventScript_220C11:: @ 8220C11 + lock + faceplayer + checkflag FLAG_0x4F6 + goto_eq MossdeepCity_Gym_EventScript_220C26 + msgbox MossdeepCity_Gym_Text_220CD5, 4 + release + end + +MossdeepCity_Gym_EventScript_220C26:: @ 8220C26 + msgbox MossdeepCity_Gym_Text_220E2A, 4 + release + end + +MossdeepCity_Gym_Movement_220C30: @ 8220C30 + step_14 + step_14 + step_end + +MossdeepCity_Gym_EventScript_220C33:: @ 8220C33 + lockall + checkflag FLAG_BADGE07_GET + goto_eq MossdeepCity_Gym_EventScript_220C53 + goto MossdeepCity_Gym_EventScript_220C5D + end + +MossdeepCity_Gym_EventScript_220C43:: @ 8220C43 + lockall + checkflag FLAG_BADGE07_GET + goto_eq MossdeepCity_Gym_EventScript_220C53 + goto MossdeepCity_Gym_EventScript_220C5D + end + +MossdeepCity_Gym_EventScript_220C53:: @ 8220C53 + msgbox MossdeepCity_Gym_Text_221CCA, 4 + releaseall + end + +MossdeepCity_Gym_EventScript_220C5D:: @ 8220C5D + msgbox MossdeepCity_Gym_Text_221CB0, 4 + releaseall + end + +MossdeepCity_Gym_EventScript_220C67:: @ 8220C67 + playse SE_MU_PACHI + waitse + playse SE_TU_SAA + mossdeepgym3 0 + mossdeepgym1 0 + waitmovement 0 + mossdeepgym2 + waitmovement 0 + mossdeepgym4 + end + +MossdeepCity_Gym_EventScript_220C7D:: @ 8220C7D + playse SE_MU_PACHI + waitse + playse SE_TU_SAA + mossdeepgym3 0 + mossdeepgym1 1 + waitmovement 0 + mossdeepgym2 + waitmovement 0 + mossdeepgym4 + end + +MossdeepCity_Gym_EventScript_220C93:: @ 8220C93 + playse SE_MU_PACHI + waitse + playse SE_TU_SAA + mossdeepgym3 0 + mossdeepgym1 2 + waitmovement 0 + mossdeepgym2 + waitmovement 0 + mossdeepgym4 + end + +MossdeepCity_Gym_EventScript_220CA9:: @ 8220CA9 + playse SE_MU_PACHI + waitse + playse SE_TU_SAA + mossdeepgym3 0 + mossdeepgym1 3 + waitmovement 0 + mossdeepgym2 + waitmovement 0 + mossdeepgym4 + end + +MossdeepCity_Gym_EventScript_220CBF:: @ 8220CBF + playse SE_MU_PACHI + waitse + playse SE_TU_SAA + mossdeepgym3 0 + mossdeepgym1 4 + waitmovement 0 + mossdeepgym2 + waitmovement 0 + mossdeepgym4 + end + +MossdeepCity_Gym_Text_220CD5: @ 8220CD5 + .string "Yo, how’s it going, CHAMPION-bound\n" + .string "{PLAYER}?\p" + .string "The GYM LEADERS here use\n" + .string "PSYCHIC-type POKéMON.\p" + .string "If you go up against them with\n" + .string "FIGHTING- or POISON-type POKéMON,\l" + .string "they’ll inflict horrible damage!\p" + .string "Plus, they’ll come at you with\n" + .string "outstanding combination attacks.\p" + .string "If you want to win, you’ll need to show\n" + .string "them how tight you are with your\l" + .string "POKéMON. Go for it!$" + +MossdeepCity_Gym_Text_220E2A: @ 8220E2A + .string "Wow, you’re astounding!\n" + .string "You’re one great TRAINER!$" + +MossdeepCity_Gym_Text_220E5C: @ 8220E5C + .string "Battles hinge on the strength of your\n" + .string "spirit! The weak-spirited will never win!$" + +MossdeepCity_Gym_Text_220EAC: @ 8220EAC + .string "I lost!\n" + .string "I must temper my spirit again!$" + +MossdeepCity_Gym_Text_220ED3: @ 8220ED3 + .string "The indecisive lose.\n" + .string "That’s my warning to you.$" + +MossdeepCity_Gym_Text_220F02: @ 8220F02 + .string "Let me see your talent!$" + +MossdeepCity_Gym_Text_220F1A: @ 8220F1A + .string "You possess spectacular talent!$" + +MossdeepCity_Gym_Text_220F3A: @ 8220F3A + .string "If there are prodigies in the world,\n" + .string "then our GYM LEADERS are them!\p" + .string "However, you may be even more talented\n" + .string "than them…$" + +MossdeepCity_Gym_Text_220FB0: @ 8220FB0 + .string "Fufufufu… Watch me levitate a POKé\n" + .string "BALL telekinetically!\p" + .string "Wrooooooooaaaar!\n" + .string "… … … … … … …\p" + .string "Sometimes, I’m out of sync…$" + +MossdeepCity_Gym_Text_221024: @ 8221024 + .string "My POKéMON battling skills are out\n" + .string "of sync, too!$" + +MossdeepCity_Gym_Text_221055: @ 8221055 + .string "A POKé BALL was too heavy to lift\n" + .string "psychically. But this dust bunny…\p" + .string "Whoooooooooooooooh!\n" + .string "… … … … … …\p" + .string "No, I’m not cheating!\n" + .string "I didn’t blow on it! Honestly!$" + +MossdeepCity_Gym_Text_2210EE: @ 82210EE + .string "When you lose to me, don’t be too hard\n" + .string "on yourself.\p" + .string "It’s not that you’re weak--I’m just\n" + .string "too strong!$" + +MossdeepCity_Gym_Text_221152: @ 8221152 + .string "You’re just too strong!$" + +MossdeepCity_Gym_Text_22116A: @ 822116A + .string "I’m not going to get down on myself for\n" + .string "losing. I just need to train harder.\p" + .string "Positive thinking--that’s my strong\n" + .string "point!$" + +MossdeepCity_Gym_Text_2211E2: @ 82211E2 + .string "I see it…\n" + .string "I see your future…\p" + .string "If you can beat me, I will tell you\n" + .string "your future!$" + +MossdeepCity_Gym_Text_221230: @ 8221230 + .string "I surrender!$" + +MossdeepCity_Gym_Text_22123D: @ 822123D + .string "You will wage a terrifically intense\n" + .string "battle with our GYM LEADERS…\p" + .string "The result…\n" + .string "You won’t hear it from me!$" + +MossdeepCity_Gym_Text_2212A6: @ 82212A6 + .string "The roads you have traveled…\n" + .string "What you have experienced…\p" + .string "Come at me with everything you’ve\n" + .string "learned!$" + +MossdeepCity_Gym_Text_221309: @ 8221309 + .string "You’ve traveled a path of greatness!$" + +MossdeepCity_Gym_Text_22132E: @ 822132E + .string "A bright future awaits those who have\n" + .string "worked diligently.\p" + .string "For those who lazed idly, there is\n" + .string "only despair at the end.\p" + .string "What goes around comes around…$" + +MossdeepCity_Gym_Text_2213C2: @ 82213C2 + .string "Even at the risk of life, I will win\n" + .string "this battle!$" + +MossdeepCity_Gym_Text_2213F4: @ 82213F4 + .string "What you do…\n" + .string "It horrifies me…$" + +MossdeepCity_Gym_Text_221412: @ 8221412 + .string "How dare you beat me…\p" + .string "It won’t be my fault if something\n" + .string "horrible befalls you…$" + +MossdeepCity_Gym_Text_221460: @ 8221460 + .string "Hohoho.\p" + .string "You need me to show you how tenacious\n" + .string "the PSYCHIC type can be.$" + +MossdeepCity_Gym_Text_2214A7: @ 82214A7 + .string "Oh! My, my!\n" + .string "Your battle style is fantastic!$" + +MossdeepCity_Gym_Text_2214D3: @ 82214D3 + .string "I… I don’t let defeat rattle m-me,\n" + .string "however b-badly.$" + +MossdeepCity_Gym_Text_221507: @ 8221507 + .string "Let me show you a perfectly awful,\n" + .string "horrifying time!$" + +MossdeepCity_Gym_Text_22153B: @ 822153B + .string "N-nooooo!$" + +MossdeepCity_Gym_Text_221545: @ 8221545 + .string "Your vitality is contagious!\n" + .string "Get away from me quickly!$" + +MossdeepCity_Gym_Text_22157C: @ 822157C + .string "I may be past my prime, but I suggest\n" + .string "you not patronize me.$" + +MossdeepCity_Gym_Text_2215B8: @ 82215B8 + .string "Ah, you overflow with the power\n" + .string "of youth!$" + +MossdeepCity_Gym_Text_2215E2: @ 82215E2 + .string "It seems that I could not overcome\n" + .string "your youthful energy.$" + +MossdeepCity_Gym_Text_22161B: @ 822161B + .string "You’re not getting through to the end!\n" + .string "Not if I can help it!$" + +MossdeepCity_Gym_Text_221658: @ 8221658 + .string "How could you be so ludicrously\n" + .string "strong?$" + +MossdeepCity_Gym_Text_221680: @ 8221680 + .string "Humph! You may be strong, but you’re\n" + .string "not suitable for the PSYCHIC type!\p" + .string "The way you battle is somehow brutal!$" + +MossdeepCity_Gym_Text_2216EE: @ 82216EE + .string "Wroooar! Have a taste of my super\n" + .string "POKéMON hard-battling power!$" + +MossdeepCity_Gym_Text_22172D: @ 822172D + .string "Oh!\n" + .string "Done in!$" + +MossdeepCity_Gym_Text_22173A: @ 822173A + .string "All right! I think I’ll develop a special\n" + .string "invincible POKéMON power next.$" + +MossdeepCity_Gym_Text_221783: @ 8221783 + .string "TATE: Hehehe… Were you surprised?\p" + .string "LIZA: Fufufu… Were you surprised?\p" + .string "TATE: That there are two GYM LEADERS?\n" + .string "LIZA: That there are two GYM LEADERS?\p" + .string "TATE: We’re twins!\n" + .string "LIZA: We’re twins!\p" + .string "TATE: We don’t need to talk because…\n" + .string "LIZA: We can each determine what…\p" + .string "TATE: The other is thinking…\n" + .string "LIZA: All in our minds!\p" + .string "TATE: This combination of ours…\n" + .string "LIZA: Can you beat it?$" + +MossdeepCity_Gym_Text_2218EC: @ 82218EC + .string "TATE: What?! Our combination…\n" + .string "LIZA: Was shattered!\p" + .string "TATE: It can’t be helped. You’ve won…\n" + .string "LIZA: So, in recognition, take this.$" + +MossdeepCity_Gym_Text_22196A: @ 822196A + .string "{PLAYER} received the MIND BADGE\n" + .string "from TATE and LIZA.$" + +MossdeepCity_Gym_Text_221999: @ 8221999 + .string "TATE: The MIND BADGE enhances the\n" + .string "SP. ATK and SP. DEF of POKéMON.\p" + .string "LIZA: It also lets you use the HM move\n" + .string "DIVE outside of battle.\p" + .string "TATE: You should also take this, too.$" + +MossdeepCity_Gym_Text_221A40: @ 8221A40 + .string "TATE: That TM04 contains…\n" + .string "LIZA: CALM MIND!\p" + .string "TATE: It raises SP. ATK and…\n" + .string "LIZA: It raises SP. DEF!\p" + .string "TATE: It’s a move that’s perfect…\n" + .string "LIZA: For PSYCHIC POKéMON!\p" + .string "… … … … … …$" + +MossdeepCity_Gym_Text_221AEA: @ 8221AEA + .string "Registered GYM LEADERS TATE & LIZA\n" + .string "in the POKéNAV.$" + +MossdeepCity_Gym_Text_221B1D: @ 8221B1D + .string "TATE: Looks like the bond between you\n" + .string "and your POKéMON is far stronger than\l" + .string "the bond that we share as twins.\p" + .string "LIZA: You will become even stronger!\n" + .string "We’ve battled you, so we know.$" + +MossdeepCity_Gym_Text_221BCE: @ 8221BCE + .string "TATE: Hehehe… Were you surprised?\p" + .string "LIZA: That there are two GYM LEADERS?\p" + .string "TATE: Oops, you have only one…\n" + .string "LIZA: POKéMON that can battle.\p" + .string "TATE: We can’t battle that way!\p" + .string "LIZA: If you want to challenge us,\n" + .string "bring some more POKéMON.$" + +MossdeepCity_Gym_Text_221CB0: @ 8221CB0 + .string "MOSSDEEP CITY POKéMON GYM$" + +MossdeepCity_Gym_Text_221CCA: @ 8221CCA + .string "MOSSDEEP CITY POKéMON GYM\p" + .string "LIZA AND TATE’S CERTIFIED TRAINERS:\n" + .string "{PLAYER}$" + +MossdeepCity_Gym_Text_221D0B: @ 8221D0B + .string "TATE: POKéMON…\n" + .string "LIZA: POKéMON…\p" + .string "TATE: By changing the party’s mix…\n" + .string "LIZA: The battle style changes.\p" + .string "TATE: But me…\n" + .string "LIZA: But me…\p" + .string "TATE: I’ll always be with LIZA!\n" + .string "LIZA: I’ll always be with TATE!\p" + .string "TATE: Our combination…\n" + .string "LIZA: We’ll show you again and again!$" + +MossdeepCity_Gym_Text_221E05: @ 8221E05 + .string "TATE: You and your POKéMON…\n" + .string "LIZA: It’s as if you were siblings!$" + +MossdeepCity_Gym_Text_221E45: @ 8221E45 + .string "TATE: You can knock us down,\n" + .string "but we’ll never stay down!\p" + .string "LIZA: Because the two of us,\n" + .string "we always support each other!$" + +MossdeepCity_Gym_Text_221EB8: @ 8221EB8 + .string "TATE: You’re back again…\n" + .string "LIZA: You’re back again…\p" + .string "TATE: To give us a rematch.\n" + .string "LIZA: To give us a rematch.\p" + .string "TATE: But…\n" + .string "LIZA: For our match…\p" + .string "TATE: You brought just one POKéMON!\n" + .string "LIZA: You brought just one POKéMON!\p" + .string "TATE: We need you to bring at least…\n" + .string "LIZA: Two POKéMON when you come back.$" + diff --git a/data/scripts/maps/MossdeepCity_House1.inc b/data/scripts/maps/MossdeepCity_House1.inc new file mode 100644 index 0000000000..b08d296c76 --- /dev/null +++ b/data/scripts/maps/MossdeepCity_House1.inc @@ -0,0 +1,42 @@ +MossdeepCity_House1_MapScripts:: @ 8221FD5 + .byte 0 + +MossdeepCity_House1_EventScript_221FD6:: @ 8221FD6 + lock + faceplayer + bufferleadmonspeciesname 0 + msgbox MossdeepCity_House1_Text_22200F, 4 + specialvar VAR_RESULT, GetPokeblockNameByMonNature + compare VAR_RESULT, 0 + goto_eq MossdeepCity_House1_EventScript_221FFC + msgbox MossdeepCity_House1_Text_22201D, 4 + release + end + +MossdeepCity_House1_EventScript_221FFC:: @ 8221FFC + msgbox MossdeepCity_House1_Text_222068, 4 + release + end + +MossdeepCity_House1_EventScript_222006:: @ 8222006 + msgbox MossdeepCity_House1_Text_222099, 2 + end + +MossdeepCity_House1_Text_22200F: @ 822200F + .string "Hmm!\n" + .string "Your {STR_VAR_1}…$" + +MossdeepCity_House1_Text_22201D: @ 822201D + .string "It likes {STR_VAR_1}S,\n" + .string "doesn’t it?\p" + .string "No, I’m positive of it! It definitely\n" + .string "likes {STR_VAR_1}S!$" + +MossdeepCity_House1_Text_222068: @ 8222068 + .string "It doesn’t appear to like or dislike\n" + .string "any {POKEBLOCK}S.$" + +MossdeepCity_House1_Text_222099: @ 8222099 + .string "My husband can tell what kind of\n" + .string "{POKEBLOCK}S a POKéMON likes at a glance.$" + diff --git a/data/scripts/maps/MossdeepCity_House2.inc b/data/scripts/maps/MossdeepCity_House2.inc new file mode 100644 index 0000000000..7707690fb1 --- /dev/null +++ b/data/scripts/maps/MossdeepCity_House2.inc @@ -0,0 +1,70 @@ +MossdeepCity_House2_MapScripts:: @ 82220DE + .byte 0 + +MossdeepCity_House2_EventScript_2220DF:: @ 82220DF + msgbox MossdeepCity_House2_Text_222146, 2 + end + +MossdeepCity_House2_EventScript_2220E8:: @ 82220E8 + msgbox MossdeepCity_House2_Text_2221A6, 2 + end + +MossdeepCity_House2_EventScript_2220F1:: @ 82220F1 + lock + faceplayer + waitse + playmoncry SPECIES_WINGULL, 0 + msgbox MossdeepCity_House2_Text_22222E, 4 + waitmoncry + closemessage + setflag FLAG_0x0E0 + clearflag FLAG_0x3A5 + compare VAR_FACING, 2 + call_if 1, MossdeepCity_House2_EventScript_222124 + compare VAR_FACING, 3 + call_if 1, MossdeepCity_House2_EventScript_22212F + removeobject 3 + release + end + +MossdeepCity_House2_EventScript_222124:: @ 8222124 + applymovement 3, MossdeepCity_House2_Movement_22213A + waitmovement 0 + return + +MossdeepCity_House2_EventScript_22212F:: @ 822212F + applymovement 3, MossdeepCity_House2_Movement_222141 + waitmovement 0 + return + +MossdeepCity_House2_Movement_22213A: @ 822213A + step_18 + step_15 + step_15 + step_17 + step_15 + step_13 + step_end + +MossdeepCity_House2_Movement_222141: @ 8222141 + step_15 + step_15 + step_15 + step_13 + step_end + +MossdeepCity_House2_Text_222146: @ 8222146 + .string "My little sister exchanges MAIL with\n" + .string "her boyfriend in FORTREE.\p" + .string "I don’t envy her one bit at all.$" + +MossdeepCity_House2_Text_2221A6: @ 82221A6 + .string "Even though I can’t see my friend in\n" + .string "FORTREE, my POKéMON carries MAIL\l" + .string "back and forth for us.\p" + .string "I’m not lonesome, even though we’re\n" + .string "apart.$" + +MossdeepCity_House2_Text_22222E: @ 822222E + .string "WINGULL: Pihyoh!$" + diff --git a/data/scripts/maps/MossdeepCity_House3.inc b/data/scripts/maps/MossdeepCity_House3.inc new file mode 100644 index 0000000000..dfdbfa956e --- /dev/null +++ b/data/scripts/maps/MossdeepCity_House3.inc @@ -0,0 +1,52 @@ +MossdeepCity_House3_MapScripts:: @ 82225C2 + .byte 0 + +MossdeepCity_House3_EventScript_2225C3:: @ 82225C3 + lock + faceplayer + checkflag FLAG_0x098 + goto_eq MossdeepCity_House3_EventScript_222602 + msgbox MossdeepCity_House3_Text_222616, 5 + compare VAR_RESULT, 0 + goto_eq MossdeepCity_House3_EventScript_22260C + msgbox MossdeepCity_House3_Text_2226B6, 4 + giveitem_std ITEM_SUPER_ROD + setflag FLAG_0x098 + msgbox MossdeepCity_House3_Text_2226F0, 4 + release + end + +MossdeepCity_House3_EventScript_222602:: @ 8222602 + msgbox MossdeepCity_House3_Text_222751, 4 + release + end + +MossdeepCity_House3_EventScript_22260C:: @ 822260C + msgbox MossdeepCity_House3_Text_222733, 4 + release + end + +MossdeepCity_House3_Text_222616: @ 8222616 + .string "Hey there, TRAINER!\n" + .string "A SUPER ROD really is super!\p" + .string "Say all you want, but this baby can\n" + .string "catch POKéMON off the seafloor!\p" + .string "What do you think?\n" + .string "You want it, don’t you?$" + +MossdeepCity_House3_Text_2226B6: @ 82226B6 + .string "You bet, you bet!\n" + .string "After all, a SUPER ROD is really super!$" + +MossdeepCity_House3_Text_2226F0: @ 82226F0 + .string "If there’s any water, try dropping in\n" + .string "your ROD and see what bites!$" + +MossdeepCity_House3_Text_222733: @ 8222733 + .string "Hunh?\n" + .string "Don’t you like to fish?$" + +MossdeepCity_House3_Text_222751: @ 8222751 + .string "Go after the seafloor POKéMON with\n" + .string "your SUPER ROD.$" + diff --git a/data/scripts/maps/MossdeepCity_House4.inc b/data/scripts/maps/MossdeepCity_House4.inc new file mode 100644 index 0000000000..cb3cc0d169 --- /dev/null +++ b/data/scripts/maps/MossdeepCity_House4.inc @@ -0,0 +1,63 @@ +MossdeepCity_House4_MapScripts:: @ 8222DD7 + .byte 0 + +MossdeepCity_House4_EventScript_222DD8:: @ 8222DD8 + lock + faceplayer + checkflag FLAG_SYS_GAME_CLEAR + goto_eq MossdeepCity_House4_EventScript_222DED + msgbox MossdeepCity_House4_Text_222E31, 4 + release + end + +MossdeepCity_House4_EventScript_222DED:: @ 8222DED + msgbox MossdeepCity_House4_Text_222E73, 4 + release + end + +MossdeepCity_House4_EventScript_222DF7:: @ 8222DF7 + lock + faceplayer + special sub_80E8BC8 + compare VAR_RESULT, 0 + goto_eq MossdeepCity_House4_EventScript_222E14 + special GetSecretBaseNearbyMapName + msgbox MossdeepCity_House4_Text_222ECC, 4 + release + end + +MossdeepCity_House4_EventScript_222E14:: @ 8222E14 + msgbox MossdeepCity_House4_Text_222EF7, 4 + release + end + +MossdeepCity_House4_EventScript_222E1E:: @ 8222E1E + lock + faceplayer + waitse + playmoncry SPECIES_SKITTY, 0 + msgbox MossdeepCity_House4_Text_222F31, 4 + waitmoncry + release + end + +MossdeepCity_House4_Text_222E31: @ 8222E31 + .string "My little brother says he likes to go\n" + .string "find people’s SECRET BASES.$" + +MossdeepCity_House4_Text_222E73: @ 8222E73 + .string "My little brother says he likes to\n" + .string "visit people’s SECRET BASES and have\l" + .string "POKéMON battles.$" + +MossdeepCity_House4_Text_222ECC: @ 8222ECC + .string "Was it you who made a SECRET BASE\n" + .string "near {STR_VAR_1}?$" + +MossdeepCity_House4_Text_222EF7: @ 8222EF7 + .string "You should make a SECRET BASE\n" + .string "somewhere. I’ll go find it!$" + +MossdeepCity_House4_Text_222F31: @ 8222F31 + .string "SKITTY: Miyaan?$" + diff --git a/data/scripts/maps/MossdeepCity_Mart.inc b/data/scripts/maps/MossdeepCity_Mart.inc new file mode 100644 index 0000000000..ed7ecd0351 --- /dev/null +++ b/data/scripts/maps/MossdeepCity_Mart.inc @@ -0,0 +1,60 @@ +MossdeepCity_Mart_MapScripts:: @ 82223C7 + .byte 0 + +MossdeepCity_Mart_EventScript_2223C8:: @ 82223C8 + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemart MossdeepCity_Mart_Pokemart_2223E0 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +MossdeepCity_Mart_Pokemart_2223E0: @ 82223E0 + .2byte ITEM_ULTRA_BALL + .2byte ITEM_NET_BALL + .2byte ITEM_DIVE_BALL + .2byte ITEM_HYPER_POTION + .2byte ITEM_FULL_HEAL + .2byte ITEM_REVIVE + .2byte ITEM_MAX_REPEL + .2byte ITEM_X_ATTACK + .2byte ITEM_X_DEFEND + .2byte ITEM_NONE + release + end + +MossdeepCity_Mart_EventScript_2223F6:: @ 82223F6 + msgbox MossdeepCity_Mart_Text_222411, 2 + end + +MossdeepCity_Mart_EventScript_2223FF:: @ 82223FF + msgbox MossdeepCity_Mart_Text_2224A0, 2 + end + +MossdeepCity_Mart_EventScript_222408:: @ 8222408 + msgbox MossdeepCity_Mart_Text_2224FA, 2 + end + +MossdeepCity_Mart_Text_222411: @ 8222411 + .string "REVIVE is fantastic!\p" + .string "Give it to a fainted POKéMON,\n" + .string "and the POKéMON will arise.\p" + .string "But be careful, REVIVE doesn’t restore\n" + .string "the used-up PP of moves.$" + +MossdeepCity_Mart_Text_2224A0: @ 82224A0 + .string "MAX REPEL keeps all weak POKéMON away.\p" + .string "Out of all the REPEL sprays, it lasts\n" + .string "the longest.$" + +MossdeepCity_Mart_Text_2224FA: @ 82224FA + .string "The NET and DIVE BALLS are rare POKé\n" + .string "BALLS that are only made in MOSSDEEP.\p" + .string "A NET BALL is effective against\n" + .string "BUG-type and WATER-type POKéMON.\p" + .string "A DIVE BALL works best on POKéMON\n" + .string "at the bottom of the sea.$" + diff --git a/data/scripts/maps/MossdeepCity_PokemonCenter_1F.inc b/data/scripts/maps/MossdeepCity_PokemonCenter_1F.inc new file mode 100644 index 0000000000..7fd2e61a06 --- /dev/null +++ b/data/scripts/maps/MossdeepCity_PokemonCenter_1F.inc @@ -0,0 +1,36 @@ +MossdeepCity_PokemonCenter_1F_MapScripts:: @ 822223F + map_script 3, MossdeepCity_PokemonCenter_1F_MapScript1_22224A + map_script 5, MossdeepCity_PokemonCenter_1F_MapScript1_277C30 + .byte 0 + +MossdeepCity_PokemonCenter_1F_MapScript1_22224A: @ 822224A + setrespawn 9 + end + +MossdeepCity_PokemonCenter_1F_EventScript_22224E:: @ 822224E + setvar VAR_0x800B, 1 + call MossdeepCity_PokemonCenter_1F_EventScript_27191E + waitmessage + waitbuttonpress + release + end + +MossdeepCity_PokemonCenter_1F_EventScript_22225C:: @ 822225C + msgbox MossdeepCity_PokemonCenter_1F_Text_22226E, 2 + end + +MossdeepCity_PokemonCenter_1F_EventScript_222265:: @ 8222265 + msgbox MossdeepCity_PokemonCenter_1F_Text_2222D9, 2 + end + +MossdeepCity_PokemonCenter_1F_Text_22226E: @ 822226E + .string "The GYM LEADERS in this town are\n" + .string "a formidable duo.\p" + .string "Their combination attacks are, like,\n" + .string "excellent and wow!$" + +MossdeepCity_PokemonCenter_1F_Text_2222D9: @ 82222D9 + .string "Depending on the special abilities of\n" + .string "POKéMON, some moves might change\l" + .string "or not work at all.$" + diff --git a/data/scripts/maps/MossdeepCity_PokemonCenter_2F.inc b/data/scripts/maps/MossdeepCity_PokemonCenter_2F.inc new file mode 100644 index 0000000000..142bce560b --- /dev/null +++ b/data/scripts/maps/MossdeepCity_PokemonCenter_2F.inc @@ -0,0 +1,28 @@ +MossdeepCity_PokemonCenter_2F_MapScripts:: @ 8222334 + map_script 2, MossdeepCity_PokemonCenter_2F_MapScript2_276C3B + map_script 4, MossdeepCity_PokemonCenter_2F_MapScript2_276B6C + map_script 1, MossdeepCity_PokemonCenter_2F_MapScript1_276BBE + map_script 3, MossdeepCity_PokemonCenter_2F_MapScript1_276ACF + .byte 0 + +MossdeepCity_PokemonCenter_2F_EventScript_222349:: @ 8222349 + call OldaleTown_PokemonCenter_2F_EventScript_276EB7 + end + +MossdeepCity_PokemonCenter_2F_EventScript_22234F:: @ 822234F + call OldaleTown_PokemonCenter_2F_EventScript_2770B2 + end + +MossdeepCity_PokemonCenter_2F_EventScript_222355:: @ 8222355 + call OldaleTown_PokemonCenter_2F_EventScript_2771DB + end + +MossdeepCity_PokemonCenter_2F_EventScript_22235B:: @ 822235B + msgbox MossdeepCity_PokemonCenter_2F_Text_222364, 2 + end + +MossdeepCity_PokemonCenter_2F_Text_222364: @ 8222364 + .string "If I win a whole lot of link battles\n" + .string "and show everyone how good I am,\l" + .string "I might get a fan following!$" + diff --git a/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc b/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc new file mode 100644 index 0000000000..8fc55295f8 --- /dev/null +++ b/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc @@ -0,0 +1,439 @@ +MossdeepCity_SpaceCenter_1F_MapScripts:: @ 8222F41 + map_script 1, MossdeepCity_SpaceCenter_1F_MapScript1_222FC2 + map_script 3, MossdeepCity_SpaceCenter_1F_MapScript1_222F4C + .byte 0 + +MossdeepCity_SpaceCenter_1F_MapScript1_222F4C: @ 8222F4C + compare VAR_0x405D, 2 + goto_eq MossdeepCity_SpaceCenter_1F_EventScript_222F58 + end + +MossdeepCity_SpaceCenter_1F_EventScript_222F58:: @ 8222F58 + setobjectxyperm 3, 1, 9 + setobjectmovementtype 3, 10 + setobjectxyperm 5, 0, 8 + setobjectmovementtype 5, 10 + setobjectxyperm 4, 1, 6 + setobjectmovementtype 4, 10 + setobjectxyperm 1, 3, 4 + setobjectmovementtype 1, 10 + setobjectmovementtype 2, 10 + compare VAR_0x409E, 1 + goto_eq MossdeepCity_SpaceCenter_1F_EventScript_222FAA + compare VAR_0x409E, 2 + goto_eq MossdeepCity_SpaceCenter_1F_EventScript_222FB2 + compare VAR_0x409E, 3 + goto_eq MossdeepCity_SpaceCenter_1F_EventScript_222FBA + end + +MossdeepCity_SpaceCenter_1F_EventScript_222FAA:: @ 8222FAA + setobjectxyperm 9, 12, 2 + end + +MossdeepCity_SpaceCenter_1F_EventScript_222FB2:: @ 8222FB2 + setobjectxyperm 9, 13, 3 + end + +MossdeepCity_SpaceCenter_1F_EventScript_222FBA:: @ 8222FBA + setobjectxyperm 9, 14, 2 + end + +MossdeepCity_SpaceCenter_1F_MapScript1_222FC2: @ 8222FC2 + compare VAR_0x405D, 2 + goto_if 3, MossdeepCity_SpaceCenter_1F_EventScript_222FCE + end + +MossdeepCity_SpaceCenter_1F_EventScript_222FCE:: @ 8222FCE + setmetatile 2, 5, 996, 1 + return + +MossdeepCity_SpaceCenter_1F_EventScript_222FD8:: @ 8222FD8 + lock + faceplayer + compare VAR_0x405D, 2 + goto_eq MossdeepCity_SpaceCenter_1F_EventScript_223024 + dodailyevents + specialvar VAR_RESULT, GetWeekCount + buffernumberstring 0, VAR_RESULT + compare VAR_RESULT, 0 + call_if 1, MossdeepCity_SpaceCenter_1F_EventScript_223012 + compare VAR_RESULT, 1 + call_if 4, MossdeepCity_SpaceCenter_1F_EventScript_22301B + closemessage + applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A2 + waitmovement 0 + release + end + +MossdeepCity_SpaceCenter_1F_EventScript_223012:: @ 8223012 + msgbox MossdeepCity_SpaceCenter_1F_Text_2232A7, 4 + return + +MossdeepCity_SpaceCenter_1F_EventScript_22301B:: @ 822301B + msgbox MossdeepCity_SpaceCenter_1F_Text_2232C8, 4 + return + +MossdeepCity_SpaceCenter_1F_EventScript_223024:: @ 8223024 + dodailyevents + specialvar VAR_RESULT, GetWeekCount + buffernumberstring 0, VAR_RESULT + compare VAR_RESULT, 0 + call_if 1, MossdeepCity_SpaceCenter_1F_EventScript_223051 + compare VAR_RESULT, 1 + call_if 4, MossdeepCity_SpaceCenter_1F_EventScript_22305A + closemessage + applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A8 + waitmovement 0 + release + end + +MossdeepCity_SpaceCenter_1F_EventScript_223051:: @ 8223051 + msgbox MossdeepCity_SpaceCenter_1F_Text_223305, 4 + return + +MossdeepCity_SpaceCenter_1F_EventScript_22305A:: @ 822305A + msgbox MossdeepCity_SpaceCenter_1F_Text_22335E, 4 + return + +MossdeepCity_SpaceCenter_1F_EventScript_223063:: @ 8223063 + lock + faceplayer + compare VAR_0x405D, 2 + goto_eq MossdeepCity_SpaceCenter_1F_EventScript_22307A + msgbox MossdeepCity_SpaceCenter_1F_Text_2233D3, 4 + release + end + +MossdeepCity_SpaceCenter_1F_EventScript_22307A:: @ 822307A + msgbox MossdeepCity_SpaceCenter_1F_Text_2234B7, 4 + applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A8 + waitmovement 0 + release + end + +MossdeepCity_SpaceCenter_1F_EventScript_22308E:: @ 822308E + lock + faceplayer + compare VAR_0x405D, 2 + goto_eq MossdeepCity_SpaceCenter_1F_EventScript_2230DA + checkflag FLAG_0x0C0 + goto_eq MossdeepCity_SpaceCenter_1F_EventScript_2230D0 + msgbox MossdeepCity_SpaceCenter_1F_Text_223540, 4 + giveitem_std ITEM_SUN_STONE + compare VAR_RESULT, 0 + goto_eq MossdeepCity_SpaceCenter_1F_EventScript_272054 + setflag FLAG_0x0C0 + msgbox MossdeepCity_SpaceCenter_1F_Text_2235A6, 4 + release + end + +MossdeepCity_SpaceCenter_1F_EventScript_2230D0:: @ 82230D0 + msgbox MossdeepCity_SpaceCenter_1F_Text_2235A6, 4 + release + end + +MossdeepCity_SpaceCenter_1F_EventScript_2230DA:: @ 82230DA + checkflag FLAG_0x0C0 + goto_eq MossdeepCity_SpaceCenter_1F_EventScript_223119 + msgbox MossdeepCity_SpaceCenter_1F_Text_2235F0, 4 + giveitem_std ITEM_SUN_STONE + compare VAR_RESULT, 0 + goto_eq MossdeepCity_SpaceCenter_1F_EventScript_272054 + setflag FLAG_0x0C0 + msgbox MossdeepCity_SpaceCenter_1F_Text_223664, 4 + applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A8 + waitmovement 0 + release + end + +MossdeepCity_SpaceCenter_1F_EventScript_223119:: @ 8223119 + msgbox MossdeepCity_SpaceCenter_1F_Text_223664, 4 + applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A8 + waitmovement 0 + release + end + +MossdeepCity_SpaceCenter_1F_EventScript_22312D:: @ 822312D + lock + faceplayer + checkflag FLAG_SYS_GAME_CLEAR + goto_eq MossdeepCity_SpaceCenter_1F_EventScript_223154 + compare VAR_0x405D, 2 + goto_eq MossdeepCity_SpaceCenter_1F_EventScript_22315E + compare VAR_0x405D, 2 + goto_if 0, MossdeepCity_SpaceCenter_1F_EventScript_223154 + goto MossdeepCity_SpaceCenter_1F_EventScript_22315E + end + +MossdeepCity_SpaceCenter_1F_EventScript_223154:: @ 8223154 + msgbox MossdeepCity_SpaceCenter_1F_Text_2236A6, 4 + release + end + +MossdeepCity_SpaceCenter_1F_EventScript_22315E:: @ 822315E + msgbox MossdeepCity_SpaceCenter_1F_Text_2236E8, 4 + release + end + +MossdeepCity_SpaceCenter_1F_EventScript_223168:: @ 8223168 + lock + faceplayer + checkflag FLAG_SYS_GAME_CLEAR + goto_eq MossdeepCity_SpaceCenter_1F_EventScript_22318F + compare VAR_0x405D, 2 + goto_eq MossdeepCity_SpaceCenter_1F_EventScript_2231A4 + compare VAR_0x405D, 2 + goto_if 0, MossdeepCity_SpaceCenter_1F_EventScript_22318F + goto MossdeepCity_SpaceCenter_1F_EventScript_2231A4 + end + +MossdeepCity_SpaceCenter_1F_EventScript_22318F:: @ 822318F + msgbox MossdeepCity_SpaceCenter_1F_Text_22375B, 4 + closemessage + applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A2 + waitmovement 0 + release + end + +MossdeepCity_SpaceCenter_1F_EventScript_2231A4:: @ 82231A4 + msgbox MossdeepCity_SpaceCenter_1F_Text_2237B5, 4 + closemessage + applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A2 + waitmovement 0 + release + end + +MossdeepCity_SpaceCenter_1F_EventScript_2231B9:: @ 82231B9 + lock + faceplayer + msgbox MossdeepCity_SpaceCenter_1F_Text_223849, 4 + applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A2 + waitmovement 0 + release + end + +MossdeepCity_SpaceCenter_1F_EventScript_2231CF:: @ 82231CF + lockall + msgbox MossdeepCity_SpaceCenter_1F_Text_223C2C, 4 + releaseall + end + +MossdeepCity_SpaceCenter_1F_EventScript_2231DA:: @ 82231DA + trainerbattle 0, TRAINER_GRUNT_32, 0, MossdeepCity_SpaceCenter_1F_Text_22396C, MossdeepCity_SpaceCenter_1F_Text_223999 + msgbox MossdeepCity_SpaceCenter_1F_Text_2239AA, 6 + end + +MossdeepCity_SpaceCenter_1F_EventScript_2231F1:: @ 82231F1 + trainerbattle 0, TRAINER_GRUNT_16, 0, MossdeepCity_SpaceCenter_1F_Text_2239E6, MossdeepCity_SpaceCenter_1F_Text_223A21 + msgbox MossdeepCity_SpaceCenter_1F_Text_223A4B, 6 + end + +MossdeepCity_SpaceCenter_1F_EventScript_223208:: @ 8223208 + trainerbattle 0, TRAINER_GRUNT_33, 0, MossdeepCity_SpaceCenter_1F_Text_223A8A, MossdeepCity_SpaceCenter_1F_Text_223AFA + msgbox MossdeepCity_SpaceCenter_1F_Text_223B37, 6 + end + +MossdeepCity_SpaceCenter_1F_EventScript_22321F:: @ 822321F + lock + faceplayer + checkflag FLAG_0x0BF + goto_eq MossdeepCity_SpaceCenter_1F_EventScript_22326E + msgbox MossdeepCity_SpaceCenter_1F_Text_223B90, 4 + trainerbattle 3, TRAINER_GRUNT_23, 0, MossdeepCity_SpaceCenter_1F_Text_223BC2 + setflag FLAG_0x0BF + moveobjectoffscreen 9 + switch VAR_FACING + case 3, MossdeepCity_SpaceCenter_1F_EventScript_223278 + case 3, MossdeepCity_SpaceCenter_1F_EventScript_223289 + applymovement 9, MossdeepCity_SpaceCenter_1F_Movement_2232A2 + waitmovement 0 + setvar VAR_0x409E, 2 + release + end + +MossdeepCity_SpaceCenter_1F_EventScript_22326E:: @ 822326E + msgbox MossdeepCity_SpaceCenter_1F_Text_223BD3, 4 + release + end + +MossdeepCity_SpaceCenter_1F_EventScript_223278:: @ 8223278 + applymovement 9, MossdeepCity_SpaceCenter_1F_Movement_22329A + waitmovement 0 + setvar VAR_0x409E, 1 + release + end + +MossdeepCity_SpaceCenter_1F_EventScript_223289:: @ 8223289 + applymovement 9, MossdeepCity_SpaceCenter_1F_Movement_22329E + waitmovement 0 + setvar VAR_0x409E, 3 + release + end + +MossdeepCity_SpaceCenter_1F_Movement_22329A: @ 822329A + step_40 + step_left + step_41 + step_end + +MossdeepCity_SpaceCenter_1F_Movement_22329E: @ 822329E + step_40 + step_right + step_41 + step_end + +MossdeepCity_SpaceCenter_1F_Movement_2232A2: @ 82232A2 + step_02 + step_40 + step_right + step_41 + step_end + +MossdeepCity_SpaceCenter_1F_Text_2232A7: @ 82232A7 + .string "The rocket’s launch is imminent!$" + +MossdeepCity_SpaceCenter_1F_Text_2232C8: @ 82232C8 + .string "The rocket launched safely!\n" + .string "That’s successful launch no. {STR_VAR_1}!$" + +MossdeepCity_SpaceCenter_1F_Text_223305: @ 8223305 + .string "I know that things are a little\n" + .string "haywire right now, but…\p" + .string "The rocket’s launch is imminent!$" + +MossdeepCity_SpaceCenter_1F_Text_22335E: @ 822335E + .string "I know that things are a little\n" + .string "haywire right now, but…\p" + .string "The rocket launched safely!\n" + .string "That’s successful launch no. {STR_VAR_1}!$" + +MossdeepCity_SpaceCenter_1F_Text_2233D3: @ 82233D3 + .string "A rocket launch demands perfection.\n" + .string "Not even a 1% margin of error is allowed.\p" + .string "Even if it’s 99% okay, the whole thing\n" + .string "is useless if 1% happens to be no good.\p" + .string "Despite that, we never stop trying.\n" + .string "Why? It’s a dream that never ends.$" + +MossdeepCity_SpaceCenter_1F_Text_2234B7: @ 82234B7 + .string "Those MAGMA thugs have their sights\n" + .string "set on our SPACE CENTER.\p" + .string "But we can’t allow anything that minor\n" + .string "to interfere with our rocket launch!$" + +MossdeepCity_SpaceCenter_1F_Text_223540: @ 8223540 + .string "I was taking a stroll down the beach\n" + .string "when I found this.\p" + .string "It’s not anything I need, so you can\n" + .string "have it.$" + +MossdeepCity_SpaceCenter_1F_Text_2235A6: @ 82235A6 + .string "The HOENN region has been famous for \n" + .string "its meteor showers for a long time.$" + +MossdeepCity_SpaceCenter_1F_Text_2235F0: @ 82235F0 + .string "TEAM MAGMA can’t be allowed to steal\n" + .string "the rocket fuel.\p" + .string "Oh, by the way, you can have this stone\n" + .string "I found on the beach.$" + +MossdeepCity_SpaceCenter_1F_Text_223664: @ 8223664 + .string "With TEAM MAGMA around, I guess\n" + .string "strolls on the beach aren’t safe.$" + +MossdeepCity_SpaceCenter_1F_Text_2236A6: @ 82236A6 + .string "Some people claim that POKéMON came\n" + .string "from space. Could it be true?$" + +MossdeepCity_SpaceCenter_1F_Text_2236E8: @ 82236E8 + .string "TEAM AQUA should take care of\n" + .string "TEAM MAGMA!\p" + .string "But if they did that, TEAM AQUA will\n" + .string "become bold and brazen, won’t they?$" + +MossdeepCity_SpaceCenter_1F_Text_22375B: @ 822375B + .string "A giant chunk of metal bursts through\n" + .string "the skies and flies into space…\p" + .string "It boggles my mind!$" + +MossdeepCity_SpaceCenter_1F_Text_2237B5: @ 82237B5 + .string "A giant chunk of metal bursts through\n" + .string "the skies and flies into space…\p" + .string "But TEAM MAGMA wants to spoil\n" + .string "that dream of mine!\p" + .string "I’m not having any of that!$" + +MossdeepCity_SpaceCenter_1F_Text_223849: @ 8223849 + .string "STEVEN: {PLAYER}{KUN}, have you read that\n" + .string "proclamation already?\p" + .string "TEAM MAGMA is coming after the rocket\n" + .string "fuel on this island.\p" + .string "I don’t know what they’d need it for,\n" + .string "but they can’t be allowed to take it.\p" + .string "I’ll keep an eye on things for\n" + .string "a while longer.\p" + .string "In the meantime, why don’t you go\n" + .string "check out the town?$" + +MossdeepCity_SpaceCenter_1F_Text_22396C: @ 822396C + .string "As promised, we’ve come for\n" + .string "the rocket fuel!$" + +MossdeepCity_SpaceCenter_1F_Text_223999: @ 8223999 + .string "Ran out of fuel…$" + +MossdeepCity_SpaceCenter_1F_Text_2239AA: @ 82239AA + .string "Don’t think you’re on a roll just\n" + .string "because you’ve beaten me!$" + +MossdeepCity_SpaceCenter_1F_Text_2239E6: @ 82239E6 + .string "We gave you fair warning!\n" + .string "There’s nothing sneaky about us!$" + +MossdeepCity_SpaceCenter_1F_Text_223A21: @ 8223A21 + .string "Grrr…\n" + .string "We should’ve used sneaky treachery…$" + +MossdeepCity_SpaceCenter_1F_Text_223A4B: @ 8223A4B + .string "Okay, I get it already! The next time,\n" + .string "we’ll come unannounced.$" + +MossdeepCity_SpaceCenter_1F_Text_223A8A: @ 8223A8A + .string "The rocket fuel the SPACE CENTER has\n" + .string "in storage--that’s what we’re after.\p" + .string "We mean to take every last bit of it!$" + +MossdeepCity_SpaceCenter_1F_Text_223AFA: @ 8223AFA + .string "Please, can you spare some fuel?\n" + .string "Even a chintzy cup will do!$" + +MossdeepCity_SpaceCenter_1F_Text_223B37: @ 8223B37 + .string "What are we going to do with\n" + .string "the rocket fuel?\p" + .string "How would I know?\n" + .string "Ask our leader upstairs!$" + +MossdeepCity_SpaceCenter_1F_Text_223B90: @ 8223B90 + .string "Our leader said no one, but no one,\n" + .string "gets past me!$" + +MossdeepCity_SpaceCenter_1F_Text_223BC2: @ 8223BC2 + .string "Ack! Ack! Aaack!$" + +MossdeepCity_SpaceCenter_1F_Text_223BD3: @ 8223BD3 + .string "Please, tell our leader that\n" + .string "I never abandoned my post.\l" + .string "That I stayed to the bitter end…$" + +MossdeepCity_SpaceCenter_1F_Text_223C2C: @ 8223C2C + .string "This is…\n" + .string "An intent-to-steal notice?\p" + .string "“To the staff of the SPACE CENTER:\n" + .string "How are you? We are doing fine.\p" + .string "“We will soon visit you to take your\n" + .string "rocket fuel.\p" + .string "“Please don’t try to stop us.\n" + .string "We will take the fuel no matter what.\p" + .string "“Let there be more land!\n" + .string " TEAM MAGMA”$" + diff --git a/data/scripts/maps/MossdeepCity_SpaceCenter_2F.inc b/data/scripts/maps/MossdeepCity_SpaceCenter_2F.inc new file mode 100644 index 0000000000..b23da6481d --- /dev/null +++ b/data/scripts/maps/MossdeepCity_SpaceCenter_2F.inc @@ -0,0 +1,524 @@ +MossdeepCity_SpaceCenter_2F_MapScripts:: @ 8223D58 + map_script 3, MossdeepCity_SpaceCenter_2F_MapScript1_223D63 + map_script 2, MossdeepCity_SpaceCenter_2F_MapScript2_223DB5 + .byte 0 + +MossdeepCity_SpaceCenter_2F_MapScript1_223D63: @ 8223D63 + compare VAR_0x405D, 2 + call_if 1, MossdeepCity_SpaceCenter_2F_EventScript_223D7A + compare VAR_0x409F, 2 + call_if 1, MossdeepCity_SpaceCenter_2F_EventScript_223D9F + end + +MossdeepCity_SpaceCenter_2F_EventScript_223D7A:: @ 8223D7A + clearflag FLAG_0x0CD + setobjectxyperm 3, 5, 3 + setobjectmovementtype 3, 10 + setobjectxyperm 1, 3, 2 + setobjectmovementtype 1, 10 + setobjectxyperm 2, 1, 3 + setobjectmovementtype 2, 10 + return + +MossdeepCity_SpaceCenter_2F_EventScript_223D9F:: @ 8223D9F + setobjectxyperm 5, 11, 2 + setobjectxyperm 7, 15, 2 + setobjectxyperm 6, 13, 4 + return + +MossdeepCity_SpaceCenter_2F_MapScript2_223DB5: @ 8223DB5 + map_script_2 VAR_0x409F, 1, MossdeepCity_SpaceCenter_2F_EventScript_223DBF + .2byte 0 + +MossdeepCity_SpaceCenter_2F_EventScript_223DBF:: @ 8223DBF + playse SE_PIN + applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_272598 + waitmovement 0 + applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_27259A + waitmovement 0 + msgbox MossdeepCity_SpaceCenter_2F_Text_2243A4, 5 + compare VAR_RESULT, 1 + goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223E09 + msgbox MossdeepCity_SpaceCenter_2F_Text_2243FE, 4 + closemessage + applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_223E07 + waitmovement 0 + warp MOSSDEEP_CITY_SPACE_CENTER_1F, 255, 13, 1 + waitstate + releaseall + end + +MossdeepCity_SpaceCenter_2F_Movement_223E07: @ 8223E07 + step_up + step_end + +MossdeepCity_SpaceCenter_2F_EventScript_223E09:: @ 8223E09 + msgbox MossdeepCity_SpaceCenter_2F_Text_22442D, 4 + trainerbattle 3, TRAINER_GRUNT_34, 0, MossdeepCity_SpaceCenter_2F_Text_224461 + applymovement 6, MossdeepCity_SpaceCenter_2F_Movement_223E85 + waitmovement 0 + applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_2725A4 + waitmovement 0 + msgbox MossdeepCity_SpaceCenter_2F_Text_22446E, 4 + trainerbattle 3, TRAINER_GRUNT_35, 0, MossdeepCity_SpaceCenter_2F_Text_224499 + applymovement 5, MossdeepCity_SpaceCenter_2F_Movement_223E81 + waitmovement 0 + applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_2725A8 + waitmovement 0 + msgbox MossdeepCity_SpaceCenter_2F_Text_2244AB, 4 + trainerbattle 3, TRAINER_GRUNT_36, 0, MossdeepCity_SpaceCenter_2F_Text_2244F1 + applymovement 7, MossdeepCity_SpaceCenter_2F_Movement_223E89 + waitmovement 0 + setvar VAR_0x409F, 2 + moveobjectoffscreen 5 + moveobjectoffscreen 7 + moveobjectoffscreen 6 + releaseall + end + +MossdeepCity_SpaceCenter_2F_Movement_223E81: @ 8223E81 + step_40 + step_left + step_41 + step_end + +MossdeepCity_SpaceCenter_2F_Movement_223E85: @ 8223E85 + step_40 + step_down + step_41 + step_end + +MossdeepCity_SpaceCenter_2F_Movement_223E89: @ 8223E89 + step_40 + step_right + step_41 + step_end + +MossdeepCity_SpaceCenter_2F_EventScript_223E8D:: @ 8223E8D + lock + faceplayer + checkflag FLAG_SYS_GAME_CLEAR + goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223EB4 + compare VAR_0x405D, 2 + goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223EBE + compare VAR_0x405D, 2 + goto_if 0, MossdeepCity_SpaceCenter_2F_EventScript_223EB4 + goto MossdeepCity_SpaceCenter_2F_EventScript_223EBE + end + +MossdeepCity_SpaceCenter_2F_EventScript_223EB4:: @ 8223EB4 + msgbox MossdeepCity_SpaceCenter_2F_Text_2241A1, 4 + release + end + +MossdeepCity_SpaceCenter_2F_EventScript_223EBE:: @ 8223EBE + msgbox MossdeepCity_SpaceCenter_2F_Text_22420C, 4 + release + end + +MossdeepCity_SpaceCenter_2F_EventScript_223EC8:: @ 8223EC8 + lock + faceplayer + checkflag FLAG_SYS_GAME_CLEAR + goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223EEF + compare VAR_0x405D, 2 + goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223EF9 + compare VAR_0x405D, 2 + goto_if 0, MossdeepCity_SpaceCenter_2F_EventScript_223EEF + goto MossdeepCity_SpaceCenter_2F_EventScript_223EF9 + end + +MossdeepCity_SpaceCenter_2F_EventScript_223EEF:: @ 8223EEF + msgbox MossdeepCity_SpaceCenter_2F_Text_224253, 4 + release + end + +MossdeepCity_SpaceCenter_2F_EventScript_223EF9:: @ 8223EF9 + msgbox MossdeepCity_SpaceCenter_2F_Text_2242C5, 4 + release + end + +MossdeepCity_SpaceCenter_2F_EventScript_223F03:: @ 8223F03 + lock + faceplayer + checkflag FLAG_SYS_GAME_CLEAR + goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223F2A + compare VAR_0x405D, 2 + goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223F34 + compare VAR_0x405D, 2 + goto_if 0, MossdeepCity_SpaceCenter_2F_EventScript_223F2A + goto MossdeepCity_SpaceCenter_2F_EventScript_223F34 + end + +MossdeepCity_SpaceCenter_2F_EventScript_223F2A:: @ 8223F2A + msgbox MossdeepCity_SpaceCenter_2F_Text_224342, 4 + release + end + +MossdeepCity_SpaceCenter_2F_EventScript_223F34:: @ 8223F34 + msgbox MossdeepCity_SpaceCenter_2F_Text_224376, 4 + release + end + +MossdeepCity_SpaceCenter_2F_EventScript_223F3E:: @ 8223F3E + msgbox MossdeepCity_SpaceCenter_2F_Text_22452C, 2 + end + +MossdeepCity_SpaceCenter_2F_EventScript_223F47:: @ 8223F47 + msgbox MossdeepCity_SpaceCenter_2F_Text_224570, 2 + end + +MossdeepCity_SpaceCenter_2F_EventScript_223F50:: @ 8223F50 + msgbox MossdeepCity_SpaceCenter_2F_Text_2245AF, 2 + end + +MossdeepCity_SpaceCenter_2F_EventScript_223F59:: @ 8223F59 + lock + faceplayer + msgbox MossdeepCity_SpaceCenter_2F_Text_2245D9, 4 + applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_2F_Movement_2725A2 + waitmovement 0 + release + end + +MossdeepCity_SpaceCenter_2F_EventScript_223F6F:: @ 8223F6F + lockall + msgbox MossdeepCity_SpaceCenter_2F_Text_22467B, 4 + releaseall + end + +MossdeepCity_SpaceCenter_2F_EventScript_223F7A:: @ 8223F7A + lockall + checkflag FLAG_0x0CD + goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223FDA + setflag FLAG_0x0CD + msgbox MossdeepCity_SpaceCenter_2F_Text_2246B2, 4 + msgbox MossdeepCity_SpaceCenter_2F_Text_2246F0, 4 + closemessage + delay 30 + playse SE_KOUKA_L + switch VAR_FACING + case 1, MossdeepCity_SpaceCenter_2F_EventScript_223FBA + applymovement 4, MossdeepCity_SpaceCenter_2F_Movement_223FC6 + waitmovement 0 + releaseall + end + +MossdeepCity_SpaceCenter_2F_EventScript_223FBA:: @ 8223FBA + applymovement 4, MossdeepCity_SpaceCenter_2F_Movement_223FCF + waitmovement 0 + releaseall + end + +MossdeepCity_SpaceCenter_2F_Movement_223FC6: @ 8223FC6 + step_40 + step_16 + step_16 + step_41 + step_14 + step_14 + slow_step_down + slow_step_down + step_end + +MossdeepCity_SpaceCenter_2F_Movement_223FCF: @ 8223FCF + step_02 + step_40 + step_18 + step_18 + step_41 + step_14 + step_14 + slow_step_left + slow_step_left + step_00 + step_end + +MossdeepCity_SpaceCenter_2F_EventScript_223FDA:: @ 8223FDA + applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_2F_Movement_27259E + waitmovement 0 + msgbox MossdeepCity_SpaceCenter_2F_Text_2247FF, 5 + compare VAR_RESULT, 1 + goto_eq MossdeepCity_SpaceCenter_2F_EventScript_22400C + msgbox MossdeepCity_SpaceCenter_2F_Text_224854, 4 + closemessage + applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_2F_Movement_2725AA + waitmovement 0 + releaseall + end + +MossdeepCity_SpaceCenter_2F_EventScript_22400C:: @ 822400C + applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_2F_Movement_2725AA + waitmovement 0 + special copy_player_party_to_sav1 + fadescreen 1 + special sub_80F9438 + waitstate + compare VAR_RESULT, 0 + goto_if 5, MossdeepCity_SpaceCenter_2F_EventScript_224032 + special copy_player_party_from_sav1 + goto MossdeepCity_SpaceCenter_2F_EventScript_223FDA + +MossdeepCity_SpaceCenter_2F_EventScript_224032:: @ 8224032 + special sub_80F94E8 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 4 + special sub_81A1780 + setvar VAR_0x8004, 8 + setvar VAR_0x8005, 0 + special sub_8163AC4 + waitstate + setvar VAR_0x8004, 6 + special sub_81A1780 + special copy_player_party_from_sav1 + switch VAR_RESULT + case 1, MossdeepCity_SpaceCenter_2F_EventScript_224071 + fadescreen 1 + special sp0C8_whiteout_maybe + waitstate + +MossdeepCity_SpaceCenter_2F_EventScript_224071:: @ 8224071 + msgbox MossdeepCity_SpaceCenter_2F_Text_2248C2, 4 + closemessage + delay 20 + applymovement 9, MossdeepCity_SpaceCenter_2F_Movement_2725A4 + applymovement 8, MossdeepCity_SpaceCenter_2F_Movement_2725AA + waitmovement 0 + delay 60 + applymovement 9, MossdeepCity_SpaceCenter_2F_Movement_2725A6 + applymovement 8, MossdeepCity_SpaceCenter_2F_Movement_2725A8 + waitmovement 0 + delay 20 + msgbox MossdeepCity_SpaceCenter_2F_Text_2249DC, 4 + closemessage + setvar VAR_0x405D, 3 + fadedefaultbgm + fadescreen 1 + setvar VAR_0x409F, 3 + setflag FLAG_0x2F4 + setflag FLAG_0x35E + setflag FLAG_0x337 + removeobject 5 + removeobject 7 + removeobject 6 + removeobject 8 + removeobject 9 + setobjectxy 3, 5, 6 + turnobject 3, 1 + setobjectxy 2, 11, 8 + turnobject 2, 2 + setobjectxy 1, 6, 2 + turnobject 1, 2 + call MossdeepCity_SpaceCenter_2F_EventScript_224131 + fadescreen 0 + msgbox MossdeepCity_SpaceCenter_2F_Text_224A4A, 4 + closemessage + fadescreen 1 + setflag FLAG_0x075 + setflag FLAG_0x3C7 + removeobject 4 + setflag FLAG_0x2E1 + clearflag FLAG_0x3C7 + setvar VAR_0x40C6, 1 + setflag FLAG_0x314 + removeobject 3 + setobjectxyperm 3, 5, 6 + setobjectmovementtype 3, 2 + addobject 3 + fadescreen 0 + end + +MossdeepCity_SpaceCenter_2F_EventScript_224131:: @ 8224131 + switch VAR_FACING + case 1, MossdeepCity_SpaceCenter_2F_EventScript_22414D + case 3, MossdeepCity_SpaceCenter_2F_EventScript_224152 + return + +MossdeepCity_SpaceCenter_2F_EventScript_22414D:: @ 822414D + turnobject 4, 2 + return + +MossdeepCity_SpaceCenter_2F_EventScript_224152:: @ 8224152 + turnobject 4, 4 + return + +MossdeepCity_SpaceCenter_2F_EventScript_224157:: @ 8224157 + trainerbattle 10, TRAINER_MAXIE_3, 0, MossdeepCity_SpaceCenter_2F_Text_22487C, MossdeepCity_SpaceCenter_2F_Text_22487C + end + +MossdeepCity_SpaceCenter_2F_EventScript_224166:: @ 8224166 + trainerbattle 11, TRAINER_TABITHA_1, 0, MossdeepCity_SpaceCenter_Text_2248AD, MossdeepCity_SpaceCenter_Text_2248AD + end + +MossdeepCity_SpaceCenter_2F_EventScript_224175:: @ 8224175 + lockall + checkplayergender + compare VAR_RESULT, 0 + call_if 1, MossdeepCity_SpaceCenter_2F_EventScript_224193 + compare VAR_RESULT, 1 + call_if 1, MossdeepCity_SpaceCenter_2F_EventScript_22419A + closemessage + clearflag FLAG_0x075 + releaseall + end + +MossdeepCity_SpaceCenter_2F_EventScript_224193:: @ 8224193 + pokenavcall MossdeepCity_SpaceCenter_2F_Text_2B38C1 + waitmessage + return + +MossdeepCity_SpaceCenter_2F_EventScript_22419A:: @ 822419A + pokenavcall MossdeepCity_SpaceCenter_2F_Text_2B39C6 + waitmessage + return + +MossdeepCity_SpaceCenter_2F_Text_2241A1: @ 82241A1 + .string "MOSSDEEP has mainly sunny weather,\n" + .string "and its winds are stable.\p" + .string "It’s an ideal location for launching\n" + .string "rockets.$" + +MossdeepCity_SpaceCenter_2F_Text_22420C: @ 822420C + .string "Why would TEAM MAGMA want to steal\n" + .string "our rocket fuel in the first place?$" + +MossdeepCity_SpaceCenter_2F_Text_224253: @ 8224253 + .string "If only I was a little younger, I would\n" + .string "have liked being an astronaut…\p" + .string "No… It’s not too late!\n" + .string "I can and will try!$" + +MossdeepCity_SpaceCenter_2F_Text_2242C5: @ 82242C5 + .string "If TEAM MAGMA takes the rocket fuel,\n" + .string "I won’t be able to go to space!\p" + .string "They can’t be allowed to get away\n" + .string "with such an outrage!$" + +MossdeepCity_SpaceCenter_2F_Text_224342: @ 8224342 + .string "I wish ordinary people could go into\n" + .string "space one day…$" + +MossdeepCity_SpaceCenter_2F_Text_224376: @ 8224376 + .string "TEAM MAGMA…\n" + .string "Do they want to go to space, too?$" + +MossdeepCity_SpaceCenter_2F_Text_2243A4: @ 82243A4 + .string "What’s wrong with you?\p" + .string "You’re outnumbered three to one,\n" + .string "but you still want to take us on?$" + +MossdeepCity_SpaceCenter_2F_Text_2243FE: @ 82243FE + .string "Good answer!\n" + .string "That’s what a smart person’ll do!$" + +MossdeepCity_SpaceCenter_2F_Text_22442D: @ 822442D + .string "A reckless go-getter, are you?\n" + .string "Okay, I’ll go first!$" + +MossdeepCity_SpaceCenter_2F_Text_224461: @ 8224461 + .string "I lost!\n" + .string "But!$" + +MossdeepCity_SpaceCenter_2F_Text_22446E: @ 822446E + .string "It’s too soon to be relieved!\n" + .string "I’m up next!$" + +MossdeepCity_SpaceCenter_2F_Text_224499: @ 8224499 + .string "I lost, too!\n" + .string "But!$" + +MossdeepCity_SpaceCenter_2F_Text_2244AB: @ 82244AB + .string "I bet you want to take a break.\n" + .string "But I’m not about to let you do that!$" + +MossdeepCity_SpaceCenter_2F_Text_2244F1: @ 82244F1 + .string "We should’ve taken a break…\n" + .string "That’s what we should’ve done…$" + +MossdeepCity_SpaceCenter_2F_Text_22452C: @ 822452C + .string "Three of us here, and look at the sorry\n" + .string "mess we got ourselves into.$" + +MossdeepCity_SpaceCenter_2F_Text_224570: @ 8224570 + .string "We three losing like this…\n" + .string "We look worse than usual by triple!$" + +MossdeepCity_SpaceCenter_2F_Text_2245AF: @ 82245AF + .string "Are we being useful to our leader\n" + .string "at all?$" + +MossdeepCity_SpaceCenter_2F_Text_2245D9: @ 82245D9 + .string "Hehehe!\p" + .string "We come all the way here to get some\n" + .string "fuel, and we’re interfered with again!\p" + .string "If you’re going to mess with us too,\n" + .string "we’ll take care of you at the same time!$" + +MossdeepCity_SpaceCenter_2F_Text_22467B: @ 822467B + .string "MAXIE: Clear out of the way!\n" + .string "Don’t you dare interfere!$" + +MossdeepCity_SpaceCenter_2F_Text_2246B2: @ 82246B2 + .string "STEVEN: TEAM MAGMA…\p" + .string "What’s the point of stealing rocket\n" + .string "fuel?$" + +MossdeepCity_SpaceCenter_2F_Text_2246F0: @ 82246F0 + .string "MAXIE: Fufufu… Since you’re so\n" + .string "curious, you deserve an explanation.\p" + .string "We’re going to jettison the entire\n" + .string "load into MT. CHIMNEY!\p" + .string "With GROUDON gone, we have no need\n" + .string "for that slag heap of a mountain!\p" + .string "So we’ll use the fuel’s power to make\n" + .string "the volcano erupt!\p" + .string "It will be savage!$" + +MossdeepCity_SpaceCenter_2F_Text_2247FF: @ 82247FF + .string "STEVEN: {PLAYER}{KUN}!\n" + .string "You’re going to help me?\p" + .string "Let’s go into battle together!\n" + .string "Are you ready?$" + +MossdeepCity_SpaceCenter_2F_Text_224854: @ 8224854 + .string "STEVEN: Then, hurry!\n" + .string "Get ready quickly!$" + +MossdeepCity_SpaceCenter_2F_Text_22487C: @ 822487C + .string "All I want…\n" + .string "I just want to expand the land mass…$" + +MossdeepCity_SpaceCenter_Text_2248AD: @ 82248AD + .string "I’m with our leader…$" + +MossdeepCity_SpaceCenter_2F_Text_2248C2: @ 82248C2 + .string "MAXIE: We failed to make the volcano\n" + .string "erupt…\p" + .string "We failed to control GROUDON after\n" + .string "we had awoken it…\p" + .string "Is our goal to expand the land\n" + .string "misguided?\p" + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "If…\n" + .string "If we, TEAM MAGMA, are wrong…\l" + .string "… … … … … …\p" + .string "Then might TEAM AQUA’s goal to expand\n" + .string "the sea also be equally misguided?$" + +MossdeepCity_SpaceCenter_2F_Text_2249DC: @ 82249DC + .string "MAXIE: All right…\n" + .string "We will give up on the fuel…\p" + .string "There appear to be more important\n" + .string "matters that I must examine…$" + +MossdeepCity_SpaceCenter_2F_Text_224A4A: @ 8224A4A + .string "STEVEN: Whew, that was too tense.\n" + .string "{PLAYER}{KUN}, thank you.\p" + .string "I have something to give you as\n" + .string "thanks for your support.\p" + .string "Please come see me at home\n" + .string "after this.\p" + .string "Oh, yes, I don’t live in RUSTBORO CITY.\n" + .string "I live right here on this island.$" + diff --git a/data/scripts/maps/MossdeepCity_StevensHouse.inc b/data/scripts/maps/MossdeepCity_StevensHouse.inc new file mode 100644 index 0000000000..91bf06c484 --- /dev/null +++ b/data/scripts/maps/MossdeepCity_StevensHouse.inc @@ -0,0 +1,219 @@ +MossdeepCity_StevensHouse_MapScripts:: @ 8222784 + map_script 1, MossdeepCity_StevensHouse_MapScript1_222794 + map_script 3, MossdeepCity_StevensHouse_MapScript1_2227A8 + map_script 2, MossdeepCity_StevensHouse_MapScript2_2227C0 + .byte 0 + +MossdeepCity_StevensHouse_MapScript1_222794: @ 8222794 + checkflag FLAG_SYS_GAME_CLEAR + call_if 0, MossdeepCity_StevensHouse_EventScript_22279E + end + +MossdeepCity_StevensHouse_EventScript_22279E:: @ 822279E + setmetatile 6, 4, 753, 1 + return + +MossdeepCity_StevensHouse_MapScript1_2227A8: @ 82227A8 + compare VAR_0x40C6, 2 + call_if 1, MossdeepCity_StevensHouse_EventScript_2227B4 + end + +MossdeepCity_StevensHouse_EventScript_2227B4:: @ 82227B4 + setobjectxyperm 1, 6, 5 + setobjectmovementtype 1, 7 + return + +MossdeepCity_StevensHouse_MapScript2_2227C0: @ 82227C0 + map_script_2 VAR_0x40C6, 1, MossdeepCity_StevensHouse_EventScript_2227CA + .2byte 0 + +MossdeepCity_StevensHouse_EventScript_2227CA:: @ 82227CA + lockall + applymovement 1, MossdeepCity_StevensHouse_Movement_2725A4 + waitmovement 0 + playse SE_PIN + applymovement 1, MossdeepCity_StevensHouse_Movement_272598 + waitmovement 0 + applymovement 1, MossdeepCity_StevensHouse_Movement_27259A + waitmovement 0 + applymovement 1, MossdeepCity_StevensHouse_Movement_222833 + waitmovement 0 + msgbox MossdeepCity_StevensHouse_Text_222936, 4 + giveitem_std ITEM_HM08 + setflag FLAG_0x07B + setflag FLAG_0x12E + msgbox MossdeepCity_StevensHouse_Text_222A0E, 4 + closemessage + delay 20 + applymovement 1, MossdeepCity_StevensHouse_Movement_22283B + waitmovement 0 + setflag FLAG_0x314 + setflag FLAG_0x3AD + setvar VAR_0x40C6, 2 + releaseall + end + +MossdeepCity_StevensHouse_Movement_222833: @ 8222833 + step_left + step_left + step_left + step_left + step_left + step_left + step_25 + step_end + +MossdeepCity_StevensHouse_Movement_22283B: @ 822283B + step_up + step_right + step_right + step_right + step_26 + step_end + +MossdeepCity_StevensHouse_EventScript_222841:: @ 8222841 + lockall + msgbox MossdeepCity_StevensHouse_Text_222B9E, 5 + compare VAR_RESULT, 0 + goto_eq MossdeepCity_StevensHouse_EventScript_22285B + goto MossdeepCity_StevensHouse_EventScript_222865 + end + +MossdeepCity_StevensHouse_EventScript_22285B:: @ 822285B + msgbox MossdeepCity_StevensHouse_Text_222C2A, 4 + releaseall + end + +MossdeepCity_StevensHouse_EventScript_222865:: @ 8222865 + setvar VAR_0x4001, 398 + givemon SPECIES_BELDUM, 5, ITEM_NONE, 0x0, 0x0, 0 + compare VAR_RESULT, 0 + goto_eq MossdeepCity_StevensHouse_EventScript_222895 + compare VAR_RESULT, 1 + goto_eq MossdeepCity_StevensHouse_EventScript_2228BD + goto MossdeepCity_StevensHouse_EventScript_273811 + end + +MossdeepCity_StevensHouse_EventScript_222895:: @ 8222895 + call MossdeepCity_StevensHouse_EventScript_2228EB + msgbox gUnknown_08273374, 5 + compare VAR_RESULT, 0 + goto_eq MossdeepCity_StevensHouse_EventScript_222901 + call MossdeepCity_StevensHouse_EventScript_27378B + call MossdeepCity_StevensHouse_EventScript_2723DD + goto MossdeepCity_StevensHouse_EventScript_222901 + end + +MossdeepCity_StevensHouse_EventScript_2228BD:: @ 82228BD + call MossdeepCity_StevensHouse_EventScript_2228EB + msgbox gUnknown_08273374, 5 + compare VAR_RESULT, 0 + goto_eq MossdeepCity_StevensHouse_EventScript_2228E0 + call MossdeepCity_StevensHouse_EventScript_273797 + goto MossdeepCity_StevensHouse_EventScript_2228E0 + end + +MossdeepCity_StevensHouse_EventScript_2228E0:: @ 82228E0 + call MossdeepCity_StevensHouse_EventScript_2737A0 + goto MossdeepCity_StevensHouse_EventScript_222901 + end + +MossdeepCity_StevensHouse_EventScript_2228EB:: @ 82228EB + bufferspeciesname 1, SPECIES_BELDUM + removeobject 2 + playfanfare MUS_FANFA4 + message MossdeepCity_StevensHouse_Text_222BED + waitmessage + waitfanfare + bufferspeciesname 0, SPECIES_BELDUM + return + +MossdeepCity_StevensHouse_EventScript_222901:: @ 8222901 + setflag FLAG_0x3C8 + setflag FLAG_0x12A + releaseall + end + +MossdeepCity_StevensHouse_EventScript_222909:: @ 8222909 + msgbox MossdeepCity_StevensHouse_Text_222D97, 3 + end + +MossdeepCity_StevensHouse_EventScript_222912:: @ 8222912 + msgbox MossdeepCity_StevensHouse_Text_222B11, 2 + end + +MossdeepCity_StevensHouse_EventScript_22291B:: @ 822291B + lockall + msgbox MossdeepCity_StevensHouse_Text_222C4E, 4 + releaseall + end + +MossdeepCity_StevensHouse_EventScript_222926:: @ 8222926 + giveitem_std ITEM_HM08, 1, 1 + setflag FLAG_0x07B + end + +MossdeepCity_StevensHouse_Text_222936: @ 8222936 + .string "STEVEN: {PLAYER}{KUN}…\p" + .string "As you can see, there’s not much here,\n" + .string "but this is my home.\p" + .string "Thank you for all that you’ve done.\p" + .string "This is my token of appreciation.\n" + .string "It’s the HIDDEN MACHINE DIVE.\p" + .string "No need to be shy--you’ve earned\n" + .string "this HM.$" + +MossdeepCity_StevensHouse_Text_222A0E: @ 8222A0E + .string "STEVEN: While you’re using SURF, you\n" + .string "should notice dark patches of water.\p" + .string "Use DIVE if you come to deep water\n" + .string "like it. You’ll drop to the seafloor.\p" + .string "When you want to come back up, use\n" + .string "DIVE again.\p" + .string "In some places, it won’t be possible\n" + .string "for you to surface, though.$" + +MossdeepCity_StevensHouse_Text_222B11: @ 8222B11 + .string "STEVEN: Apparently, there’s an\n" + .string "underwater cavern between\l" + .string "MOSSDEEP and SOOTOPOLIS.\p" + .string "You know, the one that CAPT. STERN\n" + .string "found in his submarine.$" + +MossdeepCity_StevensHouse_Text_222B9E: @ 8222B9E + .string "{PLAYER} checked the POKé BALL.\p" + .string "It contained the POKéMON\n" + .string "BELDUM.\p" + .string "Take the POKé BALL?$" + +MossdeepCity_StevensHouse_Text_222BED: @ 8222BED + .string "{PLAYER} obtained a BELDUM.$" + +MossdeepCity_StevensHouse_Text_222C03: @ 8222C03 + .string "There is no space for another POKéMON.$" + +MossdeepCity_StevensHouse_Text_222C2A: @ 8222C2A + .string "{PLAYER} left the POKé BALL where\n" + .string "it was.$" + +MossdeepCity_StevensHouse_Text_222C4E: @ 8222C4E + .string "It’s a letter.\p" + .string "… … … … … …\p" + .string "To {PLAYER}{KUN}…\p" + .string "I’ve decided to do a little soul-\n" + .string "searching and train on the road.\p" + .string "I don’t plan to return home for some\n" + .string "time.\p" + .string "I have a favor to ask of you.\p" + .string "I want you to take the POKé BALL on\n" + .string "the desk.\p" + .string "Inside it is a BELDUM, my favorite\n" + .string "POKéMON.\p" + .string "I’m counting on you.\p" + .string "May our paths cross someday.\p" + .string "STEVEN STONE$" + +MossdeepCity_StevensHouse_Text_222D97: @ 8222D97 + .string "It’s a collection of rare rocks and\n" + .string "stones assembled by STEVEN.$" + diff --git a/data/scripts/maps/MtChimney.inc b/data/scripts/maps/MtChimney.inc new file mode 100644 index 0000000000..e445fc23f8 --- /dev/null +++ b/data/scripts/maps/MtChimney.inc @@ -0,0 +1,869 @@ +MtChimney_MapScripts:: @ 822EDC1 + map_script 5, MtChimney_MapScript1_22EDD2 + map_script 3, MtChimney_MapScript1_22EDCC + .byte 0 + +MtChimney_MapScript1_22EDCC: @ 822EDCC + setvar VAR_0x40BD, 1 + end + +MtChimney_MapScript1_22EDD2: @ 822EDD2 + setstepcallback 1 + end + +MtChimney_EventScript_22EDD5:: @ 822EDD5 + lock + faceplayer + checkflag FLAG_0x0DB + call_if 0, MtChimney_EventScript_22EDF9 + checkflag FLAG_0x0DB + call_if 1, MtChimney_EventScript_22EE02 + closemessage + applymovement 1, MtChimney_Movement_2725A2 + waitmovement 0 + setflag FLAG_0x0DB + release + end + +MtChimney_EventScript_22EDF9:: @ 822EDF9 + msgbox MtChimney_Text_22FAD2, 4 + return + +MtChimney_EventScript_22EE02:: @ 822EE02 + msgbox MtChimney_Text_22FBC7, 4 + return + +MtChimney_EventScript_22EE0B:: @ 822EE0B + lockall + playbgm MUS_MGM0, 0 + msgbox MtChimney_Text_22F26A, 4 + applymovement 2, MtChimney_Movement_27259E + waitmovement 0 + playse SE_PIN + applymovement 2, MtChimney_Movement_272598 + waitmovement 0 + applymovement 2, MtChimney_Movement_27259A + waitmovement 0 + msgbox MtChimney_Text_22F32E, 4 + trainerbattle 3, TRAINER_MAXIE_2, 0, MtChimney_Text_22F5CF + msgbox MtChimney_Text_22F5F7, 4 + closemessage + delay 30 + fadescreen 1 + removeobject 2 + removeobject 29 + removeobject 3 + removeobject 22 + setflag FLAG_0x39F + fadescreen 0 + setobjectxyperm 1, 10, 12 + addobject 1 + compare VAR_FACING, 4 + call_if 1, MtChimney_EventScript_22EEC7 + compare VAR_FACING, 2 + call_if 1, MtChimney_EventScript_22EED2 + applymovement 255, MtChimney_Movement_2725A4 + waitmovement 0 + msgbox MtChimney_Text_22FC3D, 4 + closemessage + compare VAR_FACING, 4 + call_if 1, MtChimney_EventScript_22EEDD + compare VAR_FACING, 2 + call_if 1, MtChimney_EventScript_22EEE8 + removeobject 1 + setflag FLAG_0x39E + setflag FLAG_0x08B + clearflag FLAG_0x3A0 + setflag FLAG_0x3AE + clearflag FLAG_0x3E2 + releaseall + end + +MtChimney_EventScript_22EEC7:: @ 822EEC7 + applymovement 1, MtChimney_Movement_22EF83 + waitmovement 0 + return + +MtChimney_EventScript_22EED2:: @ 822EED2 + applymovement 1, MtChimney_Movement_22EF94 + waitmovement 0 + return + +MtChimney_EventScript_22EEDD:: @ 822EEDD + applymovement 1, MtChimney_Movement_22EF8B + waitmovement 0 + return + +MtChimney_EventScript_22EEE8:: @ 822EEE8 + applymovement 1, MtChimney_Movement_22EF9C + waitmovement 0 + return + +MtChimney_EventScript_22EEF3:: @ 822EEF3 + lock + faceplayer + showmoneybox 0, 0, 0 + msgbox MtChimney_Text_22FE04, 5 + compare VAR_RESULT, 0 + goto_eq MtChimney_EventScript_22EF69 + checkmoney 0xc8, 0 + compare VAR_RESULT, 0 + goto_eq MtChimney_EventScript_22EF76 + msgbox MtChimney_Text_22FE4D, 4 + checkitemspace ITEM_LAVA_COOKIE, 1 + compare VAR_RESULT, 1 + call_if 1, MtChimney_EventScript_22EF5E + giveitem_std ITEM_LAVA_COOKIE + compare VAR_RESULT, 0 + goto_eq MtChimney_EventScript_22EF51 + hidemoneybox + nop + nop + release + end + +MtChimney_EventScript_22EF51:: @ 822EF51 + msgbox gUnknown_08272AD0, 4 + hidemoneybox + nop + nop + release + end + +MtChimney_EventScript_22EF5E:: @ 822EF5E + takemoney 0xc8, 0 + updatemoneybox 0, 0 + nop + return + +MtChimney_EventScript_22EF69:: @ 822EF69 + msgbox MtChimney_Text_22FE9B, 4 + hidemoneybox + nop + nop + release + end + +MtChimney_EventScript_22EF76:: @ 822EF76 + msgbox MtChimney_Text_22FE5E, 4 + hidemoneybox + nop + nop + release + end + +MtChimney_Movement_22EF83: @ 822EF83 + step_up + step_up + step_up + step_up + step_up + step_up + step_right + step_end + +MtChimney_Movement_22EF8B: @ 822EF8B + step_left + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_end + +MtChimney_Movement_22EF94: @ 822EF94 + step_up + step_up + step_up + step_up + step_up + step_right + step_right + step_end + +MtChimney_Movement_22EF9C: @ 822EF9C + step_left + step_left + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_end + +MtChimney_Movement_22EFA6: @ 822EFA6 + step_down + step_down + step_down + step_down + step_down + step_left + step_left + step_down + step_down + step_down + step_down + step_left + step_left + step_left + step_left + step_left + step_down + step_end + +MtChimney_Movement_22EFB8: @ 822EFB8 + step_down + step_down + step_down + step_down + step_left + step_left + step_left + step_down + step_end + +MtChimney_Movement_22EFC1: @ 822EFC1 + step_right + step_down + step_down + step_down + step_down + step_left + step_left + step_left + step_left + step_left + step_down + step_down + step_down + step_down + step_end + +MtChimney_Movement_22EFD0: @ 822EFD0 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_left + step_left + step_down + step_down + step_down + step_left + step_left + step_down + step_down + step_left + step_left + step_left + step_left + step_left + step_down + step_end + +MtChimney_Movement_22EFE9: @ 822EFE9 + step_14 + step_14 + step_14 + step_down + step_down + step_down + step_left + step_left + step_left + step_down + step_end + +MtChimney_Movement_22EFF4: @ 822EFF4 + step_14 + step_left + step_down + step_down + step_down + step_down + step_left + step_left + step_left + step_left + step_left + step_down + step_down + step_down + step_down + step_end + +MtChimney_Movement_22F004: @ 822F004 + step_14 + step_left + step_left + step_down + step_down + step_down + step_left + step_left + step_down + step_down + step_left + step_left + step_left + step_left + step_left + step_down + step_end + +MtChimney_Movement_22F015: @ 822F015 + step_14 + step_down + step_left + step_left + step_left + step_left + step_25 + step_end + +MtChimney_Movement_22F01D: @ 822F01D + step_down + step_down + step_down + step_down + step_left + step_left + step_left + step_left + step_left + step_down + step_down + step_down + step_down + step_end + +MtChimney_Movement_22F02B: @ 822F02B + step_down + step_end + +MtChimney_Movement_22F02D: @ 822F02D + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_end + +MtChimney_Movement_22F035: @ 822F035 + step_14 + step_14 + step_27 + step_14 + step_down + step_down + step_down + step_down + step_down + step_end + +MtChimney_Movement_22F03F: @ 822F03F + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_27 + step_14 + step_down + step_down + step_end + +MtChimney_Movement_22F04A: @ 822F04A + step_40 + step_17 + step_41 + step_03 + step_end + +MtChimney_Movement_22F04F: @ 822F04F + step_left + step_28 + step_14 + step_end + +MtChimney_EventScript_22F053:: @ 822F053 + msgbox MtChimney_Text_22FD1F, 3 + end + +MtChimney_EventScript_22F05C:: @ 822F05C + msgbox MtChimney_Text_22FD5B, 3 + end + +MtChimney_EventScript_22F065:: @ 822F065 + msgbox MtChimney_Text_22FDA1, 3 + end + +MtChimney_EventScript_22F06E:: @ 822F06E + trainerbattle 0, TRAINER_TABITHA_2, 0, MtChimney_Text_22F6AA, MtChimney_Text_22F72C + msgbox MtChimney_Text_22F76D, 6 + end + +MtChimney_EventScript_22F085:: @ 822F085 + trainerbattle 0, TRAINER_GRUNT_31, 0, MtChimney_Text_22F7A2, MtChimney_Text_22F83A + msgbox MtChimney_Text_22F859, 6 + end + +MtChimney_EventScript_22F09C:: @ 822F09C + msgbox MtChimney_Text_22F978, 3 + end + +MtChimney_EventScript_22F0A5:: @ 822F0A5 + msgbox MtChimney_Text_22F9B2, 3 + end + +MtChimney_EventScript_22F0AE:: @ 822F0AE + msgbox MtChimney_Text_22F9D1, 3 + end + +MtChimney_EventScript_22F0B7:: @ 822F0B7 + msgbox MtChimney_Text_22FA2F, 3 + end + +MtChimney_EventScript_22F0C0:: @ 822F0C0 + msgbox MtChimney_Text_22FA8B, 3 + end + +MtChimney_EventScript_22F0C9:: @ 822F0C9 + msgbox MtChimney_Text_22FAA5, 3 + end + +MtChimney_EventScript_22F0D2:: @ 822F0D2 + msgbox MtChimney_Text_22FACB, 3 + end + +MtChimney_EventScript_22F0DB:: @ 822F0DB + msgbox MtChimney_Text_22FDFC, 3 + end + +MtChimney_EventScript_22F0E4:: @ 822F0E4 + lockall + checkflag FLAG_0x08B + goto_if 0, MtChimney_EventScript_22F137 + checkflag FLAG_0x073 + goto_eq MtChimney_EventScript_22F12D + msgbox MtChimney_Text_22FF12, 5 + compare VAR_RESULT, 0 + goto_eq MtChimney_EventScript_22F123 + msgbox MtChimney_Text_22FF66, 4 + giveitem_std ITEM_METEORITE + setflag FLAG_0x073 + releaseall + end + +MtChimney_EventScript_22F123:: @ 822F123 + msgbox MtChimney_Text_22FF9C, 4 + releaseall + end + +MtChimney_EventScript_22F12D:: @ 822F12D + msgbox MtChimney_Text_22FFC0, 4 + releaseall + end + +MtChimney_EventScript_22F137:: @ 822F137 + msgbox MtChimney_Text_22FEAA, 4 + releaseall + end + +MtChimney_EventScript_22F141:: @ 822F141 + msgbox MtChimney_Text_22FFFA, 3 + end + +MtChimney_EventScript_22F14A:: @ 822F14A + trainerbattle 2, TRAINER_SHELBY_1, 0, MtChimney_Text_23001D, MtChimney_Text_230076, MtChimney_EventScript_22F176 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq MtChimney_EventScript_22F195 + msgbox MtChimney_Text_2300A2, 4 + release + end + +MtChimney_EventScript_22F176:: @ 822F176 + special sub_80B4808 + waitmovement 0 + msgbox MtChimney_Text_2300E3, 4 + setvar VAR_0x8004, 313 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 313 + callstd 8 + release + end + +MtChimney_EventScript_22F195:: @ 822F195 + trainerbattle 5, TRAINER_SHELBY_1, 0, MtChimney_Text_230153, MtChimney_Text_2301BB + msgbox MtChimney_Text_2301E7, 6 + end + +MtChimney_EventScript_22F1AC:: @ 822F1AC + trainerbattle 0, TRAINER_MELISSA, 0, MtChimney_Text_23022A, MtChimney_Text_23026D + msgbox MtChimney_Text_230292, 6 + end + +MtChimney_EventScript_22F1C3:: @ 822F1C3 + trainerbattle 0, TRAINER_SHEILA, 0, MtChimney_Text_2302BD, MtChimney_Text_230304 + msgbox MtChimney_Text_23033A, 6 + end + +MtChimney_EventScript_22F1DA:: @ 822F1DA + trainerbattle 0, TRAINER_SHIRLEY, 0, MtChimney_Text_2303DF, MtChimney_Text_230436 + msgbox MtChimney_Text_230463, 6 + end + +MtChimney_EventScript_22F1F1:: @ 822F1F1 + trainerbattle 0, TRAINER_GRUNT_24, 0, MtChimney_Text_22F8B6, MtChimney_Text_22F921 + msgbox MtChimney_Text_22F93A, 6 + end + +MtChimney_EventScript_22F208:: @ 822F208 + trainerbattle 2, TRAINER_SAWYER_1, 0, MtChimney_Text_2304B3, MtChimney_Text_2304F7, MtChimney_EventScript_22F234 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq MtChimney_EventScript_22F253 + msgbox MtChimney_Text_230519, 4 + release + end + +MtChimney_EventScript_22F234:: @ 822F234 + special sub_80B4808 + waitmovement 0 + msgbox MtChimney_Text_230557, 4 + setvar VAR_0x8004, 1 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 1 + callstd 8 + release + end + +MtChimney_EventScript_22F253:: @ 822F253 + trainerbattle 5, TRAINER_SAWYER_1, 0, MtChimney_Text_23059C, MtChimney_Text_2305E3 + msgbox MtChimney_Text_230614, 6 + end + +MtChimney_Text_22F26A: @ 822F26A + .string "The power contained in the METEORITE…\p" + .string "By amplifying its power with this\n" + .string "machine, MT. CHIMNEY’s volcanic\l" + .string "activity will instantly intensify…\p" + .string "Its energy will grow deep inside\n" + .string "the crater and…\l" + .string "Fufufu…$" + +MtChimney_Text_22F32E: @ 822F32E + .string "MAXIE: Hm?\n" + .string "Who are you?\p" + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "I’d heard ARCHIE bemoaning a child\n" + .string "who’s been meddling in TEAM AQUA’s\l" + .string "affairs.\p" + .string "It must be you he meant.\p" + .string "Humph! So you’re thinking of\n" + .string "interfering with us, TEAM MAGMA?\p" + .string "Now you listen.\n" + .string "Long ago, living things used the\l" + .string "land to live and grow.\p" + .string "That is why land is all important!\n" + .string "It is the cradle of all!\p" + .string "That is why TEAM MAGMA is dedicated\n" + .string "to the expansion of the land mass.\p" + .string "It is for further advancement of\n" + .string "humankind and POKéMON!\p" + .string "And for that, we need the power of\n" + .string "what sleeps within this mountain…\p" + .string "Oh! There was no need for you to\n" + .string "learn that much.\p" + .string "But, no matter!\n" + .string "I’ll teach you the consequences of\l" + .string "meddling in our grand design!$" + +MtChimney_Text_22F5CF: @ 822F5CF + .string "What?!\p" + .string "I, MAXIE, was caught off guard?!$" + +MtChimney_Text_22F5F7: @ 822F5F7 + .string "MAXIE: But, enough.\n" + .string "I will back off this time.\p" + .string "But don’t think that this is the last\n" + .string "you’ve seen of TEAM MAGMA.\p" + .string "Fufufu…\p" + .string "Even without the METEORITE, if we\n" + .string "obtain that ORB… Fufufu…$" + +MtChimney_Text_22F6AA: @ 822F6AA + .string "Hehehe!\p" + .string "So you’ve come all the way here!\p" + .string "But you’re too late!\n" + .string "I’ve already delivered the METEORITE\l" + .string "from METEOR FALLS to the BOSS!$" + +MtChimney_Text_22F72C: @ 822F72C + .string "Hehehe…\p" + .string "Even though I’ve lost, if our leader\n" + .string "awakens that thing…$" + +MtChimney_Text_22F76D: @ 822F76D + .string "BOSS, hurry!\n" + .string "Give it the METEORITE’s energy!\p" + .string "Hehehe…$" + +MtChimney_Text_22F7A2: @ 822F7A2 + .string "We of TEAM MAGMA are working hard for\n" + .string "everyone’s sake.\p" + .string "Like, if that thing’s power made more\n" + .string "land, there’d be more places to live.\p" + .string "Everyone’d be happy!$" + +MtChimney_Text_22F83A: @ 822F83A + .string "Hunh?\n" + .string "What do you mean I lost?$" + +MtChimney_Text_22F859: @ 822F859 + .string "Our BOSS says, “It will make everyone\n" + .string "happy.”\p" + .string "But why does everyone keep getting\n" + .string "in our way?$" + +MtChimney_Text_22F8B6: @ 822F8B6 + .string "If there were more land, I’d be able\n" + .string "to get a big house of my own!\p" + .string "I’m going to build it on hardened lava!$" + +MtChimney_Text_22F921: @ 822F921 + .string "My dream of a big house…$" + +MtChimney_Text_22F93A: @ 822F93A + .string "A kid like you, you ought to be\n" + .string "splashing about in the waves!$" + +MtChimney_Text_22F978: @ 822F978 + .string "That annoying TEAM AQUA…\n" + .string "They always mess with our plans!$" + +MtChimney_Text_22F9B2: @ 822F9B2 + .string "METEORITES pack amazing power!$" + +MtChimney_Text_22F9D1: @ 822F9D1 + .string "You’d better not mess with us!\p" + .string "We’re trying to awaken that thing\n" + .string "for the benefit of everyone!$" + +MtChimney_Text_22FA2F: @ 822FA2F + .string "We’re TEAM MAGMA!\p" + .string "They’re TEAM AQUA!\p" + .string "It totally annoys me that they’d\n" + .string "use a name like ours!$" + +MtChimney_Text_22FA8B: @ 822FA8B + .string "Yeah!\n" + .string "Douse them in fire!$" + +MtChimney_Text_22FAA5: @ 822FAA5 + .string "We’re going to keep making more land!$" + +MtChimney_Text_22FACB: @ 822FACB + .string "Bufoh!$" + +MtChimney_Text_22FAD2: @ 822FAD2 + .string "ARCHIE: Grr, {PLAYER}!\n" + .string "I should’ve guessed you’d show up!\p" + .string "See for yourself what the fanatics\n" + .string "of TEAM MAGMA are up to!\p" + .string "They’re trying to inject the stolen\n" + .string "METEORITE’s power into the volcano!\p" + .string "Doing something like that will cause\n" + .string "the volcano’s eruption!$" + +MtChimney_Text_22FBC7: @ 822FBC7 + .string "ARCHIE: Grrr…\p" + .string "I want to stop that MAXIE,\n" + .string "but I can’t!\p" + .string "Not when I have my hands full battling\n" + .string "three opponents at once!$" + +MtChimney_Text_22FC3D: @ 822FC3D + .string "ARCHIE: {PLAYER}!\n" + .string "Thank you!\p" + .string "With your help, we thwarted TEAM\n" + .string "MAGMA’s destructive plan!\p" + .string "But… You…\n" + .string "Whose side are you on?\p" + .string "Ah, it doesn’t matter.\p" + .string "We will remain vigilant and keep up\n" + .string "our pursuit of TEAM MAGMA.\p" + .string "{PLAYER}, we shall meet again!$" + +MtChimney_Text_22FD1F: @ 822FD1F + .string "Darn… TEAM MAGMA outnumbers us!\n" + .string "We can’t keep up with them!$" + +MtChimney_Text_22FD5B: @ 822FD5B + .string "If they expand the land, there’ll be\n" + .string "less habitats for WATER POKéMON!$" + +MtChimney_Text_22FDA1: @ 822FDA1 + .string "We’re TEAM AQUA!\p" + .string "They’re TEAM MAGMA!\p" + .string "It burns me up that they’d use such\n" + .string "a confusing name!$" + +MtChimney_Text_22FDFC: @ 822FDFC + .string "Bushaa!$" + +MtChimney_Text_22FE04: @ 822FE04 + .string "LAVA COOKIES are MT. CHIMNEY’s local\n" + .string "specialty.\p" + .string "Try one. It’s just ¥200.$" + +MtChimney_Text_22FE4D: @ 822FE4D + .string "Thank you, dear!$" + +MtChimney_Text_22FE5E: @ 822FE5E + .string "Oh, dear. You can’t buy a thing if\n" + .string "you’ve not got the money.$" + +MtChimney_Text_22FE9B: @ 822FE9B + .string "Oh, fine then.$" + +MtChimney_Text_22FEAA: @ 822FEAA + .string "A METEORITE is fitted on a mysterious\n" + .string "machine…\p" + .string "The machine seems to be storing\n" + .string "energy in the METEORITE.$" + +MtChimney_Text_22FF12: @ 822FF12 + .string "A METEORITE is fitted on a mysterious\n" + .string "machine…\p" + .string "Do you want to remove the METEORITE?$" + +MtChimney_Text_22FF66: @ 822FF66 + .string "{PLAYER} removed the METEORITE from\n" + .string "the mysterious machine.$" + +MtChimney_Text_22FF9C: @ 822FF9C + .string "{PLAYER} left the METEORITE where\n" + .string "it was.$" + +MtChimney_Text_22FFC0: @ 822FFC0 + .string "This mysterious machine…\n" + .string "It makes no response whatsoever.$" + +MtChimney_Text_22FFFA: @ 822FFFA + .string "{0x7A} JAGGED PATH\n" + .string "LAVARIDGE TOWN AHEAD$" + +MtChimney_Text_23001D: @ 823001D + .string "I’ve been to the hot springs and\n" + .string "refreshed my tired bones.\l" + .string "Right now I’m feeling strong!$" + +MtChimney_Text_230076: @ 8230076 + .string "Oh, my goodness.\n" + .string "Now, aren’t you something!$" + +MtChimney_Text_2300A2: @ 82300A2 + .string "Well, well, I’ve lost. I can’t call\n" + .string "myself an EXPERT now, can I?$" + +MtChimney_Text_2300E3: @ 82300E3 + .string "Thank you, child. It was fun, as if\n" + .string "I were battling my own grandchild.\p" + .string "Please, come see me again for\n" + .string "a rematch.$" + +MtChimney_Text_230153: @ 8230153 + .string "If you can mesh your heart with those\n" + .string "of your POKéMON, why, you should be\l" + .string "able to achieve great things.$" + +MtChimney_Text_2301BB: @ 82301BB + .string "Oh, my goodness.\n" + .string "Now, aren’t you something!$" + +MtChimney_Text_2301E7: @ 82301E7 + .string "Perhaps your heart has become one\n" + .string "with the hearts of your POKéMON.$" + +MtChimney_Text_23022A: @ 823022A + .string "I’ve got the fire in me, baby.\n" + .string "I can’t stand it! I have to battle!$" + +MtChimney_Text_23026D: @ 823026D + .string "Ooh, that was a scorching-hot match!$" + +MtChimney_Text_230292: @ 8230292 + .string "The heat of MT. CHIMNEY warms\n" + .string "me up, baby!$" + +MtChimney_Text_2302BD: @ 82302BD + .string "I’ve finally made it to MT. CHIMNEY.\n" + .string "I want to make my POKéMON battle!$" + +MtChimney_Text_230304: @ 8230304 + .string "The way you battle…\n" + .string "It’s like a MT. CHIMNEY eruption!$" + +MtChimney_Text_23033A: @ 823033A + .string "Like I said, I’ve finally made it to\n" + .string "MT. CHIMNEY. It would be a shame if\l" + .string "I only do a little sightseeing…\p" + .string "I want to get in some battles and buy\n" + .string "COOKIES as souvenirs.$" + +MtChimney_Text_2303DF: @ 82303DF + .string "Since I bathed in the hot springs,\n" + .string "I’ve been feeling great!\l" + .string "I’m sure I’m going to win!$" + +MtChimney_Text_230436: @ 8230436 + .string "Yowch!\n" + .string "I’m getting a chill out of the water.$" + +MtChimney_Text_230463: @ 8230463 + .string "I’ll have to take another dip in the\n" + .string "hot springs. Want to join me?\p" + .string "Just joking!$" + +MtChimney_Text_2304B3: @ 82304B3 + .string "This is one fine mountain! Plenty of\n" + .string "hot people around for company!$" + +MtChimney_Text_2304F7: @ 82304F7 + .string "Oh, you’re a real firebrand, too!$" + +MtChimney_Text_230519: @ 8230519 + .string "I think I need a dip in LAVARIDGE\n" + .string "HOT SPRING with the locals!$" + +MtChimney_Text_230557: @ 8230557 + .string "I like little fireballs like you.\n" + .string "Let me register you in my POKéNAV.$" + +MtChimney_Text_23059C: @ 823059C + .string "I’m happily surrounded by hot people\n" + .string "around these parts. I won’t lose!$" + +MtChimney_Text_2305E3: @ 82305E3 + .string "Gosh, you’re still the same\n" + .string "firebrand as before!$" + +MtChimney_Text_230614: @ 8230614 + .string "Actually, it really is hot here.\n" + .string "I’m overdressed for these parts.$" + diff --git a/data/scripts/maps/MtChimney_CableCarStation.inc b/data/scripts/maps/MtChimney_CableCarStation.inc new file mode 100644 index 0000000000..1dd9c27255 --- /dev/null +++ b/data/scripts/maps/MtChimney_CableCarStation.inc @@ -0,0 +1,98 @@ +MtChimney_CableCarStation_MapScripts:: @ 822ABFA + map_script 3, MtChimney_CableCarStation_MapScript1_22AC05 + map_script 2, MtChimney_CableCarStation_MapScript2_22AC1D + .byte 0 + +MtChimney_CableCarStation_MapScript1_22AC05: @ 822AC05 + compare VAR_0x40A3, 1 + call_if 1, MtChimney_CableCarStation_EventScript_22AC11 + end + +MtChimney_CableCarStation_EventScript_22AC11:: @ 822AC11 + setobjectxyperm 1, 5, 4 + setobjectmovementtype 1, 10 + return + +MtChimney_CableCarStation_MapScript2_22AC1D: @ 822AC1D + map_script_2 VAR_0x40A3, 1, MtChimney_CableCarStation_EventScript_22AC27 + .2byte 0 + +MtChimney_CableCarStation_EventScript_22AC27:: @ 822AC27 + lockall + applymovement 255, MtChimney_CableCarStation_Movement_22ACB4 + applymovement 1, MtChimney_CableCarStation_Movement_22ACAA + waitmovement 0 + setvar VAR_0x40A3, 0 + setobjectxyperm 1, 6, 7 + setobjectmovementtype 1, 8 + releaseall + end + +MtChimney_CableCarStation_EventScript_22AC4B:: @ 822AC4B + lock + faceplayer + msgbox MtChimney_CableCarStation_Text_22ACB9, 5 + compare VAR_RESULT, 1 + goto_eq MtChimney_CableCarStation_EventScript_22AC6C + compare VAR_RESULT, 0 + goto_eq MtChimney_CableCarStation_EventScript_22AC9B + end + +MtChimney_CableCarStation_EventScript_22AC6C:: @ 822AC6C + msgbox MtChimney_CableCarStation_Text_22ACF8, 4 + closemessage + applymovement 1, MtChimney_CableCarStation_Movement_22ACA5 + applymovement 255, MtChimney_CableCarStation_Movement_22ACAF + waitmovement 0 + setvar VAR_0x8004, 1 + setvar VAR_0x40A3, 2 + incrementgamestat 48 + special CableCarWarp + special sub_814FC9C + waitstate + release + end + +MtChimney_CableCarStation_EventScript_22AC9B:: @ 822AC9B + msgbox MtChimney_CableCarStation_Text_22AD0E, 4 + release + end + +MtChimney_CableCarStation_Movement_22ACA5: @ 822ACA5 + step_up + step_up + step_left + step_28 + step_end + +MtChimney_CableCarStation_Movement_22ACAA: @ 822ACAA + step_14 + step_right + step_down + step_down + step_end + +MtChimney_CableCarStation_Movement_22ACAF: @ 822ACAF + step_up + step_up + step_up + step_14 + step_end + +MtChimney_CableCarStation_Movement_22ACB4: @ 822ACB4 + step_down + step_down + step_down + step_14 + step_end + +MtChimney_CableCarStation_Text_22ACB9: @ 822ACB9 + .string "The CABLE CAR is ready to go down.\n" + .string "Would you like to be on it?$" + +MtChimney_CableCarStation_Text_22ACF8: @ 822ACF8 + .string "Please step this way.$" + +MtChimney_CableCarStation_Text_22AD0E: @ 822AD0E + .string "Please ride with us another time.$" + diff --git a/data/scripts/maps/MtPyre_1F.inc b/data/scripts/maps/MtPyre_1F.inc new file mode 100644 index 0000000000..51c8a88fb4 --- /dev/null +++ b/data/scripts/maps/MtPyre_1F.inc @@ -0,0 +1,49 @@ +MtPyre_1F_MapScripts:: @ 8230F3E + .byte 0 + +MtPyre_1F_EventScript_230F3F:: @ 8230F3F + lock + faceplayer + checkflag FLAG_0x11A + goto_eq MtPyre_1F_EventScript_230F6E + msgbox MtPyre_1F_Text_230F8A, 4 + giveitem_std ITEM_CLEANSE_TAG + compare VAR_RESULT, 0 + goto_eq MtPyre_1F_EventScript_272054 + setflag FLAG_0x11A + release + end + +MtPyre_1F_EventScript_230F6E:: @ 8230F6E + msgbox MtPyre_1F_Text_231005, 4 + release + end + +MtPyre_1F_EventScript_230F78:: @ 8230F78 + msgbox MtPyre_1F_Text_23104F, 2 + end + +MtPyre_1F_EventScript_230F81:: @ 8230F81 + msgbox MtPyre_1F_Text_2310BA, 2 + end + +MtPyre_1F_Text_230F8A: @ 8230F8A + .string "All sorts of beings wander the slopes\n" + .string "of MT. PYRE…\p" + .string "There is no telling what may happen.\n" + .string "Take this. It’s for your own good.$" + +MtPyre_1F_Text_231005: @ 8231005 + .string "Have a POKéMON hold that\n" + .string "CLEANSE TAG.\p" + .string "It will help ward off wild POKéMON.$" + +MtPyre_1F_Text_23104F: @ 823104F + .string "Did you come to pay your respect\n" + .string "to the spirits of departed POKéMON?\p" + .string "You must care for your POKéMON a lot.$" + +MtPyre_1F_Text_2310BA: @ 82310BA + .string "This is the final resting place of my\n" + .string "ZIGZAGOON. I cherished it…$" + diff --git a/data/scripts/maps/MtPyre_2F.inc b/data/scripts/maps/MtPyre_2F.inc new file mode 100644 index 0000000000..9a479846fb --- /dev/null +++ b/data/scripts/maps/MtPyre_2F.inc @@ -0,0 +1,135 @@ +MtPyre_2F_MapScripts:: @ 82310FB + map_script 2, MtPyre_2F_MapScript2_2A8327 + map_script 3, MtPyre_2F_MapScript1_2A8331 + map_script 5, MtPyre_2F_MapScript1_23110B + .byte 0 + +MtPyre_2F_MapScript1_23110B: @ 823110B + setstepcallback 7 + setholewarp MT_PYRE_1F, 255, 0, 0 + end + +MtPyre_2F_EventScript_231116:: @ 8231116 + msgbox MtPyre_2F_Text_2311A3, 2 + end + +MtPyre_2F_EventScript_23111F:: @ 823111F + msgbox MtPyre_2F_Text_2311E6, 2 + end + +MtPyre_2F_EventScript_231128:: @ 8231128 + trainerbattle 0, TRAINER_MARK, 0, MtPyre_2F_Text_231258, MtPyre_2F_Text_2312A2 + msgbox MtPyre_2F_Text_2312CB, 6 + end + +MtPyre_2F_EventScript_23113F:: @ 823113F + trainerbattle 4, TRAINER_DEZ_AND_LUKE, 0, MtPyre_2F_Text_23130F, MtPyre_2F_Text_2313A1, MtPyre_2F_Text_231414 + msgbox MtPyre_2F_Text_2313B1, 6 + end + +MtPyre_2F_EventScript_23115A:: @ 823115A + trainerbattle 4, TRAINER_DEZ_AND_LUKE, 0, MtPyre_2F_Text_231492, MtPyre_2F_Text_231534, MtPyre_2F_Text_231582 + msgbox MtPyre_2F_Text_23154D, 6 + end + +MtPyre_2F_EventScript_231175:: @ 8231175 + trainerbattle 0, TRAINER_LEAH, 0, MtPyre_2F_Text_231604, MtPyre_2F_Text_231645 + msgbox MtPyre_2F_Text_23165A, 6 + end + +MtPyre_2F_EventScript_23118C:: @ 823118C + trainerbattle 0, TRAINER_ZANDER, 0, MtPyre_2F_Text_2316C7, MtPyre_2F_Text_2316E1 + msgbox MtPyre_2F_Text_2316FB, 6 + end + +MtPyre_2F_Text_2311A3: @ 82311A3 + .string "Memories of my darling SKITTY…\n" + .string "My eyes overflow thinking about it.$" + +MtPyre_2F_Text_2311E6: @ 82311E6 + .string "Ooch, ouch… There are holes in the\n" + .string "ground here and there.\p" + .string "I didn’t notice and took a tumble from\n" + .string "the floor above.$" + +MtPyre_2F_Text_231258: @ 8231258 + .string "Hey! Are you searching for POKéMON?\n" + .string "You came along after me! You’re rude!$" + +MtPyre_2F_Text_2312A2: @ 82312A2 + .string "Ayieeeeh!\n" + .string "I’m sorry, forgive me, please!$" + +MtPyre_2F_Text_2312CB: @ 82312CB + .string "People don’t come here often, so\n" + .string "I thought there’d be rare POKéMON.$" + +MtPyre_2F_Text_23130F: @ 823130F + .string "LUKE: We’re here on a dare.\p" + .string "Heheh, if I show her how cool I am,\n" + .string "she’ll fall for me. I know it!\p" + .string "I know! I’ll cream you and show her\n" + .string "how cool I am!$" + +MtPyre_2F_Text_2313A1: @ 82313A1 + .string "LUKE: Whoopsie!$" + +MtPyre_2F_Text_2313B1: @ 82313B1 + .string "LUKE: Well, we lost but that’s okay!\n" + .string "I’m right here by your side.\l" + .string "We’ll make it through this dare!$" + +MtPyre_2F_Text_231414: @ 8231414 + .string "LUKE: If you want to take me on,\n" + .string "bring some more POKéMON.\p" + .string "If you don’t, I won’t be able to show\n" + .string "off to my girl how cool I am!$" + +MtPyre_2F_Text_231492: @ 8231492 + .string "DEZ: I came here on a dare with my\n" + .string "boyfriend.\p" + .string "It’s really scary, but I’m with my\n" + .string "boyfriend. It’s okay.\p" + .string "I know! I’ll get my boyfriend to look\n" + .string "cool by beating you!$" + +MtPyre_2F_Text_231534: @ 8231534 + .string "DEZ: Waaaah! I’m scared!$" + +MtPyre_2F_Text_23154D: @ 823154D + .string "DEZ: We’re lovey-dovey, so we don’t\n" + .string "care if we lose!$" + +MtPyre_2F_Text_231582: @ 8231582 + .string "DEZ: If you want to challenge us, you\n" + .string "should bring at least two POKéMON.\p" + .string "My boyfriend’s strong.\n" + .string "Just one POKéMON won’t do at all.$" + +MtPyre_2F_Text_231604: @ 8231604 + .string "You are an unfamiliar sight…\n" + .string "Depart before anything befalls you!$" + +MtPyre_2F_Text_231645: @ 8231645 + .string "Hmm…\n" + .string "You’re durable.$" + +MtPyre_2F_Text_23165A: @ 823165A + .string "Our family has been TRAINERS here\n" + .string "since my great-grandmother’s time…\p" + .string "It is my duty to protect this\n" + .string "mountain…$" + +MtPyre_2F_Text_2316C7: @ 82316C7 + .string "Kiyaaaaah!\n" + .string "I’m terrified!$" + +MtPyre_2F_Text_2316E1: @ 82316E1 + .string "Nooooooo!\n" + .string "I lost my wits!$" + +MtPyre_2F_Text_2316FB: @ 82316FB + .string "I get freaked out every time I see\n" + .string "anything move…\p" + .string "I shouldn’t have come here to train…$" + diff --git a/data/scripts/maps/MtPyre_3F.inc b/data/scripts/maps/MtPyre_3F.inc new file mode 100644 index 0000000000..0d733a433d --- /dev/null +++ b/data/scripts/maps/MtPyre_3F.inc @@ -0,0 +1,103 @@ +MtPyre_3F_MapScripts:: @ 8231752 + .byte 0 + +MtPyre_3F_EventScript_231753:: @ 8231753 + trainerbattle 0, TRAINER_WILLIAM, 0, MtPyre_3F_Text_2317E3, MtPyre_3F_Text_231853 + msgbox MtPyre_3F_Text_231869, 6 + end + +MtPyre_3F_EventScript_23176A:: @ 823176A + trainerbattle 0, TRAINER_KAYLA, 0, MtPyre_3F_Text_2318A1, MtPyre_3F_Text_2318DD + msgbox MtPyre_3F_Text_2318F2, 6 + end + +MtPyre_3F_EventScript_231781:: @ 8231781 + trainerbattle 2, TRAINER_GABRIELLE_1, 0, MtPyre_3F_Text_231952, MtPyre_3F_Text_23196A, MtPyre_3F_EventScript_2317AD + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq MtPyre_3F_EventScript_2317CC + msgbox MtPyre_3F_Text_23199B, 4 + release + end + +MtPyre_3F_EventScript_2317AD:: @ 82317AD + special sub_80B4808 + waitmovement 0 + msgbox MtPyre_3F_Text_231A49, 4 + setvar VAR_0x8004, 9 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 9 + callstd 8 + release + end + +MtPyre_3F_EventScript_2317CC:: @ 82317CC + trainerbattle 5, TRAINER_GABRIELLE_1, 0, MtPyre_3F_Text_231AAB, MtPyre_3F_Text_231AE6 + msgbox MtPyre_3F_Text_231B0D, 6 + end + +MtPyre_3F_Text_2317E3: @ 82317E3 + .string "The rich atmosphere of the mountain\n" + .string "has elevated my psychic power!\p" + .string "A mere child like you…\n" + .string "You dream of winning?$" + +MtPyre_3F_Text_231853: @ 8231853 + .string "I drown in self-pity…$" + +MtPyre_3F_Text_231869: @ 8231869 + .string "My psychic powers have surely\n" + .string "grown several times, but…$" + +MtPyre_3F_Text_2318A1: @ 82318A1 + .string "Ahahahaha!\p" + .string "This is no place for children, least\n" + .string "of all you!$" + +MtPyre_3F_Text_2318DD: @ 82318DD + .string "I lost that cleanly…$" + +MtPyre_3F_Text_2318F2: @ 82318F2 + .string "This means my training is still not\n" + .string "enough…\p" + .string "I’ve got to keep working toward the\n" + .string "summit…\p" + .string "Go, me!$" + +MtPyre_3F_Text_231952: @ 8231952 + .string "Why have you come here?$" + +MtPyre_3F_Text_23196A: @ 823196A + .string "That was amazing!\n" + .string "You’re a very special TRAINER.$" + +MtPyre_3F_Text_23199B: @ 823199B + .string "POKéMON no longer of this world.\n" + .string "POKéMON that are with you now.\p" + .string "And the POKéMON that you will meet\n" + .string "in the future…\p" + .string "They are all to be equally cherished.\n" + .string "Please remember that.$" + +MtPyre_3F_Text_231A49: @ 8231A49 + .string "I would like to see your POKéMON\n" + .string "when they grow up some more…\p" + .string "Please, I need to see your POKéNAV.$" + +MtPyre_3F_Text_231AAB: @ 8231AAB + .string "Oh, it’s you…\p" + .string "Have you come to show me your grown\n" + .string "POKéMON?$" + +MtPyre_3F_Text_231AE6: @ 8231AE6 + .string "How amazing!\n" + .string "You are a special person.$" + +MtPyre_3F_Text_231B0D: @ 8231B0D + .string "POKéMON no longer of this world.\n" + .string "POKéMON that are with you now.\p" + .string "And the POKéMON that you will meet\n" + .string "in the future…\p" + .string "They are all to be equally cherished.\n" + .string "I see that you’ve remembered that.$" + diff --git a/data/scripts/maps/MtPyre_4F.inc b/data/scripts/maps/MtPyre_4F.inc new file mode 100644 index 0000000000..0573e0f116 --- /dev/null +++ b/data/scripts/maps/MtPyre_4F.inc @@ -0,0 +1,20 @@ +MtPyre_4F_MapScripts:: @ 8231BC8 + .byte 0 + +MtPyre_5F_EventScript_231BC9:: @ 8231BC9 + trainerbattle 0, TRAINER_ATSUSHI, 0, MtPyre_5F_Text_231BE0, MtPyre_5F_Text_231C08 + msgbox MtPyre_5F_Text_231C24, 6 + end + +MtPyre_5F_Text_231BE0: @ 8231BE0 + .string "Teacher…\n" + .string "Please watch over my progress!$" + +MtPyre_5F_Text_231C08: @ 8231C08 + .string "Teacher…\n" + .string "Please forgive me!$" + +MtPyre_5F_Text_231C24: @ 8231C24 + .string "Until I improve, my teacher, who rests\n" + .string "here, will never find true peace…$" + diff --git a/data/scripts/maps/MtPyre_5F.inc b/data/scripts/maps/MtPyre_5F.inc new file mode 100644 index 0000000000..4678ac7e0e --- /dev/null +++ b/data/scripts/maps/MtPyre_5F.inc @@ -0,0 +1,23 @@ +MtPyre_5F_MapScripts:: @ 8231C6D + .byte 0 + +MtPyre_4F_EventScript_231C6E:: @ 8231C6E + trainerbattle 0, TRAINER_TASHA, 0, MtPyre_4F_Text_231C85, MtPyre_4F_Text_231CDB + msgbox MtPyre_4F_Text_231CEE, 6 + end + +MtPyre_4F_Text_231C85: @ 8231C85 + .string "I love all things horrifying…\n" + .string "It’s like a disease…\p" + .string "When I’m here…\n" + .string "I shiver with fear…$" + +MtPyre_4F_Text_231CDB: @ 8231CDB + .string "Losing, I dislike…$" + +MtPyre_4F_Text_231CEE: @ 8231CEE + .string "I want to see dreadful things…\n" + .string "I can’t leave…\p" + .string "Stay…\n" + .string "Won’t you stay with me?$" + diff --git a/data/scripts/maps/MtPyre_6F.inc b/data/scripts/maps/MtPyre_6F.inc new file mode 100644 index 0000000000..7a98eb2ab0 --- /dev/null +++ b/data/scripts/maps/MtPyre_6F.inc @@ -0,0 +1,73 @@ +MtPyre_6F_MapScripts:: @ 8231D3A + .byte 0 + +MtPyre_6F_EventScript_231D3B:: @ 8231D3B + trainerbattle 2, TRAINER_VALERIE_1, 0, MtPyre_6F_Text_231DB4, MtPyre_6F_Text_231DE2, MtPyre_6F_EventScript_231D67 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq MtPyre_6F_EventScript_231D86 + msgbox MtPyre_6F_Text_231DFC, 4 + release + end + +MtPyre_6F_EventScript_231D67:: @ 8231D67 + special sub_80B4808 + waitmovement 0 + msgbox MtPyre_6F_Text_231E43, 4 + setvar VAR_0x8004, 108 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 108 + callstd 8 + release + end + +MtPyre_6F_EventScript_231D86:: @ 8231D86 + trainerbattle 5, TRAINER_VALERIE_1, 0, MtPyre_6F_Text_231EB3, MtPyre_6F_Text_231ECB + msgbox MtPyre_6F_Text_231EE1, 6 + end + +MtPyre_6F_EventScript_231D9D:: @ 8231D9D + trainerbattle 0, TRAINER_CEDRIC, 0, MtPyre_6F_Text_231F11, MtPyre_6F_Text_231F4A + msgbox MtPyre_6F_Text_231F5C, 6 + end + +MtPyre_6F_Text_231DB4: @ 8231DB4 + .string "When I’m here…\n" + .string "A curious power flows into me…$" + +MtPyre_6F_Text_231DE2: @ 8231DE2 + .string "The power is ebbing away…$" + +MtPyre_6F_Text_231DFC: @ 8231DFC + .string "Perhaps the power is from the spirits\n" + .string "of POKéMON in fitful sleep here…$" + +MtPyre_6F_Text_231E43: @ 8231E43 + .string "Fufufu… I lost the match, but…\n" + .string "I have this little ability…\p" + .string "Without ever laying my hands on\n" + .string "your POKéNAV… Hiyah!$" + +MtPyre_6F_Text_231EB3: @ 8231EB3 + .string "Behind you…\n" + .string "What is it…$" + +MtPyre_6F_Text_231ECB: @ 8231ECB + .string "Something faded away…$" + +MtPyre_6F_Text_231EE1: @ 8231EE1 + .string "The POKéMON at rest here…\n" + .string "Sometimes, they play…$" + +MtPyre_6F_Text_231F11: @ 8231F11 + .string "Have you lost your bearings?\n" + .string "Have no fear for I am here!$" + +MtPyre_6F_Text_231F4A: @ 8231F4A + .string "Weren’t you lost?$" + +MtPyre_6F_Text_231F5C: @ 8231F5C + .string "I had this feeling that a lost TRAINER\n" + .string "would be panicked and easy to beat.\p" + .string "It’s dirty and I won’t try it again…$" + diff --git a/data/scripts/maps/MtPyre_Exterior.inc b/data/scripts/maps/MtPyre_Exterior.inc new file mode 100644 index 0000000000..7142f1f068 --- /dev/null +++ b/data/scripts/maps/MtPyre_Exterior.inc @@ -0,0 +1,28 @@ +MtPyre_Exterior_MapScripts:: @ 8231FCC + map_script 3, MtPyre_Exterior_MapScript1_231FD2 + .byte 0 + +MtPyre_Exterior_MapScript1_231FD2: @ 8231FD2 + call MtPyre_Exterior_EventScript_231FD8 + end + +MtPyre_Exterior_EventScript_231FD8:: @ 8231FD8 + getplayerxy VAR_0x4000, VAR_0x4001 + compare VAR_0x4001, 12 + goto_if 0, MtPyre_Exterior_EventScript_231FE9 + return + +MtPyre_Exterior_EventScript_231FE9:: @ 8231FE9 + setweather 6 + return + +MtPyre_Exterior_EventScript_231FED:: @ 8231FED + setweather 6 + doweather + end + +MtPyre_Exterior_EventScript_231FF2:: @ 8231FF2 + setweather 2 + doweather + end + diff --git a/data/scripts/maps/MtPyre_Summit.inc b/data/scripts/maps/MtPyre_Summit.inc new file mode 100644 index 0000000000..fed63f0e05 --- /dev/null +++ b/data/scripts/maps/MtPyre_Summit.inc @@ -0,0 +1,640 @@ +MtPyre_Summit_MapScripts:: @ 8231FF7 + map_script 3, MtPyre_Summit_MapScript1_231FFD + .byte 0 + +MtPyre_Summit_MapScript1_231FFD: @ 8231FFD + compare VAR_0x40B9, 2 + call_if 1, MtPyre_Summit_EventScript_232009 + end + +MtPyre_Summit_EventScript_232009:: @ 8232009 + setobjectxyperm 8, 23, 6 + setobjectxyperm 2, 22, 6 + end + +MtPyre_Summit_EventScript_232018:: @ 8232018 + lockall + setvar VAR_0x8008, 0 + goto MtPyre_Summit_EventScript_23203C + end + +MtPyre_Summit_EventScript_232024:: @ 8232024 + lockall + setvar VAR_0x8008, 1 + goto MtPyre_Summit_EventScript_23203C + end + +MtPyre_Summit_EventScript_232030:: @ 8232030 + lockall + setvar VAR_0x8008, 2 + goto MtPyre_Summit_EventScript_23203C + end + +MtPyre_Summit_EventScript_23203C:: @ 823203C + playbgm MUS_AQA_0, 0 + applymovement 255, MtPyre_Summit_Movement_2725B2 + waitmovement 0 + applymovement 2, MtPyre_Summit_Movement_2725AA + waitmovement 0 + delay 50 + compare VAR_0x8008, 0 + call_if 1, MtPyre_Summit_EventScript_2320E0 + compare VAR_0x8008, 1 + call_if 1, MtPyre_Summit_EventScript_2320EB + compare VAR_0x8008, 2 + call_if 1, MtPyre_Summit_EventScript_2320EC + msgbox MtPyre_Summit_Text_23281A, 4 + closemessage + fadescreen 1 + removeobject 2 + removeobject 4 + removeobject 5 + removeobject 6 + removeobject 7 + setflag FLAG_0x394 + setflag FLAG_0x395 + fadedefaultbgm + fadescreen 0 + delay 20 + setvar VAR_0x40B9, 1 + compare VAR_0x8008, 0 + call_if 1, MtPyre_Summit_EventScript_2320F7 + compare VAR_0x8008, 1 + call_if 1, MtPyre_Summit_EventScript_23210C + compare VAR_0x8008, 2 + call_if 1, MtPyre_Summit_EventScript_232117 + msgbox MtPyre_Summit_Text_23290E, 4 + giveitem_std ITEM_MAGMA_EMBLEM + setflag FLAG_0x0D4 + setflag FLAG_0x34F + releaseall + end + +MtPyre_Summit_EventScript_2320E0:: @ 82320E0 + applymovement 2, MtPyre_Summit_Movement_232136 + waitmovement 0 + return + +MtPyre_Summit_EventScript_2320EB:: @ 82320EB + return + +MtPyre_Summit_EventScript_2320EC:: @ 82320EC + applymovement 2, MtPyre_Summit_Movement_232139 + waitmovement 0 + return + +MtPyre_Summit_EventScript_2320F7:: @ 82320F7 + applymovement 3, MtPyre_Summit_Movement_23212C + waitmovement 0 + applymovement 255, MtPyre_Summit_Movement_2725A8 + waitmovement 0 + return + +MtPyre_Summit_EventScript_23210C:: @ 823210C + applymovement 3, MtPyre_Summit_Movement_232130 + waitmovement 0 + return + +MtPyre_Summit_EventScript_232117:: @ 8232117 + applymovement 3, MtPyre_Summit_Movement_232132 + waitmovement 0 + applymovement 255, MtPyre_Summit_Movement_2725A4 + waitmovement 0 + return + +MtPyre_Summit_Movement_23212C: @ 823212C + step_down + step_down + step_27 + step_end + +MtPyre_Summit_Movement_232130: @ 8232130 + step_down + step_end + +MtPyre_Summit_Movement_232132: @ 8232132 + step_down + step_down + step_28 + step_end + +MtPyre_Summit_Movement_232136: @ 8232136 + step_left + step_25 + step_end + +MtPyre_Summit_Movement_232139: @ 8232139 + step_right + step_25 + step_end + +MtPyre_Summit_EventScript_23213C:: @ 823213C + lock + faceplayer + checkflag FLAG_0x09E + goto_eq MtPyre_Summit_EventScript_232167 + msgbox MtPyre_Summit_Text_232E0C, 5 + compare VAR_RESULT, 1 + call_if 1, MtPyre_Summit_EventScript_232187 + compare VAR_RESULT, 0 + call_if 1, MtPyre_Summit_EventScript_232190 + release + end + +MtPyre_Summit_EventScript_232167:: @ 8232167 + msgbox MtPyre_Summit_Text_2331A6, 5 + compare VAR_RESULT, 1 + call_if 1, MtPyre_Summit_EventScript_232199 + compare VAR_RESULT, 0 + call_if 1, MtPyre_Summit_EventScript_232190 + release + end + +MtPyre_Summit_EventScript_232187:: @ 8232187 + msgbox MtPyre_Summit_Text_232F27, 4 + return + +MtPyre_Summit_EventScript_232190:: @ 8232190 + msgbox MtPyre_Summit_Text_233162, 4 + return + +MtPyre_Summit_EventScript_232199:: @ 8232199 + msgbox MtPyre_Summit_Text_23325D, 4 + return + +MtPyre_Summit_EventScript_2321A2:: @ 82321A2 + lock + faceplayer + checkflag FLAG_0x103 + goto_eq MtPyre_Summit_EventScript_2321E2 + compare VAR_0x40B9, 3 + call_if 4, MtPyre_Summit_EventScript_2321CB + checkflag FLAG_0x081 + goto_eq MtPyre_Summit_EventScript_2321D8 + msgbox MtPyre_Summit_Text_232AD8, 4 + release + end + +MtPyre_Summit_EventScript_2321CB:: @ 82321CB + msgbox MtPyre_Summit_Text_232CA6, 4 + setflag FLAG_0x103 + release + end + +MtPyre_Summit_EventScript_2321D8:: @ 82321D8 + msgbox MtPyre_Summit_Text_232B4F, 4 + release + end + +MtPyre_Summit_EventScript_2321E2:: @ 82321E2 + msgbox MtPyre_Summit_Text_232D1E, 4 + release + end + +MtPyre_Summit_EventScript_2321EC:: @ 82321EC + lockall + setvar VAR_0x8008, 0 + goto MtPyre_Summit_EventScript_232210 + end + +MtPyre_Summit_EventScript_2321F8:: @ 82321F8 + lockall + setvar VAR_0x8008, 1 + goto MtPyre_Summit_EventScript_232210 + end + +MtPyre_Summit_EventScript_232204:: @ 8232204 + lockall + setvar VAR_0x8008, 2 + goto MtPyre_Summit_EventScript_232210 + end + +MtPyre_Summit_EventScript_232210:: @ 8232210 + applymovement 255, MtPyre_Summit_Movement_2725A6 + waitmovement 0 + delay 60 + compare VAR_0x8008, 0 + call_if 1, MtPyre_Summit_EventScript_2322C4 + compare VAR_0x8008, 1 + call_if 1, MtPyre_Summit_EventScript_2322DD + compare VAR_0x8008, 2 + call_if 1, MtPyre_Summit_EventScript_2322F6 + playse SE_PIN + applymovement 8, MtPyre_Summit_Movement_272598 + waitmovement 0 + applymovement 8, MtPyre_Summit_Movement_27259A + waitmovement 0 + delay 30 + compare VAR_0x8008, 0 + call_if 1, MtPyre_Summit_EventScript_23230F + compare VAR_0x8008, 1 + call_if 1, MtPyre_Summit_EventScript_232328 + compare VAR_0x8008, 2 + call_if 1, MtPyre_Summit_EventScript_232341 + msgbox MtPyre_Summit_Text_233183, 4 + closemessage + compare VAR_0x8008, 0 + call_if 1, MtPyre_Summit_EventScript_23235A + compare VAR_0x8008, 1 + call_if 1, MtPyre_Summit_EventScript_232376 + compare VAR_0x8008, 2 + call_if 1, MtPyre_Summit_EventScript_232392 + delay 30 + applymovement 2, MtPyre_Summit_Movement_2323B6 + applymovement 8, MtPyre_Summit_Movement_2323BD + waitmovement 0 + removeobject 2 + removeobject 8 + setvar VAR_0x40B9, 3 + releaseall + end + +MtPyre_Summit_EventScript_2322C4:: @ 82322C4 + applymovement 255, MtPyre_Summit_Movement_2323C4 + applymovement 2, MtPyre_Summit_Movement_2323B6 + applymovement 8, MtPyre_Summit_Movement_2323BD + waitmovement 0 + return + +MtPyre_Summit_EventScript_2322DD:: @ 82322DD + applymovement 255, MtPyre_Summit_Movement_2323CB + applymovement 2, MtPyre_Summit_Movement_2323B6 + applymovement 8, MtPyre_Summit_Movement_2323BD + waitmovement 0 + return + +MtPyre_Summit_EventScript_2322F6:: @ 82322F6 + applymovement 255, MtPyre_Summit_Movement_2323D2 + applymovement 2, MtPyre_Summit_Movement_2323B6 + applymovement 8, MtPyre_Summit_Movement_2323BD + waitmovement 0 + return + +MtPyre_Summit_EventScript_23230F:: @ 823230F + applymovement 255, MtPyre_Summit_Movement_2323AE + applymovement 2, MtPyre_Summit_Movement_2323E7 + applymovement 8, MtPyre_Summit_Movement_2323D8 + waitmovement 0 + return + +MtPyre_Summit_EventScript_232328:: @ 8232328 + applymovement 255, MtPyre_Summit_Movement_2323B2 + applymovement 2, MtPyre_Summit_Movement_2323E7 + applymovement 8, MtPyre_Summit_Movement_2323DD + waitmovement 0 + return + +MtPyre_Summit_EventScript_232341:: @ 8232341 + applymovement 255, MtPyre_Summit_Movement_2323B2 + applymovement 2, MtPyre_Summit_Movement_2323E7 + applymovement 8, MtPyre_Summit_Movement_2323E2 + waitmovement 0 + return + +MtPyre_Summit_EventScript_23235A:: @ 823235A + applymovement 255, MtPyre_Summit_Movement_2323EA + applymovement 8, MtPyre_Summit_Movement_2323ED + waitmovement 0 + applymovement 2, MtPyre_Summit_Movement_2725A8 + waitmovement 0 + return + +MtPyre_Summit_EventScript_232376:: @ 8232376 + applymovement 255, MtPyre_Summit_Movement_2323EA + applymovement 8, MtPyre_Summit_Movement_2323F3 + waitmovement 0 + applymovement 2, MtPyre_Summit_Movement_2725A8 + waitmovement 0 + return + +MtPyre_Summit_EventScript_232392:: @ 8232392 + applymovement 255, MtPyre_Summit_Movement_2323EA + applymovement 8, MtPyre_Summit_Movement_2323F8 + waitmovement 0 + applymovement 2, MtPyre_Summit_Movement_2725A8 + waitmovement 0 + return + +MtPyre_Summit_Movement_2323AE: @ 82323AE + step_14 + step_14 + step_28 + step_end + +MtPyre_Summit_Movement_2323B2: @ 82323B2 + step_14 + step_14 + step_27 + step_end + +MtPyre_Summit_Movement_2323B6: @ 82323B6 + step_down + step_down + step_down + step_down + step_down + step_down + step_end + +MtPyre_Summit_Movement_2323BD: @ 82323BD + step_down + step_down + step_down + step_down + step_down + step_down + step_end + +MtPyre_Summit_Movement_2323C4: @ 82323C4 + step_14 + step_13 + step_left + step_28 + step_14 + step_25 + step_end + +MtPyre_Summit_Movement_2323CB: @ 82323CB + step_14 + step_13 + step_right + step_27 + step_14 + step_25 + step_end + +MtPyre_Summit_Movement_2323D2: @ 82323D2 + step_14 + step_13 + step_27 + step_14 + step_25 + step_end + +MtPyre_Summit_Movement_2323D8: @ 82323D8 + step_up + step_up + step_up + step_left + step_end + +MtPyre_Summit_Movement_2323DD: @ 82323DD + step_up + step_up + step_up + step_28 + step_end + +MtPyre_Summit_Movement_2323E2: @ 82323E2 + step_up + step_up + step_up + step_28 + step_end + +MtPyre_Summit_Movement_2323E7: @ 82323E7 + step_14 + step_26 + step_end + +MtPyre_Summit_Movement_2323EA: @ 82323EA + step_14 + step_25 + step_end + +MtPyre_Summit_Movement_2323ED: @ 82323ED + step_down + step_right + step_down + step_down + step_27 + step_end + +MtPyre_Summit_Movement_2323F3: @ 82323F3 + step_down + step_down + step_down + step_27 + step_end + +MtPyre_Summit_Movement_2323F8: @ 82323F8 + step_down + step_down + step_down + step_27 + step_end + +MtPyre_Summit_EventScript_2323FD:: @ 82323FD + trainerbattle 0, TRAINER_GRUNT_17, 0, MtPyre_Summit_Text_232459, MtPyre_Summit_Text_2324A0 + msgbox MtPyre_Summit_Text_2324E0, 6 + end + +MtPyre_Summit_EventScript_232414:: @ 8232414 + trainerbattle 0, TRAINER_GRUNT_18, 0, MtPyre_Summit_Text_232513, MtPyre_Summit_Text_2325B0 + msgbox MtPyre_Summit_Text_2325E4, 6 + end + +MtPyre_Summit_EventScript_23242B:: @ 823242B + trainerbattle 0, TRAINER_GRUNT_19, 0, MtPyre_Summit_Text_23261D, MtPyre_Summit_Text_232678 + msgbox MtPyre_Summit_Text_2326B3, 6 + end + +MtPyre_Summit_EventScript_232442:: @ 8232442 + trainerbattle 0, TRAINER_GRUNT_29, 0, MtPyre_Summit_Text_23271B, MtPyre_Summit_Text_23279A + msgbox MtPyre_Summit_Text_2327D8, 6 + end + +MtPyre_Summit_Text_232459: @ 8232459 + .string "No! Those TEAM MAGMA goons got\n" + .string "here ahead of us!\p" + .string "We can’t fall behind!$" + +MtPyre_Summit_Text_2324A0: @ 82324A0 + .string "I thought you were one of the MAGMAS\n" + .string "who happened to come back…$" + +MtPyre_Summit_Text_2324E0: @ 82324E0 + .string "Yeah, so you are strong…\n" + .string "But there’re a lot of us!$" + +MtPyre_Summit_Text_232513: @ 8232513 + .string "Hah!\n" + .string "Too bad for you!\p" + .string "If you came earlier, you only would’ve\n" + .string "had to battle the wimpy TEAM MAGMA.\p" + .string "But since you arrived now, you have\n" + .string "to take on us toughies!$" + +MtPyre_Summit_Text_2325B0: @ 82325B0 + .string "Urgh… I should’ve let you take on\n" + .string "TEAM MAGMA first…$" + +MtPyre_Summit_Text_2325E4: @ 82325E4 + .string "You don’t know anything!\n" + .string "So why are you messing with us?$" + +MtPyre_Summit_Text_23261D: @ 823261D + .string "You…\n" + .string "We saw you at MT. CHIMNEY.\p" + .string "You don’t belong to either TEAM,\n" + .string "so why would you be here?$" + +MtPyre_Summit_Text_232678: @ 8232678 + .string "If you’re going to mess with anyone,\n" + .string "let it be TEAM MAGMA…$" + +MtPyre_Summit_Text_2326B3: @ 82326B3 + .string "Heh, it doesn’t matter!\n" + .string "We bought ourselves some time!\p" + .string "The BOSS should have snatched what\n" + .string "he was after!$" + +MtPyre_Summit_Text_23271B: @ 823271B + .string "Oh, I know!\n" + .string "You tried to join TEAM MAGMA,\l" + .string "but they wouldn’t have you!\p" + .string "Well, don’t think that we’ll let you\n" + .string "join our TEAM AQUA!$" + +MtPyre_Summit_Text_23279A: @ 823279A + .string "If you want to join TEAM AQUA that\n" + .string "badly, we can consider it…$" + +MtPyre_Summit_Text_2327D8: @ 82327D8 + .string "We have a great combination going\n" + .string "with us members and our leader.$" + +MtPyre_Summit_Text_23281A: @ 823281A + .string "ARCHIE: TEAM MAGMA’s MAXIE got ahead\n" + .string "of us, but we also got what we wanted.\p" + .string "The RED ORB preserved at MT. PYRE…\n" + .string "I, ARCHIE, now have it in my possession!\p" + .string "Fufufu… Now we can bring our ultimate\n" + .string "objective to fruition!\p" + .string "Okay, TEAM!\n" + .string "We’re pulling out!$" + +MtPyre_Summit_Text_23290E: @ 823290E + .string "Oh, no…\n" + .string "This cannot happen…\p" + .string "Not only the BLUE ORB, but even\n" + .string "the RED ORB has been taken…\p" + .string "The BLUE ORB and RED ORB must never\n" + .string "be separated. They belong together.\p" + .string "What are those men trying to do with\n" + .string "the two ORBS?\p" + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "Oh, yes. Was it TEAM MAGMA who came\n" + .string "and took the BLUE ORB first?\p" + .string "Well, in their haste, they left this\n" + .string "behind.\p" + .string "I couldn’t imagine what exactly it\n" + .string "could be.\p" + .string "I would like you to have it.\n" + .string "Perhaps it will be useful in some way.$" + +MtPyre_Summit_Text_232AD8: @ 8232AD8 + .string "The BLUE ORB and RED ORB taken by\n" + .string "those sinister men…\p" + .string "They must never be apart…\n" + .string "I fear something terrible will happen…$" + +MtPyre_Summit_Text_232B4F: @ 8232B4F + .string "Oh, my goodness…\p" + .string "You say that both GROUDON and KYOGRE\n" + .string "have been awakened?\p" + .string "It is said that the BLUE ORB and\n" + .string "the RED ORB quelled the rage of\l" + .string "the two POKéMON…\p" + .string "It is also said that the true owner\n" + .string "of the ORBS still exists.\p" + .string "However, no one knows who, or what\n" + .string "exactly, the ORBS belong to.\p" + .string "It could be a human, or perhaps\n" + .string "a POKéMON, but no one knows.$" + +MtPyre_Summit_Text_232CA6: @ 8232CA6 + .string "The two men who took the ORBS came\n" + .string "back to return them on their own.\p" + .string "Those men…\n" + .string "Perhaps they are not so evil after all…$" + +MtPyre_Summit_Text_232D1E: @ 8232D1E + .string "The embodiments of the land, sea,\n" + .string "and the sky…\p" + .string "That is said to be the identities of\n" + .string "the super-ancient POKéMON…\p" + .string "In the same way that we humans and\n" + .string "POKéMON have life, our world, too,\l" + .string "is alive…\p" + .string "The super-ancient POKéMON have\n" + .string "taught us that…$" + +MtPyre_Summit_Text_232E0C: @ 8232E0C + .string "MT. PYRE is where we calm the spirits\n" + .string "of POKéMON that have passed on…\p" + .string "This is a high place where one can\n" + .string "see all of HOENN…\p" + .string "The disembodied spirits of POKéMON\n" + .string "must find solace here…\p" + .string "Is it coincidence that you are here…\p" + .string "Will you hear out my tale? A tale long\n" + .string "told in the HOENN region?$" + +MtPyre_Summit_Text_232F27: @ 8232F27 + .string "It happened long, long ago…\p" + .string "The world was wracked by a ferocious\n" + .string "clash between the POKéMON of the land\l" + .string "and the POKéMON of the sea…\p" + .string "The POKéMON of the land raised\n" + .string "mountains and created continents…\p" + .string "The POKéMON of the sea raised huge\n" + .string "waves and carved out oceans…\p" + .string "Their fierce duel raged without end.\p" + .string "The world was engulfed in massive\n" + .string "infernos and vicious storms.\p" + .string "The BLUE ORB and the RED ORB brought\n" + .string "an end to the calamity.\p" + .string "Light poured from the two ORBS and\n" + .string "becalmed the enraged adversaries.\p" + .string "The pair, made docile, dove deep into\n" + .string "the sea where eventually they\l" + .string "disappeared…$" + +MtPyre_Summit_Text_233162: @ 8233162 + .string "I see…\n" + .string "Well, that, too, is fine…$" + +MtPyre_Summit_Text_233183: @ 8233183 + .string "MAXIE: {PLAYER}…\p" + .string "… … … … … …\n" + .string "… … … … … …$" + +MtPyre_Summit_Text_2331A6: @ 82331A6 + .string "It is my role to pass on the legends\n" + .string "of HOENN to future generations.\p" + .string "And the crisis that just ended in\n" + .string "SOOTOPOLIS rewrote a legend…\p" + .string "Have you the time to hear the new\n" + .string "legend of HOENN?$" + +MtPyre_Summit_Text_23325D: @ 823325D + .string "It happened long, long ago…\p" + .string "The world was wracked by a ferocious\n" + .string "clash between the POKéMON of the land\l" + .string "and the POKéMON of the sea…\p" + .string "The POKéMON of the land raised\n" + .string "mountains and created continents…\p" + .string "The POKéMON of the sea raised huge\n" + .string "waves and carved out oceans…\p" + .string "Their fierce duel raged without end.\p" + .string "The world was engulfed in massive\n" + .string "fires and vicious storms.\p" + .string "It was then that the POKéMON of\n" + .string "the sky descended from a storm.\p" + .string "The POKéMON, shining a vivid green,\n" + .string "becalmed the two enraged POKéMON.\p" + .string "Then, its duty done, the green POKéMON\n" + .string "flew off into the wild blue yonder…$" + diff --git a/data/scripts/maps/NavelRock_B1F.inc b/data/scripts/maps/NavelRock_B1F.inc new file mode 100644 index 0000000000..a8906f24da --- /dev/null +++ b/data/scripts/maps/NavelRock_B1F.inc @@ -0,0 +1,3 @@ +NavelRock_B1F_MapScripts:: @ 826910D + .byte 0 + diff --git a/data/scripts/maps/NavelRock_Bottom.inc b/data/scripts/maps/NavelRock_Bottom.inc new file mode 100644 index 0000000000..dc99ec7f7d --- /dev/null +++ b/data/scripts/maps/NavelRock_Bottom.inc @@ -0,0 +1,88 @@ +NavelRock_Bottom_MapScripts:: @ 8269255 + map_script 3, NavelRock_Bottom_MapScript1_269260 + map_script 5, NavelRock_Bottom_MapScript1_269284 + .byte 0 + +NavelRock_Bottom_MapScript1_269260: @ 8269260 + checkflag FLAG_0x091 + call_if 1, NavelRock_Bottom_EventScript_269273 + checkflag FLAG_0x091 + call_if 0, NavelRock_Bottom_EventScript_269277 + end + +NavelRock_Bottom_EventScript_269273:: @ 8269273 + setflag FLAG_0x320 + return + +NavelRock_Bottom_EventScript_269277:: @ 8269277 + checkflag FLAG_0x1DD + goto_eq NavelRock_Bottom_EventScript_27374E + clearflag FLAG_0x320 + return + +NavelRock_Bottom_MapScript1_269284: @ 8269284 + checkflag FLAG_SYS_CTRL_OBJ_DELETE + call_if 1, NavelRock_Bottom_EventScript_26928E + end + +NavelRock_Bottom_EventScript_26928E:: @ 826928E + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 7 + goto_if 5, NavelRock_Bottom_EventScript_27374E + removeobject 1 + return + +NavelRock_Bottom_EventScript_2692A2:: @ 82692A2 + lock + faceplayer + waitse + delay 20 + playse SE_T_AME_E + setvar VAR_0x8004, 0 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 4 + setvar VAR_0x8007, 2 + special sub_8139560 + delay 30 + playse SE_T_AME_E + setvar VAR_0x8004, 0 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 4 + setvar VAR_0x8007, 2 + special sub_8139560 + delay 30 + delay 50 + waitse + playmoncry SPECIES_LUGIA, 2 + waitmoncry + delay 20 + setvar VAR_0x8004, 249 + setvar VAR_0x8005, 70 + setvar VAR_0x8006, 0 + special DoScriptedWildBattle + setflag FLAG_SYS_CTRL_OBJ_DELETE + special BattleSetup_StartLegendaryBattle + waitstate + clearflag FLAG_SYS_CTRL_OBJ_DELETE + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 1 + goto_eq NavelRock_Bottom_EventScript_269336 + compare VAR_RESULT, 4 + goto_eq NavelRock_Bottom_EventScript_269344 + compare VAR_RESULT, 5 + goto_eq NavelRock_Bottom_EventScript_269344 + setflag FLAG_0x091 + release + end + +NavelRock_Bottom_EventScript_269336:: @ 8269336 + setflag FLAG_0x1DD + setvar VAR_0x8004, 249 + goto NavelRock_Bottom_EventScript_273776 + end + +NavelRock_Bottom_EventScript_269344:: @ 8269344 + setvar VAR_0x8004, 249 + goto NavelRock_Bottom_EventScript_273776 + end + diff --git a/data/scripts/maps/NavelRock_Down01.inc b/data/scripts/maps/NavelRock_Down01.inc new file mode 100644 index 0000000000..9677167eb9 --- /dev/null +++ b/data/scripts/maps/NavelRock_Down01.inc @@ -0,0 +1,3 @@ +NavelRock_Down01_MapScripts:: @ 826924A + .byte 0 + diff --git a/data/scripts/maps/NavelRock_Down02.inc b/data/scripts/maps/NavelRock_Down02.inc new file mode 100644 index 0000000000..946530a4a1 --- /dev/null +++ b/data/scripts/maps/NavelRock_Down02.inc @@ -0,0 +1,3 @@ +NavelRock_Down02_MapScripts:: @ 826924B + .byte 0 + diff --git a/data/scripts/maps/NavelRock_Down03.inc b/data/scripts/maps/NavelRock_Down03.inc new file mode 100644 index 0000000000..2a2a702c18 --- /dev/null +++ b/data/scripts/maps/NavelRock_Down03.inc @@ -0,0 +1,3 @@ +NavelRock_Down03_MapScripts:: @ 826924C + .byte 0 + diff --git a/data/scripts/maps/NavelRock_Down04.inc b/data/scripts/maps/NavelRock_Down04.inc new file mode 100644 index 0000000000..acf5aa4564 --- /dev/null +++ b/data/scripts/maps/NavelRock_Down04.inc @@ -0,0 +1,3 @@ +NavelRock_Down04_MapScripts:: @ 826924D + .byte 0 + diff --git a/data/scripts/maps/NavelRock_Down05.inc b/data/scripts/maps/NavelRock_Down05.inc new file mode 100644 index 0000000000..22a0c2059d --- /dev/null +++ b/data/scripts/maps/NavelRock_Down05.inc @@ -0,0 +1,3 @@ +NavelRock_Down05_MapScripts:: @ 826924E + .byte 0 + diff --git a/data/scripts/maps/NavelRock_Down06.inc b/data/scripts/maps/NavelRock_Down06.inc new file mode 100644 index 0000000000..9acfe1e6a3 --- /dev/null +++ b/data/scripts/maps/NavelRock_Down06.inc @@ -0,0 +1,3 @@ +NavelRock_Down06_MapScripts:: @ 826924F + .byte 0 + diff --git a/data/scripts/maps/NavelRock_Down07.inc b/data/scripts/maps/NavelRock_Down07.inc new file mode 100644 index 0000000000..6c08fcc85a --- /dev/null +++ b/data/scripts/maps/NavelRock_Down07.inc @@ -0,0 +1,3 @@ +NavelRock_Down07_MapScripts:: @ 8269250 + .byte 0 + diff --git a/data/scripts/maps/NavelRock_Down08.inc b/data/scripts/maps/NavelRock_Down08.inc new file mode 100644 index 0000000000..5a40a72a5d --- /dev/null +++ b/data/scripts/maps/NavelRock_Down08.inc @@ -0,0 +1,3 @@ +NavelRock_Down08_MapScripts:: @ 8269251 + .byte 0 + diff --git a/data/scripts/maps/NavelRock_Down09.inc b/data/scripts/maps/NavelRock_Down09.inc new file mode 100644 index 0000000000..80bbbc0e58 --- /dev/null +++ b/data/scripts/maps/NavelRock_Down09.inc @@ -0,0 +1,3 @@ +NavelRock_Down09_MapScripts:: @ 8269252 + .byte 0 + diff --git a/data/scripts/maps/NavelRock_Down10.inc b/data/scripts/maps/NavelRock_Down10.inc new file mode 100644 index 0000000000..2b27edeb58 --- /dev/null +++ b/data/scripts/maps/NavelRock_Down10.inc @@ -0,0 +1,3 @@ +NavelRock_Down10_MapScripts:: @ 8269253 + .byte 0 + diff --git a/data/scripts/maps/NavelRock_Down11.inc b/data/scripts/maps/NavelRock_Down11.inc new file mode 100644 index 0000000000..91c6fa36a4 --- /dev/null +++ b/data/scripts/maps/NavelRock_Down11.inc @@ -0,0 +1,3 @@ +NavelRock_Down11_MapScripts:: @ 8269254 + .byte 0 + diff --git a/data/scripts/maps/NavelRock_Entrance.inc b/data/scripts/maps/NavelRock_Entrance.inc new file mode 100644 index 0000000000..9c25f50546 --- /dev/null +++ b/data/scripts/maps/NavelRock_Entrance.inc @@ -0,0 +1,3 @@ +NavelRock_Entrance_MapScripts:: @ 826910C + .byte 0 + diff --git a/data/scripts/maps/NavelRock_Exterior.inc b/data/scripts/maps/NavelRock_Exterior.inc new file mode 100644 index 0000000000..daa3fc9642 --- /dev/null +++ b/data/scripts/maps/NavelRock_Exterior.inc @@ -0,0 +1,8 @@ +NavelRock_Exterior_MapScripts:: @ 82690B2 + map_script 3, NavelRock_Exterior_MapScript1_2690B8 + .byte 0 + +NavelRock_Exterior_MapScript1_2690B8: @ 82690B8 + setflag FLAG_0x8E1 + end + diff --git a/data/scripts/maps/NavelRock_Fork.inc b/data/scripts/maps/NavelRock_Fork.inc new file mode 100644 index 0000000000..4269feeacf --- /dev/null +++ b/data/scripts/maps/NavelRock_Fork.inc @@ -0,0 +1,3 @@ +NavelRock_Fork_MapScripts:: @ 826910E + .byte 0 + diff --git a/data/scripts/maps/NavelRock_Harbor.inc b/data/scripts/maps/NavelRock_Harbor.inc new file mode 100644 index 0000000000..c7acaf0665 --- /dev/null +++ b/data/scripts/maps/NavelRock_Harbor.inc @@ -0,0 +1,27 @@ +NavelRock_Harbor_MapScripts:: @ 82690BC + .byte 0 + +NavelRock_Harbor_EventScript_2690BD:: @ 82690BD + lock + faceplayer + msgbox NavelRock_Harbor_Text_2C6CE6, 5 + compare VAR_RESULT, 0 + goto_eq NavelRock_Harbor_EventScript_269102 + msgbox NavelRock_Harbor_Text_2A6A5D, 4 + closemessage + applymovement VAR_LAST_TALKED, NavelRock_Harbor_Movement_2725AA + waitmovement 0 + delay 30 + hideobjectat 1, NAVEL_ROCK_HARBOR + setvar VAR_0x8004, 2 + call NavelRock_Harbor_EventScript_272250 + warp LILYCOVE_CITY_HARBOR, 255, 8, 11 + waitstate + release + end + +NavelRock_Harbor_EventScript_269102:: @ 8269102 + msgbox NavelRock_Harbor_Text_2A6A82, 4 + release + end + diff --git a/data/scripts/maps/NavelRock_Top.inc b/data/scripts/maps/NavelRock_Top.inc new file mode 100644 index 0000000000..af3586554b --- /dev/null +++ b/data/scripts/maps/NavelRock_Top.inc @@ -0,0 +1,127 @@ +NavelRock_Top_MapScripts:: @ 8269113 + map_script 3, NavelRock_Top_MapScript1_26911E + map_script 5, NavelRock_Top_MapScript1_269151 + .byte 0 + +NavelRock_Top_MapScript1_26911E: @ 826911E + checkflag FLAG_0x092 + call_if 1, NavelRock_Top_EventScript_269131 + checkflag FLAG_0x092 + call_if 0, NavelRock_Top_EventScript_26913A + end + +NavelRock_Top_EventScript_269131:: @ 8269131 + setvar VAR_0x4001, 1 + setflag FLAG_0x321 + return + +NavelRock_Top_EventScript_26913A:: @ 826913A + setvar VAR_0x4001, 1 + checkflag FLAG_0x1DC + goto_eq NavelRock_Top_EventScript_27374E + setvar VAR_0x4001, 0 + clearflag FLAG_0x321 + return + +NavelRock_Top_MapScript1_269151: @ 8269151 + checkflag FLAG_SYS_CTRL_OBJ_DELETE + call_if 1, NavelRock_Top_EventScript_26915B + end + +NavelRock_Top_EventScript_26915B:: @ 826915B + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 7 + goto_if 5, NavelRock_Top_EventScript_27374E + removeobject 1 + return + +NavelRock_Top_EventScript_26916F:: @ 826916F + lockall + setvar VAR_0x4001, 1 + special SpawnScriptFieldObject + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 35 + special sub_813B80C + applymovement 1, NavelRock_Top_Movement_269243 + applymovement 127, NavelRock_Top_Movement_269230 + waitmovement 0 + delay 50 + setweather 0 + doweather + waitse + playmoncry SPECIES_HO_OH, 2 + delay 30 + waitmoncry + delay 60 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 35 + special sub_813B80C + applymovement 127, NavelRock_Top_Movement_269234 + applymovement 1, NavelRock_Top_Movement_26923A + waitmovement 0 + special RemoveScriptFieldObject + setvar VAR_0x8004, 250 + setvar VAR_0x8005, 70 + setvar VAR_0x8006, 0 + special DoScriptedWildBattle + setflag FLAG_SYS_CTRL_OBJ_DELETE + special BattleSetup_StartLegendaryBattle + waitstate + clearflag FLAG_SYS_CTRL_OBJ_DELETE + setvar VAR_LAST_TALKED, 1 + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 1 + goto_eq NavelRock_Top_EventScript_269217 + compare VAR_RESULT, 4 + goto_eq NavelRock_Top_EventScript_269225 + compare VAR_RESULT, 5 + goto_eq NavelRock_Top_EventScript_269225 + setflag FLAG_0x092 + releaseall + end + +NavelRock_Top_EventScript_269217:: @ 8269217 + setflag FLAG_0x1DC + setvar VAR_0x8004, 250 + goto NavelRock_Top_EventScript_273776 + end + +NavelRock_Top_EventScript_269225:: @ 8269225 + setvar VAR_0x8004, 250 + goto NavelRock_Top_EventScript_273776 + end + +NavelRock_Top_Movement_269230: @ 8269230 + step_up + step_up + step_up + step_end + +NavelRock_Top_Movement_269234: @ 8269234 + step_14 + step_14 + step_down + step_down + step_down + step_end + +NavelRock_Top_Movement_26923A: @ 826923A + step_down + step_down + step_down + step_down + step_down + step_1d + step_14 + step_14 + step_end + +NavelRock_Top_Movement_269243: @ 8269243 + step_14 + step_14 + step_1d + step_1d + step_1d + step_1d + step_end + diff --git a/data/scripts/maps/NavelRock_Up1.inc b/data/scripts/maps/NavelRock_Up1.inc new file mode 100644 index 0000000000..c85af5f0c9 --- /dev/null +++ b/data/scripts/maps/NavelRock_Up1.inc @@ -0,0 +1,3 @@ +NavelRock_Up1_MapScripts:: @ 826910F + .byte 0 + diff --git a/data/scripts/maps/NavelRock_Up2.inc b/data/scripts/maps/NavelRock_Up2.inc new file mode 100644 index 0000000000..27ae521909 --- /dev/null +++ b/data/scripts/maps/NavelRock_Up2.inc @@ -0,0 +1,3 @@ +NavelRock_Up2_MapScripts:: @ 8269110 + .byte 0 + diff --git a/data/scripts/maps/NavelRock_Up3.inc b/data/scripts/maps/NavelRock_Up3.inc new file mode 100644 index 0000000000..a9c3e2a3ce --- /dev/null +++ b/data/scripts/maps/NavelRock_Up3.inc @@ -0,0 +1,3 @@ +NavelRock_Up3_MapScripts:: @ 8269111 + .byte 0 + diff --git a/data/scripts/maps/NavelRock_Up4.inc b/data/scripts/maps/NavelRock_Up4.inc new file mode 100644 index 0000000000..c6beead6da --- /dev/null +++ b/data/scripts/maps/NavelRock_Up4.inc @@ -0,0 +1,3 @@ +NavelRock_Up4_MapScripts:: @ 8269112 + .byte 0 + diff --git a/data/scripts/maps/NewMauville_Entrance.inc b/data/scripts/maps/NewMauville_Entrance.inc new file mode 100644 index 0000000000..727b779857 --- /dev/null +++ b/data/scripts/maps/NewMauville_Entrance.inc @@ -0,0 +1,61 @@ +NewMauville_Entrance_MapScripts:: @ 82372AD + map_script 1, NewMauville_Entrance_MapScript1_2372B8 + map_script 3, NewMauville_Entrance_MapScript1_2372FB + .byte 0 + +NewMauville_Entrance_MapScript1_2372B8: @ 82372B8 + compare VAR_0x40BA, 0 + call_if 1, NewMauville_Entrance_EventScript_2372C4 + end + +NewMauville_Entrance_EventScript_2372C4:: @ 82372C4 + setmetatile 3, 0, 788, 1 + setmetatile 4, 0, 789, 1 + setmetatile 5, 0, 790, 1 + setmetatile 3, 1, 796, 1 + setmetatile 4, 1, 797, 1 + setmetatile 5, 1, 798, 1 + return + +NewMauville_Entrance_MapScript1_2372FB: @ 82372FB + setflag FLAG_LANDMARK_NEW_MAUVILLE + end + +NewMauville_Entrance_EventScript_2372FF:: @ 82372FF + lockall + applymovement 255, NewMauville_Entrance_Movement_2725A6 + waitmovement 0 + msgbox NewMauville_Entrance_Text_237382, 4 + checkitem ITEM_BASEMENT_KEY, 1 + compare VAR_RESULT, 0 + goto_eq NewMauville_Entrance_EventScript_237380 + msgbox NewMauville_Entrance_Text_237396, 5 + compare VAR_RESULT, 0 + goto_eq NewMauville_Entrance_EventScript_237380 + msgbox NewMauville_Entrance_Text_2373AC, 4 + setmetatile 3, 0, 707, 0 + setmetatile 4, 0, 708, 0 + setmetatile 5, 0, 709, 0 + setmetatile 3, 1, 715, 1 + setmetatile 4, 1, 716, 0 + setmetatile 5, 1, 717, 1 + special DrawWholeMapView + playse SE_BAN + setvar VAR_0x40BA, 1 + releaseall + end + +NewMauville_Entrance_EventScript_237380:: @ 8237380 + releaseall + end + +NewMauville_Entrance_Text_237382: @ 8237382 + .string "The door is locked.$" + +NewMauville_Entrance_Text_237396: @ 8237396 + .string "Use the BASEMENT KEY?$" + +NewMauville_Entrance_Text_2373AC: @ 82373AC + .string "{PLAYER} used the BASEMENT KEY.\p" + .string "The door opened!$" + diff --git a/data/scripts/maps/NewMauville_Inside.inc b/data/scripts/maps/NewMauville_Inside.inc new file mode 100644 index 0000000000..301df7801e --- /dev/null +++ b/data/scripts/maps/NewMauville_Inside.inc @@ -0,0 +1,282 @@ +NewMauville_Inside_MapScripts:: @ 82373D7 + map_script 5, NewMauville_Inside_MapScript1_2373E7 + map_script 3, NewMauville_Inside_MapScript1_23741B + map_script 1, NewMauville_Inside_MapScript1_23744D + .byte 0 + +NewMauville_Inside_MapScript1_2373E7: @ 82373E7 + compare VAR_0x4001, 1 + call_if 1, NewMauville_Inside_EventScript_237489 + compare VAR_0x4002, 1 + call_if 1, NewMauville_Inside_EventScript_2375D7 + checkflag FLAG_SYS_CTRL_OBJ_DELETE + call_if 1, NewMauville_Inside_EventScript_237407 + end + +NewMauville_Inside_EventScript_237407:: @ 8237407 + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 7 + goto_if 5, NewMauville_Inside_EventScript_27374E + removeobject VAR_LAST_TALKED + return + +NewMauville_Inside_MapScript1_23741B: @ 823741B + setvar VAR_0x4001, 0 + setvar VAR_0x4002, 0 + checkflag FLAG_0x1C1 + call_if 0, NewMauville_Inside_EventScript_237441 + checkflag FLAG_0x1C2 + call_if 0, NewMauville_Inside_EventScript_237445 + checkflag FLAG_0x1C3 + call_if 0, NewMauville_Inside_EventScript_237449 + end + +NewMauville_Inside_EventScript_237441:: @ 8237441 + clearflag FLAG_0x3CE + return + +NewMauville_Inside_EventScript_237445:: @ 8237445 + clearflag FLAG_0x3CF + return + +NewMauville_Inside_EventScript_237449:: @ 8237449 + clearflag FLAG_0x3D0 + return + +NewMauville_Inside_MapScript1_23744D: @ 823744D + compare VAR_0x40BA, 2 + call_if 1, NewMauville_Inside_EventScript_23773A + end + +NewMauville_Inside_EventScript_237459:: @ 8237459 + lockall + setvar VAR_0x4001, 1 + setvar VAR_0x4002, 0 + playse SE_PIN + call NewMauville_Inside_EventScript_237489 + special DrawWholeMapView + releaseall + end + +NewMauville_Inside_EventScript_237471:: @ 8237471 + lockall + setvar VAR_0x4001, 0 + setvar VAR_0x4002, 1 + playse SE_PIN + call NewMauville_Inside_EventScript_2375D7 + special DrawWholeMapView + releaseall + end + +NewMauville_Inside_EventScript_237489:: @ 8237489 + setmetatile 23, 34, 617, 1 + setmetatile 23, 35, 625, 1 + setmetatile 23, 36, 621, 0 + setmetatile 23, 37, 641, 0 + setmetatile 10, 16, 617, 1 + setmetatile 10, 17, 625, 1 + setmetatile 10, 18, 621, 0 + setmetatile 10, 19, 641, 0 + setmetatile 10, 0, 617, 1 + setmetatile 10, 1, 625, 1 + setmetatile 10, 2, 621, 0 + setmetatile 10, 3, 641, 0 + setmetatile 37, 33, 694, 1 + setmetatile 37, 34, 702, 1 + setmetatile 37, 35, 710, 1 + setmetatile 37, 36, 718, 1 + setmetatile 28, 22, 694, 1 + setmetatile 28, 23, 702, 1 + setmetatile 28, 24, 710, 1 + setmetatile 28, 25, 718, 1 + setmetatile 10, 24, 694, 1 + setmetatile 10, 25, 702, 1 + setmetatile 10, 26, 710, 1 + setmetatile 10, 27, 718, 1 + setmetatile 21, 2, 694, 1 + setmetatile 21, 3, 702, 1 + setmetatile 21, 4, 710, 1 + setmetatile 21, 5, 718, 1 + setmetatile 6, 11, 591, 0 + setmetatile 13, 10, 591, 0 + setmetatile 16, 22, 591, 0 + setmetatile 4, 26, 591, 0 + setmetatile 30, 38, 591, 0 + setmetatile 2, 11, 558, 0 + setmetatile 17, 10, 558, 0 + setmetatile 25, 18, 558, 0 + setmetatile 18, 36, 558, 0 + return + +NewMauville_Inside_EventScript_2375D7:: @ 82375D7 + setmetatile 23, 34, 695, 1 + setmetatile 23, 35, 703, 1 + setmetatile 23, 36, 711, 1 + setmetatile 23, 37, 719, 1 + setmetatile 10, 16, 695, 1 + setmetatile 10, 17, 703, 1 + setmetatile 10, 18, 711, 1 + setmetatile 10, 19, 719, 1 + setmetatile 10, 0, 695, 1 + setmetatile 10, 1, 703, 1 + setmetatile 10, 2, 711, 1 + setmetatile 10, 3, 719, 1 + setmetatile 37, 33, 617, 1 + setmetatile 37, 34, 625, 1 + setmetatile 37, 35, 621, 0 + setmetatile 37, 36, 641, 0 + setmetatile 28, 22, 617, 1 + setmetatile 28, 23, 625, 1 + setmetatile 28, 24, 621, 0 + setmetatile 28, 25, 641, 0 + setmetatile 10, 24, 617, 1 + setmetatile 10, 25, 625, 1 + setmetatile 10, 26, 621, 0 + setmetatile 10, 27, 641, 0 + setmetatile 21, 2, 617, 1 + setmetatile 21, 3, 625, 1 + setmetatile 21, 4, 621, 0 + setmetatile 21, 5, 641, 0 + setmetatile 2, 11, 591, 0 + setmetatile 17, 10, 591, 0 + setmetatile 25, 18, 591, 0 + setmetatile 18, 36, 591, 0 + setmetatile 6, 11, 566, 0 + setmetatile 13, 10, 566, 0 + setmetatile 16, 22, 566, 0 + setmetatile 4, 26, 566, 0 + setmetatile 30, 38, 566, 0 + return + +NewMauville_Inside_EventScript_237725:: @ 8237725 + lockall + msgbox NewMauville_Inside_Text_237932, 4 + call NewMauville_Inside_EventScript_23773A + setvar VAR_0x40BA, 2 + releaseall + end + +NewMauville_Inside_EventScript_23773A:: @ 823773A + setmetatile 33, 6, 591, 0 + setmetatile 32, 2, 752, 1 + setmetatile 33, 2, 753, 1 + setmetatile 34, 2, 754, 1 + setmetatile 35, 2, 755, 1 + setmetatile 32, 3, 756, 1 + setmetatile 33, 3, 757, 1 + setmetatile 34, 3, 758, 1 + setmetatile 35, 3, 759, 1 + special DrawWholeMapView + return + +NewMauville_Inside_EventScript_23778F:: @ 823778F + lockall + compare VAR_0x40BA, 2 + goto_eq NewMauville_Inside_EventScript_2377A5 + msgbox NewMauville_Inside_Text_237896, 4 + releaseall + end + +NewMauville_Inside_EventScript_2377A5:: @ 82377A5 + msgbox NewMauville_Inside_Text_237916, 4 + releaseall + end + +NewMauville_Inside_EventScript_2377AF:: @ 82377AF + lock + faceplayer + setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE + waitse + playmoncry SPECIES_VOLTORB, 2 + delay 40 + waitmoncry + setflag FLAG_SYS_CTRL_OBJ_DELETE + dowildbattle + clearflag FLAG_SYS_CTRL_OBJ_DELETE + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 1 + goto_eq NewMauville_Inside_EventScript_2377F3 + compare VAR_RESULT, 4 + goto_eq NewMauville_Inside_EventScript_2377F3 + compare VAR_RESULT, 5 + goto_eq NewMauville_Inside_EventScript_2377F3 + setflag FLAG_0x1C1 + release + end + +NewMauville_Inside_EventScript_2377F3:: @ 82377F3 + setflag FLAG_0x1C1 + goto NewMauville_Inside_EventScript_27376D + end + +NewMauville_Inside_EventScript_2377FC:: @ 82377FC + lock + faceplayer + setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE + waitse + playmoncry SPECIES_VOLTORB, 2 + delay 40 + waitmoncry + setflag FLAG_SYS_CTRL_OBJ_DELETE + dowildbattle + clearflag FLAG_SYS_CTRL_OBJ_DELETE + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 1 + goto_eq NewMauville_Inside_EventScript_237840 + compare VAR_RESULT, 4 + goto_eq NewMauville_Inside_EventScript_237840 + compare VAR_RESULT, 5 + goto_eq NewMauville_Inside_EventScript_237840 + setflag FLAG_0x1C2 + release + end + +NewMauville_Inside_EventScript_237840:: @ 8237840 + setflag FLAG_0x1C2 + goto NewMauville_Inside_EventScript_27376D + end + +NewMauville_Inside_EventScript_237849:: @ 8237849 + lock + faceplayer + setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE + waitse + playmoncry SPECIES_VOLTORB, 2 + delay 40 + waitmoncry + setflag FLAG_SYS_CTRL_OBJ_DELETE + dowildbattle + clearflag FLAG_SYS_CTRL_OBJ_DELETE + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 1 + goto_eq NewMauville_Inside_EventScript_23788D + compare VAR_RESULT, 4 + goto_eq NewMauville_Inside_EventScript_23788D + compare VAR_RESULT, 5 + goto_eq NewMauville_Inside_EventScript_23788D + setflag FLAG_0x1C3 + release + end + +NewMauville_Inside_EventScript_23788D:: @ 823788D + setflag FLAG_0x1C3 + goto NewMauville_Inside_EventScript_27376D + end + +NewMauville_Inside_Text_237896: @ 8237896 + .string "The generator is radiating heat that\n" + .string "can be felt even at a distance.\p" + .string "It looks like it should be turned off\n" + .string "as soon as possible.$" + +NewMauville_Inside_Text_237916: @ 8237916 + .string "The generator quieted down.$" + +NewMauville_Inside_Text_237932: @ 8237932 + .string "{PLAYER} stepped on the switch.\p" + .string "Click…\p" + .string "… … … … … … … …\n" + .string "… … … … … … … …\p" + .string "The generator appears to have\n" + .string "stopped…$" + diff --git a/data/scripts/maps/OldaleTown.inc b/data/scripts/maps/OldaleTown.inc new file mode 100644 index 0000000000..3c075cad0c --- /dev/null +++ b/data/scripts/maps/OldaleTown.inc @@ -0,0 +1,408 @@ +OldaleTown_MapScripts:: @ 81E8EA2 + map_script 3, OldaleTown_MapScript1_1E8EA8 + .byte 0 + +OldaleTown_MapScript1_1E8EA8: @ 81E8EA8 + call OldaleTown_EventScript_271ED7 + setflag FLAG_VISITED_OLDALE_TOWN + checkflag FLAG_0x074 + call_if 0, OldaleTown_EventScript_1E8ED2 + checkflag FLAG_0x084 + call_if 0, OldaleTown_EventScript_1E8EDE + checkflag FLAG_0x074 + call_if 1, OldaleTown_EventScript_1E8ECC + end + +OldaleTown_EventScript_1E8ECC:: @ 81E8ECC + setvar VAR_0x4051, 1 + return + +OldaleTown_EventScript_1E8ED2:: @ 81E8ED2 + setobjectxyperm 3, 1, 11 + setobjectmovementtype 3, 9 + return + +OldaleTown_EventScript_1E8EDE:: @ 81E8EDE + setobjectxyperm 2, 13, 14 + setobjectmovementtype 2, 8 + return + +OldaleTown_EventScript_1E8EEA:: @ 81E8EEA + msgbox OldaleTown_Text_1E94DA, 3 + end + +OldaleTown_EventScript_1E8EF3:: @ 81E8EF3 + msgbox OldaleTown_Text_1E918E, 2 + end + +OldaleTown_EventScript_1E8EFC:: @ 81E8EFC + lock + faceplayer + checkflag FLAG_0x084 + goto_eq OldaleTown_EventScript_1E8FB9 + checkflag FLAG_0x001 + goto_eq OldaleTown_EventScript_1E8FB9 + setflag FLAG_0x001 + playbgm MUS_TSURETEK, 0 + msgbox OldaleTown_Text_1E91C0, 4 + closemessage + switch VAR_FACING + case 1, OldaleTown_EventScript_1E8F47 + case 2, OldaleTown_EventScript_1E8F5E + case 4, OldaleTown_EventScript_1E8F75 + end + +OldaleTown_EventScript_1E8F47:: @ 81E8F47 + applymovement 2, OldaleTown_Movement_1E8FD7 + applymovement 255, OldaleTown_Movement_1E9001 + waitmovement 0 + goto OldaleTown_EventScript_1E8F8C + end + +OldaleTown_EventScript_1E8F5E:: @ 81E8F5E + applymovement 2, OldaleTown_Movement_1E8FE2 + applymovement 255, OldaleTown_Movement_1E900B + waitmovement 0 + goto OldaleTown_EventScript_1E8F8C + end + +OldaleTown_EventScript_1E8F75:: @ 81E8F75 + applymovement 255, OldaleTown_Movement_1E8FF9 + applymovement 2, OldaleTown_Movement_1E8FCE + waitmovement 0 + goto OldaleTown_EventScript_1E8F8C + end + +OldaleTown_EventScript_1E8F8C:: @ 81E8F8C + msgbox OldaleTown_Text_1E91FD, 4 + giveitem_std ITEM_POTION + compare VAR_RESULT, 0 + goto_eq OldaleTown_EventScript_1E8FC3 + msgbox OldaleTown_Text_1E92AF, 4 + setflag FLAG_0x084 + fadedefaultbgm + release + end + +OldaleTown_EventScript_1E8FB9:: @ 81E8FB9 + msgbox OldaleTown_Text_1E92AF, 4 + release + end + +OldaleTown_EventScript_1E8FC3:: @ 81E8FC3 + msgbox gUnknown_08272AD0, 4 + fadedefaultbgm + release + end + +OldaleTown_Movement_1E8FCE: @ 81E8FCE + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_25 + step_end + +OldaleTown_Movement_1E8FD7: @ 81E8FD7 + step_left + step_up + step_up + step_right + step_up + step_up + step_up + step_up + step_up + step_25 + step_end + +OldaleTown_Movement_1E8FE2: @ 81E8FE2 + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_25 + step_end + +OldaleTown_Movement_1E8FEB: @ 81E8FEB + step_up + step_up + step_right + step_right + step_right + step_right + step_up + step_up + step_up + step_up + step_up + step_13 + step_25 + step_end + +OldaleTown_Movement_1E8FF9: @ 81E8FF9 + step_right + step_up + step_up + step_up + step_up + step_up + step_up + step_end + +OldaleTown_Movement_1E9001: @ 81E9001 + step_14 + step_14 + step_14 + step_14 + step_up + step_up + step_up + step_up + step_up + step_end + +OldaleTown_Movement_1E900B: @ 81E900B + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_end + +OldaleTown_Movement_1E9013: @ 81E9013 + step_left + step_up + step_up + step_right + step_right + step_right + step_right + step_up + step_up + step_up + step_up + step_end + +OldaleTown_EventScript_1E901F:: @ 81E901F + lock + faceplayer + checkflag FLAG_0x074 + goto_eq OldaleTown_EventScript_1E9066 + msgbox OldaleTown_Text_1E939A, 4 + closemessage + applymovement 3, OldaleTown_Movement_2725A2 + waitmovement 0 + release + end + +OldaleTown_EventScript_1E903F:: @ 81E903F + lockall + applymovement 255, OldaleTown_Movement_1E9182 + applymovement 3, OldaleTown_Movement_1E9185 + waitmovement 0 + msgbox OldaleTown_Text_1E9313, 4 + closemessage + applymovement 3, OldaleTown_Movement_1E918B + waitmovement 0 + releaseall + end + +OldaleTown_EventScript_1E9066:: @ 81E9066 + msgbox OldaleTown_Text_1E93F8, 4 + release + end + +OldaleTown_EventScript_1E9070:: @ 81E9070 + lockall + applymovement 4, OldaleTown_Movement_27259E + waitmovement 0 + setvar VAR_0x8009, 0 + goto OldaleTown_EventScript_1E90E6 + end + +OldaleTown_EventScript_1E9086:: @ 81E9086 + lockall + applymovement 4, OldaleTown_Movement_1E9170 + waitmovement 0 + applymovement 255, OldaleTown_Movement_2725A8 + waitmovement 0 + setvar VAR_0x8009, 1 + goto OldaleTown_EventScript_1E90E6 + end + +OldaleTown_EventScript_1E90A6:: @ 81E90A6 + lockall + applymovement 4, OldaleTown_Movement_1E9173 + waitmovement 0 + applymovement 255, OldaleTown_Movement_2725A8 + waitmovement 0 + setvar VAR_0x8009, 1 + goto OldaleTown_EventScript_1E90E6 + end + +OldaleTown_EventScript_1E90C6:: @ 81E90C6 + lockall + applymovement 4, OldaleTown_Movement_1E9175 + waitmovement 0 + applymovement 255, OldaleTown_Movement_2725A8 + waitmovement 0 + setvar VAR_0x8009, 1 + goto OldaleTown_EventScript_1E90E6 + end + +OldaleTown_EventScript_1E90E6:: @ 81E90E6 + checkplayergender + compare VAR_RESULT, 0 + goto_eq OldaleTown_EventScript_1E90FE + compare VAR_RESULT, 1 + goto_eq OldaleTown_EventScript_1E910C + end + +OldaleTown_EventScript_1E90FE:: @ 81E90FE + msgbox OldaleTown_Text_1E9462, 4 + goto OldaleTown_EventScript_1E911A + end + +OldaleTown_EventScript_1E910C:: @ 81E910C + msgbox OldaleTown_Text_1E948A, 4 + goto OldaleTown_EventScript_1E911A + end + +OldaleTown_EventScript_1E911A:: @ 81E911A + closemessage + compare VAR_0x8009, 0 + call_if 1, OldaleTown_EventScript_1E9148 + compare VAR_0x8009, 1 + call_if 1, OldaleTown_EventScript_1E915E + applymovement 4, OldaleTown_Movement_1E9177 + waitmovement 0 + removeobject 4 + setvar VAR_0x40C7, 2 + setflag FLAG_0x3D3 + releaseall + end + +OldaleTown_EventScript_1E9148:: @ 81E9148 + compare VAR_FACING, 1 + goto_if 5, OldaleTown_EventScript_1E915E + applymovement 4, OldaleTown_Movement_1E9177 + waitmovement 0 + return + +OldaleTown_EventScript_1E915E:: @ 81E915E + applymovement 255, OldaleTown_Movement_1E917E + applymovement 4, OldaleTown_Movement_1E9177 + waitmovement 0 + return + +OldaleTown_Movement_1E9170: @ 81E9170 + step_left + step_left + step_end + +OldaleTown_Movement_1E9173: @ 81E9173 + step_left + step_end + +OldaleTown_Movement_1E9175: @ 81E9175 + step_02 + step_end + +OldaleTown_Movement_1E9177: @ 81E9177 + step_down + step_down + step_down + step_down + step_down + step_down + step_end + +OldaleTown_Movement_1E917E: @ 81E917E + step_13 + step_12 + step_25 + step_end + +OldaleTown_Movement_1E9182: @ 81E9182 + step_13 + step_right + step_end + +OldaleTown_Movement_1E9185: @ 81E9185 + step_16 + step_27 + step_40 + step_right + step_41 + step_end + +OldaleTown_Movement_1E918B: @ 81E918B + step_down + step_left + step_end + +OldaleTown_Text_1E918E: @ 81E918E + .string "I want to take a rest, so I’m saving my\n" + .string "progress.$" + +OldaleTown_Text_1E91C0: @ 81E91C0 + .string "Hi!\n" + .string "I work at a POKéMON MART.\p" + .string "Can I get you to come with me?$" + +OldaleTown_Text_1E91FD: @ 81E91FD + .string "This is a POKéMON MART.\n" + .string "Just look for our blue roof.\p" + .string "We sell a variety of goods including\n" + .string "POKé BALLS for catching POKéMON.\p" + .string "Here, I’d like you to have this as\n" + .string "a promotional item.$" + +OldaleTown_Text_1E92AF: @ 81E92AF + .string "A POTION can be used anytime, so it’s\n" + .string "even more useful than a POKéMON CENTER\l" + .string "in certain situations.$" + +OldaleTown_Text_1E9313: @ 81E9313 + .string "Aaaaah! Wait!\n" + .string "Please don’t come in here.\p" + .string "I just discovered the footprints of\n" + .string "a rare POKéMON!\p" + .string "Wait until I finish sketching\n" + .string "them, okay?$" + +OldaleTown_Text_1E939A: @ 81E939A + .string "I just discovered the footprints of\n" + .string "a rare POKéMON!\p" + .string "Wait until I finish sketching\n" + .string "them, okay?$" + +OldaleTown_Text_1E93F8: @ 81E93F8 + .string "I finished sketching the footprints of\n" + .string "a rare POKéMON.\p" + .string "But it turns out they were only my\n" + .string "own footprints…$" + +OldaleTown_Text_1E9462: @ 81E9462 + .string "MAY: {PLAYER}{KUN}!\n" + .string "Over here!\l" + .string "Let’s hurry home!$" + +OldaleTown_Text_1E948A: @ 81E948A + .string "BRENDAN: I’m heading back to my dad’s\n" + .string "LAB now.\l" + .string "{PLAYER}, you should hustle back, too.$" + +OldaleTown_Text_1E94DA: @ 81E94DA + .string "OLDALE TOWN\n" + .string "“Where things start off scarce.”$" + diff --git a/data/scripts/maps/OldaleTown_House1.inc b/data/scripts/maps/OldaleTown_House1.inc new file mode 100644 index 0000000000..6a36ff57e5 --- /dev/null +++ b/data/scripts/maps/OldaleTown_House1.inc @@ -0,0 +1,15 @@ +OldaleTown_House1_MapScripts:: @ 81FBE85 + .byte 0 + +OldaleTown_House1_EventScript_1FBE86:: @ 81FBE86 + msgbox OldaleTown_House1_Text_1FBE8F, 2 + end + +OldaleTown_House1_Text_1FBE8F: @ 81FBE8F + .string "When a POKéMON battle starts, the one\n" + .string "at the left of the list goes out first.\p" + .string "So, when you get more POKéMON in your\n" + .string "party, try switching around the order\l" + .string "of your POKéMON.\p" + .string "It could give you an advantage.$" + diff --git a/data/scripts/maps/OldaleTown_House2.inc b/data/scripts/maps/OldaleTown_House2.inc new file mode 100644 index 0000000000..55941705cc --- /dev/null +++ b/data/scripts/maps/OldaleTown_House2.inc @@ -0,0 +1,20 @@ +OldaleTown_House2_MapScripts:: @ 81FBF5A + .byte 0 + +OldaleTown_House2_EventScript_1FBF5B:: @ 81FBF5B + msgbox OldaleTown_House2_Text_1FBF6D, 2 + end + +OldaleTown_House2_EventScript_1FBF64:: @ 81FBF64 + msgbox OldaleTown_House2_Text_1FBFB0, 2 + end + +OldaleTown_House2_Text_1FBF6D: @ 81FBF6D + .string "When POKéMON battle, they eventually\n" + .string "level up and become stronger.$" + +OldaleTown_House2_Text_1FBFB0: @ 81FBFB0 + .string "If the POKéMON with you become\n" + .string "stronger, you’ll be able to go farther\l" + .string "away from here.$" + diff --git a/data/scripts/maps/OldaleTown_Mart.inc b/data/scripts/maps/OldaleTown_Mart.inc new file mode 100644 index 0000000000..de88937127 --- /dev/null +++ b/data/scripts/maps/OldaleTown_Mart.inc @@ -0,0 +1,73 @@ +OldaleTown_Mart_MapScripts:: @ 81FC23F + .byte 0 + +OldaleTown_Mart_EventScript_1FC240:: @ 81FC240 + lock + faceplayer + message gUnknown_08272A21 + waitmessage + checkflag FLAG_0x074 + goto_eq OldaleTown_Mart_EventScript_1FC26C + pokemart OldaleTown_Mart_Pokemart_1FC260 + msgbox gUnknown_08272A3F, 4 + release + end + +OldaleTown_Mart_Pokemart_1FC260: @ 81FC260 + .2byte ITEM_POTION + .2byte ITEM_ANTIDOTE + .2byte ITEM_PARALYZE_HEAL + .2byte ITEM_AWAKENING + .2byte ITEM_NONE + release + end + +OldaleTown_Mart_EventScript_1FC26C:: @ 81FC26C + pokemart OldaleTown_Mart_Pokemart_1FC27C + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +OldaleTown_Mart_Pokemart_1FC27C: @ 81FC27C + .2byte ITEM_POKE_BALL + .2byte ITEM_POTION + .2byte ITEM_ANTIDOTE + .2byte ITEM_PARALYZE_HEAL + .2byte ITEM_AWAKENING + .2byte ITEM_NONE + release + end + +OldaleTown_Mart_EventScript_1FC28A:: @ 81FC28A + lock + faceplayer + checkflag FLAG_0x074 + goto_eq OldaleTown_Mart_EventScript_1FC29F + msgbox OldaleTown_Mart_Text_1FC2B2, 4 + release + end + +OldaleTown_Mart_EventScript_1FC29F:: @ 81FC29F + msgbox OldaleTown_Mart_Text_1FC2F3, 4 + release + end + +OldaleTown_Mart_EventScript_1FC2A9:: @ 81FC2A9 + msgbox OldaleTown_Mart_Text_1FC338, 2 + end + +OldaleTown_Mart_Text_1FC2B2: @ 81FC2B2 + .string "The clerk says they’re all sold out.\n" + .string "I can’t buy any POKé BALLS.$" + +OldaleTown_Mart_Text_1FC2F3: @ 81FC2F3 + .string "I’m going to buy a bunch of POKé BALLS\n" + .string "and catch a bunch of POKéMON!$" + +OldaleTown_Mart_Text_1FC338: @ 81FC338 + .string "If a POKéMON gets hurt and loses its HP\n" + .string "and faints, it won’t be able to battle.\p" + .string "To prevent your POKéMON from fainting,\n" + .string "restore its HP with a POTION.$" + diff --git a/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc b/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc new file mode 100644 index 0000000000..ece540e706 --- /dev/null +++ b/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc @@ -0,0 +1,63 @@ +OldaleTown_PokemonCenter_1F_MapScripts:: @ 81FC006 + map_script 3, OldaleTown_PokemonCenter_1F_MapScript1_1FC011 + map_script 5, OldaleTown_PokemonCenter_1F_MapScript1_277C30 + .byte 0 + +OldaleTown_PokemonCenter_1F_MapScript1_1FC011: @ 81FC011 + setrespawn 14 + call OldaleTown_PokemonCenter_1F_EventScript_2718DE + end + +OldaleTown_PokemonCenter_1F_EventScript_1FC01A:: @ 81FC01A + setvar VAR_0x800B, 1 + call OldaleTown_PokemonCenter_1F_EventScript_27191E + waitmessage + waitbuttonpress + release + end + +OldaleTown_PokemonCenter_1F_EventScript_1FC028:: @ 81FC028 + msgbox OldaleTown_PokemonCenter_1F_Text_1FC059, 2 + end + +OldaleTown_PokemonCenter_1F_EventScript_1FC031:: @ 81FC031 + msgbox OldaleTown_PokemonCenter_1F_Text_1FC0CD, 2 + end + +OldaleTown_PokemonCenter_1F_EventScript_1FC03A:: @ 81FC03A + lock + faceplayer + checkflag FLAG_SYS_POKEDEX_GET + goto_eq OldaleTown_PokemonCenter_1F_EventScript_1FC04F + msgbox OldaleTown_PokemonCenter_1F_Text_1FC148, 4 + release + end + +OldaleTown_PokemonCenter_1F_EventScript_1FC04F:: @ 81FC04F + msgbox OldaleTown_PokemonCenter_1F_Text_1FC1B9, 4 + release + end + +OldaleTown_PokemonCenter_1F_Text_1FC059: @ 81FC059 + .string "That PC in the corner there is\n" + .string "for any POKéMON TRAINER to use.\p" + .string "Naturally, that means you’re welcome\n" + .string "to use it, too.$" + +OldaleTown_PokemonCenter_1F_Text_1FC0CD: @ 81FC0CD + .string "POKéMON CENTERS are great!\p" + .string "You can use their services as much\n" + .string "as you like, and it’s all for free.\l" + .string "You never have to worry!$" + +OldaleTown_PokemonCenter_1F_Text_1FC148: @ 81FC148 + .string "The POKéMON WIRELESS CLUB on\n" + .string "the second floor was built recently.\p" + .string "But they say they’re still making\n" + .string "adjustments.$" + +OldaleTown_PokemonCenter_1F_Text_1FC1B9: @ 81FC1B9 + .string "The POKéMON WIRELESS CLUB on\n" + .string "the second floor was built recently.\p" + .string "I traded POKéMON right away.$" + diff --git a/data/scripts/maps/OldaleTown_PokemonCenter_2F.inc b/data/scripts/maps/OldaleTown_PokemonCenter_2F.inc new file mode 100644 index 0000000000..788157bebf --- /dev/null +++ b/data/scripts/maps/OldaleTown_PokemonCenter_2F.inc @@ -0,0 +1,19 @@ +OldaleTown_PokemonCenter_2F_MapScripts:: @ 81FC218 + map_script 2, OldaleTown_PokemonCenter_2F_MapScript2_276C3B + map_script 4, OldaleTown_PokemonCenter_2F_MapScript2_276B6C + map_script 1, OldaleTown_PokemonCenter_2F_MapScript1_276BBE + map_script 3, OldaleTown_PokemonCenter_2F_MapScript1_276ACF + .byte 0 + +OldaleTown_PokemonCenter_2F_EventScript_1FC22D:: @ 81FC22D + call OldaleTown_PokemonCenter_2F_EventScript_276EB7 + end + +OldaleTown_PokemonCenter_2F_EventScript_1FC233:: @ 81FC233 + call OldaleTown_PokemonCenter_2F_EventScript_2770B2 + end + +OldaleTown_PokemonCenter_2F_EventScript_1FC239:: @ 81FC239 + call OldaleTown_PokemonCenter_2F_EventScript_2771DB + end + diff --git a/data/scripts/maps/PacifidlogTown.inc b/data/scripts/maps/PacifidlogTown.inc new file mode 100644 index 0000000000..1f4f0e872f --- /dev/null +++ b/data/scripts/maps/PacifidlogTown.inc @@ -0,0 +1,54 @@ +PacifidlogTown_MapScripts:: @ 81EBAB1 + map_script 3, PacifidlogTown_MapScript1_1EBABC + map_script 5, PacifidlogTown_MapScript1_1EBAC0 + .byte 0 + +PacifidlogTown_MapScript1_1EBABC: @ 81EBABC + setflag FLAG_VISITED_PACIFIDLOG_TOWN + end + +PacifidlogTown_MapScript1_1EBAC0: @ 81EBAC0 + setstepcallback 3 + end + +PacifidlogTown_EventScript_1EBAC3:: @ 81EBAC3 + msgbox PacifidlogTown_Text_1EBB6C, 2 + end + +PacifidlogTown_EventScript_1EBACC:: @ 81EBACC + msgbox PacifidlogTown_Text_1EBAE7, 2 + end + +PacifidlogTown_EventScript_1EBAD5:: @ 81EBAD5 + msgbox PacifidlogTown_Text_1EBBAC, 2 + end + +PacifidlogTown_EventScript_1EBADE:: @ 81EBADE + msgbox PacifidlogTown_Text_1EBC7A, 3 + end + +PacifidlogTown_Text_1EBAE7: @ 81EBAE7 + .string "The sea between PACIFIDLOG and\n" + .string "SLATEPORT has a fast-running tide.\p" + .string "If you decide to SURF, you could end\n" + .string "up swept away somewhere else.$" + +PacifidlogTown_Text_1EBB6C: @ 81EBB6C + .string "See, isn’t it neat?\n" + .string "These houses are on water!\p" + .string "I was born here!$" + +PacifidlogTown_Text_1EBBAC: @ 81EBBAC + .string "The SKY PILLAR?\p" + .string "…Oh, you must mean that tall, tall\n" + .string "tower a little further out.\p" + .string "If you asked me, I wouldn’t climb it.\n" + .string "It’s too scary to get up that high.\p" + .string "Life at sea level in PACIFIDLOG,\n" + .string "that suits me fine.$" + +PacifidlogTown_Text_1EBC7A: @ 81EBC7A + .string "PACIFIDLOG TOWN\p" + .string "“Where the morning sun smiles upon\n" + .string "the waters.”$" + diff --git a/data/scripts/maps/PacifidlogTown_House1.inc b/data/scripts/maps/PacifidlogTown_House1.inc new file mode 100644 index 0000000000..b4fe4c9790 --- /dev/null +++ b/data/scripts/maps/PacifidlogTown_House1.inc @@ -0,0 +1,25 @@ +PacifidlogTown_House1_MapScripts:: @ 820365C + .byte 0 + +PacifidlogTown_House1_EventScript_20365D:: @ 820365D + msgbox PacifidlogTown_House1_Text_20366F, 2 + end + +PacifidlogTown_House1_EventScript_203666:: @ 8203666 + msgbox PacifidlogTown_House1_Text_20373A, 2 + end + +PacifidlogTown_House1_Text_20366F: @ 820366F + .string "In the HOENN region, there are three\n" + .string "POKéMON that represent the power of\l" + .string "rock, ice, and steel.\p" + .string "Each of them is said to hide away deep\n" + .string "inside caves.\p" + .string "That’s the story I heard when I was\n" + .string "just a little kid.$" + +PacifidlogTown_House1_Text_20373A: @ 820373A + .string "“Six dots open three doors.”\p" + .string "Grandpa used to say that, but I don’t\n" + .string "know what he meant.$" + diff --git a/data/scripts/maps/PacifidlogTown_House2.inc b/data/scripts/maps/PacifidlogTown_House2.inc new file mode 100644 index 0000000000..0e87677e62 --- /dev/null +++ b/data/scripts/maps/PacifidlogTown_House2.inc @@ -0,0 +1,156 @@ +PacifidlogTown_House2_MapScripts:: @ 8203791 + .byte 0 + +PacifidlogTown_House2_EventScript_203792:: @ 8203792 + lock + faceplayer + dodailyevents + call PacifidlogTown_House2_EventScript_2037DE + checkflag FLAG_0x12B + goto_eq PacifidlogTown_House2_EventScript_20387E + checkflag FLAG_0x12C + call_if 1, PacifidlogTown_House2_EventScript_2037F8 + checkflag FLAG_0x12C + call_if 0, PacifidlogTown_House2_EventScript_203801 + setflag FLAG_0x12C + specialvar VAR_RESULT, GetLeadMonFriendshipScore + compare VAR_RESULT, 4 + goto_if 4, PacifidlogTown_House2_EventScript_203816 + specialvar VAR_RESULT, GetLeadMonFriendshipScore + compare VAR_RESULT, 2 + goto_if 4, PacifidlogTown_House2_EventScript_203845 + goto PacifidlogTown_House2_EventScript_20384F + end + +PacifidlogTown_House2_EventScript_2037DE:: @ 82037DE + checkflag FLAG_0x12B + goto_if 0, PacifidlogTown_House2_EventScript_27374E + specialvar VAR_RESULT, sub_813970C + compare VAR_RESULT, 0 + call_if 1, PacifidlogTown_House2_EventScript_203812 + return + +PacifidlogTown_House2_EventScript_2037F8:: @ 82037F8 + msgbox PacifidlogTown_House2_Text_20395B, 4 + return + +PacifidlogTown_House2_EventScript_203801:: @ 8203801 + msgbox PacifidlogTown_House2_Text_2038C7, 4 + msgbox PacifidlogTown_House2_Text_20395B, 4 + return + +PacifidlogTown_House2_EventScript_203812:: @ 8203812 + clearflag FLAG_0x12B + return + +PacifidlogTown_House2_EventScript_203816:: @ 8203816 + msgbox PacifidlogTown_House2_Text_20396D, 4 + giveitem_std ITEM_TM27 + compare VAR_RESULT, 0 + goto_eq PacifidlogTown_House2_EventScript_272054 + setflag FLAG_0x12B + special sub_8139754 + msgbox PacifidlogTown_House2_Text_203A85, 4 + release + end + +PacifidlogTown_House2_EventScript_203845:: @ 8203845 + msgbox PacifidlogTown_House2_Text_2039CE, 4 + release + end + +PacifidlogTown_House2_EventScript_20384F:: @ 820384F + msgbox PacifidlogTown_House2_Text_203A2F, 4 + giveitem_std ITEM_TM21 + compare VAR_RESULT, 0 + goto_eq PacifidlogTown_House2_EventScript_272054 + setflag FLAG_0x12B + special sub_8139754 + msgbox PacifidlogTown_House2_Text_203A85, 4 + release + end + +PacifidlogTown_House2_EventScript_20387E:: @ 820387E + specialvar VAR_RESULT, sub_813970C + buffernumberstring 0, VAR_RESULT + msgbox PacifidlogTown_House2_Text_203AF4, 4 + release + end + +PacifidlogTown_House2_EventScript_203891:: @ 8203891 + lock + faceplayer + waitse + playmoncry SPECIES_AZURILL, 0 + msgbox PacifidlogTown_House2_Text_203B8D, 4 + waitmoncry + msgbox PacifidlogTown_House2_Text_203B9D, 4 + release + end + +PacifidlogTown_House2_EventScript_2038AC:: @ 82038AC + lock + faceplayer + waitse + playmoncry SPECIES_AZURILL, 2 + msgbox PacifidlogTown_House2_Text_203BCE, 4 + waitmoncry + msgbox PacifidlogTown_House2_Text_203BDF, 4 + release + end + +PacifidlogTown_House2_Text_2038C7: @ 82038C7 + .string "Er-hem!\p" + .string "I am the POKéMON FAN CLUB’s most\n" + .string "important person, the CHAIRMAN’s\l" + .string "younger brother.\p" + .string "I’m here enjoying my vacation with\n" + .string "POKéMON, yes, indeed.$" + +PacifidlogTown_House2_Text_20395B: @ 820395B + .string "Ah!\n" + .string "Your POKéMON…$" + +PacifidlogTown_House2_Text_20396D: @ 820396D + .string "It clearly likes you very much.\p" + .string "A POKéMON that adoring and adorable\n" + .string "deserves a TM like this, no?$" + +PacifidlogTown_House2_Text_2039CE: @ 82039CE + .string "Hmm…\n" + .string "It’s not bad, but it’s also not good.\p" + .string "You, as the TRAINER, need to put in\n" + .string "some more effort.$" + +PacifidlogTown_House2_Text_203A2F: @ 8203A2F + .string "It has a vicious look to it.\p" + .string "A frightening POKéMON like that\n" + .string "deserves a TM like this.$" + +PacifidlogTown_House2_Text_203A85: @ 8203A85 + .string "If a POKéMON likes you a lot, RETURN’s\n" + .string "power is enhanced.\p" + .string "If it doesn’t like you, FRUSTRATION’s\n" + .string "power goes up.$" + +PacifidlogTown_House2_Text_203AF4: @ 8203AF4 + .string "Oh, yes. In about {STR_VAR_1} or so days,\n" + .string "I should be getting a good TM or two.\p" + .string "You should come see me then.\n" + .string "I’ll give you a TM that’s suitable for\l" + .string "your POKéMON.$" + +PacifidlogTown_House2_Text_203B8D: @ 8203B8D + .string "AZURILL: Rurii.$" + +PacifidlogTown_House2_Text_203B9D: @ 8203B9D + .string "It appears to be very friendly with the\n" + .string "TRAINER.$" + +PacifidlogTown_House2_Text_203BCE: @ 8203BCE + .string "AZURILL: Rururi!$" + +PacifidlogTown_House2_Text_203BDF: @ 8203BDF + .string "It doesn’t appear to like the TRAINER\n" + .string "very much.$" + diff --git a/data/scripts/maps/PacifidlogTown_House3.inc b/data/scripts/maps/PacifidlogTown_House3.inc new file mode 100644 index 0000000000..98977b766b --- /dev/null +++ b/data/scripts/maps/PacifidlogTown_House3.inc @@ -0,0 +1,93 @@ +PacifidlogTown_House3_MapScripts:: @ 8203C10 + .byte 0 + +PacifidlogTown_House3_EventScript_203C11:: @ 8203C11 + lock + faceplayer + checkflag FLAG_0x09A + goto_eq PacifidlogTown_House3_EventScript_203CAB + setvar VAR_0x8008, 2 + copyvar VAR_0x8004, VAR_0x8008 + specialvar VAR_RESULT, sub_807E73C + copyvar VAR_0x8009, VAR_RESULT + msgbox PacifidlogTown_House3_Text_203CBE, 5 + compare VAR_RESULT, 0 + goto_eq PacifidlogTown_House3_EventScript_203C93 + special sub_81B94B0 + waitstate + copyvar VAR_0x800A, VAR_0x8004 + compare VAR_0x8004, 255 + goto_eq PacifidlogTown_House3_EventScript_203C93 + copyvar VAR_0x8005, VAR_0x800A + specialvar VAR_RESULT, sub_807E9D4 + copyvar VAR_0x800B, VAR_RESULT + compare VAR_RESULT, VAR_0x8009 + goto_if 5, PacifidlogTown_House3_EventScript_203C9D + copyvar VAR_0x8004, VAR_0x8008 + copyvar VAR_0x8005, VAR_0x800A + special sub_807EA10 + special sub_807F0E4 + waitstate + bufferspeciesname 0, VAR_0x8009 + msgbox PacifidlogTown_House3_Text_203D87, 4 + setflag FLAG_0x09A + release + end + +PacifidlogTown_House3_EventScript_203C93:: @ 8203C93 + msgbox PacifidlogTown_House3_Text_203E12, 4 + release + end + +PacifidlogTown_House3_EventScript_203C9D:: @ 8203C9D + bufferspeciesname 0, VAR_0x8009 + msgbox PacifidlogTown_House3_Text_203DDE, 4 + release + end + +PacifidlogTown_House3_EventScript_203CAB:: @ 8203CAB + msgbox PacifidlogTown_House3_Text_203E7F, 4 + release + end + +PacifidlogTown_House3_EventScript_203CB5:: @ 8203CB5 + msgbox PacifidlogTown_House3_Text_203EF1, 2 + end + +PacifidlogTown_House3_Text_203CBE: @ 8203CBE + .string "Check out this {STR_VAR_2}!\p" + .string "It’s the {STR_VAR_2} that I caught\n" + .string "yesterday to celebrate my birthday!\p" + .string "Oh, I can see that you want it!\n" + .string "After all, it’s priceless!\p" + .string "I’ll tell you what. I might be willing\n" + .string "to trade it for a {STR_VAR_1}.$" + +PacifidlogTown_House3_Text_203D87: @ 8203D87 + .string "Oh, so this is a {STR_VAR_1}?\p" + .string "It’s sort of like a {STR_VAR_2},\n" + .string "and yet it’s subtly different.\p" + .string "Thank you!$" + +PacifidlogTown_House3_Text_203DDE: @ 8203DDE + .string "No, no, no! I won’t accept any\n" + .string "less than a real {STR_VAR_1}!$" + +PacifidlogTown_House3_Text_203E12: @ 8203E12 + .string "Oh, so you’re not going to go through\n" + .string "with this?\p" + .string "That’s cool. I’m not desperate to make\n" + .string "a trade or anything.$" + +PacifidlogTown_House3_Text_203E7F: @ 8203E7F + .string "I know I could go looking for one\n" + .string "on my own, but…\p" + .string "But I really wanted to get a BAGON\n" + .string "that another TRAINER caught…$" + +PacifidlogTown_House3_Text_203EF1: @ 8203EF1 + .string "Is that a POKéDEX?\p" + .string "Did you get to meet a lot of different\n" + .string "POKéMON?\p" + .string "I wish I was like you.$" + diff --git a/data/scripts/maps/PacifidlogTown_House4.inc b/data/scripts/maps/PacifidlogTown_House4.inc new file mode 100644 index 0000000000..a3e9cf0a44 --- /dev/null +++ b/data/scripts/maps/PacifidlogTown_House4.inc @@ -0,0 +1,55 @@ +PacifidlogTown_House4_MapScripts:: @ 8203F4B + .byte 0 + +PacifidlogTown_House4_EventScript_203F4C:: @ 8203F4C + msgbox PacifidlogTown_House4_Text_204017, 2 + end + +PacifidlogTown_House4_EventScript_203F55:: @ 8203F55 + msgbox PacifidlogTown_House4_Text_203F93, 2 + end + +PacifidlogTown_House4_EventScript_203F5E:: @ 8203F5E + lock + faceplayer + msgbox PacifidlogTown_House4_Text_204035, 5 + compare VAR_RESULT, 1 + goto_eq PacifidlogTown_House4_EventScript_203F7F + compare VAR_RESULT, 0 + goto_eq PacifidlogTown_House4_EventScript_203F89 + end + +PacifidlogTown_House4_EventScript_203F7F:: @ 8203F7F + msgbox PacifidlogTown_House4_Text_20404E, 4 + release + end + +PacifidlogTown_House4_EventScript_203F89:: @ 8203F89 + msgbox PacifidlogTown_House4_Text_204084, 4 + release + end + +PacifidlogTown_House4_Text_203F93: @ 8203F93 + .string "People were saying they saw a POKéMON\n" + .string "flying high above HOENN.\p" + .string "Is it flying around all the time?\n" + .string "Doesn’t it need to rest somewhere?$" + +PacifidlogTown_House4_Text_204017: @ 8204017 + .string "A sky POKéMON!\n" + .string "A sky POKéMON!$" + +PacifidlogTown_House4_Text_204035: @ 8204035 + .string "Where did you come from?$" + +PacifidlogTown_House4_Text_20404E: @ 820404E + .string "Yes?\n" + .string "YES TOWN?\p" + .string "I’ve never heard of a place like that.$" + +PacifidlogTown_House4_Text_204084: @ 8204084 + .string "No? That doesn’t make any sense.\n" + .string "You have to come from somewhere.\p" + .string "Oh! Wait! You’re not going to say you\n" + .string "were born at the bottom of the sea?$" + diff --git a/data/scripts/maps/PacifidlogTown_House5.inc b/data/scripts/maps/PacifidlogTown_House5.inc new file mode 100644 index 0000000000..ec97a639ed --- /dev/null +++ b/data/scripts/maps/PacifidlogTown_House5.inc @@ -0,0 +1,37 @@ +PacifidlogTown_House5_MapScripts:: @ 8204110 + .byte 0 + +PacifidlogTown_House5_EventScript_204111:: @ 8204111 + lock + faceplayer + specialvar VAR_RESULT, IsMirageIslandPresent + compare VAR_RESULT, 1 + goto_eq PacifidlogTown_House5_EventScript_20412D + msgbox PacifidlogTown_House5_Text_204140, 4 + release + end + +PacifidlogTown_House5_EventScript_20412D:: @ 820412D + msgbox PacifidlogTown_House5_Text_204161, 4 + release + end + +PacifidlogTown_House5_EventScript_204137:: @ 8204137 + msgbox PacifidlogTown_House5_Text_20418B, 2 + end + +PacifidlogTown_House5_Text_204140: @ 8204140 + .string "I can’t see MIRAGE ISLAND today…$" + +PacifidlogTown_House5_Text_204161: @ 8204161 + .string "Oh! Oh my!\n" + .string "I can see MIRAGE ISLAND today!$" + +PacifidlogTown_House5_Text_20418B: @ 820418B + .string "MIRAGE ISLAND…\p" + .string "It must become visible and invisible\n" + .string "depending on the weather conditions\l" + .string "that make mirages appear.\p" + .string "Or is it really appearing and\n" + .string "disappearing?$" + diff --git a/data/scripts/maps/PacifidlogTown_PokemonCenter_1F.inc b/data/scripts/maps/PacifidlogTown_PokemonCenter_1F.inc new file mode 100644 index 0000000000..fd34cd2aaa --- /dev/null +++ b/data/scripts/maps/PacifidlogTown_PokemonCenter_1F.inc @@ -0,0 +1,48 @@ +PacifidlogTown_PokemonCenter_1F_MapScripts:: @ 82034A7 + map_script 3, PacifidlogTown_PokemonCenter_1F_MapScript1_2034B2 + map_script 5, PacifidlogTown_PokemonCenter_1F_MapScript1_277C30 + .byte 0 + +PacifidlogTown_PokemonCenter_1F_MapScript1_2034B2: @ 82034B2 + setrespawn 19 + end + +PacifidlogTown_PokemonCenter_1F_EventScript_2034B6:: @ 82034B6 + setvar VAR_0x800B, 1 + call PacifidlogTown_PokemonCenter_1F_EventScript_27191E + waitmessage + waitbuttonpress + release + end + +PacifidlogTown_PokemonCenter_1F_EventScript_2034C4:: @ 82034C4 + msgbox PacifidlogTown_PokemonCenter_1F_Text_2034DF, 2 + end + +PacifidlogTown_PokemonCenter_1F_EventScript_2034CD:: @ 82034CD + msgbox PacifidlogTown_PokemonCenter_1F_Text_20350F, 2 + end + +PacifidlogTown_PokemonCenter_1F_EventScript_2034D6:: @ 82034D6 + msgbox PacifidlogTown_PokemonCenter_1F_Text_20356F, 2 + end + +PacifidlogTown_PokemonCenter_1F_Text_2034DF: @ 82034DF + .string "What color is your TRAINER CARD?\n" + .string "Mine’s copper!$" + +PacifidlogTown_PokemonCenter_1F_Text_20350F: @ 820350F + .string "PACIFIDLOG TOWN floats on top of\n" + .string "a colony of CORSOLA.\p" + .string "If I told you that, would you believe\n" + .string "me?$" + +PacifidlogTown_PokemonCenter_1F_Text_20356F: @ 820356F + .string "The ancestors of the people in\n" + .string "PACIFIDLOG were said to have been\l" + .string "born on boats and then lived and died \l" + .string "aboard them.\p" + .string "I understand that they lived that way\n" + .string "because they were searching for\l" + .string "something.$" + diff --git a/data/scripts/maps/PacifidlogTown_PokemonCenter_2F.inc b/data/scripts/maps/PacifidlogTown_PokemonCenter_2F.inc new file mode 100644 index 0000000000..0199c22153 --- /dev/null +++ b/data/scripts/maps/PacifidlogTown_PokemonCenter_2F.inc @@ -0,0 +1,19 @@ +PacifidlogTown_PokemonCenter_2F_MapScripts:: @ 8203635 + map_script 2, PacifidlogTown_PokemonCenter_2F_MapScript2_276C3B + map_script 4, PacifidlogTown_PokemonCenter_2F_MapScript2_276B6C + map_script 1, PacifidlogTown_PokemonCenter_2F_MapScript1_276BBE + map_script 3, PacifidlogTown_PokemonCenter_2F_MapScript1_276ACF + .byte 0 + +PacifidlogTown_PokemonCenter_2F_EventScript_20364A:: @ 820364A + call OldaleTown_PokemonCenter_2F_EventScript_276EB7 + end + +PacifidlogTown_PokemonCenter_2F_EventScript_203650:: @ 8203650 + call OldaleTown_PokemonCenter_2F_EventScript_2770B2 + end + +PacifidlogTown_PokemonCenter_2F_EventScript_203656:: @ 8203656 + call OldaleTown_PokemonCenter_2F_EventScript_2771DB + end + diff --git a/data/scripts/maps/PetalburgCity.inc b/data/scripts/maps/PetalburgCity.inc new file mode 100644 index 0000000000..0da6860521 --- /dev/null +++ b/data/scripts/maps/PetalburgCity.inc @@ -0,0 +1,771 @@ +PetalburgCity_MapScript1_1DC2D7: @ 81DC2D7 + setflag FLAG_VISITED_PETALBURG_CITY + compare VAR_0x4057, 0 + call_if 1, PetalburgCity_EventScript_1DC307 + compare VAR_0x4057, 2 + call_if 1, PetalburgCity_EventScript_1DC30F + compare VAR_0x4057, 4 + call_if 1, PetalburgCity_EventScript_1DC30F + compare VAR_0x4085, 8 + call_if 1, PetalburgCity_EventScript_1DC316 + end + +PetalburgCity_EventScript_1DC307:: @ 81DC307 + setobjectxyperm 8, 5, 11 + return + +PetalburgCity_EventScript_1DC30F:: @ 81DC30F + setflag FLAG_SPECIAL_FLAG_0x4000 + savebgm MUS_TSURETEK + return + +PetalburgCity_EventScript_1DC316:: @ 81DC316 + setvar VAR_0x4085, 7 + return + +PetalburgCity_MapScript2_1DC31C: @ 81DC31C + map_script_2 VAR_0x4057, 2, PetalburgCity_EventScript_1DC32E + map_script_2 VAR_0x4057, 4, PetalburgCity_EventScript_1DC390 + .2byte 0 + +PetalburgCity_EventScript_1DC32E:: @ 81DC32E + lockall + special copy_player_party_to_sav1 + special PutZigzagoonInPlayerParty + applymovement 2, PetalburgCity_Movement_1DC451 + applymovement 255, PetalburgCity_Movement_1DC430 + waitmovement 0 + msgbox PetalburgCity_Text_1EC1F8, 4 + special StartWallyTutorialBattle + waitstate + msgbox PetalburgCity_Text_1EC271, 4 + applymovement 2, PetalburgCity_Movement_2725A4, PETALBURG_CITY + waitmovement 2, PETALBURG_CITY + msgbox PetalburgCity_Text_1EC297, 4 + closemessage + clearflag FLAG_SPECIAL_FLAG_0x4000 + setvar VAR_0x4057, 3 + fadedefaultbgm + clearflag FLAG_SPECIAL_FLAG_0x4001 + special copy_player_party_from_sav1 + setvar VAR_0x4085, 1 + warp PETALBURG_CITY_GYM, 255, 4, 108 + waitstate + releaseall + end + +PetalburgCity_EventScript_1DC390:: @ 81DC390 + lockall + setflag FLAG_SPECIAL_FLAG_0x4000 + applymovement 5, PetalburgCity_Movement_1DC41B + applymovement 255, PetalburgCity_Movement_1DC406 + waitmovement 0 + setvar VAR_0x8004, 7 + setvar VAR_0x8005, 5 + opendoor VAR_0x8004, VAR_0x8005 + waitdooranim + applymovement 5, PetalburgCity_Movement_1DC42D + applymovement 255, PetalburgCity_Movement_1DC418 + waitmovement 0 + setflag FLAG_0x33E + hideobjectat 255, PETALBURG_CITY + closedoor VAR_0x8004, VAR_0x8005 + waitdooranim + clearflag FLAG_SPECIAL_FLAG_0x4000 + fadedefaultbgm + clearflag FLAG_SPECIAL_FLAG_0x4001 + warp PETALBURG_CITY_WALLYS_HOUSE, 255, 2, 4 + waitstate + releaseall + end + +PetalburgCity_EventScript_1DC3E6:: @ 81DC3E6 + lock + faceplayer + msgbox PetalburgCity_Text_1DC985, 4 + closemessage + applymovement 3, PetalburgCity_Movement_2725A2 + waitmovement 0 + release + end + +PetalburgCity_EventScript_1DC3FD:: @ 81DC3FD + msgbox PetalburgCity_Text_1DC837, 2 + end + +PetalburgCity_Movement_1DC406: @ 81DC406 + step_13 + step_down + step_down + step_down + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_up + step_up + step_up + step_up + step_up + step_end + +PetalburgCity_Movement_1DC418: @ 81DC418 + step_up + step_up + step_end + +PetalburgCity_Movement_1DC41B: @ 81DC41B + step_13 + step_down + step_down + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_up + step_up + step_up + step_up + step_up + step_up + step_end + +PetalburgCity_Movement_1DC42D: @ 81DC42D + step_up + step_54 + step_end + +PetalburgCity_Movement_1DC430: @ 81DC430 + step_13 + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_up + step_up + step_28 + step_end + +PetalburgCity_Movement_1DC451: @ 81DC451 + step_13 + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_up + step_up + step_right + step_14 + step_26 + step_14 + step_14 + step_28 + step_end + +PetalburgCity_EventScript_1DC476:: @ 81DC476 + msgbox PetalburgCity_Text_1DCAAA, 3 + end + +PetalburgCity_EventScript_1DC47F:: @ 81DC47F + msgbox PetalburgCity_Text_1DCAF1, 3 + end + +PetalburgCity_EventScript_1DC488:: @ 81DC488 + msgbox PetalburgCity_Text_1DCA30, 2 + end + +PetalburgCity_EventScript_1DC491:: @ 81DC491 + msgbox PetalburgCity_Text_1DCB23, 3 + end + +PetalburgCity_EventScript_1DC49A:: @ 81DC49A + lockall + setvar VAR_0x8008, 0 + goto PetalburgCity_EventScript_1DC4CA + end + +PetalburgCity_EventScript_1DC4A6:: @ 81DC4A6 + lockall + setvar VAR_0x8008, 1 + goto PetalburgCity_EventScript_1DC4CA + end + +PetalburgCity_EventScript_1DC4B2:: @ 81DC4B2 + lockall + setvar VAR_0x8008, 2 + goto PetalburgCity_EventScript_1DC4CA + end + +PetalburgCity_EventScript_1DC4BE:: @ 81DC4BE + lockall + setvar VAR_0x8008, 3 + goto PetalburgCity_EventScript_1DC4CA + end + +PetalburgCity_EventScript_1DC4CA:: @ 81DC4CA + applymovement 8, PetalburgCity_Movement_27259E + waitmovement 0 + playbgm MUS_TSURETEK, 0 + playse SE_PIN + applymovement 8, PetalburgCity_Movement_272598 + waitmovement 0 + applymovement 8, PetalburgCity_Movement_27259A + waitmovement 0 + compare VAR_0x8008, 0 + call_if 1, PetalburgCity_EventScript_1DC57F + compare VAR_0x8008, 1 + call_if 1, PetalburgCity_EventScript_1DC594 + compare VAR_0x8008, 2 + call_if 1, PetalburgCity_EventScript_1DC59F + compare VAR_0x8008, 3 + call_if 1, PetalburgCity_EventScript_1DC5B4 + msgbox PetalburgCity_Text_1DC881, 4 + closemessage + compare VAR_0x8008, 0 + call_if 1, PetalburgCity_EventScript_1DC5C9 + compare VAR_0x8008, 1 + call_if 1, PetalburgCity_EventScript_1DC5DB + compare VAR_0x8008, 2 + call_if 1, PetalburgCity_EventScript_1DC5ED + compare VAR_0x8008, 3 + call_if 1, PetalburgCity_EventScript_1DC5FF + msgbox PetalburgCity_Text_1DC91B, 4 + applymovement 8, PetalburgCity_Movement_2725A8 + applymovement 255, PetalburgCity_Movement_2725A8 + waitmovement 0 + msgbox PetalburgCity_Text_1DC93E, 4 + closemessage + applymovement 8, PetalburgCity_Movement_1DC658 + waitmovement 0 + fadedefaultbgm + releaseall + end + +PetalburgCity_EventScript_1DC57F:: @ 81DC57F + applymovement 8, PetalburgCity_Movement_1DC615 + waitmovement 0 + applymovement 255, PetalburgCity_Movement_2725AA + waitmovement 0 + return + +PetalburgCity_EventScript_1DC594:: @ 81DC594 + applymovement 8, PetalburgCity_Movement_1DC61A + waitmovement 0 + return + +PetalburgCity_EventScript_1DC59F:: @ 81DC59F + applymovement 8, PetalburgCity_Movement_1DC61D + waitmovement 0 + applymovement 255, PetalburgCity_Movement_2725A6 + waitmovement 0 + return + +PetalburgCity_EventScript_1DC5B4:: @ 81DC5B4 + applymovement 8, PetalburgCity_Movement_1DC622 + waitmovement 0 + applymovement 255, PetalburgCity_Movement_2725A6 + waitmovement 0 + return + +PetalburgCity_EventScript_1DC5C9:: @ 81DC5C9 + applymovement 8, PetalburgCity_Movement_1DC628 + applymovement 255, PetalburgCity_Movement_1DC665 + waitmovement 0 + return + +PetalburgCity_EventScript_1DC5DB:: @ 81DC5DB + applymovement 8, PetalburgCity_Movement_1DC633 + applymovement 255, PetalburgCity_Movement_1DC66F + waitmovement 0 + return + +PetalburgCity_EventScript_1DC5ED:: @ 81DC5ED + applymovement 8, PetalburgCity_Movement_1DC641 + applymovement 255, PetalburgCity_Movement_1DC67C + waitmovement 0 + return + +PetalburgCity_EventScript_1DC5FF:: @ 81DC5FF + applymovement 8, PetalburgCity_Movement_1DC64C + applymovement 255, PetalburgCity_Movement_1DC686 + waitmovement 0 + return + +PetalburgCity_Movement_1DC611:: @ 81DC611 + step_14 + step_14 + step_14 + step_end + +PetalburgCity_Movement_1DC615: @ 81DC615 + step_right + step_right + step_right + step_26 + step_end + +PetalburgCity_Movement_1DC61A: @ 81DC61A + step_right + step_right + step_end + +PetalburgCity_Movement_1DC61D: @ 81DC61D + step_right + step_right + step_right + step_25 + step_end + +PetalburgCity_Movement_1DC622: @ 81DC622 + step_down + step_right + step_right + step_right + step_25 + step_end + +PetalburgCity_Movement_1DC628: @ 81DC628 + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_up + step_right + step_26 + step_end + +PetalburgCity_Movement_1DC633: @ 81DC633 + step_down + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_up + step_up + step_right + step_26 + step_end + +PetalburgCity_Movement_1DC641: @ 81DC641 + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_up + step_right + step_26 + step_end + +PetalburgCity_Movement_1DC64C: @ 81DC64C + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_up + step_up + step_right + step_26 + step_end + +PetalburgCity_Movement_1DC658: @ 81DC658 + step_down + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +PetalburgCity_Movement_1DC665: @ 81DC665 + step_down + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_up + step_end + +PetalburgCity_Movement_1DC66F: @ 81DC66F + step_14 + step_14 + step_down + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_up + step_up + step_end + +PetalburgCity_Movement_1DC67C: @ 81DC67C + step_up + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_up + step_end + +PetalburgCity_Movement_1DC686: @ 81DC686 + step_up + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_up + step_up + step_end + +PetalburgCity_EventScript_1DC691:: @ 81DC691 + lockall + addobject 9 + setvar VAR_0x8008, 0 + setobjectxy 9, 13, 10 + goto PetalburgCity_EventScript_1DC6E9 + end + +PetalburgCity_EventScript_1DC6A7:: @ 81DC6A7 + lockall + addobject 9 + setvar VAR_0x8008, 1 + setobjectxy 9, 13, 11 + goto PetalburgCity_EventScript_1DC6E9 + end + +PetalburgCity_EventScript_1DC6BD:: @ 81DC6BD + lockall + addobject 9 + setvar VAR_0x8008, 2 + setobjectxy 9, 13, 12 + goto PetalburgCity_EventScript_1DC6E9 + end + +PetalburgCity_EventScript_1DC6D3:: @ 81DC6D3 + lockall + addobject 9 + setvar VAR_0x8008, 3 + setobjectxy 9, 13, 13 + goto PetalburgCity_EventScript_1DC6E9 + end + +PetalburgCity_EventScript_1DC6E9:: @ 81DC6E9 + applymovement 9, PetalburgCity_Movement_1DC7D6 + waitmovement 0 + playse SE_PIN + applymovement 9, PetalburgCity_Movement_272598 + waitmovement 0 + applymovement 9, PetalburgCity_Movement_27259A + waitmovement 0 + applymovement 9, PetalburgCity_Movement_1DC7DB + waitmovement 0 + applymovement 255, PetalburgCity_Movement_2725A8 + waitmovement 0 + setvar VAR_0x40D1, 1 + msgbox PetalburgCity_Text_1DCB31, 4 + closemessage + applymovement 9, PetalburgCity_Movement_2725A8 + waitmovement 0 + delay 30 + msgbox PetalburgCity_Text_1DCB82, 4 + closemessage + applymovement 9, PetalburgCity_Movement_2725A4 + waitmovement 0 + delay 30 + msgbox PetalburgCity_Text_1DCC09, 4 + closemessage + compare VAR_0x8008, 0 + call_if 1, PetalburgCity_EventScript_1DC78E + compare VAR_0x8008, 1 + call_if 1, PetalburgCity_EventScript_1DC7A0 + compare VAR_0x8008, 2 + call_if 1, PetalburgCity_EventScript_1DC7B2 + compare VAR_0x8008, 3 + call_if 1, PetalburgCity_EventScript_1DC7C4 + setvar VAR_0x40C9, 1 + removeobject 9 + releaseall + end + +PetalburgCity_EventScript_1DC78E:: @ 81DC78E + applymovement 255, PetalburgCity_Movement_1DC7EE + applymovement 9, PetalburgCity_Movement_1DC7E0 + waitmovement 0 + return + +PetalburgCity_EventScript_1DC7A0:: @ 81DC7A0 + applymovement 255, PetalburgCity_Movement_1DC802 + applymovement 9, PetalburgCity_Movement_1DC7F5 + waitmovement 0 + return + +PetalburgCity_EventScript_1DC7B2:: @ 81DC7B2 + applymovement 255, PetalburgCity_Movement_1DC815 + applymovement 9, PetalburgCity_Movement_1DC808 + waitmovement 0 + return + +PetalburgCity_EventScript_1DC7C4:: @ 81DC7C4 + applymovement 255, PetalburgCity_Movement_1DC828 + applymovement 9, PetalburgCity_Movement_1DC81B + waitmovement 0 + return + +PetalburgCity_Movement_1DC7D6: @ 81DC7D6 + step_left + step_left + step_left + step_left + step_end + +PetalburgCity_Movement_1DC7DB: @ 81DC7DB + step_left + step_left + step_left + step_left + step_end + +PetalburgCity_Movement_1DC7E0: @ 81DC7E0 + step_down + step_down + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +PetalburgCity_Movement_1DC7EE: @ 81DC7EE + step_14 + step_25 + step_14 + step_14 + step_13 + step_27 + step_end + +PetalburgCity_Movement_1DC7F5: @ 81DC7F5 + step_down + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +PetalburgCity_Movement_1DC802: @ 81DC802 + step_14 + step_25 + step_14 + step_13 + step_27 + step_end + +PetalburgCity_Movement_1DC808: @ 81DC808 + step_down + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +PetalburgCity_Movement_1DC815: @ 81DC815 + step_14 + step_25 + step_14 + step_13 + step_27 + step_end + +PetalburgCity_Movement_1DC81B: @ 81DC81B + step_up + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +PetalburgCity_Movement_1DC828: @ 81DC828 + step_14 + step_26 + step_14 + step_13 + step_27 + step_end + +PetalburgCity_EventScript_1DC82E:: @ 81DC82E + msgbox PetalburgCity_Text_1DC881, 2 + end + +PetalburgCity_Text_1DC837: @ 81DC837 + .string "Where has our WALLY gone?\p" + .string "We have to leave for VERDANTURF TOWN\n" + .string "very soon…$" + +PetalburgCity_Text_1DC881: @ 81DC881 + .string "Hiya! Are you maybe…\n" + .string "A rookie TRAINER?\p" + .string "Do you know what POKéMON TRAINERS\n" + .string "do when they reach a new town?\p" + .string "They first check what kind of GYM\n" + .string "is in the town.$" + +PetalburgCity_Text_1DC91B: @ 81DC91B + .string "See? This is PETALBURG CITY’s GYM.$" + +PetalburgCity_Text_1DC93E: @ 81DC93E + .string "This is the GYM’s sign. Look for it\n" + .string "whenever you’re looking for a GYM.$" + +PetalburgCity_Text_1DC985: @ 81DC985 + .string "My face is reflected in the water.\p" + .string "It’s a shining grin full of hope…\p" + .string "Or it could be a look of somber silence\n" + .string "struggling with fear…\p" + .string "What do you see reflected in your face?$" + +PetalburgCity_Text_1DCA30: @ 81DCA30 + .string "Let’s say you have six POKéMON.\n" + .string "If you catch another one…\p" + .string "It is automatically sent to a STORAGE\n" + .string "BOX over a PC connection.$" + +PetalburgCity_Text_1DCAAA: @ 81DCAAA + .string "PETALBURG CITY POKéMON GYM\n" + .string "LEADER: NORMAN\l" + .string "“A man in pursuit of power!”$" + +PetalburgCity_Text_1DCAF1: @ 81DCAF1 + .string "PETALBURG CITY\n" + .string "“Where people mingle with nature.”$" + +PetalburgCity_Text_1DCB23: @ 81DCB23 + .string "WALLY’S HOUSE$" + +PetalburgCity_Text_1DCB31: @ 81DCB31 + .string "Excuse me!\p" + .string "Let me guess, from the way you’re\n" + .string "dressed, are you a POKéMON TRAINER?$" + +PetalburgCity_Text_1DCB82: @ 81DCB82 + .string "… … … … … …\p" + .string "Well, maybe not.\n" + .string "Your clothes aren’t all that dirty.\p" + .string "You’re either a rookie TRAINER,\n" + .string "or maybe you’re just an ordinary kid.$" + +PetalburgCity_Text_1DCC09: @ 81DCC09 + .string "I’m roaming the land in search of\n" + .string "talented TRAINERS.\p" + .string "I’m sorry to have taken your time.$" diff --git a/data/scripts/maps/PetalburgCity_Gym.inc b/data/scripts/maps/PetalburgCity_Gym.inc new file mode 100644 index 0000000000..627ae904c7 --- /dev/null +++ b/data/scripts/maps/PetalburgCity_Gym.inc @@ -0,0 +1,1703 @@ +PetalburgCity_Gym_MapScripts:: @ 8204889 + map_script 1, PetalburgCity_Gym_MapScript1_20489E + map_script 3, PetalburgCity_Gym_MapScript1_20492D + map_script 4, PetalburgCity_Gym_MapScript2_20498B + map_script 2, PetalburgCity_Gym_MapScript2_20499A + .byte 0 + +PetalburgCity_Gym_MapScript1_20489E: @ 820489E + compare VAR_0x4085, 6 + goto_eq PetalburgCity_Gym_EventScript_2048B5 + compare VAR_0x4085, 7 + call_if 4, PetalburgCity_Gym_EventScript_2048FF + end + +PetalburgCity_Gym_EventScript_2048B5:: @ 82048B5 + setvar VAR_0x8005, 1 + call PetalburgCity_Gym_EventScript_20555E + checktrainerflag TRAINER_RANDALL + call_if 1, PetalburgCity_Gym_EventScript_20557F + checktrainerflag TRAINER_MARY + call_if 1, PetalburgCity_Gym_EventScript_2055A0 + checktrainerflag TRAINER_PARKER + call_if 1, PetalburgCity_Gym_EventScript_2055C1 + checktrainerflag TRAINER_ALEXIA + call_if 1, PetalburgCity_Gym_EventScript_2055E2 + checktrainerflag TRAINER_GEORGE + call_if 1, PetalburgCity_Gym_EventScript_205603 + checktrainerflag TRAINER_JODY + call_if 1, PetalburgCity_Gym_EventScript_205624 + checktrainerflag TRAINER_BERKE + call_if 1, PetalburgCity_Gym_EventScript_205645 + end + +PetalburgCity_Gym_EventScript_2048FF:: @ 82048FF + setvar VAR_0x8005, 1 + call PetalburgCity_Gym_EventScript_20555E + call PetalburgCity_Gym_EventScript_20557F + call PetalburgCity_Gym_EventScript_2055A0 + call PetalburgCity_Gym_EventScript_2055C1 + call PetalburgCity_Gym_EventScript_2055E2 + call PetalburgCity_Gym_EventScript_205603 + call PetalburgCity_Gym_EventScript_205624 + call PetalburgCity_Gym_EventScript_205645 + return + +PetalburgCity_Gym_MapScript1_20492D: @ 820492D + compare VAR_0x4085, 1 + call_if 1, PetalburgCity_Gym_EventScript_20494D + compare VAR_0x4085, 6 + call_if 0, PetalburgCity_Gym_EventScript_204955 + checkflag FLAG_SYS_GAME_CLEAR + call_if 1, PetalburgCity_Gym_EventScript_20495D + end + +PetalburgCity_Gym_EventScript_20494D:: @ 820494D + setobjectxyperm 10, 5, 108 + return + +PetalburgCity_Gym_EventScript_204955:: @ 8204955 + setobjectxyperm 1, 4, 107 + return + +PetalburgCity_Gym_EventScript_20495D:: @ 820495D + setorcopyvar 0x8015, 269 + specialvar VAR_RESULT, IsTrainerReadyForRematch + compare VAR_RESULT, 1 + goto_eq PetalburgCity_Gym_EventScript_204985 + compare VAR_0x4085, 8 + goto_eq PetalburgCity_Gym_EventScript_204985 + setobjectxyperm 1, 4, 107 + return + +PetalburgCity_Gym_EventScript_204985:: @ 8204985 + setvar VAR_0x4085, 8 + end + +PetalburgCity_Gym_MapScript2_20498B: @ 820498B + map_script_2 VAR_0x4085, 1, PetalburgCity_Gym_EventScript_204995 + .2byte 0 + +PetalburgCity_Gym_EventScript_204995:: @ 8204995 + turnobject 255, 2 + end + +PetalburgCity_Gym_MapScript2_20499A: @ 820499A + map_script_2 VAR_0x4085, 1, PetalburgCity_Gym_EventScript_2049A4 + .2byte 0 + +PetalburgCity_Gym_EventScript_2049A4:: @ 82049A4 + lockall + msgbox PetalburgCity_Gym_Text_205B32, 4 + msgbox PetalburgCity_Gym_Text_205B4C, 4 + closemessage + applymovement 255, PetalburgCity_Gym_Movement_2725AA + applymovement 10, PetalburgCity_Gym_Movement_2049EC + waitmovement 0 + playse SE_KAIDAN + removeobject 10 + setflag FLAG_0x2D6 + delay 30 + applymovement 255, PetalburgCity_Gym_Movement_2725A6 + waitmovement 0 + msgbox PetalburgCity_Gym_Text_205C40, 4 + setvar VAR_0x4085, 2 + releaseall + end + +PetalburgCity_Gym_Movement_2049EC: @ 82049EC + step_down + step_down + step_down + step_14 + step_end + +PetalburgCity_Gym_EventScript_2049F1:: @ 82049F1 + lock + faceplayer + switch VAR_0x4085 + case 2, PetalburgCity_Gym_EventScript_204D4A + case 3, PetalburgCity_Gym_EventScript_204D54 + case 4, PetalburgCity_Gym_EventScript_204D5E + case 5, PetalburgCity_Gym_EventScript_204D68 + case 6, PetalburgCity_Gym_EventScript_204E3B + case 7, PetalburgCity_Gym_EventScript_204D80 + case 8, PetalburgCity_Gym_EventScript_204DB3 + msgbox PetalburgCity_Gym_Text_2057A2, 4 + closemessage + switch VAR_FACING + case 1, PetalburgCity_Gym_EventScript_204A80 + case 2, PetalburgCity_Gym_EventScript_204A8B + case 3, PetalburgCity_Gym_EventScript_204A96 + case 4, PetalburgCity_Gym_EventScript_204AA1 + end + +PetalburgCity_Gym_EventScript_204A80:: @ 8204A80 + setvar VAR_0x8008, 0 + goto PetalburgCity_Gym_EventScript_204AAC + end + +PetalburgCity_Gym_EventScript_204A8B:: @ 8204A8B + setvar VAR_0x8008, 1 + goto PetalburgCity_Gym_EventScript_204AAC + end + +PetalburgCity_Gym_EventScript_204A96:: @ 8204A96 + setvar VAR_0x8008, 2 + goto PetalburgCity_Gym_EventScript_204AAC + end + +PetalburgCity_Gym_EventScript_204AA1:: @ 8204AA1 + setvar VAR_0x8008, 3 + goto PetalburgCity_Gym_EventScript_204AAC + end + +PetalburgCity_Gym_EventScript_204AAC:: @ 8204AAC + addobject 10 + playse SE_DOOR + compare VAR_0x8008, 0 + call_if 1, PetalburgCity_Gym_EventScript_204C31 + compare VAR_0x8008, 1 + call_if 1, PetalburgCity_Gym_EventScript_204C43 + compare VAR_0x8008, 2 + call_if 1, PetalburgCity_Gym_EventScript_204C5F + compare VAR_0x8008, 3 + call_if 1, PetalburgCity_Gym_EventScript_204C5F + msgbox PetalburgCity_Gym_Text_2058B1, 4 + msgbox PetalburgCity_Gym_Text_2058DB, 4 + msgbox PetalburgCity_Gym_Text_205910, 4 + msgbox PetalburgCity_Gym_Text_2059D8, 4 + compare VAR_0x8008, 0 + call_if 1, PetalburgCity_Gym_EventScript_204CC7 + compare VAR_0x8008, 1 + call_if 1, PetalburgCity_Gym_EventScript_204CD2 + compare VAR_0x8008, 2 + call_if 1, PetalburgCity_Gym_EventScript_204CE4 + compare VAR_0x8008, 3 + call_if 1, PetalburgCity_Gym_EventScript_204CF6 + msgbox PetalburgCity_Gym_Text_2059E8, 4 + compare VAR_0x8008, 0 + call_if 1, PetalburgCity_Gym_EventScript_204D08 + compare VAR_0x8008, 1 + call_if 1, PetalburgCity_Gym_EventScript_204D13 + compare VAR_0x8008, 2 + call_if 1, PetalburgCity_Gym_EventScript_204D1E + compare VAR_0x8008, 3 + call_if 1, PetalburgCity_Gym_EventScript_204D29 + msgbox PetalburgCity_Gym_Text_205A46, 4 + msgbox PetalburgCity_Gym_Text_205A89, 4 + msgbox PetalburgCity_Gym_Text_205AF4, 4 + compare VAR_0x8008, 0 + call_if 1, PetalburgCity_Gym_EventScript_204D72 + compare VAR_0x8008, 1 + call_if 1, PetalburgCity_Gym_EventScript_204D73 + compare VAR_0x8008, 2 + call_if 1, PetalburgCity_Gym_EventScript_204D7E + compare VAR_0x8008, 3 + call_if 1, PetalburgCity_Gym_EventScript_204D7F + compare VAR_0x8008, 0 + call_if 1, PetalburgCity_Gym_EventScript_204D34 + compare VAR_0x8008, 1 + call_if 1, PetalburgCity_Gym_EventScript_204D3F + compare VAR_0x8008, 2 + call_if 1, PetalburgCity_Gym_EventScript_204D34 + compare VAR_0x8008, 3 + call_if 1, PetalburgCity_Gym_EventScript_204D34 + msgbox PetalburgCity_Gym_Text_205B0F, 4 + closemessage + setflag FLAG_SPECIAL_FLAG_0x4001 + playbgm MUS_TSURETEK, 0 + compare VAR_0x8008, 0 + call_if 1, PetalburgCity_Gym_EventScript_204C78 + compare VAR_0x8008, 1 + call_if 1, PetalburgCity_Gym_EventScript_204C91 + compare VAR_0x8008, 2 + call_if 1, PetalburgCity_Gym_EventScript_204CA3 + compare VAR_0x8008, 3 + call_if 1, PetalburgCity_Gym_EventScript_204CB5 + removeobject 10 + setflag FLAG_0x2D8 + setvar VAR_0x4085, 1 + setvar VAR_0x4057, 2 + clearflag FLAG_0x2D6 + clearflag FLAG_0x362 + setflag FLAG_0x379 + special InitBirchState + warp PETALBURG_CITY, 255, 15, 8 + waitstate + release + end + +PetalburgCity_Gym_EventScript_204C31:: @ 8204C31 + applymovement 1, PetalburgCity_Gym_Movement_2725AA + applymovement 10, PetalburgCity_Gym_Movement_2050EB + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_204C43:: @ 8204C43 + applymovement 10, PetalburgCity_Gym_Movement_2050E1 + waitmovement 0 + applymovement 1, PetalburgCity_Gym_Movement_2725A8 + applymovement 255, PetalburgCity_Gym_Movement_2725A8 + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_204C5F:: @ 8204C5F + applymovement 1, PetalburgCity_Gym_Movement_2725AA + applymovement 255, PetalburgCity_Gym_Movement_2725AA + applymovement 10, PetalburgCity_Gym_Movement_2050EB + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_204C78:: @ 8204C78 + applymovement 1, PetalburgCity_Gym_Movement_2725AA + applymovement 10, PetalburgCity_Gym_Movement_205102 + applymovement 255, PetalburgCity_Gym_Movement_205111 + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_204C91:: @ 8204C91 + applymovement 10, PetalburgCity_Gym_Movement_2050F2 + applymovement 255, PetalburgCity_Gym_Movement_205109 + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_204CA3:: @ 8204CA3 + applymovement 10, PetalburgCity_Gym_Movement_205102 + applymovement 255, PetalburgCity_Gym_Movement_20511B + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_204CB5:: @ 8204CB5 + applymovement 10, PetalburgCity_Gym_Movement_2050FA + applymovement 255, PetalburgCity_Gym_Movement_205123 + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_204CC7:: @ 8204CC7 + applymovement 1, PetalburgCity_Gym_Movement_2725A6 + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_204CD2:: @ 8204CD2 + applymovement 1, PetalburgCity_Gym_Movement_2725AA + applymovement 255, PetalburgCity_Gym_Movement_2725A6 + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_204CE4:: @ 8204CE4 + applymovement 1, PetalburgCity_Gym_Movement_2725A8 + applymovement 255, PetalburgCity_Gym_Movement_2725A4 + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_204CF6:: @ 8204CF6 + applymovement 1, PetalburgCity_Gym_Movement_2725A4 + applymovement 255, PetalburgCity_Gym_Movement_2725A8 + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_204D08:: @ 8204D08 + applymovement 1, PetalburgCity_Gym_Movement_2725AA + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_204D13:: @ 8204D13 + applymovement 1, PetalburgCity_Gym_Movement_2725A8 + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_204D1E:: @ 8204D1E + applymovement 1, PetalburgCity_Gym_Movement_2725AA + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_204D29:: @ 8204D29 + applymovement 1, PetalburgCity_Gym_Movement_2725AA + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_204D34:: @ 8204D34 + applymovement 10, PetalburgCity_Gym_Movement_27259E + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_204D3F:: @ 8204D3F + applymovement 10, PetalburgCity_Gym_Movement_2725AA + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_204D4A:: @ 8204D4A + msgbox PetalburgCity_Gym_Text_205DB4, 4 + release + end + +PetalburgCity_Gym_EventScript_204D54:: @ 8204D54 + msgbox PetalburgCity_Gym_Text_205EAE, 4 + release + end + +PetalburgCity_Gym_EventScript_204D5E:: @ 8204D5E + msgbox PetalburgCity_Gym_Text_205F87, 4 + release + end + +PetalburgCity_Gym_EventScript_204D68:: @ 8204D68 + msgbox PetalburgCity_Gym_Text_205F87, 4 + release + end + +PetalburgCity_Gym_EventScript_204D72:: @ 8204D72 + return + +PetalburgCity_Gym_EventScript_204D73:: @ 8204D73 + applymovement 1, PetalburgCity_Gym_Movement_2725AA + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_204D7E:: @ 8204D7E + return + +PetalburgCity_Gym_EventScript_204D7F:: @ 8204D7F + return + +PetalburgCity_Gym_EventScript_204D80:: @ 8204D80 + call PetalburgCity_Gym_EventScript_204DCE + compare VAR_RESULT, 1 + goto_eq PetalburgCity_Gym_EventScript_204E1D + checkflag FLAG_0x0A9 + goto_if 0, PetalburgCity_Gym_EventScript_204DAC + checkflag FLAG_SYS_GAME_CLEAR + goto_eq PetalburgCity_Gym_EventScript_20512D + msgbox PetalburgCity_Gym_Text_206417, 4 + release + end + +PetalburgCity_Gym_EventScript_204DAC:: @ 8204DAC + call PetalburgCity_Gym_EventScript_204ED2 + release + end + +PetalburgCity_Gym_EventScript_204DB3:: @ 8204DB3 + trainerbattle 7, TRAINER_NORMAN_1, 0, PetalburgCity_Gym_Text_2074A2, PetalburgCity_Gym_Text_2075CE, PetalburgCity_Gym_Text_20764A + msgbox PetalburgCity_Gym_Text_2075F7, 6 + end + +PetalburgCity_Gym_EventScript_204DCE:: @ 8204DCE + specialvar VAR_RESULT, IsEnigmaBerryValid + compare VAR_RESULT, 0 + goto_eq PetalburgCity_Gym_EventScript_204E17 + checkitem ITEM_ENIGMA_BERRY, 1 + compare VAR_RESULT, 1 + goto_eq PetalburgCity_Gym_EventScript_204E17 + checkpcitem ITEM_ENIGMA_BERRY, 1 + compare VAR_RESULT, 1 + goto_eq PetalburgCity_Gym_EventScript_204E17 + compare VAR_ENIGMA_BERRY_AVAILABLE, 0 + goto_eq PetalburgCity_Gym_EventScript_204E17 + msgbox PetalburgCity_Gym_Text_2A6D3D, 4 + setvar VAR_RESULT, 1 + return + +PetalburgCity_Gym_EventScript_204E17:: @ 8204E17 + setvar VAR_RESULT, 0 + return + +PetalburgCity_Gym_EventScript_204E1D:: @ 8204E1D + giveitem_std ITEM_ENIGMA_BERRY + compare VAR_RESULT, 0 + goto_eq PetalburgCity_Gym_EventScript_272054 + setvar VAR_ENIGMA_BERRY_AVAILABLE, 0 + release + end + +PetalburgCity_Gym_EventScript_204E3B:: @ 8204E3B + msgbox PetalburgCity_Gym_Text_205FE5, 4 + trainerbattle 3, TRAINER_NORMAN_1, 0, PetalburgCity_Gym_Text_206107 + message PetalburgCity_Gym_Text_206162 + waitmessage + call PetalburgCity_Gym_EventScript_27207E + msgbox PetalburgCity_Gym_Text_20618A, 4 + setflag FLAG_0x4F4 + setvar VAR_0x4085, 7 + setflag FLAG_BADGE05_GET + special sub_813B9A0 + call PetalburgCity_Gym_EventScript_2721F8 + setflag FLAG_0x391 + clearflag FLAG_0x390 + setvar VAR_0x8008, 5 + call PetalburgCity_Gym_EventScript_271F43 + clearflag FLAG_0x3AC + call PetalburgCity_Gym_EventScript_2048FF + special DrawWholeMapView + call PetalburgCity_Gym_EventScript_204ED2 + delay 30 + msgbox PetalburgCity_Gym_Text_2062FB, 4 + closemessage + delay 40 + playse SE_DOOR + delay 10 + addobject 11 + switch VAR_FACING + case 2, PetalburgCity_Gym_EventScript_204EF5 + case 3, PetalburgCity_Gym_EventScript_204F09 + case 4, PetalburgCity_Gym_EventScript_204EFF + end + +PetalburgCity_Gym_EventScript_204ED2:: @ 8204ED2 + giveitem_std ITEM_TM42 + compare VAR_RESULT, 0 + goto_eq PetalburgCity_Gym_EventScript_27205E + setflag FLAG_0x0A9 + msgbox PetalburgCity_Gym_Text_206254, 4 + return + +PetalburgCity_Gym_EventScript_204EF5:: @ 8204EF5 + setvar VAR_0x8008, 1 + goto PetalburgCity_Gym_EventScript_204F13 + +PetalburgCity_Gym_EventScript_204EFF:: @ 8204EFF + setvar VAR_0x8008, 2 + goto PetalburgCity_Gym_EventScript_204F13 + +PetalburgCity_Gym_EventScript_204F09:: @ 8204F09 + setvar VAR_0x8008, 3 + goto PetalburgCity_Gym_EventScript_204F13 + +PetalburgCity_Gym_EventScript_204F13:: @ 8204F13 + applymovement 11, PetalburgCity_Gym_Movement_2050BB + waitmovement 0 + playse SE_PIN + applymovement 11, PetalburgCity_Gym_Movement_272598 + waitmovement 0 + applymovement 11, PetalburgCity_Gym_Movement_27259A + waitmovement 0 + delay 10 + compare VAR_0x8008, 1 + call_if 1, PetalburgCity_Gym_EventScript_204FED + compare VAR_0x8008, 2 + call_if 1, PetalburgCity_Gym_EventScript_205009 + compare VAR_0x8008, 3 + call_if 1, PetalburgCity_Gym_EventScript_205025 + msgbox PetalburgCity_Gym_Text_206377, 4 + closemessage + delay 20 + compare VAR_0x8008, 1 + call_if 1, PetalburgCity_Gym_EventScript_204FCC + compare VAR_0x8008, 2 + call_if 1, PetalburgCity_Gym_EventScript_204FD7 + compare VAR_0x8008, 3 + call_if 1, PetalburgCity_Gym_EventScript_204FE2 + msgbox PetalburgCity_Gym_Text_2063CA, 4 + closemessage + setflag FLAG_SPECIAL_FLAG_0x4001 + playbgm MUS_TSURETEK, 0 + compare VAR_0x8008, 1 + call_if 1, PetalburgCity_Gym_EventScript_205041 + compare VAR_0x8008, 2 + call_if 1, PetalburgCity_Gym_EventScript_20505A + compare VAR_0x8008, 3 + call_if 1, PetalburgCity_Gym_EventScript_20506C + removeobject 11 + setvar VAR_0x4057, 4 + clearflag FLAG_0x33E + warp PETALBURG_CITY, 255, 15, 8 + waitstate + release + end + +PetalburgCity_Gym_EventScript_204FCC:: @ 8204FCC + applymovement 11, PetalburgCity_Gym_Movement_2725A6 + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_204FD7:: @ 8204FD7 + applymovement 11, PetalburgCity_Gym_Movement_2725A8 + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_204FE2:: @ 8204FE2 + applymovement 11, PetalburgCity_Gym_Movement_2725A4 + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_204FED:: @ 8204FED + applymovement 11, PetalburgCity_Gym_Movement_2050C3 + waitmovement 0 + applymovement 255, PetalburgCity_Gym_Movement_2725A4 + applymovement 1, PetalburgCity_Gym_Movement_2725A4 + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_205009:: @ 8205009 + applymovement 11, PetalburgCity_Gym_Movement_2050CA + waitmovement 0 + applymovement 255, PetalburgCity_Gym_Movement_2725AA + applymovement 1, PetalburgCity_Gym_Movement_2725AA + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_205025:: @ 8205025 + applymovement 11, PetalburgCity_Gym_Movement_2050D0 + waitmovement 0 + applymovement 255, PetalburgCity_Gym_Movement_2725AA + applymovement 1, PetalburgCity_Gym_Movement_2725AA + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_205041:: @ 8205041 + applymovement 11, PetalburgCity_Gym_Movement_20507E + applymovement 1, PetalburgCity_Gym_Movement_2725AA + applymovement 255, PetalburgCity_Gym_Movement_2050A1 + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_20505A:: @ 820505A + applymovement 11, PetalburgCity_Gym_Movement_205089 + applymovement 255, PetalburgCity_Gym_Movement_2050A9 + waitmovement 0 + return + +PetalburgCity_Gym_EventScript_20506C:: @ 820506C + applymovement 11, PetalburgCity_Gym_Movement_205094 + applymovement 255, PetalburgCity_Gym_Movement_2050B1 + waitmovement 0 + return + +PetalburgCity_Gym_Movement_20507E: @ 820507E + step_down + step_down + step_left + step_left + step_down + step_down + step_26 + step_13 + step_1d + step_54 + step_end + +PetalburgCity_Gym_Movement_205089: @ 8205089 + step_down + step_down + step_left + step_left + step_down + step_down + step_26 + step_13 + step_1d + step_54 + step_end + +PetalburgCity_Gym_Movement_205094: @ 8205094 + step_down + step_down + step_left + step_left + step_left + step_left + step_down + step_down + step_26 + step_13 + step_1d + step_54 + step_end + +PetalburgCity_Gym_Movement_2050A1: @ 82050A1 + step_14 + step_down + step_down + step_left + step_left + step_down + step_down + step_end + +PetalburgCity_Gym_Movement_2050A9: @ 82050A9 + step_14 + step_down + step_down + step_left + step_down + step_down + step_down + step_end + +PetalburgCity_Gym_Movement_2050B1: @ 82050B1 + step_14 + step_down + step_down + step_down + step_left + step_left + step_left + step_down + step_down + step_end + +PetalburgCity_Gym_Movement_2050BB: @ 82050BB + step_up + step_13 + step_28 + step_13 + step_27 + step_14 + step_26 + step_end + +PetalburgCity_Gym_Movement_2050C3: @ 82050C3 + step_right + step_right + step_up + step_up + step_up + step_28 + step_end + +PetalburgCity_Gym_Movement_2050CA: @ 82050CA + step_right + step_right + step_up + step_up + step_up + step_end + +PetalburgCity_Gym_Movement_2050D0: @ 82050D0 + step_right + step_right + step_up + step_up + step_right + step_right + step_up + step_end + +PetalburgCity_Gym_Movement_2050D8: @ 82050D8 + step_26 + step_14 + step_14 + step_14 + step_14 + step_14 + step_13 + step_25 + step_end + +PetalburgCity_Gym_Movement_2050E1: @ 82050E1 + step_14 + step_up + step_14 + step_13 + step_up + step_right + step_up + step_up + step_27 + step_end + +PetalburgCity_Gym_Movement_2050EB: @ 82050EB + step_14 + step_up + step_14 + step_13 + step_up + step_up + step_end + +PetalburgCity_Gym_Movement_2050F2: @ 82050F2 + step_down + step_down + step_down + step_down + step_26 + step_14 + step_1d + step_end + +PetalburgCity_Gym_Movement_2050FA: @ 82050FA + step_down + step_down + step_right + step_down + step_26 + step_14 + step_1d + step_end + +PetalburgCity_Gym_Movement_205102: @ 8205102 + step_down + step_down + step_down + step_26 + step_14 + step_1d + step_end + +PetalburgCity_Gym_Movement_205109: @ 8205109 + step_14 + step_14 + step_14 + step_down + step_down + step_down + step_13 + step_end + +PetalburgCity_Gym_Movement_205111: @ 8205111 + step_14 + step_14 + step_right + step_down + step_down + step_down + step_down + step_down + step_13 + step_end + +PetalburgCity_Gym_Movement_20511B: @ 820511B + step_14 + step_14 + step_down + step_down + step_down + step_down + step_13 + step_end + +PetalburgCity_Gym_Movement_205123: @ 8205123 + step_25 + step_14 + step_14 + step_down + step_down + step_down + step_right + step_down + step_13 + step_end + +PetalburgCity_Gym_EventScript_20512D:: @ 820512D + msgbox PetalburgCity_Gym_Text_2064C3, 4 + release + end + +PetalburgCity_Gym_EventScript_205137:: @ 8205137 + lockall + compare VAR_0x4085, 6 + goto_if 0, PetalburgCity_Gym_EventScript_20517D + setvar VAR_0x8008, 7 + setvar VAR_0x8009, 85 + msgbox PetalburgCity_Gym_Text_20721E, 5 + compare VAR_RESULT, 1 + goto_eq PetalburgCity_Gym_EventScript_20516C + compare VAR_RESULT, 0 + goto_eq PetalburgCity_Gym_EventScript_20517B + end + +PetalburgCity_Gym_EventScript_20516C:: @ 820516C + closemessage + delay 30 + warpdoor PETALBURG_CITY_GYM, 255, 32776, 32777 + waitstate + releaseall + end + +PetalburgCity_Gym_EventScript_20517B:: @ 820517B + releaseall + end + +PetalburgCity_Gym_EventScript_20517D:: @ 820517D + msgbox PetalburgCity_Gym_Text_2071F4, 4 + releaseall + end + +PetalburgCity_Gym_EventScript_205187:: @ 8205187 + lockall + compare VAR_0x4085, 6 + goto_if 0, PetalburgCity_Gym_EventScript_20517D + setvar VAR_0x8008, 1 + setvar VAR_0x8009, 98 + msgbox PetalburgCity_Gym_Text_207280, 5 + compare VAR_RESULT, 1 + goto_eq PetalburgCity_Gym_EventScript_20516C + compare VAR_RESULT, 0 + goto_eq PetalburgCity_Gym_EventScript_20517B + end + +PetalburgCity_Gym_EventScript_2051BC:: @ 82051BC + lockall + checktrainerflag TRAINER_RANDALL + goto_if 0, PetalburgCity_Gym_EventScript_20517D + setvar VAR_0x8008, 7 + setvar VAR_0x8009, 46 + msgbox PetalburgCity_Gym_Text_2072BB, 5 + compare VAR_RESULT, 1 + goto_eq PetalburgCity_Gym_EventScript_20516C + compare VAR_RESULT, 0 + goto_eq PetalburgCity_Gym_EventScript_20517B + end + +PetalburgCity_Gym_EventScript_2051EF:: @ 82051EF + lockall + checktrainerflag TRAINER_RANDALL + goto_if 0, PetalburgCity_Gym_EventScript_20517D + setvar VAR_0x8008, 1 + setvar VAR_0x8009, 59 + msgbox PetalburgCity_Gym_Text_2072F7, 5 + compare VAR_RESULT, 1 + goto_eq PetalburgCity_Gym_EventScript_20516C + compare VAR_RESULT, 0 + goto_eq PetalburgCity_Gym_EventScript_20517B + end + +PetalburgCity_Gym_EventScript_205222:: @ 8205222 + lockall + checktrainerflag TRAINER_MARY + goto_if 0, PetalburgCity_Gym_EventScript_20517D + setvar VAR_0x8008, 7 + setvar VAR_0x8009, 59 + msgbox PetalburgCity_Gym_Text_2072F7, 5 + compare VAR_RESULT, 1 + goto_eq PetalburgCity_Gym_EventScript_20516C + compare VAR_RESULT, 0 + goto_eq PetalburgCity_Gym_EventScript_20517B + end + +PetalburgCity_Gym_EventScript_205255:: @ 8205255 + lockall + checktrainerflag TRAINER_MARY + goto_if 0, PetalburgCity_Gym_EventScript_20517D + setvar VAR_0x8008, 1 + setvar VAR_0x8009, 72 + msgbox PetalburgCity_Gym_Text_207331, 5 + compare VAR_RESULT, 1 + goto_eq PetalburgCity_Gym_EventScript_20516C + compare VAR_RESULT, 0 + goto_eq PetalburgCity_Gym_EventScript_20517B + end + +PetalburgCity_Gym_EventScript_205288:: @ 8205288 + lockall + checktrainerflag TRAINER_PARKER + goto_if 0, PetalburgCity_Gym_EventScript_20517D + setvar VAR_0x8008, 1 + setvar VAR_0x8009, 20 + msgbox PetalburgCity_Gym_Text_20736C, 5 + compare VAR_RESULT, 1 + goto_eq PetalburgCity_Gym_EventScript_20516C + compare VAR_RESULT, 0 + goto_eq PetalburgCity_Gym_EventScript_20517B + end + +PetalburgCity_Gym_EventScript_2052BB:: @ 82052BB + lockall + checktrainerflag TRAINER_ALEXIA + goto_if 0, PetalburgCity_Gym_EventScript_20517D + setvar VAR_0x8008, 7 + setvar VAR_0x8009, 20 + msgbox PetalburgCity_Gym_Text_20736C, 5 + compare VAR_RESULT, 1 + goto_eq PetalburgCity_Gym_EventScript_20516C + compare VAR_RESULT, 0 + goto_eq PetalburgCity_Gym_EventScript_20517B + end + +PetalburgCity_Gym_EventScript_2052EE:: @ 82052EE + lockall + checktrainerflag TRAINER_ALEXIA + goto_if 0, PetalburgCity_Gym_EventScript_20517D + setvar VAR_0x8008, 1 + setvar VAR_0x8009, 33 + msgbox PetalburgCity_Gym_Text_2073A7, 5 + compare VAR_RESULT, 1 + goto_eq PetalburgCity_Gym_EventScript_20516C + compare VAR_RESULT, 0 + goto_eq PetalburgCity_Gym_EventScript_20517B + end + +PetalburgCity_Gym_EventScript_205321:: @ 8205321 + lockall + checktrainerflag TRAINER_GEORGE + goto_if 0, PetalburgCity_Gym_EventScript_20517D + setvar VAR_0x8008, 7 + setvar VAR_0x8009, 33 + msgbox PetalburgCity_Gym_Text_2073A7, 5 + compare VAR_RESULT, 1 + goto_eq PetalburgCity_Gym_EventScript_20516C + compare VAR_RESULT, 0 + goto_eq PetalburgCity_Gym_EventScript_20517B + end + +PetalburgCity_Gym_EventScript_205354:: @ 8205354 + lockall + checktrainerflag TRAINER_JODY + goto_if 0, PetalburgCity_Gym_EventScript_20517D + setvar VAR_0x8008, 1 + setvar VAR_0x8009, 7 + msgbox PetalburgCity_Gym_Text_2073E4, 5 + compare VAR_RESULT, 1 + goto_eq PetalburgCity_Gym_EventScript_20516C + compare VAR_RESULT, 0 + goto_eq PetalburgCity_Gym_EventScript_20517B + end + +PetalburgCity_Gym_EventScript_205387:: @ 8205387 + lockall + checktrainerflag TRAINER_BERKE + goto_if 0, PetalburgCity_Gym_EventScript_20517D + setvar VAR_0x8008, 7 + setvar VAR_0x8009, 7 + msgbox PetalburgCity_Gym_Text_2073E4, 5 + compare VAR_RESULT, 1 + goto_eq PetalburgCity_Gym_EventScript_20516C + compare VAR_RESULT, 0 + goto_eq PetalburgCity_Gym_EventScript_20517B + end + +PetalburgCity_Gym_EventScript_2053BA:: @ 82053BA + trainerbattle 2, TRAINER_RANDALL, 0, PetalburgCity_Gym_Text_20674F, PetalburgCity_Gym_Text_2067B9, PetalburgCity_Gym_EventScript_2053DE + checkflag FLAG_0x4F4 + goto_eq PetalburgCity_Gym_EventScript_2053ED + msgbox PetalburgCity_Gym_Text_2067D8, 6 + end + +PetalburgCity_Gym_EventScript_2053DE:: @ 82053DE + setvar VAR_0x8005, 0 + call PetalburgCity_Gym_EventScript_20557F + special DrawWholeMapView + release + end + +PetalburgCity_Gym_EventScript_2053ED:: @ 82053ED + msgbox PetalburgCity_Gym_Text_20685E, 2 + end + +PetalburgCity_Gym_EventScript_2053F6:: @ 82053F6 + trainerbattle 2, TRAINER_PARKER, 0, PetalburgCity_Gym_Text_2068FD, PetalburgCity_Gym_Text_20694F, PetalburgCity_Gym_EventScript_20541A + checkflag FLAG_0x4F4 + goto_eq PetalburgCity_Gym_EventScript_205429 + msgbox PetalburgCity_Gym_Text_206996, 6 + end + +PetalburgCity_Gym_EventScript_20541A:: @ 820541A + setvar VAR_0x8005, 0 + call PetalburgCity_Gym_EventScript_2055C1 + special DrawWholeMapView + release + end + +PetalburgCity_Gym_EventScript_205429:: @ 8205429 + msgbox PetalburgCity_Gym_Text_2069D9, 2 + end + +PetalburgCity_Gym_EventScript_205432:: @ 8205432 + trainerbattle 2, TRAINER_GEORGE, 0, PetalburgCity_Gym_Text_206A1B, PetalburgCity_Gym_Text_206AB8, PetalburgCity_Gym_EventScript_205456 + checkflag FLAG_0x4F4 + goto_eq PetalburgCity_Gym_EventScript_205465 + msgbox PetalburgCity_Gym_Text_206AE9, 6 + end + +PetalburgCity_Gym_EventScript_205456:: @ 8205456 + setvar VAR_0x8005, 0 + call PetalburgCity_Gym_EventScript_205603 + special DrawWholeMapView + release + end + +PetalburgCity_Gym_EventScript_205465:: @ 8205465 + msgbox PetalburgCity_Gym_Text_206BB1, 2 + end + +PetalburgCity_Gym_EventScript_20546E:: @ 820546E + trainerbattle 2, TRAINER_BERKE, 0, PetalburgCity_Gym_Text_206BF4, PetalburgCity_Gym_Text_206C7D, PetalburgCity_Gym_EventScript_205492 + checkflag FLAG_0x4F4 + goto_eq PetalburgCity_Gym_EventScript_2054A1 + msgbox PetalburgCity_Gym_Text_206C9F, 6 + end + +PetalburgCity_Gym_EventScript_205492:: @ 8205492 + setvar VAR_0x8005, 0 + call PetalburgCity_Gym_EventScript_205645 + special DrawWholeMapView + release + end + +PetalburgCity_Gym_EventScript_2054A1:: @ 82054A1 + msgbox PetalburgCity_Gym_Text_206D56, 2 + end + +PetalburgCity_Gym_EventScript_2054AA:: @ 82054AA + trainerbattle 2, TRAINER_MARY, 0, PetalburgCity_Gym_Text_206DB2, PetalburgCity_Gym_Text_206E0D, PetalburgCity_Gym_EventScript_2054CE + checkflag FLAG_0x4F4 + goto_eq PetalburgCity_Gym_EventScript_2054DD + msgbox PetalburgCity_Gym_Text_206E26, 6 + end + +PetalburgCity_Gym_EventScript_2054CE:: @ 82054CE + setvar VAR_0x8005, 0 + call PetalburgCity_Gym_EventScript_2055A0 + special DrawWholeMapView + release + end + +PetalburgCity_Gym_EventScript_2054DD:: @ 82054DD + msgbox PetalburgCity_Gym_Text_206ED8, 2 + end + +PetalburgCity_Gym_EventScript_2054E6:: @ 82054E6 + trainerbattle 2, TRAINER_ALEXIA, 0, PetalburgCity_Gym_Text_206F44, PetalburgCity_Gym_Text_206F82, PetalburgCity_Gym_EventScript_20550A + checkflag FLAG_0x4F4 + goto_eq PetalburgCity_Gym_EventScript_205519 + msgbox PetalburgCity_Gym_Text_206F9F, 6 + end + +PetalburgCity_Gym_EventScript_20550A:: @ 820550A + setvar VAR_0x8005, 0 + call PetalburgCity_Gym_EventScript_2055E2 + special DrawWholeMapView + release + end + +PetalburgCity_Gym_EventScript_205519:: @ 8205519 + msgbox PetalburgCity_Gym_Text_207069, 2 + end + +PetalburgCity_Gym_EventScript_205522:: @ 8205522 + trainerbattle 2, TRAINER_JODY, 0, PetalburgCity_Gym_Text_207088, PetalburgCity_Gym_Text_2070E6, PetalburgCity_Gym_EventScript_205546 + checkflag FLAG_0x4F4 + goto_eq PetalburgCity_Gym_EventScript_205555 + msgbox PetalburgCity_Gym_Text_2070FB, 6 + end + +PetalburgCity_Gym_EventScript_205546:: @ 8205546 + setvar VAR_0x8005, 0 + call PetalburgCity_Gym_EventScript_205624 + special DrawWholeMapView + release + end + +PetalburgCity_Gym_EventScript_205555:: @ 8205555 + msgbox PetalburgCity_Gym_Text_207170, 2 + end + +PetalburgCity_Gym_EventScript_20555E:: @ 820555E + setvar VAR_0x8004, 1 + compare VAR_0x8005, 0 + call_if 1, PetalburgCity_Gym_EventScript_205746 + compare VAR_0x8005, 1 + call_if 1, PetalburgCity_Gym_EventScript_20574B + call PetalburgCity_Gym_EventScript_205666 + return + +PetalburgCity_Gym_EventScript_20557F:: @ 820557F + setvar VAR_0x8004, 2 + compare VAR_0x8005, 0 + call_if 1, PetalburgCity_Gym_EventScript_205746 + compare VAR_0x8005, 1 + call_if 1, PetalburgCity_Gym_EventScript_20574B + call PetalburgCity_Gym_EventScript_20568B + return + +PetalburgCity_Gym_EventScript_2055A0:: @ 82055A0 + setvar VAR_0x8004, 3 + compare VAR_0x8005, 0 + call_if 1, PetalburgCity_Gym_EventScript_205746 + compare VAR_0x8005, 1 + call_if 1, PetalburgCity_Gym_EventScript_20574B + call PetalburgCity_Gym_EventScript_2056B0 + return + +PetalburgCity_Gym_EventScript_2055C1:: @ 82055C1 + setvar VAR_0x8004, 4 + compare VAR_0x8005, 0 + call_if 1, PetalburgCity_Gym_EventScript_205746 + compare VAR_0x8005, 1 + call_if 1, PetalburgCity_Gym_EventScript_20574B + call PetalburgCity_Gym_EventScript_2056D5 + return + +PetalburgCity_Gym_EventScript_2055E2:: @ 82055E2 + setvar VAR_0x8004, 5 + compare VAR_0x8005, 0 + call_if 1, PetalburgCity_Gym_EventScript_205746 + compare VAR_0x8005, 1 + call_if 1, PetalburgCity_Gym_EventScript_20574B + call PetalburgCity_Gym_EventScript_2056E8 + return + +PetalburgCity_Gym_EventScript_205603:: @ 8205603 + setvar VAR_0x8004, 6 + compare VAR_0x8005, 0 + call_if 1, PetalburgCity_Gym_EventScript_205746 + compare VAR_0x8005, 1 + call_if 1, PetalburgCity_Gym_EventScript_20574B + call PetalburgCity_Gym_EventScript_20570D + return + +PetalburgCity_Gym_EventScript_205624:: @ 8205624 + setvar VAR_0x8004, 7 + compare VAR_0x8005, 0 + call_if 1, PetalburgCity_Gym_EventScript_205746 + compare VAR_0x8005, 1 + call_if 1, PetalburgCity_Gym_EventScript_20574B + call PetalburgCity_Gym_EventScript_205720 + return + +PetalburgCity_Gym_EventScript_205645:: @ 8205645 + setvar VAR_0x8004, 8 + compare VAR_0x8005, 0 + call_if 1, PetalburgCity_Gym_EventScript_205746 + compare VAR_0x8005, 1 + call_if 1, PetalburgCity_Gym_EventScript_20574B + call PetalburgCity_Gym_EventScript_205733 + return + +PetalburgCity_Gym_EventScript_205666:: @ 8205666 + setmetatile 6, 85, 528, 0 + setmetatile 7, 85, 529, 0 + setmetatile 1, 98, 528, 0 + setmetatile 2, 98, 529, 0 + return + +PetalburgCity_Gym_EventScript_20568B:: @ 820568B + setmetatile 6, 46, 528, 0 + setmetatile 7, 46, 529, 0 + setmetatile 1, 59, 528, 0 + setmetatile 2, 59, 529, 0 + return + +PetalburgCity_Gym_EventScript_2056B0:: @ 82056B0 + setmetatile 6, 59, 528, 0 + setmetatile 7, 59, 529, 0 + setmetatile 1, 72, 528, 0 + setmetatile 2, 72, 529, 0 + return + +PetalburgCity_Gym_EventScript_2056D5:: @ 82056D5 + setmetatile 1, 20, 528, 0 + setmetatile 2, 20, 529, 0 + return + +PetalburgCity_Gym_EventScript_2056E8:: @ 82056E8 + setmetatile 6, 20, 528, 0 + setmetatile 7, 20, 529, 0 + setmetatile 1, 33, 528, 0 + setmetatile 2, 33, 529, 0 + return + +PetalburgCity_Gym_EventScript_20570D:: @ 820570D + setmetatile 6, 33, 528, 0 + setmetatile 7, 33, 529, 0 + return + +PetalburgCity_Gym_EventScript_205720:: @ 8205720 + setmetatile 1, 7, 528, 0 + setmetatile 2, 7, 529, 0 + return + +PetalburgCity_Gym_EventScript_205733:: @ 8205733 + setmetatile 6, 7, 528, 0 + setmetatile 7, 7, 529, 0 + return + +PetalburgCity_Gym_EventScript_205746:: @ 8205746 + special PetalburgGymSpecial1 + waitstate + return + +PetalburgCity_Gym_EventScript_20574B:: @ 820574B + special PetalburgGymSpecial2 + return + +PetalburgCity_Gym_EventScript_20574F:: @ 820574F + lock + faceplayer + checkflag FLAG_0x4F4 + goto_eq PetalburgCity_Gym_EventScript_205764 + msgbox PetalburgCity_Gym_Text_206542, 4 + release + end + +PetalburgCity_Gym_EventScript_205764:: @ 8205764 + msgbox PetalburgCity_Gym_Text_2066F3, 4 + release + end + +PetalburgCity_Gym_EventScript_20576E:: @ 820576E + lockall + checkflag FLAG_BADGE05_GET + goto_eq PetalburgCity_Gym_EventScript_20578E + goto PetalburgCity_Gym_EventScript_205798 + end + +PetalburgCity_Gym_EventScript_20577E:: @ 820577E + lockall + checkflag FLAG_BADGE05_GET + goto_eq PetalburgCity_Gym_EventScript_20578E + goto PetalburgCity_Gym_EventScript_205798 + end + +PetalburgCity_Gym_EventScript_20578E:: @ 820578E + msgbox PetalburgCity_Gym_Text_207467, 4 + releaseall + end + +PetalburgCity_Gym_EventScript_205798:: @ 8205798 + msgbox PetalburgCity_Gym_Text_20744C, 4 + releaseall + end + +PetalburgCity_Gym_Text_2057A2: @ 82057A2 + .string "DAD: Hm?\p" + .string "Well, if it isn’t {PLAYER}!\n" + .string "So you’re all finished moving in?\p" + .string "I’m surprised that you managed to\n" + .string "get here by yourself.\p" + .string "Oh, I see.\n" + .string "You’re with your POKéMON.\p" + .string "Hm… Then I guess you’re going to\n" + .string "become a TRAINER like me, {PLAYER}.\p" + .string "That’s great news!\n" + .string "I’ll be looking forward to it!$" + +PetalburgCity_Gym_Text_2058B1: @ 82058B1 + .string "Um… I…\n" + .string "I’d like to get a POKéMON, please…$" + +PetalburgCity_Gym_Text_2058DB: @ 82058DB + .string "DAD: Hm? You’re… Uh… Oh, right.\n" + .string "You’re WALLY, right?$" + +PetalburgCity_Gym_Text_205910: @ 8205910 + .string "WALLY: I’m going to go stay with my\n" + .string "relatives in VERDANTURF TOWN.\p" + .string "I thought I would be lonely by myself,\n" + .string "so I wanted to take a POKéMON along.\p" + .string "But I’ve never caught a POKéMON before.\n" + .string "I don’t know how…$" + +PetalburgCity_Gym_Text_2059D8: @ 82059D8 + .string "DAD: Hm. I see.$" + +PetalburgCity_Gym_Text_2059E8: @ 82059E8 + .string "DAD: {PLAYER}, you heard that,\n" + .string "right?\p" + .string "Go with WALLY and make sure that he\n" + .string "safely catches a POKéMON.$" + +PetalburgCity_Gym_Text_205A46: @ 8205A46 + .string "WALLY, here, I’ll loan you my POKéMON.\p" + .string "WALLY received a ZIGZAGOON!$" + +PetalburgCity_Gym_Text_205A89: @ 8205A89 + .string "WALLY: Oh, wow!\n" + .string "A POKéMON!\p" + .string "DAD: Hm. I’ll give you a POKé BALL, too.\n" + .string "Go for it!\p" + .string "WALLY received a POKé BALL!$" + +PetalburgCity_Gym_Text_205AF4: @ 8205AF4 + .string "WALLY: Oh, wow!\n" + .string "Thank you!$" + +PetalburgCity_Gym_Text_205B0F: @ 8205B0F + .string "{PLAYER}… Would you really come\n" + .string "with me?$" + +PetalburgCity_Gym_Text_205B32: @ 8205B32 + .string "DAD: So, did it work out?$" + +PetalburgCity_Gym_Text_205B4C: @ 8205B4C + .string "WALLY: Thank you, yes, it did.\n" + .string "Here’s your POKéMON back.\p" + .string "{PLAYER}, thank you for coming along\n" + .string "with me.\p" + .string "You two are why I was able to catch\n" + .string "my POKéMON.\p" + .string "I promise I’ll take really good\n" + .string "care of it.\p" + .string "Oh! My mom’s waiting for me,\n" + .string "so I have to go!\p" + .string "Bye, {PLAYER}!$" + +PetalburgCity_Gym_Text_205C40: @ 8205C40 + .string "DAD: Now…\p" + .string "{PLAYER}, if you want to become a\n" + .string "strong TRAINER, here’s my advice.\p" + .string "Head for RUSTBORO CITY beyond this\n" + .string "town.\p" + .string "There, you should challenge\n" + .string "the GYM LEADER, ROXANNE.\p" + .string "After her, go on to other POKéMON\n" + .string "GYMS and defeat their LEADERS.\p" + .string "Collect BADGES from them,\n" + .string "understood?\p" + .string "Of course, I’m a GYM LEADER, too.\n" + .string "We’ll battle one day, {PLAYER}.\p" + .string "But that’s only after you become\n" + .string "stronger.$" + +PetalburgCity_Gym_Text_205DB4: @ 8205DB4 + .string "DAD: Hm? Aren’t you going to the\n" + .string "POKéMON GYM in RUSTBORO CITY?\p" + .string "There’s no challenge for me to\n" + .string "battle a greenhorn TRAINER.\p" + .string "{PLAYER}, I want you to challenge me\n" + .string "when you become a lot stronger.\p" + .string "I’ll battle you, {PLAYER}, when you\n" + .string "can show me four GYM BADGES, okay?$" + +PetalburgCity_Gym_Text_205EAE: @ 8205EAE + .string "DAD: I see… So, you’ve beaten\n" + .string "the GYM LEADER in RUSTBORO CITY.\p" + .string "But there are many more TRAINERS\n" + .string "who are stronger than you, {PLAYER}.\p" + .string "Across the sea in DEWFORD TOWN is a\n" + .string "GYM LEADER named BRAWLY.\p" + .string "You should go challenge him.$" + +PetalburgCity_Gym_Text_205F87: @ 8205F87 + .string "DAD: Hm… {PLAYER}, you have gotten\n" + .string "stronger.\p" + .string "I can tell by the number of BADGES\n" + .string "that you’ve earned.$" + +PetalburgCity_Gym_Text_205FE5: @ 8205FE5 + .string "DAD: Hm…\n" + .string "So, you did get four GYM BADGES.\p" + .string "Fine, as I promised, we will have\n" + .string "a POKéMON battle.\p" + .string "{PLAYER}…\p" + .string "I’m so happy that I can have\n" + .string "a real battle with my own child.\p" + .string "But, a battle is a battle!\p" + .string "I will do everything in my power as\n" + .string "a GYM LEADER to win.\p" + .string "{PLAYER}, you’d better give it your\n" + .string "best shot, too!$" + +PetalburgCity_Gym_Text_206107: @ 8206107 + .string "…\p" + .string "I… I can’t…\p" + .string "I can’t believe it. {PLAYER}…\p" + .string "I lost to {PLAYER}?\p" + .string "But, rules are rules!\n" + .string "Here, take this.$" + +PetalburgCity_Gym_Text_206162: @ 8206162 + .string "{PLAYER} received the BALANCE BADGE\n" + .string "from DAD!$" + +PetalburgCity_Gym_Text_20618A: @ 820618A + .string "DAD: With that BADGE, the DEFENSE\n" + .string "of all your POKéMON will increase.\p" + .string "POKéMON that know the HM move SURF\n" + .string "will be able to travel over water.\p" + .string "This is my gift to you. {PLAYER}, I’m\n" + .string "sure you can use it correctly.$" + +PetalburgCity_Gym_Text_206254: @ 8206254 + .string "DAD: TM42 contains FACADE.\p" + .string "It doubles the power of moves if\n" + .string "the POKéMON is poisoned, paralyzed,\l" + .string "or burned.\p" + .string "It might be able to turn a bad\n" + .string "situation into an advantage.$" + +PetalburgCity_Gym_Text_2062FB: @ 82062FB + .string "DAD: As the GYM LEADER, I can’t\n" + .string "express how upset I am…\p" + .string "But as a father, it makes me both\n" + .string "happy and a little sad. It’s odd…$" + +PetalburgCity_Gym_Text_206377: @ 8206377 + .string "Ah, there you are, {PLAYER}{KUN}!\p" + .string "Please come with me.\n" + .string "I have something I want you to have.$" + +PetalburgCity_Gym_Text_2063CA: @ 82063CA + .string "NORMAN, you don’t mind, do you?\p" + .string "Let me borrow your {PLAYER}{KUN} for\n" + .string "a minute or two.$" + +PetalburgCity_Gym_Text_206417: @ 8206417 + .string "DAD: {PLAYER}, you should go visit\n" + .string "your mother every so often.\p" + .string "I’m going to stay here and redouble\n" + .string "my training.\p" + .string "It would bother me as a TRAINER to\n" + .string "not avenge my loss to you, {PLAYER}!$" + +PetalburgCity_Gym_Text_2064C3: @ 82064C3 + .string "DAD: {PLAYER}, how are things going?\p" + .string "The world of POKéMON is deep.\p" + .string "I honestly think that no amount of\n" + .string "training would ever be enough.$" + +PetalburgCity_Gym_Text_206542: @ 8206542 + .string "Hey, how’s it going, CHAMPION-\n" + .string "bound {PLAYER}?\p" + .string "The doors in this GYM open when you\n" + .string "beat the awaiting TRAINERS.\p" + .string "Whoops! The doors in this room are\n" + .string "already open, so don’t attack me!\p" + .string "The TRAINERS of PETALBURG GYM\n" + .string "use all kinds of items.\p" + .string "The door at the left leads to\n" + .string "the SPEED ROOM.\p" + .string "The door at the right leads to\n" + .string "the ACCURACY ROOM.\p" + .string "The room’s name will be on\n" + .string "the door, so choose carefully.\p" + .string "Once you’ve chosen the door…\n" + .string "Well, hey, go for it!$" + +PetalburgCity_Gym_Text_2066F3: @ 82066F3 + .string "{PLAYER}! Whoa! You’ve overcome even\n" + .string "your own father!\p" + .string "Like, whoa!\n" + .string "What a stunning turn of events!$" + +PetalburgCity_Gym_Text_20674F: @ 820674F + .string "The ability to attack before the\n" + .string "opponent…\p" + .string "Just that alone puts me at a great\n" + .string "advantage, don’t you agree?$" + +PetalburgCity_Gym_Text_2067B9: @ 82067B9 + .string "That was a magnificent battle!$" + +PetalburgCity_Gym_Text_2067D8: @ 82067D8 + .string "Go on to the next room where a new\n" + .string "challenge awaits you.\p" + .string "At the left is the CONFUSION ROOM.\p" + .string "The right door leads to the DEFENSE\n" + .string "ROOM.$" + +PetalburgCity_Gym_Text_20685E: @ 820685E + .string "Whomever you beat, and whomever you\n" + .string "may lose to, you never shirk from\l" + .string "training yourself and your POKéMON.\p" + .string "That’s what I think being a\n" + .string "GYM LEADER is all about.$" + +PetalburgCity_Gym_Text_2068FD: @ 82068FD + .string "This is the CONFUSION ROOM.\p" + .string "Let me see how well bonded you are\n" + .string "with your POKéMON!$" + +PetalburgCity_Gym_Text_20694F: @ 820694F + .string "I couldn’t confuse your team enough…\n" + .string "You share a strong bond together.$" + +PetalburgCity_Gym_Text_206996: @ 8206996 + .string "The next room is the STRENGTH ROOM.\n" + .string "Can you withstand brute force?$" + +PetalburgCity_Gym_Text_2069D9: @ 82069D9 + .string "After you beat our LEADER, the\n" + .string "training has become a lot tougher.$" + +PetalburgCity_Gym_Text_206A1B: @ 8206A1B + .string "Just when you think you’re going to\n" + .string "win, your opponent restores HP…\p" + .string "Can you just imagine how awful that\n" + .string "must feel?\p" + .string "I’ll show you exactly how awful it\n" + .string "feels!$" + +PetalburgCity_Gym_Text_206AB8: @ 8206AB8 + .string "I couldn’t restore HP enough…\n" + .string "What ATTACK power…$" + +PetalburgCity_Gym_Text_206AE9: @ 8206AE9 + .string "I should have expected no less from\n" + .string "our LEADER’s kid.\p" + .string "No, wait! A TRAINER’s abilities are\n" + .string "earned only through effort.\p" + .string "I lost because my own efforts\n" + .string "weren’t enough.\p" + .string "Go on! The ONE-HIT KO ROOM is next.$" + +PetalburgCity_Gym_Text_206BB1: @ 8206BB1 + .string "I’m going to keep training at GYMS.\n" + .string "One day, I’ll become a LEADER.$" + +PetalburgCity_Gym_Text_206BF4: @ 8206BF4 + .string "I’m not going to take it easy just\n" + .string "because you’re our LEADER’s kid.\p" + .string "I’ll show you how horrid it is for\n" + .string "a POKéMON to take a critical hit!$" + +PetalburgCity_Gym_Text_206C7D: @ 8206C7D + .string "Your power…\n" + .string "You’re the real deal.$" + +PetalburgCity_Gym_Text_206C9F: @ 8206C9F + .string "Your father really is strong.\n" + .string "He’s a TRAINER worth my respect.\p" + .string "And, I sense the same glow coming\n" + .string "from you as your father.\p" + .string "I hope that you’ll stage a terrific\n" + .string "battle with your father!$" + +PetalburgCity_Gym_Text_206D56: @ 8206D56 + .string "Since your dad became the LEADER,\n" + .string "the TRAINERS of PETALBURG CITY have\l" + .string "become a lot tougher.$" + +PetalburgCity_Gym_Text_206DB2: @ 8206DB2 + .string "Giggle…\n" + .string "This is the ACCURACY ROOM.\p" + .string "It’s pretty nasty when every attack\n" + .string "lands without fail.$" + +PetalburgCity_Gym_Text_206E0D: @ 8206E0D + .string "You were a cut above me…$" + +PetalburgCity_Gym_Text_206E26: @ 8206E26 + .string "There are some even stronger\n" + .string "TRAINERS waiting for you.\p" + .string "The left is the DEFENSE ROOM, and\n" + .string "the right is the RECOVERY ROOM.\p" + .string "Your POKéMON’s ATTACK power will be\n" + .string "on trial either way.$" + +PetalburgCity_Gym_Text_206ED8: @ 8206ED8 + .string "Do you know what we’re trying to\n" + .string "achieve as TRAINERS?\p" + .string "We’re striving to become soul mates\n" + .string "with our POKéMON.$" + +PetalburgCity_Gym_Text_206F44: @ 8206F44 + .string "The higher the DEFENSE, the more\n" + .string "reckless I can be in attack.$" + +PetalburgCity_Gym_Text_206F82: @ 8206F82 + .string "Our defenses weren’t enough…$" + +PetalburgCity_Gym_Text_206F9F: @ 8206F9F + .string "I think you’ve taught me a valuable\n" + .string "lesson here.\p" + .string "Now, go on! The left door goes to\n" + .string "the STRENGTH ROOM.\p" + .string "The right door opens to\n" + .string "the ONE-HIT KO ROOM.\p" + .string "Both of them have TRAINERS who are\n" + .string "skilled at offense.$" + +PetalburgCity_Gym_Text_207069: @ 8207069 + .string "Hi! Have you tried using SURF?$" + +PetalburgCity_Gym_Text_207088: @ 8207088 + .string "Our GYM LEADER told us to go all out\n" + .string "and beat you.\p" + .string "Even if you happen to be the\n" + .string "LEADER’s kid!$" + +PetalburgCity_Gym_Text_2070E6: @ 82070E6 + .string "But… I went all out!$" + +PetalburgCity_Gym_Text_2070FB: @ 82070FB + .string "The way you use your POKéMON…\n" + .string "It’s like your father’s style.\p" + .string "Go on through! The GYM LEADER, your\n" + .string "father, is waiting!$" + +PetalburgCity_Gym_Text_207170: @ 8207170 + .string "Sure, it’s fine to make your POKéMON\n" + .string "stronger.\p" + .string "But what decides the winner?\p" + .string "Why, it’s the feelings TRAINERS have\n" + .string "for their POKéMON.$" + +PetalburgCity_Gym_Text_2071F4: @ 82071F4 + .string "This door appears to be locked\n" + .string "right now…$" + +PetalburgCity_Gym_Text_20721E: @ 820721E + .string "“SPEED ROOM,” the sign says.\p" + .string "Do you want to go through?$" + +PetalburgCity_Gym_Text_207256: @ 8207256 + .string "This door appears to be locked\n" + .string "right now…$" + +PetalburgCity_Gym_Text_207280: @ 8207280 + .string "“ACCURACY ROOM,” the sign says.\p" + .string "Do you want to go through?$" + +PetalburgCity_Gym_Text_2072BB: @ 82072BB + .string "“CONFUSION ROOM,” the sign says.\p" + .string "Do you want to go through?$" + +PetalburgCity_Gym_Text_2072F7: @ 82072F7 + .string "“DEFENSE ROOM,” the sign says.\p" + .string "Do you want to go through?$" + +PetalburgCity_Gym_Text_207331: @ 8207331 + .string "“RECOVERY ROOM,” the sign says.\p" + .string "Do you want to go through?$" + +PetalburgCity_Gym_Text_20736C: @ 820736C + .string "“STRENGTH ROOM,” the sign says.\p" + .string "Do you want to go through?$" + +PetalburgCity_Gym_Text_2073A7: @ 82073A7 + .string "“ONE-HIT KO ROOM,” the sign says.\p" + .string "Do you want to go through?$" + +PetalburgCity_Gym_Text_2073E4: @ 82073E4 + .string "“GYM LEADER’S ROOM\p" + .string "“See for yourself what POKéMON await\n" + .string "you!” the sign says.\p" + .string "Do you want to go through?$" + +PetalburgCity_Gym_Text_20744C: @ 820744C + .string "PETALBURG CITY POKéMON GYM$" + +PetalburgCity_Gym_Text_207467: @ 8207467 + .string "PETALBURG CITY POKéMON GYM\p" + .string "NORMAN’S CERTIFIED TRAINERS:\n" + .string "{PLAYER}$" + +PetalburgCity_Gym_Text_2074A2: @ 82074A2 + .string "DAD: {PLAYER}…\n" + .string "I had a feeling that you would come.\p" + .string "I would never refuse to accept\n" + .string "a challenge from you.\p" + .string "You do understand, don’t you?\p" + .string "Inside a GYM, it doesn’t matter that\n" + .string "we are a parent and child.\p" + .string "…No, because we are parent and child,\n" + .string "we owe it to each other to do the best\l" + .string "we can. Isn’t that right, {PLAYER}?$" + +PetalburgCity_Gym_Text_2075CE: @ 82075CE + .string "Uh… Haha…\n" + .string "Maybe that was going too hard…$" + +PetalburgCity_Gym_Text_2075F7: @ 82075F7 + .string "DAD: {PLAYER}…\n" + .string "What is your dream?\p" + .string "My dream…\n" + .string "Hahaha…\l" + .string "It has already come true, actually.$" + +PetalburgCity_Gym_Text_20764A: @ 820764A + .string "DAD: {PLAYER}…\n" + .string "I had a feeling that you would come.\p" + .string "I would never refuse to accept\n" + .string "a challenge from you.\p" + .string "You do understand, don’t you?\p" + .string "Inside a GYM, it doesn’t matter that\n" + .string "we are a parent and child.\p" + .string "Hm? Wait a second, {PLAYER}.\p" + .string "Do you only have one POKéMON that is\n" + .string "capable of battle?\p" + .string "Sorry, but you’ll have to come back\n" + .string "with at least two POKéMON.$" + diff --git a/data/scripts/maps/PetalburgCity_House1.inc b/data/scripts/maps/PetalburgCity_House1.inc new file mode 100644 index 0000000000..f727ec8a13 --- /dev/null +++ b/data/scripts/maps/PetalburgCity_House1.inc @@ -0,0 +1,28 @@ +PetalburgCity_House1_MapScripts:: @ 8207799 + .byte 0 + +PetalburgCity_House1_EventScript_20779A:: @ 820779A + msgbox PetalburgCity_House1_Text_2077AC, 2 + end + +PetalburgCity_House1_EventScript_2077A3:: @ 82077A3 + msgbox PetalburgCity_House1_Text_2077FB, 2 + end + +PetalburgCity_House1_Text_2077AC: @ 82077AC + .string "Traveling is wonderful!\p" + .string "When I was young, I roamed the seas\n" + .string "and the mountains!$" + +PetalburgCity_House1_Text_2077FB: @ 82077FB + .string "Sigh…\p" + .string "I wish I could go on an adventure\n" + .string "with some POKéMON…\p" + .string "Crawl through some damp grass…\n" + .string "Climb rocky, rugged mountains…\p" + .string "Cross the raging seas…\n" + .string "Wander about in dark caves…\p" + .string "And, sometimes, even get a little\n" + .string "homesick…\p" + .string "It must be fabulous to travel!$" + diff --git a/data/scripts/maps/PetalburgCity_House2.inc b/data/scripts/maps/PetalburgCity_House2.inc new file mode 100644 index 0000000000..44987b3d6c --- /dev/null +++ b/data/scripts/maps/PetalburgCity_House2.inc @@ -0,0 +1,24 @@ +PetalburgCity_House2_MapScripts:: @ 82078F2 + .byte 0 + +PetalburgCity_House2_EventScript_2078F3:: @ 82078F3 + msgbox PetalburgCity_House2_Text_207905, 2 + end + +PetalburgCity_House2_EventScript_2078FC:: @ 82078FC + msgbox PetalburgCity_House2_Text_207969, 2 + end + +PetalburgCity_House2_Text_207905: @ 8207905 + .string "NORMAN became our town’s new\n" + .string "GYM LEADER.\p" + .string "I think he called his family over from\n" + .string "somewhere far away.$" + +PetalburgCity_House2_Text_207969: @ 8207969 + .string "I battled NORMAN once, but, whew,\n" + .string "he was way too strong.\p" + .string "How would I put it?\p" + .string "I just got the feeling that he\n" + .string "lives for POKéMON.$" + diff --git a/data/scripts/maps/PetalburgCity_Mart.inc b/data/scripts/maps/PetalburgCity_Mart.inc new file mode 100644 index 0000000000..665ad3baeb --- /dev/null +++ b/data/scripts/maps/PetalburgCity_Mart.inc @@ -0,0 +1,87 @@ +PetalburgCity_Mart_MapScripts:: @ 8207D68 + .byte 0 + +PetalburgCity_Mart_EventScript_207D69:: @ 8207D69 + lock + faceplayer + message gUnknown_08272A21 + waitmessage + checkflag FLAG_0x128 + goto_eq PetalburgCity_Mart_EventScript_207DA6 + pokemart PetalburgCity_Mart_Pokemart_207D8C + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +PetalburgCity_Mart_Pokemart_207D8C: @ 8207D8C + .2byte ITEM_POKE_BALL + .2byte ITEM_POTION + .2byte ITEM_ANTIDOTE + .2byte ITEM_PARALYZE_HEAL + .2byte ITEM_AWAKENING + .2byte ITEM_ESCAPE_ROPE + .2byte ITEM_REPEL + .2byte ITEM_X_SPEED + .2byte ITEM_X_ATTACK + .2byte ITEM_X_DEFEND + .2byte ITEM_ORANGE_MAIL + .2byte ITEM_NONE + release + end + +PetalburgCity_Mart_EventScript_207DA6:: @ 8207DA6 + pokemart PetalburgCity_Mart_Pokemart_207DB8 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +PetalburgCity_Mart_Pokemart_207DB8: @ 8207DB8 + .2byte ITEM_POKE_BALL + .2byte ITEM_GREAT_BALL + .2byte ITEM_POTION + .2byte ITEM_SUPER_POTION + .2byte ITEM_ANTIDOTE + .2byte ITEM_PARALYZE_HEAL + .2byte ITEM_AWAKENING + .2byte ITEM_ESCAPE_ROPE + .2byte ITEM_REPEL + .2byte ITEM_X_SPEED + .2byte ITEM_X_ATTACK + .2byte ITEM_X_DEFEND + .2byte ITEM_ORANGE_MAIL + .2byte ITEM_NONE + release + end + +PetalburgCity_Mart_EventScript_207DD6:: @ 8207DD6 + msgbox PetalburgCity_Mart_Text_207DF1, 2 + end + +PetalburgCity_Mart_EventScript_207DDF:: @ 8207DDF + msgbox PetalburgCity_Mart_Text_207E60, 2 + end + +PetalburgCity_Mart_EventScript_207DE8:: @ 8207DE8 + msgbox PetalburgCity_Mart_Text_207EB0, 2 + end + +PetalburgCity_Mart_Text_207DF1: @ 8207DF1 + .string "Even if a POKéMON is weak now,\n" + .string "it will grow stronger.\p" + .string "The most important thing is love!\n" + .string "Love for your POKéMON!$" + +PetalburgCity_Mart_Text_207E60: @ 8207E60 + .string "Do you use REPEL?\n" + .string "It keeps POKéMON away, so it’s\l" + .string "useful when you’re in a hurry.$" + +PetalburgCity_Mart_Text_207EB0: @ 8207EB0 + .string "Do you have any ANTIDOTES with\n" + .string "you?\p" + .string "If you walk around with a poisoned\n" + .string "POKéMON, it will lose HP until it faints.\l" + .string "Take some ANTIDOTES with you.$" + diff --git a/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc b/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc new file mode 100644 index 0000000000..f4a31854e8 --- /dev/null +++ b/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc @@ -0,0 +1,98 @@ +PetalburgCity_PokemonCenter_1F_MapScripts:: @ 82079E8 + map_script 3, PetalburgCity_PokemonCenter_1F_MapScript1_2079F3 + map_script 5, PetalburgCity_PokemonCenter_1F_MapScript1_277C30 + .byte 0 + +PetalburgCity_PokemonCenter_1F_MapScript1_2079F3: @ 82079F3 + setrespawn 3 + call PetalburgCity_PokemonCenter_1F_EventScript_2718DE + end + +PetalburgCity_PokemonCenter_1F_EventScript_2079FC:: @ 82079FC + setvar VAR_0x800B, 1 + call PetalburgCity_PokemonCenter_1F_EventScript_27191E + waitmessage + waitbuttonpress + release + end + +PetalburgCity_PokemonCenter_1F_EventScript_207A0A:: @ 8207A0A + msgbox PetalburgCity_PokemonCenter_1F_Text_207A76, 2 + end + +PetalburgCity_PokemonCenter_1F_EventScript_207A13:: @ 8207A13 + msgbox PetalburgCity_PokemonCenter_1F_Text_207AD6, 2 + end + +PetalburgCity_PokemonCenter_1F_EventScript_207A1C:: @ 8207A1C + lock + faceplayer + msgbox PetalburgCity_PokemonCenter_1F_Text_207B09, 4 + specialvar VAR_RESULT, IsStarterInParty + compare VAR_RESULT, 1 + goto_eq PetalburgCity_PokemonCenter_1F_EventScript_207A38 + release + end + +PetalburgCity_PokemonCenter_1F_EventScript_207A38:: @ 8207A38 + compare VAR_FIRST_POKE, 0 + call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_207A5B + compare VAR_FIRST_POKE, 1 + call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_207A64 + compare VAR_FIRST_POKE, 2 + call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_207A6D + release + end + +PetalburgCity_PokemonCenter_1F_EventScript_207A5B:: @ 8207A5B + msgbox PetalburgCity_PokemonCenter_1F_Text_207BB0, 4 + return + +PetalburgCity_PokemonCenter_1F_EventScript_207A64:: @ 8207A64 + msgbox PetalburgCity_PokemonCenter_1F_Text_207C35, 4 + return + +PetalburgCity_PokemonCenter_1F_EventScript_207A6D:: @ 8207A6D + msgbox PetalburgCity_PokemonCenter_1F_Text_207CB7, 4 + return + +PetalburgCity_PokemonCenter_1F_Text_207A76: @ 8207A76 + .string "That PC-based POKéMON Storage\n" + .string "System…\p" + .string "Whoever made it must be some kind\n" + .string "of a scientific wizard!$" + +PetalburgCity_PokemonCenter_1F_Text_207AD6: @ 8207AD6 + .string "When my POKéMON ate an\n" + .string "ORAN BERRY, it regained HP!$" + +PetalburgCity_PokemonCenter_1F_Text_207B09: @ 8207B09 + .string "There are many types of POKéMON.\p" + .string "All types have their strengths and\n" + .string "weaknesses against other types.\p" + .string "Depending on the types of POKéMON,\n" + .string "a battle could be easy or hard.$" + +PetalburgCity_PokemonCenter_1F_Text_207BB0: @ 8207BB0 + .string "For example, your TREECKO\n" + .string "is a GRASS type.\p" + .string "It’s strong against the WATER and\n" + .string "GROUND types.\p" + .string "But, it’s weak against FIRE-type\n" + .string "POKéMON.$" + +PetalburgCity_PokemonCenter_1F_Text_207C35: @ 8207C35 + .string "For example, your TORCHIC\n" + .string "is a FIRE type.\p" + .string "It’s strong against the GRASS and\n" + .string "BUG types.\p" + .string "But, it’s weak against WATER-type\n" + .string "POKéMON.$" + +PetalburgCity_PokemonCenter_1F_Text_207CB7: @ 8207CB7 + .string "For example, your MUDKIP\n" + .string "is a WATER type.\p" + .string "It’s strong against the FIRE type.\p" + .string "But, it’s weak against GRASS-type\n" + .string "and ELECTRIC-type POKéMON.$" + diff --git a/data/scripts/maps/PetalburgCity_PokemonCenter_2F.inc b/data/scripts/maps/PetalburgCity_PokemonCenter_2F.inc new file mode 100644 index 0000000000..38d01972af --- /dev/null +++ b/data/scripts/maps/PetalburgCity_PokemonCenter_2F.inc @@ -0,0 +1,19 @@ +PetalburgCity_PokemonCenter_2F_MapScripts:: @ 8207D41 + map_script 2, PetalburgCity_PokemonCenter_2F_MapScript2_276C3B + map_script 4, PetalburgCity_PokemonCenter_2F_MapScript2_276B6C + map_script 1, PetalburgCity_PokemonCenter_2F_MapScript1_276BBE + map_script 3, PetalburgCity_PokemonCenter_2F_MapScript1_276ACF + .byte 0 + +PetalburgCity_PokemonCenter_2F_EventScript_207D56:: @ 8207D56 + call OldaleTown_PokemonCenter_2F_EventScript_276EB7 + end + +PetalburgCity_PokemonCenter_2F_EventScript_207D5C:: @ 8207D5C + call OldaleTown_PokemonCenter_2F_EventScript_2770B2 + end + +PetalburgCity_PokemonCenter_2F_EventScript_207D62:: @ 8207D62 + call OldaleTown_PokemonCenter_2F_EventScript_2771DB + end + diff --git a/data/scripts/maps/PetalburgCity_WallysHouse.inc b/data/scripts/maps/PetalburgCity_WallysHouse.inc new file mode 100644 index 0000000000..e64bd57b11 --- /dev/null +++ b/data/scripts/maps/PetalburgCity_WallysHouse.inc @@ -0,0 +1,139 @@ +PetalburgCity_WallysHouse_MapScripts:: @ 8204229 + map_script 2, PetalburgCity_WallysHouse_MapScript2_204247 + map_script 4, PetalburgCity_WallysHouse_MapScript2_204234 + .byte 0 + +PetalburgCity_WallysHouse_MapScript2_204234: @ 8204234 + map_script_2 VAR_0x4057, 4, PetalburgCity_WallysHouse_EventScript_20423E + .2byte 0 + +PetalburgCity_WallysHouse_EventScript_20423E:: @ 820423E + turnobject 255, 4 + turnobject 1, 3 + end + +PetalburgCity_WallysHouse_MapScript2_204247: @ 8204247 + map_script_2 VAR_0x4057, 4, PetalburgCity_WallysHouse_EventScript_204251 + .2byte 0 + +PetalburgCity_WallysHouse_EventScript_204251:: @ 8204251 + lockall + msgbox PetalburgCity_WallysHouse_Text_20446E, 4 + giveitem_std ITEM_HM03 + setflag FLAG_0x07A + msgbox PetalburgCity_WallysHouse_Text_20461A, 4 + setvar VAR_0x4057, 5 + releaseall + end + +PetalburgCity_WallysHouse_EventScript_204278:: @ 8204278 + lock + faceplayer + checkflag FLAG_0x07E + goto_eq PetalburgCity_WallysHouse_EventScript_2042AC + checkflag FLAG_0x07A + goto_eq PetalburgCity_WallysHouse_EventScript_2042A2 + checkflag FLAG_0x087 + goto_eq PetalburgCity_WallysHouse_EventScript_2042B6 + msgbox PetalburgCity_WallysHouse_Text_2042DF, 4 + setflag FLAG_0x087 + release + end + +PetalburgCity_WallysHouse_EventScript_2042A2:: @ 82042A2 + msgbox PetalburgCity_WallysHouse_Text_204661, 4 + release + end + +PetalburgCity_WallysHouse_EventScript_2042AC:: @ 82042AC + msgbox PetalburgCity_WallysHouse_Text_204698, 4 + release + end + +PetalburgCity_WallysHouse_EventScript_2042B6:: @ 82042B6 + msgbox PetalburgCity_WallysHouse_Text_20444D, 4 + release + end + +PetalburgCity_WallysHouse_EventScript_2042C0:: @ 82042C0 + lock + faceplayer + checkflag FLAG_0x07A + goto_eq PetalburgCity_WallysHouse_EventScript_2042D5 + msgbox PetalburgCity_WallysHouse_Text_204732, 4 + release + end + +PetalburgCity_WallysHouse_EventScript_2042D5:: @ 82042D5 + msgbox PetalburgCity_WallysHouse_Text_2047A7, 4 + release + end + +PetalburgCity_WallysHouse_Text_2042DF: @ 82042DF + .string "You’re…\n" + .string "Ah, you must be {PLAYER}{KUN}, right?\p" + .string "Thank you for playing with WALLY a\n" + .string "little while ago.\p" + .string "He’s been frail and sickly ever\n" + .string "since he was a baby.\p" + .string "We’ve sent him to stay with my relatives\n" + .string "in VERDANTURF TOWN for a while.\p" + .string "The air is a lot cleaner there\n" + .string "than it is here.\p" + .string "What’s that? Where’s WALLY?\n" + .string "He’s already left, our WALLY.\p" + .string "I wonder where he could have\n" + .string "gotten by now?$" + +PetalburgCity_WallysHouse_Text_20444D: @ 820444D + .string "I wonder how our WALLY is doing?$" + +PetalburgCity_WallysHouse_Text_20446E: @ 820446E + .string "{PLAYER}{KUN}! Please excuse us for\n" + .string "dragging you here this way.\p" + .string "But our WALLY’s become very healthy\n" + .string "since he went to VERDANTURF TOWN.\p" + .string "We owe it all to you!\p" + .string "When WALLY left town, you helped\n" + .string "him catch a POKéMON, right?\p" + .string "I think that made WALLY really\n" + .string "happy.\p" + .string "Actually, not just WALLY.\n" + .string "It made me, his father, happy too.\p" + .string "Happy that he’s gained such a great\n" + .string "friend as you.\p" + .string "This isn’t a bribe or anything, but\n" + .string "I’d really like you to have this.$" + +PetalburgCity_WallysHouse_Text_20461A: @ 820461A + .string "If your POKéMON can SURF, you’ll be\n" + .string "able to go to all sorts of places.$" + +PetalburgCity_WallysHouse_Text_204661: @ 8204661 + .string "WALLY’s coming home soon.\n" + .string "I’m looking forward to that.$" + +PetalburgCity_WallysHouse_Text_204698: @ 8204698 + .string "Oh? You met WALLY in\n" + .string "EVER GRANDE CITY?\p" + .string "Oh, {PLAYER}{KUN}, don’t be silly.\p" + .string "He may have gotten healthy, but he\n" + .string "can’t go somewhere far away like\l" + .string "that all by himself.$" + +PetalburgCity_WallysHouse_Text_204732: @ 8204732 + .string "WALLY was really happy when he told\n" + .string "us that he caught a POKéMON.\p" + .string "It’s been ages since I’ve seen him\n" + .string "smile like that.$" + +PetalburgCity_WallysHouse_Text_2047A7: @ 82047A7 + .string "I want you to keep this a secret\n" + .string "from my husband…\p" + .string "But our WALLY left VERDANTURF TOWN\n" + .string "without telling anyone.\p" + .string "You know, WALLY is frail, but\n" + .string "he’s surprisingly strong-willed.\p" + .string "I’m sure that he’ll come back safe\n" + .string "and sound one day!$" + diff --git a/data/scripts/maps/PetalburgWoods.inc b/data/scripts/maps/PetalburgWoods.inc new file mode 100644 index 0000000000..5afb12d68f --- /dev/null +++ b/data/scripts/maps/PetalburgWoods.inc @@ -0,0 +1,486 @@ +PetalburgWoods_MapScripts:: @ 822DFD6 + .byte 0 + +PetalburgWoods_EventScript_22DFD7:: @ 822DFD7 + lockall + call PetalburgWoods_EventScript_22E124 + applymovement 4, PetalburgWoods_Movement_22E1CB + waitmovement 0 + msgbox PetalburgWoods_Text_22E34F, 4 + closemessage + playbgm MUS_AQA_0, 0 + applymovement 3, PetalburgWoods_Movement_22E209 + waitmovement 0 + msgbox PetalburgWoods_Text_22E3AA, 4 + closemessage + applymovement 3, PetalburgWoods_Movement_22E1F6 + waitmovement 0 + applymovement 4, PetalburgWoods_Movement_2725A6 + waitmovement 0 + msgbox PetalburgWoods_Text_22E428, 4 + closemessage + applymovement 4, PetalburgWoods_Movement_22E1E4 + waitmovement 0 + msgbox PetalburgWoods_Text_22E457, 4 + closemessage + applymovement 3, PetalburgWoods_Movement_22E20E + waitmovement 0 + msgbox PetalburgWoods_Text_22E4A5, 4 + trainerbattle 3, TRAINER_GRUNT_8, 0, PetalburgWoods_Text_22E542 + applymovement 3, PetalburgWoods_Movement_22E1F9 + waitmovement 0 + call PetalburgWoods_EventScript_22E138 + applymovement 255, PetalburgWoods_Movement_22E1E0 + applymovement 4, PetalburgWoods_Movement_22E1C2 + waitmovement 0 + goto PetalburgWoods_EventScript_22E1A7 + end + +PetalburgWoods_EventScript_22E079:: @ 822E079 + lockall + call PetalburgWoods_EventScript_22E124 + applymovement 4, PetalburgWoods_Movement_22E1D0 + waitmovement 0 + applymovement 255, PetalburgWoods_Movement_2725A4 + waitmovement 0 + msgbox PetalburgWoods_Text_22E34F, 4 + closemessage + playbgm MUS_AQA_0, 0 + applymovement 3, PetalburgWoods_Movement_22E209 + waitmovement 0 + msgbox PetalburgWoods_Text_22E3AA, 4 + closemessage + applymovement 3, PetalburgWoods_Movement_22E205 + waitmovement 0 + applymovement 4, PetalburgWoods_Movement_2725A6 + waitmovement 0 + msgbox PetalburgWoods_Text_22E428, 4 + closemessage + applymovement 4, PetalburgWoods_Movement_22E1EA + waitmovement 0 + msgbox PetalburgWoods_Text_22E457, 4 + applymovement 255, PetalburgWoods_Movement_2725A6 + waitmovement 0 + msgbox PetalburgWoods_Text_22E4A5, 4 + trainerbattle 3, TRAINER_GRUNT_8, 0, PetalburgWoods_Text_22E542 + applymovement 3, PetalburgWoods_Movement_22E1F9 + waitmovement 0 + call PetalburgWoods_EventScript_22E138 + applymovement 255, PetalburgWoods_Movement_22E1E0 + applymovement 4, PetalburgWoods_Movement_22E1D7 + waitmovement 0 + goto PetalburgWoods_EventScript_22E1A7 + end + +PetalburgWoods_EventScript_22E124:: @ 822E124 + applymovement 4, PetalburgWoods_Movement_22E1B1 + waitmovement 0 + msgbox PetalburgWoods_Text_22E332, 4 + closemessage + return + +PetalburgWoods_EventScript_22E138:: @ 822E138 + msgbox PetalburgWoods_Text_22E563, 4 + closemessage + applymovement 3, PetalburgWoods_Movement_22E1FD + waitmovement 0 + removeobject 3 + applymovement 255, PetalburgWoods_Movement_2725AA + waitmovement 0 + msgbox PetalburgWoods_Text_22E63D, 4 + giveitem_std ITEM_GREAT_BALL + compare VAR_RESULT, 0 + goto_eq PetalburgWoods_EventScript_22E17D + goto PetalburgWoods_EventScript_22E18B + end + +PetalburgWoods_EventScript_22E17D:: @ 822E17D + msgbox PetalburgWoods_Text_22E741, 4 + goto PetalburgWoods_EventScript_22E18B + end + +PetalburgWoods_EventScript_22E18B:: @ 822E18B + msgbox PetalburgWoods_Text_22E6C7, 4 + applymovement 4, PetalburgWoods_Movement_22E1EE + waitmovement 0 + msgbox PetalburgWoods_Text_22E712, 4 + closemessage + return + +PetalburgWoods_EventScript_22E1A7:: @ 822E1A7 + removeobject 4 + setvar VAR_0x4098, 1 + releaseall + end + +PetalburgWoods_Movement_22E1B1: @ 822E1B1 + step_01 + step_14 + step_12 + step_03 + step_14 + step_13 + step_02 + step_14 + step_13 + step_00 + step_14 + step_03 + step_14 + step_13 + step_01 + step_14 + step_end + +PetalburgWoods_Movement_22E1C2: @ 822E1C2 + step_18 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_end + +PetalburgWoods_Movement_22E1CB: @ 822E1CB + step_14 + step_3e + step_down + step_down + step_end + +PetalburgWoods_Movement_22E1D0: @ 822E1D0 + step_14 + step_3e + step_down + step_down + step_down + step_28 + step_end + +PetalburgWoods_Movement_22E1D7: @ 822E1D7 + step_17 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_end + +PetalburgWoods_Movement_22E1E0: @ 822E1E0 + step_14 + step_14 + step_26 + step_end + +PetalburgWoods_Movement_22E1E4: @ 822E1E4 + step_18 + step_15 + step_15 + step_17 + step_26 + step_end + +PetalburgWoods_Movement_22E1EA: @ 822E1EA + step_15 + step_18 + step_26 + step_end + +PetalburgWoods_Movement_22E1EE: @ 822E1EE + step_25 + step_14 + step_14 + step_14 + step_14 + step_14 + step_01 + step_end + +PetalburgWoods_Movement_22E1F6: @ 822E1F6 + step_15 + step_15 + step_end + +PetalburgWoods_Movement_22E1F9: @ 822E1F9 + step_40 + step_up + step_41 + step_end + +PetalburgWoods_Movement_22E1FD: @ 822E1FD + step_16 + step_16 + step_16 + step_16 + step_16 + step_14 + step_14 + step_end + +PetalburgWoods_Movement_22E205: @ 822E205 + step_15 + step_15 + step_15 + step_end + +PetalburgWoods_Movement_22E209: @ 822E209 + step_down + step_down + step_14 + step_14 + step_end + +PetalburgWoods_Movement_22E20E: @ 822E20E + step_down + step_end + +PetalburgWoods_EventScript_22E210:: @ 822E210 + msgbox PetalburgWoods_Text_22EA0C, 2 + end + +PetalburgWoods_EventScript_22E219:: @ 822E219 + msgbox PetalburgWoods_Text_22EA8B, 2 + end + +PetalburgWoods_EventScript_22E222:: @ 822E222 + lock + faceplayer + checkflag FLAG_0x129 + goto_eq PetalburgWoods_EventScript_22E251 + msgbox PetalburgWoods_Text_22EAFE, 4 + giveitem_std ITEM_MIRACLE_SEED + compare VAR_RESULT, 0 + goto_eq PetalburgWoods_EventScript_272054 + setflag FLAG_0x129 + release + end + +PetalburgWoods_EventScript_22E251:: @ 822E251 + msgbox PetalburgWoods_Text_22EB63, 4 + release + end + +PetalburgWoods_EventScript_22E25B:: @ 822E25B + msgbox PetalburgWoods_Text_22EC10, 3 + end + +PetalburgWoods_EventScript_22E264:: @ 822E264 + msgbox PetalburgWoods_Text_22ED07, 3 + end + +PetalburgWoods_EventScript_22E26D:: @ 822E26D + trainerbattle 0, TRAINER_LYLE, 0, PetalburgWoods_Text_22E77D, PetalburgWoods_Text_22E7C1 + msgbox PetalburgWoods_Text_22E7EF, 6 + end + +PetalburgWoods_EventScript_22E284:: @ 822E284 + trainerbattle 2, TRAINER_JAMES_1, 0, PetalburgWoods_Text_22E827, PetalburgWoods_Text_22E86B, PetalburgWoods_EventScript_22E2C5 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq PetalburgWoods_EventScript_22E31B + setvar VAR_0x8004, 621 + specialvar VAR_RESULT, sub_813B4E0 + compare VAR_RESULT, 0 + goto_eq PetalburgWoods_EventScript_22E2EF + msgbox PetalburgWoods_Text_22E889, 4 + release + end + +PetalburgWoods_EventScript_22E2C5:: @ 822E2C5 + special sub_80B4808 + waitmovement 0 + checkflag FLAG_HAS_MATCH_CALL + goto_eq PetalburgWoods_EventScript_22E2D6 + release + end + +PetalburgWoods_EventScript_22E2D6:: @ 822E2D6 + msgbox PetalburgWoods_Text_22E8C3, 4 + setvar VAR_0x8004, 621 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 621 + callstd 8 + release + end + +PetalburgWoods_EventScript_22E2EF:: @ 822E2EF + checkflag FLAG_HAS_MATCH_CALL + goto_eq PetalburgWoods_EventScript_22E302 + msgbox PetalburgWoods_Text_22E889, 4 + release + end + +PetalburgWoods_EventScript_22E302:: @ 822E302 + msgbox PetalburgWoods_Text_22E914, 4 + setvar VAR_0x8004, 621 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 621 + callstd 8 + release + end + +PetalburgWoods_EventScript_22E31B:: @ 822E31B + trainerbattle 5, TRAINER_JAMES_1, 0, PetalburgWoods_Text_22E966, PetalburgWoods_Text_22E998 + msgbox PetalburgWoods_Text_22E9B6, 6 + end + +PetalburgWoods_Text_22E332: @ 822E332 + .string "Hmmm…\n" + .string "Not a one to be found…$" + +PetalburgWoods_Text_22E34F: @ 822E34F + .string "Hello, have you seen any POKéMON\n" + .string "called SHROOMISH around here?\p" + .string "I really love that POKéMON.$" + +PetalburgWoods_Text_22E3AA: @ 822E3AA + .string "I was going to ambush you, but you\n" + .string "had to dawdle in PETALBURG WOODS\l" + .string "forever, didn’t you?\p" + .string "I got sick of waiting, so here I am!$" + +PetalburgWoods_Text_22E428: @ 822E428 + .string "You! DEVON RESEARCHER!\p" + .string "Hand over those papers!$" + +PetalburgWoods_Text_22E457: @ 822E457 + .string "Aiyeeeh!\p" + .string "You’re a POKéMON TRAINER, aren’t you?\n" + .string "You’ve got to help me, please!$" + +PetalburgWoods_Text_22E4A5: @ 822E4A5 + .string "Hunh? What do you think you’re doing?\n" + .string "What, you’re going to protect him?\p" + .string "No one who crosses TEAM AQUA\n" + .string "gets any mercy, not even a kid!\p" + .string "Come on and battle me!$" + +PetalburgWoods_Text_22E542: @ 822E542 + .string "You’re kidding me! You’re tough!$" + +PetalburgWoods_Text_22E563: @ 822E563 + .string "Grrr… You’ve got some nerve\n" + .string "meddling with TEAM AQUA!\l" + .string "Come on and battle me again!\p" + .string "I wish I could say that, but I’m out of\n" + .string "POKéMON…\p" + .string "And, hey, we of TEAM AQUA are also\n" + .string "after something in RUSTBORO.\p" + .string "I’ll let you go today!$" + +PetalburgWoods_Text_22E63D: @ 822E63D + .string "Whew…\n" + .string "That was awfully close!\p" + .string "Thanks to you, he didn’t rob me of\n" + .string "these important papers.\p" + .string "I know, I’ll give you a GREAT BALL as\n" + .string "my thanks!$" + +PetalburgWoods_Text_22E6C7: @ 822E6C7 + .string "Didn’t that TEAM AQUA thug say\n" + .string "they were after something in\l" + .string "RUSTBORO, too?$" + +PetalburgWoods_Text_22E712: @ 822E712 + .string "Uh-oh! It’s a crisis!\n" + .string "I can’t be wasting time!$" + +PetalburgWoods_Text_22E741: @ 822E741 + .string "You’re loaded with items.\n" + .string "I can’t give you this GREAT BALL.$" + +PetalburgWoods_Text_22E77D: @ 822E77D + .string "I caught a whole bunch of POKéMON!\p" + .string "Go, go, go!\n" + .string "My BUG POKéMON team!$" + +PetalburgWoods_Text_22E7C1: @ 822E7C1 + .string "I have all these POKéMON,\n" + .string "but I couldn’t win…$" + +PetalburgWoods_Text_22E7EF: @ 822E7EF + .string "I caught a bunch of POKéMON.\n" + .string "Now I’m out of POKé BALLS.$" + +PetalburgWoods_Text_22E827: @ 822E827 + .string "If you take BUG POKéMON to school,\n" + .string "you get to be instantly popular!$" + +PetalburgWoods_Text_22E86B: @ 822E86B + .string "I can’t be popular if I lose.$" + +PetalburgWoods_Text_22E889: @ 822E889 + .string "If you have a big BUG POKéMON,\n" + .string "people respect you for it.$" + +PetalburgWoods_Text_22E8C3: @ 822E8C3 + .string "I want a rematch when my BUG\n" + .string "POKéMON grow up!\p" + .string "I’m registering you in my POKéNAV!$" + +PetalburgWoods_Text_22E914: @ 822E914 + .string "I want a rematch when my BUG \n" + .string "POKéMON grow up!\p" + .string "I’m registering you in my POKéNAV!$" + +PetalburgWoods_Text_22E966: @ 822E966 + .string "My BUG POKéMON have grown.\n" + .string "I’ll be popular again.$" + +PetalburgWoods_Text_22E998: @ 822E998 + .string "I can’t be popular if I lose.$" + +PetalburgWoods_Text_22E9B6: @ 822E9B6 + .string "You get to be popular if you have\n" + .string "strong POKéMON, right?\l" + .string "So, I’ve been training hard.$" + +PetalburgWoods_Text_22EA0C: @ 822EA0C + .string "Yo, there!\n" + .string "Your POKéMON doing okay?\p" + .string "If your POKéMON are weak and you want\n" + .string "to avoid battles, you should stay out\l" + .string "of tall grass.$" + +PetalburgWoods_Text_22EA8B: @ 822EA8B + .string "Sometimes, there are things on the\n" + .string "ground even if you can’t see them.\p" + .string "That’s why I always check where I’m\n" + .string "walking.$" + +PetalburgWoods_Text_22EAFE: @ 822EAFE + .string "Oh, neat!\n" + .string "That’s the BADGE from RUSTBORO GYM!\p" + .string "You must be a TRAINER.\n" + .string "You should try using this item.$" + +PetalburgWoods_Text_22EB63: @ 822EB63 + .string "It’s a MIRACLE SEED.\n" + .string "If a POKéMON holds that item, its\l" + .string "GRASS-type moves become stronger.\p" + .string "Besides MIRACLE SEED, I think there are\n" + .string "other convenient items for POKéMON\l" + .string "to hold.$" + +PetalburgWoods_Text_22EC10: @ 822EC10 + .string "TRAINER TIPS\p" + .string "Any POKéMON that appears even once\n" + .string "in a battle is awarded EXP Points.\p" + .string "To raise a weak POKéMON, put it at the\n" + .string "left of the team list.\p" + .string "As soon as a battle starts, switch it\n" + .string "out. It will earn EXP Points without\l" + .string "being exposed to any harm.$" + +PetalburgWoods_Text_22ED07: @ 822ED07 + .string "TRAINER TIPS\p" + .string "In addition to Hit Points (HP), POKéMON\n" + .string "have Power Points (PP) that are used to\l" + .string "make moves during battle.\p" + .string "If a POKéMON runs out of PP, it must be\n" + .string "taken to a POKéMON CENTER.$" + diff --git a/data/scripts/maps/RecordCorner.inc b/data/scripts/maps/RecordCorner.inc new file mode 100644 index 0000000000..4f342b860e --- /dev/null +++ b/data/scripts/maps/RecordCorner.inc @@ -0,0 +1,3 @@ +RecordCorner_MapScripts:: @ 823B77F + .byte 0 + diff --git a/data/scripts/maps/Route101.inc b/data/scripts/maps/Route101.inc new file mode 100644 index 0000000000..4d4334acaf --- /dev/null +++ b/data/scripts/maps/Route101.inc @@ -0,0 +1,301 @@ +Route101_MapScripts:: @ 81EBCBA + map_script 3, Route101_MapScript1_1EBCC5 + map_script 2, Route101_MapScript2_1EBCCB + .byte 0 + +Route101_MapScript1_1EBCC5: @ 81EBCC5 + call Route101_EventScript_2720AD + end + +Route101_MapScript2_1EBCCB: @ 81EBCCB + map_script_2 VAR_0x4060, 0, Route101_EventScript_1EBCD5 + .2byte 0 + +Route101_EventScript_1EBCD5:: @ 81EBCD5 + setflag FLAG_SPECIAL_FLAG_0x4000 + setvar VAR_0x4060, 1 + end + +Route101_EventScript_1EBCDE:: @ 81EBCDE + lockall + playbgm MUS_EVENT0, 1 + msgbox Route101_Text_1EBE8F, 4 + closemessage + setobjectxy 2, 0, 15 + setobjectxy 4, 0, 16 + applymovement 255, Route101_Movement_1EBDC2 + applymovement 2, Route101_Movement_1EBDE7 + applymovement 4, Route101_Movement_1EBDB5 + waitmovement 0 + applymovement 4, Route101_Movement_1EBD96 + applymovement 2, Route101_Movement_1EBDC8 + waitmovement 0 + applymovement 2, Route101_Movement_2725A8 + waitmovement 0 + applymovement 4, Route101_Movement_1EBDBD + applymovement 2, Route101_Movement_1EBDEF + waitmovement 0 + msgbox Route101_Text_1EBE9A, 4 + closemessage + setvar VAR_0x4060, 2 + releaseall + end + +Route101_EventScript_1EBD4E:: @ 81EBD4E + lockall + msgbox Route101_Text_1EBEDF, 4 + closemessage + applymovement 255, Route101_Movement_1EBD90 + waitmovement 0 + releaseall + end + +Route101_EventScript_1EBD64:: @ 81EBD64 + lockall + msgbox Route101_Text_1EBEDF, 4 + closemessage + applymovement 255, Route101_Movement_1EBD92 + waitmovement 0 + releaseall + end + +Route101_EventScript_1EBD7A:: @ 81EBD7A + lockall + msgbox Route101_Text_1EBEDF, 4 + closemessage + applymovement 255, Route101_Movement_1EBD94 + waitmovement 0 + releaseall + end + +Route101_Movement_1EBD90: @ 81EBD90 + step_up + step_end + +Route101_Movement_1EBD92: @ 81EBD92 + step_right + step_end + +Route101_Movement_1EBD94: @ 81EBD94 + step_down + step_end + +Route101_Movement_1EBD96: @ 81EBD96 + step_16 + step_16 + step_16 + step_18 + step_18 + step_18 + step_15 + step_15 + step_17 + step_17 + step_17 + step_16 + step_16 + step_18 + step_18 + step_18 + step_15 + step_15 + step_17 + step_17 + step_17 + step_16 + step_16 + step_18 + step_18 + step_18 + step_15 + step_15 + step_17 + step_17 + step_end + +Route101_Movement_1EBDB5: @ 81EBDB5 + step_16 + step_18 + step_18 + step_18 + step_18 + step_16 + step_end + +Route101_Movement_1EBDBC: @ 81EBDBC + step_end + +Route101_Movement_1EBDBD: @ 81EBDBD + step_23 + step_23 + step_23 + step_23 + step_end + +Route101_Movement_1EBDC2: @ 81EBDC2 + step_16 + step_16 + step_16 + step_16 + step_27 + step_end + +Route101_Movement_1EBDC8: @ 81EBDC8 + step_16 + step_16 + step_18 + step_18 + step_18 + step_15 + step_15 + step_17 + step_17 + step_17 + step_16 + step_16 + step_18 + step_18 + step_18 + step_15 + step_15 + step_17 + step_17 + step_17 + step_16 + step_16 + step_18 + step_18 + step_18 + step_15 + step_15 + step_17 + step_17 + step_17 + step_end + +Route101_Movement_1EBDE7: @ 81EBDE7 + step_18 + step_18 + step_18 + step_18 + step_16 + step_16 + step_end + +Route101_Movement_1EBDEE: @ 81EBDEE + step_end + +Route101_Movement_1EBDEF: @ 81EBDEF + step_24 + step_24 + step_24 + step_24 + step_end + +Route101_Movement_1EBDF4: @ 81EBDF4 + step_up + step_up + step_end + +Route101_Movement_1EBDF7: @ 81EBDF7 + step_up + step_left + step_up + step_end + +Route101_EventScript_1EBDFB:: @ 81EBDFB + msgbox Route101_Text_1EBFDD, 2 + end + +Route101_EventScript_1EBE04:: @ 81EBE04 + msgbox Route101_Text_1EC04A, 2 + end + +Route101_EventScript_1EBE0D:: @ 81EBE0D + msgbox Route101_Text_1EC0C8, 3 + end + +Route101_EventScript_1EBE16:: @ 81EBE16 + lock + faceplayer + setflag FLAG_SYS_POKEMON_GET + setflag FLAG_0x052 + fadescreen 1 + removeobject 4 + setobjectxy 255, 6, 13 + applymovement 255, Route101_Movement_2725A4 + waitmovement 0 + special ChooseStarter + waitstate + applymovement 2, Route101_Movement_1EBE8D + waitmovement 0 + msgbox Route101_Text_1EBF12, 4 + special HealPlayerParty + setflag FLAG_0x2D0 + clearflag FLAG_0x2D1 + setflag FLAG_0x2BC + setvar VAR_0x4084, 2 + setvar VAR_0x4060, 3 + clearflag FLAG_SPECIAL_FLAG_0x4000 + checkplayergender + compare VAR_RESULT, 0 + call_if 1, Route101_EventScript_1EBE85 + compare VAR_RESULT, 1 + call_if 1, Route101_EventScript_1EBE89 + warp LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB, 255, 6, 5 + waitstate + release + end + +Route101_EventScript_1EBE85:: @ 81EBE85 + setflag FLAG_0x2D2 + return + +Route101_EventScript_1EBE89:: @ 81EBE89 + setflag FLAG_0x2F8 + return + +Route101_Movement_1EBE8D: @ 81EBE8D + step_right + step_end + +Route101_Text_1EBE8F: @ 81EBE8F + .string "H-help me!$" + +Route101_Text_1EBE9A: @ 81EBE9A + .string "Hello! You over there!\n" + .string "Please! Help!\p" + .string "In my BAG!\n" + .string "There’s a POKé BALL!$" + +Route101_Text_1EBEDF: @ 81EBEDF + .string "Wh-Where are you going?!\n" + .string "Don’t leave me like this!$" + +Route101_Text_1EBF12: @ 81EBF12 + .string "PROF. BIRCH: Whew…\p" + .string "I was in the tall grass studying wild\n" + .string "POKéMON when I was jumped.\p" + .string "You saved me.\n" + .string "Thanks a lot!\p" + .string "Oh?\p" + .string "Hi, you’re {PLAYER}{KUN}!\p" + .string "This is not the place to chat, so come\n" + .string "by my POKéMON LAB later, okay?$" + +Route101_Text_1EBFDD: @ 81EBFDD + .string "If POKéMON get tired, take them to\n" + .string "a POKéMON CENTER.\p" + .string "There’s a POKéMON CENTER in OLDALE\n" + .string "TOWN right close by.$" + +Route101_Text_1EC04A: @ 81EC04A + .string "Wild POKéMON will jump out at you in\n" + .string "tall grass.\p" + .string "If you want to catch POKéMON, you have\n" + .string "to go into the tall grass and search.$" + +Route101_Text_1EC0C8: @ 81EC0C8 + .string "ROUTE 101\n" + .string "{0x79} OLDALE TOWN$" + diff --git a/data/scripts/maps/Route102.inc b/data/scripts/maps/Route102.inc new file mode 100644 index 0000000000..ae82ea0b41 --- /dev/null +++ b/data/scripts/maps/Route102.inc @@ -0,0 +1,119 @@ +Route102_MapScripts:: @ 81EC0E0 + .byte 0 + +Route102_EventScript_1EC0E1:: @ 81EC0E1 + msgbox Route102_Text_1EC2C0, 2 + end + +Route102_EventScript_1EC0EA:: @ 81EC0EA + msgbox Route102_Text_1EC35B, 3 + end + +Route102_EventScript_1EC0F3:: @ 81EC0F3 + msgbox Route102_Text_1EC373, 3 + end + +Route102_EventScript_1EC0FC:: @ 81EC0FC + msgbox Route102_Text_1EC32E, 2 + end + +Route102_EventScript_1EC105:: @ 81EC105 + trainerbattle 2, TRAINER_CALVIN_1, 0, Route102_Text_294513, Route102_Text_29457C, Route102_EventScript_1EC146 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route102_EventScript_1EC19C + setvar VAR_0x8004, 318 + specialvar VAR_RESULT, sub_813B4E0 + compare VAR_RESULT, 0 + goto_eq Route102_EventScript_1EC170 + msgbox Route102_Text_2945AC, 4 + release + end + +Route102_EventScript_1EC146:: @ 81EC146 + special sub_80B4808 + waitmovement 0 + checkflag FLAG_HAS_MATCH_CALL + goto_eq Route102_EventScript_1EC157 + release + end + +Route102_EventScript_1EC157:: @ 81EC157 + msgbox Route102_Text_294668, 4 + setvar VAR_0x8004, 318 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 318 + callstd 8 + release + end + +Route102_EventScript_1EC170:: @ 81EC170 + checkflag FLAG_HAS_MATCH_CALL + goto_eq Route102_EventScript_1EC183 + msgbox Route102_Text_2945AC, 4 + release + end + +Route102_EventScript_1EC183:: @ 81EC183 + msgbox Route102_Text_2945EB, 4 + setvar VAR_0x8004, 318 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 318 + callstd 8 + release + end + +Route102_EventScript_1EC19C:: @ 81EC19C + trainerbattle 5, TRAINER_CALVIN_1, 0, Route102_Text_2946AE, Route102_Text_29470C + msgbox Route102_Text_29473C, 6 + end + +Route102_EventScript_1EC1B3:: @ 81EC1B3 + trainerbattle 0, TRAINER_RICK, 0, Route102_Text_29480C, Route102_Text_294847 + msgbox Route102_Text_294859, 6 + end + +Route102_EventScript_1EC1CA:: @ 81EC1CA + trainerbattle 0, TRAINER_TIANA, 0, Route102_Text_29489E, Route102_Text_2948F3 + msgbox Route102_Text_294916, 6 + end + +Route102_EventScript_1EC1E1:: @ 81EC1E1 + trainerbattle 0, TRAINER_ALLEN, 0, Route102_Text_294775, Route102_Text_2947AA + msgbox Route102_Text_2947DB, 6 + end + +PetalburgCity_Text_1EC1F8: @ 81EC1F8 + .string "WALLY: {PLAYER}…\n" + .string "POKéMON hide in tall grass like this,\l" + .string "don’t they?\p" + .string "Please watch me and see if I can\n" + .string "catch one properly.\p" + .string "…Whoa!$" + +PetalburgCity_Text_1EC271: @ 81EC271 + .string "WALLY: I did it… It’s my…\n" + .string "My POKéMON!$" + +PetalburgCity_Text_1EC297: @ 81EC297 + .string "{PLAYER}, thank you!\n" + .string "Let’s go back to the GYM!$" + +Route102_Text_1EC2C0: @ 81EC2C0 + .string "I’m…not very tall, so I sink right\n" + .string "into tall grass.\p" + .string "The grass goes up my nose and…\n" + .string "Fwafwafwafwafwa…\p" + .string "Fwatchoo!$" + +Route102_Text_1EC32E: @ 81EC32E + .string "I’m going to catch a whole bunch of\n" + .string "POKéMON!$" + +Route102_Text_1EC35B: @ 81EC35B + .string "ROUTE 102\n" + .string "{0x7C} OLDALE TOWN$" + +Route102_Text_1EC373: @ 81EC373 + .string "ROUTE 102\n" + .string "{0x7B} PETALBURG CITY$" diff --git a/data/scripts/maps/Route103.inc b/data/scripts/maps/Route103.inc new file mode 100644 index 0000000000..fa055a971d --- /dev/null +++ b/data/scripts/maps/Route103.inc @@ -0,0 +1,368 @@ +Route103_MapScripts:: @ 81EC38E + map_script 3, Route103_MapScript1_1EC399 + map_script 1, Route103_MapScript1_1EC3A4 + .byte 0 + +Route103_MapScript1_1EC399: @ 81EC399 + call Route103_EventScript_271ED7 + call Route103_EventScript_2720AD + end + +Route103_MapScript1_1EC3A4: @ 81EC3A4 + checkflag FLAG_SYS_GAME_CLEAR + call_if 1, Route103_EventScript_1EC3AE + end + +Route103_EventScript_1EC3AE:: @ 81EC3AE + setmetatile 45, 5, 159, 1 + setmetatile 45, 6, 167, 0 + return + +Route103_EventScript_1EC3C1:: @ 81EC3C1 + lockall + checkplayergender + compare VAR_RESULT, 0 + goto_eq Route103_EventScript_1EC3DA + compare VAR_RESULT, 1 + goto_eq Route103_EventScript_1EC434 + end + +Route103_EventScript_1EC3DA:: @ 81EC3DA + msgbox Route103_Text_1EC7A6, 4 + closemessage + playbgm MUS_GIRL_SUP, 1 + applymovement 2, Route103_Movement_27259E + waitmovement 0 + applymovement 2, Route103_Movement_272598 + waitmovement 0 + applymovement 2, Route103_Movement_27259A + waitmovement 0 + msgbox Route103_Text_1EC7DE, 4 + switch VAR_FIRST_POKE + case 0, Route103_EventScript_1EC48E + case 1, Route103_EventScript_1EC49E + case 2, Route103_EventScript_1EC4AE + end + +Route103_EventScript_1EC434:: @ 81EC434 + msgbox Route103_Text_1EC989, 4 + closemessage + playbgm MUS_BOY_SUP, 1 + applymovement 2, Route103_Movement_27259E + waitmovement 0 + applymovement 2, Route103_Movement_272598 + waitmovement 0 + applymovement 2, Route103_Movement_27259A + waitmovement 0 + msgbox Route103_Text_1EC9CE, 4 + switch VAR_FIRST_POKE + case 0, Route103_EventScript_1EC4BE + case 1, Route103_EventScript_1EC4CE + case 2, Route103_EventScript_1EC4DE + end + +Route103_EventScript_1EC48E:: @ 81EC48E + trainerbattle 3, TRAINER_MAY_4, 0, Route103_Text_1EC881 + goto Route103_EventScript_1EC4EE + end + +Route103_EventScript_1EC49E:: @ 81EC49E + trainerbattle 3, TRAINER_MAY_7, 0, Route103_Text_1EC881 + goto Route103_EventScript_1EC4EE + end + +Route103_EventScript_1EC4AE:: @ 81EC4AE + trainerbattle 3, TRAINER_MAY_1, 0, Route103_Text_1EC881 + goto Route103_EventScript_1EC4EE + end + +Route103_EventScript_1EC4BE:: @ 81EC4BE + trainerbattle 3, TRAINER_BRENDAN_4, 0, Route103_Text_1ECA59 + goto Route103_EventScript_1EC4FC + end + +Route103_EventScript_1EC4CE:: @ 81EC4CE + trainerbattle 3, TRAINER_BRENDAN_7, 0, Route103_Text_1ECA59 + goto Route103_EventScript_1EC4FC + end + +Route103_EventScript_1EC4DE:: @ 81EC4DE + trainerbattle 3, TRAINER_BRENDAN_1, 0, Route103_Text_1ECA59 + goto Route103_EventScript_1EC4FC + end + +Route103_EventScript_1EC4EE:: @ 81EC4EE + msgbox Route103_Text_1EC8AE, 4 + goto Route103_EventScript_1EC50A + end + +Route103_EventScript_1EC4FC:: @ 81EC4FC + msgbox Route103_Text_1ECA79, 4 + goto Route103_EventScript_1EC50A + end + +Route103_EventScript_1EC50A:: @ 81EC50A + closemessage + switch VAR_FACING + case 1, Route103_EventScript_1EC585 + case 2, Route103_EventScript_1EC53D + case 3, Route103_EventScript_1EC561 + case 4, Route103_EventScript_1EC561 + end + +Route103_EventScript_1EC53D:: @ 81EC53D + applymovement 255, Route103_Movement_1EC5C8 + applymovement 2, Route103_Movement_1EC5BE + waitmovement 0 + playse SE_DANSA + applymovement 2, Route103_Movement_1EC5C1 + waitmovement 0 + goto Route103_EventScript_1EC5A2 + end + +Route103_EventScript_1EC561:: @ 81EC561 + applymovement 255, Route103_Movement_1EC5D6 + applymovement 2, Route103_Movement_1EC5CE + waitmovement 0 + playse SE_DANSA + applymovement 2, Route103_Movement_1EC5D0 + waitmovement 0 + goto Route103_EventScript_1EC5A2 + end + +Route103_EventScript_1EC585:: @ 81EC585 + applymovement 2, Route103_Movement_1EC5CE + waitmovement 0 + playse SE_DANSA + applymovement 2, Route103_Movement_1EC5D0 + waitmovement 0 + goto Route103_EventScript_1EC5A2 + end + +Route103_EventScript_1EC5A2:: @ 81EC5A2 + removeobject 2 + setvar VAR_0x4084, 4 + clearflag FLAG_0x379 + setflag FLAG_0x082 + setvar VAR_0x40C7, 1 + clearflag FLAG_0x3D3 + savebgm MUS_DUMMY + fadedefaultbgm + releaseall + end + +Route103_Movement_1EC5BE: @ 81EC5BE + step_left + step_down + step_end + +Route103_Movement_1EC5C1: @ 81EC5C1 + fast_step_down + step_14 + step_down + step_down + step_down + step_down + step_end + +Route103_Movement_1EC5C8: @ 81EC5C8 + step_14 + step_12 + step_27 + step_14 + step_25 + step_end + +Route103_Movement_1EC5CE: @ 81EC5CE + step_down + step_end + +Route103_Movement_1EC5D0: @ 81EC5D0 + fast_step_down + step_14 + step_down + step_down + step_down + step_end + +Route103_Movement_1EC5D6: @ 81EC5D6 + step_14 + step_25 + step_end + +Route103_EventScript_1EC5D9:: @ 81EC5D9 + msgbox Route103_Text_1ECB73, 2 + end + +Route103_EventScript_1EC5E2:: @ 81EC5E2 + msgbox Route103_Text_1ECBB5, 2 + end + +Route103_EventScript_1EC5EB:: @ 81EC5EB + msgbox Route103_Text_1ECC1A, 3 + end + +Route103_EventScript_1EC5F4:: @ 81EC5F4 + trainerbattle 0, TRAINER_DAISY, 0, Route103_Text_29495A, Route103_Text_29498F + msgbox Route103_Text_2949B4, 6 + end + +Route103_EventScript_1EC60B:: @ 81EC60B + trainerbattle 6, TRAINER_AMY_AND_LIV_1, 0, Route103_Text_2949F9, Route103_Text_294A3D, Route103_Text_294AAE, Route103_EventScript_1EC63A + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route103_EventScript_1EC653 + msgbox Route103_Text_294A52, 6 + end + +Route103_EventScript_1EC63A:: @ 81EC63A + msgbox Route103_Text_294B8A, 4 + setvar VAR_0x8004, 481 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 481 + callstd 8 + release + end + +Route103_EventScript_1EC653:: @ 81EC653 + trainerbattle 7, TRAINER_AMY_AND_LIV_1, 0, Route103_Text_294C29, Route103_Text_294C6D, Route103_Text_294CEF + msgbox Route103_Text_294C93, 6 + end + +Route103_EventScript_1EC66E:: @ 81EC66E + trainerbattle 6, TRAINER_AMY_AND_LIV_1, 0, Route103_Text_294AFD, Route103_Text_294B22, Route103_Text_294BD0, Route103_EventScript_1EC69D + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route103_EventScript_1EC6B6 + msgbox Route103_Text_294B40, 6 + end + +Route103_EventScript_1EC69D:: @ 81EC69D + msgbox Route103_Text_294B8A, 4 + setvar VAR_0x8004, 481 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 481 + callstd 8 + release + end + +Route103_EventScript_1EC6B6:: @ 81EC6B6 + trainerbattle 7, TRAINER_AMY_AND_LIV_1, 0, Route103_Text_294D3E, Route103_Text_294D63, Route103_Text_294DDB + msgbox Route103_Text_294D89, 6 + end + +Route103_EventScript_1EC6D1:: @ 81EC6D1 + trainerbattle 0, TRAINER_ANDREW, 0, Route103_Text_294E34, Route103_Text_294E92 + msgbox Route103_Text_294EBB, 6 + end + +Route103_EventScript_1EC6E8:: @ 81EC6E8 + trainerbattle 2, TRAINER_MIGUEL_1, 0, Route103_Text_294EDF, Route103_Text_294F21, Route103_EventScript_1EC714 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route103_EventScript_1EC733 + msgbox Route103_Text_294F42, 4 + release + end + +Route103_EventScript_1EC714:: @ 81EC714 + special sub_80B4808 + waitmovement 0 + msgbox Route103_Text_294F7E, 4 + setvar VAR_0x8004, 293 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 293 + callstd 8 + release + end + +Route103_EventScript_1EC733:: @ 81EC733 + trainerbattle 5, TRAINER_MIGUEL_1, 0, Route103_Text_294FC3, Route103_Text_295006 + msgbox Route103_Text_29501E, 6 + end + +Route103_EventScript_1EC74A:: @ 81EC74A + trainerbattle 0, TRAINER_MARCOS, 0, Route103_Text_295206, Route103_Text_29522B + msgbox Route103_Text_295246, 6 + end + +Route103_EventScript_1EC761:: @ 81EC761 + trainerbattle 0, TRAINER_RHETT, 0, Route103_Text_295199, Route103_Text_2951C6 + msgbox Route103_Text_2951DE, 6 + end + +Route103_EventScript_1EC778:: @ 81EC778 + trainerbattle 0, TRAINER_PETE, 0, Route103_Text_295063, Route103_Text_295093 + msgbox Route103_Text_2950AA, 6 + end + +Route103_EventScript_1EC78F:: @ 81EC78F + trainerbattle 0, TRAINER_ISABELLE, 0, Route103_Text_295116, Route103_Text_295146 + msgbox Route103_Text_29514D, 6 + end + +Route103_Text_1EC7A6: @ 81EC7A6 + .string "MAY: Let’s see… The POKéMON found\n" + .string "on ROUTE 103 include…$" + +Route103_Text_1EC7DE: @ 81EC7DE + .string "Oh, hi, {PLAYER}{KUN}!\p" + .string "…Oh, I see, my dad gave you\n" + .string "a POKéMON as a gift.\p" + .string "Since we’re here, let’s have a quick\n" + .string "battle!\p" + .string "I’ll give you a taste of what being\n" + .string "a TRAINER is like.$" + +Route103_Text_1EC881: @ 81EC881 + .string "Wow! That’s great!\n" + .string "{PLAYER}{KUN}, you’re pretty good!$" + +Route103_Text_1EC8AE: @ 81EC8AE + .string "MAY: I think I know why my dad has\n" + .string "an eye out for you now.\p" + .string "I mean, you just got that POKéMON,\n" + .string "but it already likes you.\p" + .string "You might be able to befriend any\n" + .string "kind of POKéMON easily.\p" + .string "Well, it’s time to head back to\n" + .string "the LAB.$" + +Route103_Text_1EC989: @ 81EC989 + .string "BRENDAN: Okay, so it’s this one and\n" + .string "that one that live on ROUTE 103…$" + +Route103_Text_1EC9CE: @ 81EC9CE + .string "Hey, it’s {PLAYER}!\p" + .string "…Oh, yeah, Dad gave you a POKéMON.\p" + .string "Since we’re here, how about a little\n" + .string "battle?\p" + .string "I’ll teach you what being a TRAINER’s\n" + .string "about!$" + +Route103_Text_1ECA59: @ 81ECA59 + .string "Huh, {PLAYER}, you’re not too shabby.$" + +Route103_Text_1ECA79: @ 81ECA79 + .string "BRENDAN: I think I get it.\n" + .string "I think I know why my dad has his eye\l" + .string "out for you now.\p" + .string "Look, your POKéMON already likes you,\n" + .string "even though you just got it.\p" + .string "{PLAYER}, I get the feeling that you\n" + .string "could befriend any POKéMON with ease.\p" + .string "We should head back to the LAB.$" + +Route103_Text_1ECB73: @ 81ECB73 + .string "My POKéMON is staggeringly tired…\n" + .string "I should have brought a POTION…$" + +Route103_Text_1ECBB5: @ 81ECBB5 + .string "If you cross the sea from here,\n" + .string "it’ll be a shortcut to OLDALE TOWN.\p" + .string "Fufufu, that’s useful, isn’t it?$" + +Route103_Text_1ECC1A: @ 81ECC1A + .string "ROUTE 103\n" + .string "{0x7A} OLDALE TOWN$" + diff --git a/data/scripts/maps/Route104.inc b/data/scripts/maps/Route104.inc new file mode 100644 index 0000000000..e672b7ad25 --- /dev/null +++ b/data/scripts/maps/Route104.inc @@ -0,0 +1,1227 @@ +Route104_MapScripts:: @ 81ECC32 + map_script 2, Route104_MapScript2_1ECC3D + map_script 3, Route104_MapScript1_1ECC4E + .byte 0 + +Route104_MapScript2_1ECC3D: @ 81ECC3D + map_script_2 VAR_0x408E, 1, Route104_EventScript_1ECC47 + .2byte 0 + +Route104_EventScript_1ECC47:: @ 81ECC47 + lockall + goto Route104_EventScript_1ED099 + end + +Route104_MapScript1_1ECC4E: @ 81ECC4E + call Route104_EventScript_271ED7 + call Route104_EventScript_1ECC78 + call Route104_EventScript_1ECC5E + end + +Route104_EventScript_1ECC5E:: @ 81ECC5E + checkflag FLAG_0x07F + goto_if 0, Route104_EventScript_1ECC74 + checkflag FLAG_BADGE03_GET + goto_if 0, Route104_EventScript_1ECC74 + clearflag FLAG_0x38A + return + +Route104_EventScript_1ECC74:: @ 81ECC74 + setflag FLAG_0x38A + return + +Route104_EventScript_1ECC78:: @ 81ECC78 + compare VAR_0x408E, 1 + goto_if 4, Route104_EventScript_1ECC9D + checkflag FLAG_0x120 + goto_eq Route104_EventScript_1ECC9D + checkflag FLAG_0x07C + goto_if 0, Route104_EventScript_1ECC9D + setobjectxyperm 34, 17, 52 + return + +Route104_EventScript_1ECC9D:: @ 81ECC9D + return + +Route104_EventScript_1ECC9E:: @ 81ECC9E + lockall + setvar VAR_0x8008, 1 + applymovement 34, Route104_Movement_27259E + waitmovement 0 + goto Route104_EventScript_1ECD33 + +Route104_EventScript_1ECCB3:: @ 81ECCB3 + lockall + setflag FLAG_0x32E + setvar VAR_0x405A, 8 + setvar VAR_0x4063, 2 + applymovement 255, Route104_Movement_2725A6 + waitmovement 0 + delay 10 + addobject 34 + clearflag FLAG_0x2CF + applymovement 255, Route104_Movement_1ECF86 + waitmovement 0 + applymovement 34, Route104_Movement_1ECF8A + waitmovement 0 + delay 20 + setvar VAR_0x8008, 0 + call Route104_EventScript_1E0DD1 + playse SE_PIN + applymovement 34, Route104_Movement_272598 + waitmovement 0 + applymovement 34, Route104_Movement_27259A + waitmovement 0 + goto Route104_EventScript_1ECD33 + +Route104_EventScript_1ECD11:: @ 81ECD11 + checkplayergender + compare VAR_RESULT, 0 + goto_eq Route104_EventScript_1ECD29 + compare VAR_RESULT, 1 + goto_eq Route104_EventScript_1ECD2E + return + +Route104_EventScript_1ECD29:: @ 81ECD29 + playbgm MUS_GIRL_SUP, 1 + return + +Route104_EventScript_1ECD2E:: @ 81ECD2E + playbgm MUS_BOY_SUP, 1 + return + +Route104_EventScript_1ECD33:: @ 81ECD33 + checkplayergender + compare VAR_RESULT, 0 + goto_eq Route104_EventScript_1ECD4B + compare VAR_RESULT, 1 + goto_eq Route104_EventScript_1ECE6F + end + +Route104_EventScript_1ECD4B:: @ 81ECD4B + checkflag FLAG_0x07D + goto_eq Route104_EventScript_1ECE1C + checkflag FLAG_0x07C + goto_eq Route104_EventScript_1ECDD0 + setflag FLAG_0x07C + msgbox Route104_Text_1EDBFF, 4 + closemessage + delay 30 + playfanfare MUS_ME_TORE_EYE + msgbox Route104_Text_1EDC8F, 4 + waitfanfare + closemessage + delay 30 + setflag FLAG_0x0FD + applymovement 255, Route104_Movement_1ECDCD + applymovement 34, Route104_Movement_1ECDC8 + msgbox Route104_Text_1EDCB1, 4 + closemessage + waitmovement 0 + applymovement 34, Route104_Movement_1ECDCA + waitmovement 0 + moveobjectoffscreen 34 + msgbox Route104_Text_1EDCED, 5 + compare VAR_RESULT, 1 + goto_eq Route104_EventScript_1ECDED + msgbox Route104_Text_1EDD2A, 4 + call Route104_EventScript_1ECE31 + releaseall + end + +Route104_Movement_1ECDC8: @ 81ECDC8 + slow_step_left + step_end + +Route104_Movement_1ECDCA: @ 81ECDCA + step_down + step_03 + step_end + +Route104_Movement_1ECDCD: @ 81ECDCD + step_12 + step_27 + step_end + +Route104_EventScript_1ECDD0:: @ 81ECDD0 + msgbox Route104_Text_1EDD9F, 5 + compare VAR_RESULT, 1 + goto_eq Route104_EventScript_1ECDED + msgbox Route104_Text_1EDD2A, 4 + releaseall + end + +Route104_EventScript_1ECDED:: @ 81ECDED + msgbox Route104_Text_1EDDDB, 4 + switch VAR_FIRST_POKE + case 0, Route104_EventScript_1ECE36 + case 1, Route104_EventScript_1ECE49 + case 2, Route104_EventScript_1ECE5C + end + +Route104_EventScript_1ECE1C:: @ 81ECE1C + msgbox Route104_Text_1EDE3E, 4 + compare VAR_0x8008, 0 + call_if 1, Route104_EventScript_1ECE31 + releaseall + end + +Route104_EventScript_1ECE31:: @ 81ECE31 + savebgm MUS_DUMMY + fadedefaultbgm + return + +Route104_EventScript_1ECE36:: @ 81ECE36 + trainerbattle 3, TRAINER_MAY_14, 0, Route104_Text_1EDE18 + setflag FLAG_0x07D + goto Route104_EventScript_1ECE1C + end + +Route104_EventScript_1ECE49:: @ 81ECE49 + trainerbattle 3, TRAINER_MAY_15, 0, Route104_Text_1EDE18 + setflag FLAG_0x07D + goto Route104_EventScript_1ECE1C + end + +Route104_EventScript_1ECE5C:: @ 81ECE5C + trainerbattle 3, TRAINER_MAY_10, 0, Route104_Text_1EDE18 + setflag FLAG_0x07D + goto Route104_EventScript_1ECE1C + end + +Route104_EventScript_1ECE6F:: @ 81ECE6F + checkflag FLAG_0x07D + goto_eq Route104_EventScript_1ECF38 + checkflag FLAG_0x07C + goto_eq Route104_EventScript_1ECEEC + setflag FLAG_0x07C + msgbox Route104_Text_1EDF04, 4 + closemessage + delay 30 + playfanfare MUS_ME_TORE_EYE + msgbox Route104_Text_1EDFA0, 4 + waitfanfare + closemessage + delay 30 + setflag FLAG_0x0FD + applymovement 255, Route104_Movement_1ECDCD + applymovement 34, Route104_Movement_1ECDC8 + msgbox Route104_Text_1EDFC6, 4 + closemessage + waitmovement 0 + applymovement 34, Route104_Movement_1ECDCA + waitmovement 0 + moveobjectoffscreen 34 + msgbox Route104_Text_1EE009, 5 + compare VAR_RESULT, 1 + goto_eq Route104_EventScript_1ECF09 + msgbox Route104_Text_1EE04D, 4 + call Route104_EventScript_1ECE31 + releaseall + end + +Route104_EventScript_1ECEEC:: @ 81ECEEC + msgbox Route104_Text_1EE094, 5 + compare VAR_RESULT, 1 + goto_eq Route104_EventScript_1ECF09 + msgbox Route104_Text_1EE04D, 4 + releaseall + end + +Route104_EventScript_1ECF09:: @ 81ECF09 + msgbox Route104_Text_1EE0C7, 4 + switch VAR_FIRST_POKE + case 0, Route104_EventScript_1ECF4D + case 1, Route104_EventScript_1ECF60 + case 2, Route104_EventScript_1ECF73 + end + +Route104_EventScript_1ECF38:: @ 81ECF38 + msgbox Route104_Text_1EE120, 4 + compare VAR_0x8008, 0 + call_if 1, Route104_EventScript_1ECE31 + releaseall + end + +Route104_EventScript_1ECF4D:: @ 81ECF4D + trainerbattle 3, TRAINER_BRENDAN_10, 0, Route104_Text_1EE107 + setflag FLAG_0x07D + goto Route104_EventScript_1ECF38 + end + +Route104_EventScript_1ECF60:: @ 81ECF60 + trainerbattle 3, TRAINER_BRENDAN_12, 0, Route104_Text_1EE107 + setflag FLAG_0x07D + goto Route104_EventScript_1ECF38 + end + +Route104_EventScript_1ECF73:: @ 81ECF73 + trainerbattle 3, TRAINER_BRENDAN_11, 0, Route104_Text_1EE107 + setflag FLAG_0x07D + goto Route104_EventScript_1ECF38 + end + +Route104_Movement_1ECF86: @ 81ECF86 + step_40 + step_down + step_41 + step_end + +Route104_Movement_1ECF8A: @ 81ECF8A + step_down + step_end + +Route104_EventScript_1ECF8C:: @ 81ECF8C + lock + faceplayer + checkflag FLAG_0x0F6 + goto_eq Route104_EventScript_1ECFC3 + msgbox Route104_Text_2A6D86, 4 + giveitem_std ITEM_CHESTO_BERRY + compare VAR_RESULT, 0 + goto_eq Route104_EventScript_272054 + setflag FLAG_0x0F6 + msgbox Route104_Text_2A6E32, 4 + release + end + +Route104_EventScript_1ECFC3:: @ 81ECFC3 + msgbox Route104_Text_2A6E32, 4 + release + end + +Route104_EventScript_1ECFCD:: @ 81ECFCD + lock + faceplayer + checkflag FLAG_0x117 + goto_eq Route104_EventScript_1ECFFC + msgbox Route104_Text_1ED96A, 4 + giveitem_std ITEM_WHITE_HERB + compare VAR_RESULT, 0 + goto_eq Route104_EventScript_272054 + setflag FLAG_0x117 + release + end + +Route104_EventScript_1ECFFC:: @ 81ECFFC + msgbox Route104_Text_1EDA0F, 4 + release + end + +Route104_EventScript_1ED006:: @ 81ED006 + msgbox Route104_Text_1ED5EC, 2 + end + +Route104_EventScript_1ED00F:: @ 81ED00F + msgbox Route104_Text_1ED662, 3 + end + +Route104_EventScript_1ED018:: @ 81ED018 + msgbox Route104_Text_1EDA8C, 3 + end + +Route104_EventScript_1ED021:: @ 81ED021 + msgbox Route104_Text_1EDAA1, 3 + end + +Route104_EventScript_1ED02A:: @ 81ED02A + msgbox Route104_Text_1EDABC, 3 + end + +Route104_EventScript_1ED033:: @ 81ED033 + msgbox Route104_Text_1EDAD6, 3 + end + +Route104_EventScript_1ED03C:: @ 81ED03C + msgbox Route104_Text_1EDAEF, 3 + end + +Route104_EventScript_1ED045:: @ 81ED045 + msgbox Route104_Text_1ED6A2, 2 + end + +Route104_EventScript_1ED04E:: @ 81ED04E + msgbox Route104_Text_1ED735, 2 + end + +Route104_EventScript_1ED057:: @ 81ED057 + lock + faceplayer + checkflag FLAG_0x106 + goto_eq Route104_EventScript_1ED086 + msgbox Route104_Text_1ED838, 4 + giveitem_std ITEM_TM09 + compare VAR_RESULT, 0 + goto_eq Route104_EventScript_272054 + setflag FLAG_0x106 + release + end + +Route104_EventScript_1ED086:: @ 81ED086 + msgbox Route104_Text_1ED8E7, 4 + release + end + +Route104_EventScript_1ED090:: @ 81ED090 + msgbox Route104_Text_1ED7A2, 2 + end + +Route104_EventScript_1ED099:: @ 81ED099 + setobjectpriority 8, ROUTE_104, 0 + setobjectpriority 255, ROUTE_104, 0 + applymovement 8, Route104_Movement_1ED359 + waitmovement 0 + removeobject 8 + applymovement 255, Route104_Movement_1ED34F + waitmovement 0 + hideobjectat 255, ROUTE_104 + call Route104_EventScript_2720A0 + checkflag FLAG_0x132 + goto_eq Route104_EventScript_1ED0D9 + checkflag FLAG_0x132 + goto_if 0, Route104_EventScript_1ED0EF + end + +Route104_EventScript_1ED0D9:: @ 81ED0D9 + applymovement 7, Route104_Movement_1ED28C + applymovement 255, Route104_Movement_1ED28C + waitmovement 0 + goto Route104_EventScript_1ED139 + +Route104_EventScript_1ED0EF:: @ 81ED0EF + applymovement 7, Route104_Movement_1ED1C8 + applymovement 255, Route104_Movement_1ED1C8 + waitmovement 0 + pokenavcall Route104_Text_1EE336 + waitmessage + delay 30 + playfanfare MUS_ME_TORE_EYE + msgbox Route104_Text_1EE463, 4 + waitfanfare + closemessage + delay 30 + setflag FLAG_0x132 + applymovement 255, Route104_Movement_1ED22A + applymovement 7, Route104_Movement_1ED22A, ROUTE_104 + waitmovement 7, ROUTE_104 + waitmovement 0 + goto Route104_EventScript_1ED139 + +Route104_EventScript_1ED139:: @ 81ED139 + delay 50 + applymovement 255, Route104_Movement_1ED353 + waitmovement 0 + call Route104_EventScript_2720A8 + showobjectat 255, DEWFORD_TOWN + applymovement 255, Route104_Movement_1ED355 + waitmovement 0 + setobjectxyperm 2, 12, 8 + addobject 2 + setobjectpriority 2, DEWFORD_TOWN, 0 + clearflag FLAG_0x2E4 + applymovement 2, Route104_Movement_1ED35C + waitmovement 0 + addobject 4 + clearflag FLAG_0x2E7 + call Route104_EventScript_2720A8 + setflag FLAG_0x2E6 + hideobjectat 7, ROUTE_104 + copyvar VAR_0x4096, VAR_0x8008 + resetobjectpriority 255, ROUTE_104 + resetobjectpriority 2, DEWFORD_TOWN + moveobjectoffscreen 2 + setvar VAR_0x408E, 0 + checkflag FLAG_0x0BD + goto_if 0, Route104_EventScript_1ED1B4 + checkflag FLAG_0x0BD + goto_eq Route104_EventScript_1ED1BE + end + +Route104_EventScript_1ED1B4:: @ 81ED1B4 + msgbox Route104_Text_1E9AAF, 4 + releaseall + end + +Route104_EventScript_1ED1BE:: @ 81ED1BE + msgbox Route104_Text_1E9C1D, 4 + releaseall + end + +Route104_Movement_1ED1C8: @ 81ED1C8 + step_down + step_down + step_down + step_down + step_15 + step_15 + step_15 + step_15 + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_15 + step_15 + step_15 + step_15 + step_18 + step_18 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_18 + step_18 + step_15 + step_15 + step_15 + step_15 + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_end + +Route104_Movement_1ED22A: @ 81ED22A + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_15 + step_15 + step_15 + step_15 + step_18 + step_18 + step_18 + step_18 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_18 + step_18 + step_18 + step_18 + step_right + step_right + step_down + step_down + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_down + step_down + step_end + +Route104_Movement_1ED28C: @ 81ED28C + step_down + step_down + step_down + step_down + step_15 + step_15 + step_15 + step_15 + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_15 + step_15 + step_15 + step_15 + step_18 + step_18 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_18 + step_18 + step_15 + step_15 + step_15 + step_15 + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_15 + step_15 + step_15 + step_15 + step_18 + step_18 + step_18 + step_18 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_30 + step_18 + step_18 + step_18 + step_18 + step_right + step_right + step_down + step_down + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_down + step_down + step_end + +Route104_Movement_1ED34F: @ 81ED34F + step_left + step_down + step_down + step_end + +Route104_Movement_1ED353: @ 81ED353 + step_down + step_end + +Route104_Movement_1ED355: @ 81ED355 + step_down + step_left + step_28 + step_end + +Route104_Movement_1ED359: @ 81ED359 + step_down + step_down + step_end + +Route104_Movement_1ED35C: @ 81ED35C + step_down + step_27 + step_end + +Route104_EventScript_1ED35F:: @ 81ED35F + trainerbattle 0, TRAINER_IVAN, 0, Route104_Text_2954BD, Route104_Text_295509 + msgbox Route104_Text_29554E, 6 + end + +Route104_EventScript_1ED376:: @ 81ED376 + trainerbattle 0, TRAINER_BILLY, 0, Route104_Text_29558A, Route104_Text_2955B4 + msgbox Route104_Text_2955E8, 6 + end + +Route104_EventScript_1ED38D:: @ 81ED38D + trainerbattle 2, TRAINER_HALEY_1, 0, Route104_Text_29563A, Route104_Text_29566F, Route104_EventScript_1ED3CE + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route104_EventScript_1ED424 + setvar VAR_0x8004, 604 + specialvar VAR_RESULT, sub_813B4E0 + compare VAR_RESULT, 0 + goto_eq Route104_EventScript_1ED3F8 + msgbox Route104_Text_295689, 4 + release + end + +Route104_EventScript_1ED3CE:: @ 81ED3CE + special sub_80B4808 + waitmovement 0 + checkflag FLAG_HAS_MATCH_CALL + goto_eq Route104_EventScript_1ED3DF + release + end + +Route104_EventScript_1ED3DF:: @ 81ED3DF + msgbox Route104_Text_29576B, 4 + setvar VAR_0x8004, 604 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 604 + callstd 8 + release + end + +Route104_EventScript_1ED3F8:: @ 81ED3F8 + checkflag FLAG_HAS_MATCH_CALL + goto_eq Route104_EventScript_1ED40B + msgbox Route104_Text_295689, 4 + release + end + +Route104_EventScript_1ED40B:: @ 81ED40B + msgbox Route104_Text_2956FF, 4 + setvar VAR_0x8004, 604 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 604 + callstd 8 + release + end + +Route104_EventScript_1ED424:: @ 81ED424 + trainerbattle 5, TRAINER_HALEY_1, 0, Route104_Text_2957D7, Route104_Text_2957F0 + msgbox Route104_Text_29580C, 6 + end + +Route104_EventScript_1ED43B:: @ 81ED43B + trainerbattle 2, TRAINER_WINSTON_1, 0, Route104_Text_295870, Route104_Text_2958AD, Route104_EventScript_1ED47C + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route104_EventScript_1ED4D2 + setvar VAR_0x8004, 136 + specialvar VAR_RESULT, sub_813B4E0 + compare VAR_RESULT, 0 + goto_eq Route104_EventScript_1ED4A6 + msgbox Route104_Text_2958C1, 4 + release + end + +Route104_EventScript_1ED47C:: @ 81ED47C + special sub_80B4808 + waitmovement 0 + checkflag FLAG_HAS_MATCH_CALL + goto_eq Route104_EventScript_1ED48D + release + end + +Route104_EventScript_1ED48D:: @ 81ED48D + msgbox Route104_Text_29595A, 4 + setvar VAR_0x8004, 136 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 136 + callstd 8 + release + end + +Route104_EventScript_1ED4A6:: @ 81ED4A6 + checkflag FLAG_HAS_MATCH_CALL + goto_eq Route104_EventScript_1ED4B9 + msgbox Route104_Text_2958C1, 4 + release + end + +Route104_EventScript_1ED4B9:: @ 81ED4B9 + msgbox Route104_Text_2958F8, 4 + setvar VAR_0x8004, 136 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 136 + callstd 8 + release + end + +Route104_EventScript_1ED4D2:: @ 81ED4D2 + trainerbattle 5, TRAINER_WINSTON_1, 0, Route104_Text_2959BC, Route104_Text_2959FC + msgbox Route104_Text_295A1E, 6 + end + +Route104_EventScript_1ED4E9:: @ 81ED4E9 + trainerbattle 2, TRAINER_CINDY_1, 0, Route104_Text_295A7E, Route104_Text_295ABB, Route104_EventScript_1ED52A + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route104_EventScript_1ED580 + setvar VAR_0x8004, 114 + specialvar VAR_RESULT, sub_813B4E0 + compare VAR_RESULT, 0 + goto_eq Route104_EventScript_1ED554 + msgbox Route104_Text_295AC3, 4 + release + end + +Route104_EventScript_1ED52A:: @ 81ED52A + special sub_80B4808 + waitmovement 0 + checkflag FLAG_HAS_MATCH_CALL + goto_eq Route104_EventScript_1ED53B + release + end + +Route104_EventScript_1ED53B:: @ 81ED53B + msgbox Route104_Text_295B60, 4 + setvar VAR_0x8004, 114 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 114 + callstd 8 + release + end + +Route104_EventScript_1ED554:: @ 81ED554 + checkflag FLAG_HAS_MATCH_CALL + goto_eq Route104_EventScript_1ED567 + msgbox Route104_Text_295AC3, 4 + release + end + +Route104_EventScript_1ED567:: @ 81ED567 + msgbox Route104_Text_295B01, 4 + setvar VAR_0x8004, 114 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 114 + callstd 8 + release + end + +Route104_EventScript_1ED580:: @ 81ED580 + trainerbattle 5, TRAINER_CINDY_1, 0, Route104_Text_295BC8, Route104_Text_295BFA + msgbox Route104_Text_295C1F, 6 + end + +Route104_EventScript_1ED597:: @ 81ED597 + trainerbattle 4, TRAINER_GINA_AND_MIA_1, 0, Route104_Text_2952BB, Route104_Text_2952E6, Route104_Text_295330 + special GetPlayerBigGuyGirlString + msgbox Route104_Text_2952FE, 4 + release + end + +Route104_EventScript_1ED5B6:: @ 81ED5B6 + trainerbattle 4, TRAINER_GINA_AND_MIA_1, 0, Route104_Text_2953AF, Route104_Text_2953E1, Route104_Text_295449 + special GetPlayerBigGuyGirlString + msgbox Route104_Text_29540D, 4 + release + end + +Route104_EventScript_1ED5D5:: @ 81ED5D5 + trainerbattle 0, TRAINER_DARIAN, 0, Route104_Text_295C5D, Route104_Text_295CC9 + msgbox Route104_Text_295CD3, 6 + end + +Route104_Text_1ED5EC: @ 81ED5EC + .string "That seaside cottage is where\n" + .string "MR. BRINEY lives.\p" + .string "He was once a mighty sailor who never\n" + .string "feared the sea, however stormy.$" + +Route104_Text_1ED662: @ 81ED662 + .string "The sea, huh?\p" + .string "I wonder what it’s like at the bottom\n" + .string "of the sea?$" + +Route104_Text_1ED6A2: @ 81ED6A2 + .string "If you’re going to throw a POKé BALL,\n" + .string "weaken the wild POKéMON first.\p" + .string "It will be easier to catch if it’s been\n" + .string "poisoned, burned, or lulled to sleep.$" + +Route104_Text_1ED735: @ 81ED735 + .string "You’re a thief if you try to steal\n" + .string "someone else’s POKéMON.\p" + .string "You should throw POKé BALLS only at\n" + .string "wild POKéMON.$" + +Route104_Text_1ED7A2: @ 81ED7A2 + .string "Oh, no, I’m not a TRAINER.\p" + .string "But that’s right, if TRAINERS lock eyes,\n" + .string "it’s a challenge to battle.\p" + .string "If you don’t want to battle, stay out\n" + .string "of their sight.$" + +Route104_Text_1ED838: @ 81ED838 + .string "I like filling my mouth with seeds,\n" + .string "then spitting them out fast!\p" + .string "You can have this, so you try it out!\p" + .string "Use it on a POKéMON, and it will learn\n" + .string "a move for firing seeds rapidly.$" + +Route104_Text_1ED8E7: @ 81ED8E7 + .string "A word of advice!\p" + .string "A TM, TECHNICAL MACHINE, is good only\n" + .string "for one-time use.\p" + .string "Once you use it, it’s gone.\n" + .string "Think twice before using it!$" + +Route104_Text_1ED96A: @ 81ED96A + .string "This FLOWER SHOP started selling\n" + .string "saplings recently.\p" + .string "It made me so happy, I went overboard\n" + .string "shopping.\p" + .string "I don’t need this WHITE HERB anymore.\n" + .string "Would you take it, please?$" + +Route104_Text_1EDA0F: @ 81EDA0F + .string "This FLOWER SHOP started selling\n" + .string "saplings recently.\p" + .string "It made me so happy, I went overboard\n" + .string "shopping. Where should I put them?$" + +Route104_Text_1EDA8C: @ 81EDA8C + .string "MR. BRINEY’S COTTAGE$" + +Route104_Text_1EDAA1: @ 81EDAA1 + .string "ROUTE 1O4\n" + .string "{0x7C} PETALBURG CITY$" + +Route104_Text_1EDABC: @ 81EDABC + .string "ROUTE 1O4\n" + .string "{0x79} RUSTBORO CITY$" + +Route104_Text_1EDAD6: @ 81EDAD6 + .string "PRETTY PETAL FLOWER SHOP$" + +Route104_Text_1EDAEF: @ 81EDAEF + .string "TRAINER TIPS\p" + .string "In the HOENN region there are pairs\n" + .string "of TRAINERS who challenge others\l" + .string "for 2-on-2 POKéMON battles called\l" + .string "DOUBLE BATTLES.\p" + .string "In a DOUBLE BATTLE, the TRAINER must\n" + .string "send out two POKéMON, the one at the\l" + .string "left of the list and the top one.\l" + .string "Watch how POKéMON are lined up.$" + +Route104_Text_1EDBFF: @ 81EDBFF + .string "MAY: Oh, hi, {PLAYER}{KUN}!\p" + .string "DEVON upgraded your POKéNAV with\n" + .string "the MATCH CALL system, huh?\p" + .string "We should register each other so we\n" + .string "can get in contact anytime.$" + +Route104_Text_1EDC8F: @ 81EDC8F + .string "{PLAYER} registered MAY\n" + .string "in the POKéNAV.$" + +Route104_Text_1EDCB1: @ 81EDCB1 + .string "MAY: Oh, by the way, {PLAYER}{KUN},\n" + .string "how’s your POKéDEX coming along?$" + +Route104_Text_1EDCED: @ 81EDCED + .string "Mine’s looking pretty decent.\n" + .string "So…\l" + .string "How about a little battle?$" + +Route104_Text_1EDD2A: @ 81EDD2A + .string "MAY: Oh, what’s the matter?\p" + .string "Haven’t you caught or raised your\n" + .string "POKéMON very much?\p" + .string "That’s not very good for a TRAINER!$" + +Route104_Text_1EDD9F: @ 81EDD9F + .string "MAY: So, what do you think?\n" + .string "How about a little battle here?$" + +Route104_Text_1EDDDB: @ 81EDDDB + .string "MAY: You just became a TRAINER,\n" + .string "{PLAYER}{KUN}. I’m not going to lose!$" + +Route104_Text_1EDE18: @ 81EDE18 + .string "Yikes!\n" + .string "You’re better than I expected!$" + +Route104_Text_1EDE3E: @ 81EDE3E + .string "MAY: I can tell you’ve gotten pretty\n" + .string "good with the way you handle POKéMON.\p" + .string "But instead of only making them\n" + .string "battle, you should be like MR. BRINEY.\p" + .string "It’s important to become friends with\n" + .string "POKéMON, too.$" + +Route104_Text_1EDF04: @ 81EDF04 + .string "BRENDAN: Oh, hey, {PLAYER}!\p" + .string "Cool, you had DEVON install the MATCH\n" + .string "CALL system on your POKéNAV!\p" + .string "Let’s register each other in our\n" + .string "POKéNAVS so we can keep in touch.$" + +Route104_Text_1EDFA0: @ 81EDFA0 + .string "{PLAYER} registered BRENDAN\n" + .string "in the POKéNAV.$" + +Route104_Text_1EDFC6: @ 81EDFC6 + .string "BRENDAN: {PLAYER}, how’s your POKéDEX?\n" + .string "Have you filled in any pages yet?$" + +Route104_Text_1EE009: @ 81EE009 + .string "Me, I’m doing great!\p" + .string "Want to check out how good I am with\n" + .string "a battle?$" + +Route104_Text_1EE04D: @ 81EE04D + .string "BRENDAN: What’s the matter? Don’t have\n" + .string "any confidence in your POKéMON?$" + +Route104_Text_1EE094: @ 81EE094 + .string "BRENDAN: What’s up?\n" + .string "Want to have a battle with me?$" + +Route104_Text_1EE0C7: @ 81EE0C7 + .string "BRENDAN: I know you just became\n" + .string "a TRAINER, but I won’t go easy!$" + +Route104_Text_1EE107: @ 81EE107 + .string "Hmm…\n" + .string "You’re pretty good.$" + +Route104_Text_1EE120: @ 81EE120 + .string "BRENDAN: You’ve gotten pretty decent\n" + .string "at handling POKéMON.\p" + .string "But, you know, you shouldn’t just be\n" + .string "making POKéMON battle.\p" + .string "Like MR. BRINEY, it’s important to\n" + .string "become friends with your POKéMON.$" + diff --git a/data/scripts/maps/Route104_MrBrineysHouse.inc b/data/scripts/maps/Route104_MrBrineysHouse.inc new file mode 100644 index 0000000000..c0c3888e1b --- /dev/null +++ b/data/scripts/maps/Route104_MrBrineysHouse.inc @@ -0,0 +1,166 @@ +Route104_MrBrineysHouse_MapScripts:: @ 8229D2E + map_script 3, Route104_MrBrineysHouse_MapScript1_229D34 + .byte 0 + +Route104_MrBrineysHouse_MapScript1_229D34: @ 8229D34 + setflag FLAG_LANDMARK_MR_BRINEY_HOUSE + compare VAR_0x4090, 1 + call_if 1, Route104_MrBrineysHouse_EventScript_229D50 + checkflag FLAG_0x0BC + call_if 1, Route104_MrBrineysHouse_EventScript_229D4C + end + +Route104_MrBrineysHouse_EventScript_229D4C:: @ 8229D4C + setflag FLAG_0x32E + return + +Route104_MrBrineysHouse_EventScript_229D50:: @ 8229D50 + setobjectxyperm 1, 9, 3 + setobjectmovementtype 1, 50 + setobjectxyperm 2, 9, 6 + setobjectmovementtype 2, 51 + return + +Route104_MrBrineysHouse_EventScript_229D67:: @ 8229D67 + lock + faceplayer + checkflag FLAG_0x093 + call_if 0, Route104_MrBrineysHouse_EventScript_229D8A + checkflag FLAG_0x0BD + goto_if 0, Route104_MrBrineysHouse_EventScript_229DE1 + checkflag FLAG_0x095 + goto_if 0, Route104_MrBrineysHouse_EventScript_229DFA + goto Route104_MrBrineysHouse_EventScript_229DAE + end + +Route104_MrBrineysHouse_EventScript_229D8A:: @ 8229D8A + setflag FLAG_0x093 + msgbox Route104_MrBrineysHouse_Text_229E70, 4 + msgbox Route104_MrBrineysHouse_Text_229E9B, 5 + compare VAR_RESULT, 0 + goto_eq Route104_MrBrineysHouse_EventScript_229E13 + goto Route104_MrBrineysHouse_EventScript_229E27 + end + +Route104_MrBrineysHouse_EventScript_229DAE:: @ 8229DAE + message Route104_MrBrineysHouse_Text_22A268 + waitmessage + multichoicedefault 20, 8, 14, 1, 0 + switch VAR_RESULT + case 0, Route104_MrBrineysHouse_EventScript_229E27 + case 1, Route104_MrBrineysHouse_EventScript_229E1D + case 127, Route104_MrBrineysHouse_EventScript_229E1D + end + +Route104_MrBrineysHouse_EventScript_229DE1:: @ 8229DE1 + msgbox Route104_MrBrineysHouse_Text_22A0AD, 5 + compare VAR_RESULT, 0 + goto_eq Route104_MrBrineysHouse_EventScript_229E13 + goto Route104_MrBrineysHouse_EventScript_229E27 + end + +Route104_MrBrineysHouse_EventScript_229DFA:: @ 8229DFA + msgbox Route104_MrBrineysHouse_Text_22A18F, 5 + compare VAR_RESULT, 0 + goto_eq Route104_MrBrineysHouse_EventScript_229E13 + goto Route104_MrBrineysHouse_EventScript_229E27 + end + +Route104_MrBrineysHouse_EventScript_229E13:: @ 8229E13 + msgbox Route104_MrBrineysHouse_Text_22A041, 4 + release + end + +Route104_MrBrineysHouse_EventScript_229E1D:: @ 8229E1D + msgbox Route104_MrBrineysHouse_Text_22A2C3, 4 + release + end + +Route104_MrBrineysHouse_EventScript_229E27:: @ 8229E27 + msgbox Route104_MrBrineysHouse_Text_229FE9, 4 + call Route104_MrBrineysHouse_EventScript_271E95 + setvar VAR_0x408E, 1 + clearflag FLAG_0x2E2 + setflag FLAG_0x2E3 + setflag FLAG_0x371 + setvar VAR_0x405A, 8 + setvar VAR_0x4063, 2 + setflag FLAG_0x32E + setflag FLAG_0x2CF + warp ROUTE_104, 255, 13, 51 + waitstate + releaseall + end + +Route104_MrBrineysHouse_EventScript_229E5D:: @ 8229E5D + lock + faceplayer + waitse + playmoncry SPECIES_WINGULL, 0 + msgbox Route104_MrBrineysHouse_Text_22A337, 4 + waitmoncry + release + end + +Route104_MrBrineysHouse_Text_229E70: @ 8229E70 + .string "MR. BRINEY: Hold on, lass!\n" + .string "Wait up, PEEKO!$" + +Route104_MrBrineysHouse_Text_229E9B: @ 8229E9B + .string "Hm? You’re {PLAYER}{KUN}!\n" + .string "You saved my darling PEEKO!\l" + .string "We owe so much to you!\p" + .string "What’s that?\n" + .string "You want to sail with me?\p" + .string "Hmhm…\p" + .string "You have a LETTER bound for DEWFORD\n" + .string "and a package for SLATEPORT, then?\p" + .string "Quite the busy life you must lead!\p" + .string "But, certainly, what you’re asking is\n" + .string "no problem at all.\p" + .string "You’ve come to the right man!\n" + .string "We’ll set sail for DEWFORD.$" + +Route104_MrBrineysHouse_Text_229FE9: @ 8229FE9 + .string "MR. BRINEY: DEWFORD it is, then!\p" + .string "Anchors aweigh!\n" + .string "PEEKO, we’re setting sail, my darling!$" + +Route104_MrBrineysHouse_Text_22A041: @ 822A041 + .string "MR. BRINEY: Is that so?\n" + .string "Your deliveries can wait?\p" + .string "You just go on and tell me whenever\n" + .string "you want to set sail!$" + +Route104_MrBrineysHouse_Text_22A0AD: @ 822A0AD + .string "MR. BRINEY: Ahoy!\n" + .string "I know exactly what you want to say!\p" + .string "You’re to deliver a LETTER to DEWFORD\n" + .string "and a package to SLATEPORT.\p" + .string "What you need me to do is no problem\n" + .string "at all--I’m the man for the job!\p" + .string "First, we’ll set sail for DEWFORD.$" + +Route104_MrBrineysHouse_Text_22A18F: @ 822A18F + .string "MR. BRINEY: Ahoy!\n" + .string "I know exactly what you want to say!\p" + .string "You’re to deliver a package to\n" + .string "CAPT. STERN in SLATEPORT.\p" + .string "What you need me to do is no problem\n" + .string "at all--I’m the man for the job!\p" + .string "First, we’ll set sail for DEWFORD.$" + +Route104_MrBrineysHouse_Text_22A268: @ 822A268 + .string "MR. BRINEY: Ahoy!\n" + .string "For you, I’ll go out to sea anytime!\p" + .string "Now, my friend, where are we bound?$" + +Route104_MrBrineysHouse_Text_22A2C3: @ 822A2C3 + .string "MR. BRINEY: Is that so?\n" + .string "Well, PEEKO owes her life to you.\p" + .string "You just go on and tell me whenever\n" + .string "you want to set sail!$" + +Route104_MrBrineysHouse_Text_22A337: @ 822A337 + .string "PEEKO: Pii piihyoro!$" + diff --git a/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc b/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc new file mode 100644 index 0000000000..5142a12825 --- /dev/null +++ b/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc @@ -0,0 +1,110 @@ +Route104_PrettyPetalFlowerShop_MapScripts:: @ 822A34C + map_script 3, Route104_PrettyPetalFlowerShop_MapScript1_22A352 + .byte 0 + +Route104_PrettyPetalFlowerShop_MapScript1_22A352: @ 822A352 + setflag FLAG_LANDMARK_FLOWER_SHOP + checkflag FLAG_0x07F + goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_22A36B + checkflag FLAG_BADGE03_GET + goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_22A36B + setflag FLAG_0x001 + end + +Route104_PrettyPetalFlowerShop_EventScript_22A36B:: @ 822A36B + setobjectxyperm 1, 4, 6 + end + +Route104_PrettyPetalFlowerShop_EventScript_22A373:: @ 822A373 + lock + faceplayer + checkflag FLAG_0x001 + goto_eq Route104_PrettyPetalFlowerShop_EventScript_22A3E4 + msgbox Route104_PrettyPetalFlowerShop_Text_2A7686, 4 + checkflag FLAG_0x07F + goto_eq Route104_PrettyPetalFlowerShop_EventScript_22A3B2 + setflag FLAG_0x07F + msgbox Route104_PrettyPetalFlowerShop_Text_2A7706, 5 + compare VAR_RESULT, 1 + call_if 1, Route104_PrettyPetalFlowerShop_EventScript_22A3D2 + compare VAR_RESULT, 0 + call_if 1, Route104_PrettyPetalFlowerShop_EventScript_22A3DB + release + end + +Route104_PrettyPetalFlowerShop_EventScript_22A3B2:: @ 822A3B2 + msgbox Route104_PrettyPetalFlowerShop_Text_2A76D9, 5 + compare VAR_RESULT, 1 + call_if 1, Route104_PrettyPetalFlowerShop_EventScript_22A3D2 + compare VAR_RESULT, 0 + call_if 1, Route104_PrettyPetalFlowerShop_EventScript_22A3DB + release + end + +Route104_PrettyPetalFlowerShop_EventScript_22A3D2:: @ 822A3D2 + msgbox Route104_PrettyPetalFlowerShop_Text_2A775B, 4 + return + +Route104_PrettyPetalFlowerShop_EventScript_22A3DB:: @ 822A3DB + msgbox Route104_PrettyPetalFlowerShop_Text_2A78DF, 4 + return + +Route104_PrettyPetalFlowerShop_EventScript_22A3E4:: @ 822A3E4 + message gUnknown_08272A52 + waitmessage + pokemartdecoration2 Route104_PrettyPetalFlowerShop_Pokemart_22A3FC + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +Route104_PrettyPetalFlowerShop_Pokemart_22A3FC: @ 822A3FC + .2byte ITEM_FULL_RESTORE + .2byte ITEM_MAX_POTION + .2byte ITEM_HYPER_POTION + .2byte ITEM_SUPER_POTION + .2byte ITEM_FULL_HEAL + .2byte ITEM_REVIVE + .2byte ITEM_NONE + release + end + +Route104_PrettyPetalFlowerShop_EventScript_22A40C:: @ 822A40C + lock + faceplayer + checkflag FLAG_0x05E + goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_22A421 + msgbox Route104_PrettyPetalFlowerShop_Text_2A79A6, 4 + release + end + +Route104_PrettyPetalFlowerShop_EventScript_22A421:: @ 822A421 + msgbox Route104_PrettyPetalFlowerShop_Text_2A7916, 4 + giveitem_std ITEM_WAILMER_PAIL + msgbox Route104_PrettyPetalFlowerShop_Text_2A79A6, 4 + setflag FLAG_0x05E + release + end + +Route104_PrettyPetalFlowerShop_EventScript_22A442:: @ 822A442 + lock + faceplayer + dodailyevents + checkflag FLAG_0x930 + goto_eq Route104_PrettyPetalFlowerShop_EventScript_22A482 + msgbox Route104_PrettyPetalFlowerShop_Text_2A7A98, 4 + random 8 + addvar VAR_RESULT, 133 + giveitem_std VAR_RESULT + compare VAR_RESULT, 0 + goto_eq Route104_PrettyPetalFlowerShop_EventScript_272054 + setflag FLAG_0x930 + msgbox Route104_PrettyPetalFlowerShop_Text_2A7AF3, 4 + release + end + +Route104_PrettyPetalFlowerShop_EventScript_22A482:: @ 822A482 + msgbox Route104_PrettyPetalFlowerShop_Text_2A7AF3, 4 + release + end + diff --git a/data/scripts/maps/Route104_Prototype.inc b/data/scripts/maps/Route104_Prototype.inc new file mode 100644 index 0000000000..d8274fffc1 --- /dev/null +++ b/data/scripts/maps/Route104_Prototype.inc @@ -0,0 +1,3 @@ +Route104_Prototype_MapScripts:: @ 82693F2 + .byte 0 + diff --git a/data/scripts/maps/Route104_PrototypePrettyPetalFlowerShop.inc b/data/scripts/maps/Route104_PrototypePrettyPetalFlowerShop.inc new file mode 100644 index 0000000000..bacbad7e90 --- /dev/null +++ b/data/scripts/maps/Route104_PrototypePrettyPetalFlowerShop.inc @@ -0,0 +1,3 @@ +Route104_PrototypePrettyPetalFlowerShop_MapScripts:: @ 82693F3 + .byte 0 + diff --git a/data/scripts/maps/Route105.inc b/data/scripts/maps/Route105.inc new file mode 100644 index 0000000000..32c6826afb --- /dev/null +++ b/data/scripts/maps/Route105.inc @@ -0,0 +1,107 @@ +Route105_MapScripts:: @ 81EE1DB + map_script 1, Route105_MapScript1_1EE1EB + map_script 3, Route105_MapScript1_1EE21E + map_script 2, Route105_MapScript2_1EE240 + .byte 0 + +Route105_MapScript1_1EE1EB: @ 81EE1EB + checkflag FLAG_0x0E4 + call_if 0, Route105_EventScript_1EE20B + compare VAR_0x4037, 9 + call_if 1, Route105_EventScript_2739AB + compare VAR_0x4037, 10 + call_if 1, Route105_EventScript_273A18 + end + +Route105_EventScript_1EE20B:: @ 81EE20B + setmetatile 9, 19, 124, 1 + setmetatile 9, 20, 145, 1 + return + +Route105_MapScript1_1EE21E: @ 81EE21E + compare VAR_0x4039, 1 + call_if 1, Route105_EventScript_273D13 + compare VAR_0x4037, 9 + call_if 1, Route105_EventScript_273D17 + compare VAR_0x4037, 10 + call_if 1, Route105_EventScript_273D17 + end + +Route105_MapScript2_1EE240: @ 81EE240 + map_script_2 VAR_0x4039, 1, gUnknown_08273D1F + .2byte 0 + +Route105_EventScript_1EE24A:: @ 81EE24A + trainerbattle 0, TRAINER_FOSTER, 0, Route105_Text_295D0F, Route105_Text_295D62 + msgbox Route105_Text_295DAB, 6 + end + +Route105_EventScript_1EE261:: @ 81EE261 + trainerbattle 0, TRAINER_LUIS, 0, Route105_Text_295DF5, Route105_Text_295E66 + msgbox Route105_Text_295E72, 6 + end + +Route105_EventScript_1EE278:: @ 81EE278 + trainerbattle 0, TRAINER_DOMINIK, 0, Route105_Text_295EB7, Route105_Text_295EEA + msgbox Route105_Text_295F08, 6 + end + +Route105_EventScript_1EE28F:: @ 81EE28F + trainerbattle 0, TRAINER_BEVERLY, 0, Route105_Text_295F5C, Route105_Text_295FA0 + msgbox Route105_Text_295FAE, 6 + end + +Route105_EventScript_1EE2A6:: @ 81EE2A6 + trainerbattle 0, TRAINER_IMANI, 0, Route105_Text_296025, Route105_Text_296059 + msgbox Route105_Text_296076, 6 + end + +Route105_EventScript_1EE2BD:: @ 81EE2BD + trainerbattle 0, TRAINER_JOSUE, 0, Route105_Text_29626F, Route105_Text_2962CB + msgbox Route105_Text_2962EC, 6 + end + +Route105_EventScript_1EE2D4:: @ 81EE2D4 + trainerbattle 2, TRAINER_ANDRES_1, 0, Route105_Text_2960A9, Route105_Text_2960DB, Route105_EventScript_1EE300 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route105_EventScript_1EE31F + msgbox Route105_Text_2960FA, 4 + release + end + +Route105_EventScript_1EE300:: @ 81EE300 + special sub_80B4808 + waitmovement 0 + msgbox Route105_Text_296159, 4 + setvar VAR_0x8004, 737 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 737 + callstd 8 + release + end + +Route105_EventScript_1EE31F:: @ 81EE31F + trainerbattle 5, TRAINER_ANDRES_1, 0, Route105_Text_29619E, Route105_Text_2961DD + msgbox Route105_Text_2961FE, 6 + end + +Route104_Text_1EE336: @ 81EE336 + .string "… … … … … …\n" + .string "… … … … … Beep!\p" + .string "DAD: Oh, {PLAYER}?\p" + .string "… … … … … …\n" + .string "Where are you now?\l" + .string "It sounds windy wherever you are.\p" + .string "I just heard from DEVON’s MR. STONE\n" + .string "about your POKéNAV, so I decided\l" + .string "to give you a call.\p" + .string "It sounds like you’re doing fine,\n" + .string "so that’s fine with me.\p" + .string "You take care now.\p" + .string "… … … … … …\n" + .string "… … … … … Click!$" + +Route104_Text_1EE463: @ 81EE463 + .string "Registered DAD NORMAN\n" + .string "in the POKéNAV.$" diff --git a/data/scripts/maps/Route106.inc b/data/scripts/maps/Route106.inc new file mode 100644 index 0000000000..132621cb85 --- /dev/null +++ b/data/scripts/maps/Route106.inc @@ -0,0 +1,52 @@ +Route106_MapScripts:: @ 81EE489 + .byte 0 + +Route106_EventScript_1EE48A:: @ 81EE48A + msgbox Route106_Text_1EE53A, 3 + end + +Route106_EventScript_1EE493:: @ 81EE493 + trainerbattle 0, TRAINER_DOUGLAS, 0, Route106_Text_2965BB, Route106_Text_2965FD + msgbox Route106_Text_296608, 6 + end + +Route106_EventScript_1EE4AA:: @ 81EE4AA + trainerbattle 0, TRAINER_KYLA, 0, Route106_Text_296628, Route106_Text_296674 + msgbox Route106_Text_29669E, 6 + end + +Route106_EventScript_1EE4C1:: @ 81EE4C1 + trainerbattle 2, TRAINER_ELLIOT_1, 0, Route106_Text_296327, Route106_Text_29635C, Route106_EventScript_1EE4ED + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route106_EventScript_1EE50C + msgbox Route106_Text_29638C, 4 + release + end + +Route106_EventScript_1EE4ED:: @ 81EE4ED + special sub_80B4808 + waitmovement 0 + msgbox Route106_Text_2963E3, 4 + setvar VAR_0x8004, 339 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 339 + callstd 8 + release + end + +Route106_EventScript_1EE50C:: @ 81EE50C + trainerbattle 5, TRAINER_ELLIOT_1, 0, Route106_Text_29642E, Route106_Text_296477 + msgbox Route106_Text_296493, 6 + end + +Route106_EventScript_1EE523:: @ 81EE523 + trainerbattle 0, TRAINER_NED, 0, Route106_Text_2964D4, Route106_Text_296553 + msgbox Route106_Text_296588, 6 + end + +Route106_Text_1EE53A: @ 81EE53A + .string "TRAINER TIPS\p" + .string "Advice on catching POKéMON with a ROD:\n" + .string "Press the A Button if you get a bite.$" + diff --git a/data/scripts/maps/Route107.inc b/data/scripts/maps/Route107.inc new file mode 100644 index 0000000000..b7d144ef20 --- /dev/null +++ b/data/scripts/maps/Route107.inc @@ -0,0 +1,58 @@ +Route107_MapScripts:: @ 81EE594 + .byte 0 + +Route107_EventScript_1EE595:: @ 81EE595 + trainerbattle 0, TRAINER_DARRIN, 0, Route107_Text_2966E5, Route107_Text_29672F + msgbox Route107_Text_29675B, 6 + end + +Route107_EventScript_1EE5AC:: @ 81EE5AC + trainerbattle 2, TRAINER_TONY_1, 0, Route107_Text_2967AD, Route107_Text_2967D8, Route107_EventScript_1EE5D8 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route107_EventScript_1EE5F7 + msgbox Route107_Text_2967FF, 4 + release + end + +Route107_EventScript_1EE5D8:: @ 81EE5D8 + special sub_80B4808 + waitmovement 0 + msgbox Route107_Text_29685A, 4 + setvar VAR_0x8004, 155 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 155 + callstd 8 + release + end + +Route107_EventScript_1EE5F7:: @ 81EE5F7 + trainerbattle 5, TRAINER_TONY_1, 0, Route107_Text_296897, Route107_Text_2968D5 + msgbox Route107_Text_296923, 6 + end + +Route107_EventScript_1EE60E:: @ 81EE60E + trainerbattle 0, TRAINER_DENISE, 0, Route107_Text_296974, Route107_Text_29699E + msgbox Route107_Text_2969AB, 6 + end + +Route107_EventScript_1EE625:: @ 81EE625 + trainerbattle 0, TRAINER_BETH, 0, Route107_Text_2969E4, Route107_Text_296A17 + msgbox Route107_Text_296A35, 6 + end + +Route107_EventScript_1EE63C:: @ 81EE63C + trainerbattle 4, TRAINER_LISA_AND_RAY, 0, Route107_Text_296A77, Route107_Text_296AA7, Route107_Text_296B1E + msgbox Route107_Text_296ADC, 6 + end + +Route107_EventScript_1EE657:: @ 81EE657 + trainerbattle 4, TRAINER_LISA_AND_RAY, 0, Route107_Text_296B57, Route107_Text_296BB3, Route107_Text_296C34 + msgbox Route107_Text_296BE1, 6 + end + +Route107_EventScript_1EE672:: @ 81EE672 + trainerbattle 0, TRAINER_CAMRON, 0, Route107_Text_296C6F, Route107_Text_296CAD + msgbox Route107_Text_296CC0, 6 + end + diff --git a/data/scripts/maps/Route108.inc b/data/scripts/maps/Route108.inc new file mode 100644 index 0000000000..e77006508b --- /dev/null +++ b/data/scripts/maps/Route108.inc @@ -0,0 +1,53 @@ +Route108_MapScripts:: @ 81EE689 + .byte 0 + +Route108_EventScript_1EE68A:: @ 81EE68A + trainerbattle 0, TRAINER_JEROME, 0, Route108_Text_296D10, Route108_Text_296D3C + msgbox Route108_Text_296D6E, 6 + end + +Route108_EventScript_1EE6A1:: @ 81EE6A1 + trainerbattle 0, TRAINER_MATTHEW, 0, Route108_Text_296DAF, Route108_Text_296DEA + msgbox Route108_Text_296E03, 6 + end + +Route108_EventScript_1EE6B8:: @ 81EE6B8 + trainerbattle 0, TRAINER_TARA, 0, Route108_Text_296E33, Route108_Text_296E71 + msgbox Route108_Text_296E7A, 6 + end + +Route108_EventScript_1EE6CF:: @ 81EE6CF + trainerbattle 0, TRAINER_MISSY, 0, Route108_Text_296EC7, Route108_Text_296EFC + msgbox Route108_Text_296F2A, 6 + end + +Route108_EventScript_1EE6E6:: @ 81EE6E6 + trainerbattle 0, TRAINER_CAROLINA, 0, Route108_Text_297094, Route108_Text_2970D7 + msgbox Route108_Text_2970F0, 6 + end + +Route108_EventScript_1EE6FD:: @ 81EE6FD + trainerbattle 2, TRAINER_CORY_1, 0, Route108_Text_296F5D, Route108_Text_296F93, Route108_EventScript_1EE729 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route108_EventScript_1EE748 + msgbox Route108_Text_296FB0, 4 + release + end + +Route108_EventScript_1EE729:: @ 81EE729 + special sub_80B4808 + waitmovement 0 + msgbox Route108_Text_296FD8, 4 + setvar VAR_0x8004, 740 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 740 + callstd 8 + release + end + +Route108_EventScript_1EE748:: @ 81EE748 + trainerbattle 5, TRAINER_CORY_1, 0, Route108_Text_297011, Route108_Text_297036 + msgbox Route108_Text_297059, 6 + end + diff --git a/data/scripts/maps/Route109.inc b/data/scripts/maps/Route109.inc new file mode 100644 index 0000000000..d708246de3 --- /dev/null +++ b/data/scripts/maps/Route109.inc @@ -0,0 +1,573 @@ +Route109_MapScripts:: @ 81EE75F + .byte 0 + +Route109_EventScript_1EE760:: @ 81EE760 + call Route109_EventScript_271E95 + setobjectpriority 2, ROUTE_109, 0 + setobjectpriority 255, ROUTE_109, 0 + applymovement 2, Route109_Movement_1EE90B + waitmovement 0 + removeobject 2 + switch VAR_FACING + case 1, Route109_EventScript_1EE7A5 + case 3, Route109_EventScript_1EE7C5 + case 4, Route109_EventScript_1EE7B5 + end + +Route109_EventScript_1EE7A5:: @ 81EE7A5 + applymovement 255, Route109_Movement_1EE8FD + waitmovement 0 + goto Route109_EventScript_1EE7D5 + end + +Route109_EventScript_1EE7B5:: @ 81EE7B5 + applymovement 255, Route109_Movement_1EE905 + waitmovement 0 + goto Route109_EventScript_1EE7D5 + end + +Route109_EventScript_1EE7C5:: @ 81EE7C5 + applymovement 255, Route109_Movement_1EE908 + waitmovement 0 + goto Route109_EventScript_1EE7D5 + end + +Route109_EventScript_1EE7D5:: @ 81EE7D5 + hideobjectat 255, ROUTE_109 + call Route109_EventScript_2720A0 + applymovement 1, Route109_Movement_1EE84F + applymovement 255, Route109_Movement_1EE84F + waitmovement 0 + delay 50 + call Route109_EventScript_2720A8 + showobjectat 255, DEWFORD_TOWN + applymovement 255, Route109_Movement_1EE900 + waitmovement 0 + addobject 4 + clearflag FLAG_0x2E7 + setobjectxyperm 2, 12, 8 + addobject 2 + setobjectpriority 2, DEWFORD_TOWN, 0 + applymovement 2, Route109_Movement_1EE90D + waitmovement 0 + clearflag FLAG_0x2E4 + setflag FLAG_0x2E8 + hideobjectat 1, ROUTE_109 + msgbox Route109_Text_1E9C1D, 4 + closemessage + copyvar VAR_0x4096, VAR_0x8008 + resetobjectpriority 255, ROUTE_109 + resetobjectpriority 2, DEWFORD_TOWN + moveobjectoffscreen 2 + release + end + +Route109_Movement_1EE84F: @ 81EE84F + step_25 + step_down + step_down + step_15 + step_15 + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_2d + step_15 + step_15 + step_17 + step_17 + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_2f + step_17 + step_17 + step_17 + step_17 + step_17 + step_17 + step_17 + step_17 + step_17 + step_left + step_left + step_25 + step_end + +Route109_Movement_1EE8FD: @ 81EE8FD + step_down + step_down + step_end + +Route109_Movement_1EE900: @ 81EE900 + step_down + step_down + step_left + step_28 + step_end + +Route109_Movement_1EE905: @ 81EE905 + step_right + step_down + step_end + +Route109_Movement_1EE908: @ 81EE908 + step_left + step_down + step_end + +Route109_Movement_1EE90B: @ 81EE90B + step_down + step_end + +Route109_Movement_1EE90D: @ 81EE90D + step_down + step_27 + step_end + +Route109_EventScript_1EE910:: @ 81EE910 + lock + faceplayer + checkflag FLAG_0x095 + goto_if 0, Route109_EventScript_1EE921 + goto Route109_EventScript_1EE93F + end + +Route109_EventScript_1EE921:: @ 81EE921 + message Route109_Text_1EEC96 + msgbox Route109_Text_1EEC96, 5 + compare VAR_RESULT, 0 + goto_eq Route109_EventScript_1EE981 + goto Route109_EventScript_1EE972 + end + +Route109_EventScript_1EE93F:: @ 81EE93F + message Route109_Text_1EEE17 + waitmessage + multichoicedefault 21, 8, 14, 1, 0 + switch VAR_RESULT + case 0, Route109_EventScript_1EE972 + case 1, Route109_EventScript_1EE98B + case 127, Route109_EventScript_1EE98B + end + +Route109_EventScript_1EE972:: @ 81EE972 + msgbox Route109_Text_1EED06, 4 + closemessage + goto Route109_EventScript_1EE760 + end + +Route109_EventScript_1EE981:: @ 81EE981 + msgbox Route109_Text_1EED5E, 4 + release + end + +Route109_EventScript_1EE98B:: @ 81EE98B + msgbox Route109_Text_1EEE72, 4 + release + end + +Route109_EventScript_1EE995:: @ 81EE995 + msgbox Route109_Text_1EEEB4, 2 + end + +Route109_EventScript_1EE99E:: @ 81EE99E + lock + faceplayer + msgbox Route109_Text_1EEFB0, 4 + closemessage + applymovement VAR_LAST_TALKED, Route109_Movement_2725A2 + waitmovement 0 + release + end + +Route109_EventScript_1EE9B5:: @ 81EE9B5 + lock + faceplayer + special GetPlayerBigGuyGirlString + checkflag FLAG_0x118 + goto_eq Route109_EventScript_1EE9F2 + msgbox Route109_Text_1EEFDE, 4 + giveitem_std ITEM_SOFT_SAND + compare VAR_RESULT, 0 + goto_eq Route109_EventScript_272054 + closemessage + applymovement VAR_LAST_TALKED, Route109_Movement_2725A2 + waitmovement 0 + setflag FLAG_0x118 + release + end + +Route109_EventScript_1EE9F2:: @ 81EE9F2 + msgbox Route109_Text_1EEFF1, 4 + applymovement VAR_LAST_TALKED, Route109_Movement_2725A2 + waitmovement 0 + release + end + +Route109_EventScript_1EEA06:: @ 81EEA06 + msgbox Route109_Text_1EEF08, 2 + end + +Route109_EventScript_1EEA0F:: @ 81EEA0F + msgbox Route109_Text_1EF080, 2 + end + +Route109_EventScript_1EEA18:: @ 81EEA18 + lock + faceplayer + waitse + playmoncry SPECIES_ZIGZAGOON, 0 + msgbox Route109_Text_1EF173, 4 + waitmoncry + release + end + +Route109_EventScript_1EEA2B:: @ 81EEA2B + msgbox Route109_Text_1EF185, 3 + end + +Route109_EventScript_1EEA34:: @ 81EEA34 + msgbox Route109_Text_1EF1D5, 3 + end + +Route109_EventScript_1EEA3D:: @ 81EEA3D + trainerbattle 0, TRAINER_DAVID, 0, Route109_Text_297140, Route109_Text_29717D + msgbox Route109_Text_297191, 6 + end + +Route109_EventScript_1EEA54:: @ 81EEA54 + trainerbattle 0, TRAINER_ALICE, 0, Route109_Text_2971D1, Route109_Text_2971FD + msgbox Route109_Text_29720F, 6 + end + +Route109_EventScript_1EEA6B:: @ 81EEA6B + trainerbattle 0, TRAINER_HUEY, 0, Route109_Text_297235, Route109_Text_29727B + msgbox Route109_Text_29728C, 6 + end + +Route109_EventScript_1EEA82:: @ 81EEA82 + trainerbattle 0, TRAINER_EDMOND, 0, Route109_Text_2972B3, Route109_Text_2972CE + msgbox Route109_Text_2972ED, 6 + end + +Route109_EventScript_1EEA99:: @ 81EEA99 + trainerbattle 2, TRAINER_RICKY_1, 0, Route109_Text_29733B, Route109_Text_297379, Route109_EventScript_1EEAC5 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route109_EventScript_1EEAE4 + msgbox Route109_Text_297380, 4 + release + end + +Route109_EventScript_1EEAC5:: @ 81EEAC5 + special sub_80B4808 + waitmovement 0 + msgbox Route109_Text_2973C1, 4 + setvar VAR_0x8004, 64 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 64 + callstd 8 + release + end + +Route109_EventScript_1EEAE4:: @ 81EEAE4 + trainerbattle 5, TRAINER_RICKY_1, 0, Route109_Text_2973FF, Route109_Text_297437 + msgbox Route109_Text_297458, 6 + end + +Route109_EventScript_1EEAFB:: @ 81EEAFB + trainerbattle 2, TRAINER_LOLA_1, 0, Route109_Text_29749C, Route109_Text_2974CF, Route109_EventScript_1EEB27 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route109_EventScript_1EEB46 + msgbox Route109_Text_2974D6, 4 + release + end + +Route109_EventScript_1EEB27:: @ 81EEB27 + special sub_80B4808 + waitmovement 0 + msgbox Route109_Text_297520, 4 + setvar VAR_0x8004, 57 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 57 + callstd 8 + release + end + +Route109_EventScript_1EEB46:: @ 81EEB46 + trainerbattle 5, TRAINER_LOLA_1, 0, Route109_Text_297538, Route109_Text_297576 + msgbox Route109_Text_29757D, 6 + end + +Route109_EventScript_1EEB5D:: @ 81EEB5D + trainerbattle 0, TRAINER_AUSTINA, 0, Route109_Text_2975C0, Route109_Text_297601 + msgbox Route109_Text_29762A, 6 + end + +Route109_EventScript_1EEB74:: @ 81EEB74 + trainerbattle 0, TRAINER_GWEN, 0, Route109_Text_297667, Route109_Text_297691 + msgbox Route109_Text_2976A4, 6 + end + +Route109_EventScript_1EEB8B:: @ 81EEB8B + trainerbattle 0, TRAINER_CARTER, 0, Route109_Text_2976C5, Route109_Text_2976FC + msgbox Route109_Text_297715, 6 + end + +Route109_EventScript_1EEBA2:: @ 81EEBA2 + trainerbattle 4, TRAINER_MEL_AND_PAUL, 0, Route109_Text_297754, Route109_Text_2977B0, Route109_Text_29781D + msgbox Route109_Text_2977C7, 6 + end + +Route109_EventScript_1EEBBD:: @ 81EEBBD + trainerbattle 4, TRAINER_MEL_AND_PAUL, 0, Route109_Text_297872, Route109_Text_2978BD, Route109_Text_29792E + msgbox Route109_Text_2978F1, 6 + end + +Route109_EventScript_1EEBD8:: @ 81EEBD8 + trainerbattle 0, TRAINER_CHANDLER, 0, Route109_Text_29798A, Route109_Text_2979AE + msgbox Route109_Text_2979BF, 6 + end + +Route109_EventScript_1EEBEF:: @ 81EEBEF + trainerbattle 0, TRAINER_HAILEY, 0, Route109_Text_2979EC, Route109_Text_297A15 + msgbox Route109_Text_297A40, 6 + end + +Route109_EventScript_1EEC06:: @ 81EEC06 + trainerbattle 0, TRAINER_ELIJAH, 0, Route109_Text_297A82, Route109_Text_297AC7 + msgbox Route109_Text_297AE5, 6 + end + +DewfordTown_Text_1EEC1D: @ 81EEC1D + .string "MR. BRINEY: Ahoy!\n" + .string "We’ve made land in SLATEPORT!\p" + .string "I suppose you’re going to visit CAPT.\n" + .string "STERN and deliver the DEVON GOODS?$" + +Route109_Text_1EEC96: @ 81EEC96 + .string "MR. BRINEY: I thought you’re supposed\n" + .string "to deliver the DEVON GOODS.\p" + .string "Would you like to sail back to\n" + .string "DEWFORD, then?$" + +Route109_Text_1EED06: @ 81EED06 + .string "MR. BRINEY: DEWFORD it is, then!\p" + .string "Anchors aweigh!\n" + .string "PEEKO, we’re setting sail, my darling!$" + +Route109_Text_1EED5E: @ 81EED5E + .string "MR. BRINEY: Then you go on and deliver\n" + .string "the DEVON GOODS. I’ll be waiting.$" + +DewfordTown_Text_1EEDA7: @ 81EEDA7 + .string "MR. BRINEY: Ahoy! We’ve made land in\n" + .string "SLATEPORT!\p" + .string "You just go on and tell me whenever\n" + .string "you want to set sail again!$" + +Route109_Text_1EEE17: @ 81EEE17 + .string "MR. BRINEY: Ahoy!\n" + .string "For you, I’ll go out to sea anytime!\p" + .string "Now, my friend, where are we bound?$" + +Route109_Text_1EEE72: @ 81EEE72 + .string "MR. BRINEY: You just tell me whenever\n" + .string "you need to set sail again!$" + +Route109_Text_1EEEB4: @ 81EEEB4 + .string "Yo, TRAINERS!\n" + .string "Whether you’re hot to trot,\l" + .string "or cool cat not,\l" + .string "chill at my papa’s spot!$" + +Route109_Text_1EEF08: @ 81EEF08 + .string "Little kids can dart around so quickly…\p" + .string "You don’t dare take your eyes off them\n" + .string "for an instant. It’s very taxing.\p" + .string "Mine are with my POKéMON, so they\n" + .string "should be okay, but…$" + +Route109_Text_1EEFB0: @ 81EEFB0 + .string "Our sand castle’s taking a long time\n" + .string "to make.$" + +Route109_Text_1EEFDE: @ 81EEFDE + .string "You can have this!$" + +Route109_Text_1EEFF1: @ 81EEFF1 + .string "We’re going to get all the sand from\n" + .string "the beach and make a big castle!\p" + .string "And then we’re going to be a king and\n" + .string "queen.\p" + .string "We’ll let you be a servant.$" + +Route109_Text_1EF080: @ 81EF080 + .string "The water around these parts is clean.\p" + .string "But, I get my ZIGZAGOON to pick up\n" + .string "litter from the shoreline at times.\p" + .string "Dirty water becomes rain and joins our\n" + .string "rivers, which we drink from…\p" + .string "If we pollute the sea, it all comes\n" + .string "back to haunt us eventually.$" + +Route109_Text_1EF173: @ 81EF173 + .string "ZIGZAGOON: Guguu?$" + +Route109_Text_1EF185: @ 81EF185 + .string "SEASHORE HOUSE\p" + .string "“May hot battles rage on hot sands!\n" + .string "The place for hot TRAINERS!”$" + +Route109_Text_1EF1D5: @ 81EF1D5 + .string "TRAINER TIPS\p" + .string "POKéMON at the same level may not\n" + .string "always have identical stats.\p" + .string "POKéMON raised by TRAINERS are said\n" + .string "to grow stronger than wild POKéMON.$" diff --git a/data/scripts/maps/Route109_SeashoreHouse.inc b/data/scripts/maps/Route109_SeashoreHouse.inc new file mode 100644 index 0000000000..e70f91ca8f --- /dev/null +++ b/data/scripts/maps/Route109_SeashoreHouse.inc @@ -0,0 +1,196 @@ +Route109_SeashoreHouse_MapScripts:: @ 82693F4 + map_script 3, Route109_SeashoreHouse_MapScript1_2693FA + .byte 0 + +Route109_SeashoreHouse_MapScript1_2693FA: @ 82693FA + setflag FLAG_LANDMARK_SEASHORE_HOUSE + end + +Route109_SeashoreHouse_EventScript_2693FE:: @ 82693FE + lock + faceplayer + checkflag FLAG_0x08C + goto_eq Route109_SeashoreHouse_EventScript_269460 + checkflag FLAG_0x08D + goto_eq Route109_SeashoreHouse_EventScript_269432 + checkflag FLAG_0x002 + goto_eq Route109_SeashoreHouse_EventScript_269428 + msgbox Route109_SeashoreHouse_Text_269555, 4 + setflag FLAG_0x002 + release + end + +Route109_SeashoreHouse_EventScript_269428:: @ 8269428 + msgbox Route109_SeashoreHouse_Text_269635, 4 + release + end + +Route109_SeashoreHouse_EventScript_269432:: @ 8269432 + msgbox Route109_SeashoreHouse_Text_269685, 4 + giveitem_std ITEM_SODA_POP, 6 + compare VAR_RESULT, 0 + goto_eq Route109_SeashoreHouse_EventScript_269456 + setflag FLAG_0x08C + release + end + +Route109_SeashoreHouse_EventScript_269456:: @ 8269456 + msgbox Route109_SeashoreHouse_Text_26973A, 4 + release + end + +Route109_SeashoreHouse_EventScript_269460:: @ 8269460 + showmoneybox 0, 0, 0 + msgbox Route109_SeashoreHouse_Text_26977E, 5 + compare VAR_RESULT, 1 + goto_eq Route109_SeashoreHouse_EventScript_269484 + msgbox Route109_SeashoreHouse_Text_2697EF, 4 + hidemoneybox + nop + nop + release + end + +Route109_SeashoreHouse_EventScript_269484:: @ 8269484 + checkmoney 0x12c, 0 + compare VAR_RESULT, 0 + goto_eq Route109_SeashoreHouse_EventScript_2694C8 + checkitemspace ITEM_SODA_POP, 1 + compare VAR_RESULT, 0 + goto_eq Route109_SeashoreHouse_EventScript_2694D5 + msgbox Route109_SeashoreHouse_Text_2697C8, 4 + takemoney 0x12c, 0 + updatemoneybox 0, 0 + nop + giveitem_std ITEM_SODA_POP + hidemoneybox + nop + nop + release + end + +Route109_SeashoreHouse_EventScript_2694C8:: @ 82694C8 + msgbox Route109_SeashoreHouse_Text_2697D5, 4 + hidemoneybox + nop + nop + release + end + +Route109_SeashoreHouse_EventScript_2694D5:: @ 82694D5 + msgbox gUnknown_08272AD0, 4 + hidemoneybox + nop + nop + release + end + +Route109_SeashoreHouse_EventScript_2694E2:: @ 82694E2 + trainerbattle 2, TRAINER_DWAYNE, 0, Route109_SeashoreHouse_Text_269803, Route109_SeashoreHouse_Text_269867, Route109_SeashoreHouse_EventScript_269533 + msgbox Route109_SeashoreHouse_Text_26989D, 6 + end + +Route109_SeashoreHouse_EventScript_2694FD:: @ 82694FD + trainerbattle 2, TRAINER_JOHANNA, 0, Route109_SeashoreHouse_Text_2698E3, Route109_SeashoreHouse_Text_269947, Route109_SeashoreHouse_EventScript_269533 + msgbox Route109_SeashoreHouse_Text_269953, 6 + end + +Route109_SeashoreHouse_EventScript_269518:: @ 8269518 + trainerbattle 2, TRAINER_SIMON, 0, Route109_SeashoreHouse_Text_269986, Route109_SeashoreHouse_Text_2699C5, Route109_SeashoreHouse_EventScript_269533 + msgbox Route109_SeashoreHouse_Text_2699DF, 6 + end + +Route109_SeashoreHouse_EventScript_269533:: @ 8269533 + checktrainerflag TRAINER_DWAYNE + goto_if 0, Route109_SeashoreHouse_EventScript_269553 + checktrainerflag TRAINER_JOHANNA + goto_if 0, Route109_SeashoreHouse_EventScript_269553 + checktrainerflag TRAINER_SIMON + goto_if 0, Route109_SeashoreHouse_EventScript_269553 + setflag FLAG_0x08D + release + end + +Route109_SeashoreHouse_EventScript_269553:: @ 8269553 + release + end + +Route109_SeashoreHouse_Text_269555: @ 8269555 + .string "I’m the owner of the SEASHORE HOUSE.\n" + .string "But you can call me MR. SEA!\p" + .string "What I love above all is to see hot\n" + .string "POKéMON battles.\p" + .string "Let me see that your heart burns hot!\p" + .string "If you can defeat all the TRAINERS\n" + .string "here, I’ll reward your efforts.$" + +Route109_SeashoreHouse_Text_269635: @ 8269635 + .string "Show me some hot matches!\p" + .string "I run this SEASHORE HOUSE just for\n" + .string "that reason alone!$" + +Route109_SeashoreHouse_Text_269685: @ 8269685 + .string "You’re scorching hot!\n" + .string "Those battles blazed!\l" + .string "I’m more than just satisfied!\p" + .string "As thanks for showing me your hot\n" + .string "streak, I want you to take these.\p" + .string "It’s half a dozen bottles of SODA POP!$" + +Route109_SeashoreHouse_Text_26973A: @ 826973A + .string "Oh, but hey, your BAG’s jammed full.\n" + .string "I’ll hang on to these for you.$" + +Route109_SeashoreHouse_Text_26977E: @ 826977E + .string "Want to buy some SODA POP?\n" + .string "POKéMON love it!\p" + .string "Just ¥300 a bottle!\n" + .string "Buy some!$" + +Route109_SeashoreHouse_Text_2697C8: @ 82697C8 + .string "Here you go!$" + +Route109_SeashoreHouse_Text_2697D5: @ 82697D5 + .string "You don’t have the money.$" + +Route109_SeashoreHouse_Text_2697EF: @ 82697EF + .string "No?\n" + .string "That’s too bad.$" + +Route109_SeashoreHouse_Text_269803: @ 8269803 + .string "If you’re looking for a battle in the\n" + .string "SEASHORE HOUSE, you’ll find no\l" + .string "hotter TRAINER than me, matey!$" + +Route109_SeashoreHouse_Text_269867: @ 8269867 + .string "That was a hot battle!\n" + .string "I can accept that loss, matey!$" + +Route109_SeashoreHouse_Text_26989D: @ 826989D + .string "Whenever I’m in SLATEPORT, I enjoy\n" + .string "hot battles and ice-cold SODA POP!$" + +Route109_SeashoreHouse_Text_2698E3: @ 82698E3 + .string "Boring battles aren’t worth the effort.\p" + .string "Fiery hot battles are what toughen up\n" + .string "TRAINERS and POKéMON!$" + +Route109_SeashoreHouse_Text_269947: @ 8269947 + .string "That’s hot!$" + +Route109_SeashoreHouse_Text_269953: @ 8269953 + .string "Whew, I’m all thirsty.\n" + .string "Maybe I’ll have a SODA POP.$" + +Route109_SeashoreHouse_Text_269986: @ 8269986 + .string "I’m going to show you how great\n" + .string "my POKéMON are, but don’t cry!$" + +Route109_SeashoreHouse_Text_2699C5: @ 82699C5 + .string "…I lost, but I won’t cry…$" + +Route109_SeashoreHouse_Text_2699DF: @ 82699DF + .string "If one of my POKéMON knew the move\n" + .string "for carrying me across water on its\l" + .string "back, I could get rid of this inner tube.$" + diff --git a/data/scripts/maps/Route110.inc b/data/scripts/maps/Route110.inc new file mode 100644 index 0000000000..3c743fb3c7 --- /dev/null +++ b/data/scripts/maps/Route110.inc @@ -0,0 +1,1030 @@ +Route110_MapScripts:: @ 81EF269 + map_script 5, Route110_MapScript1_1EF279 + map_script 3, Route110_MapScript1_1EF27D + map_script 2, Route110_MapScript2_1EF297 + .byte 0 + +Route110_MapScript1_1EF279: @ 81EF279 + special UpdateCyclingRoadState + end + +Route110_MapScript1_1EF27D: @ 81EF27D + call Route110_EventScript_271ED7 + call Route110_EventScript_271EFB + compare VAR_0x40A9, 1 + call_if 1, Route110_EventScript_1EF293 + end + +Route110_EventScript_1EF293:: @ 81EF293 + savebgm MUS_CYCLING + return + +Route110_MapScript2_1EF297: @ 81EF297 + map_script_2 VAR_0x40A9, 1, Route110_EventScript_1EF2A1 + .2byte 0 + +Route110_EventScript_1EF2A1:: @ 81EF2A1 + special Special_BeginCyclingRoadChallenge + setvar VAR_0x40A9, 2 + return + +Route110_EventScript_1EF2AA:: @ 81EF2AA + lock + faceplayer + msgbox Route110_Text_1EFB5D, 4 + applymovement VAR_LAST_TALKED, Route110_Movement_2725A2 + waitmovement 0 + release + end + +Route110_EventScript_1EF2C0:: @ 81EF2C0 + lock + faceplayer + msgbox Route110_Text_1EFB93, 4 + applymovement VAR_LAST_TALKED, Route110_Movement_2725A2 + waitmovement 0 + release + end + +Route110_EventScript_1EF2D6:: @ 81EF2D6 + lock + faceplayer + msgbox Route110_Text_1EFBCA, 4 + applymovement VAR_LAST_TALKED, Route110_Movement_2725A2 + waitmovement 0 + release + end + +Route110_EventScript_1EF2EC:: @ 81EF2EC + lock + faceplayer + msgbox Route110_Text_1EFC0D, 4 + applymovement VAR_LAST_TALKED, Route110_Movement_2725A2 + waitmovement 0 + release + end + +Route110_EventScript_1EF302:: @ 81EF302 + msgbox Route110_Text_1EFFC3, 2 + end + +Route110_EventScript_1EF30B:: @ 81EF30B + msgbox Route110_Text_1F0006, 2 + end + +Route110_EventScript_1EF314:: @ 81EF314 + msgbox Route110_Text_1F006A, 2 + end + +Route110_EventScript_1EF31D:: @ 81EF31D + msgbox Route110_Text_1F0261, 2 + end + +Route110_EventScript_1EF326:: @ 81EF326 + msgbox Route110_Text_1F02CA, 2 + end + +Route110_EventScript_1EF32F:: @ 81EF32F + msgbox Route110_Text_1F030E, 2 + end + +Route110_EventScript_1EF338:: @ 81EF338 + msgbox Route110_Text_1F0390, 2 + end + +Route110_EventScript_1EF341:: @ 81EF341 + msgbox Route110_Text_1F0812, 3 + end + +Route110_EventScript_1EF34A:: @ 81EF34A + msgbox Route110_Text_1F082D, 3 + end + +Route110_EventScript_1EF353:: @ 81EF353 + msgbox Route110_Text_1F0842, 3 + end + +Route110_EventScript_1EF35C:: @ 81EF35C + msgbox Route110_Text_1F08CD, 3 + end + +Route110_EventScript_1EF365:: @ 81EF365 + msgbox Route110_Text_1F08E3, 3 + end + +Route110_EventScript_1EF36E:: @ 81EF36E + msgbox Route110_Text_1F08F3, 3 + end + +Route110_EventScript_1EF377:: @ 81EF377 + msgbox Route110_Text_1F090D, 3 + end + +Route110_EventScript_1EF380:: @ 81EF380 + msgbox Route110_Text_1F0992, 3 + end + +Route110_EventScript_1EF389:: @ 81EF389 + msgbox Route110_Text_1F09DB, 3 + end + +Route110_EventScript_1EF392:: @ 81EF392 + lockall + specialvar VAR_RESULT, GetRecordedCyclingRoadResults + compare VAR_RESULT, 0 + goto_eq Route110_EventScript_1EF3AD + msgbox Route110_Text_1F0A1E, 4 + releaseall + end + +Route110_EventScript_1EF3AD:: @ 81EF3AD + msgbox Route110_Text_1F0A5E, 4 + releaseall + end + +Route110_EventScript_1EF3B7:: @ 81EF3B7 + lock + faceplayer + specialvar VAR_RESULT, GetPlayerAvatarBike + compare VAR_RESULT, 1 + goto_eq Route110_EventScript_1EF3E8 + compare VAR_0x40A9, 0 + goto_eq Route110_EventScript_1EF3DE + msgbox Route110_Text_1F06FB, 4 + release + end + +Route110_EventScript_1EF3DE:: @ 81EF3DE + msgbox Route110_Text_1F0661, 4 + release + end + +Route110_EventScript_1EF3E8:: @ 81EF3E8 + msgbox Route110_Text_1F0755, 4 + release + end + +Route110_EventScript_1EF3F2:: @ 81EF3F2 + trainerbattle 0, TRAINER_EDWARD, 0, Route110_Text_29802B, Route110_Text_298064 + msgbox Route110_Text_29808A, 6 + end + +Route110_EventScript_1EF409:: @ 81EF409 + trainerbattle 0, TRAINER_JACLYN, 0, Route110_Text_2980B9, Route110_Text_2980E5 + msgbox Route110_Text_2980F8, 6 + end + +Route110_EventScript_1EF420:: @ 81EF420 + trainerbattle 2, TRAINER_EDWIN_1, 0, Route110_Text_29815E, Route110_Text_29818F, Route110_EventScript_1EF44C + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route110_EventScript_1EF46B + msgbox Route110_Text_2981B3, 4 + release + end + +Route110_EventScript_1EF44C:: @ 81EF44C + special sub_80B4808 + waitmovement 0 + msgbox Route110_Text_298201, 4 + setvar VAR_0x8004, 512 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 512 + callstd 8 + release + end + +Route110_EventScript_1EF46B:: @ 81EF46B + trainerbattle 5, TRAINER_EDWIN_1, 0, Route110_Text_298232, Route110_Text_298288 + msgbox Route110_Text_2982A2, 6 + end + +Route110_EventScript_1EF482:: @ 81EF482 + trainerbattle 0, TRAINER_DALE, 0, Route110_Text_2982CC, Route110_Text_2982F5 + msgbox Route110_Text_298303, 6 + end + +Route110_EventScript_1EF499:: @ 81EF499 + trainerbattle 0, TRAINER_JACOB, 0, Route110_Text_297B3F, Route110_Text_297B77 + msgbox Route110_Text_297B8F, 6 + end + +Route110_EventScript_1EF4B0:: @ 81EF4B0 + trainerbattle 0, TRAINER_ANTHONY, 0, Route110_Text_297BE7, Route110_Text_297C0F + msgbox Route110_Text_297C1F, 6 + end + +Route110_EventScript_1EF4C7:: @ 81EF4C7 + trainerbattle 2, TRAINER_BENJAMIN_1, 0, Route110_Text_297C63, Route110_Text_297C8A, Route110_EventScript_1EF4F3 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route110_EventScript_1EF512 + msgbox Route110_Text_297CB4, 4 + release + end + +Route110_EventScript_1EF4F3:: @ 81EF4F3 + special sub_80B4808 + waitmovement 0 + msgbox Route110_Text_297CFE, 4 + setvar VAR_0x8004, 353 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 353 + callstd 8 + release + end + +Route110_EventScript_1EF512:: @ 81EF512 + trainerbattle 5, TRAINER_BENJAMIN_1, 0, Route110_Text_297D4B, Route110_Text_297D8E + msgbox Route110_Text_297DB0, 6 + end + +Route110_EventScript_1EF529:: @ 81EF529 + trainerbattle 0, TRAINER_JASMINE, 0, Route110_Text_297F93, Route110_Text_297FD0 + msgbox Route110_Text_297FF1, 6 + end + +Route110_EventScript_1EF540:: @ 81EF540 + trainerbattle 2, TRAINER_ABIGAIL_1, 0, Route110_Text_297DFA, Route110_Text_297E69, Route110_EventScript_1EF56C + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route110_EventScript_1EF58B + msgbox Route110_Text_297E88, 4 + release + end + +Route110_EventScript_1EF56C:: @ 81EF56C + special sub_80B4808 + waitmovement 0 + msgbox Route110_Text_297ECD, 4 + setvar VAR_0x8004, 358 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 358 + callstd 8 + release + end + +Route110_EventScript_1EF58B:: @ 81EF58B + trainerbattle 5, TRAINER_ABIGAIL_1, 0, Route110_Text_297F09, Route110_Text_297F37 + msgbox Route110_Text_297F58, 6 + end + +Route110_EventScript_1EF5A2:: @ 81EF5A2 + trainerbattle 2, TRAINER_ISABEL_1, 0, Route110_Text_298349, Route110_Text_298389, Route110_EventScript_1EF5CE + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route110_EventScript_1EF5ED + msgbox Route110_Text_2983A2, 4 + release + end + +Route110_EventScript_1EF5CE:: @ 81EF5CE + special sub_80B4808 + waitmovement 0 + msgbox Route110_Text_2983EE, 4 + setvar VAR_0x8004, 302 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 302 + callstd 8 + release + end + +Route110_EventScript_1EF5ED:: @ 81EF5ED + trainerbattle 5, TRAINER_ISABEL_1, 0, Route110_Text_298466, Route110_Text_2984AF + msgbox Route110_Text_2984C8, 6 + end + +Route110_EventScript_1EF604:: @ 81EF604 + trainerbattle 0, TRAINER_TIMMY, 0, Route110_Text_298525, Route110_Text_298559 + msgbox Route110_Text_298579, 6 + end + +Route110_EventScript_1EF61B:: @ 81EF61B + end + +Route110_EventScript_1EF61C:: @ 81EF61C + trainerbattle 0, TRAINER_KALEB, 0, Route110_Text_2986ED, Route110_Text_298735 + msgbox Route110_Text_298755, 6 + end + +Route110_EventScript_1EF633:: @ 81EF633 + trainerbattle 0, TRAINER_JOSEPH, 0, Route110_Text_298642, Route110_Text_298686 + msgbox Route110_Text_2986A9, 6 + end + +Route110_EventScript_1EF64A:: @ 81EF64A + trainerbattle 0, TRAINER_ALYSSA, 0, Route110_Text_2985AB, Route110_Text_2985F9 + msgbox Route110_Text_298612, 6 + end + +Route110_EventScript_1EF661:: @ 81EF661 + lockall + applymovement 21, Route110_Movement_2725A8 + waitmovement 0 + call Route110_EventScript_1EF673 + releaseall + end + +Route110_EventScript_1EF673:: @ 81EF673 + special FinishCyclingRoadChallenge + msgbox Route110_Text_1F03FF, 4 + switch VAR_RESULT + case 10, Route110_EventScript_1EF6FD + case 9, Route110_EventScript_1EF70B + case 8, Route110_EventScript_1EF70B + case 7, Route110_EventScript_1EF70B + case 6, Route110_EventScript_1EF719 + case 5, Route110_EventScript_1EF719 + case 4, Route110_EventScript_1EF719 + case 3, Route110_EventScript_1EF727 + case 2, Route110_EventScript_1EF727 + case 1, Route110_EventScript_1EF727 + case 0, Route110_EventScript_1EF735 + end + +Route110_EventScript_1EF6FD:: @ 81EF6FD + msgbox Route110_Text_1F0431, 4 + goto Route110_EventScript_1EF743 + end + +Route110_EventScript_1EF70B:: @ 81EF70B + msgbox Route110_Text_1F04A4, 4 + goto Route110_EventScript_1EF743 + end + +Route110_EventScript_1EF719:: @ 81EF719 + msgbox Route110_Text_1F0500, 4 + goto Route110_EventScript_1EF743 + end + +Route110_EventScript_1EF727:: @ 81EF727 + msgbox Route110_Text_1F0567, 4 + goto Route110_EventScript_1EF743 + end + +Route110_EventScript_1EF735:: @ 81EF735 + msgbox Route110_Text_1F05CE, 4 + goto Route110_EventScript_1EF743 + end + +Route110_EventScript_1EF743:: @ 81EF743 + setvar VAR_0x40A9, 3 + savebgm MUS_DUMMY + fadedefaultbgm + return + +Route110_EventScript_1EF74D:: @ 81EF74D + setvar VAR_0x8008, 1 + goto Route110_EventScript_1EF76E + end + +Route110_EventScript_1EF758:: @ 81EF758 + setvar VAR_0x8008, 2 + goto Route110_EventScript_1EF76E + end + +Route110_EventScript_1EF763:: @ 81EF763 + setvar VAR_0x8008, 3 + goto Route110_EventScript_1EF76E + end + +Route110_EventScript_1EF76E:: @ 81EF76E + lockall + checkplayergender + compare VAR_RESULT, 0 + call_if 1, Route110_EventScript_1EF7E1 + compare VAR_RESULT, 1 + call_if 1, Route110_EventScript_1EF7E6 + applymovement 28, Route110_Movement_2725AA + waitmovement 0 + applymovement 28, Route110_Movement_272598 + waitmovement 0 + applymovement 28, Route110_Movement_27259A + waitmovement 0 + delay 30 + compare VAR_0x8008, 1 + call_if 1, Route110_EventScript_1EF94E + compare VAR_0x8008, 2 + call_if 1, Route110_EventScript_1EF959 + compare VAR_0x8008, 3 + call_if 1, Route110_EventScript_1EF964 + checkplayergender + compare VAR_RESULT, 0 + goto_eq Route110_EventScript_1EF7EB + compare VAR_RESULT, 1 + goto_eq Route110_EventScript_1EF865 + releaseall + end + +Route110_EventScript_1EF7E1:: @ 81EF7E1 + playbgm MUS_GIRL_SUP, 1 + return + +Route110_EventScript_1EF7E6:: @ 81EF7E6 + playbgm MUS_BOY_SUP, 1 + return + +Route110_EventScript_1EF7EB:: @ 81EF7EB + msgbox Route110_Text_1EFC48, 4 + switch VAR_FIRST_POKE + case 0, Route110_EventScript_1EF81A + case 1, Route110_EventScript_1EF82A + case 2, Route110_EventScript_1EF83A + end + +Route110_EventScript_1EF81A:: @ 81EF81A + trainerbattle 3, TRAINER_MAY_5, 0, Route110_Text_1EFCCB + goto Route110_EventScript_1EF84A + end + +Route110_EventScript_1EF82A:: @ 81EF82A + trainerbattle 3, TRAINER_MAY_8, 0, Route110_Text_1EFCCB + goto Route110_EventScript_1EF84A + end + +Route110_EventScript_1EF83A:: @ 81EF83A + trainerbattle 3, TRAINER_MAY_2, 0, Route110_Text_1EFCCB + goto Route110_EventScript_1EF84A + end + +Route110_EventScript_1EF84A:: @ 81EF84A + msgbox Route110_Text_1EFCF1, 4 + call Route110_EventScript_1EF8DF + msgbox Route110_Text_1EFD58, 4 + goto Route110_EventScript_1EF8EC + end + +Route110_EventScript_1EF865:: @ 81EF865 + msgbox Route110_Text_1EFE3F, 4 + switch VAR_FIRST_POKE + case 0, Route110_EventScript_1EF894 + case 1, Route110_EventScript_1EF8A4 + case 2, Route110_EventScript_1EF8B4 + end + +Route110_EventScript_1EF894:: @ 81EF894 + trainerbattle 3, TRAINER_BRENDAN_5, 0, Route110_Text_1EFEB4 + goto Route110_EventScript_1EF8C4 + end + +Route110_EventScript_1EF8A4:: @ 81EF8A4 + trainerbattle 3, TRAINER_BRENDAN_8, 0, Route110_Text_1EFEB4 + goto Route110_EventScript_1EF8C4 + end + +Route110_EventScript_1EF8B4:: @ 81EF8B4 + trainerbattle 3, TRAINER_BRENDAN_2, 0, Route110_Text_1EFEB4 + goto Route110_EventScript_1EF8C4 + end + +Route110_EventScript_1EF8C4:: @ 81EF8C4 + msgbox Route110_Text_1EFECD, 4 + call Route110_EventScript_1EF8DF + msgbox Route110_Text_1EFF1C, 4 + goto Route110_EventScript_1EF8EC + end + +Route110_EventScript_1EF8DF:: @ 81EF8DF + giveitem_std ITEM_ITEMFINDER + return + +Route110_EventScript_1EF8EC:: @ 81EF8EC + closemessage + compare VAR_0x8008, 1 + call_if 1, Route110_EventScript_1EF990 + compare VAR_0x8008, 2 + call_if 1, Route110_EventScript_1EF998 + compare VAR_0x8008, 3 + call_if 1, Route110_EventScript_1EF9A0 + setobjectmovementtype 28, 10 + setobjectmovementtype 29, 10 + removeobject 28 + addobject 29 + delay 45 + compare VAR_0x8008, 1 + call_if 1, Route110_EventScript_1EF96F + compare VAR_0x8008, 2 + call_if 1, Route110_EventScript_1EF97A + compare VAR_0x8008, 3 + call_if 1, Route110_EventScript_1EF985 + removeobject 29 + setvar VAR_0x4069, 1 + savebgm MUS_DUMMY + fadedefaultbgm + releaseall + end + +Route110_EventScript_1EF94E:: @ 81EF94E + applymovement 28, Route110_Movement_1EF9A8 + waitmovement 0 + return + +Route110_EventScript_1EF959:: @ 81EF959 + applymovement 28, Route110_Movement_1EF9AC + waitmovement 0 + return + +Route110_EventScript_1EF964:: @ 81EF964 + applymovement 28, Route110_Movement_1EF9AE + waitmovement 0 + return + +Route110_EventScript_1EF96F:: @ 81EF96F + applymovement 29, Route110_Movement_1EF9B2 + waitmovement 0 + return + +Route110_EventScript_1EF97A:: @ 81EF97A + applymovement 29, Route110_Movement_1EF9BA + waitmovement 0 + return + +Route110_EventScript_1EF985:: @ 81EF985 + applymovement 29, Route110_Movement_1EF9C3 + waitmovement 0 + return + +Route110_EventScript_1EF990:: @ 81EF990 + setobjectxyperm 29, 33, 55 + return + +Route110_EventScript_1EF998:: @ 81EF998 + setobjectxyperm 29, 34, 55 + return + +Route110_EventScript_1EF9A0:: @ 81EF9A0 + setobjectxyperm 29, 35, 55 + return + +Route110_Movement_1EF9A8: @ 81EF9A8 + step_down + step_left + step_25 + step_end + +Route110_Movement_1EF9AC: @ 81EF9AC + step_down + step_end + +Route110_Movement_1EF9AE: @ 81EF9AE + step_down + step_right + step_25 + step_end + +Route110_Movement_1EF9B2: @ 81EF9B2 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_end + +Route110_Movement_1EF9BA: @ 81EF9BA + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_15 + step_end + +Route110_Movement_1EF9C3: @ 81EF9C3 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_end + +Route110_EventScript_1EF9CB:: @ 81EF9CB + lockall + setvar VAR_0x8008, 1 + goto Route110_EventScript_1EF9F7 + +Route110_EventScript_1EF9D6:: @ 81EF9D6 + lockall + setvar VAR_0x8008, 2 + goto Route110_EventScript_1EF9F7 + +Route110_EventScript_1EF9E1:: @ 81EF9E1 + lockall + setvar VAR_0x8008, 3 + goto Route110_EventScript_1EF9F7 + +Route110_EventScript_1EF9EC:: @ 81EF9EC + lockall + setvar VAR_0x8008, 4 + goto Route110_EventScript_1EF9F7 + +Route110_EventScript_1EF9F7:: @ 81EF9F7 + addobject 36 + applymovement 36, Route110_Movement_1EFB30 + waitmovement 0 + playse SE_PIN + applymovement 36, Route110_Movement_272598 + waitmovement 0 + applymovement 36, Route110_Movement_27259A + waitmovement 0 + compare VAR_0x8008, 1 + call_if 1, Route110_EventScript_1EFAD8 + compare VAR_0x8008, 2 + call_if 1, Route110_EventScript_1EFAE3 + compare VAR_0x8008, 3 + call_if 1, Route110_EventScript_1EFAEE + compare VAR_0x8008, 4 + call_if 1, Route110_EventScript_1EFAF9 + msgbox Route110_Text_1F0AB5, 4 + closemessage + delay 20 + applymovement 36, Route110_Movement_2725A4 + waitmovement 0 + delay 10 + applymovement 36, Route110_Movement_2725A8 + waitmovement 0 + delay 20 + applymovement 36, Route110_Movement_2725AA + waitmovement 0 + delay 30 + msgbox Route110_Text_1F0AFF, 4 + closemessage + delay 30 + playfanfare MUS_ME_TORE_EYE + msgbox Route110_Text_1F0C0C, 4 + waitfanfare + closemessage + delay 30 + setflag FLAG_0x119 + msgbox Route110_Text_1F0C33, 4 + closemessage + compare VAR_0x8008, 1 + call_if 1, Route110_EventScript_1EFB04 + compare VAR_0x8008, 2 + call_if 1, Route110_EventScript_1EFB0F + compare VAR_0x8008, 3 + call_if 1, Route110_EventScript_1EFB1A + compare VAR_0x8008, 4 + call_if 1, Route110_EventScript_1EFB25 + removeobject 36 + setvar VAR_0x40DA, 2 + releaseall + end + +Route110_EventScript_1EFAD8:: @ 81EFAD8 + applymovement 36, Route110_Movement_1EFB34 + waitmovement 0 + return + +Route110_EventScript_1EFAE3:: @ 81EFAE3 + applymovement 36, Route110_Movement_1EFB39 + waitmovement 0 + return + +Route110_EventScript_1EFAEE:: @ 81EFAEE + applymovement 36, Route110_Movement_1EFB3D + waitmovement 0 + return + +Route110_EventScript_1EFAF9:: @ 81EFAF9 + applymovement 36, Route110_Movement_1EFB40 + waitmovement 0 + return + +Route110_EventScript_1EFB04:: @ 81EFB04 + applymovement 36, Route110_Movement_1EFB44 + waitmovement 0 + return + +Route110_EventScript_1EFB0F:: @ 81EFB0F + applymovement 36, Route110_Movement_1EFB4B + waitmovement 0 + return + +Route110_EventScript_1EFB1A:: @ 81EFB1A + applymovement 36, Route110_Movement_1EFB51 + waitmovement 0 + return + +Route110_EventScript_1EFB25:: @ 81EFB25 + applymovement 36, Route110_Movement_1EFB57 + waitmovement 0 + return + +Route110_Movement_1EFB30: @ 81EFB30 + step_down + step_down + step_down + step_end + +Route110_Movement_1EFB34: @ 81EFB34 + step_down + step_left + step_left + step_down + step_end + +Route110_Movement_1EFB39: @ 81EFB39 + step_down + step_left + step_down + step_end + +Route110_Movement_1EFB3D: @ 81EFB3D + step_down + step_down + step_end + +Route110_Movement_1EFB40: @ 81EFB40 + step_down + step_right + step_down + step_end + +Route110_Movement_1EFB44: @ 81EFB44 + step_up + step_up + step_right + step_up + step_up + step_up + step_end + +Route110_Movement_1EFB4B: @ 81EFB4B + step_up + step_up + step_up + step_up + step_up + step_end + +Route110_Movement_1EFB51: @ 81EFB51 + step_up + step_up + step_up + step_up + step_up + step_end + +Route110_Movement_1EFB57: @ 81EFB57 + step_up + step_up + step_up + step_up + step_up + step_end + +Route110_Text_1EFB5D: @ 81EFB5D + .string "TEAM AQUA’s activities…\n" + .string "We can’t talk about them yet.$" + +Route110_Text_1EFB93: @ 81EFB93 + .string "I want to get going to SLATEPORT and\n" + .string "kick up a ruckus!$" + +Route110_Text_1EFBCA: @ 81EFBCA + .string "This is my first job after joining\n" + .string "TEAM AQUA. It’s a little scary.$" + +Route110_Text_1EFC0D: @ 81EFC0D + .string "TEAM AQUA’s actions should bring\n" + .string "smiles to people’s faces!$" + +Route110_Text_1EFC48: @ 81EFC48 + .string "MAY: Hi, {PLAYER}{KUN}, long time no see!\p" + .string "While I was searching for other\n" + .string "POKéMON, my POKéMON grew stronger.\p" + .string "So…\n" + .string "How about a little battle?$" + +Route110_Text_1EFCCB: @ 81EFCCB + .string "Yikes!\n" + .string "You’re better than I expected!$" + +Route110_Text_1EFCF1: @ 81EFCF1 + .string "MAY: {PLAYER}{KUN}, you’ve been busy\n" + .string "training, too, haven’t you?\p" + .string "I think you deserve a reward!\n" + .string "This is from me!$" + +Route110_Text_1EFD58: @ 81EFD58 + .string "MAY: That’s an ITEMFINDER.\p" + .string "Try it out. If there is an item that’s\n" + .string "not visible, it emits a sound.\p" + .string "Okay, {PLAYER}{KUN}, let’s meet again!\p" + .string "I know it’s a little silly coming from\n" + .string "me, but I think you should train a lot\l" + .string "harder for the next time.$" + +Route110_Text_1EFE3F: @ 81EFE3F + .string "BRENDAN: Hey, {PLAYER}.\n" + .string "So this is where you were.\l" + .string "How’s it going?\p" + .string "Have you been raising your POKéMON?\n" + .string "I’ll check for you.$" + +Route110_Text_1EFEB4: @ 81EFEB4 + .string "Hmm…\n" + .string "You’re pretty good.$" + +Route110_Text_1EFECD: @ 81EFECD + .string "BRENDAN: {PLAYER}, you’ve trained\n" + .string "without me noticing…\p" + .string "Good enough!\n" + .string "Here, take this.$" + +Route110_Text_1EFF1C: @ 81EFF1C + .string "BRENDAN: That’s an ITEMFINDER.\p" + .string "Use it to root around for items that\n" + .string "aren’t visible.\p" + .string "If it senses something, it emits\n" + .string "a sound.\p" + .string "Anyway, I’m off to look for new\n" + .string "POKéMON.$" + +Route110_Text_1EFFC3: @ 81EFFC3 + .string "Wouldn’t it be great to ride a BIKE\n" + .string "at full speed on CYCLING ROAD?$" + +Route110_Text_1F0006: @ 81F0006 + .string "How do you like the way my raven-\n" + .string "colored hair streams behind me?\p" + .string "I grew my hair out just for that.$" + +Route110_Text_1F006A: @ 81F006A + .string "Oh, hey, you got that BIKE from RYDEL!\p" + .string "Oh, it’s glaringly obvious.\n" + .string "It says right on your bike…\p" + .string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\n" + .string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\p" + .string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\n" + .string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\p" + .string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\n" + .string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\p" + .string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\n" + .string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\p" + .string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL…\n" + .string "That name’s everywhere.\p" + .string "You should ride it around all over\n" + .string "the place--it’s good advertising!$" + +Route110_Text_1F0261: @ 81F0261 + .string "The two roads, one above, one below…\p" + .string "A road each for people and POKéMON.\n" + .string "Perhaps that is right and fair.$" + +Route110_Text_1F02CA: @ 81F02CA + .string "I don’t have a BIKE, so I’ll take\n" + .string "a leisurely walk on the low road.$" + +Route110_Text_1F030E: @ 81F030E + .string "Learning techniques will make BIKE\n" + .string "riding even more fun.\p" + .string "There are some places that you can\n" + .string "reach only by using a BIKE technique.$" + +Route110_Text_1F0390: @ 81F0390 + .string "Which should I choose?\p" + .string "Make a beeline for MAUVILLE on\n" + .string "CYCLING ROAD, or take the low road\l" + .string "and look for POKéMON?$" + +Route110_Text_1F03FF: @ 81F03FF + .string "Number of collisions:\n" + .string "… … {STR_VAR_1}!\p" + .string "Total time:\n" + .string "… … {STR_VAR_2}!$" + +Route110_Text_1F0431: @ 81F0431 + .string "Bravo! Splendid showing!\p" + .string "Your love of cycling comes from deep\n" + .string "within your heart.\l" + .string "You’ve shaken me to my very soul!$" + +Route110_Text_1F04A4: @ 81F04A4 + .string "Your technique is remarkable.\p" + .string "I suggest you speed up a bit while\n" + .string "still avoiding collisions.$" + +Route110_Text_1F0500: @ 81F0500 + .string "I would consider you a work in\n" + .string "progress.\p" + .string "Still, I hope you don’t forget the\n" + .string "sheer pleasure of cycling.$" + +Route110_Text_1F0567: @ 81F0567 + .string "My word… Your cycling skills border\n" + .string "on terrifying.\p" + .string "Most certainly, you need much more\n" + .string "practice riding.$" + +Route110_Text_1F05CE: @ 81F05CE + .string "…I am aghast…\p" + .string "You’re perhaps not cut out for this\n" + .string "unfortunate cycling business.\p" + .string "You ought to give serious thought to\n" + .string "returning that BIKE to RYDEL.$" + +Route110_Text_1F0661: @ 81F0661 + .string "This is CYCLING ROAD.\p" + .string "If you were to ride from MAUVILLE to\n" + .string "SLATEPORT on a MACH BIKE, you would\l" + .string "be rated for the number of collisions\l" + .string "and your total time.$" + +Route110_Text_1F06FB: @ 81F06FB + .string "Regardless of the results, I count on\n" + .string "seeing more challenges from you.\l" + .string "Always aim higher!$" + +Route110_Text_1F0755: @ 81F0755 + .string "On this CYCLING ROAD, those riding\n" + .string "MACH BIKES are rated for their number\l" + .string "of collisions and their total times.\p" + .string "ACRO BIKES do not qualify for rating.\n" + .string "They are easy to turn, so it’s not fair.$" + +Route110_Text_1F0812: @ 81F0812 + .string "ROUTE 110\n" + .string "{0x7A} SLATEPORT CITY$" + +Route110_Text_1F082D: @ 81F082D + .string "SEASIDE CYCLING ROAD$" + +Route110_Text_1F0842: @ 81F0842 + .string "“TEAM AQUA was here!”\p" + .string "Someone painted that onto this sign,\n" + .string "but then someone else painted over it.\p" + .string "“TEAM MAGMA rules!” is what it\n" + .string "says now.$" + +Route110_Text_1F08CD: @ 81F08CD + .string "ROUTE 110\n" + .string "{0x7B} ROUTE 103$" + +Route110_Text_1F08E3: @ 81F08E3 + .string "SEASIDE PARKING$" + +Route110_Text_1F08F3: @ 81F08F3 + .string "ROUTE 110\n" + .string "{0x79} MAUVILLE CITY$" + +Route110_Text_1F090D: @ 81F090D + .string "TRAINER TIPS\p" + .string "The foe can be made helpless by\n" + .string "paralyzing it or causing it to sleep.\p" + .string "It is an important technique for\n" + .string "POKéMON battles.$" + +Route110_Text_1F0992: @ 81F0992 + .string "TRAINER TIPS\p" + .string "The items in the BAG can be reorganized\n" + .string "by pressing SELECT.$" + +Route110_Text_1F09DB: @ 81F09DB + .string "“Three steps {0x7C} and two steps {0x79}\n" + .string "to reach the wondrous TRICK HOUSE.”$" + +Route110_Text_1F0A1E: @ 81F0A1E + .string "THE BEST RECORD TO DATE…\p" + .string "No. of collisions: {STR_VAR_1}\p" + .string "Elapsed time: {STR_VAR_2}$" + +Route110_Text_1F0A5E: @ 81F0A5E + .string "THE BEST RECORD TO DATE…\p" + .string "No one seems to have taken the\n" + .string "challenge. There is no record…$" + +Route110_Text_1F0AB5: @ 81F0AB5 + .string "PROF. BIRCH: Oh, {PLAYER}{KUN}!\n" + .string "Imagine seeing you here!\p" + .string "And where might my {RIVAL} be?$" + +Route110_Text_1F0AFF: @ 81F0AFF + .string "Oh, I see!\n" + .string "You two are running separately.\l" + .string "Well, that’s fine.\p" + .string "Oh, yes, I heard that your POKéNAV\n" + .string "had the MATCH CALL system installed.\p" + .string "Well, then, I should register you in\n" + .string "my POKéNAV as well.\p" + .string "That way, even when we’re apart,\n" + .string "I can rate your POKéDEX anytime.\p" + .string "… … … … … …$" + +Route110_Text_1F0C0C: @ 81F0C0C + .string "Registered PROF. BIRCH\n" + .string "in the POKéNAV.$" + +Route110_Text_1F0C33: @ 81F0C33 + .string "PROF. BIRCH: {PLAYER}{KUN}…\p" + .string "Please keep an eye out for my {RIVAL}.\n" + .string "… … … … … …\p" + .string "Well, I had better get going.\n" + .string "See you again, {PLAYER}{KUN}!$" + diff --git a/data/scripts/maps/Route110_SeasideCyclingRoadEntrance1.inc b/data/scripts/maps/Route110_SeasideCyclingRoadEntrance1.inc new file mode 100644 index 0000000000..053183b28f --- /dev/null +++ b/data/scripts/maps/Route110_SeasideCyclingRoadEntrance1.inc @@ -0,0 +1,50 @@ +Route110_SeasideCyclingRoadEntrance1_MapScripts:: @ 826EA77 + .byte 0 + +Route110_SeasideCyclingRoadEntrance1_EventScript_26EA78:: @ 826EA78 + lock + faceplayer + msgbox Route110_SeasideCyclingRoadEntrance1_Text_26EAC1, 4 + release + end + +Route110_SeasideCyclingRoadEntrance1_EventScript_26EA84:: @ 826EA84 + lockall + specialvar VAR_RESULT, GetPlayerAvatarBike + compare VAR_RESULT, 0 + goto_eq Route110_SeasideCyclingRoadEntrance1_EventScript_26EA9F + setflag FLAG_SYS_CYCLING_ROAD + setvar VAR_0x4001, 1 + releaseall + end + +Route110_SeasideCyclingRoadEntrance1_EventScript_26EA9F:: @ 826EA9F + msgbox Route110_SeasideCyclingRoadEntrance1_Text_26EB48, 4 + closemessage + applymovement 255, Route110_SeasideCyclingRoadEntrance1_Movement_26EAB4 + waitmovement 0 + releaseall + end + +Route110_SeasideCyclingRoadEntrance1_Movement_26EAB4: @ 826EAB4 + step_left + step_end + +Route110_SeasideCyclingRoadEntrance1_EventScript_26EAB6:: @ 826EAB6 + lockall + clearflag FLAG_SYS_CYCLING_ROAD + setvar VAR_0x4001, 0 + releaseall + end + +Route110_SeasideCyclingRoadEntrance1_Text_26EAC1: @ 826EAC1 + .string "On CYCLING ROAD, you can go all out\n" + .string "and cycle as fast as you’d like.\p" + .string "It feels great to go that fast, but try\n" + .string "not to crash into anyone!$" + +Route110_SeasideCyclingRoadEntrance1_Text_26EB48: @ 826EB48 + .string "Sorry, you can’t walk on CYCLING\n" + .string "ROAD. It’s too dangerous.\p" + .string "Please come back with a BIKE.$" + diff --git a/data/scripts/maps/Route110_SeasideCyclingRoadEntrance2.inc b/data/scripts/maps/Route110_SeasideCyclingRoadEntrance2.inc new file mode 100644 index 0000000000..6023738252 --- /dev/null +++ b/data/scripts/maps/Route110_SeasideCyclingRoadEntrance2.inc @@ -0,0 +1,69 @@ +Route110_SeasideCyclingRoadEntrance2_MapScripts:: @ 826EBA1 + map_script 3, Route110_SeasideCyclingRoadEntrance2_MapScript1_26EBA7 + .byte 0 + +Route110_SeasideCyclingRoadEntrance2_MapScript1_26EBA7: @ 826EBA7 + compare VAR_0x40A9, 3 + call_if 1, Route110_SeasideCyclingRoadEntrance2_EventScript_26EBBE + compare VAR_0x40A9, 2 + call_if 1, Route110_SeasideCyclingRoadEntrance2_EventScript_26EBBE + end + +Route110_SeasideCyclingRoadEntrance2_EventScript_26EBBE:: @ 826EBBE + setvar VAR_0x40A9, 1 + return + +Route110_SeasideCyclingRoadEntrance2_EventScript_26EBC4:: @ 826EBC4 + lock + faceplayer + msgbox Route110_SeasideCyclingRoadEntrance2_Text_26EC23, 4 + release + end + +Route110_SeasideCyclingRoadEntrance2_EventScript_26EBD0:: @ 826EBD0 + lockall + specialvar VAR_RESULT, GetPlayerAvatarBike + compare VAR_RESULT, 2 + call_if 1, Route110_SeasideCyclingRoadEntrance2_EventScript_26EBF6 + compare VAR_RESULT, 0 + goto_eq Route110_SeasideCyclingRoadEntrance2_EventScript_26EBFC + setflag FLAG_SYS_CYCLING_ROAD + setvar VAR_0x4001, 1 + releaseall + end + +Route110_SeasideCyclingRoadEntrance2_EventScript_26EBF6:: @ 826EBF6 + setvar VAR_0x40A9, 1 + return + +Route110_SeasideCyclingRoadEntrance2_EventScript_26EBFC:: @ 826EBFC + msgbox Route110_SeasideCyclingRoadEntrance2_Text_26ECAA, 4 + closemessage + applymovement 255, Route110_SeasideCyclingRoadEntrance2_Movement_26EC11 + waitmovement 0 + releaseall + end + +Route110_SeasideCyclingRoadEntrance2_Movement_26EC11: @ 826EC11 + step_left + step_end + +Route110_SeasideCyclingRoadEntrance2_EventScript_26EC13:: @ 826EC13 + lockall + setvar VAR_0x40A9, 0 + clearflag FLAG_SYS_CYCLING_ROAD + setvar VAR_0x4001, 0 + releaseall + end + +Route110_SeasideCyclingRoadEntrance2_Text_26EC23: @ 826EC23 + .string "On CYCLING ROAD, you can go all out\n" + .string "and cycle as fast as you’d like.\p" + .string "It feels great to go that fast, but try\n" + .string "not to crash into anyone!$" + +Route110_SeasideCyclingRoadEntrance2_Text_26ECAA: @ 826ECAA + .string "Sorry, you can’t walk on CYCLING\n" + .string "ROAD. It’s too dangerous.\p" + .string "Please come back with a BIKE.$" + diff --git a/data/scripts/maps/Route110_TrickHouseCorridor.inc b/data/scripts/maps/Route110_TrickHouseCorridor.inc new file mode 100644 index 0000000000..cf520c81f7 --- /dev/null +++ b/data/scripts/maps/Route110_TrickHouseCorridor.inc @@ -0,0 +1,8 @@ +Route110_TrickHouseCorridor_MapScripts:: @ 826B903 + map_script 3, Route110_TrickHouseCorridor_MapScript1_26B909 + .byte 0 + +Route110_TrickHouseCorridor_MapScript1_26B909: @ 826B909 + setvar VAR_0x40B5, 1 + end + diff --git a/data/scripts/maps/Route110_TrickHouseEnd.inc b/data/scripts/maps/Route110_TrickHouseEnd.inc new file mode 100644 index 0000000000..a0aa5856cf --- /dev/null +++ b/data/scripts/maps/Route110_TrickHouseEnd.inc @@ -0,0 +1,369 @@ +Route110_TrickHouseEnd_MapScripts:: @ 826ACAF + map_script 5, Route110_TrickHouseEnd_MapScript1_26ACC4 + map_script 3, Route110_TrickHouseEnd_MapScript1_26ACD0 + map_script 2, Route110_TrickHouseEnd_MapScript2_26ACF5 + map_script 4, Route110_TrickHouseEnd_MapScript2_26ACDE + .byte 0 + +Route110_TrickHouseEnd_MapScript1_26ACC4: @ 826ACC4 + compare VAR_0x4001, 1 + call_if 1, Route110_TrickHouseEnd_EventScript_26AD0D + end + +Route110_TrickHouseEnd_MapScript1_26ACD0: @ 826ACD0 + setvar VAR_0x4001, 0 + setvar VAR_0x4002, 0 + special SetTrickHouseEndRoomFlag + end + +Route110_TrickHouseEnd_MapScript2_26ACDE: @ 826ACDE + map_script_2 VAR_0x4002, 0, Route110_TrickHouseEnd_EventScript_26ACE8 + .2byte 0 + +Route110_TrickHouseEnd_EventScript_26ACE8:: @ 826ACE8 + addobject 1 + showobjectat 1, ROUTE_110_TRICK_HOUSE_END + turnobject 1, 4 + end + +Route110_TrickHouseEnd_MapScript2_26ACF5: @ 826ACF5 + map_script_2 VAR_0x4001, 0, Route110_TrickHouseEnd_EventScript_26ACFF + .2byte 0 + +Route110_TrickHouseEnd_EventScript_26ACFF:: @ 826ACFF + setvar VAR_0x4001, 1 + call Route110_TrickHouseEnd_EventScript_26AD0D + special DrawWholeMapView + end + +Route110_TrickHouseEnd_EventScript_26AD0D:: @ 826AD0D + setmetatile 10, 1, 539, 1 + return + +Route110_TrickHouseEnd_EventScript_26AD17:: @ 826AD17 + lock + faceplayer + msgbox Route110_TrickHouseEnd_Text_26B08D, 4 + setvar VAR_0x4002, 1 + switch VAR_0x4044 + case 0, Route110_TrickHouseEnd_EventScript_26AD84 + case 1, Route110_TrickHouseEnd_EventScript_26ADC0 + case 2, Route110_TrickHouseEnd_EventScript_26ADFC + case 3, Route110_TrickHouseEnd_EventScript_26AE38 + case 4, Route110_TrickHouseEnd_EventScript_26AE74 + case 5, Route110_TrickHouseEnd_EventScript_26AEB0 + case 6, Route110_TrickHouseEnd_EventScript_26AEEC + case 7, Route110_TrickHouseEnd_EventScript_26AF28 + end + +Route110_TrickHouseEnd_EventScript_26AD84:: @ 826AD84 + msgbox Route110_TrickHouseEnd_Text_26B0BC, 4 + msgbox Route110_TrickHouseEnd_Text_26B73D, 4 + setvar VAR_0x40C1, 0 + giveitem_std ITEM_RARE_CANDY + compare VAR_RESULT, 0 + call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF + msgbox Route110_TrickHouseEnd_Text_26B7EF, 4 + closemessage + call Route110_TrickHouseEnd_EventScript_26AFCF + release + end + +Route110_TrickHouseEnd_EventScript_26ADC0:: @ 826ADC0 + msgbox Route110_TrickHouseEnd_Text_26B13B, 4 + msgbox Route110_TrickHouseEnd_Text_26B73D, 4 + setvar VAR_0x40C1, 0 + giveitem_std ITEM_TIMER_BALL + compare VAR_RESULT, 0 + call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF + msgbox Route110_TrickHouseEnd_Text_26B7EF, 4 + closemessage + call Route110_TrickHouseEnd_EventScript_26AFCF + release + end + +Route110_TrickHouseEnd_EventScript_26ADFC:: @ 826ADFC + msgbox Route110_TrickHouseEnd_Text_26B1AD, 4 + msgbox Route110_TrickHouseEnd_Text_26B73D, 4 + setvar VAR_0x40C1, 0 + giveitem_std ITEM_HARD_STONE + compare VAR_RESULT, 0 + call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF + msgbox Route110_TrickHouseEnd_Text_26B7EF, 4 + closemessage + call Route110_TrickHouseEnd_EventScript_26AFCF + release + end + +Route110_TrickHouseEnd_EventScript_26AE38:: @ 826AE38 + msgbox Route110_TrickHouseEnd_Text_26B223, 4 + msgbox Route110_TrickHouseEnd_Text_26B73D, 4 + setvar VAR_0x40C1, 0 + giveitem_std ITEM_SMOKE_BALL + compare VAR_RESULT, 0 + call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF + msgbox Route110_TrickHouseEnd_Text_26B7EF, 4 + closemessage + call Route110_TrickHouseEnd_EventScript_26AFCF + release + end + +Route110_TrickHouseEnd_EventScript_26AE74:: @ 826AE74 + msgbox Route110_TrickHouseEnd_Text_26B293, 4 + msgbox Route110_TrickHouseEnd_Text_26B73D, 4 + setvar VAR_0x40C1, 0 + giveitem_std ITEM_TM12 + compare VAR_RESULT, 0 + call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF + msgbox Route110_TrickHouseEnd_Text_26B7EF, 4 + closemessage + call Route110_TrickHouseEnd_EventScript_26AFCF + release + end + +Route110_TrickHouseEnd_EventScript_26AEB0:: @ 826AEB0 + msgbox Route110_TrickHouseEnd_Text_26B315, 4 + msgbox Route110_TrickHouseEnd_Text_26B73D, 4 + setvar VAR_0x40C1, 0 + giveitem_std ITEM_MAGNET + compare VAR_RESULT, 0 + call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF + msgbox Route110_TrickHouseEnd_Text_26B7EF, 4 + closemessage + call Route110_TrickHouseEnd_EventScript_26AFCF + release + end + +Route110_TrickHouseEnd_EventScript_26AEEC:: @ 826AEEC + msgbox Route110_TrickHouseEnd_Text_26B365, 4 + msgbox Route110_TrickHouseEnd_Text_26B73D, 4 + setvar VAR_0x40C1, 0 + giveitem_std ITEM_PP_MAX + compare VAR_RESULT, 0 + call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF + msgbox Route110_TrickHouseEnd_Text_26B7EF, 4 + closemessage + call Route110_TrickHouseEnd_EventScript_26AFCF + release + end + +Route110_TrickHouseEnd_EventScript_26AF28:: @ 826AF28 + msgbox Route110_TrickHouseEnd_Text_26B3AB, 4 + closemessage + compare VAR_FACING, 1 + call_if 1, Route110_TrickHouseEnd_EventScript_26B015 + compare VAR_FACING, 2 + call_if 1, Route110_TrickHouseEnd_EventScript_26B020 + compare VAR_FACING, 3 + call_if 1, Route110_TrickHouseEnd_EventScript_26B02B + compare VAR_FACING, 4 + call_if 1, Route110_TrickHouseEnd_EventScript_26B036 + delay 30 + msgbox Route110_TrickHouseEnd_Text_26B3FA, 4 + closemessage + applymovement 1, Route110_TrickHouseEnd_Movement_27259E + waitmovement 0 + delay 30 + msgbox Route110_TrickHouseEnd_Text_26B485, 4 + setvar VAR_0x40C1, 0 + call Route110_TrickHouseEnd_EventScript_26AFA5 + compare VAR_RESULT, 0 + call_if 1, Route110_TrickHouseEnd_EventScript_26B002 + msgbox Route110_TrickHouseEnd_Text_26B69A, 4 + call Route110_TrickHouseEnd_EventScript_26AFCF + special ResetTrickHouseEndRoomFlag + release + end + +Route110_TrickHouseEnd_EventScript_26AFA5:: @ 826AFA5 + multichoice 0, 0, 88, 1 + switch VAR_RESULT + case 0, Route110_TrickHouseEnd_EventScript_26AFBF + goto Route110_TrickHouseEnd_EventScript_26AFC7 + +Route110_TrickHouseEnd_EventScript_26AFBF:: @ 826AFBF + givedecoration_std 31 + return + +Route110_TrickHouseEnd_EventScript_26AFC7:: @ 826AFC7 + givedecoration_std 32 + return + +Route110_TrickHouseEnd_EventScript_26AFCF:: @ 826AFCF + applymovement 1, Route110_TrickHouseEnd_Movement_269E36 + waitmovement 0 + playse SE_W153 + applymovement 1, Route110_TrickHouseEnd_Movement_269E3F + waitmovement 0 + removeobject 1 + addvar VAR_0x4044, 1 + return + +Route110_TrickHouseEnd_EventScript_26AFEF:: @ 826AFEF + call Route110_TrickHouseEnd_EventScript_27205E + msgbox Route110_TrickHouseEnd_Text_26B760, 4 + setvar VAR_0x40C1, 1 + return + +Route110_TrickHouseEnd_EventScript_26B002:: @ 826B002 + call Route110_TrickHouseEnd_EventScript_272071 + msgbox Route110_TrickHouseEnd_Text_26B615, 4 + setvar VAR_0x40C1, 1 + return + +Route110_TrickHouseEnd_EventScript_26B015:: @ 826B015 + applymovement 1, Route110_TrickHouseEnd_Movement_2725AA + waitmovement 0 + return + +Route110_TrickHouseEnd_EventScript_26B020:: @ 826B020 + applymovement 1, Route110_TrickHouseEnd_Movement_2725A6 + waitmovement 0 + return + +Route110_TrickHouseEnd_EventScript_26B02B:: @ 826B02B + applymovement 1, Route110_TrickHouseEnd_Movement_2725A4 + waitmovement 0 + return + +Route110_TrickHouseEnd_EventScript_26B036:: @ 826B036 + applymovement 1, Route110_TrickHouseEnd_Movement_2725A8 + waitmovement 0 + return + +Route110_TrickHouseEnd_EventScript_26B041:: @ 826B041 + lockall + turnobject 1, 3 + playse SE_PIN + applymovement 1, Route110_TrickHouseEnd_Movement_272598 + waitmovement 0 + delay 20 + applymovement 1, Route110_TrickHouseEnd_Movement_26B08B + waitmovement 0 + playse SE_W153 + applymovement 255, Route110_TrickHouseEnd_Movement_2725AA + waitmovement 0 + msgbox Route110_TrickHouseEnd_Text_26B8BD, 4 + closemessage + applymovement 255, Route110_TrickHouseEnd_Movement_26B089 + waitmovement 0 + delay 4 + turnobject 1, 4 + releaseall + end + +Route110_TrickHouseEnd_Movement_26B089: @ 826B089 + step_down + step_end + +Route110_TrickHouseEnd_Movement_26B08B: @ 826B08B + step_48 + step_end + +Route110_TrickHouseEnd_Text_26B08D: @ 826B08D + .string "Aak!\n" + .string "You’ve made it to me?\l" + .string "Hmmm… You’re sharp!$" + +Route110_TrickHouseEnd_Text_26B0BC: @ 826B0BC + .string "It took me all night to plant all those\n" + .string "trees…\p" + .string "You’re almost my equal in greatness by\n" + .string "one, two, three, four, five, six places!$" + +Route110_TrickHouseEnd_Text_26B13B: @ 826B13B + .string "It took me all night to make the maze…\p" + .string "You’re almost my equal in greatness by\n" + .string "one, two, three, four, five places!$" + +Route110_TrickHouseEnd_Text_26B1AD: @ 826B1AD + .string "It took me all night to prepare\n" + .string "the wall panels…\p" + .string "You’re almost my equal in greatness by\n" + .string "one, two, three, four places!$" + +Route110_TrickHouseEnd_Text_26B223: @ 826B223 + .string "It took me all night to shove in those\n" + .string "boulders…\p" + .string "You’re almost my equal in greatness by\n" + .string "one, two, three places!$" + +Route110_TrickHouseEnd_Text_26B293: @ 826B293 + .string "It took me all night to make MECHADOLLS\n" + .string "and another to think up the quiz…\p" + .string "You’re almost my equal in greatness by\n" + .string "one, two places!$" + +Route110_TrickHouseEnd_Text_26B315: @ 826B315 + .string "It took me all night to install\n" + .string "the doors…\p" + .string "You’re almost my equal in greatness!$" + +Route110_TrickHouseEnd_Text_26B365: @ 826B365 + .string "It took me all night setting up arrows…\p" + .string "You’re my equal in greatness!$" + +Route110_TrickHouseEnd_Text_26B3AB: @ 826B3AB + .string "It took me all night polishing floors…\p" + .string "You’re above me in greatness!\n" + .string "Possibly…$" + +Route110_TrickHouseEnd_Text_26B3FA: @ 826B3FA + .string "Wh-what should I do?\n" + .string "My fountain of ideas for tricks has\l" + .string "run dry…\p" + .string "Perhaps it is time I toured the country\n" + .string "on a quest to devise new tricks…$" + +Route110_TrickHouseEnd_Text_26B485: @ 826B485 + .string "I hate to admit defeat, but you have\n" + .string "bested me!\p" + .string "Still, you must have been reeled in by\n" + .string "my charisma for you to visit me again\l" + .string "and again. Yes, you must have!\p" + .string "But that has nothing to do with my\n" + .string "losing!\p" + .string "In recognition of the friendship\n" + .string "between you, the driven, and the genius\l" + .string "that is myself, I demand that you take\l" + .string "this keepsake!\p" + .string "Actually there are two--\n" + .string "a RED TENT and a BLUE TENT.\l" + .string "Which do you prefer?$" + +Route110_TrickHouseEnd_Text_26B615: @ 826B615 + .string "What? No room in your PC?\n" + .string "What am I to make of that?\p" + .string "I wish I could say that, but I am much\n" + .string "too kind and caring, so come back later!$" + +Route110_TrickHouseEnd_Text_26B69A: @ 826B69A + .string "… … … … … …\p" + .string "I am leaving on a journey of discovery.\n" + .string "A quest in search of new tricks.\p" + .string "I wish that you will one day visit and\n" + .string "entertain me again.\p" + .string "And now, farewell!$" + +Route110_TrickHouseEnd_Text_26B73D: @ 826B73D + .string "Fine!\n" + .string "You have earned this reward!$" + +Route110_TrickHouseEnd_Text_26B760: @ 826B760 + .string "What? Have you no room for this?\n" + .string "What manner of items do you carry?\p" + .string "But fine, since you’ve reached me,\n" + .string "your reward will be with me till later.$" + +Route110_TrickHouseEnd_Text_26B7EF: @ 826B7EF + .string "Scrub that smug smirk from your face!\n" + .string "It’s much too early to think you’ve won!\p" + .string "I’ll make new tricks to stump you, I will.\n" + .string "You may mock me only when you’re done.\p" + .string "Come back for the next exciting\n" + .string "installment!$" + +Route110_TrickHouseEnd_Text_26B8BD: @ 826B8BD + .string "Now, now! You’re ignoring me now?\n" + .string "Now that, I consider heartbreaking!$" + diff --git a/data/scripts/maps/Route110_TrickHouseEntrance.inc b/data/scripts/maps/Route110_TrickHouseEntrance.inc new file mode 100644 index 0000000000..4bf7eb10af --- /dev/null +++ b/data/scripts/maps/Route110_TrickHouseEntrance.inc @@ -0,0 +1,901 @@ +Route110_TrickHouseEntrance_MapScripts:: @ 8269A50 + map_script 3, Route110_TrickHouseEntrance_MapScript1_269A60 + map_script 2, Route110_TrickHouseEntrance_MapScript2_269CEE + map_script 4, Route110_TrickHouseEntrance_MapScript2_269BD3 + .byte 0 + +Route110_TrickHouseEntrance_MapScript1_269A60: @ 8269A60 + setflag FLAG_LANDMARK_TRICK_HOUSE + compare VAR_0x40B5, 1 + goto_eq Route110_TrickHouseEntrance_EventScript_269AF3 + compare VAR_0x40C1, 1 + goto_eq Route110_TrickHouseEntrance_EventScript_269AD7 + compare VAR_0x40A6, 1 + goto_eq Route110_TrickHouseEntrance_EventScript_269BB3 + compare VAR_0x40A7, 5 + call_if 1, Route110_TrickHouseEntrance_EventScript_269B03 + compare VAR_0x40A7, 3 + call_if 1, Route110_TrickHouseEntrance_EventScript_269B03 + compare VAR_0x40A7, 0 + call_if 1, Route110_TrickHouseEntrance_EventScript_269B03 + switch VAR_0x40A7 + case 0, Route110_TrickHouseEntrance_EventScript_269BBB + case 1, Route110_TrickHouseEntrance_EventScript_269BC1 + case 3, Route110_TrickHouseEntrance_EventScript_269BC7 + case 4, Route110_TrickHouseEntrance_EventScript_269BCD + end + +Route110_TrickHouseEntrance_EventScript_269AD7:: @ 8269AD7 + setvar VAR_0x40A5, 1 + compare VAR_0x4044, 8 + goto_eq Route110_TrickHouseEntrance_EventScript_269AED + setvar VAR_0x40A7, 2 + end + +Route110_TrickHouseEntrance_EventScript_269AED:: @ 8269AED + setvar VAR_0x40A7, 6 + end + +Route110_TrickHouseEntrance_EventScript_269AF3:: @ 8269AF3 + setvar VAR_0x40B5, 0 + setvar VAR_0x40A7, 5 + setvar VAR_0x40A5, 1 + end + +Route110_TrickHouseEntrance_EventScript_269B03:: @ 8269B03 + setvar VAR_0x40A7, 0 + compare VAR_0x4044, 1 + call_if 1, Route110_TrickHouseEntrance_EventScript_269B61 + compare VAR_0x4044, 2 + call_if 1, Route110_TrickHouseEntrance_EventScript_269B6B + compare VAR_0x4044, 3 + call_if 1, Route110_TrickHouseEntrance_EventScript_269B75 + compare VAR_0x4044, 4 + call_if 1, Route110_TrickHouseEntrance_EventScript_269B7F + compare VAR_0x4044, 5 + call_if 1, Route110_TrickHouseEntrance_EventScript_269B89 + compare VAR_0x4044, 6 + call_if 1, Route110_TrickHouseEntrance_EventScript_269B93 + compare VAR_0x4044, 7 + call_if 1, Route110_TrickHouseEntrance_EventScript_269B9D + compare VAR_0x4044, 8 + call_if 1, Route110_TrickHouseEntrance_EventScript_269BA7 + return + +Route110_TrickHouseEntrance_EventScript_269B61:: @ 8269B61 + checkflag FLAG_BADGE03_GET + call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD + return + +Route110_TrickHouseEntrance_EventScript_269B6B:: @ 8269B6B + checkflag FLAG_BADGE04_GET + call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD + return + +Route110_TrickHouseEntrance_EventScript_269B75:: @ 8269B75 + checkflag FLAG_BADGE05_GET + call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD + return + +Route110_TrickHouseEntrance_EventScript_269B7F:: @ 8269B7F + checkflag FLAG_BADGE06_GET + call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD + return + +Route110_TrickHouseEntrance_EventScript_269B89:: @ 8269B89 + checkflag FLAG_BADGE07_GET + call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD + return + +Route110_TrickHouseEntrance_EventScript_269B93:: @ 8269B93 + checkflag FLAG_BADGE08_GET + call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD + return + +Route110_TrickHouseEntrance_EventScript_269B9D:: @ 8269B9D + checkflag FLAG_SYS_GAME_CLEAR + call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD + return + +Route110_TrickHouseEntrance_EventScript_269BA7:: @ 8269BA7 + setvar VAR_0x40A7, 4 + return + +Route110_TrickHouseEntrance_EventScript_269BAD:: @ 8269BAD + setvar VAR_0x40A7, 3 + return + +Route110_TrickHouseEntrance_EventScript_269BB3:: @ 8269BB3 + setobjectxyperm 1, 5, 2 + end + +Route110_TrickHouseEntrance_EventScript_269BBB:: @ 8269BBB + setvar VAR_0x40A5, 0 + end + +Route110_TrickHouseEntrance_EventScript_269BC1:: @ 8269BC1 + setvar VAR_0x40A5, 1 + end + +Route110_TrickHouseEntrance_EventScript_269BC7:: @ 8269BC7 + setvar VAR_0x40A5, 1 + end + +Route110_TrickHouseEntrance_EventScript_269BCD:: @ 8269BCD + setvar VAR_0x40A5, 1 + end + +Route110_TrickHouseEntrance_MapScript2_269BD3: @ 8269BD3 + map_script_2 VAR_0x40A6, 1, Route110_TrickHouseEntrance_EventScript_269C15 + map_script_2 VAR_0x40A7, 0, Route110_TrickHouseEntrance_EventScript_269C26 + map_script_2 VAR_0x40A7, 1, Route110_TrickHouseEntrance_EventScript_269CCC + map_script_2 VAR_0x40A7, 2, Route110_TrickHouseEntrance_EventScript_269CD0 + map_script_2 VAR_0x40A7, 3, Route110_TrickHouseEntrance_EventScript_269CD0 + map_script_2 VAR_0x40A7, 4, Route110_TrickHouseEntrance_EventScript_269CCC + map_script_2 VAR_0x40A7, 5, Route110_TrickHouseEntrance_EventScript_269CCC + map_script_2 VAR_0x40A7, 6, Route110_TrickHouseEntrance_EventScript_269CDF + .2byte 0 + +Route110_TrickHouseEntrance_EventScript_269C15:: @ 8269C15 + addobject 1 + showobjectat 1, ROUTE_110_TRICK_HOUSE_ENTRANCE + turnobject 1, 4 + turnobject 255, 3 + end + +Route110_TrickHouseEntrance_EventScript_269C26:: @ 8269C26 + addobject 1 + hideobjectat 1, ROUTE_110_TRICK_HOUSE_ENTRANCE + switch VAR_0x4044 + case 0, Route110_TrickHouseEntrance_EventScript_269C8C + case 1, Route110_TrickHouseEntrance_EventScript_269C94 + case 2, Route110_TrickHouseEntrance_EventScript_269C9C + case 3, Route110_TrickHouseEntrance_EventScript_269CA4 + case 4, Route110_TrickHouseEntrance_EventScript_269CAC + case 5, Route110_TrickHouseEntrance_EventScript_269CB4 + case 6, Route110_TrickHouseEntrance_EventScript_269CBC + case 7, Route110_TrickHouseEntrance_EventScript_269CC4 + end + +Route110_TrickHouseEntrance_EventScript_269C8C:: @ 8269C8C + setobjectxy 1, 6, 3 + end + +Route110_TrickHouseEntrance_EventScript_269C94:: @ 8269C94 + setobjectxy 1, 11, 5 + end + +Route110_TrickHouseEntrance_EventScript_269C9C:: @ 8269C9C + setobjectxy 1, 9, 1 + end + +Route110_TrickHouseEntrance_EventScript_269CA4:: @ 8269CA4 + setobjectxy 1, 3, 1 + end + +Route110_TrickHouseEntrance_EventScript_269CAC:: @ 8269CAC + setobjectxy 1, 0, 5 + end + +Route110_TrickHouseEntrance_EventScript_269CB4:: @ 8269CB4 + setobjectxy 1, 11, 1 + end + +Route110_TrickHouseEntrance_EventScript_269CBC:: @ 8269CBC + setobjectxy 1, 8, 1 + end + +Route110_TrickHouseEntrance_EventScript_269CC4:: @ 8269CC4 + setobjectxy 1, 4, 4 + end + +Route110_TrickHouseEntrance_EventScript_269CCC:: @ 8269CCC + removeobject 1 + end + +Route110_TrickHouseEntrance_EventScript_269CD0:: @ 8269CD0 + addobject 1 + setobjectxy 1, 5, 2 + turnobject 1, 2 + end + +Route110_TrickHouseEntrance_EventScript_269CDF:: @ 8269CDF + addobject 1 + setobjectxy 1, 5, 2 + turnobject 1, 1 + end + +Route110_TrickHouseEntrance_MapScript2_269CEE: @ 8269CEE + map_script_2 VAR_0x40A6, 1, Route110_TrickHouseEntrance_EventScript_269CF8 + .2byte 0 + +Route110_TrickHouseEntrance_EventScript_269CF8:: @ 8269CF8 + lockall + delay 20 + compare VAR_0x4044, 0 + call_if 1, Route110_TrickHouseEntrance_EventScript_269E48 + msgbox Route110_TrickHouseEntrance_Text_26A78C, 4 + closemessage + delay 20 + applymovement 1, Route110_TrickHouseEntrance_Movement_269E36 + waitmovement 0 + playse SE_W153 + applymovement 1, Route110_TrickHouseEntrance_Movement_269E3F + waitmovement 0 + removeobject 1 + setvar VAR_0x40A7, 1 + setvar VAR_0x40A6, 0 + releaseall + end + +Route110_TrickHouseEntrance_EventScript_269D39:: @ 8269D39 + releaseall + end + +Route110_TrickHouseEntrance_EventScript_269D3B:: @ 8269D3B + lockall + switch VAR_0x40A7 + case 0, Route110_TrickHouseEntrance_EventScript_269D6E + case 2, Route110_TrickHouseEntrance_EventScript_269E8F + case 3, Route110_TrickHouseEntrance_EventScript_269E51 + case 6, Route110_TrickHouseEntrance_EventScript_26A039 + end + +Route110_TrickHouseEntrance_EventScript_269D6E:: @ 8269D6E + playse SE_PIN + applymovement 255, Route110_TrickHouseEntrance_Movement_272598 + waitmovement 0 + applymovement 255, Route110_TrickHouseEntrance_Movement_27259A + waitmovement 0 + compare VAR_0x4044, 0 + call_if 1, Route110_TrickHouseEntrance_EventScript_269DEE + compare VAR_0x4044, 1 + call_if 1, Route110_TrickHouseEntrance_EventScript_269DF7 + compare VAR_0x4044, 2 + call_if 1, Route110_TrickHouseEntrance_EventScript_269E00 + compare VAR_0x4044, 3 + call_if 1, Route110_TrickHouseEntrance_EventScript_269E09 + compare VAR_0x4044, 4 + call_if 1, Route110_TrickHouseEntrance_EventScript_269E12 + compare VAR_0x4044, 5 + call_if 1, Route110_TrickHouseEntrance_EventScript_269E1B + compare VAR_0x4044, 6 + call_if 1, Route110_TrickHouseEntrance_EventScript_269E24 + compare VAR_0x4044, 7 + call_if 1, Route110_TrickHouseEntrance_EventScript_269E2D + closemessage + setvar VAR_0x40A6, 1 + warpsilent ROUTE_110_TRICK_HOUSE_ENTRANCE, 255, 6, 2 + waitstate + releaseall + end + +Route110_TrickHouseEntrance_EventScript_269DEE:: @ 8269DEE + msgbox Route110_TrickHouseEntrance_Text_26A48A, 4 + return + +Route110_TrickHouseEntrance_EventScript_269DF7:: @ 8269DF7 + msgbox Route110_TrickHouseEntrance_Text_26A4DA, 4 + return + +Route110_TrickHouseEntrance_EventScript_269E00:: @ 8269E00 + msgbox Route110_TrickHouseEntrance_Text_26A529, 4 + return + +Route110_TrickHouseEntrance_EventScript_269E09:: @ 8269E09 + msgbox Route110_TrickHouseEntrance_Text_26A577, 4 + return + +Route110_TrickHouseEntrance_EventScript_269E12:: @ 8269E12 + msgbox Route110_TrickHouseEntrance_Text_26A5C8, 4 + return + +Route110_TrickHouseEntrance_EventScript_269E1B:: @ 8269E1B + msgbox Route110_TrickHouseEntrance_Text_26A616, 4 + return + +Route110_TrickHouseEntrance_EventScript_269E24:: @ 8269E24 + msgbox Route110_TrickHouseEntrance_Text_26A665, 4 + return + +Route110_TrickHouseEntrance_EventScript_269E2D:: @ 8269E2D + msgbox Route110_TrickHouseEntrance_Text_26A6B6, 4 + return + +Route110_TrickHouseEnd_Movement_269E36: @ 8269E36 +Route110_TrickHouseEntrance_Movement_269E36: @ 8269E36 + step_01 + step_12 + step_02 + step_12 + step_00 + step_12 + step_03 + step_12 + step_end + +Route110_TrickHouseEnd_Movement_269E3F: @ 8269E3F +Route110_TrickHouseEntrance_Movement_269E3F: @ 8269E3F + step_01 + step_52 + step_32 + step_32 + step_32 + step_32 + step_32 + step_32 + step_end + +Route110_TrickHouseEntrance_EventScript_269E48:: @ 8269E48 + msgbox Route110_TrickHouseEntrance_Text_26A709, 4 + return + +Route110_TrickHouseEntrance_EventScript_269E51:: @ 8269E51 + msgbox Route110_TrickHouseEntrance_Text_26A921, 4 + closemessage + applymovement 1, Route110_TrickHouseEntrance_Movement_27259E + waitmovement 0 + playse SE_PIN + applymovement 1, Route110_TrickHouseEntrance_Movement_272598 + waitmovement 0 + applymovement 1, Route110_TrickHouseEntrance_Movement_27259A + waitmovement 0 + msgbox Route110_TrickHouseEntrance_Text_26A9AF, 4 + applymovement 1, Route110_TrickHouseEntrance_Movement_2725A6 + waitmovement 0 + releaseall + end + +Route110_TrickHouseEntrance_EventScript_269E8F:: @ 8269E8F + applymovement 1, Route110_TrickHouseEntrance_Movement_27259E + waitmovement 0 + msgbox Route110_TrickHouseEntrance_Text_26AA82, 4 + compare VAR_0x4044, 1 + goto_eq Route110_TrickHouseEntrance_EventScript_269EEF + compare VAR_0x4044, 2 + goto_eq Route110_TrickHouseEntrance_EventScript_269F1B + compare VAR_0x4044, 3 + goto_eq Route110_TrickHouseEntrance_EventScript_269F47 + compare VAR_0x4044, 4 + goto_eq Route110_TrickHouseEntrance_EventScript_269F73 + compare VAR_0x4044, 5 + goto_eq Route110_TrickHouseEntrance_EventScript_269F9F + compare VAR_0x4044, 6 + goto_eq Route110_TrickHouseEntrance_EventScript_269FCB + compare VAR_0x4044, 7 + goto_eq Route110_TrickHouseEntrance_EventScript_269FF7 + end + +Route110_TrickHouseEntrance_EventScript_269EEF:: @ 8269EEF + giveitem_std ITEM_RARE_CANDY + compare VAR_RESULT, 1 + goto_eq Route110_TrickHouseEntrance_EventScript_26A023 + compare VAR_RESULT, 0 + call_if 1, Route110_TrickHouseEntrance_EventScript_27205E + msgbox Route110_TrickHouseEntrance_Text_26AB00, 4 + releaseall + end + +Route110_TrickHouseEntrance_EventScript_269F1B:: @ 8269F1B + giveitem_std ITEM_TIMER_BALL + compare VAR_RESULT, 1 + goto_eq Route110_TrickHouseEntrance_EventScript_26A023 + compare VAR_RESULT, 0 + call_if 1, Route110_TrickHouseEntrance_EventScript_27205E + msgbox Route110_TrickHouseEntrance_Text_26AB00, 4 + releaseall + end + +Route110_TrickHouseEntrance_EventScript_269F47:: @ 8269F47 + giveitem_std ITEM_HARD_STONE + compare VAR_RESULT, 1 + goto_eq Route110_TrickHouseEntrance_EventScript_26A023 + compare VAR_RESULT, 0 + call_if 1, Route110_TrickHouseEntrance_EventScript_27205E + msgbox Route110_TrickHouseEntrance_Text_26AB00, 4 + releaseall + end + +Route110_TrickHouseEntrance_EventScript_269F73:: @ 8269F73 + giveitem_std ITEM_SMOKE_BALL + compare VAR_RESULT, 1 + goto_eq Route110_TrickHouseEntrance_EventScript_26A023 + compare VAR_RESULT, 0 + call_if 1, Route110_TrickHouseEntrance_EventScript_27205E + msgbox Route110_TrickHouseEntrance_Text_26AB00, 4 + releaseall + end + +Route110_TrickHouseEntrance_EventScript_269F9F:: @ 8269F9F + giveitem_std ITEM_TM12 + compare VAR_RESULT, 1 + goto_eq Route110_TrickHouseEntrance_EventScript_26A023 + compare VAR_RESULT, 0 + call_if 1, Route110_TrickHouseEntrance_EventScript_27205E + msgbox Route110_TrickHouseEntrance_Text_26AB00, 4 + releaseall + end + +Route110_TrickHouseEntrance_EventScript_269FCB:: @ 8269FCB + giveitem_std ITEM_MAGNET + compare VAR_RESULT, 1 + goto_eq Route110_TrickHouseEntrance_EventScript_26A023 + compare VAR_RESULT, 0 + call_if 1, Route110_TrickHouseEntrance_EventScript_27205E + msgbox Route110_TrickHouseEntrance_Text_26AB00, 4 + releaseall + end + +Route110_TrickHouseEntrance_EventScript_269FF7:: @ 8269FF7 + giveitem_std ITEM_PP_MAX + compare VAR_RESULT, 1 + goto_eq Route110_TrickHouseEntrance_EventScript_26A023 + compare VAR_RESULT, 0 + call_if 1, Route110_TrickHouseEntrance_EventScript_27205E + msgbox Route110_TrickHouseEntrance_Text_26AB00, 4 + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A023:: @ 826A023 + setvar VAR_0x40C1, 0 + setvar VAR_0x40A7, 3 + applymovement 1, Route110_TrickHouseEntrance_Movement_2725A6 + waitmovement 0 + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A039:: @ 826A039 + applymovement 1, Route110_TrickHouseEntrance_Movement_27259E + waitmovement 0 + msgbox Route110_TrickHouseEntrance_Text_26AB2C, 4 + call Route110_TrickHouseEntrance_EventScript_26A070 + compare VAR_RESULT, 1 + goto_eq Route110_TrickHouseEntrance_EventScript_26A09A + compare VAR_RESULT, 0 + call_if 1, Route110_TrickHouseEntrance_EventScript_272071 + msgbox Route110_TrickHouseEntrance_Text_26ABBD, 4 + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A070:: @ 826A070 + multichoice 0, 0, 88, 1 + switch VAR_RESULT + case 0, Route110_TrickHouseEntrance_EventScript_26A08A + goto Route110_TrickHouseEntrance_EventScript_26A092 + +Route110_TrickHouseEntrance_EventScript_26A08A:: @ 826A08A + givedecoration_std 31 + return + +Route110_TrickHouseEntrance_EventScript_26A092:: @ 826A092 + givedecoration_std 32 + return + +Route110_TrickHouseEntrance_EventScript_26A09A:: @ 826A09A + msgbox Route110_TrickHouseEntrance_Text_26ABAE, 4 + closemessage + applymovement 1, Route110_TrickHouseEntrance_Movement_26D632 + waitmovement 0 + applymovement 1, Route110_TrickHouseEntrance_Movement_269E36 + waitmovement 0 + playse SE_W153 + applymovement 1, Route110_TrickHouseEntrance_Movement_269E3F + waitmovement 0 + removeobject 1 + setvar VAR_0x40C1, 0 + setvar VAR_0x40A7, 5 + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A0D3:: @ 826A0D3 + lockall + switch VAR_0x40A7 + case 0, Route110_TrickHouseEntrance_EventScript_26A106 + case 1, Route110_TrickHouseEntrance_EventScript_26A110 + case 4, Route110_TrickHouseEntrance_EventScript_26A201 + case 5, Route110_TrickHouseEntrance_EventScript_26A20B + end + +Route110_TrickHouseEntrance_EventScript_26A106:: @ 826A106 + msgbox Route110_TrickHouseEntrance_Text_26A878, 4 + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A110:: @ 826A110 + msgbox Route110_TrickHouseEntrance_Text_26A887, 5 + closemessage + compare VAR_RESULT, 1 + goto_eq Route110_TrickHouseEntrance_EventScript_26A126 + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A126:: @ 826A126 + setmetatile 5, 1, 537, 0 + special DrawWholeMapView + delay 20 + applymovement 255, Route110_TrickHouseEntrance_Movement_2725C9 + waitmovement 0 + applymovement 255, Route110_TrickHouseEntrance_Movement_26A1A7 + waitmovement 0 + switch VAR_0x4044 + case 0, Route110_TrickHouseEntrance_EventScript_26A1A9 + case 1, Route110_TrickHouseEntrance_EventScript_26A1B4 + case 2, Route110_TrickHouseEntrance_EventScript_26A1BF + case 3, Route110_TrickHouseEntrance_EventScript_26A1CA + case 4, Route110_TrickHouseEntrance_EventScript_26A1D5 + case 5, Route110_TrickHouseEntrance_EventScript_26A1E0 + case 6, Route110_TrickHouseEntrance_EventScript_26A1EB + case 7, Route110_TrickHouseEntrance_EventScript_26A1F6 + end + +Route110_TrickHouseEntrance_Movement_26A1A7: @ 826A1A7 + step_54 + step_end + +Route110_TrickHouseEntrance_EventScript_26A1A9:: @ 826A1A9 + warp ROUTE_110_TRICK_HOUSE_PUZZLE_1, 255, 0, 21 + waitstate + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A1B4:: @ 826A1B4 + warp ROUTE_110_TRICK_HOUSE_PUZZLE_2, 255, 0, 21 + waitstate + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A1BF:: @ 826A1BF + warp ROUTE_110_TRICK_HOUSE_PUZZLE_3, 255, 0, 21 + waitstate + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A1CA:: @ 826A1CA + warp ROUTE_110_TRICK_HOUSE_PUZZLE_4, 255, 0, 21 + waitstate + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A1D5:: @ 826A1D5 + warp ROUTE_110_TRICK_HOUSE_PUZZLE_5, 255, 0, 21 + waitstate + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A1E0:: @ 826A1E0 + warp ROUTE_110_TRICK_HOUSE_PUZZLE_6, 255, 0, 21 + waitstate + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A1EB:: @ 826A1EB + warp ROUTE_110_TRICK_HOUSE_PUZZLE_7, 255, 0, 21 + waitstate + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A1F6:: @ 826A1F6 + warp ROUTE_110_TRICK_HOUSE_PUZZLE_8, 255, 0, 21 + waitstate + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A201:: @ 826A201 + msgbox Route110_TrickHouseEntrance_Text_26A8BD, 4 + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A20B:: @ 826A20B + compare VAR_0x4044, 8 + goto_eq Route110_TrickHouseEntrance_EventScript_26A220 + msgbox Route110_TrickHouseEntrance_Text_26A878, 4 + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A220:: @ 826A220 + msgbox Route110_TrickHouseEntrance_Text_26A8BD, 4 + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A22A:: @ 826A22A + lockall + switch VAR_0x4044 + case 0, Route110_TrickHouseEntrance_EventScript_26A289 + case 1, Route110_TrickHouseEntrance_EventScript_26A2B2 + case 2, Route110_TrickHouseEntrance_EventScript_26A2DB + case 3, Route110_TrickHouseEntrance_EventScript_26A304 + case 4, Route110_TrickHouseEntrance_EventScript_26A32D + case 5, Route110_TrickHouseEntrance_EventScript_26A356 + case 6, Route110_TrickHouseEntrance_EventScript_26A37F + case 7, Route110_TrickHouseEntrance_EventScript_26A3A8 + end + +Route110_TrickHouseEntrance_EventScript_26A289:: @ 826A289 + compare VAR_0x40AB, 0 + goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1 + msgbox Route110_TrickHousePuzzle1_Text_26B98D, 4 + playse SE_PIN + setvar VAR_0x40AB, 2 + setmetatile 13, 1, 523, 0 + special DrawWholeMapView + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A2B2:: @ 826A2B2 + compare VAR_0x40AC, 0 + goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1 + msgbox Route110_TrickHousePuzzle2_Text_26BCBA, 4 + playse SE_PIN + setvar VAR_0x40AC, 2 + setmetatile 13, 1, 523, 0 + special DrawWholeMapView + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A2DB:: @ 826A2DB + compare VAR_0x40AD, 0 + goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1 + msgbox Route110_TrickHousePuzzle3_Text_26C609, 4 + playse SE_PIN + setvar VAR_0x40AD, 2 + setmetatile 13, 1, 523, 0 + special DrawWholeMapView + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A304:: @ 826A304 + compare VAR_0x40AE, 0 + goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1 + msgbox Route110_TrickHousePuzzle4_Text_26C8C3, 4 + playse SE_PIN + setvar VAR_0x40AE, 2 + setmetatile 13, 1, 523, 0 + special DrawWholeMapView + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A32D:: @ 826A32D + compare VAR_0x40AF, 0 + goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1 + msgbox Route110_TrickHousePuzzle5_Text_26D660, 4 + playse SE_PIN + setvar VAR_0x40AF, 2 + setmetatile 13, 1, 523, 0 + special DrawWholeMapView + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A356:: @ 826A356 + compare VAR_0x40B0, 0 + goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1 + msgbox Route110_TrickHousePuzzle6_Text_26DE26, 4 + playse SE_PIN + setvar VAR_0x40B0, 2 + setmetatile 13, 1, 523, 0 + special DrawWholeMapView + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A37F:: @ 826A37F + compare VAR_0x40B1, 0 + goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1 + msgbox Route110_TrickHousePuzzle7_EventScript_26E413, 4 + playse SE_PIN + setvar VAR_0x40B1, 2 + setmetatile 13, 1, 523, 0 + special DrawWholeMapView + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A3A8:: @ 826A3A8 + compare VAR_0x40B2, 0 + goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1 + msgbox Route110_TrickHousePuzzle8_EventScript_26E864, 4 + playse SE_PIN + setvar VAR_0x40B2, 2 + setmetatile 13, 1, 523, 0 + special DrawWholeMapView + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A3D1:: @ 826A3D1 + msgbox Route110_TrickHouseEntrance_Text_26AC4F, 4 + releaseall + end + +Route110_TrickHousePuzzle1_EventScript_26A3DB:: @ 826A3DB +Route110_TrickHousePuzzle2_EventScript_26A3DB:: @ 826A3DB +Route110_TrickHousePuzzle3_EventScript_26A3DB:: @ 826A3DB +Route110_TrickHousePuzzle4_EventScript_26A3DB:: @ 826A3DB +Route110_TrickHousePuzzle5_EventScript_26A3DB:: @ 826A3DB +Route110_TrickHousePuzzle6_EventScript_26A3DB:: @ 826A3DB +Route110_TrickHousePuzzle7_EventScript_26A3DB:: @ 826A3DB +Route110_TrickHousePuzzle8_EventScript_26A3DB:: @ 826A3DB + msgbox Route110_TrickHousePuzzle1_Text_26AC2F, 4 + releaseall + end + +Route110_TrickHousePuzzle1_EventScript_26A3E5:: @ 826A3E5 +Route110_TrickHousePuzzle2_EventScript_26A3E5:: @ 826A3E5 +Route110_TrickHousePuzzle3_EventScript_26A3E5:: @ 826A3E5 +Route110_TrickHousePuzzle4_EventScript_26A3E5:: @ 826A3E5 +Route110_TrickHousePuzzle5_EventScript_26A3E5:: @ 826A3E5 +Route110_TrickHousePuzzle6_EventScript_26A3E5:: @ 826A3E5 +Route110_TrickHousePuzzle7_EventScript_26A3E5:: @ 826A3E5 +Route110_TrickHousePuzzle8_EventScript_26A3E5:: @ 826A3E5 + playfanfare MUS_FANFA4 + message Route110_TrickHousePuzzle1_Text_26ABE8 + waitfanfare + msgbox Route110_TrickHousePuzzle1_Text_26ABFB, 4 + releaseall + end + +Route110_TrickHouseEntrance_EventScript_26A3F8:: @ 826A3F8 + lockall + msgbox Route110_TrickHouseEntrance_Text_26A474, 4 + releaseall + compare VAR_0x4044, 0 + call_if 1, Route110_TrickHouseEntrance_EventScript_26A429 + compare VAR_0x4044, 1 + call_if 1, Route110_TrickHouseEntrance_EventScript_26A439 + compare VAR_0x4044, 2 + call_if 1, Route110_TrickHouseEntrance_EventScript_26A449 + setvar VAR_0x40A5, 1 + end + +Route110_TrickHouseEntrance_EventScript_26A429:: @ 826A429 + setvar VAR_0x8004, 6 + setvar VAR_0x8005, 3 + call Route110_TrickHouseEntrance_EventScript_26A459 + return + +Route110_TrickHouseEntrance_EventScript_26A439:: @ 826A439 + setvar VAR_0x8004, 11 + setvar VAR_0x8005, 5 + call Route110_TrickHouseEntrance_EventScript_26A459 + return + +Route110_TrickHouseEntrance_EventScript_26A449:: @ 826A449 + setvar VAR_0x8004, 9 + setvar VAR_0x8005, 2 + call Route110_TrickHouseEntrance_EventScript_26A459 + return + +Route110_TrickHouseEntrance_EventScript_26A459:: @ 826A459 + setvar VAR_0x8006, 0 + setfieldeffectargument 0, VAR_0x8004 + setfieldeffectargument 1, VAR_0x8005 + setfieldeffectargument 2, VAR_0x8006 + dofieldeffect 54 + waitfieldeffect 54 + delay 10 + return + +Route110_TrickHouseEntrance_Text_26A474: @ 826A474 + .string "You’re being watched…$" + +Route110_TrickHouseEntrance_Text_26A48A: @ 826A48A + .string "Hah? Grrr…\p" + .string "How did you know I concealed myself\n" + .string "beneath this desk? You’re sharp!$" + +Route110_TrickHouseEntrance_Text_26A4DA: @ 826A4DA + .string "Hah? Grrr…\p" + .string "How did you know I concealed myself\n" + .string "behind this tree? You’re sharp!$" + +Route110_TrickHouseEntrance_Text_26A529: @ 826A529 + .string "Hah? Grrr…\p" + .string "How did you know I concealed myself\n" + .string "in this dresser? You’re sharp!$" + +Route110_TrickHouseEntrance_Text_26A577: @ 826A577 + .string "Hah? Grrr…\p" + .string "How did you know I concealed myself\n" + .string "beyond this window? You’re sharp!$" + +Route110_TrickHouseEntrance_Text_26A5C8: @ 826A5C8 + .string "Hah? Grrr…\p" + .string "How did you know I concealed myself\n" + .string "in this planter? You’re sharp!$" + +Route110_TrickHouseEntrance_Text_26A616: @ 826A616 + .string "Hah? Grrr…\p" + .string "How did you know I concealed myself\n" + .string "in this cupboard? You’re sharp!$" + +Route110_TrickHouseEntrance_Text_26A665: @ 826A665 + .string "Hah? Grrr…\p" + .string "How did you know I concealed myself\n" + .string "behind this window? You’re sharp!$" + +Route110_TrickHouseEntrance_Text_26A6B6: @ 826A6B6 + .string "Hah? Grrr…\p" + .string "How did you know I concealed myself\n" + .string "beneath this cushion? You’re sharp!$" + +Route110_TrickHouseEntrance_Text_26A709: @ 826A709 + .string "Behold!\p" + .string "For I am the greatest living mystery\n" + .string "of a man in all of HOENN!\l" + .string "They call me…\p" + .string "The TRICK MASTER!\n" + .string "Wahahaha! Glad to meet you!$" + +Route110_TrickHouseEntrance_Text_26A78C: @ 826A78C + .string "You, you’ve come to challenge\n" + .string "my TRICK HOUSE, haven’t you?\p" + .string "That’s why you’re here, isn’t it?\n" + .string "Yes, it is!\p" + .string "Consider your challenge accepted!\p" + .string "Enter through the scroll there,\n" + .string "and let your challenge commence!\p" + .string "I shall be waiting in the back!$" + +Route110_TrickHouseEntrance_Text_26A878: @ 826A878 + .string "It’s a scroll.$" + +Route110_TrickHouseEntrance_Text_26A887: @ 826A887 + .string "There is a big hole behind the scroll!\p" + .string "Want to go in?$" + +Route110_TrickHouseEntrance_Text_26A8BD: @ 826A8BD + .string "There is a note affixed to the scroll…\p" + .string "“I am leaving on a journey.\n" + .string "Don’t look for me. TRICK MASTER”$" + +Route110_TrickHouseEntrance_Text_26A921: @ 826A921 + .string "For the next time, I’ll use this trick,\n" + .string "and that scheme, and those ruses…\p" + .string "Mufufufu… If I may say so, it’s\n" + .string "brilliantly difficult, even for me!$" + +Route110_TrickHouseEntrance_Text_26A9AF: @ 826A9AF + .string "Hah? What?!\n" + .string "Oh, it’s you!\p" + .string "I’m in the midst of devising new tricky\n" + .string "challenges!\p" + .string "It’s not too much to ask for a bit more\n" + .string "time for me to think, is it now?\l" + .string "You wouldn’t begrudge me that?\l" + .string "Come back in a little while!$" + +Route110_TrickHouseEntrance_Text_26AA82: @ 826AA82 + .string "Ah, it’s you! You’re here to accept the\n" + .string "reward from before, isn’t that right?\l" + .string "Yes, right I am!\p" + .string "Here!\n" + .string "I’ll give it to you now!$" + +Route110_TrickHouseEntrance_Text_26AB00: @ 826AB00 + .string "Hah?\n" + .string "Did you not come to claim your reward?$" + +Route110_TrickHouseEntrance_Text_26AB2C: @ 826AB2C + .string "MECHADOLL 5 I AM!\n" + .string "IF REWARD IS NOT TAKEN BY YOU,\l" + .string "THEN TRICK MASTER YOU CANNOT FOLLOW.\p" + .string "RED TENT OR BLUE TENT,\n" + .string "WHICH DO YOU PREFER?$" + +Route110_TrickHouseEntrance_Text_26ABAE: @ 826ABAE + .string "THEN FAREWELL.$" + +Route110_TrickHouseEntrance_Text_26ABBD: @ 826ABBD + .string "YOUR PC STATUS: FULL AGAIN.\n" + .string "MEAN, YOU ARE.$" + +Route110_TrickHousePuzzle1_Text_26ABE8: @ 826ABE8 + .string "{PLAYER} found a scroll.$" + +Route110_TrickHousePuzzle1_Text_26ABFB: @ 826ABFB + .string "{PLAYER} memorized the secret code\n" + .string "written on the scroll.$" + +Route110_TrickHousePuzzle1_Text_26AC2F: @ 826AC2F + .string "A secret code is written on it.$" + +Route110_TrickHouseEntrance_Text_26AC4F: @ 826AC4F + .string "The door is locked.\p" + .string "…On closer inspection, this is written\n" + .string "on it: “Write the secret code here.”$" diff --git a/data/scripts/maps/Route110_TrickHousePuzzle1.inc b/data/scripts/maps/Route110_TrickHousePuzzle1.inc new file mode 100644 index 0000000000..340a7e03cf --- /dev/null +++ b/data/scripts/maps/Route110_TrickHousePuzzle1.inc @@ -0,0 +1,79 @@ +Route110_TrickHousePuzzle1_MapScripts:: @ 826B90F + map_script 1, Route110_TrickHousePuzzle1_MapScript1_26B915 + .byte 0 + +Route110_TrickHousePuzzle1_MapScript1_26B915: @ 826B915 + compare VAR_0x40AB, 2 + goto_eq Route110_TrickHousePuzzle1_EventScript_26B921 + end + +Route110_TrickHousePuzzle1_EventScript_26B921:: @ 826B921 + setmetatile 13, 1, 523, 0 + end + +Route110_TrickHousePuzzle1_EventScript_26B92B:: @ 826B92B + lockall + compare VAR_0x40AB, 0 + goto_eq Route110_TrickHousePuzzle1_EventScript_26B93D + goto Route110_TrickHousePuzzle1_EventScript_26A3DB + end + +Route110_TrickHousePuzzle1_EventScript_26B93D:: @ 826B93D + setvar VAR_0x40AB, 1 + goto Route110_TrickHousePuzzle1_EventScript_26A3E5 + end + +Route110_TrickHousePuzzle1_EventScript_26B948:: @ 826B948 + trainerbattle 0, TRAINER_SALLY, 0, Route110_TrickHousePuzzle1_Text_26B9FB, Route110_TrickHousePuzzle1_Text_26BA3F + msgbox Route110_TrickHousePuzzle1_Text_26BA57, 6 + end + +Route110_TrickHousePuzzle1_EventScript_26B95F:: @ 826B95F + trainerbattle 0, TRAINER_EDDIE, 0, Route110_TrickHousePuzzle1_Text_26BA82, Route110_TrickHousePuzzle1_Text_26BAB0 + msgbox Route110_TrickHousePuzzle1_Text_26BAC3, 6 + end + +Route110_TrickHousePuzzle1_EventScript_26B976:: @ 826B976 + trainerbattle 0, TRAINER_ROBIN, 0, Route110_TrickHousePuzzle1_Text_26BB10, Route110_TrickHousePuzzle1_Text_26BB2E + msgbox Route110_TrickHousePuzzle1_Text_26BB52, 6 + end + +Route110_TrickHousePuzzle1_Text_26B98D:: @ 826B98D + .string "{PLAYER} wrote down the secret code\n" + .string "on the door.\p" + .string "“TRICK MASTER is fabulous.”\n" + .string "… … … … … … … …\p" + .string "The lock clicked open!$" + +Route110_TrickHousePuzzle1_Text_26B9FB: @ 826B9FB + .string "I’ll hack and slash my way to victory\n" + .string "with the CUT we just learned!$" + +Route110_TrickHousePuzzle1_Text_26BA3F: @ 826BA3F + .string "Why are you so serious?$" + +Route110_TrickHousePuzzle1_Text_26BA57: @ 826BA57 + .string "I never get tired of hacking\n" + .string "and slashing!$" + +Route110_TrickHousePuzzle1_Text_26BA82: @ 826BA82 + .string "I wandered into this weird house\n" + .string "by accident…$" + +Route110_TrickHousePuzzle1_Text_26BAB0: @ 826BAB0 + .string "And now I’ve lost…$" + +Route110_TrickHousePuzzle1_Text_26BAC3: @ 826BAC3 + .string "I lost my way, I lost a battle, and I’m\n" + .string "now even more lost… I can’t get out…$" + +Route110_TrickHousePuzzle1_Text_26BB10: @ 826BB10 + .string "Just who is the TRICK MASTER?$" + +Route110_TrickHousePuzzle1_Text_26BB2E: @ 826BB2E + .string "I lost while I was lost in thought!$" + +Route110_TrickHousePuzzle1_Text_26BB52: @ 826BB52 + .string "You’re strong!\n" + .string "Just who are you?$" + diff --git a/data/scripts/maps/Route110_TrickHousePuzzle2.inc b/data/scripts/maps/Route110_TrickHousePuzzle2.inc new file mode 100644 index 0000000000..fd8c42f84b --- /dev/null +++ b/data/scripts/maps/Route110_TrickHousePuzzle2.inc @@ -0,0 +1,146 @@ +Route110_TrickHousePuzzle2_MapScripts:: @ 826BB73 + map_script 5, Route110_TrickHousePuzzle2_MapScript1_26BB7E + map_script 3, Route110_TrickHousePuzzle2_MapScript1_26BBAB + .byte 0 + +Route110_TrickHousePuzzle2_MapScript1_26BB7E: @ 826BB7E + compare VAR_0x4001, 1 + call_if 1, Route110_TrickHousePuzzle2_EventScript_26BC29 + compare VAR_0x4002, 1 + call_if 1, Route110_TrickHousePuzzle2_EventScript_26BC3C + compare VAR_0x4003, 1 + call_if 1, Route110_TrickHousePuzzle2_EventScript_26BC4F + compare VAR_0x4004, 1 + call_if 1, Route110_TrickHousePuzzle2_EventScript_26BC62 + end + +Route110_TrickHousePuzzle2_MapScript1_26BBAB: @ 826BBAB + setvar VAR_0x4001, 0 + setvar VAR_0x4002, 0 + setvar VAR_0x4003, 0 + setvar VAR_0x4004, 0 + end + +Route110_TrickHousePuzzle2_EventScript_26BBC0:: @ 826BBC0 + lockall + compare VAR_0x40AC, 0 + goto_eq Route110_TrickHousePuzzle2_EventScript_26BBD2 + goto Route110_TrickHousePuzzle2_EventScript_26A3DB + end + +Route110_TrickHousePuzzle2_EventScript_26BBD2:: @ 826BBD2 + setvar VAR_0x40AC, 1 + goto Route110_TrickHousePuzzle2_EventScript_26A3E5 + end + +Route110_TrickHousePuzzle2_EventScript_26BBDD:: @ 826BBDD + lockall + setvar VAR_0x4001, 1 + playse SE_PIN + call Route110_TrickHousePuzzle2_EventScript_26BC29 + special DrawWholeMapView + releaseall + end + +Route110_TrickHousePuzzle2_EventScript_26BBF0:: @ 826BBF0 + lockall + setvar VAR_0x4002, 1 + playse SE_PIN + call Route110_TrickHousePuzzle2_EventScript_26BC3C + special DrawWholeMapView + releaseall + end + +Route110_TrickHousePuzzle2_EventScript_26BC03:: @ 826BC03 + lockall + setvar VAR_0x4003, 1 + playse SE_PIN + call Route110_TrickHousePuzzle2_EventScript_26BC4F + special DrawWholeMapView + releaseall + end + +Route110_TrickHousePuzzle2_EventScript_26BC16:: @ 826BC16 + lockall + setvar VAR_0x4004, 1 + playse SE_PIN + call Route110_TrickHousePuzzle2_EventScript_26BC62 + special DrawWholeMapView + releaseall + end + +Route110_TrickHousePuzzle2_EventScript_26BC29:: @ 826BC29 + setmetatile 11, 12, 601, 0 + setmetatile 1, 13, 618, 0 + return + +Route110_TrickHousePuzzle2_EventScript_26BC3C:: @ 826BC3C + setmetatile 0, 4, 601, 0 + setmetatile 5, 6, 618, 0 + return + +Route110_TrickHousePuzzle2_EventScript_26BC4F:: @ 826BC4F + setmetatile 14, 5, 601, 0 + setmetatile 7, 15, 618, 0 + return + +Route110_TrickHousePuzzle2_EventScript_26BC62:: @ 826BC62 + setmetatile 7, 11, 601, 0 + setmetatile 14, 12, 618, 0 + return + +Route110_TrickHousePuzzle2_EventScript_26BC75:: @ 826BC75 + trainerbattle 0, TRAINER_TED, 0, Route110_TrickHousePuzzle2_Text_26BD25, Route110_TrickHousePuzzle2_Text_26BD45 + msgbox Route110_TrickHousePuzzle2_Text_26BD70, 6 + end + +Route110_TrickHousePuzzle2_EventScript_26BC8C:: @ 826BC8C + trainerbattle 0, TRAINER_PAUL, 0, Route110_TrickHousePuzzle2_Text_26BD9E, Route110_TrickHousePuzzle2_Text_26BDCF + msgbox Route110_TrickHousePuzzle2_Text_26BDEC, 6 + end + +Route110_TrickHousePuzzle2_EventScript_26BCA3:: @ 826BCA3 + trainerbattle 0, TRAINER_GEORGIA, 0, Route110_TrickHousePuzzle2_Text_26BE31, Route110_TrickHousePuzzle2_Text_26BE77 + msgbox Route110_TrickHousePuzzle2_Text_26BE97, 6 + end + +Route110_TrickHousePuzzle2_Text_26BCBA: @ 826BCBA + .string "{PLAYER} wrote down the secret code\n" + .string "on the door.\p" + .string "“TRICK MASTER is smart.”\n" + .string "… … … … … … … …\p" + .string "The lock clicked open!$" + +Route110_TrickHousePuzzle2_Text_26BD25: @ 826BD25 + .string "Which switch closes which hole?$" + +Route110_TrickHousePuzzle2_Text_26BD45: @ 826BD45 + .string "After that battle, I’m even more\n" + .string "confused!$" + +Route110_TrickHousePuzzle2_Text_26BD70: @ 826BD70 + .string "Can I get you to push all the buttons\n" + .string "for me?$" + +Route110_TrickHousePuzzle2_Text_26BD9E: @ 826BD9E + .string "Oh! You’re on your second TRICK HOUSE\n" + .string "challenge!$" + +Route110_TrickHousePuzzle2_Text_26BDCF: @ 826BDCF + .string "You’re good at battling too?$" + +Route110_TrickHousePuzzle2_Text_26BDEC: @ 826BDEC + .string "The TRICK MASTER rigged all the tricks\n" + .string "in this house all by himself.$" + +Route110_TrickHousePuzzle2_Text_26BE31: @ 826BE31 + .string "I want to make my own GYM one day.\n" + .string "So, I’m studying how to set traps.$" + +Route110_TrickHousePuzzle2_Text_26BE77: @ 826BE77 + .string "I didn’t study battling enough!$" + +Route110_TrickHousePuzzle2_Text_26BE97: @ 826BE97 + .string "You’re strong, aren’t you?\n" + .string "Maybe even enough to be a GYM LEADER!$" + diff --git a/data/scripts/maps/Route110_TrickHousePuzzle3.inc b/data/scripts/maps/Route110_TrickHousePuzzle3.inc new file mode 100644 index 0000000000..b5302e5511 --- /dev/null +++ b/data/scripts/maps/Route110_TrickHousePuzzle3.inc @@ -0,0 +1,360 @@ +Route110_TrickHousePuzzle3_MapScripts:: @ 826BED8 + map_script 5, Route110_TrickHousePuzzle3_MapScript1_26BEE3 + map_script 3, Route110_TrickHousePuzzle3_MapScript1_26BEFF + .byte 0 + +Route110_TrickHousePuzzle3_MapScript1_26BEE3: @ 826BEE3 + call Route110_TrickHousePuzzle3_EventScript_26BF1E + compare VAR_0x4009, 0 + call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF97 + compare VAR_0x4009, 1 + call_if 1, Route110_TrickHousePuzzle3_EventScript_26C232 + end + +Route110_TrickHousePuzzle3_MapScript1_26BEFF: @ 826BEFF + setvar VAR_0x4001, 0 + setvar VAR_0x4002, 0 + setvar VAR_0x4003, 0 + setvar VAR_0x4004, 0 + setvar VAR_0x4008, 0 + setvar VAR_0x4009, 0 + end + +Route110_TrickHousePuzzle3_EventScript_26BF1E:: @ 826BF1E + setmetatile 4, 14, 600, 0 + setmetatile 3, 11, 600, 0 + setmetatile 12, 5, 600, 0 + setmetatile 8, 2, 600, 0 + compare VAR_0x4008, 1 + call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF6F + compare VAR_0x4008, 2 + call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF79 + compare VAR_0x4008, 3 + call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF83 + compare VAR_0x4008, 4 + call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF8D + return + +Route110_TrickHousePuzzle3_EventScript_26BF6F:: @ 826BF6F + setmetatile 4, 14, 601, 0 + return + +Route110_TrickHousePuzzle3_EventScript_26BF79:: @ 826BF79 + setmetatile 3, 11, 601, 0 + return + +Route110_TrickHousePuzzle3_EventScript_26BF83:: @ 826BF83 + setmetatile 12, 5, 601, 0 + return + +Route110_TrickHousePuzzle3_EventScript_26BF8D:: @ 826BF8D + setmetatile 8, 2, 601, 0 + return + +Route110_TrickHousePuzzle3_EventScript_26BF97:: @ 826BF97 + setmetatile 1, 6, 587, 0 + setmetatile 2, 6, 588, 0 + setmetatile 1, 7, 595, 0 + setmetatile 2, 7, 596, 0 + setmetatile 1, 9, 587, 0 + setmetatile 2, 9, 588, 0 + setmetatile 1, 10, 595, 0 + setmetatile 2, 10, 596, 0 + setmetatile 4, 15, 587, 0 + setmetatile 5, 15, 588, 0 + setmetatile 4, 16, 595, 0 + setmetatile 5, 16, 596, 0 + setmetatile 13, 9, 587, 0 + setmetatile 14, 9, 588, 0 + setmetatile 13, 10, 595, 0 + setmetatile 14, 10, 596, 0 + setmetatile 13, 15, 587, 0 + setmetatile 14, 15, 588, 0 + setmetatile 13, 16, 595, 0 + setmetatile 14, 16, 596, 0 + setmetatile 3, 7, 589, 1 + setmetatile 3, 8, 597, 0 + setmetatile 3, 13, 589, 1 + setmetatile 3, 14, 597, 0 + setmetatile 6, 4, 589, 1 + setmetatile 6, 5, 597, 0 + setmetatile 9, 16, 589, 1 + setmetatile 9, 17, 597, 0 + setmetatile 12, 7, 589, 1 + setmetatile 12, 8, 597, 0 + setmetatile 1, 3, 568, 0 + setmetatile 2, 3, 569, 0 + setmetatile 1, 4, 576, 1 + setmetatile 2, 4, 577, 1 + setmetatile 1, 12, 568, 0 + setmetatile 2, 12, 569, 0 + setmetatile 1, 13, 576, 1 + setmetatile 2, 13, 577, 1 + setmetatile 4, 6, 568, 0 + setmetatile 5, 6, 569, 0 + setmetatile 4, 7, 576, 1 + setmetatile 5, 7, 577, 1 + setmetatile 4, 12, 568, 0 + setmetatile 5, 12, 569, 0 + setmetatile 4, 13, 576, 1 + setmetatile 5, 13, 577, 1 + setmetatile 4, 18, 568, 0 + setmetatile 5, 18, 569, 0 + setmetatile 4, 19, 576, 1 + setmetatile 5, 19, 577, 1 + setmetatile 7, 9, 568, 0 + setmetatile 8, 9, 569, 0 + setmetatile 7, 10, 576, 1 + setmetatile 8, 10, 577, 1 + setmetatile 10, 6, 568, 0 + setmetatile 11, 6, 569, 0 + setmetatile 10, 7, 576, 1 + setmetatile 11, 7, 577, 1 + setmetatile 10, 12, 568, 0 + setmetatile 11, 12, 569, 0 + setmetatile 10, 13, 576, 1 + setmetatile 11, 13, 577, 1 + setmetatile 10, 18, 568, 0 + setmetatile 11, 18, 569, 0 + setmetatile 10, 19, 576, 1 + setmetatile 11, 19, 577, 1 + setmetatile 13, 3, 568, 0 + setmetatile 14, 3, 569, 0 + setmetatile 13, 4, 576, 1 + setmetatile 14, 4, 577, 1 + setmetatile 3, 16, 570, 1 + setmetatile 3, 17, 578, 1 + setmetatile 9, 4, 570, 1 + setmetatile 9, 5, 578, 1 + return + +Route110_TrickHousePuzzle3_EventScript_26C232:: @ 826C232 + setmetatile 1, 6, 571, 0 + setmetatile 2, 6, 572, 0 + setmetatile 1, 7, 579, 1 + setmetatile 2, 7, 580, 1 + setmetatile 1, 9, 571, 0 + setmetatile 2, 9, 572, 0 + setmetatile 1, 10, 579, 1 + setmetatile 2, 10, 580, 1 + setmetatile 4, 15, 571, 0 + setmetatile 5, 15, 572, 0 + setmetatile 4, 16, 579, 1 + setmetatile 5, 16, 580, 1 + setmetatile 13, 9, 571, 0 + setmetatile 14, 9, 572, 0 + setmetatile 13, 10, 579, 1 + setmetatile 14, 10, 580, 1 + setmetatile 13, 15, 571, 0 + setmetatile 14, 15, 572, 0 + setmetatile 13, 16, 579, 1 + setmetatile 14, 16, 580, 1 + setmetatile 3, 7, 573, 1 + setmetatile 3, 8, 581, 1 + setmetatile 3, 13, 573, 1 + setmetatile 3, 14, 581, 1 + setmetatile 6, 4, 573, 1 + setmetatile 6, 5, 581, 1 + setmetatile 9, 16, 573, 1 + setmetatile 9, 17, 581, 1 + setmetatile 12, 7, 573, 1 + setmetatile 12, 8, 581, 1 + setmetatile 1, 3, 584, 0 + setmetatile 2, 3, 585, 0 + setmetatile 1, 4, 592, 0 + setmetatile 2, 4, 593, 0 + setmetatile 1, 12, 584, 0 + setmetatile 2, 12, 585, 0 + setmetatile 1, 13, 592, 0 + setmetatile 2, 13, 593, 0 + setmetatile 4, 6, 584, 0 + setmetatile 5, 6, 585, 0 + setmetatile 4, 7, 592, 0 + setmetatile 5, 7, 593, 0 + setmetatile 4, 12, 584, 0 + setmetatile 5, 12, 585, 0 + setmetatile 4, 13, 592, 0 + setmetatile 5, 13, 593, 0 + setmetatile 4, 18, 584, 0 + setmetatile 5, 18, 585, 0 + setmetatile 4, 19, 592, 0 + setmetatile 5, 19, 593, 0 + setmetatile 7, 9, 584, 0 + setmetatile 8, 9, 585, 0 + setmetatile 7, 10, 592, 0 + setmetatile 8, 10, 593, 0 + setmetatile 10, 6, 584, 0 + setmetatile 11, 6, 585, 0 + setmetatile 10, 7, 592, 0 + setmetatile 11, 7, 593, 0 + setmetatile 10, 12, 584, 0 + setmetatile 11, 12, 585, 0 + setmetatile 10, 13, 592, 0 + setmetatile 11, 13, 593, 0 + setmetatile 10, 18, 584, 0 + setmetatile 11, 18, 585, 0 + setmetatile 10, 19, 592, 0 + setmetatile 11, 19, 593, 0 + setmetatile 13, 3, 584, 0 + setmetatile 14, 3, 585, 0 + setmetatile 13, 4, 592, 0 + setmetatile 14, 4, 593, 0 + setmetatile 3, 16, 586, 1 + setmetatile 3, 17, 594, 0 + setmetatile 9, 4, 586, 1 + setmetatile 9, 5, 594, 0 + return + +Route110_TrickHousePuzzle3_EventScript_26C4CD:: @ 826C4CD + lockall + setvar VAR_0x4008, 1 + goto Route110_TrickHousePuzzle3_EventScript_26C4FD + end + +Route110_TrickHousePuzzle3_EventScript_26C4D9:: @ 826C4D9 + lockall + setvar VAR_0x4008, 2 + goto Route110_TrickHousePuzzle3_EventScript_26C4FD + end + +Route110_TrickHousePuzzle3_EventScript_26C4E5:: @ 826C4E5 + lockall + setvar VAR_0x4008, 3 + goto Route110_TrickHousePuzzle3_EventScript_26C4FD + end + +Route110_TrickHousePuzzle3_EventScript_26C4F1:: @ 826C4F1 + lockall + setvar VAR_0x4008, 4 + goto Route110_TrickHousePuzzle3_EventScript_26C4FD + end + +Route110_TrickHousePuzzle3_EventScript_26C4FD:: @ 826C4FD + call Route110_TrickHousePuzzle3_EventScript_26C510 + playse SE_PIN + call Route110_TrickHousePuzzle3_EventScript_26BF1E + goto Route110_TrickHousePuzzle3_EventScript_26C569 + end + +Route110_TrickHousePuzzle3_EventScript_26C510:: @ 826C510 + setvar VAR_0x4001, 0 + setvar VAR_0x4002, 0 + setvar VAR_0x4003, 0 + setvar VAR_0x4004, 0 + compare VAR_0x4008, 1 + call_if 1, Route110_TrickHousePuzzle3_EventScript_26C551 + compare VAR_0x4008, 2 + call_if 1, Route110_TrickHousePuzzle3_EventScript_26C557 + compare VAR_0x4008, 3 + call_if 1, Route110_TrickHousePuzzle3_EventScript_26C55D + compare VAR_0x4008, 4 + call_if 1, Route110_TrickHousePuzzle3_EventScript_26C563 + return + +Route110_TrickHousePuzzle3_EventScript_26C551:: @ 826C551 + setvar VAR_0x4001, 1 + return + +Route110_TrickHousePuzzle3_EventScript_26C557:: @ 826C557 + setvar VAR_0x4002, 1 + return + +Route110_TrickHousePuzzle3_EventScript_26C55D:: @ 826C55D + setvar VAR_0x4003, 1 + return + +Route110_TrickHousePuzzle3_EventScript_26C563:: @ 826C563 + setvar VAR_0x4004, 1 + return + +Route110_TrickHousePuzzle3_EventScript_26C569:: @ 826C569 + compare VAR_0x4009, 1 + call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF97 + compare VAR_0x4009, 0 + call_if 1, Route110_TrickHousePuzzle3_EventScript_26C232 + special DrawWholeMapView + compare VAR_0x4009, 1 + goto_eq Route110_TrickHousePuzzle3_EventScript_26C599 + compare VAR_0x4009, 0 + goto_eq Route110_TrickHousePuzzle3_EventScript_26C5A0 + end + +Route110_TrickHousePuzzle3_EventScript_26C599:: @ 826C599 + setvar VAR_0x4009, 0 + releaseall + end + +Route110_TrickHousePuzzle3_EventScript_26C5A0:: @ 826C5A0 + setvar VAR_0x4009, 1 + releaseall + end + +Route110_TrickHousePuzzle3_EventScript_26C5A7:: @ 826C5A7 + lockall + compare VAR_0x40AD, 0 + goto_eq Route110_TrickHousePuzzle3_EventScript_26C5B9 + goto Route110_TrickHousePuzzle3_EventScript_26A3DB + end + +Route110_TrickHousePuzzle3_EventScript_26C5B9:: @ 826C5B9 + setvar VAR_0x40AD, 1 + goto Route110_TrickHousePuzzle3_EventScript_26A3E5 + end + +Route110_TrickHousePuzzle3_EventScript_26C5C4:: @ 826C5C4 + trainerbattle 0, TRAINER_JUSTIN, 0, Route110_TrickHousePuzzle3_Text_26C676, Route110_TrickHousePuzzle3_Text_26C69D + msgbox Route110_TrickHousePuzzle3_Text_26C6E6, 6 + end + +Route110_TrickHousePuzzle3_EventScript_26C5DB:: @ 826C5DB + trainerbattle 0, TRAINER_MARTHA, 0, Route110_TrickHousePuzzle3_Text_26C726, Route110_TrickHousePuzzle3_Text_26C763 + msgbox Route110_TrickHousePuzzle3_Text_26C776, 6 + end + +Route110_TrickHousePuzzle3_EventScript_26C5F2:: @ 826C5F2 + trainerbattle 0, TRAINER_ALAN, 0, Route110_TrickHousePuzzle3_Text_26C7AA, Route110_TrickHousePuzzle3_Text_26C7EC + msgbox Route110_TrickHousePuzzle3_Text_26C80C, 6 + end + +Route110_TrickHousePuzzle3_Text_26C609: @ 826C609 + .string "{PLAYER} wrote down the secret code\n" + .string "on the door.\p" + .string "“TRICK MASTER is coveted.”\n" + .string "… … … … … … … …\p" + .string "The lock clicked open!$" + +Route110_TrickHousePuzzle3_Text_26C676: @ 826C676 + .string "I keep coming back to this same place!$" + +Route110_TrickHousePuzzle3_Text_26C69D: @ 826C69D + .string "I’m already having trouble, and then\n" + .string "you have to beat me? It’s not fair!$" + +Route110_TrickHousePuzzle3_Text_26C6E6: @ 826C6E6 + .string "It’s full of doors here!\n" + .string "It’s too small and dark in here! Help!$" + +Route110_TrickHousePuzzle3_Text_26C726: @ 826C726 + .string "I don’t know what’s going on here.\n" + .string "I’m starting to feel sad…$" + +Route110_TrickHousePuzzle3_Text_26C763: @ 826C763 + .string "You… You’re awful!$" + +Route110_TrickHousePuzzle3_Text_26C776: @ 826C776 + .string "I know I’m weak!\n" + .string "And, I have no sense of direction!$" + +Route110_TrickHousePuzzle3_Text_26C7AA: @ 826C7AA + .string "I don’t get it. What would anyone want\n" + .string "with a house this bizarre?$" + +Route110_TrickHousePuzzle3_Text_26C7EC: @ 826C7EC + .string "I don’t get it.\n" + .string "How did I lose?$" + +Route110_TrickHousePuzzle3_Text_26C80C: @ 826C80C + .string "I don’t get it.\n" + .string "How many traps are in this house?\p" + .string "You may be the one to solve that.$" + diff --git a/data/scripts/maps/Route110_TrickHousePuzzle4.inc b/data/scripts/maps/Route110_TrickHousePuzzle4.inc new file mode 100644 index 0000000000..56b4b02fbc --- /dev/null +++ b/data/scripts/maps/Route110_TrickHousePuzzle4.inc @@ -0,0 +1,71 @@ +Route110_TrickHousePuzzle4_MapScripts:: @ 826C860 + .byte 0 + +Route110_TrickHousePuzzle4_EventScript_26C861:: @ 826C861 + lockall + compare VAR_0x40AE, 0 + goto_eq Route110_TrickHousePuzzle4_EventScript_26C873 + goto Route110_TrickHousePuzzle4_EventScript_26A3DB + end + +Route110_TrickHousePuzzle4_EventScript_26C873:: @ 826C873 + setvar VAR_0x40AE, 1 + goto Route110_TrickHousePuzzle4_EventScript_26A3E5 + end + +Route110_TrickHousePuzzle4_EventScript_26C87E:: @ 826C87E + trainerbattle 0, TRAINER_CORA, 0, Route110_TrickHousePuzzle4_Text_26C92D, Route110_TrickHousePuzzle4_Text_26C96E + msgbox Route110_TrickHousePuzzle4_Text_26C9A2, 6 + end + +Route110_TrickHousePuzzle4_EventScript_26C895:: @ 826C895 + trainerbattle 0, TRAINER_YUJI, 0, Route110_TrickHousePuzzle4_Text_26C9E4, Route110_TrickHousePuzzle4_Text_26CA20 + msgbox Route110_TrickHousePuzzle4_Text_26CA53, 6 + end + +Route110_TrickHousePuzzle4_EventScript_26C8AC:: @ 826C8AC + trainerbattle 0, TRAINER_PAULA, 0, Route110_TrickHousePuzzle4_Text_26CA9C, Route110_TrickHousePuzzle4_Text_26CACB + msgbox Route110_TrickHousePuzzle4_Text_26CAD1, 6 + end + +Route110_TrickHousePuzzle4_Text_26C8C3: @ 826C8C3 + .string "{PLAYER} wrote down the secret code\n" + .string "on the door.\p" + .string "“TRICK MASTER is cool.”\n" + .string "… … … … … … … …\p" + .string "The lock clicked open!$" + +Route110_TrickHousePuzzle4_Text_26C92D: @ 826C92D + .string "It’s too much bother to think this out.\n" + .string "I only wanted to battle!$" + +Route110_TrickHousePuzzle4_Text_26C96E: @ 826C96E + .string "Even though I lost, I still like battling\n" + .string "the best!$" + +Route110_TrickHousePuzzle4_Text_26C9A2: @ 826C9A2 + .string "Wouldn’t you agree? You would go\n" + .string "anywhere if TRAINERS were there.$" + +Route110_TrickHousePuzzle4_Text_26C9E4: @ 826C9E4 + .string "Heh! Boulders like this, I can brush\n" + .string "aside with one finger!$" + +Route110_TrickHousePuzzle4_Text_26CA20: @ 826CA20 + .string "I can push boulders, but I can’t solve\n" + .string "the puzzle…$" + +Route110_TrickHousePuzzle4_Text_26CA53: @ 826CA53 + .string "It’s not good enough to be brawny…\n" + .string "You have to use your head. Be brainy!$" + +Route110_TrickHousePuzzle4_Text_26CA9C: @ 826CA9C + .string "The TRICK HOUSE is getting trickier,\n" + .string "isn’t it?$" + +Route110_TrickHousePuzzle4_Text_26CACB: @ 826CACB + .string "Aaak!$" + +Route110_TrickHousePuzzle4_Text_26CAD1: @ 826CAD1 + .string "Has anyone made it to the end?$" + diff --git a/data/scripts/maps/Route110_TrickHousePuzzle5.inc b/data/scripts/maps/Route110_TrickHousePuzzle5.inc new file mode 100644 index 0000000000..5e14d3addf --- /dev/null +++ b/data/scripts/maps/Route110_TrickHousePuzzle5.inc @@ -0,0 +1,1091 @@ +Route110_TrickHousePuzzle5_MapScripts:: @ 826CAF0 + map_script 3, Route110_TrickHousePuzzle5_MapScript1_26CAF6 + .byte 0 + +Route110_TrickHousePuzzle5_MapScript1_26CAF6: @ 826CAF6 + setvar VAR_0x4001, 0 + setvar VAR_0x4002, 0 + setvar VAR_0x4003, 0 + setvar VAR_0x4004, 0 + setvar VAR_0x4005, 0 + setvar VAR_0x4008, 0 + end + +Route110_TrickHousePuzzle5_EventScript_26CB15:: @ 826CB15 + lockall + compare VAR_0x40AF, 0 + goto_eq Route110_TrickHousePuzzle5_EventScript_26CB27 + goto Route110_TrickHousePuzzle5_EventScript_26A3DB + end + +Route110_TrickHousePuzzle5_EventScript_26CB27:: @ 826CB27 + setvar VAR_0x40AF, 1 + goto Route110_TrickHousePuzzle5_EventScript_26A3E5 + end + +Route110_TrickHousePuzzle5_EventScript_26CB32:: @ 826CB32 + lockall + applymovement 1, Route110_TrickHousePuzzle5_Movement_27259E + waitmovement 0 + compare VAR_0x4001, 1 + goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA + setvar VAR_0x4009, 0 + goto Route110_TrickHousePuzzle5_EventScript_26CCEB + end + +Route110_TrickHousePuzzle5_EventScript_26CB53:: @ 826CB53 + lockall + applymovement 2, Route110_TrickHousePuzzle5_Movement_27259E + waitmovement 0 + compare VAR_0x4002, 1 + goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA + setvar VAR_0x4009, 0 + goto Route110_TrickHousePuzzle5_EventScript_26CD6A + end + +Route110_TrickHousePuzzle5_EventScript_26CB74:: @ 826CB74 + lockall + applymovement 3, Route110_TrickHousePuzzle5_Movement_27259E + waitmovement 0 + compare VAR_0x4003, 1 + goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA + setvar VAR_0x4009, 0 + goto Route110_TrickHousePuzzle5_EventScript_26CDF4 + end + +Route110_TrickHousePuzzle5_EventScript_26CB95:: @ 826CB95 + lockall + applymovement 4, Route110_TrickHousePuzzle5_Movement_27259E + waitmovement 0 + compare VAR_0x4004, 1 + goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA + setvar VAR_0x4009, 0 + goto Route110_TrickHousePuzzle5_EventScript_26CE73 + end + +Route110_TrickHousePuzzle5_EventScript_26CBB6:: @ 826CBB6 + lockall + applymovement 5, Route110_TrickHousePuzzle5_Movement_27259E + waitmovement 0 + compare VAR_0x4005, 1 + goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA + setvar VAR_0x4009, 0 + goto Route110_TrickHousePuzzle5_EventScript_26CEF2 + end + +Route110_TrickHousePuzzle5_EventScript_26CBD7:: @ 826CBD7 + lockall + setvar VAR_0x4009, 0 + goto Route110_TrickHousePuzzle5_EventScript_26CCEB + end + +Route110_TrickHousePuzzle5_EventScript_26CBE3:: @ 826CBE3 + lockall + setvar VAR_0x4009, 1 + goto Route110_TrickHousePuzzle5_EventScript_26CCEB + end + +Route110_TrickHousePuzzle5_EventScript_26CBEF:: @ 826CBEF + lockall + setvar VAR_0x4009, 2 + goto Route110_TrickHousePuzzle5_EventScript_26CCEB + end + +Route110_TrickHousePuzzle5_EventScript_26CBFB:: @ 826CBFB + lockall + setvar VAR_0x4009, 3 + goto Route110_TrickHousePuzzle5_EventScript_26CCEB + end + +Route110_TrickHousePuzzle5_EventScript_26CC07:: @ 826CC07 + lockall + setvar VAR_0x4009, 4 + goto Route110_TrickHousePuzzle5_EventScript_26CCEB + end + +Route110_TrickHousePuzzle5_EventScript_26CC13:: @ 826CC13 + lockall + setvar VAR_0x4009, 0 + goto Route110_TrickHousePuzzle5_EventScript_26CD6A + end + +Route110_TrickHousePuzzle5_EventScript_26CC1F:: @ 826CC1F + lockall + setvar VAR_0x4009, 1 + goto Route110_TrickHousePuzzle5_EventScript_26CD6A + end + +Route110_TrickHousePuzzle5_EventScript_26CC2B:: @ 826CC2B + lockall + setvar VAR_0x4009, 2 + goto Route110_TrickHousePuzzle5_EventScript_26CD6A + end + +Route110_TrickHousePuzzle5_EventScript_26CC37:: @ 826CC37 + lockall + setvar VAR_0x4009, 3 + goto Route110_TrickHousePuzzle5_EventScript_26CD6A + end + +Route110_TrickHousePuzzle5_EventScript_26CC43:: @ 826CC43 + lockall + setvar VAR_0x4009, 4 + goto Route110_TrickHousePuzzle5_EventScript_26CD6A + end + +Route110_TrickHousePuzzle5_EventScript_26CC4F:: @ 826CC4F + lockall + setvar VAR_0x4009, 5 + goto Route110_TrickHousePuzzle5_EventScript_26CD6A + end + +Route110_TrickHousePuzzle5_EventScript_26CC5B:: @ 826CC5B + lockall + setvar VAR_0x4009, 0 + goto Route110_TrickHousePuzzle5_EventScript_26CDF4 + end + +Route110_TrickHousePuzzle5_EventScript_26CC67:: @ 826CC67 + lockall + setvar VAR_0x4009, 1 + goto Route110_TrickHousePuzzle5_EventScript_26CDF4 + end + +Route110_TrickHousePuzzle5_EventScript_26CC73:: @ 826CC73 + lockall + setvar VAR_0x4009, 2 + goto Route110_TrickHousePuzzle5_EventScript_26CDF4 + end + +Route110_TrickHousePuzzle5_EventScript_26CC7F:: @ 826CC7F + lockall + setvar VAR_0x4009, 3 + goto Route110_TrickHousePuzzle5_EventScript_26CDF4 + end + +Route110_TrickHousePuzzle5_EventScript_26CC8B:: @ 826CC8B + lockall + setvar VAR_0x4009, 4 + goto Route110_TrickHousePuzzle5_EventScript_26CDF4 + end + +Route110_TrickHousePuzzle5_EventScript_26CC97:: @ 826CC97 + lockall + setvar VAR_0x4009, 0 + goto Route110_TrickHousePuzzle5_EventScript_26CE73 + end + +Route110_TrickHousePuzzle5_EventScript_26CCA3:: @ 826CCA3 + lockall + setvar VAR_0x4009, 1 + goto Route110_TrickHousePuzzle5_EventScript_26CE73 + end + +Route110_TrickHousePuzzle5_EventScript_26CCAF:: @ 826CCAF + lockall + setvar VAR_0x4009, 2 + goto Route110_TrickHousePuzzle5_EventScript_26CE73 + end + +Route110_TrickHousePuzzle5_EventScript_26CCBB:: @ 826CCBB + lockall + setvar VAR_0x4009, 3 + goto Route110_TrickHousePuzzle5_EventScript_26CE73 + end + +Route110_TrickHousePuzzle5_EventScript_26CCC7:: @ 826CCC7 + lockall + setvar VAR_0x4009, 4 + goto Route110_TrickHousePuzzle5_EventScript_26CE73 + end + +Route110_TrickHousePuzzle5_EventScript_26CCD3:: @ 826CCD3 + lockall + setvar VAR_0x4009, 5 + goto Route110_TrickHousePuzzle5_EventScript_26CE73 + end + +Route110_TrickHousePuzzle5_EventScript_26CCDF:: @ 826CCDF + lockall + setvar VAR_0x4009, 0 + goto Route110_TrickHousePuzzle5_EventScript_26CEF2 + end + +Route110_TrickHousePuzzle5_EventScript_26CCEB:: @ 826CCEB + setvar VAR_0x4001, 1 + setvar VAR_0x4008, 1 + playse SE_PIN + applymovement 1, Route110_TrickHousePuzzle5_Movement_272598 + waitmovement 0 + applymovement 1, Route110_TrickHousePuzzle5_Movement_27259A + waitmovement 0 + compare VAR_0x4009, 1 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1B4 + compare VAR_0x4009, 2 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1EC + compare VAR_0x4009, 3 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D224 + compare VAR_0x4009, 4 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D25C + msgbox Route110_TrickHousePuzzle5_Text_26D6CE, 4 + random 3 + switch VAR_RESULT + case 0, Route110_TrickHousePuzzle5_EventScript_26CF45 + case 1, Route110_TrickHousePuzzle5_EventScript_26CF68 + case 2, Route110_TrickHousePuzzle5_EventScript_26CF8B + end + +Route110_TrickHousePuzzle5_EventScript_26CD6A:: @ 826CD6A + setvar VAR_0x4002, 1 + setvar VAR_0x4008, 2 + playse SE_PIN + applymovement 2, Route110_TrickHousePuzzle5_Movement_272598 + waitmovement 0 + applymovement 2, Route110_TrickHousePuzzle5_Movement_27259A + waitmovement 0 + compare VAR_0x4009, 1 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D2CC + compare VAR_0x4009, 2 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D304 + compare VAR_0x4009, 3 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D33C + compare VAR_0x4009, 4 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D374 + compare VAR_0x4009, 5 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D3AC + msgbox Route110_TrickHousePuzzle5_Text_26D8EA, 4 + random 3 + switch VAR_RESULT + case 0, Route110_TrickHousePuzzle5_EventScript_26CFAE + case 1, Route110_TrickHousePuzzle5_EventScript_26CFD1 + case 2, Route110_TrickHousePuzzle5_EventScript_26CFF4 + end + +Route110_TrickHousePuzzle5_EventScript_26CDF4:: @ 826CDF4 + setvar VAR_0x4003, 1 + setvar VAR_0x4008, 3 + playse SE_PIN + applymovement 3, Route110_TrickHousePuzzle5_Movement_272598 + waitmovement 0 + applymovement 3, Route110_TrickHousePuzzle5_Movement_27259A + waitmovement 0 + compare VAR_0x4009, 1 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1B4 + compare VAR_0x4009, 2 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1EC + compare VAR_0x4009, 3 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D224 + compare VAR_0x4009, 4 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D25C + msgbox Route110_TrickHousePuzzle5_Text_26DA1E, 4 + random 3 + switch VAR_RESULT + case 0, Route110_TrickHousePuzzle5_EventScript_26D017 + case 1, Route110_TrickHousePuzzle5_EventScript_26D03A + case 2, Route110_TrickHousePuzzle5_EventScript_26D05D + end + +Route110_TrickHousePuzzle5_EventScript_26CE73:: @ 826CE73 + setvar VAR_0x4004, 1 + setvar VAR_0x4008, 4 + playse SE_PIN + applymovement 4, Route110_TrickHousePuzzle5_Movement_272598 + waitmovement 0 + applymovement 4, Route110_TrickHousePuzzle5_Movement_27259A + waitmovement 0 + compare VAR_0x4009, 1 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1B4 + compare VAR_0x4009, 2 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1EC + compare VAR_0x4009, 3 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D224 + compare VAR_0x4009, 4 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D25C + msgbox Route110_TrickHousePuzzle5_Text_26DB4C, 4 + random 3 + switch VAR_RESULT + case 0, Route110_TrickHousePuzzle5_EventScript_26D080 + case 1, Route110_TrickHousePuzzle5_EventScript_26D0A3 + case 2, Route110_TrickHousePuzzle5_EventScript_26D0C6 + end + +Route110_TrickHousePuzzle5_EventScript_26CEF2:: @ 826CEF2 + setvar VAR_0x4005, 1 + setvar VAR_0x4008, 5 + playse SE_PIN + applymovement 5, Route110_TrickHousePuzzle5_Movement_272598 + waitmovement 0 + applymovement 5, Route110_TrickHousePuzzle5_Movement_27259A + waitmovement 0 + msgbox Route110_TrickHousePuzzle5_Text_26DC78, 4 + random 3 + switch VAR_RESULT + case 0, Route110_TrickHousePuzzle5_EventScript_26D0E9 + case 1, Route110_TrickHousePuzzle5_EventScript_26D10C + case 2, Route110_TrickHousePuzzle5_EventScript_26D12F + end + +Route110_TrickHousePuzzle5_EventScript_26CF45:: @ 826CF45 + msgbox Route110_TrickHousePuzzle5_Text_26D757, 4 + multichoice 0, 0, 25, 1 + switch VAR_RESULT + case 2, Route110_TrickHousePuzzle5_EventScript_26D1A0 + goto Route110_TrickHousePuzzle5_EventScript_26D152 + end + +Route110_TrickHousePuzzle5_EventScript_26CF68:: @ 826CF68 + msgbox Route110_TrickHousePuzzle5_Text_26D7AA, 4 + multichoice 0, 0, 26, 1 + switch VAR_RESULT + case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0 + goto Route110_TrickHousePuzzle5_EventScript_26D152 + end + +Route110_TrickHousePuzzle5_EventScript_26CF8B:: @ 826CF8B + msgbox Route110_TrickHousePuzzle5_Text_26D7FC, 4 + multichoice 0, 0, 27, 1 + switch VAR_RESULT + case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0 + goto Route110_TrickHousePuzzle5_EventScript_26D152 + end + +Route110_TrickHousePuzzle5_EventScript_26CFAE:: @ 826CFAE + msgbox Route110_TrickHousePuzzle5_Text_26D940, 4 + multichoice 0, 0, 28, 1 + switch VAR_RESULT + case 1, Route110_TrickHousePuzzle5_EventScript_26D1A0 + goto Route110_TrickHousePuzzle5_EventScript_26D152 + end + +Route110_TrickHousePuzzle5_EventScript_26CFD1:: @ 826CFD1 + msgbox Route110_TrickHousePuzzle5_Text_26D98C, 4 + multichoice 0, 0, 29, 1 + switch VAR_RESULT + case 2, Route110_TrickHousePuzzle5_EventScript_26D1A0 + goto Route110_TrickHousePuzzle5_EventScript_26D152 + end + +Route110_TrickHousePuzzle5_EventScript_26CFF4:: @ 826CFF4 + msgbox Route110_TrickHousePuzzle5_Text_26D9CE, 4 + multichoice 0, 0, 30, 1 + switch VAR_RESULT + case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0 + goto Route110_TrickHousePuzzle5_EventScript_26D152 + end + +Route110_TrickHousePuzzle5_EventScript_26D017:: @ 826D017 + msgbox Route110_TrickHousePuzzle5_Text_26DA64, 4 + multichoice 0, 0, 31, 1 + switch VAR_RESULT + case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0 + goto Route110_TrickHousePuzzle5_EventScript_26D152 + end + +Route110_TrickHousePuzzle5_EventScript_26D03A:: @ 826D03A + msgbox Route110_TrickHousePuzzle5_Text_26DAAD, 4 + multichoice 0, 0, 32, 1 + switch VAR_RESULT + case 2, Route110_TrickHousePuzzle5_EventScript_26D1A0 + goto Route110_TrickHousePuzzle5_EventScript_26D152 + end + +Route110_TrickHousePuzzle5_EventScript_26D05D:: @ 826D05D + msgbox Route110_TrickHousePuzzle5_Text_26DAFF, 4 + multichoice 0, 0, 33, 1 + switch VAR_RESULT + case 1, Route110_TrickHousePuzzle5_EventScript_26D1A0 + goto Route110_TrickHousePuzzle5_EventScript_26D152 + end + +Route110_TrickHousePuzzle5_EventScript_26D080:: @ 826D080 + msgbox Route110_TrickHousePuzzle5_Text_26DB94, 4 + multichoice 0, 0, 34, 1 + switch VAR_RESULT + case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0 + goto Route110_TrickHousePuzzle5_EventScript_26D152 + end + +Route110_TrickHousePuzzle5_EventScript_26D0A3:: @ 826D0A3 + msgbox Route110_TrickHousePuzzle5_Text_26DBD7, 4 + multichoice 0, 0, 35, 1 + switch VAR_RESULT + case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0 + goto Route110_TrickHousePuzzle5_EventScript_26D152 + end + +Route110_TrickHousePuzzle5_EventScript_26D0C6:: @ 826D0C6 + msgbox Route110_TrickHousePuzzle5_Text_26DC2A, 4 + multichoice 0, 0, 36, 1 + switch VAR_RESULT + case 1, Route110_TrickHousePuzzle5_EventScript_26D1A0 + goto Route110_TrickHousePuzzle5_EventScript_26D152 + end + +Route110_TrickHousePuzzle5_EventScript_26D0E9:: @ 826D0E9 + msgbox Route110_TrickHousePuzzle5_Text_26DCCB, 4 + multichoice 0, 0, 37, 1 + switch VAR_RESULT + case 1, Route110_TrickHousePuzzle5_EventScript_26D1A0 + goto Route110_TrickHousePuzzle5_EventScript_26D152 + end + +Route110_TrickHousePuzzle5_EventScript_26D10C:: @ 826D10C + msgbox Route110_TrickHousePuzzle5_Text_26DD1B, 4 + multichoice 0, 0, 38, 1 + switch VAR_RESULT + case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0 + goto Route110_TrickHousePuzzle5_EventScript_26D152 + end + +Route110_TrickHousePuzzle5_EventScript_26D12F:: @ 826D12F + msgbox Route110_TrickHousePuzzle5_Text_26DD5F, 4 + multichoice 0, 0, 39, 1 + switch VAR_RESULT + case 2, Route110_TrickHousePuzzle5_EventScript_26D1A0 + goto Route110_TrickHousePuzzle5_EventScript_26D152 + end + +Route110_TrickHousePuzzle5_EventScript_26D152:: @ 826D152 + waitse + playse SE_HAZURE + msgbox Route110_TrickHousePuzzle5_Text_26D883, 4 + applymovement 1, Route110_TrickHousePuzzle5_Movement_26D632 + applymovement 2, Route110_TrickHousePuzzle5_Movement_26D632 + applymovement 3, Route110_TrickHousePuzzle5_Movement_26D632 + applymovement 4, Route110_TrickHousePuzzle5_Movement_26D632 + applymovement 5, Route110_TrickHousePuzzle5_Movement_26D632 + msgbox Route110_TrickHousePuzzle5_Text_26D8A1, 4 + waitmovement 0 + msgbox Route110_TrickHousePuzzle5_Text_26D8C9, 4 + closemessage + warp ROUTE_110_TRICK_HOUSE_PUZZLE_5, 255, 0, 21 + waitstate + releaseall + end + +Route110_TrickHousePuzzle5_EventScript_26D1A0:: @ 826D1A0 + waitse + playse SE_SEIKAI + goto Route110_TrickHousePuzzle5_EventScript_26D1AA + end + +Route110_TrickHousePuzzle5_EventScript_26D1AA:: @ 826D1AA + msgbox Route110_TrickHousePuzzle5_Text_26D84D, 4 + releaseall + end + +Route110_TrickHousePuzzle5_EventScript_26D1B4:: @ 826D1B4 + compare VAR_0x4008, 1 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D3E4 + compare VAR_0x4008, 2 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D3EF + compare VAR_0x4008, 3 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D3FA + compare VAR_0x4008, 4 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D405 + compare VAR_0x4008, 5 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D410 + return + +Route110_TrickHousePuzzle5_EventScript_26D1EC:: @ 826D1EC + compare VAR_0x4008, 1 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D41B + compare VAR_0x4008, 2 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D426 + compare VAR_0x4008, 3 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D431 + compare VAR_0x4008, 4 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D43C + compare VAR_0x4008, 5 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D447 + return + +Route110_TrickHousePuzzle5_EventScript_26D224:: @ 826D224 + compare VAR_0x4008, 1 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D452 + compare VAR_0x4008, 2 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D45D + compare VAR_0x4008, 3 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D468 + compare VAR_0x4008, 4 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D473 + compare VAR_0x4008, 5 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D47E + return + +Route110_TrickHousePuzzle5_EventScript_26D25C:: @ 826D25C + compare VAR_0x4008, 1 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D489 + compare VAR_0x4008, 2 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D494 + compare VAR_0x4008, 3 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D49F + compare VAR_0x4008, 4 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4AA + compare VAR_0x4008, 5 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4B5 + return + +Route110_TrickHousePuzzle5_EventScript_26D294:: @ 826D294 + compare VAR_0x4008, 1 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4C0 + compare VAR_0x4008, 2 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4CB + compare VAR_0x4008, 3 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4D6 + compare VAR_0x4008, 4 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4E1 + compare VAR_0x4008, 5 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4EC + return + +Route110_TrickHousePuzzle5_EventScript_26D2CC:: @ 826D2CC + compare VAR_0x4008, 1 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4F7 + compare VAR_0x4008, 2 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D502 + compare VAR_0x4008, 3 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D50D + compare VAR_0x4008, 4 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D518 + compare VAR_0x4008, 5 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D523 + return + +Route110_TrickHousePuzzle5_EventScript_26D304:: @ 826D304 + compare VAR_0x4008, 1 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D52E + compare VAR_0x4008, 2 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D539 + compare VAR_0x4008, 3 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D544 + compare VAR_0x4008, 4 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D54F + compare VAR_0x4008, 5 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D55A + return + +Route110_TrickHousePuzzle5_EventScript_26D33C:: @ 826D33C + compare VAR_0x4008, 1 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D565 + compare VAR_0x4008, 2 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D570 + compare VAR_0x4008, 3 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D57B + compare VAR_0x4008, 4 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D586 + compare VAR_0x4008, 5 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D591 + return + +Route110_TrickHousePuzzle5_EventScript_26D374:: @ 826D374 + compare VAR_0x4008, 1 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D59C + compare VAR_0x4008, 2 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5A7 + compare VAR_0x4008, 3 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5B2 + compare VAR_0x4008, 4 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5BD + compare VAR_0x4008, 5 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5C8 + return + +Route110_TrickHousePuzzle5_EventScript_26D3AC:: @ 826D3AC + compare VAR_0x4008, 1 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5D3 + compare VAR_0x4008, 2 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5DE + compare VAR_0x4008, 3 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5E9 + compare VAR_0x4008, 4 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5F4 + compare VAR_0x4008, 5 + call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5FF + return + +Route110_TrickHousePuzzle5_EventScript_26D3E4:: @ 826D3E4 + applymovement 1, Route110_TrickHousePuzzle5_Movement_26D60A + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D3EF:: @ 826D3EF + applymovement 2, Route110_TrickHousePuzzle5_Movement_26D60A + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D3FA:: @ 826D3FA + applymovement 3, Route110_TrickHousePuzzle5_Movement_26D60A + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D405:: @ 826D405 + applymovement 4, Route110_TrickHousePuzzle5_Movement_26D60A + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D410:: @ 826D410 + applymovement 5, Route110_TrickHousePuzzle5_Movement_26D60A + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D41B:: @ 826D41B + applymovement 1, Route110_TrickHousePuzzle5_Movement_26D60C + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D426:: @ 826D426 + applymovement 2, Route110_TrickHousePuzzle5_Movement_26D60C + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D431:: @ 826D431 + applymovement 3, Route110_TrickHousePuzzle5_Movement_26D60C + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D43C:: @ 826D43C + applymovement 4, Route110_TrickHousePuzzle5_Movement_26D60C + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D447:: @ 826D447 + applymovement 5, Route110_TrickHousePuzzle5_Movement_26D60C + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D452:: @ 826D452 + applymovement 1, Route110_TrickHousePuzzle5_Movement_26D60F + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D45D:: @ 826D45D + applymovement 2, Route110_TrickHousePuzzle5_Movement_26D60F + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D468:: @ 826D468 + applymovement 3, Route110_TrickHousePuzzle5_Movement_26D60F + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D473:: @ 826D473 + applymovement 4, Route110_TrickHousePuzzle5_Movement_26D60F + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D47E:: @ 826D47E + applymovement 5, Route110_TrickHousePuzzle5_Movement_26D60F + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D489:: @ 826D489 + applymovement 1, Route110_TrickHousePuzzle5_Movement_26D613 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D494:: @ 826D494 + applymovement 2, Route110_TrickHousePuzzle5_Movement_26D613 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D49F:: @ 826D49F + applymovement 3, Route110_TrickHousePuzzle5_Movement_26D613 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D4AA:: @ 826D4AA + applymovement 4, Route110_TrickHousePuzzle5_Movement_26D613 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D4B5:: @ 826D4B5 + applymovement 5, Route110_TrickHousePuzzle5_Movement_26D613 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D4C0:: @ 826D4C0 + applymovement 1, Movement_26D618 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D4CB:: @ 826D4CB + applymovement 2, Movement_26D618 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D4D6:: @ 826D4D6 + applymovement 3, Movement_26D618 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D4E1:: @ 826D4E1 + applymovement 4, Movement_26D618 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D4EC:: @ 826D4EC + applymovement 5, Movement_26D618 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D4F7:: @ 826D4F7 + applymovement 1, Route110_TrickHousePuzzle5_Movement_26D61E + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D502:: @ 826D502 + applymovement 2, Route110_TrickHousePuzzle5_Movement_26D61E + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D50D:: @ 826D50D + applymovement 3, Route110_TrickHousePuzzle5_Movement_26D61E + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D518:: @ 826D518 + applymovement 4, Route110_TrickHousePuzzle5_Movement_26D61E + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D523:: @ 826D523 + applymovement 5, Route110_TrickHousePuzzle5_Movement_26D61E + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D52E:: @ 826D52E + applymovement 1, Route110_TrickHousePuzzle5_Movement_26D620 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D539:: @ 826D539 + applymovement 2, Route110_TrickHousePuzzle5_Movement_26D620 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D544:: @ 826D544 + applymovement 3, Route110_TrickHousePuzzle5_Movement_26D620 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D54F:: @ 826D54F + applymovement 4, Route110_TrickHousePuzzle5_Movement_26D620 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D55A:: @ 826D55A + applymovement 5, Route110_TrickHousePuzzle5_Movement_26D620 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D565:: @ 826D565 + applymovement 1, Route110_TrickHousePuzzle5_Movement_26D623 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D570:: @ 826D570 + applymovement 2, Route110_TrickHousePuzzle5_Movement_26D623 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D57B:: @ 826D57B + applymovement 3, Route110_TrickHousePuzzle5_Movement_26D623 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D586:: @ 826D586 + applymovement 4, Route110_TrickHousePuzzle5_Movement_26D623 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D591:: @ 826D591 + applymovement 5, Route110_TrickHousePuzzle5_Movement_26D623 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D59C:: @ 826D59C + applymovement 1, Route110_TrickHousePuzzle5_Movement_26D627 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D5A7:: @ 826D5A7 + applymovement 2, Route110_TrickHousePuzzle5_Movement_26D627 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D5B2:: @ 826D5B2 + applymovement 3, Route110_TrickHousePuzzle5_Movement_26D627 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D5BD:: @ 826D5BD + applymovement 4, Route110_TrickHousePuzzle5_Movement_26D627 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D5C8:: @ 826D5C8 + applymovement 5, Route110_TrickHousePuzzle5_Movement_26D627 + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D5D3:: @ 826D5D3 + applymovement 1, Route110_TrickHousePuzzle5_Movement_26D62C + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D5DE:: @ 826D5DE + applymovement 2, Route110_TrickHousePuzzle5_Movement_26D62C + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D5E9:: @ 826D5E9 + applymovement 3, Route110_TrickHousePuzzle5_Movement_26D62C + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D5F4:: @ 826D5F4 + applymovement 4, Route110_TrickHousePuzzle5_Movement_26D62C + waitmovement 0 + return + +Route110_TrickHousePuzzle5_EventScript_26D5FF:: @ 826D5FF + applymovement 5, Route110_TrickHousePuzzle5_Movement_26D62C + waitmovement 0 + return + +Route110_TrickHousePuzzle5_Movement_26D60A: @ 826D60A + step_left + step_end + +Route110_TrickHousePuzzle5_Movement_26D60C: @ 826D60C + step_left + step_left + step_end + +Route110_TrickHousePuzzle5_Movement_26D60F: @ 826D60F + step_left + step_left + step_left + step_end + +Route110_TrickHousePuzzle5_Movement_26D613: @ 826D613 + step_left + step_left + step_left + step_left + step_end + + +Movement_26D618: @ 826D618 + step_left + step_left + step_left + step_left + step_left + step_end + +Route110_TrickHousePuzzle5_Movement_26D61E: @ 826D61E + step_right + step_end + +Route110_TrickHousePuzzle5_Movement_26D620: @ 826D620 + step_right + step_right + step_end + +Route110_TrickHousePuzzle5_Movement_26D623: @ 826D623 + step_right + step_right + step_right + step_end + +Route110_TrickHousePuzzle5_Movement_26D627: @ 826D627 + step_right + step_right + step_right + step_right + step_end + +Route110_TrickHousePuzzle5_Movement_26D62C: @ 826D62C + step_right + step_right + step_right + step_right + step_right + step_end + +Route110_TrickHouseEntrance_Movement_26D632: @ 826D632 +Route110_TrickHousePuzzle5_Movement_26D632: @ 826D632 + step_02 + step_11 + step_03 + step_11 + step_02 + step_11 + step_03 + step_11 + step_02 + step_11 + step_03 + step_11 + step_02 + step_11 + step_03 + step_11 + step_02 + step_11 + step_03 + step_11 + step_02 + step_11 + step_03 + step_11 + step_02 + step_11 + step_03 + step_11 + step_02 + step_11 + step_03 + step_11 + step_02 + step_11 + step_03 + step_11 + step_02 + step_11 + step_03 + step_11 + step_02 + step_11 + step_03 + step_11 + step_00 + step_end + +Route110_TrickHousePuzzle5_Text_26D660: @ 826D660 + .string "{PLAYER} wrote down the secret code\n" + .string "on the door.\p" + .string "“TRICK MASTER is a genius.”\n" + .string "… … … … … … … …\p" + .string "The lock clicked open!$" + +Route110_TrickHousePuzzle5_Text_26D6CE: @ 826D6CE + .string "CLICKETY-CLACK…\n" + .string "MECHADOLL 1 AM I!\p" + .string "IF YOU ANSWER QUIZZES CORRECTLY,\n" + .string "THEN YOU WILL GO TO MECHADOLL 5.\l" + .string "THEN YOU CAN OBTAIN THE SECRET CODE.$" + +Route110_TrickHousePuzzle5_Text_26D757: @ 826D757 + .string "MECHADOLL 1 QUIZ.\p" + .string "One of these POKéMON is not found\n" + .string "on ROUTE 110. Which one is it?$" + +Route110_TrickHousePuzzle5_Text_26D7AA: @ 826D7AA + .string "MECHADOLL 1 QUIZ.\p" + .string "One of these POKéMON is not of the\n" + .string "WATER type. Which one is it?$" + +Route110_TrickHousePuzzle5_Text_26D7FC: @ 826D7FC + .string "MECHADOLL 1 QUIZ.\p" + .string "One of these POKéMON does not use\n" + .string "LEECH LIFE. Which one is it?$" + +Route110_TrickHousePuzzle5_Text_26D84D: @ 826D84D + .string "CONGRATULATIONS. CORRECT YOU ARE.\n" + .string "GO THROUGH. PLEASE.$" + +Route110_TrickHousePuzzle5_Text_26D883: @ 826D883 + .string "BZZZT. DISAPPOINTMENT.\n" + .string "ERROR.$" + +Route110_TrickHousePuzzle5_Text_26D8A1: @ 826D8A1 + .string "WAHAHAHAHA! WAHAHAHAHA!\n" + .string "CLICKETY-CLACK!$" + +Route110_TrickHousePuzzle5_Text_26D8C9: @ 826D8C9 + .string "YOUR NEXT CHALLENGE WE WAIT FOR.$" + +Route110_TrickHousePuzzle5_Text_26D8EA: @ 826D8EA + .string "CLICKETY-CLACK…\n" + .string "MECHADOLL 2 AM I!\p" + .string "MECHADOLL 1’S QUIZ DIFFICULTY LEVEL\n" + .string "IS SET TOO LOW.$" + +Route110_TrickHousePuzzle5_Text_26D940: @ 826D940 + .string "MECHADOLL 2 QUIZ.\p" + .string "Which of these POKéMON did WALLY\n" + .string "borrow from your father?$" + +Route110_TrickHousePuzzle5_Text_26D98C: @ 826D98C + .string "MECHADOLL 2 QUIZ.\p" + .string "Which of these POKéMON was chasing\n" + .string "PROF. BIRCH?$" + +Route110_TrickHousePuzzle5_Text_26D9CE: @ 826D9CE + .string "MECHADOLL 2 QUIZ.\p" + .string "Which of these POKéMON did TEAM AQUA\n" + .string "use in PETALBURG FOREST?$" + +Route110_TrickHousePuzzle5_Text_26DA1E: @ 826DA1E + .string "CLICKETY-CLACK…\n" + .string "MECHADOLL 3 AM I!\p" + .string "MATTERS OF MONEY ARE MY SOLE FOCUS.$" + +Route110_TrickHousePuzzle5_Text_26DA64: @ 826DA64 + .string "MECHADOLL 3 QUIZ.\p" + .string "Which costs more?\n" + .string "Three HARBOR MAILS or one BURN HEAL?$" + +Route110_TrickHousePuzzle5_Text_26DAAD: @ 826DAAD + .string "MECHADOLL 3 QUIZ.\p" + .string "Sell one GREAT BALL and buy\n" + .string "one POTION. How much money remains?$" + +Route110_TrickHousePuzzle5_Text_26DAFF: @ 826DAFF + .string "MECHADOLL 3 QUIZ.\p" + .string "Do one REPEL and SODA POP cost\n" + .string "more than one SUPER POTION?$" + +Route110_TrickHousePuzzle5_Text_26DB4C: @ 826DB4C + .string "CLICKETY-CLACK…\n" + .string "MECHADOLL 4 THAT IS ME!\p" + .string "MY QUIZ IS AN OBJECT OF BEAUTY.$" + +Route110_TrickHousePuzzle5_Text_26DB94: @ 826DB94 + .string "MECHADOLL 4 QUIZ.\p" + .string "In SEASHORE HOUSE, were there more men\n" + .string "or women?$" + +Route110_TrickHousePuzzle5_Text_26DBD7: @ 826DBD7 + .string "MECHADOLL 4 QUIZ.\p" + .string "In LAVARIDGE TOWN, were there more\n" + .string "elderly men or elderly women?$" + +Route110_TrickHousePuzzle5_Text_26DC2A: @ 826DC2A + .string "MECHADOLL 4 QUIZ.\p" + .string "In the TRAINER’S SCHOOL, how many\n" + .string "girl students were there?$" + +Route110_TrickHousePuzzle5_Text_26DC78: @ 826DC78 + .string "CLICKETY-CLACK…\n" + .string "MECHADOLL 5 AM I!\p" + .string "THE MASTER’S BEST AND PROUDEST\n" + .string "ACHIEVEMENT AM I.$" + +Route110_TrickHousePuzzle5_Text_26DCCB: @ 826DCCB + .string "MECHADOLL 5 QUIZ.\p" + .string "In SLATEPORT’s POKéMON FAN CLUB,\n" + .string "how many POKéMON were there?$" + +Route110_TrickHousePuzzle5_Text_26DD1B: @ 826DD1B + .string "MECHADOLL 5 QUIZ.\p" + .string "In FORTREE CITY, how many\n" + .string "tree houses were there?$" + +Route110_TrickHousePuzzle5_Text_26DD5F: @ 826DD5F + .string "MECHADOLL 5 QUIZ.\p" + .string "On the CYCLING ROAD, how many\n" + .string "TRIATHLETES were there?$" diff --git a/data/scripts/maps/Route110_TrickHousePuzzle6.inc b/data/scripts/maps/Route110_TrickHousePuzzle6.inc new file mode 100644 index 0000000000..a043b2ec46 --- /dev/null +++ b/data/scripts/maps/Route110_TrickHousePuzzle6.inc @@ -0,0 +1,87 @@ +Route110_TrickHousePuzzle6_MapScripts:: @ 826DDA7 + map_script 3, Route110_TrickHousePuzzle6_MapScript1_26DDB2 + map_script 4, Route110_TrickHousePuzzle6_MapScript2_26DDB6 + .byte 0 + +Route110_TrickHousePuzzle6_MapScript1_26DDB2: @ 826DDB2 + special sub_80FBE90 + end + +Route110_TrickHousePuzzle6_MapScript2_26DDB6: @ 826DDB6 + map_script_2 VAR_0x4000, 16384, Route110_TrickHousePuzzle6_EventScript_26DDC0 + .2byte 0 + +Route110_TrickHousePuzzle6_EventScript_26DDC0:: @ 826DDC0 + special sub_80FBED0 + end + +Route110_TrickHousePuzzle6_EventScript_26DDC4:: @ 826DDC4 + lockall + compare VAR_0x40B0, 0 + goto_eq Route110_TrickHousePuzzle6_EventScript_26DDD6 + goto Route110_TrickHousePuzzle6_EventScript_26A3DB + end + +Route110_TrickHousePuzzle6_EventScript_26DDD6:: @ 826DDD6 + setvar VAR_0x40B0, 1 + goto Route110_TrickHousePuzzle6_EventScript_26A3E5 + end + +Route110_TrickHousePuzzle6_EventScript_26DDE1:: @ 826DDE1 + trainerbattle 0, TRAINER_SOPHIA, 0, Route110_TrickHousePuzzle6_Text_26DE93, Route110_TrickHousePuzzle6_Text_26DED2 + msgbox Route110_TrickHousePuzzle6_Text_26DEF3, 6 + end + +Route110_TrickHousePuzzle6_EventScript_26DDF8:: @ 826DDF8 + trainerbattle 0, TRAINER_BENNY, 0, Route110_TrickHousePuzzle6_Text_26DF55, Route110_TrickHousePuzzle6_Text_26DF8D + msgbox Route110_TrickHousePuzzle6_Text_26DFA0, 6 + end + +Route110_TrickHousePuzzle6_EventScript_26DE0F:: @ 826DE0F + trainerbattle 0, TRAINER_SEBASTIAN, 0, Route110_TrickHousePuzzle6_Text_26DFD7, Route110_TrickHousePuzzle6_Text_26E004 + msgbox Route110_TrickHousePuzzle6_Text_26E048, 6 + end + +Route110_TrickHousePuzzle6_Text_26DE26: @ 826DE26 + .string "{PLAYER} wrote down the secret code\n" + .string "on the door.\p" + .string "“TRICK MASTER is my life.”\n" + .string "… … … … … … … …\p" + .string "The lock clicked open!$" + +Route110_TrickHousePuzzle6_Text_26DE93: @ 826DE93 + .string "When I heard there was a strange\n" + .string "house, I had to check it out.$" + +Route110_TrickHousePuzzle6_Text_26DED2: @ 826DED2 + .string "I’ve discovered a tough TRAINER!$" + +Route110_TrickHousePuzzle6_Text_26DEF3: @ 826DEF3 + .string "I’m sure having a good time checking\n" + .string "this place out.\p" + .string "It’s a challenge I’ve found worth\n" + .string "repeating!$" + +Route110_TrickHousePuzzle6_Text_26DF55: @ 826DF55 + .string "Maybe I could get my BIRD POKéMON\n" + .string "to fly over the wall…$" + +Route110_TrickHousePuzzle6_Text_26DF8D: @ 826DF8D + .string "Gwaaah! I blew it!$" + +Route110_TrickHousePuzzle6_Text_26DFA0: @ 826DFA0 + .string "Ehehehe… I guess I lost because\n" + .string "I was trying to cheat.$" + +Route110_TrickHousePuzzle6_Text_26DFD7: @ 826DFD7 + .string "I’m getting dizzy from these rotating\n" + .string "doors…$" + +Route110_TrickHousePuzzle6_Text_26E004: @ 826E004 + .string "Everything’s spinning around and\n" + .string "around. I can’t take this anymore…$" + +Route110_TrickHousePuzzle6_Text_26E048: @ 826E048 + .string "You don’t seem to be affected at all.\n" + .string "Or do you have your poker face on?$" + diff --git a/data/scripts/maps/Route110_TrickHousePuzzle7.inc b/data/scripts/maps/Route110_TrickHousePuzzle7.inc new file mode 100644 index 0000000000..35e5e15224 --- /dev/null +++ b/data/scripts/maps/Route110_TrickHousePuzzle7.inc @@ -0,0 +1,411 @@ +Route110_TrickHousePuzzle7_MapScripts:: @ 826E091 + map_script 5, Route110_TrickHousePuzzle7_MapScript1_26E0A6 + map_script 3, Route110_TrickHousePuzzle7_MapScript1_26E198 + map_script 1, Route110_TrickHousePuzzle7_MapScript1_26E1B4 + map_script 2, Route110_TrickHousePuzzle7_MapScript2_26E1C0 + .byte 0 + +Route110_TrickHousePuzzle7_MapScript1_26E0A6: @ 826E0A6 + call Route110_TrickHousePuzzle7_EventScript_26E0AC + end + +Route110_TrickHousePuzzle7_EventScript_26E0AC:: @ 826E0AC + checkflag FLAG_0x0C2 + call_if 1, Route110_TrickHousePuzzle7_EventScript_26E0DA + checkflag FLAG_0x0C3 + call_if 1, Route110_TrickHousePuzzle7_EventScript_26E0ED + checkflag FLAG_0x0C4 + call_if 1, Route110_TrickHousePuzzle7_EventScript_26E100 + checkflag FLAG_0x0C5 + call_if 1, Route110_TrickHousePuzzle7_EventScript_26E113 + checkflag FLAG_0x0C6 + call_if 1, Route110_TrickHousePuzzle7_EventScript_26E126 + return + +Route110_TrickHousePuzzle7_EventScript_26E0DA:: @ 826E0DA + setmetatile 13, 17, 610, 0 + setmetatile 12, 16, 575, 1 + return + +Route110_TrickHousePuzzle7_EventScript_26E0ED:: @ 826E0ED + setmetatile 12, 13, 610, 0 + setmetatile 12, 11, 575, 1 + return + +Route110_TrickHousePuzzle7_EventScript_26E100:: @ 826E100 + setmetatile 7, 12, 610, 0 + setmetatile 5, 10, 575, 1 + return + +Route110_TrickHousePuzzle7_EventScript_26E113:: @ 826E113 + setmetatile 6, 6, 636, 0 + setmetatile 4, 4, 575, 1 + return + +Route110_TrickHousePuzzle7_EventScript_26E126:: @ 826E126 + setmetatile 8, 4, 609, 0 + setmetatile 7, 5, 575, 1 + return + +Route110_TrickHousePuzzle7_EventScript_26E139:: @ 826E139 + setmetatile 13, 17, 611, 0 + setmetatile 12, 16, 574, 1 + return + +Route110_TrickHousePuzzle7_EventScript_26E14C:: @ 826E14C + setmetatile 12, 13, 609, 0 + setmetatile 12, 11, 574, 1 + return + +Route110_TrickHousePuzzle7_EventScript_26E15F:: @ 826E15F + setmetatile 7, 12, 611, 0 + setmetatile 5, 10, 574, 1 + return + +Route110_TrickHousePuzzle7_EventScript_26E172:: @ 826E172 + setmetatile 6, 6, 635, 0 + setmetatile 4, 4, 574, 1 + return + +Route110_TrickHousePuzzle7_EventScript_26E185:: @ 826E185 + setmetatile 8, 4, 608, 0 + setmetatile 7, 5, 574, 1 + return + +Route110_TrickHousePuzzle7_MapScript1_26E198: @ 826E198 + compare VAR_0x40B6, 1 + goto_eq Route110_TrickHousePuzzle7_EventScript_26E1B3 + clearflag FLAG_0x0C2 + clearflag FLAG_0x0C3 + clearflag FLAG_0x0C4 + clearflag FLAG_0x0C5 + clearflag FLAG_0x0C6 + end + +Route110_TrickHousePuzzle7_EventScript_26E1B3:: @ 826E1B3 + end + +Route110_TrickHousePuzzle7_MapScript1_26E1B4: @ 826E1B4 + compare VAR_0x40B6, 1 + call_if 1, Route110_TrickHousePuzzle7_EventScript_26E0AC + end + +Route110_TrickHousePuzzle7_MapScript2_26E1C0: @ 826E1C0 + map_script_2 VAR_0x40B6, 1, Route110_TrickHousePuzzle7_EventScript_26E1CA + .2byte 0 + +Route110_TrickHousePuzzle7_EventScript_26E1CA:: @ 826E1CA + setvar VAR_0x40B6, 0 + end + +Route110_TrickHousePuzzle7_EventScript_26E1D0:: @ 826E1D0 + lockall + compare VAR_0x40B1, 0 + goto_eq Route110_TrickHousePuzzle7_EventScript_26E1E2 + goto Route110_TrickHousePuzzle7_EventScript_26A3DB + end + +Route110_TrickHousePuzzle7_EventScript_26E1E2:: @ 826E1E2 + setvar VAR_0x40B1, 1 + goto Route110_TrickHousePuzzle7_EventScript_26A3E5 + end + +Route110_TrickHousePuzzle7_EventScript_26E1ED:: @ 826E1ED + lockall + setvar VAR_0x40B6, 1 + warpteleport ROUTE_110_TRICK_HOUSE_PUZZLE_7, 255, 3, 19 + waitstate + releaseall + end + +Route110_TrickHousePuzzle7_EventScript_26E1FE:: @ 826E1FE + lockall + delay 32 + checkflag FLAG_0x0C2 + call_if 0, Route110_TrickHousePuzzle7_EventScript_26E0DA + checkflag FLAG_0x0C2 + call_if 1, Route110_TrickHousePuzzle7_EventScript_26E139 + special DrawWholeMapView + playse SE_TK_KASYA + checkflag FLAG_0x0C2 + goto_if 0, Route110_TrickHousePuzzle7_EventScript_26E2E9 + checkflag FLAG_0x0C2 + goto_eq Route110_TrickHousePuzzle7_EventScript_26E2EE + end + +Route110_TrickHousePuzzle7_EventScript_26E22D:: @ 826E22D + lockall + delay 32 + checkflag FLAG_0x0C3 + call_if 0, Route110_TrickHousePuzzle7_EventScript_26E0ED + checkflag FLAG_0x0C3 + call_if 1, Route110_TrickHousePuzzle7_EventScript_26E14C + special DrawWholeMapView + playse SE_TK_KASYA + checkflag FLAG_0x0C3 + goto_if 0, Route110_TrickHousePuzzle7_EventScript_26E2F3 + checkflag FLAG_0x0C3 + goto_eq Route110_TrickHousePuzzle7_EventScript_26E2F8 + end + +Route110_TrickHousePuzzle7_EventScript_26E25C:: @ 826E25C + lockall + delay 32 + checkflag FLAG_0x0C4 + call_if 0, Route110_TrickHousePuzzle7_EventScript_26E100 + checkflag FLAG_0x0C4 + call_if 1, Route110_TrickHousePuzzle7_EventScript_26E15F + special DrawWholeMapView + playse SE_TK_KASYA + checkflag FLAG_0x0C4 + goto_if 0, Route110_TrickHousePuzzle7_EventScript_26E2FD + checkflag FLAG_0x0C4 + goto_eq Route110_TrickHousePuzzle7_EventScript_26E302 + end + +Route110_TrickHousePuzzle7_EventScript_26E28B:: @ 826E28B + lockall + delay 32 + checkflag FLAG_0x0C5 + call_if 0, Route110_TrickHousePuzzle7_EventScript_26E113 + checkflag FLAG_0x0C5 + call_if 1, Route110_TrickHousePuzzle7_EventScript_26E172 + special DrawWholeMapView + playse SE_TK_KASYA + checkflag FLAG_0x0C5 + goto_if 0, Route110_TrickHousePuzzle7_EventScript_26E307 + checkflag FLAG_0x0C5 + goto_eq Route110_TrickHousePuzzle7_EventScript_26E30C + end + +Route110_TrickHousePuzzle7_EventScript_26E2BA:: @ 826E2BA + lockall + delay 32 + checkflag FLAG_0x0C6 + call_if 0, Route110_TrickHousePuzzle7_EventScript_26E126 + checkflag FLAG_0x0C6 + call_if 1, Route110_TrickHousePuzzle7_EventScript_26E185 + special DrawWholeMapView + playse SE_TK_KASYA + checkflag FLAG_0x0C6 + goto_if 0, Route110_TrickHousePuzzle7_EventScript_26E311 + checkflag FLAG_0x0C6 + goto_eq Route110_TrickHousePuzzle7_EventScript_26E316 + end + +Route110_TrickHousePuzzle7_EventScript_26E2E9:: @ 826E2E9 + setflag FLAG_0x0C2 + releaseall + end + +Route110_TrickHousePuzzle7_EventScript_26E2EE:: @ 826E2EE + clearflag FLAG_0x0C2 + releaseall + end + +Route110_TrickHousePuzzle7_EventScript_26E2F3:: @ 826E2F3 + setflag FLAG_0x0C3 + releaseall + end + +Route110_TrickHousePuzzle7_EventScript_26E2F8:: @ 826E2F8 + clearflag FLAG_0x0C3 + releaseall + end + +Route110_TrickHousePuzzle7_EventScript_26E2FD:: @ 826E2FD + setflag FLAG_0x0C4 + releaseall + end + +Route110_TrickHousePuzzle7_EventScript_26E302:: @ 826E302 + clearflag FLAG_0x0C4 + releaseall + end + +Route110_TrickHousePuzzle7_EventScript_26E307:: @ 826E307 + setflag FLAG_0x0C5 + releaseall + end + +Route110_TrickHousePuzzle7_EventScript_26E30C:: @ 826E30C + clearflag FLAG_0x0C5 + releaseall + end + +Route110_TrickHousePuzzle7_EventScript_26E311:: @ 826E311 + setflag FLAG_0x0C6 + releaseall + end + +Route110_TrickHousePuzzle7_EventScript_26E316:: @ 826E316 + clearflag FLAG_0x0C6 + releaseall + end + +Route110_TrickHousePuzzle7_EventScript_26E31B:: @ 826E31B + playse SE_MU_PACHI + waitse + playse SE_TU_SAA + mossdeepgym3 1 + mossdeepgym1 0 + waitmovement 0 + mossdeepgym2 + waitmovement 0 + mossdeepgym4 + end + +Route110_TrickHousePuzzle7_EventScript_26E331:: @ 826E331 + playse SE_MU_PACHI + waitse + playse SE_TU_SAA + mossdeepgym3 1 + mossdeepgym1 1 + waitmovement 0 + mossdeepgym2 + waitmovement 0 + mossdeepgym4 + end + +Route110_TrickHousePuzzle7_EventScript_26E347:: @ 826E347 + playse SE_MU_PACHI + waitse + playse SE_TU_SAA + mossdeepgym3 1 + mossdeepgym1 2 + waitmovement 0 + mossdeepgym2 + waitmovement 0 + mossdeepgym4 + end + +Route110_TrickHousePuzzle7_EventScript_26E35D:: @ 826E35D + playse SE_MU_PACHI + waitse + playse SE_TU_SAA + mossdeepgym3 1 + mossdeepgym1 3 + waitmovement 0 + mossdeepgym2 + waitmovement 0 + mossdeepgym4 + end + +Route110_TrickHousePuzzle7_EventScript_26E373:: @ 826E373 + playse SE_MU_PACHI + waitse + playse SE_TU_SAA + mossdeepgym3 1 + mossdeepgym1 4 + waitmovement 0 + mossdeepgym2 + waitmovement 0 + mossdeepgym4 + end + +Route110_TrickHousePuzzle7_EventScript_26E389:: @ 826E389 + trainerbattle 0, TRAINER_JOSHUA, 0, Route110_TrickHousePuzzle7_Text_26E481, Route110_TrickHousePuzzle7_Text_26E4C1 + msgbox Route110_TrickHousePuzzle7_Text_26E4F4, 6 + end + +Route110_TrickHousePuzzle7_EventScript_26E3A0:: @ 826E3A0 + trainerbattle 0, TRAINER_PATRICIA, 0, Route110_TrickHousePuzzle7_Text_26E531, Route110_TrickHousePuzzle7_Text_26E564 + msgbox Route110_TrickHousePuzzle7_Text_26E57F, 6 + end + +Route110_TrickHousePuzzle7_EventScript_26E3B7:: @ 826E3B7 + trainerbattle 0, TRAINER_ALEXIS, 0, Route110_TrickHousePuzzle7_Text_26E5C0, Route110_TrickHousePuzzle7_Text_26E604 + msgbox Route110_TrickHousePuzzle7_Text_26E61E, 6 + end + +Route110_TrickHousePuzzle7_EventScript_26E3CE:: @ 826E3CE + trainerbattle 0, TRAINER_MARIELA, 0, Route110_TrickHousePuzzle7_Text_26E66B, Route110_TrickHousePuzzle7_Text_26E69C + msgbox Route110_TrickHousePuzzle7_Text_26E6BC, 6 + end + +Route110_TrickHousePuzzle7_EventScript_26E3E5:: @ 826E3E5 + trainerbattle 0, TRAINER_ALVARO, 0, Route110_TrickHousePuzzle7_Text_26E6DA, Route110_TrickHousePuzzle7_Text_26E700 + msgbox Route110_TrickHousePuzzle7_Text_26E722, 6 + end + +Route110_TrickHousePuzzle7_EventScript_26E3FC:: @ 826E3FC + trainerbattle 0, TRAINER_EVERETT, 0, Route110_TrickHousePuzzle7_Text_26E78D, Route110_TrickHousePuzzle7_Text_26E7AB + msgbox Route110_TrickHousePuzzle7_Text_26E7C4, 6 + end + +Route110_TrickHousePuzzle7_EventScript_26E413:: @ 826E413 + .string "{PLAYER} wrote down the secret code\n" + .string "on the door.\p" + .string "“TRICK MASTER is huggable.”\n" + .string "… … … … … … … …\p" + .string "The lock clicked open!$" + +Route110_TrickHousePuzzle7_Text_26E481: @ 826E481 + .string "The TRICK MASTER always vanishes\n" + .string "like smoke. How does he do it?$" + +Route110_TrickHousePuzzle7_Text_26E4C1: @ 826E4C1 + .string "Aiyeeeh! You’re much too strong!\n" + .string "How do you do it?$" + +Route110_TrickHousePuzzle7_Text_26E4F4: @ 826E4F4 + .string "I wish I could appear and disappear as\n" + .string "if I were smoke, too.$" + +Route110_TrickHousePuzzle7_Text_26E531: @ 826E531 + .string "Going around the same spot…\n" + .string "It begets ill fortune…$" + +Route110_TrickHousePuzzle7_Text_26E564: @ 826E564 + .string "Defeated!\n" + .string "It’s a bad sign…$" + +Route110_TrickHousePuzzle7_Text_26E57F: @ 826E57F + .string "I’ve circled the same spot over ten\n" + .string "times now… It’s ill fortune…$" + +Route110_TrickHousePuzzle7_Text_26E5C0: @ 826E5C0 + .string "Whoever wins will get through here\n" + .string "first. That’s the feeling I get.$" + +Route110_TrickHousePuzzle7_Text_26E604: @ 826E604 + .string "Oh!\n" + .string "Well, go ahead, then!$" + +Route110_TrickHousePuzzle7_Text_26E61E: @ 826E61E + .string "You’re solving all the puzzles in the\n" + .string "TRICK HOUSE. That’s the feeling I get.$" + +Route110_TrickHousePuzzle7_Text_26E66B: @ 826E66B + .string "Nufufufu, here at last!\n" + .string "Let’s get right with it!$" + +Route110_TrickHousePuzzle7_Text_26E69C: @ 826E69C + .string "You’re so casual about winning!$" + +Route110_TrickHousePuzzle7_Text_26E6BC: @ 826E6BC + .string "Humph! I’m not upset!\n" + .string "Not me!$" + +Route110_TrickHousePuzzle7_Text_26E6DA: @ 826E6DA + .string "I ever so closely watched you coming!$" + +Route110_TrickHousePuzzle7_Text_26E700: @ 826E700 + .string "This outcome I didn’t see coming…$" + +Route110_TrickHousePuzzle7_Text_26E722: @ 826E722 + .string "Well, anyway, we both picked a weird\n" + .string "place to get acquainted.\p" + .string "As one weirdo to another,\n" + .string "let’s do our best!$" + +Route110_TrickHousePuzzle7_Text_26E78D: @ 826E78D + .string "It’s awfully cramped in here…$" + +Route110_TrickHousePuzzle7_Text_26E7AB: @ 826E7AB + .string "Oh, yes, strong you are.$" + +Route110_TrickHousePuzzle7_Text_26E7C4: @ 826E7C4 + .string "I was hoping to switch places with you\n" + .string "when I beat you, but…$" + diff --git a/data/scripts/maps/Route110_TrickHousePuzzle8.inc b/data/scripts/maps/Route110_TrickHousePuzzle8.inc new file mode 100644 index 0000000000..369bc59a76 --- /dev/null +++ b/data/scripts/maps/Route110_TrickHousePuzzle8.inc @@ -0,0 +1,72 @@ +Route110_TrickHousePuzzle8_MapScripts:: @ 826E801 + .byte 0 + +Route110_TrickHousePuzzle8_EventScript_26E802:: @ 826E802 + lockall + compare VAR_0x40B2, 0 + goto_eq Route110_TrickHousePuzzle8_EventScript_26E814 + goto Route110_TrickHousePuzzle8_EventScript_26A3DB + end + +Route110_TrickHousePuzzle8_EventScript_26E814:: @ 826E814 + setvar VAR_0x40B2, 1 + goto Route110_TrickHousePuzzle8_EventScript_26A3E5 + end + +Route110_TrickHousePuzzle8_EventScript_26E81F:: @ 826E81F + trainerbattle 0, TRAINER_VINCENT, 0, Route110_TrickHousePuzzle8_Text_26E8CD, Route110_TrickHousePuzzle8_Text_26E8F6 + msgbox Route110_TrickHousePuzzle8_Text_26E918, 6 + end + +Route110_TrickHousePuzzle8_EventScript_26E836:: @ 826E836 + trainerbattle 0, TRAINER_KEIRA, 0, Route110_TrickHousePuzzle8_Text_26E954, Route110_TrickHousePuzzle8_Text_26E97F + msgbox Route110_TrickHousePuzzle8_Text_26E99F, 6 + end + +Route110_TrickHousePuzzle8_EventScript_26E84D:: @ 826E84D + trainerbattle 0, TRAINER_LEROY, 0, Route110_TrickHousePuzzle8_Text_26E9D7, Route110_TrickHousePuzzle8_Text_26EA14 + msgbox Route110_TrickHousePuzzle8_Text_26EA3F, 6 + end + +Route110_TrickHousePuzzle8_EventScript_26E864:: @ 826E864 + .string "{PLAYER} wrote down the secret code\n" + .string "on the door.\p" + .string "“TRICK MASTER I love.”\n" + .string "… … … … … … … …\p" + .string "The lock clicked open!$" + +Route110_TrickHousePuzzle8_Text_26E8CD: @ 826E8CD + .string "Not many TRAINERS have made it\n" + .string "this far.$" + +Route110_TrickHousePuzzle8_Text_26E8F6: @ 826E8F6 + .string "That must mean you’re tough, too…$" + +Route110_TrickHousePuzzle8_Text_26E918: @ 826E918 + .string "You’ve beaten the POKéMON LEAGUE\n" + .string "CHAMPION? That’s too much!$" + +Route110_TrickHousePuzzle8_Text_26E954: @ 826E954 + .string "Consider yourself lucky to be\n" + .string "battling me!$" + +Route110_TrickHousePuzzle8_Text_26E97F: @ 826E97F + .string "This isn’t right!\n" + .string "I can’t lose!$" + +Route110_TrickHousePuzzle8_Text_26E99F: @ 826E99F + .string "It’s a miracle that you beat me.\n" + .string "You can brag about it.$" + +Route110_TrickHousePuzzle8_Text_26E9D7: @ 826E9D7 + .string "You’ve been slugging through the TRICK\n" + .string "HOUSE challenge, too.$" + +Route110_TrickHousePuzzle8_Text_26EA14: @ 826EA14 + .string "I see…\n" + .string "You possess an extraordinary style.$" + +Route110_TrickHousePuzzle8_Text_26EA3F: @ 826EA3F + .string "Seeing someone like you should please\n" + .string "the TRICK MASTER.$" + diff --git a/data/scripts/maps/Route111.inc b/data/scripts/maps/Route111.inc new file mode 100644 index 0000000000..8e1672dfea --- /dev/null +++ b/data/scripts/maps/Route111.inc @@ -0,0 +1,756 @@ +Route111_MapScripts:: @ 81F0CA7 + map_script 1, Route111_MapScript1_1F0CBC + map_script 3, Route111_MapScript1_1F0D87 + map_script 4, Route111_MapScript2_1F0E46 + map_script 2, Route111_MapScript2_1F0E56 + .byte 0 + +Route111_MapScript1_1F0CBC: @ 81F0CBC + checkflag FLAG_0x0E4 + call_if 0, Route111_EventScript_1F0CD1 + compare VAR_0x40CB, 1 + call_if 1, Route111_EventScript_1F0CE4 + end + +Route111_EventScript_1F0CD1:: @ 81F0CD1 + setmetatile 29, 86, 124, 1 + setmetatile 29, 87, 145, 1 + return + +Route111_EventScript_1F0CE4:: @ 81F0CE4 + setmetatile 18, 53, 984, 0 + setmetatile 19, 53, 985, 0 + setmetatile 20, 53, 986, 0 + setmetatile 18, 54, 992, 0 + setmetatile 19, 54, 993, 0 + setmetatile 20, 54, 994, 0 + setmetatile 18, 55, 1000, 0 + setmetatile 19, 55, 1001, 0 + setmetatile 20, 55, 1002, 0 + setmetatile 18, 56, 1008, 0 + setmetatile 19, 56, 1009, 0 + setmetatile 20, 56, 1010, 0 + setmetatile 18, 57, 987, 0 + setmetatile 19, 57, 988, 0 + setmetatile 20, 57, 989, 0 + setmetatile 18, 58, 995, 0 + setmetatile 19, 58, 996, 0 + setmetatile 20, 58, 997, 0 + return + +Route111_MapScript1_1F0D87: @ 81F0D87 + setvar VAR_0x40D6, 0 + special sub_81BE79C + checkflag FLAG_0x14E + call_if 0, Route111_EventScript_1F0E3C + compare VAR_0x40CB, 1 + call_if 1, Route111_EventScript_1F0DC2 + compare VAR_0x40CB, 2 + call_if 1, Route111_EventScript_1F0E40 + call Route111_EventScript_1F0DE6 + call Route111_EventScript_28CCC7 + checktrainerflag TRAINER_VICKY + goto_if 0, Route111_EventScript_1F0E26 + end + +Route111_EventScript_1F0DC2:: @ 81F0DC2 + checkplayergender + compare VAR_RESULT, 0 + goto_eq Route111_EventScript_1F0DDA + compare VAR_RESULT, 1 + goto_eq Route111_EventScript_1F0DE0 + return + +Route111_EventScript_1F0DDA:: @ 81F0DDA + setvar VAR_0x4010, 100 + return + +Route111_EventScript_1F0DE0:: @ 81F0DE0 + setvar VAR_0x4010, 105 + return + +Route111_EventScript_1F0DE6:: @ 81F0DE6 + getplayerxy VAR_0x4000, VAR_0x4001 + compare VAR_0x4001, 34 + goto_if 0, Route111_EventScript_1F0E25 + compare VAR_0x4001, 107 + goto_if 2, Route111_EventScript_1F0E25 + compare VAR_0x4001, 72 + goto_if 2, Route111_EventScript_1F0E22 + compare VAR_0x4000, 2000 + goto_if 2, Route111_EventScript_1F0E25 + compare VAR_0x4000, 8 + goto_if 0, Route111_EventScript_1F0E25 + +Route111_EventScript_1F0E22:: @ 81F0E22 + setweather 8 + +Route111_EventScript_1F0E25:: @ 81F0E25 + return + +Route111_EventScript_1F0E26:: @ 81F0E26 + clearflag FLAG_0x300 + setflag FLAG_0x301 + setflag FLAG_0x302 + setflag FLAG_0x303 + cleartrainerflag TRAINER_VICTOR + cleartrainerflag TRAINER_VICTORIA + cleartrainerflag TRAINER_VIVI + end + +Route111_EventScript_1F0E3C:: @ 81F0E3C + setmaplayoutindex 392 + return + +Route111_EventScript_1F0E40:: @ 81F0E40 + setvar VAR_0x40CB, 3 + return + +Route111_MapScript2_1F0E46: @ 81F0E46 + map_script_2 VAR_0x40CB, 1, Route111_EventScript_1F0E50 + .2byte 0 + +Route111_EventScript_1F0E50:: @ 81F0E50 + hideobjectat 255, LITTLEROOT_TOWN + end + +Route111_MapScript2_1F0E56: @ 81F0E56 + map_script_2 VAR_0x40CB, 1, Route111_EventScript_1F0E60 + .2byte 0 + +Route111_EventScript_1F0E60:: @ 81F0E60 + lockall + special sub_81BEB68 + waitstate + delay 24 + playse SE_RU_HYUU + addobject 45 + special sub_81BE7F4 + waitstate + showobjectat 255, LITTLEROOT_TOWN + removeobject 45 + delay 16 + turnobject 255, 2 + delay 16 + special sub_81BEB54 + waitstate + special sub_81BEB7C + waitstate + setvar VAR_0x40CB, 2 + clearflag FLAG_0x36A + checkflag FLAG_0x150 + goto_eq Route111_EventScript_1F0EA7 + msgbox Route111_Text_1F1C74, 4 + releaseall + end + +Route111_EventScript_1F0EA7:: @ 81F0EA7 + msgbox Route111_Text_1F1C9F, 4 + releaseall + end + +Route111_Movement_1F0EB1:: @ 81F0EB1 + step_94 + step_15 + step_15 + step_15 + step_15 + step_15 + step_15 + step_end + +Route111_EventScript_1F0EB9:: @ 81F0EB9 + lock + faceplayer + dodailyevents + checkflag FLAG_0x92C + goto_eq Route111_EventScript_1F0EF4 + msgbox Route111_Text_2A6EBD, 4 + giveitem_std ITEM_RAZZ_BERRY + compare VAR_RESULT, 0 + goto_eq Route111_EventScript_272054 + setflag FLAG_0x92C + special GetPlayerBigGuyGirlString + msgbox Route111_Text_2A6F3D, 4 + release + end + +Route111_EventScript_1F0EF4:: @ 81F0EF4 + msgbox Route111_Text_2A6F9A, 4 + release + end + +Route111_EventScript_1F0EFE:: @ 81F0EFE + lockall + setvar VAR_0x8004, 0 + goto Route111_EventScript_1F0F2E + end + +Route111_EventScript_1F0F0A:: @ 81F0F0A + lockall + setvar VAR_0x8004, 1 + goto Route111_EventScript_1F0F2E + end + +Route111_EventScript_1F0F16:: @ 81F0F16 + lockall + setvar VAR_0x8004, 2 + goto Route111_EventScript_1F0F2E + end + +Route111_EventScript_1F0F22:: @ 81F0F22 + lockall + setvar VAR_0x8004, 3 + goto Route111_EventScript_1F0F2E + end + +Route111_EventScript_1F0F2E:: @ 81F0F2E + checkitem ITEM_GO_GOGGLES, 1 + compare VAR_RESULT, 0 + goto_eq Route111_EventScript_1F0F45 + setvar VAR_0x4003, 1 + releaseall + end + +Route111_EventScript_1F0F45:: @ 81F0F45 + msgbox gUnknown_08272C5F, 4 + closemessage + compare VAR_0x8004, 0 + call_if 1, Route111_EventScript_1F0F7C + compare VAR_0x8004, 1 + call_if 1, Route111_EventScript_1F0F87 + compare VAR_0x8004, 2 + call_if 1, Route111_EventScript_1F0F92 + compare VAR_0x8004, 3 + call_if 1, Route111_EventScript_1F0F9D + releaseall + end + +Route111_EventScript_1F0F7C:: @ 81F0F7C + applymovement 255, Route111_Movement_1F0FA8 + waitmovement 0 + return + +Route111_EventScript_1F0F87:: @ 81F0F87 + applymovement 255, Route111_Movement_1F0FAA + waitmovement 0 + return + +Route111_EventScript_1F0F92:: @ 81F0F92 + applymovement 255, Route111_Movement_1F0FAC + waitmovement 0 + return + +Route111_EventScript_1F0F9D:: @ 81F0F9D + applymovement 255, Route111_Movement_1F0FAE + waitmovement 0 + return + +Route111_Movement_1F0FA8: @ 81F0FA8 + step_up + step_end + +Route111_Movement_1F0FAA: @ 81F0FAA + step_down + step_end + +Route111_Movement_1F0FAC: @ 81F0FAC + step_left + step_end + +Route111_Movement_1F0FAE: @ 81F0FAE + step_right + step_end + +Route111_EventScript_1F0FB0:: @ 81F0FB0 + setweather 2 + fadenewbgm MUS_DOORO_X1 + doweather + setvar VAR_0x4003, 0 + end + +Route111_EventScript_1F0FBD:: @ 81F0FBD + setweather 8 + fadenewbgm MUS_ASHROAD + doweather + end + +Route111_EventScript_1F0FC5:: @ 81F0FC5 + lock + faceplayer + setflag FLAG_LANDMARK_WINSTRATE_FAMILY + msgbox Route111_Text_1F1475, 5 + compare VAR_RESULT, 1 + goto_eq Route111_EventScript_1F0FE7 + msgbox Route111_Text_1F14F5, 4 + release + end + +Route111_EventScript_1F0FE7:: @ 81F0FE7 + msgbox Route111_Text_1F1523, 4 + trainerbattle 3, TRAINER_VICTOR, 0, Route111_Text_1F1542 + applymovement 1, Route111_Movement_2725A6 + waitmovement 0 + call Route111_EventScript_1F113C + msgbox Route111_Text_1F156F, 4 + closemessage + applymovement 1, Route111_Movement_1F114A + waitmovement 0 + removeobject 1 + call Route111_EventScript_1F1143 + applymovement 255, Route111_Movement_1F114F + waitmovement 0 + call Route111_EventScript_1F113C + addobject 2 + applymovement 2, Route111_Movement_1F114D + waitmovement 0 + call Route111_EventScript_1F1143 + msgbox Route111_Text_1F159D, 4 + trainerbattle 3, TRAINER_VICTORIA, 0, Route111_Text_1F1616 + applymovement 2, Route111_Movement_2725A6 + waitmovement 0 + call Route111_EventScript_1F113C + msgbox Route111_Text_1F1645, 4 + closemessage + applymovement 2, Route111_Movement_1F114A + waitmovement 0 + removeobject 2 + call Route111_EventScript_1F1143 + applymovement 255, Route111_Movement_1F114F + waitmovement 0 + call Route111_EventScript_1F113C + addobject 3 + applymovement 3, Route111_Movement_1F114D + waitmovement 0 + call Route111_EventScript_1F1143 + msgbox Route111_Text_1F167E, 4 + trainerbattle 3, TRAINER_VIVI, 0, Route111_Text_1F16C6 + applymovement 3, Route111_Movement_2725A6 + waitmovement 0 + call Route111_EventScript_1F113C + msgbox Route111_Text_1F16DC, 4 + closemessage + applymovement 3, Route111_Movement_1F114A + waitmovement 0 + removeobject 3 + call Route111_EventScript_1F1143 + applymovement 255, Route111_Movement_1F114F + waitmovement 0 + call Route111_EventScript_1F113C + addobject 4 + applymovement 4, Route111_Movement_1F114D + waitmovement 0 + call Route111_EventScript_1F1143 + msgbox Route111_Text_1F16FB, 4 + trainerbattle 3, TRAINER_VICKY, 0, Route111_Text_1F1756 + msgbox Route111_Text_1F1788, 4 + closemessage + applymovement 4, Route111_Movement_2725A6 + waitmovement 0 + call Route111_EventScript_1F113C + applymovement 4, Route111_Movement_1F114A + waitmovement 0 + removeobject 4 + call Route111_EventScript_1F1143 + release + end + +Route111_EventScript_1F113C:: @ 81F113C + opendoor 13, 113 + waitdooranim + return + +Route111_EventScript_1F1143:: @ 81F1143 + closedoor 13, 113 + waitdooranim + return + +Route111_Movement_1F114A: @ 81F114A + step_26 + step_up + step_end + +Route111_Movement_1F114D: @ 81F114D + step_down + step_end + +Route111_Movement_1F114F: @ 81F114F + step_14 + step_14 + step_14 + step_end + +Route111_EventScript_1F1153:: @ 81F1153 + msgbox Route111_Text_1F18CE, 3 + end + +Route111_EventScript_1F115C:: @ 81F115C + msgbox Route111_Text_1F18E8, 3 + end + +Route111_EventScript_1F1165:: @ 81F1165 + msgbox Route111_Text_1F1921, 3 + end + +Route111_EventScript_1F116E:: @ 81F116E + msgbox Route111_Text_1F1937, 3 + end + +Route111_EventScript_1F1177:: @ 81F1177 + msgbox Route111_Text_1F194D, 3 + end + +Route111_EventScript_1F1180:: @ 81F1180 + msgbox Route111_Text_1F1987, 3 + end + +Route111_EventScript_1F1189:: @ 81F1189 + msgbox Route111_Text_1F17BA, 2 + end + +Route111_EventScript_1F1192:: @ 81F1192 + msgbox Route111_Text_1F186E, 2 + end + +Route111_EventScript_1F119B:: @ 81F119B + lock + faceplayer + compare VAR_0x40CB, 3 + goto_eq Route111_EventScript_1F11C6 + compare VAR_0x40CB, 2 + goto_eq Route111_EventScript_1F11D0 + checkflag FLAG_0x14E + goto_eq Route111_EventScript_1F11DA + msgbox Route111_Text_1F1A22, 4 + release + end + +Route111_EventScript_1F11C6:: @ 81F11C6 + msgbox Route111_Text_1F1C12, 4 + release + end + +Route111_EventScript_1F11D0:: @ 81F11D0 + msgbox Route111_Text_1F1B92, 4 + release + end + +Route111_EventScript_1F11DA:: @ 81F11DA + msgbox Route111_Text_1F1AC7, 4 + release + end + +Route111_EventScript_1F11E4:: @ 81F11E4 + lockall + applymovement 46, Route111_Movement_27259E + waitmovement 0 + msgbox Route111_Text_1F1CCA, 4 + closemessage + applymovement 46, Route111_Movement_2725A2 + waitmovement 0 + releaseall + end + +Route111_EventScript_1F1204:: @ 81F1204 + trainerbattle 0, TRAINER_DREW, 0, Route111_Text_29878E, Route111_Text_29880A + msgbox Route111_Text_298853, 6 + end + +Route111_EventScript_1F121B:: @ 81F121B + trainerbattle 0, TRAINER_HEIDI, 0, Route111_Text_2988A3, Route111_Text_298908 + msgbox Route111_Text_29891B, 6 + end + +Route111_EventScript_1F1232:: @ 81F1232 + trainerbattle 0, TRAINER_BEAU, 0, Route111_Text_29898E, Route111_Text_2989E6 + msgbox Route111_Text_298A03, 6 + end + +Route111_EventScript_1F1249:: @ 81F1249 + trainerbattle 0, TRAINER_BECKY, 0, Route111_Text_298A65, Route111_Text_298AAF + msgbox Route111_Text_298AC0, 6 + end + +Route111_EventScript_1F1260:: @ 81F1260 + trainerbattle 2, TRAINER_DUSTY_1, 0, Route111_Text_298B08, Route111_Text_298B53, Route111_EventScript_1F128C + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route111_EventScript_1F12AB + msgbox Route111_Text_298B9A, 4 + release + end + +Route111_EventScript_1F128C:: @ 81F128C + special sub_80B4808 + waitmovement 0 + msgbox Route111_Text_298C00, 4 + setvar VAR_0x8004, 44 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 44 + callstd 8 + release + end + +Route111_EventScript_1F12AB:: @ 81F12AB + trainerbattle 5, TRAINER_DUSTY_1, 0, Route111_Text_298C5F, Route111_Text_298CD2 + msgbox Route111_Text_298D0C, 6 + end + +Route111_EventScript_1F12C2:: @ 81F12C2 + trainerbattle 0, TRAINER_TRAVIS, 0, Route111_Text_298DA9, Route111_Text_298DD8 + msgbox Route111_Text_298DF1, 6 + end + +Route111_EventScript_1F12D9:: @ 81F12D9 + trainerbattle 0, TRAINER_IRENE, 0, Route111_Text_298E2F, Route111_Text_298E6E + msgbox Route111_Text_298E8C, 6 + end + +Route111_EventScript_1F12F0:: @ 81F12F0 + trainerbattle 0, TRAINER_DAISUKE, 0, Route111_Text_298EE6, Route111_Text_298F14 + msgbox Route111_Text_298F26, 6 + end + +Route111_EventScript_1F1307:: @ 81F1307 + trainerbattle 2, TRAINER_WILTON_1, 0, Route111_Text_298F79, Route111_Text_298FA9, Route111_EventScript_1F1333 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route111_EventScript_1F1352 + msgbox Route111_Text_298FD4, 4 + release + end + +Route111_EventScript_1F1333:: @ 81F1333 + special sub_80B4808 + waitmovement 0 + msgbox Route111_Text_29903D, 4 + setvar VAR_0x8004, 78 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 78 + callstd 8 + release + end + +Route111_EventScript_1F1352:: @ 81F1352 + trainerbattle 5, TRAINER_WILTON_1, 0, Route111_Text_29909B, Route111_Text_2990EE + msgbox Route111_Text_299102, 6 + end + +Route111_EventScript_1F1369:: @ 81F1369 + trainerbattle 2, TRAINER_BROOKE_1, 0, Route111_Text_299143, Route111_Text_299193, Route111_EventScript_1F1395 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route111_EventScript_1F13B4 + msgbox Route111_Text_2991C2, 4 + release + end + +Route111_EventScript_1F1395:: @ 81F1395 + special sub_80B4808 + waitmovement 0 + msgbox Route111_Text_29921D, 4 + setvar VAR_0x8004, 94 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 94 + callstd 8 + release + end + +Route111_EventScript_1F13B4:: @ 81F13B4 + trainerbattle 5, TRAINER_BROOKE_1, 0, Route111_Text_29925D, Route111_Text_2992D6 + msgbox Route111_Text_2992F5, 6 + end + +Route111_EventScript_1F13CB:: @ 81F13CB + trainerbattle 0, TRAINER_HAYDEN, 0, Route111_Text_299682, Route111_Text_2996BE + msgbox Route111_Text_2996C5, 6 + end + +Route111_EventScript_1F13E2:: @ 81F13E2 + trainerbattle 0, TRAINER_BIANCA, 0, Route111_Text_2996FE, Route111_Text_29973D + msgbox Route111_Text_29975D, 6 + end + +Route111_EventScript_1F13F9:: @ 81F13F9 + trainerbattle 0, TRAINER_TYRON, 0, Route111_Text_299524, Route111_Text_299549 + msgbox Route111_Text_299576, 6 + end + +Route111_EventScript_1F1410:: @ 81F1410 + trainerbattle 0, TRAINER_CELINA, 0, Route111_Text_2995F0, Route111_Text_299625 + msgbox Route111_Text_29964B, 6 + end + +Route111_EventScript_1F1427:: @ 81F1427 + trainerbattle 0, TRAINER_CELIA, 0, Route111_Text_29934B, Route111_Text_299384 + msgbox Route111_Text_2993A7, 6 + end + +Route111_EventScript_1F143E:: @ 81F143E + trainerbattle 0, TRAINER_BRYAN, 0, Route111_Text_299401, Route111_Text_299431 + msgbox Route111_Text_29945F, 6 + end + +Route111_EventScript_1F1455:: @ 81F1455 + trainerbattle 0, TRAINER_BRANDEN, 0, Route111_Text_299493, Route111_Text_2994C5 + msgbox Route111_Text_2994FB, 6 + end + +Route111_EventScript_1F146C:: @ 81F146C + msgbox Route111_Text_1F1D61, 3 + end + +Route111_Text_1F1475: @ 81F1475 + .string "Hello! I take it you’re a traveler.\p" + .string "How’s this? What do you say to taking\n" + .string "on our family of four in a series of\l" + .string "POKéMON battles?$" + +Route111_Text_1F14F5: @ 81F14F5 + .string "Is that so?\n" + .string "Drop in, if you change your mind!$" + +Route111_Text_1F1523: @ 81F1523 + .string "That’s the spirit! I like you!$" + +Route111_Text_1F1542: @ 81F1542 + .string "Aiyah!\n" + .string "You’re a lot tougher than I expected!$" + +Route111_Text_1F156F: @ 81F156F + .string "Hey, all!\n" + .string "I’ve found a pretty strong TRAINER!$" + +Route111_Text_1F159D: @ 81F159D + .string "Oh, my goodness! Aren’t you young?\p" + .string "You must be quite the TRAINER to beat\n" + .string "my husband, though.\p" + .string "It’s my turn to battle now!$" + +Route111_Text_1F1616: @ 81F1616 + .string "Oh, gosh!\n" + .string "I can’t get over how strong you are!$" + +Route111_Text_1F1645: @ 81F1645 + .string "There’s a strong TRAINER here!\n" + .string "This one’s really strong!$" + +Route111_Text_1F167E: @ 81F167E + .string "You’re stronger than Mommy? Wow!\p" + .string "But I’m strong, too!\n" + .string "Really! Honestly!$" + +Route111_Text_1F16C6: @ 81F16C6 + .string "Huh? Did I just lose?$" + +Route111_Text_1F16DC: @ 81F16DC + .string "This stinks…\p" + .string "…Snivel… Grandma!$" + +Route111_Text_1F16FB: @ 81F16FB + .string "How dare you make my granddaughter\n" + .string "cry!\p" + .string "For that, I’m going to smack you!\n" + .string "Prepare to lose!$" + +Route111_Text_1F1756: @ 81F1756 + .string "Kwah! You are strong…\n" + .string "My granddaughter was right…$" + +Route111_Text_1F1788: @ 81F1788 + .string "If you’re not in any hurry,\n" + .string "visit with us awhile.$" + +Route111_Text_1F17BA: @ 81F17BA + .string "If you don’t raise your POKéMON some\n" + .string "more, it could be tough to keep winning\l" + .string "up through the ranks.\p" + .string "I’ve heard the POKéMON LEAGUE’s\n" + .string "ELITE FOUR are far stronger than\l" + .string "any GYM LEADER.$" + +Route111_Text_1F186E: @ 81F186E + .string "I challenged the WINSTRATE family,\n" + .string "but four matches in a row is tough\l" + .string "going… They destroyed me.$" + +Route111_Text_1F18CE: @ 81F18CE + .string "ROUTE 111\n" + .string "{0x7A} MAUVILLE CITY$" + +Route111_Text_1F18E8: @ 81F18E8 + .string "“Our family’s hearts beat as one!”\n" + .string "THE WINSTRATE’S HOUSE$" + +Route111_Text_1F1921: @ 81F1921 + .string "ROUTE 111\n" + .string "{0x7B} ROUTE 112$" + +Route111_Text_1F1937: @ 81F1937 + .string "ROUTE 111\n" + .string "{0x7B} ROUTE 113$" + +Route111_Text_1F194D: @ 81F194D + .string "OLD LADY’S REST STOP\n" + .string "“Come in and rest your tired bones.”$" + +Route111_Text_1F1987: @ 81F1987 + .string "TRAINER TIPS\p" + .string "One of the indicators of a POKéMON’s\n" + .string "powerfulness is SP. ATK. It stands for\l" + .string "“SPECIAL ATTACK.”\p" + .string "Likewise, SP. DEF stands for “SPECIAL\n" + .string "DEFENSE.”$" + +Route111_Text_1F1A22: @ 81F1A22 + .string "There should be a tower made of sand\n" + .string "around here somewhere.\p" + .string "But for some reason, it can be seen\n" + .string "sometimes, and sometimes not.\p" + .string "That’s why I call it the MIRAGE TOWER.$" + +Route111_Text_1F1AC7: @ 81F1AC7 + .string "I see it!\n" + .string "The tower of sand!\p" + .string "The sand tower they called a mirage\n" + .string "is clearly visible!\p" + .string "But it looks so fragile…\n" + .string "It could crumble away anytime…\p" + .string "I want to go inside it, but I can’t\n" + .string "get my courage up for it…$" + +Route111_Text_1F1B92: @ 81F1B92 + .string "Whoa…\n" + .string "That was shocking.\p" + .string "Sand rained down in chunks all of\n" + .string "a sudden.\p" + .string "What was it like inside?\n" + .string "Were there sandy ghosts and such?$" + +Route111_Text_1F1C12: @ 81F1C12 + .string "Since I spoke to you, the tower of sand\n" + .string "hasn’t been seen.\p" + .string "Perhaps it really was\n" + .string "the MIRAGE TOWER…$" + +Route111_Text_1F1C74: @ 81F1C74 + .string "The CLAW FOSSIL disappeared into\n" + .string "the sand…$" + +Route111_Text_1F1C9F: @ 81F1C9F + .string "The ROOT FOSSIL disappeared into\n" + .string "the sand…$" + +Route111_Text_1F1CCA: @ 81F1CCA + .string "Oh, no!\p" + .string "My uncle in MAUVILLE told me to take\n" + .string "ROCK SMASH with me if I was going to\l" + .string "ROUTE 111!\p" + .string "My uncle? He lives across from\n" + .string "the bike shop in MAUVILLE.$" + +Route111_Text_1F1D61: @ 81F1D61 + .string "{0x7C} TRAINER HILL ENTRANCE\p" + .string "“Scale the heights, you hot-blooded\n" + .string "TRAINERS!”$" + diff --git a/data/scripts/maps/Route111_OldLadysRestStop.inc b/data/scripts/maps/Route111_OldLadysRestStop.inc new file mode 100644 index 0000000000..015a584f48 --- /dev/null +++ b/data/scripts/maps/Route111_OldLadysRestStop.inc @@ -0,0 +1,54 @@ +Route111_OldLadysRestStop_MapScripts:: @ 822A916 + map_script 3, Route111_OldLadysRestStop_MapScript1_22A91C + .byte 0 + +Route111_OldLadysRestStop_MapScript1_22A91C: @ 822A91C + setflag FLAG_LANDMARK_OLD_LADY_REST_SHOP + end + +Route111_OldLadysRestStop_EventScript_22A920:: @ 822A920 + lock + faceplayer + msgbox Route111_OldLadysRestStop_Text_22A978, 5 + compare VAR_RESULT, 1 + goto_eq Route111_OldLadysRestStop_EventScript_22A941 + compare VAR_RESULT, 0 + goto_eq Route111_OldLadysRestStop_EventScript_22A96E + end + +Route111_OldLadysRestStop_EventScript_22A941:: @ 822A941 + msgbox Route111_OldLadysRestStop_Text_22A9EC, 4 + closemessage + call Route111_OldLadysRestStop_EventScript_272083 + msgbox Route111_OldLadysRestStop_Text_22AA16, 5 + compare VAR_RESULT, 1 + goto_eq Route111_OldLadysRestStop_EventScript_22A941 + compare VAR_RESULT, 0 + goto_eq Route111_OldLadysRestStop_EventScript_22A96E + end + +Route111_OldLadysRestStop_EventScript_22A96E:: @ 822A96E + msgbox Route111_OldLadysRestStop_Text_22AA8F, 4 + release + end + +Route111_OldLadysRestStop_Text_22A978: @ 822A978 + .string "Oh, dear, dear.\n" + .string "Aren’t your POKéMON exhausted?\p" + .string "If you’d like, rest up here.\n" + .string "That’s a fine idea! You should do that.$" + +Route111_OldLadysRestStop_Text_22A9EC: @ 822A9EC + .string "That’s right.\n" + .string "Take your time and rest up!$" + +Route111_OldLadysRestStop_Text_22AA16: @ 822AA16 + .string "Oh, dear, dear.\n" + .string "Are your POKéMON still tired?\p" + .string "You should take another rest here.\n" + .string "That’s a fine idea. You should do that.$" + +Route111_OldLadysRestStop_Text_22AA8F: @ 822AA8F + .string "Is that so?\n" + .string "You don’t need to be shy about it.$" + diff --git a/data/scripts/maps/Route111_WinstrateFamilysHouse.inc b/data/scripts/maps/Route111_WinstrateFamilysHouse.inc new file mode 100644 index 0000000000..847119d2ee --- /dev/null +++ b/data/scripts/maps/Route111_WinstrateFamilysHouse.inc @@ -0,0 +1,105 @@ +Route111_WinstrateFamilysHouse_MapScripts:: @ 822A48C + .byte 0 + +Route111_WinstrateFamilysHouse_EventScript_22A48D:: @ 822A48D + lock + faceplayer + setvar VAR_0x8008, 2 + msgbox Route111_WinstrateFamilysHouse_Text_22A539, 4 + goto Route111_WinstrateFamilysHouse_EventScript_22A52C + end + +Route111_WinstrateFamilysHouse_EventScript_22A4A2:: @ 822A4A2 + lock + faceplayer + setvar VAR_0x8008, 3 + checkflag FLAG_0x115 + goto_eq Route111_WinstrateFamilysHouse_EventScript_22A4DA + msgbox Route111_WinstrateFamilysHouse_Text_22A5F4, 4 + giveitem_std ITEM_MACHO_BRACE + compare VAR_RESULT, 0 + goto_eq Route111_WinstrateFamilysHouse_EventScript_272054 + setflag FLAG_0x115 + goto Route111_WinstrateFamilysHouse_EventScript_22A52C + end + +Route111_WinstrateFamilysHouse_EventScript_22A4DA:: @ 822A4DA + msgbox Route111_WinstrateFamilysHouse_Text_22A6B4, 4 + goto Route111_WinstrateFamilysHouse_EventScript_22A52C + end + +Route111_WinstrateFamilysHouse_EventScript_22A4E8:: @ 822A4E8 + lock + faceplayer + setvar VAR_0x8008, 1 + msgbox Route111_WinstrateFamilysHouse_Text_22A6F7, 4 + goto Route111_WinstrateFamilysHouse_EventScript_22A52C + end + +Route111_WinstrateFamilysHouse_EventScript_22A4FD:: @ 822A4FD + lock + faceplayer + setvar VAR_0x8008, 4 + checkflag FLAG_0x004 + goto_eq Route111_WinstrateFamilysHouse_EventScript_22A51E + msgbox Route111_WinstrateFamilysHouse_Text_22A780, 4 + setflag FLAG_0x004 + goto Route111_WinstrateFamilysHouse_EventScript_22A52C + end + +Route111_WinstrateFamilysHouse_EventScript_22A51E:: @ 822A51E + msgbox Route111_WinstrateFamilysHouse_Text_22A89B, 4 + goto Route111_WinstrateFamilysHouse_EventScript_22A52C + end + +Route111_WinstrateFamilysHouse_EventScript_22A52C:: @ 822A52C + closemessage + applymovement VAR_0x8008, Route111_WinstrateFamilysHouse_Movement_2725A2 + waitmovement 0 + release + end + +Route111_WinstrateFamilysHouse_Text_22A539: @ 822A539 + .string "You’re the first TRAINER I’ve seen who\n" + .string "deploys POKéMON so masterfully.\p" + .string "But, I should tell you--my son is\n" + .string "stronger than you.\p" + .string "He even took the POKéMON LEAGUE\n" + .string "challenge, I’ll have you know.$" + +Route111_WinstrateFamilysHouse_Text_22A5F4: @ 822A5F4 + .string "We use this MACHO BRACE to more\n" + .string "effectively strengthen our POKéMON\l" + .string "in training.\p" + .string "Since you’ve beaten all of us here,\n" + .string "I don’t know if you need it, but we\l" + .string "would like you to have our MACHO BRACE.$" + +Route111_WinstrateFamilysHouse_Text_22A6B4: @ 822A6B4 + .string "When it comes to POKéMON battles,\n" + .string "we tend to be pretty passionate.$" + +Route111_WinstrateFamilysHouse_Text_22A6F7: @ 822A6F7 + .string "Mommy is stronger than Daddy.\p" + .string "I’m stronger than Mommy.\p" + .string "And Grandma’s stronger than me!\p" + .string "But my big brother is even stronger\n" + .string "than Grandma.$" + +Route111_WinstrateFamilysHouse_Text_22A780: @ 822A780 + .string "There’s no question that you’re strong.\p" + .string "But if you were to battle my grandson,\n" + .string "you’d end up crying in frustration.\p" + .string "He’s much stronger than any TRAINER\n" + .string "our family knows.\p" + .string "He must be challenging the POKéMON\n" + .string "LEAGUE CHAMPION by now.\p" + .string "Knowing my grandson, he could be the\n" + .string "CHAMPION already!$" + +Route111_WinstrateFamilysHouse_Text_22A89B: @ 822A89B + .string "My grandson must be challenging the\n" + .string "POKéMON LEAGUE CHAMPION by now.\p" + .string "Knowing my grandson, he could be the\n" + .string "CHAMPION already!$" + diff --git a/data/scripts/maps/Route112.inc b/data/scripts/maps/Route112.inc new file mode 100644 index 0000000000..88262fadb4 --- /dev/null +++ b/data/scripts/maps/Route112.inc @@ -0,0 +1,146 @@ +Route112_MapScripts:: @ 81F1DA8 + map_script 3, Route112_MapScript1_1F1DAE + .byte 0 + +Route112_MapScript1_1F1DAE: @ 81F1DAE + clearflag FLAG_0x09D + setvar VAR_0x40BD, 0 + end + +Route112_EventScript_1F1DB7:: @ 81F1DB7 + lockall + delay 40 + applymovement 1, Route112_Movement_2725A8 + waitmovement 0 + delay 20 + msgbox Route112_Text_1F1F3F, 4 + closemessage + applymovement 1, Route112_Movement_2725A2 + waitmovement 0 + delay 40 + applymovement 6, Route112_Movement_2725A4 + waitmovement 0 + delay 20 + msgbox Route112_Text_1F1F7A, 4 + closemessage + applymovement 6, Route112_Movement_2725A2 + waitmovement 0 + delay 40 + applymovement 1, Route112_Movement_2725A8 + waitmovement 0 + delay 20 + msgbox Route112_Text_1F1FBA, 4 + closemessage + applymovement 1, Route112_Movement_2725A2 + waitmovement 0 + delay 40 + applymovement 6, Route112_Movement_2725A4 + waitmovement 0 + delay 20 + msgbox Route112_Text_1F2003, 4 + closemessage + applymovement 6, Route112_Movement_2725A2 + waitmovement 0 + releaseall + end + +Route112_EventScript_1F1E46:: @ 81F1E46 + msgbox Route112_Text_1F20C1, 3 + end + +Route112_EventScript_1F1E4F:: @ 81F1E4F + msgbox Route112_Text_1F20ED, 3 + end + +Route112_EventScript_1F1E58:: @ 81F1E58 + msgbox Route112_Text_1F2138, 3 + end + +Route112_EventScript_1F1E61:: @ 81F1E61 + msgbox Route112_Text_1F204E, 2 + end + +Route112_EventScript_1F1E6A:: @ 81F1E6A + trainerbattle 0, TRAINER_BRICE, 0, Route112_Text_29978E, Route112_Text_2997CA + msgbox Route112_Text_2997DC, 6 + end + +Route112_EventScript_1F1E81:: @ 81F1E81 + trainerbattle 2, TRAINER_TRENT_1, 0, Route112_Text_299815, Route112_Text_29987C, Route112_EventScript_1F1EAD + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route112_EventScript_1F1ECC + msgbox Route112_Text_299896, 4 + release + end + +Route112_EventScript_1F1EAD:: @ 81F1EAD + special sub_80B4808 + waitmovement 0 + msgbox Route112_Text_29993C, 4 + setvar VAR_0x8004, 627 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 627 + callstd 8 + release + end + +Route112_EventScript_1F1ECC:: @ 81F1ECC + trainerbattle 5, TRAINER_TRENT_1, 0, Route112_Text_2999BD, Route112_Text_2999F7 + msgbox Route112_Text_299A0F, 6 + end + +Route112_EventScript_1F1EE3:: @ 81F1EE3 + trainerbattle 0, TRAINER_LARRY, 0, Route112_Text_299A89, Route112_Text_299AAC + msgbox Route112_Text_299AB4, 6 + end + +Route112_EventScript_1F1EFA:: @ 81F1EFA + trainerbattle 0, TRAINER_CAROL, 0, Route112_Text_299AE4, Route112_Text_299B36 + msgbox Route112_Text_299B4C, 6 + end + +Route112_EventScript_1F1F11:: @ 81F1F11 + trainerbattle 0, TRAINER_BRYANT, 0, Route112_Text_299BAE, Route112_Text_299BDF + msgbox Route112_Text_299BFB, 6 + end + +Route112_EventScript_1F1F28:: @ 81F1F28 + trainerbattle 0, TRAINER_SHAYLA, 0, Route112_Text_299C34, Route112_Text_299C8F + msgbox Route112_Text_299CC6, 6 + end + +Route112_Text_1F1F3F: @ 81F1F3F + .string "Hey, man, is our leader really going\n" + .string "to awaken that thing?$" + +Route112_Text_1F1F7A: @ 81F1F7A + .string "Sounds like it, yeah. But I heard\n" + .string "we need a METEORITE to do it.$" + +Route112_Text_1F1FBA: @ 81F1FBA + .string "Oh, I get it now. That’s why the rest\n" + .string "of the crew went out to FALLARBOR.$" + +Route112_Text_1F2003: @ 81F2003 + .string "You got it. And until they come back,\n" + .string "we’re not to let anyone pass, right.$" + +Route112_Text_1F204E: @ 81F204E + .string "Eh, I’d like to get to MAUVILLE, but if\n" + .string "I went down these ledges, it’d be no\l" + .string "easy matter to get back to LAVARIDGE.$" + +Route112_Text_1F20C1: @ 81F20C1 + .string "MT. CHIMNEY CABLE CAR\n" + .string "“A short walk {0x79} way!”$" + +Route112_Text_1F20ED: @ 81F20ED + .string "MT. CHIMNEY\p" + .string "“For LAVARIDGE TOWN or the summit,\n" + .string "please take the CABLE CAR.”$" + +Route112_Text_1F2138: @ 81F2138 + .string "ROUTE 112\n" + .string "{0x7B} LAVARIDGE TOWN$" + diff --git a/data/scripts/maps/Route112_CableCarStation.inc b/data/scripts/maps/Route112_CableCarStation.inc new file mode 100644 index 0000000000..72c003d992 --- /dev/null +++ b/data/scripts/maps/Route112_CableCarStation.inc @@ -0,0 +1,99 @@ +Route112_CableCarStation_MapScripts:: @ 822AABE + map_script 3, Route112_CableCarStation_MapScript1_22AAC9 + map_script 2, Route112_CableCarStation_MapScript2_22AAE9 + .byte 0 + +Route112_CableCarStation_MapScript1_22AAC9: @ 822AAC9 + setescapewarp ROUTE_112, 255, 28, 28 + compare VAR_0x40A3, 2 + call_if 1, Route112_CableCarStation_EventScript_22AADD + end + +Route112_CableCarStation_EventScript_22AADD:: @ 822AADD + setobjectxyperm 1, 7, 4 + setobjectmovementtype 1, 9 + return + +Route112_CableCarStation_MapScript2_22AAE9: @ 822AAE9 + map_script_2 VAR_0x40A3, 2, Route112_CableCarStation_EventScript_22AAF3 + .2byte 0 + +Route112_CableCarStation_EventScript_22AAF3:: @ 822AAF3 + lockall + applymovement 255, Route112_CableCarStation_Movement_22AB80 + applymovement 1, Route112_CableCarStation_Movement_22AB76 + waitmovement 0 + setvar VAR_0x40A3, 0 + setobjectxyperm 1, 6, 7 + setobjectmovementtype 1, 8 + releaseall + end + +Route112_CableCarStation_EventScript_22AB17:: @ 822AB17 + lock + faceplayer + msgbox Route112_CableCarStation_Text_22AB85, 5 + compare VAR_RESULT, 1 + goto_eq Route112_CableCarStation_EventScript_22AB38 + compare VAR_RESULT, 0 + goto_eq Route112_CableCarStation_EventScript_22AB67 + end + +Route112_CableCarStation_EventScript_22AB38:: @ 822AB38 + msgbox Route112_CableCarStation_Text_22ABC2, 4 + closemessage + applymovement 1, Route112_CableCarStation_Movement_22AB71 + applymovement 255, Route112_CableCarStation_Movement_22AB7B + waitmovement 0 + setvar VAR_0x8004, 0 + setvar VAR_0x40A3, 1 + incrementgamestat 48 + special CableCarWarp + special sub_814FC9C + waitstate + release + end + +Route112_CableCarStation_EventScript_22AB67:: @ 822AB67 + msgbox Route112_CableCarStation_Text_22ABD8, 4 + release + end + +Route112_CableCarStation_Movement_22AB71: @ 822AB71 + step_up + step_up + step_right + step_27 + step_end + +Route112_CableCarStation_Movement_22AB76: @ 822AB76 + step_14 + step_left + step_down + step_down + step_end + +Route112_CableCarStation_Movement_22AB7B: @ 822AB7B + step_up + step_up + step_up + step_14 + step_end + +Route112_CableCarStation_Movement_22AB80: @ 822AB80 + step_down + step_down + step_down + step_14 + step_end + +Route112_CableCarStation_Text_22AB85: @ 822AB85 + .string "The CABLE CAR is ready to go up.\n" + .string "Would you like to be on it?$" + +Route112_CableCarStation_Text_22ABC2: @ 822ABC2 + .string "Please step this way.$" + +Route112_CableCarStation_Text_22ABD8: @ 822ABD8 + .string "Please ride with us another time.$" + diff --git a/data/scripts/maps/Route113.inc b/data/scripts/maps/Route113.inc new file mode 100644 index 0000000000..c1ce29b729 --- /dev/null +++ b/data/scripts/maps/Route113.inc @@ -0,0 +1,176 @@ +Route113_MapScripts:: @ 81F2153 + map_script 5, Route113_MapScript1_1F215E + map_script 3, Route113_MapScript1_1F2161 + .byte 0 + +Route113_MapScript1_1F215E: @ 81F215E + setstepcallback 1 + end + +Route113_MapScript1_1F2161: @ 81F2161 + clearflag FLAG_0x09D + call Route113_EventScript_1F216A + end + +Route113_EventScript_1F216A:: @ 81F216A + getplayerxy VAR_0x4000, VAR_0x4001 + compare VAR_0x4000, 19 + goto_if 0, Route113_EventScript_1F2189 + compare VAR_0x4000, 84 + goto_if 2, Route113_EventScript_1F2189 + setweather 7 + return + +Route113_EventScript_1F2189:: @ 81F2189 + return + +Route113_EventScript_1F218A:: @ 81F218A + msgbox Route113_Text_1F235B, 2 + end + +Route113_EventScript_1F2193:: @ 81F2193 + msgbox Route113_Text_1F23CA, 2 + end + +Route113_EventScript_1F219C:: @ 81F219C + msgbox Route113_Text_1F2440, 3 + end + +Route113_EventScript_1F21A5:: @ 81F21A5 + msgbox Route113_Text_1F2456, 3 + end + +Route113_EventScript_1F21AE:: @ 81F21AE + msgbox Route113_Text_1F24F8, 3 + end + +Route113_EventScript_1F21B7:: @ 81F21B7 + msgbox Route113_Text_1F2471, 3 + end + +Route113_EventScript_1F21C0:: @ 81F21C0 + trainerbattle 0, TRAINER_JAYLEN, 0, Route113_Text_299D3C, Route113_Text_299D68 + msgbox Route113_Text_299D7D, 6 + end + +Route113_EventScript_1F21D7:: @ 81F21D7 + trainerbattle 0, TRAINER_DILLON, 0, Route113_Text_299DE3, Route113_Text_299E1C + msgbox Route113_Text_299E38, 6 + end + +Route113_EventScript_1F21EE:: @ 81F21EE + trainerbattle 2, TRAINER_MADELINE_1, 0, Route113_Text_299EA6, Route113_Text_299EF9, Route113_EventScript_1F221A + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route113_EventScript_1F2239 + msgbox Route113_Text_299F15, 4 + release + end + +Route113_EventScript_1F221A:: @ 81F221A + special sub_80B4808 + waitmovement 0 + msgbox Route113_Text_299F49, 4 + setvar VAR_0x8004, 434 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 434 + callstd 8 + release + end + +Route113_EventScript_1F2239:: @ 81F2239 + trainerbattle 5, TRAINER_MADELINE_1, 0, Route113_Text_299F8A, Route113_Text_299FC9 + msgbox Route113_Text_299FD8, 6 + end + +Route113_EventScript_1F2250:: @ 81F2250 + trainerbattle 2, TRAINER_LAO_1, 0, Route113_Text_29A015, Route113_Text_29A04C, Route113_EventScript_1F227C + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route113_EventScript_1F229B + msgbox Route113_Text_29A067, 4 + release + end + +Route113_EventScript_1F227C:: @ 81F227C + special sub_80B4808 + waitmovement 0 + msgbox Route113_Text_29A0A2, 4 + setvar VAR_0x8004, 419 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 419 + callstd 8 + release + end + +Route113_EventScript_1F229B:: @ 81F229B + trainerbattle 5, TRAINER_LAO_1, 0, Route113_Text_29A0E8, Route113_Text_29A11F + msgbox Route113_Text_29A13A, 6 + end + +Route113_EventScript_1F22B2:: @ 81F22B2 + trainerbattle 0, TRAINER_LUNG, 0, Route113_Text_29A192, Route113_Text_29A1C6 + msgbox Route113_Text_29A219, 6 + end + +Route113_EventScript_1F22C9:: @ 81F22C9 + trainerbattle 4, TRAINER_TORI_AND_TIA, 0, Route113_Text_29A261, Route113_Text_29A29D, Route113_Text_29A31F + msgbox Route113_Text_29A2DE, 6 + end + +Route113_EventScript_1F22E4:: @ 81F22E4 + trainerbattle 4, TRAINER_TORI_AND_TIA, 0, Route113_Text_29A35C, Route113_Text_29A397, Route113_Text_29A419 + msgbox Route113_Text_29A3DA, 6 + end + +Route113_EventScript_1F22FF:: @ 81F22FF + trainerbattle 0, TRAINER_SOPHIE, 0, Route113_Text_29A4BF, Route113_Text_29A508 + msgbox Route113_Text_29A529, 6 + end + +Route113_EventScript_1F2316:: @ 81F2316 + trainerbattle 0, TRAINER_COBY, 0, Route113_Text_29A453, Route113_Text_29A480 + msgbox Route113_Text_29A489, 6 + end + +Route113_EventScript_1F232D:: @ 81F232D + trainerbattle 0, TRAINER_LAWRENCE, 0, Route113_Text_29A566, Route113_Text_29A5A0 + msgbox Route113_Text_29A5BE, 6 + end + +Route113_EventScript_1F2344:: @ 81F2344 + trainerbattle 0, TRAINER_WYATT, 0, Route113_Text_29A5E4, Route113_Text_29A628 + msgbox Route113_Text_29A65D, 6 + end + +Route113_Text_1F235B: @ 81F235B + .string "Wahahaha! Today’s technology is a\n" + .string "wondrous thing!\p" + .string "Take this volcanic ash here.\n" + .string "It can be fashioned into glass.$" + +Route113_Text_1F23CA: @ 81F23CA + .string "It’s fun walking through the volcano’s\n" + .string "ashes on the ground and grass.\p" + .string "You can see where you walked--it’s\n" + .string "really neat!$" + +Route113_Text_1F2440: @ 81F2440 + .string "ROUTE 113\n" + .string "{0x7C} ROUTE 111$" + +Route113_Text_1F2456: @ 81F2456 + .string "ROUTE 113\n" + .string "{0x7B} FALLARBOR TOWN$" + +Route113_Text_1F2471: @ 81F2471 + .string "TRAINER TIPS\p" + .string "You may register one of the KEY ITEMS\n" + .string "in your BAG as SELECT.\p" + .string "Simply press SELECT to use\n" + .string "the registered item conveniently.$" + +Route113_Text_1F24F8: @ 81F24F8 + .string "GLASS WORKSHOP\n" + .string "“Turning Volcanic Ash into Glass Items”$" + diff --git a/data/scripts/maps/Route113_GlassWorkshop.inc b/data/scripts/maps/Route113_GlassWorkshop.inc new file mode 100644 index 0000000000..5ea100567f --- /dev/null +++ b/data/scripts/maps/Route113_GlassWorkshop.inc @@ -0,0 +1,397 @@ +Route113_GlassWorkshop_MapScripts:: @ 826ED03 + map_script 3, Route113_GlassWorkshop_MapScript1_26ED09 + .byte 0 + +Route113_GlassWorkshop_MapScript1_26ED09: @ 826ED09 + setflag FLAG_LANDMARK_GLASS_WORKSHOP + compare VAR_0x40BE, 1 + call_if 1, Route113_GlassWorkshop_EventScript_26ED18 + end + +Route113_GlassWorkshop_EventScript_26ED18:: @ 826ED18 + setvar VAR_0x40BE, 2 + return + +Route113_GlassWorkshop_EventScript_26ED1E:: @ 826ED1E + lock + faceplayer + compare VAR_0x40BE, 10 + goto_if 4, Route113_GlassWorkshop_EventScript_26F090 + compare VAR_0x40BE, 2 + goto_eq Route113_GlassWorkshop_EventScript_26ED6E + compare VAR_0x40BE, 1 + goto_eq Route113_GlassWorkshop_EventScript_26ED64 + msgbox Route113_GlassWorkshop_Text_26F19D, 4 + giveitem_std ITEM_SOOT_SACK + setvar VAR_0x40BE, 1 + msgbox Route113_GlassWorkshop_Text_26F252, 4 + release + end + +Route113_GlassWorkshop_EventScript_26ED64:: @ 826ED64 + msgbox Route113_GlassWorkshop_Text_26F252, 4 + release + end + +Route113_GlassWorkshop_EventScript_26ED6E:: @ 826ED6E + checkitem ITEM_SOOT_SACK, 1 + compare VAR_RESULT, 0 + goto_eq Route113_GlassWorkshop_EventScript_26ED9D + msgbox Route113_GlassWorkshop_Text_26F312, 4 + compare VAR_ASH_GATHER_COUNT, 250 + goto_if 0, Route113_GlassWorkshop_EventScript_26EFD6 + message Route113_GlassWorkshop_Text_26F40A + waitmessage + goto Route113_GlassWorkshop_EventScript_26EDA7 + end + +Route113_GlassWorkshop_EventScript_26ED9D:: @ 826ED9D + msgbox Route113_GlassWorkshop_Text_26F772, 4 + release + end + +Route113_GlassWorkshop_EventScript_26EDA7:: @ 826EDA7 + setvar VAR_0x8009, 0 + setvar VAR_0x8004, 1 + special sub_813A128 + waitstate + switch VAR_RESULT + case 0, Route113_GlassWorkshop_EventScript_26EE1E + case 1, Route113_GlassWorkshop_EventScript_26EE5A + case 2, Route113_GlassWorkshop_EventScript_26EE96 + case 3, Route113_GlassWorkshop_EventScript_26EED2 + case 4, Route113_GlassWorkshop_EventScript_26EF0E + case 5, Route113_GlassWorkshop_EventScript_26EF4A + case 6, Route113_GlassWorkshop_EventScript_26EF8B + case 7, Route113_GlassWorkshop_EventScript_26EFCC + case 127, Route113_GlassWorkshop_EventScript_26EFCC + end + +Route113_GlassWorkshop_EventScript_26EE1E:: @ 826EE1E + setvar VAR_0x8008, 39 + bufferitemname 0, VAR_0x8008 + setvar VAR_0x800A, 250 + compare VAR_ASH_GATHER_COUNT, 250 + goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE + msgbox Route113_GlassWorkshop_Text_26F480, 5 + compare VAR_RESULT, 0 + goto_eq Route113_GlassWorkshop_EventScript_26F003 + setvar VAR_0x40BE, 10 + subvar VAR_ASH_GATHER_COUNT, 250 + goto Route113_GlassWorkshop_EventScript_26F00F + end + +Route113_GlassWorkshop_EventScript_26EE5A:: @ 826EE5A + setvar VAR_0x8008, 40 + bufferitemname 0, VAR_0x8008 + setvar VAR_0x800A, 500 + compare VAR_ASH_GATHER_COUNT, 500 + goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE + msgbox Route113_GlassWorkshop_Text_26F480, 5 + compare VAR_RESULT, 0 + goto_eq Route113_GlassWorkshop_EventScript_26F003 + setvar VAR_0x40BE, 11 + subvar VAR_ASH_GATHER_COUNT, 500 + goto Route113_GlassWorkshop_EventScript_26F00F + end + +Route113_GlassWorkshop_EventScript_26EE96:: @ 826EE96 + setvar VAR_0x8008, 41 + bufferitemname 0, VAR_0x8008 + setvar VAR_0x800A, 500 + compare VAR_ASH_GATHER_COUNT, 500 + goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE + msgbox Route113_GlassWorkshop_Text_26F480, 5 + compare VAR_RESULT, 0 + goto_eq Route113_GlassWorkshop_EventScript_26F003 + setvar VAR_0x40BE, 12 + subvar VAR_ASH_GATHER_COUNT, 500 + goto Route113_GlassWorkshop_EventScript_26F00F + end + +Route113_GlassWorkshop_EventScript_26EED2:: @ 826EED2 + setvar VAR_0x8008, 43 + bufferitemname 0, VAR_0x8008 + setvar VAR_0x800A, 1000 + compare VAR_ASH_GATHER_COUNT, 1000 + goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE + msgbox Route113_GlassWorkshop_Text_26F480, 5 + compare VAR_RESULT, 0 + goto_eq Route113_GlassWorkshop_EventScript_26F003 + setvar VAR_0x40BE, 13 + subvar VAR_ASH_GATHER_COUNT, 1000 + goto Route113_GlassWorkshop_EventScript_26F00F + end + +Route113_GlassWorkshop_EventScript_26EF0E:: @ 826EF0E + setvar VAR_0x8008, 42 + bufferitemname 0, VAR_0x8008 + setvar VAR_0x800A, 1000 + compare VAR_ASH_GATHER_COUNT, 1000 + goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE + msgbox Route113_GlassWorkshop_Text_26F480, 5 + compare VAR_RESULT, 0 + goto_eq Route113_GlassWorkshop_EventScript_26F003 + setvar VAR_0x40BE, 14 + subvar VAR_ASH_GATHER_COUNT, 1000 + goto Route113_GlassWorkshop_EventScript_26F00F + end + +Route113_GlassWorkshop_EventScript_26EF4A:: @ 826EF4A + setvar VAR_0x8009, 1 + setvar VAR_0x8008, 13 + bufferdecorationname 0, VAR_0x8008 + setvar VAR_0x800A, 6000 + compare VAR_ASH_GATHER_COUNT, 6000 + goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE + msgbox Route113_GlassWorkshop_Text_26F480, 5 + compare VAR_RESULT, 0 + goto_eq Route113_GlassWorkshop_EventScript_26F003 + setvar VAR_0x40BE, 15 + subvar VAR_ASH_GATHER_COUNT, 6000 + goto Route113_GlassWorkshop_EventScript_26F00F + end + +Route113_GlassWorkshop_EventScript_26EF8B:: @ 826EF8B + setvar VAR_0x8009, 1 + setvar VAR_0x8008, 6 + bufferdecorationname 0, VAR_0x8008 + setvar VAR_0x800A, 8000 + compare VAR_ASH_GATHER_COUNT, 8000 + goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE + msgbox Route113_GlassWorkshop_Text_26F480, 5 + compare VAR_RESULT, 0 + goto_eq Route113_GlassWorkshop_EventScript_26F003 + setvar VAR_0x40BE, 16 + subvar VAR_ASH_GATHER_COUNT, 8000 + goto Route113_GlassWorkshop_EventScript_26F00F + end + +Route113_GlassWorkshop_EventScript_26EFCC:: @ 826EFCC + msgbox Route113_GlassWorkshop_Text_26F641, 4 + release + end + +Route113_GlassWorkshop_EventScript_26EFD6:: @ 826EFD6 + setvar VAR_0x800A, 250 + subvar VAR_0x800A, 16456 + buffernumberstring 0, VAR_0x800A + msgbox Route113_GlassWorkshop_Text_26F34E, 4 + release + end + +Route113_GlassWorkshop_EventScript_26EFEE:: @ 826EFEE + subvar VAR_0x800A, 16456 + buffernumberstring 1, VAR_0x800A + message Route113_GlassWorkshop_Text_26F543 + waitmessage + goto Route113_GlassWorkshop_EventScript_26EDA7 + end + +Route113_GlassWorkshop_EventScript_26F003:: @ 826F003 + message Route113_GlassWorkshop_Text_26F4B5 + waitmessage + goto Route113_GlassWorkshop_EventScript_26EDA7 + end + +Route113_GlassWorkshop_EventScript_26F00F:: @ 826F00F + msgbox Route113_GlassWorkshop_Text_26F4DA, 4 + closemessage + fadescreen 1 + playse SE_SELECT + delay 30 + fadescreen 0 + msgbox Route113_GlassWorkshop_Text_26F688, 4 + compare VAR_0x8009, 0 + call_if 1, Route113_GlassWorkshop_EventScript_26F047 + compare VAR_0x8009, 1 + call_if 1, Route113_GlassWorkshop_EventScript_26F05F + setvar VAR_0x40BE, 2 + release + end + +Route113_GlassWorkshop_EventScript_26F047:: @ 826F047 + giveitem_std VAR_0x8008 + compare VAR_RESULT, 0 + goto_eq Route113_GlassWorkshop_EventScript_26F072 + return + +Route113_GlassWorkshop_EventScript_26F05F:: @ 826F05F + givedecoration_std VAR_0x8008 + compare VAR_RESULT, 0 + goto_eq Route113_GlassWorkshop_EventScript_26F081 + return + +Route113_GlassWorkshop_EventScript_26F072:: @ 826F072 + call Route113_GlassWorkshop_EventScript_27205E + msgbox Route113_GlassWorkshop_Text_26F6B7, 4 + release + end + +Route113_GlassWorkshop_EventScript_26F081:: @ 826F081 + call Route113_GlassWorkshop_EventScript_272071 + msgbox Route113_GlassWorkshop_Text_26F715, 4 + release + end + +Route113_GlassWorkshop_EventScript_26F090:: @ 826F090 + switch VAR_0x40BE + case 10, Route113_GlassWorkshop_EventScript_26F0E3 + case 11, Route113_GlassWorkshop_EventScript_26F0F7 + case 12, Route113_GlassWorkshop_EventScript_26F10B + case 13, Route113_GlassWorkshop_EventScript_26F11F + case 14, Route113_GlassWorkshop_EventScript_26F133 + case 15, Route113_GlassWorkshop_EventScript_26F147 + case 16, Route113_GlassWorkshop_EventScript_26F15B + end + +Route113_GlassWorkshop_EventScript_26F0E3:: @ 826F0E3 + setvar VAR_0x8009, 0 + setvar VAR_0x8008, 39 + bufferitemname 0, VAR_0x8008 + goto Route113_GlassWorkshop_EventScript_26F16F + end + +Route113_GlassWorkshop_EventScript_26F0F7:: @ 826F0F7 + setvar VAR_0x8009, 0 + setvar VAR_0x8008, 40 + bufferitemname 0, VAR_0x8008 + goto Route113_GlassWorkshop_EventScript_26F16F + end + +Route113_GlassWorkshop_EventScript_26F10B:: @ 826F10B + setvar VAR_0x8009, 0 + setvar VAR_0x8008, 41 + bufferitemname 0, VAR_0x8008 + goto Route113_GlassWorkshop_EventScript_26F16F + end + +Route113_GlassWorkshop_EventScript_26F11F:: @ 826F11F + setvar VAR_0x8009, 0 + setvar VAR_0x8008, 43 + bufferitemname 0, VAR_0x8008 + goto Route113_GlassWorkshop_EventScript_26F16F + end + +Route113_GlassWorkshop_EventScript_26F133:: @ 826F133 + setvar VAR_0x8009, 0 + setvar VAR_0x8008, 42 + bufferitemname 0, VAR_0x8008 + goto Route113_GlassWorkshop_EventScript_26F16F + end + +Route113_GlassWorkshop_EventScript_26F147:: @ 826F147 + setvar VAR_0x8009, 1 + setvar VAR_0x8008, 13 + bufferdecorationname 0, 13 + goto Route113_GlassWorkshop_EventScript_26F16F + end + +Route113_GlassWorkshop_EventScript_26F15B:: @ 826F15B + setvar VAR_0x8009, 1 + setvar VAR_0x8008, 6 + bufferdecorationname 0, 6 + goto Route113_GlassWorkshop_EventScript_26F16F + end + +Route113_GlassWorkshop_EventScript_26F16F:: @ 826F16F + msgbox Route113_GlassWorkshop_Text_26F688, 4 + compare VAR_0x8009, 0 + call_if 1, Route113_GlassWorkshop_EventScript_26F047 + compare VAR_0x8009, 1 + call_if 1, Route113_GlassWorkshop_EventScript_26F05F + setvar VAR_0x40BE, 2 + release + end + +Route113_GlassWorkshop_EventScript_26F194:: @ 826F194 + msgbox Route113_GlassWorkshop_Text_26F7EC, 2 + end + +Route113_GlassWorkshop_Text_26F19D: @ 826F19D + .string "This area is covered in volcanic ash,\n" + .string "huff-puff!\p" + .string "I’m specially gifted, huff-puff.\p" + .string "I make glass out of volcanic ash\n" + .string "and make items, huff-puff.\p" + .string "Go collect ashes with this, huff-puff.$" + +Route113_GlassWorkshop_Text_26F252: @ 826F252 + .string "Just take that SOOT SACK and walk\n" + .string "through piles of ash, huff-puff.\p" + .string "And it will fill up with the volcanic ash,\n" + .string "huff-puff.\p" + .string "Once you think you’ve collected a good\n" + .string "amount, come see me, huff-puff.$" + +Route113_GlassWorkshop_Text_26F312: @ 826F312 + .string "Have you collected ashes, huff-puff?\n" + .string "Let me see, huff-puff.$" + +Route113_GlassWorkshop_Text_26F34E: @ 826F34E + .string "Hmmm…\n" + .string "There’s not enough ash here, huff-puff.\l" + .string "I can’t make glass with this, huff-puff.\p" + .string "Let’s see… {STR_VAR_1} is the number of steps\n" + .string "you’ll need to walk for me to make you\l" + .string "a BLUE FLUTE, huff-puff.$" + +Route113_GlassWorkshop_Text_26F40A: @ 826F40A + .string "Oh!\n" + .string "You’ve got a lot of ashes, huff-puff!\p" + .string "I’ll make you a glass item, huff-puff!\n" + .string "Which one would you like, huff-puff?$" + +Route113_GlassWorkshop_Text_26F480: @ 826F480 + .string "A {STR_VAR_1}, huff-puff?\n" + .string "Is that the one for you, huff-puff?$" + +Route113_GlassWorkshop_Text_26F4B5: @ 826F4B5 + .string "Which one would you like, huff-puff?$" + +Route113_GlassWorkshop_Text_26F4DA: @ 826F4DA + .string "A {STR_VAR_1} it is, then, huff-puff!\p" + .string "Okay! I’ll make it for you, huff-puff.\n" + .string "Just wait a little while, huff-puff.$" + +Route113_GlassWorkshop_Text_26F543: @ 826F543 + .string "A {STR_VAR_1}, huff-puff?\p" + .string "There’s not enough ash here to make\n" + .string "that, though, huff-puff.\p" + .string "Let’s see… {STR_VAR_2} is the number of steps\n" + .string "you’ll need to walk through volcanic ash\l" + .string "for me to make that item, huff-puff.\p" + .string "Which item would you rather have me\n" + .string "make instead, huff-puff?$" + +Route113_GlassWorkshop_Text_26F641: @ 826F641 + .string "You’ve collected all that ash, but you\n" + .string "don’t want anything, huff-puff?$" + +Route113_GlassWorkshop_Text_26F688: @ 826F688 + .string "Ah, I’ve finished your {STR_VAR_1}.\n" + .string "Take it, huff-puff.$" + +Route113_GlassWorkshop_Text_26F6B7: @ 826F6B7 + .string "Oh?\n" + .string "You’ve no room in your BAG, huff-puff.\p" + .string "I’ll hold on to it, so come back later,\n" + .string "huff-puff.$" + +Route113_GlassWorkshop_Text_26F715: @ 826F715 + .string "Oh?\n" + .string "You’ve no room in your PC, huff-puff?\p" + .string "I’ll hold on to it, so come back later,\n" + .string "huff-puff.$" + +Route113_GlassWorkshop_Text_26F772: @ 826F772 + .string "Hah? You haven’t got your SOOT SACK\n" + .string "with you, huff-puff.\p" + .string "You have to keep it with you to collect\n" + .string "volcanic ash, huff-puff.$" + +Route113_GlassWorkshop_Text_26F7EC: @ 826F7EC + .string "It’s fun to blow a glass flute while\n" + .string "my boss is talking.\p" + .string "Huff-huff! Puff-puff!$" + diff --git a/data/scripts/maps/Route114.inc b/data/scripts/maps/Route114.inc new file mode 100644 index 0000000000..6be6bea913 --- /dev/null +++ b/data/scripts/maps/Route114.inc @@ -0,0 +1,219 @@ +Route114_MapScripts:: @ 81F252F + map_script 3, Route114_MapScript1_1F253F + map_script 1, Route114_MapScript1_1F2561 + map_script 2, Route114_MapScript2_1F2578 + .byte 0 + +Route114_MapScript1_1F253F: @ 81F253F + compare VAR_0x4039, 1 + call_if 1, Route114_EventScript_273D13 + compare VAR_0x4037, 1 + call_if 1, Route114_EventScript_273D1B + compare VAR_0x4037, 2 + call_if 1, Route114_EventScript_273D1B + end + +Route114_MapScript1_1F2561: @ 81F2561 + compare VAR_0x4037, 1 + call_if 1, Route114_EventScript_273913 + compare VAR_0x4037, 2 + call_if 1, Route114_EventScript_273926 + end + +Route114_MapScript2_1F2578: @ 81F2578 + map_script_2 VAR_0x4039, 1, gUnknown_08273D1F + .2byte 0 + +Route114_EventScript_1F2582:: @ 81F2582 + lock + faceplayer + dodailyevents + checkflag FLAG_0x92B + goto_eq Route114_EventScript_1F25C7 + msgbox Route114_Text_2A6FCB, 4 + random 5 + addvar VAR_RESULT, 15 + addvar VAR_RESULT, 133 + giveitem_std VAR_RESULT + compare VAR_RESULT, 0 + goto_eq Route114_EventScript_272054 + setflag FLAG_0x92B + msgbox Route114_Text_2A7034, 4 + release + end + +Route114_EventScript_1F25C7:: @ 81F25C7 + msgbox Route114_Text_2A706E, 4 + release + end + +Route114_EventScript_1F25D1:: @ 81F25D1 + lock + faceplayer + checkflag FLAG_0x0E7 + goto_eq Route114_EventScript_1F2608 + msgbox Route114_Text_1F2809, 4 + giveitem_std ITEM_TM05 + compare VAR_RESULT, 0 + goto_eq Route114_EventScript_272054 + setflag FLAG_0x0E7 + msgbox Route114_Text_1F2872, 4 + release + end + +Route114_EventScript_1F2608:: @ 81F2608 + msgbox Route114_Text_1F2872, 4 + release + end + +Route114_EventScript_1F2612:: @ 81F2612 + lock + faceplayer + waitse + playmoncry SPECIES_POOCHYENA, 2 + msgbox Route114_Text_1F28A6, 4 + waitmoncry + release + end + +Route114_EventScript_1F2625:: @ 81F2625 + msgbox Route114_Text_1F28B3, 3 + end + +Route114_EventScript_1F262E:: @ 81F262E + msgbox Route114_Text_1F28DB, 3 + end + +Route114_EventScript_1F2637:: @ 81F2637 + msgbox Route114_Text_1F2910, 3 + end + +Route114_EventScript_1F2640:: @ 81F2640 + trainerbattle 0, TRAINER_LENNY, 0, Route114_Text_29A6B1, Route114_Text_29A707 + msgbox Route114_Text_29A715, 6 + end + +Route114_EventScript_1F2657:: @ 81F2657 + trainerbattle 0, TRAINER_LUCAS_1, 0, Route114_Text_29A777, Route114_Text_29A7B5 + msgbox Route114_Text_29A7D4, 6 + end + +Route114_EventScript_1F266E:: @ 81F266E + trainerbattle 0, TRAINER_SHANE, 0, Route114_Text_29A818, Route114_Text_29A88F + msgbox Route114_Text_29A89F, 6 + end + +Route114_EventScript_1F2685:: @ 81F2685 + trainerbattle 0, TRAINER_NANCY, 0, Route114_Text_29A8D9, Route114_Text_29A90E + msgbox Route114_Text_29A916, 6 + end + +Route114_EventScript_1F269C:: @ 81F269C + trainerbattle 2, TRAINER_STEVE_1, 0, Route114_Text_29A943, Route114_Text_29A973, Route114_EventScript_1F26C8 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route114_EventScript_1F26E7 + msgbox Route114_Text_29A981, 4 + release + end + +Route114_EventScript_1F26C8:: @ 81F26C8 + special sub_80B4808 + waitmovement 0 + msgbox Route114_Text_29A9F7, 4 + setvar VAR_0x8004, 143 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 143 + callstd 8 + release + end + +Route114_EventScript_1F26E7:: @ 81F26E7 + trainerbattle 5, TRAINER_STEVE_1, 0, Route114_Text_29AA3E, Route114_Text_29AA67 + msgbox Route114_Text_29AA94, 6 + end + +Route114_EventScript_1F26FE:: @ 81F26FE + trainerbattle 2, TRAINER_BERNIE_1, 0, Route114_Text_29AADB, Route114_Text_29AB1A, Route114_EventScript_1F272A + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route114_EventScript_1F2749 + msgbox Route114_Text_29AB36, 4 + release + end + +Route114_EventScript_1F272A:: @ 81F272A + special sub_80B4808 + waitmovement 0 + msgbox Route114_Text_29ABA6, 4 + setvar VAR_0x8004, 206 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 206 + callstd 8 + release + end + +Route114_EventScript_1F2749:: @ 81F2749 + trainerbattle 5, TRAINER_BERNIE_1, 0, Route114_Text_29ABDC, Route114_Text_29AC10 + msgbox Route114_Text_29AC43, 6 + end + +Route114_EventScript_1F2760:: @ 81F2760 + trainerbattle 0, TRAINER_CLAUDE, 0, Route114_Text_29ACB3, Route114_Text_29AD0A + msgbox Route114_Text_29AD2E, 6 + end + +Route114_EventScript_1F2777:: @ 81F2777 + trainerbattle 0, TRAINER_NOLAN, 0, Route114_Text_29ADA1, Route114_Text_29AE05 + msgbox Route114_Text_29AE3D, 6 + end + +Route114_EventScript_1F278E:: @ 81F278E + trainerbattle 4, TRAINER_TYRA_AND_IVY, 0, Route114_Text_29AE96, Route114_Text_29AEE7, Route114_Text_29AF3D + msgbox Route114_Text_29AF0B, 6 + end + +Route114_EventScript_1F27A9:: @ 81F27A9 + trainerbattle 4, TRAINER_TYRA_AND_IVY, 0, Route114_Text_29AF89, Route114_Text_29AFAC, Route114_Text_29B01B + msgbox Route114_Text_29AFCF, 6 + end + +Route114_EventScript_1F27C4:: @ 81F27C4 + trainerbattle 0, TRAINER_ANGELINA, 0, Route114_Text_29B16F, Route114_Text_29B19C + msgbox Route114_Text_29B1BC, 6 + end + +Route114_EventScript_1F27DB:: @ 81F27DB + trainerbattle 0, TRAINER_CHARLOTTE, 0, Route114_Text_29B0DB, Route114_Text_29B0FB + msgbox Route114_Text_29B11A, 6 + end + +Route114_EventScript_1F27F2:: @ 81F27F2 + trainerbattle 0, TRAINER_KAI, 0, Route114_Text_29B05D, Route114_Text_29B089 + msgbox Route114_Text_29B0B5, 6 + end + +Route114_Text_1F2809: @ 81F2809 + .string "All my POKéMON does is ROAR…\n" + .string "No one dares to come near me…\p" + .string "Sigh… If you would, please take\n" + .string "this TM away…$" + +Route114_Text_1F2872: @ 81F2872 + .string "TM05 contains ROAR.\n" + .string "A ROAR sends POKéMON scurrying.$" + +Route114_Text_1F28A6: @ 81F28A6 + .string "Bow! Bowwow!$" + +Route114_Text_1F28B3: @ 81F28B3 + .string "METEOR FALLS\n" + .string "RUSTBORO CITY THROUGH HERE$" + +Route114_Text_1F28DB: @ 81F28DB + .string "FOSSIL MANIAC’S HOUSE\n" + .string "“Fossils gratefully accepted!”$" + +Route114_Text_1F2910: @ 81F2910 + .string "LANETTE’S HOUSE$" + diff --git a/data/scripts/maps/Route114_FossilManiacsHouse.inc b/data/scripts/maps/Route114_FossilManiacsHouse.inc new file mode 100644 index 0000000000..f14c15f9e1 --- /dev/null +++ b/data/scripts/maps/Route114_FossilManiacsHouse.inc @@ -0,0 +1,56 @@ +Route114_FossilManiacsHouse_MapScripts:: @ 822AD30 + map_script 3, Route114_FossilManiacsHouse_MapScript1_22AD36 + .byte 0 + +Route114_FossilManiacsHouse_MapScript1_22AD36: @ 822AD36 + setflag FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE + end + +Route114_FossilManiacsHouse_EventScript_22AD3A:: @ 822AD3A + lock + faceplayer + checkflag FLAG_0x105 + goto_eq Route114_FossilManiacsHouse_EventScript_22AD69 + msgbox Route114_FossilManiacsHouse_Text_22AD85, 4 + giveitem_std ITEM_TM28 + compare VAR_RESULT, 0 + goto_eq Route114_FossilManiacsHouse_EventScript_272054 + setflag FLAG_0x105 + release + end + +Route114_FossilManiacsHouse_EventScript_22AD69:: @ 822AD69 + msgbox Route114_FossilManiacsHouse_Text_22AE48, 4 + release + end + +Route114_FossilManiacsHouse_EventScript_22AD73:: @ 822AD73 + msgbox Route114_FossilManiacsHouse_Text_22AE92, 3 + end + +Route114_FossilManiacsHouse_EventScript_22AD7C:: @ 822AD7C + msgbox Route114_FossilManiacsHouse_Text_22AEC2, 3 + end + +Route114_FossilManiacsHouse_Text_22AD85: @ 822AD85 + .string "My big brother’s the FOSSIL MANIAC…\n" + .string "He’s a nice guy who loves FOSSILS…\p" + .string "He loves digging holes, too…\n" + .string "He dug this hole by himself…\p" + .string "You can have this, so you can DIG\n" + .string "holes just like my big brother…$" + +Route114_FossilManiacsHouse_Text_22AE48: @ 822AE48 + .string "If you make a POKéMON DIG inside a\n" + .string "cave, you’re returned to the entrance…$" + +Route114_FossilManiacsHouse_Text_22AE92: @ 822AE92 + .string "Rocks in peculiar shapes fill\n" + .string "the display case…$" + +Route114_FossilManiacsHouse_Text_22AEC2: @ 822AEC2 + .string "THE COMPOSITION OF STRATA…\n" + .string "HOW RAIN SHAPES THE LAND…\l" + .string "STONES, SOIL, AND ROCK…\p" + .string "It’s crammed with books.$" + diff --git a/data/scripts/maps/Route114_FossilManiacsTunnel.inc b/data/scripts/maps/Route114_FossilManiacsTunnel.inc new file mode 100644 index 0000000000..bc5a6d9771 --- /dev/null +++ b/data/scripts/maps/Route114_FossilManiacsTunnel.inc @@ -0,0 +1,96 @@ +Route114_FossilManiacsTunnel_MapScripts:: @ 822AF28 + map_script 3, Route114_FossilManiacsTunnel_MapScript1_22AF33 + map_script 1, Route114_FossilManiacsTunnel_MapScript1_22AF49 + .byte 0 + +Route114_FossilManiacsTunnel_MapScript1_22AF33: @ 822AF33 + checkflag FLAG_SYS_GAME_CLEAR + call_if 1, Route114_FossilManiacsTunnel_EventScript_22AF3D + end + +Route114_FossilManiacsTunnel_EventScript_22AF3D:: @ 822AF3D + setobjectxyperm 1, 6, 5 + setobjectmovementtype 1, 8 + return + +Route114_FossilManiacsTunnel_MapScript1_22AF49: @ 822AF49 + checkflag FLAG_SYS_GAME_CLEAR + call_if 0, Route114_FossilManiacsTunnel_EventScript_22AF53 + end + +Route114_FossilManiacsTunnel_EventScript_22AF53:: @ 822AF53 + setmetatile 6, 1, 617, 1 + setmetatile 6, 2, 617, 1 + return + +Route114_FossilManiacsTunnel_EventScript_22AF66:: @ 822AF66 + lockall + applymovement 1, Route114_FossilManiacsTunnel_Movement_2725A6 + applymovement 255, Route114_FossilManiacsTunnel_Movement_2725AA + waitmovement 0 + msgbox Route114_FossilManiacsTunnel_Text_22B1F7, 4 + setvar VAR_0x40CC, 2 + releaseall + end + +Route114_FossilManiacsTunnel_EventScript_22AF87:: @ 822AF87 + lock + faceplayer + checkflag FLAG_0x10B + goto_eq Route114_FossilManiacsTunnel_EventScript_22AFC6 + checkitem ITEM_ROOT_FOSSIL, 1 + compare VAR_RESULT, 1 + goto_eq Route114_FossilManiacsTunnel_EventScript_22AFBC + checkitem ITEM_CLAW_FOSSIL, 1 + compare VAR_RESULT, 1 + goto_eq Route114_FossilManiacsTunnel_EventScript_22AFBC + msgbox Route114_FossilManiacsTunnel_Text_22AFD0, 4 + release + end + +Route114_FossilManiacsTunnel_EventScript_22AFBC:: @ 822AFBC + msgbox Route114_FossilManiacsTunnel_Text_22B0D6, 4 + release + end + +Route114_FossilManiacsTunnel_EventScript_22AFC6:: @ 822AFC6 + msgbox Route114_FossilManiacsTunnel_Text_22B1CC, 4 + release + end + +Route114_FossilManiacsTunnel_Text_22AFD0: @ 822AFD0 + .string "I’m the FOSSIL MANIAC…\n" + .string "I’m a nice guy who loves FOSSILS…\p" + .string "Do you want a FOSSIL?\p" + .string "But the FOSSILS around these parts all\n" + .string "belong to me… None for you…\p" + .string "If you can’t bear to go without\n" + .string "a FOSSIL, look in a desert where there\l" + .string "are boulders and sand that may hide\l" + .string "FOSSILS…$" + +Route114_FossilManiacsTunnel_Text_22B0D6: @ 822B0D6 + .string "You found a FOSSIL, didn’t you?\n" + .string "That’s so nice… It’s so dreamy…\p" + .string "What are you going to do with that\n" + .string "FOSSIL?\p" + .string "From what I’ve heard, DEVON is doing\n" + .string "research on reviving POKéMON from\l" + .string "FOSSILS…\p" + .string "I love my FOSSILS, so I would never\n" + .string "do anything like that…$" + +Route114_FossilManiacsTunnel_Text_22B1CC: @ 822B1CC + .string "FOSSILS are so… Wonderful…\n" + .string "It’s so dreamy…$" + +Route114_FossilManiacsTunnel_Text_22B1F7: @ 822B1F7 + .string "Oh…\n" + .string "It’s not safe that way…\p" + .string "I was digging away, you see…\n" + .string "When the whole wall collapsed…\p" + .string "I think there’s a giant cavern\n" + .string "underneath now…\p" + .string "But I’ve left it alone because I don’t\n" + .string "think there are any FOSSILS there…$" + diff --git a/data/scripts/maps/Route114_LanettesHouse.inc b/data/scripts/maps/Route114_LanettesHouse.inc new file mode 100644 index 0000000000..00bb4f2266 --- /dev/null +++ b/data/scripts/maps/Route114_LanettesHouse.inc @@ -0,0 +1,108 @@ +Route114_LanettesHouse_MapScripts:: @ 822B2C8 + map_script 3, Route114_LanettesHouse_MapScript1_22B2CE + .byte 0 + +Route114_LanettesHouse_MapScript1_22B2CE: @ 822B2CE + setflag FLAG_LANDMARK_LANETTES_HOUSE + end + +Route114_LanettesHouse_EventScript_22B2D2:: @ 822B2D2 + lock + faceplayer + checkflag FLAG_0x083 + goto_eq Route114_LanettesHouse_EventScript_22B2FF + setflag FLAG_SYS_PC_LANETTE + msgbox Route114_LanettesHouse_Text_22B34E, 4 + givedecoration_std 99 + compare VAR_RESULT, 0 + goto_eq Route114_LanettesHouse_EventScript_272067 + setflag FLAG_0x083 + release + end + +Route114_LanettesHouse_EventScript_22B2FF:: @ 822B2FF + msgbox Route114_LanettesHouse_Text_22B407, 4 + release + end + +Route114_LanettesHouse_EventScript_22B309:: @ 822B309 + lockall + msgbox Route114_LanettesHouse_Text_22B485, 5 + compare VAR_RESULT, 1 + goto_eq Route114_LanettesHouse_EventScript_22B327 + msgbox Route114_LanettesHouse_Text_22B6E4, 4 + releaseall + end + +Route114_LanettesHouse_EventScript_22B327:: @ 822B327 + msgbox Route114_LanettesHouse_Text_22B53C, 5 + compare VAR_RESULT, 1 + call_if 1, Route114_LanettesHouse_EventScript_22B33C + releaseall + end + +Route114_LanettesHouse_EventScript_22B33C:: @ 822B33C + msgbox Route114_LanettesHouse_Text_22B5EF, 4 + return + +Route114_LanettesHouse_EventScript_22B345:: @ 822B345 + msgbox Route114_LanettesHouse_Text_22B6FC, 3 + end + +Route114_LanettesHouse_Text_22B34E: @ 822B34E + .string "LANETTE: Oh! {PLAYER}{KUN}!\p" + .string "I’m sorry everything is so cluttered…\n" + .string "When I get engrossed in research,\l" + .string "things end up this way…\p" + .string "This is embarrassing… Please keep\n" + .string "this a secret in exchange for this.$" + +Route114_LanettesHouse_Text_22B407: @ 822B407 + .string "May I offer advice about my POKéMON\n" + .string "Storage System?\p" + .string "You should organize your BOXES so you\n" + .string "can tell which POKéMON are in them.$" + +Route114_LanettesHouse_Text_22B485: @ 822B485 + .string "It’s LANETTE’s research notes.\n" + .string "There’s information about BOXES.\p" + .string "Design BOXES to hold 30 POKéMON each.\p" + .string "Each TRAINER should be able to store\n" + .string "420 POKéMON on the PC system.\p" + .string "Keep reading?$" + +Route114_LanettesHouse_Text_22B53C: @ 822B53C + .string "A marking system should be added to\n" + .string "make POKéMON easier to organize.\p" + .string "The name and wallpaper design of each\n" + .string "BOX will be made changeable to please\l" + .string "the stored POKéMON.\p" + .string "Keep reading?$" + +Route114_LanettesHouse_Text_22B5EF: @ 822B5EF + .string "When storing a POKéMON, it should be\n" + .string "sent to the BOX inspected last.\p" + .string "If that BOX is full, the received\n" + .string "POKéMON is stored in the next BOX.\p" + .string "In other words, when a BOX is examined,\n" + .string "it is automatically selected as the BOX\l" + .string "to which POKéMON are sent.$" + +Route114_LanettesHouse_Text_22B6E4: @ 822B6E4 + .string "{PLAYER} closed the notebook.$" + +Route114_LanettesHouse_Text_22B6FC: @ 822B6FC + .string "There’s an e-mail from someone on\n" + .string "the PC.\p" + .string "“… … … … … … …\p" + .string "“Your Storage System offers more\n" + .string "convenience than mine.\p" + .string "“It has a lot of user-friendly features\n" + .string "that make it fun and useful, too.\p" + .string "“It makes me proud that I played\n" + .string "a part in its development.\p" + .string "“Here’s hoping that you’ll continue\n" + .string "research in Storage Systems.\p" + .string "“From BILL\n" + .string "… … … … … … … …”$" + diff --git a/data/scripts/maps/Route115.inc b/data/scripts/maps/Route115.inc new file mode 100644 index 0000000000..69edd58306 --- /dev/null +++ b/data/scripts/maps/Route115.inc @@ -0,0 +1,162 @@ +Route115_MapScripts:: @ 81F2920 + map_script 1, Route115_MapScript1_1F2930 + map_script 3, Route115_MapScript1_1F2947 + map_script 2, Route115_MapScript2_1F2969 + .byte 0 + +Route115_MapScript1_1F2930: @ 81F2930 + compare VAR_0x4037, 3 + call_if 1, Route115_EventScript_273939 + compare VAR_0x4037, 4 + call_if 1, Route115_EventScript_27394C + end + +Route115_MapScript1_1F2947: @ 81F2947 + compare VAR_0x4039, 1 + call_if 1, Route115_EventScript_273D13 + compare VAR_0x4037, 3 + call_if 1, Route115_EventScript_273D1B + compare VAR_0x4037, 4 + call_if 1, Route115_EventScript_273D1B + end + +Route115_MapScript2_1F2969: @ 81F2969 + map_script_2 VAR_0x4039, 1, gUnknown_08273D1F + .2byte 0 + +Route115_EventScript_1F2973:: @ 81F2973 + msgbox Route115_Text_1F2B55, 2 + end + +Route115_EventScript_1F297C:: @ 81F297C + msgbox Route115_Text_1F2BC9, 3 + end + +Route115_EventScript_1F2985:: @ 81F2985 + msgbox Route115_Text_1F2BE3, 3 + end + +Route115_EventScript_1F298E:: @ 81F298E + trainerbattle 2, TRAINER_TIMOTHY_1, 0, Route115_Text_29B1FA, Route115_Text_29B230, Route115_EventScript_1F29BA + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route115_EventScript_1F29D9 + msgbox Route115_Text_29B258, 4 + release + end + +Route115_EventScript_1F29BA:: @ 81F29BA + special sub_80B4808 + waitmovement 0 + msgbox Route115_Text_29B2B3, 4 + setvar VAR_0x8004, 307 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 307 + callstd 8 + release + end + +Route115_EventScript_1F29D9:: @ 81F29D9 + trainerbattle 5, TRAINER_TIMOTHY_1, 0, Route115_Text_29B32C, Route115_Text_29B372 + msgbox Route115_Text_29B385, 6 + end + +Route115_EventScript_1F29F0:: @ 81F29F0 + trainerbattle 0, TRAINER_KOICHI, 0, Route115_Text_29B3CC, Route115_Text_29B3ED + msgbox Route115_Text_29B3FF, 6 + end + +Route115_EventScript_1F2A07:: @ 81F2A07 + trainerbattle 2, TRAINER_NOB_1, 0, Route115_Text_29B449, Route115_Text_29B480, Route115_EventScript_1F2A33 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route115_EventScript_1F2A52 + msgbox Route115_Text_29B49D, 4 + release + end + +Route115_EventScript_1F2A33:: @ 81F2A33 + special sub_80B4808 + waitmovement 0 + msgbox Route115_Text_29B50B, 4 + setvar VAR_0x8004, 183 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 183 + callstd 8 + release + end + +Route115_EventScript_1F2A52:: @ 81F2A52 + trainerbattle 5, TRAINER_NOB_1, 0, Route115_Text_29B547, Route115_Text_29B59D + msgbox Route115_Text_29B5B5, 6 + end + +Route115_EventScript_1F2A69:: @ 81F2A69 + trainerbattle 2, TRAINER_CYNDY_1, 0, Route115_Text_29B5EF, Route115_Text_29B62D, Route115_EventScript_1F2A95 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route115_EventScript_1F2AB4 + msgbox Route115_Text_29B647, 4 + release + end + +Route115_EventScript_1F2A95:: @ 81F2A95 + special sub_80B4808 + waitmovement 0 + msgbox Route115_Text_29B6AB, 4 + setvar VAR_0x8004, 427 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 427 + callstd 8 + release + end + +Route115_EventScript_1F2AB4:: @ 81F2AB4 + trainerbattle 5, TRAINER_CYNDY_1, 0, Route115_Text_29B6FA, Route115_Text_29B71A + msgbox Route115_Text_29B737, 6 + end + +Route115_EventScript_1F2ACB:: @ 81F2ACB + trainerbattle 0, TRAINER_HECTOR, 0, Route115_Text_29B78F, Route115_Text_29B7C5 + msgbox Route115_Text_29B7EA, 6 + end + +Route115_EventScript_1F2AE2:: @ 81F2AE2 + trainerbattle 0, TRAINER_KYRA, 0, Route115_Text_29B826, Route115_Text_29B85D + msgbox Route115_Text_29B869, 6 + end + +Route115_EventScript_1F2AF9:: @ 81F2AF9 + trainerbattle 0, TRAINER_JAIDEN, 0, Route115_Text_29B8C1, Route115_Text_29B8E8 + msgbox Route115_Text_29B904, 6 + end + +Route115_EventScript_1F2B10:: @ 81F2B10 + trainerbattle 0, TRAINER_ALIX, 0, Route115_Text_29B9CB, Route115_Text_29B9F6 + msgbox Route115_Text_29BA04, 6 + end + +Route115_EventScript_1F2B27:: @ 81F2B27 + trainerbattle 0, TRAINER_HELENE, 0, Route115_Text_29B92D, Route115_Text_29B958 + msgbox Route115_Text_29B971, 6 + end + +Route115_EventScript_1F2B3E:: @ 81F2B3E + trainerbattle 0, TRAINER_MARLENE, 0, Route115_Text_29BA2C, Route115_Text_29BA67 + msgbox Route115_Text_29BA87, 6 + end + +Route115_Text_1F2B55: @ 81F2B55 + .string "Exploring a cave isn’t like walking\n" + .string "on a road.\p" + .string "You never know when wild POKéMON will\n" + .string "appear. It’s full of suspense.$" + +Route115_Text_1F2BC9: @ 81F2BC9 + .string "ROUTE 115\n" + .string "{0x7A} RUSTBORO CITY$" + +Route115_Text_1F2BE3: @ 81F2BE3 + .string "METEOR FALLS\n" + .string "FALLARBOR TOWN THROUGH HERE$" + diff --git a/data/scripts/maps/Route116.inc b/data/scripts/maps/Route116.inc new file mode 100644 index 0000000000..00bc1ff6cc --- /dev/null +++ b/data/scripts/maps/Route116.inc @@ -0,0 +1,511 @@ +Route116_MapScripts:: @ 81F2C0C + map_script 3, Route116_MapScript1_1F2C1C + map_script 1, Route116_MapScript1_1F2C4F + map_script 2, Route116_MapScript2_1F2C66 + .byte 0 + +Route116_MapScript1_1F2C1C: @ 81F2C1C + checkflag FLAG_0x08F + call_if 1, Route116_EventScript_1F2C47 + compare VAR_0x4039, 1 + call_if 1, Route116_EventScript_273D13 + compare VAR_0x4037, 5 + call_if 1, Route116_EventScript_273D1B + compare VAR_0x4037, 6 + call_if 1, Route116_EventScript_273D1B + end + +Route116_EventScript_1F2C47:: @ 81F2C47 + setobjectxyperm 21, 38, 10 + return + +Route116_MapScript1_1F2C4F: @ 81F2C4F + compare VAR_0x4037, 5 + call_if 1, Route116_EventScript_27395F + compare VAR_0x4037, 6 + call_if 1, Route116_EventScript_273972 + end + +Route116_MapScript2_1F2C66: @ 81F2C66 + map_script_2 VAR_0x4039, 1, gUnknown_08273D1F + .2byte 0 + +Route116_EventScript_1F2C70:: @ 81F2C70 + lock + faceplayer + checkflag FLAG_0x08F + goto_eq Route116_EventScript_1F2C8E + checkflag FLAG_0x08E + goto_eq Route116_EventScript_1F2C98 + msgbox Route116_Text_1F3140, 4 + release + end + +Route116_EventScript_1F2C8E:: @ 81F2C8E + msgbox Route116_Text_1F32C1, 4 + release + end + +Route116_EventScript_1F2C98:: @ 81F2C98 + msgbox Route116_Text_1F3166, 4 + release + end + +Route116_EventScript_1F2CA2:: @ 81F2CA2 + lock + faceplayer + checkflag FLAG_0x11F + goto_eq Route116_EventScript_1F2D2B + msgbox Route116_Text_1F3317, 4 + goto Route116_EventScript_1F2CBB + end + +Route116_EventScript_1F2CBB:: @ 81F2CBB + setflag FLAG_0x11F + giveitem_std ITEM_REPEAT_BALL + compare VAR_RESULT, 0 + goto_eq Route116_EventScript_1F2D39 + msgbox Route116_Text_1F3521, 4 + closemessage + compare VAR_FACING, 2 + call_if 1, Route116_EventScript_1F2D15 + compare VAR_FACING, 1 + call_if 1, Route116_EventScript_1F2D15 + compare VAR_FACING, 3 + call_if 1, Route116_EventScript_1F2D15 + compare VAR_FACING, 4 + call_if 1, Route116_EventScript_1F2D20 + removeobject VAR_LAST_TALKED + clearflag FLAG_0x3B5 + setflag FLAG_0x100 + release + end + +Route116_EventScript_1F2D15:: @ 81F2D15 + applymovement VAR_LAST_TALKED, Route116_Movement_1F2D43 + waitmovement 0 + return + +Route116_EventScript_1F2D20:: @ 81F2D20 + applymovement VAR_LAST_TALKED, Route116_Movement_1F2D4C + waitmovement 0 + return + +Route116_EventScript_1F2D2B:: @ 81F2D2B + msgbox Route116_Text_1F35CE, 4 + goto Route116_EventScript_1F2CBB + end + +Route116_EventScript_1F2D39:: @ 81F2D39 + msgbox Route116_Text_1F3593, 4 + release + end + +Route116_Movement_1F2D43: @ 81F2D43 + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +Route116_Movement_1F2D4C: @ 81F2D4C + step_down + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +Route116_EventScript_1F2D57:: @ 81F2D57 + msgbox Route116_Text_1F379D, 3 + end + +Route116_EventScript_1F2D60:: @ 81F2D60 + msgbox Route116_Text_1F37B7, 3 + end + +Route116_EventScript_1F2D69:: @ 81F2D69 + msgbox Route116_Text_1F380F, 3 + end + +Route116_EventScript_1F2D72:: @ 81F2D72 + msgbox Route116_Text_1F3825, 3 + end + +Route116_EventScript_1F2D7B:: @ 81F2D7B + msgbox Route116_Text_1F38D4, 3 + end + +Route116_EventScript_1F2D84:: @ 81F2D84 + lock + faceplayer + msgbox Route116_Text_1F309D, 4 + setvar VAR_0x406F, 2 + release + end + +Route116_EventScript_1F2D95:: @ 81F2D95 + lockall + applymovement 11, Route116_Movement_2725A8 + applymovement 255, Route116_Movement_2725A4 + waitmovement 0 + msgbox Route116_Text_1F309D, 4 + setvar VAR_0x406F, 2 + releaseall + end + +Route116_EventScript_1F2DB6:: @ 81F2DB6 + lock + faceplayer + checkitem ITEM_BLACK_GLASSES, 1 + compare VAR_RESULT, 1 + goto_eq Route116_EventScript_1F2DF1 + specialvar VAR_RESULT, sub_8139634 + compare VAR_RESULT, 1 + goto_eq Route116_EventScript_1F2DE2 + msgbox Route116_Text_1F3657, 4 + release + end + +Route116_EventScript_1F2DE2:: @ 81F2DE2 + msgbox Route116_Text_1F3718, 4 + closemessage + goto Route116_EventScript_1F2E2A + end + +Route116_EventScript_1F2DF1:: @ 81F2DF1 + msgbox Route116_Text_1F3657, 4 + msgbox Route116_Text_1F3688, 4 + specialvar VAR_RESULT, sub_8139634 + compare VAR_RESULT, 1 + goto_eq Route116_EventScript_1F2E1B + msgbox Route116_Text_1F375E, 4 + release + end + +Route116_EventScript_1F2E1B:: @ 81F2E1B + msgbox Route116_Text_1F36B4, 4 + closemessage + goto Route116_EventScript_1F2E2A + end + +Route116_EventScript_1F2E2A:: @ 81F2E2A + delay 20 + compare VAR_FACING, 2 + call_if 1, Route116_EventScript_1F2E5E + compare VAR_FACING, 1 + call_if 1, Route116_EventScript_1F2E5E + compare VAR_FACING, 3 + call_if 1, Route116_EventScript_1F2E5E + compare VAR_FACING, 4 + call_if 1, Route116_EventScript_1F2E69 + removeobject VAR_LAST_TALKED + release + end + +Route116_EventScript_1F2E5E:: @ 81F2E5E + applymovement VAR_LAST_TALKED, Route116_Movement_1F2E74 + waitmovement 0 + return + +Route116_EventScript_1F2E69:: @ 81F2E69 + applymovement VAR_LAST_TALKED, Route116_Movement_1F2E7E + waitmovement 0 + return + +Route116_Movement_1F2E74: @ 81F2E74 + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +Route116_Movement_1F2E7E: @ 81F2E7E + step_up + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +Route116_EventScript_1F2E89:: @ 81F2E89 + trainerbattle 0, TRAINER_JOEY, 0, Route116_Text_29BB79, Route116_Text_29BB9A + msgbox Route116_Text_29BBC6, 6 + end + +Route116_EventScript_1F2EA0:: @ 81F2EA0 + trainerbattle 0, TRAINER_JOSE, 0, Route116_Text_29BBFD, Route116_Text_29BC25 + msgbox Route116_Text_29BC42, 6 + end + +Route116_EventScript_1F2EB7:: @ 81F2EB7 + trainerbattle 2, TRAINER_JERRY_1, 0, Route116_Text_29BD0C, Route116_Text_29BD66, Route116_EventScript_1F2EF8 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route116_EventScript_1F2F4E + setvar VAR_0x8004, 273 + specialvar VAR_RESULT, sub_813B4E0 + compare VAR_RESULT, 0 + goto_eq Route116_EventScript_1F2F22 + msgbox Route116_Text_29BD92, 4 + release + end + +Route116_EventScript_1F2EF8:: @ 81F2EF8 + checkflag FLAG_HAS_MATCH_CALL + goto_eq Route116_EventScript_1F2F03 + release + end + +Route116_EventScript_1F2F03:: @ 81F2F03 + special sub_80B4808 + waitmovement 0 + msgbox Route116_Text_29BE71, 4 + setvar VAR_0x8004, 273 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 273 + callstd 8 + release + end + +Route116_EventScript_1F2F22:: @ 81F2F22 + checkflag FLAG_HAS_MATCH_CALL + goto_eq Route116_EventScript_1F2F35 + msgbox Route116_Text_29BD92, 4 + release + end + +Route116_EventScript_1F2F35:: @ 81F2F35 + msgbox Route116_Text_29BDEF, 4 + setvar VAR_0x8004, 273 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 273 + callstd 8 + release + end + +Route116_EventScript_1F2F4E:: @ 81F2F4E + trainerbattle 5, TRAINER_JERRY_1, 0, Route116_Text_29BEF3, Route116_Text_29BF4C + msgbox Route116_Text_29BF68, 6 + end + +Route116_EventScript_1F2F65:: @ 81F2F65 + trainerbattle 0, TRAINER_CLARK, 0, Route116_Text_29BACD, Route116_Text_29BB0F + msgbox Route116_Text_29BB31, 6 + end + +Route116_EventScript_1F2F7C:: @ 81F2F7C + trainerbattle 0, TRAINER_JANICE, 0, Route116_Text_29BC7F, Route116_Text_29BCB3 + msgbox Route116_Text_29BCCC, 6 + end + +Route116_EventScript_1F2F93:: @ 81F2F93 + trainerbattle 2, TRAINER_KAREN_1, 0, Route116_Text_29BFC5, Route116_Text_29BFFA, Route116_EventScript_1F2FD4 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route116_EventScript_1F302A + setvar VAR_0x8004, 280 + specialvar VAR_RESULT, sub_813B4E0 + compare VAR_RESULT, 0 + goto_eq Route116_EventScript_1F2FFE + msgbox Route116_Text_29C010, 4 + release + end + +Route116_EventScript_1F2FD4:: @ 81F2FD4 + checkflag FLAG_HAS_MATCH_CALL + goto_eq Route116_EventScript_1F2FDF + release + end + +Route116_EventScript_1F2FDF:: @ 81F2FDF + special sub_80B4808 + waitmovement 0 + msgbox Route116_Text_29C096, 4 + setvar VAR_0x8004, 280 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 280 + callstd 8 + release + end + +Route116_EventScript_1F2FFE:: @ 81F2FFE + checkflag FLAG_HAS_MATCH_CALL + goto_eq Route116_EventScript_1F3011 + msgbox Route116_Text_29C010, 4 + release + end + +Route116_EventScript_1F3011:: @ 81F3011 + msgbox Route116_Text_29C052, 4 + setvar VAR_0x8004, 280 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 280 + callstd 8 + release + end + +Route116_EventScript_1F302A:: @ 81F302A + trainerbattle 5, TRAINER_KAREN_1, 0, Route116_Text_29C0DA, Route116_Text_29C11F + msgbox Route116_Text_29C13B, 6 + end + +Route116_EventScript_1F3041:: @ 81F3041 + trainerbattle 0, TRAINER_SARAH, 0, Route116_Text_29C173, Route116_Text_29C1B8 + msgbox Route116_Text_29C1EA, 6 + end + +Route116_EventScript_1F3058:: @ 81F3058 + trainerbattle 0, TRAINER_DAWSON, 0, Route116_Text_29C266, Route116_Text_29C2C2 + msgbox Route116_Text_29C2DD, 6 + end + +Route116_EventScript_1F306F:: @ 81F306F + trainerbattle 0, TRAINER_DEVAN, 0, Route116_Text_29C350, Route116_Text_29C365 + msgbox Route116_Text_29C380, 6 + end + +Route116_EventScript_1F3086:: @ 81F3086 + trainerbattle 0, TRAINER_JOHNSON, 0, Route116_Text_29C3C1, Route116_Text_29C3F7 + msgbox Route116_Text_29C418, 6 + end + +Route116_Text_1F309D: @ 81F309D + .string "Ohhh, what am I to do?\p" + .string "We were on our walk, PEEKO and I, when\n" + .string "we were jumped by an odd thug…\p" + .string "The scoundrel made off with my\n" + .string "darling PEEKO!\p" + .string "Wrrrooooooaaaar! PEEKO!$" + +Route116_Text_1F3140: @ 81F3140 + .string "Nnn… Roar!\p" + .string "I want to dig that tunnel!$" + +Route116_Text_1F3166: @ 81F3166 + .string "Nnn… Roar!\n" + .string "What’s going on?\p" + .string "I was digging the tunnel without any\n" + .string "tools when some goon ordered me out!\p" + .string "That tunnel’s filled with POKéMON\n" + .string "that react badly to loud noises.\l" + .string "They could cause an uproar.\p" + .string "That’s why we stopped using heavy\n" + .string "equipment for tunneling…\p" + .string "I’m worried that the goon will do\n" + .string "something stupid and startle the\l" + .string "POKéMON into an uproar.$" + +Route116_Text_1F32C1: @ 81F32C1 + .string "Nnn… Roar!\p" + .string "That goofy goon hightailed it out of\n" + .string "the tunnel! I can go back to digging!$" + +Route116_Text_1F3317: @ 81F3317 + .string "Oh! It’s you!\p" + .string "You’re that person who not only helped\n" + .string "me in PETALBURG WOODS, but also got\l" + .string "back my stolen package and then even\l" + .string "graciously delivered it to SLATEPORT!\p" + .string "CAPT. STERN informed us that the\n" + .string "package arrived, too!\p" + .string "I thank you very, very much!\p" + .string "Why, if I were a rain cloud, I would\n" + .string "shower you with gratitude and hail\l" + .string "you as a hero!\p" + .string "For you, the most wonderful TRAINER,\n" + .string "I bear good news!\p" + .string "Recently, our company developed\n" + .string "a new kind of POKé BALL.\p" + .string "As a token of our appreciation, this\n" + .string "is our gift to our wonderful TRAINER!$" + +Route116_Text_1F3521: @ 81F3521 + .string "Our new POKé BALL will be available\n" + .string "at the POKéMON MART in RUSTBORO.\p" + .string "Please do try it out!\n" + .string "Thank you and bye-bye!$" + +Route116_Text_1F3593: @ 81F3593 + .string "Your BAG is jam-packed.\n" + .string "I can’t give you this REPEAT BALL.$" + +Route116_Text_1F35CE: @ 81F35CE + .string "As a token of our appreciation for\n" + .string "your delivering our package, I have\l" + .string "a gift of a new kind of POKé BALL\l" + .string "for our most wonderful TRAINER!$" + +Route116_Text_1F3657: @ 81F3657 + .string "I dropped my glasses…\n" + .string "Can you help me find them?$" + +Route116_Text_1F3688: @ 81F3688 + .string "Those glasses!\n" + .string "May I see them for a second?$" + +Route116_Text_1F36B4: @ 81F36B4 + .string "Hmm…\n" + .string "These are BLACKGLASSES.\l" + .string "They’re not what I’m looking for…\p" + .string "Maybe my glasses aren’t around\n" + .string "here…$" + +Route116_Text_1F3718: @ 81F3718 + .string "Hmm…\n" + .string "I can’t find my glasses anywhere…\l" + .string "Maybe they’re not around here…$" + +Route116_Text_1F375E: @ 81F375E + .string "Hmm…\n" + .string "These are BLACKGLASSES.\l" + .string "They’re not what I’m looking for…$" + +Route116_Text_1F379D: @ 81F379D + .string "ROUTE 116\n" + .string "{0x7B} RUSTBORO CITY$" + +Route116_Text_1F37B7: @ 81F37B7 + .string "RUSTURF TUNNEL\n" + .string "“Linking RUSTBORO and VERDANTURF\p" + .string "“The tunnel project has been\n" + .string "canceled.”$" + +Route116_Text_1F380F: @ 81F380F + .string "TUNNELER’S REST HOUSE$" + +Route116_Text_1F3825: @ 81F3825 + .string "TRAINER TIPS\p" + .string "If you want to stop a POKéMON from\n" + .string "evolving, press the B Button while it\l" + .string "is trying to evolve.\l" + .string "The startled POKéMON will stop.\p" + .string "This is called an evolution cancel.$" + +Route116_Text_1F38D4: @ 81F38D4 + .string "TRAINER TIPS\p" + .string "Your BAG has several POCKETS.\p" + .string "Items you obtain are automatically\n" + .string "placed in the appropriate POCKETS.\p" + .string "No TRAINER can afford to be without\n" + .string "a BAG of their own.$" + diff --git a/data/scripts/maps/Route116_TunnelersRestHouse.inc b/data/scripts/maps/Route116_TunnelersRestHouse.inc new file mode 100644 index 0000000000..f9dbbd3f25 --- /dev/null +++ b/data/scripts/maps/Route116_TunnelersRestHouse.inc @@ -0,0 +1,63 @@ +Route116_TunnelersRestHouse_MapScripts:: @ 822B850 + map_script 3, Route116_TunnelersRestHouse_MapScript1_22B856 + .byte 0 + +Route116_TunnelersRestHouse_MapScript1_22B856: @ 822B856 + setflag FLAG_LANDMARK_TUNNELERS_REST_HOUSE + end + +Route116_TunnelersRestHouse_EventScript_22B85A:: @ 822B85A + msgbox Route116_TunnelersRestHouse_Text_22B88B, 2 + end + +Route116_TunnelersRestHouse_EventScript_22B863:: @ 822B863 + msgbox Route116_TunnelersRestHouse_Text_22B99F, 2 + end + +Route116_TunnelersRestHouse_EventScript_22B86C:: @ 822B86C + lock + faceplayer + checkflag FLAG_0x0C7 + goto_eq Route116_TunnelersRestHouse_EventScript_22B881 + msgbox Route116_TunnelersRestHouse_Text_22BAAF, 4 + release + end + +Route116_TunnelersRestHouse_EventScript_22B881:: @ 822B881 + msgbox Route116_TunnelersRestHouse_Text_22BB3B, 4 + release + end + +Route116_TunnelersRestHouse_Text_22B88B: @ 822B88B + .string "That RUSTURF TUNNEL there…\p" + .string "At first, we had a huge work crew boring\n" + .string "through rock with the latest machinery.\l" + .string "But, we had to stop.\p" + .string "It turns out that we would have had\n" + .string "a negative effect on wild POKéMON in\l" + .string "the area.\p" + .string "So, we’ve got nothing to do but loll\n" + .string "around here doing nothing.$" + +Route116_TunnelersRestHouse_Text_22B99F: @ 822B99F + .string "There’s a man digging his way to\n" + .string "VERDANTURF all by his lonesome.\l" + .string "He’s desperate to get through.\p" + .string "He says that if he digs little by little\n" + .string "without using machines, he won’t\l" + .string "disturb POKéMON, and he’ll avoid\l" + .string "harming the natural environment.\p" + .string "I wonder if he made it through yet.$" + +Route116_TunnelersRestHouse_Text_22BAAF: @ 822BAAF + .string "To get to VERDANTURF without using\n" + .string "this TUNNEL, you’d have to cross the\l" + .string "sea to DEWFORD, sail on to SLATEPORT,\l" + .string "then travel through MAUVILLE.$" + +Route116_TunnelersRestHouse_Text_22BB3B: @ 822BB3B + .string "Did you hear? The TUNNEL to VERDANTURF\n" + .string "has gone through!\p" + .string "Sometimes, if you hope strongly enough,\n" + .string "dreams do come true.$" + diff --git a/data/scripts/maps/Route117.inc b/data/scripts/maps/Route117.inc new file mode 100644 index 0000000000..20240dc82c --- /dev/null +++ b/data/scripts/maps/Route117.inc @@ -0,0 +1,232 @@ +Route117_MapScripts:: @ 81F397D + map_script 3, Route117_MapScript1_1F3983 + .byte 0 + +Route117_MapScript1_1F3983: @ 81F3983 + call Route117_EventScript_1F3989 + end + +Route117_EventScript_1F3989:: @ 81F3989 + checkflag FLAG_PENDING_DAYCARE_EGG + goto_if 0, Route117_EventScript_1F3999 + setobjectxyperm 3, 47, 6 + +Route117_EventScript_1F3999:: @ 81F3999 + return + +Route117_EventScript_1F399A:: @ 81F399A + msgbox Route117_Text_1F3CFD, 2 + end + +Route117_EventScript_1F39A3:: @ 81F39A3 + msgbox Route117_Text_1F3D41, 2 + end + +Route117_EventScript_1F39AC:: @ 81F39AC + msgbox Route117_Text_1F3C7C, 2 + end + +Route117_EventScript_1F39B5:: @ 81F39B5 + msgbox Route117_Text_1F3D58, 3 + end + +Route117_EventScript_1F39BE:: @ 81F39BE + msgbox Route117_Text_1F3D74, 3 + end + +Route117_EventScript_1F39C7:: @ 81F39C7 + msgbox Route117_Text_1F3D8E, 3 + end + +Route117_EventScript_1F39D0:: @ 81F39D0 + trainerbattle 2, TRAINER_ISAAC_1, 0, Route117_Text_29C43F, Route117_Text_29C47A, Route117_EventScript_1F39FC + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route117_EventScript_1F3A1B + msgbox Route117_Text_29C498, 4 + release + end + +Route117_EventScript_1F39FC:: @ 81F39FC + special sub_80B4808 + waitmovement 0 + msgbox Route117_Text_29C508, 4 + setvar VAR_0x8004, 538 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 538 + callstd 8 + release + end + +Route117_EventScript_1F3A1B:: @ 81F3A1B + trainerbattle 5, TRAINER_ISAAC_1, 0, Route117_Text_29C549, Route117_Text_29C58B + msgbox Route117_Text_29C5D0, 6 + end + +Route117_EventScript_1F3A32:: @ 81F3A32 + trainerbattle 2, TRAINER_LYDIA_1, 0, Route117_Text_29C612, Route117_Text_29C659, Route117_EventScript_1F3A5E + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route117_EventScript_1F3A7D + msgbox Route117_Text_29C679, 4 + release + end + +Route117_EventScript_1F3A5E:: @ 81F3A5E + special sub_80B4808 + waitmovement 0 + msgbox Route117_Text_29C6BC, 4 + setvar VAR_0x8004, 545 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 545 + callstd 8 + release + end + +Route117_EventScript_1F3A7D:: @ 81F3A7D + trainerbattle 5, TRAINER_LYDIA_1, 0, Route117_Text_29C6FD, Route117_Text_29C73E + msgbox Route117_Text_29C75A, 6 + end + +Route117_EventScript_1F3A94:: @ 81F3A94 + trainerbattle 2, TRAINER_DYLAN_1, 0, Route117_Text_29C7A5, Route117_Text_29C7EB, Route117_EventScript_1F3AC0 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route117_EventScript_1F3ADF + msgbox Route117_Text_29C800, 4 + release + end + +Route117_EventScript_1F3AC0:: @ 81F3AC0 + special sub_80B4808 + waitmovement 0 + msgbox Route117_Text_29C846, 4 + setvar VAR_0x8004, 364 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 364 + callstd 8 + release + end + +Route117_EventScript_1F3ADF:: @ 81F3ADF + trainerbattle 5, TRAINER_DYLAN_1, 0, Route117_Text_29C880, Route117_Text_29C8E3 + msgbox Route117_Text_29C8FE, 6 + end + +Route117_EventScript_1F3AF6:: @ 81F3AF6 + trainerbattle 2, TRAINER_MARIA_1, 0, Route117_Text_29C955, Route117_Text_29C9A6, Route117_EventScript_1F3B22 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route117_EventScript_1F3B41 + msgbox Route117_Text_29C9D0, 4 + release + end + +Route117_EventScript_1F3B22:: @ 81F3B22 + special sub_80B4808 + waitmovement 0 + msgbox Route117_Text_29CA32, 4 + setvar VAR_0x8004, 369 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 369 + callstd 8 + release + end + +Route117_EventScript_1F3B41:: @ 81F3B41 + trainerbattle 5, TRAINER_MARIA_1, 0, Route117_Text_29CA7C, Route117_Text_29CACC + msgbox Route117_Text_29CAF6, 6 + end + +Route117_EventScript_1F3B58:: @ 81F3B58 + trainerbattle 0, TRAINER_DEREK, 0, Route117_Text_29CB32, Route117_Text_29CB87 + msgbox Route117_Text_29CBAD, 6 + end + +Route117_EventScript_1F3B6F:: @ 81F3B6F + trainerbattle 6, TRAINER_ANNA_AND_MEG_1, 0, Route117_Text_29CC4A, Route117_Text_29CC8E, Route117_Text_29CD61, Route117_EventScript_1F3B9F + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route117_EventScript_1F3BB8 + msgbox Route117_Text_29CCCB, 4 + release + end + +Route117_EventScript_1F3B9F:: @ 81F3B9F + msgbox Route117_Text_29CD1D, 4 + setvar VAR_0x8004, 287 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 287 + callstd 8 + release + end + +Route117_EventScript_1F3BB8:: @ 81F3BB8 + trainerbattle 7, TRAINER_ANNA_AND_MEG_1, 0, Route117_Text_29CEB6, Route117_Text_29CEF6, Route117_Text_29CF6E + msgbox Route117_Text_29CF1C, 6 + end + +Route117_EventScript_1F3BD3:: @ 81F3BD3 + trainerbattle 6, TRAINER_ANNA_AND_MEG_1, 0, Route117_Text_29CD9D, Route117_Text_29CDE9, Route117_Text_29CE52, Route117_EventScript_1F3C03 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route117_EventScript_1F3C1C + msgbox Route117_Text_29CE17, 4 + release + end + +Route117_EventScript_1F3C03:: @ 81F3C03 + msgbox Route117_Text_29CD1D, 4 + setvar VAR_0x8004, 287 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 287 + callstd 8 + release + end + +Route117_EventScript_1F3C1C:: @ 81F3C1C + trainerbattle 7, TRAINER_ANNA_AND_MEG_1, 0, Route117_Text_29CFAA, Route117_Text_29CFED, Route117_Text_29D053 + msgbox Route117_Text_29CFFE, 6 + end + +Route117_EventScript_1F3C37:: @ 81F3C37 + trainerbattle 0, TRAINER_MELINA, 0, Route117_Text_29D0B7, Route117_Text_29D0F1 + msgbox Route117_Text_29D10E, 6 + end + +Route117_EventScript_1F3C4E:: @ 81F3C4E + trainerbattle 0, TRAINER_BRANDI, 0, Route117_Text_29D14B, Route117_Text_29D189 + msgbox Route117_Text_29D196, 6 + end + +Route117_EventScript_1F3C65:: @ 81F3C65 + trainerbattle 0, TRAINER_AISHA, 0, Route117_Text_29D1D1, Route117_Text_29D206 + msgbox Route117_Text_29D24C, 6 + end + +Route117_Text_1F3C7C: @ 81F3C7C + .string "I left my POKéMON at the DAY CARE.\p" + .string "When I got it back, it had a new move\n" + .string "that I didn’t teach it.\l" + .string "I was really, really surprised.$" + +Route117_Text_1F3CFD: @ 81F3CFD + .string "What do you think?\n" + .string "Aren’t these flowers pretty?\p" + .string "I planted them all!$" + +Route117_Text_1F3D41: @ 81F3D41 + .string "The air is tasty here!$" + +Route117_Text_1F3D58: @ 81F3D58 + .string "ROUTE 117\n" + .string "{0x7B} VERDANTURF TOWN$" + +Route117_Text_1F3D74: @ 81F3D74 + .string "ROUTE 117\n" + .string "{0x7C} MAUVILLE CITY$" + +Route117_Text_1F3D8E: @ 81F3D8E + .string "POKéMON DAY CARE\n" + .string "“Let us raise your POKéMON.”$" + diff --git a/data/scripts/maps/Route117_PokemonDayCare.inc b/data/scripts/maps/Route117_PokemonDayCare.inc new file mode 100644 index 0000000000..b2e9ddfaaf --- /dev/null +++ b/data/scripts/maps/Route117_PokemonDayCare.inc @@ -0,0 +1,8 @@ +Route117_PokemonDayCare_MapScripts:: @ 822BBB1 + map_script 3, Route117_PokemonDayCare_MapScript1_22BBB7 + .byte 0 + +Route117_PokemonDayCare_MapScript1_22BBB7: @ 822BBB7 + setflag FLAG_LANDMARK_POKEMON_DAYCARE + end + diff --git a/data/scripts/maps/Route118.inc b/data/scripts/maps/Route118.inc new file mode 100644 index 0000000000..4894e8187a --- /dev/null +++ b/data/scripts/maps/Route118.inc @@ -0,0 +1,318 @@ +Route118_MapScripts:: @ 81F3DBC + map_script 3, Route118_MapScript1_1F3DCC + map_script 1, Route118_MapScript1_1F3DF3 + map_script 2, Route118_MapScript2_1F3E0A + .byte 0 + +Route118_MapScript1_1F3DCC: @ 81F3DCC + call Route118_EventScript_28CCC7 + compare VAR_0x4039, 1 + call_if 1, Route118_EventScript_273D13 + compare VAR_0x4037, 7 + call_if 1, Route118_EventScript_273D1B + compare VAR_0x4037, 8 + call_if 1, Route118_EventScript_273D1B + end + +Route118_MapScript1_1F3DF3: @ 81F3DF3 + compare VAR_0x4037, 7 + call_if 1, Route118_EventScript_273985 + compare VAR_0x4037, 8 + call_if 1, Route118_EventScript_273998 + end + +Route118_MapScript2_1F3E0A: @ 81F3E0A + map_script_2 VAR_0x4039, 1, gUnknown_08273D1F + .2byte 0 + +Route118_EventScript_1F3E14:: @ 81F3E14 + lock + faceplayer + checkflag FLAG_0x0E3 + goto_eq Route118_EventScript_1F3E69 + msgbox Route118_Text_1F427B, 5 + compare VAR_RESULT, 1 + goto_eq Route118_EventScript_1F3E3E + compare VAR_RESULT, 0 + goto_eq Route118_EventScript_1F3E5F + end + +Route118_EventScript_1F3E3E:: @ 81F3E3E + msgbox Route118_Text_1F42AF, 4 + giveitem_std ITEM_GOOD_ROD + setflag FLAG_0x0E3 + msgbox Route118_Text_1F42E7, 4 + release + end + +Route118_EventScript_1F3E5F:: @ 81F3E5F + msgbox Route118_Text_1F4319, 4 + release + end + +Route118_EventScript_1F3E69:: @ 81F3E69 + msgbox Route118_Text_1F4331, 4 + release + end + +Route118_EventScript_1F3E73:: @ 81F3E73 + msgbox Route118_Text_1F4367, 2 + end + +Route118_EventScript_1F3E7C:: @ 81F3E7C + msgbox Route118_Text_1F43F4, 3 + end + +Route118_EventScript_1F3E85:: @ 81F3E85 + msgbox Route118_Text_1F440E, 3 + end + +Route118_EventScript_1F3E8E:: @ 81F3E8E + lockall + setvar VAR_0x8008, 0 + applymovement 255, Route118_Movement_2725B2 + waitmovement 0 + applymovement 19, Route118_Movement_1F3F61 + waitmovement 0 + goto Route118_EventScript_1F3EE4 + end + +Route118_EventScript_1F3EAE:: @ 81F3EAE + lockall + setvar VAR_0x8008, 1 + applymovement 255, Route118_Movement_2725B2 + waitmovement 0 + goto Route118_EventScript_1F3EE4 + end + +Route118_EventScript_1F3EC4:: @ 81F3EC4 + lockall + setvar VAR_0x8008, 2 + applymovement 255, Route118_Movement_2725B2 + waitmovement 0 + applymovement 19, Route118_Movement_1F3F63 + waitmovement 0 + goto Route118_EventScript_1F3EE4 + end + +Route118_EventScript_1F3EE4:: @ 81F3EE4 + playse SE_DANSA + applymovement 19, Route118_Movement_1F3F65 + waitmovement 0 + delay 30 + msgbox Route118_Text_1F40BE, 4 + closemessage + compare VAR_0x8008, 0 + call_if 1, Route118_EventScript_1F3F28 + compare VAR_0x8008, 1 + call_if 1, Route118_EventScript_1F3F3A + compare VAR_0x8008, 2 + call_if 1, Route118_EventScript_1F3F4C + setvar VAR_0x4071, 1 + removeobject 19 + releaseall + end + +Route118_EventScript_1F3F28:: @ 81F3F28 + applymovement 255, Route118_Movement_1F3F5E + applymovement 19, Route118_Movement_1F3F69 + waitmovement 0 + return + +Route118_EventScript_1F3F3A:: @ 81F3F3A + applymovement 255, Route118_Movement_1F3F5E + applymovement 19, Route118_Movement_1F3F74 + waitmovement 0 + return + +Route118_EventScript_1F3F4C:: @ 81F3F4C + applymovement 255, Route118_Movement_1F3F5E + applymovement 19, Route118_Movement_1F3F7E + waitmovement 0 + return + +Route118_Movement_1F3F5E: @ 81F3F5E + step_14 + step_28 + step_end + +Route118_Movement_1F3F61: @ 81F3F61 + step_left + step_end + +Route118_Movement_1F3F63: @ 81F3F63 + step_right + step_end + +Route118_Movement_1F3F65: @ 81F3F65 + fast_step_down + step_14 + step_down + step_end + +Route118_Movement_1F3F69: @ 81F3F69 + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_end + +Route118_Movement_1F3F74: @ 81F3F74 + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_end + +Route118_Movement_1F3F7E: @ 81F3F7E + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_end + +Route118_EventScript_1F3F87:: @ 81F3F87 + trainerbattle 2, TRAINER_ROSE_1, 0, Route118_Text_29D290, Route118_Text_29D2D8, Route118_EventScript_1F3FB3 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route118_EventScript_1F3FD2 + msgbox Route118_Text_29D2FA, 4 + release + end + +Route118_EventScript_1F3FB3:: @ 81F3FB3 + special sub_80B4808 + waitmovement 0 + msgbox Route118_Text_29D343, 4 + setvar VAR_0x8004, 37 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 37 + callstd 8 + release + end + +Route118_EventScript_1F3FD2:: @ 81F3FD2 + trainerbattle 5, TRAINER_ROSE_1, 0, Route118_Text_29D382, Route118_Text_29D3AA + msgbox Route118_Text_29D3D9, 6 + end + +Route118_EventScript_1F3FE9:: @ 81F3FE9 + trainerbattle 0, TRAINER_BARNY, 0, Route118_Text_29D515, Route118_Text_29D55C + msgbox Route118_Text_29D587, 6 + end + +Route118_EventScript_1F4000:: @ 81F4000 + trainerbattle 0, TRAINER_WADE, 0, Route118_Text_29D5DF, Route118_Text_29D64C + msgbox Route118_Text_29D663, 6 + end + +Route118_EventScript_1F4017:: @ 81F4017 + trainerbattle 2, TRAINER_DALTON_1, 0, Route118_Text_29D6AF, Route118_Text_29D6CD, Route118_EventScript_1F4043 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route118_EventScript_1F4062 + msgbox Route118_Text_29D6D8, 4 + release + end + +Route118_EventScript_1F4043:: @ 81F4043 + special sub_80B4808 + waitmovement 0 + msgbox Route118_Text_29D74A, 4 + setvar VAR_0x8004, 196 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 196 + callstd 8 + release + end + +Route118_EventScript_1F4062:: @ 81F4062 + trainerbattle 5, TRAINER_DALTON_1, 0, Route118_Text_29D789, Route118_Text_29D7CA + msgbox Route118_Text_29D7D5, 6 + end + +Route118_EventScript_1F4079:: @ 81F4079 + trainerbattle 0, TRAINER_PERRY, 0, Route118_Text_29D41D, Route118_Text_29D45B + msgbox Route118_Text_29D46C, 6 + end + +Route118_EventScript_1F4090:: @ 81F4090 + trainerbattle 0, TRAINER_CHESTER, 0, Route118_Text_29D4A6, Route118_Text_29D4C4 + msgbox Route118_Text_29D4DA, 6 + end + +Route118_EventScript_1F40A7:: @ 81F40A7 + trainerbattle 0, TRAINER_DEANDRE, 0, Route118_Text_29D81B, Route118_Text_29D83C + msgbox Route118_Text_29D872, 6 + end + +Route118_Text_1F40BE: @ 81F40BE + .string "STEVEN: Hi, {PLAYER}{KUN}!\p" + .string "It’s me, STEVEN!\n" + .string "We met in the cave near DEWFORD.\p" + .string "Have you met many kinds of POKéMON\n" + .string "since I last saw you?\p" + .string "There are many, many kinds of POKéMON\n" + .string "in this wide world of ours.\p" + .string "If you wanted to raise only your\n" + .string "favorites, that’s fine.\p" + .string "Perhaps you find it more fun to raise\n" + .string "all sorts of POKéMON.\p" + .string "As a TRAINER of POKéMON,\n" + .string "what do you think?\p" + .string "Of course, it’s not any of my business.\p" + .string "It would be nice if we were to meet\n" + .string "again somewhere.$" + +Route118_Text_1F427B: @ 81F427B + .string "Hmm!\n" + .string "A GOOD ROD is really good!\p" + .string "Wouldn’t you agree?$" + +Route118_Text_1F42AF: @ 81F42AF + .string "Hmm!\n" + .string "We’re of identical minds!\p" + .string "Hmm!\n" + .string "Take this GOOD ROD!$" + +Route118_Text_1F42E7: @ 81F42E7 + .string "Wherever there’s water, try your luck\n" + .string "at fishing.$" + +Route118_Text_1F4319: @ 81F4319 + .string "Don’t you like to fish?$" + +Route118_Text_1F4331: @ 81F4331 + .string "Try catching all sorts of POKéMON\n" + .string "with your GOOD ROD.$" + +Route118_Text_1F4367: @ 81F4367 + .string "Even if there isn’t a boat, you can\n" + .string "cross rivers and the sea if you have\l" + .string "a POKéMON that knows SURF.\p" + .string "POKéMON can be counted on to do so\n" + .string "much!$" + +Route118_Text_1F43F4: @ 81F43F4 + .string "ROUTE 118\n" + .string "{0x7B} MAUVILLE CITY$" + +Route118_Text_1F440E: @ 81F440E + .string "ROUTE 118\n" + .string "{0x79} ROUTE 119$" + diff --git a/data/scripts/maps/Route119.inc b/data/scripts/maps/Route119.inc new file mode 100644 index 0000000000..72707186b1 --- /dev/null +++ b/data/scripts/maps/Route119.inc @@ -0,0 +1,637 @@ +Route119_MapScripts:: @ 81F4424 + map_script 5, Route119_MapScript1_1F442F + map_script 3, Route119_MapScript1_1F444D + .byte 0 + +Route119_MapScript1_1F442F: @ 81F442F + checkflag FLAG_SYS_CTRL_OBJ_DELETE + call_if 1, Route119_EventScript_1F4439 + end + +Route119_EventScript_1F4439:: @ 81F4439 + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 7 + goto_if 5, Route119_EventScript_27374E + removeobject VAR_LAST_TALKED + return + +Route119_MapScript1_1F444D: @ 81F444D + call Route119_EventScript_271ED7 + call Route119_EventScript_271EFB + compare VAR_0x40B3, 1 + call_if 1, Route119_EventScript_1F4466 + special SetRoute119Weather + end + +Route119_EventScript_1F4466:: @ 81F4466 + setflag FLAG_0x37D + clearflag FLAG_0x37C + setvar VAR_0x40B3, 2 + return + +Route119_EventScript_1F4472:: @ 81F4472 + setvar VAR_0x4001, 1 + goto Route119_EventScript_1F4488 + end + +Route119_EventScript_1F447D:: @ 81F447D + setvar VAR_0x4001, 2 + goto Route119_EventScript_1F4488 + end + +Route119_EventScript_1F4488:: @ 81F4488 + lockall + addobject 25 + checkplayergender + compare VAR_RESULT, 0 + call_if 1, Route119_EventScript_1F4501 + compare VAR_RESULT, 1 + call_if 1, Route119_EventScript_1F4506 + delay 65 + compare VAR_0x4001, 1 + call_if 1, Route119_EventScript_1F46C6 + compare VAR_0x4001, 2 + call_if 1, Route119_EventScript_1F46D1 + applymovement 255, Route119_Movement_2725AA + waitmovement 0 + delay 30 + compare VAR_0x4001, 1 + call_if 1, Route119_EventScript_1F4700 + compare VAR_0x4001, 2 + call_if 1, Route119_EventScript_1F470F + removeobject 25 + addobject 16 + delay 30 + checkplayergender + compare VAR_RESULT, 0 + goto_eq Route119_EventScript_1F450B + compare VAR_RESULT, 1 + goto_eq Route119_EventScript_1F4585 + releaseall + end + +Route119_EventScript_1F4501:: @ 81F4501 + playbgm MUS_GIRL_SUP, 1 + return + +Route119_EventScript_1F4506:: @ 81F4506 + playbgm MUS_BOY_SUP, 1 + return + +Route119_EventScript_1F450B:: @ 81F450B + msgbox Route119_Text_1F49FD, 4 + switch VAR_FIRST_POKE + case 0, Route119_EventScript_1F453A + case 1, Route119_EventScript_1F454A + case 2, Route119_EventScript_1F455A + end + +Route119_EventScript_1F453A:: @ 81F453A + trainerbattle 3, TRAINER_MAY_6, 0, Route119_Text_1F4A98 + goto Route119_EventScript_1F456A + end + +Route119_EventScript_1F454A:: @ 81F454A + trainerbattle 3, TRAINER_MAY_9, 0, Route119_Text_1F4A98 + goto Route119_EventScript_1F456A + end + +Route119_EventScript_1F455A:: @ 81F455A + trainerbattle 3, TRAINER_MAY_3, 0, Route119_Text_1F4A98 + goto Route119_EventScript_1F456A + end + +Route119_EventScript_1F456A:: @ 81F456A + msgbox Route119_Text_1F4AF3, 4 + call Route119_EventScript_1F45FF + msgbox Route119_Text_1F4B56, 4 + goto Route119_EventScript_1F460F + end + +Route119_EventScript_1F4585:: @ 81F4585 + msgbox Route119_Text_1F4C9A, 4 + switch VAR_FIRST_POKE + case 0, Route119_EventScript_1F45B4 + case 1, Route119_EventScript_1F45C4 + case 2, Route119_EventScript_1F45D4 + end + +Route119_EventScript_1F45B4:: @ 81F45B4 + trainerbattle 3, TRAINER_BRENDAN_6, 0, Route119_Text_1F4D24 + goto Route119_EventScript_1F45E4 + end + +Route119_EventScript_1F45C4:: @ 81F45C4 + trainerbattle 3, TRAINER_BRENDAN_9, 0, Route119_Text_1F4D24 + goto Route119_EventScript_1F45E4 + end + +Route119_EventScript_1F45D4:: @ 81F45D4 + trainerbattle 3, TRAINER_BRENDAN_3, 0, Route119_Text_1F4D24 + goto Route119_EventScript_1F45E4 + end + +Route119_EventScript_1F45E4:: @ 81F45E4 + msgbox Route119_Text_1F4D4B, 4 + call Route119_EventScript_1F45FF + msgbox Route119_Text_1F4DB5, 4 + goto Route119_EventScript_1F460F + end + +Route119_EventScript_1F45FF:: @ 81F45FF + giveitem_std ITEM_HM02 + setflag FLAG_0x06E + return + +Route119_EventScript_1F460F:: @ 81F460F + closemessage + compare VAR_0x4001, 1 + call_if 1, Route119_EventScript_1F4700 + compare VAR_0x4001, 2 + call_if 1, Route119_EventScript_1F470F + removeobject 16 + addobject 25 + delay 30 + compare VAR_0x4001, 1 + call_if 1, Route119_EventScript_1F46DC + compare VAR_0x4001, 2 + call_if 1, Route119_EventScript_1F46EE + removeobject 25 + setvar VAR_0x4072, 1 + savebgm MUS_DUMMY + fadedefaultbgm + delay 60 + compare VAR_0x4001, 1 + call_if 1, Route119_EventScript_1F46A0 + compare VAR_0x4001, 2 + call_if 1, Route119_EventScript_1F46A8 + addobject 43 + applymovement 43, Route119_Movement_1F4752 + waitmovement 0 + addvar VAR_0x40D1, 1 + msgbox Route119_Text_1F4E60, 4 + closemessage + compare VAR_0x4001, 1 + call_if 1, Route119_EventScript_1F46B0 + compare VAR_0x4001, 2 + call_if 1, Route119_EventScript_1F46BB + removeobject 43 + releaseall + end + +Route119_EventScript_1F46A0:: @ 81F46A0 + setobjectxyperm 43, 27, 25 + return + +Route119_EventScript_1F46A8:: @ 81F46A8 + setobjectxyperm 43, 28, 25 + return + +Route119_EventScript_1F46B0:: @ 81F46B0 + applymovement 43, Route119_Movement_1F475A + waitmovement 0 + return + +Route119_EventScript_1F46BB:: @ 81F46BB + applymovement 43, Route119_Movement_1F4763 + waitmovement 0 + return + +Route119_EventScript_1F46C6:: @ 81F46C6 + applymovement 25, Route119_Movement_1F4728 + waitmovement 0 + return + +Route119_EventScript_1F46D1:: @ 81F46D1 + applymovement 25, Route119_Movement_1F4732 + waitmovement 0 + return + +Route119_EventScript_1F46DC:: @ 81F46DC + applymovement 255, Route119_Movement_1F471E + applymovement 25, Route119_Movement_1F473D + waitmovement 0 + return + +Route119_EventScript_1F46EE:: @ 81F46EE + applymovement 255, Route119_Movement_1F4723 + applymovement 25, Route119_Movement_1F4747 + waitmovement 0 + return + +Route119_EventScript_1F4700:: @ 81F4700 + setobjectxyperm 16, 25, 32 + setobjectxyperm 25, 25, 32 + return + +Route119_EventScript_1F470F:: @ 81F470F + setobjectxyperm 16, 26, 32 + setobjectxyperm 25, 26, 32 + return + +Route119_Movement_1F471E: @ 81F471E + step_14 + step_28 + step_13 + step_26 + step_end + +Route119_Movement_1F4723: @ 81F4723 + step_14 + step_27 + step_13 + step_26 + step_end + +Route119_Movement_1F4728: @ 81F4728 + step_18 + step_18 + step_18 + step_18 + step_18 + step_18 + step_18 + step_18 + step_16 + step_end + +Route119_Movement_1F4732: @ 81F4732 + step_18 + step_18 + step_18 + step_18 + step_18 + step_18 + step_18 + step_18 + step_18 + step_16 + step_end + +Route119_Movement_1F473D: @ 81F473D + step_18 + step_16 + step_16 + step_16 + step_18 + step_16 + step_16 + step_16 + step_16 + step_end + +Route119_Movement_1F4747: @ 81F4747 + step_17 + step_16 + step_16 + step_16 + step_18 + step_18 + step_16 + step_16 + step_16 + step_16 + step_end + +Route119_Movement_1F4752: @ 81F4752 + step_down + step_down + step_down + step_down + step_left + step_left + step_down + step_end + +Route119_Movement_1F475A: @ 81F475A + step_up + step_right + step_right + step_up + step_up + step_up + step_up + step_up + step_end + +Route119_Movement_1F4763: @ 81F4763 + step_up + step_right + step_up + step_up + step_up + step_up + step_up + step_end + +Route119_EventScript_1F476B:: @ 81F476B + msgbox Route119_Text_1F5261, 2 + end + +Route119_EventScript_1F4774:: @ 81F4774 + msgbox Route119_Text_1F530E, 3 + end + +Route119_EventScript_1F477D:: @ 81F477D + msgbox Route119_Text_1F5327, 3 + end + +Route119_EventScript_1F4786:: @ 81F4786 + trainerbattle 0, TRAINER_BRENT, 0, Route119_Text_29D8C2, Route119_Text_29D8F0 + msgbox Route119_Text_29D902, 6 + end + +Route119_EventScript_1F479D:: @ 81F479D + trainerbattle 0, TRAINER_DONALD, 0, Route119_Text_29D941, Route119_Text_29D97C + msgbox Route119_Text_29D993, 6 + end + +Route119_EventScript_1F47B4:: @ 81F47B4 + trainerbattle 0, TRAINER_TAYLOR, 0, Route119_Text_29D9CD, Route119_Text_29DA14 + msgbox Route119_Text_29DA2C, 6 + end + +Route119_EventScript_1F47CB:: @ 81F47CB + trainerbattle 0, TRAINER_DOUG, 0, Route119_Text_29DA7D, Route119_Text_29DABC + msgbox Route119_Text_29DADB, 6 + end + +Route119_EventScript_1F47E2:: @ 81F47E2 + trainerbattle 0, TRAINER_GREG, 0, Route119_Text_29DB17, Route119_Text_29DB66 + msgbox Route119_Text_29DB7C, 6 + end + +Route119_EventScript_1F47F9:: @ 81F47F9 + trainerbattle 0, TRAINER_KENT, 0, Route119_Text_29DBC2, Route119_Text_29DC20 + msgbox Route119_Text_29DC2B, 6 + end + +Route119_EventScript_1F4810:: @ 81F4810 + trainerbattle 2, TRAINER_JACKSON_1, 0, Route119_Text_29DC4C, Route119_Text_29DC9F, Route119_EventScript_1F483C + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route119_EventScript_1F485B + msgbox Route119_Text_29DCC6, 4 + release + end + +Route119_EventScript_1F483C:: @ 81F483C + special sub_80B4808 + waitmovement 0 + msgbox Route119_Text_29DD1C, 4 + setvar VAR_0x8004, 552 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 552 + callstd 8 + release + end + +Route119_EventScript_1F485B:: @ 81F485B + trainerbattle 5, TRAINER_JACKSON_1, 0, Route119_Text_29DD62, Route119_Text_29DDA5 + msgbox Route119_Text_29DDBD, 6 + end + +Route119_EventScript_1F4872:: @ 81F4872 + trainerbattle 2, TRAINER_CATHERINE_1, 0, Route119_Text_29DE0F, Route119_Text_29DE5D, Route119_EventScript_1F489E + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route119_EventScript_1F48BD + msgbox Route119_Text_29DE88, 4 + release + end + +Route119_EventScript_1F489E:: @ 81F489E + special sub_80B4808 + waitmovement 0 + msgbox Route119_Text_29DEF7, 4 + setvar VAR_0x8004, 559 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 559 + callstd 8 + release + end + +Route119_EventScript_1F48BD:: @ 81F48BD + trainerbattle 5, TRAINER_CATHERINE_1, 0, Route119_Text_29DF6B, Route119_Text_29DF92 + msgbox Route119_Text_29DFAF, 6 + end + +Route119_EventScript_1F48D4:: @ 81F48D4 + trainerbattle 0, TRAINER_HUGH, 0, Route119_Text_29E007, Route119_Text_29E063 + msgbox Route119_Text_29E071, 6 + end + +Route119_EventScript_1F48EB:: @ 81F48EB + trainerbattle 0, TRAINER_PHIL, 0, Route119_Text_29E0A5, Route119_Text_29E0E1 + msgbox Route119_Text_29E0F6, 6 + end + +Route119_EventScript_1F4902:: @ 81F4902 + trainerbattle 0, TRAINER_YASU, 0, Route119_Text_29E134, Route119_Text_29E18D + msgbox Route119_Text_29E19D, 6 + end + +Route119_EventScript_1F4919:: @ 81F4919 + trainerbattle 0, TRAINER_TAKASHI, 0, Route119_Text_29E1F5, Route119_Text_29E22B + msgbox Route119_Text_29E245, 6 + end + +Route119_EventScript_1F4930:: @ 81F4930 + trainerbattle 0, TRAINER_HIDEO, 0, Route119_Text_29E26A, Route119_Text_29E288 + msgbox Route119_Text_29E2A3, 6 + end + +Route119_EventScript_1F4947:: @ 81F4947 + trainerbattle 0, TRAINER_CHRIS, 0, Route119_Text_29E30D, Route119_Text_29E372 + msgbox Route119_Text_29E3A2, 6 + end + +Route119_EventScript_1F495E:: @ 81F495E + trainerbattle 0, TRAINER_FABIAN, 0, Route119_Text_29E3FF, Route119_Text_29E44F + msgbox Route119_Text_29E492, 6 + end + +Route119_EventScript_1F4975:: @ 81F4975 + trainerbattle 0, TRAINER_DAYTON, 0, Route119_Text_29E4DF, Route119_Text_29E513 + msgbox Route119_Text_29E532, 6 + end + +Route119_EventScript_1F498C:: @ 81F498C + trainerbattle 0, TRAINER_RACHEL, 0, Route119_Text_29E56F, Route119_Text_29E5B1 + msgbox Route119_Text_29E5CB, 6 + end + +Route119_EventScript_1F49A3:: @ 81F49A3 + lock + faceplayer + msgbox Route119_Text_1F50EB, 4 + closemessage + applymovement VAR_LAST_TALKED, Route119_Movement_2725A2 + waitmovement 0 + release + end + +Route119_EventScript_1F49BA:: @ 81F49BA + lock + faceplayer + msgbox Route119_Text_1F5147, 4 + closemessage + applymovement VAR_LAST_TALKED, Route119_Movement_2725A2 + waitmovement 0 + release + end + +Route119_EventScript_1F49D1:: @ 81F49D1 + msgbox Route119_Text_1F51A2, 2 + end + +Route119_EventScript_1F49DA:: @ 81F49DA + msgbox Route119_Text_1F52B9, 2 + end + +Route119_EventScript_1F49E3:: @ 81F49E3 + msgbox Route119_Text_1F5339, 3 + end + +Route119_EventScript_1F49EC:: @ 81F49EC + lockall + pokenavcall Route119_Text_1F4FBA + waitmessage + clearflag FLAG_0x08A + addvar VAR_0x40D1, 1 + releaseall + end + +Route119_Text_1F49FD: @ 81F49FD + .string "MAY: {PLAYER}{KUN}!\n" + .string "Where were you? I was looking for you!\p" + .string "How much stronger have you gotten?\n" + .string "Let me check for you!\p" + .string "Ready with your POKéMON?\n" + .string "Of course you are! Go!$" + +Route119_Text_1F4A98: @ 81F4A98 + .string "Achah!\n" + .string "{PLAYER}{KUN}, you’re strong!\p" + .string "I was worried that you might be\n" + .string "struggling with your training.$" + +Route119_Text_1F4AF3: @ 81F4AF3 + .string "MAY: But I had absolutely nothing to\n" + .string "worry about! Keep it up!\p" + .string "And, here! I have a present for you.$" + +Route119_Text_1F4B56: @ 81F4B56 + .string "MAY: Use FLY, and your POKéMON will\n" + .string "instantly carry you to any town you’ve\l" + .string "already visited.\p" + .string "But, to use FLY, you have to get\n" + .string "the GYM BADGE from FORTREE CITY.\l" + .string "That’s important, so don’t forget.\p" + .string "You should FLY home and visit\n" + .string "LITTLEROOT for a change.\p" + .string "I bet your mom’s worried about you,\n" + .string "{PLAYER}{KUN}.\p" + .string "Well, let’s meet again somewhere!$" + +Route119_Text_1F4C9A: @ 81F4C9A + .string "BRENDAN: {PLAYER}! So this is where\n" + .string "you’ve been looking for POKéMON?\p" + .string "Let me see how good you got.\n" + .string "I’ll test you!\p" + .string "Now!\n" + .string "It’s a battle, so battle!$" + +Route119_Text_1F4D24: @ 81F4D24 + .string "Hmm…\n" + .string "You’ve gotten pretty darn decent.$" + +Route119_Text_1F4D4B: @ 81F4D4B + .string "BRENDAN: I’d say you’re good enough\n" + .string "to search for POKéMON anywhere.\p" + .string "Here, I’ll give you this.\n" + .string "Try it out.$" + +Route119_Text_1F4DB5: @ 81F4DB5 + .string "BRENDAN: Use FLY, and your POKéMON\n" + .string "instantly carries you to any town\l" + .string "you’ve already visited.\p" + .string "But you need the FORTREE GYM BADGE \n" + .string "to do that.\p" + .string "Anyway, I have to move along.$" + +Route119_Text_1F4E60: @ 81F4E60 + .string "SCOTT: Hahahah!\n" + .string "Way to go, {PLAYER}{KUN}!\p" + .string "I just passed by a TRAINER riding\n" + .string "a BIKE.\p" + .string "You just beat that TRAINER, didn’t you?\n" + .string "It was pretty obvious that you did.\p" + .string "The kid looked really upset with\n" + .string "a face all red from anger.\p" + .string "I sure seem to run into you often.\n" + .string "Are you off to FORTREE GYM next?\p" + .string "I expect that you’ll do well at the GYM.\n" + .string "Well, I’ll be seeing you!$" + + +Route119_Text_1F4FBA: @ 81F4FBA + .string "… … … … … …\n" + .string "… … … … … Beep!\p" + .string "SCOTT: Hiya, {PLAYER}{KUN}, it’s me!\p" + .string "Just as I thought, you won at\n" + .string "the FORTREE GYM.\p" + .string "Your strength…\n" + .string "Perhaps you really are the TRAINER\l" + .string "that I’ve been searching for.\p" + .string "Remember, you have a fan in me.\n" + .string "I’ll be cheering from the sidelines.\l" + .string "Keep up the great work!\p" + .string "… … … … … …\n" + .string "… … … … … Click!$" + +Route119_Text_1F50EB: @ 81F50EB + .string "We’re standing lookout here.\p" + .string "Hey, you! Stay away from the WEATHER\n" + .string "INSTITUTE. It’s not safe.$" + +Route119_Text_1F5147: @ 81F5147 + .string "Lookout duty is surprisingly boring.\p" + .string "Hey, you! Please don’t go near the\n" + .string "WEATHER INSTITUTE.$" + +Route119_Text_1F51A2: @ 81F51A2 + .string "I thought you FLY by catching a whole\n" + .string "flock of BIRD POKéMON, and then\l" + .string "hanging on to them somehow.\p" + .string "But it turns out there’s an HM move\n" + .string "called FLY!\p" + .string "I wish I’d known about that a long\n" + .string "time ago…$" + +Route119_Text_1F5261: @ 81F5261 + .string "Tch…\n" + .string "It’s a no-go…\p" + .string "The tall grass snares BIKE tires.\n" + .string "There’s no way you can cycle here.$" + +Route119_Text_1F52B9: @ 81F52B9 + .string "Can your POKéMON use its SECRET POWER\n" + .string "on a big pile of grass and make a\l" + .string "SECRET BASE?$" + +Route119_Text_1F530E: @ 81F530E + .string "ROUTE 119\n" + .string "{0x7C} FORTREE CITY$" + +Route119_Text_1F5327: @ 81F5327 + .string "WEATHER INSTITUTE$" + +Route119_Text_1F5339: @ 81F5339 + .string "TRAINER TIPS\p" + .string "Up to sixteen decorations and\n" + .string "furniture items can be placed in\l" + .string "a SECRET BASE.\p" + .string "Pick your favorite items and create\n" + .string "your very own SECRET BASE exactly the\l" + .string "way you want.$" diff --git a/data/scripts/maps/Route119_House.inc b/data/scripts/maps/Route119_House.inc new file mode 100644 index 0000000000..5e633437dc --- /dev/null +++ b/data/scripts/maps/Route119_House.inc @@ -0,0 +1,27 @@ +Route119_House_MapScripts:: @ 8270965 + .byte 0 + +Route119_House_EventScript_270966:: @ 8270966 + msgbox Route119_House_Text_270982, 2 + end + +Route119_House_EventScript_27096F:: @ 827096F + lock + faceplayer + waitse + playmoncry SPECIES_WINGULL, 0 + msgbox Route119_House_Text_270A17, 4 + waitmoncry + release + end + +Route119_House_Text_270982: @ 8270982 + .string "I heard about a cave called the CAVE\n" + .string "OF ORIGIN.\p" + .string "People rumor that the spirits of\n" + .string "POKéMON are revived there. Could\l" + .string "something like that really happen?$" + +Route119_House_Text_270A17: @ 8270A17 + .string "WINGULL: Pihyoh!$" + diff --git a/data/scripts/maps/Route119_WeatherInstitute_1F.inc b/data/scripts/maps/Route119_WeatherInstitute_1F.inc new file mode 100644 index 0000000000..399692db32 --- /dev/null +++ b/data/scripts/maps/Route119_WeatherInstitute_1F.inc @@ -0,0 +1,139 @@ +Route119_WeatherInstitute_1F_MapScripts:: @ 826FA86 + map_script 3, Route119_WeatherInstitute_1F_MapScript1_26FA8C + .byte 0 + +Route119_WeatherInstitute_1F_MapScript1_26FA8C: @ 826FA8C + compare VAR_0x40B3, 0 + call_if 1, Route119_WeatherInstitute_1F_EventScript_26FA98 + end + +Route119_WeatherInstitute_1F_EventScript_26FA98:: @ 826FA98 + setobjectxyperm 5, 0, 5 + setobjectmovementtype 5, 10 + return + +Route119_WeatherInstitute_1F_EventScript_26FAA4:: @ 826FAA4 + lock + faceplayer + special GetPlayerBigGuyGirlString + compare VAR_0x40B3, 0 + goto_eq Route119_WeatherInstitute_1F_EventScript_26FABE + msgbox Route119_WeatherInstitute_1F_Text_26FCE5, 4 + release + end + +Route119_WeatherInstitute_1F_EventScript_26FABE:: @ 826FABE + msgbox Route119_WeatherInstitute_1F_Text_26FCB7, 4 + release + end + +Route119_WeatherInstitute_1F_EventScript_26FAC8:: @ 826FAC8 + lock + faceplayer + checkflag FLAG_SYS_GAME_CLEAR + goto_if 0, Route119_WeatherInstitute_1F_EventScript_26FB05 + setvar VAR_0x8004, 0 + checkflag FLAG_0x1BE + call_if 1, Route119_WeatherInstitute_1F_EventScript_26FAFF + checkflag FLAG_0x1BF + call_if 1, Route119_WeatherInstitute_1F_EventScript_26FAFF + compare VAR_0x8004, 2 + goto_eq Route119_WeatherInstitute_1F_EventScript_26FB05 + msgbox Route119_WeatherInstitute_1F_Text_26FDE8, 4 + release + end + +Route119_WeatherInstitute_1F_EventScript_26FAFF:: @ 826FAFF + addvar VAR_0x8004, 1 + return + +Route119_WeatherInstitute_1F_EventScript_26FB05:: @ 826FB05 + msgbox Route119_WeatherInstitute_1F_Text_26FD2E, 4 + release + end + +Route119_WeatherInstitute_1F_EventScript_26FB0F:: @ 826FB0F + msgbox Route119_WeatherInstitute_1F_Text_26FE94, 2 + end + +Route119_WeatherInstitute_1F_EventScript_26FB18:: @ 826FB18 + lockall + msgbox Route119_WeatherInstitute_1F_Text_26FEFC, 4 + closemessage + call Route119_WeatherInstitute_1F_EventScript_272083 + releaseall + end + +Route119_WeatherInstitute_1F_EventScript_26FB29:: @ 826FB29 + trainerbattle 0, TRAINER_GRUNT_11, 0, Route119_WeatherInstitute_1F_Text_26FB57, Route119_WeatherInstitute_1F_Text_26FBBB + msgbox Route119_WeatherInstitute_1F_Text_26FBD7, 6 + end + +Route119_WeatherInstitute_1F_EventScript_26FB40:: @ 826FB40 + trainerbattle 0, TRAINER_GRUNT_20, 0, Route119_WeatherInstitute_1F_Text_26FC34, Route119_WeatherInstitute_1F_Text_26FC52 + msgbox Route119_WeatherInstitute_1F_Text_26FC60, 6 + end + +Route119_WeatherInstitute_1F_Text_26FB57: @ 826FB57 + .string "The BOSS got interested in\n" + .string "the research they have going here,\l" + .string "so he sent us out.\p" + .string "You quit meddling!$" + +Route119_WeatherInstitute_1F_Text_26FBBB: @ 826FBBB + .string "Blast it…\n" + .string "Blasted by a kid…$" + +Route119_WeatherInstitute_1F_Text_26FBD7: @ 826FBD7 + .string "Our BOSS knows everything.\p" + .string "But I’m just a GRUNT. What would I know\n" + .string "about what he’s thinking?$" + +Route119_WeatherInstitute_1F_Text_26FC34: @ 826FC34 + .string "Huh?\n" + .string "What’s a kid doing here?$" + +Route119_WeatherInstitute_1F_Text_26FC52: @ 826FC52 + .string "Huh?\n" + .string "I lost?!$" + +Route119_WeatherInstitute_1F_Text_26FC60: @ 826FC60 + .string "Oh, no…\n" + .string "I’ll catch an earful for losing to a kid…\p" + .string "I should just take a nap in the bed…$" + +Route119_WeatherInstitute_1F_Text_26FCB7: @ 826FCB7 + .string "While I was sleeping, everyone went\n" + .string "upstairs!$" + +Route119_WeatherInstitute_1F_Text_26FCE5: @ 826FCE5 + .string "Wow, you’re really strong!\p" + .string "I wish I could be a POKéMON TRAINER\n" + .string "like you!$" + +Route119_WeatherInstitute_1F_Text_26FD2E: @ 826FD2E + .string "The PROFESSOR loves rain.\n" + .string "That’s a fact.\p" + .string "But if it keeps raining, people will be in\n" + .string "trouble. That’s another fact.\p" + .string "And thus, the PROFESSOR is studying\n" + .string "if the rain can be put to good use.$" + +Route119_WeatherInstitute_1F_Text_26FDE8: @ 826FDE8 + .string "On the 2nd floor of the INSTITUTE,\n" + .string "we study the weather patterns over\l" + .string "the HOENN region.\p" + .string "We’ve been noticing temporary and\n" + .string "isolated cases of droughts and\l" + .string "heavy rain lately…$" + +Route119_WeatherInstitute_1F_Text_26FE94: @ 826FE94 + .string "Hello!\n" + .string "We’ve been saved by your actions!\p" + .string "What I don’t understand is what on\n" + .string "earth the AQUAS were up to.$" + +Route119_WeatherInstitute_1F_Text_26FEFC: @ 826FEFC + .string "There’s a bed…\n" + .string "Let’s take a rest.$" + diff --git a/data/scripts/maps/Route119_WeatherInstitute_2F.inc b/data/scripts/maps/Route119_WeatherInstitute_2F.inc new file mode 100644 index 0000000000..38f79763d2 --- /dev/null +++ b/data/scripts/maps/Route119_WeatherInstitute_2F.inc @@ -0,0 +1,339 @@ +Route119_WeatherInstitute_2F_MapScripts:: @ 826FF1E + map_script 3, Route119_WeatherInstitute_2F_MapScript1_26FF24 + .byte 0 + +Route119_WeatherInstitute_2F_MapScript1_26FF24: @ 826FF24 + compare VAR_0x40B3, 0 + call_if 1, Route119_WeatherInstitute_2F_EventScript_26FF44 + compare VAR_0x40B3, 1 + call_if 1, Route119_WeatherInstitute_2F_EventScript_26FF50 + checkflag FLAG_SYS_GAME_CLEAR + call_if 1, Route119_WeatherInstitute_2F_EventScript_26FF5C + end + +Route119_WeatherInstitute_2F_EventScript_26FF44:: @ 826FF44 + setobjectxyperm 5, 1, 6 + setobjectmovementtype 5, 10 + return + +Route119_WeatherInstitute_2F_EventScript_26FF50:: @ 826FF50 + setobjectxyperm 5, 4, 6 + setobjectmovementtype 5, 10 + return + +Route119_WeatherInstitute_2F_EventScript_26FF5C:: @ 826FF5C + setobjectxyperm 5, 2, 2 + setobjectmovementtype 5, 7 + return + +Route119_WeatherInstitute_2F_EventScript_26FF68:: @ 826FF68 + trainerbattle 0, TRAINER_GRUNT_37, 0, Route119_WeatherInstitute_2F_Text_270335, Route119_WeatherInstitute_2F_Text_27039F + msgbox Route119_WeatherInstitute_2F_Text_2703C0, 6 + end + +Route119_WeatherInstitute_2F_EventScript_26FF7F:: @ 826FF7F + trainerbattle 0, TRAINER_GRUNT_12, 0, Route119_WeatherInstitute_2F_Text_27019C, Route119_WeatherInstitute_2F_Text_270208 + msgbox Route119_WeatherInstitute_2F_Text_27022B, 6 + end + +Route119_WeatherInstitute_2F_EventScript_26FF96:: @ 826FF96 + trainerbattle 0, TRAINER_GRUNT_13, 0, Route119_WeatherInstitute_2F_Text_270292, Route119_WeatherInstitute_2F_Text_2702CE + msgbox Route119_WeatherInstitute_2F_Text_2702DA, 6 + end + +Route119_WeatherInstitute_2F_EventScript_26FFAD:: @ 826FFAD + trainerbattle 2, TRAINER_SHELLY_1, 0, Route119_WeatherInstitute_2F_Text_270409, Route119_WeatherInstitute_2F_Text_2704BD, Route119_WeatherInstitute_2F_EventScript_26FFC8 + msgbox Route119_WeatherInstitute_2F_Text_2704E4, 6 + end + +Route119_WeatherInstitute_2F_EventScript_26FFC8:: @ 826FFC8 + msgbox Route119_WeatherInstitute_2F_Text_2704E4, 4 + closemessage + addobject 7 + applymovement 7, Route119_WeatherInstitute_2F_Movement_270170 + applymovement 255, Route119_WeatherInstitute_2F_Movement_27017C + waitmovement 0 + msgbox Route119_WeatherInstitute_2F_Text_270568, 4 + closemessage + playse SE_PIN + applymovement 3, Route119_WeatherInstitute_2F_Movement_272598 + waitmovement 0 + applymovement 3, Route119_WeatherInstitute_2F_Movement_27259A + waitmovement 0 + msgbox Route119_WeatherInstitute_2F_Text_2705DD, 4 + closemessage + setvar VAR_0x40B3, 1 + clearflag FLAG_0x37D + fadedefaultbgm + fadescreen 1 + setflag FLAG_0x37A + setflag FLAG_0x3E0 + removeobject 1 + removeobject 2 + removeobject 3 + removeobject 8 + removeobject 7 + applymovement 255, Route119_WeatherInstitute_2F_Movement_270184 + waitmovement 0 + fadescreen 0 + applymovement 5, Route119_WeatherInstitute_2F_Movement_270187 + waitmovement 0 + moveobjectoffscreen 5 + goto Route119_WeatherInstitute_2F_EventScript_27004D + end + +Route119_WeatherInstitute_2F_EventScript_27004D:: @ 827004D + msgbox Route119_WeatherInstitute_2F_Text_270650, 4 + setvar VAR_0x4001, 385 + givemon SPECIES_CASTFORM, 25, ITEM_MYSTIC_WATER, 0x0, 0x0, 0 + compare VAR_RESULT, 0 + goto_eq Route119_WeatherInstitute_2F_EventScript_270085 + compare VAR_RESULT, 1 + goto_eq Route119_WeatherInstitute_2F_EventScript_2700AD + goto Route119_WeatherInstitute_2F_EventScript_273811 + end + +Route119_WeatherInstitute_2F_EventScript_270085:: @ 8270085 + call Route119_WeatherInstitute_2F_EventScript_2700DB + msgbox gUnknown_08273374, 5 + compare VAR_RESULT, 0 + goto_eq Route119_WeatherInstitute_2F_EventScript_2700EA + call Route119_WeatherInstitute_2F_EventScript_27378B + call Route119_WeatherInstitute_2F_EventScript_2723DD + goto Route119_WeatherInstitute_2F_EventScript_2700EA + end + +Route119_WeatherInstitute_2F_EventScript_2700AD:: @ 82700AD + call Route119_WeatherInstitute_2F_EventScript_2700DB + msgbox gUnknown_08273374, 5 + compare VAR_RESULT, 0 + goto_eq Route119_WeatherInstitute_2F_EventScript_2700D0 + call Route119_WeatherInstitute_2F_EventScript_273797 + goto Route119_WeatherInstitute_2F_EventScript_2700D0 + end + +Route119_WeatherInstitute_2F_EventScript_2700D0:: @ 82700D0 + call Route119_WeatherInstitute_2F_EventScript_2737A0 + goto Route119_WeatherInstitute_2F_EventScript_2700EA + end + +Route119_WeatherInstitute_2F_EventScript_2700DB:: @ 82700DB + playfanfare MUS_FANFA4 + message Route119_WeatherInstitute_2F_Text_2706E8 + waitmessage + waitfanfare + bufferspeciesname 0, SPECIES_CASTFORM + return + +Route119_WeatherInstitute_2F_EventScript_2700EA:: @ 82700EA + msgbox Route119_WeatherInstitute_2F_Text_2706FE, 4 + setflag FLAG_0x097 + release + end + +Route119_WeatherInstitute_2F_EventScript_2700F7:: @ 82700F7 + checkflag FLAG_SYS_GAME_CLEAR + goto_eq Route119_WeatherInstitute_2F_EventScript_27010A + msgbox Route119_WeatherInstitute_2F_Text_27077E, 4 + release + end + +Route119_WeatherInstitute_2F_EventScript_27010A:: @ 827010A + setvar VAR_0x8004, 0 + checkflag FLAG_0x1BE + call_if 1, Route119_WeatherInstitute_2F_EventScript_270160 + checkflag FLAG_0x1BF + call_if 1, Route119_WeatherInstitute_2F_EventScript_270160 + compare VAR_0x8004, 2 + goto_eq Route119_WeatherInstitute_2F_EventScript_270166 + checkflag FLAG_0x002 + call_if 0, Route119_WeatherInstitute_2F_EventScript_270159 + specialvar VAR_RESULT, sub_813B374 + compare VAR_RESULT, 1 + goto_eq Route119_WeatherInstitute_2F_EventScript_27014F + msgbox Route119_WeatherInstitute_2F_Text_2707F1, 4 + release + end + +Route119_WeatherInstitute_2F_EventScript_27014F:: @ 827014F + msgbox Route119_WeatherInstitute_2F_Text_270873, 4 + release + end + +Route119_WeatherInstitute_2F_EventScript_270159:: @ 8270159 + special sub_813B2E4 + setflag FLAG_0x002 + return + +Route119_WeatherInstitute_2F_EventScript_270160:: @ 8270160 + addvar VAR_0x8004, 1 + return + +Route119_WeatherInstitute_2F_EventScript_270166:: @ 8270166 + msgbox Route119_WeatherInstitute_2F_Text_2708FC, 4 + release + end + +Route119_WeatherInstitute_2F_Movement_270170: @ 8270170 + step_17 + step_17 + step_17 + step_17 + step_17 + step_17 + step_17 + step_17 + step_17 + step_17 + step_17 + step_end + +Route119_WeatherInstitute_2F_Movement_27017C: @ 827017C + step_14 + step_14 + step_14 + step_14 + step_14 + step_2a + step_25 + step_end + +Route119_WeatherInstitute_2F_Movement_270184: @ 8270184 + step_31 + step_27 + step_end + +Route119_WeatherInstitute_2F_Movement_270187: @ 8270187 + step_right + step_right + step_right + step_end + +Route119_WeatherInstitute_2F_EventScript_27018B:: @ 827018B + lock + faceplayer + checkflag FLAG_0x097 + goto_eq Route119_WeatherInstitute_2F_EventScript_2700F7 + goto Route119_WeatherInstitute_2F_EventScript_27004D + end + +Route119_WeatherInstitute_2F_Text_27019C: @ 827019C + .string "The INSTITUTE created a type of\n" + .string "POKéMON that has something to do with\l" + .string "the weather. We’re here to take them!$" + +Route119_WeatherInstitute_2F_Text_270208: @ 8270208 + .string "Our plan’s being spoiled by a kid?$" + +Route119_WeatherInstitute_2F_Text_27022B: @ 827022B + .string "If the POKéMON they made here can\n" + .string "control the weather freely, then we of\l" + .string "TEAM AQUA definitely need it!$" + +Route119_WeatherInstitute_2F_Text_270292: @ 8270292 + .string "We’re TEAM AQUA!\n" + .string "We appear wherever anything rare is\l" + .string "found!$" + +Route119_WeatherInstitute_2F_Text_2702CE: @ 82702CE + .string "You got me!$" + +Route119_WeatherInstitute_2F_Text_2702DA: @ 82702DA + .string "You don’t have any idea what we of\n" + .string "TEAM AQUA are working towards!\l" + .string "You stay out of our way!$" + +Route119_WeatherInstitute_2F_Text_270335: @ 8270335 + .string "Don’t tell me you’re looking for that\n" + .string "weather POKéMON, too?\p" + .string "That’s a no-no!\n" + .string "We were here to get it first!$" + +Route119_WeatherInstitute_2F_Text_27039F: @ 827039F + .string "Oh, will you look at my POKéMON?$" + +Route119_WeatherInstitute_2F_Text_2703C0: @ 82703C0 + .string "Humph, so what?\n" + .string "What we want…\p" + .string "What we really want isn’t here…\n" + .string "Ihihihihi…$" + +Route119_WeatherInstitute_2F_Text_270409: @ 8270409 + .string "Ahahahaha!\p" + .string "You’re going to meddle in TEAM AQUA’s\n" + .string "affairs?\p" + .string "You’re either absolutely fearless,\n" + .string "simply ignorant, or both!\p" + .string "You’re so cute, you’re disgusting!\n" + .string "I’ll put you down, kiddy!$" + +Route119_WeatherInstitute_2F_Text_2704BD: @ 82704BD + .string "Ahahahaha!\n" + .string "You’re disgustingly strong!$" + +Route119_WeatherInstitute_2F_Text_2704E4: @ 82704E4 + .string "It’s bad enough to have TEAM MAGMA\n" + .string "blunder about, but now there’s you!\p" + .string "What makes you want to sniff around\n" + .string "in our business, anyway?$" + +Route119_WeatherInstitute_2F_Text_270568: @ 8270568 + .string "We have a situation here!\p" + .string "A TEAM MAGMA mob just passed\n" + .string "the WEATHER INSTITUTE.\p" + .string "They appear to be headed for\n" + .string "MT. PYRE!$" + +Route119_WeatherInstitute_2F_Text_2705DD: @ 82705DD + .string "What?!\p" + .string "We can’t waste any more time here!\n" + .string "We have to hurry to MT. PYRE, too!\p" + .string "Ahahahaha!\n" + .string "TEAM MAGMA, just you wait!$" + +Route119_WeatherInstitute_2F_Text_270650: @ 8270650 + .string "Thanks!\n" + .string "Thanks to you, we’re safe!\p" + .string "It might be an odd way of thanking you,\n" + .string "but take this POKéMON.$" + +Route119_WeatherInstitute_2F_Text_2706B2: @ 82706B2 + .string "Hm? You don’t seem to have any room\n" + .string "for this POKéMON.$" + +Route119_WeatherInstitute_2F_Text_2706E8: @ 82706E8 + .string "{PLAYER} received CASTFORM!$" + +Route119_WeatherInstitute_2F_Text_2706FE: @ 82706FE + .string "That POKéMON changes shape according\n" + .string "to the weather conditions.\p" + .string "There’re plenty of them in the\n" + .string "INSTITUTE--go ahead and take it.$" + +Route119_WeatherInstitute_2F_Text_27077E: @ 827077E + .string "I’ve been researching rain for many\n" + .string "years, but it’s ridiculous to think that\l" + .string "humans can freely change the weather.$" + +Route119_WeatherInstitute_2F_Text_2707F1: @ 82707F1 + .string "I track weather patterns over\n" + .string "the HOENN region.\p" + .string "Presently, a drought has been recorded\n" + .string "in {STR_VAR_1}.\p" + .string "Could that mean, somewhere near\n" + .string "{STR_VAR_1}…$" + +Route119_WeatherInstitute_2F_Text_270873: @ 8270873 + .string "I track weather patterns over\n" + .string "the HOENN region.\p" + .string "Presently, heavy rainfall has been\n" + .string "recorded over {STR_VAR_1}.\p" + .string "Could that mean, somewhere near\n" + .string "{STR_VAR_1}…$" + +Route119_WeatherInstitute_2F_Text_2708FC: @ 82708FC + .string "Abnormal weather conditions are\n" + .string "no longer being reported.\p" + .string "The occasional rainfall is a blessing,\n" + .string "really.$" + diff --git a/data/scripts/maps/Route120.inc b/data/scripts/maps/Route120.inc new file mode 100644 index 0000000000..f89ac7e866 --- /dev/null +++ b/data/scripts/maps/Route120.inc @@ -0,0 +1,466 @@ +Route120_MapScripts:: @ 81F53EC + map_script 5, Route120_MapScript1_1F53FC + map_script 3, Route120_MapScript1_1F54CD + map_script 1, Route120_MapScript1_1F5474 + .byte 0 + +Route120_MapScript1_1F53FC: @ 81F53FC + checkflag FLAG_SYS_CTRL_OBJ_DELETE + call_if 1, Route120_EventScript_1F5406 + end + +Route120_EventScript_1F5406:: @ 81F5406 + compare VAR_0x8009, 0 + call_if 1, Route120_EventScript_1F5449 + compare VAR_0x8009, 1 + call_if 1, Route120_EventScript_1F5460 + compare VAR_0x8009, 2 + call_if 1, Route120_EventScript_1F5460 + compare VAR_0x8009, 3 + call_if 1, Route120_EventScript_1F5460 + compare VAR_0x8009, 4 + call_if 1, Route120_EventScript_1F5460 + compare VAR_0x8009, 5 + call_if 1, Route120_EventScript_1F5460 + return + +Route120_EventScript_1F5449:: @ 81F5449 + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 7 + goto_if 5, Route120_EventScript_27374E + removeobject 30 + removeobject 36 + return + +Route120_EventScript_1F5460:: @ 81F5460 + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 7 + goto_if 5, Route120_EventScript_27374E + removeobject VAR_LAST_TALKED + return + +Route120_MapScript1_1F5474: @ 81F5474 + checkflag FLAG_0x0E4 + call_if 0, Route120_EventScript_1F5490 + checkflag FLAG_0x11D + call_if 1, Route120_EventScript_1F54A3 + checkflag FLAG_0x11D + call_if 0, Route120_EventScript_1F54C8 + end + +Route120_EventScript_1F5490:: @ 81F5490 + setmetatile 7, 54, 124, 1 + setmetatile 7, 55, 145, 1 + return + +Route120_EventScript_1F54A3:: @ 81F54A3 + setmetatile 13, 15, 663, 0 + setmetatile 12, 16, 671, 0 + setmetatile 12, 17, 161, 0 + setmetatile 13, 17, 161, 0 + return + +Route120_EventScript_1F54C8:: @ 81F54C8 + setobjectmovementtype 36, 10 + return + +Route120_MapScript1_1F54CD: @ 81F54CD + call Route120_EventScript_28CCC7 + call Route120_EventScript_1F54D8 + end + +Route120_EventScript_1F54D8:: @ 81F54D8 + getplayerxy VAR_0x4000, VAR_0x4001 + compare VAR_0x4001, 14 + goto_if 3, Route120_EventScript_1F5503 + compare VAR_0x4001, 60 + goto_if 3, Route120_EventScript_1F5507 + compare VAR_0x4001, 61 + goto_if 4, Route120_EventScript_1F54FF + return + +Route120_EventScript_1F54FF:: @ 81F54FF + setweather 1 + return + +Route120_EventScript_1F5503:: @ 81F5503 + setweather 2 + return + +Route120_EventScript_1F5507:: @ 81F5507 + compare VAR_0x4000, 7 + goto_if 3, Route120_EventScript_1F5523 + compare VAR_0x4000, 19 + goto_if 3, Route120_EventScript_1F5503 + goto Route120_EventScript_1F5523 + end + +Route120_EventScript_1F5523:: @ 81F5523 + setweather 3 + return + +Route120_EventScript_1F5527:: @ 81F5527 + lock + faceplayer + dodailyevents + checkflag FLAG_0x92E + goto_eq Route120_EventScript_1F5625 + msgbox Route120_Text_2A70C7, 5 + compare VAR_RESULT, 1 + call_if 1, Route120_EventScript_1F562F + compare VAR_RESULT, 0 + call_if 1, Route120_EventScript_1F5638 + specialvar VAR_RESULT, GetPlayerTrainerIdOnesDigit + switch VAR_RESULT + case 0, Route120_EventScript_1F55CA + case 5, Route120_EventScript_1F55CA + case 1, Route120_EventScript_1F55D5 + case 6, Route120_EventScript_1F55D5 + case 2, Route120_EventScript_1F55E0 + case 7, Route120_EventScript_1F55E0 + case 3, Route120_EventScript_1F55EB + case 8, Route120_EventScript_1F55EB + case 4, Route120_EventScript_1F55F6 + case 9, Route120_EventScript_1F55F6 + end + +Route120_EventScript_1F55CA:: @ 81F55CA + setvar VAR_0x8004, 143 + goto Route120_EventScript_1F5601 + end + +Route120_EventScript_1F55D5:: @ 81F55D5 + setvar VAR_0x8004, 144 + goto Route120_EventScript_1F5601 + end + +Route120_EventScript_1F55E0:: @ 81F55E0 + setvar VAR_0x8004, 145 + goto Route120_EventScript_1F5601 + end + +Route120_EventScript_1F55EB:: @ 81F55EB + setvar VAR_0x8004, 146 + goto Route120_EventScript_1F5601 + end + +Route120_EventScript_1F55F6:: @ 81F55F6 + setvar VAR_0x8004, 147 + goto Route120_EventScript_1F5601 + end + +Route120_EventScript_1F5601:: @ 81F5601 + giveitem_std VAR_0x8004 + compare VAR_RESULT, 0 + goto_eq Route120_EventScript_272054 + setflag FLAG_0x92E + msgbox Route120_Text_2A71D5, 4 + release + end + +Route120_EventScript_1F5625:: @ 81F5625 + msgbox Route120_Text_2A7217, 4 + release + end + +Route120_EventScript_1F562F:: @ 81F562F + msgbox Route120_Text_2A7147, 4 + return + +Route120_EventScript_1F5638:: @ 81F5638 + msgbox Route120_Text_2A7183, 4 + return + +Route120_EventScript_1F5641:: @ 81F5641 + lock + faceplayer + checkflag FLAG_0x122 + goto_eq Route120_EventScript_1F5672 + msgbox Route120_Text_1F5998, 5 + compare VAR_RESULT, 0 + goto_eq Route120_EventScript_1F5665 + goto Route120_EventScript_1F568B + end + +Route120_EventScript_1F5665:: @ 81F5665 + msgbox Route120_Text_1F5AAC, 4 + setflag FLAG_0x122 + release + end + +Route120_EventScript_1F5672:: @ 81F5672 + msgbox Route120_Text_1F5ADE, 5 + compare VAR_RESULT, 0 + goto_eq Route120_EventScript_1F5665 + goto Route120_EventScript_1F568B + end + +Route120_EventScript_1F568B:: @ 81F568B + msgbox Route120_Text_1F5B0F, 4 + closemessage + compare VAR_FACING, 2 + call_if 1, Route120_EventScript_1F57A3 + compare VAR_FACING, 3 + call_if 1, Route120_EventScript_1F57AE + applymovement 31, Route120_Movement_2725A4 + waitmovement 0 + delay 20 + msgbox Route120_Text_1F5B43, 4 + closemessage + applymovement 30, Route120_Movement_2725A8 + waitmovement 0 + applymovement 30, Route120_Movement_2723C7 + waitmovement 0 + waitse + playmoncry SPECIES_KECLEON, 2 + delay 40 + waitmoncry + setwildbattle SPECIES_KECLEON, 30, ITEM_NONE + setvar VAR_0x8009, 0 + setflag FLAG_SYS_CTRL_OBJ_DELETE + dowildbattle + clearflag FLAG_SYS_CTRL_OBJ_DELETE + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 1 + goto_eq Route120_EventScript_1F571C + compare VAR_RESULT, 4 + goto_eq Route120_EventScript_1F571C + compare VAR_RESULT, 5 + goto_eq Route120_EventScript_1F571C + goto Route120_EventScript_1F572C + end + +Route120_EventScript_1F571C:: @ 81F571C + fadescreenswapbuffers 1 + removeobject 30 + removeobject 36 + fadescreenswapbuffers 0 + goto Route120_EventScript_1F572C + end + +Route120_EventScript_1F572C:: @ 81F572C + applymovement 31, Route120_Movement_2725AA + applymovement 255, Route120_Movement_2725A6 + waitmovement 0 + msgbox Route120_Text_1F5BAF, 4 + giveitem_std ITEM_DEVON_SCOPE + setflag FLAG_0x11D + msgbox Route120_Text_1F5C7B, 4 + closemessage + applymovement 31, Route120_Movement_2725AA + waitmovement 0 + delay 50 + setfieldeffectargument 0, 1 + dofieldeffect 30 + delay 15 + removeobject 31 + waitfieldeffect 30 + setmetatile 13, 15, 663, 0 + setmetatile 12, 16, 671, 0 + setmetatile 12, 17, 161, 0 + setmetatile 13, 17, 161, 0 + special DrawWholeMapView + release + end + +Route120_EventScript_1F57A3:: @ 81F57A3 + applymovement 255, Route120_Movement_2725A4 + waitmovement 0 + return + +Route120_EventScript_1F57AE:: @ 81F57AE + applymovement 255, Route120_Movement_1F57B9 + waitmovement 0 + return + +Route120_Movement_1F57B9: @ 81F57B9 + step_down + step_left + step_end + +Route120_EventScript_1F57BC:: @ 81F57BC + msgbox Route120_Text_1F5D00, 2 + end + +Route120_EventScript_1F57C5:: @ 81F57C5 + msgbox Route120_Text_1F5DCB, 3 + end + +Route120_EventScript_1F57CE:: @ 81F57CE + msgbox Route120_Text_1F5DE4, 3 + end + +Route120_EventScript_1F57D7:: @ 81F57D7 + trainerbattle 0, TRAINER_COLIN, 0, Route120_Text_29E62D, Route120_Text_29E665 + msgbox Route120_Text_29E67A, 6 + end + +Route120_EventScript_1F57EE:: @ 81F57EE + trainerbattle 2, TRAINER_ROBERT_1, 0, Route120_Text_29E6E3, Route120_Text_29E70A, Route120_EventScript_1F581A + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route120_EventScript_1F5839 + msgbox Route120_Text_29E726, 4 + release + end + +Route120_EventScript_1F581A:: @ 81F581A + special sub_80B4808 + waitmovement 0 + msgbox Route120_Text_29E75D, 4 + setvar VAR_0x8004, 406 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 406 + callstd 8 + release + end + +Route120_EventScript_1F5839:: @ 81F5839 + trainerbattle 5, TRAINER_ROBERT_1, 0, Route120_Text_29E7AA, Route120_Text_29E7E1 + msgbox Route120_Text_29E804, 6 + end + +Route120_EventScript_1F5850:: @ 81F5850 + trainerbattle 0, TRAINER_LORENZO, 0, Route120_Text_29E843, Route120_Text_29E884 + msgbox Route120_Text_29E8C5, 6 + end + +Route120_EventScript_1F5867:: @ 81F5867 + trainerbattle 0, TRAINER_JENNA, 0, Route120_Text_29E91C, Route120_Text_29E980 + msgbox Route120_Text_29E996, 6 + end + +Route120_EventScript_1F587E:: @ 81F587E + trainerbattle 2, TRAINER_JEFFREY_1, 0, Route120_Text_29E9D7, Route120_Text_29E9FF, Route120_EventScript_1F58AA + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route120_EventScript_1F58C9 + msgbox Route120_Text_29EA08, 4 + release + end + +Route120_EventScript_1F58AA:: @ 81F58AA + special sub_80B4808 + waitmovement 0 + msgbox Route120_Text_29EA31, 4 + setvar VAR_0x8004, 226 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 226 + callstd 8 + release + end + +Route120_EventScript_1F58C9:: @ 81F58C9 + trainerbattle 5, TRAINER_JEFFREY_1, 0, Route120_Text_29EA61, Route120_Text_29EA8F + msgbox Route120_Text_29EAA9, 6 + end + +Route120_EventScript_1F58E0:: @ 81F58E0 + trainerbattle 0, TRAINER_JENNIFER, 0, Route120_Text_29EAEF, Route120_Text_29EB53 + msgbox Route120_Text_29EB6E, 6 + end + +Route120_EventScript_1F58F7:: @ 81F58F7 + trainerbattle 0, TRAINER_CHIP, 0, Route120_Text_29EBAF, Route120_Text_29EC25 + msgbox Route120_Text_29EC41, 6 + end + +Route120_EventScript_1F590E:: @ 81F590E + trainerbattle 0, TRAINER_CLARISSA, 0, Route120_Text_29ECA6, Route120_Text_29ECEF + msgbox Route120_Text_29ED19, 6 + end + +Route120_EventScript_1F5925:: @ 81F5925 + trainerbattle 0, TRAINER_ANGELICA, 0, Route120_Text_29ED71, Route120_Text_29EDD3 + msgbox Route120_Text_29EDF7, 6 + end + +Route120_EventScript_1F593C:: @ 81F593C + trainerbattle 0, TRAINER_KEIGO, 0, Route120_Text_29EE50, Route120_Text_29EE97 + msgbox Route120_Text_29EED4, 6 + end + +Route120_EventScript_1F5953:: @ 81F5953 + trainerbattle 0, TRAINER_RILEY, 0, Route120_Text_29EF08, Route120_Text_29EF63 + msgbox Route120_Text_29EF89, 6 + end + +Route120_EventScript_1F596A:: @ 81F596A + trainerbattle 0, TRAINER_LEONEL, 0, Route120_Text_29F04F, Route120_Text_29F080 + msgbox Route120_Text_29F0A1, 6 + end + +Route120_EventScript_1F5981:: @ 81F5981 + trainerbattle 0, TRAINER_CALLIE, 0, Route120_Text_29EFB1, Route120_Text_29EFE1 + msgbox Route120_Text_29F002, 6 + end + +Route120_Text_1F5998: @ 81F5998 + .string "STEVEN: Hm? {PLAYER}{KUN}, hi.\n" + .string "It’s been a while.\p" + .string "There’s something here that you can’t\n" + .string "see, right?\p" + .string "Now, if I were to use this device on\n" + .string "the invisible obstacle…\p" + .string "No, no. Rather than describing it,\n" + .string "I should just show you.\l" + .string "That would be more fun.\p" + .string "{PLAYER}{KUN}, are your POKéMON ready for\n" + .string "battle?$" + +Route120_Text_1F5AAC: @ 81F5AAC + .string "STEVEN: No?\p" + .string "I’ll wait here, so you can get ready.$" + +Route120_Text_1F5ADE: @ 81F5ADE + .string "STEVEN: {PLAYER}{KUN}, are your POKéMON\n" + .string "ready for battle?$" + +Route120_Text_1F5B0F: @ 81F5B0F + .string "STEVEN: {PLAYER}{KUN}, show me your true\n" + .string "power as a TRAINER!$" + +Route120_Text_1F5B43: @ 81F5B43 + .string "STEVEN used the DEVON SCOPE.\p" + .string "An invisible POKéMON became completely\n" + .string "visible!\p" + .string "The startled POKéMON attacked!$" + +Route120_Text_1F5BAF: @ 81F5BAF + .string "STEVEN: I see…\n" + .string "Your battle style is intriguing.\p" + .string "Your POKéMON have obviously grown\n" + .string "since I first met you in DEWFORD.\p" + .string "I’d like you to have this\n" + .string "DEVON SCOPE.\p" + .string "Who knows, there may be other\n" + .string "concealed POKéMON.$" + +Route120_Text_1F5C7B: @ 81F5C7B + .string "STEVEN: {PLAYER}{KUN}.\p" + .string "I enjoy seeing POKéMON and TRAINERS\n" + .string "who strive together.\p" + .string "I think you’re doing great.\p" + .string "Well, let’s meet again somewhere.$" + +Route119_Text_1F5D00: @ 81F5D00 +Route120_Text_1F5D00: @ 81F5D00 + .string "Something unseeable is in the way.$" + +Route119_Text_1F5D23: @ 81F5D23 + .string "Something unseeable is in the way.\p" + .string "Want to use the DEVON SCOPE?$" + +Route119_Text_1F5D63: @ 81F5D63 + .string "{PLAYER} used the DEVON SCOPE.\p" + .string "An invisible POKéMON became completely\n" + .string "visible!\p" + .string "The startled POKéMON attacked!$" + +Route120_Text_1F5DCB: @ 81F5DCB + .string "ROUTE 120\n" + .string "{0x7B} FORTREE CITY$" + +Route120_Text_1F5DE4: @ 81F5DE4 + .string "{0x7C} ROUTE 121\n" + .string "{0x7B} ROUTE 120$" diff --git a/data/scripts/maps/Route121.inc b/data/scripts/maps/Route121.inc new file mode 100644 index 0000000000..c813fe6ace --- /dev/null +++ b/data/scripts/maps/Route121.inc @@ -0,0 +1,200 @@ +Route121_MapScripts:: @ 81F5DFC + .byte 0 + +Route121_EventScript_1F5DFD:: @ 81F5DFD + msgbox Route121_Text_1F607F, 2 + end + +Route121_EventScript_1F5E06:: @ 81F5E06 + msgbox Route121_Text_1F60D3, 3 + end + +Route121_EventScript_1F5E0F:: @ 81F5E0F + msgbox Route121_Text_1F611E, 3 + end + +Route121_EventScript_1F5E18:: @ 81F5E18 + lockall + playbgm MUS_AQA_0, 0 + applymovement 13, Route121_Movement_2725B8 + waitmovement 0 + msgbox Route121_Text_1F605A, 4 + closemessage + applymovement 12, Route121_Movement_1F5E59 + applymovement 13, Route121_Movement_1F5E62 + applymovement 14, Route121_Movement_1F5E6B + waitmovement 0 + fadedefaultbgm + removeobject 12 + removeobject 13 + removeobject 14 + setvar VAR_0x4074, 1 + releaseall + end + +Route121_Movement_1F5E59: @ 81F5E59 + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_end + +Route121_Movement_1F5E62: @ 81F5E62 + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_end + +Route121_Movement_1F5E6B: @ 81F5E6B + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_end + +Route121_EventScript_1F5E74:: @ 81F5E74 + trainerbattle 0, TRAINER_VANESSA, 0, Route121_Text_29F0EC, Route121_Text_29F11F + msgbox Route121_Text_29F138, 6 + end + +Route121_EventScript_1F5E8B:: @ 81F5E8B + trainerbattle 2, TRAINER_WALTER_1, 0, Route121_Text_29F199, Route121_Text_29F20D, Route121_EventScript_1F5EB7 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route121_EventScript_1F5ED6 + msgbox Route121_Text_29F21E, 4 + release + end + +Route121_EventScript_1F5EB7:: @ 81F5EB7 + special sub_80B4808 + waitmovement 0 + msgbox Route121_Text_29F25B, 4 + setvar VAR_0x8004, 254 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 254 + callstd 8 + release + end + +Route121_EventScript_1F5ED6:: @ 81F5ED6 + trainerbattle 5, TRAINER_WALTER_1, 0, Route121_Text_29F2A6, Route121_Text_29F31A + msgbox Route121_Text_29F32B, 6 + end + +Route121_EventScript_1F5EED:: @ 81F5EED + trainerbattle 0, TRAINER_TAMMY, 0, Route121_Text_29F381, Route121_Text_29F3B9 + msgbox Route121_Text_29F3C6, 6 + end + +Route121_EventScript_1F5F04:: @ 81F5F04 + trainerbattle 4, TRAINER_KATE_AND_JOY, 0, Route121_Text_29F3FB, Route121_Text_29F43F, Route121_Text_29F4C9 + msgbox Route121_Text_29F476, 6 + end + +Route121_EventScript_1F5F1F:: @ 81F5F1F + trainerbattle 4, TRAINER_KATE_AND_JOY, 0, Route121_Text_29F521, Route121_Text_29F564, Route121_Text_29F5CE + msgbox Route121_Text_29F582, 6 + end + +Route121_EventScript_1F5F3A:: @ 81F5F3A + trainerbattle 2, TRAINER_JESSICA_1, 0, Route121_Text_29F612, Route121_Text_29F641, Route121_EventScript_1F5F66 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route121_EventScript_1F5F85 + msgbox Route121_Text_29F66F, 4 + release + end + +Route121_EventScript_1F5F66:: @ 81F5F66 + special sub_80B4808 + waitmovement 0 + msgbox Route121_Text_29F69F, 4 + setvar VAR_0x8004, 127 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 127 + callstd 8 + release + end + +Route121_EventScript_1F5F85:: @ 81F5F85 + trainerbattle 5, TRAINER_JESSICA_1, 0, Route121_Text_29F6E4, Route121_Text_29F710 + msgbox Route121_Text_29F740, 6 + end + +Route121_EventScript_1F5F9C:: @ 81F5F9C + trainerbattle 0, TRAINER_CALE, 0, Route121_Text_29F91A, Route121_Text_29F97B + msgbox Route121_Text_29F9AE, 6 + end + +Route121_EventScript_1F5FB3:: @ 81F5FB3 + trainerbattle 0, TRAINER_MYLES, 0, Route121_Text_29FA1E, Route121_Text_29FA64 + msgbox Route121_Text_29FA73, 6 + end + +Route121_EventScript_1F5FCA:: @ 81F5FCA + trainerbattle 0, TRAINER_PAT, 0, Route121_Text_29FAA7, Route121_Text_29FAD8 + msgbox Route121_Text_29FAEA, 6 + end + +Route121_EventScript_1F5FE1:: @ 81F5FE1 + trainerbattle 0, TRAINER_MARCEL, 0, Route121_Text_29FB35, Route121_Text_29FB8C + msgbox Route121_Text_29FBA8, 6 + end + +Route121_EventScript_1F5FF8:: @ 81F5FF8 + trainerbattle 2, TRAINER_CRISTIN_1, 0, Route121_Text_29F770, Route121_Text_29F7C1, Route121_EventScript_1F6024 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route121_EventScript_1F6043 + msgbox Route121_Text_29F7D4, 4 + release + end + +Route121_EventScript_1F6024:: @ 81F6024 + special sub_80B4808 + waitmovement 0 + msgbox Route121_Text_29F80D, 4 + setvar VAR_0x8004, 767 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 767 + callstd 8 + release + end + +Route121_EventScript_1F6043:: @ 81F6043 + trainerbattle 5, TRAINER_CRISTIN_1, 0, Route121_Text_29F855, Route121_Text_29F8A8 + msgbox Route121_Text_29F8D0, 6 + end + +Route121_Text_1F605A: @ 81F605A + .string "Okay!\n" + .string "We’re to move out to MT. PYRE!$" + +Route121_Text_1F607F: @ 81F607F + .string "Ahead looms MT. PYRE…\p" + .string "It is a natural monument to the spirits \n" + .string "of departed POKéMON…$" + +Route121_Text_1F60D3: @ 81F60D3 + .string "MT. PYRE PIER\p" + .string "…The sign is old and worn out.\n" + .string "The words are barely legible…$" + +Route121_Text_1F611E: @ 81F611E + .string "“Filled with rare POKéMON!”\n" + .string "SAFARI ZONE$" + diff --git a/data/scripts/maps/Route121_SafariZoneEntrance.inc b/data/scripts/maps/Route121_SafariZoneEntrance.inc new file mode 100644 index 0000000000..1369b57217 --- /dev/null +++ b/data/scripts/maps/Route121_SafariZoneEntrance.inc @@ -0,0 +1,142 @@ +Route121_SafariZoneEntrance_MapScripts:: @ 822BBBB + map_script 2, Route121_SafariZoneEntrance_MapScript2_22BBC1 + .byte 0 + +Route121_SafariZoneEntrance_MapScript2_22BBC1: @ 822BBC1 + map_script_2 VAR_0x40A4, 1, Route121_SafariZoneEntrance_EventScript_22BBCB + .2byte 0 + +Route121_SafariZoneEntrance_EventScript_22BBCB:: @ 822BBCB + lockall + applymovement 255, Route121_SafariZoneEntrance_Movement_22BBDD + waitmovement 0 + setvar VAR_0x40A4, 0 + releaseall + end + +Route121_SafariZoneEntrance_Movement_22BBDD: @ 822BBDD + step_up + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_end + +Route121_SafariZoneEntrance_EventScript_22BBE6:: @ 822BBE6 + msgbox Route121_SafariZoneEntrance_Text_2A4D12, 2 + end + +Route121_SafariZoneEntrance_EventScript_22BBEF:: @ 822BBEF + lock + faceplayer + msgbox Route121_SafariZoneEntrance_Text_2A4E46, 5 + compare VAR_RESULT, 1 + goto_eq Route121_SafariZoneEntrance_EventScript_22BC0E + msgbox Route121_SafariZoneEntrance_Text_2A4E7E, 4 + release + end + +Route121_SafariZoneEntrance_EventScript_22BC0E:: @ 822BC0E + msgbox Route121_SafariZoneEntrance_Text_2A4EA1, 4 + release + end + +Route121_SafariZoneEntrance_EventScript_22BC18:: @ 822BC18 + lockall + applymovement 255, Route121_SafariZoneEntrance_Movement_2725A6 + waitmovement 0 + showmoneybox 0, 0, 0 + msgbox Route121_SafariZoneEntrance_Text_2A4F74, 5 + compare VAR_RESULT, 1 + goto_eq Route121_SafariZoneEntrance_EventScript_22BC48 + msgbox Route121_SafariZoneEntrance_Text_2A4FD7, 4 + goto Route121_SafariZoneEntrance_EventScript_22BD06 + end + +Route121_SafariZoneEntrance_EventScript_22BC48:: @ 822BC48 + checkitem ITEM_POKEBLOCK_CASE, 1 + compare VAR_RESULT, 0 + goto_eq Route121_SafariZoneEntrance_EventScript_22BCEA + call Route121_SafariZoneEntrance_EventScript_22BCBF + checkmoney 0x1f4, 0 + compare VAR_RESULT, 0 + goto_eq Route121_SafariZoneEntrance_EventScript_22BCF8 + playse SE_REGI + msgbox Route121_SafariZoneEntrance_Text_2A501B, 4 + takemoney 0x1f4, 0 + updatemoneybox 0, 0 + nop + msgbox Route121_SafariZoneEntrance_Text_2A5036, 4 + playfanfare MUS_FANFA4 + message Route121_SafariZoneEntrance_Text_2A5052 + waitfanfare + msgbox Route121_SafariZoneEntrance_Text_2A506F, 4 + closemessage + hidemoneybox + nop + nop + applymovement 255, Route121_SafariZoneEntrance_Movement_22BD18 + waitmovement 0 + special EnterSafariMode + setvar VAR_0x40A4, 2 + clearflag FLAG_0x05D + warp SAFARI_ZONE_SOUTH, 255, 32, 33 + waitstate + end + +Route121_SafariZoneEntrance_EventScript_22BCBF:: @ 822BCBF + getpartysize + compare VAR_RESULT, 6 + goto_if 5, Route121_SafariZoneEntrance_EventScript_22BCE9 + specialvar VAR_RESULT, ScriptCheckFreePokemonStorageSpace + compare VAR_RESULT, 1 + goto_eq Route121_SafariZoneEntrance_EventScript_22BCE9 + msgbox Route121_SafariZoneEntrance_Text_2A50E5, 4 + goto Route121_SafariZoneEntrance_EventScript_22BD06 + end + +Route121_SafariZoneEntrance_EventScript_22BCE9:: @ 822BCE9 + return + +Route121_SafariZoneEntrance_EventScript_22BCEA:: @ 822BCEA + msgbox Route121_SafariZoneEntrance_Text_2A5105, 4 + goto Route121_SafariZoneEntrance_EventScript_22BD06 + end + +Route121_SafariZoneEntrance_EventScript_22BCF8:: @ 822BCF8 + msgbox Route121_SafariZoneEntrance_Text_2A4FF7, 4 + goto Route121_SafariZoneEntrance_EventScript_22BD06 + end + +Route121_SafariZoneEntrance_EventScript_22BD06:: @ 822BD06 + closemessage + hidemoneybox + nop + nop + applymovement 255, Route121_SafariZoneEntrance_Movement_22BD16 + waitmovement 0 + releaseall + end + +Route121_SafariZoneEntrance_Movement_22BD16: @ 822BD16 + step_right + step_end + +Route121_SafariZoneEntrance_Movement_22BD18: @ 822BD18 + step_left + step_left + step_left + step_left + step_left + step_left + step_down + step_14 + step_end + +Route121_SafariZoneEntrance_EventScript_22BD21:: @ 822BD21 + msgbox Route121_SafariZoneEntrance_Text_2A55BB, 3 + end + diff --git a/data/scripts/maps/Route122.inc b/data/scripts/maps/Route122.inc new file mode 100644 index 0000000000..8fcfb4c09d --- /dev/null +++ b/data/scripts/maps/Route122.inc @@ -0,0 +1,3 @@ +Route122_MapScripts:: @ 81F6146 + .byte 0 + diff --git a/data/scripts/maps/Route123.inc b/data/scripts/maps/Route123.inc new file mode 100644 index 0000000000..f6d535e382 --- /dev/null +++ b/data/scripts/maps/Route123.inc @@ -0,0 +1,213 @@ +Route123_MapScripts:: @ 81F6147 + map_script 3, Route123_MapScript1_1F614D + .byte 0 + +Route123_MapScript1_1F614D: @ 81F614D + special SetRoute123Weather + end + +Route123_EventScript_1F6151:: @ 81F6151 + lock + faceplayer + checkflag FLAG_0x0E8 + goto_eq Route123_EventScript_1F61A0 + msgbox Route123_Text_1F641E, 4 + special IsGrassTypeInParty + compare VAR_RESULT, 0 + goto_eq Route123_EventScript_1F619E + msgbox Route123_Text_1F645D, 4 + giveitem_std ITEM_TM19 + compare VAR_RESULT, 0 + goto_eq Route123_EventScript_272054 + setflag FLAG_0x0E8 + msgbox Route123_Text_1F64CF, 4 + release + end + +Route123_EventScript_1F619E:: @ 81F619E + release + end + +Route123_EventScript_1F61A0:: @ 81F61A0 + msgbox Route123_Text_1F64CF, 4 + release + end + +Route123_EventScript_1F61AA:: @ 81F61AA + msgbox Route123_Text_1F6511, 3 + end + +Route123_EventScript_1F61B3:: @ 81F61B3 + msgbox Route123_Text_1F6529, 3 + end + +Route123_EventScript_1F61BC:: @ 81F61BC + msgbox Route123_Text_1F6557, 3 + end + +Route123_EventScript_1F61C5:: @ 81F61C5 + trainerbattle 0, TRAINER_WENDY, 0, Route123_Text_29FBEB, Route123_Text_29FC23 + msgbox Route123_Text_29FC42, 6 + end + +Route123_EventScript_1F61DC:: @ 81F61DC + trainerbattle 0, TRAINER_BRAXTON, 0, Route123_Text_29FC6F, Route123_Text_29FCD6 + msgbox Route123_Text_29FCF4, 6 + end + +Route123_EventScript_1F61F3:: @ 81F61F3 + trainerbattle 0, TRAINER_VIOLET, 0, Route123_Text_29FD1D, Route123_Text_29FD53 + msgbox Route123_Text_29FD7B, 6 + end + +Route123_EventScript_1F620A:: @ 81F620A + trainerbattle 2, TRAINER_CAMERON_1, 0, Route123_Text_29FDBA, Route123_Text_29FE1E, Route123_EventScript_1F6236 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route123_EventScript_1F6255 + msgbox Route123_Text_29FE2A, 4 + release + end + +Route123_EventScript_1F6236:: @ 81F6236 + special sub_80B4808 + waitmovement 0 + msgbox Route123_Text_29FE70, 4 + setvar VAR_0x8004, 238 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 238 + callstd 8 + release + end + +Route123_EventScript_1F6255:: @ 81F6255 + trainerbattle 5, TRAINER_CAMERON_1, 0, Route123_Text_29FED4, Route123_Text_29FF1B + msgbox Route123_Text_29FF27, 6 + end + +Route123_EventScript_1F626C:: @ 81F626C + trainerbattle 2, TRAINER_JACKI_1, 0, Route123_Text_29FF61, Route123_Text_29FFD8, Route123_EventScript_1F6298 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route123_EventScript_1F62B7 + msgbox Route123_Text_29FFE5, 4 + release + end + +Route123_EventScript_1F6298:: @ 81F6298 + special sub_80B4808 + waitmovement 0 + msgbox Route123_Text_2A0027, 4 + setvar VAR_0x8004, 249 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 249 + callstd 8 + release + end + +Route123_EventScript_1F62B7:: @ 81F62B7 + trainerbattle 5, TRAINER_JACKI_1, 0, Route123_Text_2A005E, Route123_Text_2A008D + msgbox Route123_Text_2A0099, 6 + end + +Route123_EventScript_1F62CE:: @ 81F62CE + trainerbattle 4, TRAINER_MIU_AND_YUKI, 0, Route123_Text_2A00D6, Route123_Text_2A0119, Route123_Text_2A016D + msgbox Route123_Text_2A012E, 6 + end + +Route123_EventScript_1F62E9:: @ 81F62E9 + trainerbattle 4, TRAINER_MIU_AND_YUKI, 0, Route123_Text_2A01A7, Route123_Text_2A01D8, Route123_Text_2A0224 + msgbox Route123_Text_2A01EE, 6 + end + +Route123_EventScript_1F6304:: @ 81F6304 + trainerbattle 0, TRAINER_KINDRA, 0, Route123_Text_2A025F, Route123_Text_2A02A6 + msgbox Route123_Text_2A02C1, 6 + end + +Route123_EventScript_1F631B:: @ 81F631B + trainerbattle 0, TRAINER_FREDRICK, 0, Route123_Text_2A060A, Route123_Text_2A0631 + msgbox Route123_Text_2A0672, 6 + end + +Route123_EventScript_1F6332:: @ 81F6332 + trainerbattle 0, TRAINER_ALBERTO, 0, Route123_Text_2A06AF, Route123_Text_2A0704 + msgbox Route123_Text_2A072B, 6 + end + +Route123_EventScript_1F6349:: @ 81F6349 + trainerbattle 0, TRAINER_ED, 0, Route123_Text_2A079B, Route123_Text_2A07F0 + msgbox Route123_Text_2A080D, 6 + end + +Route123_EventScript_1F6360:: @ 81F6360 + trainerbattle 0, TRAINER_KAYLEY, 0, Route123_Text_2A0902, Route123_Text_2A0943 + msgbox Route123_Text_2A096E, 6 + end + +Route123_EventScript_1F6377:: @ 81F6377 + trainerbattle 0, TRAINER_JONAS, 0, Route123_Text_2A0854, Route123_Text_2A088A + msgbox Route123_Text_2A08CA, 6 + end + +Route123_EventScript_1F638E:: @ 81F638E + trainerbattle 0, TRAINER_JAZMYN, 0, Route123_Text_2A054E, Route123_Text_2A0592 + msgbox Route123_Text_2A05AC, 6 + end + +Route123_EventScript_1F63A5:: @ 81F63A5 + trainerbattle 0, TRAINER_DAVIS, 0, Route123_Text_2A04C0, Route123_Text_2A04FE + msgbox Route123_Text_2A0512, 6 + end + +Route123_EventScript_1F63BC:: @ 81F63BC + trainerbattle 2, TRAINER_FERNANDO_1, 0, Route123_Text_2A0323, Route123_Text_2A035C, Route123_EventScript_1F63E8 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route123_EventScript_1F6407 + msgbox Route123_Text_2A0389, 4 + release + end + +Route123_EventScript_1F63E8:: @ 81F63E8 + special sub_80B4808 + waitmovement 0 + msgbox Route123_Text_2A03C1, 4 + setvar VAR_0x8004, 195 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 195 + callstd 8 + release + end + +Route123_EventScript_1F6407:: @ 81F6407 + trainerbattle 5, TRAINER_FERNANDO_1, 0, Route123_Text_2A03FB, Route123_Text_2A045A + msgbox Route123_Text_2A0487, 6 + end + +Route123_Text_1F641E: @ 81F641E + .string "I love GRASS-type POKéMON!\p" + .string "Do you have any GRASS-type POKéMON?$" + +Route123_Text_1F645D: @ 81F645D + .string "Oh?\p" + .string "You like GRASS-type POKéMON, too,\n" + .string "don’t you?\p" + .string "I’m so happy, you can have this!\n" + .string "It’s a token of our friendship.$" + +Route123_Text_1F64CF: @ 81F64CF + .string "I check trees with my GRASS-type\n" + .string "POKéMON. I’m like a tree doctor.$" + +Route123_Text_1F6511: @ 81F6511 + .string "{0x7C} ROUTE 123\n" + .string "{0x7B} ROUTE 118$" + +Route123_Text_1F6529: @ 81F6529 + .string "{0x79} MT. PYRE\n" + .string "“Forbidden to the faint of heart.”$" + +Route123_Text_1F6557: @ 81F6557 + .string "BERRY MASTER’S HOUSE$" + diff --git a/data/scripts/maps/Route123_BerryMastersHouse.inc b/data/scripts/maps/Route123_BerryMastersHouse.inc new file mode 100644 index 0000000000..9e865ad6a4 --- /dev/null +++ b/data/scripts/maps/Route123_BerryMastersHouse.inc @@ -0,0 +1,153 @@ +Route123_BerryMastersHouse_MapScripts:: @ 826F83B + map_script 3, Route123_BerryMastersHouse_MapScript1_26F841 + .byte 0 + +Route123_BerryMastersHouse_MapScript1_26F841: @ 826F841 + setflag FLAG_LANDMARK_BERRY_MASTERS_HOUSE + end + +Route123_BerryMastersHouse_EventScript_26F845:: @ 826F845 + lock + faceplayer + dodailyevents + checkflag FLAG_0x92D + goto_eq Route123_BerryMastersHouse_EventScript_26F8B6 + msgbox Route123_BerryMastersHouse_Text_2A7386, 4 + random 10 + addvar VAR_RESULT, 20 + addvar VAR_RESULT, 133 + giveitem_std VAR_RESULT + compare VAR_RESULT, 0 + goto_eq Route123_BerryMastersHouse_EventScript_272054 + setflag FLAG_0x92D + msgbox Route123_BerryMastersHouse_Text_2A7428, 4 + random 10 + addvar VAR_RESULT, 20 + addvar VAR_RESULT, 133 + giveitem_std VAR_RESULT + compare VAR_RESULT, 0 + goto_eq Route123_BerryMastersHouse_EventScript_272054 + msgbox Route123_BerryMastersHouse_Text_2A7445, 4 + release + end + +Route123_BerryMastersHouse_EventScript_26F8B6:: @ 826F8B6 + msgbox Route123_BerryMastersHouse_Text_2A749E, 4 + release + end + +Route123_BerryMastersHouse_EventScript_26F8C0:: @ 826F8C0 + lock + faceplayer + dodailyevents + checkflag FLAG_0x931 + goto_eq Route123_BerryMastersHouse_EventScript_26FA6F + msgbox Route123_BerryMastersHouse_Text_2A74E6, 4 + setvar VAR_0x8004, 13 + call Route123_BerryMastersHouse_EventScript_271E7C + lock + faceplayer + compare VAR_RESULT, 1 + goto_eq Route123_BerryMastersHouse_EventScript_26F909 + compare VAR_RESULT, 0 + goto_eq Route123_BerryMastersHouse_EventScript_26F8F7 + end + +Route123_BerryMastersHouse_EventScript_26F8F7:: @ 826F8F7 + msgbox Route123_BerryMastersHouse_Text_2A7682, 4 + msgbox Route123_BerryMastersHouse_Text_2A761B, 4 + release + end + +Route123_BerryMastersHouse_EventScript_26F909:: @ 826F909 + compare VAR_0x8004, 0 + goto_eq Route123_BerryMastersHouse_EventScript_26F94C + compare VAR_0x8004, 1 + goto_eq Route123_BerryMastersHouse_EventScript_26F97A + compare VAR_0x8004, 2 + goto_eq Route123_BerryMastersHouse_EventScript_26F9AB + compare VAR_0x8004, 3 + goto_eq Route123_BerryMastersHouse_EventScript_26F9DC + compare VAR_0x8004, 4 + goto_eq Route123_BerryMastersHouse_EventScript_26FA0D + compare VAR_0x8004, 5 + goto_eq Route123_BerryMastersHouse_EventScript_26FA3E + end + +Route123_BerryMastersHouse_EventScript_26F94C:: @ 826F94C + msgbox Route123_BerryMastersHouse_Text_2A75D0, 4 + random 10 + addvar VAR_RESULT, 133 + giveitem_std VAR_RESULT + compare VAR_RESULT, 0 + goto_eq Route123_BerryMastersHouse_EventScript_272054 + goto Route123_BerryMastersHouse_EventScript_26FA79 + release + end + +Route123_BerryMastersHouse_EventScript_26F97A:: @ 826F97A + checkflag FLAG_0x0F8 + goto_eq Route123_BerryMastersHouse_EventScript_26F94C + msgbox Route123_BerryMastersHouse_Text_2A7583, 4 + giveitem_std ITEM_SPELON_BERRY + compare VAR_RESULT, 0 + goto_eq Route123_BerryMastersHouse_EventScript_272054 + setflag FLAG_0x0F8 + goto Route123_BerryMastersHouse_EventScript_26FA79 + end + +Route123_BerryMastersHouse_EventScript_26F9AB:: @ 826F9AB + checkflag FLAG_0x0F9 + goto_eq Route123_BerryMastersHouse_EventScript_26F94C + msgbox Route123_BerryMastersHouse_Text_2A7583, 4 + giveitem_std ITEM_PAMTRE_BERRY + compare VAR_RESULT, 0 + goto_eq Route123_BerryMastersHouse_EventScript_272054 + setflag FLAG_0x0F9 + goto Route123_BerryMastersHouse_EventScript_26FA79 + end + +Route123_BerryMastersHouse_EventScript_26F9DC:: @ 826F9DC + checkflag FLAG_0x0FA + goto_eq Route123_BerryMastersHouse_EventScript_26F94C + msgbox Route123_BerryMastersHouse_Text_2A7583, 4 + giveitem_std ITEM_WATMEL_BERRY + compare VAR_RESULT, 0 + goto_eq Route123_BerryMastersHouse_EventScript_272054 + setflag FLAG_0x0FA + goto Route123_BerryMastersHouse_EventScript_26FA79 + end + +Route123_BerryMastersHouse_EventScript_26FA0D:: @ 826FA0D + checkflag FLAG_0x0FB + goto_eq Route123_BerryMastersHouse_EventScript_26F94C + msgbox Route123_BerryMastersHouse_Text_2A7583, 4 + giveitem_std ITEM_DURIN_BERRY + compare VAR_RESULT, 0 + goto_eq Route123_BerryMastersHouse_EventScript_272054 + setflag FLAG_0x0FB + goto Route123_BerryMastersHouse_EventScript_26FA79 + end + +Route123_BerryMastersHouse_EventScript_26FA3E:: @ 826FA3E + checkflag FLAG_0x0FC + goto_eq Route123_BerryMastersHouse_EventScript_26F94C + msgbox Route123_BerryMastersHouse_Text_2A7583, 4 + giveitem_std ITEM_BELUE_BERRY + compare VAR_RESULT, 0 + goto_eq Route123_BerryMastersHouse_EventScript_272054 + setflag FLAG_0x0FC + goto Route123_BerryMastersHouse_EventScript_26FA79 + end + +Route123_BerryMastersHouse_EventScript_26FA6F:: @ 826FA6F + msgbox Route123_BerryMastersHouse_Text_2A761B, 4 + release + end + +Route123_BerryMastersHouse_EventScript_26FA79:: @ 826FA79 + setflag FLAG_0x931 + msgbox Route123_BerryMastersHouse_Text_2A761B, 4 + release + end + diff --git a/data/scripts/maps/Route124.inc b/data/scripts/maps/Route124.inc new file mode 100644 index 0000000000..2079c338d8 --- /dev/null +++ b/data/scripts/maps/Route124.inc @@ -0,0 +1,117 @@ +Route124_MapScripts:: @ 81F656C + map_script 3, Route124_MapScript1_1F6572 + .byte 0 + +Route124_MapScript1_1F6572: @ 81F6572 + checkflag FLAG_SYS_WEATHER_CTRL + call_if 1, Route124_EventScript_27207A + end + +Route124_EventScript_1F657C:: @ 81F657C + msgbox Route124_Text_1F6739, 3 + end + +Route124_EventScript_1F6585:: @ 81F6585 + trainerbattle 0, TRAINER_SPENCER, 0, Route124_Text_2A09B1, Route124_Text_2A0A02 + msgbox Route124_Text_2A0A20, 6 + end + +Route124_EventScript_1F659C:: @ 81F659C + trainerbattle 0, TRAINER_ROLAND, 0, Route124_Text_2A0A84, Route124_Text_2A0ACC + msgbox Route124_Text_2A0AD9, 6 + end + +Route124_EventScript_1F65B3:: @ 81F65B3 + trainerbattle 2, TRAINER_JENNY_1, 0, Route124_Text_2A0B37, Route124_Text_2A0B7C, Route124_EventScript_1F65DF + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route124_EventScript_1F65FE + msgbox Route124_Text_2A0B9A, 4 + release + end + +Route124_EventScript_1F65DF:: @ 81F65DF + special sub_80B4808 + waitmovement 0 + msgbox Route124_Text_2A0C14, 4 + setvar VAR_0x8004, 449 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 449 + callstd 8 + release + end + +Route124_EventScript_1F65FE:: @ 81F65FE + trainerbattle 5, TRAINER_JENNY_1, 0, Route124_Text_2A0C60, Route124_Text_2A0CA0 + msgbox Route124_Text_2A0CBE, 6 + end + +Route124_EventScript_1F6615:: @ 81F6615 + trainerbattle 0, TRAINER_GRACE, 0, Route124_Text_2A0D0A, Route124_Text_2A0D3D + msgbox Route124_Text_2A0D66, 6 + end + +Route124_EventScript_1F662C:: @ 81F662C + trainerbattle 0, TRAINER_CHAD, 0, Route124_Text_2A0DA0, Route124_Text_2A0DFF + msgbox Route124_Text_2A0E1E, 6 + end + +Route124_EventScript_1F6643:: @ 81F6643 + trainerbattle 6, TRAINER_LILA_AND_ROY_1, 0, Route124_Text_2A0E87, Route124_Text_2A0EFE, Route124_Text_2A0F8C, Route124_EventScript_1F6673 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route124_EventScript_1F668C + msgbox Route124_Text_2A0F3A, 4 + release + end + +Route124_EventScript_1F6673:: @ 81F6673 + msgbox Route124_Text_2A109F, 4 + setvar VAR_0x8004, 687 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 687 + callstd 8 + release + end + +Route124_EventScript_1F668C:: @ 81F668C + trainerbattle 7, TRAINER_LILA_AND_ROY_1, 0, Route124_Text_2A111E, Route124_Text_2A11B2, Route124_Text_2A1255 + msgbox Route124_Text_2A1203, 6 + end + +Route124_EventScript_1F66A7:: @ 81F66A7 + trainerbattle 6, TRAINER_LILA_AND_ROY_1, 0, Route124_Text_2A0FD1, Route124_Text_2A1012, Route124_Text_2A10E5, Route124_EventScript_1F66D7 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route124_EventScript_1F66F0 + msgbox Route124_Text_2A103E, 4 + release + end + +Route124_EventScript_1F66D7:: @ 81F66D7 + msgbox Route124_Text_2A109F, 4 + setvar VAR_0x8004, 687 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 687 + callstd 8 + release + end + +Route124_EventScript_1F66F0:: @ 81F66F0 + trainerbattle 7, TRAINER_LILA_AND_ROY_1, 0, Route124_Text_2A129A, Route124_Text_2A12DD, Route124_Text_2A1384 + msgbox Route124_Text_2A130F, 6 + end + +Route124_EventScript_1F670B:: @ 81F670B + trainerbattle 0, TRAINER_DECLAN, 0, Route124_Text_2A13BD, Route124_Text_2A142C + msgbox Route124_Text_2A144F, 6 + end + +Route124_EventScript_1F6722:: @ 81F6722 + trainerbattle 0, TRAINER_ISABELLA, 0, Route124_Text_2A148E, Route124_Text_2A14BC + msgbox Route124_Text_2A14ED, 6 + end + +Route124_Text_1F6739: @ 81F6739 + .string "HUNTER’S HOUSE$" + diff --git a/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc b/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc new file mode 100644 index 0000000000..dd5218e1d7 --- /dev/null +++ b/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc @@ -0,0 +1,349 @@ +Route124_DivingTreasureHuntersHouse_MapScripts:: @ 8270A28 + map_script 3, Route124_DivingTreasureHuntersHouse_MapScript1_270A2E + .byte 0 + +Route124_DivingTreasureHuntersHouse_MapScript1_270A2E: @ 8270A2E + setflag FLAG_LANDMARK_HUNTERS_HOUSE + end + +Route124_DivingTreasureHuntersHouse_EventScript_270A32:: @ 8270A32 + lock + faceplayer + checkflag FLAG_0x0D9 + goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270A4E + msgbox Route124_DivingTreasureHuntersHouse_Text_270F6C, 4 + setflag FLAG_0x0D9 + goto Route124_DivingTreasureHuntersHouse_EventScript_270A5C + end + +Route124_DivingTreasureHuntersHouse_EventScript_270A4E:: @ 8270A4E + msgbox Route124_DivingTreasureHuntersHouse_Text_270FE5, 4 + goto Route124_DivingTreasureHuntersHouse_EventScript_270A5C + end + +Route124_DivingTreasureHuntersHouse_EventScript_270A5C:: @ 8270A5C + call Route124_DivingTreasureHuntersHouse_EventScript_270A72 + compare VAR_0x4001, 0 + goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F57 + goto Route124_DivingTreasureHuntersHouse_EventScript_270AD0 + end + +Route124_DivingTreasureHuntersHouse_EventScript_270A72:: @ 8270A72 + setvar VAR_0x4001, 0 + checkitem ITEM_RED_SHARD, 1 + compare VAR_RESULT, 1 + call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_270AB8 + checkitem ITEM_YELLOW_SHARD, 1 + compare VAR_RESULT, 1 + call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_270ABE + checkitem ITEM_BLUE_SHARD, 1 + compare VAR_RESULT, 1 + call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_270AC4 + checkitem ITEM_GREEN_SHARD, 1 + compare VAR_RESULT, 1 + call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_270ACA + return + +Route124_DivingTreasureHuntersHouse_EventScript_270AB8:: @ 8270AB8 + addvar VAR_0x4001, 1 + return + +Route124_DivingTreasureHuntersHouse_EventScript_270ABE:: @ 8270ABE + addvar VAR_0x4001, 2 + return + +Route124_DivingTreasureHuntersHouse_EventScript_270AC4:: @ 8270AC4 + addvar VAR_0x4001, 4 + return + +Route124_DivingTreasureHuntersHouse_EventScript_270ACA:: @ 8270ACA + addvar VAR_0x4001, 8 + return + +Route124_DivingTreasureHuntersHouse_EventScript_270AD0:: @ 8270AD0 + msgbox Route124_DivingTreasureHuntersHouse_Text_271098, 4 + goto Route124_DivingTreasureHuntersHouse_EventScript_270ADE + end + +Route124_DivingTreasureHuntersHouse_EventScript_270ADE:: @ 8270ADE + message Route124_DivingTreasureHuntersHouse_Text_271117 + waitmessage + switch VAR_0x4001 + case 1, Route124_DivingTreasureHuntersHouse_EventScript_270B8F + case 2, Route124_DivingTreasureHuntersHouse_EventScript_270BB5 + case 3, Route124_DivingTreasureHuntersHouse_EventScript_270BDB + case 4, Route124_DivingTreasureHuntersHouse_EventScript_270C0C + case 5, Route124_DivingTreasureHuntersHouse_EventScript_270C32 + case 6, Route124_DivingTreasureHuntersHouse_EventScript_270C63 + case 7, Route124_DivingTreasureHuntersHouse_EventScript_270C94 + case 8, Route124_DivingTreasureHuntersHouse_EventScript_270CD0 + case 9, Route124_DivingTreasureHuntersHouse_EventScript_270CF6 + case 10, Route124_DivingTreasureHuntersHouse_EventScript_270D27 + case 11, Route124_DivingTreasureHuntersHouse_EventScript_270D58 + case 12, Route124_DivingTreasureHuntersHouse_EventScript_270D94 + case 13, Route124_DivingTreasureHuntersHouse_EventScript_270DC5 + case 14, Route124_DivingTreasureHuntersHouse_EventScript_270E01 + case 15, Route124_DivingTreasureHuntersHouse_EventScript_270E3D + end + +Route124_DivingTreasureHuntersHouse_EventScript_270B8F:: @ 8270B8F + multichoice 0, 0, 58, 0 + switch VAR_RESULT + case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84 + case 1, Route124_DivingTreasureHuntersHouse_EventScript_270F4D + goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + end + +Route124_DivingTreasureHuntersHouse_EventScript_270BB5:: @ 8270BB5 + multichoice 0, 0, 59, 0 + switch VAR_RESULT + case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E93 + case 1, Route124_DivingTreasureHuntersHouse_EventScript_270F4D + goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + end + +Route124_DivingTreasureHuntersHouse_EventScript_270BDB:: @ 8270BDB + multichoice 0, 0, 60, 0 + switch VAR_RESULT + case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84 + case 1, Route124_DivingTreasureHuntersHouse_EventScript_270E93 + case 2, Route124_DivingTreasureHuntersHouse_EventScript_270F4D + goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + end + +Route124_DivingTreasureHuntersHouse_EventScript_270C0C:: @ 8270C0C + multichoice 0, 0, 61, 0 + switch VAR_RESULT + case 0, Route124_DivingTreasureHuntersHouse_EventScript_270EA2 + case 1, Route124_DivingTreasureHuntersHouse_EventScript_270F4D + goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + end + +Route124_DivingTreasureHuntersHouse_EventScript_270C32:: @ 8270C32 + multichoice 0, 0, 62, 0 + switch VAR_RESULT + case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84 + case 1, Route124_DivingTreasureHuntersHouse_EventScript_270EA2 + case 2, Route124_DivingTreasureHuntersHouse_EventScript_270F4D + goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + end + +Route124_DivingTreasureHuntersHouse_EventScript_270C63:: @ 8270C63 + multichoice 0, 0, 63, 0 + switch VAR_RESULT + case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E93 + case 1, Route124_DivingTreasureHuntersHouse_EventScript_270EA2 + case 2, Route124_DivingTreasureHuntersHouse_EventScript_270F4D + goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + end + +Route124_DivingTreasureHuntersHouse_EventScript_270C94:: @ 8270C94 + multichoice 0, 0, 64, 0 + switch VAR_RESULT + case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84 + case 1, Route124_DivingTreasureHuntersHouse_EventScript_270E93 + case 2, Route124_DivingTreasureHuntersHouse_EventScript_270EA2 + case 3, Route124_DivingTreasureHuntersHouse_EventScript_270F4D + goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + end + +Route124_DivingTreasureHuntersHouse_EventScript_270CD0:: @ 8270CD0 + multichoice 0, 0, 65, 0 + switch VAR_RESULT + case 0, Route124_DivingTreasureHuntersHouse_EventScript_270EB1 + case 1, Route124_DivingTreasureHuntersHouse_EventScript_270F4D + goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + end + +Route124_DivingTreasureHuntersHouse_EventScript_270CF6:: @ 8270CF6 + multichoice 0, 0, 66, 0 + switch VAR_RESULT + case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84 + case 1, Route124_DivingTreasureHuntersHouse_EventScript_270EB1 + case 2, Route124_DivingTreasureHuntersHouse_EventScript_270F4D + goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + end + +Route124_DivingTreasureHuntersHouse_EventScript_270D27:: @ 8270D27 + multichoice 0, 0, 67, 0 + switch VAR_RESULT + case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E93 + case 1, Route124_DivingTreasureHuntersHouse_EventScript_270EB1 + case 2, Route124_DivingTreasureHuntersHouse_EventScript_270F4D + goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + end + +Route124_DivingTreasureHuntersHouse_EventScript_270D58:: @ 8270D58 + multichoice 0, 0, 68, 0 + switch VAR_RESULT + case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84 + case 1, Route124_DivingTreasureHuntersHouse_EventScript_270E93 + case 2, Route124_DivingTreasureHuntersHouse_EventScript_270EB1 + case 3, Route124_DivingTreasureHuntersHouse_EventScript_270F4D + goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + end + +Route124_DivingTreasureHuntersHouse_EventScript_270D94:: @ 8270D94 + multichoice 0, 0, 69, 0 + switch VAR_RESULT + case 0, Route124_DivingTreasureHuntersHouse_EventScript_270EA2 + case 1, Route124_DivingTreasureHuntersHouse_EventScript_270EB1 + case 2, Route124_DivingTreasureHuntersHouse_EventScript_270F4D + goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + end + +Route124_DivingTreasureHuntersHouse_EventScript_270DC5:: @ 8270DC5 + multichoice 0, 0, 70, 0 + switch VAR_RESULT + case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84 + case 1, Route124_DivingTreasureHuntersHouse_EventScript_270EA2 + case 2, Route124_DivingTreasureHuntersHouse_EventScript_270EB1 + case 3, Route124_DivingTreasureHuntersHouse_EventScript_270F4D + goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + end + +Route124_DivingTreasureHuntersHouse_EventScript_270E01:: @ 8270E01 + multichoice 0, 0, 71, 0 + switch VAR_RESULT + case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E93 + case 1, Route124_DivingTreasureHuntersHouse_EventScript_270EA2 + case 2, Route124_DivingTreasureHuntersHouse_EventScript_270EB1 + case 3, Route124_DivingTreasureHuntersHouse_EventScript_270F4D + goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + end + +Route124_DivingTreasureHuntersHouse_EventScript_270E3D:: @ 8270E3D + multichoice 0, 0, 72, 0 + switch VAR_RESULT + case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84 + case 1, Route124_DivingTreasureHuntersHouse_EventScript_270E93 + case 2, Route124_DivingTreasureHuntersHouse_EventScript_270EA2 + case 3, Route124_DivingTreasureHuntersHouse_EventScript_270EB1 + case 4, Route124_DivingTreasureHuntersHouse_EventScript_270F4D + goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + end + +Route124_DivingTreasureHuntersHouse_EventScript_270E84:: @ 8270E84 + setvar VAR_0x8008, 48 + setvar VAR_0x8009, 95 + goto Route124_DivingTreasureHuntersHouse_EventScript_270EC0 + +Route124_DivingTreasureHuntersHouse_EventScript_270E93:: @ 8270E93 + setvar VAR_0x8008, 50 + setvar VAR_0x8009, 96 + goto Route124_DivingTreasureHuntersHouse_EventScript_270EC0 + +Route124_DivingTreasureHuntersHouse_EventScript_270EA2:: @ 8270EA2 + setvar VAR_0x8008, 49 + setvar VAR_0x8009, 97 + goto Route124_DivingTreasureHuntersHouse_EventScript_270EC0 + +Route124_DivingTreasureHuntersHouse_EventScript_270EB1:: @ 8270EB1 + setvar VAR_0x8008, 51 + setvar VAR_0x8009, 98 + goto Route124_DivingTreasureHuntersHouse_EventScript_270EC0 + +Route124_DivingTreasureHuntersHouse_EventScript_270EC0:: @ 8270EC0 + bufferitemname 0, VAR_0x8008 + bufferitemname 1, VAR_0x8009 + msgbox Route124_DivingTreasureHuntersHouse_Text_271132, 5 + compare VAR_RESULT, 0 + goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F4D + checkitemspace VAR_0x8009, 1 + compare VAR_RESULT, 1 + goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F01 + checkitem VAR_0x8008, 2 + compare VAR_RESULT, 0 + goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F01 + goto Route124_DivingTreasureHuntersHouse_EventScript_270F43 + end + +Route124_DivingTreasureHuntersHouse_EventScript_270F01:: @ 8270F01 + takeitem VAR_0x8008, 1 + giveitem_std VAR_0x8009 + msgbox Route124_DivingTreasureHuntersHouse_Text_271158, 4 + call Route124_DivingTreasureHuntersHouse_EventScript_270A72 + compare VAR_0x4001, 0 + goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F61 + msgbox Route124_DivingTreasureHuntersHouse_Text_27117B, 5 + compare VAR_RESULT, 1 + goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270ADE + goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D + end + +Route124_DivingTreasureHuntersHouse_EventScript_270F43:: @ 8270F43 + msgbox Route124_DivingTreasureHuntersHouse_Text_2711A0, 4 + release + end + +Route124_DivingTreasureHuntersHouse_EventScript_270F4D:: @ 8270F4D + msgbox Route124_DivingTreasureHuntersHouse_Text_2711D8, 4 + release + end + +Route124_DivingTreasureHuntersHouse_EventScript_270F57:: @ 8270F57 + msgbox Route124_DivingTreasureHuntersHouse_Text_271027, 4 + release + end + +Route124_DivingTreasureHuntersHouse_EventScript_270F61:: @ 8270F61 + release + end + +Route124_DivingTreasureHuntersHouse_EventScript_270F63:: @ 8270F63 + msgbox Route124_DivingTreasureHuntersHouse_Text_271217, 3 + end + +Route124_DivingTreasureHuntersHouse_Text_270F6C: @ 8270F6C + .string "I’m the DIVING TREASURE HUNTER!\p" + .string "I’m the awesome dude who makes\n" + .string "deep-sea dives to gather treasures\l" + .string "resting at the bottom.$" + +Route124_DivingTreasureHuntersHouse_Text_270FE5: @ 8270FE5 + .string "Tell me, have you seen any SHARDS of\n" + .string "tools made in ancient times?$" + +Route124_DivingTreasureHuntersHouse_Text_271027: @ 8271027 + .string "You haven’t got any treasures\n" + .string "for me…\p" + .string "If you see any SHARDS, like the RED\n" + .string "SHARD, you’ve got to trade it with me!$" + +Route124_DivingTreasureHuntersHouse_Text_271098: @ 8271098 + .string "Oh, hey! That…\n" + .string "That’s a SHARD! I’m looking for those!\p" + .string "Oh, man, you’ve got to trade that\n" + .string "with me! I’ll give you something good!$" + +Route124_DivingTreasureHuntersHouse_Text_271117: @ 8271117 + .string "What do you want to trade?$" + +Route124_DivingTreasureHuntersHouse_Text_271132: @ 8271132 + .string "You’ll trade your {STR_VAR_1} for\n" + .string "my {STR_VAR_2}, then?$" + +Route124_DivingTreasureHuntersHouse_Text_271158: @ 8271158 + .string "It’s a done deal!\n" + .string "Use that wisely!$" + +Route124_DivingTreasureHuntersHouse_Text_27117B: @ 827117B + .string "Do you want to trade something else?$" + +Route124_DivingTreasureHuntersHouse_Text_2711A0: @ 82711A0 + .string "Whoops, your BAG’s full.\n" + .string "Get rid of some items, friend!$" + +Route124_DivingTreasureHuntersHouse_Text_2711D8: @ 82711D8 + .string "No? That’s a downer.\n" + .string "Well, if you change your mind, come back.$" + +Route124_DivingTreasureHuntersHouse_Text_271217: @ 8271217 + .string "{CLEAR_TO}{0x0a}Wanted item{CLEAR_TO}{0x7c}Trade item\n" + .string "{CLEAR_TO}{0x0f}RED SHARD{CLEAR_TO}{0x59}{0x7B}{0x7C}{CLEAR_TO}{0x7b}FIRE STONE{CLEAR_TO}{0xc8}\p" + .string "{CLEAR_TO}{0x0a}Wanted item{CLEAR_TO}{0x7c}Trade item\n" + .string "{CLEAR_TO}{0x06}YELLOW SHARD{CLEAR_TO}{0x59}{0x7B}{0x7C}{CLEAR_TO}{0x73}THUNDERSTONE{CLEAR_TO}{0xc8}\p" + .string "{CLEAR_TO}{0x0a}Wanted item{CLEAR_TO}{0x7c}Trade item\n" + .string "{CLEAR_TO}{0x0c}BLUE SHARD{CLEAR_TO}{0x59}{0x7B}{0x7C}{CLEAR_TO}{0x79}WATER STONE{CLEAR_TO}{0xc8}\p" + .string "{CLEAR_TO}{0x0a}Wanted item{CLEAR_TO}{0x7c}Trade item\n" + .string "{CLEAR_TO}{0x08}GREEN SHARD{CLEAR_TO}{0x59}{0x7B}{0x7C}{CLEAR_TO}{0x7b}LEAF STONE$" diff --git a/data/scripts/maps/Route125.inc b/data/scripts/maps/Route125.inc new file mode 100644 index 0000000000..de3ae07b50 --- /dev/null +++ b/data/scripts/maps/Route125.inc @@ -0,0 +1,93 @@ +Route125_MapScripts:: @ 81F6748 + map_script 3, Route125_MapScript1_1F6758 + map_script 1, Route125_MapScript1_1F6783 + map_script 2, Route125_MapScript2_1F679A + .byte 0 + +Route125_MapScript1_1F6758: @ 81F6758 + checkflag FLAG_SYS_WEATHER_CTRL + call_if 1, Route125_EventScript_27207A + compare VAR_0x4039, 1 + call_if 1, Route125_EventScript_273D13 + compare VAR_0x4037, 11 + call_if 1, Route125_EventScript_273D17 + compare VAR_0x4037, 12 + call_if 1, Route125_EventScript_273D17 + end + +Route125_MapScript1_1F6783: @ 81F6783 + compare VAR_0x4037, 11 + call_if 1, Route125_EventScript_273A85 + compare VAR_0x4037, 12 + call_if 1, Route125_EventScript_273AF2 + end + +Route125_MapScript2_1F679A: @ 81F679A + map_script_2 VAR_0x4039, 1, gUnknown_08273D1F + .2byte 0 + +Route125_EventScript_1F67A4:: @ 81F67A4 + trainerbattle 0, TRAINER_NOLEN, 0, Route125_Text_2A1527, Route125_Text_2A155A + msgbox Route125_Text_2A1567, 6 + end + +Route125_EventScript_1F67BB:: @ 81F67BB + trainerbattle 0, TRAINER_STAN, 0, Route125_Text_2A159F, Route125_Text_2A15C7 + msgbox Route125_Text_2A15D5, 6 + end + +Route125_EventScript_1F67D2:: @ 81F67D2 + trainerbattle 0, TRAINER_TANYA, 0, Route125_Text_2A1615, Route125_Text_2A164D + msgbox Route125_Text_2A165E, 6 + end + +Route125_EventScript_1F67E9:: @ 81F67E9 + trainerbattle 0, TRAINER_SHARON, 0, Route125_Text_2A1686, Route125_Text_2A16C5 + msgbox Route125_Text_2A16CE, 6 + end + +Route125_EventScript_1F6800:: @ 81F6800 + trainerbattle 2, TRAINER_ERNEST_1, 0, Route125_Text_2A16FC, Route125_Text_2A173A, Route125_EventScript_1F682C + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route125_EventScript_1F684B + msgbox Route125_Text_2A1755, 4 + release + end + +Route125_EventScript_1F682C:: @ 81F682C + special sub_80B4808 + waitmovement 0 + msgbox Route125_Text_2A17CF, 4 + setvar VAR_0x8004, 492 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 492 + callstd 8 + release + end + +Route125_EventScript_1F684B:: @ 81F684B + trainerbattle 5, TRAINER_ERNEST_1, 0, Route125_Text_2A180E, Route125_Text_2A1851 + msgbox Route125_Text_2A187A, 6 + end + +Route125_EventScript_1F6862:: @ 81F6862 + trainerbattle 4, TRAINER_KIM_AND_IRIS, 0, Route125_Text_2A192B, Route125_Text_2A1989, Route125_Text_2A19F8 + msgbox Route125_Text_2A19A6, 6 + end + +Route125_EventScript_1F687D:: @ 81F687D + trainerbattle 4, TRAINER_KIM_AND_IRIS, 0, Route125_Text_2A1A35, Route125_Text_2A1A71, Route125_Text_2A1AD9 + msgbox Route125_Text_2A1A92, 6 + end + +Route125_EventScript_1F6898:: @ 81F6898 + trainerbattle 0, TRAINER_PRESLEY, 0, Route125_Text_2A1B1A, Route125_Text_2A1B4E + msgbox Route125_Text_2A1B70, 6 + end + +Route125_EventScript_1F68AF:: @ 81F68AF + trainerbattle 0, TRAINER_AURON, 0, Route125_Text_2A1BCE, Route125_Text_2A1BFD + msgbox Route125_Text_2A1C2A, 6 + end + diff --git a/data/scripts/maps/Route126.inc b/data/scripts/maps/Route126.inc new file mode 100644 index 0000000000..d03e081036 --- /dev/null +++ b/data/scripts/maps/Route126.inc @@ -0,0 +1,69 @@ +Route126_MapScripts:: @ 81F68C6 + map_script 3, Route126_MapScript1_1F68CC + .byte 0 + +Route126_MapScript1_1F68CC: @ 81F68CC + checkflag FLAG_SYS_WEATHER_CTRL + call_if 1, Route126_EventScript_27207A + end + +Route126_EventScript_1F68D6:: @ 81F68D6 + trainerbattle 0, TRAINER_BARRY, 0, Route126_Text_2A1C95, Route126_Text_2A1CC8 + msgbox Route126_Text_2A1CDD, 6 + end + +Route126_EventScript_1F68ED:: @ 81F68ED + trainerbattle 0, TRAINER_DEAN, 0, Route126_Text_2A1D2A, Route126_Text_2A1D63 + msgbox Route126_Text_2A1D72, 6 + end + +Route126_EventScript_1F6904:: @ 81F6904 + trainerbattle 0, TRAINER_NIKKI, 0, Route126_Text_2A1DAE, Route126_Text_2A1DC8 + msgbox Route126_Text_2A1E03, 6 + end + +Route126_EventScript_1F691B:: @ 81F691B + trainerbattle 0, TRAINER_BRENDA, 0, Route126_Text_2A1E3E, Route126_Text_2A1E63 + msgbox Route126_Text_2A1E70, 6 + end + +Route126_EventScript_1F6932:: @ 81F6932 + trainerbattle 0, TRAINER_LEONARDO, 0, Route126_Text_2A2063, Route126_Text_2A20C6 + msgbox Route126_Text_2A20F7, 6 + end + +Route126_EventScript_1F6949:: @ 81F6949 + trainerbattle 0, TRAINER_ISOBEL, 0, Route126_Text_2A216A, Route126_Text_2A21A3 + msgbox Route126_Text_2A21B8, 6 + end + +Route126_EventScript_1F6960:: @ 81F6960 + trainerbattle 0, TRAINER_SIENNA, 0, Route126_Text_2A21EF, Route126_Text_2A2216 + msgbox Route126_Text_2A222A, 6 + end + +Route126_EventScript_1F6977:: @ 81F6977 + trainerbattle 2, TRAINER_PABLO_1, 0, Route126_Text_2A1EA5, Route126_Text_2A1EE3, Route126_EventScript_1F69A3 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route126_EventScript_1F69C2 + msgbox Route126_Text_2A1F10, 4 + release + end + +Route126_EventScript_1F69A3:: @ 81F69A3 + special sub_80B4808 + waitmovement 0 + msgbox Route126_Text_2A1F5A, 4 + setvar VAR_0x8004, 377 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 377 + callstd 8 + release + end + +Route126_EventScript_1F69C2:: @ 81F69C2 + trainerbattle 5, TRAINER_PABLO_1, 0, Route126_Text_2A1F98, Route126_Text_2A1FD8 + msgbox Route126_Text_2A200C, 6 + end + diff --git a/data/scripts/maps/Route127.inc b/data/scripts/maps/Route127.inc new file mode 100644 index 0000000000..cbc7d7da18 --- /dev/null +++ b/data/scripts/maps/Route127.inc @@ -0,0 +1,88 @@ +Route127_MapScripts:: @ 81F69D9 + map_script 3, Route127_MapScript1_1F69E9 + map_script 1, Route127_MapScript1_1F6A14 + map_script 2, Route127_MapScript2_1F6A2B + .byte 0 + +Route127_MapScript1_1F69E9: @ 81F69E9 + checkflag FLAG_SYS_WEATHER_CTRL + call_if 1, Route127_EventScript_27207A + compare VAR_0x4039, 1 + call_if 1, Route127_EventScript_273D13 + compare VAR_0x4037, 13 + call_if 1, Route127_EventScript_273D17 + compare VAR_0x4037, 14 + call_if 1, Route127_EventScript_273D17 + end + +Route127_MapScript1_1F6A14: @ 81F6A14 + compare VAR_0x4037, 13 + call_if 1, Route127_EventScript_273B5F + compare VAR_0x4037, 14 + call_if 1, Route127_EventScript_273BCC + end + +Route127_MapScript2_1F6A2B: @ 81F6A2B + map_script_2 VAR_0x4039, 1, gUnknown_08273D1F + .2byte 0 + +Route127_EventScript_1F6A35:: @ 81F6A35 + trainerbattle 0, TRAINER_CAMDEN, 0, Route127_Text_2A225F, Route127_Text_2A2294 + msgbox Route127_Text_2A22A1, 6 + end + +Route127_EventScript_1F6A4C:: @ 81F6A4C + trainerbattle 0, TRAINER_DONNY, 0, Route127_Text_2A22DD, Route127_Text_2A2315 + msgbox Route127_Text_2A232C, 6 + end + +Route127_EventScript_1F6A63:: @ 81F6A63 + trainerbattle 0, TRAINER_JONAH, 0, Route127_Text_2A2381, Route127_Text_2A23E1 + msgbox Route127_Text_2A240C, 6 + end + +Route127_EventScript_1F6A7A:: @ 81F6A7A + trainerbattle 0, TRAINER_HENRY, 0, Route127_Text_2A2450, Route127_Text_2A2483 + msgbox Route127_Text_2A2494, 6 + end + +Route127_EventScript_1F6A91:: @ 81F6A91 + trainerbattle 0, TRAINER_ROGER, 0, Route127_Text_2A24C6, Route127_Text_2A250B + msgbox Route127_Text_2A2538, 6 + end + +Route127_EventScript_1F6AA8:: @ 81F6AA8 + trainerbattle 0, TRAINER_AIDAN, 0, Route127_Text_2A257A, Route127_Text_2A25C1 + msgbox Route127_Text_2A25D2, 6 + end + +Route127_EventScript_1F6ABF:: @ 81F6ABF + trainerbattle 0, TRAINER_ATHENA, 0, Route127_Text_2A27D0, Route127_Text_2A27FC + msgbox Route127_Text_2A2832, 6 + end + +Route127_EventScript_1F6AD6:: @ 81F6AD6 + trainerbattle 2, TRAINER_KOJI_1, 0, Route127_Text_2A264D, Route127_Text_2A2685, Route127_EventScript_1F6B02 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route127_EventScript_1F6B21 + msgbox Route127_Text_2A26AC, 4 + release + end + +Route127_EventScript_1F6B02:: @ 81F6B02 + special sub_80B4808 + waitmovement 0 + msgbox Route127_Text_2A26EE, 4 + setvar VAR_0x8004, 672 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 672 + callstd 8 + release + end + +Route127_EventScript_1F6B21:: @ 81F6B21 + trainerbattle 5, TRAINER_KOJI_1, 0, Route127_Text_2A2734, Route127_Text_2A276B + msgbox Route127_Text_2A278E, 6 + end + diff --git a/data/scripts/maps/Route128.inc b/data/scripts/maps/Route128.inc new file mode 100644 index 0000000000..6d336e4648 --- /dev/null +++ b/data/scripts/maps/Route128.inc @@ -0,0 +1,311 @@ +Route128_MapScripts:: @ 81F6B38 + map_script 3, Route128_MapScript1_1F6B43 + map_script 2, Route128_MapScript2_1F6B4D + .byte 0 + +Route128_MapScript1_1F6B43: @ 81F6B43 + checkflag FLAG_SYS_WEATHER_CTRL + call_if 1, Route128_EventScript_27207A + end + +Route128_MapScript2_1F6B4D: @ 81F6B4D + map_script_2 VAR_0x407B, 1, Route128_EventScript_1F6B57 + .2byte 0 + +Route128_EventScript_1F6B57:: @ 81F6B57 + lockall + delay 20 + applymovement 4, Route128_Movement_1F6C89 + waitmovement 0 + msgbox Route128_Text_1F6DF5, 4 + closemessage + applymovement 4, Route128_Movement_1F6C91 + waitmovement 0 + msgbox Route128_Text_1F6E48, 4 + closemessage + applymovement 5, Route128_Movement_1F6CAD + waitmovement 0 + applymovement 4, Route128_Movement_2725A6 + waitmovement 0 + msgbox Route128_Text_1F6E5A, 4 + closemessage + applymovement 5, Route128_Movement_1F6CBB + waitmovement 0 + applymovement 255, Route128_Movement_2725A6 + waitmovement 0 + msgbox Route128_Text_1F6F1E, 4 + closemessage + applymovement 4, Route128_Movement_1F6C96 + applymovement 255, Route128_Movement_2725A4 + applymovement 5, Route128_Movement_1F6CA8 + waitmovement 0 + msgbox Route128_Text_1F704F, 4 + closemessage + delay 40 + applymovement 5, Route128_Movement_1F6CB0 + applymovement 4, Route128_Movement_1F6C9B + waitmovement 0 + removeobject 5 + removeobject 4 + delay 100 + setfieldeffectargument 0, 1 + dofieldeffect 30 + waitfieldeffect 30 + addobject 3 + applymovement 3, Route128_Movement_1F6C87 + waitmovement 0 + applymovement 255, Route128_Movement_2725A8 + waitmovement 0 + msgbox Route128_Text_1F70C9, 4 + closemessage + applymovement 3, Route128_Movement_1F6C85 + applymovement 255, Route128_Movement_2725A6 + waitmovement 0 + msgbox Route128_Text_1F70EA, 4 + applymovement 3, Route128_Movement_2725AA + waitmovement 0 + msgbox Route128_Text_1F721B, 4 + closemessage + applymovement 3, Route128_Movement_2725AA + waitmovement 0 + delay 50 + setfieldeffectargument 0, 1 + dofieldeffect 30 + delay 15 + removeobject 3 + waitfieldeffect 30 + clearflag FLAG_SPECIAL_FLAG_0x4000 + setvar VAR_0x407B, 2 + releaseall + end + +Route128_Movement_1F6C76: @ 81F6C76 + step_17 + step_end + +Route128_Movement_1F6C78: @ 81F6C78 + step_left + step_left + step_left + step_left + step_left + step_left + step_up + step_up + step_up + step_up + step_up + step_up + step_end + +Route128_Movement_1F6C85: @ 81F6C85 + step_up + step_end + +Route128_Movement_1F6C87: @ 81F6C87 + step_17 + step_end + +Route128_Movement_1F6C89: @ 81F6C89 + step_15 + step_27 + step_14 + step_28 + step_14 + step_14 + step_25 + step_end + +Route128_Movement_1F6C91: @ 81F6C91 + step_40 + slow_step_up + step_14 + step_41 + step_end + +Route128_Movement_1F6C96: @ 81F6C96 + step_17 + step_17 + step_17 + step_28 + step_end + +Route128_Movement_1F6C9B: @ 81F6C9B + step_14 + step_14 + step_16 + step_17 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_end + +Route128_Movement_1F6CA8: @ 81F6CA8 + step_left + step_left + step_13 + step_12 + step_end + +Route128_Movement_1F6CAD: @ 81F6CAD + step_left + step_25 + step_end + +Route128_Movement_1F6CB0: @ 81F6CB0 + step_17 + step_17 + step_17 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_end + +Route128_Movement_1F6CBB: @ 81F6CBB + step_right + step_25 + step_end + +Route128_EventScript_1F6CBE:: @ 81F6CBE + trainerbattle 2, TRAINER_ISAIAH_1, 0, Route128_Text_2A287F, Route128_Text_2A28AB, Route128_EventScript_1F6CEA + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route128_EventScript_1F6D09 + msgbox Route128_Text_2A28D7, 4 + release + end + +Route128_EventScript_1F6CEA:: @ 81F6CEA + special sub_80B4808 + waitmovement 0 + msgbox Route128_Text_2A2916, 4 + setvar VAR_0x8004, 376 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 376 + callstd 8 + release + end + +Route128_EventScript_1F6D09:: @ 81F6D09 + trainerbattle 5, TRAINER_ISAIAH_1, 0, Route128_Text_2A2975, Route128_Text_2A29B8 + msgbox Route128_Text_2A29DC, 6 + end + +Route128_EventScript_1F6D20:: @ 81F6D20 + trainerbattle 2, TRAINER_KATELYN_1, 0, Route128_Text_2A2A1F, Route128_Text_2A2A94, Route128_EventScript_1F6D4C + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq Route128_EventScript_1F6D6B + msgbox Route128_Text_2A2AB7, 4 + release + end + +Route128_EventScript_1F6D4C:: @ 81F6D4C + special sub_80B4808 + waitmovement 0 + msgbox Route128_Text_2A2AF9, 4 + setvar VAR_0x8004, 386 + special sub_81D1C20 + setorcopyvar VAR_0x8000, 386 + callstd 8 + release + end + +Route128_EventScript_1F6D6B:: @ 81F6D6B + trainerbattle 5, TRAINER_KATELYN_1, 0, Route128_Text_2A2B41, Route128_Text_2A2BAB + msgbox Route128_Text_2A2BDD, 6 + end + +Route128_EventScript_1F6D82:: @ 81F6D82 + trainerbattle 0, TRAINER_ALEXA, 0, Route128_Text_2A2C1C, Route128_Text_2A2C79 + msgbox Route128_Text_2A2C95, 6 + end + +Route128_EventScript_1F6D99:: @ 81F6D99 + trainerbattle 0, TRAINER_RUBEN, 0, Route128_Text_2A2CD9, Route128_Text_2A2CFE + msgbox Route128_Text_2A2D0D, 6 + end + +Route128_EventScript_1F6DB0:: @ 81F6DB0 + trainerbattle 0, TRAINER_WAYNE, 0, Route128_Text_2A2D3D, Route128_Text_2A2DA9 + msgbox Route128_Text_2A2DBA, 6 + end + +Route128_EventScript_1F6DC7:: @ 81F6DC7 + trainerbattle 0, TRAINER_HARRISON, 0, Route128_Text_2A2E0F, Route128_Text_2A2E44 + msgbox Route128_Text_2A2E6C, 6 + end + +Route128_EventScript_1F6DDE:: @ 81F6DDE + trainerbattle 0, TRAINER_CARLEE, 0, Route128_Text_2A2EC8, Route128_Text_2A2EFA + msgbox Route128_Text_2A2F2F, 6 + end + +Route128_Text_1F6DF5: @ 81F6DF5 + .string "ARCHIE: What happened…\n" + .string "What is this wretched scene…\p" + .string "Did I…make a horrible mistake?$" + +Route128_Text_1F6E48: @ 81F6E48 + .string "I…\n" + .string "I only wanted…$" + +Route128_Text_1F6E5A: @ 81F6E5A + .string "MAXIE: Do you understand now,\n" + .string "ARCHIE?\p" + .string "Do you finally see how disastrous\n" + .string "your dream turned out to be?\p" + .string "We have to hurry! We have to do\n" + .string "something before the situation goes\l" + .string "completely out of control!$" + +Route128_Text_1F6F1E: @ 81F6F1E + .string "MAXIE: {PLAYER}, don’t say anything.\p" + .string "I know that I have no right to be\n" + .string "critical of ARCHIE…\p" + .string "But the way things are now, I doubt\n" + .string "that we humans will be capable of\l" + .string "doing anything about it.\p" + .string "But neither can we stand by and\n" + .string "just watch helplessly.\p" + .string "The responsibility for putting an end\n" + .string "to this falls to ARCHIE and me…$" + +Route128_Text_1F704F: @ 81F704F + .string "MAXIE: This defies belief…\p" + .string "Those super-ancient POKéMON…\p" + .string "Their power is unbelievable.\n" + .string "They’ve upset the balance of nature…$" + +Route128_Text_1F70C9: @ 81F70C9 + .string "STEVEN: {PLAYER}{KUN}!\n" + .string "What is happening?$" + +Route128_Text_1F70EA: @ 81F70EA + .string "This is terrible…\p" + .string "After the scorching heat wave ended,\n" + .string "this deluge began.\p" + .string "If this doesn’t stop, all of HOENN…\n" + .string "No, the whole world will drown.\p" + .string "This huge rain cloud is spreading\n" + .string "from above SOOTOPOLIS…\p" + .string "What in the world is taking place there?\p" + .string "There’s no point arguing here…\n" + .string "SOOTOPOLIS might provide answers…$" + +Route128_Text_1F721B: @ 81F721B + .string "{PLAYER}{KUN}…\n" + .string "I don’t know what you intend to do,\l" + .string "but don’t do anything reckless.\p" + .string "Okay.\n" + .string "I’m going to SOOTOPOLIS.$" + diff --git a/data/scripts/maps/Route129.inc b/data/scripts/maps/Route129.inc new file mode 100644 index 0000000000..170d87e560 --- /dev/null +++ b/data/scripts/maps/Route129.inc @@ -0,0 +1,58 @@ +Route129_MapScripts:: @ 81F7284 + map_script 3, Route129_MapScript1_1F72AB + map_script 1, Route129_MapScript1_1F7294 + map_script 2, Route129_MapScript2_1F72E2 + .byte 0 + +Route129_MapScript1_1F7294: @ 81F7294 + compare VAR_0x4037, 15 + call_if 1, Route129_EventScript_273C39 + compare VAR_0x4037, 16 + call_if 1, Route129_EventScript_273CA6 + end + +Route129_MapScript1_1F72AB: @ 81F72AB + compare VAR_0x4039, 1 + call_if 1, Route129_EventScript_273D13 + compare VAR_0x405E, 4 + call_if 4, Route129_EventScript_1F72D8 + compare VAR_0x4037, 15 + call_if 1, Route129_EventScript_273D17 + compare VAR_0x4037, 16 + call_if 1, Route129_EventScript_273D17 + end + +Route129_EventScript_1F72D8:: @ 81F72D8 + checkflag FLAG_SYS_WEATHER_CTRL + call_if 1, Route129_EventScript_27207A + return + +Route129_MapScript2_1F72E2: @ 81F72E2 + map_script_2 VAR_0x4039, 1, gUnknown_08273D1F + .2byte 0 + +Route129_EventScript_1F72EC:: @ 81F72EC + trainerbattle 0, TRAINER_CHASE, 0, Route129_Text_2A2F66, Route129_Text_2A2F9D + msgbox Route129_Text_2A2FB9, 6 + end + +Route129_EventScript_1F7303:: @ 81F7303 + trainerbattle 0, TRAINER_ALLISON, 0, Route129_Text_2A2FF2, Route129_Text_2A3034 + msgbox Route129_Text_2A3048, 6 + end + +Route129_EventScript_1F731A:: @ 81F731A + trainerbattle 0, TRAINER_REED, 0, Route129_Text_2A30CD, Route129_Text_2A30F1 + msgbox Route129_Text_2A3114, 6 + end + +Route129_EventScript_1F7331:: @ 81F7331 + trainerbattle 0, TRAINER_TISHA, 0, Route129_Text_2A314E, Route129_Text_2A317D + msgbox Route129_Text_2A31A6, 6 + end + +Route129_EventScript_1F7348:: @ 81F7348 + trainerbattle 0, TRAINER_CLARENCE, 0, Route129_Text_2A3204, Route129_Text_2A3239 + msgbox Route129_Text_2A3252, 6 + end + diff --git a/data/scripts/maps/Route130.inc b/data/scripts/maps/Route130.inc new file mode 100644 index 0000000000..26278cf509 --- /dev/null +++ b/data/scripts/maps/Route130.inc @@ -0,0 +1,52 @@ +Route130_MapScripts:: @ 81F735F + map_script 3, Route130_MapScript1_1F7365 + .byte 0 + +Route130_MapScript1_1F7365: @ 81F7365 + compare VAR_0x405E, 4 + call_if 4, Route130_EventScript_1F73B5 + specialvar VAR_RESULT, IsMirageIslandPresent + compare VAR_RESULT, 1 + goto_eq Route130_EventScript_1F73B1 + setflag FLAG_0x011 + setflag FLAG_0x012 + setflag FLAG_0x013 + setflag FLAG_0x014 + setflag FLAG_0x015 + setflag FLAG_0x016 + setflag FLAG_0x017 + setflag FLAG_0x018 + setflag FLAG_0x019 + setflag FLAG_0x01A + setflag FLAG_0x01B + setflag FLAG_0x01C + setflag FLAG_0x01D + setflag FLAG_0x01E + setflag FLAG_0x01F + setmaplayoutindex 263 + end + +Route130_EventScript_1F73B1:: @ 81F73B1 + setmaplayoutindex 46 + end + +Route130_EventScript_1F73B5:: @ 81F73B5 + checkflag FLAG_SYS_WEATHER_CTRL + call_if 1, Route130_EventScript_27207A + return + +Route130_EventScript_1F73BF:: @ 81F73BF + trainerbattle 0, TRAINER_RODNEY, 0, Route130_Text_2A328A, Route130_Text_2A32E6 + msgbox Route130_Text_2A3300, 6 + end + +Route130_EventScript_1F73D6:: @ 81F73D6 + trainerbattle 0, TRAINER_KATIE, 0, Route130_Text_2A3363, Route130_Text_2A33AC + msgbox Route130_Text_2A33F5, 6 + end + +Route130_EventScript_1F73ED:: @ 81F73ED + trainerbattle 0, TRAINER_SANTIAGO, 0, Route130_Text_2A343A, Route130_Text_2A346D + msgbox Route130_Text_2A3494, 6 + end + diff --git a/data/scripts/maps/Route131.inc b/data/scripts/maps/Route131.inc new file mode 100644 index 0000000000..566cbef661 --- /dev/null +++ b/data/scripts/maps/Route131.inc @@ -0,0 +1,59 @@ +Route131_MapScripts:: @ 81F7404 + map_script 3, Route131_MapScript1_1F740A + .byte 0 + +Route131_MapScript1_1F740A: @ 81F740A + compare VAR_0x405E, 4 + call_if 4, Route131_EventScript_1F741F + call Route131_EventScript_1F741B + end + +Route131_EventScript_1F741B:: @ 81F741B + setmaplayoutindex 319 + return + +Route131_EventScript_1F741F:: @ 81F741F + checkflag FLAG_SYS_WEATHER_CTRL + call_if 1, Route131_EventScript_27207A + return + +Route131_EventScript_1F7429:: @ 81F7429 + trainerbattle 0, TRAINER_RICHARD, 0, Route131_Text_2A34C8, Route131_Text_2A350D + msgbox Route131_Text_2A353D, 6 + end + +Route131_EventScript_1F7440:: @ 81F7440 + trainerbattle 0, TRAINER_HERMAN, 0, Route131_Text_2A35C6, Route131_Text_2A3626 + msgbox Route131_Text_2A362D, 6 + end + +Route131_EventScript_1F7457:: @ 81F7457 + trainerbattle 0, TRAINER_SUSIE, 0, Route131_Text_2A367B, Route131_Text_2A36AB + msgbox Route131_Text_2A36D6, 6 + end + +Route131_EventScript_1F746E:: @ 81F746E + trainerbattle 0, TRAINER_KARA, 0, Route131_Text_2A3751, Route131_Text_2A378A + msgbox Route131_Text_2A379F, 6 + end + +Route131_EventScript_1F7485:: @ 81F7485 + trainerbattle 4, TRAINER_RELI_AND_IAN, 0, Route131_Text_2A37E9, Route131_Text_2A381F, Route131_Text_2A38B7 + msgbox Route131_Text_2A3855, 6 + end + +Route131_EventScript_1F74A0:: @ 81F74A0 + trainerbattle 4, TRAINER_RELI_AND_IAN, 0, Route131_Text_2A38F8, Route131_Text_2A3925, Route131_Text_2A39CD + msgbox Route131_Text_2A3960, 6 + end + +Route131_EventScript_1F74BB:: @ 81F74BB + trainerbattle 0, TRAINER_TALIA, 0, Route131_Text_2A39FE, Route131_Text_2A3A38 + msgbox Route131_Text_2A3A48, 6 + end + +Route131_EventScript_1F74D2:: @ 81F74D2 + trainerbattle 0, TRAINER_KEVIN, 0, Route131_Text_2A3AA0, Route131_Text_2A3AFC + msgbox Route131_Text_2A3B02, 6 + end + diff --git a/data/scripts/maps/Route132.inc b/data/scripts/maps/Route132.inc new file mode 100644 index 0000000000..a4ae6f716c --- /dev/null +++ b/data/scripts/maps/Route132.inc @@ -0,0 +1,43 @@ +Route132_MapScripts:: @ 81F74E9 + .byte 0 + +Route132_EventScript_1F74EA:: @ 81F74EA + trainerbattle 0, TRAINER_GILBERT, 0, Route132_Text_2A3B4C, Route132_Text_2A3BAC + msgbox Route132_Text_2A3BC0, 6 + end + +Route132_EventScript_1F7501:: @ 81F7501 + trainerbattle 0, TRAINER_DANA, 0, Route132_Text_2A3C04, Route132_Text_2A3C39 + msgbox Route132_Text_2A3C49, 6 + end + +Route132_EventScript_1F7518:: @ 81F7518 + trainerbattle 0, TRAINER_RONALD, 0, Route132_Text_2A3C7F, Route132_Text_2A3CAD + msgbox Route132_Text_2A3CC5, 6 + end + +Route132_EventScript_1F752F:: @ 81F752F + trainerbattle 0, TRAINER_KIYO, 0, Route132_Text_2A3D26, Route132_Text_2A3D6C + msgbox Route132_Text_2A3D8B, 6 + end + +Route132_EventScript_1F7546:: @ 81F7546 + trainerbattle 0, TRAINER_PAXTON, 0, Route132_Text_2A3F4F, Route132_Text_2A3FA8 + msgbox Route132_Text_2A3FE5, 6 + end + +Route132_EventScript_1F755D:: @ 81F755D + trainerbattle 0, TRAINER_DARCY, 0, Route132_Text_2A4026, Route132_Text_2A406E + msgbox Route132_Text_2A40A4, 6 + end + +Route132_EventScript_1F7574:: @ 81F7574 + trainerbattle 0, TRAINER_JONATHAN, 0, Route132_Text_2A3EAC, Route132_Text_2A3EDD + msgbox Route132_Text_2A3F03, 6 + end + +Route132_EventScript_1F758B:: @ 81F758B + trainerbattle 0, TRAINER_MAKAYLA, 0, Route132_Text_2A3DF0, Route132_Text_2A3E2C + msgbox Route132_Text_2A3E4E, 6 + end + diff --git a/data/scripts/maps/Route133.inc b/data/scripts/maps/Route133.inc new file mode 100644 index 0000000000..dc15a5d400 --- /dev/null +++ b/data/scripts/maps/Route133.inc @@ -0,0 +1,38 @@ +Route133_MapScripts:: @ 81F75A2 + .byte 0 + +Route133_EventScript_1F75A3:: @ 81F75A3 + trainerbattle 0, TRAINER_FRANKLIN, 0, Route133_Text_2A40F0, Route133_Text_2A413F + msgbox Route133_Text_2A4154, 6 + end + +Route133_EventScript_1F75BA:: @ 81F75BA + trainerbattle 0, TRAINER_DEBRA, 0, Route133_Text_2A41A8, Route133_Text_2A4200 + msgbox Route133_Text_2A420E, 6 + end + +Route133_EventScript_1F75D1:: @ 81F75D1 + trainerbattle 0, TRAINER_LINDA, 0, Route133_Text_2A4236, Route133_Text_2A4258 + msgbox Route133_Text_2A4264, 6 + end + +Route133_EventScript_1F75E8:: @ 81F75E8 + trainerbattle 0, TRAINER_WARREN, 0, Route133_Text_2A4290, Route133_Text_2A42E0 + msgbox Route133_Text_2A4304, 6 + end + +Route133_EventScript_1F75FF:: @ 81F75FF + trainerbattle 0, TRAINER_BECK, 0, Route133_Text_2A436A, Route133_Text_2A439C + msgbox Route133_Text_2A43B9, 6 + end + +Route133_EventScript_1F7616:: @ 81F7616 + trainerbattle 0, TRAINER_MOLLIE, 0, Route133_Text_2A4401, Route133_Text_2A443A + msgbox Route133_Text_2A4477, 6 + end + +Route133_EventScript_1F762D:: @ 81F762D + trainerbattle 0, TRAINER_CONOR, 0, Route133_Text_2A44BA, Route133_Text_2A4505 + msgbox Route133_Text_2A4527, 6 + end + diff --git a/data/scripts/maps/Route134.inc b/data/scripts/maps/Route134.inc new file mode 100644 index 0000000000..8ee5b781aa --- /dev/null +++ b/data/scripts/maps/Route134.inc @@ -0,0 +1,53 @@ +Route134_MapScripts:: @ 81F7644 + map_script 5, Route134_MapScript1_1F764A + .byte 0 + +Route134_MapScript1_1F764A: @ 81F764A + setdivewarp UNDERWATER_ROUTE_134, 255, 8, 6 + end + +Route134_EventScript_1F7653:: @ 81F7653 + trainerbattle 0, TRAINER_JACK, 0, Route134_Text_2A4571, Route134_Text_2A45BB + msgbox Route134_Text_2A45C5, 6 + end + +Route134_EventScript_1F766A:: @ 81F766A + trainerbattle 0, TRAINER_LAUREL, 0, Route134_Text_2A4609, Route134_Text_2A4643 + msgbox Route134_Text_2A464B, 6 + end + +Route134_EventScript_1F7681:: @ 81F7681 + trainerbattle 0, TRAINER_ALEX, 0, Route134_Text_2A4682, Route134_Text_2A46BE + msgbox Route134_Text_2A46D2, 6 + end + +Route134_EventScript_1F7698:: @ 81F7698 + trainerbattle 0, TRAINER_AARON, 0, Route134_Text_2A479E, Route134_Text_2A47E1 + msgbox Route134_Text_2A47FD, 6 + end + +Route134_EventScript_1F76AF:: @ 81F76AF + trainerbattle 0, TRAINER_HITOSHI, 0, Route134_Text_2A4709, Route134_Text_2A4745 + msgbox Route134_Text_2A475D, 6 + end + +Route134_EventScript_1F76C6:: @ 81F76C6 + trainerbattle 0, TRAINER_HUDSON, 0, Route134_Text_2A4A8F, Route134_Text_2A4AC1 + msgbox Route134_Text_2A4AD8, 6 + end + +Route134_EventScript_1F76DD:: @ 81F76DD + trainerbattle 0, TRAINER_REYNA, 0, Route134_Text_2A49E9, Route134_Text_2A4A10 + msgbox Route134_Text_2A4A34, 6 + end + +Route134_EventScript_1F76F4:: @ 81F76F4 + trainerbattle 0, TRAINER_MARLEY, 0, Route134_Text_2A4937, Route134_Text_2A496B + msgbox Route134_Text_2A49B1, 6 + end + +Route134_EventScript_1F770B:: @ 81F770B + trainerbattle 0, TRAINER_KELVIN, 0, Route134_Text_2A4875, Route134_Text_2A489B + msgbox Route134_Text_2A48BD, 6 + end + diff --git a/data/scripts/maps/RustboroCity.inc b/data/scripts/maps/RustboroCity.inc new file mode 100644 index 0000000000..8798a586a5 --- /dev/null +++ b/data/scripts/maps/RustboroCity.inc @@ -0,0 +1,1310 @@ +RustboroCity_MapScripts:: @ 81E06BD + map_script 3, RustboroCity_MapScript1_1E06C8 + map_script 2, RustboroCity_MapScript2_1E070B + .byte 0 + +RustboroCity_MapScript1_1E06C8: @ 81E06C8 + setflag FLAG_VISITED_RUSTBORO_CITY + call RustboroCity_EventScript_271ED7 + compare VAR_0x405A, 6 + call_if 1, RustboroCity_EventScript_1E0707 + getplayerxy VAR_0x4000, VAR_0x4001 + compare VAR_0x405A, 6 + goto_eq RustboroCity_EventScript_1E06EC + end + +RustboroCity_EventScript_1E06EC:: @ 81E06EC + compare VAR_0x4000, 11 + goto_eq RustboroCity_EventScript_1E06FF + setobjectxyperm 15, 12, 15 + end + +RustboroCity_EventScript_1E06FF:: @ 81E06FF + setobjectxyperm 15, 11, 15 + end + +RustboroCity_EventScript_1E0707:: @ 81E0707 + setflag FLAG_SPECIAL_FLAG_0x4000 + return + +RustboroCity_MapScript2_1E070B: @ 81E070B + map_script_2 VAR_0x405A, 6, RustboroCity_EventScript_1E0715 + .2byte 0 + +RustboroCity_EventScript_1E0715:: @ 81E0715 + lockall + setvar VAR_0x4063, 1 + applymovement 255, RustboroCity_Movement_1E0850 + waitmovement 0 + playse SE_KAIDAN + delay 10 + addobject 15 + applymovement 15, RustboroCity_Movement_1E0852 + waitmovement 0 + playse SE_PIN + applymovement 15, RustboroCity_Movement_272598 + waitmovement 0 + applymovement 15, RustboroCity_Movement_27259A + waitmovement 0 + applymovement 255, RustboroCity_Movement_2725A6 + waitmovement 0 + applymovement 15, RustboroCity_Movement_1E084E + waitmovement 0 + msgbox RustboroCity_Text_1E22A5, 4 + closemessage + setflag FLAG_HAS_MATCH_CALL + applymovement 15, RustboroCity_Movement_2725A4 + waitmovement 0 + playse SE_TK_KASYA + delay 10 + playse SE_TK_KASYA + delay 10 + playse SE_TK_KASYA + delay 10 + playse SE_TK_KASYA + delay 20 + applymovement 15, RustboroCity_Movement_2725AA + waitmovement 0 + msgbox RustboroCity_Text_1E2331, 4 + closemessage + delay 20 + goto RustboroCity_EventScript_1E07BD + +RustboroCity_EventScript_1E07AC:: @ 81E07AC + msgbox RustboroCity_Text_1E2449, 4 + closemessage + delay 10 + goto RustboroCity_EventScript_1E07BD + +RustboroCity_EventScript_1E07BD:: @ 81E07BD + setflag FLAG_0x130 + special sp106_CreateStartMenu + waitstate + switch VAR_RESULT + case 0, RustboroCity_EventScript_1E07AC + case 1, RustboroCity_EventScript_1E07AC + case 2, RustboroCity_EventScript_1E07AC + case 4, RustboroCity_EventScript_1E07AC + case 5, RustboroCity_EventScript_1E07AC + case 6, RustboroCity_EventScript_1E07AC + case 7, RustboroCity_EventScript_1E07AC + case 127, RustboroCity_EventScript_1E07AC + special sub_81C72A4 + waitstate + delay 20 + msgbox RustboroCity_Text_1E2464, 4 + closemessage + applymovement 15, RustboroCity_Movement_1E085D + waitmovement 0 + playse SE_KAIDAN + removeobject 15 + setflag FLAG_0x34C + setvar VAR_0x405A, 7 + clearflag FLAG_SPECIAL_FLAG_0x4000 + releaseall + end + +RustboroCity_Movement_1E084E: @ 81E084E + step_1d + step_end + +RustboroCity_Movement_1E0850: @ 81E0850 + step_down + step_end + +RustboroCity_Movement_1E0852: @ 81E0852 + step_down + step_14 + step_end + +RustboroCity_Movement_1E0855: @ 81E0855 + step_14 + step_left + step_down + step_down + step_right + step_26 + step_14 + step_end + +RustboroCity_Movement_1E085D: @ 81E085D + step_up + step_end + +RustboroCity_EventScript_1E085F:: @ 81E085F + lock + faceplayer + checkflag FLAG_0x08E + goto_eq RustboroCity_EventScript_1E0874 + msgbox RustboroCity_Text_1E123F, 4 + release + end + +RustboroCity_EventScript_1E0874:: @ 81E0874 + msgbox RustboroCity_Text_1E12AC, 4 + release + end + +RustboroCity_EventScript_1E087E:: @ 81E087E + lock + faceplayer + msgbox RustboroCity_Text_1E1407, 4 + release + end + +RustboroCity_EventScript_1E088A:: @ 81E088A + msgbox RustboroCity_Text_1E1480, 2 + end + +RustboroCity_EventScript_1E0893:: @ 81E0893 + lock + faceplayer + checkflag FLAG_BADGE01_GET + goto_eq RustboroCity_EventScript_1E08A8 + msgbox RustboroCity_Text_1E130D, 4 + release + end + +RustboroCity_EventScript_1E08A8:: @ 81E08A8 + msgbox RustboroCity_Text_1E139E, 4 + release + end + +RustboroCity_EventScript_1E08B2:: @ 81E08B2 + lock + faceplayer + checkflag FLAG_0x0BC + goto_eq RustboroCity_EventScript_1E08C7 + msgbox RustboroCity_Text_1E1520, 4 + release + end + +RustboroCity_EventScript_1E08C7:: @ 81E08C7 + msgbox RustboroCity_Text_1E1589, 4 + release + end + +RustboroCity_EventScript_1E08D1:: @ 81E08D1 + msgbox RustboroCity_Text_1E1633, 2 + end + +RustboroCity_EventScript_1E08DA:: @ 81E08DA + msgbox RustboroCity_Text_1E1695, 3 + end + +RustboroCity_EventScript_1E08E3:: @ 81E08E3 + msgbox RustboroCity_Text_1E20A6, 3 + end + +RustboroCity_EventScript_1E08EC:: @ 81E08EC + msgbox RustboroCity_Text_1E2128, 3 + end + +RustboroCity_EventScript_1E08F5:: @ 81E08F5 + msgbox RustboroCity_Text_1E2167, 3 + end + +RustboroCity_EventScript_1E08FE:: @ 81E08FE + msgbox RustboroCity_Text_1E21B3, 3 + end + +RustboroCity_EventScript_1E0907:: @ 81E0907 + msgbox RustboroCity_Text_1E220B, 3 + end + +RustboroCity_EventScript_1E0910:: @ 81E0910 + msgbox RustboroCity_Text_1E2253, 3 + end + +RustboroCity_EventScript_1E0919:: @ 81E0919 + msgbox RustboroCity_Text_1E2296, 3 + end + +RustboroCity_EventScript_1E0922:: @ 81E0922 + lock + faceplayer + msgbox RustboroCity_Text_1E16F4, 4 + applymovement 7, RustboroCity_Movement_2725A2 + waitmovement 0 + release + end + +RustboroCity_EventScript_1E0938:: @ 81E0938 + lock + faceplayer + msgbox RustboroCity_Text_1E174B, 4 + applymovement 8, RustboroCity_Movement_2725A2 + waitmovement 0 + release + end + +RustboroCity_EventScript_1E094E:: @ 81E094E + lock + faceplayer + msgbox RustboroCity_Text_1E1789, 4 + release + end + +RustboroCity_EventScript_1E095A:: @ 81E095A + lockall + setobjectxyperm 9, 14, 21 + setobjectmovementtype 9, 10 + setvar VAR_0x8004, 0 + goto RustboroCity_EventScript_1E09CD + end + +RustboroCity_EventScript_1E0971:: @ 81E0971 + lockall + setobjectxyperm 9, 14, 21 + setobjectmovementtype 9, 10 + setvar VAR_0x8004, 1 + goto RustboroCity_EventScript_1E09CD + end + +RustboroCity_EventScript_1E0988:: @ 81E0988 + lockall + setobjectxyperm 9, 14, 21 + setobjectmovementtype 9, 10 + setvar VAR_0x8004, 2 + goto RustboroCity_EventScript_1E09CD + end + +RustboroCity_EventScript_1E099F:: @ 81E099F + lockall + setobjectxyperm 9, 14, 21 + setobjectmovementtype 9, 10 + setvar VAR_0x8004, 3 + goto RustboroCity_EventScript_1E09CD + end + +RustboroCity_EventScript_1E09B6:: @ 81E09B6 + lockall + setobjectxyperm 9, 14, 21 + setobjectmovementtype 9, 10 + setvar VAR_0x8004, 4 + goto RustboroCity_EventScript_1E09CD + end + +RustboroCity_EventScript_1E09CD:: @ 81E09CD + msgbox RustboroCity_Text_1E17FE, 4 + closemessage + playbgm MUS_AQA_0, 0 + addobject 10 + addobject 9 + applymovement 10, RustboroCity_Movement_1E0AA0 + waitmovement 0 + removeobject 10 + applymovement 9, RustboroCity_Movement_1E0AB1 + waitmovement 0 + msgbox RustboroCity_Text_1E1817, 4 + closemessage + applymovement 9, RustboroCity_Movement_1E0AB9 + waitmovement 0 + fadedefaultbgm + removeobject 9 + setobjectxyperm 9, 30, 10 + clearflag FLAG_0x2DC + setflag FLAG_0x08E + setvar VAR_0x405A, 2 + setvar VAR_0x409A, 2 + setvar VAR_0x406F, 1 + clearflag FLAG_0x37B + clearflag FLAG_0x370 + clearflag FLAG_0x36E + setflag FLAG_0x2E3 + setflag FLAG_0x371 + releaseall + end + +RustboroCity_EventScript_1E0A3B:: @ 81E0A3B + msgbox RustboroCity_Text_1E1904, 4 + return + +RustboroCity_EventScript_1E0A44:: @ 81E0A44 + msgbox RustboroCity_Text_1E194D, 4 + return + +RustboroCity_EventScript_1E0A4D:: @ 81E0A4D + applymovement 9, RustboroCity_Movement_1E0AC1 + waitmovement 0 + return + +RustboroCity_EventScript_1E0A58:: @ 81E0A58 + applymovement 9, RustboroCity_Movement_1E0AC5 + waitmovement 0 + return + +RustboroCity_EventScript_1E0A63:: @ 81E0A63 + applymovement 9, RustboroCity_Movement_1E0ACA + waitmovement 0 + return + +RustboroCity_EventScript_1E0A6E:: @ 81E0A6E + applymovement 9, RustboroCity_Movement_1E0ACF + waitmovement 0 + return + +RustboroCity_EventScript_1E0A79:: @ 81E0A79 + applymovement 9, RustboroCity_Movement_1E0AD5 + waitmovement 0 + applymovement 255, RustboroCity_Movement_2725A6 + waitmovement 0 + return + +RustboroCity_Movement_1E0A8E: @ 81E0A8E + step_30 + step_30 + step_18 + step_18 + step_18 + step_18 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_end + +RustboroCity_Movement_1E0AA0: @ 81E0AA0 + step_30 + step_30 + step_18 + step_18 + step_18 + step_18 + step_18 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_16 + step_end + +RustboroCity_Movement_1E0AB1: @ 81E0AB1 + step_right + step_right + step_right + step_right + step_right + step_right + step_26 + step_end + +RustboroCity_Movement_1E0AB9: @ 81E0AB9 + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_end + +RustboroCity_Movement_1E0AC1: @ 81E0AC1 + step_down + step_right + step_right + step_end + +RustboroCity_Movement_1E0AC5: @ 81E0AC5 + step_down + step_down + step_right + step_right + step_end + +RustboroCity_Movement_1E0ACA: @ 81E0ACA + step_down + step_down + step_right + step_right + step_end + +RustboroCity_Movement_1E0ACF: @ 81E0ACF + step_down + step_down + step_down + step_right + step_right + step_end + +RustboroCity_Movement_1E0AD5: @ 81E0AD5 + step_down + step_down + step_down + step_right + step_right + step_right + step_25 + step_end + +RustboroCity_EventScript_1E0ADD:: @ 81E0ADD + lock + faceplayer + checkflag FLAG_0x08F + goto_eq RustboroCity_EventScript_1E0AF2 + msgbox RustboroCity_Text_1E1904, 4 + release + end + +RustboroCity_EventScript_1E0AF2:: @ 81E0AF2 + waitse + setvar VAR_0x4001, 4 + goto RustboroCity_EventScript_1E0C5B + end + +RustboroCity_EventScript_1E0AFE:: @ 81E0AFE + lockall + setvar VAR_0x4001, 0 + goto RustboroCity_EventScript_1E0B2E + end + +RustboroCity_EventScript_1E0B0A:: @ 81E0B0A + lockall + setvar VAR_0x4001, 1 + goto RustboroCity_EventScript_1E0B2E + end + +RustboroCity_EventScript_1E0B16:: @ 81E0B16 + lockall + setvar VAR_0x4001, 2 + goto RustboroCity_EventScript_1E0B2E + end + +RustboroCity_EventScript_1E0B22:: @ 81E0B22 + lockall + setvar VAR_0x4001, 3 + goto RustboroCity_EventScript_1E0B2E + end + +RustboroCity_EventScript_1E0B2E:: @ 81E0B2E + compare VAR_0x4001, 0 + call_if 1, RustboroCity_EventScript_1E0B6F + compare VAR_0x4001, 1 + call_if 1, RustboroCity_EventScript_1E0B9B + compare VAR_0x4001, 2 + call_if 1, RustboroCity_EventScript_1E0BC7 + compare VAR_0x4001, 3 + call_if 1, RustboroCity_EventScript_1E0BF3 + setflag FLAG_0x09F + setvar VAR_0x405A, 3 + moveobjectoffscreen 9 + msgbox RustboroCity_Text_1E183E, 4 + releaseall + end + +RustboroCity_EventScript_1E0B6F:: @ 81E0B6F + applymovement 9, RustboroCity_Movement_2725A6 + waitmovement 0 + playse SE_PIN + applymovement 9, RustboroCity_Movement_272598 + waitmovement 0 + applymovement 9, RustboroCity_Movement_27259A + waitmovement 0 + applymovement 255, RustboroCity_Movement_2725AA + waitmovement 0 + return + +RustboroCity_EventScript_1E0B9B:: @ 81E0B9B + applymovement 9, RustboroCity_Movement_2725A4 + waitmovement 0 + playse SE_PIN + applymovement 9, RustboroCity_Movement_272598 + waitmovement 0 + applymovement 9, RustboroCity_Movement_27259A + waitmovement 0 + applymovement 255, RustboroCity_Movement_2725AC + waitmovement 0 + return + +RustboroCity_EventScript_1E0BC7:: @ 81E0BC7 + applymovement 9, RustboroCity_Movement_2725AA + waitmovement 0 + playse SE_PIN + applymovement 9, RustboroCity_Movement_272598 + waitmovement 0 + applymovement 9, RustboroCity_Movement_27259A + waitmovement 0 + applymovement 255, RustboroCity_Movement_2725A6 + waitmovement 0 + return + +RustboroCity_EventScript_1E0BF3:: @ 81E0BF3 + applymovement 9, RustboroCity_Movement_2725AA + waitmovement 0 + playse SE_PIN + applymovement 9, RustboroCity_Movement_272598 + waitmovement 0 + applymovement 9, RustboroCity_Movement_27259A + waitmovement 0 + applymovement 9, RustboroCity_Movement_1E0C29 + waitmovement 0 + applymovement 255, RustboroCity_Movement_2725A6 + waitmovement 0 + return + +RustboroCity_Movement_1E0C29: @ 81E0C29 + step_down + step_end + +RustboroCity_EventScript_1E0C2B:: @ 81E0C2B + lockall + setvar VAR_0x4001, 0 + goto RustboroCity_EventScript_1E0C5B + end + +RustboroCity_EventScript_1E0C37:: @ 81E0C37 + lockall + setvar VAR_0x4001, 1 + goto RustboroCity_EventScript_1E0C5B + end + +RustboroCity_EventScript_1E0C43:: @ 81E0C43 + lockall + setvar VAR_0x4001, 2 + goto RustboroCity_EventScript_1E0C5B + end + +RustboroCity_EventScript_1E0C4F:: @ 81E0C4F + lockall + setvar VAR_0x4001, 3 + goto RustboroCity_EventScript_1E0C5B + end + +RustboroCity_EventScript_1E0C5B:: @ 81E0C5B + compare VAR_0x4001, 0 + call_if 1, RustboroCity_EventScript_1E0CDC + compare VAR_0x4001, 1 + call_if 1, RustboroCity_EventScript_1E0D08 + compare VAR_0x4001, 2 + call_if 1, RustboroCity_EventScript_1E0D34 + compare VAR_0x4001, 3 + call_if 1, RustboroCity_EventScript_1E0D60 + compare VAR_0x4001, 4 + call_if 1, RustboroCity_EventScript_1E0D96 + msgbox RustboroCity_Text_1E194D, 4 + giveitem_std ITEM_GREAT_BALL + compare VAR_RESULT, 0 + call_if 1, RustboroCity_EventScript_1E0CD3 + msgbox RustboroCity_Text_1E1A21, 4 + closemessage + setflag FLAG_0x090 + setflag FLAG_0x2DC + setvar VAR_0x405A, 5 + delay 30 + warp RUSTBORO_CITY_DEVON_CORP_3F, 255, 2, 2 + waitstate + releaseall + end + +RustboroCity_EventScript_1E0CD3:: @ 81E0CD3 + msgbox RustboroCity_Text_1E19E5, 4 + return + +RustboroCity_EventScript_1E0CDC:: @ 81E0CDC + applymovement 9, RustboroCity_Movement_2725A6 + waitmovement 0 + playse SE_PIN + applymovement 9, RustboroCity_Movement_272598 + waitmovement 0 + applymovement 9, RustboroCity_Movement_27259A + waitmovement 0 + applymovement 255, RustboroCity_Movement_2725AA + waitmovement 0 + return + +RustboroCity_EventScript_1E0D08:: @ 81E0D08 + applymovement 9, RustboroCity_Movement_2725A8 + waitmovement 0 + playse SE_PIN + applymovement 9, RustboroCity_Movement_272598 + waitmovement 0 + applymovement 9, RustboroCity_Movement_27259A + waitmovement 0 + applymovement 255, RustboroCity_Movement_2725AE + waitmovement 0 + return + +RustboroCity_EventScript_1E0D34:: @ 81E0D34 + applymovement 9, RustboroCity_Movement_2725AA + waitmovement 0 + playse SE_PIN + applymovement 9, RustboroCity_Movement_272598 + waitmovement 0 + applymovement 9, RustboroCity_Movement_27259A + waitmovement 0 + applymovement 255, RustboroCity_Movement_2725A6 + waitmovement 0 + return + +RustboroCity_EventScript_1E0D60:: @ 81E0D60 + applymovement 9, RustboroCity_Movement_2725AA + waitmovement 0 + playse SE_PIN + applymovement 9, RustboroCity_Movement_272598 + waitmovement 0 + applymovement 9, RustboroCity_Movement_27259A + waitmovement 0 + applymovement 9, RustboroCity_Movement_1E0C29 + waitmovement 0 + applymovement 255, RustboroCity_Movement_2725A6 + waitmovement 0 + return + +RustboroCity_EventScript_1E0D96:: @ 81E0D96 + applymovement 9, RustboroCity_Movement_2725A4 + waitmovement 0 + playse SE_PIN + applymovement 9, RustboroCity_Movement_272598 + waitmovement 0 + applymovement 9, RustboroCity_Movement_27259A + waitmovement 0 + return + +RustboroCity_EventScript_1E0DB8:: @ 81E0DB8 + lockall + checkflag FLAG_0x120 + call_if 0, RustboroCity_EventScript_1E0DD1 + applymovement 14, RustboroCity_Movement_27259E + waitmovement 0 + goto RustboroCity_EventScript_1E0FF3 + +Route104_EventScript_1E0DD1:: @ 81E0DD1 +RustboroCity_EventScript_1E0DD1:: @ 81E0DD1 + checkplayergender + compare VAR_RESULT, 0 + goto_eq RustboroCity_EventScript_1E0DE9 + compare VAR_RESULT, 1 + goto_eq RustboroCity_EventScript_1E0DEE + return + +RustboroCity_EventScript_1E0DE9:: @ 81E0DE9 + playbgm MUS_GIRL_SUP, 1 + return + +RustboroCity_EventScript_1E0DEE:: @ 81E0DEE + playbgm MUS_BOY_SUP, 1 + return + +RustboroCity_EventScript_1E0DF3:: @ 81E0DF3 + lockall + call RustboroCity_EventScript_1E0DD1 + applymovement 14, RustboroCity_Movement_2725AA + waitmovement 0 + playse SE_PIN + applymovement 14, RustboroCity_Movement_272598 + waitmovement 0 + applymovement 14, RustboroCity_Movement_27259A + waitmovement 0 + applymovement 14, RustboroCity_Movement_1E120E + waitmovement 0 + applymovement 255, RustboroCity_Movement_2725A6 + waitmovement 0 + goto RustboroCity_EventScript_1E0FF3 + +RustboroCity_EventScript_1E0E33:: @ 81E0E33 + lockall + call RustboroCity_EventScript_1E0DD1 + applymovement 14, RustboroCity_Movement_2725AA + waitmovement 0 + playse SE_PIN + applymovement 14, RustboroCity_Movement_272598 + waitmovement 0 + applymovement 14, RustboroCity_Movement_27259A + waitmovement 0 + applymovement 14, RustboroCity_Movement_1E1215 + waitmovement 0 + applymovement 255, RustboroCity_Movement_2725A6 + waitmovement 0 + goto RustboroCity_EventScript_1E0FF3 + +RustboroCity_EventScript_1E0E73:: @ 81E0E73 + lockall + call RustboroCity_EventScript_1E0DD1 + applymovement 14, RustboroCity_Movement_2725AA + waitmovement 0 + playse SE_PIN + applymovement 14, RustboroCity_Movement_272598 + waitmovement 0 + applymovement 14, RustboroCity_Movement_27259A + waitmovement 0 + applymovement 14, RustboroCity_Movement_1E121B + waitmovement 0 + applymovement 255, RustboroCity_Movement_2725A6 + waitmovement 0 + goto RustboroCity_EventScript_1E0FF3 + +RustboroCity_EventScript_1E0EB3:: @ 81E0EB3 + lockall + call RustboroCity_EventScript_1E0DD1 + applymovement 14, RustboroCity_Movement_2725AA + waitmovement 0 + playse SE_PIN + applymovement 14, RustboroCity_Movement_272598 + waitmovement 0 + applymovement 14, RustboroCity_Movement_27259A + waitmovement 0 + applymovement 14, RustboroCity_Movement_1E1220 + waitmovement 0 + applymovement 255, RustboroCity_Movement_2725A6 + waitmovement 0 + goto RustboroCity_EventScript_1E0FF3 + +RustboroCity_EventScript_1E0EF3:: @ 81E0EF3 + lockall + call RustboroCity_EventScript_1E0DD1 + applymovement 14, RustboroCity_Movement_2725AA + waitmovement 0 + playse SE_PIN + applymovement 14, RustboroCity_Movement_272598 + waitmovement 0 + applymovement 14, RustboroCity_Movement_27259A + waitmovement 0 + applymovement 14, RustboroCity_Movement_1E1224 + waitmovement 0 + applymovement 255, RustboroCity_Movement_2725A6 + waitmovement 0 + goto RustboroCity_EventScript_1E0FF3 + +RustboroCity_EventScript_1E0F33:: @ 81E0F33 + lockall + call RustboroCity_EventScript_1E0DD1 + applymovement 14, RustboroCity_Movement_2725AA + waitmovement 0 + playse SE_PIN + applymovement 14, RustboroCity_Movement_272598 + waitmovement 0 + applymovement 14, RustboroCity_Movement_27259A + waitmovement 0 + applymovement 14, RustboroCity_Movement_1E1227 + waitmovement 0 + applymovement 255, RustboroCity_Movement_2725A6 + waitmovement 0 + goto RustboroCity_EventScript_1E0FF3 + +RustboroCity_EventScript_1E0F73:: @ 81E0F73 + lockall + call RustboroCity_EventScript_1E0DD1 + applymovement 14, RustboroCity_Movement_2725AA + waitmovement 0 + playse SE_PIN + applymovement 14, RustboroCity_Movement_272598 + waitmovement 0 + applymovement 14, RustboroCity_Movement_27259A + waitmovement 0 + applymovement 14, RustboroCity_Movement_1E122B + waitmovement 0 + applymovement 255, RustboroCity_Movement_2725A6 + waitmovement 0 + goto RustboroCity_EventScript_1E0FF3 + +RustboroCity_EventScript_1E0FB3:: @ 81E0FB3 + lockall + call RustboroCity_EventScript_1E0DD1 + applymovement 14, RustboroCity_Movement_2725AA + waitmovement 0 + playse SE_PIN + applymovement 14, RustboroCity_Movement_272598 + waitmovement 0 + applymovement 14, RustboroCity_Movement_27259A + waitmovement 0 + applymovement 14, RustboroCity_Movement_1E1230 + waitmovement 0 + applymovement 255, RustboroCity_Movement_2725A6 + waitmovement 0 + goto RustboroCity_EventScript_1E0FF3 + +RustboroCity_EventScript_1E0FF3:: @ 81E0FF3 + checkplayergender + compare VAR_RESULT, 0 + goto_eq RustboroCity_EventScript_1E100B + compare VAR_RESULT, 1 + goto_eq RustboroCity_EventScript_1E1114 + end + +RustboroCity_EventScript_1E100B:: @ 81E100B + checkflag FLAG_0x0D3 + goto_eq RustboroCity_EventScript_1E10C1 + checkflag FLAG_0x120 + goto_eq RustboroCity_EventScript_1E1070 + setflag FLAG_0x120 + msgbox RustboroCity_Text_1E1A49, 4 + closemessage + delay 30 + playfanfare MUS_ME_TORE_EYE + msgbox RustboroCity_Text_1E1ADB, 4 + waitfanfare + closemessage + delay 30 + setflag FLAG_0x0FD + setvar VAR_0x405A, 8 + setvar VAR_0x4063, 2 + setvar VAR_0x8008, 0 + msgbox RustboroCity_Text_1E1AFA, 5 + compare VAR_RESULT, 1 + goto_eq RustboroCity_EventScript_1E1092 + msgbox RustboroCity_Text_1E1BD3, 4 + call RustboroCity_EventScript_1E10D6 + releaseall + end + +RustboroCity_EventScript_1E1070:: @ 81E1070 + setvar VAR_0x8008, 1 + msgbox RustboroCity_Text_1E1C48, 5 + compare VAR_RESULT, 1 + goto_eq RustboroCity_EventScript_1E1092 + msgbox RustboroCity_Text_1E1BD3, 4 + releaseall + end + +RustboroCity_EventScript_1E1092:: @ 81E1092 + msgbox RustboroCity_Text_1E1C84, 4 + switch VAR_FIRST_POKE + case 0, RustboroCity_EventScript_1E10DB + case 1, RustboroCity_EventScript_1E10EE + case 2, RustboroCity_EventScript_1E1101 + end + +RustboroCity_EventScript_1E10C1:: @ 81E10C1 + msgbox RustboroCity_Text_1E1CE7, 4 + compare VAR_0x8008, 0 + call_if 1, RustboroCity_EventScript_1E10D6 + releaseall + end + +RustboroCity_EventScript_1E10D6:: @ 81E10D6 + savebgm MUS_DUMMY + fadedefaultbgm + return + +RustboroCity_EventScript_1E10DB:: @ 81E10DB + trainerbattle 3, TRAINER_MAY_14, 0, RustboroCity_Text_1E1CC1 + setflag FLAG_0x0D3 + goto RustboroCity_EventScript_1E10C1 + end + +RustboroCity_EventScript_1E10EE:: @ 81E10EE + trainerbattle 3, TRAINER_MAY_15, 0, RustboroCity_Text_1E1CC1 + setflag FLAG_0x0D3 + goto RustboroCity_EventScript_1E10C1 + end + +RustboroCity_EventScript_1E1101:: @ 81E1101 + trainerbattle 3, TRAINER_MAY_10, 0, RustboroCity_Text_1E1CC1 + setflag FLAG_0x0D3 + goto RustboroCity_EventScript_1E10C1 + end + +RustboroCity_EventScript_1E1114:: @ 81E1114 + checkflag FLAG_0x0D3 + goto_eq RustboroCity_EventScript_1E11C0 + checkflag FLAG_0x120 + goto_eq RustboroCity_EventScript_1E1174 + setflag FLAG_0x120 + msgbox RustboroCity_Text_1E1D7D, 4 + closemessage + delay 30 + playfanfare MUS_ME_TORE_EYE + msgbox RustboroCity_Text_1E1E11, 4 + waitfanfare + closemessage + delay 30 + setflag FLAG_0x0FD + setvar VAR_0x405A, 8 + setvar VAR_0x4063, 2 + msgbox RustboroCity_Text_1E1E34, 5 + compare VAR_RESULT, 1 + goto_eq RustboroCity_EventScript_1E1191 + msgbox RustboroCity_Text_1E1F2F, 4 + call RustboroCity_EventScript_1E10D6 + releaseall + end + +RustboroCity_EventScript_1E1174:: @ 81E1174 + msgbox RustboroCity_Text_1E1F76, 5 + compare VAR_RESULT, 1 + goto_eq RustboroCity_EventScript_1E1191 + msgbox RustboroCity_Text_1E1F2F, 4 + releaseall + end + +RustboroCity_EventScript_1E1191:: @ 81E1191 + msgbox RustboroCity_Text_1E1FA9, 4 + switch VAR_FIRST_POKE + case 0, RustboroCity_EventScript_1E11D5 + case 1, RustboroCity_EventScript_1E11E8 + case 2, RustboroCity_EventScript_1E11FB + end + +RustboroCity_EventScript_1E11C0:: @ 81E11C0 + msgbox RustboroCity_Text_1E2002, 4 + compare VAR_0x8008, 0 + call_if 1, RustboroCity_EventScript_1E10D6 + releaseall + end + +RustboroCity_EventScript_1E11D5:: @ 81E11D5 + trainerbattle 3, TRAINER_BRENDAN_10, 0, RustboroCity_Text_1E1FE9 + setflag FLAG_0x0D3 + goto RustboroCity_EventScript_1E11C0 + end + +RustboroCity_EventScript_1E11E8:: @ 81E11E8 + trainerbattle 3, TRAINER_BRENDAN_12, 0, RustboroCity_Text_1E1FE9 + setflag FLAG_0x0D3 + goto RustboroCity_EventScript_1E11C0 + end + +RustboroCity_EventScript_1E11FB:: @ 81E11FB + trainerbattle 3, TRAINER_BRENDAN_11, 0, RustboroCity_Text_1E1FE9 + setflag FLAG_0x0D3 + goto RustboroCity_EventScript_1E11C0 + end + +RustboroCity_Movement_1E120E: @ 81E120E + step_down + step_left + step_left + step_left + step_left + step_down + step_end + +RustboroCity_Movement_1E1215: @ 81E1215 + step_down + step_left + step_left + step_left + step_down + step_end + +RustboroCity_Movement_1E121B: @ 81E121B + step_down + step_left + step_left + step_down + step_end + +RustboroCity_Movement_1E1220: @ 81E1220 + step_down + step_left + step_down + step_end + +RustboroCity_Movement_1E1224: @ 81E1224 + step_down + step_down + step_end + +RustboroCity_Movement_1E1227: @ 81E1227 + step_down + step_right + step_down + step_end + +RustboroCity_Movement_1E122B: @ 81E122B + step_down + step_right + step_right + step_down + step_end + +RustboroCity_Movement_1E1230: @ 81E1230 + step_down + step_right + step_right + step_right + step_down + step_end + +RustboroCity_EventScript_1E1236:: @ 81E1236 + msgbox RustboroCity_Text_1E249D, 2 + end + +RustboroCity_Text_1E123F: @ 81E123F + .string "The DEVON CORPORATION…\n" + .string "We all just shorten it to DEVON.\p" + .string "That company makes all sorts of\n" + .string "convenient products.$" + +RustboroCity_Text_1E12AC: @ 81E12AC + .string "Hm? A sneaky-looking man?\p" + .string "Come to think of it, yes, a shady-\n" + .string "looking guy went around the corner.$" + +RustboroCity_Text_1E130D: @ 81E130D + .string "Have you taken the POKéMON GYM\n" + .string "challenge?\p" + .string "When you get that shiny GYM BADGE\n" + .string "in hand, I guess TRAINERS begin to\l" + .string "realize what is required of them.$" + +RustboroCity_Text_1E139E: @ 81E139E + .string "Hey, that’s RUSTBORO’s GYM BADGE!\p" + .string "Out of all the POKéMON GYM BADGES,\n" + .string "RUSTBORO’s is the coolest, I’d say.$" + +RustboroCity_Text_1E1407: @ 81E1407 + .string "Oh? Who might you be?\n" + .string "You’re a new face around these parts.\p" + .string "Have you just transferred into the\n" + .string "POKéMON TRAINER’S SCHOOL?$" + +RustboroCity_Text_1E1480: @ 81E1480 + .string "I challenged the GYM LEADER, but…\p" + .string "It’s not going to be easy winning with\n" + .string "my FIRE-type POKéMON…\p" + .string "FIRE-type POKéMON don’t match up\n" + .string "well against ROCK-type POKéMON…$" + +RustboroCity_Text_1E1520: @ 81E1520 + .string "The old sailor MR. BRINEY lives in\n" + .string "a cottage by the sea.\p" + .string "He goes for walks in the tunnel every\n" + .string "so often.$" + +RustboroCity_Text_1E1589: @ 81E1589 + .string "The old sailor MR. BRINEY lives in\n" + .string "a cottage by the sea.\p" + .string "He said he was going shopping in\n" + .string "SLATEPORT for his pet, PEEKO.\p" + .string "That old sea dog, he must really love\n" + .string "that PEEKO.$" + +RustboroCity_Text_1E1633: @ 81E1633 + .string "Wow, you have POKéMON with you, too.\p" + .string "When I get bigger, I’m going to go\n" + .string "places with POKéMON, too.$" + +RustboroCity_Text_1E1695: @ 81E1695 + .string "POKéMON TRAINER’S SCHOOL!\p" + .string "If I go to this school, will I be able\n" + .string "to catch rare POKéMON easily?$" + +RustboroCity_Text_1E16F4: @ 81E16F4 + .string "If a POKéMON gains experience in\n" + .string "battles, it can sometimes change in\l" + .string "the way it looks.$" + +RustboroCity_Text_1E174B: @ 81E174B + .string "A POKéMON changes shape?\n" + .string "If one did that, I would be shocked!$" + +RustboroCity_Text_1E1789: @ 81E1789 + .string "A POKéMON you get in a trade from\n" + .string "someone grows fast.\p" + .string "But if you don’t have certain GYM\n" + .string "BADGES, it may not obey you…$" + +RustboroCity_Text_1E17FE: @ 81E17FE + .string "Get out!\n" + .string "Out of the way!$" + +RustboroCity_Text_1E1817: @ 81E1817 + .string "Wait! Pleeeaaase!\p" + .string "Don’t take my GOODS!$" + +RustboroCity_Text_1E183E: @ 81E183E + .string "Oh, it’s you!\p" + .string "You’re that fantastic TRAINER who\n" + .string "helped me in PETALBURG WOODS!\p" + .string "Help me! I was robbed by TEAM AQUA!\n" + .string "I have to get the DEVON GOODS back!\p" + .string "If I don’t…\n" + .string "I’m going to be in serious trouble.$" + +RustboroCity_Text_1E1904: @ 81E1904 + .string "That shady character, I think he took\n" + .string "off towards the tunnel over there.$" + +RustboroCity_Text_1E194D: @ 81E194D + .string "Oh! How did it go?\n" + .string "The DEVON GOODS?\p" + .string "You did!\n" + .string "You got them back!\p" + .string "You really are a great TRAINER!\p" + .string "I know! As my thanks, I’ll give you\n" + .string "another GREAT BALL!$" + +RustboroCity_Text_1E19E5: @ 81E19E5 + .string "You’re loaded with items.\n" + .string "I can’t give you this GREAT BALL.$" + +RustboroCity_Text_1E1A21: @ 81E1A21 + .string "Excuse me, please!\n" + .string "Please come with me!$" + +RustboroCity_Text_1E1A49: @ 81E1A49 + .string "MAY: Oh, hi, {PLAYER}{KUN}!\p" + .string "You had a MATCH CALL feature put\n" + .string "on your POKéNAV!\p" + .string "Let’s register each other so we can\n" + .string "contact one another anytime!\p" + .string "… … … … … …$" + +RustboroCity_Text_1E1ADB: @ 81E1ADB + .string "Registered MAY\n" + .string "in the POKéNAV.$" + +RustboroCity_Text_1E1AFA: @ 81E1AFA + .string "MAY: Oh, by the way, I passed\n" + .string "MR. BRINEY in PETALBURG WOODS.\p" + .string "I guess he’s on his way home to his\n" + .string "cottage by the sea.\p" + .string "How’s your POKéDEX coming along,\n" + .string "{PLAYER}{KUN}? Mine’s looking pretty decent!\p" + .string "So…\n" + .string "How about a little battle?$" + +RustboroCity_Text_1E1BD3: @ 81E1BD3 + .string "MAY: Oh, what’s the matter?\p" + .string "Haven’t you caught or raised your\n" + .string "POKéMON very much?\p" + .string "That’s not very good for a TRAINER!$" + +RustboroCity_Text_1E1C48: @ 81E1C48 + .string "MAY: So, what do you think?\n" + .string "How about a little battle here?$" + +RustboroCity_Text_1E1C84: @ 81E1C84 + .string "MAY: You just became a TRAINER,\n" + .string "{PLAYER}{KUN}. I’m not going to lose!$" + +RustboroCity_Text_1E1CC1: @ 81E1CC1 + .string "Yikes!\n" + .string "You’re better than I expected!$" + +RustboroCity_Text_1E1CE7: @ 81E1CE7 + .string "MAY: Oh, by the way, MR. BRINEY, who\n" + .string "I just passed…\p" + .string "{PLAYER}{KUN}, you just moved here so you\n" + .string "might not know this, but MR. BRINEY\l" + .string "was once a revered seafarer.$" + +RustboroCity_Text_1E1D7D: @ 81E1D7D + .string "BRENDAN: Oh, hey, {PLAYER}!\p" + .string "You had a MATCH CALL feature put\n" + .string "on your POKéNAV! Cool!\p" + .string "Let’s register each other so we can\n" + .string "get in touch anytime!\p" + .string "… … … … … …$" + +RustboroCity_Text_1E1E11: @ 81E1E11 + .string "Registered BRENDAN\n" + .string "in the POKéNAV.$" + +RustboroCity_Text_1E1E34: @ 81E1E34 + .string "BRENDAN: By the way, {PLAYER}, I walked\n" + .string "by MR. BRINEY in PETALBURG WOODS.\p" + .string "I bet he was on his way home to his\n" + .string "cottage by the sea.\p" + .string "{PLAYER}, how’s your POKéDEX?\n" + .string "Have you filled in any pages yet?\p" + .string "Mine rules.\p" + .string "Want to have a battle to test how\n" + .string "far you’ve progressed?$" + +RustboroCity_Text_1E1F2F: @ 81E1F2F + .string "BRENDAN: What’s the matter? Don’t have\n" + .string "any confidence in your POKéMON?$" + +RustboroCity_Text_1E1F76: @ 81E1F76 + .string "BRENDAN: What’s up?\n" + .string "Want to have a battle with me?$" + +RustboroCity_Text_1E1FA9: @ 81E1FA9 + .string "BRENDAN: I know you just became\n" + .string "a TRAINER, but I won’t go easy!$" + +RustboroCity_Text_1E1FE9: @ 81E1FE9 + .string "Hmm…\n" + .string "You’re pretty good.$" + +RustboroCity_Text_1E2002: @ 81E2002 + .string "BRENDAN: By the way, you know\n" + .string "MR. BRINEY? The guy I just passed?\p" + .string "I bet you didn’t know this, since you\n" + .string "just moved here, {PLAYER}, but\l" + .string "MR. BRINEY was once a great sailor.$" + +RustboroCity_Text_1E20A6: @ 81E20A6 + .string "“Timesaving tunnel nearing\n" + .string "completion!”\p" + .string "…Is what it says on the sign, but\n" + .string "there’s also a big “X” splashed\l" + .string "across it in red paint…$" + +RustboroCity_Text_1E2128: @ 81E2128 + .string "DEVON CORPORATION\p" + .string "“For all your living needs, we make\n" + .string "it all.”$" + +RustboroCity_Text_1E2167: @ 81E2167 + .string "RUSTBORO CITY POKéMON GYM\n" + .string "LEADER: ROXANNE\p" + .string "“The ROCK-loving honors student!”$" + +RustboroCity_Text_1E21B3: @ 81E21B3 + .string "DEVON CORP. BRANCH OFFICE\p" + .string "“Access limited to DEVON employees\n" + .string "and authorized personnel.”$" + +RustboroCity_Text_1E220B: @ 81E220B + .string "RUSTBORO CITY\p" + .string "“The city probing the integration of\n" + .string "nature and science.”$" + +RustboroCity_Text_1E2253: @ 81E2253 + .string "POKéMON TRAINER’S SCHOOL\p" + .string "“We’ll teach you anything about\n" + .string "POKéMON!”$" + +RustboroCity_Text_1E2296: @ 81E2296 + .string "CUTTER’S HOUSE$" + +RustboroCity_Text_1E22A5: @ 81E22A5 + .string "I’ve been developing an added feature\n" + .string "for the POKéNAV…\p" + .string "And it turned out great!\p" + .string "{PLAYER}, may I see that POKéNAV?\n" + .string "The one our PRESIDENT gave you?$" + +RustboroCity_Text_1E2331: @ 81E2331 + .string "There you go, {PLAYER}!\p" + .string "I added a new feature named\n" + .string "MATCH CALL to your POKéNAV.\p" + .string "Using the MATCH CALL feature,\n" + .string "you can chat with people who have\l" + .string "been registered in your POKéNAV.\p" + .string "{PLAYER}, our PRESIDENT STONE should\n" + .string "be registered in your POKéNAV.\p" + .string "Test it out.\n" + .string "Please give our PRESIDENT a call.$" + +RustboroCity_Text_1E2449: @ 81E2449 + .string "Please select the POKéNAV.$" + +RustboroCity_Text_1E2464: @ 81E2464 + .string "Okay, I’d better get back to work.\n" + .string "Please take care, {PLAYER}!$" + +RustboroCity_Text_1E249D: @ 81E249D + .string "Did you know this?\p" + .string "You can have a 2-on-2 battle even\n" + .string "if you’re not with another TRAINER.\p" + .string "If you catch the eyes of two TRAINERS\n" + .string "when you have two or more POKéMON,\l" + .string "they’ll both challenge you.\p" + .string "Don’t you think it’d be cool if you\n" + .string "could beat two TRAINERS by yourself?$" + diff --git a/data/scripts/maps/RustboroCity_CuttersHouse.inc b/data/scripts/maps/RustboroCity_CuttersHouse.inc new file mode 100644 index 0000000000..e5c7527f78 --- /dev/null +++ b/data/scripts/maps/RustboroCity_CuttersHouse.inc @@ -0,0 +1,53 @@ +RustboroCity_CuttersHouse_MapScripts:: @ 8215BD3 + .byte 0 + +RustboroCity_CuttersHouse_EventScript_215BD4:: @ 8215BD4 + lock + faceplayer + checkflag FLAG_0x089 + goto_eq RustboroCity_CuttersHouse_EventScript_215C00 + msgbox RustboroCity_CuttersHouse_Text_215C13, 4 + giveitem_std ITEM_HM01 + setflag FLAG_0x089 + msgbox RustboroCity_CuttersHouse_Text_215D33, 4 + release + end + +RustboroCity_CuttersHouse_EventScript_215C00:: @ 8215C00 + msgbox RustboroCity_CuttersHouse_Text_215D33, 4 + release + end + +RustboroCity_CuttersHouse_EventScript_215C0A:: @ 8215C0A + msgbox RustboroCity_CuttersHouse_Text_215E39, 2 + end + +RustboroCity_CuttersHouse_Text_215C13: @ 8215C13 + .string "That determined expression…\n" + .string "That limber way you move…\l" + .string "And your well-trained POKéMON…\p" + .string "You’re obviously a skilled TRAINER!\p" + .string "No, wait, don’t say a word.\n" + .string "I can tell just by looking at you.\p" + .string "I’m sure that you can put this\n" + .string "HIDDEN MACHINE to good use.\p" + .string "No need to be modest or shy.\n" + .string "Go on, take it!$" + +RustboroCity_CuttersHouse_Text_215D33: @ 8215D33 + .string "That HIDDEN MACHINE, or HM for\n" + .string "short, is CUT.\p" + .string "An HM move is one that can be used\n" + .string "by POKéMON outside of battle.\p" + .string "Any POKéMON that’s learned CUT can\n" + .string "chop down thin trees if the TRAINER\l" + .string "has earned the STONE BADGE.\p" + .string "And, unlike a TM, an HM can be used\n" + .string "more than once.$" + +RustboroCity_CuttersHouse_Text_215E39: @ 8215E39 + .string "When they were expanding the city of\n" + .string "RUSTBORO, my dad helped out.\p" + .string "He made his POKéMON use CUT to clear\n" + .string "the land of trees.$" + diff --git a/data/scripts/maps/RustboroCity_DevonCorp_1F.inc b/data/scripts/maps/RustboroCity_DevonCorp_1F.inc new file mode 100644 index 0000000000..97d7dcf78c --- /dev/null +++ b/data/scripts/maps/RustboroCity_DevonCorp_1F.inc @@ -0,0 +1,153 @@ +RustboroCity_DevonCorp_1F_MapScripts:: @ 8211245 + map_script 3, RustboroCity_DevonCorp_1F_MapScript1_21124B + .byte 0 + +RustboroCity_DevonCorp_1F_MapScript1_21124B: @ 821124B + checkflag FLAG_0x090 + call_if 0, RustboroCity_DevonCorp_1F_EventScript_211255 + end + +RustboroCity_DevonCorp_1F_EventScript_211255:: @ 8211255 + setobjectxyperm 2, 14, 2 + setobjectmovementtype 2, 8 + return + +RustboroCity_DevonCorp_1F_EventScript_211261:: @ 8211261 + lock + faceplayer + checkflag FLAG_0x090 + goto_eq RustboroCity_DevonCorp_1F_EventScript_211289 + checkflag FLAG_0x08E + goto_eq RustboroCity_DevonCorp_1F_EventScript_21127F + msgbox RustboroCity_DevonCorp_1F_Text_2113D1, 4 + release + end + +RustboroCity_DevonCorp_1F_EventScript_21127F:: @ 821127F + msgbox RustboroCity_DevonCorp_1F_Text_211446, 4 + release + end + +RustboroCity_DevonCorp_1F_EventScript_211289:: @ 8211289 + msgbox RustboroCity_DevonCorp_1F_Text_2114DE, 4 + release + end + +RustboroCity_DevonCorp_1F_EventScript_211293:: @ 8211293 + lock + faceplayer + checkflag FLAG_0x090 + goto_eq RustboroCity_DevonCorp_1F_EventScript_2112BA + checkflag FLAG_0x08F + goto_eq RustboroCity_DevonCorp_1F_EventScript_2112C4 + checkflag FLAG_0x08E + goto_eq RustboroCity_DevonCorp_1F_EventScript_2112C4 + msgbox RustboroCity_DevonCorp_1F_Text_21151B, 4 + release + end + +RustboroCity_DevonCorp_1F_EventScript_2112BA:: @ 82112BA + msgbox RustboroCity_DevonCorp_1F_Text_211585, 4 + release + end + +RustboroCity_DevonCorp_1F_EventScript_2112C4:: @ 82112C4 + msgbox RustboroCity_DevonCorp_1F_Text_211558, 4 + release + end + +RustboroCity_DevonCorp_1F_EventScript_2112CE:: @ 82112CE + lock + faceplayer + checkflag FLAG_0x090 + goto_eq RustboroCity_DevonCorp_1F_EventScript_2112F5 + checkflag FLAG_0x08F + goto_eq RustboroCity_DevonCorp_1F_EventScript_2112FF + checkflag FLAG_0x08E + goto_eq RustboroCity_DevonCorp_1F_EventScript_2112FF + msgbox RustboroCity_DevonCorp_1F_Text_21131B, 4 + release + end + +RustboroCity_DevonCorp_1F_EventScript_2112F5:: @ 82112F5 + msgbox RustboroCity_DevonCorp_1F_Text_21131B, 4 + release + end + +RustboroCity_DevonCorp_1F_EventScript_2112FF:: @ 82112FF + msgbox RustboroCity_DevonCorp_1F_Text_21138B, 4 + release + end + +RustboroCity_DevonCorp_1F_EventScript_211309:: @ 8211309 + msgbox RustboroCity_DevonCorp_1F_Text_2115AC, 3 + end + +RustboroCity_DevonCorp_1F_EventScript_211312:: @ 8211312 + msgbox RustboroCity_DevonCorp_1F_Text_211722, 3 + end + +RustboroCity_DevonCorp_1F_Text_21131B: @ 821131B + .string "Hello and welcome to the DEVON\n" + .string "CORPORATION.\p" + .string "We’re proud producers of items and\n" + .string "medicine that enhance your life.$" + +RustboroCity_DevonCorp_1F_Text_21138B: @ 821138B + .string "One of our research staff stupidly\n" + .string "got robbed of an important parcel.$" + +RustboroCity_DevonCorp_1F_Text_2113D1: @ 82113D1 + .string "Hey, those RUNNING SHOES!\n" + .string "They’re one of our products!\p" + .string "It makes me happy when I see someone\n" + .string "using something we made.$" + +RustboroCity_DevonCorp_1F_Text_211446: @ 8211446 + .string "That stolen parcel…\p" + .string "Well, sure it’s important, but it’s not\n" + .string "anything that anyone can use.\p" + .string "In my estimation, that robber must not\n" + .string "have been very bright.$" + +RustboroCity_DevonCorp_1F_Text_2114DE: @ 82114DE + .string "It sounds like they’ve recovered\n" + .string "the ripped-off DEVON GOODS.$" + +RustboroCity_DevonCorp_1F_Text_21151B: @ 821151B + .string "I’m sorry, only authorized people\n" + .string "are allowed to enter here.$" + +RustboroCity_DevonCorp_1F_Text_211558: @ 8211558 + .string "It’s beyond stupid.\n" + .string "How could we get robbed?$" + +RustboroCity_DevonCorp_1F_Text_211585: @ 8211585 + .string "Hi, there!\n" + .string "You’re always welcome here!$" + +RustboroCity_DevonCorp_1F_Text_2115AC: @ 82115AC + .string "Samples of rocks and metal are\n" + .string "displayed in the glass case.\p" + .string "There’s a panel with some writing\n" + .string "on it…\p" + .string "“DEVON CORPORATION got its start as\n" + .string "a producer of stones from quarries.\p" + .string "“The company also produced iron from\n" + .string "filings in the sand.\p" + .string "“From that humble start as a producer\n" + .string "of raw materials, DEVON developed.\p" + .string "“DEVON is now a manufacturer of a wide\n" + .string "range of industrial products.”$" + +RustboroCity_DevonCorp_1F_Text_211722: @ 8211722 + .string "Prototypes and test products fill\n" + .string "the glass display case.\p" + .string "There’s a panel with a description…\p" + .string "“In addition to industrial products,\n" + .string "DEVON now markets sundries and\l" + .string "pharmaceuticals for better lifestyles.\p" + .string "“Recently, DEVON has begun marketing\n" + .string "tools for POKéMON TRAINERS, including\l" + .string "POKé BALLS and POKéNAV systems.”$" + diff --git a/data/scripts/maps/RustboroCity_DevonCorp_2F.inc b/data/scripts/maps/RustboroCity_DevonCorp_2F.inc new file mode 100644 index 0000000000..5543b297a3 --- /dev/null +++ b/data/scripts/maps/RustboroCity_DevonCorp_2F.inc @@ -0,0 +1,407 @@ +RustboroCity_DevonCorp_2F_MapScripts:: @ 8211857 + map_script 3, RustboroCity_DevonCorp_2F_MapScript1_21185D + .byte 0 + +RustboroCity_DevonCorp_2F_MapScript1_21185D: @ 821185D + compare VAR_0x40C4, 1 + call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869 + end + +RustboroCity_DevonCorp_2F_EventScript_211869:: @ 8211869 + setvar VAR_0x40C4, 2 + return + +RustboroCity_DevonCorp_2F_EventScript_21186F:: @ 821186F + lock + faceplayer + compare VAR_0x40C4, 1 + call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869 + msgbox RustboroCity_DevonCorp_2F_Text_211BFB, 4 + release + end + +RustboroCity_DevonCorp_2F_EventScript_211886:: @ 8211886 + lock + faceplayer + compare VAR_0x40C4, 1 + call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869 + checkflag FLAG_0x11F + goto_eq RustboroCity_DevonCorp_2F_EventScript_2118A6 + msgbox RustboroCity_DevonCorp_2F_Text_211C50, 4 + release + end + +RustboroCity_DevonCorp_2F_EventScript_2118A6:: @ 82118A6 + msgbox RustboroCity_DevonCorp_2F_Text_211C99, 4 + release + end + +RustboroCity_DevonCorp_2F_EventScript_2118B0:: @ 82118B0 + lock + faceplayer + compare VAR_0x40C4, 1 + call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869 + checkflag FLAG_0x0BC + goto_eq RustboroCity_DevonCorp_2F_EventScript_2118D0 + msgbox RustboroCity_DevonCorp_2F_Text_211D9F, 4 + release + end + +RustboroCity_DevonCorp_2F_EventScript_2118D0:: @ 82118D0 + msgbox RustboroCity_DevonCorp_2F_Text_211DF3, 4 + release + end + +RustboroCity_DevonCorp_2F_EventScript_2118DA:: @ 82118DA + lock + faceplayer + compare VAR_0x40C4, 1 + call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869 + msgbox RustboroCity_DevonCorp_2F_Text_211EE0, 4 + release + end + +RustboroCity_DevonCorp_2F_EventScript_2118F1:: @ 82118F1 + lock + faceplayer + compare VAR_0x40C4, 2 + goto_eq RustboroCity_DevonCorp_2F_EventScript_211A03 + compare VAR_0x40C4, 1 + goto_eq RustboroCity_DevonCorp_2F_EventScript_2119F9 + msgbox RustboroCity_DevonCorp_2F_Text_211F48, 4 + checkitem ITEM_ROOT_FOSSIL, 1 + compare VAR_RESULT, 1 + goto_eq RustboroCity_DevonCorp_2F_EventScript_211933 + checkitem ITEM_CLAW_FOSSIL, 1 + compare VAR_RESULT, 1 + goto_eq RustboroCity_DevonCorp_2F_EventScript_211991 + release + end + +RustboroCity_DevonCorp_2F_EventScript_211933:: @ 8211933 + closemessage + playse SE_PIN + applymovement 5, RustboroCity_DevonCorp_2F_Movement_272598 + waitmovement 0 + applymovement 5, RustboroCity_DevonCorp_2F_Movement_27259A + waitmovement 0 + msgbox RustboroCity_DevonCorp_2F_Text_211FA6, 5 + compare VAR_RESULT, 0 + goto_eq RustboroCity_DevonCorp_2F_EventScript_2119EF + checkitem ITEM_CLAW_FOSSIL, 1 + compare VAR_RESULT, 1 + goto_eq RustboroCity_DevonCorp_2F_EventScript_211B84 + goto RustboroCity_DevonCorp_2F_EventScript_211974 + end + +RustboroCity_DevonCorp_2F_EventScript_211974:: @ 8211974 + bufferitemname 0, ITEM_ROOT_FOSSIL + msgbox RustboroCity_DevonCorp_2F_Text_212153, 4 + takeitem ITEM_ROOT_FOSSIL, 1 + setvar VAR_0x40C4, 1 + setvar VAR_0x40C5, 1 + release + end + +RustboroCity_DevonCorp_2F_EventScript_211991:: @ 8211991 + closemessage + playse SE_PIN + applymovement 5, RustboroCity_DevonCorp_2F_Movement_272598 + waitmovement 0 + applymovement 5, RustboroCity_DevonCorp_2F_Movement_27259A + waitmovement 0 + msgbox RustboroCity_DevonCorp_2F_Text_211FA6, 5 + compare VAR_RESULT, 0 + goto_eq RustboroCity_DevonCorp_2F_EventScript_2119EF + checkitem ITEM_ROOT_FOSSIL, 1 + compare VAR_RESULT, 1 + goto_eq RustboroCity_DevonCorp_2F_EventScript_211B84 + goto RustboroCity_DevonCorp_2F_EventScript_2119D2 + end + +RustboroCity_DevonCorp_2F_EventScript_2119D2:: @ 82119D2 + bufferitemname 0, ITEM_CLAW_FOSSIL + msgbox RustboroCity_DevonCorp_2F_Text_212153, 4 + takeitem ITEM_CLAW_FOSSIL, 1 + setvar VAR_0x40C4, 1 + setvar VAR_0x40C5, 2 + release + end + +RustboroCity_DevonCorp_2F_EventScript_2119EF:: @ 82119EF + msgbox RustboroCity_DevonCorp_2F_Text_212046, 4 + release + end + +RustboroCity_DevonCorp_2F_EventScript_2119F9:: @ 82119F9 + msgbox RustboroCity_DevonCorp_2F_Text_2121A2, 4 + release + end + +RustboroCity_DevonCorp_2F_EventScript_211A03:: @ 8211A03 + compare VAR_0x40C5, 1 + goto_eq RustboroCity_DevonCorp_2F_EventScript_211A1A + compare VAR_0x40C5, 2 + goto_eq RustboroCity_DevonCorp_2F_EventScript_211A2C + end + +RustboroCity_DevonCorp_2F_EventScript_211A1A:: @ 8211A1A + bufferspeciesname 1, SPECIES_LILEEP + msgbox RustboroCity_DevonCorp_2F_Text_212251, 4 + goto RustboroCity_DevonCorp_2F_EventScript_211A3E + end + +RustboroCity_DevonCorp_2F_EventScript_211A2C:: @ 8211A2C + bufferspeciesname 1, SPECIES_ANORITH + msgbox RustboroCity_DevonCorp_2F_Text_212251, 4 + goto RustboroCity_DevonCorp_2F_EventScript_211AE1 + end + +RustboroCity_DevonCorp_2F_EventScript_211A3E:: @ 8211A3E + setvar VAR_0x4001, 388 + givemon SPECIES_LILEEP, 20, ITEM_NONE, 0x0, 0x0, 0 + compare VAR_RESULT, 0 + goto_eq RustboroCity_DevonCorp_2F_EventScript_211A6E + compare VAR_RESULT, 1 + goto_eq RustboroCity_DevonCorp_2F_EventScript_211A96 + goto RustboroCity_DevonCorp_2F_EventScript_273811 + end + +RustboroCity_DevonCorp_2F_EventScript_211A6E:: @ 8211A6E + call RustboroCity_DevonCorp_2F_EventScript_211AC4 + msgbox gUnknown_08273374, 5 + compare VAR_RESULT, 0 + goto_eq RustboroCity_DevonCorp_2F_EventScript_211AD7 + call RustboroCity_DevonCorp_2F_EventScript_27378B + call RustboroCity_DevonCorp_2F_EventScript_2723DD + goto RustboroCity_DevonCorp_2F_EventScript_211AD7 + end + +RustboroCity_DevonCorp_2F_EventScript_211A96:: @ 8211A96 + call RustboroCity_DevonCorp_2F_EventScript_211AC4 + msgbox gUnknown_08273374, 5 + compare VAR_RESULT, 0 + goto_eq RustboroCity_DevonCorp_2F_EventScript_211AB9 + call RustboroCity_DevonCorp_2F_EventScript_273797 + goto RustboroCity_DevonCorp_2F_EventScript_211AB9 + end + +RustboroCity_DevonCorp_2F_EventScript_211AB9:: @ 8211AB9 + call RustboroCity_DevonCorp_2F_EventScript_2737A0 + goto RustboroCity_DevonCorp_2F_EventScript_211AD7 + end + +RustboroCity_DevonCorp_2F_EventScript_211AC4:: @ 8211AC4 + bufferspeciesname 1, SPECIES_LILEEP + playfanfare MUS_FANFA4 + message RustboroCity_DevonCorp_2F_Text_2122CB + waitmessage + waitfanfare + bufferspeciesname 0, SPECIES_LILEEP + return + +RustboroCity_DevonCorp_2F_EventScript_211AD7:: @ 8211AD7 + setvar VAR_0x40C4, 0 + setflag FLAG_0x10B + release + end + +RustboroCity_DevonCorp_2F_EventScript_211AE1:: @ 8211AE1 + setvar VAR_0x4001, 390 + givemon SPECIES_ANORITH, 20, ITEM_NONE, 0x0, 0x0, 0 + compare VAR_RESULT, 0 + goto_eq RustboroCity_DevonCorp_2F_EventScript_211B11 + compare VAR_RESULT, 1 + goto_eq RustboroCity_DevonCorp_2F_EventScript_211B39 + goto RustboroCity_DevonCorp_2F_EventScript_273811 + end + +RustboroCity_DevonCorp_2F_EventScript_211B11:: @ 8211B11 + call RustboroCity_DevonCorp_2F_EventScript_211B67 + msgbox gUnknown_08273374, 5 + compare VAR_RESULT, 0 + goto_eq RustboroCity_DevonCorp_2F_EventScript_211B7A + call RustboroCity_DevonCorp_2F_EventScript_27378B + call RustboroCity_DevonCorp_2F_EventScript_2723DD + goto RustboroCity_DevonCorp_2F_EventScript_211B7A + end + +RustboroCity_DevonCorp_2F_EventScript_211B39:: @ 8211B39 + call RustboroCity_DevonCorp_2F_EventScript_211B67 + msgbox gUnknown_08273374, 5 + compare VAR_RESULT, 0 + goto_eq RustboroCity_DevonCorp_2F_EventScript_211B5C + call RustboroCity_DevonCorp_2F_EventScript_273797 + goto RustboroCity_DevonCorp_2F_EventScript_211B5C + end + +RustboroCity_DevonCorp_2F_EventScript_211B5C:: @ 8211B5C + call RustboroCity_DevonCorp_2F_EventScript_2737A0 + goto RustboroCity_DevonCorp_2F_EventScript_211B7A + end + +RustboroCity_DevonCorp_2F_EventScript_211B67:: @ 8211B67 + bufferspeciesname 1, SPECIES_ANORITH + playfanfare MUS_FANFA4 + message RustboroCity_DevonCorp_2F_Text_2122CB + waitmessage + waitfanfare + bufferspeciesname 0, SPECIES_ANORITH + return + +RustboroCity_DevonCorp_2F_EventScript_211B7A:: @ 8211B7A + setvar VAR_0x40C4, 0 + setflag FLAG_0x10B + release + end + +RustboroCity_DevonCorp_2F_EventScript_211B84:: @ 8211B84 + message RustboroCity_DevonCorp_2F_Text_212092 + waitmessage + multichoice 17, 6, 93, 0 + switch VAR_RESULT + case 0, RustboroCity_DevonCorp_2F_EventScript_211BC1 + case 1, RustboroCity_DevonCorp_2F_EventScript_211BC7 + case 2, RustboroCity_DevonCorp_2F_EventScript_211BCD + case 127, RustboroCity_DevonCorp_2F_EventScript_211BCD + end + +RustboroCity_DevonCorp_2F_EventScript_211BC1:: @ 8211BC1 + goto RustboroCity_DevonCorp_2F_EventScript_2119D2 + end + +RustboroCity_DevonCorp_2F_EventScript_211BC7:: @ 8211BC7 + goto RustboroCity_DevonCorp_2F_EventScript_211974 + end + +RustboroCity_DevonCorp_2F_EventScript_211BCD:: @ 8211BCD + release + end + +RustboroCity_DevonCorp_2F_EventScript_211BCF:: @ 8211BCF + lock + faceplayer + compare VAR_0x40C4, 1 + call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869 + compare VAR_0x405A, 6 + goto_if 4, RustboroCity_DevonCorp_2F_EventScript_211BF1 + msgbox RustboroCity_DevonCorp_2F_Text_212338, 4 + release + end + +RustboroCity_DevonCorp_2F_EventScript_211BF1:: @ 8211BF1 + msgbox RustboroCity_DevonCorp_2F_Text_212386, 4 + release + end + +RustboroCity_DevonCorp_2F_Text_211BFB: @ 8211BFB + .string "We’re developing a device for talking\n" + .string "with POKéMON.\p" + .string "But we haven’t had much success…$" + +RustboroCity_DevonCorp_2F_Text_211C50: @ 8211C50 + .string "I’m developing new kinds of\n" + .string "POKé BALLS…\p" + .string "But I haven’t made much headway…$" + +RustboroCity_DevonCorp_2F_Text_211C99: @ 8211C99 + .string "We finally made new kinds of\n" + .string "POKé BALLS!\p" + .string "The REPEAT BALL makes it easier to\n" + .string "catch POKéMON you’ve caught before.\p" + .string "The TIMER BALL gets better at catching\n" + .string "POKéMON the longer a battle runs.\p" + .string "Both are proudly developed by\n" + .string "the DEVON CORPORATION.\p" + .string "Please give them a try!$" + +RustboroCity_DevonCorp_2F_Text_211D9F: @ 8211D9F + .string "I made the POKéNAV!\p" + .string "As an engineer, I feel blessed to have\n" + .string "made something so great!$" + +RustboroCity_DevonCorp_2F_Text_211DF3: @ 8211DF3 + .string "Oh, wow!\n" + .string "That’s a POKéNAV!\p" + .string "It came about as a result of our\n" + .string "PRESIDENT’s desire to learn about\l" + .string "the feelings of POKéMON.\p" + .string "Would you like me to describe its\n" + .string "features in detail?\p" + .string "No, no. I think you’ll find out just by\n" + .string "trying the POKéNAV out.$" + +RustboroCity_DevonCorp_2F_Text_211EE0: @ 8211EE0 + .string "I’m trying to develop a device that\n" + .string "visually reproduces the dreams of\l" + .string "POKéMON…\p" + .string "But it’s not going well.$" + +RustboroCity_DevonCorp_2F_Text_211F48: @ 8211F48 + .string "I’ve been trying to develop a device\n" + .string "that resurrects POKéMON from fossils…\p" + .string "And, it’s working!$" + +RustboroCity_DevonCorp_2F_Text_211FA6: @ 8211FA6 + .string "Wait! That thing you have there…\n" + .string "Is that a POKéMON fossil?\p" + .string "Would you like to bring that POKéMON\n" + .string "back to life?\p" + .string "I can with my newly developed\n" + .string "FOSSIL REGENERATOR.$" + +RustboroCity_DevonCorp_2F_Text_212046: @ 8212046 + .string "Oh, is that so?\p" + .string "DEVON’s technological expertise\n" + .string "is outstanding, I tell you.$" + +RustboroCity_DevonCorp_2F_Text_212092: @ 8212092 + .string "Oh, now that’s a surprise!\n" + .string "You have not one, but two, fossils?\p" + .string "Unfortunately, my machine can only\n" + .string "regenerate one POKéMON at a time.\p" + .string "Would you like to pick one of your\n" + .string "fossils for regeneration?$" + +RustboroCity_DevonCorp_2F_Text_212153: @ 8212153 + .string "Excellent!\n" + .string "Let’s do this right away.\p" + .string "{PLAYER} handed the {STR_VAR_1} to\n" + .string "the DEVON RESEARCHER.$" + +RustboroCity_DevonCorp_2F_Text_2121A2: @ 82121A2 + .string "The FOSSIL REGENERATOR, which I made,\n" + .string "is incredible.\p" + .string "But it has one drawback--it takes\n" + .string "a long time to work.\p" + .string "So, uh… How about you go for a stroll\n" + .string "and look around for a while?$" + +RustboroCity_DevonCorp_2F_Text_212251: @ 8212251 + .string "Thanks for waiting!\p" + .string "Your fossilized POKéMON has been\n" + .string "brought back to life!\p" + .string "The fossil was an ancient POKéMON.\n" + .string "{STR_VAR_2}, it was!$" + +RustboroCity_DevonCorp_2F_Text_2122CB: @ 82122CB + .string "{PLAYER} received {STR_VAR_2} from\n" + .string "the DEVON RESEARCHER.$" + +RustboroCity_DevonCorp_2F_Text_2122F5: @ 82122F5 + .string "Uh-oh, you’ve got too many POKéMON.\n" + .string "You have no room for this one.$" + +RustboroCity_DevonCorp_2F_Text_212338: @ 8212338 + .string "I’m trying to develop a new feature\n" + .string "for the POKéNAV…\p" + .string "But it’s not going well.$" + +RustboroCity_DevonCorp_2F_Text_212386: @ 8212386 + .string "Well, now what shall I work on\n" + .string "developing next?\p" + .string "Our company allows us to make our\n" + .string "inspirations into reality.\p" + .string "One couldn’t ask for a better\n" + .string "environment as an engineer.$" + diff --git a/data/scripts/maps/RustboroCity_DevonCorp_3F.inc b/data/scripts/maps/RustboroCity_DevonCorp_3F.inc new file mode 100644 index 0000000000..9547fbd67f --- /dev/null +++ b/data/scripts/maps/RustboroCity_DevonCorp_3F.inc @@ -0,0 +1,311 @@ +RustboroCity_DevonCorp_3F_MapScripts:: @ 821242D + map_script 3, RustboroCity_DevonCorp_3F_MapScript1_21243D + map_script 4, RustboroCity_DevonCorp_3F_MapScript2_212455 + map_script 2, RustboroCity_DevonCorp_3F_MapScript2_212464 + .byte 0 + +RustboroCity_DevonCorp_3F_MapScript1_21243D: @ 821243D + compare VAR_0x408F, 0 + call_if 1, RustboroCity_DevonCorp_3F_EventScript_212449 + end + +RustboroCity_DevonCorp_3F_EventScript_212449:: @ 8212449 + setobjectxyperm 2, 3, 2 + setobjectmovementtype 2, 9 + return + +RustboroCity_DevonCorp_3F_MapScript2_212455: @ 8212455 + map_script_2 VAR_0x408F, 0, RustboroCity_DevonCorp_3F_EventScript_21245F + .2byte 0 + +RustboroCity_DevonCorp_3F_EventScript_21245F:: @ 821245F + turnobject 255, 4 + end + +RustboroCity_DevonCorp_3F_MapScript2_212464: @ 8212464 + map_script_2 VAR_0x408F, 0, RustboroCity_DevonCorp_3F_EventScript_21246E + .2byte 0 + +RustboroCity_DevonCorp_3F_EventScript_21246E:: @ 821246E + lockall + msgbox RustboroCity_DevonCorp_3F_Text_212C37, 4 + closemessage + applymovement 2, RustboroCity_DevonCorp_3F_Movement_212546 + waitmovement 0 + delay 80 + applymovement 2, RustboroCity_DevonCorp_3F_Movement_21254F + waitmovement 0 + msgbox RustboroCity_DevonCorp_3F_Text_212DE8, 4 + closemessage + playbgm MUS_TSURETEK, 0 + applymovement 2, RustboroCity_DevonCorp_3F_Movement_212534 + applymovement 255, RustboroCity_DevonCorp_3F_Movement_212558 + waitmovement 0 + msgbox RustboroCity_DevonCorp_3F_Text_212E2F, 4 + closemessage + fadedefaultbgm + applymovement 2, RustboroCity_DevonCorp_3F_Movement_212543 + applymovement 255, RustboroCity_DevonCorp_3F_Movement_212566 + waitmovement 0 + msgbox RustboroCity_DevonCorp_3F_Text_212609, 4 + giveitem_std ITEM_LETTER + msgbox RustboroCity_DevonCorp_3F_Text_21277C, 4 + playfanfare MUS_FANFA4 + message RustboroCity_DevonCorp_3F_Text_212820 + waitfanfare + setflag FLAG_SYS_POKENAV_GET + setflag FLAG_0x0BC + setflag FLAG_0x3E7 + msgbox RustboroCity_DevonCorp_3F_Text_212837, 4 + closemessage + call RustboroCity_DevonCorp_3F_EventScript_272083 + msgbox RustboroCity_DevonCorp_3F_Text_2129D2, 4 + setflag FLAG_0x37E + clearflag FLAG_0x327 + clearflag FLAG_0x3D7 + clearflag FLAG_0x2E3 + clearflag FLAG_0x371 + setvar VAR_0x4096, 1 + clearflag FLAG_0x32E + setvar VAR_0x408F, 1 + setvar VAR_0x405A, 6 + releaseall + end + +RustboroCity_DevonCorp_3F_Movement_21252F: @ 821252F + step_up + step_up + step_up + step_27 + step_end + +RustboroCity_DevonCorp_3F_Movement_212534: @ 8212534 + step_right + step_right + step_right + step_down + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_27 + step_end + +RustboroCity_DevonCorp_3F_Movement_212543: @ 8212543 + step_14 + step_25 + step_end + +RustboroCity_DevonCorp_3F_Movement_212546: @ 8212546 + step_right + step_right + step_right + step_down + step_right + step_right + step_right + step_right + step_end + +RustboroCity_DevonCorp_3F_Movement_21254F: @ 821254F + step_left + step_left + step_left + step_left + step_up + step_left + step_left + step_left + step_end + +RustboroCity_DevonCorp_3F_Movement_212558: @ 8212558 + step_right + step_right + step_right + step_right + step_down + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_end + +RustboroCity_DevonCorp_3F_Movement_212566: @ 8212566 + step_14 + step_14 + step_down + step_down + step_28 + step_end + +RustboroCity_DevonCorp_3F_EventScript_21256C:: @ 821256C + lock + faceplayer + checkflag FLAG_0x110 + goto_eq RustboroCity_DevonCorp_3F_EventScript_2125CC + checkflag FLAG_0x0BD + goto_eq RustboroCity_DevonCorp_3F_EventScript_212595 + msgbox RustboroCity_DevonCorp_3F_Text_212A09, 4 + closemessage + applymovement VAR_LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_2725A2 + waitmovement 0 + release + end + +RustboroCity_DevonCorp_3F_EventScript_212595:: @ 8212595 + msgbox RustboroCity_DevonCorp_3F_Text_212A29, 4 + giveitem_std ITEM_EXP_SHARE + compare VAR_RESULT, 0 + goto_eq RustboroCity_DevonCorp_3F_EventScript_272054 + setflag FLAG_0x110 + msgbox RustboroCity_DevonCorp_3F_Text_212A9E, 4 + closemessage + applymovement VAR_LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_2725A2 + waitmovement 0 + release + end + +RustboroCity_DevonCorp_3F_EventScript_2125CC:: @ 82125CC + msgbox RustboroCity_DevonCorp_3F_Text_212B78, 4 + closemessage + applymovement VAR_LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_2725A2 + waitmovement 0 + release + end + +RustboroCity_DevonCorp_3F_EventScript_2125E1:: @ 82125E1 + lock + faceplayer + checkflag FLAG_0x100 + goto_eq RustboroCity_DevonCorp_3F_EventScript_2125F6 + msgbox RustboroCity_DevonCorp_3F_Text_212E41, 4 + release + end + +RustboroCity_DevonCorp_3F_EventScript_2125F6:: @ 82125F6 + msgbox RustboroCity_DevonCorp_3F_Text_212E88, 4 + release + end + +RustboroCity_DevonCorp_3F_EventScript_212600:: @ 8212600 + msgbox RustboroCity_DevonCorp_3F_Text_212EE9, 3 + end + +RustboroCity_DevonCorp_3F_Text_212609: @ 8212609 + .string "I’m MR. STONE, the PRESIDENT of\n" + .string "the DEVON CORPORATION.\p" + .string "I’d just got word about you!\p" + .string "You saved our staff not just once,\n" + .string "but twice!\p" + .string "I have a favor to ask of an amazing\n" + .string "person like you.\p" + .string "I understand that you’re delivering\n" + .string "a package to SLATEPORT’s SHIPYARD.\p" + .string "Well, on the way, could you stop off in\n" + .string "DEWFORD TOWN?\p" + .string "I was hoping that you’d deliver a\n" + .string "LETTER to STEVEN in DEWFORD.$" + +RustboroCity_DevonCorp_3F_Text_21277C: @ 821277C + .string "MR. STONE: Now, you should know that\n" + .string "I am a great PRESIDENT.\p" + .string "So, I’d never be so cheap as to ask\n" + .string "a favor for nothing in return.\p" + .string "That’s why I want you to have this!$" + +RustboroCity_DevonCorp_3F_Text_212820: @ 8212820 + .string "{PLAYER} received a POKéNAV.$" + +RustboroCity_DevonCorp_3F_Text_212837: @ 8212837 + .string "MR. STONE: That device…\p" + .string "It’s a POKéMON NAVIGATOR, or POKéNAV\n" + .string "for short.\p" + .string "It’s an indispensable tool for any\n" + .string "TRAINER on an adventure.\p" + .string "It has a map of the HOENN region.\p" + .string "You can check the locations of\n" + .string "DEWFORD and SLATEPORT easily!\p" + .string "By the way, I’ve heard that sinister\n" + .string "criminals--MAGMA and AQUA, I believe--\l" + .string "have been making trouble far and wide.\p" + .string "I think it would be best if you rested\n" + .string "up before you go on your way.$" + +RustboroCity_DevonCorp_3F_Text_2129D2: @ 82129D2 + .string "MR. STONE: Well, then, {PLAYER}{KUN},\n" + .string "go with caution and care!$" + +RustboroCity_DevonCorp_3F_Text_212A09: @ 8212A09 + .string "MR. STONE: I’m counting on you!$" + +RustboroCity_DevonCorp_3F_Text_212A29: @ 8212A29 + .string "MR. STONE: You delivered my LETTER?\n" + .string "Thank you kindly!\p" + .string "This is my way of thanking you.\n" + .string "It should help you, a TRAINER.$" + +RustboroCity_DevonCorp_3F_Text_212A9E: @ 8212A9E + .string "MR. STONE: A POKéMON holding that\n" + .string "EXP. SHARE will be given some of the\l" + .string "EXP Points from battle.\p" + .string "It will get EXP Points even if it didn’t\n" + .string "actually battle.\p" + .string "I would say EXP. SHARE is quite useful\n" + .string "for raising weak POKéMON.$" + +RustboroCity_DevonCorp_3F_Text_212B78: @ 8212B78 + .string "MR. STONE: Since my youth, I’ve immersed\n" + .string "myself in work.\p" + .string "Consequently, I’m not familiar with\n" + .string "trends and that sort of thing.\p" + .string "But do young people all want to be\n" + .string "TRAINERS in the POKéMON LEAGUE?$" + +RustboroCity_DevonCorp_3F_Text_212C37: @ 8212C37 + .string "This is the DEVON CORPORATION’s\n" + .string "third floor.\p" + .string "Our PRESIDENT’s OFFICE is on\n" + .string "this floor.\p" + .string "Anyway, I can’t tell you how much I’m\n" + .string "grateful for what you’ve done.\p" + .string "Um… By the way, that parcel\n" + .string "you got back for us…\p" + .string "Could I get you to deliver that to\n" + .string "the SHIPYARD in SLATEPORT?\p" + .string "It would be awful if those robbers\n" + .string "tried to take it again.\p" + .string "Uh… Hehehe, so, uh, could I count\n" + .string "on you to do that for me?\p" + .string "Oh, that’s right.\n" + .string "Could you wait here a second?$" + +RustboroCity_DevonCorp_3F_Text_212DE8: @ 8212DE8 + .string "Our PRESIDENT would like to have\n" + .string "a word with you.\p" + .string "Please come with me.$" + +RustboroCity_DevonCorp_3F_Text_212E2F: @ 8212E2F + .string "Please, go ahead.$" + +RustboroCity_DevonCorp_3F_Text_212E41: @ 8212E41 + .string "If you visit the SHIPYARD in SLATEPORT,\n" + .string "you should go see CAPT. STERN.$" + +RustboroCity_DevonCorp_3F_Text_212E88: @ 8212E88 + .string "DEVON’s new products, the REPEAT BALL\n" + .string "and TIMER BALL, have become hugely\l" + .string "popular among TRAINERS.$" + +RustboroCity_DevonCorp_3F_Text_212EE9: @ 8212EE9 + .string "It’s a collection of rare rocks and\n" + .string "stones assembled by the PRESIDENT.$" + diff --git a/data/scripts/maps/RustboroCity_Flat1_1F.inc b/data/scripts/maps/RustboroCity_Flat1_1F.inc new file mode 100644 index 0000000000..947ea14d3c --- /dev/null +++ b/data/scripts/maps/RustboroCity_Flat1_1F.inc @@ -0,0 +1,18 @@ +RustboroCity_Flat1_1F_MapScripts:: @ 82150CD + .byte 0 + +RustboroCity_Flat1_1F_EventScript_2150CE:: @ 82150CE + msgbox RustboroCity_Flat1_1F_Text_2150E0, 2 + end + +RustboroCity_Flat1_1F_EventScript_2150D7:: @ 82150D7 + msgbox RustboroCity_Flat1_1F_Text_215115, 2 + end + +RustboroCity_Flat1_1F_Text_2150E0: @ 82150E0 + .string "Every POKéMON has a special ability\n" + .string "that it can use.$" + +RustboroCity_Flat1_1F_Text_215115: @ 8215115 + .string "POKéMON are such strange creatures.$" + diff --git a/data/scripts/maps/RustboroCity_Flat1_2F.inc b/data/scripts/maps/RustboroCity_Flat1_2F.inc new file mode 100644 index 0000000000..425d61f527 --- /dev/null +++ b/data/scripts/maps/RustboroCity_Flat1_2F.inc @@ -0,0 +1,184 @@ +RustboroCity_Flat1_2F_MapScripts:: @ 8215139 + .byte 0 + +RustboroCity_Flat1_2F_EventScript_21513A:: @ 821513A + lock + faceplayer + specialvar VAR_RESULT, TryBufferWaldaPhrase + compare VAR_RESULT, 0 + goto_eq RustboroCity_Flat1_2F_EventScript_21518D + compare VAR_RESULT, 1 + goto_eq RustboroCity_Flat1_2F_EventScript_2151AD + +RustboroCity_Flat1_2F_EventScript_215157:: @ 8215157 + special DoWaldaNamingScreen + waitstate + compare VAR_0x8004, 1 + goto_eq RustboroCity_Flat1_2F_EventScript_2151D7 + compare VAR_0x8004, 2 + goto_eq RustboroCity_Flat1_2F_EventScript_2151E1 + specialvar VAR_RESULT, TryGetWallpaperWithWaldaPhrase + compare VAR_RESULT, 1 + goto_eq RustboroCity_Flat1_2F_EventScript_2151F8 + compare VAR_RESULT, 0 + goto_eq RustboroCity_Flat1_2F_EventScript_215221 + end + +RustboroCity_Flat1_2F_EventScript_21518D:: @ 821518D + msgbox RustboroCity_Flat1_2F_Text_2152FA, 5 + compare VAR_RESULT, 0 + goto_eq RustboroCity_Flat1_2F_EventScript_2151CD + msgbox RustboroCity_Flat1_2F_Text_2154AD, 4 + goto RustboroCity_Flat1_2F_EventScript_215157 + +RustboroCity_Flat1_2F_EventScript_2151AD:: @ 82151AD + msgbox RustboroCity_Flat1_2F_Text_215448, 5 + compare VAR_RESULT, 0 + goto_eq RustboroCity_Flat1_2F_EventScript_2151CD + msgbox RustboroCity_Flat1_2F_Text_2154AD, 4 + goto RustboroCity_Flat1_2F_EventScript_215157 + +RustboroCity_Flat1_2F_EventScript_2151CD:: @ 82151CD + msgbox RustboroCity_Flat1_2F_Text_2154E7, 4 + release + end + +RustboroCity_Flat1_2F_EventScript_2151D7:: @ 82151D7 + msgbox RustboroCity_Flat1_2F_Text_2156E3, 4 + release + end + +RustboroCity_Flat1_2F_EventScript_2151E1:: @ 82151E1 + msgbox RustboroCity_Flat1_2F_Text_21561E, 4 + call RustboroCity_Flat1_2F_EventScript_215238 + msgbox RustboroCity_Flat1_2F_Text_215699, 4 + release + end + +RustboroCity_Flat1_2F_EventScript_2151F8:: @ 82151F8 + msgbox RustboroCity_Flat1_2F_Text_215535, 4 + call RustboroCity_Flat1_2F_EventScript_215238 + msgbox RustboroCity_Flat1_2F_Text_215565, 4 + applymovement 6, RustboroCity_Flat1_2F_Movement_27259E + waitmovement 0 + msgbox RustboroCity_Flat1_2F_Text_215792, 4 + release + end + +RustboroCity_Flat1_2F_EventScript_215221:: @ 8215221 + msgbox RustboroCity_Flat1_2F_Text_2155A4, 4 + call RustboroCity_Flat1_2F_EventScript_215238 + msgbox RustboroCity_Flat1_2F_Text_2155D4, 4 + release + end + +RustboroCity_Flat1_2F_EventScript_215238:: @ 8215238 + turnobject 6, 4 + return + +RustboroCity_Flat1_2F_EventScript_21523D:: @ 821523D + msgbox RustboroCity_Flat1_2F_Text_21524F, 2 + end + +RustboroCity_Flat1_2F_EventScript_215246:: @ 8215246 + msgbox RustboroCity_Flat1_2F_Text_215923, 3 + end + +RustboroCity_Flat1_2F_Text_21524F: @ 821524F + .string "Oh, it’s so hard every day…\p" + .string "What’s hard?\n" + .string "You need to ask?\p" + .string "It’s trying to figure out what to\n" + .string "make for meals every day.\p" + .string "It really isn’t easy coming up with\n" + .string "meals every day.$" + +RustboroCity_Flat1_2F_Text_2152FA: @ 82152FA + .string "Oh, hello!\n" + .string "Welcome to the PEPPER household.\p" + .string "I have a question for you.\n" + .string "Have you ever baby-sat?\p" + .string "You see, I’m a new father, so raising\n" + .string "a child is all new to me.\p" + .string "And I have a problem. My daughter\n" + .string "WALDA doesn’t laugh enough.\p" + .string "I think she’d laugh for me if I told\n" + .string "her something funny.\p" + .string "Do you know of a funny word or\n" + .string "phrase you can tell me?$" + +RustboroCity_Flat1_2F_Text_215448: @ 8215448 + .string "I’ve been saying “{STR_VAR_1}”\n" + .string "to amuse her lately.\p" + .string "Do you know of a better word or\n" + .string "a phrase that might work?$" + +RustboroCity_Flat1_2F_Text_2154AD: @ 82154AD + .string "Oh, that’s wonderful.\n" + .string "So, let’s hear it, your suggestion.$" + +RustboroCity_Flat1_2F_Text_2154E7: @ 82154E7 + .string "Oh, is that right?\p" + .string "Well, if you come up with a good\n" + .string "suggestion, I’m all ears.$" + +RustboroCity_Flat1_2F_Text_215535: @ 8215535 + .string "Ah, I see.\n" + .string "Well, let’s give it a try, shall we?$" + +RustboroCity_Flat1_2F_Text_215565: @ 8215565 + .string "{STR_VAR_1}.\n" + .string "{STR_VAR_1}.\p" + .string "Oh, yes! She’s laughing!\n" + .string "Oh, I am as delighted as she!$" + +RustboroCity_Flat1_2F_Text_2155A4: @ 82155A4 + .string "Ah, I see.\n" + .string "Well, let’s give it a try, shall we?$" + +RustboroCity_Flat1_2F_Text_2155D4: @ 82155D4 + .string "{STR_VAR_1}.\n" + .string "{STR_VAR_1}.\p" + .string "Hmmm… She’s not smiling at all.\n" + .string "Maybe WALDA is one serious child…$" + +RustboroCity_Flat1_2F_Text_21561E: @ 821561E + .string "Oh, so you don’t know any good words.\n" + .string "I’d better think for myself, then.\p" + .string "Hmm…\n" + .string "How about “{STR_VAR_1}”?\l" + .string "Let’s see if that will work.$" + +RustboroCity_Flat1_2F_Text_215699: @ 8215699 + .string "{STR_VAR_1}.\n" + .string "{STR_VAR_1}.\p" + .string "Hmmm… She’s not smiling at all.\n" + .string "Maybe WALDA is one serious child…$" + +RustboroCity_Flat1_2F_Text_2156E3: @ 82156E3 + .string "Oh, so you don’t know any good words.\n" + .string "I guess I’ll try to amuse her with\l" + .string "the saying I used before.\p" + .string "Anyways, if you have a good suggestion,\n" + .string "don’t hesitate in telling me, okay?$" + +RustboroCity_Flat1_2F_Text_215792: @ 8215792 + .string "Thank you!\p" + .string "Thanks to you, my darling WALDA\n" + .string "laughed for me!\p" + .string "Actually, I may not look all that\n" + .string "special, but I’m one of DEVON\l" + .string "CORPORATION’s top researchers.\p" + .string "So, how about I do something in return\n" + .string "for you?\p" + .string "I know, I’ll add some new wallpaper\n" + .string "patterns for the BOXES in the PC\l" + .string "POKéMON Storage System.\p" + .string "In the wallpaper pattern menu,\n" + .string "select “FRIENDS.”\p" + .string "That will give you access to the new\n" + .string "wallpaper patterns.$" + +RustboroCity_Flat1_2F_Text_215923: @ 8215923 + .string "It’s a POKéMON plush DOLL!$" + diff --git a/data/scripts/maps/RustboroCity_Flat2_1F.inc b/data/scripts/maps/RustboroCity_Flat2_1F.inc new file mode 100644 index 0000000000..fbb174a290 --- /dev/null +++ b/data/scripts/maps/RustboroCity_Flat2_1F.inc @@ -0,0 +1,24 @@ +RustboroCity_Flat2_1F_MapScripts:: @ 8215F76 + .byte 0 + +RustboroCity_Flat2_1F_EventScript_215F77:: @ 8215F77 + msgbox RustboroCity_Flat2_1F_Text_215F93, 2 + end + +RustboroCity_Flat2_1F_EventScript_215F80:: @ 8215F80 + lock + faceplayer + waitse + playmoncry SPECIES_SKITTY, 0 + msgbox RustboroCity_Flat2_1F_Text_215FC6, 4 + waitmoncry + release + end + +RustboroCity_Flat2_1F_Text_215F93: @ 8215F93 + .string "DEVON CORPORATION’s workers live in\n" + .string "this building.$" + +RustboroCity_Flat2_1F_Text_215FC6: @ 8215FC6 + .string "SKITTY: Gyaaaah!$" + diff --git a/data/scripts/maps/RustboroCity_Flat2_2F.inc b/data/scripts/maps/RustboroCity_Flat2_2F.inc new file mode 100644 index 0000000000..e623aa4854 --- /dev/null +++ b/data/scripts/maps/RustboroCity_Flat2_2F.inc @@ -0,0 +1,39 @@ +RustboroCity_Flat2_2F_MapScripts:: @ 8215FD7 + .byte 0 + +RustboroCity_Flat2_2F_EventScript_215FD8:: @ 8215FD8 + msgbox RustboroCity_Flat2_2F_Text_21601A, 2 + end + +RustboroCity_Flat2_2F_EventScript_215FE1:: @ 8215FE1 + lock + faceplayer + checkflag FLAG_0x0D5 + goto_eq RustboroCity_Flat2_2F_EventScript_216010 + msgbox RustboroCity_Flat2_2F_Text_21605A, 4 + giveitem_std ITEM_PREMIER_BALL + compare VAR_RESULT, 0 + goto_eq RustboroCity_Flat2_2F_EventScript_272054 + setflag FLAG_0x0D5 + release + end + +RustboroCity_Flat2_2F_EventScript_216010:: @ 8216010 + msgbox RustboroCity_Flat2_2F_Text_2160BD, 4 + release + end + +RustboroCity_Flat2_2F_Text_21601A: @ 821601A + .string "Way back in the old days, DEVON was just\n" + .string "a teeny, tiny company.$" + +RustboroCity_Flat2_2F_Text_21605A: @ 821605A + .string "My daddy’s working at the CORPORATION.\p" + .string "My daddy made this!\n" + .string "But I can’t use it, so you can have it.$" + +RustboroCity_Flat2_2F_Text_2160BD: @ 82160BD + .string "My daddy’s working at the CORPORATION.\p" + .string "When I grow up, I’m going to work for\n" + .string "DEVON, too.$" + diff --git a/data/scripts/maps/RustboroCity_Flat2_3F.inc b/data/scripts/maps/RustboroCity_Flat2_3F.inc new file mode 100644 index 0000000000..6a267c3362 --- /dev/null +++ b/data/scripts/maps/RustboroCity_Flat2_3F.inc @@ -0,0 +1,19 @@ +RustboroCity_Flat2_3F_MapScripts:: @ 8216116 + .byte 0 + +RustboroCity_Flat2_3F_EventScript_216117:: @ 8216117 + msgbox RustboroCity_Flat2_3F_Text_216129, 2 + end + +RustboroCity_Flat2_3F_EventScript_216120:: @ 8216120 + msgbox RustboroCity_Flat2_3F_Text_216159, 2 + end + +RustboroCity_Flat2_3F_Text_216129: @ 8216129 + .string "DEVON’s PRESIDENT likes to collect\n" + .string "rare stones.$" + +RustboroCity_Flat2_3F_Text_216159: @ 8216159 + .string "I think the PRESIDENT’s son also\n" + .string "collects rare stones.$" + diff --git a/data/scripts/maps/RustboroCity_Gym.inc b/data/scripts/maps/RustboroCity_Gym.inc new file mode 100644 index 0000000000..1d722b7dea --- /dev/null +++ b/data/scripts/maps/RustboroCity_Gym.inc @@ -0,0 +1,291 @@ +RustboroCity_Gym_MapScripts:: @ 8212F30 + .byte 0 + +RustboroCity_Gym_EventScript_212F31:: @ 8212F31 + trainerbattle 1, TRAINER_ROXANNE_1, 0, RustboroCity_Gym_Text_21362A, RustboroCity_Gym_Text_21370B, RustboroCity_Gym_EventScript_212F66 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq RustboroCity_Gym_EventScript_212FC8 + checkflag FLAG_0x0A5 + goto_if 0, RustboroCity_Gym_EventScript_212FA4 + msgbox RustboroCity_Gym_Text_2139A7, 4 + release + end + +RustboroCity_Gym_EventScript_212F66:: @ 8212F66 + message RustboroCity_Gym_Text_2137EC + waitmessage + call RustboroCity_Gym_EventScript_27207E + msgbox RustboroCity_Gym_Text_213816, 4 + setflag FLAG_0x4F0 + setflag FLAG_BADGE01_GET + setvar VAR_0x405A, 1 + addvar VAR_0x4085, 1 + setvar VAR_0x8008, 1 + call RustboroCity_Gym_EventScript_271F43 + compare VAR_0x4085, 6 + call_if 1, RustboroCity_Gym_EventScript_271E84 + goto RustboroCity_Gym_EventScript_212FA4 + end + +RustboroCity_Gym_EventScript_212FA4:: @ 8212FA4 + giveitem_std ITEM_TM39 + compare VAR_RESULT, 0 + goto_eq RustboroCity_Gym_EventScript_272054 + setflag FLAG_0x0A5 + msgbox RustboroCity_Gym_Text_2138B1, 4 + release + end + +RustboroCity_Gym_EventScript_212FC8:: @ 8212FC8 + trainerbattle 7, TRAINER_ROXANNE_1, 0, RustboroCity_Gym_Text_213C2F, RustboroCity_Gym_Text_213CF9, RustboroCity_Gym_Text_213D93 + msgbox RustboroCity_Gym_Text_213D12, 6 + end + +RustboroCity_Gym_EventScript_212FE3:: @ 8212FE3 + trainerbattle 0, TRAINER_JOSH, 0, RustboroCity_Gym_Text_2133E9, RustboroCity_Gym_Text_21342D + msgbox RustboroCity_Gym_Text_213447, 6 + end + +RustboroCity_Gym_EventScript_212FFA:: @ 8212FFA + trainerbattle 0, TRAINER_TOMMY, 0, RustboroCity_Gym_Text_213486, RustboroCity_Gym_Text_2134C6 + msgbox RustboroCity_Gym_Text_2134E6, 6 + end + +RustboroCity_Gym_EventScript_213011:: @ 8213011 + trainerbattle 0, TRAINER_MARC, 0, RustboroCity_Gym_Text_213533, RustboroCity_Gym_Text_213589 + msgbox RustboroCity_Gym_Text_2135C0, 6 + end + +RustboroCity_Gym_EventScript_213028:: @ 8213028 + lock + faceplayer + checkflag FLAG_0x4F0 + goto_eq RustboroCity_Gym_EventScript_21303D + msgbox RustboroCity_Gym_Text_21309D, 4 + release + end + +RustboroCity_Gym_EventScript_21303D:: @ 821303D + msgbox RustboroCity_Gym_Text_2132E2, 4 + release + end + +RustboroCity_Gym_EventScript_213047:: @ 8213047 + lockall + checkflag FLAG_BADGE01_GET + goto_eq RustboroCity_Gym_EventScript_213067 + goto RustboroCity_Gym_EventScript_213071 + end + +RustboroCity_Gym_EventScript_213057:: @ 8213057 + lockall + checkflag FLAG_BADGE01_GET + goto_eq RustboroCity_Gym_EventScript_213067 + goto RustboroCity_Gym_EventScript_213071 + end + +RustboroCity_Gym_EventScript_213067:: @ 8213067 + msgbox RustboroCity_Gym_Text_213A3B, 4 + releaseall + end + +RustboroCity_Gym_EventScript_213071:: @ 8213071 + msgbox RustboroCity_Gym_Text_213A21, 4 + releaseall + end + +RustboroCity_Gym_EventScript_21307B:: @ 821307B + lockall + pokenavcall RustboroCity_Gym_Text_213A76 + waitmessage + delay 30 + playfanfare MUS_ME_TORE_EYE + msgbox RustboroCity_Gym_Text_213C01, 4 + waitfanfare + closemessage + delay 30 + setflag FLAG_0x1D3 + clearflag FLAG_0x080 + releaseall + end + +RustboroCity_Gym_Text_21309D: @ 821309D + .string "Yo, how’s it going?\p" + .string "Listen, my friend!\n" + .string "Would you like to become the CHAMPION?\p" + .string "I’m no TRAINER, not me, but I can\n" + .string "sure give you winning advice.\p" + .string "That’s settled, then! We’ll aim for the\n" + .string "POKéMON CHAMPIONSHIP together!\p" + .string "It’s your job as a TRAINER to collect\n" + .string "GYM BADGES, am I right?\p" + .string "But GYM LEADERS aren’t pushovers!\p" + .string "And that’s where I come in!\n" + .string "I’m here to provide expert advice!\p" + .string "ROXANNE, the GYM LEADER, is a user\n" + .string "of ROCK-type POKéMON.\p" + .string "The ROCK type is very durable, but\n" + .string "it can’t stand WATER-type and\l" + .string "GRASS-type moves.\p" + .string "Come see me afterwards, if you beat\n" + .string "the GYM LEADER.\p" + .string "Well, go for it!$" + +RustboroCity_Gym_Text_2132E2: @ 82132E2 + .string "Whoa! What a breathtaking victory!\n" + .string "My cheering must’ve worked!\p" + .string "Great!\n" + .string "Check your TRAINER CARD.\p" + .string "The STONE BADGE you got should be\n" + .string "properly recorded on it.\p" + .string "In other words…\p" + .string "You’ve climbed the first step on\n" + .string "the stairs to the CHAMPIONSHIP!\p" + .string "That’s got to feel awesome!$" + +RustboroCity_Gym_Text_2133E9: @ 82133E9 + .string "Don’t take us GYM TRAINERS lightly!\n" + .string "I’ll show you why we’re better!$" + +RustboroCity_Gym_Text_21342D: @ 821342D + .string "You were too good for me…$" + +RustboroCity_Gym_Text_213447: @ 8213447 + .string "You haven’t seen anything of the ROCK\n" + .string "type’s terrifying power!$" + +RustboroCity_Gym_Text_213486: @ 8213486 + .string "If you can’t beat me, you won’t stand\n" + .string "a chance against ROXANNE!$" + +RustboroCity_Gym_Text_2134C6: @ 82134C6 + .string "Wow! You’ve got some potential!$" + +RustboroCity_Gym_Text_2134E6: @ 82134E6 + .string "ROXANNE is stronger than me by\n" + .string "several times.\p" + .string "You’d better be on your guard!$" + +RustboroCity_Gym_Text_213533: @ 8213533 + .string "We might be in the middle of town,\n" + .string "but so what?\p" + .string "My ROCK POKéMON need room to\n" + .string "rampage!$" + +RustboroCity_Gym_Text_213589: @ 8213589 + .string "Oh, man oh man!\n" + .string "Our challenger is one feisty customer!$" + +RustboroCity_Gym_Text_2135C0: @ 82135C0 + .string "I have to hand it to our LEADER.\p" + .string "It took smarts and sense for her to\n" + .string "pick the ROCK type at her young age.$" + +RustboroCity_Gym_Text_21362A: @ 821362A + .string "Hello, I am ROXANNE, the RUSTBORO\n" + .string "POKéMON GYM LEADER.\p" + .string "I became a GYM LEADER so that I might\n" + .string "apply what I learned at the POKéMON\l" + .string "TRAINER’S SCHOOL in battle.\p" + .string "Would you kindly demonstrate how you\n" + .string "battle, and with which POKéMON?$" + +RustboroCity_Gym_Text_21370B: @ 821370B + .string "So…\n" + .string "I lost…\p" + .string "It seems that I still have much more\n" + .string "to learn…\p" + .string "I understand.\p" + .string "The POKéMON LEAGUE’s rules state\n" + .string "that TRAINERS are to be given this\l" + .string "if they defeat a GYM LEADER.\p" + .string "Please accept the official POKéMON\n" + .string "LEAGUE STONE BADGE.$" + +RustboroCity_Gym_Text_2137EC: @ 82137EC + .string "{PLAYER} received the STONE BADGE\n" + .string "from ROXANNE.$" + +RustboroCity_Gym_Text_213816: @ 8213816 + .string "The STONE BADGE heightens the ATTACK\n" + .string "power of your POKéMON.\p" + .string "It also enables them to use the HM move\n" + .string "CUT outside of battle.\p" + .string "Please take this with you, too.$" + +RustboroCity_Gym_Text_2138B1: @ 82138B1 + .string "That TECHNICAL MACHINE, TM39,\n" + .string "contains ROCK TOMB.\p" + .string "It not only inflicts damage by dropping\n" + .string "rocks, it also lowers SPEED.\p" + .string "If you use a TM, it instantly teaches\n" + .string "the move to a POKéMON.\p" + .string "Remember, a TM can be used only once,\n" + .string "so think before you use it.$" + +RustboroCity_Gym_Text_2139A7: @ 82139A7 + .string "Since you are so strong, you should\n" + .string "challenge other GYM LEADERS.\p" + .string "By battling many TRAINERS, you should\n" + .string "learn many things.$" + +RustboroCity_Gym_Text_213A21: @ 8213A21 + .string "RUSTBORO CITY POKéMON GYM$" + +RustboroCity_Gym_Text_213A3B: @ 8213A3B + .string "RUSTBORO CITY POKéMON GYM\p" + .string "ROXANNE’S CERTIFIED TRAINERS:\n" + .string "{PLAYER}$" + + +RustboroCity_Gym_Text_213A76: @ 8213A76 + .string "… … … … … …\n" + .string "… … … … … Beep!\p" + .string "ROXANNE: Oh, hello, {PLAYER}?\n" + .string "This is ROXANNE of RUSTBORO CITY.\p" + .string "I heard from BRAWLY that you’re\n" + .string "moving up through the ranks of\l" + .string "TRAINERS at an incredible clip.\p" + .string "Well, I’d rather not think that\n" + .string "I can’t beat you.\p" + .string "I promise, I will shape up my GYM\n" + .string "so that you may challenge us again.\p" + .string "I hope you’ll be looking forward to\n" + .string "that occasion as much as me!\p" + .string "… … … … … …\n" + .string "… … … … … Click!$" + +RustboroCity_Gym_Text_213C01: @ 8213C01 + .string "Registered GYM LEADER ROXANNE\n" + .string "in the POKéNAV.$" + +RustboroCity_Gym_Text_213C2F: @ 8213C2F + .string "ROXANNE: I’m so glad to see you again.\n" + .string "I’m ROXANNE, the GYM LEADER here.\p" + .string "I’m sure we’ve both experienced many\n" + .string "battles since we last met.\p" + .string "I would like to see how much better\n" + .string "we’ve become. Let us battle!$" + +RustboroCity_Gym_Text_213CF9: @ 8213CF9 + .string "Grr…\n" + .string "Again, I have lost…$" + +RustboroCity_Gym_Text_213D12: @ 8213D12 + .string "ROXANNE: I still have much to learn\n" + .string "when it comes to battling POKéMON.\p" + .string "That awareness makes me love battling\n" + .string "all that much more!$" + +RustboroCity_Gym_Text_213D93: @ 8213D93 + .string "ROXANNE: I’m so glad to see you again.\n" + .string "I’m ROXANNE, the GYM LEADER here.\p" + .string "I’m sure we’ve both experienced many\n" + .string "battles since we last met.\p" + .string "I would like to see how much better\n" + .string "we’ve become…\p" + .string "Oh, no…\n" + .string "You only have one POKéMON with you?\p" + .string "Please return with at least one more\n" + .string "POKéMON.$" diff --git a/data/scripts/maps/RustboroCity_House1.inc b/data/scripts/maps/RustboroCity_House1.inc new file mode 100644 index 0000000000..d63536c552 --- /dev/null +++ b/data/scripts/maps/RustboroCity_House1.inc @@ -0,0 +1,85 @@ +RustboroCity_House1_MapScripts:: @ 821593E + .byte 0 + +RustboroCity_House1_EventScript_21593F:: @ 821593F + lock + faceplayer + checkflag FLAG_0x099 + goto_eq RustboroCity_House1_EventScript_2159D5 + setvar VAR_0x8008, 0 + copyvar VAR_0x8004, VAR_0x8008 + specialvar VAR_RESULT, sub_807E73C + copyvar VAR_0x8009, VAR_RESULT + msgbox RustboroCity_House1_Text_2159E8, 5 + compare VAR_RESULT, 0 + goto_eq RustboroCity_House1_EventScript_2159BD + special sub_81B94B0 + waitstate + copyvar VAR_0x800A, VAR_0x8004 + compare VAR_0x8004, 255 + goto_eq RustboroCity_House1_EventScript_2159BD + copyvar VAR_0x8005, VAR_0x800A + specialvar VAR_RESULT, sub_807E9D4 + copyvar VAR_0x800B, VAR_RESULT + compare VAR_RESULT, VAR_0x8009 + goto_if 5, RustboroCity_House1_EventScript_2159C7 + copyvar VAR_0x8004, VAR_0x8008 + copyvar VAR_0x8005, VAR_0x800A + special sub_807EA10 + special sub_807F0E4 + waitstate + msgbox RustboroCity_House1_Text_215A77, 4 + setflag FLAG_0x099 + release + end + +RustboroCity_House1_EventScript_2159BD:: @ 82159BD + msgbox RustboroCity_House1_Text_215ACE, 4 + release + end + +RustboroCity_House1_EventScript_2159C7:: @ 82159C7 + bufferspeciesname 0, VAR_0x8009 + msgbox RustboroCity_House1_Text_215A9D, 4 + release + end + +RustboroCity_House1_EventScript_2159D5:: @ 82159D5 + msgbox RustboroCity_House1_Text_215B17, 4 + release + end + +RustboroCity_House1_EventScript_2159DF:: @ 82159DF + msgbox RustboroCity_House1_Text_215B57, 2 + end + +RustboroCity_House1_Text_2159E8: @ 82159E8 + .string "Huh? My POKéMON is cute?\n" + .string "Sure, I knew that.\p" + .string "But if you really want, I’m willing\n" + .string "to trade it to you.\p" + .string "I’ll trade you my {STR_VAR_2} for\n" + .string "a {STR_VAR_1} if you want.$" + +RustboroCity_House1_Text_215A77: @ 8215A77 + .string "Eheheh…\n" + .string "Please be good to my POKéMON.$" + +RustboroCity_House1_Text_215A9D: @ 8215A9D + .string "Huh? That doesn’t look anything like\n" + .string "a {STR_VAR_1} to me.$" + +RustboroCity_House1_Text_215ACE: @ 8215ACE + .string "Oh, if you don’t want to, that’s okay.\n" + .string "But my POKéMON is cute, you know…$" + +RustboroCity_House1_Text_215B17: @ 8215B17 + .string "Any POKéMON can be cute if you raise\n" + .string "it with care and kindness.$" + +RustboroCity_House1_Text_215B57: @ 8215B57 + .string "In all sorts of places, there are all\n" + .string "sorts of POKéMON and people.\p" + .string "I find that fascinating, so I go to all\n" + .string "sorts of places.$" + diff --git a/data/scripts/maps/RustboroCity_House2.inc b/data/scripts/maps/RustboroCity_House2.inc new file mode 100644 index 0000000000..fd71dc016f --- /dev/null +++ b/data/scripts/maps/RustboroCity_House2.inc @@ -0,0 +1,21 @@ +RustboroCity_House2_MapScripts:: @ 8215EB3 + .byte 0 + +RustboroCity_House2_EventScript_215EB4:: @ 8215EB4 + msgbox RustboroCity_House2_Text_215EC6, 2 + end + +RustboroCity_House2_EventScript_215EBD:: @ 8215EBD + msgbox RustboroCity_House2_Text_215F21, 2 + end + +RustboroCity_House2_Text_215EC6: @ 8215EC6 + .string "The TRAINER’S SCHOOL is excellent.\p" + .string "If you study there, you could even\n" + .string "become a GYM LEADER.$" + +RustboroCity_House2_Text_215F21: @ 8215F21 + .string "ROXANNE, the GYM LEADER, really knows\n" + .string "a lot about POKéMON.\p" + .string "She’s really strong, too!$" + diff --git a/data/scripts/maps/RustboroCity_House3.inc b/data/scripts/maps/RustboroCity_House3.inc new file mode 100644 index 0000000000..87d278099e --- /dev/null +++ b/data/scripts/maps/RustboroCity_House3.inc @@ -0,0 +1,36 @@ +RustboroCity_House3_MapScripts:: @ 8216190 + .byte 0 + +RustboroCity_House3_EventScript_216191:: @ 8216191 + msgbox RustboroCity_House3_Text_2161B6, 2 + end + +RustboroCity_House3_EventScript_21619A:: @ 821619A + msgbox RustboroCity_House3_Text_21622A, 2 + end + +RustboroCity_House3_EventScript_2161A3:: @ 82161A3 + lock + faceplayer + waitse + playmoncry SPECIES_PIKACHU, 0 + msgbox RustboroCity_House3_Text_2162AB, 4 + waitmoncry + release + end + +RustboroCity_House3_Text_2161B6: @ 82161B6 + .string "For my own POKéMON, I give them\n" + .string "perfectly suited nicknames!\p" + .string "It’s my expression of, uh…\n" + .string "originality, yes, that’s it!$" + +RustboroCity_House3_Text_21622A: @ 821622A + .string "But giving the name PEKACHU to\n" + .string "a PIKACHU? It seems pointless.\p" + .string "I suppose it is good to use a name\n" + .string "that’s easy to understand, but…$" + +RustboroCity_House3_Text_2162AB: @ 82162AB + .string "PEKACHU: Peka!$" + diff --git a/data/scripts/maps/RustboroCity_Mart.inc b/data/scripts/maps/RustboroCity_Mart.inc new file mode 100644 index 0000000000..daa445a0ed --- /dev/null +++ b/data/scripts/maps/RustboroCity_Mart.inc @@ -0,0 +1,89 @@ +RustboroCity_Mart_MapScripts:: @ 8214F05 + .byte 0 + +RustboroCity_Mart_EventScript_214F06:: @ 8214F06 + lock + faceplayer + message gUnknown_08272A21 + waitmessage + checkflag FLAG_0x11F + goto_if 0, RustboroCity_Mart_EventScript_214F21 + checkflag FLAG_0x11F + goto_eq RustboroCity_Mart_EventScript_214F48 + end + +RustboroCity_Mart_EventScript_214F21:: @ 8214F21 + pokemart RustboroCity_Mart_Pokemart_214F30 + msgbox gUnknown_08272A3F, 4 + release + end + +RustboroCity_Mart_Pokemart_214F30: @ 8214F30 + .2byte ITEM_POKE_BALL + .2byte ITEM_POTION + .2byte ITEM_SUPER_POTION + .2byte ITEM_ANTIDOTE + .2byte ITEM_PARALYZE_HEAL + .2byte ITEM_ESCAPE_ROPE + .2byte ITEM_REPEL + .2byte ITEM_X_SPEED + .2byte ITEM_X_ATTACK + .2byte ITEM_X_DEFEND + .2byte ITEM_NONE + release + end + +RustboroCity_Mart_EventScript_214F48:: @ 8214F48 + pokemart RustboroCity_Mart_Pokemart_214F58 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +RustboroCity_Mart_Pokemart_214F58: @ 8214F58 + .2byte ITEM_POKE_BALL + .2byte ITEM_TIMER_BALL + .2byte ITEM_REPEAT_BALL + .2byte ITEM_POTION + .2byte ITEM_SUPER_POTION + .2byte ITEM_ANTIDOTE + .2byte ITEM_PARALYZE_HEAL + .2byte ITEM_ESCAPE_ROPE + .2byte ITEM_REPEL + .2byte ITEM_X_SPEED + .2byte ITEM_X_ATTACK + .2byte ITEM_X_DEFEND + .2byte ITEM_NONE + release + end + +RustboroCity_Mart_EventScript_214F74:: @ 8214F74 + msgbox RustboroCity_Mart_Text_214F8F, 2 + end + +RustboroCity_Mart_EventScript_214F7D:: @ 8214F7D + msgbox RustboroCity_Mart_Text_214FF1, 2 + end + +RustboroCity_Mart_EventScript_214F86:: @ 8214F86 + msgbox RustboroCity_Mart_Text_21505C, 2 + end + +RustboroCity_Mart_Text_214F8F: @ 8214F8F + .string "I’m buying some PARLYZ HEALS and\n" + .string "ANTIDOTES.\p" + .string "Just in case I run into SHROOMISH\n" + .string "in PETALBURG WOODS.$" + +RustboroCity_Mart_Text_214FF1: @ 8214FF1 + .string "My POKéMON evolved.\n" + .string "It has a lot of HP now.\p" + .string "I should buy SUPER POTIONS for it\n" + .string "instead of ordinary POTIONS.$" + +RustboroCity_Mart_Text_21505C: @ 821505C + .string "I’m getting an ESCAPE ROPE just in\n" + .string "case I get lost in a cave.\p" + .string "I just need to use it to get back to\n" + .string "the entrance.$" + diff --git a/data/scripts/maps/RustboroCity_PokemonCenter_1F.inc b/data/scripts/maps/RustboroCity_PokemonCenter_1F.inc new file mode 100644 index 0000000000..a9156d5aac --- /dev/null +++ b/data/scripts/maps/RustboroCity_PokemonCenter_1F.inc @@ -0,0 +1,47 @@ +RustboroCity_PokemonCenter_1F_MapScripts:: @ 8214D62 + map_script 3, RustboroCity_PokemonCenter_1F_MapScript1_214D6D + map_script 5, RustboroCity_PokemonCenter_1F_MapScript1_277C30 + .byte 0 + +RustboroCity_PokemonCenter_1F_MapScript1_214D6D: @ 8214D6D + setrespawn 6 + call RustboroCity_PokemonCenter_1F_EventScript_2718DE + end + +RustboroCity_PokemonCenter_1F_EventScript_214D76:: @ 8214D76 + setvar VAR_0x800B, 1 + call RustboroCity_PokemonCenter_1F_EventScript_27191E + waitmessage + waitbuttonpress + release + end + +RustboroCity_PokemonCenter_1F_EventScript_214D84:: @ 8214D84 + msgbox RustboroCity_PokemonCenter_1F_Text_214D9F, 2 + end + +RustboroCity_PokemonCenter_1F_EventScript_214D8D:: @ 8214D8D + msgbox RustboroCity_PokemonCenter_1F_Text_214E13, 2 + end + +RustboroCity_PokemonCenter_1F_EventScript_214D96:: @ 8214D96 + msgbox RustboroCity_PokemonCenter_1F_Text_214E81, 2 + end + +RustboroCity_PokemonCenter_1F_Text_214D9F: @ 8214D9F + .string "My POKéMON has a NAIVE nature, and my\n" + .string "friend’s has a JOLLY nature.\p" + .string "It’s fascinating how POKéMON have\n" + .string "personalities!$" + +RustboroCity_PokemonCenter_1F_Text_214E13: @ 8214E13 + .string "Just like people, there are male and\n" + .string "female POKéMON.\p" + .string "But no one seems to have any idea how\n" + .string "they’re different.$" + +RustboroCity_PokemonCenter_1F_Text_214E81: @ 8214E81 + .string "The man next door gave me an HM!\p" + .string "I used it to teach my POKéMON how to\n" + .string "CUT down skinny trees.$" + diff --git a/data/scripts/maps/RustboroCity_PokemonCenter_2F.inc b/data/scripts/maps/RustboroCity_PokemonCenter_2F.inc new file mode 100644 index 0000000000..a1bdeba5bf --- /dev/null +++ b/data/scripts/maps/RustboroCity_PokemonCenter_2F.inc @@ -0,0 +1,19 @@ +RustboroCity_PokemonCenter_2F_MapScripts:: @ 8214EDE + map_script 2, RustboroCity_PokemonCenter_2F_MapScript2_276C3B + map_script 4, RustboroCity_PokemonCenter_2F_MapScript2_276B6C + map_script 1, RustboroCity_PokemonCenter_2F_MapScript1_276BBE + map_script 3, RustboroCity_PokemonCenter_2F_MapScript1_276ACF + .byte 0 + +RustboroCity_PokemonCenter_2F_EventScript_214EF3:: @ 8214EF3 + call OldaleTown_PokemonCenter_2F_EventScript_276EB7 + end + +RustboroCity_PokemonCenter_2F_EventScript_214EF9:: @ 8214EF9 + call OldaleTown_PokemonCenter_2F_EventScript_2770B2 + end + +RustboroCity_PokemonCenter_2F_EventScript_214EFF:: @ 8214EFF + call OldaleTown_PokemonCenter_2F_EventScript_2771DB + end + diff --git a/data/scripts/maps/RustboroCity_PokemonSchool.inc b/data/scripts/maps/RustboroCity_PokemonSchool.inc new file mode 100644 index 0000000000..46887b9c61 --- /dev/null +++ b/data/scripts/maps/RustboroCity_PokemonSchool.inc @@ -0,0 +1,359 @@ +RustboroCity_PokemonSchool_MapScripts:: @ 8213EA8 + .byte 0 + +RustboroCity_PokemonSchool_EventScript_213EA9:: @ 8213EA9 + lockall + msgbox RustboroCity_PokemonSchool_Text_2140B2, 4 + goto RustboroCity_PokemonSchool_EventScript_213EB8 + end + +RustboroCity_PokemonSchool_EventScript_213EB8:: @ 8213EB8 + message RustboroCity_PokemonSchool_Text_2140F9 + waitmessage + multichoicegrid 8, 1, 13, 3, 0 + switch VAR_RESULT + case 0, RustboroCity_PokemonSchool_EventScript_213F17 + case 1, RustboroCity_PokemonSchool_EventScript_213F25 + case 2, RustboroCity_PokemonSchool_EventScript_213F33 + case 3, RustboroCity_PokemonSchool_EventScript_213F41 + case 4, RustboroCity_PokemonSchool_EventScript_213F4F + case 5, RustboroCity_PokemonSchool_EventScript_213F5D + case 127, RustboroCity_PokemonSchool_EventScript_213F5D + end + +RustboroCity_PokemonSchool_EventScript_213F17:: @ 8213F17 + msgbox RustboroCity_PokemonSchool_Text_21411A, 4 + goto RustboroCity_PokemonSchool_EventScript_213EB8 + end + +RustboroCity_PokemonSchool_EventScript_213F25:: @ 8213F25 + msgbox RustboroCity_PokemonSchool_Text_2141D8, 4 + goto RustboroCity_PokemonSchool_EventScript_213EB8 + end + +RustboroCity_PokemonSchool_EventScript_213F33:: @ 8213F33 + msgbox RustboroCity_PokemonSchool_Text_21427D, 4 + goto RustboroCity_PokemonSchool_EventScript_213EB8 + end + +RustboroCity_PokemonSchool_EventScript_213F41:: @ 8213F41 + msgbox RustboroCity_PokemonSchool_Text_214336, 4 + goto RustboroCity_PokemonSchool_EventScript_213EB8 + end + +RustboroCity_PokemonSchool_EventScript_213F4F:: @ 8213F4F + msgbox RustboroCity_PokemonSchool_Text_2143B8, 4 + goto RustboroCity_PokemonSchool_EventScript_213EB8 + end + +RustboroCity_PokemonSchool_EventScript_213F5D:: @ 8213F5D + releaseall + end + +RustboroCity_PokemonSchool_EventScript_213F5F:: @ 8213F5F + msgbox RustboroCity_PokemonSchool_Text_21459F, 2 + end + +RustboroCity_PokemonSchool_EventScript_213F68:: @ 8213F68 + msgbox RustboroCity_PokemonSchool_Text_2145CD, 2 + end + +RustboroCity_PokemonSchool_EventScript_213F71:: @ 8213F71 + msgbox RustboroCity_PokemonSchool_Text_214604, 2 + end + +RustboroCity_PokemonSchool_EventScript_213F7A:: @ 8213F7A + msgbox RustboroCity_PokemonSchool_Text_214669, 2 + end + +RustboroCity_PokemonSchool_EventScript_213F83:: @ 8213F83 + msgbox RustboroCity_PokemonSchool_Text_214719, 2 + end + +RustboroCity_PokemonSchool_EventScript_213F8C:: @ 8213F8C + msgbox RustboroCity_PokemonSchool_Text_2147A2, 3 + end + +RustboroCity_PokemonSchool_EventScript_213F95:: @ 8213F95 + lock + faceplayer + checkflag FLAG_0x113 + goto_eq RustboroCity_PokemonSchool_EventScript_213FFB + compare VAR_FACING, 4 + call_if 1, RustboroCity_PokemonSchool_EventScript_213FE5 + compare VAR_FACING, 3 + call_if 1, RustboroCity_PokemonSchool_EventScript_213FF0 + msgbox RustboroCity_PokemonSchool_Text_214433, 4 + giveitem_std ITEM_QUICK_CLAW + compare VAR_RESULT, 0 + goto_eq RustboroCity_PokemonSchool_EventScript_272054 + closemessage + applymovement VAR_LAST_TALKED, RustboroCity_PokemonSchool_Movement_2725AA + waitmovement 0 + setflag FLAG_0x113 + release + end + +RustboroCity_PokemonSchool_EventScript_213FE5:: @ 8213FE5 + applymovement VAR_LAST_TALKED, RustboroCity_PokemonSchool_Movement_214027 + waitmovement 0 + return + +RustboroCity_PokemonSchool_EventScript_213FF0:: @ 8213FF0 + applymovement VAR_LAST_TALKED, RustboroCity_PokemonSchool_Movement_214010 + waitmovement 0 + return + +RustboroCity_PokemonSchool_EventScript_213FFB:: @ 8213FFB + msgbox RustboroCity_PokemonSchool_Text_2144C8, 4 + closemessage + applymovement VAR_LAST_TALKED, RustboroCity_PokemonSchool_Movement_2725AA + waitmovement 0 + release + end + +RustboroCity_PokemonSchool_Movement_214010: @ 8214010 + step_left + step_down + step_down + step_right + step_25 + step_14 + step_14 + step_14 + step_down + step_27 + step_14 + step_14 + step_right + step_14 + step_14 + step_13 + step_up + step_left + step_left + step_up + step_up + step_right + step_end + +RustboroCity_PokemonSchool_Movement_214027: @ 8214027 + step_right + step_right + step_down + step_down + step_left + step_left + step_25 + step_14 + step_14 + step_14 + step_down + step_27 + step_14 + step_14 + step_right + step_14 + step_14 + step_13 + step_up + step_right + step_up + step_up + step_left + step_left + step_end + +RustboroCity_PokemonSchool_EventScript_214040:: @ 8214040 + lock + faceplayer + checkflag FLAG_0x1CB + goto_eq RustboroCity_PokemonSchool_EventScript_2140A8 + checkflag FLAG_0x136 + goto_eq RustboroCity_PokemonSchool_EventScript_21406F + checkflag FLAG_BADGE01_GET + goto_eq RustboroCity_PokemonSchool_EventScript_214082 + msgbox RustboroCity_PokemonSchool_Text_2148C0, 4 + addvar VAR_0x40D1, 1 + setflag FLAG_0x136 + release + end + +RustboroCity_PokemonSchool_EventScript_21406F:: @ 821406F + checkflag FLAG_BADGE01_GET + goto_eq RustboroCity_PokemonSchool_EventScript_214090 + msgbox RustboroCity_PokemonSchool_Text_214A5F, 4 + release + end + +RustboroCity_PokemonSchool_EventScript_214082:: @ 8214082 + msgbox RustboroCity_PokemonSchool_Text_214B8A, 4 + goto RustboroCity_PokemonSchool_EventScript_21409E + end + +RustboroCity_PokemonSchool_EventScript_214090:: @ 8214090 + msgbox RustboroCity_PokemonSchool_Text_214AB6, 4 + goto RustboroCity_PokemonSchool_EventScript_21409E + end + +RustboroCity_PokemonSchool_EventScript_21409E:: @ 821409E + addvar VAR_0x40D1, 1 + setflag FLAG_0x1CB + release + end + +RustboroCity_PokemonSchool_EventScript_2140A8:: @ 82140A8 + msgbox RustboroCity_PokemonSchool_Text_214A5F, 4 + release + end + +RustboroCity_PokemonSchool_Text_2140B2: @ 82140B2 + .string "The blackboard lists status changes\n" + .string "that may affect POKéMON in battle.$" + +RustboroCity_PokemonSchool_Text_2140F9: @ 82140F9 + .string "Which topic do you want to read?$" + +RustboroCity_PokemonSchool_Text_21411A: @ 821411A + .string "If a POKéMON is poisoned, it will\n" + .string "steadily lose HP.\p" + .string "The effects of poison remain after\n" + .string "a battle.\p" + .string "A poisoned POKéMON’s HP will drop\n" + .string "while it is traveling.\p" + .string "Heal a poisoning using an ANTIDOTE.$" + +RustboroCity_PokemonSchool_Text_2141D8: @ 82141D8 + .string "If a POKéMON becomes paralyzed,\n" + .string "its SPEED drops.\p" + .string "It may also not be able to move while\n" + .string "it is in battle.\p" + .string "Paralysis remains after battle.\n" + .string "Cure it using a PARLYZ HEAL.$" + +RustboroCity_PokemonSchool_Text_21427D: @ 821427D + .string "If a POKéMON falls asleep, it will be\n" + .string "unable to attack.\p" + .string "A POKéMON may wake up on its own,\n" + .string "but if a battle ends while it is\l" + .string "sleeping, it will stay asleep.\p" + .string "Wake it up using an AWAKENING.$" + +RustboroCity_PokemonSchool_Text_214336: @ 8214336 + .string "A burn reduces ATTACK power, and it\n" + .string "steadily reduces the victim’s HP.\p" + .string "A burn lingers after battle.\n" + .string "Cure a burn using a BURN HEAL.$" + +RustboroCity_PokemonSchool_Text_2143B8: @ 82143B8 + .string "If a POKéMON is frozen, it becomes\n" + .string "completely helpless.\p" + .string "It will remain frozen after battle.\n" + .string "Thaw it out using an ICE HEAL.$" + +RustboroCity_PokemonSchool_Text_214433: @ 8214433 + .string "Students who don’t study get a little\n" + .string "taste of my QUICK CLAW.\p" + .string "Whether or not you are a good student \n" + .string "will be evident from the way you use\l" + .string "this item.$" + +RustboroCity_PokemonSchool_Text_2144C8: @ 82144C8 + .string "A POKéMON holding the QUICK CLAW will\n" + .string "occasionally speed up and get to move\l" + .string "before its opponent.\p" + .string "There are many other items that are\n" + .string "meant to be held by POKéMON.\p" + .string "Just those alone will give you many\n" + .string "topics to study!$" + +RustboroCity_PokemonSchool_Text_21459F: @ 821459F + .string "I’m trading POKéMON with my friend\n" + .string "right now.$" + +RustboroCity_PokemonSchool_Text_2145CD: @ 82145CD + .string "I always wanted a SEEDOT, and\n" + .string "I’m finally getting one!$" + +RustboroCity_PokemonSchool_Text_214604: @ 8214604 + .string "POKéMON can hold items, but they\n" + .string "don’t know what to do with man-made\l" + .string "items like POTION and ANTIDOTE.$" + +RustboroCity_PokemonSchool_Text_214669: @ 8214669 + .string "You know how some POKéMON moves can\n" + .string "confuse a POKéMON?\p" + .string "A confused POKéMON will sometimes\n" + .string "attack itself without meaning to.\p" + .string "But once it leaves battle, it will\n" + .string "return to normal.$" + +RustboroCity_PokemonSchool_Text_214719: @ 8214719 + .string "A POKéMON holding a BERRY will heal\n" + .string "itself…\p" + .string "There are many kinds of items that\n" + .string "POKéMON can hold…\p" + .string "Boy, it sure is hard taking notes\n" + .string "down…$" + +RustboroCity_PokemonSchool_Text_2147A2: @ 82147A2 + .string "It’s this student’s notebook…\p" + .string "POKéMON are to be caught using\n" + .string "POKé BALLS.\p" + .string "Up to six POKéMON can accompany\n" + .string "a TRAINER.\p" + .string "A TRAINER is someone who catches\n" + .string "POKéMON, raises them, and battles\l" + .string "with them.\p" + .string "A TRAINER’s mission is to defeat\n" + .string "the strong TRAINERS who await\l" + .string "challengers in POKéMON GYMS.$" + +RustboroCity_PokemonSchool_Text_2148C0: @ 82148C0 + .string "Hello? Didn’t we meet before?\n" + .string "I think back in PETALBURG CITY.\p" + .string "Let me introduce myself.\n" + .string "My name’s SCOTT.\p" + .string "I’ve been traveling everywhere in\n" + .string "search of outstanding TRAINERS.\p" + .string "More specifically, I’m looking for\n" + .string "POKéMON battle experts.\p" + .string "So, what brings you to this SCHOOL?\n" + .string "Are you a TRAINER, too?\p" + .string "The first thing you should do is to\n" + .string "have a POKéMON learn the move CUT.\p" + .string "If I remember correctly, someone in\n" + .string "this town has CUT.$" + +RustboroCity_PokemonSchool_Text_214A5F: @ 8214A5F + .string "SCOTT: Hmm…\p" + .string "The talent levels of the students here\n" + .string "are unknown. The potential’s there.$" + +RustboroCity_PokemonSchool_Text_214AB6: @ 8214AB6 + .string "SCOTT: Oh, what’s that?\p" + .string "It’s a STONE BADGE, isn’t it?\n" + .string "That’s pretty impressive, I’d say.\p" + .string "But, you know, I would’ve loved to see\n" + .string "you in battle.\p" + .string "It’s hard to tell what you’re like as\n" + .string "a TRAINER from a LEAGUE BADGE.$" + +RustboroCity_PokemonSchool_Text_214B8A: @ 8214B8A + .string "Hello? Didn’t we meet before?\n" + .string "I think back in PETALBURG CITY.\p" + .string "Let me introduce myself.\n" + .string "My name’s SCOTT.\p" + .string "I’ve been traveling everywhere in\n" + .string "search of outstanding TRAINERS.\p" + .string "More specifically, I’m looking for\n" + .string "POKéMON battle experts.\p" + .string "Oh, what’s that?\n" + .string "It’s a STONE BADGE, isn’t it?\p" + .string "That’s pretty impressive, I’d say, for\n" + .string "a starting TRAINER like yourself.\p" + .string "But, you know, I would’ve loved to see\n" + .string "you in battle.\p" + .string "It’s hard to tell what you’re like as\n" + .string "a TRAINER from a LEAGUE BADGE.$" + diff --git a/data/scripts/maps/RusturfTunnel.inc b/data/scripts/maps/RusturfTunnel.inc new file mode 100644 index 0000000000..e4e3622342 --- /dev/null +++ b/data/scripts/maps/RusturfTunnel.inc @@ -0,0 +1,539 @@ +RusturfTunnel_MapScripts:: @ 822CE27 + map_script 3, RusturfTunnel_MapScript1_22CE44 + map_script 2, RusturfTunnel_MapScript2_22CE32 + .byte 0 + +RusturfTunnel_MapScript2_22CE32: @ 822CE32 + map_script_2 VAR_0x409A, 4, RusturfTunnel_EventScript_22CEAE + map_script_2 VAR_0x409A, 5, RusturfTunnel_EventScript_22CEAE + .2byte 0 + +RusturfTunnel_MapScript1_22CE44: @ 822CE44 + compare VAR_0x409A, 2 + call_if 1, RusturfTunnel_EventScript_22CE50 + end + +RusturfTunnel_EventScript_22CE50:: @ 822CE50 + setobjectxyperm 7, 13, 4 + setobjectxyperm 6, 13, 5 + return + +RusturfTunnel_EventScript_22CE5F:: @ 822CE5F + lock + faceplayer + msgbox RusturfTunnel_Text_22D7A3, 4 + closemessage + applymovement VAR_LAST_TALKED, RusturfTunnel_Movement_2725A2 + waitmovement 0 + release + end + +RusturfTunnel_EventScript_22CE76:: @ 822CE76 + lock + faceplayer + checkflag FLAG_0x001 + goto_eq RusturfTunnel_EventScript_22CE99 + setflag FLAG_0x001 + msgbox RusturfTunnel_Text_22D510, 4 + closemessage + applymovement VAR_LAST_TALKED, RusturfTunnel_Movement_2725A2 + waitmovement 0 + release + end + +RusturfTunnel_EventScript_22CE99:: @ 822CE99 + msgbox RusturfTunnel_Text_22D5F3, 4 + closemessage + applymovement VAR_LAST_TALKED, RusturfTunnel_Movement_2725A2 + waitmovement 0 + release + end + +RusturfTunnel_EventScript_22CEAE:: @ 822CEAE + lockall + compare VAR_0x4001, 1 + call_if 1, RusturfTunnel_EventScript_22CFA7 + compare VAR_0x4001, 2 + call_if 1, RusturfTunnel_EventScript_22CFBC + compare VAR_0x4001, 3 + call_if 1, RusturfTunnel_EventScript_22CFC7 + call RusturfTunnel_EventScript_22CFFF + msgbox RusturfTunnel_Text_22D65C, 4 + compare VAR_0x4001, 2 + call_if 1, RusturfTunnel_EventScript_22CFC8 + compare VAR_0x4001, 3 + call_if 1, RusturfTunnel_EventScript_22CFC8 + giveitem_std ITEM_HM04 + setflag FLAG_0x06A + msgbox RusturfTunnel_Text_22D6D2, 4 + closemessage + compare VAR_0x4001, 1 + call_if 1, RusturfTunnel_EventScript_22CF5D + compare VAR_0x4001, 2 + call_if 1, RusturfTunnel_EventScript_22CF6F + compare VAR_0x4001, 3 + call_if 1, RusturfTunnel_EventScript_22CF8B + msgbox RusturfTunnel_Text_22D745, 4 + closemessage + compare VAR_0x4001, 1 + call_if 1, RusturfTunnel_EventScript_22CFD4 + compare VAR_0x4001, 2 + call_if 1, RusturfTunnel_EventScript_22CFE6 + compare VAR_0x4001, 3 + call_if 1, RusturfTunnel_EventScript_22CFE6 + call RusturfTunnel_EventScript_272216 + releaseall + end + +RusturfTunnel_EventScript_22CF5D:: @ 822CF5D + applymovement 255, RusturfTunnel_Movement_22D042 + applymovement 1, RusturfTunnel_Movement_22D067 + waitmovement 0 + return + +RusturfTunnel_EventScript_22CF6F:: @ 822CF6F + applymovement 255, RusturfTunnel_Movement_22D045 + applymovement 1, RusturfTunnel_Movement_22D06C + waitmovement 0 + applymovement 10, RusturfTunnel_Movement_2725AA + waitmovement 0 + return + +RusturfTunnel_EventScript_22CF8B:: @ 822CF8B + applymovement 255, RusturfTunnel_Movement_22D045 + applymovement 1, RusturfTunnel_Movement_22D06C + waitmovement 0 + applymovement 10, RusturfTunnel_Movement_2725AA + waitmovement 0 + return + +RusturfTunnel_EventScript_22CFA7:: @ 822CFA7 + applymovement 1, RusturfTunnel_Movement_2725A6 + waitmovement 0 + applymovement 255, RusturfTunnel_Movement_2725AA + waitmovement 0 + return + +RusturfTunnel_EventScript_22CFBC:: @ 822CFBC + applymovement 1, RusturfTunnel_Movement_22D048 + waitmovement 0 + return + +RusturfTunnel_EventScript_22CFC7:: @ 822CFC7 + return + +RusturfTunnel_EventScript_22CFC8:: @ 822CFC8 + closemessage + applymovement 1, RusturfTunnel_Movement_22D065 + waitmovement 0 + return + +RusturfTunnel_EventScript_22CFD4:: @ 822CFD4 + applymovement 10, RusturfTunnel_Movement_22D017 + applymovement 1, RusturfTunnel_Movement_22D04B + waitmovement 0 + return + +RusturfTunnel_EventScript_22CFE6:: @ 822CFE6 + applymovement 255, RusturfTunnel_Movement_22D02F + applymovement 10, RusturfTunnel_Movement_22D023 + applymovement 1, RusturfTunnel_Movement_22D058 + waitmovement 0 + return + +RusturfTunnel_EventScript_22CFFF:: @ 822CFFF + playse SE_PIN + applymovement 1, RusturfTunnel_Movement_272598 + waitmovement 0 + applymovement 1, RusturfTunnel_Movement_27259A + waitmovement 0 + return + +RusturfTunnel_Movement_22D017: @ 822D017 + step_right + step_right + step_right + step_right + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_end + +RusturfTunnel_Movement_22D023: @ 822D023 + step_right + step_right + step_right + step_right + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_end + +RusturfTunnel_Movement_22D02F: @ 822D02F + step_13 + step_26 + step_14 + step_14 + step_28 + step_end + +RusturfTunnel_Movement_22D035: @ 822D035 + step_left + step_28 + step_end + +RusturfTunnel_Movement_22D038: @ 822D038 + step_down + step_26 + step_13 + step_28 + step_end + +RusturfTunnel_Movement_22D03D: @ 822D03D + step_up + step_25 + step_13 + step_28 + step_end + +RusturfTunnel_Movement_22D042: @ 822D042 + step_left + step_28 + step_end + +RusturfTunnel_Movement_22D045: @ 822D045 + step_right + step_27 + step_end + +RusturfTunnel_Movement_22D048: @ 822D048 + step_up + step_28 + step_end + +RusturfTunnel_Movement_22D04B: @ 822D04B + step_right + step_right + step_right + step_right + step_right + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_end + +RusturfTunnel_Movement_22D058: @ 822D058 + step_up + step_right + step_right + step_right + step_right + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_end + +RusturfTunnel_Movement_22D065: @ 822D065 + step_right + step_end + +RusturfTunnel_Movement_22D067: @ 822D067 + step_22 + step_22 + step_16 + step_18 + step_end + +RusturfTunnel_Movement_22D06C: @ 822D06C + step_24 + step_24 + step_18 + step_26 + step_end + +RusturfTunnel_EventScript_22D071:: @ 822D071 + setvar VAR_0x4001, 1 + end + +RusturfTunnel_EventScript_22D077:: @ 822D077 + setvar VAR_0x4001, 2 + end + +RusturfTunnel_EventScript_22D07D:: @ 822D07D + setvar VAR_0x4001, 3 + end + +RusturfTunnel_EventScript_22D083:: @ 822D083 + lockall + msgbox RusturfTunnel_Text_22D1C8, 4 + closemessage + applymovement 6, RusturfTunnel_Movement_22D0AB + applymovement 7, RusturfTunnel_Movement_22D0AB + waitmovement 0 + moveobjectoffscreen 6 + moveobjectoffscreen 7 + setvar VAR_0x409A, 3 + releaseall + end + +RusturfTunnel_Movement_22D0AB: @ 822D0AB + step_40 + step_right + step_41 + step_end + +RusturfTunnel_EventScript_22D0AF:: @ 822D0AF + lock + faceplayer + waitse + playmoncry SPECIES_WINGULL, 0 + msgbox RusturfTunnel_Text_22D1F7, 4 + waitmoncry + release + end + +RusturfTunnel_EventScript_22D0C2:: @ 822D0C2 + lock + faceplayer + playbgm MUS_AQA_0, 0 + msgbox RusturfTunnel_Text_22D20A, 4 + trainerbattle 3, TRAINER_GRUNT_10, 0, RusturfTunnel_Text_22D2B0 + msgbox RusturfTunnel_Text_22D2E1, 4 + giveitem_std ITEM_DEVON_GOODS + closemessage + applymovement 255, RusturfTunnel_Movement_22D178 + applymovement 6, RusturfTunnel_Movement_22D181 + waitmovement 0 + removeobject 6 + delay 50 + addobject 5 + applymovement 5, RusturfTunnel_Movement_22D18B + waitmovement 0 + applymovement 255, RusturfTunnel_Movement_22D17E + applymovement 5, RusturfTunnel_Movement_22D1A4 + waitmovement 0 + msgbox RusturfTunnel_Text_22D395, 4 + applymovement 5, RusturfTunnel_Movement_27259E + waitmovement 0 + message RusturfTunnel_Text_22D3BA + waitmessage + waitse + playmoncry SPECIES_WINGULL, 0 + waitbuttonpress + waitmoncry + closemessage + applymovement 255, RusturfTunnel_Movement_22D19F + applymovement 5, RusturfTunnel_Movement_22D193 + applymovement 7, RusturfTunnel_Movement_22D1A7 + waitmovement 0 + removeobject 5 + removeobject 7 + clearflag FLAG_0x08E + setflag FLAG_0x08F + setvar VAR_0x405A, 4 + setvar VAR_0x4090, 1 + setflag FLAG_0x37B + release + end + +RusturfTunnel_Movement_22D178: @ 822D178 + step_00 + step_40 + step_up + step_41 + step_27 + step_end + +RusturfTunnel_Movement_22D17E: @ 822D17E + step_down + step_26 + step_end + +RusturfTunnel_Movement_22D181: @ 822D181 + step_17 + step_17 + step_17 + step_17 + step_17 + step_17 + step_17 + step_17 + step_17 + step_end + +RusturfTunnel_Movement_22D18B: @ 822D18B + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_end + +RusturfTunnel_Movement_22D193: @ 822D193 + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +RusturfTunnel_Movement_22D19F: @ 822D19F + step_14 + step_13 + step_12 + step_27 + step_end + +RusturfTunnel_Movement_22D1A4: @ 822D1A4 + step_14 + step_right + step_end + +RusturfTunnel_Movement_22D1A7: @ 822D1A7 + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +RusturfTunnel_EventScript_22D1B1:: @ 822D1B1 + trainerbattle 0, TRAINER_MIKE_2, 0, RusturfTunnel_Text_22D84D, RusturfTunnel_Text_22D8DB + msgbox RusturfTunnel_Text_22D8F9, 6 + end + +RusturfTunnel_Text_22D1C8: @ 822D1C8 + .string "What, are you coming?\n" + .string "Come and get some, then!$" + +RusturfTunnel_Text_22D1F7: @ 822D1F7 + .string "PEEKO: Pii pihyoh!$" + +RusturfTunnel_Text_22D20A: @ 822D20A + .string "Grah, keelhaul it all!\p" + .string "That hostage POKéMON turned out to\n" + .string "be worthless!\p" + .string "And to think I made a getaway…\n" + .string "In this tunnel to nowhere!\p" + .string "Hey! You!\n" + .string "So you want to battle me?$" + +RusturfTunnel_Text_22D2B0: @ 822D2B0 + .string "Urrrggh! My career in crime comes to\n" + .string "a dead end!$" + +RusturfTunnel_Text_22D2E1: @ 822D2E1 + .string "This is plain not right…\p" + .string "The BOSS told me this would be a\n" + .string "slick-and-easy job to pull.\p" + .string "All I had to do was steal some package\n" + .string "from DEVON.\p" + .string "Tch!\n" + .string "You want it back that badly, take it!$" + +RusturfTunnel_Text_22D395: @ 822D395 + .string "PEEKO!\n" + .string "Am I glad to see you’re safe!$" + +RusturfTunnel_Text_22D3BA: @ 822D3BA + .string "PEEKO owes her life to you!\p" + .string "They call me MR. BRINEY.\n" + .string "And, you are?\p" + .string "… … … … … … … …\n" + .string "… … … … … … … …\p" + .string "Ah, so you are {PLAYER}{KUN}!\n" + .string "I sincerely thank you!\p" + .string "Now, if there’s anything that troubles\n" + .string "you, don’t hesitate to tell me!\p" + .string "You can usually find me in my cottage\n" + .string "by the sea near PETALBURG WOODS.\p" + .string "Come, PEEKO, we should make our way\n" + .string "home.\p" + .string "PEEKO: Pihyoh!$" + +RusturfTunnel_Text_22D510: @ 822D510 + .string "… …\p" + .string "Why can’t they keep digging?\n" + .string "Is the bedrock too hard?\p" + .string "My beloved awaits me in VERDANTURF\n" + .string "TOWN just beyond here…\p" + .string "If RUSTBORO and VERDANTURF were\n" + .string "joined by this tunnel, I could visit\l" + .string "her every day…\p" + .string "But this…\n" + .string "What am I to do?$" + +RusturfTunnel_Text_22D5F3: @ 822D5F3 + .string "To get from RUSTBORO to VERDANTURF,\n" + .string "you need to go to DEWFORD, then pass\l" + .string "through SLATEPORT and MAUVILLE…$" + +RusturfTunnel_Text_22D65C: @ 822D65C + .string "Wow! You shattered that boulder\n" + .string "blocking the way.\p" + .string "To show you how much I appreciate it,\n" + .string "I’d like you to have this HM.$" + +RusturfTunnel_Text_22D6D2: @ 822D6D2 + .string "That HM contains STRENGTH.\p" + .string "If a muscular POKéMON were to learn\n" + .string "that, it would be able to move even\l" + .string "large boulders.$" + +RusturfTunnel_Text_22D745: @ 822D745 + .string "WANDA!\n" + .string "Now I can see you anytime!\p" + .string "WANDA: That’s…wonderful.\p" + .string "Please, take some rest at my home.$" + +RusturfTunnel_Text_22D7A3: @ 822D7A3 + .string "On the other side of this rock…\n" + .string "My boyfriend is there.\p" + .string "He… He’s not just digging the tunnel\n" + .string "to come see me.\p" + .string "He works his hands raw and rough\n" + .string "for the benefit of everyone.$" + +RusturfTunnel_Text_22D84D: @ 822D84D + .string "What do you call a wild man up in the\n" + .string "mountains? A mountain man, right?\p" + .string "So why don’t they call a POKéMON in\n" + .string "the mountains a mountain POKéMON?$" + +RusturfTunnel_Text_22D8DB: @ 822D8DB + .string "My POKéMON…\n" + .string "Ran out of power…$" + +RusturfTunnel_Text_22D8F9: @ 822D8F9 + .string "They halted development here to\n" + .string "protect POKéMON, right?\l" + .string "There’s a feel-good story!$" + diff --git a/data/scripts/maps/SSTidalCorridor.inc b/data/scripts/maps/SSTidalCorridor.inc new file mode 100644 index 0000000000..ad10e2669b --- /dev/null +++ b/data/scripts/maps/SSTidalCorridor.inc @@ -0,0 +1,356 @@ +SSTidalCorridor_MapScripts:: @ 823BFCF + map_script 2, SSTidalCorridor_MapScript2_23BFD5 + .byte 0 + +SSTidalCorridor_MapScript2_23BFD5: @ 823BFD5 + map_script_2 VAR_0x40D4, 0, SSTidalCorridor_EventScript_23C219 + map_script_2 VAR_PORTHOLE, 1, SSTidalCorridor_EventScript_23BFFF + map_script_2 VAR_PORTHOLE, 5, SSTidalCorridor_EventScript_23C015 + map_script_2 VAR_PORTHOLE, 9, SSTidalCorridor_EventScript_23C067 + map_script_2 VAR_PORTHOLE, 10, SSTidalCorridor_EventScript_23C07D + .2byte 0 + +SSTidalCorridor_EventScript_23BFFF:: @ 823BFFF + special SetSSTidalFlag + setvar VAR_PORTHOLE, 2 + lockall + playse SE_PINPON + msgbox SSTidalCorridor_Text_23C462, 4 + releaseall + end + +SSTidalCorridor_EventScript_23C015:: @ 823C015 + setvar VAR_PORTHOLE, 6 + lockall + playse SE_PINPON + msgbox SSTidalCorridor_Text_23C4E3, 4 + releaseall + end + +SSTidalRooms_EventScript_23C028:: @ 823C028 + special SetSSTidalFlag + setvar VAR_PORTHOLE, 7 + playse SE_PINPON + msgbox SSTidalRooms_Text_23C462, 4 + return + +SSTidalRooms_EventScript_23C03C:: @ 823C03C + special ResetSSTidalFlag + setvar VAR_PORTHOLE, 4 + playse SE_PINPON + msgbox SSTidalRooms_Text_23C553, 4 + return + +SSTidalCorridor_EventScript_23C050:: @ 823C050 + compare VAR_PORTHOLE, 2 + goto_eq SSTidalCorridor_EventScript_23C067 + compare VAR_PORTHOLE, 7 + goto_eq SSTidalCorridor_EventScript_23C07D + end + +SSTidalCorridor_EventScript_23C067:: @ 823C067 + special ResetSSTidalFlag + setvar VAR_PORTHOLE, 3 + lockall + playse SE_PINPON + msgbox SSTidalCorridor_Text_23C4E3, 4 + releaseall + end + +SSTidalCorridor_EventScript_23C07D:: @ 823C07D + special ResetSSTidalFlag + setvar VAR_PORTHOLE, 8 + lockall + playse SE_PINPON + msgbox SSTidalCorridor_Text_23C50F, 4 + releaseall + end + +SSTidalRooms_EventScript_23C093:: @ 823C093 + special ResetSSTidalFlag + setvar VAR_PORTHOLE, 8 + playse SE_PINPON + msgbox SSTidalRooms_Text_23C50F, 4 + return + +SSTidalRooms_EventScript_23C0A7:: @ 823C0A7 + switch VAR_PORTHOLE + case 2, SSTidalRooms_EventScript_23C03C + case 3, SSTidalRooms_EventScript_23C03C + case 6, SSTidalRooms_EventScript_23C028 + case 7, SSTidalRooms_EventScript_23C093 + return + +SSTidalCorridor_EventScript_23C0D9:: @ 823C0D9 + msgbox SSTidalCorridor_Text_23C6EC, 2 + end + +SSTidalCorridor_EventScript_23C0E2:: @ 823C0E2 + lock + faceplayer + waitse + playmoncry SPECIES_WINGULL, 0 + msgbox SSTidalCorridor_Text_23C7E1, 4 + waitmoncry + release + end + +SSTidalCorridor_EventScript_23C0F5:: @ 823C0F5 + msgbox SSTidalCorridor_Text_23C7F8, 3 + end + +SSTidalCorridor_EventScript_23C0FE:: @ 823C0FE + msgbox SSTidalCorridor_Text_23C800, 3 + end + +SSTidalCorridor_EventScript_23C107:: @ 823C107 + msgbox SSTidalCorridor_Text_23C808, 3 + end + +SSTidalCorridor_EventScript_23C110:: @ 823C110 + msgbox SSTidalCorridor_Text_23C810, 3 + end + +SSTidalCorridor_EventScript_23C119:: @ 823C119 + lock + faceplayer + compare VAR_PORTHOLE, 4 + goto_eq SSTidalCorridor_EventScript_23C13B + compare VAR_PORTHOLE, 8 + goto_eq SSTidalCorridor_EventScript_23C15A + msgbox SSTidalCorridor_Text_23C596, 4 + release + end + +SSTidalCorridor_EventScript_23C13B:: @ 823C13B + setrespawn 8 + msgbox SSTidalCorridor_Text_23C64F, 4 + checkflag FLAG_0x104 + call_if 1, SSTidalCorridor_EventScript_23C179 + warp LILYCOVE_CITY_HARBOR, 255, 8, 11 + waitstate + release + end + +SSTidalCorridor_EventScript_23C15A:: @ 823C15A + setrespawn 4 + msgbox SSTidalCorridor_Text_23C64F, 4 + checkflag FLAG_0x104 + call_if 1, SSTidalCorridor_EventScript_23C179 + warp SLATEPORT_CITY_HARBOR, 255, 8, 11 + waitstate + release + end + +SSTidalCorridor_EventScript_23C179:: @ 823C179 + setflag FLAG_0x3B7 + return + +SSTidalCorridor_EventScript_23C17D:: @ 823C17D + lockall + compare VAR_PORTHOLE, 2 + goto_eq SSTidalCorridor_EventScript_23C19E + compare VAR_PORTHOLE, 7 + goto_eq SSTidalCorridor_EventScript_23C19E + msgbox SSTidalCorridor_Text_23C6C3, 4 + releaseall + end + +SSTidalCorridor_EventScript_23C19E:: @ 823C19E + special sub_80FB7A4 + waitstate + end + +SSTidalCorridor_EventScript_23C1A3:: @ 823C1A3 + lock + faceplayer + checkflag FLAG_0x0F7 + goto_eq SSTidalCorridor_EventScript_23C1BD + call SSTidalCorridor_EventScript_23C1C7 + msgbox SSTidalCorridor_Text_23C65E, 4 + release + end + +SSTidalCorridor_EventScript_23C1BD:: @ 823C1BD + msgbox SSTidalCorridor_Text_23C6B0, 4 + release + end + +SSTidalCorridor_EventScript_23C1C7:: @ 823C1C7 + checktrainerflag TRAINER_PHILLIP + goto_if 0, SSTidalCorridor_EventScript_23C218 + checktrainerflag TRAINER_LEONARD + goto_if 0, SSTidalCorridor_EventScript_23C218 + checktrainerflag TRAINER_COLTON + goto_if 0, SSTidalCorridor_EventScript_23C218 + checktrainerflag TRAINER_MICAH + goto_if 0, SSTidalCorridor_EventScript_23C218 + checktrainerflag TRAINER_THOMAS + goto_if 0, SSTidalCorridor_EventScript_23C218 + checktrainerflag TRAINER_LEA_AND_JED + goto_if 0, SSTidalCorridor_EventScript_23C218 + checktrainerflag TRAINER_GARRET + goto_if 0, SSTidalCorridor_EventScript_23C218 + checktrainerflag TRAINER_NAOMI + goto_if 0, SSTidalCorridor_EventScript_23C218 + setflag FLAG_0x0F7 + goto SSTidalCorridor_EventScript_23C1BD + return + +SSTidalCorridor_EventScript_23C218:: @ 823C218 + return + +SSTidalCorridor_EventScript_23C219:: @ 823C219 + lockall + applymovement 5, SSTidalCorridor_Movement_23C26D + waitmovement 0 + applymovement 255, SSTidalCorridor_Movement_2725A8 + waitmovement 0 + msgbox SSTidalCorridor_Text_23C28F, 4 + closemessage + applymovement 255, SSTidalCorridor_Movement_23C27D + applymovement 1, SSTidalCorridor_Movement_23C284 + applymovement 5, SSTidalCorridor_Movement_23C275 + waitmovement 0 + playse SE_KAIDAN + waitse + removeobject 5 + applymovement 1, SSTidalCorridor_Movement_23C28B + waitmovement 0 + delay 30 + setflag FLAG_0x1D0 + setvar VAR_0x40D4, 1 + releaseall + end + +SSTidalCorridor_Movement_23C26D: @ 823C26D + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +SSTidalCorridor_Movement_23C275: @ 823C275 + step_25 + step_14 + step_14 + step_14 + step_14 + step_down + step_left + step_end + +SSTidalCorridor_Movement_23C27D: @ 823C27D + step_14 + step_14 + step_14 + step_14 + step_13 + step_25 + step_end + +SSTidalCorridor_Movement_23C284: @ 823C284 + step_14 + step_right + step_right + step_26 + step_14 + step_27 + step_end + +SSTidalCorridor_Movement_23C28B: @ 823C28B + step_left + step_left + step_26 + step_end + +SSTidalCorridor_Text_23C28F: @ 823C28F + .string "SCOTT: Well, hi, hi!\n" + .string "{PLAYER}{KUN}, {PLAYER}{KUN}!\p" + .string "Something’s come up, so I have to\n" + .string "disembark, but am I glad to see you!\p" + .string "Congratulations, LEAGUE CHAMPION!\p" + .string "There’s a place I’d like to invite\n" + .string "someone like you.\p" + .string "It’s the…\n" + .string "BATTLE FRONTIER!\p" + .string "What’s the place like?\n" + .string "You’ll understand when you see it!\p" + .string "I’ve spoken with the ship’s CAPTAIN\n" + .string "about this.\p" + .string "The next time you take a ferry,\n" + .string "you should be able to sail to\l" + .string "the BATTLE FRONTIER.\p" + .string "Okay, {PLAYER}{KUN}, I’ll be waiting for you\n" + .string "at the BATTLE FRONTIER!$" + +SSTidalCorridor_Text_23C462: @ 823C462 +SSTidalRooms_Text_23C462: @ 823C462 + .string "This ferry is built to plow through\n" + .string "fast-running currents.\p" + .string "We hope you enjoy your voyage with us.\n" + .string "Feel free to explore the ship.$" + +SSTidalCorridor_Text_23C4E3: @ 823C4E3 + .string "We hope you enjoy your voyage on\n" + .string "our ferry.$" + +SSTidalCorridor_Text_23C50F: @ 823C50F +SSTidalRooms_Text_23C50F: @ 823C50F + .string "We have made land in SLATEPORT CITY.\n" + .string "Thank you for sailing with us.$" + +SSTidalRooms_Text_23C553: @ 823C553 + .string "We have made land in LILYCOVE CITY.\n" + .string "Thank you for sailing with us.$" + +SSTidalCorridor_Text_23C596: @ 823C596 + .string "It’ll be some time before we make land,\n" + .string "I reckon.\p" + .string "You can rest up in your cabin if you’d\n" + .string "like. Your cabin’s No. 2.\p" + .string "The bed in there is soft and plushy.\n" + .string "I can attest to how comfy it is!$" + +SSTidalCorridor_Text_23C64F: @ 823C64F + .string "We’ve arrived!$" + +SSTidalCorridor_Text_23C65E: @ 823C65E + .string "Go visit other cabins.\n" + .string "TRAINERS bored of the boat trip will\l" + .string "be itching to battle.$" + +SSTidalCorridor_Text_23C6B0: @ 823C6B0 + .string "Enjoy your cruise!$" + +SSTidalCorridor_Text_23C6C3: @ 823C6C3 + .string "The horizon spreads beyond\n" + .string "the porthole.$" + +SSTidalCorridor_Text_23C6EC: @ 823C6EC + .string "MR. BRINEY: Welcome aboard, {PLAYER}{KUN}!\p" + .string "They made me honorary captain of\n" + .string "the S.S. TIDAL!\p" + .string "You can call me CAPTAIN BRINEY now!\p" + .string "You know, I retired once before,\n" + .string "but when I saw this majestic ship…\p" + .string "Let me just say, it stirred my sleeping\n" + .string "soul as a sailor!$" + +SSTidalCorridor_Text_23C7E1: @ 823C7E1 + .string "PEEKO: Pihyo pihyohyo…$" + +SSTidalCorridor_Text_23C7F8: @ 823C7F8 + .string "Cabin 1$" + +SSTidalCorridor_Text_23C800: @ 823C800 + .string "Cabin 2$" + +SSTidalCorridor_Text_23C808: @ 823C808 + .string "Cabin 3$" + +SSTidalCorridor_Text_23C810: @ 823C810 + .string "Cabin 4$" diff --git a/data/scripts/maps/SSTidalLowerDeck.inc b/data/scripts/maps/SSTidalLowerDeck.inc new file mode 100644 index 0000000000..2ad1ed5806 --- /dev/null +++ b/data/scripts/maps/SSTidalLowerDeck.inc @@ -0,0 +1,39 @@ +SSTidalLowerDeck_MapScripts:: @ 823C818 + .byte 0 + +SSTidalLowerDeck_EventScript_23C819:: @ 823C819 + trainerbattle 0, TRAINER_PHILLIP, 0, SSTidalLowerDeck_Text_23C847, SSTidalLowerDeck_Text_23C8A0 + msgbox SSTidalLowerDeck_Text_23C8B4, 6 + end + +SSTidalLowerDeck_EventScript_23C830:: @ 823C830 + trainerbattle 0, TRAINER_LEONARD, 0, SSTidalLowerDeck_Text_23C917, SSTidalLowerDeck_Text_23C97D + msgbox SSTidalLowerDeck_Text_23C98E, 6 + end + +SSTidalLowerDeck_Text_23C847: @ 823C847 + .string "Arrrgh! I’m fed up and dog-tired of\n" + .string "cleaning this huge place!\p" + .string "Let’s have a quick battle!$" + +SSTidalLowerDeck_Text_23C8A0: @ 823C8A0 + .string "Little bro, I lost!$" + +SSTidalLowerDeck_Text_23C8B4: @ 823C8B4 + .string "We’re the CLEANUP BROTHERS!\p" + .string "The old one dumps the detergent,\n" + .string "and the young one does the scrubbing!$" + +SSTidalLowerDeck_Text_23C917: @ 823C917 + .string "This is the bottom of the ship’s hull.\n" + .string "There’s plenty of room.\l" + .string "It’ll be alright for a POKéMON battle.$" + +SSTidalLowerDeck_Text_23C97D: @ 823C97D + .string "Big bro, I lost!$" + +SSTidalLowerDeck_Text_23C98E: @ 823C98E + .string "We’re the CLEANUP BROTHERS!\p" + .string "The old one dumps the detergent,\n" + .string "and the young one does the scrubbing!$" + diff --git a/data/scripts/maps/SSTidalRooms.inc b/data/scripts/maps/SSTidalRooms.inc new file mode 100644 index 0000000000..39c453e981 --- /dev/null +++ b/data/scripts/maps/SSTidalRooms.inc @@ -0,0 +1,177 @@ +SSTidalRooms_MapScripts:: @ 823C9F1 + .byte 0 + +SSTidalRooms_EventScript_23C9F2:: @ 823C9F2 + lock + faceplayer + checkflag FLAG_0x104 + goto_eq SSTidalRooms_EventScript_23CA29 + msgbox SSTidalRooms_Text_23D098, 4 + giveitem_std ITEM_TM49 + compare VAR_RESULT, 0 + goto_eq SSTidalRooms_EventScript_272054 + setflag FLAG_0x104 + msgbox SSTidalRooms_Text_23D145, 4 + release + end + +SSTidalRooms_EventScript_23CA29:: @ 823CA29 + msgbox SSTidalRooms_Text_23D145, 4 + release + end + +SSTidalRooms_EventScript_23CA33:: @ 823CA33 + lockall + msgbox SSTidalRooms_Text_23CAF2, 4 + closemessage + call SSTidalRooms_EventScript_272083 + call SSTidalRooms_EventScript_23C0A7 + releaseall + end + +SSTidalRooms_EventScript_23CA49:: @ 823CA49 + trainerbattle 0, TRAINER_COLTON, 0, SSTidalRooms_Text_23CB14, SSTidalRooms_Text_23CB58 + msgbox SSTidalRooms_Text_23CB75, 6 + end + +SSTidalRooms_EventScript_23CA60:: @ 823CA60 + trainerbattle 0, TRAINER_MICAH, 0, SSTidalRooms_Text_23CBEB, SSTidalRooms_Text_23CC04 + msgbox SSTidalRooms_Text_23CC26, 6 + end + +SSTidalRooms_EventScript_23CA77:: @ 823CA77 + trainerbattle 0, TRAINER_THOMAS, 0, SSTidalRooms_Text_23CC68, SSTidalRooms_Text_23CC8A + msgbox SSTidalRooms_Text_23CCBB, 6 + end + +SSTidalRooms_EventScript_23CA8E:: @ 823CA8E + trainerbattle 4, TRAINER_LEA_AND_JED, 0, SSTidalRooms_Text_23CD04, SSTidalRooms_Text_23CD54, SSTidalRooms_Text_23CDC6 + msgbox SSTidalRooms_Text_23CD5F, 6 + end + +SSTidalRooms_EventScript_23CAA9:: @ 823CAA9 + trainerbattle 4, TRAINER_LEA_AND_JED, 0, SSTidalRooms_Text_23CE04, SSTidalRooms_Text_23CE4B, SSTidalRooms_Text_23CEB0 + msgbox SSTidalRooms_Text_23CE59, 6 + end + +SSTidalRooms_EventScript_23CAC4:: @ 823CAC4 + trainerbattle 0, TRAINER_GARRET, 0, SSTidalRooms_Text_23CEEE, SSTidalRooms_Text_23CF36 + msgbox SSTidalRooms_Text_23CF45, 6 + end + +SSTidalRooms_EventScript_23CADB:: @ 823CADB + trainerbattle 0, TRAINER_NAOMI, 0, SSTidalRooms_Text_23CF97, SSTidalRooms_Text_23CFF4 + msgbox SSTidalRooms_Text_23D013, 6 + end + +SSTidalRooms_Text_23CAF2: @ 823CAF2 + .string "There’s a bed…\n" + .string "Let’s take a rest.$" + +SSTidalRooms_Text_23CB14: @ 823CB14 + .string "I often sail to LILYCOVE CITY.\p" + .string "I enjoy attending CONTESTS,\n" + .string "you see.$" + +SSTidalRooms_Text_23CB58: @ 823CB58 + .string "That was an enjoyable match!$" + +SSTidalRooms_Text_23CB75: @ 823CB75 + .string "I get so excited imagining what kinds\n" + .string "of POKéMON I’ll get to see in the next\l" + .string "CONTEST. The anticipation of it thrills!$" + +SSTidalRooms_Text_23CBEB: @ 823CBEB + .string "Are your friends strong?$" + +SSTidalRooms_Text_23CC04: @ 823CC04 + .string "Your friends are, indeed, strong.$" + +SSTidalRooms_Text_23CC26: @ 823CC26 + .string "Friends need not be human.\n" + .string "For me, POKéMON are treasured friends!$" + +SSTidalRooms_Text_23CC68: @ 823CC68 + .string "Child…\n" + .string "Did you knock on the door?$" + +SSTidalRooms_Text_23CC8A: @ 823CC8A + .string "A loss is to be accepted without haste\n" + .string "or panic.$" + +SSTidalRooms_Text_23CCBB: @ 823CCBB + .string "To be never ruffled in any situation is\n" + .string "the GENTLEMAN’s code of conduct.$" + +SSTidalRooms_Text_23CD04: @ 823CD04 + .string "JED: I feel a little shy about this, but…\n" + .string "We’ll show you our lovey-dovey power!$" + +SSTidalRooms_Text_23CD54: @ 823CD54 + .string "JED: Sigh…$" + +SSTidalRooms_Text_23CD5F: @ 823CD5F + .string "JED: It’s the first time that our lovey-\n" + .string "dovey power couldn’t prevail!\l" + .string "You must be an awesome TRAINER!$" + +SSTidalRooms_Text_23CDC6: @ 823CDC6 + .string "JED: You only have one POKéMON?\n" + .string "Isn’t that just too lonesome?$" + +SSTidalRooms_Text_23CE04: @ 823CE04 + .string "LEA: I feel a little silly, but…\n" + .string "We’ll show you our lovey-dovey power!$" + +SSTidalRooms_Text_23CE4B: @ 823CE4B + .string "LEA: Oh, boo!$" + +SSTidalRooms_Text_23CE59: @ 823CE59 + .string "LEA: I can’t believe it!\n" + .string "Our lovey-dovey power failed…\l" + .string "You must be an awesome TRAINER!$" + +SSTidalRooms_Text_23CEB0: @ 823CEB0 + .string "LEA: I wanted to battle…\n" + .string "But you don’t even have two POKéMON…$" + +SSTidalRooms_Text_23CEEE: @ 823CEEE + .string "Ah, you’ve come just in time.\p" + .string "I’m bored, you see.\n" + .string "You may entertain me.$" + +SSTidalRooms_Text_23CF36: @ 823CF36 + .string "…That will do.$" + +SSTidalRooms_Text_23CF45: @ 823CF45 + .string "Perhaps I shall get Father to acquire\n" + .string "a yacht for me.\l" + .string "A yacht for me and POKéMON!$" + +SSTidalRooms_Text_23CF97: @ 823CF97 + .string "Oh, you’re such an adorable TRAINER.\n" + .string "Would you like to have tea?\l" + .string "Or would you rather battle?$" + +SSTidalRooms_Text_23CFF4: @ 823CFF4 + .string "I see.\n" + .string "You’re the active sort.$" + +SSTidalRooms_Text_23D013: @ 823D013 + .string "A world cruise on a luxury liner has its\n" + .string "charms, I must say…\p" + .string "But, I will admit there is an appealing\n" + .string "side to touring HOENN by ferry.$" + +SSTidalRooms_Text_23D098: @ 823D098 + .string "Uh… Hi! I… I’m not acting suspicious!\n" + .string "Uh… You can have this! For free!\p" + .string "It… Honestly, I didn’t SNATCH it from\n" + .string "someone! I’d never do such a thing!\l" + .string "It’s clean! You can use it!$" + +SSTidalRooms_Text_23D145: @ 823D145 + .string "SNATCH steals the beneficial effects\n" + .string "of certain moves before they can be\l" + .string "used by a foe or ally.$" + diff --git a/data/scripts/maps/SafariZone_North.inc b/data/scripts/maps/SafariZone_North.inc new file mode 100644 index 0000000000..a96b6b95d9 --- /dev/null +++ b/data/scripts/maps/SafariZone_North.inc @@ -0,0 +1,11 @@ +SafariZone_North_MapScripts:: @ 823D253 + .byte 0 + +SafariZone_North_EventScript_23D254:: @ 823D254 + msgbox SafariZone_North_Text_2A5489, 2 + end + +SafariZone_North_EventScript_23D25D:: @ 823D25D + msgbox SafariZone_North_Text_2A54F0, 2 + end + diff --git a/data/scripts/maps/SafariZone_Northeast.inc b/data/scripts/maps/SafariZone_Northeast.inc new file mode 100644 index 0000000000..207e2a584b --- /dev/null +++ b/data/scripts/maps/SafariZone_Northeast.inc @@ -0,0 +1,3 @@ +SafariZone_Northeast_MapScripts:: @ 8242C02 + .byte 0 + diff --git a/data/scripts/maps/SafariZone_Northwest.inc b/data/scripts/maps/SafariZone_Northwest.inc new file mode 100644 index 0000000000..34e510237b --- /dev/null +++ b/data/scripts/maps/SafariZone_Northwest.inc @@ -0,0 +1,7 @@ +SafariZone_Northwest_MapScripts:: @ 823D249 + .byte 0 + +SafariZone_Northwest_EventScript_23D24A:: @ 823D24A + msgbox SafariZone_Northwest_Text_2A542C, 2 + end + diff --git a/data/scripts/maps/SafariZone_RestHouse.inc b/data/scripts/maps/SafariZone_RestHouse.inc new file mode 100644 index 0000000000..22657eeb15 --- /dev/null +++ b/data/scripts/maps/SafariZone_RestHouse.inc @@ -0,0 +1,15 @@ +SafariZone_RestHouse_MapScripts:: @ 8242BE6 + .byte 0 + +SafariZone_RestHouse_EventScript_242BE7:: @ 8242BE7 + msgbox SafariZone_RestHouse_Text_2A5639, 2 + end + +SafariZone_RestHouse_EventScript_242BF0:: @ 8242BF0 + msgbox SafariZone_RestHouse_Text_2A56E1, 2 + end + +SafariZone_RestHouse_EventScript_242BF9:: @ 8242BF9 + msgbox SafariZone_RestHouse_Text_2A5764, 2 + end + diff --git a/data/scripts/maps/SafariZone_South.inc b/data/scripts/maps/SafariZone_South.inc new file mode 100644 index 0000000000..4be06d00b4 --- /dev/null +++ b/data/scripts/maps/SafariZone_South.inc @@ -0,0 +1,154 @@ +SafariZone_South_MapScripts:: @ 823D279 + map_script 3, SafariZone_South_MapScript1_23D2B1 + map_script 2, SafariZone_South_MapScript2_23D284 + .byte 0 + +SafariZone_South_MapScript2_23D284: @ 823D284 + map_script_2 VAR_0x40A4, 2, SafariZone_South_EventScript_23D28E + .2byte 0 + +SafariZone_South_EventScript_23D28E:: @ 823D28E + lockall + applymovement 255, SafariZone_South_Movement_23D2C5 + waitmovement 0 + applymovement 1, SafariZone_South_Movement_23D2C7 + waitmovement 0 + setobjectxyperm 1, 32, 34 + setvar VAR_0x40A4, 0 + releaseall + end + +SafariZone_South_MapScript1_23D2B1: @ 823D2B1 + compare VAR_0x40A4, 2 + call_if 1, SafariZone_South_EventScript_23D2BD + end + +SafariZone_South_EventScript_23D2BD:: @ 823D2BD + setobjectxyperm 1, 31, 34 + return + +SafariZone_South_Movement_23D2C5: @ 823D2C5 + step_down + step_end + +SafariZone_South_Movement_23D2C7: @ 823D2C7 + step_right + step_25 + step_end + +SafariZone_South_EventScript_23D2CA:: @ 823D2CA + msgbox SafariZone_South_Text_2A52EF, 2 + end + +SafariZone_South_EventScript_23D2D3:: @ 823D2D3 + msgbox SafariZone_South_Text_2A533B, 2 + end + +SafariZone_South_EventScript_23D2DC:: @ 823D2DC + msgbox SafariZone_South_Text_2A553E, 2 + end + +SafariZone_South_EventScript_23D2E5:: @ 823D2E5 + lock + faceplayer + checkflag FLAG_0x05D + goto_if 0, SafariZone_South_EventScript_23D30D + msgbox SafariZone_South_Text_2A51D4, 5 + compare VAR_RESULT, 1 + goto_eq SafariZone_South_EventScript_23D31A + msgbox SafariZone_South_Text_2A521A, 4 + release + end + +SafariZone_South_EventScript_23D30D:: @ 823D30D + setflag FLAG_0x05D + msgbox SafariZone_South_Text_2A52AB, 4 + release + end + +SafariZone_South_EventScript_23D31A:: @ 823D31A + msgbox SafariZone_South_Text_2A5248, 4 + closemessage + switch VAR_FACING + case 2, SafariZone_South_EventScript_23D33F + case 4, SafariZone_South_EventScript_23D359 + end + +SafariZone_South_EventScript_23D33F:: @ 823D33F + applymovement 1, SafariZone_South_Movement_23D38A + waitmovement 0 + applymovement 255, SafariZone_South_Movement_23D385 + waitmovement 0 + goto SafariZone_South_EventScript_23D373 + end + +SafariZone_South_EventScript_23D359:: @ 823D359 + applymovement 1, SafariZone_South_Movement_23D38D + waitmovement 0 + applymovement 255, SafariZone_South_Movement_23D387 + waitmovement 0 + goto SafariZone_South_EventScript_23D373 + end + +SafariZone_South_EventScript_23D373:: @ 823D373 + setvar VAR_0x40A4, 1 + special ExitSafariMode + warpdoor ROUTE_121_SAFARI_ZONE_ENTRANCE, 255, 2, 5 + waitstate + end + +SafariZone_South_Movement_23D385: @ 823D385 + step_up + step_end + +SafariZone_South_Movement_23D387: @ 823D387 + step_right + step_26 + step_end + +SafariZone_South_Movement_23D38A: @ 823D38A + step_left + step_28 + step_end + +SafariZone_South_Movement_23D38D: @ 823D38D + step_down + step_26 + step_end + +SafariZone_South_EventScript_23D390:: @ 823D390 + msgbox SafariZone_South_Text_2A57EE, 2 + end + +SafariZone_Southeast_EventScript_23D399:: @ 823D399 + msgbox SafariZone_Southeast_Text_2A582D, 2 + end + +SafariZone_South_EventScript_23D3A2:: @ 823D3A2 + msgbox SafariZone_South_Text_2A5887, 2 + end + +SafariZone_Southeast_EventScript_23D3AB:: @ 823D3AB + msgbox SafariZone_Southeast_Text_2A58C6, 2 + end + +SafariZone_Southeast_EventScript_23D3B4:: @ 823D3B4 + msgbox SafariZone_Southeast_Text_2A58FD, 2 + end + +SafariZone_Southeast_EventScript_23D3BD:: @ 823D3BD + msgbox SafariZone_Southeast_Text_2A5960, 2 + end + +SafariZone_Northeast_EventScript_23D3C6:: @ 823D3C6 + msgbox SafariZone_Northeast_Text_2A59A4, 2 + end + +SafariZone_Northeast_EventScript_23D3CF:: @ 823D3CF + msgbox SafariZone_Northeast_Text_2A5A09, 2 + end + +SafariZone_Northeast_EventScript_23D3D8:: @ 823D3D8 + msgbox SafariZone_Northeast_Text_2A5A44, 2 + end + diff --git a/data/scripts/maps/SafariZone_Southeast.inc b/data/scripts/maps/SafariZone_Southeast.inc new file mode 100644 index 0000000000..f88cd22fb5 --- /dev/null +++ b/data/scripts/maps/SafariZone_Southeast.inc @@ -0,0 +1,3 @@ +SafariZone_Southeast_MapScripts:: @ 8242C03 + .byte 0 + diff --git a/data/scripts/maps/SafariZone_Southwest.inc b/data/scripts/maps/SafariZone_Southwest.inc new file mode 100644 index 0000000000..d2e75eb1bb --- /dev/null +++ b/data/scripts/maps/SafariZone_Southwest.inc @@ -0,0 +1,11 @@ +SafariZone_Southwest_MapScripts:: @ 823D266 + .byte 0 + +SafariZone_Southwest_EventScript_23D267:: @ 823D267 + msgbox SafariZone_Southwest_Text_2A53B7, 2 + end + +SafariZone_Southwest_EventScript_23D270:: @ 823D270 + msgbox SafariZone_Southwest_Text_2A5613, 3 + end + diff --git a/data/scripts/maps/ScorchedSlab.inc b/data/scripts/maps/ScorchedSlab.inc new file mode 100644 index 0000000000..f83724ec57 --- /dev/null +++ b/data/scripts/maps/ScorchedSlab.inc @@ -0,0 +1,8 @@ +ScorchedSlab_MapScripts:: @ 8239291 + map_script 3, ScorchedSlab_MapScript1_239297 + .byte 0 + +ScorchedSlab_MapScript1_239297: @ 8239297 + setflag FLAG_LANDMARK_SCORCHED_SLAB + end + diff --git a/data/scripts/maps/SeafloorCavern_Entrance.inc b/data/scripts/maps/SeafloorCavern_Entrance.inc new file mode 100644 index 0000000000..b5fdc5e427 --- /dev/null +++ b/data/scripts/maps/SeafloorCavern_Entrance.inc @@ -0,0 +1,93 @@ +SeafloorCavern_Entrance_MapScripts:: @ 823446E + map_script 5, SeafloorCavern_Entrance_MapScript1_234474 + .byte 0 + +SeafloorCavern_Entrance_MapScript1_234474: @ 8234474 + setdivewarp UNDERWATER_SEAFLOOR_CAVERN, 255, 6, 5 + setescapewarp UNDERWATER_SEAFLOOR_CAVERN, 255, 6, 5 + end + +SeafloorCavern_Entrance_EventScript_234485:: @ 8234485 + lockall + compare VAR_0x40D9, 1 + goto_eq SeafloorCavern_Entrance_EventScript_2344ED + waitse + playse SE_PIN + applymovement 1, SeafloorCavern_Entrance_Movement_272598 + waitmovement 0 + applymovement 1, SeafloorCavern_Entrance_Movement_27259A + waitmovement 0 + delay 20 + compare VAR_FACING, 3 + call_if 1, SeafloorCavern_Entrance_EventScript_23452E + compare VAR_FACING, 4 + call_if 1, SeafloorCavern_Entrance_EventScript_234523 + compare VAR_FACING, 2 + call_if 1, SeafloorCavern_Entrance_EventScript_234539 + delay 30 + setvar VAR_0x40D9, 1 + moveobjectoffscreen 1 + msgbox SeafloorCavern_Entrance_Text_234544, 4 + closemessage + applymovement 1, SeafloorCavern_Entrance_Movement_2725A6 + waitmovement 0 + releaseall + end + +SeafloorCavern_Entrance_EventScript_2344ED:: @ 82344ED + compare VAR_FACING, 3 + call_if 1, SeafloorCavern_Entrance_EventScript_23452E + compare VAR_FACING, 4 + call_if 1, SeafloorCavern_Entrance_EventScript_234523 + compare VAR_FACING, 2 + call_if 1, SeafloorCavern_Entrance_EventScript_234539 + msgbox SeafloorCavern_Entrance_Text_2346C8, 4 + closemessage + applymovement 1, SeafloorCavern_Entrance_Movement_2725A6 + waitmovement 0 + releaseall + end + +SeafloorCavern_Entrance_EventScript_234523:: @ 8234523 + applymovement 1, SeafloorCavern_Entrance_Movement_2725A4 + waitmovement 0 + return + +SeafloorCavern_Entrance_EventScript_23452E:: @ 823452E + applymovement 1, SeafloorCavern_Entrance_Movement_2725A8 + waitmovement 0 + return + +SeafloorCavern_Entrance_EventScript_234539:: @ 8234539 + applymovement 1, SeafloorCavern_Entrance_Movement_2725AA + waitmovement 0 + return + +SeafloorCavern_Entrance_Text_234544: @ 8234544 + .string "Hey!\n" + .string "I remember your face!\p" + .string "If you’re here, it must mean that\n" + .string "you’re about to mess with us again!\p" + .string "A punk like you, do you really think\n" + .string "you can take on TEAM AQUA?\p" + .string "I’d say you’re too early by about\n" + .string "a trillion years!\p" + .string "You’re a perfect fit for the likes of\n" + .string "TEAM MAGMA!\p" + .string "Speaking of TEAM MAGMA, I hear they\n" + .string "were spotted near MOSSDEEP.\p" + .string "That bunch of goons, they sure don’t\n" + .string "look good near the sea!$" + +SeafloorCavern_Entrance_Text_2346C8: @ 82346C8 + .string "A punk like you, do you really think\n" + .string "you can take on TEAM AQUA?\p" + .string "I’d say you’re too early by about\n" + .string "a trillion years!\p" + .string "You’re a perfect fit for the likes of\n" + .string "TEAM MAGMA!\p" + .string "Speaking of TEAM MAGMA, I hear they\n" + .string "were spotted near MOSSDEEP.\p" + .string "That bunch of goons, they sure don’t\n" + .string "look good near the sea!$" + diff --git a/data/scripts/maps/SeafloorCavern_Room1.inc b/data/scripts/maps/SeafloorCavern_Room1.inc new file mode 100644 index 0000000000..d3308fca24 --- /dev/null +++ b/data/scripts/maps/SeafloorCavern_Room1.inc @@ -0,0 +1,36 @@ +SeafloorCavern_Room1_MapScripts:: @ 82347EB + .byte 0 + +SeafloorCavern_Room1_EventScript_2347EC:: @ 82347EC + trainerbattle 0, TRAINER_GRUNT_5, 0, SeafloorCavern_Room1_Text_23481A, SeafloorCavern_Room1_Text_23484A + msgbox SeafloorCavern_Room1_Text_23485D, 6 + end + +SeafloorCavern_Room1_EventScript_234803:: @ 8234803 + trainerbattle 0, TRAINER_GRUNT_6, 0, SeafloorCavern_Room1_Text_234898, SeafloorCavern_Room1_Text_2348CD + msgbox SeafloorCavern_Room1_Text_2348E3, 6 + end + +SeafloorCavern_Room1_Text_23481A: @ 823481A + .string "We don’t need a kid around!\n" + .string "Go on home already!$" + +SeafloorCavern_Room1_Text_23484A: @ 823484A + .string "I want to go home…$" + +SeafloorCavern_Room1_Text_23485D: @ 823485D + .string "I want to get a promotion so I can\n" + .string "boss around the GRUNTS…$" + +SeafloorCavern_Room1_Text_234898: @ 8234898 + .string "That submarine… It’s tiny inside.\n" + .string "I’m sore all over!$" + +SeafloorCavern_Room1_Text_2348CD: @ 82348CD + .string "Losing makes me sore!$" + +SeafloorCavern_Room1_Text_2348E3: @ 82348E3 + .string "That submarine we jacked, man,\n" + .string "it’s brutal as a ride.\l" + .string "It’s way too tight in there!$" + diff --git a/data/scripts/maps/SeafloorCavern_Room2.inc b/data/scripts/maps/SeafloorCavern_Room2.inc new file mode 100644 index 0000000000..15201dac0b --- /dev/null +++ b/data/scripts/maps/SeafloorCavern_Room2.inc @@ -0,0 +1,3 @@ +SeafloorCavern_Room2_MapScripts:: @ 8234936 + .byte 0 + diff --git a/data/scripts/maps/SeafloorCavern_Room3.inc b/data/scripts/maps/SeafloorCavern_Room3.inc new file mode 100644 index 0000000000..f57d58e225 --- /dev/null +++ b/data/scripts/maps/SeafloorCavern_Room3.inc @@ -0,0 +1,58 @@ +SeafloorCavern_Room3_MapScripts:: @ 8234937 + .byte 0 + +SeafloorCavern_Room3_EventScript_234938:: @ 8234938 + trainerbattle 0, TRAINER_SHELLY_2, 0, SeafloorCavern_Room3_Text_234966, SeafloorCavern_Room3_Text_234A79 + msgbox SeafloorCavern_Room3_Text_234A8A, 6 + end + +SeafloorCavern_Room3_EventScript_23494F:: @ 823494F + trainerbattle 0, TRAINER_GRUNT_27, 0, SeafloorCavern_Room3_Text_234B3A, SeafloorCavern_Room3_Text_234BFE + msgbox SeafloorCavern_Room3_Text_234C04, 6 + end + +SeafloorCavern_Room3_Text_234966: @ 8234966 + .string "Ahahahaha!\p" + .string "How did you manage to get here without\n" + .string "a submarine?\l" + .string "What an impressive child!\p" + .string "But… It won’t do to have you\n" + .string "meddling about here.\p" + .string "And, I do want payback for what\n" + .string "happened at the WEATHER INSTITUTE…\p" + .string "I’m going to give you a little taste\n" + .string "of pain! Resign yourself to it!$" + +SeafloorCavern_Room3_Text_234A79: @ 8234A79 + .string "Ahahahaha!\p" + .string "Ouch!$" + +SeafloorCavern_Room3_Text_234A8A: @ 8234A8A + .string "Ahahahaha!\n" + .string "You’re so darn strong.\p" + .string "It’s terribly disappointing that you’re\n" + .string "not a TEAM AQUA member.\p" + .string "You could have enjoyed the fabulous\n" + .string "world our BOSS has promised as\l" + .string "one of us…$" + +SeafloorCavern_Room3_Text_234B3A: @ 8234B3A + .string "For our dream to become real, we need\n" + .string "the power of POKéMON.\p" + .string "But meddlers like you use the power of\n" + .string "POKéMON to mess with us even at\l" + .string "a place like this!\p" + .string "Life just doesn’t work the way we\n" + .string "need it to!$" + +SeafloorCavern_Room3_Text_234BFE: @ 8234BFE + .string "Gwah!$" + +SeafloorCavern_Room3_Text_234C04: @ 8234C04 + .string "You know, we don’t dare question\n" + .string "the motives of our leader.\p" + .string "But here you are, just some punk,\n" + .string "going up against our BOSS.\p" + .string "Maybe…\n" + .string "You must be something…$" + diff --git a/data/scripts/maps/SeafloorCavern_Room4.inc b/data/scripts/maps/SeafloorCavern_Room4.inc new file mode 100644 index 0000000000..e509013d67 --- /dev/null +++ b/data/scripts/maps/SeafloorCavern_Room4.inc @@ -0,0 +1,36 @@ +SeafloorCavern_Room4_MapScripts:: @ 8234C9B + .byte 0 + +SeafloorCavern_Room4_EventScript_234C9C:: @ 8234C9C + trainerbattle 0, TRAINER_GRUNT_7, 0, SeafloorCavern_Room4_Text_234CCA, SeafloorCavern_Room4_Text_234CF3 + msgbox SeafloorCavern_Room4_Text_234CFC, 6 + end + +SeafloorCavern_Room4_EventScript_234CB3:: @ 8234CB3 + trainerbattle 0, TRAINER_GRUNT_9, 0, SeafloorCavern_Room4_Text_234D3A, SeafloorCavern_Room4_Text_234D68 + msgbox SeafloorCavern_Room4_Text_234D79, 6 + end + +SeafloorCavern_Room4_Text_234CCA: @ 8234CCA + .string "Who are you?\n" + .string "Where did you come in from?$" + +SeafloorCavern_Room4_Text_234CF3: @ 8234CF3 + .string "Lost it…$" + +SeafloorCavern_Room4_Text_234CFC: @ 8234CFC + .string "I can’t find the way out!\p" + .string "I’m not afraid. Don’t get me wrong!$" + +SeafloorCavern_Room4_Text_234D3A: @ 8234D3A + .string "Who are you?\n" + .string "Where do you think you’re going?$" + +SeafloorCavern_Room4_Text_234D68: @ 8234D68 + .string "I failed to win!$" + +SeafloorCavern_Room4_Text_234D79: @ 8234D79 + .string "My partner forgot the map in that\n" + .string "submarine!\p" + .string "How’s that for being useless?$" + diff --git a/data/scripts/maps/SeafloorCavern_Room5.inc b/data/scripts/maps/SeafloorCavern_Room5.inc new file mode 100644 index 0000000000..e1c68db6eb --- /dev/null +++ b/data/scripts/maps/SeafloorCavern_Room5.inc @@ -0,0 +1,3 @@ +SeafloorCavern_Room5_MapScripts:: @ 8234DC4 + .byte 0 + diff --git a/data/scripts/maps/SeafloorCavern_Room6.inc b/data/scripts/maps/SeafloorCavern_Room6.inc new file mode 100644 index 0000000000..ae8cf02fa7 --- /dev/null +++ b/data/scripts/maps/SeafloorCavern_Room6.inc @@ -0,0 +1,3 @@ +SeafloorCavern_Room6_MapScripts:: @ 8234DC5 + .byte 0 + diff --git a/data/scripts/maps/SeafloorCavern_Room7.inc b/data/scripts/maps/SeafloorCavern_Room7.inc new file mode 100644 index 0000000000..e91cf61934 --- /dev/null +++ b/data/scripts/maps/SeafloorCavern_Room7.inc @@ -0,0 +1,3 @@ +SeafloorCavern_Room7_MapScripts:: @ 8234DC6 + .byte 0 + diff --git a/data/scripts/maps/SeafloorCavern_Room8.inc b/data/scripts/maps/SeafloorCavern_Room8.inc new file mode 100644 index 0000000000..471cafd177 --- /dev/null +++ b/data/scripts/maps/SeafloorCavern_Room8.inc @@ -0,0 +1,3 @@ +SeafloorCavern_Room8_MapScripts:: @ 8234DC7 + .byte 0 + diff --git a/data/scripts/maps/SeafloorCavern_Room9.inc b/data/scripts/maps/SeafloorCavern_Room9.inc new file mode 100644 index 0000000000..a2247286c4 --- /dev/null +++ b/data/scripts/maps/SeafloorCavern_Room9.inc @@ -0,0 +1,323 @@ +SeafloorCavern_Room9_MapScripts:: @ 8234DC8 + .byte 0 + +SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9 + lockall + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 4 + setvar VAR_0x8007, 5 + applymovement 255, SeafloorCavern_Room9_Movement_2725A6 + waitmovement 0 + applymovement 255, SeafloorCavern_Room9_Movement_23505C + waitmovement 0 + playbgm MUS_AQA_0, 0 + msgbox SeafloorCavern_Room9_Text_23505F, 4 + closemessage + addobject VAR_0x8004 + applymovement 255, SeafloorCavern_Room9_Movement_2725A4 + waitmovement 0 + applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_23502A + waitmovement 0 + msgbox SeafloorCavern_Room9_Text_23507C, 4 + applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_2725A6 + waitmovement 0 + msgbox SeafloorCavern_Room9_Text_2350A6, 4 + applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_27259E + waitmovement 0 + msgbox SeafloorCavern_Room9_Text_23512C, 4 + trainerbattle 3, TRAINER_ARCHIE, 0, SeafloorCavern_Room9_Text_2351BC + msgbox SeafloorCavern_Room9_Text_2351E5, 4 + setweather 0 + doweather + special sub_80B05B4 + waitstate + msgbox SeafloorCavern_Room9_Text_235279, 4 + special WaitWeather + waitstate + setvar VAR_RESULT, 1 + playse SE_W197 + setfieldeffectargument 0, 16 + setfieldeffectargument 1, 42 + setfieldeffectargument 2, 0 + dofieldeffect 54 + waitfieldeffect 54 + closemessage + setvar VAR_RESULT, 0 + playfanfare MUS_ME_TAMA + playse SE_TAMA + special sub_80B0534 + applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_2725A6 + applymovement 255, SeafloorCavern_Room9_Movement_2725A6 + waitmovement 0 + delay 150 + removeobject 7 + addobject 1 + waitstate + delay 60 + applymovement 1, SeafloorCavern_Room9_Movement_235040 + waitmovement 0 + special sub_80B058C + waitstate + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 8 + setvar VAR_0x8007, 5 + special sub_8139560 + waitstate + applymovement 1, SeafloorCavern_Room9_Movement_23504B + waitmovement 0 + removeobject 1 + delay 4 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 8 + setvar VAR_0x8007, 5 + special sub_8139560 + waitstate + delay 30 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 4 + setvar VAR_0x8007, 5 + msgbox SeafloorCavern_Room9_Text_2352A7, 4 + playse SE_PC_LOGIN + applymovement 255, SeafloorCavern_Room9_Movement_2725A4 + waitmovement 0 + msgbox SeafloorCavern_Room9_Text_2352F6, 4 + closemessage + applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_235035 + waitmovement 0 + msgbox SeafloorCavern_Room9_Text_23532B, 4 + closemessage + playse SE_PC_OFF + delay 20 + applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_2725AA + waitmovement 0 + msgbox SeafloorCavern_Room9_Text_23546F, 4 + closemessage + addobject VAR_0x8005 + addobject VAR_0x8006 + addobject VAR_0x8007 + applymovement VAR_0x8007, SeafloorCavern_Room9_Movement_235057 + applymovement VAR_0x8006, SeafloorCavern_Room9_Movement_235057 + applymovement VAR_0x8005, SeafloorCavern_Room9_Movement_23504E + waitmovement 0 + applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_2725A4 + waitmovement 0 + msgbox SeafloorCavern_Room9_Text_2354F0, 4 + playse SE_PIN + applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_272598 + waitmovement 0 + applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_27259A + waitmovement 0 + msgbox SeafloorCavern_Room9_Text_2355C2, 4 + msgbox SeafloorCavern_Room9_Text_235692, 4 + closemessage + applymovement VAR_0x8005, SeafloorCavern_Room9_Movement_235054 + applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_23503A + waitmovement 0 + msgbox SeafloorCavern_Room9_Text_235723, 4 + setvar VAR_0x407B, 1 + setvar VAR_0x405E, 1 + clearflag FLAG_0x3CD + clearflag FLAG_0x33A + clearflag FLAG_0x33B + clearflag FLAG_0x356 + clearflag FLAG_0x3E6 + clearflag FLAG_0x3E5 + setflag FLAG_0x347 + setflag FLAG_LEGENDARIES_IN_SOOTOPOLIS + clearflag FLAG_0x3B0 + clearflag FLAG_0x3B1 + setflag FLAG_SYS_WEATHER_CTRL + setflag FLAG_0x081 + setflag FLAG_0x3C7 + setvar VAR_0x40C6, 2 + setvar VAR_0x40A2, 1 + setflag FLAG_0x33C + setflag FLAG_0x33D + setflag FLAG_0x33F + setflag FLAG_0x35B + setflag FLAG_0x3B2 + setflag FLAG_SPECIAL_FLAG_0x4000 + warp ROUTE_128, 255, 38, 22 + waitstate + releaseall + end + +SeafloorCavern_Room9_Movement_23502A: @ 823502A + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_end + +SeafloorCavern_Room9_Movement_235032: @ 8235032 + step_left + step_left + step_end + +SeafloorCavern_Room9_Movement_235035: @ 8235035 + step_left + step_14 + step_end + +SeafloorCavern_Room9_Movement_235038: @ 8235038 + step_right + step_end + +SeafloorCavern_Room9_Movement_23503A: @ 823503A + step_01 + step_40 + step_down + step_41 + step_28 + step_end + +SeafloorCavern_Room9_Movement_235040: @ 8235040 + step_14 + step_14 + slow_step_down + step_14 + step_14 + step_14 + slow_step_down + step_14 + step_14 + step_14 + step_end + +SeafloorCavern_Room9_Movement_23504B: @ 823504B + step_32 + step_32 + step_end + +SeafloorCavern_Room9_Movement_23504E: @ 823504E + step_18 + step_18 + step_18 + step_18 + step_18 + step_end + +SeafloorCavern_Room9_Movement_235054: @ 8235054 + step_right + step_right + step_end + +SeafloorCavern_Room9_Movement_235057: @ 8235057 + step_18 + step_18 + step_18 + step_18 + step_end + +SeafloorCavern_Room9_Movement_23505C: @ 823505C + step_14 + step_14 + step_end + +SeafloorCavern_Room9_Text_23505F: @ 823505F + .string "ARCHIE: Hold it right there.$" + +SeafloorCavern_Room9_Text_23507C: @ 823507C + .string "ARCHIE: Fufufu…\n" + .string "So it was you, after all.$" + +SeafloorCavern_Room9_Text_2350A6: @ 82350A6 + .string "ARCHIE: Behold!\p" + .string "See how beautiful it is, the sleeping\n" + .string "form of the ancient POKéMON KYOGRE!\p" + .string "I have waited so long for this day to\n" + .string "come…$" + +SeafloorCavern_Room9_Text_23512C: @ 823512C + .string "ARCHIE: It surprises me, how you’ve\n" + .string "managed to chase me here.\p" + .string "But that’s all over now.\p" + .string "For the realization of my dream,\n" + .string "you must disappear now!$" + +SeafloorCavern_Room9_Text_2351BC: @ 82351BC + .string "What?!\n" + .string "I lost to a mere child like you?!$" + +SeafloorCavern_Room9_Text_2351E5: @ 82351E5 + .string "ARCHIE: Fufufu…\p" + .string "I commend you. I must recognize that\n" + .string "you are truly gifted.\p" + .string "But!\n" + .string "I have this in my possession!\p" + .string "With this RED ORB, I can make KYOGRE…$" + +SeafloorCavern_Room9_Text_235279: @ 8235279 + .string "The RED ORB suddenly began shining\n" + .string "by itself!$" + +SeafloorCavern_Room9_Text_2352A7: @ 82352A7 + .string "ARCHIE: What?!\p" + .string "I didn’t do anything.\n" + .string "Why did the RED ORB…\p" + .string "Where did KYOGRE go?$" + +SeafloorCavern_Room9_Text_2352F6: @ 82352F6 + .string "ARCHIE: Hm? It’s a message from our\n" + .string "members outside…$" + +SeafloorCavern_Room9_Text_23532B: @ 823532B + .string "ARCHIE: Yes, what is it?\p" + .string "Hm…\n" + .string "It’s raining heavily?\p" + .string "Good… That should have happened.\n" + .string "That is why we awakened KYOGRE,\l" + .string "to realize TEAM AQUA’s vision of\l" + .string "expanding the sea.\p" + .string "What?!\p" + .string "It’s raining far harder than we\n" + .string "envisioned? You’re in danger?\p" + .string "That can’t be…\n" + .string "That’s just not possible…\p" + .string "Hold your position and monitor\n" + .string "the situation!$" + +SeafloorCavern_Room9_Text_23546F: @ 823546F + .string "ARCHIE: There’s something wrong…\p" + .string "The RED ORB is supposed to awaken\n" + .string "and control KYOGRE…\p" + .string "But… Why?\n" + .string "Why did KYOGRE disappear?\p" + .string "Why?!$" + +SeafloorCavern_Room9_Text_2354F0: @ 82354F0 + .string "MAXIE: What have you wrought?\p" + .string "ARCHIE… You’ve finally awoken KYOGRE,\n" + .string "haven’t you?\p" + .string "What will happen to the world if this\n" + .string "downpour continues for all eternity?\p" + .string "The world’s landmass will drown in\n" + .string "the deepening sea…$" + +SeafloorCavern_Room9_Text_2355C2: @ 82355C2 + .string "ARCHIE: W-what?!\n" + .string "Don’t get all high and mighty with me!\p" + .string "Wasn’t it you, TEAM MAGMA, that\n" + .string "infuriated GROUDON?\p" + .string "So long as I have this RED ORB,\n" + .string "I should be able to control KYOGRE…\p" + .string "I should be able to control it…$" + +SeafloorCavern_Room9_Text_235692: @ 8235692 + .string "MAXIE: We don’t have the time to\n" + .string "argue about it here!\p" + .string "Get outside and see for yourself!\p" + .string "See if what you’ve wrought is the\n" + .string "world that we desired!$" + +SeafloorCavern_Room9_Text_235723: @ 8235723 + .string "MAXIE: {PLAYER}, come on, you have\n" + .string "to get out of here, too!$" + diff --git a/data/scripts/maps/SealedChamber_InnerRoom.inc b/data/scripts/maps/SealedChamber_InnerRoom.inc new file mode 100644 index 0000000000..9cd3727bb8 --- /dev/null +++ b/data/scripts/maps/SealedChamber_InnerRoom.inc @@ -0,0 +1,89 @@ +SealedChamber_InnerRoom_MapScripts:: @ 82391F7 + .byte 0 + +SealedChamber_InnerRoom_EventScript_2391F8:: @ 82391F8 + lockall + braillemessage SealedChamber_InnerRoom_Braille_2A6B99 + waitbuttonpress + hidebox2 + checkflag FLAG_0x0E4 + goto_eq SealedChamber_InnerRoom_EventScript_239253 + specialvar VAR_RESULT, CheckRelicanthWailord + compare VAR_RESULT, 0 + goto_eq SealedChamber_InnerRoom_EventScript_239253 + fadeoutbgm 0 + playse SE_TRACK_MOVE + special DoSealedChamberShakingEffect1 + waitstate + delay 40 + special DoSealedChamberShakingEffect2 + waitstate + playse SE_DOOR + delay 40 + special DoSealedChamberShakingEffect2 + waitstate + playse SE_DOOR + delay 40 + special DoSealedChamberShakingEffect2 + waitstate + playse SE_DOOR + delay 40 + msgbox gUnknown_0827301B, 4 + closemessage + fadeinbgm 0 + setflag FLAG_0x0E4 + releaseall + end + +SealedChamber_InnerRoom_EventScript_239253:: @ 8239253 + releaseall + end + +SealedChamber_InnerRoom_EventScript_239255:: @ 8239255 + lockall + braillemessage SealedChamber_InnerRoom_Braille_2A6BCA + waitbuttonpress + hidebox2 + releaseall + end + +SealedChamber_InnerRoom_EventScript_23925F:: @ 823925F + lockall + braillemessage SealedChamber_InnerRoom_Braille_2A6BEC + waitbuttonpress + hidebox2 + releaseall + end + +SealedChamber_InnerRoom_EventScript_239269:: @ 8239269 + lockall + braillemessage SealedChamber_InnerRoom_Braille_2A6C0D + waitbuttonpress + hidebox2 + releaseall + end + +SealedChamber_InnerRoom_EventScript_239273:: @ 8239273 + lockall + braillemessage SealedChamber_InnerRoom_Braille_2A6C34 + waitbuttonpress + hidebox2 + releaseall + end + +SealedChamber_InnerRoom_EventScript_23927D:: @ 823927D + lockall + braillemessage SealedChamber_InnerRoom_Braille_2A6C48 + waitbuttonpress + hidebox2 + releaseall + end + +SealedChamber_InnerRoom_EventScript_239287:: @ 8239287 + lockall + braillemessage SealedChamber_InnerRoom_Braille_2A6C73 + waitbuttonpress + hidebox2 + releaseall + end + diff --git a/data/scripts/maps/SealedChamber_OuterRoom.inc b/data/scripts/maps/SealedChamber_OuterRoom.inc new file mode 100644 index 0000000000..b7b55f2566 --- /dev/null +++ b/data/scripts/maps/SealedChamber_OuterRoom.inc @@ -0,0 +1,132 @@ +SealedChamber_OuterRoom_MapScripts:: @ 8239106 + map_script 5, SealedChamber_OuterRoom_MapScript1_239116 + map_script 3, SealedChamber_OuterRoom_MapScript1_239127 + map_script 1, SealedChamber_OuterRoom_MapScript1_23912B + .byte 0 + +SealedChamber_OuterRoom_MapScript1_239116: @ 8239116 + setdivewarp UNDERWATER_SEALED_CHAMBER, 255, 12, 44 + setescapewarp UNDERWATER_SEALED_CHAMBER, 255, 12, 44 + end + +SealedChamber_OuterRoom_MapScript1_239127: @ 8239127 + setflag FLAG_LANDMARK_SEALED_CHAMBER + end + +SealedChamber_OuterRoom_MapScript1_23912B: @ 823912B + checkflag FLAG_SYS_BRAILLE_DIG + call_if 0, SealedChamber_OuterRoom_EventScript_239135 + end + +SealedChamber_OuterRoom_EventScript_239135:: @ 8239135 + setmetatile 9, 1, 553, 1 + setmetatile 10, 1, 553, 1 + setmetatile 11, 1, 553, 1 + setmetatile 9, 2, 565, 1 + setmetatile 10, 2, 565, 1 + setmetatile 11, 2, 565, 1 + return + +SealedChamber_OuterRoom_EventScript_23916C:: @ 823916C + lockall + braillemessage SealedChamber_OuterRoom_Braille_2A6B27 + waitbuttonpress + hidebox2 + releaseall + end + +SealedChamber_OuterRoom_EventScript_239176:: @ 8239176 + lockall + braillemessage SealedChamber_OuterRoom_Braille_2A6B31 + waitbuttonpress + hidebox2 + releaseall + end + +SealedChamber_OuterRoom_EventScript_239180:: @ 8239180 + lockall + braillemessage SealedChamber_OuterRoom_Braille_2A6B3B + waitbuttonpress + hidebox2 + releaseall + end + +SealedChamber_OuterRoom_EventScript_23918A:: @ 823918A + lockall + braillemessage SealedChamber_OuterRoom_Braille_2A6B45 + waitbuttonpress + hidebox2 + releaseall + end + +SealedChamber_OuterRoom_EventScript_239194:: @ 8239194 + lockall + braillemessage SealedChamber_OuterRoom_Braille_2A6B4F + waitbuttonpress + hidebox2 + releaseall + end + +SealedChamber_OuterRoom_EventScript_23919E:: @ 823919E + lockall + braillemessage SealedChamber_OuterRoom_Braille_2A6B59 + waitbuttonpress + hidebox2 + releaseall + end + +SealedChamber_OuterRoom_EventScript_2391A8:: @ 82391A8 + lockall + braillemessage SealedChamber_OuterRoom_Braille_2A6B63 + waitbuttonpress + hidebox2 + releaseall + end + +SealedChamber_OuterRoom_EventScript_2391B2:: @ 82391B2 + lockall + braillemessage SealedChamber_OuterRoom_Braille_2A6B6E + waitbuttonpress + hidebox2 + releaseall + end + +SealedChamber_OuterRoom_EventScript_2391BC:: @ 82391BC + lockall + braillemessage SealedChamber_OuterRoom_Braille_2A6B76 + waitbuttonpress + hidebox2 + releaseall + end + +SealedChamber_OuterRoom_EventScript_2391C6:: @ 82391C6 + lockall + braillemessage SealedChamber_OuterRoom_Braille_2A6B81 + waitbuttonpress + hidebox2 + releaseall + end + +SealedChamber_OuterRoom_EventScript_2391D0:: @ 82391D0 + lockall + checkflag FLAG_SYS_BRAILLE_DIG + goto_eq SealedChamber_OuterRoom_EventScript_2391E3 + braillemessage SealedChamber_OuterRoom_Braille_2A6B89 + waitbuttonpress + hidebox2 + releaseall + end + +SealedChamber_OuterRoom_EventScript_2391E3:: @ 82391E3 + msgbox gUnknown_0827304E, 4 + releaseall + end + +SealedChamber_OuterRoom_EventScript_2391ED:: @ 82391ED + lockall + braillemessage SealedChamber_OuterRoom_Braille_2A6B89 + waitbuttonpress + hidebox2 + releaseall + end + diff --git a/data/scripts/maps/SecretBase_BlueCave1.inc b/data/scripts/maps/SecretBase_BlueCave1.inc new file mode 100644 index 0000000000..a7f979bde9 --- /dev/null +++ b/data/scripts/maps/SecretBase_BlueCave1.inc @@ -0,0 +1 @@ +SecretBase_BlueCave1_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_BlueCave2.inc b/data/scripts/maps/SecretBase_BlueCave2.inc new file mode 100644 index 0000000000..cb4ad3565c --- /dev/null +++ b/data/scripts/maps/SecretBase_BlueCave2.inc @@ -0,0 +1 @@ +SecretBase_BlueCave2_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_BlueCave3.inc b/data/scripts/maps/SecretBase_BlueCave3.inc new file mode 100644 index 0000000000..f49ff6dc1c --- /dev/null +++ b/data/scripts/maps/SecretBase_BlueCave3.inc @@ -0,0 +1 @@ +SecretBase_BlueCave3_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_BlueCave4.inc b/data/scripts/maps/SecretBase_BlueCave4.inc new file mode 100644 index 0000000000..faa8085457 --- /dev/null +++ b/data/scripts/maps/SecretBase_BlueCave4.inc @@ -0,0 +1 @@ +SecretBase_BlueCave4_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_BrownCave1.inc b/data/scripts/maps/SecretBase_BrownCave1.inc new file mode 100644 index 0000000000..9d2925611c --- /dev/null +++ b/data/scripts/maps/SecretBase_BrownCave1.inc @@ -0,0 +1 @@ +SecretBase_BrownCave1_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_BrownCave2.inc b/data/scripts/maps/SecretBase_BrownCave2.inc new file mode 100644 index 0000000000..e9c497facb --- /dev/null +++ b/data/scripts/maps/SecretBase_BrownCave2.inc @@ -0,0 +1 @@ +SecretBase_BrownCave2_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_BrownCave3.inc b/data/scripts/maps/SecretBase_BrownCave3.inc new file mode 100644 index 0000000000..284262d911 --- /dev/null +++ b/data/scripts/maps/SecretBase_BrownCave3.inc @@ -0,0 +1 @@ +SecretBase_BrownCave3_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_BrownCave4.inc b/data/scripts/maps/SecretBase_BrownCave4.inc new file mode 100644 index 0000000000..84f6855080 --- /dev/null +++ b/data/scripts/maps/SecretBase_BrownCave4.inc @@ -0,0 +1 @@ +SecretBase_BrownCave4_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_RedCave1.inc b/data/scripts/maps/SecretBase_RedCave1.inc new file mode 100644 index 0000000000..f9c55a2b5c --- /dev/null +++ b/data/scripts/maps/SecretBase_RedCave1.inc @@ -0,0 +1 @@ +SecretBase_RedCave1_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_RedCave2.inc b/data/scripts/maps/SecretBase_RedCave2.inc new file mode 100644 index 0000000000..e7e0c7ba5c --- /dev/null +++ b/data/scripts/maps/SecretBase_RedCave2.inc @@ -0,0 +1 @@ +SecretBase_RedCave2_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_RedCave3.inc b/data/scripts/maps/SecretBase_RedCave3.inc new file mode 100644 index 0000000000..512f7f92a3 --- /dev/null +++ b/data/scripts/maps/SecretBase_RedCave3.inc @@ -0,0 +1 @@ +SecretBase_RedCave3_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_RedCave4.inc b/data/scripts/maps/SecretBase_RedCave4.inc new file mode 100644 index 0000000000..98e79f89f3 --- /dev/null +++ b/data/scripts/maps/SecretBase_RedCave4.inc @@ -0,0 +1 @@ +SecretBase_RedCave4_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_Shrub1.inc b/data/scripts/maps/SecretBase_Shrub1.inc new file mode 100644 index 0000000000..24b8685a0a --- /dev/null +++ b/data/scripts/maps/SecretBase_Shrub1.inc @@ -0,0 +1 @@ +SecretBase_Shrub1_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_Shrub2.inc b/data/scripts/maps/SecretBase_Shrub2.inc new file mode 100644 index 0000000000..dad94f46db --- /dev/null +++ b/data/scripts/maps/SecretBase_Shrub2.inc @@ -0,0 +1 @@ +SecretBase_Shrub2_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_Shrub3.inc b/data/scripts/maps/SecretBase_Shrub3.inc new file mode 100644 index 0000000000..22c67c939e --- /dev/null +++ b/data/scripts/maps/SecretBase_Shrub3.inc @@ -0,0 +1 @@ +SecretBase_Shrub3_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_Shrub4.inc b/data/scripts/maps/SecretBase_Shrub4.inc new file mode 100644 index 0000000000..1a99522329 --- /dev/null +++ b/data/scripts/maps/SecretBase_Shrub4.inc @@ -0,0 +1 @@ +SecretBase_Shrub4_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_Tree1.inc b/data/scripts/maps/SecretBase_Tree1.inc new file mode 100644 index 0000000000..7e7704d6ad --- /dev/null +++ b/data/scripts/maps/SecretBase_Tree1.inc @@ -0,0 +1 @@ +SecretBase_Tree1_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_Tree2.inc b/data/scripts/maps/SecretBase_Tree2.inc new file mode 100644 index 0000000000..b30a6ec742 --- /dev/null +++ b/data/scripts/maps/SecretBase_Tree2.inc @@ -0,0 +1 @@ +SecretBase_Tree2_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_Tree3.inc b/data/scripts/maps/SecretBase_Tree3.inc new file mode 100644 index 0000000000..9512bbb808 --- /dev/null +++ b/data/scripts/maps/SecretBase_Tree3.inc @@ -0,0 +1 @@ +SecretBase_Tree3_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_Tree4.inc b/data/scripts/maps/SecretBase_Tree4.inc new file mode 100644 index 0000000000..62f41627fc --- /dev/null +++ b/data/scripts/maps/SecretBase_Tree4.inc @@ -0,0 +1 @@ +SecretBase_Tree4_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_YellowCave1.inc b/data/scripts/maps/SecretBase_YellowCave1.inc new file mode 100644 index 0000000000..fa56be0ebc --- /dev/null +++ b/data/scripts/maps/SecretBase_YellowCave1.inc @@ -0,0 +1 @@ +SecretBase_YellowCave1_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_YellowCave2.inc b/data/scripts/maps/SecretBase_YellowCave2.inc new file mode 100644 index 0000000000..86c3c876fa --- /dev/null +++ b/data/scripts/maps/SecretBase_YellowCave2.inc @@ -0,0 +1 @@ +SecretBase_YellowCave2_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_YellowCave3.inc b/data/scripts/maps/SecretBase_YellowCave3.inc new file mode 100644 index 0000000000..26311e6c51 --- /dev/null +++ b/data/scripts/maps/SecretBase_YellowCave3.inc @@ -0,0 +1 @@ +SecretBase_YellowCave3_MapScripts:: @ 823B483 diff --git a/data/scripts/maps/SecretBase_YellowCave4.inc b/data/scripts/maps/SecretBase_YellowCave4.inc new file mode 100644 index 0000000000..32da393883 --- /dev/null +++ b/data/scripts/maps/SecretBase_YellowCave4.inc @@ -0,0 +1,24 @@ +SecretBase_YellowCave4_MapScripts:: @ 823B483 + map_script 4, SecretBase_RedCave1_MapScript2_23B498 + map_script 3, SecretBase_RedCave1_MapScript1_23B4A2 + map_script 2, SecretBase_RedCave1_MapScript2_23B4AE + map_script 5, SecretBase_RedCave1_MapScript1_23B4B8 + .byte 0 + +SecretBase_RedCave1_MapScript2_23B498: @ 823B498 + map_script_2 VAR_0x4089, 0, EventScript_275D0C + .2byte 0 + +SecretBase_RedCave1_MapScript1_23B4A2: @ 823B4A2 + call SecretBase_RedCave1_EventScript_275CE1 + special sub_80E95D4 + special sub_80EB1AC + end + +SecretBase_RedCave1_MapScript2_23B4AE: @ 823B4AE + map_script_2 VAR_0x4097, 0, SecretBase_RedCave1_EventScript_275B81 + .2byte 0 + +SecretBase_RedCave1_MapScript1_23B4B8: @ 823B4B8 + setstepcallback 6 + end diff --git a/data/scripts/maps/ShoalCave_HighTideEntranceRoom.inc b/data/scripts/maps/ShoalCave_HighTideEntranceRoom.inc new file mode 100644 index 0000000000..d2a93f8e97 --- /dev/null +++ b/data/scripts/maps/ShoalCave_HighTideEntranceRoom.inc @@ -0,0 +1,3 @@ +ShoalCave_HighTideEntranceRoom_MapScripts:: @ 82372AB + .byte 0 + diff --git a/data/scripts/maps/ShoalCave_HighTideInnerRoom.inc b/data/scripts/maps/ShoalCave_HighTideInnerRoom.inc new file mode 100644 index 0000000000..6045f80a61 --- /dev/null +++ b/data/scripts/maps/ShoalCave_HighTideInnerRoom.inc @@ -0,0 +1,3 @@ +ShoalCave_HighTideInnerRoom_MapScripts:: @ 82372AC + .byte 0 + diff --git a/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc b/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc new file mode 100644 index 0000000000..f57a27c1d1 --- /dev/null +++ b/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc @@ -0,0 +1,103 @@ +ShoalCave_LowTideEntranceRoom_MapScripts:: @ 8236DBA + map_script 3, ShoalCave_LowTideEntranceRoom_MapScript1_236DC0 + .byte 0 + +ShoalCave_LowTideEntranceRoom_MapScript1_236DC0: @ 8236DC0 + special UpdateShoalTideFlag + checkflag FLAG_SYS_SHOAL_TIDE + goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236DD1 + goto ShoalCave_LowTideEntranceRoom_EventScript_236DD5 + +ShoalCave_LowTideEntranceRoom_EventScript_236DD1:: @ 8236DD1 + setmaplayoutindex 168 + end + +ShoalCave_LowTideEntranceRoom_EventScript_236DD5:: @ 8236DD5 + setmaplayoutindex 164 + end + +ShoalCave_LowTideEntranceRoom_EventScript_236DD9:: @ 8236DD9 + lock + faceplayer + dodailyevents + checkflag FLAG_SYS_SHOAL_ITEM + call_if 1, ShoalCave_LowTideEntranceRoom_EventScript_236ED9 + checkitem ITEM_SHOAL_SALT, 4 + compare VAR_RESULT, 0 + goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E9B + checkitem ITEM_SHOAL_SHELL, 4 + compare VAR_RESULT, 0 + goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E9B + msgbox ShoalCave_LowTideEntranceRoom_Text_2A7F37, 5 + compare VAR_RESULT, 0 + goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236ECF + checkitemspace ITEM_SHELL_BELL, 1 + compare VAR_RESULT, 0 + call_if 1, ShoalCave_LowTideEntranceRoom_EventScript_236E69 + compare VAR_RESULT, 2 + goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E91 + msgbox ShoalCave_LowTideEntranceRoom_Text_2A7FAC, 4 + takeitem ITEM_SHOAL_SALT, 4 + takeitem ITEM_SHOAL_SHELL, 4 + giveitem_std ITEM_SHELL_BELL + compare VAR_RESULT, 0 + goto_eq ShoalCave_LowTideEntranceRoom_EventScript_272054 + msgbox ShoalCave_LowTideEntranceRoom_Text_2A8012, 4 + setflag FLAG_0x002 + release + end + +ShoalCave_LowTideEntranceRoom_EventScript_236E69:: @ 8236E69 + checkitem ITEM_SHOAL_SALT, 5 + compare VAR_RESULT, 1 + goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E7A + return + +ShoalCave_LowTideEntranceRoom_EventScript_236E7A:: @ 8236E7A + checkitem ITEM_SHOAL_SHELL, 5 + compare VAR_RESULT, 1 + goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E8B + return + +ShoalCave_LowTideEntranceRoom_EventScript_236E8B:: @ 8236E8B + setvar VAR_RESULT, 2 + return + +ShoalCave_LowTideEntranceRoom_EventScript_236E91:: @ 8236E91 + msgbox ShoalCave_LowTideEntranceRoom_Text_2A80F5, 4 + release + end + +ShoalCave_LowTideEntranceRoom_EventScript_236E9B:: @ 8236E9B + checkitem ITEM_SHOAL_SALT, 1 + compare VAR_RESULT, 1 + goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236EC5 + checkitem ITEM_SHOAL_SHELL, 1 + compare VAR_RESULT, 1 + goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236EC5 + msgbox ShoalCave_LowTideEntranceRoom_Text_2A7E0E, 4 + release + end + +ShoalCave_LowTideEntranceRoom_EventScript_236EC5:: @ 8236EC5 + msgbox ShoalCave_LowTideEntranceRoom_Text_2A7EB3, 4 + release + end + +ShoalCave_LowTideEntranceRoom_EventScript_236ECF:: @ 8236ECF + msgbox ShoalCave_LowTideEntranceRoom_Text_2A80C6, 4 + release + end + +ShoalCave_LowTideEntranceRoom_EventScript_236ED9:: @ 8236ED9 + clearflag FLAG_0x3B8 + clearflag FLAG_0x3B9 + clearflag FLAG_0x3BA + clearflag FLAG_0x3BB + clearflag FLAG_0x3BC + clearflag FLAG_0x3BD + clearflag FLAG_0x3BE + clearflag FLAG_0x3BF + clearflag FLAG_SYS_SHOAL_ITEM + return + diff --git a/data/scripts/maps/ShoalCave_LowTideIceRoom.inc b/data/scripts/maps/ShoalCave_LowTideIceRoom.inc new file mode 100644 index 0000000000..3f7a5cce83 --- /dev/null +++ b/data/scripts/maps/ShoalCave_LowTideIceRoom.inc @@ -0,0 +1,3 @@ +ShoalCave_LowTideIceRoom_MapScripts:: @ 82396A1 + .byte 0 + diff --git a/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc b/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc new file mode 100644 index 0000000000..94505a96dc --- /dev/null +++ b/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc @@ -0,0 +1,158 @@ +ShoalCave_LowTideInnerRoom_MapScripts:: @ 8236EF5 + map_script 1, ShoalCave_LowTideInnerRoom_MapScript1_236F16 + map_script 3, ShoalCave_LowTideInnerRoom_MapScript1_236F00 + .byte 0 + +ShoalCave_LowTideInnerRoom_MapScript1_236F00: @ 8236F00 + checkflag FLAG_SYS_SHOAL_TIDE + goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F0E + goto ShoalCave_LowTideInnerRoom_EventScript_236F12 + +ShoalCave_LowTideInnerRoom_EventScript_236F0E:: @ 8236F0E + setmaplayoutindex 169 + end + +ShoalCave_LowTideInnerRoom_EventScript_236F12:: @ 8236F12 + setmaplayoutindex 165 + end + +ShoalCave_LowTideInnerRoom_MapScript1_236F16: @ 8236F16 + call ShoalCave_LowTideInnerRoom_EventScript_236F1C + end + +ShoalCave_LowTideInnerRoom_EventScript_236F1C:: @ 8236F1C + checkflag FLAG_0x3B8 + goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F3D + checkflag FLAG_SYS_SHOAL_TIDE + goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F3D + setmetatile 31, 8, 856, 1 + goto ShoalCave_LowTideInnerRoom_EventScript_236F3D + end + +ShoalCave_LowTideInnerRoom_EventScript_236F3D:: @ 8236F3D + checkflag FLAG_0x3B9 + goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F5E + checkflag FLAG_SYS_SHOAL_TIDE + goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F5E + setmetatile 14, 26, 856, 1 + goto ShoalCave_LowTideInnerRoom_EventScript_236F5E + end + +ShoalCave_LowTideInnerRoom_EventScript_236F5E:: @ 8236F5E + checkflag FLAG_0x3BC + goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F76 + setmetatile 41, 20, 857, 1 + goto ShoalCave_LowTideInnerRoom_EventScript_236F76 + end + +ShoalCave_LowTideInnerRoom_EventScript_236F76:: @ 8236F76 + checkflag FLAG_0x3BD + goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F8E + setmetatile 41, 10, 857, 1 + goto ShoalCave_LowTideInnerRoom_EventScript_236F8E + end + +ShoalCave_LowTideInnerRoom_EventScript_236F8E:: @ 8236F8E + checkflag FLAG_0x3BE + goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FA6 + setmetatile 6, 9, 857, 1 + goto ShoalCave_LowTideInnerRoom_EventScript_236FA6 + end + +ShoalCave_LowTideInnerRoom_EventScript_236FA6:: @ 8236FA6 + checkflag FLAG_0x3BF + goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FB9 + setmetatile 16, 13, 857, 1 + return + +ShoalCave_LowTideInnerRoom_EventScript_236FB9:: @ 8236FB9 + return + +ShoalCave_LowTideInnerRoom_EventScript_236FBA:: @ 8236FBA + lockall + checkflag FLAG_0x3BC + goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FEC + giveitem_std ITEM_SHOAL_SHELL + compare VAR_RESULT, 0 + goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054 + setmetatile 41, 20, 859, 0 + special DrawWholeMapView + setflag FLAG_0x3BC + releaseall + end + +ShoalCave_LowTideInnerRoom_EventScript_236FEC:: @ 8236FEC + msgbox ShoalCave_LowTideInnerRoom_Text_2A81A8, 4 + releaseall + end + +ShoalCave_LowTideInnerRoom_EventScript_236FF6:: @ 8236FF6 + lockall + checkflag FLAG_0x3BD + goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FEC + giveitem_std ITEM_SHOAL_SHELL + compare VAR_RESULT, 0 + goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054 + setmetatile 41, 10, 859, 0 + special DrawWholeMapView + setflag FLAG_0x3BD + releaseall + end + +ShoalCave_LowTideInnerRoom_EventScript_237028:: @ 8237028 + lockall + checkflag FLAG_0x3BE + goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FEC + giveitem_std ITEM_SHOAL_SHELL + compare VAR_RESULT, 0 + goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054 + setmetatile 6, 9, 859, 0 + special DrawWholeMapView + setflag FLAG_0x3BE + releaseall + end + +ShoalCave_LowTideInnerRoom_EventScript_23705A:: @ 823705A + lockall + checkflag FLAG_0x3BF + goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FEC + giveitem_std ITEM_SHOAL_SHELL + compare VAR_RESULT, 0 + goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054 + setmetatile 16, 13, 859, 0 + special DrawWholeMapView + setflag FLAG_0x3BF + releaseall + end + +ShoalCave_LowTideInnerRoom_EventScript_23708C:: @ 823708C + lockall + checkflag FLAG_0x3B8 + goto_eq ShoalCave_LowTideInnerRoom_EventScript_2370BE + giveitem_std ITEM_SHOAL_SALT + compare VAR_RESULT, 0 + goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054 + setmetatile 31, 8, 858, 0 + special DrawWholeMapView + setflag FLAG_0x3B8 + releaseall + end + +ShoalCave_LowTideInnerRoom_EventScript_2370BE:: @ 82370BE + msgbox ShoalCave_LowTideInnerRoom_Text_2A8169, 4 + releaseall + end + +ShoalCave_LowTideInnerRoom_EventScript_2370C8:: @ 82370C8 + lockall + checkflag FLAG_0x3B9 + goto_eq ShoalCave_LowTideInnerRoom_EventScript_2370BE + giveitem_std ITEM_SHOAL_SALT + compare VAR_RESULT, 0 + goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054 + setmetatile 14, 26, 858, 0 + special DrawWholeMapView + setflag FLAG_0x3B9 + releaseall + end + diff --git a/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc b/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc new file mode 100644 index 0000000000..9883bf3dab --- /dev/null +++ b/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc @@ -0,0 +1,63 @@ +ShoalCave_LowTideLowerRoom_MapScripts:: @ 8237156 + map_script 1, ShoalCave_LowTideLowerRoom_MapScript1_23715C + .byte 0 + +ShoalCave_LowTideLowerRoom_MapScript1_23715C: @ 823715C + call ShoalCave_LowTideLowerRoom_EventScript_237162 + end + +ShoalCave_LowTideLowerRoom_EventScript_237162:: @ 8237162 + checkflag FLAG_0x3BB + goto_eq ShoalCave_LowTideLowerRoom_EventScript_237175 + setmetatile 18, 2, 856, 1 + return + +ShoalCave_LowTideLowerRoom_EventScript_237175:: @ 8237175 + return + +ShoalCave_LowTideLowerRoom_EventScript_237176:: @ 8237176 + lockall + checkflag FLAG_0x3BB + goto_eq ShoalCave_LowTideLowerRoom_EventScript_2371A8 + giveitem_std ITEM_SHOAL_SALT + compare VAR_RESULT, 0 + goto_eq ShoalCave_LowTideLowerRoom_EventScript_272054 + setmetatile 18, 2, 858, 0 + special DrawWholeMapView + setflag FLAG_0x3BB + releaseall + end + +ShoalCave_LowTideLowerRoom_EventScript_2371A8:: @ 82371A8 + msgbox ShoalCave_LowTideLowerRoom_Text_2A8169, 4 + releaseall + end + +ShoalCave_LowTideLowerRoom_EventScript_2371B2:: @ 82371B2 + lock + faceplayer + checkflag FLAG_0x11B + goto_eq ShoalCave_LowTideLowerRoom_EventScript_2371E1 + msgbox ShoalCave_LowTideLowerRoom_Text_2371EB, 4 + giveitem_std ITEM_FOCUS_BAND + compare VAR_RESULT, 0 + goto_eq ShoalCave_LowTideLowerRoom_EventScript_272054 + setflag FLAG_0x11B + release + end + +ShoalCave_LowTideLowerRoom_EventScript_2371E1:: @ 82371E1 + msgbox ShoalCave_LowTideLowerRoom_Text_23728D, 4 + release + end + +ShoalCave_LowTideLowerRoom_Text_2371EB: @ 82371EB + .string "The penetrating cold around these\n" + .string "parts is an impediment to training.\p" + .string "But with focus, one can overcome!\p" + .string "With this FOCUS BAND, buckle down and\n" + .string "withstand the cold!$" + +ShoalCave_LowTideLowerRoom_Text_23728D: @ 823728D + .string "Everything starts with focus!$" + diff --git a/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc b/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc new file mode 100644 index 0000000000..e8c87bd987 --- /dev/null +++ b/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc @@ -0,0 +1,35 @@ +ShoalCave_LowTideStairsRoom_MapScripts:: @ 82370FA + map_script 1, ShoalCave_LowTideStairsRoom_MapScript1_237100 + .byte 0 + +ShoalCave_LowTideStairsRoom_MapScript1_237100: @ 8237100 + call ShoalCave_LowTideStairsRoom_EventScript_237106 + end + +ShoalCave_LowTideStairsRoom_EventScript_237106:: @ 8237106 + checkflag FLAG_0x3BA + goto_eq ShoalCave_LowTideStairsRoom_EventScript_237119 + setmetatile 11, 11, 856, 1 + return + +ShoalCave_LowTideStairsRoom_EventScript_237119:: @ 8237119 + return + +ShoalCave_LowTideStairsRoom_EventScript_23711A:: @ 823711A + lockall + checkflag FLAG_0x3BA + goto_eq ShoalCave_LowTideStairsRoom_EventScript_23714C + giveitem_std ITEM_SHOAL_SALT + compare VAR_RESULT, 0 + goto_eq ShoalCave_LowTideStairsRoom_EventScript_272054 + setmetatile 11, 11, 858, 0 + special DrawWholeMapView + setflag FLAG_0x3BA + releaseall + end + +ShoalCave_LowTideStairsRoom_EventScript_23714C:: @ 823714C + msgbox ShoalCave_LowTideStairsRoom_Text_2A8169, 4 + releaseall + end + diff --git a/data/scripts/maps/SingleBattleColosseum.inc b/data/scripts/maps/SingleBattleColosseum.inc new file mode 100644 index 0000000000..06ed3ef16d --- /dev/null +++ b/data/scripts/maps/SingleBattleColosseum.inc @@ -0,0 +1,3 @@ +SingleBattleColosseum_MapScripts:: @ 823B77D + .byte 0 + diff --git a/data/scripts/maps/SkyPillar_1F.inc b/data/scripts/maps/SkyPillar_1F.inc new file mode 100644 index 0000000000..6afc5aa64c --- /dev/null +++ b/data/scripts/maps/SkyPillar_1F.inc @@ -0,0 +1,13 @@ +SkyPillar_1F_MapScripts:: @ 8239615 + map_script 3, SkyPillar_1F_MapScript1_23961B + .byte 0 + +SkyPillar_1F_MapScript1_23961B: @ 823961B + compare VAR_0x40CA, 2 + call_if 0, SkyPillar_1F_EventScript_239627 + end + +SkyPillar_1F_EventScript_239627:: @ 8239627 + setmaplayoutindex 433 + return + diff --git a/data/scripts/maps/SkyPillar_2F.inc b/data/scripts/maps/SkyPillar_2F.inc new file mode 100644 index 0000000000..b22afaf547 --- /dev/null +++ b/data/scripts/maps/SkyPillar_2F.inc @@ -0,0 +1,21 @@ +SkyPillar_2F_MapScripts:: @ 823962B + map_script 2, SkyPillar_2F_MapScript2_2A8327 + map_script 3, SkyPillar_2F_MapScript1_23963B + map_script 5, SkyPillar_2F_MapScript1_239650 + .byte 0 + +SkyPillar_2F_MapScript1_23963B: @ 823963B + compare VAR_0x40CA, 2 + call_if 0, SkyPillar_2F_EventScript_23964C + copyvar VAR_ICE_STEP_COUNT, 0x1 + end + +SkyPillar_2F_EventScript_23964C:: @ 823964C + setmaplayoutindex 434 + return + +SkyPillar_2F_MapScript1_239650: @ 8239650 + setstepcallback 7 + setholewarp SKY_PILLAR_1F, 255, 0, 0 + end + diff --git a/data/scripts/maps/SkyPillar_3F.inc b/data/scripts/maps/SkyPillar_3F.inc new file mode 100644 index 0000000000..0ddae05b29 --- /dev/null +++ b/data/scripts/maps/SkyPillar_3F.inc @@ -0,0 +1,13 @@ +SkyPillar_3F_MapScripts:: @ 823965B + map_script 3, SkyPillar_3F_MapScript1_239661 + .byte 0 + +SkyPillar_3F_MapScript1_239661: @ 8239661 + compare VAR_0x40CA, 2 + call_if 0, SkyPillar_3F_EventScript_23966D + end + +SkyPillar_3F_EventScript_23966D:: @ 823966D + setmaplayoutindex 435 + return + diff --git a/data/scripts/maps/SkyPillar_4F.inc b/data/scripts/maps/SkyPillar_4F.inc new file mode 100644 index 0000000000..15d055f020 --- /dev/null +++ b/data/scripts/maps/SkyPillar_4F.inc @@ -0,0 +1,21 @@ +SkyPillar_4F_MapScripts:: @ 8239671 + map_script 2, SkyPillar_4F_MapScript2_2A8327 + map_script 3, SkyPillar_4F_MapScript1_239681 + map_script 5, SkyPillar_4F_MapScript1_239696 + .byte 0 + +SkyPillar_4F_MapScript1_239681: @ 8239681 + compare VAR_0x40CA, 2 + call_if 0, SkyPillar_4F_EventScript_239692 + copyvar VAR_ICE_STEP_COUNT, 0x1 + end + +SkyPillar_4F_EventScript_239692:: @ 8239692 + setmaplayoutindex 436 + return + +SkyPillar_4F_MapScript1_239696: @ 8239696 + setstepcallback 7 + setholewarp SKY_PILLAR_3F, 255, 0, 0 + end + diff --git a/data/scripts/maps/SkyPillar_5F.inc b/data/scripts/maps/SkyPillar_5F.inc new file mode 100644 index 0000000000..8e08fb2bd3 --- /dev/null +++ b/data/scripts/maps/SkyPillar_5F.inc @@ -0,0 +1,13 @@ +SkyPillar_5F_MapScripts:: @ 82396A2 + map_script 3, SkyPillar_5F_MapScript1_2396A8 + .byte 0 + +SkyPillar_5F_MapScript1_2396A8: @ 82396A8 + compare VAR_0x40CA, 2 + call_if 0, SkyPillar_5F_EventScript_2396B4 + return + +SkyPillar_5F_EventScript_2396B4:: @ 82396B4 + setmaplayoutindex 437 + return + diff --git a/data/scripts/maps/SkyPillar_Entrance.inc b/data/scripts/maps/SkyPillar_Entrance.inc new file mode 100644 index 0000000000..09ee9eae24 --- /dev/null +++ b/data/scripts/maps/SkyPillar_Entrance.inc @@ -0,0 +1,8 @@ +SkyPillar_Entrance_MapScripts:: @ 823929E + map_script 3, SkyPillar_Entrance_MapScript1_2392A4 + .byte 0 + +SkyPillar_Entrance_MapScript1_2392A4: @ 82392A4 + setflag FLAG_LANDMARK_SKY_PILLAR + end + diff --git a/data/scripts/maps/SkyPillar_Outside.inc b/data/scripts/maps/SkyPillar_Outside.inc new file mode 100644 index 0000000000..cced073aa9 --- /dev/null +++ b/data/scripts/maps/SkyPillar_Outside.inc @@ -0,0 +1,174 @@ +SkyPillar_Outside_MapScripts:: @ 82392A8 + map_script 3, SkyPillar_Outside_MapScript1_2392B8 + map_script 1, SkyPillar_Outside_MapScript1_2392DD + map_script 2, SkyPillar_Outside_MapScript2_2392FA + .byte 0 + +SkyPillar_Outside_MapScript1_2392B8: @ 82392B8 + compare VAR_0x405E, 3 + call_if 1, SkyPillar_Outside_EventScript_2392CF + compare VAR_0x405E, 4 + call_if 4, SkyPillar_Outside_EventScript_2392D3 + end + +SkyPillar_Outside_EventScript_2392CF:: @ 82392CF + setflag FLAG_SPECIAL_FLAG_0x4000 + return + +SkyPillar_Outside_EventScript_2392D3:: @ 82392D3 + checkflag FLAG_SYS_WEATHER_CTRL + call_if 1, SkyPillar_Outside_EventScript_27207A + return + +SkyPillar_Outside_MapScript1_2392DD: @ 82392DD + checkflag FLAG_0x137 + call_if 1, SkyPillar_Outside_EventScript_2392E7 + end + +SkyPillar_Outside_EventScript_2392E7:: @ 82392E7 + setmetatile 14, 4, 682, 0 + setmetatile 14, 5, 690, 0 + return + +SkyPillar_Outside_MapScript2_2392FA: @ 82392FA + map_script_2 VAR_0x405E, 3, SkyPillar_Outside_EventScript_239304 + .2byte 0 + +SkyPillar_Outside_EventScript_239304:: @ 8239304 + lockall + applymovement 1, SkyPillar_Outside_Movement_2393D3 + waitmovement 0 + applymovement 255, SkyPillar_Outside_Movement_2725A4 + waitmovement 0 + msgbox SkyPillar_Outside_Text_239416, 4 + closemessage + delay 30 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 8 + setvar VAR_0x8007, 3 + special sub_8139560 + waitstate + delay 40 + msgbox SkyPillar_Outside_Text_2394BC, 4 + closemessage + applymovement 255, SkyPillar_Outside_Movement_2393EB + applymovement 1, SkyPillar_Outside_Movement_2393DE + waitmovement 0 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 20 + setvar VAR_0x8007, 5 + special sub_8139560 + waitstate + delay 20 + applymovement 1, SkyPillar_Outside_Movement_2725A4 + waitmovement 0 + delay 10 + applymovement 1, SkyPillar_Outside_Movement_2725A8 + waitmovement 0 + delay 20 + applymovement 1, SkyPillar_Outside_Movement_2725AA + waitmovement 0 + delay 30 + msgbox SkyPillar_Outside_Text_23950C, 4 + closemessage + setflag FLAG_SYS_WEATHER_CTRL + setweather 15 + doweather + special WaitWeather + waitstate + delay 30 + msgbox SkyPillar_Outside_Text_23953A, 4 + closemessage + playse SE_KAIDAN + fadescreenswapbuffers 1 + clearflag FLAG_SPECIAL_FLAG_0x4000 + setvar VAR_0x405E, 4 + removeobject 1 + clearflag FLAG_0x330 + fadescreenswapbuffers 0 + releaseall + end + +SkyPillar_Outside_Movement_2393D3: @ 82393D3 + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_right + step_right + step_right + step_end + +SkyPillar_Outside_Movement_2393DE: @ 82393DE + step_left + step_left + step_left + step_up + step_up + step_up + step_up + step_right + step_up + step_up + step_up + step_up + step_end + +SkyPillar_Outside_Movement_2393EB: @ 82393EB + step_left + step_left + step_left + step_left + step_up + step_up + step_up + step_up + step_right + step_up + step_up + step_up + step_end + +SkyPillar_Outside_EventScript_2393F8:: @ 82393F8 + end + +SkyPillar_Outside_EventScript_2393F9:: @ 82393F9 + msgbox SkyPillar_Outside_Text_239402, 3 + end + +SkyPillar_Outside_Text_239402: @ 8239402 + .string "The door is closed.$" + +SkyPillar_Outside_Text_239416: @ 8239416 + .string "WALLACE: Oh, my, I’m terribly sorry!\p" + .string "In my haste, I didn’t notice that\n" + .string "I’d left you behind!\p" + .string "I’ve opened the locked door of\n" + .string "the SKY PILLAR.\p" + .string "{PLAYER}{KUN}, let’s be on our way!$" + +SkyPillar_Outside_Text_2394BC: @ 82394BC + .string "WALLACE: It’s an earthquake!\p" + .string "There’s not a moment to waste!\n" + .string "We’ve got to hurry!$" + +SkyPillar_Outside_Text_23950C: @ 823950C + .string "WALLACE: Hmm…\n" + .string "The situation is getting worse…$" + +SkyPillar_Outside_Text_23953A: @ 823953A + .string "WALLACE: This isn’t good…\p" + .string "The weather distortion is spreading\n" + .string "even here…\p" + .string "{PLAYER}{KUN}.\p" + .string "RAYQUAZA should be farther up\n" + .string "from here.\p" + .string "I’m worried about SOOTOPOLIS.\n" + .string "I’ve got to go back.\p" + .string "Everything is in your hands now.\n" + .string "Don’t fail us!$" diff --git a/data/scripts/maps/SkyPillar_Top.inc b/data/scripts/maps/SkyPillar_Top.inc new file mode 100644 index 0000000000..a652c7897f --- /dev/null +++ b/data/scripts/maps/SkyPillar_Top.inc @@ -0,0 +1,189 @@ +SkyPillar_Top_MapScripts:: @ 82396B8 + map_script 5, SkyPillar_Top_MapScript1_2396C8 + map_script 3, SkyPillar_Top_MapScript1_2396E6 + map_script 4, SkyPillar_Top_MapScript2_239713 + .byte 0 + +SkyPillar_Top_MapScript1_2396C8: @ 82396C8 + checkflag FLAG_SYS_CTRL_OBJ_DELETE + call_if 1, SkyPillar_Top_EventScript_2396D2 + end + +SkyPillar_Top_EventScript_2396D2:: @ 82396D2 + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 7 + goto_if 5, SkyPillar_Top_EventScript_27374E + removeobject VAR_LAST_TALKED + return + +SkyPillar_Top_MapScript1_2396E6: @ 82396E6 + compare VAR_0x40CA, 2 + call_if 0, SkyPillar_Top_EventScript_2396FD + compare VAR_0x40CA, 2 + call_if 4, SkyPillar_Top_EventScript_239705 + end + +SkyPillar_Top_EventScript_2396FD:: @ 82396FD + setmaplayoutindex 438 + setobjectmovementtype 1, 8 + return + +SkyPillar_Top_EventScript_239705:: @ 8239705 + checkflag FLAG_0x1C0 + call_if 0, SkyPillar_Top_EventScript_23970F + return + +SkyPillar_Top_EventScript_23970F:: @ 823970F + clearflag FLAG_0x050 + return + +SkyPillar_Top_MapScript2_239713: @ 8239713 + map_script_2 VAR_0x40CA, 0, SkyPillar_Top_EventScript_23971D + .2byte 0 + +SkyPillar_Top_EventScript_23971D:: @ 823971D + turnobject 1, 1 + end + +SkyPillar_Top_EventScript_239722:: @ 8239722 + lockall + waitse + playmoncry SPECIES_RAYQUAZA, 2 + delay 40 + waitmoncry + setwildbattle SPECIES_RAYQUAZA, 70, ITEM_NONE + setflag FLAG_SYS_CTRL_OBJ_DELETE + special BattleSetup_StartLegendaryBattle + waitstate + clearflag FLAG_SYS_CTRL_OBJ_DELETE + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 1 + goto_eq SkyPillar_Top_EventScript_239768 + compare VAR_RESULT, 4 + goto_eq SkyPillar_Top_EventScript_239771 + compare VAR_RESULT, 5 + goto_eq SkyPillar_Top_EventScript_239771 + setflag FLAG_0x1C0 + releaseall + end + +SkyPillar_Top_EventScript_239768:: @ 8239768 + setflag FLAG_0x1C0 + goto SkyPillar_Top_EventScript_23977C + end + +SkyPillar_Top_EventScript_239771:: @ 8239771 + setvar VAR_0x8004, 406 + goto SkyPillar_Top_EventScript_239785 + end + +SkyPillar_Top_EventScript_23977C:: @ 823977C + fadescreenswapbuffers 1 + removeobject VAR_LAST_TALKED + fadescreenswapbuffers 0 + releaseall + end + +SkyPillar_Top_EventScript_239785:: @ 8239785 + fadescreenswapbuffers 1 + removeobject VAR_LAST_TALKED + fadescreenswapbuffers 0 + bufferspeciesname 0, VAR_0x8004 + msgbox gUnknown_08273204, 4 + releaseall + end + +SkyPillar_Top_EventScript_23979A:: @ 823979A + lockall + fadeoutbgm 1 + applymovement 255, SkyPillar_Top_Movement_2725B2 + waitmovement 0 + special SpawnScriptFieldObject + applymovement 127, SkyPillar_Top_Movement_239858 + waitmovement 0 + special RemoveScriptFieldObject + applymovement 1, SkyPillar_Top_Movement_23983A + waitmovement 0 + waitse + playmoncry SPECIES_RAYQUAZA, 2 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 8 + setvar VAR_0x8007, 3 + special sub_8139560 + waitstate + waitse + playmoncry SPECIES_RAYQUAZA, 2 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 8 + setvar VAR_0x8007, 5 + special sub_8139560 + waitstate + waitmoncry + applymovement 1, SkyPillar_Top_Movement_23984B + waitmovement 0 + removeobject 1 + msgbox SkyPillar_Top_Text_239860, 4 + closemessage + delay 20 + fadeinbgm 1 + special SpawnScriptFieldObject + applymovement 127, SkyPillar_Top_Movement_23985C + waitmovement 0 + special RemoveScriptFieldObject + setvar VAR_0x405E, 5 + setvar VAR_0x40CA, 1 + setvar VAR_0x40D7, 1 + releaseall + end + +SkyPillar_Top_Movement_23983A: @ 823983A + step_14 + step_23 + step_14 + step_14 + step_14 + step_14 + step_14 + step_1f + step_14 + step_20 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_end + +SkyPillar_Top_Movement_23984B: @ 823984B + step_14 + step_1d + step_13 + step_20 + step_13 + step_2e + step_32 + step_32 + step_32 + step_32 + step_32 + step_32 + step_end + +SkyPillar_Top_Movement_239858: @ 8239858 + slow_step_up + slow_step_up + slow_step_up + step_end + +SkyPillar_Top_Movement_23985C: @ 823985C + slow_step_down + slow_step_down + slow_step_down + step_end + +SkyPillar_Top_Text_239860: @ 8239860 + .string "The awakened RAYQUAZA flew off…$" + diff --git a/data/scripts/maps/SlateportCity.inc b/data/scripts/maps/SlateportCity.inc new file mode 100644 index 0000000000..fe7cfc0fd8 --- /dev/null +++ b/data/scripts/maps/SlateportCity.inc @@ -0,0 +1,1383 @@ +SlateportCity_MapScripts:: @ 81DCC61 + map_script 3, SlateportCity_MapScript1_1DCC6C + map_script 2, SlateportCity_MapScript2_1DCD12 + .byte 0 + +SlateportCity_MapScript1_1DCC6C: @ 81DCC6C + setvar VAR_0x40AA, 0 + call SlateportCity_EventScript_1DCC8D + compare VAR_0x4058, 1 + call_if 1, SlateportCity_EventScript_1DCC99 + compare VAR_0x40D2, 1 + call_if 1, SlateportCity_EventScript_1DCCE7 + end + +SlateportCity_EventScript_1DCC8D:: @ 81DCC8D + setflag FLAG_VISITED_SLATEPORT_CITY + setvar VAR_0x4086, 0 + setflag FLAG_0x323 + return + +SlateportCity_EventScript_1DCC99:: @ 81DCC99 + setobjectxyperm 11, 28, 13 + setobjectxyperm 7, 25, 13 + setobjectxyperm 3, 25, 14 + setobjectxyperm 6, 27, 16 + setobjectxyperm 8, 28, 16 + setobjectxyperm 1, 29, 16 + setobjectxyperm 2, 31, 14 + setobjectmovementtype 11, 8 + setobjectmovementtype 7, 18 + setobjectmovementtype 3, 16 + setobjectmovementtype 6, 7 + setobjectmovementtype 8, 7 + setobjectmovementtype 1, 7 + setobjectmovementtype 2, 9 + return + +SlateportCity_EventScript_1DCCE7:: @ 81DCCE7 + setflag FLAG_SPECIAL_FLAG_0x4000 + getplayerxy VAR_0x8004, VAR_0x8005 + compare VAR_0x8004, 30 + goto_eq SlateportCity_EventScript_1DCD06 + setobjectxyperm 35, 23, 27 + setobjectmovementtype 35, 10 + return + +SlateportCity_EventScript_1DCD06:: @ 81DCD06 + setobjectxyperm 35, 22, 27 + setobjectmovementtype 35, 10 + return + +SlateportCity_MapScript2_1DCD12: @ 81DCD12 + map_script_2 VAR_0x40D2, 1, SlateportCity_EventScript_1DCD1C + .2byte 0 + +SlateportCity_EventScript_1DCD1C:: @ 81DCD1C + lockall + addobject 35 + applymovement 255, SlateportCity_Movement_1DCDA8 + applymovement 35, SlateportCity_Movement_1DCDAC + waitmovement 0 + msgbox SlateportCity_Text_1DF032, 4 + closemessage + applymovement 35, SlateportCity_Movement_2725A4 + waitmovement 0 + delay 60 + msgbox SlateportCity_Text_1DF0FE, 4 + applymovement 35, SlateportCity_Movement_2725A8 + waitmovement 0 + msgbox SlateportCity_Text_1DF12B, 4 + closemessage + delay 30 + playfanfare MUS_ME_TORE_EYE + msgbox SlateportCity_Text_1DF1A6, 4 + waitfanfare + closemessage + delay 30 + setflag FLAG_0x0D7 + msgbox SlateportCity_Text_1DF1D3, 4 + closemessage + applymovement 35, SlateportCity_Movement_1DCDB4 + waitmovement 0 + removeobject 35 + setobjectxyperm 35, 10, 12 + setobjectmovementtype 35, 8 + clearflag FLAG_SPECIAL_FLAG_0x4000 + setvar VAR_0x40D2, 2 + addvar VAR_0x40D1, 1 + releaseall + end + +SlateportCity_Movement_1DCDA8: @ 81DCDA8 + step_14 + step_13 + step_27 + step_end + +SlateportCity_Movement_1DCDAC: @ 81DCDAC + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_end + +SlateportCity_Movement_1DCDB4: @ 81DCDB4 + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +SlateportCity_EventScript_1DCDBD:: @ 81DCDBD + lock + faceplayer + message SlateportCity_Text_1DD64A + waitmessage + pokemart SlateportCity_Pokemart_1DCDD4 + msgbox gUnknown_08272A3F, 4 + release + end + +SlateportCity_Pokemart_1DCDD4: @ 81DCDD4 + .2byte ITEM_PROTEIN + .2byte ITEM_IRON + .2byte ITEM_CARBOS + .2byte ITEM_ZINC + .2byte ITEM_CALCIUM + .2byte ITEM_HP_UP + .2byte ITEM_NONE + release + end + +SlateportCity_EventScript_1DCDE4:: @ 81DCDE4 + lock + faceplayer + bufferleadmonspeciesname 0 + msgbox SlateportCity_Text_1DD68A, 4 + specialvar VAR_RESULT, LeadMonHasEffortRibbon + compare VAR_RESULT, 1 + call_if 1, SlateportCity_EventScript_1DCE38 + specialvar VAR_RESULT, Special_AreLeadMonEVsMaxedOut + compare VAR_RESULT, 0 + call_if 1, SlateportCity_EventScript_1DCE2E + msgbox SlateportCity_Text_1DD697, 4 + playfanfare MUS_FANFA4 + message SlateportCity_Text_1DD6E3 + waitfanfare + msgbox SlateportCity_Text_1DD702, 4 + special GiveLeadMonEffortRibbon + release + end + +SlateportCity_EventScript_1DCE2E:: @ 81DCE2E + msgbox SlateportCity_Text_1DD722, 4 + release + end + +SlateportCity_EventScript_1DCE38:: @ 81DCE38 + msgbox SlateportCity_Text_1DD77B, 4 + release + end + +SlateportCity_EventScript_1DCE42:: @ 81DCE42 + lock + faceplayer + compare VAR_0x4058, 1 + call_if 1, SlateportCity_EventScript_1DCE59 + msgbox SlateportCity_Text_1DD81A, 4 + release + end + +SlateportCity_EventScript_1DCE59:: @ 81DCE59 + msgbox SlateportCity_Text_1DE3E2, 4 + release + end + +SlateportCity_EventScript_1DCE63:: @ 81DCE63 + lock + faceplayer + compare VAR_0x4058, 1 + call_if 1, SlateportCity_EventScript_1DCE7A + msgbox SlateportCity_Text_1DD8A6, 4 + release + end + +SlateportCity_EventScript_1DCE7A:: @ 81DCE7A + msgbox SlateportCity_Text_1DE28E, 4 + release + end + +SlateportCity_EventScript_1DCE84:: @ 81DCE84 + lock + faceplayer + compare VAR_0x4058, 1 + call_if 1, SlateportCity_EventScript_1DCEA4 + checkflag FLAG_0x060 + goto_eq SlateportCity_EventScript_1DCEAE + msgbox SlateportCity_Text_1DD93D, 4 + release + end + +SlateportCity_EventScript_1DCEA4:: @ 81DCEA4 + msgbox SlateportCity_Text_1DE30C, 4 + release + end + +SlateportCity_EventScript_1DCEAE:: @ 81DCEAE + msgbox SlateportCity_Text_1DD999, 4 + release + end + +SlateportCity_EventScript_1DCEB8:: @ 81DCEB8 + lock + faceplayer + compare VAR_0x4058, 1 + call_if 1, SlateportCity_EventScript_1DCECF + msgbox SlateportCity_Text_1DDA34, 4 + release + end + +SlateportCity_EventScript_1DCECF:: @ 81DCECF + msgbox SlateportCity_Text_1DE376, 4 + release + end + +SlateportCity_EventScript_1DCED9:: @ 81DCED9 + compare VAR_0x4058, 1 + goto_eq SlateportCity_EventScript_1DCEED + msgbox SlateportCity_Text_1DDA9A, 2 + end + +SlateportCity_EventScript_1DCEED:: @ 81DCEED + msgbox SlateportCity_Text_1DE43D, 3 + end + +SlateportCity_EventScript_1DCEF6:: @ 81DCEF6 + lock + faceplayer + compare VAR_0x4058, 1 + call_if 1, SlateportCity_EventScript_1DCF0D + msgbox SlateportCity_Text_1DDB21, 4 + release + end + +SlateportCity_EventScript_1DCF0D:: @ 81DCF0D + msgbox SlateportCity_Text_1DE460, 4 + release + end + +SlateportCity_EventScript_1DCF17:: @ 81DCF17 + lock + faceplayer + checkflag FLAG_0x094 + goto_eq SlateportCity_EventScript_1DCF2C + msgbox SlateportCity_Text_1DDBAC, 4 + release + end + +SlateportCity_EventScript_1DCF2C:: @ 81DCF2C + msgbox SlateportCity_Text_1DDBD5, 4 + release + end + +SlateportCity_EventScript_1DCF36:: @ 81DCF36 + msgbox SlateportCity_Text_1DE8BC, 3 + end + +SlateportCity_EventScript_1DCF3F:: @ 81DCF3F + lockall + checkflag FLAG_SYS_GAME_CLEAR + goto_eq SlateportCity_EventScript_1DCF66 + checkflag FLAG_BADGE07_GET + goto_eq SlateportCity_EventScript_1DCF5C + msgbox SlateportCity_Text_1DE8F8, 4 + releaseall + end + +SlateportCity_EventScript_1DCF5C:: @ 81DCF5C + msgbox SlateportCity_Text_1DE940, 4 + releaseall + end + +SlateportCity_EventScript_1DCF66:: @ 81DCF66 + msgbox SlateportCity_Text_1DE9AA, 4 + releaseall + end + +SlateportCity_EventScript_1DCF70:: @ 81DCF70 + msgbox SlateportCity_Text_1DEA0B, 3 + end + +SlateportCity_EventScript_1DCF79:: @ 81DCF79 + msgbox SlateportCity_Text_1DEA3B, 3 + end + +SlateportCity_EventScript_1DCF82:: @ 81DCF82 + msgbox SlateportCity_Text_1DEA6F, 3 + end + +SlateportCity_EventScript_1DCF8B:: @ 81DCF8B + msgbox SlateportCity_Text_1DEAAF, 3 + end + +SlateportCity_EventScript_1DCF94:: @ 81DCF94 + lockall + checkflag FLAG_SYS_GAME_CLEAR + goto_eq SlateportCity_EventScript_1DCFA8 + msgbox SlateportCity_Text_1DEAE3, 4 + releaseall + end + +SlateportCity_EventScript_1DCFA8:: @ 81DCFA8 + msgbox SlateportCity_Text_1DEB5A, 4 + releaseall + end + +SlateportCity_EventScript_1DCFB2:: @ 81DCFB2 + msgbox SlateportCity_Text_1DEBA0, 3 + end + +SlateportCity_EventScript_1DCFBB:: @ 81DCFBB + lock + faceplayer + compare VAR_0x4058, 1 + call_if 1, SlateportCity_EventScript_1DCFD2 + msgbox SlateportCity_Text_1DE10E, 4 + release + end + +SlateportCity_EventScript_1DCFD2:: @ 81DCFD2 + msgbox SlateportCity_Text_1DE10E, 4 + release + end + +SlateportCity_EventScript_1DCFDC:: @ 81DCFDC + msgbox SlateportCity_Text_1DE16C, 2 + end + +SlateportCity_EventScript_1DCFE5:: @ 81DCFE5 + msgbox SlateportCity_Text_1DDFF7, 2 + end + +SlateportCity_EventScript_1DCFEE:: @ 81DCFEE + msgbox SlateportCity_Text_1DE04B, 2 + end + +SlateportCity_EventScript_1DCFF7:: @ 81DCFF7 + msgbox SlateportCity_Text_1DE0D2, 2 + end + +SlateportCity_EventScript_1DD000:: @ 81DD000 + msgbox SlateportCity_Text_1DE1EC, 2 + end + +SlateportCity_EventScript_1DD009:: @ 81DD009 + lock + faceplayer + msgbox SlateportCity_Text_1DDC4F, 4 + closemessage + applymovement 5, SlateportCity_Movement_2725A2 + waitmovement 0 + release + end + +SlateportCity_EventScript_1DD020:: @ 81DD020 + lock + faceplayer + msgbox SlateportCity_Text_1DDC8A, 4 + closemessage + applymovement 18, SlateportCity_Movement_2725A2 + waitmovement 0 + release + end + +SlateportCity_EventScript_1DD037:: @ 81DD037 + lock + faceplayer + msgbox SlateportCity_Text_1DDCD5, 4 + closemessage + applymovement 19, SlateportCity_Movement_2725A2 + waitmovement 0 + release + end + +SlateportCity_EventScript_1DD04E:: @ 81DD04E + lock + faceplayer + msgbox SlateportCity_Text_1DDD18, 4 + closemessage + applymovement 26, SlateportCity_Movement_2725A2 + waitmovement 0 + release + end + +SlateportCity_EventScript_1DD065:: @ 81DD065 + lock + faceplayer + msgbox SlateportCity_Text_1DDD7D, 4 + closemessage + applymovement 27, SlateportCity_Movement_2725A2 + waitmovement 0 + release + end + +SlateportCity_EventScript_1DD07C:: @ 81DD07C + lock + faceplayer + msgbox SlateportCity_Text_1DDDC0, 4 + closemessage + applymovement 28, SlateportCity_Movement_2725A2 + waitmovement 0 + release + end + +SlateportCity_EventScript_1DD093:: @ 81DD093 + lock + faceplayer + msgbox SlateportCity_Text_1DDDDF, 4 + closemessage + applymovement 29, SlateportCity_Movement_2725A2 + waitmovement 0 + release + end + +SlateportCity_EventScript_1DD0AA:: @ 81DD0AA + lock + faceplayer + msgbox SlateportCity_Text_1DDE2F, 4 + closemessage + applymovement 30, SlateportCity_Movement_2725A2 + waitmovement 0 + release + end + +SlateportCity_EventScript_1DD0C1:: @ 81DD0C1 + lock + faceplayer + playse SE_PIN + applymovement 31, SlateportCity_Movement_272598 + waitmovement 0 + applymovement 31, SlateportCity_Movement_27259A + waitmovement 0 + msgbox SlateportCity_Text_1DDE6E, 4 + closemessage + applymovement 31, SlateportCity_Movement_2725A2 + waitmovement 0 + applymovement 31, SlateportCity_Movement_1DD147 + waitmovement 0 + applymovement 31, SlateportCity_Movement_27259E + waitmovement 0 + msgbox SlateportCity_Text_1DDE86, 4 + closemessage + applymovement 31, SlateportCity_Movement_2725A2 + waitmovement 0 + applymovement 31, SlateportCity_Movement_1DD147 + waitmovement 0 + msgbox SlateportCity_Text_1DDEB8, 4 + closemessage + applymovement 31, SlateportCity_Movement_27259E + waitmovement 0 + applymovement 31, SlateportCity_Movement_1DD147 + waitmovement 0 + applymovement 31, SlateportCity_Movement_2725A2 + waitmovement 0 + release + end + +SlateportCity_Movement_1DD147: @ 81DD147 + step_14 + step_14 + step_end + +SlateportCity_EventScript_1DD14A:: @ 81DD14A + msgbox SlateportCity_Text_1DDF32, 3 + end + +SlateportCity_EventScript_1DD153:: @ 81DD153 + lock + faceplayer + msgbox SlateportCity_Text_1DDF8D, 4 + closemessage + applymovement 33, SlateportCity_Movement_2725A2 + waitmovement 0 + release + end + +SlateportCity_EventScript_1DD16A:: @ 81DD16A + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemartdecoration SlateportCity_PokemartDecor_1DD184 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +SlateportCity_PokemartDecor_1DD184: @ 81DD184 + .2byte 95 + .2byte 78 + .2byte 96 + .2byte 0 + release + end + +SlateportCity_EventScript_1DD18E:: @ 81DD18E + msgbox gUnknown_08272E30, 4 + release + end + +SlateportCity_EventScript_1DD198:: @ 81DD198 + lock + faceplayer + checkflag FLAG_0x060 + goto_if 0, SlateportCity_EventScript_1DD18E + message gUnknown_08272A21 + waitmessage + pokemartdecoration SlateportCity_PokemartDecor_1DD1B8 + msgbox gUnknown_08272A3F, 4 + release + end + +SlateportCity_PokemartDecor_1DD1B8: @ 81DD1B8 + .2byte 25 + .2byte 27 + .2byte 26 + .2byte 28 + .2byte 29 + .2byte 30 + .2byte 51 + .2byte 52 + .2byte 53 + .2byte 54 + .2byte 55 + .2byte 56 + .2byte 57 + .2byte 58 + .2byte 0 + release + end + +SlateportCity_EventScript_1DD1D8:: @ 81DD1D8 + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemart SlateportCity_Pokemart_1DD1F0 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +SlateportCity_Pokemart_1DD1F0: @ 81DD1F0 + .2byte ITEM_TM10 + .2byte ITEM_TM43 + .2byte ITEM_NONE + release + end + +SlateportCity_EventScript_1DD1F8:: @ 81DD1F8 + lockall + msgbox SlateportCity_Text_1DE502, 4 + msgbox SlateportCity_Text_1DE54A, 4 + closemessage + applymovement 10, SlateportCity_Movement_2725A8 + waitmovement 0 + delay 10 + applymovement 9, SlateportCity_Movement_2725AA + waitmovement 0 + delay 25 + applymovement 11, SlateportCity_Movement_1DD33C + applymovement 255, SlateportCity_Movement_1DD34A + applymovement 10, SlateportCity_Movement_1DD319 + applymovement 9, SlateportCity_Movement_1DD326 + waitmovement 0 + removeobject 10 + removeobject 9 + msgbox SlateportCity_Text_1DE5F7, 4 + applymovement 11, SlateportCity_Movement_2725A6 + waitmovement 0 + msgbox SlateportCity_Text_1DE64F, 4 + playbgm MUS_AQA_0, 0 + msgbox SlateportCity_Text_1DE724, 4 + applymovement 6, SlateportCity_Movement_2725A4 + applymovement 1, SlateportCity_Movement_2725A4 + applymovement 7, SlateportCity_Movement_1DD309 + applymovement 3, SlateportCity_Movement_272596 + applymovement 2, SlateportCity_Movement_1DD311 + waitmovement 0 + applymovement 11, SlateportCity_Movement_2725AA + waitmovement 0 + msgbox SlateportCity_Text_1DE7F7, 4 + playse SE_PIN + applymovement 11, SlateportCity_Movement_272598 + waitmovement 0 + applymovement 11, SlateportCity_Movement_27259A + waitmovement 0 + applymovement 11, SlateportCity_Movement_2725A6 + waitmovement 0 + msgbox SlateportCity_Text_1DE860, 4 + msgbox SlateportCity_Text_1DE8A0, 4 + closemessage + applymovement 11, SlateportCity_Movement_1DD337 + applymovement 255, SlateportCity_Movement_1DD344 + waitmovement 0 + removeobject 11 + clearflag FLAG_0x349 + clearflag FLAG_0x350 + clearflag FLAG_0x34D + clearflag FLAG_0x34E + setvar VAR_0x4058, 2 + warp SLATEPORT_CITY_HARBOR, 255, 11, 14 + waitstate + releaseall + end + +SlateportCity_Movement_1DD309: @ 81DD309 + step_14 + step_14 + step_57 + step_28 + step_14 + step_14 + step_27 + step_end + +SlateportCity_Movement_1DD311: @ 81DD311 + step_57 + step_26 + step_14 + step_25 + step_14 + step_14 + step_27 + step_end + +SlateportCity_Movement_1DD319: @ 81DD319 + step_14 + step_left + step_left + step_down + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +SlateportCity_Movement_1DD326: @ 81DD326 + step_down + step_left + step_left + step_left + step_down + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_end + +SlateportCity_Movement_1DD334: @ 81DD334 + step_down + step_26 + step_end + +SlateportCity_Movement_1DD337: @ 81DD337 + step_right + step_up + step_up + step_54 + step_end + +SlateportCity_Movement_1DD33C: @ 81DD33C + step_14 + step_14 + step_14 + step_14 + step_14 + step_down + step_left + step_end + +SlateportCity_Movement_1DD344: @ 81DD344 + step_28 + step_14 + step_14 + step_right + step_up + step_end + +SlateportCity_Movement_1DD34A: @ 81DD34A + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_25 + step_end + +SlateportCity_EventScript_1DD353:: @ 81DD353 + msgbox SlateportCity_Text_1DE491, 3 + end + +SlateportCity_EventScript_1DD35C:: @ 81DD35C + msgbox SlateportCity_Text_1DE4C4, 3 + end + +SlateportCity_EventScript_1DD365:: @ 81DD365 + msgbox SlateportCity_Text_1DD7AD, 2 + end + +SlateportCity_EventScript_1DD36E:: @ 81DD36E + lock + faceplayer + checkflag FLAG_0x151 + goto_eq SlateportCity_EventScript_1DD39A + msgbox SlateportCity_Text_1DEBCE, 4 + giveitem_std ITEM_POWDER_JAR + setflag FLAG_0x151 + msgbox SlateportCity_Text_1DED27, 4 + release + end + +SlateportCity_EventScript_1DD39A:: @ 81DD39A + setvar VAR_0x8004, 1 + specialvar VAR_RESULT, sub_80246D4 + compare VAR_RESULT, 0 + goto_eq SlateportCity_EventScript_1DD3C0 + msgbox SlateportCity_Text_1DEE40, 4 + special sub_80248B0 + goto SlateportCity_EventScript_1DD3CA + end + +SlateportCity_EventScript_1DD3C0:: @ 81DD3C0 + msgbox SlateportCity_Text_1DED27, 4 + release + end + +SlateportCity_EventScript_1DD3CA:: @ 81DD3CA + message SlateportCity_Text_1DEE67 + waitmessage + setvar VAR_0x8004, 7 + special sub_813A128 + waitstate + switch VAR_RESULT + case 0, SlateportCity_EventScript_1DD46E + case 1, SlateportCity_EventScript_1DD482 + case 2, SlateportCity_EventScript_1DD496 + case 3, SlateportCity_EventScript_1DD4AA + case 4, SlateportCity_EventScript_1DD4BE + case 5, SlateportCity_EventScript_1DD4D2 + case 6, SlateportCity_EventScript_1DD4E6 + case 7, SlateportCity_EventScript_1DD4FA + case 8, SlateportCity_EventScript_1DD50E + case 9, SlateportCity_EventScript_1DD522 + case 10, SlateportCity_EventScript_1DD536 + case 11, SlateportCity_EventScript_1DD54A + case 127, SlateportCity_EventScript_1DD54A + end + +SlateportCity_EventScript_1DD46E:: @ 81DD46E + bufferitemname 0, ITEM_ENERGY_POWDER + setvar VAR_0x8008, 30 + setvar VAR_0x8009, 50 + goto SlateportCity_EventScript_1DD557 + end + +SlateportCity_EventScript_1DD482:: @ 81DD482 + bufferitemname 0, ITEM_ENERGY_ROOT + setvar VAR_0x8008, 31 + setvar VAR_0x8009, 80 + goto SlateportCity_EventScript_1DD557 + end + +SlateportCity_EventScript_1DD496:: @ 81DD496 + bufferitemname 0, ITEM_HEAL_POWDER + setvar VAR_0x8008, 32 + setvar VAR_0x8009, 50 + goto SlateportCity_EventScript_1DD557 + end + +SlateportCity_EventScript_1DD4AA:: @ 81DD4AA + bufferitemname 0, ITEM_REVIVAL_HERB + setvar VAR_0x8008, 33 + setvar VAR_0x8009, 300 + goto SlateportCity_EventScript_1DD557 + end + +SlateportCity_EventScript_1DD4BE:: @ 81DD4BE + bufferitemname 0, ITEM_PROTEIN + setvar VAR_0x8008, 64 + setvar VAR_0x8009, 1000 + goto SlateportCity_EventScript_1DD557 + end + +SlateportCity_EventScript_1DD4D2:: @ 81DD4D2 + bufferitemname 0, ITEM_IRON + setvar VAR_0x8008, 65 + setvar VAR_0x8009, 1000 + goto SlateportCity_EventScript_1DD557 + end + +SlateportCity_EventScript_1DD4E6:: @ 81DD4E6 + bufferitemname 0, ITEM_CARBOS + setvar VAR_0x8008, 66 + setvar VAR_0x8009, 1000 + goto SlateportCity_EventScript_1DD557 + end + +SlateportCity_EventScript_1DD4FA:: @ 81DD4FA + bufferitemname 0, ITEM_CALCIUM + setvar VAR_0x8008, 67 + setvar VAR_0x8009, 1000 + goto SlateportCity_EventScript_1DD557 + end + +SlateportCity_EventScript_1DD50E:: @ 81DD50E + bufferitemname 0, ITEM_ZINC + setvar VAR_0x8008, 70 + setvar VAR_0x8009, 1000 + goto SlateportCity_EventScript_1DD557 + end + +SlateportCity_EventScript_1DD522:: @ 81DD522 + bufferitemname 0, ITEM_HP_UP + setvar VAR_0x8008, 63 + setvar VAR_0x8009, 1000 + goto SlateportCity_EventScript_1DD557 + end + +SlateportCity_EventScript_1DD536:: @ 81DD536 + bufferitemname 0, ITEM_PP_UP + setvar VAR_0x8008, 69 + setvar VAR_0x8009, 3000 + goto SlateportCity_EventScript_1DD557 + end + +SlateportCity_EventScript_1DD54A:: @ 81DD54A + msgbox SlateportCity_Text_1DEFBC, 4 + special sub_8024918 + release + end + +SlateportCity_EventScript_1DD557:: @ 81DD557 + msgbox SlateportCity_Text_1DEE90, 5 + compare VAR_RESULT, 0 + goto_eq SlateportCity_EventScript_1DD3CA + copyvar VAR_0x8004, VAR_0x8009 + specialvar VAR_RESULT, sub_80246D4 + compare VAR_RESULT, 0 + goto_eq SlateportCity_EventScript_1DD5CE + giveitem_std VAR_0x8008 + compare VAR_RESULT, 0 + goto_eq SlateportCity_EventScript_1DD5C1 + copyvar VAR_0x8004, VAR_0x8009 + special sub_802477C + special sub_802488C + msgbox SlateportCity_Text_1DEEF7, 5 + compare VAR_RESULT, 1 + goto_eq SlateportCity_EventScript_1DD3CA + msgbox SlateportCity_Text_1DEF79, 4 + special sub_8024918 + release + end + +SlateportCity_EventScript_1DD5C1:: @ 81DD5C1 + msgbox gUnknown_08272A89, 4 + special sub_8024918 + release + end + +SlateportCity_EventScript_1DD5CE:: @ 81DD5CE + msgbox SlateportCity_Text_1DEEC9, 4 + goto SlateportCity_EventScript_1DD3CA + end + +SlateportCity_EventScript_1DD5DC:: @ 81DD5DC + lockall + applymovement 255, SlateportCity_Movement_2725B2 + waitmovement 0 + opendoor 10, 12 + waitdooranim + addobject 35 + applymovement 255, SlateportCity_Movement_1DD630 + applymovement 35, SlateportCity_Movement_1DD637 + waitmovement 0 + closedoor 10, 12 + waitdooranim + msgbox SlateportCity_Text_1DF28C, 4 + closemessage + applymovement 255, SlateportCity_Movement_1DD634 + applymovement 35, SlateportCity_Movement_1DD63A + waitmovement 0 + removeobject 35 + addvar VAR_0x40D1, 1 + setvar VAR_0x40D2, 3 + releaseall + end + +SlateportCity_Movement_1DD630: @ 81DD630 + step_40 + step_down + step_41 + step_end + +SlateportCity_Movement_1DD634: @ 81DD634 + step_14 + step_28 + step_end + +SlateportCity_Movement_1DD637: @ 81DD637 + step_13 + step_down + step_end + +SlateportCity_Movement_1DD63A: @ 81DD63A + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_right + step_end + +SlateportCity_EventScript_1DD643:: @ 81DD643 + lockall + special sub_80224D0 + waitstate + releaseall + end + +SlateportCity_Text_1DD64A: @ 81DD64A + .string "I’m the ENERGY GURU! I’ll go for it and\n" + .string "sell you what you need!$" + +SlateportCity_Text_1DD68A: @ 81DD68A + .string "Oh?\n" + .string "Your {STR_VAR_1}…$" + +SlateportCity_Text_1DD697: @ 81DD697 + .string "Went for it stupendously!\p" + .string "As its reward, please give it this\n" + .string "EFFORT RIBBON.$" + +SlateportCity_Text_1DD6E3: @ 81DD6E3 + .string "{PLAYER} received the EFFORT RIBBON.$" + +SlateportCity_Text_1DD702: @ 81DD702 + .string "{PLAYER} put the EFFORT RIBBON\n" + .string "on {STR_VAR_1}.$" + +SlateportCity_Text_1DD722: @ 81DD722 + .string "You have to go for it a little harder.\p" + .string "If you do, I’ll give your POKéMON\n" + .string "something nice.$" + +SlateportCity_Text_1DD77B: @ 81DD77B + .string "Oh! Your {STR_VAR_1}, that EFFORT\n" + .string "RIBBON looks good on it!$" + +SlateportCity_Text_1DD7AD: @ 81DD7AD + .string "The light of the lighthouse reaches\n" + .string "dozens of miles away.\p" + .string "I wonder if it doesn’t startle POKéMON\n" + .string "in the sea.$" + +SlateportCity_Text_1DD81A: @ 81DD81A + .string "Ooh, look at this!\p" + .string "The seaweed you can get around these\n" + .string "parts is fresh and full of life.\p" + .string "Why, it looks like it can even rear up\n" + .string "and attack!$" + +SlateportCity_Text_1DD8A6: @ 81DD8A6 + .string "Where the water is clean, the fruits\n" + .string "of bountiful harvest gather.\p" + .string "And where people gather, a market\n" + .string "soon starts.\p" + .string "That is how a town is born and grows.$" + +SlateportCity_Text_1DD93D: @ 81DD93D + .string "Shopping where you can breathe the\n" + .string "scent of the ocean…\p" + .string "SLATEPORT is such a wonderful place!$" + +SlateportCity_Text_1DD999: @ 81DD999 + .string "If you put DOLLS or CUSHIONS on\n" + .string "the floor, they’ll get dirty.\p" + .string "I’m going to buy some BRICKS so my\n" + .string "DOLLS and CUSHIONS won’t get dirty\l" + .string "when I leave them out.$" + +SlateportCity_Text_1DDA34: @ 81DDA34 + .string "Wroooar! I’m going to compete in\n" + .string "the BATTLE TENT, too!\p" + .string "But before that, I need to catch\n" + .string "some POKéMON!$" + +SlateportCity_Text_1DDA9A: @ 81DDA9A + .string "Whew… I’m just bushed…\p" + .string "I hiked over from MAUVILLE CITY.\n" + .string "But, boy, this city’s huge.\p" + .string "If I’d known this, I would’ve ridden\n" + .string "my BIKE here.$" + +SlateportCity_Text_1DDB21: @ 81DDB21 + .string "STERN, the fellow who built the\n" + .string "MUSEUM, also happens to be the leader\l" + .string "of an undersea exploration team.\p" + .string "So, everyone calls him CAPT. STERN.$" + +SlateportCity_Text_1DDBAC: @ 81DDBAC + .string "What is that over there?\n" + .string "That long line…$" + +SlateportCity_Text_1DDBD5: @ 81DDBD5 + .string "When I was a child, I visited\n" + .string "the MUSEUM often.\p" + .string "I used to dream about the mysteries of\n" + .string "the sea after seeing the exhibits.$" + +SlateportCity_Text_1DDC4F: @ 81DDC4F + .string "Hey, there! Quit pushing!\n" + .string "This is the line, can’t you see?$" + +SlateportCity_Text_1DDC8A: @ 81DDC8A + .string "TEAM AQUA has a policy of\n" + .string "assembling and dispersing at\l" + .string "the operation site.$" + +SlateportCity_Text_1DDCD5: @ 81DDCD5 + .string "Our BOSS is brilliant.\p" + .string "What would he want to do with\n" + .string "a MUSEUM now?$" + +SlateportCity_Text_1DDD18: @ 81DDD18 + .string "What’s the new scheme, I wonder?\p" + .string "Our BOSS is scary when he’s mad, so\n" + .string "I’d better not screw things up…$" + +SlateportCity_Text_1DDD7D: @ 81DDD7D + .string "If there’s something we need in\n" + .string "the MUSEUM, we should take it all!$" + +SlateportCity_Text_1DDDC0: @ 81DDDC0 + .string "Hey, you there!\n" + .string "Don’t butt in!$" + +SlateportCity_Text_1DDDDF: @ 81DDDDF + .string "A long line, huh?\p" + .string "It reminds me of the times I lined up to\n" + .string "buy smash-hit games…$" + +SlateportCity_Text_1DDE2F: @ 81DDE2F + .string "Why are we even lining up and paying?\n" + .string "We should just march in!$" + +SlateportCity_Text_1DDE6E: @ 81DDE6E + .string "What?\n" + .string "What do you want?$" + +SlateportCity_Text_1DDE86: @ 81DDE86 + .string "You want to read this sign?\n" + .string "I’ll read it for you!$" + +SlateportCity_Text_1DDEB8: @ 81DDEB8 + .string "Let’s see…\p" + .string "Um… I think it says something like\n" + .string "“the life in the sea is endless.”\p" + .string "Yup, I’m pretty sure that’s what\n" + .string "it says.$" + +SlateportCity_Text_1DDF32: @ 81DDF32 + .string "Grumble…\p" + .string "I should’ve brought my Game Boy\n" + .string "Advance so I wouldn’t get bored in line…\p" + .string "Grumble…$" + +SlateportCity_Text_1DDF8D: @ 81DDF8D + .string "When this operation’s over, I’ll take\n" + .string "you to a hot spring spa!\p" + .string "That’s what our leader said.\n" + .string "I can’t wait!$" + +SlateportCity_Text_1DDFF7: @ 81DDFF7 + .string "The sea is just so vast…\p" + .string "Could the sea have been made by\n" + .string "the tears shed by POKéMON?$" + +SlateportCity_Text_1DE04B: @ 81DE04B + .string "Do you know what they do with old\n" + .string "ships that become too creaky to sail?\p" + .string "They sink them in the sea so they\n" + .string "become habitats for POKéMON.$" + +SlateportCity_Text_1DE0D2: @ 81DE0D2 + .string "Whenever I visit here, I get carried\n" + .string "away and buy too much.$" + +SlateportCity_Text_1DE10E: @ 81DE10E + .string "If you want to change your POKéMON’s\n" + .string "nickname, you’ll have to get the NAME\l" + .string "RATER to help you.$" + +SlateportCity_Text_1DE16C: @ 81DE16C + .string "Any POKéMON you get in a trade,\n" + .string "you can’t change its nickname.\p" + .string "The original TRAINER’s love for that\n" + .string "POKéMON is in the nickname.$" + +SlateportCity_Text_1DE1EC: @ 81DE1EC + .string "Recently, a BATTLE TENT was built\n" + .string "in SLATEPORT.\p" + .string "GYMS are fun, but the BATTLE TENT’s\n" + .string "awesome in its own way.\p" + .string "You should go find tough POKéMON\n" + .string "for the BATTLE TENT!$" + +SlateportCity_Text_1DE28E: @ 81DE28E + .string "I was hoping that it was a famous star\n" + .string "so I could get an autograph.\p" + .string "But who’s that being interviewed?\n" + .string "Isn’t that CAPT. STERN?$" + +SlateportCity_Text_1DE30C: @ 81DE30C + .string "That lady interviewer is so cool\n" + .string "and pretty.\p" + .string "When I grow up, I’m going to be\n" + .string "an international journalist!$" + +SlateportCity_Text_1DE376: @ 81DE376 + .string "CAPT. STERN says they discovered\n" + .string "something at the bottom of the sea.\p" + .string "I wonder what it is?\n" + .string "What could it be?$" + +SlateportCity_Text_1DE3E2: @ 81DE3E2 + .string "What’s going on here?\p" + .string "Did the good CAPTAIN come back with\n" + .string "a big fish from the ocean floor?$" + +SlateportCity_Text_1DE43D: @ 81DE43D + .string "Hey! Are you watching?\n" + .string "Am I on TV?$" + +SlateportCity_Text_1DE460: @ 81DE460 + .string "A TV interview! Here!\n" + .string "The CAPTAIN’s a celebrity!$" + +SlateportCity_Text_1DE491: @ 81DE491 + .string "TY: Okay, CAPT. STERN, a big smile\n" + .string "for the camera!$" + +SlateportCity_Text_1DE4C4: @ 81DE4C4 + .string "GABBY: I see, I see. You’ve had a most\n" + .string "invaluable experience…$" + +SlateportCity_Text_1DE502: @ 81DE502 + .string "CAPT. STERN: Yes, indeed. We intend to\n" + .string "move ahead with our exploration.$" + +SlateportCity_Text_1DE54A: @ 81DE54A + .string "GABBY: That’s wonderful, CAPT. STERN!\n" + .string "Thank you for taking the time from\l" + .string "your busy schedule to talk to us.\p" + .string "We hope we can interview you again\n" + .string "with news of more discoveries!$" + +SlateportCity_Text_1DE5F7: @ 81DE5F7 + .string "CAPT. STERN: Whew…\p" + .string "That was my first time to be filmed for\n" + .string "TV. That was nerve-wracking.$" + +SlateportCity_Text_1DE64F: @ 81DE64F + .string "Oh! {PLAYER}{KUN}!\n" + .string "You’re looking great!\p" + .string "We made a huge discovery on our last\n" + .string "seafloor exploration.\p" + .string "We found an underwater cavern on\n" + .string "ROUTE 128.\p" + .string "We think it’s the habitat of a POKéMON\n" + .string "that’s said to have been long extinct.$" + +SlateportCity_Text_1DE724: @ 81DE724 + .string "Fufufu…\n" + .string "CAPT. STERN, I presume.\p" + .string "We of TEAM AQUA will assume\n" + .string "control of your submarine!\p" + .string "Your objections are meaningless!\n" + .string "We expect your total cooperation!\p" + .string "Fufufu…\n" + .string "Just watch and learn what TEAM\l" + .string "AQUA has planned!$" + +SlateportCity_Text_1DE7F7: @ 81DE7F7 + .string "CAPT. STERN: What was that all about?\p" + .string "It sounded like someone using\n" + .string "a megaphone…\p" + .string "Where did it come from?$" + +SlateportCity_Text_1DE860: @ 81DE860 + .string "It’s from the HARBOR!\p" + .string "The submarine!\n" + .string "They’re trying to take it!$" + +SlateportCity_Text_1DE8A0: @ 81DE8A0 + .string "{PLAYER}{KUN}!\n" + .string "Please, come with me!$" + +SlateportCity_Text_1DE8BC: @ 81DE8BC + .string "BATTLE TENT SLATEPORT SITE\n" + .string "“Find it! The ultimate POKéMON!”$" + +SlateportCity_Text_1DE8F8: @ 81DE8F8 + .string "STERN’S SHIPYARD\p" + .string "“Wanted: A sailor capable of sailing\n" + .string "in all currents.”$" + +SlateportCity_Text_1DE940: @ 81DE940 + .string "STERN’S SHIPYARD\p" + .string "“The ferry S.S. TIDAL nears\n" + .string "completion for serving the ports of\l" + .string "SLATEPORT and LILYCOVE.”$" + +SlateportCity_Text_1DE9AA: @ 81DE9AA + .string "STERN’S SHIPYARD\p" + .string "“Boarding of the SLATEPORT-LILYCOVE\n" + .string "ferry S.S. TIDAL is handled at the\l" + .string "HARBOR.”$" + +SlateportCity_Text_1DEA0B: @ 81DEA0B + .string "POKéMON FAN CLUB\n" + .string "“Calling all fans of POKéMON!”$" + +SlateportCity_Text_1DEA3B: @ 81DEA3B + .string "“The endless sea sustains\n" + .string "all life.”\p" + .string "OCEANIC MUSEUM$" + +SlateportCity_Text_1DEA6F: @ 81DEA6F + .string "SLATEPORT CITY\p" + .string "“The port where people and POKéMON\n" + .string "cross paths.”$" + +SlateportCity_Text_1DEAAF: @ 81DEAAF + .string "SLATEPORT MARKET\n" + .string "“Unique items found nowhere else!”$" + +SlateportCity_Text_1DEAE3: @ 81DEAE3 + .string "SLATEPORT HARBOR\p" + .string "“The ferry S.S. TIDAL is under\n" + .string "construction in the SHIPYARD.\p" + .string "“Service is scheduled to begin\n" + .string "shortly.”$" + +SlateportCity_Text_1DEB5A: @ 81DEB5A + .string "SLATEPORT HARBOR\p" + .string "“Enjoy a delightful cruise on\n" + .string "the ferry S.S. TIDAL.”$" + +SlateportCity_Text_1DEBA0: @ 81DEBA0 + .string "NAME RATER’S HOUSE\n" + .string "“POKéMON nicknames rated.”$" + +SlateportCity_Text_1DEBCE: @ 81DEBCE + .string "If a wild POKéMON gets hurt, it heals\n" + .string "itself by chewing on BERRIES.\p" + .string "Did you know that?\p" + .string "Somebody saw that and got the idea\n" + .string "of making medicine from BERRIES.\p" + .string "Did you know that?\p" + .string "To turn BERRIES into medicine,\n" + .string "they must be crushed into powder.\p" + .string "Did you know that?\p" + .string "You seem to have an interest\n" + .string "in BERRIES!\p" + .string "I’ve got something good for someone\n" + .string "like you.$" + +SlateportCity_Text_1DED27: @ 81DED27 + .string "I recently had machines installed at\n" + .string "POKéMON CENTERS for crushing BERRIES.\p" + .string "The BERRY CRUSH machines are at\n" + .string "the DIRECT CORNER upstairs.\p" + .string "Did you know?\p" + .string "Could you make BERRY POWDER for\n" + .string "me using those machines?\p" + .string "I can make you all sorts of medicine\n" + .string "if you bring me lots of BERRY POWDER.$" + +SlateportCity_Text_1DEE40: @ 81DEE40 + .string "Have you brought me some\n" + .string "BERRY POWDER?$" + +SlateportCity_Text_1DEE67: @ 81DEE67 + .string "What would you like to exchange\n" + .string "it with?$" + +SlateportCity_Text_1DEE90: @ 81DEE90 + .string "Okay, you want to exchange your\n" + .string "BERRY POWDER for one {STR_VAR_1}?$" + +SlateportCity_Text_1DEEC9: @ 81DEEC9 + .string "Oh, dear. You don’t have enough\n" + .string "BERRY POWDER.$" + +SlateportCity_Text_1DEEF7: @ 81DEEF7 + .string "This is fine BERRY POWDER.\n" + .string "It will make excellent medicine.\p" + .string "Would you like to trade more of your\n" + .string "BERRY POWDER for something else?$" + +SlateportCity_Text_1DEF79: @ 81DEF79 + .string "Okay! When you get some more\n" + .string "BERRY POWDER, bring it to me, please!$" + +SlateportCity_Text_1DEFBC: @ 81DEFBC + .string "Come back if you’d like to trade your\n" + .string "BERRY POWDER for some medicine.\p" + .string "I’m always running a bazaar here.\p" + .string "Did you know?$" + +SlateportCity_Text_1DF032: @ 81DF032 + .string "SCOTT: Huh?\n" + .string "I’m sure I met you somewhere before.\p" + .string "Have I introduced myself to you?\n" + .string "If not, my name’s SCOTT.\p" + .string "I just saw TEAM AQUA run away from\n" + .string "here like they were stung.\p" + .string "Let me guess--you drove them away?$" + +SlateportCity_Text_1DF0FE: @ 81DF0FE + .string "SCOTT: Hmm…\n" + .string "Maybe, just maybe, this TRAINER…$" + +SlateportCity_Text_1DF12B: @ 81DF12B + .string "SCOTT: All right! I think you’re going\n" + .string "to become a good friend.\p" + .string "So, let’s register each other in our\n" + .string "POKéNAVS.\p" + .string "… … … … … …$" + +SlateportCity_Text_1DF1A6: @ 81DF1A6 + .string "Registered this SCOTT person\n" + .string "in the POKéNAV.$" + +SlateportCity_Text_1DF1D3: @ 81DF1D3 + .string "SCOTT: What I’d like to do is tag along\n" + .string "with you, but I do want to keep an eye\l" + .string "on the talents of other people, too.\p" + .string "So, I’ll be off to roam other towns\n" + .string "a bit more.\p" + .string "Be seeing you, {PLAYER}{KUN}!$" + +SlateportCity_Text_1DF28C: @ 81DF28C + .string "SCOTT: Oh, hey!\n" + .string "If it isn’t {PLAYER}{KUN}!\p" + .string "{PLAYER}{KUN}, let me guess--you’re going\n" + .string "to take the BATTLE TENT challenge?\p" + .string "Yeah! That’s a good idea!\n" + .string "That’s a really great idea!\p" + .string "After all, a tough TRAINER is\n" + .string "the perfect fit for the BATTLE TENT!\p" + .string "Give it your best effort!$" + diff --git a/data/scripts/maps/SlateportCity_BattleTentBattleRoom.inc b/data/scripts/maps/SlateportCity_BattleTentBattleRoom.inc new file mode 100644 index 0000000000..e0c6da76c8 --- /dev/null +++ b/data/scripts/maps/SlateportCity_BattleTentBattleRoom.inc @@ -0,0 +1,115 @@ +SlateportCity_BattleTentBattleRoom_MapScripts:: @ 8209960 + map_script 3, SlateportCity_BattleTentBattleRoom_MapScript1_209970 + map_script 4, SlateportCity_BattleTentBattleRoom_MapScript2_20999A + map_script 2, SlateportCity_BattleTentBattleRoom_MapScript2_2099B4 + .byte 0 + +SlateportCity_BattleTentBattleRoom_MapScript1_209970: @ 8209970 + call SlateportCity_BattleTentBattleRoom_EventScript_209976 + end + +SlateportCity_BattleTentBattleRoom_EventScript_209976:: @ 8209976 + checkplayergender + compare VAR_RESULT, 0 + goto_eq SlateportCity_BattleTentBattleRoom_EventScript_20998E + compare VAR_RESULT, 1 + goto_eq SlateportCity_BattleTentBattleRoom_EventScript_209994 + return + +SlateportCity_BattleTentBattleRoom_EventScript_20998E:: @ 820998E + setvar VAR_0x4011, 100 + return + +SlateportCity_BattleTentBattleRoom_EventScript_209994:: @ 8209994 + setvar VAR_0x4011, 105 + return + +SlateportCity_BattleTentBattleRoom_MapScript2_20999A: @ 820999A + map_script_2 VAR_0x4001, 0, SlateportCity_BattleTentBattleRoom_EventScript_2099A4 + .2byte 0 + +SlateportCity_BattleTentBattleRoom_EventScript_2099A4:: @ 82099A4 + setvar VAR_0x4001, 1 + hideobjectat 255, FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM + hideobjectat 2, SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM + end + +SlateportCity_BattleTentBattleRoom_MapScript2_2099B4: @ 82099B4 + map_script_2 VAR_0x4000, 0, SlateportCity_BattleTentBattleRoom_EventScript_2099BE + .2byte 0 + +SlateportCity_BattleTentBattleRoom_EventScript_2099BE:: @ 82099BE + applymovement 3, SlateportCity_BattleTentBattleRoom_Movement_209A99 + waitmovement 0 + setvar VAR_0x8004, 11 + special sub_81A5E74 + setobjectxyperm 2, 5, 1 + removeobject 2 + addobject 2 + applymovement 2, SlateportCity_BattleTentBattleRoom_Movement_209A9E + waitmovement 0 + setvar VAR_0x8004, 4 + special sub_81B99B4 + lockall + msgbox 0x2021fc4, 4 + waitmessage + closemessage + special HealPlayerParty + setvar VAR_0x8004, 6 + setvar VAR_0x8005, 0 + special sub_8163AC4 + waitstate + switch VAR_RESULT + case 1, SlateportCity_BattleTentBattleRoom_EventScript_209A39 + +SlateportCity_BattleTentCorridor_EventScript_209A1B:: @ 8209A1B + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 4 + special sub_81A1780 + special copy_player_party_from_sav1 + warp SLATEPORT_CITY_BATTLE_TENT_LOBBY, 255, 6, 6 + waitstate + +SlateportCity_BattleTentBattleRoom_EventScript_209A39:: @ 8209A39 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + addvar VAR_RESULT, 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A1780 + switch VAR_RESULT + case 3, SlateportCity_BattleTentBattleRoom_EventScript_209A7B +@ case 3, SlateportCity_BattleTentCorridor_EventScript_209A7B + setvar VAR_0x8006, 1 + warp SLATEPORT_CITY_BATTLE_TENT_CORRIDOR, 255, 2, 3 + waitstate + +SlateportCity_BattleTentBattleRoom_EventScript_209A7B:: @ 8209A7B +SlateportCity_BattleTentCorridor_EventScript_209A7B:: @ 8209A7B + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 3 + special sub_81A1780 + special copy_player_party_from_sav1 + warp SLATEPORT_CITY_BATTLE_TENT_LOBBY, 255, 6, 6 + waitstate +@ forced stop + +SlateportCity_BattleTentBattleRoom_Movement_209A99: @ 8209A99 + step_up + step_up + step_up + step_28 + step_end + +SlateportCity_BattleTentBattleRoom_Movement_209A9E: @ 8209A9E + step_down + step_down + step_down + step_down + step_27 + step_end + diff --git a/data/scripts/maps/SlateportCity_BattleTentCorridor.inc b/data/scripts/maps/SlateportCity_BattleTentCorridor.inc new file mode 100644 index 0000000000..6a0bafb451 --- /dev/null +++ b/data/scripts/maps/SlateportCity_BattleTentCorridor.inc @@ -0,0 +1,280 @@ +SlateportCity_BattleTentCorridor_MapScripts:: @ 8208E26 + map_script 2, SlateportCity_BattleTentCorridor_MapScript2_208E5B + map_script 4, SlateportCity_BattleTentCorridor_MapScript2_208E31 + .byte 0 + +SlateportCity_BattleTentCorridor_MapScript2_208E31: @ 8208E31 + map_script_2 VAR_0x4001, 0, SlateportCity_BattleTentCorridor_EventScript_208E3B + .2byte 0 + +SlateportCity_BattleTentCorridor_EventScript_208E3B:: @ 8208E3B + setvar VAR_0x4001, 1 + compare VAR_0x8006, 1 + goto_if 5, SlateportCity_BattleTentCorridor_EventScript_208E56 + setobjectxy 1, 2, 2 + turnobject 1, 1 + +SlateportCity_BattleTentCorridor_EventScript_208E56:: @ 8208E56 + turnobject 255, 2 + end + +SlateportCity_BattleTentCorridor_MapScript2_208E5B: @ 8208E5B + map_script_2 VAR_0x4000, 0, SlateportCity_BattleTentCorridor_EventScript_208E65 + .2byte 0 + +SlateportCity_BattleTentCorridor_EventScript_208E65:: @ 8208E65 + compare VAR_0x8006, 1 + goto_eq SlateportCity_BattleTentCorridor_EventScript_208EEE + setvar VAR_0x4000, 1 + applymovement 1, SlateportCity_BattleTentCorridor_Movement_209062 + applymovement 255, SlateportCity_BattleTentCorridor_Movement_209059 + waitmovement 0 + compare VAR_0x8006, 2 + goto_eq SlateportCity_BattleTentCorridor_EventScript_209044 + setvar VAR_0x8004, 9 + special sub_81B9D08 + setvar VAR_0x8004, 8 + special sub_81B9D08 + msgbox SlateportCity_BattleTentCorridor_Text_25A1C8, 4 + fadescreen 1 + setvar VAR_0x8004, 6 + special sub_81B9D08 + waitstate + +SlateportCity_BattleTentCorridor_EventScript_208EB4:: @ 8208EB4 + msgbox SlateportCity_BattleTentCorridor_Text_25AB96, 4 + closemessage + applymovement 1, SlateportCity_BattleTentCorridor_Movement_2725A6 + waitmovement 0 + opendoor 2, 1 + waitdooranim + applymovement 1, SlateportCity_BattleTentCorridor_Movement_209068 + applymovement 255, SlateportCity_BattleTentCorridor_Movement_20905E + waitmovement 0 + closedoor 2, 1 + waitdooranim + warp SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM, 255, 4, 4 + waitstate + end + +SlateportCity_BattleTentCorridor_EventScript_208EEE:: @ 8208EEE + setvar VAR_0x8004, 9 + special sub_81A5E74 + setvar VAR_0x8004, 16 + special sub_81A5E74 + msgbox SlateportCity_BattleTentCorridor_Text_25A22D, 4 + playfanfare MUS_ME_ASA + waitfanfare + special HealPlayerParty + +SlateportCity_BattleTentCorridor_EventScript_208F0D:: @ 8208F0D + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + compare VAR_RESULT, 1 + call_if 1, SlateportCity_BattleTentCorridor_EventScript_209014 + compare VAR_RESULT, 2 + call_if 1, SlateportCity_BattleTentCorridor_EventScript_20901B + multichoice 20, 6, 104, 1 + switch VAR_RESULT + case 0, SlateportCity_BattleTentCorridor_EventScript_208FBB + case 1, SlateportCity_BattleTentCorridor_EventScript_208F5B + case 2, SlateportCity_BattleTentCorridor_EventScript_208F89 + +SlateportCity_BattleTentCorridor_EventScript_208F5B:: @ 8208F5B + msgbox SlateportCity_BattleTentCorridor_Text_25A350, 5 + switch VAR_RESULT + case 0, SlateportCity_BattleTentCorridor_EventScript_208F0D + case 1, SlateportCity_BattleTentCorridor_EventScript_209022 + case 127, SlateportCity_BattleTentCorridor_EventScript_208F0D + +SlateportCity_BattleTentCorridor_EventScript_208F89:: @ 8208F89 + message SlateportCity_BattleTentCorridor_Text_25A37A + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, SlateportCity_BattleTentCorridor_EventScript_208F0D + case 0, SlateportCity_BattleTentCorridor_EventScript_209A1B + case 127, SlateportCity_BattleTentCorridor_EventScript_208F0D + +SlateportCity_BattleTentCorridor_EventScript_208FBB:: @ 8208FBB + setvar VAR_0x8004, 8 + special sub_81B9D08 + msgbox SlateportCity_BattleTentCorridor_Text_25AB2E, 5 + switch VAR_RESULT + case 0, SlateportCity_BattleTentCorridor_EventScript_208EB4 + case 1, SlateportCity_BattleTentCorridor_EventScript_208FF1 + case 127, SlateportCity_BattleTentCorridor_EventScript_208EB4 + +SlateportCity_BattleTentCorridor_EventScript_208FF1:: @ 8208FF1 + fadescreen 1 + setvar VAR_0x8004, 7 + special sub_81B9D08 + waitstate + compare VAR_RESULT, 1 + goto_eq SlateportCity_BattleTentCorridor_EventScript_208EB4 + msgbox SlateportCity_BattleTentCorridor_Text_25AB6C, 4 + goto SlateportCity_BattleTentCorridor_EventScript_208EB4 + +SlateportCity_BattleTentCorridor_EventScript_209014:: @ 8209014 + message SlateportCity_BattleTentCorridor_Text_25A263 + waitmessage + return + +SlateportCity_BattleTentCorridor_EventScript_20901B:: @ 820901B + message SlateportCity_BattleTentCorridor_Text_25A289 + waitmessage + return + +SlateportCity_BattleTentCorridor_EventScript_209022:: @ 8209022 + message SlateportCity_BattleTentCorridor_Text_25ABAE + waitmessage + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 2 + special sub_81B9D08 + playse SE_SAVE + waitse + fadescreen 1 + setvar VAR_0x8004, 4 + special sub_81A1780 + end + +SlateportCity_BattleTentCorridor_EventScript_209044:: @ 8209044 + special copy_player_party_to_sav1 + setvar VAR_0x8004, 10 + setvar VAR_0x8005, 0 + special sub_81A5E74 + goto SlateportCity_BattleTentCorridor_EventScript_208F0D + +SlateportCity_BattleTentCorridor_Movement_209059: @ 8209059 + step_up + step_up + step_up + step_up + step_end + +SlateportCity_BattleTentCorridor_Movement_20905E: @ 820905E + step_up + step_up + step_54 + step_end + +SlateportCity_BattleTentCorridor_Movement_209062: @ 8209062 + step_up + step_up + step_up + step_up + step_25 + step_end + +SlateportCity_BattleTentCorridor_Movement_209068: @ 8209068 + step_up + step_54 + step_end + +SlateportCity_BattleTentCorridor_Text_20906B: @ 820906B + .string "Want a tasty little bit of advice\n" + .string "for CONTESTS?\p" + .string "Using a certain move after another\n" + .string "certain kind of move sometimes gets\l" + .string "you extra attention.\p" + .string "If you know what you’re doing,\n" + .string "you can score big in appeal.\p" + .string "Of course, your opponents might try\n" + .string "disrupting your POKéMON’s showing.$" + +SlateportCity_BattleTentCorridor_Text_20917A: @ 820917A + .string "My papa, he’s a CONTEST JUDGE.\p" + .string "I wonder what I should be when I\n" + .string "grow up, a JUDGE or a GYM LEADER?$" + +SlateportCity_BattleTentCorridor_Text_2091DC: @ 82091DC + .string "Hey, man, I’m like majorly cheesed,\n" + .string "you know. Like, you know, I just\l" + .string "wanted to know why my POKéMON\l" + .string "never won, you know, like, hey?\p" + .string "So, like, I gave the JUDGE my two\n" + .string "cents, you know, they’re free.\p" + .string "And he wouldn’t hear me out, like, hey!\n" + .string "So, like, total bummer, man!\p" + .string "Hey, like, you! Zip it, you know?\n" + .string "Just, you know, take this!$" + +SlateportCity_BattleTentCorridor_Text_209322: @ 8209322 + .string "That’s, like, TM41, you know?\n" + .string "Hey, it’s TORMENT, you hearing me?\p" + .string "Like, it won’t let the other guy\n" + .string "use the same move twice in a row, see?\p" + .string "Hey, now, you listen here, like,\n" + .string "I’m not laying a torment on you!$" + +SlateportCity_BattleTentCorridor_Text_2093ED: @ 82093ED + .string "MC: Oh, my, my!\n" + .string "Now isn’t that a dandy of a POKéMON?\p" + .string "Please! Do step right up and take\n" + .string "part in our splendid CONTESTS!\p" + .string "You’ll do well! I’m sure of it!\n" + .string "My eyes have never failed me!$" + +SlateportCity_BattleTentCorridor_Text_2094A1: @ 82094A1 + .string "JUDGE: Well, hello there!\n" + .string "I see that you’re a TRAINER!\p" + .string "Then, it just wouldn’t do for you\n" + .string "to miss a POKéMON CONTEST!\p" + .string "Get a CONTEST PASS in VERDANTURF\n" + .string "CITY and enter anytime!$" + +SlateportCity_BattleTentCorridor_Text_20954E: @ 820954E + .string "It’s appeal time!\n" + .string "What should I lead with?$" + +SlateportCity_BattleTentCorridor_Text_209579: @ 8209579 + .string "They didn’t pay much attention to\n" + .string "my POKéMON’s appeal…\p" + .string "Humph, that JUDGE, he doesn’t know\n" + .string "a good thing when he sees it.$" + +SlateportCity_BattleTentCorridor_Text_2095F1: @ 82095F1 + .string "Oh, hi! You must be a serious fan to get\n" + .string "this close to the action.\p" + .string "I’ll reward your enthusiasm with\n" + .string "this sage advice.\p" + .string "If a move goes over really well,\n" + .string "the audience will get excited.\p" + .string "The POKéMON that makes its appeal\n" + .string "right when everyone’s excited…\p" + .string "Well, you’d think something good has\n" + .string "to happen!$" + +SlateportCity_BattleTentCorridor_Text_209718: @ 8209718 + .string "I can’t do this! I’m more freaked out\n" + .string "than my POKéMON.\p" + .string "I’m shivering and my heart is racing!$" + +SlateportCity_BattleTentCorridor_Text_209775: @ 8209775 + .string "A battle and a CONTEST aren’t the\n" + .string "same, but they are alike, too.\p" + .string "You need to work hard and believe\n" + .string "in the POKéMON you’ve raised.$" + +SlateportCity_BattleTentCorridor_Text_2097F6: @ 82097F6 + .string "That POKéMON looks like it’s on top\n" + .string "of its game, huh?\p" + .string "A POKéMON that does good in the\n" + .string "secondary judging seems to be more\l" + .string "relaxed when it’s doing appeals.$" + +SlateportCity_BattleTentCorridor_Text_209890: @ 8209890 + .string "Will you look at that sorry sight?\p" + .string "Heh, my POKéMON’s absolutely better\n" + .string "than that lot!$" + +SlateportCity_BattleTentCorridor_Text_2098E6: @ 82098E6 + .string "Don’t you get the urge to move with\n" + .string "POKéMON if they’re putting on an\l" + .string "energetic appeal?$" + +SlateportCity_BattleTentCorridor_Text_20993D: @ 820993D + .string "POKéMON CONTESTS\n" + .string "HYPER RANK STAGE!$" + diff --git a/data/scripts/maps/SlateportCity_BattleTentLobby.inc b/data/scripts/maps/SlateportCity_BattleTentLobby.inc new file mode 100644 index 0000000000..ca51ab57e2 --- /dev/null +++ b/data/scripts/maps/SlateportCity_BattleTentLobby.inc @@ -0,0 +1,357 @@ +SlateportCity_BattleTentLobby_MapScripts:: @ 8208730 + map_script 2, SlateportCity_BattleTentLobby_MapScript2_20874F + map_script 4, SlateportCity_BattleTentLobby_MapScript2_20873B + .byte 0 + +SlateportCity_BattleTentLobby_MapScript2_20873B: @ 820873B + map_script_2 VAR_0x4001, 0, SlateportCity_BattleTentLobby_EventScript_208745 + .2byte 0 + +SlateportCity_BattleTentLobby_EventScript_208745:: @ 8208745 + setvar VAR_0x4001, 1 + turnobject 255, 2 + end + +SlateportCity_BattleTentLobby_MapScript2_20874F: @ 820874F + map_script_2 VAR_0x4000, 0, SlateportCity_BattleTentLobby_EventScript_208779 + map_script_2 VAR_0x4000, 1, SlateportCity_BattleTentLobby_EventScript_208782 + map_script_2 VAR_0x4000, 2, SlateportCity_BattleTentLobby_EventScript_208871 + map_script_2 VAR_0x4000, 3, SlateportCity_BattleTentLobby_EventScript_2087B7 + map_script_2 VAR_0x4000, 4, SlateportCity_BattleTentLobby_EventScript_208837 + .2byte 0 + +SlateportCity_BattleTentLobby_EventScript_208779:: @ 8208779 + setvar VAR_0x8004, 0 + special sub_81A1780 + end + +SlateportCity_BattleTentLobby_EventScript_208782:: @ 8208782 + lockall + msgbox SlateportCity_BattleTentLobby_Text_2C5DFA, 4 + closemessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x4000, 255 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 0 + special sub_81A1780 + releaseall + end + +SlateportCity_BattleTentLobby_EventScript_2087B7:: @ 82087B7 + lockall + message SlateportCity_BattleTentLobby_Text_2C5C6F + waitmessage + setvar VAR_0x8004, 4 + special sub_81B9D08 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 0 + special sub_81B9D08 + playse SE_SAVE + waitse + +SlateportCity_BattleTentLobby_EventScript_2087E9:: @ 82087E9 + msgbox SlateportCity_BattleTentLobby_Text_2C5D14, 4 + setvar VAR_0x8004, 5 + special sub_81B9D08 + switch VAR_RESULT + case 0, SlateportCity_BattleTentLobby_EventScript_20882A + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + message SlateportCity_BattleTentLobby_Text_23F68C + waitmessage + playfanfare MUS_FANFA4 + waitfanfare + goto SlateportCity_BattleTentLobby_EventScript_208861 + +SlateportCity_BattleTentLobby_EventScript_20882A:: @ 820882A + msgbox SlateportCity_BattleTentLobby_Text_2C5D52, 4 + goto SlateportCity_BattleTentLobby_EventScript_208861 + +SlateportCity_BattleTentLobby_EventScript_208837:: @ 8208837 + lockall + message SlateportCity_BattleTentLobby_Text_2C5BA2 + waitmessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 0 + special sub_81B9D08 + playse SE_SAVE + waitse + +SlateportCity_BattleTentLobby_EventScript_208861:: @ 8208861 + msgbox SlateportCity_BattleTentLobby_Text_2C5AA5, 4 + closemessage + setvar VAR_0x4000, 255 + releaseall + end + +SlateportCity_BattleTentLobby_EventScript_208871:: @ 8208871 + lockall + message SlateportCity_BattleTentLobby_Text_2C5DA7 + waitmessage + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 1 + special sub_81B9D08 + playse SE_SAVE + waitse + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x4000, 255 + setvar VAR_0x8006, 2 + goto SlateportCity_BattleTentLobby_EventScript_2089AC + +SlateportCity_BattleTentLobby_EventScript_2088AA:: @ 82088AA + lock + faceplayer + setvar VAR_0x8004, 1 + special sub_81B9D08 + compare VAR_RESULT, 0 + goto_if 5, SlateportCity_BattleTentLobby_EventScript_2087E9 + special copy_player_party_to_sav1 + msgbox SlateportCity_BattleTentLobby_Text_2C5810, 4 + +SlateportCity_BattleTentLobby_EventScript_2088CA:: @ 82088CA + message SlateportCity_BattleTentLobby_Text_2C586A + waitmessage + multichoice 17, 6, 23, 0 + switch VAR_RESULT + case 0, SlateportCity_BattleTentLobby_EventScript_208906 + case 1, SlateportCity_BattleTentLobby_EventScript_208A07 + case 2, SlateportCity_BattleTentLobby_EventScript_208A2E + case 127, SlateportCity_BattleTentLobby_EventScript_208A2E + +SlateportCity_BattleTentLobby_EventScript_208906:: @ 8208906 + setvar VAR_FRONTIER_FACILITY, 4 + setvar VAR_0x40CE, 0 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 2 + special sub_81A1780 + msgbox SlateportCity_BattleTentLobby_Text_2C5B06, 5 + switch VAR_RESULT + case 0, SlateportCity_BattleTentLobby_EventScript_208A2B + case 1, SlateportCity_BattleTentLobby_EventScript_208950 + case 127, SlateportCity_BattleTentLobby_EventScript_208A2B + +SlateportCity_BattleTentLobby_EventScript_208950:: @ 8208950 + setvar VAR_0x4000, 0 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 4 + special sub_81A1780 + setvar VAR_0x8004, 0 + special sub_81B9D08 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 1 + special sub_81A1780 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + closemessage + delay 2 + call SlateportCity_BattleTentLobby_EventScript_27134F + setvar VAR_0x4000, 255 + compare VAR_RESULT, 0 + goto_eq SlateportCity_BattleTentLobby_EventScript_208A14 + setvar VAR_0x8006, 0 + +SlateportCity_BattleTentLobby_EventScript_2089AC:: @ 82089AC + msgbox SlateportCity_BattleTentLobby_Text_2C5B8C, 4 + closemessage + call SlateportCity_BattleTentLobby_EventScript_2089C9 + warp SLATEPORT_CITY_BATTLE_TENT_CORRIDOR, 255, 2, 7 + setvar VAR_0x4000, 0 + waitstate + end + +SlateportCity_BattleTentLobby_EventScript_2089C9:: @ 82089C9 + applymovement 1, SlateportCity_BattleTentLobby_Movement_2089F8 + applymovement 255, SlateportCity_BattleTentLobby_Movement_2089FF + waitmovement 0 + opendoor 6, 1 + waitdooranim + applymovement 1, SlateportCity_BattleTentLobby_Movement_2089FC + applymovement 255, SlateportCity_BattleTentLobby_Movement_208A03 + waitmovement 0 + closedoor 6, 1 + waitdooranim + return + +SlateportCity_BattleTentLobby_Movement_2089F8: @ 82089F8 + step_up + step_up + step_up + step_end + +SlateportCity_BattleTentLobby_Movement_2089FC: @ 82089FC + step_up + step_54 + step_end + +SlateportCity_BattleTentLobby_Movement_2089FF: @ 82089FF + step_up + step_up + step_up + step_end + +SlateportCity_BattleTentLobby_Movement_208A03: @ 8208A03 + step_up + step_up + step_54 + step_end + +SlateportCity_BattleTentLobby_EventScript_208A07:: @ 8208A07 + msgbox SlateportCity_BattleTentLobby_Text_2C589C, 4 + goto SlateportCity_BattleTentLobby_EventScript_2088CA + +SlateportCity_BattleTentLobby_EventScript_208A14:: @ 8208A14 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + goto SlateportCity_BattleTentLobby_EventScript_208A2E + +SlateportCity_BattleTentLobby_EventScript_208A2B:: @ 8208A2B + special copy_player_party_from_sav1 + +SlateportCity_BattleTentLobby_EventScript_208A2E:: @ 8208A2E + msgbox SlateportCity_BattleTentLobby_Text_2C5AA5, 4 + release + end + +SlateportCity_BattleTentLobby_Movement_208A38:: @ 8208A38 + step_up + step_up + step_up + step_54 + step_end + +SlateportCity_BattleTentLobby_EventScript_208A3D:: @ 8208A3D + lock + faceplayer + checkflag FLAG_0x109 + goto_eq SlateportCity_BattleTentLobby_EventScript_208A74 + msgbox SlateportCity_BattleTentLobby_Text_208B4E, 4 + giveitem_std ITEM_TM41 + compare VAR_RESULT, 0 + goto_eq SlateportCity_BattleTentLobby_EventScript_272054 + setflag FLAG_0x109 + msgbox SlateportCity_BattleTentLobby_Text_208C5C, 4 + release + end + +SlateportCity_BattleTentLobby_EventScript_208A74:: @ 8208A74 + msgbox SlateportCity_BattleTentLobby_Text_208C5C, 4 + release + end + +SlateportCity_BattleTentLobby_EventScript_208A7E:: @ 8208A7E + msgbox SlateportCity_BattleTentLobby_Text_208D27, 2 + end + +SlateportCity_BattleTentLobby_EventScript_208A87:: @ 8208A87 + msgbox SlateportCity_BattleTentLobby_Text_208DA6, 2 + end + +SlateportCity_BattleTentLobby_EventScript_208A90:: @ 8208A90 + msgbox SlateportCity_BattleTentLobby_Text_208DF1, 2 + end + +SlateportCity_BattleTentLobby_EventScript_208A99:: @ 8208A99 + lockall + msgbox SlateportCity_BattleTentLobby_Text_259721, 4 + goto SlateportCity_BattleTentLobby_EventScript_208AA8 + end + +SlateportCity_BattleTentLobby_EventScript_208AA8:: @ 8208AA8 + message SlateportCity_BattleTentLobby_Text_259743 + waitmessage + multichoice 17, 0, 111, 0 + switch VAR_RESULT + case 0, SlateportCity_BattleTentLobby_EventScript_208B06 + case 1, SlateportCity_BattleTentLobby_EventScript_208B14 + case 2, SlateportCity_BattleTentLobby_EventScript_208B22 + case 3, SlateportCity_BattleTentLobby_EventScript_208B30 + case 4, SlateportCity_BattleTentLobby_EventScript_208B3E + case 5, SlateportCity_BattleTentLobby_EventScript_208B4C + case 127, SlateportCity_BattleTentLobby_EventScript_208B4C + end + +SlateportCity_BattleTentLobby_EventScript_208B06:: @ 8208B06 + msgbox SlateportCity_BattleTentLobby_Text_2C5F08, 4 + goto SlateportCity_BattleTentLobby_EventScript_208AA8 + end + +SlateportCity_BattleTentLobby_EventScript_208B14:: @ 8208B14 + msgbox SlateportCity_BattleTentLobby_Text_2C5F9D, 4 + goto SlateportCity_BattleTentLobby_EventScript_208AA8 + end + +SlateportCity_BattleTentLobby_EventScript_208B22:: @ 8208B22 + msgbox SlateportCity_BattleTentLobby_Text_2C6020, 4 + goto SlateportCity_BattleTentLobby_EventScript_208AA8 + end + +SlateportCity_BattleTentLobby_EventScript_208B30:: @ 8208B30 + msgbox SlateportCity_BattleTentLobby_Text_2C60C0, 4 + goto SlateportCity_BattleTentLobby_EventScript_208AA8 + end + +SlateportCity_BattleTentLobby_EventScript_208B3E:: @ 8208B3E + msgbox SlateportCity_BattleTentLobby_Text_2C61FE, 4 + goto SlateportCity_BattleTentLobby_EventScript_208AA8 + end + +SlateportCity_BattleTentLobby_EventScript_208B4C:: @ 8208B4C + releaseall + end + +SlateportCity_BattleTentLobby_Text_208B4E: @ 8208B4E + .string "So, like, I couldn’t find myself any\n" + .string "POKéMON that were, like, for me.\p" + .string "So, I figured, like, hey, I should file\n" + .string "a complaint to the guy there?\p" + .string "And he wouldn’t hear me out, like, hey!\n" + .string "So, like, total bummer, man!\p" + .string "Hey, like, you! Zip it, you know?\n" + .string "Just, you know, take this!$" + +SlateportCity_BattleTentLobby_Text_208C5C: @ 8208C5C + .string "That’s, like, TM41, you know?\n" + .string "Hey, it’s TORMENT, you hearing me?\p" + .string "Like, it won’t let the other guy\n" + .string "use the same move twice in a row, see?\p" + .string "Hey, now, you listen here, like,\n" + .string "I’m not laying a torment on you!$" + +SlateportCity_BattleTentLobby_Text_208D27: @ 8208D27 + .string "I don’t really like BUG POKéMON,\n" + .string "but maybe I’ll try using some for\l" + .string "a change of pace.\p" + .string "Who knows, I might even get to like\n" + .string "them!$" + +SlateportCity_BattleTentLobby_Text_208DA6: @ 8208DA6 + .string "You can battle all you want here even\n" + .string "if you don’t have any tough POKéMON.$" + +SlateportCity_BattleTentLobby_Text_208DF1: @ 8208DF1 + .string "Wouldn’t it be nice if they had more of\n" + .string "a selection?$" + diff --git a/data/scripts/maps/SlateportCity_Harbor.inc b/data/scripts/maps/SlateportCity_Harbor.inc new file mode 100644 index 0000000000..5fb080363a --- /dev/null +++ b/data/scripts/maps/SlateportCity_Harbor.inc @@ -0,0 +1,567 @@ +SlateportCity_Harbor_MapScripts:: @ 820C97D + map_script 3, SlateportCity_Harbor_MapScript1_20C983 + .byte 0 + +SlateportCity_Harbor_MapScript1_20C983: @ 820C983 + setescapewarp SLATEPORT_CITY, 255, 28, 13 + setvar VAR_0x4001, 0 + compare VAR_0x40A0, 1 + call_if 1, SlateportCity_Harbor_EventScript_20C9A9 + checkflag FLAG_SYS_GAME_CLEAR + call_if 1, SlateportCity_Harbor_EventScript_20C9A5 + end + +SlateportCity_Harbor_EventScript_20C9A5:: @ 820C9A5 + clearflag FLAG_0x35C + return + +SlateportCity_Harbor_EventScript_20C9A9:: @ 820C9A9 + savebgm MUS_AQA_0 + setobjectxyperm 4, 12, 13 + setobjectmovementtype 4, 9 + setflag FLAG_0x389 + return + +SlateportCity_Harbor_EventScript_20C9BB:: @ 820C9BB + lockall + setvar VAR_0x8008, 0 + goto SlateportCity_Harbor_EventScript_20C9F5 + end + +SlateportCity_Harbor_EventScript_20C9C7:: @ 820C9C7 + lockall + setvar VAR_0x8008, 1 + goto SlateportCity_Harbor_EventScript_20C9F5 + end + +SlateportCity_Harbor_EventScript_20C9D3:: @ 820C9D3 + lockall + setvar VAR_0x8008, 2 + goto SlateportCity_Harbor_EventScript_20C9F5 + end + +SlateportCity_Harbor_EventScript_20C9DF:: @ 820C9DF + lockall + setvar VAR_0x8008, 3 + applymovement 255, SlateportCity_Harbor_Movement_20CAEF + waitmovement 0 + goto SlateportCity_Harbor_EventScript_20C9F5 + end + +SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5 + applymovement 7, SlateportCity_Harbor_Movement_2725AA + waitmovement 0 + applymovement 6, SlateportCity_Harbor_Movement_2725AA + applymovement 255, SlateportCity_Harbor_Movement_2725A6 + waitmovement 0 + msgbox SlateportCity_Harbor_Text_20D291, 4 + closemessage + applymovement 6, SlateportCity_Harbor_Movement_20CAC8 + applymovement 7, SlateportCity_Harbor_Movement_20CAC8 + applymovement 8, SlateportCity_Harbor_Movement_20CAD2 + waitmovement 0 + removeobject 6 + removeobject 7 + removeobject 8 + setvar VAR_0x40A0, 2 + setflag FLAG_0x061 + setflag FLAG_0x313 + compare VAR_0x8008, 0 + call_if 1, SlateportCity_Harbor_EventScript_20CA89 + compare VAR_0x8008, 1 + call_if 1, SlateportCity_Harbor_EventScript_20CA9E + compare VAR_0x8008, 2 + call_if 1, SlateportCity_Harbor_EventScript_20CAB3 + compare VAR_0x8008, 3 + call_if 1, SlateportCity_Harbor_EventScript_20CAB3 + msgbox SlateportCity_Harbor_Text_20D35A, 4 + closemessage + setflag FLAG_0x335 + setflag FLAG_0x336 + moveobjectoffscreen 4 + setobjectmovementtype 4, 10 + releaseall + end + +SlateportCity_Harbor_EventScript_20CA89:: @ 820CA89 + applymovement 4, SlateportCity_Harbor_Movement_20CAE0 + waitmovement 0 + applymovement 255, SlateportCity_Harbor_Movement_2725AA + waitmovement 0 + return + +SlateportCity_Harbor_EventScript_20CA9E:: @ 820CA9E + applymovement 4, SlateportCity_Harbor_Movement_20CAE6 + waitmovement 0 + applymovement 255, SlateportCity_Harbor_Movement_2725A8 + waitmovement 0 + return + +SlateportCity_Harbor_EventScript_20CAB3:: @ 820CAB3 + applymovement 4, SlateportCity_Harbor_Movement_20CAEB + waitmovement 0 + applymovement 255, SlateportCity_Harbor_Movement_2725A8 + waitmovement 0 + return + +SlateportCity_Harbor_Movement_20CAC8: @ 820CAC8 + step_14 + step_14 + step_43 + step_54 + step_end + +SlateportCity_Harbor_Movement_20CACD: @ 820CACD + step_14 + step_14 + step_43 + step_54 + step_end + +SlateportCity_Harbor_Movement_20CAD2: @ 820CAD2 + step_14 + step_14 + step_14 + step_14 + step_right + step_right + step_right + step_18 + step_18 + step_18 + step_18 + step_18 + step_18 + step_end + +SlateportCity_Harbor_Movement_20CAE0: @ 820CAE0 + step_left + step_left + step_left + step_left + step_up + step_end + +SlateportCity_Harbor_Movement_20CAE6: @ 820CAE6 + step_left + step_left + step_up + step_left + step_end + +SlateportCity_Harbor_Movement_20CAEB: @ 820CAEB + step_left + step_left + step_left + step_end + +SlateportCity_Harbor_Movement_20CAEF: @ 820CAEF + step_up + step_end + +SlateportCity_Harbor_EventScript_20CAF1:: @ 820CAF1 + lock + faceplayer + checkflag FLAG_SYS_GAME_CLEAR + goto_eq SlateportCity_Harbor_EventScript_20CB06 + msgbox SlateportCity_Harbor_Text_20CE20, 4 + release + end + +SlateportCity_Harbor_EventScript_20CB06:: @ 820CB06 + msgbox SlateportCity_Harbor_Text_20CE87, 4 + message SlateportCity_Harbor_Text_20CF1C + waitmessage + goto SlateportCity_Harbor_EventScript_20CB1A + end + +SlateportCity_Harbor_EventScript_20CB1A:: @ 820CB1A + checkflag FLAG_0x1D0 + goto_eq SlateportCity_Harbor_EventScript_20CB50 + multichoicedefault 18, 8, 56, 2, 0 + switch VAR_RESULT + case 0, SlateportCity_Harbor_EventScript_20CB92 + case 1, SlateportCity_Harbor_EventScript_20CC2D + case 127, SlateportCity_Harbor_EventScript_20CC2D + end + +SlateportCity_Harbor_EventScript_20CB50:: @ 820CB50 + multichoicedefault 17, 6, 52, 2, 0 + switch VAR_RESULT + case 0, SlateportCity_Harbor_EventScript_20CB92 + case 1, SlateportCity_Harbor_EventScript_20CBBA + case 2, SlateportCity_Harbor_EventScript_20CC2D + case 127, SlateportCity_Harbor_EventScript_20CC2D + end + +SlateportCity_Harbor_EventScript_20CB88:: @ 820CB88 + msgbox SlateportCity_Harbor_Text_20CEC1, 4 + release + end + +SlateportCity_Harbor_EventScript_20CB92:: @ 820CB92 + msgbox SlateportCity_Harbor_Text_20CF93, 5 + compare VAR_RESULT, 0 + goto_eq SlateportCity_Harbor_EventScript_20CBDD + setvar VAR_PORTHOLE, 1 + call SlateportCity_Harbor_EventScript_20CBE9 + warp SS_TIDAL_CORRIDOR, 255, 1, 10 + waitstate + release + end + +SlateportCity_Harbor_EventScript_20CBBA:: @ 820CBBA + msgbox SlateportCity_Harbor_Text_20CFAE, 5 + compare VAR_RESULT, 0 + goto_eq SlateportCity_Harbor_EventScript_20CBDD + call SlateportCity_Harbor_EventScript_20CBE9 + warp BATTLE_FRONTIER_OUTSIDE_WEST, 255, 19, 67 + waitstate + release + end + +SlateportCity_Harbor_EventScript_20CBDD:: @ 820CBDD + message SlateportCity_Harbor_Text_20CFFA + waitmessage + goto SlateportCity_Harbor_EventScript_20CB1A + end + +SlateportCity_Harbor_EventScript_20CBE9:: @ 820CBE9 + msgbox SlateportCity_Harbor_Text_20CFCB, 4 + closemessage + applymovement VAR_LAST_TALKED, SlateportCity_Harbor_Movement_2725A6 + waitmovement 0 + delay 30 + hideobjectat VAR_LAST_TALKED, SLATEPORT_CITY_HARBOR + compare VAR_FACING, 2 + call_if 1, SlateportCity_Harbor_EventScript_20CC42 + compare VAR_FACING, 4 + call_if 1, SlateportCity_Harbor_EventScript_20CC37 + delay 30 + hideobjectat 255, PETALBURG_CITY + setvar VAR_0x8004, 5 + call SlateportCity_Harbor_EventScript_2721E2 + return + +SlateportCity_Harbor_EventScript_20CC2D:: @ 820CC2D + msgbox SlateportCity_Harbor_Text_20CF71, 4 + release + end + +SlateportCity_Harbor_EventScript_20CC37:: @ 820CC37 + applymovement 255, SlateportCity_Harbor_Movement_20CC4D + waitmovement 0 + return + +SlateportCity_Harbor_EventScript_20CC42:: @ 820CC42 + applymovement 255, SlateportCity_Harbor_Movement_20CC50 + waitmovement 0 + return + +SlateportCity_Harbor_Movement_20CC4D: @ 820CC4D + step_right + step_26 + step_end + +SlateportCity_Harbor_Movement_20CC50: @ 820CC50 + step_up + step_end + +SlateportCity_Harbor_EventScript_20CC52:: @ 820CC52 + lock + faceplayer + checkflag FLAG_SYS_GAME_CLEAR + goto_if 0, SlateportCity_Harbor_EventScript_20CC89 + setvar VAR_0x8004, 0 + checkflag FLAG_0x1BE + call_if 1, SlateportCity_Harbor_EventScript_20CC93 + checkflag FLAG_0x1BF + call_if 1, SlateportCity_Harbor_EventScript_20CC93 + compare VAR_0x8004, 2 + goto_eq SlateportCity_Harbor_EventScript_20CC89 + msgbox SlateportCity_Harbor_Text_20D08E, 4 + release + end + +SlateportCity_Harbor_EventScript_20CC89:: @ 820CC89 + msgbox SlateportCity_Harbor_Text_20D01C, 4 + release + end + +SlateportCity_Harbor_EventScript_20CC93:: @ 820CC93 + addvar VAR_0x8004, 1 + return + +SlateportCity_Harbor_EventScript_20CC99:: @ 820CC99 + msgbox SlateportCity_Harbor_Text_20D194, 2 + end + +SlateportCity_Harbor_EventScript_20CCA2:: @ 820CCA2 + lock + faceplayer + checkflag FLAG_BADGE07_GET + goto_eq SlateportCity_Harbor_EventScript_20CD00 + checkflag FLAG_0x10F + goto_eq SlateportCity_Harbor_EventScript_20CCF6 + checkflag FLAG_0x070 + goto_eq SlateportCity_Harbor_EventScript_20CCE9 + compare VAR_0x40A0, 2 + goto_eq SlateportCity_Harbor_EventScript_20CCDF + msgbox SlateportCity_Harbor_Text_20D232, 4 + closemessage + applymovement VAR_LAST_TALKED, SlateportCity_Harbor_Movement_2725A2 + waitmovement 0 + release + end + +SlateportCity_Harbor_EventScript_20CCDF:: @ 820CCDF + msgbox SlateportCity_Harbor_Text_20D35A, 4 + release + end + +SlateportCity_Harbor_EventScript_20CCE9:: @ 820CCE9 + setflag FLAG_0x10F + msgbox SlateportCity_Harbor_Text_20D42B, 4 + release + end + +SlateportCity_Harbor_EventScript_20CCF6:: @ 820CCF6 + msgbox SlateportCity_Harbor_Text_20D58A, 4 + release + end + +SlateportCity_Harbor_EventScript_20CD00:: @ 820CD00 + compare VAR_0x4001, 1 + goto_eq SlateportCity_Harbor_EventScript_20CE11 + checkitem ITEM_SCANNER, 1 + compare VAR_RESULT, 1 + goto_eq SlateportCity_Harbor_EventScript_20CD38 + checkflag FLAG_SYS_GAME_CLEAR + goto_eq SlateportCity_Harbor_EventScript_20CD2E + msgbox SlateportCity_Harbor_Text_20D65C, 4 + release + end + +SlateportCity_Harbor_EventScript_20CD2E:: @ 820CD2E + msgbox SlateportCity_Harbor_Text_20D6CB, 4 + release + end + +SlateportCity_Harbor_EventScript_20CD38:: @ 820CD38 + message SlateportCity_Harbor_Text_20D76C + waitmessage + goto SlateportCity_Harbor_EventScript_20CD44 + end + +SlateportCity_Harbor_EventScript_20CD44:: @ 820CD44 + multichoice 0, 0, 46, 0 + switch VAR_RESULT + case 0, SlateportCity_Harbor_EventScript_20CD7B + case 1, SlateportCity_Harbor_EventScript_20CDBB + case 2, SlateportCity_Harbor_EventScript_20CDFB + case 127, SlateportCity_Harbor_EventScript_20CDFB + end + +SlateportCity_Harbor_EventScript_20CD7B:: @ 820CD7B + msgbox SlateportCity_Harbor_Text_20D8BC, 5 + compare VAR_RESULT, 0 + goto_eq SlateportCity_Harbor_EventScript_20CE05 + giveitem_std ITEM_DEEP_SEA_TOOTH + compare VAR_RESULT, 0 + goto_eq SlateportCity_Harbor_EventScript_272054 + takeitem ITEM_SCANNER, 1 + msgbox SlateportCity_Harbor_Text_20D94A, 4 + setflag FLAG_0x126 + goto SlateportCity_Harbor_EventScript_20CE11 + end + +SlateportCity_Harbor_EventScript_20CDBB:: @ 820CDBB + msgbox SlateportCity_Harbor_Text_20D8F1, 5 + compare VAR_RESULT, 0 + goto_eq SlateportCity_Harbor_EventScript_20CE05 + giveitem_std ITEM_DEEP_SEA_SCALE + compare VAR_RESULT, 0 + goto_eq SlateportCity_Harbor_EventScript_272054 + takeitem ITEM_SCANNER, 1 + msgbox SlateportCity_Harbor_Text_20D94A, 4 + setflag FLAG_0x126 + goto SlateportCity_Harbor_EventScript_20CE11 + end + +SlateportCity_Harbor_EventScript_20CDFB:: @ 820CDFB + msgbox SlateportCity_Harbor_Text_20D841, 4 + release + end + +SlateportCity_Harbor_EventScript_20CE05:: @ 820CE05 + message SlateportCity_Harbor_Text_20D926 + waitmessage + goto SlateportCity_Harbor_EventScript_20CD44 + end + +SlateportCity_Harbor_EventScript_20CE11:: @ 820CE11 + setvar VAR_0x4001, 1 + msgbox SlateportCity_Harbor_Text_20D970, 4 + release + end + +SlateportCity_Harbor_Text_20CE20: @ 820CE20 + .string "I beg your pardon?\n" + .string "You’re looking for a ship?\p" + .string "I’m sorry, the ferry service isn’t\n" + .string "available at present…$" + +SlateportCity_Harbor_Text_20CE87: @ 820CE87 + .string "Hello, are you here for the ferry?\n" + .string "May I see your TICKET?$" + + +SlateportCity_Harbor_Text_20CEC1: @ 820CEC1 + .string "{PLAYER} doesn’t have the TICKET…\p" + .string "I’m terribly sorry.\p" + .string "You must have a TICKET to board\n" + .string "the ferry.$" + +SlateportCity_Harbor_Text_20CF1C: @ 820CF1C + .string "{PLAYER} flashed the TICKET.\p" + .string "Perfect! That’s all you need!\p" + .string "And where would you like to go?$" + +SlateportCity_Harbor_Text_20CF71: @ 820CF71 + .string "Please sail with us another time!$" + +SlateportCity_Harbor_Text_20CF93: @ 820CF93 + .string "LILYCOVE CITY it is, then!$" + +SlateportCity_Harbor_Text_20CFAE: @ 820CFAE + .string "BATTLE FRONTIER it is, then!$" + +SlateportCity_Harbor_Text_20CFCB: @ 820CFCB + .string "Please board the ferry and wait for\n" + .string "departure.$" + +SlateportCity_Harbor_Text_20CFFA: @ 820CFFA + .string "Then, where would you like to go?$" + +SlateportCity_Harbor_Text_20D01C: @ 820D01C + .string "A journey to the bottom of the sea…\n" + .string "I wonder what it’d be like?\p" + .string "I’d love to go deep underwater like\n" + .string "that someday.$" + +SlateportCity_Harbor_Text_20D08E: @ 820D08E + .string "For a ship to sail safely, we need to\n" + .string "know about the weather!\p" + .string "Speaking of weather, I heard something\n" + .string "from a guy at the WEATHER INSTITUTE.\p" + .string "He was saying abnormal weather has\n" + .string "been reported all over the place!\p" + .string "You should visit the WEATHER INSTITUTE\n" + .string "and ask around!$" + +SlateportCity_Harbor_Text_20D194: @ 820D194 + .string "I wanted to go with CAPT. STERN on\n" + .string "the ocean floor exploration.\p" + .string "But the sub’s too small for me.\p" + .string "If I squeezed in, there wouldn’t be\n" + .string "any room for the CAPTAIN…$" + +SlateportCity_Harbor_Text_20D232: @ 820D232 + .string "CAPT. STERN: Those thugs…\p" + .string "They’re the same lot who tried to rob\n" + .string "the DEVON GOODS at the MUSEUM.$" + +SlateportCity_Harbor_Text_20D291: @ 820D291 + .string "ARCHIE: Oh?\n" + .string "Not you again…\p" + .string "You are tenacious to track us here,\n" + .string "that much I will give you.\p" + .string "But now…\n" + .string "No one can stop us! No one!\p" + .string "Or, will you follow us back to our\n" + .string "HIDEOUT in LILYCOVE CITY?\p" + .string "Fwahahahaha…$" + +SlateportCity_Harbor_Text_20D35A: @ 820D35A + .string "CAPT. STERN: Why…\p" + .string "Why would TEAM AQUA steal my\n" + .string "SUBMARINE EXPLORER 1?\p" + .string "They can’t be after the slumbering\n" + .string "POKéMON at the bottom of the sea…\p" + .string "But even if I were to chase them,\n" + .string "I don’t stand a chance against them…$" + +SlateportCity_Harbor_Text_20D42B: @ 820D42B + .string "CAPT. STERN: Oh, {PLAYER}{KUN}…\p" + .string "Okay… So TEAM AQUA left before you\n" + .string "could stop them…\p" + .string "Oh, no, don’t blame yourself.\n" + .string "You’re not responsible for this.\p" + .string "Trying to catch a submarine…\n" + .string "It’s impossible for most people.\p" + .string "You would need a POKéMON that knows\n" + .string "how to DIVE…\p" + .string "Perhaps if you went out to\n" + .string "MOSSDEEP CITY…\p" + .string "A lot of divers live out there, so\n" + .string "someone might teach you…$" + +SlateportCity_Harbor_Text_20D58A: @ 820D58A + .string "CAPT. STERN: Trying to catch a\n" + .string "submarine… It’s impossible.\p" + .string "You would need a POKéMON that knows\n" + .string "how to DIVE…\p" + .string "Perhaps if you went out to\n" + .string "MOSSDEEP CITY…\p" + .string "A lot of divers live out there, so\n" + .string "someone might teach you…$" + +SlateportCity_Harbor_Text_20D65C: @ 820D65C + .string "CAPT. STERN: Oh, yes.\n" + .string "MR. BRINEY came to our SHIPYARD.\p" + .string "It won’t be long now before we finish\n" + .string "making the ferry!$" + +SlateportCity_Harbor_Text_20D6CB: @ 820D6CB + .string "CAPT. STERN: {PLAYER}{KUN}!\p" + .string "We finally finished making the ferry\n" + .string "S.S. TIDAL!\p" + .string "We couldn’t have done it without\n" + .string "your friend MR. BRINEY.\p" + .string "Please go for a short cruise on it!$" + +SlateportCity_Harbor_Text_20D76C: @ 820D76C + .string "CAPT. STERN: Oh?\n" + .string "{PLAYER}{KUN}, that item you have…\p" + .string "That’s a SCANNER! That would sure\n" + .string "help us on our explorations.\p" + .string "{PLAYER}{KUN}, would you trade your\n" + .string "SCANNER for something?\p" + .string "Like, say, a DEEPSEATOOTH or\n" + .string "a DEEPSEASCALE that I have?$" + +SlateportCity_Harbor_Text_20D841: @ 820D841 + .string "CAPT. STERN: Are you certain?\n" + .string "It’s useless to you, {PLAYER}{KUN}…\p" + .string "Well, okay, then. If you want to trade\n" + .string "your SCANNER, let me know.$" + +SlateportCity_Harbor_Text_20D8BC: @ 820D8BC + .string "CAPT. STERN: So you’ll trade it for\n" + .string "my DEEPSEATOOTH?$" + +SlateportCity_Harbor_Text_20D8F1: @ 820D8F1 + .string "CAPT. STERN: So you’ll trade it for\n" + .string "my DEEPSEASCALE?$" + +SlateportCity_Harbor_Text_20D926: @ 820D926 + .string "CAPT. STERN: Which one do you want?$" + +SlateportCity_Harbor_Text_20D94A: @ 820D94A + .string "{PLAYER} handed the SCANNER to\n" + .string "CAPT. STERN.$" + +SlateportCity_Harbor_Text_20D970: @ 820D970 + .string "CAPT. STERN: Thanks, {PLAYER}{KUN}!\n" + .string "This will help our research a lot!$" + diff --git a/data/scripts/maps/SlateportCity_House1.inc b/data/scripts/maps/SlateportCity_House1.inc new file mode 100644 index 0000000000..8ecc859f79 --- /dev/null +++ b/data/scripts/maps/SlateportCity_House1.inc @@ -0,0 +1,121 @@ +SlateportCity_House1_MapScripts:: @ 8209AA4 + .byte 0 + +SlateportCity_House1_EventScript_209AA5:: @ 8209AA5 + lock + faceplayer + msgbox SlateportCity_House1_Text_209B8E, 5 + compare VAR_RESULT, 1 + goto_eq SlateportCity_House1_EventScript_209AC6 + compare VAR_RESULT, 0 + goto_eq SlateportCity_House1_EventScript_209AE9 + end + +SlateportCity_House1_EventScript_209AC6:: @ 8209AC6 + msgbox SlateportCity_House1_Text_209BFF, 4 + special sub_81B94B0 + waitstate + compare VAR_0x8004, 255 + goto_if 5, SlateportCity_House1_EventScript_209AF3 + compare VAR_0x8004, 255 + goto_eq SlateportCity_House1_EventScript_209AE9 + end + +SlateportCity_House1_EventScript_209AE9:: @ 8209AE9 + msgbox SlateportCity_House1_Text_209D42, 4 + release + end + +SlateportCity_House1_EventScript_209AF3:: @ 8209AF3 + specialvar VAR_RESULT, ScriptGetPartyMonSpecies + compare VAR_RESULT, 412 + goto_eq SlateportCity_House1_EventScript_209B46 + special TV_CopyNicknameToStringVar1AndEnsureTerminated + special TV_CheckMonOTIDEqualsPlayerID + compare VAR_RESULT, 1 + goto_eq SlateportCity_House1_EventScript_209B50 + specialvar VAR_RESULT, sub_8139770 + special TV_CopyNicknameToStringVar1AndEnsureTerminated + compare VAR_RESULT, 1 + goto_eq SlateportCity_House1_EventScript_209B50 + msgbox SlateportCity_House1_Text_209C2B, 5 + compare VAR_RESULT, 1 + goto_eq SlateportCity_House1_EventScript_209B5A + compare VAR_RESULT, 0 + goto_eq SlateportCity_House1_EventScript_209AE9 + end + +SlateportCity_House1_EventScript_209B46:: @ 8209B46 + msgbox SlateportCity_House1_Text_209E74, 4 + release + end + +SlateportCity_House1_EventScript_209B50:: @ 8209B50 + msgbox SlateportCity_House1_Text_209DF0, 4 + release + end + +SlateportCity_House1_EventScript_209B5A:: @ 8209B5A + msgbox SlateportCity_House1_Text_209CA4, 4 + call SlateportCity_House1_EventScript_2723DD + specialvar VAR_RESULT, TV_PutNameRaterShowOnTheAirIfNicnkameChanged + special TV_CopyNicknameToStringVar1AndEnsureTerminated + compare VAR_RESULT, 1 + goto_eq SlateportCity_House1_EventScript_209B84 + msgbox SlateportCity_House1_Text_209D5E, 4 + release + end + +SlateportCity_House1_EventScript_209B84:: @ 8209B84 + msgbox SlateportCity_House1_Text_209CD4, 4 + release + end + +SlateportCity_House1_Text_209B8E: @ 8209B8E + .string "Hi, hi! I’m the NAME RATER!\n" + .string "I’m the fortune-teller of names!\p" + .string "I shall be pleased to rate your\n" + .string "POKéMON’s nickname.$" + +SlateportCity_House1_Text_209BFF: @ 8209BFF + .string "Which POKéMON’s nickname should\n" + .string "I critique?$" + +SlateportCity_House1_Text_209C2B: @ 8209C2B + .string "Hmmm… {STR_VAR_1}, is it? That is\n" + .string "quite a fine name you bestowed.\p" + .string "But! What say you, if I were to\n" + .string "suggest a slightly better name?$" + +SlateportCity_House1_Text_209CA4: @ 8209CA4 + .string "Ah, good. Then, what shall the new\n" + .string "nickname be?$" + +SlateportCity_House1_Text_209CD4: @ 8209CD4 + .string "Done! From now on, this POKéMON\n" + .string "shall be known as {STR_VAR_1}!\p" + .string "It is a better name than before!\n" + .string "How fortunate for you!$" + +SlateportCity_House1_Text_209D42: @ 8209D42 + .string "I see.\n" + .string "Do come visit again.$" + +SlateportCity_House1_Text_209D5E: @ 8209D5E + .string "Done! From now on, this POKéMON\n" + .string "shall be known as {STR_VAR_1}!\p" + .string "It looks no different from before,\n" + .string "and yet, this is vastly superior!\p" + .string "How fortunate for you!$" + +SlateportCity_House1_Text_209DF0: @ 8209DF0 + .string "Hmmm… {STR_VAR_1} it is!\p" + .string "This is a magnificent nickname!\n" + .string "It is impeccably beyond reproach!\p" + .string "You’ll do well to cherish your\n" + .string "{STR_VAR_1} now and beyond.$" + +SlateportCity_House1_Text_209E74: @ 8209E74 + .string "Now, now.\n" + .string "That is merely an EGG!$" + diff --git a/data/scripts/maps/SlateportCity_House2.inc b/data/scripts/maps/SlateportCity_House2.inc new file mode 100644 index 0000000000..28a05ed38f --- /dev/null +++ b/data/scripts/maps/SlateportCity_House2.inc @@ -0,0 +1,23 @@ +SlateportCity_House2_MapScripts:: @ 820D9AE + .byte 0 + +SlateportCity_House2_EventScript_20D9AF:: @ 820D9AF + msgbox SlateportCity_House2_Text_20D9C1, 2 + end + +SlateportCity_House2_EventScript_20D9B8:: @ 820D9B8 + msgbox SlateportCity_House2_Text_20DA59, 2 + end + +SlateportCity_House2_Text_20D9C1: @ 820D9C1 + .string "My POKéMON has a HASTY nature.\p" + .string "It has higher SPEED compared to\n" + .string "my other POKéMON.\p" + .string "Maybe their nature has something to\n" + .string "do with the stat gains of POKéMON.$" + +SlateportCity_House2_Text_20DA59: @ 820DA59 + .string "You’re a TRAINER, aren’t you?\p" + .string "Since you came to SLATEPORT CITY,\n" + .string "you must be going to the BATTLE TENT.$" + diff --git a/data/scripts/maps/SlateportCity_Mart.inc b/data/scripts/maps/SlateportCity_Mart.inc new file mode 100644 index 0000000000..da217f8092 --- /dev/null +++ b/data/scripts/maps/SlateportCity_Mart.inc @@ -0,0 +1,47 @@ +SlateportCity_Mart_MapScripts:: @ 820DC48 + .byte 0 + +SlateportCity_Mart_EventScript_20DC49:: @ 820DC49 + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemart SlateportCity_Mart_Pokemart_20DC60 + msgbox gUnknown_08272A3F, 4 + release + end + +SlateportCity_Mart_Pokemart_20DC60: @ 820DC60 + .2byte ITEM_POKE_BALL + .2byte ITEM_GREAT_BALL + .2byte ITEM_POTION + .2byte ITEM_SUPER_POTION + .2byte ITEM_ANTIDOTE + .2byte ITEM_PARALYZE_HEAL + .2byte ITEM_ESCAPE_ROPE + .2byte ITEM_REPEL + .2byte ITEM_HARBOR_MAIL + .2byte ITEM_NONE + release + end + +SlateportCity_Mart_EventScript_20DC76:: @ 820DC76 + msgbox SlateportCity_Mart_Text_20DC88, 2 + end + +SlateportCity_Mart_EventScript_20DC7F:: @ 820DC7F + msgbox SlateportCity_Mart_Text_20DCF8, 2 + end + +SlateportCity_Mart_Text_20DC88: @ 820DC88 + .string "The MARKET does have some interesting\n" + .string "merchandise.\p" + .string "But there are some items you can only\n" + .string "get at a POKéMON MART.$" + +SlateportCity_Mart_Text_20DCF8: @ 820DCF8 + .string "A GREAT BALL is better than a POKé BALL\n" + .string "at catching POKéMON.\p" + .string "With this, I should be able to get that\n" + .string "elusive POKéMON…$" + diff --git a/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc b/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc new file mode 100644 index 0000000000..ba8575c66c --- /dev/null +++ b/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc @@ -0,0 +1,395 @@ +SlateportCity_OceanicMuseum_1F_MapScripts:: @ 820AD95 + .byte 0 + +SlateportCity_OceanicMuseum_1F_EventScript_20AD96:: @ 820AD96 + msgbox SlateportCity_OceanicMuseum_1F_Text_20B026, 2 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AD9F:: @ 820AD9F + lockall + applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_2725A4 + waitmovement 0 + goto SlateportCity_OceanicMuseum_1F_EventScript_20ADC1 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20ADB0:: @ 820ADB0 + lockall + applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_2725A8 + waitmovement 0 + goto SlateportCity_OceanicMuseum_1F_EventScript_20ADC1 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20ADC1:: @ 820ADC1 + showmoneybox 0, 0, 0 + msgbox SlateportCity_OceanicMuseum_1F_Text_20AFD5, 5 + compare VAR_RESULT, 1 + goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20ADE8 + closemessage + hidemoneybox + nop + nop + applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_20AE4B + waitmovement 0 + releaseall + end + +SlateportCity_OceanicMuseum_1F_EventScript_20ADE8:: @ 820ADE8 + checkmoney 0x32, 0 + compare VAR_RESULT, 0 + goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AE18 + playse SE_REGI + takemoney 0x32, 0 + updatemoneybox 0, 0 + nop + msgbox SlateportCity_OceanicMuseum_1F_Text_20B026, 4 + setvar VAR_0x40AA, 1 + hidemoneybox + nop + nop + releaseall + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AE18:: @ 820AE18 + checkflag FLAG_0x095 + goto_if 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE39 + msgbox SlateportCity_OceanicMuseum_1F_Text_20B03D, 4 + closemessage + hidemoneybox + nop + nop + applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_20AE4B + waitmovement 0 + releaseall + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AE39:: @ 820AE39 + msgbox SlateportCity_OceanicMuseum_1F_Text_20B075, 4 + setvar VAR_0x40AA, 1 + hidemoneybox + nop + nop + releaseall + end + +SlateportCity_OceanicMuseum_1F_Movement_20AE4B: @ 820AE4B + step_down + step_end + +SlateportCity_OceanicMuseum_1F_EventScript_20AE4D:: @ 820AE4D + msgbox SlateportCity_OceanicMuseum_1F_Text_20B0E8, 2 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AE56:: @ 820AE56 + msgbox SlateportCity_OceanicMuseum_1F_Text_20B112, 2 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AE5F:: @ 820AE5F + msgbox SlateportCity_OceanicMuseum_1F_Text_20B165, 2 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AE68:: @ 820AE68 + msgbox SlateportCity_OceanicMuseum_1F_Text_20B19C, 3 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AE71:: @ 820AE71 + msgbox SlateportCity_OceanicMuseum_1F_Text_20B1D4, 2 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AE7A:: @ 820AE7A + msgbox SlateportCity_OceanicMuseum_1F_Text_20B218, 2 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AE83:: @ 820AE83 + msgbox SlateportCity_OceanicMuseum_1F_Text_20B4CF, 3 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AE8C:: @ 820AE8C + msgbox SlateportCity_OceanicMuseum_1F_Text_20B547, 3 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AE95:: @ 820AE95 + msgbox SlateportCity_OceanicMuseum_1F_Text_20B5CA, 3 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AE9E:: @ 820AE9E + msgbox SlateportCity_OceanicMuseum_1F_Text_20B699, 3 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AEA7:: @ 820AEA7 + msgbox SlateportCity_OceanicMuseum_1F_Text_20B74B, 3 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AEB0:: @ 820AEB0 + msgbox SlateportCity_OceanicMuseum_1F_Text_20B81F, 3 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AEB9:: @ 820AEB9 + msgbox SlateportCity_OceanicMuseum_1F_Text_20B912, 3 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AEC2:: @ 820AEC2 + msgbox SlateportCity_OceanicMuseum_1F_Text_20B9C0, 3 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AECB:: @ 820AECB + msgbox SlateportCity_OceanicMuseum_1F_Text_20BA9C, 3 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AED4:: @ 820AED4 + msgbox SlateportCity_OceanicMuseum_1F_Text_20B25F, 2 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AEDD:: @ 820AEDD + msgbox SlateportCity_OceanicMuseum_1F_Text_20B2A2, 2 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AEE6:: @ 820AEE6 + msgbox SlateportCity_OceanicMuseum_1F_Text_20B302, 2 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AEEF:: @ 820AEEF + msgbox SlateportCity_OceanicMuseum_1F_Text_20B369, 2 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AEF8:: @ 820AEF8 + lock + faceplayer + delay 8 + playse SE_PIN + applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_272598 + waitmovement 0 + applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_27259A + waitmovement 0 + msgbox SlateportCity_OceanicMuseum_1F_Text_20B3AB, 4 + giveitem_std ITEM_TM46 + compare VAR_RESULT, 0 + goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AFB5 + setflag FLAG_0x10D + msgbox SlateportCity_OceanicMuseum_1F_Text_20B449, 4 + closemessage + compare VAR_FACING, 2 + goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF6C + compare VAR_FACING, 1 + goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF83 + compare VAR_FACING, 3 + goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF93 + compare VAR_FACING, 4 + goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF93 + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AF6C:: @ 820AF6C + applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_20AFBF + applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_20AFCE + waitmovement 0 + goto SlateportCity_OceanicMuseum_1F_EventScript_20AFAA + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AF83:: @ 820AF83 + applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_20AFC7 + waitmovement 0 + goto SlateportCity_OceanicMuseum_1F_EventScript_20AFAA + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AF93:: @ 820AF93 + applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_20AFC4 + applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_20AFC7 + waitmovement 0 + goto SlateportCity_OceanicMuseum_1F_EventScript_20AFAA + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AFAA:: @ 820AFAA + setflag FLAG_0x3C5 + playse SE_KAIDAN + removeobject 13 + release + end + +SlateportCity_OceanicMuseum_1F_EventScript_20AFB5:: @ 820AFB5 + msgbox SlateportCity_OceanicMuseum_1F_Text_20B49B, 4 + release + end + +SlateportCity_OceanicMuseum_1F_Movement_20AFBF: @ 820AFBF + step_14 + step_13 + step_12 + step_25 + step_end + +SlateportCity_OceanicMuseum_1F_Movement_20AFC4: @ 820AFC4 + step_14 + step_25 + step_end + +SlateportCity_OceanicMuseum_1F_Movement_20AFC7: @ 820AFC7 + step_00 + step_15 + step_15 + step_15 + step_15 + step_13 + step_end + +SlateportCity_OceanicMuseum_1F_Movement_20AFCE: @ 820AFCE + step_18 + step_15 + step_15 + step_15 + step_15 + step_13 + step_end + +SlateportCity_OceanicMuseum_1F_Text_20AFD5: @ 820AFD5 + .string "Welcome to the OCEANIC MUSEUM.\p" + .string "The entrance fee is ¥50.\n" + .string "Would you like to enter?$" + +SlateportCity_OceanicMuseum_1F_Text_20B026: @ 820B026 + .string "Please enjoy yourself.$" + +SlateportCity_OceanicMuseum_1F_Text_20B03D: @ 820B03D + .string "Oh? I’m sorry, but you don’t seem to\n" + .string "have enough money.$" + +SlateportCity_OceanicMuseum_1F_Text_20B075: @ 820B075 + .string "Oh? You’re with that group that\n" + .string "went in earlier?\p" + .string "You’re the only one who’s late.\n" + .string "You’d better go catch up to them!$" + +SlateportCity_OceanicMuseum_1F_Text_20B0E8: @ 820B0E8 + .string "We, TEAM AQUA, exist for the good\n" + .string "of all!$" + +SlateportCity_OceanicMuseum_1F_Text_20B112: @ 820B112 + .string "We were told to assemble here,\n" + .string "so we did, but…\p" + .string "Our BOSS, the linchpin, isn’t here.$" + +SlateportCity_OceanicMuseum_1F_Text_20B165: @ 820B165 + .string "If I ripped off the stuff here,\n" + .string "would it make me rich?$" + +SlateportCity_OceanicMuseum_1F_Text_20B19C: @ 820B19C + .string "What I learn here, I can put to use on\n" + .string "nefarious deeds…$" + +SlateportCity_OceanicMuseum_1F_Text_20B1D4: @ 820B1D4 + .string "If our goons didn’t bungle things\n" + .string "in RUSTBORO, we wouldn’t be here!$" + +SlateportCity_OceanicMuseum_1F_Text_20B218: @ 820B218 + .string "I didn’t have ¥50, so it took a long\n" + .string "time getting by the receptionist.$" + +SlateportCity_OceanicMuseum_1F_Text_20B25F: @ 820B25F + .string "I want to learn about the sea and\n" + .string "use that knowledge for battling.$" + +SlateportCity_OceanicMuseum_1F_Text_20B2A2: @ 820B2A2 + .string "I get all giddy and gooey when\n" + .string "I see the sea!\p" + .string "For me, CAPT. STERN is the number\n" + .string "one role model!$" + +SlateportCity_OceanicMuseum_1F_Text_20B302: @ 820B302 + .string "The sea is vast without end, and\n" + .string "infinitely deep…\p" + .string "There must be many POKéMON that\n" + .string "we don’t know about.$" + +SlateportCity_OceanicMuseum_1F_Text_20B369: @ 820B369 + .string "I want a sea POKéMON.\p" + .string "I think it would feel cool and nice\n" + .string "to hug.$" + +SlateportCity_OceanicMuseum_1F_Text_20B3AB: @ 820B3AB + .string "Aiyeeeh!\n" + .string "What are you doing here?\p" + .string "Me? I’m the TEAM AQUA member\n" + .string "you thumped before, remember?\l" + .string "Back in RUSTURF TUNNEL?\p" + .string "Here, take this!\n" + .string "You have to forgive me!$" + +SlateportCity_OceanicMuseum_1F_Text_20B449: @ 820B449 + .string "That TM, it suits you more than it\n" + .string "does me.\p" + .string "Hope I never see you again!\n" + .string "Wahahaha!$" + +SlateportCity_OceanicMuseum_1F_Text_20B49B: @ 820B49B + .string "Awww, come on!\n" + .string "You have to take this and let me go!$" + +SlateportCity_OceanicMuseum_1F_Text_20B4CF: @ 820B4CF + .string "A blue fluid is spiraling inside\n" + .string "a glass vessel.\p" + .string "“This is an experiment to create a\n" + .string "WHIRLPOOL artificially using wind.”$" + +SlateportCity_OceanicMuseum_1F_Text_20B547: @ 820B547 + .string "A red ball is bobbing up and down\n" + .string "inside a glass vessel.\p" + .string "“This is an experiment simulating a\n" + .string "WATERFALL using the ball’s buoyancy.”$" + +SlateportCity_OceanicMuseum_1F_Text_20B5CA: @ 820B5CA + .string "It’s a sample of soil from the ocean\n" + .string "floor.\p" + .string "“Over many years, the remains of\n" + .string "life-forms settle at the bottom of\l" + .string "the sea, making sedimentary layers.\p" + .string "“By analyzing these layers, the\n" + .string "ancient past is revealed.”$" + +SlateportCity_OceanicMuseum_1F_Text_20B699: @ 820B699 + .string "It’s a sample of beach sand.\p" + .string "“Stones from mountains are washed\n" + .string "down by rivers where they are\l" + .string "chipped and ground down.\p" + .string "“They are reduced to grains and end\n" + .string "up as sand on beaches.”$" + +SlateportCity_OceanicMuseum_1F_Text_20B74B: @ 820B74B + .string "“OCEANIC MINIFACT 1\n" + .string "Why is seawater blue?\p" + .string "“Light is composed of many colors.\p" + .string "“When light passes through water,\n" + .string "most kinds of light lose color.\p" + .string "“However, blue light retains its\n" + .string "color, making the sea appear blue.”$" + +SlateportCity_OceanicMuseum_1F_Text_20B81F: @ 820B81F + .string "“OCEANIC MINIFACT 2\n" + .string "Why is the sea salty?\p" + .string "“Seawater contains dissolved salt in\n" + .string "the form of sodium and chlorine ions.\p" + .string "“These ions leech out of rocks\n" + .string "and are carried out to sea by rain.\p" + .string "“The concentration of dissolved salt\n" + .string "makes the sea salty.”$" + +SlateportCity_OceanicMuseum_1F_Text_20B912: @ 820B912 + .string "“OCEANIC MINIFACT 3\n" + .string "Which is bigger? The sea or land?\p" + .string "“The sea covers about 70% of\n" + .string "the planet, and the rest is land.\p" + .string "“The sea is therefore more than twice\n" + .string "the size of land.”$" + +SlateportCity_OceanicMuseum_1F_Text_20B9C0: @ 820B9C0 + .string "It’s a fossil with wavy ridges on it.\p" + .string "“Soil on the ocean floor gets scoured\n" + .string "by the tide.\p" + .string "“The flowing seawater marks the soil\n" + .string "with small ridges and valleys.\p" + .string "“If this soil becomes fossilized, it is\n" + .string "called a ripple mark.”$" + +SlateportCity_OceanicMuseum_1F_Text_20BA9C: @ 820BA9C + .string "A strange machine is rotating under\n" + .string "a glass dome.\p" + .string "Maybe it’s for measuring the depth\n" + .string "of something…$" + diff --git a/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc b/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc new file mode 100644 index 0000000000..a7a24757fc --- /dev/null +++ b/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc @@ -0,0 +1,441 @@ +SlateportCity_OceanicMuseum_2F_MapScripts:: @ 820BAFF + .byte 0 + +SlateportCity_OceanicMuseum_2F_EventScript_20BB00:: @ 820BB00 + lock + faceplayer + msgbox SlateportCity_OceanicMuseum_2F_Text_20BD8D, 4 + closemessage + playbgm MUS_AQA_0, 1 + addobject 3 + applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_20BCE4 + waitmovement 0 + addobject 4 + applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCF3 + waitmovement 0 + applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_20BCE8 + applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCF5 + waitmovement 0 + compare VAR_FACING, 1 + call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BC92 + compare VAR_FACING, 4 + call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BC92 + msgbox SlateportCity_OceanicMuseum_2F_Text_20BE40, 4 + compare VAR_FACING, 4 + call_if 5, SlateportCity_OceanicMuseum_2F_EventScript_20BC9D + msgbox SlateportCity_OceanicMuseum_2F_Text_20BE69, 4 + msgbox SlateportCity_OceanicMuseum_2F_Text_20BE93, 4 + closemessage + applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCE2 + waitmovement 0 + compare VAR_FACING, 1 + call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BCA8 + compare VAR_FACING, 3 + call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BCB3 + trainerbattle 3, TRAINER_GRUNT_14, 0, SlateportCity_OceanicMuseum_2F_Text_20BEE2 + msgbox SlateportCity_OceanicMuseum_2F_Text_20BEFA, 4 + closemessage + applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCEF + waitmovement 0 + applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_20BCE2 + waitmovement 0 + msgbox SlateportCity_OceanicMuseum_2F_Text_20BF35, 4 + trainerbattle 3, TRAINER_GRUNT_15, 0, SlateportCity_OceanicMuseum_2F_Text_20BF66 + applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_20BCEF + waitmovement 0 + applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_2725AA + applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_2725A6 + waitmovement 0 + msgbox SlateportCity_OceanicMuseum_2F_Text_20BF7A, 4 + closemessage + delay 35 + addobject 2 + applymovement 2, SlateportCity_OceanicMuseum_2F_Movement_20BCD8 + applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCFE + waitmovement 0 + msgbox SlateportCity_OceanicMuseum_2F_Text_20BFF2, 4 + closemessage + applymovement 2, SlateportCity_OceanicMuseum_2F_Movement_20BCD6 + waitmovement 0 + msgbox SlateportCity_OceanicMuseum_2F_Text_20C059, 4 + closemessage + savebgm MUS_DUMMY + fadedefaultbgm + fadescreen 1 + removeobject 2 + removeobject 3 + removeobject 4 + fadescreen 0 + delay 30 + setflag FLAG_0x373 + applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_2725A8 + waitmovement 0 + msgbox SlateportCity_OceanicMuseum_2F_Text_20C2BE, 4 + setvar VAR_0x8004, 269 + call SlateportCity_OceanicMuseum_2F_EventScript_2723E4 + msgbox SlateportCity_OceanicMuseum_2F_Text_20C36C, 4 + closemessage + fadescreen 1 + playfanfare MUS_ME_ASA + waitfanfare + special HealPlayerParty + removeobject 1 + setflag FLAG_0x384 + compare VAR_0x40DA, 0 + call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BC8C + setflag FLAG_0x095 + clearflag FLAG_0x3B3 + setflag FLAG_0x3B5 + setvar VAR_0x40D2, 1 + fadescreen 0 + release + end + +SlateportCity_OceanicMuseum_2F_EventScript_20BC8C:: @ 820BC8C + setvar VAR_0x40DA, 1 + return + +SlateportCity_OceanicMuseum_2F_EventScript_20BC92:: @ 820BC92 + applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_2725A4 + waitmovement 0 + return + +SlateportCity_OceanicMuseum_2F_EventScript_20BC9D:: @ 820BC9D + applymovement 1, SlateportCity_OceanicMuseum_2F_Movement_2725A4 + waitmovement 0 + return + +SlateportCity_OceanicMuseum_2F_EventScript_20BCA8:: @ 820BCA8 + applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_20BCBE + waitmovement 0 + return + +SlateportCity_OceanicMuseum_2F_EventScript_20BCB3:: @ 820BCB3 + applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_20BCC2 + waitmovement 0 + return + +SlateportCity_OceanicMuseum_2F_Movement_20BCBE: @ 820BCBE + step_left + step_down + step_27 + step_end + +SlateportCity_OceanicMuseum_2F_Movement_20BCC2: @ 820BCC2 + step_up + step_left + step_left + step_down + step_27 + step_end + +SlateportCity_OceanicMuseum_2F_Movement_20BCC8: @ 820BCC8 + step_up + step_left + step_left + step_left + step_left + step_left + step_up + step_up + step_left + step_left + step_up + step_up + step_13 + step_end + +SlateportCity_OceanicMuseum_2F_Movement_20BCD6: @ 820BCD6 + step_right + step_end + +SlateportCity_OceanicMuseum_2F_Movement_20BCD8: @ 820BCD8 + step_down + step_down + step_down + step_down + step_down + step_right + step_right + step_right + step_right + step_end + +SlateportCity_OceanicMuseum_2F_Movement_20BCE2: @ 820BCE2 + step_right + step_end + +SlateportCity_OceanicMuseum_2F_Movement_20BCE4: @ 820BCE4 + step_down + step_right + step_25 + step_end + +SlateportCity_OceanicMuseum_2F_Movement_20BCE8: @ 820BCE8 + step_down + step_down + step_down + step_right + step_right + step_right + step_end + +SlateportCity_OceanicMuseum_2F_Movement_20BCEF: @ 820BCEF + step_40 + step_left + step_41 + step_end + +SlateportCity_OceanicMuseum_2F_Movement_20BCF3: @ 820BCF3 + step_down + step_end + +SlateportCity_OceanicMuseum_2F_Movement_20BCF5: @ 820BCF5 + step_down + step_down + step_down + step_down + step_right + step_right + step_right + step_right + step_end + +SlateportCity_OceanicMuseum_2F_Movement_20BCFE: @ 820BCFE + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_13 + step_15 + step_26 + step_end + +SlateportCity_OceanicMuseum_2F_EventScript_20BD0A:: @ 820BD0A + msgbox SlateportCity_OceanicMuseum_2F_Text_20C4F9, 3 + end + +SlateportCity_OceanicMuseum_2F_EventScript_20BD13:: @ 820BD13 + msgbox SlateportCity_OceanicMuseum_2F_Text_20C566, 3 + end + +SlateportCity_OceanicMuseum_2F_EventScript_20BD1C:: @ 820BD1C + msgbox SlateportCity_OceanicMuseum_2F_Text_20C5C6, 3 + end + +SlateportCity_OceanicMuseum_2F_EventScript_20BD25:: @ 820BD25 + msgbox SlateportCity_OceanicMuseum_2F_Text_20C6C7, 3 + end + +SlateportCity_OceanicMuseum_2F_EventScript_20BD2E:: @ 820BD2E + msgbox SlateportCity_OceanicMuseum_2F_Text_20C72F, 3 + end + +SlateportCity_OceanicMuseum_2F_EventScript_20BD37:: @ 820BD37 + msgbox SlateportCity_OceanicMuseum_2F_Text_20C7C1, 3 + end + +SlateportCity_OceanicMuseum_2F_EventScript_20BD40:: @ 820BD40 + msgbox SlateportCity_OceanicMuseum_2F_Text_20C82F, 3 + end + +SlateportCity_OceanicMuseum_2F_EventScript_20BD49:: @ 820BD49 + msgbox SlateportCity_OceanicMuseum_2F_Text_20C88B, 3 + end + +SlateportCity_OceanicMuseum_2F_EventScript_20BD52:: @ 820BD52 + msgbox SlateportCity_OceanicMuseum_2F_Text_20C8E8, 3 + end + +SlateportCity_OceanicMuseum_2F_EventScript_20BD5B:: @ 820BD5B + msgbox SlateportCity_OceanicMuseum_2F_Text_20C93A, 3 + end + +SlateportCity_OceanicMuseum_2F_EventScript_20BD64:: @ 820BD64 + msgbox SlateportCity_OceanicMuseum_2F_Text_20C43F, 2 + end + +SlateportCity_OceanicMuseum_2F_EventScript_20BD6D:: @ 820BD6D + msgbox SlateportCity_OceanicMuseum_2F_Text_20C495, 2 + end + +SlateportCity_OceanicMuseum_2F_EventScript_20BD76:: @ 820BD76 + lock + faceplayer + msgbox SlateportCity_OceanicMuseum_2F_Text_20C4C2, 4 + closemessage + applymovement VAR_LAST_TALKED, SlateportCity_OceanicMuseum_2F_Movement_2725A2 + waitmovement 0 + release + end + +SlateportCity_OceanicMuseum_2F_Text_20BD8D: @ 820BD8D + .string "Yes? If you’re looking for STERN,\n" + .string "that would be me.\p" + .string "Ah! Those must be the parts I ordered\n" + .string "from MR. STONE of DEVON.\p" + .string "Thank you! That’s great!\n" + .string "We can prepare for our expedition now.$" + +SlateportCity_OceanicMuseum_2F_Text_20BE40: @ 820BE40 + .string "Hehehe, hold it!\n" + .string "We’ll take those parts!$" + +SlateportCity_OceanicMuseum_2F_Text_20BE69: @ 820BE69 + .string "CAPT. STERN: Wh-what?\n" + .string "Who are you people?$" + +SlateportCity_OceanicMuseum_2F_Text_20BE93: @ 820BE93 + .string "We’re TEAM AQUA!\p" + .string "Our BOSS wants those parts!\n" + .string "Shut your yap and fork them over!$" + +SlateportCity_OceanicMuseum_2F_Text_20BEE2: @ 820BEE2 + .string "Awaaaah!\n" + .string "A kid beat me!$" + +SlateportCity_OceanicMuseum_2F_Text_20BEFA: @ 820BEFA + .string "Oh, man, what a disaster…\n" + .string "The BOSS is going to be furious…$" + +SlateportCity_OceanicMuseum_2F_Text_20BF35: @ 820BF35 + .string "Humph, sniveling wimp!\n" + .string "Let me take care of this!$" + +SlateportCity_OceanicMuseum_2F_Text_20BF66: @ 820BF66 + .string "What?!\n" + .string "I lost, too!$" + +SlateportCity_OceanicMuseum_2F_Text_20BF7A: @ 820BF7A + .string "Now what? If we don’t get the parts,\n" + .string "we’re in for it!\p" + .string "Arrgh, I didn’t count on being meddled\n" + .string "with by some meddling kid!$" + +SlateportCity_OceanicMuseum_2F_Text_20BFF2: @ 820BFF2 + .string "I came to see what was taking so\n" + .string "long to snatch some parts, and you\l" + .string "simps are held up by a mere child?$" + +SlateportCity_OceanicMuseum_2F_Text_20C059: @ 820C059 + .string "We are TEAM AQUA,\n" + .string "and we love the sea!\p" + .string "And I am TEAM AQUA’s leader,\n" + .string "ARCHIE!\p" + .string "What makes you interfere with us?\p" + .string "…No! You can’t be!\n" + .string "You’re not one of TEAM MAGMA?\p" + .string "Wait, that can’t be right.\n" + .string "You’re not dressed for the part.\p" + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "POKéMON, people… All life depends on\n" + .string "the sea.\p" + .string "So, TEAM AQUA is dedicated to\n" + .string "the expansion of the sea.\p" + .string "Don’t you agree? What we are doing\n" + .string "is a magnificent undertaking.\p" + .string "Ah, fine…\n" + .string "You’re still too young to understand\l" + .string "our noble objective.\p" + .string "But, I warn you, don’t even consider\n" + .string "interfering with our plans again.\p" + .string "The consequences will cost you\n" + .string "dearly!\p" + .string "And don’t you forget it!$" + +SlateportCity_OceanicMuseum_2F_Text_20C2BE: @ 820C2BE + .string "CAPT. STERN: You’re…\n" + .string "Ah, okay, you’re {PLAYER}{KUN}…\p" + .string "Anyway, that was a tense situation!\n" + .string "Thank you for saving us!\p" + .string "Oh, yes, I almost forgot that you\n" + .string "even brought the parts from DEVON!$" + +SlateportCity_OceanicMuseum_2F_Text_20C36C: @ 820C36C + .string "CAPT. STERN: Whoops!\n" + .string "There’s no time to lose!\p" + .string "We have to set out on our ocean-floor\n" + .string "expedition really soon.\p" + .string "Thanks again, but now I’ve got\n" + .string "to go!\p" + .string "Feel free to wander around and check\n" + .string "out our facilities, though.$" + +SlateportCity_OceanicMuseum_2F_Text_20C43F: @ 820C43F + .string "I saw a model of a ship here.\p" + .string "It reminded me of the ABANDONED SHIP\n" + .string "near DEWFORD TOWN…$" + +SlateportCity_OceanicMuseum_2F_Text_20C495: @ 820C495 + .string "Don’t you dare run around inside\n" + .string "the MUSEUM!$" + +SlateportCity_OceanicMuseum_2F_Text_20C4C2: @ 820C4C2 + .string "Wow, the submarine’s awesome!\n" + .string "I want to go for a ride!$" + +SlateportCity_OceanicMuseum_2F_Text_20C4F9: @ 820C4F9 + .string "“WATER QUALITY SAMPLE 1,” the\n" + .string "label says.\p" + .string "The sea is all connected, but the\n" + .string "water seems to differ by region.$" + +SlateportCity_OceanicMuseum_2F_Text_20C566: @ 820C566 + .string "“WATER QUALITY SAMPLE 2,” the\n" + .string "label says.\p" + .string "Does the saltiness of seawater differ\n" + .string "by region, too?$" + +SlateportCity_OceanicMuseum_2F_Text_20C5C6: @ 820C5C6 + .string "A rubber ball is expanding and\n" + .string "shrinking.\p" + .string "“In the sea, the weight of water itself\n" + .string "exerts pressure.\p" + .string "“In shallow water, the pressure is not\n" + .string "very heavy.\p" + .string "“However, in extremely deep water,\n" + .string "the pressure can reach even tens of\l" + .string "thousands of tons on a small area.”$" + +SlateportCity_OceanicMuseum_2F_Text_20C6C7: @ 820C6C7 + .string "“MODEL OF HOENN REGION”\p" + .string "It’s a miniature diorama of the\n" + .string "HOENN region.\p" + .string "Where is LITTLEROOT TOWN on this?$" + +SlateportCity_OceanicMuseum_2F_Text_20C72F: @ 820C72F + .string "It’s a display on the flow of seawater.\p" + .string "“Near the bottom of the sea, water\n" + .string "flows due to differences in such\l" + .string "factors as temperature and salinity.”$" + +SlateportCity_OceanicMuseum_2F_Text_20C7C1: @ 820C7C1 + .string "It’s a display on the flow of seawater.\p" + .string "“Toward the surface, seawater flows\n" + .string "as currents driven by the winds.”$" + +SlateportCity_OceanicMuseum_2F_Text_20C82F: @ 820C82F + .string "“THE FERRY S.S. TIDAL\p" + .string "“A scale replica of the ship under\n" + .string "construction at STERN’S SHIPYARD.”$" + +SlateportCity_OceanicMuseum_2F_Text_20C88B: @ 820C88B + .string "“SUBMARINE EXPLORER 1\p" + .string "“A replica of the high-performance\n" + .string "ocean floor exploration submarine.”$" + +SlateportCity_OceanicMuseum_2F_Text_20C8E8: @ 820C8E8 + .string "“SUBMERSIBLE POD\p" + .string "“A replica of a compact, unmanned\n" + .string "pod for seafloor exploration.”$" + +SlateportCity_OceanicMuseum_2F_Text_20C93A: @ 820C93A + .string "“S.S. ANNE\p" + .string "“A replica of the luxury liner that\n" + .string "circles the globe.”$" + diff --git a/data/scripts/maps/SlateportCity_PokemonCenter_1F.inc b/data/scripts/maps/SlateportCity_PokemonCenter_1F.inc new file mode 100644 index 0000000000..404804c572 --- /dev/null +++ b/data/scripts/maps/SlateportCity_PokemonCenter_1F.inc @@ -0,0 +1,40 @@ +SlateportCity_PokemonCenter_1F_MapScripts:: @ 820DABF + map_script 3, SlateportCity_PokemonCenter_1F_MapScript1_20DACA + map_script 5, SlateportCity_PokemonCenter_1F_MapScript1_277C30 + .byte 0 + +SlateportCity_PokemonCenter_1F_MapScript1_20DACA: @ 820DACA + setrespawn 4 + call SlateportCity_PokemonCenter_1F_EventScript_2718DE + end + +SlateportCity_PokemonCenter_1F_EventScript_20DAD3:: @ 820DAD3 + setvar VAR_0x800B, 1 + call SlateportCity_PokemonCenter_1F_EventScript_27191E + waitmessage + waitbuttonpress + release + end + +SlateportCity_PokemonCenter_1F_EventScript_20DAE1:: @ 820DAE1 + msgbox SlateportCity_PokemonCenter_1F_Text_20DAF3, 2 + end + +SlateportCity_PokemonCenter_1F_EventScript_20DAEA:: @ 820DAEA + msgbox SlateportCity_PokemonCenter_1F_Text_20DBBC, 2 + end + +SlateportCity_PokemonCenter_1F_Text_20DAF3: @ 820DAF3 + .string "Want a tip for battling?\p" + .string "I’d say it’s raising different kinds\n" + .string "of POKéMON in a balanced manner.\p" + .string "It’s no good to make just one\n" + .string "POKéMON strong.\p" + .string "If it has a type disadvantage,\n" + .string "it might not stand a chance.$" + +SlateportCity_PokemonCenter_1F_Text_20DBBC: @ 820DBBC + .string "I trade POKéMON with my friends.\p" + .string "If a traded POKéMON is holding an\n" + .string "item, it makes me twice as happy!$" + diff --git a/data/scripts/maps/SlateportCity_PokemonCenter_2F.inc b/data/scripts/maps/SlateportCity_PokemonCenter_2F.inc new file mode 100644 index 0000000000..3138f20d65 --- /dev/null +++ b/data/scripts/maps/SlateportCity_PokemonCenter_2F.inc @@ -0,0 +1,19 @@ +SlateportCity_PokemonCenter_2F_MapScripts:: @ 820DC21 + map_script 2, SlateportCity_PokemonCenter_2F_MapScript2_276C3B + map_script 4, SlateportCity_PokemonCenter_2F_MapScript2_276B6C + map_script 1, SlateportCity_PokemonCenter_2F_MapScript1_276BBE + map_script 3, SlateportCity_PokemonCenter_2F_MapScript1_276ACF + .byte 0 + +SlateportCity_PokemonCenter_2F_EventScript_20DC36:: @ 820DC36 + call OldaleTown_PokemonCenter_2F_EventScript_276EB7 + end + +SlateportCity_PokemonCenter_2F_EventScript_20DC3C:: @ 820DC3C + call OldaleTown_PokemonCenter_2F_EventScript_2770B2 + end + +SlateportCity_PokemonCenter_2F_EventScript_20DC42:: @ 820DC42 + call OldaleTown_PokemonCenter_2F_EventScript_2771DB + end + diff --git a/data/scripts/maps/SlateportCity_PokemonFanClub.inc b/data/scripts/maps/SlateportCity_PokemonFanClub.inc new file mode 100644 index 0000000000..1928700032 --- /dev/null +++ b/data/scripts/maps/SlateportCity_PokemonFanClub.inc @@ -0,0 +1,428 @@ +SlateportCity_PokemonFanClub_MapScripts:: @ 8209E95 + .byte 0 + +SlateportCity_PokemonFanClub_EventScript_209E96:: @ 8209E96 + lock + faceplayer + checkflag FLAG_0x155 + goto_if 0, SlateportCity_PokemonFanClub_EventScript_20A152 + checkflag FLAG_0x156 + call_if 0, SlateportCity_PokemonFanClub_EventScript_20A172 + switch VAR_0x40B7 + case 0, SlateportCity_PokemonFanClub_EventScript_209ED2 + case 1, SlateportCity_PokemonFanClub_EventScript_209EE5 + case 2, SlateportCity_PokemonFanClub_EventScript_209F3B + release + end + +SlateportCity_PokemonFanClub_EventScript_209ED2:: @ 8209ED2 + setvar VAR_0x40B7, 1 + msgbox SlateportCity_PokemonFanClub_Text_20A445, 4 + goto SlateportCity_PokemonFanClub_EventScript_209F45 + end + +SlateportCity_PokemonFanClub_EventScript_209EE5:: @ 8209EE5 + setvar VAR_0x4002, 0 + checkflag FLAG_0x0CC + call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0 + checkflag FLAG_0x0CB + call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0 + checkflag FLAG_0x0CA + call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0 + checkflag FLAG_0x0C9 + call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0 + checkflag FLAG_0x0C8 + call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0 + compare VAR_0x4002, 5 + call_if 1, SlateportCity_PokemonFanClub_EventScript_209FCA + compare VAR_0x40B7, 2 + goto_eq SlateportCity_PokemonFanClub_EventScript_209F3B + msgbox SlateportCity_PokemonFanClub_Text_20A62A, 4 + goto SlateportCity_PokemonFanClub_EventScript_209F45 + end + +SlateportCity_PokemonFanClub_EventScript_209F3B:: @ 8209F3B + msgbox SlateportCity_PokemonFanClub_Text_20A9E1, 4 + release + end + +SlateportCity_PokemonFanClub_EventScript_209F45:: @ 8209F45 + msgbox SlateportCity_PokemonFanClub_Text_20A65F, 4 + setvar VAR_0x4001, 0 + checkflag FLAG_0x0CC + call_if 0, SlateportCity_PokemonFanClub_EventScript_20A13B + checkflag FLAG_0x0CB + call_if 0, SlateportCity_PokemonFanClub_EventScript_20A124 + checkflag FLAG_0x0CA + call_if 0, SlateportCity_PokemonFanClub_EventScript_20A10D + checkflag FLAG_0x0C9 + call_if 0, SlateportCity_PokemonFanClub_EventScript_20A0F6 + checkflag FLAG_0x0C8 + call_if 0, SlateportCity_PokemonFanClub_EventScript_20A0DF + bufferleadmonspeciesname 0 + switch VAR_0x4001 + case 0, SlateportCity_PokemonFanClub_EventScript_209FD6 + case 1, SlateportCity_PokemonFanClub_EventScript_209FE0 + case 2, SlateportCity_PokemonFanClub_EventScript_20A011 + case 3, SlateportCity_PokemonFanClub_EventScript_20A042 + case 4, SlateportCity_PokemonFanClub_EventScript_20A073 + case 5, SlateportCity_PokemonFanClub_EventScript_20A0A4 + release + end + +SlateportCity_PokemonFanClub_EventScript_209FCA:: @ 8209FCA + setvar VAR_0x40B7, 2 + return + +SlateportCity_PokemonFanClub_EventScript_209FD0:: @ 8209FD0 + addvar VAR_0x4002, 1 + return + +SlateportCity_PokemonFanClub_EventScript_209FD6:: @ 8209FD6 + msgbox SlateportCity_PokemonFanClub_Text_20A66E, 4 + release + end + +SlateportCity_PokemonFanClub_EventScript_209FE0:: @ 8209FE0 + checkitemspace ITEM_RED_SCARF, 1 + compare VAR_RESULT, 0 + goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 + msgbox SlateportCity_PokemonFanClub_Text_20A795, 4 + setflag FLAG_0x0C8 + giveitem_std ITEM_RED_SCARF + msgbox SlateportCity_PokemonFanClub_Text_20A827, 4 + release + end + +SlateportCity_PokemonFanClub_EventScript_20A011:: @ 820A011 + checkitemspace ITEM_BLUE_SCARF, 1 + compare VAR_RESULT, 0 + goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 + msgbox SlateportCity_PokemonFanClub_Text_20A795, 4 + setflag FLAG_0x0C9 + giveitem_std ITEM_BLUE_SCARF + msgbox SlateportCity_PokemonFanClub_Text_20A880, 4 + release + end + +SlateportCity_PokemonFanClub_EventScript_20A042:: @ 820A042 + checkitemspace ITEM_PINK_SCARF, 1 + compare VAR_RESULT, 0 + goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 + msgbox SlateportCity_PokemonFanClub_Text_20A795, 4 + setflag FLAG_0x0CA + giveitem_std ITEM_PINK_SCARF + msgbox SlateportCity_PokemonFanClub_Text_20A8D7, 4 + release + end + +SlateportCity_PokemonFanClub_EventScript_20A073:: @ 820A073 + checkitemspace ITEM_GREEN_SCARF, 1 + compare VAR_RESULT, 0 + goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 + msgbox SlateportCity_PokemonFanClub_Text_20A795, 4 + setflag FLAG_0x0CB + giveitem_std ITEM_GREEN_SCARF + msgbox SlateportCity_PokemonFanClub_Text_20A933, 4 + release + end + +SlateportCity_PokemonFanClub_EventScript_20A0A4:: @ 820A0A4 + checkitemspace ITEM_YELLOW_SCARF, 1 + compare VAR_RESULT, 0 + goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5 + msgbox SlateportCity_PokemonFanClub_Text_20A795, 4 + setflag FLAG_0x0CC + giveitem_std ITEM_YELLOW_SCARF + msgbox SlateportCity_PokemonFanClub_Text_20A984, 4 + release + end + +SlateportCity_PokemonFanClub_EventScript_20A0D5:: @ 820A0D5 + msgbox SlateportCity_PokemonFanClub_Text_20A719, 4 + release + end + +SlateportCity_PokemonFanClub_EventScript_20A0DF:: @ 820A0DF + specialvar VAR_RESULT, CheckLeadMonCool + compare VAR_RESULT, 1 + call_if 1, SlateportCity_PokemonFanClub_EventScript_20A0F0 + return + +SlateportCity_PokemonFanClub_EventScript_20A0F0:: @ 820A0F0 + setvar VAR_0x4001, 1 + return + +SlateportCity_PokemonFanClub_EventScript_20A0F6:: @ 820A0F6 + specialvar VAR_RESULT, CheckLeadMonBeauty + compare VAR_RESULT, 1 + call_if 1, SlateportCity_PokemonFanClub_EventScript_20A107 + return + +SlateportCity_PokemonFanClub_EventScript_20A107:: @ 820A107 + setvar VAR_0x4001, 2 + return + +SlateportCity_PokemonFanClub_EventScript_20A10D:: @ 820A10D + specialvar VAR_RESULT, CheckLeadMonCute + compare VAR_RESULT, 1 + call_if 1, SlateportCity_PokemonFanClub_EventScript_20A11E + return + +SlateportCity_PokemonFanClub_EventScript_20A11E:: @ 820A11E + setvar VAR_0x4001, 3 + return + +SlateportCity_PokemonFanClub_EventScript_20A124:: @ 820A124 + specialvar VAR_RESULT, CheckLeadMonSmart + compare VAR_RESULT, 1 + call_if 1, SlateportCity_PokemonFanClub_EventScript_20A135 + return + +SlateportCity_PokemonFanClub_EventScript_20A135:: @ 820A135 + setvar VAR_0x4001, 4 + return + +SlateportCity_PokemonFanClub_EventScript_20A13B:: @ 820A13B + specialvar VAR_RESULT, CheckLeadMonTough + compare VAR_RESULT, 1 + call_if 1, SlateportCity_PokemonFanClub_EventScript_20A14C + return + +SlateportCity_PokemonFanClub_EventScript_20A14C:: @ 820A14C + setvar VAR_0x4001, 5 + return + +SlateportCity_PokemonFanClub_EventScript_20A152:: @ 820A152 + checkflag FLAG_0x156 + goto_eq SlateportCity_PokemonFanClub_EventScript_20A168 + msgbox SlateportCity_PokemonFanClub_Text_20A233, 4 + setflag FLAG_0x156 + release + end + +SlateportCity_PokemonFanClub_EventScript_20A168:: @ 820A168 + msgbox SlateportCity_PokemonFanClub_Text_20A3EE, 4 + release + end + +SlateportCity_PokemonFanClub_EventScript_20A172:: @ 820A172 + msgbox SlateportCity_PokemonFanClub_Text_20A233, 4 + setflag FLAG_0x156 + return + +SlateportCity_PokemonFanClub_EventScript_20A17E:: @ 820A17E + lock + faceplayer + checkflag FLAG_0x116 + goto_eq SlateportCity_PokemonFanClub_EventScript_20A1DE + msgbox SlateportCity_PokemonFanClub_Text_20AA77, 4 + specialvar VAR_RESULT, GetLeadMonFriendshipScore + compare VAR_RESULT, 4 + goto_if 4, SlateportCity_PokemonFanClub_EventScript_20A1A3 + release + end + +SlateportCity_PokemonFanClub_EventScript_20A1A3:: @ 820A1A3 + playse SE_PIN + applymovement VAR_LAST_TALKED, SlateportCity_PokemonFanClub_Movement_272598 + waitmovement 0 + applymovement VAR_LAST_TALKED, SlateportCity_PokemonFanClub_Movement_27259A + waitmovement 0 + msgbox SlateportCity_PokemonFanClub_Text_20AB63, 4 + giveitem_std ITEM_SOOTHE_BELL + compare VAR_RESULT, 0 + goto_eq SlateportCity_PokemonFanClub_EventScript_272054 + setflag FLAG_0x116 + release + end + +SlateportCity_PokemonFanClub_EventScript_20A1DE:: @ 820A1DE + msgbox SlateportCity_PokemonFanClub_Text_20ABC4, 4 + release + end + +SlateportCity_PokemonFanClub_EventScript_20A1E8:: @ 820A1E8 + msgbox SlateportCity_PokemonFanClub_Text_20AC47, 2 + end + +SlateportCity_PokemonFanClub_EventScript_20A1F1:: @ 820A1F1 + msgbox SlateportCity_PokemonFanClub_Text_20ACF9, 2 + end + +SlateportCity_PokemonFanClub_EventScript_20A1FA:: @ 820A1FA + lock + faceplayer + waitse + playmoncry SPECIES_SKITTY, 0 + msgbox SlateportCity_PokemonFanClub_Text_20AD5A, 4 + waitmoncry + release + end + +SlateportCity_PokemonFanClub_EventScript_20A20D:: @ 820A20D + lock + faceplayer + waitse + playmoncry SPECIES_ZIGZAGOON, 0 + msgbox SlateportCity_PokemonFanClub_Text_20AD6E, 4 + waitmoncry + release + end + +SlateportCity_PokemonFanClub_EventScript_20A220:: @ 820A220 + lock + faceplayer + waitse + playmoncry SPECIES_AZUMARILL, 0 + msgbox SlateportCity_PokemonFanClub_Text_20AD80, 4 + waitmoncry + release + end + +SlateportCity_PokemonFanClub_Text_20A233: @ 820A233 + .string "Er-hem! I am the CHAIRMAN of the\n" + .string "POKéMON FAN CLUB!\p" + .string "Being the CHAIRMAN, I am naturally\n" + .string "the most important!\p" + .string "No one can best me when it comes\n" + .string "to raising POKéMON. No one!\p" + .string "Well, let me tell you about\n" + .string "POKéMON CONTESTS.\p" + .string "They’re events where one can show off\n" + .string "POKéMON for the world to see!\p" + .string "However, they’re held in far-off towns,\n" + .string "so I cannot participate often enough.\p" + .string "That is why we gather here to show\n" + .string "off our POKéMON, and have others\l" + .string "show us theirs.$" + +SlateportCity_PokemonFanClub_Text_20A3EE: @ 820A3EE + .string "The POKéMON of a TRAINER who has\n" + .string "entered a POKéMON CONTEST…\l" + .string "That, I would like to see.$" + +SlateportCity_PokemonFanClub_Text_20A445: @ 820A445 + .string "Er-hem! I see you’ve participated in\n" + .string "a POKéMON CONTEST!\p" + .string "Please! Allow me to examine how you\n" + .string "have raised your POKéMON.\p" + .string "It delights me no end to see POKéMON\n" + .string "raised by other TRAINERS.\p" + .string "The happy expressions of POKéMON\n" + .string "raised with proper care…\p" + .string "The kindly eyes of the TRAINER that\n" + .string "nurtured and raised the POKéMON…\p" + .string "The very thought fills my heart to\n" + .string "overwhelming with joy.\p" + .string "Oh! I do beg your pardon!\n" + .string "Forgive me for prattling on so!\p" + .string "Please! Allow me to examine how much\n" + .string "your POKéMON has grown!$" + +SlateportCity_PokemonFanClub_Text_20A62A: @ 820A62A + .string "How is your POKéMON growing?\n" + .string "Allow me to examine it.$" + +SlateportCity_PokemonFanClub_Text_20A65F: @ 820A65F + .string "Hm, hm…\n" + .string "I see…$" + +SlateportCity_PokemonFanClub_Text_20A66E: @ 820A66E + .string "Hmmm… It’s not bad, but it’s not\n" + .string "good, either…\p" + .string "You, the TRAINER, must put more\n" + .string "effort into raising this POKéMON!\p" + .string "For instance, may I suggest that\n" + .string "you give it more {POKEBLOCK}S?$" + +SlateportCity_PokemonFanClub_Text_20A719: @ 820A719 + .string "Oh, my…\p" + .string "Your POKéMON is growing quite well,\n" + .string "so you deserve a reward.\p" + .string "Unfortunately, you have no space for\n" + .string "this in your BAG.$" + +SlateportCity_PokemonFanClub_Text_20A795: @ 820A795 + .string "Your {STR_VAR_1}, it is growing in\n" + .string "a most impressive manner!\l" + .string "It is one fine specimen!\p" + .string "But! If you were to give it this,\n" + .string "it would grow even better! Indeed!$" + +SlateportCity_PokemonFanClub_Text_20A827: @ 820A827 + .string "Let a POKéMON hold that RED SCARF.\p" + .string "Everyone will recognize the coolness\n" + .string "of that POKéMON!$" + +SlateportCity_PokemonFanClub_Text_20A880: @ 820A880 + .string "Let a POKéMON hold that BLUE SCARF.\p" + .string "Its beauty will be accentuated much\n" + .string "more than now!$" + +SlateportCity_PokemonFanClub_Text_20A8D7: @ 820A8D7 + .string "Let a POKéMON hold that PINK SCARF.\p" + .string "It will draw out the cuteness of\n" + .string "the POKéMON some more!$" + +SlateportCity_PokemonFanClub_Text_20A933: @ 820A933 + .string "Let a POKéMON hold that GREEN SCARF.\p" + .string "That will enhance the\n" + .string "smartness of POKéMON!$" + +SlateportCity_PokemonFanClub_Text_20A984: @ 820A984 + .string "Let a POKéMON hold that YELLOW SCARF.\p" + .string "It will bolster your POKéMON’s\n" + .string "toughness so much more!$" + +SlateportCity_PokemonFanClub_Text_20A9E1: @ 820A9E1 + .string "I’m sorry, but I’ve nothing else to\n" + .string "give you! None at all!\p" + .string "After all, you’re blessed with the gift\n" + .string "of raising POKéMON without resorting\l" + .string "to any items!$" + +SlateportCity_PokemonFanClub_Text_20AA77: @ 820AA77 + .string "I love seeing POKéMON that love\n" + .string "their TRAINERS.\p" + .string "POKéMON are very sensitive to\n" + .string "the feelings of their TRAINERS.\p" + .string "If you treat your POKéMON with love\n" + .string "and care, they’ll love you back.\p" + .string "When your POKéMON grow to love you,\n" + .string "please come show me.$" + +SlateportCity_PokemonFanClub_Text_20AB63: @ 820AB63 + .string "Your POKéMON really adores you.\p" + .string "For you, a most compassionate\n" + .string "TRAINER, a gift from the FAN CLUB!$" + +SlateportCity_PokemonFanClub_Text_20ABC4: @ 820ABC4 + .string "POKéMON are very sensitive to\n" + .string "the feelings of their TRAINERS.\p" + .string "If you treat your POKéMON with love\n" + .string "and care, they’ll love you back.$" + +SlateportCity_PokemonFanClub_Text_20AC47: @ 820AC47 + .string "If you keep letting a POKéMON faint\n" + .string "in battle, it’ll come to resent it.\p" + .string "Soon, it will become less trusting\n" + .string "of the TRAINER.\p" + .string "In other words, it certainly won’t\n" + .string "like you very much.$" + +SlateportCity_PokemonFanClub_Text_20ACF9: @ 820ACF9 + .string "Do POKéMON enjoy having items used\n" + .string "on them?\p" + .string "Mine acted really happy when I gave\n" + .string "it some PROTEIN.$" + +SlateportCity_PokemonFanClub_Text_20AD5A: @ 820AD5A + .string "SKITTY: Fffnyaaaah…$" + +SlateportCity_PokemonFanClub_Text_20AD6E: @ 820AD6E + .string "ZIGZAGOON: Kyuuu…$" + +SlateportCity_PokemonFanClub_Text_20AD80: @ 820AD80 + .string "AZUMARILL: Marimari?$" + diff --git a/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc b/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc new file mode 100644 index 0000000000..8197eb8738 --- /dev/null +++ b/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc @@ -0,0 +1,145 @@ +SlateportCity_SternsShipyard_1F_MapScripts:: @ 8207F3F + .byte 0 + +SlateportCity_SternsShipyard_1F_EventScript_207F40:: @ 8207F40 + lockall + checkflag FLAG_SYS_GAME_CLEAR + goto_eq SlateportCity_SternsShipyard_1F_EventScript_207F92 + checkflag FLAG_BADGE07_GET + goto_eq SlateportCity_SternsShipyard_1F_EventScript_207FA6 + checkflag FLAG_0x095 + goto_eq SlateportCity_SternsShipyard_1F_EventScript_207FD9 + checkflag FLAG_0x094 + goto_eq SlateportCity_SternsShipyard_1F_EventScript_207FBA + msgbox SlateportCity_SternsShipyard_1F_Text_208008, 4 + applymovement 1, SlateportCity_SternsShipyard_1F_Movement_27259E + waitmovement 0 + msgbox SlateportCity_SternsShipyard_1F_Text_2080A5, 4 + closemessage + applymovement 1, SlateportCity_SternsShipyard_1F_Movement_2725A2 + waitmovement 0 + setflag FLAG_0x094 + setflag FLAG_0x372 + releaseall + end + +SlateportCity_SternsShipyard_1F_EventScript_207F92:: @ 8207F92 + applymovement 1, SlateportCity_SternsShipyard_1F_Movement_27259E + waitmovement 0 + msgbox SlateportCity_SternsShipyard_1F_Text_208323, 4 + releaseall + end + +SlateportCity_SternsShipyard_1F_EventScript_207FA6:: @ 8207FA6 + applymovement 1, SlateportCity_SternsShipyard_1F_Movement_27259E + waitmovement 0 + msgbox SlateportCity_SternsShipyard_1F_Text_2082A8, 4 + releaseall + end + +SlateportCity_SternsShipyard_1F_EventScript_207FBA:: @ 8207FBA + applymovement 1, SlateportCity_SternsShipyard_1F_Movement_27259E + waitmovement 0 + msgbox SlateportCity_SternsShipyard_1F_Text_2081A5, 4 + closemessage + applymovement 1, SlateportCity_SternsShipyard_1F_Movement_2725A2 + waitmovement 0 + releaseall + end + +SlateportCity_SternsShipyard_1F_EventScript_207FD9:: @ 8207FD9 + applymovement 1, SlateportCity_SternsShipyard_1F_Movement_27259E + waitmovement 0 + msgbox SlateportCity_SternsShipyard_1F_Text_208213, 4 + releaseall + end + +SlateportCity_SternsShipyard_1F_EventScript_207FED:: @ 8207FED + msgbox SlateportCity_SternsShipyard_1F_Text_208558, 2 + end + +SlateportCity_SternsShipyard_1F_EventScript_207FF6:: @ 8207FF6 + msgbox SlateportCity_SternsShipyard_1F_Text_2085FF, 2 + end + +SlateportCity_SternsShipyard_1F_EventScript_207FFF:: @ 8207FFF + msgbox SlateportCity_SternsShipyard_1F_Text_2083EE, 2 + end + +SlateportCity_SternsShipyard_1F_Text_208008: @ 8208008 + .string "Umm… If this goes here, and that\n" + .string "goes over there…\p" + .string "Then where does this thing go?\n" + .string "And what about that doohickey?\p" + .string "Aaargh! I can’t make heads or tails\n" + .string "of this!$" + +SlateportCity_SternsShipyard_1F_Text_2080A5: @ 82080A5 + .string "Hm?\n" + .string "Hi, I’m DOCK.\p" + .string "CAPT. STERN commissioned me to\n" + .string "design a ferry.\p" + .string "Oh! That there…\n" + .string "Are they DEVON GOODS?\p" + .string "But, hmm…\n" + .string "This won’t do…\p" + .string "CAPT. STERN went off somewhere.\n" + .string "He said he had some work to do.\p" + .string "Could I get you to go find CAPT.\n" + .string "STERN and deliver that to him?$" + +SlateportCity_SternsShipyard_1F_Text_2081A5: @ 82081A5 + .string "DOCK: Where could CAPT. STERN have\n" + .string "gone off to?\p" + .string "Could you go find CAPT. STERN and\n" + .string "deliver that parcel to him?$" + +SlateportCity_SternsShipyard_1F_Text_208213: @ 8208213 + .string "DOCK: Shipbuilding is an art.\p" + .string "A lot of things can’t be figured out\n" + .string "just by calculating.\p" + .string "I really could use advice from a veteran\n" + .string "who knows the seas…$" + +SlateportCity_SternsShipyard_1F_Text_2082A8: @ 82082A8 + .string "DOCK: Hi! MR. BRINEY’s joined us to\n" + .string "lend us his help.\p" + .string "Thanks to the veteran sailor, the\n" + .string "ferry is steadily coming together.$" + +SlateportCity_SternsShipyard_1F_Text_208323: @ 8208323 + .string "DOCK: The ferry is finally ready!\p" + .string "The new S.S. TIDAL is truly a marvel\n" + .string "of technology!\p" + .string "But, I get the feeling that we can\n" + .string "make something even better.\p" + .string "You know, there’s never an end to\n" + .string "technology’s march.$" + +SlateportCity_SternsShipyard_1F_Text_2083EE: @ 82083EE + .string "MR. BRINEY: Ah, {PLAYER}{KUN}!\n" + .string "It’s been too long!\p" + .string "Aye, since I met you, this old sea dog’s\n" + .string "been feeling frisky!\p" + .string "So I’ve decided to help DOCK make\n" + .string "a ferry.\p" + .string "Aye, after all, a ferry would be able\n" + .string "to carry a lot of people.\p" + .string "But, you know, that DOCK is really\n" + .string "something special.\p" + .string "With his knack for technology and\n" + .string "my experience, I’m sure that we can\l" + .string "build one great ship, aye!$" + +SlateportCity_SternsShipyard_1F_Text_208558: @ 8208558 + .string "The seasons, the weather, where\n" + .string "the moon sits in the sky…\p" + .string "These and other conditions make\n" + .string "the sea change its expression.\p" + .string "That’s right!\n" + .string "The sea is like a living thing!$" + +SlateportCity_SternsShipyard_1F_Text_2085FF: @ 82085FF + .string "I get seasick real easily.\n" + .string "So I get to help out here instead.$" + diff --git a/data/scripts/maps/SlateportCity_SternsShipyard_2F.inc b/data/scripts/maps/SlateportCity_SternsShipyard_2F.inc new file mode 100644 index 0000000000..a599ac9b86 --- /dev/null +++ b/data/scripts/maps/SlateportCity_SternsShipyard_2F.inc @@ -0,0 +1,22 @@ +SlateportCity_SternsShipyard_2F_MapScripts:: @ 820863D + .byte 0 + +SlateportCity_SternsShipyard_2F_EventScript_20863E:: @ 820863E + msgbox SlateportCity_SternsShipyard_2F_Text_208650, 2 + end + +SlateportCity_SternsShipyard_2F_EventScript_208647:: @ 8208647 + msgbox SlateportCity_SternsShipyard_2F_Text_2086BA, 2 + end + +SlateportCity_SternsShipyard_2F_Text_208650: @ 8208650 + .string "Designing a large ship is more like\n" + .string "making a big building than putting\l" + .string "together a transportation vehicle.$" + +SlateportCity_SternsShipyard_2F_Text_2086BA: @ 82086BA + .string "Don’t you think it’s strange that\n" + .string "a ship made of heavy iron floats?\p" + .string "It floats because of a principle\n" + .string "called buoyancy.$" + diff --git a/data/scripts/maps/SootopolisCity.inc b/data/scripts/maps/SootopolisCity.inc new file mode 100644 index 0000000000..793b6f4fdb --- /dev/null +++ b/data/scripts/maps/SootopolisCity.inc @@ -0,0 +1,1784 @@ +SootopolisCity_MapScripts:: @ 81E565C + map_script 1, SootopolisCity_MapScript1_1E5676 + map_script 3, SootopolisCity_MapScript1_1E56EF + map_script 5, SootopolisCity_MapScript1_1E590B + map_script 2, SootopolisCity_MapScript2_1E5914 + map_script 4, SootopolisCity_MapScript2_1E58DB + .byte 0 + +SootopolisCity_MapScript1_1E5676: @ 81E5676 + checkflag FLAG_0x09E + call_if 0, SootopolisCity_EventScript_1E56E5 + checkflag FLAG_0x081 + goto_if 0, SootopolisCity_EventScript_1E5692 + checkflag FLAG_0x09E + call_if 0, SootopolisCity_EventScript_1E5693 + end + +SootopolisCity_EventScript_1E5692:: @ 81E5692 + end + +SootopolisCity_EventScript_1E5693:: @ 81E5693 + setmetatile 9, 6, 584, 1 + setmetatile 9, 17, 584, 1 + setmetatile 9, 26, 584, 1 + setmetatile 44, 17, 584, 1 + setmetatile 8, 35, 584, 1 + setmetatile 53, 28, 584, 1 + setmetatile 45, 6, 584, 1 + setmetatile 48, 25, 584, 1 + setmetatile 51, 36, 584, 1 + return + +SootopolisCity_EventScript_1E56E5:: @ 81E56E5 + setmetatile 31, 32, 592, 1 + return + +SootopolisCity_MapScript1_1E56EF: @ 81E56EF + setflag FLAG_VISITED_SOOTOPOLIS_CITY + compare VAR_0x405E, 1 + call_if 1, SootopolisCity_EventScript_1E5781 + compare VAR_0x40CA, 1 + call_if 1, SootopolisCity_EventScript_1E5781 + call SootopolisCity_EventScript_1E5805 + call SootopolisCity_EventScript_1E57B2 + compare VAR_0x405E, 1 + call_if 1, SootopolisCity_EventScript_1E5785 + compare VAR_0x405E, 2 + call_if 1, SootopolisCity_EventScript_1E5785 + compare VAR_0x405E, 3 + call_if 1, SootopolisCity_EventScript_1E5785 + compare VAR_0x405E, 4 + call_if 1, SootopolisCity_EventScript_1E5785 + compare VAR_0x405E, 5 + call_if 1, SootopolisCity_EventScript_1E5785 + compare VAR_0x405E, 2 + call_if 1, SootopolisCity_EventScript_1E5842 + compare VAR_0x405E, 3 + call_if 1, SootopolisCity_EventScript_1E5842 + compare VAR_0x405E, 4 + call_if 1, SootopolisCity_EventScript_1E585B + compare VAR_0x405E, 5 + call_if 1, SootopolisCity_EventScript_1E5871 + compare VAR_0x405E, 6 + call_if 1, SootopolisCity_EventScript_1E58D3 + end + +SootopolisCity_EventScript_1E5781:: @ 81E5781 + setflag FLAG_SPECIAL_FLAG_0x4000 + return + +SootopolisCity_EventScript_1E5785:: @ 81E5785 + setobjectxyperm 3, 13, 48 + setobjectxyperm 5, 46, 32 + setobjectxyperm 4, 48, 41 + setobjectxyperm 8, 45, 43 + setobjectmovementtype 3, 7 + setobjectmovementtype 5, 9 + setobjectmovementtype 4, 9 + setobjectmovementtype 8, 9 + return + +SootopolisCity_EventScript_1E57B2:: @ 81E57B2 + compare VAR_0x405E, 0 + goto_eq SootopolisCity_EventScript_1E5800 + compare VAR_0x405E, 6 + goto_if 4, SootopolisCity_EventScript_1E5800 + compare VAR_0x405E, 1 + goto_eq SootopolisCity_EventScript_1E5801 + compare VAR_0x405E, 2 + goto_eq SootopolisCity_EventScript_1E5801 + compare VAR_0x405E, 3 + goto_eq SootopolisCity_EventScript_1E5801 + compare VAR_0x405E, 4 + goto_eq SootopolisCity_EventScript_1E5801 + compare VAR_0x40CA, 1 + goto_if 3, SootopolisCity_EventScript_1E5801 + return + +SootopolisCity_EventScript_1E5800:: @ 81E5800 + return + +SootopolisCity_EventScript_1E5801:: @ 81E5801 + setmaplayoutindex 357 + return + +SootopolisCity_EventScript_1E5805:: @ 81E5805 + compare VAR_0x405E, 0 + goto_eq SootopolisCity_EventScript_1E583D + compare VAR_0x405E, 6 + goto_if 4, SootopolisCity_EventScript_1E583D + compare VAR_0x405E, 1 + goto_eq SootopolisCity_EventScript_1E583E + compare VAR_0x40CA, 1 + goto_eq SootopolisCity_EventScript_1E583E + compare VAR_0x40CA, 1 + goto_if 3, SootopolisCity_EventScript_27207A + return + +SootopolisCity_EventScript_1E583D:: @ 81E583D + return + +SootopolisCity_EventScript_1E583E:: @ 81E583E + setweather 13 + return + +SootopolisCity_EventScript_1E5842:: @ 81E5842 + checkflag FLAG_0x133 + goto_eq SootopolisCity_EventScript_1E584C + return + +SootopolisCity_EventScript_1E584C:: @ 81E584C + setobjectxyperm 1, 30, 18 + setobjectxyperm 7, 32, 18 + return + +SootopolisCity_EventScript_1E585B:: @ 81E585B + setobjectxyperm 1, 30, 18 + setobjectxyperm 18, 31, 18 + setobjectxyperm 7, 32, 18 + end + +SootopolisCity_EventScript_1E5871:: @ 81E5871 + setobjectxyperm 1, 31, 18 + setobjectxyperm 7, 29, 33 + setobjectxyperm 16, 33, 35 + setobjectxyperm 17, 34, 35 + compare VAR_0x40D8, 0 + call_if 1, SootopolisCity_EventScript_1E58AF + compare VAR_0x40D8, 1 + call_if 1, SootopolisCity_EventScript_1E58BB + compare VAR_0x40D8, 2 + call_if 1, SootopolisCity_EventScript_1E58C7 + return + +SootopolisCity_EventScript_1E58AF:: @ 81E58AF + setobjectxyperm 18, 31, 33 + setobjectmovementtype 18, 8 + return + +SootopolisCity_EventScript_1E58BB:: @ 81E58BB + setobjectxyperm 18, 32, 33 + setobjectmovementtype 18, 8 + return + +SootopolisCity_EventScript_1E58C7:: @ 81E58C7 + setobjectxyperm 18, 30, 33 + setobjectmovementtype 18, 8 + return + +SootopolisCity_EventScript_1E58D3:: @ 81E58D3 + setobjectxyperm 1, 31, 18 + return + +SootopolisCity_MapScript2_1E58DB: @ 81E58DB + map_script_2 VAR_0x405E, 5, SootopolisCity_EventScript_1E58E5 + .2byte 0 + +SootopolisCity_EventScript_1E58E5:: @ 81E58E5 + compare VAR_0x40CA, 1 + call_if 1, SootopolisCity_EventScript_1E58FC + compare VAR_0x40CA, 2 + call_if 1, SootopolisCity_EventScript_1E5901 + end + +SootopolisCity_EventScript_1E58FC:: @ 81E58FC + turnobject 255, 2 + return + +SootopolisCity_EventScript_1E5901:: @ 81E5901 + turnobject 255, 2 + setvar VAR_0x40CA, 3 + return + +SootopolisCity_MapScript1_1E590B: @ 81E590B + setdivewarp UNDERWATER_SOOTOPOLIS_CITY, 255, 9, 6 + end + +SootopolisCity_MapScript2_1E5914: @ 81E5914 + map_script_2 VAR_0x405E, 1, SootopolisCity_EventScript_1E5926 + map_script_2 VAR_0x40CA, 1, SootopolisCity_EventScript_1E5BFE + .2byte 0 + +SootopolisCity_EventScript_1E5926:: @ 81E5926 + lockall + special StorePlayerCoordsInVars + compare VAR_0x8004, 43 + goto_if 5, SootopolisCity_EventScript_1E5A82 + compare VAR_0x8005, 32 + goto_if 5, SootopolisCity_EventScript_1E5A82 + goto SootopolisCity_EventScript_1E5946 + end + +SootopolisCity_EventScript_1E5946:: @ 81E5946 + delay 60 + special SpawnScriptFieldObject + applymovement 127, SootopolisCity_Movement_1E5A68 + waitmovement 0 + special RemoveScriptFieldObject + delay 60 + fadescreenspeed 1, 8 + setweather 15 + doweather + setvar VAR_0x8004, 0 + special sub_813B7D8 + waitstate + applymovement 10, SootopolisCity_Movement_2725A4 + applymovement 9, SootopolisCity_Movement_2725A8 + waitmovement 0 + delay 60 + waitse + playmoncry SPECIES_KYOGRE, 2 + applymovement 10, SootopolisCity_Movement_1E5BB8 + applymovement 9, SootopolisCity_Movement_1E5BE5 + waitmovement 0 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 8 + setvar VAR_0x8007, 5 + special sub_8139560 + waitstate + applymovement 10, SootopolisCity_Movement_1E5BCF + applymovement 9, SootopolisCity_Movement_1E5BF0 + waitmovement 0 + waitse + playmoncry SPECIES_GROUDON, 2 + applymovement 10, SootopolisCity_Movement_1E5BC2 + applymovement 9, SootopolisCity_Movement_1E5BDD + waitmovement 0 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 8 + setvar VAR_0x8007, 5 + special sub_8139560 + waitstate + applymovement 10, SootopolisCity_Movement_1E5BCF + applymovement 9, SootopolisCity_Movement_1E5BF0 + waitmovement 0 + waitse + playmoncry SPECIES_KYOGRE, 2 + applymovement 10, SootopolisCity_Movement_1E5BB8 + applymovement 9, SootopolisCity_Movement_1E5BE5 + waitmovement 0 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 8 + setvar VAR_0x8007, 5 + special sub_8139560 + waitstate + applymovement 10, SootopolisCity_Movement_1E5BCF + applymovement 9, SootopolisCity_Movement_1E5BF0 + waitmovement 0 + special SpawnScriptFieldObject + applymovement 10, SootopolisCity_Movement_1E5BD6 + applymovement 9, SootopolisCity_Movement_1E5BF7 + applymovement 127, SootopolisCity_Movement_1E5A75 + waitmovement 0 + special RemoveScriptFieldObject + setvar VAR_0x405E, 2 + clearflag FLAG_SPECIAL_FLAG_0x4000 + releaseall + end + +SootopolisCity_Movement_1E5A68: @ 81E5A68 + step_92 + step_92 + step_92 + step_92 + step_92 + step_92 + step_92 + step_92 + step_92 + step_92 + step_92 + step_92 + step_end + +SootopolisCity_Movement_1E5A75: @ 81E5A75 + step_91 + step_91 + step_91 + step_91 + step_91 + step_91 + step_91 + step_91 + step_91 + step_91 + step_91 + step_91 + step_end + +SootopolisCity_EventScript_1E5A82:: @ 81E5A82 + delay 60 + special SpawnScriptFieldObject + applymovement 127, SootopolisCity_Movement_1E5BA4 + waitmovement 0 + special RemoveScriptFieldObject + delay 60 + fadescreenspeed 1, 8 + setweather 15 + doweather + setvar VAR_0x8004, 0 + special sub_813B7D8 + waitstate + applymovement 10, SootopolisCity_Movement_2725A4 + applymovement 9, SootopolisCity_Movement_2725A8 + waitmovement 0 + delay 60 + waitse + playmoncry SPECIES_KYOGRE, 2 + applymovement 10, SootopolisCity_Movement_1E5BB8 + applymovement 9, SootopolisCity_Movement_1E5BE5 + waitmovement 0 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 8 + setvar VAR_0x8007, 5 + special sub_8139560 + waitstate + applymovement 10, SootopolisCity_Movement_1E5BCF + applymovement 9, SootopolisCity_Movement_1E5BF0 + waitmovement 0 + waitse + playmoncry SPECIES_GROUDON, 2 + applymovement 10, SootopolisCity_Movement_1E5BC2 + applymovement 9, SootopolisCity_Movement_1E5BDD + waitmovement 0 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 8 + setvar VAR_0x8007, 5 + special sub_8139560 + waitstate + applymovement 10, SootopolisCity_Movement_1E5BCF + applymovement 9, SootopolisCity_Movement_1E5BF0 + waitmovement 0 + waitse + playmoncry SPECIES_KYOGRE, 2 + applymovement 10, SootopolisCity_Movement_1E5BB8 + applymovement 9, SootopolisCity_Movement_1E5BE5 + waitmovement 0 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 8 + setvar VAR_0x8007, 5 + special sub_8139560 + waitstate + applymovement 10, SootopolisCity_Movement_1E5BCF + applymovement 9, SootopolisCity_Movement_1E5BF0 + waitmovement 0 + special SpawnScriptFieldObject + applymovement 10, SootopolisCity_Movement_1E5BD6 + applymovement 9, SootopolisCity_Movement_1E5BF7 + applymovement 127, SootopolisCity_Movement_1E5BAE + waitmovement 0 + special RemoveScriptFieldObject + setvar VAR_0x405E, 2 + clearflag FLAG_SPECIAL_FLAG_0x4000 + releaseall + end + +SootopolisCity_Movement_1E5BA4: @ 81E5BA4 + step_91 + step_91 + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_end + +SootopolisCity_Movement_1E5BAE: @ 81E5BAE + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_92 + step_92 + step_end + +SootopolisCity_Movement_1E5BB8: @ 81E5BB8 + step_1b + step_1b + step_1b + step_14 + step_14 + step_14 + step_5e + step_96 + step_5f + step_end + +SootopolisCity_Movement_1E5BC2: @ 81E5BC2 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_5e + step_96 + step_5f + step_end + +SootopolisCity_Movement_1E5BCF: @ 81E5BCF + step_40 + step_right + step_14 + step_14 + step_14 + step_41 + step_end + +SootopolisCity_Movement_1E5BD6: @ 81E5BD6 + step_1b + step_1b + step_1b + step_1b + step_1b + step_1b + step_end + +SootopolisCity_Movement_1E5BDD: @ 81E5BDD + step_1c + step_1c + step_1c + step_14 + step_14 + step_14 + step_18 + step_end + +SootopolisCity_Movement_1E5BE5: @ 81E5BE5 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_18 + step_end + +SootopolisCity_Movement_1E5BF0: @ 81E5BF0 + step_40 + step_left + step_14 + step_14 + step_14 + step_41 + step_end + +SootopolisCity_Movement_1E5BF7: @ 81E5BF7 + step_1c + step_1c + step_1c + step_1c + step_1c + step_1c + step_end + +SootopolisCity_EventScript_1E5BFE:: @ 81E5BFE + lockall + special StorePlayerCoordsInVars + compare VAR_0x8004, 43 + goto_if 5, SootopolisCity_EventScript_1E5CCE + compare VAR_0x8005, 32 + goto_if 5, SootopolisCity_EventScript_1E5CCE + goto SootopolisCity_EventScript_1E5C1E + end + +SootopolisCity_EventScript_1E5C1E:: @ 81E5C1E + delay 60 + special SpawnScriptFieldObject + applymovement 127, SootopolisCity_Movement_1E5A68 + waitmovement 0 + special RemoveScriptFieldObject + delay 60 + fadescreenspeed 1, 8 + call SootopolisCity_EventScript_1E5D82 + removeobject 9 + removeobject 10 + addobject 11 + setvar VAR_0x8004, 1 + special sub_813B7D8 + waitstate + playse SE_T_KAMI + special SpawnScriptFieldObject + applymovement 127, SootopolisCity_Movement_1E5E63 + waitmovement 0 + waitse + playmoncry SPECIES_RAYQUAZA, 2 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 8 + setvar VAR_0x8007, 3 + special sub_8139560 + waitstate + waitse + playmoncry SPECIES_RAYQUAZA, 2 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 8 + setvar VAR_0x8007, 5 + special sub_8139560 + waitstate + waitmoncry + setweather 0 + doweather + applymovement 11, SootopolisCity_Movement_1E5E5B + waitmovement 0 + removeobject 11 + special WaitWeather + waitstate + clearflag FLAG_SYS_WEATHER_CTRL + setvar VAR_0x40CA, 3 + clearflag FLAG_LEGENDARIES_IN_SOOTOPOLIS + fadenewbgm MUS_RUNECITY + delay 120 + clearflag FLAG_SPECIAL_FLAG_0x4000 + warp8 SOOTOPOLIS_CITY, 255, 43, 32 + waitstate + end + +SootopolisCity_EventScript_1E5CCE:: @ 81E5CCE + delay 60 + special SpawnScriptFieldObject + applymovement 127, SootopolisCity_Movement_1E5BA4 + waitmovement 0 + special RemoveScriptFieldObject + delay 60 + fadescreenspeed 1, 8 + call SootopolisCity_EventScript_1E5D82 + removeobject 9 + removeobject 10 + addobject 11 + setvar VAR_0x8004, 1 + special sub_813B7D8 + waitstate + special SpawnScriptFieldObject + applymovement 127, SootopolisCity_Movement_1E5E63 + applymovement 255, SootopolisCity_Movement_1E5E68 + waitmovement 0 + waitse + playmoncry SPECIES_RAYQUAZA, 2 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 8 + setvar VAR_0x8007, 3 + special sub_8139560 + waitstate + waitse + playmoncry SPECIES_RAYQUAZA, 2 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + setvar VAR_0x8006, 8 + setvar VAR_0x8007, 5 + special sub_8139560 + waitstate + waitmoncry + setweather 0 + doweather + applymovement 11, SootopolisCity_Movement_1E5E5B + waitmovement 0 + removeobject 11 + special WaitWeather + waitstate + clearflag FLAG_SYS_WEATHER_CTRL + setvar VAR_0x40CA, 2 + clearflag FLAG_LEGENDARIES_IN_SOOTOPOLIS + fadenewbgm MUS_NAMINORI + delay 120 + clearflag FLAG_SPECIAL_FLAG_0x4000 + warp8 SOOTOPOLIS_CITY, 255, 29, 53 + waitstate + end + +SootopolisCity_EventScript_1E5D82:: @ 81E5D82 + setmetatile 27, 43, 656, 0 + setmetatile 28, 43, 656, 0 + setmetatile 29, 43, 656, 0 + setmetatile 30, 43, 656, 0 + setmetatile 27, 44, 656, 0 + setmetatile 28, 44, 656, 0 + setmetatile 29, 44, 656, 0 + setmetatile 30, 44, 656, 0 + setmetatile 27, 45, 656, 0 + setmetatile 28, 45, 656, 0 + setmetatile 29, 45, 656, 0 + setmetatile 30, 45, 656, 0 + setmetatile 32, 43, 656, 0 + setmetatile 33, 43, 656, 0 + setmetatile 34, 43, 656, 0 + setmetatile 35, 43, 656, 0 + setmetatile 32, 44, 656, 0 + setmetatile 33, 44, 656, 0 + setmetatile 34, 44, 656, 0 + setmetatile 35, 44, 656, 0 + setmetatile 32, 45, 656, 0 + setmetatile 33, 45, 656, 0 + setmetatile 34, 45, 656, 0 + setmetatile 35, 45, 656, 0 + return + +SootopolisCity_Movement_1E5E5B: @ 81E5E5B + step_16 + step_2e + step_2e + step_2e + step_2e + step_2e + step_2e + step_end + +SootopolisCity_Movement_1E5E63: @ 81E5E63 + step_up + step_up + step_up + step_up + step_end + +SootopolisCity_Movement_1E5E68: @ 81E5E68 + step_up + step_up + step_up + step_up + step_end + +SootopolisCity_Movement_1E5E6D: @ 81E5E6D + step_down + step_down + step_down + step_down + step_end + +SootopolisCity_Movement_1E5E72: @ 81E5E72 + step_91 + step_91 + step_91 + step_91 + step_91 + step_91 + step_91 + step_91 + step_right + step_right + step_right + step_right + step_end + +SootopolisCity_Movement_1E5E7F: @ 81E5E7F + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_92 + step_92 + step_end + +SootopolisCity_EventScript_1E5E8D:: @ 81E5E8D + lock + faceplayer + compare VAR_0x405E, 6 + goto_if 4, SootopolisCity_EventScript_1E5EC4 + compare VAR_0x405E, 5 + goto_eq SootopolisCity_EventScript_1E5ECE + compare VAR_0x405E, 2 + goto_if 4, SootopolisCity_EventScript_1E5EBA + msgbox SootopolisCity_Text_1E6D77, 4 + release + end + +SootopolisCity_EventScript_1E5EBA:: @ 81E5EBA + msgbox SootopolisCity_Text_1E6DFE, 4 + release + end + +SootopolisCity_EventScript_1E5EC4:: @ 81E5EC4 + msgbox SootopolisCity_Text_1E6F38, 4 + release + end + +SootopolisCity_EventScript_1E5ECE:: @ 81E5ECE + msgbox SootopolisCity_Text_1E6ED4, 4 + release + end + +SootopolisCity_EventScript_1E5ED8:: @ 81E5ED8 + lock + faceplayer + compare VAR_0x405E, 1 + goto_if 3, SootopolisCity_EventScript_1E5F1B + compare VAR_0x405E, 6 + goto_if 4, SootopolisCity_EventScript_1E5F1B + compare VAR_0x405E, 5 + goto_eq SootopolisCity_EventScript_1E5F10 + msgbox SootopolisCity_Text_1E6BFF, 4 + closemessage + applymovement 3, SootopolisCity_Movement_2725A2 + waitmovement 0 + release + end + +SootopolisCity_EventScript_1E5F10:: @ 81E5F10 + msgbox SootopolisCity_Text_1E6C53, 4 + closemessage + release + end + +SootopolisCity_EventScript_1E5F1B:: @ 81E5F1B + dodailyevents + special GetPlayerBigGuyGirlString + checkflag FLAG_0x932 + goto_eq SootopolisCity_EventScript_1E5FBB + msgbox SootopolisCity_Text_2A7BB0, 4 + random 10 + addvar VAR_RESULT, 20 + addvar VAR_RESULT, 133 + giveitem_std VAR_RESULT + compare VAR_RESULT, 0 + goto_eq SootopolisCity_EventScript_272054 + setflag FLAG_0x932 + msgbox SootopolisCity_Text_2A7C7C, 4 + random 2 + compare VAR_RESULT, 0 + goto_eq SootopolisCity_EventScript_1E5F79 + compare VAR_RESULT, 1 + goto_eq SootopolisCity_EventScript_1E5F9A + end + +SootopolisCity_EventScript_1E5F79:: @ 81E5F79 + giveitem_std ITEM_FIGY_BERRY + compare VAR_RESULT, 0 + goto_eq SootopolisCity_EventScript_272054 + msgbox SootopolisCity_Text_2A7CB7, 4 + release + end + +SootopolisCity_EventScript_1E5F9A:: @ 81E5F9A + giveitem_std ITEM_IAPAPA_BERRY + compare VAR_RESULT, 0 + goto_eq SootopolisCity_EventScript_272054 + msgbox SootopolisCity_Text_2A7CB7, 4 + release + end + +SootopolisCity_EventScript_1E5FBB:: @ 81E5FBB + msgbox SootopolisCity_Text_2A7CEC, 5 + compare VAR_RESULT, 1 + goto_eq SootopolisCity_EventScript_1E5FD8 + msgbox SootopolisCity_Text_2A7DD2, 4 + release + end + +SootopolisCity_EventScript_1E5FD8:: @ 81E5FD8 + msgbox SootopolisCity_Text_2A7D80, 4 + release + end + +SootopolisCity_EventScript_1E5FE2:: @ 81E5FE2 + lockall + applymovement 2, SootopolisCity_Movement_27259E + waitmovement 0 + compare VAR_0x405E, 5 + goto_eq SootopolisCity_EventScript_1E600D + msgbox SootopolisCity_Text_1E71A1, 4 + closemessage + applymovement 2, SootopolisCity_Movement_2725A2 + waitmovement 0 + releaseall + end + +SootopolisCity_EventScript_1E600D:: @ 81E600D + msgbox SootopolisCity_Text_1E728C, 4 + releaseall + end + +SootopolisCity_EventScript_1E6017:: @ 81E6017 + lock + faceplayer + compare VAR_0x405E, 6 + goto_if 4, SootopolisCity_EventScript_1E602E + msgbox SootopolisCity_Text_1E6CCA, 4 + release + end + +SootopolisCity_EventScript_1E602E:: @ 81E602E + msgbox SootopolisCity_Text_1E6D57, 4 + release + end + +SootopolisCity_EventScript_1E6038:: @ 81E6038 + lock + faceplayer + compare VAR_0x405E, 6 + goto_if 4, SootopolisCity_EventScript_1E607A + compare VAR_0x405E, 5 + goto_eq SootopolisCity_EventScript_1E6084 + compare VAR_0x405E, 2 + goto_if 4, SootopolisCity_EventScript_1E6065 + msgbox SootopolisCity_Text_1E6F90, 4 + release + end + +SootopolisCity_EventScript_1E6065:: @ 81E6065 + msgbox SootopolisCity_Text_1E7078, 4 + closemessage + applymovement 8, SootopolisCity_Movement_2725A2 + waitmovement 0 + release + end + +SootopolisCity_EventScript_1E607A:: @ 81E607A + msgbox SootopolisCity_Text_1E710B, 4 + release + end + +SootopolisCity_EventScript_1E6084:: @ 81E6084 + msgbox SootopolisCity_Text_1E70D4, 4 + release + end + +SootopolisCity_EventScript_1E608E:: @ 81E608E + lockall + applymovement 4, SootopolisCity_Movement_27259E + waitmovement 0 + compare VAR_0x405E, 5 + goto_eq SootopolisCity_EventScript_1E60D9 + compare VAR_0x405E, 6 + goto_if 4, SootopolisCity_EventScript_1E60CF + compare VAR_0x405E, 1 + goto_if 3, SootopolisCity_EventScript_1E60CF + msgbox SootopolisCity_Text_1E690B, 4 + closemessage + applymovement 4, SootopolisCity_Movement_2725A2 + waitmovement 0 + release + end + +SootopolisCity_EventScript_1E60CF:: @ 81E60CF + msgbox SootopolisCity_Text_1E68A1, 4 + release + end + +SootopolisCity_EventScript_1E60D9:: @ 81E60D9 + msgbox SootopolisCity_Text_1E6920, 4 + release + end + +SootopolisCity_EventScript_1E60E3:: @ 81E60E3 + lockall + applymovement 5, SootopolisCity_Movement_27259E + waitmovement 0 + compare VAR_0x405E, 5 + goto_eq SootopolisCity_EventScript_1E612D + checkflag FLAG_SYS_GAME_CLEAR + goto_eq SootopolisCity_EventScript_1E6137 + compare VAR_0x405E, 6 + goto_if 4, SootopolisCity_EventScript_1E6141 + compare VAR_0x405E, 1 + goto_if 3, SootopolisCity_EventScript_1E6141 + msgbox SootopolisCity_Text_1E6692, 4 + closemessage + applymovement 5, SootopolisCity_Movement_2725A2 + waitmovement 0 + release + end + +SootopolisCity_EventScript_1E612D:: @ 81E612D + msgbox SootopolisCity_Text_1E6750, 4 + release + end + +SootopolisCity_EventScript_1E6137:: @ 81E6137 + msgbox SootopolisCity_Text_1E677F, 4 + release + end + +SootopolisCity_EventScript_1E6141:: @ 81E6141 + msgbox SootopolisCity_Text_1E6618, 4 + release + end + +SootopolisCity_EventScript_1E614B:: @ 81E614B + msgbox SootopolisCity_Text_1E656F, 3 + end + +SootopolisCity_EventScript_1E6154:: @ 81E6154 + msgbox SootopolisCity_Text_1E65C8, 3 + end + +SootopolisCity_EventScript_1E615D:: @ 81E615D + msgbox SootopolisCity_Text_1E6604, 3 + end + +SootopolisCity_EventScript_1E6166:: @ 81E6166 + lockall + applymovement 7, SootopolisCity_Movement_27259E + waitmovement 0 + checkflag FLAG_0x133 + call_if 0, SootopolisCity_EventScript_1E61CC + compare VAR_0x405E, 2 + goto_eq SootopolisCity_EventScript_1E61AE + compare VAR_0x405E, 3 + goto_eq SootopolisCity_EventScript_1E61C2 + compare VAR_0x405E, 4 + goto_eq SootopolisCity_EventScript_1E61C2 + checkflag FLAG_0x09E + goto_eq SootopolisCity_EventScript_1E61B8 + msgbox SootopolisCity_Text_1E78E5, 4 + releaseall + end + +SootopolisCity_EventScript_1E61AE:: @ 81E61AE + msgbox SootopolisCity_Text_1E7866, 4 + releaseall + end + +SootopolisCity_EventScript_1E61B8:: @ 81E61B8 + msgbox SootopolisCity_Text_1E794B, 4 + releaseall + end + +SootopolisCity_EventScript_1E61C2:: @ 81E61C2 + msgbox SootopolisCity_Text_1E789A, 4 + releaseall + end + +SootopolisCity_EventScript_1E61CC:: @ 81E61CC + msgbox SootopolisCity_Text_1E75CB, 4 + closemessage + compare VAR_FACING, 3 + call_if 1, SootopolisCity_EventScript_1E6243 + compare VAR_FACING, 2 + call_if 1, SootopolisCity_EventScript_1E6255 + msgbox SootopolisCity_Text_1E7737, 4 + closemessage + applymovement 7, SootopolisCity_Movement_1E62D4 + applymovement 255, SootopolisCity_Movement_1E630E + waitmovement 0 + delay 120 + applymovement 1, SootopolisCity_Movement_1E6341 + waitmovement 0 + applymovement 7, SootopolisCity_Movement_1E6344 + applymovement 255, SootopolisCity_Movement_1E634F + waitmovement 0 + msgbox SootopolisCity_Text_1E77F0, 4 + closemessage + setflag FLAG_0x133 + applymovement 255, SootopolisCity_Movement_1E635A + waitmovement 0 + warp CAVE_OF_ORIGIN_ENTRANCE, 255, 9, 20 + waitstate + end + +SootopolisCity_EventScript_1E6243:: @ 81E6243 + applymovement 7, SootopolisCity_Movement_1E6267 + applymovement 255, SootopolisCity_Movement_1E628C + waitmovement 0 + return + +SootopolisCity_EventScript_1E6255:: @ 81E6255 + applymovement 7, SootopolisCity_Movement_1E6267 + applymovement 255, SootopolisCity_Movement_1E62B0 + waitmovement 0 + return + +SootopolisCity_Movement_1E6267: @ 81E6267 + step_up + step_up + step_up + step_right + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_left + step_up + step_up + step_up + step_up + step_left + step_left + step_left + step_left + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_25 + step_end + +SootopolisCity_Movement_1E628C: @ 81E628C + step_left + step_up + step_up + step_up + step_right + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_left + step_up + step_up + step_up + step_up + step_left + step_left + step_left + step_left + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_end + +SootopolisCity_Movement_1E62B0: @ 81E62B0 + step_up + step_up + step_up + step_up + step_right + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_left + step_up + step_up + step_up + step_up + step_left + step_left + step_left + step_left + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_up + step_end + +SootopolisCity_Movement_1E62D4: @ 81E62D4 + step_up + step_up + step_right + step_right + step_right + step_right + step_down + step_down + step_right + step_right + step_right + step_right + step_right + step_up + step_right + step_right + step_right + step_right + step_down + step_down + step_down + step_right + step_right + step_right + step_right + step_right + step_down + step_down + step_down + step_down + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_right + step_right + step_right + step_right + step_12 + step_27 + step_14 + step_14 + step_right + step_up + step_up + step_end + +SootopolisCity_Movement_1E630E: @ 81E630E + step_up + step_up + step_up + step_right + step_right + step_right + step_right + step_down + step_down + step_right + step_right + step_right + step_right + step_right + step_up + step_right + step_right + step_right + step_right + step_down + step_down + step_down + step_right + step_right + step_right + step_right + step_right + step_down + step_down + step_down + step_down + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_down + step_right + step_right + step_right + step_end + +SootopolisCity_Movement_1E6341: @ 81E6341 + slow_step_left + step_28 + step_end + +SootopolisCity_Movement_1E6344: @ 81E6344 + step_down + step_down + step_left + step_13 + step_right + step_up + step_up + step_up + step_right + step_27 + step_end + +SootopolisCity_Movement_1E634F: @ 81E634F + step_14 + step_14 + step_14 + step_13 + step_right + step_right + step_up + step_up + step_up + step_28 + step_end + +SootopolisCity_Movement_1E635A: @ 81E635A + step_up + step_up + step_end + +SootopolisCity_EventScript_1E635D:: @ 81E635D + lockall + applymovement 15, SootopolisCity_Movement_27259E + waitmovement 0 + compare VAR_0x405E, 5 + goto_eq SootopolisCity_EventScript_1E6388 + msgbox SootopolisCity_Text_1E67DC, 4 + closemessage + applymovement 15, SootopolisCity_Movement_2725A2 + waitmovement 0 + releaseall + end + +SootopolisCity_EventScript_1E6388:: @ 81E6388 + msgbox SootopolisCity_Text_1E6853, 4 + closemessage + releaseall + end + +SootopolisCity_EventScript_1E6393:: @ 81E6393 + lockall + compare VAR_0x405E, 5 + goto_eq SootopolisCity_EventScript_1E63C7 + msgbox SootopolisCity_Text_1E6936, 4 + closemessage + applymovement 14, SootopolisCity_Movement_27259E + waitmovement 0 + msgbox SootopolisCity_Text_1E696C, 4 + closemessage + applymovement 14, SootopolisCity_Movement_2725A2 + waitmovement 0 + releaseall + end + +SootopolisCity_EventScript_1E63C7:: @ 81E63C7 + applymovement 14, SootopolisCity_Movement_27259E + waitmovement 0 + msgbox SootopolisCity_Text_1E69B8, 4 + releaseall + end + +SootopolisCity_EventScript_1E63DB:: @ 81E63DB + lockall + applymovement 13, SootopolisCity_Movement_27259E + waitmovement 0 + compare VAR_0x405E, 5 + goto_eq SootopolisCity_EventScript_1E6406 + msgbox SootopolisCity_Text_1E6C7C, 4 + closemessage + applymovement 13, SootopolisCity_Movement_2725A2 + waitmovement 0 + releaseall + end + +SootopolisCity_EventScript_1E6406:: @ 81E6406 + msgbox SootopolisCity_Text_1E6CA6, 4 + closemessage + releaseall + end + +SootopolisCity_EventScript_1E6411:: @ 81E6411 + lockall + applymovement 12, SootopolisCity_Movement_27259E + waitmovement 0 + compare VAR_0x405E, 5 + goto_eq SootopolisCity_EventScript_1E643C + msgbox SootopolisCity_Text_1E6A50, 4 + closemessage + applymovement 12, SootopolisCity_Movement_2725A2 + waitmovement 0 + releaseall + end + +SootopolisCity_EventScript_1E643C:: @ 81E643C + msgbox SootopolisCity_Text_1E6B2A, 4 + releaseall + end + +SootopolisCity_EventScript_1E6446:: @ 81E6446 + lock + faceplayer + compare VAR_0x405E, 4 + goto_eq SootopolisCity_EventScript_1E64D8 + checkflag FLAG_0x138 + goto_eq SootopolisCity_EventScript_1E64E2 + checkflag FLAG_0x09E + goto_eq SootopolisCity_EventScript_1E646F + msgbox SootopolisCity_Text_1E7A3E, 4 + release + end + +SootopolisCity_EventScript_1E646F:: @ 81E646F + msgbox SootopolisCity_Text_1E7ACF, 4 + giveitem_std ITEM_HM07 + setflag FLAG_0x138 + msgbox SootopolisCity_Text_1E7B86, 4 + closemessage + compare VAR_FACING, 2 + call_if 1, SootopolisCity_EventScript_1E64B2 + compare VAR_FACING, 4 + call_if 1, SootopolisCity_EventScript_1E64B2 + compare VAR_FACING, 3 + call_if 1, SootopolisCity_EventScript_1E64C5 + release + end + +SootopolisCity_EventScript_1E64B2:: @ 81E64B2 + applymovement 18, SootopolisCity_Movement_1E64EC + waitmovement 0 + moveobjectoffscreen 18 + setvar VAR_0x40D8, 1 + return + +SootopolisCity_EventScript_1E64C5:: @ 81E64C5 + applymovement 18, SootopolisCity_Movement_1E64EF + waitmovement 0 + moveobjectoffscreen 18 + setvar VAR_0x40D8, 2 + return + +SootopolisCity_EventScript_1E64D8:: @ 81E64D8 + msgbox SootopolisCity_Text_1E79C8, 4 + release + end + +SootopolisCity_EventScript_1E64E2:: @ 81E64E2 + msgbox SootopolisCity_Text_1E7CBC, 4 + release + end + +SootopolisCity_Movement_1E64EC: @ 81E64EC + step_right + step_25 + step_end + +SootopolisCity_Movement_1E64EF: @ 81E64EF + step_left + step_25 + step_end + +SootopolisCity_EventScript_1E64F2:: @ 81E64F2 + lockall + compare VAR_0x405E, 5 + goto_eq SootopolisCity_EventScript_1E6509 + msgbox SootopolisCity_Text_1E72DB, 4 + closemessage + releaseall + end + +SootopolisCity_EventScript_1E6509:: @ 81E6509 + msgbox SootopolisCity_Text_1E737E, 4 + setflag FLAG_0x135 + checkflag FLAG_0x134 + goto_eq SootopolisCity_EventScript_1E654C + releaseall + end + +SootopolisCity_EventScript_1E651F:: @ 81E651F + lockall + compare VAR_0x405E, 5 + goto_eq SootopolisCity_EventScript_1E6536 + msgbox SootopolisCity_Text_1E7460, 4 + closemessage + releaseall + end + +SootopolisCity_EventScript_1E6536:: @ 81E6536 + msgbox SootopolisCity_Text_1E74F6, 4 + setflag FLAG_0x134 + checkflag FLAG_0x135 + goto_eq SootopolisCity_EventScript_1E654C + releaseall + end + +SootopolisCity_EventScript_1E654C:: @ 81E654C + setflag FLAG_0x33B + setflag FLAG_0x33A + setflag FLAG_0x09E + clearflag FLAG_0x358 + clearflag FLAG_0x394 + setvar VAR_0x40B9, 2 + warpsilent SOOTOPOLIS_CITY, 255, 31, 34 + waitstate + releaseall + end + +SootopolisCity_Movement_1E656B:: @ 81E656B + step_98 + step_end + +SootopolisCity_Movement_1E656D:: @ 81E656D + step_9A + step_end + +SootopolisCity_Text_1E656F: @ 81E656F + .string "SOOTOPOLIS CITY POKéMON GYM\n" + .string "LEADER: JUAN\p" + .string "“The GYM LEADER with the beauty\n" + .string "of pure water!”$" + +SootopolisCity_Text_1E65C8: @ 81E65C8 + .string "SOOTOPOLIS CITY\p" + .string "“The mystical city where history\n" + .string "slumbers.”$" + + +SootopolisCity_Text_1E6604: @ 81E6604 + .string "The door is closed.$" + +SootopolisCity_Text_1E6618: @ 81E6618 + .string "Diving in the sea. Climbing up and\n" + .string "down stairs all the time…\p" + .string "If you live in this town, you end up\n" + .string "getting physically fit.$" + +SootopolisCity_Text_1E6692: @ 81E6692 + .string "These giant POKéMON suddenly appeared\n" + .string "in the middle of the city!\p" + .string "And, I’ve never seen them before!\p" + .string "Why are they smashing into each\n" + .string "other like that?\p" + .string "Why can’t they be friends, those\n" + .string "POKéMON?$" + +SootopolisCity_Text_1E6750: @ 81E6750 + .string "What? What? What?\n" + .string "What is that green POKéMON?!$" + +SootopolisCity_Text_1E677F: @ 81E677F + .string "GROUDON and KYOGRE…\n" + .string "Where did they go?\p" + .string "Will they cause droughts or downpours\n" + .string "somewhere else?$" + +SootopolisCity_Text_1E67DC: @ 81E67DC + .string "I just get this sense somehow that\n" + .string "the two POKéMON aren’t angry.\p" + .string "I think… They probably can’t control\n" + .string "their own power…$" + +SootopolisCity_Text_1E6853: @ 81E6853 + .string "That flying POKéMON came down from\n" + .string "the sky and stopped the rampaging\l" + .string "POKéMON…$" + +SootopolisCity_Text_1E68A1: @ 81E68A1 + .string "I… I’ve never been out of this city.\p" + .string "I wonder what the world is like on\n" + .string "the other side of this round sky?$" + +SootopolisCity_Text_1E690B: @ 81E690B + .string "Wow!\n" + .string "This is wicked!$" + +SootopolisCity_Text_1E6920: @ 81E6920 + .string "Wow!\n" + .string "That was wicked!$" + +SootopolisCity_Text_1E6936: @ 81E6936 + .string "Go for it, red POKéMON!\n" + .string "Don’t back off, blue POKéMON!$" + +SootopolisCity_Text_1E696C: @ 81E696C + .string "… … … … … …\p" + .string "Hi, do you know the names of those\n" + .string "POKéMON fighting over there?$" + +SootopolisCity_Text_1E69B8: @ 81E69B8 + .string "I was wondering which one would win,\n" + .string "the red one or the blue one, but, oh no,\l" + .string "it’s the green one that settles things!\p" + .string "Talk about a huge turn of events!$" + +SootopolisCity_Text_1E6A50: @ 81E6A50 + .string "There’s an ancient legend that claims\n" + .string "the land and sea were shaped by\l" + .string "a colossal battle between POKéMON.\p" + .string "Well, I’m seeing that happen with\n" + .string "my very own eyes!\p" + .string "Whoa! I never expected to be\n" + .string "witness to something this huge!$" + +SootopolisCity_Text_1E6B2A: @ 81E6B2A + .string "There’s an ancient legend that claims\n" + .string "the land and sea were shaped by\l" + .string "a colossal battle between POKéMON.\p" + .string "Well, I saw that happen with\n" + .string "my very own eyes!\p" + .string "Whoa! I never expected to be\n" + .string "witness to something this huge!$" + +SootopolisCity_Text_1E6BFF: @ 81E6BFF + .string "A big POKéMON is fighting with\n" + .string "another big POKéMON!\p" + .string "Please, someone make them stop!$" + +SootopolisCity_Text_1E6C53: @ 81E6C53 + .string "A pretty POKéMON came down from\n" + .string "the sky…$" + +SootopolisCity_Text_1E6C7C: @ 81E6C7C + .string "Oh, no!\n" + .string "SOOTOPOLIS CITY will get wrecked!$" + +SootopolisCity_Text_1E6CA6: @ 81E6CA6 + .string "SOOTOPOLIS CITY didn’t get wrecked!$" + +SootopolisCity_Text_1E6CCA: @ 81E6CCA + .string "Hm!\n" + .string "You’ve come all the way to SOOTOPOLIS?\l" + .string "You’re no ordinary tourist.\p" + .string "But I suppose that doesn’t make you\n" + .string "an extraordinary tourist, either.$" + +SootopolisCity_Text_1E6D57: @ 81E6D57 + .string "The city has regained its calm…$" + +SootopolisCity_Text_1E6D77: @ 81E6D77 + .string "Who might you be?\p" + .string "This is the CAVE OF ORIGIN.\p" + .string "The spirits of POKéMON, becalmed at\n" + .string "MT. PYRE, are said to be revived here.\p" + .string "Please leave.$" + +SootopolisCity_Text_1E6DFE: @ 81E6DFE + .string "A person with a strong will and\n" + .string "superior talent…\p" + .string "A TRAINER who has knowledge and\n" + .string "experience of many kinds of POKéMON…\p" + .string "If such a person were to appear, I was\n" + .string "instructed by WALLACE to lead that\l" + .string "TRAINER to this CAVE.$" + +SootopolisCity_Text_1E6ED4: @ 81E6ED4 + .string "Oh, my…\p" + .string "The clash between the two awakened\n" + .string "POKéMON was quelled by the awakening\l" + .string "of a third POKéMON…$" + +SootopolisCity_Text_1E6F38: @ 81E6F38 + .string "This is the CAVE OF ORIGIN…\p" + .string "With the passing of the crisis,\n" + .string "the cave, too, shall sleep…$" + +SootopolisCity_Text_1E6F90: @ 81E6F90 + .string "SOOTOPOLIS sprang up as a town in\n" + .string "the crater of a volcano.\p" + .string "If you look up at the sky, the lip of\n" + .string "the crater is also visible.\l" + .string "So, all you see is the sky in a circle.\p" + .string "But that’s what makes the sky above\n" + .string "SOOTOPOLIS the most beautiful.$" + +SootopolisCity_Text_1E7078: @ 81E7078 + .string "When two POKéMON that gigantic\n" + .string "are fighting that savagely, there’s\l" + .string "not much that we can do.$" + +SootopolisCity_Text_1E70D4: @ 81E70D4 + .string "When that third POKéMON flew down,\n" + .string "I feared the worst.$" + +SootopolisCity_Text_1E710B: @ 81E710B + .string "A circle of a night sky framed by\n" + .string "the crater of a volcano…\p" + .string "And in that ring, stars flicker and\n" + .string "blink as if they were alive…\l" + .string "It’s my favorite scenery.$" + +SootopolisCity_Text_1E71A1: @ 81E71A1 + .string "The weather was clear this morning,\n" + .string "but…\p" + .string "All of a sudden, dark clouds brewed up,\n" + .string "rain started falling in sheets, and\l" + .string "there was thunder and lightning, too.\p" + .string "The weather just went completely\n" + .string "wild!\p" + .string "Is all of this because of those\n" + .string "POKéMON?$" + +SootopolisCity_Text_1E728C: @ 81E728C + .string "Oh?\p" + .string "It was you who brought that flying\n" + .string "POKéMON here?\p" + .string "Well, aren’t you amazing!$" + +SootopolisCity_Text_1E72DB: @ 81E72DB + .string "MAXIE: G… GROUDON…\n" + .string "Please! Stop what you’re doing!\p" + .string "I know the extent of your power now!\p" + .string "If you keep going, all HOENN, not just\n" + .string "SOOTOPOLIS, will be utterly ruined!$" + +SootopolisCity_Text_1E737E: @ 81E737E + .string "MAXIE: So the super-ancient POKéMON\n" + .string "weren’t only GROUDON and KYOGRE…\p" + .string "After all our fruitless scheming and\n" + .string "frantic efforts, that one POKéMON’s\l" + .string "simple action puts everything right\l" + .string "again as if nothing had happened…\p" + .string "Fu…\n" + .string "Fuhahaha…$" + +SootopolisCity_Text_1E7460: @ 81E7460 + .string "ARCHIE: KYOGRE! What’s wrong?!\n" + .string "Look over here! It’s the RED ORB!\l" + .string "Calm down! KYOGRE!\p" + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "It’s no good!\n" + .string "It’s not responding at all!$" + +SootopolisCity_Text_1E74F6: @ 81E74F6 + .string "ARCHIE: KYOGRE and GROUDON both\n" + .string "flew off to who knows where.\p" + .string "The weather in HOENN has returned\n" + .string "to its normal state…\p" + .string "Haha…\n" + .string "Hahaha…\p" + .string "Maybe what we were trying to do was\n" + .string "something small, even meaningless,\l" + .string "to POKéMON…$" + +SootopolisCity_Text_1E75CB: @ 81E75CB + .string "STEVEN: Those POKéMON fighting…\n" + .string "GROUDON… And KYOGRE…\p" + .string "The two super-ancient POKéMON\n" + .string "were awakened from a long sleep…\p" + .string "And now they are smashing each other\n" + .string "with their uncontrollable energy…\p" + .string "…{PLAYER}{KUN}.\p" + .string "You being here now I’ll take to mean\n" + .string "that you’re prepared to become\l" + .string "involved in this crisis.\p" + .string "Well, then, there’s someone that\n" + .string "I’d like you to meet.\p" + .string "Come with me, please.$" + +SootopolisCity_Text_1E7737: @ 81E7737 + .string "STEVEN: Listen, {PLAYER}{KUN}.\p" + .string "Does seeing GROUDON and KYOGRE make\n" + .string "you think POKéMON are to be feared?\p" + .string "But that’s not true.\n" + .string "POKéMON are really more…\p" + .string "…Why am I asking you this?\n" + .string "You already know.$" + +SootopolisCity_Text_1E77F0: @ 81E77F0 + .string "STEVEN: Okay, here we are!\p" + .string "Inside here you’ll find someone named\n" + .string "WALLACE.\p" + .string "I think you have what’s needed to\n" + .string "help him…$" + +SootopolisCity_Text_1E7866: @ 81E7866 + .string "STEVEN: I think you have what’s\n" + .string "needed to help him…$" + +SootopolisCity_Text_1E789A: @ 81E789A + .string "STEVEN: The SKY PILLAR…\p" + .string "I’ve never been there.\n" + .string "I wonder where it could be?$" + +SootopolisCity_Text_1E78E5: @ 81E78E5 + .string "STEVEN: So that’s RAYQUAZA…\p" + .string "It’s incredible how the two rampaging\n" + .string "POKéMON would flee from it in fear…$" + +SootopolisCity_Text_1E794B: @ 81E794B + .string "STEVEN: It looks like both MAXIE and\n" + .string "ARCHIE have gone away somewhere.\p" + .string "Perhaps they’ve gone to MT. PYRE to\n" + .string "return those ORBS…$" + +SootopolisCity_Text_1E79C8: @ 81E79C8 + .string "WALLACE: Oh?\n" + .string "{PLAYER}{KUN}?\p" + .string "Haven’t you scaled the SKY PILLAR\n" + .string "yet?\p" + .string "I’m sure that you can make it to\n" + .string "the top of the SKY PILLAR…$" + +SootopolisCity_Text_1E7A3E: @ 81E7A3E + .string "WALLACE: {PLAYER}{KUN}…\p" + .string "The leaders of TEAM MAGMA and AQUA,\n" + .string "I don’t think they meant harm.\p" + .string "It wouldn’t hurt to hear what they\n" + .string "have to say for themselves.$" + +SootopolisCity_Text_1E7ACF: @ 81E7ACF + .string "WALLACE: {PLAYER}{KUN}…\n" + .string "My eyes didn’t deceive me.\p" + .string "Thanks to your help, SOOTOPOLIS…\n" + .string "No, all of HOENN was saved.\p" + .string "On behalf of the people, I thank you.\p" + .string "This is a gift from me.\n" + .string "Please accept it.$" + +SootopolisCity_Text_1E7B86: @ 81E7B86 + .string "That HIDDEN MACHINE contains\n" + .string "WATERFALL.\p" + .string "If you have the RAIN BADGE, a POKéMON\n" + .string "that has learned that HM move can\l" + .string "force its way up waterfalls.\p" + .string "And where does one get the RAIN BADGE?\n" + .string "You know, don’t you?\p" + .string "That’s right! You have to beat\n" + .string "the SOOTOPOLIS GYM LEADER.\p" + .string "When you’re all set to go, step through\n" + .string "that door.$" + +SootopolisCity_Text_1E7CBC: @ 81E7CBC + .string "WALLACE: I’m sure that you will be\n" + .string "dazzled by my mentor’s breathtakingly\l" + .string "elegant battle style.$" diff --git a/data/scripts/maps/SootopolisCity_Gym_1F.inc b/data/scripts/maps/SootopolisCity_Gym_1F.inc new file mode 100644 index 0000000000..362ae269c6 --- /dev/null +++ b/data/scripts/maps/SootopolisCity_Gym_1F.inc @@ -0,0 +1,329 @@ +SootopolisCity_Gym_1F_MapScripts:: @ 8224E4C + map_script 2, SootopolisCity_Gym_1F_MapScript2_224ECB + map_script 5, SootopolisCity_Gym_1F_MapScript1_224E67 + map_script 1, SootopolisCity_Gym_1F_MapScript1_224E6A + map_script 3, SootopolisCity_Gym_1F_MapScript1_224E61 + .byte 0 + +SootopolisCity_Gym_1F_MapScript1_224E61: @ 8224E61 + setvar VAR_ICE_STEP_COUNT, 1 + end + +SootopolisCity_Gym_1F_MapScript1_224E67: @ 8224E67 + setstepcallback 4 + end + +SootopolisCity_Gym_1F_MapScript1_224E6A: @ 8224E6A + call SootopolisCity_Gym_1F_EventScript_224E73 + special sub_809E1C8 + end + +SootopolisCity_Gym_1F_EventScript_224E73:: @ 8224E73 + compare VAR_ICE_STEP_COUNT, 8 + goto_if 0, SootopolisCity_Gym_1F_EventScript_224ECA + compare VAR_ICE_STEP_COUNT, 28 + goto_if 0, SootopolisCity_Gym_1F_EventScript_224EB8 + compare VAR_ICE_STEP_COUNT, 67 + goto_if 0, SootopolisCity_Gym_1F_EventScript_224EA6 + setmetatile 8, 4, 519, 0 + setmetatile 8, 5, 519, 0 + +SootopolisCity_Gym_1F_EventScript_224EA6:: @ 8224EA6 + setmetatile 8, 10, 519, 0 + setmetatile 8, 11, 519, 0 + +SootopolisCity_Gym_1F_EventScript_224EB8:: @ 8224EB8 + setmetatile 8, 15, 519, 0 + setmetatile 8, 16, 519, 0 + +SootopolisCity_Gym_1F_EventScript_224ECA:: @ 8224ECA + return + +SootopolisCity_Gym_1F_MapScript2_224ECB: @ 8224ECB + map_script_2 VAR_ICE_STEP_COUNT, 8, SootopolisCity_Gym_1F_EventScript_224EED + map_script_2 VAR_ICE_STEP_COUNT, 28, SootopolisCity_Gym_1F_EventScript_224F01 + map_script_2 VAR_ICE_STEP_COUNT, 67, SootopolisCity_Gym_1F_EventScript_224F15 + map_script_2 VAR_ICE_STEP_COUNT, 0, SootopolisCity_Gym_1F_EventScript_224F29 + .2byte 0 + +SootopolisCity_Gym_1F_EventScript_224EED:: @ 8224EED + addvar VAR_ICE_STEP_COUNT, 1 + delay 40 + playse SE_RU_GASHIN + call SootopolisCity_Gym_1F_EventScript_224E73 + special DrawWholeMapView + end + +SootopolisCity_Gym_1F_EventScript_224F01:: @ 8224F01 + addvar VAR_ICE_STEP_COUNT, 1 + delay 40 + playse SE_RU_GASHIN + call SootopolisCity_Gym_1F_EventScript_224E73 + special DrawWholeMapView + end + +SootopolisCity_Gym_1F_EventScript_224F15:: @ 8224F15 + addvar VAR_ICE_STEP_COUNT, 1 + delay 40 + playse SE_RU_GASHIN + call SootopolisCity_Gym_1F_EventScript_224E73 + special DrawWholeMapView + end + +SootopolisCity_Gym_1F_EventScript_224F29:: @ 8224F29 + lockall + delay 20 + applymovement 255, SootopolisCity_Gym_1F_Movement_224F42 + waitmovement 0 + playse SE_RU_HYUU + delay 60 + warphole SOOTOPOLIS_CITY_GYM_B1F + waitstate + end + +SootopolisCity_Gym_1F_Movement_224F42: @ 8224F42 + step_54 + step_end + +SootopolisCity_Gym_1F_EventScript_224F44:: @ 8224F44 + trainerbattle 1, TRAINER_JUAN_1, 0, SootopolisCity_Gym_1F_Text_225268, SootopolisCity_Gym_1F_Text_225432, SootopolisCity_Gym_1F_EventScript_224F82 + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq SootopolisCity_Gym_1F_EventScript_225025 + checkflag FLAG_0x0AC + goto_if 0, SootopolisCity_Gym_1F_EventScript_224FF7 + checkflag FLAG_BADGE06_GET + goto_if 0, SootopolisCity_Gym_1F_EventScript_22501B + msgbox SootopolisCity_Gym_1F_Text_225778, 4 + release + end + +SootopolisCity_Gym_1F_EventScript_224F82:: @ 8224F82 + message SootopolisCity_Gym_1F_Text_225598 + waitmessage + call SootopolisCity_Gym_1F_EventScript_27207E + msgbox SootopolisCity_Gym_1F_Text_2255BE, 4 + setflag FLAG_0x4F7 + setflag FLAG_BADGE08_GET + setflag FLAG_0x356 + setflag FLAG_0x3CD + setflag FLAG_0x330 + setvar VAR_0x405E, 6 + clearflag FLAG_0x347 + setvar VAR_0x8008, 8 + call SootopolisCity_Gym_1F_EventScript_271F43 + call SootopolisCity_Gym_1F_EventScript_224FD4 + closemessage + delay 30 + playfanfare MUS_ME_TORE_EYE + msgbox SootopolisCity_Gym_1F_Text_22574D, 4 + waitfanfare + closemessage + delay 30 + setflag FLAG_0x1D9 + release + end + +SootopolisCity_Gym_1F_EventScript_224FD4:: @ 8224FD4 + giveitem_std ITEM_TM03 + compare VAR_RESULT, 0 + goto_eq SootopolisCity_Gym_1F_EventScript_27205E + msgbox SootopolisCity_Gym_1F_Text_2256C1, 4 + setflag FLAG_0x0AC + return + +SootopolisCity_Gym_1F_EventScript_224FF7:: @ 8224FF7 + giveitem_std ITEM_TM03 + compare VAR_RESULT, 0 + goto_eq SootopolisCity_Gym_1F_EventScript_272054 + msgbox SootopolisCity_Gym_1F_Text_2256C1, 4 + setflag FLAG_0x0AC + release + end + +SootopolisCity_Gym_1F_EventScript_22501B:: @ 822501B + msgbox SootopolisCity_Gym_1F_Text_225865, 4 + release + end + +SootopolisCity_Gym_1F_EventScript_225025:: @ 8225025 + trainerbattle 7, TRAINER_JUAN_1, 0, SootopolisCity_Gym_1F_Text_225950, SootopolisCity_Gym_1F_Text_225A2E, SootopolisCity_Gym_1F_Text_225B48 + msgbox SootopolisCity_Gym_1F_Text_225A67, 6 + end + +SootopolisCity_Gym_1F_EventScript_225040:: @ 8225040 + lock + faceplayer + checkflag FLAG_0x4F7 + goto_eq SootopolisCity_Gym_1F_EventScript_225055 + msgbox SootopolisCity_Gym_1F_Text_225093, 4 + release + end + +SootopolisCity_Gym_1F_EventScript_225055:: @ 8225055 + msgbox SootopolisCity_Gym_1F_Text_2251AF, 4 + release + end + +SootopolisCity_Gym_1F_EventScript_22505F:: @ 822505F + lockall + checkflag FLAG_BADGE08_GET + goto_eq SootopolisCity_Gym_1F_EventScript_22507F + goto SootopolisCity_Gym_1F_EventScript_225089 + end + +SootopolisCity_Gym_1F_EventScript_22506F:: @ 822506F + lockall + checkflag FLAG_BADGE08_GET + goto_eq SootopolisCity_Gym_1F_EventScript_22507F + goto SootopolisCity_Gym_1F_EventScript_225089 + end + +SootopolisCity_Gym_1F_EventScript_22507F:: @ 822507F + msgbox SootopolisCity_Gym_1F_Text_225916, 4 + releaseall + end + +SootopolisCity_Gym_1F_EventScript_225089:: @ 8225089 + msgbox SootopolisCity_Gym_1F_Text_2258FA, 4 + releaseall + end + +SootopolisCity_Gym_1F_Text_225093: @ 8225093 + .string "Yo! How’s it going, CHAMPION-\n" + .string "bound {PLAYER}?\p" + .string "SOOTOPOLIS’s GYM LEADER JUAN is\n" + .string "a master of WATER-type POKéMON.\p" + .string "And, to get to JUAN, an icy floor\n" + .string "will hamper your progress…\p" + .string "Listen, I’m sorry, but that’s all the\n" + .string "advice that I have for you.\p" + .string "The rest of the way, you have to\n" + .string "go for it yourself!$" + +SootopolisCity_Gym_1F_Text_2251AF: @ 82251AF + .string "Yow! You’ve beaten even JUAN, who\n" + .string "was supposedly the best in all HOENN!\p" + .string "Okay! Check out your TRAINER CARD.\p" + .string "If you’ve gotten all the BADGES, you’re\n" + .string "set for the POKéMON LEAGUE challenge!$" + +SootopolisCity_Gym_1F_Text_225268: @ 8225268 + .string "Let me ask you.\n" + .string "Did you know?\l" + .string "Ah, I should not be so coy.\p" + .string "It was I who taught WALLACE everything\n" + .string "there is to know about POKéMON.\p" + .string "Once, I had given up my position as\n" + .string "the GYM LEADER.\p" + .string "In my place, I had entrusted WALLACE\n" + .string "with the GYM.\p" + .string "However, a compelling reason arose for\n" + .string "me to make a comeback.\p" + .string "Ah, but enough chatter.\n" + .string "Let us begin our match, shall we?\p" + .string "Please, you shall bear witness to\n" + .string "our artistry.\p" + .string "A grand illusion of water sculpted\n" + .string "by POKéMON and myself!$" + +SootopolisCity_Gym_1F_Text_225432: @ 8225432 + .string "Ahahaha, excellent!\n" + .string "Very well, you are the winner.\p" + .string "From you, I sense the brilliant shine\n" + .string "of skill that will overcome all.\p" + .string "However, compared with me or even\n" + .string "WALLACE, you are lacking in elegance.\p" + .string "Perhaps I should make you a loan\n" + .string "of my outfit?\p" + .string "… … … … … …\n" + .string "… … … … … …\p" + .string "Hahaha, I merely jest!\p" + .string "Rather than my clothes, I shall reward\n" + .string "you with this, the RAIN BADGE!$" + +SootopolisCity_Gym_1F_Text_225598: @ 8225598 + .string "{PLAYER} received the RAIN BADGE\n" + .string "from JUAN.$" + +SootopolisCity_Gym_1F_Text_2255BE: @ 82255BE + .string "Having the RAIN BADGE shall assure you\n" + .string "the full obedience of all your POKéMON\l" + .string "to your every command.\p" + .string "The RAIN BADGE also allows the use\n" + .string "of the HM move WATERFALL to scale\l" + .string "walls of cascading water.\p" + .string "And, so that you never forget the\n" + .string "battle we shared, take this…$" + +SootopolisCity_Gym_1F_Text_2256C1: @ 82256C1 + .string "The TECHNICAL MACHINE I handed you\n" + .string "contains WATER PULSE.\p" + .string "In use, it will occasionally confuse\n" + .string "the target with ultrasonic waves.\p" + .string "… … … … … …$" + +SootopolisCity_Gym_1F_Text_22574D: @ 822574D + .string "Registered GYM LEADER JUAN\n" + .string "in the POKéNAV.$" + +SootopolisCity_Gym_1F_Text_225778: @ 8225778 + .string "The TRAINERS who have gathered all\n" + .string "the GYM BADGES of HOENN should make\l" + .string "way to the ultimate destination.\p" + .string "The POKéMON LEAGUE.\p" + .string "Travel to the easternmost reaches\n" + .string "of HOENN, to the island EVER GRANDE.\p" + .string "There, you shall find the POKéMON\n" + .string "LEAGUE.$" + +SootopolisCity_Gym_1F_Text_225865: @ 8225865 + .string "There remains but one BADGE to\n" + .string "obtain in HOENN.\p" + .string "If you wish to challenge the POKéMON\n" + .string "LEAGUE, you must obtain the last\l" + .string "BADGE from the GYM in FORTREE.$" + +SootopolisCity_Gym_1F_Text_2258FA: @ 82258FA + .string "SOOTOPOLIS CITY POKéMON GYM$" + +SootopolisCity_Gym_1F_Text_225916: @ 8225916 + .string "SOOTOPOLIS CITY POKéMON GYM\p" + .string "JUAN’S CERTIFIED TRAINERS:\n" + .string "{PLAYER}$" + +SootopolisCity_Gym_1F_Text_225950: @ 8225950 + .string "JUAN: Ah, this GYM had returned to its\n" + .string "usual state of serenity…\p" + .string "But our young typhoon has returned\n" + .string "to put us to the test again!\p" + .string "Well, my friend, most certainly!\p" + .string "I shall be delighted to dance with you\n" + .string "as often as you wish!$" + +SootopolisCity_Gym_1F_Text_225A2E: @ 8225A2E + .string "Ahahaha, you are the winner!\n" + .string "You have defeated me again!$" + +SootopolisCity_Gym_1F_Text_225A67: @ 8225A67 + .string "JUAN: If I told you to become my\n" + .string "apprentice, you will refuse, I am sure.\p" + .string "I would like to make a gift of my coat\n" + .string "to you.\p" + .string "But again, you will refuse.\n" + .string "I imagine that to be so.\p" + .string "And that, my friend, is a certain sign\n" + .string "of nobility!$" + +SootopolisCity_Gym_1F_Text_225B48: @ 8225B48 + .string "JUAN: Ah, this GYM had returned to its\n" + .string "usual state of serenity…\p" + .string "But our young typhoon has returned\n" + .string "to put us to the test again!\p" + .string "Well, my friend, most certainly!\n" + .string "I shall be delighted to dance with you…\p" + .string "Ah, no, no, no.\n" + .string "You have with you but one POKéMON.\p" + .string "I wish that you would return with\n" + .string "two, perhaps more, POKéMON, please.$" + diff --git a/data/scripts/maps/SootopolisCity_Gym_B1F.inc b/data/scripts/maps/SootopolisCity_Gym_B1F.inc new file mode 100644 index 0000000000..8aaa604e22 --- /dev/null +++ b/data/scripts/maps/SootopolisCity_Gym_B1F.inc @@ -0,0 +1,183 @@ +SootopolisCity_Gym_B1F_MapScripts:: @ 8225C8A + .byte 0 + +SootopolisCity_Gym_B1F_EventScript_225C8B:: @ 8225C8B + trainerbattle 0, TRAINER_ANDREA, 0, SootopolisCity_Gym_B1F_Text_225D71, SootopolisCity_Gym_B1F_Text_225DB6 + msgbox SootopolisCity_Gym_B1F_Text_225DCF, 6 + end + +SootopolisCity_Gym_B1F_EventScript_225CA2:: @ 8225CA2 + trainerbattle 0, TRAINER_CRISSY, 0, SootopolisCity_Gym_B1F_Text_225E04, SootopolisCity_Gym_B1F_Text_225E60 + msgbox SootopolisCity_Gym_B1F_Text_225E90, 6 + end + +SootopolisCity_Gym_B1F_EventScript_225CB9:: @ 8225CB9 + trainerbattle 0, TRAINER_BRIANNA, 0, SootopolisCity_Gym_B1F_Text_22646E, SootopolisCity_Gym_B1F_Text_226495 + msgbox SootopolisCity_Gym_B1F_Text_2264BC, 6 + end + +SootopolisCity_Gym_B1F_EventScript_225CD0:: @ 8225CD0 + trainerbattle 0, TRAINER_CONNIE, 0, SootopolisCity_Gym_B1F_Text_225FBE, SootopolisCity_Gym_B1F_Text_225FEB + msgbox SootopolisCity_Gym_B1F_Text_225FFE, 6 + end + +SootopolisCity_Gym_B1F_EventScript_225CE7:: @ 8225CE7 + trainerbattle 0, TRAINER_BRIDGET, 0, SootopolisCity_Gym_B1F_Text_226061, SootopolisCity_Gym_B1F_Text_2260B6 + msgbox SootopolisCity_Gym_B1F_Text_2260D1, 6 + end + +SootopolisCity_Gym_B1F_EventScript_225CFE:: @ 8225CFE + trainerbattle 0, TRAINER_OLIVIA, 0, SootopolisCity_Gym_B1F_Text_226164, SootopolisCity_Gym_B1F_Text_2261A7 + msgbox SootopolisCity_Gym_B1F_Text_2261B5, 6 + end + +SootopolisCity_Gym_B1F_EventScript_225D15:: @ 8225D15 + trainerbattle 0, TRAINER_TIFFANY, 0, SootopolisCity_Gym_B1F_Text_2261F7, SootopolisCity_Gym_B1F_Text_226274 + msgbox SootopolisCity_Gym_B1F_Text_226286, 6 + end + +SootopolisCity_Gym_B1F_EventScript_225D2C:: @ 8225D2C + trainerbattle 0, TRAINER_BETHANY, 0, SootopolisCity_Gym_B1F_Text_2262F3, SootopolisCity_Gym_B1F_Text_22633B + msgbox SootopolisCity_Gym_B1F_Text_226341, 6 + end + +SootopolisCity_Gym_B1F_EventScript_225D43:: @ 8225D43 + trainerbattle 0, TRAINER_ANNIKA, 0, SootopolisCity_Gym_B1F_Text_226388, SootopolisCity_Gym_B1F_Text_2263BD + msgbox SootopolisCity_Gym_B1F_Text_2263F4, 6 + end + +SootopolisCity_Gym_B1F_EventScript_225D5A:: @ 8225D5A + trainerbattle 0, TRAINER_DAPHNE, 0, SootopolisCity_Gym_B1F_Text_225ED6, SootopolisCity_Gym_B1F_Text_225F35 + msgbox SootopolisCity_Gym_B1F_Text_225F67, 6 + end + +SootopolisCity_Gym_B1F_Text_225D71: @ 8225D71 + .string "I’ll show you the sublime techniques\n" + .string "I learned from our LEADER JUAN!$" + +SootopolisCity_Gym_B1F_Text_225DB6: @ 8225DB6 + .string "Please forgive me, JUAN…$" + +SootopolisCity_Gym_B1F_Text_225DCF: @ 8225DCF + .string "Watch what happens if you crack all\n" + .string "the floor tiles.$" + +SootopolisCity_Gym_B1F_Text_225E04: @ 8225E04 + .string "You came all the way here, but you won’t\n" + .string "get to see JUAN.\p" + .string "Not if you lose to me, you won’t!$" + +SootopolisCity_Gym_B1F_Text_225E60: @ 8225E60 + .string "You’re strong!\n" + .string "I was fooled by your cute looks!$" + +SootopolisCity_Gym_B1F_Text_225E90: @ 8225E90 + .string "You might be good enough to avoid\n" + .string "being wiped out in one hit by JUAN.$" + +SootopolisCity_Gym_B1F_Text_225ED6: @ 8225ED6 + .string "The sight of JUAN conducting\n" + .string "a battle…\p" + .string "The very beauty of it compelled me to\n" + .string "become a TRAINER.$" + +SootopolisCity_Gym_B1F_Text_225F35: @ 8225F35 + .string "You battled with more beauty than\n" + .string "I could muster…$" + +SootopolisCity_Gym_B1F_Text_225F67: @ 8225F67 + .string "The grace you bring to battle is\n" + .string "fabulous.\p" + .string "Oh… I’m so fortunate to have found\n" + .string "POKéMON.$" + +SootopolisCity_Gym_B1F_Text_225FBE: @ 8225FBE + .string "I should teach you how harsh battles\n" + .string "can be.$" + +SootopolisCity_Gym_B1F_Text_225FEB: @ 8225FEB + .string "Oh.\n" + .string "You’re strong.$" + +SootopolisCity_Gym_B1F_Text_225FFE: @ 8225FFE + .string "I’ll tell you something good.\p" + .string "If you want to reach JUAN, you\n" + .string "need to walk on each floor tile once.$" + +SootopolisCity_Gym_B1F_Text_226061: @ 8226061 + .string "The POKéMON GYM of the highest level\n" + .string "in the HOENN region…\p" + .string "That’s the SOOTOPOLIS GYM.$" + +SootopolisCity_Gym_B1F_Text_2260B6: @ 82260B6 + .string "What a high level you are!$" + +SootopolisCity_Gym_B1F_Text_2260D1: @ 82260D1 + .string "Rather than being satisfied by being\n" + .string "in a strong GYM, I imagine training in\l" + .string "other places will make you stronger.\l" + .string "But above all, it looks more fun.$" + +SootopolisCity_Gym_B1F_Text_226164: @ 8226164 + .string "I train my POKéMON together with\n" + .string "JUAN.\p" + .string "Don’t think I’m a pushover.$" + +SootopolisCity_Gym_B1F_Text_2261A7: @ 82261A7 + .string "I was beaten…$" + +SootopolisCity_Gym_B1F_Text_2261B5: @ 82261B5 + .string "I think you have potential.\n" + .string "Why don’t you stay and train with us?$" + +SootopolisCity_Gym_B1F_Text_2261F7: @ 82261F7 + .string "A graceful glide across the ice while\n" + .string "crossing no lines…\p" + .string "A TRAINER putting on that performance\n" + .string "would be elegantly beautiful!$" + +SootopolisCity_Gym_B1F_Text_226274: @ 8226274 + .string "Well, excuse me?!$" + +SootopolisCity_Gym_B1F_Text_226286: @ 8226286 + .string "This is really obvious, but how strong\n" + .string "you are as a TRAINER has nothing to do\l" + .string "with how young or old you are.$" + +SootopolisCity_Gym_B1F_Text_2262F3: @ 82262F3 + .string "When I’m with my POKéMON, the time\n" + .string "flies by before you can say, “Oops!”$" + +SootopolisCity_Gym_B1F_Text_22633B: @ 822633B + .string "Oops!$" + +SootopolisCity_Gym_B1F_Text_226341: @ 8226341 + .string "I wish I could forget about lost causes\n" + .string "before I can manage an “Oops!”$" + +SootopolisCity_Gym_B1F_Text_226388: @ 8226388 + .string "I can battle with really rare POKéMON\n" + .string "if you’d like.$" + +SootopolisCity_Gym_B1F_Text_2263BD: @ 82263BD + .string "Oh, there now! Did you have a good look\n" + .string "at my POKéMON?$" + +SootopolisCity_Gym_B1F_Text_2263F4: @ 82263F4 + .string "I came to this GYM because JUAN\n" + .string "praised me for my darling POKéMON.\p" + .string "Oh, if only I’d met JUAN years ago\n" + .string "when I was younger…$" + +SootopolisCity_Gym_B1F_Text_22646E: @ 822646E + .string "Giggle…\n" + .string "Your grim look is so charming.$" + +SootopolisCity_Gym_B1F_Text_226495: @ 8226495 + .string "Oh, dear.\n" + .string "I went much too easy on you.$" + +SootopolisCity_Gym_B1F_Text_2264BC: @ 82264BC + .string "You couldn’t lay a finger on JUAN,\n" + .string "I’m sure. Giggle…$" + diff --git a/data/scripts/maps/SootopolisCity_House1.inc b/data/scripts/maps/SootopolisCity_House1.inc new file mode 100644 index 0000000000..7c898a0b21 --- /dev/null +++ b/data/scripts/maps/SootopolisCity_House1.inc @@ -0,0 +1,45 @@ +SootopolisCity_House1_MapScripts:: @ 822694C + .byte 0 + +SootopolisCity_House1_EventScript_22694D:: @ 822694D + lock + faceplayer + checkflag FLAG_0x079 + goto_eq SootopolisCity_House1_EventScript_226984 + msgbox SootopolisCity_House1_Text_2269A1, 4 + giveitem_std ITEM_TM31 + compare VAR_RESULT, 0 + goto_eq SootopolisCity_House1_EventScript_272054 + setflag FLAG_0x079 + msgbox SootopolisCity_House1_Text_226A13, 4 + release + end + +SootopolisCity_House1_EventScript_226984:: @ 8226984 + msgbox SootopolisCity_House1_Text_226A13, 4 + release + end + +SootopolisCity_House1_EventScript_22698E:: @ 822698E + lock + faceplayer + waitse + playmoncry SPECIES_KECLEON, 0 + msgbox SootopolisCity_House1_Text_226A60, 4 + waitmoncry + release + end + +SootopolisCity_House1_Text_2269A1: @ 82269A1 + .string "For thirty years I’ve remained in\n" + .string "SOOTOPOLIS honing my skills.\p" + .string "I developed a shattering TM.\n" + .string "I bequeath it to you!$" + +SootopolisCity_House1_Text_226A13: @ 8226A13 + .string "TM31 contains BRICK BREAK! It’s a move\n" + .string "so horrible that I can’t describe it.$" + +SootopolisCity_House1_Text_226A60: @ 8226A60 + .string "KECLEON: Puu puhyaah.$" + diff --git a/data/scripts/maps/SootopolisCity_House2.inc b/data/scripts/maps/SootopolisCity_House2.inc new file mode 100644 index 0000000000..82270ca56f --- /dev/null +++ b/data/scripts/maps/SootopolisCity_House2.inc @@ -0,0 +1,36 @@ +SootopolisCity_House2_MapScripts:: @ 8226A76 + .byte 0 + +SootopolisCity_House2_EventScript_226A77:: @ 8226A77 + lock + faceplayer + msgbox SootopolisCity_House2_Text_226AAB, 5 + compare VAR_RESULT, 1 + call_if 1, SootopolisCity_House2_EventScript_226A99 + compare VAR_RESULT, 0 + call_if 1, SootopolisCity_House2_EventScript_226AA2 + release + end + +SootopolisCity_House2_EventScript_226A99:: @ 8226A99 + msgbox SootopolisCity_House2_Text_226AF1, 4 + return + +SootopolisCity_House2_EventScript_226AA2:: @ 8226AA2 + msgbox SootopolisCity_House2_Text_226B41, 4 + return + +SootopolisCity_House2_Text_226AAB: @ 8226AAB + .string "MT. PYRE…\p" + .string "At its peak are two orbs placed side\n" + .string "by side. Did you know?$" + +SootopolisCity_House2_Text_226AF1: @ 8226AF1 + .string "Yes, two orbs side by side…\p" + .string "The sight of them together…\n" + .string "It is somehow soothing…$" + +SootopolisCity_House2_Text_226B41: @ 8226B41 + .string "Is that so?\n" + .string "Perhaps you ought to visit and see…$" + diff --git a/data/scripts/maps/SootopolisCity_House3.inc b/data/scripts/maps/SootopolisCity_House3.inc new file mode 100644 index 0000000000..415f906422 --- /dev/null +++ b/data/scripts/maps/SootopolisCity_House3.inc @@ -0,0 +1,43 @@ +SootopolisCity_House3_MapScripts:: @ 8226B71 + .byte 0 + +SootopolisCity_House3_EventScript_226B72:: @ 8226B72 + lock + faceplayer + msgbox SootopolisCity_House3_Text_226BA4, 5 + compare VAR_RESULT, 1 + goto_eq SootopolisCity_House3_EventScript_226B91 + msgbox SootopolisCity_House3_Text_226C44, 4 + release + end + +SootopolisCity_House3_EventScript_226B91:: @ 8226B91 + msgbox SootopolisCity_House3_Text_226C20, 4 + release + end + +SootopolisCity_House3_EventScript_226B9B:: @ 8226B9B + msgbox SootopolisCity_House3_Text_226C9C, 2 + end + +SootopolisCity_House3_Text_226BA4: @ 8226BA4 + .string "You’re a POKéMON TRAINER, aren’t you?\p" + .string "SOOTOPOLIS’s JUAN has many fans.\n" + .string "Even more than his student WALLACE!\p" + .string "Do you have any?$" + +SootopolisCity_House3_Text_226C20: @ 8226C20 + .string "Oh, then you must be pretty strong.$" + +SootopolisCity_House3_Text_226C44: @ 8226C44 + .string "Oh, dear…\n" + .string "That’s a little lonesome.\p" + .string "Try working a little harder to get\n" + .string "a fan following.$" + +SootopolisCity_House3_Text_226C9C: @ 8226C9C + .string "Dedicated fans come over from even\n" + .string "outside of HOENN.\p" + .string "It was really wild when I went to the\n" + .string "TRAINER FAN CLUB in LILYCOVE.$" + diff --git a/data/scripts/maps/SootopolisCity_House4.inc b/data/scripts/maps/SootopolisCity_House4.inc new file mode 100644 index 0000000000..e34e6991d3 --- /dev/null +++ b/data/scripts/maps/SootopolisCity_House4.inc @@ -0,0 +1,39 @@ +SootopolisCity_House4_MapScripts:: @ 8226D15 + .byte 0 + +SootopolisCity_House4_EventScript_226D16:: @ 8226D16 + msgbox SootopolisCity_House4_Text_226D3B, 2 + end + +SootopolisCity_House4_EventScript_226D1F:: @ 8226D1F + msgbox SootopolisCity_House4_Text_226DEA, 2 + end + +SootopolisCity_House4_EventScript_226D28:: @ 8226D28 + lock + faceplayer + waitse + playmoncry SPECIES_AZUMARILL, 0 + msgbox SootopolisCity_House4_Text_226E7F, 4 + waitmoncry + release + end + +SootopolisCity_House4_Text_226D3B: @ 8226D3B + .string "Listen up, and I’ll tell you something\n" + .string "good.\p" + .string "There’s supposed to be an ancient\n" + .string "ruin in the sea around here.\p" + .string "There could be treasures just waiting\n" + .string "to be discovered down there.$" + +SootopolisCity_House4_Text_226DEA: @ 8226DEA + .string "Ancient treasures…\p" + .string "It would be nice if they existed, but\n" + .string "even if they didn’t, it would be so\l" + .string "beautiful to take an underwater\l" + .string "stroll with my POKéMON.$" + +SootopolisCity_House4_Text_226E7F: @ 8226E7F + .string "AZUMARILL: Marurii.$" + diff --git a/data/scripts/maps/SootopolisCity_House5.inc b/data/scripts/maps/SootopolisCity_House5.inc new file mode 100644 index 0000000000..51da02de15 --- /dev/null +++ b/data/scripts/maps/SootopolisCity_House5.inc @@ -0,0 +1,20 @@ +SootopolisCity_House5_MapScripts:: @ 8226E93 + .byte 0 + +SootopolisCity_House5_EventScript_226E94:: @ 8226E94 + msgbox SootopolisCity_House5_Text_226EA6, 2 + end + +SootopolisCity_House5_EventScript_226E9D:: @ 8226E9D + msgbox SootopolisCity_House5_Text_226F35, 2 + end + +SootopolisCity_House5_Text_226EA6: @ 8226EA6 + .string "There appears to be some connection\n" + .string "between SOOTOPOLIS and MT. PYRE.\p" + .string "My friends and I did some research on\n" + .string "it at the lab where I used to work.$" + +SootopolisCity_House5_Text_226F35: @ 8226F35 + .string "My big brother used to study the sea.$" + diff --git a/data/scripts/maps/SootopolisCity_House6.inc b/data/scripts/maps/SootopolisCity_House6.inc new file mode 100644 index 0000000000..38c8456a37 --- /dev/null +++ b/data/scripts/maps/SootopolisCity_House6.inc @@ -0,0 +1,56 @@ +SootopolisCity_House6_MapScripts:: @ 8226F5B + .byte 0 + +SootopolisCity_House6_EventScript_226F5C:: @ 8226F5C + lock + faceplayer + checkflag FLAG_0x0F5 + goto_eq SootopolisCity_House6_EventScript_226FA3 + msgbox SootopolisCity_House6_Text_226FC3, 5 + compare VAR_RESULT, 0 + call_if 1, SootopolisCity_House6_EventScript_226F99 + msgbox SootopolisCity_House6_Text_227034, 4 + givedecoration_std 117 + compare VAR_RESULT, 0 + goto_eq SootopolisCity_House6_EventScript_226FAD + setflag FLAG_0x0F5 + release + end + +SootopolisCity_House6_EventScript_226F99:: @ 8226F99 + msgbox SootopolisCity_House6_Text_22708F, 4 + release + end + +SootopolisCity_House6_EventScript_226FA3:: @ 8226FA3 + msgbox SootopolisCity_House6_Text_2270B7, 4 + release + end + +SootopolisCity_House6_EventScript_226FAD:: @ 8226FAD + bufferdecorationname 1, 117 + msgbox gUnknown_08272B1A, 4 + msgbox SootopolisCity_House6_Text_22704A, 4 + release + end + +SootopolisCity_House6_Text_226FC3: @ 8226FC3 + .string "Hello! You’re our first guest in\n" + .string "a good while.\p" + .string "You’ve brightened up my day, so I’ll\n" + .string "give you a big WAILMER DOLL.$" + +SootopolisCity_House6_Text_227034: @ 8227034 + .string "Take good care of it!$" + +SootopolisCity_House6_Text_22704A: @ 822704A + .string "Oh, you want it, but not right now?\n" + .string "Okay, then I’ll hold it for you.$" + +SootopolisCity_House6_Text_22708F: @ 822708F + .string "Are you sure?\n" + .string "You don’t want this DOLL?$" + +SootopolisCity_House6_Text_2270B7: @ 82270B7 + .string "I love plush DOLLS!$" + diff --git a/data/scripts/maps/SootopolisCity_House7.inc b/data/scripts/maps/SootopolisCity_House7.inc new file mode 100644 index 0000000000..9df9cde0bd --- /dev/null +++ b/data/scripts/maps/SootopolisCity_House7.inc @@ -0,0 +1,26 @@ +SootopolisCity_House7_MapScripts:: @ 82270CB + .byte 0 + +SootopolisCity_House7_EventScript_2270CC:: @ 82270CC + msgbox SootopolisCity_House7_Text_2270DE, 2 + end + +SootopolisCity_House7_EventScript_2270D5:: @ 82270D5 + msgbox SootopolisCity_House7_Text_227190, 2 + end + +SootopolisCity_House7_Text_2270DE: @ 82270DE + .string "An underwater volcano erupted and\n" + .string "forced itself up from the depths.\p" + .string "Its crater emerged from the sea and\n" + .string "became filled with rainwater.\p" + .string "That’s how SOOTOPOLIS CITY came into\n" + .string "being.$" + +SootopolisCity_House7_Text_227190: @ 8227190 + .string "The cave that links SOOTOPOLIS and\n" + .string "the outside world…\p" + .string "It seems as if the cave was made to\n" + .string "keep something from getting out.\p" + .string "Or am I just imagining things?$" + diff --git a/data/scripts/maps/SootopolisCity_LotadAndSeedotHouse.inc b/data/scripts/maps/SootopolisCity_LotadAndSeedotHouse.inc new file mode 100644 index 0000000000..26a322b899 --- /dev/null +++ b/data/scripts/maps/SootopolisCity_LotadAndSeedotHouse.inc @@ -0,0 +1,210 @@ +SootopolisCity_LotadAndSeedotHouse_MapScripts:: @ 822722A + .byte 0 + +SootopolisCity_LotadAndSeedotHouse_EventScript_22722B:: @ 822722B + special GetSeedotSizeRecordInfo + lock + faceplayer + msgbox SootopolisCity_LotadAndSeedotHouse_Text_227369, 4 + special sub_81B94B0 + waitstate + copyvar VAR_RESULT, VAR_0x8004 + compare VAR_RESULT, 255 + goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227272 + special CompareSeedotSize + compare VAR_RESULT, 1 + goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_22727C + compare VAR_RESULT, 2 + goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227286 + compare VAR_RESULT, 3 + goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227290 + release + end + +SootopolisCity_LotadAndSeedotHouse_EventScript_227272:: @ 8227272 + msgbox SootopolisCity_LotadAndSeedotHouse_Text_2275BC, 4 + release + end + +SootopolisCity_LotadAndSeedotHouse_EventScript_22727C:: @ 822727C + msgbox SootopolisCity_LotadAndSeedotHouse_Text_227584, 4 + release + end + +SootopolisCity_LotadAndSeedotHouse_EventScript_227286:: @ 8227286 + msgbox SootopolisCity_LotadAndSeedotHouse_Text_227544, 4 + release + end + +SootopolisCity_LotadAndSeedotHouse_EventScript_227290:: @ 8227290 + msgbox SootopolisCity_LotadAndSeedotHouse_Text_227480, 4 + giveitem_std ITEM_ELIXIR + compare VAR_RESULT, 0 + goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_2272B2 + closemessage + release + end + +SootopolisCity_LotadAndSeedotHouse_EventScript_2272B2:: @ 82272B2 + msgbox SootopolisCity_LotadAndSeedotHouse_Text_227524, 4 + release + end + +SootopolisCity_LotadAndSeedotHouse_EventScript_2272BC:: @ 82272BC + special GetLotadSizeRecordInfo + lock + faceplayer + msgbox SootopolisCity_LotadAndSeedotHouse_Text_227676, 4 + special sub_81B94B0 + waitstate + copyvar VAR_RESULT, VAR_0x8004 + compare VAR_RESULT, 255 + goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227303 + special CompareLotadSize + compare VAR_RESULT, 1 + goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_22730D + compare VAR_RESULT, 2 + goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227317 + compare VAR_RESULT, 3 + goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227321 + release + end + +SootopolisCity_LotadAndSeedotHouse_EventScript_227303:: @ 8227303 + msgbox SootopolisCity_LotadAndSeedotHouse_Text_227896, 4 + release + end + +SootopolisCity_LotadAndSeedotHouse_EventScript_22730D:: @ 822730D + msgbox SootopolisCity_LotadAndSeedotHouse_Text_227867, 4 + release + end + +SootopolisCity_LotadAndSeedotHouse_EventScript_227317:: @ 8227317 + msgbox SootopolisCity_LotadAndSeedotHouse_Text_22782A, 4 + release + end + +SootopolisCity_LotadAndSeedotHouse_EventScript_227321:: @ 8227321 + msgbox SootopolisCity_LotadAndSeedotHouse_Text_22776C, 4 + giveitem_std ITEM_ELIXIR + compare VAR_RESULT, 0 + goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227343 + closemessage + release + end + +SootopolisCity_LotadAndSeedotHouse_EventScript_227343:: @ 8227343 + msgbox SootopolisCity_LotadAndSeedotHouse_Text_22780A, 4 + release + end + +SootopolisCity_LotadAndSeedotHouse_EventScript_22734D:: @ 822734D + special GetSeedotSizeRecordInfo + lockall + msgbox SootopolisCity_LotadAndSeedotHouse_Text_227617, 4 + releaseall + end + +SootopolisCity_LotadAndSeedotHouse_EventScript_22735B:: @ 822735B + special GetLotadSizeRecordInfo + lockall + msgbox SootopolisCity_LotadAndSeedotHouse_Text_2278F2, 4 + releaseall + end + +SootopolisCity_LotadAndSeedotHouse_Text_227369: @ 8227369 + .string "Do you know the POKéMON SEEDOT?\n" + .string "It’s hardly ever seen in SOOTOPOLIS.\p" + .string "Anyway, I love big SEEDOT.\n" + .string "The bigger the better.\p" + .string "But my younger brother, he says that\n" + .string "LOTAD is bigger.\p" + .string "That’s silly.\n" + .string "SEEDOT has to be bigger than that!\p" + .string "Huh? Do you have a SEEDOT with you?\n" + .string "P-p-please, show me!$" + +SootopolisCity_LotadAndSeedotHouse_Text_227480: @ 8227480 + .string "{STR_VAR_2} inches!\n" + .string "Oh, my gosh, this is a big one!\p" + .string "It might even beat the big LOTAD\n" + .string "my younger brother saw!\p" + .string "Thanks for showing me.\n" + .string "This is my thanks!$" + +SootopolisCity_LotadAndSeedotHouse_Text_22750E: @ 822750E + .string "{PLAYER} received a POTION.$" + +SootopolisCity_LotadAndSeedotHouse_Text_227524: @ 8227524 + .string "Hunh?\n" + .string "Your BAG is crammed full.$" + +SootopolisCity_LotadAndSeedotHouse_Text_227544: @ 8227544 + .string "{STR_VAR_2} inches, is it?\p" + .string "Hmm… I’ve seen a bigger SEEDOT\n" + .string "than this one.$" + +SootopolisCity_LotadAndSeedotHouse_Text_227584: @ 8227584 + .string "Oh, now this is quite something…\n" + .string "But it’s not a SEEDOT!$" + +SootopolisCity_LotadAndSeedotHouse_Text_2275BC: @ 82275BC + .string "You don’t have a big SEEDOT?\n" + .string "That’s too bad…\p" + .string "If you get a big SEEDOT, please\n" + .string "come show me.$" + +SootopolisCity_LotadAndSeedotHouse_Text_227617: @ 8227617 + .string "The biggest SEEDOT in history!\n" + .string "{STR_VAR_2}’s {STR_VAR_3}-inch giant!\p" + .string "A SEEDOT bigger than a LOTAD\n" + .string "always wanted!$" + +SootopolisCity_LotadAndSeedotHouse_Text_227676: @ 8227676 + .string "Do you know the POKéMON LOTAD?\n" + .string "It’s rarely seen in SOOTOPOLIS.\p" + .string "I love, I mean love, big LOTAD!\p" + .string "My big brother says that SEEDOT is\n" + .string "bigger.\p" + .string "But that’s wrong! Everyone knows that\n" + .string "LOTAD is a lot bigger.\p" + .string "Hunh? Do you have a LOTAD?\n" + .string "P-p-please show me!$" + +SootopolisCity_LotadAndSeedotHouse_Text_22776C: @ 822776C + .string "{STR_VAR_2} inches!\n" + .string "Wow, that is big!\p" + .string "It might be even bigger than the huge\n" + .string "SEEDOT my big brother saw.\p" + .string "Thanks for showing me!\n" + .string "This is my thanks!$" + +SootopolisCity_LotadAndSeedotHouse_Text_2277F4: @ 82277F4 + .string "{PLAYER} received a POTION.$" + +SootopolisCity_LotadAndSeedotHouse_Text_22780A: @ 822780A + .string "Hunh?\n" + .string "Your BAG is crammed full.$" + +SootopolisCity_LotadAndSeedotHouse_Text_22782A: @ 822782A + .string "{STR_VAR_2} inches?\p" + .string "Hmm… I’ve seen a bigger LOTAD\n" + .string "than this one here.$" + +SootopolisCity_LotadAndSeedotHouse_Text_227867: @ 8227867 + .string "Well, isn’t this something!\n" + .string "But it’s no LOTAD!$" + +SootopolisCity_LotadAndSeedotHouse_Text_227896: @ 8227896 + .string "Don’t you have a big LOTAD?\n" + .string "How disappointing…\p" + .string "If you get a big LOTAD, please\n" + .string "come show me!$" + +SootopolisCity_LotadAndSeedotHouse_Text_2278F2: @ 82278F2 + .string "The biggest LOTAD in history!\n" + .string "{STR_VAR_2}’s {STR_VAR_3}-inch colossus!\p" + .string "A LOTAD bigger than a SEEDOT\n" + .string "always wanted!$" + diff --git a/data/scripts/maps/SootopolisCity_Mart.inc b/data/scripts/maps/SootopolisCity_Mart.inc new file mode 100644 index 0000000000..26ab5497c5 --- /dev/null +++ b/data/scripts/maps/SootopolisCity_Mart.inc @@ -0,0 +1,80 @@ +SootopolisCity_Mart_MapScripts:: @ 8226794 + .byte 0 + +SootopolisCity_Mart_EventScript_226795:: @ 8226795 + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemart SootopolisCity_Mart_Pokemart_2267AC + msgbox gUnknown_08272A3F, 4 + release + end + +SootopolisCity_Mart_Pokemart_2267AC: @ 82267AC + .2byte ITEM_ULTRA_BALL + .2byte ITEM_HYPER_POTION + .2byte ITEM_MAX_POTION + .2byte ITEM_FULL_HEAL + .2byte ITEM_REVIVE + .2byte ITEM_MAX_REPEL + .2byte ITEM_X_ATTACK + .2byte ITEM_X_DEFEND + .2byte ITEM_SHADOW_MAIL + .2byte ITEM_NONE + release + end + +SootopolisCity_Mart_EventScript_2267C2:: @ 82267C2 + lock + faceplayer + compare VAR_0x40CA, 2 + goto_if 4, SootopolisCity_Mart_EventScript_2267E2 + checkflag FLAG_0x081 + goto_if 0, SootopolisCity_Mart_EventScript_2267E2 + msgbox SootopolisCity_Mart_Text_22685D, 4 + release + end + +SootopolisCity_Mart_EventScript_2267E2:: @ 82267E2 + msgbox SootopolisCity_Mart_Text_226816, 4 + release + end + +SootopolisCity_Mart_EventScript_2267EC:: @ 82267EC + lock + faceplayer + compare VAR_0x40CA, 2 + goto_if 4, SootopolisCity_Mart_EventScript_22680C + checkflag FLAG_0x081 + goto_if 0, SootopolisCity_Mart_EventScript_22680C + msgbox SootopolisCity_Mart_Text_226928, 4 + release + end + +SootopolisCity_Mart_EventScript_22680C:: @ 822680C + msgbox SootopolisCity_Mart_Text_2268AF, 4 + release + end + +SootopolisCity_Mart_Text_226816: @ 8226816 + .string "PP UP is great!\p" + .string "It raises the POWER POINTS, the PP,\n" + .string "of a POKéMON move.$" + +SootopolisCity_Mart_Text_22685D: @ 822685D + .string "What…\n" + .string "What is happening?\p" + .string "I really want to know, but it’s too\n" + .string "scary to go outside.$" + +SootopolisCity_Mart_Text_2268AF: @ 82268AF + .string "Do you know FULL RESTORE?\p" + .string "Full restoration of HP!\n" + .string "Eradication of all status problems!\p" + .string "It’s truly an item of your dreams!$" + +SootopolisCity_Mart_Text_226928: @ 8226928 + .string "This weather…\n" + .string "Did something awaken?$" + diff --git a/data/scripts/maps/SootopolisCity_MysteryEventsHouse_1F.inc b/data/scripts/maps/SootopolisCity_MysteryEventsHouse_1F.inc new file mode 100644 index 0000000000..019bdce102 --- /dev/null +++ b/data/scripts/maps/SootopolisCity_MysteryEventsHouse_1F.inc @@ -0,0 +1,241 @@ +SootopolisCity_MysteryEventsHouse_1F_MapScripts:: @ 8227953 + map_script 3, SootopolisCity_MysteryEventsHouse_1F_MapScript1_22795E + map_script 2, SootopolisCity_MysteryEventsHouse_1F_MapScript2_22799D + .byte 0 + +SootopolisCity_MysteryEventsHouse_1F_MapScript1_22795E: @ 822795E + setvar VAR_0x8004, 16 + special sub_81A1780 + compare VAR_RESULT, 0 + call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_22797D + compare VAR_0x40C0, 0 + call_if 5, SootopolisCity_MysteryEventsHouse_1F_EventScript_227991 + end + +SootopolisCity_MysteryEventsHouse_1F_EventScript_22797D:: @ 822797D + setvar VAR_0x4001, 1 + setobjectxyperm 1, 3, 2 + setobjectmovementtype 1, 8 + setmaplayoutindex 441 + return + +SootopolisCity_MysteryEventsHouse_1F_EventScript_227991:: @ 8227991 + setobjectxyperm 1, 2, 2 + setobjectmovementtype 1, 10 + return + +SootopolisCity_MysteryEventsHouse_1F_MapScript2_22799D: @ 822799D + map_script_2 VAR_0x40C0, 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7 + map_script_2 VAR_0x40C0, 2, SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7 + map_script_2 VAR_0x40C0, 3, SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7 + .2byte 0 + +SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7:: @ 82279B7 + lockall + applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_227A1F + waitmovement 0 + applymovement 1, SootopolisCity_MysteryEventsHouse_1F_Movement_227A21 + waitmovement 0 + moveobjectoffscreen 1 + applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_2725A6 + waitmovement 0 + compare VAR_0x40C0, 1 + call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227A04 + compare VAR_0x40C0, 2 + call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227A0D + compare VAR_0x40C0, 3 + call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227A16 + special copy_player_party_from_sav1 + setvar VAR_0x40C0, 0 + releaseall + end + +SootopolisCity_MysteryEventsHouse_1F_EventScript_227A04:: @ 8227A04 + msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227DB8, 4 + return + +SootopolisCity_MysteryEventsHouse_1F_EventScript_227A0D:: @ 8227A0D + msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227E03, 4 + return + +SootopolisCity_MysteryEventsHouse_1F_EventScript_227A16:: @ 8227A16 + msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227D5B, 4 + return + +SootopolisCity_MysteryEventsHouse_1F_Movement_227A1F: @ 8227A1F + step_down + step_end + +SootopolisCity_MysteryEventsHouse_1F_Movement_227A21: @ 8227A21 + step_right + step_25 + step_end + +SootopolisCity_MysteryEventsHouse_1F_EventScript_227A24:: @ 8227A24 + lock + faceplayer + setvar VAR_0x8004, 16 + special sub_81A1780 + compare VAR_RESULT, 1 + goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A4E + compare VAR_0x4001, 1 + goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58 + msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227B46, 4 + release + end + +SootopolisCity_MysteryEventsHouse_1F_EventScript_227A4E:: @ 8227A4E + msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227B46, 4 + release + end + +SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58:: @ 8227A58 + special copy_player_party_to_sav1 + special sub_8139238 + msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227BFC, 5 + compare VAR_RESULT, 0 + goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2 + call SootopolisCity_MysteryEventsHouse_1F_EventScript_227AEF + compare VAR_RESULT, 0 + goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2 + msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227CEB, 5 + compare VAR_RESULT, 0 + goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2 + special copy_player_party_from_sav1 + call SootopolisCity_MysteryEventsHouse_1F_EventScript_27134F + compare VAR_RESULT, 0 + goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2 + special copy_player_party_to_sav1 + special sub_80F94E8 + msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227D21, 4 + closemessage + compare VAR_FACING, 2 + call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227AFE + compare VAR_FACING, 4 + call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227B10 + compare VAR_FACING, 3 + call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227B22 + warp SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_B1F, 255, 3, 1 + waitstate + release + end + +SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2:: @ 8227AE2 + special copy_player_party_from_sav1 + msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227C44, 4 + release + end + +SootopolisCity_MysteryEventsHouse_1F_EventScript_227AEF:: @ 8227AEF + msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227C84, 4 + fadescreen 1 + special sub_80F9438 + waitstate + return + +SootopolisCity_MysteryEventsHouse_1F_EventScript_227AFE:: @ 8227AFE + applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_227B40 + applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_227B34 + waitmovement 0 + return + +SootopolisCity_MysteryEventsHouse_1F_EventScript_227B10:: @ 8227B10 + applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_227B43 + applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_227B38 + waitmovement 0 + return + +SootopolisCity_MysteryEventsHouse_1F_EventScript_227B22:: @ 8227B22 + applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_227B40 + applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_227B3C + waitmovement 0 + return + +SootopolisCity_MysteryEventsHouse_1F_Movement_227B34: @ 8227B34 + step_14 + step_up + step_up + step_end + +SootopolisCity_MysteryEventsHouse_1F_Movement_227B38: @ 8227B38 + step_14 + step_right + step_up + step_end + +SootopolisCity_MysteryEventsHouse_1F_Movement_227B3C: @ 8227B3C + step_14 + step_left + step_up + step_end + +SootopolisCity_MysteryEventsHouse_1F_Movement_227B40: @ 8227B40 + step_left + step_28 + step_end + +SootopolisCity_MysteryEventsHouse_1F_Movement_227B43: @ 8227B43 + step_right + step_27 + step_end + +SootopolisCity_MysteryEventsHouse_1F_Text_227B46: @ 8227B46 + .string "When I was young, I traveled the world\n" + .string "as a POKéMON TRAINER.\p" + .string "Now that I’ve become an old buzzard,\n" + .string "my only amusement is watching young\l" + .string "TRAINERS battle.$" + +SootopolisCity_MysteryEventsHouse_1F_Text_227BDD: @ 8227BDD + .string "The door appears to be locked.$" + +SootopolisCity_MysteryEventsHouse_1F_Text_227BFC: @ 8227BFC + .string "A TRAINER named {STR_VAR_1}\n" + .string "is visiting my home.\p" + .string "Would you like to challenge\n" + .string "{STR_VAR_1}?$" + +SootopolisCity_MysteryEventsHouse_1F_Text_227C44: @ 8227C44 + .string "You won’t battle? I’m disappointed\n" + .string "that I can’t see you battle…$" + +SootopolisCity_MysteryEventsHouse_1F_Text_227C84: @ 8227C84 + .string "Oh, good, good!\p" + .string "But my house isn’t all that sturdy.\p" + .string "Could I ask you to keep it down to\n" + .string "a 3-on-3 match?$" + +SootopolisCity_MysteryEventsHouse_1F_Text_227CEB: @ 8227CEB + .string "Before you two battle, you should\n" + .string "save your progress.$" + +SootopolisCity_MysteryEventsHouse_1F_Text_227D21: @ 8227D21 + .string "I hope to see a good match!$" + +SootopolisCity_MysteryEventsHouse_1F_Text_227D3D: @ 8227D3D + .string "{STR_VAR_1}$" + +SootopolisCity_MysteryEventsHouse_B1F_Text_227D40: @ 8227D40 + .string "The match ended up a draw.$" + +SootopolisCity_MysteryEventsHouse_1F_Text_227D5B: @ 8227D5B + .string "So, it became a standoff.\p" + .string "It was a brilliant match in which\n" + .string "neither side conceded a step!$" + +SootopolisCity_MysteryEventsHouse_1F_Text_227DB5: @ 8227DB5 + .string "{STR_VAR_1}$" + +SootopolisCity_MysteryEventsHouse_1F_Text_227DB8: @ 8227DB8 + .string "That was superlative!\p" + .string "Why, it was like seeing myself in\n" + .string "my youth again!$" + +SootopolisCity_MysteryEventsHouse_1F_Text_227E00: @ 8227E00 + .string "{STR_VAR_1}$" + +SootopolisCity_MysteryEventsHouse_1F_Text_227E03: @ 8227E03 + .string "Ah, too bad for you!\p" + .string "But it was a good match.\n" + .string "I hope you can win next time.$" + diff --git a/data/scripts/maps/SootopolisCity_MysteryEventsHouse_B1F.inc b/data/scripts/maps/SootopolisCity_MysteryEventsHouse_B1F.inc new file mode 100644 index 0000000000..78c7303ae8 --- /dev/null +++ b/data/scripts/maps/SootopolisCity_MysteryEventsHouse_B1F.inc @@ -0,0 +1,78 @@ +SootopolisCity_MysteryEventsHouse_B1F_MapScripts:: @ 8227E4F + map_script 3, SootopolisCity_MysteryEventsHouse_B1F_MapScript1_227E5A + map_script 2, SootopolisCity_MysteryEventsHouse_B1F_MapScript2_227E5E + .byte 0 + +SootopolisCity_MysteryEventsHouse_B1F_MapScript1_227E5A: @ 8227E5A + special sub_8162794 + end + +SootopolisCity_MysteryEventsHouse_B1F_MapScript2_227E5E: @ 8227E5E + map_script_2 VAR_0x4001, 0, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68 + .2byte 0 + +SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68:: @ 8227E68 + lockall + applymovement 255, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF3 + waitmovement 0 + special sub_8165360 + msgbox 0x2021fc4, 4 + closemessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + special sub_8163AC4 + waitstate + compare VAR_RESULT, 3 + call_if 1, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227ECF + compare VAR_RESULT, 1 + call_if 1, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EDD + compare VAR_RESULT, 2 + call_if 1, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EE8 + closemessage + special HealPlayerParty + applymovement 255, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF9 + waitmovement 0 + special copy_player_party_from_sav1 + setvar VAR_0x4001, 1 + warp SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F, 255, 3, 1 + waitstate + releaseall + end + +SootopolisCity_MysteryEventsHouse_B1F_EventScript_227ECF:: @ 8227ECF + setvar VAR_0x40C0, 3 + msgbox SootopolisCity_MysteryEventsHouse_B1F_Text_227D40, 4 + return + +SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EDD:: @ 8227EDD + setvar VAR_0x40C0, 1 + special ShowFieldMessageStringVar4 + waitmessage + waitbuttonpress + return + +SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EE8:: @ 8227EE8 + setvar VAR_0x40C0, 2 + special ShowFieldMessageStringVar4 + waitmessage + waitbuttonpress + return + +SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF3: @ 8227EF3 + step_down + step_down + step_down + step_right + step_right + step_end + +SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF9: @ 8227EF9 + step_left + step_left + step_up + step_up + step_up + step_up + step_13 + step_end + diff --git a/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc b/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc new file mode 100644 index 0000000000..fcb1b58631 --- /dev/null +++ b/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc @@ -0,0 +1,74 @@ +SootopolisCity_PokemonCenter_1F_MapScripts:: @ 82264F1 + map_script 3, SootopolisCity_PokemonCenter_1F_MapScript1_2264FC + map_script 5, SootopolisCity_PokemonCenter_1F_MapScript1_277C30 + .byte 0 + +SootopolisCity_PokemonCenter_1F_MapScript1_2264FC: @ 82264FC + setrespawn 10 + end + +SootopolisCity_PokemonCenter_1F_EventScript_226500:: @ 8226500 + setvar VAR_0x800B, 1 + call SootopolisCity_PokemonCenter_1F_EventScript_27191E + waitmessage + waitbuttonpress + release + end + +SootopolisCity_PokemonCenter_1F_EventScript_22650E:: @ 822650E + lock + faceplayer + compare VAR_0x40CA, 2 + goto_if 4, SootopolisCity_PokemonCenter_1F_EventScript_22652E + checkflag FLAG_0x081 + goto_if 0, SootopolisCity_PokemonCenter_1F_EventScript_22652E + msgbox SootopolisCity_PokemonCenter_1F_Text_22664B, 4 + release + end + +SootopolisCity_PokemonCenter_1F_EventScript_22652E:: @ 822652E + msgbox SootopolisCity_PokemonCenter_1F_Text_226562, 4 + release + end + +SootopolisCity_PokemonCenter_1F_EventScript_226538:: @ 8226538 + lock + faceplayer + compare VAR_0x40CA, 2 + goto_if 4, SootopolisCity_PokemonCenter_1F_EventScript_226558 + checkflag FLAG_0x081 + goto_if 0, SootopolisCity_PokemonCenter_1F_EventScript_226558 + msgbox SootopolisCity_PokemonCenter_1F_Text_22672F, 4 + release + end + +SootopolisCity_PokemonCenter_1F_EventScript_226558:: @ 8226558 + msgbox SootopolisCity_PokemonCenter_1F_Text_2266B9, 4 + release + end + +SootopolisCity_PokemonCenter_1F_Text_226562: @ 8226562 + .string "WALLACE is rumored to be the toughest\n" + .string "TRAINER in the whole HOENN region.\p" + .string "This town’s GYM is led by the TRAINER\n" + .string "who taught WALLACE.\p" + .string "But the ELITE FOUR… They’re said to be\n" + .string "even stronger than WALLACE’s mentor.\p" + .string "How strong could they be?$" + +SootopolisCity_PokemonCenter_1F_Text_22664B: @ 822664B + .string "Everyone in town has taken refuge\n" + .string "and won’t come out of their homes.\p" + .string "Even I would rather not venture\n" + .string "outside.$" + +SootopolisCity_PokemonCenter_1F_Text_2266B9: @ 82266B9 + .string "Whenever, wherever, and whatever\n" + .string "happens, I will always be friends with\l" + .string "POKéMON.\p" + .string "Because it’s fun to be with POKéMON!$" + +SootopolisCity_PokemonCenter_1F_Text_22672F: @ 822672F + .string "Aren’t POKéMON our friends?\p" + .string "Why are they going wild this way?$" + diff --git a/data/scripts/maps/SootopolisCity_PokemonCenter_2F.inc b/data/scripts/maps/SootopolisCity_PokemonCenter_2F.inc new file mode 100644 index 0000000000..43d8a9d2ff --- /dev/null +++ b/data/scripts/maps/SootopolisCity_PokemonCenter_2F.inc @@ -0,0 +1,19 @@ +SootopolisCity_PokemonCenter_2F_MapScripts:: @ 822676D + map_script 2, SootopolisCity_PokemonCenter_2F_MapScript2_276C3B + map_script 4, SootopolisCity_PokemonCenter_2F_MapScript2_276B6C + map_script 1, SootopolisCity_PokemonCenter_2F_MapScript1_276BBE + map_script 3, SootopolisCity_PokemonCenter_2F_MapScript1_276ACF + .byte 0 + +SootopolisCity_PokemonCenter_2F_EventScript_226782:: @ 8226782 + call OldaleTown_PokemonCenter_2F_EventScript_276EB7 + end + +SootopolisCity_PokemonCenter_2F_EventScript_226788:: @ 8226788 + call OldaleTown_PokemonCenter_2F_EventScript_2770B2 + end + +SootopolisCity_PokemonCenter_2F_EventScript_22678E:: @ 822678E + call OldaleTown_PokemonCenter_2F_EventScript_2771DB + end + diff --git a/data/scripts/maps/SouthernIsland_Exterior.inc b/data/scripts/maps/SouthernIsland_Exterior.inc new file mode 100644 index 0000000000..8784a6424f --- /dev/null +++ b/data/scripts/maps/SouthernIsland_Exterior.inc @@ -0,0 +1,55 @@ +SouthernIsland_Exterior_MapScripts:: @ 82429C8 + map_script 3, SouthernIsland_Exterior_MapScript1_2429CE + .byte 0 + +SouthernIsland_Exterior_MapScript1_2429CE: @ 82429CE + setflag FLAG_LANDMARK_SOUTHERN_ISLAND + end + +SouthernIsland_Exterior_EventScript_2429D2:: @ 82429D2 + lock + faceplayer + msgbox SouthernIsland_Exterior_Text_2A69F1, 5 + compare VAR_RESULT, 0 + goto_eq SouthernIsland_Exterior_EventScript_242A17 + msgbox SouthernIsland_Exterior_Text_2A6A5D, 4 + closemessage + applymovement VAR_LAST_TALKED, SouthernIsland_Exterior_Movement_2725AA + waitmovement 0 + delay 30 + hideobjectat 1, SOUTHERN_ISLAND_EXTERIOR + setvar VAR_0x8004, 2 + call SouthernIsland_Exterior_EventScript_272250 + warp LILYCOVE_CITY_HARBOR, 255, 8, 11 + waitstate + release + end + +SouthernIsland_Exterior_EventScript_242A17:: @ 8242A17 + msgbox SouthernIsland_Exterior_Text_2A6A82, 4 + release + end + +BattleFrontier_OutsideWest_EventScript_242A21:: @ 8242A21 + applymovement 255, BattleFrontier_OutsideWest_Movement_242A37 + waitmovement 0 + return + +BattleFrontier_OutsideWest_EventScript_242A2C:: @ 8242A2C + applymovement 255, BattleFrontier_OutsideWest_Movement_242A39 + waitmovement 0 + return + +BattleFrontier_OutsideWest_Movement_242A37: @ 8242A37 + step_down + step_end + +BattleFrontier_OutsideWest_Movement_242A39: @ 8242A39 + step_left + step_25 + step_end + +SouthernIsland_Exterior_EventScript_242A3C:: @ 8242A3C + msgbox SouthernIsland_Exterior_Text_2A6AD5, 3 + end + diff --git a/data/scripts/maps/SouthernIsland_Interior.inc b/data/scripts/maps/SouthernIsland_Interior.inc new file mode 100644 index 0000000000..057c4581d0 --- /dev/null +++ b/data/scripts/maps/SouthernIsland_Interior.inc @@ -0,0 +1,167 @@ +SouthernIsland_Interior_MapScripts:: @ 8242A45 + map_script 5, SouthernIsland_Interior_MapScript1_242A50 + map_script 3, SouthernIsland_Interior_MapScript1_242A6E + .byte 0 + +SouthernIsland_Interior_MapScript1_242A50: @ 8242A50 + checkflag FLAG_SYS_CTRL_OBJ_DELETE + call_if 1, SouthernIsland_Interior_EventScript_242A5A + end + +SouthernIsland_Interior_EventScript_242A5A:: @ 8242A5A + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 7 + goto_if 5, SouthernIsland_Interior_EventScript_27374E + removeobject 2 + return + +SouthernIsland_Interior_MapScript1_242A6E: @ 8242A6E + compare VAR_0x40D5, 0 + call_if 1, SouthernIsland_Interior_EventScript_242A8A + compare VAR_0x40D5, 0 + call_if 5, SouthernIsland_Interior_EventScript_242A95 + call SouthernIsland_Interior_EventScript_242AA0 + end + +SouthernIsland_Interior_EventScript_242A8A:: @ 8242A8A + setvar VAR_0x4011, 188 + setvar VAR_0x4004, 408 + return + +SouthernIsland_Interior_EventScript_242A95:: @ 8242A95 + setvar VAR_0x4011, 187 + setvar VAR_0x4004, 407 + return + +SouthernIsland_Interior_EventScript_242AA0:: @ 8242AA0 + checkplayergender + compare VAR_RESULT, 0 + goto_eq SouthernIsland_Interior_EventScript_242AB8 + compare VAR_RESULT, 1 + goto_eq SouthernIsland_Interior_EventScript_242ABE + end + +SouthernIsland_Interior_EventScript_242AB8:: @ 8242AB8 + setvar VAR_0x4010, 100 + return + +SouthernIsland_Interior_EventScript_242ABE:: @ 8242ABE + setvar VAR_0x4010, 105 + return + +SouthernIsland_Interior_EventScript_242AC4:: @ 8242AC4 + lockall + setvar VAR_0x8008, 12 + goto SouthernIsland_Interior_EventScript_242AD0 + end + +SouthernIsland_Interior_EventScript_242AD0:: @ 8242AD0 + checkflag FLAG_0x002 + goto_eq SouthernIsland_Interior_EventScript_242B9A + checkflag FLAG_0x1C8 + goto_eq SouthernIsland_Interior_EventScript_242B9A + checkflag FLAG_0x1C9 + goto_eq SouthernIsland_Interior_EventScript_242B9A + checkflag FLAG_SYS_HAS_EON_TICKET + goto_if 0, SouthernIsland_Interior_EventScript_242B9A + setflag FLAG_0x0CE + setflag FLAG_0x002 + special SpawnScriptFieldObject + applymovement 127, SouthernIsland_Interior_Movement_242BCA + waitmovement 0 + delay 50 + waitse + playmoncry VAR_0x4004, 0 + delay 30 + waitmoncry + addobject 2 + delay 30 + applymovement 127, SouthernIsland_Interior_Movement_242BCE + applymovement 2, SouthernIsland_Interior_Movement_242BDA + waitmovement 0 + delay 50 + special RemoveScriptFieldObject + setvar VAR_LAST_TALKED, 2 + compare VAR_0x40D5, 0 + call_if 1, SouthernIsland_Interior_EventScript_242BA4 + compare VAR_0x40D5, 0 + call_if 5, SouthernIsland_Interior_EventScript_242BB7 + setflag FLAG_SYS_CTRL_OBJ_DELETE + special BattleSetup_StartLatiBattle + waitstate + clearflag FLAG_SYS_CTRL_OBJ_DELETE + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 1 + goto_eq SouthernIsland_Interior_EventScript_242B81 + compare VAR_RESULT, 4 + goto_eq SouthernIsland_Interior_EventScript_242B8F + compare VAR_RESULT, 5 + goto_eq SouthernIsland_Interior_EventScript_242B8F + setflag FLAG_0x1C9 + releaseall + end + +SouthernIsland_Interior_EventScript_242B81:: @ 8242B81 + setflag FLAG_0x1C8 + copyvar VAR_0x8004, VAR_0x4004 + goto SouthernIsland_Interior_EventScript_273776 + end + +SouthernIsland_Interior_EventScript_242B8F:: @ 8242B8F + copyvar VAR_0x8004, VAR_0x4004 + goto SouthernIsland_Interior_EventScript_273776 + end + +SouthernIsland_Interior_EventScript_242B9A:: @ 8242B9A + msgbox SouthernIsland_Interior_Text_2A6AA1, 4 + releaseall + end + +SouthernIsland_Interior_EventScript_242BA4:: @ 8242BA4 + setvar VAR_0x8004, 408 + setvar VAR_0x8005, 50 + setvar VAR_0x8006, 191 + special DoScriptedWildBattle + return + +SouthernIsland_Interior_EventScript_242BB7:: @ 8242BB7 + setvar VAR_0x8004, 407 + setvar VAR_0x8005, 50 + setvar VAR_0x8006, 191 + special DoScriptedWildBattle + return + +SouthernIsland_Interior_Movement_242BCA: @ 8242BCA + step_up + step_up + step_up + step_end + +SouthernIsland_Interior_Movement_242BCE: @ 8242BCE + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_14 + step_down + step_down + step_down + step_26 + step_end + +SouthernIsland_Interior_Movement_242BDA: @ 8242BDA + step_down + step_down + step_down + step_down + step_down + step_14 + step_14 + step_down + step_down + step_down + step_down + step_end + diff --git a/data/scripts/maps/TerraCave_End.inc b/data/scripts/maps/TerraCave_End.inc new file mode 100644 index 0000000000..63fc07f5ba --- /dev/null +++ b/data/scripts/maps/TerraCave_End.inc @@ -0,0 +1,78 @@ +TerraCave_End_MapScripts:: @ 823B0B0 + map_script 5, TerraCave_End_MapScript1_23B0BB + map_script 3, TerraCave_End_MapScript1_23B0D9 + .byte 0 + +TerraCave_End_MapScript1_23B0BB: @ 823B0BB + checkflag FLAG_SYS_CTRL_OBJ_DELETE + call_if 1, TerraCave_End_EventScript_23B0C5 + end + +TerraCave_End_EventScript_23B0C5:: @ 823B0C5 + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 7 + goto_if 5, TerraCave_End_EventScript_27374E + removeobject 1 + return + +TerraCave_End_MapScript1_23B0D9: @ 823B0D9 + checkflag FLAG_0x1BF + call_if 0, TerraCave_End_EventScript_23B0E3 + end + +TerraCave_End_EventScript_23B0E3:: @ 823B0E3 + clearflag FLAG_0x30F + setvar VAR_0x4001, 1 + return + +TerraCave_End_EventScript_23B0EC:: @ 823B0EC + lockall + applymovement 255, TerraCave_End_Movement_2725B2 + waitmovement 0 + applymovement 1, TerraCave_End_Movement_23B16E + waitmovement 0 + waitse + playmoncry SPECIES_GROUDON, 2 + delay 40 + waitmoncry + setvar VAR_LAST_TALKED, 1 + setwildbattle SPECIES_GROUDON, 70, ITEM_NONE + setflag FLAG_SYS_CTRL_OBJ_DELETE + special BattleSetup_StartLegendaryBattle + waitstate + clearflag FLAG_SYS_CTRL_OBJ_DELETE + setvar VAR_0x4001, 0 + specialvar VAR_RESULT, sub_8138B80 + compare VAR_RESULT, 1 + goto_eq TerraCave_End_EventScript_23B155 + compare VAR_RESULT, 4 + goto_eq TerraCave_End_EventScript_23B163 + compare VAR_RESULT, 5 + goto_eq TerraCave_End_EventScript_23B163 + setvar VAR_0x4039, 1 + setflag FLAG_0x1BF + releaseall + end + +TerraCave_End_EventScript_23B155:: @ 823B155 + setvar VAR_0x4039, 1 + setflag FLAG_0x1BF + goto TerraCave_End_EventScript_27376D + end + +TerraCave_End_EventScript_23B163:: @ 823B163 + setvar VAR_0x8004, 405 + goto TerraCave_End_EventScript_273776 + end + +TerraCave_End_Movement_23B16E: @ 823B16E + step_5e + step_62 + step_14 + step_14 + step_63 + step_14 + step_14 + step_63 + step_end + diff --git a/data/scripts/maps/TerraCave_Entrance.inc b/data/scripts/maps/TerraCave_Entrance.inc new file mode 100644 index 0000000000..1762265eab --- /dev/null +++ b/data/scripts/maps/TerraCave_Entrance.inc @@ -0,0 +1,8 @@ +TerraCave_Entrance_MapScripts:: @ 823B0A6 + map_script 3, TerraCave_Entrance_MapScript1_23B0AC + .byte 0 + +TerraCave_Entrance_MapScript1_23B0AC: @ 823B0AC + setflag FLAG_0x8DA + end + diff --git a/data/scripts/maps/TradeCenter.inc b/data/scripts/maps/TradeCenter.inc new file mode 100644 index 0000000000..e0e0e7d1ec --- /dev/null +++ b/data/scripts/maps/TradeCenter.inc @@ -0,0 +1,3 @@ +TradeCenter_MapScripts:: @ 823B77E + .byte 0 + diff --git a/data/scripts/maps/TrainerHill_1F.inc b/data/scripts/maps/TrainerHill_1F.inc new file mode 100644 index 0000000000..465a6d7812 --- /dev/null +++ b/data/scripts/maps/TrainerHill_1F.inc @@ -0,0 +1,6 @@ +TrainerHill_1F_MapScripts:: @ 8268F71 + map_script 5, TrainerHill_1F_MapScript1_2C8336 + map_script 4, TrainerHill_1F_MapScript2_2C8372 + map_script 2, TrainerHill_1F_MapScript2_2C8381 + .byte 0 + diff --git a/data/scripts/maps/TrainerHill_2F.inc b/data/scripts/maps/TrainerHill_2F.inc new file mode 100644 index 0000000000..ca8eeff72c --- /dev/null +++ b/data/scripts/maps/TrainerHill_2F.inc @@ -0,0 +1,6 @@ +TrainerHill_2F_MapScripts:: @ 8268F81 + map_script 5, TrainerHill_2F_MapScript1_2C8336 + map_script 4, TrainerHill_2F_MapScript2_2C8372 + map_script 2, TrainerHill_2F_MapScript2_2C8381 + .byte 0 + diff --git a/data/scripts/maps/TrainerHill_3F.inc b/data/scripts/maps/TrainerHill_3F.inc new file mode 100644 index 0000000000..921a8d808f --- /dev/null +++ b/data/scripts/maps/TrainerHill_3F.inc @@ -0,0 +1,5 @@ +TrainerHill_3F_MapScripts:: @ 8268F91 + map_script 5, TrainerHill_3F_MapScript1_2C8336 + map_script 2, TrainerHill_3F_MapScript2_2C8381 + .byte 0 + diff --git a/data/scripts/maps/TrainerHill_4F.inc b/data/scripts/maps/TrainerHill_4F.inc new file mode 100644 index 0000000000..0f710152c8 --- /dev/null +++ b/data/scripts/maps/TrainerHill_4F.inc @@ -0,0 +1,5 @@ +TrainerHill_4F_MapScripts:: @ 8268F9C + map_script 5, TrainerHill_4F_MapScript1_2C8336 + map_script 2, TrainerHill_4F_MapScript2_2C8381 + .byte 0 + diff --git a/data/scripts/maps/TrainerHill_Elevator.inc b/data/scripts/maps/TrainerHill_Elevator.inc new file mode 100644 index 0000000000..c3644e0dec --- /dev/null +++ b/data/scripts/maps/TrainerHill_Elevator.inc @@ -0,0 +1,87 @@ +TrainerHill_Elevator_MapScripts:: @ 826934F + map_script 2, TrainerHill_Elevator_MapScript2_269355 + .byte 0 + +TrainerHill_Elevator_MapScript2_269355: @ 8269355 + map_script_2 VAR_0x4004, 0, TrainerHill_Elevator_EventScript_269375 + .2byte 0 + +TrainerHill_Elevator_EventScript_26935F:: @ 826935F + end + +TrainerHill_Elevator_EventScript_269360:: @ 8269360 + applymovement 255, TrainerHill_Elevator_Movement_2693EB + waitmovement 0 + releaseall + warp TRAINER_HILL_ROOF, 255, 15, 5 + waitstate + end + +TrainerHill_Elevator_EventScript_269375:: @ 8269375 + applymovement 255, TrainerHill_Elevator_Movement_2693E4 + waitmovement 0 + applymovement 1, TrainerHill_Elevator_Movement_2693EE + waitmovement 0 + lockall + msgbox TrainerHill_Elevator_Text_268F3E, 5 + compare VAR_RESULT, 0 + goto_eq TrainerHill_Elevator_EventScript_269360 + releaseall + applymovement 1, TrainerHill_Elevator_Movement_2693F0 + waitmovement 0 + applymovement 255, TrainerHill_Elevator_Movement_2693DF + waitmovement 0 + call TrainerHill_Elevator_EventScript_2693D9 + delay 25 + applymovement 255, TrainerHill_Elevator_Movement_2693E7 + waitmovement 0 + warp TRAINER_HILL_ENTRANCE, 255, 17, 8 + waitstate + end + +TrainerHill_Elevator_EventScript_2693CE:: @ 82693CE + goto TrainerHill_Elevator_EventScript_2693D4 + end + +TrainerHill_Elevator_EventScript_2693D4:: @ 82693D4 + special sub_8139C10 + releaseall + end + +TrainerHill_Elevator_EventScript_2693D9:: @ 82693D9 + waitse + special sub_8139A78 + waitstate + return + +TrainerHill_Elevator_Movement_2693DF: @ 82693DF + step_up + step_up + step_right + step_00 + step_end + +TrainerHill_Elevator_Movement_2693E4: @ 82693E4 + step_14 + step_left + step_end + +TrainerHill_Elevator_Movement_2693E7: @ 82693E7 + step_14 + step_down + step_down + step_end + +TrainerHill_Elevator_Movement_2693EB: @ 82693EB + step_00 + step_14 + step_end + +TrainerHill_Elevator_Movement_2693EE: @ 82693EE + step_03 + step_end + +TrainerHill_Elevator_Movement_2693F0: @ 82693F0 + step_00 + step_end + diff --git a/data/scripts/maps/TrainerHill_Entrance.inc b/data/scripts/maps/TrainerHill_Entrance.inc new file mode 100644 index 0000000000..77b67fb14c --- /dev/null +++ b/data/scripts/maps/TrainerHill_Entrance.inc @@ -0,0 +1,476 @@ +TrainerHill_Entrance_MapScripts:: @ 82680AC + map_script 5, TrainerHill_Entrance_MapScript1_2680D0 + map_script 7, TrainerHill_Entrance_MapScript1_26811B + map_script 3, TrainerHill_Entrance_MapScript1_2680C6 + map_script 1, TrainerHill_Entrance_MapScript1_268128 + map_script 2, TrainerHill_Entrance_MapScript2_26813E + .byte 0 + +TrainerHill_Entrance_MapScript1_2680C6: @ 82680C6 + setflag FLAG_LANDMARK_TRAINER_HILL + getplayerxy VAR_0x400D, VAR_RESULT + end + +TrainerHill_Entrance_MapScript1_2680CF: @ 82680CF + end + +TrainerHill_Entrance_MapScript1_2680D0: @ 82680D0 + setvar VAR_0x8004, 4 + special sp194_trainer_tower + setvar VAR_0x4000, 0 + setvar VAR_0x8004, 9 + special sp194_trainer_tower + compare VAR_RESULT, 0 + goto_eq TrainerHill_Entrance_EventScript_2680FF + setobjectxy 255, 9, 6 + applymovement 255, TrainerHill_Entrance_Movement_26837F + end + +TrainerHill_Entrance_EventScript_2680FF:: @ 82680FF + setvar VAR_0x8004, 16 + special sp194_trainer_tower + compare VAR_RESULT, 1 + goto_eq TrainerHill_Entrance_EventScript_26811A + applymovement 255, TrainerHill_Entrance_Movement_26837F + end + +TrainerHill_Entrance_EventScript_26811A:: @ 826811A + end + +TrainerHill_Entrance_MapScript1_26811B: @ 826811B + addobject 2 + addobject 1 + addobject 5 + addobject 4 + end + +TrainerHill_Entrance_MapScript1_268128: @ 8268128 + compare VAR_0x400D, 17 + call_if 1, TrainerHill_Entrance_EventScript_268134 + end + +TrainerHill_Entrance_EventScript_268134:: @ 8268134 + setmetatile 17, 10, 775, 0 + return + +TrainerHill_Entrance_MapScript2_26813E: @ 826813E + map_script_2 VAR_0x4000, 0, TrainerHill_Entrance_EventScript_268182 + map_script_2 VAR_0x400D, 17, TrainerHill_Entrance_EventScript_268160 + map_script_2 VAR_0x4005, 1, TrainerHill_Entrance_EventScript_268229 + map_script_2 VAR_0x4001, 1, TrainerHill_Entrance_EventScript_2C83DF + .2byte 0 + +TrainerHill_Entrance_EventScript_268160:: @ 8268160 + lockall + applymovement 255, TrainerHill_Entrance_Movement_268385 + waitmovement 0 + setmetatile 17, 10, 820, 1 + special DrawWholeMapView + playse SE_TK_KASYA + waitse + setvar VAR_0x400D, 0 + releaseall + end + +TrainerHill_Entrance_EventScript_268182:: @ 8268182 + setvar VAR_0x4000, 1 + setvar VAR_0x8004, 6 + special sp194_trainer_tower + switch VAR_RESULT + case 0, TrainerHill_Entrance_EventScript_2681B5 + case 1, TrainerHill_Entrance_EventScript_2681CA + case 2, TrainerHill_Entrance_EventScript_2681EE + +TrainerHill_Entrance_EventScript_2681B5:: @ 82681B5 + lockall + applymovement 255, TrainerHill_Entrance_Movement_26837F + msgbox TrainerHill_Entrance_Text_268689, 4 + goto TrainerHill_Entrance_EventScript_2681DA + +TrainerHill_Entrance_EventScript_2681CA:: @ 82681CA + lockall + applymovement 255, TrainerHill_Entrance_Movement_26837F + msgbox TrainerHill_Entrance_Text_268712, 4 + +TrainerHill_Entrance_EventScript_2681DA:: @ 82681DA + closemessage + applymovement 255, TrainerHill_Entrance_Movement_268381 + waitmovement 0 + setvar VAR_0x40D6, 0 + special HealPlayerParty + releaseall + +TrainerHill_Entrance_EventScript_2681EE:: @ 82681EE + end + +TrainerHill_Entrance_EventScript_2681EF:: @ 82681EF + setvar VAR_0x800B, 2 + call TrainerHill_Entrance_EventScript_27191E + waitmessage + waitbuttonpress + release + end + +TrainerHill_Entrance_EventScript_2681FD:: @ 82681FD + lock + faceplayer + setvar VAR_0x8004, 10 + special sp194_trainer_tower + compare VAR_RESULT, 0 + goto_eq TrainerHill_Entrance_EventScript_26821F + msgbox TrainerHill_Entrance_Text_2686F4, 4 + goto TrainerHill_Entrance_EventScript_268227 + +TrainerHill_Entrance_EventScript_26821F:: @ 826821F + msgbox TrainerHill_Entrance_Text_2687AC, 4 + +TrainerHill_Entrance_EventScript_268227:: @ 8268227 + release + end + +TrainerHill_Entrance_EventScript_268229:: @ 8268229 + lockall + applymovement 255, TrainerHill_Entrance_Movement_26837F + checkflag FLAG_SYS_GAME_CLEAR + goto_if 0, TrainerHill_Entrance_EventScript_26836A + msgbox TrainerHill_Entrance_Text_2684C6, 4 + setvar VAR_0x8004, 13 + special sp194_trainer_tower + compare VAR_RESULT, 0 + call_if 1, TrainerHill_Entrance_EventScript_26832E + setvar VAR_0x8004, 8 + special sp194_trainer_tower + compare VAR_RESULT, 1 + goto_eq TrainerHill_Entrance_EventScript_268275 + msgbox TrainerHill_Entrance_Text_268564, 4 + goto TrainerHill_Entrance_EventScript_26827D + +TrainerHill_Entrance_EventScript_268275:: @ 8268275 + msgbox TrainerHill_Entrance_Text_26859E, 4 + +TrainerHill_Entrance_EventScript_26827D:: @ 826827D + message TrainerHill_Entrance_Text_2685F8 + waitmessage + multichoice 15, 6, 17, 0 + switch VAR_RESULT + case 0, TrainerHill_Entrance_EventScript_2682C8 + case 1, TrainerHill_Entrance_EventScript_268314 + case 2, TrainerHill_Entrance_EventScript_2682BA + case 127, TrainerHill_Entrance_EventScript_268314 + end + +TrainerHill_Entrance_EventScript_2682BA:: @ 82682BA + msgbox TrainerHill_Entrance_Text_2687C3, 4 + goto TrainerHill_Entrance_EventScript_26827D + end + +TrainerHill_Entrance_EventScript_2682C8:: @ 82682C8 + multichoice 13, 2, 113, 0 + switch VAR_RESULT + case 4, TrainerHill_Entrance_EventScript_268314 + case 127, TrainerHill_Entrance_EventScript_268314 + setvar VAR_0x8004, 17 + copyvar VAR_0x8005, VAR_RESULT + special sp194_trainer_tower + setvar VAR_0x40D6, 1 + setvar VAR_0x4005, 0 + special HealPlayerParty + msgbox TrainerHill_Entrance_Text_26862A, 4 + setvar VAR_0x8004, 0 + special sp194_trainer_tower + releaseall + end + +TrainerHill_Entrance_EventScript_268314:: @ 8268314 + setvar VAR_0x4005, 0 + msgbox TrainerHill_Entrance_Text_26866F, 4 + closemessage + applymovement 255, TrainerHill_Entrance_Movement_268381 + waitmovement 0 + releaseall + end + +TrainerHill_Entrance_EventScript_26832E:: @ 826832E + msgbox TrainerHill_Entrance_Text_26851C, 4 + setvar VAR_0x8004, 14 + special sp194_trainer_tower + setvar VAR_0x4005, 1 + call TrainerHill_Entrance_EventScript_27134F + compare VAR_RESULT, 0 + goto_eq TrainerHill_Entrance_EventScript_26835C + setvar VAR_0x8004, 14 + special sp194_trainer_tower + return + +TrainerHill_Entrance_EventScript_26835C:: @ 826835C + setvar VAR_0x8004, 15 + special sp194_trainer_tower + goto TrainerHill_Entrance_EventScript_268314 + end + +TrainerHill_Entrance_EventScript_26836A:: @ 826836A + msgbox TrainerHill_Entrance_Text_268430, 4 + closemessage + applymovement 255, TrainerHill_Entrance_Movement_268381 + waitmovement 0 + releaseall + end + +TrainerHill_Entrance_Movement_26837F: @ 826837F + step_03 + step_end + +TrainerHill_Entrance_Movement_268381: @ 8268381 + step_down + step_end + +TrainerHill_Entrance_Movement_268383: @ 8268383 + step_01 + step_end + +TrainerHill_Entrance_Movement_268385: @ 8268385 + step_down + step_down + step_end + +TrainerHill_Entrance_EventScript_268388:: @ 8268388 + lockall + fadescreen 1 + special sub_813C904 + waitstate + releaseall + end + +TrainerHill_Entrance_EventScript_268391:: @ 8268391 + checkflag FLAG_SYS_GAME_CLEAR + goto_if 0, TrainerHill_Entrance_EventScript_2683A3 + msgbox TrainerHill_Entrance_Text_268D5A, 2 + end + +TrainerHill_Entrance_EventScript_2683A3:: @ 82683A3 + msgbox TrainerHill_Entrance_Text_268DDA, 2 + end + +TrainerHill_Entrance_EventScript_2683AC:: @ 82683AC + checkflag FLAG_SYS_GAME_CLEAR + goto_if 0, TrainerHill_Entrance_EventScript_2683BE + msgbox TrainerHill_Entrance_Text_268E6A, 2 + end + +TrainerHill_Entrance_EventScript_2683BE:: @ 82683BE + msgbox TrainerHill_Entrance_Text_268EDC, 2 + end + +TrainerHill_Entrance_EventScript_2683C7:: @ 82683C7 + lock + faceplayer + message gUnknown_08272A21 + waitmessage + checkflag FLAG_SYS_GAME_CLEAR + goto_eq TrainerHill_Entrance_EventScript_268402 + pokemart TrainerHill_Entrance_Pokemart_2683E8 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +TrainerHill_Entrance_Pokemart_2683E8: @ 82683E8 + .2byte ITEM_SUPER_POTION + .2byte ITEM_ANTIDOTE + .2byte ITEM_PARALYZE_HEAL + .2byte ITEM_AWAKENING + .2byte ITEM_X_SPEED + .2byte ITEM_X_SPECIAL + .2byte ITEM_X_ATTACK + .2byte ITEM_X_DEFEND + .2byte ITEM_DIRE_HIT + .2byte ITEM_GUARD_SPEC + .2byte ITEM_X_ACCURACY + .2byte ITEM_NONE + release + end + +TrainerHill_Entrance_EventScript_268402:: @ 8268402 + pokemart TrainerHill_Entrance_Pokemart_268414 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +TrainerHill_Entrance_Pokemart_268414: @ 8268414 + .2byte ITEM_HYPER_POTION + .2byte ITEM_MAX_POTION + .2byte ITEM_FULL_RESTORE + .2byte ITEM_FULL_HEAL + .2byte ITEM_REVIVE + .2byte ITEM_X_SPEED + .2byte ITEM_X_SPECIAL + .2byte ITEM_X_ATTACK + .2byte ITEM_X_DEFEND + .2byte ITEM_DIRE_HIT + .2byte ITEM_GUARD_SPEC + .2byte ITEM_X_ACCURACY + .2byte ITEM_NONE + release + end + +TrainerHill_Entrance_Text_268430: @ 8268430 + .string "This is the TRAINER HILL where\n" + .string "you may enjoy tag battles with many\l" + .string "TRAINERS.\p" + .string "Unfortunately, we’re still getting\n" + .string "things ready. Please come back later!$" + +TrainerHill_Entrance_Text_2684C6: @ 82684C6 + .string "Welcome!\p" + .string "This is the TRAINER HILL where\n" + .string "you may enjoy tag battles with many\l" + .string "TRAINERS!$" + +TrainerHill_Entrance_Text_26851C: @ 826851C + .string "Is this your first visit here?\p" + .string "Before you enter, please save\n" + .string "your game.$" + +TrainerHill_Entrance_Text_268564: @ 8268564 + .string "Let’s see…\n" + .string "The TRAINERS here now are…\p" + .string "Up to floor no. {STR_VAR_1}.$" + +TrainerHill_Entrance_Text_26859E: @ 826859E + .string "Let’s see…\n" + .string "The TRAINERS here now are…\p" + .string "There appear to be TRAINERS gathered\n" + .string "in every room.$" + +TrainerHill_Entrance_Text_2685F8: @ 82685F8 + .string "Would you like to challenge the\n" + .string "waiting TRAINERS?$" + +TrainerHill_Entrance_Text_26862A: @ 826862A + .string "I will time your progress.\n" + .string "Best of luck!\p" + .string "On your marks…\p" + .string "Get set…\p" + .string "Go!$" + +TrainerHill_Entrance_Text_26866F: @ 826866F + .string "Please do visit us again!$" + +TrainerHill_Entrance_Text_268689: @ 8268689 + .string "That was too bad.\p" + .string "I think you put in a tremendous\n" + .string "effort in your battling.\p" + .string "Please come back and try again!$" + +TrainerHill_Entrance_Text_2686F4: @ 82686F4 + .string "I hope you give it your best.$" + +TrainerHill_Entrance_Text_268712: @ 8268712 + .string "When the TRAINERS switch places,\n" + .string "the movement can be hectic.\p" + .string "To avoid the stampede, we moved\n" + .string "the reception counter here.\p" + .string "I’m sorry for the inconvenience.$" + +TrainerHill_Entrance_Text_2687AC: @ 82687AC + .string "Thank you for playing!$" + +TrainerHill_Entrance_Text_2687C3: @ 82687C3 + .string "Here at the TRAINER HILL, we conduct\n" + .string "an event called the Time Attack.\p" + .string "It is a race that measures how long\n" + .string "you take to reach our owner on\l" + .string "the rooftop from this counter.\p" + .string "The fastest times are posted on\n" + .string "the Time Board--try competing with\l" + .string "your friends.\p" + .string "In TRAINER battles along the way,\n" + .string "neither Exp. Points nor money will\l" + .string "be awarded.$" + +TrainerHill_Entrance_Text_26890D: @ 826890D + .string "Oh, I’m sorry, but you appear to have\n" + .string "only one POKéMON with you.\p" + .string "You will need at least two POKéMON\n" + .string "to enter this event.$" + +TrainerHill_Roof_Text_268986: @ 8268986 + .string "Hm! Hm!\p" + .string "You finally came!\n" + .string "Yes, you have arrived!\p" + .string "Wait! Don’t say it!\n" + .string "I know why you came all the way\l" + .string "here by yourself!\p" + .string "You wanted to see me, the owner\n" + .string "of the TRAINER HILL, because…\p" + .string "You want to form a tag team with me!\n" + .string "Wa-hoo!\p" + .string "…Uh?\n" + .string "That’s not it?\p" + .string "Anyway, I watched you on your way up.\n" + .string "Marvelous battling! Bravo, indeed!$" + +TrainerHill_Roof_Text_268AC5: @ 8268AC5 + .string "For a marvelous someone like you,\n" + .string "I have the most marvelous gift!$" + +TrainerHill_Roof_Text_268B07: @ 8268B07 + .string "Oh, no, full up with things!\n" + .string "You’ll be back later for this!$" + +TrainerHill_Roof_Text_268B43: @ 8268B43 + .string "Oh, hold on here! Did you possibly get\n" + .string "here marvelously quickly?\p" + .string "How splendid! You needn’t have\n" + .string "hurried so to see me!\p" + .string "That is so delightful. I’ll have the Time\n" + .string "Board at the reception updated!$" + +TrainerHill_Roof_Text_268C03: @ 8268C03 + .string "But, oh…\n" + .string "You weren’t very quick getting here.$" + +TrainerHill_Roof_Text_268C31: @ 8268C31 + .string "Perhaps it would please me more if you\n" + .string "arrived zippier next time.\p" + .string "Then, I should be pleased to form\n" + .string "a tag team with you!\p" + .string "Until we meet again, amigo!$" + +TrainerHill_Roof_Text_268CC6: @ 8268CC6 + .string "I had the TRAINER HILL built for but\n" + .string "one reason and one only!\p" + .string "To find the most suitable partner\n" + .string "with whom I may form a tag team!$" + +TrainerHill_Entrance_Text_268D47: @ 8268D47 + .string "{STR_VAR_1} min. {STR_VAR_2}.{STR_VAR_3} sec.$" + +TrainerHill_Entrance_Text_268D5A: @ 8268D5A + .string "Who knows what sort of TRAINERS\n" + .string "and POKéMON combos are ahead?\p" + .string "All I know is that I’ll knock aside\n" + .string "anyone that stands in my way!$" + +TrainerHill_Entrance_Text_268DDA: @ 8268DDA + .string "I heard tough TRAINERS come to this\n" + .string "TRAINER HILL from all over.\p" + .string "I can’t wait to test the waters!\p" + .string "I’ll knock aside anyone that stands\n" + .string "in my way!$" + +TrainerHill_Entrance_Text_268E6A: @ 8268E6A + .string "Do you see the Time Board over there?\p" + .string "My friends and I are trying to see who\n" + .string "can reach the top in the least time.$" + +TrainerHill_Entrance_Text_268EDC: @ 8268EDC + .string "Do you know when they’re opening\n" + .string "this place up?\p" + .string "I’m waiting here to be the first\n" + .string "challenger ever!$" + +TrainerHill_Elevator_Text_268F3E: @ 8268F3E + .string "Would you like to return to\n" + .string "the reception counter?$" diff --git a/data/scripts/maps/TrainerHill_Roof.inc b/data/scripts/maps/TrainerHill_Roof.inc new file mode 100644 index 0000000000..bdec2f7aa1 --- /dev/null +++ b/data/scripts/maps/TrainerHill_Roof.inc @@ -0,0 +1,70 @@ +TrainerHill_Roof_MapScripts:: @ 8268FA7 + map_script 5, TrainerHill_Roof_MapScript1_2C8336 + map_script 2, TrainerHill_Roof_MapScript2_2C8381 + .byte 0 + +TrainerHill_Roof_EventScript_268FB2:: @ 8268FB2 + setvar VAR_0x8004, 12 + special sp194_trainer_tower + lock + faceplayer + setvar VAR_0x8004, 1 + special sp194_trainer_tower + switch VAR_RESULT + case 0, TrainerHill_Roof_EventScript_268FEA + case 1, TrainerHill_Roof_EventScript_268FF2 + case 2, TrainerHill_Roof_EventScript_2690A8 + +TrainerHill_Roof_EventScript_268FEA:: @ 8268FEA + msgbox TrainerHill_Roof_Text_268986, 4 + +TrainerHill_Roof_EventScript_268FF2:: @ 8268FF2 + setvar VAR_0x8004, 2 + special sp194_trainer_tower + switch VAR_RESULT + case 0, TrainerHill_Roof_EventScript_269020 + case 1, TrainerHill_Roof_EventScript_269037 + case 2, TrainerHill_Roof_EventScript_269054 + +TrainerHill_Roof_EventScript_269020:: @ 8269020 + msgbox TrainerHill_Roof_Text_268AC5, 4 + playfanfare MUS_FANFA1 + message gUnknown_08272A78 + waitfanfare + waitmessage + goto TrainerHill_Roof_EventScript_269054 + +TrainerHill_Roof_EventScript_269037:: @ 8269037 + msgbox TrainerHill_Roof_Text_268AC5, 4 + msgbox gUnknown_08272A89, 4 + msgbox TrainerHill_Roof_Text_268B07, 4 + goto TrainerHill_Roof_EventScript_269054 + +TrainerHill_Roof_EventScript_269054:: @ 8269054 + setvar VAR_0x8004, 3 + special sp194_trainer_tower + switch VAR_RESULT + case 0, TrainerHill_Roof_EventScript_269082 + case 1, TrainerHill_Roof_EventScript_269090 + case 2, TrainerHill_Roof_EventScript_26909E + +TrainerHill_Roof_EventScript_269082:: @ 8269082 + msgbox TrainerHill_Roof_Text_268B43, 4 + goto TrainerHill_Roof_EventScript_26909E + end + +TrainerHill_Roof_EventScript_269090:: @ 8269090 + msgbox TrainerHill_Roof_Text_268C03, 4 + goto TrainerHill_Roof_EventScript_26909E + end + +TrainerHill_Roof_EventScript_26909E:: @ 826909E + msgbox TrainerHill_Roof_Text_268C31, 4 + release + end + +TrainerHill_Roof_EventScript_2690A8:: @ 82690A8 + msgbox TrainerHill_Roof_Text_268C31, 4 + release + end + diff --git a/data/scripts/maps/Underwater1.inc b/data/scripts/maps/Underwater1.inc new file mode 100644 index 0000000000..107a038a8c --- /dev/null +++ b/data/scripts/maps/Underwater1.inc @@ -0,0 +1,3 @@ +Underwater1_MapScripts:: @ 81F7722 + .byte 0 + diff --git a/data/scripts/maps/Underwater2.inc b/data/scripts/maps/Underwater2.inc new file mode 100644 index 0000000000..80c854c636 --- /dev/null +++ b/data/scripts/maps/Underwater2.inc @@ -0,0 +1,3 @@ +Underwater2_MapScripts:: @ 81F7723 + .byte 0 + diff --git a/data/scripts/maps/Underwater3.inc b/data/scripts/maps/Underwater3.inc new file mode 100644 index 0000000000..463f7a0ff7 --- /dev/null +++ b/data/scripts/maps/Underwater3.inc @@ -0,0 +1,8 @@ +Underwater3_MapScripts:: @ 81F7724 + map_script 5, Underwater3_MapScript1_1F772A + .byte 0 + +Underwater3_MapScript1_1F772A: @ 81F772A + call Underwater3_EventScript_274223 + end + diff --git a/data/scripts/maps/Underwater4.inc b/data/scripts/maps/Underwater4.inc new file mode 100644 index 0000000000..295c273560 --- /dev/null +++ b/data/scripts/maps/Underwater4.inc @@ -0,0 +1,3 @@ +Underwater4_MapScripts:: @ 81F7730 + .byte 0 + diff --git a/data/scripts/maps/Underwater5.inc b/data/scripts/maps/Underwater5.inc new file mode 100644 index 0000000000..9d0cc373c3 --- /dev/null +++ b/data/scripts/maps/Underwater5.inc @@ -0,0 +1,8 @@ +Underwater5_MapScripts:: @ 81F7731 + map_script 5, Underwater5_MapScript1_1F7737 + .byte 0 + +Underwater5_MapScript1_1F7737: @ 81F7737 + call Underwater5_EventScript_274223 + end + diff --git a/data/scripts/maps/Underwater6.inc b/data/scripts/maps/Underwater6.inc new file mode 100644 index 0000000000..047628c9c0 --- /dev/null +++ b/data/scripts/maps/Underwater6.inc @@ -0,0 +1,8 @@ +Underwater6_MapScripts:: @ 81F773D + map_script 5, Underwater6_MapScript1_1F7743 + .byte 0 + +Underwater6_MapScript1_1F7743: @ 81F7743 + call Underwater6_EventScript_274223 + end + diff --git a/data/scripts/maps/Underwater7.inc b/data/scripts/maps/Underwater7.inc new file mode 100644 index 0000000000..dd757f98a4 --- /dev/null +++ b/data/scripts/maps/Underwater7.inc @@ -0,0 +1,8 @@ +Underwater7_MapScripts:: @ 81F7749 + map_script 5, Underwater7_MapScript1_1F774F + .byte 0 + +Underwater7_MapScript1_1F774F: @ 81F774F + call Underwater7_EventScript_274223 + end + diff --git a/data/scripts/maps/Underwater_MarineCave.inc b/data/scripts/maps/Underwater_MarineCave.inc new file mode 100644 index 0000000000..c18534c614 --- /dev/null +++ b/data/scripts/maps/Underwater_MarineCave.inc @@ -0,0 +1,13 @@ +Underwater_MarineCave_MapScripts:: @ 823AFB8 + map_script 5, Underwater_MarineCave_MapScript1_23AFC7 + map_script 3, Underwater_MarineCave_MapScript1_23AFC3 + .byte 0 + +Underwater_MarineCave_MapScript1_23AFC3: @ 823AFC3 + setflag FLAG_0x8D9 + end + +Underwater_MarineCave_MapScript1_23AFC7: @ 823AFC7 + setdivewarp MARINE_CAVE_ENTRANCE, 255, 10, 17 + end + diff --git a/data/scripts/maps/Underwater_Route134.inc b/data/scripts/maps/Underwater_Route134.inc new file mode 100644 index 0000000000..a06f87b48e --- /dev/null +++ b/data/scripts/maps/Underwater_Route134.inc @@ -0,0 +1,8 @@ +Underwater_Route134_MapScripts:: @ 82390B5 + map_script 5, Underwater_Route134_MapScript1_2390BB + .byte 0 + +Underwater_Route134_MapScript1_2390BB: @ 82390BB + setdivewarp ROUTE_134, 255, 60, 31 + end + diff --git a/data/scripts/maps/Underwater_SeafloorCavern.inc b/data/scripts/maps/Underwater_SeafloorCavern.inc new file mode 100644 index 0000000000..d3f0aa5e55 --- /dev/null +++ b/data/scripts/maps/Underwater_SeafloorCavern.inc @@ -0,0 +1,52 @@ +Underwater_SeafloorCavern_MapScripts:: @ 823433B + map_script 5, Underwater_SeafloorCavern_MapScript1_2343D3 + map_script 3, Underwater_SeafloorCavern_MapScript1_23434B + map_script 1, Underwater_SeafloorCavern_MapScript1_23435C + .byte 0 + +Underwater_SeafloorCavern_MapScript1_23434B: @ 823434B + setflag FLAG_LANDMARK_SEAFLOOR_CAVERN + checkflag FLAG_0x081 + goto_eq Underwater_SeafloorCavern_EventScript_234358 + end + +Underwater_SeafloorCavern_EventScript_234358:: @ 8234358 + setflag FLAG_0x3D4 + end + +Underwater_SeafloorCavern_MapScript1_23435C: @ 823435C + checkflag FLAG_0x081 + call_if 1, Underwater_SeafloorCavern_EventScript_234366 + end + +Underwater_SeafloorCavern_EventScript_234366:: @ 8234366 + setmetatile 5, 3, 542, 1 + setmetatile 6, 3, 542, 1 + setmetatile 7, 3, 542, 1 + setmetatile 8, 3, 542, 1 + setmetatile 5, 4, 552, 0 + setmetatile 6, 4, 552, 0 + setmetatile 7, 4, 552, 0 + setmetatile 8, 4, 552, 0 + setmetatile 5, 5, 552, 0 + setmetatile 6, 5, 552, 0 + setmetatile 7, 5, 552, 0 + setmetatile 8, 5, 552, 0 + return + +Underwater_SeafloorCavern_MapScript1_2343D3: @ 82343D3 + setdivewarp SEAFLOOR_CAVERN_ENTRANCE, 255, 10, 17 + end + +Underwater_SeafloorCavern_EventScript_2343DC:: @ 82343DC + msgbox Underwater_SeafloorCavern_Text_2343E5, 3 + end + +Underwater_SeafloorCavern_Text_2343E5: @ 82343E5 + .string "“SUBMARINE EXPLORER 1” is painted\n" + .string "on the hull.\p" + .string "This is the submarine TEAM AQUA\n" + .string "stole in SLATEPORT!\p" + .string "TEAM AQUA must have gone\n" + .string "ashore here.$" + diff --git a/data/scripts/maps/Underwater_SealedChamber.inc b/data/scripts/maps/Underwater_SealedChamber.inc new file mode 100644 index 0000000000..f8c7b02af5 --- /dev/null +++ b/data/scripts/maps/Underwater_SealedChamber.inc @@ -0,0 +1,28 @@ +Underwater_SealedChamber_MapScripts:: @ 82390C4 + map_script 6, Underwater_SealedChamber_MapScript1_2390CA + .byte 0 + +Underwater_SealedChamber_MapScript1_2390CA: @ 82390CA + getplayerxy VAR_0x8004, VAR_0x8005 + compare VAR_0x8004, 12 + goto_if 5, Underwater_SealedChamber_EventScript_2390EA + compare VAR_0x8005, 44 + goto_if 5, Underwater_SealedChamber_EventScript_2390EA + goto Underwater_SealedChamber_EventScript_2390F3 + +Underwater_SealedChamber_EventScript_2390EA:: @ 82390EA + setdivewarp ROUTE_134, 255, 60, 31 + end + +Underwater_SealedChamber_EventScript_2390F3:: @ 82390F3 + setdivewarp SEALED_CHAMBER_OUTER_ROOM, 255, 10, 19 + end + +Underwater_SealedChamber_EventScript_2390FC:: @ 82390FC + lockall + braillemessage Underwater_SealedChamber_Braille_2A6B15 + waitbuttonpress + hidebox2 + releaseall + end + diff --git a/data/scripts/maps/Underwater_SootopolisCity.inc b/data/scripts/maps/Underwater_SootopolisCity.inc new file mode 100644 index 0000000000..3337b72f14 --- /dev/null +++ b/data/scripts/maps/Underwater_SootopolisCity.inc @@ -0,0 +1,8 @@ +Underwater_SootopolisCity_MapScripts:: @ 822D94C + map_script 5, Underwater_SootopolisCity_MapScript1_22D952 + .byte 0 + +Underwater_SootopolisCity_MapScript1_22D952: @ 822D952 + setdivewarp SOOTOPOLIS_CITY, 255, 29, 53 + end + diff --git a/data/scripts/maps/UnionRoom.inc b/data/scripts/maps/UnionRoom.inc new file mode 100644 index 0000000000..250b4b4024 --- /dev/null +++ b/data/scripts/maps/UnionRoom.inc @@ -0,0 +1,107 @@ +UnionRoom_MapScripts:: @ 823D1A6 + map_script 5, UnionRoom_MapScript1_23D1B1 + map_script 3, UnionRoom_MapScript1_23D1E5 + .byte 0 + +UnionRoom_MapScript1_23D1B1: @ 823D1B1 + setflag FLAG_0x2BF + setflag FLAG_0x2C0 + setflag FLAG_0x2C1 + setflag FLAG_0x2C2 + setflag FLAG_0x2C3 + setflag FLAG_0x2C4 + setflag FLAG_0x2C5 + setflag FLAG_0x2C6 + removeobject 9 + removeobject 8 + removeobject 7 + removeobject 2 + removeobject 6 + removeobject 5 + removeobject 4 + removeobject 3 + special UnionRoomSpecial + end + +UnionRoom_MapScript1_23D1E5: @ 823D1E5 + end + +UnionRoom_EventScript_23D1E6:: @ 823D1E6 + lock + faceplayer + setvar VAR_RESULT, 1 + waitstate + release + end + +UnionRoom_EventScript_23D1F0:: @ 823D1F0 + lock + faceplayer + setvar VAR_RESULT, 2 + waitstate + release + end + +UnionRoom_EventScript_23D1FA:: @ 823D1FA + lock + faceplayer + setvar VAR_RESULT, 3 + waitstate + release + end + +UnionRoom_EventScript_23D204:: @ 823D204 + lock + faceplayer + setvar VAR_RESULT, 4 + waitstate + release + end + +UnionRoom_EventScript_23D20E:: @ 823D20E + lock + faceplayer + setvar VAR_RESULT, 5 + waitstate + release + end + +UnionRoom_EventScript_23D218:: @ 823D218 + lock + faceplayer + setvar VAR_RESULT, 6 + waitstate + release + end + +UnionRoom_EventScript_23D222:: @ 823D222 + lock + faceplayer + setvar VAR_RESULT, 7 + waitstate + release + end + +UnionRoom_EventScript_23D22C:: @ 823D22C + lock + faceplayer + setvar VAR_RESULT, 8 + waitstate + release + end + +UnionRoom_EventScript_23D236:: @ 823D236 + lock + faceplayer + setvar VAR_RESULT, 9 + waitstate + release + end + +UnionRoom_EventScript_23D240:: @ 823D240 + lockall + setvar VAR_RESULT, 10 + waitstate + releaseall + end + diff --git a/data/scripts/maps/UnknownMap_25_29.inc b/data/scripts/maps/UnknownMap_25_29.inc new file mode 100644 index 0000000000..575e7a8984 --- /dev/null +++ b/data/scripts/maps/UnknownMap_25_29.inc @@ -0,0 +1 @@ +UnknownMap_25_29_MapScripts:: @ 823B781 diff --git a/data/scripts/maps/UnknownMap_25_30.inc b/data/scripts/maps/UnknownMap_25_30.inc new file mode 100644 index 0000000000..dbc73166d6 --- /dev/null +++ b/data/scripts/maps/UnknownMap_25_30.inc @@ -0,0 +1 @@ +UnknownMap_25_30_MapScripts:: @ 823B781 diff --git a/data/scripts/maps/UnknownMap_25_31.inc b/data/scripts/maps/UnknownMap_25_31.inc new file mode 100644 index 0000000000..cacda4d1f8 --- /dev/null +++ b/data/scripts/maps/UnknownMap_25_31.inc @@ -0,0 +1 @@ +UnknownMap_25_31_MapScripts:: @ 823B781 diff --git a/data/scripts/maps/UnknownMap_25_32.inc b/data/scripts/maps/UnknownMap_25_32.inc new file mode 100644 index 0000000000..e34f454e71 --- /dev/null +++ b/data/scripts/maps/UnknownMap_25_32.inc @@ -0,0 +1 @@ +UnknownMap_25_32_MapScripts:: @ 823B781 diff --git a/data/scripts/maps/UnknownMap_25_33.inc b/data/scripts/maps/UnknownMap_25_33.inc new file mode 100644 index 0000000000..086d2d32c6 --- /dev/null +++ b/data/scripts/maps/UnknownMap_25_33.inc @@ -0,0 +1 @@ +UnknownMap_25_33_MapScripts:: @ 823B781 diff --git a/data/scripts/maps/UnknownMap_25_34.inc b/data/scripts/maps/UnknownMap_25_34.inc new file mode 100644 index 0000000000..65f62498e7 --- /dev/null +++ b/data/scripts/maps/UnknownMap_25_34.inc @@ -0,0 +1,458 @@ +UnknownMap_25_34_MapScripts:: @ 823B781 + map_script 4, LinkContestRoom1_MapScript2_23B81F + map_script 2, LinkContestRoom1_MapScript2_23B815 + map_script 3, LinkContestRoom1_MapScript1_23B79F + map_script 5, LinkContestRoom1_MapScript1_23B803 + map_script 7, LinkContestRoom1_MapScript1_23B79B + .byte 0 + +LinkContestRoom1_MapScript1_23B79B: @ 823B79B + special sub_80F8B94 + end + +LinkContestRoom1_MapScript1_23B79F: @ 823B79F + call LinkContestRoom1_EventScript_23B7AF + setvar VAR_0x4000, 1 + call LinkContestRoom1_EventScript_23B842 + end + +LinkContestRoom1_EventScript_23B7AF:: @ 823B7AF + call LinkContestRoom1_EventScript_27A133 + special sub_80F8FA0 + compare VAR_RESULT, 0 + call_if 1, LinkContestRoom1_EventScript_23B7EF + compare VAR_RESULT, 1 + call_if 1, LinkContestRoom1_EventScript_23B7F3 + compare VAR_RESULT, 2 + call_if 1, LinkContestRoom1_EventScript_23B7F7 + compare VAR_RESULT, 3 + call_if 1, LinkContestRoom1_EventScript_23B7FB + compare VAR_RESULT, 4 + call_if 1, LinkContestRoom1_EventScript_23B7FF + return + +LinkContestRoom1_EventScript_23B7EF:: @ 823B7EF + savebgm MUS_TEST1 + return + +LinkContestRoom1_EventScript_23B7F3:: @ 823B7F3 + savebgm MUS_TEST2 + return + +LinkContestRoom1_EventScript_23B7F7:: @ 823B7F7 + savebgm MUS_TEST3 + return + +LinkContestRoom1_EventScript_23B7FB:: @ 823B7FB + savebgm MUS_TEST4 + return + +LinkContestRoom1_EventScript_23B7FF:: @ 823B7FF + savebgm MUS_CONTEST0 + return + +LinkContestRoom1_MapScript1_23B803: @ 823B803 + compare VAR_0x4009, 1 + call_if 1, LinkContestRoom1_EventScript_23B80F + end + +LinkContestRoom1_EventScript_23B80F:: @ 823B80F + call LinkContestRoom1_EventScript_23BB2B + return + +LinkContestRoom1_MapScript2_23B815: @ 823B815 + map_script_2 VAR_0x4086, 1, LinkContestRoom1_EventScript_23B829 + .2byte 0 + +LinkContestRoom1_MapScript2_23B81F: @ 823B81F + map_script_2 VAR_0x4086, 1, LinkContestRoom1_EventScript_23B834 + .2byte 0 + +LinkContestRoom1_EventScript_23B829:: @ 823B829 + call LinkContestRoom1_EventScript_279F97 + call LinkContestRoom1_EventScript_23BE44 + end + +LinkContestRoom1_EventScript_23B834:: @ 823B834 + special sub_80F8B94 + hideobjectat 255, LITTLEROOT_TOWN + call LinkContestRoom1_EventScript_23BB2B + end + +LinkContestRoom1_EventScript_23B842:: @ 823B842 + call LinkContestRoom1_EventScript_23B8F8 + call LinkContestRoom1_EventScript_23B858 + compare VAR_0x4000, 8 + goto_if 0, LinkContestRoom1_EventScript_23B842 + return + +LinkContestRoom1_EventScript_23B858:: @ 823B858 + switch VAR_0x4000 + case 1, LinkContestRoom1_EventScript_23B8AB + case 2, LinkContestRoom1_EventScript_23B8B6 + case 3, LinkContestRoom1_EventScript_23B8C1 + case 4, LinkContestRoom1_EventScript_23B8CC + case 5, LinkContestRoom1_EventScript_23B8D7 + case 6, LinkContestRoom1_EventScript_23B8E2 + case 7, LinkContestRoom1_EventScript_23B8ED + end + +LinkContestRoom1_EventScript_23B8AB:: @ 823B8AB + copyvar VAR_0x4014, VAR_0x4001 + addvar VAR_0x4000, 1 + return + +LinkContestRoom1_EventScript_23B8B6:: @ 823B8B6 + copyvar VAR_0x4015, VAR_0x4001 + addvar VAR_0x4000, 1 + return + +LinkContestRoom1_EventScript_23B8C1:: @ 823B8C1 + copyvar VAR_0x4016, VAR_0x4001 + addvar VAR_0x4000, 1 + return + +LinkContestRoom1_EventScript_23B8CC:: @ 823B8CC + copyvar VAR_0x4017, VAR_0x4001 + addvar VAR_0x4000, 1 + return + +LinkContestRoom1_EventScript_23B8D7:: @ 823B8D7 + copyvar VAR_0x4018, VAR_0x4001 + addvar VAR_0x4000, 1 + return + +LinkContestRoom1_EventScript_23B8E2:: @ 823B8E2 + copyvar VAR_0x4019, VAR_0x4001 + addvar VAR_0x4000, 1 + return + +LinkContestRoom1_EventScript_23B8ED:: @ 823B8ED + copyvar VAR_0x401A, VAR_0x4001 + addvar VAR_0x4000, 1 + return + +LinkContestRoom1_EventScript_23B8F8:: @ 823B8F8 + setvar VAR_RESULT, 32 + special sub_80F8FE8 + addvar VAR_RESULT, 1 + switch VAR_RESULT + case 1, LinkContestRoom1_EventScript_23BA6B + case 2, LinkContestRoom1_EventScript_23BA71 + case 3, LinkContestRoom1_EventScript_23BA77 + case 4, LinkContestRoom1_EventScript_23BA7D + case 5, LinkContestRoom1_EventScript_23BA83 + case 6, LinkContestRoom1_EventScript_23BA89 + case 7, LinkContestRoom1_EventScript_23BA8F + case 8, LinkContestRoom1_EventScript_23BA95 + case 9, LinkContestRoom1_EventScript_23BA9B + case 10, LinkContestRoom1_EventScript_23BAA1 + case 11, LinkContestRoom1_EventScript_23BAA7 + case 12, LinkContestRoom1_EventScript_23BAAD + case 13, LinkContestRoom1_EventScript_23BAB3 + case 14, LinkContestRoom1_EventScript_23BAB9 + case 15, LinkContestRoom1_EventScript_23BABF + case 16, LinkContestRoom1_EventScript_23BAC5 + case 17, LinkContestRoom1_EventScript_23BACB + case 18, LinkContestRoom1_EventScript_23BAD1 + case 19, LinkContestRoom1_EventScript_23BAD7 + case 20, LinkContestRoom1_EventScript_23BADD + case 21, LinkContestRoom1_EventScript_23BAE3 + case 22, LinkContestRoom1_EventScript_23BAE9 + case 23, LinkContestRoom1_EventScript_23BAEF + case 24, LinkContestRoom1_EventScript_23BAF5 + case 25, LinkContestRoom1_EventScript_23BAFB + case 26, LinkContestRoom1_EventScript_23BB01 + case 27, LinkContestRoom1_EventScript_23BB07 + case 28, LinkContestRoom1_EventScript_23BB0D + case 29, LinkContestRoom1_EventScript_23BB13 + case 30, LinkContestRoom1_EventScript_23BB19 + case 31, LinkContestRoom1_EventScript_23BB1F + case 32, LinkContestRoom1_EventScript_23BB25 + end + +LinkContestRoom1_EventScript_23BA6B:: @ 823BA6B + setvar VAR_0x4001, 5 + return + +LinkContestRoom1_EventScript_23BA71:: @ 823BA71 + setvar VAR_0x4001, 6 + return + +LinkContestRoom1_EventScript_23BA77:: @ 823BA77 + setvar VAR_0x4001, 7 + return + +LinkContestRoom1_EventScript_23BA7D:: @ 823BA7D + setvar VAR_0x4001, 8 + return + +LinkContestRoom1_EventScript_23BA83:: @ 823BA83 + setvar VAR_0x4001, 10 + return + +LinkContestRoom1_EventScript_23BA89:: @ 823BA89 + setvar VAR_0x4001, 11 + return + +LinkContestRoom1_EventScript_23BA8F:: @ 823BA8F + setvar VAR_0x4001, 12 + return + +LinkContestRoom1_EventScript_23BA95:: @ 823BA95 + setvar VAR_0x4001, 13 + return + +LinkContestRoom1_EventScript_23BA9B:: @ 823BA9B + setvar VAR_0x4001, 14 + return + +LinkContestRoom1_EventScript_23BAA1:: @ 823BAA1 + setvar VAR_0x4001, 15 + return + +LinkContestRoom1_EventScript_23BAA7:: @ 823BAA7 + setvar VAR_0x4001, 17 + return + +LinkContestRoom1_EventScript_23BAAD:: @ 823BAAD + setvar VAR_0x4001, 18 + return + +LinkContestRoom1_EventScript_23BAB3:: @ 823BAB3 + setvar VAR_0x4001, 19 + return + +LinkContestRoom1_EventScript_23BAB9:: @ 823BAB9 + setvar VAR_0x4001, 20 + return + +LinkContestRoom1_EventScript_23BABF:: @ 823BABF + setvar VAR_0x4001, 21 + return + +LinkContestRoom1_EventScript_23BAC5:: @ 823BAC5 + setvar VAR_0x4001, 22 + return + +LinkContestRoom1_EventScript_23BACB:: @ 823BACB + setvar VAR_0x4001, 25 + return + +LinkContestRoom1_EventScript_23BAD1:: @ 823BAD1 + setvar VAR_0x4001, 26 + return + +LinkContestRoom1_EventScript_23BAD7:: @ 823BAD7 + setvar VAR_0x4001, 27 + return + +LinkContestRoom1_EventScript_23BADD:: @ 823BADD + setvar VAR_0x4001, 47 + return + +LinkContestRoom1_EventScript_23BAE3:: @ 823BAE3 + setvar VAR_0x4001, 30 + return + +LinkContestRoom1_EventScript_23BAE9:: @ 823BAE9 + setvar VAR_0x4001, 31 + return + +LinkContestRoom1_EventScript_23BAEF:: @ 823BAEF + setvar VAR_0x4001, 32 + return + +LinkContestRoom1_EventScript_23BAF5:: @ 823BAF5 + setvar VAR_0x4001, 33 + return + +LinkContestRoom1_EventScript_23BAFB:: @ 823BAFB + setvar VAR_0x4001, 34 + return + +LinkContestRoom1_EventScript_23BB01:: @ 823BB01 + setvar VAR_0x4001, 35 + return + +LinkContestRoom1_EventScript_23BB07:: @ 823BB07 + setvar VAR_0x4001, 36 + return + +LinkContestRoom1_EventScript_23BB0D:: @ 823BB0D + setvar VAR_0x4001, 37 + return + +LinkContestRoom1_EventScript_23BB13:: @ 823BB13 + setvar VAR_0x4001, 38 + return + +LinkContestRoom1_EventScript_23BB19:: @ 823BB19 + setvar VAR_0x4001, 44 + return + +LinkContestRoom1_EventScript_23BB1F:: @ 823BB1F + setvar VAR_0x4001, 45 + return + +LinkContestRoom1_EventScript_23BB25:: @ 823BB25 + setvar VAR_0x4001, 46 + return + +LinkContestRoom1_EventScript_23BB2B:: @ 823BB2B + specialvar VAR_RESULT, sub_80F9160 + compare VAR_RESULT, 1 + goto_eq LinkContestRoom1_EventScript_23BD86 + switch VAR_0x4088 + case 1, LinkContestRoom1_EventScript_23BB78 + case 2, LinkContestRoom1_EventScript_23BB8B + case 3, LinkContestRoom1_EventScript_23BBE6 + case 4, LinkContestRoom1_EventScript_23BC92 + case 5, LinkContestRoom1_EventScript_23BC92 + return + +LinkContestRoom1_EventScript_23BB78:: @ 823BB78 + createvobject 5, 20, 3, 2, 3, 1 + createvobject 46, 24, 11, 2, 3, 1 + return + +LinkContestRoom1_EventScript_23BB8B:: @ 823BB8B + createvobject 45, 0, 2, 3, 3, 4 + createvobject 66, 1, 2, 4, 3, 4 + createvobject 55, 2, 2, 7, 3, 4 + createvobject 46, 3, 2, 8, 3, 4 + createvobject 5, 10, 12, 3, 3, 3 + createvobject 20, 11, 12, 4, 3, 3 + createvobject 24, 12, 12, 7, 3, 3 + createvobject 12, 13, 12, 8, 3, 3 + createvobject 47, 20, 3, 2, 3, 1 + createvobject 46, 24, 11, 2, 3, 1 + return + +LinkContestRoom1_EventScript_23BBE6:: @ 823BBE6 + createvobject 45, 0, 2, 3, 3, 4 + createvobject 66, 1, 2, 4, 3, 4 + createvobject 55, 2, 2, 7, 3, 4 + createvobject 48, 3, 2, 8, 3, 4 + createvobject 5, 10, 12, 3, 3, 3 + createvobject 20, 11, 12, 4, 3, 3 + createvobject 24, 12, 12, 7, 3, 3 + createvobject 45, 13, 12, 8, 3, 3 + createvobject 22, 20, 3, 2, 3, 1 + createvobject 23, 20, 6, 2, 3, 1 + createvobject 34, 20, 7, 2, 3, 1 + createvobject 46, 24, 8, 2, 3, 1 + createvobject 48, 24, 11, 2, 3, 1 + createvobject 11, 25, 3, 9, 3, 2 + createvobject 35, 26, 4, 9, 3, 2 + createvobject 17, 27, 5, 9, 3, 2 + createvobject 40, 28, 9, 9, 3, 2 + createvobject 38, 29, 10, 9, 3, 2 + createvobject 83, 30, 11, 9, 3, 2 + return + +LinkContestRoom1_EventScript_23BC92:: @ 823BC92 + createvobject 45, 0, 2, 3, 3, 4 + createvobject 66, 1, 2, 4, 3, 4 + createvobject 55, 2, 2, 7, 3, 4 + createvobject 12, 3, 2, 8, 3, 4 + createvobject 39, 4, 1, 3, 3, 4 + createvobject 34, 6, 1, 5, 3, 4 + createvobject 26, 7, 1, 6, 3, 4 + createvobject 48, 9, 1, 8, 3, 4 + createvobject 5, 10, 12, 3, 3, 3 + createvobject 20, 11, 12, 4, 3, 3 + createvobject 24, 12, 12, 7, 3, 3 + createvobject 45, 13, 12, 8, 3, 3 + createvobject 50, 14, 13, 3, 3, 3 + createvobject 52, 15, 13, 4, 3, 3 + createvobject 65, 17, 13, 6, 3, 3 + createvobject 83, 18, 13, 7, 3, 3 + createvobject 116, 19, 13, 8, 3, 3 + createvobject 25, 20, 3, 2, 3, 1 + createvobject 31, 21, 6, 2, 3, 1 + createvobject 33, 22, 7, 2, 3, 1 + createvobject 46, 24, 11, 2, 3, 1 + createvobject 49, 25, 3, 9, 3, 2 + createvobject 35, 26, 4, 9, 3, 2 + createvobject 48, 27, 5, 9, 3, 2 + createvobject 40, 28, 9, 9, 3, 2 + createvobject 38, 29, 10, 9, 3, 2 + createvobject 83, 30, 11, 9, 3, 2 + return + +LinkContestRoom1_EventScript_23BD86:: @ 823BD86 + createvobject 45, 0, 2, 3, 3, 4 + createvobject 66, 1, 2, 4, 3, 4 + createvobject 55, 2, 2, 7, 3, 4 + createvobject 12, 3, 2, 8, 3, 4 + createvobject 39, 4, 1, 3, 3, 4 + createvobject 34, 6, 1, 5, 3, 4 + createvobject 26, 7, 1, 6, 3, 4 + createvobject 48, 9, 1, 8, 3, 4 + createvobject 5, 10, 12, 3, 3, 3 + createvobject 20, 11, 12, 4, 3, 3 + createvobject 24, 12, 12, 7, 3, 3 + createvobject 45, 13, 12, 8, 3, 3 + createvobject 50, 14, 13, 3, 3, 3 + createvobject 52, 15, 13, 4, 3, 3 + createvobject 65, 17, 13, 6, 3, 3 + createvobject 83, 18, 13, 7, 3, 3 + createvobject 116, 19, 13, 8, 3, 3 + createvobject 25, 20, 3, 2, 3, 1 + createvobject 31, 21, 6, 2, 3, 1 + createvobject 33, 22, 7, 2, 3, 1 + createvobject 46, 24, 11, 2, 3, 1 + return + +LinkContestRoom1_EventScript_23BE44:: @ 823BE44 + special sub_80F9154 + switch VAR_0x4088 + case 1, LinkContestRoom1_EventScript_23BE84 + case 2, LinkContestRoom1_EventScript_23BE8E + case 3, LinkContestRoom1_EventScript_23BE98 + case 4, LinkContestRoom1_EventScript_23BEA2 + case 5, LinkContestRoom1_EventScript_23BEAC + return + +LinkContestRoom1_EventScript_23BE84:: @ 823BE84 + warp LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4 + waitstate + end + +LinkContestRoom1_EventScript_23BE8E:: @ 823BE8E + warp LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4 + waitstate + end + +LinkContestRoom1_EventScript_23BE98:: @ 823BE98 + warp LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4 + waitstate + end + +LinkContestRoom1_EventScript_23BEA2:: @ 823BEA2 + warp LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4 + waitstate + end + +LinkContestRoom1_EventScript_23BEAC:: @ 823BEAC + warp LILYCOVE_CITY_CONTEST_LOBBY, 255, 15, 4 + waitstate + end + +LilycoveCity_ContestLobby_EventScript_23BEB6:: @ 823BEB6 + checkplayergender + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_23BECE + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_23BED4 + return + +LilycoveCity_ContestLobby_EventScript_23BECE:: @ 823BECE + setvar VAR_0x4013, 100 + return + +LilycoveCity_ContestLobby_EventScript_23BED4:: @ 823BED4 + setvar VAR_0x4013, 105 + return + diff --git a/data/scripts/maps/VerdanturfTown.inc b/data/scripts/maps/VerdanturfTown.inc new file mode 100644 index 0000000000..2987a9a595 --- /dev/null +++ b/data/scripts/maps/VerdanturfTown.inc @@ -0,0 +1,127 @@ +VerdanturfTown_MapScripts:: @ 81EB566 + map_script 3, VerdanturfTown_MapScript1_1EB56C + .byte 0 + +VerdanturfTown_MapScript1_1EB56C: @ 81EB56C + setflag FLAG_VISITED_VERDANTURF_TOWN + setvar VAR_0x4086, 0 + end + +VerdanturfTown_EventScript_1EB575:: @ 81EB575 + lock + faceplayer + checkflag FLAG_0x0C7 + goto_eq VerdanturfTown_EventScript_1EB594 + msgbox VerdanturfTown_Text_1EB5FD, 4 + applymovement 2, VerdanturfTown_Movement_2725A2 + waitmovement 0 + release + end + +VerdanturfTown_EventScript_1EB594:: @ 81EB594 + msgbox VerdanturfTown_Text_1EB6E0, 4 + applymovement 2, VerdanturfTown_Movement_2725A2 + waitmovement 0 + release + end + +VerdanturfTown_EventScript_1EB5A8:: @ 81EB5A8 + msgbox VerdanturfTown_Text_1EB736, 2 + end + +VerdanturfTown_EventScript_1EB5B1:: @ 81EB5B1 + msgbox VerdanturfTown_Text_1EB7E2, 2 + end + +VerdanturfTown_EventScript_1EB5BA:: @ 81EB5BA + lock + faceplayer + checkflag FLAG_0x0C7 + goto_eq VerdanturfTown_EventScript_1EB5CF + msgbox VerdanturfTown_Text_1EB854, 4 + release + end + +VerdanturfTown_EventScript_1EB5CF:: @ 81EB5CF + msgbox VerdanturfTown_Text_1EB935, 4 + release + end + +VerdanturfTown_EventScript_1EB5D9:: @ 81EB5D9 + msgbox VerdanturfTown_Text_1EB9C4, 3 + end + +VerdanturfTown_EventScript_1EB5E2:: @ 81EB5E2 + msgbox VerdanturfTown_Text_1EBA11, 3 + end + +VerdanturfTown_EventScript_1EB5EB:: @ 81EB5EB + msgbox VerdanturfTown_Text_1EBA1F, 3 + end + +VerdanturfTown_EventScript_1EB5F4:: @ 81EB5F4 + msgbox VerdanturfTown_Text_1EBA59, 3 + end + +VerdanturfTown_Text_1EB5FD: @ 81EB5FD + .string "My papa told me.\p" + .string "He says this tunnel is full of\n" + .string "timid POKéMON.\p" + .string "They get all scared of loud noise and\n" + .string "make a big uproar.\p" + .string "So they had to stop the big tunnel\n" + .string "project.\p" + .string "But there’s one man. He’s trying to dig\n" + .string "the tunnel by himself!$" + +VerdanturfTown_Text_1EB6E0: @ 81EB6E0 + .string "There was a man who dug a tunnel for\n" + .string "a lady he loved.\p" + .string "I don’t really get it, but hey!$" + +VerdanturfTown_Text_1EB736: @ 81EB736 + .string "The way the winds blow, volcanic ash\n" + .string "is never blown in this direction.\p" + .string "The air is clean and delicious here.\n" + .string "Living here should do wonders for even\l" + .string "frail and sickly people.$" + +VerdanturfTown_Text_1EB7E2: @ 81EB7E2 + .string "My POKéMON and I, we’ve been riding\n" + .string "a hot winning streak.\p" + .string "So I decided to make my BATTLE TENT\n" + .string "debut in this town.$" + +VerdanturfTown_Text_1EB854: @ 81EB854 + .string "Did you see the cave next to the\n" + .string "POKéMON MART?\p" + .string "There’s a guy in there who’s trying to\n" + .string "bust up boulders so he can bust out\l" + .string "through to the other side.\p" + .string "It’d be great if we could go through…\n" + .string "It’ll make it easy to visit RUSTBORO.$" + +VerdanturfTown_Text_1EB935: @ 81EB935 + .string "That cave next to the POKéMON MART\n" + .string "is now a tunnel to the other side.\p" + .string "It’s great--it’s easy to go shop for\n" + .string "new DEVON products in RUSTBORO now.$" + +VerdanturfTown_Text_1EB9C4: @ 81EB9C4 + .string "VERDANTURF TOWN\p" + .string "“The windswept highlands with the\n" + .string "sweet fragrance of grass.”$" + +VerdanturfTown_Text_1EBA11: @ 81EBA11 + .string "WANDA’S HOUSE$" + +VerdanturfTown_Text_1EBA1F: @ 81EBA1F + .string "BATTLE TENT VERDANTURF SITE\n" + .string "“Feast Your Eyes on Battles!”$" + +VerdanturfTown_Text_1EBA59: @ 81EBA59 + .string "RUSTURF TUNNEL\n" + .string "“Linking RUSTBORO and VERDANTURF\p" + .string "“The tunnel project has been\n" + .string "canceled.”$" + diff --git a/data/scripts/maps/VerdanturfTown_BattleTentBattleRoom.inc b/data/scripts/maps/VerdanturfTown_BattleTentBattleRoom.inc new file mode 100644 index 0000000000..b673e959b1 --- /dev/null +++ b/data/scripts/maps/VerdanturfTown_BattleTentBattleRoom.inc @@ -0,0 +1,200 @@ +VerdanturfTown_BattleTentBattleRoom_MapScripts:: @ 82022FA + map_script 3, VerdanturfTown_BattleTentBattleRoom_MapScript1_20230A + map_script 2, VerdanturfTown_BattleTentBattleRoom_MapScript2_20233E + map_script 4, VerdanturfTown_BattleTentBattleRoom_MapScript2_202541 + .byte 0 + +VerdanturfTown_BattleTentBattleRoom_MapScript1_20230A: @ 820230A + call VerdanturfTown_BattleTentBattleRoom_EventScript_202310 + end + +VerdanturfTown_BattleTentBattleRoom_EventScript_202310:: @ 8202310 + checkplayergender + compare VAR_RESULT, 0 + goto_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202328 + compare VAR_RESULT, 1 + goto_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202333 + return + +VerdanturfTown_BattleTentBattleRoom_EventScript_202328:: @ 8202328 + setvar VAR_0x4011, 100 + setvar VAR_0x4010, 100 + return + +VerdanturfTown_BattleTentBattleRoom_EventScript_202333:: @ 8202333 + setvar VAR_0x4011, 105 + setvar VAR_0x4010, 105 + return + +VerdanturfTown_BattleTentBattleRoom_MapScript2_20233E: @ 820233E + map_script_2 VAR_0x4000, 0, VerdanturfTown_BattleTentBattleRoom_EventScript_202348 + .2byte 0 + +VerdanturfTown_BattleTentBattleRoom_EventScript_202348:: @ 8202348 + showobjectat 1, VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM + applymovement 1, VerdanturfTown_BattleTentBattleRoom_Movement_202575 + waitmovement 0 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + compare VAR_RESULT, 0 + goto_if 5, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C + +VerdanturfTown_BattleTentBattleRoom_EventScript_20236F:: @ 820236F + setvar VAR_0x8004, 3 + special sub_8161F74 + addobject 2 + applymovement 2, VerdanturfTown_BattleTentBattleRoom_Movement_20257B + waitmovement 0 + setvar VAR_0x8004, 4 + special sub_81B99B4 + msgbox 0x2021fc4, 4 + waitmessage + call VerdanturfTown_BattleTentBattleRoom_EventScript_24FDF7 + switch VAR_RESULT + case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_2023C8 + +VerdanturfTown_BattleTentBattleRoom_EventScript_2023AA:: @ 82023AA + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 4 + special sub_81A1780 + special copy_player_party_from_sav1 + warp VERDANTURF_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6 + waitstate + +VerdanturfTown_BattleTentBattleRoom_EventScript_2023C8:: @ 82023C8 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + addvar VAR_RESULT, 1 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 2 + copyvar VAR_0x8006, VAR_RESULT + special sub_81A1780 + switch VAR_RESULT + case 3, VerdanturfTown_BattleTentBattleRoom_EventScript_202501 + applymovement 2, VerdanturfTown_BattleTentBattleRoom_Movement_202581 + waitmovement 0 + removeobject 2 + applymovement 3, VerdanturfTown_BattleTentBattleRoom_Movement_2725AA + applymovement 1, VerdanturfTown_BattleTentBattleRoom_Movement_2725A6 + waitmovement 0 + msgbox VerdanturfTown_BattleTentBattleRoom_Text_24FF00, 4 + special copy_player_party_from_sav1 + special copy_player_party_to_sav1 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 3 + special sub_81A1780 + playfanfare MUS_ME_ASA + waitfanfare + special HealPlayerParty + +VerdanturfTown_BattleTentBattleRoom_EventScript_20243C:: @ 820243C + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 2 + special sub_81A1780 + compare VAR_RESULT, 1 + call_if 1, VerdanturfTown_BattleTentBattleRoom_EventScript_202565 + compare VAR_RESULT, 2 + call_if 1, VerdanturfTown_BattleTentBattleRoom_EventScript_20256C + multichoice 20, 6, 104, 1 + switch VAR_RESULT + case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_2024EA + case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_20248A + case 2, VerdanturfTown_BattleTentBattleRoom_EventScript_2024B8 + +VerdanturfTown_BattleTentBattleRoom_EventScript_20248A:: @ 820248A + msgbox VerdanturfTown_BattleTentBattleRoom_Text_250030, 5 + switch VAR_RESULT + case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C + case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_20251F + case 127, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C + +VerdanturfTown_BattleTentBattleRoom_EventScript_2024B8:: @ 82024B8 + message VerdanturfTown_BattleTentBattleRoom_Text_25005A + waitmessage + multichoicedefault 20, 8, 94, 1, 0 + switch VAR_RESULT + case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C + case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_2023AA + case 127, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C + +VerdanturfTown_BattleTentBattleRoom_EventScript_2024EA:: @ 82024EA + applymovement 3, VerdanturfTown_BattleTentBattleRoom_Movement_2725A8 + applymovement 1, VerdanturfTown_BattleTentBattleRoom_Movement_2725A8 + waitmovement 0 + closemessage + goto VerdanturfTown_BattleTentBattleRoom_EventScript_20236F + +VerdanturfTown_BattleTentBattleRoom_EventScript_202501:: @ 8202501 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 3 + special sub_81A1780 + special copy_player_party_from_sav1 + warp VERDANTURF_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6 + waitstate + +VerdanturfTown_BattleTentBattleRoom_EventScript_20251F:: @ 820251F + message VerdanturfTown_BattleTentBattleRoom_Text_25007E + waitmessage + setvar VAR_0x8004, 5 + setvar VAR_0x8005, 2 + special sub_81B99B4 + playse SE_SAVE + waitse + fadescreen 1 + setvar VAR_0x8004, 4 + special sub_81A1780 + end + +VerdanturfTown_BattleTentBattleRoom_MapScript2_202541: @ 8202541 + map_script_2 VAR_0x4001, 0, VerdanturfTown_BattleTentBattleRoom_EventScript_20254B + .2byte 0 + +VerdanturfTown_BattleTentBattleRoom_EventScript_20254B:: @ 820254B + hideobjectat 1, VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM + call VerdanturfTown_BattleTentBattleRoom_EventScript_202310 + setvar VAR_0x4001, 1 + applymovement 255, VerdanturfTown_BattleTentBattleRoom_Movement_202573 + removeobject 2 + end + +VerdanturfTown_BattleTentBattleRoom_EventScript_202565:: @ 8202565 + message VerdanturfTown_BattleTentBattleRoom_Text_24FF28 + waitmessage + return + +VerdanturfTown_BattleTentBattleRoom_EventScript_20256C:: @ 820256C + message VerdanturfTown_BattleTentBattleRoom_Text_24FF54 + waitmessage + return + +VerdanturfTown_BattleTentBattleRoom_Movement_202573: @ 8202573 + step_54 + step_end + +VerdanturfTown_BattleTentBattleRoom_Movement_202575: @ 8202575 + step_55 + step_up + step_up + step_up + step_03 + step_end + +VerdanturfTown_BattleTentBattleRoom_Movement_20257B: @ 820257B + step_down + step_down + step_down + step_down + step_02 + step_end + +VerdanturfTown_BattleTentBattleRoom_Movement_202581: @ 8202581 + step_up + step_up + step_up + step_up + step_end + diff --git a/data/scripts/maps/VerdanturfTown_BattleTentCorridor.inc b/data/scripts/maps/VerdanturfTown_BattleTentCorridor.inc new file mode 100644 index 0000000000..a44e98ed86 --- /dev/null +++ b/data/scripts/maps/VerdanturfTown_BattleTentCorridor.inc @@ -0,0 +1,69 @@ +VerdanturfTown_BattleTentCorridor_MapScripts:: @ 820208A + map_script 2, VerdanturfTown_BattleTentCorridor_MapScript2_202090 + .byte 0 + +VerdanturfTown_BattleTentCorridor_MapScript2_202090: @ 8202090 + map_script_2 VAR_0x4000, 0, VerdanturfTown_BattleTentCorridor_EventScript_20209A + .2byte 0 + +VerdanturfTown_BattleTentCorridor_EventScript_20209A:: @ 820209A + lockall + setvar VAR_0x4000, 1 + applymovement 1, VerdanturfTown_BattleTentCorridor_Movement_2020DE + applymovement 255, VerdanturfTown_BattleTentCorridor_Movement_2020DE + waitmovement 0 + opendoor 2, 1 + waitdooranim + applymovement 1, VerdanturfTown_BattleTentCorridor_Movement_2020E4 + applymovement 255, VerdanturfTown_BattleTentCorridor_Movement_2020E3 + waitmovement 0 + closedoor 2, 1 + waitdooranim + setvar VAR_0x8006, 0 + warp VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM, 255, 6, 5 + waitstate + releaseall + end + +VerdanturfTown_BattleTentCorridor_Movement_2020DE: @ 82020DE + step_up + step_up + step_up + step_up + step_end + +VerdanturfTown_BattleTentCorridor_Movement_2020E3: @ 82020E3 + step_up + +VerdanturfTown_BattleTentCorridor_Movement_2020E4: @ 82020E4 + step_up + step_54 + step_end + +VerdanturfTown_BattleTentCorridor_Text_2020E7: @ 82020E7 + .string "Which CONTEST are you entering?\n" + .string "Want a piece of advice?\p" + .string "In any CONTEST, for example, a CUTE\n" + .string "CONTEST, I don’t think they judge you\l" + .string "only on cuteness in the first round.\p" + .string "You need to work out ways for raising\n" + .string "POKéMON better.$" + +VerdanturfTown_BattleTentCorridor_Text_2021C4: @ 82021C4 + .string "I raised my POKéMON to be cute.\p" + .string "I found out you can put POKéMON in\n" + .string "a CONTEST for cuteness!\p" + .string "I’m so glad I raised my POKéMON with\n" + .string "loving care…$" + +VerdanturfTown_BattleTentCorridor_Text_202251: @ 8202251 + .string "My POKéMON rules!\p" + .string "It’s cool, tough yet beautiful, cute,\n" + .string "and smart. It’s complete!\p" + .string "I may as well go for wins in every\n" + .string "single CONTEST.$" + +VerdanturfTown_BattleTentCorridor_Text_2022D6: @ 82022D6 + .string "POKéMON CONTESTS\n" + .string "NORMAL RANK STAGE!$" + diff --git a/data/scripts/maps/VerdanturfTown_BattleTentLobby.inc b/data/scripts/maps/VerdanturfTown_BattleTentLobby.inc new file mode 100644 index 0000000000..a7f496820d --- /dev/null +++ b/data/scripts/maps/VerdanturfTown_BattleTentLobby.inc @@ -0,0 +1,439 @@ +VerdanturfTown_BattleTentLobby_MapScripts:: @ 82016D0 + map_script 2, VerdanturfTown_BattleTentLobby_MapScript2_2016EF + map_script 4, VerdanturfTown_BattleTentLobby_MapScript2_2016DB + .byte 0 + +VerdanturfTown_BattleTentLobby_MapScript2_2016DB: @ 82016DB + map_script_2 VAR_0x4001, 0, VerdanturfTown_BattleTentLobby_EventScript_2016E5 + .2byte 0 + +VerdanturfTown_BattleTentLobby_EventScript_2016E5:: @ 82016E5 + setvar VAR_0x4001, 1 + turnobject 255, 2 + end + +VerdanturfTown_BattleTentLobby_MapScript2_2016EF: @ 82016EF + map_script_2 VAR_0x4000, 0, VerdanturfTown_BattleTentLobby_EventScript_201719 + map_script_2 VAR_0x4000, 1, VerdanturfTown_BattleTentLobby_EventScript_201722 + map_script_2 VAR_0x4000, 2, VerdanturfTown_BattleTentLobby_EventScript_201837 + map_script_2 VAR_0x4000, 3, VerdanturfTown_BattleTentLobby_EventScript_201757 + map_script_2 VAR_0x4000, 4, VerdanturfTown_BattleTentLobby_EventScript_2017FD + .2byte 0 + +VerdanturfTown_BattleTentLobby_EventScript_201719:: @ 8201719 + setvar VAR_0x8004, 0 + special sub_81A1780 + end + +VerdanturfTown_BattleTentLobby_EventScript_201722:: @ 8201722 + lockall + msgbox VerdanturfTown_BattleTentLobby_Text_24E636, 4 + closemessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x4000, 255 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 0 + special sub_81A1780 + releaseall + end + +VerdanturfTown_BattleTentLobby_EventScript_201757:: @ 8201757 + lockall + msgbox VerdanturfTown_BattleTentLobby_Text_2C5731, 4 + message VerdanturfTown_BattleTentLobby_Text_2C5791 + waitmessage + setvar VAR_0x8004, 6 + special sub_81B99B4 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x8004, 5 + setvar VAR_0x8005, 0 + special sub_81B99B4 + playse SE_SAVE + waitse + +VerdanturfTown_BattleTentLobby_EventScript_201791:: @ 8201791 + msgbox VerdanturfTown_BattleTentLobby_Text_2C57CD, 4 + setvar VAR_0x8004, 7 + special sub_81B99B4 + switch VAR_RESULT + case 0, VerdanturfTown_BattleTentLobby_EventScript_2017DD + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + message VerdanturfTown_BattleTentLobby_Text_24A554 + waitmessage + playfanfare MUS_FANFA4 + waitfanfare + msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, 4 + closemessage + setvar VAR_0x4000, 255 + releaseall + end + +VerdanturfTown_BattleTentLobby_EventScript_2017DD:: @ 82017DD + msgbox VerdanturfTown_BattleTentLobby_Text_24E57B, 4 + waitmessage + closemessage + setvar VAR_0x4000, 255 + releaseall + end + +VerdanturfTown_BattleTentLobby_EventScript_2017EE:: @ 82017EE + lockall + msgbox VerdanturfTown_BattleTentLobby_Text_2C5731, 4 + goto VerdanturfTown_BattleTentLobby_EventScript_201791 + end + +VerdanturfTown_BattleTentLobby_EventScript_2017FD:: @ 82017FD + lockall + message VerdanturfTown_BattleTentLobby_Text_2C56B8 + waitmessage + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x8004, 5 + setvar VAR_0x8005, 0 + special sub_81B99B4 + playse SE_SAVE + waitse + msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, 4 + closemessage + setvar VAR_0x4000, 255 + releaseall + end + +VerdanturfTown_BattleTentLobby_EventScript_201837:: @ 8201837 + lockall + msgbox VerdanturfTown_BattleTentLobby_Text_24E5D8, 4 + message VerdanturfTown_BattleTentLobby_Text_24E5F6 + waitmessage + setvar VAR_0x8004, 5 + setvar VAR_0x8005, 1 + special sub_81B99B4 + playse SE_SAVE + waitse + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + setvar VAR_0x4000, 255 + goto VerdanturfTown_BattleTentLobby_EventScript_2019AE + +VerdanturfTown_BattleTentLobby_EventScript_201873:: @ 8201873 + lock + faceplayer + setvar VAR_0x8004, 1 + special sub_81B99B4 + compare VAR_RESULT, 0 + goto_if 5, VerdanturfTown_BattleTentLobby_EventScript_2017EE + special copy_player_party_to_sav1 + msgbox VerdanturfTown_BattleTentLobby_Text_2C50C3, 4 + +VerdanturfTown_BattleTentLobby_EventScript_201893:: @ 8201893 + message VerdanturfTown_BattleTentLobby_Text_2C5129 + waitmessage + multichoice 17, 6, 23, 0 + switch VAR_RESULT + case 0, VerdanturfTown_BattleTentLobby_EventScript_2018CF + case 1, VerdanturfTown_BattleTentLobby_EventScript_2019DB + case 2, VerdanturfTown_BattleTentLobby_EventScript_201A37 + case 127, VerdanturfTown_BattleTentLobby_EventScript_201A37 + +VerdanturfTown_BattleTentLobby_EventScript_2018CF:: @ 82018CF + setvar VAR_FRONTIER_FACILITY, 2 + setvar VAR_0x40CE, 0 + setvar VAR_RESULT, 2 + setvar VAR_0x8004, 15 + special sub_81A1780 + compare VAR_0x8004, 1 + goto_eq VerdanturfTown_BattleTentLobby_EventScript_2019E8 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 2 + special sub_81A1780 + msgbox VerdanturfTown_BattleTentLobby_Text_2C5633, 4 + fadescreen 1 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 3 + special sub_80F9490 + waitstate + compare VAR_RESULT, 0 + goto_eq VerdanturfTown_BattleTentLobby_EventScript_201A34 + msgbox VerdanturfTown_BattleTentLobby_Text_2C5662, 5 + switch VAR_RESULT + case 0, VerdanturfTown_BattleTentLobby_EventScript_201A34 + case 1, VerdanturfTown_BattleTentLobby_EventScript_201954 + case 127, VerdanturfTown_BattleTentLobby_EventScript_201A34 + +VerdanturfTown_BattleTentLobby_EventScript_201954:: @ 8201954 + setvar VAR_0x4000, 0 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 4 + special sub_81A1780 + setvar VAR_0x8004, 0 + special sub_81B99B4 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 1 + special sub_81A1780 + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 3 + setvar VAR_0x8006, 0 + special sub_81A1780 + special copy_player_party_from_sav1 + closemessage + delay 2 + call VerdanturfTown_BattleTentLobby_EventScript_27134F + setvar VAR_0x4000, 255 + compare VAR_RESULT, 0 + goto_eq VerdanturfTown_BattleTentLobby_EventScript_201A1D + +VerdanturfTown_BattleTentLobby_EventScript_2019AE:: @ 82019AE + special copy_player_party_to_sav1 + setvar VAR_0x8004, 3 + setvar VAR_0x8005, 3 + special sub_81A1780 + msgbox VerdanturfTown_BattleTentLobby_Text_2C56A2, 4 + closemessage + call VerdanturfTown_BattleTentLobby_EventScript_201A41 + warp VERDANTURF_TOWN_BATTLE_TENT_CORRIDOR, 255, 2, 7 + setvar VAR_0x4000, 0 + waitstate + end + +VerdanturfTown_BattleTentLobby_EventScript_2019DB:: @ 82019DB + msgbox VerdanturfTown_BattleTentLobby_Text_2C5163, 4 + goto VerdanturfTown_BattleTentLobby_EventScript_201893 + +VerdanturfTown_BattleTentLobby_EventScript_2019E8:: @ 82019E8 + switch VAR_RESULT + case 0, VerdanturfTown_BattleTentLobby_EventScript_201A03 + case 1, VerdanturfTown_BattleTentLobby_EventScript_201A10 + +VerdanturfTown_BattleTentLobby_EventScript_201A03:: @ 8201A03 + msgbox VerdanturfTown_BattleTentLobby_Text_2C543D, 4 + goto VerdanturfTown_BattleTentLobby_EventScript_201A3F + +VerdanturfTown_BattleTentLobby_EventScript_201A10:: @ 8201A10 + msgbox VerdanturfTown_BattleTentLobby_Text_2C5538, 4 + goto VerdanturfTown_BattleTentLobby_EventScript_201A3F + +VerdanturfTown_BattleTentLobby_EventScript_201A1D:: @ 8201A1D + setvar VAR_0x8004, 2 + setvar VAR_0x8005, 0 + setvar VAR_0x8006, 0 + special sub_81A1780 + goto VerdanturfTown_BattleTentLobby_EventScript_201A37 + +VerdanturfTown_BattleTentLobby_EventScript_201A34:: @ 8201A34 + special copy_player_party_from_sav1 + +VerdanturfTown_BattleTentLobby_EventScript_201A37:: @ 8201A37 + msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, 4 + +VerdanturfTown_BattleTentLobby_EventScript_201A3F:: @ 8201A3F + release + end + +VerdanturfTown_BattleTentLobby_EventScript_201A41:: @ 8201A41 + applymovement 1, VerdanturfTown_BattleTentLobby_Movement_201A70 + applymovement 255, VerdanturfTown_BattleTentLobby_Movement_201A70 + waitmovement 0 + opendoor 6, 1 + waitdooranim + applymovement 1, VerdanturfTown_BattleTentLobby_Movement_201A74 + applymovement 255, VerdanturfTown_BattleTentLobby_Movement_201A77 + waitmovement 0 + closedoor 6, 1 + waitdooranim + return + +VerdanturfTown_BattleTentLobby_Movement_201A70: @ 8201A70 + step_up + step_up + step_up + step_end + +VerdanturfTown_BattleTentLobby_Movement_201A74: @ 8201A74 + step_up + step_54 + step_end + +VerdanturfTown_BattleTentLobby_Movement_201A77: @ 8201A77 + step_up + step_up + step_54 + step_end + +VerdanturfTown_BattleTentLobby_EventScript_201A7B:: @ 8201A7B + lock + faceplayer + checkflag FLAG_0x0EB + goto_eq VerdanturfTown_BattleTentLobby_EventScript_201AB2 + msgbox VerdanturfTown_BattleTentLobby_Text_201D9E, 4 + giveitem_std ITEM_TM45 + compare VAR_RESULT, 0 + goto_eq VerdanturfTown_BattleTentLobby_EventScript_272054 + setflag FLAG_0x0EB + msgbox VerdanturfTown_BattleTentLobby_Text_201E43, 4 + release + end + +VerdanturfTown_BattleTentLobby_EventScript_201AB2:: @ 8201AB2 + msgbox VerdanturfTown_BattleTentLobby_Text_201E43, 4 + release + end + +VerdanturfTown_BattleTentLobby_EventScript_201ABC:: @ 8201ABC + msgbox VerdanturfTown_BattleTentLobby_Text_201EB1, 2 + end + +VerdanturfTown_BattleTentLobby_EventScript_201AC5:: @ 8201AC5 + lock + msgbox VerdanturfTown_BattleTentLobby_Text_201BD4, 4 + release + end + +VerdanturfTown_BattleTentLobby_EventScript_201AD0:: @ 8201AD0 + lock + faceplayer + checkflag FLAG_0x1CC + goto_eq VerdanturfTown_BattleTentLobby_EventScript_201AED + msgbox VerdanturfTown_BattleTentLobby_Text_201F3F, 4 + addvar VAR_0x40D1, 1 + setflag FLAG_0x1CC + release + end + +VerdanturfTown_BattleTentLobby_EventScript_201AED:: @ 8201AED + msgbox VerdanturfTown_BattleTentLobby_Text_202025, 4 + release + end + +VerdanturfTown_BattleTentLobby_EventScript_201AF7:: @ 8201AF7 + lock + msgbox VerdanturfTown_BattleTentLobby_Text_201D11, 4 + release + end + +VerdanturfTown_BattleTentLobby_EventScript_201B02:: @ 8201B02 + lockall + msgbox VerdanturfTown_BattleTentLobby_Text_2C6878, 4 + goto VerdanturfTown_BattleTentLobby_EventScript_201B11 + end + +VerdanturfTown_BattleTentLobby_EventScript_201B11:: @ 8201B11 + message VerdanturfTown_BattleTentLobby_Text_24EF88 + waitmessage + setvar VAR_0x8004, 12 + special sub_813A128 + waitstate + switch VAR_RESULT + case 0, VerdanturfTown_BattleTentLobby_EventScript_201B7E + case 1, VerdanturfTown_BattleTentLobby_EventScript_201B8C + case 2, VerdanturfTown_BattleTentLobby_EventScript_201B9A + case 3, VerdanturfTown_BattleTentLobby_EventScript_201BA8 + case 4, VerdanturfTown_BattleTentLobby_EventScript_201BB6 + case 5, VerdanturfTown_BattleTentLobby_EventScript_201BC4 + case 6, VerdanturfTown_BattleTentLobby_EventScript_201BD2 + case 127, VerdanturfTown_BattleTentLobby_EventScript_201BD2 + end + +VerdanturfTown_BattleTentLobby_EventScript_201B7E:: @ 8201B7E + msgbox VerdanturfTown_BattleTentLobby_Text_2C67CD, 4 + goto VerdanturfTown_BattleTentLobby_EventScript_201B11 + end + +VerdanturfTown_BattleTentLobby_EventScript_201B8C:: @ 8201B8C + msgbox VerdanturfTown_BattleTentLobby_Text_24EFAB, 4 + goto VerdanturfTown_BattleTentLobby_EventScript_201B11 + end + +VerdanturfTown_BattleTentLobby_EventScript_201B9A:: @ 8201B9A + msgbox VerdanturfTown_BattleTentLobby_Text_24F049, 4 + goto VerdanturfTown_BattleTentLobby_EventScript_201B11 + end + +VerdanturfTown_BattleTentLobby_EventScript_201BA8:: @ 8201BA8 + msgbox VerdanturfTown_BattleTentLobby_Text_24F190, 4 + goto VerdanturfTown_BattleTentLobby_EventScript_201B11 + end + +VerdanturfTown_BattleTentLobby_EventScript_201BB6:: @ 8201BB6 + msgbox VerdanturfTown_BattleTentLobby_Text_24F2E8, 4 + goto VerdanturfTown_BattleTentLobby_EventScript_201B11 + end + +VerdanturfTown_BattleTentLobby_EventScript_201BC4:: @ 8201BC4 + msgbox VerdanturfTown_BattleTentLobby_Text_24F3F4, 4 + goto VerdanturfTown_BattleTentLobby_EventScript_201B11 + end + +VerdanturfTown_BattleTentLobby_EventScript_201BD2:: @ 8201BD2 + releaseall + end + +VerdanturfTown_BattleTentLobby_Text_201BD4: @ 8201BD4 + .string "If it doesn’t like a certain move,\n" + .string "a POKéMON will be reluctant to use it.\p" + .string "It doesn’t matter how strong it is,\n" + .string "either.\p" + .string "For example, a POKéMON with a GENTLE\n" + .string "nature probably won’t enjoy hurting\l" + .string "its opponents.\p" + .string "If it can’t seem to live up to its\n" + .string "potential, it’s probably failing at\l" + .string "using a disliked move against its will.$" + +VerdanturfTown_BattleTentLobby_Text_201D11: @ 8201D11 + .string "My big sister is gentle usually.\n" + .string "But when she gets angry,\l" + .string "she’s really, really scary!\p" + .string "I bet a gentle POKéMON will be scary\n" + .string "if it gets angry!$" + +VerdanturfTown_BattleTentLobby_Text_201D9E: @ 8201D9E + .string "My feelings toward my POKéMON…\n" + .string "The attraction runs deep…\p" + .string "Oh, hi, you didn’t see that, did you?\n" + .string "Well, it doesn’t matter.\p" + .string "How would you like this TM for\n" + .string "your POKéMON?$" + +VerdanturfTown_BattleTentLobby_Text_201E43: @ 8201E43 + .string "My feelings toward my POKéMON…\n" + .string "I’m sure the attraction is mutual!\p" + .string "They battle exactly the way I want\n" + .string "them to!$" + +VerdanturfTown_BattleTentLobby_Text_201EB1: @ 8201EB1 + .string "What kind of moves have you taught\n" + .string "your POKéMON?\p" + .string "I think you would give yourself\n" + .string "an advantage if they knew how to\l" + .string "heal or protect themselves.$" + +VerdanturfTown_BattleTentLobby_Text_201F3F: @ 8201F3F + .string "SCOTT: Hey there, {PLAYER}{KUN}!\n" + .string "I thought I might see you here.\p" + .string "A BATTLE TENT’s a place where\n" + .string "you can meet tough TRAINERS.\p" + .string "It doesn’t matter what the rules are,\n" + .string "or how battles are waged, either.\p" + .string "{PLAYER}{KUN}, I expect you to do\n" + .string "the best you can!$" + +VerdanturfTown_BattleTentLobby_Text_202025: @ 8202025 + .string "SCOTT: I visit here regularly in hopes\n" + .string "of seeing tough TRAINERS in action\l" + .string "in whatever the situation.$" + diff --git a/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc b/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc new file mode 100644 index 0000000000..28030d8693 --- /dev/null +++ b/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc @@ -0,0 +1,104 @@ +VerdanturfTown_FriendshipRatersHouse_MapScripts:: @ 8203030 + .byte 0 + +VerdanturfTown_FriendshipRatersHouse_EventScript_203031:: @ 8203031 + lock + faceplayer + msgbox VerdanturfTown_FriendshipRatersHouse_Text_2030ED, 4 + specialvar VAR_RESULT, GetLeadMonFriendshipScore + switch VAR_RESULT + case 0, VerdanturfTown_FriendshipRatersHouse_EventScript_203094 + case 1, VerdanturfTown_FriendshipRatersHouse_EventScript_20309E + case 2, VerdanturfTown_FriendshipRatersHouse_EventScript_2030A8 + case 3, VerdanturfTown_FriendshipRatersHouse_EventScript_2030B2 + case 4, VerdanturfTown_FriendshipRatersHouse_EventScript_2030BC + case 5, VerdanturfTown_FriendshipRatersHouse_EventScript_2030C6 + case 6, VerdanturfTown_FriendshipRatersHouse_EventScript_2030D0 + release + end + +VerdanturfTown_FriendshipRatersHouse_EventScript_203094:: @ 8203094 + msgbox VerdanturfTown_FriendshipRatersHouse_Text_2032DF, 4 + release + end + +VerdanturfTown_FriendshipRatersHouse_EventScript_20309E:: @ 820309E + msgbox VerdanturfTown_FriendshipRatersHouse_Text_203288, 4 + release + end + +VerdanturfTown_FriendshipRatersHouse_EventScript_2030A8:: @ 82030A8 + msgbox VerdanturfTown_FriendshipRatersHouse_Text_203249, 4 + release + end + +VerdanturfTown_FriendshipRatersHouse_EventScript_2030B2:: @ 82030B2 + msgbox VerdanturfTown_FriendshipRatersHouse_Text_203213, 4 + release + end + +VerdanturfTown_FriendshipRatersHouse_EventScript_2030BC:: @ 82030BC + msgbox VerdanturfTown_FriendshipRatersHouse_Text_2031D1, 4 + release + end + +VerdanturfTown_FriendshipRatersHouse_EventScript_2030C6:: @ 82030C6 + msgbox VerdanturfTown_FriendshipRatersHouse_Text_203192, 4 + release + end + +VerdanturfTown_FriendshipRatersHouse_EventScript_2030D0:: @ 82030D0 + msgbox VerdanturfTown_FriendshipRatersHouse_Text_203141, 4 + release + end + +VerdanturfTown_FriendshipRatersHouse_EventScript_2030DA:: @ 82030DA + lock + faceplayer + waitse + playmoncry SPECIES_PIKACHU, 0 + msgbox VerdanturfTown_FriendshipRatersHouse_Text_20334A, 4 + waitmoncry + release + end + +VerdanturfTown_FriendshipRatersHouse_Text_2030ED: @ 82030ED + .string "Let me see your POKéMON.\n" + .string "I’ll check to see how much it likes you.\p" + .string "Oh.\n" + .string "Your POKéMON…$" + +VerdanturfTown_FriendshipRatersHouse_Text_203141: @ 8203141 + .string "It adores you.\n" + .string "It can’t possibly love you any more.\l" + .string "I even feel happy seeing it.$" + +VerdanturfTown_FriendshipRatersHouse_Text_203192: @ 8203192 + .string "It seems to be very happy.\n" + .string "It obviously likes you a whole lot.$" + +VerdanturfTown_FriendshipRatersHouse_Text_2031D1: @ 82031D1 + .string "It likes you quite a lot.\n" + .string "It seems to want to be babied a little.$" + +VerdanturfTown_FriendshipRatersHouse_Text_203213: @ 8203213 + .string "It’s getting used to you.\n" + .string "It seems to believe in you.$" + +VerdanturfTown_FriendshipRatersHouse_Text_203249: @ 8203249 + .string "It’s not very used to you yet.\n" + .string "It neither loves nor hates you.$" + +VerdanturfTown_FriendshipRatersHouse_Text_203288: @ 8203288 + .string "It’s very wary.\n" + .string "It has scary viciousness in its eyes.\l" + .string "It doesn’t like you much at all.$" + +VerdanturfTown_FriendshipRatersHouse_Text_2032DF: @ 82032DF + .string "This is a little hard for me to say…\p" + .string "Your POKéMON simply detests you.\n" + .string "Doesn’t that make you uncomfortable?$" + +VerdanturfTown_FriendshipRatersHouse_Text_20334A: @ 820334A + .string "PIKACHU: Pika pika!$" + diff --git a/data/scripts/maps/VerdanturfTown_House.inc b/data/scripts/maps/VerdanturfTown_House.inc new file mode 100644 index 0000000000..ce48fd662a --- /dev/null +++ b/data/scripts/maps/VerdanturfTown_House.inc @@ -0,0 +1,25 @@ +VerdanturfTown_House_MapScripts:: @ 820335E + .byte 0 + +VerdanturfTown_House_EventScript_20335F:: @ 820335F + msgbox VerdanturfTown_House_Text_203371, 2 + end + +VerdanturfTown_House_EventScript_203368:: @ 8203368 + msgbox VerdanturfTown_House_Text_2033EE, 2 + end + +VerdanturfTown_House_Text_203371: @ 8203371 + .string "Far away, deep in EVER GRANDE CITY,\n" + .string "is the POKéMON LEAGUE.\p" + .string "The TRAINERS who gather there are\n" + .string "all frighteningly well skilled.$" + +VerdanturfTown_House_Text_2033EE: @ 82033EE + .string "In the POKéMON LEAGUE, I think the\n" + .string "rules say that you have to battle the\l" + .string "ELITE FOUR all in a row.\p" + .string "If you lose to any of them, you have\n" + .string "to begin your challenge again from the\l" + .string "first one.$" + diff --git a/data/scripts/maps/VerdanturfTown_Mart.inc b/data/scripts/maps/VerdanturfTown_Mart.inc new file mode 100644 index 0000000000..96daf2c849 --- /dev/null +++ b/data/scripts/maps/VerdanturfTown_Mart.inc @@ -0,0 +1,60 @@ +VerdanturfTown_Mart_MapScripts:: @ 8202586 + .byte 0 + +VerdanturfTown_Mart_EventScript_202587:: @ 8202587 + lock + faceplayer + message gUnknown_08272A21 + waitmessage + pokemart VerdanturfTown_Mart_Pokemart_2025A0 + msgbox gUnknown_08272A3F, 4 + release + end + + .align 2 +VerdanturfTown_Mart_Pokemart_2025A0: @ 82025A0 + .2byte ITEM_GREAT_BALL + .2byte ITEM_NEST_BALL + .2byte ITEM_SUPER_POTION + .2byte ITEM_ANTIDOTE + .2byte ITEM_PARALYZE_HEAL + .2byte ITEM_AWAKENING + .2byte ITEM_BURN_HEAL + .2byte ITEM_ICE_HEAL + .2byte ITEM_REPEL + .2byte ITEM_X_SPECIAL + .2byte ITEM_FLUFFY_TAIL + .2byte ITEM_NONE + release + end + +VerdanturfTown_Mart_EventScript_2025BA:: @ 82025BA + msgbox VerdanturfTown_Mart_Text_2025D5, 2 + end + +VerdanturfTown_Mart_EventScript_2025C3:: @ 82025C3 + msgbox VerdanturfTown_Mart_Text_20264C, 2 + end + +VerdanturfTown_Mart_EventScript_2025CC:: @ 82025CC + msgbox VerdanturfTown_Mart_Text_2026C9, 2 + end + +VerdanturfTown_Mart_Text_2025D5: @ 82025D5 + .string "For any POKéMON match, X SPECIAL\n" + .string "is crucial.\p" + .string "It jacks up the power of some moves\n" + .string "even though it’s only for one battle.$" + +VerdanturfTown_Mart_Text_20264C: @ 820264C + .string "They don’t seem to sell any winning\n" + .string "strategy guides for the BATTLE TENT…\p" + .string "It seems one must rely on one’s\n" + .string "own wits after all…$" + +VerdanturfTown_Mart_Text_2026C9: @ 82026C9 + .string "The NEST BALL works better on\n" + .string "weakened POKéMON.\p" + .string "VERDANTURF is the only place you can\n" + .string "buy it.$" + diff --git a/data/scripts/maps/VerdanturfTown_PokemonCenter_1F.inc b/data/scripts/maps/VerdanturfTown_PokemonCenter_1F.inc new file mode 100644 index 0000000000..73c7fe1f39 --- /dev/null +++ b/data/scripts/maps/VerdanturfTown_PokemonCenter_1F.inc @@ -0,0 +1,42 @@ +VerdanturfTown_PokemonCenter_1F_MapScripts:: @ 8202726 + map_script 3, VerdanturfTown_PokemonCenter_1F_MapScript1_202731 + map_script 5, VerdanturfTown_PokemonCenter_1F_MapScript1_277C30 + .byte 0 + +VerdanturfTown_PokemonCenter_1F_MapScript1_202731: @ 8202731 + setrespawn 18 + call VerdanturfTown_PokemonCenter_1F_EventScript_2718DE + end + +VerdanturfTown_PokemonCenter_1F_EventScript_20273A:: @ 820273A + setvar VAR_0x800B, 1 + call VerdanturfTown_PokemonCenter_1F_EventScript_27191E + waitmessage + waitbuttonpress + release + end + +VerdanturfTown_PokemonCenter_1F_EventScript_202748:: @ 8202748 + msgbox VerdanturfTown_PokemonCenter_1F_Text_20275A, 2 + end + +VerdanturfTown_PokemonCenter_1F_EventScript_202751:: @ 8202751 + msgbox VerdanturfTown_PokemonCenter_1F_Text_20280B, 2 + end + +VerdanturfTown_PokemonCenter_1F_Text_20275A: @ 820275A + .string "You can’t consider yourself a real\n" + .string "TRAINER if you don’t have faith\l" + .string "in your POKéMON.\p" + .string "Only those people who can believe\n" + .string "in their battling POKéMON can win\l" + .string "through to the very end.$" + +VerdanturfTown_PokemonCenter_1F_Text_20280B: @ 820280B + .string "The reason why anyone would visit\n" + .string "VERDANTURF…\p" + .string "It’s the BATTLE TENT. It goes without\n" + .string "saying.\p" + .string "Or is there somebody here that you\n" + .string "came to see?$" + diff --git a/data/scripts/maps/VerdanturfTown_PokemonCenter_2F.inc b/data/scripts/maps/VerdanturfTown_PokemonCenter_2F.inc new file mode 100644 index 0000000000..9e93a628ee --- /dev/null +++ b/data/scripts/maps/VerdanturfTown_PokemonCenter_2F.inc @@ -0,0 +1,19 @@ +VerdanturfTown_PokemonCenter_2F_MapScripts:: @ 8202897 + map_script 2, VerdanturfTown_PokemonCenter_2F_MapScript2_276C3B + map_script 4, VerdanturfTown_PokemonCenter_2F_MapScript2_276B6C + map_script 1, VerdanturfTown_PokemonCenter_2F_MapScript1_276BBE + map_script 3, VerdanturfTown_PokemonCenter_2F_MapScript1_276ACF + .byte 0 + +VerdanturfTown_PokemonCenter_2F_EventScript_2028AC:: @ 82028AC + call OldaleTown_PokemonCenter_2F_EventScript_276EB7 + end + +VerdanturfTown_PokemonCenter_2F_EventScript_2028B2:: @ 82028B2 + call OldaleTown_PokemonCenter_2F_EventScript_2770B2 + end + +VerdanturfTown_PokemonCenter_2F_EventScript_2028B8:: @ 82028B8 + call OldaleTown_PokemonCenter_2F_EventScript_2771DB + end + diff --git a/data/scripts/maps/VerdanturfTown_WandasHouse.inc b/data/scripts/maps/VerdanturfTown_WandasHouse.inc new file mode 100644 index 0000000000..fabff64205 --- /dev/null +++ b/data/scripts/maps/VerdanturfTown_WandasHouse.inc @@ -0,0 +1,176 @@ +VerdanturfTown_WandasHouse_MapScripts:: @ 82028BE + .byte 0 + +VerdanturfTown_WandasHouse_EventScript_2028BF:: @ 82028BF + lock + faceplayer + checkflag FLAG_0x0C1 + goto_eq VerdanturfTown_WandasHouse_EventScript_2028D7 + msgbox VerdanturfTown_WandasHouse_Text_202993, 4 + setflag FLAG_0x0C1 + release + end + +VerdanturfTown_WandasHouse_EventScript_2028D7:: @ 82028D7 + msgbox VerdanturfTown_WandasHouse_Text_202ABE, 4 + release + end + +VerdanturfTown_WandasHouse_EventScript_2028E1:: @ 82028E1 + lock + faceplayer + checkflag FLAG_0x07E + goto_eq VerdanturfTown_WandasHouse_EventScript_202909 + checkflag FLAG_0x4F3 + goto_eq VerdanturfTown_WandasHouse_EventScript_2028FF + msgbox VerdanturfTown_WandasHouse_Text_202B37, 4 + release + end + +VerdanturfTown_WandasHouse_EventScript_2028FF:: @ 82028FF + msgbox VerdanturfTown_WandasHouse_Text_202C20, 4 + release + end + +VerdanturfTown_WandasHouse_EventScript_202909:: @ 8202909 + msgbox VerdanturfTown_WandasHouse_Text_202C4E, 4 + release + end + +VerdanturfTown_WandasHouse_EventScript_202913:: @ 8202913 + msgbox VerdanturfTown_WandasHouse_Text_202E00, 2 + end + +VerdanturfTown_WandasHouse_EventScript_20291C:: @ 820291C + lock + faceplayer + checkflag FLAG_0x4F3 + goto_eq VerdanturfTown_WandasHouse_EventScript_202944 + checkflag FLAG_0x0BE + goto_eq VerdanturfTown_WandasHouse_EventScript_20293A + msgbox VerdanturfTown_WandasHouse_Text_202D91, 4 + release + end + +VerdanturfTown_WandasHouse_EventScript_20293A:: @ 820293A + msgbox VerdanturfTown_WandasHouse_Text_202CCF, 4 + release + end + +VerdanturfTown_WandasHouse_EventScript_202944:: @ 8202944 + msgbox VerdanturfTown_WandasHouse_Text_202D91, 4 + release + end + +VerdanturfTown_WandasHouse_EventScript_20294E:: @ 820294E + lock + faceplayer + checkflag FLAG_0x07E + goto_eq VerdanturfTown_WandasHouse_EventScript_202989 + checkflag FLAG_0x4F3 + goto_eq VerdanturfTown_WandasHouse_EventScript_20297F + checkflag FLAG_0x0C7 + goto_eq VerdanturfTown_WandasHouse_EventScript_202975 + msgbox VerdanturfTown_WandasHouse_Text_202E47, 4 + release + end + +VerdanturfTown_WandasHouse_EventScript_202975:: @ 8202975 + msgbox VerdanturfTown_WandasHouse_Text_202F19, 4 + release + end + +VerdanturfTown_WandasHouse_EventScript_20297F:: @ 820297F + msgbox VerdanturfTown_WandasHouse_Text_202F73, 4 + release + end + +VerdanturfTown_WandasHouse_EventScript_202989:: @ 8202989 + msgbox VerdanturfTown_WandasHouse_Text_202FDB, 4 + release + end + +VerdanturfTown_WandasHouse_Text_202993: @ 8202993 + .string "WALLY: I lost to you, {PLAYER}, but I’m\n" + .string "not feeling down anymore.\p" + .string "Because I have a new purpose in life.\n" + .string "Together with my RALTS, I’m going\l" + .string "to challenge POKéMON GYMS and become\l" + .string "a great TRAINER.\p" + .string "Please watch me, {PLAYER}.\n" + .string "I’m going to be stronger than you.\p" + .string "When I do, I’m going to challenge you\n" + .string "to another battle.$" + +VerdanturfTown_WandasHouse_Text_202ABE: @ 8202ABE + .string "WALLY: Please watch me, {PLAYER}.\n" + .string "I’m going to get stronger than you.\p" + .string "When I do, I’m going to challenge you\n" + .string "to another battle.$" + +VerdanturfTown_WandasHouse_Text_202B37: @ 8202B37 + .string "UNCLE: Oh! {PLAYER}{KUN}!\n" + .string "WALLY’s next door.\p" + .string "But, boy, there’s something I have to\n" + .string "tell you.\p" + .string "This natural environment is doing\n" + .string "wonders for WALLY’s health.\p" + .string "Maybe it’s not just the environment.\n" + .string "It could be POKéMON that are giving\l" + .string "the boy hope.$" + +VerdanturfTown_WandasHouse_Text_202C20: @ 8202C20 + .string "WALLY’s gone away…\n" + .string "He slipped off on his own…$" + +VerdanturfTown_WandasHouse_Text_202C4E: @ 8202C4E + .string "UNCLE: Is that right?\n" + .string "WALLY’s gone away that far all by\l" + .string "himself…\p" + .string "Well, I have to give him credit--he is\n" + .string "my little brother’s son.$" + +VerdanturfTown_WandasHouse_Text_202CCF: @ 8202CCF + .string "WANDA: You are?\n" + .string "Oh, right, I get it!\p" + .string "You’re the {PLAYER} who WALLY was\n" + .string "telling me about.\p" + .string "I’m WALLY’s cousin.\n" + .string "Glad to meet you!\p" + .string "I think WALLY’s become a lot more lively\n" + .string "and healthy since he came here.$" + +VerdanturfTown_WandasHouse_Text_202D91: @ 8202D91 + .string "WANDA: Don’t worry about WALLY.\n" + .string "He’ll be just fine.\p" + .string "I know my little cousin, and he has\n" + .string "POKéMON with him, too.$" + +VerdanturfTown_WandasHouse_Text_202E00: @ 8202E00 + .string "Thanks to you, I can see my girlfriend\n" + .string "every day.\l" + .string "Happy? You bet I am!$" + +VerdanturfTown_WandasHouse_Text_202E47: @ 8202E47 + .string "My daughter’s boyfriend is a very\n" + .string "driven and passionate sort of person.\p" + .string "He’s been digging a tunnel nonstop\n" + .string "just so he can see my daughter.\p" + .string "My daughter’s a little concerned,\n" + .string "so she goes out to the tunnel a lot.$" + +VerdanturfTown_WandasHouse_Text_202F19: @ 8202F19 + .string "It’s amazing. My daughter’s boyfriend\n" + .string "was digging the tunnel by hand!\p" + .string "It’s so incredible!$" + +VerdanturfTown_WandasHouse_Text_202F73: @ 8202F73 + .string "If anything were to happen to WALLY,\n" + .string "I would never be able to look his\l" + .string "parents in PETALBURG in the eye…$" + +VerdanturfTown_WandasHouse_Text_202FDB: @ 8202FDB + .string "WALLY was in EVER GRANDE?\p" + .string "His parents in PETALBURG would be\n" + .string "astonished to hear that!$" + diff --git a/data/scripts/maps/VictoryRoad_1F.inc b/data/scripts/maps/VictoryRoad_1F.inc new file mode 100644 index 0000000000..4dd00035ab --- /dev/null +++ b/data/scripts/maps/VictoryRoad_1F.inc @@ -0,0 +1,220 @@ +VictoryRoad_1F_MapScripts:: @ 8235D7A + map_script 3, VictoryRoad_1F_MapScript1_235D80 + .byte 0 + +VictoryRoad_1F_MapScript1_235D80: @ 8235D80 + compare VAR_0x40C3, 1 + call_if 1, VictoryRoad_1F_EventScript_235D97 + compare VAR_0x40C3, 2 + call_if 1, VictoryRoad_1F_EventScript_235DA3 + end + +VictoryRoad_1F_EventScript_235D97:: @ 8235D97 + setobjectxyperm 4, 2, 24 + setobjectmovementtype 4, 8 + return + +VictoryRoad_1F_EventScript_235DA3:: @ 8235DA3 + setobjectxyperm 4, 3, 24 + setobjectmovementtype 4, 8 + return + +VictoryRoad_1F_EventScript_235DAF:: @ 8235DAF + lockall + setvar VAR_0x8008, 1 + addobject 4 + applymovement 4, VictoryRoad_1F_Movement_235E15 + waitmovement 0 + goto VictoryRoad_1F_EventScript_235DE1 + end + +VictoryRoad_1F_EventScript_235DC8:: @ 8235DC8 + lockall + setvar VAR_0x8008, 2 + addobject 4 + applymovement 4, VictoryRoad_1F_Movement_235E21 + waitmovement 0 + goto VictoryRoad_1F_EventScript_235DE1 + end + +VictoryRoad_1F_EventScript_235DE1:: @ 8235DE1 + applymovement 255, VictoryRoad_1F_Movement_2725AA + waitmovement 0 + msgbox VictoryRoad_1F_Text_235EE6, 4 + trainerbattle 3, TRAINER_WALLY_1, 0, VictoryRoad_1F_Text_235FFC + msgbox VictoryRoad_1F_Text_236020, 4 + clearflag FLAG_0x35A + moveobjectoffscreen 4 + setflag FLAG_0x07E + copyvar VAR_0x40C3, VAR_0x8008 + releaseall + end + +VictoryRoad_1F_Movement_235E15: @ 8235E15 + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_up + step_end + +VictoryRoad_1F_Movement_235E21: @ 8235E21 + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_left + step_up + step_end + +VictoryRoad_1F_EventScript_235E2C:: @ 8235E2C + msgbox VictoryRoad_1F_Text_236020, 2 + end + +VictoryRoad_1F_EventScript_235E35:: @ 8235E35 + trainerbattle 0, TRAINER_WALLY_3, 0, VictoryRoad_1F_Text_236073, VictoryRoad_1F_Text_2360DA + specialvar VAR_RESULT, ShouldTryRematchBattle + compare VAR_RESULT, 1 + goto_eq VictoryRoad_1F_EventScript_235E5C + msgbox VictoryRoad_1F_Text_2360FE, 6 + end + +VictoryRoad_1F_EventScript_235E5C:: @ 8235E5C + trainerbattle 5, TRAINER_WALLY_3, 0, VictoryRoad_1F_Text_236073, VictoryRoad_1F_Text_2360DA + msgbox VictoryRoad_1F_Text_2360FE, 6 + end + +VictoryRoad_1F_EventScript_235E73:: @ 8235E73 + trainerbattle 0, TRAINER_EDGAR, 0, VictoryRoad_1F_Text_236184, VictoryRoad_1F_Text_2361CB + msgbox VictoryRoad_1F_Text_2361E5, 6 + end + +VictoryRoad_1F_EventScript_235E8A:: @ 8235E8A + trainerbattle 0, TRAINER_ALBERT, 0, VictoryRoad_1F_Text_236248, VictoryRoad_1F_Text_236290 + msgbox VictoryRoad_1F_Text_2362A4, 6 + end + +VictoryRoad_1F_EventScript_235EA1:: @ 8235EA1 + trainerbattle 0, TRAINER_HOPE, 0, VictoryRoad_1F_Text_2362EE, VictoryRoad_1F_Text_236336 + msgbox VictoryRoad_1F_Text_236356, 6 + end + +VictoryRoad_1F_EventScript_235EB8:: @ 8235EB8 + trainerbattle 0, TRAINER_QUINCY, 0, VictoryRoad_1F_Text_236390, VictoryRoad_1F_Text_2363C4 + msgbox VictoryRoad_1F_Text_2363D5, 6 + end + +VictoryRoad_1F_EventScript_235ECF:: @ 8235ECF + trainerbattle 0, TRAINER_KATELYNN, 0, VictoryRoad_1F_Text_236468, VictoryRoad_1F_Text_2364A7 + msgbox VictoryRoad_1F_Text_2364BB, 6 + end + +VictoryRoad_1F_Text_235EE6: @ 8235EE6 + .string "WALLY: Hi! {PLAYER}!\p" + .string "I bet you’re surprised to see me here!\p" + .string "I made it all the way here, and it’s\n" + .string "all thanks to you!\p" + .string "{PLAYER}, losing to you that time\n" + .string "made me stronger!\p" + .string "But I’m not going to lose anymore!\p" + .string "I’m going to win! For the POKéMON who\n" + .string "gave me courage and strength!\p" + .string "Okay… Here I come!$" + +VictoryRoad_1F_Text_235FFC: @ 8235FFC + .string "Wow!\n" + .string "{PLAYER}, you are strong, after all!$" + +VictoryRoad_1F_Text_236020: @ 8236020 + .string "WALLY: I couldn’t beat you today,\n" + .string "{PLAYER}, but one of these days, I’ll\l" + .string "catch up to you!$" + +VictoryRoad_1F_Text_236073: @ 8236073 + .string "WALLY: Hi! {PLAYER}!\p" + .string "I’ve gotten stronger since that last\n" + .string "time! I wanted to show you, {PLAYER}!\p" + .string "Okay… Here I come!$" + +VictoryRoad_1F_Text_2360DA: @ 82360DA + .string "Wow!\n" + .string "{PLAYER}, you are strong, after all!$" + +VictoryRoad_1F_Text_2360FE: @ 82360FE + .string "WALLY: I couldn’t beat you this time,\n" + .string "too… But one of these days, {PLAYER},\l" + .string "I’m going to catch up to you…\p" + .string "And challenge the POKéMON LEAGUE!$" + +VictoryRoad_1F_Text_236184: @ 8236184 + .string "I’ve made it this far a couple times,\n" + .string "but the last stretch is so long…$" + +VictoryRoad_1F_Text_2361CB: @ 82361CB + .string "My dream ends here again…$" + +VictoryRoad_1F_Text_2361E5: @ 82361E5 + .string "You’ve made it this far. Keep the\n" + .string "momentum going and become the\l" + .string "CHAMPION! If anyone can, it’s you!$" + +VictoryRoad_1F_Text_236248: @ 8236248 + .string "I didn’t come all this way to lose now.\n" + .string "That possibility doesn’t exist!$" + +VictoryRoad_1F_Text_236290: @ 8236290 + .string "Impossible…\n" + .string "I lost?$" + +VictoryRoad_1F_Text_2362A4: @ 82362A4 + .string "I lost here…\p" + .string "That means I lack the qualifications\n" + .string "to become the CHAMPION…$" + +VictoryRoad_1F_Text_2362EE: @ 82362EE + .string "This seemingly infinite and harsh road\n" + .string "lives up to its name of VICTORY.$" + +VictoryRoad_1F_Text_236336: @ 8236336 + .string "Your battle style is fantastic…$" + +VictoryRoad_1F_Text_236356: @ 8236356 + .string "You seem to have the potential for\n" + .string "becoming the CHAMPION.$" + +VictoryRoad_1F_Text_236390: @ 8236390 + .string "What is the VICTORY ROAD?\n" + .string "I’ll tell you if you win!$" + +VictoryRoad_1F_Text_2363C4: @ 82363C4 + .string "Okay!\n" + .string "Well done!$" + +VictoryRoad_1F_Text_2363D5: @ 82363D5 + .string "Getting through here safely--that’s\n" + .string "the final test for any TRAINER aiming\l" + .string "to become the POKéMON CHAMPION.\p" + .string "That’s why it’s called the VICTORY\n" + .string "ROAD.$" + +VictoryRoad_1F_Text_236468: @ 8236468 + .string "I have nothing to say to anyone\n" + .string "that’s come this far. Come on!$" + +VictoryRoad_1F_Text_2364A7: @ 82364A7 + .string "This is a disgrace…$" + +VictoryRoad_1F_Text_2364BB: @ 82364BB + .string "Humph, go right on ahead.\n" + .string "See if I care.$" + diff --git a/data/scripts/maps/VictoryRoad_B1F.inc b/data/scripts/maps/VictoryRoad_B1F.inc new file mode 100644 index 0000000000..376fda7d5c --- /dev/null +++ b/data/scripts/maps/VictoryRoad_B1F.inc @@ -0,0 +1,91 @@ +VictoryRoad_B1F_MapScripts:: @ 82364E4 + .byte 0 + +VictoryRoad_B1F_EventScript_2364E5:: @ 82364E5 + trainerbattle 0, TRAINER_SAMUEL, 0, VictoryRoad_B1F_Text_236558, VictoryRoad_B1F_Text_2365AD + msgbox VictoryRoad_B1F_Text_2365C4, 6 + end + +VictoryRoad_B1F_EventScript_2364FC:: @ 82364FC + trainerbattle 0, TRAINER_SHANNON, 0, VictoryRoad_B1F_Text_2365FD, VictoryRoad_B1F_Text_23664D + msgbox VictoryRoad_B1F_Text_236678, 6 + end + +VictoryRoad_B1F_EventScript_236513:: @ 8236513 + trainerbattle 0, TRAINER_MICHELLE, 0, VictoryRoad_B1F_Text_2366C2, VictoryRoad_B1F_Text_23670B + msgbox VictoryRoad_B1F_Text_23671B, 6 + end + +VictoryRoad_B1F_EventScript_23652A:: @ 823652A + trainerbattle 0, TRAINER_MITCHELL, 0, VictoryRoad_B1F_Text_236757, VictoryRoad_B1F_Text_236780 + msgbox VictoryRoad_B1F_Text_2367A7, 6 + end + +VictoryRoad_B1F_EventScript_236541:: @ 8236541 + trainerbattle 0, TRAINER_HALLE, 0, VictoryRoad_B1F_Text_2367FD, VictoryRoad_B1F_Text_23683B + msgbox VictoryRoad_B1F_Text_23684C, 6 + end + +VictoryRoad_B1F_Text_236558: @ 8236558 + .string "The thought that I’m getting closer to\n" + .string "the POKéMON LEAGUE…\p" + .string "I’m getting stage fright…$" + +VictoryRoad_B1F_Text_2365AD: @ 82365AD + .string "I couldn’t do a thing…$" + +VictoryRoad_B1F_Text_2365C4: @ 82365C4 + .string "The POKéMON LEAGUE became distant\n" + .string "again… What a letdown…$" + +VictoryRoad_B1F_Text_2365FD: @ 82365FD + .string "To win your way through the POKéMON\n" + .string "LEAGUE, you need the trust of your\l" + .string "POKéMON.$" + +VictoryRoad_B1F_Text_23664D: @ 823664D + .string "Your relationship is based on\n" + .string "solid trust.$" + +VictoryRoad_B1F_Text_236678: @ 8236678 + .string "By being together all the time, trust\n" + .string "grows between POKéMON and TRAINERS.$" + +VictoryRoad_B1F_Text_2366C2: @ 82366C2 + .string "This isn’t the goal. It’s only a place\n" + .string "on the way to the POKéMON LEAGUE.$" + +VictoryRoad_B1F_Text_23670B: @ 823670B + .string "That’s the way!$" + +VictoryRoad_B1F_Text_23671B: @ 823671B + .string "You’ll do fine, for sure!\n" + .string "Your POKéMON are all eager to go!$" + +VictoryRoad_B1F_Text_236757: @ 8236757 + .string "My POKéMON are cosmically\n" + .string "awe inspiring!$" + +VictoryRoad_B1F_Text_236780: @ 8236780 + .string "I’ve never met anyone like you before.$" + +VictoryRoad_B1F_Text_2367A7: @ 82367A7 + .string "Even outside of battle, I sense\n" + .string "incredible power emanating from you\l" + .string "and your POKéMON.$" + +VictoryRoad_B1F_Text_2367FD: @ 82367FD + .string "Okay, no need to get your back up!\n" + .string "Relax, let’s take it easy!$" + +VictoryRoad_B1F_Text_23683B: @ 823683B + .string "Whoa!\n" + .string "Wonderful!$" + +VictoryRoad_B1F_Text_23684C: @ 823684C + .string "Sure, this is VICTORY ROAD.\p" + .string "But it’s not all that different from\n" + .string "the path you’ve taken so far.\p" + .string "Try to enjoy things the rest of\n" + .string "the way!$" + diff --git a/data/scripts/maps/VictoryRoad_B2F.inc b/data/scripts/maps/VictoryRoad_B2F.inc new file mode 100644 index 0000000000..15deea104d --- /dev/null +++ b/data/scripts/maps/VictoryRoad_B2F.inc @@ -0,0 +1,108 @@ +VictoryRoad_B2F_MapScripts:: @ 82368D4 + .byte 0 + +VictoryRoad_B2F_EventScript_2368D5:: @ 82368D5 + trainerbattle 0, TRAINER_VITO, 0, VictoryRoad_B2F_Text_23695F, VictoryRoad_B2F_Text_2369B3 + msgbox VictoryRoad_B2F_Text_2369DE, 6 + end + +VictoryRoad_B2F_EventScript_2368EC:: @ 82368EC + trainerbattle 0, TRAINER_OWEN, 0, VictoryRoad_B2F_Text_236A4C, VictoryRoad_B2F_Text_236A92 + msgbox VictoryRoad_B2F_Text_236AAE, 6 + end + +VictoryRoad_B2F_EventScript_236903:: @ 8236903 + trainerbattle 0, TRAINER_CAROLINE, 0, VictoryRoad_B2F_Text_236AF0, VictoryRoad_B2F_Text_236B14 + msgbox VictoryRoad_B2F_Text_236B2F, 6 + end + +VictoryRoad_B2F_EventScript_23691A:: @ 823691A + trainerbattle 0, TRAINER_JULIE, 0, VictoryRoad_B2F_Text_236B88, VictoryRoad_B2F_Text_236C0A + msgbox VictoryRoad_B2F_Text_236C21, 6 + end + +VictoryRoad_B2F_EventScript_236931:: @ 8236931 + trainerbattle 0, TRAINER_FELIX, 0, VictoryRoad_B2F_Text_236C67, VictoryRoad_B2F_Text_236CAB + msgbox VictoryRoad_B2F_Text_236CBA, 6 + end + +VictoryRoad_B2F_EventScript_236948:: @ 8236948 + trainerbattle 0, TRAINER_DIANNE, 0, VictoryRoad_B2F_Text_236D27, VictoryRoad_B2F_Text_236D6E + msgbox VictoryRoad_B2F_Text_236D8C, 6 + end + +VictoryRoad_B2F_Text_23695F: @ 823695F + .string "I trained together with my whole family,\n" + .string "every one of us!\l" + .string "I’m not losing to anyone!$" + +VictoryRoad_B2F_Text_2369B3: @ 82369B3 + .string "Better than my family?!\n" + .string "Is that possible?!$" + +VictoryRoad_B2F_Text_2369DE: @ 82369DE + .string "I was better than everyone in my\n" + .string "family. I’ve never lost before…\p" + .string "I’ve lost my confidence…\n" + .string "Maybe I’ll go home…$" + +VictoryRoad_B2F_Text_236A4C: @ 8236A4C + .string "I’d heard that there was a tough\n" + .string "little kid around. Do they mean you?$" + +VictoryRoad_B2F_Text_236A92: @ 8236A92 + .string "The little shrimp is tough!$" + +VictoryRoad_B2F_Text_236AAE: @ 8236AAE + .string "The rumors I heard, that tough little\n" + .string "kid is from PETALBURG CITY.$" + +VictoryRoad_B2F_Text_236AF0: @ 8236AF0 + .string "You must be getting a little tired.$" + +VictoryRoad_B2F_Text_236B14: @ 8236B14 + .string "No signs of tiring at all!$" + +VictoryRoad_B2F_Text_236B2F: @ 8236B2F + .string "VICTORY ROAD and the POKéMON LEAGUE\n" + .string "are long and grueling challenges.\l" + .string "Beware of fatigue!$" + +VictoryRoad_B2F_Text_236B88: @ 8236B88 + .string "You shouldn’t get complacent just\n" + .string "because you have a lot of GYM BADGES.\p" + .string "There’s always going to be someone\n" + .string "who’s better than you!$" + +VictoryRoad_B2F_Text_236C0A: @ 8236C0A + .string "You’re better than me!$" + +VictoryRoad_B2F_Text_236C21: @ 8236C21 + .string "Gaze on your collected BADGES and\n" + .string "remember the TRAINERS you’ve faced.$" + +VictoryRoad_B2F_Text_236C67: @ 8236C67 + .string "I’ve come this far, but the tension’s\n" + .string "giving me awful stomach pain…$" + +VictoryRoad_B2F_Text_236CAB: @ 8236CAB + .string "Ooh…\n" + .string "It hurts…$" + +VictoryRoad_B2F_Text_236CBA: @ 8236CBA + .string "I can’t help getting all tense knowing\n" + .string "that I’m nearing the POKéMON LEAGUE.\p" + .string "It’s all I can do to feign calm.$" + +VictoryRoad_B2F_Text_236D27: @ 8236D27 + .string "The elite among the elite gather in\n" + .string "this cave.\p" + .string "How are you finding it?$" + +VictoryRoad_B2F_Text_236D6E: @ 8236D6E + .string "Not rattled in the least bit!$" + +VictoryRoad_B2F_Text_236D8C: @ 8236D8C + .string "You do have guts! I like that!\n" + .string "Keep it going!$" + diff --git a/data/scripts/mauville_man.inc b/data/scripts/mauville_man.inc new file mode 100644 index 0000000000..2e00ee702d --- /dev/null +++ b/data/scripts/mauville_man.inc @@ -0,0 +1,1002 @@ +MauvilleCity_PokemonCenter_1F_EventScript_28E066:: @ 828E066 + special sub_81201DC + switch VAR_RESULT + case 0, MauvilleCity_PokemonCenter_1F_EventScript_28E0A6 + case 1, MauvilleCity_PokemonCenter_1F_EventScript_28E167 + case 2, MauvilleCity_PokemonCenter_1F_EventScript_28E4D4 + case 3, MauvilleCity_PokemonCenter_1F_EventScript_29014A + case 4, MauvilleCity_PokemonCenter_1F_EventScript_2902F6 + end + +MauvilleCity_PokemonCenter_1F_EventScript_28E0A6:: @ 828E0A6 + lock + faceplayer + msgbox MauvilleCity_PokemonCenter_1F_Text_29038E, 5 + compare VAR_RESULT, 1 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0C7 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0EA + end + +MauvilleCity_PokemonCenter_1F_EventScript_28E0C7:: @ 828E0C7 + setvar VAR_0x8004, 0 + special sub_8120340 + delay 60 + special sub_81201F4 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0F4 + msgbox MauvilleCity_PokemonCenter_1F_Text_2903E6, 4 + release + end + +MauvilleCity_PokemonCenter_1F_EventScript_28E0EA:: @ 828E0EA + msgbox MauvilleCity_PokemonCenter_1F_Text_2903C0, 4 + release + end + +MauvilleCity_PokemonCenter_1F_EventScript_28E0F4:: @ 828E0F4 + msgbox MauvilleCity_PokemonCenter_1F_Text_290421, 5 + compare VAR_RESULT, 1 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E113 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E15D + end + +MauvilleCity_PokemonCenter_1F_EventScript_28E113:: @ 828E113 + setvar VAR_0x8004, 6 + call MauvilleCity_PokemonCenter_1F_EventScript_271E7C + lock + faceplayer + compare VAR_RESULT, 0 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E15D + msgbox MauvilleCity_PokemonCenter_1F_Text_2904C1, 4 + setvar VAR_0x8004, 1 + special sub_8120340 + delay 60 + msgbox MauvilleCity_PokemonCenter_1F_Text_2904EB, 5 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E113 + special sub_8120210 + msgbox MauvilleCity_PokemonCenter_1F_Text_290514, 4 + release + end + +MauvilleCity_PokemonCenter_1F_EventScript_28E15D:: @ 828E15D + msgbox MauvilleCity_PokemonCenter_1F_Text_29049B, 4 + release + end + +MauvilleCity_PokemonCenter_1F_EventScript_28E167:: @ 828E167 + lock + faceplayer + setflag FLAG_SYS_HIPSTER_MEET + msgbox MauvilleCity_PokemonCenter_1F_Text_29054C, 4 + special sub_8120358 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E18C + msgbox MauvilleCity_PokemonCenter_1F_Text_290598, 4 + release + end + +MauvilleCity_PokemonCenter_1F_EventScript_28E18C:: @ 828E18C + special sub_812038C + compare VAR_RESULT, 1 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E1A4 + msgbox MauvilleCity_PokemonCenter_1F_Text_290602, 4 + release + end + +MauvilleCity_PokemonCenter_1F_EventScript_28E1A4:: @ 828E1A4 + msgbox MauvilleCity_PokemonCenter_1F_Text_290666, 4 + special sub_8120374 + release + end + +MauvilleCity_PokemonCenter_1F_Text_28E1B1: @ 828E1B1 + .string "Hi, I’m the TRADER.\n" + .string "Want to trade decorations with me?$" + +MauvilleCity_PokemonCenter_1F_Text_28E1E8: @ 828E1E8 + .string "Oh…\n" + .string "You’ve left me feeling the blues…$" + +MauvilleCity_PokemonCenter_1F_Text_28E20E: @ 828E20E + .string "But we’ve traded decorations already,\n" + .string "you and I.$" + +MauvilleCity_PokemonCenter_1F_Text_28E23F: @ 828E23F + .string "If you see any decorative item that\n" + .string "you want of mine, speak up.$" + +MauvilleCity_PokemonCenter_1F_Text_28E27F: @ 828E27F + .string "You don’t want anything?\n" + .string "I feel unwanted…$" + +MauvilleCity_PokemonCenter_1F_Text_28E2A9: @ 828E2A9 + .string "That decorative item once belonged\n" + .string "to {STR_VAR_1}.\p" + .string "Do you want it?$" + +MauvilleCity_PokemonCenter_1F_Text_28E2E3: @ 828E2E3 + .string "Uh… Wait a second. You don’t have a\n" + .string "single piece of decoration!$" + +MauvilleCity_PokemonCenter_1F_Text_28E323: @ 828E323 + .string "Okay, pick the decoration that you’ll\n" + .string "trade to me.$" + +MauvilleCity_PokemonCenter_1F_Text_28E356: @ 828E356 + .string "You won’t trade with me?\n" + .string "I feel unwanted…$" + +MauvilleCity_PokemonCenter_1F_Text_28E380: @ 828E380 + .string "You’ve got all the {STR_VAR_2}S that can\n" + .string "be stored. You’ve no room for this.$" + +MauvilleCity_PokemonCenter_1F_Text_28E3C4: @ 828E3C4 + .string "Okay, so we’ll trade my {STR_VAR_3}\n" + .string "for your {STR_VAR_2}?$" + +MauvilleCity_PokemonCenter_1F_Text_28E3EC: @ 828E3EC + .string "That piece of decoration is in use.\n" + .string "You can’t trade it.$" + +MauvilleCity_PokemonCenter_1F_Text_28E424: @ 828E424 + .string "Then we’ll trade!\n" + .string "I’ll send my decoration to your PC.$" + +MauvilleCity_PokemonCenter_1F_Text_28E45A: @ 828E45A + .string "Oops! Sorry! That’s a really rare\n" + .string "piece of decoration.\l" + .string "I can’t trade that one away!\p" + .string "Can I interest you in something else?$" + +MauvilleCity_PokemonCenter_1F_EventScript_28E4D4:: @ 828E4D4 + lock + faceplayer + msgbox MauvilleCity_PokemonCenter_1F_Text_28E1B1, 5 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E503 + special sub_8133CD8 + compare VAR_RESULT, 1 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E50D + message MauvilleCity_PokemonCenter_1F_Text_28E23F + waitmessage + goto MauvilleCity_PokemonCenter_1F_EventScript_28E517 + end + +MauvilleCity_PokemonCenter_1F_EventScript_28E503:: @ 828E503 + msgbox MauvilleCity_PokemonCenter_1F_Text_28E1E8, 4 + release + end + +MauvilleCity_PokemonCenter_1F_EventScript_28E50D:: @ 828E50D + msgbox MauvilleCity_PokemonCenter_1F_Text_28E20E, 4 + release + end + +MauvilleCity_PokemonCenter_1F_EventScript_28E517:: @ 828E517 + special sub_8133EC0 + waitstate + compare VAR_0x8004, 0 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E558 + compare VAR_0x8004, 65535 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E562 + msgbox MauvilleCity_PokemonCenter_1F_Text_28E2A9, 5 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E56E + special sub_8133CF4 + compare VAR_RESULT, 1 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E57A + goto MauvilleCity_PokemonCenter_1F_EventScript_28E584 + end + +MauvilleCity_PokemonCenter_1F_EventScript_28E558:: @ 828E558 + msgbox MauvilleCity_PokemonCenter_1F_Text_28E27F, 4 + release + end + +MauvilleCity_PokemonCenter_1F_EventScript_28E562:: @ 828E562 + message MauvilleCity_PokemonCenter_1F_Text_28E45A + waitmessage + goto MauvilleCity_PokemonCenter_1F_EventScript_28E517 + end + +MauvilleCity_PokemonCenter_1F_EventScript_28E56E:: @ 828E56E + message MauvilleCity_PokemonCenter_1F_Text_28E23F + waitmessage + goto MauvilleCity_PokemonCenter_1F_EventScript_28E517 + end + +MauvilleCity_PokemonCenter_1F_EventScript_28E57A:: @ 828E57A + msgbox MauvilleCity_PokemonCenter_1F_Text_28E2E3, 4 + release + end + +MauvilleCity_PokemonCenter_1F_EventScript_28E584:: @ 828E584 + msgbox MauvilleCity_PokemonCenter_1F_Text_28E323, 4 + special sub_8133D8C + waitstate + compare VAR_0x8006, 0 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5D4 + compare VAR_0x8006, 65535 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5DE + special sub_8133D2C + compare VAR_RESULT, 1 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5EC + msgbox MauvilleCity_PokemonCenter_1F_Text_28E3C4, 5 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E584 + special sub_8133E38 + msgbox MauvilleCity_PokemonCenter_1F_Text_28E424, 4 + release + end + +MauvilleCity_PokemonCenter_1F_EventScript_28E5D4:: @ 828E5D4 + msgbox MauvilleCity_PokemonCenter_1F_Text_28E356, 4 + release + end + +MauvilleCity_PokemonCenter_1F_EventScript_28E5DE:: @ 828E5DE + msgbox MauvilleCity_PokemonCenter_1F_Text_28E3EC, 4 + goto MauvilleCity_PokemonCenter_1F_EventScript_28E584 + end + +MauvilleCity_PokemonCenter_1F_EventScript_28E5EC:: @ 828E5EC + msgbox MauvilleCity_PokemonCenter_1F_Text_28E380, 4 + release + end + +MauvilleCity_PokemonCenter_1F_Text_28E5F6: @ 828E5F6 + .string "I’m the STORYTELLER.\n" + .string "I’ll tell you tales of legendary\l" + .string "TRAINERS.\p" + .string "Will you hear my tale?$" + +MauvilleCity_PokemonCenter_1F_Text_28E64D: @ 828E64D + .string "Oh…\n" + .string "You’ve left me feeling the blues…$" + +MauvilleCity_PokemonCenter_1F_Text_28E673: @ 828E673 + .string "I know of these legends.\n" + .string "Which tale will you have me tell?$" + +MauvilleCity_PokemonCenter_1F_Text_28E6AE: @ 828E6AE + .string "But, I know of no legendary TRAINERS.\n" + .string "Hence, I know no tales.\p" + .string "Where does one find a TRAINER worthy\n" + .string "of a legendary tale?$" + +MauvilleCity_PokemonCenter_1F_Text_28E726: @ 828E726 + .string "What’s that?!\n" + .string "You… You…\p" + .string "{STR_VAR_2}\n" + .string "{STR_VAR_1} time(s)?!\p" + .string "That is indeed magnificent!\n" + .string "It’s the birth of a new legend!$" + +MauvilleCity_PokemonCenter_1F_Text_28E78A: @ 828E78A + .string "It gets me thinking, could there be\n" + .string "other TRAINERS with more impressive\l" + .string "legends awaiting discovery?$" + +MauvilleCity_PokemonCenter_1F_Text_28E7EE: @ 828E7EE + .string "Are you a TRAINER?\p" + .string "Then tell me, have you any tales that\n" + .string "are even remotely legendary?$" + +MauvilleCity_PokemonCenter_1F_Text_28E844: @ 828E844 + .string "Incidentally… Would you care to hear\n" + .string "another legendary tale?$" + +MauvilleCity_PokemonCenter_1F_Text_28E881: @ 828E881 + .string "Hmm…\n" + .string "I’m not satisfied…\p" + .string "I wish you would bring me news worthy\n" + .string "of being called a legend.$" + +MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9 + .string "I wish more people would be interested\n" + .string "in hearing my epic tales of legendary\l" + .string "TRAINERS.$" + +MauvilleCity_PokemonCenter_1F_Text_28E930:: @ 828E930 + .string "The Save-Happy TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28E947:: @ 828E947 + .string "Saved the game$" + +MauvilleCity_PokemonCenter_1F_Text_28E956:: @ 828E956 + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER saved the game\n" + .string "{STR_VAR_1} times!\p" + .string "A more cautious TRAINER than\n" + .string "{STR_VAR_3} one will never find!$" + +MauvilleCity_PokemonCenter_1F_Text_28E9D7:: @ 828E9D7 + .string "The Trendsetter TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28E9EF:: @ 828E9EF + .string "Started trends$" + +MauvilleCity_PokemonCenter_1F_Text_28E9FE:: @ 828E9FE + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER started new trends\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3} is setting trends for all\n" + .string "the HOENN region!$" + +MauvilleCity_PokemonCenter_1F_Text_28EA7D:: @ 828EA7D + .string "The BERRY-Planting TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28EA98:: @ 828EA98 + .string "Planted BERRIES$" + +MauvilleCity_PokemonCenter_1F_Text_28EAA8:: @ 828EAA8 + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER planted BERRIES\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3} is a legendary lover of\n" + .string "BERRIES!$" + +MauvilleCity_PokemonCenter_1F_Text_28EB19:: @ 828EB19 + .string "The BIKE-Loving TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28EB31:: @ 828EB31 + .string "Traded BIKES$" + +MauvilleCity_PokemonCenter_1F_Text_28EB3E:: @ 828EB3E + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER swapped BIKES\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3} must love BIKES deeply\n" + .string "and passionately!$" + +MauvilleCity_PokemonCenter_1F_Text_28EBB5:: @ 828EBB5 + .string "The Interviewed TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28EBCD:: @ 828EBCD + .string "Got interviewed$" + +MauvilleCity_PokemonCenter_1F_Text_28EBDD:: @ 828EBDD + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER got interviewed\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3} must be a TRAINER who’s\n" + .string "attracting much attention!$" + +MauvilleCity_PokemonCenter_1F_Text_28EC60:: @ 828EC60 + .string "The Battle-Happy TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28EC79:: @ 828EC79 + .string "Battled$" + +MauvilleCity_PokemonCenter_1F_Text_28EC81:: @ 828EC81 + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER battled {STR_VAR_1} times!\p" + .string "{STR_VAR_3} must be a TRAINER who can\n" + .string "never refuse a chance to battle!$" + +MauvilleCity_PokemonCenter_1F_Text_28ED04:: @ 828ED04 + .string "The POKéMON-Catching TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28ED21:: @ 828ED21 + .string "Caught POKéMON$" + +MauvilleCity_PokemonCenter_1F_Text_28ED30:: @ 828ED30 + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER caught\n" + .string "{STR_VAR_1} POKéMON!\p" + .string "{STR_VAR_3} is a legendary catcher of\n" + .string "wild POKéMON!$" + +MauvilleCity_PokemonCenter_1F_Text_28EDA1:: @ 828EDA1 + .string "The Fishing TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28EDB5:: @ 828EDB5 + .string "Caught POKéMON with a ROD$" + +MauvilleCity_PokemonCenter_1F_Text_28EDCF:: @ 828EDCF + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER caught\n" + .string "{STR_VAR_1} POKéMON while fishing!\p" + .string "{STR_VAR_3} is a legendary fishing\n" + .string "expert!$" + +MauvilleCity_PokemonCenter_1F_Text_28EE45:: @ 828EE45 + .string "The EGG-Warming TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28EE5D:: @ 828EE5D + .string "Hatched EGGS$" + +MauvilleCity_PokemonCenter_1F_Text_28EE6A:: @ 828EE6A + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER hatched {STR_VAR_1} POKéMON\n" + .string "from EGGS!\p" + .string "{STR_VAR_3} is a legendary warmer\n" + .string "of EGGS!$" + +MauvilleCity_PokemonCenter_1F_Text_28EEDD:: @ 828EEDD + .string "The Evolver TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28EEF1:: @ 828EEF1 + .string "Evolved POKéMON$" + +MauvilleCity_PokemonCenter_1F_Text_28EF01:: @ 828EF01 + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER made {STR_VAR_1} POKéMON\n" + .string "evolve!\p" + .string "{STR_VAR_3} is the ultimate evolver\n" + .string "of POKéMON!$" + +MauvilleCity_PokemonCenter_1F_Text_28EF73:: @ 828EF73 + .string "The POKéMON CENTER-Loving TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28EF95:: @ 828EF95 + .string "Used POKéMON CENTERS$" + +MauvilleCity_PokemonCenter_1F_Text_28EFAA:: @ 828EFAA + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER healed POKéMON\n" + .string "{STR_VAR_1} times at POKéMON CENTERS!\p" + .string "There could be no greater lover of\n" + .string "POKéMON CENTERS than {STR_VAR_3}!$" + +MauvilleCity_PokemonCenter_1F_Text_28F045:: @ 828F045 + .string "The Homebody TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28F05A:: @ 828F05A + .string "Rested POKéMON at home$" + +MauvilleCity_PokemonCenter_1F_Text_28F071:: @ 828F071 + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER healed POKéMON\n" + .string "{STR_VAR_1} times at home!\p" + .string "There could be no more of a homebody\n" + .string "than {STR_VAR_3}!$" + +MauvilleCity_PokemonCenter_1F_Text_28F0F3:: @ 828F0F3 + .string "The SAFARI-Loving TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28F10D:: @ 828F10D + .string "Entered the SAFARI ZONE$" + +MauvilleCity_PokemonCenter_1F_Text_28F125:: @ 828F125 + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER went into the SAFARI ZONE\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3} is a TRAINER whose wild side\n" + .string "must come out in the SAFARI ZONE!$" + +MauvilleCity_PokemonCenter_1F_Text_28F1BE:: @ 828F1BE + .string "The CUT-Frenzy TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28F1D5:: @ 828F1D5 + .string "Used CUT$" + +MauvilleCity_PokemonCenter_1F_Text_28F1DE:: @ 828F1DE + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER used CUT\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3} is a TRAINER who just must\n" + .string "love to CUT!$" + +MauvilleCity_PokemonCenter_1F_Text_28F24F:: @ 828F24F + .string "The ROCK-SMASHING TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28F269:: @ 828F269 + .string "Smashed rocks$" + +MauvilleCity_PokemonCenter_1F_Text_28F277:: @ 828F277 + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER used ROCK SMASH\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3} must be a TRAINER who\n" + .string "can’t leave a stone unsmashed!$" + +MauvilleCity_PokemonCenter_1F_Text_28F2FC:: @ 828F2FC + .string "The Move-Loving TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28F314:: @ 828F314 + .string "Moved the SECRET BASE$" + +MauvilleCity_PokemonCenter_1F_Text_28F32A:: @ 828F32A + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER moved the SECRET BASE\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3} is a TRAINER who loves\n" + .string "to move houses often!$" + +MauvilleCity_PokemonCenter_1F_Text_28F3AD:: @ 828F3AD + .string "The SPLASH-Happy TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28F3C6:: @ 828F3C6 + .string "Used SPLASH$" + +MauvilleCity_PokemonCenter_1F_Text_28F3D2:: @ 828F3D2 + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER used SPLASH\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3} is a TRAINER who must love\n" + .string "SPLASHING around!$" + +MauvilleCity_PokemonCenter_1F_Text_28F44B:: @ 828F44B + .string "The Tenacious TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28F461:: @ 828F461 + .string "Resorted to using STRUGGLE$" + +MauvilleCity_PokemonCenter_1F_Text_28F47C:: @ 828F47C + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER had to rely on STRUGGLE\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3} is a tenacious TRAINER\n" + .string "who never gives in to adversity!$" + +MauvilleCity_PokemonCenter_1F_Text_28F50C:: @ 828F50C + .string "The SLOT Champ$" + +MauvilleCity_PokemonCenter_1F_Text_28F51B:: @ 828F51B + .string "Won the jackpot on the SLOTS$" + +MauvilleCity_PokemonCenter_1F_Text_28F538:: @ 828F538 + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER won the jackpot on\n" + .string "the SLOTS {STR_VAR_1} times.\p" + .string "{STR_VAR_3} is a TRAINER who was lucky\n" + .string "on the SLOTS!$" + +MauvilleCity_PokemonCenter_1F_Text_28F5BE:: @ 828F5BE + .string "The ROULETTE Champ$" + +MauvilleCity_PokemonCenter_1F_Text_28F5D1:: @ 828F5D1 + .string "Had consecutive ROULETTE wins of$" + +MauvilleCity_PokemonCenter_1F_Text_28F5F2:: @ 828F5F2 + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER won in ROULETTE\n" + .string "{STR_VAR_1} times in a row.\p" + .string "{STR_VAR_3} was lucky when the ball\n" + .string "bounced in ROULETTE!$" + +MauvilleCity_PokemonCenter_1F_Text_28F678:: @ 828F678 + .string "The BATTLE TOWER Challenger$" + +MauvilleCity_PokemonCenter_1F_Text_28F694:: @ 828F694 + .string "Took the BATTLE TOWER challenge$" + +MauvilleCity_PokemonCenter_1F_Text_28F6B4:: @ 828F6B4 + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER took the BATTLE TOWER\n" + .string "challenge {STR_VAR_1} times!\p" + .string "{STR_VAR_3} is a TRAINER who aspires\n" + .string "for excellence in the BATTLE TOWER!$" + +MauvilleCity_PokemonCenter_1F_Text_28F751:: @ 828F751 + .string "The Blend-Loving TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28F76A:: @ 828F76A + .string "Made {POKEBLOCK}S$" + +MauvilleCity_PokemonCenter_1F_Text_28F776:: @ 828F776 + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER made {POKEBLOCK}S\n" + .string "{STR_VAR_1} times!\p" + .string "There is none better at using a BERRY\n" + .string "BLENDER than {STR_VAR_3}!$" + +MauvilleCity_PokemonCenter_1F_Text_28F7F6:: @ 828F7F6 + .string "The CONTEST-Loving TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28F811:: @ 828F811 + .string "Entered CONTESTS$" + +MauvilleCity_PokemonCenter_1F_Text_28F822:: @ 828F822 + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER entered CONTESTS\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3} must love showing off\n" + .string "POKéMON to others!$" + +MauvilleCity_PokemonCenter_1F_Text_28F89C:: @ 828F89C + .string "The CONTEST Master$" + +MauvilleCity_PokemonCenter_1F_Text_28F8AF:: @ 828F8AF + .string "Won CONTESTS$" + +MauvilleCity_PokemonCenter_1F_Text_28F8BC:: @ 828F8BC + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER won CONTESTS\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3} must be an incredible\n" + .string "CONTEST master!$" + +MauvilleCity_PokemonCenter_1F_Text_28F92F:: @ 828F92F + .string "The Happy Shopper$" + +MauvilleCity_PokemonCenter_1F_Text_28F941:: @ 828F941 + .string "Shopped$" + +MauvilleCity_PokemonCenter_1F_Text_28F949:: @ 828F949 + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER bought items in shops\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3} must be one of those\n" + .string "people who are born to shop.$" + +MauvilleCity_PokemonCenter_1F_Text_28F9D1:: @ 828F9D1 + .string "The Item-Finding TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28F9EA:: @ 828F9EA + .string "Used an ITEMFINDER$" + +MauvilleCity_PokemonCenter_1F_Text_28F9FD:: @ 828F9FD + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER used an ITEMFINDER\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3} must enjoy scouring the\n" + .string "ground for hidden items!$" + +MauvilleCity_PokemonCenter_1F_Text_28FA81:: @ 828FA81 + .string "The Rain-Soaked TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28FA99:: @ 828FA99 + .string "Got rained on$" + +MauvilleCity_PokemonCenter_1F_Text_28FAA7:: @ 828FAA7 + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER got soaked by rain\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3}’s charisma must even\n" + .string "attract rain!$" + +MauvilleCity_PokemonCenter_1F_Text_28FB1D:: @ 828FB1D + .string "The Avid POKéDEX Reader$" + +MauvilleCity_PokemonCenter_1F_Text_28FB35:: @ 828FB35 + .string "Checked a POKéDEX$" + +MauvilleCity_PokemonCenter_1F_Text_28FB47:: @ 828FB47 + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER checked a POKéDEX\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3} must love inspecting\n" + .string "POKéMON in a POKéDEX!$" + +MauvilleCity_PokemonCenter_1F_Text_28FBC4:: @ 828FBC4 + .string "The RIBBON Collector$" + +MauvilleCity_PokemonCenter_1F_Text_28FBD9:: @ 828FBD9 + .string "Received RIBBONS$" + +MauvilleCity_PokemonCenter_1F_Text_28FBEA:: @ 828FBEA + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER received RIBBONS\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3} must be a TRAINER who\n" + .string "loves to collect RIBBONS!$" + +MauvilleCity_PokemonCenter_1F_Text_28FC6B:: @ 828FC6B + .string "The Ledge-Jumping TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28FC85:: @ 828FC85 + .string "Jumped down ledges$" + +MauvilleCity_PokemonCenter_1F_Text_28FC98:: @ 828FC98 + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER jumped down ledges\n" + .string "{STR_VAR_1} times!\p" + .string "If there’s a ledge to be jumped,\n" + .string "{STR_VAR_3} can’t ignore it!$" + +MauvilleCity_PokemonCenter_1F_Text_28FD1D:: @ 828FD1D + .string "The Legendary TV Viewer$" + +MauvilleCity_PokemonCenter_1F_Text_28FD35:: @ 828FD35 + .string "Watched TV$" + +MauvilleCity_PokemonCenter_1F_Text_28FD40:: @ 828FD40 + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER watched TV\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3} must love watching TV!$" + +MauvilleCity_PokemonCenter_1F_Text_28FDA2:: @ 828FDA2 + .string "The Time-Conscious TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28FDBD:: @ 828FDBD + .string "Checked the time$" + +MauvilleCity_PokemonCenter_1F_Text_28FDCE:: @ 828FDCE + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER checked the time\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3} must be a punctual TRAINER\n" + .string "who’s conscious of the time.$" + +MauvilleCity_PokemonCenter_1F_Text_28FE57:: @ 828FE57 + .string "The POKéMON LOTTERY Wizard$" + +MauvilleCity_PokemonCenter_1F_Text_28FE72:: @ 828FE72 + .string "Won POKéMON LOTTERIES$" + +MauvilleCity_PokemonCenter_1F_Text_28FE88:: @ 828FE88 + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER won POKéMON LOTTERIES\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3} must have many friends\n" + .string "to trade POKéMON with!$" + +MauvilleCity_PokemonCenter_1F_Text_28FF0C:: @ 828FF0C + .string "The DAY CARE-Using Trainer$" + +MauvilleCity_PokemonCenter_1F_Text_28FF27:: @ 828FF27 + .string "Left POKéMON at the DAY CARE$" + +MauvilleCity_PokemonCenter_1F_Text_28FF44:: @ 828FF44 + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER left POKéMON with the\n" + .string "DAY CARE {STR_VAR_1} times!\p" + .string "{STR_VAR_3} must be a real go-getter\n" + .string "who raises POKéMON aggressively!$" + +MauvilleCity_PokemonCenter_1F_Text_28FFDD:: @ 828FFDD + .string "The CABLE CAR-Loving TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_28FFFA:: @ 828FFFA + .string "Rode the CABLE CAR$" + +MauvilleCity_PokemonCenter_1F_Text_29000D:: @ 829000D + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER rode the CABLE CAR\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3} must be a busy TRAINER\n" + .string "who’s up and down all the time!$" + +MauvilleCity_PokemonCenter_1F_Text_290097:: @ 8290097 + .string "The Hot Spring-Loving TRAINER$" + +MauvilleCity_PokemonCenter_1F_Text_2900B5:: @ 82900B5 + .string "Bathed in hot springs$" + +MauvilleCity_PokemonCenter_1F_Text_2900CB:: @ 82900CB + .string "This is a tale of a TRAINER\n" + .string "named {STR_VAR_3}.\p" + .string "This TRAINER bathed in hot springs\n" + .string "{STR_VAR_1} times!\p" + .string "{STR_VAR_3} must be a TRAINER with\n" + .string "baby-smooth skin!$" + + +MauvilleCity_PokemonCenter_1F_EventScript_29014A:: @ 829014A + lock + faceplayer + setvar VAR_0x8008, 0 + setvar VAR_0x8009, 0 + setvar VAR_0x800A, 0 + setvar VAR_0x800B, 0 + msgbox MauvilleCity_PokemonCenter_1F_Text_28E5F6, 5 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290219 + specialvar VAR_RESULT, sub_81213B0 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_2901DA + message MauvilleCity_PokemonCenter_1F_Text_28E673 + waitmessage + special sub_8121388 + waitstate + compare VAR_RESULT, 0 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_2901B7 + setvar VAR_0x8008, 1 + special sub_812139C + waitmessage + waitbuttonpress + specialvar VAR_RESULT, sub_81213D8 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_2901BD + goto MauvilleCity_PokemonCenter_1F_EventScript_29020F + +MauvilleCity_PokemonCenter_1F_EventScript_2901B7:: @ 82901B7 + goto MauvilleCity_PokemonCenter_1F_EventScript_290219 + end + +MauvilleCity_PokemonCenter_1F_EventScript_2901BD:: @ 82901BD + msgbox MauvilleCity_PokemonCenter_1F_Text_28E78A, 4 + specialvar VAR_RESULT, sub_8121424 + compare VAR_RESULT, 1 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29022D + goto MauvilleCity_PokemonCenter_1F_EventScript_2901E2 + +MauvilleCity_PokemonCenter_1F_EventScript_2901DA:: @ 82901DA + msgbox MauvilleCity_PokemonCenter_1F_Text_28E6AE, 4 + +MauvilleCity_PokemonCenter_1F_EventScript_2901E2:: @ 82901E2 + msgbox MauvilleCity_PokemonCenter_1F_Text_28E7EE, 5 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290219 + specialvar VAR_RESULT, sub_8121450 + compare VAR_RESULT, 1 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29020F + msgbox MauvilleCity_PokemonCenter_1F_Text_28E881, 4 + release + end + +MauvilleCity_PokemonCenter_1F_EventScript_29020F:: @ 829020F + msgbox MauvilleCity_PokemonCenter_1F_Text_28E726, 4 + release + end + +MauvilleCity_PokemonCenter_1F_EventScript_290219:: @ 8290219 + msgbox MauvilleCity_PokemonCenter_1F_Text_28E64D, 4 + release + end + +MauvilleCity_PokemonCenter_1F_EventScript_290223:: @ 8290223 + msgbox MauvilleCity_PokemonCenter_1F_Text_28E8D9, 4 + release + end + +MauvilleCity_PokemonCenter_1F_EventScript_29022D:: @ 829022D + release + end + +MauvilleCity_PokemonCenter_1F_Text_29022F: @ 829022F + .string "I’m GIDDY!\n" + .string "I have a scintillating story for you!\p" + .string "Would you like to hear my story?$" + +MauvilleCity_PokemonCenter_1F_Text_290281: @ 8290281 + .string "Oh…\n" + .string "You’ve left me feeling the blues…$" + +MauvilleCity_PokemonCenter_1F_Text_2902A7: @ 82902A7 + .string "Also, I was thinking…$" + +MauvilleCity_PokemonCenter_1F_Text_2902BD: @ 82902BD + .string "That’s about it, I think…\p" + .string "We should chat again!\n" + .string "Bye-bye!$" + +MauvilleCity_PokemonCenter_1F_EventScript_2902F6:: @ 82902F6 + lock + faceplayer + msgbox MauvilleCity_PokemonCenter_1F_Text_29022F, 5 + compare VAR_RESULT, 1 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290317 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29037A + end + +MauvilleCity_PokemonCenter_1F_EventScript_290317:: @ 8290317 + special sub_81203C4 + compare VAR_RESULT, 1 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290359 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290384 + end + +MauvilleCity_PokemonCenter_1F_EventScript_290331:: @ 8290331 + special sub_81203C4 + compare VAR_RESULT, 1 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29034B + compare VAR_RESULT, 0 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290384 + end + +MauvilleCity_PokemonCenter_1F_EventScript_29034B:: @ 829034B + msgbox MauvilleCity_PokemonCenter_1F_Text_2902A7, 4 + goto MauvilleCity_PokemonCenter_1F_EventScript_290359 + end + +MauvilleCity_PokemonCenter_1F_EventScript_290359:: @ 8290359 + special sub_81203FC + special ShowFieldMessageStringVar4 + waitmessage + yesnobox 20, 8 + compare VAR_RESULT, 1 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290331 + compare VAR_RESULT, 0 + goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290331 + end + +MauvilleCity_PokemonCenter_1F_EventScript_29037A:: @ 829037A + msgbox MauvilleCity_PokemonCenter_1F_Text_290281, 4 + release + end + +MauvilleCity_PokemonCenter_1F_EventScript_290384:: @ 8290384 + msgbox MauvilleCity_PokemonCenter_1F_Text_2902BD, 4 + release + end + +MauvilleCity_PokemonCenter_1F_Text_29038E: @ 829038E + .string "Hi, I’m the BARD.\n" + .string "Would you like to hear my song?$" + +MauvilleCity_PokemonCenter_1F_Text_2903C0: @ 82903C0 + .string "Oh…\n" + .string "You’ve left me feeling the blues…$" + +MauvilleCity_PokemonCenter_1F_Text_2903E6: @ 82903E6 + .string "Oh, what a moving song…\n" + .string "I wish I could play it for others…$" + +MauvilleCity_PokemonCenter_1F_Text_290421: @ 8290421 + .string "So?\n" + .string "How do you like my song?\p" + .string "But I’m none too happy about\n" + .string "the lyrics.\p" + .string "How would you like to write some\n" + .string "new lyrics for me?$" + +MauvilleCity_PokemonCenter_1F_Text_29049B: @ 829049B + .string "Oh…\n" + .string "You’ve left me feeling the blues…$" + +MauvilleCity_PokemonCenter_1F_Text_2904C1: @ 82904C1 + .string "Thank you kindly!\n" + .string "Let me sing it for you.$" + +MauvilleCity_PokemonCenter_1F_Text_2904EB: @ 82904EB + .string "Was that how you wanted your song\n" + .string "to go?$" + +MauvilleCity_PokemonCenter_1F_Text_290514: @ 8290514 + .string "Okay! That’s it, then.\n" + .string "I’ll sing this song for a while.$" + +MauvilleCity_PokemonCenter_1F_Text_29054C: @ 829054C + .string "Hey, yo! They call me the HIPSTER.\n" + .string "I’ll teach you what’s hip and happening.$" + +MauvilleCity_PokemonCenter_1F_Text_290598: @ 8290598 + .string "But, hey, I taught you what’s hip and\n" + .string "happening already.\p" + .string "I’d like to spread the good word to\n" + .string "other folks.$" + +MauvilleCity_PokemonCenter_1F_Text_290602: @ 8290602 + .string "But, hey, you already know a lot about\n" + .string "what’s hip and happening.\p" + .string "I’ve got nothing new to teach you!$" + +MauvilleCity_PokemonCenter_1F_Text_290666: @ 8290666 + .string "Hey, have you heard about\n" + .string "“{STR_VAR_1}”?\p" + .string "What’s it mean? Well…\n" + .string "Ask your daddy or mommy, okay?$" diff --git a/data/scripts/mystery_event_club.inc b/data/scripts/mystery_event_club.inc new file mode 100644 index 0000000000..3fba532bf5 --- /dev/null +++ b/data/scripts/mystery_event_club.inc @@ -0,0 +1,169 @@ +PetalburgCity_PokemonCenter_1F_EventScript_291539:: @ 8291539 + lock + faceplayer + checkflag FLAG_SYS_CHAT_USED + goto_eq PetalburgCity_PokemonCenter_1F_EventScript_2915F5 + msgbox PetalburgCity_PokemonCenter_1F_Text_291687, 4 + goto PetalburgCity_PokemonCenter_1F_EventScript_291552 + end + +PetalburgCity_PokemonCenter_1F_EventScript_291552:: @ 8291552 + msgbox PetalburgCity_PokemonCenter_1F_Text_2916FF, 4 + multichoice 17, 6, 20, 0 + switch VAR_RESULT + case 0, PetalburgCity_PokemonCenter_1F_EventScript_29159F + case 1, PetalburgCity_PokemonCenter_1F_EventScript_2915EB + case 2, PetalburgCity_PokemonCenter_1F_EventScript_291591 + case 127, PetalburgCity_PokemonCenter_1F_EventScript_2915EB + end + +PetalburgCity_PokemonCenter_1F_EventScript_291591:: @ 8291591 + msgbox PetalburgCity_PokemonCenter_1F_Text_291729, 4 + goto PetalburgCity_PokemonCenter_1F_EventScript_291552 + end + +PetalburgCity_PokemonCenter_1F_EventScript_29159F:: @ 829159F + msgbox PetalburgCity_PokemonCenter_1F_Text_291969, 4 + closemessage + setvar VAR_0x8004, 0 + call PetalburgCity_PokemonCenter_1F_EventScript_271E7C + lock + faceplayer + compare VAR_RESULT, 0 + goto_eq PetalburgCity_PokemonCenter_1F_EventScript_2915CB + compare VAR_RESULT, 1 + goto_eq PetalburgCity_PokemonCenter_1F_EventScript_2915D5 + end + +PetalburgCity_PokemonCenter_1F_EventScript_2915CB:: @ 82915CB + msgbox PetalburgCity_PokemonCenter_1F_Text_2919DC, 4 + release + end + +PetalburgCity_PokemonCenter_1F_EventScript_2915D5:: @ 82915D5 + setvar VAR_0x8004, 0 + special sub_811EECC + waitmessage + delay 80 + msgbox PetalburgCity_PokemonCenter_1F_Text_291B22, 4 + release + end + +PetalburgCity_PokemonCenter_1F_EventScript_2915EB:: @ 82915EB + msgbox PetalburgCity_PokemonCenter_1F_Text_291991, 4 + release + end + +PetalburgCity_PokemonCenter_1F_EventScript_2915F5:: @ 82915F5 + msgbox PetalburgCity_PokemonCenter_1F_Text_291A1B, 4 + goto PetalburgCity_PokemonCenter_1F_EventScript_291603 + end + +PetalburgCity_PokemonCenter_1F_EventScript_291603:: @ 8291603 + msgbox PetalburgCity_PokemonCenter_1F_Text_291A4F, 4 + multichoice 17, 6, 20, 0 + switch VAR_RESULT + case 0, PetalburgCity_PokemonCenter_1F_EventScript_291650 + case 1, PetalburgCity_PokemonCenter_1F_EventScript_29167C + case 2, PetalburgCity_PokemonCenter_1F_EventScript_291642 + case 127, PetalburgCity_PokemonCenter_1F_EventScript_29167C + end + +PetalburgCity_PokemonCenter_1F_EventScript_291642:: @ 8291642 + msgbox PetalburgCity_PokemonCenter_1F_Text_291729, 4 + goto PetalburgCity_PokemonCenter_1F_EventScript_291603 + end + +PetalburgCity_PokemonCenter_1F_EventScript_291650:: @ 8291650 + msgbox PetalburgCity_PokemonCenter_1F_Text_291A6B, 4 + closemessage + setvar VAR_0x8004, 0 + call PetalburgCity_PokemonCenter_1F_EventScript_271E7C + lock + faceplayer + compare VAR_RESULT, 0 + goto_eq PetalburgCity_PokemonCenter_1F_EventScript_2915CB + compare VAR_RESULT, 1 + goto_eq PetalburgCity_PokemonCenter_1F_EventScript_2915D5 + end + +PetalburgCity_PokemonCenter_1F_EventScript_29167C:: @ 829167C + msgbox PetalburgCity_PokemonCenter_1F_Text_291ABA, 4 + release + end + +PetalburgCity_PokemonCenter_1F_EventScript_291686:: @ 8291686 + return + +PetalburgCity_PokemonCenter_1F_Text_291687: @ 8291687 + .string "Hello there, TRAINER!\n" + .string "You’ve got a wonderful smile, there.\p" + .string "I have a hobby--collecting the profiles\n" + .string "of POKéMON TRAINERS.$" + +PetalburgCity_PokemonCenter_1F_Text_2916FF: @ 82916FF + .string "So, how about it?\n" + .string "May I see your profile?$" + +PetalburgCity_PokemonCenter_1F_Text_291729: @ 8291729 + .string "You make your own profile by putting\n" + .string "together four words or phrases.\p" + .string "Here, I’ll show you an example of a\n" + .string "profile using four pieces of text.\p" + .string "You can switch those four pieces with\n" + .string "other text pieces any which way you\l" + .string "like to make your own profile.\p" + .string "There are a lot of text pieces that\n" + .string "you can use.\p" + .string "They are arranged in groups like\n" + .string "POKéMON, lifestyles, and hobbies so\l" + .string "it is easier to look them up.\p" + .string "So, first, choose the group of text\n" + .string "pieces to display a list of choices.\p" + .string "Then, pick the choice you want.\p" + .string "Repeat for the remaining text choices,\n" + .string "and you’ll have your very own profile.$" + +PetalburgCity_PokemonCenter_1F_Text_291969: @ 8291969 + .string "Yes! Thank you!\n" + .string "So, let’s see it, then.$" + +PetalburgCity_PokemonCenter_1F_Text_291991: @ 8291991 + .string "Oh, no, really?\p" + .string "I imagine someone like you would have\n" + .string "a wonderful profile…$" + +PetalburgCity_PokemonCenter_1F_Text_2919DC: @ 82919DC + .string "Oh? You’re not into it right now?\p" + .string "Well, anytime is good by me!$" + +PetalburgCity_PokemonCenter_1F_Text_291A1B: @ 8291A1B + .string "Hello there, TRAINER!\n" + .string "You’ve got a wonderful smile.$" + +PetalburgCity_PokemonCenter_1F_Text_291A4F: @ 8291A4F + .string "May I see your new profile?$" + +PetalburgCity_PokemonCenter_1F_Text_291A6B: @ 8291A6B + .string "Yes! Thank you!\p" + .string "I hope it’s even better than the profile\n" + .string "you showed me before.$" + +PetalburgCity_PokemonCenter_1F_Text_291ABA: @ 8291ABA + .string "Oh, you like your profile the way it is.\p" + .string "I don’t blame you--it’s a wonderful\n" + .string "profile the way it is now.$" + +PetalburgCity_PokemonCenter_1F_Text_291B22: @ 8291B22 + .string "F-fantastic!\p" + .string "Your profile, it’s wonderful!\n" + .string "It really says what you’re about.\p" + .string "Why, anyone hearing this profile would\n" + .string "be captivated by you!\p" + .string "Thank you!$" + +PetalburgCity_PokemonCenter_1F_Text_291BB7: @ 8291BB7 + .string "Oh?\n" + .string "You know the secret saying!\p" + .string "That means you’re now a fellow member\n" + .string "of the MYSTERY EVENT CLUB!$" diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc new file mode 100644 index 0000000000..6bae599fc3 --- /dev/null +++ b/data/scripts/players_house.inc @@ -0,0 +1,714 @@ +LittlerootTown_BrendansHouse_2F_EventScript_2926FE:: @ 82926FE +LittlerootTown_MaysHouse_2F_EventScript_2926FE:: @ 82926FE + setvar VAR_0x4092, 5 + return + +LittlerootTown_BrendansHouse_1F_EventScript_292704:: @ 8292704 +LittlerootTown_MaysHouse_1F_EventScript_292704:: @ 8292704 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A1C, 4 + applymovement VAR_0x8004, LittlerootTown_BrendansHouse_1F_Movement_27259E + waitmovement 0 + compare VAR_0x8005, 0 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_29274D + compare VAR_0x8005, 1 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292758 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A46, 4 + closemessage + setvar VAR_0x4092, 4 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292763 + applymovement VAR_0x8004, LittlerootTown_BrendansHouse_1F_Movement_2725A6 + waitmovement 0 + releaseall + end + +LittlerootTown_BrendansHouse_1F_EventScript_29274D:: @ 829274D + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A8 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_EventScript_292758:: @ 8292758 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_Movement_292763: @ 8292763 + step_up + step_end + +LittlerootTown_BrendansHouse_1F_EventScript_292765:: @ 8292765 +LittlerootTown_MaysHouse_1F_EventScript_292765:: @ 8292765 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B24, 4 + closemessage + applymovement VAR_0x8004, LittlerootTown_BrendansHouse_1F_Movement_2725A6 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292AF0 + waitmovement 0 + releaseall + end + +LittlerootTown_BrendansHouse_2F_EventScript_292781:: @ 8292781 + lockall + setvar VAR_0x8004, 0 + goto LittlerootTown_BrendansHouse_2F_EventScript_292799 + end + +LittlerootTown_MaysHouse_2F_EventScript_29278D:: @ 829278D + lockall + setvar VAR_0x8004, 1 + goto LittlerootTown_MaysHouse_2F_EventScript_292799 + end + +LittlerootTown_BrendansHouse_2F_EventScript_292799:: @ 8292799 +LittlerootTown_MaysHouse_2F_EventScript_292799:: @ 8292799 + checkflag FLAG_0x051 + goto_eq LittlerootTown_BrendansHouse_2F_EventScript_29283F + msgbox LittlerootTown_BrendansHouse_2F_Text_1F8668, 4 + call LittlerootTown_BrendansHouse_2F_EventScript_292849 + delay 30 + setvar VAR_0x4092, 6 + setflag FLAG_0x051 + setflag FLAG_0x2F2 + setflag FLAG_0x2F3 + checkplayergender + compare VAR_RESULT, 0 + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_2927DF + compare VAR_RESULT, 1 + call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_29280F + playse SE_KAIDAN + removeobject VAR_0x8008 + releaseall + end + +LittlerootTown_BrendansHouse_2F_EventScript_2927DF:: @ 82927DF + setvar VAR_0x8008, 14 + addobject VAR_0x8008 + applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_292850 + waitmovement 0 + applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8 + waitmovement 0 + msgbox LittlerootTown_BrendansHouse_2F_Text_1F869A, 4 + closemessage + applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_292857 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_2F_EventScript_29280F:: @ 829280F + setvar VAR_0x8008, 14 + addobject VAR_0x8008 + applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_29285B + waitmovement 0 + applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A4 + waitmovement 0 + msgbox LittlerootTown_BrendansHouse_2F_Text_1F869A, 4 + closemessage + applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_292862 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_2F_EventScript_29283F:: @ 829283F + incrementgamestat 45 + fadescreen 1 + special Special_ViewWallClock + waitstate + releaseall + end + +LittlerootTown_BrendansHouse_2F_EventScript_292849:: @ 8292849 + fadescreen 1 + special StartWallClock + waitstate + return + +LittlerootTown_BrendansHouse_2F_Movement_292850: @ 8292850 + step_13 + step_down + step_27 + step_14 + step_13 + step_left + step_end + +LittlerootTown_BrendansHouse_2F_Movement_292857: @ 8292857 + step_right + step_up + step_13 + step_end + +LittlerootTown_BrendansHouse_2F_Movement_29285B: @ 829285B + step_13 + step_down + step_28 + step_14 + step_13 + step_right + step_end + +LittlerootTown_BrendansHouse_2F_Movement_292862: @ 8292862 + step_left + step_up + step_13 + step_end + +LittlerootTown_BrendansHouse_1F_EventScript_292866:: @ 8292866 +LittlerootTown_MaysHouse_1F_EventScript_292866:: @ 8292866 + setvar VAR_0x4092, 7 + releaseall + end + +LittlerootTown_BrendansHouse_1F_EventScript_29286D:: @ 829286D + applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_2725A8 + waitmovement 0 + call LittlerootTown_BrendansHouse_1F_EventScript_29294B + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292AE0 + waitmovement 0 + playbgm MUS_INTER_V, 0 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7BBC, 4 + closemessage + applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_2929B7 + waitmovement 0 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292AE6 + waitmovement 0 + call LittlerootTown_BrendansHouse_1F_EventScript_29296C + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4 + waitmovement 0 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7BF1, 4 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7C35, 4 + closemessage + setvar VAR_0x4001, 1 + applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_2929BD + waitmovement 0 + goto LittlerootTown_BrendansHouse_1F_EventScript_292866 + end + +LittlerootTown_MaysHouse_1F_EventScript_2928DC:: @ 82928DC + applymovement VAR_0x8005, LittlerootTown_MaysHouse_1F_Movement_2725A4 + waitmovement 0 + call LittlerootTown_MaysHouse_1F_EventScript_29294B + applymovement 255, LittlerootTown_MaysHouse_1F_Movement_292AE8 + waitmovement 0 + playbgm MUS_INTER_V, 0 + msgbox LittlerootTown_MaysHouse_1F_Text_1F7BBC, 4 + closemessage + applymovement VAR_0x8005, LittlerootTown_MaysHouse_1F_Movement_2929BA + waitmovement 0 + applymovement 255, LittlerootTown_MaysHouse_1F_Movement_292AEE + waitmovement 0 + call LittlerootTown_MaysHouse_1F_EventScript_29296C + applymovement 255, LittlerootTown_MaysHouse_1F_Movement_2725A8 + waitmovement 0 + msgbox LittlerootTown_MaysHouse_1F_Text_1F7BF1, 4 + msgbox LittlerootTown_MaysHouse_1F_Text_1F7C35, 4 + closemessage + setvar VAR_0x4001, 1 + applymovement VAR_0x8005, LittlerootTown_MaysHouse_1F_Movement_2929C1 + waitmovement 0 + goto LittlerootTown_MaysHouse_1F_EventScript_292866 + end + +LittlerootTown_BrendansHouse_1F_EventScript_29294B:: @ 829294B +LittlerootTown_MaysHouse_1F_EventScript_29294B:: @ 829294B + playse SE_PIN + applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_272598 + waitmovement 0 + applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_27259A + waitmovement 0 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B96, 4 + closemessage + return + +LittlerootTown_BrendansHouse_1F_EventScript_29296C:: @ 829296C +LittlerootTown_MaysHouse_1F_EventScript_29296C:: @ 829296C + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A6 + waitmovement 0 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EC6, 4 + fadedefaultbgm + special TurnOffTVScreen + setflag FLAG_SYS_TV_HOME + delay 35 + return + +LittlerootTown_BrendansHouse_1F_Movement_292989: @ 8292989 + step_up + step_right + step_right + step_right + step_right + step_down + step_28 + step_end + +LittlerootTown_BrendansHouse_1F_Movement_292991: @ 8292991 + step_up + step_left + step_left + step_left + step_left + step_down + step_27 + step_end + +LittlerootTown_BrendansHouse_1F_Movement_292999: @ 8292999 + step_right + step_end + +LittlerootTown_BrendansHouse_1F_Movement_29299B: @ 829299B + step_left + step_end + +LittlerootTown_BrendansHouse_1F_Movement_29299D: @ 829299D + step_27 + step_14 + step_14 + step_14 + step_14 + step_28 + step_14 + step_14 + step_end + +LittlerootTown_BrendansHouse_1F_Movement_2929A6: @ 82929A6 + step_28 + step_14 + step_14 + step_14 + step_14 + step_27 + step_14 + step_14 + step_end + +LittlerootTown_BrendansHouse_1F_Movement_2929AF: @ 82929AF + step_up + step_left + step_left + step_end + +LittlerootTown_BrendansHouse_1F_Movement_2929B3: @ 82929B3 + step_up + step_right + step_right + step_end + +LittlerootTown_BrendansHouse_1F_Movement_2929B7: @ 82929B7 + step_left + step_28 + step_end + +LittlerootTown_MaysHouse_1F_Movement_2929BA: @ 82929BA + step_right + step_27 + step_end + +LittlerootTown_BrendansHouse_1F_Movement_2929BD: @ 82929BD + step_left + step_down + step_28 + step_end + +LittlerootTown_MaysHouse_1F_Movement_2929C1: @ 82929C1 + step_right + step_down + step_27 + step_end + +LittlerootTown_BrendansHouse_1F_EventScript_2929C5:: @ 82929C5 +LittlerootTown_MaysHouse_1F_EventScript_2929C5:: @ 82929C5 + lock + faceplayer + compare VAR_0x4082, 4 + goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A0F + compare VAR_0x408C, 4 + goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A0F + checkflag FLAG_HAS_MATCH_CALL + goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A19 + checkflag FLAG_0x052 + goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A86 + compare VAR_0x4001, 1 + goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A94 + compare VAR_0x4092, 7 + goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292AB0 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A1C, 4 + release + end + +LittlerootTown_BrendansHouse_1F_EventScript_292A0F:: @ 8292A0F + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7DBE, 4 + release + end + +LittlerootTown_BrendansHouse_1F_EventScript_292A19:: @ 8292A19 + checkflag FLAG_0x0D8 + goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A43 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7E0E, 4 + closemessage + delay 30 + playfanfare MUS_ME_TORE_EYE + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7E89, 4 + waitfanfare + closemessage + delay 30 + setflag FLAG_0x0D8 + release + end + +LittlerootTown_BrendansHouse_1F_EventScript_292A43:: @ 8292A43 + checkflag FLAG_BADGE05_GET + goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A51 + goto LittlerootTown_BrendansHouse_1F_EventScript_292A86 + +LittlerootTown_BrendansHouse_1F_EventScript_292A51:: @ 8292A51 + checkflag FLAG_0x085 + goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A86 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7D73, 4 + giveitem_std ITEM_AMULET_COIN + compare VAR_RESULT, 0 + goto_eq LittlerootTown_BrendansHouse_1F_EventScript_272054 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7DBE, 4 + setflag FLAG_0x085 + release + end + +LittlerootTown_BrendansHouse_1F_EventScript_292A86:: @ 8292A86 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7D08, 4 + goto LittlerootTown_BrendansHouse_1F_EventScript_292A9E + end + +LittlerootTown_BrendansHouse_1F_EventScript_292A94:: @ 8292A94 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7CC3, 4 + release + end + +LittlerootTown_BrendansHouse_1F_EventScript_292A9E:: @ 8292A9E + closemessage + call LittlerootTown_BrendansHouse_1F_EventScript_272083 + incrementgamestat 16 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7D5C, 4 + release + end + +LittlerootTown_BrendansHouse_1F_EventScript_292AB0:: @ 8292AB0 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7CD8, 4 + release + end + +LittlerootTown_BrendansHouse_1F_EventScript_292ABA:: @ 8292ABA +LittlerootTown_MaysHouse_1F_EventScript_292ABA:: @ 8292ABA + lock + faceplayer + waitse + playmoncry SPECIES_VIGOROTH, 0 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EA8, 4 + waitmoncry + release + end + +LittlerootTown_BrendansHouse_1F_EventScript_292ACD:: @ 8292ACD +LittlerootTown_MaysHouse_1F_EventScript_292ACD:: @ 8292ACD + lock + faceplayer + waitse + playmoncry SPECIES_VIGOROTH, 0 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EB3, 4 + waitmoncry + release + end + +LittlerootTown_BrendansHouse_1F_Movement_292AE0: @ 8292AE0 + step_down + step_down + step_left + step_left + step_left + step_end + +LittlerootTown_BrendansHouse_1F_Movement_292AE6: @ 8292AE6 + step_left + step_end + +LittlerootTown_MaysHouse_1F_Movement_292AE8: @ 8292AE8 + step_down + step_down + step_right + step_right + step_right + step_end + +LittlerootTown_MaysHouse_1F_Movement_292AEE: @ 8292AEE + step_right + step_end + +LittlerootTown_BrendansHouse_1F_Movement_292AF0: @ 8292AF0 + step_up + step_end + +LittlerootTown_BrendansHouse_1F_EventScript_292AF2:: @ 8292AF2 +LittlerootTown_MaysHouse_1F_EventScript_292AF2:: @ 8292AF2 + lockall + checkplayergender + compare VAR_RESULT, 0 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292C76 + compare VAR_RESULT, 1 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292C86 + compare VAR_0x8008, 0 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D08 + compare VAR_0x8008, 1 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D13 + applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_27259E + waitmovement 0 + playse SE_PIN + applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_272598 + waitmovement 0 + applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_27259A + waitmovement 0 + delay 20 + compare VAR_0x8008, 0 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292C96 + compare VAR_0x8008, 1 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CA1 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F800E, 4 + giveitem_std ITEM_SS_TICKET + msgbox LittlerootTown_BrendansHouse_1F_Text_1F80FE, 4 + closemessage + delay 20 + compare VAR_0x8008, 0 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CAC + compare VAR_0x8008, 1 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CC1 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F815B, 4 + closemessage + compare VAR_0x8008, 0 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CD6 + compare VAR_0x8008, 1 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CEF + playse SE_DOOR + removeobject VAR_0x8009 + setflag FLAG_0x123 + delay 30 + compare VAR_0x8008, 0 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D48 + compare VAR_0x8008, 1 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D5D + delay 20 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F81B9, 4 + closemessage + setflag FLAG_SYS_TV_LATI + special TurnOnTVScreen + delay 60 + compare VAR_0x8008, 0 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D72 + compare VAR_0x8008, 1 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D7D + msgbox LittlerootTown_BrendansHouse_1F_Text_1F824B, 4 + closemessage + compare VAR_0x8008, 0 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D1E + compare VAR_0x8008, 1 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D33 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F826F, 4 + closemessage + clearflag FLAG_SYS_TV_LATI + setflag FLAG_0x0FF + special TurnOffTVScreen + compare VAR_0x8008, 0 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D88 + compare VAR_0x8008, 1 + call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D9D + msgbox LittlerootTown_BrendansHouse_1F_Text_1F8351, 4 + multichoice 22, 8, 108, 1 + copyvar VAR_0x8004, VAR_RESULT + special InitRoamer + copyvar VAR_0x40D5, VAR_RESULT + msgbox LittlerootTown_BrendansHouse_1F_Text_1F83A1, 4 + closemessage + setvar VAR_0x4082, 4 + setvar VAR_0x408C, 4 + releaseall + end + +LittlerootTown_BrendansHouse_1F_EventScript_292C72:: @ 8292C72 + setflag FLAG_SYS_TV_LATI + return + +LittlerootTown_BrendansHouse_1F_EventScript_292C76:: @ 8292C76 + setvar VAR_0x8008, 0 + setvar VAR_0x8009, 5 + setvar VAR_0x800A, 1 + return + +LittlerootTown_BrendansHouse_1F_EventScript_292C86:: @ 8292C86 + setvar VAR_0x8008, 1 + setvar VAR_0x8009, 5 + setvar VAR_0x800A, 1 + return + +LittlerootTown_BrendansHouse_1F_EventScript_292C96:: @ 8292C96 + applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DB2 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_EventScript_292CA1:: @ 8292CA1 + applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DB5 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_EventScript_292CAC:: @ 8292CAC + applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292989 + waitmovement 0 + applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DB8 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_EventScript_292CC1:: @ 8292CC1 + applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292991 + waitmovement 0 + applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DBA + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_EventScript_292CD6:: @ 8292CD6 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DCC + applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292DCC + applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DBC + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_EventScript_292CEF:: @ 8292CEF + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DCC + applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292DCC + applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DC1 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_EventScript_292D08:: @ 8292D08 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DC6 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_EventScript_292D13:: @ 8292D13 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DD1 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_EventScript_292D1E:: @ 8292D1E + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DD7 + waitmovement 0 + applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2725A4 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_EventScript_292D33:: @ 8292D33 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DDE + waitmovement 0 + applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2725A8 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_EventScript_292D48:: @ 8292D48 + applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292999 + waitmovement 0 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_EventScript_292D5D:: @ 8292D5D + applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_29299B + waitmovement 0 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A8 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_EventScript_292D72:: @ 8292D72 + applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_29299D + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_EventScript_292D7D:: @ 8292D7D + applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2929A6 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_EventScript_292D88:: @ 8292D88 + applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2929AF + waitmovement 0 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A8 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_EventScript_292D9D:: @ 8292D9D + applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2929B3 + waitmovement 0 + applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4 + waitmovement 0 + return + +LittlerootTown_BrendansHouse_1F_Movement_292DB2: @ 8292DB2 + step_right + step_right + step_end + +LittlerootTown_BrendansHouse_1F_Movement_292DB5: @ 8292DB5 + step_left + step_left + step_end + +LittlerootTown_BrendansHouse_1F_Movement_292DB8: @ 8292DB8 + step_02 + step_end + +LittlerootTown_BrendansHouse_1F_Movement_292DBA: @ 8292DBA + step_03 + step_end + +LittlerootTown_BrendansHouse_1F_Movement_292DBC: @ 8292DBC + step_down + step_right + step_down + step_13 + step_end + +LittlerootTown_BrendansHouse_1F_Movement_292DC1: @ 8292DC1 + step_down + step_left + step_down + step_13 + step_end + +LittlerootTown_BrendansHouse_1F_Movement_292DC6: @ 8292DC6 + step_14 + step_down + step_down + step_down + step_27 + step_end + +LittlerootTown_BrendansHouse_1F_Movement_292DCC: @ 8292DCC + step_13 + step_14 + step_14 + step_25 + step_end + +LittlerootTown_BrendansHouse_1F_Movement_292DD1: @ 8292DD1 + step_14 + step_down + step_down + step_down + step_28 + step_end + +LittlerootTown_BrendansHouse_1F_Movement_292DD7: @ 8292DD7 + step_up + step_left + step_left + step_left + step_left + step_26 + step_end + +LittlerootTown_BrendansHouse_1F_Movement_292DDE: @ 8292DDE + step_up + step_right + step_right + step_right + step_right + step_26 + step_end diff --git a/data/scripts/pokeblocks.inc b/data/scripts/pokeblocks.inc new file mode 100644 index 0000000000..39cca82444 --- /dev/null +++ b/data/scripts/pokeblocks.inc @@ -0,0 +1,748 @@ +LilycoveCity_ContestLobby_Text_292DEE: @ 8292DEE + .string "Oh? Did you want to make some {POKEBLOCK}S\n" + .string "with this old-timer?$" + +LilycoveCity_ContestLobby_Text_292E28: @ 8292E28 + .string "Excellent!$" + +LilycoveCity_ContestLobby_Text_292E33: @ 8292E33 + .string "Oh…\n" + .string "You’ve made this old-timer sad…$" + +LilycoveCity_ContestLobby_Text_292E57: @ 8292E57 + .string "Do you know how to make a {POKEBLOCK}?$" + +LilycoveCity_ContestLobby_Text_292E78: @ 8292E78 + .string "Let’s get started, then!\p" + .string "Let’s BERRY BLENDER!$" + +LilycoveCity_ContestLobby_Text_292EA6: @ 8292EA6 + .string "Okay, a little explanation, then.\p" + .string "Oh, don’t worry, it’s quite simple.\p" + .string "When the BLENDER’s arrow comes to\n" + .string "your marker, just press the A Button.\p" + .string "That’s all you have to do.\n" + .string "You’ll see how easy it is when you try.$" + +LilycoveCity_ContestLobby_Text_292F77: @ 8292F77 + .string "Oh?\n" + .string "You don’t have any BERRIES?\p" + .string "If you don’t have any BERRIES,\n" + .string "you can’t make any {POKEBLOCK}S.$" + +LilycoveCity_ContestLobby_Text_292FD1: @ 8292FD1 + .string "Well, that won’t do at all now, will it?\p" + .string "If you don’t mind leftovers, you can\n" + .string "have one of my BERRIES.\p" + .string "That way, we could make some {POKEBLOCK}S\n" + .string "together using the BERRY BLENDER.$" + +LilycoveCity_ContestLobby_Text_29307D: @ 829307D + .string "If I had some BERRIES left over,\n" + .string "I’d gladly give you one…\p" + .string "But, I don’t have any to spare today.\n" + .string "We’ll have to do this another time.$" + +LilycoveCity_ContestLobby_Text_293101: @ 8293101 + .string "But your {POKEBLOCK} CASE is full.\p" + .string "You should use some {POKEBLOCK}S before\n" + .string "you come see me again.$" + +LilycoveCity_ContestLobby_Text_293157: @ 8293157 + .string "But you don’t have a {POKEBLOCK} CASE.\p" + .string "You should get a {POKEBLOCK} CASE and then\n" + .string "come see me.$" + +LilycoveCity_ContestLobby_Text_2931AA: @ 82931AA + .string "Let’s get blending already!$" + +LilycoveCity_ContestLobby_Text_2931C6: @ 82931C6 + .string "I wonder what kind of {POKEBLOCK} I’ll get?\n" + .string "This is so exciting!$" + +LilycoveCity_ContestLobby_Text_293201: @ 8293201 + .string "Hi, there! Did you want to blend some\n" + .string "{POKEBLOCK}S with us?$" + +LilycoveCity_ContestLobby_Text_293237: @ 8293237 + .string "Okay!$" + +LilycoveCity_ContestLobby_Text_29323D: @ 829323D + .string "That’s too bad…\p" + .string "But we’ll always be around whenever\n" + .string "you get the urge to blend!$" + +LilycoveCity_ContestLobby_Text_29328C: @ 829328C + .string "Of course, you do know how to\n" + .string "blend {POKEBLOCK}S, don’t you?$" + +LilycoveCity_ContestLobby_Text_2932C3: @ 82932C3 + .string "Let’s get started, then!\p" + .string "Let’s BERRY BLENDER!$" + +LilycoveCity_ContestLobby_Text_2932F1: @ 82932F1 + .string "Okay!\n" + .string "Let me explain it to you!\p" + .string "When the spinning BLENDER’s arrow\n" + .string "reaches your marker, just press\l" + .string "the A Button.\p" + .string "That’s all it takes.\n" + .string "Pretty easy, don’t you think?$" + +LilycoveCity_ContestLobby_Text_293394: @ 8293394 + .string "Oh, but wait a second here…\n" + .string "You don’t have any BERRIES.\p" + .string "You can’t make any {POKEBLOCK}S without\n" + .string "BERRIES…\p" + .string "We’ll always be around whenever you\n" + .string "get hold of some BERRIES to blend.$" + +LilycoveCity_ContestLobby_Text_29343E: @ 829343E + .string "Oh, but wait a second here…\n" + .string "Your {POKEBLOCK} CASE is full.\p" + .string "You should use some {POKEBLOCK}S and\n" + .string "then come back.$" + +LilycoveCity_ContestLobby_Text_2934A2: @ 82934A2 + .string "Oh, but wait a second here…\n" + .string "You don’t have a {POKEBLOCK} CASE.\p" + .string "You should get a {POKEBLOCK} CASE and\n" + .string "then come back.$" + +LilycoveCity_ContestLobby_Text_29350B: @ 829350B + .string "Oh, hello! Did you want to make some\n" + .string "{POKEBLOCK}S with our little group?$" + +LilycoveCity_ContestLobby_Text_29354E: @ 829354E + .string "Oh, dear!$" + +LilycoveCity_ContestLobby_Text_293558: @ 8293558 + .string "Oh, dear me…\p" + .string "You’ve left us in shock!$" + +LilycoveCity_ContestLobby_Text_29357E: @ 829357E + .string "Naturally, you know how to make\n" + .string "{POKEBLOCK}S, don’t you?$" + +LilycoveCity_ContestLobby_Text_2935B1: @ 82935B1 + .string "Okay, dear!\n" + .string "Let’s get started!\p" + .string "Let’s BERRY BLENDER!$" + +LilycoveCity_ContestLobby_Text_2935E5: @ 82935E5 + .string "Oh, dear!\p" + .string "Then, I’ll explain it to you nicely.\p" + .string "When the BLENDER’s arrow spins to\n" + .string "your marker, press the A Button.\p" + .string "That’s all it takes.\n" + .string "Isn’t it simple?$" + +LilycoveCity_ContestLobby_Text_29367D: @ 829367D + .string "You don’t have any BERRIES,\n" + .string "do you?\p" + .string "If you don’t have any BERRIES,\n" + .string "you can’t make any {POKEBLOCK}S.\p" + .string "We’ll always be making {POKEBLOCK}S here,\n" + .string "so let’s make some together when\l" + .string "you get a BERRY or two.$" + +LilycoveCity_ContestLobby_Text_293738: @ 8293738 + .string "Your {POKEBLOCK} CASE is full,\n" + .string "it looks like.\p" + .string "You should use some {POKEBLOCK}S up\n" + .string "and then come back.$" + +LilycoveCity_ContestLobby_Text_293792: @ 8293792 + .string "You haven’t gotten a {POKEBLOCK} CASE\n" + .string "yet, it looks like.\p" + .string "You need to get a {POKEBLOCK} CASE before\n" + .string "you come back.$" + +LilycoveCity_ContestLobby_Text_2937F9: @ 82937F9 + .string "Okay! Today’s going to be the day that\n" + .string "I set a new BLENDER speed record!$" + +LilycoveCity_ContestLobby_Text_293842: @ 8293842 + .string "Oh, dear!\n" + .string "You look as if you’re good at blending.\l" + .string "Would you like to join us?$" + +LilycoveCity_ContestLobby_Text_29388F: @ 829388F + .string "I’m going to make delicious {POKEBLOCK}S\n" + .string "and make my POKéMON cuter.$" + +LilycoveCity_ContestLobby_Text_2938CD: @ 82938CD + .string "{POKEBLOCK}S will be made with your friends \n" + .string "from BERRIES in the BERRY BLENDER.\p" + .string "Is it okay to save the game before\n" + .string "linking with your friends?$" + +LilycoveCity_ContestLobby_Text_293955: @ 8293955 + .string "Searching for your friends…\n" + .string "… … B Button: Cancel$" + +LilycoveCity_ContestLobby_Text_293986: @ 8293986 + .string "{STR_VAR_1} arrived.$" + +LilycoveCity_ContestLobby_Text_293992: @ 8293992 + .string "{STR_VAR_1} and {STR_VAR_2} arrived.$" + +LilycoveCity_ContestLobby_Text_2939A5: @ 82939A5 + .string "{STR_VAR_1}, {STR_VAR_2}, and\n" + .string "{STR_VAR_3} arrived.$" + +LilycoveCity_ContestLobby_Text_2939BD: @ 82939BD + .string "You have no BERRIES.\n" + .string "The BERRY BLENDER can’t be used.$" + +LilycoveCity_ContestLobby_Text_2939F3: @ 82939F3 + .string "Your {POKEBLOCK} CASE is full.\n" + .string "The BERRY BLENDER can’t be used.$" + +LilycoveCity_ContestLobby_Text_293A2D: @ 8293A2D + .string "You don’t have a {POKEBLOCK} CASE.\n" + .string "The BERRY BLENDER can’t be used.$" + +LilycoveCity_ContestLobby_Text_293A6B: @ 8293A6B + .string "I love making {POKEBLOCK}S.\p" + .string "I always have some BERRIES with me.$" + +LilycoveCity_ContestLobby_Text_293AA5: @ 8293AA5 + .string "If you’d like, we could make some\n" + .string "{POKEBLOCK}S together using the\l" + .string "BERRY BLENDER.$" + +LilycoveCity_ContestLobby_Text_293AF0: @ 8293AF0 + .string "Oh?\n" + .string "You don’t have any BERRIES?\p" + .string "Well, that won’t do at all now, will it?\p" + .string "If you don’t mind leftovers, you can\n" + .string "have one of my BERRIES.$" + +LilycoveCity_ContestLobby_Text_293B76: @ 8293B76 + .string "We’ll use it to make {POKEBLOCK}S together\n" + .string "using the BERRY BLENDER.$" + +LilycoveCity_ContestLobby_Text_293BB4: @ 8293BB4 + .string "Oh?\n" + .string "You don’t have any BERRIES?\p" + .string "If I had some left over, I’d gladly\n" + .string "give you one…\p" + .string "But, I don’t have any to spare today.\n" + .string "Sorry about that.$" + +LilycoveCity_ContestLobby_EventScript_293C3E:: @ 8293C3E + lockall + checkflag FLAG_0x340 + goto_if 0, LilycoveCity_ContestLobby_EventScript_293EFB + setvar VAR_0x8009, 1 + applymovement 16, LilycoveCity_ContestLobby_Movement_294053 + waitmovement 0 + msgbox LilycoveCity_ContestLobby_Text_292DEE, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_293CEE + goto LilycoveCity_ContestLobby_EventScript_293C70 + end + +LilycoveCity_ContestLobby_EventScript_293C70:: @ 8293C70 + msgbox LilycoveCity_ContestLobby_Text_292E33, 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_293C7A:: @ 8293C7A + msgbox LilycoveCity_ContestLobby_Text_292F77, 4 + dodailyevents + checkflag FLAG_0x921 + goto_eq LilycoveCity_ContestLobby_EventScript_293C92 + goto LilycoveCity_ContestLobby_EventScript_293C9C + end + +LilycoveCity_ContestLobby_EventScript_293C92:: @ 8293C92 + msgbox LilycoveCity_ContestLobby_Text_29307D, 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_293C9C:: @ 8293C9C + msgbox LilycoveCity_ContestLobby_Text_292FD1, 4 + giveitem_std ITEM_PECHA_BERRY + setflag FLAG_0x921 + goto LilycoveCity_ContestLobby_EventScript_293CB9 + end + +LilycoveCity_ContestLobby_EventScript_293CB9:: @ 8293CB9 + msgbox LilycoveCity_ContestLobby_Text_292E57, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_293CD2 + goto LilycoveCity_ContestLobby_EventScript_293CE0 + end + +LilycoveCity_ContestLobby_EventScript_293CD2:: @ 8293CD2 + msgbox LilycoveCity_ContestLobby_Text_292E78, 4 + goto LilycoveCity_ContestLobby_EventScript_293D2C + end + +LilycoveCity_ContestLobby_EventScript_293CE0:: @ 8293CE0 + msgbox LilycoveCity_ContestLobby_Text_292EA6, 4 + goto LilycoveCity_ContestLobby_EventScript_293CD2 + end + +LilycoveCity_ContestLobby_EventScript_293CEE:: @ 8293CEE + checkitem ITEM_POKEBLOCK_CASE, 1 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_293D43 + specialvar VAR_RESULT, GetFirstFreePokeblockSlot + compare VAR_RESULT, 65535 + goto_eq LilycoveCity_ContestLobby_EventScript_293D39 + specialvar VAR_RESULT, PlayerHasBerries + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_293C7A + msgbox LilycoveCity_ContestLobby_Text_292E28, 4 + goto LilycoveCity_ContestLobby_EventScript_293CB9 + end + +LilycoveCity_ContestLobby_EventScript_293D2C:: @ 8293D2C + copyvar VAR_0x8004, VAR_0x8009 + fadescreen 1 + special DoBerryBlending + waitstate + releaseall + end + +LilycoveCity_ContestLobby_EventScript_293D39:: @ 8293D39 + msgbox LilycoveCity_ContestLobby_Text_293101, 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_293D43:: @ 8293D43 + msgbox LilycoveCity_ContestLobby_Text_293157, 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_293D4D:: @ 8293D4D + lockall + setvar VAR_0x8009, 2 + applymovement 10, LilycoveCity_ContestLobby_Movement_2725A2 + applymovement 3, LilycoveCity_ContestLobby_Movement_294053 + waitmovement 0 + msgbox LilycoveCity_ContestLobby_Text_293201, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_293DC6 + goto LilycoveCity_ContestLobby_EventScript_293D7D + end + +LilycoveCity_ContestLobby_EventScript_293D7D:: @ 8293D7D + msgbox LilycoveCity_ContestLobby_Text_29323D, 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_293D87:: @ 8293D87 + msgbox LilycoveCity_ContestLobby_Text_293394, 4 + release + end + +LilycoveCity_ContestLobby_EventScript_293D91:: @ 8293D91 + msgbox LilycoveCity_ContestLobby_Text_29328C, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_293DAA + goto LilycoveCity_ContestLobby_EventScript_293DB8 + end + +LilycoveCity_ContestLobby_EventScript_293DAA:: @ 8293DAA + msgbox LilycoveCity_ContestLobby_Text_2932C3, 4 + goto LilycoveCity_ContestLobby_EventScript_293D2C + end + +LilycoveCity_ContestLobby_EventScript_293DB8:: @ 8293DB8 + msgbox LilycoveCity_ContestLobby_Text_2932F1, 4 + goto LilycoveCity_ContestLobby_EventScript_293DAA + end + +LilycoveCity_ContestLobby_EventScript_293DC6:: @ 8293DC6 + specialvar VAR_RESULT, PlayerHasBerries + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_293D87 + checkitem ITEM_POKEBLOCK_CASE, 1 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_293E14 + msgbox LilycoveCity_ContestLobby_Text_293237, 4 + specialvar VAR_RESULT, GetFirstFreePokeblockSlot + compare VAR_RESULT, 65535 + goto_if 5, LilycoveCity_ContestLobby_EventScript_293D91 + compare VAR_RESULT, 65535 + goto_eq LilycoveCity_ContestLobby_EventScript_293E0A + end + +LilycoveCity_ContestLobby_EventScript_293E0A:: @ 8293E0A + msgbox LilycoveCity_ContestLobby_Text_29343E, 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_293E14:: @ 8293E14 + msgbox LilycoveCity_ContestLobby_Text_2934A2, 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_293E1E:: @ 8293E1E + lockall + setvar VAR_0x8008, 15 + setvar VAR_0x8009, 3 + applymovement 9, LilycoveCity_ContestLobby_Movement_2725A2 + applymovement 17, LilycoveCity_ContestLobby_Movement_2725A2 + applymovement VAR_0x8008, LilycoveCity_ContestLobby_Movement_294053 + waitmovement 0 + msgbox LilycoveCity_ContestLobby_Text_293842, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_293EA3 + goto LilycoveCity_ContestLobby_EventScript_293E5A + end + +LilycoveCity_ContestLobby_EventScript_293E5A:: @ 8293E5A + msgbox LilycoveCity_ContestLobby_Text_293558, 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_293E64:: @ 8293E64 + msgbox LilycoveCity_ContestLobby_Text_29367D, 4 + release + end + +LilycoveCity_ContestLobby_EventScript_293E6E:: @ 8293E6E + msgbox LilycoveCity_ContestLobby_Text_29357E, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_293E87 + goto LilycoveCity_ContestLobby_EventScript_293E95 + end + +LilycoveCity_ContestLobby_EventScript_293E87:: @ 8293E87 + msgbox LilycoveCity_ContestLobby_Text_2935B1, 4 + goto LilycoveCity_ContestLobby_EventScript_293D2C + end + +LilycoveCity_ContestLobby_EventScript_293E95:: @ 8293E95 + msgbox LilycoveCity_ContestLobby_Text_2935E5, 4 + goto LilycoveCity_ContestLobby_EventScript_293E87 + end + +LilycoveCity_ContestLobby_EventScript_293EA3:: @ 8293EA3 + specialvar VAR_RESULT, PlayerHasBerries + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_293E64 + checkitem ITEM_POKEBLOCK_CASE, 1 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_293EF1 + msgbox LilycoveCity_ContestLobby_Text_29354E, 4 + specialvar VAR_RESULT, GetFirstFreePokeblockSlot + compare VAR_RESULT, 65535 + goto_if 5, LilycoveCity_ContestLobby_EventScript_293E6E + compare VAR_RESULT, 65535 + goto_eq LilycoveCity_ContestLobby_EventScript_293EE7 + end + +LilycoveCity_ContestLobby_EventScript_293EE7:: @ 8293EE7 + msgbox LilycoveCity_ContestLobby_Text_293738, 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_293EF1:: @ 8293EF1 + msgbox LilycoveCity_ContestLobby_Text_293792, 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_293EFB:: @ 8293EFB + lockall + setvar VAR_0x8009, 1 + msgbox LilycoveCity_ContestLobby_Text_2C42F4, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_293F28 + msgbox LilycoveCity_ContestLobby_Text_2C4332, 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_293F1E:: @ 8293F1E + msgbox LilycoveCity_ContestLobby_Text_2C439D, 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_293F28:: @ 8293F28 + checkitem ITEM_POKEBLOCK_CASE, 1 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_293F8E + specialvar VAR_RESULT, PlayerHasBerries + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_293F1E + specialvar VAR_RESULT, GetFirstFreePokeblockSlot + compare VAR_RESULT, 65535 + goto_if 5, LilycoveCity_ContestLobby_EventScript_293F64 + compare VAR_RESULT, 65535 + goto_eq LilycoveCity_ContestLobby_EventScript_293F98 + end + +LilycoveCity_ContestLobby_EventScript_293F64:: @ 8293F64 + msgbox LilycoveCity_ContestLobby_Text_2C43FA, 5 + compare VAR_RESULT, 0 + call_if 1, LilycoveCity_ContestLobby_EventScript_293F85 + msgbox LilycoveCity_ContestLobby_Text_2C451B, 4 + goto LilycoveCity_ContestLobby_EventScript_293D2C + end + +LilycoveCity_ContestLobby_EventScript_293F85:: @ 8293F85 + msgbox LilycoveCity_ContestLobby_Text_2C444C, 4 + return + +LilycoveCity_ContestLobby_EventScript_293F8E:: @ 8293F8E + msgbox LilycoveCity_ContestLobby_Text_2C4573, 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_293F98:: @ 8293F98 + msgbox LilycoveCity_ContestLobby_Text_2C45E8, 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_293FA2:: @ 8293FA2 + msgbox LilycoveCity_ContestLobby_Text_2937F9, 2 + end + +LilycoveCity_ContestLobby_EventScript_293FAB:: @ 8293FAB + msgbox LilycoveCity_ContestLobby_Text_293842, 2 + end + +LilycoveCity_ContestLobby_EventScript_293FB4:: @ 8293FB4 + msgbox LilycoveCity_ContestLobby_Text_29388F, 2 + end + +LilycoveCity_ContestLobby_EventScript_293FBD:: @ 8293FBD + setvar VAR_0x8008, 15 + goto LilycoveCity_ContestLobby_EventScript_293FC8 + end + +LilycoveCity_ContestLobby_EventScript_293FC8:: @ 8293FC8 + lock + faceplayer + msgbox LilycoveCity_ContestLobby_Text_293A6B, 4 + specialvar VAR_RESULT, PlayerHasBerries + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_293FEE + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_293FF8 + end + +LilycoveCity_ContestLobby_EventScript_293FEE:: @ 8293FEE + msgbox LilycoveCity_ContestLobby_Text_293AA5, 4 + release + end + +LilycoveCity_ContestLobby_EventScript_293FF8:: @ 8293FF8 + checkitem ITEM_POKEBLOCK_CASE, 1 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_294028 + specialvar VAR_RESULT, GetFirstFreePokeblockSlot + compare VAR_RESULT, 65535 + goto_eq LilycoveCity_ContestLobby_EventScript_294028 + dodailyevents + checkflag FLAG_0x921 + goto_eq LilycoveCity_ContestLobby_EventScript_294028 + goto LilycoveCity_ContestLobby_EventScript_294032 + end + +LilycoveCity_ContestLobby_EventScript_294028:: @ 8294028 + msgbox LilycoveCity_ContestLobby_Text_293BB4, 4 + release + end + +LilycoveCity_ContestLobby_EventScript_294032:: @ 8294032 + msgbox LilycoveCity_ContestLobby_Text_293AF0, 4 + giveitem_std ITEM_PECHA_BERRY + setflag FLAG_0x921 + msgbox LilycoveCity_ContestLobby_Text_293B76, 4 + release + end + +LilycoveCity_ContestLobby_Movement_294053: @ 8294053 + step_28 + step_end + +LilycoveCity_ContestLobby_EventScript_294055:: @ 8294055 + lockall + specialvar VAR_RESULT, PlayerHasBerries + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_2940B1 + checkitem ITEM_POKEBLOCK_CASE, 1 + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_29416C + specialvar VAR_RESULT, GetFirstFreePokeblockSlot + compare VAR_RESULT, 65535 + goto_if 5, LilycoveCity_ContestLobby_EventScript_294092 + compare VAR_RESULT, 65535 + goto_eq LilycoveCity_ContestLobby_EventScript_294162 + end + +LilycoveCity_ContestLobby_EventScript_294092:: @ 8294092 + msgbox LilycoveCity_ContestLobby_Text_2938CD, 5 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_2940BB + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_294160 + end + +LilycoveCity_ContestLobby_EventScript_2940B1:: @ 82940B1 + msgbox LilycoveCity_ContestLobby_Text_2939BD, 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_2940BB:: @ 82940BB + call LilycoveCity_ContestLobby_EventScript_27134F + compare VAR_RESULT, 0 + goto_eq LilycoveCity_ContestLobby_EventScript_294160 + specialvar VAR_RESULT, sub_80093CC + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_2941ED + message LilycoveCity_ContestLobby_Text_293955 + waitmessage + special sub_80B2FD8 + waitstate + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_2941AA + compare VAR_RESULT, 2 + goto_eq LilycoveCity_ContestLobby_EventScript_294176 + compare VAR_RESULT, 3 + goto_eq LilycoveCity_ContestLobby_EventScript_294183 + compare VAR_RESULT, 5 + goto_eq LilycoveCity_ContestLobby_EventScript_294190 + compare VAR_RESULT, 6 + goto_eq LilycoveCity_ContestLobby_EventScript_29419D + end + +LilycoveCity_ContestLobby_EventScript_29411D:: @ 829411D + msgbox LilycoveCity_ContestLobby_Text_293986, 4 + goto LilycoveCity_ContestLobby_EventScript_294147 + end + +LilycoveCity_ContestLobby_EventScript_29412B:: @ 829412B + msgbox LilycoveCity_ContestLobby_Text_293992, 4 + goto LilycoveCity_ContestLobby_EventScript_294147 + end + +LilycoveCity_ContestLobby_EventScript_294139:: @ 8294139 + msgbox LilycoveCity_ContestLobby_Text_2939A5, 4 + goto LilycoveCity_ContestLobby_EventScript_294147 + end + +LilycoveCity_ContestLobby_EventScript_294147:: @ 8294147 + setvar VAR_0x8004, 0 + fadescreen 1 + removeobject 240 + removeobject 239 + removeobject 238 + removeobject 237 + special DoBerryBlending + waitstate + releaseall + end + +LilycoveCity_ContestLobby_EventScript_294160:: @ 8294160 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_294162:: @ 8294162 + msgbox LilycoveCity_ContestLobby_Text_2939F3, 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_29416C:: @ 829416C + msgbox LilycoveCity_ContestLobby_Text_293A2D, 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_294176:: @ 8294176 + special CloseLink + msgbox LilycoveCity_ContestLobby_Text_2781C7, 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_294183:: @ 8294183 + special CloseLink + msgbox LilycoveCity_ContestLobby_Text_278255, 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_294190:: @ 8294190 + special CloseLink + msgbox gUnknown_08272D9C, 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_29419D:: @ 829419D + special CloseLink + msgbox LilycoveCity_ContestLobby_Text_27821C, 4 + releaseall + end + +LilycoveCity_ContestLobby_EventScript_2941AA:: @ 82941AA + fadescreen 1 + specialvar VAR_RESULT, GetLinkPartnerNames + copyvar VAR_0x8008, VAR_RESULT + copyvar VAR_0x8004, VAR_0x8008 + special SpawnLinkPartnerFieldObject + goto LilycoveCity_ContestLobby_EventScript_2941C4 + end + +LilycoveCity_ContestLobby_EventScript_2941C4:: @ 82941C4 + fadescreen 0 + switch VAR_0x8008 + case 2, LilycoveCity_ContestLobby_EventScript_29411D + case 3, LilycoveCity_ContestLobby_EventScript_29412B + case 4, LilycoveCity_ContestLobby_EventScript_294139 + end + +LilycoveCity_ContestLobby_EventScript_2941ED:: @ 82941ED + setvar VAR_0x8004, 13 + goto LilycoveCity_ContestLobby_EventScript_2941F8 + end + +LilycoveCity_ContestLobby_EventScript_2941F8:: @ 82941F8 + message LilycoveCity_ContestLobby_Text_27C1EA + waitmessage + multichoice 16, 6, 81, 0 + switch VAR_RESULT + case 0, LilycoveCity_ContestLobby_EventScript_29425D + case 1, LilycoveCity_ContestLobby_EventScript_294235 + case 2, LilycoveCity_ContestLobby_EventScript_294190 + case 127, LilycoveCity_ContestLobby_EventScript_294190 + end + +LilycoveCity_ContestLobby_EventScript_294235:: @ 8294235 + call LilycoveCity_ContestLobby_EventScript_294285 + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_29428F + compare VAR_RESULT, 5 + goto_eq LilycoveCity_ContestLobby_EventScript_2941F8 + compare VAR_RESULT, 8 + goto_eq LilycoveCity_ContestLobby_EventScript_294235 + release + end + +LilycoveCity_ContestLobby_EventScript_29425D:: @ 829425D + call LilycoveCity_ContestLobby_EventScript_29428A + compare VAR_RESULT, 1 + goto_eq LilycoveCity_ContestLobby_EventScript_29428F + compare VAR_RESULT, 5 + goto_eq LilycoveCity_ContestLobby_EventScript_2941F8 + compare VAR_RESULT, 8 + goto_eq LilycoveCity_ContestLobby_EventScript_29425D + release + end + +LilycoveCity_ContestLobby_EventScript_294285:: @ 8294285 + special BerryBlenderLinkBecomeLeader + waitstate + return + +LilycoveCity_ContestLobby_EventScript_29428A:: @ 829428A + special BerryBlenderLinkJoinGroup + waitstate + return + +LilycoveCity_ContestLobby_EventScript_29428F:: @ 829428F + goto LilycoveCity_ContestLobby_EventScript_2941AA + end diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc new file mode 100644 index 0000000000..c2d217f939 --- /dev/null +++ b/data/scripts/safari_zone.inc @@ -0,0 +1,295 @@ +EventScript_2A4B4C:: @ 82A4B4C + setvar VAR_0x40A4, 1 + special ExitSafariMode + setwarp ROUTE_121_SAFARI_ZONE_ENTRANCE, 255, 2, 5 + end + +EventScript_2A4B5D:: @ 82A4B5D + setvar VAR_0x40A4, 1 + special ExitSafariMode + warp ROUTE_121_SAFARI_ZONE_ENTRANCE, 255, 2, 5 + waitstate + end + +EventScript_2A4B6F:: @ 82A4B6F + lockall + msgbox Text_2A4BF4, 5 + compare VAR_RESULT, 1 + goto_eq EventScript_2A4B85 + releaseall + end + +EventScript_2A4B85:: @ 82A4B85 + goto EventScript_2A4B5D + +EventScript_2A4B8A:: @ 82A4B8A + lockall + playse SE_PINPON + message Text_2A4C26 + waitmessage + waitbuttonpress + releaseall + goto EventScript_2A4B5D + +EventScript_2A4B9B:: @ 82A4B9B + lockall + playse SE_PINPON + message Text_2A4C56 + waitmessage + waitbuttonpress + releaseall + goto EventScript_2A4B5D + +EventScript_2A4BAC:: @ 82A4BAC + lockall + special GetPokeblockFeederInFront + compare VAR_RESULT, 65535 + goto_if 5, EventScript_2A4BEB + msgbox Text_2A4C90, 5 + compare VAR_RESULT, 1 + goto_eq EventScript_2A4BD0 + releaseall + end + +EventScript_2A4BD0:: @ 82A4BD0 + fadescreen 1 + special OpenPokeblockCaseOnFeeder + waitstate + compare VAR_RESULT, 65535 + goto_if 5, EventScript_2A4BE2 + end + +EventScript_2A4BE2:: @ 82A4BE2 + message Text_2A4CEB + waitmessage + waitbuttonpress + releaseall + end + +EventScript_2A4BEB:: @ 82A4BEB + message Text_2A4CC5 + waitmessage + waitbuttonpress + releaseall + end + +Text_2A4BF4: @ 82A4BF4 + .string "Would you like to exit the SAFARI\n" + .string "ZONE right now?$" + +Text_2A4C26: @ 82A4C26 + .string "Ding-dong! Time’s up!\n" + .string "Your SAFARI Game is over.$" + +Text_2A4C56: @ 82A4C56 + .string "You’ve run out of SAFARI BALLS.\n" + .string "Your SAFARI Game is over.$" + +Text_2A4C90: @ 82A4C90 + .string "Would you like to place a {POKEBLOCK}\n" + .string "on the {POKEBLOCK} FEEDER?$" + +Text_2A4CC5: @ 82A4CC5 + .string "The {STR_VAR_1} you left\n" + .string "before is still here.$" + +Text_2A4CEB: @ 82A4CEB + .string "The {STR_VAR_1} was placed\n" + .string "on the {POKEBLOCK} FEEDER.$" + +Route121_SafariZoneEntrance_Text_2A4D12: @ 82A4D12 + .string "Welcome to the SAFARI ZONE!\p" + .string "Here, you may witness many kinds of\n" + .string "POKéMON rarely seen in HOENN.\p" + .string "And, you’ll see them in their wild,\n" + .string "untamed state in natural habitats.\p" + .string "What’s more, we’ve thrown open the\n" + .string "gates to POKéMON TRAINERS.\p" + .string "You’re encouraged to catch POKéMON\n" + .string "for keeps!\p" + .string "Come in and enjoy the SAFARI ZONE!$" + +Route121_SafariZoneEntrance_Text_2A4E46: @ 82A4E46 + .string "Welcome to the SAFARI ZONE!\n" + .string "Is it your first time here?$" + +Route121_SafariZoneEntrance_Text_2A4E7E: @ 82A4E7E + .string "Come in and enjoy the SAFARI ZONE!$" + +Route121_SafariZoneEntrance_Text_2A4EA1: @ 82A4EA1 + .string "When you enter the SAFARI ZONE, you\n" + .string "start with 30 SAFARI BALLS for\l" + .string "catching POKéMON.\p" + .string "The SAFARI Game is over when you run\n" + .string "out of SAFARI BALLS, or when you’ve\l" + .string "walked 500 steps.\p" + .string "Come in and enjoy the SAFARI ZONE!$" + +Route121_SafariZoneEntrance_Text_2A4F74: @ 82A4F74 + .string "Welcome to the SAFARI ZONE!\p" + .string "All you can catch for just ¥500!\n" + .string "Would you like to play a SAFARI Game?$" + +Route121_SafariZoneEntrance_Text_2A4FD7: @ 82A4FD7 + .string "Okay.\n" + .string "Please play another time!$" + +Route121_SafariZoneEntrance_Text_2A4FF7: @ 82A4FF7 + .string "You don’t have enough money.\n" + .string "Sorry.$" + +Route121_SafariZoneEntrance_Text_2A501B: @ 82A501B + .string "That will be ¥500, please.$" + +Route121_SafariZoneEntrance_Text_2A5036: @ 82A5036 + .string "Here are your SAFARI BALLS.$" + +Route121_SafariZoneEntrance_Text_2A5052: @ 82A5052 + .string "{PLAYER} received 30 SAFARI BALLS.$" + +Route121_SafariZoneEntrance_Text_2A506F: @ 82A506F + .string "We’ll let you know when your game\n" + .string "is over.\p" + .string "So, until then, enjoy yourself, please!\n" + .string "Off you go on your wild excursion!$" + +Route121_SafariZoneEntrance_Text_2A50E5: @ 82A50E5 + .string "Excuse me!\n" + .string "Your PC BOX is full.$" + +Route121_SafariZoneEntrance_Text_2A5105: @ 82A5105 + .string "Excuse me!\n" + .string "You seem to be without a {POKEBLOCK} CASE.\p" + .string "Your SAFARI Game will be much more\n" + .string "fruitful if you use {POKEBLOCK}S.\p" + .string "Please come back with a {POKEBLOCK} CASE.\p" + .string "You may obtain a {POKEBLOCK} CASE from\n" + .string "the LILYCOVE CONTEST HALL.$" + +SafariZone_South_Text_2A51D4: @ 82A51D4 + .string "You still have time left. Would you like\n" + .string "to exit the SAFARI ZONE now?$" + +SafariZone_South_Text_2A521A: @ 82A521A + .string "Please enjoy the rest of your wild\n" + .string "adventure!$" + +SafariZone_South_Text_2A5248: @ 82A5248 + .string "Okay.\p" + .string "I’ll take back your remaining SAFARI\n" + .string "BALLS.\p" + .string "Thank you for playing.\n" + .string "We hope to see you again.$" + +SafariZone_South_Text_2A52AB: @ 82A52AB + .string "Good luck!\p" + .string "If you need anything, don’t hesitate\n" + .string "to tell me, please!$" + +SafariZone_South_Text_2A52EF: @ 82A52EF + .string "Did you know?\p" + .string "If you put a {POKEBLOCK} in that square box,\n" + .string "POKéMON gather around.$" + +SafariZone_South_Text_2A533B: @ 82A533B + .string "I want to keep going deeper, but I\n" + .string "forgot to bring a BIKE.\p" + .string "Something tells me that rare POKéMON\n" + .string "live in the outlying areas.$" + +SafariZone_Southwest_Text_2A53B7: @ 82A53B7 + .string "Sometimes, when I toss a {POKEBLOCK} at \n" + .string "POKéMON, it gets ignored.\p" + .string "Do POKéMON have likes and dislikes\n" + .string "about what they eat?$" + +SafariZone_Northwest_Text_2A542C: @ 82A542C + .string "Gasp… Gasp…\n" + .string "I…made it out here…but…\p" + .string "I’m exhausted… I don’t have the\n" + .string "energy to catch POKéMON…$" + +SafariZone_North_Text_2A5489: @ 82A5489 + .string "I’m on a mission to find WATER POKéMON\n" + .string "you don’t see in HOENN.\p" + .string "Do you have any idea where the lake is?$" + +SafariZone_North_Text_2A54F0: @ 82A54F0 + .string "I’m going to catch a lot of rare POKéMON\n" + .string "here and trade them with my friends!$" + +SafariZone_South_Text_2A553E: @ 82A553E + .string "I put a {POKEBLOCK} on the {POKEBLOCK} FEEDER.\n" + .string "But it seems to have disappeared.\p" + .string "I guess POKéMON must have eaten it\n" + .string "without me noticing.$" + +Route121_SafariZoneEntrance_Text_2A55BB: @ 82A55BB + .string "SAFARI ZONE TRAINER TIP!\p" + .string "Throw {POKEBLOCK}S at wild POKéMON to make\n" + .string "them less likely to flee.$" + +SafariZone_Southwest_Text_2A5613: @ 82A5613 + .string "“Relieve your tired feet.”\n" + .string "REST HOUSE$" + +SafariZone_RestHouse_Text_2A5639: @ 82A5639 + .string "I don’t have any {POKEBLOCK}S, but I caught\n" + .string "a good number of POKéMON.\p" + .string "You can improve your chances of making\n" + .string "a catch by getting closer to them\l" + .string "before throwing a SAFARI BALL.$" + +SafariZone_RestHouse_Text_2A56E1: @ 82A56E1 + .string "If you use {POKEBLOCK}S, wild POKéMON won’t\n" + .string "be so quick to run away.\p" + .string "It’s not much use to give {POKEBLOCK}S to\n" + .string "POKéMON that don’t flee easily.$" + +SafariZone_RestHouse_Text_2A5764: @ 82A5764 + .string "If you put a {POKEBLOCK} on the FEEDER,\n" + .string "POKéMON are attracted to it.\p" + .string "I think POKéMON with the same sort of\n" + .string "nature are drawn by a certain {POKEBLOCK}.$" + +SafariZone_South_Text_2A57EE: @ 82A57EE + .string "This area is still under construction.\n" + .string "It’s off-limits, sorry!$" + +SafariZone_Southeast_Text_2A582D: @ 82A582D + .string "The SAFARI ZONE’s expansion project\n" + .string "is finished now.\p" + .string "We hope you will enjoy the new area.$" + +SafariZone_South_Text_2A5887: @ 82A5887 + .string "This area is still under construction.\n" + .string "It’s off-limits, sorry!$" + +SafariZone_Southeast_Text_2A58C6: @ 82A58C6 + .string "Wow! Whee! I haven’t seen any of\n" + .string "these POKéMON before!$" + +SafariZone_Southeast_Text_2A58FD: @ 82A58FD + .string "The POKéMON in this area are all\n" + .string "new to me.\p" + .string "And I’m allowed to catch these rare\n" + .string "POKéMON! Too cool!$" + +SafariZone_Southeast_Text_2A5960: @ 82A5960 + .string "The POKéMON around here seem to be\n" + .string "from somewhere other than HOENN.$" + +SafariZone_Northeast_Text_2A59A4: @ 82A59A4 + .string "I only have a couple SAFARI BALLS left.\p" + .string "I’m having a hard time trying to\n" + .string "decide what I should catch.$" + +SafariZone_Northeast_Text_2A5A09: @ 82A5A09 + .string "I heard that you can see PIKACHU here.\n" + .string "Where might one be?$" + +SafariZone_Northeast_Text_2A5A44: @ 82A5A44 + .string "Oh, boo!\n" + .string "I can’t seem to catch anything!\p" + .string "I’ll end up wasting the admission\n" + .string "price if I don’t catch something!$" diff --git a/data/scripts/secret_power_tm.inc b/data/scripts/secret_power_tm.inc new file mode 100644 index 0000000000..c75fb9b483 --- /dev/null +++ b/data/scripts/secret_power_tm.inc @@ -0,0 +1,113 @@ +Route111_Text_2762C9: @ 82762C9 + .string "What’s that?\n" + .string "What am I doing?\p" + .string "I’m thinking about making my own room\n" + .string "here using a POKéMON move.\p" + .string "I know! I’ll give you this TM.\n" + .string "Will you use it to make your own room?$" + +Route111_Text_27636E: @ 827636E + .string "Find a big tree that looks like it might\n" + .string "drop some vines.\p" + .string "Use SECRET POWER in front of the tree.\n" + .string "Some vines should get free and drop\l" + .string "down, so you can climb the tree.\p" + .string "You’ll find a lot of space for putting\n" + .string "your favorite things.\p" + .string "It’ll be your own secret room…\n" + .string "A SECRET BASE!\p" + .string "You should make one, too.\p" + .string "Another thing, you don’t always have\n" + .string "to make your SECRET BASE in a tree.\p" + .string "Try using SECRET POWER on rock walls\n" + .string "that have small indents in them.\p" + .string "I’m going to look for other places, too.\n" + .string "Okay, bye!$" + +Route111_Text_27655C: @ 827655C + .string "Oh, you don’t want this?\n" + .string "If you change your mind, tell me, okay?$" + +Route111_Text_27659D: @ 827659D + .string "Oh, you don’t have any room for this.\p" + .string "I’ll hold on to it, so come back for it\n" + .string "another time, okay?$" + +Route111_EventScript_2765FF:: @ 82765FF + lock + faceplayer + msgbox Route111_Text_2762C9, 5 + compare VAR_RESULT, 1 + goto_eq Route111_EventScript_27661E + msgbox Route111_Text_27655C, 4 + release + end + +Route111_EventScript_27661E:: @ 827661E + giveitem_std ITEM_TM43 + compare VAR_RESULT, 0 + goto_eq Route111_EventScript_276680 + msgbox Route111_Text_27636E, 4 + closemessage + setflag FLAG_0x060 + clearflag FLAG_0x3B4 + compare VAR_FACING, 3 + call_if 1, Route111_EventScript_27666A + compare VAR_FACING, 4 + call_if 1, Route111_EventScript_27666A + compare VAR_FACING, 2 + call_if 1, Route111_EventScript_276675 + removeobject VAR_LAST_TALKED + release + end + +Route111_EventScript_27666A:: @ 827666A + applymovement VAR_LAST_TALKED, Route111_Movement_27668A + waitmovement 0 + return + +Route111_EventScript_276675:: @ 8276675 + applymovement VAR_LAST_TALKED, Route111_Movement_276696 + waitmovement 0 + return + +Route111_EventScript_276680:: @ 8276680 + msgbox Route111_Text_27659D, 4 + release + end + +Route111_Movement_27668A: @ 827668A + step_down + step_down + step_down + step_down + step_down + step_left + step_left + step_left + step_left + step_down + step_down + step_end + +Route111_Movement_276696: @ 8276696 + step_left + step_down + step_down + step_down + step_down + step_down + step_left + step_left + step_left + step_down + step_down + step_end + +EventScript_2766A2:: @ 82766A2 + special sub_80EB290 + end + +EventScript_2766A6:: @ 82766A6 + special sub_80EB2C8 + end diff --git a/data/scripts/tv.inc b/data/scripts/tv.inc new file mode 100644 index 0000000000..8d1ac83eba --- /dev/null +++ b/data/scripts/tv.inc @@ -0,0 +1,91 @@ +EventScript_27EE0B:: @ 827EE0B + lockall + incrementgamestat 44 + special ResetTVShowState + specialvar VAR_RESULT, CheckForBigMovieOrEmergencyNewsOnTV + compare VAR_RESULT, 2 + goto_eq EventScript_27EE9A + compare VAR_RESULT, 1 + goto_eq EventScript_27EEA4 + checkflag FLAG_SYS_TV_START + goto_if 0, EventScript_27EE8A + checkflag FLAG_SYS_TV_WATCH + goto_eq EventScript_27EE8A + specialvar VAR_RESULT, IsTVShowInSearchOfTrainersAiring + compare VAR_RESULT, 1 + goto_eq EventScript_27EEFF + goto EventScript_27EEE9 + end + +EventScript_27EE54:: @ 827EE54 + specialvar VAR_0x8004, special_0x44 + compare VAR_0x8004, 255 + goto_eq EventScript_27EED8 + specialvar VAR_RESULT, special_0x4a + compare VAR_RESULT, 255 + goto_eq EventScript_27EED8 + copyvar VAR_0x8004, VAR_RESULT + specialvar VAR_RESULT, special_0x45 + compare VAR_RESULT, 0 + goto_if 5, EventScript_27EEBA + end + +EventScript_27EE8A:: @ 827EE8A + special GetMomOrDadStringForTVMessage + msgbox gUnknown_08272BCF, 4 + special TurnOffTVScreen + releaseall + end + +EventScript_27EE9A:: @ 827EE9A + msgbox LittlerootTown_BrendansHouse_1F_Text_1F7F0F, 4 + releaseall + end + +EventScript_27EEA4:: @ 827EEA4 + msgbox LittlerootTown_BrendansHouse_1F_Text_1F826F, 4 + special InitRoamer + clearflag FLAG_SYS_TV_LATI + setflag FLAG_0x0FF + special TurnOffTVScreen + releaseall + end + +EventScript_27EEBA:: @ 827EEBA + special DoTVShow + waitmessage + waitbuttonpress + compare VAR_RESULT, 1 + goto_if 5, EventScript_27EEBA + goto EventScript_27EED0 + end + +EventScript_27EED0:: @ 827EED0 + special TurnOffTVScreen + setflag FLAG_SYS_TV_WATCH + releaseall + end + +EventScript_27EED8:: @ 827EED8 + special GetMomOrDadStringForTVMessage + msgbox gUnknown_08272BCF, 4 + goto EventScript_27EED0 + end + +EventScript_27EEE9:: @ 827EEE9 + special DoPokeNews + compare VAR_RESULT, 0 + goto_eq EventScript_27EE54 + waitmessage + waitbuttonpress + goto EventScript_27EED0 + end + +EventScript_27EEFF:: @ 827EEFF + special DoTVShowInSearchOfTrainers + waitmessage + waitbuttonpress + compare VAR_RESULT, 0 + goto_eq EventScript_27EEFF + goto EventScript_27EED0 + end diff --git a/data/shop.s b/data/shop.s index 8fd64c0bb7..58f294e6bb 100644 --- a/data/shop.s +++ b/data/shop.s @@ -6,52 +6,74 @@ .section .rodata gUnknown_08589A08:: @ 8589A08 - .incbin "baserom.gba", 0x589a08, 0x8 + .4byte BuyMenuTryMakePurchase + .4byte BuyMenuReturnToItemList gUnknown_08589A10:: @ 8589A10 - .incbin "baserom.gba", 0x589a10, 0x18 + .4byte gUnknown_085E93C7 + .4byte HandleShopMenuBuy + .4byte gUnknown_085E93CB + .4byte HandleShopMenuSell + .4byte gUnknown_085E93D0 + .4byte HandleShopMenuQuit gUnknown_08589A28:: @ 8589A28 - .incbin "baserom.gba", 0x589a28, 0x10 + .4byte gUnknown_085E93C7 + .4byte HandleShopMenuBuy + .4byte gUnknown_085E93D0 + .4byte HandleShopMenuQuit gUnknown_08589A38:: @ 8589A38 - .incbin "baserom.gba", 0x589a38, 0x10 + window_template 0, 2, 1, 9, 6, 15, 8 + window_template 0, 2, 1, 9, 4, 15, 8 gUnknown_08589A48:: @ 8589A48 - .incbin "baserom.gba", 0x589a48, 0x18 + .byte 0, 0, 0, 0 + .4byte BuyMenuPrintItemDescriptionAndShowItemIcon + .4byte BuyMenuPrintPriceInList + .byte 0, 0, 0, 0, 1, 0, 8, 0, 33, 48, 0, 7 gUnknown_08589A60:: @ 8589A60 - .incbin "baserom.gba", 0x589a60, 0x10 + .4byte 0x1F8 + .4byte 0x11E1 + .4byte 0x21D2 + .4byte 0x31C3 gUnknown_08589A70:: @ 8589A70 - .incbin "baserom.gba", 0x589a70, 0x38 + window_template 0, 1, 1, 10, 2, 15, 30 + window_template 0, 14, 2, 15, 16, 15, 50 + window_template 0, 0, 13, 14, 6, 15, 0x122 + window_template 0, 1, 11, 12, 2, 15, 0x176 + window_template 0, 18, 11, 10, 2, 15, 0x18E + window_template 0, 2, 15, 27, 4, 15, 0x1A2 + null_window_template gUnknown_08589AA8:: @ 8589AA8 - .incbin "baserom.gba", 0x589aa8, 0x8 + window_template 0, 21, 9, 5, 4, 15, 0x20E gUnknown_08589AB0:: @ 8589AB0 - .incbin "baserom.gba", 0x589ab0, 0x3 + .byte 1, 2, 3 gUnknown_08589AB3:: @ 8589AB3 - .incbin "baserom.gba", 0x589ab3, 0x7 + .byte 0, 2, 3, 0, 3, 2, 0 gUnknown_08589ABA:: @ 8589ABA - .incbin "baserom.gba", 0x589aba, 0x6 + .2byte 0x284, 0x282, 0x280 gUnknown_08589AC0:: @ 8589AC0 - .incbin "baserom.gba", 0x589ac0, 0x6 + .2byte 0x285, 0x283, 0x281 gUnknown_08589AC6:: @ 8589AC6 - .incbin "baserom.gba", 0x589ac6, 0x6 + .2byte 0x28C, 0x28A, 0x288 gUnknown_08589ACC:: @ 8589ACC - .incbin "baserom.gba", 0x589acc, 0x6 + .2byte 0x28D, 0x28B, 0x289 gUnknown_08589AD2:: @ 8589AD2 - .incbin "baserom.gba", 0x589ad2, 0x6 + .2byte 0x2A0, 0x2A2, 0x2A4 gUnknown_08589AD8:: @ 8589AD8 - .incbin "baserom.gba", 0x589ad8, 0x6 + .2byte 0x2A1, 0x2A3, 0x2A5 gUnknown_08589ADE:: @ 8589ADE - .incbin "baserom.gba", 0x589ade, 0x6 + .2byte 0x2A8, 0x2AA, 0x2AC diff --git a/data/slot_machine.s b/data/slot_machine.s index 08989ccdc1..b704cdb7a2 100644 --- a/data/slot_machine.s +++ b/data/slot_machine.s @@ -5,286 +5,1355 @@ .align 2, 0 gUnknown_085A7424:: @ 85A7424 - .incbin "baserom.gba", 0x5a7424, 0x10 + .4byte 0x1F8 + .4byte 0x11C5 + .4byte 0x21D6 + .4byte 0x11E7 gUnknown_085A7434:: @ 85A7434 - .incbin "baserom.gba", 0x5a7434, 0x10 + window_template 0, 2, 15, 0x1B, 4, 15, 0x194 + null_window_template gUnknown_085A7444:: @ 85A7444 - .incbin "baserom.gba", 0x5a7444, 0x8 + window_template 0, 1, 3, 20, 13, 13, 1 gUnknown_085A744C:: @ 85A744C - .incbin "baserom.gba", 0x5a744c, 0x4 + .byte 3, 1, 2, 0 gUnknown_085A7450:: @ 85A7450 - .incbin "baserom.gba", 0x5a7450, 0x74 + .4byte sub_812AB04 + .4byte sub_812AB38 + .4byte sub_812AB60 + .4byte sub_812ABA8 + .4byte sub_812ABC8 + .4byte sub_812ABF8 + .4byte sub_812ACF4 + .4byte sub_812AD34 + .4byte sub_812AD60 + .4byte sub_812AD80 + .4byte sub_812ADF4 + .4byte sub_812AE24 + .4byte sub_812AE4C + .4byte sub_812AE88 + .4byte sub_812AEC4 + .4byte sub_812AFFC + .4byte sub_812B01C + .4byte sub_812B094 + .4byte sub_812B0D8 + .4byte sub_812B108 + .4byte sub_812B130 + .4byte sub_812B158 + .4byte sub_812B1B0 + .4byte sub_812B214 + .4byte sub_812B254 + .4byte sub_812B280 + .4byte sub_812B2C0 + .4byte sub_812B2EC + .4byte sub_812B32C gUnknown_085A74C4:: @ 85A74C4 - .incbin "baserom.gba", 0x5a74c4, 0xc + .4byte sub_812BB34 + .4byte sub_812BB68 + .4byte sub_812BC20 gUnknown_085A74D0:: @ 85A74D0 - .incbin "baserom.gba", 0x5a74d0, 0x14 + .4byte sub_812BF64 + .4byte sub_812BF68 + .4byte sub_812BF88 + .4byte sub_812C01C + .4byte sub_812C0E0 gUnknown_085A74E4:: @ 85A74E4 - .incbin "baserom.gba", 0x5a74e4, 0xc + .4byte sub_812C138 + .4byte sub_812C3A0 + .4byte sub_812C4BC gUnknown_085A74F0:: @ 85A74F0 - .incbin "baserom.gba", 0x5a74f0, 0xc + .4byte sub_812C5DC + .4byte sub_812C628 + .4byte sub_812C8FC gUnknown_085A74FC:: @ 85A74FC - .incbin "baserom.gba", 0x5a74fc, 0xc + .2byte 2, 4, 4, 4, 8, 0 gUnknown_085A7508:: @ 85A7508 - .incbin "baserom.gba", 0x5a7508, 0xc + .4byte sub_812C238 + .4byte sub_812C290 + .4byte sub_812C290 gUnknown_085A7514:: @ 85A7514 - .incbin "baserom.gba", 0x5a7514, 0xc + .4byte sub_812C3C8 + .4byte sub_812C3C8 + .4byte sub_812C414 gUnknown_085A7520:: @ 85A7520 - .incbin "baserom.gba", 0x5a7520, 0xc + .4byte sub_812C500 + .4byte sub_812C500 + .4byte sub_812C55C gUnknown_085A752C:: @ 85A752C - .incbin "baserom.gba", 0x5a752c, 0xc + .4byte sub_812C64C + .4byte j5_08111E84 + .4byte sub_812C74C gUnknown_085A7538:: @ 85A7538 - .incbin "baserom.gba", 0x5a7538, 0xc + .4byte sub_812C920 + .4byte sub_812CA08 + .4byte sub_812CB80 gUnknown_085A7544:: @ 85A7544 - .incbin "baserom.gba", 0x5a7544, 0xc + .4byte sub_812CDA4 + .4byte sub_812CDD8 + .4byte sub_812CDF4 gUnknown_085A7550:: @ 85A7550 - .incbin "baserom.gba", 0x5a7550, 0x8 + .2byte 5, 10, 15, 0 gUnknown_085A7558:: @ 85A7558 - .incbin "baserom.gba", 0x5a7558, 0x10 + .4byte nullsub_50 + .4byte sub_812D264 + .4byte sub_812D28C + .4byte sub_812D30C gUnknown_085A7568:: @ 85A7568 - .incbin "baserom.gba", 0x5a7568, 0x2 + .2byte 0x9E gUnknown_085A756A:: @ 85A756A - .incbin "baserom.gba", 0x5a756a, 0xa + .2byte 0x6E, 0x9F, 0x6F, 0xAF, 0x7F gUnknown_085A7574:: @ 85A7574 - .incbin "baserom.gba", 0x5a7574, 0x4c + .4byte sub_812D51C + .4byte sub_812D594 + .4byte sub_812D60C + .4byte sub_812D63C + .4byte sub_812D6EC + .4byte sub_812D740 + .4byte sub_812D774 + .4byte sub_812D7E4 + .4byte sub_812D870 + .4byte sub_812D920 + .4byte sub_812D950 + .4byte sub_812D9A4 + .4byte sub_812DA20 + .4byte sub_812DA6C + .4byte sub_812DA90 + .4byte sub_812DB04 + .4byte sub_812DB8C + .4byte sub_812D950 + .4byte sub_812DBBC gUnknown_085A75C0:: @ 85A75C0 - .incbin "baserom.gba", 0x5a75c0, 0x4 + .byte 1, 1, 2, 2 gUnknown_085A75C4:: @ 85A75C4 - .incbin "baserom.gba", 0x5a75c4, 0x8 + .2byte 0x40, 0x30, 0x18, 8 gUnknown_085A75CC:: @ 85A75CC - .incbin "baserom.gba", 0x5a75cc, 0x8 + .2byte 10, 8, 6, 4 gUnknown_085A75D4:: @ 85A75D4 - .incbin "baserom.gba", 0x5a75d4, 0x3c + .4byte sub_812DD04 + .4byte sub_812DD28 + .4byte sub_812DD48 + .4byte sub_812DD28 + .4byte sub_812DD78 + .4byte sub_812DD28 + .4byte sub_812DDC4 + .4byte sub_812DD28 + .4byte sub_812DE14 + .4byte sub_812DD28 + .4byte sub_812DE30 + .4byte sub_812DD28 + .4byte sub_812DE48 + .4byte sub_812DD28 + .4byte sub_812DE7C gUnknown_085A7610:: @ 85A7610 - .incbin "baserom.gba", 0x5a7610, 0x4 + .4byte nullsub_51 gUnknown_085A7614:: @ 85A7614 - .incbin "baserom.gba", 0x5a7614, 0x2 + .2byte 16 gUnknown_085A7616:: @ 85A7616 - .incbin "baserom.gba", 0x5a7616, 0x8 + .2byte 0, 0x40, 0x80, 0xC0 gUnknown_085A761E:: @ 85A761E - .incbin "baserom.gba", 0x5a761e, 0x8 + .2byte 4, -4, 4, -4 gUnknown_085A7626:: @ 85A7626 - .incbin "baserom.gba", 0x5a7626, 0x8 + .2byte 4, 4, -4, -4 gUnknown_085A762E:: @ 85A762E - .incbin "baserom.gba", 0x5a762e, 0x10 + .2byte 0, 0xFFD8, 0, 0, 0x30, 0, 0x18, 0 gUnknown_085A763E:: @ 85A763E - .incbin "baserom.gba", 0x5a763e, 0x10 + .2byte 0xFFE0, 0, 0xFFE0, 0xFFD0, 0, 0xFFD0, 0, 0xFFD0 gUnknown_085A764E:: @ 85A764E - .incbin "baserom.gba", 0x5a764e, 0x10 + .2byte 16, 12, 16, 0, 0, 4, 8, 8 gUnknown_085A765E:: @ 85A765E - .incbin "baserom.gba", 0x5a765e, 0x10 + .2byte 0xA0, 0xC0, 0xE0, 0x68, 0x50, 0x40, 0x30, 0x18 gUnknown_085A766E:: @ 85A766E - .incbin "baserom.gba", 0x5a766e, 0x3f + .byte 0, 4, 2, 6, 5, 3, 1, 3, 4, 5, 6, 2, 0, 5, 3, 6, 2, 1, 5, 3, 6 + .byte 0, 4, 6, 3, 2, 4, 6, 5, 5, 3, 1, 3, 6, 4, 2, 3, 6, 4, 3, 6, 4 + .byte 0, 5, 1, 6, 3, 2, 6, 3, 5, 2, 6, 3, 2, 5, 6, 3, 2, 5, 6, 3, 4 gUnknown_085A76AD:: @ 85A76AD - .incbin "baserom.gba", 0x5a76ad, 0x7 + .byte 1, 0, 5, 4, 3, 2, 0 gUnknown_085A76B4:: @ 85A76B4 - .incbin "baserom.gba", 0x5a76b4, 0xc + .2byte 0, 6, 0, 10, 0, 2 gUnknown_085A76C0:: @ 85A76C0 - .incbin "baserom.gba", 0x5a76c0, 0x12 + .byte 1, 1, 12 + .byte 1, 1, 14 + .byte 2, 2, 14 + .byte 2, 2, 14 + .byte 2, 3, 16 + .byte 3, 3, 16 gUnknown_085A76D2:: @ 85A76D2 - .incbin "baserom.gba", 0x5a76d2, 0x12 + .byte 0x19, 0x19, 0x1E, 0x28, 0x28, 0x32 + .byte 0x19, 0x19, 0x1E, 0x1E, 0x23, 0x23 + .byte 0x19, 0x19, 0x1E, 0x19, 0x19, 0x1E gUnknown_085A76E4:: @ 85A76E4 - .incbin "baserom.gba", 0x5a76e4, 0x1e + .byte 0x14, 0x19, 0x19, 0x14, 0x19, 0x19 + .byte 0xC, 0xF, 0xF, 0x12, 0x13, 0x16 + .byte 0x19, 0x19, 0x19, 0x1E, 0x1E, 0x28 + .byte 0x19, 0x19, 0x14, 0x14, 0xF, 0xF + .byte 0x28, 0x28, 0x23, 0x23, 0x28, 0x28 gUnknown_085A7702:: @ 85A7702 - .incbin "baserom.gba", 0x5a7702, 0x66 + .byte 0xF3, 0xF3, 0xF3, 0x50, 0x50, 0x50, 0x50, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x5, 0x5, 0x5, 0x5 + .byte 0x5, 0x5, 0x5, 0x96, 0x96, 0x96, 0x96, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x64, 0x64, 0x64, 0x5 + .byte 0x4, 0x4, 0x4, 0x14, 0x14, 0x14, 0x14, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x64, 0x64, 0x64, 0x28 + .byte 0x2, 0x2, 0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x2D, 0x2D, 0x2D, 0x64 + .byte 0x1, 0x1, 0x1, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x5, 0x5, 0x5, 0x64 + .byte 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x6 gUnknown_085A7768:: @ 85A7768 - .incbin "baserom.gba", 0x5a7768, 0x66 + .byte 0xF3, 0xF3, 0xF3, 0xC8, 0xC8, 0xC8, 0xC8, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0x46, 0x46, 0x46, 0x05 + .byte 0x05, 0x05, 0x05, 0x19, 0x19, 0x19, 0x19, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x02, 0x02, 0x02, 0x06 + .byte 0x04, 0x04, 0x04, 0x19, 0x19, 0x19, 0x19, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x28, 0x28, 0x28, 0x23 + .byte 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x64, 0x64, 0x64, 0x32 + .byte 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x28, 0x28, 0x28, 0x64 + .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x04, 0x04, 0x04, 0x3C gUnknown_085A77CE:: @ 85A77CE - .incbin "baserom.gba", 0x5a77ce, 0xa + .2byte 0x80, 0xAF, 0xC8, 0xE1, 0x100 gUnknown_085A77D8:: @ 85A77D8 - .incbin "baserom.gba", 0x5a77d8, 0x14 + .byte 10, 0, 5, 0 + .byte 10, 0, 10, 0 + .byte 10, 0, 15, 0 + .byte 10, 0, 25, 0 + .byte 10, 0, 35, 0 gUnknown_085A77EC:: @ 85A77EC - .incbin "baserom.gba", 0x5a77ec, 0xa + .byte 0, 0 + .byte 5, 0 + .byte 10, 0 + .byte 15, 0 + .byte 20, 0 gUnknown_085A77F6:: @ 85A77F6 - .incbin "baserom.gba", 0x5a77f6, 0x8 + .byte 6, 4, 3, 2, 5, 0, 0, 0 gUnknown_085A77FE:: @ 85A77FE - .incbin "baserom.gba", 0x5a77fe, 0x6 + .byte 0x80, 0 + .byte 0x20, 0 + .byte 0x40, 0 gUnknown_085A7804:: @ 85A7804 - .incbin "baserom.gba", 0x5a7804, 0xa + .byte 16, 0 + .byte 8, 0 + .byte 4, 0 + .byte 2, 0 + .byte 1, 0 gUnknown_085A780E:: @ 85A780E - .incbin "baserom.gba", 0x5a780e, 0x8 + .byte 7, 8, 4, 3, 0, 5, 2, 0 gUnknown_085A7816:: @ 85A7816 - .incbin "baserom.gba", 0x5a7816, 0x12 + .2byte 1, 2, 4, 8, 16, 32, 64, 128, 256 gUnknown_085A7828:: @ 85A7828 - .incbin "baserom.gba", 0x5a7828, 0x12 + .2byte 2, 4, 0, 6, 12, 3, 0x5A, 0x12C, 0x12C gUnknown_085A783A:: @ 85A783A - .incbin "baserom.gba", 0x5a783a, 0x8e + .2byte 0xD0, 0x38 + .2byte 0xB8, 0 + .2byte 0xC8, 8 + .2byte 0xD8, 0x10 + .2byte 0xE8, 0x18 + .2byte 0xD0, 0x48 + .2byte 0xD0, 8 + .2byte 0xD0, 0x40 + .2byte 0xD0, 0x38 + .2byte 0xC0, 0x58 + .2byte 0xE0, 0x58 + .2byte 0xC0, 0x78 + .2byte 0xE0, 0x78 + .2byte 0x90, 0x38 + .2byte 0x110, 0x58 + .2byte 0xA8, 0x70 + .2byte 0xD0, 0x54 + .2byte 0xD0, 0x70 + .2byte 0xBC, 0x34 + .2byte 0xD0, 0x34 + .2byte 0xE4, 0x34 + .2byte 0xB8, 0x48 + .2byte 0xC4, 0x48 + .2byte 0xD0, 0x48 + .2byte 0xDC, 0x48 + .2byte 0xE8, 0x48 + .2byte 0xBC, 0x34 + .2byte 0xD0, 0x34 + .2byte 0xE4, 0x34 + .2byte 0xB8, 0x48 + .2byte 0xC4, 0x48 + .2byte 0xD0, 0x48 + .2byte 0xDC, 0x48 + .2byte 0xE8, 0x48 + .2byte 0x00, 0x00 + .2byte 0 + gUnknown_085A78C8:: @ 85A78C8 - .incbin "baserom.gba", 0x5a78c8, 0x13c + .4byte sub_812F078 + .4byte sub_812F36C + .4byte sub_812F36C + .4byte sub_812F36C + .4byte sub_812F36C + .4byte sub_812F3B4 + .4byte sub_812F2CC + .4byte sub_812F078 + .4byte sub_812F078 + .4byte sub_812F080 + .4byte sub_812F104 + .4byte sub_812F11C + .4byte sub_812F134 + .4byte sub_812F150 + .4byte sub_812F1B8 + .4byte sub_812F21C + .4byte sub_812F078 + .4byte sub_812F470 + .4byte sub_812F514 + .4byte sub_812F514 + .4byte sub_812F514 + .4byte sub_812F514 + .4byte sub_812F514 + .4byte sub_812F514 + .4byte sub_812F514 + .4byte sub_812F514 + .4byte sub_812F5E0 + .4byte sub_812F5E0 + .4byte sub_812F5E0 + .4byte sub_812F5E0 + .4byte sub_812F5E0 + .4byte sub_812F5E0 + .4byte sub_812F5E0 + .4byte sub_812F5E0 + .4byte sub_812F648 + +gUnknown_085A7954:: @ 85A7954 + .byte 0x19 + .byte 0x22 + .2byte 0 + .byte 0x2 + .byte 0 + .2byte 0 + .byte 0x9 + .byte 0x10 + .2byte 0 + .byte 0xFF + .byte 0 + .2byte 0 + +gUnknown_085A7964:: @ 85A7964 + .byte 0xA + .byte 0x1 + .2byte 0 + .byte 0xB + .byte 2 + .2byte 0 + .byte 0xC + .byte 0x3 + .2byte 0 + .byte 0xD + .byte 4 + .2byte 0 + .byte 0x5 + .byte 5 + .2byte 0 + .byte 0x8 + .byte 0x6 + .2byte 0 + .byte 0xFF + .byte 0 + .2byte 0 + +gUnknown_085A7980:: @ 85A7980 + .byte 0x3 + .byte 0x7 + .2byte 0 + .byte 0x8 + .byte 0x11 + .2byte 0 + .byte 0xFF + .byte 0 + .2byte 0 + +gUnknown_085A798C:: @ 85A798C + .byte 0x4 + .byte 0x8 + .2byte 0 + .byte 0x6 + .byte 0x9 + .2byte 0 + .byte 0x6 + .byte 0xA + .2byte 1 + .byte 0x6 + .byte 0xB + .2byte 2 + .byte 0x6 + .byte 0xC + .2byte 3 + .byte 0xFF + .byte 0 + .2byte 0 + +gUnknown_085A79A4:: @ 85A79A4 + .byte 0 + .byte 0xD + .2byte 0 + .byte 1 + .byte 0xE + .2byte 0 + .byte 0x7 + .byte 0xF + .2byte 0 + .byte 0xFF + .byte 0 + .2byte 0 + +gUnknown_085A79B4:: @ 85A79B4 + .byte 0x13 + .byte 0x1A + .2byte 0 + .byte 0x14 + .byte 0x1B + .2byte 1 + .byte 0x15 + .byte 0x1C + .2byte 2 + .byte 0xE + .byte 0x1D + .2byte 3 + .byte 0xF + .byte 0x1E + .2byte 4 + .byte 0x10 + .byte 0x1F + .2byte 5 + .byte 0x11 + .byte 0x20 + .2byte 6 + .byte 0x12 + .byte 0x21 + .2byte 7 + .byte 0x8 + .byte 0x11 + .2byte 0 + .byte 0xFF + .byte 0 + .2byte 0 + +gUnknown_085A79DC:: @ 85A79DC + .byte 0x16 + .byte 0x12 + .2byte 0 + .byte 0x17 + .byte 0x13 + .2byte 1 + .byte 0x18 + .byte 0x14 + .2byte 2 + .byte 0xE + .byte 0x15 + .2byte 3 + .byte 0xF + .byte 0x16 + .2byte 4 + .byte 0x10 + .byte 0x17 + .2byte 5 + .byte 0x11 + .byte 0x18 + .2byte 6 + .byte 0x12 + .byte 0x19 + .2byte 7 + .byte 0x8 + .byte 0x11 + .2byte 0 + .byte 0xFF + .byte 0 + .2byte 0 gUnknown_085A7A04:: @ 85A7A04 - .incbin "baserom.gba", 0x5a7a04, 0x1c + .4byte gUnknown_085A7954 + .4byte gUnknown_085A7964 + .4byte gUnknown_085A7980 + .4byte gUnknown_085A798C + .4byte gUnknown_085A79A4 + .4byte gUnknown_085A79DC + .4byte gUnknown_085A79B4 gUnknown_085A7A20:: @ 85A7A20 - .incbin "baserom.gba", 0x5a7a20, 0x2c0 + .4byte sub_812F7C0 + .4byte sub_812F784 + .4byte sub_812F794 + .4byte nullsub_101 + .4byte nullsub_101 + .4byte sub_812F794 + .4byte sub_812F794 +gUnknown_085A7A3C:: @ 85A7A3C + .2byte 0 + .2byte 0 + .2byte 0 + .2byte 0 + +gUnknown_085A7A44:: @ 85A7A44 + .2byte 0x8000 + .2byte 0 + .2byte 0 + .2byte 0 + +gUnknown_085A7A4C:: @ 85A7A4C + .2byte 0 + .2byte 0x4000 + .2byte 0 + .2byte 0 + +gUnknown_085A7A54:: @ 85A7A54 + .2byte 0x8000 + .2byte 0x8000 + .2byte 0 + .2byte 0 + +gUnknown_085A7A5C:: @ 85A7A5C + .2byte 0 + .2byte 0x8000 + .2byte 0 + .2byte 0 + +gUnknown_085A7A64:: @ 85A7A64 + .2byte 0x8000 + .2byte 0xC000 + .2byte 0 + .2byte 0 + +gUnknown_085A7A6C:: @ 85A7A6C + .2byte 0x4000 + .2byte 0xC000 + .2byte 0 + .2byte 0 + +gUnknown_085A7A74:: @ 85A7A74 + .2byte 0 + .2byte 0xC000 + .2byte 0 + .2byte 0 + +gUnknown_085A7A7C:: @ 85A7A7C + .4byte gSlotMachineReelTimeNumber0 + .2byte 0x80 + .2byte 0 + .4byte gSlotMachineReelTimeNumber1 + .2byte 0x80 + .2byte 0 + .4byte gSlotMachineReelTimeNumber2 + .2byte 0x80 + .2byte 0 + .4byte gSlotMachineReelTimeNumber3 + .2byte 0x80 + .2byte 0 + .4byte gSlotMachineReelTimeNumber4 + .2byte 0x80 + .2byte 0 + .4byte gSlotMachineReelTimeNumber5 + .2byte 0x80 + .2byte 0 + +gUnknown_085A7AAC:: @ 85A7AAC + .4byte gSlotMachineReelTimeShadow + .2byte 0x200 + .2byte 0 + +gUnknown_085A7AB4:: @ 85A7AB4 + .4byte gUnknown_08DD1A18 + .2byte 0x40 + .2byte 0 + +gUnknown_085A7ABC:: @ 85A7ABC + .4byte gSlotMachineReelTimeLargeBolt0 + .2byte 0x100 + .2byte 0 + .4byte gSlotMachineReelTimeLargeBolt1 + .2byte 0x100 + .2byte 0 + +gUnknown_085A7ACC:: @ 85A7ACC + .4byte gSlotMachineReelTimePikaAura + .2byte 0x400 + .2byte 0 + +gUnknown_085A7AD4:: @ 85A7CD4 + .4byte gSlotMachineReelTimeExplosion0 + .2byte 0x200 + .2byte 0 + .4byte gSlotMachineReelTimeExplosion1 + .2byte 0x200 + .2byte 0 + +gUnknown_085A7AE4:: @ 85A7AE4 + .4byte gSlotMachineReelTimeDuck + .4byte 32 + +gUnknown_085A7AEC:: @ 85A7AEC + .4byte gSlotMachineReelTimeSmoke + .4byte 0x80 + +gUnknown_085A7AF4:: @ 85A7AF4 + .4byte gSlotMachineReelTimeBolt + .4byte 32 + +gUnknown_085A7AFC:: @ 85A7AFC + obj_image_anim_frame 0, 1 + obj_image_anim_end + +gUnknown_085A7B04:: @ 85A7B04 + obj_image_anim_frame 0, 1 + obj_image_anim_jump 0 + +gUnknown_085A7B0C:: @ 85A7B0C + obj_image_anim_frame 0, 16 + obj_image_anim_end + +gUnknown_085A7B14:: @ 85A7B14 + obj_image_anim_frame 1, 16 + obj_image_anim_frame 0, 16 + obj_image_anim_jump 0 + +gUnknown_085A7B20:: @ 85A7B20 + obj_image_anim_frame 1, 8 + obj_image_anim_frame 0, 8 + obj_image_anim_jump 0 + +gUnknown_085A7B2C:: @ 85A7B2C + obj_image_anim_frame 1, 4 + obj_image_anim_frame 0, 4 + obj_image_anim_jump 0 + +gUnknown_085A7B38:: @ 85A7B38 + obj_image_anim_frame 2, 32 + obj_image_anim_frame 3, 32 + obj_image_anim_jump 0 + +gUnknown_085A7B44:: @ 85A7B44 + obj_image_anim_frame 4, 1 + obj_image_anim_end + +gUnknown_085A7B4C:: @ 85A7B4C + obj_image_anim_frame 0, 1 + obj_image_anim_end + +gUnknown_085A7B54:: @ 85A7B54 + obj_image_anim_frame 1, 1 + obj_image_anim_end + +gUnknown_085A7B5C:: @ 85A7B5C + obj_image_anim_frame 2, 1 + obj_image_anim_end + +gUnknown_085A7B64:: @ 85A7B64 + obj_image_anim_frame 3, 1 + obj_image_anim_end + +gUnknown_085A7B6C:: @ 85A7B6C + obj_image_anim_frame 4, 1 + obj_image_anim_end + +gUnknown_085A7B74:: @ 85A7B74 + obj_image_anim_frame 5, 1 + obj_image_anim_end + +gUnknown_085A7B7C:: @ 85A7B7C + obj_image_anim_frame 0, 4 + obj_image_anim_frame 1, 4 + obj_image_anim_jump 0 + +gUnknown_085A7B88:: @ 85A7B88 + obj_image_anim_frame 0, 16 + obj_image_anim_frame 1, 16 + obj_image_anim_jump 0 + +gUnknown_085A7B94:: @ 85A7B94 + obj_image_anim_frame 0, 30 + obj_image_anim_frame 1, 30 + obj_image_anim_jump 0 + +gUnknown_085A7BA0:: @ 85A7BA0 + obj_image_anim_frame 1, 1 + obj_image_anim_end + +gUnknown_085A7BA8:: @ 85A7BA8 + obj_image_anim_frame 0, 30 + obj_image_anim_frame 1, 30 + obj_image_anim_jump 0 + +gUnknown_085A7BB4:: @ 85A7BB4 + obj_image_anim_frame 0, 16 + obj_image_anim_frame 1, 16 + obj_image_anim_frame 0, 16 + obj_image_anim_frame 1, 80 + obj_image_anim_jump 0 + +gUnknown_085A7BC8:: @ 85A7BC8 + obj_image_anim_frame 0, 1 + obj_image_anim_end + +gUnknown_085A7BD0:: @ 85A7BD0 + obj_image_anim_frame 0, 1 + obj_image_anim_end + +gUnknown_085A7BD8:: @ 85A7BD8 + obj_image_anim_frame 1, 1 + obj_image_anim_end + +gUnknown_085A7BE0:: @ 85A7BE0 + obj_image_anim_frame 2, 1 + obj_image_anim_end + +gUnknown_085A7BE8:: @ 85A7BE8 + obj_image_anim_frame 3, 1 + obj_image_anim_end + +gUnknown_085A7BF0:: @ 85A7BF0 + obj_image_anim_frame 4, 1 + obj_image_anim_end + +gUnknown_085A7BF8:: @ 85A7BF8 + .4byte gUnknown_085A7AFC + +gUnknown_085A7BFC:: @ 85A7BFC + .4byte gUnknown_085A7B04 + +gUnknown_085A7C00:: @ 85A7C00 + .4byte gUnknown_085A7B0C + .4byte gUnknown_085A7B14 + .4byte gUnknown_085A7B20 + .4byte gUnknown_085A7B2C + .4byte gUnknown_085A7B38 + .4byte gUnknown_085A7B44 + +gUnknown_085A7C18:: @ 85A7C18 + .4byte gUnknown_085A7B4C + .4byte gUnknown_085A7B54 + .4byte gUnknown_085A7B5C + .4byte gUnknown_085A7B64 + .4byte gUnknown_085A7B6C + .4byte gUnknown_085A7B74 + +gUnknown_085A7C30:: @ 85A7C30 + .4byte gUnknown_085A7B7C + +gUnknown_085A7C34:: @ 85A7C34 + .4byte gUnknown_085A7B88 + +gUnknown_085A7C38:: @ 85A7C38 + .4byte gUnknown_085A7B94 + .4byte gUnknown_085A7BA0 + +gUnknown_085A7C40:: @ 85A7C40 + .4byte gUnknown_085A7BA8 + +gUnknown_085A7C44:: @ 85A7C44 + .4byte gUnknown_085A7BB4 + .4byte gUnknown_085A7BC8 + +gUnknown_085A7C4C:: @ 85A7C4C + .4byte gUnknown_085A7BD0 + .4byte gUnknown_085A7BD8 + .4byte gUnknown_085A7BE0 + .4byte gUnknown_085A7BE8 + .4byte gUnknown_085A7BF0 + +gUnknown_085A7C60:: @ 85A7C60 + obj_rot_scal_anim_frame 16, 16, 0, 0 + obj_rot_scal_anim_loop 0 + obj_rot_scal_anim_frame 1, 1, 0, 1 + obj_rot_scal_anim_loop 0xFF + obj_rot_scal_anim_end + +gUnknown_085A7C88:: @ 85A7C88 + .4byte gUnknown_085A7C60 + +gUnknown_085A7C8C:: @ 85A7C8C + obj_rot_scal_anim_frame 0, 0, 8, 32 + obj_rot_scal_anim_frame 0, 0, 6, 32 + obj_rot_scal_anim_frame 0, 0, 4, 16 + obj_rot_scal_anim_frame 0, 0, 12, 2 + obj_rot_scal_anim_frame 0, 0, -12, 4 + obj_rot_scal_anim_frame 0, 0, 12, 2 + obj_rot_scal_anim_frame 0, 0, 12, 2 + obj_rot_scal_anim_frame 0, 0, -12, 4 + obj_rot_scal_anim_frame 0, 0, 12, 2 + obj_rot_scal_anim_end + +gUnknown_085A7CDC:: @ 85A7CDC + .4byte gUnknown_085A7C8C + gUnknown_085A7CE0:: @ 85A7CE0 - .incbin "baserom.gba", 0x5a7ce0, 0x18 + spr_template 0, 0, gUnknown_085A7A5C, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, sub_812E154 gUnknown_085A7CF8:: @ 85A7CF8 - .incbin "baserom.gba", 0x5a7cf8, 0x18 + spr_template 7, 4, gUnknown_085A7A44, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, sub_812E2A8 gUnknown_085A7D10:: @ 85A7D10 - .incbin "baserom.gba", 0x5a7d10, 0x18 + spr_template 17, 0, gUnknown_085A7A74, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_085A7D28:: @ 85A7D28 - .incbin "baserom.gba", 0x5a7d28, 0x18 + spr_template 0xFFFF, 1, gUnknown_085A7A74, gUnknown_085A7C00, NULL, gDummySpriteAffineAnimTable, sub_812E424 gUnknown_085A7D40:: @ 85A7D40 - .incbin "baserom.gba", 0x5a7d40, 0x18 + spr_template 0xFFFF, 2, gUnknown_085A7A44, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_085A7D58:: @ 85A7D58 - .incbin "baserom.gba", 0x5a7d58, 0x18 + spr_template 0xFFFF, 3, gUnknown_085A7A44, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_085A7D70:: @ 85A7D70 - .incbin "baserom.gba", 0x5a7d70, 0x18 + spr_template 0xFFFF, 3, gUnknown_085A7A44, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_085A7D88:: @ 85A7D88 - .incbin "baserom.gba", 0x5a7d88, 0x18 + spr_template 0xFFFF, 4, gUnknown_085A7A4C, gUnknown_085A7C18, gUnknown_085A7A7C, gDummySpriteAffineAnimTable, sub_812E6C4 gUnknown_085A7DA0:: @ 85A7DA0 - .incbin "baserom.gba", 0x5a7da0, 0x18 + spr_template 0xFFFF, 4, gUnknown_085A7A4C, gUnknown_085A7BF8, gUnknown_085A7AAC, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_085A7DB8:: @ 85A7DB8 - .incbin "baserom.gba", 0x5a7db8, 0x18 + spr_template 0xFFFF, 4, gUnknown_085A7A4C, gUnknown_085A7BF8, gUnknown_085A7AB4, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_085A7DD0:: @ 85A7DD0 - .incbin "baserom.gba", 0x5a7dd0, 0x18 + spr_template 0xFFFF, 4, gUnknown_085A7A54, gUnknown_085A7C30, gUnknown_085A7ABC, gDummySpriteAffineAnimTable, sub_812E9E8 gUnknown_085A7DE8:: @ 85A7DE8 - .incbin "baserom.gba", 0x5a7de8, 0x18 + spr_template 0xFFFF, 7, gUnknown_085A7A64, gUnknown_085A7BF8, gUnknown_085A7ACC, gDummySpriteAffineAnimTable, sub_812EB48 gUnknown_085A7E00:: @ 85A7E00 - .incbin "baserom.gba", 0x5a7e00, 0x18 + spr_template 0xFFFF, 5, gUnknown_085A7A5C, gUnknown_085A7C34, gUnknown_085A7AD4, gDummySpriteAffineAnimTable, sub_812EC64 gUnknown_085A7E18:: @ 85A7E18 - .incbin "baserom.gba", 0x5a7e18, 0x18 + spr_template 0xFFFF, 4, gUnknown_085A7A3C, gUnknown_085A7BFC, gUnknown_085A7AE4, gDummySpriteAffineAnimTable, sub_812ED20 gUnknown_085A7E30:: @ 85A7E30 - .incbin "baserom.gba", 0x5a7e30, 0x168 + spr_template 0xFFFF, 4, gUnknown_085A7A4C, gUnknown_085A7BF8, gUnknown_085A7AEC, gUnknown_085A7C88, sub_812EE14 + +gUnknown_085A7E48:: @ 85A7E48 + spr_template 0xFFFF, 6, gUnknown_085A7A3C, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_085A7E60:: @ 85A7E60 + spr_template 0xFFFF, 6, gUnknown_085A7A3C, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_085A7E78:: @ 85A7E78 + spr_template 0xFFFF, 6, gUnknown_085A7A3C, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_085A7E90:: @ 85A7E90 + spr_template 18, 6, gUnknown_085A7A3C, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_085A7EA8:: @ 85A7EA8 + spr_template 0xFFFF, 6, gUnknown_085A7A6C, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_085A7EC0:: @ 85A7EC0 + spr_template 0xFFFF, 6, gUnknown_085A7A6C, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy +gUnknown_085A7ED8:: @ 85A7ED8 + spr_template 19, 6, gUnknown_085A7A3C, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_085A7EF0:: @ 85A7EF0 + spr_template 20, 6, gUnknown_085A7A3C, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_085A7F08:: @ 85A7F08 + spr_template 21, 6, gUnknown_085A7A3C, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_085A7F20:: @ 85A7F20 + spr_template 0xFFFF, 6, gUnknown_085A7A5C, gUnknown_085A7C38, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_085A7F38:: @ 85A7F38 + spr_template 0xFFFF, 6, gUnknown_085A7A3C, gUnknown_085A7BF8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_085A7F50:: @ 85A7F50 + spr_template 0xFFFF, 6, gUnknown_085A7A4C, gUnknown_085A7C4C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_085A7F68:: @ 85A7F68 + spr_template 0xFFFF, 6, gUnknown_085A7A3C, gUnknown_085A7C44, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_085A7F80:: @ 85A7F80 + spr_template 0xFFFF, 6, gUnknown_085A7A3C, gUnknown_085A7C40, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + gUnknown_085A7F98:: @ 85A7F98 - .incbin "baserom.gba", 0x5a7f98, 0x28 + spr_template 0xFFFF, 4, gUnknown_085A7A3C, gUnknown_085A7BF8, gUnknown_085A7AF4, gUnknown_085A7CDC, sub_812EF54 + +gUnknown_085A7FB0:: @ 85A7FB0 + subsprite -64, -64, 3, 0, 64x64 + subsprite 0, -64, 3, 0, 64x64 + subsprite -64, 0, 3, 0, 64x64 + subsprite 0, 0, 3, 0, 64x64 gUnknown_085A7FC0:: @ 85A7FC0 - .incbin "baserom.gba", 0x5a7fc0, 0x20 + .4byte 4, gUnknown_085A7FB0 + +gUnknown_085A7FC8:: @ 85A7FC8 + subsprite -32, -12, 1, 0, 32x8 + subsprite 0, -12, 1, 4, 32x8 + subsprite -32, -4, 1, 8, 32x8 + subsprite 0, -4, 1, 12, 32x8 + subsprite -32, 4, 1, 16, 32x8 + subsprite 0, 4, 1, 20, 32x8 gUnknown_085A7FE0:: @ 85A7FE0 - .incbin "baserom.gba", 0x5a7fe0, 0x14 + .4byte 6, gUnknown_085A7FC8 +gUnknown_085A7FE8:: @ 85A7FE8 + subsprite -32, -20, 1, 0, 64x32 + subsprite -32, 12, 1, 32, 32x8 + subsprite 0, 12, 1, 36, 32x8 + gUnknown_085A7FF4:: @ 85A7FF4 - .incbin "baserom.gba", 0x5a7ff4, 0x1c + .4byte 3, gUnknown_085A7FE8 +gUnknown_085A7FFC:: @ 85A7FFC + subsprite -32, -24, 1, 0, 64x32 + subsprite -32, 8, 1, 32, 32x8 + subsprite 0, 8, 1, 36, 32x8 + subsprite -32, 16, 1, 40, 32x8 + subsprite 0, 16, 1, 44, 32x8 + gUnknown_085A8010:: @ 85A8010 - .incbin "baserom.gba", 0x5a8010, 0x18 + .4byte 5, gUnknown_085A7FFC + +gUnknown_085A8018:: @ 85A8018 + subsprite -32, -8, 1, 0, 32x8 + subsprite 0, -8, 1, 4, 32x8 + subsprite -32, 0, 1, 8, 32x8 + subsprite 0, 0, 1, 12, 32x8 gUnknown_085A8028:: @ 85A8028 - .incbin "baserom.gba", 0x5a8028, 0x14 + .4byte 4, gUnknown_085A8018 + +gUnknown_085A8030:: @ 85A8030 + subsprite -8, -12, 1, 0, 16x8 + subsprite -8, -4, 1, 0, 16x8 + subsprite -8, 4, 1, 0, 16x8 gUnknown_085A803C:: @ 85A803C - .incbin "baserom.gba", 0x5a803c, 0x228 + .4byte 3, gUnknown_085A8030 + +gUnknown_085A8044:: @ 85A8044 + subsprite -32, -24, 3, 0, 64x32 + subsprite -32, 8, 3, 32, 32x8 + subsprite 0, 8, 3, 36, 32x8 + subsprite -32, 16, 3, 40, 32x8 + subsprite 0, 16, 3, 44, 32x8 + +gUnknown_085A8058:: @ 85A8058 + .4byte 5, gUnknown_085A8044 + +gUnknown_085A8060:: @ 85A8060 + subsprite -32, -8, 3, 0, 32x8 + subsprite 0, -8, 3, 4, 32x8 + subsprite -32, 0, 3, 8, 32x8 + subsprite 0, 0, 3, 12, 32x8 + +gUnknown_085A8070:: @ 85A8070 + .4byte 4, gUnknown_085A8060 + +gUnknown_085A8078:: @ 85A8078 + subsprite -32, -8, 3, 0, 32x8 + subsprite 0, -8, 3, 4, 32x8 + subsprite -32, 0, 3, 8, 32x8 + subsprite 0, 0, 3, 12, 32x8 + +gUnknown_085A8088:: @ 85A8088 + .4byte 4, gUnknown_085A8078 + +gUnknown_085A8090:: @ 85A8090 + subsprite -32, -8, 3, 0, 32x8 + subsprite 0, -8, 3, 4, 32x8 + subsprite -32, 0, 3, 8, 32x8 + subsprite 0, 0, 3, 12, 32x8 + +gUnknown_085A80A0:: @ 85A80A0 + .4byte 4, gUnknown_085A8090 + +gUnknown_085A80A8:: @ 85A80A8 + subsprite -32, -12, 3, 0, 32x8 + subsprite 0, -12, 3, 4, 32x8 + subsprite -32, -4, 3, 8, 32x8 + subsprite 0, -4, 3, 12, 32x8 + subsprite -32, 4, 3, 16, 32x8 + subsprite 0, 4, 3, 20, 32x8 + +gUnknown_085A80C0:: @ 85A80C0 + .4byte 6, gUnknown_085A80A8 + +gUnknown_085A80C8:: @ 85A80C8 + subsprite -16, -16, 3, 0, 32x32 + +gUnknown_085A80CC:: @ 85A80CC + subsprite -8, -8, 3, 16, 16x16 + +gUnknown_085A80D0:: @ 85A80D0 + .4byte 1, gUnknown_085A80C8 + +gUnknown_085A80D8:: @ 85A80D8 + .4byte 1, gUnknown_085A80CC + +gUnknown_085A80E0:: @ 85A80E0 + subsprite -24, -24, 3, 0, 32x8 + subsprite 8, -24, 3, 4, 16x8 + subsprite -24, -16, 3, 6, 32x8 + subsprite 8, -16, 3, 10, 16x8 + subsprite -24, -8, 3, 12, 32x8 + subsprite 8, -8, 3, 16, 16x8 + subsprite -24, 0, 3, 18, 32x8 + subsprite 8, 0, 3, 22, 16x8 + subsprite -24, 8, 3, 24, 32x8 + subsprite 8, 8, 3, 28, 16x8 + subsprite -24, 16, 3, 30, 32x8 + subsprite 8, 16, 3, 34, 16x8 + +gUnknown_085A8110:: @ 85A8110 + .4byte 12, gUnknown_085A80E0 + +gUnknown_085A8118:: @ 85A8118 + subsprite -16, -12, 3, 0, 32x16 + subsprite -16, 4, 3, 8, 16x8 + subsprite 0, 4, 3, 10, 16x8 + +gUnknown_085A8124:: @ 85A8124 + .4byte 3, gUnknown_085A8118 + +gUnknown_085A812C:: @ 85A812C + subsprite -8, -8, 3, 0, 16x8 + subsprite -8, 0, 3, 8, 16x8 + +gUnknown_085A8134:: @ 85A8134 + .4byte 2, gUnknown_085A812C + +gUnknown_085A813C:: @ 85A813C + subsprite -8, -8, 3, 2, 16x8 + subsprite -8, 0, 3, 10, 16x8 + +gUnknown_085A8144:: @ 85A8144 + .4byte 2, gUnknown_085A813C + +gUnknown_085A814C:: @ 85A814C + subsprite -8, -8, 3, 4, 16x8 + subsprite -8, 0, 3, 12, 16x8 + +gUnknown_085A8154:: @ 85A8154 + .4byte 2, gUnknown_085A814C + +gUnknown_085A815C:: @ 85A815C + subsprite -8, -8, 3, 6, 16x8 + subsprite -8, 0, 3, 14, 16x8 + +gUnknown_085A8164:: @ 85A8164 + .4byte 2, gUnknown_085A815C + +gUnknown_085A816C:: @ 85A816C + subsprite -8, -8, 3, 0, 16x8 + subsprite -8, 0, 3, 8, 16x8 + +gUnknown_085A8174:: @ 85A8174 + .4byte 2, gUnknown_085A816C + +gUnknown_085A817C:: @ 85A817C + subsprite -4, -8, 3, 2, 8x8 + subsprite -4, 0, 3, 10, 8x8 + +gUnknown_085A8184:: @ 85A8184 + .4byte 2, gUnknown_085A817C + +gUnknown_085A818C:: @ 85A818C + subsprite -8, -8, 3, 3, 16x8 + subsprite -8, 0, 3, 11, 16x8 + +gUnknown_085A8194:: @ 85A8194 + .4byte 2, gUnknown_085A818C + +gUnknown_085A819C:: @ 85A819C + subsprite -4, -8, 3, 5, 8x8 + subsprite -4, 0, 3, 13, 8x8 + +gUnknown_085A81A4:: @ 85A81A4 + .4byte 2, gUnknown_085A819C + +gUnknown_085A81AC:: @ 85A81AC + subsprite -8, -8, 3, 6, 16x8 + subsprite -8, 0, 3, 14, 16x8 + +gUnknown_085A81B4:: @ 85A81B4 + .4byte 2, gUnknown_085A81AC + +gUnknown_085A81BC:: @ 85A81BC + subsprite -12, -12, 3, 0, 16x8 + subsprite 4, -12, 3, 2, 8x8 + subsprite -12, -4, 3, 8, 16x8 + subsprite 4, -4, 3, 10, 8x8 + subsprite -12, 4, 3, 16, 16x8 + subsprite 4, 4, 3, 18, 8x8 + +gUnknown_085A81D4:: @ 85A81D4 + .4byte 6, gUnknown_085A81BC + +gUnknown_085A81DC:: @ 85A81DC + subsprite -8, -12, 3, 3, 16x8 + subsprite -8, -4, 3, 11, 16x8 + subsprite -8, 4, 3, 19, 16x8 + +gUnknown_085A81E8:: @ 85A81E8 + .4byte 3, gUnknown_085A81DC + +gUnknown_085A81F0:: @ 85A81F0 + subsprite -12, -12, 3, 5, 16x8 + subsprite 4, -12, 3, 7, 8x8 + subsprite -12, -4, 3, 13, 16x8 + subsprite 4, -4, 3, 15, 8x8 + subsprite -12, 4, 3, 21, 16x8 + subsprite 4, 4, 3, 0x17, 8x8 + +gUnknown_085A8208:: @ 85A8208 + .4byte 6, gUnknown_085A81F0 + +gUnknown_085A8210:: @ 85A8210 + subsprite -12, -12, 3, 0, 16x8 + subsprite 4, -12, 3, 2, 8x8 + subsprite -12, -4, 3, 8, 16x8 + subsprite 4, -4, 3, 10, 8x8 + subsprite -12, 4, 3, 16, 16x8 + subsprite 4, 4, 3, 18, 8x8 + +gUnknown_085A8228:: @ 85A8228 + .4byte 6, gUnknown_085A8210 + +gUnknown_085A822C:: @ 85A822C + subsprite -8, -12, 3, 3, 16x8 + subsprite -8, -4, 3, 11, 16x8 + subsprite -8, 4, 3, 19, 16x8 + +gUnknown_085A823C:: @ 85A823C + .4byte 3, gUnknown_085A822C + +gUnknown_085A8244:: @ 85A8244 + subsprite -12, -12, 3, 5, 16x8 + subsprite 4, -12, 3, 7, 8x8 + subsprite -12, -4, 3, 13, 16x8 + subsprite 4, -4, 3, 15, 8x8 + subsprite -12, 4, 3, 21, 16x8 + subsprite 4, 4, 3, 23, 8x8 + +gUnknown_085A825C:: @ 85A825C + .4byte 6, gUnknown_085A8244 gUnknown_085A8264:: @ 85A8264 - .incbin "baserom.gba", 0x5a8264, 0x68 + .4byte gUnknown_085A7E48 + .4byte gUnknown_085A7E60 + .4byte gUnknown_085A7E78 + .4byte gUnknown_085A7EA8 + .4byte gUnknown_085A7EC0 + .4byte gUnknown_085A7F20 + .4byte gUnknown_085A7F38 + .4byte gUnknown_085A7F50 + .4byte gUnknown_085A7F68 + .4byte gUnknown_085A7F80 + .4byte gUnknown_085A7E90 + .4byte gUnknown_085A7E90 + .4byte gUnknown_085A7E90 + .4byte gUnknown_085A7E90 + .4byte gUnknown_085A7ED8 + .4byte gUnknown_085A7ED8 + .4byte gUnknown_085A7ED8 + .4byte gUnknown_085A7ED8 + .4byte gUnknown_085A7ED8 + .4byte gUnknown_085A7EF0 + .4byte gUnknown_085A7EF0 + .4byte gUnknown_085A7EF0 + .4byte gUnknown_085A7F08 + .4byte gUnknown_085A7F08 + .4byte gUnknown_085A7F08 + .4byte gDummySpriteTemplate gUnknown_085A82CC:: @ 85A82CC - .incbin "baserom.gba", 0x5a82cc, 0x68 + .4byte gUnknown_085A8058 + .4byte gUnknown_085A8070 + .4byte gUnknown_085A8088 + .4byte gUnknown_085A80C0 + .4byte NULL + .4byte NULL + .4byte gUnknown_085A80D0 + .4byte NULL + .4byte gUnknown_085A8110 + .4byte gUnknown_085A8124 + .4byte gUnknown_085A8134 + .4byte gUnknown_085A8144 + .4byte gUnknown_085A8154 + .4byte gUnknown_085A8164 + .4byte gUnknown_085A8174 + .4byte gUnknown_085A8184 + .4byte gUnknown_085A8194 + .4byte gUnknown_085A81A4 + .4byte gUnknown_085A81B4 + .4byte gUnknown_085A81D4 + .4byte gUnknown_085A81E8 + .4byte gUnknown_085A8208 + .4byte gUnknown_085A8228 + .4byte gUnknown_085A823C + .4byte gUnknown_085A825C + .4byte NULL + .align 2 gUnknown_085A8334:: @ 85A8334 - .incbin "baserom.gba", 0x5a8334, 0xb0 + obj_tiles gSlotMachineReelSymbol1Tiles, 0x0200, 0x0000 + obj_tiles gSlotMachineReelSymbol2Tiles, 0x0200, 0x0001 + obj_tiles gSlotMachineReelSymbol3Tiles, 0x0200, 0x0002 + obj_tiles gSlotMachineReelSymbol4Tiles, 0x0200, 0x0003 + obj_tiles gSlotMachineReelSymbol5Tiles, 0x0200, 0x0004 + obj_tiles gSlotMachineReelSymbol6Tiles, 0x0200, 0x0005 + obj_tiles gSlotMachineReelSymbol7Tiles, 0x0200, 0x0006 + obj_tiles gSlotMachineNumber0Tiles, 0x0040, 0x0007 + obj_tiles gSlotMachineNumber1Tiles, 0x0040, 0x0008 + obj_tiles gSlotMachineNumber2Tiles, 0x0040, 0x0009 + obj_tiles gSlotMachineNumber3Tiles, 0x0040, 0x000A + obj_tiles gSlotMachineNumber4Tiles, 0x0040, 0x000B + obj_tiles gSlotMachineNumber5Tiles, 0x0040, 0x000C + obj_tiles gSlotMachineNumber6Tiles, 0x0040, 0x000D + obj_tiles gSlotMachineNumber7Tiles, 0x0040, 0x000E + obj_tiles gSlotMachineNumber8Tiles, 0x0040, 0x000F + obj_tiles gSlotMachineNumber9Tiles, 0x0040, 0x0010 + + .align 2 + .byte 0, 0, 0, 0, 0, 2, 0x12, 0, 0, 0, 0, 0, 0, 2, 0x13, 0, 0, 0, 0, 0, 0, 3, 0x14, 0, 0, 0, 0, 0, 0, 3, 0x15, 0, 0, 0, 0, 0, 0, 0, 0, 0 gUnknown_085A83E4:: @ 85A83E4 - .incbin "baserom.gba", 0x5a83e4, 0x24 + .4byte gUnknown_08DD19F8 + @ might be a palette idk + .byte 0x7B, 0x6F, 0x68, 0x69, 0xAB, 0x36, 0xFF, 0x7F, 0x50, 0x57, 0xC0, 0x7E, 0xBA, 2, 0xBA, 2, 0xFD, 1, 0xFD, 1 + +gUnknown_085A83FC:: @ 85A83FC + .byte 0x91, 0x7F + +gUnknown_085A83FE:: @ 85A83FE + .byte 0xBF, 0x43 + +gUnknown_085A8400:: @ 85A8400 + .byte 0xBF, 0x43 + +gUnknown_085A8402:: @ 85A8402 + .byte 0xBF, 0x4A + +gUnknown_085A8404:: @ 85A8404 + .byte 0xBF, 0x4A, 0, 0 gUnknown_085A8408:: @ 85A8408 - .incbin "baserom.gba", 0x5a8408, 0x14 + .4byte gUnknown_085A83FC + .4byte gUnknown_085A83FE + .4byte gUnknown_085A8400 + .4byte gUnknown_085A8402 + .4byte gUnknown_085A8404 gUnknown_085A841C:: @ 85A841C - .incbin "baserom.gba", 0x5a841c, 0x14 + .4byte gSlotMachineMenu_Pal + 0x94 + .4byte gSlotMachineMenu_Pal + 0x96 + .4byte gSlotMachineMenu_Pal + 0x98 + .4byte gSlotMachineMenu_Pal + 0x9A + .4byte gSlotMachineMenu_Pal + 0x9C gUnknown_085A8430:: @ 85A8430 - .incbin "baserom.gba", 0x5a8430, 0x5 + .byte 0x4A, 0x4B, 0x4C, 0x4E, 0x4D gUnknown_085A8435:: @ 85A8435 - .incbin "baserom.gba", 0x5a8435, 0x6 + .byte 0, 0 + .byte 1, 2 + .byte 3, 4 gUnknown_085A843B:: @ 85A843B - .incbin "baserom.gba", 0x5a843b, 0x65 + .byte 1, 2, 2 + +gUnknown_085A843E:: @ 85A843E + .incbin "graphics/slot_machine/85A843E.gbapal" + +gUnknown_085A845E:: @ 85A845E + .incbin "graphics/slot_machine/85A845E.gbapal" + +gUnknown_085A847E:: @ 85A847E + .incbin "graphics/slot_machine/85A847E.gbapal" + .align 2 gUnknown_085A84A0:: @ 85A84A0 - .incbin "baserom.gba", 0x5a84a0, 0xc + .4byte gUnknown_085A843E + .4byte gUnknown_085A845E + .4byte gUnknown_085A847E gUnknown_085A84AC:: @ 85A84AC - .incbin "baserom.gba", 0x5a84ac, 0x64 + .4byte gSlotMachineMenu_Pal + 0x20 + +gUnknown_085A84B0:: @ 85A84B0 + .incbin "graphics/slot_machine/85A84B0.gbapal" + +gUnknown_085A84D0:: @ 85A84D0 + .incbin "graphics/slot_machine/85A84D0.gbapal" + +gUnknown_085A84F0:: @ 85A84F0 + .incbin "graphics/slot_machine/85A84F0.gbapal" gUnknown_085A8510:: @ 85A8510 - .incbin "baserom.gba", 0x5a8510, 0x10 + .4byte gUnknown_085A84B0 + .4byte gUnknown_085A84D0 + .4byte gUnknown_085A84F0 + .4byte gUnknown_08DCF230 gUnknown_085A8520:: @ 85A8520 - .incbin "baserom.gba", 0x5a8520, 0x4 + .4byte gUnknown_08DCF230 gUnknown_085A8524:: @ 85A8524 - .incbin "baserom.gba", 0x5a8524, 0x20 + .incbin "graphics/slot_machine/85A8524.bin" + .align 2 gUnknown_085A8544:: @ 85A8544 - .incbin "baserom.gba", 0x5a8544, 0x48 + obj_pal gUnknown_08DCF170, 0 + obj_pal gUnknown_08DCF190, 1 + obj_pal gUnknown_08DCF1B0, 2 + obj_pal gSlotMachineReelTime_Pal, 3 + obj_pal gUnknown_08DCF1F0, 4 + obj_pal gUnknown_08DCF210, 5 + obj_pal gUnknown_08DCF230, 6 + obj_pal gUnknown_08DCF1F0, 7 + null_obj_pal gUnknown_085A858C:: @ 85A858C - .incbin "baserom.gba", 0x5a858c, 0x1154 + .incbin "graphics/slot_machine/reel_time_gfx.4bpp.lz" gUnknown_085A96E0:: @ 85A96E0 - .incbin "baserom.gba", 0x5a96e0, 0x1b8 + @if anyone knows what this tilemap is please do share + .incbin "graphics/slot_machine/85A96E0.bin" gUnknown_085A9898:: @ 85A9898 - .incbin "baserom.gba", 0x5a9898, 0x4 + .4byte NULL diff --git a/data/smokescreen.s b/data/smokescreen.s index 6f2478842d..aeb8e685b8 100644 --- a/data/smokescreen.s +++ b/data/smokescreen.s @@ -14,11 +14,11 @@ gUnknown_0831C604:: @ 831C604 .align 2 gUnknown_0831C620:: @ 831C620 - obj_tiles gUnknown_08C01644, 0x0180, 0xd6eb + obj_tiles gSmokescreenImpactTiles, 0x0180, 0xd6eb .align 2 gUnknown_0831C628:: @ 831C628 - obj_pal gUnknown_08C01724, 0xd6eb + obj_pal gSmokescreenImpactPalette, 0xd6eb .align 2 gUnknown_0831C630:: @ 831C630 @@ -52,13 +52,13 @@ gUnknown_0831C688:: @ 831C688 spr_template 0xd6eb, 0xd6eb, gUnknown_0831C630, gUnknown_0831C678, NULL, gDummySpriteAffineAnimTable, sub_80753B4 .align 2 -gUnknown_0831C6A0:: @ 831C6A0 - obj_tiles gUnknown_08D8FBC0, 0x0080, 0xd759 +gSpriteSheet_EnemyShadow:: @ 831C6A0 + obj_tiles gEnemyMonShadow_Gfx, 0x0080, 0xd759 .align 2 gUnknown_0831C6A8:: @ 831C6A8 .byte 0x00, 0x40, 0x00, 0x40, 0x00, 0x0c, 0x00, 0x00 .align 2 -gUnknown_0831C6B0:: @ 831C6B0 - spr_template 0xd759, 0xd6ff, gUnknown_0831C6A8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_805EE48 +gSpriteTemplate_EnemyShadow:: @ 831C6B0 + spr_template 0xd759, 0xd6ff, gUnknown_0831C6A8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCB_SetInvisible diff --git a/data/sound_data.s b/data/sound_data.s index a25081360d..cd33950e17 100644 --- a/data/sound_data.s +++ b/data/sound_data.s @@ -1,19 +1,13 @@ .section .rodata -voicegroup_pokemon_cry:: @ 8675D04 - .incbin "baserom.gba", 0x675D04, 0x27FF0 + .include "asm/macros/m4a.inc" + .include "asm/macros/music_voice.inc" -gCryTable:: @ 869DCF4 - .incbin "baserom.gba", 0x69dcf4, 0x1230 + .include "sound/voice_groups.inc" + .include "sound/keysplit_tables.inc" + .include "sound/programmable_wave_data.inc" + .include "sound/music_player_table.inc" + .include "sound/song_table.inc" + .include "sound/direct_sound_data.inc" -gCryTable2:: @ 869EF24 - .incbin "baserom.gba", 0x69ef24, 0x1200 - -gUnknown_086A0124:: @ 86A0124 - .incbin "baserom.gba", 0x6a0124, 0x1489c - -gMPlayTable:: @ 86B49C0 - .incbin "baserom.gba", 0x6b49c0, 0x30 - -gSongTable:: @ 86B49F0 - .incbin "baserom.gba", 0x6b49f0, 0x2ee660 + .align 2 diff --git a/data/specials.inc b/data/specials.inc index 49f6b91a0f..ac4a47b691 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -1,13 +1,14 @@ .macro def_special ptr +.global SPECIAL_\ptr .set SPECIAL_\ptr, __special__ .set __special__, __special__ + 1 - .4byte \ptr - .endm + .4byte \ptr + .endm .set __special__, 0 - .align 2 + .align 2 gSpecials:: @ 81DBA64 - def_special sp000_heal_pokemon + def_special HealPlayerParty def_special sub_809D2BC def_special sub_80AF948 def_special sub_80AF9F8 @@ -39,13 +40,13 @@ gSpecials:: @ 81DBA64 def_special sub_80B2E4C def_special sub_80B2E74 def_special sub_80B2EA8 - def_special sub_80097E8 + def_special CloseLink def_special sub_80B3968 def_special sub_80B3924 def_special nullsub_37 def_special sub_80B3254 def_special sub_80B2FD8 - def_special sub_8138240 + def_special GetLinkPartnerNames def_special SpawnLinkPartnerFieldObject def_special copy_player_party_to_sav1 def_special copy_player_party_from_sav1 @@ -61,17 +62,17 @@ gSpecials:: @ 81DBA64 def_special FieldObjectInteractionWaterBerryTree def_special PlayerHasBerries def_special IsEnigmaBerryValid - def_special sub_80B170C - def_special sub_80B1A14 - def_special special_trainer_unable_to_battle - def_special check_trainer_flag - def_special sub_80B45AC + def_special GetTrainerBattleMode + def_special ShowTrainerIntroSpeech + def_special ShowTrainerCantBattleSpeech + def_special GetTrainerFlag + def_special EndTrainerApproach def_special SetUpTrainerEncounterMusic - def_special sub_80B226C - def_special sub_80B22A0 - def_special sub_80B19EC + def_special ShouldTryRematchBattle + def_special IsTrainerReadyForRematch + def_special BattleSetup_StartRematchBattle def_special sub_80C7578 - def_special sub_80F92F8 + def_special HasEnoughMonsForDoubleBattle def_special TurnOffTVScreen def_special DoTVShow def_special DoPokeNews @@ -142,36 +143,36 @@ gSpecials:: @ 81DBA64 def_special sub_8122A30 def_special sub_80D6EDC def_special CalculatePlayerPartyCount - def_special sub_80C7008 - def_special sub_80C70AC + def_special CountPartyNonEggMons + def_special CountPartyAliveNonEggMons_IgnoreVar0x8004Slot def_special sub_80F88E8 def_special sub_80F88DC def_special sub_80F8864 def_special sub_80F8940 def_special ShowContestWinner - def_special sub_8138540 - def_special sub_81384F0 - def_special sub_8138AC0 + def_special MauvilleGymSpecial2 + def_special MauvilleGymSpecial1 + def_special ShowFieldMessageStringVar4 def_special DrawWholeMapView - def_special sub_8138AD0 - def_special sub_8138750 - def_special sub_81388E4 - def_special sub_8138AA4 - def_special sub_8138AF0 - def_special sub_8138B10 - def_special sub_8138B48 - def_special sub_8138BC8 - def_special sub_8138B8C + def_special StorePlayerCoordsInVars + def_special MauvilleGymSpecial3 + def_special PetalburgGymSpecial1 + def_special PetalburgGymSpecial2 + def_special GetPlayerTrainerIdOnesDigit + def_special GetPlayerBigGuyGirlString + def_special GetRivalSonDaughterString + def_special SetFlagInVar + def_special CableCarWarp def_special sub_814FC9C - def_special sub_8085784 - def_special Special_StartWallClock + def_special Overworld_PlaySpecialMapMusic + def_special StartWallClock def_special Special_ViewWallClock - def_special sub_80B1138 - def_special sub_80B086C + def_special ChooseStarter + def_special StartWallyTutorialBattle def_special ChangePokemonNickname def_special sub_81B94B0 - def_special sub_8136EF4 - def_special sub_807FA80 + def_special GetFirstFreePokeblockSlot + def_special DoBerryBlending def_special sub_8142BC8 def_special sub_813BD60 def_special sub_813BCA8 @@ -181,7 +182,7 @@ gSpecials:: @ 81DBA64 def_special sub_813BF60 def_special sub_813BA60 def_special sub_813BF7C - def_special rock_smash_wild_pokemon_encounter + def_special RockSmashWildEncounter def_special GabbyAndTyGetBattleNum def_special GabbyAndTyAfterInterview def_special GabbyAndTyBeforeInterview @@ -191,18 +192,18 @@ gSpecials:: @ 81DBA64 def_special GabbyAndTyGetLastBattleTrivia def_special GabbyAndTySetScriptVarsToFieldObjectLocalIds def_special sub_8138B80 - def_special sp0B5_daycare - def_special sp0B6_daycare - def_special sub_8070728 - def_special sp0B8_daycare - def_special sp0B9_daycare_relationship_comment - def_special sub_8070C58 - def_special daycare_send_selected_pokemon - def_special sub_8071330 - def_special sub_80712C0 - def_special sub_806FF30 - def_special sub_806FED8 - def_special sub_806FDC4 + def_special GetDaycareMonNicknames + def_special GetDaycareState + def_special RejectEggFromDayCare + def_special GiveEggFromDaycare + def_special SetDaycareCompatibilityString + def_special GetSelectedMonNickAndSpecies + def_special StoreSelectedPokemonInDaycare + def_special ChooseSendDaycareMon + def_special ShowDaycareLevelMenu + def_special GetNumLevelsGainedFromDaycare + def_special GetDaycareCost + def_special TakePokemonFromDaycare def_special ScriptHatchMon def_special EggHatch def_special sub_8071614 @@ -213,34 +214,34 @@ gSpecials:: @ 81DBA64 def_special sp0C8_whiteout_maybe def_special sub_80FBE90 def_special sub_80FBED0 - def_special sub_8137F90 - def_special sub_8137FB0 + def_special SetSSTidalFlag + def_special ResetSSTidalFlag def_special EnterSafariMode def_special ExitSafariMode def_special GetPokeblockFeederInFront - def_special sub_8135908 - def_special sub_813793C - def_special sub_8137988 - def_special sub_8137A0C - def_special sub_8137A4C - def_special sub_8137C10 - def_special sp0D9_ComputerRelated - def_special sub_8138E20 + def_special OpenPokeblockCaseOnFeeder + def_special IsMirageIslandPresent + def_special UpdateShoalTideFlag + def_special InitBirchState + def_special ScriptGetPokedexInfo + def_special ShowPokedexRatingMessage + def_special DoPCTurnOnEffect + def_special DoPCTurnOffEffect def_special sub_8139994 - def_special sub_8138EC0 - def_special sub_8138FAC + def_special DoLotteryCornerComputerEffect + def_special EndLotteryCornerComputerEffect def_special sub_81B951C def_special sub_81B968C def_special sub_81B9770 def_special sub_81B9718 def_special sub_81B96D0 def_special sub_8160638 - def_special sub_8137EFC - def_special sub_8137D0C - def_special sp0E3_walkrun_bitfield_interpretation - def_special sub_8137E6C - def_special sub_8137F44 - def_special sub_8138C04 + def_special GetRecordedCyclingRoadResults + def_special Special_BeginCyclingRoadChallenge + def_special GetPlayerAvatarBike + def_special FinishCyclingRoadChallenge + def_special UpdateCyclingRoadState + def_special GetLeadMonFriendshipScore def_special sub_81A1780 def_special sub_8161F74 def_special sub_818E9AC @@ -256,44 +257,44 @@ gSpecials:: @ 81DBA64 def_special sub_81B9B80 def_special sub_81B9D08 def_special sub_80F9490 - def_special sub_81652B4 + def_special ValidateEReaderTrainer def_special sub_8139228 def_special sub_80F94E8 def_special sub_816AE58 def_special sub_816AE98 - def_special sub_8138C94 + def_special FieldShowRegionMap def_special sub_807E73C def_special sub_807EA10 def_special sub_807F0E4 def_special sub_807E9D4 - def_special sub_8138BDC + def_special GetWeekCount def_special RetrieveLotteryNumber def_special PickLotteryCornerTicket def_special ShowBerryBlenderRecordWindow - def_special sub_8138FEC - def_special sub_8138FD4 - def_special sp109_CreatePCMenu - def_special sub_8137C28 - def_special sub_8137CB4 - def_special sub_8139004 - def_special sub_8139030 - def_special sub_813905C - def_special sub_8139088 - def_special sub_81390B4 + def_special ResetTrickHouseEndRoomFlag + def_special SetTrickHouseEndRoomFlag + def_special ScrSpecial_CreatePCMenu + def_special AccessHallOfFamePC + def_special Special_ShowDiploma + def_special CheckLeadMonCool + def_special CheckLeadMonBeauty + def_special CheckLeadMonCute + def_special CheckLeadMonSmart + def_special CheckLeadMonTough def_special sub_80FB7A4 def_special DoSoftReset - def_special sub_8137734 + def_special GameClear def_special sub_8139A78 def_special nullsub_55 def_special SpawnScriptFieldObject def_special RemoveScriptFieldObject - def_special sub_81391D0 - def_special sub_8139200 + def_special GetPokeblockNameByMonNature + def_special GetSecretBaseNearbyMapName def_special CheckRelicanthWailord def_special ShouldDoBrailleStrengthEffectOld def_special sub_80B0534 def_special sub_80B058C - def_special sub_81379F8 + def_special WaitWeather def_special sub_8139238 def_special sub_8139248 def_special player_get_direction_lower_nybble @@ -301,28 +302,28 @@ gSpecials:: @ 81DBA64 def_special sub_81392D4 def_special sub_81392F8 def_special sub_8139320 - def_special sub_8139348 - def_special sub_8139370 - def_special sub_81393C8 + def_special LeadMonHasEffortRibbon + def_special GiveLeadMonEffortRibbon + def_special Special_AreLeadMonEVsMaxedOut def_special sub_8098574 def_special sub_809859C def_special InitRoamer def_special sub_81393FC - def_special sub_81390E0 + def_special IsGrassTypeInParty def_special sub_80AFC60 - def_special sub_813946C - def_special sub_81394D8 + def_special PutZigzagoonInPlayerParty + def_special IsStarterInParty def_special sub_80E980C - def_special sub_8139530 + def_special ScriptCheckFreePokemonStorageSpace def_special DoSealedChamberShakingEffect1 def_special sub_8139B60 def_special sub_80FAC78 - def_special sub_8139540 + def_special IsPokerusInParty def_special sub_809E1C8 def_special sub_8139560 - def_special sub_80B0A18 - def_special sub_80B0934 - def_special sub_80B0A74 + def_special StartGroudonKyogreBattle + def_special BattleSetup_StartLegendaryBattle + def_special StartRegiBattle def_special sub_80B16D8 def_special DoSealedChamberShakingEffect2 def_special sub_8139634 @@ -332,11 +333,11 @@ gSpecials:: @ 81DBA64 def_special sub_80F8D28 def_special sub_80F8EB8 def_special sub_8162794 - def_special sub_80B08EC - def_special sub_8139648 - def_special sub_8139668 + def_special BattleSetup_StartLatiBattle + def_special SetRoute119Weather + def_special SetRoute123Weather def_special sub_80F8FA0 - def_special sub_81396E0 + def_special ScriptGetPartyMonSpecies def_special sub_81B98DC def_special nullsub_54 def_special sub_80E9B70 @@ -415,7 +416,7 @@ gSpecials:: @ 81DBA64 def_special PutLilycoveContestLadyShowOnTheAir def_special sub_813B880 def_special sub_81A085C - def_special CheckIfMultipleTrainersWantBattle + def_special ShouldTryGetTrainerScript def_special AddMapNamePopUpWindowTask def_special AddMapNamePopUpWindowTask def_special sub_81BE994 @@ -534,4 +535,3 @@ gSpecials:: @ 81DBA64 def_special sub_813C5A0 def_special sub_8139C10 def_special sub_80B3BC4 - diff --git a/data/spinda_spot_graphics.inc b/data/spinda_spot_graphics.inc deleted file mode 100644 index bbe604b828..0000000000 --- a/data/spinda_spot_graphics.inc +++ /dev/null @@ -1,81 +0,0 @@ - .align 2 -gSpindaSpotGraphics:: @ 831E2F0 - .byte 16 @ X - .byte 7 @ Y - .2byte 0b0000000001110000 - .2byte 0b0000000111111100 - .2byte 0b0000001111111110 - .2byte 0b0000011111111110 - .2byte 0b0000011111111111 - .2byte 0b0000111111111111 - .2byte 0b0000111111111111 - .2byte 0b0000111111111111 - .2byte 0b0000011111111110 - .2byte 0b0000011111111110 - .2byte 0b0000001111111100 - .2byte 0b0000000111100000 - .2byte 0b0000000000000000 - .2byte 0b0000000000000000 - .2byte 0b0000000000000000 - .2byte 0b0000000000000000 - .2byte 0b0000000000000000 - - .byte 40 @ X - .byte 8 @ Y - .2byte 0b0000000111100000 - .2byte 0b0000001111111000 - .2byte 0b0000011111111100 - .2byte 0b0000111111111110 - .2byte 0b0000111111111110 - .2byte 0b0001111111111111 - .2byte 0b0001111111111111 - .2byte 0b0001111111111111 - .2byte 0b0000111111111110 - .2byte 0b0000111111111110 - .2byte 0b0000011111111100 - .2byte 0b0000011111111000 - .2byte 0b0000000011100000 - .2byte 0b0000000000000000 - .2byte 0b0000000000000000 - .2byte 0b0000000000000000 - .2byte 0b0000000000000000 - - .byte 22 @ X - .byte 25 @ Y - .2byte 0b0000000000011100 - .2byte 0b0000000000111110 - .2byte 0b0000000001111111 - .2byte 0b0000000001111111 - .2byte 0b0000000001111111 - .2byte 0b0000000001111111 - .2byte 0b0000000001111111 - .2byte 0b0000000000111110 - .2byte 0b0000000000011100 - .2byte 0b0000000000000000 - .2byte 0b0000000000000000 - .2byte 0b0000000000000000 - .2byte 0b0000000000000000 - .2byte 0b0000000000000000 - .2byte 0b0000000000000000 - .2byte 0b0000000000000000 - .2byte 0b0000000000000000 - - .byte 34 @ X - .byte 26 @ Y - .2byte 0b0000000000111100 - .2byte 0b0000000001111110 - .2byte 0b0000000011111111 - .2byte 0b0000000011111111 - .2byte 0b0000000011111111 - .2byte 0b0000000011111111 - .2byte 0b0000000011111111 - .2byte 0b0000000001111110 - .2byte 0b0000000000111100 - .2byte 0b0000000000000000 - .2byte 0b0000000000000000 - .2byte 0b0000000000000000 - .2byte 0b0000000000000000 - .2byte 0b0000000000000000 - .2byte 0b0000000000000000 - .2byte 0b0000000000000000 - .2byte 0b0000000000000000 diff --git a/data/start_menu.s b/data/start_menu.s deleted file mode 100644 index 07e428d0d9..0000000000 --- a/data/start_menu.s +++ /dev/null @@ -1,29 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gSafariBallsWindowTemplate:: @ 8510508 - .incbin "baserom.gba", 0x510508, 0x8 - -gUnknown_08510510:: @ 8510510 - .incbin "baserom.gba", 0x510510, 0x20 - -gPyramidFloorWindowTemplate_2:: @ 8510530 - .incbin "baserom.gba", 0x510530, 0x8 - -gPyramidFloorWindowTemplate_1:: @ 8510538 - .incbin "baserom.gba", 0x510538, 0x8 - -sStartMenuItems:: @ 8510540 - .incbin "baserom.gba", 0x510540, 0x68 - -gUnknown_085105A8:: @ 85105A8 - .incbin "baserom.gba", 0x5105a8, 0x4 - -gUnknown_085105AC:: @ 85105AC - .incbin "baserom.gba", 0x5105ac, 0x10 - -gUnknown_085105BC:: @ 85105BC - .incbin "baserom.gba", 0x5105bc, 0x8 diff --git a/data/starter_choose.s b/data/starter_choose.s new file mode 100644 index 0000000000..92b95d80cf --- /dev/null +++ b/data/starter_choose.s @@ -0,0 +1,159 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + .include "include/constants/species.h" + + .section .rodata + + .align 2 +gBirchBagGrassPal:: @ 85B0A00 + .incbin "graphics/misc/birch_bag.gbapal" + .incbin "graphics/misc/birch_grass.gbapal" + + .align 2 +gBirchBallarrow_Pal:: @ 85B0A40 + .incbin "graphics/misc/birch_ballarrow.gbapal" + + .align 2 +gBirchCircle_Pal:: @ 85B0A60 + .incbin "graphics/misc/birch_circle.gbapal" + + .align 2 +gBirchBagTilemap:: @ 85B0A80 + .incbin "graphics/misc/birch_bag_map.bin.lz" + + .align 2 +gBirchGrassTilemap:: @ 85B0C0C + .incbin "graphics/misc/birch_grass_map.bin.lz" + + .align 2 +gBirchHelpGfx:: @ 85B0E04 + .incbin "graphics/misc/birch_help.4bpp.lz" + + .align 2 +gUnknown_085B18AC:: @ 85B18AC + .incbin "graphics/misc/birch_ballarrow.4bpp.lz" + + .align 2 +gUnknown_085B1BCC:: @ 85B1BCC + .incbin "graphics/misc/birch_circle.4bpp.lz" + + .align 2 +gUnknown_085B1DCC:: @ 85B1DCC + window_template 0x00, 0x03, 0x0f, 0x18, 0x04, 0x0e, 0x0200 + null_window_template + + .align 2 +gUnknown_085B1DDC:: @ 85B1DDC + window_template 0x00, 0x18, 0x09, 0x05, 0x04, 0x0e, 0x0260 + + .align 2 +gUnknown_085B1DE4:: @ 85B1DE4 + window_template 0x00, 0x00, 0x00, 0x0d, 0x04, 0x0e, 0x0274 + +sPokeballCoords:: @ 85B1DEC + .byte 0x3c, 0x40, 0x78, 0x58, 0xb4, 0x40 + +gStarterChoose_LabelCoords:: @ 85B1DF2 + .byte 0x00, 0x09, 0x10, 0x0a, 0x08, 0x04 + +sStarterMon:: @ 85B1DF8 + .2byte SPECIES_TREECKO + .2byte SPECIES_TORCHIC + .2byte SPECIES_MUDKIP + + .align 2 +gUnknown_085B1E00:: @ 85B1E00 + .4byte 0x000001f8, 0x00003072, 0x00001063 + +gUnknown_085B1E0C:: @ 85B1E0C + .byte 0x00, 0x01, 0x03 + + .align 2 +gOamData_85B1E10:: @ 85B1E10 + .2byte 0x00a0, 0x8000, 0x0400, 0x0000 + + .align 2 +gOamData_85B1E18:: @ 85B1E18 + .2byte 0x00a0, 0x8000, 0x0400, 0x0000 + + .align 2 +gOamData_85B1E20:: @ 85B1E20 + .2byte 0x03a0, 0xc000, 0x0400, 0x0000 + +gUnknown_085B1E28:: @ 85B1E28 + .byte 0x3c, 0x20, 0x78, 0x38, 0xb4, 0x20, 0x00, 0x00 + + .align 2 +gSpriteAnim_85B1E30:: @ 85B1E30 + .2byte 0x0030, 0x001e, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_85B1E38:: @ 85B1E38 + .2byte 0x0000, 0x001e, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_85B1E40:: @ 85B1E40 + .2byte 0x0010, 0x0004, 0x0000, 0x0004, 0x0020, 0x0004, 0x0000, 0x0004, 0x0010, 0x0004, 0x0000, 0x0004, 0x0020, 0x0004, 0x0000, 0x0004 + .2byte 0x0000, 0x0020, 0x0010, 0x0008, 0x0000, 0x0008, 0x0020, 0x0008, 0x0000, 0x0008, 0x0010, 0x0008, 0x0000, 0x0008, 0x0020, 0x0008 + .2byte 0x0000, 0x0008, 0xfffe, 0x0000 + + .align 2 +gSpriteAnim_85B1E88:: @ 85B1E88 + .2byte 0x0000, 0x0008, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_85B1E90:: @ 85B1E90 + .4byte gSpriteAnim_85B1E30 + + .align 2 +gSpriteAnimTable_85B1E94:: @ 85B1E94 + .4byte gSpriteAnim_85B1E38 + .4byte gSpriteAnim_85B1E40 + + .align 2 +gSpriteAnimTable_85B1E9C:: @ 85B1E9C + .4byte gSpriteAnim_85B1E88 + + .align 2 +gSpriteAffineAnim_85B1EA0:: @ 85B1EA0 + .2byte 0x0010, 0x0010, 0x0000, 0x0000, 0x0010, 0x0010, 0x0f00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_85B1EB8:: @ 85B1EB8 + .2byte 0x0014, 0x0014, 0x0000, 0x0000, 0x0014, 0x0014, 0x0f00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_085B1ED0:: @ 85B1ED0 + .4byte gSpriteAffineAnim_85B1EA0 + + .align 2 +gSpriteAffineAnimTable_85B1ED4:: @ 85B1ED4 + .4byte gSpriteAffineAnim_85B1EB8 + + .align 2 +gUnknown_085B1ED8:: @ 85B1ED8 + obj_tiles gUnknown_085B18AC, 0x0800, 0x1000 + null_obj_tiles + + .align 2 +gUnknown_085B1EE8:: @ 85B1EE8 + obj_tiles gUnknown_085B1BCC, 0x0800, 0x1001 + null_obj_tiles + + .align 2 +gUnknown_085B1EF8:: @ 85B1EF8 + obj_pal gBirchBallarrow_Pal, 0x1000 + obj_pal gBirchCircle_Pal, 0x1001 + null_obj_pal + + .align 2 +sSpriteTemplate_Hand:: @ 85B1F10 + spr_template 0x1000, 0x1000, gOamData_85B1E10, gSpriteAnimTable_85B1E90, NULL, gDummySpriteAffineAnimTable, sub_81346DC + + .align 2 +sSpriteTemplate_PokeBall:: @ 85B1F28 + spr_template 0x1000, 0x1000, gOamData_85B1E18, gSpriteAnimTable_85B1E94, NULL, gDummySpriteAffineAnimTable, sub_813473C + + .align 2 +gUnknown_085B1F40:: @ 85B1F40 + spr_template 0x1001, 0x1001, gOamData_85B1E20, gSpriteAnimTable_85B1E9C, NULL, gSpriteAffineAnimTable_85B1ED4, StarterPokemonSpriteCallback diff --git a/data/strings.s b/data/strings.s index 2b88c6d035..75b430dd12 100644 --- a/data/strings.s +++ b/data/strings.s @@ -2,7 +2,7 @@ .include "constants/constants.inc" .section .rodata - + gExpandedPlaceholder_Empty:: @ 85E8218 .string "$" @@ -139,17 +139,14 @@ gUnknown_085E852C:: @ 85E852C .string "CONTROLS$" .align 2 - gUnknown_085E8538:: @ 85E8538 .string "{UNK_CTRL_F80A}PICK {UNK_CTRL_F800}OK$" .align 2 - gUnknown_085E8544:: @ 85E8544 .string "{UNK_CTRL_F800}NEXT$" .align 2 - gUnknown_085E854C:: @ 85E854C .string "{UNK_CTRL_F800}NEXT {UNK_CTRL_F801}BACK$" @@ -534,25 +531,25 @@ gUnknown_085E8CAC:: @ 85E8CAC gText_FlyToWhere:: @ 85E8CB4 .string "FLY to where?$" -gUnknown_085E8CC2:: @ 85E8CC2 +gMenuText_Use:: @ 85E8CC2 .string "USE$" -gUnknown_085E8CC6:: @ 85E8CC6 +gMenuText_Toss:: @ 85E8CC6 .string "TOSS$" -gUnknown_085E8CCB:: @ 85E8CCB +gMenuText_Register:: @ 85E8CCB .string "REGISTER$" -gUnknown_085E8CD4:: @ 85E8CD4 +gMenuText_Give:: @ 85E8CD4 .string "GIVE$" -gUnknown_085E8CD9:: @ 85E8CD9 +gMenuText_CheckTag:: @ 85E8CD9 .string "CHECK TAG$" -gText_Confirm:: @ 85E8CE3 +gMenuText_Confirm:: @ 85E8CE3 .string "CONFIRM$" -gUnknown_085E8CEB:: @ 85E8CEB +gMenuText_Walk:: @ 85E8CEB .string "WALK$" gText_Cancel:: @ 85E8CF0 @@ -561,7 +558,7 @@ gText_Cancel:: @ 85E8CF0 gText_Cancel2:: @ 85E8CF7 .string "CANCEL$" -gUnknown_085E8CFE:: @ 85E8CFE +gMenuText_Show:: @ 85E8CFE .string "SHOW$" gText_EmptyString2:: @ 85E8D03 @@ -570,25 +567,25 @@ gText_EmptyString2:: @ 85E8D03 gUnknown_085E8D04:: @ 85E8D04 .string "CANCEL$" -gUnknown_085E8D0B:: @ 85E8D0B +gText_Item:: @ 85E8D0B .string "ITEM$" -gUnknown_085E8D10:: @ 85E8D10 +gText_Mail:: @ 85E8D10 .string "MAIL$" -gUnknown_085E8D15:: @ 85E8D15 +gText_Take:: @ 85E8D15 .string "TAKE$" -gUnknown_085E8D1A:: @ 85E8D1A +gText_Store:: @ 85E8D1A .string "STORE$" -gUnknown_085E8D20:: @ 85E8D20 +gMenuText_Check:: @ 85E8D20 .string "CHECK$" gText_None:: @ 85E8D26 .string "NONE$" -gUnknown_085E8D2B:: @ 85E8D2B +gMenuText_Deselect:: @ 85E8D2B .string "DESELECT$" gText_ThreeMarks:: @ 85E8D34 @@ -642,7 +639,7 @@ gText_GoBackPrevMenu:: @ 85E8D62 gText_WhatWouldYouLike:: @ 85E8D80 .string "What would you like to do?$" -gUnknown_085E8D9B:: @ 85E8D9B +gMenuText_Give2:: @ 85E8D9B .string "GIVE$" gText_xVar1:: @ 85E8DA0 @@ -832,46 +829,46 @@ gText_UnkF908Var1Var2:: @ 85E9263 gText_BerryTag:: @ 85E926B .string "BERRY TAG$" -gUnknown_085E9275:: @ 85E9275 +gText_RedPokeblock:: @ 85E9275 .string "RED {POKEBLOCK}$" -gUnknown_085E927F:: @ 85E927F +gText_BluePokeblock:: @ 85E927F .string "BLUE {POKEBLOCK}$" -gUnknown_085E928A:: @ 85E928A +gText_PinkPokeblock:: @ 85E928A .string "PINK {POKEBLOCK}$" -gUnknown_085E9295:: @ 85E9295 +gText_GreenPokeblock:: @ 85E9295 .string "GREEN {POKEBLOCK}$" -gUnknown_085E92A1:: @ 85E92A1 +gText_YellowPokeblock:: @ 85E92A1 .string "YELLOW {POKEBLOCK}$" -gUnknown_085E92AE:: @ 85E92AE +gText_PurplePokeblock:: @ 85E92AE .string "PURPLE {POKEBLOCK}$" -gUnknown_085E92BB:: @ 85E92BB +gText_IndigoPokeblock:: @ 85E92BB .string "INDIGO {POKEBLOCK}$" -gUnknown_085E92C8:: @ 85E92C8 +gText_BrownPokeblock:: @ 85E92C8 .string "BROWN {POKEBLOCK}$" -gUnknown_085E92D4:: @ 85E92D4 +gText_LiteBluePokeblock:: @ 85E92D4 .string "LITEBLUE {POKEBLOCK}$" -gUnknown_085E92E3:: @ 85E92E3 +gText_OlivePokeblock:: @ 85E92E3 .string "OLIVE {POKEBLOCK}$" -gUnknown_085E92EF:: @ 85E92EF +gText_GrayPokeblock:: @ 85E92EF .string "GRAY {POKEBLOCK}$" -gUnknown_085E92FA:: @ 85E92FA +gText_BlackPokeblock:: @ 85E92FA .string "BLACK {POKEBLOCK}$" -gUnknown_085E9306:: @ 85E9306 +gText_WhitePokeblock:: @ 85E9306 .string "WHITE {POKEBLOCK}$" -gUnknown_085E9312:: @ 85E9312 +gText_GoldPokeblock:: @ 85E9312 .string "GOLD {POKEBLOCK}$" gText_Spicy:: @ 85E931D @@ -988,34 +985,34 @@ gText_TurnedOverVar1ForVar2:: @ 85E9677 gText_PokedollarVar1:: @ 85E969C .string "¥{STR_VAR_1}$" -gUnknown_085E96A0:: @ 85E96A0 +gText_Shift:: @ 85E96A0 .string "SHIFT$" -gUnknown_085E96A6:: @ 85E96A6 +gText_SendOut:: @ 85E96A6 .string "SEND OUT$" -gUnknown_085E96AF:: @ 85E96AF +gText_Switch2:: @ 85E96AF .string "SWITCH$" -gUnknown_085E96B6:: @ 85E96B6 +gText_Summary5:: @ 85E96B6 .string "SUMMARY$" gUnknown_085E96BE:: @ 85E96BE .string "MOVES$" -gUnknown_085E96C4:: @ 85E96C4 +gText_Enter:: @ 85E96C4 .string "ENTER$" -gUnknown_085E96CA:: @ 85E96CA +gText_NoEntry:: @ 85E96CA .string "NO ENTRY$" -gUnknown_085E96D3:: @ 85E96D3 +gText_Take2:: @ 85E96D3 .string "TAKE$" -gUnknown_085E96D8:: @ 85E96D8 +gText_Read2:: @ 85E96D8 .string "READ$" -gUnknown_085E96DD:: @ 85E96DD +gText_Trade4:: @ 85E96DD .string "TRADE$" gText_HP3:: @ 85E96E3 @@ -1340,28 +1337,23 @@ gText_EggCantBeTradedNow:: @ 85EA234 .string "An EGG can’t be traded now.$" .align 2 - -gUnknown_085EA250:: @ 85EA250 +gText_OtherTrainersPkmnCantBeTraded:: @ 85EA250 .string "The other TRAINER’s POKéMON\ncan’t be traded now.$" .align 2 - -gUnknown_085EA284:: @ 85EA284 +gText_OtherTrainerCantAcceptPkmn:: @ 85EA284 .string "The other TRAINER can’t accept\nthat POKéMON now.$" .align 2 - -gUnknown_085EA2B8:: @ 85EA2B8 +gText_CantTradeWithTrainer:: @ 85EA2B8 .string "You can’t trade with that\nTRAINER now.$" .align 2 - -gUnknown_085EA2E0:: @ 85EA2E0 +gText_NotPkmnOtherTrainerWants:: @ 85EA2E0 .string "That isn’t the type of POKéMON\nthat the other TRAINER wants.$" .align 2 - -gUnknown_085EA320:: @ 85EA320 +gText_ThatIsntAnEgg:: @ 85EA320 .string "That isn’t an EGG.$" gText_Register:: @ 85EA333 @@ -1619,16 +1611,16 @@ gText_DecorationReturnedToPC:: @ 85EAAC5 gText_NoDecorationsInUse:: @ 85EAAEC .string "There are no decorations in use.{PAUSE_UNTIL_PRESS}$" -gUnknown_085EAB0F:: @ 85EAB0F +gText_Tristan:: @ 85EAB0F .string "TRISTAN$" -gUnknown_085EAB17:: @ 85EAB17 +gText_Philip:: @ 85EAB17 .string "PHILIP$" -gUnknown_085EAB1E:: @ 85EAB1E +gText_Dennis:: @ 85EAB1E .string "DENNIS$" -gUnknown_085EAB25:: @ 85EAB25 +gText_Roberto:: @ 85EAB25 .string "ROBERTO$" gText_TurnOff:: @ 85EAB2D @@ -1946,7 +1938,7 @@ gUnknown_085EB057:: @ 85EB057 gUnknown_085EB062:: @ 85EB062 .string "GREEN SHARD$" -gUnknown_085EB06E:: @ 85EB06E +gText_BattleFrontier:: @ 85EB06E .string "BATTLE FRONTIER$" gUnknown_085EB07E:: @ 85EB07E @@ -1985,46 +1977,46 @@ gText_Smart:: @ 85EB0F9 gText_Tough:: @ 85EB0FF .string "TOUGH$" -gUnknown_085EB105:: @ 85EB105 +gText_Normal:: @ 85EB105 .string "NORMAL$" -gUnknown_085EB10C:: @ 85EB10C +gText_Super:: @ 85EB10C .string "SUPER$" -gUnknown_085EB112:: @ 85EB112 +gText_Hyper:: @ 85EB112 .string "HYPER$" -gUnknown_085EB118:: @ 85EB118 +gText_Master:: @ 85EB118 .string "MASTER$" -gUnknown_085EB11F:: @ 85EB11F +gText_Cool2:: @ 85EB11F .string "COOL$" -gUnknown_085EB124:: @ 85EB124 +gText_Beauty2:: @ 85EB124 .string "BEAUTY$" -gUnknown_085EB12B:: @ 85EB12B +gText_Cute2:: @ 85EB12B .string "CUTE$" -gUnknown_085EB130:: @ 85EB130 +gText_Smart2:: @ 85EB130 .string "SMART$" -gUnknown_085EB136:: @ 85EB136 +gText_Tough2:: @ 85EB136 .string "TOUGH$" -gUnknown_085EB13C:: @ 85EB13C +gText_Items:: @ 85EB13C .string "ITEMS$" -gUnknown_085EB142:: @ 85EB142 +gText_Key_Items:: @ 85EB142 .string "KEY ITEMS$" -gUnknown_085EB14C:: @ 85EB14C +gText_Poke_Balls:: @ 85EB14C .string "POKé BALLS$" -gUnknown_085EB157:: @ 85EB157 +gText_TMs_Hms:: @ 85EB157 .string "TMs & HMs$" -gUnknown_085EB161:: @ 85EB161 +gText_Berries2:: @ 85EB161 .string "BERRIES$" gText_SomeonesPC:: @ 85EB169 @@ -2042,58 +2034,58 @@ gText_HallOfFame:: @ 85EB18B gText_LogOff:: @ 85EB198 .string "LOG OFF$" -gUnknown_085EB1A0:: @ 85EB1A0 +gText_Opponent:: @ 85EB1A0 .string "OPPONENT$" -gUnknown_085EB1A9:: @ 85EB1A9 +gText_Tourney_Tree:: @ 85EB1A9 .string "TOURNEY TREE$" -gUnknown_085EB1B6:: @ 85EB1B6 +gText_ReadyToStart:: @ 85EB1B6 .string "READY TO START$" -gUnknown_085EB1C5:: @ 85EB1C5 +gText_NormalRank:: @ 85EB1C5 .string "NORMAL RANK$" -gUnknown_085EB1D1:: @ 85EB1D1 +gText_SuperRank:: @ 85EB1D1 .string "SUPER RANK$" -gUnknown_085EB1DC:: @ 85EB1DC +gText_HyperRank:: @ 85EB1DC .string "HYPER RANK$" -gUnknown_085EB1E7:: @ 85EB1E7 +gText_MasterRank:: @ 85EB1E7 .string "MASTER RANK$" -gUnknown_085EB1F3:: @ 85EB1F3 +gText_Single2:: @ 85EB1F3 .string "SINGLE$" -gUnknown_085EB1FA:: @ 85EB1FA +gText_Double2:: @ 85EB1FA .string "DOUBLE$" -gUnknown_085EB201:: @ 85EB201 +gText_Multi:: @ 85EB201 .string "MULTI$" -gUnknown_085EB207:: @ 85EB207 +gText_MultiLink:: @ 85EB207 .string "MULTI-LINK$" -gUnknown_085EB212:: @ 85EB212 +gText_BattleBag:: @ 85EB212 .string "BATTLE BAG$" -gUnknown_085EB21D:: @ 85EB21D +gText_HeldItem:: @ 85EB21D .string "HELD ITEM$" -gUnknown_085EB227:: @ 85EB227 +gText_LinkContest:: @ 85EB227 .string "LINK CONTEST$" -gUnknown_085EB234:: @ 85EB234 +gText_AboutE_Mode:: @ 85EB234 .string "ABOUT E-MODE$" -gUnknown_085EB241:: @ 85EB241 +gText_AboutG_Mode:: @ 85EB241 .string "ABOUT G-MODE$" -gUnknown_085EB24E:: @ 85EB24E +gText_E_Mode:: @ 85EB24E .string "E-MODE$" -gUnknown_085EB255:: @ 85EB255 +gText_G_Mode:: @ 85EB255 .string "G-MODE$" gText_MenuOptionPokedex:: @ 85EB25C @@ -2138,16 +2130,16 @@ gUnknown_085EB29A:: @ 85EB29A gUnknown_085EB2A3:: @ 85EB2A3 .string "BLUE TENT$" -gUnknown_085EB2AD:: @ 85EB2AD +gText_SouthernIsland:: @ 85EB2AD .string "SOUTHERN ISLAND$" -gUnknown_085EB2BD:: @ 85EB2BD +gText_BirthIsland:: @ 85EB2BD .string "BIRTH ISLAND$" -gUnknown_085EB2CA:: @ 85EB2CA +gText_FarawayIsland:: @ 85EB2CA .string "FARAWAY ISLAND$" -gUnknown_085EB2D9:: @ 85EB2D9 +gText_NavelRock:: @ 85EB2D9 .string "NAVEL ROCK$" gUnknown_085EB2E4:: @ 85EB2E4 @@ -2282,19 +2274,19 @@ gUnknown_085EB4D4:: @ 85EB4D4 gUnknown_085EB4E0:: @ 85EB4E0 .string "OPEN LEVEL$" -gUnknown_085EB4EB:: @ 85EB4EB +gText_BattleBasics:: @ 85EB4EB .string "BATTLE BASICS$" -gUnknown_085EB4F9:: @ 85EB4F9 +gText_PokemonNature:: @ 85EB4F9 .string "POKéMON NATURE$" -gUnknown_085EB508:: @ 85EB508 +gText_PokemonMoves:: @ 85EB508 .string "POKéMON MOVES$" -gUnknown_085EB516:: @ 85EB516 +gText_Underpowered:: @ 85EB516 .string "UNDERPOWERED$" -gUnknown_085EB523:: @ 85EB523 +gText_WhenInDanger:: @ 85EB523 .string "WHEN IN DANGER$" gUnknown_085EB532:: @ 85EB532 @@ -2321,7 +2313,7 @@ gUnknown_085EB589:: @ 85EB589 gUnknown_085EB597:: @ 85EB597 .string "BATTLE POKéMON$" -gUnknown_085EB5A6:: @ 85EB5A6 +gText_BattleTrainers:: @ 85EB5A6 .string "BATTLE TRAINERS$" gUnknown_085EB5B6:: @ 85EB5B6 @@ -2363,73 +2355,73 @@ gText_Son:: @ 85EB60A gText_Daughter:: @ 85EB60E .string "daughter$" -gUnknown_085EB617:: @ 85EB617 +gText_BlueFlute:: @ 85EB617 .string "BLUE FLUTE$" -gUnknown_085EB622:: @ 85EB622 +gText_YellowFlute:: @ 85EB622 .string "YELLOW FLUTE$" -gUnknown_085EB62F:: @ 85EB62F +gText_RedFlute:: @ 85EB62F .string "RED FLUTE$" -gUnknown_085EB639:: @ 85EB639 +gText_WhiteFlute:: @ 85EB639 .string "WHITE FLUTE$" -gUnknown_085EB645:: @ 85EB645 +gText_BlackFlute:: @ 85EB645 .string "BLACK FLUTE$" -gUnknown_085EB651:: @ 85EB651 +gText_PrettyChair:: @ 85EB651 .string "PRETTY CHAIR$" -gUnknown_085EB65E:: @ 85EB65E +gText_PrettyDesk:: @ 85EB65E .string "PRETTY DESK$" -gUnknown_085EB66A:: @ 85EB66A +gText_1F:: @ 85EB66A .string "1F$" -gUnknown_085EB66D:: @ 85EB66D +gText_2F:: @ 85EB66D .string "2F$" -gUnknown_085EB670:: @ 85EB670 +gText_3F:: @ 85EB670 .string "3F$" -gUnknown_085EB673:: @ 85EB673 +gText_4F:: @ 85EB673 .string "4F$" -gUnknown_085EB676:: @ 85EB676 +gText_5F:: @ 85EB676 .string "5F$" -gUnknown_085EB679:: @ 85EB679 +gText_6F:: @ 85EB679 .string "6F$" -gUnknown_085EB67C:: @ 85EB67C +gText_7F:: @ 85EB67C .string "7F$" -gUnknown_085EB67F:: @ 85EB67F +gText_8F:: @ 85EB67F .string "8F$" -gUnknown_085EB682:: @ 85EB682 +gText_9F:: @ 85EB682 .string "9F$" -gUnknown_085EB685:: @ 85EB685 +gText_10F:: @ 85EB685 .string "10F$" -gUnknown_085EB689:: @ 85EB689 +gText_11F:: @ 85EB689 .string "11F$" -gUnknown_085EB68D:: @ 85EB68D +gText_B1F:: @ 85EB68D .string "B1F$" -gUnknown_085EB691:: @ 85EB691 +gText_B2F:: @ 85EB691 .string "B2F$" -gUnknown_085EB695:: @ 85EB695 +gText_B3F:: @ 85EB695 .string "B3F$" -gUnknown_085EB699:: @ 85EB699 +gText_B4F:: @ 85EB699 .string "B4F$" -gUnknown_085EB69D:: @ 85EB69D +gText_Rooftop:: @ 85EB69D .string "ROOFTOP$" gText_ElevatorNowOn:: @ 85EB6A5 @@ -2438,301 +2430,301 @@ gText_ElevatorNowOn:: @ 85EB6A5 gText_BP:: @ 85EB6AD .string "BP$" -gUnknown_085EB6B0:: @ 85EB6B0 +gText_EnergyPowder50:: @ 85EB6B0 .string "ENERGYPOWDER{CLEAR_TO 0x72}{SIZE 0}50$" -gUnknown_085EB6C5:: @ 85EB6C5 +gText_EnergyRoot80:: @ 85EB6C5 .string "ENERGY ROOT{CLEAR_TO 0x72}{SIZE 0}80$" -gUnknown_085EB6D9:: @ 85EB6D9 +gText_HealPowder50:: @ 85EB6D9 .string "HEAL POWDER{CLEAR_TO 0x72}{SIZE 0}50$" -gUnknown_085EB6ED:: @ 85EB6ED +gText_RevivalHerb300:: @ 85EB6ED .string "REVIVAL HERB{CLEAR_TO 0x6C}{SIZE 0}300$" -gUnknown_085EB703:: @ 85EB703 +gText_Protein1000:: @ 85EB703 .string "PROTEIN{CLEAR_TO 0x63}{SIZE 0}1,000$" -gUnknown_085EB716:: @ 85EB716 +gText_Iron1000:: @ 85EB716 .string "IRON{CLEAR_TO 0x63}{SIZE 0}1,000$" -gUnknown_085EB726:: @ 85EB726 +gText_Carbos1000:: @ 85EB726 .string "CARBOS{CLEAR_TO 0x63}{SIZE 0}1,000$" -gUnknown_085EB738:: @ 85EB738 +gText_Calcium1000:: @ 85EB738 .string "CALCIUM{CLEAR_TO 0x63}{SIZE 0}1,000$" -gUnknown_085EB74B:: @ 85EB74B +gText_Zinc1000:: @ 85EB74B .string "ZINC{CLEAR_TO 0x63}{SIZE 0}1,000$" -gUnknown_085EB75B:: @ 85EB75B +gText_HPUp1000:: @ 85EB75B .string "HP UP{CLEAR_TO 0x63}{SIZE 0}1,000$" -gUnknown_085EB76C:: @ 85EB76C +gText_PPUp3000:: @ 85EB76C .string "PP UP{CLEAR_TO 0x63}{SIZE 0}3,000$" -gUnknown_085EB77D:: @ 85EB77D +gText_RankingHall:: @ 85EB77D .string "RANKING HALL$" -gUnknown_085EB78A:: @ 85EB78A +gText_ExchangeService:: @ 85EB78A .string "EXCHANGE SERVICE$" -gUnknown_085EB79B:: @ 85EB79B +gText_LilycoveCity:: @ 85EB79B .string "LILYCOVE CITY$" -gUnknown_085EB7A9:: @ 85EB7A9 +gText_SlateportCity:: @ 85EB7A9 .string "SLATEPORT CITY$" -gUnknown_085EB7B8:: @ 85EB7B8 +gText_CaveOfOrigin:: @ 85EB7B8 .string "CAVE OF ORIGIN$" -gUnknown_085EB7C7:: @ 85EB7C7 +gText_MtPyre:: @ 85EB7C7 .string "MT. PYRE$" -gUnknown_085EB7D0:: @ 85EB7D0 +gText_SkyPillar:: @ 85EB7D0 .string "SKY PILLAR$" -gUnknown_085EB7DB:: @ 85EB7DB +gText_DontRemember:: @ 85EB7DB .string "Don’t remember$" gText_Exit:: @ 85EB7EA .string "EXIT$" -gUnknown_085EB7EF:: @ 85EB7EF +gText_ExitFromBox:: @ 85EB7EF .string "Exit from the BOX?$" -gUnknown_085EB802:: @ 85EB802 +gText_WhatDoYouWantToDo:: @ 85EB802 .string "What do you want to do?$" -gUnknown_085EB81A:: @ 85EB81A +gText_PleasePickATheme:: @ 85EB81A .string "Please pick a theme.$" -gUnknown_085EB82F:: @ 85EB82F +gText_PickTheWallpaper:: @ 85EB82F .string "Pick the wallpaper.$" -gUnknown_085EB843:: @ 85EB843 +gText_PkmnIsSelected:: @ 85EB843 .string "{SPECIAL_F7 0x00} is selected.$" -gUnknown_085EB853:: @ 85EB853 +gText_JumpToWhichBox:: @ 85EB853 .string "Jump to which BOX?$" -gUnknown_085EB866:: @ 85EB866 +gText_DepositInWhichBox:: @ 85EB866 .string "Deposit in which BOX?$" -gUnknown_085EB87C:: @ 85EB87C +gText_PkmnWasDeposited:: @ 85EB87C .string "{SPECIAL_F7 0x00} was deposited.$" -gUnknown_085EB88E:: @ 85EB88E +gText_BoxIsFull2:: @ 85EB88E .string "The BOX is full.$" -gUnknown_085EB89F:: @ 85EB89F +gText_ReleaseThisPokemon:: @ 85EB89F .string "Release this POKéMON?$" -gUnknown_085EB8B5:: @ 85EB8B5 +gText_PkmnWasReleased:: @ 85EB8B5 .string "{SPECIAL_F7 0x00} was released.$" -gUnknown_085EB8C6:: @ 85EB8C6 +gText_ByeByePkmn:: @ 85EB8C6 .string "Bye-bye, {SPECIAL_F7 0x00}!$" -gUnknown_085EB8D3:: @ 85EB8D3 +gText_MarkYourPkmn:: @ 85EB8D3 .string "Mark your POKéMON.$" -gUnknown_085EB8E6:: @ 85EB8E6 +gText_ThatsYourLastPkmn:: @ 85EB8E6 .string "That’s your last POKéMON!$" -gUnknown_085EB900:: @ 85EB900 +gText_YourPartysFull:: @ 85EB900 .string "Your party’s full!$" -gUnknown_085EB913:: @ 85EB913 +gText_YoureHoldingAPkmn:: @ 85EB913 .string "You’re holding a POKéMON!$" -gUnknown_085EB92D:: @ 85EB92D +gText_WhichOneWillYouTake:: @ 85EB92D .string "Which one will you take?$" -gUnknown_085EB946:: @ 85EB946 +gText_YouCantReleaseAnEgg:: @ 85EB946 .string "You can’t release an EGG.$" -gUnknown_085EB960:: @ 85EB960 +gText_ContinueBoxOperations:: @ 85EB960 .string "Continue BOX operations?$" -gUnknown_085EB979:: @ 85EB979 +gText_PkmnCameBack:: @ 85EB979 .string "{SPECIAL_F7 0x00} came back!$" -gUnknown_085EB987:: @ 85EB987 +gText_WasItWorriedAboutYou:: @ 85EB987 .string "Was it worried about you?$" -gUnknown_085EB9A1:: @ 85EB9A1 +gText_FourEllipsesExclamation:: @ 85EB9A1 .string "… … … … !$" -gUnknown_085EB9AB:: @ 85EB9AB +gText_PleaseRemoveTheMail:: @ 85EB9AB .string "Please remove the MAIL.$" -gUnknown_085EB9C3:: @ 85EB9C3 +gText_GiveToAPkmn:: @ 85EB9C3 .string "GIVE to a POKéMON?$" -gUnknown_085EB9D6:: @ 85EB9D6 +gText_PlacedItemInBag:: @ 85EB9D6 .string "Placed item in the BAG.$" -gUnknown_085EB9EE:: @ 85EB9EE +gText_BagIsFull2:: @ 85EB9EE .string "The BAG is full.$" -gUnknown_085EB9FF:: @ 85EB9FF +gText_PutItemInBag:: @ 85EB9FF .string "Put this item in the BAG?$" -gUnknown_085EBA19:: @ 85EBA19 +gText_ItemIsNowHeld:: @ 85EBA19 .string "{SPECIAL_F7 0x00} is now held.$" -gUnknown_085EBA29:: @ 85EBA29 +gText_ChangedToNewItem:: @ 85EBA29 .string "Changed to {SPECIAL_F7 0x00}.$" -gUnknown_085EBA38:: @ 85EBA38 +gText_MailCantBeStored:: @ 85EBA38 .string "MAIL can’t be stored!$" -gUnknown_085EBA4E:: @ 85EBA4E +gPCText_Cancel:: @ 85EBA4E .string "CANCEL$" -gUnknown_085EBA55:: @ 85EBA55 +gPCText_Store:: @ 85EBA55 .string "STORE$" -gUnknown_085EBA5B:: @ 85EBA5B +gPCText_Withdraw:: @ 85EBA5B .string "WITHDRAW$" -gUnknown_085EBA64:: @ 85EBA64 +gPCText_Shift:: @ 85EBA64 .string "SHIFT$" -gUnknown_085EBA6A:: @ 85EBA6A +gPCText_Move:: @ 85EBA6A .string "MOVE$" -gUnknown_085EBA6F:: @ 85EBA6F +gPCText_Place:: @ 85EBA6F .string "PLACE$" -gUnknown_085EBA75:: @ 85EBA75 +gPCText_Summary:: @ 85EBA75 .string "SUMMARY$" -gUnknown_085EBA7D:: @ 85EBA7D +gPCText_Release:: @ 85EBA7D .string "RELEASE$" -gUnknown_085EBA85:: @ 85EBA85 +gPCText_Mark:: @ 85EBA85 .string "MARK$" -gUnknown_085EBA8A:: @ 85EBA8A +gPCText_Name:: @ 85EBA8A .string "NAME$" -gUnknown_085EBA8F:: @ 85EBA8F +gPCText_Jump:: @ 85EBA8F .string "JUMP$" -gUnknown_085EBA94:: @ 85EBA94 +gPCText_Wallpaper:: @ 85EBA94 .string "WALLPAPER$" -gUnknown_085EBA9E:: @ 85EBA9E +gPCText_Take:: @ 85EBA9E .string "TAKE$" -gUnknown_085EBAA3:: @ 85EBAA3 +gPCText_Give:: @ 85EBAA3 .string "GIVE$" -gUnknown_085EBAA8:: @ 85EBAA8 +gPCText_Switch:: @ 85EBAA8 .string "SWITCH$" -gUnknown_085EBAAF:: @ 85EBAAF +gPCText_Bag:: @ 85EBAAF .string "BAG$" -gUnknown_085EBAB3:: @ 85EBAB3 +gPCText_Info:: @ 85EBAB3 .string "INFO$" -gUnknown_085EBAB8:: @ 85EBAB8 +gPCText_Scenery1:: @ 85EBAB8 .string "SCENERY 1$" -gUnknown_085EBAC2:: @ 85EBAC2 +gPCText_Scenery2:: @ 85EBAC2 .string "SCENERY 2$" -gUnknown_085EBACC:: @ 85EBACC +gPCText_Scenery3:: @ 85EBACC .string "SCENERY 3$" -gUnknown_085EBAD6:: @ 85EBAD6 +gPCText_Etcetera:: @ 85EBAD6 .string "ETCETERA$" -gUnknown_085EBADF:: @ 85EBADF +gPCText_Friends:: @ 85EBADF .string "FRIENDS$" -gUnknown_085EBAE7:: @ 85EBAE7 +gPCText_Forest:: @ 85EBAE7 .string "FOREST$" -gUnknown_085EBAEE:: @ 85EBAEE +gPCText_City:: @ 85EBAEE .string "CITY$" -gUnknown_085EBAF3:: @ 85EBAF3 +gPCText_Desert:: @ 85EBAF3 .string "DESERT$" -gUnknown_085EBAFA:: @ 85EBAFA +gPCText_Savanna:: @ 85EBAFA .string "SAVANNA$" -gUnknown_085EBB02:: @ 85EBB02 +gPCText_Crag:: @ 85EBB02 .string "CRAG$" -gUnknown_085EBB07:: @ 85EBB07 +gPCText_Volcano:: @ 85EBB07 .string "VOLCANO$" -gUnknown_085EBB0F:: @ 85EBB0F +gPCText_Snow:: @ 85EBB0F .string "SNOW$" -gUnknown_085EBB14:: @ 85EBB14 +gPCText_Cave:: @ 85EBB14 .string "CAVE$" -gUnknown_085EBB19:: @ 85EBB19 +gPCText_Beach:: @ 85EBB19 .string "BEACH$" -gUnknown_085EBB1F:: @ 85EBB1F +gPCText_Seafloor:: @ 85EBB1F .string "SEAFLOOR$" -gUnknown_085EBB28:: @ 85EBB28 +gPCText_River:: @ 85EBB28 .string "RIVER$" -gUnknown_085EBB2E:: @ 85EBB2E +gPCText_Sky:: @ 85EBB2E .string "SKY$" -gUnknown_085EBB32:: @ 85EBB32 +gPCText_PolkaDot:: @ 85EBB32 .string "POLKA-DOT$" -gUnknown_085EBB3C:: @ 85EBB3C +gPCText_Pokecenter:: @ 85EBB3C .string "POKéCENTER$" -gUnknown_085EBB47:: @ 85EBB47 +gPCText_Machine:: @ 85EBB47 .string "MACHINE$" -gUnknown_085EBB4F:: @ 85EBB4F +gPCText_Simple:: @ 85EBB4F .string "SIMPLE$" gUnknown_085EBB56:: @ 85EBB56 .string "What would you like to do?$" -gUnknown_085EBB71:: @ 85EBB71 +gText_WithdrawPokemon:: @ 85EBB71 .string "WITHDRAW POKéMON$" -gUnknown_085EBB82:: @ 85EBB82 +gText_DepositPokemon:: @ 85EBB82 .string "DEPOSIT POKéMON$" -gUnknown_085EBB92:: @ 85EBB92 +gText_MovePokemon:: @ 85EBB92 .string "MOVE POKéMON$" -gUnknown_085EBB9F:: @ 85EBB9F +gText_MoveItems:: @ 85EBB9F .string "MOVE ITEMS$" -gUnknown_085EBBAA:: @ 85EBBAA +gText_SeeYa:: @ 85EBBAA .string "SEE YA!$" -gUnknown_085EBBB2:: @ 85EBBB2 +gText_WithdrawMonDescription:: @ 85EBBB2 .string "Move POKéMON stored in BOXES to\nyour party.$" -gUnknown_085EBBDE:: @ 85EBBDE +gText_DepositMonDescription:: @ 85EBBDE .string "Store POKéMON in your party in BOXES.$" -gUnknown_085EBC04:: @ 85EBC04 +gText_MoveMonDescription:: @ 85EBC04 .string "Organize the POKéMON in BOXES and\nin your party.$" -gUnknown_085EBC35:: @ 85EBC35 +gText_MoveItemsDescription:: @ 85EBC35 .string "Move items held by any POKéMON\nin a BOX or your party.$" -gUnknown_085EBC6C:: @ 85EBC6C +gText_SeeYaDescription:: @ 85EBC6C .string "Return to the previous menu.$" gText_JustOnePkmn:: @ 85EBC89 @@ -2906,112 +2898,112 @@ gUnknown_085EC04F:: @ 85EC04F gUnknown_085EC063:: @ 85EC063 .string "{SPECIAL_F7 0x00}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}$" -gUnknown_085EC06C:: @ 85EC06C +gText_CombineFourWordsOrPhrases:: @ 85EC06C .string "Combine four words or phrases$" -gUnknown_085EC08A:: @ 85EC08A +gText_AndMakeYourProfile:: @ 85EC08A .string "and make your profile.$" -gUnknown_085EC0A1:: @ 85EC0A1 +gText_CombineSixWordsOrPhrases:: @ 85EC0A1 .string "Combine six words or phrases$" -gUnknown_085EC0BE:: @ 85EC0BE +gText_AndMakeAMessage:: @ 85EC0BE .string "and make a message.$" -gUnknown_085EC0D2:: @ 85EC0D2 +gText_FindWordsThatDescribeYour:: @ 85EC0D2 .string "Find words that describe your$" -gUnknown_085EC0F0:: @ 85EC0F0 +gText_FeelingsRightNow:: @ 85EC0F0 .string "feelings right now.$" gUnknown_085EC104:: @ 85EC104 .string "With four phrases,$" -gUnknown_085EC117:: @ 85EC117 +gText_CombineNineWordsOrPhrases:: @ 85EC117 .string "Combine nine words or phrases$" -gUnknown_085EC135:: @ 85EC135 +gText_AndMakeAMessage2:: @ 85EC135 .string "and make a message.$" -gUnknown_085EC149:: @ 85EC149 +gText_ChangeJustOneWordOrPhrase:: @ 85EC149 .string "Change just one word or phrase$" -gUnknown_085EC168:: @ 85EC168 +gText_AndImproveTheBardsSong:: @ 85EC168 .string "and improve the BARD’s song.$" -gUnknown_085EC185:: @ 85EC185 +gText_YourProfile:: @ 85EC185 .string "Your profile$" -gUnknown_085EC192:: @ 85EC192 +gText_YourFeelingAtTheBattlesStart:: @ 85EC192 .string "Your feeling at the battle’s start$" -gUnknown_085EC1B5:: @ 85EC1B5 +gText_WhatYouSayIfYouWin:: @ 85EC1B5 .string "What you say if you win a battle$" -gUnknown_085EC1D6:: @ 85EC1D6 +gText_WhatYouSayIfYouLose:: @ 85EC1D6 .string "What you say if you lose a battle$" -gUnknown_085EC1F8:: @ 85EC1F8 +gText_TheAnswer:: @ 85EC1F8 .string "The answer$" -gUnknown_085EC203:: @ 85EC203 +gText_TheMailMessage:: @ 85EC203 .string "The MAIL message$" gUnknown_085EC214:: @ 85EC214 .string "The MAIL salutation$" -gUnknown_085EC228:: @ 85EC228 +gText_TheBardsSong2:: @ 85EC228 .string "The new song$" -gUnknown_085EC235:: @ 85EC235 +gText_CombineTwoWordsOrPhrases:: @ 85EC235 .string "Combine two words or phrases$" -gUnknown_085EC252:: @ 85EC252 +gText_AndMakeATrendySaying:: @ 85EC252 .string "and make a trendy saying.$" -gUnknown_085EC26C:: @ 85EC26C +gText_TheTrendySaying:: @ 85EC26C .string "The trendy saying$" -gUnknown_085EC27E:: @ 85EC27E +gText_IsAsShownOkay:: @ 85EC27E .string "is as shown. Okay?$" -gUnknown_085EC291:: @ 85EC291 +gText_CombineTwoWordsOrPhrases2:: @ 85EC291 .string "Combine two words or phrases$" -gUnknown_085EC2AE:: @ 85EC2AE +gText_ToTeachHerAGoodSaying:: @ 85EC2AE .string "to teach her a good saying.$" -gUnknown_085EC2CA:: @ 85EC2CA +gText_FindWordsWhichFit:: @ 85EC2CA .string "Find words which fit$" -gUnknown_085EC2DF:: @ 85EC2DF +gText_TheTrainersImage:: @ 85EC2DF .string "the TRAINER’s image.$" -gUnknown_085EC2F4:: @ 85EC2F4 +gText_TheImage:: @ 85EC2F4 .string "The image:$" -gUnknown_085EC2FF:: @ 85EC2FF +gText_OutOfTheListedChoices:: @ 85EC2FF .string "Out of the listed choices,$" -gUnknown_085EC31A:: @ 85EC31A +gText_SelectTheAnswerToTheQuiz:: @ 85EC31A .string "select the answer to the quiz!$" -gUnknown_085EC339:: @ 85EC339 +gText_AndCreateAQuiz:: @ 85EC339 .string "and create a quiz!$" -gUnknown_085EC34C:: @ 85EC34C +gText_PickAWordOrPhraseAnd:: @ 85EC34C .string "Pick a word or phrase and$" -gUnknown_085EC366:: @ 85EC366 +gText_SetTheQuizAnswer:: @ 85EC366 .string "set the quiz answer.$" -gUnknown_085EC37B:: @ 85EC37B +gText_TheAnswerColon:: @ 85EC37B .string "The answer:$" gUnknown_085EC387:: @ 85EC387 .string "The quiz:$" -gUnknown_085EC391:: @ 85EC391 +gText_ApprenticePhrase:: @ 85EC391 .string "Apprentice’s phrase:$" gText_QuitEditing:: @ 85EC3A6 @@ -3020,10 +3012,10 @@ gText_QuitEditing:: @ 85EC3A6 gText_StopGivingPkmnMail:: @ 85EC3B4 .string "Stop giving the POKéMON MAIL?$" -gUnknown_085EC3D2:: @ 85EC3D2 +gText_AndFillOutTheQuestionnaire:: @ 85EC3D2 .string "and fill out the questionnaire.$" -gUnknown_085EC3F2:: @ 85EC3F2 +gText_LetsReplyToTheInterview:: @ 85EC3F2 .string "Let’s reply to the interview!$" gText_AllTextBeingEditedWill:: @ 85EC410 @@ -3056,7 +3048,7 @@ gText_OriginalSongWillBeUsed:: @ 85EC4E9 gUnknown_085EC509:: @ 85EC509 .string "That’s trendy already!$" -gText_CombineTwoWordsOrPhrases:: @ 85EC520 +gText_CombineTwoWordsOrPhrases3:: @ 85EC520 .string "Combine two words or phrases.$" gUnknown_085EC53E:: @ 85EC53E @@ -3074,40 +3066,40 @@ gUnknown_085EC584:: @ 85EC584 gUnknown_085EC594:: @ 85EC594 .string "Cancel the selection?$" -gUnknown_085EC5AA:: @ 85EC5AA +gText_Profile:: @ 85EC5AA .string "PROFILE$" -gUnknown_085EC5B2:: @ 85EC5B2 +gText_AtTheBattlesStart:: @ 85EC5B2 .string "At the battle’s start:$" -gUnknown_085EC5C9:: @ 85EC5C9 +gText_UponWinningABattle:: @ 85EC5C9 .string "Upon winning a battle:$" -gUnknown_085EC5E0:: @ 85EC5E0 +gText_UponLosingABattle:: @ 85EC5E0 .string "Upon losing a battle:$" -gUnknown_085EC5F6:: @ 85EC5F6 +gText_TheBardsSong:: @ 85EC5F6 .string "The BARD’s Song$" -gUnknown_085EC606:: @ 85EC606 +gText_WhatsHipAndHappening:: @ 85EC606 .string "What’s hip and happening?$" -gUnknown_085EC620:: @ 85EC620 +gText_Interview:: @ 85EC620 .string "Interview$" -gUnknown_085EC62A:: @ 85EC62A +gText_GoodSaying:: @ 85EC62A .string "Good saying$" -gUnknown_085EC636:: @ 85EC636 +gText_FansQuestion:: @ 85EC636 .string "Fan’s question$" gUnknown_085EC645:: @ 85EC645 .string "クイズの こたえは?$" @ "kuizuno kotaeha?" ("The quiz's answer is?" in Japanese) -gUnknown_085EC650:: @ 85EC650 +gText_ApprenticesPhrase:: @ 85EC650 .string "Apprentice’s phrase$" -gUnknown_085EC664:: @ 85EC664 +gText_Questionnaire:: @ 85EC664 .string "QUESTIONNAIRE$" gText_YouCannotQuitHere:: @ 85EC672 @@ -3122,13 +3114,13 @@ gText_F700sQuiz:: @ 85EC6A8 gText_Lady:: @ 85EC6B2 .string "Lady$" -gUnknown_085EC6B7:: @ 85EC6B7 +gText_AfterYouHaveReadTheQuiz:: @ 85EC6B7 .string "After you have read the quiz$" -gUnknown_085EC6D4:: @ 85EC6D4 +gText_QuestionPressTheAButton:: @ 85EC6D4 .string "question, press the A Button.$" -gUnknown_085EC6F2:: @ 85EC6F2 +gText_TheQuizAnswerIs:: @ 85EC6F2 .string "The quiz answer is?$" gText_LikeToQuitQuiz:: @ 85EC706 @@ -3137,7 +3129,7 @@ gText_LikeToQuitQuiz:: @ 85EC706 gText_ChallengeQuestionMark:: @ 85EC727 .string "challenge?$" -gUnknown_085EC732:: @ 85EC732 +gText_IsThisQuizOK:: @ 85EC732 .string "Is this quiz OK?$" gText_CreateAQuiz:: @ 85EC743 @@ -3149,28 +3141,28 @@ gText_SelectTheAnswer:: @ 85EC752 gText_LyricsCantBeDeleted:: @ 85EC765 .string "The lyrics can’t be deleted.$" -gUnknown_085EC782:: @ 85EC782 +gText_PokemonLeague:: @ 85EC782 .string "POKéMON LEAGUE$" -gUnknown_085EC791:: @ 85EC791 +gText_PokemonCenter:: @ 85EC791 .string "POKéMON CENTER$" gText_GetsAPokeBlockQuestion:: @ 85EC7A0 .string " gets a {POKEBLOCK}?$" -gUnknown_085EC7AF:: @ 85EC7AF +gText_Coolness:: @ 85EC7AF .string "Coolness $" -gUnknown_085EC7B9:: @ 85EC7B9 +gText_Beauty3:: @ 85EC7B9 .string "Beauty $" -gUnknown_085EC7C1:: @ 85EC7C1 +gText_Cuteness:: @ 85EC7C1 .string "Cuteness $" -gUnknown_085EC7CB:: @ 85EC7CB +gText_Smartness:: @ 85EC7CB .string "Smartness $" -gUnknown_085EC7D6:: @ 85EC7D6 +gText_Toughness:: @ 85EC7D6 .string "Toughness $" gText_WasEnhanced:: @ 85EC7E1 @@ -3293,190 +3285,190 @@ gText_Second:: @ 85ECB80 gText_Third:: @ 85ECB87 .string "third$" -gUnknown_085ECB8D:: @ 85ECB8D +gText_0Pts:: @ 85ECB8D .string "0 pts$" -gUnknown_085ECB93:: @ 85ECB93 +gText_10Pts:: @ 85ECB93 .string "10 pts$" -gUnknown_085ECB9A:: @ 85ECB9A +gText_20Pts:: @ 85ECB9A .string "20 pts$" -gUnknown_085ECBA1:: @ 85ECBA1 +gText_30Pts:: @ 85ECBA1 .string "30 pts$" -gUnknown_085ECBA8:: @ 85ECBA8 +gText_40Pts:: @ 85ECBA8 .string "40 pts$" -gUnknown_085ECBAF:: @ 85ECBAF +gText_50Pts:: @ 85ECBAF .string "50 pts$" -gUnknown_085ECBB6:: @ 85ECBB6 +gText_60Pts:: @ 85ECBB6 .string "60 pts$" -gUnknown_085ECBBD:: @ 85ECBBD +gText_70Pts:: @ 85ECBBD .string "70 pts$" -gUnknown_085ECBC4:: @ 85ECBC4 +gText_80Pts:: @ 85ECBC4 .string "80 pts$" -gUnknown_085ECBCB:: @ 85ECBCB +gText_90Pts:: @ 85ECBCB .string "90 pts$" -gUnknown_085ECBD2:: @ 85ECBD2 +gText_100Pts:: @ 85ECBD2 .string "100 pts$" -gUnknown_085ECBDA:: @ 85ECBDA +gText_QuestionMark:: @ 85ECBDA .string "?$" -gUnknown_085ECBDC:: @ 85ECBDC +gText_KissPoster16BP:: @ 85ECBDC .string "KISS POSTER{CLEAR_TO 0x5E}16BP$" -gUnknown_085ECBEF:: @ 85ECBEF +gText_KissCushion32BP:: @ 85ECBEF .string "KISS CUSHION{CLEAR_TO 0x5E}32BP$" -gUnknown_085ECC03:: @ 85ECC03 +gText_SmoochumDoll32BP:: @ 85ECC03 .string "SMOOCHUM DOLL{CLEAR_TO 0x5E}32BP$" -gUnknown_085ECC18:: @ 85ECC18 +gText_TogepiDoll48BP:: @ 85ECC18 .string "TOGEPI DOLL{CLEAR_TO 0x5E}48BP$" -gUnknown_085ECC2B:: @ 85ECC2B +gText_MeowthDoll48BP:: @ 85ECC2B .string "MEOWTH DOLL{CLEAR_TO 0x5E}48BP$" -gUnknown_085ECC3E:: @ 85ECC3E +gText_ClefairyDoll48BP:: @ 85ECC3E .string "CLEFAIRY DOLL{CLEAR_TO 0x5E}48BP$" -gUnknown_085ECC53:: @ 85ECC53 +gText_DittoDoll48BP:: @ 85ECC53 .string "DITTO DOLL{CLEAR_TO 0x5E}48BP$" -gUnknown_085ECC65:: @ 85ECC65 +gText_CyndaquilDoll80BP:: @ 85ECC65 .string "CYNDAQUIL DOLL{CLEAR_TO 0x5E}80BP$" -gUnknown_085ECC7B:: @ 85ECC7B +gText_ChikoritaDoll80BP:: @ 85ECC7B .string "CHIKORITA DOLL{CLEAR_TO 0x5E}80BP$" -gUnknown_085ECC91:: @ 85ECC91 +gText_TotodileDoll80BP:: @ 85ECC91 .string "TOTODILE DOLL{CLEAR_TO 0x5E}80BP$" -gUnknown_085ECCA6:: @ 85ECCA6 +gText_LaprasDoll128BP:: @ 85ECCA6 .string "LAPRAS DOLL{CLEAR_TO 0x58}128BP$" -gUnknown_085ECCBA:: @ 85ECCBA +gText_SnorlaxDoll128BP:: @ 85ECCBA .string "SNORLAX DOLL{CLEAR_TO 0x58}128BP$" -gUnknown_085ECCCF:: @ 85ECCCF +gText_VenusaurDoll256BP:: @ 85ECCCF .string "VENUSAUR DOLL{CLEAR_TO 0x58}256BP$" -gUnknown_085ECCE5:: @ 85ECCE5 +gText_CharizardDoll256BP:: @ 85ECCE5 .string "CHARIZARD DOLL{CLEAR_TO 0x58}256BP$" -gUnknown_085ECCFC:: @ 85ECCFC +gText_BlastoiseDoll256BP:: @ 85ECCFC .string "BLASTOISE DOLL{CLEAR_TO 0x58}256BP$" -gUnknown_085ECD13:: @ 85ECD13 +gText_Protein1BP:: @ 85ECD13 .string "PROTEIN{CLEAR_TO 0x64}1BP$" -gUnknown_085ECD21:: @ 85ECD21 +gText_Calcium1BP:: @ 85ECD21 .string "CALCIUM{CLEAR_TO 0x64}1BP$" -gUnknown_085ECD2F:: @ 85ECD2F +gText_Iron1BP:: @ 85ECD2F .string "IRON{CLEAR_TO 0x64}1BP$" -gUnknown_085ECD3A:: @ 85ECD3A +gText_Zinc1BP:: @ 85ECD3A .string "ZINC{CLEAR_TO 0x64}1BP$" -gUnknown_085ECD45:: @ 85ECD45 +gText_Carbos1BP:: @ 85ECD45 .string "CARBOS{CLEAR_TO 0x64}1BP$" -gUnknown_085ECD52:: @ 85ECD52 +gText_HpUp1BP:: @ 85ECD52 .string "HP UP{CLEAR_TO 0x64}1BP$" -gUnknown_085ECD5E:: @ 85ECD5E +gText_Leftovers48BP:: @ 85ECD5E .string "LEFTOVERS{CLEAR_TO 0x5E}48BP$" -gUnknown_085ECD6F:: @ 85ECD6F +gText_WhiteHerb48BP:: @ 85ECD6F .string "WHITE HERB{CLEAR_TO 0x5E}48BP$" -gUnknown_085ECD81:: @ 85ECD81 +gText_QuickClaw48BP:: @ 85ECD81 .string "QUICK CLAW{CLEAR_TO 0x5E}48BP$" -gUnknown_085ECD93:: @ 85ECD93 +gText_MentalHerb48BP:: @ 85ECD93 .string "MENTAL HERB{CLEAR_TO 0x5E}48BP$" -gUnknown_085ECDA6:: @ 85ECDA6 +gText_BrightPowder64BP:: @ 85ECDA6 .string "BRIGHTPOWDER{CLEAR_TO 0x5E}64BP$" -gUnknown_085ECDBA:: @ 85ECDBA +gText_ChoiceBand64BP:: @ 85ECDBA .string "CHOICE BAND{CLEAR_TO 0x5E}64BP$" -gUnknown_085ECDCD:: @ 85ECDCD +gText_KingsRock64BP:: @ 85ECDCD .string "KING’S ROCK{CLEAR_TO 0x5E}64BP$" -gUnknown_085ECDE0:: @ 85ECDE0 +gText_FocusBand64BP:: @ 85ECDE0 .string "FOCUS BAND{CLEAR_TO 0x5E}64BP$" -gUnknown_085ECDF2:: @ 85ECDF2 +gText_ScopeLens64BP:: @ 85ECDF2 .string "SCOPE LENS{CLEAR_TO 0x5E}64BP$" -gUnknown_085ECE04:: @ 85ECE04 +gText_Softboiled16BP:: @ 85ECE04 .string "SOFTBOILED{CLEAR_TO 0x4E}16BP$" -gUnknown_085ECE16:: @ 85ECE16 +gText_SeismicToss24BP:: @ 85ECE16 .string "SEISMIC TOSS{CLEAR_TO 0x4E}24BP$" -gUnknown_085ECE2A:: @ 85ECE2A +gText_DreamEater24BP:: @ 85ECE2A .string "DREAM EATER{CLEAR_TO 0x4E}24BP$" -gUnknown_085ECE3D:: @ 85ECE3D +gText_MegaPunch24BP:: @ 85ECE3D .string "MEGA PUNCH{CLEAR_TO 0x4E}24BP$" -gUnknown_085ECE4F:: @ 85ECE4F +gText_MegaKick48BP:: @ 85ECE4F .string "MEGA KICK{CLEAR_TO 0x4E}48BP$" -gUnknown_085ECE60:: @ 85ECE60 +gText_BodySlam48BP:: @ 85ECE60 .string "BODY SLAM{CLEAR_TO 0x4E}48BP$" -gUnknown_085ECE71:: @ 85ECE71 +gText_RockSlide48BP:: @ 85ECE71 .string "ROCK SLIDE{CLEAR_TO 0x4E}48BP$" -gUnknown_085ECE83:: @ 85ECE83 +gText_Counter48BP:: @ 85ECE83 .string "COUNTER{CLEAR_TO 0x4E}48BP$" -gUnknown_085ECE92:: @ 85ECE92 +gText_ThunderWave48BP:: @ 85ECE92 .string "THUNDER WAVE{CLEAR_TO 0x4E}48BP$" -gUnknown_085ECEA6:: @ 85ECEA6 +gText_SwordsDance48BP:: @ 85ECEA6 .string "SWORDS DANCE{CLEAR_TO 0x4E}48BP$" -gUnknown_085ECEBA:: @ 85ECEBA +gText_DefenseCurl16BP:: @ 85ECEBA .string "DEFENSE CURL{CLEAR_TO 0x4E}16BP$" -gUnknown_085ECECE:: @ 85ECECE +gText_Snore24BP:: @ 85ECECE .string "SNORE{CLEAR_TO 0x4E}24BP$" -gUnknown_085ECEDB:: @ 85ECEDB +gText_MudSlap24BP:: @ 85ECEDB .string "MUD-SLAP{CLEAR_TO 0x4E}24BP$" -gUnknown_085ECEEB:: @ 85ECEEB +gText_Swift24BP:: @ 85ECEEB .string "SWIFT{CLEAR_TO 0x4E}24BP$" -gUnknown_085ECEF8:: @ 85ECEF8 +gText_IcyWind24BP:: @ 85ECEF8 .string "ICY WIND{CLEAR_TO 0x4E}24BP$" -gUnknown_085ECF08:: @ 85ECF08 +gText_Endure48BP:: @ 85ECF08 .string "ENDURE{CLEAR_TO 0x4E}48BP$" -gUnknown_085ECF16:: @ 85ECF16 +gText_PsychUp48BP:: @ 85ECF16 .string "PSYCH UP{CLEAR_TO 0x4E}48BP$" -gUnknown_085ECF26:: @ 85ECF26 +gText_IcePunch48BP:: @ 85ECF26 .string "ICE PUNCH{CLEAR_TO 0x4E}48BP$" -gUnknown_085ECF37:: @ 85ECF37 +gText_ThunderPunch48BP:: @ 85ECF37 .string "THUNDERPUNCH{CLEAR_TO 0x4E}48BP$" -gUnknown_085ECF4B:: @ 85ECF4B +gText_FirePunch48BP:: @ 85ECF4B .string "FIRE PUNCH{CLEAR_TO 0x4E}48BP$" gText_PkmnFainted3:: @ 85ECF5D @@ -3521,10 +3513,10 @@ gText_Var1sTrainerCard:: @ 85ECFA6 gText_HallOfFameDebut:: @ 85ECFB8 .string "HALL OF FAME DEBUT $" -gUnknown_085ECFCD:: @ 85ECFCD +gText_LinkBattles:: @ 85ECFCD .string "LINK BATTLES$" -gUnknown_085ECFDA:: @ 85ECFDA +gText_LinkCableBattles:: @ 85ECFDA .string "LINK CABLE BATTLES$" gText_WinsLosses:: @ 85ECFED @@ -3563,49 +3555,44 @@ gText_BattleTower:: @ 85ED0D3 gText_WSlashStraightSlash:: @ 85ED0E0 .string "W/{COLOR RED}{SHADOW LIGHT_RED}{STR_VAR_1}{COLOR DARK_GREY}{SHADOW LIGHT_GREY} STRAIGHT/{COLOR RED}{SHADOW LIGHT_RED}{STR_VAR_2}$" -gUnknown_085ED104:: @ 85ED104 +gText_BattleTower2:: @ 85ED104 .string "BATTLE TOWER$" -gUnknown_085ED111:: @ 85ED111 +gText_BattleDome:: @ 85ED111 .string "BATTLE DOME$" -gUnknown_085ED11D:: @ 85ED11D +gText_BattlePalace:: @ 85ED11D .string "BATTLE PALACE$" -gUnknown_085ED12B:: @ 85ED12B +gText_BattleFactory:: @ 85ED12B .string "BATTLE FACTORY$" -gUnknown_085ED13A:: @ 85ED13A +gText_BattleArena:: @ 85ED13A .string "BATTLE ARENA$" -gUnknown_085ED147:: @ 85ED147 +gText_BattlePike:: @ 85ED147 .string "BATTLE PIKE$" -gUnknown_085ED153:: @ 85ED153 +gText_BattlePyramid:: @ 85ED153 .string "BATTLE PYRAMID$" .align 2 - gUnknown_085ED164:: @ 85ED164 .string "{STR_VAR_1} SINGLE$" .align 2 - gUnknown_085ED170:: @ 85ED170 .string "{STR_VAR_1} DOUBLE$" .align 2 - gUnknown_085ED17C:: @ 85ED17C .string "{STR_VAR_1} MULTI$" .align 2 - gUnknown_085ED188:: @ 85ED188 .string "{STR_VAR_1} LINK$" .align 2 - gUnknown_085ED190:: @ 85ED190 .string "{STR_VAR_1}$" @@ -3817,7 +3804,7 @@ gText_WaitForAllChooseBerry:: @ 85ED62C .align 2 gText_EndedWithXUnitsPowder:: @ 85ED65C - .string "{PAUSE_MUSIC}{PLAY_BGM BGM_FANFA1}You ended up with {STR_VAR_1} units of\nsilky-smooth BERRY POWDER.{RESUME_MUSIC}\pYour total amount of BERRY POWDER\nis {STR_VAR_2}.\p$" + .string "{PAUSE_MUSIC}{PLAY_BGM MUS_FANFA1}You ended up with {STR_VAR_1} units of\nsilky-smooth BERRY POWDER.{RESUME_MUSIC}\pYour total amount of BERRY POWDER\nis {STR_VAR_2}.\p$" .align 2 gText_RecordingGameResults:: @ 85ED6C8 @@ -4169,48 +4156,61 @@ gJPText_MysteryGift:: @ 85EDFBF gJPText_DecideStop:: @ 85EDFC9 .string "{UNK_CTRL_F800}けってい {UNK_CTRL_F801}やめる$" @ "{UNK_CTRL_F800}kettei {UNK_CTRL_F801}yameru" ("{UNK_CTRL_F800}decide {UNK_CTRL_F801}stop" in Japanese) -@ A bunch of Japanese strings here, waiting for updated datadump to dump properly gUnknown_085EDFD6:: @ 85EDFD6 - .byte 0x56, 0xae, 0x95, 0xd9, 0x78, 0xae, 0x91, 0xae, 0xf9, 0x04, 0x00, 0x44, 0xfe, 0x1c, 0x0c, 0x38, 0x15, 0x23, 0x27, 0x02, 0x23, 0x19, 0x2d, 0x00, 0x26, 0x20, 0x0a, 0x20, 0x1f, 0x0d, 0xff + .string "カードeリーダー{UNK_CTRL_F9 0x04} で\n" + .string "ふしぎなもらいものを よみこみます$" gUnknown_085EDFF5:: @ 85EDFF5 - .byte 0x56, 0xae, 0x95, 0xd9, 0x78, 0xae, 0x91, 0xae, 0xf9, 0x04, 0x19, 0x00, 0x72, 0x66, 0x85, 0xae, 0x06, 0x27, 0xfe, 0xb3, 0x12, 0x03, 0x0c, 0x2e, 0xb4, 0x2d, 0x00, 0x04, 0x27, 0x47, 0xff + .string "カードeリーダー{UNK_CTRL_F9 0x04}の メニューから\n" + .string "‘つうしん’を えらび$" gUnknown_085EE014:: @ 85EE014 - .byte 0xb3, 0x8a, 0xae, 0x71, 0x9a, 0xae, 0x52, 0x51, 0x95, 0x96, 0x7e, 0x5d, 0x14, 0x12, 0x03, 0x0c, 0x2e, 0xb4, 0xfe, 0x2d, 0x00, 0x0e, 0x2e, 0x10, 0x08, 0x00, 0x0c, 0x13, 0x08, 0x41, 0x0b, 0x02 - .byte 0xff, 0x56, 0xae, 0x95, 0xd9, 0x78, 0xae, 0x91, 0xae, 0xf9, 0x04, 0x19, 0x00, 0xb3, 0x12, 0x03, 0x0c, 0x2e, 0xb4, 0x2d, 0xfe, 0x04, 0x27, 0x2e, 0x44, 0x00, 0xbb, 0x9a, 0x60, 0x7e, 0x2d, 0x00 - .byte 0x05, 0x0c, 0x13, 0x08, 0x41, 0x0b, 0x02, 0xff + .string "‘ゲームボーイアドバンスとつうしん’\n" + .string "を せんたく してください$" + +gUnknown_085EE035:: @ 85EE035 + .string "カードeリーダー{UNK_CTRL_F9 0x04}の ‘つうしん’を\n" + .string "えらんで Aボタンを おしてください$" gUnknown_085EE05C:: @ 85EE05C - .byte 0x0e, 0x12, 0x40, 0x08, 0x37, 0x00, 0x1f, 0x11, 0x37, 0x50, 0x13, 0x02, 0x1f, 0x0d, 0xff + .string "せつぞくが まちがっています$" gUnknown_085EE06B:: @ 85EE06B - .byte 0x56, 0xae, 0x95, 0x19, 0x00, 0x26, 0x20, 0x0a, 0x20, 0x2d, 0xfe, 0x11, 0x35, 0x03, 0x0c, 0x00, 0x0c, 0x1f, 0x0c, 0x10, 0xff, 0x56, 0xae, 0x95, 0xd9, 0x78, 0xae, 0x91, 0xae, 0xf9, 0x04, 0x14 - .byte 0xfe, 0x12, 0x03, 0x0c, 0x2e, 0x00, 0x44, 0x07, 0x1f, 0x0e, 0x2e, 0xff + .string "カードの よみこみを\n" + .string "ちゅうし しました$" + +gUnknown_085EE080:: @ 85EE080 + .string "カードeリーダー{UNK_CTRL_F9 0x04}と\n" + .string "つうしん できません$" gUnknown_085EE097:: @ 85EE097 - .byte 0x12, 0x03, 0x0c, 0x2e, 0x00, 0x11, 0x35, 0x03, 0x00, 0x44, 0x0d, 0xff + .string "つうしん ちゅう です$" gUnknown_085EE0A3:: @ 85EE0A3 - .byte 0x12, 0x03, 0x0c, 0x2e, 0x00, 0x54, 0x77, 0xae, 0x44, 0x0d, 0xfe, 0x0e, 0x12, 0x40, 0x08, 0x2d, 0x00, 0x10, 0x0c, 0x06, 0x22, 0x13, 0x00, 0x08, 0x41, 0x0b, 0x02, 0xff + .string "つうしん エラーです\n" + .string "せつぞくを たしかめて ください$" gUnknown_085EE0BF:: @ 85EE0BF - .byte 0x12, 0x03, 0x0c, 0x2e, 0x00, 0x54, 0x77, 0xae, 0x44, 0x0d, 0xfe, 0x1a, 0x3d, 0x22, 0x06, 0x27, 0x00, 0x24, 0x28, 0x15, 0x05, 0x0c, 0x13, 0x00, 0x08, 0x41, 0x0b, 0x02, 0xff + .string "つうしん エラーです\n" + .string "はじめから やりなおして ください$" gUnknown_085EE0DC:: @ 85EE0DC - .byte 0x56, 0xae, 0x95, 0xd9, 0x78, 0xae, 0x91, 0xae, 0xf9, 0x04, 0x00, 0x16, 0xfe, 0x56, 0xae, 0x95, 0x2d, 0x00, 0x26, 0x20, 0x0a, 0x1f, 0x0e, 0x13, 0x00, 0x08, 0x41, 0x0b, 0x02, 0xff + .string "カードeリーダー{UNK_CTRL_F9 0x04} に\n" + .string "カードを よみこませて ください$" gUnknown_085EE0FA:: @ 85EE0FA - .byte 0x12, 0x03, 0x0c, 0x2e, 0x00, 0x0c, 0x35, 0x03, 0x28, 0x36, 0x03, 0xab, 0xff + .string "つうしん しゅうりょう!$" gUnknown_085EE107:: @ 85EE107 - .byte 0x01, 0x27, 0x10, 0x15, 0x00, 0x64, 0x7a, 0xae, 0x65, 0xae, 0x37, 0xfe, 0x6e, 0x53, 0x54, 0x7e, 0x16, 0x00, 0x24, 0x50, 0x13, 0x07, 0x10, 0xab, 0xff + .string "あらたな トレーナーが\n" + .string "ホウエンに やってきた!$" gUnknown_085EE120:: @ 85EE120 - .byte 0x0c, 0x46, 0x27, 0x08, 0x00, 0x05, 0x1f, 0x11, 0x08, 0x41, 0x0b, 0x02, 0xff + .string "しばらく おまちください$" gUnknown_085EE12D:: @ 85EE12D - .byte 0x06, 0x07, 0x0a, 0x20, 0x00, 0x54, 0x77, 0xae, 0x00, 0x44, 0x0d, 0xfe, 0x94, 0xae, 0x60, 0x37, 0x00, 0x1e, 0x40, 0x2e, 0x00, 0x44, 0x07, 0x1f, 0x0e, 0x2e, 0x44, 0x0c, 0x10, 0xff + .string "かきこみ エラー です\n" + .string "データが ほぞん できませんでした$" gUnknown_085EE14B:: @ 85EE14B .string "RED$" @@ -4306,37 +4306,30 @@ gText_FloorsCleared:: @ 85EE39C .string "Floors cleared: {STR_VAR_1}$" .align 2 - gUnknown_085EE3B0:: @ 85EE3B0 .string "LV. 50$" .align 2 - gUnknown_085EE3B8:: @ 85EE3B8 .string "OPEN LEVEL$" .align 2 - gUnknown_085EE3C4:: @ 85EE3C4 .string "Win streak: {STR_VAR_2}$" .align 2 - gUnknown_085EE3D4:: @ 85EE3D4 .string "Clear streak: {STR_VAR_2}$" .align 2 - gUnknown_085EE3E8:: @ 85EE3E8 .string "Rooms cleared: {STR_VAR_2}$" .align 2 - gUnknown_085EE3FC:: @ 85EE3FC .string "KOs in a row: {STR_VAR_2}$" .align 2 - gUnknown_085EE410:: @ 85EE410 .string "Floors cleared: {STR_VAR_2}$" @@ -4386,25 +4379,25 @@ gText_ABtnTitleScreen:: @ 85EE572 gText_Option:: @ 85EE589 .string "OPTION$" -gUnknown_085EE590:: @ 85EE590 +gText_TextSpeed:: @ 85EE590 .string "TEXT SPEED$" -gUnknown_085EE59B:: @ 85EE59B +gText_BattleScene:: @ 85EE59B .string "BATTLE SCENE$" -gUnknown_085EE5A8:: @ 85EE5A8 +gText_BattleStyle:: @ 85EE5A8 .string "BATTLE STYLE$" -gUnknown_085EE5B5:: @ 85EE5B5 +gText_Sound:: @ 85EE5B5 .string "SOUND$" -gUnknown_085EE5BB:: @ 85EE5BB +gText_Frame:: @ 85EE5BB .string "FRAME$" -gUnknown_085EE5C1:: @ 85EE5C1 +gText_OptionMenuCancel:: @ 85EE5C1 .string "CANCEL$" -gUnknown_085EE5C8:: @ 85EE5C8 +gText_ButtonMode:: @ 85EE5C8 .string "BUTTON MODE$" gText_TextSpeedSlow:: @ 85EE5D4 @@ -4488,34 +4481,34 @@ gUnknown_085EE6AD:: @ 85EE6AD gUnknown_085EE6B6:: @ 85EE6B6 .string "Updated time$" -gUnknown_085EE6C3:: @ 85EE6C3 +gText_MenuPokedex:: @ 85EE6C3 .string "POKéDEX$" -gUnknown_085EE6CB:: @ 85EE6CB +gText_MenuPokemon:: @ 85EE6CB .string "POKéMON$" -gUnknown_085EE6D3:: @ 85EE6D3 +gText_MenuBag:: @ 85EE6D3 .string "BAG$" -gUnknown_085EE6D7:: @ 85EE6D7 +gText_MenuPokenav:: @ 85EE6D7 .string "POKéNAV$" -gUnknown_085EE6DF:: @ 85EE6DF +gText_MenuPlayer:: @ 85EE6DF .string "{PLAYER}$" -gUnknown_085EE6E2:: @ 85EE6E2 +gText_MenuSave:: @ 85EE6E2 .string "SAVE$" -gUnknown_085EE6E7:: @ 85EE6E7 +gText_MenuOption:: @ 85EE6E7 .string "OPTION$" -gUnknown_085EE6EE:: @ 85EE6EE +gText_MenuExit:: @ 85EE6EE .string "EXIT$" -gUnknown_085EE6F3:: @ 85EE6F3 +gText_MenuRetire:: @ 85EE6F3 .string "RETIRE$" -gUnknown_085EE6FA:: @ 85EE6FA +gText_MenuRest:: @ 85EE6FA .string "REST$" gText_SafariBallStock:: @ 85EE6FF @@ -4524,28 +4517,28 @@ gText_SafariBallStock:: @ 85EE6FF gText_BattlePyramidFloor:: @ 85EE716 .string "Battle Pyramid\n{STR_VAR_1}$" -gUnknown_085EE728:: @ 85EE728 +gText_Floor1:: @ 85EE728 .string "Floor 1$" -gUnknown_085EE730:: @ 85EE730 +gText_Floor2:: @ 85EE730 .string "Floor 2$" -gUnknown_085EE738:: @ 85EE738 +gText_Floor3:: @ 85EE738 .string "Floor 3$" -gUnknown_085EE740:: @ 85EE740 +gText_Floor4:: @ 85EE740 .string "Floor 4$" -gUnknown_085EE748:: @ 85EE748 +gText_Floor5:: @ 85EE748 .string "Floor 5$" -gUnknown_085EE750:: @ 85EE750 +gText_Floor6:: @ 85EE750 .string "Floor 6$" -gUnknown_085EE758:: @ 85EE758 +gText_Floor7:: @ 85EE758 .string "Floor 7$" -gUnknown_085EE760:: @ 85EE760 +gText_Peak:: @ 85EE760 .string "Peak$" gText_LinkStandby2:: @ 85EE765 @@ -4652,16 +4645,16 @@ gText_MixingRecords:: @ 85EEA7E gText_RecordMixingComplete:: @ 85EEA8E .string "Record mixing completed.\nThank you for waiting.$" -gUnknown_085EEABE:: @ 85EEABE +gText_YourName:: @ 85EEABE .string "YOUR NAME?$" -gUnknown_085EEAC9:: @ 85EEAC9 +gText_BoxName:: @ 85EEAC9 .string "BOX NAME?$" -gUnknown_085EEAD3:: @ 85EEAD3 +gText_PkmnsNickname:: @ 85EEAD3 .string "{STR_VAR_1}’s nickname?$" -gUnknown_085EEAE2:: @ 85EEAE2 +gText_TellHimTheWords:: @ 85EEAE2 .string "Tell him the words.$" gText_MoveOkBack:: @ 85EEAF6 @@ -4918,7 +4911,6 @@ gText_WhereShouldNewsBeAccessed:: @ 85EEF94 .string "Where should the WONDER NEWS\nbe accessed?$" .align 2 - gUnknown_085EEFC0:: @ 85EEFC0 .string "Communication standby…\nB Button: Cancel$" @@ -5121,16 +5113,16 @@ gText_YouDontHaveThreeCoins:: @ 85EF734 gText_ReelTimeHelp:: @ 85EF750 .string "REEL TIME\nHere’s your chance to take\naim and nail marks!\nReel Time continues for the\nawarded number of spins.\nIt all ends on a Big Bonus.$" -gUnknown_085EF7DA:: @ 85EF7DA +gDaycareText_GetAlongVeryWell:: @ 85EF7DA .string "The two seem to get along\nvery well.$" -gUnknown_085EF7FF:: @ 85EF7FF +gDaycareText_GetAlong:: @ 85EF7FF .string "The two seem to get along.$" -gUnknown_085EF81A:: @ 85EF81A +gDaycareText_DontLikeOther:: @ 85EF81A .string "The two don’t seem to like\neach other much.$" -gUnknown_085EF846:: @ 85EF846 +gDaycareText_PlayOther:: @ 85EF846 .string "The two prefer to play with other\nPOKéMON than each other.$" gText_NewLine2:: @ 85EF881 @@ -5217,22 +5209,22 @@ gText_Appeal2:: @ 85EFA67 gText_Jam2:: @ 85EFA6E .string "JAM$" -gUnknown_085EFA72:: @ 85EFA72 +gText_Kira:: @ 85EFA72 .string "KIRA$" -gUnknown_085EFA77:: @ 85EFA77 +gText_Amy:: @ 85EFA77 .string "AMY$" -gUnknown_085EFA7B:: @ 85EFA7B +gText_John:: @ 85EFA7B .string "JOHN$" -gUnknown_085EFA80:: @ 85EFA80 +gText_Roy:: @ 85EFA80 .string "ROY$" -gUnknown_085EFA84:: @ 85EFA84 +gText_Gabby:: @ 85EFA84 .string "GABBY$" -gUnknown_085EFA8A:: @ 85EFA8A +gText_Anna:: @ 85EFA8A .string "ANNA$" gText_ClearAllSaveData:: @ 85EFA8F @@ -5370,19 +5362,19 @@ gUnknown_085EFCA0:: @ 85EFCA0 gUnknown_085EFCAB:: @ 85EFCAB .string "SEAFLOOR2$" -gUnknown_085EFCB5:: @ 85EFCB5 +gText_DelAll:: @ 85EFCB5 .string "DEL. ALL$" -gUnknown_085EFCBE:: @ 85EFCBE +gText_Cancel5:: @ 85EFCBE .string "CANCEL$" -gUnknown_085EFCC5:: @ 85EFCC5 +gText_Ok2:: @ 85EFCC5 .string "OK$" -gUnknown_085EFCC8:: @ 85EFCC8 +gText_Quiz:: @ 85EFCC8 .string "QUIZ$" -gUnknown_085EFCCD:: @ 85EFCCD +gText_Answer:: @ 85EFCCD .string "ANSWER$" gText_PokeBalls:: @ 85EFCD4 @@ -5393,4 +5385,3 @@ gText_Berry:: @ 85EFCDF gText_Berries:: @ 85EFCE5 .string "BERRIES$" - diff --git a/data/text/berries.inc b/data/text/berries.inc new file mode 100644 index 0000000000..f35caca185 --- /dev/null +++ b/data/text/berries.inc @@ -0,0 +1,234 @@ +PetalburgCity_Gym_Text_2A6D3D: @ 82A6D3D + .string "DAD: Hi, {PLAYER}!\p" + .string "I just received a very rare BERRY.\n" + .string "I’d like you to have it.$" + +Route104_Text_2A6D86: @ 82A6D86 + .string "If you see BERRIES growing in loamy\n" + .string "soil, feel free to take them.\p" + .string "But make sure you plant a BERRY in the\n" + .string "same spot. That’s common courtesy.\p" + .string "Here, I’ll share this with you.$" + +Route104_Text_2A6E32: @ 82A6E32 + .string "The way you look, you must be a\n" + .string "TRAINER, no?\p" + .string "TRAINERS often make POKéMON hold\n" + .string "BERRIES.\p" + .string "It’s up to you whether to grow BERRIES\n" + .string "or use them.$" + +Route111_Text_2A6EBD: @ 82A6EBD + .string "I watered the plants every day.\n" + .string "They grew lots of flowers.\p" + .string "And they gave me lots of BERRIES, too.\p" + .string "Here you go!\n" + .string "You can have it!$" + +Route111_Text_2A6F3D: @ 82A6F3D + .string "I’m going to try really hard and make\n" + .string "BERRIES in different colors.\p" + .string "I hope you try hard, too!$" + +Route111_Text_2A6F9A: @ 82A6F9A + .string "I wonder what color BERRIES I’ll look\n" + .string "for today?$" + +Route114_Text_2A6FCB: @ 82A6FCB + .string "I love using the BERRY CRUSH machine,\n" + .string "so I’m collecting BERRIES.\p" + .string "I’ll share one with you, if you’d like.$" + +Route114_Text_2A7034: @ 82A7034 + .string "You should try the BERRY CRUSH\n" + .string "machine with your friends.$" + +Route114_Text_2A706E: @ 82A706E + .string "Which BERRY should be planted?\n" + .string "Should you use or hoard BERRIES?\p" + .string "It’s fun to think about.$" + +Route120_Text_2A70C7: @ 82A70C7 + .string "BERRIES grow by soaking up sunlight.\p" + .string "We help the BERRIES grow by watering\n" + .string "them regularly.\p" + .string "It’s an expression of love, isn’t it?$" + +Route120_Text_2A7147: @ 82A7147 + .string "Yes, yes.\n" + .string "You understand what I mean.\p" + .string "You should take this.$" + +Route120_Text_2A7183: @ 82A7183 + .string "Oh… But it is important to make your\n" + .string "own impressions, I guess…\p" + .string "You can have this.$" + +Route120_Text_2A71D5: @ 82A71D5 + .string "I think that BERRY is rare.\n" + .string "I hope you raise it with loving care.$" + +Route120_Text_2A7217: @ 82A7217 + .string "I’ll get more BERRIES from\n" + .string "the BERRY MASTER.$" + +LilycoveCity_Text_2A7244: @ 82A7244 + .string "When it gets right down to it…\p" + .string "The same way suits suit me perfectly,\n" + .string "a crisp breeze suits the sea.\p" + .string "And you, a BERRY suits you to a “T”…\p" + .string "Why should that be so?$" + +LilycoveCity_Text_2A72E3: @ 82A72E3 + .string "When it gets right down to it…\p" + .string "It’s because you’re a TRAINER!$" + +LilycoveCity_Text_2A7321: @ 82A7321 + .string "When it gets right down to it…\p" + .string "The way dignified simplicity suits me,\n" + .string "{POKEBLOCK}S perfectly suit POKéMON.$" + +Route123_BerryMastersHouse_Text_2A7386: @ 82A7386 + .string "You may call me the BERRY MASTER.\p" + .string "I dream of filling the world with\n" + .string "beautiful flowers, so I raise BERRIES\l" + .string "and hand them out to everyone.\p" + .string "You’re deserving of one!$" + +Route123_BerryMastersHouse_Text_2A7428: @ 82A7428 + .string "Why be stingy?\n" + .string "Take another!$" + +Route123_BerryMastersHouse_Text_2A7445: @ 82A7445 + .string "Be sure to visit the PRETTY PETAL\n" + .string "flower shop near RUSTBORO.\p" + .string "Let flowers fill the world!$" + +Route123_BerryMastersHouse_Text_2A749E: @ 82A749E + .string "I’m done for today.\n" + .string "Come again another day.\p" + .string "Let flowers fill the world!$" + +Route123_BerryMastersHouse_Text_2A74E6: @ 82A74E6 + .string "The way my husband grows BERRIES,\n" + .string "oh, he’s the best in the world.\p" + .string "He makes me proud, that he does.\p" + .string "Incidentally, child, have you heard\n" + .string "a good saying lately?$" + +Route123_BerryMastersHouse_Text_2A7583: @ 82A7583 + .string "Ah! What a remarkable saying!\n" + .string "Inspirational, it is!\p" + .string "I want you to have this.$" + +Route123_BerryMastersHouse_Text_2A75D0: @ 82A75D0 + .string "Oh! A good saying it is.\n" + .string "You’re quite remarkable.\p" + .string "I want you to have this.$" + +Route123_BerryMastersHouse_Text_2A761B: @ 82A761B + .string "Our four grandchildren should become\n" + .string "more accomplished than my husband.\p" + .string "Joy never goes out of my life!$" + +Route123_BerryMastersHouse_Text_2A7682: @ 82A7682 + .string "Ah…$" + +Route104_PrettyPetalFlowerShop_Text_2A7686: @ 82A7686 + .string "Hello!\p" + .string "This is the PRETTY PETAL flower shop.\n" + .string "Spreading flowers all over the world!$" + +Route104_PrettyPetalFlowerShop_Text_2A76D9: @ 82A76D9 + .string "{PLAYER}{KUN}, would you like to learn about\n" + .string "BERRIES?$" + +Route104_PrettyPetalFlowerShop_Text_2A7706: @ 82A7706 + .string "Your name is?\p" + .string "{PLAYER}{KUN}.\n" + .string "That’s a nice name.\p" + .string "{PLAYER}{KUN}, would you like to learn about\n" + .string "BERRIES?$" + +Route104_PrettyPetalFlowerShop_Text_2A775B: @ 82A775B + .string "BERRIES grow on trees that thrive\n" + .string "only in soft, loamy soil.\p" + .string "If you take some BERRIES, be sure to\n" + .string "plant one in the loamy soil again.\p" + .string "A planted BERRY will soon sprout,\n" + .string "grow into a plant, flower beautifully,\l" + .string "then grow BERRIES again.\p" + .string "I want to see the whole wide world\n" + .string "filled with beautiful flowers.\l" + .string "That’s my dream.\p" + .string "Please help me, {PLAYER}{KUN}. Plant BERRIES\n" + .string "and bring more flowers into the world.$" + +Route104_PrettyPetalFlowerShop_Text_2A78DF: @ 82A78DF + .string "Flowers bring so much happiness to\n" + .string "people, don’t they?$" + +Route104_PrettyPetalFlowerShop_Text_2A7916: @ 82A7916 + .string "Hello!\p" + .string "The more attention you give to flowers,\n" + .string "the more beautifully they bloom.\p" + .string "You’ll like tending flowers. I’m sure\n" + .string "of it. You can have this.$" + +Route104_PrettyPetalFlowerShop_Text_2A79A6: @ 82A79A6 + .string "While BERRY plants are growing,\n" + .string "water them with the WAILMER PAIL.\p" + .string "Oh, another thing.\p" + .string "If you don’t pick BERRIES for a while,\n" + .string "they’ll drop off onto the ground.\l" + .string "But they’ll sprout again.\p" + .string "Isn’t that awesome?\n" + .string "It’s like they have the will to live.$" + +Route104_PrettyPetalFlowerShop_Text_2A7A98: @ 82A7A98 + .string "I’m trying to be like my big sisters.\n" + .string "I’m growing flowers, too!\p" + .string "Here you go!\n" + .string "It’s for you!$" + +Route104_PrettyPetalFlowerShop_Text_2A7AF3: @ 82A7AF3 + .string "You can plant a BERRY and grow it big,\n" + .string "or you can make a POKéMON hold it.\p" + .string "But now they have a machine that mixes\n" + .string "up different BERRIES and makes candies\l" + .string "for POKéMON.\p" + .string "I want some candy, too.$" + +SootopolisCity_Text_2A7BB0: @ 82A7BB0 + .string "Hi, what’s your name?\p" + .string "… … … … … … … … …\n" + .string "Okay. That’s nice!\p" + .string "My name is KIRI.\p" + .string "My mommy and daddy named me that so\n" + .string "I would grow healthy and warmhearted.\l" + .string "That’s what they wished.\p" + .string "You can have one of these.$" + +SootopolisCity_Text_2A7C7C: @ 82A7C7C + .string "KIRI will give you this BERRY, too!\n" + .string "I really like it lots!$" + +SootopolisCity_Text_2A7CB7: @ 82A7CB7 + .string "I wonder what kind of wish is included\n" + .string "in your name.$" + +SootopolisCity_Text_2A7CEC: @ 82A7CEC + .string "Spring, summer, autumn, and winter.\p" + .string "If you’re born in springtime, do you like\n" + .string "the spring, and if you’re born in the\l" + .string "summer, do you like the summer?$" + +SootopolisCity_Text_2A7D80: @ 82A7D80 + .string "Then KIRI was born in the autumn,\n" + .string "so I love the autumn!\p" + .string "Which season do you like?$" + +SootopolisCity_Text_2A7DD2: @ 82A7DD2 + .string "Oh…\n" + .string "It doesn’t matter…\p" + .string "There’s so much that I want to know…$" diff --git a/data/text/birch_speech.inc b/data/text/birch_speech.inc new file mode 100644 index 0000000000..9e7eea3bcc --- /dev/null +++ b/data/text/birch_speech.inc @@ -0,0 +1,61 @@ +gUnknown_082C897B:: @ 82C897B + .string "Hi! Sorry to keep you waiting!\p" + .string "Welcome to the world of POKéMON!\p" + .string "My name is BIRCH.\p" + .string "But everyone calls me the POKéMON\n" + .string "PROFESSOR.\p" + .string "$" + +gUnknown_082C89FB:: @ 82C89FB + .string "This is what we call a “POKéMON.”\p" + .string "\n" + .string "$" + +gUnknown_082C8A1F:: @ 82C8A1F + .string "This world is widely inhabited by\n" + .string "creatures known as POKéMON.\p" + .string "We humans live alongside POKéMON,\n" + .string "at times as friendly playmates, and\l" + .string "at times as cooperative workmates.\p" + .string "And sometimes, we band together\n" + .string "and battle others like us.\p" + .string "But despite our closeness, we don’t\n" + .string "know everything about POKéMON.\p" + .string "In fact, there are many, many\n" + .string "secrets surrounding POKéMON.\p" + .string "To unravel POKéMON mysteries,\n" + .string "I’ve been undertaking research.\l" + .string "That’s what I do.\p" + .string "$" + +gUnknown_082C8BD0:: @ 82C8BD0 + .string "And you are?$" + +gUnknown_082C8BDD:: @ 82C8BDD + .string "Are you a boy?\n" + .string "Or are you a girl?$" + +gUnknown_082C8BFF:: @ 82C8BFF + .string "All right.\n" + .string "What’s your name?$" + +gUnknown_082C8C1C:: @ 82C8C1C + .string "So it’s {PLAYER}{KUN}?$" + +gUnknown_082C8C2A:: @ 82C8C2A + .string "Ah, okay!\p" + .string "You’re {PLAYER}{KUN} who’s moving to my\n" + .string "hometown of LITTLEROOT.\l" + .string "I get it now!\p" + .string "$" + +gUnknown_082C8C7A:: @ 82C8C7A + .string "All right, are you ready?\p" + .string "Your very own adventure is about\n" + .string "to unfold.\p" + .string "Take courage, and leap into the\n" + .string "world of POKéMON where dreams,\l" + .string "adventure, and friendships await!\p" + .string "Well, I’ll be expecting you later.\n" + .string "Come see me in my POKéMON LAB.\p" + .string "$" diff --git a/data/text/braille.inc b/data/text/braille.inc new file mode 100644 index 0000000000..3d4b8e1166 --- /dev/null +++ b/data/text/braille.inc @@ -0,0 +1,223 @@ +Underwater_SealedChamber_Braille_2A6B15: @ 82A6B15 + .byte 4 + .byte 6 + .byte 26 + .byte 13 + .byte 7 + .byte 9 + .braille "GO UP HERE.$" + +SealedChamber_OuterRoom_Braille_2A6B27: @ 82A6B27 + .byte 7 + .byte 6 + .byte 21 + .byte 13 + .byte 10 + .byte 9 + .braille "ABC$" + +SealedChamber_OuterRoom_Braille_2A6B31: @ 82A6B31 + .byte 7 + .byte 6 + .byte 21 + .byte 13 + .byte 10 + .byte 9 + .braille "GHI$" + +SealedChamber_OuterRoom_Braille_2A6B3B: @ 82A6B3B + .byte 7 + .byte 6 + .byte 21 + .byte 13 + .byte 10 + .byte 9 + .braille "MNO$" + +SealedChamber_OuterRoom_Braille_2A6B45: @ 82A6B45 + .byte 7 + .byte 6 + .byte 21 + .byte 13 + .byte 10 + .byte 9 + .braille "TUV$" + +SealedChamber_OuterRoom_Braille_2A6B4F: @ 82A6B4F + .byte 7 + .byte 6 + .byte 21 + .byte 13 + .byte 10 + .byte 9 + .braille "DEF$" + +SealedChamber_OuterRoom_Braille_2A6B59: @ 82A6B59 + .byte 7 + .byte 6 + .byte 21 + .byte 13 + .byte 10 + .byte 9 + .braille "JKL$" + +SealedChamber_OuterRoom_Braille_2A6B63: @ 82A6B63 + .byte 7 + .byte 6 + .byte 21 + .byte 13 + .byte 10 + .byte 9 + .braille "PQRS$" + +SealedChamber_OuterRoom_Braille_2A6B6E: @ 82A6B6E + .byte 9 + .byte 6 + .byte 19 + .byte 13 + .byte 12 + .byte 9 + .braille ".$" + +SealedChamber_OuterRoom_Braille_2A6B76: @ 82A6B76 + .byte 7 + .byte 6 + .byte 21 + .byte 13 + .byte 10 + .byte 9 + .braille "WXYZ$" + +SealedChamber_OuterRoom_Braille_2A6B81: @ 82A6B81 + .byte 9 + .byte 6 + .byte 19 + .byte 13 + .byte 12 + .byte 9 + .braille ",$" + +SealedChamber_OuterRoom_Braille_2A6B89: @ 82A6B89 + .byte 7 + .byte 4 + .byte 23 + .byte 15 + .byte 10 + .byte 7 + .braille "DIG HERE.$" + +SealedChamber_InnerRoom_Braille_2A6B99: @ 82A6B99 + .byte 0 + .byte 0 + .byte 29 + .byte 19 + .byte 3 + .byte 3 + .braille "FIRST COMES\n" + .braille "WAILORD.\n" + .braille "LAST COMES\n" + .braille "RELICANTH.$" + +SealedChamber_InnerRoom_Braille_2A6BCA: @ 82A6BCA + .byte 2 + .byte 0 + .byte 26 + .byte 19 + .byte 5 + .byte 3 + .braille "IN THIS\n" + .braille "CAVE WE\n" + .braille "HAVE\n" + .braille "LIVED.$" + +SealedChamber_InnerRoom_Braille_2A6BEC: @ 82A6BEC + .byte 7 + .byte 2 + .byte 23 + .byte 17 + .byte 10 + .byte 5 + .braille "WE OWE ALL\n" + .braille "TO THE\n" + .braille "POKEMON.$" + +SealedChamber_InnerRoom_Braille_2A6C0D: @ 82A6C0D + .byte 3 + .byte 0 + .byte 25 + .byte 19 + .byte 6 + .byte 3 + .braille "BUT, WE\n" + .braille "SEALED THE\n" + .braille "POKEMON\n" + .braille "AWAY.$" + +SealedChamber_InnerRoom_Braille_2A6C34: @ 82A6C34 + .byte 5 + .byte 6 + .byte 25 + .byte 13 + .byte 8 + .byte 9 + .braille "WE FEARED IT.$" + +SealedChamber_InnerRoom_Braille_2A6C48: @ 82A6C48 + .byte 6 + .byte 0 + .byte 24 + .byte 19 + .byte 9 + .byte 3 + .braille "THOSE WITH\n" + .braille "COURAGE,\n" + .braille "THOSE WITH\n" + .braille "HOPE.$" + +SealedChamber_InnerRoom_Braille_2A6C73: @ 82A6C73 + .byte 3 + .byte 2 + .byte 27 + .byte 17 + .byte 6 + .byte 5 + .braille "OPEN A DOOR.\n" + .braille "AN ETERNAL\n" + .braille "POKEMON\n" + .braille "WAITS.$" + +DesertRuins_Braille_2A6CA0: @ 82A6CA0 + .byte 1 + .byte 0 + .byte 27 + .byte 19 + .byte 4 + .byte 3 + .braille "LEFT, LEFT,\n" + .braille "DOWN, DOWN.\n" + .braille "THEN, USE\n" + .braille "ROCK SMASH.$" + +IslandCave_Braille_2A6CD4: @ 82A6CD4 + .byte 5 + .byte 0 + .byte 25 + .byte 19 + .byte 8 + .byte 3 + .braille "STAY CLOSE\n" + .braille "TO THE WALL.\n" + .braille "RUN AROUND\n" + .braille "ONE LAP.$" + +AncientTomb_Braille_2A6D06: @ 82A6D06 + .byte 3 + .byte 0 + .byte 25 + .byte 19 + .byte 6 + .byte 3 + .braille "THOSE WHO\n" + .braille "INHERIT OUR\n" + .braille "WILL, SHINE\n" + .braille "IN THE MIDDLE.$" diff --git a/data/text/cable_club.inc b/data/text/cable_club.inc new file mode 100644 index 0000000000..e69de29bb2 diff --git a/data/text/contest_strings.inc b/data/text/contest_strings.inc new file mode 100644 index 0000000000..92b04c95c7 --- /dev/null +++ b/data/text/contest_strings.inc @@ -0,0 +1,717 @@ +@ contest move effect descriptions + +gContestEffect00hDescription:: @ 827CB82 + .string "A highly appealing move.$" + +gContestEffect01hDescription:: @ 827CB9B + .string "After this move, the user is\nmore easily startled.$" + +gContestEffect02hDescription:: @ 827CBCE + .string "Makes a great appeal, but\nallows no more to the end.$" + +gContestEffect03hDescription:: @ 827CC03 + .string "Can be repeatedly used\nwithout boring the JUDGE.$" + +gContestEffect04hDescription:: @ 827CC34 + .string "Can avoid being startled\nby others once.$" + +gContestEffect05hDescription:: @ 827CC5D + .string "Can avoid being startled\nby others.$" + +gContestEffect06hDescription:: @ 827CC81 + .string "Can avoid being startled\nby others a little.$" + +gContestEffect07hDescription:: @ 827CCAE + .string "After this move, the user is\nless likely to be startled.$" + +gContestEffect08hDescription:: @ 827CCE7 + .string "Slightly startles the\nPOKéMON in front.$" + +gContestEffect09hDescription:: @ 827CD0F + .string "Slightly startles those\nthat have made appeals.$" + +gContestEffect0AhDescription:: @ 827CD3F + .string "Startles the POKéMON that\nappealed before the user.$" + +gContestEffect0BhDescription:: @ 827CD73 + .string "Startles all POKéMON that\nhave done their appeals.$" + +gContestEffect0ChDescription:: @ 827CDA6 + .string "Badly startles the\nPOKéMON in front.$" + +gContestEffect0DhDescription:: @ 827CDCB + .string "Badly startles those that\nhave made appeals.$" + +gContestEffect0EhDescription:: @ 827CDF8 + .string "Startles the POKéMON that\nappealed before the user.$" + +gContestEffect0FhDescription:: @ 827CE2C + .string "Startles all POKéMON that\nhave done their appeals.$" + +gContestEffect10hDescription:: @ 827CE5F + .string "Shifts the JUDGE’s\nattention from others.$" + +gContestEffect11hDescription:: @ 827CE89 + .string "Startles the POKéMON that\nhas the JUDGE’s attention.$" + +gContestEffect12hDescription:: @ 827CEBE + .string "Jams the others, and misses\none turn of appeals.$" + +gContestEffect13hDescription:: @ 827CEEF + .string "Startles POKéMON that\nmade a same-type appeal.$" + +gContestEffect14hDescription:: @ 827CF1E + .string "Badly startles POKéMON\nthat made COOL appeals.$" + +gContestEffect15hDescription:: @ 827CF4D + .string "Badly startles POKéMON\nthat made BEAUTY appeals.$" + +gContestEffect16hDescription:: @ 827CF7E + .string "Badly startles POKéMON\nthat made CUTE appeals.$" + +gContestEffect17hDescription:: @ 827CFAD + .string "Badly startles POKéMON\nthat made SMART appeals.$" + +gContestEffect18hDescription:: @ 827CFDD + .string "Badly startles POKéMON\nthat made TOUGH appeals.$" + +gContestEffect19hDescription:: @ 827D00D + .string "Makes one POKéMON after\nthe user nervous.$" + +gContestEffect1AhDescription:: @ 827D037 + .string "Makes all POKéMON after\nthe user nervous.$" + +gContestEffect1BhDescription:: @ 827D061 + .string "Worsens the condition of\nthose that made appeals.$" + +gContestEffect1ChDescription:: @ 827D093 + .string "Badly startles POKéMON in\ngood condition.$" + +gContestEffect1DhDescription:: @ 827D0BD + .string "The appeal works great if\nperformed first.$" + +gContestEffect1EhDescription:: @ 827D0E8 + .string "The appeal works great if\nperformed last.$" + +gContestEffect1FhDescription:: @ 827D112 + .string "Makes the appeal as good\nas those before it.$" + +gContestEffect20hDescription:: @ 827D13F + .string "Makes the appeal as good\nas the one before it.$" + +gContestEffect21hDescription:: @ 827D16E + .string "The appeal works better\nthe later it is performed.$" + +gContestEffect22hDescription:: @ 827D1A1 + .string "The appeal’s quality varies\ndepending on its timing.$" + +gContestEffect23hDescription:: @ 827D1D6 + .string "Works well if it’s the same\ntype as the one before.$" + +gContestEffect24hDescription:: @ 827D20A + .string "Works well if different in\ntype than the one before.$" + +gContestEffect25hDescription:: @ 827D23F + .string "Affected by how well the\nappeal in front goes.$" + +gContestEffect26hDescription:: @ 827D26E + .string "Ups the user’s condition.\nHelps prevent nervousness.$" + +gContestEffect27hDescription:: @ 827D2A3 + .string "The appeal works well if the\nuser’s condition is good.$" + +gContestEffect28hDescription:: @ 827D2DA + .string "The next appeal can be\nmade earlier next turn.$" + +gContestEffect29hDescription:: @ 827D309 + .string "The next appeal can be\nmade later next turn.$" + +gContestEffect2AhDescription:: @ 827D336 + .string "Makes the next turn’s order\nmore easily scrambled.$" + +gContestEffect2BhDescription:: @ 827D369 + .string "Scrambles the order of\nappeals on the next turn.$" + +gContestEffect2ChDescription:: @ 827D39A + .string "An appeal that excites the\naudience in any CONTEST.$" + +gContestEffect2DhDescription:: @ 827D3CE + .string "Badly startles all POKéMON\nthat made good appeals.$" + +gContestEffect2EhDescription:: @ 827D401 + .string "The appeal works best the\nmore the crowd is excited.$" + +gContestEffect2FhDescription:: @ 827D436 + .string "Temporarily stops the\ncrowd from growing excited.$" + +@ unused move names + +gUnusedContestMoveName0:: @ 827D468 + .string "RAIN DANCE$" + +gUnusedContestMoveName1:: @ 827D473 + .string "RAGE$" + +gUnusedContestMoveName2:: @ 827D478 + .string "FOCUS ENERGY$" + +gUnusedContestMoveName3:: @ 827D485 + .string "HYPNOSIS$" + +gUnusedContestMoveName4:: @ 827D48E + .string "SOFTBOILED$" + +gUnusedContestMoveName5:: @ 827D499 + .string "HORN ATTACK$" + +gUnusedContestMoveName6:: @ 827D4A5 + .string "SWORDS DANCE$" + +gUnusedContestMoveName7:: @ 827D4B2 + .string "CONVERSION$" + +gUnusedContestMoveName8:: @ 827D4BD + .string "SUNNY DAY$" + +gUnusedContestMoveName9:: @ 827D4C7 + .string "REST$" + +gUnusedContestMoveName10:: @ 827D4CC + .string "VICEGRIP$" + +gUnusedContestMoveName11:: @ 827D4D5 + .string "DEFENSE CURL$" + +gUnusedContestMoveName12:: @ 827D4E2 + .string "LOCK-ON$" + +@ contest type names + +gContestMoveTypeCoolText:: @ 827D4EA + .string "COOL$" + +gContestMoveTypeBeautyText:: @ 827D4EF + .string "BEAUTY$" + +gContestMoveTypeCuteText:: @ 827D4F6 + .string "CUTE$" + +gContestMoveTypeSmartText:: @ 827D4FB + .string "SMART$" + +gContestMoveTypeToughText:: @ 827D501 + .string "TOUGH$" + +gText_0827D507:: @ 827D507 + .string "Appeal no. {STR_VAR_1}!\n" + .string "Which move will be played?$" + +gText_0827D531:: @ 827D531 + .string "Appeal no. {STR_VAR_1}!\n" + .string "But it can’t participate!$" + +gText_0827D55A:: @ 827D55A + .string "{STR_VAR_1} appealed with\n" + .string "{STR_VAR_2}!$" + +gText_0827D56F:: @ 827D56F + .string "{STR_VAR_1} was watching\n" + .string "the others.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827D597:: @ 827D597 + .string "We’re all out of\n" + .string "Appeal Time!{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827D5C1:: @ 827D5C1 + .string "But the appeal was\n" + .string "jammed.$" + +gText_0827D5DC:: @ 827D5DC + .string "It followed another\n" + .string "POKéMON’s lead.$" + +gText_0827D600:: @ 827D600 + .string "But it messed up.$" + +gText_0827D612:: @ 827D612 + .string "It went better than\n" + .string "usual.$" + +gText_0827D62D:: @ 827D62D + .string "The JUDGE looked away\n" + .string "for some reason.$" + +gText_0827D654:: @ 827D654 + .string "It worked hard to build on\n" + .string "past mistakes.$" + +gText_0827D67E:: @ 827D67E + .string "It can’t make any more\n" + .string "moves.$" + +gText_0827D69C:: @ 827D69C + .string "It worked frighteningly\n" + .string "well.$" + +gText_0827D6BA:: @ 827D6BA + .string "It worked as hard as the\n" + .string "standout POKéMON.$" + +gText_0827D6E5:: @ 827D6E5 + .string "The JUDGE looked on\n" + .string "expectantly.$" + +gText_0827D706:: @ 827D706 + .string "It worked rather well.$" + +gText_0827D71D:: @ 827D71D + .string "It worked a little better\n" + .string "than usual.$" + +gText_0827D743:: @ 827D743 + .string "{STR_VAR_1} failed to\n" + .string "stand out at all…{PAUSE_UNTIL_PRESS}$" + +gText_0827D764:: @ 827D764 + .string "{STR_VAR_1} didn’t stand\n" + .string "out very much…{PAUSE_UNTIL_PRESS}$" + +gText_0827D785:: @ 827D785 + .string "{STR_VAR_1} caught a\n" + .string "little attention.{PAUSE_UNTIL_PRESS}$" + +gText_0827D7A5:: @ 827D7A5 + .string "{STR_VAR_1} attracted a\n" + .string "lot of attention.{PAUSE_UNTIL_PRESS}$" + +gText_0827D7C8:: @ 827D7C8 + .string "{STR_VAR_1} commanded\n" + .string "total attention.{PAUSE_UNTIL_PRESS}$" + +gText_0827D7E8:: @ 827D7E8 + .string "{STR_VAR_1} hasn’t made\n" + .string "its appeal.{PAUSE_UNTIL_PRESS}$" + +gText_0827D805:: @ 827D805 + .string "Anticipation swelled for\n" + .string "{STR_VAR_1}’s appeal next.$" + +gText_0827D830:: @ 827D830 + .string "$" + +gText_0827D831:: @ 827D831 + .string "The JUDGE ’s views on\n" + .string "{STR_VAR_1} held firm.$" + +gText_0827D855:: @ 827D855 + .string "{STR_VAR_1}’s {STR_VAR_3}\n" + .string "changed perceptions.$" + +gText_0827D872:: @ 827D872 + .string "{STR_VAR_1}’s appeal\n" + .string "effect wore off.$" + +gText_0827D88F:: @ 827D88F + .string "The special appeal’s\n" + .string "effect wore off.$" + +gText_0827D8B5:: @ 827D8B5 + .string "Everyone’s appeals were\n" + .string "made to look the same.$" + +gText_0827D8E4:: @ 827D8E4 + .string "It cheapened\n" + .string "{STR_VAR_2}’s appeal.$" + +gText_0827D8FE:: @ 827D8FE + .string "It cheapened the appeal\n" + .string "of those ahead.$" + +gText_0827D926:: @ 827D926 + .string "It stole attention away\n" + .string "from {STR_VAR_2}.$" + +gText_0827D947:: @ 827D947 + .string "It cheapened\n" + .string "{STR_VAR_2}’s appeal.$" + +gText_0827D961:: @ 827D961 + .string "It severely cheapened\n" + .string "other appeals.$" + +gText_0827D986:: @ 827D986 + .string "Anticipation swelled for\n" + .string "{STR_VAR_1}’s appeal next.$" + +gText_0827D9B1:: @ 827D9B1 + .string "It cheapened the appeal\n" + .string "of those ahead.$" + +gText_0827D9D9:: @ 827D9D9 + .string "It cheapened the JUDGE’s\n" + .string "favorite appeal.$" + +gText_0827DA03:: @ 827DA03 + .string "The appeals of others\n" + .string "were cheapened by half.$" + +gText_0827DA31:: @ 827DA31 + .string "It stood out to make up\n" + .string "for being jammed.$" + +gText_0827DA5B:: @ 827DA5B + .string "It can’t participate in\n" + .string "appeals any more.$" + +gText_0827DA85:: @ 827DA85 + .string "It touched the JUDGE for\n" + .string "a fantastic appeal.$" + +gText_0827DAB2:: @ 827DAB2 + .string "Anticipation rose for\n" + .string "upcoming appeals.$" + +gText_0827DADA:: @ 827DADA + .string "It stood out as much as\n" + .string "special appeals.$" + +gText_0827DB03:: @ 827DB03 + .string "It stood out as much as\n" + .string "{STR_VAR_1}.$" + +gText_0827DB1F:: @ 827DB1F + .string "Jammed appeals were made\n" + .string "even less noticeable.$" + +gText_0827DB4E:: @ 827DB4E + .string "Everyone’s appeals were\n" + .string "made the same.$" + +gText_827DB75:: @ 827DB75 + .string "It became more conscious\n" + .string "of the other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DBB0:: @ 827DBB0 + .string "{STR_VAR_1} can’t make an\n" + .string "appeal after this.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DBE0:: @ 827DBE0 + .string "It settled down just a\n" + .string "little bit.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DC0F:: @ 827DC0F + .string "It became oblivious to\n" + .string "the other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DC45:: @ 827DC45 + .string "It became less aware of\n" + .string "the other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DC7C:: @ 827DC7C + .string "It stopped caring about\n" + .string "other POKéMON much.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DCB4:: @ 827DCB4 + .string "It tried to startle the\n" + .string "other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DCE7:: @ 827DCE7 + .string "It tried to dazzle the\n" + .string "others.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DD12:: @ 827DD12 + .string "The JUDGE looked away\n" + .string "from {STR_VAR_1}.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DD3D:: @ 827DD3D + .string "It tried to unnerve the\n" + .string "next POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DD6F:: @ 827DD6F + .string "{STR_VAR_1} became\n" + .string "nervous.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DD8E:: @ 827DD8E + .string "The appeal tried to\n" + .string "unnerve waiting POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DDC7:: @ 827DDC7 + .string "It taunted POKéMON\n" + .string "doing well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DDF2:: @ 827DDF2 + .string "{STR_VAR_1} regained its\n" + .string "form.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DE14:: @ 827DE14 + .string "It tried to jam POKéMON\n" + .string "doing well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DE44:: @ 827DE44 + .string "The standout {STR_VAR_1}\n" + .string "hustled even more.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DE73:: @ 827DE73 + .string "The largely unnoticed\n" + .string "{STR_VAR_1} worked hard.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DEA5:: @ 827DEA5 + .string "It worked as much as\n" + .string "POKéMON before it.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DED9:: @ 827DED9 + .string "{STR_VAR_1}’s appeal did\n" + .string "not go well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DF02:: @ 827DF02 + .string "It worked as much as the\n" + .string "preceding POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DF3A:: @ 827DF3A + .string "{STR_VAR_1}’s appeal did\n" + .string "not go well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DF63:: @ 827DF63 + .string "{STR_VAR_1}’s appeal did\n" + .string "not go well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DF8C:: @ 827DF8C + .string "{STR_VAR_1}’s appeal\n" + .string "went slightly well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DFB8:: @ 827DFB8 + .string "{STR_VAR_1}’s appeal\n" + .string "went pretty well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827DFE2:: @ 827DFE2 + .string "{STR_VAR_1}’s appeal\n" + .string "went excellently.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827E00C:: @ 827E00C + .string "{STR_VAR_1}’s appeal was\n" + .string "a dud.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827E02F:: @ 827E02F + .string "{STR_VAR_1}’s appeal did\n" + .string "not work very well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827E05F:: @ 827E05F + .string "{STR_VAR_1}’s appeal\n" + .string "went slightly well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827E08B:: @ 827E08B + .string "{STR_VAR_1}’s appeal\n" + .string "went pretty well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827E0B5:: @ 827E0B5 + .string "{STR_VAR_1}’s appeal\n" + .string "went very well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827E0DD:: @ 827E0DD + .string "{STR_VAR_1}’s appeal\n" + .string "went excellently.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827E107:: @ 827E107 + .string "It’s the same type as the\n" + .string "POKéMON before--good!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827E143:: @ 827E143 + .string "It’s not the same type as\n" + .string "the one before--good!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827E17F:: @ 827E17F + .string "It stood out much more\n" + .string "than the POKéMON before.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827E1BB:: @ 827E1BB + .string "It didn’t do as well as the\n" + .string "POKéMON before.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827E1F3:: @ 827E1F3 + .string "{STR_VAR_1}’s condition\n" + .string "rose above usual.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827E220:: @ 827E220 + .string "{STR_VAR_1}’s hot status\n" + .string "made it a great appeal!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827E254:: @ 827E254 + .string "It moved up in line for\n" + .string "the next appeal.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827E289:: @ 827E289 + .string "It moved back in line once\n" + .string "for the next appeal.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_827E2C5:: @ 827E2C5 + .string "It scrambled up the\n" + .string "order for the next turn.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$" + +gText_0827E2FE:: @ 827E2FE + .string "The JUDGE looked at\n" + .string "{STR_VAR_1} expectantly.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E32E:: @ 827E32E + .string "The appeal combo went\n" + .string "over well.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E35B:: @ 827E35B + .string "The appeal combo went\n" + .string "over very well.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E38D:: @ 827E38D + .string "The appeal combo went\n" + .string "over excellently.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E3C1:: @ 827E3C1 + .string "{STR_VAR_1} managed to\n" + .string "avert its gaze.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E3EB:: @ 827E3EB + .string "{STR_VAR_1} managed to\n" + .string "avoid seeing it.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E416:: @ 827E416 + .string "{STR_VAR_1} isn’t fazed\n" + .string "by that sort of thing.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E448:: @ 827E448 + .string "{STR_VAR_1} became a\n" + .string "little distracted.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E473:: @ 827E473 + .string "It tried to startle the\n" + .string "other POKéMON.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E4A6:: @ 827E4A6 + .string "{STR_VAR_1} looked down\n" + .string "out of distraction.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E4D5:: @ 827E4D5 + .string "{STR_VAR_1} turned back\n" + .string "out of distraction.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E504:: @ 827E504 + .string "{STR_VAR_1} couldn’t help\n" + .string "uttering a cry.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E531:: @ 827E531 + .string "{STR_VAR_1} couldn’t help\n" + .string "leaping up.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E55A:: @ 827E55A + .string "{STR_VAR_1} tripped over\n" + .string "out of distraction.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E58A:: @ 827E58A + .string "{STR_VAR_1} was too\n" + .string "nervous to move.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E5B2:: @ 827E5B2 + .string "But it messed up.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E5D0:: @ 827E5D0 + .string "But it failed to make\n" + .string "the target nervous.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E606:: @ 827E606 + .string "But it failed to make\n" + .string "anyone nervous.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E638:: @ 827E638 + .string "But it was ignored…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E658:: @ 827E658 + .string "But it couldn’t improve\n" + .string "its condition…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E68B:: @ 827E68B + .string "Its bad condition\n" + .string "resulted in a weak appeal.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E6C4:: @ 827E6C4 + .string "{STR_VAR_1} was\n" + .string "unaffected.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E6E3:: @ 827E6E3 + .string "{STR_VAR_1} disappointed\n" + .string "by repeating an appeal.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E717:: @ 827E717 + .string "{STR_VAR_1}’s {STR_VAR_3}\n" + .string "went over great.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E73C:: @ 827E73C + .string "{STR_VAR_1}’s {STR_VAR_3}\n" + .string "didn’t go over well here…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E76A:: @ 827E76A + .string "{STR_VAR_1}’s {STR_VAR_3}\n" + .string "got the crowd going.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E793:: @ 827E793 + .string "{STR_VAR_1} can’t appeal\n" + .string "next turn…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E7BA:: @ 827E7BA + .string "It attracted the crowd’s\n" + .string "attention.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E7EA:: @ 827E7EA + .string "The crowd continues to\n" + .string "watch {STR_VAR_3}.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E817:: @ 827E817 + .string "{STR_VAR_1}’s\n" + .string "{STR_VAR_2} is ignored.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +gText_0827E837:: @ 827E837 + .string "shyness$" + +gText_0827E83F:: @ 827E83F + .string "anxiety$" + +gText_0827E847:: @ 827E847 + .string "laziness$" + +gText_0827E850:: @ 827E850 + .string "hesitancy$" + +gText_0827E85A:: @ 827E85A + .string "fear$" + +gText_0827E85F:: @ 827E85F + .string "coolness$" + +gText_0827E868:: @ 827E868 + .string "beauty$" + +gText_0827E86F:: @ 827E86F + .string "cuteness$" + +gText_0827E878:: @ 827E878 + .string "smartness$" + +gText_0827E882:: @ 827E882 + .string "toughness$" + +gText_0827E88C:: @ 827E88C + .string "TENSION$" + +gText_0827E894:: @ 827E894 + .string "COOL Move$" + +gText_0827E89E:: @ 827E89E + .string "BEAUTY Move$" + +gText_0827E8AA:: @ 827E8AA + .string "CUTE Move$" + +gText_0827E8B4:: @ 827E8B4 + .string "SMART Move$" + +gText_0827E8BF:: @ 827E8BF + .string "TOUGH Move$" + +gText_0827E8CA:: @ 827E8CA + .string "???$" diff --git a/data/text/contest_text.inc b/data/text/contest_text.inc deleted file mode 100644 index 927b6a48d7..0000000000 --- a/data/text/contest_text.inc +++ /dev/null @@ -1,203 +0,0 @@ -@ contest move effect descriptions - -gContestEffect00hDescription:: @ 827CB82 - .string "A highly appealing move.$" - -gContestEffect01hDescription:: @ 827CB9B - .string "After this move, the user is\nmore easily startled.$" - -gContestEffect02hDescription:: @ 827CBCE - .string "Makes a great appeal, but\nallows no more to the end.$" - -gContestEffect03hDescription:: @ 827CC03 - .string "Can be repeatedly used\nwithout boring the JUDGE.$" - -gContestEffect04hDescription:: @ 827CC34 - .string "Can avoid being startled\nby others once.$" - -gContestEffect05hDescription:: @ 827CC5D - .string "Can avoid being startled\nby others.$" - -gContestEffect06hDescription:: @ 827CC81 - .string "Can avoid being startled\nby others a little.$" - -gContestEffect07hDescription:: @ 827CCAE - .string "After this move, the user is\nless likely to be startled.$" - -gContestEffect08hDescription:: @ 827CCE7 - .string "Slightly startles the\nPOKéMON in front.$" - -gContestEffect09hDescription:: @ 827CD0F - .string "Slightly startles those\nthat have made appeals.$" - -gContestEffect0AhDescription:: @ 827CD3F - .string "Startles the POKéMON that\nappealed before the user.$" - -gContestEffect0BhDescription:: @ 827CD73 - .string "Startles all POKéMON that\nhave done their appeals.$" - -gContestEffect0ChDescription:: @ 827CDA6 - .string "Badly startles the\nPOKéMON in front.$" - -gContestEffect0DhDescription:: @ 827CDCB - .string "Badly startles those that\nhave made appeals.$" - -gContestEffect0EhDescription:: @ 827CDF8 - .string "Startles the POKéMON that\nappealed before the user.$" - -gContestEffect0FhDescription:: @ 827CE2C - .string "Startles all POKéMON that\nhave done their appeals.$" - -gContestEffect10hDescription:: @ 827CE5F - .string "Shifts the JUDGE’s\nattention from others.$" - -gContestEffect11hDescription:: @ 827CE89 - .string "Startles the POKéMON that\nhas the JUDGE’s attention.$" - -gContestEffect12hDescription:: @ 827CEBE - .string "Jams the others, and misses\none turn of appeals.$" - -gContestEffect13hDescription:: @ 827CEEF - .string "Startles POKéMON that\nmade a same-type appeal.$" - -gContestEffect14hDescription:: @ 827CF1E - .string "Badly startles POKéMON\nthat made COOL appeals.$" - -gContestEffect15hDescription:: @ 827CF4D - .string "Badly startles POKéMON\nthat made BEAUTY appeals.$" - -gContestEffect16hDescription:: @ 827CF7E - .string "Badly startles POKéMON\nthat made CUTE appeals.$" - -gContestEffect17hDescription:: @ 827CFAD - .string "Badly startles POKéMON\nthat made SMART appeals.$" - -gContestEffect18hDescription:: @ 827CFDD - .string "Badly startles POKéMON\nthat made TOUGH appeals.$" - -gContestEffect19hDescription:: @ 827D00D - .string "Makes one POKéMON after\nthe user nervous.$" - -gContestEffect1AhDescription:: @ 827D037 - .string "Makes all POKéMON after\nthe user nervous.$" - -gContestEffect1BhDescription:: @ 827D061 - .string "Worsens the condition of\nthose that made appeals.$" - -gContestEffect1ChDescription:: @ 827D093 - .string "Badly startles POKéMON in\ngood condition.$" - -gContestEffect1DhDescription:: @ 827D0BD - .string "The appeal works great if\nperformed first.$" - -gContestEffect1EhDescription:: @ 827D0E8 - .string "The appeal works great if\nperformed last.$" - -gContestEffect1FhDescription:: @ 827D112 - .string "Makes the appeal as good\nas those before it.$" - -gContestEffect20hDescription:: @ 827D13F - .string "Makes the appeal as good\nas the one before it.$" - -gContestEffect21hDescription:: @ 827D16E - .string "The appeal works better\nthe later it is performed.$" - -gContestEffect22hDescription:: @ 827D1A1 - .string "The appeal’s quality varies\ndepending on its timing.$" - -gContestEffect23hDescription:: @ 827D1D6 - .string "Works well if it’s the same\ntype as the one before.$" - -gContestEffect24hDescription:: @ 827D20A - .string "Works well if different in\ntype than the one before.$" - -gContestEffect25hDescription:: @ 827D23F - .string "Affected by how well the\nappeal in front goes.$" - -gContestEffect26hDescription:: @ 827D26E - .string "Ups the user’s condition.\nHelps prevent nervousness.$" - -gContestEffect27hDescription:: @ 827D2A3 - .string "The appeal works well if the\nuser’s condition is good.$" - -gContestEffect28hDescription:: @ 827D2DA - .string "The next appeal can be\nmade earlier next turn.$" - -gContestEffect29hDescription:: @ 827D309 - .string "The next appeal can be\nmade later next turn.$" - -gContestEffect2AhDescription:: @ 827D336 - .string "Makes the next turn’s order\nmore easily scrambled.$" - -gContestEffect2BhDescription:: @ 827D369 - .string "Scrambles the order of\nappeals on the next turn.$" - -gContestEffect2ChDescription:: @ 827D39A - .string "An appeal that excites the\naudience in any CONTEST.$" - -gContestEffect2DhDescription:: @ 827D3CE - .string "Badly startles all POKéMON\nthat made good appeals.$" - -gContestEffect2EhDescription:: @ 827D401 - .string "The appeal works best the\nmore the crowd is excited.$" - -gContestEffect2FhDescription:: @ 827D436 - .string "Temporarily stops the\ncrowd from growing excited.$" - -@ unused move names - -gUnusedContestMoveName0:: @ 827D468 - .string "RAIN DANCE$" - -gUnusedContestMoveName1:: @ 827D473 - .string "RAGE$" - -gUnusedContestMoveName2:: @ 827D478 - .string "FOCUS ENERGY$" - -gUnusedContestMoveName3:: @ 827D485 - .string "HYPNOSIS$" - -gUnusedContestMoveName4:: @ 827D48E - .string "SOFTBOILED$" - -gUnusedContestMoveName5:: @ 827D499 - .string "HORN ATTACK$" - -gUnusedContestMoveName6:: @ 827D4A5 - .string "SWORDS DANCE$" - -gUnusedContestMoveName7:: @ 827D4B2 - .string "CONVERSION$" - -gUnusedContestMoveName8:: @ 827D4BD - .string "SUNNY DAY$" - -gUnusedContestMoveName9:: @ 827D4C7 - .string "REST$" - -gUnusedContestMoveName10:: @ 827D4CC - .string "VICEGRIP$" - -gUnusedContestMoveName11:: @ 827D4D5 - .string "DEFENSE CURL$" - -gUnusedContestMoveName12:: @ 827D4E2 - .string "LOCK-ON$" - -@ contest type names - -gContestMoveTypeCoolText:: @ 827D4EA - .string "COOL$" - -gContestMoveTypeBeautyText:: @ 827D4EF - .string "BEAUTY$" - -gContestMoveTypeCuteText:: @ 827D4F6 - .string "CUTE$" - -gContestMoveTypeSmartText:: @ 827D4FB - .string "SMART$" - -gContestMoveTypeToughText:: @ 827D501 - .string "TOUGH$" diff --git a/data/text/easy_chat/easy_chat_group_pokemon2.s b/data/text/easy_chat/easy_chat_group_pokemon2.s index 6a1bc0fcd5..e2f58e4967 100644 --- a/data/text/easy_chat/easy_chat_group_pokemon2.s +++ b/data/text/easy_chat/easy_chat_group_pokemon2.s @@ -57,7 +57,7 @@ gEasyChatGroup_Pokemon2:: @ 859CE0C .2byte SPECIES_ESPEON .2byte SPECIES_EXEGGCUTE .2byte SPECIES_EXEGGUTOR - .2byte SPECIES_FARFETCH_D + .2byte SPECIES_FARFETCHD .2byte SPECIES_FEAROW .2byte SPECIES_FERALIGATR .2byte SPECIES_FLAAFFY diff --git a/data/text/easy_chat/easy_chat_words_by_letter.inc b/data/text/easy_chat/easy_chat_words_by_letter.inc index a271a55865..bce4be347a 100644 --- a/data/text/easy_chat/easy_chat_words_by_letter.inc +++ b/data/text/easy_chat/easy_chat_words_by_letter.inc @@ -1,2522 +1,2522 @@ gEasyChatWordsByLetter_Others:: @ 859D0B4 - ec_word EXCL - ec_word EXCL_EXCL - ec_word DASH - ec_word DASH_DASH_DASH - ec_word ELLIPSIS - ec_word ELLIPSIS_EXCL - ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS - ec_word 1_HIT_KO_EXCL - ec_word QUES - ec_word QUES_EXCL + .2byte EC_WORD_EXCL + .2byte EC_WORD_EXCL_EXCL + .2byte EC_WORD_DASH + .2byte EC_WORD_DASH_DASH_DASH + .2byte EC_WORD_ELLIPSIS + .2byte EC_WORD_ELLIPSIS_EXCL + .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS + .2byte EC_WORD_1_HIT_KO_EXCL + .2byte EC_WORD_QUES + .2byte EC_WORD_QUES_EXCL gEasyChatWordsByLetter_A:: @ 859D0C8 - ec_word A - ec_word A_LITTLE - ec_word A_LOT - ec_word A_TINY_BIT - ec_word ABOUT - ec_word ABOVE + .2byte EC_WORD_A + .2byte EC_WORD_A_LITTLE + .2byte EC_WORD_A_LOT + .2byte EC_WORD_A_TINY_BIT + .2byte EC_WORD_ABOUT + .2byte EC_WORD_ABOVE .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 ABRA - ec_pokemon2 ABRA - ec_word ABSENT - ec_pokemon1 ABSOL - ec_word ABSOLUTELY - ec_move1 ABSORB - ec_word ACCEPT - ec_move2 ACID - ec_move2 ACID_ARMOR - ec_word ADORE - ec_word ADULT - ec_word ADVENTURE - ec_move2 AERIAL_ACE - ec_move1 AEROBLAST - ec_pokemon2 AERODACTYL - ec_word AFTER - ec_word AGE - ec_pokemon1 AGGRON - ec_move1 AGILITY - ec_word AGREE - ec_word AHAHA - ec_word AIM - ec_pokemon2 AIPOM - ec_move1 AIR_CUTTER - ec_word AIR_LOCK - ec_word AIYEEH + .2byte EC_POKEMON(ABRA) + .2byte EC_POKEMON2(ABRA) + .2byte EC_WORD_ABSENT + .2byte EC_POKEMON(ABSOL) + .2byte EC_WORD_ABSOLUTELY + .2byte EC_MOVE(ABSORB) + .2byte EC_WORD_ACCEPT + .2byte EC_MOVE2(ACID) + .2byte EC_MOVE2(ACID_ARMOR) + .2byte EC_WORD_ADORE + .2byte EC_WORD_ADULT + .2byte EC_WORD_ADVENTURE + .2byte EC_MOVE2(AERIAL_ACE) + .2byte EC_MOVE(AEROBLAST) + .2byte EC_POKEMON2(AERODACTYL) + .2byte EC_WORD_AFTER + .2byte EC_WORD_AGE + .2byte EC_POKEMON(AGGRON) + .2byte EC_MOVE(AGILITY) + .2byte EC_WORD_AGREE + .2byte EC_WORD_AHAHA + .2byte EC_WORD_AIM + .2byte EC_POKEMON2(AIPOM) + .2byte EC_MOVE(AIR_CUTTER) + .2byte EC_WORD_AIR_LOCK + .2byte EC_WORD_AIYEEH .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 ALAKAZAM - ec_pokemon2 ALAKAZAM - ec_word ALL - ec_word ALL_RIGHT - ec_word ALLOW - ec_word ALLOWANCE - ec_word ALLY - ec_word ALMOST - ec_word ALONE - ec_word ALSO - ec_word ALT_COLOR - ec_pokemon1 ALTARIA - ec_word ALTHOUGH - ec_word ALWAYS - ec_word AM - ec_move2 AMNESIA - ec_pokemon2 AMPHAROS - ec_word AMUSING - ec_word AN - ec_move1 ANCIENT_POWER - ec_word AND - ec_word ANGER - ec_word ANGERS - ec_word ANGRY - ec_word ANIME - ec_pokemon1 ANORITH - ec_word ANOTHER - ec_word ANTICIPATION - ec_word ANY - ec_word ANYWHERE - ec_word APOLOGIZE - ec_word APPEAL - ec_word APPEAR - ec_word APPEARS - ec_word APPRECIATE - ec_word APPROVED - ec_pokemon2 ARBOK - ec_pokemon2 ARCANINE - ec_word ARE - ec_word AREN_T - ec_word ARENA_TRAP - ec_pokemon2 ARIADOS - ec_move2 ARM_THRUST - ec_pokemon1 ARMALDO - ec_move1 AROMATHERAPY - ec_pokemon1 ARON - ec_word AROUND - ec_word ARRGH - ec_pokemon2 ARTICUNO - ec_word AS - ec_word AS_IF - ec_word AS_MUCH_AS - ec_move2 ASSIST - ec_move1 ASTONISH - ec_word AT - ec_word ATTACK - ec_move2 ATTRACT - ec_word AUNT - ec_move1 AURORA_BEAM - ec_word AVANT_GARDE - ec_word AWAY - ec_word AWESOME - ec_word AWFUL - ec_word AWFULLY - ec_word AWW + .2byte EC_POKEMON(ALAKAZAM) + .2byte EC_POKEMON2(ALAKAZAM) + .2byte EC_WORD_ALL + .2byte EC_WORD_ALL_RIGHT + .2byte EC_WORD_ALLOW + .2byte EC_WORD_ALLOWANCE + .2byte EC_WORD_ALLY + .2byte EC_WORD_ALMOST + .2byte EC_WORD_ALONE + .2byte EC_WORD_ALSO + .2byte EC_WORD_ALT_COLOR + .2byte EC_POKEMON(ALTARIA) + .2byte EC_WORD_ALTHOUGH + .2byte EC_WORD_ALWAYS + .2byte EC_WORD_AM + .2byte EC_MOVE2(AMNESIA) + .2byte EC_POKEMON2(AMPHAROS) + .2byte EC_WORD_AMUSING + .2byte EC_WORD_AN + .2byte EC_MOVE(ANCIENT_POWER) + .2byte EC_WORD_AND + .2byte EC_WORD_ANGER + .2byte EC_WORD_ANGERS + .2byte EC_WORD_ANGRY + .2byte EC_WORD_ANIME + .2byte EC_POKEMON(ANORITH) + .2byte EC_WORD_ANOTHER + .2byte EC_WORD_ANTICIPATION + .2byte EC_WORD_ANY + .2byte EC_WORD_ANYWHERE + .2byte EC_WORD_APOLOGIZE + .2byte EC_WORD_APPEAL + .2byte EC_WORD_APPEAR + .2byte EC_WORD_APPEARS + .2byte EC_WORD_APPRECIATE + .2byte EC_WORD_APPROVED + .2byte EC_POKEMON2(ARBOK) + .2byte EC_POKEMON2(ARCANINE) + .2byte EC_WORD_ARE + .2byte EC_WORD_AREN_T + .2byte EC_WORD_ARENA_TRAP + .2byte EC_POKEMON2(ARIADOS) + .2byte EC_MOVE2(ARM_THRUST) + .2byte EC_POKEMON(ARMALDO) + .2byte EC_MOVE(AROMATHERAPY) + .2byte EC_POKEMON(ARON) + .2byte EC_WORD_AROUND + .2byte EC_WORD_ARRGH + .2byte EC_POKEMON2(ARTICUNO) + .2byte EC_WORD_AS + .2byte EC_WORD_AS_IF + .2byte EC_WORD_AS_MUCH_AS + .2byte EC_MOVE2(ASSIST) + .2byte EC_MOVE(ASTONISH) + .2byte EC_WORD_AT + .2byte EC_WORD_ATTACK + .2byte EC_MOVE2(ATTRACT) + .2byte EC_WORD_AUNT + .2byte EC_MOVE(AURORA_BEAM) + .2byte EC_WORD_AVANT_GARDE + .2byte EC_WORD_AWAY + .2byte EC_WORD_AWESOME + .2byte EC_WORD_AWFUL + .2byte EC_WORD_AWFULLY + .2byte EC_WORD_AWW .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 AZUMARILL - ec_pokemon2 AZUMARILL - ec_pokemon1 AZURILL + .2byte EC_POKEMON(AZUMARILL) + .2byte EC_POKEMON2(AZUMARILL) + .2byte EC_POKEMON(AZURILL) gEasyChatWordsByLetter_B:: @ 859D19C - ec_word BABE - ec_word BABY - ec_word BACK - ec_word BAD - ec_word BADLY - ec_word BAG - ec_pokemon1 BAGON - ec_word BALL - ec_pokemon1 BALTOY - ec_pokemon1 BANETTE - ec_word BANG - ec_pokemon1 BARBOACH - ec_move2 BARRAGE - ec_move2 BARRIER - ec_word BATH - ec_move2 BATON_PASS - ec_word BATTLE - ec_word BATTLE_ARMOR - ec_word BATTLE_ROOM - ec_word BATTLE_TOWER - ec_pokemon2 BAYLEEF - ec_word BE - ec_word BEAT - ec_move2 BEAT_UP - ec_pokemon1 BEAUTIFLY - ec_word BEAUTIFUL - ec_word BEAUTY - ec_word BECOMES - ec_pokemon2 BEEDRILL - ec_word BEEN - ec_word BEFORE - ec_word BEGINNING - ec_word BEING - ec_pokemon1 BELDUM - ec_word BELIEVE + .2byte EC_WORD_BABE + .2byte EC_WORD_BABY + .2byte EC_WORD_BACK + .2byte EC_WORD_BAD + .2byte EC_WORD_BADLY + .2byte EC_WORD_BAG + .2byte EC_POKEMON(BAGON) + .2byte EC_WORD_BALL + .2byte EC_POKEMON(BALTOY) + .2byte EC_POKEMON(BANETTE) + .2byte EC_WORD_BANG + .2byte EC_POKEMON(BARBOACH) + .2byte EC_MOVE2(BARRAGE) + .2byte EC_MOVE2(BARRIER) + .2byte EC_WORD_BATH + .2byte EC_MOVE2(BATON_PASS) + .2byte EC_WORD_BATTLE + .2byte EC_WORD_BATTLE_ARMOR + .2byte EC_WORD_BATTLE_ROOM + .2byte EC_WORD_BATTLE_TOWER + .2byte EC_POKEMON2(BAYLEEF) + .2byte EC_WORD_BE + .2byte EC_WORD_BEAT + .2byte EC_MOVE2(BEAT_UP) + .2byte EC_POKEMON(BEAUTIFLY) + .2byte EC_WORD_BEAUTIFUL + .2byte EC_WORD_BEAUTY + .2byte EC_WORD_BECOMES + .2byte EC_POKEMON2(BEEDRILL) + .2byte EC_WORD_BEEN + .2byte EC_WORD_BEFORE + .2byte EC_WORD_BEGINNING + .2byte EC_WORD_BEING + .2byte EC_POKEMON(BELDUM) + .2byte EC_WORD_BELIEVE .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 BELLOSSOM - ec_pokemon2 BELLOSSOM - ec_pokemon2 BELLSPROUT - ec_move2 BELLY_DRUM - ec_word BELONGS_TO - ec_word BELOW - ec_word BERRY - ec_word BESIDE - ec_word BEST - ec_word BETTER - ec_move1 BIDE - ec_word BIG - ec_word BIKE - ec_move1 BIND - ec_move1 BITE - ec_move2 BLAST_BURN - ec_pokemon2 BLASTOISE - ec_word BLAZE - ec_move2 BLAZE_KICK - ec_pokemon1 BLAZIKEN - ec_word BLEND - ec_pokemon2 BLISSEY - ec_move2 BLIZZARD - ec_move2 BLOCK - ec_word BOARD - ec_move2 BODY_SLAM - ec_move2 BONE_CLUB - ec_move2 BONE_RUSH - ec_move2 BONEMERANG - ec_word BOOK - ec_word BORED - ec_word BORING - ec_move2 BOUNCE - ec_word BOY - ec_word BRAG - ec_word BREAK - ec_pokemon1 BRELOOM - ec_move1 BRICK_BREAK - ec_word BROTHER - ec_move1 BUBBLE - ec_move2 BUBBLE_BEAM - ec_word BUG - ec_pokemon2 BULBASAUR - ec_move2 BULK_UP - ec_move2 BULLET_SEED - ec_word BUSY - ec_word BUT - ec_pokemon2 BUTTERFREE - ec_word BYE_BYE + .2byte EC_POKEMON(BELLOSSOM) + .2byte EC_POKEMON2(BELLOSSOM) + .2byte EC_POKEMON2(BELLSPROUT) + .2byte EC_MOVE2(BELLY_DRUM) + .2byte EC_WORD_BELONGS_TO + .2byte EC_WORD_BELOW + .2byte EC_WORD_BERRY + .2byte EC_WORD_BESIDE + .2byte EC_WORD_BEST + .2byte EC_WORD_BETTER + .2byte EC_MOVE(BIDE) + .2byte EC_WORD_BIG + .2byte EC_WORD_BIKE + .2byte EC_MOVE(BIND) + .2byte EC_MOVE(BITE) + .2byte EC_MOVE2(BLAST_BURN) + .2byte EC_POKEMON2(BLASTOISE) + .2byte EC_WORD_BLAZE + .2byte EC_MOVE2(BLAZE_KICK) + .2byte EC_POKEMON(BLAZIKEN) + .2byte EC_WORD_BLEND + .2byte EC_POKEMON2(BLISSEY) + .2byte EC_MOVE2(BLIZZARD) + .2byte EC_MOVE2(BLOCK) + .2byte EC_WORD_BOARD + .2byte EC_MOVE2(BODY_SLAM) + .2byte EC_MOVE2(BONE_CLUB) + .2byte EC_MOVE2(BONE_RUSH) + .2byte EC_MOVE2(BONEMERANG) + .2byte EC_WORD_BOOK + .2byte EC_WORD_BORED + .2byte EC_WORD_BORING + .2byte EC_MOVE2(BOUNCE) + .2byte EC_WORD_BOY + .2byte EC_WORD_BRAG + .2byte EC_WORD_BREAK + .2byte EC_POKEMON(BRELOOM) + .2byte EC_MOVE(BRICK_BREAK) + .2byte EC_WORD_BROTHER + .2byte EC_MOVE(BUBBLE) + .2byte EC_MOVE2(BUBBLE_BEAM) + .2byte EC_WORD_BUG + .2byte EC_POKEMON2(BULBASAUR) + .2byte EC_MOVE2(BULK_UP) + .2byte EC_MOVE2(BULLET_SEED) + .2byte EC_WORD_BUSY + .2byte EC_WORD_BUT + .2byte EC_POKEMON2(BUTTERFREE) + .2byte EC_WORD_BYE_BYE gEasyChatWordsByLetter_C:: @ 859D248 - ec_pokemon1 CACNEA - ec_pokemon1 CACTURNE - ec_move2 CALM_MIND - ec_word CAME - ec_word CAMERA - ec_pokemon1 CAMERUPT - ec_move2 CAMOUFLAGE - ec_word CAN - ec_word CAN_WIN - ec_word CAN_T - ec_word CAN_T_WIN - ec_word CANCEL - ec_word CAPABLE - ec_word CARDS - ec_word CARE - ec_word CARES - ec_pokemon1 CARVANHA - ec_pokemon1 CASCOON - ec_word CASE - ec_pokemon1 CASTFORM - ec_pokemon2 CATERPIE - ec_word CAUSE - ec_pokemon2 CELEBI - ec_word CENTER - ec_word CHALLENGE - ec_word CHANGE - ec_word CHANNEL - ec_pokemon2 CHANSEY - ec_move1 CHARGE - ec_pokemon2 CHARIZARD - ec_move1 CHARM - ec_pokemon2 CHARMANDER - ec_pokemon2 CHARMELEON - ec_word CHAT - ec_pokemon2 CHIKORITA - ec_word CHILD_S_PLAY - ec_word CHILDREN - ec_pokemon1 CHIMECHO + .2byte EC_POKEMON(CACNEA) + .2byte EC_POKEMON(CACTURNE) + .2byte EC_MOVE2(CALM_MIND) + .2byte EC_WORD_CAME + .2byte EC_WORD_CAMERA + .2byte EC_POKEMON(CAMERUPT) + .2byte EC_MOVE2(CAMOUFLAGE) + .2byte EC_WORD_CAN + .2byte EC_WORD_CAN_WIN + .2byte EC_WORD_CAN_T + .2byte EC_WORD_CAN_T_WIN + .2byte EC_WORD_CANCEL + .2byte EC_WORD_CAPABLE + .2byte EC_WORD_CARDS + .2byte EC_WORD_CARE + .2byte EC_WORD_CARES + .2byte EC_POKEMON(CARVANHA) + .2byte EC_POKEMON(CASCOON) + .2byte EC_WORD_CASE + .2byte EC_POKEMON(CASTFORM) + .2byte EC_POKEMON2(CATERPIE) + .2byte EC_WORD_CAUSE + .2byte EC_POKEMON2(CELEBI) + .2byte EC_WORD_CENTER + .2byte EC_WORD_CHALLENGE + .2byte EC_WORD_CHANGE + .2byte EC_WORD_CHANNEL + .2byte EC_POKEMON2(CHANSEY) + .2byte EC_MOVE(CHARGE) + .2byte EC_POKEMON2(CHARIZARD) + .2byte EC_MOVE(CHARM) + .2byte EC_POKEMON2(CHARMANDER) + .2byte EC_POKEMON2(CHARMELEON) + .2byte EC_WORD_CHAT + .2byte EC_POKEMON2(CHIKORITA) + .2byte EC_WORD_CHILD_S_PLAY + .2byte EC_WORD_CHILDREN + .2byte EC_POKEMON(CHIMECHO) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 CHINCHOU - ec_pokemon2 CHINCHOU - ec_word CHLOROPHYLL - ec_word CHOICE - ec_word CHOOSE - ec_word CHORES - ec_move1 CLAMP - ec_pokemon1 CLAMPERL - ec_word CLASS - ec_pokemon1 CLAYDOL - ec_word CLEAR_BODY - ec_pokemon2 CLEFABLE - ec_pokemon2 CLEFAIRY - ec_pokemon2 CLEFFA - ec_word CLOSE - ec_word CLOUD_NINE - ec_pokemon2 CLOYSTER - ec_word COLD - ec_word COLLECT - ec_word COLLECTION - ec_word COLOR - ec_word COLOR_CHANGE - ec_pokemon1 COMBUSKEN - ec_word COME - ec_word COME_ON - ec_word COME_OVER - ec_move2 COMET_PUNCH - ec_word COMICS - ec_word COMMEMORATE - ec_word COMPLETE - ec_word COMPOUNDEYES - ec_word CONCEDE - ec_move1 CONFUSE_RAY - ec_word CONFUSED - ec_move2 CONFUSION - ec_word CONGRATS - ec_move1 CONSTRICT - ec_word CONTEST - ec_word CONVERSATION - ec_move2 CONVERSION - ec_move2 CONVERSION_2 - ec_word COOL - ec_word COOLNESS - ec_pokemon1 CORPHISH - ec_word CORRECT + .2byte EC_POKEMON(CHINCHOU) + .2byte EC_POKEMON2(CHINCHOU) + .2byte EC_WORD_CHLOROPHYLL + .2byte EC_WORD_CHOICE + .2byte EC_WORD_CHOOSE + .2byte EC_WORD_CHORES + .2byte EC_MOVE(CLAMP) + .2byte EC_POKEMON(CLAMPERL) + .2byte EC_WORD_CLASS + .2byte EC_POKEMON(CLAYDOL) + .2byte EC_WORD_CLEAR_BODY + .2byte EC_POKEMON2(CLEFABLE) + .2byte EC_POKEMON2(CLEFAIRY) + .2byte EC_POKEMON2(CLEFFA) + .2byte EC_WORD_CLOSE + .2byte EC_WORD_CLOUD_NINE + .2byte EC_POKEMON2(CLOYSTER) + .2byte EC_WORD_COLD + .2byte EC_WORD_COLLECT + .2byte EC_WORD_COLLECTION + .2byte EC_WORD_COLOR + .2byte EC_WORD_COLOR_CHANGE + .2byte EC_POKEMON(COMBUSKEN) + .2byte EC_WORD_COME + .2byte EC_WORD_COME_ON + .2byte EC_WORD_COME_OVER + .2byte EC_MOVE2(COMET_PUNCH) + .2byte EC_WORD_COMICS + .2byte EC_WORD_COMMEMORATE + .2byte EC_WORD_COMPLETE + .2byte EC_WORD_COMPOUNDEYES + .2byte EC_WORD_CONCEDE + .2byte EC_MOVE(CONFUSE_RAY) + .2byte EC_WORD_CONFUSED + .2byte EC_MOVE2(CONFUSION) + .2byte EC_WORD_CONGRATS + .2byte EC_MOVE(CONSTRICT) + .2byte EC_WORD_CONTEST + .2byte EC_WORD_CONVERSATION + .2byte EC_MOVE2(CONVERSION) + .2byte EC_MOVE2(CONVERSION_2) + .2byte EC_WORD_COOL + .2byte EC_WORD_COOLNESS + .2byte EC_POKEMON(CORPHISH) + .2byte EC_WORD_CORRECT .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 CORSOLA - ec_pokemon2 CORSOLA - ec_move1 COSMIC_POWER - ec_move2 COTTON_SPORE - ec_word COULD - ec_word COULDN_T - ec_word COUNT_ON - ec_move1 COUNTER - ec_word COUPLE - ec_move2 COVET - ec_move1 CRABHAMMER - ec_pokemon1 CRADILY - ec_pokemon1 CRAWDAUNT - ec_word CRIES + .2byte EC_POKEMON(CORSOLA) + .2byte EC_POKEMON2(CORSOLA) + .2byte EC_MOVE(COSMIC_POWER) + .2byte EC_MOVE2(COTTON_SPORE) + .2byte EC_WORD_COULD + .2byte EC_WORD_COULDN_T + .2byte EC_WORD_COUNT_ON + .2byte EC_MOVE(COUNTER) + .2byte EC_WORD_COUPLE + .2byte EC_MOVE2(COVET) + .2byte EC_MOVE(CRABHAMMER) + .2byte EC_POKEMON(CRADILY) + .2byte EC_POKEMON(CRAWDAUNT) + .2byte EC_WORD_CRIES .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 CROBAT - ec_pokemon2 CROBAT - ec_pokemon2 CROCONAW - ec_move1 CROSS_CHOP - ec_move1 CRUNCH - ec_word CRUSH - ec_move2 CRUSH_CLAW - ec_word CRY - ec_pokemon2 CUBONE - ec_word CURRENT - ec_move2 CURSE - ec_move1 CUT - ec_word CUTE - ec_word CUTE_CHARM - ec_word CUTENESS - ec_pokemon2 CYNDAQUIL + .2byte EC_POKEMON(CROBAT) + .2byte EC_POKEMON2(CROBAT) + .2byte EC_POKEMON2(CROCONAW) + .2byte EC_MOVE(CROSS_CHOP) + .2byte EC_MOVE(CRUNCH) + .2byte EC_WORD_CRUSH + .2byte EC_MOVE2(CRUSH_CLAW) + .2byte EC_WORD_CRY + .2byte EC_POKEMON2(CUBONE) + .2byte EC_WORD_CURRENT + .2byte EC_MOVE2(CURSE) + .2byte EC_MOVE(CUT) + .2byte EC_WORD_CUTE + .2byte EC_WORD_CUTE_CHARM + .2byte EC_WORD_CUTENESS + .2byte EC_POKEMON2(CYNDAQUIL) gEasyChatWordsByLetter_D:: @ 859D336 - ec_word DAILY - ec_word DAMP - ec_word DANCE - ec_word DANGER - ec_word DARK - ec_word DARN - ec_word DATE - ec_word DAUGHTER - ec_word DAY - ec_word DAYS - ec_word DAYTIME - ec_word DECIDE - ec_word DECIDED - ec_word DEEP - ec_word DEFEATED - ec_move2 DEFENSE_CURL - ec_pokemon1 DELCATTY - ec_pokemon2 DELIBIRD - ec_pokemon1 DEOXYS - ec_word DEPT_STORE - ec_word DESIGN - ec_word DESTINY - ec_move2 DESTINY_BOND - ec_word DESTROYED - ec_move2 DETECT - ec_pokemon2 DEWGONG - ec_word DID - ec_word DIDN_T - ec_word DIET - ec_word DIFFERENT - ec_move1 DIG - ec_word DIGITAL - ec_pokemon2 DIGLETT - ec_word DIRECT - ec_move1 DISABLE - ec_word DISAPPEAR - ec_word DISAPPOINT - ec_word DISAPPOINTED - ec_word DISAPPOINTS - ec_word DISASTER - ec_word DISLIKE - ec_word DISLIKES - ec_pokemon2 DITTO - ec_move2 DIVE - ec_move2 DIZZY_PUNCH - ec_word DO - ec_word DOCILE + .2byte EC_WORD_DAILY + .2byte EC_WORD_DAMP + .2byte EC_WORD_DANCE + .2byte EC_WORD_DANGER + .2byte EC_WORD_DARK + .2byte EC_WORD_DARN + .2byte EC_WORD_DATE + .2byte EC_WORD_DAUGHTER + .2byte EC_WORD_DAY + .2byte EC_WORD_DAYS + .2byte EC_WORD_DAYTIME + .2byte EC_WORD_DECIDE + .2byte EC_WORD_DECIDED + .2byte EC_WORD_DEEP + .2byte EC_WORD_DEFEATED + .2byte EC_MOVE2(DEFENSE_CURL) + .2byte EC_POKEMON(DELCATTY) + .2byte EC_POKEMON2(DELIBIRD) + .2byte EC_POKEMON(DEOXYS) + .2byte EC_WORD_DEPT_STORE + .2byte EC_WORD_DESIGN + .2byte EC_WORD_DESTINY + .2byte EC_MOVE2(DESTINY_BOND) + .2byte EC_WORD_DESTROYED + .2byte EC_MOVE2(DETECT) + .2byte EC_POKEMON2(DEWGONG) + .2byte EC_WORD_DID + .2byte EC_WORD_DIDN_T + .2byte EC_WORD_DIET + .2byte EC_WORD_DIFFERENT + .2byte EC_MOVE(DIG) + .2byte EC_WORD_DIGITAL + .2byte EC_POKEMON2(DIGLETT) + .2byte EC_WORD_DIRECT + .2byte EC_MOVE(DISABLE) + .2byte EC_WORD_DISAPPEAR + .2byte EC_WORD_DISAPPOINT + .2byte EC_WORD_DISAPPOINTED + .2byte EC_WORD_DISAPPOINTS + .2byte EC_WORD_DISASTER + .2byte EC_WORD_DISLIKE + .2byte EC_WORD_DISLIKES + .2byte EC_POKEMON2(DITTO) + .2byte EC_MOVE2(DIVE) + .2byte EC_MOVE2(DIZZY_PUNCH) + .2byte EC_WORD_DO + .2byte EC_WORD_DOCILE .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 DODRIO - ec_pokemon2 DODRIO + .2byte EC_POKEMON(DODRIO) + .2byte EC_POKEMON2(DODRIO) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 DODUO - ec_pokemon2 DODUO - ec_word DOES - ec_word DOESN_T - ec_word DON_T - ec_word DONE + .2byte EC_POKEMON(DODUO) + .2byte EC_POKEMON2(DODUO) + .2byte EC_WORD_DOES + .2byte EC_WORD_DOESN_T + .2byte EC_WORD_DON_T + .2byte EC_WORD_DONE .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 DONPHAN - ec_pokemon2 DONPHAN - ec_move2 DOOM_DESIRE - ec_move2 DOUBLE_KICK - ec_move1 DOUBLE_TEAM - ec_move1 DOUBLE_EDGE - ec_move1 DOUBLE_SLAP - ec_word DOWN - ec_word DOWNCAST - ec_word DRAGON - ec_move2 DRAGON_CLAW - ec_move2 DRAGON_DANCE - ec_move2 DRAGON_RAGE - ec_pokemon2 DRAGONAIR - ec_move2 DRAGON_BREATH - ec_pokemon2 DRAGONITE - ec_pokemon2 DRATINI - ec_word DREAM - ec_move2 DREAM_EATER - ec_move2 DRILL_PECK - ec_word DRINK - ec_word DRINKS - ec_word DRIZZLE - ec_word DROOLING - ec_word DROUGHT - ec_pokemon2 DROWZEE - ec_word DUDE - ec_pokemon2 DUGTRIO - ec_pokemon2 DUNSPARCE - ec_pokemon1 DUSCLOPS - ec_pokemon1 DUSKULL - ec_pokemon1 DUSTOX - ec_move2 DYNAMIC_PUNCH + .2byte EC_POKEMON(DONPHAN) + .2byte EC_POKEMON2(DONPHAN) + .2byte EC_MOVE2(DOOM_DESIRE) + .2byte EC_MOVE2(DOUBLE_KICK) + .2byte EC_MOVE(DOUBLE_TEAM) + .2byte EC_MOVE(DOUBLE_EDGE) + .2byte EC_MOVE(DOUBLE_SLAP) + .2byte EC_WORD_DOWN + .2byte EC_WORD_DOWNCAST + .2byte EC_WORD_DRAGON + .2byte EC_MOVE2(DRAGON_CLAW) + .2byte EC_MOVE2(DRAGON_DANCE) + .2byte EC_MOVE2(DRAGON_RAGE) + .2byte EC_POKEMON2(DRAGONAIR) + .2byte EC_MOVE2(DRAGON_BREATH) + .2byte EC_POKEMON2(DRAGONITE) + .2byte EC_POKEMON2(DRATINI) + .2byte EC_WORD_DREAM + .2byte EC_MOVE2(DREAM_EATER) + .2byte EC_MOVE2(DRILL_PECK) + .2byte EC_WORD_DRINK + .2byte EC_WORD_DRINKS + .2byte EC_WORD_DRIZZLE + .2byte EC_WORD_DROOLING + .2byte EC_WORD_DROUGHT + .2byte EC_POKEMON2(DROWZEE) + .2byte EC_WORD_DUDE + .2byte EC_POKEMON2(DUGTRIO) + .2byte EC_POKEMON2(DUNSPARCE) + .2byte EC_POKEMON(DUSCLOPS) + .2byte EC_POKEMON(DUSKULL) + .2byte EC_POKEMON(DUSTOX) + .2byte EC_MOVE2(DYNAMIC_PUNCH) gEasyChatWordsByLetter_E:: @ 859D3F2 - ec_word EARLIER - ec_word EARLY_BIRD - ec_move1 EARTHQUAKE - ec_word EASY - ec_word EAT - ec_word EATS - ec_word EEK - ec_pokemon2 EEVEE - ec_word EFFECT_SPORE - ec_word EGG - ec_move2 EGG_BOMB - ec_word EH_QUES - ec_word EHEHE - ec_pokemon2 EKANS - ec_pokemon2 ELECTABUZZ - ec_word ELECTRIC - ec_pokemon1 ELECTRIKE + .2byte EC_WORD_EARLIER + .2byte EC_WORD_EARLY_BIRD + .2byte EC_MOVE(EARTHQUAKE) + .2byte EC_WORD_EASY + .2byte EC_WORD_EAT + .2byte EC_WORD_EATS + .2byte EC_WORD_EEK + .2byte EC_POKEMON2(EEVEE) + .2byte EC_WORD_EFFECT_SPORE + .2byte EC_WORD_EGG + .2byte EC_MOVE2(EGG_BOMB) + .2byte EC_WORD_EH_QUES + .2byte EC_WORD_EHEHE + .2byte EC_POKEMON2(EKANS) + .2byte EC_POKEMON2(ELECTABUZZ) + .2byte EC_WORD_ELECTRIC + .2byte EC_POKEMON(ELECTRIKE) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 ELECTRODE - ec_pokemon2 ELECTRODE - ec_pokemon2 ELEKID - ec_word ELSE - ec_move2 EMBER - ec_word EMERALD - ec_move1 ENCORE - ec_word ENCYCLOPEDIA - ec_word END - ec_move1 ENDEAVOR - ec_move1 ENDURE - ec_word ENJOY - ec_word ENJOYS - ec_word ENOUGH - ec_pokemon2 ENTEI - ec_word ENTERTAINING - ec_move2 ERUPTION - ec_word ESCAPE - ec_pokemon2 ESPEON - ec_word EVEN_SO - ec_word EVENT - ec_word EVENTS - ec_word EVER - ec_word EVERY - ec_word EVOLUTION - ec_word EVOLVE - ec_word EXCELLENT - ec_word EXCESS - ec_word EXCITE - ec_word EXCITING - ec_word EXCUSE - ec_word EXCUSE_ME - ec_pokemon2 EXEGGCUTE - ec_pokemon2 EXEGGUTOR - ec_word EXISTS - ec_word EXPENSIVE - ec_move2 EXPLOSION - ec_pokemon1 EXPLOUD - ec_move1 EXTRASENSORY - ec_move1 EXTREME_SPEED + .2byte EC_POKEMON(ELECTRODE) + .2byte EC_POKEMON2(ELECTRODE) + .2byte EC_POKEMON2(ELEKID) + .2byte EC_WORD_ELSE + .2byte EC_MOVE2(EMBER) + .2byte EC_WORD_EMERALD + .2byte EC_MOVE(ENCORE) + .2byte EC_WORD_ENCYCLOPEDIA + .2byte EC_WORD_END + .2byte EC_MOVE(ENDEAVOR) + .2byte EC_MOVE(ENDURE) + .2byte EC_WORD_ENJOY + .2byte EC_WORD_ENJOYS + .2byte EC_WORD_ENOUGH + .2byte EC_POKEMON2(ENTEI) + .2byte EC_WORD_ENTERTAINING + .2byte EC_MOVE2(ERUPTION) + .2byte EC_WORD_ESCAPE + .2byte EC_POKEMON2(ESPEON) + .2byte EC_WORD_EVEN_SO + .2byte EC_WORD_EVENT + .2byte EC_WORD_EVENTS + .2byte EC_WORD_EVER + .2byte EC_WORD_EVERY + .2byte EC_WORD_EVOLUTION + .2byte EC_WORD_EVOLVE + .2byte EC_WORD_EXCELLENT + .2byte EC_WORD_EXCESS + .2byte EC_WORD_EXCITE + .2byte EC_WORD_EXCITING + .2byte EC_WORD_EXCUSE + .2byte EC_WORD_EXCUSE_ME + .2byte EC_POKEMON2(EXEGGCUTE) + .2byte EC_POKEMON2(EXEGGUTOR) + .2byte EC_WORD_EXISTS + .2byte EC_WORD_EXPENSIVE + .2byte EC_MOVE2(EXPLOSION) + .2byte EC_POKEMON(EXPLOUD) + .2byte EC_MOVE(EXTRASENSORY) + .2byte EC_MOVE(EXTREME_SPEED) gEasyChatWordsByLetter_F:: @ 859D468 - ec_word FABULOUS - ec_move1 FACADE - ec_word FAINT - ec_move2 FAINT_ATTACK - ec_word FAINTED - ec_move2 FAKE_OUT - ec_move1 FAKE_TEARS - ec_word FALL - ec_move2 FALSE_SWIPE - ec_word FAMILY - ec_word FANTASTIC - ec_word FAR - ec_pokemon2 FARFETCH_D - ec_word FASHION - ec_word FAST - ec_word FATHER - ec_word FEAR - ec_pokemon2 FEAROW - ec_move2 FEATHER_DANCE - ec_pokemon1 FEEBAS - ec_word FEELING - ec_pokemon2 FERALIGATR - ec_word FESTIVAL - ec_word FEVER - ec_word FIERY - ec_word FIGHT - ec_word FIGHTING - ec_word FIGHTS - ec_word FINAL - ec_word FINALLY - ec_word FINISH - ec_word FIRE - ec_move2 FIRE_BLAST - ec_move2 FIRE_PUNCH - ec_move2 FIRE_SPIN - ec_word FISHING - ec_move1 FISSURE - ec_pokemon2 FLAAFFY - ec_move1 FLAIL - ec_word FLAME - ec_word FLAME_BODY - ec_move1 FLAME_WHEEL - ec_move1 FLAMETHROWER - ec_pokemon2 FLAREON - ec_move2 FLASH - ec_word FLASH_FIRE - ec_word FLATTEN - ec_move1 FLATTER - ec_word FLOWERS - ec_move1 FLY - ec_pokemon1 FLYGON - ec_word FLYING - ec_move1 FOCUS_ENERGY - ec_move1 FOCUS_PUNCH - ec_word FOE - ec_move1 FOLLOW_ME - ec_word FOR - ec_word FOR_NOW - ec_word FORECAST - ec_move2 FORESIGHT - ec_word FOREVER - ec_word FORGET - ec_word FORGETS - ec_word FORGIVE - ec_pokemon2 FORRETRESS - ec_move2 FRENZY_PLANT - ec_word FRIDAY - ec_word FRIEND - ec_word FROM - ec_word FRONT - ec_word FRONTIER - ec_move2 FRUSTRATION - ec_word FUFUFU - ec_word FULL - ec_word FUNNY - ec_pokemon2 FURRET - ec_move2 FURY_ATTACK - ec_move2 FURY_CUTTER - ec_move2 FURY_SWIPES - ec_move2 FUTURE_SIGHT + .2byte EC_WORD_FABULOUS + .2byte EC_MOVE(FACADE) + .2byte EC_WORD_FAINT + .2byte EC_MOVE2(FAINT_ATTACK) + .2byte EC_WORD_FAINTED + .2byte EC_MOVE2(FAKE_OUT) + .2byte EC_MOVE(FAKE_TEARS) + .2byte EC_WORD_FALL + .2byte EC_MOVE2(FALSE_SWIPE) + .2byte EC_WORD_FAMILY + .2byte EC_WORD_FANTASTIC + .2byte EC_WORD_FAR + .2byte EC_POKEMON2(FARFETCHD) + .2byte EC_WORD_FASHION + .2byte EC_WORD_FAST + .2byte EC_WORD_FATHER + .2byte EC_WORD_FEAR + .2byte EC_POKEMON2(FEAROW) + .2byte EC_MOVE2(FEATHER_DANCE) + .2byte EC_POKEMON(FEEBAS) + .2byte EC_WORD_FEELING + .2byte EC_POKEMON2(FERALIGATR) + .2byte EC_WORD_FESTIVAL + .2byte EC_WORD_FEVER + .2byte EC_WORD_FIERY + .2byte EC_WORD_FIGHT + .2byte EC_WORD_FIGHTING + .2byte EC_WORD_FIGHTS + .2byte EC_WORD_FINAL + .2byte EC_WORD_FINALLY + .2byte EC_WORD_FINISH + .2byte EC_WORD_FIRE + .2byte EC_MOVE2(FIRE_BLAST) + .2byte EC_MOVE2(FIRE_PUNCH) + .2byte EC_MOVE2(FIRE_SPIN) + .2byte EC_WORD_FISHING + .2byte EC_MOVE(FISSURE) + .2byte EC_POKEMON2(FLAAFFY) + .2byte EC_MOVE(FLAIL) + .2byte EC_WORD_FLAME + .2byte EC_WORD_FLAME_BODY + .2byte EC_MOVE(FLAME_WHEEL) + .2byte EC_MOVE(FLAMETHROWER) + .2byte EC_POKEMON2(FLAREON) + .2byte EC_MOVE2(FLASH) + .2byte EC_WORD_FLASH_FIRE + .2byte EC_WORD_FLATTEN + .2byte EC_MOVE(FLATTER) + .2byte EC_WORD_FLOWERS + .2byte EC_MOVE(FLY) + .2byte EC_POKEMON(FLYGON) + .2byte EC_WORD_FLYING + .2byte EC_MOVE(FOCUS_ENERGY) + .2byte EC_MOVE(FOCUS_PUNCH) + .2byte EC_WORD_FOE + .2byte EC_MOVE(FOLLOW_ME) + .2byte EC_WORD_FOR + .2byte EC_WORD_FOR_NOW + .2byte EC_WORD_FORECAST + .2byte EC_MOVE2(FORESIGHT) + .2byte EC_WORD_FOREVER + .2byte EC_WORD_FORGET + .2byte EC_WORD_FORGETS + .2byte EC_WORD_FORGIVE + .2byte EC_POKEMON2(FORRETRESS) + .2byte EC_MOVE2(FRENZY_PLANT) + .2byte EC_WORD_FRIDAY + .2byte EC_WORD_FRIEND + .2byte EC_WORD_FROM + .2byte EC_WORD_FRONT + .2byte EC_WORD_FRONTIER + .2byte EC_MOVE2(FRUSTRATION) + .2byte EC_WORD_FUFUFU + .2byte EC_WORD_FULL + .2byte EC_WORD_FUNNY + .2byte EC_POKEMON2(FURRET) + .2byte EC_MOVE2(FURY_ATTACK) + .2byte EC_MOVE2(FURY_CUTTER) + .2byte EC_MOVE2(FURY_SWIPES) + .2byte EC_MOVE2(FUTURE_SIGHT) gEasyChatWordsByLetter_G:: @ 859D508 - ec_word GAME - ec_pokemon1 GARDEVOIR - ec_pokemon2 GASTLY - ec_pokemon2 GENGAR - ec_word GENIUS + .2byte EC_WORD_GAME + .2byte EC_POKEMON(GARDEVOIR) + .2byte EC_POKEMON2(GASTLY) + .2byte EC_POKEMON2(GENGAR) + .2byte EC_WORD_GENIUS .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 GEODUDE - ec_pokemon2 GEODUDE - ec_word GET - ec_word GETS - ec_word GHOST - ec_word GIDDY - ec_move1 GIGA_DRAIN - ec_word GIGGLE - ec_word GIMME + .2byte EC_POKEMON(GEODUDE) + .2byte EC_POKEMON2(GEODUDE) + .2byte EC_WORD_GET + .2byte EC_WORD_GETS + .2byte EC_WORD_GHOST + .2byte EC_WORD_GIDDY + .2byte EC_MOVE(GIGA_DRAIN) + .2byte EC_WORD_GIGGLE + .2byte EC_WORD_GIMME .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 GIRAFARIG - ec_pokemon2 GIRAFARIG - ec_word GIRL - ec_word GIVE - ec_word GIVE_ME - ec_word GIVE_UP - ec_word GIVES - ec_pokemon1 GLALIE - ec_move2 GLARE - ec_pokemon2 GLIGAR + .2byte EC_POKEMON(GIRAFARIG) + .2byte EC_POKEMON2(GIRAFARIG) + .2byte EC_WORD_GIRL + .2byte EC_WORD_GIVE + .2byte EC_WORD_GIVE_ME + .2byte EC_WORD_GIVE_UP + .2byte EC_WORD_GIVES + .2byte EC_POKEMON(GLALIE) + .2byte EC_MOVE2(GLARE) + .2byte EC_POKEMON2(GLIGAR) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 GLOOM - ec_pokemon2 GLOOM - ec_word GO - ec_word GO_AHEAD - ec_word GO_EASY - ec_word GO_HOME - ec_word GOES - ec_word GOING + .2byte EC_POKEMON(GLOOM) + .2byte EC_POKEMON2(GLOOM) + .2byte EC_WORD_GO + .2byte EC_WORD_GO_AHEAD + .2byte EC_WORD_GO_EASY + .2byte EC_WORD_GO_HOME + .2byte EC_WORD_GOES + .2byte EC_WORD_GOING .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 GOLBAT - ec_pokemon2 GOLBAT - ec_word GOLD + .2byte EC_POKEMON(GOLBAT) + .2byte EC_POKEMON2(GOLBAT) + .2byte EC_WORD_GOLD .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 GOLDEEN - ec_pokemon2 GOLDEEN + .2byte EC_POKEMON(GOLDEEN) + .2byte EC_POKEMON2(GOLDEEN) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 GOLDUCK - ec_pokemon2 GOLDUCK + .2byte EC_POKEMON(GOLDUCK) + .2byte EC_POKEMON2(GOLDUCK) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 GOLEM - ec_pokemon2 GOLEM - ec_word GOOD - ec_word GOOD_BYE - ec_pokemon1 GOREBYSS - ec_word GOT - ec_word GOTCHA - ec_word GOURMET - ec_word GRAAAH - ec_pokemon2 GRANBULL - ec_word GRANDFATHER - ec_word GRANDMOTHER - ec_word GRASS - ec_move1 GRASS_WHISTLE + .2byte EC_POKEMON(GOLEM) + .2byte EC_POKEMON2(GOLEM) + .2byte EC_WORD_GOOD + .2byte EC_WORD_GOOD_BYE + .2byte EC_POKEMON(GOREBYSS) + .2byte EC_WORD_GOT + .2byte EC_WORD_GOTCHA + .2byte EC_WORD_GOURMET + .2byte EC_WORD_GRAAAH + .2byte EC_POKEMON2(GRANBULL) + .2byte EC_WORD_GRANDFATHER + .2byte EC_WORD_GRANDMOTHER + .2byte EC_WORD_GRASS + .2byte EC_MOVE(GRASS_WHISTLE) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 GRAVELER - ec_pokemon2 GRAVELER - ec_word GREAT - ec_word GREEN + .2byte EC_POKEMON(GRAVELER) + .2byte EC_POKEMON2(GRAVELER) + .2byte EC_WORD_GREAT + .2byte EC_WORD_GREEN .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 GRIMER - ec_pokemon2 GRIMER - ec_pokemon1 GROUDON - ec_word GROUND - ec_word GROUP - ec_pokemon1 GROVYLE - ec_move2 GROWL - ec_pokemon2 GROWLITHE - ec_move1 GROWTH - ec_move1 GRUDGE - ec_pokemon1 GRUMPIG - ec_word GUARD - ec_move2 GUILLOTINE - ec_pokemon1 GULPIN - ec_move1 GUST - ec_word GUTS - ec_word GUTSY - ec_word GWAH - ec_word GWAHAHAHA + .2byte EC_POKEMON(GRIMER) + .2byte EC_POKEMON2(GRIMER) + .2byte EC_POKEMON(GROUDON) + .2byte EC_WORD_GROUND + .2byte EC_WORD_GROUP + .2byte EC_POKEMON(GROVYLE) + .2byte EC_MOVE2(GROWL) + .2byte EC_POKEMON2(GROWLITHE) + .2byte EC_MOVE(GROWTH) + .2byte EC_MOVE(GRUDGE) + .2byte EC_POKEMON(GRUMPIG) + .2byte EC_WORD_GUARD + .2byte EC_MOVE2(GUILLOTINE) + .2byte EC_POKEMON(GULPIN) + .2byte EC_MOVE(GUST) + .2byte EC_WORD_GUTS + .2byte EC_WORD_GUTSY + .2byte EC_WORD_GWAH + .2byte EC_WORD_GWAHAHAHA .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 GYARADOS - ec_pokemon2 GYARADOS + .2byte EC_POKEMON(GYARADOS) + .2byte EC_POKEMON2(GYARADOS) gEasyChatWordsByLetter_H:: @ 859D5CC - ec_word HABIT - ec_word HAH - ec_word HAHAHA - ec_move1 HAIL - ec_word HALL_OF_FAME - ec_word HAPPENING - ec_word HAPPILY - ec_word HAPPINESS - ec_word HAPPY - ec_word HARD - ec_move1 HARDEN - ec_pokemon1 HARIYAMA - ec_word HAS - ec_word HASSLE - ec_pokemon2 HAUNTER - ec_word HAVE - ec_word HAVEN_T - ec_move1 HAZE - ec_word HE - ec_word HE_S - ec_move1 HEADBUTT - ec_move1 HEAL_BELL - ec_word HEALTHY - ec_word HEAR - ec_word HEARING - ec_word HEARS - ec_word HEART - ec_move2 HEAT_WAVE - ec_word HEH - ec_word HEHE - ec_word HEHEHE - ec_word HELLO - ec_move2 HELPING_HAND - ec_word HER + .2byte EC_WORD_HABIT + .2byte EC_WORD_HAH + .2byte EC_WORD_HAHAHA + .2byte EC_MOVE(HAIL) + .2byte EC_WORD_HALL_OF_FAME + .2byte EC_WORD_HAPPENING + .2byte EC_WORD_HAPPILY + .2byte EC_WORD_HAPPINESS + .2byte EC_WORD_HAPPY + .2byte EC_WORD_HARD + .2byte EC_MOVE(HARDEN) + .2byte EC_POKEMON(HARIYAMA) + .2byte EC_WORD_HAS + .2byte EC_WORD_HASSLE + .2byte EC_POKEMON2(HAUNTER) + .2byte EC_WORD_HAVE + .2byte EC_WORD_HAVEN_T + .2byte EC_MOVE(HAZE) + .2byte EC_WORD_HE + .2byte EC_WORD_HE_S + .2byte EC_MOVE(HEADBUTT) + .2byte EC_MOVE(HEAL_BELL) + .2byte EC_WORD_HEALTHY + .2byte EC_WORD_HEAR + .2byte EC_WORD_HEARING + .2byte EC_WORD_HEARS + .2byte EC_WORD_HEART + .2byte EC_MOVE2(HEAT_WAVE) + .2byte EC_WORD_HEH + .2byte EC_WORD_HEHE + .2byte EC_WORD_HEHEHE + .2byte EC_WORD_HELLO + .2byte EC_MOVE2(HELPING_HAND) + .2byte EC_WORD_HER .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 HERACROSS - ec_pokemon2 HERACROSS - ec_word HERE - ec_word HERE_GOES - ec_word HERE_I_COME - ec_word HERE_IT_IS - ec_word HERO - ec_word HEROINE - ec_word HERS - ec_word HEY - ec_word HEY_THERE - ec_word HEY_QUES - ec_word HI - ec_move2 HI_JUMP_KICK - ec_word HIDDEN - ec_move2 HIDDEN_POWER - ec_word HIGH - ec_word HIGHS - ec_word HIM - ec_word HIP_AND - ec_word HIS - ec_word HIT - ec_pokemon2 HITMONCHAN - ec_pokemon2 HITMONLEE - ec_pokemon2 HITMONTOP - ec_word HIYAH - ec_word HMM - ec_pokemon2 HO_OH - ec_word HOBBY - ec_word HOHOHO - ec_word HOLIDAY - ec_word HOME - ec_word HOO_HAH - ec_pokemon2 HOOTHOOT - ec_word HOPELESS - ec_pokemon2 HOPPIP - ec_move2 HORN_ATTACK - ec_move2 HORN_DRILL + .2byte EC_POKEMON(HERACROSS) + .2byte EC_POKEMON2(HERACROSS) + .2byte EC_WORD_HERE + .2byte EC_WORD_HERE_GOES + .2byte EC_WORD_HERE_I_COME + .2byte EC_WORD_HERE_IT_IS + .2byte EC_WORD_HERO + .2byte EC_WORD_HEROINE + .2byte EC_WORD_HERS + .2byte EC_WORD_HEY + .2byte EC_WORD_HEY_THERE + .2byte EC_WORD_HEY_QUES + .2byte EC_WORD_HI + .2byte EC_MOVE2(HI_JUMP_KICK) + .2byte EC_WORD_HIDDEN + .2byte EC_MOVE2(HIDDEN_POWER) + .2byte EC_WORD_HIGH + .2byte EC_WORD_HIGHS + .2byte EC_WORD_HIM + .2byte EC_WORD_HIP_AND + .2byte EC_WORD_HIS + .2byte EC_WORD_HIT + .2byte EC_POKEMON2(HITMONCHAN) + .2byte EC_POKEMON2(HITMONLEE) + .2byte EC_POKEMON2(HITMONTOP) + .2byte EC_WORD_HIYAH + .2byte EC_WORD_HMM + .2byte EC_POKEMON2(HO_OH) + .2byte EC_WORD_HOBBY + .2byte EC_WORD_HOHOHO + .2byte EC_WORD_HOLIDAY + .2byte EC_WORD_HOME + .2byte EC_WORD_HOO_HAH + .2byte EC_POKEMON2(HOOTHOOT) + .2byte EC_WORD_HOPELESS + .2byte EC_POKEMON2(HOPPIP) + .2byte EC_MOVE2(HORN_ATTACK) + .2byte EC_MOVE2(HORN_DRILL) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 HORSEA - ec_pokemon2 HORSEA - ec_word HOT - ec_pokemon2 HOUNDOOM - ec_pokemon2 HOUNDOUR - ec_word HOW - ec_word HOW_DO - ec_word HOWEVER - ec_move2 HOWL - ec_word HUGE_POWER - ec_word HUH_QUES - ec_word HUMPH - ec_word HUNGRY - ec_pokemon1 HUNTAIL - ec_word HURRIED - ec_word HUSTLE - ec_move2 HYDRO_CANNON - ec_move2 HYDRO_PUMP - ec_word HYPER - ec_move2 HYPER_BEAM - ec_word HYPER_CUTTER - ec_move2 HYPER_FANG - ec_move2 HYPER_VOICE - ec_pokemon2 HYPNO - ec_move1 HYPNOSIS + .2byte EC_POKEMON(HORSEA) + .2byte EC_POKEMON2(HORSEA) + .2byte EC_WORD_HOT + .2byte EC_POKEMON2(HOUNDOOM) + .2byte EC_POKEMON2(HOUNDOUR) + .2byte EC_WORD_HOW + .2byte EC_WORD_HOW_DO + .2byte EC_WORD_HOWEVER + .2byte EC_MOVE2(HOWL) + .2byte EC_WORD_HUGE_POWER + .2byte EC_WORD_HUH_QUES + .2byte EC_WORD_HUMPH + .2byte EC_WORD_HUNGRY + .2byte EC_POKEMON(HUNTAIL) + .2byte EC_WORD_HURRIED + .2byte EC_WORD_HUSTLE + .2byte EC_MOVE2(HYDRO_CANNON) + .2byte EC_MOVE2(HYDRO_PUMP) + .2byte EC_WORD_HYPER + .2byte EC_MOVE2(HYPER_BEAM) + .2byte EC_WORD_HYPER_CUTTER + .2byte EC_MOVE2(HYPER_FANG) + .2byte EC_MOVE2(HYPER_VOICE) + .2byte EC_POKEMON2(HYPNO) + .2byte EC_MOVE(HYPNOSIS) gEasyChatWordsByLetter_I:: @ 859D696 - ec_word I - ec_word I_AM - ec_word I_CHOOSE_YOU - ec_word I_WAS - ec_word I_VE - ec_word I_VE_ARRIVED - ec_word ICE - ec_move1 ICE_BALL - ec_move2 ICE_BEAM - ec_move2 ICE_PUNCH - ec_move2 ICICLE_SPEAR - ec_move1 ICY_WIND - ec_word IDOL - ec_word IF - ec_word IF_I_LOSE - ec_word IF_I_WIN + .2byte EC_WORD_I + .2byte EC_WORD_I_AM + .2byte EC_WORD_I_CHOOSE_YOU + .2byte EC_WORD_I_WAS + .2byte EC_WORD_I_VE + .2byte EC_WORD_I_VE_ARRIVED + .2byte EC_WORD_ICE + .2byte EC_MOVE(ICE_BALL) + .2byte EC_MOVE2(ICE_BEAM) + .2byte EC_MOVE2(ICE_PUNCH) + .2byte EC_MOVE2(ICICLE_SPEAR) + .2byte EC_MOVE(ICY_WIND) + .2byte EC_WORD_IDOL + .2byte EC_WORD_IF + .2byte EC_WORD_IF_I_LOSE + .2byte EC_WORD_IF_I_WIN .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 IGGLYBUFF - ec_pokemon2 IGGLYBUFF - ec_word IGNORANT - ec_word ILLUMINATE - ec_pokemon1 ILLUMISE - ec_word IMMUNITY - ec_word IMPORTANT - ec_word IMPOSSIBLE - ec_move2 IMPRISON - ec_word IN - ec_word INCREASING - ec_word INCREDIBLE - ec_word INFORMATION - ec_move2 INGRAIN - ec_word INNER_FOCUS - ec_word INSIDE - ec_word INSOMNIA - ec_word INSTEAD - ec_word INTIMIDATE - ec_word INVINCIBLE - ec_move2 IRON_DEFENSE - ec_move1 IRON_TAIL - ec_word IS - ec_word IS_IT_QUES - ec_word ISN_T - ec_word ISN_T_IT_QUES - ec_word IT - ec_word IT_S - ec_word ITEM - ec_pokemon2 IVYSAUR + .2byte EC_POKEMON(IGGLYBUFF) + .2byte EC_POKEMON2(IGGLYBUFF) + .2byte EC_WORD_IGNORANT + .2byte EC_WORD_ILLUMINATE + .2byte EC_POKEMON(ILLUMISE) + .2byte EC_WORD_IMMUNITY + .2byte EC_WORD_IMPORTANT + .2byte EC_WORD_IMPOSSIBLE + .2byte EC_MOVE2(IMPRISON) + .2byte EC_WORD_IN + .2byte EC_WORD_INCREASING + .2byte EC_WORD_INCREDIBLE + .2byte EC_WORD_INFORMATION + .2byte EC_MOVE2(INGRAIN) + .2byte EC_WORD_INNER_FOCUS + .2byte EC_WORD_INSIDE + .2byte EC_WORD_INSOMNIA + .2byte EC_WORD_INSTEAD + .2byte EC_WORD_INTIMIDATE + .2byte EC_WORD_INVINCIBLE + .2byte EC_MOVE2(IRON_DEFENSE) + .2byte EC_MOVE(IRON_TAIL) + .2byte EC_WORD_IS + .2byte EC_WORD_IS_IT_QUES + .2byte EC_WORD_ISN_T + .2byte EC_WORD_ISN_T_IT_QUES + .2byte EC_WORD_IT + .2byte EC_WORD_IT_S + .2byte EC_WORD_ITEM + .2byte EC_POKEMON2(IVYSAUR) gEasyChatWordsByLetter_J:: @ 859D6F6 .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 JIGGLYPUFF - ec_pokemon2 JIGGLYPUFF - ec_pokemon1 JIRACHI - ec_word JOKING - ec_pokemon2 JOLTEON - ec_word JOY - ec_word JUDGE - ec_move2 JUMP_KICK - ec_pokemon2 JUMPLUFF - ec_word JUST - ec_pokemon2 JYNX + .2byte EC_POKEMON(JIGGLYPUFF) + .2byte EC_POKEMON2(JIGGLYPUFF) + .2byte EC_POKEMON(JIRACHI) + .2byte EC_WORD_JOKING + .2byte EC_POKEMON2(JOLTEON) + .2byte EC_WORD_JOY + .2byte EC_WORD_JUDGE + .2byte EC_MOVE2(JUMP_KICK) + .2byte EC_POKEMON2(JUMPLUFF) + .2byte EC_WORD_JUST + .2byte EC_POKEMON2(JYNX) gEasyChatWordsByLetter_K:: @ 859D710 - ec_pokemon2 KABUTO - ec_pokemon2 KABUTOPS + .2byte EC_POKEMON2(KABUTO) + .2byte EC_POKEMON2(KABUTOPS) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 KADABRA - ec_pokemon2 KADABRA - ec_pokemon2 KAKUNA - ec_pokemon2 KANGASKHAN - ec_move1 KARATE_CHOP - ec_pokemon1 KECLEON - ec_word KEEN_EYE - ec_word KID - ec_word KIDDING - ec_word KIND - ec_word KINDERGARTEN - ec_move1 KINESIS + .2byte EC_POKEMON(KADABRA) + .2byte EC_POKEMON2(KADABRA) + .2byte EC_POKEMON2(KAKUNA) + .2byte EC_POKEMON2(KANGASKHAN) + .2byte EC_MOVE(KARATE_CHOP) + .2byte EC_POKEMON(KECLEON) + .2byte EC_WORD_KEEN_EYE + .2byte EC_WORD_KID + .2byte EC_WORD_KIDDING + .2byte EC_WORD_KIND + .2byte EC_WORD_KINDERGARTEN + .2byte EC_MOVE(KINESIS) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 KINGDRA - ec_pokemon2 KINGDRA - ec_pokemon2 KINGLER - ec_pokemon1 KIRLIA - ec_move2 KNOCK_OFF - ec_word KNOCKOUT - ec_word KNOW - ec_word KNOWS + .2byte EC_POKEMON(KINGDRA) + .2byte EC_POKEMON2(KINGDRA) + .2byte EC_POKEMON2(KINGLER) + .2byte EC_POKEMON(KIRLIA) + .2byte EC_MOVE2(KNOCK_OFF) + .2byte EC_WORD_KNOCKOUT + .2byte EC_WORD_KNOW + .2byte EC_WORD_KNOWS .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 KOFFING - ec_pokemon2 KOFFING - ec_pokemon2 KRABBY - ec_word KTHX_BYE - ec_pokemon1 KYOGRE + .2byte EC_POKEMON(KOFFING) + .2byte EC_POKEMON2(KOFFING) + .2byte EC_POKEMON2(KRABBY) + .2byte EC_WORD_KTHX_BYE + .2byte EC_POKEMON(KYOGRE) gEasyChatWordsByLetter_L:: @ 859D752 - ec_word LACKING - ec_word LACKS - ec_word LADY - ec_pokemon1 LAIRON - ec_word LALALA + .2byte EC_WORD_LACKING + .2byte EC_WORD_LACKS + .2byte EC_WORD_LADY + .2byte EC_POKEMON(LAIRON) + .2byte EC_WORD_LALALA .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 LANTURN - ec_pokemon2 LANTURN - ec_pokemon2 LAPRAS - ec_pokemon2 LARVITAR - ec_word LAST - ec_word LATE - ec_word LATER - ec_pokemon1 LATIAS - ec_pokemon1 LATIOS - ec_word LAVISH - ec_word LAY - ec_word LEADER - ec_word LEADERS - ec_word LEAF - ec_move2 LEAF_BLADE - ec_word LEARN - ec_pokemon2 LEDIAN - ec_pokemon2 LEDYBA - ec_move1 LEECH_LIFE - ec_move2 LEECH_SEED - ec_move2 LEER - ec_word LEFT - ec_word LEGEND - ec_word LESS - ec_word LESSONS - ec_word LET_ME_WIN - ec_word LET_S - ec_word LETTER - ec_word LEVEL - ec_word LEVITATE - ec_move1 LICK - ec_pokemon2 LICKITUNG - ec_word LIE - ec_word LIFE - ec_move2 LIGHT_SCREEN - ec_word LIGHTNINGROD - ec_word LIKE - ec_word LIKELY_TO - ec_word LIKES - ec_pokemon1 LILEEP - ec_word LIMBER - ec_word LINK - ec_pokemon1 LINOONE - ec_word LIQUID_OOZE - ec_word LISTEN - ec_word LISTENING - ec_word LISTENS - ec_word LIVING - ec_move2 LOCK_ON - ec_word LOCOMOTIVE - ec_word LOL - ec_word LOLLING - ec_pokemon1 LOMBRE - ec_word LONESOME - ec_word LOOK - ec_word LOOKS - ec_word LOSE - ec_word LOSER - ec_word LOSING - ec_word LOSS - ec_word LOST - ec_pokemon1 LOTAD - ec_pokemon1 LOUDRED - ec_word LOUSY - ec_move1 LOVELY_KISS - ec_word LOVEY_DOVEY - ec_word LOW - ec_move1 LOW_KICK - ec_word LOWS - ec_pokemon1 LUDICOLO - ec_pokemon2 LUGIA - ec_word LUKEWARM - ec_pokemon1 LUNATONE - ec_move2 LUSTER_PURGE - ec_pokemon1 LUVDISC + .2byte EC_POKEMON(LANTURN) + .2byte EC_POKEMON2(LANTURN) + .2byte EC_POKEMON2(LAPRAS) + .2byte EC_POKEMON2(LARVITAR) + .2byte EC_WORD_LAST + .2byte EC_WORD_LATE + .2byte EC_WORD_LATER + .2byte EC_POKEMON(LATIAS) + .2byte EC_POKEMON(LATIOS) + .2byte EC_WORD_LAVISH + .2byte EC_WORD_LAY + .2byte EC_WORD_LEADER + .2byte EC_WORD_LEADERS + .2byte EC_WORD_LEAF + .2byte EC_MOVE2(LEAF_BLADE) + .2byte EC_WORD_LEARN + .2byte EC_POKEMON2(LEDIAN) + .2byte EC_POKEMON2(LEDYBA) + .2byte EC_MOVE(LEECH_LIFE) + .2byte EC_MOVE2(LEECH_SEED) + .2byte EC_MOVE2(LEER) + .2byte EC_WORD_LEFT + .2byte EC_WORD_LEGEND + .2byte EC_WORD_LESS + .2byte EC_WORD_LESSONS + .2byte EC_WORD_LET_ME_WIN + .2byte EC_WORD_LET_S + .2byte EC_WORD_LETTER + .2byte EC_WORD_LEVEL + .2byte EC_WORD_LEVITATE + .2byte EC_MOVE(LICK) + .2byte EC_POKEMON2(LICKITUNG) + .2byte EC_WORD_LIE + .2byte EC_WORD_LIFE + .2byte EC_MOVE2(LIGHT_SCREEN) + .2byte EC_WORD_LIGHTNINGROD + .2byte EC_WORD_LIKE + .2byte EC_WORD_LIKELY_TO + .2byte EC_WORD_LIKES + .2byte EC_POKEMON(LILEEP) + .2byte EC_WORD_LIMBER + .2byte EC_WORD_LINK + .2byte EC_POKEMON(LINOONE) + .2byte EC_WORD_LIQUID_OOZE + .2byte EC_WORD_LISTEN + .2byte EC_WORD_LISTENING + .2byte EC_WORD_LISTENS + .2byte EC_WORD_LIVING + .2byte EC_MOVE2(LOCK_ON) + .2byte EC_WORD_LOCOMOTIVE + .2byte EC_WORD_LOL + .2byte EC_WORD_LOLLING + .2byte EC_POKEMON(LOMBRE) + .2byte EC_WORD_LONESOME + .2byte EC_WORD_LOOK + .2byte EC_WORD_LOOKS + .2byte EC_WORD_LOSE + .2byte EC_WORD_LOSER + .2byte EC_WORD_LOSING + .2byte EC_WORD_LOSS + .2byte EC_WORD_LOST + .2byte EC_POKEMON(LOTAD) + .2byte EC_POKEMON(LOUDRED) + .2byte EC_WORD_LOUSY + .2byte EC_MOVE(LOVELY_KISS) + .2byte EC_WORD_LOVEY_DOVEY + .2byte EC_WORD_LOW + .2byte EC_MOVE(LOW_KICK) + .2byte EC_WORD_LOWS + .2byte EC_POKEMON(LUDICOLO) + .2byte EC_POKEMON2(LUGIA) + .2byte EC_WORD_LUKEWARM + .2byte EC_POKEMON(LUNATONE) + .2byte EC_MOVE2(LUSTER_PURGE) + .2byte EC_POKEMON(LUVDISC) gEasyChatWordsByLetter_M:: @ 859D7F6 - ec_move2 MACH_PUNCH + .2byte EC_MOVE2(MACH_PUNCH) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 MACHAMP - ec_pokemon2 MACHAMP - ec_word MACHINE + .2byte EC_POKEMON(MACHAMP) + .2byte EC_POKEMON2(MACHAMP) + .2byte EC_WORD_MACHINE .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 MACHOKE - ec_pokemon2 MACHOKE + .2byte EC_POKEMON(MACHOKE) + .2byte EC_POKEMON2(MACHOKE) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 MACHOP - ec_pokemon2 MACHOP - ec_word MAGAZINE - ec_pokemon2 MAGBY + .2byte EC_POKEMON(MACHOP) + .2byte EC_POKEMON2(MACHOP) + .2byte EC_WORD_MAGAZINE + .2byte EC_POKEMON2(MAGBY) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 MAGCARGO - ec_pokemon2 MAGCARGO - ec_move2 MAGIC_COAT - ec_move2 MAGICAL_LEAF + .2byte EC_POKEMON(MAGCARGO) + .2byte EC_POKEMON2(MAGCARGO) + .2byte EC_MOVE2(MAGIC_COAT) + .2byte EC_MOVE2(MAGICAL_LEAF) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 MAGIKARP - ec_pokemon2 MAGIKARP - ec_word MAGMA_ARMOR - ec_pokemon2 MAGMAR + .2byte EC_POKEMON(MAGIKARP) + .2byte EC_POKEMON2(MAGIKARP) + .2byte EC_WORD_MAGMA_ARMOR + .2byte EC_POKEMON2(MAGMAR) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 MAGNEMITE - ec_pokemon2 MAGNEMITE - ec_word MAGNET_PULL + .2byte EC_POKEMON(MAGNEMITE) + .2byte EC_POKEMON2(MAGNEMITE) + .2byte EC_WORD_MAGNET_PULL .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 MAGNETON - ec_pokemon2 MAGNETON - ec_move2 MAGNITUDE - ec_word MAIL - ec_word MAKE - ec_word MAKING - ec_pokemon1 MAKUHITA - ec_word MAN - ec_pokemon1 MANECTRIC - ec_pokemon2 MANKEY - ec_pokemon2 MANTINE - ec_pokemon2 MAREEP + .2byte EC_POKEMON(MAGNETON) + .2byte EC_POKEMON2(MAGNETON) + .2byte EC_MOVE2(MAGNITUDE) + .2byte EC_WORD_MAIL + .2byte EC_WORD_MAKE + .2byte EC_WORD_MAKING + .2byte EC_POKEMON(MAKUHITA) + .2byte EC_WORD_MAN + .2byte EC_POKEMON(MANECTRIC) + .2byte EC_POKEMON2(MANKEY) + .2byte EC_POKEMON2(MANTINE) + .2byte EC_POKEMON2(MAREEP) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 MARILL - ec_pokemon2 MARILL - ec_pokemon2 MAROWAK - ec_pokemon1 MARSHTOMP - ec_word MARVEL_SCALE - ec_pokemon1 MASQUERAIN - ec_word MASTER - ec_word MATCH - ec_word MATCH_UP - ec_pokemon1 MAWILE - ec_word MAYBE - ec_word MC - ec_word ME - ec_word MEAN - ec_move1 MEAN_LOOK - ec_pokemon1 MEDICHAM - ec_move2 MEDITATE - ec_pokemon1 MEDITITE - ec_word MEET - ec_word MEET_YOU - ec_word MEETS - ec_word MEGA - ec_move2 MEGA_DRAIN - ec_move2 MEGA_KICK - ec_move2 MEGA_PUNCH - ec_move2 MEGAHORN - ec_pokemon2 MEGANIUM - ec_move1 MEMENTO - ec_pokemon2 MEOWTH - ec_word MESSAGE - ec_pokemon1 METAGROSS - ec_move2 METAL_CLAW - ec_move1 METAL_SOUND - ec_pokemon1 METANG - ec_pokemon2 METAPOD - ec_move1 METEOR_MASH - ec_move2 METRONOME - ec_pokemon2 MEW - ec_pokemon2 MEWTWO - ec_pokemon1 MIGHTYENA - ec_move2 MILK_DRINK - ec_pokemon1 MILOTIC - ec_pokemon2 MILTANK - ec_move2 MIMIC - ec_move1 MIND_READER - ec_move2 MINIMIZE - ec_pokemon1 MINUN - ec_word MINUS - ec_move2 MIRROR_COAT - ec_move1 MIRROR_MOVE - ec_pokemon2 MISDREAVUS - ec_word MISHEARD - ec_word MISS - ec_move1 MIST - ec_move2 MIST_BALL - ec_word MISTAKE - ec_word MMM - ec_word MODE - ec_word MODERN - ec_pokemon2 MOLTRES - ec_word MOMENTUM - ec_word MONDAY - ec_word MONEY - ec_word MONTH - ec_word MOOD - ec_move2 MOONLIGHT - ec_word MORE - ec_word MORNING - ec_move1 MORNING_SUN - ec_word MOTHER - ec_word MOVE - ec_word MOVIE - ec_word MR - ec_pokemon2 MR_MIME - ec_word MRS - ec_word MUCH - ec_word MUCH_OBLIGED - ec_move2 MUD_SHOT - ec_move2 MUD_SPORT - ec_move2 MUD_SLAP - ec_move2 MUDDY_WATER - ec_pokemon1 MUDKIP - ec_word MUFUFU + .2byte EC_POKEMON(MARILL) + .2byte EC_POKEMON2(MARILL) + .2byte EC_POKEMON2(MAROWAK) + .2byte EC_POKEMON(MARSHTOMP) + .2byte EC_WORD_MARVEL_SCALE + .2byte EC_POKEMON(MASQUERAIN) + .2byte EC_WORD_MASTER + .2byte EC_WORD_MATCH + .2byte EC_WORD_MATCH_UP + .2byte EC_POKEMON(MAWILE) + .2byte EC_WORD_MAYBE + .2byte EC_WORD_MC + .2byte EC_WORD_ME + .2byte EC_WORD_MEAN + .2byte EC_MOVE(MEAN_LOOK) + .2byte EC_POKEMON(MEDICHAM) + .2byte EC_MOVE2(MEDITATE) + .2byte EC_POKEMON(MEDITITE) + .2byte EC_WORD_MEET + .2byte EC_WORD_MEET_YOU + .2byte EC_WORD_MEETS + .2byte EC_WORD_MEGA + .2byte EC_MOVE2(MEGA_DRAIN) + .2byte EC_MOVE2(MEGA_KICK) + .2byte EC_MOVE2(MEGA_PUNCH) + .2byte EC_MOVE2(MEGAHORN) + .2byte EC_POKEMON2(MEGANIUM) + .2byte EC_MOVE(MEMENTO) + .2byte EC_POKEMON2(MEOWTH) + .2byte EC_WORD_MESSAGE + .2byte EC_POKEMON(METAGROSS) + .2byte EC_MOVE2(METAL_CLAW) + .2byte EC_MOVE(METAL_SOUND) + .2byte EC_POKEMON(METANG) + .2byte EC_POKEMON2(METAPOD) + .2byte EC_MOVE(METEOR_MASH) + .2byte EC_MOVE2(METRONOME) + .2byte EC_POKEMON2(MEW) + .2byte EC_POKEMON2(MEWTWO) + .2byte EC_POKEMON(MIGHTYENA) + .2byte EC_MOVE2(MILK_DRINK) + .2byte EC_POKEMON(MILOTIC) + .2byte EC_POKEMON2(MILTANK) + .2byte EC_MOVE2(MIMIC) + .2byte EC_MOVE(MIND_READER) + .2byte EC_MOVE2(MINIMIZE) + .2byte EC_POKEMON(MINUN) + .2byte EC_WORD_MINUS + .2byte EC_MOVE2(MIRROR_COAT) + .2byte EC_MOVE(MIRROR_MOVE) + .2byte EC_POKEMON2(MISDREAVUS) + .2byte EC_WORD_MISHEARD + .2byte EC_WORD_MISS + .2byte EC_MOVE(MIST) + .2byte EC_MOVE2(MIST_BALL) + .2byte EC_WORD_MISTAKE + .2byte EC_WORD_MMM + .2byte EC_WORD_MODE + .2byte EC_WORD_MODERN + .2byte EC_POKEMON2(MOLTRES) + .2byte EC_WORD_MOMENTUM + .2byte EC_WORD_MONDAY + .2byte EC_WORD_MONEY + .2byte EC_WORD_MONTH + .2byte EC_WORD_MOOD + .2byte EC_MOVE2(MOONLIGHT) + .2byte EC_WORD_MORE + .2byte EC_WORD_MORNING + .2byte EC_MOVE(MORNING_SUN) + .2byte EC_WORD_MOTHER + .2byte EC_WORD_MOVE + .2byte EC_WORD_MOVIE + .2byte EC_WORD_MR + .2byte EC_POKEMON2(MR_MIME) + .2byte EC_WORD_MRS + .2byte EC_WORD_MUCH + .2byte EC_WORD_MUCH_OBLIGED + .2byte EC_MOVE2(MUD_SHOT) + .2byte EC_MOVE2(MUD_SPORT) + .2byte EC_MOVE2(MUD_SLAP) + .2byte EC_MOVE2(MUDDY_WATER) + .2byte EC_POKEMON(MUDKIP) + .2byte EC_WORD_MUFUFU .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 MUK - ec_pokemon2 MUK - ec_pokemon2 MURKROW - ec_word MUSIC - ec_word MUST_BE - ec_word MY - ec_word MYSELF - ec_word MYSTERY + .2byte EC_POKEMON(MUK) + .2byte EC_POKEMON2(MUK) + .2byte EC_POKEMON2(MURKROW) + .2byte EC_WORD_MUSIC + .2byte EC_WORD_MUST_BE + .2byte EC_WORD_MY + .2byte EC_WORD_MYSELF + .2byte EC_WORD_MYSTERY gEasyChatWordsByLetter_N:: @ 859D912 - ec_word NAME - ec_word NAP + .2byte EC_WORD_NAME + .2byte EC_WORD_NAP .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 NATU - ec_pokemon2 NATU - ec_word NATURAL - ec_word NATURAL_CURE - ec_word NATURALLY - ec_word NATURE - ec_move1 NATURE_POWER - ec_word NEAR - ec_word NEARLY - ec_word NEED - ec_move2 NEEDLE_ARM - ec_word NEGATIVE - ec_word NEVER - ec_word NEW - ec_word NEWS - ec_word NEXT - ec_word NICE - ec_pokemon2 NIDOKING - ec_pokemon2 NIDOQUEEN - ec_pokemon2 NIDORAN_F - ec_pokemon2 NIDORAN_M - ec_pokemon2 NIDORINA - ec_pokemon2 NIDORINO - ec_word NIGHT - ec_move2 NIGHT_SHADE - ec_move1 NIGHTMARE - ec_word NIGHTTIME - ec_pokemon1 NINCADA + .2byte EC_POKEMON(NATU) + .2byte EC_POKEMON2(NATU) + .2byte EC_WORD_NATURAL + .2byte EC_WORD_NATURAL_CURE + .2byte EC_WORD_NATURALLY + .2byte EC_WORD_NATURE + .2byte EC_MOVE(NATURE_POWER) + .2byte EC_WORD_NEAR + .2byte EC_WORD_NEARLY + .2byte EC_WORD_NEED + .2byte EC_MOVE2(NEEDLE_ARM) + .2byte EC_WORD_NEGATIVE + .2byte EC_WORD_NEVER + .2byte EC_WORD_NEW + .2byte EC_WORD_NEWS + .2byte EC_WORD_NEXT + .2byte EC_WORD_NICE + .2byte EC_POKEMON2(NIDOKING) + .2byte EC_POKEMON2(NIDOQUEEN) + .2byte EC_POKEMON2(NIDORAN_F) + .2byte EC_POKEMON2(NIDORAN_M) + .2byte EC_POKEMON2(NIDORINA) + .2byte EC_POKEMON2(NIDORINO) + .2byte EC_WORD_NIGHT + .2byte EC_MOVE2(NIGHT_SHADE) + .2byte EC_MOVE(NIGHTMARE) + .2byte EC_WORD_NIGHTTIME + .2byte EC_POKEMON(NINCADA) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 NINETALES - ec_pokemon2 NINETALES - ec_pokemon1 NINJASK - ec_word NITWIT - ec_word NO - ec_word NO_MATCH - ec_word NO_1 - ec_pokemon2 NOCTOWL - ec_word NOISY - ec_word NON_STOP - ec_word NONE - ec_word NOPE - ec_word NORMAL - ec_pokemon1 NOSEPASS - ec_word NOT - ec_word NOT_VERY - ec_word NOTHING - ec_word NOW - ec_pokemon1 NUMEL - ec_pokemon1 NUZLEAF + .2byte EC_POKEMON(NINETALES) + .2byte EC_POKEMON2(NINETALES) + .2byte EC_POKEMON(NINJASK) + .2byte EC_WORD_NITWIT + .2byte EC_WORD_NO + .2byte EC_WORD_NO_MATCH + .2byte EC_WORD_NO_1 + .2byte EC_POKEMON2(NOCTOWL) + .2byte EC_WORD_NOISY + .2byte EC_WORD_NON_STOP + .2byte EC_WORD_NONE + .2byte EC_WORD_NOPE + .2byte EC_WORD_NORMAL + .2byte EC_POKEMON(NOSEPASS) + .2byte EC_WORD_NOT + .2byte EC_WORD_NOT_VERY + .2byte EC_WORD_NOTHING + .2byte EC_WORD_NOW + .2byte EC_POKEMON(NUMEL) + .2byte EC_POKEMON(NUZLEAF) gEasyChatWordsByLetter_O:: @ 859D97E - ec_word OBLIVIOUS - ec_move1 OCTAZOOKA - ec_pokemon2 OCTILLERY + .2byte EC_WORD_OBLIVIOUS + .2byte EC_MOVE(OCTAZOOKA) + .2byte EC_POKEMON2(OCTILLERY) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 ODDISH - ec_pokemon2 ODDISH - ec_move1 ODOR_SLEUTH - ec_word OF - ec_word OFF - ec_word OFFENSIVE - ec_word OH - ec_word OH_DEAR - ec_word OH_YEAH - ec_word OH_KAY - ec_word OH_QUES - ec_word OI - ec_word OI_OI_OI - ec_word OK_QUES - ec_word OKAY - ec_word OLD - ec_word OLDEN - ec_pokemon2 OMANYTE - ec_pokemon2 OMASTAR - ec_word ON - ec_word ONCE - ec_pokemon2 ONIX - ec_word ONLY - ec_word OOPS - ec_word OPPONENT - ec_word OPPOSITE - ec_word OR - ec_word OTHER - ec_word OUR - ec_word OUT - ec_move1 OUTRAGE - ec_word OUTSIDE - ec_word OVER - ec_word OVERDO - ec_word OVERGROW - ec_move1 OVERHEAT - ec_word OVERWHELMING - ec_word OWN - ec_word OWN_TEMPO + .2byte EC_POKEMON(ODDISH) + .2byte EC_POKEMON2(ODDISH) + .2byte EC_MOVE(ODOR_SLEUTH) + .2byte EC_WORD_OF + .2byte EC_WORD_OFF + .2byte EC_WORD_OFFENSIVE + .2byte EC_WORD_OH + .2byte EC_WORD_OH_DEAR + .2byte EC_WORD_OH_YEAH + .2byte EC_WORD_OH_KAY + .2byte EC_WORD_OH_QUES + .2byte EC_WORD_OI + .2byte EC_WORD_OI_OI_OI + .2byte EC_WORD_OK_QUES + .2byte EC_WORD_OKAY + .2byte EC_WORD_OLD + .2byte EC_WORD_OLDEN + .2byte EC_POKEMON2(OMANYTE) + .2byte EC_POKEMON2(OMASTAR) + .2byte EC_WORD_ON + .2byte EC_WORD_ONCE + .2byte EC_POKEMON2(ONIX) + .2byte EC_WORD_ONLY + .2byte EC_WORD_OOPS + .2byte EC_WORD_OPPONENT + .2byte EC_WORD_OPPOSITE + .2byte EC_WORD_OR + .2byte EC_WORD_OTHER + .2byte EC_WORD_OUR + .2byte EC_WORD_OUT + .2byte EC_MOVE(OUTRAGE) + .2byte EC_WORD_OUTSIDE + .2byte EC_WORD_OVER + .2byte EC_WORD_OVERDO + .2byte EC_WORD_OVERGROW + .2byte EC_MOVE(OVERHEAT) + .2byte EC_WORD_OVERWHELMING + .2byte EC_WORD_OWN + .2byte EC_WORD_OWN_TEMPO gEasyChatWordsByLetter_P:: @ 859D9D6 - ec_move1 PAIN_SPLIT - ec_pokemon2 PARAS - ec_pokemon2 PARASECT - ec_word PARDON - ec_word PARENT - ec_word PARTNER - ec_word PARTY - ec_word PATTERN - ec_move2 PAY_DAY - ec_word PC - ec_move2 PECK - ec_pokemon1 PELIPPER - ec_word PERFECT - ec_word PERFECTION - ec_move2 PERISH_SONG - ec_pokemon2 PERSIAN - ec_word PERSON - ec_move2 PETAL_DANCE + .2byte EC_MOVE(PAIN_SPLIT) + .2byte EC_POKEMON2(PARAS) + .2byte EC_POKEMON2(PARASECT) + .2byte EC_WORD_PARDON + .2byte EC_WORD_PARENT + .2byte EC_WORD_PARTNER + .2byte EC_WORD_PARTY + .2byte EC_WORD_PATTERN + .2byte EC_MOVE2(PAY_DAY) + .2byte EC_WORD_PC + .2byte EC_MOVE2(PECK) + .2byte EC_POKEMON(PELIPPER) + .2byte EC_WORD_PERFECT + .2byte EC_WORD_PERFECTION + .2byte EC_MOVE2(PERISH_SONG) + .2byte EC_POKEMON2(PERSIAN) + .2byte EC_WORD_PERSON + .2byte EC_MOVE2(PETAL_DANCE) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 PHANPY - ec_pokemon2 PHANPY - ec_word PHONE + .2byte EC_POKEMON(PHANPY) + .2byte EC_POKEMON2(PHANPY) + .2byte EC_WORD_PHONE .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 PICHU - ec_pokemon2 PICHU - ec_word PICKUP - ec_pokemon2 PIDGEOT - ec_pokemon2 PIDGEOTTO - ec_pokemon2 PIDGEY + .2byte EC_POKEMON(PICHU) + .2byte EC_POKEMON2(PICHU) + .2byte EC_WORD_PICKUP + .2byte EC_POKEMON2(PIDGEOT) + .2byte EC_POKEMON2(PIDGEOTTO) + .2byte EC_POKEMON2(PIDGEY) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 PIKACHU - ec_pokemon2 PIKACHU - ec_pokemon2 PILOSWINE - ec_move2 PIN_MISSILE - ec_pokemon2 PINECO + .2byte EC_POKEMON(PIKACHU) + .2byte EC_POKEMON2(PIKACHU) + .2byte EC_POKEMON2(PILOSWINE) + .2byte EC_MOVE2(PIN_MISSILE) + .2byte EC_POKEMON2(PINECO) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 PINSIR - ec_pokemon2 PINSIR - ec_word PKRS - ec_word PLACE - ec_word PLANS - ec_word PLAY - ec_word PLAYED - ec_word PLAYS - ec_word PLEASE - ec_word PLUS - ec_word PLUSH_DOLL - ec_pokemon1 PLUSLE - ec_word POINTS - ec_word POISON - ec_move2 POISON_FANG - ec_move2 POISON_GAS - ec_word POISON_POINT - ec_move2 POISON_STING - ec_move2 POISON_TAIL - ec_move2 POISON_POWDER - ec_word POKEBLOCK - ec_word POKEDEX - ec_word POKEMON - ec_word POKENAV - ec_pokemon2 POLITOED - ec_pokemon2 POLIWAG - ec_pokemon2 POLIWHIRL - ec_pokemon2 POLIWRATH - ec_pokemon2 PONYTA - ec_pokemon1 POOCHYENA - ec_word POPULAR - ec_pokemon2 PORYGON - ec_pokemon2 PORYGON2 - ec_move2 POUND - ec_move1 POWDER_SNOW - ec_word POWER - ec_word PRAISE - ec_word PREPOSTEROUS - ec_move2 PRESENT - ec_word PRESSURE - ec_word PRETEND - ec_word PRETTY - ec_pokemon2 PRIMEAPE - ec_word PROBABLY - ec_word PROMISE - ec_move2 PROTECT - ec_move1 PSYBEAM - ec_move1 PSYCH_UP + .2byte EC_POKEMON(PINSIR) + .2byte EC_POKEMON2(PINSIR) + .2byte EC_WORD_PKRS + .2byte EC_WORD_PLACE + .2byte EC_WORD_PLANS + .2byte EC_WORD_PLAY + .2byte EC_WORD_PLAYED + .2byte EC_WORD_PLAYS + .2byte EC_WORD_PLEASE + .2byte EC_WORD_PLUS + .2byte EC_WORD_PLUSH_DOLL + .2byte EC_POKEMON(PLUSLE) + .2byte EC_WORD_POINTS + .2byte EC_WORD_POISON + .2byte EC_MOVE2(POISON_FANG) + .2byte EC_MOVE2(POISON_GAS) + .2byte EC_WORD_POISON_POINT + .2byte EC_MOVE2(POISON_STING) + .2byte EC_MOVE2(POISON_TAIL) + .2byte EC_MOVE2(POISON_POWDER) + .2byte EC_WORD_POKEBLOCK + .2byte EC_WORD_POKEDEX + .2byte EC_WORD_POKEMON + .2byte EC_WORD_POKENAV + .2byte EC_POKEMON2(POLITOED) + .2byte EC_POKEMON2(POLIWAG) + .2byte EC_POKEMON2(POLIWHIRL) + .2byte EC_POKEMON2(POLIWRATH) + .2byte EC_POKEMON2(PONYTA) + .2byte EC_POKEMON(POOCHYENA) + .2byte EC_WORD_POPULAR + .2byte EC_POKEMON2(PORYGON) + .2byte EC_POKEMON2(PORYGON2) + .2byte EC_MOVE2(POUND) + .2byte EC_MOVE(POWDER_SNOW) + .2byte EC_WORD_POWER + .2byte EC_WORD_PRAISE + .2byte EC_WORD_PREPOSTEROUS + .2byte EC_MOVE2(PRESENT) + .2byte EC_WORD_PRESSURE + .2byte EC_WORD_PRETEND + .2byte EC_WORD_PRETTY + .2byte EC_POKEMON2(PRIMEAPE) + .2byte EC_WORD_PROBABLY + .2byte EC_WORD_PROMISE + .2byte EC_MOVE2(PROTECT) + .2byte EC_MOVE(PSYBEAM) + .2byte EC_MOVE(PSYCH_UP) .2byte -1, 2 @ doubled Pokémon species names - ec_word PSYCHIC - ec_move1 PSYCHIC - ec_move1 PSYCHO_BOOST + .2byte EC_WORD_PSYCHIC + .2byte EC_MOVE(PSYCHIC) + .2byte EC_MOVE(PSYCHO_BOOST) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 PSYDUCK - ec_pokemon2 PSYDUCK - ec_move1 PSYWAVE - ec_pokemon2 PUPITAR - ec_word PURE_POWER - ec_move1 PURSUIT - ec_word PUSHOVER + .2byte EC_POKEMON(PSYDUCK) + .2byte EC_POKEMON2(PSYDUCK) + .2byte EC_MOVE(PSYWAVE) + .2byte EC_POKEMON2(PUPITAR) + .2byte EC_WORD_PURE_POWER + .2byte EC_MOVE(PURSUIT) + .2byte EC_WORD_PUSHOVER gEasyChatWordsByLetter_Q:: @ 859DAA2 - ec_pokemon2 QUAGSIRE - ec_word QUESTION - ec_move2 QUICK_ATTACK - ec_pokemon2 QUILAVA - ec_word QUITE - ec_pokemon2 QWILFISH + .2byte EC_POKEMON2(QUAGSIRE) + .2byte EC_WORD_QUESTION + .2byte EC_MOVE2(QUICK_ATTACK) + .2byte EC_POKEMON2(QUILAVA) + .2byte EC_WORD_QUITE + .2byte EC_POKEMON2(QWILFISH) gEasyChatWordsByLetter_R:: @ 859DAAE - ec_word RADIO - ec_move1 RAGE + .2byte EC_WORD_RADIO + .2byte EC_MOVE(RAGE) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 RAICHU - ec_pokemon2 RAICHU - ec_pokemon2 RAIKOU - ec_move1 RAIN_DANCE - ec_word RAIN_DISH - ec_pokemon1 RALTS - ec_word RANK - ec_move1 RAPID_SPIN - ec_pokemon2 RAPIDASH - ec_word RARE - ec_word RATHER - ec_pokemon2 RATICATE - ec_pokemon2 RATTATA - ec_pokemon1 RAYQUAZA - ec_move2 RAZOR_LEAF - ec_move1 RAZOR_WIND - ec_word READY - ec_word REALLY - ec_word REAR - ec_word RECEIVED - ec_word RECOMMEND - ec_move1 RECOVER - ec_move2 RECYCLE - ec_word RED - ec_move2 REFLECT - ec_move2 REFRESH - ec_word REFRESHING - ec_word REFUSE - ec_pokemon1 REGICE - ec_pokemon1 REGIROCK - ec_pokemon1 REGISTEEL - ec_word REJECT - ec_word RELEASE - ec_pokemon1 RELICANTH - ec_pokemon2 REMORAID - ec_word RENTAL - ec_move2 REST - ec_word RESUSCITATE - ec_move1 RETURN - ec_move2 REVENGE - ec_move1 REVERSAL + .2byte EC_POKEMON(RAICHU) + .2byte EC_POKEMON2(RAICHU) + .2byte EC_POKEMON2(RAIKOU) + .2byte EC_MOVE(RAIN_DANCE) + .2byte EC_WORD_RAIN_DISH + .2byte EC_POKEMON(RALTS) + .2byte EC_WORD_RANK + .2byte EC_MOVE(RAPID_SPIN) + .2byte EC_POKEMON2(RAPIDASH) + .2byte EC_WORD_RARE + .2byte EC_WORD_RATHER + .2byte EC_POKEMON2(RATICATE) + .2byte EC_POKEMON2(RATTATA) + .2byte EC_POKEMON(RAYQUAZA) + .2byte EC_MOVE2(RAZOR_LEAF) + .2byte EC_MOVE(RAZOR_WIND) + .2byte EC_WORD_READY + .2byte EC_WORD_REALLY + .2byte EC_WORD_REAR + .2byte EC_WORD_RECEIVED + .2byte EC_WORD_RECOMMEND + .2byte EC_MOVE(RECOVER) + .2byte EC_MOVE2(RECYCLE) + .2byte EC_WORD_RED + .2byte EC_MOVE2(REFLECT) + .2byte EC_MOVE2(REFRESH) + .2byte EC_WORD_REFRESHING + .2byte EC_WORD_REFUSE + .2byte EC_POKEMON(REGICE) + .2byte EC_POKEMON(REGIROCK) + .2byte EC_POKEMON(REGISTEEL) + .2byte EC_WORD_REJECT + .2byte EC_WORD_RELEASE + .2byte EC_POKEMON(RELICANTH) + .2byte EC_POKEMON2(REMORAID) + .2byte EC_WORD_RENTAL + .2byte EC_MOVE2(REST) + .2byte EC_WORD_RESUSCITATE + .2byte EC_MOVE(RETURN) + .2byte EC_MOVE2(REVENGE) + .2byte EC_MOVE(REVERSAL) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 RHYDON - ec_pokemon2 RHYDON + .2byte EC_POKEMON(RHYDON) + .2byte EC_POKEMON2(RHYDON) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 RHYHORN - ec_pokemon2 RHYHORN - ec_word RIBBON - ec_word RICKETY - ec_word RIGHT - ec_word RIPPED - ec_word RIVAL - ec_move2 ROAR - ec_word ROCK - ec_move2 ROCK_BLAST - ec_word ROCK_HEAD - ec_move1 ROCK_SLIDE - ec_move1 ROCK_SMASH - ec_move1 ROCK_THROW - ec_move1 ROCK_TOMB - ec_word ROCK_SOLID - ec_move2 ROLE_PLAY - ec_move2 ROLLING_KICK - ec_move1 ROLLOUT - ec_word ROMANTIC - ec_word ROOM - ec_pokemon1 ROSELIA - ec_word ROUGH_SKIN - ec_word RPG - ec_word RUBY - ec_word RULE - ec_word RUN - ec_word RUN_AWAY - ec_word RUNS + .2byte EC_POKEMON(RHYHORN) + .2byte EC_POKEMON2(RHYHORN) + .2byte EC_WORD_RIBBON + .2byte EC_WORD_RICKETY + .2byte EC_WORD_RIGHT + .2byte EC_WORD_RIPPED + .2byte EC_WORD_RIVAL + .2byte EC_MOVE2(ROAR) + .2byte EC_WORD_ROCK + .2byte EC_MOVE2(ROCK_BLAST) + .2byte EC_WORD_ROCK_HEAD + .2byte EC_MOVE(ROCK_SLIDE) + .2byte EC_MOVE(ROCK_SMASH) + .2byte EC_MOVE(ROCK_THROW) + .2byte EC_MOVE(ROCK_TOMB) + .2byte EC_WORD_ROCK_SOLID + .2byte EC_MOVE2(ROLE_PLAY) + .2byte EC_MOVE2(ROLLING_KICK) + .2byte EC_MOVE(ROLLOUT) + .2byte EC_WORD_ROMANTIC + .2byte EC_WORD_ROOM + .2byte EC_POKEMON(ROSELIA) + .2byte EC_WORD_ROUGH_SKIN + .2byte EC_WORD_RPG + .2byte EC_WORD_RUBY + .2byte EC_WORD_RULE + .2byte EC_WORD_RUN + .2byte EC_WORD_RUN_AWAY + .2byte EC_WORD_RUNS gEasyChatWordsByLetter_S:: @ 859DB4E - ec_pokemon1 SABLEYE - ec_move1 SACRED_FIRE - ec_word SAD - ec_word SADLY - ec_move1 SAFEGUARD - ec_word SAID - ec_pokemon1 SALAMENCE - ec_word SAND_STREAM - ec_move1 SAND_TOMB - ec_word SAND_VEIL - ec_move1 SAND_ATTACK + .2byte EC_POKEMON(SABLEYE) + .2byte EC_MOVE(SACRED_FIRE) + .2byte EC_WORD_SAD + .2byte EC_WORD_SADLY + .2byte EC_MOVE(SAFEGUARD) + .2byte EC_WORD_SAID + .2byte EC_POKEMON(SALAMENCE) + .2byte EC_WORD_SAND_STREAM + .2byte EC_MOVE(SAND_TOMB) + .2byte EC_WORD_SAND_VEIL + .2byte EC_MOVE(SAND_ATTACK) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 SANDSHREW - ec_pokemon2 SANDSHREW + .2byte EC_POKEMON(SANDSHREW) + .2byte EC_POKEMON2(SANDSHREW) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 SANDSLASH - ec_pokemon2 SANDSLASH - ec_move1 SANDSTORM - ec_word SAPPHIRE - ec_word SATISFIED - ec_word SATURDAY - ec_word SAYS - ec_word SCARY - ec_move1 SCARY_FACE - ec_word SCATTER - ec_pokemon1 SCEPTILE - ec_word SCHOOL - ec_pokemon2 SCIZOR - ec_move2 SCRATCH - ec_move1 SCREECH - ec_pokemon2 SCYTHER + .2byte EC_POKEMON(SANDSLASH) + .2byte EC_POKEMON2(SANDSLASH) + .2byte EC_MOVE(SANDSTORM) + .2byte EC_WORD_SAPPHIRE + .2byte EC_WORD_SATISFIED + .2byte EC_WORD_SATURDAY + .2byte EC_WORD_SAYS + .2byte EC_WORD_SCARY + .2byte EC_MOVE(SCARY_FACE) + .2byte EC_WORD_SCATTER + .2byte EC_POKEMON(SCEPTILE) + .2byte EC_WORD_SCHOOL + .2byte EC_POKEMON2(SCIZOR) + .2byte EC_MOVE2(SCRATCH) + .2byte EC_MOVE(SCREECH) + .2byte EC_POKEMON2(SCYTHER) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 SEADRA - ec_pokemon2 SEADRA + .2byte EC_POKEMON(SEADRA) + .2byte EC_POKEMON2(SEADRA) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 SEAKING - ec_pokemon2 SEAKING - ec_pokemon1 SEALEO - ec_word SEARCH - ec_word SECRET - ec_word SECRET_BASE - ec_move2 SECRET_POWER - ec_word SEE - ec_word SEE_YA - ec_pokemon1 SEEDOT - ec_word SEEK - ec_pokemon2 SEEL - ec_word SEEMS - ec_word SEES - ec_move2 SEISMIC_TOSS - ec_move1 SELF_DESTRUCT - ec_word SENSE - ec_pokemon2 SENTRET - ec_word SERENE_GRACE - ec_word SERIOUS - ec_word SERIOUSLY - ec_word SERVICE - ec_pokemon1 SEVIPER - ec_move1 SHADOW_BALL - ec_move1 SHADOW_PUNCH - ec_word SHADOW_TAG - ec_word SHADY - ec_word SHAKE - ec_word SHAKY - ec_word SHALLOW - ec_pokemon1 SHARPEDO - ec_move1 SHARPEN - ec_word SHE - ec_word SHE_IS - ec_word SHE_WAS - ec_word SHED_SKIN - ec_pokemon1 SHEDINJA - ec_move1 SHEER_COLD - ec_pokemon1 SHELGON - ec_word SHELL_ARMOR - ec_pokemon2 SHELLDER - ec_word SHIELD_DUST - ec_pokemon1 SHIFTRY - ec_word SHINE - ec_move2 SHOCK_WAVE - ec_word SHOCKED - ec_word SHOPPING - ec_word SHOULD - ec_word SHOW - ec_word SHREDDED - ec_pokemon1 SHROOMISH - ec_pokemon2 SHUCKLE - ec_pokemon1 SHUPPET - ec_word SIBLINGS - ec_word SIGH - ec_move1 SIGNAL_BEAM - ec_pokemon1 SILCOON - ec_word SILKY - ec_word SILVER - ec_move1 SILVER_WIND - ec_word SIMPLE - ec_word SINCE - ec_move1 SING - ec_word SINK - ec_word SISTER + .2byte EC_POKEMON(SEAKING) + .2byte EC_POKEMON2(SEAKING) + .2byte EC_POKEMON(SEALEO) + .2byte EC_WORD_SEARCH + .2byte EC_WORD_SECRET + .2byte EC_WORD_SECRET_BASE + .2byte EC_MOVE2(SECRET_POWER) + .2byte EC_WORD_SEE + .2byte EC_WORD_SEE_YA + .2byte EC_POKEMON(SEEDOT) + .2byte EC_WORD_SEEK + .2byte EC_POKEMON2(SEEL) + .2byte EC_WORD_SEEMS + .2byte EC_WORD_SEES + .2byte EC_MOVE2(SEISMIC_TOSS) + .2byte EC_MOVE(SELF_DESTRUCT) + .2byte EC_WORD_SENSE + .2byte EC_POKEMON2(SENTRET) + .2byte EC_WORD_SERENE_GRACE + .2byte EC_WORD_SERIOUS + .2byte EC_WORD_SERIOUSLY + .2byte EC_WORD_SERVICE + .2byte EC_POKEMON(SEVIPER) + .2byte EC_MOVE(SHADOW_BALL) + .2byte EC_MOVE(SHADOW_PUNCH) + .2byte EC_WORD_SHADOW_TAG + .2byte EC_WORD_SHADY + .2byte EC_WORD_SHAKE + .2byte EC_WORD_SHAKY + .2byte EC_WORD_SHALLOW + .2byte EC_POKEMON(SHARPEDO) + .2byte EC_MOVE(SHARPEN) + .2byte EC_WORD_SHE + .2byte EC_WORD_SHE_IS + .2byte EC_WORD_SHE_WAS + .2byte EC_WORD_SHED_SKIN + .2byte EC_POKEMON(SHEDINJA) + .2byte EC_MOVE(SHEER_COLD) + .2byte EC_POKEMON(SHELGON) + .2byte EC_WORD_SHELL_ARMOR + .2byte EC_POKEMON2(SHELLDER) + .2byte EC_WORD_SHIELD_DUST + .2byte EC_POKEMON(SHIFTRY) + .2byte EC_WORD_SHINE + .2byte EC_MOVE2(SHOCK_WAVE) + .2byte EC_WORD_SHOCKED + .2byte EC_WORD_SHOPPING + .2byte EC_WORD_SHOULD + .2byte EC_WORD_SHOW + .2byte EC_WORD_SHREDDED + .2byte EC_POKEMON(SHROOMISH) + .2byte EC_POKEMON2(SHUCKLE) + .2byte EC_POKEMON(SHUPPET) + .2byte EC_WORD_SIBLINGS + .2byte EC_WORD_SIGH + .2byte EC_MOVE(SIGNAL_BEAM) + .2byte EC_POKEMON(SILCOON) + .2byte EC_WORD_SILKY + .2byte EC_WORD_SILVER + .2byte EC_MOVE(SILVER_WIND) + .2byte EC_WORD_SIMPLE + .2byte EC_WORD_SINCE + .2byte EC_MOVE(SING) + .2byte EC_WORD_SINK + .2byte EC_WORD_SISTER .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 SKARMORY - ec_pokemon2 SKARMORY - ec_move1 SKETCH - ec_word SKILL - ec_move1 SKILL_SWAP - ec_word SKILLED - ec_pokemon2 SKIPLOOM - ec_pokemon1 SKITTY - ec_move2 SKULL_BASH - ec_move1 SKY_ATTACK - ec_move1 SKY_UPPERCUT - ec_move2 SLACK_OFF - ec_pokemon1 SLAKING - ec_pokemon1 SLAKOTH - ec_move2 SLAM - ec_move1 SLASH - ec_word SLEEP - ec_move2 SLEEP_POWDER - ec_move2 SLEEP_TALK - ec_word SLEPT - ec_word SLIDE - ec_word SLIMY - ec_pokemon2 SLOWBRO - ec_pokemon2 SLOWKING - ec_pokemon2 SLOWPOKE - ec_move2 SLUDGE - ec_move2 SLUDGE_BOMB + .2byte EC_POKEMON(SKARMORY) + .2byte EC_POKEMON2(SKARMORY) + .2byte EC_MOVE(SKETCH) + .2byte EC_WORD_SKILL + .2byte EC_MOVE(SKILL_SWAP) + .2byte EC_WORD_SKILLED + .2byte EC_POKEMON2(SKIPLOOM) + .2byte EC_POKEMON(SKITTY) + .2byte EC_MOVE2(SKULL_BASH) + .2byte EC_MOVE(SKY_ATTACK) + .2byte EC_MOVE(SKY_UPPERCUT) + .2byte EC_MOVE2(SLACK_OFF) + .2byte EC_POKEMON(SLAKING) + .2byte EC_POKEMON(SLAKOTH) + .2byte EC_MOVE2(SLAM) + .2byte EC_MOVE(SLASH) + .2byte EC_WORD_SLEEP + .2byte EC_MOVE2(SLEEP_POWDER) + .2byte EC_MOVE2(SLEEP_TALK) + .2byte EC_WORD_SLEPT + .2byte EC_WORD_SLIDE + .2byte EC_WORD_SLIMY + .2byte EC_POKEMON2(SLOWBRO) + .2byte EC_POKEMON2(SLOWKING) + .2byte EC_POKEMON2(SLOWPOKE) + .2byte EC_MOVE2(SLUDGE) + .2byte EC_MOVE2(SLUDGE_BOMB) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 SLUGMA - ec_pokemon2 SLUGMA - ec_word SMACK - ec_word SMALL - ec_word SMART - ec_word SMARTNESS - ec_pokemon2 SMEARGLE - ec_word SMELL - ec_word SMELL_YA - ec_move1 SMELLING_SALT - ec_word SMITE - ec_move1 SMOG - ec_move1 SMOKESCREEN - ec_pokemon2 SMOOCHUM - ec_word SMOOTH - ec_move2 SNATCH - ec_pokemon2 SNEASEL - ec_move1 SNORE - ec_pokemon2 SNORLAX - ec_word SNORT - ec_pokemon1 SNORUNT - ec_pokemon2 SNUBBULL - ec_word SO - ec_move2 SOFT_BOILED - ec_word SOFTWARE - ec_move1 SOLAR_BEAM - ec_pokemon1 SOLROCK - ec_word SOME - ec_word SOMEHOW - ec_word SOMEONE - ec_word SOMETHING - ec_word SOMETIME - ec_word SON - ec_word SONG - ec_word SONGS - ec_move1 SONIC_BOOM - ec_word SOON - ec_word SORRY - ec_word SOUNDPROOF - ec_word SP_ABILITY - ec_move1 SPARK - ec_pokemon2 SPEAROW - ec_word SPECTATOR - ec_word SPEED_BOOST - ec_pokemon1 SPHEAL - ec_move1 SPIDER_WEB - ec_move2 SPIKE_CANNON - ec_move2 SPIKES - ec_pokemon2 SPINARAK - ec_pokemon1 SPINDA - ec_word SPIRALING - ec_word SPIRIT - ec_move2 SPIT_UP - ec_move1 SPITE - ec_move2 SPLASH - ec_pokemon1 SPOINK - ec_move1 SPORE - ec_word SPORTS - ec_word SPRING - ec_pokemon2 SQUIRTLE - ec_word STAGE - ec_pokemon2 STANTLER + .2byte EC_POKEMON(SLUGMA) + .2byte EC_POKEMON2(SLUGMA) + .2byte EC_WORD_SMACK + .2byte EC_WORD_SMALL + .2byte EC_WORD_SMART + .2byte EC_WORD_SMARTNESS + .2byte EC_POKEMON2(SMEARGLE) + .2byte EC_WORD_SMELL + .2byte EC_WORD_SMELL_YA + .2byte EC_MOVE(SMELLING_SALT) + .2byte EC_WORD_SMITE + .2byte EC_MOVE(SMOG) + .2byte EC_MOVE(SMOKESCREEN) + .2byte EC_POKEMON2(SMOOCHUM) + .2byte EC_WORD_SMOOTH + .2byte EC_MOVE2(SNATCH) + .2byte EC_POKEMON2(SNEASEL) + .2byte EC_MOVE(SNORE) + .2byte EC_POKEMON2(SNORLAX) + .2byte EC_WORD_SNORT + .2byte EC_POKEMON(SNORUNT) + .2byte EC_POKEMON2(SNUBBULL) + .2byte EC_WORD_SO + .2byte EC_MOVE2(SOFT_BOILED) + .2byte EC_WORD_SOFTWARE + .2byte EC_MOVE(SOLAR_BEAM) + .2byte EC_POKEMON(SOLROCK) + .2byte EC_WORD_SOME + .2byte EC_WORD_SOMEHOW + .2byte EC_WORD_SOMEONE + .2byte EC_WORD_SOMETHING + .2byte EC_WORD_SOMETIME + .2byte EC_WORD_SON + .2byte EC_WORD_SONG + .2byte EC_WORD_SONGS + .2byte EC_MOVE(SONIC_BOOM) + .2byte EC_WORD_SOON + .2byte EC_WORD_SORRY + .2byte EC_WORD_SOUNDPROOF + .2byte EC_WORD_SP_ABILITY + .2byte EC_MOVE(SPARK) + .2byte EC_POKEMON2(SPEAROW) + .2byte EC_WORD_SPECTATOR + .2byte EC_WORD_SPEED_BOOST + .2byte EC_POKEMON(SPHEAL) + .2byte EC_MOVE(SPIDER_WEB) + .2byte EC_MOVE2(SPIKE_CANNON) + .2byte EC_MOVE2(SPIKES) + .2byte EC_POKEMON2(SPINARAK) + .2byte EC_POKEMON(SPINDA) + .2byte EC_WORD_SPIRALING + .2byte EC_WORD_SPIRIT + .2byte EC_MOVE2(SPIT_UP) + .2byte EC_MOVE(SPITE) + .2byte EC_MOVE2(SPLASH) + .2byte EC_POKEMON(SPOINK) + .2byte EC_MOVE(SPORE) + .2byte EC_WORD_SPORTS + .2byte EC_WORD_SPRING + .2byte EC_POKEMON2(SQUIRTLE) + .2byte EC_WORD_STAGE + .2byte EC_POKEMON2(STANTLER) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 STARMIE - ec_pokemon2 STARMIE - ec_word START + .2byte EC_POKEMON(STARMIE) + .2byte EC_POKEMON2(STARMIE) + .2byte EC_WORD_START .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 STARYU - ec_pokemon2 STARYU - ec_word STATIC - ec_word STAY_AT_HOME - ec_word STEEL - ec_move2 STEEL_WING - ec_pokemon2 STEELIX - ec_word STENCH - ec_word STICKY_HOLD - ec_move2 STOCKPILE - ec_move2 STOMP - ec_word STOP - ec_word STORE - ec_word STORES - ec_word STORY - ec_word STRATEGY - ec_move1 STRENGTH - ec_move1 STRING_SHOT - ec_word STRONG - ec_move2 STRUGGLE - ec_word STUDY - ec_move1 STUN_SPORE - ec_word STURDY - ec_move1 SUBMISSION - ec_move2 SUBSTITUTE - ec_word SUCTION_CUPS - ec_pokemon2 SUDOWOODO - ec_pokemon2 SUICUNE - ec_word SUMMER - ec_word SUNDAY - ec_pokemon2 SUNFLORA - ec_pokemon2 SUNKERN - ec_move2 SUNNY_DAY - ec_word SUPER - ec_move1 SUPER_FANG - ec_move2 SUPERPOWER - ec_move2 SUPERSONIC - ec_move2 SURF - ec_word SURPRISE - ec_word SURRENDER - ec_pokemon1 SURSKIT - ec_pokemon1 SWABLU - ec_move1 SWAGGER - ec_move2 SWALLOW - ec_pokemon1 SWALOT - ec_pokemon1 SWAMPERT - ec_word SWARM - ec_move2 SWEET_KISS - ec_move1 SWEET_SCENT - ec_word SWEETS - ec_pokemon1 SWELLOW - ec_move1 SWIFT - ec_word SWIFT_SWIM - ec_pokemon2 SWINUB - ec_move2 SWORDS_DANCE - ec_word SYNCHRONIZE - ec_move1 SYNTHESIS - ec_word SYSTEM + .2byte EC_POKEMON(STARYU) + .2byte EC_POKEMON2(STARYU) + .2byte EC_WORD_STATIC + .2byte EC_WORD_STAY_AT_HOME + .2byte EC_WORD_STEEL + .2byte EC_MOVE2(STEEL_WING) + .2byte EC_POKEMON2(STEELIX) + .2byte EC_WORD_STENCH + .2byte EC_WORD_STICKY_HOLD + .2byte EC_MOVE2(STOCKPILE) + .2byte EC_MOVE2(STOMP) + .2byte EC_WORD_STOP + .2byte EC_WORD_STORE + .2byte EC_WORD_STORES + .2byte EC_WORD_STORY + .2byte EC_WORD_STRATEGY + .2byte EC_MOVE(STRENGTH) + .2byte EC_MOVE(STRING_SHOT) + .2byte EC_WORD_STRONG + .2byte EC_MOVE2(STRUGGLE) + .2byte EC_WORD_STUDY + .2byte EC_MOVE(STUN_SPORE) + .2byte EC_WORD_STURDY + .2byte EC_MOVE(SUBMISSION) + .2byte EC_MOVE2(SUBSTITUTE) + .2byte EC_WORD_SUCTION_CUPS + .2byte EC_POKEMON2(SUDOWOODO) + .2byte EC_POKEMON2(SUICUNE) + .2byte EC_WORD_SUMMER + .2byte EC_WORD_SUNDAY + .2byte EC_POKEMON2(SUNFLORA) + .2byte EC_POKEMON2(SUNKERN) + .2byte EC_MOVE2(SUNNY_DAY) + .2byte EC_WORD_SUPER + .2byte EC_MOVE(SUPER_FANG) + .2byte EC_MOVE2(SUPERPOWER) + .2byte EC_MOVE2(SUPERSONIC) + .2byte EC_MOVE2(SURF) + .2byte EC_WORD_SURPRISE + .2byte EC_WORD_SURRENDER + .2byte EC_POKEMON(SURSKIT) + .2byte EC_POKEMON(SWABLU) + .2byte EC_MOVE(SWAGGER) + .2byte EC_MOVE2(SWALLOW) + .2byte EC_POKEMON(SWALOT) + .2byte EC_POKEMON(SWAMPERT) + .2byte EC_WORD_SWARM + .2byte EC_MOVE2(SWEET_KISS) + .2byte EC_MOVE(SWEET_SCENT) + .2byte EC_WORD_SWEETS + .2byte EC_POKEMON(SWELLOW) + .2byte EC_MOVE(SWIFT) + .2byte EC_WORD_SWIFT_SWIM + .2byte EC_POKEMON2(SWINUB) + .2byte EC_MOVE2(SWORDS_DANCE) + .2byte EC_WORD_SYNCHRONIZE + .2byte EC_MOVE(SYNTHESIS) + .2byte EC_WORD_SYSTEM gEasyChatWordsByLetter_T:: @ 859DD5A - ec_move2 TACKLE - ec_move2 TAIL_GLOW - ec_move1 TAIL_WHIP - ec_pokemon1 TAILLOW - ec_word TAKE - ec_move2 TAKE_DOWN - ec_word TAKE_THAT - ec_word TALENT - ec_word TALK - ec_word TALKING - ec_pokemon2 TANGELA - ec_word TASTY - ec_move2 TAUNT - ec_pokemon2 TAUROS - ec_word TCH - ec_word TEACH - ec_word TEACHER - ec_word TEACHES - ec_pokemon2 TEDDIURSA - ec_move2 TEETER_DANCE - ec_move2 TELEPORT - ec_word TELEVISION + .2byte EC_MOVE2(TACKLE) + .2byte EC_MOVE2(TAIL_GLOW) + .2byte EC_MOVE(TAIL_WHIP) + .2byte EC_POKEMON(TAILLOW) + .2byte EC_WORD_TAKE + .2byte EC_MOVE2(TAKE_DOWN) + .2byte EC_WORD_TAKE_THAT + .2byte EC_WORD_TALENT + .2byte EC_WORD_TALK + .2byte EC_WORD_TALKING + .2byte EC_POKEMON2(TANGELA) + .2byte EC_WORD_TASTY + .2byte EC_MOVE2(TAUNT) + .2byte EC_POKEMON2(TAUROS) + .2byte EC_WORD_TCH + .2byte EC_WORD_TEACH + .2byte EC_WORD_TEACHER + .2byte EC_WORD_TEACHES + .2byte EC_POKEMON2(TEDDIURSA) + .2byte EC_MOVE2(TEETER_DANCE) + .2byte EC_MOVE2(TELEPORT) + .2byte EC_WORD_TELEVISION .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 TENTACOOL - ec_pokemon2 TENTACOOL + .2byte EC_POKEMON(TENTACOOL) + .2byte EC_POKEMON2(TENTACOOL) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 TENTACRUEL - ec_pokemon2 TENTACRUEL - ec_word TERRIBLE - ec_word TEST - ec_word THAN - ec_word THANK_YOU - ec_word THANKS - ec_word THAT - ec_word THAT_WAS - ec_word THAT_S - ec_word THAT_S_IT_EXCL - ec_word THE - ec_word THEIR - ec_word THERE - ec_word THESE - ec_word THESE_WERE - ec_word THEY - ec_word THEY_WERE - ec_word THEY_RE - ec_word THEY_VE - ec_word THICK - ec_word THICK_FAT - ec_move2 THIEF - ec_word THIN - ec_word THING - ec_word THINGS - ec_word THINK - ec_word THINKS - ec_word THIRSTY - ec_word THIS - ec_word THIS_IS_IT_EXCL - ec_word THOSE - ec_word THOSE_ARE - ec_word THOSE_WERE - ec_move1 THRASH - ec_word THROW - ec_move1 THUNDER - ec_move2 THUNDER_WAVE - ec_move1 THUNDERBOLT - ec_move1 THUNDER_PUNCH - ec_move2 THUNDER_SHOCK - ec_word THURSDAY - ec_move1 TICKLE - ec_word TICKLISH - ec_word TIGHT - ec_word TIME - ec_word TIMES - ec_word TIRED - ec_word TO - ec_word TO_HER - ec_word TO_ME - ec_word TO_THEM - ec_word TO_US - ec_word TO_WHOM - ec_word TODAY - ec_pokemon2 TOGEPI - ec_word TOGETHER - ec_pokemon2 TOGETIC - ec_word TOMORROW - ec_word TOO - ec_word TOO_LATE - ec_word TOO_STRONG - ec_word TOO_WEAK - ec_word TOP - ec_pokemon1 TORCHIC - ec_pokemon1 TORKOAL - ec_move1 TORMENT - ec_word TORRENT - ec_word TOTALLY - ec_pokemon2 TOTODILE - ec_word TOUGH - ec_word TOUGHNESS - ec_word TOURNAMENT - ec_word TOWER - ec_move2 TOXIC - ec_word TOYS - ec_word TRACE - ec_word TRADE - ec_word TRAIN - ec_word TRAINER - ec_word TRAINS - ec_move2 TRANSFORM - ec_pokemon1 TRAPINCH - ec_word TRAVEL - ec_word TREASURE - ec_pokemon1 TREECKO - ec_word TRENDY - ec_move2 TRI_ATTACK - ec_move2 TRICK - ec_word TRIES - ec_move2 TRIPLE_KICK - ec_pokemon1 TROPIUS - ec_word TRUANT - ec_word TRULY - ec_word TRUMP_CARD - ec_word TRUST - ec_word TRY - ec_word TUESDAY - ec_move2 TWINEEDLE - ec_word TWIRLING - ec_move2 TWISTER - ec_word TYPE - ec_pokemon2 TYPHLOSION - ec_pokemon2 TYRANITAR - ec_pokemon2 TYROGUE + .2byte EC_POKEMON(TENTACRUEL) + .2byte EC_POKEMON2(TENTACRUEL) + .2byte EC_WORD_TERRIBLE + .2byte EC_WORD_TEST + .2byte EC_WORD_THAN + .2byte EC_WORD_THANK_YOU + .2byte EC_WORD_THANKS + .2byte EC_WORD_THAT + .2byte EC_WORD_THAT_WAS + .2byte EC_WORD_THAT_S + .2byte EC_WORD_THAT_S_IT_EXCL + .2byte EC_WORD_THE + .2byte EC_WORD_THEIR + .2byte EC_WORD_THERE + .2byte EC_WORD_THESE + .2byte EC_WORD_THESE_WERE + .2byte EC_WORD_THEY + .2byte EC_WORD_THEY_WERE + .2byte EC_WORD_THEY_RE + .2byte EC_WORD_THEY_VE + .2byte EC_WORD_THICK + .2byte EC_WORD_THICK_FAT + .2byte EC_MOVE2(THIEF) + .2byte EC_WORD_THIN + .2byte EC_WORD_THING + .2byte EC_WORD_THINGS + .2byte EC_WORD_THINK + .2byte EC_WORD_THINKS + .2byte EC_WORD_THIRSTY + .2byte EC_WORD_THIS + .2byte EC_WORD_THIS_IS_IT_EXCL + .2byte EC_WORD_THOSE + .2byte EC_WORD_THOSE_ARE + .2byte EC_WORD_THOSE_WERE + .2byte EC_MOVE(THRASH) + .2byte EC_WORD_THROW + .2byte EC_MOVE(THUNDER) + .2byte EC_MOVE2(THUNDER_WAVE) + .2byte EC_MOVE(THUNDERBOLT) + .2byte EC_MOVE(THUNDER_PUNCH) + .2byte EC_MOVE2(THUNDER_SHOCK) + .2byte EC_WORD_THURSDAY + .2byte EC_MOVE(TICKLE) + .2byte EC_WORD_TICKLISH + .2byte EC_WORD_TIGHT + .2byte EC_WORD_TIME + .2byte EC_WORD_TIMES + .2byte EC_WORD_TIRED + .2byte EC_WORD_TO + .2byte EC_WORD_TO_HER + .2byte EC_WORD_TO_ME + .2byte EC_WORD_TO_THEM + .2byte EC_WORD_TO_US + .2byte EC_WORD_TO_WHOM + .2byte EC_WORD_TODAY + .2byte EC_POKEMON2(TOGEPI) + .2byte EC_WORD_TOGETHER + .2byte EC_POKEMON2(TOGETIC) + .2byte EC_WORD_TOMORROW + .2byte EC_WORD_TOO + .2byte EC_WORD_TOO_LATE + .2byte EC_WORD_TOO_STRONG + .2byte EC_WORD_TOO_WEAK + .2byte EC_WORD_TOP + .2byte EC_POKEMON(TORCHIC) + .2byte EC_POKEMON(TORKOAL) + .2byte EC_MOVE(TORMENT) + .2byte EC_WORD_TORRENT + .2byte EC_WORD_TOTALLY + .2byte EC_POKEMON2(TOTODILE) + .2byte EC_WORD_TOUGH + .2byte EC_WORD_TOUGHNESS + .2byte EC_WORD_TOURNAMENT + .2byte EC_WORD_TOWER + .2byte EC_MOVE2(TOXIC) + .2byte EC_WORD_TOYS + .2byte EC_WORD_TRACE + .2byte EC_WORD_TRADE + .2byte EC_WORD_TRAIN + .2byte EC_WORD_TRAINER + .2byte EC_WORD_TRAINS + .2byte EC_MOVE2(TRANSFORM) + .2byte EC_POKEMON(TRAPINCH) + .2byte EC_WORD_TRAVEL + .2byte EC_WORD_TREASURE + .2byte EC_POKEMON(TREECKO) + .2byte EC_WORD_TRENDY + .2byte EC_MOVE2(TRI_ATTACK) + .2byte EC_MOVE2(TRICK) + .2byte EC_WORD_TRIES + .2byte EC_MOVE2(TRIPLE_KICK) + .2byte EC_POKEMON(TROPIUS) + .2byte EC_WORD_TRUANT + .2byte EC_WORD_TRULY + .2byte EC_WORD_TRUMP_CARD + .2byte EC_WORD_TRUST + .2byte EC_WORD_TRY + .2byte EC_WORD_TUESDAY + .2byte EC_MOVE2(TWINEEDLE) + .2byte EC_WORD_TWIRLING + .2byte EC_MOVE2(TWISTER) + .2byte EC_WORD_TYPE + .2byte EC_POKEMON2(TYPHLOSION) + .2byte EC_POKEMON2(TYRANITAR) + .2byte EC_POKEMON2(TYROGUE) gEasyChatWordsByLetter_U:: @ 859DE64 - ec_word UGLY - ec_word UH_HUH - ec_word UH_OH - ec_word UM - ec_pokemon2 UMBREON - ec_word UNAVOIDABLE - ec_word UNBELIEVABLE - ec_word UNCLE - ec_word UNDERSTAND - ec_word UNDERSTANDS - ec_word UNDERSTOOD - ec_word UNION - ec_pokemon2 UNOWN - ec_word UNTIL - ec_word UP - ec_word UPBEAT - ec_move1 UPROAR - ec_word UPSIDE_DOWN - ec_word URGH - ec_pokemon2 URSARING - ec_word USE - ec_word USELESS - ec_word USES - ec_word USING + .2byte EC_WORD_UGLY + .2byte EC_WORD_UH_HUH + .2byte EC_WORD_UH_OH + .2byte EC_WORD_UM + .2byte EC_POKEMON2(UMBREON) + .2byte EC_WORD_UNAVOIDABLE + .2byte EC_WORD_UNBELIEVABLE + .2byte EC_WORD_UNCLE + .2byte EC_WORD_UNDERSTAND + .2byte EC_WORD_UNDERSTANDS + .2byte EC_WORD_UNDERSTOOD + .2byte EC_WORD_UNION + .2byte EC_POKEMON2(UNOWN) + .2byte EC_WORD_UNTIL + .2byte EC_WORD_UP + .2byte EC_WORD_UPBEAT + .2byte EC_MOVE(UPROAR) + .2byte EC_WORD_UPSIDE_DOWN + .2byte EC_WORD_URGH + .2byte EC_POKEMON2(URSARING) + .2byte EC_WORD_USE + .2byte EC_WORD_USELESS + .2byte EC_WORD_USES + .2byte EC_WORD_USING gEasyChatWordsByLetter_V:: @ 859DE94 - ec_word VACATION - ec_pokemon2 VAPOREON - ec_pokemon2 VENOMOTH - ec_pokemon2 VENONAT - ec_pokemon2 VENUSAUR - ec_word VERSION - ec_word VERSUS - ec_word VERY - ec_pokemon1 VIBRAVA - ec_move2 VICE_GRIP - ec_word VICTORY - ec_pokemon2 VICTREEBEL - ec_word VIEWING - ec_pokemon1 VIGOROTH + .2byte EC_WORD_VACATION + .2byte EC_POKEMON2(VAPOREON) + .2byte EC_POKEMON2(VENOMOTH) + .2byte EC_POKEMON2(VENONAT) + .2byte EC_POKEMON2(VENUSAUR) + .2byte EC_WORD_VERSION + .2byte EC_WORD_VERSUS + .2byte EC_WORD_VERY + .2byte EC_POKEMON(VIBRAVA) + .2byte EC_MOVE2(VICE_GRIP) + .2byte EC_WORD_VICTORY + .2byte EC_POKEMON2(VICTREEBEL) + .2byte EC_WORD_VIEWING + .2byte EC_POKEMON(VIGOROTH) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 VILEPLUME - ec_pokemon2 VILEPLUME - ec_move2 VINE_WHIP - ec_word VITAL_SPIRIT - ec_move1 VITAL_THROW - ec_pokemon1 VOLBEAT - ec_word VOLT_ABSORB - ec_move2 VOLT_TACKLE + .2byte EC_POKEMON(VILEPLUME) + .2byte EC_POKEMON2(VILEPLUME) + .2byte EC_MOVE2(VINE_WHIP) + .2byte EC_WORD_VITAL_SPIRIT + .2byte EC_MOVE(VITAL_THROW) + .2byte EC_POKEMON(VOLBEAT) + .2byte EC_WORD_VOLT_ABSORB + .2byte EC_MOVE2(VOLT_TACKLE) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 VOLTORB - ec_pokemon2 VOLTORB - ec_word VORACIOUS + .2byte EC_POKEMON(VOLTORB) + .2byte EC_POKEMON2(VOLTORB) + .2byte EC_WORD_VORACIOUS .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 VULPIX - ec_pokemon2 VULPIX + .2byte EC_POKEMON(VULPIX) + .2byte EC_POKEMON2(VULPIX) gEasyChatWordsByLetter_W:: @ 859DED6 - ec_word WAAAH - ec_word WAHAHAHA - ec_pokemon1 WAILMER - ec_pokemon1 WAILORD - ec_word WAIT - ec_word WAKE_UP - ec_word WAKES_UP - ec_word WALK - ec_word WALKING - ec_word WALKS - ec_pokemon1 WALREIN - ec_word WANDERING - ec_word WANNABE - ec_word WANT - ec_word WANTS - ec_pokemon2 WARTORTLE - ec_word WAS - ec_word WASN_T - ec_word WATER - ec_word WATER_ABSORB - ec_move2 WATER_GUN - ec_move2 WATER_PULSE - ec_move2 WATER_SPORT - ec_move1 WATER_SPOUT - ec_word WATER_VEIL - ec_move2 WATERFALL - ec_word WAY - ec_word WE - ec_word WE_RE - ec_word WE_VE - ec_word WEAK - ec_word WEAKENED - ec_move1 WEATHER_BALL - ec_word WEDNESDAY - ec_pokemon2 WEEDLE - ec_word WEEK - ec_pokemon2 WEEPINBELL + .2byte EC_WORD_WAAAH + .2byte EC_WORD_WAHAHAHA + .2byte EC_POKEMON(WAILMER) + .2byte EC_POKEMON(WAILORD) + .2byte EC_WORD_WAIT + .2byte EC_WORD_WAKE_UP + .2byte EC_WORD_WAKES_UP + .2byte EC_WORD_WALK + .2byte EC_WORD_WALKING + .2byte EC_WORD_WALKS + .2byte EC_POKEMON(WALREIN) + .2byte EC_WORD_WANDERING + .2byte EC_WORD_WANNABE + .2byte EC_WORD_WANT + .2byte EC_WORD_WANTS + .2byte EC_POKEMON2(WARTORTLE) + .2byte EC_WORD_WAS + .2byte EC_WORD_WASN_T + .2byte EC_WORD_WATER + .2byte EC_WORD_WATER_ABSORB + .2byte EC_MOVE2(WATER_GUN) + .2byte EC_MOVE2(WATER_PULSE) + .2byte EC_MOVE2(WATER_SPORT) + .2byte EC_MOVE(WATER_SPOUT) + .2byte EC_WORD_WATER_VEIL + .2byte EC_MOVE2(WATERFALL) + .2byte EC_WORD_WAY + .2byte EC_WORD_WE + .2byte EC_WORD_WE_RE + .2byte EC_WORD_WE_VE + .2byte EC_WORD_WEAK + .2byte EC_WORD_WEAKENED + .2byte EC_MOVE(WEATHER_BALL) + .2byte EC_WORD_WEDNESDAY + .2byte EC_POKEMON2(WEEDLE) + .2byte EC_WORD_WEEK + .2byte EC_POKEMON2(WEEPINBELL) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 WEEZING - ec_pokemon2 WEEZING - ec_word WEIRD - ec_word WELCOME - ec_word WELL - ec_word WELL_THEN - ec_word WENT - ec_word WERE - ec_word WEREN_T - ec_word WHAT - ec_word WHAT_S_UP_QUES - ec_word WHEN - ec_word WHEN_I_WIN - ec_word WHERE - ec_word WHICH - ec_word WHILE - ec_move1 WHIRLPOOL - ec_move2 WHIRLWIND - ec_pokemon1 WHISCASH - ec_pokemon1 WHISMUR - ec_word WHITE_SMOKE - ec_word WHO - ec_word WHO_IS - ec_word WHO_WAS - ec_word WHOAH - ec_word WHOM - ec_word WHOSE - ec_word WHY + .2byte EC_POKEMON(WEEZING) + .2byte EC_POKEMON2(WEEZING) + .2byte EC_WORD_WEIRD + .2byte EC_WORD_WELCOME + .2byte EC_WORD_WELL + .2byte EC_WORD_WELL_THEN + .2byte EC_WORD_WENT + .2byte EC_WORD_WERE + .2byte EC_WORD_WEREN_T + .2byte EC_WORD_WHAT + .2byte EC_WORD_WHAT_S_UP_QUES + .2byte EC_WORD_WHEN + .2byte EC_WORD_WHEN_I_WIN + .2byte EC_WORD_WHERE + .2byte EC_WORD_WHICH + .2byte EC_WORD_WHILE + .2byte EC_MOVE(WHIRLPOOL) + .2byte EC_MOVE2(WHIRLWIND) + .2byte EC_POKEMON(WHISCASH) + .2byte EC_POKEMON(WHISMUR) + .2byte EC_WORD_WHITE_SMOKE + .2byte EC_WORD_WHO + .2byte EC_WORD_WHO_IS + .2byte EC_WORD_WHO_WAS + .2byte EC_WORD_WHOAH + .2byte EC_WORD_WHOM + .2byte EC_WORD_WHOSE + .2byte EC_WORD_WHY .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 WIGGLYTUFF - ec_pokemon2 WIGGLYTUFF - ec_word WILD - ec_word WILL - ec_word WILL_BE_HERE - ec_move1 WILL_O_WISP - ec_word WIMPY - ec_word WIN - ec_move2 WING_ATTACK - ec_pokemon1 WINGULL - ec_word WINNER - ec_word WINS - ec_word WINTER - ec_word WIRELESS - ec_move2 WISH - ec_word WITH - ec_move1 WITHDRAW - ec_word WITHOUT - ec_word WOBBLY + .2byte EC_POKEMON(WIGGLYTUFF) + .2byte EC_POKEMON2(WIGGLYTUFF) + .2byte EC_WORD_WILD + .2byte EC_WORD_WILL + .2byte EC_WORD_WILL_BE_HERE + .2byte EC_MOVE(WILL_O_WISP) + .2byte EC_WORD_WIMPY + .2byte EC_WORD_WIN + .2byte EC_MOVE2(WING_ATTACK) + .2byte EC_POKEMON(WINGULL) + .2byte EC_WORD_WINNER + .2byte EC_WORD_WINS + .2byte EC_WORD_WINTER + .2byte EC_WORD_WIRELESS + .2byte EC_MOVE2(WISH) + .2byte EC_WORD_WITH + .2byte EC_MOVE(WITHDRAW) + .2byte EC_WORD_WITHOUT + .2byte EC_WORD_WOBBLY .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 WOBBUFFET - ec_pokemon2 WOBBUFFET - ec_word WOMAN - ec_word WON - ec_word WON_T - ec_word WONDER - ec_word WONDER_GUARD - ec_pokemon2 WOOPER - ec_word WORD - ec_word WORK - ec_word WORKING - ec_word WORKS - ec_word WORLD - ec_word WORRY - ec_word WOULD - ec_word WOW - ec_word WOWEE - ec_move2 WRAP - ec_word WROOOAAR_EXCL - ec_pokemon1 WURMPLE - ec_pokemon1 WYNAUT + .2byte EC_POKEMON(WOBBUFFET) + .2byte EC_POKEMON2(WOBBUFFET) + .2byte EC_WORD_WOMAN + .2byte EC_WORD_WON + .2byte EC_WORD_WON_T + .2byte EC_WORD_WONDER + .2byte EC_WORD_WONDER_GUARD + .2byte EC_POKEMON2(WOOPER) + .2byte EC_WORD_WORD + .2byte EC_WORD_WORK + .2byte EC_WORD_WORKING + .2byte EC_WORD_WORKS + .2byte EC_WORD_WORLD + .2byte EC_WORD_WORRY + .2byte EC_WORD_WOULD + .2byte EC_WORD_WOW + .2byte EC_WORD_WOWEE + .2byte EC_MOVE2(WRAP) + .2byte EC_WORD_WROOOAAR_EXCL + .2byte EC_POKEMON(WURMPLE) + .2byte EC_POKEMON(WYNAUT) gEasyChatWordsByLetter_X:: @ 859DFB4 .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 XATU - ec_pokemon2 XATU + .2byte EC_POKEMON(XATU) + .2byte EC_POKEMON2(XATU) gEasyChatWordsByLetter_Y:: @ 859DFBC - ec_word YAHOO - ec_pokemon2 YANMA - ec_move1 YAWN - ec_word YAY - ec_word YEAH - ec_word YEAH_YEAH - ec_word YEEHAW_EXCL - ec_word YES - ec_word YES_SIR_EXCL - ec_word YESTERDAY - ec_word YET - ec_word YO - ec_word YOU - ec_word YOU_RE - ec_word YOU_VE - ec_word YOUNG - ec_word YOUR - ec_word YOURS - ec_word YUP + .2byte EC_WORD_YAHOO + .2byte EC_POKEMON2(YANMA) + .2byte EC_MOVE(YAWN) + .2byte EC_WORD_YAY + .2byte EC_WORD_YEAH + .2byte EC_WORD_YEAH_YEAH + .2byte EC_WORD_YEEHAW_EXCL + .2byte EC_WORD_YES + .2byte EC_WORD_YES_SIR_EXCL + .2byte EC_WORD_YESTERDAY + .2byte EC_WORD_YET + .2byte EC_WORD_YO + .2byte EC_WORD_YOU + .2byte EC_WORD_YOU_RE + .2byte EC_WORD_YOU_VE + .2byte EC_WORD_YOUNG + .2byte EC_WORD_YOUR + .2byte EC_WORD_YOURS + .2byte EC_WORD_YUP gEasyChatWordsByLetter_Z:: @ 859DFE2 - ec_pokemon1 ZANGOOSE - ec_move2 ZAP_CANNON - ec_pokemon2 ZAPDOS - ec_pokemon1 ZIGZAGOON + .2byte EC_POKEMON(ZANGOOSE) + .2byte EC_MOVE2(ZAP_CANNON) + .2byte EC_POKEMON2(ZAPDOS) + .2byte EC_POKEMON(ZIGZAGOON) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon1 ZUBAT - ec_pokemon2 ZUBAT + .2byte EC_POKEMON(ZUBAT) + .2byte EC_POKEMON2(ZUBAT) gEasyChatWordsByLetter_UnusedJapaneseHi:: @ 859DFF2 - ec_pokemon2 CLEFFA - ec_word AIYEEH - ec_pokemon2 WEEDLE - ec_word HERO + .2byte EC_POKEMON2(CLEFFA) + .2byte EC_WORD_AIYEEH + .2byte EC_POKEMON2(WEEDLE) + .2byte EC_WORD_HERO .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 PIKACHU - ec_pokemon1 PIKACHU - ec_move2 LIGHT_SCREEN - ec_word SHINE - ec_word LOW - ec_pokemon2 CLEFABLE - ec_word FLYING - ec_pokemon2 PIDGEOT - ec_pokemon2 PIDGEOTTO - ec_word LEFT + .2byte EC_POKEMON2(PIKACHU) + .2byte EC_POKEMON(PIKACHU) + .2byte EC_MOVE2(LIGHT_SCREEN) + .2byte EC_WORD_SHINE + .2byte EC_WORD_LOW + .2byte EC_POKEMON2(CLEFABLE) + .2byte EC_WORD_FLYING + .2byte EC_POKEMON2(PIDGEOT) + .2byte EC_POKEMON2(PIDGEOTTO) + .2byte EC_WORD_LEFT .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 PICHU - ec_pokemon1 PICHU - ec_move2 SCRATCH - ec_word SURPRISE - ec_move2 HYPER_FANG - ec_pokemon2 CLEFAIRY - ec_word DROUGHT - ec_word HIDDEN - ec_word PERSON - ec_word AWFUL - ec_pokemon2 CHARMANDER + .2byte EC_POKEMON2(PICHU) + .2byte EC_POKEMON(PICHU) + .2byte EC_MOVE2(SCRATCH) + .2byte EC_WORD_SURPRISE + .2byte EC_MOVE2(HYPER_FANG) + .2byte EC_POKEMON2(CLEFAIRY) + .2byte EC_WORD_DROUGHT + .2byte EC_WORD_HIDDEN + .2byte EC_WORD_PERSON + .2byte EC_WORD_AWFUL + .2byte EC_POKEMON2(CHARMANDER) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 STARYU - ec_pokemon1 STARYU - ec_word ALONE - ec_pokemon2 CYNDAQUIL - ec_move2 EMBER - ec_pokemon1 VIBRAVA - ec_word BORED - ec_pokemon2 SUNKERN - ec_word SECRET - ec_word SECRET_BASE - ec_move2 SECRET_POWER - ec_pokemon2 TEDDIURSA - ec_word HIYAH - ec_move2 DIZZY_PUNCH - ec_word LIGHTNINGROD + .2byte EC_POKEMON2(STARYU) + .2byte EC_POKEMON(STARYU) + .2byte EC_WORD_ALONE + .2byte EC_POKEMON2(CYNDAQUIL) + .2byte EC_MOVE2(EMBER) + .2byte EC_POKEMON(VIBRAVA) + .2byte EC_WORD_BORED + .2byte EC_POKEMON2(SUNKERN) + .2byte EC_WORD_SECRET + .2byte EC_WORD_SECRET_BASE + .2byte EC_MOVE2(SECRET_POWER) + .2byte EC_POKEMON2(TEDDIURSA) + .2byte EC_WORD_HIYAH + .2byte EC_MOVE2(DIZZY_PUNCH) + .2byte EC_WORD_LIGHTNINGROD .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 VOLTORB - ec_pokemon1 VOLTORB - ec_word DAYTIME - ec_move2 BULK_UP - ec_word NAP - ec_word HEROINE - ec_pokemon1 FEEBAS + .2byte EC_POKEMON2(VOLTORB) + .2byte EC_POKEMON(VOLTORB) + .2byte EC_WORD_DAYTIME + .2byte EC_MOVE2(BULK_UP) + .2byte EC_WORD_NAP + .2byte EC_WORD_HEROINE + .2byte EC_POKEMON(FEEBAS) gEasyChatWordsByLetter_UnusedJapaneseFu:: @ 859E060 - ec_word FIGHT - ec_pokemon2 MOLTRES - ec_word FASHION - ec_word FEAR - ec_word FEVER - ec_move2 IMPRISON - ec_pokemon2 FLAREON + .2byte EC_WORD_FIGHT + .2byte EC_POKEMON2(MOLTRES) + .2byte EC_WORD_FASHION + .2byte EC_WORD_FEAR + .2byte EC_WORD_FEVER + .2byte EC_MOVE2(IMPRISON) + .2byte EC_POKEMON2(FLAREON) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 ALAKAZAM - ec_pokemon1 ALAKAZAM - ec_pokemon2 MAGMAR - ec_pokemon1 GRUMPIG - ec_move2 FEATHER_DANCE - ec_pokemon2 FORRETRESS - ec_move2 WHIRLWIND - ec_word COMPOUNDEYES + .2byte EC_POKEMON2(ALAKAZAM) + .2byte EC_POKEMON(ALAKAZAM) + .2byte EC_POKEMON2(MAGMAR) + .2byte EC_POKEMON(GRUMPIG) + .2byte EC_MOVE2(FEATHER_DANCE) + .2byte EC_POKEMON2(FORRETRESS) + .2byte EC_MOVE2(WHIRLWIND) + .2byte EC_WORD_COMPOUNDEYES .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 WIGGLYTUFF - ec_pokemon1 WIGGLYTUFF - ec_move2 BEAT_UP - ec_word MYSTERY - ec_pokemon2 IVYSAUR - ec_pokemon2 BULBASAUR - ec_word MARVEL_SCALE - ec_word WONDER_GUARD - ec_pokemon2 VENUSAUR - ec_word LACKS - ec_word RESUSCITATE - ec_word SMACK - ec_word FUFUFU - ec_pokemon2 AERODACTYL - ec_word WIMPY - ec_pokemon2 MAGBY - ec_word LOL - ec_move2 BLIZZARD + .2byte EC_POKEMON2(WIGGLYTUFF) + .2byte EC_POKEMON(WIGGLYTUFF) + .2byte EC_MOVE2(BEAT_UP) + .2byte EC_WORD_MYSTERY + .2byte EC_POKEMON2(IVYSAUR) + .2byte EC_POKEMON2(BULBASAUR) + .2byte EC_WORD_MARVEL_SCALE + .2byte EC_WORD_WONDER_GUARD + .2byte EC_POKEMON2(VENUSAUR) + .2byte EC_WORD_LACKS + .2byte EC_WORD_RESUSCITATE + .2byte EC_WORD_SMACK + .2byte EC_WORD_FUFUFU + .2byte EC_POKEMON2(AERODACTYL) + .2byte EC_WORD_WIMPY + .2byte EC_POKEMON2(MAGBY) + .2byte EC_WORD_LOL + .2byte EC_MOVE2(BLIZZARD) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 IGGLYBUFF - ec_pokemon1 IGGLYBUFF - ec_word SNORT - ec_move2 STOMP - ec_word INSOMNIA - ec_word WINTER - ec_word LEVITATE - ec_pokemon1 FLYGON - ec_word PLUS - ec_move2 BLAST_BURN - ec_pokemon1 PLUSLE - ec_pokemon2 UMBREON - ec_move2 FLASH - ec_word WOBBLY - ec_move2 TEETER_DANCE - ec_word PRETEND - ec_pokemon2 ARTICUNO - ec_word WANNABE + .2byte EC_POKEMON2(IGGLYBUFF) + .2byte EC_POKEMON(IGGLYBUFF) + .2byte EC_WORD_SNORT + .2byte EC_MOVE2(STOMP) + .2byte EC_WORD_INSOMNIA + .2byte EC_WORD_WINTER + .2byte EC_WORD_LEVITATE + .2byte EC_POKEMON(FLYGON) + .2byte EC_WORD_PLUS + .2byte EC_MOVE2(BLAST_BURN) + .2byte EC_POKEMON(PLUSLE) + .2byte EC_POKEMON2(UMBREON) + .2byte EC_MOVE2(FLASH) + .2byte EC_WORD_WOBBLY + .2byte EC_MOVE2(TEETER_DANCE) + .2byte EC_WORD_PRETEND + .2byte EC_POKEMON2(ARTICUNO) + .2byte EC_WORD_WANNABE .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 JIGGLYPUFF - ec_pokemon1 JIGGLYPUFF - ec_pokemon2 SNUBBULL - ec_word SHAKY - ec_move2 CRUSH_CLAW - ec_move2 BLAZE_KICK - ec_move2 PRESENT - ec_word PRESSURE - ec_word BLEND - ec_word FRONTIER - ec_word HUMPH - ec_move2 ERUPTION + .2byte EC_POKEMON2(JIGGLYPUFF) + .2byte EC_POKEMON(JIGGLYPUFF) + .2byte EC_POKEMON2(SNUBBULL) + .2byte EC_WORD_SHAKY + .2byte EC_MOVE2(CRUSH_CLAW) + .2byte EC_MOVE2(BLAZE_KICK) + .2byte EC_MOVE2(PRESENT) + .2byte EC_WORD_PRESSURE + .2byte EC_WORD_BLEND + .2byte EC_WORD_FRONTIER + .2byte EC_WORD_HUMPH + .2byte EC_MOVE2(ERUPTION) gEasyChatWordsByLetter_UnusedJapaneseHe:: @ 859E0EE - ec_word HEY - ec_pokemon1 CORPHISH - ec_word BABY - ec_pokemon2 BAYLEEF - ec_word BEST - ec_word LOUSY - ec_word HEHEHE + .2byte EC_WORD_HEY + .2byte EC_POKEMON(CORPHISH) + .2byte EC_WORD_BABY + .2byte EC_POKEMON2(BAYLEEF) + .2byte EC_WORD_BEST + .2byte EC_WORD_LOUSY + .2byte EC_WORD_HEHEHE .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 GRIMER - ec_pokemon1 GRIMER + .2byte EC_POKEMON2(GRIMER) + .2byte EC_POKEMON(GRIMER) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 MUK - ec_pokemon1 MUK - ec_word LIQUID_OOZE - ec_move2 SLUDGE - ec_move2 SLUDGE_BOMB - ec_move2 GLARE - ec_word HEH + .2byte EC_POKEMON2(MUK) + .2byte EC_POKEMON(MUK) + .2byte EC_WORD_LIQUID_OOZE + .2byte EC_MOVE2(SLUDGE) + .2byte EC_MOVE2(SLUDGE_BOMB) + .2byte EC_MOVE2(GLARE) + .2byte EC_WORD_HEH .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 HERACROSS - ec_pokemon1 HERACROSS - ec_pokemon1 PELIPPER - ec_pokemon2 HOUNDOOM - ec_pokemon2 PERSIAN - ec_word RIPPED - ec_pokemon2 LICKITUNG - ec_word STUDY - ec_word COLOR_CHANGE - ec_move2 TRANSFORM + .2byte EC_POKEMON2(HERACROSS) + .2byte EC_POKEMON(HERACROSS) + .2byte EC_POKEMON(PELIPPER) + .2byte EC_POKEMON2(HOUNDOOM) + .2byte EC_POKEMON2(PERSIAN) + .2byte EC_WORD_RIPPED + .2byte EC_POKEMON2(LICKITUNG) + .2byte EC_WORD_STUDY + .2byte EC_WORD_COLOR_CHANGE + .2byte EC_MOVE2(TRANSFORM) gEasyChatWordsByLetter_UnusedJapaneseHo:: @ 859E12E - ec_move2 POISON_TAIL - ec_word POINTS - ec_pokemon2 HO_OH - ec_word SOUNDPROOF - ec_word ADVENTURE - ec_word EFFECT_SPORE - ec_move2 ROAR - ec_pokemon1 WAILORD - ec_pokemon1 WAILMER - ec_word DUDE - ec_word BOARD - ec_pokemon2 HOOTHOOT - ec_pokemon1 SALAMENCE - ec_word BALL - ec_move2 BONE_RUSH - ec_word THEY - ec_word THEY_WERE - ec_word TO_THEM - ec_word THEIR - ec_word THEY_RE - ec_word THEY_VE - ec_word POKENAV - ec_word POKEMON - ec_word GET - ec_word POKEDEX - ec_word PKRS - ec_move2 CAMOUFLAGE - ec_word WANT - ec_move2 COVET - ec_pokemon1 AGGRON - ec_move2 TAIL_GLOW - ec_pokemon1 POOCHYENA - ec_pokemon2 PIDGEY - ec_word AS_MUCH_AS - ec_pokemon2 PONYTA - ec_move2 BONE_CLUB - ec_move2 BONEMERANG - ec_word FIRE - ec_move2 FIRE_SPIN - ec_word FLAME_BODY - ec_move2 FIRE_PUNCH - ec_pokemon2 SKIPLOOM - ec_word HOHOHO - ec_word PRAISE - ec_word UH_HUH - ec_pokemon2 PORYGON - ec_pokemon2 PORYGON2 - ec_move2 VOLT_TACKLE - ec_word POKEBLOCK - ec_move2 PERISH_SONG - ec_word SHREDDED - ec_pokemon1 CASTFORM - ec_word BOOK - ec_word SERIOUS - ec_word REALLY + .2byte EC_MOVE2(POISON_TAIL) + .2byte EC_WORD_POINTS + .2byte EC_POKEMON2(HO_OH) + .2byte EC_WORD_SOUNDPROOF + .2byte EC_WORD_ADVENTURE + .2byte EC_WORD_EFFECT_SPORE + .2byte EC_MOVE2(ROAR) + .2byte EC_POKEMON(WAILORD) + .2byte EC_POKEMON(WAILMER) + .2byte EC_WORD_DUDE + .2byte EC_WORD_BOARD + .2byte EC_POKEMON2(HOOTHOOT) + .2byte EC_POKEMON(SALAMENCE) + .2byte EC_WORD_BALL + .2byte EC_MOVE2(BONE_RUSH) + .2byte EC_WORD_THEY + .2byte EC_WORD_THEY_WERE + .2byte EC_WORD_TO_THEM + .2byte EC_WORD_THEIR + .2byte EC_WORD_THEY_RE + .2byte EC_WORD_THEY_VE + .2byte EC_WORD_POKENAV + .2byte EC_WORD_POKEMON + .2byte EC_WORD_GET + .2byte EC_WORD_POKEDEX + .2byte EC_WORD_PKRS + .2byte EC_MOVE2(CAMOUFLAGE) + .2byte EC_WORD_WANT + .2byte EC_MOVE2(COVET) + .2byte EC_POKEMON(AGGRON) + .2byte EC_MOVE2(TAIL_GLOW) + .2byte EC_POKEMON(POOCHYENA) + .2byte EC_POKEMON2(PIDGEY) + .2byte EC_WORD_AS_MUCH_AS + .2byte EC_POKEMON2(PONYTA) + .2byte EC_MOVE2(BONE_CLUB) + .2byte EC_MOVE2(BONEMERANG) + .2byte EC_WORD_FIRE + .2byte EC_MOVE2(FIRE_SPIN) + .2byte EC_WORD_FLAME_BODY + .2byte EC_MOVE2(FIRE_PUNCH) + .2byte EC_POKEMON2(SKIPLOOM) + .2byte EC_WORD_HOHOHO + .2byte EC_WORD_PRAISE + .2byte EC_WORD_UH_HUH + .2byte EC_POKEMON2(PORYGON) + .2byte EC_POKEMON2(PORYGON2) + .2byte EC_MOVE2(VOLT_TACKLE) + .2byte EC_WORD_POKEBLOCK + .2byte EC_MOVE2(PERISH_SONG) + .2byte EC_WORD_SHREDDED + .2byte EC_POKEMON(CASTFORM) + .2byte EC_WORD_BOOK + .2byte EC_WORD_SERIOUS + .2byte EC_WORD_REALLY gEasyChatWordsByLetter_UnusedJapaneseMa:: @ 859E19C - ec_word OH_DEAR - ec_word IN - ec_word GIVE_UP - ec_word MINUS - ec_pokemon1 MINUN - ec_word DAILY - ec_word OWN_TEMPO - ec_move2 WRAP - ec_move2 SPIKES + .2byte EC_WORD_OH_DEAR + .2byte EC_WORD_IN + .2byte EC_WORD_GIVE_UP + .2byte EC_WORD_MINUS + .2byte EC_POKEMON(MINUN) + .2byte EC_WORD_DAILY + .2byte EC_WORD_OWN_TEMPO + .2byte EC_MOVE2(WRAP) + .2byte EC_MOVE2(SPIKES) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 MAGCARGO - ec_pokemon1 MAGCARGO - ec_move2 MAGNITUDE - ec_pokemon1 MAKUHITA + .2byte EC_POKEMON2(MAGCARGO) + .2byte EC_POKEMON(MAGCARGO) + .2byte EC_MOVE2(MAGNITUDE) + .2byte EC_POKEMON(MAKUHITA) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 SLUGMA - ec_pokemon1 SLUGMA - ec_word MAGMA_ARMOR - ec_pokemon2 QUILAVA - ec_word OVERDO - ec_word LOSS - ec_word IF_I_LOSE - ec_word LOST - ec_word LOSE - ec_word TRULY - ec_word SERIOUSLY - ec_move2 MAGICAL_LEAF - ec_move2 MAGIC_COAT - ec_word MACHINE - ec_word OUT - ec_word MASTER - ec_word INCREASING - ec_word TOO - ec_word LIKE - ec_pokemon2 BELLSPROUT + .2byte EC_POKEMON2(SLUGMA) + .2byte EC_POKEMON(SLUGMA) + .2byte EC_WORD_MAGMA_ARMOR + .2byte EC_POKEMON2(QUILAVA) + .2byte EC_WORD_OVERDO + .2byte EC_WORD_LOSS + .2byte EC_WORD_IF_I_LOSE + .2byte EC_WORD_LOST + .2byte EC_WORD_LOSE + .2byte EC_WORD_TRULY + .2byte EC_WORD_SERIOUSLY + .2byte EC_MOVE2(MAGICAL_LEAF) + .2byte EC_MOVE2(MAGIC_COAT) + .2byte EC_WORD_MACHINE + .2byte EC_WORD_OUT + .2byte EC_WORD_MASTER + .2byte EC_WORD_INCREASING + .2byte EC_WORD_TOO + .2byte EC_WORD_LIKE + .2byte EC_POKEMON2(BELLSPROUT) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 WEEZING - ec_pokemon1 WEEZING - ec_word SMELL - ec_word YET - ec_word MISTAKE - ec_pokemon1 LINOONE - ec_word TOTALLY - ec_move2 MUD_SHOT - ec_move2 MACH_PUNCH - ec_word FESTIVAL - ec_word UNTIL - ec_word WAIT - ec_word GUARD - ec_move2 PROTECT - ec_pokemon1 CASCOON + .2byte EC_POKEMON2(WEEZING) + .2byte EC_POKEMON(WEEZING) + .2byte EC_WORD_SMELL + .2byte EC_WORD_YET + .2byte EC_WORD_MISTAKE + .2byte EC_POKEMON(LINOONE) + .2byte EC_WORD_TOTALLY + .2byte EC_MOVE2(MUD_SHOT) + .2byte EC_MOVE2(MACH_PUNCH) + .2byte EC_WORD_FESTIVAL + .2byte EC_WORD_UNTIL + .2byte EC_WORD_WAIT + .2byte EC_WORD_GUARD + .2byte EC_MOVE2(PROTECT) + .2byte EC_POKEMON(CASCOON) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 MARILL - ec_pokemon1 MARILL + .2byte EC_POKEMON2(MARILL) + .2byte EC_POKEMON(MARILL) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 AZUMARILL - ec_pokemon1 AZUMARILL - ec_move2 DEFENSE_CURL - ec_word AS_IF - ec_pokemon1 SWALOT + .2byte EC_POKEMON2(AZUMARILL) + .2byte EC_POKEMON(AZUMARILL) + .2byte EC_MOVE2(DEFENSE_CURL) + .2byte EC_WORD_AS_IF + .2byte EC_POKEMON(SWALOT) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 ELECTRODE - ec_pokemon1 ELECTRODE - ec_move2 ROLLING_KICK - ec_word COMICS - ec_pokemon2 MANKEY - ec_word SATISFIED - ec_pokemon2 MANTINE + .2byte EC_POKEMON2(ELECTRODE) + .2byte EC_POKEMON(ELECTRODE) + .2byte EC_MOVE2(ROLLING_KICK) + .2byte EC_WORD_COMICS + .2byte EC_POKEMON2(MANKEY) + .2byte EC_WORD_SATISFIED + .2byte EC_POKEMON2(MANTINE) gEasyChatWordsByLetter_UnusedJapaneseMi:: @ 859E230 - ec_word PARTNER - ec_move2 SUBSTITUTE - ec_word RIGHT - ec_move2 DETECT - ec_move2 PIN_MISSILE - ec_word WATER - ec_move2 WATER_SPORT - ec_pokemon1 MUDKIP - ec_move2 WATER_GUN - ec_move2 MIST_BALL - ec_move2 WATER_PULSE - ec_word WATER_VEIL - ec_word SHOW - ec_word SEE - ec_word DID - ec_move2 FURY_ATTACK - ec_move2 FURY_SWIPES - ec_move2 DESTINY_BOND - ec_word LOOKS - ec_word REJECT - ec_word ACCEPT - ec_pokemon2 DRATINI - ec_move2 FALSE_SWIPE - ec_move2 FORESIGHT - ec_pokemon2 MEW - ec_pokemon2 MEWTWO - ec_move2 MIRROR_COAT - ec_move2 FUTURE_SIGHT - ec_word SEES - ec_move2 MILK_DRINK - ec_pokemon2 MILTANK - ec_pokemon1 MILOTIC - ec_word WE - ec_word BEEN - ec_word TO_US - ec_word OUR - ec_word WE_RE + .2byte EC_WORD_PARTNER + .2byte EC_MOVE2(SUBSTITUTE) + .2byte EC_WORD_RIGHT + .2byte EC_MOVE2(DETECT) + .2byte EC_MOVE2(PIN_MISSILE) + .2byte EC_WORD_WATER + .2byte EC_MOVE2(WATER_SPORT) + .2byte EC_POKEMON(MUDKIP) + .2byte EC_MOVE2(WATER_GUN) + .2byte EC_MOVE2(MIST_BALL) + .2byte EC_MOVE2(WATER_PULSE) + .2byte EC_WORD_WATER_VEIL + .2byte EC_WORD_SHOW + .2byte EC_WORD_SEE + .2byte EC_WORD_DID + .2byte EC_MOVE2(FURY_ATTACK) + .2byte EC_MOVE2(FURY_SWIPES) + .2byte EC_MOVE2(DESTINY_BOND) + .2byte EC_WORD_LOOKS + .2byte EC_WORD_REJECT + .2byte EC_WORD_ACCEPT + .2byte EC_POKEMON2(DRATINI) + .2byte EC_MOVE2(FALSE_SWIPE) + .2byte EC_MOVE2(FORESIGHT) + .2byte EC_POKEMON2(MEW) + .2byte EC_POKEMON2(MEWTWO) + .2byte EC_MOVE2(MIRROR_COAT) + .2byte EC_MOVE2(FUTURE_SIGHT) + .2byte EC_WORD_SEES + .2byte EC_MOVE2(MILK_DRINK) + .2byte EC_POKEMON2(MILTANK) + .2byte EC_POKEMON(MILOTIC) + .2byte EC_WORD_WE + .2byte EC_WORD_BEEN + .2byte EC_WORD_TO_US + .2byte EC_WORD_OUR + .2byte EC_WORD_WE_RE gEasyChatWordsByLetter_UnusedJapaneseMu:: @ 859E27A - ec_word MOOD - ec_pokemon2 MISDREAVUS - ec_word OLDEN - ec_word ARRGH - ec_word BUG - ec_word SWARM - ec_word RATHER - ec_pokemon2 SMOOCHUM - ec_word INVINCIBLE - ec_word HEART - ec_word MUFUFU - ec_word MMM + .2byte EC_WORD_MOOD + .2byte EC_POKEMON2(MISDREAVUS) + .2byte EC_WORD_OLDEN + .2byte EC_WORD_ARRGH + .2byte EC_WORD_BUG + .2byte EC_WORD_SWARM + .2byte EC_WORD_RATHER + .2byte EC_POKEMON2(SMOOCHUM) + .2byte EC_WORD_INVINCIBLE + .2byte EC_WORD_HEART + .2byte EC_WORD_MUFUFU + .2byte EC_WORD_MMM gEasyChatWordsByLetter_UnusedJapaneseMe:: @ 859E292 - ec_move2 CALM_MIND - ec_word MAIL - ec_move2 MEGA_DRAIN - ec_move2 MEGA_KICK - ec_move2 MEGA_PUNCH - ec_pokemon2 MEGANIUM - ec_move2 MEGAHORN - ec_word SEEK - ec_move2 HIDDEN_POWER - ec_word RARE - ec_pokemon1 METAGROSS - ec_pokemon2 DITTO - ec_move2 METAL_CLAW - ec_pokemon1 METANG - ec_word DESTROYED - ec_word MESSAGE - ec_word AWFULLY + .2byte EC_MOVE2(CALM_MIND) + .2byte EC_WORD_MAIL + .2byte EC_MOVE2(MEGA_DRAIN) + .2byte EC_MOVE2(MEGA_KICK) + .2byte EC_MOVE2(MEGA_PUNCH) + .2byte EC_POKEMON2(MEGANIUM) + .2byte EC_MOVE2(MEGAHORN) + .2byte EC_WORD_SEEK + .2byte EC_MOVE2(HIDDEN_POWER) + .2byte EC_WORD_RARE + .2byte EC_POKEMON(METAGROSS) + .2byte EC_POKEMON2(DITTO) + .2byte EC_MOVE2(METAL_CLAW) + .2byte EC_POKEMON(METANG) + .2byte EC_WORD_DESTROYED + .2byte EC_WORD_MESSAGE + .2byte EC_WORD_AWFULLY .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 TENTACOOL - ec_pokemon1 TENTACOOL - ec_word FIERY - ec_pokemon2 MAREEP - ec_move2 ATTRACT - ec_word CUTE_CHARM - ec_word IMMUNITY + .2byte EC_POKEMON2(TENTACOOL) + .2byte EC_POKEMON(TENTACOOL) + .2byte EC_WORD_FIERY + .2byte EC_POKEMON2(MAREEP) + .2byte EC_MOVE2(ATTRACT) + .2byte EC_WORD_CUTE_CHARM + .2byte EC_WORD_IMMUNITY gEasyChatWordsByLetter_UnusedJapaneseMo:: @ 859E2C6 - ec_word ALMOST - ec_word BLAZE - ec_word NEARLY - ec_word MODE - ec_word OLD - ec_word THURSDAY - ec_pokemon2 FLAAFFY - ec_word LISTENING - ec_word OWN - ec_word MORE - ec_word DIDN_T - ec_word PICKUP - ec_move2 MIMIC - ec_word TOO_LATE - ec_word PATTERN - ec_word FLASH_FIRE - ec_word RECEIVED - ec_pokemon2 VENOMOTH - ec_word DOESN_T - ec_pokemon2 TANGELA + .2byte EC_WORD_ALMOST + .2byte EC_WORD_BLAZE + .2byte EC_WORD_NEARLY + .2byte EC_WORD_MODE + .2byte EC_WORD_OLD + .2byte EC_WORD_THURSDAY + .2byte EC_POKEMON2(FLAAFFY) + .2byte EC_WORD_LISTENING + .2byte EC_WORD_OWN + .2byte EC_WORD_MORE + .2byte EC_WORD_DIDN_T + .2byte EC_WORD_PICKUP + .2byte EC_MOVE2(MIMIC) + .2byte EC_WORD_TOO_LATE + .2byte EC_WORD_PATTERN + .2byte EC_WORD_FLASH_FIRE + .2byte EC_WORD_RECEIVED + .2byte EC_POKEMON2(VENOMOTH) + .2byte EC_WORD_DOESN_T + .2byte EC_POKEMON2(TANGELA) gEasyChatWordsByLetter_UnusedJapaneseYa:: @ 859E2EE - ec_word HOO_HAH - ec_word PROMISE - ec_word KIND - ec_pokemon1 BALTOY - ec_word HOLIDAY - ec_word NEGATIVE - ec_move2 FRUSTRATION - ec_word DONE - ec_word FINALLY - ec_word ANY - ec_word YAHOO - ec_pokemon2 SLOWKING - ec_pokemon2 SLOWBRO - ec_move2 LEECH_SEED - ec_pokemon2 SLOWPOKE - ec_word DANGER - ec_pokemon2 MURKROW - ec_pokemon1 SABLEYE - ec_word DEFEATED - ec_word BEAT - ec_word VITAL_SPIRIT - ec_pokemon1 VIGOROTH - ec_word YOUNG - ec_pokemon2 YANMA + .2byte EC_WORD_HOO_HAH + .2byte EC_WORD_PROMISE + .2byte EC_WORD_KIND + .2byte EC_POKEMON(BALTOY) + .2byte EC_WORD_HOLIDAY + .2byte EC_WORD_NEGATIVE + .2byte EC_MOVE2(FRUSTRATION) + .2byte EC_WORD_DONE + .2byte EC_WORD_FINALLY + .2byte EC_WORD_ANY + .2byte EC_WORD_YAHOO + .2byte EC_POKEMON2(SLOWKING) + .2byte EC_POKEMON2(SLOWBRO) + .2byte EC_MOVE2(LEECH_SEED) + .2byte EC_POKEMON2(SLOWPOKE) + .2byte EC_WORD_DANGER + .2byte EC_POKEMON2(MURKROW) + .2byte EC_POKEMON(SABLEYE) + .2byte EC_WORD_DEFEATED + .2byte EC_WORD_BEAT + .2byte EC_WORD_VITAL_SPIRIT + .2byte EC_POKEMON(VIGOROTH) + .2byte EC_WORD_YOUNG + .2byte EC_POKEMON2(YANMA) gEasyChatWordsByLetter_UnusedJapaneseYu:: @ 859E31E - ec_pokemon1 SNORUNT - ec_word TAKE - ec_word UNION - ec_move2 METRONOME - ec_word DREAM - ec_move2 DREAM_EATER - ec_word ALLOW - ec_word FORGET - ec_pokemon1 CRADILY + .2byte EC_POKEMON(SNORUNT) + .2byte EC_WORD_TAKE + .2byte EC_WORD_UNION + .2byte EC_MOVE2(METRONOME) + .2byte EC_WORD_DREAM + .2byte EC_MOVE2(DREAM_EATER) + .2byte EC_WORD_ALLOW + .2byte EC_WORD_FORGET + .2byte EC_POKEMON(CRADILY) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 KADABRA - ec_pokemon1 KADABRA + .2byte EC_POKEMON2(KADABRA) + .2byte EC_POKEMON(KADABRA) gEasyChatWordsByLetter_UnusedJapaneseYo:: @ 859E338 - ec_word WITHOUT - ec_word YO - ec_move2 ACID - ec_word COME_OVER - ec_word KINDERGARTEN - ec_word CHLOROPHYLL - ec_word AFTER - ec_pokemon2 LARVITAR - ec_word OH_KAY - ec_word BEFORE - ec_word GREAT - ec_move2 MEDITATE - ec_word PURE_POWER - ec_word WELL - ec_move2 SNATCH - ec_word OKAY - ec_word PLANS - ec_word NIGHTTIME - ec_word WHILE - ec_pokemon1 DUSKULL - ec_word EASY - ec_word INSTEAD - ec_word NIGHT - ec_pokemon2 NOCTOWL - ec_word COUNT_ON - ec_word WEAK - ec_word TOO_WEAK - ec_word WEAKENED + .2byte EC_WORD_WITHOUT + .2byte EC_WORD_YO + .2byte EC_MOVE2(ACID) + .2byte EC_WORD_COME_OVER + .2byte EC_WORD_KINDERGARTEN + .2byte EC_WORD_CHLOROPHYLL + .2byte EC_WORD_AFTER + .2byte EC_POKEMON2(LARVITAR) + .2byte EC_WORD_OH_KAY + .2byte EC_WORD_BEFORE + .2byte EC_WORD_GREAT + .2byte EC_MOVE2(MEDITATE) + .2byte EC_WORD_PURE_POWER + .2byte EC_WORD_WELL + .2byte EC_MOVE2(SNATCH) + .2byte EC_WORD_OKAY + .2byte EC_WORD_PLANS + .2byte EC_WORD_NIGHTTIME + .2byte EC_WORD_WHILE + .2byte EC_POKEMON(DUSKULL) + .2byte EC_WORD_EASY + .2byte EC_WORD_INSTEAD + .2byte EC_WORD_NIGHT + .2byte EC_POKEMON2(NOCTOWL) + .2byte EC_WORD_COUNT_ON + .2byte EC_WORD_WEAK + .2byte EC_WORD_TOO_WEAK + .2byte EC_WORD_WEAKENED gEasyChatWordsByLetter_UnusedJapaneseRa:: @ 859E370 - ec_pokemon2 RAIKOU - ec_word WEEK + .2byte EC_POKEMON2(RAIKOU) + .2byte EC_WORD_WEEK .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 RAICHU - ec_pokemon1 RAICHU - ec_word RIVAL - ec_word LIFE - ec_pokemon1 MANECTRIC - ec_word SIMPLE - ec_word PUSHOVER - ec_pokemon1 SWAMPERT - ec_pokemon1 ELECTRIKE - ec_word SEEMS - ec_word RADIO - ec_move2 LUSTER_PURGE - ec_pokemon2 CHANSEY - ec_pokemon2 RATICATE - ec_pokemon1 LATIAS - ec_pokemon1 LATIOS - ec_pokemon1 LUVDISC - ec_pokemon2 LAPRAS - ec_word LOVEY_DOVEY + .2byte EC_POKEMON2(RAICHU) + .2byte EC_POKEMON(RAICHU) + .2byte EC_WORD_RIVAL + .2byte EC_WORD_LIFE + .2byte EC_POKEMON(MANECTRIC) + .2byte EC_WORD_SIMPLE + .2byte EC_WORD_PUSHOVER + .2byte EC_POKEMON(SWAMPERT) + .2byte EC_POKEMON(ELECTRIKE) + .2byte EC_WORD_SEEMS + .2byte EC_WORD_RADIO + .2byte EC_MOVE2(LUSTER_PURGE) + .2byte EC_POKEMON2(CHANSEY) + .2byte EC_POKEMON2(RATICATE) + .2byte EC_POKEMON(LATIAS) + .2byte EC_POKEMON(LATIOS) + .2byte EC_POKEMON(LUVDISC) + .2byte EC_POKEMON2(LAPRAS) + .2byte EC_WORD_LOVEY_DOVEY .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 VILEPLUME - ec_pokemon1 VILEPLUME - ec_word LALALA - ec_pokemon1 RALTS - ec_word FORGETS - ec_word APPEARS - ec_word RANK + .2byte EC_POKEMON2(VILEPLUME) + .2byte EC_POKEMON(VILEPLUME) + .2byte EC_WORD_LALALA + .2byte EC_POKEMON(RALTS) + .2byte EC_WORD_FORGETS + .2byte EC_WORD_APPEARS + .2byte EC_WORD_RANK .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 LANTURN - ec_pokemon1 LANTURN + .2byte EC_POKEMON2(LANTURN) + .2byte EC_POKEMON(LANTURN) gEasyChatWordsByLetter_UnusedJapaneseRi:: @ 859E3B8 - ec_word LEADER - ec_move2 LEAF_BLADE - ec_pokemon2 CHARMELEON - ec_pokemon2 CHARIZARD - ec_move2 RECYCLE - ec_move2 REFLECT - ec_move2 REFRESH - ec_move2 REVENGE - ec_word RIBBON - ec_word TRENDY - ec_move2 DRAGON_RAGE - ec_move2 DRAGON_BREATH - ec_move2 DRAGON_DANCE - ec_word VACATION - ec_pokemon1 LILEEP - ec_pokemon2 URSARING - ec_word SHIELD_DUST + .2byte EC_WORD_LEADER + .2byte EC_MOVE2(LEAF_BLADE) + .2byte EC_POKEMON2(CHARMELEON) + .2byte EC_POKEMON2(CHARIZARD) + .2byte EC_MOVE2(RECYCLE) + .2byte EC_MOVE2(REFLECT) + .2byte EC_MOVE2(REFRESH) + .2byte EC_MOVE2(REVENGE) + .2byte EC_WORD_RIBBON + .2byte EC_WORD_TRENDY + .2byte EC_MOVE2(DRAGON_RAGE) + .2byte EC_MOVE2(DRAGON_BREATH) + .2byte EC_MOVE2(DRAGON_DANCE) + .2byte EC_WORD_VACATION + .2byte EC_POKEMON(LILEEP) + .2byte EC_POKEMON2(URSARING) + .2byte EC_WORD_SHIELD_DUST gEasyChatWordsByLetter_UnusedJapaneseRu:: @ 859E3DA - ec_pokemon2 JYNX - ec_word ROOM - ec_word RULE - ec_pokemon2 LUGIA - ec_word LOOK - ec_pokemon1 LUNATONE - ec_word RUBY - ec_word THAN - ec_pokemon1 AZURILL - ec_pokemon1 LUDICOLO - ec_word HAPPILY + .2byte EC_POKEMON2(JYNX) + .2byte EC_WORD_ROOM + .2byte EC_WORD_RULE + .2byte EC_POKEMON2(LUGIA) + .2byte EC_WORD_LOOK + .2byte EC_POKEMON(LUNATONE) + .2byte EC_WORD_RUBY + .2byte EC_WORD_THAN + .2byte EC_POKEMON(AZURILL) + .2byte EC_POKEMON(LUDICOLO) + .2byte EC_WORD_HAPPILY gEasyChatWordsByLetter_UnusedJapaneseRe:: @ 859E3F0 .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 MAGNETON - ec_pokemon1 MAGNETON - ec_move2 ICE_PUNCH - ec_move2 ICE_BEAM - ec_pokemon1 REGICE - ec_pokemon1 REGISTEEL - ec_pokemon1 REGIROCK - ec_pokemon1 RAYQUAZA - ec_word UGLY - ec_pokemon2 LEDIAN - ec_pokemon2 LEDYBA - ec_word FANTASTIC - ec_word LEVEL - ec_move2 FURY_CUTTER - ec_move2 COMET_PUNCH - ec_word RENTAL + .2byte EC_POKEMON2(MAGNETON) + .2byte EC_POKEMON(MAGNETON) + .2byte EC_MOVE2(ICE_PUNCH) + .2byte EC_MOVE2(ICE_BEAM) + .2byte EC_POKEMON(REGICE) + .2byte EC_POKEMON(REGISTEEL) + .2byte EC_POKEMON(REGIROCK) + .2byte EC_POKEMON(RAYQUAZA) + .2byte EC_WORD_UGLY + .2byte EC_POKEMON2(LEDIAN) + .2byte EC_POKEMON2(LEDYBA) + .2byte EC_WORD_FANTASTIC + .2byte EC_WORD_LEVEL + .2byte EC_MOVE2(FURY_CUTTER) + .2byte EC_MOVE2(COMET_PUNCH) + .2byte EC_WORD_RENTAL gEasyChatWordsByLetter_UnusedJapaneseRo:: @ 859E414 - ec_move2 SKULL_BASH + .2byte EC_MOVE2(SKULL_BASH) .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 VULPIX - ec_pokemon1 VULPIX - ec_pokemon1 ROSELIA - ec_move2 LOCK_ON - ec_move2 ROCK_BLAST - ec_word ROMANTIC - ec_word QUESTION + .2byte EC_POKEMON2(VULPIX) + .2byte EC_POKEMON(VULPIX) + .2byte EC_POKEMON(ROSELIA) + .2byte EC_MOVE2(LOCK_ON) + .2byte EC_MOVE2(ROCK_BLAST) + .2byte EC_WORD_ROMANTIC + .2byte EC_WORD_QUESTION gEasyChatWordsByLetter_UnusedJapaneseWa:: @ 859E428 - ec_word YAY - ec_word WORLD - ec_word AWW - ec_word WIRELESS - ec_word WOWEE - ec_pokemon1 COMBUSKEN - ec_word UNDERSTAND - ec_word UNDERSTANDS - ec_word FAINT - ec_word ANTICIPATION - ec_word ONCE - ec_word MOVE - ec_word WE_VE - ec_word FAINTED - ec_word WOMAN - ec_word SHE - ec_word SHE_WAS - ec_word TO_HER - ec_word HERS - ec_word SHE_IS - ec_word SOME - ec_pokemon2 JUMPLUFF - ec_move2 COTTON_SPORE - ec_word GWAH - ec_pokemon2 TOTODILE - ec_word WAHAHAHA - ec_word ANYWHERE - ec_move2 STRUGGLE - ec_word BADLY + .2byte EC_WORD_YAY + .2byte EC_WORD_WORLD + .2byte EC_WORD_AWW + .2byte EC_WORD_WIRELESS + .2byte EC_WORD_WOWEE + .2byte EC_POKEMON(COMBUSKEN) + .2byte EC_WORD_UNDERSTAND + .2byte EC_WORD_UNDERSTANDS + .2byte EC_WORD_FAINT + .2byte EC_WORD_ANTICIPATION + .2byte EC_WORD_ONCE + .2byte EC_WORD_MOVE + .2byte EC_WORD_WE_VE + .2byte EC_WORD_FAINTED + .2byte EC_WORD_WOMAN + .2byte EC_WORD_SHE + .2byte EC_WORD_SHE_WAS + .2byte EC_WORD_TO_HER + .2byte EC_WORD_HERS + .2byte EC_WORD_SHE_IS + .2byte EC_WORD_SOME + .2byte EC_POKEMON2(JUMPLUFF) + .2byte EC_MOVE2(COTTON_SPORE) + .2byte EC_WORD_GWAH + .2byte EC_POKEMON2(TOTODILE) + .2byte EC_WORD_WAHAHAHA + .2byte EC_WORD_ANYWHERE + .2byte EC_MOVE2(STRUGGLE) + .2byte EC_WORD_BADLY .2byte -1, 2 @ doubled Pokémon species names - ec_pokemon2 MACHOP - ec_pokemon1 MACHOP + .2byte EC_POKEMON2(MACHOP) + .2byte EC_POKEMON(MACHOP) .align 2 gEasyChatWordsByLetterPointers:: @ 859E46C diff --git a/data/text/eon_ticket.inc b/data/text/eon_ticket.inc new file mode 100644 index 0000000000..ac4c9dba10 --- /dev/null +++ b/data/text/eon_ticket.inc @@ -0,0 +1,48 @@ +LilycoveCity_Harbor_Text_2A6848: @ 82A6848 + .string "The ferry to SLATEPORT is…\p" + .string "I beg your pardon?\n" + .string "Can we sail to this place on the map?\p" + .string "I know someone who will help you better.\n" + .string "Please wait.$" + +LilycoveCity_Harbor_Text_2A68D2: @ 82A68D2 + .string "The ferry to SLATEPORT is…\p" + .string "Oh?\n" + .string "That PASS…$" + +LilycoveCity_Harbor_Text_2A68FC: @ 82A68FC + .string "Aye, mate, are you the one who brought\n" + .string "that mighty odd PASS?\p" + .string "I’ll tell you, you’re trying to reach a\n" + .string "tiny spit of an island far in the south.\p" + .string "There’s no telling what we’ll encounter\n" + .string "once we reach there, aye.\l" + .string "That shivers my timbers!\p" + .string "All aboard!$" + +SouthernIsland_Exterior_Text_2A69F1: @ 82A69F1 + .string "Aye, mate, there’s nothing here to\n" + .string "see or do on this forgettable island.\p" + .string "What say we sail back to LILYCOVE?$" + +BirthIsland_Harbor_Text_2A6A5D: @ 82A6A5D +FarawayIsland_Entrance_Text_2A6A5D: @ 82A6A5D +NavelRock_Harbor_Text_2A6A5D: @ 82A6A5D +SouthernIsland_Exterior_Text_2A6A5D: @ 82A6A5D + .string "Aye, right, then!\n" + .string "Sail home we will!$" + +BirthIsland_Harbor_Text_2A6A82: @ 82A6A82 +FarawayIsland_Entrance_Text_2A6A82: @ 82A6A82 +LilycoveCity_Harbor_Text_2A6A82: @ 82A6A82 +NavelRock_Harbor_Text_2A6A82: @ 82A6A82 +SouthernIsland_Exterior_Text_2A6A82: @ 82A6A82 + .string "Aye, right, as you like, then.$" + +SouthernIsland_Interior_Text_2A6AA1: @ 82A6AA1 + .string "“All dreams are but another reality.\n" + .string "Never forget…”$" + +SouthernIsland_Exterior_Text_2A6AD5: @ 82A6AD5 + .string "“Those whose memories fade seek to\n" + .string "carve them in their hearts…”$" diff --git a/data/text/lottery_corner.inc b/data/text/lottery_corner.inc new file mode 100644 index 0000000000..21ae534b2a --- /dev/null +++ b/data/text/lottery_corner.inc @@ -0,0 +1,77 @@ +LilycoveCity_DepartmentStore_1F_Text_2A6390: @ 82A6390 + .string "This is the POKéMON LOTTERY CORNER.\p" + .string "All shoppers at our DEPARTMENT STORE\n" + .string "get to draw a POKéMON LOTO TICKET.\p" + .string "If the LOTO TICKET’s number matches\n" + .string "the ID number of any of your POKéMON,\l" + .string "you will receive a fabulous gift.\p" + .string "Would you like to draw a POKéMON\n" + .string "LOTO TICKET?$" + +LilycoveCity_DepartmentStore_1F_Text_2A6496: @ 82A6496 + .string "Please come back tomorrow.$" + +LilycoveCity_DepartmentStore_1F_Text_2A64B1: @ 82A64B1 + .string "Please do visit again.$" + +LilycoveCity_DepartmentStore_1F_Text_2A64C8: @ 82A64C8 + .string "Please pick a LOTO TICKET.\n" + .string "…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$" + +LilycoveCity_DepartmentStore_1F_Text_2A650B: @ 82A650B + .string "The LOTO TICKET number is {STR_VAR_1}.\p" + .string "I need to run a check on this number\n" + .string "to see if it matches any of your\l" + .string "POKéMON’s ID numbers. Please wait.$" + +LilycoveCity_DepartmentStore_1F_Text_2A6592: @ 82A6592 + .string "Congratulations!\p" + .string "The ID number of your team’s\n" + .string "{STR_VAR_1} matches your\l" + .string "LOTO TICKET’s number!$" + +LilycoveCity_DepartmentStore_1F_Text_2A65E6: @ 82A65E6 + .string "Congratulations!\p" + .string "The ID number of your PC-boxed\n" + .string "{STR_VAR_1} matches your\l" + .string "LOTO TICKET’s number!$" + +LilycoveCity_DepartmentStore_1F_Text_2A663C: @ 82A663C + .string "I’m sorry.\n" + .string "None of the numbers matched.$" + +LilycoveCity_DepartmentStore_1F_Text_2A6664: @ 82A6664 + .string "Two digits matched, so you win the\n" + .string "third prize!\l" + .string "You’ve won the {STR_VAR_1}!$" + +LilycoveCity_DepartmentStore_1F_Text_2A66A7: @ 82A66A7 + .string "Three digits matched, so you win the\n" + .string "second prize!\l" + .string "You’ve won the {STR_VAR_1}!$" + +LilycoveCity_DepartmentStore_1F_Text_2A66ED: @ 82A66ED + .string "Four digits matched, so you win the\n" + .string "first prize!\l" + .string "You’ve won the {STR_VAR_1}!$" + +LilycoveCity_DepartmentStore_1F_Text_2A6731: @ 82A6731 + .string "Oh, my goodness, all five digits\n" + .string "matched!\p" + .string "You’ve won the jackpot prize!\n" + .string "You’ve won the {STR_VAR_1}!$" + +LilycoveCity_DepartmentStore_1F_Text_2A678C: @ 82A678C + .string "Oh?\n" + .string "You seem to have no room for this.\p" + .string "Please make room in your BAG and\n" + .string "let me know.$" + +LilycoveCity_DepartmentStore_1F_Text_2A67E1: @ 82A67E1 + .string "{PLAYER}?\n" + .string "Yes, I’ve been expecting you.\p" + .string "This is the prize we’ve been holding\n" + .string "for you.$" + +LilycoveCity_DepartmentStore_1F_Text_2A6831: @ 82A6831 + .string "Please do visit again.$" diff --git a/data/text/pokedex_rating.inc b/data/text/pokedex_rating.inc new file mode 100644 index 0000000000..735488b373 --- /dev/null +++ b/data/text/pokedex_rating.inc @@ -0,0 +1,115 @@ +gUnknown_082A5C9C:: @ 82A5C9C + .string "PROF. BIRCH: Ah, {PLAYER}{KUN}!\p" + .string "Are you curious about how your\n" + .string "POKéDEX is coming along?$" + +Route101_Text_2A5CEB: @ 82A5CEB + .string "Hm? Oh, you haven’t caught enough\n" + .string "POKéMON to make it worthwhile.$" + +gUnknown_082A5D2C:: @ 82A5D2C + .string "Hmhm…\p" + .string "So, you’ve seen {STR_VAR_1} POKéMON,\n" + .string "and you’ve caught {STR_VAR_2} POKéMON…$" + +gUnknown_082A5D6C:: @ 82A5D6C + .string "Go into grassy areas more and look\n" + .string "for POKéMON more carefully.$" + +gUnknown_082A5DAB:: @ 82A5DAB + .string "I guess you’re getting the hang\n" + .string "of it. But, it gets harder from here.$" + +gUnknown_082A5DF1:: @ 82A5DF1 + .string "Some POKéMON only appear in\n" + .string "certain areas.\l" + .string "You must be persistent.$" + +gUnknown_082A5E34:: @ 82A5E34 + .string "Well, it could use more quantity,\n" + .string "but this is looking more like\l" + .string "a POKéDEX now.$" + +gUnknown_082A5E83:: @ 82A5E83 + .string "This is coming along pretty good.\n" + .string "Keep up the effort.$" + +gUnknown_082A5EB9:: @ 82A5EB9 + .string "Are you using any RODS?\n" + .string "There are many POKéMON in the sea.$" + +gUnknown_082A5EF4:: @ 82A5EF4 + .string "Instead of just catching POKéMON,\n" + .string "how about making them evolve, too?$" + +gUnknown_082A5F39:: @ 82A5F39 + .string "This is going to be a fantastic\n" + .string "POKéDEX.\l" + .string "That’s the feeling I’m getting.$" + +gUnknown_082A5F82:: @ 82A5F82 + .string "You’ve collected this many…\n" + .string "Your talent is remarkable!$" + +gUnknown_082A5FB9:: @ 82A5FB9 + .string "Have you visited the SAFARI ZONE?\p" + .string "I hear there are some POKéMON that\n" + .string "can only be caught there.$" + +gUnknown_082A6018:: @ 82A6018 + .string "You’ve finally reached\n" + .string "the 100-kind mark.\p" + .string "This is an impressive POKéDEX!$" + +gUnknown_082A6061:: @ 82A6061 + .string "There might be POKéMON that can be\n" + .string "found using ROCK SMASH.$" + +gUnknown_082A609C:: @ 82A609C + .string "You should get some more POKéMON\n" + .string "by trading with others.$" + +gUnknown_082A60D5:: @ 82A60D5 + .string "I’ve heard of POKéMON that evolve\n" + .string "when they come to fully love their\l" + .string "TRAINERS.$" + +gUnknown_082A6124:: @ 82A6124 + .string "I had no idea that there were so\n" + .string "many POKéMON species in the HOENN\l" + .string "region.$" + +gUnknown_082A616F:: @ 82A616F + .string "On occasion, some POKéMON appear\n" + .string "in large numbers like outbreaks.\p" + .string "Don’t miss opportunities like\n" + .string "those.$" + +gUnknown_082A61D6:: @ 82A61D6 + .string "One can get a very good idea about\n" + .string "the POKéMON of the HOENN region\l" + .string "by looking through your POKéDEX.$" + +gUnknown_082A623A:: @ 82A623A + .string "I would say you already qualify as\n" + .string "a POKéMON PROFESSOR, and a good\l" + .string "one, too!$" + +gUnknown_082A6287:: @ 82A6287 + .string "With a POKéDEX this complete,\n" + .string "you’re a real professional at this!$" + +gUnknown_082A62C9:: @ 82A62C9 + .string "You’re very close to completing\n" + .string "this POKéDEX.\l" + .string "I can feel it in my bones!$" + +gUnknown_082A6312:: @ 82A6312 + .string "Congratulations!\n" + .string "Your POKéDEX is complete!$" + +gUnknown_082A633D:: @ 82A633D + .string "Hmhm…\n" + .string "On a nationwide basis…\p" + .string "You’ve seen {STR_VAR_1} POKéMON,\n" + .string "and you’ve caught {STR_VAR_2} POKéMON…$" diff --git a/data/text/roulette.inc b/data/text/roulette.inc new file mode 100644 index 0000000000..1973626c47 --- /dev/null +++ b/data/text/roulette.inc @@ -0,0 +1,41 @@ +gUnknown_082A5B12:: @ 82A5B12 + .string "The minimum wager at this table\n" + .string "is {STR_VAR_1}. Do you want to play?$" + +gUnknown_082A5B4E:: @ 82A5B4E + .string "You don’t have enough COINS.$" + +gUnknown_082A5B6B:: @ 82A5B6B + .string "Special rate table right now!$" + +gUnknown_082A5B89:: @ 82A5B89 + .string "Place your wager with the + Control\n" + .string "Pad, then press the A Button.$" + +gUnknown_082A5BCB:: @ 82A5BCB + .string "It’s a hit!$" + +gUnknown_082A5BD7:: @ 82A5BD7 + .string "Jackpot!$" + +gUnknown_082A5BE0:: @ 82A5BE0 + .string "Nothing doing!$" + +gUnknown_082A5BEF:: @ 82A5BEF + .string "You’ve won {STR_VAR_1} COINS!$" + +gUnknown_082A5C04:: @ 82A5C04 + .string "No COINS left…$" + +gUnknown_082A5C13:: @ 82A5C13 + .string "Keep playing?$" + +gUnknown_082A5C21:: @ 82A5C21 + .string "The ROULETTE board will be cleared.$" + +gUnknown_082A5C45:: @ 82A5C45 + .string "You don’t have a COIN CASE.$" + +gUnknown_082A5C61:: @ 82A5C61 + .string "Your COIN CASE is full!\n" + .string "Coins can be exchanged for prizes.$" diff --git a/data/text/save.inc b/data/text/save.inc new file mode 100644 index 0000000000..d909489ac5 --- /dev/null +++ b/data/text/save.inc @@ -0,0 +1,32 @@ +gUnknown_082C87B4:: @ 82C87B4 + .string "Would you like to save the game?$" + +gUnknown_082C87D5:: @ 82C87D5 + .string "There is already a saved file.\n" + .string "Is it okay to overwrite it?$" + +gUnknown_082C8810:: @ 82C8810 + .string "SAVING…\n" + .string "DON’T TURN OFF THE POWER.$" + +gUnknown_082C8832:: @ 82C8832 + .string "{PLAYER} saved the game.$" + +gUnknown_082C8845:: @ 82C8845 + .string "WARNING!\p" + .string "There is a different game file that\n" + .string "is already saved.\p" + .string "If you save now, the other file’s\n" + .string "adventure, including items and\l" + .string "POKéMON, will be entirely lost.\p" + .string "Are you sure you want to save now\n" + .string "and overwrite the other save file?$" + +gUnknown_082C892A:: @ 82C892A + .string "Save error.\p" + .string "Please exchange the\n" + .string "backup memory.$" + +gText_SavingDontTurnOffPower:: @ 82C8959 + .string "SAVING…\n" + .string "DON’T TURN OFF THE POWER.$" diff --git a/data/text/shoal_cave.inc b/data/text/shoal_cave.inc new file mode 100644 index 0000000000..345a241497 --- /dev/null +++ b/data/text/shoal_cave.inc @@ -0,0 +1,55 @@ +ShoalCave_LowTideEntranceRoom_Text_2A7E0E: @ 82A7E0E + .string "Are you planning on going deep\n" + .string "in there?\p" + .string "How about bringing me back some\n" + .string "SHOAL SALT and SHOAL SHELLS?\p" + .string "I can make you something good if\n" + .string "you bring me the ingredients.$" + +ShoalCave_LowTideEntranceRoom_Text_2A7EB3: @ 82A7EB3 + .string "If you bring me four each of the\n" + .string "SHOAL SALT and SHOAL SHELLS,\l" + .string "I can make you a SHELL BELL…\p" + .string "You can get those ingredients\n" + .string "every day.$" + +ShoalCave_LowTideEntranceRoom_Text_2A7F37: @ 82A7F37 + .string "Oh, hey! SHOAL SALT and SHOAL SHELLS!\n" + .string "And enough of them, too!\p" + .string "Would you like me to make you\n" + .string "a SHELL BELL with them?$" + +ShoalCave_LowTideEntranceRoom_Text_2A7FAC: @ 82A7FAC + .string "All righty, then! I’ll make you\n" + .string "a SHELL BELL right away.\p" + .string "… … … … … … … …\n" + .string "… … … … … … … …\p" + .string "There! Done!$" + +ShoalCave_LowTideEntranceRoom_Text_2A8012: @ 82A8012 + .string "Have a POKéMON hold on to that.\n" + .string "It’ll love it, that’s for certain.\p" + .string "Why, the SHELL BELL’s chime…\n" + .string "It’s simply sublime!\p" + .string "You can get its ingredients every day,\n" + .string "so I can make you more.$" + +ShoalCave_LowTideEntranceRoom_Text_2A80C6: @ 82A80C6 + .string "Oh… Is that so…\n" + .string "I wanted to make a SHELL BELL…$" + +ShoalCave_LowTideEntranceRoom_Text_2A80F5: @ 82A80F5 + .string "You don’t have space in your BAG\n" + .string "if I were to make it for you.\p" + .string "You should make room and come back\n" + .string "for a SHELL BELL.$" + +ShoalCave_LowTideInnerRoom_Text_2A8169: @ 82A8169 +ShoalCave_LowTideLowerRoom_Text_2A8169: @ 82A8169 +ShoalCave_LowTideStairsRoom_Text_2A8169: @ 82A8169 + .string "There was some SHOAL SALT here.\n" + .string "But, there’s nothing here now.$" + +ShoalCave_LowTideInnerRoom_Text_2A81A8: @ 82A81A8 + .string "There was a SHOAL SHELL here.\n" + .string "But, there’s nothing here now.$" diff --git a/data/text/surf.inc b/data/text/surf.inc new file mode 100644 index 0000000000..2751dae7b4 --- /dev/null +++ b/data/text/surf.inc @@ -0,0 +1,5 @@ +gUnknown_08272FD6:: @ 8272FD6 + .string "The water is dyed a deep blue…\nWould you like to SURF?$" + +gUnknown_0827300D:: @ 827300D + .string "{STR_VAR_1} used SURF!$" diff --git a/data/text/trainers.inc b/data/text/trainers.inc new file mode 100644 index 0000000000..45f73a216a --- /dev/null +++ b/data/text/trainers.inc @@ -0,0 +1,4781 @@ +Route102_Text_294513: @ 8294513 + .string "If you have POKéMON with you, then\n" + .string "you’re an official POKéMON TRAINER!\l" + .string "You can’t say no to my challenge!$" + +Route102_Text_29457C: @ 829457C + .string "Arrgh, I lost…\n" + .string "I should have trained mine more…$" + +Route102_Text_2945AC: @ 82945AC + .string "Listen, you. If you’re strong,\n" + .string "you should have told me before!$" + +Route102_Text_2945EB: @ 82945EB + .string "I’ve been working hard at this since\n" + .string "I saw you before.\p" + .string "I’d like to battle you again, so can\n" + .string "you register me in your POKéNAV?$" + +Route102_Text_294668: @ 8294668 + .string "I’d like to battle you again, so can\n" + .string "you register me in your POKéNAV?$" + +Route102_Text_2946AE: @ 82946AE + .string "Ever since I lost to you, I desperately\n" + .string "trained my POKéMON.\l" + .string "You can’t say no to my challenge!$" + +Route102_Text_29470C: @ 829470C + .string "Arrgh, I lost…\n" + .string "Is my training method not right?$" + +Route102_Text_29473C: @ 829473C + .string "If you’re going to get stronger,\n" + .string "I’ll get stronger, too.$" + +Route102_Text_294775: @ 8294775 + .string "Did you just become a TRAINER?\n" + .string "We’re both beginners!$" + +Route102_Text_2947AA: @ 82947AA + .string "I called you because I thought\n" + .string "I could beat you…$" + +Route102_Text_2947DB: @ 82947DB + .string "I haven’t won once yet…\n" + .string "I wish I would win soon…$" + +Route102_Text_29480C: @ 829480C + .string "Hahah! Our eyes met!\n" + .string "I’ll take you on with my BUG POKéMON!$" + +Route102_Text_294847: @ 8294847 + .string "Ow! Down and out!$" + +Route102_Text_294859: @ 8294859 + .string "If you lock eyes with a TRAINER,\n" + .string "you have to challenge! It’s a rule!$" + +Route102_Text_29489E: @ 829489E + .string "I’m going to keep winning and aim\n" + .string "to be the best TRAINER.\p" + .string "Help me further my career!$" + +Route102_Text_2948F3: @ 82948F3 + .string "I ended up furthering your career…$" + +Route102_Text_294916: @ 8294916 + .string "To keep winning my way up, I see that\n" + .string "I have to catch more POKéMON.$" + +Route103_Text_29495A: @ 829495A + .string "Did you feel the tug of our\n" + .string "soul-soothing fragrance?$" + +Route103_Text_29498F: @ 829498F + .string "You weren’t led astray by our aroma…$" + +Route103_Text_2949B4: @ 82949B4 + .string "Aromatherapy is a form of mental\n" + .string "healing that works with fragrances.$" + +Route103_Text_2949F9: @ 82949F9 + .string "AMY: I’m AMY.\n" + .string "And this is my little sister LIV.\l" + .string "We battle together!$" + +Route103_Text_294A3D: @ 8294A3D + .string "AMY: Uh-oh, we lost.$" + +Route103_Text_294A52: @ 8294A52 + .string "AMY: You have to think about all\n" + .string "kinds of things when you’re battling\l" + .string "against two TRAINERS.$" + +Route103_Text_294AAE: @ 8294AAE + .string "AMY: Uh-oh, you have only one\n" + .string "POKéMON with you.\l" + .string "You can’t battle us like that.$" + +Route103_Text_294AFD: @ 8294AFD + .string "LIV: We battle together as one\n" + .string "team.$" + +Route103_Text_294B22: @ 8294B22 + .string "LIV: Oh, we lost, big sister…$" + +Route103_Text_294B40: @ 8294B40 + .string "LIV: We work perfectly together,\n" + .string "me and my big sister…\p" + .string "But we still lost…$" + +Route103_Text_294B8A: @ 8294B8A + .string "LIV: Really, we’re a lot better…\n" + .string "It’s true! We’ll show you next time!$" + +Route103_Text_294BD0: @ 8294BD0 + .string "LIV: If you want to battle us,\n" + .string "you have to have two POKéMON!\l" + .string "It’s not fair if you don’t!$" + +Route103_Text_294C29: @ 8294C29 + .string "AMY: I’m AMY.\n" + .string "And this is my little sister LIV.\l" + .string "We battle together!$" + +Route103_Text_294C6D: @ 8294C6D + .string "AMY: Aww, boo!\n" + .string "We couldn’t win again…$" + +Route103_Text_294C93: @ 8294C93 + .string "AMY: You have to think about all\n" + .string "kinds of things when you’re battling\l" + .string "against two TRAINERS.$" + +Route103_Text_294CEF: @ 8294CEF + .string "AMY: Uh-oh, you have only one\n" + .string "POKéMON with you.\l" + .string "You can’t battle us like that.$" + +Route103_Text_294D3E: @ 8294D3E + .string "LIV: We battle together as one\n" + .string "team.$" + +Route103_Text_294D63: @ 8294D63 + .string "LIV: Awww, we lost again…\n" + .string "Big sister…$" + +Route103_Text_294D89: @ 8294D89 + .string "LIV: We work perfectly together,\n" + .string "me and my big sister…\p" + .string "But why did we lose again?$" + +Route103_Text_294DDB: @ 8294DDB + .string "LIV: If you want to battle us, you\n" + .string "have to have two POKéMON!\l" + .string "It’s not fair if you don’t!$" + +Route103_Text_294E34: @ 8294E34 + .string "Gah! My fishing line’s all snarled up!\n" + .string "I’m getting frustrated and mean!\l" + .string "That’s it! Battle me!$" + +Route103_Text_294E92: @ 8294E92 + .string "Gah! Lost it!\n" + .string "I’m even more annoyed now!$" + +Route103_Text_294EBB: @ 8294EBB + .string "Gah, I’m still boiling mad…\n" + .string "Grrrrr…$" + +Route103_Text_294EDF: @ 8294EDF + .string "My POKéMON is delightfully adorable!\n" + .string "Don’t be shy--I’ll show you!$" + +Route103_Text_294F21: @ 8294F21 + .string "Oh, my gosh!\n" + .string "My darling POKéMON!$" + +Route103_Text_294F42: @ 8294F42 + .string "My delightful POKéMON looks darling\n" + .string "even when it’s fainted!$" + +Route103_Text_294F7E: @ 8294F7E + .string "I’ll get you to come out and look in\n" + .string "on my delightful POKéMON again!$" + +Route103_Text_294FC3: @ 8294FC3 + .string "Hi, you! My delightfully adorable\n" + .string "POKéMON has become more darling!$" + +Route103_Text_295006: @ 8295006 + .string "Oh!\n" + .string "My darling POKéMON!$" + +Route103_Text_29501E: @ 829501E + .string "The more I spend time with it,\n" + .string "the more adorable my POKéMON becomes.$" + +Route103_Text_295063: @ 8295063 + .string "This sort of distance…\n" + .string "You should just swim it!$" + +Route103_Text_295093: @ 8295093 + .string "Oh, that’s good going!$" + +Route103_Text_2950AA: @ 82950AA + .string "Oh, I understand where you’re coming\n" + .string "from now.\p" + .string "If I had a POKéMON that trusty,\n" + .string "I’d want to SURF on it, too!$" + +Route103_Text_295116: @ 8295116 + .string "Watch where you’re going!\n" + .string "We’re going to crash!$" + +Route103_Text_295146: @ 8295146 + .string "Groan…$" + +Route103_Text_29514D: @ 829514D + .string "I’m a poor swimmer so I was practicing…\n" + .string "Sorry for almost crashing into you.$" + +Route103_Text_295199: @ 8295199 + .string "Whoa!\n" + .string "How’d you get into a space this small?$" + +Route103_Text_2951C6: @ 82951C6 + .string "Whoa!\n" + .string "The kid can rock!$" + +Route103_Text_2951DE: @ 82951DE + .string "Do you like cramped quarters\n" + .string "like this?$" + +Route103_Text_295206: @ 8295206 + .string "Did my guitar’s wailing draw you in?$" + +Route103_Text_29522B: @ 829522B + .string "My one-man show is ruined…$" + +Route103_Text_295246: @ 8295246 + .string "I was playing my guitar where few\n" + .string "people were around, but a lot of fans\l" + .string "have gathered.\p" + .string "Heh, maybe I should turn pro.$" + +Route104_Text_2952BB: @ 82952BB + .string "GINA: Okay, let’s battle with our\n" + .string "POKéMON!$" + +Route104_Text_2952E6: @ 82952E6 + .string "GINA: Losing upsets me!$" + +Route104_Text_2952FE: @ 82952FE + .string "GINA: You are strong!\n" + .string "We have to train lots more!$" + +Route104_Text_295330: @ 8295330 + .string "GINA: Oh? Only one POKéMON?\n" + .string "Then, we don’t battle with you.\p" + .string "If there’s only one POKéMON, it will\n" + .string "be lonesome. That’s not nice.$" + +Route104_Text_2953AF: @ 82953AF + .string "MIA: We are twins, so we battle\n" + .string "POKéMON together.$" + +Route104_Text_2953E1: @ 82953E1 + .string "MIA: We battled together, but we\n" + .string "both lost…$" + +Route104_Text_29540D: @ 829540D + .string "MIA: We will train our POKéMON more\n" + .string "and be strong like you.$" + +Route104_Text_295449: @ 8295449 + .string "MIA: You want to battle with us?\p" + .string "It’s a big no-no if you don’t have two\n" + .string "POKéMON with you.\l" + .string "We’re too strong for you!$" + +Route104_Text_2954BD: @ 82954BD + .string "Why keep it a secret?\n" + .string "I’m the WATER POKéMON expert!\p" + .string "Huh?\n" + .string "You don’t know me?$" + +Route104_Text_295509: @ 8295509 + .string "I thought I wasn’t too bad, if I may\n" + .string "say so, but I guess not… Bleah…$" + +Route104_Text_29554E: @ 829554E + .string "I got too into fishing.\n" + .string "I forgot I had to raise my POKéMON…$" + +Route104_Text_29558A: @ 829558A + .string "Leaving footprints in the sand is\n" + .string "so fun!$" + +Route104_Text_2955B4: @ 82955B4 + .string "Waah! I got sand in my runners!\n" + .string "They’re all gritty!$" + +Route104_Text_2955E8: @ 82955E8 + .string "I want to leave my footprints in\n" + .string "the sand everywhere, but they\l" + .string "disappear quickly…$" + +Route104_Text_29563A: @ 829563A + .string "Should I…\n" + .string "Or shouldn’t I?\p" + .string "Okay, sure, I will battle!$" + +Route104_Text_29566F: @ 829566F + .string "I shouldn’t have battled…$" + +Route104_Text_295689: @ 8295689 + .string "If you’re faced with a decision and\n" + .string "you let someone else choose for you,\l" + .string "you will regret it, however things\l" + .string "turn out.$" + +Route104_Text_2956FF: @ 82956FF + .string "You’re strong, but should I register\n" + .string "you in my POKéNAV?\l" + .string "Maybe I shouldn’t…\p" + .string "Okay, sure, I will register you!$" + +Route104_Text_29576B: @ 829576B + .string "You’re strong, but should I register\n" + .string "you in my POKéNAV?\l" + .string "Maybe I shouldn’t…\p" + .string "Okay, sure, I will register you!$" + +Route104_Text_2957D7: @ 82957D7 + .string "Come on, battle with me!$" + +Route104_Text_2957F0: @ 82957F0 + .string "Ohh…\n" + .string "I thought I could win…$" + +Route104_Text_29580C: @ 829580C + .string "I made the decision to battle, so\n" + .string "I can accept this loss with grace.\p" + .string "I am still upset about losing!$" + +Route104_Text_295870: @ 8295870 + .string "Oh, sure, I’ll accept your challenge.\n" + .string "I have a lot of money.$" + +Route104_Text_2958AD: @ 82958AD + .string "Why couldn’t I win?$" + +Route104_Text_2958C1: @ 82958C1 + .string "There are some things money can’t buy.\n" + .string "That’s POKéMON…$" + +Route104_Text_2958F8: @ 82958F8 + .string "Hm?\n" + .string "Ah, you’ve obtained a POKéNAV.\p" + .string "I will gladly register you.\n" + .string "After all, I have plenty of money.$" + +Route104_Text_29595A: @ 829595A + .string "Hm?\n" + .string "Ah, you’ve obtained a POKéNAV.\p" + .string "I will gladly register you.\n" + .string "After all, I have plenty of money.$" + +Route104_Text_2959BC: @ 82959BC + .string "After I lost to you, I learned a bunch\n" + .string "of things about POKéMON.$" + +Route104_Text_2959FC: @ 82959FC + .string "I lost again?\n" + .string "Why couldn’t I win?$" + +Route104_Text_295A1E: @ 8295A1E + .string "I’m fabulously wealthy, but I can’t\n" + .string "seem to win at POKéMON…\p" + .string "It’s so deep, the world of POKéMON…$" + +Route104_Text_295A7E: @ 8295A7E + .string "We must have been fated to meet.\n" + .string "May I ask you for a battle?$" + +Route104_Text_295ABB: @ 8295ABB + .string "Oh, my!$" + +Route104_Text_295AC3: @ 8295AC3 + .string "“Hello” is the beginning of “good-bye.”\n" + .string "I hope we meet again.$" + +Route104_Text_295B01: @ 8295B01 + .string "Hello, we meet again.\p" + .string "We seem to be drawn together. Let’s\n" + .string "register each other in our POKéNAVS.$" + +Route104_Text_295B60: @ 8295B60 + .string "We should commemorate how we seem\n" + .string "to be drawn to each other.\p" + .string "Let’s register each other in our\n" + .string "POKéNAVS.$" + +Route104_Text_295BC8: @ 8295BC8 + .string "Hello, we meet again.\n" + .string "May I ask you for a battle?$" + +Route104_Text_295BFA: @ 8295BFA + .string "Oh, my…\n" + .string "I did the best that I could…$" + +Route104_Text_295C1F: @ 8295C1F + .string "“Hello” is the beginning of “good-bye.”\n" + .string "I hope we meet again.$" + +Route104_Text_295C5D: @ 8295C5D + .string "I fished up a tough-looking POKéMON!\p" + .string "It has this magical quality to it!\n" + .string "It surely looks tough, yes it does!$" + +Route104_Text_295CC9: @ 8295CC9 + .string "What the…$" + +Route104_Text_295CD3: @ 8295CD3 + .string "Hey, MAGIKARP, you sure don’t live up\n" + .string "to your name, do you?$" + +Route105_Text_295D0F: @ 8295D0F + .string "There’s supposed to be a mystical\n" + .string "rock around here.\l" + .string "Do you know anything about it?$" + +Route105_Text_295D62: @ 8295D62 + .string "I was thinking too much about that\n" + .string "rock, while my POKéMON remained weak…$" + +Route105_Text_295DAB: @ 8295DAB + .string "I can spend hours and hours staring\n" + .string "at a nice rock without growing bored.$" + +Route105_Text_295DF5: @ 8295DF5 + .string "Whew! I was worried that a kid was\n" + .string "drowning when I saw you.\p" + .string "You seem to be okay, so what do you\n" + .string "say to a battle?$" + +Route105_Text_295E66: @ 8295E66 + .string "Glub… Glub…$" + +Route105_Text_295E72: @ 8295E72 + .string "If you are drowning, the signal is to\n" + .string "wave one arm toward the beach.$" + +Route105_Text_295EB7: @ 8295EB7 + .string "Swimming the deep blue sea…\n" + .string "It feels the greatest!$" + +Route105_Text_295EEA: @ 8295EEA + .string "I lost…\n" + .string "Now I’m feeling blue…$" + +Route105_Text_295F08: @ 8295F08 + .string "Why is the sea blue?\p" + .string "I learned about that at the MUSEUM in\n" + .string "SLATEPORT, but I forgot.$" + +Route105_Text_295F5C: @ 8295F5C + .string "My body feels lighter in the water.\n" + .string "It’s as if I’ve gotten slimmer!$" + +Route105_Text_295FA0: @ 8295FA0 + .string "I’m floating…$" + +Route105_Text_295FAE: @ 8295FAE + .string "Your body weight is reduced to just\n" + .string "one tenth in the water.\p" + .string "That would make me…\n" + .string "Whoops! I’m not telling you my weight!$" + +Route105_Text_296025: @ 8296025 + .string "The blue, blue sky…\n" + .string "The vast sea…\l" + .string "It’s so peaceful…$" + +Route105_Text_296059: @ 8296059 + .string "I lost while I was lounging!$" + +Route105_Text_296076: @ 8296076 + .string "I want to be told I’m relaxing to be\n" + .string "with. Giggle.$" + +Route105_Text_2960A9: @ 82960A9 + .string "I’m convinced that the sea keeps\n" + .string "secrets from us.$" + +Route105_Text_2960DB: @ 82960DB + .string "Yes…\n" + .string "I am no good at battling…$" + +Route105_Text_2960FA: @ 82960FA + .string "I’m sure there are many secrets to be\n" + .string "discovered in the world’s seas.\p" + .string "I mean to find them all!$" + +Route105_Text_296159: @ 8296159 + .string "Huh? I’m so weak, but you’re willing\n" + .string "to register me in your POKéNAV?$" + +Route105_Text_29619E: @ 829619E + .string "I’ve told you that I’m weak…\n" + .string "Are you sure you want to do this?$" + +Route105_Text_2961DD: @ 82961DD + .string "Yes…\n" + .string "I didn’t think I could win.$" + +Route105_Text_2961FE: @ 82961FE + .string "I may be weak at battling, but my\n" + .string "drive to explore can’t be bested.\p" + .string "I will travel the seas all around\n" + .string "the world!$" + +Route105_Text_29626F: @ 829626F + .string "I’m exhausted from swimming.\n" + .string "I’m just not used to it.\p" + .string "I need a battle for a change of pace!$" + +Route105_Text_2962CB: @ 82962CB + .string "I lost because I battled at sea.$" + +Route105_Text_2962EC: @ 82962EC + .string "Yeah, for me, the sky is a much better\n" + .string "match than the sea.$" + +Route106_Text_296327: @ 8296327 + .string "Which do you prefer, fishing in the\n" + .string "sea or a stream?$" + +Route106_Text_29635C: @ 829635C + .string "Like in deep-sea fishing, I lost\n" + .string "spectacularly!$" + +Route106_Text_29638C: @ 829638C + .string "Fishing is the greatest whether it’s\n" + .string "in the sea or a stream.\l" + .string "You agree with me, right?$" + +Route106_Text_2963E3: @ 82963E3 + .string "Fishing’s great, but so is battling.\n" + .string "If you don’t mind, can we meet again?$" + +Route106_Text_29642E: @ 829642E + .string "I caught a bunch of POKéMON fishing.\n" + .string "I’ll show you an impressive battle!$" + +Route106_Text_296477: @ 8296477 + .string "I lost again spectacularly!$" + +Route106_Text_296493: @ 8296493 + .string "Win or lose, POKéMON are the greatest!\n" + .string "You agree with me, right?$" + +Route106_Text_2964D4: @ 82964D4 + .string "What do people do if they need to go\n" + .string "to a washroom?\p" + .string "What if my ROD hooks a big one while\n" + .string "I’m in the washroom? I just can’t go…$" + +Route106_Text_296553: @ 8296553 + .string "I lost because I’m trying to not go\n" + .string "to the washroom…$" + +Route106_Text_296588: @ 8296588 + .string "Oh, no! I’ve got this feeling I’ll hook\n" + .string "a big one!$" + +Route106_Text_2965BB: @ 82965BB + .string "Hahahah! I’m a lousy runner, but in\n" + .string "the water you can’t catch me!$" + +Route106_Text_2965FD: @ 82965FD + .string "I give up!$" + +Route106_Text_296608: @ 8296608 + .string "I wouldn’t lose in a swim race…$" + +Route106_Text_296628: @ 8296628 + .string "The sea is my backyard. I’m not going\n" + .string "to take it easy because you’re a kid!$" + +Route106_Text_296674: @ 8296674 + .string "Did you take it easy on me by any\n" + .string "chance?$" + +Route106_Text_29669E: @ 829669E + .string "Drifting along with the waves…\n" + .string "I love it! Why don’t you give it a try?$" + +Route107_Text_2966E5: @ 82966E5 + .string "Yawn…\p" + .string "I must have drifted off to sleep while\n" + .string "I was drifting in the waves.$" + +Route107_Text_29672F: @ 829672F + .string "Ahaha, I lost…\n" + .string "I’ll take a snooze, I think…$" + +Route107_Text_29675B: @ 829675B + .string "Floating and being rocked by\n" + .string "the waves--it’s like sleeping in\l" + .string "a plush, comfy bed.$" + +Route107_Text_2967AD: @ 82967AD + .string "The sea is like my backyard.\n" + .string "Let’s battle!$" + +Route107_Text_2967D8: @ 82967D8 + .string "I lost on my home field…\n" + .string "I’m in shock!$" + +Route107_Text_2967FF: @ 82967FF + .string "I swim the seas with a heart full of\n" + .string "dreams…\p" + .string "It’s a song!\n" + .string "Anyways, I’m swimming some more.$" + +Route107_Text_29685A: @ 829685A + .string "You’ve shocked me to the bone!\n" + .string "Well, so you won’t forget me…$" + +Route107_Text_296897: @ 8296897 + .string "Swimming in the big, wide sea,\n" + .string "my POKéMON has grown stronger!$" + +Route107_Text_2968D5: @ 82968D5 + .string "What a shock!\p" + .string "My POKéMON has gotten stronger, but\n" + .string "I stayed weak as a TRAINER!$" + +Route107_Text_296923: @ 8296923 + .string "What you learn in battle makes you\n" + .string "a stronger TRAINER.\l" + .string "The waves taught me that.$" + +Route107_Text_296974: @ 8296974 + .string "Do you know a little town called\n" + .string "DEWFORD?$" + +Route107_Text_29699E: @ 829699E + .string "I hate this!$" + +Route107_Text_2969AB: @ 82969AB + .string "A weird saying is getting really\n" + .string "trendy at DEWFORD HALL.$" + +Route107_Text_2969E4: @ 82969E4 + .string "Did you want to battle me?\n" + .string "Sure, I’ll go with you!$" + +Route107_Text_296A17: @ 8296A17 + .string "I wasn’t good enough for you.$" + +Route107_Text_296A35: @ 8296A35 + .string "I think you’re going to keep getting\n" + .string "better. I’ll go for it, too!$" + +Route107_Text_296A77: @ 8296A77 + .string "LISA: We challenge you as a sister\n" + .string "and brother!$" + +Route107_Text_296AA7: @ 8296AA7 + .string "LISA: Awesome.\n" + .string "You’re in a different class of tough.$" + +Route107_Text_296ADC: @ 8296ADC + .string "LISA: Do you have any friends who\n" + .string "would go to the beach with you?$" + +Route107_Text_296B1E: @ 8296B1E + .string "LISA: If you want to battle with us,\n" + .string "bring more POKéMON.$" + +Route107_Text_296B57: @ 8296B57 + .string "RAY: We always battle POKéMON,\n" + .string "me and my sister.\p" + .string "I always lose, but we can beat you\n" + .string "2-on-2!$" + +Route107_Text_296BB3: @ 8296BB3 + .string "RAY: Wowee, you’re at a higher level\n" + .string "than us!$" + +Route107_Text_296BE1: @ 8296BE1 + .string "RAY: My sister gave me my POKéMON.\n" + .string "I raised it, and now it’s my important\l" + .string "partner!$" + +Route107_Text_296C34: @ 8296C34 + .string "RAY: If you want to battle us,\n" + .string "go bring some more POKéMON!$" + +Route107_Text_296C6F: @ 8296C6F + .string "I’m in the middle of a triathlon,\n" + .string "but I’m nowhere near tired!$" + +Route107_Text_296CAD: @ 8296CAD + .string "That exhausted me…$" + +Route107_Text_296CC0: @ 8296CC0 + .string "I still have swimming and running left\n" + .string "to do after this.\p" + .string "Am I going to be okay?$" + +Route108_Text_296D10: @ 8296D10 + .string "My dream is to swim the world’s seven\n" + .string "seas!$" + +Route108_Text_296D3C: @ 8296D3C + .string "I won’t be able to swim the seven seas\n" + .string "like this…$" + +Route108_Text_296D6E: @ 8296D6E + .string "Playing with marine POKéMON is one of\n" + .string "the pleasures of swimming!$" + +Route108_Text_296DAF: @ 8296DAF + .string "Ahoy, there! Are you going out to\n" + .string "the ABANDONED SHIP, too?$" + +Route108_Text_296DEA: @ 8296DEA + .string "I’m sinking!\n" + .string "Glub… Glub…$" + +Route108_Text_296E03: @ 8296E03 + .string "Some people even go inside that\n" + .string "ABANDONED SHIP.$" + +Route108_Text_296E33: @ 8296E33 + .string "My liar of a boyfriend told me that\n" + .string "I look great in a bikini…$" + +Route108_Text_296E71: @ 8296E71 + .string "Oh, boo!$" + +Route108_Text_296E7A: @ 8296E7A + .string "Even if it’s a lie, I love being told\n" + .string "I look great…\l" + .string "We girls are so complex…$" + +Route108_Text_296EC7: @ 8296EC7 + .string "I love the sea!\n" + .string "I forget all my worries when I swim!$" + +Route108_Text_296EFC: @ 8296EFC + .string "When I lose a battle, I get all\n" + .string "stressed out!$" + +Route108_Text_296F2A: @ 8296F2A + .string "Work off your stress by swimming!\n" + .string "It’s so healthy!$" + +Route108_Text_296F5D: @ 8296F5D + .string "I love WATER-type POKéMON.\n" + .string "I love other POKéMON, too!$" + +Route108_Text_296F93: @ 8296F93 + .string "Waaah! I lost!\n" + .string "Waaah! Waaah!$" + +Route108_Text_296FB0: @ 8296FB0 + .string "Shouting is good for me!\n" + .string "It uplifts me!$" + +Route108_Text_296FD8: @ 8296FD8 + .string "I love tough TRAINERS, too!\n" + .string "Register me in your POKéNAV!$" + +Route108_Text_297011: @ 8297011 + .string "Win or lose, I love battling at sea!$" + +Route108_Text_297036: @ 8297036 + .string "Waaah! I lost again!\n" + .string "Waaah! Waaah!$" + +Route108_Text_297059: @ 8297059 + .string "If you’re faced with a challenge,\n" + .string "try shouting at the sea!$" + +Route108_Text_297094: @ 8297094 + .string "I take huge pride in my POKéMON.\n" + .string "We’ll show you one speedy battle!$" + +Route108_Text_2970D7: @ 82970D7 + .string "That wasn’t cute at all.$" + +Route108_Text_2970F0: @ 82970F0 + .string "Since I’m at sea like this, I wouldn’t\n" + .string "mind putting on a pink, frilly swimsuit…$" + +Route109_Text_297140: @ 8297140 + .string "Hiyah! Look at my chiseled abs!\n" + .string "This is what you call “cut”!$" + +Route109_Text_29717D: @ 829717D + .string "Aiyah!\n" + .string "Flubbed out!$" + +Route109_Text_297191: @ 8297191 + .string "Hiyah!\p" + .string "My sculpted abs have nothing to do\n" + .string "with POKéMON battles!$" + +Route109_Text_2971D1: @ 82971D1 + .string "Are you properly protected against\n" + .string "the sun?$" + +Route109_Text_2971FD: @ 82971FD + .string "Ouch, ouch, ouch!$" + +Route109_Text_29720F: @ 829720F + .string "Cheeks are the most prone to burning!$" + +Route109_Text_297235: @ 8297235 + .string "I’ve laid anchor in ports around\n" + .string "the world, but SLATEPORT’s the best.$" + +Route109_Text_29727B: @ 829727B + .string "You’re the best!$" + +Route109_Text_29728C: @ 829728C + .string "In the best port was the best\n" + .string "TRAINER…$" + +Route109_Text_2972B3: @ 82972B3 + .string "Urrrrppp…\n" + .string "Battle? With me?$" + +Route109_Text_2972CE: @ 82972CE + .string "Urp… Ooooooohhhhhh…\n" + .string "Urrrrpppp…$" + +Route109_Text_2972ED: @ 82972ED + .string "I’m usually stronger than this!\n" + .string "I’m just seasick as a dog!\p" + .string "I’m a SAILOR, but…$" + +Route109_Text_29733B: @ 829733B + .string "I’m thirsty… I could go for a SODA POP\n" + .string "at the SEASHORE HOUSE…$" + +Route109_Text_297379: @ 8297379 + .string "Groan…$" + +Route109_Text_297380: @ 8297380 + .string "I’m getting famished… My inner tube\n" + .string "looks like a giant doughnut…$" + +Route109_Text_2973C1: @ 82973C1 + .string "Will you have another match with me\n" + .string "when I’m not all thirsty?$" + +Route109_Text_2973FF: @ 82973FF + .string "I’m hungry, but I’ve got enough pep in\n" + .string "me for a battle!$" + +Route109_Text_297437: @ 8297437 + .string "I lost…\n" + .string "It’s because I’m hungry…$" + +Route109_Text_297458: @ 8297458 + .string "When you eat on a beach, everything\n" + .string "seems to taste a little better.$" + +Route109_Text_29749C: @ 829749C + .string "Doesn’t a beach umbrella look like\n" + .string "a giant flower?$" + +Route109_Text_2974CF: @ 82974CF + .string "Mommy!$" + +Route109_Text_2974D6: @ 82974D6 + .string "If you look at the beach from the sky,\n" + .string "it looks like a big flower garden!$" + +Route109_Text_297520: @ 8297520 + .string "Me?\n" + .string "I’m here every day!$" + +Route109_Text_297538: @ 8297538 + .string "I’m not losing to you again!\n" + .string "That’s why I have my inner tube!$" + +Route109_Text_297576: @ 8297576 + .string "Mommy!$" + +Route109_Text_29757D: @ 829757D + .string "If I have an inner tube, me and my\n" + .string "POKéMON’s cuteness goes way up!$" + +Route109_Text_2975C0: @ 82975C0 + .string "I can’t swim without my inner tube,\n" + .string "but I won’t lose at POKéMON!$" + +Route109_Text_297601: @ 8297601 + .string "Did I lose because I have an inner\n" + .string "tube?$" + +Route109_Text_29762A: @ 829762A + .string "My inner tube is a fashion item.\n" + .string "I can’t be seen without it.$" + +Route109_Text_297667: @ 8297667 + .string "Hi, big TRAINER.\n" + .string "Will you battle with me?$" + +Route109_Text_297691: @ 8297691 + .string "Oh, you’re strong.$" + +Route109_Text_2976A4: @ 82976A4 + .string "How did you get to be so strong?$" + +Route109_Text_2976C5: @ 82976C5 + .string "Wahahah! This dude’s going to catch\n" + .string "himself a big one!$" + +Route109_Text_2976FC: @ 82976FC + .string "This dude just lost one…$" + +Route109_Text_297715: @ 8297715 + .string "This dude thinks you’re a big one.\n" + .string "No, you’re a big-one-to-be!$" + +Route109_Text_297754: @ 8297754 + .string "PAUL: Well, this is a mood-breaker.\p" + .string "I wish you wouldn’t disturb our\n" + .string "precious time together.$" + +Route109_Text_2977B0: @ 82977B0 + .string "PAUL: Well, I give up.$" + +Route109_Text_2977C7: @ 82977C7 + .string "PAUL: Well, don’t tell anyone that\n" + .string "we’re here.\l" + .string "This is just our private world of two!$" + +Route109_Text_29781D: @ 829781D + .string "PAUL: We’re totally, deeply in love.\n" + .string "That’s why we make our POKéMON battle\l" + .string "together.$" + +Route109_Text_297872: @ 8297872 + .string "MEL: We’re, like, totally in love.\n" + .string "Our romance is heating up all of HOENN!$" + +Route109_Text_2978BD: @ 82978BD + .string "MEL: We lost, and it’s my fault!\n" + .string "PAUL will hate me!$" + +Route109_Text_2978F1: @ 82978F1 + .string "MEL: Um, PAUL, are you angry with me?\n" + .string "Please don’t be angry.$" + +Route109_Text_29792E: @ 829792E + .string "MEL: We’re, like, deeply and truly in love.\n" + .string "That’s why we make our POKéMON\l" + .string "battle together.$" + +Route109_Text_29798A: @ 829798A + .string "Tadaah! See?\n" + .string "My inner tube’s round!$" + +Route109_Text_2979AE: @ 82979AE + .string "Oh, oh!\n" + .string "Too bad!$" + +Route109_Text_2979BF: @ 82979BF + .string "After I showed you my round inner\n" + .string "tube, too…$" + +Route109_Text_2979EC: @ 82979EC + .string "I can’t swim, so I’m pretending\n" + .string "to swim.$" + +Route109_Text_297A15: @ 8297A15 + .string "I thought so!\n" + .string "I didn’t think we could win.$" + +Route109_Text_297A40: @ 8297A40 + .string "When I learn how to swim, I think\n" + .string "my POKéMON will become tougher.$" + +Route109_Text_297A82: @ 8297A82 + .string "For a guy as macho as me, this kind\n" + .string "of POKéMON is the perfect match!$" + +Route109_Text_297AC7: @ 8297AC7 + .string "I’m cool even in defeat, hey?$" + +Route109_Text_297AE5: @ 8297AE5 + .string "For a guy as macho as me, a port\n" + .string "is the perfect setting!\p" + .string "I guess I’ll head for SLATEPORT.$" + +Route110_Text_297B3F: @ 8297B3F + .string "Whoa! Watch it!\n" + .string "I guess you’re not used to BIKE racing.$" + +Route110_Text_297B77: @ 8297B77 + .string "Whoa!\n" + .string "My brakes failed!$" + +Route110_Text_297B8F: @ 8297B8F + .string "Flat tires and brake problems can\n" + .string "cause serious injury!\l" + .string "Inspect your BIKE for problems!$" + +Route110_Text_297BE7: @ 8297BE7 + .string "Yo, you!\n" + .string "Can you keep up with my speed?$" + +Route110_Text_297C0F: @ 8297C0F + .string "Crash and burn!$" + +Route110_Text_297C1F: @ 8297C1F + .string "Speed alone won’t let me win at POKéMON.\n" + .string "I need to reconsider this…$" + +Route110_Text_297C63: @ 8297C63 + .string "Don’t panic if your BIKE’s going fast!$" + +Route110_Text_297C8A: @ 8297C8A + .string "I shouldn’t panic during POKéMON\n" + .string "battles…$" + +Route110_Text_297CB4: @ 8297CB4 + .string "There’s no need to panic or stress.\n" + .string "Take it easy. There’s plenty of time.$" + +Route110_Text_297CFE: @ 8297CFE + .string "I’ll keep chugging on without stressing.\n" + .string "Give me a shout if you’re up to it.$" + +Route110_Text_297D4B: @ 8297D4B + .string "Aren’t you going a little too fast?\n" + .string "Take it easy and let’s battle.$" + +Route110_Text_297D8E: @ 8297D8E + .string "I didn’t panic, but I still lost…$" + +Route110_Text_297DB0: @ 8297DB0 + .string "There’s no need to panic or stress.\n" + .string "Take it easy. There’s plenty of time.$" + +Route110_Text_297DFA: @ 8297DFA + .string "The triathlon is hard in the extreme.\p" + .string "You have to complete the three events\n" + .string "of swimming, cycling, and running.$" + +Route110_Text_297E69: @ 8297E69 + .string "POKéMON battles are hard, too!$" + +Route110_Text_297E88: @ 8297E88 + .string "I’m exhausted, so I need a break.\n" + .string "It’s important to get proper rest.$" + +Route110_Text_297ECD: @ 8297ECD + .string "You know, I like you!\n" + .string "Let’s have a rematch on CYCLING ROAD.$" + +Route110_Text_297F09: @ 8297F09 + .string "Isn’t it neat to hold a battle while\n" + .string "cycling?$" + +Route110_Text_297F37: @ 8297F37 + .string "Wow…\n" + .string "How could you be so strong?$" + +Route110_Text_297F58: @ 8297F58 + .string "Were you going after a record?\p" + .string "I’m sorry if I held you up!$" + +Route110_Text_297F93: @ 8297F93 + .string "I’ve been riding without stopping.\n" + .string "My thighs are like rocks!$" + +Route110_Text_297FD0: @ 8297FD0 + .string "I’m worried about muscle cramps…$" + +Route110_Text_297FF1: @ 8297FF1 + .string "Oh, you have some GYM BADGES?\n" + .string "No wonder you’re so strong!$" + +Route110_Text_29802B: @ 829802B + .string "I have foreseen your intentions!\n" + .string "I cannot possibly lose!$" + +Route110_Text_298064: @ 8298064 + .string "I failed to prophesize my own demise!$" + +Route110_Text_29808A: @ 829808A + .string "I see your future…\p" + .string "Hmm…\n" + .string "I see a shining light…$" + +Route110_Text_2980B9: @ 82980B9 + .string "Ahahahaha!\n" + .string "I’ll dazzle you with my wonders!$" + +Route110_Text_2980E5: @ 82980E5 + .string "I wondrously lost!$" + +Route110_Text_2980F8: @ 82980F8 + .string "You managed to win only because it was\n" + .string "a wonder! Yes, a wonder!\l" + .string "Don’t think you can win all the time!$" + +Route110_Text_29815E: @ 829815E + .string "Could I see your POKéMON?\n" + .string "Just one look, please?$" + +Route110_Text_29818F: @ 829818F + .string "I wanted to complete\n" + .string "my collection…$" + +Route110_Text_2981B3: @ 82981B3 + .string "When I see a POKéMON that I don’t know,\n" + .string "my passion as a collector is ignited!$" + +Route110_Text_298201: @ 8298201 + .string "I like collecting MATCH CALL\n" + .string "registrations, too…$" + +Route110_Text_298232: @ 8298232 + .string "Hi, have you caught any new POKéMON?\p" + .string "Could I see your POKéMON?\n" + .string "Just one look, please?$" + +Route110_Text_298288: @ 8298288 + .string "Your POKéMON…\n" + .string "I envy you.$" + +Route110_Text_2982A2: @ 82982A2 + .string "Oh, I long to make all rare POKéMON\n" + .string "mine!$" + +Route110_Text_2982CC: @ 82982CC + .string "Hey!\n" + .string "Don’t sneak up behind me like that!$" + +Route110_Text_2982F5: @ 82982F5 + .string "I lost!\n" + .string "Drat!$" + +Route110_Text_298303: @ 8298303 + .string "Fishing is all about concentration.\n" + .string "You have to focus on the floater.$" + +Route110_Text_298349: @ 8298349 + .string "Ahahaha! I would go anywhere to show\n" + .string "off my delightful POKéMON.$" + +Route110_Text_298389: @ 8298389 + .string "Oh, dear, this won’t do.$" + +Route110_Text_2983A2: @ 82983A2 + .string "Rather than battling, perhaps I should\n" + .string "show off my POKéMON at the FAN CLUB.$" + +Route110_Text_2983EE: @ 82983EE + .string "That wasn’t close to what I could\n" + .string "do to show off my POKéMON.\p" + .string "I’ll have you as my captive audience\n" + .string "as often as possible!$" + +Route110_Text_298466: @ 8298466 + .string "Ahahahaha! I would be happy to show\n" + .string "off my POKéMON as often as you like!$" + +Route110_Text_2984AF: @ 82984AF + .string "Oh, dear, this won’t do.$" + +Route110_Text_2984C8: @ 82984C8 + .string "I don’t think that I could ever stop\n" + .string "from showing off my POKéMON.\p" + .string "But I like to battle, too!$" + +Route110_Text_298525: @ 8298525 + .string "I found some cool POKéMON in the grass\n" + .string "around here!$" + +Route110_Text_298559: @ 8298559 + .string "Being cool isn’t enough to win…$" + +Route110_Text_298579: @ 8298579 + .string "It’s hard to battle with POKéMON you\n" + .string "just caught.$" + +Route110_Text_2985AB: @ 82985AB + .string "I fell off CYCLING ROAD…\p" + .string "I’ll get over my embarrassment by\n" + .string "battling with you!$" + +Route110_Text_2985F9: @ 82985F9 + .string "Oops!\n" + .string "I ended up losing!$" + +Route110_Text_298612: @ 8298612 + .string "Falling… Losing…\n" + .string "This is so humiliating for me!$" + +Route110_Text_298642: @ 8298642 + .string "Okay! Full-throttle time! If you can’t\n" + .string "groove, you get left behind!$" + +Route110_Text_298686: @ 8298686 + .string "You got into the groove all right…$" + +Route110_Text_2986A9: @ 82986A9 + .string "This isn’t going to bring me down!\n" + .string "Losing has made me a better man!$" + +Route110_Text_2986ED: @ 82986ED + .string "When cute POKéMON help each other…\n" + .string "You won’t see a more adorable sight!$" + +Route110_Text_298735: @ 8298735 + .string "Have you no compassion or pity?$" + +Route110_Text_298755: @ 8298755 + .string "Okay, okay, you’ve done the best you\n" + .string "could, my pretties.$" + +Route111_Text_29878E: @ 829878E + .string "Oh, hey! Those GO-GOGGLES suit you.\n" + .string "But I think they look better on me.\p" + .string "Let’s decide who they look better on\n" + .string "with a battle!$" + +Route111_Text_29880A: @ 829880A + .string "I couldn’t see what was happening at\n" + .string "my sides because of the GO-GOGGLES.$" + +Route111_Text_298853: @ 8298853 + .string "The GO-GOGGLES make it possible to\n" + .string "get through sandstorms.\l" + .string "That makes me happy!$" + +Route111_Text_2988A3: @ 82988A3 + .string "I’m having a picnic in the desert.\p" + .string "You can always find a TRAINER,\n" + .string "so I can enjoy a battle here, too!$" + +Route111_Text_298908: @ 8298908 + .string "Ohhh! You’re mean!$" + +Route111_Text_29891B: @ 829891B + .string "When you’re battling in a sandstorm,\n" + .string "watch out for your POKéMON’s HP.\p" + .string "It can faint if you don’t keep\n" + .string "an eye on it!$" + +Route111_Text_29898E: @ 829898E + .string "Wearing these GO-GOGGLES makes me\n" + .string "feel like a superhero.\l" + .string "Right now, nobody can beat me!$" + +Route111_Text_2989E6: @ 82989E6 + .string "I can’t win on spirit alone…$" + +Route111_Text_298A03: @ 8298A03 + .string "I’m going to be a real hero one day.\n" + .string "I’m going to work harder to make me\l" + .string "and my POKéMON stronger.$" + +Route111_Text_298A65: @ 8298A65 + .string "I heard there are fossils to be found\n" + .string "in the desert. Where could they be?$" + +Route111_Text_298AAF: @ 8298AAF + .string "I came up short…$" + +Route111_Text_298AC0: @ 8298AC0 + .string "If they can find fossils in the desert,\n" + .string "it must have been a sea before.$" + +Route111_Text_298B08: @ 8298B08 + .string "For thirty years I have searched for\n" + .string "ancient ruins!\l" + .string "I am to be challenged?$" + +Route111_Text_298B53: @ 8298B53 + .string "While I have searched for ruins,\n" + .string "I’ve not searched for strong POKéMON.$" + +Route111_Text_298B9A: @ 8298B9A + .string "For thirty years I have searched for\n" + .string "ancient ruins!\p" + .string "No, wait, was that forty years?\n" + .string "Which was it now?$" + +Route111_Text_298C00: @ 8298C00 + .string "I haven’t been searching for any\n" + .string "tough POKéMON.\p" + .string "But, for some reason, I sure do like\n" + .string "POKéNAVS.$" + +Route111_Text_298C5F: @ 8298C5F + .string "For thirty years I have searched for\n" + .string "ancient ruins!\p" + .string "No, wait, was that forty years?\n" + .string "Anyway, am I to be challenged?$" + +Route111_Text_298CD2: @ 8298CD2 + .string "I’ve found no ruins, nor have I found\n" + .string "any strong POKéMON…$" + +Route111_Text_298D0C: @ 8298D0C + .string "For thirty years I have searched for\n" + .string "ancient ruins!\p" + .string "No, wait, was that forty years\n" + .string "I’ve searched?\p" + .string "Hmm… It could even be fifty…\n" + .string "How long have I been at this?$" + +Route111_Text_298DA9: @ 8298DA9 + .string "I’m full of pep!\n" + .string "And my POKéMON is peppy, too!$" + +Route111_Text_298DD8: @ 8298DD8 + .string "My POKéMON lost its pep…$" + +Route111_Text_298DF1: @ 8298DF1 + .string "When I see a TRAINER with a lot of pep,\n" + .string "I can’t help looking.$" + +Route111_Text_298E2F: @ 8298E2F + .string "I don’t know where you’re going,\n" + .string "but would you like to battle?$" + +Route111_Text_298E6E: @ 8298E6E + .string "Oh, you’re disgustingly good!$" + +Route111_Text_298E8C: @ 8298E8C + .string "I’m thinking that I should go to\n" + .string "MT. CHIMNEY, but the view around\l" + .string "here is very nice, too.$" + +Route111_Text_298EE6: @ 8298EE6 + .string "To train myself, I challenge all\n" + .string "whom I meet!$" + +Route111_Text_298F14: @ 8298F14 + .string "Uncle! I give up!$" + +Route111_Text_298F26: @ 8298F26 + .string "All I can do is keep training until\n" + .string "I can defeat strong TRAINERS such\l" + .string "as yourself.$" + +Route111_Text_298F79: @ 8298F79 + .string "Show me how much you’ve toughened\n" + .string "your POKéMON.$" + +Route111_Text_298FA9: @ 8298FA9 + .string "I see, you’ve toughened them\n" + .string "considerably.$" + +Route111_Text_298FD4: @ 8298FD4 + .string "POKéMON and TRAINERS learn much\n" + .string "through battling.\p" + .string "What’s important is to never give up\n" + .string "even if you lose.$" + +Route111_Text_29903D: @ 829903D + .string "There is much to be learned from\n" + .string "your training style.\p" + .string "I request a rematch if it\n" + .string "behooves you.$" + +Route111_Text_29909B: @ 829909B + .string "We’re training here to elevate our\n" + .string "game to the next level.\l" + .string "Stay and train with us!$" + +Route111_Text_2990EE: @ 82990EE + .string "Ooh, you’re decent!$" + +Route111_Text_299102: @ 8299102 + .string "Since you’re that strong, you should\n" + .string "aim for the POKéMON LEAGUE.$" + +Route111_Text_299143: @ 8299143 + .string "Oh, your POKéMON look like serious\n" + .string "actors.\l" + .string "I have to ask you for an engagement.$" + +Route111_Text_299193: @ 8299193 + .string "They didn’t just look strong,\n" + .string "they are strong!$" + +Route111_Text_2991C2: @ 82991C2 + .string "I thought I was raising my POKéMON\n" + .string "diligently, but, oh no, there is still\l" + .string "much to be done.$" + +Route111_Text_29921D: @ 829921D + .string "I wish I could become friends with\n" + .string "more strong people like you!$" + +Route111_Text_29925D: @ 829925D + .string "You can make POKéMON stronger or\n" + .string "weaker depending on the moves you\l" + .string "teach them.\p" + .string "What kinds of moves do your POKéMON\n" + .string "know?$" + +Route111_Text_2992D6: @ 82992D6 + .string "You’ve taught them good moves!$" + +Route111_Text_2992F5: @ 82992F5 + .string "Maybe I should have stopped my\n" + .string "POKéMON from evolving until they\l" + .string "learned better moves…$" + +Route111_Text_29934B: @ 829934B + .string "I shouldn’t have come to a place like\n" + .string "this for a picnic!$" + +Route111_Text_299384: @ 8299384 + .string "Aww!\n" + .string "I really shouldn’t have come!$" + +Route111_Text_2993A7: @ 82993A7 + .string "In a sandstorm like this, I can’t set\n" + .string "the places for a picnic even with my\l" + .string "GO-GOGGLES on…$" + +Route111_Text_299401: @ 8299401 + .string "How tough are you?\n" + .string "We shall expose that secret!$" + +Route111_Text_299431: @ 8299431 + .string "Oh! Your strength!\n" + .string "It is shrouded in mystery!$" + +Route111_Text_29945F: @ 829945F + .string "This desert hoards mysteries in\n" + .string "its shifting sands!$" + +Route111_Text_299493: @ 8299493 + .string "I’ll give you some of my sandwich\n" + .string "if you’ll lose.$" + +Route111_Text_2994C5: @ 82994C5 + .string "Tch! I thought a sandwich would be\n" + .string "enough of a bribe…$" + +Route111_Text_2994FB: @ 82994FB + .string "My SANDSHREW loves eating\n" + .string "my sandwiches.$" + +Route111_Text_299524: @ 8299524 + .string "This is my favorite kind of POKéMON!$" + +Route111_Text_299549: @ 8299549 + .string "Wait!\n" + .string "Did you get a good look at my POKéMON?$" + +Route111_Text_299576: @ 8299576 + .string "When having a battle, I get a kick out\n" + .string "of showing off my POKéMON.\p" + .string "I bet everyone feels that way when\n" + .string "they enter a battle!$" + +Route111_Text_2995F0: @ 82995F0 + .string "Show me how to put a little excitement\n" + .string "into my life.$" + +Route111_Text_299625: @ 8299625 + .string "Oh… My…\n" + .string "That was too much excitement.$" + +Route111_Text_29964B: @ 829964B + .string "My pulse is still racing.\n" + .string "You’re one fabulous TRAINER.$" + +Route111_Text_299682: @ 8299682 + .string "When you’re as famished as I am,\n" + .string "there is no room for pity!$" + +Route111_Text_2996BE: @ 82996BE + .string "Groan…$" + +Route111_Text_2996C5: @ 82996C5 + .string "My stomach is grumbling!\n" + .string "Maybe I can grill some BERRIES…$" + +Route111_Text_2996FE: @ 82996FE + .string "Did you come from MAUVILLE?\n" + .string "Then you should be full of energy!$" + +Route111_Text_29973D: @ 829973D + .string "Ooh lala!\n" + .string "That’s a lot to take!$" + +Route111_Text_29975D: @ 829975D + .string "This road here…\n" + .string "You have quite a ways to travel.$" + +Route112_Text_29978E: @ 829978E + .string "Hahahaha!\n" + .string "How about we have a battle?\l" + .string "You and me!\l" + .string "Hahahaha!$" + +Route112_Text_2997CA: @ 82997CA + .string "I lost!\n" + .string "Hahahaha!$" + +Route112_Text_2997DC: @ 82997DC + .string "Hahahahaha! Something flew up my nose!\n" + .string "Hahahaha-hatchoo!$" + +Route112_Text_299815: @ 8299815 + .string "My legs are solid from pounding up\n" + .string "and down the mountains.\p" + .string "They’re not going to buckle easily,\n" + .string "friend!$" + +Route112_Text_29987C: @ 829987C + .string "Ouch! My legs cramped up!$" + +Route112_Text_299896: @ 8299896 + .string "Try hiking, and I mean really\n" + .string "pounding, on these mountain trails\l" + .string "with a heavy pack weighing dozens of\l" + .string "pounds.\p" + .string "That, my friend, will get your body\n" + .string "into serious shape.$" + +Route112_Text_29993C: @ 829993C + .string "Ow, my legs have cramped up.\n" + .string "Can you grab me some bandages from\l" + .string "my backpack?\p" + .string "No, that’s my POKéNAV!\n" + .string "Oh, fine, I’ll register you.$" + +Route112_Text_2999BD: @ 82999BD + .string "I’ve been keeping fit by hiking.\n" + .string "Power, I have in spades!$" + +Route112_Text_2999F7: @ 82999F7 + .string "I got trumped in power?$" + +Route112_Text_299A0F: @ 8299A0F + .string "I hear there are some seriously tough\n" + .string "TRAINERS on top of MT. CHIMNEY.\p" + .string "I intend to get up there and give them\n" + .string "a challenge!$" + +Route112_Text_299A89: @ 8299A89 + .string "I’m strong.\n" + .string "I won’t cry if I lose.$" + +Route112_Text_299AAC: @ 8299AAC + .string "Waaaah!$" + +Route112_Text_299AB4: @ 8299AB4 + .string "I’m not crying because I miss my mommy!\n" + .string "Snivel…$" + +Route112_Text_299AE4: @ 8299AE4 + .string "When you’re out on a picnic, why,\n" + .string "you simply have to sing!\l" + .string "Come on, sing with me!$" + +Route112_Text_299B36: @ 8299B36 + .string "Oh, you’re so strong!$" + +Route112_Text_299B4C: @ 8299B4C + .string "It doesn’t matter if you’re good or bad\n" + .string "at singing or POKéMON.\p" + .string "If you have the most fun, you win!$" + +Route112_Text_299BAE: @ 8299BAE + .string "I caught hot POKéMON in FIERY PATH!\n" + .string "Take a look!$" + +Route112_Text_299BDF: @ 8299BDF + .string "What a bumpy ride that was!$" + +Route112_Text_299BFB: @ 8299BFB + .string "I like the way you battle.\n" + .string "It has a certain flair to it.$" + +Route112_Text_299C34: @ 8299C34 + .string "Oh, aren’t you an adorable TRAINER!\n" + .string "Please, I need a romantic battle!\l" + .string "I’m somewhat decent!$" + +Route112_Text_299C8F: @ 8299C8F + .string "Oh, how strong you are!\n" + .string "You’ve given me quite a shock!$" + +Route112_Text_299CC6: @ 8299CC6 + .string "Are you busy right now?\n" + .string "I was thinking that maybe we can have\l" + .string "a rematch right now…\l" + .string "But it’s all right if you’re busy.$" + +Route113_Text_299D3C: @ 8299D3C + .string "Can you guess why it’s so cool\n" + .string "around here?$" + +Route113_Text_299D68: @ 8299D68 + .string "Peeuuw!\n" + .string "That stinks!$" + +Route113_Text_299D7D: @ 8299D7D + .string "The volcanic ash blocks the sun,\n" + .string "so it doesn’t get very warm.\p" + .string "That’s good for me--I can’t stand heat!$" + +Route113_Text_299DE3: @ 8299DE3 + .string "The volcano’s eruption is proof that\n" + .string "the earth is alive.$" + +Route113_Text_299E1C: @ 8299E1C + .string "You’re some kind of strong!$" + +Route113_Text_299E38: @ 8299E38 + .string "Ouch! Owww! I can’t see!\n" + .string "I got ashes in my eyelashes!\p" + .string "Get it? Ashes and eyelashes?\p" + .string "Okay, that was bad, sorry…$" + +Route113_Text_299EA6: @ 8299EA6 + .string "I use this parasol to ward off this\n" + .string "filthy, yucky volcanic ash from\l" + .string "my dear NUMEL.$" + +Route113_Text_299EF9: @ 8299EF9 + .string "Huff, huff…\n" + .string "I am exhausted…$" + +Route113_Text_299F15: @ 8299F15 + .string "You’re very good at this.\n" + .string "I must say I’m impressed!$" + +Route113_Text_299F49: @ 8299F49 + .string "Here, slide under my parasol.\n" + .string "Let me register you in my POKéNAV.$" + +Route113_Text_299F8A: @ 8299F8A + .string "Oh, hello, hasn’t it been a while?\n" + .string "May I invite you to battle?$" + +Route113_Text_299FC9: @ 8299FC9 + .string "Oh, how super!$" + +Route113_Text_299FD8: @ 8299FD8 + .string "You’ve remained very good at this.\n" + .string "I must say I’m impressed!$" + +Route113_Text_29A015: @ 829A015 + .string "From out of the ashes I leap! Hiyah!\n" + .string "I challenge thee!$" + +Route113_Text_29A04C: @ 829A04C + .string "With honor I admit defeat!$" + +Route113_Text_29A067: @ 829A067 + .string "I must refine the art of concealment.\n" + .string "I bid thee farewell.$" + +Route113_Text_29A0A2: @ 829A0A2 + .string "Yiiyaah! Witness the ancient ninja\n" + .string "technique of POKéNAV registration!$" + +Route113_Text_29A0E8: @ 829A0E8 + .string "From out of the ashes I leap! Hiyah!\n" + .string "I challenge thee!$" + +Route113_Text_29A11F: @ 829A11F + .string "With honor I admit defeat!$" + +Route113_Text_29A13A: @ 829A13A + .string "My flawless concealment was let down\n" + .string "by my immature battle skills…\p" + .string "I bid thee farewell.$" + +Route113_Text_29A192: @ 829A192 + .string "Thanks for finding me!\n" + .string "But we still have to battle!$" + +Route113_Text_29A1C6: @ 829A1C6 + .string "I’ll use my ninjutsu on you…\n" + .string "“VOLCANIC ASH SWIRL CLOAK”!\p" + .string "…What?\n" + .string "It’s already over?$" + +Route113_Text_29A219: @ 829A219 + .string "You know what’s crummy about hiding?\n" + .string "It’s lonely if no one comes along.$" + +Route113_Text_29A261: @ 829A261 + .string "TORI: Both of us, we collect ashes.\n" + .string "We battle POKéMON, too.$" + +Route113_Text_29A29D: @ 829A29D + .string "TORI: We lost… It’s boring, so I’m going\n" + .string "to get some more ashes.$" + +Route113_Text_29A2DE: @ 829A2DE + .string "TORI: How much ash do we have?\n" + .string "Enough for a WHITE FLUTE, I hope.$" + +Route113_Text_29A31F: @ 829A31F + .string "TORI: We want to battle 2-on-2.\n" + .string "If we didn’t, we would lose!$" + +Route113_Text_29A35C: @ 829A35C + .string "TIA: Both of us, we collect ashes.\n" + .string "We battle POKéMON, too.$" + +Route113_Text_29A397: @ 829A397 + .string "TIA: We couldn’t win… It’s boring,\n" + .string "so I’m getting some more ashes.$" + +Route113_Text_29A3DA: @ 829A3DA + .string "TIA: We have a lot of ashes!\n" + .string "I think enough for a WHITE FLUTE!$" + +Route113_Text_29A419: @ 829A419 + .string "TIA: We want to battle 2-on-2.\n" + .string "If we don’t, we won’t win!$" + +Route113_Text_29A453: @ 829A453 + .string "Pfft, with these wings I can\n" + .string "flick you away!$" + +Route113_Text_29A480: @ 829A480 + .string "A… What?$" + +Route113_Text_29A489: @ 829A489 + .string "I don’t know what to say when I get\n" + .string "beaten so easily…$" + +Route113_Text_29A4BF: @ 829A4BF + .string "The warmth here is making me drowsy.\n" + .string "Battle with me so I can stay awake.$" + +Route113_Text_29A508: @ 829A508 + .string "This is a dream.\n" + .string "I’m sure of it…$" + +Route113_Text_29A529: @ 829A529 + .string "Losing burns me up…\n" + .string "I’m just going to sleep right here!\l" + .string "Zzz!$" + +Route113_Text_29A566: @ 829A566 + .string "Were you maybe in the middle\n" + .string "of gathering volcanic ashes?$" + +Route113_Text_29A5A0: @ 829A5A0 + .string "Ehehe.\n" + .string "We got beaten cleanly.$" + +Route113_Text_29A5BE: @ 829A5BE + .string "I ought to hide under the ashes, too.$" + +Route113_Text_29A5E4: @ 829A5E4 + .string "Y-you want to battle with me?\n" + .string "Even though I just caught my POKéMON?$" + +Route113_Text_29A628: @ 829A628 + .string "Y-you’re all happy to win?\n" + .string "Even though it’s only me?$" + +Route113_Text_29A65D: @ 829A65D + .string "Oh, so now you want to say a word to\n" + .string "the loser?\p" + .string "Aren’t you just the coolest?\n" + .string "Humph!$" + +Route114_Text_29A6B1: @ 829A6B1 + .string "Yodelayhihoo!\p" + .string "… …\p" + .string "You’re supposed to shout\n" + .string "“yodelayhihoo” since it doesn’t\l" + .string "echo here!$" + +Route114_Text_29A707: @ 829A707 + .string "Yodelayhihoo!$" + +Route114_Text_29A715: @ 829A715 + .string "When I was a wee tyke, I believed there\n" + .string "was someone copying me and shouting\l" + .string "back, “Yodelayhihoo.”$" + +Route114_Text_29A777: @ 829A777 + .string "If you’re not prepared, you shouldn’t\n" + .string "be up in the mountains!$" + +Route114_Text_29A7B5: @ 829A7B5 + .string "The mountains are unforgiving…$" + +Route114_Text_29A7D4: @ 829A7D4 + .string "In the winter, mountains turn deadly\n" + .string "with blizzards and avalanches.$" + +Route114_Text_29A818: @ 829A818 + .string "Camping’s fun! You can fish, roast\n" + .string "marshmallows, and tell spooky stories!\p" + .string "But the best of all are the POKéMON\n" + .string "battles!$" + +Route114_Text_29A88F: @ 829A88F + .string "Way too strong!$" + +Route114_Text_29A89F: @ 829A89F + .string "I think it’s great that I can go\n" + .string "camping with my POKéMON.$" + +Route114_Text_29A8D9: @ 829A8D9 + .string "I need to exercise after a meal.\n" + .string "Let’s have a match!$" + +Route114_Text_29A90E: @ 829A90E + .string "Oh, no!$" + +Route114_Text_29A916: @ 829A916 + .string "I just had a tasty meal.\n" + .string "I’m getting drowsy…$" + +Route114_Text_29A943: @ 829A943 + .string "Ufufufufufu…\n" + .string "Want to battle against my POKéMON?$" + +Route114_Text_29A973: @ 829A973 + .string "M-My POKéMON…$" + +Route114_Text_29A981: @ 829A981 + .string "A big body that’s all lumpy and hard,\n" + .string "enormous horns, and vicious fangs…\p" + .string "Ufufufufu…\n" + .string "I wish I had a POKéMON like that…$" + +Route114_Text_29A9F7: @ 829A9F7 + .string "Don’t forget what you’ve done to me!\n" + .string "I’ll make it so you can’t forget!$" + +Route114_Text_29AA3E: @ 829AA3E + .string "Ufufufufufu…\n" + .string "Come on, battle my POKéMON…$" + +Route114_Text_29AA67: @ 829AA67 + .string "I feel so lucky getting to see your\n" + .string "POKéMON…$" + +Route114_Text_29AA94: @ 829AA94 + .string "Ufufufufufu…\p" + .string "When I see POKéMON battling, I get all\n" + .string "shivery and shaky…$" + +Route114_Text_29AADB: @ 829AADB + .string "If you’re lighting a campfire,\n" + .string "make sure you have water handy.$" + +Route114_Text_29AB1A: @ 829AB1A + .string "Thanks for dousing my fire!$" + +Route114_Text_29AB36: @ 829AB36 + .string "You really do have to be careful with\n" + .string "any sort of fire in a forest.\p" + .string "Don’t ever underestimate the power\n" + .string "of fire.$" + +Route114_Text_29ABA6: @ 829ABA6 + .string "You set my spirit on fire.\n" + .string "Let’s register each other!$" + +Route114_Text_29ABDC: @ 829ABDC + .string "Have you learned to keep water handy\n" + .string "for campfires?$" + +Route114_Text_29AC10: @ 829AC10 + .string "I got hosed down before I could\n" + .string "flare up, I guess.$" + +Route114_Text_29AC43: @ 829AC43 + .string "You really do have to be careful with\n" + .string "any sort of fire in a forest.\p" + .string "Don’t ever underestimate the power\n" + .string "of fire.$" + +Route114_Text_29ACB3: @ 829ACB3 + .string "If we were fishing, you wouldn’t stand\n" + .string "a chance against me.\l" + .string "So, bring on your POKéMON!$" + +Route114_Text_29AD0A: @ 829AD0A + .string "If we were fishing, I would’ve won…$" + +Route114_Text_29AD2E: @ 829AD2E + .string "I think I’ll try my luck at landing\n" + .string "a big one at METEOR FALLS.\p" + .string "There has to be something in there.\n" + .string "I just know it.$" + +Route114_Text_29ADA1: @ 829ADA1 + .string "I like to fish. But I also like to\n" + .string "battle!\p" + .string "If anyone challenges me, I’m there,\n" + .string "even if I’m fishing.$" + +Route114_Text_29AE05: @ 829AE05 + .string "I like to battle, but that doesn’t\n" + .string "mean I’m good at it…$" + +Route114_Text_29AE3D: @ 829AE3D + .string "This time I’ll do it!\p" + .string "I always think that, so I can’t walk\n" + .string "away from fishing or POKéMON.$" + +Route114_Text_29AE96: @ 829AE96 + .string "TYRA: Well, sure.\n" + .string "I’m in the mood for it.\l" + .string "I’ll teach you a little about POKéMON.$" + +Route114_Text_29AEE7: @ 829AEE7 + .string "TYRA: What an amazing battle style!$" + +Route114_Text_29AF0B: @ 829AF0B + .string "TYRA: I was teaching my junior IVY\n" + .string "about POKéMON.$" + +Route114_Text_29AF3D: @ 829AF3D + .string "TYRA: Giggle…\n" + .string "If you want to battle with us, just one\l" + .string "POKéMON isn’t enough!$" + +Route114_Text_29AF89: @ 829AF89 + .string "IVY: Who taught you about POKéMON?$" + +Route114_Text_29AFAC: @ 829AFAC + .string "IVY: What an amazing battle style!$" + +Route114_Text_29AFCF: @ 829AFCF + .string "IVY: I started training POKéMON\n" + .string "because TYRA, my student mentor,\l" + .string "taught me!$" + +Route114_Text_29B01B: @ 829B01B + .string "IVY: Do you only have one POKéMON?\n" + .string "I think it must feel lonesome.$" + +Route114_Text_29B05D: @ 829B05D + .string "I landed a big one!\n" + .string "A huge one, I tell you!$" + +Route114_Text_29B089: @ 829B089 + .string "What was that about?\n" + .string "Did mine lose in size?$" + +Route114_Text_29B0B5: @ 829B0B5 + .string "Okay!\n" + .string "I’ll just fish me a bigger one!$" + +Route114_Text_29B0DB: @ 829B0DB + .string "Me!\n" + .string "I’m not just a pretty face!$" + +Route114_Text_29B0FB: @ 829B0FB + .string "That wasn’t cute in the least!$" + +Route114_Text_29B11A: @ 829B11A + .string "I don’t want a POKéMON that’s\n" + .string "just cute.\p" + .string "I adore cute ones that have a quirk\n" + .string "or two!$" + +Route114_Text_29B16F: @ 829B16F + .string "Have you made your POKéMON evolve\n" + .string "very much?$" + +Route114_Text_29B19C: @ 829B19C + .string "Oh, I see.\n" + .string "That’s good to know.$" + +Route114_Text_29B1BC: @ 829B1BC + .string "Some POKéMON change so much when\n" + .string "they evolve, it’s startling!$" + +Route115_Text_29B1FA: @ 829B1FA + .string "Hm…\n" + .string "You seem rather capable…\l" + .string "Let me keep you company!$" + +Route115_Text_29B230: @ 829B230 + .string "You’re much stronger than\n" + .string "I’d imagined!$" + +Route115_Text_29B258: @ 829B258 + .string "There is no such thing as a born genius.\n" + .string "It all depends on effort!\l" + .string "That is what I believe…$" + +Route115_Text_29B2B3: @ 829B2B3 + .string "Hmm… A loss this thorough has been\n" + .string "a distant memory.\p" + .string "If you would allow it, I wish for\n" + .string "another opportunity to do battle.$" + +Route115_Text_29B32C: @ 829B32C + .string "Hm… As always, your agility speaks\n" + .string "for itself.\l" + .string "Come, keep me company!$" + +Route115_Text_29B372: @ 829B372 + .string "As strong as ever!$" + +Route115_Text_29B385: @ 829B385 + .string "All it takes is effort!\p" + .string "I lost because I haven’t put in enough\n" + .string "effort!$" + +Route115_Text_29B3CC: @ 829B3CC + .string "You!\p" + .string "My MACHOP!\p" + .string "Demand a battle!$" + +Route115_Text_29B3ED: @ 829B3ED + .string "Ouch, ouch, ouch!$" + +Route115_Text_29B3FF: @ 829B3FF + .string "My MACHOP crew!\p" + .string "So long as they seek power, I will\n" + .string "grow strong with them!$" + +Route115_Text_29B449: @ 829B449 + .string "My strongest skill is busting bricks\n" + .string "with my forehead!$" + +Route115_Text_29B480: @ 829B480 + .string "Ugwaaaah!\n" + .string "My head is busted!$" + +Route115_Text_29B49D: @ 829B49D + .string "I’ve been teaching my POKéMON karate.\p" + .string "It looks like they’ll get a lot better\n" + .string "than me. I’m excited about that.$" + +Route115_Text_29B50B: @ 829B50B + .string "You impress me! Give me a rematch\n" + .string "after I redo my training!$" + +Route115_Text_29B547: @ 829B547 + .string "After you beat me, we trained hard to\n" + .string "improve our skills.\l" + .string "Come on, give us a rematch!$" + +Route115_Text_29B59D: @ 829B59D + .string "Ugwaaah!\n" + .string "We lost again!$" + +Route115_Text_29B5B5: @ 829B5B5 + .string "My POKéMON will grow stronger!\n" + .string "I’ll redouble my training!$" + +Route115_Text_29B5EF: @ 829B5EF + .string "This beach is my secret training spot!\n" + .string "Don’t come butting in!$" + +Route115_Text_29B62D: @ 829B62D + .string "I haven’t trained enough!$" + +Route115_Text_29B647: @ 829B647 + .string "The sand acts as a cushion to reduce\n" + .string "impact and prevent injury.\l" + .string "This is the perfect place to train.$" + +Route115_Text_29B6AB: @ 829B6AB + .string "Okay, fine, you’re free to come here.\n" + .string "In return, I’d like to battle you again.$" + +Route115_Text_29B6FA: @ 829B6FA + .string "Okay, let’s get this battle on!$" + +Route115_Text_29B71A: @ 829B71A + .string "I can battle but my POKéMON…$" + +Route115_Text_29B737: @ 829B737 + .string "Even when I lose, I still get some\n" + .string "enjoyment out of it.\l" + .string "It must be that I love POKéMON.$" + +Route115_Text_29B78F: @ 829B78F + .string "I have a rare POKéMON!\n" + .string "Would you like me to show you?$" + +Route115_Text_29B7C5: @ 829B7C5 + .string "You…\n" + .string "You want my POKéMON, don’t you?$" + +Route115_Text_29B7EA: @ 829B7EA + .string "I have this rare POKéMON.\n" + .string "It’s enough to keep me satisfied.$" + +Route115_Text_29B826: @ 829B826 + .string "I’ll battle while I’m running!\n" + .string "Try to keep up with me!$" + +Route115_Text_29B85D: @ 829B85D + .string "Gasp, gasp…$" + +Route115_Text_29B869: @ 829B869 + .string "I made the mistake of trying to battle\n" + .string "while running!\p" + .string "I should take a run to calm down…$" + +Route115_Text_29B8C1: @ 829B8C1 + .string "Take that!\n" + .string "Ultra POKéMON ninja attack!$" + +Route115_Text_29B8E8: @ 829B8E8 + .string "Waaah!\n" + .string "Our strategy failed!$" + +Route115_Text_29B904: @ 829B904 + .string "But my POKéMON were ultra,\n" + .string "weren’t they?$" + +Route115_Text_29B92D: @ 829B92D + .string "My POKéMON have black belt-level\n" + .string "strength!$" + +Route115_Text_29B958: @ 829B958 + .string "This is too humiliating!$" + +Route115_Text_29B971: @ 829B971 + .string "I rarely meet anyone who’s better\n" + .string "than me…\p" + .string "I get it now!\n" + .string "You’re a GYM LEADER, aren’t you?$" + +Route115_Text_29B9CB: @ 829B9CB + .string "Our eyes met!\n" + .string "There’s no getting away now!$" + +Route115_Text_29B9F6: @ 829B9F6 + .string "Gah!\n" + .string "Not bad!$" + +Route115_Text_29BA04: @ 829BA04 + .string "Oh, well.\n" + .string "I think I will TELEPORT home.$" + +Route115_Text_29BA2C: @ 829BA2C + .string "You’ve disturbed my meditation…\n" + .string "You’ll be punished for it.$" + +Route115_Text_29BA67: @ 829BA67 + .string "You’ve broken my concentration!$" + +Route115_Text_29BA87: @ 829BA87 + .string "I was meditating with my POKéMON.\n" + .string "But this place isn’t very peaceful…$" + +Route116_Text_29BACD: @ 829BACD + .string "If the tunnel doesn’t go through, then\n" + .string "I’ll just go over the top.$" + +Route116_Text_29BB0F: @ 829BB0F + .string "Gasp… Gasp…\n" + .string "Losing made me tired…$" + +Route116_Text_29BB31: @ 829BB31 + .string "It’s no big deal if there’s no tunnel.\n" + .string "To a HIKER, mountains are roads!$" + +Route116_Text_29BB79: @ 829BB79 + .string "My POKéMON rule!\n" + .string "Check them out!$" + +Route116_Text_29BB9A: @ 829BB9A + .string "Ouch! A scrape!\n" + .string "I have to put on a bandage!$" + +Route116_Text_29BBC6: @ 829BBC6 + .string "Bandages are signs of toughness!\n" + .string "I’ve got another one!$" + +Route116_Text_29BBFD: @ 829BBFD + .string "My BUG POKéMON are tough!\n" + .string "Let’s battle!$" + +Route116_Text_29BC25: @ 829BC25 + .string "I lost!\n" + .string "I thought I had you!$" + +Route116_Text_29BC42: @ 829BC42 + .string "BUG POKéMON evolve quickly.\n" + .string "So they get strong quickly, too.$" + +Route116_Text_29BC7F: @ 829BC7F + .string "Let me teach you how strong my\n" + .string "adorable POKéMON is!$" + +Route116_Text_29BCB3: @ 829BCB3 + .string "You’re a notch above me…$" + +Route116_Text_29BCCC: @ 829BCCC + .string "POKéMON that possess cuteness and\n" + .string "power, that’s ideal, I think.$" + +Route116_Text_29BD0C: @ 829BD0C + .string "We learn all sorts of things at the\n" + .string "TRAINER’S SCHOOL.\p" + .string "I want to test things out for real!$" + +Route116_Text_29BD66: @ 829BD66 + .string "I slacked off in school…\n" + .string "That’s why I lost.$" + +Route116_Text_29BD92: @ 829BD92 + .string "I’ll have to redo some courses at\n" + .string "the TRAINER’S SCHOOL.\l" + .string "If I don’t, ROXANNE will be steamed.$" + +Route116_Text_29BDEF: @ 829BDEF + .string "I learned at the TRAINER’S SCHOOL\n" + .string "that a POKéNAV can register TRAINERS.\p" + .string "I don’t really get what that means,\n" + .string "so can I just try it?$" + +Route116_Text_29BE71: @ 829BE71 + .string "I learned at the TRAINER’S SCHOOL\n" + .string "that a POKéNAV can register TRAINERS.\p" + .string "I don’t really get what that means,\n" + .string "so can I just try it?$" + +Route116_Text_29BEF3: @ 829BEF3 + .string "I’ve been studying seriously at the\n" + .string "TRAINER’S SCHOOL.\l" + .string "I won’t lose like I did last time.$" + +Route116_Text_29BF4C: @ 829BF4C + .string "Hunh?\n" + .string "I studied diligently.$" + +Route116_Text_29BF68: @ 829BF68 + .string "I’ll have to redo some courses at\n" + .string "the TRAINER’S SCHOOL.\l" + .string "If I don’t, ROXANNE will be steamed.$" + +Route116_Text_29BFC5: @ 829BFC5 + .string "I study at school, and I study on\n" + .string "the way home, too!$" + +Route116_Text_29BFFA: @ 829BFFA + .string "I’m in shock--I lost?$" + +Route116_Text_29C010: @ 829C010 + .string "Awww, I’ll never become an elegant\n" + .string "TRAINER like ROXANNE this way!$" + +Route116_Text_29C052: @ 829C052 + .string "Oh, wow! Isn’t that a POKéNAV?\n" + .string "I have one, too! Please register me!$" + +Route116_Text_29C096: @ 829C096 + .string "Oh, wow! Isn’t that a POKéNAV?\n" + .string "I have one, too! Please register me!$" + +Route116_Text_29C0DA: @ 829C0DA + .string "I studied a whole lot since I saw you.\n" + .string "You must see my achievements!$" + +Route116_Text_29C11F: @ 829C11F + .string "I’m in shock.\n" + .string "I lost again?$" + +Route116_Text_29C13B: @ 829C13B + .string "You’ve beaten ROXANNE?\n" + .string "I can’t beat you, then. Not yet.$" + +Route116_Text_29C173: @ 829C173 + .string "Just so you know, I’ve never once been\n" + .string "bested by anyone at anything.$" + +Route116_Text_29C1B8: @ 829C1B8 + .string "Oh, my goodness.\n" + .string "This is a new experience for me.$" + +Route116_Text_29C1EA: @ 829C1EA + .string "My life of luxury affords me all that\n" + .string "I could possibly desire.\p" + .string "However, when it comes to POKéMON,\n" + .string "my wealth has no meaning.$" + +Route116_Text_29C266: @ 829C266 + .string "When you lay your eyes on my POKéMON’s\n" + .string "gorgeous fur, their beauty will render\l" + .string "you helpless!$" + +Route116_Text_29C2C2: @ 829C2C2 + .string "Oh, baby, say it isn’t so!$" + +Route116_Text_29C2DD: @ 829C2DD + .string "Oh, no, no, no!\n" + .string "You’ve mussed up my POKéMON’s fur!\l" + .string "You’ve ruined my hairdo, too!\l" + .string "I’ll have to call my stylist now!$" + +Route116_Text_29C350: @ 829C350 + .string "We’ll rock you hard!$" + +Route116_Text_29C365: @ 829C365 + .string "Aiyiyi!\n" + .string "No contest at all!$" + +Route116_Text_29C380: @ 829C380 + .string "I should try different POKéMON\n" + .string "types, that’s what I ought to do.$" + +Route116_Text_29C3C1: @ 829C3C1 + .string "It’s a dead end up here.\n" + .string "I’m bored, so can we battle?$" + +Route116_Text_29C3F7: @ 829C3F7 + .string "That was fun even though I lost.$" + +Route116_Text_29C418: @ 829C418 + .string "Want to stay here and keep\n" + .string "me company?$" + +Route117_Text_29C43F: @ 829C43F + .string "Listen, could I get you to battle\n" + .string "the POKéMON I’m raising?$" + +Route117_Text_29C47A: @ 829C47A + .string "You’ve raised yours superbly…$" + +Route117_Text_29C498: @ 829C498 + .string "POKéMON isn’t all about power.\p" + .string "Polishing a unique aspect of one’s\n" + .string "character is another way of enjoying\l" + .string "POKéMON.$" + +Route117_Text_29C508: @ 829C508 + .string "I’m going to redouble my training.\n" + .string "Would you come look in on us?$" + +Route117_Text_29C549: @ 829C549 + .string "The POKéMON I’ve been raising are\n" + .string "looking good, just like before.$" + +Route117_Text_29C58B: @ 829C58B + .string "You know how to raise them properly.\n" + .string "You might have DAY CARE skills…$" + +Route117_Text_29C5D0: @ 829C5D0 + .string "Your POKéMON are growing good!\n" + .string "You should enter them in CONTESTS.$" + +Route117_Text_29C612: @ 829C612 + .string "Please, allow me to evaluate if you\n" + .string "have raised your POKéMON properly.$" + +Route117_Text_29C659: @ 829C659 + .string "Yes, they are growing properly.$" + +Route117_Text_29C679: @ 829C679 + .string "Try raising POKéMON with more\n" + .string "attention to their character traits.$" + +Route117_Text_29C6BC: @ 829C6BC + .string "I’m glad I met a superb TRAINER in you.\n" + .string "I hope to see you again.$" + +Route117_Text_29C6FD: @ 829C6FD + .string "Allow me to reevaluate if you have\n" + .string "raised your POKéMON properly.$" + +Route117_Text_29C73E: @ 829C73E + .string "They are growing admirably.$" + +Route117_Text_29C75A: @ 829C75A + .string "POKéMON seem to like different kinds\n" + .string "of {POKEBLOCK}S, depending on their nature.$" + +Route117_Text_29C7A5: @ 829C7A5 + .string "I’m in the middle of a triathlon, but,\n" + .string "whatever, let’s have a battle!$" + +Route117_Text_29C7EB: @ 829C7EB + .string "I ran out of energy!$" + +Route117_Text_29C800: @ 829C800 + .string "I may have blown it…\p" + .string "I might have dropped to last during\n" + .string "that battle…$" + +Route117_Text_29C846: @ 829C846 + .string "POKéMON have to be strong, too?\n" + .string "I’d like you to train me!$" + +Route117_Text_29C880: @ 829C880 + .string "I’m smack in the middle of a triathlon,\n" + .string "but I’m comfortably ahead.\l" + .string "Let’s make this a quick battle!$" + +Route117_Text_29C8E3: @ 829C8E3 + .string "I ran out of energy again!$" + +Route117_Text_29C8FE: @ 829C8FE + .string "I was tops in swimming and cycling,\n" + .string "but I’m not quite that confident with\l" + .string "POKéMON yet.$" + +Route117_Text_29C955: @ 829C955 + .string "I do my triathlon training with POKéMON,\n" + .string "so I’m pretty confident about my speed.$" + +Route117_Text_29C9A6: @ 829C9A6 + .string "I need to get more practices in,\n" + .string "I guess.$" + +Route117_Text_29C9D0: @ 829C9D0 + .string "Training is meaningful only if you\n" + .string "keep it up regularly.\p" + .string "Okay! I’ll resume my training!\n" + .string "Tomorrow!$" + +Route117_Text_29CA32: @ 829CA32 + .string "You appear to be training properly…\n" + .string "If you’d like, I’ll battle you later!$" + +Route117_Text_29CA7C: @ 829CA7C + .string "Are you keeping up with your training?\n" + .string "I sure am!\l" + .string "Let me show you the evidence!$" + +Route117_Text_29CACC: @ 829CACC + .string "I need to get more practices in,\n" + .string "I guess.$" + +Route117_Text_29CAF6: @ 829CAF6 + .string "I’ll resume training tomorrow.\n" + .string "Let’s battle again sometime!$" + +Route117_Text_29CB32: @ 829CB32 + .string "Once a BUG CATCHER!\n" + .string "And now a BUG MANIAC!\p" + .string "But my love for POKéMON remains\n" + .string "unchanged!$" + +Route117_Text_29CB87: @ 829CB87 + .string "My ineptitude also remains\n" + .string "unchanged…$" + +Route117_Text_29CBAD: @ 829CBAD + .string "All I did was follow my heart, and now\n" + .string "they call me a BUG MANIAC…\p" + .string "Still, I am an expert on BUG POKéMON,\n" + .string "so it’s only natural that they call me\l" + .string "a BUG MANIAC.$" + +Route117_Text_29CC4A: @ 829CC4A + .string "ANNA: I’m with my pretty junior student\n" + .string "partner. I have to do good!$" + +Route117_Text_29CC8E: @ 829CC8E + .string "ANNA: I’m with my pretty junior student\n" + .string "partner! Let me win!$" + +Route117_Text_29CCCB: @ 829CCCB + .string "ANNA: Your POKéMON have some good\n" + .string "combinations.\p" + .string "I’d say you’re second only to us!$" + +Route117_Text_29CD1D: @ 829CD1D + .string "ANNA: We can’t take this lying down!\n" + .string "You will come back, won’t you?$" + +Route117_Text_29CD61: @ 829CD61 + .string "ANNA: If you want to battle us,\n" + .string "bring two POKéMON with you.$" + +Route117_Text_29CD9D: @ 829CD9D + .string "MEG: I’m going to tag up with my super\n" + .string "senior student partner and beat you!$" + +Route117_Text_29CDE9: @ 829CDE9 + .string "MEG: Oh, no!\n" + .string "I’m sorry, ANNA! I let you down…$" + +Route117_Text_29CE17: @ 829CE17 + .string "MEG: I dragged ANNA down…\n" + .string "If I didn’t, she would have won!$" + +Route117_Text_29CE52: @ 829CE52 + .string "MEG: Do you only have one POKéMON?\n" + .string "We can’t battle with you, then.\p" + .string "We want to have a 2-on-2 battle.$" + +Route117_Text_29CEB6: @ 829CEB6 + .string "ANNA: I can’t keep losing in front of\n" + .string "my junior partner, right?$" + +Route117_Text_29CEF6: @ 829CEF6 + .string "ANNA: I couldn’t get into the groove.$" + +Route117_Text_29CF1C: @ 829CF1C + .string "ANNA: Your POKéMON have some good\n" + .string "combinations.\p" + .string "I’d say you’re second only to us!$" + +Route117_Text_29CF6E: @ 829CF6E + .string "ANNA: If you want to battle us,\n" + .string "bring two POKéMON with you.$" + +Route117_Text_29CFAA: @ 829CFAA + .string "MEG: I’m going to tag up with my\n" + .string "senior partner and win this time!$" + +Route117_Text_29CFED: @ 829CFED + .string "MEG: Too strong!$" + +Route117_Text_29CFFE: @ 829CFFE + .string "MEG: I battled together with my\n" + .string "senior partner, but we lost…\p" + .string "That’s so discouraging…$" + +Route117_Text_29D053: @ 829D053 + .string "MEG: Do you only have one POKéMON?\n" + .string "We can’t battle with you, then.\p" + .string "We want to have a 2-on-2 battle.$" + +Route117_Text_29D0B7: @ 829D0B7 + .string "Isn’t it nice? To battle while looking\n" + .string "at pretty flowers?$" + +Route117_Text_29D0F1: @ 829D0F1 + .string "Oh, that’s quite impressive!$" + +Route117_Text_29D10E: @ 829D10E + .string "It feels wonderful to go for a jog\n" + .string "while looking at flowers.$" + +Route117_Text_29D14B: @ 829D14B + .string "Let me demonstrate the power\n" + .string "hidden within a PSYCHIC POKéMON!$" + +Route117_Text_29D189: @ 829D189 + .string "Astonishing!$" + +Route117_Text_29D196: @ 829D196 + .string "PSYCHIC POKéMON are complex.\n" + .string "You should try catching some.$" + +Route117_Text_29D1D1: @ 829D1D1 + .string "Concentrate on getting the win.\n" + .string "That’s how I battle!$" + +Route117_Text_29D206: @ 829D206 + .string "I don’t waste any time being angry\n" + .string "over a loss--I would rather train.$" + +Route117_Text_29D24C: @ 829D24C + .string "I think that if you worry about losing,\n" + .string "you’re more likely to lose.$" + +Route118_Text_29D290: @ 829D290 + .string "The aroma of flowers has a magical\n" + .string "power. It cleanses us body and soul.$" + +Route118_Text_29D2D8: @ 829D2D8 + .string "Oh, dear me.\n" + .string "I seem to have lost.$" + +Route118_Text_29D2FA: @ 829D2FA + .string "Flowers, POKéMON…\n" + .string "I love whatever smells nice.\p" + .string "Stinky things…\n" + .string "I’ll pass.$" + +Route118_Text_29D343: @ 829D343 + .string "Sniff… That odor--it’s a POKéNAV!\n" + .string "We must register each other!$" + +Route118_Text_29D382: @ 829D382 + .string "Were you drawn here by the sweet\n" + .string "aroma?$" + +Route118_Text_29D3AA: @ 829D3AA + .string "The power of aroma…\n" + .string "It didn’t seem to do much.$" + +Route118_Text_29D3D9: @ 829D3D9 + .string "If you use a sweet aroma properly,\n" + .string "POKéMON will be attracted by it.$" + +Route118_Text_29D41D: @ 829D41D + .string "BIRD POKéMON that FLY elegantly in\n" + .string "the sky… They’re the best!$" + +Route118_Text_29D45B: @ 829D45B + .string "Urgh…\n" + .string "I crashed…$" + +Route118_Text_29D46C: @ 829D46C + .string "You’ve got great POKéMON.\n" + .string "I’ll have to train mine better.$" + +Route118_Text_29D4A6: @ 829D4A6 + .string "Take flight!\n" + .string "My BIRD POKéMON!$" + +Route118_Text_29D4C4: @ 829D4C4 + .string "They did take flight…$" + +Route118_Text_29D4DA: @ 829D4DA + .string "If they’d get stronger, they’d be able\n" + .string "to fly more freely…$" + +Route118_Text_29D515: @ 829D515 + .string "I’m a FISHERMAN, but also a TRAINER.\n" + .string "I’m raising the POKéMON I caught.$" + +Route118_Text_29D55C: @ 829D55C + .string "I thought I was doing okay in my\n" + .string "training…$" + +Route118_Text_29D587: @ 829D587 + .string "I couldn’t win by training POKéMON\n" + .string "while I fished…\p" + .string "Was I doing things in half measures?$" + +Route118_Text_29D5DF: @ 829D5DF + .string "For FISHERMEN, equipment is the key.\p" + .string "But for TRAINERS, the key ingredients\n" + .string "are POKéMON and heart, of course!$" + +Route118_Text_29D64C: @ 829D64C + .string "I was beaten in heart?$" + +Route118_Text_29D663: @ 829D663 + .string "Come to think of it, fishing is a battle\n" + .string "between a FISHERMAN and a POKéMON.$" + +Route118_Text_29D6AF: @ 829D6AF + .string "Let my melody rock your soul!$" + +Route118_Text_29D6CD: @ 829D6CD + .string "La-lalala…$" + +Route118_Text_29D6D8: @ 829D6D8 + .string "An electric guitar doesn’t always\n" + .string "have to be noisy…\p" + .string "It can be strummed to squeeze out\n" + .string "this heart-stirring melody…$" + +Route118_Text_29D74A: @ 829D74A + .string "When I compose better melodies,\n" + .string "you have to come listen, okay?$" + +Route118_Text_29D789: @ 829D789 + .string "A melody from my POKéMON and me…\n" + .string "Let us deliver it to your soul.$" + +Route118_Text_29D7CA: @ 829D7CA + .string "La-lalala…$" + +Route118_Text_29D7D5: @ 829D7D5 + .string "When I play, my emotions should reach\n" + .string "you through my electric guitar…$" + +Route118_Text_29D81B: @ 829D81B + .string "Go, go, go!\n" + .string "POKéMON 1, 2, and 3!$" + +Route118_Text_29D83C: @ 829D83C + .string "Come in, POKéMON! Are you okay?\n" + .string "POKéMON 1, 2, and 3?!$" + +Route118_Text_29D872: @ 829D872 + .string "Isn’t it cool that I have a POKéMON\n" + .string "battle team?\p" + .string "You can copy me--I don’t mind!$" + +Route119_Text_29D8C2: @ 829D8C2 + .string "We’re the MIMIC CIRCLE!\n" + .string "We MIMIC what you do!$" + +Route119_Text_29D8F0: @ 829D8F0 + .string "Whoopsie!\n" + .string "I lost!$" + +Route119_Text_29D902: @ 829D902 + .string "What’s so good about mimicry?\p" + .string "Fufufu…\n" + .string "You’ll never understand…$" + +Route119_Text_29D941: @ 829D941 + .string "So, we finally meet!\n" + .string "My BUG POKéMON will keep you company!$" + +Route119_Text_29D97C: @ 829D97C + .string "I wish we’d never met…$" + +Route119_Text_29D993: @ 829D993 + .string "I want to MIMIC you some more.\n" + .string "Can you hurry up and move?$" + +Route119_Text_29D9CD: @ 829D9CD + .string "If you step forward, we step forward.\p" + .string "If you turn right, we turn, too…$" + +Route119_Text_29DA14: @ 829DA14 + .string "But if you win, I lose…$" + +Route119_Text_29DA2C: @ 829DA2C + .string "I can’t MIMIC you winning the match.\n" + .string "That’s just impossible…\l" + .string "It’s burning me up…$" + +Route119_Text_29DA7D: @ 829DA7D + .string "Yep, you’ve finally caught me!\n" + .string "Or were you trying to avoid me?$" + +Route119_Text_29DABC: @ 829DABC + .string "Whoop, that was a great match!$" + +Route119_Text_29DADB: @ 829DADB + .string "We’re the MIMIC CIRCLE!\n" + .string "I hope you enjoyed our performance.$" + +Route119_Text_29DB17: @ 829DB17 + .string "You don’t know who I am, do you?\p" + .string "But, I also don’t know you.\n" + .string "So, we’ll battle!$" + +Route119_Text_29DB66: @ 829DB66 + .string "You’re pretty strong!$" + +Route119_Text_29DB7C: @ 829DB7C + .string "Until you go away somewhere, we’ll\n" + .string "keep on mimicking your every move.$" + +Route119_Text_29DBC2: @ 829DBC2 + .string "The MIMIC CIRCLE was formed by people\n" + .string "who like to MIMIC.\p" + .string "A battle starts the instant we meet!$" + +Route119_Text_29DC20: @ 829DC20 + .string "I give up!$" + +Route119_Text_29DC2B: @ 829DC2B + .string "Won’t you join our MIMIC CIRCLE?$" + +Route119_Text_29DC4C: @ 829DC4C + .string "Who has the knowledge and\n" + .string "the technique for survival?\p" + .string "POKéMON RANGERS, that’s who!$" + +Route119_Text_29DC9F: @ 829DC9F + .string "I didn’t have enough POKéMON\n" + .string "know-how…$" + +Route119_Text_29DCC6: @ 829DCC6 + .string "To break away from civilization and\n" + .string "awaken the wild spirit within!\p" + .string "That’s our vision.$" + +Route119_Text_29DD1C: @ 829DD1C + .string "I hope you’ll give me a rematch without\n" + .string "mocking my lack of knowledge.$" + +Route119_Text_29DD62: @ 829DD62 + .string "I’m going to regain my wild spirit by\n" + .string "being together with POKéMON.$" + +Route119_Text_29DDA5: @ 829DDA5 + .string "You’ve remained strong!$" + +Route119_Text_29DDBD: @ 829DDBD + .string "Believe in your POKéMON.\n" + .string "Believe in yourself.\p" + .string "The road will reveal itself to you.$" + +Route119_Text_29DE0F: @ 829DE0F + .string "Oh? Look at you.\p" + .string "For someone on an adventure,\n" + .string "you’re traveling awfully light.$" + +Route119_Text_29DE5D: @ 829DE5D + .string "Accidents happen when you’re not\n" + .string "prepared!$" + +Route119_Text_29DE88: @ 829DE88 + .string "You’re traveling light but you have\n" + .string "everything you need.\p" + .string "You’re on top of things mentally and\n" + .string "physically, too.$" + +Route119_Text_29DEF7: @ 829DEF7 + .string "Do you have a POKéNAV?\n" + .string "It’s a must-have tool for any TRAINER.\p" + .string "Oh, you do have one!\n" + .string "Let’s register each other, then!$" + +Route119_Text_29DF6B: @ 829DF6B + .string "How’s your journey with POKéMON\n" + .string "going?$" + +Route119_Text_29DF92: @ 829DF92 + .string "I’m still missing something…$" + +Route119_Text_29DFAF: @ 829DFAF + .string "In the same way that you, as a TRAINER,\n" + .string "rely on your POKéMON, your POKéMON\l" + .string "rely on you.$" + +Route119_Text_29E007: @ 829E007 + .string "The vast sky holds untold promise!\p" + .string "Nothing can compare to the sheer\n" + .string "exhilaration of flight!$" + +Route119_Text_29E063: @ 829E063 + .string "Down and out!$" + +Route119_Text_29E071: @ 829E071 + .string "My BIRD POKéMON made my dreams of\n" + .string "flying come true!$" + +Route119_Text_29E0A5: @ 829E0A5 + .string "I’ll show you the true potential of me\n" + .string "and my BIRD POKéMON!$" + +Route119_Text_29E0E1: @ 829E0E1 + .string "We lacked potential…$" + +Route119_Text_29E0F6: @ 829E0F6 + .string "Ever since I was a little kid, I always\n" + .string "admired BIRD POKéMON…$" + +Route119_Text_29E134: @ 829E134 + .string "To lurk in shadows, and live in\n" + .string "darkness… That is my destiny.\p" + .string "I emerge to challenge you!$" + +Route119_Text_29E18D: @ 829E18D + .string "I admit defeat!$" + +Route119_Text_29E19D: @ 829E19D + .string "Those defeated in battle withdraw\n" + .string "quietly back into the shadows.\l" + .string "That, too, is destiny…$" + +Route119_Text_29E1F5: @ 829E1F5 + .string "If you’re not on your guard,\n" + .string "you’re in for some pain!$" + +Route119_Text_29E22B: @ 829E22B + .string "You’re surprisingly good!$" + +Route119_Text_29E245: @ 829E245 + .string "My surprise attack ended in\n" + .string "failure…$" + +Route119_Text_29E26A: @ 829E26A + .string "To hide a tree, use a forest!$" + +Route119_Text_29E288: @ 829E288 + .string "I bow to your superiority.$" + +Route119_Text_29E2A3: @ 829E2A3 + .string "To hide a tree, use a forest!\n" + .string "To hide a POKéMON, use a POKéMON!\p" + .string "There is no deep, hidden meaning\n" + .string "to that.$" + +Route119_Text_29E30D: @ 829E30D + .string "You spoke to me…\n" + .string "So you want to challenge me!\p" + .string "Sure! I’ll try out the POKéMON I caught\n" + .string "while SURFING!$" + +Route119_Text_29E372: @ 829E372 + .string "I don’t have a clue about what it\n" + .string "takes to win.$" + +Route119_Text_29E3A2: @ 829E3A2 + .string "Go for a SURF on my POKéMON…\p" + .string "Then fish off its back…\p" + .string "It’s an indescribably luxuriant moment!$" + +Route119_Text_29E3FF: @ 829E3FF + .string "Hit me with a power chord!\n" + .string "Victory is mine!\l" + .string "It’s our time to shine, whoa, yeah!$" + +Route119_Text_29E44F: @ 829E44F + .string "You showed me who’s the boss!\n" + .string "We’ll have to take the loss, oh, no!$" + +Route119_Text_29E492: @ 829E492 + .string "Hit me with another power chord!\n" + .string "Leave me alone!\l" + .string "Your win you have to atone!$" + +Route119_Text_29E4DF: @ 829E4DF + .string "Hohoho!\n" + .string "I like kid TRAINERS!\l" + .string "Let’s have a good one!$" + +Route119_Text_29E513: @ 829E513 + .string "You’re pretty amazing!\n" + .string "Hohoho!$" + +Route119_Text_29E532: @ 829E532 + .string "Hohoho!\n" + .string "I’ll try emulating the pep of kid\l" + .string "TRAINERS like you!$" + +Route119_Text_29E56F: @ 829E56F + .string "Wherever and whenever I may be,\n" + .string "I always have my parasol in hand.$" + +Route119_Text_29E5B1: @ 829E5B1 + .string "Oh, but…\n" + .string "That’s not fair.$" + +Route119_Text_29E5CB: @ 829E5CB + .string "You’re asking if my parasol is heavy?\n" + .string "Your BAG is filled with more junk than\l" + .string "I ever carry around.$" + +Route120_Text_29E62D: @ 829E62D + .string "Do you have any moves that can strike\n" + .string "a flying POKéMON?$" + +Route120_Text_29E665: @ 829E665 + .string "You soared above me!$" + +Route120_Text_29E67A: @ 829E67A + .string "The move FLY is convenient,\n" + .string "don’t you think?\p" + .string "While the POKéMON is flying,\n" + .string "almost no moves can strike it.$" + +Route120_Text_29E6E3: @ 829E6E3 + .string "My POKéMON is strong!\n" + .string "How about yours?$" + +Route120_Text_29E70A: @ 829E70A + .string "Your POKéMON were stronger…$" + +Route120_Text_29E726: @ 829E726 + .string "A POKéMON that grows steadily is one\n" + .string "you can count on.$" + +Route120_Text_29E75D: @ 829E75D + .string "You can be counted on to get better.\n" + .string "I’d like to register you in my POKéNAV!$" + +Route120_Text_29E7AA: @ 829E7AA + .string "A POKéMON that grows steadily is one\n" + .string "you can count on.$" + +Route120_Text_29E7E1: @ 829E7E1 + .string "Your POKéMON are seriously strong.$" + +Route120_Text_29E804: @ 829E804 + .string "My POKéMON are growing stronger.\n" + .string "I have to grow stronger, too.$" + +Route120_Text_29E843: @ 829E843 + .string "I’ll check your POKéMON and see if\n" + .string "they’re fit for the outdoors.$" + +Route120_Text_29E884: @ 829E884 + .string "With POKéMON that strong, you’re in\n" + .string "no danger of needing rescue!$" + +Route120_Text_29E8C5: @ 829E8C5 + .string "To travel wherever your heart desires\n" + .string "with POKéMON…\l" + .string "That’s the joy of being a TRAINER.$" + +Route120_Text_29E91C: @ 829E91C + .string "How’s your physical fitness?\n" + .string "If you’re not fit, you could have a\l" + .string "rough time in critical situations.$" + +Route120_Text_29E980: @ 829E980 + .string "I’m totally fit, but…$" + +Route120_Text_29E996: @ 829E996 + .string "Fitness training is in my routine.\n" + .string "I always run with my POKéMON.$" + +Route120_Text_29E9D7: @ 829E9D7 + .string "… … … … … …\n" + .string "… … … … … …\l" + .string "Want to battle?$" + +Route120_Text_29E9FF: @ 829E9FF + .string "Lost it…$" + +Route120_Text_29EA08: @ 829EA08 + .string "… … … … … …\n" + .string "… … … … … …\l" + .string "I’ll try harder…$" + +Route120_Text_29EA31: @ 829EA31 + .string "… … … … … …\n" + .string "… … … … … …\l" + .string "Do you have a POKéNAV…?$" + +Route120_Text_29EA61: @ 829EA61 + .string "… … … … … …\n" + .string "… … … … … …\l" + .string "Want to battle again?$" + +Route120_Text_29EA8F: @ 829EA8F + .string "… … … … … …\n" + .string "I lost again…$" + +Route120_Text_29EAA9: @ 829EAA9 + .string "… … … … … …\n" + .string "… … … … … …\l" + .string "I’ll try harder…\l" + .string "For my precious BUG POKéMON…$" + +Route120_Text_29EAEF: @ 829EAEF + .string "POKéMON have many special abilities.\n" + .string "If you want to become a first-class\l" + .string "TRAINER, learn about them.$" + +Route120_Text_29EB53: @ 829EB53 + .string "You’re obviously thinking.$" + +Route120_Text_29EB6E: @ 829EB6E + .string "The special abilities of POKéMON\n" + .string "will make battle styles change.$" + +Route120_Text_29EBAF: @ 829EBAF + .string "Who might you be?\p" + .string "Are you perhaps searching for ancient\n" + .string "ruins that are rumored to possibly\l" + .string "exist according to legend?$" + +Route120_Text_29EC25: @ 829EC25 + .string "What a disgraceful setback…$" + +Route120_Text_29EC41: @ 829EC41 + .string "That giant rock… I would like to\n" + .string "believe it may indeed contain ancient\l" + .string "ruins. But I see no entrance.$" + +Route120_Text_29ECA6: @ 829ECA6 + .string "Why am I carrying this parasol?\p" + .string "I’ll tell you if you can win against me.$" + +Route120_Text_29ECEF: @ 829ECEF + .string "A parasol can’t ward off POKéMON\n" + .string "attacks…$" + +Route120_Text_29ED19: @ 829ED19 + .string "I don’t think strong sunlight is good\n" + .string "for my POKéMON.\l" + .string "So I shield them with my parasol.$" + +Route120_Text_29ED71: @ 829ED71 + .string "Me, POKéMON, and my parasol…\p" + .string "If any one of them is missing,\n" + .string "the picture of beauty will be ruined.$" + +Route120_Text_29EDD3: @ 829EDD3 + .string "You’ve completely ruined my beauty…$" + +Route120_Text_29EDF7: @ 829EDF7 + .string "A parasol wouldn’t suit you at all.\p" + .string "Why, something like this would only\n" + .string "get in your way.$" + +Route120_Text_29EE50: @ 829EE50 + .string "I will adopt the movements of POKéMON\n" + .string "and create new ninja techniques.$" + +Route120_Text_29EE97: @ 829EE97 + .string "The creation of new ninja techniques\n" + .string "is but a distant dream…$" + +Route120_Text_29EED4: @ 829EED4 + .string "Perhaps I ought to apprentice under\n" + .string "a ninja sensei.$" + +Route120_Text_29EF08: @ 829EF08 + .string "We ninja conceal ourselves under our\n" + .string "camouflage cloaks.\l" + .string "I bet you didn’t know where I was!$" + +Route120_Text_29EF63: @ 829EF63 + .string "I lost!\n" + .string "I should camouflage my shame!$" + +Route120_Text_29EF89: @ 829EF89 + .string "Our camouflage cloaks are all\n" + .string "handmade.$" + +Route120_Text_29EFB1: @ 829EFB1 + .string "If you don’t pay attention,\n" + .string "you could get hurt!$" + +Route120_Text_29EFE1: @ 829EFE1 + .string "Ouch!\n" + .string "I was the one to get hurt.$" + +Route120_Text_29F002: @ 829F002 + .string "I wonder… Should I evolve my POKéMON?\n" + .string "They’re cute the way they are, though.$" + +Route120_Text_29F04F: @ 829F04F + .string "Your party POKéMON…\n" + .string "Do you have different types?$" + +Route120_Text_29F080: @ 829F080 + .string "I’ve seen your policy in action!$" + +Route120_Text_29F0A1: @ 829F0A1 + .string "I think it’s awesome you’re so strong\n" + .string "battling with your favorite POKéMON.$" + +Route121_Text_29F0EC: @ 829F0EC + .string "Will you play with my delightfully\n" + .string "pretty POKéMON?$" + +Route121_Text_29F11F: @ 829F11F + .string "This isn’t what I meant!$" + +Route121_Text_29F138: @ 829F138 + .string "I’m going to a CONTEST in LILYCOVE.\p" + .string "My POKéMON should have no problem\n" + .string "sweeping the MASTER CLASS.$" + +Route121_Text_29F199: @ 829F199 + .string "With my POKéMON, I have traveled\n" + .string "to the world’s four corners.\p" + .string "You might say I have some confidence\n" + .string "in my abilities.$" + +Route121_Text_29F20D: @ 829F20D + .string "Ah, well played.$" + +Route121_Text_29F21E: @ 829F21E + .string "I would like to circle the globe once\n" + .string "again with my POKéMON.$" + +Route121_Text_29F25B: @ 829F25B + .string "Your POKéMON prowess is remarkable.\n" + .string "Allow me to register you as a memento.$" + +Route121_Text_29F2A6: @ 829F2A6 + .string "With my POKéMON, I have traveled\n" + .string "to the world’s four corners.\p" + .string "You might say I have some confidence\n" + .string "in my abilities.$" + +Route121_Text_29F31A: @ 829F31A + .string "Ah, well played.$" + +Route121_Text_29F32B: @ 829F32B + .string "Your POKéMON and you…\p" + .string "Your prowess together will be\n" + .string "considered strong, even overseas.$" + +Route121_Text_29F381: @ 829F381 + .string "There are powers beyond our\n" + .string "understanding in the world…$" + +Route121_Text_29F3B9: @ 829F3B9 + .string "I have lost…$" + +Route121_Text_29F3C6: @ 829F3C6 + .string "MT. PYRE…\n" + .string "There is a mysterious power\l" + .string "at work there…$" + +Route121_Text_29F3FB: @ 829F3FB + .string "KATE: Together, we’re fearless!\n" + .string "We’ll demonstrate how tough we are!$" + +Route121_Text_29F43F: @ 829F43F + .string "KATE: I blew it in front of my junior\n" + .string "student partner…$" + +Route121_Text_29F476: @ 829F476 + .string "KATE: When someone’s relying on me,\n" + .string "I get this urge to look cool in front\l" + .string "of them…$" + +Route121_Text_29F4C9: @ 829F4C9 + .string "KATE: If you’ve only got one POKéMON,\n" + .string "we can’t battle with you.\p" + .string "That would be bullying.$" + +Route121_Text_29F521: @ 829F521 + .string "JOY: Together, we’re fearless!\n" + .string "We’ll demonstrate how tough we are!$" + +Route121_Text_29F564: @ 829F564 + .string "JOY: Please forgive me, KATE!$" + +Route121_Text_29F582: @ 829F582 + .string "JOY: Ehehe, I’ll have to train with KATE,\n" + .string "my senior student partner, again.$" + +Route121_Text_29F5CE: @ 829F5CE + .string "JOY: You need at least two POKéMON\n" + .string "if you’re going to challenge us!$" + +Route121_Text_29F612: @ 829F612 + .string "Stop! Have a good look at my precious\n" + .string "POKéMON!$" + +Route121_Text_29F641: @ 829F641 + .string "Oh, how dare you!\n" + .string "Don’t take it so seriously!$" + +Route121_Text_29F66F: @ 829F66F + .string "Maybe I’ll go catch more POKéMON at\n" + .string "the SAFARI.$" + +Route121_Text_29F69F: @ 829F69F + .string "I took it easy on you this time!\n" + .string "It won’t be that way the next time!$" + +Route121_Text_29F6E4: @ 829F6E4 + .string "My precious POKéMON grew!\n" + .string "Have a good look!$" + +Route121_Text_29F710: @ 829F710 + .string "Oh, how dare you!\n" + .string "You still won’t take it easy!$" + +Route121_Text_29F740: @ 829F740 + .string "Maybe I’ll go catch more POKéMON at\n" + .string "the SAFARI.$" + +Route121_Text_29F770: @ 829F770 + .string "I have this routine.\n" + .string "Defeat five TRAINERS a day.\l" + .string "Guess what? You’re number five!$" + +Route121_Text_29F7C1: @ 829F7C1 + .string "No!\n" + .string "You’re horrid!$" + +Route121_Text_29F7D4: @ 829F7D4 + .string "I didn’t expect to lose this easily…\n" + .string "I’ll win next time!$" + +Route121_Text_29F80D: @ 829F80D + .string "That was total humiliation!\n" + .string "I won’t forget you…\l" + .string "Hand over your POKéNAV!$" + +Route121_Text_29F855: @ 829F855 + .string "I have this new routine.\n" + .string "Defeat ten TRAINERS a day.\l" + .string "Guess what? You’re number ten!$" + +Route121_Text_29F8A8: @ 829F8A8 + .string "Wait! That’s nasty!\n" + .string "I demand a rematch!$" + +Route121_Text_29F8D0: @ 829F8D0 + .string "An opponent I just can’t beat…\n" + .string "Snivel…\l" + .string "I can’t believe this is happening…$" + +Route121_Text_29F91A: @ 829F91A + .string "Can’t you see that I have all this\n" + .string "stuff with me?\p" + .string "Despite that, you still insist that\n" + .string "we battle?$" + +Route121_Text_29F97B: @ 829F97B + .string "Of course I lost!\n" + .string "I’m holding stuff in both hands!$" + +Route121_Text_29F9AE: @ 829F9AE + .string "I bought too much stuff at\n" + .string "the LILYCOVE DEPT. STORE.\p" + .string "It’s up the road from here.\n" + .string "I wish I had a BAG like yours.$" + +Route121_Text_29FA1E: @ 829FA1E + .string "There’s nothing I love more than\n" + .string "checking out other people’s POKéMON!$" + +Route121_Text_29FA64: @ 829FA64 + .string "Super awesome!$" + +Route121_Text_29FA73: @ 829FA73 + .string "They’re great, your POKéMON!\n" + .string "How do you raise them?$" + +Route121_Text_29FAA7: @ 829FAA7 + .string "I want everybody to see the POKéMON\n" + .string "I’ve raised!$" + +Route121_Text_29FAD8: @ 829FAD8 + .string "Wow!\n" + .string "Spectacular!$" + +Route121_Text_29FAEA: @ 829FAEA + .string "I raise every POKéMON with the same\n" + .string "love and care--I don’t pick favorites.$" + +Route121_Text_29FB35: @ 829FB35 + .string "My POKéMON have never tasted defeat!\n" + .string "On their next win, I’m entering them\l" + .string "in CONTESTS.$" + +Route121_Text_29FB8C: @ 829FB8C + .string "Oh, now what happened here?$" + +Route121_Text_29FBA8: @ 829FBA8 + .string "I may have to train my gang some more\n" + .string "before entering any CONTEST.$" + +Route123_Text_29FBEB: @ 829FBEB + .string "Want to determine how strong you are?\n" + .string "I’ll be the test!$" + +Route123_Text_29FC23: @ 829FC23 + .string "You passed with flying colors!$" + +Route123_Text_29FC42: @ 829FC42 + .string "To best even me…\n" + .string "Your strength is marvelous!$" + +Route123_Text_29FC6F: @ 829FC6F + .string "You seem to have a big collection\n" + .string "of GYM BADGES.\p" + .string "Let me see if you’re actually worthy of\n" + .string "those BADGES!$" + +Route123_Text_29FCD6: @ 829FCD6 + .string "Oh, you’re worthy, all right!$" + +Route123_Text_29FCF4: @ 829FCF4 + .string "You did your BADGES proud in that\n" + .string "match!$" + +Route123_Text_29FD1D: @ 829FD1D + .string "They say that good times are filled\n" + .string "with good aromas.$" + +Route123_Text_29FD53: @ 829FD53 + .string "Oh…\n" + .string "I smell the bitter scent of misery…$" + +Route123_Text_29FD7B: @ 829FD7B + .string "The BERRY MASTER’s garden is filled\n" + .string "with uplifting fragrances.$" + +Route123_Text_29FDBA: @ 829FDBA + .string "Being a psychic is about willpower.\p" + .string "I’ve willed myself not to lose to\n" + .string "anyone. That makes me strong!$" + +Route123_Text_29FE1E: @ 829FE1E + .string "I feel sad…$" + +Route123_Text_29FE2A: @ 829FE2A + .string "Being a psychic is about willpower.\n" + .string "I thought I wouldn’t lose to you…$" + +Route123_Text_29FE70: @ 829FE70 + .string "I sense it!\n" + .string "You and I shall battle again!\l" + .string "I can’t tell if I’ll win, though…\p" + .string "Let’s see your POKéNAV.$" + +Route123_Text_29FED4: @ 829FED4 + .string "I’ve convinced myself that I won’t\n" + .string "lose anymore. That makes me strong!$" + +Route123_Text_29FF1B: @ 829FF1B + .string "I feel sad…$" + +Route123_Text_29FF27: @ 829FF27 + .string "I should train at MT. PYRE…\n" + .string "I’ll never beat you this way…$" + +Route123_Text_29FF61: @ 829FF61 + .string "Don’t be too happy if your POKéMON\n" + .string "develop psychic powers.\p" + .string "You need to refine those powers to\n" + .string "make them really useful.$" + +Route123_Text_29FFD8: @ 829FFD8 + .string "Overwhelmed!$" + +Route123_Text_29FFE5: @ 829FFE5 + .string "We all have psychic powers.\n" + .string "We’ve just forgotten how to use them.$" + +Route123_Text_2A0027: @ 82A0027 + .string "I would like to face you again.\n" + .string "Is that okay with you?$" + +Route123_Text_2A005E: @ 82A005E + .string "Have you awoken the psychic powers\n" + .string "within you?$" + +Route123_Text_2A008D: @ 82A008D + .string "Astounding!$" + +Route123_Text_2A0099: @ 82A0099 + .string "Your power with POKéMON…\n" + .string "That could be a psychic power, too.$" + +Route123_Text_2A00D6: @ 82A00D6 + .string "MIU: Hello, TRAINER. I hope your\n" + .string "POKéMON won’t cry when they lose.$" + +Route123_Text_2A0119: @ 82A0119 + .string "MIU: Uh-oh, we lost.$" + +Route123_Text_2A012E: @ 82A012E + .string "MIU: TRAINER, your POKéMON are\n" + .string "strong because you are friends.$" + +Route123_Text_2A016D: @ 82A016D + .string "MIU: It’s no fun to battle if you\n" + .string "don’t have two POKéMON.$" + +Route123_Text_2A01A7: @ 82A01A7 + .string "YUKI: Okay!\n" + .string "We’re beating the TRAINER’s POKéMON!$" + +Route123_Text_2A01D8: @ 82A01D8 + .string "YUKI: Uh-oh, we lost.$" + +Route123_Text_2A01EE: @ 82A01EE + .string "YUKI: Why are you so strong?\n" + .string "We’ve never lost before.$" + +Route123_Text_2A0224: @ 82A0224 + .string "YUKI: It’s no fun to battle if you\n" + .string "don’t have two POKéMON.$" + +Route123_Text_2A025F: @ 82A025F + .string "MT. PYRE…\n" + .string "Where the spirits of POKéMON sleep…\l" + .string "Will your POKéMON sleep?$" + +Route123_Text_2A02A6: @ 82A02A6 + .string "Overflowing with vitality…$" + +Route123_Text_2A02C1: @ 82A02C1 + .string "MT. PYRE…\n" + .string "Where the spirits of POKéMON sleep…\p" + .string "It must overflow with a power that\n" + .string "soothes spirits…$" + +Route123_Text_2A0323: @ 82A0323 + .string "I’ll turn your lights out while\n" + .string "I rip through this tune!$" + +Route123_Text_2A035C: @ 82A035C + .string "Hey, hold it!\n" + .string "I was still playing the intro!$" + +Route123_Text_2A0389: @ 82A0389 + .string "You’re rock steady.\n" + .string "I’d like to write a tune about you.$" + +Route123_Text_2A03C1: @ 82A03C1 + .string "The next time, lend your ears to\n" + .string "the full tune, will you?$" + +Route123_Text_2A03FB: @ 82A03FB + .string "Today’s the day I’m going to do it!\n" + .string "I’ll turn out your lights before\l" + .string "I finish singing my song!$" + +Route123_Text_2A045A: @ 82A045A + .string "Hey, hold it!\n" + .string "I haven’t even hit the chorus!$" + +Route123_Text_2A0487: @ 82A0487 + .string "I thought you’d be so enthralled\n" + .string "by my tune, you’d lose.$" + +Route123_Text_2A04C0: @ 82A04C0 + .string "This is my awesome BUG POKéMON!\n" + .string "My big brother got it for me.$" + +Route123_Text_2A04FE: @ 82A04FE + .string "Waaaah!\n" + .string "You meanie!$" + +Route123_Text_2A0512: @ 82A0512 + .string "Don’t tell my brother I lost.\n" + .string "You have to keep it a secret!$" + +Route123_Text_2A054E: @ 82A054E + .string "My confidence will get a boost by\n" + .string "beating someone obviously strong!$" + +Route123_Text_2A0592: @ 82A0592 + .string "There goes my confidence…$" + +Route123_Text_2A05AC: @ 82A05AC + .string "They say that you can’t judge a person\n" + .string "by their appearance.\p" + .string "But often, their looks don’t lie…$" + +Route123_Text_2A060A: @ 82A060A + .string "Hello, child!\n" + .string "Can you spare some time?$" + +Route123_Text_2A0631: @ 82A0631 + .string "Ah, a mighty capable child!\n" + .string "Let me contribute to your allowance.$" + +Route123_Text_2A0672: @ 82A0672 + .string "Contribute to your allowance?\n" + .string "Wasn’t the prize money enough?$" + +Route123_Text_2A06AF: @ 82A06AF + .string "I have to tell you, BIRD POKéMON\n" + .string "are my obsession!\p" + .string "Birds are cool!\n" + .string "They’re the best!$" + +Route123_Text_2A0704: @ 82A0704 + .string "Even in defeat, BIRD POKéMON are cool!$" + +Route123_Text_2A072B: @ 82A072B + .string "I gather BIRD POKéMON feathers that\n" + .string "scatter during battles.\p" + .string "I’m going to make a hat with\n" + .string "BIRD POKéMON feathers.$" + +Route123_Text_2A079B: @ 82A079B + .string "When there are no TRAINERS around,\n" + .string "I let my POKéMON battle each other.\l" + .string "I watch them.$" + +Route123_Text_2A07F0: @ 82A07F0 + .string "I kind of like your POKéMON.$" + +Route123_Text_2A080D: @ 82A080D + .string "Hehe, I’m swiping your battling ideas!\n" + .string "I think they’ll make me better.$" + +Route123_Text_2A0854: @ 82A0854 + .string "I lay in ambush, and a TRAINER has\n" + .string "landed in my trap!$" + +Route123_Text_2A088A: @ 82A088A + .string "If you don’t lose, how am I supposed\n" + .string "to have fun playing ninja?$" + +Route123_Text_2A08CA: @ 82A08CA + .string "I’m going to ambush a weaker-looking\n" + .string "TRAINER next time.$" + +Route123_Text_2A0902: @ 82A0902 + .string "I just bought this parasol.\n" + .string "My cuteness should be up by a third!$" + +Route123_Text_2A0943: @ 82A0943 + .string "You’re better than me by about\n" + .string "five times!$" + +Route123_Text_2A096E: @ 82A096E + .string "Using accessories effectively is\n" + .string "the secret behind fashion appeal.$" + +Route124_Text_2A09B1: @ 82A09B1 + .string "Hey, are you lost at sea?\p" + .string "If you can beat my POKéMON,\n" + .string "I can serve as your pilot.$" + +Route124_Text_2A0A02: @ 82A0A02 + .string "I lost my bearings in battle!$" + +Route124_Text_2A0A20: @ 82A0A20 + .string "Many people lose their bearings at sea.\p" + .string "If you’re that sort, you should refer\n" + .string "to the POKéNAV’s MAP.$" + +Route124_Text_2A0A84: @ 82A0A84 + .string "Hm! You’re riding a POKéMON instead\n" + .string "of swimming yourself…\p" + .string "I am envious!$" + +Route124_Text_2A0ACC: @ 82A0ACC + .string "Oh!\n" + .string "I can’t…$" + +Route124_Text_2A0AD9: @ 82A0AD9 + .string "I’m getting chilled…\n" + .string "I’ve been in the water too long…\p" + .string "I wish I could ride a POKéMON like you…$" + +Route124_Text_2A0B37: @ 82A0B37 + .string "If you just float in the sea like\n" + .string "this, POKéMON come around to play.$" + +Route124_Text_2A0B7C: @ 82A0B7C + .string "Oh, darn.\n" + .string "I’ve gone and lost.$" + +Route124_Text_2A0B9A: @ 82A0B9A + .string "While swimming, I noticed that some\n" + .string "POKéMON attack, and some just watch.\p" + .string "I guess POKéMON have personalities\n" + .string "of their own.$" + +Route124_Text_2A0C14: @ 82A0C14 + .string "It’s only on a whim, but maybe I’ll get\n" + .string "you to register me in your POKéNAV.$" + +Route124_Text_2A0C60: @ 82A0C60 + .string "If you just float in the sea like this,\n" + .string "TRAINERS challenge you!$" + +Route124_Text_2A0CA0: @ 82A0CA0 + .string "That’s strange…\n" + .string "I lost again…$" + +Route124_Text_2A0CBE: @ 82A0CBE + .string "This has nothing to do with anything,\n" + .string "but maybe I’ll visit the TRICK HOUSE.$" + +Route124_Text_2A0D0A: @ 82A0D0A + .string "I’m growing bored of swimming…\n" + .string "How about a battle?$" + +Route124_Text_2A0D3D: @ 82A0D3D + .string "I had no idea that you were\n" + .string "this strong!$" + +Route124_Text_2A0D66: @ 82A0D66 + .string "All the effort you put in must have\n" + .string "made you this strong.$" + +Route124_Text_2A0DA0: @ 82A0DA0 + .string "Fufufufu… I dive deep underwater\n" + .string "to go deep under cover.\l" + .string "Plumbing the depths is where I excel!$" + +Route124_Text_2A0DFF: @ 82A0DFF + .string "Glub, glub, glub…\n" + .string "I’m sinking…$" + +Route124_Text_2A0E1E: @ 82A0E1E + .string "I have it on good authority that\n" + .string "there’s a DIVE spot around here.\p" + .string "It gives me the urge to go deep\n" + .string "again…$" + +Route124_Text_2A0E87: @ 82A0E87 + .string "LILA: Sigh…\p" + .string "Here I am in the sea, but who’s with me?\n" + .string "My little brother!\p" + .string "Let’s battle so I won’t have to dwell\n" + .string "on that!$" + +Route124_Text_2A0EFE: @ 82A0EFE + .string "LILA: ROY! It’s your fault we lost!\n" + .string "You’re in for it later!$" + +Route124_Text_2A0F3A: @ 82A0F3A + .string "LILA: Sigh…\p" + .string "If only it wasn’t my little brother\n" + .string "next to me, but a nice boyfriend…$" + +Route124_Text_2A0F8C: @ 82A0F8C + .string "LILA: You’re planning to battle us?\n" + .string "Not unless you have two POKéMON.$" + +Route124_Text_2A0FD1: @ 82A0FD1 + .string "ROY: My big sister is tough at POKéMON!\p" + .string "Don’t cry when you lose!$" + +Route124_Text_2A1012: @ 82A1012 + .string "ROY: Uh-oh…\n" + .string "My big sister will chew me out…$" + +Route124_Text_2A103E: @ 82A103E + .string "ROY: My big sister is really scary\n" + .string "when she gets angry.\p" + .string "That’s why she doesn’t have a\n" + .string "boyfriend.$" + +Route124_Text_2A109F: @ 82A109F + .string "ROY: Will you battle with us again?\n" + .string "But take it easy next time, okay?$" + +Route124_Text_2A10E5: @ 82A10E5 + .string "ROY: Did you want to battle us?\n" + .string "Bring two POKéMON, then.$" + +Route124_Text_2A111E: @ 82A111E + .string "LILA: Sigh…\p" + .string "Here I am in the sea, but who’s with me?\n" + .string "My little brother!\p" + .string "Oh, hi, it’s been a while. Let’s battle\n" + .string "so I won’t have to dwell on things!$" + +Route124_Text_2A11B2: @ 82A11B2 + .string "LILA: ROY!\n" + .string "It’s your fault we lost again!\p" + .string "We’re having a training session later!$" + +Route124_Text_2A1203: @ 82A1203 + .string "LILA: Sigh…\p" + .string "If I had a nice boyfriend, we’d beat\n" + .string "anyone with lovely combinations…$" + +Route124_Text_2A1255: @ 82A1255 + .string "LILA: You’re planning to battle us?\n" + .string "Not unless you have two POKéMON.$" + +Route124_Text_2A129A: @ 82A129A + .string "ROY: If we lose, I’ll catch heck.\n" + .string "I’m going to go totally all out!$" + +Route124_Text_2A12DD: @ 82A12DD + .string "ROY: Uh-oh…\n" + .string "My big sister will chew me out again.$" + +Route124_Text_2A130F: @ 82A130F + .string "ROY: My big sister is really scary\n" + .string "when she gets angry.\p" + .string "She’s going to make me train really\n" + .string "hard with POKéMON later…$" + +Route124_Text_2A1384: @ 82A1384 + .string "ROY: Did you want to battle us?\n" + .string "Bring two POKéMON, then.$" + +Route124_Text_2A13BD: @ 82A13BD + .string "Here I am swimming by my lonesome\n" + .string "on this wide, beautiful sea.\p" + .string "There’s no other word for it.\n" + .string "This is pathetic!$" + +Route124_Text_2A142C: @ 82A142C + .string "I’m feeling blue.\n" + .string "Blue as the sky…$" + +Route124_Text_2A144F: @ 82A144F + .string "I should chat up lady SWIMMERS\n" + .string "and invite them on a long swim.$" + +Route124_Text_2A148E: @ 82A148E + .string "I’m not going to lose to some\n" + .string "surfer TRAINER.$" + +Route124_Text_2A14BC: @ 82A14BC + .string "I’ve only got sweat in my eyes!\n" + .string "I am not crying!$" + +Route124_Text_2A14ED: @ 82A14ED + .string "You can find pretty colored shards\n" + .string "of things around here.$" + +Route125_Text_2A1527: @ 82A1527 + .string "I heard you approaching, so I hung\n" + .string "around for you!$" + +Route125_Text_2A155A: @ 82A155A + .string "I surrender!$" + +Route125_Text_2A1567: @ 82A1567 + .string "Sound travels faster in water than\n" + .string "it does through air.$" + +Route125_Text_2A159F: @ 82A159F + .string "Hey, there!\n" + .string "Check out my sweet POKéMON!$" + +Route125_Text_2A15C7: @ 82A15C7 + .string "I floundered…$" + +Route125_Text_2A15D5: @ 82A15D5 + .string "I was blown away by HORSEA’s charm,\n" + .string "so I started swimming, too.$" + +Route125_Text_2A1615: @ 82A1615 + .string "I’m tired of swimming.\n" + .string "Are you up for a battle with me?$" + +Route125_Text_2A164D: @ 82A164D + .string "You’re too much!$" + +Route125_Text_2A165E: @ 82A165E + .string "Whew…\n" + .string "Which way is it to MOSSDEEP CITY?$" + +Route125_Text_2A1686: @ 82A1686 + .string "How would you like to take on the\n" + .string "WATER-type POKéMON I raised?$" + +Route125_Text_2A16C5: @ 82A16C5 + .string "Lost it…$" + +Route125_Text_2A16CE: @ 82A16CE + .string "Your power… You’re the real deal.\n" + .string "I’m amazed!$" + +Route125_Text_2A16FC: @ 82A16FC + .string "Ahoy! I’m a buff, tough SAILOR!\n" + .string "I’ve braved the world’s seas!$" + +Route125_Text_2A173A: @ 82A173A + .string "Gwrroooar!\n" + .string "I couldn’t win!$" + +Route125_Text_2A1755: @ 82A1755 + .string "The tide ebbs and flows inside the\n" + .string "SHOAL CAVE.\p" + .string "By the way, it’s about six hours from\n" + .string "high tide to low tide. Did you know?$" + +Route125_Text_2A17CF: @ 82A17CF + .string "Register me in your POKéNAV,\n" + .string "and I’ll tell you something good.$" + +Route125_Text_2A180E: @ 82A180E + .string "It’s high time I get my payback\n" + .string "from you! Come on, we’re battling!$" + +Route125_Text_2A1851: @ 82A1851 + .string "I couldn’t win!\n" + .string "I flat out couldn’t win!$" + +Route125_Text_2A187A: @ 82A187A + .string "The SHOAL CAVE…\p" + .string "There are places you can and can’t\n" + .string "get to depending on the rise and fall\l" + .string "of the tide.\p" + .string "By the way, it’s about six hours from\n" + .string "high tide to low tide. Don’t forget!$" + +Route125_Text_2A192B: @ 82A192B + .string "KIM: A funny old man lives in the\n" + .string "SHOAL CAVE. Someone told me.\l" + .string "Are you going to see him, too?$" + +Route125_Text_2A1989: @ 82A1989 + .string "KIM: I thought we would win.$" + +Route125_Text_2A19A6: @ 82A19A6 + .string "KIM: A funny old man lives in the\n" + .string "SHOAL CAVE, doesn’t he?\p" + .string "Let’s go see him, IRIS!$" + +Route125_Text_2A19F8: @ 82A19F8 + .string "KIM: No, no, no! You need two POKéMON,\n" + .string "or it’s just no good!$" + +Route125_Text_2A1A35: @ 82A1A35 + .string "IRIS: KIM, can you tell me what we’re\n" + .string "looking for out here?$" + +Route125_Text_2A1A71: @ 82A1A71 + .string "IRIS: Oh, we came sort of close.$" + +Route125_Text_2A1A92: @ 82A1A92 + .string "IRIS: KIM, are we really going into\n" + .string "the SHOAL CAVE?\l" + .string "We’ll get all wet.$" + +Route125_Text_2A1AD9: @ 82A1AD9 + .string "IRIS: Oh, we could never, ever do\n" + .string "anything like a 2-on-1 battle.$" + +Route125_Text_2A1B1A: @ 82A1B1A + .string "Why would a BIRDKEEPER like me\n" + .string "come out to the sea?$" + +Route125_Text_2A1B4E: @ 82A1B4E + .string "Okay.\n" + .string "I’ll tell you why I’m here.$" + +Route125_Text_2A1B70: @ 82A1B70 + .string "I put a message in a bottle and put\n" + .string "it out to sea.\p" + .string "I’m sure that a girl SWIMMER will\n" + .string "find it!$" + +Route125_Text_2A1BCE: @ 82A1BCE + .string "Hey! Was it you throwing garbage\n" + .string "into the sea?$" + +Route125_Text_2A1BFD: @ 82A1BFD + .string "Oh, you weren’t throwing trash into\n" + .string "the sea.$" + +Route125_Text_2A1C2A: @ 82A1C2A + .string "I found an unsightly bottle bobbing\n" + .string "in the waves earlier.\p" + .string "It angers me that someone would\n" + .string "pollute the sea!$" + +Route126_Text_2A1C95: @ 82A1C95 + .string "Swimming is a full-body workout!\n" + .string "You will get fit!$" + +Route126_Text_2A1CC8: @ 82A1CC8 + .string "I admit it!\n" + .string "You win!$" + +Route126_Text_2A1CDD: @ 82A1CDD + .string "Thanks to my daily swimming routine…\n" + .string "Look! Feast your eyes on this physique!$" + +Route126_Text_2A1D2A: @ 82A1D2A + .string "This towering white mountain of rock\n" + .string "is SOOTOPOLIS CITY.$" + +Route126_Text_2A1D63: @ 82A1D63 + .string "I was done in?$" + +Route126_Text_2A1D72: @ 82A1D72 + .string "I can’t find the entrance to\n" + .string "SOOTOPOLIS. Where could it be?$" + +Route126_Text_2A1DAE: @ 82A1DAE + .string "Ufufufufu!\n" + .string "I’m a mermaid!$" + +Route126_Text_2A1DC8: @ 82A1DC8 + .string "My fantasy burst as if it were a bubble!\n" + .string "Blub, blub, blub…$" + +Route126_Text_2A1E03: @ 82A1E03 + .string "You thrashed me… I want to\n" + .string "disappear in a wave of despair…$" + +Route126_Text_2A1E3E: @ 82A1E3E + .string "Hello, kiddo!\n" + .string "Want a battle with me?$" + +Route126_Text_2A1E63: @ 82A1E63 + .string "Oh, noooooh!$" + +Route126_Text_2A1E70: @ 82A1E70 + .string "I love frolicking with POKéMON in\n" + .string "the sea like this!$" + +Route126_Text_2A1EA5: @ 82A1EA5 + .string "Check out this sculpted body!\n" + .string "I’m more cut than a BLACK BELT!$" + +Route126_Text_2A1EE3: @ 82A1EE3 + .string "Whoops! Too strong!\n" + .string "Not bad! Not bad at all!$" + +Route126_Text_2A1F10: @ 82A1F10 + .string "Losing to you stimulated my senses!\n" + .string "I’ll train myself and POKéMON harder!$" + +Route126_Text_2A1F5A: @ 82A1F5A + .string "Yep, you’re not bad at all!\n" + .string "I’d like to get to know you more!$" + +Route126_Text_2A1F98: @ 82A1F98 + .string "Check out this beautiful body!\n" + .string "I’m more shapely than a SWIMMER!$" + +Route126_Text_2A1FD8: @ 82A1FD8 + .string "Whoops! Really too strong!\n" + .string "Not bad! Not bad at all!$" + +Route126_Text_2A200C: @ 82A200C + .string "I’m going to train even harder!\n" + .string "You’re a great motivator!\l" + .string "You have to come back again!$" + +Route126_Text_2A2063: @ 82A2063 + .string "I couldn’t even swim last year,\n" + .string "but now I’m a decent SWIMMER.\p" + .string "I think I’m capable of anything now.$" + +Route126_Text_2A20C6: @ 82A20C6 + .string "Sheesh, getting greedy didn’t do\n" + .string "a thing for me.$" + +Route126_Text_2A20F7: @ 82A20F7 + .string "If you practice at something,\n" + .string "you will get better at it.\p" + .string "You’re young--don’t be afraid to\n" + .string "try all sorts of things!$" + +Route126_Text_2A216A: @ 82A216A + .string "If seawater gets up your nose,\n" + .string "doesn’t it feel terrible?$" + +Route126_Text_2A21A3: @ 82A21A3 + .string "Ack! Why, you…\n" + .string "Glub!$" + +Route126_Text_2A21B8: @ 82A21B8 + .string "Ooh, I choked on some water!\n" + .string "It’s bitter! It’s salty!!$" + +Route126_Text_2A21EF: @ 82A21EF + .string "I’m throwing my whole heart\n" + .string "into this!$" + +Route126_Text_2A2216: @ 82A2216 + .string "You had more heart!$" + +Route126_Text_2A222A: @ 82A222A + .string "I need to cool down now…\n" + .string "I think I’ll go for a dive.$" + +Route127_Text_2A225F: @ 82A225F + .string "I can see it in your face.\n" + .string "You want to challenge me.$" + +Route127_Text_2A2294: @ 82A2294 + .string "Awawawawawa…$" + +Route127_Text_2A22A1: @ 82A22A1 + .string "A well-played match leaves me feeling\n" + .string "refreshed and serene.$" + +Route127_Text_2A22DD: @ 82A22DD + .string "Do you have a rival whom you just\n" + .string "hate to lose against?$" + +Route127_Text_2A2315: @ 82A2315 + .string "Arrrgh!\n" + .string "I hate losing!$" + +Route127_Text_2A232C: @ 82A232C + .string "If you have a rival, don’t you get the\n" + .string "feeling that you have to keep getting\l" + .string "better?$" + +Route127_Text_2A2381: @ 82A2381 + .string "Through fishing, I have attained a\n" + .string "state of becalmed serenity…\p" + .string "Please, allow me to demonstrate…$" + +Route127_Text_2A23E1: @ 82A23E1 + .string "Though I have lost, my heart remains\n" + .string "calm…$" + +Route127_Text_2A240C: @ 82A240C + .string "It matters not that I catch nothing.\n" + .string "The line remains in the water…$" + +Route127_Text_2A2450: @ 82A2450 + .string "Whoops! Don’t tell me I snagged\n" + .string "a SURFING POKéMON?$" + +Route127_Text_2A2483: @ 82A2483 + .string "I can’t keep up!$" + +Route127_Text_2A2494: @ 82A2494 + .string "It’d be a handful if I hooked\n" + .string "your tough POKéMON!$" + +Route127_Text_2A24C6: @ 82A24C6 + .string "Well, hey! This is a match between\n" + .string "a POKéMON fan and a fishing buff!$" + +Route127_Text_2A250B: @ 82A250B + .string "No! My line’s all tangled!\n" + .string "The party’s over!$" + +Route127_Text_2A2538: @ 82A2538 + .string "My fishing line’s doing a dance!\n" + .string "The tangle tango! Hahaha, snarl!$" + +Route127_Text_2A257A: @ 82A257A + .string "BIRD POKéMON have excellent vision.\n" + .string "They spot prey from great heights.$" + +Route127_Text_2A25C1: @ 82A25C1 + .string "Whew… I give up.$" + +Route127_Text_2A25D2: @ 82A25D2 + .string "There’re lots of diving spots in\n" + .string "the sea around here.\p" + .string "You can spot them easily from the sky\n" + .string "because of their darker color.$" + +Route127_Text_2A264D: @ 82A264D + .string "Run in your bare feet.\n" + .string "That will toughen up your soles!$" + +Route127_Text_2A2685: @ 82A2685 + .string "Yowch!\n" + .string "I got a pebble under a toenail!$" + +Route127_Text_2A26AC: @ 82A26AC + .string "Going barefoot feels great.\n" + .string "But your RUNNING SHOES are cool, too.$" + +Route127_Text_2A26EE: @ 82A26EE + .string "This is what I do to people who beat me!\n" + .string "I hope we can do this again.$" + +Route127_Text_2A2734: @ 82A2734 + .string "I still run in my bare feet daily.\n" + .string "My soles are tough!$" + +Route127_Text_2A276B: @ 82A276B + .string "Yowch!\n" + .string "Pebbles dug into my arches!$" + +Route127_Text_2A278E: @ 82A278E + .string "Want to go barefoot for a while?\n" + .string "So I can try your RUNNING SHOES?$" + +Route127_Text_2A27D0: @ 82A27D0 + .string "We should have a slow and methodical\n" + .string "match.$" + +Route127_Text_2A27FC: @ 82A27FC + .string "You didn’t give me the chance to\n" + .string "do any strategizing.$" + +Route127_Text_2A2832: @ 82A2832 + .string "When I’m surrounded by the blue sea\n" + .string "and sky, it feels as if time slows down.$" + +Route128_Text_2A287F: @ 82A287F + .string "EVER GRANDE CITY is still a long ways\n" + .string "away…$" + +Route128_Text_2A28AB: @ 82A28AB + .string "My first victory seems to be far\n" + .string "away, too…$" + +Route128_Text_2A28D7: @ 82A28D7 + .string "My whole life has been about losing,\n" + .string "but I will never give up!$" + +Route128_Text_2A2916: @ 82A2916 + .string "I know I’m not good now, but I think\n" + .string "I can win eventually.\p" + .string "Please register me in your POKéNAV.$" + +Route128_Text_2A2975: @ 82A2975 + .string "I’m still feeling good. I’ll keep on\n" + .string "swimming to EVER GRANDE CITY.$" + +Route128_Text_2A29B8: @ 82A29B8 + .string "I’ve yet to taste my first victory…$" + +Route128_Text_2A29DC: @ 82A29DC + .string "I’ll eventually reach EVER GRANDE CITY\n" + .string "where I can eventually win…$" + +Route128_Text_2A2A1F: @ 82A2A1F + .string "You have to swim, cycle, and then run\n" + .string "a marathon in a triathlon.\p" + .string "It’s a grueling race that consists\n" + .string "of three events.$" + +Route128_Text_2A2A94: @ 82A2A94 + .string "A POKéMON battle is grueling, too…$" + +Route128_Text_2A2AB7: @ 82A2AB7 + .string "I have to ride a BIKE next, but…\n" + .string "I’m about to throw in the towel…$" + +Route128_Text_2A2AF9: @ 82A2AF9 + .string "Well, I may as well make the best\n" + .string "of this. I’d like a rematch sometime.$" + +Route128_Text_2A2B41: @ 82A2B41 + .string "A triathlon is long. But I guess the\n" + .string "road to become the POKéMON CHAMPION\l" + .string "is also a long and grueling one.$" + +Route128_Text_2A2BAB: @ 82A2BAB + .string "A POKéMON battle really is harsh\n" + .string "and unforgiving…$" + +Route128_Text_2A2BDD: @ 82A2BDD + .string "You should give serious thought to\n" + .string "challenges on VICTORY ROAD.$" + +Route128_Text_2A2C1C: @ 82A2C1C + .string "We’ve been working so hard to mount\n" + .string "a POKéMON LEAGUE challenge…\p" + .string "We can’t afford to lose now!$" + +Route128_Text_2A2C79: @ 82A2C79 + .string "Oh!\n" + .string "How could this happen?!$" + +Route128_Text_2A2C95: @ 82A2C95 + .string "After all I’ve done to get here,\n" + .string "I won’t give up after one setback.$" + +Route128_Text_2A2CD9: @ 82A2CD9 + .string "There is no stronger TRAINER than I!$" + +Route128_Text_2A2CFE: @ 82A2CFE + .string "This can’t be!$" + +Route128_Text_2A2D0D: @ 82A2D0D + .string "There probably is no stronger TRAINER\n" + .string "than you!$" + +Route128_Text_2A2D3D: @ 82A2D3D + .string "I want to visit EVER GRANDE, so I\n" + .string "caught myself a POKéMON that knows\l" + .string "the move WATERFALL to crest the falls.$" + +Route128_Text_2A2DA9: @ 82A2DA9 + .string "I’m crestfallen!$" + +Route128_Text_2A2DBA: @ 82A2DBA + .string "Awww, phooey!\p" + .string "My POKéMON knows WATERFALL, but\n" + .string "I don’t have the SOOTOPOLIS GYM BADGE!$" + +Route128_Text_2A2E0F: @ 82A2E0F + .string "You’re looking awfully tough.\n" + .string "I wonder if I can win?$" + +Route128_Text_2A2E44: @ 82A2E44 + .string "Ouch!\n" + .string "I guess it was impossible to win.$" + +Route128_Text_2A2E6C: @ 82A2E6C + .string "There are tough TRAINERS galore\n" + .string "around EVER GRANDE.\p" + .string "Do you think I may be out\n" + .string "of my league?$" + +Route128_Text_2A2EC8: @ 82A2EC8 + .string "The sunlight seems to be more harsh\n" + .string "in this area.$" + +Route128_Text_2A2EFA: @ 82A2EFA + .string "I couldn’t see very well because of\n" + .string "the sun’s glare.$" + +Route128_Text_2A2F2F: @ 82A2F2F + .string "I should go back soon.\n" + .string "I need to reapply my sunscreen.$" + +Route129_Text_2A2F66: @ 82A2F66 + .string "This is my first triathlon.\n" + .string "I’m all tense and nervous!$" + +Route129_Text_2A2F9D: @ 82A2F9D + .string "Wroooaaar!\n" + .string "I failed to win!$" + +Route129_Text_2A2FB9: @ 82A2FB9 + .string "If I’m all tensed up, I won’t be able to\n" + .string "give it my all.$" + +Route129_Text_2A2FF2: @ 82A2FF2 + .string "I’m in the middle of a triathlon,\n" + .string "but, sure, why don’t we battle?$" + +Route129_Text_2A3034: @ 82A3034 + .string "I was sure I’d win!$" + +Route129_Text_2A3048: @ 82A3048 + .string "Do you know what’s the greatest thing\n" + .string "about triathlons?\p" + .string "Testing the limits of your own\n" + .string "strength and endurance against\l" + .string "Mother Nature!$" + +Route129_Text_2A30CD: @ 82A30CD + .string "Say hey, hey!\n" + .string "Let’s get on with it!$" + +Route129_Text_2A30F1: @ 82A30F1 + .string "Beat, I’m beaten.\n" + .string "That’s it, done!$" + +Route129_Text_2A3114: @ 82A3114 + .string "There’s nothing for a loser.\n" + .string "Time for me to beat it home.$" + +Route129_Text_2A314E: @ 82A314E + .string "What’s the hurry?\n" + .string "Let’s take it slow and easy.$" + +Route129_Text_2A317D: @ 82A317D + .string "Oh, my.\n" + .string "I wanted to relax a little more…$" + +Route129_Text_2A31A6: @ 82A31A6 + .string "Don’t you hate making mistakes when\n" + .string "you’re in a rush?\p" + .string "That’s why I try to take things\n" + .string "slowly.$" + +Route129_Text_2A3204: @ 82A3204 + .string "Surfing isn’t as easy as it seems,\n" + .string "isn’t that right?$" + +Route129_Text_2A3239: @ 82A3239 + .string "Winning sure isn’t easy.$" + +Route129_Text_2A3252: @ 82A3252 + .string "You have your sights on the POKéMON\n" + .string "LEAGUE? Keep at it!$" + +Route130_Text_2A328A: @ 82A328A + .string "What a surprise! I didn’t expect to\n" + .string "see a TRAINER out in the sea.\p" + .string "I think we should battle!$" + +Route130_Text_2A32E6: @ 82A32E6 + .string "This kid’s awfully tough…$" + +Route130_Text_2A3300: @ 82A3300 + .string "Your eyes have that look of someone\n" + .string "who’s experienced harsh challenges\l" + .string "and won. It suits you well!$" + +Route130_Text_2A3363: @ 82A3363 + .string "In the deep blue sea,\n" + .string "my shattered blue heart finds\l" + .string "comfort among waves.$" + +Route130_Text_2A33AC: @ 82A33AC + .string "Like the vast blue sea,\n" + .string "the world of POKéMON spans\l" + .string "depths beyond belief.$" + +Route130_Text_2A33F5: @ 82A33F5 + .string "The world’s children dream\n" + .string "of one day becoming\l" + .string "the POKéMON CHAMPION.$" + +Route130_Text_2A343A: @ 82A343A + .string "Floating on the open sea like this…\n" + .string "It’s peaceful.$" + +Route130_Text_2A346D: @ 82A346D + .string "I needed to be a little less peaceful!$" + +Route130_Text_2A3494: @ 82A3494 + .string "Swimming and battling like this…\n" + .string "I’m one happy guy…$" + +Route131_Text_2A34C8: @ 82A34C8 + .string "The sea is teeming with POKéMON.\n" + .string "It’s not easy swimming, I tell you.$" + +Route131_Text_2A350D: @ 82A350D + .string "POKéMON raised by TRAINERS are\n" + .string "seriously tough…$" + +Route131_Text_2A353D: @ 82A353D + .string "Gasp… Gasp…\n" + .string "I’m wiped out…\p" + .string "The going’s easy. It’s the leaving\n" + .string "that’s the hard part.\p" + .string "Will I have any energy left to make\n" + .string "the return trip?$" + +Route131_Text_2A35C6: @ 82A35C6 + .string "The sea… The sea… The sea…\n" + .string "The sea as far as these eyes can see!\l" + .string "I’m sick and tired of the sea!$" + +Route131_Text_2A3626: @ 82A3626 + .string "Bleah!$" + +Route131_Text_2A362D: @ 82A362D + .string "Bored I am by the sea, but swim I must.\p" + .string "I’m a born swimmer!\n" + .string "That’s what I am.$" + +Route131_Text_2A367B: @ 82A367B + .string "Hi, sweetie, wait!\n" + .string "We should battle, you and I!$" + +Route131_Text_2A36AB: @ 82A36AB + .string "You’re tough in spite of the way\n" + .string "you look!$" + +Route131_Text_2A36D6: @ 82A36D6 + .string "Did you see a guy over there who whines\n" + .string "that he’s bored of the sea?\p" + .string "That’s all talk.\n" + .string "He’s hopelessly in love with the sea!$" + +Route131_Text_2A3751: @ 82A3751 + .string "Why do men love bathing suits so much?\p" + .string "They all ogle me!$" + +Route131_Text_2A378A: @ 82A378A + .string "I’m out of my depth!$" + +Route131_Text_2A379F: @ 82A379F + .string "Maybe it’s not my bathing suit that\n" + .string "makes men look. It must be my beauty!$" + +Route131_Text_2A37E9: @ 82A37E9 + .string "RELI: We’ll work together as siblings\n" + .string "to take you on!$" + +Route131_Text_2A381F: @ 82A381F + .string "RELI: We couldn’t win even though we\n" + .string "worked together…$" + +Route131_Text_2A3855: @ 82A3855 + .string "RELI: The people of PACIFIDLOG are\n" + .string "together with the sea and POKéMON from\l" + .string "the time they are born.$" + +Route131_Text_2A38B7: @ 82A38B7 + .string "RELI: You don’t have two POKéMON?\n" + .string "We can’t enjoy a battle, then.$" + +Route131_Text_2A38F8: @ 82A38F8 + .string "IAN: I’m doing my best together with\n" + .string "my sis!$" + +Route131_Text_2A3925: @ 82A3925 + .string "IAN: I did my best with my sis,\n" + .string "but we still couldn’t win…$" + +Route131_Text_2A3960: @ 82A3960 + .string "IAN: You know how PACIFIDLOG is\n" + .string "a floating town?\p" + .string "So, wherever there is the sea,\n" + .string "that’s a part of PACIFIDLOG!$" + +Route131_Text_2A39CD: @ 82A39CD + .string "IAN: If you have two POKéMON,\n" + .string "we’ll take you on!$" + +Route131_Text_2A39FE: @ 82A39FE + .string "If you can beat me, I’ll give you some\n" + .string "great information!$" + +Route131_Text_2A3A38: @ 82A3A38 + .string "Oh?\n" + .string "Did I lose?$" + +Route131_Text_2A3A48: @ 82A3A48 + .string "There is an odd place nearby.\n" + .string "There’s a huge tower there.\l" + .string "Why don’t you go take a look?$" + +Route131_Text_2A3AA0: @ 82A3AA0 + .string "The people of PACIFIDLOG are\n" + .string "a peaceful bunch.\p" + .string "They never get angry.\n" + .string "That goes for me, too.$" + +Route131_Text_2A3AFC: @ 82A3AFC + .string "Oops!$" + +Route131_Text_2A3B02: @ 82A3B02 + .string "Tch! …Oh, wait.\n" + .string "I’m not angry. Honestly!\p" + .string "But, boy, you’re strong!\n" + .string "Hahaha!$" + +Route132_Text_2A3B4C: @ 82A3B4C + .string "I used to catch colds all the time as\n" + .string "a kid, but I became totally fit after\l" + .string "I started swimming.$" + +Route132_Text_2A3BAC: @ 82A3BAC + .string "I crave more power…$" + +Route132_Text_2A3BC0: @ 82A3BC0 + .string "TRAINERS travel the fields and\n" + .string "mountains, so they must be fit, too.$" + +Route132_Text_2A3C04: @ 82A3C04 + .string "I try not to swim where the currents\n" + .string "are too strong.$" + +Route132_Text_2A3C39: @ 82A3C39 + .string "Oh, please, no!$" + +Route132_Text_2A3C49: @ 82A3C49 + .string "If I get swept away, I’ll lose all my\n" + .string "sense of place…$" + +Route132_Text_2A3C7F: @ 82A3C7F + .string "Win or lose, you’ll never know until\n" + .string "you try!$" + +Route132_Text_2A3CAD: @ 82A3CAD + .string "Waah!\n" + .string "I sank in defeat!$" + +Route132_Text_2A3CC5: @ 82A3CC5 + .string "I never battle when I know I’ll win.\n" + .string "I like to battle at the razor’s edge of\l" + .string "victory and defeat!$" + +Route132_Text_2A3D26: @ 82A3D26 + .string "I contemplate POKéMON 24 hours a day.\n" + .string "How could you possibly beat me?$" + +Route132_Text_2A3D6C: @ 82A3D6C + .string "I lose.\n" + .string "I will concede defeat.$" + +Route132_Text_2A3D8B: @ 82A3D8B + .string "Urggh…\n" + .string "You’re a POKéMON fanatic, aren’t you?\p" + .string "You must contemplate POKéMON 24 hours\n" + .string "a day, don’t you?$" + +Route132_Text_2A3DF0: @ 82A3DF0 + .string "I’m always with my husband,\n" + .string "but I can win even without him.$" + +Route132_Text_2A3E2C: @ 82A3E2C + .string "Oh, I guess I wasn’t good enough.$" + +Route132_Text_2A3E4E: @ 82A3E4E + .string "That young man over there looks just\n" + .string "like my husband when he was young.\p" + .string "He’s making me blush!$" + +Route132_Text_2A3EAC: @ 82A3EAC + .string "Someone’s been watching me intently.\n" + .string "Was it you?$" + +Route132_Text_2A3EDD: @ 82A3EDD + .string "Wow!\n" + .string "That’s pretty strong, all right!$" + +Route132_Text_2A3F03: @ 82A3F03 + .string "I can’t shake this feeling that\n" + .string "someone’s watching me.\p" + .string "I can’t concentrate!$" + +Route132_Text_2A3F4F: @ 82A3F4F + .string "Now where could my wife have gone?\n" + .string "I’m always with her.\l" + .string "I wonder if I can win on my own.$" + +Route132_Text_2A3FA8: @ 82A3FA8 + .string "Ah, I see that I couldn’t manage\n" + .string "to win on my own after all.$" + +Route132_Text_2A3FE5: @ 82A3FE5 + .string "My wife must be looking for me.\n" + .string "I’d best go find her right away.$" + +Route132_Text_2A4026: @ 82A4026 + .string "I liked training here by myself.\n" + .string "It’s awful that all these people came!$" + +Route132_Text_2A406E: @ 82A406E + .string "Okay! I won’t complain about other\n" + .string "people being here.$" + +Route132_Text_2A40A4: @ 82A40A4 + .string "I suppose I can partner up with that\n" + .string "old man and challenge that other team.$" + +Route133_Text_2A40F0: @ 82A40F0 + .string "Did the currents carry you here, too?\n" + .string "This must have been fated.\l" + .string "Let’s battle!$" + +Route133_Text_2A413F: @ 82A413F + .string "Strong!\n" + .string "Too much so!$" + +Route133_Text_2A4154: @ 82A4154 + .string "It’s just my luck that a tough TRAINER\n" + .string "like you would drift here…\l" + .string "I must be cursed…$" + +Route133_Text_2A41A8: @ 82A41A8 + .string "I’ve led a life of woe and misery…\n" + .string "I’ve been cast away, and this is where\l" + .string "I’ve drifted…$" + +Route133_Text_2A4200: @ 82A4200 + .string "Another loss…$" + +Route133_Text_2A420E: @ 82A420E + .string "A life adrift…\n" + .string "I don’t want it anymore!$" + +Route133_Text_2A4236: @ 82A4236 + .string "Welcome!\n" + .string "I’ve been expecting you!$" + +Route133_Text_2A4258: @ 82A4258 + .string "No! Please!$" + +Route133_Text_2A4264: @ 82A4264 + .string "A strong child TRAINER…\n" + .string "That’s so annoying!$" + +Route133_Text_2A4290: @ 82A4290 + .string "I want to win like everyone else, but I\n" + .string "won’t raise POKéMON like everyone else.$" + +Route133_Text_2A42E0: @ 82A42E0 + .string "Darn it!\n" + .string "My way is still too slack!$" + +Route133_Text_2A4304: @ 82A4304 + .string "It’s way more fun to do things the way\n" + .string "I want than to be like everybody else.\l" + .string "I mean, that’s obvious!$" + +Route133_Text_2A436A: @ 82A436A + .string "I came all the way out here with my\n" + .string "BIRD POKéMON.$" + +Route133_Text_2A439C: @ 82A439C + .string "You…\n" + .string "You’re stunningly cool!$" + +Route133_Text_2A43B9: @ 82A43B9 + .string "I’d like to go back to FORTREE,\n" + .string "but I’ve grown to like this place, too.$" + +Route133_Text_2A4401: @ 82A4401 + .string "I must have battled thousands\n" + .string "of times. I’ve lost count.$" + +Route133_Text_2A443A: @ 82A443A + .string "I may have lost thousands of times,\n" + .string "but a loss still stings.$" + +Route133_Text_2A4477: @ 82A4477 + .string "Keep at this, youngster. So you can\n" + .string "become like my husband and me.$" + +Route133_Text_2A44BA: @ 82A44BA + .string "Young people are too happy to go with\n" + .string "the flow. They’re without direction.$" + +Route133_Text_2A4505: @ 82A4505 + .string "You have a firm sense of purpose.$" + +Route133_Text_2A4527: @ 82A4527 + .string "Don’t let others lead you astray.\n" + .string "Don’t lose direction as you grow older.$" + +Route134_Text_2A4571: @ 82A4571 + .string "Even those POKéMON that can swim are\n" + .string "carried along by the rapid currents.$" + +Route134_Text_2A45BB: @ 82A45BB + .string "Aiyeeeeh!$" + +Route134_Text_2A45C5: @ 82A45C5 + .string "I think POKéMON enjoy the fast-running\n" + .string "currents around these parts.$" + +Route134_Text_2A4609: @ 82A4609 + .string "My LUVDISC are looking for a fun\n" + .string "match. Will you join us?$" + +Route134_Text_2A4643: @ 82A4643 + .string "Oopsie!$" + +Route134_Text_2A464B: @ 82A464B + .string "There’s a collector who’s after\n" + .string "the SCALES of LUVDISC.$" + +Route134_Text_2A4682: @ 82A4682 + .string "Okeydokey! That’s enough rest, gang!\n" + .string "It’s time for a match!$" + +Route134_Text_2A46BE: @ 82A46BE + .string "Tuckered out again…$" + +Route134_Text_2A46D2: @ 82A46D2 + .string "My BIRD POKéMON get tired quickly after\n" + .string "a long flight…$" + +Route134_Text_2A4709: @ 82A4709 + .string "You’re a POKéMON TRAINER.\n" + .string "No need for words. We battle now.$" + +Route134_Text_2A4745: @ 82A4745 + .string "… … … … … …\n" + .string "… … … … … …$" + +Route134_Text_2A475D: @ 82A475D + .string "It was I who challenged you, and yet\n" + .string "I lost. I am deeply shamed…$" + +Route134_Text_2A479E: @ 82A479E + .string "The savage tide in this area serves to\n" + .string "make us stronger than ever.$" + +Route134_Text_2A47E1: @ 82A47E1 + .string "I willingly concede defeat.$" + +Route134_Text_2A47FD: @ 82A47FD + .string "We will return for more training at\n" + .string "METEOR FALLS.\p" + .string "If you’d like, you should go, too.\n" + .string "It will definitely toughen you up!$" + +Route134_Text_2A4875: @ 82A4875 + .string "O-our boat!\n" + .string "The tide carried it away!$" + +Route134_Text_2A489B: @ 82A489B + .string "Awawawawah!\n" + .string "Please, stop! Please!$" + +Route134_Text_2A48BD: @ 82A48BD + .string "If we can’t SURF, how are we supposed\n" + .string "to get home?\p" + .string "Actually, I know a fainted POKéMON\n" + .string "can still SURF, but it feels wrong.$" + +Route134_Text_2A4937: @ 82A4937 + .string "Can your POKéMON dodge our\n" + .string "lightning-quick attacks?$" + +Route134_Text_2A496B: @ 82A496B + .string "I never knew such a technique existed!\n" + .string "You’ve defeated us thoroughly.$" + +Route134_Text_2A49B1: @ 82A49B1 + .string "I haven’t lost my passion for speed.\n" + .string "I will try harder.$" + +Route134_Text_2A49E9: @ 82A49E9 + .string "My POKéMON can’t be taken down\n" + .string "easily!$" + +Route134_Text_2A4A10: @ 82A4A10 + .string "You’re kidding!\n" + .string "Explain how I lost!$" + +Route134_Text_2A4A34: @ 82A4A34 + .string "Haha!\n" + .string "You won, all right!\p" + .string "I’ll work my way back up by taking on\n" + .string "TRAINERS I happen to meet!$" + +Route134_Text_2A4A8F: @ 82A4A8F + .string "Listen, have you seen another SAILOR\n" + .string "around here?$" + +Route134_Text_2A4AC1: @ 82A4AC1 + .string "Now, that’s something!$" + +Route134_Text_2A4AD8: @ 82A4AD8 + .string "Our boat drifted out to sea.\p" + .string "My buddy’s a timid fellow, so I’m\n" + .string "worried about him.$" diff --git a/data/text/tv.inc b/data/text/tv.inc index fa2d0ac737..9e339f8f64 100644 --- a/data/text/tv.inc +++ b/data/text/tv.inc @@ -1,3 +1,48 @@ +LilycoveCity_ContestLobby_Text_27EF15: @ 827EF15 + .string "Oh, hello! You were in a POKéMON\n" + .string "CONTEST, weren’t you?\l" + .string "It’s easy to tell from your POKéMON.\p" + .string "I’m a reporter. I’m working on a story\n" + .string "on POKéMON CONTESTS.\p" + .string "If I may, would you be willing to answer\n" + .string "a few questions?$" + +LilycoveCity_ContestLobby_Text_27EFE7: @ 827EFE7 + .string "Oh, you will?\n" + .string "Thank you.\p" + .string "Briefly, how would you describe the\n" + .string "CONTEST you just entered?$" + +LilycoveCity_ContestLobby_Text_27F03E: @ 827F03E + .string "Ah, I see.\n" + .string "That’s a very edifying comment.\p" + .string "You get a good feel for what\n" + .string "the CONTEST was like.\p" + .string "I’ve got one last question.\p" + .string "When you hear the word “{STR_VAR_2},”\n" + .string "what image do you get?$" + +LilycoveCity_ContestLobby_Text_27F0EC: @ 827F0EC + .string "I see!\p" + .string "So that’s how you imagine the concept\n" + .string "of “{STR_VAR_2}” to be.\p" + .string "Thank you!\n" + .string "You’ve given me some good ideas.\p" + .string "I think I can write a good story on\n" + .string "POKéMON CONTESTS now.\p" + .string "Maybe, just maybe, this story will even\n" + .string "make it to television.\l" + .string "I hope you’ll look forward to it!$" + +LilycoveCity_ContestLobby_Text_27F1EF: @ 827F1EF + .string "Oh, too bad…\p" + .string "Well, if you come across a good story,\n" + .string "please do share it with me.$" + +LilycoveCity_ContestLobby_Text_27F23F: @ 827F23F + .string "I’ll be looking forward to your next\n" + .string "POKéMON CONTEST.$" + gTVBravoTrainerText00:: @ 0827F275 .string "Yeah!\n" .string "It’s BRAVO TRAINER time!\p" @@ -63,6 +108,7 @@ gTVBravoTrainerText07:: @ 0827F65C gTVBravoTrainerText08:: @ 0827F6E6 .string "Introducing the TRAINER’s {STR_VAR_1}!$" +BattleFrontier_BattleTowerLobby_Text_27F704:: @ 0827F704 .string "Hello! You’re the TRAINER who just had\n" .string "a battle, right?\p" .string "I’m gathering interviews with TRAINERS\n" @@ -70,6 +116,7 @@ gTVBravoTrainerText08:: @ 0827F6E6 .string "May I get a few words from you about\n" .string "your impressions on battling?$" +BattleFrontier_BattleTowerLobby_Text_27F7BA:: @ 0827F7BA .string "You will? Really?\n" .string "Thank you!\l" .string "Then, uh…\p" @@ -78,37 +125,44 @@ gTVBravoTrainerText08:: @ 0827F6E6 .string "Were you satisfied with the battle?\n" .string "Or are you unhappy?$" +BattleFrontier_BattleTowerLobby_Text_27F84C:: @ 0827F84C .string "Oh…\n" .string "Sorry we disturbed you.\p" .string "Please give us an interview the next\n" .string "time you visit the BATTLE TOWER.$" +BattleFrontier_BattleTowerLobby_Text_27F8AE:: @ 0827F8AE .string "Well, of course!\p" .string "That unmistakable look of satisfaction\n" .string "on your face…\p" .string "It’s obvious that you’ve had a great\n" .string "battle.$" +BattleFrontier_BattleTowerLobby_Text_27F921:: @ 0827F921 .string "Oh, I see…\p" .string "Well, it certainly is difficult to make a\n" .string "battle turn out exactly as planned.$" +BattleFrontier_BattleTowerLobby_Text_27F97A:: @ 0827F97A .string "Oh, oh, may I ask one more question?\p" .string "If you were to describe your\n" .string "impressions about this battle with\l" .string "one saying, what would it be?$" +BattleFrontier_BattleTowerLobby_Text_27F9FD:: @ 0827F9FD .string "Oh, that is stunningly cool!\p" .string "That’s a great line!\n" .string "I hope you’ll do great next time, too.\p" .string "I hope to see you again!$" +BattleFrontier_BattleTowerLobby_Text_27FA6F:: @ 0827FA6F .string "Oh, I see…\p" .string "Still, being the silent type is also\n" .string "cool, isn’t it?\p" .string "I hope you’ll give me the opportunity\n" .string "to share your thoughts again!$" +BattleFrontier_BattleTowerLobby_Text_27FAF3:: @ 0827FAF3 .string "I’ll be looking forward to your\n" .string "next battle!$" @@ -215,6 +269,7 @@ gTVBravoTrainerBattleTowerText14:: @ 082801E6 .string "That’s all the time we have!\n" .string "Until next time, see you!$" +SlateportCity_PokemonFanClub_Text_280270: @ 08280270 .string "Wow!\p" .string "It’s plain to see that you lavish your\n" .string "love on your {STR_VAR_1}.\p" @@ -225,30 +280,36 @@ gTVBravoTrainerBattleTowerText14:: @ 082801E6 .string "Would you be willing to answer a few\n" .string "simple questions for me?$" +SlateportCity_PokemonFanClub_Text_28034F: @ 0828034F .string "Great! Thank you!\p" .string "Okay, here goes.\n" .string "I just need quick answers, okay?$" +SlateportCity_PokemonFanClub_Text_280393: @ 08280393 .string "When you first met {STR_VAR_1},\n" .string "what did you feel?\p" .string "How would you describe your feelings\n" .string "at the time?$" +SlateportCity_PokemonFanClub_Text_2803EF: @ 082803EF .string "Your {STR_VAR_1} is cared for lovingly.\p" .string "If you were to liken it to something\n" .string "that you like, what would it be?$" +SlateportCity_PokemonFanClub_Text_280454: @ 08280454 .string "This question also relates to your\n" .string "beloved {STR_VAR_1}.\p" .string "What was it about {STR_VAR_1} that\n" .string "attracted you?$" +SlateportCity_PokemonFanClub_Text_2804AC: @ 082804AC .string "Okay, that makes sense.\p" .string "The next question might be a little\n" .string "on the tough side.\p" .string "Here goes…\p" .string "What do POKéMON mean to you?$" +SlateportCity_PokemonFanClub_Text_280523: @ 08280523 .string "I see!\p" .string "Hmhm…\p" .string "Okay!\n" @@ -260,13 +321,16 @@ gTVBravoTrainerBattleTowerText14:: @ 082801E6 .string "Okay, that’s all.\n" .string "Bye-bye!$" +SlateportCity_PokemonFanClub_Text_2805E2: @ 082805E2 .string "Oh, okay…\p" .string "Well, if you get the urge to tell me\n" .string "about POKéMON, I’ll be here!$" +SlateportCity_PokemonFanClub_Text_28062E: @ 0828062E .string "I enjoy this job--you get to learn\n" .string "about POKéMON by doing interviews.$" +SlateportCity_PokemonFanClub_Text_280674: @ 08280674 .string "Hi, you seem to be very close to your\n" .string "{STR_VAR_1}.\p" .string "Do you know what?\n" @@ -276,10 +340,12 @@ gTVBravoTrainerBattleTowerText14:: @ 082801E6 .string "I’m wondering if you’d be willing to tell\n" .string "me a little about your {STR_VAR_1}?$" +SlateportCity_PokemonFanClub_Text_28073B: @ 0828073B .string "Wow, thank you!\p" .string "Okay, then, please tell me anything\n" .string "you’d like about your {STR_VAR_1}.$" +SlateportCity_PokemonFanClub_Text_280789: @ 08280789 .string "Wow…\n" .string "That’s an interesting account.\p" .string "You really are tight with {STR_VAR_1},\n" @@ -413,6 +479,7 @@ gTVFanClubText07:: @ 082810E7 .string "A-whoops, will you look at the time?\n" .string "Time to say good-bye until next time!$" +SlateportCity_OceanicMuseum_1F_Text_2811A0: @ 082811A0 .string "Oh?\n" .string "Do you perhaps like POKéMON?\p" .string "I’m on assignment with the TV network.\p" @@ -421,27 +488,32 @@ gTVFanClubText07:: @ 082810E7 .string "If you don’t mind, could you tell me\n" .string "something about yourself?$" +SlateportCity_OceanicMuseum_1F_Text_28126D: @ 0828126D .string "I’m gathering stories on POKéMON and\n" .string "TRAINERS that occurred recently.\p" .string "If you don’t mind, could you tell me\n" .string "something about yourself?$" +SlateportCity_OceanicMuseum_1F_Text_2812F2: @ 082812F2 .string "Oh, you will?\n" .string "Thank you!\p" .string "Then, please, tell me anything of\n" .string "interest that you experienced recently\l" .string "involving POKéMON.$" +SlateportCity_OceanicMuseum_1F_Text_281367: @ 08281367 .string "Oh, I see…\p" .string "Well, if you do have an interesting\n" .string "story to tell, please let me know.$" +SlateportCity_OceanicMuseum_1F_Text_2813B9: @ 082813B9 .string "Oh, what an uplifting story!\p" .string "I’ll be sure to get your story told\n" .string "on television.\p" .string "It should be aired sometime, I think,\n" .string "so please look forward to it.$" +SlateportCity_OceanicMuseum_1F_Text_28144D: @ 0828144D .string "Hmmm…\n" .string "I’ve got a good story for a TV program.\p" .string "I’d better write it up in a hurry!$" @@ -540,35 +612,44 @@ gTV3CheersForPokeblocksText05:: @ 08281B93 .string "Tune in next time!\n" .string "Our slogan is “3 CHEERS FOR {POKEBLOCK}S!”$" +LilycoveCity_PokemonTrainerFanClub_Text_281BCB:: @ 8281BCB .string "Hi, there!\p" .string "I’m a big fan of {STR_VAR_1}.\n" .string "What’s your opinion of {STR_VAR_1}?$" +LilycoveCity_PokemonTrainerFanClub_Text_281C06:: @ 8281C06 .string "I see, I see. That’s what you think\n" .string "about the TRAINER.$" +LilycoveCity_PokemonTrainerFanClub_Text_281C3D:: @ 8281C3D .string "Have you completely forgotten\n" .string "about {STR_VAR_1}?$" +LilycoveCity_PokemonTrainerFanClub_Text_281C65:: @ 8281C65 .string "I’m a big fan of {STR_VAR_1}.\n" .string "What’s your opinion of {STR_VAR_1}?$" +LilycoveCity_PokemonTrainerFanClub_Text_281C95:: @ 8281C95 .string "How strong would you rate {STR_VAR_1}\n" .string "on a scale of one hundred?$" +LilycoveCity_PokemonTrainerFanClub_Text_281CCD:: @ 8281CCD .string "Have you completely forgotten\n" .string "about {STR_VAR_1}?$" +LilycoveCity_PokemonTrainerFanClub_Text_281CF5:: @ 8281CF5 .string "Oh, I see!\n" .string "You should meet {STR_VAR_1} sometime.\l" .string "I’m sure you’ll become a fan, too!$" +LilycoveCity_PokemonTrainerFanClub_Text_281D40:: @ 8281D40 .string "I see, I see.\p" .string "Thank you!\n" .string "That’s very useful to know.\p" .string "I’ll share this information with other\n" .string "{STR_VAR_1} fans and discuss it.$" +LilycoveCity_PokemonTrainerFanClub_Text_281DB4:: @ 8281DB4 .string "There’s going to be a TV special on\n" .string "{STR_VAR_1} very soon.\p" .string "I hope you catch it!$" @@ -2613,19 +2694,25 @@ gTVPokemonBattleUpdateText07:: @ 0828AE26 .string "This concludes this episode of\n" .string "“POKéMON BATTLE UPDATE!”$" +Route111_Text_28AF05: @ 0828AF05 .string "GABBY: Oh! We’ve just spotted a tough-\n" .string "looking TRAINER here of all places!\p" .string "Okay, roll camera!\n" .string "Let’s get this interview.$" +Route111_Text_28AF7D: @ 0828AF7D +Route118_Text_28AF7D: @ 0828AF7D +Route120_Text_28AF7D: @ 0828AF7D .string "GABBY: Oh! You’re {PLAYER}! Hi!\n" .string "Do you remember us from last time?\p" .string "Can you show us how much stronger\n" .string "you’ve become? Okay, cue interview!$" +Route111_Text_28B000: @ 0828B000 .string "GABBY: My eyes didn’t lie!\n" .string "I did discover an astonishing TRAINER!$" +Route111_Text_28B042: @ 0828B042 .string "GABBY: Awesome! Awesome!\n" .string "Who are you?!\p" .string "I knew we were onto something wild\n" @@ -2636,16 +2723,19 @@ gTVPokemonBattleUpdateText07:: @ 0828AE26 .string "So, would you give us a bit of your time\n" .string "for an interview?$" +Route111_Text_28B137: @ 0828B137 .string "GABBY: “{STR_VAR_1}!”\p" .string "Remember? That’s the quote you gave\n" .string "us as the battle clincher last time.\p" .string "I never, ever forget stuff like that!$" +Route111_Text_28B1B3: @ 0828B1B3 .string "The last time we battled, you stomped\n" .string "us before we could brace ourselves…\p" .string "Anyway, what do you think?\n" .string "Do you want to be interviewed again?$" +Route111_Text_28B23D: @ 0828B23D .string "The last time we battled, didn’t you\n" .string "throw a POKé BALL at us?\p" .string "We were shocked! So we told everyone,\n" @@ -2653,25 +2743,30 @@ gTVPokemonBattleUpdateText07:: @ 0828AE26 .string "Anyway, what do you think?\n" .string "Do you want to be interviewed again?$" +Route111_Text_28B2FA: @ 0828B2FA .string "The last time we battled, your item\n" .string "skills cleverly did us in.\p" .string "Anyway, what do you think?\n" .string "Do you want to be interviewed again?$" +Route111_Text_28B379: @ 0828B379 .string "The last time we battled, we managed\n" .string "to look respectable.\p" .string "Anyway, what do you think?\n" .string "Do you want to be interviewed again?$" +Route111_Text_28B3F3: @ 0828B3F3 .string "Anyway, what do you think?\n" .string "Do you want to be interviewed again?$" +Route111_Text_28B433: @ 0828B433 .string "You will?\n" .string "Thank you!\p" .string "Okay, I need you to describe your\n" .string "feelings about our battle, but it\l" .string "has to be short and sweet. Go!$" +Route111_Text_28B4AB: @ 0828B4AB .string "GABBY: Mmm, yeah!\n" .string "That’s the perfect clincher!\p" .string "I get the feeling that this will make\n" @@ -2681,16 +2776,24 @@ gTVPokemonBattleUpdateText07:: @ 0828AE26 .string "Okay!\n" .string "We’ll be seeing you!$" +Route111_Text_28B577: @ 0828B577 .string "GABBY: Oh…\p" .string "Okay, but don’t give up!\n" .string "We’ll be keeping an eye out for you!$" +Route111_Text_28B5C0: @ 0828B5C0 +Route118_Text_28B5C0: @ 0828B5C0 +Route120_Text_28B5C0: @ 0828B5C0 .string "GABBY: We’ll be keeping an eye out\n" .string "for you!$" +Route111_Text_28B5EC: @ 0828B5EC +Route118_Text_28B5EC: @ 0828B5EC +Route120_Text_28B5EC: @ 0828B5EC .string "GABBY: Is there a strong TRAINER\n" .string "anywhere with a lot of POKéMON?$" +Route111_Text_28B62D: @ 0828B62D .string "GABBY: Wow, you are something!\p" .string "You’ve gotten a lot stronger--a lot--\n" .string "since we last battled.\p" @@ -2700,29 +2803,46 @@ gTVPokemonBattleUpdateText07:: @ 0828AE26 .string "Are you willing to give us an interview\l" .string "this time?$" +Route111_Text_28B719: @ 0828B719 +Route118_Text_28B719: @ 0828B719 +Route120_Text_28B719: @ 0828B719 .string "GABBY: That was an intense battle!\n" .string "Did you get all that on camera?$" +Route111_Text_28B75C: @ 0828B75C .string "TY: Hey, lookie here! A tough-looking\n" .string "TRAINER here, of all places!\l" .string "Camera’s rolling!$" +Route111_Text_28B7B1: @ 0828B7B1 +Route118_Text_28B7B1: @ 0828B7B1 +Route120_Text_28B7B1: @ 0828B7B1 .string "TY: Hey, lookie here!\n" .string "I remember you!\p" .string "I’ll get this battle all on this\n" .string "here camera!$" +Route111_Text_28B805: @ 0828B805 +Route118_Text_28B805: @ 0828B805 +Route120_Text_28B805: @ 0828B805 .string "TY: You’re a natural!\n" .string "Got me some prime footage right here!$" +Route111_Text_28B841: @ 0828B841 +Route118_Text_28B841: @ 0828B841 +Route120_Text_28B841: @ 0828B841 .string "TY: Do you only have the one POKéMON\n" .string "and that’s it?\p" .string "If you had more POKéMON, it’d make for\n" .string "better footage, but…$" +Route111_Text_28B8B1: @ 0828B8B1 .string "TY: Yep, we sure spotted a hot TRAINER.\n" .string "This is a huge scoop for us!$" +Route111_Text_28B8F6: @ 0828B8F6 +Route118_Text_28B8F6: @ 0828B8F6 +Route120_Text_28B8F6: @ 0828B8F6 .string "TY: Yep, I got it all.\n" .string "That whole battle’s on camera.$" diff --git a/data/text_input_strings.s b/data/text_input_strings.s new file mode 100644 index 0000000000..7219051a74 --- /dev/null +++ b/data/text_input_strings.s @@ -0,0 +1,146 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 + +gUnknown_862B810:: @ 862B810 + .string "{CLEAR 11}A{CLEAR 6}B{CLEAR 6}C{CLEAR 26}D{CLEAR 6}E{CLEAR 6}F{CLEAR 26}others$" + +gUnknown_862B832:: @ 862B832 + .string "{CLEAR 11}G{CLEAR 6}H{CLEAR 6}I{CLEAR 26}J{CLEAR 6}K{CLEAR 6}L$" + +gUnknown_862B84B:: @ 862B84B + .string "{CLEAR 11}M{CLEAR 6}N{CLEAR 6}O{CLEAR 26}P{CLEAR 6}Q{CLEAR 6}R{CLEAR 6}S{CLEAR 26} $" + +gUnknown_862B86C:: @ 862B86C + .string "{CLEAR 11}T{CLEAR 6}U{CLEAR 6}V{CLEAR 26}W{CLEAR 6}X{CLEAR 6}Y{CLEAR 6}Z{CLEAR 26} $" + +gUnknown_0862B88D:: @ 862B88D + .string "{CLEAR 11}a{CLEAR 6}b{CLEAR 6}c{CLEAR 26}d{CLEAR 6}e{CLEAR 6}f{CLEAR 6} {CLEAR 30}.$" + +gUnknown_0862B8AE:: @ 862B8AE + .string "{CLEAR 11}g{CLEAR 6}h{CLEAR 7}i{CLEAR 27}j{CLEAR 7}k{CLEAR 7}l{CLEAR 7} {CLEAR 30},$" + +gUnknown_0862B8CF:: @ 862B8CF + .string "{CLEAR 11}m{CLEAR 6}n{CLEAR 6}o{CLEAR 26}p{CLEAR 6}q{CLEAR 7}r{CLEAR 6}s{CLEAR 27} $" + +gUnknown_0862B8F0:: @ 862B8F0 + .string "{CLEAR 11}t{CLEAR 6}u{CLEAR 6}v{CLEAR 26}w{CLEAR 6}x{CLEAR 6}y{CLEAR 6}z{CLEAR 26} $" + +gUnknown_0862B911:: @ 862B911 + .string "{CLEAR 11}A{CLEAR 6}B{CLEAR 6}C{CLEAR 26}D{CLEAR 6}E{CLEAR 6}F{CLEAR 6} {CLEAR 30}.$" + +gUnknown_0862B932:: @ 862B932 + .string "{CLEAR 11}G{CLEAR 6}H{CLEAR 6}I{CLEAR 26}J{CLEAR 6}K{CLEAR 6}L{CLEAR 6} {CLEAR 30},$" + +gUnknown_0862B953:: @ 862B953 + .string "{CLEAR 11}M{CLEAR 6}N{CLEAR 6}O{CLEAR 26}P{CLEAR 6}Q{CLEAR 6}R{CLEAR 6}S{CLEAR 26} $" + +gUnknown_0862B974:: @ 862B974 + .string "{CLEAR 11}T{CLEAR 6}U{CLEAR 6}V{CLEAR 26}W{CLEAR 6}X{CLEAR 6}Y{CLEAR 6}Z{CLEAR 26} $" + +gUnknown_0862B995:: @ 862B995 + .string "{CLEAR 11}0{CLEAR 16}1{CLEAR 16}2{CLEAR 16}3{CLEAR 16}4{CLEAR 16} $" + +gUnknown_0862B9AE:: @ 862B9AE + .string "{CLEAR 11}5{CLEAR 16}6{CLEAR 16}7{CLEAR 16}8{CLEAR 16}9{CLEAR 16} $" + +gUnknown_0862B9C7:: @ 862B9C7 + .string "{CLEAR 12}!{CLEAR 17}?{CLEAR 16}♂{CLEAR 16}♀{CLEAR 16}/{CLEAR 17}-$" + +gUnknown_0862B9E0:: @ 862B9E0 + .string "{CLEAR 11}…{CLEAR 16}“{CLEAR 16}”{CLEAR 18}‘{CLEAR 19}’{CLEAR 18} $" + +gUnknown_0862B9F9:: @ 862B9F9 + .string "ABCDE$" + +gUnknown_0862B9FF:: @ 862B9FF + .string "FGHIJ$" + +gUnknown_0862BA05:: @ 862BA05 + .string "KLMNO$" + +gUnknown_0862BA0B:: @ 862BA0B + .string "PQRST$" + +gUnknown_0862BA11:: @ 862BA11 + .string "UVWXY$" + +gUnknown_0862BA17:: @ 862BA17 + .string "Z $" + +gUnknown_0862BA1D:: @ 862BA1D + .string "01234$" + +gUnknown_0862BA23:: @ 862BA23 + .string "56789$" + +gUnknown_0862BA29:: @ 862BA29 + .string ".,!? $" + +gUnknown_0862BA2F:: @ 862BA2F + .string "-/&… $" + +gUnknown_0862BA35:: @ 862BA35 + .string "abcde$" + +gUnknown_0862BA3B:: @ 862BA3B + .string "fghij$" + +gUnknown_0862BA41:: @ 862BA41 + .string "klmno$" + +gUnknown_0862BA47:: @ 862BA47 + .string "pqrst$" + +gUnknown_0862BA4D:: @ 862BA4D + .string "uvwxy$" + +gUnknown_0862BA53:: @ 862BA53 + .string "z $" + +gUnknown_0862BA59:: @ 862BA59 + .string "01234$" + +gUnknown_0862BA5F:: @ 862BA5F + .string "56789$" + +gUnknown_0862BA65:: @ 862BA65 + .string ".,!? $" + +gUnknown_0862BA6B:: @ 862BA6B + .string "-/&… $" + + .string "$$$$$$$$" + +gUnknown_0862BA79:: @ 862BA79 + .string "{UNK_CTRL_F9 245}{UNK_CTRL_F9 246}{UNK_CTRL_F9 247}{UNK_CTRL_F9 248}{UNK_CTRL_F9 254}$" + +gUnknown_0862BA84:: @ 862BA84 + .string "{UNK_CTRL_F9 249}{UNK_CTRL_F9 250}{UNK_CTRL_F9 252}{UNK_CTRL_F9 251}{UNK_CTRL_F9 253}$" + +gUnknown_0862BA8F:: @ 862BA8F + .string "{UNK_CTRL_F9 236}{UNK_CTRL_F9 237}{UNK_CTRL_F9 238}{UNK_CTRL_F9 235}{UNK_CTRL_F9 234}$" + +gUnknown_0862BA9A:: @ 862BA9A + .string "♂♀{UNK_CTRL_F9 212}{UNK_CTRL_F9 213}{UNK_CTRL_F9 211}$" + +gUnknown_0862BAA3:: @ 862BAA3 + .string "{UNK_CTRL_F9 216}{UNK_CTRL_F9 217}{UNK_CTRL_F9 242}{UNK_CTRL_F9 243}{UNK_CTRL_F9 244}$" + +gUnknown_0862BAAE:: @ 862BAAE + .string "{UNK_CTRL_F9 218}{UNK_CTRL_F9 241}{UNK_CTRL_F9 224}{UNK_CTRL_F9 226}{UNK_CTRL_F9 227}$" + +gUnknown_0862BAB9:: @ 862BAB9 + .string "{UNK_CTRL_F9 240}{UNK_CTRL_F9 239}{UNK_CTRL_F9 225}{UNK_CTRL_F9 214}{UNK_CTRL_F9 215}$" + +gUnknown_0862BAC4:: @ 862BAC4 + .string "{UNK_CTRL_F9 228}{UNK_CTRL_F9 229}{UNK_CTRL_F9 230}{UNK_CTRL_F9 231}{UNK_CTRL_F9 232}$" + +gUnknown_0862BACF:: @ 862BACF + .string "{UNK_CTRL_F9 233}{UNK_CTRL_F9 220}{UNK_CTRL_F9 221}{UNK_CTRL_F9 222}{UNK_CTRL_F9 209}$" + +gUnknown_0862BADA:: @ 862BADA + .string "{UNK_CTRL_F9 210}{UNK_CTRL_F9 208}ょ: $" diff --git a/data/text_window.s b/data/text_window.s deleted file mode 100644 index a7389572bf..0000000000 --- a/data/text_window.s +++ /dev/null @@ -1,17 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_0850E87C:: @ 850E87C - .incbin "baserom.gba", 0x50e87c, 0x1680 - -gUnknown_0850FEFC:: @ 850FEFC - .incbin "baserom.gba", 0x50fefc, 0x280 - -gUnknown_0851017C:: @ 851017C - .incbin "baserom.gba", 0x51017c, 0xa0 - -gUnknown_0851021C:: @ 851021C - .incbin "baserom.gba", 0x51021c, 0xa0 diff --git a/data/tilesets.s b/data/tilesets.s new file mode 100644 index 0000000000..4436862348 --- /dev/null +++ b/data/tilesets.s @@ -0,0 +1,8 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .include "data/tilesets/graphics.inc" + .include "data/tilesets/metatiles.inc" + .include "data/tilesets/headers.inc" diff --git a/data/tilesets/graphics.inc b/data/tilesets/graphics.inc new file mode 100644 index 0000000000..c7e6d15b03 --- /dev/null +++ b/data/tilesets/graphics.inc @@ -0,0 +1,1731 @@ + .align 2 +gTilesetTiles_Petalburg:: @ 8339E08 + .incbin "data/tilesets/secondary/petalburg/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Petalburg:: @ 833A704 + .incbin "data/tilesets/secondary/petalburg/palettes/00.gbapal" + .incbin "data/tilesets/secondary/petalburg/palettes/01.gbapal" + .incbin "data/tilesets/secondary/petalburg/palettes/02.gbapal" + .incbin "data/tilesets/secondary/petalburg/palettes/03.gbapal" + .incbin "data/tilesets/secondary/petalburg/palettes/04.gbapal" + .incbin "data/tilesets/secondary/petalburg/palettes/05.gbapal" + .incbin "data/tilesets/secondary/petalburg/palettes/06.gbapal" + .incbin "data/tilesets/secondary/petalburg/palettes/07.gbapal" + .incbin "data/tilesets/secondary/petalburg/palettes/08.gbapal" + .incbin "data/tilesets/secondary/petalburg/palettes/09.gbapal" + .incbin "data/tilesets/secondary/petalburg/palettes/10.gbapal" + .incbin "data/tilesets/secondary/petalburg/palettes/11.gbapal" + .incbin "data/tilesets/secondary/petalburg/palettes/12.gbapal" + .incbin "data/tilesets/secondary/petalburg/palettes/13.gbapal" + .incbin "data/tilesets/secondary/petalburg/palettes/14.gbapal" + .incbin "data/tilesets/secondary/petalburg/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Rustboro:: @ 833A904 + .incbin "data/tilesets/secondary/rustboro/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Rustboro:: @ 833BEC0 + .incbin "data/tilesets/secondary/rustboro/palettes/00.gbapal" + .incbin "data/tilesets/secondary/rustboro/palettes/01.gbapal" + .incbin "data/tilesets/secondary/rustboro/palettes/02.gbapal" + .incbin "data/tilesets/secondary/rustboro/palettes/03.gbapal" + .incbin "data/tilesets/secondary/rustboro/palettes/04.gbapal" + .incbin "data/tilesets/secondary/rustboro/palettes/05.gbapal" + .incbin "data/tilesets/secondary/rustboro/palettes/06.gbapal" + .incbin "data/tilesets/secondary/rustboro/palettes/07.gbapal" + .incbin "data/tilesets/secondary/rustboro/palettes/08.gbapal" + .incbin "data/tilesets/secondary/rustboro/palettes/09.gbapal" + .incbin "data/tilesets/secondary/rustboro/palettes/10.gbapal" + .incbin "data/tilesets/secondary/rustboro/palettes/11.gbapal" + .incbin "data/tilesets/secondary/rustboro/palettes/12.gbapal" + .incbin "data/tilesets/secondary/rustboro/palettes/13.gbapal" + .incbin "data/tilesets/secondary/rustboro/palettes/14.gbapal" + .incbin "data/tilesets/secondary/rustboro/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Dewford:: @ 833C0C0 + .incbin "data/tilesets/secondary/dewford/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Dewford:: @ 833D540 + .incbin "data/tilesets/secondary/dewford/palettes/00.gbapal" + .incbin "data/tilesets/secondary/dewford/palettes/01.gbapal" + .incbin "data/tilesets/secondary/dewford/palettes/02.gbapal" + .incbin "data/tilesets/secondary/dewford/palettes/03.gbapal" + .incbin "data/tilesets/secondary/dewford/palettes/04.gbapal" + .incbin "data/tilesets/secondary/dewford/palettes/05.gbapal" + .incbin "data/tilesets/secondary/dewford/palettes/06.gbapal" + .incbin "data/tilesets/secondary/dewford/palettes/07.gbapal" + .incbin "data/tilesets/secondary/dewford/palettes/08.gbapal" + .incbin "data/tilesets/secondary/dewford/palettes/09.gbapal" + .incbin "data/tilesets/secondary/dewford/palettes/10.gbapal" + .incbin "data/tilesets/secondary/dewford/palettes/11.gbapal" + .incbin "data/tilesets/secondary/dewford/palettes/12.gbapal" + .incbin "data/tilesets/secondary/dewford/palettes/13.gbapal" + .incbin "data/tilesets/secondary/dewford/palettes/14.gbapal" + .incbin "data/tilesets/secondary/dewford/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Slateport:: @ 833D740 + .incbin "data/tilesets/secondary/slateport/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Slateport:: @ 833F708 + .incbin "data/tilesets/secondary/slateport/palettes/00.gbapal" + .incbin "data/tilesets/secondary/slateport/palettes/01.gbapal" + .incbin "data/tilesets/secondary/slateport/palettes/02.gbapal" + .incbin "data/tilesets/secondary/slateport/palettes/03.gbapal" + .incbin "data/tilesets/secondary/slateport/palettes/04.gbapal" + .incbin "data/tilesets/secondary/slateport/palettes/05.gbapal" + .incbin "data/tilesets/secondary/slateport/palettes/06.gbapal" + .incbin "data/tilesets/secondary/slateport/palettes/07.gbapal" + .incbin "data/tilesets/secondary/slateport/palettes/08.gbapal" + .incbin "data/tilesets/secondary/slateport/palettes/09.gbapal" + .incbin "data/tilesets/secondary/slateport/palettes/10.gbapal" + .incbin "data/tilesets/secondary/slateport/palettes/11.gbapal" + .incbin "data/tilesets/secondary/slateport/palettes/12.gbapal" + .incbin "data/tilesets/secondary/slateport/palettes/13.gbapal" + .incbin "data/tilesets/secondary/slateport/palettes/14.gbapal" + .incbin "data/tilesets/secondary/slateport/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Mauville:: @ 833F908 + .incbin "data/tilesets/secondary/mauville/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Mauville:: @ 834172C + .incbin "data/tilesets/secondary/mauville/palettes/00.gbapal" + .incbin "data/tilesets/secondary/mauville/palettes/01.gbapal" + .incbin "data/tilesets/secondary/mauville/palettes/02.gbapal" + .incbin "data/tilesets/secondary/mauville/palettes/03.gbapal" + .incbin "data/tilesets/secondary/mauville/palettes/04.gbapal" + .incbin "data/tilesets/secondary/mauville/palettes/05.gbapal" + .incbin "data/tilesets/secondary/mauville/palettes/06.gbapal" + .incbin "data/tilesets/secondary/mauville/palettes/07.gbapal" + .incbin "data/tilesets/secondary/mauville/palettes/08.gbapal" + .incbin "data/tilesets/secondary/mauville/palettes/09.gbapal" + .incbin "data/tilesets/secondary/mauville/palettes/10.gbapal" + .incbin "data/tilesets/secondary/mauville/palettes/11.gbapal" + .incbin "data/tilesets/secondary/mauville/palettes/12.gbapal" + .incbin "data/tilesets/secondary/mauville/palettes/13.gbapal" + .incbin "data/tilesets/secondary/mauville/palettes/14.gbapal" + .incbin "data/tilesets/secondary/mauville/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Lavaridge:: @ 834192C + .incbin "data/tilesets/secondary/lavaridge/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Lavaridge:: @ 8342E28 + .incbin "data/tilesets/secondary/lavaridge/palettes/00.gbapal" + .incbin "data/tilesets/secondary/lavaridge/palettes/01.gbapal" + .incbin "data/tilesets/secondary/lavaridge/palettes/02.gbapal" + .incbin "data/tilesets/secondary/lavaridge/palettes/03.gbapal" + .incbin "data/tilesets/secondary/lavaridge/palettes/04.gbapal" + .incbin "data/tilesets/secondary/lavaridge/palettes/05.gbapal" + .incbin "data/tilesets/secondary/lavaridge/palettes/06.gbapal" + .incbin "data/tilesets/secondary/lavaridge/palettes/07.gbapal" + .incbin "data/tilesets/secondary/lavaridge/palettes/08.gbapal" + .incbin "data/tilesets/secondary/lavaridge/palettes/09.gbapal" + .incbin "data/tilesets/secondary/lavaridge/palettes/10.gbapal" + .incbin "data/tilesets/secondary/lavaridge/palettes/11.gbapal" + .incbin "data/tilesets/secondary/lavaridge/palettes/12.gbapal" + .incbin "data/tilesets/secondary/lavaridge/palettes/13.gbapal" + .incbin "data/tilesets/secondary/lavaridge/palettes/14.gbapal" + .incbin "data/tilesets/secondary/lavaridge/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Fallarbor:: @ 8343028 + .incbin "data/tilesets/secondary/fallarbor/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Fallarbor:: @ 83447A0 + .incbin "data/tilesets/secondary/fallarbor/palettes/00.gbapal" + .incbin "data/tilesets/secondary/fallarbor/palettes/01.gbapal" + .incbin "data/tilesets/secondary/fallarbor/palettes/02.gbapal" + .incbin "data/tilesets/secondary/fallarbor/palettes/03.gbapal" + .incbin "data/tilesets/secondary/fallarbor/palettes/04.gbapal" + .incbin "data/tilesets/secondary/fallarbor/palettes/05.gbapal" + .incbin "data/tilesets/secondary/fallarbor/palettes/06.gbapal" + .incbin "data/tilesets/secondary/fallarbor/palettes/07.gbapal" + .incbin "data/tilesets/secondary/fallarbor/palettes/08.gbapal" + .incbin "data/tilesets/secondary/fallarbor/palettes/09.gbapal" + .incbin "data/tilesets/secondary/fallarbor/palettes/10.gbapal" + .incbin "data/tilesets/secondary/fallarbor/palettes/11.gbapal" + .incbin "data/tilesets/secondary/fallarbor/palettes/12.gbapal" + .incbin "data/tilesets/secondary/fallarbor/palettes/13.gbapal" + .incbin "data/tilesets/secondary/fallarbor/palettes/14.gbapal" + .incbin "data/tilesets/secondary/fallarbor/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Fortree:: @ 83449A0 + .incbin "data/tilesets/secondary/fortree/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Fortree:: @ 8346020 + .incbin "data/tilesets/secondary/fortree/palettes/00.gbapal" + .incbin "data/tilesets/secondary/fortree/palettes/01.gbapal" + .incbin "data/tilesets/secondary/fortree/palettes/02.gbapal" + .incbin "data/tilesets/secondary/fortree/palettes/03.gbapal" + .incbin "data/tilesets/secondary/fortree/palettes/04.gbapal" + .incbin "data/tilesets/secondary/fortree/palettes/05.gbapal" + .incbin "data/tilesets/secondary/fortree/palettes/06.gbapal" + .incbin "data/tilesets/secondary/fortree/palettes/07.gbapal" + .incbin "data/tilesets/secondary/fortree/palettes/08.gbapal" + .incbin "data/tilesets/secondary/fortree/palettes/09.gbapal" + .incbin "data/tilesets/secondary/fortree/palettes/10.gbapal" + .incbin "data/tilesets/secondary/fortree/palettes/11.gbapal" + .incbin "data/tilesets/secondary/fortree/palettes/12.gbapal" + .incbin "data/tilesets/secondary/fortree/palettes/13.gbapal" + .incbin "data/tilesets/secondary/fortree/palettes/14.gbapal" + .incbin "data/tilesets/secondary/fortree/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Lilycove:: @ 8346220 + .incbin "data/tilesets/secondary/lilycove/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Lilycove:: @ 83475C0 + .incbin "data/tilesets/secondary/lilycove/palettes/00.gbapal" + .incbin "data/tilesets/secondary/lilycove/palettes/01.gbapal" + .incbin "data/tilesets/secondary/lilycove/palettes/02.gbapal" + .incbin "data/tilesets/secondary/lilycove/palettes/03.gbapal" + .incbin "data/tilesets/secondary/lilycove/palettes/04.gbapal" + .incbin "data/tilesets/secondary/lilycove/palettes/05.gbapal" + .incbin "data/tilesets/secondary/lilycove/palettes/06.gbapal" + .incbin "data/tilesets/secondary/lilycove/palettes/07.gbapal" + .incbin "data/tilesets/secondary/lilycove/palettes/08.gbapal" + .incbin "data/tilesets/secondary/lilycove/palettes/09.gbapal" + .incbin "data/tilesets/secondary/lilycove/palettes/10.gbapal" + .incbin "data/tilesets/secondary/lilycove/palettes/11.gbapal" + .incbin "data/tilesets/secondary/lilycove/palettes/12.gbapal" + .incbin "data/tilesets/secondary/lilycove/palettes/13.gbapal" + .incbin "data/tilesets/secondary/lilycove/palettes/14.gbapal" + .incbin "data/tilesets/secondary/lilycove/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Mossdeep:: @ 83477C0 + .incbin "data/tilesets/secondary/mossdeep/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Mossdeep:: @ 8348E10 + .incbin "data/tilesets/secondary/mossdeep/palettes/00.gbapal" + .incbin "data/tilesets/secondary/mossdeep/palettes/01.gbapal" + .incbin "data/tilesets/secondary/mossdeep/palettes/02.gbapal" + .incbin "data/tilesets/secondary/mossdeep/palettes/03.gbapal" + .incbin "data/tilesets/secondary/mossdeep/palettes/04.gbapal" + .incbin "data/tilesets/secondary/mossdeep/palettes/05.gbapal" + .incbin "data/tilesets/secondary/mossdeep/palettes/06.gbapal" + .incbin "data/tilesets/secondary/mossdeep/palettes/07.gbapal" + .incbin "data/tilesets/secondary/mossdeep/palettes/08.gbapal" + .incbin "data/tilesets/secondary/mossdeep/palettes/09.gbapal" + .incbin "data/tilesets/secondary/mossdeep/palettes/10.gbapal" + .incbin "data/tilesets/secondary/mossdeep/palettes/11.gbapal" + .incbin "data/tilesets/secondary/mossdeep/palettes/12.gbapal" + .incbin "data/tilesets/secondary/mossdeep/palettes/13.gbapal" + .incbin "data/tilesets/secondary/mossdeep/palettes/14.gbapal" + .incbin "data/tilesets/secondary/mossdeep/palettes/15.gbapal" + + .align 2 +gTilesetTiles_EverGrande:: @ 8349010 + .incbin "data/tilesets/secondary/ever_grande/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_EverGrande:: @ 8349C28 + .incbin "data/tilesets/secondary/ever_grande/palettes/00.gbapal" + .incbin "data/tilesets/secondary/ever_grande/palettes/01.gbapal" + .incbin "data/tilesets/secondary/ever_grande/palettes/02.gbapal" + .incbin "data/tilesets/secondary/ever_grande/palettes/03.gbapal" + .incbin "data/tilesets/secondary/ever_grande/palettes/04.gbapal" + .incbin "data/tilesets/secondary/ever_grande/palettes/05.gbapal" + .incbin "data/tilesets/secondary/ever_grande/palettes/06.gbapal" + .incbin "data/tilesets/secondary/ever_grande/palettes/07.gbapal" + .incbin "data/tilesets/secondary/ever_grande/palettes/08.gbapal" + .incbin "data/tilesets/secondary/ever_grande/palettes/09.gbapal" + .incbin "data/tilesets/secondary/ever_grande/palettes/10.gbapal" + .incbin "data/tilesets/secondary/ever_grande/palettes/11.gbapal" + .incbin "data/tilesets/secondary/ever_grande/palettes/12.gbapal" + .incbin "data/tilesets/secondary/ever_grande/palettes/13.gbapal" + .incbin "data/tilesets/secondary/ever_grande/palettes/14.gbapal" + .incbin "data/tilesets/secondary/ever_grande/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Pacifidlog:: @ 8349E28 + .incbin "data/tilesets/secondary/pacifidlog/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Pacifidlog:: @ 834B5B4 + .incbin "data/tilesets/secondary/pacifidlog/palettes/00.gbapal" + .incbin "data/tilesets/secondary/pacifidlog/palettes/01.gbapal" + .incbin "data/tilesets/secondary/pacifidlog/palettes/02.gbapal" + .incbin "data/tilesets/secondary/pacifidlog/palettes/03.gbapal" + .incbin "data/tilesets/secondary/pacifidlog/palettes/04.gbapal" + .incbin "data/tilesets/secondary/pacifidlog/palettes/05.gbapal" + .incbin "data/tilesets/secondary/pacifidlog/palettes/06.gbapal" + .incbin "data/tilesets/secondary/pacifidlog/palettes/07.gbapal" + .incbin "data/tilesets/secondary/pacifidlog/palettes/08.gbapal" + .incbin "data/tilesets/secondary/pacifidlog/palettes/09.gbapal" + .incbin "data/tilesets/secondary/pacifidlog/palettes/10.gbapal" + .incbin "data/tilesets/secondary/pacifidlog/palettes/11.gbapal" + .incbin "data/tilesets/secondary/pacifidlog/palettes/12.gbapal" + .incbin "data/tilesets/secondary/pacifidlog/palettes/13.gbapal" + .incbin "data/tilesets/secondary/pacifidlog/palettes/14.gbapal" + .incbin "data/tilesets/secondary/pacifidlog/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Sootopolis:: @ 834B7B4 + .incbin "data/tilesets/secondary/sootopolis/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Sootopolis:: @ 834C6B4 + .incbin "data/tilesets/secondary/sootopolis/palettes/00.gbapal" + .incbin "data/tilesets/secondary/sootopolis/palettes/01.gbapal" + .incbin "data/tilesets/secondary/sootopolis/palettes/02.gbapal" + .incbin "data/tilesets/secondary/sootopolis/palettes/03.gbapal" + .incbin "data/tilesets/secondary/sootopolis/palettes/04.gbapal" + .incbin "data/tilesets/secondary/sootopolis/palettes/05.gbapal" + .incbin "data/tilesets/secondary/sootopolis/palettes/06.gbapal" + .incbin "data/tilesets/secondary/sootopolis/palettes/07.gbapal" + .incbin "data/tilesets/secondary/sootopolis/palettes/08.gbapal" + .incbin "data/tilesets/secondary/sootopolis/palettes/09.gbapal" + .incbin "data/tilesets/secondary/sootopolis/palettes/10.gbapal" + .incbin "data/tilesets/secondary/sootopolis/palettes/11.gbapal" + .incbin "data/tilesets/secondary/sootopolis/palettes/12.gbapal" + .incbin "data/tilesets/secondary/sootopolis/palettes/13.gbapal" + .incbin "data/tilesets/secondary/sootopolis/palettes/14.gbapal" + .incbin "data/tilesets/secondary/sootopolis/palettes/15.gbapal" + + .align 2 +gTilesetTiles_BattleFrontierOutsideWest:: @ 834C8B4 + .incbin "data/tilesets/secondary/battle_frontier_outside_west/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_BattleFrontierOutsideWest:: @ 834E3E4 + .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/00.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/01.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/02.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/03.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/04.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/05.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/06.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/07.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/08.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/09.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/10.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/11.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/12.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/13.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/14.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/15.gbapal" + + .align 2 +gTilesetTiles_BattleFrontierOutsideEast:: @ 834E5E4 + .incbin "data/tilesets/secondary/battle_frontier_outside_east/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_BattleFrontierOutsideEast:: @ 834F984 + .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/00.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/01.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/02.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/03.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/04.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/05.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/06.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/07.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/08.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/09.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/10.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/11.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/12.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/13.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/14.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/15.gbapal" + + .align 2 +gTilesetTiles_InsideBuilding:: @ 834FB84 + .incbin "data/tilesets/primary/building/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_InsideBuilding:: @ 83508BC + .incbin "data/tilesets/primary/building/palettes/00.gbapal" + .incbin "data/tilesets/primary/building/palettes/01.gbapal" + .incbin "data/tilesets/primary/building/palettes/02.gbapal" + .incbin "data/tilesets/primary/building/palettes/03.gbapal" + .incbin "data/tilesets/primary/building/palettes/04.gbapal" + .incbin "data/tilesets/primary/building/palettes/05.gbapal" + .incbin "data/tilesets/primary/building/palettes/06.gbapal" + .incbin "data/tilesets/primary/building/palettes/07.gbapal" + .incbin "data/tilesets/primary/building/palettes/08.gbapal" + .incbin "data/tilesets/primary/building/palettes/09.gbapal" + .incbin "data/tilesets/primary/building/palettes/10.gbapal" + .incbin "data/tilesets/primary/building/palettes/11.gbapal" + .incbin "data/tilesets/primary/building/palettes/12.gbapal" + .incbin "data/tilesets/primary/building/palettes/13.gbapal" + .incbin "data/tilesets/primary/building/palettes/14.gbapal" + .incbin "data/tilesets/primary/building/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Shop:: @ 8350ABC + .incbin "data/tilesets/secondary/shop/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Shop:: @ 83520DC + .incbin "data/tilesets/secondary/shop/palettes/00.gbapal" + .incbin "data/tilesets/secondary/shop/palettes/01.gbapal" + .incbin "data/tilesets/secondary/shop/palettes/02.gbapal" + .incbin "data/tilesets/secondary/shop/palettes/03.gbapal" + .incbin "data/tilesets/secondary/shop/palettes/04.gbapal" + .incbin "data/tilesets/secondary/shop/palettes/05.gbapal" + .incbin "data/tilesets/secondary/shop/palettes/06.gbapal" + .incbin "data/tilesets/secondary/shop/palettes/07.gbapal" + .incbin "data/tilesets/secondary/shop/palettes/08.gbapal" + .incbin "data/tilesets/secondary/shop/palettes/09.gbapal" + .incbin "data/tilesets/secondary/shop/palettes/10.gbapal" + .incbin "data/tilesets/secondary/shop/palettes/11.gbapal" + .incbin "data/tilesets/secondary/shop/palettes/12.gbapal" + .incbin "data/tilesets/secondary/shop/palettes/13.gbapal" + .incbin "data/tilesets/secondary/shop/palettes/14.gbapal" + .incbin "data/tilesets/secondary/shop/palettes/15.gbapal" + + .align 2 +gTilesetTiles_PokemonCenter:: @ 83522DC + .incbin "data/tilesets/secondary/pokemon_center/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_PokemonCenter:: @ 8353574 + .incbin "data/tilesets/secondary/pokemon_center/palettes/00.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/01.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/02.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/03.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/04.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/05.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/06.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/07.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/08.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/09.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/10.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/11.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/12.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/13.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/14.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Cave:: @ 8353774 + .incbin "data/tilesets/secondary/cave/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Cave:: @ 8355260 + .incbin "data/tilesets/secondary/cave/palettes/00.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/01.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/02.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/03.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/04.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/05.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/06.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/07.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/08.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/09.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/10.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/11.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/12.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/13.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/14.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/15.gbapal" + + .align 2 +gTilesetTiles_PokemonSchool:: @ 8355460 + .incbin "data/tilesets/secondary/pokemon_school/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_PokemonSchool:: @ 8355BA8 + .incbin "data/tilesets/secondary/pokemon_school/palettes/00.gbapal" + .incbin "data/tilesets/secondary/pokemon_school/palettes/01.gbapal" + .incbin "data/tilesets/secondary/pokemon_school/palettes/02.gbapal" + .incbin "data/tilesets/secondary/pokemon_school/palettes/03.gbapal" + .incbin "data/tilesets/secondary/pokemon_school/palettes/04.gbapal" + .incbin "data/tilesets/secondary/pokemon_school/palettes/05.gbapal" + .incbin "data/tilesets/secondary/pokemon_school/palettes/06.gbapal" + .incbin "data/tilesets/secondary/pokemon_school/palettes/07.gbapal" + .incbin "data/tilesets/secondary/pokemon_school/palettes/08.gbapal" + .incbin "data/tilesets/secondary/pokemon_school/palettes/09.gbapal" + .incbin "data/tilesets/secondary/pokemon_school/palettes/10.gbapal" + .incbin "data/tilesets/secondary/pokemon_school/palettes/11.gbapal" + .incbin "data/tilesets/secondary/pokemon_school/palettes/12.gbapal" + .incbin "data/tilesets/secondary/pokemon_school/palettes/13.gbapal" + .incbin "data/tilesets/secondary/pokemon_school/palettes/14.gbapal" + .incbin "data/tilesets/secondary/pokemon_school/palettes/15.gbapal" + + .align 2 +gTilesetTiles_PokemonFanClub:: @ 8355DA8 + .incbin "data/tilesets/secondary/pokemon_fan_club/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_PokemonFanClub:: @ 83566D4 + .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/00.gbapal" + .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/01.gbapal" + .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/02.gbapal" + .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/03.gbapal" + .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/04.gbapal" + .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/05.gbapal" + .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/06.gbapal" + .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/07.gbapal" + .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/08.gbapal" + .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/09.gbapal" + .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/10.gbapal" + .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/11.gbapal" + .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/12.gbapal" + .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/13.gbapal" + .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/14.gbapal" + .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Unused1:: @ 83568D4 + .incbin "data/tilesets/secondary/unused_1/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Unused1:: @ 8356920 + .incbin "data/tilesets/secondary/unused_1/palettes/00.gbapal" + .incbin "data/tilesets/secondary/unused_1/palettes/01.gbapal" + .incbin "data/tilesets/secondary/unused_1/palettes/02.gbapal" + .incbin "data/tilesets/secondary/unused_1/palettes/03.gbapal" + .incbin "data/tilesets/secondary/unused_1/palettes/04.gbapal" + .incbin "data/tilesets/secondary/unused_1/palettes/05.gbapal" + .incbin "data/tilesets/secondary/unused_1/palettes/06.gbapal" + .incbin "data/tilesets/secondary/unused_1/palettes/07.gbapal" + .incbin "data/tilesets/secondary/unused_1/palettes/08.gbapal" + .incbin "data/tilesets/secondary/unused_1/palettes/09.gbapal" + .incbin "data/tilesets/secondary/unused_1/palettes/10.gbapal" + .incbin "data/tilesets/secondary/unused_1/palettes/11.gbapal" + .incbin "data/tilesets/secondary/unused_1/palettes/12.gbapal" + .incbin "data/tilesets/secondary/unused_1/palettes/13.gbapal" + .incbin "data/tilesets/secondary/unused_1/palettes/14.gbapal" + .incbin "data/tilesets/secondary/unused_1/palettes/15.gbapal" + + .align 2 +gTilesetTiles_MeteorFalls:: @ 8356B20 + .incbin "data/tilesets/secondary/meteor_falls/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_MeteorFalls:: @ 8358840 + .incbin "data/tilesets/secondary/meteor_falls/palettes/00.gbapal" + .incbin "data/tilesets/secondary/meteor_falls/palettes/01.gbapal" + .incbin "data/tilesets/secondary/meteor_falls/palettes/02.gbapal" + .incbin "data/tilesets/secondary/meteor_falls/palettes/03.gbapal" + .incbin "data/tilesets/secondary/meteor_falls/palettes/04.gbapal" + .incbin "data/tilesets/secondary/meteor_falls/palettes/05.gbapal" + .incbin "data/tilesets/secondary/meteor_falls/palettes/06.gbapal" + .incbin "data/tilesets/secondary/meteor_falls/palettes/07.gbapal" + .incbin "data/tilesets/secondary/meteor_falls/palettes/08.gbapal" + .incbin "data/tilesets/secondary/meteor_falls/palettes/09.gbapal" + .incbin "data/tilesets/secondary/meteor_falls/palettes/10.gbapal" + .incbin "data/tilesets/secondary/meteor_falls/palettes/11.gbapal" + .incbin "data/tilesets/secondary/meteor_falls/palettes/12.gbapal" + .incbin "data/tilesets/secondary/meteor_falls/palettes/13.gbapal" + .incbin "data/tilesets/secondary/meteor_falls/palettes/14.gbapal" + .incbin "data/tilesets/secondary/meteor_falls/palettes/15.gbapal" + + .align 2 +gTilesetTiles_OceanicMuseum:: @ 8358A40 + .incbin "data/tilesets/secondary/oceanic_museum/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_OceanicMuseum:: @ 83599CC + .incbin "data/tilesets/secondary/oceanic_museum/palettes/00.gbapal" + .incbin "data/tilesets/secondary/oceanic_museum/palettes/01.gbapal" + .incbin "data/tilesets/secondary/oceanic_museum/palettes/02.gbapal" + .incbin "data/tilesets/secondary/oceanic_museum/palettes/03.gbapal" + .incbin "data/tilesets/secondary/oceanic_museum/palettes/04.gbapal" + .incbin "data/tilesets/secondary/oceanic_museum/palettes/05.gbapal" + .incbin "data/tilesets/secondary/oceanic_museum/palettes/06.gbapal" + .incbin "data/tilesets/secondary/oceanic_museum/palettes/07.gbapal" + .incbin "data/tilesets/secondary/oceanic_museum/palettes/08.gbapal" + .incbin "data/tilesets/secondary/oceanic_museum/palettes/09.gbapal" + .incbin "data/tilesets/secondary/oceanic_museum/palettes/10.gbapal" + .incbin "data/tilesets/secondary/oceanic_museum/palettes/11.gbapal" + .incbin "data/tilesets/secondary/oceanic_museum/palettes/12.gbapal" + .incbin "data/tilesets/secondary/oceanic_museum/palettes/13.gbapal" + .incbin "data/tilesets/secondary/oceanic_museum/palettes/14.gbapal" + .incbin "data/tilesets/secondary/oceanic_museum/palettes/15.gbapal" + + .align 2 +gTilesetTiles_CableClub:: @ 8359BCC + .incbin "data/tilesets/secondary/cable_club/tiles.4bpp" + + .align 2 + .incbin "data/tilesets/secondary/cable_club/unknown_tiles.4bpp" + + .align 2 +gTilesetPalettes_CableClub:: @ 835EACC + .incbin "data/tilesets/secondary/cable_club/palettes/00.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/01.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/02.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/03.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/04.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/05.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/06.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/07.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/08.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/09.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/10.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/11.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/12.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/13.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/14.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/15.gbapal" + + .align 2 +gTilesetTiles_SeashoreHouse:: @ 835ECCC + .incbin "data/tilesets/secondary/seashore_house/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_SeashoreHouse:: @ 835F5A8 + .incbin "data/tilesets/secondary/seashore_house/palettes/00.gbapal" + .incbin "data/tilesets/secondary/seashore_house/palettes/01.gbapal" + .incbin "data/tilesets/secondary/seashore_house/palettes/02.gbapal" + .incbin "data/tilesets/secondary/seashore_house/palettes/03.gbapal" + .incbin "data/tilesets/secondary/seashore_house/palettes/04.gbapal" + .incbin "data/tilesets/secondary/seashore_house/palettes/05.gbapal" + .incbin "data/tilesets/secondary/seashore_house/palettes/06.gbapal" + .incbin "data/tilesets/secondary/seashore_house/palettes/07.gbapal" + .incbin "data/tilesets/secondary/seashore_house/palettes/08.gbapal" + .incbin "data/tilesets/secondary/seashore_house/palettes/09.gbapal" + .incbin "data/tilesets/secondary/seashore_house/palettes/10.gbapal" + .incbin "data/tilesets/secondary/seashore_house/palettes/11.gbapal" + .incbin "data/tilesets/secondary/seashore_house/palettes/12.gbapal" + .incbin "data/tilesets/secondary/seashore_house/palettes/13.gbapal" + .incbin "data/tilesets/secondary/seashore_house/palettes/14.gbapal" + .incbin "data/tilesets/secondary/seashore_house/palettes/15.gbapal" + + .align 2 +gTilesetTiles_PrettyPetalFlowerShop:: @ 835F7A8 + .incbin "data/tilesets/secondary/pretty_petal_flower_shop/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_PrettyPetalFlowerShop:: @ 83603A0 + .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/00.gbapal" + .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/01.gbapal" + .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/02.gbapal" + .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/03.gbapal" + .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/04.gbapal" + .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/05.gbapal" + .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/06.gbapal" + .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/07.gbapal" + .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/08.gbapal" + .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/09.gbapal" + .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/10.gbapal" + .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/11.gbapal" + .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/12.gbapal" + .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/13.gbapal" + .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/14.gbapal" + .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/15.gbapal" + + .align 2 +gTilesetTiles_PokemonDayCare:: @ 83605A0 + .incbin "data/tilesets/secondary/pokemon_day_care/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_PokemonDayCare:: @ 8360FDC + .incbin "data/tilesets/secondary/pokemon_day_care/palettes/00.gbapal" + .incbin "data/tilesets/secondary/pokemon_day_care/palettes/01.gbapal" + .incbin "data/tilesets/secondary/pokemon_day_care/palettes/02.gbapal" + .incbin "data/tilesets/secondary/pokemon_day_care/palettes/03.gbapal" + .incbin "data/tilesets/secondary/pokemon_day_care/palettes/04.gbapal" + .incbin "data/tilesets/secondary/pokemon_day_care/palettes/05.gbapal" + .incbin "data/tilesets/secondary/pokemon_day_care/palettes/06.gbapal" + .incbin "data/tilesets/secondary/pokemon_day_care/palettes/07.gbapal" + .incbin "data/tilesets/secondary/pokemon_day_care/palettes/08.gbapal" + .incbin "data/tilesets/secondary/pokemon_day_care/palettes/09.gbapal" + .incbin "data/tilesets/secondary/pokemon_day_care/palettes/10.gbapal" + .incbin "data/tilesets/secondary/pokemon_day_care/palettes/11.gbapal" + .incbin "data/tilesets/secondary/pokemon_day_care/palettes/12.gbapal" + .incbin "data/tilesets/secondary/pokemon_day_care/palettes/13.gbapal" + .incbin "data/tilesets/secondary/pokemon_day_care/palettes/14.gbapal" + .incbin "data/tilesets/secondary/pokemon_day_care/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Facility:: @ 83611DC + .incbin "data/tilesets/secondary/facility/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Facility:: @ 8362E90 + .incbin "data/tilesets/secondary/facility/palettes/00.gbapal" + .incbin "data/tilesets/secondary/facility/palettes/01.gbapal" + .incbin "data/tilesets/secondary/facility/palettes/02.gbapal" + .incbin "data/tilesets/secondary/facility/palettes/03.gbapal" + .incbin "data/tilesets/secondary/facility/palettes/04.gbapal" + .incbin "data/tilesets/secondary/facility/palettes/05.gbapal" + .incbin "data/tilesets/secondary/facility/palettes/06.gbapal" + .incbin "data/tilesets/secondary/facility/palettes/07.gbapal" + .incbin "data/tilesets/secondary/facility/palettes/08.gbapal" + .incbin "data/tilesets/secondary/facility/palettes/09.gbapal" + .incbin "data/tilesets/secondary/facility/palettes/10.gbapal" + .incbin "data/tilesets/secondary/facility/palettes/11.gbapal" + .incbin "data/tilesets/secondary/facility/palettes/12.gbapal" + .incbin "data/tilesets/secondary/facility/palettes/13.gbapal" + .incbin "data/tilesets/secondary/facility/palettes/14.gbapal" + .incbin "data/tilesets/secondary/facility/palettes/15.gbapal" + + .align 2 +gTilesetTiles_BikeShop:: @ 8363090 + .incbin "data/tilesets/secondary/bike_shop/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_BikeShop:: @ 83643C0 + .incbin "data/tilesets/secondary/bike_shop/palettes/00.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/01.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/02.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/03.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/04.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/05.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/06.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/07.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/08.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/09.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/10.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/11.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/12.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/13.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/14.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/15.gbapal" + + .align 2 +gTilesetTiles_RusturfTunnel:: @ 83645C0 + .incbin "data/tilesets/secondary/rusturf_tunnel/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_RusturfTunnel:: @ 8365008 + .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/00.gbapal" + .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/01.gbapal" + .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/02.gbapal" + .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/03.gbapal" + .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/04.gbapal" + .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/05.gbapal" + .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/06.gbapal" + .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/07.gbapal" + .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/08.gbapal" + .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/09.gbapal" + .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/10.gbapal" + .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/11.gbapal" + .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/12.gbapal" + .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/13.gbapal" + .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/14.gbapal" + .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/15.gbapal" + + .align 2 +@ unused compressed copy of tiles + .incbin "data/tilesets/secondary/secret_base/brown_cave/unused_tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_SecretBaseBrownCave:: @ 8365788 + .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/00.gbapal" + .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/01.gbapal" + .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/02.gbapal" + .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/03.gbapal" + .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/04.gbapal" + .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/05.gbapal" + .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/06.gbapal" + .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/07.gbapal" + .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/08.gbapal" + .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/09.gbapal" + .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/10.gbapal" + .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/11.gbapal" + .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/12.gbapal" + .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/13.gbapal" + .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/14.gbapal" + .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/15.gbapal" + + .align 2 +@ unused compressed copy of tiles + .incbin "data/tilesets/secondary/secret_base/tree/unused_tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_SecretBaseTree:: @ 8365EAC + .incbin "data/tilesets/secondary/secret_base/tree/palettes/00.gbapal" + .incbin "data/tilesets/secondary/secret_base/tree/palettes/01.gbapal" + .incbin "data/tilesets/secondary/secret_base/tree/palettes/02.gbapal" + .incbin "data/tilesets/secondary/secret_base/tree/palettes/03.gbapal" + .incbin "data/tilesets/secondary/secret_base/tree/palettes/04.gbapal" + .incbin "data/tilesets/secondary/secret_base/tree/palettes/05.gbapal" + .incbin "data/tilesets/secondary/secret_base/tree/palettes/06.gbapal" + .incbin "data/tilesets/secondary/secret_base/tree/palettes/07.gbapal" + .incbin "data/tilesets/secondary/secret_base/tree/palettes/08.gbapal" + .incbin "data/tilesets/secondary/secret_base/tree/palettes/09.gbapal" + .incbin "data/tilesets/secondary/secret_base/tree/palettes/10.gbapal" + .incbin "data/tilesets/secondary/secret_base/tree/palettes/11.gbapal" + .incbin "data/tilesets/secondary/secret_base/tree/palettes/12.gbapal" + .incbin "data/tilesets/secondary/secret_base/tree/palettes/13.gbapal" + .incbin "data/tilesets/secondary/secret_base/tree/palettes/14.gbapal" + .incbin "data/tilesets/secondary/secret_base/tree/palettes/15.gbapal" + + .align 2 +@ unused compressed copy of tiles + .incbin "data/tilesets/secondary/secret_base/shrub/unused_tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_SecretBaseShrub:: @ 8366614 + .incbin "data/tilesets/secondary/secret_base/shrub/palettes/00.gbapal" + .incbin "data/tilesets/secondary/secret_base/shrub/palettes/01.gbapal" + .incbin "data/tilesets/secondary/secret_base/shrub/palettes/02.gbapal" + .incbin "data/tilesets/secondary/secret_base/shrub/palettes/03.gbapal" + .incbin "data/tilesets/secondary/secret_base/shrub/palettes/04.gbapal" + .incbin "data/tilesets/secondary/secret_base/shrub/palettes/05.gbapal" + .incbin "data/tilesets/secondary/secret_base/shrub/palettes/06.gbapal" + .incbin "data/tilesets/secondary/secret_base/shrub/palettes/07.gbapal" + .incbin "data/tilesets/secondary/secret_base/shrub/palettes/08.gbapal" + .incbin "data/tilesets/secondary/secret_base/shrub/palettes/09.gbapal" + .incbin "data/tilesets/secondary/secret_base/shrub/palettes/10.gbapal" + .incbin "data/tilesets/secondary/secret_base/shrub/palettes/11.gbapal" + .incbin "data/tilesets/secondary/secret_base/shrub/palettes/12.gbapal" + .incbin "data/tilesets/secondary/secret_base/shrub/palettes/13.gbapal" + .incbin "data/tilesets/secondary/secret_base/shrub/palettes/14.gbapal" + .incbin "data/tilesets/secondary/secret_base/shrub/palettes/15.gbapal" + + .align 2 +@ unused compressed copy of tiles + .incbin "data/tilesets/secondary/secret_base/blue_cave/unused_tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_SecretBaseBlueCave:: @ 8366C30 + .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/00.gbapal" + .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/01.gbapal" + .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/02.gbapal" + .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/03.gbapal" + .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/04.gbapal" + .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/05.gbapal" + .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/06.gbapal" + .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/07.gbapal" + .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/08.gbapal" + .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/09.gbapal" + .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/10.gbapal" + .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/11.gbapal" + .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/12.gbapal" + .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/13.gbapal" + .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/14.gbapal" + .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/15.gbapal" + + .align 2 +@ unused compressed copy of tiles + .incbin "data/tilesets/secondary/secret_base/yellow_cave/unused_tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_SecretBaseYellowCave:: @ 8367368 + .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/00.gbapal" + .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/01.gbapal" + .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/02.gbapal" + .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/03.gbapal" + .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/04.gbapal" + .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/05.gbapal" + .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/06.gbapal" + .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/07.gbapal" + .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/08.gbapal" + .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/09.gbapal" + .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/10.gbapal" + .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/11.gbapal" + .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/12.gbapal" + .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/13.gbapal" + .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/14.gbapal" + .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/15.gbapal" + + .align 2 +@ unused compressed copy of tiles + .incbin "data/tilesets/secondary/secret_base/red_cave/unused_tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_SecretBaseRedCave:: @ 83679A0 + .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/00.gbapal" + .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/01.gbapal" + .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/02.gbapal" + .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/03.gbapal" + .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/04.gbapal" + .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/05.gbapal" + .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/06.gbapal" + .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/07.gbapal" + .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/08.gbapal" + .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/09.gbapal" + .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/10.gbapal" + .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/11.gbapal" + .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/12.gbapal" + .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/13.gbapal" + .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/14.gbapal" + .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/15.gbapal" + + .align 2 +gTilesetTiles_SecretBaseBrownCave:: @ 8367BA0 + .incbin "data/tilesets/secondary/secret_base/brown_cave/tiles.4bpp" + + .align 2 +gTilesetTiles_SecretBaseTree:: @ 8368600 + .incbin "data/tilesets/secondary/secret_base/tree/tiles.4bpp" + + .align 2 +gTilesetTiles_SecretBaseShrub:: @ 8369060 + .incbin "data/tilesets/secondary/secret_base/shrub/tiles.4bpp" + + .align 2 +gTilesetTiles_SecretBaseBlueCave:: @ 8369AC0 + .incbin "data/tilesets/secondary/secret_base/blue_cave/tiles.4bpp" + + .align 2 +gTilesetTiles_SecretBaseYellowCave:: @ 836A520 + .incbin "data/tilesets/secondary/secret_base/yellow_cave/tiles.4bpp" + + .align 2 +gTilesetTiles_SecretBaseRedCave:: @ 836AF80 + .incbin "data/tilesets/secondary/secret_base/red_cave/tiles.4bpp" + + .align 2 +gTilesetTiles_InsideOfTruck:: @ 836B9E0 + .incbin "data/tilesets/secondary/inside_of_truck/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_InsideOfTruck:: @ 836BC3C + .incbin "data/tilesets/secondary/inside_of_truck/palettes/00.gbapal" + .incbin "data/tilesets/secondary/inside_of_truck/palettes/01.gbapal" + .incbin "data/tilesets/secondary/inside_of_truck/palettes/02.gbapal" + .incbin "data/tilesets/secondary/inside_of_truck/palettes/03.gbapal" + .incbin "data/tilesets/secondary/inside_of_truck/palettes/04.gbapal" + .incbin "data/tilesets/secondary/inside_of_truck/palettes/05.gbapal" + .incbin "data/tilesets/secondary/inside_of_truck/palettes/06.gbapal" + .incbin "data/tilesets/secondary/inside_of_truck/palettes/07.gbapal" + .incbin "data/tilesets/secondary/inside_of_truck/palettes/08.gbapal" + .incbin "data/tilesets/secondary/inside_of_truck/palettes/09.gbapal" + .incbin "data/tilesets/secondary/inside_of_truck/palettes/10.gbapal" + .incbin "data/tilesets/secondary/inside_of_truck/palettes/11.gbapal" + .incbin "data/tilesets/secondary/inside_of_truck/palettes/12.gbapal" + .incbin "data/tilesets/secondary/inside_of_truck/palettes/13.gbapal" + .incbin "data/tilesets/secondary/inside_of_truck/palettes/14.gbapal" + .incbin "data/tilesets/secondary/inside_of_truck/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Contest:: @ 836BE3C + .incbin "data/tilesets/secondary/contest/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Contest:: @ 836C990 + .incbin "data/tilesets/secondary/contest/palettes/00.gbapal" + .incbin "data/tilesets/secondary/contest/palettes/01.gbapal" + .incbin "data/tilesets/secondary/contest/palettes/02.gbapal" + .incbin "data/tilesets/secondary/contest/palettes/03.gbapal" + .incbin "data/tilesets/secondary/contest/palettes/04.gbapal" + .incbin "data/tilesets/secondary/contest/palettes/05.gbapal" + .incbin "data/tilesets/secondary/contest/palettes/06.gbapal" + .incbin "data/tilesets/secondary/contest/palettes/07.gbapal" + .incbin "data/tilesets/secondary/contest/palettes/08.gbapal" + .incbin "data/tilesets/secondary/contest/palettes/09.gbapal" + .incbin "data/tilesets/secondary/contest/palettes/10.gbapal" + .incbin "data/tilesets/secondary/contest/palettes/11.gbapal" + .incbin "data/tilesets/secondary/contest/palettes/12.gbapal" + .incbin "data/tilesets/secondary/contest/palettes/13.gbapal" + .incbin "data/tilesets/secondary/contest/palettes/14.gbapal" + .incbin "data/tilesets/secondary/contest/palettes/15.gbapal" + + .align 2 +gTilesetTiles_LilycoveMuseum:: @ 836CB90 + .incbin "data/tilesets/secondary/lilycove_museum/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_LilycoveMuseum:: @ 836DEAC + .incbin "data/tilesets/secondary/lilycove_museum/palettes/00.gbapal" + .incbin "data/tilesets/secondary/lilycove_museum/palettes/01.gbapal" + .incbin "data/tilesets/secondary/lilycove_museum/palettes/02.gbapal" + .incbin "data/tilesets/secondary/lilycove_museum/palettes/03.gbapal" + .incbin "data/tilesets/secondary/lilycove_museum/palettes/04.gbapal" + .incbin "data/tilesets/secondary/lilycove_museum/palettes/05.gbapal" + .incbin "data/tilesets/secondary/lilycove_museum/palettes/06.gbapal" + .incbin "data/tilesets/secondary/lilycove_museum/palettes/07.gbapal" + .incbin "data/tilesets/secondary/lilycove_museum/palettes/08.gbapal" + .incbin "data/tilesets/secondary/lilycove_museum/palettes/09.gbapal" + .incbin "data/tilesets/secondary/lilycove_museum/palettes/10.gbapal" + .incbin "data/tilesets/secondary/lilycove_museum/palettes/11.gbapal" + .incbin "data/tilesets/secondary/lilycove_museum/palettes/12.gbapal" + .incbin "data/tilesets/secondary/lilycove_museum/palettes/13.gbapal" + .incbin "data/tilesets/secondary/lilycove_museum/palettes/14.gbapal" + .incbin "data/tilesets/secondary/lilycove_museum/palettes/15.gbapal" + + .align 2 +gTilesetTiles_BrendansMaysHouse:: @ 836E0AC + .incbin "data/tilesets/secondary/brendans_mays_house/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_BrendansMaysHouse:: @ 836F178 + .incbin "data/tilesets/secondary/brendans_mays_house/palettes/00.gbapal" + .incbin "data/tilesets/secondary/brendans_mays_house/palettes/01.gbapal" + .incbin "data/tilesets/secondary/brendans_mays_house/palettes/02.gbapal" + .incbin "data/tilesets/secondary/brendans_mays_house/palettes/03.gbapal" + .incbin "data/tilesets/secondary/brendans_mays_house/palettes/04.gbapal" + .incbin "data/tilesets/secondary/brendans_mays_house/palettes/05.gbapal" + .incbin "data/tilesets/secondary/brendans_mays_house/palettes/06.gbapal" + .incbin "data/tilesets/secondary/brendans_mays_house/palettes/07.gbapal" + .incbin "data/tilesets/secondary/brendans_mays_house/palettes/08.gbapal" + .incbin "data/tilesets/secondary/brendans_mays_house/palettes/09.gbapal" + .incbin "data/tilesets/secondary/brendans_mays_house/palettes/10.gbapal" + .incbin "data/tilesets/secondary/brendans_mays_house/palettes/11.gbapal" + .incbin "data/tilesets/secondary/brendans_mays_house/palettes/12.gbapal" + .incbin "data/tilesets/secondary/brendans_mays_house/palettes/13.gbapal" + .incbin "data/tilesets/secondary/brendans_mays_house/palettes/14.gbapal" + .incbin "data/tilesets/secondary/brendans_mays_house/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Lab:: @ 836F378 + .incbin "data/tilesets/secondary/lab/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Lab:: @ 83703DC + .incbin "data/tilesets/secondary/lab/palettes/00.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/01.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/02.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/03.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/04.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/05.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/06.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/07.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/08.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/09.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/10.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/11.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/12.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/13.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/14.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Underwater:: @ 83705DC + .incbin "data/tilesets/secondary/underwater/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Underwater:: @ 8371798 + .incbin "data/tilesets/secondary/underwater/palettes/00.gbapal" + .incbin "data/tilesets/secondary/underwater/palettes/01.gbapal" + .incbin "data/tilesets/secondary/underwater/palettes/02.gbapal" + .incbin "data/tilesets/secondary/underwater/palettes/03.gbapal" + .incbin "data/tilesets/secondary/underwater/palettes/04.gbapal" + .incbin "data/tilesets/secondary/underwater/palettes/05.gbapal" + .incbin "data/tilesets/secondary/underwater/palettes/06.gbapal" + .incbin "data/tilesets/secondary/underwater/palettes/07.gbapal" + .incbin "data/tilesets/secondary/underwater/palettes/08.gbapal" + .incbin "data/tilesets/secondary/underwater/palettes/09.gbapal" + .incbin "data/tilesets/secondary/underwater/palettes/10.gbapal" + .incbin "data/tilesets/secondary/underwater/palettes/11.gbapal" + .incbin "data/tilesets/secondary/underwater/palettes/12.gbapal" + .incbin "data/tilesets/secondary/underwater/palettes/13.gbapal" + .incbin "data/tilesets/secondary/underwater/palettes/14.gbapal" + .incbin "data/tilesets/secondary/underwater/palettes/15.gbapal" + + .align 2 +gTilesetTiles_GenericBuilding:: @ 8371998 + .incbin "data/tilesets/secondary/generic_building/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_GenericBuilding:: @ 83733C4 + .incbin "data/tilesets/secondary/generic_building/palettes/00.gbapal" + .incbin "data/tilesets/secondary/generic_building/palettes/01.gbapal" + .incbin "data/tilesets/secondary/generic_building/palettes/02.gbapal" + .incbin "data/tilesets/secondary/generic_building/palettes/03.gbapal" + .incbin "data/tilesets/secondary/generic_building/palettes/04.gbapal" + .incbin "data/tilesets/secondary/generic_building/palettes/05.gbapal" + .incbin "data/tilesets/secondary/generic_building/palettes/06.gbapal" + .incbin "data/tilesets/secondary/generic_building/palettes/07.gbapal" + .incbin "data/tilesets/secondary/generic_building/palettes/08.gbapal" + .incbin "data/tilesets/secondary/generic_building/palettes/09.gbapal" + .incbin "data/tilesets/secondary/generic_building/palettes/10.gbapal" + .incbin "data/tilesets/secondary/generic_building/palettes/11.gbapal" + .incbin "data/tilesets/secondary/generic_building/palettes/12.gbapal" + .incbin "data/tilesets/secondary/generic_building/palettes/13.gbapal" + .incbin "data/tilesets/secondary/generic_building/palettes/14.gbapal" + .incbin "data/tilesets/secondary/generic_building/palettes/15.gbapal" + + .align 2 +gTilesetTiles_MauvilleGameCorner:: @ 83735C4 + .incbin "data/tilesets/secondary/mauville_game_corner/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_MauvilleGameCorner:: @ 8374288 + .incbin "data/tilesets/secondary/mauville_game_corner/palettes/00.gbapal" + .incbin "data/tilesets/secondary/mauville_game_corner/palettes/01.gbapal" + .incbin "data/tilesets/secondary/mauville_game_corner/palettes/02.gbapal" + .incbin "data/tilesets/secondary/mauville_game_corner/palettes/03.gbapal" + .incbin "data/tilesets/secondary/mauville_game_corner/palettes/04.gbapal" + .incbin "data/tilesets/secondary/mauville_game_corner/palettes/05.gbapal" + .incbin "data/tilesets/secondary/mauville_game_corner/palettes/06.gbapal" + .incbin "data/tilesets/secondary/mauville_game_corner/palettes/07.gbapal" + .incbin "data/tilesets/secondary/mauville_game_corner/palettes/08.gbapal" + .incbin "data/tilesets/secondary/mauville_game_corner/palettes/09.gbapal" + .incbin "data/tilesets/secondary/mauville_game_corner/palettes/10.gbapal" + .incbin "data/tilesets/secondary/mauville_game_corner/palettes/11.gbapal" + .incbin "data/tilesets/secondary/mauville_game_corner/palettes/12.gbapal" + .incbin "data/tilesets/secondary/mauville_game_corner/palettes/13.gbapal" + .incbin "data/tilesets/secondary/mauville_game_corner/palettes/14.gbapal" + .incbin "data/tilesets/secondary/mauville_game_corner/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Unused2:: @ 8374488 + .incbin "data/tilesets/secondary/unused_2/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Unused2:: @ 83749B0 + .incbin "data/tilesets/secondary/unused_2/palettes/00.gbapal" + .incbin "data/tilesets/secondary/unused_2/palettes/01.gbapal" + .incbin "data/tilesets/secondary/unused_2/palettes/02.gbapal" + .incbin "data/tilesets/secondary/unused_2/palettes/03.gbapal" + .incbin "data/tilesets/secondary/unused_2/palettes/04.gbapal" + .incbin "data/tilesets/secondary/unused_2/palettes/05.gbapal" + .incbin "data/tilesets/secondary/unused_2/palettes/06.gbapal" + .incbin "data/tilesets/secondary/unused_2/palettes/07.gbapal" + .incbin "data/tilesets/secondary/unused_2/palettes/08.gbapal" + .incbin "data/tilesets/secondary/unused_2/palettes/09.gbapal" + .incbin "data/tilesets/secondary/unused_2/palettes/10.gbapal" + .incbin "data/tilesets/secondary/unused_2/palettes/11.gbapal" + .incbin "data/tilesets/secondary/unused_2/palettes/12.gbapal" + .incbin "data/tilesets/secondary/unused_2/palettes/13.gbapal" + .incbin "data/tilesets/secondary/unused_2/palettes/14.gbapal" + .incbin "data/tilesets/secondary/unused_2/palettes/15.gbapal" + + .align 2 +gTilesetTiles_RustboroGym:: @ 8374BB0 + .incbin "data/tilesets/secondary/rustboro_gym/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_RustboroGym:: @ 8374F34 + .incbin "data/tilesets/secondary/rustboro_gym/palettes/00.gbapal" + .incbin "data/tilesets/secondary/rustboro_gym/palettes/01.gbapal" + .incbin "data/tilesets/secondary/rustboro_gym/palettes/02.gbapal" + .incbin "data/tilesets/secondary/rustboro_gym/palettes/03.gbapal" + .incbin "data/tilesets/secondary/rustboro_gym/palettes/04.gbapal" + .incbin "data/tilesets/secondary/rustboro_gym/palettes/05.gbapal" + .incbin "data/tilesets/secondary/rustboro_gym/palettes/06.gbapal" + .incbin "data/tilesets/secondary/rustboro_gym/palettes/07.gbapal" + .incbin "data/tilesets/secondary/rustboro_gym/palettes/08.gbapal" + .incbin "data/tilesets/secondary/rustboro_gym/palettes/09.gbapal" + .incbin "data/tilesets/secondary/rustboro_gym/palettes/10.gbapal" + .incbin "data/tilesets/secondary/rustboro_gym/palettes/11.gbapal" + .incbin "data/tilesets/secondary/rustboro_gym/palettes/12.gbapal" + .incbin "data/tilesets/secondary/rustboro_gym/palettes/13.gbapal" + .incbin "data/tilesets/secondary/rustboro_gym/palettes/14.gbapal" + .incbin "data/tilesets/secondary/rustboro_gym/palettes/15.gbapal" + + .align 2 +gTilesetTiles_DewfordGym:: @ 8375134 + .incbin "data/tilesets/secondary/dewford_gym/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_DewfordGym:: @ 8375400 + .incbin "data/tilesets/secondary/dewford_gym/palettes/00.gbapal" + .incbin "data/tilesets/secondary/dewford_gym/palettes/01.gbapal" + .incbin "data/tilesets/secondary/dewford_gym/palettes/02.gbapal" + .incbin "data/tilesets/secondary/dewford_gym/palettes/03.gbapal" + .incbin "data/tilesets/secondary/dewford_gym/palettes/04.gbapal" + .incbin "data/tilesets/secondary/dewford_gym/palettes/05.gbapal" + .incbin "data/tilesets/secondary/dewford_gym/palettes/06.gbapal" + .incbin "data/tilesets/secondary/dewford_gym/palettes/07.gbapal" + .incbin "data/tilesets/secondary/dewford_gym/palettes/08.gbapal" + .incbin "data/tilesets/secondary/dewford_gym/palettes/09.gbapal" + .incbin "data/tilesets/secondary/dewford_gym/palettes/10.gbapal" + .incbin "data/tilesets/secondary/dewford_gym/palettes/11.gbapal" + .incbin "data/tilesets/secondary/dewford_gym/palettes/12.gbapal" + .incbin "data/tilesets/secondary/dewford_gym/palettes/13.gbapal" + .incbin "data/tilesets/secondary/dewford_gym/palettes/14.gbapal" + .incbin "data/tilesets/secondary/dewford_gym/palettes/15.gbapal" + + .align 2 +gTilesetTiles_MauvilleGym:: @ 8375600 + .incbin "data/tilesets/secondary/mauville_gym/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_MauvilleGym:: @ 8375D84 + .incbin "data/tilesets/secondary/mauville_gym/palettes/00.gbapal" + .incbin "data/tilesets/secondary/mauville_gym/palettes/01.gbapal" + .incbin "data/tilesets/secondary/mauville_gym/palettes/02.gbapal" + .incbin "data/tilesets/secondary/mauville_gym/palettes/03.gbapal" + .incbin "data/tilesets/secondary/mauville_gym/palettes/04.gbapal" + .incbin "data/tilesets/secondary/mauville_gym/palettes/05.gbapal" + .incbin "data/tilesets/secondary/mauville_gym/palettes/06.gbapal" + .incbin "data/tilesets/secondary/mauville_gym/palettes/07.gbapal" + .incbin "data/tilesets/secondary/mauville_gym/palettes/08.gbapal" + .incbin "data/tilesets/secondary/mauville_gym/palettes/09.gbapal" + .incbin "data/tilesets/secondary/mauville_gym/palettes/10.gbapal" + .incbin "data/tilesets/secondary/mauville_gym/palettes/11.gbapal" + .incbin "data/tilesets/secondary/mauville_gym/palettes/12.gbapal" + .incbin "data/tilesets/secondary/mauville_gym/palettes/13.gbapal" + .incbin "data/tilesets/secondary/mauville_gym/palettes/14.gbapal" + .incbin "data/tilesets/secondary/mauville_gym/palettes/15.gbapal" + + .align 2 +gTilesetTiles_LavaridgeGym:: @ 8375F84 + .incbin "data/tilesets/secondary/lavaridge_gym/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_LavaridgeGym:: @ 83762AC + .incbin "data/tilesets/secondary/lavaridge_gym/palettes/00.gbapal" + .incbin "data/tilesets/secondary/lavaridge_gym/palettes/01.gbapal" + .incbin "data/tilesets/secondary/lavaridge_gym/palettes/02.gbapal" + .incbin "data/tilesets/secondary/lavaridge_gym/palettes/03.gbapal" + .incbin "data/tilesets/secondary/lavaridge_gym/palettes/04.gbapal" + .incbin "data/tilesets/secondary/lavaridge_gym/palettes/05.gbapal" + .incbin "data/tilesets/secondary/lavaridge_gym/palettes/06.gbapal" + .incbin "data/tilesets/secondary/lavaridge_gym/palettes/07.gbapal" + .incbin "data/tilesets/secondary/lavaridge_gym/palettes/08.gbapal" + .incbin "data/tilesets/secondary/lavaridge_gym/palettes/09.gbapal" + .incbin "data/tilesets/secondary/lavaridge_gym/palettes/10.gbapal" + .incbin "data/tilesets/secondary/lavaridge_gym/palettes/11.gbapal" + .incbin "data/tilesets/secondary/lavaridge_gym/palettes/12.gbapal" + .incbin "data/tilesets/secondary/lavaridge_gym/palettes/13.gbapal" + .incbin "data/tilesets/secondary/lavaridge_gym/palettes/14.gbapal" + .incbin "data/tilesets/secondary/lavaridge_gym/palettes/15.gbapal" + + .align 2 +gTilesetTiles_PetalburgGym:: @ 83764AC + .incbin "data/tilesets/secondary/petalburg_gym/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_PetalburgGym:: @ 8376B50 + .incbin "data/tilesets/secondary/petalburg_gym/palettes/00.gbapal" + .incbin "data/tilesets/secondary/petalburg_gym/palettes/01.gbapal" + .incbin "data/tilesets/secondary/petalburg_gym/palettes/02.gbapal" + .incbin "data/tilesets/secondary/petalburg_gym/palettes/03.gbapal" + .incbin "data/tilesets/secondary/petalburg_gym/palettes/04.gbapal" + .incbin "data/tilesets/secondary/petalburg_gym/palettes/05.gbapal" + .incbin "data/tilesets/secondary/petalburg_gym/palettes/06.gbapal" + .incbin "data/tilesets/secondary/petalburg_gym/palettes/07.gbapal" + .incbin "data/tilesets/secondary/petalburg_gym/palettes/08.gbapal" + .incbin "data/tilesets/secondary/petalburg_gym/palettes/09.gbapal" + .incbin "data/tilesets/secondary/petalburg_gym/palettes/10.gbapal" + .incbin "data/tilesets/secondary/petalburg_gym/palettes/11.gbapal" + .incbin "data/tilesets/secondary/petalburg_gym/palettes/12.gbapal" + .incbin "data/tilesets/secondary/petalburg_gym/palettes/13.gbapal" + .incbin "data/tilesets/secondary/petalburg_gym/palettes/14.gbapal" + .incbin "data/tilesets/secondary/petalburg_gym/palettes/15.gbapal" + + .align 2 +gTilesetTiles_FortreeGym:: @ 8376D50 + .incbin "data/tilesets/secondary/fortree_gym/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_FortreeGym:: @ 83770C4 + .incbin "data/tilesets/secondary/fortree_gym/palettes/00.gbapal" + .incbin "data/tilesets/secondary/fortree_gym/palettes/01.gbapal" + .incbin "data/tilesets/secondary/fortree_gym/palettes/02.gbapal" + .incbin "data/tilesets/secondary/fortree_gym/palettes/03.gbapal" + .incbin "data/tilesets/secondary/fortree_gym/palettes/04.gbapal" + .incbin "data/tilesets/secondary/fortree_gym/palettes/05.gbapal" + .incbin "data/tilesets/secondary/fortree_gym/palettes/06.gbapal" + .incbin "data/tilesets/secondary/fortree_gym/palettes/07.gbapal" + .incbin "data/tilesets/secondary/fortree_gym/palettes/08.gbapal" + .incbin "data/tilesets/secondary/fortree_gym/palettes/09.gbapal" + .incbin "data/tilesets/secondary/fortree_gym/palettes/10.gbapal" + .incbin "data/tilesets/secondary/fortree_gym/palettes/11.gbapal" + .incbin "data/tilesets/secondary/fortree_gym/palettes/12.gbapal" + .incbin "data/tilesets/secondary/fortree_gym/palettes/13.gbapal" + .incbin "data/tilesets/secondary/fortree_gym/palettes/14.gbapal" + .incbin "data/tilesets/secondary/fortree_gym/palettes/15.gbapal" + + .align 2 +gTilesetTiles_MossdeepGym:: @ 83772C4 + .incbin "data/tilesets/secondary/mossdeep_gym/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_MossdeepGym:: @ 8377730 + .incbin "data/tilesets/secondary/mossdeep_gym/palettes/00.gbapal" + .incbin "data/tilesets/secondary/mossdeep_gym/palettes/01.gbapal" + .incbin "data/tilesets/secondary/mossdeep_gym/palettes/02.gbapal" + .incbin "data/tilesets/secondary/mossdeep_gym/palettes/03.gbapal" + .incbin "data/tilesets/secondary/mossdeep_gym/palettes/04.gbapal" + .incbin "data/tilesets/secondary/mossdeep_gym/palettes/05.gbapal" + .incbin "data/tilesets/secondary/mossdeep_gym/palettes/06.gbapal" + .incbin "data/tilesets/secondary/mossdeep_gym/palettes/07.gbapal" + .incbin "data/tilesets/secondary/mossdeep_gym/palettes/08.gbapal" + .incbin "data/tilesets/secondary/mossdeep_gym/palettes/09.gbapal" + .incbin "data/tilesets/secondary/mossdeep_gym/palettes/10.gbapal" + .incbin "data/tilesets/secondary/mossdeep_gym/palettes/11.gbapal" + .incbin "data/tilesets/secondary/mossdeep_gym/palettes/12.gbapal" + .incbin "data/tilesets/secondary/mossdeep_gym/palettes/13.gbapal" + .incbin "data/tilesets/secondary/mossdeep_gym/palettes/14.gbapal" + .incbin "data/tilesets/secondary/mossdeep_gym/palettes/15.gbapal" + + .align 2 +gTilesetTiles_SootopolisGym:: @ 8377930 + .incbin "data/tilesets/secondary/sootopolis_gym/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_SootopolisGym:: @ 8378AC4 + .incbin "data/tilesets/secondary/sootopolis_gym/palettes/00.gbapal" + .incbin "data/tilesets/secondary/sootopolis_gym/palettes/01.gbapal" + .incbin "data/tilesets/secondary/sootopolis_gym/palettes/02.gbapal" + .incbin "data/tilesets/secondary/sootopolis_gym/palettes/03.gbapal" + .incbin "data/tilesets/secondary/sootopolis_gym/palettes/04.gbapal" + .incbin "data/tilesets/secondary/sootopolis_gym/palettes/05.gbapal" + .incbin "data/tilesets/secondary/sootopolis_gym/palettes/06.gbapal" + .incbin "data/tilesets/secondary/sootopolis_gym/palettes/07.gbapal" + .incbin "data/tilesets/secondary/sootopolis_gym/palettes/08.gbapal" + .incbin "data/tilesets/secondary/sootopolis_gym/palettes/09.gbapal" + .incbin "data/tilesets/secondary/sootopolis_gym/palettes/10.gbapal" + .incbin "data/tilesets/secondary/sootopolis_gym/palettes/11.gbapal" + .incbin "data/tilesets/secondary/sootopolis_gym/palettes/12.gbapal" + .incbin "data/tilesets/secondary/sootopolis_gym/palettes/13.gbapal" + .incbin "data/tilesets/secondary/sootopolis_gym/palettes/14.gbapal" + .incbin "data/tilesets/secondary/sootopolis_gym/palettes/15.gbapal" + + .align 2 +gTilesetTiles_TrickHousePuzzle:: @ 8378CC4 + .incbin "data/tilesets/secondary/trick_house_puzzle/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_TrickHousePuzzle:: @ 8379A78 + .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/00.gbapal" + .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/01.gbapal" + .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/02.gbapal" + .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/03.gbapal" + .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/04.gbapal" + .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/05.gbapal" + .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/06.gbapal" + .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/07.gbapal" + .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/08.gbapal" + .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/09.gbapal" + .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/10.gbapal" + .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/11.gbapal" + .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/12.gbapal" + .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/13.gbapal" + .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/14.gbapal" + .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/15.gbapal" + + .align 2 +gTilesetTiles_InsideShip:: @ 8379C78 + .incbin "data/tilesets/secondary/inside_ship/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_InsideShip:: @ 837A848 + .incbin "data/tilesets/secondary/inside_ship/palettes/00.gbapal" + .incbin "data/tilesets/secondary/inside_ship/palettes/01.gbapal" + .incbin "data/tilesets/secondary/inside_ship/palettes/02.gbapal" + .incbin "data/tilesets/secondary/inside_ship/palettes/03.gbapal" + .incbin "data/tilesets/secondary/inside_ship/palettes/04.gbapal" + .incbin "data/tilesets/secondary/inside_ship/palettes/05.gbapal" + .incbin "data/tilesets/secondary/inside_ship/palettes/06.gbapal" + .incbin "data/tilesets/secondary/inside_ship/palettes/07.gbapal" + .incbin "data/tilesets/secondary/inside_ship/palettes/08.gbapal" + .incbin "data/tilesets/secondary/inside_ship/palettes/09.gbapal" + .incbin "data/tilesets/secondary/inside_ship/palettes/10.gbapal" + .incbin "data/tilesets/secondary/inside_ship/palettes/11.gbapal" + .incbin "data/tilesets/secondary/inside_ship/palettes/12.gbapal" + .incbin "data/tilesets/secondary/inside_ship/palettes/13.gbapal" + .incbin "data/tilesets/secondary/inside_ship/palettes/14.gbapal" + .incbin "data/tilesets/secondary/inside_ship/palettes/15.gbapal" + + .align 2 +gTilesetTiles_SecretBase:: @ 837AA48 + .incbin "data/tilesets/primary/secret_base/tiles.4bpp" + + .align 2 + .incbin "data/tilesets/primary/secret_base/unknown_tiles.4bpp" + + .align 2 +gTilesetPalettes_SecretBase:: @ 8382A48 + .incbin "data/tilesets/primary/secret_base/palettes/00.gbapal" + .incbin "data/tilesets/primary/secret_base/palettes/01.gbapal" + .incbin "data/tilesets/primary/secret_base/palettes/02.gbapal" + .incbin "data/tilesets/primary/secret_base/palettes/03.gbapal" + .incbin "data/tilesets/primary/secret_base/palettes/04.gbapal" + .incbin "data/tilesets/primary/secret_base/palettes/05.gbapal" + .incbin "data/tilesets/primary/secret_base/palettes/06.gbapal" + .incbin "data/tilesets/primary/secret_base/palettes/07.gbapal" + .incbin "data/tilesets/primary/secret_base/palettes/08.gbapal" + .incbin "data/tilesets/primary/secret_base/palettes/09.gbapal" + .incbin "data/tilesets/primary/secret_base/palettes/10.gbapal" + .incbin "data/tilesets/primary/secret_base/palettes/11.gbapal" + .incbin "data/tilesets/primary/secret_base/palettes/12.gbapal" + .incbin "data/tilesets/primary/secret_base/palettes/13.gbapal" + .incbin "data/tilesets/primary/secret_base/palettes/14.gbapal" + .incbin "data/tilesets/primary/secret_base/palettes/15.gbapal" + + .align 2 +gTilesetTiles_EliteFour:: @ 8382C48 + .incbin "data/tilesets/secondary/elite_four/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_EliteFour:: @ 8383CC4 + .incbin "data/tilesets/secondary/elite_four/palettes/00.gbapal" + .incbin "data/tilesets/secondary/elite_four/palettes/01.gbapal" + .incbin "data/tilesets/secondary/elite_four/palettes/02.gbapal" + .incbin "data/tilesets/secondary/elite_four/palettes/03.gbapal" + .incbin "data/tilesets/secondary/elite_four/palettes/04.gbapal" + .incbin "data/tilesets/secondary/elite_four/palettes/05.gbapal" + .incbin "data/tilesets/secondary/elite_four/palettes/06.gbapal" + .incbin "data/tilesets/secondary/elite_four/palettes/07.gbapal" + .incbin "data/tilesets/secondary/elite_four/palettes/08.gbapal" + .incbin "data/tilesets/secondary/elite_four/palettes/09.gbapal" + .incbin "data/tilesets/secondary/elite_four/palettes/10.gbapal" + .incbin "data/tilesets/secondary/elite_four/palettes/11.gbapal" + .incbin "data/tilesets/secondary/elite_four/palettes/12.gbapal" + .incbin "data/tilesets/secondary/elite_four/palettes/13.gbapal" + .incbin "data/tilesets/secondary/elite_four/palettes/14.gbapal" + .incbin "data/tilesets/secondary/elite_four/palettes/15.gbapal" + + .align 2 +gTilesetTiles_BattleFrontier:: @ 8383EC4 + .incbin "data/tilesets/secondary/battle_frontier/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_BattleFrontier:: @ 8384BC8 + .incbin "data/tilesets/secondary/battle_frontier/palettes/00.gbapal" + .incbin "data/tilesets/secondary/battle_frontier/palettes/01.gbapal" + .incbin "data/tilesets/secondary/battle_frontier/palettes/02.gbapal" + .incbin "data/tilesets/secondary/battle_frontier/palettes/03.gbapal" + .incbin "data/tilesets/secondary/battle_frontier/palettes/04.gbapal" + .incbin "data/tilesets/secondary/battle_frontier/palettes/05.gbapal" + .incbin "data/tilesets/secondary/battle_frontier/palettes/06.gbapal" + .incbin "data/tilesets/secondary/battle_frontier/palettes/07.gbapal" + .incbin "data/tilesets/secondary/battle_frontier/palettes/08.gbapal" + .incbin "data/tilesets/secondary/battle_frontier/palettes/09.gbapal" + .incbin "data/tilesets/secondary/battle_frontier/palettes/10.gbapal" + .incbin "data/tilesets/secondary/battle_frontier/palettes/11.gbapal" + .incbin "data/tilesets/secondary/battle_frontier/palettes/12.gbapal" + .incbin "data/tilesets/secondary/battle_frontier/palettes/13.gbapal" + .incbin "data/tilesets/secondary/battle_frontier/palettes/14.gbapal" + .incbin "data/tilesets/secondary/battle_frontier/palettes/15.gbapal" + + .align 2 +gTilesetTiles_BattlePalace:: @ 8384DC8 + .incbin "data/tilesets/secondary/battle_palace/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_BattlePalace:: @ 8385540 + .incbin "data/tilesets/secondary/battle_palace/palettes/00.gbapal" + .incbin "data/tilesets/secondary/battle_palace/palettes/01.gbapal" + .incbin "data/tilesets/secondary/battle_palace/palettes/02.gbapal" + .incbin "data/tilesets/secondary/battle_palace/palettes/03.gbapal" + .incbin "data/tilesets/secondary/battle_palace/palettes/04.gbapal" + .incbin "data/tilesets/secondary/battle_palace/palettes/05.gbapal" + .incbin "data/tilesets/secondary/battle_palace/palettes/06.gbapal" + .incbin "data/tilesets/secondary/battle_palace/palettes/07.gbapal" + .incbin "data/tilesets/secondary/battle_palace/palettes/08.gbapal" + .incbin "data/tilesets/secondary/battle_palace/palettes/09.gbapal" + .incbin "data/tilesets/secondary/battle_palace/palettes/10.gbapal" + .incbin "data/tilesets/secondary/battle_palace/palettes/11.gbapal" + .incbin "data/tilesets/secondary/battle_palace/palettes/12.gbapal" + .incbin "data/tilesets/secondary/battle_palace/palettes/13.gbapal" + .incbin "data/tilesets/secondary/battle_palace/palettes/14.gbapal" + .incbin "data/tilesets/secondary/battle_palace/palettes/15.gbapal" + + .align 2 +gTilesetTiles_BattleDome:: @ 8385740 + .incbin "data/tilesets/secondary/battle_dome/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_BattleDome:: @ 8386990 + .incbin "data/tilesets/secondary/battle_dome/palettes/00.gbapal" + .incbin "data/tilesets/secondary/battle_dome/palettes/01.gbapal" + .incbin "data/tilesets/secondary/battle_dome/palettes/02.gbapal" + .incbin "data/tilesets/secondary/battle_dome/palettes/03.gbapal" + .incbin "data/tilesets/secondary/battle_dome/palettes/04.gbapal" + .incbin "data/tilesets/secondary/battle_dome/palettes/05.gbapal" + .incbin "data/tilesets/secondary/battle_dome/palettes/06.gbapal" + .incbin "data/tilesets/secondary/battle_dome/palettes/07.gbapal" + .incbin "data/tilesets/secondary/battle_dome/palettes/08.gbapal" + .incbin "data/tilesets/secondary/battle_dome/palettes/09.gbapal" + .incbin "data/tilesets/secondary/battle_dome/palettes/10.gbapal" + .incbin "data/tilesets/secondary/battle_dome/palettes/11.gbapal" + .incbin "data/tilesets/secondary/battle_dome/palettes/12.gbapal" + .incbin "data/tilesets/secondary/battle_dome/palettes/13.gbapal" + .incbin "data/tilesets/secondary/battle_dome/palettes/14.gbapal" + .incbin "data/tilesets/secondary/battle_dome/palettes/15.gbapal" + + .align 2 +gTilesetTiles_BattleFactory:: @ 8386B90 + .incbin "data/tilesets/secondary/battle_factory/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_BattleFactory:: @ 8387D7C + .incbin "data/tilesets/secondary/battle_factory/palettes/00.gbapal" + .incbin "data/tilesets/secondary/battle_factory/palettes/01.gbapal" + .incbin "data/tilesets/secondary/battle_factory/palettes/02.gbapal" + .incbin "data/tilesets/secondary/battle_factory/palettes/03.gbapal" + .incbin "data/tilesets/secondary/battle_factory/palettes/04.gbapal" + .incbin "data/tilesets/secondary/battle_factory/palettes/05.gbapal" + .incbin "data/tilesets/secondary/battle_factory/palettes/06.gbapal" + .incbin "data/tilesets/secondary/battle_factory/palettes/07.gbapal" + .incbin "data/tilesets/secondary/battle_factory/palettes/08.gbapal" + .incbin "data/tilesets/secondary/battle_factory/palettes/09.gbapal" + .incbin "data/tilesets/secondary/battle_factory/palettes/10.gbapal" + .incbin "data/tilesets/secondary/battle_factory/palettes/11.gbapal" + .incbin "data/tilesets/secondary/battle_factory/palettes/12.gbapal" + .incbin "data/tilesets/secondary/battle_factory/palettes/13.gbapal" + .incbin "data/tilesets/secondary/battle_factory/palettes/14.gbapal" + .incbin "data/tilesets/secondary/battle_factory/palettes/15.gbapal" + + .align 2 +gTilesetTiles_BattlePike:: @ 8387F7C + .incbin "data/tilesets/secondary/battle_pike/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_BattlePike:: @ 8389250 + .incbin "data/tilesets/secondary/battle_pike/palettes/00.gbapal" + .incbin "data/tilesets/secondary/battle_pike/palettes/01.gbapal" + .incbin "data/tilesets/secondary/battle_pike/palettes/02.gbapal" + .incbin "data/tilesets/secondary/battle_pike/palettes/03.gbapal" + .incbin "data/tilesets/secondary/battle_pike/palettes/04.gbapal" + .incbin "data/tilesets/secondary/battle_pike/palettes/05.gbapal" + .incbin "data/tilesets/secondary/battle_pike/palettes/06.gbapal" + .incbin "data/tilesets/secondary/battle_pike/palettes/07.gbapal" + .incbin "data/tilesets/secondary/battle_pike/palettes/08.gbapal" + .incbin "data/tilesets/secondary/battle_pike/palettes/09.gbapal" + .incbin "data/tilesets/secondary/battle_pike/palettes/10.gbapal" + .incbin "data/tilesets/secondary/battle_pike/palettes/11.gbapal" + .incbin "data/tilesets/secondary/battle_pike/palettes/12.gbapal" + .incbin "data/tilesets/secondary/battle_pike/palettes/13.gbapal" + .incbin "data/tilesets/secondary/battle_pike/palettes/14.gbapal" + .incbin "data/tilesets/secondary/battle_pike/palettes/15.gbapal" + + .align 2 +gTilesetTiles_BattleArena:: @ 8389450 + .incbin "data/tilesets/secondary/battle_arena/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_BattleArena:: @ 8389F8C + .incbin "data/tilesets/secondary/battle_arena/palettes/00.gbapal" + .incbin "data/tilesets/secondary/battle_arena/palettes/01.gbapal" + .incbin "data/tilesets/secondary/battle_arena/palettes/02.gbapal" + .incbin "data/tilesets/secondary/battle_arena/palettes/03.gbapal" + .incbin "data/tilesets/secondary/battle_arena/palettes/04.gbapal" + .incbin "data/tilesets/secondary/battle_arena/palettes/05.gbapal" + .incbin "data/tilesets/secondary/battle_arena/palettes/06.gbapal" + .incbin "data/tilesets/secondary/battle_arena/palettes/07.gbapal" + .incbin "data/tilesets/secondary/battle_arena/palettes/08.gbapal" + .incbin "data/tilesets/secondary/battle_arena/palettes/09.gbapal" + .incbin "data/tilesets/secondary/battle_arena/palettes/10.gbapal" + .incbin "data/tilesets/secondary/battle_arena/palettes/11.gbapal" + .incbin "data/tilesets/secondary/battle_arena/palettes/12.gbapal" + .incbin "data/tilesets/secondary/battle_arena/palettes/13.gbapal" + .incbin "data/tilesets/secondary/battle_arena/palettes/14.gbapal" + .incbin "data/tilesets/secondary/battle_arena/palettes/15.gbapal" + + .align 2 +gTilesetTiles_BattlePyramid:: @ 838A18C + .incbin "data/tilesets/secondary/battle_pyramid/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_BattlePyramid:: @ 838B39C + .incbin "data/tilesets/secondary/battle_pyramid/palettes/00.gbapal" + .incbin "data/tilesets/secondary/battle_pyramid/palettes/01.gbapal" + .incbin "data/tilesets/secondary/battle_pyramid/palettes/02.gbapal" + .incbin "data/tilesets/secondary/battle_pyramid/palettes/03.gbapal" + .incbin "data/tilesets/secondary/battle_pyramid/palettes/04.gbapal" + .incbin "data/tilesets/secondary/battle_pyramid/palettes/05.gbapal" + .incbin "data/tilesets/secondary/battle_pyramid/palettes/06.gbapal" + .incbin "data/tilesets/secondary/battle_pyramid/palettes/07.gbapal" + .incbin "data/tilesets/secondary/battle_pyramid/palettes/08.gbapal" + .incbin "data/tilesets/secondary/battle_pyramid/palettes/09.gbapal" + .incbin "data/tilesets/secondary/battle_pyramid/palettes/10.gbapal" + .incbin "data/tilesets/secondary/battle_pyramid/palettes/11.gbapal" + .incbin "data/tilesets/secondary/battle_pyramid/palettes/12.gbapal" + .incbin "data/tilesets/secondary/battle_pyramid/palettes/13.gbapal" + .incbin "data/tilesets/secondary/battle_pyramid/palettes/14.gbapal" + .incbin "data/tilesets/secondary/battle_pyramid/palettes/15.gbapal" + + .align 2 +gTilesetTiles_MirageTower:: @ 838B59C + .incbin "data/tilesets/secondary/mirage_tower/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_MirageTower:: @ 838CFE4 + .incbin "data/tilesets/secondary/mirage_tower/palettes/00.gbapal" + .incbin "data/tilesets/secondary/mirage_tower/palettes/01.gbapal" + .incbin "data/tilesets/secondary/mirage_tower/palettes/02.gbapal" + .incbin "data/tilesets/secondary/mirage_tower/palettes/03.gbapal" + .incbin "data/tilesets/secondary/mirage_tower/palettes/04.gbapal" + .incbin "data/tilesets/secondary/mirage_tower/palettes/05.gbapal" + .incbin "data/tilesets/secondary/mirage_tower/palettes/06.gbapal" + .incbin "data/tilesets/secondary/mirage_tower/palettes/07.gbapal" + .incbin "data/tilesets/secondary/mirage_tower/palettes/08.gbapal" + .incbin "data/tilesets/secondary/mirage_tower/palettes/09.gbapal" + .incbin "data/tilesets/secondary/mirage_tower/palettes/10.gbapal" + .incbin "data/tilesets/secondary/mirage_tower/palettes/11.gbapal" + .incbin "data/tilesets/secondary/mirage_tower/palettes/12.gbapal" + .incbin "data/tilesets/secondary/mirage_tower/palettes/13.gbapal" + .incbin "data/tilesets/secondary/mirage_tower/palettes/14.gbapal" + .incbin "data/tilesets/secondary/mirage_tower/palettes/15.gbapal" + + .align 2 +gTilesetTiles_MossdeepGameCorner:: @ 838D1E4 + .incbin "data/tilesets/secondary/mossdeep_game_corner/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_MossdeepGameCorner:: @ 838D604 + .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/00.gbapal" + .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/01.gbapal" + .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/02.gbapal" + .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/03.gbapal" + .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/04.gbapal" + .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/05.gbapal" + .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/06.gbapal" + .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/07.gbapal" + .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/08.gbapal" + .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/09.gbapal" + .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/10.gbapal" + .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/11.gbapal" + .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/12.gbapal" + .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/13.gbapal" + .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/14.gbapal" + .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/15.gbapal" + + .align 2 +gTilesetTiles_IslandHarbor:: @ 838D804 + .incbin "data/tilesets/secondary/island_harbor/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_IslandHarbor:: @ 838F1D4 + .incbin "data/tilesets/secondary/island_harbor/palettes/00.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/01.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/02.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/03.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/04.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/05.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/06.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/07.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/08.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/09.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/10.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/11.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/12.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/13.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/14.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/15.gbapal" + + .align 2 +gTilesetTiles_TrainerHill:: @ 838F3D4 + .incbin "data/tilesets/secondary/trainer_hill/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_TrainerHill:: @ 83904C4 + .incbin "data/tilesets/secondary/trainer_hill/palettes/00.gbapal" + .incbin "data/tilesets/secondary/trainer_hill/palettes/01.gbapal" + .incbin "data/tilesets/secondary/trainer_hill/palettes/02.gbapal" + .incbin "data/tilesets/secondary/trainer_hill/palettes/03.gbapal" + .incbin "data/tilesets/secondary/trainer_hill/palettes/04.gbapal" + .incbin "data/tilesets/secondary/trainer_hill/palettes/05.gbapal" + .incbin "data/tilesets/secondary/trainer_hill/palettes/06.gbapal" + .incbin "data/tilesets/secondary/trainer_hill/palettes/07.gbapal" + .incbin "data/tilesets/secondary/trainer_hill/palettes/08.gbapal" + .incbin "data/tilesets/secondary/trainer_hill/palettes/09.gbapal" + .incbin "data/tilesets/secondary/trainer_hill/palettes/10.gbapal" + .incbin "data/tilesets/secondary/trainer_hill/palettes/11.gbapal" + .incbin "data/tilesets/secondary/trainer_hill/palettes/12.gbapal" + .incbin "data/tilesets/secondary/trainer_hill/palettes/13.gbapal" + .incbin "data/tilesets/secondary/trainer_hill/palettes/14.gbapal" + .incbin "data/tilesets/secondary/trainer_hill/palettes/15.gbapal" + + .align 2 +gTilesetTiles_NavelRock:: @ 83906C4 + .incbin "data/tilesets/secondary/navel_rock/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_NavelRock:: @ 8392258 + .incbin "data/tilesets/secondary/navel_rock/palettes/00.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/01.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/02.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/03.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/04.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/05.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/06.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/07.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/08.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/09.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/10.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/11.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/12.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/13.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/14.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/15.gbapal" + + .align 2 +gTilesetTiles_BattleFrontierRankingHall:: @ 8392458 + .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_BattleFrontierRankingHall:: @ 8392CAC + .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/00.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/01.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/02.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/03.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/04.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/05.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/06.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/07.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/08.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/09.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/10.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/11.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/12.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/13.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/14.gbapal" + .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/15.gbapal" + + .align 2 +gTilesetTiles_BattleTent:: @ 8392EAC + .incbin "data/tilesets/secondary/battle_tent/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_BattleTent:: @ 8393910 + .incbin "data/tilesets/secondary/battle_tent/palettes/00.gbapal" + .incbin "data/tilesets/secondary/battle_tent/palettes/01.gbapal" + .incbin "data/tilesets/secondary/battle_tent/palettes/02.gbapal" + .incbin "data/tilesets/secondary/battle_tent/palettes/03.gbapal" + .incbin "data/tilesets/secondary/battle_tent/palettes/04.gbapal" + .incbin "data/tilesets/secondary/battle_tent/palettes/05.gbapal" + .incbin "data/tilesets/secondary/battle_tent/palettes/06.gbapal" + .incbin "data/tilesets/secondary/battle_tent/palettes/07.gbapal" + .incbin "data/tilesets/secondary/battle_tent/palettes/08.gbapal" + .incbin "data/tilesets/secondary/battle_tent/palettes/09.gbapal" + .incbin "data/tilesets/secondary/battle_tent/palettes/10.gbapal" + .incbin "data/tilesets/secondary/battle_tent/palettes/11.gbapal" + .incbin "data/tilesets/secondary/battle_tent/palettes/12.gbapal" + .incbin "data/tilesets/secondary/battle_tent/palettes/13.gbapal" + .incbin "data/tilesets/secondary/battle_tent/palettes/14.gbapal" + .incbin "data/tilesets/secondary/battle_tent/palettes/15.gbapal" + + .align 2 +gTilesetTiles_MysteryEventsHouse:: @ 8393B10 + .incbin "data/tilesets/secondary/mystery_events_house/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_MysteryEventsHouse:: @ 8395478 + .incbin "data/tilesets/secondary/mystery_events_house/palettes/00.gbapal" + .incbin "data/tilesets/secondary/mystery_events_house/palettes/01.gbapal" + .incbin "data/tilesets/secondary/mystery_events_house/palettes/02.gbapal" + .incbin "data/tilesets/secondary/mystery_events_house/palettes/03.gbapal" + .incbin "data/tilesets/secondary/mystery_events_house/palettes/04.gbapal" + .incbin "data/tilesets/secondary/mystery_events_house/palettes/05.gbapal" + .incbin "data/tilesets/secondary/mystery_events_house/palettes/06.gbapal" + .incbin "data/tilesets/secondary/mystery_events_house/palettes/07.gbapal" + .incbin "data/tilesets/secondary/mystery_events_house/palettes/08.gbapal" + .incbin "data/tilesets/secondary/mystery_events_house/palettes/09.gbapal" + .incbin "data/tilesets/secondary/mystery_events_house/palettes/10.gbapal" + .incbin "data/tilesets/secondary/mystery_events_house/palettes/11.gbapal" + .incbin "data/tilesets/secondary/mystery_events_house/palettes/12.gbapal" + .incbin "data/tilesets/secondary/mystery_events_house/palettes/13.gbapal" + .incbin "data/tilesets/secondary/mystery_events_house/palettes/14.gbapal" + .incbin "data/tilesets/secondary/mystery_events_house/palettes/15.gbapal" + + .align 2 +gTilesetPalettes_UnionRoom:: @ 8395678 + .incbin "data/tilesets/secondary/union_room/palettes/00.gbapal" + .incbin "data/tilesets/secondary/union_room/palettes/01.gbapal" + .incbin "data/tilesets/secondary/union_room/palettes/02.gbapal" + .incbin "data/tilesets/secondary/union_room/palettes/03.gbapal" + .incbin "data/tilesets/secondary/union_room/palettes/04.gbapal" + .incbin "data/tilesets/secondary/union_room/palettes/05.gbapal" + .incbin "data/tilesets/secondary/union_room/palettes/06.gbapal" + .incbin "data/tilesets/secondary/union_room/palettes/07.gbapal" + .incbin "data/tilesets/secondary/union_room/palettes/08.gbapal" + .incbin "data/tilesets/secondary/union_room/palettes/09.gbapal" + .incbin "data/tilesets/secondary/union_room/palettes/10.gbapal" + .incbin "data/tilesets/secondary/union_room/palettes/11.gbapal" + .incbin "data/tilesets/secondary/union_room/palettes/12.gbapal" + .incbin "data/tilesets/secondary/union_room/palettes/13.gbapal" + .incbin "data/tilesets/secondary/union_room/palettes/14.gbapal" + .incbin "data/tilesets/secondary/union_room/palettes/15.gbapal" + + .align 2 +gTilesetTiles_UnionRoom:: @ 8395878 + .incbin "data/tilesets/secondary/union_room/tiles.4bpp.lz" diff --git a/data/tilesets/headers.inc b/data/tilesets/headers.inc new file mode 100644 index 0000000000..2083e17df7 --- /dev/null +++ b/data/tilesets/headers.inc @@ -0,0 +1,832 @@ + .align 2 +gTileset_General:: @ 83DF704 + .byte TRUE @ is compressed + .byte FALSE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_General + .4byte gTilesetPalettes_General + .4byte gMetatiles_General + .4byte gMetatileAttributes_General + .4byte TilesetCb_General + + .align 2 +gTileset_Petalburg:: @ 83DF71C + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_Petalburg + .4byte gTilesetPalettes_Petalburg + .4byte gMetatiles_Petalburg + .4byte gMetatileAttributes_Petalburg + .4byte TilesetCb_Petalburg + + .align 2 +gTileset_Rustboro:: @ 83DF734 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_Rustboro + .4byte gTilesetPalettes_Rustboro + .4byte gMetatiles_Rustboro + .4byte gMetatileAttributes_Rustboro + .4byte TilesetCb_Rustboro + + .align 2 +gTileset_Dewford:: @ 83DF74C + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_Dewford + .4byte gTilesetPalettes_Dewford + .4byte gMetatiles_Dewford + .4byte gMetatileAttributes_Dewford + .4byte TilesetCb_Dewford + + .align 2 +gTileset_Slateport:: @ 83DF764 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_Slateport + .4byte gTilesetPalettes_Slateport + .4byte gMetatiles_Slateport + .4byte gMetatileAttributes_Slateport + .4byte TilesetCb_Slateport + + .align 2 +gTileset_Mauville:: @ 83DF77C + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_Mauville + .4byte gTilesetPalettes_Mauville + .4byte gMetatiles_Mauville + .4byte gMetatileAttributes_Mauville + .4byte TilesetCb_Mauville + + .align 2 +gTileset_Lavaridge:: @ 83DF794 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_Lavaridge + .4byte gTilesetPalettes_Lavaridge + .4byte gMetatiles_Lavaridge + .4byte gMetatileAttributes_Lavaridge + .4byte TilesetCb_Lavaridge + + .align 2 +gTileset_Fallarbor:: @ 83DF7AC + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_Fallarbor + .4byte gTilesetPalettes_Fallarbor + .4byte gMetatiles_Fallarbor + .4byte gMetatileAttributes_Fallarbor + .4byte TilesetCb_Fallarbor + + .align 2 +gTileset_Fortree:: @ 83DF7C4 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_Fortree + .4byte gTilesetPalettes_Fortree + .4byte gMetatiles_Fortree + .4byte gMetatileAttributes_Fortree + .4byte TilesetCb_Fortree + + .align 2 +gTileset_Lilycove:: @ 83DF7DC + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_Lilycove + .4byte gTilesetPalettes_Lilycove + .4byte gMetatiles_Lilycove + .4byte gMetatileAttributes_Lilycove + .4byte TilesetCb_Lilycove + + .align 2 +gTileset_Mossdeep:: @ 83DF7F4 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_Mossdeep + .4byte gTilesetPalettes_Mossdeep + .4byte gMetatiles_Mossdeep + .4byte gMetatileAttributes_Mossdeep + .4byte TilesetCb_Mossdeep + + .align 2 +gTileset_EverGrande:: @ 83DF80C + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_EverGrande + .4byte gTilesetPalettes_EverGrande + .4byte gMetatiles_EverGrande + .4byte gMetatileAttributes_EverGrande + .4byte TilesetCb_EverGrande + + .align 2 +gTileset_Pacifidlog:: @ 83DF824 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_Pacifidlog + .4byte gTilesetPalettes_Pacifidlog + .4byte gMetatiles_Pacifidlog + .4byte gMetatileAttributes_Pacifidlog + .4byte TilesetCb_Pacifidlog + + .align 2 +gTileset_Sootopolis:: @ 83DF83C + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_Sootopolis + .4byte gTilesetPalettes_Sootopolis + .4byte gMetatiles_Sootopolis + .4byte gMetatileAttributes_Sootopolis + .4byte TilesetCb_Sootopolis + + .align 2 +gTileset_BattleFrontierOutsideWest:: @ 83DF854 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_BattleFrontierOutsideWest + .4byte gTilesetPalettes_BattleFrontierOutsideWest + .4byte gMetatiles_BattleFrontierOutsideWest + .4byte gMetatileAttributes_BattleFrontierOutsideWest + .4byte TilesetCb_BattleFrontierOutsideWest + + .align 2 +gTileset_BattleFrontierOutsideEast:: @ 83DF86C + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_BattleFrontierOutsideEast + .4byte gTilesetPalettes_BattleFrontierOutsideEast + .4byte gMetatiles_BattleFrontierOutsideEast + .4byte gMetatileAttributes_BattleFrontierOutsideEast + .4byte TilesetCb_BattleFrontierOutsideEast + + .align 2 +gTileset_Building:: @ 83DF884 + .byte TRUE @ is compressed + .byte FALSE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_InsideBuilding + .4byte gTilesetPalettes_InsideBuilding + .4byte gMetatiles_InsideBuilding + .4byte gMetatileAttributes_InsideBuilding + .4byte TilesetCb_InsideBuilding + + .align 2 +gTileset_Shop:: @ 83DF89C + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_Shop + .4byte gTilesetPalettes_Shop + .4byte gMetatiles_Shop + .4byte gMetatileAttributes_Shop + .4byte NULL @ animation callback + + .align 2 +gTileset_PokemonCenter:: @ 83DF8B4 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_PokemonCenter + .4byte gTilesetPalettes_PokemonCenter + .4byte gMetatiles_PokemonCenter + .4byte gMetatileAttributes_PokemonCenter + .4byte NULL @ animation callback + + .align 2 +gTileset_Cave:: @ 83DF8CC + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_Cave + .4byte gTilesetPalettes_Cave + .4byte gMetatiles_Cave + .4byte gMetatileAttributes_Cave + .4byte TilesetCb_Cave + + .align 2 +gTileset_PokemonSchool:: @ 83DF8E4 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_PokemonSchool + .4byte gTilesetPalettes_PokemonSchool + .4byte gMetatiles_PokemonSchool + .4byte gMetatileAttributes_PokemonSchool + .4byte NULL @ animation callback + + .align 2 +gTileset_PokemonFanClub:: @ 83DF8FC + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_PokemonFanClub + .4byte gTilesetPalettes_PokemonFanClub + .4byte gMetatiles_PokemonFanClub + .4byte gMetatileAttributes_PokemonFanClub + .4byte NULL @ animation callback + + .align 2 +gTileset_Unused1:: @ 83DF914 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_Unused1 + .4byte gTilesetPalettes_Unused1 + .4byte gMetatiles_Unused1 + .4byte gMetatileAttributes_Unused1 + .4byte NULL @ animation callback + + .align 2 +gTileset_MeteorFalls:: @ 83DF92C + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_MeteorFalls + .4byte gTilesetPalettes_MeteorFalls + .4byte gMetatiles_MeteorFalls + .4byte gMetatileAttributes_MeteorFalls + .4byte NULL @ animation callback + + .align 2 +gTileset_OceanicMuseum:: @ 83DF944 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_OceanicMuseum + .4byte gTilesetPalettes_OceanicMuseum + .4byte gMetatiles_OceanicMuseum + .4byte gMetatileAttributes_OceanicMuseum + .4byte NULL @ animation callback + + .align 2 +gTileset_CableClub:: @ 83DF95C + .byte FALSE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_CableClub + .4byte gTilesetPalettes_CableClub + .4byte gMetatiles_CableClub + .4byte gMetatileAttributes_CableClub + .4byte NULL @ animation callback + + .align 2 +gTileset_SeashoreHouse:: @ 83DF974 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_SeashoreHouse + .4byte gTilesetPalettes_SeashoreHouse + .4byte gMetatiles_SeashoreHouse + .4byte gMetatileAttributes_SeashoreHouse + .4byte NULL @ animation callback + + .align 2 +gTileset_PrettyPetalFlowerShop:: @ 83DF98C + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_PrettyPetalFlowerShop + .4byte gTilesetPalettes_PrettyPetalFlowerShop + .4byte gMetatiles_PrettyPetalFlowerShop + .4byte gMetatileAttributes_PrettyPetalFlowerShop + .4byte NULL @ animation callback + + .align 2 +gTileset_PokemonDayCare:: @ 83DF9A4 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_PokemonDayCare + .4byte gTilesetPalettes_PokemonDayCare + .4byte gMetatiles_PokemonDayCare + .4byte gMetatileAttributes_PokemonDayCare + .4byte NULL @ animation callback + + .align 2 +gTileset_Facility:: @ 83DF9BC + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_Facility + .4byte gTilesetPalettes_Facility + .4byte gMetatiles_Facility + .4byte gMetatileAttributes_Facility + .4byte NULL @ animation callback + + .align 2 +gTileset_BikeShop:: @ 83DF9D4 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_BikeShop + .4byte gTilesetPalettes_BikeShop + .4byte gMetatiles_BikeShop + .4byte gMetatileAttributes_BikeShop + .4byte TilesetCb_BikeShop + + .align 2 +gTileset_RusturfTunnel:: @ 83DF9EC + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_RusturfTunnel + .4byte gTilesetPalettes_RusturfTunnel + .4byte gMetatiles_RusturfTunnel + .4byte gMetatileAttributes_RusturfTunnel + .4byte NULL @ animation callback + + .align 2 +gTileset_SecretBaseBrownCave:: @ 83DFA04 + .byte FALSE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_SecretBaseBrownCave + .4byte gTilesetPalettes_SecretBaseBrownCave + .4byte gMetatiles_SecretBaseSecondary + .4byte gMetatileAttributes_SecretBaseSecondary + .4byte NULL @ animation callback + + .align 2 +gTileset_SecretBaseTree:: @ 83DFA1C + .byte FALSE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_SecretBaseTree + .4byte gTilesetPalettes_SecretBaseTree + .4byte gMetatiles_SecretBaseSecondary + .4byte gMetatileAttributes_SecretBaseSecondary + .4byte NULL @ animation callback + + .align 2 +gTileset_SecretBaseShrub:: @ 83DFA34 + .byte FALSE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_SecretBaseShrub + .4byte gTilesetPalettes_SecretBaseShrub + .4byte gMetatiles_SecretBaseSecondary + .4byte gMetatileAttributes_SecretBaseSecondary + .4byte NULL @ animation callback + + .align 2 +gTileset_SecretBaseBlueCave:: @ 83DFA4C + .byte FALSE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_SecretBaseBlueCave + .4byte gTilesetPalettes_SecretBaseBlueCave + .4byte gMetatiles_SecretBaseSecondary + .4byte gMetatileAttributes_SecretBaseSecondary + .4byte NULL @ animation callback + + .align 2 +gTileset_SecretBaseYellowCave:: @ 83DFA64 + .byte FALSE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_SecretBaseYellowCave + .4byte gTilesetPalettes_SecretBaseYellowCave + .4byte gMetatiles_SecretBaseSecondary + .4byte gMetatileAttributes_SecretBaseSecondary + .4byte NULL @ animation callback + + .align 2 +gTileset_SecretBaseRedCave:: @ 83DFA7C + .byte FALSE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_SecretBaseRedCave + .4byte gTilesetPalettes_SecretBaseRedCave + .4byte gMetatiles_SecretBaseSecondary + .4byte gMetatileAttributes_SecretBaseSecondary + .4byte NULL @ animation callback + + .align 2 +gTileset_InsideOfTruck:: @ 83DFA94 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_InsideOfTruck + .4byte gTilesetPalettes_InsideOfTruck + .4byte gMetatiles_InsideOfTruck + .4byte gMetatileAttributes_InsideOfTruck + .4byte NULL @ animation callback + + .align 2 +gTileset_Unused2:: @ 83DFAAC + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_Unused2 + .4byte gTilesetPalettes_Unused2 + .4byte gMetatiles_Unused2 + .4byte gMetatileAttributes_Unused2 + .4byte NULL @ animation callback + + .align 2 +gTileset_Contest:: @ 83DFAC4 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_Contest + .4byte gTilesetPalettes_Contest + .4byte gMetatiles_Contest + .4byte gMetatileAttributes_Contest + .4byte NULL @ animation callback + + .align 2 +gTileset_LilycoveMuseum:: @ 83DFADC + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_LilycoveMuseum + .4byte gTilesetPalettes_LilycoveMuseum + .4byte gMetatiles_LilycoveMuseum + .4byte gMetatileAttributes_LilycoveMuseum + .4byte NULL @ animation callback + + .align 2 +gTileset_BrendansMaysHouse:: @ 83DFAF4 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_BrendansMaysHouse + .4byte gTilesetPalettes_BrendansMaysHouse + .4byte gMetatiles_BrendansMaysHouse + .4byte gMetatileAttributes_BrendansMaysHouse + .4byte NULL @ animation callback + + .align 2 +gTileset_Lab:: @ 83DFB0C + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_Lab + .4byte gTilesetPalettes_Lab + .4byte gMetatiles_Lab + .4byte gMetatileAttributes_Lab + .4byte NULL @ animation callback + + .align 2 +gTileset_Underwater:: @ 83DFB24 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_Underwater + .4byte gTilesetPalettes_Underwater + .4byte gMetatiles_Underwater + .4byte gMetatileAttributes_Underwater + .4byte TilesetCb_Underwater + + .align 2 +gTileset_PetalburgGym:: @ 83DFB3C + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_PetalburgGym + .4byte gTilesetPalettes_PetalburgGym + .4byte gMetatiles_PetalburgGym + .4byte gMetatileAttributes_PetalburgGym + .4byte NULL @ animation callback + + .align 2 +gTileset_SootopolisGym:: @ 83DFB54 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_SootopolisGym + .4byte gTilesetPalettes_SootopolisGym + .4byte gMetatiles_SootopolisGym + .4byte gMetatileAttributes_SootopolisGym + .4byte TilesetCb_SootopolisGym + + .align 2 +gTileset_GenericBuilding:: @ 83DFB6C + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_GenericBuilding + .4byte gTilesetPalettes_GenericBuilding + .4byte gMetatiles_GenericBuilding + .4byte gMetatileAttributes_GenericBuilding + .4byte NULL @ animation callback + + .align 2 +gTileset_MauvilleGameCorner:: @ 83DFB84 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_MauvilleGameCorner + .4byte gTilesetPalettes_MauvilleGameCorner + .4byte gMetatiles_MauvilleGameCorner + .4byte gMetatileAttributes_MauvilleGameCorner + .4byte NULL @ animation callback + + .align 2 +gTileset_RustboroGym:: @ 83DFB9C + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_RustboroGym + .4byte gTilesetPalettes_RustboroGym + .4byte gMetatiles_RustboroGym + .4byte gMetatileAttributes_RustboroGym + .4byte NULL @ animation callback + + .align 2 +gTileset_DewfordGym:: @ 83DFBB4 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_DewfordGym + .4byte gTilesetPalettes_DewfordGym + .4byte gMetatiles_DewfordGym + .4byte gMetatileAttributes_DewfordGym + .4byte NULL @ animation callback + + .align 2 +gTileset_MauvilleGym:: @ 83DFBCC + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_MauvilleGym + .4byte gTilesetPalettes_MauvilleGym + .4byte gMetatiles_MauvilleGym + .4byte gMetatileAttributes_MauvilleGym + .4byte TilesetCb_MauvilleGym + + .align 2 +gTileset_LavaridgeGym:: @ 83DFBE4 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_LavaridgeGym + .4byte gTilesetPalettes_LavaridgeGym + .4byte gMetatiles_LavaridgeGym + .4byte gMetatileAttributes_LavaridgeGym + .4byte NULL @ animation callback + + .align 2 +gTileset_TrickHousePuzzle:: @ 83DFBFC + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_TrickHousePuzzle + .4byte gTilesetPalettes_TrickHousePuzzle + .4byte gMetatiles_TrickHousePuzzle + .4byte gMetatileAttributes_TrickHousePuzzle + .4byte NULL @ animation callback + + .align 2 +gTileset_FortreeGym:: @ 83DFC14 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_FortreeGym + .4byte gTilesetPalettes_FortreeGym + .4byte gMetatiles_FortreeGym + .4byte gMetatileAttributes_FortreeGym + .4byte NULL @ animation callback + + .align 2 +gTileset_MossdeepGym:: @ 83DFC2C + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_MossdeepGym + .4byte gTilesetPalettes_MossdeepGym + .4byte gMetatiles_MossdeepGym + .4byte gMetatileAttributes_MossdeepGym + .4byte NULL @ animation callback + + .align 2 +gTileset_InsideShip:: @ 83DFC44 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_InsideShip + .4byte gTilesetPalettes_InsideShip + .4byte gMetatiles_InsideShip + .4byte gMetatileAttributes_InsideShip + .4byte NULL @ animation callback + + .align 2 +gTileset_SecretBase:: @ 83DFC5C + .byte FALSE @ is compressed + .byte FALSE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_SecretBase + .4byte gTilesetPalettes_SecretBase + .4byte gMetatiles_SecretBasePrimary + .4byte gMetatileAttributes_SecretBasePrimary + .4byte NULL @ animation callback + + .align 2 +gTilesetPointer_SecretBase:: @ 83DFC74 + .4byte gTileset_SecretBase + + .align 2 +gTilesetPointer_SecretBaseRedCave:: @ 83DFC78 + .4byte gTileset_SecretBaseRedCave + + .align 2 +gTileset_EliteFour:: @ 83DFC7C + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_EliteFour + .4byte gTilesetPalettes_EliteFour + .4byte gMetatiles_EliteFour + .4byte gMetatileAttributes_EliteFour + .4byte TilesetCb_EliteFour + + .align 2 +gTileset_BattleFrontier:: @ 83DFC94 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_BattleFrontier + .4byte gTilesetPalettes_BattleFrontier + .4byte gMetatiles_BattleFrontier + .4byte gMetatileAttributes_BattleFrontier + .4byte NULL @ animation callback + + .align 2 +gTileset_BattlePalace:: @ 83DFCAC + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_BattlePalace + .4byte gTilesetPalettes_BattlePalace + .4byte gMetatiles_BattlePalace + .4byte gMetatileAttributes_BattlePalace + .4byte NULL @ animation callback + + .align 2 +gTileset_BattleDome:: @ 83DFCC4 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_BattleDome + .4byte gTilesetPalettes_BattleDome + .4byte gMetatiles_BattleDome + .4byte gMetatileAttributes_BattleDome + .4byte TilesetCb_BattleDome + + .align 2 +gTileset_BattleFactory:: @ 83DFCDC + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_BattleFactory + .4byte gTilesetPalettes_BattleFactory + .4byte gMetatiles_BattleFactory + .4byte gMetatileAttributes_BattleFactory + .4byte NULL @ animation callback + + .align 2 +gTileset_BattlePike:: @ 83DFCF4 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_BattlePike + .4byte gTilesetPalettes_BattlePike + .4byte gMetatiles_BattlePike + .4byte gMetatileAttributes_BattlePike + .4byte NULL @ animation callback + + .align 2 +gTileset_BattleArena:: @ 83DFD0C + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_BattleArena + .4byte gTilesetPalettes_BattleArena + .4byte gMetatiles_BattleArena + .4byte gMetatileAttributes_BattleArena + .4byte NULL @ animation callback + + .align 2 +gTileset_BattlePyramid:: @ 83DFD24 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_BattlePyramid + .4byte gTilesetPalettes_BattlePyramid + .4byte gMetatiles_BattlePyramid + .4byte gMetatileAttributes_BattlePyramid + .4byte TilesetCb_BattlePyramid + + .align 2 +gTileset_MirageTower:: @ 83DFD3C + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_MirageTower + .4byte gTilesetPalettes_MirageTower + .4byte gMetatiles_MirageTower + .4byte gMetatileAttributes_MirageTower + .4byte NULL @ animation callback + + .align 2 +gTileset_MossdeepGameCorner:: @ 83DFD54 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_MossdeepGameCorner + .4byte gTilesetPalettes_MossdeepGameCorner + .4byte gMetatiles_MossdeepGameCorner + .4byte gMetatileAttributes_MossdeepGameCorner + .4byte NULL @ animation callback + + .align 2 +gTileset_IslandHarbor:: @ 83DFD6C + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_IslandHarbor + .4byte gTilesetPalettes_IslandHarbor + .4byte gMetatiles_IslandHarbor + .4byte gMetatileAttributes_IslandHarbor + .4byte NULL @ animation callback + + .align 2 +gTileset_TrainerHill:: @ 83DFD84 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_TrainerHill + .4byte gTilesetPalettes_TrainerHill + .4byte gMetatiles_TrainerHill + .4byte gMetatileAttributes_TrainerHill + .4byte NULL @ animation callback + + .align 2 +gTileset_NavelRock:: @ 83DFD9C + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_NavelRock + .4byte gTilesetPalettes_NavelRock + .4byte gMetatiles_NavelRock + .4byte gMetatileAttributes_NavelRock + .4byte NULL @ animation callback + + .align 2 +gTileset_BattleFrontierRankingHall:: @ 83DFDB4 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_BattleFrontierRankingHall + .4byte gTilesetPalettes_BattleFrontierRankingHall + .4byte gMetatiles_BattleFrontierRankingHall + .4byte gMetatileAttributes_BattleFrontierRankingHall + .4byte NULL @ animation callback + + .align 2 +gTileset_BattleTent:: @ 83DFDCC + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_BattleTent + .4byte gTilesetPalettes_BattleTent + .4byte gMetatiles_BattleTent + .4byte gMetatileAttributes_BattleTent + .4byte NULL @ animation callback + + .align 2 +gTileset_MysteryEventsHouse:: @ 83DFDE4 + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_MysteryEventsHouse + .4byte gTilesetPalettes_MysteryEventsHouse + .4byte gMetatiles_MysteryEventsHouse + .4byte gMetatileAttributes_MysteryEventsHouse + .4byte NULL @ animation callback + + .align 2 +gTileset_UnionRoom:: @ 83DFDFC + .byte TRUE @ is compressed + .byte TRUE @ is secondary tileset + .2byte 0 @ padding + .4byte gTilesetTiles_UnionRoom + .4byte gTilesetPalettes_UnionRoom + .4byte gMetatiles_UnionRoom + .4byte gMetatileAttributes_UnionRoom + .4byte NULL @ animation callback diff --git a/data/tilesets/metatiles.inc b/data/tilesets/metatiles.inc index 0d6a75afd2..1d0875147f 100644 --- a/data/tilesets/metatiles.inc +++ b/data/tilesets/metatiles.inc @@ -1,559 +1,559 @@ .align 1 gMetatiles_General:: @ 83960F0 - .incbin "baserom.gba", 0x3960f0, 0x2000 + .incbin "data/tilesets/primary/general/metatiles.bin" .align 1 gMetatileAttributes_General:: @ 83980F0 - .incbin "baserom.gba", 0x3980f0, 0x400 + .incbin "data/tilesets/primary/general/metatile_attributes.bin" .align 1 gMetatiles_Petalburg:: @ 83984F0 - .incbin "baserom.gba", 0x3984f0, 0x900 + .incbin "data/tilesets/secondary/petalburg/metatiles.bin" .align 1 gMetatileAttributes_Petalburg:: @ 8398DF0 - .incbin "baserom.gba", 0x398df0, 0x120 + .incbin "data/tilesets/secondary/petalburg/metatile_attributes.bin" .align 1 gMetatiles_Rustboro:: @ 8398F10 - .incbin "baserom.gba", 0x398f10, 0x15e0 + .incbin "data/tilesets/secondary/rustboro/metatiles.bin" .align 1 gMetatileAttributes_Rustboro:: @ 839A4F0 - .incbin "baserom.gba", 0x39a4f0, 0x2bc + .incbin "data/tilesets/secondary/rustboro/metatile_attributes.bin" .align 1 gMetatiles_Dewford:: @ 839A7AC - .incbin "baserom.gba", 0x39a7ac, 0x17b0 + .incbin "data/tilesets/secondary/dewford/metatiles.bin" .align 1 gMetatileAttributes_Dewford:: @ 839BF5C - .incbin "baserom.gba", 0x39bf5c, 0x2f6 + .incbin "data/tilesets/secondary/dewford/metatile_attributes.bin" .align 1 gMetatiles_Slateport:: @ 839C252 - .incbin "baserom.gba", 0x39c252, 0x1960 + .incbin "data/tilesets/secondary/slateport/metatiles.bin" .align 1 gMetatileAttributes_Slateport:: @ 839DBB2 - .incbin "baserom.gba", 0x39dbb2, 0x32c + .incbin "data/tilesets/secondary/slateport/metatile_attributes.bin" .align 1 gMetatiles_Mauville:: @ 839DEDE - .incbin "baserom.gba", 0x39dede, 0x1fe0 + .incbin "data/tilesets/secondary/mauville/metatiles.bin" .align 1 gMetatileAttributes_Mauville:: @ 839FEBE - .incbin "baserom.gba", 0x39febe, 0x3fc + .incbin "data/tilesets/secondary/mauville/metatile_attributes.bin" .align 1 gMetatiles_Lavaridge:: @ 83A02BA - .incbin "baserom.gba", 0x3a02ba, 0x1b90 + .incbin "data/tilesets/secondary/lavaridge/metatiles.bin" .align 1 gMetatileAttributes_Lavaridge:: @ 83A1E4A - .incbin "baserom.gba", 0x3a1e4a, 0x372 + .incbin "data/tilesets/secondary/lavaridge/metatile_attributes.bin" .align 1 gMetatiles_Fallarbor:: @ 83A21BC - .incbin "baserom.gba", 0x3a21bc, 0x16f0 + .incbin "data/tilesets/secondary/fallarbor/metatiles.bin" .align 1 gMetatileAttributes_Fallarbor:: @ 83A38AC - .incbin "baserom.gba", 0x3a38ac, 0x2de + .incbin "data/tilesets/secondary/fallarbor/metatile_attributes.bin" .align 1 gMetatiles_Fortree:: @ 83A3B8A - .incbin "baserom.gba", 0x3a3b8a, 0x1180 + .incbin "data/tilesets/secondary/fortree/metatiles.bin" .align 1 gMetatileAttributes_Fortree:: @ 83A4D0A - .incbin "baserom.gba", 0x3a4d0a, 0x230 + .incbin "data/tilesets/secondary/fortree/metatile_attributes.bin" .align 1 gMetatiles_Lilycove:: @ 83A4F3A - .incbin "baserom.gba", 0x3a4f3a, 0x15f0 + .incbin "data/tilesets/secondary/lilycove/metatiles.bin" .align 1 gMetatileAttributes_Lilycove:: @ 83A652A - .incbin "baserom.gba", 0x3a652a, 0x2be + .incbin "data/tilesets/secondary/lilycove/metatile_attributes.bin" .align 1 gMetatiles_Mossdeep:: @ 83A67E8 - .incbin "baserom.gba", 0x3a67e8, 0x1c60 + .incbin "data/tilesets/secondary/mossdeep/metatiles.bin" .align 1 gMetatileAttributes_Mossdeep:: @ 83A8448 - .incbin "baserom.gba", 0x3a8448, 0x38c + .incbin "data/tilesets/secondary/mossdeep/metatile_attributes.bin" .align 1 gMetatiles_EverGrande:: @ 83A87D4 - .incbin "baserom.gba", 0x3a87d4, 0xa80 + .incbin "data/tilesets/secondary/ever_grande/metatiles.bin" .align 1 gMetatileAttributes_EverGrande:: @ 83A9254 - .incbin "baserom.gba", 0x3a9254, 0x150 + .incbin "data/tilesets/secondary/ever_grande/metatile_attributes.bin" .align 1 gMetatiles_Pacifidlog:: @ 83A93A4 - .incbin "baserom.gba", 0x3a93a4, 0xcb0 + .incbin "data/tilesets/secondary/pacifidlog/metatiles.bin" .align 1 gMetatileAttributes_Pacifidlog:: @ 83AA054 - .incbin "baserom.gba", 0x3aa054, 0x196 + .incbin "data/tilesets/secondary/pacifidlog/metatile_attributes.bin" .align 1 gMetatiles_Sootopolis:: @ 83AA1EA - .incbin "baserom.gba", 0x3aa1ea, 0xfe0 + .incbin "data/tilesets/secondary/sootopolis/metatiles.bin" .align 1 gMetatileAttributes_Sootopolis:: @ 83AB1CA - .incbin "baserom.gba", 0x3ab1ca, 0x1fc + .incbin "data/tilesets/secondary/sootopolis/metatile_attributes.bin" .align 1 gMetatiles_BattleFrontierOutsideWest:: @ 83AB3C6 - .incbin "baserom.gba", 0x3ab3c6, 0x1fe0 + .incbin "data/tilesets/secondary/battle_frontier_outside_west/metatiles.bin" .align 1 gMetatileAttributes_BattleFrontierOutsideWest:: @ 83AD3A6 - .incbin "baserom.gba", 0x3ad3a6, 0x3fc + .incbin "data/tilesets/secondary/battle_frontier_outside_west/metatile_attributes.bin" .align 1 gMetatiles_BattleFrontierOutsideEast:: @ 83AD7A2 - .incbin "baserom.gba", 0x3ad7a2, 0x1fe0 + .incbin "data/tilesets/secondary/battle_frontier_outside_east/metatiles.bin" .align 1 gMetatileAttributes_BattleFrontierOutsideEast:: @ 83AF782 - .incbin "baserom.gba", 0x3af782, 0x3fc + .incbin "data/tilesets/secondary/battle_frontier_outside_east/metatile_attributes.bin" .align 1 gMetatiles_InsideBuilding:: @ 83AFB7E - .incbin "baserom.gba", 0x3afb7e, 0x80 + .incbin "data/tilesets/primary/building/metatiles.bin" .align 1 gMetatileAttributes_InsideBuilding:: @ 83AFBFE - .incbin "baserom.gba", 0x3afbfe, 0x10 + .incbin "data/tilesets/primary/building/metatile_attributes.bin" .align 1 gMetatiles_Shop:: @ 83AFC0E - .incbin "baserom.gba", 0x3afc0e, 0x1210 + .incbin "data/tilesets/secondary/shop/metatiles.bin" .align 1 gMetatileAttributes_Shop:: @ 83B0E1E - .incbin "baserom.gba", 0x3b0e1e, 0x242 + .incbin "data/tilesets/secondary/shop/metatile_attributes.bin" .align 1 gMetatiles_PokemonCenter:: @ 83B1060 - .incbin "baserom.gba", 0x3b1060, 0xe80 + .incbin "data/tilesets/secondary/pokemon_center/metatiles.bin" .align 1 gMetatileAttributes_PokemonCenter:: @ 83B1EE0 - .incbin "baserom.gba", 0x3b1ee0, 0x1d0 + .incbin "data/tilesets/secondary/pokemon_center/metatile_attributes.bin" .align 1 gMetatiles_Cave:: @ 83B20B0 - .incbin "baserom.gba", 0x3b20b0, 0x19e0 + .incbin "data/tilesets/secondary/cave/metatiles.bin" .align 1 gMetatileAttributes_Cave:: @ 83B3A90 - .incbin "baserom.gba", 0x3b3a90, 0x33c + .incbin "data/tilesets/secondary/cave/metatile_attributes.bin" .align 1 gMetatiles_PokemonSchool:: @ 83B3DCC - .incbin "baserom.gba", 0x3b3dcc, 0x3a0 + .incbin "data/tilesets/secondary/pokemon_school/metatiles.bin" .align 1 gMetatileAttributes_PokemonSchool:: @ 83B416C - .incbin "baserom.gba", 0x3b416c, 0x74 + .incbin "data/tilesets/secondary/pokemon_school/metatile_attributes.bin" .align 1 gMetatiles_PokemonFanClub:: @ 83B41E0 - .incbin "baserom.gba", 0x3b41e0, 0x680 + .incbin "data/tilesets/secondary/pokemon_fan_club/metatiles.bin" .align 1 gMetatileAttributes_PokemonFanClub:: @ 83B4860 - .incbin "baserom.gba", 0x3b4860, 0xd0 + .incbin "data/tilesets/secondary/pokemon_fan_club/metatile_attributes.bin" .align 1 gMetatiles_Unused1:: @ 83B4930 - .incbin "baserom.gba", 0x3b4930, 0x20 + .incbin "data/tilesets/secondary/unused_1/metatiles.bin" .align 1 gMetatileAttributes_Unused1:: @ 83B4950 - .incbin "baserom.gba", 0x3b4950, 0x4 + .incbin "data/tilesets/secondary/unused_1/metatile_attributes.bin" .align 1 gMetatiles_MeteorFalls:: @ 83B4954 - .incbin "baserom.gba", 0x3b4954, 0x9f0 + .incbin "data/tilesets/secondary/meteor_falls/metatiles.bin" .align 1 gMetatileAttributes_MeteorFalls:: @ 83B5344 - .incbin "baserom.gba", 0x3b5344, 0x13e + .incbin "data/tilesets/secondary/meteor_falls/metatile_attributes.bin" .align 1 gMetatiles_OceanicMuseum:: @ 83B5482 - .incbin "baserom.gba", 0x3b5482, 0x7a0 + .incbin "data/tilesets/secondary/oceanic_museum/metatiles.bin" .align 1 gMetatileAttributes_OceanicMuseum:: @ 83B5C22 - .incbin "baserom.gba", 0x3b5c22, 0xf4 + .incbin "data/tilesets/secondary/oceanic_museum/metatile_attributes.bin" .align 1 gMetatiles_CableClub:: @ 83B5D16 - .incbin "baserom.gba", 0x3b5d16, 0x1000 + .incbin "data/tilesets/secondary/cable_club/metatiles.bin" .align 1 gMetatileAttributes_CableClub:: @ 83B6D16 - .incbin "baserom.gba", 0x3b6d16, 0x200 + .incbin "data/tilesets/secondary/cable_club/metatile_attributes.bin" .align 1 gMetatiles_SeashoreHouse:: @ 83B6F16 - .incbin "baserom.gba", 0x3b6f16, 0x380 + .incbin "data/tilesets/secondary/seashore_house/metatiles.bin" .align 1 gMetatileAttributes_SeashoreHouse:: @ 83B7296 - .incbin "baserom.gba", 0x3b7296, 0x70 + .incbin "data/tilesets/secondary/seashore_house/metatile_attributes.bin" .align 1 gMetatiles_PrettyPetalFlowerShop:: @ 83B7306 - .incbin "baserom.gba", 0x3b7306, 0x480 + .incbin "data/tilesets/secondary/pretty_petal_flower_shop/metatiles.bin" .align 1 gMetatileAttributes_PrettyPetalFlowerShop:: @ 83B7786 - .incbin "baserom.gba", 0x3b7786, 0x90 + .incbin "data/tilesets/secondary/pretty_petal_flower_shop/metatile_attributes.bin" .align 1 gMetatiles_PokemonDayCare:: @ 83B7816 - .incbin "baserom.gba", 0x3b7816, 0x440 + .incbin "data/tilesets/secondary/pokemon_day_care/metatiles.bin" .align 1 gMetatileAttributes_PokemonDayCare:: @ 83B7C56 - .incbin "baserom.gba", 0x3b7c56, 0x88 + .incbin "data/tilesets/secondary/pokemon_day_care/metatile_attributes.bin" .align 1 gMetatiles_Facility:: @ 83B7CDE - .incbin "baserom.gba", 0x3b7cde, 0x1ff0 + .incbin "data/tilesets/secondary/facility/metatiles.bin" .align 1 gMetatileAttributes_Facility:: @ 83B9CCE - .incbin "baserom.gba", 0x3b9cce, 0x3fe + .incbin "data/tilesets/secondary/facility/metatile_attributes.bin" .align 1 gMetatiles_BikeShop:: @ 83BA0CC - .incbin "baserom.gba", 0x3ba0cc, 0xf80 + .incbin "data/tilesets/secondary/bike_shop/metatiles.bin" .align 1 gMetatileAttributes_BikeShop:: @ 83BB04C - .incbin "baserom.gba", 0x3bb04c, 0x1f0 + .incbin "data/tilesets/secondary/bike_shop/metatile_attributes.bin" .align 1 gMetatiles_RusturfTunnel:: @ 83BB23C - .incbin "baserom.gba", 0x3bb23c, 0x530 + .incbin "data/tilesets/secondary/rusturf_tunnel/metatiles.bin" .align 1 gMetatileAttributes_RusturfTunnel:: @ 83BB76C - .incbin "baserom.gba", 0x3bb76c, 0xa6 + .incbin "data/tilesets/secondary/rusturf_tunnel/metatile_attributes.bin" .align 1 gMetatiles_SecretBaseSecondary:: @ 83BB812 - .incbin "baserom.gba", 0x3bb812, 0x1440 + .incbin "data/tilesets/secondary/secret_base/metatiles.bin" .align 1 gMetatileAttributes_SecretBaseSecondary:: @ 83BCC52 - .incbin "baserom.gba", 0x3bcc52, 0x288 + .incbin "data/tilesets/secondary/secret_base/metatile_attributes.bin" .align 1 gMetatiles_InsideOfTruck:: @ 83BCEDA - .incbin "baserom.gba", 0x3bceda, 0x260 + .incbin "data/tilesets/secondary/inside_of_truck/metatiles.bin" .align 1 gMetatileAttributes_InsideOfTruck:: @ 83BD13A - .incbin "baserom.gba", 0x3bd13a, 0x4c + .incbin "data/tilesets/secondary/inside_of_truck/metatile_attributes.bin" .align 1 gMetatiles_Contest:: @ 83BD186 - .incbin "baserom.gba", 0x3bd186, 0xe90 + .incbin "data/tilesets/secondary/contest/metatiles.bin" .align 1 gMetatileAttributes_Contest:: @ 83BE016 - .incbin "baserom.gba", 0x3be016, 0x1d2 + .incbin "data/tilesets/secondary/contest/metatile_attributes.bin" .align 1 gMetatiles_LilycoveMuseum:: @ 83BE1E8 - .incbin "baserom.gba", 0x3be1e8, 0x8f0 + .incbin "data/tilesets/secondary/lilycove_museum/metatiles.bin" .align 1 gMetatileAttributes_LilycoveMuseum:: @ 83BEAD8 - .incbin "baserom.gba", 0x3bead8, 0x11e + .incbin "data/tilesets/secondary/lilycove_museum/metatile_attributes.bin" .align 1 gMetatiles_BrendansMaysHouse:: @ 83BEBF6 - .incbin "baserom.gba", 0x3bebf6, 0xc40 + .incbin "data/tilesets/secondary/brendans_mays_house/metatiles.bin" .align 1 gMetatileAttributes_BrendansMaysHouse:: @ 83BF836 - .incbin "baserom.gba", 0x3bf836, 0x188 + .incbin "data/tilesets/secondary/brendans_mays_house/metatile_attributes.bin" .align 1 gMetatiles_Lab:: @ 83BF9BE - .incbin "baserom.gba", 0x3bf9be, 0x9e0 + .incbin "data/tilesets/secondary/lab/metatiles.bin" .align 1 gMetatileAttributes_Lab:: @ 83C039E - .incbin "baserom.gba", 0x3c039e, 0x13c + .incbin "data/tilesets/secondary/lab/metatile_attributes.bin" .align 1 gMetatiles_Underwater:: @ 83C04DA - .incbin "baserom.gba", 0x3c04da, 0xec0 + .incbin "data/tilesets/secondary/underwater/metatiles.bin" .align 1 gMetatileAttributes_Underwater:: @ 83C139A - .incbin "baserom.gba", 0x3c139a, 0x1d8 + .incbin "data/tilesets/secondary/underwater/metatile_attributes.bin" .align 1 gMetatiles_GenericBuilding:: @ 83C1572 - .incbin "baserom.gba", 0x3c1572, 0x2000 + .incbin "data/tilesets/secondary/generic_building/metatiles.bin" .align 1 gMetatileAttributes_GenericBuilding:: @ 83C3572 - .incbin "baserom.gba", 0x3c3572, 0x400 + .incbin "data/tilesets/secondary/generic_building/metatile_attributes.bin" .align 1 gMetatiles_MauvilleGameCorner:: @ 83C3972 - .incbin "baserom.gba", 0x3c3972, 0x600 + .incbin "data/tilesets/secondary/mauville_game_corner/metatiles.bin" .align 1 gMetatileAttributes_MauvilleGameCorner:: @ 83C3F72 - .incbin "baserom.gba", 0x3c3f72, 0xc0 + .incbin "data/tilesets/secondary/mauville_game_corner/metatile_attributes.bin" .align 1 gMetatiles_Unused2:: @ 83C4032 - .incbin "baserom.gba", 0x3c4032, 0x3a0 + .incbin "data/tilesets/secondary/unused_2/metatiles.bin" .align 1 gMetatileAttributes_Unused2:: @ 83C43D2 - .incbin "baserom.gba", 0x3c43d2, 0x74 + .incbin "data/tilesets/secondary/unused_2/metatile_attributes.bin" .align 1 gMetatiles_RustboroGym:: @ 83C4446 - .incbin "baserom.gba", 0x3c4446, 0x380 + .incbin "data/tilesets/secondary/rustboro_gym/metatiles.bin" .align 1 gMetatileAttributes_RustboroGym:: @ 83C47C6 - .incbin "baserom.gba", 0x3c47c6, 0x70 + .incbin "data/tilesets/secondary/rustboro_gym/metatile_attributes.bin" .align 1 gMetatiles_DewfordGym:: @ 83C4836 - .incbin "baserom.gba", 0x3c4836, 0x450 + .incbin "data/tilesets/secondary/dewford_gym/metatiles.bin" .align 1 gMetatileAttributes_DewfordGym:: @ 83C4C86 - .incbin "baserom.gba", 0x3c4c86, 0x8a + .incbin "data/tilesets/secondary/dewford_gym/metatile_attributes.bin" .align 1 gMetatiles_MauvilleGym:: @ 83C4D10 - .incbin "baserom.gba", 0x3c4d10, 0x750 + .incbin "data/tilesets/secondary/mauville_gym/metatiles.bin" .align 1 gMetatileAttributes_MauvilleGym:: @ 83C5460 - .incbin "baserom.gba", 0x3c5460, 0xea + .incbin "data/tilesets/secondary/mauville_gym/metatile_attributes.bin" .align 1 gMetatiles_LavaridgeGym:: @ 83C554A - .incbin "baserom.gba", 0x3c554a, 0x3d0 + .incbin "data/tilesets/secondary/lavaridge_gym/metatiles.bin" .align 1 gMetatileAttributes_LavaridgeGym:: @ 83C591A - .incbin "baserom.gba", 0x3c591a, 0x7a + .incbin "data/tilesets/secondary/lavaridge_gym/metatile_attributes.bin" .align 1 gMetatiles_PetalburgGym:: @ 83C5994 - .incbin "baserom.gba", 0x3c5994, 0xe00 + .incbin "data/tilesets/secondary/petalburg_gym/metatiles.bin" .align 1 gMetatileAttributes_PetalburgGym:: @ 83C6794 - .incbin "baserom.gba", 0x3c6794, 0x1c0 + .incbin "data/tilesets/secondary/petalburg_gym/metatile_attributes.bin" .align 1 gMetatiles_FortreeGym:: @ 83C6954 - .incbin "baserom.gba", 0x3c6954, 0x500 + .incbin "data/tilesets/secondary/fortree_gym/metatiles.bin" .align 1 gMetatileAttributes_FortreeGym:: @ 83C6E54 - .incbin "baserom.gba", 0x3c6e54, 0xa0 + .incbin "data/tilesets/secondary/fortree_gym/metatile_attributes.bin" .align 1 gMetatiles_MossdeepGym:: @ 83C6EF4 - .incbin "baserom.gba", 0x3c6ef4, 0x750 + .incbin "data/tilesets/secondary/mossdeep_gym/metatiles.bin" .align 1 gMetatileAttributes_MossdeepGym:: @ 83C7644 - .incbin "baserom.gba", 0x3c7644, 0xea + .incbin "data/tilesets/secondary/mossdeep_gym/metatile_attributes.bin" .align 1 gMetatiles_SootopolisGym:: @ 83C772E - .incbin "baserom.gba", 0x3c772e, 0x7a0 + .incbin "data/tilesets/secondary/sootopolis_gym/metatiles.bin" .align 1 gMetatileAttributes_SootopolisGym:: @ 83C7ECE - .incbin "baserom.gba", 0x3c7ece, 0xf4 + .incbin "data/tilesets/secondary/sootopolis_gym/metatile_attributes.bin" .align 1 gMetatiles_TrickHousePuzzle:: @ 83C7FC2 - .incbin "baserom.gba", 0x3c7fc2, 0xbd0 + .incbin "data/tilesets/secondary/trick_house_puzzle/metatiles.bin" .align 1 gMetatileAttributes_TrickHousePuzzle:: @ 83C8B92 - .incbin "baserom.gba", 0x3c8b92, 0x17a + .incbin "data/tilesets/secondary/trick_house_puzzle/metatile_attributes.bin" .align 1 gMetatiles_InsideShip:: @ 83C8D0C - .incbin "baserom.gba", 0x3c8d0c, 0xfc0 + .incbin "data/tilesets/secondary/inside_ship/metatiles.bin" .align 1 gMetatileAttributes_InsideShip:: @ 83C9CCC - .incbin "baserom.gba", 0x3c9ccc, 0x1f8 + .incbin "data/tilesets/secondary/inside_ship/metatile_attributes.bin" .align 1 gMetatiles_SecretBasePrimary:: @ 83C9EC4 - .incbin "baserom.gba", 0x3c9ec4, 0x20 + .incbin "data/tilesets/primary/secret_base/metatiles.bin" .align 1 gMetatileAttributes_SecretBasePrimary:: @ 83C9EE4 - .incbin "baserom.gba", 0x3c9ee4, 0x4 + .incbin "data/tilesets/primary/secret_base/metatile_attributes.bin" .align 1 gMetatiles_EliteFour:: @ 83C9EE8 - .incbin "baserom.gba", 0x3c9ee8, 0x14c0 + .incbin "data/tilesets/secondary/elite_four/metatiles.bin" .align 1 gMetatileAttributes_EliteFour:: @ 83CB3A8 - .incbin "baserom.gba", 0x3cb3a8, 0x298 + .incbin "data/tilesets/secondary/elite_four/metatile_attributes.bin" .align 1 gMetatiles_BattleFrontier:: @ 83CB640 - .incbin "baserom.gba", 0x3cb640, 0x1fd0 + .incbin "data/tilesets/secondary/battle_frontier/metatiles.bin" .align 1 gMetatileAttributes_BattleFrontier:: @ 83CD610 - .incbin "baserom.gba", 0x3cd610, 0x3fa + .incbin "data/tilesets/secondary/battle_frontier/metatile_attributes.bin" .align 1 gMetatiles_BattlePalace:: @ 83CDA0A - .incbin "baserom.gba", 0x3cda0a, 0xae0 + .incbin "data/tilesets/secondary/battle_palace/metatiles.bin" .align 1 gMetatileAttributes_BattlePalace:: @ 83CE4EA - .incbin "baserom.gba", 0x3ce4ea, 0x15c + .incbin "data/tilesets/secondary/battle_palace/metatile_attributes.bin" .align 1 gMetatiles_BattleDome:: @ 83CE646 - .incbin "baserom.gba", 0x3ce646, 0x1ab0 + .incbin "data/tilesets/secondary/battle_dome/metatiles.bin" .align 1 gMetatileAttributes_BattleDome:: @ 83D00F6 - .incbin "baserom.gba", 0x3d00f6, 0x356 + .incbin "data/tilesets/secondary/battle_dome/metatile_attributes.bin" .align 1 gMetatiles_BattleFactory:: @ 83D044C - .incbin "baserom.gba", 0x3d044c, 0x1620 + .incbin "data/tilesets/secondary/battle_factory/metatiles.bin" .align 1 gMetatileAttributes_BattleFactory:: @ 83D1A6C - .incbin "baserom.gba", 0x3d1a6c, 0x2c4 + .incbin "data/tilesets/secondary/battle_factory/metatile_attributes.bin" .align 1 gMetatiles_BattlePike:: @ 83D1D30 - .incbin "baserom.gba", 0x3d1d30, 0x15b0 + .incbin "data/tilesets/secondary/battle_pike/metatiles.bin" .align 1 gMetatileAttributes_BattlePike:: @ 83D32E0 - .incbin "baserom.gba", 0x3d32e0, 0x2b6 + .incbin "data/tilesets/secondary/battle_pike/metatile_attributes.bin" .align 1 gMetatiles_BattleArena:: @ 83D3596 - .incbin "baserom.gba", 0x3d3596, 0xb10 + .incbin "data/tilesets/secondary/battle_arena/metatiles.bin" .align 1 gMetatileAttributes_BattleArena:: @ 83D40A6 - .incbin "baserom.gba", 0x3d40a6, 0x162 + .incbin "data/tilesets/secondary/battle_arena/metatile_attributes.bin" .align 1 gMetatiles_BattlePyramid:: @ 83D4208 - .incbin "baserom.gba", 0x3d4208, 0xdd0 + .incbin "data/tilesets/secondary/battle_pyramid/metatiles.bin" .align 1 gMetatileAttributes_BattlePyramid:: @ 83D4FD8 - .incbin "baserom.gba", 0x3d4fd8, 0x1ba + .incbin "data/tilesets/secondary/battle_pyramid/metatile_attributes.bin" .align 1 gMetatiles_MirageTower:: @ 83D5192 - .incbin "baserom.gba", 0x3d5192, 0x19e0 + .incbin "data/tilesets/secondary/mirage_tower/metatiles.bin" .align 1 gMetatileAttributes_MirageTower:: @ 83D6B72 - .incbin "baserom.gba", 0x3d6b72, 0x33c + .incbin "data/tilesets/secondary/mirage_tower/metatile_attributes.bin" .align 1 gMetatiles_MossdeepGameCorner:: @ 83D6EAE - .incbin "baserom.gba", 0x3d6eae, 0x350 + .incbin "data/tilesets/secondary/mossdeep_game_corner/metatiles.bin" .align 1 gMetatileAttributes_MossdeepGameCorner:: @ 83D71FE - .incbin "baserom.gba", 0x3d71fe, 0x6a + .incbin "data/tilesets/secondary/mossdeep_game_corner/metatile_attributes.bin" .align 1 gMetatiles_IslandHarbor:: @ 83D7268 - .incbin "baserom.gba", 0x3d7268, 0x1d60 + .incbin "data/tilesets/secondary/island_harbor/metatiles.bin" .align 1 gMetatileAttributes_IslandHarbor:: @ 83D8FC8 - .incbin "baserom.gba", 0x3d8fc8, 0x3ac + .incbin "data/tilesets/secondary/island_harbor/metatile_attributes.bin" .align 1 gMetatiles_TrainerHill:: @ 83D9374 - .incbin "baserom.gba", 0x3d9374, 0x1e60 + .incbin "data/tilesets/secondary/trainer_hill/metatiles.bin" .align 1 gMetatileAttributes_TrainerHill:: @ 83DB1D4 - .incbin "baserom.gba", 0x3db1d4, 0x3cc + .incbin "data/tilesets/secondary/trainer_hill/metatile_attributes.bin" .align 1 gMetatiles_NavelRock:: @ 83DB5A0 - .incbin "baserom.gba", 0x3db5a0, 0x1c30 + .incbin "data/tilesets/secondary/navel_rock/metatiles.bin" .align 1 gMetatileAttributes_NavelRock:: @ 83DD1D0 - .incbin "baserom.gba", 0x3dd1d0, 0x386 + .incbin "data/tilesets/secondary/navel_rock/metatile_attributes.bin" .align 1 gMetatiles_BattleFrontierRankingHall:: @ 83DD556 - .incbin "baserom.gba", 0x3dd556, 0x5e0 + .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/metatiles.bin" .align 1 gMetatileAttributes_BattleFrontierRankingHall:: @ 83DDB36 - .incbin "baserom.gba", 0x3ddb36, 0xbc + .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/metatile_attributes.bin" .align 1 gMetatiles_BattleTent:: @ 83DDBF2 - .incbin "baserom.gba", 0x3ddbf2, 0x10d0 + .incbin "data/tilesets/secondary/battle_tent/metatiles.bin" .align 1 gMetatileAttributes_BattleTent:: @ 83DECC2 - .incbin "baserom.gba", 0x3decc2, 0x21a + .incbin "data/tilesets/secondary/battle_tent/metatile_attributes.bin" .align 1 gMetatiles_MysteryEventsHouse:: @ 83DEEDC - .incbin "baserom.gba", 0x3deedc, 0x430 + .incbin "data/tilesets/secondary/mystery_events_house/metatiles.bin" .align 1 gMetatileAttributes_MysteryEventsHouse:: @ 83DF30C - .incbin "baserom.gba", 0x3df30c, 0x86 + .incbin "data/tilesets/secondary/mystery_events_house/metatile_attributes.bin" .align 1 gMetatiles_UnionRoom:: @ 83DF392 - .incbin "baserom.gba", 0x3df392, 0x310 + .incbin "data/tilesets/secondary/union_room/metatiles.bin" .align 1 gMetatileAttributes_UnionRoom:: @ 83DF6A2 - .incbin "baserom.gba", 0x3df6a2, 0x62 + .incbin "data/tilesets/secondary/union_room/metatile_attributes.bin" diff --git a/data/tilesets/primary/building/metatile_attributes.bin b/data/tilesets/primary/building/metatile_attributes.bin new file mode 100644 index 0000000000..efc3708aa9 Binary files /dev/null and b/data/tilesets/primary/building/metatile_attributes.bin differ diff --git a/data/tilesets/primary/building/metatiles.bin b/data/tilesets/primary/building/metatiles.bin new file mode 100644 index 0000000000..21830728c1 Binary files /dev/null and b/data/tilesets/primary/building/metatiles.bin differ diff --git a/data/tilesets/primary/inside_building/palettes/00.pal b/data/tilesets/primary/building/palettes/00.pal similarity index 100% rename from data/tilesets/primary/inside_building/palettes/00.pal rename to data/tilesets/primary/building/palettes/00.pal diff --git a/data/tilesets/primary/inside_building/palettes/01.pal b/data/tilesets/primary/building/palettes/01.pal similarity index 100% rename from data/tilesets/primary/inside_building/palettes/01.pal rename to data/tilesets/primary/building/palettes/01.pal diff --git a/data/tilesets/primary/inside_building/palettes/02.pal b/data/tilesets/primary/building/palettes/02.pal similarity index 100% rename from data/tilesets/primary/inside_building/palettes/02.pal rename to data/tilesets/primary/building/palettes/02.pal diff --git a/data/tilesets/primary/inside_building/palettes/03.pal b/data/tilesets/primary/building/palettes/03.pal similarity index 100% rename from data/tilesets/primary/inside_building/palettes/03.pal rename to data/tilesets/primary/building/palettes/03.pal diff --git a/data/tilesets/primary/inside_building/palettes/04.pal b/data/tilesets/primary/building/palettes/04.pal similarity index 100% rename from data/tilesets/primary/inside_building/palettes/04.pal rename to data/tilesets/primary/building/palettes/04.pal diff --git a/data/tilesets/primary/inside_building/palettes/05.pal b/data/tilesets/primary/building/palettes/05.pal similarity index 100% rename from data/tilesets/primary/inside_building/palettes/05.pal rename to data/tilesets/primary/building/palettes/05.pal diff --git a/data/tilesets/primary/inside_building/palettes/06.pal b/data/tilesets/primary/building/palettes/06.pal similarity index 100% rename from data/tilesets/primary/inside_building/palettes/06.pal rename to data/tilesets/primary/building/palettes/06.pal diff --git a/data/tilesets/primary/inside_building/palettes/07.pal b/data/tilesets/primary/building/palettes/07.pal similarity index 100% rename from data/tilesets/primary/inside_building/palettes/07.pal rename to data/tilesets/primary/building/palettes/07.pal diff --git a/data/tilesets/primary/inside_building/palettes/08.pal b/data/tilesets/primary/building/palettes/08.pal similarity index 100% rename from data/tilesets/primary/inside_building/palettes/08.pal rename to data/tilesets/primary/building/palettes/08.pal diff --git a/data/tilesets/primary/inside_building/palettes/09.pal b/data/tilesets/primary/building/palettes/09.pal similarity index 100% rename from data/tilesets/primary/inside_building/palettes/09.pal rename to data/tilesets/primary/building/palettes/09.pal diff --git a/data/tilesets/primary/inside_building/palettes/10.pal b/data/tilesets/primary/building/palettes/10.pal similarity index 100% rename from data/tilesets/primary/inside_building/palettes/10.pal rename to data/tilesets/primary/building/palettes/10.pal diff --git a/data/tilesets/primary/inside_building/palettes/11.pal b/data/tilesets/primary/building/palettes/11.pal similarity index 100% rename from data/tilesets/primary/inside_building/palettes/11.pal rename to data/tilesets/primary/building/palettes/11.pal diff --git a/data/tilesets/primary/inside_building/palettes/12.pal b/data/tilesets/primary/building/palettes/12.pal similarity index 100% rename from data/tilesets/primary/inside_building/palettes/12.pal rename to data/tilesets/primary/building/palettes/12.pal diff --git a/data/tilesets/primary/inside_building/palettes/13.pal b/data/tilesets/primary/building/palettes/13.pal similarity index 100% rename from data/tilesets/primary/inside_building/palettes/13.pal rename to data/tilesets/primary/building/palettes/13.pal diff --git a/data/tilesets/primary/inside_building/palettes/14.pal b/data/tilesets/primary/building/palettes/14.pal similarity index 100% rename from data/tilesets/primary/inside_building/palettes/14.pal rename to data/tilesets/primary/building/palettes/14.pal diff --git a/data/tilesets/primary/inside_building/palettes/15.pal b/data/tilesets/primary/building/palettes/15.pal similarity index 100% rename from data/tilesets/primary/inside_building/palettes/15.pal rename to data/tilesets/primary/building/palettes/15.pal diff --git a/data/tilesets/primary/inside_building/tiles.png b/data/tilesets/primary/building/tiles.png similarity index 100% rename from data/tilesets/primary/inside_building/tiles.png rename to data/tilesets/primary/building/tiles.png diff --git a/data/tilesets/primary/general/metatile_attributes.bin b/data/tilesets/primary/general/metatile_attributes.bin new file mode 100644 index 0000000000..d9cd29016d Binary files /dev/null and b/data/tilesets/primary/general/metatile_attributes.bin differ diff --git a/data/tilesets/primary/general/metatiles.bin b/data/tilesets/primary/general/metatiles.bin new file mode 100644 index 0000000000..af899bcc5e Binary files /dev/null and b/data/tilesets/primary/general/metatiles.bin differ diff --git a/data/tilesets/primary/secret_base/metatile_attributes.bin b/data/tilesets/primary/secret_base/metatile_attributes.bin new file mode 100644 index 0000000000..593f4708db Binary files /dev/null and b/data/tilesets/primary/secret_base/metatile_attributes.bin differ diff --git a/data/tilesets/primary/secret_base/metatiles.bin b/data/tilesets/primary/secret_base/metatiles.bin new file mode 100644 index 0000000000..2067e09702 Binary files /dev/null and b/data/tilesets/primary/secret_base/metatiles.bin differ diff --git a/data/tilesets/secondary/battle_arena/metatile_attributes.bin b/data/tilesets/secondary/battle_arena/metatile_attributes.bin new file mode 100644 index 0000000000..848031abfc Binary files /dev/null and b/data/tilesets/secondary/battle_arena/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/battle_arena/metatiles.bin b/data/tilesets/secondary/battle_arena/metatiles.bin new file mode 100644 index 0000000000..78de26298e Binary files /dev/null and b/data/tilesets/secondary/battle_arena/metatiles.bin differ diff --git a/data/tilesets/secondary/battle_dome/metatile_attributes.bin b/data/tilesets/secondary/battle_dome/metatile_attributes.bin new file mode 100644 index 0000000000..1a89f83edb Binary files /dev/null and b/data/tilesets/secondary/battle_dome/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/battle_dome/metatiles.bin b/data/tilesets/secondary/battle_dome/metatiles.bin new file mode 100644 index 0000000000..86a5ea3282 Binary files /dev/null and b/data/tilesets/secondary/battle_dome/metatiles.bin differ diff --git a/data/tilesets/secondary/battle_factory/metatile_attributes.bin b/data/tilesets/secondary/battle_factory/metatile_attributes.bin new file mode 100644 index 0000000000..03254d8bb1 Binary files /dev/null and b/data/tilesets/secondary/battle_factory/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/battle_factory/metatiles.bin b/data/tilesets/secondary/battle_factory/metatiles.bin new file mode 100644 index 0000000000..b27334b408 Binary files /dev/null and b/data/tilesets/secondary/battle_factory/metatiles.bin differ diff --git a/data/tilesets/secondary/battle_frontier/metatile_attributes.bin b/data/tilesets/secondary/battle_frontier/metatile_attributes.bin new file mode 100644 index 0000000000..38ae610e10 Binary files /dev/null and b/data/tilesets/secondary/battle_frontier/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/battle_frontier/metatiles.bin b/data/tilesets/secondary/battle_frontier/metatiles.bin new file mode 100644 index 0000000000..ab033fb204 Binary files /dev/null and b/data/tilesets/secondary/battle_frontier/metatiles.bin differ diff --git a/data/tilesets/secondary/battle_frontier_outside_east/metatile_attributes.bin b/data/tilesets/secondary/battle_frontier_outside_east/metatile_attributes.bin new file mode 100644 index 0000000000..e7f5d7977d Binary files /dev/null and b/data/tilesets/secondary/battle_frontier_outside_east/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/battle_frontier_outside_east/metatiles.bin b/data/tilesets/secondary/battle_frontier_outside_east/metatiles.bin new file mode 100644 index 0000000000..d2e3a6995d Binary files /dev/null and b/data/tilesets/secondary/battle_frontier_outside_east/metatiles.bin differ diff --git a/data/tilesets/secondary/battle_frontier_outside_west/metatile_attributes.bin b/data/tilesets/secondary/battle_frontier_outside_west/metatile_attributes.bin new file mode 100644 index 0000000000..a4b865a317 Binary files /dev/null and b/data/tilesets/secondary/battle_frontier_outside_west/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/battle_frontier_outside_west/metatiles.bin b/data/tilesets/secondary/battle_frontier_outside_west/metatiles.bin new file mode 100644 index 0000000000..b41be94da9 Binary files /dev/null and b/data/tilesets/secondary/battle_frontier_outside_west/metatiles.bin differ diff --git a/data/tilesets/secondary/battle_frontier_ranking_hall/metatile_attributes.bin b/data/tilesets/secondary/battle_frontier_ranking_hall/metatile_attributes.bin new file mode 100644 index 0000000000..c3754f1ac9 Binary files /dev/null and b/data/tilesets/secondary/battle_frontier_ranking_hall/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/battle_frontier_ranking_hall/metatiles.bin b/data/tilesets/secondary/battle_frontier_ranking_hall/metatiles.bin new file mode 100644 index 0000000000..ed953f7c61 Binary files /dev/null and b/data/tilesets/secondary/battle_frontier_ranking_hall/metatiles.bin differ diff --git a/data/tilesets/secondary/battle_palace/metatile_attributes.bin b/data/tilesets/secondary/battle_palace/metatile_attributes.bin new file mode 100644 index 0000000000..db79c4d6fa Binary files /dev/null and b/data/tilesets/secondary/battle_palace/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/battle_palace/metatiles.bin b/data/tilesets/secondary/battle_palace/metatiles.bin new file mode 100644 index 0000000000..57bf79b064 Binary files /dev/null and b/data/tilesets/secondary/battle_palace/metatiles.bin differ diff --git a/data/tilesets/secondary/battle_pike/metatile_attributes.bin b/data/tilesets/secondary/battle_pike/metatile_attributes.bin new file mode 100644 index 0000000000..91d81d4b5e Binary files /dev/null and b/data/tilesets/secondary/battle_pike/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/battle_pike/metatiles.bin b/data/tilesets/secondary/battle_pike/metatiles.bin new file mode 100644 index 0000000000..cdd92f77a4 Binary files /dev/null and b/data/tilesets/secondary/battle_pike/metatiles.bin differ diff --git a/data/tilesets/secondary/battle_pyramid/metatile_attributes.bin b/data/tilesets/secondary/battle_pyramid/metatile_attributes.bin new file mode 100644 index 0000000000..e53975e508 Binary files /dev/null and b/data/tilesets/secondary/battle_pyramid/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/battle_pyramid/metatiles.bin b/data/tilesets/secondary/battle_pyramid/metatiles.bin new file mode 100644 index 0000000000..ec48a26d67 Binary files /dev/null and b/data/tilesets/secondary/battle_pyramid/metatiles.bin differ diff --git a/data/tilesets/secondary/battle_tent/metatile_attributes.bin b/data/tilesets/secondary/battle_tent/metatile_attributes.bin new file mode 100644 index 0000000000..656c3fd58a Binary files /dev/null and b/data/tilesets/secondary/battle_tent/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/battle_tent/metatiles.bin b/data/tilesets/secondary/battle_tent/metatiles.bin new file mode 100644 index 0000000000..7b2c8739af Binary files /dev/null and b/data/tilesets/secondary/battle_tent/metatiles.bin differ diff --git a/data/tilesets/secondary/bike_shop/metatile_attributes.bin b/data/tilesets/secondary/bike_shop/metatile_attributes.bin new file mode 100644 index 0000000000..722085d98e Binary files /dev/null and b/data/tilesets/secondary/bike_shop/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/bike_shop/metatiles.bin b/data/tilesets/secondary/bike_shop/metatiles.bin new file mode 100644 index 0000000000..2b334222ca Binary files /dev/null and b/data/tilesets/secondary/bike_shop/metatiles.bin differ diff --git a/data/tilesets/secondary/brendans_mays_house/metatile_attributes.bin b/data/tilesets/secondary/brendans_mays_house/metatile_attributes.bin new file mode 100644 index 0000000000..d0b65a0e9c Binary files /dev/null and b/data/tilesets/secondary/brendans_mays_house/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/brendans_mays_house/metatiles.bin b/data/tilesets/secondary/brendans_mays_house/metatiles.bin new file mode 100644 index 0000000000..14d79381ba Binary files /dev/null and b/data/tilesets/secondary/brendans_mays_house/metatiles.bin differ diff --git a/data/tilesets/secondary/cable_club/metatile_attributes.bin b/data/tilesets/secondary/cable_club/metatile_attributes.bin new file mode 100644 index 0000000000..ce4ceaa281 Binary files /dev/null and b/data/tilesets/secondary/cable_club/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/cable_club/metatiles.bin b/data/tilesets/secondary/cable_club/metatiles.bin new file mode 100644 index 0000000000..5d33456910 Binary files /dev/null and b/data/tilesets/secondary/cable_club/metatiles.bin differ diff --git a/data/tilesets/secondary/cave/metatile_attributes.bin b/data/tilesets/secondary/cave/metatile_attributes.bin new file mode 100644 index 0000000000..91acdafed9 Binary files /dev/null and b/data/tilesets/secondary/cave/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/cave/metatiles.bin b/data/tilesets/secondary/cave/metatiles.bin new file mode 100644 index 0000000000..cc8b117e20 Binary files /dev/null and b/data/tilesets/secondary/cave/metatiles.bin differ diff --git a/data/tilesets/secondary/contest/metatile_attributes.bin b/data/tilesets/secondary/contest/metatile_attributes.bin new file mode 100644 index 0000000000..66ac0a77b5 Binary files /dev/null and b/data/tilesets/secondary/contest/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/contest/metatiles.bin b/data/tilesets/secondary/contest/metatiles.bin new file mode 100644 index 0000000000..6920af351a Binary files /dev/null and b/data/tilesets/secondary/contest/metatiles.bin differ diff --git a/data/tilesets/secondary/dewford/metatile_attributes.bin b/data/tilesets/secondary/dewford/metatile_attributes.bin new file mode 100644 index 0000000000..67ee25d405 Binary files /dev/null and b/data/tilesets/secondary/dewford/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/dewford/metatiles.bin b/data/tilesets/secondary/dewford/metatiles.bin new file mode 100644 index 0000000000..728d5b6325 Binary files /dev/null and b/data/tilesets/secondary/dewford/metatiles.bin differ diff --git a/data/tilesets/secondary/dewford_gym/metatile_attributes.bin b/data/tilesets/secondary/dewford_gym/metatile_attributes.bin new file mode 100644 index 0000000000..c749380322 Binary files /dev/null and b/data/tilesets/secondary/dewford_gym/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/dewford_gym/metatiles.bin b/data/tilesets/secondary/dewford_gym/metatiles.bin new file mode 100644 index 0000000000..c469247417 Binary files /dev/null and b/data/tilesets/secondary/dewford_gym/metatiles.bin differ diff --git a/data/tilesets/secondary/elite_four/metatile_attributes.bin b/data/tilesets/secondary/elite_four/metatile_attributes.bin new file mode 100644 index 0000000000..a7cf9b1fa2 Binary files /dev/null and b/data/tilesets/secondary/elite_four/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/elite_four/metatiles.bin b/data/tilesets/secondary/elite_four/metatiles.bin new file mode 100644 index 0000000000..6e3e24c7cb Binary files /dev/null and b/data/tilesets/secondary/elite_four/metatiles.bin differ diff --git a/data/tilesets/secondary/ever_grande/metatile_attributes.bin b/data/tilesets/secondary/ever_grande/metatile_attributes.bin new file mode 100644 index 0000000000..173bf56195 Binary files /dev/null and b/data/tilesets/secondary/ever_grande/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/ever_grande/metatiles.bin b/data/tilesets/secondary/ever_grande/metatiles.bin new file mode 100644 index 0000000000..3dff277f9f Binary files /dev/null and b/data/tilesets/secondary/ever_grande/metatiles.bin differ diff --git a/data/tilesets/secondary/facility/metatile_attributes.bin b/data/tilesets/secondary/facility/metatile_attributes.bin new file mode 100644 index 0000000000..45637f7f26 Binary files /dev/null and b/data/tilesets/secondary/facility/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/facility/metatiles.bin b/data/tilesets/secondary/facility/metatiles.bin new file mode 100644 index 0000000000..374b64a3b7 Binary files /dev/null and b/data/tilesets/secondary/facility/metatiles.bin differ diff --git a/data/tilesets/secondary/fallarbor/metatile_attributes.bin b/data/tilesets/secondary/fallarbor/metatile_attributes.bin new file mode 100644 index 0000000000..7a84517856 Binary files /dev/null and b/data/tilesets/secondary/fallarbor/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/fallarbor/metatiles.bin b/data/tilesets/secondary/fallarbor/metatiles.bin new file mode 100644 index 0000000000..a8781129b6 Binary files /dev/null and b/data/tilesets/secondary/fallarbor/metatiles.bin differ diff --git a/data/tilesets/secondary/fortree/metatile_attributes.bin b/data/tilesets/secondary/fortree/metatile_attributes.bin new file mode 100644 index 0000000000..842ff29917 Binary files /dev/null and b/data/tilesets/secondary/fortree/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/fortree/metatiles.bin b/data/tilesets/secondary/fortree/metatiles.bin new file mode 100644 index 0000000000..ecc00d7e70 Binary files /dev/null and b/data/tilesets/secondary/fortree/metatiles.bin differ diff --git a/data/tilesets/secondary/fortree_gym/metatile_attributes.bin b/data/tilesets/secondary/fortree_gym/metatile_attributes.bin new file mode 100644 index 0000000000..5bfd160f66 Binary files /dev/null and b/data/tilesets/secondary/fortree_gym/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/fortree_gym/metatiles.bin b/data/tilesets/secondary/fortree_gym/metatiles.bin new file mode 100644 index 0000000000..01a430f6b5 Binary files /dev/null and b/data/tilesets/secondary/fortree_gym/metatiles.bin differ diff --git a/data/tilesets/secondary/generic_building/metatile_attributes.bin b/data/tilesets/secondary/generic_building/metatile_attributes.bin new file mode 100644 index 0000000000..9bfcd89f22 Binary files /dev/null and b/data/tilesets/secondary/generic_building/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/generic_building/metatiles.bin b/data/tilesets/secondary/generic_building/metatiles.bin new file mode 100644 index 0000000000..2b97d69bf7 Binary files /dev/null and b/data/tilesets/secondary/generic_building/metatiles.bin differ diff --git a/data/tilesets/secondary/inside_of_truck/metatile_attributes.bin b/data/tilesets/secondary/inside_of_truck/metatile_attributes.bin new file mode 100644 index 0000000000..a39e5716d7 Binary files /dev/null and b/data/tilesets/secondary/inside_of_truck/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/inside_of_truck/metatiles.bin b/data/tilesets/secondary/inside_of_truck/metatiles.bin new file mode 100644 index 0000000000..c8fdbc8714 Binary files /dev/null and b/data/tilesets/secondary/inside_of_truck/metatiles.bin differ diff --git a/data/tilesets/secondary/inside_ship/metatile_attributes.bin b/data/tilesets/secondary/inside_ship/metatile_attributes.bin new file mode 100644 index 0000000000..70639c9663 Binary files /dev/null and b/data/tilesets/secondary/inside_ship/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/inside_ship/metatiles.bin b/data/tilesets/secondary/inside_ship/metatiles.bin new file mode 100644 index 0000000000..cacf472653 Binary files /dev/null and b/data/tilesets/secondary/inside_ship/metatiles.bin differ diff --git a/data/tilesets/secondary/island_harbor/metatile_attributes.bin b/data/tilesets/secondary/island_harbor/metatile_attributes.bin new file mode 100644 index 0000000000..4b534918ae Binary files /dev/null and b/data/tilesets/secondary/island_harbor/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/island_harbor/metatiles.bin b/data/tilesets/secondary/island_harbor/metatiles.bin new file mode 100644 index 0000000000..608bbcc3da Binary files /dev/null and b/data/tilesets/secondary/island_harbor/metatiles.bin differ diff --git a/data/tilesets/secondary/lab/metatile_attributes.bin b/data/tilesets/secondary/lab/metatile_attributes.bin new file mode 100644 index 0000000000..28199c4c76 Binary files /dev/null and b/data/tilesets/secondary/lab/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/lab/metatiles.bin b/data/tilesets/secondary/lab/metatiles.bin new file mode 100644 index 0000000000..b033bb4823 Binary files /dev/null and b/data/tilesets/secondary/lab/metatiles.bin differ diff --git a/data/tilesets/secondary/lavaridge/metatile_attributes.bin b/data/tilesets/secondary/lavaridge/metatile_attributes.bin new file mode 100644 index 0000000000..53f4892166 Binary files /dev/null and b/data/tilesets/secondary/lavaridge/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/lavaridge/metatiles.bin b/data/tilesets/secondary/lavaridge/metatiles.bin new file mode 100644 index 0000000000..fd0314ed78 Binary files /dev/null and b/data/tilesets/secondary/lavaridge/metatiles.bin differ diff --git a/data/tilesets/secondary/lavaridge_gym/metatile_attributes.bin b/data/tilesets/secondary/lavaridge_gym/metatile_attributes.bin new file mode 100644 index 0000000000..f5876eb4ec Binary files /dev/null and b/data/tilesets/secondary/lavaridge_gym/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/lavaridge_gym/metatiles.bin b/data/tilesets/secondary/lavaridge_gym/metatiles.bin new file mode 100644 index 0000000000..fa7d66fd3b Binary files /dev/null and b/data/tilesets/secondary/lavaridge_gym/metatiles.bin differ diff --git a/data/tilesets/secondary/lilycove/metatile_attributes.bin b/data/tilesets/secondary/lilycove/metatile_attributes.bin new file mode 100644 index 0000000000..0f4e01b923 Binary files /dev/null and b/data/tilesets/secondary/lilycove/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/lilycove/metatiles.bin b/data/tilesets/secondary/lilycove/metatiles.bin new file mode 100644 index 0000000000..6018ac8ec3 Binary files /dev/null and b/data/tilesets/secondary/lilycove/metatiles.bin differ diff --git a/data/tilesets/secondary/lilycove_museum/metatile_attributes.bin b/data/tilesets/secondary/lilycove_museum/metatile_attributes.bin new file mode 100644 index 0000000000..e0b0f90164 Binary files /dev/null and b/data/tilesets/secondary/lilycove_museum/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/lilycove_museum/metatiles.bin b/data/tilesets/secondary/lilycove_museum/metatiles.bin new file mode 100644 index 0000000000..dd53c8c059 Binary files /dev/null and b/data/tilesets/secondary/lilycove_museum/metatiles.bin differ diff --git a/data/tilesets/secondary/mauville/metatile_attributes.bin b/data/tilesets/secondary/mauville/metatile_attributes.bin new file mode 100644 index 0000000000..79e40abe28 Binary files /dev/null and b/data/tilesets/secondary/mauville/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/mauville/metatiles.bin b/data/tilesets/secondary/mauville/metatiles.bin new file mode 100644 index 0000000000..a71ead8e57 Binary files /dev/null and b/data/tilesets/secondary/mauville/metatiles.bin differ diff --git a/data/tilesets/secondary/mauville_game_corner/metatile_attributes.bin b/data/tilesets/secondary/mauville_game_corner/metatile_attributes.bin new file mode 100644 index 0000000000..2ebca58dde Binary files /dev/null and b/data/tilesets/secondary/mauville_game_corner/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/mauville_game_corner/metatiles.bin b/data/tilesets/secondary/mauville_game_corner/metatiles.bin new file mode 100644 index 0000000000..07cf8c1c97 Binary files /dev/null and b/data/tilesets/secondary/mauville_game_corner/metatiles.bin differ diff --git a/data/tilesets/secondary/mauville_gym/metatile_attributes.bin b/data/tilesets/secondary/mauville_gym/metatile_attributes.bin new file mode 100644 index 0000000000..965166f7ab Binary files /dev/null and b/data/tilesets/secondary/mauville_gym/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/mauville_gym/metatiles.bin b/data/tilesets/secondary/mauville_gym/metatiles.bin new file mode 100644 index 0000000000..3f6885fdd2 Binary files /dev/null and b/data/tilesets/secondary/mauville_gym/metatiles.bin differ diff --git a/data/tilesets/secondary/meteor_falls/metatile_attributes.bin b/data/tilesets/secondary/meteor_falls/metatile_attributes.bin new file mode 100644 index 0000000000..07e5458702 Binary files /dev/null and b/data/tilesets/secondary/meteor_falls/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/meteor_falls/metatiles.bin b/data/tilesets/secondary/meteor_falls/metatiles.bin new file mode 100644 index 0000000000..6a475ac61f Binary files /dev/null and b/data/tilesets/secondary/meteor_falls/metatiles.bin differ diff --git a/data/tilesets/secondary/mirage_tower/metatile_attributes.bin b/data/tilesets/secondary/mirage_tower/metatile_attributes.bin new file mode 100644 index 0000000000..91acdafed9 Binary files /dev/null and b/data/tilesets/secondary/mirage_tower/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/mirage_tower/metatiles.bin b/data/tilesets/secondary/mirage_tower/metatiles.bin new file mode 100644 index 0000000000..bdafd513a1 Binary files /dev/null and b/data/tilesets/secondary/mirage_tower/metatiles.bin differ diff --git a/data/tilesets/secondary/mossdeep/metatile_attributes.bin b/data/tilesets/secondary/mossdeep/metatile_attributes.bin new file mode 100644 index 0000000000..35b704b860 Binary files /dev/null and b/data/tilesets/secondary/mossdeep/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/mossdeep/metatiles.bin b/data/tilesets/secondary/mossdeep/metatiles.bin new file mode 100644 index 0000000000..5fc527d0ff Binary files /dev/null and b/data/tilesets/secondary/mossdeep/metatiles.bin differ diff --git a/data/tilesets/secondary/mossdeep_game_corner/metatile_attributes.bin b/data/tilesets/secondary/mossdeep_game_corner/metatile_attributes.bin new file mode 100644 index 0000000000..fccb8873ed Binary files /dev/null and b/data/tilesets/secondary/mossdeep_game_corner/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/mossdeep_game_corner/metatiles.bin b/data/tilesets/secondary/mossdeep_game_corner/metatiles.bin new file mode 100644 index 0000000000..a27005bb88 Binary files /dev/null and b/data/tilesets/secondary/mossdeep_game_corner/metatiles.bin differ diff --git a/data/tilesets/secondary/mossdeep_gym/metatile_attributes.bin b/data/tilesets/secondary/mossdeep_gym/metatile_attributes.bin new file mode 100644 index 0000000000..d2e66d8011 Binary files /dev/null and b/data/tilesets/secondary/mossdeep_gym/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/mossdeep_gym/metatiles.bin b/data/tilesets/secondary/mossdeep_gym/metatiles.bin new file mode 100644 index 0000000000..6faf47003a Binary files /dev/null and b/data/tilesets/secondary/mossdeep_gym/metatiles.bin differ diff --git a/data/tilesets/secondary/mystery_events_house/metatile_attributes.bin b/data/tilesets/secondary/mystery_events_house/metatile_attributes.bin new file mode 100644 index 0000000000..687de27255 Binary files /dev/null and b/data/tilesets/secondary/mystery_events_house/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/mystery_events_house/metatiles.bin b/data/tilesets/secondary/mystery_events_house/metatiles.bin new file mode 100644 index 0000000000..e304731f5e Binary files /dev/null and b/data/tilesets/secondary/mystery_events_house/metatiles.bin differ diff --git a/data/tilesets/secondary/navel_rock/metatile_attributes.bin b/data/tilesets/secondary/navel_rock/metatile_attributes.bin new file mode 100644 index 0000000000..6bdf4a2ac0 Binary files /dev/null and b/data/tilesets/secondary/navel_rock/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/navel_rock/metatiles.bin b/data/tilesets/secondary/navel_rock/metatiles.bin new file mode 100644 index 0000000000..3a4d603a94 Binary files /dev/null and b/data/tilesets/secondary/navel_rock/metatiles.bin differ diff --git a/data/tilesets/secondary/oceanic_museum/metatile_attributes.bin b/data/tilesets/secondary/oceanic_museum/metatile_attributes.bin new file mode 100644 index 0000000000..93ebf543b9 Binary files /dev/null and b/data/tilesets/secondary/oceanic_museum/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/oceanic_museum/metatiles.bin b/data/tilesets/secondary/oceanic_museum/metatiles.bin new file mode 100644 index 0000000000..e452e87138 Binary files /dev/null and b/data/tilesets/secondary/oceanic_museum/metatiles.bin differ diff --git a/data/tilesets/secondary/pacifidlog/metatile_attributes.bin b/data/tilesets/secondary/pacifidlog/metatile_attributes.bin new file mode 100644 index 0000000000..ab0dd07126 Binary files /dev/null and b/data/tilesets/secondary/pacifidlog/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/pacifidlog/metatiles.bin b/data/tilesets/secondary/pacifidlog/metatiles.bin new file mode 100644 index 0000000000..f89ed3d808 Binary files /dev/null and b/data/tilesets/secondary/pacifidlog/metatiles.bin differ diff --git a/data/tilesets/secondary/petalburg/metatile_attributes.bin b/data/tilesets/secondary/petalburg/metatile_attributes.bin new file mode 100644 index 0000000000..091061b4e3 Binary files /dev/null and b/data/tilesets/secondary/petalburg/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/petalburg/metatiles.bin b/data/tilesets/secondary/petalburg/metatiles.bin new file mode 100644 index 0000000000..3711f4aeef Binary files /dev/null and b/data/tilesets/secondary/petalburg/metatiles.bin differ diff --git a/data/tilesets/secondary/petalburg_gym/metatile_attributes.bin b/data/tilesets/secondary/petalburg_gym/metatile_attributes.bin new file mode 100644 index 0000000000..1d929806da Binary files /dev/null and b/data/tilesets/secondary/petalburg_gym/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/petalburg_gym/metatiles.bin b/data/tilesets/secondary/petalburg_gym/metatiles.bin new file mode 100644 index 0000000000..47b49252d1 Binary files /dev/null and b/data/tilesets/secondary/petalburg_gym/metatiles.bin differ diff --git a/data/tilesets/secondary/pokemon_center/metatile_attributes.bin b/data/tilesets/secondary/pokemon_center/metatile_attributes.bin new file mode 100644 index 0000000000..e2ab21f8ca Binary files /dev/null and b/data/tilesets/secondary/pokemon_center/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/pokemon_center/metatiles.bin b/data/tilesets/secondary/pokemon_center/metatiles.bin new file mode 100644 index 0000000000..ec53573118 Binary files /dev/null and b/data/tilesets/secondary/pokemon_center/metatiles.bin differ diff --git a/data/tilesets/secondary/pokemon_day_care/metatile_attributes.bin b/data/tilesets/secondary/pokemon_day_care/metatile_attributes.bin new file mode 100644 index 0000000000..d946b8164f Binary files /dev/null and b/data/tilesets/secondary/pokemon_day_care/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/pokemon_day_care/metatiles.bin b/data/tilesets/secondary/pokemon_day_care/metatiles.bin new file mode 100644 index 0000000000..20d3f77b0e Binary files /dev/null and b/data/tilesets/secondary/pokemon_day_care/metatiles.bin differ diff --git a/data/tilesets/secondary/pokemon_fan_club/metatile_attributes.bin b/data/tilesets/secondary/pokemon_fan_club/metatile_attributes.bin new file mode 100644 index 0000000000..67a11c7908 Binary files /dev/null and b/data/tilesets/secondary/pokemon_fan_club/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/pokemon_fan_club/metatiles.bin b/data/tilesets/secondary/pokemon_fan_club/metatiles.bin new file mode 100644 index 0000000000..535c60b8dd Binary files /dev/null and b/data/tilesets/secondary/pokemon_fan_club/metatiles.bin differ diff --git a/data/tilesets/secondary/pokemon_school/metatile_attributes.bin b/data/tilesets/secondary/pokemon_school/metatile_attributes.bin new file mode 100644 index 0000000000..e9687cff99 Binary files /dev/null and b/data/tilesets/secondary/pokemon_school/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/pokemon_school/metatiles.bin b/data/tilesets/secondary/pokemon_school/metatiles.bin new file mode 100644 index 0000000000..be592773ea Binary files /dev/null and b/data/tilesets/secondary/pokemon_school/metatiles.bin differ diff --git a/data/tilesets/secondary/pretty_petal_flower_shop/metatile_attributes.bin b/data/tilesets/secondary/pretty_petal_flower_shop/metatile_attributes.bin new file mode 100644 index 0000000000..8433ffa0f9 Binary files /dev/null and b/data/tilesets/secondary/pretty_petal_flower_shop/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/pretty_petal_flower_shop/metatiles.bin b/data/tilesets/secondary/pretty_petal_flower_shop/metatiles.bin new file mode 100644 index 0000000000..d553d57b06 Binary files /dev/null and b/data/tilesets/secondary/pretty_petal_flower_shop/metatiles.bin differ diff --git a/data/tilesets/secondary/rustboro/metatile_attributes.bin b/data/tilesets/secondary/rustboro/metatile_attributes.bin new file mode 100644 index 0000000000..e2b728c657 Binary files /dev/null and b/data/tilesets/secondary/rustboro/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/rustboro/metatiles.bin b/data/tilesets/secondary/rustboro/metatiles.bin new file mode 100644 index 0000000000..5a0d1b0d14 Binary files /dev/null and b/data/tilesets/secondary/rustboro/metatiles.bin differ diff --git a/data/tilesets/secondary/rustboro_gym/metatile_attributes.bin b/data/tilesets/secondary/rustboro_gym/metatile_attributes.bin new file mode 100644 index 0000000000..39f8b428b5 Binary files /dev/null and b/data/tilesets/secondary/rustboro_gym/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/rustboro_gym/metatiles.bin b/data/tilesets/secondary/rustboro_gym/metatiles.bin new file mode 100644 index 0000000000..715860a17b Binary files /dev/null and b/data/tilesets/secondary/rustboro_gym/metatiles.bin differ diff --git a/data/tilesets/secondary/rusturf_tunnel/metatile_attributes.bin b/data/tilesets/secondary/rusturf_tunnel/metatile_attributes.bin new file mode 100644 index 0000000000..fd992b2111 Binary files /dev/null and b/data/tilesets/secondary/rusturf_tunnel/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/rusturf_tunnel/metatiles.bin b/data/tilesets/secondary/rusturf_tunnel/metatiles.bin new file mode 100644 index 0000000000..b731d57924 Binary files /dev/null and b/data/tilesets/secondary/rusturf_tunnel/metatiles.bin differ diff --git a/data/tilesets/secondary/seashore_house/metatile_attributes.bin b/data/tilesets/secondary/seashore_house/metatile_attributes.bin new file mode 100644 index 0000000000..786eae706a Binary files /dev/null and b/data/tilesets/secondary/seashore_house/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/seashore_house/metatiles.bin b/data/tilesets/secondary/seashore_house/metatiles.bin new file mode 100644 index 0000000000..d935b6200c Binary files /dev/null and b/data/tilesets/secondary/seashore_house/metatiles.bin differ diff --git a/data/tilesets/secondary/secret_base/metatile_attributes.bin b/data/tilesets/secondary/secret_base/metatile_attributes.bin new file mode 100644 index 0000000000..92fe394091 Binary files /dev/null and b/data/tilesets/secondary/secret_base/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/secret_base/metatiles.bin b/data/tilesets/secondary/secret_base/metatiles.bin new file mode 100644 index 0000000000..e8d50fa852 Binary files /dev/null and b/data/tilesets/secondary/secret_base/metatiles.bin differ diff --git a/data/tilesets/secondary/shop/metatile_attributes.bin b/data/tilesets/secondary/shop/metatile_attributes.bin new file mode 100644 index 0000000000..604e089928 Binary files /dev/null and b/data/tilesets/secondary/shop/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/shop/metatiles.bin b/data/tilesets/secondary/shop/metatiles.bin new file mode 100644 index 0000000000..000c0551a9 Binary files /dev/null and b/data/tilesets/secondary/shop/metatiles.bin differ diff --git a/data/tilesets/secondary/slateport/metatile_attributes.bin b/data/tilesets/secondary/slateport/metatile_attributes.bin new file mode 100644 index 0000000000..d4894828bb Binary files /dev/null and b/data/tilesets/secondary/slateport/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/slateport/metatiles.bin b/data/tilesets/secondary/slateport/metatiles.bin new file mode 100644 index 0000000000..72f671f71d Binary files /dev/null and b/data/tilesets/secondary/slateport/metatiles.bin differ diff --git a/data/tilesets/secondary/sootopolis/metatile_attributes.bin b/data/tilesets/secondary/sootopolis/metatile_attributes.bin new file mode 100644 index 0000000000..01575e71b6 Binary files /dev/null and b/data/tilesets/secondary/sootopolis/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/sootopolis/metatiles.bin b/data/tilesets/secondary/sootopolis/metatiles.bin new file mode 100644 index 0000000000..8a5086884b Binary files /dev/null and b/data/tilesets/secondary/sootopolis/metatiles.bin differ diff --git a/data/tilesets/secondary/sootopolis_gym/metatile_attributes.bin b/data/tilesets/secondary/sootopolis_gym/metatile_attributes.bin new file mode 100644 index 0000000000..f42d8a8e21 Binary files /dev/null and b/data/tilesets/secondary/sootopolis_gym/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/sootopolis_gym/metatiles.bin b/data/tilesets/secondary/sootopolis_gym/metatiles.bin new file mode 100644 index 0000000000..265b35c7b7 Binary files /dev/null and b/data/tilesets/secondary/sootopolis_gym/metatiles.bin differ diff --git a/data/tilesets/secondary/trainer_hill/metatile_attributes.bin b/data/tilesets/secondary/trainer_hill/metatile_attributes.bin new file mode 100644 index 0000000000..67be3bb1db Binary files /dev/null and b/data/tilesets/secondary/trainer_hill/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/trainer_hill/metatiles.bin b/data/tilesets/secondary/trainer_hill/metatiles.bin new file mode 100644 index 0000000000..5f60d3de1e Binary files /dev/null and b/data/tilesets/secondary/trainer_hill/metatiles.bin differ diff --git a/data/tilesets/secondary/trick_house_puzzle/metatile_attributes.bin b/data/tilesets/secondary/trick_house_puzzle/metatile_attributes.bin new file mode 100644 index 0000000000..1096ab63ac Binary files /dev/null and b/data/tilesets/secondary/trick_house_puzzle/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/trick_house_puzzle/metatiles.bin b/data/tilesets/secondary/trick_house_puzzle/metatiles.bin new file mode 100644 index 0000000000..f3b8015ce8 Binary files /dev/null and b/data/tilesets/secondary/trick_house_puzzle/metatiles.bin differ diff --git a/data/tilesets/secondary/underwater/metatile_attributes.bin b/data/tilesets/secondary/underwater/metatile_attributes.bin new file mode 100644 index 0000000000..519b7715fb Binary files /dev/null and b/data/tilesets/secondary/underwater/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/underwater/metatiles.bin b/data/tilesets/secondary/underwater/metatiles.bin new file mode 100644 index 0000000000..61c6529035 Binary files /dev/null and b/data/tilesets/secondary/underwater/metatiles.bin differ diff --git a/data/tilesets/secondary/union_room/metatile_attributes.bin b/data/tilesets/secondary/union_room/metatile_attributes.bin new file mode 100644 index 0000000000..ba7056b42a Binary files /dev/null and b/data/tilesets/secondary/union_room/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/union_room/metatiles.bin b/data/tilesets/secondary/union_room/metatiles.bin new file mode 100644 index 0000000000..8d0496644b Binary files /dev/null and b/data/tilesets/secondary/union_room/metatiles.bin differ diff --git a/data/tilesets/secondary/unused_1/metatile_attributes.bin b/data/tilesets/secondary/unused_1/metatile_attributes.bin new file mode 100644 index 0000000000..593f4708db Binary files /dev/null and b/data/tilesets/secondary/unused_1/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/unused_1/metatiles.bin b/data/tilesets/secondary/unused_1/metatiles.bin new file mode 100644 index 0000000000..5b47cf2010 Binary files /dev/null and b/data/tilesets/secondary/unused_1/metatiles.bin differ diff --git a/data/tilesets/secondary/unused_2/metatile_attributes.bin b/data/tilesets/secondary/unused_2/metatile_attributes.bin new file mode 100644 index 0000000000..e709804dad Binary files /dev/null and b/data/tilesets/secondary/unused_2/metatile_attributes.bin differ diff --git a/data/tilesets/secondary/unused_2/metatiles.bin b/data/tilesets/secondary/unused_2/metatiles.bin new file mode 100644 index 0000000000..d9d5c19fd4 Binary files /dev/null and b/data/tilesets/secondary/unused_2/metatiles.bin differ diff --git a/data/tilesets/tileset_graphics.inc b/data/tilesets/tileset_graphics.inc deleted file mode 100644 index 2d1ddb1f9b..0000000000 --- a/data/tilesets/tileset_graphics.inc +++ /dev/null @@ -1,1731 +0,0 @@ - .align 2 -gTilesetTiles_Petalburg:: @ 8339E08 - .incbin "data/tilesets/secondary/petalburg/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Petalburg:: @ 833A704 - .incbin "data/tilesets/secondary/petalburg/palettes/00.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/01.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/02.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/03.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/04.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/05.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/06.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/07.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/08.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/09.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/10.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/11.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/12.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/13.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/14.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Rustboro:: @ 833A904 - .incbin "data/tilesets/secondary/rustboro/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Rustboro:: @ 833BEC0 - .incbin "data/tilesets/secondary/rustboro/palettes/00.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/01.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/02.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/03.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/04.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/05.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/06.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/07.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/08.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/09.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/10.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/11.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/12.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/13.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/14.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Dewford:: @ 833C0C0 - .incbin "data/tilesets/secondary/dewford/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Dewford:: @ 833D540 - .incbin "data/tilesets/secondary/dewford/palettes/00.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/01.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/02.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/03.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/04.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/05.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/06.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/07.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/08.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/09.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/10.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/11.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/12.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/13.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/14.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Slateport:: @ 833D740 - .incbin "data/tilesets/secondary/slateport/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Slateport:: @ 833F708 - .incbin "data/tilesets/secondary/slateport/palettes/00.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/01.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/02.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/03.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/04.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/05.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/06.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/07.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/08.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/09.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/10.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/11.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/12.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/13.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/14.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Mauville:: @ 833F908 - .incbin "data/tilesets/secondary/mauville/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Mauville:: @ 834172C - .incbin "data/tilesets/secondary/mauville/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Lavaridge:: @ 834192C - .incbin "data/tilesets/secondary/lavaridge/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Lavaridge:: @ 8342E28 - .incbin "data/tilesets/secondary/lavaridge/palettes/00.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/01.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/02.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/03.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/04.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/05.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/06.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/07.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/08.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/09.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/10.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/11.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/12.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/13.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/14.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Fallarbor:: @ 8343028 - .incbin "data/tilesets/secondary/fallarbor/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Fallarbor:: @ 83447A0 - .incbin "data/tilesets/secondary/fallarbor/palettes/00.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/01.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/02.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/03.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/04.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/05.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/06.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/07.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/08.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/09.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/10.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/11.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/12.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/13.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/14.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Fortree:: @ 83449A0 - .incbin "data/tilesets/secondary/fortree/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Fortree:: @ 8346020 - .incbin "data/tilesets/secondary/fortree/palettes/00.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/01.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/02.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/03.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/04.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/05.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/06.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/07.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/08.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/09.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/10.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/11.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/12.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/13.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/14.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Lilycove:: @ 8346220 - .incbin "data/tilesets/secondary/lilycove/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Lilycove:: @ 83475C0 - .incbin "data/tilesets/secondary/lilycove/palettes/00.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/01.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/02.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/03.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/04.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/05.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/06.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/07.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/08.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/09.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/10.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/11.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/12.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/13.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/14.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Mossdeep:: @ 83477C0 - .incbin "data/tilesets/secondary/mossdeep/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Mossdeep:: @ 8348E10 - .incbin "data/tilesets/secondary/mossdeep/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/15.gbapal" - - .align 2 -gTilesetTiles_EverGrande:: @ 8349010 - .incbin "data/tilesets/secondary/ever_grande/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_EverGrande:: @ 8349C28 - .incbin "data/tilesets/secondary/ever_grande/palettes/00.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/01.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/02.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/03.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/04.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/05.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/06.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/07.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/08.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/09.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/10.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/11.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/12.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/13.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/14.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Pacifidlog:: @ 8349E28 - .incbin "data/tilesets/secondary/pacifidlog/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Pacifidlog:: @ 834B5B4 - .incbin "data/tilesets/secondary/pacifidlog/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Sootopolis:: @ 834B7B4 - .incbin "data/tilesets/secondary/sootopolis/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Sootopolis:: @ 834C6B4 - .incbin "data/tilesets/secondary/sootopolis/palettes/00.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/01.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/02.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/03.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/04.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/05.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/06.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/07.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/08.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/09.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/10.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/11.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/12.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/13.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/14.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleFrontierOutsideWest:: @ 834C8B4 - .incbin "data/tilesets/secondary/battle_frontier_outside_west/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleFrontierOutsideWest:: @ 834E3E4 - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleFrontierOutsideEast:: @ 834E5E4 - .incbin "data/tilesets/secondary/battle_frontier_outside_east/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleFrontierOutsideEast:: @ 834F984 - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/15.gbapal" - - .align 2 -gTilesetTiles_InsideBuilding:: @ 834FB84 - .incbin "data/tilesets/primary/inside_building/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_InsideBuilding:: @ 83508BC - .incbin "data/tilesets/primary/inside_building/palettes/00.gbapal" - .incbin "data/tilesets/primary/inside_building/palettes/01.gbapal" - .incbin "data/tilesets/primary/inside_building/palettes/02.gbapal" - .incbin "data/tilesets/primary/inside_building/palettes/03.gbapal" - .incbin "data/tilesets/primary/inside_building/palettes/04.gbapal" - .incbin "data/tilesets/primary/inside_building/palettes/05.gbapal" - .incbin "data/tilesets/primary/inside_building/palettes/06.gbapal" - .incbin "data/tilesets/primary/inside_building/palettes/07.gbapal" - .incbin "data/tilesets/primary/inside_building/palettes/08.gbapal" - .incbin "data/tilesets/primary/inside_building/palettes/09.gbapal" - .incbin "data/tilesets/primary/inside_building/palettes/10.gbapal" - .incbin "data/tilesets/primary/inside_building/palettes/11.gbapal" - .incbin "data/tilesets/primary/inside_building/palettes/12.gbapal" - .incbin "data/tilesets/primary/inside_building/palettes/13.gbapal" - .incbin "data/tilesets/primary/inside_building/palettes/14.gbapal" - .incbin "data/tilesets/primary/inside_building/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Shop:: @ 8350ABC - .incbin "data/tilesets/secondary/shop/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Shop:: @ 83520DC - .incbin "data/tilesets/secondary/shop/palettes/00.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/01.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/02.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/03.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/04.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/05.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/06.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/07.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/08.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/09.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/10.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/11.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/12.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/13.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/14.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PokemonCenter:: @ 83522DC - .incbin "data/tilesets/secondary/pokemon_center/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PokemonCenter:: @ 8353574 - .incbin "data/tilesets/secondary/pokemon_center/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Cave:: @ 8353774 - .incbin "data/tilesets/secondary/cave/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Cave:: @ 8355260 - .incbin "data/tilesets/secondary/cave/palettes/00.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/01.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/02.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/03.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/04.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/05.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/06.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/07.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/08.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/09.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/10.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/11.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/12.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/13.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/14.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PokemonSchool:: @ 8355460 - .incbin "data/tilesets/secondary/pokemon_school/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PokemonSchool:: @ 8355BA8 - .incbin "data/tilesets/secondary/pokemon_school/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PokemonFanClub:: @ 8355DA8 - .incbin "data/tilesets/secondary/pokemon_fan_club/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PokemonFanClub:: @ 83566D4 - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Unused1:: @ 83568D4 - .incbin "data/tilesets/secondary/unused_1/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Unused1:: @ 8356920 - .incbin "data/tilesets/secondary/unused_1/palettes/00.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/01.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/02.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/03.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/04.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/05.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/06.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/07.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/08.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/09.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/10.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/11.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/12.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/13.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/14.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MeteorFalls:: @ 8356B20 - .incbin "data/tilesets/secondary/meteor_falls/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MeteorFalls:: @ 8358840 - .incbin "data/tilesets/secondary/meteor_falls/palettes/00.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/01.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/02.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/03.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/04.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/05.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/06.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/07.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/08.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/09.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/10.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/11.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/12.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/13.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/14.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/15.gbapal" - - .align 2 -gTilesetTiles_OceanicMuseum:: @ 8358A40 - .incbin "data/tilesets/secondary/oceanic_museum/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_OceanicMuseum:: @ 83599CC - .incbin "data/tilesets/secondary/oceanic_museum/palettes/00.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/01.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/02.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/03.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/04.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/05.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/06.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/07.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/08.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/09.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/10.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/11.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/12.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/13.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/14.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/15.gbapal" - - .align 2 -gTilesetTiles_CableClub:: @ 8359BCC - .incbin "data/tilesets/secondary/cable_club/tiles.4bpp" - - .align 2 - .incbin "data/tilesets/secondary/cable_club/unknown_tiles.4bpp" - - .align 2 -gTilesetPalettes_CableClub:: @ 835EACC - .incbin "data/tilesets/secondary/cable_club/palettes/00.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/01.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/02.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/03.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/04.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/05.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/06.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/07.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/08.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/09.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/10.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/11.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/12.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/13.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/14.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SeashoreHouse:: @ 835ECCC - .incbin "data/tilesets/secondary/seashore_house/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SeashoreHouse:: @ 835F5A8 - .incbin "data/tilesets/secondary/seashore_house/palettes/00.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/01.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/02.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/03.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/04.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/05.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/06.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/07.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/08.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/09.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/10.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/11.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/12.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/13.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/14.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PrettyPetalFlowerShop:: @ 835F7A8 - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PrettyPetalFlowerShop:: @ 83603A0 - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PokemonDayCare:: @ 83605A0 - .incbin "data/tilesets/secondary/pokemon_day_care/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PokemonDayCare:: @ 8360FDC - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Facility:: @ 83611DC - .incbin "data/tilesets/secondary/facility/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Facility:: @ 8362E90 - .incbin "data/tilesets/secondary/facility/palettes/00.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/01.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/02.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/03.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/04.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/05.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/06.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/07.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/08.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/09.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/10.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/11.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/12.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/13.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/14.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BikeShop:: @ 8363090 - .incbin "data/tilesets/secondary/bike_shop/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BikeShop:: @ 83643C0 - .incbin "data/tilesets/secondary/bike_shop/palettes/00.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/01.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/02.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/03.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/04.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/05.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/06.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/07.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/08.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/09.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/10.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/11.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/12.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/13.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/14.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/15.gbapal" - - .align 2 -gTilesetTiles_RusturfTunnel:: @ 83645C0 - .incbin "data/tilesets/secondary/rusturf_tunnel/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_RusturfTunnel:: @ 8365008 - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/00.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/01.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/02.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/03.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/04.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/05.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/06.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/07.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/08.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/09.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/10.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/11.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/12.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/13.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/14.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/15.gbapal" - - .align 2 -@ unused compressed copy of tiles - .incbin "data/tilesets/secondary/secret_base/brown_cave/unused_tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SecretBaseBrownCave:: @ 8365788 - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/00.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/01.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/02.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/03.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/04.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/05.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/06.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/07.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/08.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/09.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/10.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/11.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/12.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/13.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/14.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/15.gbapal" - - .align 2 -@ unused compressed copy of tiles - .incbin "data/tilesets/secondary/secret_base/tree/unused_tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SecretBaseTree:: @ 8365EAC - .incbin "data/tilesets/secondary/secret_base/tree/palettes/00.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/01.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/02.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/03.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/04.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/05.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/06.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/07.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/08.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/09.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/10.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/11.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/12.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/13.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/14.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/15.gbapal" - - .align 2 -@ unused compressed copy of tiles - .incbin "data/tilesets/secondary/secret_base/shrub/unused_tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SecretBaseShrub:: @ 8366614 - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/00.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/01.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/02.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/03.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/04.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/05.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/06.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/07.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/08.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/09.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/10.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/11.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/12.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/13.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/14.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/15.gbapal" - - .align 2 -@ unused compressed copy of tiles - .incbin "data/tilesets/secondary/secret_base/blue_cave/unused_tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SecretBaseBlueCave:: @ 8366C30 - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/00.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/01.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/02.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/03.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/04.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/05.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/06.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/07.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/08.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/09.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/10.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/11.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/12.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/13.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/14.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/15.gbapal" - - .align 2 -@ unused compressed copy of tiles - .incbin "data/tilesets/secondary/secret_base/yellow_cave/unused_tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SecretBaseYellowCave:: @ 8367368 - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/00.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/01.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/02.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/03.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/04.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/05.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/06.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/07.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/08.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/09.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/10.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/11.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/12.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/13.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/14.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/15.gbapal" - - .align 2 -@ unused compressed copy of tiles - .incbin "data/tilesets/secondary/secret_base/red_cave/unused_tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SecretBaseRedCave:: @ 83679A0 - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/00.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/01.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/02.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/03.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/04.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/05.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/06.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/07.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/08.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/09.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/10.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/11.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/12.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/13.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/14.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SecretBaseBrownCave:: @ 8367BA0 - .incbin "data/tilesets/secondary/secret_base/brown_cave/tiles.4bpp" - - .align 2 -gTilesetTiles_SecretBaseTree:: @ 8368600 - .incbin "data/tilesets/secondary/secret_base/tree/tiles.4bpp" - - .align 2 -gTilesetTiles_SecretBaseShrub:: @ 8369060 - .incbin "data/tilesets/secondary/secret_base/shrub/tiles.4bpp" - - .align 2 -gTilesetTiles_SecretBaseBlueCave:: @ 8369AC0 - .incbin "data/tilesets/secondary/secret_base/blue_cave/tiles.4bpp" - - .align 2 -gTilesetTiles_SecretBaseYellowCave:: @ 836A520 - .incbin "data/tilesets/secondary/secret_base/yellow_cave/tiles.4bpp" - - .align 2 -gTilesetTiles_SecretBaseRedCave:: @ 836AF80 - .incbin "data/tilesets/secondary/secret_base/red_cave/tiles.4bpp" - - .align 2 -gTilesetTiles_InsideOfTruck:: @ 836B9E0 - .incbin "data/tilesets/secondary/inside_of_truck/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_InsideOfTruck:: @ 836BC3C - .incbin "data/tilesets/secondary/inside_of_truck/palettes/00.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/01.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/02.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/03.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/04.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/05.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/06.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/07.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/08.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/09.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/10.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/11.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/12.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/13.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/14.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Contest:: @ 836BE3C - .incbin "data/tilesets/secondary/contest/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Contest:: @ 836C990 - .incbin "data/tilesets/secondary/contest/palettes/00.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/01.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/02.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/03.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/04.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/05.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/06.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/07.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/08.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/09.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/10.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/11.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/12.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/13.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/14.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/15.gbapal" - - .align 2 -gTilesetTiles_LilycoveMuseum:: @ 836CB90 - .incbin "data/tilesets/secondary/lilycove_museum/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_LilycoveMuseum:: @ 836DEAC - .incbin "data/tilesets/secondary/lilycove_museum/palettes/00.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/01.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/02.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/03.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/04.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/05.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/06.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/07.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/08.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/09.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/10.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/11.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/12.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/13.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/14.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BrendansMaysHouse:: @ 836E0AC - .incbin "data/tilesets/secondary/brendans_mays_house/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BrendansMaysHouse:: @ 836F178 - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/00.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/01.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/02.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/03.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/04.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/05.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/06.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/07.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/08.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/09.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/10.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/11.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/12.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/13.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/14.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Lab:: @ 836F378 - .incbin "data/tilesets/secondary/lab/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Lab:: @ 83703DC - .incbin "data/tilesets/secondary/lab/palettes/00.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/01.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/02.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/03.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/04.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/05.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/06.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/07.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/08.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/09.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/10.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/11.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/12.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/13.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/14.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Underwater:: @ 83705DC - .incbin "data/tilesets/secondary/underwater/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Underwater:: @ 8371798 - .incbin "data/tilesets/secondary/underwater/palettes/00.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/01.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/02.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/03.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/04.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/05.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/06.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/07.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/08.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/09.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/10.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/11.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/12.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/13.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/14.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/15.gbapal" - - .align 2 -gTilesetTiles_GenericBuilding:: @ 8371998 - .incbin "data/tilesets/secondary/generic_building/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_GenericBuilding:: @ 83733C4 - .incbin "data/tilesets/secondary/generic_building/palettes/00.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/01.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/02.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/03.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/04.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/05.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/06.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/07.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/08.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/09.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/10.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/11.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/12.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/13.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/14.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MauvilleGameCorner:: @ 83735C4 - .incbin "data/tilesets/secondary/mauville_game_corner/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MauvilleGameCorner:: @ 8374288 - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Unused2:: @ 8374488 - .incbin "data/tilesets/secondary/unused_2/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Unused2:: @ 83749B0 - .incbin "data/tilesets/secondary/unused_2/palettes/00.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/01.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/02.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/03.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/04.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/05.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/06.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/07.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/08.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/09.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/10.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/11.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/12.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/13.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/14.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/15.gbapal" - - .align 2 -gTilesetTiles_RustboroGym:: @ 8374BB0 - .incbin "data/tilesets/secondary/rustboro_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_RustboroGym:: @ 8374F34 - .incbin "data/tilesets/secondary/rustboro_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_DewfordGym:: @ 8375134 - .incbin "data/tilesets/secondary/dewford_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_DewfordGym:: @ 8375400 - .incbin "data/tilesets/secondary/dewford_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MauvilleGym:: @ 8375600 - .incbin "data/tilesets/secondary/mauville_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MauvilleGym:: @ 8375D84 - .incbin "data/tilesets/secondary/mauville_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_LavaridgeGym:: @ 8375F84 - .incbin "data/tilesets/secondary/lavaridge_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_LavaridgeGym:: @ 83762AC - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PetalburgGym:: @ 83764AC - .incbin "data/tilesets/secondary/petalburg_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PetalburgGym:: @ 8376B50 - .incbin "data/tilesets/secondary/petalburg_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_FortreeGym:: @ 8376D50 - .incbin "data/tilesets/secondary/fortree_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_FortreeGym:: @ 83770C4 - .incbin "data/tilesets/secondary/fortree_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MossdeepGym:: @ 83772C4 - .incbin "data/tilesets/secondary/mossdeep_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MossdeepGym:: @ 8377730 - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SootopolisGym:: @ 8377930 - .incbin "data/tilesets/secondary/sootopolis_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SootopolisGym:: @ 8378AC4 - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_TrickHousePuzzle:: @ 8378CC4 - .incbin "data/tilesets/secondary/trick_house_puzzle/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_TrickHousePuzzle:: @ 8379A78 - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/00.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/01.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/02.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/03.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/04.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/05.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/06.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/07.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/08.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/09.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/10.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/11.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/12.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/13.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/14.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/15.gbapal" - - .align 2 -gTilesetTiles_InsideShip:: @ 8379C78 - .incbin "data/tilesets/secondary/inside_ship/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_InsideShip:: @ 837A848 - .incbin "data/tilesets/secondary/inside_ship/palettes/00.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/01.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/02.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/03.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/04.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/05.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/06.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/07.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/08.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/09.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/10.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/11.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/12.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/13.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/14.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SecretBase:: @ 837AA48 - .incbin "data/tilesets/primary/secret_base/tiles.4bpp" - - .align 2 - .incbin "data/tilesets/primary/secret_base/unknown_tiles.4bpp" - - .align 2 -gTilesetPalettes_SecretBase:: @ 8382A48 - .incbin "data/tilesets/primary/secret_base/palettes/00.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/01.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/02.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/03.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/04.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/05.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/06.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/07.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/08.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/09.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/10.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/11.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/12.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/13.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/14.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/15.gbapal" - - .align 2 -gTilesetTiles_EliteFour:: @ 8382C48 - .incbin "data/tilesets/secondary/elite_four/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_EliteFour:: @ 8383CC4 - .incbin "data/tilesets/secondary/elite_four/palettes/00.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/01.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/02.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/03.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/04.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/05.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/06.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/07.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/08.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/09.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/10.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/11.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/12.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/13.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/14.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleFrontier:: @ 8383EC4 - .incbin "data/tilesets/secondary/battle_frontier/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleFrontier:: @ 8384BC8 - .incbin "data/tilesets/secondary/battle_frontier/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattlePalace:: @ 8384DC8 - .incbin "data/tilesets/secondary/battle_palace/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattlePalace:: @ 8385540 - .incbin "data/tilesets/secondary/battle_palace/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleDome:: @ 8385740 - .incbin "data/tilesets/secondary/battle_dome/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleDome:: @ 8386990 - .incbin "data/tilesets/secondary/battle_dome/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleFactory:: @ 8386B90 - .incbin "data/tilesets/secondary/battle_factory/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleFactory:: @ 8387D7C - .incbin "data/tilesets/secondary/battle_factory/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattlePike:: @ 8387F7C - .incbin "data/tilesets/secondary/battle_pike/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattlePike:: @ 8389250 - .incbin "data/tilesets/secondary/battle_pike/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleArena:: @ 8389450 - .incbin "data/tilesets/secondary/battle_arena/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleArena:: @ 8389F8C - .incbin "data/tilesets/secondary/battle_arena/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattlePyramid:: @ 838A18C - .incbin "data/tilesets/secondary/battle_pyramid/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattlePyramid:: @ 838B39C - .incbin "data/tilesets/secondary/battle_pyramid/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MirageTower:: @ 838B59C - .incbin "data/tilesets/secondary/mirage_tower/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MirageTower:: @ 838CFE4 - .incbin "data/tilesets/secondary/mirage_tower/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MossdeepGameCorner:: @ 838D1E4 - .incbin "data/tilesets/secondary/mossdeep_game_corner/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MossdeepGameCorner:: @ 838D604 - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/15.gbapal" - - .align 2 -gTilesetTiles_IslandHarbor:: @ 838D804 - .incbin "data/tilesets/secondary/island_harbor/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_IslandHarbor:: @ 838F1D4 - .incbin "data/tilesets/secondary/island_harbor/palettes/00.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/01.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/02.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/03.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/04.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/05.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/06.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/07.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/08.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/09.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/10.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/11.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/12.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/13.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/14.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/15.gbapal" - - .align 2 -gTilesetTiles_TrainerHill:: @ 838F3D4 - .incbin "data/tilesets/secondary/trainer_hill/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_TrainerHill:: @ 83904C4 - .incbin "data/tilesets/secondary/trainer_hill/palettes/00.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/01.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/02.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/03.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/04.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/05.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/06.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/07.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/08.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/09.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/10.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/11.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/12.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/13.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/14.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/15.gbapal" - - .align 2 -gTilesetTiles_NavelRock:: @ 83906C4 - .incbin "data/tilesets/secondary/navel_rock/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_NavelRock:: @ 8392258 - .incbin "data/tilesets/secondary/navel_rock/palettes/00.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/01.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/02.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/03.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/04.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/05.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/06.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/07.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/08.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/09.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/10.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/11.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/12.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/13.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/14.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleFrontierRankingHall:: @ 8392458 - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleFrontierRankingHall:: @ 8392CAC - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleTent:: @ 8392EAC - .incbin "data/tilesets/secondary/battle_tent/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleTent:: @ 8393910 - .incbin "data/tilesets/secondary/battle_tent/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MysteryEventsHouse:: @ 8393B10 - .incbin "data/tilesets/secondary/mystery_events_house/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MysteryEventsHouse:: @ 8395478 - .incbin "data/tilesets/secondary/mystery_events_house/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/15.gbapal" - - .align 2 -gTilesetPalettes_UnionRoom:: @ 8395678 - .incbin "data/tilesets/secondary/union_room/palettes/00.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/01.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/02.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/03.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/04.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/05.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/06.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/07.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/08.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/09.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/10.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/11.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/12.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/13.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/14.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/15.gbapal" - - .align 2 -gTilesetTiles_UnionRoom:: @ 8395878 - .incbin "data/tilesets/secondary/union_room/tiles.4bpp.lz" diff --git a/data/tilesets/tilesets.inc b/data/tilesets/tilesets.inc deleted file mode 100644 index a342dc973a..0000000000 --- a/data/tilesets/tilesets.inc +++ /dev/null @@ -1,832 +0,0 @@ - .align 2 -gTileset_General:: @ 83DF704 - .byte TRUE @ is compressed - .byte FALSE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_General - .4byte gTilesetPalettes_General - .4byte gMetatiles_General - .4byte gMetatileAttributes_General - .4byte TilesetCb_General - - .align 2 -gTileset_Petalburg:: @ 83DF71C - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Petalburg - .4byte gTilesetPalettes_Petalburg - .4byte gMetatiles_Petalburg - .4byte gMetatileAttributes_Petalburg - .4byte TilesetCb_Petalburg - - .align 2 -gTileset_Rustboro:: @ 83DF734 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Rustboro - .4byte gTilesetPalettes_Rustboro - .4byte gMetatiles_Rustboro - .4byte gMetatileAttributes_Rustboro - .4byte TilesetCb_Rustboro - - .align 2 -gTileset_Dewford:: @ 83DF74C - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Dewford - .4byte gTilesetPalettes_Dewford - .4byte gMetatiles_Dewford - .4byte gMetatileAttributes_Dewford - .4byte TilesetCb_Dewford - - .align 2 -gTileset_Slateport:: @ 83DF764 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Slateport - .4byte gTilesetPalettes_Slateport - .4byte gMetatiles_Slateport - .4byte gMetatileAttributes_Slateport - .4byte TilesetCb_Slateport - - .align 2 -gTileset_Mauville:: @ 83DF77C - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Mauville - .4byte gTilesetPalettes_Mauville - .4byte gMetatiles_Mauville - .4byte gMetatileAttributes_Mauville - .4byte TilesetCb_Mauville - - .align 2 -gTileset_Lavaridge:: @ 83DF794 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Lavaridge - .4byte gTilesetPalettes_Lavaridge - .4byte gMetatiles_Lavaridge - .4byte gMetatileAttributes_Lavaridge - .4byte TilesetCb_Lavaridge - - .align 2 -gTileset_Fallarbor:: @ 83DF7AC - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Fallarbor - .4byte gTilesetPalettes_Fallarbor - .4byte gMetatiles_Fallarbor - .4byte gMetatileAttributes_Fallarbor - .4byte TilesetCb_Fallarbor - - .align 2 -gTileset_Fortree:: @ 83DF7C4 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Fortree - .4byte gTilesetPalettes_Fortree - .4byte gMetatiles_Fortree - .4byte gMetatileAttributes_Fortree - .4byte TilesetCb_Fortree - - .align 2 -gTileset_Lilycove:: @ 83DF7DC - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Lilycove - .4byte gTilesetPalettes_Lilycove - .4byte gMetatiles_Lilycove - .4byte gMetatileAttributes_Lilycove - .4byte TilesetCb_Lilycove - - .align 2 -gTileset_Mossdeep:: @ 83DF7F4 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Mossdeep - .4byte gTilesetPalettes_Mossdeep - .4byte gMetatiles_Mossdeep - .4byte gMetatileAttributes_Mossdeep - .4byte TilesetCb_Mossdeep - - .align 2 -gTileset_EverGrande:: @ 83DF80C - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_EverGrande - .4byte gTilesetPalettes_EverGrande - .4byte gMetatiles_EverGrande - .4byte gMetatileAttributes_EverGrande - .4byte TilesetCb_EverGrande - - .align 2 -gTileset_Pacifidlog:: @ 83DF824 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Pacifidlog - .4byte gTilesetPalettes_Pacifidlog - .4byte gMetatiles_Pacifidlog - .4byte gMetatileAttributes_Pacifidlog - .4byte TilesetCb_Pacifidlog - - .align 2 -gTileset_Sootopolis:: @ 83DF83C - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Sootopolis - .4byte gTilesetPalettes_Sootopolis - .4byte gMetatiles_Sootopolis - .4byte gMetatileAttributes_Sootopolis - .4byte TilesetCb_Sootopolis - - .align 2 -gTileset_BattleFrontierOutsideWest:: @ 83DF854 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleFrontierOutsideWest - .4byte gTilesetPalettes_BattleFrontierOutsideWest - .4byte gMetatiles_BattleFrontierOutsideWest - .4byte gMetatileAttributes_BattleFrontierOutsideWest - .4byte TilesetCb_BattleFrontierOutsideWest - - .align 2 -gTileset_BattleFrontierOutsideEast:: @ 83DF86C - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleFrontierOutsideEast - .4byte gTilesetPalettes_BattleFrontierOutsideEast - .4byte gMetatiles_BattleFrontierOutsideEast - .4byte gMetatileAttributes_BattleFrontierOutsideEast - .4byte TilesetCb_BattleFrontierOutsideEast - - .align 2 -gTileset_InsideBuilding:: @ 83DF884 - .byte TRUE @ is compressed - .byte FALSE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_InsideBuilding - .4byte gTilesetPalettes_InsideBuilding - .4byte gMetatiles_InsideBuilding - .4byte gMetatileAttributes_InsideBuilding - .4byte TilesetCb_InsideBuilding - - .align 2 -gTileset_Shop:: @ 83DF89C - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Shop - .4byte gTilesetPalettes_Shop - .4byte gMetatiles_Shop - .4byte gMetatileAttributes_Shop - .4byte NULL @ animation callback - - .align 2 -gTileset_PokemonCenter:: @ 83DF8B4 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_PokemonCenter - .4byte gTilesetPalettes_PokemonCenter - .4byte gMetatiles_PokemonCenter - .4byte gMetatileAttributes_PokemonCenter - .4byte NULL @ animation callback - - .align 2 -gTileset_Cave:: @ 83DF8CC - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Cave - .4byte gTilesetPalettes_Cave - .4byte gMetatiles_Cave - .4byte gMetatileAttributes_Cave - .4byte TilesetCb_Cave - - .align 2 -gTileset_PokemonSchool:: @ 83DF8E4 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_PokemonSchool - .4byte gTilesetPalettes_PokemonSchool - .4byte gMetatiles_PokemonSchool - .4byte gMetatileAttributes_PokemonSchool - .4byte NULL @ animation callback - - .align 2 -gTileset_PokemonFanClub:: @ 83DF8FC - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_PokemonFanClub - .4byte gTilesetPalettes_PokemonFanClub - .4byte gMetatiles_PokemonFanClub - .4byte gMetatileAttributes_PokemonFanClub - .4byte NULL @ animation callback - - .align 2 -gTileset_Unused1:: @ 83DF914 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Unused1 - .4byte gTilesetPalettes_Unused1 - .4byte gMetatiles_Unused1 - .4byte gMetatileAttributes_Unused1 - .4byte NULL @ animation callback - - .align 2 -gTileset_MeteorFalls:: @ 83DF92C - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_MeteorFalls - .4byte gTilesetPalettes_MeteorFalls - .4byte gMetatiles_MeteorFalls - .4byte gMetatileAttributes_MeteorFalls - .4byte NULL @ animation callback - - .align 2 -gTileset_OceanicMuseum:: @ 83DF944 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_OceanicMuseum - .4byte gTilesetPalettes_OceanicMuseum - .4byte gMetatiles_OceanicMuseum - .4byte gMetatileAttributes_OceanicMuseum - .4byte NULL @ animation callback - - .align 2 -gTileset_CableClub:: @ 83DF95C - .byte FALSE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_CableClub - .4byte gTilesetPalettes_CableClub - .4byte gMetatiles_CableClub - .4byte gMetatileAttributes_CableClub - .4byte NULL @ animation callback - - .align 2 -gTileset_SeashoreHouse:: @ 83DF974 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SeashoreHouse - .4byte gTilesetPalettes_SeashoreHouse - .4byte gMetatiles_SeashoreHouse - .4byte gMetatileAttributes_SeashoreHouse - .4byte NULL @ animation callback - - .align 2 -gTileset_PrettyPetalFlowerShop:: @ 83DF98C - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_PrettyPetalFlowerShop - .4byte gTilesetPalettes_PrettyPetalFlowerShop - .4byte gMetatiles_PrettyPetalFlowerShop - .4byte gMetatileAttributes_PrettyPetalFlowerShop - .4byte NULL @ animation callback - - .align 2 -gTileset_PokemonDayCare:: @ 83DF9A4 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_PokemonDayCare - .4byte gTilesetPalettes_PokemonDayCare - .4byte gMetatiles_PokemonDayCare - .4byte gMetatileAttributes_PokemonDayCare - .4byte NULL @ animation callback - - .align 2 -gTileset_Facility:: @ 83DF9BC - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Facility - .4byte gTilesetPalettes_Facility - .4byte gMetatiles_Facility - .4byte gMetatileAttributes_Facility - .4byte NULL @ animation callback - - .align 2 -gTileset_BikeShop:: @ 83DF9D4 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BikeShop - .4byte gTilesetPalettes_BikeShop - .4byte gMetatiles_BikeShop - .4byte gMetatileAttributes_BikeShop - .4byte TilesetCb_BikeShop - - .align 2 -gTileset_RusturfTunnel:: @ 83DF9EC - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_RusturfTunnel - .4byte gTilesetPalettes_RusturfTunnel - .4byte gMetatiles_RusturfTunnel - .4byte gMetatileAttributes_RusturfTunnel - .4byte NULL @ animation callback - - .align 2 -gTileset_SecretBaseBrownCave:: @ 83DFA04 - .byte FALSE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SecretBaseBrownCave - .4byte gTilesetPalettes_SecretBaseBrownCave - .4byte gMetatiles_SecretBaseSecondary - .4byte gMetatileAttributes_SecretBaseSecondary - .4byte NULL @ animation callback - - .align 2 -gTileset_SecretBaseTree:: @ 83DFA1C - .byte FALSE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SecretBaseTree - .4byte gTilesetPalettes_SecretBaseTree - .4byte gMetatiles_SecretBaseSecondary - .4byte gMetatileAttributes_SecretBaseSecondary - .4byte NULL @ animation callback - - .align 2 -gTileset_SecretBaseShrub:: @ 83DFA34 - .byte FALSE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SecretBaseShrub - .4byte gTilesetPalettes_SecretBaseShrub - .4byte gMetatiles_SecretBaseSecondary - .4byte gMetatileAttributes_SecretBaseSecondary - .4byte NULL @ animation callback - - .align 2 -gTileset_SecretBaseBlueCave:: @ 83DFA4C - .byte FALSE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SecretBaseBlueCave - .4byte gTilesetPalettes_SecretBaseBlueCave - .4byte gMetatiles_SecretBaseSecondary - .4byte gMetatileAttributes_SecretBaseSecondary - .4byte NULL @ animation callback - - .align 2 -gTileset_SecretBaseYellowCave:: @ 83DFA64 - .byte FALSE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SecretBaseYellowCave - .4byte gTilesetPalettes_SecretBaseYellowCave - .4byte gMetatiles_SecretBaseSecondary - .4byte gMetatileAttributes_SecretBaseSecondary - .4byte NULL @ animation callback - - .align 2 -gTileset_SecretBaseRedCave:: @ 83DFA7C - .byte FALSE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SecretBaseRedCave - .4byte gTilesetPalettes_SecretBaseRedCave - .4byte gMetatiles_SecretBaseSecondary - .4byte gMetatileAttributes_SecretBaseSecondary - .4byte NULL @ animation callback - - .align 2 -gTileset_InsideOfTruck:: @ 83DFA94 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_InsideOfTruck - .4byte gTilesetPalettes_InsideOfTruck - .4byte gMetatiles_InsideOfTruck - .4byte gMetatileAttributes_InsideOfTruck - .4byte NULL @ animation callback - - .align 2 -gTileset_Unused2:: @ 83DFAAC - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Unused2 - .4byte gTilesetPalettes_Unused2 - .4byte gMetatiles_Unused2 - .4byte gMetatileAttributes_Unused2 - .4byte NULL @ animation callback - - .align 2 -gTileset_Contest:: @ 83DFAC4 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Contest - .4byte gTilesetPalettes_Contest - .4byte gMetatiles_Contest - .4byte gMetatileAttributes_Contest - .4byte NULL @ animation callback - - .align 2 -gTileset_LilycoveMuseum:: @ 83DFADC - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_LilycoveMuseum - .4byte gTilesetPalettes_LilycoveMuseum - .4byte gMetatiles_LilycoveMuseum - .4byte gMetatileAttributes_LilycoveMuseum - .4byte NULL @ animation callback - - .align 2 -gTileset_BrendansMaysHouse:: @ 83DFAF4 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BrendansMaysHouse - .4byte gTilesetPalettes_BrendansMaysHouse - .4byte gMetatiles_BrendansMaysHouse - .4byte gMetatileAttributes_BrendansMaysHouse - .4byte NULL @ animation callback - - .align 2 -gTileset_Lab:: @ 83DFB0C - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Lab - .4byte gTilesetPalettes_Lab - .4byte gMetatiles_Lab - .4byte gMetatileAttributes_Lab - .4byte NULL @ animation callback - - .align 2 -gTileset_Underwater:: @ 83DFB24 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Underwater - .4byte gTilesetPalettes_Underwater - .4byte gMetatiles_Underwater - .4byte gMetatileAttributes_Underwater - .4byte TilesetCb_Underwater - - .align 2 -gTileset_PetalburgGym:: @ 83DFB3C - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_PetalburgGym - .4byte gTilesetPalettes_PetalburgGym - .4byte gMetatiles_PetalburgGym - .4byte gMetatileAttributes_PetalburgGym - .4byte NULL @ animation callback - - .align 2 -gTileset_SootopolisGym:: @ 83DFB54 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SootopolisGym - .4byte gTilesetPalettes_SootopolisGym - .4byte gMetatiles_SootopolisGym - .4byte gMetatileAttributes_SootopolisGym - .4byte TilesetCb_SootopolisGym - - .align 2 -gTileset_GenericBuilding:: @ 83DFB6C - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_GenericBuilding - .4byte gTilesetPalettes_GenericBuilding - .4byte gMetatiles_GenericBuilding - .4byte gMetatileAttributes_GenericBuilding - .4byte NULL @ animation callback - - .align 2 -gTileset_MauvilleGameCorner:: @ 83DFB84 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_MauvilleGameCorner - .4byte gTilesetPalettes_MauvilleGameCorner - .4byte gMetatiles_MauvilleGameCorner - .4byte gMetatileAttributes_MauvilleGameCorner - .4byte NULL @ animation callback - - .align 2 -gTileset_RustboroGym:: @ 83DFB9C - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_RustboroGym - .4byte gTilesetPalettes_RustboroGym - .4byte gMetatiles_RustboroGym - .4byte gMetatileAttributes_RustboroGym - .4byte NULL @ animation callback - - .align 2 -gTileset_DewfordGym:: @ 83DFBB4 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_DewfordGym - .4byte gTilesetPalettes_DewfordGym - .4byte gMetatiles_DewfordGym - .4byte gMetatileAttributes_DewfordGym - .4byte NULL @ animation callback - - .align 2 -gTileset_MauvilleGym:: @ 83DFBCC - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_MauvilleGym - .4byte gTilesetPalettes_MauvilleGym - .4byte gMetatiles_MauvilleGym - .4byte gMetatileAttributes_MauvilleGym - .4byte TilesetCb_MauvilleGym - - .align 2 -gTileset_LavaridgeGym:: @ 83DFBE4 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_LavaridgeGym - .4byte gTilesetPalettes_LavaridgeGym - .4byte gMetatiles_LavaridgeGym - .4byte gMetatileAttributes_LavaridgeGym - .4byte NULL @ animation callback - - .align 2 -gTileset_TrickHousePuzzle:: @ 83DFBFC - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_TrickHousePuzzle - .4byte gTilesetPalettes_TrickHousePuzzle - .4byte gMetatiles_TrickHousePuzzle - .4byte gMetatileAttributes_TrickHousePuzzle - .4byte NULL @ animation callback - - .align 2 -gTileset_FortreeGym:: @ 83DFC14 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_FortreeGym - .4byte gTilesetPalettes_FortreeGym - .4byte gMetatiles_FortreeGym - .4byte gMetatileAttributes_FortreeGym - .4byte NULL @ animation callback - - .align 2 -gTileset_MossdeepGym:: @ 83DFC2C - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_MossdeepGym - .4byte gTilesetPalettes_MossdeepGym - .4byte gMetatiles_MossdeepGym - .4byte gMetatileAttributes_MossdeepGym - .4byte NULL @ animation callback - - .align 2 -gTileset_InsideShip:: @ 83DFC44 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_InsideShip - .4byte gTilesetPalettes_InsideShip - .4byte gMetatiles_InsideShip - .4byte gMetatileAttributes_InsideShip - .4byte NULL @ animation callback - - .align 2 -gTileset_SecretBase:: @ 83DFC5C - .byte FALSE @ is compressed - .byte FALSE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SecretBase - .4byte gTilesetPalettes_SecretBase - .4byte gMetatiles_SecretBasePrimary - .4byte gMetatileAttributes_SecretBasePrimary - .4byte NULL @ animation callback - - .align 2 -gTilesetPointer_SecretBase:: @ 83DFC74 - .4byte gTileset_SecretBase - - .align 2 -gTilesetPointer_SecretBaseRedCave:: @ 83DFC78 - .4byte gTileset_SecretBaseRedCave - - .align 2 -gTileset_EliteFour:: @ 83DFC7C - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_EliteFour - .4byte gTilesetPalettes_EliteFour - .4byte gMetatiles_EliteFour - .4byte gMetatileAttributes_EliteFour - .4byte TilesetCb_EliteFour - - .align 2 -gTileset_BattleFrontier:: @ 83DFC94 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleFrontier - .4byte gTilesetPalettes_BattleFrontier - .4byte gMetatiles_BattleFrontier - .4byte gMetatileAttributes_BattleFrontier - .4byte NULL @ animation callback - - .align 2 -gTileset_BattlePalace:: @ 83DFCAC - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattlePalace - .4byte gTilesetPalettes_BattlePalace - .4byte gMetatiles_BattlePalace - .4byte gMetatileAttributes_BattlePalace - .4byte NULL @ animation callback - - .align 2 -gTileset_BattleDome:: @ 83DFCC4 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleDome - .4byte gTilesetPalettes_BattleDome - .4byte gMetatiles_BattleDome - .4byte gMetatileAttributes_BattleDome - .4byte TilesetCb_BattleDome - - .align 2 -gTileset_BattleFactory:: @ 83DFCDC - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleFactory - .4byte gTilesetPalettes_BattleFactory - .4byte gMetatiles_BattleFactory - .4byte gMetatileAttributes_BattleFactory - .4byte NULL @ animation callback - - .align 2 -gTileset_BattlePike:: @ 83DFCF4 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattlePike - .4byte gTilesetPalettes_BattlePike - .4byte gMetatiles_BattlePike - .4byte gMetatileAttributes_BattlePike - .4byte NULL @ animation callback - - .align 2 -gTileset_BattleArena:: @ 83DFD0C - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleArena - .4byte gTilesetPalettes_BattleArena - .4byte gMetatiles_BattleArena - .4byte gMetatileAttributes_BattleArena - .4byte NULL @ animation callback - - .align 2 -gTileset_BattlePyramid:: @ 83DFD24 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattlePyramid - .4byte gTilesetPalettes_BattlePyramid - .4byte gMetatiles_BattlePyramid - .4byte gMetatileAttributes_BattlePyramid - .4byte TilesetCb_BattlePyramid - - .align 2 -gTileset_MirageTower:: @ 83DFD3C - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_MirageTower - .4byte gTilesetPalettes_MirageTower - .4byte gMetatiles_MirageTower - .4byte gMetatileAttributes_MirageTower - .4byte NULL @ animation callback - - .align 2 -gTileset_MossdeepGameCorner:: @ 83DFD54 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_MossdeepGameCorner - .4byte gTilesetPalettes_MossdeepGameCorner - .4byte gMetatiles_MossdeepGameCorner - .4byte gMetatileAttributes_MossdeepGameCorner - .4byte NULL @ animation callback - - .align 2 -gTileset_IslandHarbor:: @ 83DFD6C - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_IslandHarbor - .4byte gTilesetPalettes_IslandHarbor - .4byte gMetatiles_IslandHarbor - .4byte gMetatileAttributes_IslandHarbor - .4byte NULL @ animation callback - - .align 2 -gTileset_TrainerHill:: @ 83DFD84 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_TrainerHill - .4byte gTilesetPalettes_TrainerHill - .4byte gMetatiles_TrainerHill - .4byte gMetatileAttributes_TrainerHill - .4byte NULL @ animation callback - - .align 2 -gTileset_NavelRock:: @ 83DFD9C - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_NavelRock - .4byte gTilesetPalettes_NavelRock - .4byte gMetatiles_NavelRock - .4byte gMetatileAttributes_NavelRock - .4byte NULL @ animation callback - - .align 2 -gTileset_BattleFrontierRankingHall:: @ 83DFDB4 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleFrontierRankingHall - .4byte gTilesetPalettes_BattleFrontierRankingHall - .4byte gMetatiles_BattleFrontierRankingHall - .4byte gMetatileAttributes_BattleFrontierRankingHall - .4byte NULL @ animation callback - - .align 2 -gTileset_BattleTent:: @ 83DFDCC - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleTent - .4byte gTilesetPalettes_BattleTent - .4byte gMetatiles_BattleTent - .4byte gMetatileAttributes_BattleTent - .4byte NULL @ animation callback - - .align 2 -gTileset_MysteryEventsHouse:: @ 83DFDE4 - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_MysteryEventsHouse - .4byte gTilesetPalettes_MysteryEventsHouse - .4byte gMetatiles_MysteryEventsHouse - .4byte gMetatileAttributes_MysteryEventsHouse - .4byte NULL @ animation callback - - .align 2 -gTileset_UnionRoom:: @ 83DFDFC - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_UnionRoom - .4byte gTilesetPalettes_UnionRoom - .4byte gMetatiles_UnionRoom - .4byte gMetatileAttributes_UnionRoom - .4byte NULL @ animation callback diff --git a/data/title_screen.s b/data/title_screen.s deleted file mode 100644 index b07464ce97..0000000000 --- a/data/title_screen.s +++ /dev/null @@ -1,163 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - - .incbin "graphics/title_screen/unk_853EF78.gbapal" - - .align 2 -gTitleScreenRayquazaGfx:: @ 853F058 - .incbin "graphics/title_screen/rayquaza.4bpp.lz" - - .align 2 -gTitleScreenRayquazaTilemap:: @ 853F83C - .incbin "graphics/title_screen/rayquaza.bin.lz" - - .align 2 -gTitleScreenLogoShineGfx:: @ 853FB3C - .incbin "graphics/title_screen/logo_shine.4bpp.lz" - - .align 2 -gTitleScreenCloudsGfx:: @ 853FC8C - .incbin "graphics/title_screen/clouds.4bpp.lz" - - .align 2 -gUnknown_0853FF70:: @ 853FF70 - .2byte 0x0010, 0x0110, 0x0210, 0x0310, 0x0410, 0x0510, 0x0610, 0x0710 - .2byte 0x0810, 0x0910, 0x0a10, 0x0b10, 0x0c10, 0x0d10, 0x0e10, 0x0f10 - .2byte 0x100f, 0x100e, 0x100d, 0x100c, 0x100b, 0x100a, 0x1009, 0x1008 - .2byte 0x1007, 0x1006, 0x1005, 0x1004, 0x1003, 0x1002, 0x1001, 0x1000 - .2byte 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000 - .2byte 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000 - .2byte 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000 - .2byte 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000 - - .align 2 -gUnknown_0853FFF0:: @ 853FFF0 - .byte 0xa0, 0x60, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_0853FFF8:: @ 853FFF8 - .byte 0xa0, 0x60, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_08540000:: @ 8540000 - .2byte 0x0000, 0x001e, 0xffff, 0x0000 - - .align 2 -gUnknown_08540008:: @ 8540008 - .2byte 0x0040, 0x001e, 0xffff, 0x0000 - - .align 2 -gUnknown_08540010:: @ 8540010 - .4byte gUnknown_08540000 - - .align 2 -gUnknown_08540014:: @ 8540014 - .4byte gUnknown_08540008 - - .align 2 -gUnknown_08540018:: @ 8540018 - spr_template 0x03e8, 0x03e8, gUnknown_0853FFF0, gUnknown_08540010, NULL, gDummySpriteAffineAnimTable, sub_80AA40C - - .align 2 -gUnknown_08540030:: @ 8540030 - spr_template 0x03e8, 0x03e8, gUnknown_0853FFF8, gUnknown_08540014, NULL, gDummySpriteAffineAnimTable, sub_80AA474 - - .align 2 -gUnknown_08540048:: @ 8540048 - obj_tiles gTitleScreenEmeraldVersionGfx, 0x1000, 0x03e8 - null_obj_tiles - - .align 2 -gUnknown_08540058:: @ 8540058 - .byte 0xa0, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_08540060:: @ 8540060 - .2byte 0x0001, 0x0004, 0xffff, 0x0000 - - .align 2 -gUnknown_08540068:: @ 8540068 - .2byte 0x0005, 0x0004, 0xffff, 0x0000 - - .align 2 -gUnknown_08540070:: @ 8540070 - .2byte 0x0009, 0x0004, 0xffff, 0x0000 - - .align 2 -gUnknown_08540078:: @ 8540078 - .2byte 0x000d, 0x0004, 0xffff, 0x0000 - - .align 2 -gUnknown_08540080:: @ 8540080 - .2byte 0x0011, 0x0004, 0xffff, 0x0000 - - .align 2 -gUnknown_08540088:: @ 8540088 - .2byte 0x0015, 0x0004, 0xffff, 0x0000 - - .align 2 -gUnknown_08540090:: @ 8540090 - .2byte 0x0019, 0x0004, 0xffff, 0x0000 - - .align 2 -gUnknown_08540098:: @ 8540098 - .2byte 0x001d, 0x0004, 0xffff, 0x0000 - - .align 2 -gUnknown_085400A0:: @ 85400A0 - .2byte 0x0021, 0x0004, 0xffff, 0x0000 - - .align 2 -gUnknown_085400A8:: @ 85400A8 - .2byte 0x0025, 0x0004, 0xffff, 0x0000 - - .align 2 -gUnknown_085400B0:: @ 85400B0 - .4byte gUnknown_08540060 - .4byte gUnknown_08540068 - .4byte gUnknown_08540070 - .4byte gUnknown_08540078 - .4byte gUnknown_08540080 - .4byte gUnknown_08540088 - .4byte gUnknown_08540090 - .4byte gUnknown_08540098 - .4byte gUnknown_085400A0 - .4byte gUnknown_085400A8 - - .align 2 -gUnknown_085400D8:: @ 85400D8 - spr_template 0x03e9, 0x03e9, gUnknown_08540058, gUnknown_085400B0, NULL, gDummySpriteAffineAnimTable, sub_80AA4B4 - - .align 2 -gUnknown_085400F0:: @ 85400F0 - obj_tiles gTitleScreenPressStartGfx, 0x0520, 0x03e9 - null_obj_tiles - - .align 2 -gUnknown_08540100:: @ 8540100 - obj_pal gTitleScreenPressStartPal, 0x03e9 - null_obj_pal - - .align 2 -gUnknown_08540110:: @ 8540110 - .byte 0xa0, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_08540118:: @ 8540118 - .2byte 0x0000, 0x0004, 0xffff, 0x0000 - - .align 2 -gUnknown_08540120:: @ 8540120 - .4byte gUnknown_08540118 - - .align 2 -gUnknown_08540124:: @ 8540124 - spr_template 0x03ea, 0x03e9, gUnknown_08540110, gUnknown_08540120, NULL, gDummySpriteAffineAnimTable, title_screen_logo_shine_obj_callback_type1 - - .align 2 -gUnknown_0854013C:: @ 854013C - obj_tiles gTitleScreenLogoShineGfx, 0x0800, 0x03ea - null_obj_tiles diff --git a/data/tm_hm_learnsets.inc b/data/tm_hm_learnsets.inc deleted file mode 100644 index 41d12fcaab..0000000000 --- a/data/tm_hm_learnsets.inc +++ /dev/null @@ -1,414 +0,0 @@ - .align 2 -gTMHMLearnsets:: @ 831E898 - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ?????????? - .8byte 0b0011100100000111100000100010000100001101010000011100100000 @ Bulbasaur - .8byte 0b0011100100000111100000100010000100001101010000011100100000 @ Ivysaur - .8byte 0b0011100100000111100000100010000110001101010100011100110000 @ Venusaur - .8byte 0b0010100110000111101010010011001100010100010000011000100011 @ Charmander - .8byte 0b0010100110000111101010010011001100010100010000011000100011 @ Charmeleon - .8byte 0b0010101110010111101010010011001110010100010100011000110011 @ Charizard - .8byte 0b1110110000000111100000000011001100010100110011001001100101 @ Squirtle - .8byte 0b1110110000000111100000000011001100010100110011001001100101 @ Wartortle - .8byte 0b1110110000000111100000000011001110010100110111001001110101 @ Blastoise - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ Caterpie - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ Metapod - .8byte 0b0001000000101111101000000010110100001111110100011000100000 @ Butterfree - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ Weedle - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ Kakuna - .8byte 0b0010000100001111101000100011000100001101010100011000100000 @ Beedrill - .8byte 0b0000001000011111101000000010000100000100110000011000100000 @ Pidgey - .8byte 0b0000001000011111101000000010000100000100110000011000100000 @ Pidgeotto - .8byte 0b0000001000011111101000000010000100000100110100011000100000 @ Pidgeot - .8byte 0b0010000100001111100000001010101101110100110011111000100000 @ Rattata - .8byte 0b0010100100001111100000001010101101110100110111111000110000 @ Raticate - .8byte 0b0000001000011111101000000010000100000100110000011000100000 @ Spearow - .8byte 0b0000001000011111101000000010000100000100110100011000100000 @ Fearow - .8byte 0b0000100001001111110000100010001110010101110000011000100000 @ Ekans - .8byte 0b0000100001001111110000100010001110010101110100011000100000 @ Arbok - .8byte 0b0011100000000111100000001011001101110100111000001000100001 @ Pikachu - .8byte 0b0011100000001111100000001011001101110100111100001000100001 @ Raichu - .8byte 0b0010100100001111101101000011001110010100010000011000100001 @ Sandshrew - .8byte 0b0010100100001111101101000011001110010100010100011000100001 @ Sandslash - .8byte 0b0010100100001111101000101010001101110100110011011000100100 @ Nidoran♀ - .8byte 0b0010100100001111101000101010001101110100110011011000100100 @ Nidorina - .8byte 0b0010110100001111111111111011101111110100110111111000110101 @ Nidoqueen - .8byte 0b0010100100001111100000101010001101110100110011011000100100 @ Nidoran♂ - .8byte 0b0010100100001111100000101010001101110100110011011000100100 @ Nidorino - .8byte 0b0010110100001111110111111011101111110100110111111000110101 @ Nidoking - .8byte 0b0001100001000111100010011111111101111110111011011000101101 @ Clefairy - .8byte 0b0001100001000111100010011111111101111110111111011000101101 @ Clefable - .8byte 0b0000000010000111100010010010001100010110010000011000110000 @ Vulpix - .8byte 0b0000000010000111100010010010001100010110010100011000110000 @ Ninetales - .8byte 0b0001100001000111100010011111111101101110111011011000100101 @ Jigglypuff - .8byte 0b0001100001000111100010011111111101101110111111011000100101 @ Wigglytuff - .8byte 0b0000000001011111111000100010100100000101110000111000100000 @ Zubat - .8byte 0b0000000001011111111000100010100100000101110100111000100000 @ Golbat - .8byte 0b0001000100000111100000100010000100001101010000011100100000 @ Oddish - .8byte 0b0001000100000111100000100010000100001101010000011100100000 @ Gloom - .8byte 0b0001000100000111100000100010000100001101010100011100100000 @ Vileplume - .8byte 0b0011000100001111101000100010001100001101010000011100100000 @ Paras - .8byte 0b0011000100001111101000100010001100001101010100011100100000 @ Parasect - .8byte 0b0001000000101111100000100010010100001101010000011000100000 @ Venonat - .8byte 0b0001000000101111101000100010010100001101010100011000100000 @ Venomoth - .8byte 0b0010000100001111101100100010001110000100010000011000100000 @ Diglett - .8byte 0b0010000100001111101100100010001110000100010100011000100000 @ Dugtrio - .8byte 0b0001000101001111111000001010101101110100110000111000100100 @ Meowth - .8byte 0b0001000101001111111000001010101101110100110100111000110100 @ Persian - .8byte 0b1111110000000111101000000011001100010100110011001001101101 @ Psyduck - .8byte 0b1111110000000111101000000011001100010100110111001001101101 @ Golduck - .8byte 0b0010100010001111101100000011001111110100110000111010100001 @ Mankey - .8byte 0b0010100010001111101100000011001111110100110100111010100001 @ Primeape - .8byte 0b0010100010001111101010010010001100010100010000011000110000 @ Growlithe - .8byte 0b0010100010001111101010010010001100010100010100011000110000 @ Arcanine - .8byte 0b1100010000001111100000000010011100000100110011001001100100 @ Poliwag - .8byte 0b1110110000001111100000000011011110000100110011001001100101 @ Poliwhirl - .8byte 0b1110110000001111100100000011011110000100110111001011100101 @ Poliwrath - .8byte 0b0001000001101111110000001110110100010110111000111000101001 @ Abra - .8byte 0b0001000001101111110000001110110100010110111000111000101001 @ Kadabra - .8byte 0b0001000001101111110000001110110100010110111100111000101001 @ Alakazam - .8byte 0b0010100000001111100110010011001110000100110000011010100001 @ Machop - .8byte 0b0010100000001111100110010011001110000100110000011010100001 @ Machoke - .8byte 0b0010100000001111100110010011001110000100110100011010100001 @ Machamp - .8byte 0b0001000100001111100000100010000100001101010000011100100000 @ Bellsprout - .8byte 0b0001000100001111100000100010000100001101010000011100100000 @ Weepinbell - .8byte 0b0001000100001111100000100010000100001101010100011100100000 @ Victreebel - .8byte 0b1100010100001111100000100010000100000101110011001001100100 @ Tentacool - .8byte 0b1100010100001111100000100010000100000101110111001001100100 @ Tentacruel - .8byte 0b0010100000000111100111010011001110000100010000011000100001 @ Geodude - .8byte 0b0010100000000111100111010011001110000100010000011000100001 @ Graveler - .8byte 0b0010100000000111100111010011001110000100010100011000110001 @ Golem - .8byte 0b0000100010000111100010010010000100011100010000011000100000 @ Ponyta - .8byte 0b0000100010000111100010010010000100011100010100011000100000 @ Rapidash - .8byte 0b1001110000100111100010010010111110010110110011011001101100 @ Slowpoke - .8byte 0b1011110000100111100010010011111110010110110111011001101101 @ Slowbro - .8byte 0b0001000000000011100000001110000101100100110000011000100000 @ Magnemite - .8byte 0b0001000000000011100000001110000101100100110100011000100000 @ Magneton - .8byte 0b0000001100011111101000000010000100010100010000011000100000 @ Farfetch'd - .8byte 0b0000001000011111101000000010000100000100010000011000100000 @ Doduo - .8byte 0b0000001000011111111000000010000100000100010100111000100000 @ Dodrio - .8byte 0b1100010000001111100000000010000100000110110011001001100100 @ Seel - .8byte 0b1100010000001111100000000010000100000110110111001001100100 @ Dewgong - .8byte 0b0000000000001111110110111010001101100101110000111000100000 @ Grimer - .8byte 0b0010100000001111110110111011001101100101110100111000100001 @ Muk - .8byte 0b1000010000000111100000000010000100000100110011001001100100 @ Shellder - .8byte 0b1000010000000111110000000010000100000100110111001001100100 @ Cloyster - .8byte 0b0000000001101111110000100010110100100101110000111000100000 @ Gastly - .8byte 0b0000000001101111110000100010110100100101110000111000100000 @ Haunter - .8byte 0b0010100001101111110000100011110101100101110100111000100001 @ Gengar - .8byte 0b0010100000000111110101000010001110010100010000111000110000 @ Onix - .8byte 0b0001000001101111110000000111110100000110111000111000101001 @ Drowzee - .8byte 0b0001000001101111110000000111110100000110111100111000101001 @ Hypno - .8byte 0b1010110100001111100100000010001100000100110011001001100100 @ Krabby - .8byte 0b1010110100001111100100000010001100000100110111001001100100 @ Kingler - .8byte 0b0001000000001011110000001010000101100100111000101000100000 @ Voltorb - .8byte 0b0001000000001011110000001010000101100100111100101000100000 @ Electrode - .8byte 0b0001100000101111100000100110010100001101011000011100100000 @ Exeggcute - .8byte 0b0001100000101111100000100110010100001101011100011100100000 @ Exeggutor - .8byte 0b0010100000001111101111010011001110010100010011011000100001 @ Cubone - .8byte 0b0010100000001111101111010011001110010100010111011000100001 @ Marowak - .8byte 0b0010100000001111100100000011000110000100110000011010100001 @ Hitmonlee - .8byte 0b0010100000001111100100000011000110000100110000011010100001 @ Hitmonchan - .8byte 0b0010110100001111100111011011101111111100110111011000100101 @ Lickitung - .8byte 0b0001000000001111110010111010100101100100110000111000100000 @ Koffing - .8byte 0b0001000000001111110010111010100101100100110100111000100000 @ Weezing - .8byte 0b0010100000001111100111011010001111110100110011011000110000 @ Rhyhorn - .8byte 0b0010110100001111100111011011001111110100110111011000110001 @ Rhydon - .8byte 0b0011100001100111100111011011110111111110111111011001101101 @ Chansey - .8byte 0b0011000100001111100000100010000100001101010100011100100000 @ Tangela - .8byte 0b0010110100001111101111011011101111111100110111011001110101 @ Kangaskhan - .8byte 0b1100010000000111100000000010000100000100110011001001100100 @ Horsea - .8byte 0b1100010000000111100000000010000100000100110111001001100100 @ Seadra - .8byte 0b1100010000000111100000000010000100000100110011001001100100 @ Goldeen - .8byte 0b1100010000000111100000000010000100000100110111001001100100 @ Seaking - .8byte 0b1101010000000011100000000110010101100100111011001001100100 @ Staryu - .8byte 0b1101010000100011100000000110010101100100111111001001100100 @ Starmie - .8byte 0b0001000001101111110000001111110101101110111100111000101001 @ Mr. mime - .8byte 0b0010000100011111101000000010000100000100110100011000100000 @ Scyther - .8byte 0b0001000000101111110000000111110100000100111111101001101101 @ Jynx - .8byte 0b0011100000001111100000001011010101110100111100001000100001 @ Electabuzz - .8byte 0b0010100000001111100010010011010100010100010100011000100001 @ Magmar - .8byte 0b0010100100001111100100000011001110000100110100011010100001 @ Pinsir - .8byte 0b0010110000000111100111011010000111111100110111011000100100 @ Tauros - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ Magikarp - .8byte 0b1110110000000111110011010010000111100100110111101001110100 @ Gyarados - .8byte 0b1110110000000111100000001010010101110110110111001001110100 @ Lapras - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ Ditto - .8byte 0b0000000000000111100000000010101100010100110000011000100000 @ Eevee - .8byte 0b1100010000000111100000000010101100010100110111011001110100 @ Vaporeon - .8byte 0b0001000000000111100000001010101101110100110100011000110000 @ Jolteon - .8byte 0b0000000010000111100010010010101100010100110100011000110000 @ Flareon - .8byte 0b0001000000001011101000001010110101111100110111011000100000 @ Porygon - .8byte 0b1110010000001111100101000010000100000100110011001001100100 @ Omanyte - .8byte 0b1110010000001111100101000010000100000100110111001001100100 @ Omastar - .8byte 0b0110010000001111101101000010001100000101110011001001100100 @ Kabuto - .8byte 0b1110010100001111101101000011001100000101110111001001100100 @ Kabutops - .8byte 0b0010101000011111111111010010000110010100110100111000110010 @ Aerodactyl - .8byte 0b0000110000000111100111011011110111101100110111011000100101 @ Snorlax - .8byte 0b0010001000010011101001000110000100000100110111011001110100 @ Articuno - .8byte 0b0011001000010011101001001010000101100100111100011000110000 @ Zapdos - .8byte 0b0010001010010011101011010010000100000110110100011000110000 @ Moltres - .8byte 0b0100010000000111100010011010000101110110110111011001100100 @ Dratini - .8byte 0b0100010000000111100010011010000101110110110111011001100100 @ Dragonair - .8byte 0b1110111100010111101111011011000111110110110111011001110111 @ Dragonite - .8byte 0b0011100001100011111111011111110111111110111111111011101101 @ Mewtwo - .8byte 0b1111111111111111111111111111111111111111111111111111111111 @ Mew - .8byte 0b0001000100000111100000000110000100011111011000011100100000 @ Chikorita - .8byte 0b0011100100000111100000000110000100011111011000011100100000 @ Bayleef - .8byte 0b0011100100000111100000000110000110011111011100011100100000 @ Meganium - .8byte 0b0000000110000111101010010010001100000100010000011000100000 @ Cyndaquil - .8byte 0b0010100110000111101010010011001100000100010000011000110001 @ Quilava - .8byte 0b0010100110000111101010010011001110000100010100011000110001 @ Typhlosion - .8byte 0b1100010100000111101000000011001100010100110011001001100101 @ Totodile - .8byte 0b1110110100000111101000000011001100010100110011001001110101 @ Croconaw - .8byte 0b1110110100000111101000000011001110010100110111001001110111 @ Feraligatr - .8byte 0b0000010100001111100000011011101100111100110001011000100101 @ Sentret - .8byte 0b0010110100001111100000011011101101111100110111011000100101 @ Furret - .8byte 0b0001001000011111101000000110110100000100110000011000100000 @ Hoothoot - .8byte 0b0001001000011111101000000110110100000100110100011000100000 @ Noctowl - .8byte 0b0001000000001111101000000111001100001111011000011000100001 @ Ledyba - .8byte 0b0001000000001111101000000111001100001111011100011000100001 @ Ledian - .8byte 0b0001000000001111100000100010011100001101010000011000100000 @ Spinarak - .8byte 0b0001000000001111100000100010011100001101010100011000100000 @ Ariados - .8byte 0b0000001001011111111000100010100100000101110100111000100000 @ Crobat - .8byte 0b1101010000000111100000001010000101100100110011001001100100 @ Chinchou - .8byte 0b1101010000000111100000001010000101100100110111001001100100 @ Lanturn - .8byte 0b0001000000000111100000001010000101110100111000001000100000 @ Pichu - .8byte 0b0001000000000111100010011110111100011110111000011000100100 @ Cleffa - .8byte 0b0001000000000111100010011110111100001110111000011000100100 @ Igglybuff - .8byte 0b0011000000000111100010011110110100001110111000011000100100 @ Togepi - .8byte 0b0011001000010111101010011111110100001110111100011000100101 @ Togetic - .8byte 0b0001000000111111101000000110110100001101111000011000101000 @ Natu - .8byte 0b0001001000111111101000000110110100001101111100011000101000 @ Xatu - .8byte 0b0001000000000111100000001010000101110100111000001000100000 @ Mareep - .8byte 0b0011100000000111100000001011000101110100111000001000100001 @ Flaaffy - .8byte 0b0011100000000111100000001011000101110100111100001000100001 @ Ampharos - .8byte 0b0001000100000111100000100010000100001111010100011100100000 @ Bellossom - .8byte 0b1110110000000111100000000011001100010100110011001001100101 @ Marill - .8byte 0b1110110000000111100000000011001100010100110111001001100101 @ Azumarill - .8byte 0b0010100000001111100101000011001110000100010000111000101001 @ Sudowoodo - .8byte 0b1110110000001111100000000011011110000100110111001001100101 @ Politoed - .8byte 0b0001000000000111101000000010000100001101010000011100100000 @ Hoppip - .8byte 0b0001000000000111101000000010000100001101010000011100100000 @ Skiploom - .8byte 0b0001000000000111101000000010000100001101010100011100100000 @ Jumpluff - .8byte 0b0010100101001111101000001011101101111100110000111000100101 @ Aipom - .8byte 0b0001000100000111100000100010000100001111011000011100100000 @ Sunkern - .8byte 0b0001000100000111100000100010000100001111011100011100100000 @ Sunflora - .8byte 0b0001000000011111101000000010110100001101010000011000100000 @ Yanma - .8byte 0b1111010000000111100001100010001110010100110011001001100100 @ Wooper - .8byte 0b1111110000000111100101100011001110010100110111001001100101 @ Quagsire - .8byte 0b0001000100100111100000000110111100010100111100011000101000 @ Espeon - .8byte 0b0001000101000111110000000010111100010100110100111000100000 @ Umbreon - .8byte 0b0000001001011111111000000010100100000100110000111000101000 @ Murkrow - .8byte 0b1011110000100111100010010011111110010110110111011001101101 @ Slowking - .8byte 0b0001000001101111111000001010110101100100110000111000101000 @ Misdreavus - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ Unown - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ Wobbuffet - .8byte 0b0011100000101111100000001110110111110100111000011000101000 @ Girafarig - .8byte 0b0010100000000111100001000110001110001101011000011000100000 @ Pineco - .8byte 0b0010100000000111100001000110001110001101011100011000100000 @ Forretress - .8byte 0b0010100000001111100110011010101111111100110011011000101100 @ Dunsparce - .8byte 0b0010100100011111101101100010001110010100110000011000100000 @ Gligar - .8byte 0b0010100100000111110101000010001110010100010100111000110000 @ Steelix - .8byte 0b0010100010001111110010111011101111101100110000111010110101 @ Snubbull - .8byte 0b0010100010001111110110111011101111111100110100111010110101 @ Granbull - .8byte 0b1100010000000111100000101010100100000100110011001001100100 @ Qwilfish - .8byte 0b0010100100011111101001000010000100000100110100011000100000 @ Scizor - .8byte 0b0011100000000111100101100010001110000110010000011000100000 @ Shuckle - .8byte 0b0010100100001111100100000011001110000100110100011010100001 @ Heracross - .8byte 0b0010110101001111111000000011101100010100110011111001101001 @ Sneasel - .8byte 0b0010100100001111111000000011001110000100110000111010110001 @ Teddiursa - .8byte 0b0010100100001111111100000011001110000100110100111010110001 @ Ursaring - .8byte 0b0010000010000111100010010110000100000100011000011000100000 @ Slugma - .8byte 0b0010100010000111100111010110000110000100011100011000100000 @ Magcargo - .8byte 0b0010100000000111100101000110001110000100111011001001110000 @ Swinub - .8byte 0b0010100000000111100101000110001110000100111111001001110000 @ Piloswine - .8byte 0b0010110000000111100101000110111110000110111011011001101100 @ Corsola - .8byte 0b1100010000001111100010010010010100000100110111011000100100 @ Remoraid - .8byte 0b1100010000001111100010110010010100000100110111011100100100 @ Octillery - .8byte 0b0000001000001111101000000010000100000100110011001001100101 @ Delibird - .8byte 0b1100010000000111101000000010000110000100110011001001100100 @ Mantine - .8byte 0b0010001100011111111001000010000100000100010000111000110000 @ Skarmory - .8byte 0b0010000011001111110010110010100100011100010000111000110000 @ Houndour - .8byte 0b0010100011001111110010110010100100011100010100111000110000 @ Houndoom - .8byte 0b1100010000000111100000000010000100000100110111001001100100 @ Kingdra - .8byte 0b0010100000000111100101000010000110010100010000011000110000 @ Phanpy - .8byte 0b0010100000000111100101000010000110010100010100011000110000 @ Donphan - .8byte 0b0001000000001011101000001010110101111100110111011000100000 @ Porygon2 - .8byte 0b0001000000101111100000001110110111111100111000011000111000 @ Stantler - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ Smeargle - .8byte 0b0010100000001111100000000011000110000100110000011010100000 @ Tyrogue - .8byte 0b0010100000001111100001000011001110000100110000011010100000 @ Hitmontop - .8byte 0b0001000000101111100000000110110100000100111011001001101100 @ Smoochum - .8byte 0b0011000000001111100000001011010101100100111000001000100001 @ Elekid - .8byte 0b0010000000001111100010010011010100010100010000011000100001 @ Magby - .8byte 0b0010110000000111100101001011100111111100110111011000100101 @ Miltank - .8byte 0b0011100001100111100111011011110111111110111111011001101101 @ Blissey - .8byte 0b0011100100000011100001001110001101110100110100011000111000 @ Raikou - .8byte 0b0011100100000011100011010110001100011100110100011000111000 @ Entei - .8byte 0b1110010100000011100001000110001100010100110111011001111100 @ Suicune - .8byte 0b0010000000000111110001000011001110000100110100111000100000 @ Larvitar - .8byte 0b0010000000000111110001000011001110000100110100111000100000 @ Pupitar - .8byte 0b0010110100000111111111011011001111110100110111111000110111 @ Tyranitar - .8byte 0b1110111000110011101001001110110111110111111111011001111100 @ Lugia - .8byte 0b0011101010010011101011011110110111101111111100011000111000 @ Ho-Oh - .8byte 0b0001000100100011101001001110110100001111111100011000101100 @ Celebi - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ ? - .8byte 0b0011100100000111101100000011001100011111010000011100100001 @ Treecko - .8byte 0b0011100100000111101100000011001100011111010000011100100001 @ Grovyle - .8byte 0b0011100100000111101100000011001110011111010100011100110011 @ Sceptile - .8byte 0b0010100110000111101110010010001100000100010000011000100000 @ Torchic - .8byte 0b0010100110000111101110010011001100000100010000011010100001 @ Combusken - .8byte 0b0010100110000111101110010011001110000100010100011010110001 @ Blaziken - .8byte 0b1110110000000111100100000010001100010100110011001001100100 @ Mudkip - .8byte 0b1110110000000111100100000010001110010100110011001001100100 @ Marshtomp - .8byte 0b1110110000000111100100000011001110010100110111001001110101 @ Swampert - .8byte 0b0010000001001111110000000010101100010100110000111000110000 @ Poochyena - .8byte 0b0010100001001111110000000010101100010100110100111000110000 @ Mightyena - .8byte 0b0010010100001111100000001010101101110100110011011000100100 @ Zigzagoon - .8byte 0b0010110100001111100000001010101101110100110111011000110100 @ Linoone - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ Wurmple - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ Silcoon - .8byte 0b0001000000001111101000000010110100001111010100011000100000 @ Beautifly - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ Cascoon - .8byte 0b0001000000001111101000100010110100001101011100011000100000 @ Dustox - .8byte 0b0001010000001111100000000010000100001101110011011101100100 @ Lotad - .8byte 0b1111110000001111100000000011000100001101110011011101100100 @ Lombre - .8byte 0b1111110000001111100000000011000100001101110111011101100101 @ Ludicolo - .8byte 0b0011000000000111100000000010101100001101010000011100100000 @ Seedot - .8byte 0b0011100100001111110100000011101100001101010100011100100000 @ Nuzleaf - .8byte 0b0011100100001111111100000011101100001101010100011100100000 @ Shiftry - .8byte 0b0001000100000011101001000010101100001101010000011000100000 @ Nincada - .8byte 0b0001000100001111101001000010101100001101010100011000100000 @ Ninjask - .8byte 0b0001000100001011101001000010101100001101010100011000100000 @ Shedinja - .8byte 0b0000001000011111101000000010000100000100110000011000100000 @ Taillow - .8byte 0b0000001000011111101000000010000100000100110100011000100000 @ Swellow - .8byte 0b0001000001000111100000100010000100001111010000011100100000 @ Shroomish - .8byte 0b0011100101000111100000100011000100011111010100011110100001 @ Breloom - .8byte 0b0011100001101111100100001011111100000110110000011000101101 @ Spinda - .8byte 0b0000001000011111101000001010000100000100110011001001100100 @ Wingull - .8byte 0b0000011000011111101000001010000100000100110111001001100100 @ Pelipper - .8byte 0b0001000000001111100000000010100100001101110011011000100100 @ Surskit - .8byte 0b0001000000001111101000000010100100001101110111011000100100 @ Masquerain - .8byte 0b1110110000000111100100000010000110000100110011001001110100 @ Wailmer - .8byte 0b1110110000000111100100000010000110000100110111001001110100 @ Wailord - .8byte 0b0001000000000111100000001010101101111110110011011000101100 @ Skitty - .8byte 0b0011100000000111100000001010101101111110110111011000101100 @ Delcatty - .8byte 0b0011100101101111101110011011101101111100110011011000100101 @ Kecleon - .8byte 0b0001000000100011100101000110111110001100111001011000100000 @ Baltoy - .8byte 0b0011100000100011100101000110111110001100111101011000100000 @ Claydol - .8byte 0b0010100000000111110101001010000111100100010000111000100000 @ Nosepass - .8byte 0b0010100010000111100010110010000100010100010000011000100000 @ Torkoal - .8byte 0b0011000101001111111100001011111100000100110000111000101101 @ Sableye - .8byte 0b1100010000000111100101000010000110000100110011001001100100 @ Barboach - .8byte 0b1110110000000111100101000010000110000100110111001001100100 @ Whiscash - .8byte 0b1100010000000111100000000010000100000110110011001001100100 @ Luvdisc - .8byte 0b0110110100000111101100100011001100000100110011101001100100 @ Corphish - .8byte 0b1110110100000111101100100011001100000100110111101001100100 @ Crawdaunt - .8byte 0b1100010000000111100000000010000100000100110011001001100100 @ Feebas - .8byte 0b1100010000000111100000000010000100010110110111001001100100 @ Milotic - .8byte 0b1100010000001111110000000010000100000100110011101001100100 @ Carvanha - .8byte 0b1110110000001111110100000010000110000100110111101001110100 @ Sharpedo - .8byte 0b0010100000000111100101000010001110001101010100011000100000 @ Trapinch - .8byte 0b0010101000010111100101000010001110001101010100011000100000 @ Vibrava - .8byte 0b0010101000010111100111010010001110011101010100011000100010 @ Flygon - .8byte 0b0010110000000111100100000011001110000100110000011010100001 @ Makuhita - .8byte 0b0010110000000111100100000011001110000100110100011010100001 @ Hariyama - .8byte 0b0001100000001111100000001010000101110100110000001000110000 @ Electrike - .8byte 0b0001100000001111100000001010000101110100110100001000110000 @ Manectric - .8byte 0b0010100010000111100111010010001110000100010000011000100000 @ Numel - .8byte 0b0010100010000111100111010010001110000100010100011000110000 @ Camerupt - .8byte 0b1110110000000111100100000010000110010100110011001001100100 @ Spheal - .8byte 0b1110110000000111100100000010000110010100110011001001110100 @ Sealeo - .8byte 0b1110110000000111100100000010000110010100110111001001110100 @ Walrein - .8byte 0b0001000100000111100001000010000100001101010000011100100001 @ Cacnea - .8byte 0b0001100100000111100001000010000100001101010100011100100001 @ Cacturne - .8byte 0b0001000000000111100000000010100100000110111011001001100100 @ Snorunt - .8byte 0b0001000000000111110000000010100110000110111111101001100100 @ Glalie - .8byte 0b0001000000100011100101000110110110000110111101001000101000 @ Lunatone - .8byte 0b0001000010100011100111010110110110001110011100011000101000 @ Solrock - .8byte 0b0100010000000111100000000010000100010100110011001001100100 @ Azurill - .8byte 0b0001000001101111110000001110110100010100111000111000101000 @ Spoink - .8byte 0b0001000001101111110000001110110100010100111100111000101001 @ Grumpig - .8byte 0b0001000000000111100000001010000101110100111000001000100000 @ Plusle - .8byte 0b0001000000000111100000001010000101110100111000001000100000 @ Minun - .8byte 0b0010100000000111110111110011000100001100110101111000100001 @ Mawile - .8byte 0b0011100000000111100100000111110100000100111000011010101001 @ Meditite - .8byte 0b0011100000000111100100000111110100000100111100011010101001 @ Medicham - .8byte 0b0000001000011111101000000010000100001110110001011000100000 @ Swablu - .8byte 0b0010001000011111101010010010000110011110110101011000110010 @ Altaria - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ Wynaut - .8byte 0b0001000001101111110000000010110100000100110011111000101000 @ Duskull - .8byte 0b0011100001101111110100000010110110000100110111111000101001 @ Dusclops - .8byte 0b0001000100000111100000100010100100001101010000011100100000 @ Roselia - .8byte 0b0010100100000111101010011011100101101100110011011010100101 @ Slakoth - .8byte 0b0010100100000111101010011011100111101100110011111010110101 @ Vigoroth - .8byte 0b0010100100000111101010011011100111101100110111111010110101 @ Slaking - .8byte 0b0010100001000111100000101010100100001101110001011100100100 @ Gulpin - .8byte 0b0010100001000111100000101010100100001101110101011100100100 @ Swalot - .8byte 0b0011101100010111101000000010000110001111010100011100110000 @ Tropius - .8byte 0b0000000000000111100010011010100100001100110011011000110100 @ Whismur - .8byte 0b0010100010000111110010011011100110001100110011111000110100 @ Loudred - .8byte 0b0010100010000111110010011011100110001100110111111000110100 @ Exploud - .8byte 0b1100010000000111100000000010000100000100110011001001100100 @ Clamperl - .8byte 0b1100010001000111100100000010000100000100110111001001100100 @ Huntail - .8byte 0b1100010000000111100000000010110100000110110111001001100100 @ Gorebyss - .8byte 0b0011100101001111111011011010100101110100110111111001101100 @ Absol - .8byte 0b0001000001101111110000001010110101100100110000111000101000 @ Shuppet - .8byte 0b0001000001101111110000001010110101100100110100111000101000 @ Banette - .8byte 0b0010100001001111100000110010001110010101110000111000100000 @ Seviper - .8byte 0b0010100000001111101010011011101101111101110011111000110101 @ Zangoose - .8byte 0b1110010000000111100101000010000110000110110111001001101100 @ Relicanth - .8byte 0b0010100100000111101101001010001110010100110000011000110100 @ Aron - .8byte 0b0010100100000111101101001010001110010100110000011000110100 @ Lairon - .8byte 0b0010110100000111101111011011001111111100110111111000110111 @ Aggron - .8byte 0b0001000000001111100011011010100101101100110011011001100100 @ Castform - .8byte 0b0001000000001111101000001011100101101101111000011000100101 @ Volbeat - .8byte 0b0001000000001111101000001011100101101101111000011000100101 @ Illumise - .8byte 0b0000000000000111100001100010000100001101010000011100100000 @ Lileep - .8byte 0b0010100000000111100101100010000110001101010100011100100000 @ Cradily - .8byte 0b0010000100000111101101000011001100000100010000011000100100 @ Anorith - .8byte 0b0010100100000111101101000011001110010100010100011000100100 @ Armaldo - .8byte 0b0001000001101111110000001110110100100110111000111000101000 @ Ralts - .8byte 0b0001000001101111110000001110110100100110111000111000101000 @ Kirlia - .8byte 0b0001000001101111110000001110110100100110111100111000101000 @ Gardevoir - .8byte 0b0010100100000111101110010011000100000100110000011000110010 @ Bagon - .8byte 0b0010100100000111101110010011000100000100110000011000110010 @ Shelgon - .8byte 0b0010101100010111101110010011000110010100110100011000110010 @ Salamence - .8byte 0b0000000000000000000000000000000000000000000000000000000000 @ Beldum - .8byte 0b0011100100000011101101100111110110000100111100011000100000 @ Metang - .8byte 0b0011100100000011101101100111110110000100111100011000100000 @ Metagross - .8byte 0b0010100000000011100101001011001111100110010100011000100001 @ Regirock - .8byte 0b0010100000000011100000001011000111100110110111001001100001 @ Regice - .8byte 0b0010100000000011101101001011000111100110110100011000100001 @ Registeel - .8byte 0b1110110000000011100100001011000111100110110111001001111100 @ Kyogre - .8byte 0b0010100110000011101111011011001111111110010100011010110010 @ Groudon - .8byte 0b1110111010000011101011011011000111111100110111011010110110 @ Rayquaza - .8byte 0b1101011100010111101001001110110111101110111101011000111110 @ Latias - .8byte 0b1101011100010111101001001110110111101110111101011000111110 @ Latios - .8byte 0b0001000000100011101001001110110101100110111100011000101100 @ Jirachi - .8byte 0b0011100101100011111100001111110101101110111101111000101101 @ Deoxys - .8byte 0b0001000001100111110000001110110100000110111000111000101000 @ Chimecho diff --git a/data/trade.s b/data/trade.s index 601b597ed2..d9708d0e61 100644 --- a/data/trade.s +++ b/data/trade.s @@ -1,200 +1,646 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" +#include "constants/species.h" +#include "constants/items.h" + .include "asm/macros.inc" + .include "constants/constants.inc" - .section .rodata - .align 2, 0 + .section .rodata -gUnknown_0832C6C0:: @ 832C6C0 - .incbin "baserom.gba", 0x32c6c0, 0x1fe + .align 2 +gUnknown_0832C6A8:: @ 832C6A8 + .4byte 0x00000f2c, 0x00003d88, 0x0000001c, 0x00000024, 0x00000064, 0x00000528 -gUnknown_0832C8BE:: @ 832C8BE - .incbin "baserom.gba", 0x32c8be, 0x1fe + .align 1 +gTradeMovesBoxTilemap:: @ 832C6C0 + .incbin "graphics/trade/moves_box_map.bin" -gUnknown_0832CABC:: @ 832CABC - .incbin "baserom.gba", 0x32cabc, 0x800 + .align 1 +gTradePartyBoxTilemap:: @ 832C8BE + .incbin "graphics/trade/party_box_map.bin" -gUnknown_0832D2BC:: @ 832D2BC - .incbin "baserom.gba", 0x32d2bc, 0x800 + .align 1 +gTradeStripesBG2Tilemap:: @ 832CABC + .incbin "graphics/trade/stripes_bg2_map.bin" -gUnknown_0832DABC:: @ 832DABC - .incbin "baserom.gba", 0x32dabc, 0xb + .align 1 +gTradeStripesBG3Tilemap:: @ 832D2BC + .incbin "graphics/trade/stripes_bg3_map.bin" -gUnknown_0832DAC7:: @ 832DAC7 - .incbin "baserom.gba", 0x32dac7, 0x2 +gText_EmptyString7:: @ 832DABC + .string "$" -gUnknown_0832DAC9:: @ 832DAC9 - .incbin "baserom.gba", 0x32dac9, 0x2 +gText_ClrWhtHltTrspntShdwDrkGry:: @ 832DABD + .string "{COLOR WHITE}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GREY}$" -gUnknown_0832DACB:: @ 832DACB - .incbin "baserom.gba", 0x32dacb, 0x7 +gText_MaleSymbol4:: @ 832DAC7 + .string "♂$" -gUnknown_0832DAD2:: @ 832DAD2 - .incbin "baserom.gba", 0x32dad2, 0xd +gText_FemaleSymbol4:: @ 832DAC9 + .string "♀$" -gUnknown_0832DADF:: @ 832DADF - .incbin "baserom.gba", 0x32dadf, 0x6 +gText_GenderlessSymbol:: @ 832DACB + .string "$" -gUnknown_0832DAE5:: @ 832DAE5 - .incbin "baserom.gba", 0x32dae5, 0x157 +gText_SpaceMove:: @ 832DACC + .string " MOVE$" +gText_NewLine3:: @ 832DAD2 + .string "\n$" + +gText_Slash2:: @ 832DAD4 + .string "/$" + +gText_Lv2:: @ 832DAD6 + .string "Lv. $" + +gText_ThreeDashes2:: @ 832DADB + .string "---$" + +gText_FourQuestionMarks:: @ 832DADF + .string "????$" + +gText_832DAE4:: @ 832DAE4 + .string "$" + +gText_IsThisTradeOkay:: @ 832DAE5 + .string "Is this trade okay?$" + +gText_Cancel6:: @ 832DAF9 + .string "CANCEL$" + +gText_ChooseAPkmn:: @ 832DB00 + .string "Choose a POKéMON.$" + +gText_Summary3:: @ 832DB12 + .string "SUMMARY$" + +gText_Trade2:: @ 832DB1A + .string "TRADE$" + +gText_CancelTrade:: @ 832DB20 + .string "Cancel trade?$" + +gJPText_832DB2E:: @ 832DB2E + .string "Bボタン で もどります$" + +gText_Summary4:: @ 832DB3B + .string "SUMMARY$" + +gText_Trade3:: @ 832DB43 + .string "TRADE$" + +gText_CommunicationStandby6:: @ 832DB49 + .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Communication standby…\nPlease wait.$" + +gText_TheTradeHasBeenCanceled:: @ 832DB76 + .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}The trade has\nbeen canceled.$" + +gText_YourOnlyPkmnForBattle:: @ 832DB9C + .string "That’s your only\nPOKéMON for battle.$" + +gText_WaitingForYourFriend:: @ 832DBC1 + .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Waiting for your friend\nto finish…$" + +gText_YourFriendWantsToTrade:: @ 832DBED + .string "Your friend wants\nto trade POKéMON.$" + + .align 2 +gOamData_832DC14:: @ 832DC14 + .2byte 0x4000, 0x8000, 0x0400, 0x0000 + + .align 2 +gOamData_832DC1C:: @ 832DC1C + .2byte 0x4000, 0xc000, 0x0400, 0x0000 + + .align 2 +gSpriteAnim_832DC24:: @ 832DC24 + .2byte 0x0000, 0x0005, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_832DC2C:: @ 832DC2C + .2byte 0x0020, 0x0005, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_832DC34:: @ 832DC34 + .4byte gSpriteAnim_832DC24 + .4byte gSpriteAnim_832DC2C + + .align 2 gUnknown_0832DC3C:: @ 832DC3C - .incbin "baserom.gba", 0x32dc3c, 0x8 + obj_tiles gUnknown_08DDC6E4, 0x0800, 0x012c + .align 2 gUnknown_0832DC44:: @ 832DC44 - .incbin "baserom.gba", 0x32dc44, 0x50 + obj_pal gUnknown_08DDB444, 0x0929 -gUnknown_0832DC94:: @ 832DC94 - .incbin "baserom.gba", 0x32dc94, 0x18 + .align 2 +gSpriteAnim_832DC4C:: @ 832DC4C + .2byte 0x0000, 0x0005, 0xffff, 0x0000 -gUnknown_0832DCAC:: @ 832DCAC - .incbin "baserom.gba", 0x32dcac, 0x38 + .align 2 +gSpriteAnim_832DC54:: @ 832DC54 + .2byte 0x0008, 0x0005, 0xffff, 0x0000 -gUnknown_0832DCE4:: @ 832DCE4 - .incbin "baserom.gba", 0x32dce4, 0x8 + .align 2 +gSpriteAnim_832DC5C:: @ 832DC5C + .2byte 0x0010, 0x0005, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_832DC64:: @ 832DC64 + .2byte 0x0018, 0x0005, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_832DC6C:: @ 832DC6C + .2byte 0x0020, 0x0005, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_832DC74:: @ 832DC74 + .2byte 0x0028, 0x0005, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_832DC7C:: @ 832DC7C + .4byte gSpriteAnim_832DC4C + .4byte gSpriteAnim_832DC54 + .4byte gSpriteAnim_832DC5C + .4byte gSpriteAnim_832DC64 + .4byte gSpriteAnim_832DC6C + .4byte gSpriteAnim_832DC74 + + .align 2 +gSpriteTemplate_832DC94:: @ 832DC94 + spr_template 0x012c, 0x0929, gOamData_832DC1C, gSpriteAnimTable_832DC34, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_832DCAC:: @ 832DCAC + spr_template 0x00c8, 0x133d, gOamData_832DC14, gSpriteAnimTable_832DC7C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +TradeScreenTextPalette:: @ 832DCC4 + .incbin "graphics/trade/text.gbapal" + + .align 2 +gSpritePalette_TradeScreenText:: @ 832DCE4 + obj_pal TradeScreenTextPalette, 0x133d gUnknown_0832DCEC:: @ 832DCEC - .incbin "baserom.gba", 0x32dcec, 0x138 + .byte 0x04, 0x02, 0x0c, 0x0c, 0x00, 0x00, 0x02, 0x04, 0x0c, 0x0c, 0x00, 0x00, 0x07, 0x06, 0x01, 0x00, 0x00, 0x00, 0x01, 0x06, 0x07, 0x00, 0x00, 0x00, 0x05, 0x03, 0x0c, 0x0c, 0x00, 0x00, 0x03, 0x05 + .byte 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x07, 0x06, 0x01, 0x00, 0x00, 0x06, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x08, 0x07, 0x06 + .byte 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x05, 0x01, 0x01, 0x01, 0x00, 0x00, 0x02, 0x09, 0x08, 0x07, 0x00, 0x00, 0x08, 0x09, 0x06, 0x06, 0x00, 0x00 + .byte 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x03, 0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x01, 0x01 + .byte 0x01, 0x01, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x0a, 0x08, 0x06, 0x00, 0x00, 0x00, 0x0a, 0x08, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x0a, 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x09, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0c + .byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x04, 0x03, 0x02 + .byte 0x01, 0x00, 0x0b, 0x09, 0x07, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00 + .byte 0x0b, 0x09, 0x07, 0x06, 0x00, 0x00, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00 gUnknown_0832DE24:: @ 832DE24 - .incbin "baserom.gba", 0x32de24, 0x1a + .byte 0x01, 0x05, 0x08, 0x05, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0f, 0x08, 0x0f, 0x10, 0x05, 0x17, 0x05, 0x10, 0x0a, 0x17, 0x0a, 0x10, 0x0f, 0x17, 0x0f, 0x17, 0x12 gUnknown_0832DE3E:: @ 832DE3E - .incbin "baserom.gba", 0x32de3e, 0x18 + .byte 0x05, 0x04, 0x0c, 0x04, 0x05, 0x09, 0x0c, 0x09, 0x05, 0x0e, 0x0c, 0x0e, 0x14, 0x04, 0x1b, 0x04, 0x14, 0x09, 0x1b, 0x09, 0x14, 0x0e, 0x1b, 0x0e gUnknown_0832DE56:: @ 832DE56 - .incbin "baserom.gba", 0x32de56, 0x3e + .byte 0x01, 0x03, 0x08, 0x03, 0x01, 0x08, 0x08, 0x08, 0x01, 0x0d, 0x08, 0x0d, 0x10, 0x03, 0x17, 0x03, 0x10, 0x08, 0x17, 0x08, 0x10, 0x0d, 0x17, 0x0d, 0x00, 0x0e, 0x0f, 0x1d, 0x03, 0x05, 0x03, 0x07 + .byte 0x12, 0x05, 0x12, 0x07, 0x08, 0x07, 0x16, 0x0c, 0x08, 0x07, 0x16, 0x0c, 0x06, 0x07, 0x18, 0x0c, 0x06, 0x07, 0x18, 0x0c, 0x08, 0x07, 0x16, 0x0c, 0x07, 0x07, 0x17, 0x0c, 0x00, 0x00 + .align 2 gUnknown_0832DE94:: @ 832DE94 - .incbin "baserom.gba", 0x32de94, 0x18 + .4byte gText_Cancel6 + .4byte gText_ChooseAPkmn + .4byte gText_Summary3 + .4byte gText_Trade2 + .4byte gText_CancelTrade + .4byte gJPText_832DB2E + .align 2 gUnknown_0832DEAC:: @ 832DEAC - .incbin "baserom.gba", 0x32deac, 0x10 + .4byte gText_Summary4, sub_807A000 + .4byte gText_Trade3, sub_807A024 + .align 2 gUnknown_0832DEBC:: @ 832DEBC - .incbin "baserom.gba", 0x32debc, 0x24 + .4byte gText_CommunicationStandby6 + .4byte gText_TheTradeHasBeenCanceled + .4byte gText_YourOnlyPkmnForBattle + .4byte gText_OnlyPkmnForBattle + .4byte gText_WaitingForYourFriend + .4byte gText_YourFriendWantsToTrade + .4byte gText_PkmnCantBeTradedNow + .4byte gText_EggCantBeTradedNow + .4byte gText_OtherTrainersPkmnCantBeTraded gUnknown_0832DEE0:: @ 832DEE0 - .incbin "baserom.gba", 0x32dee0, 0x4 + .byte 0x00, 0x01, 0x02, 0x00 + .align 2 gUnknown_0832DEE4:: @ 832DEE4 - .incbin "baserom.gba", 0x32dee4, 0x10 + .4byte 0x000001f8, 0x00001051, 0x00002062, 0x00003073 + .align 2 gUnknown_0832DEF4:: @ 832DEF4 - .incbin "baserom.gba", 0x32def4, 0x98 + window_template 0x00, 0x04, 0x07, 0x16, 0x04, 0x0f, 0x001e + window_template 0x00, 0x13, 0x0f, 0x0a, 0x04, 0x0f, 0x0076 + window_template 0x00, 0x00, 0x05, 0x08, 0x02, 0x0d, 0x009e + window_template 0x00, 0x07, 0x05, 0x08, 0x02, 0x0d, 0x00ae + window_template 0x00, 0x00, 0x0a, 0x08, 0x02, 0x0d, 0x00be + window_template 0x00, 0x07, 0x0a, 0x08, 0x02, 0x0d, 0x00ce + window_template 0x00, 0x00, 0x0f, 0x08, 0x02, 0x0d, 0x00de + window_template 0x00, 0x07, 0x0f, 0x08, 0x02, 0x0d, 0x00ee + window_template 0x00, 0x0f, 0x05, 0x08, 0x02, 0x0d, 0x00fe + window_template 0x00, 0x16, 0x05, 0x08, 0x02, 0x0d, 0x010e + window_template 0x00, 0x0f, 0x0a, 0x08, 0x02, 0x0d, 0x011e + window_template 0x00, 0x16, 0x0a, 0x08, 0x02, 0x0d, 0x012e + window_template 0x00, 0x0f, 0x0f, 0x08, 0x02, 0x0d, 0x013e + window_template 0x00, 0x16, 0x0f, 0x08, 0x02, 0x0d, 0x014e + window_template 0x00, 0x02, 0x05, 0x0e, 0x02, 0x0d, 0x015e + window_template 0x00, 0x03, 0x08, 0x0b, 0x08, 0x0f, 0x017a + window_template 0x00, 0x11, 0x05, 0x0e, 0x02, 0x0f, 0x01d2 + window_template 0x00, 0x12, 0x08, 0x0b, 0x08, 0x0f, 0x01ee + null_window_template + .align 2 gUnknown_0832DF8C:: @ 832DF8C - .incbin "baserom.gba", 0x32df8c, 0x8 + window_template 0x00, 0x17, 0x0d, 0x05, 0x04, 0x0f, 0x0246 -gUnknown_0832DF94:: @ 832DF94 - .incbin "baserom.gba", 0x32df94, 0x5 +gJPText_Shedinja:: @ 832DF94 + .string "ヌケニン$" gUnknown_0832DF99:: @ 832DF99 - .incbin "baserom.gba", 0x32df99, 0x2027 + .byte 0x04, 0x03, 0x13, 0x03, 0x00, 0x00, 0x00 + .align 2 +gTradeBallPalette:: @ 832DFA0 + .incbin "graphics/trade/ball.gbapal" + + .align 2 +gTradeBallTiles:: @ 832DFC0 + .incbin "graphics/trade/ball.4bpp" + + .align 2 +gUnknown_832E5C0:: @ 832E5C0 + .incbin "graphics/trade/pokeball_symbol.8bpp" + + .align 2 gUnknown_0832FFC0:: @ 832FFC0 - .incbin "baserom.gba", 0x32ffc0, 0x1fa0 + .incbin "graphics/trade/cable_closeup_map.bin" + .align 2 +gUnknown_083307C0:: @ 83307C0 + .incbin "graphics/trade/pokeball_symbol_map.bin" + + .align 2 +gUnknown_083308C0:: @ 83308C0 + .incbin "graphics/trade/unknown_3308C0.gbapal" + + .align 2 +gUnknown_083308E0:: @ 83308E0 + .incbin "graphics/trade/gba.gbapal" + .incbin "graphics/trade/shadow.gbapal" + .incbin "graphics/trade/black.gbapal" + + .align 2 +gUnknown_08330940:: @ 8330940 + .incbin "graphics/trade/misc.gbapal" + + .align 2 +gTradeGlow1Tiles:: @ 8330960 + .incbin "graphics/trade/glow1.4bpp" + + .align 2 +gTradeGlow2Tiles:: @ 8330B60 + .incbin "graphics/trade/glow2.4bpp" + + .align 2 +gTradeCableEndTiles:: @ 8330D60 + .incbin "graphics/trade/cable_end.4bpp" + + .align 2 +gTradeGBAScreenTiles:: @ 8330F60 + .incbin "graphics/trade/gba_screen.4bpp" + + .align 2 gUnknown_08331F60:: @ 8331F60 - .incbin "baserom.gba", 0x331f60, 0x1000 + .incbin "graphics/trade/shadow_map.bin" + .align 2 gUnknown_08332F60:: @ 8332F60 - .incbin "baserom.gba", 0x332f60, 0x2840 + .incbin "graphics/trade/gba_affine.8bpp" + .space 0x40 + + .align 2 gUnknown_083357A0:: @ 83357A0 - .incbin "baserom.gba", 0x3357a0, 0x100 + .incbin "graphics/trade/gba_affine_map_cable.bin" + .align 2 gUnknown_083358A0:: @ 83358A0 - .incbin "baserom.gba", 0x3358a0, 0x100 + .incbin "graphics/trade/gba_affine_map_wireless.bin" + .align 2 gUnknown_083359A0:: @ 83359A0 - .incbin "baserom.gba", 0x3359a0, 0x1000 + .incbin "graphics/trade/gba_map_wireless.bin" + .align 2 gUnknown_083369A0:: @ 83369A0 - .incbin "baserom.gba", 0x3369a0, 0x1000 + .incbin "graphics/trade/gba_map_cable.bin" + .align 2 gUnknown_083379A0:: @ 83379A0 - .incbin "baserom.gba", 0x3379a0, 0x100 + .incbin "graphics/trade/unknown_3379A0.bin.lz" + .align 2 gUnknown_08337AA0:: @ 8337AA0 - .incbin "baserom.gba", 0x337aa0, 0x200 + .incbin "graphics/trade/wireless_signal_send.gbapal" + .align 2 gUnknown_08337CA0:: @ 8337CA0 - .incbin "baserom.gba", 0x337ca0, 0x200 + .incbin "graphics/trade/wireless_signal_receive.gbapal" + .align 2 gUnknown_08337EA0:: @ 8337EA0 - .incbin "baserom.gba", 0x337ea0, 0x20 + .incbin "graphics/trade/black.gbapal" + .align 2 gUnknown_08337EC0:: @ 8337EC0 - .incbin "baserom.gba", 0x337ec0, 0x690 + .incbin "graphics/trade/wireless_signal.4bpp.lz" + .align 2 gUnknown_08338550:: @ 8338550 - .incbin "baserom.gba", 0x338550, 0x7c8 + .incbin "graphics/trade/wireless_signal.bin.lz" + .align 2 +gOamData_8338C44:: @ 8338C44 + .2byte 0x0100, 0x4000, 0x0000, 0x0000 + + .align 2 +gSpriteAnim_8338C4C:: @ 8338C4C + .2byte 0x0000, 0x0003, 0x0004, 0x0003, 0x0008, 0x0003, 0x000c, 0x0003, 0x0010, 0x0003, 0x0014, 0x0003, 0x0018, 0x0003, 0x001c, 0x0003 + .2byte 0x0020, 0x0003, 0x0024, 0x0003, 0x0028, 0x0003, 0x002c, 0x0003, 0xfffd, 0x0001, 0x0000, 0x0003, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8338C88:: @ 8338C88 + .2byte 0x0000, 0x0003, 0x0004, 0x0003, 0x0008, 0x0003, 0x000c, 0x0003, 0x0010, 0x0003, 0x0014, 0x0003, 0x0018, 0x0003, 0x001c, 0x0003 + .2byte 0x0020, 0x0003, 0x0024, 0x0003, 0x0028, 0x0003, 0x002c, 0x0003, 0xfffd, 0x0002, 0x0000, 0x0003, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_8338C88:: @ 8338CC4 + .4byte gSpriteAnim_8338C4C + .4byte gSpriteAnim_8338C88 + + .align 2 +gSpriteAffineAnim_8338CCC:: @ 8338CCC + .2byte 0x0000, 0x0000, 0x0100, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_8338CDC:: @ 8338CDC + .2byte 0xfff8, 0x0000, 0x1400, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_8338CEC:: @ 8338CEC + .2byte 0x0060, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0500, 0x0000, 0x0008, 0x0000, 0x1400, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnimTable_8338D0C:: @ 8338D0C + .4byte gSpriteAffineAnim_8338CCC + .4byte gSpriteAffineAnim_8338CDC + .4byte gSpriteAffineAnim_8338CEC + + .align 2 gUnknown_08338D18:: @ 8338D18 - .incbin "baserom.gba", 0x338d18, 0x8 + obj_tiles gTradeBallTiles, 0x0600, 0x15b5 + .align 2 gUnknown_08338D20:: @ 8338D20 - .incbin "baserom.gba", 0x338d20, 0x8 + obj_pal gTradeBallPalette, 0x15b6 -gUnknown_08338D28:: @ 8338D28 - .incbin "baserom.gba", 0x338d28, 0x48 + .align 2 +gSpriteTemplate_8338D28:: @ 8338D28 + spr_template 0x15b5, 0x15b6, gOamData_8338C44, gSpriteAnimTable_8338C88, NULL, gSpriteAffineAnimTable_8338D0C, sub_807E55C + .align 2 +gOamData_8338D40:: @ 8338D40 + .2byte 0x0500, 0x8000, 0x0400, 0x0000 + + .align 2 +gSpriteAnim_8338D48:: @ 8338D48 + .2byte 0x0000, 0x00c5, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_8338D50:: @ 8338D50 + .4byte gSpriteAnim_8338D48 + + .align 2 +gSpriteAffineAnim_8338D54:: @ 8338D54 + .2byte 0xfff6, 0xfff6, 0x0500, 0x0000, 0x000a, 0x000a, 0x0500, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnimTable_8338D6C:: @ 8338D6C + .4byte gSpriteAffineAnim_8338D54 + + .align 2 gUnknown_08338D70:: @ 8338D70 - .incbin "baserom.gba", 0x338d70, 0x8 + obj_tiles gTradeGlow1Tiles, 0x0200, 0x15ae + .align 2 gUnknown_08338D78:: @ 8338D78 - .incbin "baserom.gba", 0x338d78, 0x8 + obj_pal gUnknown_08330940, 0x15af + .align 2 gUnknown_08338D80:: @ 8338D80 - .incbin "baserom.gba", 0x338d80, 0x8 + obj_pal gUnknown_083308E0, 0x15b3 + .align 2 gUnknown_08338D88:: @ 8338D88 - .incbin "baserom.gba", 0x338d88, 0x38 + spr_template 0x15ae, 0x15af, gOamData_8338D40, gSpriteAnimTable_8338D50, NULL, gSpriteAffineAnimTable_8338D6C, sub_807AA28 + .align 2 +gOamData_8338DA0:: @ 8338DA0 + .2byte 0x8000, 0x8000, 0x0400, 0x0000 + + .align 2 +gSpriteAnim_8338DA8:: @ 8338DA8 + .2byte 0x0000, 0x00c5, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8338DB0:: @ 8338DB0 + .2byte 0x0008, 0x00c5, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_8338DB8:: @ 8338DB8 + .4byte gSpriteAnim_8338DA8 + .4byte gSpriteAnim_8338DB0 + + .align 2 gUnknown_08338DC0:: @ 8338DC0 - .incbin "baserom.gba", 0x338dc0, 0x8 + obj_tiles gTradeGlow2Tiles, 0x0300, 0x15b0 -gUnknown_08338DC8:: @ 8338DC8 - .incbin "baserom.gba", 0x338dc8, 0x2c + .align 2 +gSpriteTemplate_8338DC8:: @ 8338DC8 + spr_template 0x15b0, 0x15af, gOamData_8338DA0, gSpriteAnimTable_8338DB8, NULL, gDummySpriteAffineAnimTable, sub_807AA7C + .align 2 +gOamData_8338DE0:: @ 8338DE0 + .2byte 0x8000, 0x8000, 0x0400, 0x0000 + + .align 2 +gSpriteAnim_8338DE8:: @ 8338DE8 + .2byte 0x0000, 0x000a, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_8338DF0:: @ 8338DF0 + .4byte gSpriteAnim_8338DE8 + + .align 2 gUnknown_08338DF4:: @ 8338DF4 - .incbin "baserom.gba", 0x338df4, 0x8 + obj_tiles gTradeCableEndTiles, 0x0100, 0x15b2 -gUnknown_08338DFC:: @ 8338DFC - .incbin "baserom.gba", 0x338dfc, 0x70 + .align 2 +gSpriteTemplate_8338DFC:: @ 8338DFC + spr_template 0x15b2, 0x15b3, gOamData_8338DE0, gSpriteAnimTable_8338DF0, NULL, gDummySpriteAffineAnimTable, sub_807AABC + + .align 2 +gOamData_8338E14:: @ 8338E14 + .2byte 0x4000, 0xc000, 0x0400, 0x0000 + + .align 2 +gSpriteAnim_8338E1C:: @ 8338E1C + .2byte 0x0000, 0x00c2, 0x0020, 0x00c2, 0x0040, 0x00c2, 0x0060, 0x00c2, 0x0040, 0x00c2, 0x0020, 0x00c2, 0x0000, 0x00c2, 0xfffd, 0x0008 + .2byte 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8338E40:: @ 8338E40 + .2byte 0x0000, 0x00c2, 0x0020, 0x00c2, 0x0040, 0x00c2, 0x0060, 0x00c2, 0x0040, 0x00c2, 0x0020, 0x00c2, 0x0000, 0x00c2, 0xfffd, 0x0002 + .2byte 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_8338E64:: @ 8338E64 + .4byte gSpriteAnim_8338E1C + + .align 2 +gSpriteAnimTable_8338E68:: @ 8338E68 + .4byte gSpriteAnim_8338E40 gUnknown_08338E6C:: @ 8338E6C - .incbin "baserom.gba", 0x338e6c, 0x8 + obj_tiles gTradeGBAScreenTiles, 0x1000, 0x15b4 -gUnknown_08338E74:: @ 8338E74 - .incbin "baserom.gba", 0x338e74, 0x18 + .align 2 +gSpriteTemplate_8338E74:: @ 8338E74 + spr_template 0x15b4, 0x15b3, gOamData_8338E14, gSpriteAnimTable_8338E64, NULL, gDummySpriteAffineAnimTable, sub_807AB04 -gUnknown_08338E8C:: @ 8338E8C - .incbin "baserom.gba", 0x338e8c, 0x18 + .align 2 +gSpriteTemplate_8338E8C:: @ 8338E8C + spr_template 0x15b4, 0x15b3, gOamData_8338E14, gSpriteAnimTable_8338E68, NULL, gDummySpriteAffineAnimTable, sub_807AB04 + .align 1 gUnknown_08338EA4:: @ 8338EA4 - .incbin "baserom.gba", 0x338ea4, 0x28 + .incbin "graphics/trade/unknown_338EA4.gbapal" -gUnknown_08338ECC:: @ 8338ECC - .incbin "baserom.gba", 0x338ecc, 0x4 + .align 2 +gSpriteAffineAnim_8338EBC:: @ 8338EBC + .2byte 0xff00, 0x0100, 0x0000, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 -gUnknown_08338ED0:: @ 8338ED0 - .incbin "baserom.gba", 0x338ed0, 0xf0 + .align 2 +gSpriteAffineAnimTable_8338ECC:: @ 8338ECC + .4byte gSpriteAffineAnim_8338EBC + .align 2 +gIngameTrades:: @ 8338ED0 + .string "DOTS$", 11 + .align 1 + .2byte SPECIES_SEEDOT + .byte 5, 4, 5, 4, 4, 4 + .byte 1 + .align 2 + .4byte 0x9746 + .byte 30, 5, 5, 5, 5 + .align 2 + .4byte 0x84 + .2byte ITEM_CHESTO_BERRY + .byte -1 + .string "KOBE$", 11 + .byte 0 + .byte 10 + .2byte SPECIES_RALTS + + .align 2 + .string "PLUSES$", 11 + .align 1 + .2byte SPECIES_PLUSLE + .byte 4, 4, 4, 5, 5, 4 + .byte 0 + .align 2 + .4byte 0x1210c + .byte 5, 5, 30, 5, 5 + .align 2 + .4byte 0x6f + .2byte ITEM_WOOD_MAIL + .byte 0 + .string "ROMAN$", 11 + .byte 0 + .byte 10 + .2byte SPECIES_VOLBEAT + + .align 2 + .string "SEASOR$", 11 + .align 1 + .2byte SPECIES_HORSEA + .byte 5, 4, 4, 4, 5, 4 + .byte 0 + .align 2 + .4byte 0xb4cd + .byte 5, 5, 5, 5, 30 + .align 2 + .4byte 0x7f + .2byte ITEM_WAVE_MAIL + .byte 1 + .string "SKYLAR$", 11 + .byte 0 + .byte 10 + .2byte SPECIES_BAGON + + .align 2 + .string "MEOWOW$", 11 + .align 1 + .2byte SPECIES_MEOWTH + .byte 4, 5, 4, 5, 4, 4 + .byte 0 + .align 2 + .4byte 0x16559 + .byte 5, 5, 5, 30, 5 + .align 2 + .4byte 0x8b + .2byte ITEM_RETRO_MAIL + .byte 2 + .string "ISIS$", 11 + .byte 1 + .byte 10 + .2byte SPECIES_SKITTY + + .align 2 gUnknown_08338FC0:: @ 8338FC0 - .incbin "baserom.gba", 0x338fc0, 0x3c + .2byte 0x1006, 0x1232, 0x102f, 0x0161, 0x0c00, 0x0182, 0x1000, 0x1006, 0x0e3b, 0x0000, 0x0a01, 0x1000, 0x161e, 0x018b, 0x0433, 0x1611 + .2byte 0x180f, 0x0074, 0x1440, 0x0000, 0x0811, 0x102b, 0x013b, 0x2a34, 0x0c16, 0x1037, 0x1020, 0x0418, 0x0c23, 0x0000 + .align 2 gUnknown_08338FFC:: @ 8338FFC - .incbin "baserom.gba", 0x338ffc, 0x10 + window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x00, 0x0040 + null_window_template + .align 2 gUnknown_0833900C:: @ 833900C - .incbin "baserom.gba", 0x33900c, 0x8 + window_template 0x00, 0x15, 0x09, 0x05, 0x04, 0x0f, 0x00bc + .align 2 gUnknown_08339014:: @ 8339014 - .incbin "baserom.gba", 0x339014, 0x10 + .4byte 0x000001fc, 0x00002051, 0x00002326, 0x00003063 gUnknown_08339024:: @ 8339024 - .incbin "baserom.gba", 0x339024, 0x6c + .byte 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe + .byte 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04 + .byte 0x04, 0x04, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0xfc, 0xfd, 0xfe, 0xff + .byte 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x02, 0x03 gUnknown_08339090:: @ 8339090 - .incbin "baserom.gba", 0x339090, 0x44 + .byte 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0a, 0x03, 0x0b, 0x03, 0x0c, 0x03, 0x0d, 0x04, 0x0e, 0x05, 0x0f, 0x02 + .byte 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0a, 0x03, 0x0b, 0x03, 0x0c, 0x03, 0x0d, 0x04, 0x0e, 0x05, 0x10, 0x01 + .byte 0x10, 0xff, 0x00, 0x00 diff --git a/data/trader.s b/data/trader.s new file mode 100644 index 0000000000..1fe929ae7a --- /dev/null +++ b/data/trader.s @@ -0,0 +1,22 @@ + + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 +gUnknown_085B09E4:: @ 85B09E4 + .4byte gText_Tristan + .4byte gText_Philip + .4byte gText_Dennis + .4byte gText_Roberto + + .align 2 +gUnknown_085B09F4:: @ 85B09F4 + .byte 0x5b, 0x6b, 0x25, 0x15 + + .align 2 +gUnknown_085B09F8:: @ 85B09F8 + .4byte 0x0a010100, 0x00010f0a + + diff --git a/data/trainer_card.s b/data/trainer_card.s index 0d48cd0b6d..f57973200b 100644 --- a/data/trainer_card.s +++ b/data/trainer_card.s @@ -1,167 +1,402 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" + .include "asm/macros.inc" + .include "constants/constants.inc" - .section .rodata - .align 2, 0 + .section .rodata +.macro unk_trainer_card_struct text1, text2, short1, short2, short3, short4 + .4byte \text1 + .4byte \text2 + .2byte \short1 + .2byte \short2 + .2byte \short3 + .2byte \short4 +.endm + + .align 2 gUnknown_0856F018:: @ 856F018 - .incbin "baserom.gba", 0x56f018, 0x494 + .incbin "graphics/trainer_card/stickers_fr.4bpp.lz" + .align 2 +gUnknown_0856F18C:: @ 856F18C + .incbin "graphics/trainer_card/unknown_56F18C.gbapal" + + .align 2 +gEmeraldTrainerCard1Star_Pal:: @ 856F1AC + .incbin "graphics/trainer_card/one_star.gbapal" + + .align 2 +gFireRedTrainerCard1Star_Pal:: @ 856F20C + .incbin "graphics/trainer_card/one_star_fr.gbapal" + + .align 2 +gEmeraldTrainerCard2Star_Pal:: @ 856F26C + .incbin "graphics/trainer_card/two_stars.gbapal" + + .align 2 +gFireRedTrainerCard2Star_Pal:: @ 856F2CC + .incbin "graphics/trainer_card/two_stars_fr.gbapal" + + .align 2 +gEmeraldTrainerCard3Star_Pal:: @ 856F32C + .incbin "graphics/trainer_card/three_stars.gbapal" + + .align 2 +gFireRedTrainerCard3Star_Pal:: @ 856F38C + .incbin "graphics/trainer_card/three_stars_fr.gbapal" + + .align 2 +gEmeraldTrainerCard4Star_Pal:: @ 856F3EC + .incbin "graphics/trainer_card/four_stars.gbapal" + + .align 2 +gFireRedTrainerCard4Star_Pal:: @ 856F44C + .incbin "graphics/trainer_card/four_stars_fr.gbapal" + + .align 2 gUnknown_0856F4AC:: @ 856F4AC - .incbin "baserom.gba", 0x56f4ac, 0x20 + .incbin "graphics/trainer_card/female_bg.gbapal" + .align 2 gUnknown_0856F4CC:: @ 856F4CC - .incbin "baserom.gba", 0x56f4cc, 0x20 + .incbin "graphics/trainer_card/female_bg_fr.gbapal" + .align 2 gUnknown_0856F4EC:: @ 856F4EC - .incbin "baserom.gba", 0x56f4ec, 0x20 + .incbin "graphics/trainer_card/badges.gbapal" + .align 2 gUnknown_0856F50C:: @ 856F50C - .incbin "baserom.gba", 0x56f50c, 0x20 + .incbin "graphics/trainer_card/badges_fr.gbapal" + .align 2 gUnknown_0856F52C:: @ 856F52C - .incbin "baserom.gba", 0x56f52c, 0x20 + .incbin "graphics/trainer_card/gold.gbapal" + .align 2 gUnknown_0856F54C:: @ 856F54C - .incbin "baserom.gba", 0x56f54c, 0x20 + .incbin "graphics/trainer_card/stickers_fr1.gbapal" + .align 2 gUnknown_0856F56C:: @ 856F56C - .incbin "baserom.gba", 0x56f56c, 0x20 + .incbin "graphics/trainer_card/stickers_fr2.gbapal" + .align 2 gUnknown_0856F58C:: @ 856F58C - .incbin "baserom.gba", 0x56f58c, 0x20 + .incbin "graphics/trainer_card/stickers_fr3.gbapal" + .align 2 gUnknown_0856F5AC:: @ 856F5AC - .incbin "baserom.gba", 0x56f5ac, 0x20 + .incbin "graphics/trainer_card/stickers_fr4.gbapal" + .align 2 gUnknown_0856F5CC:: @ 856F5CC - .incbin "baserom.gba", 0x56f5cc, 0x248 + .incbin "graphics/trainer_card/badges.4bpp.lz" + .align 2 gUnknown_0856F814:: @ 856F814 - .incbin "baserom.gba", 0x56f814, 0x2a0 + .incbin "graphics/trainer_card/badges_fr.4bpp.lz" + .align 2 gUnknown_0856FAB4:: @ 856FAB4 - .incbin "baserom.gba", 0x56fab4, 0x10 + .4byte 0x000025b0, 0x000001d9, 0x000031e2, 0x003011f3 + .align 2 gUnknown_0856FAC4:: @ 856FAC4 - .incbin "baserom.gba", 0x56fac4, 0x20 + window_template 0x01, 0x02, 0x0f, 0x1b, 0x04, 0x0f, 0x0253 + window_template 0x01, 0x01, 0x01, 0x1c, 0x12, 0x0f, 0x0001 + window_template 0x03, 0x13, 0x05, 0x09, 0x0a, 0x08, 0x0150 + null_window_template -gUnknown_0856FAE4:: @ 856FAE4 - .incbin "baserom.gba", 0x56fae4, 0x14 + .align 2 +gEmeraldTrainerCardStarPals:: @ 856FAE4 + .4byte gEmeraldTrainerCard0Star_Pal + .4byte gEmeraldTrainerCard1Star_Pal + .4byte gEmeraldTrainerCard2Star_Pal + .4byte gEmeraldTrainerCard3Star_Pal + .4byte gEmeraldTrainerCard4Star_Pal -gUnknown_0856FAF8:: @ 856FAF8 - .incbin "baserom.gba", 0x56faf8, 0x14 + .align 2 +gFireRedTrainerCardStarPals:: @ 856FAF8 + .4byte gFireRedTrainerCard0Star_Pal + .4byte gFireRedTrainerCard1Star_Pal + .4byte gFireRedTrainerCard2Star_Pal + .4byte gFireRedTrainerCard3Star_Pal + .4byte gFireRedTrainerCard4Star_Pal gUnknown_0856FB0C:: @ 856FB0C - .incbin "baserom.gba", 0x56fb0c, 0x3 + .byte 0x00, 0x02, 0x03 gUnknown_0856FB0F:: @ 856FB0F - .incbin "baserom.gba", 0x56fb0f, 0x9 + .byte 0x00, 0x04, 0x05 + +gUnknown_0856FB12:: @ 856FB12 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 gUnknown_0856FB18:: @ 856FB18 - .incbin "baserom.gba", 0x56fb18, 0x8 + .byte 0x0d, 0x04, 0x0d, 0x04, 0x01, 0x00, 0x01, 0x00 gUnknown_0856FB20:: @ 856FB20 - .incbin "baserom.gba", 0x56fb20, 0x8 + .byte 0x4e, 0x4f, 0x50, 0x51, 0x3c, 0x3f + .align 2 gUnknown_0856FB28:: @ 856FB28 - .incbin "baserom.gba", 0x56fb28, 0x18 + .4byte sub_80C4998 + .4byte sub_80C49D8 + .4byte sub_80C4B08 + .4byte sub_80C4C1C + .4byte sub_80C4C84 + .4byte sub_80C4DB0 + .align 2 gUnknown_0856FB40:: @ 856FB40 - .incbin "baserom.gba", 0x56fb40, 0x8 + .4byte gUnknown_0856FB0C + .4byte gUnknown_0856FB12 gUnknown_0856FB48:: @ 856FB48 - .incbin "baserom.gba", 0x56fb48, 0x2 + .byte 0x71, 0x68 gUnknown_0856FB4A:: @ 856FB4A - .incbin "baserom.gba", 0x56fb4a, 0x2 + .byte 0x81, 0x78 gUnknown_0856FB4C:: @ 856FB4C - .incbin "baserom.gba", 0x56fb4c, 0x9 + .byte 0xfd, 0x02, 0xf0, 0xfd, 0x03, 0xf0, 0xfd, 0x04, 0xff gUnknown_0856FB55:: @ 856FB55 - .incbin "baserom.gba", 0x56fb55, 0x2 + .byte 0x08, 0x10 gUnknown_0856FB57:: @ 856FB57 - .incbin "baserom.gba", 0x56fb57, 0x5 + .byte 0xd8, 0xd8 + .align 2 gUnknown_0856FB5C:: @ 856FB5C - .incbin "baserom.gba", 0x56fb5c, 0xc + .4byte gText_LinkBattles + .4byte gText_LinkCableBattles + .4byte gText_LinkBattles gUnknown_0856FB68:: @ 856FB68 - .incbin "baserom.gba", 0x56fb68, 0x6 + .byte 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a gUnknown_0856FB6E:: @ 856FB6E - .incbin "baserom.gba", 0x56fb6e, 0x6 + .byte 0x00, 0x04, 0x08, 0x0c, 0x10, 0x14 gUnknown_0856FB74:: @ 856FB74 - .incbin "baserom.gba", 0x56fb74, 0x4 + .byte 0x0b, 0x0c, 0x0d, 0x0e gUnknown_0856FB78:: @ 856FB78 - .incbin "baserom.gba", 0x56fb78, 0x44 + .byte 0x07, 0x07 + .align 2 +gUnknown_0856FB7C:: @ 856FB7C + .incbin "graphics/frontier_pass/map_heads.gbapal" + + .align 2 +gUnknown_0856FB9C:: @ 856FB9C + .incbin "graphics/frontier_pass/map_heads_female.gbapal" + + .align 2 gUnknown_0856FBBC:: @ 856FBBC - .incbin "baserom.gba", 0x56fbbc, 0x1244 + .incbin "graphics/frontier_pass/map_screen.4bpp.lz" + .align 2 +gFrontierPassCursor_Gfx:: @ 8570BA8 + .incbin "graphics/frontier_pass/cursor.4bpp.lz" + + .align 2 +gUnknown_08570C44:: @ 8570C44 + .incbin "graphics/frontier_pass/map_heads.4bpp.lz" + + .align 2 +gFrontierPassMapCursor_Gfx:: @ 8570D00 + .incbin "graphics/frontier_pass/map_cursor.4bpp.lz" + + .align 2 gUnknown_08570E00:: @ 8570E00 - .incbin "baserom.gba", 0x570e00, 0x260 + .incbin "graphics/frontier_pass/map_screen.bin.lz" + .align 2 gUnknown_08571060:: @ 8571060 - .incbin "baserom.gba", 0x571060, 0x260 + .incbin "graphics/frontier_pass/small_map_and_card.bin.lz" + .align 2 +gUnknown_08571298:: @ 8571298 + .incbin "graphics/frontier_pass/unknown_571298.bin" + + .align 2 gUnknown_085712C0:: @ 85712C0 - .incbin "baserom.gba", 0x5712c0, 0x38 + .incbin "graphics/frontier_pass/record_frame.bin.lz" + .align 2 gUnknown_085712F8:: @ 85712F8 - .incbin "baserom.gba", 0x5712f8, 0xe8 + .incbin "graphics/frontier_pass/small_map_and_card_affine.bin.lz" gUnknown_085713E0:: @ 85713E0 - .incbin "baserom.gba", 0x5713e0, 0x8 + .2byte 0x00d8, 0x0020, 0x00d8, 0x0080 + .align 2 gUnknown_085713E8:: @ 85713E8 - .incbin "baserom.gba", 0x5713e8, 0xc + .4byte 0x000011f8, 0x000021e1, 0x00000bd6 + .align 2 gUnknown_085713F4:: @ 85713F4 - .incbin "baserom.gba", 0x5713f4, 0xc + .4byte 0x000001f8, 0x000011e1, 0x000021d2 + .align 2 gUnknown_08571400:: @ 8571400 - .incbin "baserom.gba", 0x571400, 0x28 + window_template 0x00, 0x02, 0x03, 0x0c, 0x03, 0x0f, 0x0001 + window_template 0x00, 0x02, 0x0a, 0x0c, 0x03, 0x0f, 0x0026 + window_template 0x00, 0x02, 0x0d, 0x0c, 0x04, 0x0f, 0x004b + window_template 0x00, 0x00, 0x12, 0x1e, 0x03, 0x0f, 0x007c + window_template 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 + .align 2 gUnknown_08571428:: @ 8571428 - .incbin "baserom.gba", 0x571428, 0x20 + window_template 0x00, 0x00, 0x01, 0x0f, 0x05, 0x0f, 0x0001 + window_template 0x00, 0x14, 0x01, 0x0a, 0x0e, 0x0f, 0x004d + window_template 0x00, 0x02, 0x10, 0x1a, 0x04, 0x0f, 0x00da + window_template 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 gUnknown_08571448:: @ 8571448 - .incbin "baserom.gba", 0x571448, 0x3 + .byte 0x00, 0x02, 0x03 gUnknown_0857144B:: @ 857144B - .incbin "baserom.gba", 0x57144b, 0x3 + .byte 0x00, 0x01, 0x09 gUnknown_0857144E:: @ 857144E - .incbin "baserom.gba", 0x57144e, 0x6 + .byte 0x00, 0x04, 0x05 + .align 2 gUnknown_08571454:: @ 8571454 - .incbin "baserom.gba", 0x571454, 0x68 + .2byte 0x001c, 0x004c, 0x0084, 0x00dc, 0x0054, 0x0084, 0x0084, 0x00dc, 0x0050, 0x0066, 0x0014, 0x006c, 0x0000, 0x0010, 0x0098, 0x00f0 + .2byte 0x006c, 0x0086, 0x0014, 0x006c, 0x0018, 0x0030, 0x0014, 0x006c, 0x0032, 0x0042, 0x0014, 0x0024, 0x0042, 0x0052, 0x0020, 0x0030 + .2byte 0x0032, 0x0042, 0x002c, 0x003c, 0x0042, 0x0052, 0x0038, 0x0048, 0x0032, 0x0042, 0x0044, 0x0054, 0x0042, 0x0052, 0x0050, 0x0060 + .2byte 0x0032, 0x0042, 0x005c, 0x006c + .align 2 gUnknown_085714BC:: @ 85714BC - .incbin "baserom.gba", 0x5714bc, 0x18 + obj_tiles gFrontierPassCursor_Gfx, 0x100, 0 + obj_tiles gFrontierPassMapCursor_Gfx, 0x400, 1 + obj_tiles gFrontierPassMedals_Gfx, 0x380, 2 + .align 2 gUnknown_085714D4:: @ 85714D4 - .incbin "baserom.gba", 0x5714d4, 0x10 + obj_tiles gUnknown_08570C44, 0x100, 4 + null_obj_tiles + .align 2 gUnknown_085714E4:: @ 85714E4 - .incbin "baserom.gba", 0x5714e4, 0xd0 + obj_pal gFrontierPassCursor_Pal, 0 + obj_pal gFrontierPassMapCursor_Pal, 1 + obj_pal gFrontierPassMedalsSilver_Pal, 2 + obj_pal gFrontierPassMedalsGold_Pal, 3 + obj_pal gUnknown_0856FB7C, 4 + obj_pal gUnknown_0856FB9C, 5 + null_obj_pal + .align 2 +gSpriteAnim_857151C:: @ 857151C + .2byte 0x0000, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8571524:: @ 8571524 + .2byte 0x0000, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_857152C:: @ 857152C + .2byte 0x0004, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8571534:: @ 8571534 + .2byte 0x0008, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_857153C:: @ 857153C + .2byte 0x000c, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8571544:: @ 8571544 + .2byte 0x0010, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_857154C:: @ 857154C + .2byte 0x0014, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_8571554:: @ 8571554 + .2byte 0x0018, 0x0000, 0xffff, 0x0000 + + .align 2 +gSpriteAnim_857155C:: @ 857155C + .2byte 0x0000, 0x002d, 0x0008, 0x002d, 0xfffe, 0x0000 + + .align 2 +gSpriteAnim_8571568:: @ 8571568 + .2byte 0x0010, 0x002d, 0x0018, 0x002d, 0xfffe, 0x0000 + + .align 2 +gSpriteAnimTable_08571574:: @ 8571574 + .4byte gSpriteAnim_8571524 + .4byte gSpriteAnim_857152C + + .align 2 +gSpriteAnimTable_0857157C:: @ 857157C + .4byte gSpriteAnim_8571524 + .4byte gSpriteAnim_857152C + .4byte gSpriteAnim_8571534 + .4byte gSpriteAnim_857153C + .4byte gSpriteAnim_8571544 + .4byte gSpriteAnim_857154C + .4byte gSpriteAnim_8571554 + + .align 2 +gSpriteAnimTable_08571598:: @ 8571598 + .4byte gSpriteAnim_857155C + .4byte gSpriteAnim_8571568 + + .align 2 +gSpriteAffineAnim_085715A0:: @ 85715A0 + .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnimTable_085715B0:: @ 85715B0 + .4byte gSpriteAffineAnim_085715A0 + + .align 2 gUnknown_085715B4:: @ 85715B4 - .incbin "baserom.gba", 0x5715b4, 0x30 + spr_template 0, 0, gUnknown_0852490C, gSpriteAnimTable_08571574, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + spr_template 1, 1, gUnknown_08524934, gSpriteAnimTable_08571598, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 gUnknown_085715E4:: @ 85715E4 - .incbin "baserom.gba", 0x5715e4, 0x18 + spr_template 2, 2, gUnknown_0852490C, gSpriteAnimTable_0857157C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 gUnknown_085715FC:: @ 85715FC - .incbin "baserom.gba", 0x5715fc, 0x18 + spr_template 4, 4, gUnknown_0852490C, gSpriteAnimTable_08571574, NULL, gDummySpriteAffineAnimTable, nullsub_39 + .align 2 gUnknown_08571614:: @ 8571614 - .incbin "baserom.gba", 0x571614, 0x3c + .4byte gUnknown_085EDA96 + .4byte gUnknown_085ED932 + .4byte gUnknown_085ED94D + .4byte gUnknown_085ED961 + .4byte gUnknown_085ED977 + .4byte gUnknown_085ED993 + .4byte gUnknown_085ED9AF + .4byte gUnknown_085ED9C7 + .4byte gUnknown_085ED9E5 + .4byte gUnknown_085EDA02 + .4byte gUnknown_085EDA21 + .4byte gUnknown_085EDA3C + .4byte gUnknown_085EDA5E + .4byte gUnknown_085EDA78 + .4byte gUnknown_085ED931 + .align 2 gUnknown_08571650:: @ 8571650 - .incbin "baserom.gba", 0x571650, 0x70 + unk_trainer_card_struct gUnknown_085EDAB1, gUnknown_085EDB0F, 0x59, 0x28, 1, 0 + unk_trainer_card_struct gUnknown_085EDABE, gUnknown_085EDB4E, 0x21, 0x2A, 1, 0 + unk_trainer_card_struct gUnknown_085EDACA, gUnknown_085EDB8B, 0x78, 0x56, 0, 0 + unk_trainer_card_struct gUnknown_085EDAD8, gUnknown_085EDBC2, 0x72, 0x3B, 0, 0 + unk_trainer_card_struct gUnknown_085EDAE5, gUnknown_085EDC00, 0x19, 0x43, 0, 0 + unk_trainer_card_struct gUnknown_085EDAF4, gUnknown_085EDC45, 0x39, 0x39, 1, 0 + unk_trainer_card_struct gUnknown_085EDB00, gUnknown_085EDC84, 0x86, 0x29, 1, 0 diff --git a/data/trainer_class_name_indices.inc b/data/trainer_class_name_indices.inc deleted file mode 100644 index 4335bafe06..0000000000 --- a/data/trainer_class_name_indices.inc +++ /dev/null @@ -1,83 +0,0 @@ -gTrainerClassToNameIndex:: @ 831F5CA - .byte TRAINER_CLASS_NAME_HIKER - .byte TRAINER_CLASS_NAME_TEAM_AQUA - .byte TRAINER_CLASS_NAME_PKMN_BREEDER - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 - .byte TRAINER_CLASS_NAME_BIRD_KEEPER - .byte TRAINER_CLASS_NAME_COLLECTOR - .byte TRAINER_CLASS_NAME_TEAM_AQUA - .byte TRAINER_CLASS_NAME_SWIMMER_M - .byte TRAINER_CLASS_NAME_TEAM_MAGMA - .byte TRAINER_CLASS_NAME_EXPERT - .byte TRAINER_CLASS_NAME_BLACK_BELT - .byte TRAINER_CLASS_NAME_AQUA_LEADER - .byte TRAINER_CLASS_NAME_HEX_MANIAC - .byte TRAINER_CLASS_NAME_AROMA_LADY - .byte TRAINER_CLASS_NAME_RUIN_MANIAC - .byte TRAINER_CLASS_NAME_INTERVIEWER - .byte TRAINER_CLASS_NAME_TUBER_1 - .byte TRAINER_CLASS_NAME_TUBER_2 - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 - .byte TRAINER_CLASS_NAME_LADY - .byte TRAINER_CLASS_NAME_BEAUTY - .byte TRAINER_CLASS_NAME_RICH_BOY - .byte TRAINER_CLASS_NAME_EXPERT - .byte TRAINER_CLASS_NAME_POKEMANIAC - .byte TRAINER_CLASS_NAME_TEAM_MAGMA - .byte TRAINER_CLASS_NAME_GUITARIST - .byte TRAINER_CLASS_NAME_KINDLER - .byte TRAINER_CLASS_NAME_CAMPER - .byte TRAINER_CLASS_NAME_PICNICKER - .byte TRAINER_CLASS_NAME_BUG_MANIAC - .byte TRAINER_CLASS_NAME_PSYCHIC - .byte TRAINER_CLASS_NAME_PSYCHIC - .byte TRAINER_CLASS_NAME_GENTLEMAN - .byte TRAINER_CLASS_NAME_ELITE_FOUR - .byte TRAINER_CLASS_NAME_ELITE_FOUR - .byte TRAINER_CLASS_NAME_LEADER - .byte TRAINER_CLASS_NAME_LEADER - .byte TRAINER_CLASS_NAME_LEADER - .byte TRAINER_CLASS_NAME_SCHOOL_KID - .byte TRAINER_CLASS_NAME_SCHOOL_KID - .byte TRAINER_CLASS_NAME_SR_AND_JR - .byte TRAINER_CLASS_NAME_POKEFAN - .byte TRAINER_CLASS_NAME_POKEFAN - .byte TRAINER_CLASS_NAME_YOUNGSTER - .byte TRAINER_CLASS_NAME_CHAMPION - .byte TRAINER_CLASS_NAME_FISHERMAN - .byte TRAINER_CLASS_NAME_TRIATHLETE - .byte TRAINER_CLASS_NAME_TRIATHLETE - .byte TRAINER_CLASS_NAME_TRIATHLETE - .byte TRAINER_CLASS_NAME_TRIATHLETE - .byte TRAINER_CLASS_NAME_TRIATHLETE - .byte TRAINER_CLASS_NAME_TRIATHLETE - .byte TRAINER_CLASS_NAME_DRAGON_TAMER - .byte TRAINER_CLASS_NAME_NINJA_BOY - .byte TRAINER_CLASS_NAME_BATTLE_GIRL - .byte TRAINER_CLASS_NAME_PARASOL_LADY - .byte TRAINER_CLASS_NAME_SWIMMER_F - .byte TRAINER_CLASS_NAME_TWINS - .byte TRAINER_CLASS_NAME_SAILOR - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 - .byte TRAINER_CLASS_NAME_PKMN_BREEDER - .byte TRAINER_CLASS_NAME_BUG_CATCHER - .byte TRAINER_CLASS_NAME_PKMN_RANGER - .byte TRAINER_CLASS_NAME_PKMN_RANGER - .byte TRAINER_CLASS_NAME_MAGMA_LEADER - .byte TRAINER_CLASS_NAME_LASS - .byte TRAINER_CLASS_NAME_YOUNG_COUPLE - .byte TRAINER_CLASS_NAME_OLD_COUPLE - .byte TRAINER_CLASS_NAME_SIS_AND_BRO - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 - .byte TRAINER_CLASS_NAME_SALON_MAIDEN - .byte TRAINER_CLASS_NAME_DOME_ACE - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_4 - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_4 diff --git a/data/trainer_money.inc b/data/trainer_money.inc index 1e06668bde..5b8032d958 100644 --- a/data/trainer_money.inc +++ b/data/trainer_money.inc @@ -1,59 +1,59 @@ @ This is a factor in how much money you get for beating a trainer. .align 2 gTrainerMoneyTable:: @ 831AEB8 - .byte TRAINER_CLASS_NAME_TEAM_AQUA, 5, 0, 0 - .byte TRAINER_CLASS_NAME_AQUA_ADMIN, 10, 0, 0 - .byte TRAINER_CLASS_NAME_AQUA_LEADER, 20, 0, 0 - .byte TRAINER_CLASS_NAME_AROMA_LADY, 10, 0, 0 - .byte TRAINER_CLASS_NAME_RUIN_MANIAC, 15, 0, 0 - .byte TRAINER_CLASS_NAME_INTERVIEWER, 12, 0, 0 - .byte TRAINER_CLASS_NAME_TUBER_1, 1, 0, 0 - .byte TRAINER_CLASS_NAME_TUBER_2, 1, 0, 0 - .byte TRAINER_CLASS_NAME_SIS_AND_BRO, 3, 0, 0 - .byte TRAINER_CLASS_NAME_COOLTRAINER_1, 12, 0, 0 - .byte TRAINER_CLASS_NAME_HEX_MANIAC, 6, 0, 0 - .byte TRAINER_CLASS_NAME_LADY, 50, 0, 0 - .byte TRAINER_CLASS_NAME_BEAUTY, 20, 0, 0 - .byte TRAINER_CLASS_NAME_RICH_BOY, 50, 0, 0 - .byte TRAINER_CLASS_NAME_POKEMANIAC, 15, 0, 0 - .byte TRAINER_CLASS_NAME_SWIMMER_M, 2, 0, 0 - .byte TRAINER_CLASS_NAME_BLACK_BELT, 8, 0, 0 - .byte TRAINER_CLASS_NAME_GUITARIST, 8, 0, 0 - .byte TRAINER_CLASS_NAME_KINDLER, 8, 0, 0 - .byte TRAINER_CLASS_NAME_CAMPER, 4, 0, 0 - .byte TRAINER_CLASS_NAME_OLD_COUPLE, 10, 0, 0 - .byte TRAINER_CLASS_NAME_BUG_MANIAC, 15, 0, 0 - .byte TRAINER_CLASS_NAME_PSYCHIC, 6, 0, 0 - .byte TRAINER_CLASS_NAME_GENTLEMAN, 20, 0, 0 - .byte TRAINER_CLASS_NAME_ELITE_FOUR, 25, 0, 0 - .byte TRAINER_CLASS_NAME_LEADER, 25, 0, 0 - .byte TRAINER_CLASS_NAME_SCHOOL_KID, 5, 0, 0 - .byte TRAINER_CLASS_NAME_SR_AND_JR, 4, 0, 0 - .byte TRAINER_CLASS_NAME_POKEFAN, 20, 0, 0 - .byte TRAINER_CLASS_NAME_EXPERT, 10, 0, 0 - .byte TRAINER_CLASS_NAME_YOUNGSTER, 4, 0, 0 - .byte TRAINER_CLASS_NAME_CHAMPION, 50, 0, 0 - .byte TRAINER_CLASS_NAME_FISHERMAN, 10, 0, 0 - .byte TRAINER_CLASS_NAME_TRIATHLETE, 10, 0, 0 - .byte TRAINER_CLASS_NAME_DRAGON_TAMER, 12, 0, 0 - .byte TRAINER_CLASS_NAME_BIRD_KEEPER, 8, 0, 0 - .byte TRAINER_CLASS_NAME_NINJA_BOY, 3, 0, 0 - .byte TRAINER_CLASS_NAME_BATTLE_GIRL, 6, 0, 0 - .byte TRAINER_CLASS_NAME_PARASOL_LADY, 10, 0, 0 - .byte TRAINER_CLASS_NAME_SWIMMER_F, 2, 0, 0 - .byte TRAINER_CLASS_NAME_PICNICKER, 4, 0, 0 - .byte TRAINER_CLASS_NAME_TWINS, 3, 0, 0 - .byte TRAINER_CLASS_NAME_SAILOR, 8, 0, 0 - .byte TRAINER_CLASS_NAME_COLLECTOR, 15, 0, 0 - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3, 15, 0, 0 - .byte TRAINER_CLASS_NAME_PKMN_BREEDER, 10, 0, 0 - .byte TRAINER_CLASS_NAME_PKMN_RANGER, 12, 0, 0 - .byte TRAINER_CLASS_NAME_TEAM_MAGMA, 5, 0, 0 - .byte TRAINER_CLASS_NAME_MAGMA_ADMIN, 10, 0, 0 - .byte TRAINER_CLASS_NAME_MAGMA_LEADER, 20, 0, 0 - .byte TRAINER_CLASS_NAME_LASS, 4, 0, 0 - .byte TRAINER_CLASS_NAME_BUG_CATCHER, 4, 0, 0 - .byte TRAINER_CLASS_NAME_HIKER, 10, 0, 0 - .byte TRAINER_CLASS_NAME_YOUNG_COUPLE, 8, 0, 0 - .byte TRAINER_CLASS_LEADER_1, 10, 0, 0 - .byte -1, 5, 0, 0 + .byte TRAINER_CLASS_TEAM_AQUA, 5, 0, 0 + .byte TRAINER_CLASS_AQUA_ADMIN, 10, 0, 0 + .byte TRAINER_CLASS_AQUA_LEADER, 20, 0, 0 + .byte TRAINER_CLASS_AROMA_LADY, 10, 0, 0 + .byte TRAINER_CLASS_RUIN_MANIAC, 15, 0, 0 + .byte TRAINER_CLASS_INTERVIEWER, 12, 0, 0 + .byte TRAINER_CLASS_TUBER_1, 1, 0, 0 + .byte TRAINER_CLASS_TUBER_2, 1, 0, 0 + .byte TRAINER_CLASS_SIS_AND_BRO, 3, 0, 0 + .byte TRAINER_CLASS_COOLTRAINER_1, 12, 0, 0 + .byte TRAINER_CLASS_HEX_MANIAC, 6, 0, 0 + .byte TRAINER_CLASS_LADY, 50, 0, 0 + .byte TRAINER_CLASS_BEAUTY, 20, 0, 0 + .byte TRAINER_CLASS_RICH_BOY, 50, 0, 0 + .byte TRAINER_CLASS_POKEMANIAC, 15, 0, 0 + .byte TRAINER_CLASS_SWIMMER_M, 2, 0, 0 + .byte TRAINER_CLASS_BLACK_BELT, 8, 0, 0 + .byte TRAINER_CLASS_GUITARIST, 8, 0, 0 + .byte TRAINER_CLASS_KINDLER, 8, 0, 0 + .byte TRAINER_CLASS_CAMPER, 4, 0, 0 + .byte TRAINER_CLASS_OLD_COUPLE, 10, 0, 0 + .byte TRAINER_CLASS_BUG_MANIAC, 15, 0, 0 + .byte TRAINER_CLASS_PSYCHIC, 6, 0, 0 + .byte TRAINER_CLASS_GENTLEMAN, 20, 0, 0 + .byte TRAINER_CLASS_ELITE_FOUR, 25, 0, 0 + .byte TRAINER_CLASS_LEADER, 25, 0, 0 + .byte TRAINER_CLASS_SCHOOL_KID, 5, 0, 0 + .byte TRAINER_CLASS_SR_AND_JR, 4, 0, 0 + .byte TRAINER_CLASS_POKEFAN, 20, 0, 0 + .byte TRAINER_CLASS_EXPERT, 10, 0, 0 + .byte TRAINER_CLASS_YOUNGSTER, 4, 0, 0 + .byte TRAINER_CLASS_CHAMPION, 50, 0, 0 + .byte TRAINER_CLASS_FISHERMAN, 10, 0, 0 + .byte TRAINER_CLASS_TRIATHLETE, 10, 0, 0 + .byte TRAINER_CLASS_DRAGON_TAMER, 12, 0, 0 + .byte TRAINER_CLASS_BIRD_KEEPER, 8, 0, 0 + .byte TRAINER_CLASS_NINJA_BOY, 3, 0, 0 + .byte TRAINER_CLASS_BATTLE_GIRL, 6, 0, 0 + .byte TRAINER_CLASS_PARASOL_LADY, 10, 0, 0 + .byte TRAINER_CLASS_SWIMMER_F, 2, 0, 0 + .byte TRAINER_CLASS_PICNICKER, 4, 0, 0 + .byte TRAINER_CLASS_TWINS, 3, 0, 0 + .byte TRAINER_CLASS_SAILOR, 8, 0, 0 + .byte TRAINER_CLASS_COLLECTOR, 15, 0, 0 + .byte TRAINER_CLASS_PKMN_TRAINER_3, 15, 0, 0 + .byte TRAINER_CLASS_PKMN_BREEDER, 10, 0, 0 + .byte TRAINER_CLASS_PKMN_RANGER, 12, 0, 0 + .byte TRAINER_CLASS_TEAM_MAGMA, 5, 0, 0 + .byte TRAINER_CLASS_MAGMA_ADMIN, 10, 0, 0 + .byte TRAINER_CLASS_MAGMA_LEADER, 20, 0, 0 + .byte TRAINER_CLASS_LASS, 4, 0, 0 + .byte TRAINER_CLASS_BUG_CATCHER, 4, 0, 0 + .byte TRAINER_CLASS_HIKER, 10, 0, 0 + .byte TRAINER_CLASS_YOUNG_COUPLE, 8, 0, 0 + .byte TRAINER_CLASS_WINSTRATE, 10, 0, 0 + .byte -1, 5, 0, 0 diff --git a/data/trainer_pic_indices.inc b/data/trainer_pic_indices.inc deleted file mode 100644 index 22fb9aaa2c..0000000000 --- a/data/trainer_pic_indices.inc +++ /dev/null @@ -1,84 +0,0 @@ - .align 2 -gUnknown_0831F578:: @ 831F578 - .byte TRAINER_PIC_HIKER - .byte TRAINER_PIC_AQUA_GRUNT_M - .byte TRAINER_PIC_POKEMON_BREEDER_F - .byte TRAINER_PIC_COOL_TRAINER_M - .byte TRAINER_PIC_BIRD_KEEPER - .byte TRAINER_PIC_COLLECTOR - .byte TRAINER_PIC_AQUA_GRUNT_F - .byte TRAINER_PIC_SWIMMER_M - .byte TRAINER_PIC_MAGMA_GRUNT_M - .byte TRAINER_PIC_EXPERT_M - .byte TRAINER_PIC_BLACK_BELT - .byte TRAINER_PIC_AQUA_LEADER_ARCHIE - .byte TRAINER_PIC_HEX_MANIAC - .byte TRAINER_PIC_AROMA_LADY - .byte TRAINER_PIC_RUIN_MANIAC - .byte TRAINER_PIC_INTERVIEWER - .byte TRAINER_PIC_TUBER_F - .byte TRAINER_PIC_TUBER_M - .byte TRAINER_PIC_COOL_TRAINER_F - .byte TRAINER_PIC_LADY - .byte TRAINER_PIC_BEAUTY - .byte TRAINER_PIC_RICH_BOY - .byte TRAINER_PIC_EXPERT_F - .byte TRAINER_PIC_POKEMANIAC - .byte TRAINER_PIC_MAGMA_GRUNT_F - .byte TRAINER_PIC_GUITARIST - .byte TRAINER_PIC_KINDLER - .byte TRAINER_PIC_CAMPER - .byte TRAINER_PIC_PICNICKER - .byte TRAINER_PIC_BUG_MANIAC - .byte TRAINER_PIC_PSYCHIC_M - .byte TRAINER_PIC_PSYCHIC_F - .byte TRAINER_PIC_GENTLEMAN - .byte TRAINER_PIC_ELITE_FOUR_SIDNEY - .byte TRAINER_PIC_ELITE_FOUR_PHOEBE - .byte TRAINER_PIC_LEADER_ROXANNE - .byte TRAINER_PIC_LEADER_BRAWLY - .byte TRAINER_PIC_LEADER_TATE_AND_LIZA - .byte TRAINER_PIC_SCHOOL_KID_M - .byte TRAINER_PIC_SCHOOL_KID_F - .byte TRAINER_PIC_SR_AND_JR - .byte TRAINER_PIC_WINSTRATE_M - .byte TRAINER_PIC_WINSTRATE_F - .byte TRAINER_PIC_YOUNGSTER - .byte TRAINER_PIC_CHAMPION_WALLACE - .byte TRAINER_PIC_FISHERMAN - .byte TRAINER_PIC_CYCLING_TRIATHLETE_M - .byte TRAINER_PIC_CYCLING_TRIATHLETE_F - .byte TRAINER_PIC_RUNNING_TRIATHLETE_M - .byte TRAINER_PIC_RUNNING_TRIATHLETE_F - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_F - .byte TRAINER_PIC_DRAGON_TAMER - .byte TRAINER_PIC_NINJA_BOY - .byte TRAINER_PIC_BATTLE_GIRL - .byte TRAINER_PIC_PARASOL_LADY - .byte TRAINER_PIC_SWIMMER_F - .byte TRAINER_PIC_TWINS - .byte TRAINER_PIC_SAILOR - .byte TRAINER_PIC_WALLY - .byte TRAINER_PIC_BRENDAN - .byte TRAINER_PIC_BRENDAN - .byte TRAINER_PIC_BRENDAN - .byte TRAINER_PIC_MAY - .byte TRAINER_PIC_MAY - .byte TRAINER_PIC_MAY - .byte TRAINER_PIC_POKEMON_BREEDER_M - .byte TRAINER_PIC_BUG_CATCHER - .byte TRAINER_PIC_POKEMON_RANGER_M - .byte TRAINER_PIC_POKEMON_RANGER_F - .byte TRAINER_PIC_MAGMA_LEADER_MAXIE - .byte TRAINER_PIC_LASS - .byte TRAINER_PIC_YOUNG_COUPLE - .byte TRAINER_PIC_OLD_COUPLE - .byte TRAINER_PIC_SIS_AND_BRO - .byte TRAINER_PIC_STEVEN - .byte TRAINER_PIC_SALON_MAIDEN_ANABEL - .byte TRAINER_PIC_DOME_ACE_TUCKER - .byte TRAINER_PIC_RED - .byte TRAINER_PIC_LEAF - .byte TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN - .byte TRAINER_PIC_RUBY_SAPPHIRE_MAY diff --git a/data/trainer_rematch.s b/data/trainer_rematch.s index 9d6fc7717e..e3a05ba8b2 100644 --- a/data/trainer_rematch.s +++ b/data/trainer_rematch.s @@ -4,7 +4,7 @@ .section .rodata gUnknown_0862AD34:: @ 862AD34 - .incbin "baserom.gba", 0x62ad34, 0x10 + .2byte 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048 gUnknown_0862AD44:: @ 862AD44 - .incbin "baserom.gba", 0x62ad44, 0x10 + .2byte 0x0041, 0x0042, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0000 diff --git a/data/trainer_see.s b/data/trainer_see.s deleted file mode 100644 index bff3004a78..0000000000 --- a/data/trainer_see.s +++ /dev/null @@ -1,83 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gEmotion_ExclamationMarkGfx:: @ 85505AC - .incbin "graphics/misc/emotion_exclamation.4bpp" - - .align 2 -gEmotion_QuestionMarkGfx:: @ 855062C - .incbin "graphics/misc/emotion_question.4bpp" - - .align 2 -gEmotion_HeartGfx:: @ 85506AC - .incbin "graphics/misc/emotion_heart.4bpp" - - .align 2 -gIsTrainerInRange:: @ 855072C - .4byte IsTrainerInRangeSouth - .4byte IsTrainerInRangeNorth - .4byte IsTrainerInRangeWest - .4byte IsTrainerInRangeEast - - .align 2 -gTrainerSeeFuncList:: @ 855073C - .4byte sub_80B4178 - .4byte sub_80B417C - .4byte sub_80B41C0 - .4byte sub_80B4200 - .4byte sub_80B425C - .4byte sub_80B4318 - .4byte sub_80B435C - .4byte sub_80B4390 - .4byte sub_80B43AC - .4byte sub_80B43E0 - .4byte sub_80B4438 - .4byte sub_80B44AC - - .align 2 -gTrainerSeeFuncList2:: @ 855076C - .4byte sub_80B43AC - .4byte sub_80B43E0 - .4byte sub_80B4438 - .4byte sub_80B44AC - - .align 2 -gOamData_855077C:: @ 855077C - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0400 - - .align 2 -gSpriteImageTable_8550784:: @ 8550784 - obj_frame_tiles gEmotion_ExclamationMarkGfx, 0x0080 - obj_frame_tiles gEmotion_QuestionMarkGfx, 0x0080 - - .align 2 -gSpriteImageTable_8550794:: @ 8550794 - obj_frame_tiles gEmotion_HeartGfx, 0x0080 - - .align 2 -gSpriteAnim_855079C:: @ 855079C - obj_image_anim_frame 0, 60 - obj_image_anim_end - - .align 2 -gSpriteAnim_85507A4:: @ 85507A4 - obj_image_anim_frame 1, 60 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_85507AC:: @ 85507AC - .4byte gSpriteAnim_855079C - .4byte gSpriteAnim_85507A4 - - .align 2 -gSpriteTemplate_85507B4:: @ 85507B4 - spr_template 0xffff, 0xffff, gOamData_855077C, gSpriteAnimTable_85507AC, gSpriteImageTable_8550784, gDummySpriteAffineAnimTable, objc_exclamation_mark_probably - - .align 2 -gSpriteTemplate_85507CC:: @ 85507CC - spr_template 0xffff, 0x1004, gOamData_855077C, gSpriteAnimTable_85507AC, gSpriteImageTable_8550794, gDummySpriteAffineAnimTable, objc_exclamation_mark_probably diff --git a/data/trainers.inc b/data/trainers.inc index f3fd0674fe..b401c2a77b 100644 --- a/data/trainers.inc +++ b/data/trainers.inc @@ -2,7 +2,7 @@ gTrainers:: @ 8310030 @ NONE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_1 + .byte TRAINER_CLASS_PKMN_TRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "$", 12 @@ -14,7 +14,7 @@ gTrainers:: @ 8310030 @ SAWYER_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "SAWYER$", 12 @@ -26,7 +26,7 @@ gTrainers:: @ 8310030 @ GRUNT_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_M .string "GRUNT$", 12 @@ -38,7 +38,7 @@ gTrainers:: @ 8310030 @ GRUNT_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_M .string "GRUNT$", 12 @@ -50,7 +50,7 @@ gTrainers:: @ 8310030 @ GRUNT_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_M .string "GRUNT$", 12 @@ -62,7 +62,7 @@ gTrainers:: @ 8310030 @ GRUNT_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_M .string "GRUNT$", 12 @@ -74,7 +74,7 @@ gTrainers:: @ 8310030 @ GRUNT_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_M .string "GRUNT$", 12 @@ -86,7 +86,7 @@ gTrainers:: @ 8310030 @ GRUNT_6 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_M .string "GRUNT$", 12 @@ -98,7 +98,7 @@ gTrainers:: @ 8310030 @ GRUNT_7 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_M .string "GRUNT$", 12 @@ -110,7 +110,7 @@ gTrainers:: @ 8310030 @ GABRIELLE_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_BREEDER + .byte TRAINER_CLASS_PKMN_BREEDER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_BREEDER_F .string "GABRIELLE$", 12 @@ -122,7 +122,7 @@ gTrainers:: @ 8310030 @ GRUNT_8 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_M .string "GRUNT$", 12 @@ -134,7 +134,7 @@ gTrainers:: @ 8310030 @ MARCEL .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "MARCEL$", 12 @@ -146,7 +146,7 @@ gTrainers:: @ 8310030 @ ALBERTO .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "ALBERTO$", 12 @@ -158,7 +158,7 @@ gTrainers:: @ 8310030 @ ED .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COLLECTOR + .byte TRAINER_CLASS_COLLECTOR .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_COLLECTOR .string "ED$", 12 @@ -170,7 +170,7 @@ gTrainers:: @ 8310030 @ GRUNT_9 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_F .string "GRUNT$", 12 @@ -182,7 +182,7 @@ gTrainers:: @ 8310030 @ DECLAN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "DECLAN$", 12 @@ -194,7 +194,7 @@ gTrainers:: @ 8310030 @ GRUNT_10 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_M .string "GRUNT$", 12 @@ -206,7 +206,7 @@ gTrainers:: @ 8310030 @ GRUNT_11 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_M .string "GRUNT$", 12 @@ -218,7 +218,7 @@ gTrainers:: @ 8310030 @ GRUNT_12 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_M .string "GRUNT$", 12 @@ -230,7 +230,7 @@ gTrainers:: @ 8310030 @ GRUNT_13 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_M .string "GRUNT$", 12 @@ -242,7 +242,7 @@ gTrainers:: @ 8310030 @ GRUNT_14 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_M .string "GRUNT$", 12 @@ -254,7 +254,7 @@ gTrainers:: @ 8310030 @ GRUNT_15 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_M .string "GRUNT$", 12 @@ -266,7 +266,7 @@ gTrainers:: @ 8310030 @ GRUNT_16 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_M .string "GRUNT$", 12 @@ -278,7 +278,7 @@ gTrainers:: @ 8310030 @ GRUNT_17 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_M .string "GRUNT$", 12 @@ -290,7 +290,7 @@ gTrainers:: @ 8310030 @ GRUNT_18 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_M .string "GRUNT$", 12 @@ -302,7 +302,7 @@ gTrainers:: @ 8310030 @ GRUNT_19 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_M .string "GRUNT$", 12 @@ -314,7 +314,7 @@ gTrainers:: @ 8310030 @ GRUNT_20 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_F .string "GRUNT$", 12 @@ -326,7 +326,7 @@ gTrainers:: @ 8310030 @ GRUNT_21 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_F .string "GRUNT$", 12 @@ -338,7 +338,7 @@ gTrainers:: @ 8310030 @ GRUNT_22 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_F .string "GRUNT$", 12 @@ -350,7 +350,7 @@ gTrainers:: @ 8310030 @ FREDRICK .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_EXPERT + .byte TRAINER_CLASS_EXPERT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_EXPERT_M .string "FREDRICK$", 12 @@ -362,7 +362,7 @@ gTrainers:: @ 8310030 @ MATT .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_AQUA_ADMIN + .byte TRAINER_CLASS_AQUA_ADMIN .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_ADMIN_M .string "MATT$", 12 @@ -374,7 +374,7 @@ gTrainers:: @ 8310030 @ ZANDER .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BLACK_BELT + .byte TRAINER_CLASS_BLACK_BELT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BLACK_BELT .string "ZANDER$", 12 @@ -386,7 +386,7 @@ gTrainers:: @ 8310030 @ SHELLY_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_AQUA_ADMIN + .byte TRAINER_CLASS_AQUA_ADMIN .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_ADMIN_F .string "SHELLY$", 12 @@ -398,7 +398,7 @@ gTrainers:: @ 8310030 @ SHELLY_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_AQUA_ADMIN + .byte TRAINER_CLASS_AQUA_ADMIN .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_ADMIN_F .string "SHELLY$", 12 @@ -410,7 +410,7 @@ gTrainers:: @ 8310030 @ ARCHIE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_AQUA_LEADER + .byte TRAINER_CLASS_AQUA_LEADER .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_LEADER_ARCHIE .string "ARCHIE$", 12 @@ -422,7 +422,7 @@ gTrainers:: @ 8310030 @ LEAH .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HEX_MANIAC + .byte TRAINER_CLASS_HEX_MANIAC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_HEX_MANIAC .string "LEAH$", 12 @@ -434,7 +434,7 @@ gTrainers:: @ 8310030 @ DAISY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_AROMA_LADY + .byte TRAINER_CLASS_AROMA_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_AROMA_LADY .string "DAISY$", 12 @@ -446,7 +446,7 @@ gTrainers:: @ 8310030 @ ROSE_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_AROMA_LADY + .byte TRAINER_CLASS_AROMA_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_AROMA_LADY .string "ROSE$", 12 @@ -458,7 +458,7 @@ gTrainers:: @ 8310030 @ FELIX .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "FELIX$", 12 @@ -470,7 +470,7 @@ gTrainers:: @ 8310030 @ VIOLET .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_AROMA_LADY + .byte TRAINER_CLASS_AROMA_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_AROMA_LADY .string "VIOLET$", 12 @@ -482,7 +482,7 @@ gTrainers:: @ 8310030 @ ROSE_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_AROMA_LADY + .byte TRAINER_CLASS_AROMA_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_AROMA_LADY .string "ROSE$", 12 @@ -494,7 +494,7 @@ gTrainers:: @ 8310030 @ ROSE_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_AROMA_LADY + .byte TRAINER_CLASS_AROMA_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_AROMA_LADY .string "ROSE$", 12 @@ -506,7 +506,7 @@ gTrainers:: @ 8310030 @ ROSE_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_AROMA_LADY + .byte TRAINER_CLASS_AROMA_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_AROMA_LADY .string "ROSE$", 12 @@ -518,7 +518,7 @@ gTrainers:: @ 8310030 @ ROSE_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_AROMA_LADY + .byte TRAINER_CLASS_AROMA_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_AROMA_LADY .string "ROSE$", 12 @@ -530,7 +530,7 @@ gTrainers:: @ 8310030 @ DUSTY_1 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_RUIN_MANIAC + .byte TRAINER_CLASS_RUIN_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_RUIN_MANIAC .string "DUSTY$", 12 @@ -542,7 +542,7 @@ gTrainers:: @ 8310030 @ CHIP .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_RUIN_MANIAC + .byte TRAINER_CLASS_RUIN_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_RUIN_MANIAC .string "CHIP$", 12 @@ -554,7 +554,7 @@ gTrainers:: @ 8310030 @ FOSTER .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_RUIN_MANIAC + .byte TRAINER_CLASS_RUIN_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_RUIN_MANIAC .string "FOSTER$", 12 @@ -566,7 +566,7 @@ gTrainers:: @ 8310030 @ DUSTY_2 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_RUIN_MANIAC + .byte TRAINER_CLASS_RUIN_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_RUIN_MANIAC .string "DUSTY$", 12 @@ -578,7 +578,7 @@ gTrainers:: @ 8310030 @ DUSTY_3 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_RUIN_MANIAC + .byte TRAINER_CLASS_RUIN_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_RUIN_MANIAC .string "DUSTY$", 12 @@ -590,7 +590,7 @@ gTrainers:: @ 8310030 @ DUSTY_4 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_RUIN_MANIAC + .byte TRAINER_CLASS_RUIN_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_RUIN_MANIAC .string "DUSTY$", 12 @@ -602,7 +602,7 @@ gTrainers:: @ 8310030 @ DUSTY_5 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_RUIN_MANIAC + .byte TRAINER_CLASS_RUIN_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_RUIN_MANIAC .string "DUSTY$", 12 @@ -614,7 +614,7 @@ gTrainers:: @ 8310030 @ GABBY_AND_TY_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_INTERVIEWER + .byte TRAINER_CLASS_INTERVIEWER .byte TRAINER_ENCOUNTER_MUSIC_INTERVIEWER @ gender flag and encounter music .byte TRAINER_PIC_INTERVIEWER .string "GABBY & TY$", 12 @@ -626,7 +626,7 @@ gTrainers:: @ 8310030 @ GABBY_AND_TY_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_INTERVIEWER + .byte TRAINER_CLASS_INTERVIEWER .byte TRAINER_ENCOUNTER_MUSIC_INTERVIEWER @ gender flag and encounter music .byte TRAINER_PIC_INTERVIEWER .string "GABBY & TY$", 12 @@ -638,7 +638,7 @@ gTrainers:: @ 8310030 @ GABBY_AND_TY_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_INTERVIEWER + .byte TRAINER_CLASS_INTERVIEWER .byte TRAINER_ENCOUNTER_MUSIC_INTERVIEWER @ gender flag and encounter music .byte TRAINER_PIC_INTERVIEWER .string "GABBY & TY$", 12 @@ -650,7 +650,7 @@ gTrainers:: @ 8310030 @ GABBY_AND_TY_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_INTERVIEWER + .byte TRAINER_CLASS_INTERVIEWER .byte TRAINER_ENCOUNTER_MUSIC_INTERVIEWER @ gender flag and encounter music .byte TRAINER_PIC_INTERVIEWER .string "GABBY & TY$", 12 @@ -662,7 +662,7 @@ gTrainers:: @ 8310030 @ GABBY_AND_TY_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_INTERVIEWER + .byte TRAINER_CLASS_INTERVIEWER .byte TRAINER_ENCOUNTER_MUSIC_INTERVIEWER @ gender flag and encounter music .byte TRAINER_PIC_INTERVIEWER .string "GABBY & TY$", 12 @@ -674,7 +674,7 @@ gTrainers:: @ 8310030 @ GABBY_AND_TY_6 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_INTERVIEWER + .byte TRAINER_CLASS_INTERVIEWER .byte TRAINER_ENCOUNTER_MUSIC_INTERVIEWER @ gender flag and encounter music .byte TRAINER_PIC_INTERVIEWER .string "GABBY & TY$", 12 @@ -686,7 +686,7 @@ gTrainers:: @ 8310030 @ LOLA_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TUBER_1 + .byte TRAINER_CLASS_TUBER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_TUBER_F .string "LOLA$", 12 @@ -698,7 +698,7 @@ gTrainers:: @ 8310030 @ AUSTINA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TUBER_1 + .byte TRAINER_CLASS_TUBER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_TUBER_F .string "AUSTINA$", 12 @@ -710,7 +710,7 @@ gTrainers:: @ 8310030 @ GWEN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TUBER_1 + .byte TRAINER_CLASS_TUBER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_TUBER_F .string "GWEN$", 12 @@ -722,7 +722,7 @@ gTrainers:: @ 8310030 @ LOLA_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TUBER_1 + .byte TRAINER_CLASS_TUBER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_TUBER_F .string "LOLA$", 12 @@ -734,7 +734,7 @@ gTrainers:: @ 8310030 @ LOLA_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TUBER_1 + .byte TRAINER_CLASS_TUBER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_TUBER_F .string "LOLA$", 12 @@ -746,7 +746,7 @@ gTrainers:: @ 8310030 @ LOLA_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TUBER_1 + .byte TRAINER_CLASS_TUBER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_TUBER_F .string "LOLA$", 12 @@ -758,7 +758,7 @@ gTrainers:: @ 8310030 @ LOLA_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TUBER_1 + .byte TRAINER_CLASS_TUBER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_TUBER_F .string "LOLA$", 12 @@ -770,7 +770,7 @@ gTrainers:: @ 8310030 @ RICKY_1 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_TUBER_2 + .byte TRAINER_CLASS_TUBER_2 .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_TUBER_M .string "RICKY$", 12 @@ -782,7 +782,7 @@ gTrainers:: @ 8310030 @ SIMON .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TUBER_2 + .byte TRAINER_CLASS_TUBER_2 .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_TUBER_M .string "SIMON$", 12 @@ -794,7 +794,7 @@ gTrainers:: @ 8310030 @ CHARLIE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TUBER_2 + .byte TRAINER_CLASS_TUBER_2 .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_TUBER_M .string "CHARLIE$", 12 @@ -806,7 +806,7 @@ gTrainers:: @ 8310030 @ RICKY_2 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_TUBER_2 + .byte TRAINER_CLASS_TUBER_2 .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_TUBER_M .string "RICKY$", 12 @@ -818,7 +818,7 @@ gTrainers:: @ 8310030 @ RICKY_3 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_TUBER_2 + .byte TRAINER_CLASS_TUBER_2 .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_TUBER_M .string "RICKY$", 12 @@ -830,7 +830,7 @@ gTrainers:: @ 8310030 @ RICKY_4 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_TUBER_2 + .byte TRAINER_CLASS_TUBER_2 .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_TUBER_M .string "RICKY$", 12 @@ -842,7 +842,7 @@ gTrainers:: @ 8310030 @ RICKY_5 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_TUBER_2 + .byte TRAINER_CLASS_TUBER_2 .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_TUBER_M .string "RICKY$", 12 @@ -854,7 +854,7 @@ gTrainers:: @ 8310030 @ RANDALL .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "RANDALL$", 12 @@ -866,7 +866,7 @@ gTrainers:: @ 8310030 @ PARKER .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "PARKER$", 12 @@ -878,7 +878,7 @@ gTrainers:: @ 8310030 @ GEORGE .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "GEORGE$", 12 @@ -890,7 +890,7 @@ gTrainers:: @ 8310030 @ BERKE .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "BERKE$", 12 @@ -902,7 +902,7 @@ gTrainers:: @ 8310030 @ BRAXTON .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "BRAXTON$", 12 @@ -914,7 +914,7 @@ gTrainers:: @ 8310030 @ VINCENT .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "VINCENT$", 12 @@ -926,7 +926,7 @@ gTrainers:: @ 8310030 @ LEROY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "LEROY$", 12 @@ -938,7 +938,7 @@ gTrainers:: @ 8310030 @ WILTON_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "WILTON$", 12 @@ -950,7 +950,7 @@ gTrainers:: @ 8310030 @ EDGAR .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "EDGAR$", 12 @@ -962,7 +962,7 @@ gTrainers:: @ 8310030 @ ALBERT .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "ALBERT$", 12 @@ -974,7 +974,7 @@ gTrainers:: @ 8310030 @ SAMUEL .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "SAMUEL$", 12 @@ -986,7 +986,7 @@ gTrainers:: @ 8310030 @ VITO .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "VITO$", 12 @@ -998,7 +998,7 @@ gTrainers:: @ 8310030 @ OWEN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "OWEN$", 12 @@ -1010,7 +1010,7 @@ gTrainers:: @ 8310030 @ WILTON_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "WILTON$", 12 @@ -1022,7 +1022,7 @@ gTrainers:: @ 8310030 @ WILTON_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "WILTON$", 12 @@ -1034,7 +1034,7 @@ gTrainers:: @ 8310030 @ WILTON_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "WILTON$", 12 @@ -1046,7 +1046,7 @@ gTrainers:: @ 8310030 @ WILTON_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "WILTON$", 12 @@ -1058,7 +1058,7 @@ gTrainers:: @ 8310030 @ WARREN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "WARREN$", 12 @@ -1070,7 +1070,7 @@ gTrainers:: @ 8310030 @ MARY .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "MARY$", 12 @@ -1082,7 +1082,7 @@ gTrainers:: @ 8310030 @ ALEXIA .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "ALEXIA$", 12 @@ -1094,7 +1094,7 @@ gTrainers:: @ 8310030 @ JODY .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "JODY$", 12 @@ -1106,7 +1106,7 @@ gTrainers:: @ 8310030 @ WENDY .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "WENDY$", 12 @@ -1118,7 +1118,7 @@ gTrainers:: @ 8310030 @ KEIRA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "KEIRA$", 12 @@ -1130,7 +1130,7 @@ gTrainers:: @ 8310030 @ BROOKE_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "BROOKE$", 12 @@ -1142,7 +1142,7 @@ gTrainers:: @ 8310030 @ JENNIFER .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "JENNIFER$", 12 @@ -1154,7 +1154,7 @@ gTrainers:: @ 8310030 @ HOPE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "HOPE$", 12 @@ -1166,7 +1166,7 @@ gTrainers:: @ 8310030 @ SHANNON .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "SHANNON$", 12 @@ -1178,7 +1178,7 @@ gTrainers:: @ 8310030 @ MICHELLE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "MICHELLE$", 12 @@ -1190,7 +1190,7 @@ gTrainers:: @ 8310030 @ CAROLINE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "CAROLINE$", 12 @@ -1202,7 +1202,7 @@ gTrainers:: @ 8310030 @ JULIE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "JULIE$", 12 @@ -1214,7 +1214,7 @@ gTrainers:: @ 8310030 @ BROOKE_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "BROOKE$", 12 @@ -1226,7 +1226,7 @@ gTrainers:: @ 8310030 @ BROOKE_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "BROOKE$", 12 @@ -1238,7 +1238,7 @@ gTrainers:: @ 8310030 @ BROOKE_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "BROOKE$", 12 @@ -1250,7 +1250,7 @@ gTrainers:: @ 8310030 @ BROOKE_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "BROOKE$", 12 @@ -1262,7 +1262,7 @@ gTrainers:: @ 8310030 @ PATRICIA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HEX_MANIAC + .byte TRAINER_CLASS_HEX_MANIAC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_HEX_MANIAC .string "PATRICIA$", 12 @@ -1274,7 +1274,7 @@ gTrainers:: @ 8310030 @ KINDRA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HEX_MANIAC + .byte TRAINER_CLASS_HEX_MANIAC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_HEX_MANIAC .string "KINDRA$", 12 @@ -1286,7 +1286,7 @@ gTrainers:: @ 8310030 @ TAMMY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HEX_MANIAC + .byte TRAINER_CLASS_HEX_MANIAC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_HEX_MANIAC .string "TAMMY$", 12 @@ -1298,7 +1298,7 @@ gTrainers:: @ 8310030 @ VALERIE_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HEX_MANIAC + .byte TRAINER_CLASS_HEX_MANIAC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_HEX_MANIAC .string "VALERIE$", 12 @@ -1310,7 +1310,7 @@ gTrainers:: @ 8310030 @ TASHA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HEX_MANIAC + .byte TRAINER_CLASS_HEX_MANIAC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_HEX_MANIAC .string "TASHA$", 12 @@ -1322,7 +1322,7 @@ gTrainers:: @ 8310030 @ VALERIE_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HEX_MANIAC + .byte TRAINER_CLASS_HEX_MANIAC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_HEX_MANIAC .string "VALERIE$", 12 @@ -1334,7 +1334,7 @@ gTrainers:: @ 8310030 @ VALERIE_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HEX_MANIAC + .byte TRAINER_CLASS_HEX_MANIAC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_HEX_MANIAC .string "VALERIE$", 12 @@ -1346,7 +1346,7 @@ gTrainers:: @ 8310030 @ VALERIE_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HEX_MANIAC + .byte TRAINER_CLASS_HEX_MANIAC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_HEX_MANIAC .string "VALERIE$", 12 @@ -1358,7 +1358,7 @@ gTrainers:: @ 8310030 @ VALERIE_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HEX_MANIAC + .byte TRAINER_CLASS_HEX_MANIAC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_HEX_MANIAC .string "VALERIE$", 12 @@ -1370,7 +1370,7 @@ gTrainers:: @ 8310030 @ CINDY_1 .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_LADY + .byte TRAINER_CLASS_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LADY .string "CINDY$", 12 @@ -1382,7 +1382,7 @@ gTrainers:: @ 8310030 @ DAPHNE .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LADY + .byte TRAINER_CLASS_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LADY .string "DAPHNE$", 12 @@ -1394,7 +1394,7 @@ gTrainers:: @ 8310030 @ GRUNT_23 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_M .string "GRUNT$", 12 @@ -1406,7 +1406,7 @@ gTrainers:: @ 8310030 @ CINDY_2 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LADY + .byte TRAINER_CLASS_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LADY .string "CINDY$", 12 @@ -1418,7 +1418,7 @@ gTrainers:: @ 8310030 @ BRIANNA .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_LADY + .byte TRAINER_CLASS_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LADY .string "BRIANNA$", 12 @@ -1430,7 +1430,7 @@ gTrainers:: @ 8310030 @ NAOMI .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_LADY + .byte TRAINER_CLASS_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LADY .string "NAOMI$", 12 @@ -1442,7 +1442,7 @@ gTrainers:: @ 8310030 @ CINDY_3 .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_LADY + .byte TRAINER_CLASS_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LADY .string "CINDY$", 12 @@ -1454,7 +1454,7 @@ gTrainers:: @ 8310030 @ CINDY_4 .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_LADY + .byte TRAINER_CLASS_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LADY .string "CINDY$", 12 @@ -1466,7 +1466,7 @@ gTrainers:: @ 8310030 @ CINDY_5 .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_LADY + .byte TRAINER_CLASS_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LADY .string "CINDY$", 12 @@ -1478,7 +1478,7 @@ gTrainers:: @ 8310030 @ CINDY_6 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LADY + .byte TRAINER_CLASS_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LADY .string "CINDY$", 12 @@ -1490,7 +1490,7 @@ gTrainers:: @ 8310030 @ MELISSA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BEAUTY + .byte TRAINER_CLASS_BEAUTY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_BEAUTY .string "MELISSA$", 12 @@ -1502,7 +1502,7 @@ gTrainers:: @ 8310030 @ SHEILA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BEAUTY + .byte TRAINER_CLASS_BEAUTY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_BEAUTY .string "SHEILA$", 12 @@ -1514,7 +1514,7 @@ gTrainers:: @ 8310030 @ SHIRLEY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BEAUTY + .byte TRAINER_CLASS_BEAUTY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_BEAUTY .string "SHIRLEY$", 12 @@ -1526,7 +1526,7 @@ gTrainers:: @ 8310030 @ JESSICA_1 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_BEAUTY + .byte TRAINER_CLASS_BEAUTY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_BEAUTY .string "JESSICA$", 12 @@ -1538,7 +1538,7 @@ gTrainers:: @ 8310030 @ CONNIE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BEAUTY + .byte TRAINER_CLASS_BEAUTY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_BEAUTY .string "CONNIE$", 12 @@ -1550,7 +1550,7 @@ gTrainers:: @ 8310030 @ BRIDGET .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BEAUTY + .byte TRAINER_CLASS_BEAUTY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_BEAUTY .string "BRIDGET$", 12 @@ -1562,7 +1562,7 @@ gTrainers:: @ 8310030 @ OLIVIA .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_BEAUTY + .byte TRAINER_CLASS_BEAUTY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_BEAUTY .string "OLIVIA$", 12 @@ -1574,7 +1574,7 @@ gTrainers:: @ 8310030 @ TIFFANY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BEAUTY + .byte TRAINER_CLASS_BEAUTY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_BEAUTY .string "TIFFANY$", 12 @@ -1586,7 +1586,7 @@ gTrainers:: @ 8310030 @ JESSICA_2 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_BEAUTY + .byte TRAINER_CLASS_BEAUTY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_BEAUTY .string "JESSICA$", 12 @@ -1598,7 +1598,7 @@ gTrainers:: @ 8310030 @ JESSICA_3 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_BEAUTY + .byte TRAINER_CLASS_BEAUTY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_BEAUTY .string "JESSICA$", 12 @@ -1610,7 +1610,7 @@ gTrainers:: @ 8310030 @ JESSICA_4 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_BEAUTY + .byte TRAINER_CLASS_BEAUTY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_BEAUTY .string "JESSICA$", 12 @@ -1622,7 +1622,7 @@ gTrainers:: @ 8310030 @ JESSICA_5 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_BEAUTY + .byte TRAINER_CLASS_BEAUTY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_BEAUTY .string "JESSICA$", 12 @@ -1634,7 +1634,7 @@ gTrainers:: @ 8310030 @ WINSTON_1 .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_RICH_BOY + .byte TRAINER_CLASS_RICH_BOY .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music .byte TRAINER_PIC_RICH_BOY .string "WINSTON$", 12 @@ -1646,7 +1646,7 @@ gTrainers:: @ 8310030 @ MOLLIE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_EXPERT + .byte TRAINER_CLASS_EXPERT .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_EXPERT_F .string "MOLLIE$", 12 @@ -1658,7 +1658,7 @@ gTrainers:: @ 8310030 @ GARRET .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_RICH_BOY + .byte TRAINER_CLASS_RICH_BOY .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music .byte TRAINER_PIC_RICH_BOY .string "GARRET$", 12 @@ -1670,7 +1670,7 @@ gTrainers:: @ 8310030 @ WINSTON_2 .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_RICH_BOY + .byte TRAINER_CLASS_RICH_BOY .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music .byte TRAINER_PIC_RICH_BOY .string "WINSTON$", 12 @@ -1682,7 +1682,7 @@ gTrainers:: @ 8310030 @ WINSTON_3 .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_RICH_BOY + .byte TRAINER_CLASS_RICH_BOY .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music .byte TRAINER_PIC_RICH_BOY .string "WINSTON$", 12 @@ -1694,7 +1694,7 @@ gTrainers:: @ 8310030 @ WINSTON_4 .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_RICH_BOY + .byte TRAINER_CLASS_RICH_BOY .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music .byte TRAINER_PIC_RICH_BOY .string "WINSTON$", 12 @@ -1706,7 +1706,7 @@ gTrainers:: @ 8310030 @ WINSTON_5 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_RICH_BOY + .byte TRAINER_CLASS_RICH_BOY .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music .byte TRAINER_PIC_RICH_BOY .string "WINSTON$", 12 @@ -1718,7 +1718,7 @@ gTrainers:: @ 8310030 @ STEVE_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_POKEMANIAC + .byte TRAINER_CLASS_POKEMANIAC .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_POKEMANIAC .string "STEVE$", 12 @@ -1730,7 +1730,7 @@ gTrainers:: @ 8310030 @ THALIA_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BEAUTY + .byte TRAINER_CLASS_BEAUTY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_BEAUTY .string "THALIA$", 12 @@ -1742,7 +1742,7 @@ gTrainers:: @ 8310030 @ MARK .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_POKEMANIAC + .byte TRAINER_CLASS_POKEMANIAC .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_POKEMANIAC .string "MARK$", 12 @@ -1754,7 +1754,7 @@ gTrainers:: @ 8310030 @ GRUNT_24 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_F .string "GRUNT$", 12 @@ -1766,7 +1766,7 @@ gTrainers:: @ 8310030 @ STEVE_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_POKEMANIAC + .byte TRAINER_CLASS_POKEMANIAC .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_POKEMANIAC .string "STEVE$", 12 @@ -1778,7 +1778,7 @@ gTrainers:: @ 8310030 @ STEVE_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_POKEMANIAC + .byte TRAINER_CLASS_POKEMANIAC .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_POKEMANIAC .string "STEVE$", 12 @@ -1790,7 +1790,7 @@ gTrainers:: @ 8310030 @ STEVE_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_POKEMANIAC + .byte TRAINER_CLASS_POKEMANIAC .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_POKEMANIAC .string "STEVE$", 12 @@ -1802,7 +1802,7 @@ gTrainers:: @ 8310030 @ STEVE_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_POKEMANIAC + .byte TRAINER_CLASS_POKEMANIAC .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_POKEMANIAC .string "STEVE$", 12 @@ -1814,7 +1814,7 @@ gTrainers:: @ 8310030 @ LUIS .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "LUIS$", 12 @@ -1826,7 +1826,7 @@ gTrainers:: @ 8310030 @ DOMINIK .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "DOMINIK$", 12 @@ -1838,7 +1838,7 @@ gTrainers:: @ 8310030 @ DOUGLAS .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "DOUGLAS$", 12 @@ -1850,7 +1850,7 @@ gTrainers:: @ 8310030 @ DARRIN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "DARRIN$", 12 @@ -1862,7 +1862,7 @@ gTrainers:: @ 8310030 @ TONY_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "TONY$", 12 @@ -1874,7 +1874,7 @@ gTrainers:: @ 8310030 @ JEROME .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "JEROME$", 12 @@ -1886,7 +1886,7 @@ gTrainers:: @ 8310030 @ MATTHEW .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "MATTHEW$", 12 @@ -1898,7 +1898,7 @@ gTrainers:: @ 8310030 @ DAVID .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "DAVID$", 12 @@ -1910,7 +1910,7 @@ gTrainers:: @ 8310030 @ SPENCER .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "SPENCER$", 12 @@ -1922,7 +1922,7 @@ gTrainers:: @ 8310030 @ ROLAND .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "ROLAND$", 12 @@ -1934,7 +1934,7 @@ gTrainers:: @ 8310030 @ NOLEN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "NOLEN$", 12 @@ -1946,7 +1946,7 @@ gTrainers:: @ 8310030 @ STAN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "STAN$", 12 @@ -1958,7 +1958,7 @@ gTrainers:: @ 8310030 @ BARRY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "BARRY$", 12 @@ -1970,7 +1970,7 @@ gTrainers:: @ 8310030 @ DEAN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "DEAN$", 12 @@ -1982,7 +1982,7 @@ gTrainers:: @ 8310030 @ RODNEY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "RODNEY$", 12 @@ -1994,7 +1994,7 @@ gTrainers:: @ 8310030 @ RICHARD .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "RICHARD$", 12 @@ -2006,7 +2006,7 @@ gTrainers:: @ 8310030 @ HERMAN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "HERMAN$", 12 @@ -2018,7 +2018,7 @@ gTrainers:: @ 8310030 @ SANTIAGO .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "SANTIAGO$", 12 @@ -2030,7 +2030,7 @@ gTrainers:: @ 8310030 @ GILBERT .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "GILBERT$", 12 @@ -2042,7 +2042,7 @@ gTrainers:: @ 8310030 @ FRANKLIN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "FRANKLIN$", 12 @@ -2054,7 +2054,7 @@ gTrainers:: @ 8310030 @ KEVIN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "KEVIN$", 12 @@ -2066,7 +2066,7 @@ gTrainers:: @ 8310030 @ JACK .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "JACK$", 12 @@ -2078,7 +2078,7 @@ gTrainers:: @ 8310030 @ DUDLEY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "DUDLEY$", 12 @@ -2090,7 +2090,7 @@ gTrainers:: @ 8310030 @ CHAD .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "CHAD$", 12 @@ -2102,7 +2102,7 @@ gTrainers:: @ 8310030 @ TONY_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "TONY$", 12 @@ -2114,7 +2114,7 @@ gTrainers:: @ 8310030 @ TONY_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "TONY$", 12 @@ -2126,7 +2126,7 @@ gTrainers:: @ 8310030 @ TONY_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "TONY$", 12 @@ -2138,7 +2138,7 @@ gTrainers:: @ 8310030 @ TONY_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "TONY$", 12 @@ -2150,7 +2150,7 @@ gTrainers:: @ 8310030 @ TAKAO .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BLACK_BELT + .byte TRAINER_CLASS_BLACK_BELT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BLACK_BELT .string "TAKAO$", 12 @@ -2162,7 +2162,7 @@ gTrainers:: @ 8310030 @ HITOSHI .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BLACK_BELT + .byte TRAINER_CLASS_BLACK_BELT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BLACK_BELT .string "HITOSHI$", 12 @@ -2174,7 +2174,7 @@ gTrainers:: @ 8310030 @ KIYO .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BLACK_BELT + .byte TRAINER_CLASS_BLACK_BELT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BLACK_BELT .string "KIYO$", 12 @@ -2186,7 +2186,7 @@ gTrainers:: @ 8310030 @ KOICHI .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BLACK_BELT + .byte TRAINER_CLASS_BLACK_BELT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BLACK_BELT .string "KOICHI$", 12 @@ -2198,7 +2198,7 @@ gTrainers:: @ 8310030 @ NOB_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BLACK_BELT + .byte TRAINER_CLASS_BLACK_BELT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BLACK_BELT .string "NOB$", 12 @@ -2210,7 +2210,7 @@ gTrainers:: @ 8310030 @ NOB_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BLACK_BELT + .byte TRAINER_CLASS_BLACK_BELT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BLACK_BELT .string "NOB$", 12 @@ -2222,7 +2222,7 @@ gTrainers:: @ 8310030 @ NOB_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BLACK_BELT + .byte TRAINER_CLASS_BLACK_BELT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BLACK_BELT .string "NOB$", 12 @@ -2234,7 +2234,7 @@ gTrainers:: @ 8310030 @ NOB_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BLACK_BELT + .byte TRAINER_CLASS_BLACK_BELT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BLACK_BELT .string "NOB$", 12 @@ -2246,7 +2246,7 @@ gTrainers:: @ 8310030 @ NOB_5 .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_BLACK_BELT + .byte TRAINER_CLASS_BLACK_BELT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BLACK_BELT .string "NOB$", 12 @@ -2258,7 +2258,7 @@ gTrainers:: @ 8310030 @ YUJI .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BLACK_BELT + .byte TRAINER_CLASS_BLACK_BELT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BLACK_BELT .string "YUJI$", 12 @@ -2270,7 +2270,7 @@ gTrainers:: @ 8310030 @ DAISUKE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BLACK_BELT + .byte TRAINER_CLASS_BLACK_BELT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BLACK_BELT .string "DAISUKE$", 12 @@ -2282,7 +2282,7 @@ gTrainers:: @ 8310030 @ ATSUSHI .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BLACK_BELT + .byte TRAINER_CLASS_BLACK_BELT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BLACK_BELT .string "ATSUSHI$", 12 @@ -2294,7 +2294,7 @@ gTrainers:: @ 8310030 @ KIRK .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_GUITARIST + .byte TRAINER_CLASS_GUITARIST .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_GUITARIST .string "KIRK$", 12 @@ -2306,7 +2306,7 @@ gTrainers:: @ 8310030 @ GRUNT_25 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_F .string "GRUNT$", 12 @@ -2318,7 +2318,7 @@ gTrainers:: @ 8310030 @ GRUNT_26 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_M .string "GRUNT$", 12 @@ -2330,7 +2330,7 @@ gTrainers:: @ 8310030 @ SHAWN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_GUITARIST + .byte TRAINER_CLASS_GUITARIST .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_GUITARIST .string "SHAWN$", 12 @@ -2342,7 +2342,7 @@ gTrainers:: @ 8310030 @ FERNANDO_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_GUITARIST + .byte TRAINER_CLASS_GUITARIST .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_GUITARIST .string "FERNANDO$", 12 @@ -2354,7 +2354,7 @@ gTrainers:: @ 8310030 @ DALTON_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_GUITARIST + .byte TRAINER_CLASS_GUITARIST .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_GUITARIST .string "DALTON$", 12 @@ -2366,7 +2366,7 @@ gTrainers:: @ 8310030 @ DALTON_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_GUITARIST + .byte TRAINER_CLASS_GUITARIST .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_GUITARIST .string "DALTON$", 12 @@ -2378,7 +2378,7 @@ gTrainers:: @ 8310030 @ DALTON_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_GUITARIST + .byte TRAINER_CLASS_GUITARIST .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_GUITARIST .string "DALTON$", 12 @@ -2390,7 +2390,7 @@ gTrainers:: @ 8310030 @ DALTON_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_GUITARIST + .byte TRAINER_CLASS_GUITARIST .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_GUITARIST .string "DALTON$", 12 @@ -2402,7 +2402,7 @@ gTrainers:: @ 8310030 @ DALTON_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_GUITARIST + .byte TRAINER_CLASS_GUITARIST .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_GUITARIST .string "DALTON$", 12 @@ -2414,7 +2414,7 @@ gTrainers:: @ 8310030 @ COLE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_KINDLER + .byte TRAINER_CLASS_KINDLER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_KINDLER .string "COLE$", 12 @@ -2426,7 +2426,7 @@ gTrainers:: @ 8310030 @ JEFF .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_KINDLER + .byte TRAINER_CLASS_KINDLER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_KINDLER .string "JEFF$", 12 @@ -2438,7 +2438,7 @@ gTrainers:: @ 8310030 @ AXLE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_KINDLER + .byte TRAINER_CLASS_KINDLER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_KINDLER .string "AXLE$", 12 @@ -2450,7 +2450,7 @@ gTrainers:: @ 8310030 @ JACE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_KINDLER + .byte TRAINER_CLASS_KINDLER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_KINDLER .string "JACE$", 12 @@ -2462,7 +2462,7 @@ gTrainers:: @ 8310030 @ KEEGAN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_KINDLER + .byte TRAINER_CLASS_KINDLER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_KINDLER .string "KEEGAN$", 12 @@ -2474,7 +2474,7 @@ gTrainers:: @ 8310030 @ BERNIE_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_KINDLER + .byte TRAINER_CLASS_KINDLER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_KINDLER .string "BERNIE$", 12 @@ -2486,7 +2486,7 @@ gTrainers:: @ 8310030 @ BERNIE_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_KINDLER + .byte TRAINER_CLASS_KINDLER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_KINDLER .string "BERNIE$", 12 @@ -2498,7 +2498,7 @@ gTrainers:: @ 8310030 @ BERNIE_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_KINDLER + .byte TRAINER_CLASS_KINDLER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_KINDLER .string "BERNIE$", 12 @@ -2510,7 +2510,7 @@ gTrainers:: @ 8310030 @ BERNIE_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_KINDLER + .byte TRAINER_CLASS_KINDLER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_KINDLER .string "BERNIE$", 12 @@ -2522,7 +2522,7 @@ gTrainers:: @ 8310030 @ BERNIE_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_KINDLER + .byte TRAINER_CLASS_KINDLER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_KINDLER .string "BERNIE$", 12 @@ -2534,7 +2534,7 @@ gTrainers:: @ 8310030 @ DREW .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_CAMPER + .byte TRAINER_CLASS_CAMPER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CAMPER .string "DREW$", 12 @@ -2546,7 +2546,7 @@ gTrainers:: @ 8310030 @ BEAU .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_CAMPER + .byte TRAINER_CLASS_CAMPER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CAMPER .string "BEAU$", 12 @@ -2558,7 +2558,7 @@ gTrainers:: @ 8310030 @ LARRY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_CAMPER + .byte TRAINER_CLASS_CAMPER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CAMPER .string "LARRY$", 12 @@ -2570,7 +2570,7 @@ gTrainers:: @ 8310030 @ SHANE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_CAMPER + .byte TRAINER_CLASS_CAMPER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CAMPER .string "SHANE$", 12 @@ -2582,7 +2582,7 @@ gTrainers:: @ 8310030 @ JUSTIN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_CAMPER + .byte TRAINER_CLASS_CAMPER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CAMPER .string "JUSTIN$", 12 @@ -2594,7 +2594,7 @@ gTrainers:: @ 8310030 @ ETHAN_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_CAMPER + .byte TRAINER_CLASS_CAMPER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CAMPER .string "ETHAN$", 12 @@ -2606,7 +2606,7 @@ gTrainers:: @ 8310030 @ AUTUMN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PICNICKER + .byte TRAINER_CLASS_PICNICKER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_PICNICKER .string "AUTUMN$", 12 @@ -2618,7 +2618,7 @@ gTrainers:: @ 8310030 @ TRAVIS .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_CAMPER + .byte TRAINER_CLASS_CAMPER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CAMPER .string "TRAVIS$", 12 @@ -2630,7 +2630,7 @@ gTrainers:: @ 8310030 @ ETHAN_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_CAMPER + .byte TRAINER_CLASS_CAMPER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CAMPER .string "ETHAN$", 12 @@ -2642,7 +2642,7 @@ gTrainers:: @ 8310030 @ ETHAN_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_CAMPER + .byte TRAINER_CLASS_CAMPER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CAMPER .string "ETHAN$", 12 @@ -2654,7 +2654,7 @@ gTrainers:: @ 8310030 @ ETHAN_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_CAMPER + .byte TRAINER_CLASS_CAMPER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CAMPER .string "ETHAN$", 12 @@ -2666,7 +2666,7 @@ gTrainers:: @ 8310030 @ ETHAN_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_CAMPER + .byte TRAINER_CLASS_CAMPER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CAMPER .string "ETHAN$", 12 @@ -2678,7 +2678,7 @@ gTrainers:: @ 8310030 @ BRENT .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BUG_MANIAC + .byte TRAINER_CLASS_BUG_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_BUG_MANIAC .string "BRENT$", 12 @@ -2690,7 +2690,7 @@ gTrainers:: @ 8310030 @ DONALD .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BUG_MANIAC + .byte TRAINER_CLASS_BUG_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_BUG_MANIAC .string "DONALD$", 12 @@ -2702,7 +2702,7 @@ gTrainers:: @ 8310030 @ TAYLOR .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BUG_MANIAC + .byte TRAINER_CLASS_BUG_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_BUG_MANIAC .string "TAYLOR$", 12 @@ -2714,7 +2714,7 @@ gTrainers:: @ 8310030 @ JEFFREY_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BUG_MANIAC + .byte TRAINER_CLASS_BUG_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_BUG_MANIAC .string "JEFFREY$", 12 @@ -2726,7 +2726,7 @@ gTrainers:: @ 8310030 @ DEREK .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BUG_MANIAC + .byte TRAINER_CLASS_BUG_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_BUG_MANIAC .string "DEREK$", 12 @@ -2738,7 +2738,7 @@ gTrainers:: @ 8310030 @ JEFFREY_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BUG_MANIAC + .byte TRAINER_CLASS_BUG_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_BUG_MANIAC .string "JEFFREY$", 12 @@ -2750,7 +2750,7 @@ gTrainers:: @ 8310030 @ JEFFREY_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BUG_MANIAC + .byte TRAINER_CLASS_BUG_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_BUG_MANIAC .string "JEFFREY$", 12 @@ -2762,7 +2762,7 @@ gTrainers:: @ 8310030 @ JEFFREY_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BUG_MANIAC + .byte TRAINER_CLASS_BUG_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_BUG_MANIAC .string "JEFFREY$", 12 @@ -2774,7 +2774,7 @@ gTrainers:: @ 8310030 @ JEFFREY_5 .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_BUG_MANIAC + .byte TRAINER_CLASS_BUG_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_BUG_MANIAC .string "JEFFREY$", 12 @@ -2786,7 +2786,7 @@ gTrainers:: @ 8310030 @ EDWARD .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_M .string "EDWARD$", 12 @@ -2798,7 +2798,7 @@ gTrainers:: @ 8310030 @ PRESTON .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_M .string "PRESTON$", 12 @@ -2810,7 +2810,7 @@ gTrainers:: @ 8310030 @ VIRGIL .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_M .string "VIRGIL$", 12 @@ -2822,7 +2822,7 @@ gTrainers:: @ 8310030 @ BLAKE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_M .string "BLAKE$", 12 @@ -2834,7 +2834,7 @@ gTrainers:: @ 8310030 @ WILLIAM .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_M .string "WILLIAM$", 12 @@ -2846,7 +2846,7 @@ gTrainers:: @ 8310030 @ JOSHUA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_M .string "JOSHUA$", 12 @@ -2858,7 +2858,7 @@ gTrainers:: @ 8310030 @ CAMERON_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_M .string "CAMERON$", 12 @@ -2870,7 +2870,7 @@ gTrainers:: @ 8310030 @ CAMERON_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_M .string "CAMERON$", 12 @@ -2882,7 +2882,7 @@ gTrainers:: @ 8310030 @ CAMERON_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_M .string "CAMERON$", 12 @@ -2894,7 +2894,7 @@ gTrainers:: @ 8310030 @ CAMERON_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_M .string "CAMERON$", 12 @@ -2906,7 +2906,7 @@ gTrainers:: @ 8310030 @ CAMERON_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_M .string "CAMERON$", 12 @@ -2918,7 +2918,7 @@ gTrainers:: @ 8310030 @ JACLYN .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_F .string "JACLYN$", 12 @@ -2930,7 +2930,7 @@ gTrainers:: @ 8310030 @ HANNAH .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_F .string "HANNAH$", 12 @@ -2942,7 +2942,7 @@ gTrainers:: @ 8310030 @ SAMANTHA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_F .string "SAMANTHA$", 12 @@ -2954,7 +2954,7 @@ gTrainers:: @ 8310030 @ MAURA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_F .string "MAURA$", 12 @@ -2966,7 +2966,7 @@ gTrainers:: @ 8310030 @ KAYLA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_F .string "KAYLA$", 12 @@ -2978,7 +2978,7 @@ gTrainers:: @ 8310030 @ ALEXIS .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_F .string "ALEXIS$", 12 @@ -2990,7 +2990,7 @@ gTrainers:: @ 8310030 @ JACKI_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_F .string "JACKI$", 12 @@ -3002,7 +3002,7 @@ gTrainers:: @ 8310030 @ JACKI_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_F .string "JACKI$", 12 @@ -3014,7 +3014,7 @@ gTrainers:: @ 8310030 @ JACKI_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_F .string "JACKI$", 12 @@ -3026,7 +3026,7 @@ gTrainers:: @ 8310030 @ JACKI_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_F .string "JACKI$", 12 @@ -3038,7 +3038,7 @@ gTrainers:: @ 8310030 @ JACKI_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_F .string "JACKI$", 12 @@ -3050,7 +3050,7 @@ gTrainers:: @ 8310030 @ WALTER_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_GENTLEMAN + .byte TRAINER_CLASS_GENTLEMAN .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music .byte TRAINER_PIC_GENTLEMAN .string "WALTER$", 12 @@ -3062,7 +3062,7 @@ gTrainers:: @ 8310030 @ MICAH .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_GENTLEMAN + .byte TRAINER_CLASS_GENTLEMAN .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music .byte TRAINER_PIC_GENTLEMAN .string "MICAH$", 12 @@ -3074,7 +3074,7 @@ gTrainers:: @ 8310030 @ THOMAS .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_GENTLEMAN + .byte TRAINER_CLASS_GENTLEMAN .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music .byte TRAINER_PIC_GENTLEMAN .string "THOMAS$", 12 @@ -3086,7 +3086,7 @@ gTrainers:: @ 8310030 @ WALTER_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_GENTLEMAN + .byte TRAINER_CLASS_GENTLEMAN .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music .byte TRAINER_PIC_GENTLEMAN .string "WALTER$", 12 @@ -3098,7 +3098,7 @@ gTrainers:: @ 8310030 @ WALTER_3 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_GENTLEMAN + .byte TRAINER_CLASS_GENTLEMAN .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music .byte TRAINER_PIC_GENTLEMAN .string "WALTER$", 12 @@ -3110,7 +3110,7 @@ gTrainers:: @ 8310030 @ WALTER_4 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_GENTLEMAN + .byte TRAINER_CLASS_GENTLEMAN .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music .byte TRAINER_PIC_GENTLEMAN .string "WALTER$", 12 @@ -3122,7 +3122,7 @@ gTrainers:: @ 8310030 @ WALTER_5 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_GENTLEMAN + .byte TRAINER_CLASS_GENTLEMAN .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music .byte TRAINER_PIC_GENTLEMAN .string "WALTER$", 12 @@ -3134,7 +3134,7 @@ gTrainers:: @ 8310030 @ SIDNEY .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_ELITE_FOUR + .byte TRAINER_CLASS_ELITE_FOUR .byte TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR @ gender flag and encounter music .byte TRAINER_PIC_ELITE_FOUR_SIDNEY .string "SIDNEY$", 12 @@ -3146,7 +3146,7 @@ gTrainers:: @ 8310030 @ PHOEBE .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_ELITE_FOUR + .byte TRAINER_CLASS_ELITE_FOUR .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR @ gender flag and encounter music .byte TRAINER_PIC_ELITE_FOUR_PHOEBE .string "PHOEBE$", 12 @@ -3158,7 +3158,7 @@ gTrainers:: @ 8310030 @ GLACIA .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_ELITE_FOUR + .byte TRAINER_CLASS_ELITE_FOUR .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR @ gender flag and encounter music .byte TRAINER_PIC_ELITE_FOUR_GLACIA .string "GLACIA$", 12 @@ -3170,7 +3170,7 @@ gTrainers:: @ 8310030 @ DRAKE .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_ELITE_FOUR + .byte TRAINER_CLASS_ELITE_FOUR .byte TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR @ gender flag and encounter music .byte TRAINER_PIC_ELITE_FOUR_DRAKE .string "DRAKE$", 12 @@ -3182,7 +3182,7 @@ gTrainers:: @ 8310030 @ ROXANNE_1 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_ROXANNE .string "ROXANNE$", 12 @@ -3194,7 +3194,7 @@ gTrainers:: @ 8310030 @ BRAWLY_1 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_BRAWLY .string "BRAWLY$", 12 @@ -3206,7 +3206,7 @@ gTrainers:: @ 8310030 @ WATTSON_1 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_WATTSON .string "WATTSON$", 12 @@ -3218,7 +3218,7 @@ gTrainers:: @ 8310030 @ FLANNERY_1 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_FLANNERY .string "FLANNERY$", 12 @@ -3230,7 +3230,7 @@ gTrainers:: @ 8310030 @ NORMAN_1 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_NORMAN .string "NORMAN$", 12 @@ -3242,7 +3242,7 @@ gTrainers:: @ 8310030 @ WINONA_1 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_WINONA .string "WINONA$", 12 @@ -3254,7 +3254,7 @@ gTrainers:: @ 8310030 @ TATE_AND_LIZA_1 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_TATE_AND_LIZA .string "TATE&LIZA$", 12 @@ -3266,7 +3266,7 @@ gTrainers:: @ 8310030 @ JUAN_1 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_JUAN .string "JUAN$", 12 @@ -3278,7 +3278,7 @@ gTrainers:: @ 8310030 @ JERRY_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SCHOOL_KID + .byte TRAINER_CLASS_SCHOOL_KID .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SCHOOL_KID_M .string "JERRY$", 12 @@ -3290,7 +3290,7 @@ gTrainers:: @ 8310030 @ TED .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SCHOOL_KID + .byte TRAINER_CLASS_SCHOOL_KID .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SCHOOL_KID_M .string "TED$", 12 @@ -3302,7 +3302,7 @@ gTrainers:: @ 8310030 @ PAUL .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SCHOOL_KID + .byte TRAINER_CLASS_SCHOOL_KID .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SCHOOL_KID_M .string "PAUL$", 12 @@ -3314,7 +3314,7 @@ gTrainers:: @ 8310030 @ JERRY_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SCHOOL_KID + .byte TRAINER_CLASS_SCHOOL_KID .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SCHOOL_KID_M .string "JERRY$", 12 @@ -3326,7 +3326,7 @@ gTrainers:: @ 8310030 @ JERRY_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SCHOOL_KID + .byte TRAINER_CLASS_SCHOOL_KID .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SCHOOL_KID_M .string "JERRY$", 12 @@ -3338,7 +3338,7 @@ gTrainers:: @ 8310030 @ JERRY_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SCHOOL_KID + .byte TRAINER_CLASS_SCHOOL_KID .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SCHOOL_KID_M .string "JERRY$", 12 @@ -3350,7 +3350,7 @@ gTrainers:: @ 8310030 @ JERRY_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SCHOOL_KID + .byte TRAINER_CLASS_SCHOOL_KID .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SCHOOL_KID_M .string "JERRY$", 12 @@ -3362,7 +3362,7 @@ gTrainers:: @ 8310030 @ KAREN_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SCHOOL_KID + .byte TRAINER_CLASS_SCHOOL_KID .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_SCHOOL_KID_F .string "KAREN$", 12 @@ -3374,7 +3374,7 @@ gTrainers:: @ 8310030 @ GEORGIA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SCHOOL_KID + .byte TRAINER_CLASS_SCHOOL_KID .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_SCHOOL_KID_F .string "GEORGIA$", 12 @@ -3386,7 +3386,7 @@ gTrainers:: @ 8310030 @ KAREN_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SCHOOL_KID + .byte TRAINER_CLASS_SCHOOL_KID .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_SCHOOL_KID_F .string "KAREN$", 12 @@ -3398,7 +3398,7 @@ gTrainers:: @ 8310030 @ KAREN_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SCHOOL_KID + .byte TRAINER_CLASS_SCHOOL_KID .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_SCHOOL_KID_F .string "KAREN$", 12 @@ -3410,7 +3410,7 @@ gTrainers:: @ 8310030 @ KAREN_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SCHOOL_KID + .byte TRAINER_CLASS_SCHOOL_KID .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_SCHOOL_KID_F .string "KAREN$", 12 @@ -3422,7 +3422,7 @@ gTrainers:: @ 8310030 @ KAREN_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SCHOOL_KID + .byte TRAINER_CLASS_SCHOOL_KID .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_SCHOOL_KID_F .string "KAREN$", 12 @@ -3434,7 +3434,7 @@ gTrainers:: @ 8310030 @ KATE_AND_JOY .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_SR_AND_JR + .byte TRAINER_CLASS_SR_AND_JR .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_SR_AND_JR .string "KATE & JOY$", 12 @@ -3446,7 +3446,7 @@ gTrainers:: @ 8310030 @ ANNA_AND_MEG_1 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_SR_AND_JR + .byte TRAINER_CLASS_SR_AND_JR .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_SR_AND_JR .string "ANNA & MEG$", 12 @@ -3458,7 +3458,7 @@ gTrainers:: @ 8310030 @ ANNA_AND_MEG_2 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_SR_AND_JR + .byte TRAINER_CLASS_SR_AND_JR .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_SR_AND_JR .string "ANNA & MEG$", 12 @@ -3470,7 +3470,7 @@ gTrainers:: @ 8310030 @ ANNA_AND_MEG_3 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_SR_AND_JR + .byte TRAINER_CLASS_SR_AND_JR .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_SR_AND_JR .string "ANNA & MEG$", 12 @@ -3482,7 +3482,7 @@ gTrainers:: @ 8310030 @ ANNA_AND_MEG_4 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_SR_AND_JR + .byte TRAINER_CLASS_SR_AND_JR .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_SR_AND_JR .string "ANNA & MEG$", 12 @@ -3494,7 +3494,7 @@ gTrainers:: @ 8310030 @ ANNA_AND_MEG_5 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_SR_AND_JR + .byte TRAINER_CLASS_SR_AND_JR .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_SR_AND_JR .string "ANNA & MEG$", 12 @@ -3506,7 +3506,7 @@ gTrainers:: @ 8310030 @ VICTOR .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_WINSTRATE + .byte TRAINER_CLASS_WINSTRATE .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_WINSTRATE_M .string "VICTOR$", 12 @@ -3518,7 +3518,7 @@ gTrainers:: @ 8310030 @ MIGUEL_1 .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_POKEFAN + .byte TRAINER_CLASS_POKEFAN .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_WINSTRATE_M .string "MIGUEL$", 12 @@ -3530,7 +3530,7 @@ gTrainers:: @ 8310030 @ COLTON .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_POKEFAN + .byte TRAINER_CLASS_POKEFAN .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_WINSTRATE_M .string "COLTON$", 12 @@ -3542,7 +3542,7 @@ gTrainers:: @ 8310030 @ MIGUEL_2 .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_POKEFAN + .byte TRAINER_CLASS_POKEFAN .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_WINSTRATE_M .string "MIGUEL$", 12 @@ -3554,7 +3554,7 @@ gTrainers:: @ 8310030 @ MIGUEL_3 .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_POKEFAN + .byte TRAINER_CLASS_POKEFAN .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_WINSTRATE_M .string "MIGUEL$", 12 @@ -3566,7 +3566,7 @@ gTrainers:: @ 8310030 @ MIGUEL_4 .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_POKEFAN + .byte TRAINER_CLASS_POKEFAN .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_WINSTRATE_M .string "MIGUEL$", 12 @@ -3578,7 +3578,7 @@ gTrainers:: @ 8310030 @ MIGUEL_5 .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_POKEFAN + .byte TRAINER_CLASS_POKEFAN .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_WINSTRATE_M .string "MIGUEL$", 12 @@ -3590,7 +3590,7 @@ gTrainers:: @ 8310030 @ VICTORIA .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_WINSTRATE + .byte TRAINER_CLASS_WINSTRATE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_WINSTRATE_F .string "VICTORIA$", 12 @@ -3602,7 +3602,7 @@ gTrainers:: @ 8310030 @ VANESSA .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_POKEFAN + .byte TRAINER_CLASS_POKEFAN .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_WINSTRATE_F .string "VANESSA$", 12 @@ -3614,7 +3614,7 @@ gTrainers:: @ 8310030 @ BETHANY .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_POKEFAN + .byte TRAINER_CLASS_POKEFAN .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_WINSTRATE_F .string "BETHANY$", 12 @@ -3626,7 +3626,7 @@ gTrainers:: @ 8310030 @ ISABEL_1 .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_POKEFAN + .byte TRAINER_CLASS_POKEFAN .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_WINSTRATE_F .string "ISABEL$", 12 @@ -3638,7 +3638,7 @@ gTrainers:: @ 8310030 @ ISABEL_2 .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_POKEFAN + .byte TRAINER_CLASS_POKEFAN .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_WINSTRATE_F .string "ISABEL$", 12 @@ -3650,7 +3650,7 @@ gTrainers:: @ 8310030 @ ISABEL_3 .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_POKEFAN + .byte TRAINER_CLASS_POKEFAN .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_WINSTRATE_F .string "ISABEL$", 12 @@ -3662,7 +3662,7 @@ gTrainers:: @ 8310030 @ ISABEL_4 .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_POKEFAN + .byte TRAINER_CLASS_POKEFAN .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_WINSTRATE_F .string "ISABEL$", 12 @@ -3674,7 +3674,7 @@ gTrainers:: @ 8310030 @ ISABEL_5 .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_POKEFAN + .byte TRAINER_CLASS_POKEFAN .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_WINSTRATE_F .string "ISABEL$", 12 @@ -3686,7 +3686,7 @@ gTrainers:: @ 8310030 @ TIMOTHY_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_EXPERT + .byte TRAINER_CLASS_EXPERT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_EXPERT_M .string "TIMOTHY$", 12 @@ -3698,7 +3698,7 @@ gTrainers:: @ 8310030 @ TIMOTHY_2 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_EXPERT + .byte TRAINER_CLASS_EXPERT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_EXPERT_M .string "TIMOTHY$", 12 @@ -3710,7 +3710,7 @@ gTrainers:: @ 8310030 @ TIMOTHY_3 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_EXPERT + .byte TRAINER_CLASS_EXPERT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_EXPERT_M .string "TIMOTHY$", 12 @@ -3722,7 +3722,7 @@ gTrainers:: @ 8310030 @ TIMOTHY_4 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_EXPERT + .byte TRAINER_CLASS_EXPERT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_EXPERT_M .string "TIMOTHY$", 12 @@ -3734,7 +3734,7 @@ gTrainers:: @ 8310030 @ TIMOTHY_5 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_EXPERT + .byte TRAINER_CLASS_EXPERT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_EXPERT_M .string "TIMOTHY$", 12 @@ -3746,7 +3746,7 @@ gTrainers:: @ 8310030 @ VICKY .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_WINSTRATE + .byte TRAINER_CLASS_WINSTRATE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_EXPERT_F .string "VICKY$", 12 @@ -3758,7 +3758,7 @@ gTrainers:: @ 8310030 @ SHELBY_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_EXPERT + .byte TRAINER_CLASS_EXPERT .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_EXPERT_F .string "SHELBY$", 12 @@ -3770,7 +3770,7 @@ gTrainers:: @ 8310030 @ SHELBY_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_EXPERT + .byte TRAINER_CLASS_EXPERT .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_EXPERT_F .string "SHELBY$", 12 @@ -3782,7 +3782,7 @@ gTrainers:: @ 8310030 @ SHELBY_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_EXPERT + .byte TRAINER_CLASS_EXPERT .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_EXPERT_F .string "SHELBY$", 12 @@ -3794,7 +3794,7 @@ gTrainers:: @ 8310030 @ SHELBY_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_EXPERT + .byte TRAINER_CLASS_EXPERT .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_EXPERT_F .string "SHELBY$", 12 @@ -3806,7 +3806,7 @@ gTrainers:: @ 8310030 @ SHELBY_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_EXPERT + .byte TRAINER_CLASS_EXPERT .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_EXPERT_F .string "SHELBY$", 12 @@ -3818,7 +3818,7 @@ gTrainers:: @ 8310030 @ CALVIN_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNGSTER + .byte TRAINER_CLASS_YOUNGSTER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_YOUNGSTER .string "CALVIN$", 12 @@ -3830,7 +3830,7 @@ gTrainers:: @ 8310030 @ BILLY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNGSTER + .byte TRAINER_CLASS_YOUNGSTER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_YOUNGSTER .string "BILLY$", 12 @@ -3842,7 +3842,7 @@ gTrainers:: @ 8310030 @ JOSH .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_YOUNGSTER + .byte TRAINER_CLASS_YOUNGSTER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_YOUNGSTER .string "JOSH$", 12 @@ -3854,7 +3854,7 @@ gTrainers:: @ 8310030 @ TOMMY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNGSTER + .byte TRAINER_CLASS_YOUNGSTER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_YOUNGSTER .string "TOMMY$", 12 @@ -3866,7 +3866,7 @@ gTrainers:: @ 8310030 @ JOEY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNGSTER + .byte TRAINER_CLASS_YOUNGSTER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_YOUNGSTER .string "JOEY$", 12 @@ -3878,7 +3878,7 @@ gTrainers:: @ 8310030 @ BEN .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_YOUNGSTER + .byte TRAINER_CLASS_YOUNGSTER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_YOUNGSTER .string "BEN$", 12 @@ -3890,7 +3890,7 @@ gTrainers:: @ 8310030 @ QUINCY .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "QUINCY$", 12 @@ -3902,7 +3902,7 @@ gTrainers:: @ 8310030 @ KATELYNN .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "KATELYNN$", 12 @@ -3914,7 +3914,7 @@ gTrainers:: @ 8310030 @ JAYLEN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNGSTER + .byte TRAINER_CLASS_YOUNGSTER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_YOUNGSTER .string "JAYLEN$", 12 @@ -3926,7 +3926,7 @@ gTrainers:: @ 8310030 @ DILLON .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNGSTER + .byte TRAINER_CLASS_YOUNGSTER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_YOUNGSTER .string "DILLON$", 12 @@ -3938,7 +3938,7 @@ gTrainers:: @ 8310030 @ CALVIN_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNGSTER + .byte TRAINER_CLASS_YOUNGSTER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_YOUNGSTER .string "CALVIN$", 12 @@ -3950,7 +3950,7 @@ gTrainers:: @ 8310030 @ CALVIN_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNGSTER + .byte TRAINER_CLASS_YOUNGSTER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_YOUNGSTER .string "CALVIN$", 12 @@ -3962,7 +3962,7 @@ gTrainers:: @ 8310030 @ CALVIN_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNGSTER + .byte TRAINER_CLASS_YOUNGSTER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_YOUNGSTER .string "CALVIN$", 12 @@ -3974,7 +3974,7 @@ gTrainers:: @ 8310030 @ CALVIN_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNGSTER + .byte TRAINER_CLASS_YOUNGSTER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_YOUNGSTER .string "CALVIN$", 12 @@ -3986,7 +3986,7 @@ gTrainers:: @ 8310030 @ EDDIE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNGSTER + .byte TRAINER_CLASS_YOUNGSTER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_YOUNGSTER .string "EDDIE$", 12 @@ -3998,7 +3998,7 @@ gTrainers:: @ 8310030 @ ALLEN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNGSTER + .byte TRAINER_CLASS_YOUNGSTER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_YOUNGSTER .string "ALLEN$", 12 @@ -4010,7 +4010,7 @@ gTrainers:: @ 8310030 @ TIMMY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNGSTER + .byte TRAINER_CLASS_YOUNGSTER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_YOUNGSTER .string "TIMMY$", 12 @@ -4022,7 +4022,7 @@ gTrainers:: @ 8310030 @ WALLACE .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_CHAMPION + .byte TRAINER_CLASS_CHAMPION .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CHAMPION_WALLACE .string "WALLACE$", 12 @@ -4034,7 +4034,7 @@ gTrainers:: @ 8310030 @ ANDREW .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "ANDREW$", 12 @@ -4046,7 +4046,7 @@ gTrainers:: @ 8310030 @ IVAN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "IVAN$", 12 @@ -4058,7 +4058,7 @@ gTrainers:: @ 8310030 @ CLAUDE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "CLAUDE$", 12 @@ -4070,7 +4070,7 @@ gTrainers:: @ 8310030 @ ELLIOT_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "ELLIOT$", 12 @@ -4082,7 +4082,7 @@ gTrainers:: @ 8310030 @ NED .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "NED$", 12 @@ -4094,7 +4094,7 @@ gTrainers:: @ 8310030 @ DALE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "DALE$", 12 @@ -4106,7 +4106,7 @@ gTrainers:: @ 8310030 @ NOLAN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "NOLAN$", 12 @@ -4118,7 +4118,7 @@ gTrainers:: @ 8310030 @ BARNY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "BARNY$", 12 @@ -4130,7 +4130,7 @@ gTrainers:: @ 8310030 @ WADE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "WADE$", 12 @@ -4142,7 +4142,7 @@ gTrainers:: @ 8310030 @ CARTER .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "CARTER$", 12 @@ -4154,7 +4154,7 @@ gTrainers:: @ 8310030 @ ELLIOT_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "ELLIOT$", 12 @@ -4166,7 +4166,7 @@ gTrainers:: @ 8310030 @ ELLIOT_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "ELLIOT$", 12 @@ -4178,7 +4178,7 @@ gTrainers:: @ 8310030 @ ELLIOT_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "ELLIOT$", 12 @@ -4190,7 +4190,7 @@ gTrainers:: @ 8310030 @ ELLIOT_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "ELLIOT$", 12 @@ -4202,7 +4202,7 @@ gTrainers:: @ 8310030 @ RONALD .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "RONALD$", 12 @@ -4214,7 +4214,7 @@ gTrainers:: @ 8310030 @ JACOB .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CYCLING_TRIATHLETE_M .string "JACOB$", 12 @@ -4226,7 +4226,7 @@ gTrainers:: @ 8310030 @ ANTHONY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CYCLING_TRIATHLETE_M .string "ANTHONY$", 12 @@ -4238,7 +4238,7 @@ gTrainers:: @ 8310030 @ BENJAMIN_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CYCLING_TRIATHLETE_M .string "BENJAMIN$", 12 @@ -4250,7 +4250,7 @@ gTrainers:: @ 8310030 @ BENJAMIN_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CYCLING_TRIATHLETE_M .string "BENJAMIN$", 12 @@ -4262,7 +4262,7 @@ gTrainers:: @ 8310030 @ BENJAMIN_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CYCLING_TRIATHLETE_M .string "BENJAMIN$", 12 @@ -4274,7 +4274,7 @@ gTrainers:: @ 8310030 @ BENJAMIN_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CYCLING_TRIATHLETE_M .string "BENJAMIN$", 12 @@ -4286,7 +4286,7 @@ gTrainers:: @ 8310030 @ BENJAMIN_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CYCLING_TRIATHLETE_M .string "BENJAMIN$", 12 @@ -4298,7 +4298,7 @@ gTrainers:: @ 8310030 @ ABIGAIL_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_CYCLING_TRIATHLETE_F .string "ABIGAIL$", 12 @@ -4310,7 +4310,7 @@ gTrainers:: @ 8310030 @ JASMINE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_CYCLING_TRIATHLETE_F .string "JASMINE$", 12 @@ -4322,7 +4322,7 @@ gTrainers:: @ 8310030 @ ABIGAIL_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_CYCLING_TRIATHLETE_F .string "ABIGAIL$", 12 @@ -4334,7 +4334,7 @@ gTrainers:: @ 8310030 @ ABIGAIL_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_CYCLING_TRIATHLETE_F .string "ABIGAIL$", 12 @@ -4346,7 +4346,7 @@ gTrainers:: @ 8310030 @ ABIGAIL_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_CYCLING_TRIATHLETE_F .string "ABIGAIL$", 12 @@ -4358,7 +4358,7 @@ gTrainers:: @ 8310030 @ ABIGAIL_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_CYCLING_TRIATHLETE_F .string "ABIGAIL$", 12 @@ -4370,7 +4370,7 @@ gTrainers:: @ 8310030 @ DYLAN_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_RUNNING_TRIATHLETE_M .string "DYLAN$", 12 @@ -4382,7 +4382,7 @@ gTrainers:: @ 8310030 @ DYLAN_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_RUNNING_TRIATHLETE_M .string "DYLAN$", 12 @@ -4394,7 +4394,7 @@ gTrainers:: @ 8310030 @ DYLAN_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_RUNNING_TRIATHLETE_M .string "DYLAN$", 12 @@ -4406,7 +4406,7 @@ gTrainers:: @ 8310030 @ DYLAN_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_RUNNING_TRIATHLETE_M .string "DYLAN$", 12 @@ -4418,7 +4418,7 @@ gTrainers:: @ 8310030 @ DYLAN_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_RUNNING_TRIATHLETE_M .string "DYLAN$", 12 @@ -4430,7 +4430,7 @@ gTrainers:: @ 8310030 @ MARIA_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_RUNNING_TRIATHLETE_F .string "MARIA$", 12 @@ -4442,7 +4442,7 @@ gTrainers:: @ 8310030 @ MARIA_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_RUNNING_TRIATHLETE_F .string "MARIA$", 12 @@ -4454,7 +4454,7 @@ gTrainers:: @ 8310030 @ MARIA_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_RUNNING_TRIATHLETE_F .string "MARIA$", 12 @@ -4466,7 +4466,7 @@ gTrainers:: @ 8310030 @ MARIA_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_RUNNING_TRIATHLETE_F .string "MARIA$", 12 @@ -4478,7 +4478,7 @@ gTrainers:: @ 8310030 @ MARIA_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_RUNNING_TRIATHLETE_F .string "MARIA$", 12 @@ -4490,7 +4490,7 @@ gTrainers:: @ 8310030 @ CAMDEN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M .string "CAMDEN$", 12 @@ -4502,7 +4502,7 @@ gTrainers:: @ 8310030 @ DEMETRIUS .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNGSTER + .byte TRAINER_CLASS_YOUNGSTER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_YOUNGSTER .string "DEMETRIUS$", 12 @@ -4514,7 +4514,7 @@ gTrainers:: @ 8310030 @ ISAIAH_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M .string "ISAIAH$", 12 @@ -4526,7 +4526,7 @@ gTrainers:: @ 8310030 @ PABLO_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M .string "PABLO$", 12 @@ -4538,7 +4538,7 @@ gTrainers:: @ 8310030 @ CHASE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M .string "CHASE$", 12 @@ -4550,7 +4550,7 @@ gTrainers:: @ 8310030 @ ISAIAH_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M .string "ISAIAH$", 12 @@ -4562,7 +4562,7 @@ gTrainers:: @ 8310030 @ ISAIAH_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M .string "ISAIAH$", 12 @@ -4574,7 +4574,7 @@ gTrainers:: @ 8310030 @ ISAIAH_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M .string "ISAIAH$", 12 @@ -4586,7 +4586,7 @@ gTrainers:: @ 8310030 @ ISAIAH_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M .string "ISAIAH$", 12 @@ -4598,7 +4598,7 @@ gTrainers:: @ 8310030 @ ISOBEL .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_F .string "ISOBEL$", 12 @@ -4610,7 +4610,7 @@ gTrainers:: @ 8310030 @ DONNY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_F .string "DONNY$", 12 @@ -4622,7 +4622,7 @@ gTrainers:: @ 8310030 @ TALIA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_F .string "TALIA$", 12 @@ -4634,7 +4634,7 @@ gTrainers:: @ 8310030 @ KATELYN_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_F .string "KATELYN$", 12 @@ -4646,7 +4646,7 @@ gTrainers:: @ 8310030 @ ALLISON .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_F .string "ALLISON$", 12 @@ -4658,7 +4658,7 @@ gTrainers:: @ 8310030 @ KATELYN_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_F .string "KATELYN$", 12 @@ -4670,7 +4670,7 @@ gTrainers:: @ 8310030 @ KATELYN_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_F .string "KATELYN$", 12 @@ -4682,7 +4682,7 @@ gTrainers:: @ 8310030 @ KATELYN_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_F .string "KATELYN$", 12 @@ -4694,7 +4694,7 @@ gTrainers:: @ 8310030 @ KATELYN_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_F .string "KATELYN$", 12 @@ -4706,7 +4706,7 @@ gTrainers:: @ 8310030 @ NICOLAS_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_DRAGON_TAMER + .byte TRAINER_CLASS_DRAGON_TAMER .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_DRAGON_TAMER .string "NICOLAS$", 12 @@ -4718,7 +4718,7 @@ gTrainers:: @ 8310030 @ NICOLAS_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_DRAGON_TAMER + .byte TRAINER_CLASS_DRAGON_TAMER .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_DRAGON_TAMER .string "NICOLAS$", 12 @@ -4730,7 +4730,7 @@ gTrainers:: @ 8310030 @ NICOLAS_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_DRAGON_TAMER + .byte TRAINER_CLASS_DRAGON_TAMER .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_DRAGON_TAMER .string "NICOLAS$", 12 @@ -4742,7 +4742,7 @@ gTrainers:: @ 8310030 @ NICOLAS_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_DRAGON_TAMER + .byte TRAINER_CLASS_DRAGON_TAMER .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_DRAGON_TAMER .string "NICOLAS$", 12 @@ -4754,7 +4754,7 @@ gTrainers:: @ 8310030 @ NICOLAS_5 .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_DRAGON_TAMER + .byte TRAINER_CLASS_DRAGON_TAMER .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_DRAGON_TAMER .string "NICOLAS$", 12 @@ -4766,7 +4766,7 @@ gTrainers:: @ 8310030 @ AARON .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_DRAGON_TAMER + .byte TRAINER_CLASS_DRAGON_TAMER .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_DRAGON_TAMER .string "AARON$", 12 @@ -4778,7 +4778,7 @@ gTrainers:: @ 8310030 @ PERRY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "PERRY$", 12 @@ -4790,7 +4790,7 @@ gTrainers:: @ 8310030 @ HUGH .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "HUGH$", 12 @@ -4802,7 +4802,7 @@ gTrainers:: @ 8310030 @ PHIL .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "PHIL$", 12 @@ -4814,7 +4814,7 @@ gTrainers:: @ 8310030 @ JARED .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "JARED$", 12 @@ -4826,7 +4826,7 @@ gTrainers:: @ 8310030 @ HUMBERTO .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "HUMBERTO$", 12 @@ -4838,7 +4838,7 @@ gTrainers:: @ 8310030 @ PRESLEY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "PRESLEY$", 12 @@ -4850,7 +4850,7 @@ gTrainers:: @ 8310030 @ EDWARDO .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "EDWARDO$", 12 @@ -4862,7 +4862,7 @@ gTrainers:: @ 8310030 @ COLIN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "COLIN$", 12 @@ -4874,7 +4874,7 @@ gTrainers:: @ 8310030 @ ROBERT_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "ROBERT$", 12 @@ -4886,7 +4886,7 @@ gTrainers:: @ 8310030 @ BENNY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "BENNY$", 12 @@ -4898,7 +4898,7 @@ gTrainers:: @ 8310030 @ CHESTER .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "CHESTER$", 12 @@ -4910,7 +4910,7 @@ gTrainers:: @ 8310030 @ ROBERT_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "ROBERT$", 12 @@ -4922,7 +4922,7 @@ gTrainers:: @ 8310030 @ ROBERT_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "ROBERT$", 12 @@ -4934,7 +4934,7 @@ gTrainers:: @ 8310030 @ ROBERT_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "ROBERT$", 12 @@ -4946,7 +4946,7 @@ gTrainers:: @ 8310030 @ ROBERT_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "ROBERT$", 12 @@ -4958,7 +4958,7 @@ gTrainers:: @ 8310030 @ ALEX .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "ALEX$", 12 @@ -4970,7 +4970,7 @@ gTrainers:: @ 8310030 @ BECK .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "BECK$", 12 @@ -4982,7 +4982,7 @@ gTrainers:: @ 8310030 @ YASU .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_NINJA_BOY + .byte TRAINER_CLASS_NINJA_BOY .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_NINJA_BOY .string "YASU$", 12 @@ -4994,7 +4994,7 @@ gTrainers:: @ 8310030 @ TAKASHI .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_NINJA_BOY + .byte TRAINER_CLASS_NINJA_BOY .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_NINJA_BOY .string "TAKASHI$", 12 @@ -5006,7 +5006,7 @@ gTrainers:: @ 8310030 @ DIANNE .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "DIANNE$", 12 @@ -5018,7 +5018,7 @@ gTrainers:: @ 8310030 @ JANI .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TUBER_1 + .byte TRAINER_CLASS_TUBER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_TUBER_F .string "JANI$", 12 @@ -5030,7 +5030,7 @@ gTrainers:: @ 8310030 @ LAO_1 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_NINJA_BOY + .byte TRAINER_CLASS_NINJA_BOY .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_NINJA_BOY .string "LAO$", 12 @@ -5042,7 +5042,7 @@ gTrainers:: @ 8310030 @ LUNG .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_NINJA_BOY + .byte TRAINER_CLASS_NINJA_BOY .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_NINJA_BOY .string "LUNG$", 12 @@ -5054,7 +5054,7 @@ gTrainers:: @ 8310030 @ LAO_2 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_NINJA_BOY + .byte TRAINER_CLASS_NINJA_BOY .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_NINJA_BOY .string "LAO$", 12 @@ -5066,7 +5066,7 @@ gTrainers:: @ 8310030 @ LAO_3 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_NINJA_BOY + .byte TRAINER_CLASS_NINJA_BOY .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_NINJA_BOY .string "LAO$", 12 @@ -5078,7 +5078,7 @@ gTrainers:: @ 8310030 @ LAO_4 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_NINJA_BOY + .byte TRAINER_CLASS_NINJA_BOY .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_NINJA_BOY .string "LAO$", 12 @@ -5090,7 +5090,7 @@ gTrainers:: @ 8310030 @ LAO_5 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_NINJA_BOY + .byte TRAINER_CLASS_NINJA_BOY .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_NINJA_BOY .string "LAO$", 12 @@ -5102,7 +5102,7 @@ gTrainers:: @ 8310030 @ JOCELYN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BATTLE_GIRL + .byte TRAINER_CLASS_BATTLE_GIRL .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BATTLE_GIRL .string "JOCELYN$", 12 @@ -5114,7 +5114,7 @@ gTrainers:: @ 8310030 @ LAURA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BATTLE_GIRL + .byte TRAINER_CLASS_BATTLE_GIRL .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BATTLE_GIRL .string "LAURA$", 12 @@ -5126,7 +5126,7 @@ gTrainers:: @ 8310030 @ CYNDY_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BATTLE_GIRL + .byte TRAINER_CLASS_BATTLE_GIRL .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BATTLE_GIRL .string "CYNDY$", 12 @@ -5138,7 +5138,7 @@ gTrainers:: @ 8310030 @ CORA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BATTLE_GIRL + .byte TRAINER_CLASS_BATTLE_GIRL .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BATTLE_GIRL .string "CORA$", 12 @@ -5150,7 +5150,7 @@ gTrainers:: @ 8310030 @ PAULA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BATTLE_GIRL + .byte TRAINER_CLASS_BATTLE_GIRL .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BATTLE_GIRL .string "PAULA$", 12 @@ -5162,7 +5162,7 @@ gTrainers:: @ 8310030 @ CYNDY_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BATTLE_GIRL + .byte TRAINER_CLASS_BATTLE_GIRL .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BATTLE_GIRL .string "CYNDY$", 12 @@ -5174,7 +5174,7 @@ gTrainers:: @ 8310030 @ CYNDY_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BATTLE_GIRL + .byte TRAINER_CLASS_BATTLE_GIRL .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BATTLE_GIRL .string "CYNDY$", 12 @@ -5186,7 +5186,7 @@ gTrainers:: @ 8310030 @ CYNDY_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BATTLE_GIRL + .byte TRAINER_CLASS_BATTLE_GIRL .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BATTLE_GIRL .string "CYNDY$", 12 @@ -5198,7 +5198,7 @@ gTrainers:: @ 8310030 @ CYNDY_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BATTLE_GIRL + .byte TRAINER_CLASS_BATTLE_GIRL .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BATTLE_GIRL .string "CYNDY$", 12 @@ -5210,7 +5210,7 @@ gTrainers:: @ 8310030 @ MADELINE_1 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_PARASOL_LADY + .byte TRAINER_CLASS_PARASOL_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_PARASOL_LADY .string "MADELINE$", 12 @@ -5222,7 +5222,7 @@ gTrainers:: @ 8310030 @ CLARISSA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PARASOL_LADY + .byte TRAINER_CLASS_PARASOL_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_PARASOL_LADY .string "CLARISSA$", 12 @@ -5234,7 +5234,7 @@ gTrainers:: @ 8310030 @ ANGELICA .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_PARASOL_LADY + .byte TRAINER_CLASS_PARASOL_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_PARASOL_LADY .string "ANGELICA$", 12 @@ -5246,7 +5246,7 @@ gTrainers:: @ 8310030 @ MADELINE_2 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_PARASOL_LADY + .byte TRAINER_CLASS_PARASOL_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_PARASOL_LADY .string "MADELINE$", 12 @@ -5258,7 +5258,7 @@ gTrainers:: @ 8310030 @ MADELINE_3 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_PARASOL_LADY + .byte TRAINER_CLASS_PARASOL_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_PARASOL_LADY .string "MADELINE$", 12 @@ -5270,7 +5270,7 @@ gTrainers:: @ 8310030 @ MADELINE_4 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_PARASOL_LADY + .byte TRAINER_CLASS_PARASOL_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_PARASOL_LADY .string "MADELINE$", 12 @@ -5282,7 +5282,7 @@ gTrainers:: @ 8310030 @ MADELINE_5 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_PARASOL_LADY + .byte TRAINER_CLASS_PARASOL_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_PARASOL_LADY .string "MADELINE$", 12 @@ -5294,7 +5294,7 @@ gTrainers:: @ 8310030 @ BEVERLY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "BEVERLY$", 12 @@ -5306,7 +5306,7 @@ gTrainers:: @ 8310030 @ IMANI .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "IMANI$", 12 @@ -5318,7 +5318,7 @@ gTrainers:: @ 8310030 @ KYLA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "KYLA$", 12 @@ -5330,7 +5330,7 @@ gTrainers:: @ 8310030 @ DENISE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "DENISE$", 12 @@ -5342,7 +5342,7 @@ gTrainers:: @ 8310030 @ BETH .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "BETH$", 12 @@ -5354,7 +5354,7 @@ gTrainers:: @ 8310030 @ TARA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "TARA$", 12 @@ -5366,7 +5366,7 @@ gTrainers:: @ 8310030 @ MISSY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "MISSY$", 12 @@ -5378,7 +5378,7 @@ gTrainers:: @ 8310030 @ ALICE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "ALICE$", 12 @@ -5390,7 +5390,7 @@ gTrainers:: @ 8310030 @ JENNY_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "JENNY$", 12 @@ -5402,7 +5402,7 @@ gTrainers:: @ 8310030 @ GRACE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "GRACE$", 12 @@ -5414,7 +5414,7 @@ gTrainers:: @ 8310030 @ TANYA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "TANYA$", 12 @@ -5426,7 +5426,7 @@ gTrainers:: @ 8310030 @ SHARON .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "SHARON$", 12 @@ -5438,7 +5438,7 @@ gTrainers:: @ 8310030 @ NIKKI .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "NIKKI$", 12 @@ -5450,7 +5450,7 @@ gTrainers:: @ 8310030 @ BRENDA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "BRENDA$", 12 @@ -5462,7 +5462,7 @@ gTrainers:: @ 8310030 @ KATIE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "KATIE$", 12 @@ -5474,7 +5474,7 @@ gTrainers:: @ 8310030 @ SUSIE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "SUSIE$", 12 @@ -5486,7 +5486,7 @@ gTrainers:: @ 8310030 @ KARA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "KARA$", 12 @@ -5498,7 +5498,7 @@ gTrainers:: @ 8310030 @ DANA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "DANA$", 12 @@ -5510,7 +5510,7 @@ gTrainers:: @ 8310030 @ SIENNA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "SIENNA$", 12 @@ -5522,7 +5522,7 @@ gTrainers:: @ 8310030 @ DEBRA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "DEBRA$", 12 @@ -5534,7 +5534,7 @@ gTrainers:: @ 8310030 @ LINDA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "LINDA$", 12 @@ -5546,7 +5546,7 @@ gTrainers:: @ 8310030 @ KAYLEE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "KAYLEE$", 12 @@ -5558,7 +5558,7 @@ gTrainers:: @ 8310030 @ LAUREL .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "LAUREL$", 12 @@ -5570,7 +5570,7 @@ gTrainers:: @ 8310030 @ CARLEE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "CARLEE$", 12 @@ -5582,7 +5582,7 @@ gTrainers:: @ 8310030 @ JENNY_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "JENNY$", 12 @@ -5594,7 +5594,7 @@ gTrainers:: @ 8310030 @ JENNY_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "JENNY$", 12 @@ -5606,7 +5606,7 @@ gTrainers:: @ 8310030 @ JENNY_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "JENNY$", 12 @@ -5618,7 +5618,7 @@ gTrainers:: @ 8310030 @ JENNY_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "JENNY$", 12 @@ -5630,7 +5630,7 @@ gTrainers:: @ 8310030 @ HEIDI .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_PICNICKER + .byte TRAINER_CLASS_PICNICKER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_PICNICKER .string "HEIDI$", 12 @@ -5642,7 +5642,7 @@ gTrainers:: @ 8310030 @ BECKY .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_PICNICKER + .byte TRAINER_CLASS_PICNICKER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_PICNICKER .string "BECKY$", 12 @@ -5654,7 +5654,7 @@ gTrainers:: @ 8310030 @ CAROL .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PICNICKER + .byte TRAINER_CLASS_PICNICKER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_PICNICKER .string "CAROL$", 12 @@ -5666,7 +5666,7 @@ gTrainers:: @ 8310030 @ NANCY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PICNICKER + .byte TRAINER_CLASS_PICNICKER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_PICNICKER .string "NANCY$", 12 @@ -5678,7 +5678,7 @@ gTrainers:: @ 8310030 @ MARTHA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PICNICKER + .byte TRAINER_CLASS_PICNICKER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_PICNICKER .string "MARTHA$", 12 @@ -5690,7 +5690,7 @@ gTrainers:: @ 8310030 @ DIANA_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PICNICKER + .byte TRAINER_CLASS_PICNICKER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_PICNICKER .string "DIANA$", 12 @@ -5702,7 +5702,7 @@ gTrainers:: @ 8310030 @ CEDRIC .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_M .string "CEDRIC$", 12 @@ -5714,7 +5714,7 @@ gTrainers:: @ 8310030 @ IRENE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PICNICKER + .byte TRAINER_CLASS_PICNICKER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_PICNICKER .string "IRENE$", 12 @@ -5726,7 +5726,7 @@ gTrainers:: @ 8310030 @ DIANA_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PICNICKER + .byte TRAINER_CLASS_PICNICKER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_PICNICKER .string "DIANA$", 12 @@ -5738,7 +5738,7 @@ gTrainers:: @ 8310030 @ DIANA_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PICNICKER + .byte TRAINER_CLASS_PICNICKER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_PICNICKER .string "DIANA$", 12 @@ -5750,7 +5750,7 @@ gTrainers:: @ 8310030 @ DIANA_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PICNICKER + .byte TRAINER_CLASS_PICNICKER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_PICNICKER .string "DIANA$", 12 @@ -5762,7 +5762,7 @@ gTrainers:: @ 8310030 @ DIANA_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PICNICKER + .byte TRAINER_CLASS_PICNICKER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_PICNICKER .string "DIANA$", 12 @@ -5774,7 +5774,7 @@ gTrainers:: @ 8310030 @ AMY_AND_LIV_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TWINS + .byte TRAINER_CLASS_TWINS .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_TWINS .string "AMY & LIV$", 12 @@ -5786,7 +5786,7 @@ gTrainers:: @ 8310030 @ AMY_AND_LIV_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TWINS + .byte TRAINER_CLASS_TWINS .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_TWINS .string "AMY & LIV$", 12 @@ -5798,7 +5798,7 @@ gTrainers:: @ 8310030 @ GINA_AND_MIA_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TWINS + .byte TRAINER_CLASS_TWINS .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_TWINS .string "GINA & MIA$", 12 @@ -5810,7 +5810,7 @@ gTrainers:: @ 8310030 @ MIU_AND_YUKI .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TWINS + .byte TRAINER_CLASS_TWINS .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_TWINS .string "MIU & YUKI$", 12 @@ -5822,7 +5822,7 @@ gTrainers:: @ 8310030 @ AMY_AND_LIV_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TWINS + .byte TRAINER_CLASS_TWINS .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_TWINS .string "AMY & LIV$", 12 @@ -5834,7 +5834,7 @@ gTrainers:: @ 8310030 @ GINA_AND_MIA_2 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_TWINS + .byte TRAINER_CLASS_TWINS .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_TWINS .string "GINA & MIA$", 12 @@ -5846,7 +5846,7 @@ gTrainers:: @ 8310030 @ AMY_AND_LIV_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TWINS + .byte TRAINER_CLASS_TWINS .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_TWINS .string "AMY & LIV$", 12 @@ -5858,7 +5858,7 @@ gTrainers:: @ 8310030 @ AMY_AND_LIV_5 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_TWINS + .byte TRAINER_CLASS_TWINS .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_TWINS .string "AMY & LIV$", 12 @@ -5870,7 +5870,7 @@ gTrainers:: @ 8310030 @ AMY_AND_LIV_6 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_TWINS + .byte TRAINER_CLASS_TWINS .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_TWINS .string "AMY & LIV$", 12 @@ -5882,7 +5882,7 @@ gTrainers:: @ 8310030 @ HUEY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SAILOR + .byte TRAINER_CLASS_SAILOR .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SAILOR .string "HUEY$", 12 @@ -5894,7 +5894,7 @@ gTrainers:: @ 8310030 @ EDMOND .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SAILOR + .byte TRAINER_CLASS_SAILOR .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SAILOR .string "EDMOND$", 12 @@ -5906,7 +5906,7 @@ gTrainers:: @ 8310030 @ ERNEST_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SAILOR + .byte TRAINER_CLASS_SAILOR .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SAILOR .string "ERNEST$", 12 @@ -5918,7 +5918,7 @@ gTrainers:: @ 8310030 @ DWAYNE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SAILOR + .byte TRAINER_CLASS_SAILOR .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SAILOR .string "DWAYNE$", 12 @@ -5930,7 +5930,7 @@ gTrainers:: @ 8310030 @ PHILLIP .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SAILOR + .byte TRAINER_CLASS_SAILOR .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SAILOR .string "PHILLIP$", 12 @@ -5942,7 +5942,7 @@ gTrainers:: @ 8310030 @ LEONARD .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SAILOR + .byte TRAINER_CLASS_SAILOR .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SAILOR .string "LEONARD$", 12 @@ -5954,7 +5954,7 @@ gTrainers:: @ 8310030 @ DUNCAN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SAILOR + .byte TRAINER_CLASS_SAILOR .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SAILOR .string "DUNCAN$", 12 @@ -5966,7 +5966,7 @@ gTrainers:: @ 8310030 @ ERNEST_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SAILOR + .byte TRAINER_CLASS_SAILOR .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SAILOR .string "ERNEST$", 12 @@ -5978,7 +5978,7 @@ gTrainers:: @ 8310030 @ ERNEST_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SAILOR + .byte TRAINER_CLASS_SAILOR .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SAILOR .string "ERNEST$", 12 @@ -5990,7 +5990,7 @@ gTrainers:: @ 8310030 @ ERNEST_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SAILOR + .byte TRAINER_CLASS_SAILOR .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SAILOR .string "ERNEST$", 12 @@ -6002,7 +6002,7 @@ gTrainers:: @ 8310030 @ ERNEST_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SAILOR + .byte TRAINER_CLASS_SAILOR .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SAILOR .string "ERNEST$", 12 @@ -6014,7 +6014,7 @@ gTrainers:: @ 8310030 @ ELI .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "ELI$", 12 @@ -6026,7 +6026,7 @@ gTrainers:: @ 8310030 @ ANNIKA .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_POKEFAN + .byte TRAINER_CLASS_POKEFAN .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_WINSTRATE_F .string "ANNIKA$", 12 @@ -6038,7 +6038,7 @@ gTrainers:: @ 8310030 @ JAZMYN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_2 + .byte TRAINER_CLASS_COOLTRAINER_2 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "JAZMYN$", 12 @@ -6050,7 +6050,7 @@ gTrainers:: @ 8310030 @ JONAS .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_NINJA_BOY + .byte TRAINER_CLASS_NINJA_BOY .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_NINJA_BOY .string "JONAS$", 12 @@ -6062,7 +6062,7 @@ gTrainers:: @ 8310030 @ KAYLEY .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_PARASOL_LADY + .byte TRAINER_CLASS_PARASOL_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_PARASOL_LADY .string "KAYLEY$", 12 @@ -6074,7 +6074,7 @@ gTrainers:: @ 8310030 @ AURON .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_EXPERT + .byte TRAINER_CLASS_EXPERT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_EXPERT_M .string "AURON$", 12 @@ -6086,7 +6086,7 @@ gTrainers:: @ 8310030 @ KELVIN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SAILOR + .byte TRAINER_CLASS_SAILOR .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SAILOR .string "KELVIN$", 12 @@ -6098,7 +6098,7 @@ gTrainers:: @ 8310030 @ MARLEY .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "MARLEY$", 12 @@ -6110,7 +6110,7 @@ gTrainers:: @ 8310030 @ REYNA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BATTLE_GIRL + .byte TRAINER_CLASS_BATTLE_GIRL .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BATTLE_GIRL .string "REYNA$", 12 @@ -6122,7 +6122,7 @@ gTrainers:: @ 8310030 @ HUDSON .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SAILOR + .byte TRAINER_CLASS_SAILOR .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SAILOR .string "HUDSON$", 12 @@ -6134,7 +6134,7 @@ gTrainers:: @ 8310030 @ CONOR .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_EXPERT + .byte TRAINER_CLASS_EXPERT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_EXPERT_M .string "CONOR$", 12 @@ -6146,7 +6146,7 @@ gTrainers:: @ 8310030 @ EDWIN_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COLLECTOR + .byte TRAINER_CLASS_COLLECTOR .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_COLLECTOR .string "EDWIN$", 12 @@ -6158,7 +6158,7 @@ gTrainers:: @ 8310030 @ HECTOR .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COLLECTOR + .byte TRAINER_CLASS_COLLECTOR .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_COLLECTOR .string "HECTOR$", 12 @@ -6170,7 +6170,7 @@ gTrainers:: @ 8310030 @ TABITHA_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_MAGMA_ADMIN + .byte TRAINER_CLASS_MAGMA_ADMIN .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_ADMIN .string "TABITHA$", 12 @@ -6182,7 +6182,7 @@ gTrainers:: @ 8310030 @ EDWIN_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COLLECTOR + .byte TRAINER_CLASS_COLLECTOR .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_COLLECTOR .string "EDWIN$", 12 @@ -6194,7 +6194,7 @@ gTrainers:: @ 8310030 @ EDWIN_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COLLECTOR + .byte TRAINER_CLASS_COLLECTOR .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_COLLECTOR .string "EDWIN$", 12 @@ -6206,7 +6206,7 @@ gTrainers:: @ 8310030 @ EDWIN_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COLLECTOR + .byte TRAINER_CLASS_COLLECTOR .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_COLLECTOR .string "EDWIN$", 12 @@ -6218,7 +6218,7 @@ gTrainers:: @ 8310030 @ EDWIN_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COLLECTOR + .byte TRAINER_CLASS_COLLECTOR .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_COLLECTOR .string "EDWIN$", 12 @@ -6230,7 +6230,7 @@ gTrainers:: @ 8310030 @ WALLY_1 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_WALLY .string "WALLY$", 12 @@ -6242,7 +6242,7 @@ gTrainers:: @ 8310030 @ BRENDAN_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BRENDAN .string "BRENDAN$", 12 @@ -6254,7 +6254,7 @@ gTrainers:: @ 8310030 @ BRENDAN_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BRENDAN .string "BRENDAN$", 12 @@ -6266,7 +6266,7 @@ gTrainers:: @ 8310030 @ BRENDAN_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BRENDAN .string "BRENDAN$", 12 @@ -6278,7 +6278,7 @@ gTrainers:: @ 8310030 @ BRENDAN_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BRENDAN .string "BRENDAN$", 12 @@ -6290,7 +6290,7 @@ gTrainers:: @ 8310030 @ BRENDAN_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BRENDAN .string "BRENDAN$", 12 @@ -6302,7 +6302,7 @@ gTrainers:: @ 8310030 @ BRENDAN_6 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BRENDAN .string "BRENDAN$", 12 @@ -6314,7 +6314,7 @@ gTrainers:: @ 8310030 @ BRENDAN_7 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BRENDAN .string "BRENDAN$", 12 @@ -6326,7 +6326,7 @@ gTrainers:: @ 8310030 @ BRENDAN_8 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BRENDAN .string "BRENDAN$", 12 @@ -6338,7 +6338,7 @@ gTrainers:: @ 8310030 @ BRENDAN_9 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BRENDAN .string "BRENDAN$", 12 @@ -6350,7 +6350,7 @@ gTrainers:: @ 8310030 @ MAY_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_MAY .string "MAY$", 12 @@ -6362,7 +6362,7 @@ gTrainers:: @ 8310030 @ MAY_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_MAY .string "MAY$", 12 @@ -6374,7 +6374,7 @@ gTrainers:: @ 8310030 @ MAY_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_MAY .string "MAY$", 12 @@ -6386,7 +6386,7 @@ gTrainers:: @ 8310030 @ MAY_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_MAY .string "MAY$", 12 @@ -6398,7 +6398,7 @@ gTrainers:: @ 8310030 @ MAY_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_MAY .string "MAY$", 12 @@ -6410,7 +6410,7 @@ gTrainers:: @ 8310030 @ MAY_6 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_MAY .string "MAY$", 12 @@ -6422,7 +6422,7 @@ gTrainers:: @ 8310030 @ MAY_7 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_MAY .string "MAY$", 12 @@ -6434,7 +6434,7 @@ gTrainers:: @ 8310030 @ MAY_8 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_MAY .string "MAY$", 12 @@ -6446,7 +6446,7 @@ gTrainers:: @ 8310030 @ MAY_9 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_MAY .string "MAY$", 12 @@ -6458,7 +6458,7 @@ gTrainers:: @ 8310030 @ ISAAC_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_BREEDER + .byte TRAINER_CLASS_PKMN_BREEDER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_BREEDER_M .string "ISAAC$", 12 @@ -6470,7 +6470,7 @@ gTrainers:: @ 8310030 @ DAVIS .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BUG_CATCHER + .byte TRAINER_CLASS_BUG_CATCHER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BUG_CATCHER .string "DAVIS$", 12 @@ -6482,7 +6482,7 @@ gTrainers:: @ 8310030 @ MITCHELL .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "MITCHELL$", 12 @@ -6494,7 +6494,7 @@ gTrainers:: @ 8310030 @ ISAAC_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_BREEDER + .byte TRAINER_CLASS_PKMN_BREEDER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_BREEDER_M .string "ISAAC$", 12 @@ -6506,7 +6506,7 @@ gTrainers:: @ 8310030 @ ISAAC_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_BREEDER + .byte TRAINER_CLASS_PKMN_BREEDER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_BREEDER_M .string "ISAAC$", 12 @@ -6518,7 +6518,7 @@ gTrainers:: @ 8310030 @ ISAAC_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_BREEDER + .byte TRAINER_CLASS_PKMN_BREEDER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_BREEDER_M .string "ISAAC$", 12 @@ -6530,7 +6530,7 @@ gTrainers:: @ 8310030 @ ISAAC_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_BREEDER + .byte TRAINER_CLASS_PKMN_BREEDER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_BREEDER_M .string "ISAAC$", 12 @@ -6542,7 +6542,7 @@ gTrainers:: @ 8310030 @ LYDIA_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_BREEDER + .byte TRAINER_CLASS_PKMN_BREEDER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_BREEDER_F .string "LYDIA$", 12 @@ -6554,7 +6554,7 @@ gTrainers:: @ 8310030 @ HALLE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "HALLE$", 12 @@ -6566,7 +6566,7 @@ gTrainers:: @ 8310030 @ GARRISON .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_RUIN_MANIAC + .byte TRAINER_CLASS_RUIN_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_RUIN_MANIAC .string "GARRISON$", 12 @@ -6578,7 +6578,7 @@ gTrainers:: @ 8310030 @ LYDIA_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_BREEDER + .byte TRAINER_CLASS_PKMN_BREEDER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_BREEDER_F .string "LYDIA$", 12 @@ -6590,7 +6590,7 @@ gTrainers:: @ 8310030 @ LYDIA_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_BREEDER + .byte TRAINER_CLASS_PKMN_BREEDER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_BREEDER_F .string "LYDIA$", 12 @@ -6602,7 +6602,7 @@ gTrainers:: @ 8310030 @ LYDIA_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_BREEDER + .byte TRAINER_CLASS_PKMN_BREEDER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_BREEDER_F .string "LYDIA$", 12 @@ -6614,7 +6614,7 @@ gTrainers:: @ 8310030 @ LYDIA_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_BREEDER + .byte TRAINER_CLASS_PKMN_BREEDER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_BREEDER_F .string "LYDIA$", 12 @@ -6626,7 +6626,7 @@ gTrainers:: @ 8310030 @ JACKSON_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_RANGER + .byte TRAINER_CLASS_PKMN_RANGER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_RANGER_M .string "JACKSON$", 12 @@ -6638,7 +6638,7 @@ gTrainers:: @ 8310030 @ LORENZO .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_RANGER + .byte TRAINER_CLASS_PKMN_RANGER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_RANGER_M .string "LORENZO$", 12 @@ -6650,7 +6650,7 @@ gTrainers:: @ 8310030 @ SEBASTIAN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_RANGER + .byte TRAINER_CLASS_PKMN_RANGER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_RANGER_M .string "SEBASTIAN$", 12 @@ -6662,7 +6662,7 @@ gTrainers:: @ 8310030 @ JACKSON_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_RANGER + .byte TRAINER_CLASS_PKMN_RANGER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_RANGER_M .string "JACKSON$", 12 @@ -6674,7 +6674,7 @@ gTrainers:: @ 8310030 @ JACKSON_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_RANGER + .byte TRAINER_CLASS_PKMN_RANGER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_RANGER_M .string "JACKSON$", 12 @@ -6686,7 +6686,7 @@ gTrainers:: @ 8310030 @ JACKSON_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_RANGER + .byte TRAINER_CLASS_PKMN_RANGER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_RANGER_M .string "JACKSON$", 12 @@ -6698,7 +6698,7 @@ gTrainers:: @ 8310030 @ JACKSON_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_RANGER + .byte TRAINER_CLASS_PKMN_RANGER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_RANGER_M .string "JACKSON$", 12 @@ -6710,7 +6710,7 @@ gTrainers:: @ 8310030 @ CATHERINE_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_RANGER + .byte TRAINER_CLASS_PKMN_RANGER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_RANGER_F .string "CATHERINE$", 12 @@ -6722,7 +6722,7 @@ gTrainers:: @ 8310030 @ JENNA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_RANGER + .byte TRAINER_CLASS_PKMN_RANGER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_RANGER_F .string "JENNA$", 12 @@ -6734,7 +6734,7 @@ gTrainers:: @ 8310030 @ SOPHIA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_RANGER + .byte TRAINER_CLASS_PKMN_RANGER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_RANGER_F .string "SOPHIA$", 12 @@ -6746,7 +6746,7 @@ gTrainers:: @ 8310030 @ CATHERINE_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_RANGER + .byte TRAINER_CLASS_PKMN_RANGER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_RANGER_F .string "CATHERINE$", 12 @@ -6758,7 +6758,7 @@ gTrainers:: @ 8310030 @ CATHERINE_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_RANGER + .byte TRAINER_CLASS_PKMN_RANGER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_RANGER_F .string "CATHERINE$", 12 @@ -6770,7 +6770,7 @@ gTrainers:: @ 8310030 @ CATHERINE_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_RANGER + .byte TRAINER_CLASS_PKMN_RANGER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_RANGER_F .string "CATHERINE$", 12 @@ -6782,7 +6782,7 @@ gTrainers:: @ 8310030 @ CATHERINE_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_RANGER + .byte TRAINER_CLASS_PKMN_RANGER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_RANGER_F .string "CATHERINE$", 12 @@ -6794,7 +6794,7 @@ gTrainers:: @ 8310030 @ JULIO .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CYCLING_TRIATHLETE_M .string "JULIO$", 12 @@ -6806,7 +6806,7 @@ gTrainers:: @ 8310030 @ GRUNT_27 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_M .string "GRUNT$", 12 @@ -6818,7 +6818,7 @@ gTrainers:: @ 8310030 @ GRUNT_28 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_F .string "GRUNT$", 12 @@ -6830,7 +6830,7 @@ gTrainers:: @ 8310030 @ GRUNT_29 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_F .string "GRUNT$", 12 @@ -6842,7 +6842,7 @@ gTrainers:: @ 8310030 @ GRUNT_30 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_M .string "GRUNT$", 12 @@ -6854,7 +6854,7 @@ gTrainers:: @ 8310030 @ MARC .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "MARC$", 12 @@ -6866,7 +6866,7 @@ gTrainers:: @ 8310030 @ BRENDEN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SAILOR + .byte TRAINER_CLASS_SAILOR .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SAILOR .string "BRENDEN$", 12 @@ -6878,7 +6878,7 @@ gTrainers:: @ 8310030 @ LILITH .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BATTLE_GIRL + .byte TRAINER_CLASS_BATTLE_GIRL .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BATTLE_GIRL .string "LILITH$", 12 @@ -6890,7 +6890,7 @@ gTrainers:: @ 8310030 @ CRISTIAN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BLACK_BELT + .byte TRAINER_CLASS_BLACK_BELT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BLACK_BELT .string "CRISTIAN$", 12 @@ -6902,7 +6902,7 @@ gTrainers:: @ 8310030 @ SYLVIA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HEX_MANIAC + .byte TRAINER_CLASS_HEX_MANIAC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_HEX_MANIAC .string "SYLVIA$", 12 @@ -6914,7 +6914,7 @@ gTrainers:: @ 8310030 @ LEONARDO .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "LEONARDO$", 12 @@ -6926,7 +6926,7 @@ gTrainers:: @ 8310030 @ ATHENA .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "ATHENA$", 12 @@ -6938,7 +6938,7 @@ gTrainers:: @ 8310030 @ HARRISON .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "HARRISON$", 12 @@ -6950,7 +6950,7 @@ gTrainers:: @ 8310030 @ GRUNT_31 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_M .string "GRUNT$", 12 @@ -6962,7 +6962,7 @@ gTrainers:: @ 8310030 @ CLARENCE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "CLARENCE$", 12 @@ -6974,7 +6974,7 @@ gTrainers:: @ 8310030 @ TERRY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_F .string "TERRY$", 12 @@ -6986,7 +6986,7 @@ gTrainers:: @ 8310030 @ NATE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_GENTLEMAN + .byte TRAINER_CLASS_GENTLEMAN .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music .byte TRAINER_PIC_GENTLEMAN .string "NATE$", 12 @@ -6998,7 +6998,7 @@ gTrainers:: @ 8310030 @ KATHLEEN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HEX_MANIAC + .byte TRAINER_CLASS_HEX_MANIAC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_HEX_MANIAC .string "KATHLEEN$", 12 @@ -7010,7 +7010,7 @@ gTrainers:: @ 8310030 @ CLIFFORD .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_GENTLEMAN + .byte TRAINER_CLASS_GENTLEMAN .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music .byte TRAINER_PIC_GENTLEMAN .string "CLIFFORD$", 12 @@ -7022,7 +7022,7 @@ gTrainers:: @ 8310030 @ NICHOLAS .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_M .string "NICHOLAS$", 12 @@ -7034,7 +7034,7 @@ gTrainers:: @ 8310030 @ GRUNT_32 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_F .string "GRUNT$", 12 @@ -7046,7 +7046,7 @@ gTrainers:: @ 8310030 @ GRUNT_33 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_M .string "GRUNT$", 12 @@ -7058,7 +7058,7 @@ gTrainers:: @ 8310030 @ GRUNT_34 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_M .string "GRUNT$", 12 @@ -7070,7 +7070,7 @@ gTrainers:: @ 8310030 @ GRUNT_35 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_M .string "GRUNT$", 12 @@ -7082,7 +7082,7 @@ gTrainers:: @ 8310030 @ GRUNT_36 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_M .string "GRUNT$", 12 @@ -7094,7 +7094,7 @@ gTrainers:: @ 8310030 @ MACEY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_F .string "MACEY$", 12 @@ -7106,7 +7106,7 @@ gTrainers:: @ 8310030 @ BRENDAN_10 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BRENDAN .string "BRENDAN$", 12 @@ -7118,7 +7118,7 @@ gTrainers:: @ 8310030 @ BRENDAN_11 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BRENDAN .string "BRENDAN$", 12 @@ -7130,7 +7130,7 @@ gTrainers:: @ 8310030 @ PAXTON .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_EXPERT + .byte TRAINER_CLASS_EXPERT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_EXPERT_M .string "PAXTON$", 12 @@ -7142,7 +7142,7 @@ gTrainers:: @ 8310030 @ ISABELLA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_F .string "ISABELLA$", 12 @@ -7154,7 +7154,7 @@ gTrainers:: @ 8310030 @ GRUNT_37 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_AQUA + .byte TRAINER_CLASS_TEAM_AQUA .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music .byte TRAINER_PIC_AQUA_GRUNT_F .string "GRUNT$", 12 @@ -7166,7 +7166,7 @@ gTrainers:: @ 8310030 @ TABITHA_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_MAGMA_ADMIN + .byte TRAINER_CLASS_MAGMA_ADMIN .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_ADMIN .string "TABITHA$", 12 @@ -7178,7 +7178,7 @@ gTrainers:: @ 8310030 @ JONATHAN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "JONATHAN$", 12 @@ -7190,7 +7190,7 @@ gTrainers:: @ 8310030 @ BRENDAN_12 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BRENDAN .string "BRENDAN$", 12 @@ -7202,7 +7202,7 @@ gTrainers:: @ 8310030 @ MAY_10 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_MAY .string "MAY$", 12 @@ -7214,7 +7214,7 @@ gTrainers:: @ 8310030 @ MAXIE_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_MAGMA_LEADER + .byte TRAINER_CLASS_MAGMA_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_LEADER_MAXIE .string "MAXIE$", 12 @@ -7226,7 +7226,7 @@ gTrainers:: @ 8310030 @ MAXIE_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_MAGMA_LEADER + .byte TRAINER_CLASS_MAGMA_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_LEADER_MAXIE .string "MAXIE$", 12 @@ -7238,7 +7238,7 @@ gTrainers:: @ 8310030 @ TIANA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_LASS + .byte TRAINER_CLASS_LASS .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LASS .string "TIANA$", 12 @@ -7250,7 +7250,7 @@ gTrainers:: @ 8310030 @ HALEY_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_LASS + .byte TRAINER_CLASS_LASS .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LASS .string "HALEY$", 12 @@ -7262,7 +7262,7 @@ gTrainers:: @ 8310030 @ JANICE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_LASS + .byte TRAINER_CLASS_LASS .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LASS .string "JANICE$", 12 @@ -7274,7 +7274,7 @@ gTrainers:: @ 8310030 @ VIVI .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_WINSTRATE + .byte TRAINER_CLASS_WINSTRATE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LASS .string "VIVI$", 12 @@ -7286,7 +7286,7 @@ gTrainers:: @ 8310030 @ HALEY_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_LASS + .byte TRAINER_CLASS_LASS .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LASS .string "HALEY$", 12 @@ -7298,7 +7298,7 @@ gTrainers:: @ 8310030 @ HALEY_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_LASS + .byte TRAINER_CLASS_LASS .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LASS .string "HALEY$", 12 @@ -7310,7 +7310,7 @@ gTrainers:: @ 8310030 @ HALEY_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_LASS + .byte TRAINER_CLASS_LASS .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LASS .string "HALEY$", 12 @@ -7322,7 +7322,7 @@ gTrainers:: @ 8310030 @ HALEY_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_LASS + .byte TRAINER_CLASS_LASS .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LASS .string "HALEY$", 12 @@ -7334,7 +7334,7 @@ gTrainers:: @ 8310030 @ SALLY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_LASS + .byte TRAINER_CLASS_LASS .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LASS .string "SALLY$", 12 @@ -7346,7 +7346,7 @@ gTrainers:: @ 8310030 @ ROBIN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_LASS + .byte TRAINER_CLASS_LASS .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LASS .string "ROBIN$", 12 @@ -7358,7 +7358,7 @@ gTrainers:: @ 8310030 @ ANDREA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_LASS + .byte TRAINER_CLASS_LASS .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LASS .string "ANDREA$", 12 @@ -7370,7 +7370,7 @@ gTrainers:: @ 8310030 @ CRISSY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_LASS + .byte TRAINER_CLASS_LASS .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LASS .string "CRISSY$", 12 @@ -7382,7 +7382,7 @@ gTrainers:: @ 8310030 @ RICK .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BUG_CATCHER + .byte TRAINER_CLASS_BUG_CATCHER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BUG_CATCHER .string "RICK$", 12 @@ -7394,7 +7394,7 @@ gTrainers:: @ 8310030 @ LYLE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BUG_CATCHER + .byte TRAINER_CLASS_BUG_CATCHER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BUG_CATCHER .string "LYLE$", 12 @@ -7406,7 +7406,7 @@ gTrainers:: @ 8310030 @ JOSE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BUG_CATCHER + .byte TRAINER_CLASS_BUG_CATCHER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BUG_CATCHER .string "JOSE$", 12 @@ -7418,7 +7418,7 @@ gTrainers:: @ 8310030 @ DOUG .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BUG_CATCHER + .byte TRAINER_CLASS_BUG_CATCHER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BUG_CATCHER .string "DOUG$", 12 @@ -7430,7 +7430,7 @@ gTrainers:: @ 8310030 @ GREG .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BUG_CATCHER + .byte TRAINER_CLASS_BUG_CATCHER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BUG_CATCHER .string "GREG$", 12 @@ -7442,7 +7442,7 @@ gTrainers:: @ 8310030 @ KENT .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BUG_CATCHER + .byte TRAINER_CLASS_BUG_CATCHER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BUG_CATCHER .string "KENT$", 12 @@ -7454,7 +7454,7 @@ gTrainers:: @ 8310030 @ JAMES_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BUG_CATCHER + .byte TRAINER_CLASS_BUG_CATCHER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BUG_CATCHER .string "JAMES$", 12 @@ -7466,7 +7466,7 @@ gTrainers:: @ 8310030 @ JAMES_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BUG_CATCHER + .byte TRAINER_CLASS_BUG_CATCHER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BUG_CATCHER .string "JAMES$", 12 @@ -7478,7 +7478,7 @@ gTrainers:: @ 8310030 @ JAMES_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BUG_CATCHER + .byte TRAINER_CLASS_BUG_CATCHER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BUG_CATCHER .string "JAMES$", 12 @@ -7490,7 +7490,7 @@ gTrainers:: @ 8310030 @ JAMES_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BUG_CATCHER + .byte TRAINER_CLASS_BUG_CATCHER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BUG_CATCHER .string "JAMES$", 12 @@ -7502,7 +7502,7 @@ gTrainers:: @ 8310030 @ JAMES_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BUG_CATCHER + .byte TRAINER_CLASS_BUG_CATCHER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BUG_CATCHER .string "JAMES$", 12 @@ -7514,7 +7514,7 @@ gTrainers:: @ 8310030 @ BRICE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "BRICE$", 12 @@ -7526,7 +7526,7 @@ gTrainers:: @ 8310030 @ TRENT_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "TRENT$", 12 @@ -7538,7 +7538,7 @@ gTrainers:: @ 8310030 @ LENNY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "LENNY$", 12 @@ -7550,7 +7550,7 @@ gTrainers:: @ 8310030 @ LUCAS_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "LUCAS$", 12 @@ -7562,7 +7562,7 @@ gTrainers:: @ 8310030 @ ALAN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "ALAN$", 12 @@ -7574,7 +7574,7 @@ gTrainers:: @ 8310030 @ CLARK .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "CLARK$", 12 @@ -7586,7 +7586,7 @@ gTrainers:: @ 8310030 @ ERIC .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "ERIC$", 12 @@ -7598,7 +7598,7 @@ gTrainers:: @ 8310030 @ LUCAS_2 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "LUCAS$", 12 @@ -7610,7 +7610,7 @@ gTrainers:: @ 8310030 @ MIKE_1 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "MIKE$", 12 @@ -7622,7 +7622,7 @@ gTrainers:: @ 8310030 @ MIKE_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "MIKE$", 12 @@ -7634,7 +7634,7 @@ gTrainers:: @ 8310030 @ TRENT_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "TRENT$", 12 @@ -7646,7 +7646,7 @@ gTrainers:: @ 8310030 @ TRENT_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "TRENT$", 12 @@ -7658,7 +7658,7 @@ gTrainers:: @ 8310030 @ TRENT_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "TRENT$", 12 @@ -7670,7 +7670,7 @@ gTrainers:: @ 8310030 @ TRENT_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "TRENT$", 12 @@ -7682,7 +7682,7 @@ gTrainers:: @ 8310030 @ DEZ_AND_LUKE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNG_COUPLE + .byte TRAINER_CLASS_YOUNG_COUPLE .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_YOUNG_COUPLE .string "DEZ & LUKE$", 12 @@ -7694,7 +7694,7 @@ gTrainers:: @ 8310030 @ LEA_AND_JED .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNG_COUPLE + .byte TRAINER_CLASS_YOUNG_COUPLE .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_YOUNG_COUPLE .string "LEA & JED$", 12 @@ -7706,7 +7706,7 @@ gTrainers:: @ 8310030 @ KIRA_AND_DAN_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNG_COUPLE + .byte TRAINER_CLASS_YOUNG_COUPLE .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_YOUNG_COUPLE .string "KIRA & DAN$", 12 @@ -7718,7 +7718,7 @@ gTrainers:: @ 8310030 @ KIRA_AND_DAN_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNG_COUPLE + .byte TRAINER_CLASS_YOUNG_COUPLE .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_YOUNG_COUPLE .string "KIRA & DAN$", 12 @@ -7730,7 +7730,7 @@ gTrainers:: @ 8310030 @ KIRA_AND_DAN_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNG_COUPLE + .byte TRAINER_CLASS_YOUNG_COUPLE .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_YOUNG_COUPLE .string "KIRA & DAN$", 12 @@ -7742,7 +7742,7 @@ gTrainers:: @ 8310030 @ KIRA_AND_DAN_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNG_COUPLE + .byte TRAINER_CLASS_YOUNG_COUPLE .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_YOUNG_COUPLE .string "KIRA & DAN$", 12 @@ -7754,7 +7754,7 @@ gTrainers:: @ 8310030 @ KIRA_AND_DAN_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNG_COUPLE + .byte TRAINER_CLASS_YOUNG_COUPLE .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_YOUNG_COUPLE .string "KIRA & DAN$", 12 @@ -7766,7 +7766,7 @@ gTrainers:: @ 8310030 @ JOHANNA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BEAUTY + .byte TRAINER_CLASS_BEAUTY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_BEAUTY .string "JOHANNA$", 12 @@ -7778,7 +7778,7 @@ gTrainers:: @ 8310030 @ GERALD .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "GERALD$", 12 @@ -7790,7 +7790,7 @@ gTrainers:: @ 8310030 @ VIVIAN .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_BATTLE_GIRL + .byte TRAINER_CLASS_BATTLE_GIRL .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BATTLE_GIRL .string "VIVIAN$", 12 @@ -7802,7 +7802,7 @@ gTrainers:: @ 8310030 @ DANIELLE .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_BATTLE_GIRL + .byte TRAINER_CLASS_BATTLE_GIRL .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BATTLE_GIRL .string "DANIELLE$", 12 @@ -7814,7 +7814,7 @@ gTrainers:: @ 8310030 @ HIDEO .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_NINJA_BOY + .byte TRAINER_CLASS_NINJA_BOY .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_NINJA_BOY .string "HIDEO$", 12 @@ -7826,7 +7826,7 @@ gTrainers:: @ 8310030 @ KEIGO .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_NINJA_BOY + .byte TRAINER_CLASS_NINJA_BOY .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_NINJA_BOY .string "KEIGO$", 12 @@ -7838,7 +7838,7 @@ gTrainers:: @ 8310030 @ RILEY .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_NINJA_BOY + .byte TRAINER_CLASS_NINJA_BOY .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_NINJA_BOY .string "RILEY$", 12 @@ -7850,7 +7850,7 @@ gTrainers:: @ 8310030 @ FLINT .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_CAMPER + .byte TRAINER_CLASS_CAMPER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CAMPER .string "FLINT$", 12 @@ -7862,7 +7862,7 @@ gTrainers:: @ 8310030 @ ASHLEY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PICNICKER + .byte TRAINER_CLASS_PICNICKER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_PICNICKER .string "ASHLEY$", 12 @@ -7874,7 +7874,7 @@ gTrainers:: @ 8310030 @ WALLY_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_WALLY .string "WALLY$", 12 @@ -7886,7 +7886,7 @@ gTrainers:: @ 8310030 @ WALLY_3 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_WALLY .string "WALLY$", 12 @@ -7898,7 +7898,7 @@ gTrainers:: @ 8310030 @ WALLY_4 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_WALLY .string "WALLY$", 12 @@ -7910,7 +7910,7 @@ gTrainers:: @ 8310030 @ WALLY_5 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_WALLY .string "WALLY$", 12 @@ -7922,7 +7922,7 @@ gTrainers:: @ 8310030 @ WALLY_6 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_WALLY .string "WALLY$", 12 @@ -7934,7 +7934,7 @@ gTrainers:: @ 8310030 @ BRENDAN_13 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BRENDAN .string "BRENDAN$", 12 @@ -7946,7 +7946,7 @@ gTrainers:: @ 8310030 @ BRENDAN_14 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BRENDAN .string "BRENDAN$", 12 @@ -7958,7 +7958,7 @@ gTrainers:: @ 8310030 @ BRENDAN_15 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_BRENDAN .string "BRENDAN$", 12 @@ -7970,7 +7970,7 @@ gTrainers:: @ 8310030 @ MAY_11 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_MAY .string "MAY$", 12 @@ -7982,7 +7982,7 @@ gTrainers:: @ 8310030 @ MAY_12 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_MAY .string "MAY$", 12 @@ -7994,7 +7994,7 @@ gTrainers:: @ 8310030 @ MAY_13 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_MAY .string "MAY$", 12 @@ -8006,7 +8006,7 @@ gTrainers:: @ 8310030 @ JONAH .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "JONAH$", 12 @@ -8018,7 +8018,7 @@ gTrainers:: @ 8310030 @ HENRY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "HENRY$", 12 @@ -8030,7 +8030,7 @@ gTrainers:: @ 8310030 @ ROGER .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "ROGER$", 12 @@ -8042,7 +8042,7 @@ gTrainers:: @ 8310030 @ ALEXA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "ALEXA$", 12 @@ -8054,7 +8054,7 @@ gTrainers:: @ 8310030 @ RUBEN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "RUBEN$", 12 @@ -8066,7 +8066,7 @@ gTrainers:: @ 8310030 @ KOJI_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BLACK_BELT + .byte TRAINER_CLASS_BLACK_BELT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BLACK_BELT .string "KOJI$", 12 @@ -8078,7 +8078,7 @@ gTrainers:: @ 8310030 @ WAYNE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "WAYNE$", 12 @@ -8090,7 +8090,7 @@ gTrainers:: @ 8310030 @ AIDAN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "AIDAN$", 12 @@ -8102,7 +8102,7 @@ gTrainers:: @ 8310030 @ REED .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "REED$", 12 @@ -8114,7 +8114,7 @@ gTrainers:: @ 8310030 @ TISHA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "TISHA$", 12 @@ -8126,7 +8126,7 @@ gTrainers:: @ 8310030 @ TORI_AND_TIA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TWINS + .byte TRAINER_CLASS_TWINS .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_TWINS .string "TORI & TIA$", 12 @@ -8138,7 +8138,7 @@ gTrainers:: @ 8310030 @ KIM_AND_IRIS .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_SR_AND_JR + .byte TRAINER_CLASS_SR_AND_JR .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_SR_AND_JR .string "KIM & IRIS$", 12 @@ -8150,7 +8150,7 @@ gTrainers:: @ 8310030 @ TYRA_AND_IVY .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_SR_AND_JR + .byte TRAINER_CLASS_SR_AND_JR .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_SR_AND_JR .string "TYRA & IVY$", 12 @@ -8162,7 +8162,7 @@ gTrainers:: @ 8310030 @ MEL_AND_PAUL .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_YOUNG_COUPLE + .byte TRAINER_CLASS_YOUNG_COUPLE .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_YOUNG_COUPLE .string "MEL & PAUL$", 12 @@ -8174,7 +8174,7 @@ gTrainers:: @ 8310030 @ JOHN_AND_JAY_1 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_OLD_COUPLE + .byte TRAINER_CLASS_OLD_COUPLE .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_OLD_COUPLE .string "JOHN & JAY$", 12 @@ -8186,7 +8186,7 @@ gTrainers:: @ 8310030 @ JOHN_AND_JAY_2 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_OLD_COUPLE + .byte TRAINER_CLASS_OLD_COUPLE .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_OLD_COUPLE .string "JOHN & JAY$", 12 @@ -8198,7 +8198,7 @@ gTrainers:: @ 8310030 @ JOHN_AND_JAY_3 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_OLD_COUPLE + .byte TRAINER_CLASS_OLD_COUPLE .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_OLD_COUPLE .string "JOHN & JAY$", 12 @@ -8210,7 +8210,7 @@ gTrainers:: @ 8310030 @ JOHN_AND_JAY_4 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_OLD_COUPLE + .byte TRAINER_CLASS_OLD_COUPLE .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_OLD_COUPLE .string "JOHN & JAY$", 12 @@ -8222,7 +8222,7 @@ gTrainers:: @ 8310030 @ JOHN_AND_JAY_5 .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_OLD_COUPLE + .byte TRAINER_CLASS_OLD_COUPLE .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_OLD_COUPLE .string "JOHN & JAY$", 12 @@ -8234,7 +8234,7 @@ gTrainers:: @ 8310030 @ RELI_AND_IAN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SIS_AND_BRO + .byte TRAINER_CLASS_SIS_AND_BRO .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SIS_AND_BRO .string "RELI & IAN$", 12 @@ -8246,7 +8246,7 @@ gTrainers:: @ 8310030 @ LILA_AND_ROY_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SIS_AND_BRO + .byte TRAINER_CLASS_SIS_AND_BRO .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SIS_AND_BRO .string "LILA & ROY$", 12 @@ -8258,7 +8258,7 @@ gTrainers:: @ 8310030 @ LILA_AND_ROY_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SIS_AND_BRO + .byte TRAINER_CLASS_SIS_AND_BRO .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SIS_AND_BRO .string "LILA & ROY$", 12 @@ -8270,7 +8270,7 @@ gTrainers:: @ 8310030 @ LILA_AND_ROY_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SIS_AND_BRO + .byte TRAINER_CLASS_SIS_AND_BRO .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SIS_AND_BRO .string "LILA & ROY$", 12 @@ -8282,7 +8282,7 @@ gTrainers:: @ 8310030 @ LILA_AND_ROY_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SIS_AND_BRO + .byte TRAINER_CLASS_SIS_AND_BRO .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SIS_AND_BRO .string "LILA & ROY$", 12 @@ -8294,7 +8294,7 @@ gTrainers:: @ 8310030 @ LILA_AND_ROY_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SIS_AND_BRO + .byte TRAINER_CLASS_SIS_AND_BRO .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SIS_AND_BRO .string "LILA & ROY$", 12 @@ -8306,7 +8306,7 @@ gTrainers:: @ 8310030 @ LISA_AND_RAY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SIS_AND_BRO + .byte TRAINER_CLASS_SIS_AND_BRO .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SIS_AND_BRO .string "LISA & RAY$", 12 @@ -8318,7 +8318,7 @@ gTrainers:: @ 8310030 @ CHRIS .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "CHRIS$", 12 @@ -8330,7 +8330,7 @@ gTrainers:: @ 8310030 @ DAWSON .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_RICH_BOY + .byte TRAINER_CLASS_RICH_BOY .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music .byte TRAINER_PIC_RICH_BOY .string "DAWSON$", 12 @@ -8342,7 +8342,7 @@ gTrainers:: @ 8310030 @ SARAH .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_LADY + .byte TRAINER_CLASS_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LADY .string "SARAH$", 12 @@ -8354,7 +8354,7 @@ gTrainers:: @ 8310030 @ DARIAN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "DARIAN$", 12 @@ -8366,7 +8366,7 @@ gTrainers:: @ 8310030 @ HAILEY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TUBER_1 + .byte TRAINER_CLASS_TUBER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_TUBER_F .string "HAILEY$", 12 @@ -8378,7 +8378,7 @@ gTrainers:: @ 8310030 @ CHANDLER .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TUBER_2 + .byte TRAINER_CLASS_TUBER_2 .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_TUBER_M .string "CHANDLER$", 12 @@ -8390,7 +8390,7 @@ gTrainers:: @ 8310030 @ KALEB .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_NAME_POKEFAN + .byte TRAINER_CLASS_POKEFAN .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music .byte TRAINER_PIC_WINSTRATE_M .string "KALEB$", 12 @@ -8402,7 +8402,7 @@ gTrainers:: @ 8310030 @ JOSEPH .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_GUITARIST + .byte TRAINER_CLASS_GUITARIST .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_GUITARIST .string "JOSEPH$", 12 @@ -8414,7 +8414,7 @@ gTrainers:: @ 8310030 @ ALYSSA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_CYCLING_TRIATHLETE_F .string "ALYSSA$", 12 @@ -8426,7 +8426,7 @@ gTrainers:: @ 8310030 @ MARCOS .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_GUITARIST + .byte TRAINER_CLASS_GUITARIST .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_GUITARIST .string "MARCOS$", 12 @@ -8438,7 +8438,7 @@ gTrainers:: @ 8310030 @ RHETT .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BLACK_BELT + .byte TRAINER_CLASS_BLACK_BELT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BLACK_BELT .string "RHETT$", 12 @@ -8450,7 +8450,7 @@ gTrainers:: @ 8310030 @ TYRON .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_CAMPER + .byte TRAINER_CLASS_CAMPER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CAMPER .string "TYRON$", 12 @@ -8462,7 +8462,7 @@ gTrainers:: @ 8310030 @ CELINA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_AROMA_LADY + .byte TRAINER_CLASS_AROMA_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_AROMA_LADY .string "CELINA$", 12 @@ -8474,7 +8474,7 @@ gTrainers:: @ 8310030 @ BIANCA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PICNICKER + .byte TRAINER_CLASS_PICNICKER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_PICNICKER .string "BIANCA$", 12 @@ -8486,7 +8486,7 @@ gTrainers:: @ 8310030 @ HAYDEN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_KINDLER + .byte TRAINER_CLASS_KINDLER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_KINDLER .string "HAYDEN$", 12 @@ -8498,7 +8498,7 @@ gTrainers:: @ 8310030 @ SOPHIE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PICNICKER + .byte TRAINER_CLASS_PICNICKER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_PICNICKER .string "SOPHIE$", 12 @@ -8510,7 +8510,7 @@ gTrainers:: @ 8310030 @ COBY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "COBY$", 12 @@ -8522,7 +8522,7 @@ gTrainers:: @ 8310030 @ LAWRENCE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_CAMPER + .byte TRAINER_CLASS_CAMPER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CAMPER .string "LAWRENCE$", 12 @@ -8534,7 +8534,7 @@ gTrainers:: @ 8310030 @ WYATT .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_POKEMANIAC + .byte TRAINER_CLASS_POKEMANIAC .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_POKEMANIAC .string "WYATT$", 12 @@ -8546,7 +8546,7 @@ gTrainers:: @ 8310030 @ ANGELINA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PICNICKER + .byte TRAINER_CLASS_PICNICKER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_PICNICKER .string "ANGELINA$", 12 @@ -8558,7 +8558,7 @@ gTrainers:: @ 8310030 @ KAI .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FISHERMAN + .byte TRAINER_CLASS_FISHERMAN .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_FISHERMAN .string "KAI$", 12 @@ -8570,7 +8570,7 @@ gTrainers:: @ 8310030 @ CHARLOTTE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PICNICKER + .byte TRAINER_CLASS_PICNICKER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_PICNICKER .string "CHARLOTTE$", 12 @@ -8582,7 +8582,7 @@ gTrainers:: @ 8310030 @ DEANDRE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNGSTER + .byte TRAINER_CLASS_YOUNGSTER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_YOUNGSTER .string "DEANDRE$", 12 @@ -8594,7 +8594,7 @@ gTrainers:: @ 8310030 @ GRUNT_38 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_M .string "GRUNT$", 12 @@ -8606,7 +8606,7 @@ gTrainers:: @ 8310030 @ GRUNT_39 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_M .string "GRUNT$", 12 @@ -8618,7 +8618,7 @@ gTrainers:: @ 8310030 @ GRUNT_40 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_M .string "GRUNT$", 12 @@ -8630,7 +8630,7 @@ gTrainers:: @ 8310030 @ GRUNT_41 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_M .string "GRUNT$", 12 @@ -8642,7 +8642,7 @@ gTrainers:: @ 8310030 @ GRUNT_42 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_M .string "GRUNT$", 12 @@ -8654,7 +8654,7 @@ gTrainers:: @ 8310030 @ GRUNT_43 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_M .string "GRUNT$", 12 @@ -8666,7 +8666,7 @@ gTrainers:: @ 8310030 @ GRUNT_44 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_M .string "GRUNT$", 12 @@ -8678,7 +8678,7 @@ gTrainers:: @ 8310030 @ GRUNT_45 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_M .string "GRUNT$", 12 @@ -8690,7 +8690,7 @@ gTrainers:: @ 8310030 @ GRUNT_46 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_M .string "GRUNT$", 12 @@ -8702,7 +8702,7 @@ gTrainers:: @ 8310030 @ GRUNT_47 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_M .string "GRUNT$", 12 @@ -8714,7 +8714,7 @@ gTrainers:: @ 8310030 @ GRUNT_48 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_M .string "GRUNT$", 12 @@ -8726,7 +8726,7 @@ gTrainers:: @ 8310030 @ GRUNT_49 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_M .string "GRUNT$", 12 @@ -8738,7 +8738,7 @@ gTrainers:: @ 8310030 @ GRUNT_50 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_M .string "GRUNT$", 12 @@ -8750,7 +8750,7 @@ gTrainers:: @ 8310030 @ GRUNT_51 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_F .string "GRUNT$", 12 @@ -8762,7 +8762,7 @@ gTrainers:: @ 8310030 @ GRUNT_52 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_F .string "GRUNT$", 12 @@ -8774,7 +8774,7 @@ gTrainers:: @ 8310030 @ GRUNT_53 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TEAM_MAGMA + .byte TRAINER_CLASS_TEAM_MAGMA .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_GRUNT_F .string "GRUNT$", 12 @@ -8786,7 +8786,7 @@ gTrainers:: @ 8310030 @ TABITHA_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_MAGMA_ADMIN + .byte TRAINER_CLASS_MAGMA_ADMIN .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_ADMIN .string "TABITHA$", 12 @@ -8798,7 +8798,7 @@ gTrainers:: @ 8310030 @ DARCY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "DARCY$", 12 @@ -8810,7 +8810,7 @@ gTrainers:: @ 8310030 @ MAXIE_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_MAGMA_LEADER + .byte TRAINER_CLASS_MAGMA_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music .byte TRAINER_PIC_MAGMA_LEADER_MAXIE .string "MAXIE$", 12 @@ -8822,7 +8822,7 @@ gTrainers:: @ 8310030 @ PETE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_M + .byte TRAINER_CLASS_SWIMMER_M .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_M .string "PETE$", 12 @@ -8834,7 +8834,7 @@ gTrainers:: @ 8310030 @ ISABELLE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SWIMMER_F + .byte TRAINER_CLASS_SWIMMER_F .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMER_F .string "ISABELLE$", 12 @@ -8846,7 +8846,7 @@ gTrainers:: @ 8310030 @ ANDRES_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_RUIN_MANIAC + .byte TRAINER_CLASS_RUIN_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_RUIN_MANIAC .string "ANDRES$", 12 @@ -8858,7 +8858,7 @@ gTrainers:: @ 8310030 @ JOSUE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "JOSUE$", 12 @@ -8870,7 +8870,7 @@ gTrainers:: @ 8310030 @ CAMRON .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M .string "CAMRON$", 12 @@ -8882,7 +8882,7 @@ gTrainers:: @ 8310030 @ CORY_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SAILOR + .byte TRAINER_CLASS_SAILOR .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SAILOR .string "CORY$", 12 @@ -8894,7 +8894,7 @@ gTrainers:: @ 8310030 @ CAROLINA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "CAROLINA$", 12 @@ -8906,7 +8906,7 @@ gTrainers:: @ 8310030 @ ELIJAH .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "ELIJAH$", 12 @@ -8918,7 +8918,7 @@ gTrainers:: @ 8310030 @ CELIA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PICNICKER + .byte TRAINER_CLASS_PICNICKER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music .byte TRAINER_PIC_PICNICKER .string "CELIA$", 12 @@ -8930,7 +8930,7 @@ gTrainers:: @ 8310030 @ BRYAN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_RUIN_MANIAC + .byte TRAINER_CLASS_RUIN_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_RUIN_MANIAC .string "BRYAN$", 12 @@ -8942,7 +8942,7 @@ gTrainers:: @ 8310030 @ BRANDEN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_CAMPER + .byte TRAINER_CLASS_CAMPER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_CAMPER .string "BRANDEN$", 12 @@ -8954,7 +8954,7 @@ gTrainers:: @ 8310030 @ BRYANT .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_KINDLER + .byte TRAINER_CLASS_KINDLER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_KINDLER .string "BRYANT$", 12 @@ -8966,7 +8966,7 @@ gTrainers:: @ 8310030 @ SHAYLA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_AROMA_LADY + .byte TRAINER_CLASS_AROMA_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_AROMA_LADY .string "SHAYLA$", 12 @@ -8978,7 +8978,7 @@ gTrainers:: @ 8310030 @ KYRA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_RUNNING_TRIATHLETE_F .string "KYRA$", 12 @@ -8990,7 +8990,7 @@ gTrainers:: @ 8310030 @ JAIDEN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_NINJA_BOY + .byte TRAINER_CLASS_NINJA_BOY .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_NINJA_BOY .string "JAIDEN$", 12 @@ -9002,7 +9002,7 @@ gTrainers:: @ 8310030 @ ALIX .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_F .string "ALIX$", 12 @@ -9014,7 +9014,7 @@ gTrainers:: @ 8310030 @ HELENE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BATTLE_GIRL + .byte TRAINER_CLASS_BATTLE_GIRL .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BATTLE_GIRL .string "HELENE$", 12 @@ -9026,7 +9026,7 @@ gTrainers:: @ 8310030 @ MARLENE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_F .string "MARLENE$", 12 @@ -9038,7 +9038,7 @@ gTrainers:: @ 8310030 @ DEVAN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "DEVAN$", 12 @@ -9050,7 +9050,7 @@ gTrainers:: @ 8310030 @ JOHNSON .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_YOUNGSTER + .byte TRAINER_CLASS_YOUNGSTER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_YOUNGSTER .string "JOHNSON$", 12 @@ -9062,7 +9062,7 @@ gTrainers:: @ 8310030 @ MELINA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_RUNNING_TRIATHLETE_F .string "MELINA$", 12 @@ -9074,7 +9074,7 @@ gTrainers:: @ 8310030 @ BRANDI .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_F .string "BRANDI$", 12 @@ -9086,7 +9086,7 @@ gTrainers:: @ 8310030 @ AISHA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BATTLE_GIRL + .byte TRAINER_CLASS_BATTLE_GIRL .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BATTLE_GIRL .string "AISHA$", 12 @@ -9098,7 +9098,7 @@ gTrainers:: @ 8310030 @ MAKAYLA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_EXPERT + .byte TRAINER_CLASS_EXPERT .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_EXPERT_F .string "MAKAYLA$", 12 @@ -9110,7 +9110,7 @@ gTrainers:: @ 8310030 @ FABIAN .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_GUITARIST + .byte TRAINER_CLASS_GUITARIST .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_GUITARIST .string "FABIAN$", 12 @@ -9122,7 +9122,7 @@ gTrainers:: @ 8310030 @ DAYTON .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_KINDLER + .byte TRAINER_CLASS_KINDLER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_KINDLER .string "DAYTON$", 12 @@ -9134,7 +9134,7 @@ gTrainers:: @ 8310030 @ RACHEL .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PARASOL_LADY + .byte TRAINER_CLASS_PARASOL_LADY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_PARASOL_LADY .string "RACHEL$", 12 @@ -9146,7 +9146,7 @@ gTrainers:: @ 8310030 @ LEONEL .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_M .string "LEONEL$", 12 @@ -9158,7 +9158,7 @@ gTrainers:: @ 8310030 @ CALLIE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BATTLE_GIRL + .byte TRAINER_CLASS_BATTLE_GIRL .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BATTLE_GIRL .string "CALLIE$", 12 @@ -9170,7 +9170,7 @@ gTrainers:: @ 8310030 @ CALE .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BUG_MANIAC + .byte TRAINER_CLASS_BUG_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_BUG_MANIAC .string "CALE$", 12 @@ -9182,7 +9182,7 @@ gTrainers:: @ 8310030 @ MYLES .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_BREEDER + .byte TRAINER_CLASS_PKMN_BREEDER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_BREEDER_M .string "MYLES$", 12 @@ -9194,7 +9194,7 @@ gTrainers:: @ 8310030 @ PAT .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_BREEDER + .byte TRAINER_CLASS_PKMN_BREEDER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_BREEDER_F .string "PAT$", 12 @@ -9206,7 +9206,7 @@ gTrainers:: @ 8310030 @ CRISTIN_1 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "CRISTIN$", 12 @@ -9218,7 +9218,7 @@ gTrainers:: @ 8310030 @ MAY_14 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_MAY .string "MAY$", 12 @@ -9230,7 +9230,7 @@ gTrainers:: @ 8310030 @ MAY_15 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_MAY .string "MAY$", 12 @@ -9242,7 +9242,7 @@ gTrainers:: @ 8310030 @ ROXANNE_2 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_ROXANNE .string "ROXANNE$", 12 @@ -9254,7 +9254,7 @@ gTrainers:: @ 8310030 @ ROXANNE_3 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_ROXANNE .string "ROXANNE$", 12 @@ -9266,7 +9266,7 @@ gTrainers:: @ 8310030 @ ROXANNE_4 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_ROXANNE .string "ROXANNE$", 12 @@ -9278,7 +9278,7 @@ gTrainers:: @ 8310030 @ ROXANNE_5 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_ROXANNE .string "ROXANNE$", 12 @@ -9290,7 +9290,7 @@ gTrainers:: @ 8310030 @ BRAWLY_2 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_BRAWLY .string "BRAWLY$", 12 @@ -9302,7 +9302,7 @@ gTrainers:: @ 8310030 @ BRAWLY_3 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_BRAWLY .string "BRAWLY$", 12 @@ -9314,7 +9314,7 @@ gTrainers:: @ 8310030 @ BRAWLY_4 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_BRAWLY .string "BRAWLY$", 12 @@ -9326,7 +9326,7 @@ gTrainers:: @ 8310030 @ BRAWLY_5 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_BRAWLY .string "BRAWLY$", 12 @@ -9338,7 +9338,7 @@ gTrainers:: @ 8310030 @ WATTSON_2 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_WATTSON .string "WATTSON$", 12 @@ -9350,7 +9350,7 @@ gTrainers:: @ 8310030 @ WATTSON_3 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_WATTSON .string "WATTSON$", 12 @@ -9362,7 +9362,7 @@ gTrainers:: @ 8310030 @ WATTSON_4 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_WATTSON .string "WATTSON$", 12 @@ -9374,7 +9374,7 @@ gTrainers:: @ 8310030 @ WATTSON_5 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_WATTSON .string "WATTSON$", 12 @@ -9386,7 +9386,7 @@ gTrainers:: @ 8310030 @ FLANNERY_2 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_FLANNERY .string "FLANNERY$", 12 @@ -9398,7 +9398,7 @@ gTrainers:: @ 8310030 @ FLANNERY_3 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_FLANNERY .string "FLANNERY$", 12 @@ -9410,7 +9410,7 @@ gTrainers:: @ 8310030 @ FLANNERY_4 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_FLANNERY .string "FLANNERY$", 12 @@ -9422,7 +9422,7 @@ gTrainers:: @ 8310030 @ FLANNERY_5 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_FLANNERY .string "FLANNERY$", 12 @@ -9434,7 +9434,7 @@ gTrainers:: @ 8310030 @ NORMAN_2 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_NORMAN .string "NORMAN$", 12 @@ -9446,7 +9446,7 @@ gTrainers:: @ 8310030 @ NORMAN_3 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_NORMAN .string "NORMAN$", 12 @@ -9458,7 +9458,7 @@ gTrainers:: @ 8310030 @ NORMAN_4 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_NORMAN .string "NORMAN$", 12 @@ -9470,7 +9470,7 @@ gTrainers:: @ 8310030 @ NORMAN_5 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_NORMAN .string "NORMAN$", 12 @@ -9482,7 +9482,7 @@ gTrainers:: @ 8310030 @ WINONA_2 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_WINONA .string "WINONA$", 12 @@ -9494,7 +9494,7 @@ gTrainers:: @ 8310030 @ WINONA_3 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_WINONA .string "WINONA$", 12 @@ -9506,7 +9506,7 @@ gTrainers:: @ 8310030 @ WINONA_4 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_WINONA .string "WINONA$", 12 @@ -9518,7 +9518,7 @@ gTrainers:: @ 8310030 @ WINONA_5 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_WINONA .string "WINONA$", 12 @@ -9530,7 +9530,7 @@ gTrainers:: @ 8310030 @ TATE_AND_LIZA_2 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_TATE_AND_LIZA .string "TATE&LIZA$", 12 @@ -9542,7 +9542,7 @@ gTrainers:: @ 8310030 @ TATE_AND_LIZA_3 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_TATE_AND_LIZA .string "TATE&LIZA$", 12 @@ -9554,7 +9554,7 @@ gTrainers:: @ 8310030 @ TATE_AND_LIZA_4 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_TATE_AND_LIZA .string "TATE&LIZA$", 12 @@ -9566,7 +9566,7 @@ gTrainers:: @ 8310030 @ TATE_AND_LIZA_5 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_TATE_AND_LIZA .string "TATE&LIZA$", 12 @@ -9578,7 +9578,7 @@ gTrainers:: @ 8310030 @ JUAN_2 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_JUAN .string "JUAN$", 12 @@ -9590,7 +9590,7 @@ gTrainers:: @ 8310030 @ JUAN_3 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_JUAN .string "JUAN$", 12 @@ -9602,7 +9602,7 @@ gTrainers:: @ 8310030 @ JUAN_4 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_JUAN .string "JUAN$", 12 @@ -9614,7 +9614,7 @@ gTrainers:: @ 8310030 @ JUAN_5 .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_LEADER + .byte TRAINER_CLASS_LEADER .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_LEADER_JUAN .string "JUAN$", 12 @@ -9626,7 +9626,7 @@ gTrainers:: @ 8310030 @ ANGELO .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_BUG_MANIAC + .byte TRAINER_CLASS_BUG_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music .byte TRAINER_PIC_BUG_MANIAC .string "ANGELO$", 12 @@ -9638,7 +9638,7 @@ gTrainers:: @ 8310030 @ DARIUS .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BIRD_KEEPER + .byte TRAINER_CLASS_BIRD_KEEPER .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_BIRD_KEEPER .string "DARIUS$", 12 @@ -9650,7 +9650,7 @@ gTrainers:: @ 8310030 @ STEVEN .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_STEVEN .string "STEVEN$", 12 @@ -9662,7 +9662,7 @@ gTrainers:: @ 8310030 @ ANABEL .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SALON_MAIDEN + .byte TRAINER_CLASS_SALON_MAIDEN .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SALON_MAIDEN_ANABEL .string "ANABEL$", 12 @@ -9674,7 +9674,7 @@ gTrainers:: @ 8310030 @ TUCKER .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_DOME_ACE + .byte TRAINER_CLASS_DOME_ACE .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_DOME_ACE_TUCKER .string "TUCKER$", 12 @@ -9686,7 +9686,7 @@ gTrainers:: @ 8310030 @ SPENSER .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PALACE_MAVEN + .byte TRAINER_CLASS_PALACE_MAVEN .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_PALACE_MAVEN_SPENSER .string "SPENSER$", 12 @@ -9698,7 +9698,7 @@ gTrainers:: @ 8310030 @ GRETA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_ARENA_TYCOON + .byte TRAINER_CLASS_ARENA_TYCOON .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_ARENA_TYCOON_GRETA .string "GRETA$", 12 @@ -9710,7 +9710,7 @@ gTrainers:: @ 8310030 @ NOLAND .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_FACTORY_HEAD + .byte TRAINER_CLASS_FACTORY_HEAD .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_FACTORY_HEAD_NOLAND .string "NOLAND$", 12 @@ -9722,7 +9722,7 @@ gTrainers:: @ 8310030 @ LUCY .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PIKE_QUEEN + .byte TRAINER_CLASS_PIKE_QUEEN .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_PIKE_QUEEN_LUCY .string "LUCY$", 12 @@ -9734,7 +9734,7 @@ gTrainers:: @ 8310030 @ BRANDON .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PYRAMID_KING + .byte TRAINER_CLASS_PYRAMID_KING .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_PYRAMID_KING_BRANDON .string "BRANDON$", 12 @@ -9746,7 +9746,7 @@ gTrainers:: @ 8310030 @ ANDRES_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_RUIN_MANIAC + .byte TRAINER_CLASS_RUIN_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_RUIN_MANIAC .string "ANDRES$", 12 @@ -9758,7 +9758,7 @@ gTrainers:: @ 8310030 @ ANDRES_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_RUIN_MANIAC + .byte TRAINER_CLASS_RUIN_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_RUIN_MANIAC .string "ANDRES$", 12 @@ -9770,7 +9770,7 @@ gTrainers:: @ 8310030 @ ANDRES_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_RUIN_MANIAC + .byte TRAINER_CLASS_RUIN_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_RUIN_MANIAC .string "ANDRES$", 12 @@ -9782,7 +9782,7 @@ gTrainers:: @ 8310030 @ ANDRES_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_RUIN_MANIAC + .byte TRAINER_CLASS_RUIN_MANIAC .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_RUIN_MANIAC .string "ANDRES$", 12 @@ -9794,7 +9794,7 @@ gTrainers:: @ 8310030 @ CORY_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SAILOR + .byte TRAINER_CLASS_SAILOR .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SAILOR .string "CORY$", 12 @@ -9806,7 +9806,7 @@ gTrainers:: @ 8310030 @ CORY_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SAILOR + .byte TRAINER_CLASS_SAILOR .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SAILOR .string "CORY$", 12 @@ -9818,7 +9818,7 @@ gTrainers:: @ 8310030 @ CORY_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SAILOR + .byte TRAINER_CLASS_SAILOR .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SAILOR .string "CORY$", 12 @@ -9830,7 +9830,7 @@ gTrainers:: @ 8310030 @ CORY_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_SAILOR + .byte TRAINER_CLASS_SAILOR .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_SAILOR .string "CORY$", 12 @@ -9842,7 +9842,7 @@ gTrainers:: @ 8310030 @ PABLO_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M .string "PABLO$", 12 @@ -9854,7 +9854,7 @@ gTrainers:: @ 8310030 @ PABLO_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M .string "PABLO$", 12 @@ -9866,7 +9866,7 @@ gTrainers:: @ 8310030 @ PABLO_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M .string "PABLO$", 12 @@ -9878,7 +9878,7 @@ gTrainers:: @ 8310030 @ PABLO_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_TRIATHLETE + .byte TRAINER_CLASS_TRIATHLETE .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M .string "PABLO$", 12 @@ -9890,7 +9890,7 @@ gTrainers:: @ 8310030 @ KOJI_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BLACK_BELT + .byte TRAINER_CLASS_BLACK_BELT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BLACK_BELT .string "KOJI$", 12 @@ -9902,7 +9902,7 @@ gTrainers:: @ 8310030 @ KOJI_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BLACK_BELT + .byte TRAINER_CLASS_BLACK_BELT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BLACK_BELT .string "KOJI$", 12 @@ -9914,7 +9914,7 @@ gTrainers:: @ 8310030 @ KOJI_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BLACK_BELT + .byte TRAINER_CLASS_BLACK_BELT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BLACK_BELT .string "KOJI$", 12 @@ -9926,7 +9926,7 @@ gTrainers:: @ 8310030 @ KOJI_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BLACK_BELT + .byte TRAINER_CLASS_BLACK_BELT .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_BLACK_BELT .string "KOJI$", 12 @@ -9938,7 +9938,7 @@ gTrainers:: @ 8310030 @ CRISTIN_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "CRISTIN$", 12 @@ -9950,7 +9950,7 @@ gTrainers:: @ 8310030 @ CRISTIN_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "CRISTIN$", 12 @@ -9962,7 +9962,7 @@ gTrainers:: @ 8310030 @ CRISTIN_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "CRISTIN$", 12 @@ -9974,7 +9974,7 @@ gTrainers:: @ 8310030 @ CRISTIN_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_COOLTRAINER_1 + .byte TRAINER_CLASS_COOLTRAINER_1 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music .byte TRAINER_PIC_COOL_TRAINER_F .string "CRISTIN$", 12 @@ -9986,7 +9986,7 @@ gTrainers:: @ 8310030 @ FERNANDO_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_GUITARIST + .byte TRAINER_CLASS_GUITARIST .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_GUITARIST .string "FERNANDO$", 12 @@ -9998,7 +9998,7 @@ gTrainers:: @ 8310030 @ FERNANDO_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_GUITARIST + .byte TRAINER_CLASS_GUITARIST .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_GUITARIST .string "FERNANDO$", 12 @@ -10010,7 +10010,7 @@ gTrainers:: @ 8310030 @ FERNANDO_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_GUITARIST + .byte TRAINER_CLASS_GUITARIST .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_GUITARIST .string "FERNANDO$", 12 @@ -10022,7 +10022,7 @@ gTrainers:: @ 8310030 @ FERNANDO_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_GUITARIST + .byte TRAINER_CLASS_GUITARIST .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_GUITARIST .string "FERNANDO$", 12 @@ -10034,7 +10034,7 @@ gTrainers:: @ 8310030 @ SAWYER_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "SAWYER$", 12 @@ -10046,7 +10046,7 @@ gTrainers:: @ 8310030 @ SAWYER_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "SAWYER$", 12 @@ -10058,7 +10058,7 @@ gTrainers:: @ 8310030 @ SAWYER_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "SAWYER$", 12 @@ -10070,7 +10070,7 @@ gTrainers:: @ 8310030 @ SAWYER_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_HIKER + .byte TRAINER_CLASS_HIKER .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music .byte TRAINER_PIC_HIKER .string "SAWYER$", 12 @@ -10082,7 +10082,7 @@ gTrainers:: @ 8310030 @ GABRIELLE_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_BREEDER + .byte TRAINER_CLASS_PKMN_BREEDER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_BREEDER_F .string "GABRIELLE$", 12 @@ -10094,7 +10094,7 @@ gTrainers:: @ 8310030 @ GABRIELLE_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_BREEDER + .byte TRAINER_CLASS_PKMN_BREEDER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_BREEDER_F .string "GABRIELLE$", 12 @@ -10106,7 +10106,7 @@ gTrainers:: @ 8310030 @ GABRIELLE_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_BREEDER + .byte TRAINER_CLASS_PKMN_BREEDER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_BREEDER_F .string "GABRIELLE$", 12 @@ -10118,7 +10118,7 @@ gTrainers:: @ 8310030 @ GABRIELLE_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_BREEDER + .byte TRAINER_CLASS_PKMN_BREEDER .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_POKEMON_BREEDER_F .string "GABRIELLE$", 12 @@ -10130,7 +10130,7 @@ gTrainers:: @ 8310030 @ THALIA_2 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BEAUTY + .byte TRAINER_CLASS_BEAUTY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_BEAUTY .string "THALIA$", 12 @@ -10142,7 +10142,7 @@ gTrainers:: @ 8310030 @ THALIA_3 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BEAUTY + .byte TRAINER_CLASS_BEAUTY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_BEAUTY .string "THALIA$", 12 @@ -10154,7 +10154,7 @@ gTrainers:: @ 8310030 @ THALIA_4 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BEAUTY + .byte TRAINER_CLASS_BEAUTY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_BEAUTY .string "THALIA$", 12 @@ -10166,7 +10166,7 @@ gTrainers:: @ 8310030 @ THALIA_5 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_BEAUTY + .byte TRAINER_CLASS_BEAUTY .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music .byte TRAINER_PIC_BEAUTY .string "THALIA$", 12 @@ -10178,7 +10178,7 @@ gTrainers:: @ 8310030 @ MARIELA .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_F .string "MARIELA$", 12 @@ -10190,7 +10190,7 @@ gTrainers:: @ 8310030 @ ALVARO .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PSYCHIC + .byte TRAINER_CLASS_PSYCHIC .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music .byte TRAINER_PIC_PSYCHIC_M .string "ALVARO$", 12 @@ -10202,7 +10202,7 @@ gTrainers:: @ 8310030 @ EVERETT .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_GENTLEMAN + .byte TRAINER_CLASS_GENTLEMAN .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music .byte TRAINER_PIC_GENTLEMAN .string "EVERETT$", 12 @@ -10214,7 +10214,7 @@ gTrainers:: @ 8310030 @ RED .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_RED .string "RED$", 12 @@ -10226,7 +10226,7 @@ gTrainers:: @ 8310030 @ LEAF .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3 + .byte TRAINER_CLASS_PKMN_TRAINER_3 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_LEAF .string "LEAF$", 12 @@ -10238,7 +10238,7 @@ gTrainers:: @ 8310030 @ BRENDAN_16 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_4 + .byte TRAINER_CLASS_PKMN_TRAINER_4 .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN .string "BRENDAN$", 12 @@ -10250,7 +10250,7 @@ gTrainers:: @ 8310030 @ MAY_16 .byte 0 @ party type flags - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_4 + .byte TRAINER_CLASS_PKMN_TRAINER_4 .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music .byte TRAINER_PIC_RUBY_SAPPHIRE_MAY .string "MAY$", 12 diff --git a/data/type_effectiveness.inc b/data/type_effectiveness.inc index a246155921..0739199c2e 100644 --- a/data/type_effectiveness.inc +++ b/data/type_effectiveness.inc @@ -1,119 +1,119 @@ @ format: attacking type, defending type, damage multiplier @ the multiplier is a (decimal) fixed-point number: -@ 20 is ×2.0 -@ 05 is ×0.5 -@ 00 is ×0 +@ 20 is ×2.0 +@ 05 is ×0.5 +@ 00 is ×0 gTypeEffectiveness:: @ 831ACE8 - .byte TYPE_NORMAL, TYPE_ROCK, 5 - .byte TYPE_NORMAL, TYPE_STEEL, 5 - .byte TYPE_FIRE, TYPE_FIRE, 5 - .byte TYPE_FIRE, TYPE_WATER, 5 - .byte TYPE_FIRE, TYPE_GRASS, 20 - .byte TYPE_FIRE, TYPE_ICE, 20 - .byte TYPE_FIRE, TYPE_BUG, 20 - .byte TYPE_FIRE, TYPE_ROCK, 5 - .byte TYPE_FIRE, TYPE_DRAGON, 5 - .byte TYPE_FIRE, TYPE_STEEL, 20 - .byte TYPE_WATER, TYPE_FIRE, 20 - .byte TYPE_WATER, TYPE_WATER, 5 - .byte TYPE_WATER, TYPE_GRASS, 5 - .byte TYPE_WATER, TYPE_GROUND, 20 - .byte TYPE_WATER, TYPE_ROCK, 20 - .byte TYPE_WATER, TYPE_DRAGON, 5 - .byte TYPE_ELECTRIC, TYPE_WATER, 20 + .byte TYPE_NORMAL, TYPE_ROCK, 5 + .byte TYPE_NORMAL, TYPE_STEEL, 5 + .byte TYPE_FIRE, TYPE_FIRE, 5 + .byte TYPE_FIRE, TYPE_WATER, 5 + .byte TYPE_FIRE, TYPE_GRASS, 20 + .byte TYPE_FIRE, TYPE_ICE, 20 + .byte TYPE_FIRE, TYPE_BUG, 20 + .byte TYPE_FIRE, TYPE_ROCK, 5 + .byte TYPE_FIRE, TYPE_DRAGON, 5 + .byte TYPE_FIRE, TYPE_STEEL, 20 + .byte TYPE_WATER, TYPE_FIRE, 20 + .byte TYPE_WATER, TYPE_WATER, 5 + .byte TYPE_WATER, TYPE_GRASS, 5 + .byte TYPE_WATER, TYPE_GROUND, 20 + .byte TYPE_WATER, TYPE_ROCK, 20 + .byte TYPE_WATER, TYPE_DRAGON, 5 + .byte TYPE_ELECTRIC, TYPE_WATER, 20 .byte TYPE_ELECTRIC, TYPE_ELECTRIC, 5 - .byte TYPE_ELECTRIC, TYPE_GRASS, 5 + .byte TYPE_ELECTRIC, TYPE_GRASS, 5 .byte TYPE_ELECTRIC, TYPE_GROUND, 0 .byte TYPE_ELECTRIC, TYPE_FLYING, 20 .byte TYPE_ELECTRIC, TYPE_DRAGON, 5 - .byte TYPE_GRASS, TYPE_FIRE, 5 - .byte TYPE_GRASS, TYPE_WATER, 20 - .byte TYPE_GRASS, TYPE_GRASS, 5 - .byte TYPE_GRASS, TYPE_POISON, 5 - .byte TYPE_GRASS, TYPE_GROUND, 20 - .byte TYPE_GRASS, TYPE_FLYING, 5 - .byte TYPE_GRASS, TYPE_BUG, 5 - .byte TYPE_GRASS, TYPE_ROCK, 20 - .byte TYPE_GRASS, TYPE_DRAGON, 5 - .byte TYPE_GRASS, TYPE_STEEL, 5 - .byte TYPE_ICE, TYPE_WATER, 5 - .byte TYPE_ICE, TYPE_GRASS, 20 - .byte TYPE_ICE, TYPE_ICE, 5 - .byte TYPE_ICE, TYPE_GROUND, 20 - .byte TYPE_ICE, TYPE_FLYING, 20 - .byte TYPE_ICE, TYPE_DRAGON, 20 - .byte TYPE_ICE, TYPE_STEEL, 5 - .byte TYPE_ICE, TYPE_FIRE, 5 + .byte TYPE_GRASS, TYPE_FIRE, 5 + .byte TYPE_GRASS, TYPE_WATER, 20 + .byte TYPE_GRASS, TYPE_GRASS, 5 + .byte TYPE_GRASS, TYPE_POISON, 5 + .byte TYPE_GRASS, TYPE_GROUND, 20 + .byte TYPE_GRASS, TYPE_FLYING, 5 + .byte TYPE_GRASS, TYPE_BUG, 5 + .byte TYPE_GRASS, TYPE_ROCK, 20 + .byte TYPE_GRASS, TYPE_DRAGON, 5 + .byte TYPE_GRASS, TYPE_STEEL, 5 + .byte TYPE_ICE, TYPE_WATER, 5 + .byte TYPE_ICE, TYPE_GRASS, 20 + .byte TYPE_ICE, TYPE_ICE, 5 + .byte TYPE_ICE, TYPE_GROUND, 20 + .byte TYPE_ICE, TYPE_FLYING, 20 + .byte TYPE_ICE, TYPE_DRAGON, 20 + .byte TYPE_ICE, TYPE_STEEL, 5 + .byte TYPE_ICE, TYPE_FIRE, 5 .byte TYPE_FIGHTING, TYPE_NORMAL, 20 - .byte TYPE_FIGHTING, TYPE_ICE, 20 + .byte TYPE_FIGHTING, TYPE_ICE, 20 .byte TYPE_FIGHTING, TYPE_POISON, 5 .byte TYPE_FIGHTING, TYPE_FLYING, 5 .byte TYPE_FIGHTING, TYPE_PSYCHIC, 5 - .byte TYPE_FIGHTING, TYPE_BUG, 5 - .byte TYPE_FIGHTING, TYPE_ROCK, 20 - .byte TYPE_FIGHTING, TYPE_DARK, 20 - .byte TYPE_FIGHTING, TYPE_STEEL, 20 - .byte TYPE_POISON, TYPE_GRASS, 20 + .byte TYPE_FIGHTING, TYPE_BUG, 5 + .byte TYPE_FIGHTING, TYPE_ROCK, 20 + .byte TYPE_FIGHTING, TYPE_DARK, 20 + .byte TYPE_FIGHTING, TYPE_STEEL, 20 + .byte TYPE_POISON, TYPE_GRASS, 20 .byte TYPE_POISON, TYPE_POISON, 5 .byte TYPE_POISON, TYPE_GROUND, 5 - .byte TYPE_POISON, TYPE_ROCK, 5 - .byte TYPE_POISON, TYPE_GHOST, 5 - .byte TYPE_POISON, TYPE_STEEL, 0 - .byte TYPE_GROUND, TYPE_FIRE, 20 + .byte TYPE_POISON, TYPE_ROCK, 5 + .byte TYPE_POISON, TYPE_GHOST, 5 + .byte TYPE_POISON, TYPE_STEEL, 0 + .byte TYPE_GROUND, TYPE_FIRE, 20 .byte TYPE_GROUND, TYPE_ELECTRIC, 20 - .byte TYPE_GROUND, TYPE_GRASS, 5 + .byte TYPE_GROUND, TYPE_GRASS, 5 .byte TYPE_GROUND, TYPE_POISON, 20 .byte TYPE_GROUND, TYPE_FLYING, 0 - .byte TYPE_GROUND, TYPE_BUG, 5 - .byte TYPE_GROUND, TYPE_ROCK, 20 - .byte TYPE_GROUND, TYPE_STEEL, 20 + .byte TYPE_GROUND, TYPE_BUG, 5 + .byte TYPE_GROUND, TYPE_ROCK, 20 + .byte TYPE_GROUND, TYPE_STEEL, 20 .byte TYPE_FLYING, TYPE_ELECTRIC, 5 - .byte TYPE_FLYING, TYPE_GRASS, 20 + .byte TYPE_FLYING, TYPE_GRASS, 20 .byte TYPE_FLYING, TYPE_FIGHTING, 20 - .byte TYPE_FLYING, TYPE_BUG, 20 - .byte TYPE_FLYING, TYPE_ROCK, 5 - .byte TYPE_FLYING, TYPE_STEEL, 5 + .byte TYPE_FLYING, TYPE_BUG, 20 + .byte TYPE_FLYING, TYPE_ROCK, 5 + .byte TYPE_FLYING, TYPE_STEEL, 5 .byte TYPE_PSYCHIC, TYPE_FIGHTING, 20 .byte TYPE_PSYCHIC, TYPE_POISON, 20 .byte TYPE_PSYCHIC, TYPE_PSYCHIC, 5 - .byte TYPE_PSYCHIC, TYPE_DARK, 0 - .byte TYPE_PSYCHIC, TYPE_STEEL, 5 - .byte TYPE_BUG, TYPE_FIRE, 5 - .byte TYPE_BUG, TYPE_GRASS, 20 - .byte TYPE_BUG, TYPE_FIGHTING, 5 - .byte TYPE_BUG, TYPE_POISON, 5 - .byte TYPE_BUG, TYPE_FLYING, 5 - .byte TYPE_BUG, TYPE_PSYCHIC, 20 - .byte TYPE_BUG, TYPE_GHOST, 5 - .byte TYPE_BUG, TYPE_DARK, 20 - .byte TYPE_BUG, TYPE_STEEL, 5 - .byte TYPE_ROCK, TYPE_FIRE, 20 - .byte TYPE_ROCK, TYPE_ICE, 20 - .byte TYPE_ROCK, TYPE_FIGHTING, 5 - .byte TYPE_ROCK, TYPE_GROUND, 5 - .byte TYPE_ROCK, TYPE_FLYING, 20 - .byte TYPE_ROCK, TYPE_BUG, 20 - .byte TYPE_ROCK, TYPE_STEEL, 5 - .byte TYPE_GHOST, TYPE_NORMAL, 0 - .byte TYPE_GHOST, TYPE_PSYCHIC, 20 - .byte TYPE_GHOST, TYPE_DARK, 5 - .byte TYPE_GHOST, TYPE_STEEL, 5 - .byte TYPE_GHOST, TYPE_GHOST, 20 + .byte TYPE_PSYCHIC, TYPE_DARK, 0 + .byte TYPE_PSYCHIC, TYPE_STEEL, 5 + .byte TYPE_BUG, TYPE_FIRE, 5 + .byte TYPE_BUG, TYPE_GRASS, 20 + .byte TYPE_BUG, TYPE_FIGHTING, 5 + .byte TYPE_BUG, TYPE_POISON, 5 + .byte TYPE_BUG, TYPE_FLYING, 5 + .byte TYPE_BUG, TYPE_PSYCHIC, 20 + .byte TYPE_BUG, TYPE_GHOST, 5 + .byte TYPE_BUG, TYPE_DARK, 20 + .byte TYPE_BUG, TYPE_STEEL, 5 + .byte TYPE_ROCK, TYPE_FIRE, 20 + .byte TYPE_ROCK, TYPE_ICE, 20 + .byte TYPE_ROCK, TYPE_FIGHTING, 5 + .byte TYPE_ROCK, TYPE_GROUND, 5 + .byte TYPE_ROCK, TYPE_FLYING, 20 + .byte TYPE_ROCK, TYPE_BUG, 20 + .byte TYPE_ROCK, TYPE_STEEL, 5 + .byte TYPE_GHOST, TYPE_NORMAL, 0 + .byte TYPE_GHOST, TYPE_PSYCHIC, 20 + .byte TYPE_GHOST, TYPE_DARK, 5 + .byte TYPE_GHOST, TYPE_STEEL, 5 + .byte TYPE_GHOST, TYPE_GHOST, 20 .byte TYPE_DRAGON, TYPE_DRAGON, 20 - .byte TYPE_DRAGON, TYPE_STEEL, 5 - .byte TYPE_DARK, TYPE_FIGHTING, 5 - .byte TYPE_DARK, TYPE_PSYCHIC, 20 - .byte TYPE_DARK, TYPE_GHOST, 20 - .byte TYPE_DARK, TYPE_DARK, 5 - .byte TYPE_DARK, TYPE_STEEL, 5 - .byte TYPE_STEEL, TYPE_FIRE, 5 - .byte TYPE_STEEL, TYPE_WATER, 5 - .byte TYPE_STEEL, TYPE_ELECTRIC, 5 - .byte TYPE_STEEL, TYPE_ICE, 20 - .byte TYPE_STEEL, TYPE_ROCK, 20 - .byte TYPE_STEEL, TYPE_STEEL, 5 - .byte 0xFE, 0xFE, 0 - .byte TYPE_NORMAL, TYPE_GHOST, 0 - .byte TYPE_FIGHTING, TYPE_GHOST, 0 - .byte 0xFF, 0xFF, 0 + .byte TYPE_DRAGON, TYPE_STEEL, 5 + .byte TYPE_DARK, TYPE_FIGHTING, 5 + .byte TYPE_DARK, TYPE_PSYCHIC, 20 + .byte TYPE_DARK, TYPE_GHOST, 20 + .byte TYPE_DARK, TYPE_DARK, 5 + .byte TYPE_DARK, TYPE_STEEL, 5 + .byte TYPE_STEEL, TYPE_FIRE, 5 + .byte TYPE_STEEL, TYPE_WATER, 5 + .byte TYPE_STEEL, TYPE_ELECTRIC, 5 + .byte TYPE_STEEL, TYPE_ICE, 20 + .byte TYPE_STEEL, TYPE_ROCK, 20 + .byte TYPE_STEEL, TYPE_STEEL, 5 + .byte 0xFE, 0xFE, 0 + .byte TYPE_NORMAL, TYPE_GHOST, 0 + .byte TYPE_FIGHTING, TYPE_GHOST, 0 + .byte 0xFF, 0xFF, 0 diff --git a/data/unk_81BAD84.s b/data/unk_81BAD84.s deleted file mode 100644 index de88365ac3..0000000000 --- a/data/unk_81BAD84.s +++ /dev/null @@ -1,7 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -gUnknown_08617128:: @ 8617128 - .incbin "baserom.gba", 0x617128, 0x48 diff --git a/data/unk_sprite_file.s b/data/unk_sprite_file.s deleted file mode 100644 index 837e87c3f7..0000000000 --- a/data/unk_sprite_file.s +++ /dev/null @@ -1,22 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -gUnknown_0862AD54:: @ 862AD54 - .incbin "baserom.gba", 0x62ad54, 0x1dc - -gUnknown_0862AF30:: @ 862AF30 - .incbin "baserom.gba", 0x62af30, 0x60c - -gUnknown_0862B53C:: @ 862B53C - .incbin "baserom.gba", 0x62b53c, 0x1e8 - -gUnknown_0862B724:: @ 862B724 - .incbin "baserom.gba", 0x62b724, 0x8 - -gUnknown_0862B72C:: @ 862B72C - .incbin "baserom.gba", 0x62b72c, 0x2c - -gUnknown_0862B758:: @ 862B758 - .incbin "baserom.gba", 0x62b758, 0x18 diff --git a/data/unk_transition.s b/data/unk_transition.s index 5ed120d85f..2dc54e22d4 100644 --- a/data/unk_transition.s +++ b/data/unk_transition.s @@ -3,26 +3,15 @@ .section .rodata -gUnknown_0862B770:: @ 862B770 - .incbin "baserom.gba", 0x62b770, 0x14 +gUnknown_0862AD54:: @ 862AD54 + .incbin "graphics/battle_transitions/frontier_transition.4bpp.lz" -gUnknown_0862B784:: @ 862B784 - .incbin "baserom.gba", 0x62b784, 0x14 +gUnknown_0862AF30:: @ 862AF30 + .incbin "graphics/battle_transitions/frontier_transition.bin" -gUnknown_0862B798:: @ 862B798 - .incbin "baserom.gba", 0x62b798, 0x14 +gUnknown_0862B0DC:: @ 862B0DC + .incbin "graphics/battle_transitions/frontier_transition_circles.4bpp.lz" -gUnknown_0862B7AC:: @ 862B7AC - .incbin "baserom.gba", 0x62b7ac, 0x14 - -gUnknown_0862B7C0:: @ 862B7C0 - .incbin "baserom.gba", 0x62b7c0, 0x14 - -gUnknown_0862B7D4:: @ 862B7D4 - .incbin "baserom.gba", 0x62b7d4, 0x14 - -gUnknown_0862B7E8:: @ 862B7E8 - .incbin "baserom.gba", 0x62b7e8, 0x14 - -gUnknown_0862B7FC:: @ 862B7FC - .incbin "baserom.gba", 0x62b7fc, 0x14 +gUnknown_0862B53C:: @ 862B53C + .incbin "graphics/battle_transitions/frontier_transition.gbapal" + .space 0x1c0 diff --git a/data/unknown_jp_62609C.bin b/data/unknown_jp_62609C.bin new file mode 100644 index 0000000000..1394e7aa8b Binary files /dev/null and b/data/unknown_jp_62609C.bin differ diff --git a/data/unknown_serial_data.bin b/data/unknown_serial_data.bin new file mode 100644 index 0000000000..85057cf4e2 Binary files /dev/null and b/data/unknown_serial_data.bin differ diff --git a/data/unknown_serial_data.s b/data/unknown_serial_data.s index 72c4eec290..42eb5c31e0 100644 --- a/data/unknown_serial_data.s +++ b/data/unknown_serial_data.s @@ -1,4 +1,5 @@ .section .rodata + .align 2 gUnknown_089A3470:: @ 89A3470 - .incbin "baserom.gba", 0x9a3470, 0x30e0 + .incbin "data/unknown_serial_data.bin" diff --git a/data/use_pokeblock.s b/data/use_pokeblock.s index 9b557a0ddc..8497f59ad0 100644 --- a/data/use_pokeblock.s +++ b/data/use_pokeblock.s @@ -2,54 +2,110 @@ .include "constants/constants.inc" .section .rodata - + gUnknown_085DFA60:: @ 85DFA60 - .incbin "baserom.gba", 0x5dfa60, 0x20 + .incbin "graphics/interface/85DFA60.bin" gUnknown_085DFA80:: @ 85DFA80 - .incbin "baserom.gba", 0x5dfa80, 0xe0 + .incbin "graphics/interface/85DFA80.4bpp" gUnknown_085DFB60:: @ 85DFB60 - .incbin "baserom.gba", 0x5dfb60, 0xac + .incbin "graphics/interface/85DFB60.bin" gUnknown_085DFC0C:: @ 85DFC0C - .incbin "baserom.gba", 0x5dfc0c, 0xa4 + .incbin "graphics/interface/85DFC0C.bin" gUnknown_085DFCB0:: @ 85DFCB0 - .incbin "baserom.gba", 0x5dfcb0, 0x14 + .4byte 22, 47, 33, 24, 23 gUnknown_085DFCC4:: @ 85DFCC4 - .incbin "baserom.gba", 0x5dfcc4, 0x5 + .byte 0, 4, 3, 2, 1 gUnknown_085DFCC9:: @ 85DFCC9 - .incbin "baserom.gba", 0x5dfcc9, 0x3 + .byte 0, 8, 1 gUnknown_085DFCCC:: @ 85DFCCC - .incbin "baserom.gba", 0x5dfccc, 0x10 + .4byte 0x1F8 + .4byte 0x31E1 + .4byte 0x4021DF + .4byte 0x1172 gUnknown_085DFCDC:: @ 85DFCDC - .incbin "baserom.gba", 0x5dfcdc, 0x20 + window_template 0, 0xD, 1, 0xD, 4, 0xF, 1 + window_template 0, 0, 0xE, 0xB, 2, 0xF, 0x35 + window_template 0, 1, 0x11, 0x1C, 2, 0xF, 0x4B + null_window_template -gUnknown_085DFCFC:: @ 85DFCFC - .incbin "baserom.gba", 0x5dfcfc, 0x8 +sUsePokeblockYesNoWinTemplate:: @ 85DFCFC + window_template 0, 0x18, 0xB, 5, 4, 0xF, 0x83 -gUnknown_085DFD04:: @ 85DFD04 - .incbin "baserom.gba", 0x5dfd04, 0x14 +sContestStatNames:: @ 85DFD04 + .4byte gText_Coolness + .4byte gText_Toughness + .4byte gText_Smartness + .4byte gText_Cuteness + .4byte gText_Beauty3 gUnknown_085DFD18:: @ 85DFD18 - .incbin "baserom.gba", 0x5dfd18, 0x8 + obj_tiles gUsePokeblockUpDown_Gfx, 0x200, 0 gUnknown_085DFD20:: @ 85DFD20 - .incbin "baserom.gba", 0x5dfd20, 0x8 + obj_pal gUsePokeblockUpDown_Pal, 0 gUnknown_085DFD28:: @ 85DFD28 - .incbin "baserom.gba", 0x5dfd28, 0x34 + .2byte 0x9c, 0x24 + .2byte 0x75, 0x3b + .2byte 0x75, 0x76 + .2byte 0xc5, 0x76 + .2byte 0xc5, 0x3b + +gUnknown_085DFD3C:: @ 85DFD3C + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x400 + .2byte 0 + +gUnknown_085DFD44:: @ 85DFD44 + obj_image_anim_frame 0, 5 + obj_image_anim_end + +gUnknown_085DFD4C:: @ 85DFD4C + obj_image_anim_frame 8, 5 + obj_image_anim_end + +gUnknown_085DFD54:: @ 85DFD54 + .4byte gUnknown_085DFD44 + .4byte gUnknown_085DFD4C gUnknown_085DFD5C:: @ 85DFD5C - .incbin "baserom.gba", 0x5dfd5c, 0x44 + spr_template 0, 0, gUnknown_085DFD3C, gUnknown_085DFD54, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_085DFD74:: @ 85DFD74 + .2byte 0x4000 + .2byte 0xC000 + .2byte 0x400 + .2byte 0 + +gUnknown_085DFD7C:: @ 85DFD7C + obj_image_anim_frame 0, 5 + obj_image_anim_end + +gUnknown_085DFD84:: @ 85DFD84 + obj_image_anim_frame 32, 5 + obj_image_anim_end + +gUnknown_085DFD8C:: @ 85DFD8C + obj_image_anim_frame 64, 5 + obj_image_anim_end + +gUnknown_085DFD94:: @ 85DFD94 + .4byte gUnknown_085DFD7C + .4byte gUnknown_085DFD84 + .4byte gUnknown_085DFD8C gUnknown_085DFDA0:: @ 85DFDA0 - .incbin "baserom.gba", 0x5dfda0, 0x18 + spr_template 1, 1, gUnknown_085DFD74, gUnknown_085DFD94, NULL, gDummySpriteAffineAnimTable, sub_8168374 gUnknown_085DFDB8:: @ 85DFDB8 - .incbin "baserom.gba", 0x5dfdb8, 0x8 + .4byte gUsePokeblockCondition_Pal + .4byte 1 diff --git a/data/wild_encounter.s b/data/wild_encounter.s deleted file mode 100644 index ddb842a762..0000000000 --- a/data/wild_encounter.s +++ /dev/null @@ -1,22 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -@ 85507E4 - .include "data/wild_mons.inc" - - .incbin "baserom.gba", 0x55370c, 0x188 - -gUnknown_08553894:: @ 8553894 - .incbin "baserom.gba", 0x553894, 0x180 - -gUnknown_08553A14:: @ 8553A14 - .incbin "baserom.gba", 0x553a14, 0x64 - -gUnknown_08553A78:: @ 8553A78 - .incbin "baserom.gba", 0x553a78, 0x4 - -gUnknown_08553A7C:: @ 8553A7C - .incbin "baserom.gba", 0x553a7c, 0x14 diff --git a/data/wild_mons.inc b/data/wild_mons.inc deleted file mode 100644 index 3361a39759..0000000000 --- a/data/wild_mons.inc +++ /dev/null @@ -1,4524 +0,0 @@ - .align 2 -gRoute101_LandMons:: @ 85507E4 - wild_mon WURMPLE, 2 - wild_mon POOCHYENA, 2 - wild_mon WURMPLE, 2 - wild_mon WURMPLE, 3 - wild_mon POOCHYENA, 3 - wild_mon POOCHYENA, 3 - wild_mon WURMPLE, 3 - wild_mon POOCHYENA, 3 - wild_mon ZIGZAGOON, 2 - wild_mon ZIGZAGOON, 2 - wild_mon ZIGZAGOON, 3 - wild_mon ZIGZAGOON, 3 - - .align 2 -gRoute101_LandMonsInfo:: @ 8550814 - .4byte 20 @ encounter rate - .4byte gRoute101_LandMons - - .align 2 -gRoute102_LandMons:: @ 855081C - wild_mon POOCHYENA, 3 - wild_mon WURMPLE, 3 - wild_mon POOCHYENA, 4 - wild_mon WURMPLE, 4 - wild_mon LOTAD, 3 - wild_mon LOTAD, 4 - wild_mon ZIGZAGOON, 3 - wild_mon ZIGZAGOON, 3 - wild_mon ZIGZAGOON, 4 - wild_mon RALTS, 4 - wild_mon ZIGZAGOON, 4 - wild_mon SEEDOT, 3 - - .align 2 -gRoute102_LandMonsInfo:: @ 855084C - .4byte 20 @ encounter rate - .4byte gRoute102_LandMons - - .align 2 -gRoute102_WaterMons:: @ 8550854 - wild_mon MARILL, 20, 30 - wild_mon MARILL, 10, 20 - wild_mon MARILL, 30, 35 - wild_mon MARILL, 5, 10 - wild_mon GOLDEEN, 20, 30 - - .align 2 -gRoute102_WaterMonsInfo:: @ 8550868 - .4byte 4 @ encounter rate - .4byte gRoute102_WaterMons - - .align 2 -gRoute102_FishingMons:: @ 8550870 - wild_mon MAGIKARP, 5, 10 - wild_mon GOLDEEN, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon GOLDEEN, 10, 30 - wild_mon CORPHISH, 10, 30 - wild_mon CORPHISH, 25, 30 - wild_mon CORPHISH, 30, 35 - wild_mon CORPHISH, 20, 25 - wild_mon CORPHISH, 35, 40 - wild_mon CORPHISH, 40, 45 - - .align 2 -gRoute102_FishingMonsInfo:: @ 8550898 - .4byte 30 @ encounter rate - .4byte gRoute102_FishingMons - - .align 2 -gRoute103_LandMons:: @ 85508A0 - wild_mon POOCHYENA, 2 - wild_mon POOCHYENA, 3 - wild_mon POOCHYENA, 3 - wild_mon POOCHYENA, 4 - wild_mon WINGULL, 2 - wild_mon ZIGZAGOON, 3 - wild_mon ZIGZAGOON, 3 - wild_mon ZIGZAGOON, 4 - wild_mon WINGULL, 3 - wild_mon WINGULL, 3 - wild_mon WINGULL, 2 - wild_mon WINGULL, 4 - - .align 2 -gRoute103_LandMonsInfo:: @ 85508D0 - .4byte 20 @ encounter rate - .4byte gRoute103_LandMons - - .align 2 -gRoute103_WaterMons:: @ 85508D8 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute103_WaterMonsInfo:: @ 85508EC - .4byte 4 @ encounter rate - .4byte gRoute103_WaterMons - - .align 2 -gRoute103_FishingMons:: @ 85508F4 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon SHARPEDO, 30, 35 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute103_FishingMonsInfo:: @ 855091C - .4byte 30 @ encounter rate - .4byte gRoute103_FishingMons - - .align 2 -gRoute104_LandMons:: @ 8550924 - wild_mon POOCHYENA, 4 - wild_mon WURMPLE, 4 - wild_mon POOCHYENA, 5 - wild_mon MARILL, 5 - wild_mon MARILL, 4 - wild_mon POOCHYENA, 5 - wild_mon TAILLOW, 4 - wild_mon TAILLOW, 5 - wild_mon WINGULL, 4 - wild_mon WINGULL, 4 - wild_mon WINGULL, 3 - wild_mon WINGULL, 5 - - .align 2 -gRoute104_LandMonsInfo:: @ 8550954 - .4byte 20 @ encounter rate - .4byte gRoute104_LandMons - - .align 2 -gRoute104_WaterMons:: @ 855095C - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute104_WaterMonsInfo:: @ 8550970 - .4byte 4 @ encounter rate - .4byte gRoute104_WaterMons - - .align 2 -gRoute104_FishingMons:: @ 8550978 - wild_mon MAGIKARP, 5, 10 - wild_mon MAGIKARP, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon MAGIKARP, 10, 30 - wild_mon MAGIKARP, 10, 30 - wild_mon MAGIKARP, 25, 30 - wild_mon MAGIKARP, 30, 35 - wild_mon MAGIKARP, 20, 25 - wild_mon MAGIKARP, 35, 40 - wild_mon MAGIKARP, 40, 45 - - .align 2 -gRoute104_FishingMonsInfo:: @ 85509A0 - .4byte 30 @ encounter rate - .4byte gRoute104_FishingMons - - .align 2 -gRoute105_WaterMons:: @ 85509A8 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute105_WaterMonsInfo:: @ 85509BC - .4byte 4 @ encounter rate - .4byte gRoute105_WaterMons - - .align 2 -gRoute105_FishingMons:: @ 85509C4 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 20, 25 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute105_FishingMonsInfo:: @ 85509EC - .4byte 30 @ encounter rate - .4byte gRoute105_FishingMons - - .align 2 -gRoute110_LandMons:: @ 85509F4 - wild_mon POOCHYENA, 12 - wild_mon ELECTRIKE, 12 - wild_mon GULPIN, 12 - wild_mon ELECTRIKE, 13 - wild_mon MINUN, 13 - wild_mon ODDISH, 13 - wild_mon MINUN, 13 - wild_mon GULPIN, 13 - wild_mon WINGULL, 12 - wild_mon WINGULL, 12 - wild_mon PLUSLE, 12 - wild_mon PLUSLE, 13 - - .align 2 -gRoute110_LandMonsInfo:: @ 8550A24 - .4byte 20 @ encounter rate - .4byte gRoute110_LandMons - - .align 2 -gRoute110_WaterMons:: @ 8550A2C - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute110_WaterMonsInfo:: @ 8550A40 - .4byte 4 @ encounter rate - .4byte gRoute110_WaterMons - - .align 2 -gRoute110_FishingMons:: @ 8550A48 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 20, 25 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute110_FishingMonsInfo:: @ 8550A70 - .4byte 30 @ encounter rate - .4byte gRoute110_FishingMons - - .align 2 -gRoute111_LandMons:: @ 8550A78 - wild_mon SANDSHREW, 20 - wild_mon TRAPINCH, 20 - wild_mon SANDSHREW, 21 - wild_mon TRAPINCH, 21 - wild_mon BALTOY, 19 - wild_mon BALTOY, 21 - wild_mon SANDSHREW, 19 - wild_mon TRAPINCH, 19 - wild_mon BALTOY, 20 - wild_mon CACNEA, 20 - wild_mon CACNEA, 22 - wild_mon CACNEA, 22 - - .align 2 -gRoute111_LandMonsInfo:: @ 8550AA8 - .4byte 10 @ encounter rate - .4byte gRoute111_LandMons - - .align 2 -gRoute111_WaterMons:: @ 8550AB0 - wild_mon MARILL, 20, 30 - wild_mon MARILL, 10, 20 - wild_mon MARILL, 30, 35 - wild_mon MARILL, 5, 10 - wild_mon GOLDEEN, 20, 30 - - .align 2 -gRoute111_WaterMonsInfo:: @ 8550AC4 - .4byte 4 @ encounter rate - .4byte gRoute111_WaterMons - - .align 2 -gRoute111_RockSmashMons:: @ 8550ACC - wild_mon GEODUDE, 10, 15 - wild_mon GEODUDE, 5, 10 - wild_mon GEODUDE, 15, 20 - wild_mon GEODUDE, 15, 20 - wild_mon GEODUDE, 15, 20 - - .align 2 -gRoute111_RockSmashMonsInfo:: @ 8550AE0 - .4byte 20 @ encounter rate - .4byte gRoute111_RockSmashMons - - .align 2 -gRoute111_FishingMons:: @ 8550AE8 - wild_mon MAGIKARP, 5, 10 - wild_mon GOLDEEN, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon GOLDEEN, 10, 30 - wild_mon BARBOACH, 10, 30 - wild_mon BARBOACH, 25, 30 - wild_mon BARBOACH, 30, 35 - wild_mon BARBOACH, 20, 25 - wild_mon BARBOACH, 35, 40 - wild_mon BARBOACH, 40, 45 - - .align 2 -gRoute111_FishingMonsInfo:: @ 8550B10 - .4byte 30 @ encounter rate - .4byte gRoute111_FishingMons - - .align 2 -gRoute112_LandMons:: @ 8550B18 - wild_mon NUMEL, 15 - wild_mon NUMEL, 15 - wild_mon MARILL, 15 - wild_mon NUMEL, 14 - wild_mon NUMEL, 14 - wild_mon MARILL, 14 - wild_mon NUMEL, 16 - wild_mon MARILL, 16 - wild_mon NUMEL, 16 - wild_mon NUMEL, 16 - wild_mon NUMEL, 16 - wild_mon NUMEL, 16 - - .align 2 -gRoute112_LandMonsInfo:: @ 8550B48 - .4byte 20 @ encounter rate - .4byte gRoute112_LandMons - - .align 2 -gRoute113_LandMons:: @ 8550B50 - wild_mon SPINDA, 15 - wild_mon SPINDA, 15 - wild_mon SLUGMA, 15 - wild_mon SPINDA, 14 - wild_mon SPINDA, 14 - wild_mon SLUGMA, 14 - wild_mon SPINDA, 16 - wild_mon SLUGMA, 16 - wild_mon SPINDA, 16 - wild_mon SKARMORY, 16 - wild_mon SPINDA, 16 - wild_mon SKARMORY, 16 - - .align 2 -gRoute113_LandMonsInfo:: @ 8550B80 - .4byte 20 @ encounter rate - .4byte gRoute113_LandMons - - .align 2 -gRoute114_LandMons:: @ 8550B88 - wild_mon SWABLU, 16 - wild_mon LOTAD, 16 - wild_mon SWABLU, 17 - wild_mon SWABLU, 15 - wild_mon LOTAD, 15 - wild_mon LOMBRE, 16 - wild_mon LOMBRE, 16 - wild_mon LOMBRE, 18 - wild_mon SEVIPER, 17 - wild_mon SEVIPER, 15 - wild_mon SEVIPER, 17 - wild_mon NUZLEAF, 15 - - .align 2 -gRoute114_LandMonsInfo:: @ 8550BB8 - .4byte 20 @ encounter rate - .4byte gRoute114_LandMons - - .align 2 -gRoute114_WaterMons:: @ 8550BC0 - wild_mon MARILL, 20, 30 - wild_mon MARILL, 10, 20 - wild_mon MARILL, 30, 35 - wild_mon MARILL, 5, 10 - wild_mon GOLDEEN, 20, 30 - - .align 2 -gRoute114_WaterMonsInfo:: @ 8550BD4 - .4byte 4 @ encounter rate - .4byte gRoute114_WaterMons - - .align 2 -gRoute114_RockSmashMons:: @ 8550BDC - wild_mon GEODUDE, 10, 15 - wild_mon GEODUDE, 5, 10 - wild_mon GEODUDE, 15, 20 - wild_mon GEODUDE, 15, 20 - wild_mon GEODUDE, 15, 20 - - .align 2 -gRoute114_RockSmashMonsInfo:: @ 8550BF0 - .4byte 20 @ encounter rate - .4byte gRoute114_RockSmashMons - - .align 2 -gRoute114_FishingMons:: @ 8550BF8 - wild_mon MAGIKARP, 5, 10 - wild_mon GOLDEEN, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon GOLDEEN, 10, 30 - wild_mon BARBOACH, 10, 30 - wild_mon BARBOACH, 25, 30 - wild_mon BARBOACH, 30, 35 - wild_mon BARBOACH, 20, 25 - wild_mon BARBOACH, 35, 40 - wild_mon BARBOACH, 40, 45 - - .align 2 -gRoute114_FishingMonsInfo:: @ 8550C20 - .4byte 30 @ encounter rate - .4byte gRoute114_FishingMons - - .align 2 -gRoute116_LandMons:: @ 8550C28 - wild_mon POOCHYENA, 6 - wild_mon WHISMUR, 6 - wild_mon NINCADA, 6 - wild_mon ABRA, 7 - wild_mon NINCADA, 7 - wild_mon TAILLOW, 6 - wild_mon TAILLOW, 7 - wild_mon TAILLOW, 8 - wild_mon POOCHYENA, 7 - wild_mon POOCHYENA, 8 - wild_mon SKITTY, 7 - wild_mon SKITTY, 8 - - .align 2 -gRoute116_LandMonsInfo:: @ 8550C58 - .4byte 20 @ encounter rate - .4byte gRoute116_LandMons - - .align 2 -gRoute117_LandMons:: @ 8550C60 - wild_mon POOCHYENA, 13 - wild_mon ODDISH, 13 - wild_mon POOCHYENA, 14 - wild_mon ODDISH, 14 - wild_mon MARILL, 13 - wild_mon ODDISH, 13 - wild_mon ILLUMISE, 13 - wild_mon ILLUMISE, 13 - wild_mon ILLUMISE, 14 - wild_mon ILLUMISE, 14 - wild_mon VOLBEAT, 13 - wild_mon SEEDOT, 13 - - .align 2 -gRoute117_LandMonsInfo:: @ 8550C90 - .4byte 20 @ encounter rate - .4byte gRoute117_LandMons - - .align 2 -gRoute117_WaterMons:: @ 8550C98 - wild_mon MARILL, 20, 30 - wild_mon MARILL, 10, 20 - wild_mon MARILL, 30, 35 - wild_mon MARILL, 5, 10 - wild_mon GOLDEEN, 20, 30 - - .align 2 -gRoute117_WaterMonsInfo:: @ 8550CAC - .4byte 4 @ encounter rate - .4byte gRoute117_WaterMons - - .align 2 -gRoute117_FishingMons:: @ 8550CB4 - wild_mon MAGIKARP, 5, 10 - wild_mon GOLDEEN, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon GOLDEEN, 10, 30 - wild_mon CORPHISH, 10, 30 - wild_mon CORPHISH, 25, 30 - wild_mon CORPHISH, 30, 35 - wild_mon CORPHISH, 20, 25 - wild_mon CORPHISH, 35, 40 - wild_mon CORPHISH, 40, 45 - - .align 2 -gRoute117_FishingMonsInfo:: @ 8550CDC - .4byte 30 @ encounter rate - .4byte gRoute117_FishingMons - - .align 2 -gRoute118_LandMons:: @ 8550CE4 - wild_mon ZIGZAGOON, 24 - wild_mon ELECTRIKE, 24 - wild_mon ZIGZAGOON, 26 - wild_mon ELECTRIKE, 26 - wild_mon LINOONE, 26 - wild_mon MANECTRIC, 26 - wild_mon WINGULL, 25 - wild_mon WINGULL, 25 - wild_mon WINGULL, 26 - wild_mon WINGULL, 26 - wild_mon WINGULL, 27 - wild_mon KECLEON, 25 - - .align 2 -gRoute118_LandMonsInfo:: @ 8550D14 - .4byte 20 @ encounter rate - .4byte gRoute118_LandMons - - .align 2 -gRoute118_WaterMons:: @ 8550D1C - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute118_WaterMonsInfo:: @ 8550D30 - .4byte 4 @ encounter rate - .4byte gRoute118_WaterMons - - .align 2 -gRoute118_FishingMons:: @ 8550D38 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon CARVANHA, 10, 30 - wild_mon SHARPEDO, 30, 35 - wild_mon CARVANHA, 30, 35 - wild_mon CARVANHA, 20, 25 - wild_mon CARVANHA, 35, 40 - wild_mon CARVANHA, 40, 45 - - .align 2 -gRoute118_FishingMonsInfo:: @ 8550D60 - .4byte 30 @ encounter rate - .4byte gRoute118_FishingMons - - .align 2 -gRoute124_WaterMons:: @ 8550D68 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute124_WaterMonsInfo:: @ 8550D7C - .4byte 4 @ encounter rate - .4byte gRoute124_WaterMons - - .align 2 -gRoute124_FishingMons:: @ 8550D84 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon SHARPEDO, 30, 35 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute124_FishingMonsInfo:: @ 8550DAC - .4byte 30 @ encounter rate - .4byte gRoute124_FishingMons - - .align 2 -gPetalburgWoods_LandMons:: @ 8550DB4 - wild_mon POOCHYENA, 5 - wild_mon WURMPLE, 5 - wild_mon SHROOMISH, 5 - wild_mon POOCHYENA, 6 - wild_mon SILCOON, 5 - wild_mon CASCOON, 5 - wild_mon WURMPLE, 6 - wild_mon SHROOMISH, 6 - wild_mon TAILLOW, 5 - wild_mon SLAKOTH, 5 - wild_mon TAILLOW, 6 - wild_mon SLAKOTH, 6 - - .align 2 -gPetalburgWoods_LandMonsInfo:: @ 8550DE4 - .4byte 20 @ encounter rate - .4byte gPetalburgWoods_LandMons - - .align 2 -gRusturfTunnel_LandMons:: @ 8550DEC - wild_mon WHISMUR, 6 - wild_mon WHISMUR, 7 - wild_mon WHISMUR, 6 - wild_mon WHISMUR, 6 - wild_mon WHISMUR, 7 - wild_mon WHISMUR, 7 - wild_mon WHISMUR, 5 - wild_mon WHISMUR, 8 - wild_mon WHISMUR, 5 - wild_mon WHISMUR, 8 - wild_mon WHISMUR, 5 - wild_mon WHISMUR, 8 - - .align 2 -gRusturfTunnel_LandMonsInfo:: @ 8550E1C - .4byte 10 @ encounter rate - .4byte gRusturfTunnel_LandMons - - .align 2 -gGraniteCave_1F_LandMons:: @ 8550E24 - wild_mon ZUBAT, 7 - wild_mon MAKUHITA, 8 - wild_mon MAKUHITA, 7 - wild_mon ZUBAT, 8 - wild_mon MAKUHITA, 9 - wild_mon ABRA, 8 - wild_mon MAKUHITA, 10 - wild_mon MAKUHITA, 6 - wild_mon GEODUDE, 7 - wild_mon GEODUDE, 8 - wild_mon GEODUDE, 6 - wild_mon GEODUDE, 9 - - .align 2 -gGraniteCave_1F_LandMonsInfo:: @ 8550E54 - .4byte 10 @ encounter rate - .4byte gGraniteCave_1F_LandMons - - .align 2 -gGraniteCave_B1F_LandMons:: @ 8550E5C - wild_mon ZUBAT, 9 - wild_mon ARON, 10 - wild_mon ARON, 9 - wild_mon ARON, 11 - wild_mon ZUBAT, 10 - wild_mon ABRA, 9 - wild_mon MAKUHITA, 10 - wild_mon MAKUHITA, 11 - wild_mon SABLEYE, 10 - wild_mon SABLEYE, 10 - wild_mon SABLEYE, 9 - wild_mon SABLEYE, 11 - - .align 2 -gGraniteCave_B1F_LandMonsInfo:: @ 8550E8C - .4byte 10 @ encounter rate - .4byte gGraniteCave_B1F_LandMons - - .align 2 -gMtPyre_1F_LandMons:: @ 8550E94 - wild_mon SHUPPET, 27 - wild_mon SHUPPET, 28 - wild_mon SHUPPET, 26 - wild_mon SHUPPET, 25 - wild_mon SHUPPET, 29 - wild_mon SHUPPET, 24 - wild_mon SHUPPET, 23 - wild_mon SHUPPET, 22 - wild_mon SHUPPET, 29 - wild_mon SHUPPET, 24 - wild_mon SHUPPET, 29 - wild_mon SHUPPET, 24 - - .align 2 -gMtPyre_1F_LandMonsInfo:: @ 8550EC4 - .4byte 10 @ encounter rate - .4byte gMtPyre_1F_LandMons - - .align 2 -gVictoryRoad_1F_LandMons:: @ 8550ECC - wild_mon GOLBAT, 40 - wild_mon HARIYAMA, 40 - wild_mon LAIRON, 40 - wild_mon LOUDRED, 40 - wild_mon ZUBAT, 36 - wild_mon MAKUHITA, 36 - wild_mon GOLBAT, 38 - wild_mon HARIYAMA, 38 - wild_mon ARON, 36 - wild_mon WHISMUR, 36 - wild_mon ARON, 36 - wild_mon WHISMUR, 36 - - .align 2 -gVictoryRoad_1F_LandMonsInfo:: @ 8550EFC - .4byte 10 @ encounter rate - .4byte gVictoryRoad_1F_LandMons - - .align 2 -gSafariZone_South_LandMons:: @ 8550F04 - wild_mon ODDISH, 25 - wild_mon ODDISH, 27 - wild_mon GIRAFARIG, 25 - wild_mon GIRAFARIG, 27 - wild_mon NATU, 25 - wild_mon DODUO, 25 - wild_mon GLOOM, 25 - wild_mon WOBBUFFET, 27 - wild_mon PIKACHU, 25 - wild_mon WOBBUFFET, 27 - wild_mon PIKACHU, 27 - wild_mon WOBBUFFET, 29 - - .align 2 -gSafariZone_South_LandMonsInfo:: @ 8550F34 - .4byte 25 @ encounter rate - .4byte gSafariZone_South_LandMons - - .align 2 -gUnderwater2_WaterMons:: @ 8550F3C - wild_mon CLAMPERL, 20, 30 - wild_mon CHINCHOU, 20, 30 - wild_mon CLAMPERL, 30, 35 - wild_mon RELICANTH, 30, 35 - wild_mon RELICANTH, 30, 35 - - .align 2 -gUnderwater2_WaterMonsInfo:: @ 8550F50 - .4byte 4 @ encounter rate - .4byte gUnderwater2_WaterMons - - .align 2 -gAbandonedShip_Rooms_B1F_WaterMons:: @ 8550F58 - wild_mon TENTACOOL, 5, 35 - wild_mon TENTACOOL, 5, 35 - wild_mon TENTACOOL, 5, 35 - wild_mon TENTACOOL, 5, 35 - wild_mon TENTACRUEL, 30, 35 - - .align 2 -gAbandonedShip_Rooms_B1F_WaterMonsInfo:: @ 8550F6C - .4byte 4 @ encounter rate - .4byte gAbandonedShip_Rooms_B1F_WaterMons - - .align 2 -gAbandonedShip_Rooms_B1F_FishingMons:: @ 8550F74 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon TENTACOOL, 25, 30 - wild_mon TENTACOOL, 30, 35 - wild_mon TENTACRUEL, 30, 35 - wild_mon TENTACRUEL, 25, 30 - wild_mon TENTACRUEL, 20, 25 - - .align 2 -gAbandonedShip_Rooms_B1F_FishingMonsInfo:: @ 8550F9C - .4byte 20 @ encounter rate - .4byte gAbandonedShip_Rooms_B1F_FishingMons - - .align 2 -gGraniteCave_B2F_LandMons:: @ 8550FA4 - wild_mon ZUBAT, 10 - wild_mon ARON, 11 - wild_mon ARON, 10 - wild_mon ZUBAT, 11 - wild_mon ARON, 12 - wild_mon ABRA, 10 - wild_mon SABLEYE, 10 - wild_mon SABLEYE, 11 - wild_mon SABLEYE, 12 - wild_mon SABLEYE, 10 - wild_mon SABLEYE, 12 - wild_mon SABLEYE, 10 - - .align 2 -gGraniteCave_B2F_LandMonsInfo:: @ 8550FD4 - .4byte 10 @ encounter rate - .4byte gGraniteCave_B2F_LandMons - - .align 2 -gGraniteCave_B2F_RockSmashMons:: @ 8550FDC - wild_mon GEODUDE, 10, 15 - wild_mon NOSEPASS, 10, 20 - wild_mon GEODUDE, 5, 10 - wild_mon GEODUDE, 15, 20 - wild_mon GEODUDE, 15, 20 - - .align 2 -gGraniteCave_B2F_RockSmashMonsInfo:: @ 8550FF0 - .4byte 20 @ encounter rate - .4byte gGraniteCave_B2F_RockSmashMons - - .align 2 -gFieryPath_LandMons:: @ 8550FF8 - wild_mon NUMEL, 15 - wild_mon KOFFING, 15 - wild_mon NUMEL, 16 - wild_mon MACHOP, 15 - wild_mon TORKOAL, 15 - wild_mon SLUGMA, 15 - wild_mon KOFFING, 16 - wild_mon MACHOP, 16 - wild_mon TORKOAL, 14 - wild_mon TORKOAL, 16 - wild_mon GRIMER, 14 - wild_mon GRIMER, 14 - - .align 2 -gFieryPath_LandMonsInfo:: @ 8551028 - .4byte 10 @ encounter rate - .4byte gFieryPath_LandMons - - .align 2 -gMeteorFalls_B1F_2R_LandMons:: @ 8551030 - wild_mon GOLBAT, 33 - wild_mon GOLBAT, 35 - wild_mon BAGON, 30 - wild_mon SOLROCK, 35 - wild_mon BAGON, 35 - wild_mon SOLROCK, 37 - wild_mon BAGON, 25 - wild_mon SOLROCK, 39 - wild_mon GOLBAT, 38 - wild_mon GOLBAT, 40 - wild_mon GOLBAT, 38 - wild_mon GOLBAT, 40 - - .align 2 -gMeteorFalls_B1F_2R_LandMonsInfo:: @ 8551060 - .4byte 10 @ encounter rate - .4byte gMeteorFalls_B1F_2R_LandMons - - .align 2 -gMeteorFalls_B1F_2R_WaterMons:: @ 8551068 - wild_mon GOLBAT, 30, 35 - wild_mon GOLBAT, 30, 35 - wild_mon SOLROCK, 25, 35 - wild_mon SOLROCK, 15, 25 - wild_mon SOLROCK, 5, 15 - - .align 2 -gMeteorFalls_B1F_2R_WaterMonsInfo:: @ 855107C - .4byte 4 @ encounter rate - .4byte gMeteorFalls_B1F_2R_WaterMons - - .align 2 -gMeteorFalls_B1F_2R_FishingMons:: @ 8551084 - wild_mon MAGIKARP, 5, 10 - wild_mon GOLDEEN, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon GOLDEEN, 10, 30 - wild_mon BARBOACH, 10, 30 - wild_mon BARBOACH, 25, 30 - wild_mon BARBOACH, 30, 35 - wild_mon WHISCASH, 30, 35 - wild_mon WHISCASH, 35, 40 - wild_mon WHISCASH, 40, 45 - - .align 2 -gMeteorFalls_B1F_2R_FishingMonsInfo:: @ 85510AC - .4byte 30 @ encounter rate - .4byte gMeteorFalls_B1F_2R_FishingMons - - .align 2 -gJaggedPass_LandMons:: @ 85510B4 - wild_mon NUMEL, 21 - wild_mon NUMEL, 21 - wild_mon MACHOP, 21 - wild_mon NUMEL, 20 - wild_mon SPOINK, 20 - wild_mon MACHOP, 20 - wild_mon SPOINK, 21 - wild_mon MACHOP, 22 - wild_mon NUMEL, 22 - wild_mon SPOINK, 22 - wild_mon NUMEL, 22 - wild_mon SPOINK, 22 - - .align 2 -gJaggedPass_LandMonsInfo:: @ 85510E4 - .4byte 20 @ encounter rate - .4byte gJaggedPass_LandMons - - .align 2 -gRoute106_WaterMons:: @ 85510EC - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute106_WaterMonsInfo:: @ 8551100 - .4byte 4 @ encounter rate - .4byte gRoute106_WaterMons - - .align 2 -gRoute106_FishingMons:: @ 8551108 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 20, 25 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute106_FishingMonsInfo:: @ 8551130 - .4byte 30 @ encounter rate - .4byte gRoute106_FishingMons - - .align 2 -gRoute107_WaterMons:: @ 8551138 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute107_WaterMonsInfo:: @ 855114C - .4byte 4 @ encounter rate - .4byte gRoute107_WaterMons - - .align 2 -gRoute107_FishingMons:: @ 8551154 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 20, 25 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute107_FishingMonsInfo:: @ 855117C - .4byte 30 @ encounter rate - .4byte gRoute107_FishingMons - - .align 2 -gRoute108_WaterMons:: @ 8551184 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute108_WaterMonsInfo:: @ 8551198 - .4byte 4 @ encounter rate - .4byte gRoute108_WaterMons - - .align 2 -gRoute108_FishingMons:: @ 85511A0 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 20, 25 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute108_FishingMonsInfo:: @ 85511C8 - .4byte 30 @ encounter rate - .4byte gRoute108_FishingMons - - .align 2 -gRoute109_WaterMons:: @ 85511D0 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute109_WaterMonsInfo:: @ 85511E4 - .4byte 4 @ encounter rate - .4byte gRoute109_WaterMons - - .align 2 -gRoute109_FishingMons:: @ 85511EC - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 20, 25 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute109_FishingMonsInfo:: @ 8551214 - .4byte 30 @ encounter rate - .4byte gRoute109_FishingMons - - .align 2 -gRoute115_LandMons:: @ 855121C - wild_mon SWABLU, 23 - wild_mon TAILLOW, 23 - wild_mon SWABLU, 25 - wild_mon TAILLOW, 24 - wild_mon TAILLOW, 25 - wild_mon SWELLOW, 25 - wild_mon JIGGLYPUFF, 24 - wild_mon JIGGLYPUFF, 25 - wild_mon WINGULL, 24 - wild_mon WINGULL, 24 - wild_mon WINGULL, 26 - wild_mon WINGULL, 25 - - .align 2 -gRoute115_LandMonsInfo:: @ 855124C - .4byte 20 @ encounter rate - .4byte gRoute115_LandMons - - .align 2 -gRoute115_WaterMons:: @ 8551254 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute115_WaterMonsInfo:: @ 8551268 - .4byte 4 @ encounter rate - .4byte gRoute115_WaterMons - - .align 2 -gRoute115_FishingMons:: @ 8551270 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 20, 25 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute115_FishingMonsInfo:: @ 8551298 - .4byte 30 @ encounter rate - .4byte gRoute115_FishingMons - - .align 2 -gNewMauville_Inside_LandMons:: @ 85512A0 - wild_mon VOLTORB, 24 - wild_mon MAGNEMITE, 24 - wild_mon VOLTORB, 25 - wild_mon MAGNEMITE, 25 - wild_mon VOLTORB, 23 - wild_mon MAGNEMITE, 23 - wild_mon VOLTORB, 26 - wild_mon MAGNEMITE, 26 - wild_mon VOLTORB, 22 - wild_mon MAGNEMITE, 22 - wild_mon ELECTRODE, 26 - wild_mon MAGNETON, 26 - - .align 2 -gNewMauville_Inside_LandMonsInfo:: @ 85512D0 - .4byte 10 @ encounter rate - .4byte gNewMauville_Inside_LandMons - - .align 2 -gRoute119_LandMons:: @ 85512D8 - wild_mon ZIGZAGOON, 25 - wild_mon LINOONE, 25 - wild_mon ZIGZAGOON, 27 - wild_mon ODDISH, 25 - wild_mon LINOONE, 27 - wild_mon ODDISH, 26 - wild_mon ODDISH, 27 - wild_mon ODDISH, 24 - wild_mon TROPIUS, 25 - wild_mon TROPIUS, 26 - wild_mon TROPIUS, 27 - wild_mon KECLEON, 25 - - .align 2 -gRoute119_LandMonsInfo:: @ 8551308 - .4byte 15 @ encounter rate - .4byte gRoute119_LandMons - - .align 2 -gRoute119_WaterMons:: @ 8551310 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute119_WaterMonsInfo:: @ 8551324 - .4byte 4 @ encounter rate - .4byte gRoute119_WaterMons - - .align 2 -gRoute119_FishingMons:: @ 855132C - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon CARVANHA, 10, 30 - wild_mon CARVANHA, 25, 30 - wild_mon CARVANHA, 30, 35 - wild_mon CARVANHA, 20, 25 - wild_mon CARVANHA, 35, 40 - wild_mon CARVANHA, 40, 45 - - .align 2 -gRoute119_FishingMonsInfo:: @ 8551354 - .4byte 30 @ encounter rate - .4byte gRoute119_FishingMons - - .align 2 -gRoute120_LandMons:: @ 855135C - wild_mon POOCHYENA, 25 - wild_mon MIGHTYENA, 25 - wild_mon MIGHTYENA, 27 - wild_mon ODDISH, 25 - wild_mon MARILL, 25 - wild_mon ODDISH, 26 - wild_mon ODDISH, 27 - wild_mon MARILL, 27 - wild_mon ABSOL, 25 - wild_mon ABSOL, 27 - wild_mon KECLEON, 25 - wild_mon SEEDOT, 25 - - .align 2 -gRoute120_LandMonsInfo:: @ 855138C - .4byte 20 @ encounter rate - .4byte gRoute120_LandMons - - .align 2 -gRoute120_WaterMons:: @ 8551394 - wild_mon MARILL, 20, 30 - wild_mon MARILL, 10, 20 - wild_mon MARILL, 30, 35 - wild_mon MARILL, 5, 10 - wild_mon GOLDEEN, 20, 30 - - .align 2 -gRoute120_WaterMonsInfo:: @ 85513A8 - .4byte 4 @ encounter rate - .4byte gRoute120_WaterMons - - .align 2 -gRoute120_FishingMons:: @ 85513B0 - wild_mon MAGIKARP, 5, 10 - wild_mon GOLDEEN, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon GOLDEEN, 10, 30 - wild_mon BARBOACH, 10, 30 - wild_mon BARBOACH, 25, 30 - wild_mon BARBOACH, 30, 35 - wild_mon BARBOACH, 20, 25 - wild_mon BARBOACH, 35, 40 - wild_mon BARBOACH, 40, 45 - - .align 2 -gRoute120_FishingMonsInfo:: @ 85513D8 - .4byte 30 @ encounter rate - .4byte gRoute120_FishingMons - - .align 2 -gRoute121_LandMons:: @ 85513E0 - wild_mon POOCHYENA, 26 - wild_mon SHUPPET, 26 - wild_mon MIGHTYENA, 26 - wild_mon SHUPPET, 28 - wild_mon MIGHTYENA, 28 - wild_mon ODDISH, 26 - wild_mon ODDISH, 28 - wild_mon GLOOM, 28 - wild_mon WINGULL, 26 - wild_mon WINGULL, 27 - wild_mon WINGULL, 28 - wild_mon KECLEON, 25 - - .align 2 -gRoute121_LandMonsInfo:: @ 8551410 - .4byte 20 @ encounter rate - .4byte gRoute121_LandMons - - .align 2 -gRoute121_WaterMons:: @ 8551418 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute121_WaterMonsInfo:: @ 855142C - .4byte 4 @ encounter rate - .4byte gRoute121_WaterMons - - .align 2 -gRoute121_FishingMons:: @ 8551434 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 20, 25 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute121_FishingMonsInfo:: @ 855145C - .4byte 30 @ encounter rate - .4byte gRoute121_FishingMons - - .align 2 -gRoute122_WaterMons:: @ 8551464 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute122_WaterMonsInfo:: @ 8551478 - .4byte 4 @ encounter rate - .4byte gRoute122_WaterMons - - .align 2 -gRoute122_FishingMons:: @ 8551480 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon SHARPEDO, 30, 35 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute122_FishingMonsInfo:: @ 85514A8 - .4byte 30 @ encounter rate - .4byte gRoute122_FishingMons - - .align 2 -gRoute123_LandMons:: @ 85514B0 - wild_mon POOCHYENA, 26 - wild_mon SHUPPET, 26 - wild_mon MIGHTYENA, 26 - wild_mon SHUPPET, 28 - wild_mon MIGHTYENA, 28 - wild_mon ODDISH, 26 - wild_mon ODDISH, 28 - wild_mon GLOOM, 28 - wild_mon WINGULL, 26 - wild_mon WINGULL, 27 - wild_mon WINGULL, 28 - wild_mon KECLEON, 25 - - .align 2 -gRoute123_LandMonsInfo:: @ 85514E0 - .4byte 20 @ encounter rate - .4byte gRoute123_LandMons - - .align 2 -gRoute123_WaterMons:: @ 85514E8 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute123_WaterMonsInfo:: @ 85514FC - .4byte 4 @ encounter rate - .4byte gRoute123_WaterMons - - .align 2 -gRoute123_FishingMons:: @ 8551504 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 20, 25 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute123_FishingMonsInfo:: @ 855152C - .4byte 30 @ encounter rate - .4byte gRoute123_FishingMons - - .align 2 -gMtPyre_2F_LandMons:: @ 8551534 - wild_mon SHUPPET, 27 - wild_mon SHUPPET, 28 - wild_mon SHUPPET, 26 - wild_mon SHUPPET, 25 - wild_mon SHUPPET, 29 - wild_mon SHUPPET, 24 - wild_mon SHUPPET, 23 - wild_mon SHUPPET, 22 - wild_mon SHUPPET, 29 - wild_mon SHUPPET, 24 - wild_mon SHUPPET, 29 - wild_mon SHUPPET, 24 - - .align 2 -gMtPyre_2F_LandMonsInfo:: @ 8551564 - .4byte 10 @ encounter rate - .4byte gMtPyre_2F_LandMons - - .align 2 -gMtPyre_3F_LandMons:: @ 855156C - wild_mon SHUPPET, 27 - wild_mon SHUPPET, 28 - wild_mon SHUPPET, 26 - wild_mon SHUPPET, 25 - wild_mon SHUPPET, 29 - wild_mon SHUPPET, 24 - wild_mon SHUPPET, 23 - wild_mon SHUPPET, 22 - wild_mon SHUPPET, 29 - wild_mon SHUPPET, 24 - wild_mon SHUPPET, 29 - wild_mon SHUPPET, 24 - - .align 2 -gMtPyre_3F_LandMonsInfo:: @ 855159C - .4byte 10 @ encounter rate - .4byte gMtPyre_3F_LandMons - - .align 2 -gMtPyre_4F_LandMons:: @ 85515A4 - wild_mon SHUPPET, 27 - wild_mon SHUPPET, 28 - wild_mon SHUPPET, 26 - wild_mon SHUPPET, 25 - wild_mon SHUPPET, 29 - wild_mon SHUPPET, 24 - wild_mon SHUPPET, 23 - wild_mon SHUPPET, 22 - wild_mon DUSKULL, 27 - wild_mon DUSKULL, 27 - wild_mon DUSKULL, 25 - wild_mon DUSKULL, 29 - - .align 2 -gMtPyre_4F_LandMonsInfo:: @ 85515D4 - .4byte 10 @ encounter rate - .4byte gMtPyre_4F_LandMons - - .align 2 -gMtPyre_5F_LandMons:: @ 85515DC - wild_mon SHUPPET, 27 - wild_mon SHUPPET, 28 - wild_mon SHUPPET, 26 - wild_mon SHUPPET, 25 - wild_mon SHUPPET, 29 - wild_mon SHUPPET, 24 - wild_mon SHUPPET, 23 - wild_mon SHUPPET, 22 - wild_mon DUSKULL, 27 - wild_mon DUSKULL, 27 - wild_mon DUSKULL, 25 - wild_mon DUSKULL, 29 - - .align 2 -gMtPyre_5F_LandMonsInfo:: @ 855160C - .4byte 10 @ encounter rate - .4byte gMtPyre_5F_LandMons - - .align 2 -gMtPyre_6F_LandMons:: @ 8551614 - wild_mon SHUPPET, 27 - wild_mon SHUPPET, 28 - wild_mon SHUPPET, 26 - wild_mon SHUPPET, 25 - wild_mon SHUPPET, 29 - wild_mon SHUPPET, 24 - wild_mon SHUPPET, 23 - wild_mon SHUPPET, 22 - wild_mon DUSKULL, 27 - wild_mon DUSKULL, 27 - wild_mon DUSKULL, 25 - wild_mon DUSKULL, 29 - - .align 2 -gMtPyre_6F_LandMonsInfo:: @ 8551644 - .4byte 10 @ encounter rate - .4byte gMtPyre_6F_LandMons - - .align 2 -gMtPyre_Exterior_LandMons:: @ 855164C - wild_mon SHUPPET, 27 - wild_mon SHUPPET, 27 - wild_mon SHUPPET, 28 - wild_mon SHUPPET, 29 - wild_mon VULPIX, 29 - wild_mon VULPIX, 27 - wild_mon VULPIX, 29 - wild_mon VULPIX, 25 - wild_mon WINGULL, 27 - wild_mon WINGULL, 27 - wild_mon WINGULL, 26 - wild_mon WINGULL, 28 - - .align 2 -gMtPyre_Exterior_LandMonsInfo:: @ 855167C - .4byte 10 @ encounter rate - .4byte gMtPyre_Exterior_LandMons - - .align 2 -gMtPyre_Summit_LandMons:: @ 8551684 - wild_mon SHUPPET, 28 - wild_mon SHUPPET, 29 - wild_mon SHUPPET, 27 - wild_mon SHUPPET, 26 - wild_mon SHUPPET, 30 - wild_mon SHUPPET, 25 - wild_mon SHUPPET, 24 - wild_mon DUSKULL, 28 - wild_mon DUSKULL, 26 - wild_mon DUSKULL, 30 - wild_mon CHIMECHO, 28 - wild_mon CHIMECHO, 28 - - .align 2 -gMtPyre_Summit_LandMonsInfo:: @ 85516B4 - .4byte 10 @ encounter rate - .4byte gMtPyre_Summit_LandMons - - .align 2 -gGraniteCave_StevensRoom_LandMons:: @ 85516BC - wild_mon ZUBAT, 7 - wild_mon MAKUHITA, 8 - wild_mon MAKUHITA, 7 - wild_mon ZUBAT, 8 - wild_mon MAKUHITA, 9 - wild_mon ABRA, 8 - wild_mon MAKUHITA, 10 - wild_mon MAKUHITA, 6 - wild_mon ARON, 7 - wild_mon ARON, 8 - wild_mon ARON, 7 - wild_mon ARON, 8 - - .align 2 -gGraniteCave_StevensRoom_LandMonsInfo:: @ 85516EC - .4byte 10 @ encounter rate - .4byte gGraniteCave_StevensRoom_LandMons - - .align 2 -gRoute125_WaterMons:: @ 85516F4 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute125_WaterMonsInfo:: @ 8551708 - .4byte 4 @ encounter rate - .4byte gRoute125_WaterMons - - .align 2 -gRoute125_FishingMons:: @ 8551710 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon SHARPEDO, 30, 35 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute125_FishingMonsInfo:: @ 8551738 - .4byte 30 @ encounter rate - .4byte gRoute125_FishingMons - - .align 2 -gRoute126_WaterMons:: @ 8551740 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute126_WaterMonsInfo:: @ 8551754 - .4byte 4 @ encounter rate - .4byte gRoute126_WaterMons - - .align 2 -gRoute126_FishingMons:: @ 855175C - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon SHARPEDO, 30, 35 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute126_FishingMonsInfo:: @ 8551784 - .4byte 30 @ encounter rate - .4byte gRoute126_FishingMons - - .align 2 -gRoute127_WaterMons:: @ 855178C - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute127_WaterMonsInfo:: @ 85517A0 - .4byte 4 @ encounter rate - .4byte gRoute127_WaterMons - - .align 2 -gRoute127_FishingMons:: @ 85517A8 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon SHARPEDO, 30, 35 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute127_FishingMonsInfo:: @ 85517D0 - .4byte 30 @ encounter rate - .4byte gRoute127_FishingMons - - .align 2 -gRoute128_WaterMons:: @ 85517D8 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute128_WaterMonsInfo:: @ 85517EC - .4byte 4 @ encounter rate - .4byte gRoute128_WaterMons - - .align 2 -gRoute128_FishingMons:: @ 85517F4 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon LUVDISC, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon LUVDISC, 30, 35 - wild_mon WAILMER, 30, 35 - wild_mon CORSOLA, 30, 35 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute128_FishingMonsInfo:: @ 855181C - .4byte 30 @ encounter rate - .4byte gRoute128_FishingMons - - .align 2 -gRoute129_WaterMons:: @ 8551824 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon WAILORD, 25, 30 - - .align 2 -gRoute129_WaterMonsInfo:: @ 8551838 - .4byte 4 @ encounter rate - .4byte gRoute129_WaterMons - - .align 2 -gRoute129_FishingMons:: @ 8551840 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon SHARPEDO, 30, 35 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute129_FishingMonsInfo:: @ 8551868 - .4byte 30 @ encounter rate - .4byte gRoute129_FishingMons - - .align 2 -gRoute130_LandMons:: @ 8551870 - wild_mon WYNAUT, 30 - wild_mon WYNAUT, 35 - wild_mon WYNAUT, 25 - wild_mon WYNAUT, 40 - wild_mon WYNAUT, 20 - wild_mon WYNAUT, 45 - wild_mon WYNAUT, 15 - wild_mon WYNAUT, 50 - wild_mon WYNAUT, 10 - wild_mon WYNAUT, 5 - wild_mon WYNAUT, 10 - wild_mon WYNAUT, 5 - - .align 2 -gRoute130_LandMonsInfo:: @ 85518A0 - .4byte 20 @ encounter rate - .4byte gRoute130_LandMons - - .align 2 -gRoute130_WaterMons:: @ 85518A8 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute130_WaterMonsInfo:: @ 85518BC - .4byte 4 @ encounter rate - .4byte gRoute130_WaterMons - - .align 2 -gRoute130_FishingMons:: @ 85518C4 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon SHARPEDO, 30, 35 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute130_FishingMonsInfo:: @ 85518EC - .4byte 30 @ encounter rate - .4byte gRoute130_FishingMons - - .align 2 -gRoute131_WaterMons:: @ 85518F4 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute131_WaterMonsInfo:: @ 8551908 - .4byte 4 @ encounter rate - .4byte gRoute131_WaterMons - - .align 2 -gRoute131_FishingMons:: @ 8551910 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon SHARPEDO, 30, 35 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute131_FishingMonsInfo:: @ 8551938 - .4byte 30 @ encounter rate - .4byte gRoute131_FishingMons - - .align 2 -gRoute132_WaterMons:: @ 8551940 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute132_WaterMonsInfo:: @ 8551954 - .4byte 4 @ encounter rate - .4byte gRoute132_WaterMons - - .align 2 -gRoute132_FishingMons:: @ 855195C - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon SHARPEDO, 30, 35 - wild_mon WAILMER, 30, 35 - wild_mon HORSEA, 25, 30 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute132_FishingMonsInfo:: @ 8551984 - .4byte 30 @ encounter rate - .4byte gRoute132_FishingMons - - .align 2 -gRoute133_WaterMons:: @ 855198C - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute133_WaterMonsInfo:: @ 85519A0 - .4byte 4 @ encounter rate - .4byte gRoute133_WaterMons - - .align 2 -gRoute133_FishingMons:: @ 85519A8 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon SHARPEDO, 30, 35 - wild_mon WAILMER, 30, 35 - wild_mon HORSEA, 25, 30 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute133_FishingMonsInfo:: @ 85519D0 - .4byte 30 @ encounter rate - .4byte gRoute133_FishingMons - - .align 2 -gRoute134_WaterMons:: @ 85519D8 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gRoute134_WaterMonsInfo:: @ 85519EC - .4byte 4 @ encounter rate - .4byte gRoute134_WaterMons - - .align 2 -gRoute134_FishingMons:: @ 85519F4 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon SHARPEDO, 30, 35 - wild_mon WAILMER, 30, 35 - wild_mon HORSEA, 25, 30 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gRoute134_FishingMonsInfo:: @ 8551A1C - .4byte 30 @ encounter rate - .4byte gRoute134_FishingMons - - .align 2 -gAbandonedShip_HiddenFloorCorridors_WaterMons:: @ 8551A24 - wild_mon TENTACOOL, 5, 35 - wild_mon TENTACOOL, 5, 35 - wild_mon TENTACOOL, 5, 35 - wild_mon TENTACOOL, 5, 35 - wild_mon TENTACRUEL, 30, 35 - - .align 2 -gAbandonedShip_HiddenFloorCorridors_WaterMonsInfo:: @ 8551A38 - .4byte 4 @ encounter rate - .4byte gAbandonedShip_HiddenFloorCorridors_WaterMons - - .align 2 -gAbandonedShip_HiddenFloorCorridors_FishingMons:: @ 8551A40 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon TENTACOOL, 25, 30 - wild_mon TENTACOOL, 30, 35 - wild_mon TENTACRUEL, 30, 35 - wild_mon TENTACRUEL, 25, 30 - wild_mon TENTACRUEL, 20, 25 - - .align 2 -gAbandonedShip_HiddenFloorCorridors_FishingMonsInfo:: @ 8551A68 - .4byte 20 @ encounter rate - .4byte gAbandonedShip_HiddenFloorCorridors_FishingMons - - .align 2 -gSeafloorCavern_Room1_LandMons:: @ 8551A70 - wild_mon ZUBAT, 30 - wild_mon ZUBAT, 31 - wild_mon ZUBAT, 32 - wild_mon ZUBAT, 33 - wild_mon ZUBAT, 28 - wild_mon ZUBAT, 29 - wild_mon ZUBAT, 34 - wild_mon ZUBAT, 35 - wild_mon GOLBAT, 34 - wild_mon GOLBAT, 35 - wild_mon GOLBAT, 33 - wild_mon GOLBAT, 36 - - .align 2 -gSeafloorCavern_Room1_LandMonsInfo:: @ 8551AA0 - .4byte 4 @ encounter rate - .4byte gSeafloorCavern_Room1_LandMons - - .align 2 -gSeafloorCavern_Room2_LandMons:: @ 8551AA8 - wild_mon ZUBAT, 30 - wild_mon ZUBAT, 31 - wild_mon ZUBAT, 32 - wild_mon ZUBAT, 33 - wild_mon ZUBAT, 28 - wild_mon ZUBAT, 29 - wild_mon ZUBAT, 34 - wild_mon ZUBAT, 35 - wild_mon GOLBAT, 34 - wild_mon GOLBAT, 35 - wild_mon GOLBAT, 33 - wild_mon GOLBAT, 36 - - .align 2 -gSeafloorCavern_Room2_LandMonsInfo:: @ 8551AD8 - .4byte 4 @ encounter rate - .4byte gSeafloorCavern_Room2_LandMons - - .align 2 -gSeafloorCavern_Room3_LandMons:: @ 8551AE0 - wild_mon ZUBAT, 30 - wild_mon ZUBAT, 31 - wild_mon ZUBAT, 32 - wild_mon ZUBAT, 33 - wild_mon ZUBAT, 28 - wild_mon ZUBAT, 29 - wild_mon ZUBAT, 34 - wild_mon ZUBAT, 35 - wild_mon GOLBAT, 34 - wild_mon GOLBAT, 35 - wild_mon GOLBAT, 33 - wild_mon GOLBAT, 36 - - .align 2 -gSeafloorCavern_Room3_LandMonsInfo:: @ 8551B10 - .4byte 4 @ encounter rate - .4byte gSeafloorCavern_Room3_LandMons - - .align 2 -gSeafloorCavern_Room4_LandMons:: @ 8551B18 - wild_mon ZUBAT, 30 - wild_mon ZUBAT, 31 - wild_mon ZUBAT, 32 - wild_mon ZUBAT, 33 - wild_mon ZUBAT, 28 - wild_mon ZUBAT, 29 - wild_mon ZUBAT, 34 - wild_mon ZUBAT, 35 - wild_mon GOLBAT, 34 - wild_mon GOLBAT, 35 - wild_mon GOLBAT, 33 - wild_mon GOLBAT, 36 - - .align 2 -gSeafloorCavern_Room4_LandMonsInfo:: @ 8551B48 - .4byte 4 @ encounter rate - .4byte gSeafloorCavern_Room4_LandMons - - .align 2 -gSeafloorCavern_Room5_LandMons:: @ 8551B50 - wild_mon ZUBAT, 30 - wild_mon ZUBAT, 31 - wild_mon ZUBAT, 32 - wild_mon ZUBAT, 33 - wild_mon ZUBAT, 28 - wild_mon ZUBAT, 29 - wild_mon ZUBAT, 34 - wild_mon ZUBAT, 35 - wild_mon GOLBAT, 34 - wild_mon GOLBAT, 35 - wild_mon GOLBAT, 33 - wild_mon GOLBAT, 36 - - .align 2 -gSeafloorCavern_Room5_LandMonsInfo:: @ 8551B80 - .4byte 4 @ encounter rate - .4byte gSeafloorCavern_Room5_LandMons - - .align 2 -gSeafloorCavern_Room6_LandMons:: @ 8551B88 - wild_mon ZUBAT, 30 - wild_mon ZUBAT, 31 - wild_mon ZUBAT, 32 - wild_mon ZUBAT, 33 - wild_mon ZUBAT, 28 - wild_mon ZUBAT, 29 - wild_mon ZUBAT, 34 - wild_mon ZUBAT, 35 - wild_mon GOLBAT, 34 - wild_mon GOLBAT, 35 - wild_mon GOLBAT, 33 - wild_mon GOLBAT, 36 - - .align 2 -gSeafloorCavern_Room6_LandMonsInfo:: @ 8551BB8 - .4byte 4 @ encounter rate - .4byte gSeafloorCavern_Room6_LandMons - - .align 2 -gSeafloorCavern_Room6_WaterMons:: @ 8551BC0 - wild_mon TENTACOOL, 5, 35 - wild_mon ZUBAT, 5, 35 - wild_mon ZUBAT, 30, 35 - wild_mon GOLBAT, 30, 35 - wild_mon GOLBAT, 30, 35 - - .align 2 -gSeafloorCavern_Room6_WaterMonsInfo:: @ 8551BD4 - .4byte 4 @ encounter rate - .4byte gSeafloorCavern_Room6_WaterMons - - .align 2 -gSeafloorCavern_Room6_FishingMons:: @ 8551BDC - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 20, 25 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gSeafloorCavern_Room6_FishingMonsInfo:: @ 8551C04 - .4byte 10 @ encounter rate - .4byte gSeafloorCavern_Room6_FishingMons - - .align 2 -gSeafloorCavern_Room7_LandMons:: @ 8551C0C - wild_mon ZUBAT, 30 - wild_mon ZUBAT, 31 - wild_mon ZUBAT, 32 - wild_mon ZUBAT, 33 - wild_mon ZUBAT, 28 - wild_mon ZUBAT, 29 - wild_mon ZUBAT, 34 - wild_mon ZUBAT, 35 - wild_mon GOLBAT, 34 - wild_mon GOLBAT, 35 - wild_mon GOLBAT, 33 - wild_mon GOLBAT, 36 - - .align 2 -gSeafloorCavern_Room7_LandMonsInfo:: @ 8551C3C - .4byte 4 @ encounter rate - .4byte gSeafloorCavern_Room7_LandMons - - .align 2 -gSeafloorCavern_Room7_WaterMons:: @ 8551C44 - wild_mon TENTACOOL, 5, 35 - wild_mon ZUBAT, 5, 35 - wild_mon ZUBAT, 30, 35 - wild_mon GOLBAT, 30, 35 - wild_mon GOLBAT, 30, 35 - - .align 2 -gSeafloorCavern_Room7_WaterMonsInfo:: @ 8551C58 - .4byte 4 @ encounter rate - .4byte gSeafloorCavern_Room7_WaterMons - - .align 2 -gSeafloorCavern_Room7_FishingMons:: @ 8551C60 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 20, 25 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gSeafloorCavern_Room7_FishingMonsInfo:: @ 8551C88 - .4byte 10 @ encounter rate - .4byte gSeafloorCavern_Room7_FishingMons - - .align 2 -gSeafloorCavern_Room8_LandMons:: @ 8551C90 - wild_mon ZUBAT, 30 - wild_mon ZUBAT, 31 - wild_mon ZUBAT, 32 - wild_mon ZUBAT, 33 - wild_mon ZUBAT, 28 - wild_mon ZUBAT, 29 - wild_mon ZUBAT, 34 - wild_mon ZUBAT, 35 - wild_mon GOLBAT, 34 - wild_mon GOLBAT, 35 - wild_mon GOLBAT, 33 - wild_mon GOLBAT, 36 - - .align 2 -gSeafloorCavern_Room8_LandMonsInfo:: @ 8551CC0 - .4byte 4 @ encounter rate - .4byte gSeafloorCavern_Room8_LandMons - - .align 2 -gSeafloorCavern_Entrance_WaterMons:: @ 8551CC8 - wild_mon TENTACOOL, 5, 35 - wild_mon ZUBAT, 5, 35 - wild_mon ZUBAT, 30, 35 - wild_mon GOLBAT, 30, 35 - wild_mon GOLBAT, 30, 35 - - .align 2 -gSeafloorCavern_Entrance_WaterMonsInfo:: @ 8551CDC - .4byte 4 @ encounter rate - .4byte gSeafloorCavern_Entrance_WaterMons - - .align 2 -gSeafloorCavern_Entrance_FishingMons:: @ 8551CE4 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 20, 25 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gSeafloorCavern_Entrance_FishingMonsInfo:: @ 8551D0C - .4byte 10 @ encounter rate - .4byte gSeafloorCavern_Entrance_FishingMons - - .align 2 -gCaveOfOrigin_Entrance_LandMons:: @ 8551D14 - wild_mon ZUBAT, 30 - wild_mon ZUBAT, 31 - wild_mon ZUBAT, 32 - wild_mon ZUBAT, 33 - wild_mon ZUBAT, 28 - wild_mon ZUBAT, 29 - wild_mon ZUBAT, 34 - wild_mon ZUBAT, 35 - wild_mon GOLBAT, 34 - wild_mon GOLBAT, 35 - wild_mon GOLBAT, 33 - wild_mon GOLBAT, 36 - - .align 2 -gCaveOfOrigin_Entrance_LandMonsInfo:: @ 8551D44 - .4byte 4 @ encounter rate - .4byte gCaveOfOrigin_Entrance_LandMons - - .align 2 -gCaveOfOrigin_1F_LandMons:: @ 8551D4C - wild_mon ZUBAT, 30 - wild_mon ZUBAT, 31 - wild_mon ZUBAT, 32 - wild_mon SABLEYE, 30 - wild_mon SABLEYE, 32 - wild_mon SABLEYE, 34 - wild_mon ZUBAT, 33 - wild_mon ZUBAT, 34 - wild_mon GOLBAT, 34 - wild_mon GOLBAT, 35 - wild_mon GOLBAT, 33 - wild_mon GOLBAT, 36 - - .align 2 -gCaveOfOrigin_1F_LandMonsInfo:: @ 8551D7C - .4byte 4 @ encounter rate - .4byte gCaveOfOrigin_1F_LandMons - - .align 2 -gCaveOfOrigin_UnusedRubySapphireMap1_LandMons:: @ 8551D84 - wild_mon ZUBAT, 30 - wild_mon ZUBAT, 31 - wild_mon ZUBAT, 32 - wild_mon SABLEYE, 30 - wild_mon SABLEYE, 32 - wild_mon SABLEYE, 34 - wild_mon ZUBAT, 33 - wild_mon ZUBAT, 34 - wild_mon GOLBAT, 34 - wild_mon GOLBAT, 35 - wild_mon GOLBAT, 33 - wild_mon GOLBAT, 36 - - .align 2 -gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo:: @ 8551DB4 - .4byte 4 @ encounter rate - .4byte gCaveOfOrigin_UnusedRubySapphireMap1_LandMons - - .align 2 -gCaveOfOrigin_UnusedRubySapphireMap2_LandMons:: @ 8551DBC - wild_mon ZUBAT, 30 - wild_mon ZUBAT, 31 - wild_mon ZUBAT, 32 - wild_mon SABLEYE, 30 - wild_mon SABLEYE, 32 - wild_mon SABLEYE, 34 - wild_mon ZUBAT, 33 - wild_mon ZUBAT, 34 - wild_mon GOLBAT, 34 - wild_mon GOLBAT, 35 - wild_mon GOLBAT, 33 - wild_mon GOLBAT, 36 - - .align 2 -gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo:: @ 8551DEC - .4byte 4 @ encounter rate - .4byte gCaveOfOrigin_UnusedRubySapphireMap2_LandMons - - .align 2 -gCaveOfOrigin_UnusedRubySapphireMap3_LandMons:: @ 8551DF4 - wild_mon ZUBAT, 30 - wild_mon ZUBAT, 31 - wild_mon ZUBAT, 32 - wild_mon SABLEYE, 30 - wild_mon SABLEYE, 32 - wild_mon SABLEYE, 34 - wild_mon ZUBAT, 33 - wild_mon ZUBAT, 34 - wild_mon GOLBAT, 34 - wild_mon GOLBAT, 35 - wild_mon GOLBAT, 33 - wild_mon GOLBAT, 36 - - .align 2 -gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo:: @ 8551E24 - .4byte 4 @ encounter rate - .4byte gCaveOfOrigin_UnusedRubySapphireMap3_LandMons - - .align 2 -gNewMauville_Entrance_LandMons:: @ 8551E2C - wild_mon VOLTORB, 24 - wild_mon MAGNEMITE, 24 - wild_mon VOLTORB, 25 - wild_mon MAGNEMITE, 25 - wild_mon VOLTORB, 23 - wild_mon MAGNEMITE, 23 - wild_mon VOLTORB, 26 - wild_mon MAGNEMITE, 26 - wild_mon VOLTORB, 22 - wild_mon MAGNEMITE, 22 - wild_mon VOLTORB, 22 - wild_mon MAGNEMITE, 22 - - .align 2 -gNewMauville_Entrance_LandMonsInfo:: @ 8551E5C - .4byte 10 @ encounter rate - .4byte gNewMauville_Entrance_LandMons - - .align 2 -gSafariZone_Southwest_LandMons:: @ 8551E64 - wild_mon ODDISH, 25 - wild_mon ODDISH, 27 - wild_mon GIRAFARIG, 25 - wild_mon GIRAFARIG, 27 - wild_mon NATU, 25 - wild_mon DODUO, 27 - wild_mon GLOOM, 25 - wild_mon WOBBUFFET, 27 - wild_mon PIKACHU, 25 - wild_mon WOBBUFFET, 27 - wild_mon PIKACHU, 27 - wild_mon WOBBUFFET, 29 - - .align 2 -gSafariZone_Southwest_LandMonsInfo:: @ 8551E94 - .4byte 25 @ encounter rate - .4byte gSafariZone_Southwest_LandMons - - .align 2 -gSafariZone_Southwest_WaterMons:: @ 8551E9C - wild_mon PSYDUCK, 20, 30 - wild_mon PSYDUCK, 20, 30 - wild_mon PSYDUCK, 30, 35 - wild_mon PSYDUCK, 30, 35 - wild_mon PSYDUCK, 30, 35 - - .align 2 -gSafariZone_Southwest_WaterMonsInfo:: @ 8551EB0 - .4byte 9 @ encounter rate - .4byte gSafariZone_Southwest_WaterMons - - .align 2 -gSafariZone_Southwest_FishingMons:: @ 8551EB8 - wild_mon MAGIKARP, 5, 10 - wild_mon GOLDEEN, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon GOLDEEN, 10, 25 - wild_mon GOLDEEN, 10, 30 - wild_mon GOLDEEN, 25, 30 - wild_mon GOLDEEN, 30, 35 - wild_mon SEAKING, 30, 35 - wild_mon SEAKING, 35, 40 - wild_mon SEAKING, 25, 30 - - .align 2 -gSafariZone_Southwest_FishingMonsInfo:: @ 8551EE0 - .4byte 35 @ encounter rate - .4byte gSafariZone_Southwest_FishingMons - - .align 2 -gSafariZone_North_LandMons:: @ 8551EE8 - wild_mon PHANPY, 27 - wild_mon ODDISH, 27 - wild_mon PHANPY, 29 - wild_mon ODDISH, 29 - wild_mon NATU, 27 - wild_mon GLOOM, 29 - wild_mon GLOOM, 31 - wild_mon NATU, 29 - wild_mon XATU, 29 - wild_mon HERACROSS, 27 - wild_mon XATU, 31 - wild_mon HERACROSS, 29 - - .align 2 -gSafariZone_North_LandMonsInfo:: @ 8551F18 - .4byte 25 @ encounter rate - .4byte gSafariZone_North_LandMons - - .align 2 -gSafariZone_North_RockSmashMons:: @ 8551F20 - wild_mon GEODUDE, 10, 15 - wild_mon GEODUDE, 5, 10 - wild_mon GEODUDE, 15, 20 - wild_mon GEODUDE, 20, 25 - wild_mon GEODUDE, 25, 30 - - .align 2 -gSafariZone_North_RockSmashMonsInfo:: @ 8551F34 - .4byte 25 @ encounter rate - .4byte gSafariZone_North_RockSmashMons - - .align 2 -gSafariZone_Northwest_LandMons:: @ 8551F3C - wild_mon RHYHORN, 27 - wild_mon ODDISH, 27 - wild_mon RHYHORN, 29 - wild_mon ODDISH, 29 - wild_mon DODUO, 27 - wild_mon GLOOM, 29 - wild_mon GLOOM, 31 - wild_mon DODUO, 29 - wild_mon DODRIO, 29 - wild_mon PINSIR, 27 - wild_mon DODRIO, 31 - wild_mon PINSIR, 29 - - .align 2 -gSafariZone_Northwest_LandMonsInfo:: @ 8551F6C - .4byte 25 @ encounter rate - .4byte gSafariZone_Northwest_LandMons - - .align 2 -gSafariZone_Northwest_WaterMons:: @ 8551F74 - wild_mon PSYDUCK, 20, 30 - wild_mon PSYDUCK, 20, 30 - wild_mon PSYDUCK, 30, 35 - wild_mon GOLDUCK, 30, 35 - wild_mon GOLDUCK, 25, 40 - - .align 2 -gSafariZone_Northwest_WaterMonsInfo:: @ 8551F88 - .4byte 9 @ encounter rate - .4byte gSafariZone_Northwest_WaterMons - - .align 2 -gSafariZone_Northwest_FishingMons:: @ 8551F90 - wild_mon MAGIKARP, 5, 10 - wild_mon GOLDEEN, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon GOLDEEN, 10, 25 - wild_mon GOLDEEN, 10, 30 - wild_mon GOLDEEN, 25, 30 - wild_mon GOLDEEN, 30, 35 - wild_mon SEAKING, 30, 35 - wild_mon SEAKING, 35, 40 - wild_mon SEAKING, 25, 30 - - .align 2 -gSafariZone_Northwest_FishingMonsInfo:: @ 8551FB8 - .4byte 35 @ encounter rate - .4byte gSafariZone_Northwest_FishingMons - - .align 2 -gVictoryRoad_B1F_LandMons:: @ 8551FC0 - wild_mon GOLBAT, 40 - wild_mon HARIYAMA, 40 - wild_mon LAIRON, 40 - wild_mon LAIRON, 40 - wild_mon GOLBAT, 38 - wild_mon HARIYAMA, 38 - wild_mon GOLBAT, 42 - wild_mon HARIYAMA, 42 - wild_mon LAIRON, 42 - wild_mon MAWILE, 38 - wild_mon LAIRON, 42 - wild_mon MAWILE, 38 - - .align 2 -gVictoryRoad_B1F_LandMonsInfo:: @ 8551FF0 - .4byte 10 @ encounter rate - .4byte gVictoryRoad_B1F_LandMons - - .align 2 -gVictoryRoad_B1F_RockSmashMons:: @ 8551FF8 - wild_mon GRAVELER, 30, 40 - wild_mon GEODUDE, 30, 40 - wild_mon GRAVELER, 35, 40 - wild_mon GRAVELER, 35, 40 - wild_mon GRAVELER, 35, 40 - - .align 2 -gVictoryRoad_B1F_RockSmashMonsInfo:: @ 855200C - .4byte 20 @ encounter rate - .4byte gVictoryRoad_B1F_RockSmashMons - - .align 2 -gVictoryRoad_B2F_LandMons:: @ 8552014 - wild_mon GOLBAT, 40 - wild_mon SABLEYE, 40 - wild_mon LAIRON, 40 - wild_mon LAIRON, 40 - wild_mon GOLBAT, 42 - wild_mon SABLEYE, 42 - wild_mon GOLBAT, 44 - wild_mon SABLEYE, 44 - wild_mon LAIRON, 42 - wild_mon MAWILE, 42 - wild_mon LAIRON, 44 - wild_mon MAWILE, 44 - - .align 2 -gVictoryRoad_B2F_LandMonsInfo:: @ 8552044 - .4byte 10 @ encounter rate - .4byte gVictoryRoad_B2F_LandMons - - .align 2 -gVictoryRoad_B2F_WaterMons:: @ 855204C - wild_mon GOLBAT, 30, 35 - wild_mon GOLBAT, 25, 30 - wild_mon GOLBAT, 35, 40 - wild_mon GOLBAT, 35, 40 - wild_mon GOLBAT, 35, 40 - - .align 2 -gVictoryRoad_B2F_WaterMonsInfo:: @ 8552060 - .4byte 4 @ encounter rate - .4byte gVictoryRoad_B2F_WaterMons - - .align 2 -gVictoryRoad_B2F_FishingMons:: @ 8552068 - wild_mon MAGIKARP, 5, 10 - wild_mon GOLDEEN, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon GOLDEEN, 10, 30 - wild_mon BARBOACH, 10, 30 - wild_mon BARBOACH, 25, 30 - wild_mon BARBOACH, 30, 35 - wild_mon WHISCASH, 30, 35 - wild_mon WHISCASH, 35, 40 - wild_mon WHISCASH, 40, 45 - - .align 2 -gVictoryRoad_B2F_FishingMonsInfo:: @ 8552090 - .4byte 30 @ encounter rate - .4byte gVictoryRoad_B2F_FishingMons - - .align 2 -gMeteorFalls_1F_1R_LandMons:: @ 8552098 - wild_mon ZUBAT, 16 - wild_mon ZUBAT, 17 - wild_mon ZUBAT, 18 - wild_mon ZUBAT, 15 - wild_mon ZUBAT, 14 - wild_mon SOLROCK, 16 - wild_mon SOLROCK, 18 - wild_mon SOLROCK, 14 - wild_mon ZUBAT, 19 - wild_mon ZUBAT, 20 - wild_mon ZUBAT, 19 - wild_mon ZUBAT, 20 - - .align 2 -gMeteorFalls_1F_1R_LandMonsInfo:: @ 85520C8 - .4byte 10 @ encounter rate - .4byte gMeteorFalls_1F_1R_LandMons - - .align 2 -gMeteorFalls_1F_1R_WaterMons:: @ 85520D0 - wild_mon ZUBAT, 5, 35 - wild_mon ZUBAT, 30, 35 - wild_mon SOLROCK, 25, 35 - wild_mon SOLROCK, 15, 25 - wild_mon SOLROCK, 5, 15 - - .align 2 -gMeteorFalls_1F_1R_WaterMonsInfo:: @ 85520E4 - .4byte 4 @ encounter rate - .4byte gMeteorFalls_1F_1R_WaterMons - - .align 2 -gMeteorFalls_1F_1R_FishingMons:: @ 85520EC - wild_mon MAGIKARP, 5, 10 - wild_mon GOLDEEN, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon GOLDEEN, 10, 30 - wild_mon BARBOACH, 10, 30 - wild_mon BARBOACH, 25, 30 - wild_mon BARBOACH, 30, 35 - wild_mon BARBOACH, 20, 25 - wild_mon BARBOACH, 35, 40 - wild_mon BARBOACH, 40, 45 - - .align 2 -gMeteorFalls_1F_1R_FishingMonsInfo:: @ 8552114 - .4byte 30 @ encounter rate - .4byte gMeteorFalls_1F_1R_FishingMons - - .align 2 -gMeteorFalls_1F_2R_LandMons:: @ 855211C - wild_mon GOLBAT, 33 - wild_mon GOLBAT, 35 - wild_mon GOLBAT, 33 - wild_mon SOLROCK, 35 - wild_mon SOLROCK, 33 - wild_mon SOLROCK, 37 - wild_mon GOLBAT, 35 - wild_mon SOLROCK, 39 - wild_mon GOLBAT, 38 - wild_mon GOLBAT, 40 - wild_mon GOLBAT, 38 - wild_mon GOLBAT, 40 - - .align 2 -gMeteorFalls_1F_2R_LandMonsInfo:: @ 855214C - .4byte 10 @ encounter rate - .4byte gMeteorFalls_1F_2R_LandMons - - .align 2 -gMeteorFalls_1F_2R_WaterMons:: @ 8552154 - wild_mon GOLBAT, 30, 35 - wild_mon GOLBAT, 30, 35 - wild_mon SOLROCK, 25, 35 - wild_mon SOLROCK, 15, 25 - wild_mon SOLROCK, 5, 15 - - .align 2 -gMeteorFalls_1F_2R_WaterMonsInfo:: @ 8552168 - .4byte 4 @ encounter rate - .4byte gMeteorFalls_1F_2R_WaterMons - - .align 2 -gMeteorFalls_1F_2R_FishingMons:: @ 8552170 - wild_mon MAGIKARP, 5, 10 - wild_mon GOLDEEN, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon GOLDEEN, 10, 30 - wild_mon BARBOACH, 10, 30 - wild_mon BARBOACH, 25, 30 - wild_mon BARBOACH, 30, 35 - wild_mon WHISCASH, 30, 35 - wild_mon WHISCASH, 35, 40 - wild_mon WHISCASH, 40, 45 - - .align 2 -gMeteorFalls_1F_2R_FishingMonsInfo:: @ 8552198 - .4byte 30 @ encounter rate - .4byte gMeteorFalls_1F_2R_FishingMons - - .align 2 -gMeteorFalls_B1F_1R_LandMons:: @ 85521A0 - wild_mon GOLBAT, 33 - wild_mon GOLBAT, 35 - wild_mon GOLBAT, 33 - wild_mon SOLROCK, 35 - wild_mon SOLROCK, 33 - wild_mon SOLROCK, 37 - wild_mon GOLBAT, 35 - wild_mon SOLROCK, 39 - wild_mon GOLBAT, 38 - wild_mon GOLBAT, 40 - wild_mon GOLBAT, 38 - wild_mon GOLBAT, 40 - - .align 2 -gMeteorFalls_B1F_1R_LandMonsInfo:: @ 85521D0 - .4byte 10 @ encounter rate - .4byte gMeteorFalls_B1F_1R_LandMons - - .align 2 -gMeteorFalls_B1F_1R_WaterMons:: @ 85521D8 - wild_mon GOLBAT, 30, 35 - wild_mon GOLBAT, 30, 35 - wild_mon SOLROCK, 25, 35 - wild_mon SOLROCK, 15, 25 - wild_mon SOLROCK, 5, 15 - - .align 2 -gMeteorFalls_B1F_1R_WaterMonsInfo:: @ 85521EC - .4byte 4 @ encounter rate - .4byte gMeteorFalls_B1F_1R_WaterMons - - .align 2 -gMeteorFalls_B1F_1R_FishingMons:: @ 85521F4 - wild_mon MAGIKARP, 5, 10 - wild_mon GOLDEEN, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon GOLDEEN, 10, 30 - wild_mon BARBOACH, 10, 30 - wild_mon BARBOACH, 25, 30 - wild_mon BARBOACH, 30, 35 - wild_mon WHISCASH, 30, 35 - wild_mon WHISCASH, 35, 40 - wild_mon WHISCASH, 40, 45 - - .align 2 -gMeteorFalls_B1F_1R_FishingMonsInfo:: @ 855221C - .4byte 30 @ encounter rate - .4byte gMeteorFalls_B1F_1R_FishingMons - - .align 2 -gShoalCave_LowTideStairsRoom_LandMons:: @ 8552224 - wild_mon ZUBAT, 26 - wild_mon SPHEAL, 26 - wild_mon ZUBAT, 28 - wild_mon SPHEAL, 28 - wild_mon ZUBAT, 30 - wild_mon SPHEAL, 30 - wild_mon ZUBAT, 32 - wild_mon SPHEAL, 32 - wild_mon GOLBAT, 32 - wild_mon SPHEAL, 32 - wild_mon GOLBAT, 32 - wild_mon SPHEAL, 32 - - .align 2 -gShoalCave_LowTideStairsRoom_LandMonsInfo:: @ 8552254 - .4byte 10 @ encounter rate - .4byte gShoalCave_LowTideStairsRoom_LandMons - - .align 2 -gShoalCave_LowTideLowerRoom_LandMons:: @ 855225C - wild_mon ZUBAT, 26 - wild_mon SPHEAL, 26 - wild_mon ZUBAT, 28 - wild_mon SPHEAL, 28 - wild_mon ZUBAT, 30 - wild_mon SPHEAL, 30 - wild_mon ZUBAT, 32 - wild_mon SPHEAL, 32 - wild_mon GOLBAT, 32 - wild_mon SPHEAL, 32 - wild_mon GOLBAT, 32 - wild_mon SPHEAL, 32 - - .align 2 -gShoalCave_LowTideLowerRoom_LandMonsInfo:: @ 855228C - .4byte 10 @ encounter rate - .4byte gShoalCave_LowTideLowerRoom_LandMons - - .align 2 -gShoalCave_LowTideInnerRoom_LandMons:: @ 8552294 - wild_mon ZUBAT, 26 - wild_mon SPHEAL, 26 - wild_mon ZUBAT, 28 - wild_mon SPHEAL, 28 - wild_mon ZUBAT, 30 - wild_mon SPHEAL, 30 - wild_mon ZUBAT, 32 - wild_mon SPHEAL, 32 - wild_mon GOLBAT, 32 - wild_mon SPHEAL, 32 - wild_mon GOLBAT, 32 - wild_mon SPHEAL, 32 - - .align 2 -gShoalCave_LowTideInnerRoom_LandMonsInfo:: @ 85522C4 - .4byte 10 @ encounter rate - .4byte gShoalCave_LowTideInnerRoom_LandMons - - .align 2 -gShoalCave_LowTideInnerRoom_WaterMons:: @ 85522CC - wild_mon TENTACOOL, 5, 35 - wild_mon ZUBAT, 5, 35 - wild_mon SPHEAL, 25, 30 - wild_mon SPHEAL, 25, 30 - wild_mon SPHEAL, 25, 35 - - .align 2 -gShoalCave_LowTideInnerRoom_WaterMonsInfo:: @ 85522E0 - .4byte 4 @ encounter rate - .4byte gShoalCave_LowTideInnerRoom_WaterMons - - .align 2 -gShoalCave_LowTideInnerRoom_FishingMons:: @ 85522E8 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 20, 25 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gShoalCave_LowTideInnerRoom_FishingMonsInfo:: @ 8552310 - .4byte 10 @ encounter rate - .4byte gShoalCave_LowTideInnerRoom_FishingMons - - .align 2 -gShoalCave_LowTideEntranceRoom_LandMons:: @ 8552318 - wild_mon ZUBAT, 26 - wild_mon SPHEAL, 26 - wild_mon ZUBAT, 28 - wild_mon SPHEAL, 28 - wild_mon ZUBAT, 30 - wild_mon SPHEAL, 30 - wild_mon ZUBAT, 32 - wild_mon SPHEAL, 32 - wild_mon GOLBAT, 32 - wild_mon SPHEAL, 32 - wild_mon GOLBAT, 32 - wild_mon SPHEAL, 32 - - .align 2 -gShoalCave_LowTideEntranceRoom_LandMonsInfo:: @ 8552348 - .4byte 10 @ encounter rate - .4byte gShoalCave_LowTideEntranceRoom_LandMons - - .align 2 -gShoalCave_LowTideEntranceRoom_WaterMons:: @ 8552350 - wild_mon TENTACOOL, 5, 35 - wild_mon ZUBAT, 5, 35 - wild_mon SPHEAL, 25, 30 - wild_mon SPHEAL, 25, 30 - wild_mon SPHEAL, 25, 35 - - .align 2 -gShoalCave_LowTideEntranceRoom_WaterMonsInfo:: @ 8552364 - .4byte 4 @ encounter rate - .4byte gShoalCave_LowTideEntranceRoom_WaterMons - - .align 2 -gShoalCave_LowTideEntranceRoom_FishingMons:: @ 855236C - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 20, 25 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gShoalCave_LowTideEntranceRoom_FishingMonsInfo:: @ 8552394 - .4byte 10 @ encounter rate - .4byte gShoalCave_LowTideEntranceRoom_FishingMons - - .align 2 -gLilycoveCity_WaterMons:: @ 855239C - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gLilycoveCity_WaterMonsInfo:: @ 85523B0 - .4byte 4 @ encounter rate - .4byte gLilycoveCity_WaterMons - - .align 2 -gLilycoveCity_FishingMons:: @ 85523B8 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 30, 35 - wild_mon STARYU, 25, 30 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gLilycoveCity_FishingMonsInfo:: @ 85523E0 - .4byte 10 @ encounter rate - .4byte gLilycoveCity_FishingMons - - .align 2 -gDewfordTown_WaterMons:: @ 85523E8 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gDewfordTown_WaterMonsInfo:: @ 85523FC - .4byte 4 @ encounter rate - .4byte gDewfordTown_WaterMons - - .align 2 -gDewfordTown_FishingMons:: @ 8552404 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 20, 25 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gDewfordTown_FishingMonsInfo:: @ 855242C - .4byte 10 @ encounter rate - .4byte gDewfordTown_FishingMons - - .align 2 -gSlateportCity_WaterMons:: @ 8552434 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gSlateportCity_WaterMonsInfo:: @ 8552448 - .4byte 4 @ encounter rate - .4byte gSlateportCity_WaterMons - - .align 2 -gSlateportCity_FishingMons:: @ 8552450 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 20, 25 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gSlateportCity_FishingMonsInfo:: @ 8552478 - .4byte 10 @ encounter rate - .4byte gSlateportCity_FishingMons - - .align 2 -gMossdeepCity_WaterMons:: @ 8552480 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gMossdeepCity_WaterMonsInfo:: @ 8552494 - .4byte 4 @ encounter rate - .4byte gMossdeepCity_WaterMons - - .align 2 -gMossdeepCity_FishingMons:: @ 855249C - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon SHARPEDO, 30, 35 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gMossdeepCity_FishingMonsInfo:: @ 85524C4 - .4byte 10 @ encounter rate - .4byte gMossdeepCity_FishingMons - - .align 2 -gPacifidlogTown_WaterMons:: @ 85524CC - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gPacifidlogTown_WaterMonsInfo:: @ 85524E0 - .4byte 4 @ encounter rate - .4byte gPacifidlogTown_WaterMons - - .align 2 -gPacifidlogTown_FishingMons:: @ 85524E8 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon TENTACOOL, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon SHARPEDO, 30, 35 - wild_mon WAILMER, 30, 35 - wild_mon WAILMER, 25, 30 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gPacifidlogTown_FishingMonsInfo:: @ 8552510 - .4byte 10 @ encounter rate - .4byte gPacifidlogTown_FishingMons - - .align 2 -gEverGrandeCity_WaterMons:: @ 8552518 - wild_mon TENTACOOL, 5, 35 - wild_mon WINGULL, 10, 30 - wild_mon WINGULL, 15, 25 - wild_mon PELIPPER, 25, 30 - wild_mon PELIPPER, 25, 30 - - .align 2 -gEverGrandeCity_WaterMonsInfo:: @ 855252C - .4byte 4 @ encounter rate - .4byte gEverGrandeCity_WaterMons - - .align 2 -gEverGrandeCity_FishingMons:: @ 8552534 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon LUVDISC, 10, 30 - wild_mon WAILMER, 10, 30 - wild_mon LUVDISC, 30, 35 - wild_mon WAILMER, 30, 35 - wild_mon CORSOLA, 30, 35 - wild_mon WAILMER, 35, 40 - wild_mon WAILMER, 40, 45 - - .align 2 -gEverGrandeCity_FishingMonsInfo:: @ 855255C - .4byte 10 @ encounter rate - .4byte gEverGrandeCity_FishingMons - - .align 2 -gPetalburgCity_WaterMons:: @ 8552564 - wild_mon MARILL, 20, 30 - wild_mon MARILL, 10, 20 - wild_mon MARILL, 30, 35 - wild_mon MARILL, 5, 10 - wild_mon MARILL, 5, 10 - - .align 2 -gPetalburgCity_WaterMonsInfo:: @ 8552578 - .4byte 1 @ encounter rate - .4byte gPetalburgCity_WaterMons - - .align 2 -gPetalburgCity_FishingMons:: @ 8552580 - wild_mon MAGIKARP, 5, 10 - wild_mon GOLDEEN, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon GOLDEEN, 10, 30 - wild_mon CORPHISH, 10, 30 - wild_mon CORPHISH, 25, 30 - wild_mon CORPHISH, 30, 35 - wild_mon CORPHISH, 20, 25 - wild_mon CORPHISH, 35, 40 - wild_mon CORPHISH, 40, 45 - - .align 2 -gPetalburgCity_FishingMonsInfo:: @ 85525A8 - .4byte 10 @ encounter rate - .4byte gPetalburgCity_FishingMons - - .align 2 -gUnderwater1_WaterMons:: @ 85525B0 - wild_mon CLAMPERL, 20, 30 - wild_mon CHINCHOU, 20, 30 - wild_mon CLAMPERL, 30, 35 - wild_mon RELICANTH, 30, 35 - wild_mon RELICANTH, 30, 35 - - .align 2 -gUnderwater1_WaterMonsInfo:: @ 85525C4 - .4byte 4 @ encounter rate - .4byte gUnderwater1_WaterMons - - .align 2 -gShoalCave_LowTideIceRoom_LandMons:: @ 85525CC - wild_mon ZUBAT, 26 - wild_mon SPHEAL, 26 - wild_mon ZUBAT, 28 - wild_mon SPHEAL, 28 - wild_mon ZUBAT, 30 - wild_mon SPHEAL, 30 - wild_mon SNORUNT, 26 - wild_mon SPHEAL, 32 - wild_mon GOLBAT, 30 - wild_mon SNORUNT, 28 - wild_mon GOLBAT, 32 - wild_mon SNORUNT, 30 - - .align 2 -gShoalCave_LowTideIceRoom_LandMonsInfo:: @ 85525FC - .4byte 10 @ encounter rate - .4byte gShoalCave_LowTideIceRoom_LandMons - - .align 2 -gSkyPillar_1F_LandMons:: @ 8552604 - wild_mon SABLEYE, 33 - wild_mon GOLBAT, 34 - wild_mon GOLBAT, 35 - wild_mon SABLEYE, 34 - wild_mon CLAYDOL, 36 - wild_mon BANETTE, 37 - wild_mon BANETTE, 38 - wild_mon CLAYDOL, 36 - wild_mon CLAYDOL, 37 - wild_mon CLAYDOL, 38 - wild_mon CLAYDOL, 37 - wild_mon CLAYDOL, 38 - - .align 2 -gSkyPillar_1F_LandMonsInfo:: @ 8552634 - .4byte 10 @ encounter rate - .4byte gSkyPillar_1F_LandMons - - .align 2 -gSootopolisCity_WaterMons:: @ 855263C - wild_mon MAGIKARP, 5, 35 - wild_mon MAGIKARP, 10, 30 - wild_mon MAGIKARP, 15, 25 - wild_mon MAGIKARP, 25, 30 - wild_mon MAGIKARP, 25, 30 - - .align 2 -gSootopolisCity_WaterMonsInfo:: @ 8552650 - .4byte 1 @ encounter rate - .4byte gSootopolisCity_WaterMons - - .align 2 -gSootopolisCity_FishingMons:: @ 8552658 - wild_mon MAGIKARP, 5, 10 - wild_mon TENTACOOL, 5, 10 - wild_mon MAGIKARP, 10, 30 - wild_mon MAGIKARP, 10, 30 - wild_mon MAGIKARP, 10, 30 - wild_mon MAGIKARP, 30, 35 - wild_mon MAGIKARP, 30, 35 - wild_mon GYARADOS, 35, 40 - wild_mon GYARADOS, 35, 45 - wild_mon GYARADOS, 5, 45 - - .align 2 -gSootopolisCity_FishingMonsInfo:: @ 8552680 - .4byte 10 @ encounter rate - .4byte gSootopolisCity_FishingMons - - .align 2 -gSkyPillar_3F_LandMons:: @ 8552688 - wild_mon SABLEYE, 33 - wild_mon GOLBAT, 34 - wild_mon GOLBAT, 35 - wild_mon SABLEYE, 34 - wild_mon CLAYDOL, 36 - wild_mon BANETTE, 37 - wild_mon BANETTE, 38 - wild_mon CLAYDOL, 36 - wild_mon CLAYDOL, 37 - wild_mon CLAYDOL, 38 - wild_mon CLAYDOL, 37 - wild_mon CLAYDOL, 38 - - .align 2 -gSkyPillar_3F_LandMonsInfo:: @ 85526B8 - .4byte 10 @ encounter rate - .4byte gSkyPillar_3F_LandMons - - .align 2 -gSkyPillar_5F_LandMons:: @ 85526C0 - wild_mon SABLEYE, 33 - wild_mon GOLBAT, 34 - wild_mon GOLBAT, 35 - wild_mon SABLEYE, 34 - wild_mon CLAYDOL, 36 - wild_mon BANETTE, 37 - wild_mon BANETTE, 38 - wild_mon CLAYDOL, 36 - wild_mon CLAYDOL, 37 - wild_mon ALTARIA, 38 - wild_mon ALTARIA, 39 - wild_mon ALTARIA, 39 - - .align 2 -gSkyPillar_5F_LandMonsInfo:: @ 85526F0 - .4byte 10 @ encounter rate - .4byte gSkyPillar_5F_LandMons - - .align 2 -gSafariZone_Southeast_LandMons:: @ 85526F8 - wild_mon SUNKERN, 33 - wild_mon MAREEP, 34 - wild_mon SUNKERN, 35 - wild_mon MAREEP, 36 - wild_mon AIPOM, 34 - wild_mon SPINARAK, 33 - wild_mon HOOTHOOT, 35 - wild_mon SNUBBULL, 34 - wild_mon STANTLER, 36 - wild_mon GLIGAR, 37 - wild_mon STANTLER, 39 - wild_mon GLIGAR, 40 - - .align 2 -gSafariZone_Southeast_LandMonsInfo:: @ 8552728 - .4byte 25 @ encounter rate - .4byte gSafariZone_Southeast_LandMons - - .align 2 -gSafariZone_Southeast_WaterMons:: @ 8552730 - wild_mon WOOPER, 25, 30 - wild_mon MARILL, 25, 30 - wild_mon MARILL, 25, 30 - wild_mon MARILL, 30, 35 - wild_mon QUAGSIRE, 35, 40 - - .align 2 -gSafariZone_Southeast_WaterMonsInfo:: @ 8552744 - .4byte 9 @ encounter rate - .4byte gSafariZone_Southeast_WaterMons - - .align 2 -gSafariZone_Southeast_FishingMons:: @ 855274C - wild_mon MAGIKARP, 25, 30 - wild_mon GOLDEEN, 25, 30 - wild_mon MAGIKARP, 25, 30 - wild_mon GOLDEEN, 25, 30 - wild_mon REMORAID, 30, 35 - wild_mon GOLDEEN, 25, 30 - wild_mon REMORAID, 25, 30 - wild_mon REMORAID, 30, 35 - wild_mon REMORAID, 30, 35 - wild_mon OCTILLERY, 35, 40 - - .align 2 -gSafariZone_Southeast_FishingMonsInfo:: @ 8552774 - .4byte 35 @ encounter rate - .4byte gSafariZone_Southeast_FishingMons - - .align 2 -gSafariZone_Northeast_LandMons:: @ 855277C - wild_mon AIPOM, 33 - wild_mon TEDDIURSA, 34 - wild_mon AIPOM, 35 - wild_mon TEDDIURSA, 36 - wild_mon SUNKERN, 34 - wild_mon LEDYBA, 33 - wild_mon HOOTHOOT, 35 - wild_mon PINECO, 34 - wild_mon HOUNDOUR, 36 - wild_mon MILTANK, 37 - wild_mon HOUNDOUR, 39 - wild_mon MILTANK, 40 - - .align 2 -gSafariZone_Northeast_LandMonsInfo:: @ 85527AC - .4byte 25 @ encounter rate - .4byte gSafariZone_Northeast_LandMons - - .align 2 -gSafariZone_Northeast_RockSmashMons:: @ 85527B4 - wild_mon SHUCKLE, 25, 30 - wild_mon SHUCKLE, 20, 25 - wild_mon SHUCKLE, 30, 35 - wild_mon SHUCKLE, 30, 35 - wild_mon SHUCKLE, 35, 40 - - .align 2 -gSafariZone_Northeast_RockSmashMonsInfo:: @ 85527C8 - .4byte 25 @ encounter rate - .4byte gSafariZone_Northeast_RockSmashMons - - .align 2 -gMagmaHideout_1F_LandMons:: @ 85527D0 - wild_mon GEODUDE, 27 - wild_mon TORKOAL, 28 - wild_mon GEODUDE, 28 - wild_mon TORKOAL, 30 - wild_mon GEODUDE, 29 - wild_mon GEODUDE, 30 - wild_mon GEODUDE, 30 - wild_mon GRAVELER, 30 - wild_mon GRAVELER, 30 - wild_mon GRAVELER, 31 - wild_mon GRAVELER, 32 - wild_mon GRAVELER, 33 - - .align 2 -gMagmaHideout_1F_LandMonsInfo:: @ 8552800 - .4byte 10 @ encounter rate - .4byte gMagmaHideout_1F_LandMons - - .align 2 -gMagmaHideout_2F_1R_LandMons:: @ 8552808 - wild_mon GEODUDE, 27 - wild_mon TORKOAL, 28 - wild_mon GEODUDE, 28 - wild_mon TORKOAL, 30 - wild_mon GEODUDE, 29 - wild_mon GEODUDE, 30 - wild_mon GEODUDE, 30 - wild_mon GRAVELER, 30 - wild_mon GRAVELER, 30 - wild_mon GRAVELER, 31 - wild_mon GRAVELER, 32 - wild_mon GRAVELER, 33 - - .align 2 -gMagmaHideout_2F_1R_LandMonsInfo:: @ 8552838 - .4byte 10 @ encounter rate - .4byte gMagmaHideout_2F_1R_LandMons - - .align 2 -gMagmaHideout_2F_2R_LandMons:: @ 8552840 - wild_mon GEODUDE, 27 - wild_mon TORKOAL, 28 - wild_mon GEODUDE, 28 - wild_mon TORKOAL, 30 - wild_mon GEODUDE, 29 - wild_mon GEODUDE, 30 - wild_mon GEODUDE, 30 - wild_mon GRAVELER, 30 - wild_mon GRAVELER, 30 - wild_mon GRAVELER, 31 - wild_mon GRAVELER, 32 - wild_mon GRAVELER, 33 - - .align 2 -gMagmaHideout_2F_2R_LandMonsInfo:: @ 8552870 - .4byte 10 @ encounter rate - .4byte gMagmaHideout_2F_2R_LandMons - - .align 2 -gMagmaHideout_3F_1R_LandMons:: @ 8552878 - wild_mon GEODUDE, 27 - wild_mon TORKOAL, 28 - wild_mon GEODUDE, 28 - wild_mon TORKOAL, 30 - wild_mon GEODUDE, 29 - wild_mon GEODUDE, 30 - wild_mon GEODUDE, 30 - wild_mon GRAVELER, 30 - wild_mon GRAVELER, 30 - wild_mon GRAVELER, 31 - wild_mon GRAVELER, 32 - wild_mon GRAVELER, 33 - - .align 2 -gMagmaHideout_3F_1R_LandMonsInfo:: @ 85528A8 - .4byte 10 @ encounter rate - .4byte gMagmaHideout_3F_1R_LandMons - - .align 2 -gMagmaHideout_3F_2R_LandMons:: @ 85528B0 - wild_mon GEODUDE, 27 - wild_mon TORKOAL, 28 - wild_mon GEODUDE, 28 - wild_mon TORKOAL, 30 - wild_mon GEODUDE, 29 - wild_mon GEODUDE, 30 - wild_mon GEODUDE, 30 - wild_mon GRAVELER, 30 - wild_mon GRAVELER, 30 - wild_mon GRAVELER, 31 - wild_mon GRAVELER, 32 - wild_mon GRAVELER, 33 - - .align 2 -gMagmaHideout_3F_2R_LandMonsInfo:: @ 85528E0 - .4byte 10 @ encounter rate - .4byte gMagmaHideout_3F_2R_LandMons - - .align 2 -gMagmaHideout_4F_LandMons:: @ 85528E8 - wild_mon GEODUDE, 27 - wild_mon TORKOAL, 28 - wild_mon GEODUDE, 28 - wild_mon TORKOAL, 30 - wild_mon GEODUDE, 29 - wild_mon GEODUDE, 30 - wild_mon GEODUDE, 30 - wild_mon GRAVELER, 30 - wild_mon GRAVELER, 30 - wild_mon GRAVELER, 31 - wild_mon GRAVELER, 32 - wild_mon GRAVELER, 33 - - .align 2 -gMagmaHideout_4F_LandMonsInfo:: @ 8552918 - .4byte 10 @ encounter rate - .4byte gMagmaHideout_4F_LandMons - - .align 2 -gMagmaHideout_3F_3R_LandMons:: @ 8552920 - wild_mon GEODUDE, 27 - wild_mon TORKOAL, 28 - wild_mon GEODUDE, 28 - wild_mon TORKOAL, 30 - wild_mon GEODUDE, 29 - wild_mon GEODUDE, 30 - wild_mon GEODUDE, 30 - wild_mon GRAVELER, 30 - wild_mon GRAVELER, 30 - wild_mon GRAVELER, 31 - wild_mon GRAVELER, 32 - wild_mon GRAVELER, 33 - - .align 2 -gMagmaHideout_3F_3R_LandMonsInfo:: @ 8552950 - .4byte 10 @ encounter rate - .4byte gMagmaHideout_3F_3R_LandMons - - .align 2 -gMagmaHideout_2F_3R_LandMons:: @ 8552958 - wild_mon GEODUDE, 27 - wild_mon TORKOAL, 28 - wild_mon GEODUDE, 28 - wild_mon TORKOAL, 30 - wild_mon GEODUDE, 29 - wild_mon GEODUDE, 30 - wild_mon GEODUDE, 30 - wild_mon GRAVELER, 30 - wild_mon GRAVELER, 30 - wild_mon GRAVELER, 31 - wild_mon GRAVELER, 32 - wild_mon GRAVELER, 33 - - .align 2 -gMagmaHideout_2F_3R_LandMonsInfo:: @ 8552988 - .4byte 10 @ encounter rate - .4byte gMagmaHideout_2F_3R_LandMons - - .align 2 -gMirageTower_1F_LandMons:: @ 8552990 - wild_mon SANDSHREW, 21 - wild_mon TRAPINCH, 21 - wild_mon SANDSHREW, 20 - wild_mon TRAPINCH, 20 - wild_mon SANDSHREW, 20 - wild_mon TRAPINCH, 20 - wild_mon SANDSHREW, 22 - wild_mon TRAPINCH, 22 - wild_mon SANDSHREW, 23 - wild_mon TRAPINCH, 23 - wild_mon SANDSHREW, 24 - wild_mon TRAPINCH, 24 - - .align 2 -gMirageTower_1F_LandMonsInfo:: @ 85529C0 - .4byte 10 @ encounter rate - .4byte gMirageTower_1F_LandMons - - .align 2 -gMirageTower_2F_LandMons:: @ 85529C8 - wild_mon SANDSHREW, 21 - wild_mon TRAPINCH, 21 - wild_mon SANDSHREW, 20 - wild_mon TRAPINCH, 20 - wild_mon SANDSHREW, 20 - wild_mon TRAPINCH, 20 - wild_mon SANDSHREW, 22 - wild_mon TRAPINCH, 22 - wild_mon SANDSHREW, 23 - wild_mon TRAPINCH, 23 - wild_mon SANDSHREW, 24 - wild_mon TRAPINCH, 24 - - .align 2 -gMirageTower_2F_LandMonsInfo:: @ 85529F8 - .4byte 10 @ encounter rate - .4byte gMirageTower_2F_LandMons - - .align 2 -gMirageTower_3F_LandMons:: @ 8552A00 - wild_mon SANDSHREW, 21 - wild_mon TRAPINCH, 21 - wild_mon SANDSHREW, 20 - wild_mon TRAPINCH, 20 - wild_mon SANDSHREW, 20 - wild_mon TRAPINCH, 20 - wild_mon SANDSHREW, 22 - wild_mon TRAPINCH, 22 - wild_mon SANDSHREW, 23 - wild_mon TRAPINCH, 23 - wild_mon SANDSHREW, 24 - wild_mon TRAPINCH, 24 - - .align 2 -gMirageTower_3F_LandMonsInfo:: @ 8552A30 - .4byte 10 @ encounter rate - .4byte gMirageTower_3F_LandMons - - .align 2 -gMirageTower_4F_LandMons:: @ 8552A38 - wild_mon SANDSHREW, 21 - wild_mon TRAPINCH, 21 - wild_mon SANDSHREW, 20 - wild_mon TRAPINCH, 20 - wild_mon SANDSHREW, 20 - wild_mon TRAPINCH, 20 - wild_mon SANDSHREW, 22 - wild_mon TRAPINCH, 22 - wild_mon SANDSHREW, 23 - wild_mon TRAPINCH, 23 - wild_mon SANDSHREW, 24 - wild_mon TRAPINCH, 24 - - .align 2 -gMirageTower_4F_LandMonsInfo:: @ 8552A68 - .4byte 10 @ encounter rate - .4byte gMirageTower_4F_LandMons - - .align 2 -gDesertUnderpass_LandMons:: @ 8552A70 - wild_mon DITTO, 38 - wild_mon WHISMUR, 35 - wild_mon DITTO, 40 - wild_mon LOUDRED, 40 - wild_mon DITTO, 41 - wild_mon WHISMUR, 36 - wild_mon LOUDRED, 38 - wild_mon DITTO, 42 - wild_mon WHISMUR, 38 - wild_mon DITTO, 43 - wild_mon LOUDRED, 44 - wild_mon DITTO, 45 - - .align 2 -gDesertUnderpass_LandMonsInfo:: @ 8552AA0 - .4byte 10 @ encounter rate - .4byte gDesertUnderpass_LandMons - - .align 2 -gArtisanCave_B1F_LandMons:: @ 8552AA8 - wild_mon SMEARGLE, 40 - wild_mon SMEARGLE, 41 - wild_mon SMEARGLE, 42 - wild_mon SMEARGLE, 43 - wild_mon SMEARGLE, 44 - wild_mon SMEARGLE, 45 - wild_mon SMEARGLE, 46 - wild_mon SMEARGLE, 47 - wild_mon SMEARGLE, 48 - wild_mon SMEARGLE, 49 - wild_mon SMEARGLE, 50 - wild_mon SMEARGLE, 50 - - .align 2 -gArtisanCave_B1F_LandMonsInfo:: @ 8552AD8 - .4byte 10 @ encounter rate - .4byte gArtisanCave_B1F_LandMons - - .align 2 -gArtisanCave_1F_LandMons:: @ 8552AE0 - wild_mon SMEARGLE, 40 - wild_mon SMEARGLE, 41 - wild_mon SMEARGLE, 42 - wild_mon SMEARGLE, 43 - wild_mon SMEARGLE, 44 - wild_mon SMEARGLE, 45 - wild_mon SMEARGLE, 46 - wild_mon SMEARGLE, 47 - wild_mon SMEARGLE, 48 - wild_mon SMEARGLE, 49 - wild_mon SMEARGLE, 50 - wild_mon SMEARGLE, 50 - - .align 2 -gArtisanCave_1F_LandMonsInfo:: @ 8552B10 - .4byte 10 @ encounter rate - .4byte gArtisanCave_1F_LandMons - - .align 2 -gAlteringCave1_LandMons:: @ 8552B18 - wild_mon ZUBAT, 10 - wild_mon ZUBAT, 12 - wild_mon ZUBAT, 8 - wild_mon ZUBAT, 14 - wild_mon ZUBAT, 10 - wild_mon ZUBAT, 12 - wild_mon ZUBAT, 16 - wild_mon ZUBAT, 6 - wild_mon ZUBAT, 8 - wild_mon ZUBAT, 14 - wild_mon ZUBAT, 8 - wild_mon ZUBAT, 14 - - .align 2 -gAlteringCave1_LandMonsInfo:: @ 8552B48 - .4byte 7 @ encounter rate - .4byte gAlteringCave1_LandMons - - .align 2 -gAlteringCave2_LandMons:: @ 8552B50 - wild_mon MAREEP, 7 - wild_mon MAREEP, 9 - wild_mon MAREEP, 5 - wild_mon MAREEP, 11 - wild_mon MAREEP, 7 - wild_mon MAREEP, 9 - wild_mon MAREEP, 13 - wild_mon MAREEP, 3 - wild_mon MAREEP, 5 - wild_mon MAREEP, 11 - wild_mon MAREEP, 5 - wild_mon MAREEP, 11 - - .align 2 -gAlteringCave2_LandMonsInfo:: @ 8552B80 - .4byte 7 @ encounter rate - .4byte gAlteringCave2_LandMons - - .align 2 -gAlteringCave3_LandMons:: @ 8552B88 - wild_mon PINECO, 23 - wild_mon PINECO, 25 - wild_mon PINECO, 22 - wild_mon PINECO, 27 - wild_mon PINECO, 23 - wild_mon PINECO, 25 - wild_mon PINECO, 29 - wild_mon PINECO, 19 - wild_mon PINECO, 21 - wild_mon PINECO, 27 - wild_mon PINECO, 21 - wild_mon PINECO, 27 - - .align 2 -gAlteringCave3_LandMonsInfo:: @ 8552BB8 - .4byte 7 @ encounter rate - .4byte gAlteringCave3_LandMons - - .align 2 -gAlteringCave4_LandMons:: @ 8552BC0 - wild_mon HOUNDOUR, 16 - wild_mon HOUNDOUR, 18 - wild_mon HOUNDOUR, 14 - wild_mon HOUNDOUR, 20 - wild_mon HOUNDOUR, 16 - wild_mon HOUNDOUR, 18 - wild_mon HOUNDOUR, 22 - wild_mon HOUNDOUR, 12 - wild_mon HOUNDOUR, 14 - wild_mon HOUNDOUR, 20 - wild_mon HOUNDOUR, 14 - wild_mon HOUNDOUR, 20 - - .align 2 -gAlteringCave4_LandMonsInfo:: @ 8552BF0 - .4byte 7 @ encounter rate - .4byte gAlteringCave4_LandMons - - .align 2 -gAlteringCave5_LandMons:: @ 8552BF8 - wild_mon TEDDIURSA, 10 - wild_mon TEDDIURSA, 12 - wild_mon TEDDIURSA, 8 - wild_mon TEDDIURSA, 14 - wild_mon TEDDIURSA, 10 - wild_mon TEDDIURSA, 12 - wild_mon TEDDIURSA, 16 - wild_mon TEDDIURSA, 6 - wild_mon TEDDIURSA, 8 - wild_mon TEDDIURSA, 14 - wild_mon TEDDIURSA, 8 - wild_mon TEDDIURSA, 14 - - .align 2 -gAlteringCave5_LandMonsInfo:: @ 8552C28 - .4byte 7 @ encounter rate - .4byte gAlteringCave5_LandMons - - .align 2 -gAlteringCave6_LandMons:: @ 8552C30 - wild_mon AIPOM, 22 - wild_mon AIPOM, 24 - wild_mon AIPOM, 20 - wild_mon AIPOM, 26 - wild_mon AIPOM, 22 - wild_mon AIPOM, 24 - wild_mon AIPOM, 28 - wild_mon AIPOM, 18 - wild_mon AIPOM, 20 - wild_mon AIPOM, 26 - wild_mon AIPOM, 20 - wild_mon AIPOM, 26 - - .align 2 -gAlteringCave6_LandMonsInfo:: @ 8552C60 - .4byte 7 @ encounter rate - .4byte gAlteringCave6_LandMons - - .align 2 -gAlteringCave7_LandMons:: @ 8552C68 - wild_mon SHUCKLE, 22 - wild_mon SHUCKLE, 24 - wild_mon SHUCKLE, 20 - wild_mon SHUCKLE, 26 - wild_mon SHUCKLE, 22 - wild_mon SHUCKLE, 24 - wild_mon SHUCKLE, 28 - wild_mon SHUCKLE, 18 - wild_mon SHUCKLE, 20 - wild_mon SHUCKLE, 26 - wild_mon SHUCKLE, 20 - wild_mon SHUCKLE, 26 - - .align 2 -gAlteringCave7_LandMonsInfo:: @ 8552C98 - .4byte 7 @ encounter rate - .4byte gAlteringCave7_LandMons - - .align 2 -gAlteringCave8_LandMons:: @ 8552CA0 - wild_mon STANTLER, 22 - wild_mon STANTLER, 24 - wild_mon STANTLER, 20 - wild_mon STANTLER, 26 - wild_mon STANTLER, 22 - wild_mon STANTLER, 24 - wild_mon STANTLER, 28 - wild_mon STANTLER, 18 - wild_mon STANTLER, 20 - wild_mon STANTLER, 26 - wild_mon STANTLER, 20 - wild_mon STANTLER, 26 - - .align 2 -gAlteringCave8_LandMonsInfo:: @ 8552CD0 - .4byte 7 @ encounter rate - .4byte gAlteringCave8_LandMons - - .align 2 -gAlteringCave9_LandMons:: @ 8552CD8 - wild_mon SMEARGLE, 22 - wild_mon SMEARGLE, 24 - wild_mon SMEARGLE, 20 - wild_mon SMEARGLE, 26 - wild_mon SMEARGLE, 22 - wild_mon SMEARGLE, 24 - wild_mon SMEARGLE, 28 - wild_mon SMEARGLE, 18 - wild_mon SMEARGLE, 20 - wild_mon SMEARGLE, 26 - wild_mon SMEARGLE, 20 - wild_mon SMEARGLE, 26 - - .align 2 -gAlteringCave9_LandMonsInfo:: @ 8552D08 - .4byte 7 @ encounter rate - .4byte gAlteringCave9_LandMons - - .align 2 -gMeteorFalls_StevensCave_LandMons:: @ 8552D10 - wild_mon GOLBAT, 33 - wild_mon GOLBAT, 35 - wild_mon GOLBAT, 33 - wild_mon SOLROCK, 35 - wild_mon SOLROCK, 33 - wild_mon SOLROCK, 37 - wild_mon GOLBAT, 35 - wild_mon SOLROCK, 39 - wild_mon GOLBAT, 38 - wild_mon GOLBAT, 40 - wild_mon GOLBAT, 38 - wild_mon GOLBAT, 40 - - .align 2 -gMeteorFalls_StevensCave_LandMonsInfo:: @ 8552D40 - .4byte 10 @ encounter rate - .4byte gMeteorFalls_StevensCave_LandMons - - .align 2 -gWildMonHeaders:: @ 8552D48 - map ROUTE_101 - .2byte 0 @ padding - .4byte gRoute101_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map ROUTE_102 - .2byte 0 @ padding - .4byte gRoute102_LandMonsInfo - .4byte gRoute102_WaterMonsInfo - .4byte NULL - .4byte gRoute102_FishingMonsInfo - - map ROUTE_103 - .2byte 0 @ padding - .4byte gRoute103_LandMonsInfo - .4byte gRoute103_WaterMonsInfo - .4byte NULL - .4byte gRoute103_FishingMonsInfo - - map ROUTE_104 - .2byte 0 @ padding - .4byte gRoute104_LandMonsInfo - .4byte gRoute104_WaterMonsInfo - .4byte NULL - .4byte gRoute104_FishingMonsInfo - - map ROUTE_105 - .2byte 0 @ padding - .4byte NULL - .4byte gRoute105_WaterMonsInfo - .4byte NULL - .4byte gRoute105_FishingMonsInfo - - map ROUTE_110 - .2byte 0 @ padding - .4byte gRoute110_LandMonsInfo - .4byte gRoute110_WaterMonsInfo - .4byte NULL - .4byte gRoute110_FishingMonsInfo - - map ROUTE_111 - .2byte 0 @ padding - .4byte gRoute111_LandMonsInfo - .4byte gRoute111_WaterMonsInfo - .4byte gRoute111_RockSmashMonsInfo - .4byte gRoute111_FishingMonsInfo - - map ROUTE_112 - .2byte 0 @ padding - .4byte gRoute112_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map ROUTE_113 - .2byte 0 @ padding - .4byte gRoute113_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map ROUTE_114 - .2byte 0 @ padding - .4byte gRoute114_LandMonsInfo - .4byte gRoute114_WaterMonsInfo - .4byte gRoute114_RockSmashMonsInfo - .4byte gRoute114_FishingMonsInfo - - map ROUTE_116 - .2byte 0 @ padding - .4byte gRoute116_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map ROUTE_117 - .2byte 0 @ padding - .4byte gRoute117_LandMonsInfo - .4byte gRoute117_WaterMonsInfo - .4byte NULL - .4byte gRoute117_FishingMonsInfo - - map ROUTE_118 - .2byte 0 @ padding - .4byte gRoute118_LandMonsInfo - .4byte gRoute118_WaterMonsInfo - .4byte NULL - .4byte gRoute118_FishingMonsInfo - - map ROUTE_124 - .2byte 0 @ padding - .4byte NULL - .4byte gRoute124_WaterMonsInfo - .4byte NULL - .4byte gRoute124_FishingMonsInfo - - map PETALBURG_WOODS - .2byte 0 @ padding - .4byte gPetalburgWoods_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map RUSTURF_TUNNEL - .2byte 0 @ padding - .4byte gRusturfTunnel_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map GRANITE_CAVE_1F - .2byte 0 @ padding - .4byte gGraniteCave_1F_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map GRANITE_CAVE_B1F - .2byte 0 @ padding - .4byte gGraniteCave_B1F_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map MT_PYRE_1F - .2byte 0 @ padding - .4byte gMtPyre_1F_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map VICTORY_ROAD_1F - .2byte 0 @ padding - .4byte gVictoryRoad_1F_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map SAFARI_ZONE_SOUTH - .2byte 0 @ padding - .4byte gSafariZone_South_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map UNDERWATER_2 - .2byte 0 @ padding - .4byte NULL - .4byte gUnderwater2_WaterMonsInfo - .4byte NULL - .4byte NULL - - map ABANDONED_SHIP_ROOMS_B1F - .2byte 0 @ padding - .4byte NULL - .4byte gAbandonedShip_Rooms_B1F_WaterMonsInfo - .4byte NULL - .4byte gAbandonedShip_Rooms_B1F_FishingMonsInfo - - map GRANITE_CAVE_B2F - .2byte 0 @ padding - .4byte gGraniteCave_B2F_LandMonsInfo - .4byte NULL - .4byte gGraniteCave_B2F_RockSmashMonsInfo - .4byte NULL - - map FIERY_PATH - .2byte 0 @ padding - .4byte gFieryPath_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map METEOR_FALLS_B1F_2R - .2byte 0 @ padding - .4byte gMeteorFalls_B1F_2R_LandMonsInfo - .4byte gMeteorFalls_B1F_2R_WaterMonsInfo - .4byte NULL - .4byte gMeteorFalls_B1F_2R_FishingMonsInfo - - map JAGGED_PASS - .2byte 0 @ padding - .4byte gJaggedPass_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map ROUTE_106 - .2byte 0 @ padding - .4byte NULL - .4byte gRoute106_WaterMonsInfo - .4byte NULL - .4byte gRoute106_FishingMonsInfo - - map ROUTE_107 - .2byte 0 @ padding - .4byte NULL - .4byte gRoute107_WaterMonsInfo - .4byte NULL - .4byte gRoute107_FishingMonsInfo - - map ROUTE_108 - .2byte 0 @ padding - .4byte NULL - .4byte gRoute108_WaterMonsInfo - .4byte NULL - .4byte gRoute108_FishingMonsInfo - - map ROUTE_109 - .2byte 0 @ padding - .4byte NULL - .4byte gRoute109_WaterMonsInfo - .4byte NULL - .4byte gRoute109_FishingMonsInfo - - map ROUTE_115 - .2byte 0 @ padding - .4byte gRoute115_LandMonsInfo - .4byte gRoute115_WaterMonsInfo - .4byte NULL - .4byte gRoute115_FishingMonsInfo - - map NEW_MAUVILLE_INSIDE - .2byte 0 @ padding - .4byte gNewMauville_Inside_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map ROUTE_119 - .2byte 0 @ padding - .4byte gRoute119_LandMonsInfo - .4byte gRoute119_WaterMonsInfo - .4byte NULL - .4byte gRoute119_FishingMonsInfo - - map ROUTE_120 - .2byte 0 @ padding - .4byte gRoute120_LandMonsInfo - .4byte gRoute120_WaterMonsInfo - .4byte NULL - .4byte gRoute120_FishingMonsInfo - - map ROUTE_121 - .2byte 0 @ padding - .4byte gRoute121_LandMonsInfo - .4byte gRoute121_WaterMonsInfo - .4byte NULL - .4byte gRoute121_FishingMonsInfo - - map ROUTE_122 - .2byte 0 @ padding - .4byte NULL - .4byte gRoute122_WaterMonsInfo - .4byte NULL - .4byte gRoute122_FishingMonsInfo - - map ROUTE_123 - .2byte 0 @ padding - .4byte gRoute123_LandMonsInfo - .4byte gRoute123_WaterMonsInfo - .4byte NULL - .4byte gRoute123_FishingMonsInfo - - map MT_PYRE_2F - .2byte 0 @ padding - .4byte gMtPyre_2F_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map MT_PYRE_3F - .2byte 0 @ padding - .4byte gMtPyre_3F_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map MT_PYRE_4F - .2byte 0 @ padding - .4byte gMtPyre_4F_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map MT_PYRE_5F - .2byte 0 @ padding - .4byte gMtPyre_5F_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map MT_PYRE_6F - .2byte 0 @ padding - .4byte gMtPyre_6F_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map MT_PYRE_EXTERIOR - .2byte 0 @ padding - .4byte gMtPyre_Exterior_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map MT_PYRE_SUMMIT - .2byte 0 @ padding - .4byte gMtPyre_Summit_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map GRANITE_CAVE_STEVENS_ROOM - .2byte 0 @ padding - .4byte gGraniteCave_StevensRoom_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map ROUTE_125 - .2byte 0 @ padding - .4byte NULL - .4byte gRoute125_WaterMonsInfo - .4byte NULL - .4byte gRoute125_FishingMonsInfo - - map ROUTE_126 - .2byte 0 @ padding - .4byte NULL - .4byte gRoute126_WaterMonsInfo - .4byte NULL - .4byte gRoute126_FishingMonsInfo - - map ROUTE_127 - .2byte 0 @ padding - .4byte NULL - .4byte gRoute127_WaterMonsInfo - .4byte NULL - .4byte gRoute127_FishingMonsInfo - - map ROUTE_128 - .2byte 0 @ padding - .4byte NULL - .4byte gRoute128_WaterMonsInfo - .4byte NULL - .4byte gRoute128_FishingMonsInfo - - map ROUTE_129 - .2byte 0 @ padding - .4byte NULL - .4byte gRoute129_WaterMonsInfo - .4byte NULL - .4byte gRoute129_FishingMonsInfo - - map ROUTE_130 - .2byte 0 @ padding - .4byte gRoute130_LandMonsInfo - .4byte gRoute130_WaterMonsInfo - .4byte NULL - .4byte gRoute130_FishingMonsInfo - - map ROUTE_131 - .2byte 0 @ padding - .4byte NULL - .4byte gRoute131_WaterMonsInfo - .4byte NULL - .4byte gRoute131_FishingMonsInfo - - map ROUTE_132 - .2byte 0 @ padding - .4byte NULL - .4byte gRoute132_WaterMonsInfo - .4byte NULL - .4byte gRoute132_FishingMonsInfo - - map ROUTE_133 - .2byte 0 @ padding - .4byte NULL - .4byte gRoute133_WaterMonsInfo - .4byte NULL - .4byte gRoute133_FishingMonsInfo - - map ROUTE_134 - .2byte 0 @ padding - .4byte NULL - .4byte gRoute134_WaterMonsInfo - .4byte NULL - .4byte gRoute134_FishingMonsInfo - - map ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS - .2byte 0 @ padding - .4byte NULL - .4byte gAbandonedShip_HiddenFloorCorridors_WaterMonsInfo - .4byte NULL - .4byte gAbandonedShip_HiddenFloorCorridors_FishingMonsInfo - - map SEAFLOOR_CAVERN_ROOM_1 - .2byte 0 @ padding - .4byte gSeafloorCavern_Room1_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map SEAFLOOR_CAVERN_ROOM_2 - .2byte 0 @ padding - .4byte gSeafloorCavern_Room2_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map SEAFLOOR_CAVERN_ROOM_3 - .2byte 0 @ padding - .4byte gSeafloorCavern_Room3_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map SEAFLOOR_CAVERN_ROOM_4 - .2byte 0 @ padding - .4byte gSeafloorCavern_Room4_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map SEAFLOOR_CAVERN_ROOM_5 - .2byte 0 @ padding - .4byte gSeafloorCavern_Room5_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map SEAFLOOR_CAVERN_ROOM_6 - .2byte 0 @ padding - .4byte gSeafloorCavern_Room6_LandMonsInfo - .4byte gSeafloorCavern_Room6_WaterMonsInfo - .4byte NULL - .4byte gSeafloorCavern_Room6_FishingMonsInfo - - map SEAFLOOR_CAVERN_ROOM_7 - .2byte 0 @ padding - .4byte gSeafloorCavern_Room7_LandMonsInfo - .4byte gSeafloorCavern_Room7_WaterMonsInfo - .4byte NULL - .4byte gSeafloorCavern_Room7_FishingMonsInfo - - map SEAFLOOR_CAVERN_ROOM_8 - .2byte 0 @ padding - .4byte gSeafloorCavern_Room8_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map SEAFLOOR_CAVERN_ENTRANCE - .2byte 0 @ padding - .4byte NULL - .4byte gSeafloorCavern_Entrance_WaterMonsInfo - .4byte NULL - .4byte gSeafloorCavern_Entrance_FishingMonsInfo - - map CAVE_OF_ORIGIN_ENTRANCE - .2byte 0 @ padding - .4byte gCaveOfOrigin_Entrance_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map CAVE_OF_ORIGIN_1F - .2byte 0 @ padding - .4byte gCaveOfOrigin_1F_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP_1 - .2byte 0 @ padding - .4byte gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP_2 - .2byte 0 @ padding - .4byte gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP_3 - .2byte 0 @ padding - .4byte gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map NEW_MAUVILLE_ENTRANCE - .2byte 0 @ padding - .4byte gNewMauville_Entrance_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map SAFARI_ZONE_SOUTHWEST - .2byte 0 @ padding - .4byte gSafariZone_Southwest_LandMonsInfo - .4byte gSafariZone_Southwest_WaterMonsInfo - .4byte NULL - .4byte gSafariZone_Southwest_FishingMonsInfo - - map SAFARI_ZONE_NORTH - .2byte 0 @ padding - .4byte gSafariZone_North_LandMonsInfo - .4byte NULL - .4byte gSafariZone_North_RockSmashMonsInfo - .4byte NULL - - map SAFARI_ZONE_NORTHWEST - .2byte 0 @ padding - .4byte gSafariZone_Northwest_LandMonsInfo - .4byte gSafariZone_Northwest_WaterMonsInfo - .4byte NULL - .4byte gSafariZone_Northwest_FishingMonsInfo - - map VICTORY_ROAD_B1F - .2byte 0 @ padding - .4byte gVictoryRoad_B1F_LandMonsInfo - .4byte NULL - .4byte gVictoryRoad_B1F_RockSmashMonsInfo - .4byte NULL - - map VICTORY_ROAD_B2F - .2byte 0 @ padding - .4byte gVictoryRoad_B2F_LandMonsInfo - .4byte gVictoryRoad_B2F_WaterMonsInfo - .4byte NULL - .4byte gVictoryRoad_B2F_FishingMonsInfo - - map METEOR_FALLS_1F_1R - .2byte 0 @ padding - .4byte gMeteorFalls_1F_1R_LandMonsInfo - .4byte gMeteorFalls_1F_1R_WaterMonsInfo - .4byte NULL - .4byte gMeteorFalls_1F_1R_FishingMonsInfo - - map METEOR_FALLS_1F_2R - .2byte 0 @ padding - .4byte gMeteorFalls_1F_2R_LandMonsInfo - .4byte gMeteorFalls_1F_2R_WaterMonsInfo - .4byte NULL - .4byte gMeteorFalls_1F_2R_FishingMonsInfo - - map METEOR_FALLS_B1F_1R - .2byte 0 @ padding - .4byte gMeteorFalls_B1F_1R_LandMonsInfo - .4byte gMeteorFalls_B1F_1R_WaterMonsInfo - .4byte NULL - .4byte gMeteorFalls_B1F_1R_FishingMonsInfo - - map SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM - .2byte 0 @ padding - .4byte gShoalCave_LowTideStairsRoom_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map SHOAL_CAVE_LOW_TIDE_LOWER_ROOM - .2byte 0 @ padding - .4byte gShoalCave_LowTideLowerRoom_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map SHOAL_CAVE_LOW_TIDE_INNER_ROOM - .2byte 0 @ padding - .4byte gShoalCave_LowTideInnerRoom_LandMonsInfo - .4byte gShoalCave_LowTideInnerRoom_WaterMonsInfo - .4byte NULL - .4byte gShoalCave_LowTideInnerRoom_FishingMonsInfo - - map SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM - .2byte 0 @ padding - .4byte gShoalCave_LowTideEntranceRoom_LandMonsInfo - .4byte gShoalCave_LowTideEntranceRoom_WaterMonsInfo - .4byte NULL - .4byte gShoalCave_LowTideEntranceRoom_FishingMonsInfo - - map LILYCOVE_CITY - .2byte 0 @ padding - .4byte NULL - .4byte gLilycoveCity_WaterMonsInfo - .4byte NULL - .4byte gLilycoveCity_FishingMonsInfo - - map DEWFORD_TOWN - .2byte 0 @ padding - .4byte NULL - .4byte gDewfordTown_WaterMonsInfo - .4byte NULL - .4byte gDewfordTown_FishingMonsInfo - - map SLATEPORT_CITY - .2byte 0 @ padding - .4byte NULL - .4byte gSlateportCity_WaterMonsInfo - .4byte NULL - .4byte gSlateportCity_FishingMonsInfo - - map MOSSDEEP_CITY - .2byte 0 @ padding - .4byte NULL - .4byte gMossdeepCity_WaterMonsInfo - .4byte NULL - .4byte gMossdeepCity_FishingMonsInfo - - map PACIFIDLOG_TOWN - .2byte 0 @ padding - .4byte NULL - .4byte gPacifidlogTown_WaterMonsInfo - .4byte NULL - .4byte gPacifidlogTown_FishingMonsInfo - - map EVER_GRANDE_CITY - .2byte 0 @ padding - .4byte NULL - .4byte gEverGrandeCity_WaterMonsInfo - .4byte NULL - .4byte gEverGrandeCity_FishingMonsInfo - - map PETALBURG_CITY - .2byte 0 @ padding - .4byte NULL - .4byte gPetalburgCity_WaterMonsInfo - .4byte NULL - .4byte gPetalburgCity_FishingMonsInfo - - map UNDERWATER_1 - .2byte 0 @ padding - .4byte NULL - .4byte gUnderwater1_WaterMonsInfo - .4byte NULL - .4byte NULL - - map SHOAL_CAVE_LOW_TIDE_ICE_ROOM - .2byte 0 @ padding - .4byte gShoalCave_LowTideIceRoom_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map SKY_PILLAR_1F - .2byte 0 @ padding - .4byte gSkyPillar_1F_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map SOOTOPOLIS_CITY - .2byte 0 @ padding - .4byte NULL - .4byte gSootopolisCity_WaterMonsInfo - .4byte NULL - .4byte gSootopolisCity_FishingMonsInfo - - map SKY_PILLAR_3F - .2byte 0 @ padding - .4byte gSkyPillar_3F_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map SKY_PILLAR_5F - .2byte 0 @ padding - .4byte gSkyPillar_5F_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map SAFARI_ZONE_SOUTHEAST - .2byte 0 @ padding - .4byte gSafariZone_Southeast_LandMonsInfo - .4byte gSafariZone_Southeast_WaterMonsInfo - .4byte NULL - .4byte gSafariZone_Southeast_FishingMonsInfo - - map SAFARI_ZONE_NORTHEAST - .2byte 0 @ padding - .4byte gSafariZone_Northeast_LandMonsInfo - .4byte NULL - .4byte gSafariZone_Northeast_RockSmashMonsInfo - .4byte NULL - - map MAGMA_HIDEOUT_1F - .2byte 0 @ padding - .4byte gMagmaHideout_1F_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map MAGMA_HIDEOUT_2F_1R - .2byte 0 @ padding - .4byte gMagmaHideout_2F_1R_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map MAGMA_HIDEOUT_2F_2R - .2byte 0 @ padding - .4byte gMagmaHideout_2F_2R_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map MAGMA_HIDEOUT_3F_1R - .2byte 0 @ padding - .4byte gMagmaHideout_3F_1R_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map MAGMA_HIDEOUT_3F_2R - .2byte 0 @ padding - .4byte gMagmaHideout_3F_2R_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map MAGMA_HIDEOUT_4F - .2byte 0 @ padding - .4byte gMagmaHideout_4F_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map MAGMA_HIDEOUT_3F_3R - .2byte 0 @ padding - .4byte gMagmaHideout_3F_3R_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map MAGMA_HIDEOUT_2F_3R - .2byte 0 @ padding - .4byte gMagmaHideout_2F_3R_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map MIRAGE_TOWER_1F - .2byte 0 @ padding - .4byte gMirageTower_1F_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map MIRAGE_TOWER_2F - .2byte 0 @ padding - .4byte gMirageTower_2F_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map MIRAGE_TOWER_3F - .2byte 0 @ padding - .4byte gMirageTower_3F_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map MIRAGE_TOWER_4F - .2byte 0 @ padding - .4byte gMirageTower_4F_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map DESERT_UNDERPASS - .2byte 0 @ padding - .4byte gDesertUnderpass_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map ARTISAN_CAVE_B1F - .2byte 0 @ padding - .4byte gArtisanCave_B1F_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map ARTISAN_CAVE_1F - .2byte 0 @ padding - .4byte gArtisanCave_1F_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map ALTERING_CAVE - .2byte 0 @ padding - .4byte gAlteringCave1_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map ALTERING_CAVE - .2byte 0 @ padding - .4byte gAlteringCave2_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map ALTERING_CAVE - .2byte 0 @ padding - .4byte gAlteringCave3_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map ALTERING_CAVE - .2byte 0 @ padding - .4byte gAlteringCave4_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map ALTERING_CAVE - .2byte 0 @ padding - .4byte gAlteringCave5_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map ALTERING_CAVE - .2byte 0 @ padding - .4byte gAlteringCave6_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map ALTERING_CAVE - .2byte 0 @ padding - .4byte gAlteringCave7_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map ALTERING_CAVE - .2byte 0 @ padding - .4byte gAlteringCave8_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map ALTERING_CAVE - .2byte 0 @ padding - .4byte gAlteringCave9_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - map METEOR_FALLS_STEVENS_CAVE - .2byte 0 @ padding - .4byte gMeteorFalls_StevensCave_LandMonsInfo - .4byte NULL - .4byte NULL - .4byte NULL - - .byte -1 - .byte -1 - .2byte 0 @ padding - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL diff --git a/graphics/battle_anims/backgrounds/00.bin b/graphics/battle_anims/backgrounds/00.bin new file mode 100644 index 0000000000..dc70b2cf88 Binary files /dev/null and b/graphics/battle_anims/backgrounds/00.bin differ diff --git a/graphics/battle_anims/backgrounds/00.png b/graphics/battle_anims/backgrounds/00.png new file mode 100644 index 0000000000..f88de79c3c Binary files /dev/null and b/graphics/battle_anims/backgrounds/00.png differ diff --git a/graphics/battle_anims/backgrounds/02.bin b/graphics/battle_anims/backgrounds/02.bin new file mode 100644 index 0000000000..fabe87b3f4 Binary files /dev/null and b/graphics/battle_anims/backgrounds/02.bin differ diff --git a/graphics/battle_anims/backgrounds/02.png b/graphics/battle_anims/backgrounds/02.png new file mode 100644 index 0000000000..c4519d909e Binary files /dev/null and b/graphics/battle_anims/backgrounds/02.png differ diff --git a/graphics/battle_anims/backgrounds/03.bin b/graphics/battle_anims/backgrounds/03.bin new file mode 100644 index 0000000000..f642d1c7ac Binary files /dev/null and b/graphics/battle_anims/backgrounds/03.bin differ diff --git a/graphics/battle_anims/backgrounds/03.png b/graphics/battle_anims/backgrounds/03.png new file mode 100644 index 0000000000..2c2f9de87c Binary files /dev/null and b/graphics/battle_anims/backgrounds/03.png differ diff --git a/graphics/battle_anims/backgrounds/04.bin b/graphics/battle_anims/backgrounds/04.bin new file mode 100644 index 0000000000..91230cb019 Binary files /dev/null and b/graphics/battle_anims/backgrounds/04.bin differ diff --git a/graphics/battle_anims/backgrounds/04.png b/graphics/battle_anims/backgrounds/04.png new file mode 100644 index 0000000000..071684622d Binary files /dev/null and b/graphics/battle_anims/backgrounds/04.png differ diff --git a/graphics/battle_anims/backgrounds/05.bin b/graphics/battle_anims/backgrounds/05.bin new file mode 100644 index 0000000000..42b26559c3 Binary files /dev/null and b/graphics/battle_anims/backgrounds/05.bin differ diff --git a/graphics/battle_anims/backgrounds/06.bin b/graphics/battle_anims/backgrounds/06.bin new file mode 100644 index 0000000000..ef73f747c9 Binary files /dev/null and b/graphics/battle_anims/backgrounds/06.bin differ diff --git a/graphics/battle_anims/backgrounds/07.bin b/graphics/battle_anims/backgrounds/07.bin new file mode 100644 index 0000000000..ca591c75e8 Binary files /dev/null and b/graphics/battle_anims/backgrounds/07.bin differ diff --git a/graphics/battle_anims/backgrounds/07.png b/graphics/battle_anims/backgrounds/07.png new file mode 100644 index 0000000000..893bcee52a Binary files /dev/null and b/graphics/battle_anims/backgrounds/07.png differ diff --git a/graphics/battle_anims/backgrounds/08.bin b/graphics/battle_anims/backgrounds/08.bin new file mode 100644 index 0000000000..8c97168428 Binary files /dev/null and b/graphics/battle_anims/backgrounds/08.bin differ diff --git a/graphics/battle_anims/backgrounds/09.bin b/graphics/battle_anims/backgrounds/09.bin new file mode 100644 index 0000000000..d414051ce3 Binary files /dev/null and b/graphics/battle_anims/backgrounds/09.bin differ diff --git a/graphics/battle_anims/backgrounds/09.png b/graphics/battle_anims/backgrounds/09.png new file mode 100644 index 0000000000..5746191e7e Binary files /dev/null and b/graphics/battle_anims/backgrounds/09.png differ diff --git a/graphics/battle_anims/backgrounds/10.bin b/graphics/battle_anims/backgrounds/10.bin new file mode 100644 index 0000000000..99b488a431 Binary files /dev/null and b/graphics/battle_anims/backgrounds/10.bin differ diff --git a/graphics/battle_anims/backgrounds/11.bin b/graphics/battle_anims/backgrounds/11.bin new file mode 100644 index 0000000000..6aaaae2284 Binary files /dev/null and b/graphics/battle_anims/backgrounds/11.bin differ diff --git a/graphics/battle_anims/backgrounds/11.png b/graphics/battle_anims/backgrounds/11.png new file mode 100644 index 0000000000..1d63d85bfb Binary files /dev/null and b/graphics/battle_anims/backgrounds/11.png differ diff --git a/graphics/battle_anims/backgrounds/12.bin b/graphics/battle_anims/backgrounds/12.bin new file mode 100644 index 0000000000..1c0ae690e1 Binary files /dev/null and b/graphics/battle_anims/backgrounds/12.bin differ diff --git a/graphics/battle_anims/backgrounds/12.png b/graphics/battle_anims/backgrounds/12.png new file mode 100644 index 0000000000..cd831bb8f7 Binary files /dev/null and b/graphics/battle_anims/backgrounds/12.png differ diff --git a/graphics/battle_anims/backgrounds/13.bin b/graphics/battle_anims/backgrounds/13.bin new file mode 100644 index 0000000000..89556edc30 Binary files /dev/null and b/graphics/battle_anims/backgrounds/13.bin differ diff --git a/graphics/battle_anims/backgrounds/14.bin b/graphics/battle_anims/backgrounds/14.bin new file mode 100644 index 0000000000..2181a0227c Binary files /dev/null and b/graphics/battle_anims/backgrounds/14.bin differ diff --git a/graphics/battle_anims/backgrounds/15.bin b/graphics/battle_anims/backgrounds/15.bin new file mode 100644 index 0000000000..5b0aff44bb Binary files /dev/null and b/graphics/battle_anims/backgrounds/15.bin differ diff --git a/graphics/battle_anims/backgrounds/15.png b/graphics/battle_anims/backgrounds/15.png new file mode 100644 index 0000000000..8188117010 Binary files /dev/null and b/graphics/battle_anims/backgrounds/15.png differ diff --git a/graphics/battle_anims/backgrounds/16.bin b/graphics/battle_anims/backgrounds/16.bin new file mode 100644 index 0000000000..54740367af Binary files /dev/null and b/graphics/battle_anims/backgrounds/16.bin differ diff --git a/graphics/battle_anims/backgrounds/16.png b/graphics/battle_anims/backgrounds/16.png new file mode 100644 index 0000000000..6b0aa49736 Binary files /dev/null and b/graphics/battle_anims/backgrounds/16.png differ diff --git a/graphics/battle_anims/backgrounds/17.bin b/graphics/battle_anims/backgrounds/17.bin new file mode 100644 index 0000000000..8cb199d055 Binary files /dev/null and b/graphics/battle_anims/backgrounds/17.bin differ diff --git a/graphics/battle_anims/backgrounds/17.png b/graphics/battle_anims/backgrounds/17.png new file mode 100644 index 0000000000..5f9dd14ddf Binary files /dev/null and b/graphics/battle_anims/backgrounds/17.png differ diff --git a/graphics/battle_anims/backgrounds/18.pal b/graphics/battle_anims/backgrounds/18.pal new file mode 100644 index 0000000000..df2b878f6c --- /dev/null +++ b/graphics/battle_anims/backgrounds/18.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +106 205 197 +222 0 0 +189 0 0 +156 0 0 +123 0 0 +98 0 0 +0 0 0 +255 255 255 +230 246 238 +205 238 230 +180 230 222 +156 222 213 +131 213 205 +106 205 197 +0 0 0 diff --git a/graphics/battle_anims/backgrounds/20.bin b/graphics/battle_anims/backgrounds/20.bin new file mode 100644 index 0000000000..d72acf1715 Binary files /dev/null and b/graphics/battle_anims/backgrounds/20.bin differ diff --git a/graphics/battle_anims/backgrounds/20.png b/graphics/battle_anims/backgrounds/20.png new file mode 100644 index 0000000000..34f22002a7 Binary files /dev/null and b/graphics/battle_anims/backgrounds/20.png differ diff --git a/graphics/battle_anims/backgrounds/21.bin b/graphics/battle_anims/backgrounds/21.bin new file mode 100644 index 0000000000..e3d6f46e9a Binary files /dev/null and b/graphics/battle_anims/backgrounds/21.bin differ diff --git a/graphics/battle_anims/backgrounds/21.png b/graphics/battle_anims/backgrounds/21.png new file mode 100644 index 0000000000..1571a1d693 Binary files /dev/null and b/graphics/battle_anims/backgrounds/21.png differ diff --git a/graphics/battle_anims/backgrounds/22.pal b/graphics/battle_anims/backgrounds/22.pal new file mode 100644 index 0000000000..e8c5f59dce --- /dev/null +++ b/graphics/battle_anims/backgrounds/22.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +131 123 74 +139 139 90 +156 156 115 +172 172 139 +189 189 164 +205 205 180 +222 222 205 +238 238 230 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/backgrounds/24.pal b/graphics/battle_anims/backgrounds/24.pal new file mode 100644 index 0000000000..5eec18c675 --- /dev/null +++ b/graphics/battle_anims/backgrounds/24.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 197 74 +255 205 98 +255 213 123 +255 222 148 +255 230 172 +255 238 197 +255 246 222 +255 255 255 +255 189 74 +255 238 180 +255 230 139 +255 222 106 +255 213 74 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/backgrounds/attract.bin b/graphics/battle_anims/backgrounds/attract.bin new file mode 100644 index 0000000000..b06f464790 Binary files /dev/null and b/graphics/battle_anims/backgrounds/attract.bin differ diff --git a/graphics/battle_anims/backgrounds/attract.png b/graphics/battle_anims/backgrounds/attract.png new file mode 100644 index 0000000000..c5bba0f891 Binary files /dev/null and b/graphics/battle_anims/backgrounds/attract.png differ diff --git a/graphics/battle_anims/backgrounds/fog.bin b/graphics/battle_anims/backgrounds/fog.bin new file mode 100644 index 0000000000..1f9d53f95f Binary files /dev/null and b/graphics/battle_anims/backgrounds/fog.bin differ diff --git a/graphics/battle_anims/backgrounds/sandstorm_brew.bin b/graphics/battle_anims/backgrounds/sandstorm_brew.bin new file mode 100644 index 0000000000..64e6d85847 Binary files /dev/null and b/graphics/battle_anims/backgrounds/sandstorm_brew.bin differ diff --git a/graphics/battle_anims/backgrounds/sandstorm_brew.png b/graphics/battle_anims/backgrounds/sandstorm_brew.png new file mode 100644 index 0000000000..87d5d41ea5 Binary files /dev/null and b/graphics/battle_anims/backgrounds/sandstorm_brew.png differ diff --git a/graphics/battle_anims/backgrounds/scary_face.png b/graphics/battle_anims/backgrounds/scary_face.png new file mode 100644 index 0000000000..a395485cf4 Binary files /dev/null and b/graphics/battle_anims/backgrounds/scary_face.png differ diff --git a/graphics/battle_anims/backgrounds/scary_face_contest.bin b/graphics/battle_anims/backgrounds/scary_face_contest.bin new file mode 100644 index 0000000000..e2d1e3a994 Binary files /dev/null and b/graphics/battle_anims/backgrounds/scary_face_contest.bin differ diff --git a/graphics/battle_anims/backgrounds/scary_face_opponent.bin b/graphics/battle_anims/backgrounds/scary_face_opponent.bin new file mode 100644 index 0000000000..dfaaf5f2ff Binary files /dev/null and b/graphics/battle_anims/backgrounds/scary_face_opponent.bin differ diff --git a/graphics/battle_anims/backgrounds/scary_face_player.bin b/graphics/battle_anims/backgrounds/scary_face_player.bin new file mode 100644 index 0000000000..690305126a Binary files /dev/null and b/graphics/battle_anims/backgrounds/scary_face_player.bin differ diff --git a/graphics/battle_anims/backgrounds/water.png b/graphics/battle_anims/backgrounds/water.png new file mode 100644 index 0000000000..7740f99f8b Binary files /dev/null and b/graphics/battle_anims/backgrounds/water.png differ diff --git a/graphics/battle_anims/backgrounds/water_muddy.pal b/graphics/battle_anims/backgrounds/water_muddy.pal new file mode 100644 index 0000000000..0cb7218d9d --- /dev/null +++ b/graphics/battle_anims/backgrounds/water_muddy.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +131 49 0 +148 74 32 +164 106 65 +180 131 106 +197 164 139 +213 189 180 +230 222 213 +255 255 255 +148 74 32 +164 106 65 +197 164 139 +230 222 213 +255 255 255 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/cure_bubbles.bin b/graphics/battle_anims/masks/cure_bubbles.bin new file mode 100644 index 0000000000..fa2f572b63 Binary files /dev/null and b/graphics/battle_anims/masks/cure_bubbles.bin differ diff --git a/graphics/battle_anims/masks/cure_bubbles.png b/graphics/battle_anims/masks/cure_bubbles.png new file mode 100644 index 0000000000..aa7f7b1f28 Binary files /dev/null and b/graphics/battle_anims/masks/cure_bubbles.png differ diff --git a/graphics/battle_anims/masks/curse.bin b/graphics/battle_anims/masks/curse.bin new file mode 100644 index 0000000000..1e9623948e Binary files /dev/null and b/graphics/battle_anims/masks/curse.bin differ diff --git a/graphics/battle_anims/masks/curse.png b/graphics/battle_anims/masks/curse.png new file mode 100644 index 0000000000..03979ee8d2 Binary files /dev/null and b/graphics/battle_anims/masks/curse.png differ diff --git a/graphics/battle_anims/masks/metal_shine.bin b/graphics/battle_anims/masks/metal_shine.bin new file mode 100644 index 0000000000..fed60df365 Binary files /dev/null and b/graphics/battle_anims/masks/metal_shine.bin differ diff --git a/graphics/battle_anims/masks/metal_shine.png b/graphics/battle_anims/masks/metal_shine.png new file mode 100644 index 0000000000..a9c5a952c8 Binary files /dev/null and b/graphics/battle_anims/masks/metal_shine.png differ diff --git a/graphics/battle_anims/masks/morning_sun.bin b/graphics/battle_anims/masks/morning_sun.bin new file mode 100644 index 0000000000..cfa7b80692 Binary files /dev/null and b/graphics/battle_anims/masks/morning_sun.bin differ diff --git a/graphics/battle_anims/masks/morning_sun.png b/graphics/battle_anims/masks/morning_sun.png new file mode 100644 index 0000000000..c10b02782a Binary files /dev/null and b/graphics/battle_anims/masks/morning_sun.png differ diff --git a/graphics/battle_anims/masks/stat.png b/graphics/battle_anims/masks/stat.png new file mode 100644 index 0000000000..0a6014ccd9 Binary files /dev/null and b/graphics/battle_anims/masks/stat.png differ diff --git a/graphics/battle_anims/masks/stat1.pal b/graphics/battle_anims/masks/stat1.pal new file mode 100644 index 0000000000..d4128a31fb --- /dev/null +++ b/graphics/battle_anims/masks/stat1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +222 255 205 +189 255 164 +156 255 123 +115 222 90 +74 197 57 +32 172 24 +0 148 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat2.pal b/graphics/battle_anims/masks/stat2.pal new file mode 100644 index 0000000000..434b06e8d8 --- /dev/null +++ b/graphics/battle_anims/masks/stat2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +255 255 189 +255 255 123 +255 255 57 +255 189 41 +255 131 32 +255 65 16 +255 8 8 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat3.pal b/graphics/battle_anims/masks/stat3.pal new file mode 100644 index 0000000000..784e5c640e --- /dev/null +++ b/graphics/battle_anims/masks/stat3.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +238 222 246 +222 189 246 +205 156 246 +197 123 246 +197 123 246 +164 90 213 +131 57 180 +106 24 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat4.pal b/graphics/battle_anims/masks/stat4.pal new file mode 100644 index 0000000000..2868f24792 --- /dev/null +++ b/graphics/battle_anims/masks/stat4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +189 255 255 +123 255 255 +57 255 255 +57 205 238 +57 156 230 +57 106 213 +65 57 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat5.pal b/graphics/battle_anims/masks/stat5.pal new file mode 100644 index 0000000000..4991b1bd71 --- /dev/null +++ b/graphics/battle_anims/masks/stat5.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +230 230 230 +205 205 205 +180 180 189 +164 164 164 +139 139 148 +115 115 123 +98 98 106 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat6.pal b/graphics/battle_anims/masks/stat6.pal new file mode 100644 index 0000000000..f647ff4b34 --- /dev/null +++ b/graphics/battle_anims/masks/stat6.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +205 246 230 +156 246 213 +106 246 197 +57 246 180 +32 213 148 +16 180 123 +0 148 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat7.pal b/graphics/battle_anims/masks/stat7.pal new file mode 100644 index 0000000000..4935eba7c0 --- /dev/null +++ b/graphics/battle_anims/masks/stat7.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 8 8 +255 65 16 +255 131 32 +255 189 41 +255 255 57 +255 255 123 +255 255 189 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat8.pal b/graphics/battle_anims/masks/stat8.pal new file mode 100644 index 0000000000..ab1758e374 --- /dev/null +++ b/graphics/battle_anims/masks/stat8.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 148 0 +32 172 24 +74 197 57 +115 222 90 +156 255 123 +189 255 164 +222 255 205 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/masks/stat_tilemap_1.bin b/graphics/battle_anims/masks/stat_tilemap_1.bin new file mode 100644 index 0000000000..1b65e515af Binary files /dev/null and b/graphics/battle_anims/masks/stat_tilemap_1.bin differ diff --git a/graphics/battle_anims/masks/stat_tilemap_2.bin b/graphics/battle_anims/masks/stat_tilemap_2.bin new file mode 100644 index 0000000000..eb336cb748 --- /dev/null +++ b/graphics/battle_anims/masks/stat_tilemap_2.bin @@ -0,0 +1 @@ +$%&'$%&'$%&'$%&'$%&'$%&'$%&'$%&'45674567456745674567456745674567$%&'$%&'$%&'$%&'$%&'$%&'$%&'$%&'45674567456745674567456745674567$%&'$%&'$%&'$%&'$%&'$%&'$%&'$%&'45674567456745674567456745674567$%&'$%&'$%&'$%&'$%&'$%&'$%&'$%&'45674567456745674567456745674567$%&'$%&'$%&'$%&'$%&'$%&'$%&'$%&'45674567456745674567456745674567$%&'$%&'$%&'$%&'$%&'$%&'$%&'$%&'45674567456745674567456745674567$%&'$%&'$%&'$%&'$%&'$%&'$%&'$%&'45674567456745674567456745674567$%&'$%&'$%&'$%&'$%&'$%&'$%&'$%&'45674567456745674567456745674567 \ No newline at end of file diff --git a/graphics/battle_anims/masks/unknown_C2EA50.bin b/graphics/battle_anims/masks/unknown_C2EA50.bin new file mode 100644 index 0000000000..712c1ee12b Binary files /dev/null and b/graphics/battle_anims/masks/unknown_C2EA50.bin differ diff --git a/graphics/battle_anims/masks/unknown_C2EA50.png b/graphics/battle_anims/masks/unknown_C2EA50.png new file mode 100644 index 0000000000..d0b372cbb8 Binary files /dev/null and b/graphics/battle_anims/masks/unknown_C2EA50.png differ diff --git a/graphics/battle_anims/sprites/000.png b/graphics/battle_anims/sprites/000.png new file mode 100644 index 0000000000..3d8662a861 Binary files /dev/null and b/graphics/battle_anims/sprites/000.png differ diff --git a/graphics/battle_anims/sprites/001.pal b/graphics/battle_anims/sprites/001.pal new file mode 100644 index 0000000000..81af310e13 --- /dev/null +++ b/graphics/battle_anims/sprites/001.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 148 139 +255 139 0 +255 156 8 +255 172 24 +255 197 41 +255 213 57 +255 230 74 +255 255 90 +255 255 255 +255 74 106 +255 115 148 +255 164 197 +255 205 238 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/001_0.png b/graphics/battle_anims/sprites/001_0.png new file mode 100644 index 0000000000..77c454dcb7 Binary files /dev/null and b/graphics/battle_anims/sprites/001_0.png differ diff --git a/graphics/battle_anims/sprites/001_1.png b/graphics/battle_anims/sprites/001_1.png new file mode 100644 index 0000000000..2cfd6bd0b9 Binary files /dev/null and b/graphics/battle_anims/sprites/001_1.png differ diff --git a/graphics/battle_anims/sprites/002.png b/graphics/battle_anims/sprites/002.png new file mode 100644 index 0000000000..c2a98f6f59 Binary files /dev/null and b/graphics/battle_anims/sprites/002.png differ diff --git a/graphics/battle_anims/sprites/003.png b/graphics/battle_anims/sprites/003.png new file mode 100644 index 0000000000..b3164ff018 Binary files /dev/null and b/graphics/battle_anims/sprites/003.png differ diff --git a/graphics/battle_anims/sprites/004.png b/graphics/battle_anims/sprites/004.png new file mode 100644 index 0000000000..c7cad5ef99 Binary files /dev/null and b/graphics/battle_anims/sprites/004.png differ diff --git a/graphics/battle_anims/sprites/005.png b/graphics/battle_anims/sprites/005.png new file mode 100644 index 0000000000..8bd4ac426c Binary files /dev/null and b/graphics/battle_anims/sprites/005.png differ diff --git a/graphics/battle_anims/sprites/006.png b/graphics/battle_anims/sprites/006.png new file mode 100644 index 0000000000..30e2dffc1a Binary files /dev/null and b/graphics/battle_anims/sprites/006.png differ diff --git a/graphics/battle_anims/sprites/007.png b/graphics/battle_anims/sprites/007.png new file mode 100644 index 0000000000..5a2369dad1 Binary files /dev/null and b/graphics/battle_anims/sprites/007.png differ diff --git a/graphics/battle_anims/sprites/008.png b/graphics/battle_anims/sprites/008.png new file mode 100644 index 0000000000..634c4d2bb4 Binary files /dev/null and b/graphics/battle_anims/sprites/008.png differ diff --git a/graphics/battle_anims/sprites/009.png b/graphics/battle_anims/sprites/009.png new file mode 100644 index 0000000000..5818ae41d8 Binary files /dev/null and b/graphics/battle_anims/sprites/009.png differ diff --git a/graphics/battle_anims/sprites/010.pal b/graphics/battle_anims/sprites/010.pal new file mode 100644 index 0000000000..c5f241feb2 --- /dev/null +++ b/graphics/battle_anims/sprites/010.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 148 139 +98 90 255 +115 106 255 +139 131 255 +164 156 255 +180 180 255 +205 205 255 +230 230 255 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +180 180 255 +205 205 255 +230 230 255 diff --git a/graphics/battle_anims/sprites/010_0.png b/graphics/battle_anims/sprites/010_0.png new file mode 100644 index 0000000000..8eea99de05 Binary files /dev/null and b/graphics/battle_anims/sprites/010_0.png differ diff --git a/graphics/battle_anims/sprites/010_1.png b/graphics/battle_anims/sprites/010_1.png new file mode 100644 index 0000000000..ba3ca61929 Binary files /dev/null and b/graphics/battle_anims/sprites/010_1.png differ diff --git a/graphics/battle_anims/sprites/010_2.png b/graphics/battle_anims/sprites/010_2.png new file mode 100644 index 0000000000..b71a875e77 Binary files /dev/null and b/graphics/battle_anims/sprites/010_2.png differ diff --git a/graphics/battle_anims/sprites/010_3.png b/graphics/battle_anims/sprites/010_3.png new file mode 100644 index 0000000000..e310ca5df6 Binary files /dev/null and b/graphics/battle_anims/sprites/010_3.png differ diff --git a/graphics/battle_anims/sprites/011.png b/graphics/battle_anims/sprites/011.png new file mode 100644 index 0000000000..23ce049b00 Binary files /dev/null and b/graphics/battle_anims/sprites/011.png differ diff --git a/graphics/battle_anims/sprites/012.png b/graphics/battle_anims/sprites/012.png new file mode 100644 index 0000000000..1a9e4c8707 Binary files /dev/null and b/graphics/battle_anims/sprites/012.png differ diff --git a/graphics/battle_anims/sprites/013.png b/graphics/battle_anims/sprites/013.png new file mode 100644 index 0000000000..407671ff65 Binary files /dev/null and b/graphics/battle_anims/sprites/013.png differ diff --git a/graphics/battle_anims/sprites/014.png b/graphics/battle_anims/sprites/014.png new file mode 100644 index 0000000000..ab635306b4 Binary files /dev/null and b/graphics/battle_anims/sprites/014.png differ diff --git a/graphics/battle_anims/sprites/015.png b/graphics/battle_anims/sprites/015.png new file mode 100644 index 0000000000..48895d36a8 Binary files /dev/null and b/graphics/battle_anims/sprites/015.png differ diff --git a/graphics/battle_anims/sprites/016.png b/graphics/battle_anims/sprites/016.png new file mode 100644 index 0000000000..df96514114 Binary files /dev/null and b/graphics/battle_anims/sprites/016.png differ diff --git a/graphics/battle_anims/sprites/017.png b/graphics/battle_anims/sprites/017.png new file mode 100644 index 0000000000..e287698b4a Binary files /dev/null and b/graphics/battle_anims/sprites/017.png differ diff --git a/graphics/battle_anims/sprites/018.png b/graphics/battle_anims/sprites/018.png new file mode 100644 index 0000000000..c760ff81ae Binary files /dev/null and b/graphics/battle_anims/sprites/018.png differ diff --git a/graphics/battle_anims/sprites/019.png b/graphics/battle_anims/sprites/019.png new file mode 100644 index 0000000000..af29ec730d Binary files /dev/null and b/graphics/battle_anims/sprites/019.png differ diff --git a/graphics/battle_anims/sprites/020.png b/graphics/battle_anims/sprites/020.png new file mode 100644 index 0000000000..73c7f1344c Binary files /dev/null and b/graphics/battle_anims/sprites/020.png differ diff --git a/graphics/battle_anims/sprites/021.png b/graphics/battle_anims/sprites/021.png new file mode 100644 index 0000000000..c531b820ce Binary files /dev/null and b/graphics/battle_anims/sprites/021.png differ diff --git a/graphics/battle_anims/sprites/022.pal b/graphics/battle_anims/sprites/022.pal new file mode 100644 index 0000000000..35cbf00968 --- /dev/null +++ b/graphics/battle_anims/sprites/022.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +205 255 255 +156 255 255 +106 255 255 +57 255 255 +8 255 255 +8 205 255 +8 156 255 +8 106 255 +8 57 255 +8 8 255 +8 8 106 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/023.png b/graphics/battle_anims/sprites/023.png new file mode 100644 index 0000000000..a1dbc20c21 Binary files /dev/null and b/graphics/battle_anims/sprites/023.png differ diff --git a/graphics/battle_anims/sprites/024.png b/graphics/battle_anims/sprites/024.png new file mode 100644 index 0000000000..7c5d0f3825 Binary files /dev/null and b/graphics/battle_anims/sprites/024.png differ diff --git a/graphics/battle_anims/sprites/025.png b/graphics/battle_anims/sprites/025.png new file mode 100644 index 0000000000..864f710654 Binary files /dev/null and b/graphics/battle_anims/sprites/025.png differ diff --git a/graphics/battle_anims/sprites/026.png b/graphics/battle_anims/sprites/026.png new file mode 100644 index 0000000000..c531b820ce Binary files /dev/null and b/graphics/battle_anims/sprites/026.png differ diff --git a/graphics/battle_anims/sprites/027.png b/graphics/battle_anims/sprites/027.png new file mode 100644 index 0000000000..28b3876b7a Binary files /dev/null and b/graphics/battle_anims/sprites/027.png differ diff --git a/graphics/battle_anims/sprites/028.png b/graphics/battle_anims/sprites/028.png new file mode 100644 index 0000000000..b3a0969962 Binary files /dev/null and b/graphics/battle_anims/sprites/028.png differ diff --git a/graphics/battle_anims/sprites/029.png b/graphics/battle_anims/sprites/029.png new file mode 100644 index 0000000000..b04a8dc65f Binary files /dev/null and b/graphics/battle_anims/sprites/029.png differ diff --git a/graphics/battle_anims/sprites/030.png b/graphics/battle_anims/sprites/030.png new file mode 100644 index 0000000000..ba7161fa18 Binary files /dev/null and b/graphics/battle_anims/sprites/030.png differ diff --git a/graphics/battle_anims/sprites/031.png b/graphics/battle_anims/sprites/031.png new file mode 100644 index 0000000000..c6727ad1c9 Binary files /dev/null and b/graphics/battle_anims/sprites/031.png differ diff --git a/graphics/battle_anims/sprites/032.png b/graphics/battle_anims/sprites/032.png new file mode 100644 index 0000000000..80ffb7b72e Binary files /dev/null and b/graphics/battle_anims/sprites/032.png differ diff --git a/graphics/battle_anims/sprites/033.png b/graphics/battle_anims/sprites/033.png new file mode 100644 index 0000000000..eb1ed34730 Binary files /dev/null and b/graphics/battle_anims/sprites/033.png differ diff --git a/graphics/battle_anims/sprites/034.png b/graphics/battle_anims/sprites/034.png new file mode 100644 index 0000000000..22f836d1e3 Binary files /dev/null and b/graphics/battle_anims/sprites/034.png differ diff --git a/graphics/battle_anims/sprites/035.png b/graphics/battle_anims/sprites/035.png new file mode 100644 index 0000000000..cde2105dd0 Binary files /dev/null and b/graphics/battle_anims/sprites/035.png differ diff --git a/graphics/battle_anims/sprites/036.png b/graphics/battle_anims/sprites/036.png new file mode 100644 index 0000000000..bddf4a25ab Binary files /dev/null and b/graphics/battle_anims/sprites/036.png differ diff --git a/graphics/battle_anims/sprites/037.png b/graphics/battle_anims/sprites/037.png new file mode 100644 index 0000000000..62a692036e Binary files /dev/null and b/graphics/battle_anims/sprites/037.png differ diff --git a/graphics/battle_anims/sprites/038.png b/graphics/battle_anims/sprites/038.png new file mode 100644 index 0000000000..2dfa037c13 Binary files /dev/null and b/graphics/battle_anims/sprites/038.png differ diff --git a/graphics/battle_anims/sprites/039.png b/graphics/battle_anims/sprites/039.png new file mode 100644 index 0000000000..bc61b20d7c Binary files /dev/null and b/graphics/battle_anims/sprites/039.png differ diff --git a/graphics/battle_anims/sprites/040.png b/graphics/battle_anims/sprites/040.png new file mode 100644 index 0000000000..c7d493d922 Binary files /dev/null and b/graphics/battle_anims/sprites/040.png differ diff --git a/graphics/battle_anims/sprites/041.png b/graphics/battle_anims/sprites/041.png new file mode 100644 index 0000000000..e088c1f867 Binary files /dev/null and b/graphics/battle_anims/sprites/041.png differ diff --git a/graphics/battle_anims/sprites/042.png b/graphics/battle_anims/sprites/042.png new file mode 100644 index 0000000000..cf89090807 Binary files /dev/null and b/graphics/battle_anims/sprites/042.png differ diff --git a/graphics/battle_anims/sprites/043.png b/graphics/battle_anims/sprites/043.png new file mode 100644 index 0000000000..e5e929ede8 Binary files /dev/null and b/graphics/battle_anims/sprites/043.png differ diff --git a/graphics/battle_anims/sprites/044.png b/graphics/battle_anims/sprites/044.png new file mode 100644 index 0000000000..7baf82357c Binary files /dev/null and b/graphics/battle_anims/sprites/044.png differ diff --git a/graphics/battle_anims/sprites/045.png b/graphics/battle_anims/sprites/045.png new file mode 100644 index 0000000000..45aeae3562 Binary files /dev/null and b/graphics/battle_anims/sprites/045.png differ diff --git a/graphics/battle_anims/sprites/046.png b/graphics/battle_anims/sprites/046.png new file mode 100644 index 0000000000..85a0524866 Binary files /dev/null and b/graphics/battle_anims/sprites/046.png differ diff --git a/graphics/battle_anims/sprites/047.pal b/graphics/battle_anims/sprites/047.pal new file mode 100644 index 0000000000..226cf039a2 --- /dev/null +++ b/graphics/battle_anims/sprites/047.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +148 246 197 +255 255 255 +255 255 205 +238 205 164 +222 164 131 +222 115 106 +230 65 82 +180 32 90 +131 0 106 +90 0 82 +57 0 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/048.png b/graphics/battle_anims/sprites/048.png new file mode 100644 index 0000000000..4a6631ab84 Binary files /dev/null and b/graphics/battle_anims/sprites/048.png differ diff --git a/graphics/battle_anims/sprites/049.pal b/graphics/battle_anims/sprites/049.pal new file mode 100644 index 0000000000..268ce4f4fb --- /dev/null +++ b/graphics/battle_anims/sprites/049.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +255 255 148 +255 230 74 +255 205 0 +230 156 0 +205 106 0 +189 57 0 +255 148 24 +255 98 16 +255 49 8 +255 0 0 +156 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/050.png b/graphics/battle_anims/sprites/050.png new file mode 100644 index 0000000000..9f2c101e45 Binary files /dev/null and b/graphics/battle_anims/sprites/050.png differ diff --git a/graphics/battle_anims/sprites/051.png b/graphics/battle_anims/sprites/051.png new file mode 100644 index 0000000000..14d7036bce Binary files /dev/null and b/graphics/battle_anims/sprites/051.png differ diff --git a/graphics/battle_anims/sprites/052.png b/graphics/battle_anims/sprites/052.png new file mode 100644 index 0000000000..9928271d5c Binary files /dev/null and b/graphics/battle_anims/sprites/052.png differ diff --git a/graphics/battle_anims/sprites/053.png b/graphics/battle_anims/sprites/053.png new file mode 100644 index 0000000000..9aaccf334d Binary files /dev/null and b/graphics/battle_anims/sprites/053.png differ diff --git a/graphics/battle_anims/sprites/054.png b/graphics/battle_anims/sprites/054.png new file mode 100644 index 0000000000..afffd9e77c Binary files /dev/null and b/graphics/battle_anims/sprites/054.png differ diff --git a/graphics/battle_anims/sprites/055.png b/graphics/battle_anims/sprites/055.png new file mode 100644 index 0000000000..bd6590322e Binary files /dev/null and b/graphics/battle_anims/sprites/055.png differ diff --git a/graphics/battle_anims/sprites/056.png b/graphics/battle_anims/sprites/056.png new file mode 100644 index 0000000000..1a10645a48 Binary files /dev/null and b/graphics/battle_anims/sprites/056.png differ diff --git a/graphics/battle_anims/sprites/057.png b/graphics/battle_anims/sprites/057.png new file mode 100644 index 0000000000..ffc3f76342 Binary files /dev/null and b/graphics/battle_anims/sprites/057.png differ diff --git a/graphics/battle_anims/sprites/058.png b/graphics/battle_anims/sprites/058.png new file mode 100644 index 0000000000..89e01f78af Binary files /dev/null and b/graphics/battle_anims/sprites/058.png differ diff --git a/graphics/battle_anims/sprites/059.png b/graphics/battle_anims/sprites/059.png new file mode 100644 index 0000000000..4d93be1244 Binary files /dev/null and b/graphics/battle_anims/sprites/059.png differ diff --git a/graphics/battle_anims/sprites/060.png b/graphics/battle_anims/sprites/060.png new file mode 100644 index 0000000000..c4c0fb53e1 Binary files /dev/null and b/graphics/battle_anims/sprites/060.png differ diff --git a/graphics/battle_anims/sprites/061.png b/graphics/battle_anims/sprites/061.png new file mode 100644 index 0000000000..6efa4e537b Binary files /dev/null and b/graphics/battle_anims/sprites/061.png differ diff --git a/graphics/battle_anims/sprites/062.png b/graphics/battle_anims/sprites/062.png new file mode 100644 index 0000000000..bdfaa78c4e Binary files /dev/null and b/graphics/battle_anims/sprites/062.png differ diff --git a/graphics/battle_anims/sprites/063.png b/graphics/battle_anims/sprites/063.png new file mode 100644 index 0000000000..8828f4e8dc Binary files /dev/null and b/graphics/battle_anims/sprites/063.png differ diff --git a/graphics/battle_anims/sprites/064.png b/graphics/battle_anims/sprites/064.png new file mode 100644 index 0000000000..069f4a3115 Binary files /dev/null and b/graphics/battle_anims/sprites/064.png differ diff --git a/graphics/battle_anims/sprites/065.png b/graphics/battle_anims/sprites/065.png new file mode 100644 index 0000000000..8916253e45 Binary files /dev/null and b/graphics/battle_anims/sprites/065.png differ diff --git a/graphics/battle_anims/sprites/066.png b/graphics/battle_anims/sprites/066.png new file mode 100644 index 0000000000..d70924235b Binary files /dev/null and b/graphics/battle_anims/sprites/066.png differ diff --git a/graphics/battle_anims/sprites/067.pal b/graphics/battle_anims/sprites/067.pal new file mode 100644 index 0000000000..4c3a4265ee --- /dev/null +++ b/graphics/battle_anims/sprites/067.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 197 246 +255 255 255 +230 246 189 +213 246 123 +197 246 57 +180 246 0 +156 222 24 +131 197 49 +106 172 74 +82 148 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/068.pal b/graphics/battle_anims/sprites/068.pal new file mode 100644 index 0000000000..3075ab6b65 --- /dev/null +++ b/graphics/battle_anims/sprites/068.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 197 246 +255 255 255 +255 246 164 +255 246 82 +255 246 0 +255 246 0 +246 213 0 +238 180 0 +230 148 0 +230 115 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/070.png b/graphics/battle_anims/sprites/070.png new file mode 100644 index 0000000000..dfb03010cb Binary files /dev/null and b/graphics/battle_anims/sprites/070.png differ diff --git a/graphics/battle_anims/sprites/071.png b/graphics/battle_anims/sprites/071.png new file mode 100644 index 0000000000..88d20bb5eb Binary files /dev/null and b/graphics/battle_anims/sprites/071.png differ diff --git a/graphics/battle_anims/sprites/072.png b/graphics/battle_anims/sprites/072.png new file mode 100644 index 0000000000..14976ded19 Binary files /dev/null and b/graphics/battle_anims/sprites/072.png differ diff --git a/graphics/battle_anims/sprites/073.png b/graphics/battle_anims/sprites/073.png new file mode 100644 index 0000000000..95484d2a05 Binary files /dev/null and b/graphics/battle_anims/sprites/073.png differ diff --git a/graphics/battle_anims/sprites/074.pal b/graphics/battle_anims/sprites/074.pal new file mode 100644 index 0000000000..f8976f672a --- /dev/null +++ b/graphics/battle_anims/sprites/074.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 148 139 +115 106 98 +82 82 82 +164 164 164 +255 255 255 +197 180 115 +164 148 82 +131 115 57 +98 82 24 +74 57 0 +205 205 197 +131 131 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/074_0.png b/graphics/battle_anims/sprites/074_0.png new file mode 100644 index 0000000000..81af471937 Binary files /dev/null and b/graphics/battle_anims/sprites/074_0.png differ diff --git a/graphics/battle_anims/sprites/074_1.png b/graphics/battle_anims/sprites/074_1.png new file mode 100644 index 0000000000..827ec5d489 Binary files /dev/null and b/graphics/battle_anims/sprites/074_1.png differ diff --git a/graphics/battle_anims/sprites/075.png b/graphics/battle_anims/sprites/075.png new file mode 100644 index 0000000000..9455a19623 Binary files /dev/null and b/graphics/battle_anims/sprites/075.png differ diff --git a/graphics/battle_anims/sprites/076.png b/graphics/battle_anims/sprites/076.png new file mode 100644 index 0000000000..4d6d9d0c18 Binary files /dev/null and b/graphics/battle_anims/sprites/076.png differ diff --git a/graphics/battle_anims/sprites/077.png b/graphics/battle_anims/sprites/077.png new file mode 100644 index 0000000000..c2cc22be31 Binary files /dev/null and b/graphics/battle_anims/sprites/077.png differ diff --git a/graphics/battle_anims/sprites/078.png b/graphics/battle_anims/sprites/078.png new file mode 100644 index 0000000000..b48af4900a Binary files /dev/null and b/graphics/battle_anims/sprites/078.png differ diff --git a/graphics/battle_anims/sprites/079.png b/graphics/battle_anims/sprites/079.png new file mode 100644 index 0000000000..193ba3942c Binary files /dev/null and b/graphics/battle_anims/sprites/079.png differ diff --git a/graphics/battle_anims/sprites/080.png b/graphics/battle_anims/sprites/080.png new file mode 100644 index 0000000000..f4089ee018 Binary files /dev/null and b/graphics/battle_anims/sprites/080.png differ diff --git a/graphics/battle_anims/sprites/081.png b/graphics/battle_anims/sprites/081.png new file mode 100644 index 0000000000..0d6783cd9f Binary files /dev/null and b/graphics/battle_anims/sprites/081.png differ diff --git a/graphics/battle_anims/sprites/082.png b/graphics/battle_anims/sprites/082.png new file mode 100644 index 0000000000..a1b2d7318f Binary files /dev/null and b/graphics/battle_anims/sprites/082.png differ diff --git a/graphics/battle_anims/sprites/083.png b/graphics/battle_anims/sprites/083.png new file mode 100644 index 0000000000..8e8178422c Binary files /dev/null and b/graphics/battle_anims/sprites/083.png differ diff --git a/graphics/battle_anims/sprites/084.png b/graphics/battle_anims/sprites/084.png new file mode 100644 index 0000000000..3066680353 Binary files /dev/null and b/graphics/battle_anims/sprites/084.png differ diff --git a/graphics/battle_anims/sprites/085.png b/graphics/battle_anims/sprites/085.png new file mode 100644 index 0000000000..ab9fdce5e6 Binary files /dev/null and b/graphics/battle_anims/sprites/085.png differ diff --git a/graphics/battle_anims/sprites/086.png b/graphics/battle_anims/sprites/086.png new file mode 100644 index 0000000000..ba93d952ed Binary files /dev/null and b/graphics/battle_anims/sprites/086.png differ diff --git a/graphics/battle_anims/sprites/087.png b/graphics/battle_anims/sprites/087.png new file mode 100644 index 0000000000..e0e88687e8 Binary files /dev/null and b/graphics/battle_anims/sprites/087.png differ diff --git a/graphics/battle_anims/sprites/088.png b/graphics/battle_anims/sprites/088.png new file mode 100644 index 0000000000..09fed7d854 Binary files /dev/null and b/graphics/battle_anims/sprites/088.png differ diff --git a/graphics/battle_anims/sprites/089.png b/graphics/battle_anims/sprites/089.png new file mode 100644 index 0000000000..19155f2c47 Binary files /dev/null and b/graphics/battle_anims/sprites/089.png differ diff --git a/graphics/battle_anims/sprites/090.png b/graphics/battle_anims/sprites/090.png new file mode 100644 index 0000000000..c90ff299db Binary files /dev/null and b/graphics/battle_anims/sprites/090.png differ diff --git a/graphics/battle_anims/sprites/091.png b/graphics/battle_anims/sprites/091.png new file mode 100644 index 0000000000..7648de5aa1 Binary files /dev/null and b/graphics/battle_anims/sprites/091.png differ diff --git a/graphics/battle_anims/sprites/092.png b/graphics/battle_anims/sprites/092.png new file mode 100644 index 0000000000..8d98d6eaa5 Binary files /dev/null and b/graphics/battle_anims/sprites/092.png differ diff --git a/graphics/battle_anims/sprites/093.png b/graphics/battle_anims/sprites/093.png new file mode 100644 index 0000000000..29f9e6a503 Binary files /dev/null and b/graphics/battle_anims/sprites/093.png differ diff --git a/graphics/battle_anims/sprites/094.png b/graphics/battle_anims/sprites/094.png new file mode 100644 index 0000000000..c29ff535d6 Binary files /dev/null and b/graphics/battle_anims/sprites/094.png differ diff --git a/graphics/battle_anims/sprites/095.png b/graphics/battle_anims/sprites/095.png new file mode 100644 index 0000000000..616b021214 Binary files /dev/null and b/graphics/battle_anims/sprites/095.png differ diff --git a/graphics/battle_anims/sprites/096.png b/graphics/battle_anims/sprites/096.png new file mode 100644 index 0000000000..99873ba10c Binary files /dev/null and b/graphics/battle_anims/sprites/096.png differ diff --git a/graphics/battle_anims/sprites/097.png b/graphics/battle_anims/sprites/097.png new file mode 100644 index 0000000000..5366d02cf5 Binary files /dev/null and b/graphics/battle_anims/sprites/097.png differ diff --git a/graphics/battle_anims/sprites/098.png b/graphics/battle_anims/sprites/098.png new file mode 100644 index 0000000000..33cfd705c5 Binary files /dev/null and b/graphics/battle_anims/sprites/098.png differ diff --git a/graphics/battle_anims/sprites/099.png b/graphics/battle_anims/sprites/099.png new file mode 100644 index 0000000000..a7a79f8bf7 Binary files /dev/null and b/graphics/battle_anims/sprites/099.png differ diff --git a/graphics/battle_anims/sprites/100.png b/graphics/battle_anims/sprites/100.png new file mode 100644 index 0000000000..0576559189 Binary files /dev/null and b/graphics/battle_anims/sprites/100.png differ diff --git a/graphics/battle_anims/sprites/101.png b/graphics/battle_anims/sprites/101.png new file mode 100644 index 0000000000..f2fa227f28 Binary files /dev/null and b/graphics/battle_anims/sprites/101.png differ diff --git a/graphics/battle_anims/sprites/102.png b/graphics/battle_anims/sprites/102.png new file mode 100644 index 0000000000..aa88422448 Binary files /dev/null and b/graphics/battle_anims/sprites/102.png differ diff --git a/graphics/battle_anims/sprites/103.png b/graphics/battle_anims/sprites/103.png new file mode 100644 index 0000000000..0ad9c1b149 Binary files /dev/null and b/graphics/battle_anims/sprites/103.png differ diff --git a/graphics/battle_anims/sprites/104.png b/graphics/battle_anims/sprites/104.png new file mode 100644 index 0000000000..7c4244da04 Binary files /dev/null and b/graphics/battle_anims/sprites/104.png differ diff --git a/graphics/battle_anims/sprites/105.png b/graphics/battle_anims/sprites/105.png new file mode 100644 index 0000000000..5df0e72154 Binary files /dev/null and b/graphics/battle_anims/sprites/105.png differ diff --git a/graphics/battle_anims/sprites/106.png b/graphics/battle_anims/sprites/106.png new file mode 100644 index 0000000000..82297fb007 Binary files /dev/null and b/graphics/battle_anims/sprites/106.png differ diff --git a/graphics/battle_anims/sprites/107.png b/graphics/battle_anims/sprites/107.png new file mode 100644 index 0000000000..202152ab4e Binary files /dev/null and b/graphics/battle_anims/sprites/107.png differ diff --git a/graphics/battle_anims/sprites/108.png b/graphics/battle_anims/sprites/108.png new file mode 100644 index 0000000000..f3f5871b4d Binary files /dev/null and b/graphics/battle_anims/sprites/108.png differ diff --git a/graphics/battle_anims/sprites/109.png b/graphics/battle_anims/sprites/109.png new file mode 100644 index 0000000000..f848e388b9 Binary files /dev/null and b/graphics/battle_anims/sprites/109.png differ diff --git a/graphics/battle_anims/sprites/110.png b/graphics/battle_anims/sprites/110.png new file mode 100644 index 0000000000..787cb58c35 Binary files /dev/null and b/graphics/battle_anims/sprites/110.png differ diff --git a/graphics/battle_anims/sprites/111.png b/graphics/battle_anims/sprites/111.png new file mode 100644 index 0000000000..2bbbe86942 Binary files /dev/null and b/graphics/battle_anims/sprites/111.png differ diff --git a/graphics/battle_anims/sprites/112.png b/graphics/battle_anims/sprites/112.png new file mode 100644 index 0000000000..4503849e91 Binary files /dev/null and b/graphics/battle_anims/sprites/112.png differ diff --git a/graphics/battle_anims/sprites/113.png b/graphics/battle_anims/sprites/113.png new file mode 100644 index 0000000000..3a4a5b3280 Binary files /dev/null and b/graphics/battle_anims/sprites/113.png differ diff --git a/graphics/battle_anims/sprites/114.png b/graphics/battle_anims/sprites/114.png new file mode 100644 index 0000000000..b1bee0080c Binary files /dev/null and b/graphics/battle_anims/sprites/114.png differ diff --git a/graphics/battle_anims/sprites/115.png b/graphics/battle_anims/sprites/115.png new file mode 100644 index 0000000000..51c9091346 Binary files /dev/null and b/graphics/battle_anims/sprites/115.png differ diff --git a/graphics/battle_anims/sprites/116.png b/graphics/battle_anims/sprites/116.png new file mode 100644 index 0000000000..b9e0df20e6 Binary files /dev/null and b/graphics/battle_anims/sprites/116.png differ diff --git a/graphics/battle_anims/sprites/117.png b/graphics/battle_anims/sprites/117.png new file mode 100644 index 0000000000..f2c7e1b41e Binary files /dev/null and b/graphics/battle_anims/sprites/117.png differ diff --git a/graphics/battle_anims/sprites/118.png b/graphics/battle_anims/sprites/118.png new file mode 100644 index 0000000000..6e2075e514 Binary files /dev/null and b/graphics/battle_anims/sprites/118.png differ diff --git a/graphics/battle_anims/sprites/119.png b/graphics/battle_anims/sprites/119.png new file mode 100644 index 0000000000..93e03bb007 Binary files /dev/null and b/graphics/battle_anims/sprites/119.png differ diff --git a/graphics/battle_anims/sprites/120.png b/graphics/battle_anims/sprites/120.png new file mode 100644 index 0000000000..58e15e0188 Binary files /dev/null and b/graphics/battle_anims/sprites/120.png differ diff --git a/graphics/battle_anims/sprites/121.png b/graphics/battle_anims/sprites/121.png new file mode 100644 index 0000000000..c4fc11f860 Binary files /dev/null and b/graphics/battle_anims/sprites/121.png differ diff --git a/graphics/battle_anims/sprites/122.png b/graphics/battle_anims/sprites/122.png new file mode 100644 index 0000000000..0a1da6c037 Binary files /dev/null and b/graphics/battle_anims/sprites/122.png differ diff --git a/graphics/battle_anims/sprites/123.png b/graphics/battle_anims/sprites/123.png new file mode 100644 index 0000000000..c1d71a8b7e Binary files /dev/null and b/graphics/battle_anims/sprites/123.png differ diff --git a/graphics/battle_anims/sprites/124.png b/graphics/battle_anims/sprites/124.png new file mode 100644 index 0000000000..343705a07b Binary files /dev/null and b/graphics/battle_anims/sprites/124.png differ diff --git a/graphics/battle_anims/sprites/125.png b/graphics/battle_anims/sprites/125.png new file mode 100644 index 0000000000..2bc2c212f6 Binary files /dev/null and b/graphics/battle_anims/sprites/125.png differ diff --git a/graphics/battle_anims/sprites/126.png b/graphics/battle_anims/sprites/126.png new file mode 100644 index 0000000000..9f19629026 Binary files /dev/null and b/graphics/battle_anims/sprites/126.png differ diff --git a/graphics/battle_anims/sprites/127.png b/graphics/battle_anims/sprites/127.png new file mode 100644 index 0000000000..55706275c5 Binary files /dev/null and b/graphics/battle_anims/sprites/127.png differ diff --git a/graphics/battle_anims/sprites/128.png b/graphics/battle_anims/sprites/128.png new file mode 100644 index 0000000000..fb9e619801 Binary files /dev/null and b/graphics/battle_anims/sprites/128.png differ diff --git a/graphics/battle_anims/sprites/129.png b/graphics/battle_anims/sprites/129.png new file mode 100644 index 0000000000..c29a44c066 Binary files /dev/null and b/graphics/battle_anims/sprites/129.png differ diff --git a/graphics/battle_anims/sprites/130.png b/graphics/battle_anims/sprites/130.png new file mode 100644 index 0000000000..4a753e6d54 Binary files /dev/null and b/graphics/battle_anims/sprites/130.png differ diff --git a/graphics/battle_anims/sprites/131.png b/graphics/battle_anims/sprites/131.png new file mode 100644 index 0000000000..4683e161f9 Binary files /dev/null and b/graphics/battle_anims/sprites/131.png differ diff --git a/graphics/battle_anims/sprites/132.png b/graphics/battle_anims/sprites/132.png new file mode 100644 index 0000000000..ebed3740a8 Binary files /dev/null and b/graphics/battle_anims/sprites/132.png differ diff --git a/graphics/battle_anims/sprites/133.png b/graphics/battle_anims/sprites/133.png new file mode 100644 index 0000000000..cebce575e6 Binary files /dev/null and b/graphics/battle_anims/sprites/133.png differ diff --git a/graphics/battle_anims/sprites/134.png b/graphics/battle_anims/sprites/134.png new file mode 100644 index 0000000000..933852b07f Binary files /dev/null and b/graphics/battle_anims/sprites/134.png differ diff --git a/graphics/battle_anims/sprites/135.png b/graphics/battle_anims/sprites/135.png new file mode 100644 index 0000000000..38a04f373b Binary files /dev/null and b/graphics/battle_anims/sprites/135.png differ diff --git a/graphics/battle_anims/sprites/136.png b/graphics/battle_anims/sprites/136.png new file mode 100644 index 0000000000..cc99103d5d Binary files /dev/null and b/graphics/battle_anims/sprites/136.png differ diff --git a/graphics/battle_anims/sprites/137.png b/graphics/battle_anims/sprites/137.png new file mode 100644 index 0000000000..7f3d266443 Binary files /dev/null and b/graphics/battle_anims/sprites/137.png differ diff --git a/graphics/battle_anims/sprites/138.png b/graphics/battle_anims/sprites/138.png new file mode 100644 index 0000000000..559244bbce Binary files /dev/null and b/graphics/battle_anims/sprites/138.png differ diff --git a/graphics/battle_anims/sprites/139.png b/graphics/battle_anims/sprites/139.png new file mode 100644 index 0000000000..38b74a9e48 Binary files /dev/null and b/graphics/battle_anims/sprites/139.png differ diff --git a/graphics/battle_anims/sprites/140.png b/graphics/battle_anims/sprites/140.png new file mode 100644 index 0000000000..1133f2ee8e Binary files /dev/null and b/graphics/battle_anims/sprites/140.png differ diff --git a/graphics/battle_anims/sprites/141.pal b/graphics/battle_anims/sprites/141.pal new file mode 100644 index 0000000000..c5f241feb2 --- /dev/null +++ b/graphics/battle_anims/sprites/141.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 148 139 +98 90 255 +115 106 255 +139 131 255 +164 156 255 +180 180 255 +205 205 255 +230 230 255 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +180 180 255 +205 205 255 +230 230 255 diff --git a/graphics/battle_anims/sprites/141_0.png b/graphics/battle_anims/sprites/141_0.png new file mode 100644 index 0000000000..631d344c87 Binary files /dev/null and b/graphics/battle_anims/sprites/141_0.png differ diff --git a/graphics/battle_anims/sprites/141_1.png b/graphics/battle_anims/sprites/141_1.png new file mode 100644 index 0000000000..95f24953f0 Binary files /dev/null and b/graphics/battle_anims/sprites/141_1.png differ diff --git a/graphics/battle_anims/sprites/141_2.png b/graphics/battle_anims/sprites/141_2.png new file mode 100644 index 0000000000..ec1e4b0906 Binary files /dev/null and b/graphics/battle_anims/sprites/141_2.png differ diff --git a/graphics/battle_anims/sprites/141_3.png b/graphics/battle_anims/sprites/141_3.png new file mode 100644 index 0000000000..02ac9d68ee Binary files /dev/null and b/graphics/battle_anims/sprites/141_3.png differ diff --git a/graphics/battle_anims/sprites/141_4.png b/graphics/battle_anims/sprites/141_4.png new file mode 100644 index 0000000000..a7af91f4b2 Binary files /dev/null and b/graphics/battle_anims/sprites/141_4.png differ diff --git a/graphics/battle_anims/sprites/142.png b/graphics/battle_anims/sprites/142.png new file mode 100644 index 0000000000..130bcf82e6 Binary files /dev/null and b/graphics/battle_anims/sprites/142.png differ diff --git a/graphics/battle_anims/sprites/143.png b/graphics/battle_anims/sprites/143.png new file mode 100644 index 0000000000..da3f273aca Binary files /dev/null and b/graphics/battle_anims/sprites/143.png differ diff --git a/graphics/battle_anims/sprites/144.png b/graphics/battle_anims/sprites/144.png new file mode 100644 index 0000000000..0699263956 Binary files /dev/null and b/graphics/battle_anims/sprites/144.png differ diff --git a/graphics/battle_anims/sprites/145.png b/graphics/battle_anims/sprites/145.png new file mode 100644 index 0000000000..b44edaadb4 Binary files /dev/null and b/graphics/battle_anims/sprites/145.png differ diff --git a/graphics/battle_anims/sprites/146.png b/graphics/battle_anims/sprites/146.png new file mode 100644 index 0000000000..e7b0360a6a Binary files /dev/null and b/graphics/battle_anims/sprites/146.png differ diff --git a/graphics/battle_anims/sprites/147.png b/graphics/battle_anims/sprites/147.png new file mode 100644 index 0000000000..6dcc9cdffc Binary files /dev/null and b/graphics/battle_anims/sprites/147.png differ diff --git a/graphics/battle_anims/sprites/148.png b/graphics/battle_anims/sprites/148.png new file mode 100644 index 0000000000..ea5738321c Binary files /dev/null and b/graphics/battle_anims/sprites/148.png differ diff --git a/graphics/battle_anims/sprites/149.png b/graphics/battle_anims/sprites/149.png new file mode 100644 index 0000000000..8e52802d7b Binary files /dev/null and b/graphics/battle_anims/sprites/149.png differ diff --git a/graphics/battle_anims/sprites/150.png b/graphics/battle_anims/sprites/150.png new file mode 100644 index 0000000000..e6c55b5737 Binary files /dev/null and b/graphics/battle_anims/sprites/150.png differ diff --git a/graphics/battle_anims/sprites/151.png b/graphics/battle_anims/sprites/151.png new file mode 100644 index 0000000000..bf78192732 Binary files /dev/null and b/graphics/battle_anims/sprites/151.png differ diff --git a/graphics/battle_anims/sprites/152.png b/graphics/battle_anims/sprites/152.png new file mode 100644 index 0000000000..1b5e8e9049 Binary files /dev/null and b/graphics/battle_anims/sprites/152.png differ diff --git a/graphics/battle_anims/sprites/153.png b/graphics/battle_anims/sprites/153.png new file mode 100644 index 0000000000..d3dd12ae1f Binary files /dev/null and b/graphics/battle_anims/sprites/153.png differ diff --git a/graphics/battle_anims/sprites/154.png b/graphics/battle_anims/sprites/154.png new file mode 100644 index 0000000000..8b55a24a2a Binary files /dev/null and b/graphics/battle_anims/sprites/154.png differ diff --git a/graphics/battle_anims/sprites/155.png b/graphics/battle_anims/sprites/155.png new file mode 100644 index 0000000000..9547b39faf Binary files /dev/null and b/graphics/battle_anims/sprites/155.png differ diff --git a/graphics/battle_anims/sprites/156.png b/graphics/battle_anims/sprites/156.png new file mode 100644 index 0000000000..c0567df8c5 Binary files /dev/null and b/graphics/battle_anims/sprites/156.png differ diff --git a/graphics/battle_anims/sprites/157.png b/graphics/battle_anims/sprites/157.png new file mode 100644 index 0000000000..7fa6a0531d Binary files /dev/null and b/graphics/battle_anims/sprites/157.png differ diff --git a/graphics/battle_anims/sprites/158.png b/graphics/battle_anims/sprites/158.png new file mode 100644 index 0000000000..a91eaafdb2 Binary files /dev/null and b/graphics/battle_anims/sprites/158.png differ diff --git a/graphics/battle_anims/sprites/159.pal b/graphics/battle_anims/sprites/159.pal new file mode 100644 index 0000000000..81af310e13 --- /dev/null +++ b/graphics/battle_anims/sprites/159.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 148 139 +255 139 0 +255 156 8 +255 172 24 +255 197 41 +255 213 57 +255 230 74 +255 255 90 +255 255 255 +255 74 106 +255 115 148 +255 164 197 +255 205 238 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/159_0.png b/graphics/battle_anims/sprites/159_0.png new file mode 100644 index 0000000000..4e9831863b Binary files /dev/null and b/graphics/battle_anims/sprites/159_0.png differ diff --git a/graphics/battle_anims/sprites/159_1.png b/graphics/battle_anims/sprites/159_1.png new file mode 100644 index 0000000000..065ea50529 Binary files /dev/null and b/graphics/battle_anims/sprites/159_1.png differ diff --git a/graphics/battle_anims/sprites/160.png b/graphics/battle_anims/sprites/160.png new file mode 100644 index 0000000000..35459b66b0 Binary files /dev/null and b/graphics/battle_anims/sprites/160.png differ diff --git a/graphics/battle_anims/sprites/161.png b/graphics/battle_anims/sprites/161.png new file mode 100644 index 0000000000..5976b2b8c1 Binary files /dev/null and b/graphics/battle_anims/sprites/161.png differ diff --git a/graphics/battle_anims/sprites/162.png b/graphics/battle_anims/sprites/162.png new file mode 100644 index 0000000000..f1fac116be Binary files /dev/null and b/graphics/battle_anims/sprites/162.png differ diff --git a/graphics/battle_anims/sprites/163.png b/graphics/battle_anims/sprites/163.png new file mode 100644 index 0000000000..29c06f9b7d Binary files /dev/null and b/graphics/battle_anims/sprites/163.png differ diff --git a/graphics/battle_anims/sprites/164.pal b/graphics/battle_anims/sprites/164.pal new file mode 100644 index 0000000000..4fdffdcdbc --- /dev/null +++ b/graphics/battle_anims/sprites/164.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 148 139 +0 0 0 +156 24 255 +180 49 255 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/165.pal b/graphics/battle_anims/sprites/165.pal new file mode 100644 index 0000000000..0489807089 --- /dev/null +++ b/graphics/battle_anims/sprites/165.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 148 139 +0 0 0 +49 148 255 +0 230 255 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/166.png b/graphics/battle_anims/sprites/166.png new file mode 100644 index 0000000000..b5fefee243 Binary files /dev/null and b/graphics/battle_anims/sprites/166.png differ diff --git a/graphics/battle_anims/sprites/167.pal b/graphics/battle_anims/sprites/167.pal new file mode 100644 index 0000000000..5f4852f39e --- /dev/null +++ b/graphics/battle_anims/sprites/167.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 148 139 +98 90 255 +115 106 255 +139 131 255 +164 156 255 +180 180 255 +205 205 255 +230 230 255 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +164 156 255 +180 180 255 +205 205 255 diff --git a/graphics/battle_anims/sprites/168.pal b/graphics/battle_anims/sprites/168.pal new file mode 100644 index 0000000000..a99d113d2e --- /dev/null +++ b/graphics/battle_anims/sprites/168.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 148 139 +255 74 106 +255 98 123 +255 123 148 +255 148 164 +255 172 189 +255 197 205 +255 222 230 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 148 164 +255 172 189 +255 197 205 diff --git a/graphics/battle_anims/sprites/169.pal b/graphics/battle_anims/sprites/169.pal new file mode 100644 index 0000000000..6d037b09f5 --- /dev/null +++ b/graphics/battle_anims/sprites/169.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 148 139 +123 123 123 +139 139 139 +156 156 156 +172 172 172 +197 197 197 +213 213 213 +230 230 230 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +172 172 172 +197 197 197 +213 213 213 diff --git a/graphics/battle_anims/sprites/170.pal b/graphics/battle_anims/sprites/170.pal new file mode 100644 index 0000000000..63ff0a2392 --- /dev/null +++ b/graphics/battle_anims/sprites/170.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 148 139 +255 205 32 +255 205 57 +255 213 90 +255 222 123 +255 230 156 +255 238 189 +255 246 222 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 222 123 +255 230 156 +255 238 189 diff --git a/graphics/battle_anims/sprites/171.png b/graphics/battle_anims/sprites/171.png new file mode 100644 index 0000000000..7b60d74503 Binary files /dev/null and b/graphics/battle_anims/sprites/171.png differ diff --git a/graphics/battle_anims/sprites/172.pal b/graphics/battle_anims/sprites/172.pal new file mode 100644 index 0000000000..4b1755b0ce --- /dev/null +++ b/graphics/battle_anims/sprites/172.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 148 139 +98 90 255 +115 106 255 +139 131 255 +164 156 255 +180 180 255 +205 205 255 +230 230 255 +213 0 213 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +180 180 255 +205 205 255 +230 230 255 diff --git a/graphics/battle_anims/sprites/173.png b/graphics/battle_anims/sprites/173.png new file mode 100644 index 0000000000..d50982122f Binary files /dev/null and b/graphics/battle_anims/sprites/173.png differ diff --git a/graphics/battle_anims/sprites/174.png b/graphics/battle_anims/sprites/174.png new file mode 100644 index 0000000000..d8cf8dbe49 Binary files /dev/null and b/graphics/battle_anims/sprites/174.png differ diff --git a/graphics/battle_anims/sprites/175.png b/graphics/battle_anims/sprites/175.png new file mode 100644 index 0000000000..042ef87acf Binary files /dev/null and b/graphics/battle_anims/sprites/175.png differ diff --git a/graphics/battle_anims/sprites/176.png b/graphics/battle_anims/sprites/176.png new file mode 100644 index 0000000000..aaa3c2f96c Binary files /dev/null and b/graphics/battle_anims/sprites/176.png differ diff --git a/graphics/battle_anims/sprites/177.png b/graphics/battle_anims/sprites/177.png new file mode 100644 index 0000000000..ec1b2246bd Binary files /dev/null and b/graphics/battle_anims/sprites/177.png differ diff --git a/graphics/battle_anims/sprites/178.png b/graphics/battle_anims/sprites/178.png new file mode 100644 index 0000000000..c7b68d278a Binary files /dev/null and b/graphics/battle_anims/sprites/178.png differ diff --git a/graphics/battle_anims/sprites/179.png b/graphics/battle_anims/sprites/179.png new file mode 100644 index 0000000000..94f1024022 Binary files /dev/null and b/graphics/battle_anims/sprites/179.png differ diff --git a/graphics/battle_anims/sprites/180.png b/graphics/battle_anims/sprites/180.png new file mode 100644 index 0000000000..76eb7c9a8f Binary files /dev/null and b/graphics/battle_anims/sprites/180.png differ diff --git a/graphics/battle_anims/sprites/181.png b/graphics/battle_anims/sprites/181.png new file mode 100644 index 0000000000..ea561b9db1 Binary files /dev/null and b/graphics/battle_anims/sprites/181.png differ diff --git a/graphics/battle_anims/sprites/182.png b/graphics/battle_anims/sprites/182.png new file mode 100644 index 0000000000..e586f630b4 Binary files /dev/null and b/graphics/battle_anims/sprites/182.png differ diff --git a/graphics/battle_anims/sprites/183.png b/graphics/battle_anims/sprites/183.png new file mode 100644 index 0000000000..55b2044b83 Binary files /dev/null and b/graphics/battle_anims/sprites/183.png differ diff --git a/graphics/battle_anims/sprites/184.png b/graphics/battle_anims/sprites/184.png new file mode 100644 index 0000000000..99ba7e4750 Binary files /dev/null and b/graphics/battle_anims/sprites/184.png differ diff --git a/graphics/battle_anims/sprites/185.png b/graphics/battle_anims/sprites/185.png new file mode 100644 index 0000000000..f3a4305c58 Binary files /dev/null and b/graphics/battle_anims/sprites/185.png differ diff --git a/graphics/battle_anims/sprites/186.png b/graphics/battle_anims/sprites/186.png new file mode 100644 index 0000000000..8fbc31367f Binary files /dev/null and b/graphics/battle_anims/sprites/186.png differ diff --git a/graphics/battle_anims/sprites/187.png b/graphics/battle_anims/sprites/187.png new file mode 100644 index 0000000000..b0caeb98f3 Binary files /dev/null and b/graphics/battle_anims/sprites/187.png differ diff --git a/graphics/battle_anims/sprites/188.png b/graphics/battle_anims/sprites/188.png new file mode 100644 index 0000000000..3b0b6f402c Binary files /dev/null and b/graphics/battle_anims/sprites/188.png differ diff --git a/graphics/battle_anims/sprites/189.png b/graphics/battle_anims/sprites/189.png new file mode 100644 index 0000000000..67fdd45365 Binary files /dev/null and b/graphics/battle_anims/sprites/189.png differ diff --git a/graphics/battle_anims/sprites/190.png b/graphics/battle_anims/sprites/190.png new file mode 100644 index 0000000000..6fcb4826e1 Binary files /dev/null and b/graphics/battle_anims/sprites/190.png differ diff --git a/graphics/battle_anims/sprites/191.png b/graphics/battle_anims/sprites/191.png new file mode 100644 index 0000000000..e1442ff5c1 Binary files /dev/null and b/graphics/battle_anims/sprites/191.png differ diff --git a/graphics/battle_anims/sprites/192.png b/graphics/battle_anims/sprites/192.png new file mode 100644 index 0000000000..1f76354ab3 Binary files /dev/null and b/graphics/battle_anims/sprites/192.png differ diff --git a/graphics/battle_anims/sprites/193.png b/graphics/battle_anims/sprites/193.png new file mode 100644 index 0000000000..f3b6bd2c23 Binary files /dev/null and b/graphics/battle_anims/sprites/193.png differ diff --git a/graphics/battle_anims/sprites/194.png b/graphics/battle_anims/sprites/194.png new file mode 100644 index 0000000000..2280136581 Binary files /dev/null and b/graphics/battle_anims/sprites/194.png differ diff --git a/graphics/battle_anims/sprites/195.png b/graphics/battle_anims/sprites/195.png new file mode 100644 index 0000000000..9aefe398ee Binary files /dev/null and b/graphics/battle_anims/sprites/195.png differ diff --git a/graphics/battle_anims/sprites/196.png b/graphics/battle_anims/sprites/196.png new file mode 100644 index 0000000000..c3dee2e0a0 Binary files /dev/null and b/graphics/battle_anims/sprites/196.png differ diff --git a/graphics/battle_anims/sprites/197.png b/graphics/battle_anims/sprites/197.png new file mode 100644 index 0000000000..ac7ac50833 Binary files /dev/null and b/graphics/battle_anims/sprites/197.png differ diff --git a/graphics/battle_anims/sprites/198.png b/graphics/battle_anims/sprites/198.png new file mode 100644 index 0000000000..abe6132123 Binary files /dev/null and b/graphics/battle_anims/sprites/198.png differ diff --git a/graphics/battle_anims/sprites/199.png b/graphics/battle_anims/sprites/199.png new file mode 100644 index 0000000000..9468fddc92 Binary files /dev/null and b/graphics/battle_anims/sprites/199.png differ diff --git a/graphics/battle_anims/sprites/200.png b/graphics/battle_anims/sprites/200.png new file mode 100644 index 0000000000..b7b9d16e61 Binary files /dev/null and b/graphics/battle_anims/sprites/200.png differ diff --git a/graphics/battle_anims/sprites/201.png b/graphics/battle_anims/sprites/201.png new file mode 100644 index 0000000000..4b8cb700cc Binary files /dev/null and b/graphics/battle_anims/sprites/201.png differ diff --git a/graphics/battle_anims/sprites/202.png b/graphics/battle_anims/sprites/202.png new file mode 100644 index 0000000000..48af9a21ea Binary files /dev/null and b/graphics/battle_anims/sprites/202.png differ diff --git a/graphics/battle_anims/sprites/203.png b/graphics/battle_anims/sprites/203.png new file mode 100644 index 0000000000..f7a81679fe Binary files /dev/null and b/graphics/battle_anims/sprites/203.png differ diff --git a/graphics/battle_anims/sprites/204.png b/graphics/battle_anims/sprites/204.png new file mode 100644 index 0000000000..c36d57e10f Binary files /dev/null and b/graphics/battle_anims/sprites/204.png differ diff --git a/graphics/battle_anims/sprites/205.png b/graphics/battle_anims/sprites/205.png new file mode 100644 index 0000000000..8c558c4331 Binary files /dev/null and b/graphics/battle_anims/sprites/205.png differ diff --git a/graphics/battle_anims/sprites/206.pal b/graphics/battle_anims/sprites/206.pal new file mode 100644 index 0000000000..b90e8d645e --- /dev/null +++ b/graphics/battle_anims/sprites/206.pal @@ -0,0 +1,83 @@ +JASC-PAL +0100 +80 +0 0 0 +255 255 255 +255 189 189 +255 123 123 +255 57 57 +255 0 0 +213 0 0 +0 0 0 +197 148 197 +238 246 246 +238 222 180 +246 205 123 +246 189 57 +255 172 0 +213 148 0 +0 0 0 +0 0 0 +238 246 246 +238 246 180 +246 246 123 +246 246 57 +255 246 0 +213 205 0 +0 0 0 +197 148 197 +238 246 246 +189 246 180 +139 246 123 +90 246 57 +41 255 0 +41 213 0 +0 0 0 +0 0 0 +238 246 246 +172 238 230 +115 238 222 +57 230 205 +0 230 197 +0 189 156 +0 0 0 +197 148 197 +238 246 246 +172 205 246 +115 164 246 +57 123 246 +0 82 255 +0 57 205 +0 0 0 +0 0 0 +238 246 246 +222 180 246 +205 123 246 +189 57 246 +172 0 255 +148 0 205 +0 0 0 +197 148 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +238 246 246 +164 222 246 +98 197 246 +82 164 205 +65 139 172 +49 106 139 +0 0 0 +197 148 197 +255 255 255 +230 222 213 +205 189 180 +180 156 139 +164 131 106 +123 98 82 +0 0 0 diff --git a/graphics/battle_anims/sprites/206.png b/graphics/battle_anims/sprites/206.png new file mode 100644 index 0000000000..d3584f8553 Binary files /dev/null and b/graphics/battle_anims/sprites/206.png differ diff --git a/graphics/battle_anims/sprites/207.png b/graphics/battle_anims/sprites/207.png new file mode 100644 index 0000000000..0d3450c6ea Binary files /dev/null and b/graphics/battle_anims/sprites/207.png differ diff --git a/graphics/battle_anims/sprites/208.png b/graphics/battle_anims/sprites/208.png new file mode 100644 index 0000000000..61bac622e4 Binary files /dev/null and b/graphics/battle_anims/sprites/208.png differ diff --git a/graphics/battle_anims/sprites/209.png b/graphics/battle_anims/sprites/209.png new file mode 100644 index 0000000000..dea2a60bb2 Binary files /dev/null and b/graphics/battle_anims/sprites/209.png differ diff --git a/graphics/battle_anims/sprites/210.png b/graphics/battle_anims/sprites/210.png new file mode 100644 index 0000000000..5ebfa06842 Binary files /dev/null and b/graphics/battle_anims/sprites/210.png differ diff --git a/graphics/battle_anims/sprites/211.png b/graphics/battle_anims/sprites/211.png new file mode 100644 index 0000000000..28f5317e53 Binary files /dev/null and b/graphics/battle_anims/sprites/211.png differ diff --git a/graphics/battle_anims/sprites/212.png b/graphics/battle_anims/sprites/212.png new file mode 100644 index 0000000000..8a8c3a0ac9 Binary files /dev/null and b/graphics/battle_anims/sprites/212.png differ diff --git a/graphics/battle_anims/sprites/213.png b/graphics/battle_anims/sprites/213.png new file mode 100644 index 0000000000..90a622f640 Binary files /dev/null and b/graphics/battle_anims/sprites/213.png differ diff --git a/graphics/battle_anims/sprites/214.png b/graphics/battle_anims/sprites/214.png new file mode 100644 index 0000000000..9f6fc8d812 Binary files /dev/null and b/graphics/battle_anims/sprites/214.png differ diff --git a/graphics/battle_anims/sprites/215.png b/graphics/battle_anims/sprites/215.png new file mode 100644 index 0000000000..895ab4ec5c Binary files /dev/null and b/graphics/battle_anims/sprites/215.png differ diff --git a/graphics/battle_anims/sprites/216.pal b/graphics/battle_anims/sprites/216.pal new file mode 100644 index 0000000000..225cf9cf68 --- /dev/null +++ b/graphics/battle_anims/sprites/216.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 238 205 +255 189 164 +255 139 131 +255 90 90 +255 41 57 +213 41 57 +180 41 57 +139 41 57 +106 41 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/217.png b/graphics/battle_anims/sprites/217.png new file mode 100644 index 0000000000..3583670eb8 Binary files /dev/null and b/graphics/battle_anims/sprites/217.png differ diff --git a/graphics/battle_anims/sprites/218.png b/graphics/battle_anims/sprites/218.png new file mode 100644 index 0000000000..d22ff8ef92 Binary files /dev/null and b/graphics/battle_anims/sprites/218.png differ diff --git a/graphics/battle_anims/sprites/219.pal b/graphics/battle_anims/sprites/219.pal new file mode 100644 index 0000000000..27cf421cc0 --- /dev/null +++ b/graphics/battle_anims/sprites/219.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +255 180 255 +238 115 222 +230 57 189 +222 0 156 +189 8 131 +156 24 115 +123 32 90 +90 49 74 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/220.png b/graphics/battle_anims/sprites/220.png new file mode 100644 index 0000000000..900a9e428f Binary files /dev/null and b/graphics/battle_anims/sprites/220.png differ diff --git a/graphics/battle_anims/sprites/221.png b/graphics/battle_anims/sprites/221.png new file mode 100644 index 0000000000..f30ca79077 Binary files /dev/null and b/graphics/battle_anims/sprites/221.png differ diff --git a/graphics/battle_anims/sprites/222.png b/graphics/battle_anims/sprites/222.png new file mode 100644 index 0000000000..1205494d4d Binary files /dev/null and b/graphics/battle_anims/sprites/222.png differ diff --git a/graphics/battle_anims/sprites/223.png b/graphics/battle_anims/sprites/223.png new file mode 100644 index 0000000000..5f9dbf83e6 Binary files /dev/null and b/graphics/battle_anims/sprites/223.png differ diff --git a/graphics/battle_anims/sprites/224.png b/graphics/battle_anims/sprites/224.png new file mode 100644 index 0000000000..c6e8a1c634 Binary files /dev/null and b/graphics/battle_anims/sprites/224.png differ diff --git a/graphics/battle_anims/sprites/225.png b/graphics/battle_anims/sprites/225.png new file mode 100644 index 0000000000..c4efbf2de6 Binary files /dev/null and b/graphics/battle_anims/sprites/225.png differ diff --git a/graphics/battle_anims/sprites/226.png b/graphics/battle_anims/sprites/226.png new file mode 100644 index 0000000000..a8b2e817a2 Binary files /dev/null and b/graphics/battle_anims/sprites/226.png differ diff --git a/graphics/battle_anims/sprites/227.png b/graphics/battle_anims/sprites/227.png new file mode 100644 index 0000000000..baa51d1061 Binary files /dev/null and b/graphics/battle_anims/sprites/227.png differ diff --git a/graphics/battle_anims/sprites/228.png b/graphics/battle_anims/sprites/228.png new file mode 100644 index 0000000000..e569fea340 Binary files /dev/null and b/graphics/battle_anims/sprites/228.png differ diff --git a/graphics/battle_anims/sprites/229.png b/graphics/battle_anims/sprites/229.png new file mode 100644 index 0000000000..be1e038da6 Binary files /dev/null and b/graphics/battle_anims/sprites/229.png differ diff --git a/graphics/battle_anims/sprites/230.png b/graphics/battle_anims/sprites/230.png new file mode 100644 index 0000000000..9157118fd3 Binary files /dev/null and b/graphics/battle_anims/sprites/230.png differ diff --git a/graphics/battle_anims/sprites/231.png b/graphics/battle_anims/sprites/231.png new file mode 100644 index 0000000000..7b3474bb97 Binary files /dev/null and b/graphics/battle_anims/sprites/231.png differ diff --git a/graphics/battle_anims/sprites/232.png b/graphics/battle_anims/sprites/232.png new file mode 100644 index 0000000000..ebdf118e10 Binary files /dev/null and b/graphics/battle_anims/sprites/232.png differ diff --git a/graphics/battle_anims/sprites/233.png b/graphics/battle_anims/sprites/233.png new file mode 100644 index 0000000000..e71e97edab Binary files /dev/null and b/graphics/battle_anims/sprites/233.png differ diff --git a/graphics/battle_anims/sprites/234.png b/graphics/battle_anims/sprites/234.png new file mode 100644 index 0000000000..e5efece206 Binary files /dev/null and b/graphics/battle_anims/sprites/234.png differ diff --git a/graphics/battle_anims/sprites/235.png b/graphics/battle_anims/sprites/235.png new file mode 100644 index 0000000000..1bbd9c0279 Binary files /dev/null and b/graphics/battle_anims/sprites/235.png differ diff --git a/graphics/battle_anims/sprites/236.pal b/graphics/battle_anims/sprites/236.pal new file mode 100644 index 0000000000..0b587a87c1 --- /dev/null +++ b/graphics/battle_anims/sprites/236.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +139 222 255 +65 148 255 +0 74 255 +0 57 205 +0 49 156 +0 41 106 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/237.pal b/graphics/battle_anims/sprites/237.pal new file mode 100644 index 0000000000..3eddc56129 --- /dev/null +++ b/graphics/battle_anims/sprites/237.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 172 74 +255 90 41 +255 8 8 +213 8 8 +172 8 8 +139 8 8 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/238.png b/graphics/battle_anims/sprites/238.png new file mode 100644 index 0000000000..1c9565881b Binary files /dev/null and b/graphics/battle_anims/sprites/238.png differ diff --git a/graphics/battle_anims/sprites/239.png b/graphics/battle_anims/sprites/239.png new file mode 100644 index 0000000000..b2c2d72cee Binary files /dev/null and b/graphics/battle_anims/sprites/239.png differ diff --git a/graphics/battle_anims/sprites/240.png b/graphics/battle_anims/sprites/240.png new file mode 100644 index 0000000000..783dd40f91 Binary files /dev/null and b/graphics/battle_anims/sprites/240.png differ diff --git a/graphics/battle_anims/sprites/241.png b/graphics/battle_anims/sprites/241.png new file mode 100644 index 0000000000..21218ceb6d Binary files /dev/null and b/graphics/battle_anims/sprites/241.png differ diff --git a/graphics/battle_anims/sprites/242.png b/graphics/battle_anims/sprites/242.png new file mode 100644 index 0000000000..414225c8f6 Binary files /dev/null and b/graphics/battle_anims/sprites/242.png differ diff --git a/graphics/battle_anims/sprites/243.png b/graphics/battle_anims/sprites/243.png new file mode 100644 index 0000000000..15cffcc857 Binary files /dev/null and b/graphics/battle_anims/sprites/243.png differ diff --git a/graphics/battle_anims/sprites/244.png b/graphics/battle_anims/sprites/244.png new file mode 100644 index 0000000000..09e0c0d686 Binary files /dev/null and b/graphics/battle_anims/sprites/244.png differ diff --git a/graphics/battle_anims/sprites/245.png b/graphics/battle_anims/sprites/245.png new file mode 100644 index 0000000000..39618d3946 Binary files /dev/null and b/graphics/battle_anims/sprites/245.png differ diff --git a/graphics/battle_anims/sprites/246.png b/graphics/battle_anims/sprites/246.png new file mode 100644 index 0000000000..d1835b10b3 Binary files /dev/null and b/graphics/battle_anims/sprites/246.png differ diff --git a/graphics/battle_anims/sprites/247.png b/graphics/battle_anims/sprites/247.png new file mode 100644 index 0000000000..858d4640db Binary files /dev/null and b/graphics/battle_anims/sprites/247.png differ diff --git a/graphics/battle_anims/sprites/248.png b/graphics/battle_anims/sprites/248.png new file mode 100644 index 0000000000..5a3fb393fc Binary files /dev/null and b/graphics/battle_anims/sprites/248.png differ diff --git a/graphics/battle_anims/sprites/249.png b/graphics/battle_anims/sprites/249.png new file mode 100644 index 0000000000..33d6511ffd Binary files /dev/null and b/graphics/battle_anims/sprites/249.png differ diff --git a/graphics/battle_anims/sprites/250.png b/graphics/battle_anims/sprites/250.png new file mode 100644 index 0000000000..4088e33289 Binary files /dev/null and b/graphics/battle_anims/sprites/250.png differ diff --git a/graphics/battle_anims/sprites/251.png b/graphics/battle_anims/sprites/251.png new file mode 100644 index 0000000000..ad16940d94 Binary files /dev/null and b/graphics/battle_anims/sprites/251.png differ diff --git a/graphics/battle_anims/sprites/252.png b/graphics/battle_anims/sprites/252.png new file mode 100644 index 0000000000..2ed8eee4aa Binary files /dev/null and b/graphics/battle_anims/sprites/252.png differ diff --git a/graphics/battle_anims/sprites/253.png b/graphics/battle_anims/sprites/253.png new file mode 100644 index 0000000000..22f08ddefe Binary files /dev/null and b/graphics/battle_anims/sprites/253.png differ diff --git a/graphics/battle_anims/sprites/254.png b/graphics/battle_anims/sprites/254.png new file mode 100644 index 0000000000..1aa77e17ff Binary files /dev/null and b/graphics/battle_anims/sprites/254.png differ diff --git a/graphics/battle_anims/sprites/255.png b/graphics/battle_anims/sprites/255.png new file mode 100644 index 0000000000..f5f8c9e8ba Binary files /dev/null and b/graphics/battle_anims/sprites/255.png differ diff --git a/graphics/battle_anims/sprites/256.png b/graphics/battle_anims/sprites/256.png new file mode 100644 index 0000000000..7043d824bd Binary files /dev/null and b/graphics/battle_anims/sprites/256.png differ diff --git a/graphics/battle_anims/sprites/257.png b/graphics/battle_anims/sprites/257.png new file mode 100644 index 0000000000..d3fba6c4ff Binary files /dev/null and b/graphics/battle_anims/sprites/257.png differ diff --git a/graphics/battle_anims/sprites/258.png b/graphics/battle_anims/sprites/258.png new file mode 100644 index 0000000000..bf50cc099a Binary files /dev/null and b/graphics/battle_anims/sprites/258.png differ diff --git a/graphics/battle_anims/sprites/259.pal b/graphics/battle_anims/sprites/259.pal new file mode 100644 index 0000000000..ead25c0c6c --- /dev/null +++ b/graphics/battle_anims/sprites/259.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +131 49 0 +148 74 32 +164 106 65 +180 131 106 +197 164 139 +213 189 180 +230 222 213 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/260.png b/graphics/battle_anims/sprites/260.png new file mode 100644 index 0000000000..c7883c900b Binary files /dev/null and b/graphics/battle_anims/sprites/260.png differ diff --git a/graphics/battle_anims/sprites/261.png b/graphics/battle_anims/sprites/261.png new file mode 100644 index 0000000000..12f0b17443 Binary files /dev/null and b/graphics/battle_anims/sprites/261.png differ diff --git a/graphics/battle_anims/sprites/262.png b/graphics/battle_anims/sprites/262.png new file mode 100644 index 0000000000..857558fd22 Binary files /dev/null and b/graphics/battle_anims/sprites/262.png differ diff --git a/graphics/battle_anims/sprites/263.png b/graphics/battle_anims/sprites/263.png new file mode 100644 index 0000000000..53148056cd Binary files /dev/null and b/graphics/battle_anims/sprites/263.png differ diff --git a/graphics/battle_anims/sprites/264.png b/graphics/battle_anims/sprites/264.png new file mode 100644 index 0000000000..a590d96a52 Binary files /dev/null and b/graphics/battle_anims/sprites/264.png differ diff --git a/graphics/battle_anims/sprites/265.pal b/graphics/battle_anims/sprites/265.pal new file mode 100644 index 0000000000..34914d2578 --- /dev/null +++ b/graphics/battle_anims/sprites/265.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +205 246 197 +106 246 98 +8 246 0 +8 172 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/266.png b/graphics/battle_anims/sprites/266.png new file mode 100644 index 0000000000..c53e8059cc Binary files /dev/null and b/graphics/battle_anims/sprites/266.png differ diff --git a/graphics/battle_anims/sprites/267.pal b/graphics/battle_anims/sprites/267.pal new file mode 100644 index 0000000000..1973e6f452 --- /dev/null +++ b/graphics/battle_anims/sprites/267.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +246 255 246 +222 238 230 +197 230 213 +172 213 197 +156 205 189 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/268.pal b/graphics/battle_anims/sprites/268.pal new file mode 100644 index 0000000000..d40d72f690 --- /dev/null +++ b/graphics/battle_anims/sprites/268.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +197 246 246 +148 180 246 +98 123 246 +49 65 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/269.png b/graphics/battle_anims/sprites/269.png new file mode 100644 index 0000000000..d699f4c48e Binary files /dev/null and b/graphics/battle_anims/sprites/269.png differ diff --git a/graphics/battle_anims/sprites/270.png b/graphics/battle_anims/sprites/270.png new file mode 100644 index 0000000000..1581ad1eab Binary files /dev/null and b/graphics/battle_anims/sprites/270.png differ diff --git a/graphics/battle_anims/sprites/271.png b/graphics/battle_anims/sprites/271.png new file mode 100644 index 0000000000..d77ca06827 Binary files /dev/null and b/graphics/battle_anims/sprites/271.png differ diff --git a/graphics/battle_anims/sprites/272.png b/graphics/battle_anims/sprites/272.png new file mode 100644 index 0000000000..0acaa474da Binary files /dev/null and b/graphics/battle_anims/sprites/272.png differ diff --git a/graphics/battle_anims/sprites/273.png b/graphics/battle_anims/sprites/273.png new file mode 100644 index 0000000000..6398df8c0e Binary files /dev/null and b/graphics/battle_anims/sprites/273.png differ diff --git a/graphics/battle_anims/sprites/274.png b/graphics/battle_anims/sprites/274.png new file mode 100644 index 0000000000..e284c57a68 Binary files /dev/null and b/graphics/battle_anims/sprites/274.png differ diff --git a/graphics/battle_anims/sprites/275.png b/graphics/battle_anims/sprites/275.png new file mode 100644 index 0000000000..b1b7b6644e Binary files /dev/null and b/graphics/battle_anims/sprites/275.png differ diff --git a/graphics/battle_anims/sprites/276.png b/graphics/battle_anims/sprites/276.png new file mode 100644 index 0000000000..21d51a22b9 Binary files /dev/null and b/graphics/battle_anims/sprites/276.png differ diff --git a/graphics/battle_anims/sprites/277.png b/graphics/battle_anims/sprites/277.png new file mode 100644 index 0000000000..7745fc28cf Binary files /dev/null and b/graphics/battle_anims/sprites/277.png differ diff --git a/graphics/battle_anims/sprites/278.png b/graphics/battle_anims/sprites/278.png new file mode 100644 index 0000000000..7281bfdbda Binary files /dev/null and b/graphics/battle_anims/sprites/278.png differ diff --git a/graphics/battle_anims/sprites/279.png b/graphics/battle_anims/sprites/279.png new file mode 100644 index 0000000000..46933b76ef Binary files /dev/null and b/graphics/battle_anims/sprites/279.png differ diff --git a/graphics/battle_anims/sprites/280.png b/graphics/battle_anims/sprites/280.png new file mode 100644 index 0000000000..ce7f086fd2 Binary files /dev/null and b/graphics/battle_anims/sprites/280.png differ diff --git a/graphics/battle_anims/sprites/281.png b/graphics/battle_anims/sprites/281.png new file mode 100644 index 0000000000..e3cc134929 Binary files /dev/null and b/graphics/battle_anims/sprites/281.png differ diff --git a/graphics/battle_anims/sprites/282.png b/graphics/battle_anims/sprites/282.png new file mode 100644 index 0000000000..d89aab1ade Binary files /dev/null and b/graphics/battle_anims/sprites/282.png differ diff --git a/graphics/battle_anims/sprites/283.png b/graphics/battle_anims/sprites/283.png new file mode 100644 index 0000000000..03853aef6e Binary files /dev/null and b/graphics/battle_anims/sprites/283.png differ diff --git a/graphics/battle_anims/sprites/284.png b/graphics/battle_anims/sprites/284.png new file mode 100644 index 0000000000..67c1bcd0ad Binary files /dev/null and b/graphics/battle_anims/sprites/284.png differ diff --git a/graphics/battle_anims/sprites/285.png b/graphics/battle_anims/sprites/285.png new file mode 100644 index 0000000000..eb54111b2e Binary files /dev/null and b/graphics/battle_anims/sprites/285.png differ diff --git a/graphics/battle_anims/sprites/286.pal b/graphics/battle_anims/sprites/286.pal new file mode 100644 index 0000000000..a2703b853e --- /dev/null +++ b/graphics/battle_anims/sprites/286.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +230 238 255 +205 230 255 +180 222 255 +156 205 255 +131 197 255 +106 189 255 +90 164 230 +82 148 213 +74 123 189 +65 106 172 +57 90 156 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/287.pal b/graphics/battle_anims/sprites/287.pal new file mode 100644 index 0000000000..631948567f --- /dev/null +++ b/graphics/battle_anims/sprites/287.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 197 197 +255 255 255 +222 246 230 +189 246 205 +156 246 180 +123 238 156 +90 238 131 +57 238 115 +57 238 115 +65 205 90 +74 180 74 +82 148 57 +90 123 41 +106 98 24 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/288.pal b/graphics/battle_anims/sprites/288.pal new file mode 100644 index 0000000000..f8ea0ca546 --- /dev/null +++ b/graphics/battle_anims/sprites/288.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +164 148 139 +0 0 0 +255 255 255 +230 255 230 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/effect.pal b/graphics/battle_anims/sprites/effect.pal new file mode 100644 index 0000000000..3dcf4cff6d --- /dev/null +++ b/graphics/battle_anims/sprites/effect.pal @@ -0,0 +1,27 @@ +JASC-PAL +0100 +24 +230 205 8 +230 172 41 +222 148 65 +222 115 90 +213 82 123 +213 57 148 +205 24 172 +205 0 205 +205 0 189 +205 0 164 +205 0 131 +205 0 106 +213 0 82 +213 0 49 +213 0 24 +222 0 0 +222 8 0 +222 41 0 +222 74 0 +222 98 0 +230 131 0 +230 156 0 +230 189 0 +238 222 0 diff --git a/graphics/battle_anims/sprites/particles.png b/graphics/battle_anims/sprites/particles.png new file mode 100644 index 0000000000..7edcd54ed5 Binary files /dev/null and b/graphics/battle_anims/sprites/particles.png differ diff --git a/graphics/battle_anims/sprites/smokescreen_impact.png b/graphics/battle_anims/sprites/smokescreen_impact.png new file mode 100644 index 0000000000..01a94429ac Binary files /dev/null and b/graphics/battle_anims/sprites/smokescreen_impact.png differ diff --git a/graphics/battle_anims/sprites/substitute.bin b/graphics/battle_anims/sprites/substitute.bin new file mode 100644 index 0000000000..d30c07d4ef Binary files /dev/null and b/graphics/battle_anims/sprites/substitute.bin differ diff --git a/graphics/battle_anims/sprites/substitute.png b/graphics/battle_anims/sprites/substitute.png new file mode 100644 index 0000000000..0b6dea8500 Binary files /dev/null and b/graphics/battle_anims/sprites/substitute.png differ diff --git a/graphics/battle_frontier/battle_tilemap1.bin b/graphics/battle_frontier/battle_tilemap1.bin new file mode 100644 index 0000000000..c38b76d4a2 Binary files /dev/null and b/graphics/battle_frontier/battle_tilemap1.bin differ diff --git a/graphics/battle_frontier/battle_tilemap2.bin b/graphics/battle_frontier/battle_tilemap2.bin new file mode 100644 index 0000000000..7cc984cffd Binary files /dev/null and b/graphics/battle_frontier/battle_tilemap2.bin differ diff --git a/graphics/battle_frontier/dome_anim1.pal b/graphics/battle_frontier/dome_anim1.pal new file mode 100644 index 0000000000..f25d4150e4 --- /dev/null +++ b/graphics/battle_frontier/dome_anim1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 148 8 +82 82 106 +115 115 131 +156 156 164 +189 189 197 +255 255 255 +115 131 98 +90 82 82 +205 222 197 +82 131 156 +115 164 197 +164 205 222 +131 106 82 +255 123 32 +156 139 106 +255 222 131 diff --git a/graphics/battle_frontier/dome_anim2.pal b/graphics/battle_frontier/dome_anim2.pal new file mode 100644 index 0000000000..32a85e03c5 --- /dev/null +++ b/graphics/battle_frontier/dome_anim2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 148 8 +82 82 106 +115 115 131 +156 156 164 +189 189 197 +255 255 255 +115 131 98 +90 82 82 +205 222 197 +82 131 156 +115 164 197 +164 205 222 +131 106 82 +255 156 65 +156 139 106 +255 189 98 diff --git a/graphics/battle_frontier/dome_anim3.pal b/graphics/battle_frontier/dome_anim3.pal new file mode 100644 index 0000000000..214dadb488 --- /dev/null +++ b/graphics/battle_frontier/dome_anim3.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 148 8 +82 82 106 +115 115 131 +156 156 164 +189 189 197 +255 255 255 +115 131 98 +90 82 82 +205 222 197 +82 131 156 +115 164 197 +164 205 222 +131 106 82 +255 189 98 +156 139 106 +255 156 65 diff --git a/graphics/battle_frontier/dome_anim4.pal b/graphics/battle_frontier/dome_anim4.pal new file mode 100644 index 0000000000..c96254979d --- /dev/null +++ b/graphics/battle_frontier/dome_anim4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 148 8 +82 82 106 +115 115 131 +156 156 164 +189 189 197 +255 255 255 +115 131 98 +90 82 82 +205 222 197 +82 131 156 +115 164 197 +164 205 222 +131 106 82 +255 222 131 +156 139 106 +255 123 32 diff --git a/graphics/battle_frontier/factory_menu.bin b/graphics/battle_frontier/factory_menu.bin new file mode 100644 index 0000000000..767257ac27 Binary files /dev/null and b/graphics/battle_frontier/factory_menu.bin differ diff --git a/graphics/battle_frontier/factory_menu1.png b/graphics/battle_frontier/factory_menu1.png new file mode 100644 index 0000000000..52f073ff30 Binary files /dev/null and b/graphics/battle_frontier/factory_menu1.png differ diff --git a/graphics/battle_frontier/factory_menu2.png b/graphics/battle_frontier/factory_menu2.png new file mode 100644 index 0000000000..0d103927e4 Binary files /dev/null and b/graphics/battle_frontier/factory_menu2.png differ diff --git a/graphics/battle_frontier/misc1.png b/graphics/battle_frontier/misc1.png new file mode 100644 index 0000000000..a3c225c89d Binary files /dev/null and b/graphics/battle_frontier/misc1.png differ diff --git a/graphics/battle_frontier/options.png b/graphics/battle_frontier/options.png new file mode 100644 index 0000000000..0d8cec998d Binary files /dev/null and b/graphics/battle_frontier/options.png differ diff --git a/graphics/battle_frontier/options_pal1.pal b/graphics/battle_frontier/options_pal1.pal new file mode 100644 index 0000000000..eec4c7d71a --- /dev/null +++ b/graphics/battle_frontier/options_pal1.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 0 +255 172 65 +255 255 131 +222 213 180 +255 255 255 +230 222 222 +197 197 197 +213 57 49 +230 230 213 +255 246 205 +255 82 49 +164 24 0 +0 0 0 +106 106 106 +0 0 0 +0 0 0 +0 0 0 +90 172 131 +106 156 123 +123 222 139 +246 255 255 +0 0 0 +246 255 246 +0 0 0 +0 0 0 +0 0 0 +230 238 246 +222 255 238 +189 238 197 +123 123 123 +115 197 156 +0 0 0 +0 0 0 +197 205 230 +32 115 139 +255 255 255 +222 238 222 +0 0 0 +131 197 139 +0 0 0 +139 156 197 +115 139 189 +0 90 82 +106 164 139 +57 115 90 +189 222 197 +0 0 0 +0 0 0 +0 0 0 +205 205 246 +230 238 230 +213 213 255 +156 156 222 +238 238 255 +189 189 238 +230 230 255 +222 222 255 +197 197 246 +189 189 238 +180 180 230 +172 172 230 +164 164 222 +156 156 222 +0 0 0 +0 0 0 +131 148 180 +213 230 246 +189 189 222 +90 98 115 +230 238 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +197 238 222 +255 205 205 +205 222 255 +222 255 255 +246 230 164 +0 0 0 +189 246 180 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +0 0 0 +0 255 0 +164 180 180 +255 74 0 +246 255 246 +246 255 255 +0 0 0 +246 255 246 +0 0 0 +0 0 0 +0 0 0 +230 238 246 +0 0 0 +189 238 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 213 106 +255 74 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +246 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_frontier/options_pal2.pal b/graphics/battle_frontier/options_pal2.pal new file mode 100644 index 0000000000..4a7c1f786e --- /dev/null +++ b/graphics/battle_frontier/options_pal2.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +230 230 213 +246 246 246 +0 0 0 +255 74 74 +197 197 197 +106 123 123 +0 0 0 +0 0 0 +189 189 197 +0 0 0 +0 0 0 +238 238 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +230 230 213 +180 246 205 +131 197 172 +0 0 0 +246 246 246 +82 123 74 +148 213 189 +222 246 222 +90 156 131 +115 180 156 +255 123 98 +189 65 41 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +230 230 213 +230 172 90 +123 82 57 +255 213 156 +0 0 0 +189 131 49 +197 197 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +131 131 131 +131 131 131 +131 131 131 +131 131 131 +131 131 131 +131 131 131 +131 131 131 +131 131 131 +131 131 131 +131 131 131 +131 131 131 +131 131 131 +131 131 131 +131 131 131 +131 131 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_frontier/options_pal3.pal b/graphics/battle_frontier/options_pal3.pal new file mode 100644 index 0000000000..912d5e9ec5 --- /dev/null +++ b/graphics/battle_frontier/options_pal3.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +246 230 189 +0 0 0 +246 230 180 +255 255 230 +0 0 0 +0 0 0 +246 230 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +0 0 0 diff --git a/graphics/battle_frontier/pyramid_light.pal b/graphics/battle_frontier/pyramid_light.pal new file mode 100644 index 0000000000..d2492ce34d --- /dev/null +++ b/graphics/battle_frontier/pyramid_light.pal @@ -0,0 +1,115 @@ +JASC-PAL +0100 +112 +57 0 8 +82 82 106 +82 238 246 +41 156 246 +0 74 255 +49 49 98 +90 82 123 +106 98 139 +123 123 156 +139 148 172 +164 172 197 +255 156 0 +156 115 57 +65 82 115 +255 8 0 +255 230 0 +57 0 8 +82 82 106 +82 238 246 +41 156 246 +0 74 255 +57 57 98 +90 82 123 +115 106 131 +139 131 139 +180 172 148 +189 189 189 +255 156 0 +156 115 57 +65 82 115 +255 8 0 +255 230 0 +57 0 8 +82 82 106 +82 238 246 +41 156 246 +0 74 255 +65 65 106 +90 82 123 +123 115 123 +164 148 131 +222 205 131 +222 205 180 +255 156 0 +156 115 57 +65 82 115 +255 8 0 +255 230 0 +57 0 8 +82 82 106 +82 238 246 +41 156 246 +0 74 255 +74 82 115 +90 82 123 +139 123 123 +189 172 123 +246 222 123 +255 230 172 +255 156 0 +156 115 57 +65 82 115 +255 8 0 +255 230 0 +57 0 8 +82 82 106 +82 238 246 +41 156 246 +0 74 255 +82 90 123 +106 98 139 +156 148 139 +189 172 131 +246 230 139 +255 238 197 +255 156 0 +156 115 57 +65 82 115 +255 8 0 +255 230 0 +57 0 8 +82 82 106 +82 238 246 +41 156 246 +0 74 255 +90 98 131 +131 123 156 +180 172 156 +205 189 148 +246 238 172 +255 246 222 +255 156 0 +156 115 57 +65 82 115 +255 8 0 +255 230 0 +57 0 8 +82 82 106 +82 238 246 +41 156 246 +0 74 255 +106 115 139 +156 148 172 +205 197 172 +230 213 172 +255 246 205 +255 255 246 +255 156 0 +148 123 65 +65 82 115 +255 8 0 +255 230 0 diff --git a/graphics/battle_frontier/symbols.png b/graphics/battle_frontier/symbols.png new file mode 100644 index 0000000000..8e4c01e97b Binary files /dev/null and b/graphics/battle_frontier/symbols.png differ diff --git a/graphics/battle_frontier/text.pal b/graphics/battle_frontier/text.pal new file mode 100644 index 0000000000..574999b725 --- /dev/null +++ b/graphics/battle_frontier/text.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 0 0 +131 0 0 +255 164 98 +131 82 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +131 131 131 +74 74 74 +74 74 74 +255 255 255 +213 213 205 diff --git a/graphics/battle_frontier/text_pp.pal b/graphics/battle_frontier/text_pp.pal new file mode 100644 index 0000000000..8c2a274188 --- /dev/null +++ b/graphics/battle_frontier/text_pp.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 197 0 +255 246 139 +255 131 0 +255 238 115 +230 24 0 +246 222 156 +74 74 74 +222 222 222 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_frontier/tourney_bg.png b/graphics/battle_frontier/tourney_bg.png new file mode 100644 index 0000000000..f60dd49d36 Binary files /dev/null and b/graphics/battle_frontier/tourney_bg.png differ diff --git a/graphics/battle_frontier/tourney_line.png b/graphics/battle_frontier/tourney_line.png new file mode 100644 index 0000000000..f543dd18eb Binary files /dev/null and b/graphics/battle_frontier/tourney_line.png differ diff --git a/graphics/battle_interface/ball_display.pal b/graphics/battle_interface/ball_display.pal deleted file mode 100644 index ea646bb82f..0000000000 --- a/graphics/battle_interface/ball_display.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -57 57 57 -255 255 255 -213 205 189 -131 131 139 -74 65 90 -82 106 90 -255 180 123 -246 148 115 -222 106 90 -115 255 172 -90 213 131 -255 230 57 -205 172 8 -255 90 57 -172 65 74 diff --git a/graphics/battle_interface/ball_display_unused_extra.png b/graphics/battle_interface/ball_display_unused_extra.png new file mode 100644 index 0000000000..4eb765d280 Binary files /dev/null and b/graphics/battle_interface/ball_display_unused_extra.png differ diff --git a/graphics/battle_interface/ball_status_bar.pal b/graphics/battle_interface/ball_status_bar.pal deleted file mode 100644 index bc8e8f2bc1..0000000000 --- a/graphics/battle_interface/ball_status_bar.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -65 65 65 -255 255 222 -222 213 180 -197 189 115 -123 148 131 -82 106 98 -32 57 0 -57 82 65 -255 230 0 -255 156 148 -65 205 255 -0 0 255 -0 255 0 -255 0 0 -106 148 255 diff --git a/graphics/battle_interface/enemy_mon_shadow.png b/graphics/battle_interface/enemy_mon_shadow.png new file mode 100644 index 0000000000..3db333a925 Binary files /dev/null and b/graphics/battle_interface/enemy_mon_shadow.png differ diff --git a/graphics/battle_interface/expbar.png b/graphics/battle_interface/expbar.png new file mode 100644 index 0000000000..b54dbe6008 Binary files /dev/null and b/graphics/battle_interface/expbar.png differ diff --git a/graphics/battle_interface/hpbar.png b/graphics/battle_interface/hpbar.png new file mode 100644 index 0000000000..f3a0314e49 Binary files /dev/null and b/graphics/battle_interface/hpbar.png differ diff --git a/graphics/battle_interface/hpbar_anim.png b/graphics/battle_interface/hpbar_anim.png new file mode 100644 index 0000000000..9e7564234e Binary files /dev/null and b/graphics/battle_interface/hpbar_anim.png differ diff --git a/graphics/battle_interface/misc.png b/graphics/battle_interface/misc.png new file mode 100644 index 0000000000..9d39df975e Binary files /dev/null and b/graphics/battle_interface/misc.png differ diff --git a/graphics/battle_interface/misc_frameend.png b/graphics/battle_interface/misc_frameend.png new file mode 100644 index 0000000000..630f44242f Binary files /dev/null and b/graphics/battle_interface/misc_frameend.png differ diff --git a/graphics/battle_interface/status2.png b/graphics/battle_interface/status2.png new file mode 100644 index 0000000000..a412e160e5 Binary files /dev/null and b/graphics/battle_interface/status2.png differ diff --git a/graphics/battle_interface/status3.png b/graphics/battle_interface/status3.png new file mode 100644 index 0000000000..8a0db03219 Binary files /dev/null and b/graphics/battle_interface/status3.png differ diff --git a/graphics/battle_interface/status4.png b/graphics/battle_interface/status4.png new file mode 100644 index 0000000000..e267940be7 Binary files /dev/null and b/graphics/battle_interface/status4.png differ diff --git a/graphics/battle_interface/status_brn.png b/graphics/battle_interface/status_brn.png new file mode 100644 index 0000000000..8f13fe6de2 Binary files /dev/null and b/graphics/battle_interface/status_brn.png differ diff --git a/graphics/battle_interface/status_frz.png b/graphics/battle_interface/status_frz.png new file mode 100644 index 0000000000..ce10db3e4e Binary files /dev/null and b/graphics/battle_interface/status_frz.png differ diff --git a/graphics/battle_interface/status_par.png b/graphics/battle_interface/status_par.png new file mode 100644 index 0000000000..904b13242f Binary files /dev/null and b/graphics/battle_interface/status_par.png differ diff --git a/graphics/battle_interface/status_psn.png b/graphics/battle_interface/status_psn.png new file mode 100644 index 0000000000..700e7038a1 Binary files /dev/null and b/graphics/battle_interface/status_psn.png differ diff --git a/graphics/battle_interface/status_slp.png b/graphics/battle_interface/status_slp.png new file mode 100644 index 0000000000..bcbd16d1db Binary files /dev/null and b/graphics/battle_interface/status_slp.png differ diff --git a/graphics/battle_interface/unk_battlebox.pal b/graphics/battle_interface/unk_battlebox.pal deleted file mode 100644 index 862165f3fb..0000000000 --- a/graphics/battle_interface/unk_battlebox.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -255 255 255 -106 90 115 -0 0 0 -213 230 255 -189 205 238 -238 238 255 -106 172 197 -90 139 180 -123 197 205 -0 0 0 -0 0 0 -123 197 255 -0 0 139 -255 131 131 -164 0 0 diff --git a/graphics/battle_interface/unused_window.png b/graphics/battle_interface/unused_window.png new file mode 100644 index 0000000000..73086d4d2c Binary files /dev/null and b/graphics/battle_interface/unused_window.png differ diff --git a/graphics/battle_interface/unused_window2.png b/graphics/battle_interface/unused_window2.png new file mode 100644 index 0000000000..32f3da0b02 Binary files /dev/null and b/graphics/battle_interface/unused_window2.png differ diff --git a/graphics/battle_interface/unused_window2bar.png b/graphics/battle_interface/unused_window2bar.png new file mode 100644 index 0000000000..e3a2974e88 Binary files /dev/null and b/graphics/battle_interface/unused_window2bar.png differ diff --git a/graphics/battle_interface/unused_window3.png b/graphics/battle_interface/unused_window3.png new file mode 100644 index 0000000000..e93b2ff889 Binary files /dev/null and b/graphics/battle_interface/unused_window3.png differ diff --git a/graphics/battle_interface/unused_window4.png b/graphics/battle_interface/unused_window4.png new file mode 100644 index 0000000000..6c249c96df Binary files /dev/null and b/graphics/battle_interface/unused_window4.png differ diff --git a/graphics/battle_interface/window.png b/graphics/battle_interface/window.png new file mode 100644 index 0000000000..0862ca399d Binary files /dev/null and b/graphics/battle_interface/window.png differ diff --git a/graphics/battle_interface/window2.png b/graphics/battle_interface/window2.png new file mode 100644 index 0000000000..52f70e8580 Binary files /dev/null and b/graphics/battle_interface/window2.png differ diff --git a/graphics/battle_interface/window3.png b/graphics/battle_interface/window3.png new file mode 100644 index 0000000000..f843c664b1 Binary files /dev/null and b/graphics/battle_interface/window3.png differ diff --git a/graphics/battle_interface/window4.png b/graphics/battle_interface/window4.png new file mode 100644 index 0000000000..def9d07af0 Binary files /dev/null and b/graphics/battle_interface/window4.png differ diff --git a/graphics/battle_interface/window5.png b/graphics/battle_interface/window5.png new file mode 100644 index 0000000000..e48f380a4b Binary files /dev/null and b/graphics/battle_interface/window5.png differ diff --git a/graphics/battle_terrain/building/anim_map.bin b/graphics/battle_terrain/building/anim_map.bin new file mode 100644 index 0000000000..432e41c2f7 Binary files /dev/null and b/graphics/battle_terrain/building/anim_map.bin differ diff --git a/graphics/battle_terrain/building/anim_tiles.png b/graphics/battle_terrain/building/anim_tiles.png new file mode 100644 index 0000000000..a627523d84 Binary files /dev/null and b/graphics/battle_terrain/building/anim_tiles.png differ diff --git a/graphics/battle_terrain/building/map.bin b/graphics/battle_terrain/building/map.bin new file mode 100644 index 0000000000..d7bee60353 Binary files /dev/null and b/graphics/battle_terrain/building/map.bin differ diff --git a/graphics/battle_terrain/building/palette.pal b/graphics/battle_terrain/building/palette.pal new file mode 100644 index 0000000000..219cef5650 --- /dev/null +++ b/graphics/battle_terrain/building/palette.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +255 255 255 +222 197 164 +238 222 180 +238 230 205 +230 205 164 +246 238 230 +222 213 180 +230 213 172 +0 0 0 +0 0 0 +246 246 156 +246 246 180 +246 246 205 +246 246 230 +246 246 246 +0 0 0 +255 255 255 +222 197 164 +238 222 180 +238 230 205 +230 205 164 +246 238 230 +222 213 180 +246 246 205 +0 0 0 +0 0 0 +246 246 156 +246 246 180 +246 246 205 +246 246 230 +246 246 246 +0 0 0 +246 205 139 +255 238 164 +246 222 156 +255 238 172 +255 246 180 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/building/palette2.pal b/graphics/battle_terrain/building/palette2.pal new file mode 100644 index 0000000000..3ca2e0b0c0 --- /dev/null +++ b/graphics/battle_terrain/building/palette2.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +255 255 255 +205 189 148 +222 213 172 +238 230 197 +205 197 156 +246 238 222 +213 205 164 +222 213 156 +0 0 0 +0 0 0 +213 189 148 +230 213 180 +238 230 213 +246 238 230 +246 246 246 +0 0 0 +255 255 255 +205 189 148 +222 213 172 +238 230 197 +205 197 156 +246 238 222 +213 205 164 +222 213 156 +0 0 0 +0 0 0 +213 189 148 +230 213 180 +238 230 213 +246 238 230 +246 246 246 +0 0 0 +164 197 246 +205 246 255 +180 222 255 +189 230 255 +197 238 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/building/palette3.pal b/graphics/battle_terrain/building/palette3.pal new file mode 100644 index 0000000000..cebf5e6870 --- /dev/null +++ b/graphics/battle_terrain/building/palette3.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +255 255 255 +205 189 148 +222 213 172 +238 230 197 +205 197 156 +246 238 222 +213 205 164 +222 213 156 +0 0 0 +0 0 0 +213 189 148 +230 213 180 +238 230 213 +246 238 230 +246 246 246 +0 0 0 +255 255 255 +205 189 148 +222 213 172 +238 230 197 +205 197 156 +246 238 222 +213 205 164 +222 213 156 +0 0 0 +0 0 0 +213 189 148 +230 213 180 +238 230 213 +246 238 230 +246 246 246 +0 0 0 +255 222 65 +255 255 180 +255 238 74 +255 246 115 +255 255 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/building/tiles.png b/graphics/battle_terrain/building/tiles.png new file mode 100644 index 0000000000..9a031c2974 Binary files /dev/null and b/graphics/battle_terrain/building/tiles.png differ diff --git a/graphics/battle_terrain/cave/anim_map.bin b/graphics/battle_terrain/cave/anim_map.bin new file mode 100644 index 0000000000..0ab486890d Binary files /dev/null and b/graphics/battle_terrain/cave/anim_map.bin differ diff --git a/graphics/battle_terrain/cave/anim_tiles.png b/graphics/battle_terrain/cave/anim_tiles.png new file mode 100644 index 0000000000..464a2058b5 Binary files /dev/null and b/graphics/battle_terrain/cave/anim_tiles.png differ diff --git a/graphics/battle_terrain/cave/groudon.pal b/graphics/battle_terrain/cave/groudon.pal new file mode 100644 index 0000000000..73021c9579 --- /dev/null +++ b/graphics/battle_terrain/cave/groudon.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +246 246 189 +222 213 106 +180 156 106 +197 172 123 +205 189 115 +213 197 148 +197 172 106 +230 222 172 +255 189 49 +238 230 123 +213 115 32 +222 172 106 +230 197 139 +230 213 156 +238 230 180 +0 0 0 +246 246 189 +222 213 106 +180 156 106 +197 172 123 +205 189 115 +213 197 148 +197 172 106 +230 222 172 +255 189 49 +238 230 123 +82 106 172 +148 156 164 +197 189 164 +230 213 180 +238 230 180 +0 0 0 +106 74 65 +148 115 82 +180 139 90 +213 180 131 +230 213 156 +0 0 0 +205 148 74 +230 156 57 +255 172 49 +255 189 49 +205 148 74 +205 148 74 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/cave/map.bin b/graphics/battle_terrain/cave/map.bin new file mode 100644 index 0000000000..61f358f532 Binary files /dev/null and b/graphics/battle_terrain/cave/map.bin differ diff --git a/graphics/battle_terrain/cave/palette.pal b/graphics/battle_terrain/cave/palette.pal new file mode 100644 index 0000000000..64894d62ce --- /dev/null +++ b/graphics/battle_terrain/cave/palette.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +197 180 131 +205 197 90 +164 139 90 +180 156 106 +189 172 98 +189 164 115 +180 156 90 +197 164 115 +189 172 98 +222 213 106 +172 139 82 +180 148 98 +189 156 106 +197 164 106 +197 172 115 +0 0 0 +197 180 131 +205 197 90 +164 139 90 +180 156 106 +189 172 98 +189 164 115 +180 156 90 +197 164 115 +189 172 98 +222 213 106 +172 139 82 +180 148 98 +189 156 106 +197 164 106 +197 172 115 +0 0 0 +106 74 65 +148 115 82 +180 139 90 +213 180 131 +230 213 156 +0 0 0 +180 139 90 +180 139 90 +180 139 90 +213 180 131 +106 74 65 +148 115 82 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/cave/tiles.png b/graphics/battle_terrain/cave/tiles.png new file mode 100644 index 0000000000..27386731ff Binary files /dev/null and b/graphics/battle_terrain/cave/tiles.png differ diff --git a/graphics/battle_terrain/long_grass/anim_map.bin b/graphics/battle_terrain/long_grass/anim_map.bin new file mode 100644 index 0000000000..bd86cce6c8 Binary files /dev/null and b/graphics/battle_terrain/long_grass/anim_map.bin differ diff --git a/graphics/battle_terrain/long_grass/anim_tiles.png b/graphics/battle_terrain/long_grass/anim_tiles.png new file mode 100644 index 0000000000..e2f1bb2c11 Binary files /dev/null and b/graphics/battle_terrain/long_grass/anim_tiles.png differ diff --git a/graphics/battle_terrain/long_grass/map.bin b/graphics/battle_terrain/long_grass/map.bin new file mode 100644 index 0000000000..61f358f532 Binary files /dev/null and b/graphics/battle_terrain/long_grass/map.bin differ diff --git a/graphics/battle_terrain/long_grass/palette.pal b/graphics/battle_terrain/long_grass/palette.pal new file mode 100644 index 0000000000..645c3d0e6c --- /dev/null +++ b/graphics/battle_terrain/long_grass/palette.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +180 238 180 +74 172 98 +115 213 131 +131 230 156 +98 189 131 +156 230 164 +115 197 148 +172 230 180 +0 0 0 +0 0 0 +139 205 90 +148 205 106 +156 222 131 +164 230 156 +172 230 180 +0 0 0 +180 238 180 +74 172 98 +115 213 131 +131 230 156 +98 189 131 +156 230 164 +115 197 148 +172 230 180 +0 0 0 +0 0 0 +139 205 90 +148 205 106 +156 213 131 +164 222 156 +172 230 180 +0 0 0 +115 213 82 +98 180 90 +90 148 74 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/long_grass/tiles.png b/graphics/battle_terrain/long_grass/tiles.png new file mode 100644 index 0000000000..8676f2f379 Binary files /dev/null and b/graphics/battle_terrain/long_grass/tiles.png differ diff --git a/graphics/battle_terrain/plain/palette.pal b/graphics/battle_terrain/plain/palette.pal new file mode 100644 index 0000000000..2377b77299 --- /dev/null +++ b/graphics/battle_terrain/plain/palette.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +238 255 230 +156 230 156 +230 230 148 +230 238 164 +189 230 148 +230 246 180 +205 230 172 +172 238 172 +0 0 0 +0 0 0 +164 222 246 +180 230 230 +197 238 222 +213 246 213 +230 255 205 +0 0 0 +238 255 230 +156 230 156 +230 230 148 +230 238 164 +189 230 148 +230 246 180 +205 230 172 +172 238 172 +0 0 0 +0 0 0 +164 222 246 +180 230 230 +197 238 222 +213 246 213 +230 255 205 +0 0 0 +74 189 65 +172 230 172 +106 205 90 +131 213 115 +156 213 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/pond_water/anim_map.bin b/graphics/battle_terrain/pond_water/anim_map.bin new file mode 100644 index 0000000000..00aee51352 Binary files /dev/null and b/graphics/battle_terrain/pond_water/anim_map.bin differ diff --git a/graphics/battle_terrain/pond_water/anim_tiles.png b/graphics/battle_terrain/pond_water/anim_tiles.png new file mode 100644 index 0000000000..08568455f9 Binary files /dev/null and b/graphics/battle_terrain/pond_water/anim_tiles.png differ diff --git a/graphics/battle_terrain/pond_water/map.bin b/graphics/battle_terrain/pond_water/map.bin new file mode 100644 index 0000000000..61f358f532 Binary files /dev/null and b/graphics/battle_terrain/pond_water/map.bin differ diff --git a/graphics/battle_terrain/pond_water/palette.pal b/graphics/battle_terrain/pond_water/palette.pal new file mode 100644 index 0000000000..b0f74a08f2 --- /dev/null +++ b/graphics/battle_terrain/pond_water/palette.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +255 255 255 +98 164 230 +164 246 98 +197 255 139 +115 205 180 +205 255 197 +148 222 148 +230 255 222 +139 213 255 +0 0 0 +222 230 230 +230 230 238 +230 238 238 +238 246 246 +246 246 255 +0 0 0 +255 255 255 +98 164 230 +164 246 98 +197 255 139 +115 205 180 +205 255 197 +148 222 148 +230 255 222 +139 213 255 +0 0 0 +222 230 230 +230 230 238 +230 238 238 +238 246 246 +246 246 255 +0 0 0 +205 246 255 +148 213 238 +123 189 230 +90 148 222 +49 106 189 +16 74 156 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/pond_water/tiles.png b/graphics/battle_terrain/pond_water/tiles.png new file mode 100644 index 0000000000..81fac5393b Binary files /dev/null and b/graphics/battle_terrain/pond_water/tiles.png differ diff --git a/graphics/battle_terrain/rock/anim_map.bin b/graphics/battle_terrain/rock/anim_map.bin new file mode 100644 index 0000000000..d2a2776bd1 Binary files /dev/null and b/graphics/battle_terrain/rock/anim_map.bin differ diff --git a/graphics/battle_terrain/rock/anim_tiles.png b/graphics/battle_terrain/rock/anim_tiles.png new file mode 100644 index 0000000000..41be702961 Binary files /dev/null and b/graphics/battle_terrain/rock/anim_tiles.png differ diff --git a/graphics/battle_terrain/rock/map.bin b/graphics/battle_terrain/rock/map.bin new file mode 100644 index 0000000000..61f358f532 Binary files /dev/null and b/graphics/battle_terrain/rock/map.bin differ diff --git a/graphics/battle_terrain/rock/palette.pal b/graphics/battle_terrain/rock/palette.pal new file mode 100644 index 0000000000..1702e3810b --- /dev/null +++ b/graphics/battle_terrain/rock/palette.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +255 255 255 +189 172 139 +213 213 172 +222 222 213 +205 189 156 +230 230 213 +213 197 172 +238 238 230 +172 156 131 +0 0 0 +222 230 230 +230 230 238 +230 238 238 +238 246 246 +246 246 255 +0 0 0 +255 255 255 +189 172 139 +213 213 172 +222 222 213 +205 189 156 +230 230 213 +213 197 172 +238 238 230 +172 156 131 +0 0 0 +222 230 230 +230 230 238 +230 238 238 +238 246 246 +246 246 255 +0 0 0 +131 98 90 +164 131 98 +197 156 106 +213 180 131 +230 213 156 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/rock/tiles.png b/graphics/battle_terrain/rock/tiles.png new file mode 100644 index 0000000000..efb139eb64 Binary files /dev/null and b/graphics/battle_terrain/rock/tiles.png differ diff --git a/graphics/battle_terrain/sand/anim_map.bin b/graphics/battle_terrain/sand/anim_map.bin new file mode 100644 index 0000000000..83c6ba8f1d Binary files /dev/null and b/graphics/battle_terrain/sand/anim_map.bin differ diff --git a/graphics/battle_terrain/sand/anim_tiles.png b/graphics/battle_terrain/sand/anim_tiles.png new file mode 100644 index 0000000000..79c774acfa Binary files /dev/null and b/graphics/battle_terrain/sand/anim_tiles.png differ diff --git a/graphics/battle_terrain/sand/map.bin b/graphics/battle_terrain/sand/map.bin new file mode 100644 index 0000000000..d7bee60353 Binary files /dev/null and b/graphics/battle_terrain/sand/map.bin differ diff --git a/graphics/battle_terrain/sand/palette.pal b/graphics/battle_terrain/sand/palette.pal new file mode 100644 index 0000000000..20f4c3f7c4 --- /dev/null +++ b/graphics/battle_terrain/sand/palette.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +255 255 205 +213 213 90 +238 238 139 +246 246 172 +230 230 106 +255 255 189 +238 230 131 +255 255 230 +0 0 0 +0 0 0 +238 238 123 +238 238 148 +246 246 172 +246 246 180 +246 246 197 +0 0 0 +255 255 205 +222 213 82 +246 246 148 +246 246 189 +230 230 115 +255 255 197 +238 238 123 +255 255 230 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +197 197 74 +164 156 32 +222 222 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/sand/tiles.png b/graphics/battle_terrain/sand/tiles.png new file mode 100644 index 0000000000..a4f7342be4 Binary files /dev/null and b/graphics/battle_terrain/sand/tiles.png differ diff --git a/graphics/battle_terrain/sky/anim_map.bin b/graphics/battle_terrain/sky/anim_map.bin new file mode 100644 index 0000000000..c1712cdd86 Binary files /dev/null and b/graphics/battle_terrain/sky/anim_map.bin differ diff --git a/graphics/battle_terrain/sky/anim_tiles.png b/graphics/battle_terrain/sky/anim_tiles.png new file mode 100644 index 0000000000..246ca22554 Binary files /dev/null and b/graphics/battle_terrain/sky/anim_tiles.png differ diff --git a/graphics/battle_terrain/sky/map.bin b/graphics/battle_terrain/sky/map.bin new file mode 100644 index 0000000000..d7bee60353 Binary files /dev/null and b/graphics/battle_terrain/sky/map.bin differ diff --git a/graphics/battle_terrain/sky/palette.pal b/graphics/battle_terrain/sky/palette.pal new file mode 100644 index 0000000000..1a547d6a1f --- /dev/null +++ b/graphics/battle_terrain/sky/palette.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +213 238 255 +222 230 255 +148 205 255 +172 213 255 +197 222 255 +197 230 255 +172 213 255 +230 246 255 +205 222 246 +238 246 255 +164 213 255 +180 222 255 +197 230 255 +213 238 255 +230 246 255 +0 0 0 +180 238 255 +222 230 255 +148 205 255 +172 213 255 +197 222 255 +197 230 255 +172 213 255 +230 246 255 +205 222 246 +238 246 255 +148 197 255 +164 205 255 +189 222 255 +205 230 255 +230 246 255 +0 0 0 +222 238 255 +230 238 255 +238 246 255 +246 246 255 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +139 172 205 +197 230 255 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/sky/tiles.png b/graphics/battle_terrain/sky/tiles.png new file mode 100644 index 0000000000..461bba6754 Binary files /dev/null and b/graphics/battle_terrain/sky/tiles.png differ diff --git a/graphics/battle_terrain/stadium/battle_frontier.pal b/graphics/battle_terrain/stadium/battle_frontier.pal new file mode 100644 index 0000000000..10a842bcc8 --- /dev/null +++ b/graphics/battle_terrain/stadium/battle_frontier.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +255 255 255 +189 189 156 +213 213 197 +230 230 213 +197 197 180 +238 238 222 +205 205 189 +197 197 180 +0 0 0 +0 0 0 +222 230 230 +230 230 238 +230 238 238 +238 246 246 +246 246 255 +0 0 0 +255 255 255 +189 189 156 +213 213 197 +230 230 213 +197 197 180 +238 238 222 +205 205 189 +197 197 180 +0 0 0 +0 0 0 +222 230 230 +230 230 238 +230 238 238 +238 246 246 +246 246 255 +0 0 0 +172 189 213 +238 238 246 +180 197 222 +205 222 238 +222 230 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/map.bin b/graphics/battle_terrain/stadium/map.bin new file mode 100644 index 0000000000..d7bee60353 Binary files /dev/null and b/graphics/battle_terrain/stadium/map.bin differ diff --git a/graphics/battle_terrain/stadium/palette1.pal b/graphics/battle_terrain/stadium/palette1.pal new file mode 100644 index 0000000000..8252e3c5ea --- /dev/null +++ b/graphics/battle_terrain/stadium/palette1.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +230 246 255 +65 131 213 +131 197 255 +148 205 246 +82 148 222 +172 213 246 +106 172 238 +98 164 246 +82 148 230 +98 164 246 +65 164 213 +106 189 230 +139 205 238 +180 230 238 +205 238 246 +0 0 0 +255 255 255 +189 189 156 +213 213 197 +230 230 213 +197 197 180 +238 238 222 +205 205 189 +197 197 180 +0 0 0 +0 0 0 +222 230 230 +230 230 238 +230 238 238 +238 246 246 +246 246 255 +0 0 0 +255 213 65 +255 246 197 +255 213 82 +255 230 115 +255 246 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/palette2.pal b/graphics/battle_terrain/stadium/palette2.pal new file mode 100644 index 0000000000..48b2d851bd --- /dev/null +++ b/graphics/battle_terrain/stadium/palette2.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +222 222 222 +222 106 0 +156 148 156 +172 164 172 +197 106 49 +189 180 189 +172 123 98 +238 131 0 +230 115 0 +246 131 0 +139 139 139 +156 148 156 +180 172 180 +197 189 197 +205 197 213 +0 0 0 +255 255 255 +189 189 156 +213 213 197 +230 230 213 +197 197 180 +238 238 222 +205 205 189 +197 197 180 +0 0 0 +0 0 0 +222 230 230 +230 230 238 +230 238 238 +238 246 246 +246 246 255 +0 0 0 +123 205 164 +189 255 230 +139 222 180 +156 238 197 +172 255 213 +0 0 0 +213 49 0 +255 222 139 +213 106 57 +246 180 16 +255 197 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/palette3.pal b/graphics/battle_terrain/stadium/palette3.pal new file mode 100644 index 0000000000..10c5b50d60 --- /dev/null +++ b/graphics/battle_terrain/stadium/palette3.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +230 246 230 +222 197 148 +246 222 172 +230 222 189 +230 205 156 +213 230 205 +238 213 164 +246 222 172 +238 205 164 +230 213 164 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +230 246 230 +205 172 131 +238 213 164 +238 222 189 +213 180 139 +238 230 222 +222 197 148 +230 205 156 +222 189 148 +230 213 164 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +255 213 65 +255 246 197 +255 213 82 +255 230 115 +255 246 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/palette4.pal b/graphics/battle_terrain/stadium/palette4.pal new file mode 100644 index 0000000000..201de5471b --- /dev/null +++ b/graphics/battle_terrain/stadium/palette4.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +230 246 230 +197 156 205 +230 205 238 +205 222 230 +205 172 213 +213 213 230 +213 189 222 +213 156 238 +205 164 222 +230 180 238 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +230 246 230 +197 139 205 +230 205 238 +205 222 230 +205 156 213 +213 213 230 +213 180 222 +213 156 238 +205 156 213 +230 180 238 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +189 90 230 +230 213 246 +189 115 230 +197 139 230 +213 189 230 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/palette5.pal b/graphics/battle_terrain/stadium/palette5.pal new file mode 100644 index 0000000000..16f50d89bb --- /dev/null +++ b/graphics/battle_terrain/stadium/palette5.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +230 246 230 +139 172 238 +180 213 255 +180 213 255 +148 180 238 +189 222 255 +164 197 246 +164 197 255 +148 180 246 +180 213 255 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +230 246 230 +131 164 230 +180 213 255 +180 213 255 +148 180 238 +189 222 255 +164 197 246 +164 197 255 +148 180 246 +180 213 255 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +90 148 238 +172 238 255 +106 172 238 +123 189 246 +164 222 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/palette6.pal b/graphics/battle_terrain/stadium/palette6.pal new file mode 100644 index 0000000000..118a6a3bba --- /dev/null +++ b/graphics/battle_terrain/stadium/palette6.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +230 246 230 +246 156 90 +197 197 197 +197 205 205 +230 164 123 +197 222 213 +213 180 156 +255 189 90 +255 172 90 +255 172 32 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +230 246 230 +230 115 32 +164 164 164 +172 189 180 +205 131 74 +180 213 205 +180 148 115 +255 148 32 +246 131 32 +255 172 32 +65 172 156 +98 197 180 +139 213 213 +164 230 222 +197 238 230 +0 0 0 +238 189 49 +255 255 131 +238 197 57 +246 222 74 +255 246 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/palette7.pal b/graphics/battle_terrain/stadium/palette7.pal new file mode 100644 index 0000000000..891151f87e --- /dev/null +++ b/graphics/battle_terrain/stadium/palette7.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +230 246 255 +65 172 172 +131 238 213 +148 238 197 +82 189 180 +172 255 205 +106 205 197 +98 205 205 +82 189 189 +98 205 197 +65 164 213 +106 189 230 +139 205 238 +180 230 238 +205 238 246 +0 0 0 +230 246 255 +65 172 172 +131 238 213 +148 238 197 +82 189 180 +172 255 205 +106 205 197 +98 205 205 +82 189 189 +98 205 197 +65 164 213 +106 189 230 +139 205 238 +180 230 238 +205 238 246 +0 0 0 +246 172 0 +255 238 131 +255 180 16 +255 197 41 +255 238 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/stadium/tiles.png b/graphics/battle_terrain/stadium/tiles.png new file mode 100644 index 0000000000..ece531ec07 Binary files /dev/null and b/graphics/battle_terrain/stadium/tiles.png differ diff --git a/graphics/battle_terrain/tall_grass/anim_map.bin b/graphics/battle_terrain/tall_grass/anim_map.bin new file mode 100644 index 0000000000..8e7d784f37 Binary files /dev/null and b/graphics/battle_terrain/tall_grass/anim_map.bin differ diff --git a/graphics/battle_terrain/tall_grass/anim_tiles.png b/graphics/battle_terrain/tall_grass/anim_tiles.png new file mode 100644 index 0000000000..85aed13bb2 Binary files /dev/null and b/graphics/battle_terrain/tall_grass/anim_tiles.png differ diff --git a/graphics/battle_terrain/tall_grass/map.bin b/graphics/battle_terrain/tall_grass/map.bin new file mode 100644 index 0000000000..61f358f532 Binary files /dev/null and b/graphics/battle_terrain/tall_grass/map.bin differ diff --git a/graphics/battle_terrain/tall_grass/palette.pal b/graphics/battle_terrain/tall_grass/palette.pal new file mode 100644 index 0000000000..11db31cadb --- /dev/null +++ b/graphics/battle_terrain/tall_grass/palette.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +222 255 213 +123 213 131 +172 246 115 +197 246 189 +139 230 131 +222 255 205 +156 238 123 +0 0 0 +0 0 0 +0 0 0 +180 230 148 +189 238 164 +197 238 189 +205 246 197 +213 246 213 +0 0 0 +222 255 213 +123 213 131 +172 246 115 +197 246 189 +139 230 131 +222 255 205 +156 238 123 +0 0 0 +0 0 0 +0 0 0 +180 230 148 +189 238 164 +197 238 189 +205 246 197 +213 246 213 +0 0 0 +123 205 115 +164 222 148 +82 164 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/tall_grass/tiles.png b/graphics/battle_terrain/tall_grass/tiles.png new file mode 100644 index 0000000000..2d163d7bba Binary files /dev/null and b/graphics/battle_terrain/tall_grass/tiles.png differ diff --git a/graphics/battle_terrain/underwater/anim_map.bin b/graphics/battle_terrain/underwater/anim_map.bin new file mode 100644 index 0000000000..616c2a2422 Binary files /dev/null and b/graphics/battle_terrain/underwater/anim_map.bin differ diff --git a/graphics/battle_terrain/underwater/anim_tiles.png b/graphics/battle_terrain/underwater/anim_tiles.png new file mode 100644 index 0000000000..3e75434db9 Binary files /dev/null and b/graphics/battle_terrain/underwater/anim_tiles.png differ diff --git a/graphics/battle_terrain/underwater/map.bin b/graphics/battle_terrain/underwater/map.bin new file mode 100644 index 0000000000..61f358f532 Binary files /dev/null and b/graphics/battle_terrain/underwater/map.bin differ diff --git a/graphics/battle_terrain/underwater/palette.pal b/graphics/battle_terrain/underwater/palette.pal new file mode 100644 index 0000000000..b5859af6e4 --- /dev/null +++ b/graphics/battle_terrain/underwater/palette.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +197 230 255 +131 139 197 +148 197 246 +172 205 255 +131 164 213 +189 213 255 +148 180 222 +205 222 255 +197 230 255 +0 0 0 +148 164 238 +156 189 238 +172 205 238 +189 213 246 +197 222 255 +0 0 0 +197 230 255 +131 139 197 +148 197 246 +172 205 255 +131 164 213 +189 213 255 +148 180 222 +205 222 255 +197 230 255 +0 0 0 +148 164 238 +156 189 238 +172 205 238 +189 213 246 +197 222 255 +0 0 0 +98 164 230 +131 197 255 +172 238 255 +255 255 255 +205 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +98 98 172 +131 131 230 +172 172 255 +255 255 255 diff --git a/graphics/battle_terrain/underwater/tiles.png b/graphics/battle_terrain/underwater/tiles.png new file mode 100644 index 0000000000..b0d49a9cc3 Binary files /dev/null and b/graphics/battle_terrain/underwater/tiles.png differ diff --git a/graphics/battle_terrain/water/anim_map.bin b/graphics/battle_terrain/water/anim_map.bin new file mode 100644 index 0000000000..2b5f7a5488 Binary files /dev/null and b/graphics/battle_terrain/water/anim_map.bin differ diff --git a/graphics/battle_terrain/water/anim_tiles.png b/graphics/battle_terrain/water/anim_tiles.png new file mode 100644 index 0000000000..b505640291 Binary files /dev/null and b/graphics/battle_terrain/water/anim_tiles.png differ diff --git a/graphics/battle_terrain/water/kyogre.pal b/graphics/battle_terrain/water/kyogre.pal new file mode 100644 index 0000000000..eaa19730fb --- /dev/null +++ b/graphics/battle_terrain/water/kyogre.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +246 246 189 +90 148 222 +148 213 238 +180 222 222 +106 172 230 +172 213 213 +123 189 230 +205 222 197 +0 0 0 +0 0 0 +172 139 82 +189 156 106 +213 197 148 +230 213 164 +238 230 180 +0 0 0 +246 246 189 +90 148 222 +148 213 238 +180 222 222 +106 172 230 +172 213 213 +123 189 230 +205 222 197 +0 0 0 +0 0 0 +172 139 82 +189 156 106 +213 197 148 +230 213 164 +238 230 180 +0 0 0 +98 164 230 +131 197 255 +172 238 255 +255 255 255 +205 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/water/map.bin b/graphics/battle_terrain/water/map.bin new file mode 100644 index 0000000000..61f358f532 Binary files /dev/null and b/graphics/battle_terrain/water/map.bin differ diff --git a/graphics/battle_terrain/water/palette.pal b/graphics/battle_terrain/water/palette.pal new file mode 100644 index 0000000000..cbef927746 --- /dev/null +++ b/graphics/battle_terrain/water/palette.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +255 255 255 +90 148 222 +148 213 238 +180 230 246 +106 172 230 +197 238 255 +123 189 230 +222 246 255 +0 0 0 +0 0 0 +205 222 246 +222 230 238 +230 238 238 +238 246 246 +246 246 255 +0 0 0 +255 255 255 +90 148 222 +148 213 238 +180 230 246 +106 172 230 +197 238 255 +123 189 230 +222 246 255 +0 0 0 +0 0 0 +205 222 246 +222 230 238 +230 238 238 +238 246 246 +246 246 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +197 238 255 +148 213 238 +123 189 230 +90 148 222 +49 106 189 +16 74 156 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_terrain/water/tiles.png b/graphics/battle_terrain/water/tiles.png new file mode 100644 index 0000000000..9020478757 Binary files /dev/null and b/graphics/battle_terrain/water/tiles.png differ diff --git a/graphics/battle_transitions/85BBC14.png b/graphics/battle_transitions/85BBC14.png new file mode 100644 index 0000000000..a083107374 Binary files /dev/null and b/graphics/battle_transitions/85BBC14.png differ diff --git a/graphics/battle_transitions/85BC2B4.pal b/graphics/battle_transitions/85BC2B4.pal new file mode 100644 index 0000000000..f508de9380 --- /dev/null +++ b/graphics/battle_transitions/85BC2B4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +222 213 0 +57 57 0 +123 123 0 +189 189 0 +255 255 0 +255 255 82 +255 255 172 +255 255 255 diff --git a/graphics/battle_transitions/85BC2D4.pal b/graphics/battle_transitions/85BC2D4.pal new file mode 100644 index 0000000000..6a46ddacf2 --- /dev/null +++ b/graphics/battle_transitions/85BC2D4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 0 0 +0 0 0 +139 0 0 +197 0 0 +255 0 0 +255 65 65 +255 139 139 +255 255 255 diff --git a/graphics/battle_transitions/85BC2F4.pal b/graphics/battle_transitions/85BC2F4.pal new file mode 100644 index 0000000000..2a65c3a9ec --- /dev/null +++ b/graphics/battle_transitions/85BC2F4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +213 148 0 +0 0 0 +74 49 0 +156 98 0 +230 156 0 +238 189 82 +246 222 172 +255 255 255 diff --git a/graphics/battle_transitions/85BC314.bin b/graphics/battle_transitions/85BC314.bin new file mode 100644 index 0000000000..37149e37bf Binary files /dev/null and b/graphics/battle_transitions/85BC314.bin differ diff --git a/graphics/battle_transitions/85BCB14.bin b/graphics/battle_transitions/85BCB14.bin new file mode 100644 index 0000000000..29fde971ce Binary files /dev/null and b/graphics/battle_transitions/85BCB14.bin differ diff --git a/graphics/battle_transitions/85BD314.bin b/graphics/battle_transitions/85BD314.bin new file mode 100644 index 0000000000..cd1a672b57 Binary files /dev/null and b/graphics/battle_transitions/85BD314.bin differ diff --git a/graphics/battle_transitions/85BDB14.pal b/graphics/battle_transitions/85BDB14.pal new file mode 100644 index 0000000000..920669dcdc --- /dev/null +++ b/graphics/battle_transitions/85BDB14.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +255 255 255 +82 0 0 +98 0 0 +115 0 0 +131 0 0 +139 0 0 +156 0 0 +172 0 0 +189 0 0 +197 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_transitions/big_pokeball.png b/graphics/battle_transitions/big_pokeball.png new file mode 100644 index 0000000000..21b2274412 Binary files /dev/null and b/graphics/battle_transitions/big_pokeball.png differ diff --git a/graphics/battle_transitions/big_pokeball_map.bin b/graphics/battle_transitions/big_pokeball_map.bin new file mode 100644 index 0000000000..691e16ef7a Binary files /dev/null and b/graphics/battle_transitions/big_pokeball_map.bin differ diff --git a/graphics/battle_transitions/brendan_bg.pal b/graphics/battle_transitions/brendan_bg.pal new file mode 100644 index 0000000000..e43b0f74c9 --- /dev/null +++ b/graphics/battle_transitions/brendan_bg.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 180 213 +123 197 230 +139 213 246 +156 230 255 +172 246 255 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_transitions/drake_bg.pal b/graphics/battle_transitions/drake_bg.pal new file mode 100644 index 0000000000..6717a90bd2 --- /dev/null +++ b/graphics/battle_transitions/drake_bg.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +172 49 49 +115 115 115 +148 148 148 +180 180 180 +213 213 213 +0 0 131 +16 16 148 +32 32 164 +49 49 180 +65 65 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_transitions/elite_four_bg.png b/graphics/battle_transitions/elite_four_bg.png new file mode 100644 index 0000000000..1d327cdaf7 Binary files /dev/null and b/graphics/battle_transitions/elite_four_bg.png differ diff --git a/graphics/battle_transitions/elite_four_bg_map.bin b/graphics/battle_transitions/elite_four_bg_map.bin new file mode 100644 index 0000000000..4f170b4707 Binary files /dev/null and b/graphics/battle_transitions/elite_four_bg_map.bin differ diff --git a/graphics/battle_transitions/evil_team.pal b/graphics/battle_transitions/evil_team.pal new file mode 100644 index 0000000000..c76de7dfe0 --- /dev/null +++ b/graphics/battle_transitions/evil_team.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +106 106 106 +164 164 164 +205 205 205 +65 65 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +156 32 74 +230 82 123 +255 255 255 diff --git a/graphics/battle_transitions/frontier_brain.bin b/graphics/battle_transitions/frontier_brain.bin new file mode 100644 index 0000000000..968b6eaca0 Binary files /dev/null and b/graphics/battle_transitions/frontier_brain.bin differ diff --git a/graphics/battle_transitions/frontier_brain.png b/graphics/battle_transitions/frontier_brain.png new file mode 100644 index 0000000000..25af2e3ab4 Binary files /dev/null and b/graphics/battle_transitions/frontier_brain.png differ diff --git a/graphics/battle_transitions/frontier_squares.bin b/graphics/battle_transitions/frontier_squares.bin new file mode 100644 index 0000000000..e649791349 Binary files /dev/null and b/graphics/battle_transitions/frontier_squares.bin differ diff --git a/graphics/battle_transitions/frontier_squares_1.png b/graphics/battle_transitions/frontier_squares_1.png new file mode 100644 index 0000000000..7ceb904348 Binary files /dev/null and b/graphics/battle_transitions/frontier_squares_1.png differ diff --git a/graphics/battle_transitions/frontier_squares_2.png b/graphics/battle_transitions/frontier_squares_2.png new file mode 100644 index 0000000000..24467544c1 Binary files /dev/null and b/graphics/battle_transitions/frontier_squares_2.png differ diff --git a/graphics/battle_transitions/frontier_squares_3.png b/graphics/battle_transitions/frontier_squares_3.png new file mode 100644 index 0000000000..3bf0c57206 Binary files /dev/null and b/graphics/battle_transitions/frontier_squares_3.png differ diff --git a/graphics/battle_transitions/frontier_squares_4.png b/graphics/battle_transitions/frontier_squares_4.png new file mode 100644 index 0000000000..3f79a382df Binary files /dev/null and b/graphics/battle_transitions/frontier_squares_4.png differ diff --git a/graphics/battle_transitions/frontier_squares_blanktiles.png b/graphics/battle_transitions/frontier_squares_blanktiles.png new file mode 100644 index 0000000000..92c401d778 Binary files /dev/null and b/graphics/battle_transitions/frontier_squares_blanktiles.png differ diff --git a/graphics/battle_transitions/frontier_transition.bin b/graphics/battle_transitions/frontier_transition.bin new file mode 100644 index 0000000000..7b9d2af284 Binary files /dev/null and b/graphics/battle_transitions/frontier_transition.bin differ diff --git a/graphics/battle_transitions/frontier_transition.png b/graphics/battle_transitions/frontier_transition.png new file mode 100644 index 0000000000..05ea84f2c7 Binary files /dev/null and b/graphics/battle_transitions/frontier_transition.png differ diff --git a/graphics/battle_transitions/frontier_transition_circles.png b/graphics/battle_transitions/frontier_transition_circles.png new file mode 100644 index 0000000000..50e44e40c4 Binary files /dev/null and b/graphics/battle_transitions/frontier_transition_circles.png differ diff --git a/graphics/battle_transitions/glacia_bg.pal b/graphics/battle_transitions/glacia_bg.pal new file mode 100644 index 0000000000..4aac79feca --- /dev/null +++ b/graphics/battle_transitions/glacia_bg.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +172 49 49 +115 115 115 +148 148 148 +180 180 180 +213 213 213 +255 82 172 +255 98 189 +255 115 205 +255 131 222 +255 148 238 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_transitions/groudon.bin b/graphics/battle_transitions/groudon.bin new file mode 100644 index 0000000000..6432affbf1 Binary files /dev/null and b/graphics/battle_transitions/groudon.bin differ diff --git a/graphics/battle_transitions/groudon.png b/graphics/battle_transitions/groudon.png new file mode 100644 index 0000000000..aec84e4b51 Binary files /dev/null and b/graphics/battle_transitions/groudon.png differ diff --git a/graphics/battle_transitions/groudon_pt1.pal b/graphics/battle_transitions/groudon_pt1.pal new file mode 100644 index 0000000000..0a3853df4c --- /dev/null +++ b/graphics/battle_transitions/groudon_pt1.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 0 +0 0 255 +74 123 255 +65 106 230 +57 90 213 +49 82 197 +41 65 180 +41 65 180 +49 82 197 +57 90 213 +65 106 230 +74 123 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 213 +74 123 255 +74 123 255 +65 106 230 +57 90 213 +49 82 197 +41 65 180 +41 65 180 +49 82 197 +57 90 213 +65 106 230 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 172 +65 106 230 +74 123 255 +74 123 255 +65 106 230 +57 90 213 +49 82 197 +41 65 180 +41 65 180 +49 82 197 +57 90 213 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 131 +57 90 213 +65 106 230 +74 123 255 +74 123 255 +65 106 230 +57 90 213 +49 82 197 +41 65 180 +41 65 180 +49 82 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 90 +49 82 197 +57 90 213 +65 106 230 +74 123 255 +74 123 255 +65 106 230 +57 90 213 +49 82 197 +41 65 180 +41 65 180 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 90 +41 65 180 +49 82 197 +57 90 213 +65 106 230 +74 123 255 +74 123 255 +65 106 230 +57 90 213 +49 82 197 +41 65 180 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 131 +41 65 180 +41 65 180 +49 82 197 +57 90 213 +65 106 230 +74 123 255 +74 123 255 +65 106 230 +57 90 213 +49 82 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 172 +49 82 197 +41 65 180 +41 65 180 +49 82 197 +57 90 213 +65 106 230 +74 123 255 +74 123 255 +65 106 230 +57 90 213 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 213 +57 90 213 +49 82 197 +41 65 180 +41 65 180 +49 82 197 +57 90 213 +65 106 230 +74 123 255 +74 123 255 +65 106 230 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 255 +74 123 255 +65 106 230 +57 90 213 +49 82 197 +41 65 180 +49 82 197 +57 90 213 +65 106 230 +65 106 230 +74 123 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +230 32 172 +230 82 32 +230 16 32 +16 148 32 +16 255 230 +16 255 0 +115 115 32 +222 115 32 +255 197 222 +115 82 255 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_transitions/groudon_pt2.pal b/graphics/battle_transitions/groudon_pt2.pal new file mode 100644 index 0000000000..524ab4019b --- /dev/null +++ b/graphics/battle_transitions/groudon_pt2.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 115 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 123 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 139 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 148 +0 0 90 +0 0 90 +0 0 90 +0 0 90 +0 0 90 +0 0 90 +0 0 90 +0 0 90 +0 0 90 +0 0 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 164 +0 65 255 +0 65 255 +0 65 255 +0 65 255 +0 65 255 +0 65 255 +0 65 255 +0 65 255 +0 65 255 +0 65 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 172 +0 65 255 +0 65 255 +0 65 255 +0 65 255 +0 65 255 +0 65 255 +0 65 255 +0 65 255 +0 65 255 +0 65 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 189 +74 123 255 +74 123 255 +74 123 255 +74 123 255 +74 123 255 +74 123 255 +74 123 255 +74 123 255 +74 123 255 +74 123 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 197 +148 189 255 +148 189 255 +148 189 255 +148 189 255 +148 189 255 +148 189 255 +148 189 255 +148 189 255 +148 189 255 +148 189 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +222 255 255 +222 255 255 +222 255 255 +222 255 255 +222 255 255 +222 255 255 +222 255 255 +222 255 255 +222 255 255 +222 255 255 +222 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 222 +148 189 255 +148 189 255 +148 189 255 +148 189 255 +148 189 255 +148 189 255 +148 189 255 +148 189 255 +148 189 255 +148 189 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 238 +74 123 255 +74 123 255 +74 123 255 +74 123 255 +74 123 255 +74 123 255 +74 123 255 +74 123 255 +74 123 255 +74 123 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_transitions/kyogre.bin b/graphics/battle_transitions/kyogre.bin new file mode 100644 index 0000000000..9fa18ed599 Binary files /dev/null and b/graphics/battle_transitions/kyogre.bin differ diff --git a/graphics/battle_transitions/kyogre.png b/graphics/battle_transitions/kyogre.png new file mode 100644 index 0000000000..53949ed79c Binary files /dev/null and b/graphics/battle_transitions/kyogre.png differ diff --git a/graphics/battle_transitions/kyogre_pt1.pal b/graphics/battle_transitions/kyogre_pt1.pal new file mode 100644 index 0000000000..4cabc773e9 --- /dev/null +++ b/graphics/battle_transitions/kyogre_pt1.pal @@ -0,0 +1,163 @@ +JASC-PAL +0100 +160 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +222 0 0 +180 0 0 +139 0 0 +106 0 0 +0 0 0 +74 0 0 +106 0 0 +139 0 0 +180 0 0 +222 0 0 +255 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +180 0 0 +139 0 0 +106 0 0 +0 0 0 +74 0 0 +106 0 0 +139 0 0 +180 0 0 +222 0 0 +255 0 0 +222 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +139 0 0 +106 0 0 +0 0 0 +74 0 0 +106 0 0 +139 0 0 +180 0 0 +222 0 0 +255 0 0 +222 0 0 +180 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +106 0 0 +0 0 0 +74 0 0 +106 0 0 +139 0 0 +180 0 0 +222 0 0 +255 0 0 +222 0 0 +180 0 0 +139 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +74 0 0 +106 0 0 +139 0 0 +180 0 0 +222 0 0 +255 0 0 +222 0 0 +180 0 0 +139 0 0 +106 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +74 0 0 +106 0 0 +139 0 0 +180 0 0 +222 0 0 +255 0 0 +222 0 0 +180 0 0 +139 0 0 +106 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +106 0 0 +139 0 0 +180 0 0 +222 0 0 +255 0 0 +222 0 0 +180 0 0 +139 0 0 +106 0 0 +0 0 0 +74 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +139 0 0 +180 0 0 +222 0 0 +255 0 0 +222 0 0 +180 0 0 +139 0 0 +106 0 0 +0 0 0 +74 0 0 +106 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +180 0 0 +222 0 0 +255 0 0 +222 0 0 +180 0 0 +139 0 0 +106 0 0 +0 0 0 +74 0 0 +106 0 0 +139 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +222 0 0 +255 0 0 +222 0 0 +180 0 0 +139 0 0 +106 0 0 +0 0 0 +74 0 0 +106 0 0 +139 0 0 +180 0 0 +0 0 0 diff --git a/graphics/battle_transitions/kyogre_pt2.pal b/graphics/battle_transitions/kyogre_pt2.pal new file mode 100644 index 0000000000..7f7976ece4 --- /dev/null +++ b/graphics/battle_transitions/kyogre_pt2.pal @@ -0,0 +1,227 @@ +JASC-PAL +0100 +224 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +82 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +82 0 0 +0 0 0 +0 0 0 +156 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +156 0 0 +0 0 0 +0 0 0 +189 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +189 0 0 +0 0 0 +0 0 0 +230 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +230 0 0 +0 0 0 +0 0 0 +255 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 0 0 +0 0 0 +0 0 0 +255 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 0 0 +0 0 0 +0 0 0 +255 0 0 +156 0 0 +156 0 0 +156 0 0 +156 0 0 +156 0 0 +156 0 0 +156 0 0 +156 0 0 +156 0 0 +156 0 0 +156 0 0 +156 0 0 +255 0 0 +0 0 0 +0 0 0 +255 0 0 +230 0 0 +230 0 0 +230 0 0 +230 0 0 +230 0 0 +230 0 0 +230 0 0 +230 0 0 +230 0 0 +230 0 0 +230 0 0 +230 0 0 +255 0 0 +0 0 0 +0 0 0 +255 0 0 +255 0 0 +255 0 0 +255 0 0 +255 0 0 +255 0 0 +255 0 0 +255 0 0 +255 0 0 +255 0 0 +255 0 0 +255 0 0 +255 0 0 +255 0 0 +0 0 0 +0 0 0 +255 0 0 +255 131 131 +255 131 131 +255 131 131 +255 131 131 +255 131 131 +255 131 131 +255 131 131 +255 131 131 +255 131 131 +255 131 131 +255 131 131 +255 131 131 +255 0 0 +0 0 0 +0 0 0 +255 0 0 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 0 0 +0 0 0 +0 0 0 +255 0 0 +255 131 131 +255 131 131 +255 131 131 +255 131 131 +255 131 131 +255 131 131 +255 131 131 +255 131 131 +255 131 131 +255 131 131 +255 131 131 +255 131 131 +255 0 0 +0 0 0 +0 0 0 +255 0 0 +255 74 74 +255 74 74 +255 74 74 +255 74 74 +255 74 74 +255 74 74 +255 74 74 +255 74 74 +255 74 74 +255 74 74 +255 74 74 +255 74 74 +230 0 0 diff --git a/graphics/battle_transitions/may_bg.pal b/graphics/battle_transitions/may_bg.pal new file mode 100644 index 0000000000..8ebd383095 --- /dev/null +++ b/graphics/battle_transitions/may_bg.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +230 123 139 +246 139 156 +255 156 172 +255 172 189 +255 189 205 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_transitions/phoebe_bg.pal b/graphics/battle_transitions/phoebe_bg.pal new file mode 100644 index 0000000000..b55e6a6cdb --- /dev/null +++ b/graphics/battle_transitions/phoebe_bg.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +172 49 49 +115 115 115 +148 148 148 +180 180 180 +213 213 213 +8 213 8 +32 238 32 +49 246 49 +74 255 74 +123 255 123 +230 123 139 +246 139 156 +255 156 172 +255 172 189 +255 189 205 +230 123 139 diff --git a/graphics/battle_transitions/pokeball.png b/graphics/battle_transitions/pokeball.png new file mode 100644 index 0000000000..3802a915b9 Binary files /dev/null and b/graphics/battle_transitions/pokeball.png differ diff --git a/graphics/battle_transitions/pokeball_trail.png b/graphics/battle_transitions/pokeball_trail.png new file mode 100644 index 0000000000..ff2a75ee44 Binary files /dev/null and b/graphics/battle_transitions/pokeball_trail.png differ diff --git a/graphics/battle_transitions/rayquaza.bin b/graphics/battle_transitions/rayquaza.bin new file mode 100644 index 0000000000..fd1a20b0fe Binary files /dev/null and b/graphics/battle_transitions/rayquaza.bin differ diff --git a/graphics/battle_transitions/rayquaza.pal b/graphics/battle_transitions/rayquaza.pal new file mode 100644 index 0000000000..ac2f9009d1 --- /dev/null +++ b/graphics/battle_transitions/rayquaza.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 0 +0 0 0 +255 255 0 +230 230 0 +172 172 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 0 +255 255 0 +230 230 0 +172 172 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 0 +255 255 0 +255 255 0 +230 230 0 +172 172 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 0 +255 255 0 +255 255 0 +255 255 0 +230 230 0 +172 172 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 0 +255 255 0 +255 255 0 +255 255 0 +230 230 0 +172 172 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 0 +255 255 0 +255 255 0 +255 255 0 +230 230 0 +172 172 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +82 82 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 0 +255 255 0 +255 255 0 +255 255 0 +230 230 0 +172 172 0 +0 0 0 +0 0 0 +82 82 0 +82 82 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 0 +255 255 0 +255 255 0 +255 255 0 +230 230 0 +172 172 0 +0 0 0 +180 180 0 +123 123 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 0 +255 255 0 +255 255 0 +255 255 0 +230 230 0 +0 0 0 +255 255 0 +164 164 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 0 +255 255 0 +255 255 0 +255 255 0 +0 0 0 +255 255 115 +205 205 0 +0 0 0 +0 0 0 +255 255 189 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 189 +255 255 189 +255 255 189 +255 255 189 +0 0 0 +255 255 0 +164 164 0 +0 0 0 +0 0 0 +213 213 213 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +213 213 213 +213 213 213 +213 213 213 +213 213 213 +255 255 255 +180 180 0 +123 123 0 +255 255 255 +0 0 0 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 0 +164 164 0 +255 255 255 +0 0 0 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 115 +205 205 0 +255 255 255 +0 0 0 +255 255 0 +0 115 0 +0 205 0 +123 24 0 +123 24 131 +230 246 131 +255 0 246 +255 0 8 +0 238 222 +0 16 139 +238 148 139 +0 156 74 +255 255 255 +255 255 255 +0 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 0 +82 82 0 +0 0 0 diff --git a/graphics/battle_transitions/rayquaza.png b/graphics/battle_transitions/rayquaza.png new file mode 100644 index 0000000000..5c3a914749 Binary files /dev/null and b/graphics/battle_transitions/rayquaza.png differ diff --git a/graphics/battle_transitions/shrinking_box.png b/graphics/battle_transitions/shrinking_box.png new file mode 100644 index 0000000000..cde6f2107f Binary files /dev/null and b/graphics/battle_transitions/shrinking_box.png differ diff --git a/graphics/battle_transitions/sidney_bg.pal b/graphics/battle_transitions/sidney_bg.pal new file mode 100644 index 0000000000..1f30ed0623 --- /dev/null +++ b/graphics/battle_transitions/sidney_bg.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +172 49 49 +115 115 115 +148 148 148 +180 180 180 +213 213 213 +189 0 189 +205 16 205 +222 32 222 +238 49 238 +255 65 255 +106 180 213 +123 197 230 +139 213 246 +156 230 255 +172 246 255 +255 255 255 diff --git a/graphics/battle_transitions/team_aqua.bin b/graphics/battle_transitions/team_aqua.bin new file mode 100644 index 0000000000..3526dde59a Binary files /dev/null and b/graphics/battle_transitions/team_aqua.bin differ diff --git a/graphics/battle_transitions/team_aqua.png b/graphics/battle_transitions/team_aqua.png new file mode 100644 index 0000000000..4b0b1ac1d3 Binary files /dev/null and b/graphics/battle_transitions/team_aqua.png differ diff --git a/graphics/battle_transitions/team_magma.bin b/graphics/battle_transitions/team_magma.bin new file mode 100644 index 0000000000..5c90fbf6af Binary files /dev/null and b/graphics/battle_transitions/team_magma.bin differ diff --git a/graphics/battle_transitions/team_magma.png b/graphics/battle_transitions/team_magma.png new file mode 100644 index 0000000000..44ffed071c Binary files /dev/null and b/graphics/battle_transitions/team_magma.png differ diff --git a/graphics/battle_transitions/unused_brendan.png b/graphics/battle_transitions/unused_brendan.png new file mode 100644 index 0000000000..926ba0ff72 Binary files /dev/null and b/graphics/battle_transitions/unused_brendan.png differ diff --git a/graphics/battle_transitions/unused_lass.png b/graphics/battle_transitions/unused_lass.png new file mode 100644 index 0000000000..378fa3c19f Binary files /dev/null and b/graphics/battle_transitions/unused_lass.png differ diff --git a/graphics/battle_transitions/unused_trainer.pal b/graphics/battle_transitions/unused_trainer.pal new file mode 100644 index 0000000000..ad94d728a4 --- /dev/null +++ b/graphics/battle_transitions/unused_trainer.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 222 205 +222 164 148 +205 131 115 +123 90 82 +57 74 123 +41 57 98 +24 41 82 +16 32 57 +222 230 238 +255 197 90 +189 156 90 +255 98 90 +197 65 65 +255 255 255 +0 0 0 diff --git a/graphics/battle_transitions/vs.png b/graphics/battle_transitions/vs.png new file mode 100644 index 0000000000..5491990f65 Binary files /dev/null and b/graphics/battle_transitions/vs.png differ diff --git a/graphics/battle_transitions/vs_frame.bin b/graphics/battle_transitions/vs_frame.bin new file mode 100644 index 0000000000..2ad1539649 Binary files /dev/null and b/graphics/battle_transitions/vs_frame.bin differ diff --git a/graphics/battle_transitions/vs_frame.png b/graphics/battle_transitions/vs_frame.png new file mode 100644 index 0000000000..0b38c8960d Binary files /dev/null and b/graphics/battle_transitions/vs_frame.png differ diff --git a/graphics/battle_transitions/wallace_bg.pal b/graphics/battle_transitions/wallace_bg.pal new file mode 100644 index 0000000000..30da9c5f98 --- /dev/null +++ b/graphics/battle_transitions/wallace_bg.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +172 49 49 +115 115 115 +148 148 148 +180 180 180 +213 213 213 +197 197 65 +213 213 82 +230 230 98 +246 246 115 +255 255 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/berries/pics/aguav.png b/graphics/berries/aguav.png similarity index 100% rename from graphics/berries/pics/aguav.png rename to graphics/berries/aguav.png diff --git a/graphics/berries/pics/apicot.png b/graphics/berries/apicot.png similarity index 100% rename from graphics/berries/pics/apicot.png rename to graphics/berries/apicot.png diff --git a/graphics/berries/pics/aspear.png b/graphics/berries/aspear.png similarity index 100% rename from graphics/berries/pics/aspear.png rename to graphics/berries/aspear.png diff --git a/graphics/berries/pics/belue.png b/graphics/berries/belue.png similarity index 100% rename from graphics/berries/pics/belue.png rename to graphics/berries/belue.png diff --git a/graphics/berries/pics/bluk.png b/graphics/berries/bluk.png similarity index 100% rename from graphics/berries/pics/bluk.png rename to graphics/berries/bluk.png diff --git a/graphics/berries/pics/cheri.png b/graphics/berries/cheri.png similarity index 100% rename from graphics/berries/pics/cheri.png rename to graphics/berries/cheri.png diff --git a/graphics/berries/pics/chesto.png b/graphics/berries/chesto.png similarity index 100% rename from graphics/berries/pics/chesto.png rename to graphics/berries/chesto.png diff --git a/graphics/berries/pics/cornn.png b/graphics/berries/cornn.png similarity index 100% rename from graphics/berries/pics/cornn.png rename to graphics/berries/cornn.png diff --git a/graphics/berries/pics/durin.png b/graphics/berries/durin.png similarity index 100% rename from graphics/berries/pics/durin.png rename to graphics/berries/durin.png diff --git a/graphics/berries/pics/enigma.png b/graphics/berries/enigma.png similarity index 100% rename from graphics/berries/pics/enigma.png rename to graphics/berries/enigma.png diff --git a/graphics/berries/pics/figy.png b/graphics/berries/figy.png similarity index 100% rename from graphics/berries/pics/figy.png rename to graphics/berries/figy.png diff --git a/graphics/berries/pics/ganlon.png b/graphics/berries/ganlon.png similarity index 100% rename from graphics/berries/pics/ganlon.png rename to graphics/berries/ganlon.png diff --git a/graphics/berries/pics/grepa.png b/graphics/berries/grepa.png similarity index 100% rename from graphics/berries/pics/grepa.png rename to graphics/berries/grepa.png diff --git a/graphics/berries/pics/hondew.png b/graphics/berries/hondew.png similarity index 100% rename from graphics/berries/pics/hondew.png rename to graphics/berries/hondew.png diff --git a/graphics/berries/pics/iapapa.png b/graphics/berries/iapapa.png similarity index 100% rename from graphics/berries/pics/iapapa.png rename to graphics/berries/iapapa.png diff --git a/graphics/berries/pics/kelpsy.png b/graphics/berries/kelpsy.png similarity index 100% rename from graphics/berries/pics/kelpsy.png rename to graphics/berries/kelpsy.png diff --git a/graphics/berries/pics/lansat.png b/graphics/berries/lansat.png similarity index 100% rename from graphics/berries/pics/lansat.png rename to graphics/berries/lansat.png diff --git a/graphics/berries/pics/leppa.png b/graphics/berries/leppa.png similarity index 100% rename from graphics/berries/pics/leppa.png rename to graphics/berries/leppa.png diff --git a/graphics/berries/pics/liechi.png b/graphics/berries/liechi.png similarity index 100% rename from graphics/berries/pics/liechi.png rename to graphics/berries/liechi.png diff --git a/graphics/berries/pics/lum.png b/graphics/berries/lum.png similarity index 100% rename from graphics/berries/pics/lum.png rename to graphics/berries/lum.png diff --git a/graphics/berries/pics/mago.png b/graphics/berries/mago.png similarity index 100% rename from graphics/berries/pics/mago.png rename to graphics/berries/mago.png diff --git a/graphics/berries/pics/magost.png b/graphics/berries/magost.png similarity index 100% rename from graphics/berries/pics/magost.png rename to graphics/berries/magost.png diff --git a/graphics/berries/pics/nanab.png b/graphics/berries/nanab.png similarity index 100% rename from graphics/berries/pics/nanab.png rename to graphics/berries/nanab.png diff --git a/graphics/berries/pics/nomel.png b/graphics/berries/nomel.png similarity index 100% rename from graphics/berries/pics/nomel.png rename to graphics/berries/nomel.png diff --git a/graphics/berries/pics/oran.png b/graphics/berries/oran.png similarity index 100% rename from graphics/berries/pics/oran.png rename to graphics/berries/oran.png diff --git a/graphics/berries/palettes/aguav.pal b/graphics/berries/palettes/aguav.pal deleted file mode 100644 index fa20daf246..0000000000 --- a/graphics/berries/palettes/aguav.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -230 255 156 -197 238 131 -164 222 106 -131 205 82 -98 189 57 -74 148 41 -57 115 32 -41 82 24 -255 238 189 -222 197 148 -189 164 106 -156 131 74 -197 197 139 -148 172 98 -90 139 82 diff --git a/graphics/berries/palettes/apicot.pal b/graphics/berries/palettes/apicot.pal deleted file mode 100644 index 82cb76d5a4..0000000000 --- a/graphics/berries/palettes/apicot.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -238 238 255 -189 205 238 -148 180 230 -106 148 222 -65 123 213 -65 98 148 -222 255 131 -197 230 123 -172 213 115 -148 189 106 -123 172 98 -90 131 82 -57 164 156 -255 230 98 -205 164 98 diff --git a/graphics/berries/palettes/aspear.pal b/graphics/berries/palettes/aspear.pal deleted file mode 100644 index 52842fd55b..0000000000 --- a/graphics/berries/palettes/aspear.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -246 238 222 -246 238 189 -246 238 156 -246 238 123 -230 213 115 -213 197 106 -197 180 98 -180 156 90 -164 139 82 -148 123 74 -180 189 148 -156 164 131 -131 139 123 -106 123 115 -0 0 0 diff --git a/graphics/berries/palettes/belue.pal b/graphics/berries/palettes/belue.pal deleted file mode 100644 index 0d348b27e1..0000000000 --- a/graphics/berries/palettes/belue.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -164 172 197 -148 148 180 -131 123 172 -123 98 156 -106 74 148 -98 57 139 -82 41 82 -255 213 164 -230 189 148 -205 164 131 -180 139 123 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/bluk.pal b/graphics/berries/palettes/bluk.pal deleted file mode 100644 index 88586d6b52..0000000000 --- a/graphics/berries/palettes/bluk.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -189 205 213 -164 156 197 -139 115 180 -115 74 172 -98 57 139 -90 49 106 -82 41 82 -180 139 123 -148 106 82 -115 74 41 -0 0 0 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/cheri.pal b/graphics/berries/palettes/cheri.pal deleted file mode 100644 index 01acf52c99..0000000000 --- a/graphics/berries/palettes/cheri.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 255 123 -246 180 98 -246 106 74 -246 41 49 -213 49 41 -180 57 32 -148 65 24 -115 82 24 -189 238 131 -156 205 115 -123 172 98 -90 139 82 -115 90 74 -82 90 49 -57 98 32 diff --git a/graphics/berries/palettes/chesto.pal b/graphics/berries/palettes/chesto.pal deleted file mode 100644 index 3a4e0964f1..0000000000 --- a/graphics/berries/palettes/chesto.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -148 205 255 -123 172 238 -98 148 222 -82 123 213 -65 98 180 -57 74 148 -230 197 164 -213 172 148 -197 156 131 -180 131 115 -164 115 98 -148 98 82 -156 205 115 -74 106 197 -90 139 82 diff --git a/graphics/berries/palettes/cornn.pal b/graphics/berries/palettes/cornn.pal deleted file mode 100644 index 5096389e04..0000000000 --- a/graphics/berries/palettes/cornn.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -189 205 213 -164 156 197 -139 115 180 -115 74 172 -98 57 139 -90 49 106 -82 41 82 -180 139 123 -180 189 123 -115 74 41 -49 90 0 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/durin.pal b/graphics/berries/palettes/durin.pal deleted file mode 100644 index 8b636135d4..0000000000 --- a/graphics/berries/palettes/durin.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 246 -230 255 156 -197 238 131 -164 222 106 -131 205 82 -98 189 57 -98 164 57 -98 139 57 -255 246 197 -255 222 148 -139 98 49 -222 172 98 -189 148 98 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/enigma.pal b/graphics/berries/palettes/enigma.pal deleted file mode 100644 index 349ecc7f47..0000000000 --- a/graphics/berries/palettes/enigma.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 246 246 -148 131 123 -115 98 98 -82 74 74 -57 49 49 -24 24 24 -0 0 0 -246 238 222 -222 205 197 -205 180 172 -180 156 156 -164 131 131 -148 106 115 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/figy.pal b/graphics/berries/palettes/figy.pal deleted file mode 100644 index e427ea1e96..0000000000 --- a/graphics/berries/palettes/figy.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 246 -255 255 123 -246 180 98 -246 106 74 -246 41 49 -213 41 49 -180 41 49 -255 246 205 -230 213 172 -205 189 139 -180 164 115 -123 106 74 -197 123 90 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/ganlon.pal b/graphics/berries/palettes/ganlon.pal deleted file mode 100644 index 3819741253..0000000000 --- a/graphics/berries/palettes/ganlon.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -222 255 255 -189 230 255 -164 197 238 -139 172 222 -115 148 213 -90 123 197 -65 98 189 -65 65 123 -246 238 164 -222 205 139 -205 180 123 -180 156 106 -164 131 90 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/grepa.pal b/graphics/berries/palettes/grepa.pal deleted file mode 100644 index 42ff8830f4..0000000000 --- a/graphics/berries/palettes/grepa.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -246 238 222 -246 230 180 -246 230 148 -246 222 106 -255 222 74 -222 197 65 -197 172 65 -172 148 65 -148 123 65 -123 98 65 -172 255 74 -131 213 65 -90 180 65 -49 148 65 -238 205 65 diff --git a/graphics/berries/palettes/hondew.pal b/graphics/berries/palettes/hondew.pal deleted file mode 100644 index db2739961a..0000000000 --- a/graphics/berries/palettes/hondew.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 246 -230 255 156 -197 238 131 -164 222 106 -131 205 82 -98 189 57 -98 164 57 -98 139 57 -255 246 197 -255 222 148 -255 197 98 -222 172 98 -189 148 98 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/iapapa.pal b/graphics/berries/palettes/iapapa.pal deleted file mode 100644 index 31fac9ddec..0000000000 --- a/graphics/berries/palettes/iapapa.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 197 197 -246 238 222 -246 238 172 -238 213 148 -230 197 131 -222 180 115 -213 164 98 -205 148 82 -139 90 57 -230 164 90 -238 123 74 -255 90 57 -222 90 57 -197 90 57 -172 90 57 -90 139 82 diff --git a/graphics/berries/palettes/kelpsy.pal b/graphics/berries/palettes/kelpsy.pal deleted file mode 100644 index 67ad7a21c0..0000000000 --- a/graphics/berries/palettes/kelpsy.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -189 205 213 -164 156 197 -139 115 180 -115 74 172 -98 57 139 -90 49 106 -82 41 82 -180 139 123 -148 106 82 -115 74 41 -0 0 0 -189 222 255 -156 197 230 -131 172 205 -106 148 189 diff --git a/graphics/berries/palettes/lansat.pal b/graphics/berries/palettes/lansat.pal deleted file mode 100644 index 66621677d2..0000000000 --- a/graphics/berries/palettes/lansat.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 246 246 -189 222 148 -148 197 123 -115 180 106 -82 164 90 -49 148 74 -255 222 164 -246 180 139 -238 148 115 -230 106 90 -222 74 65 -213 41 49 -189 41 49 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/leppa.pal b/graphics/berries/palettes/leppa.pal deleted file mode 100644 index 4fab82d6c6..0000000000 --- a/graphics/berries/palettes/leppa.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 255 123 -246 180 98 -246 106 74 -246 41 49 -213 41 49 -180 41 49 -148 41 49 -197 148 98 -189 238 131 -156 205 115 -123 172 98 -90 139 82 -115 90 74 -82 90 49 -57 98 32 diff --git a/graphics/berries/palettes/liechi.pal b/graphics/berries/palettes/liechi.pal deleted file mode 100644 index c12737deb1..0000000000 --- a/graphics/berries/palettes/liechi.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 246 246 -255 255 123 -246 180 98 -246 106 74 -246 41 49 -213 41 49 -180 41 49 -255 255 255 -238 230 213 -222 205 172 -205 180 131 -197 164 90 -255 205 131 -238 164 98 -222 123 65 -213 90 32 diff --git a/graphics/berries/palettes/lum.pal b/graphics/berries/palettes/lum.pal deleted file mode 100644 index 237ef0dc4a..0000000000 --- a/graphics/berries/palettes/lum.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 246 246 -255 255 222 -238 255 189 -230 255 156 -197 230 131 -172 205 115 -148 180 90 -123 156 74 -115 115 74 -106 82 74 -0 0 0 -0 0 0 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/mago.pal b/graphics/berries/palettes/mago.pal deleted file mode 100644 index 4441e45648..0000000000 --- a/graphics/berries/palettes/mago.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 222 205 -246 189 180 -246 164 156 -246 139 139 -197 106 106 -148 74 74 -98 41 49 -255 246 197 -230 205 148 -213 164 106 -197 131 65 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/magost.pal b/graphics/berries/palettes/magost.pal deleted file mode 100644 index 2393be3d67..0000000000 --- a/graphics/berries/palettes/magost.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 222 205 -246 189 180 -246 164 156 -246 139 139 -222 123 123 -197 106 106 -180 90 90 -255 246 197 -230 131 131 -246 148 148 -197 131 65 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/nanab.pal b/graphics/berries/palettes/nanab.pal deleted file mode 100644 index 4441e45648..0000000000 --- a/graphics/berries/palettes/nanab.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 222 205 -246 189 180 -246 164 156 -246 139 139 -197 106 106 -148 74 74 -98 41 49 -255 246 197 -230 205 148 -213 164 106 -197 131 65 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/nomel.pal b/graphics/berries/palettes/nomel.pal deleted file mode 100644 index 6844ddcc3a..0000000000 --- a/graphics/berries/palettes/nomel.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -246 238 222 -246 230 180 -246 230 148 -246 222 106 -255 222 74 -238 197 65 -222 180 65 -205 156 65 -189 139 65 -123 98 65 -172 255 74 -131 213 65 -90 180 65 -246 205 65 -238 205 65 diff --git a/graphics/berries/palettes/oran.pal b/graphics/berries/palettes/oran.pal deleted file mode 100644 index ac06d0224c..0000000000 --- a/graphics/berries/palettes/oran.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -189 205 213 -156 172 213 -123 148 213 -90 123 213 -65 98 213 -65 82 180 -65 65 148 -74 49 115 -148 106 82 -115 74 41 -0 0 0 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/pamtre.pal b/graphics/berries/palettes/pamtre.pal deleted file mode 100644 index fa2cb87a73..0000000000 --- a/graphics/berries/palettes/pamtre.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -189 205 213 -172 180 205 -156 148 189 -131 106 180 -115 74 172 -98 57 139 -90 49 106 -82 41 82 -238 189 213 -205 164 172 -180 139 139 -156 115 106 -131 90 74 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/pecha.pal b/graphics/berries/palettes/pecha.pal deleted file mode 100644 index b0743cc648..0000000000 --- a/graphics/berries/palettes/pecha.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 255 255 -255 222 197 -255 197 148 -222 172 123 -197 148 106 -172 123 90 -148 98 74 -0 0 0 -255 205 172 -238 180 131 -123 246 0 -90 213 0 -57 180 0 -24 148 0 -0 0 0 diff --git a/graphics/berries/palettes/persim.pal b/graphics/berries/palettes/persim.pal deleted file mode 100644 index 389fac6382..0000000000 --- a/graphics/berries/palettes/persim.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 222 205 -246 189 180 -246 164 156 -246 139 139 -197 106 106 -148 74 74 -98 41 49 -0 0 0 -0 0 0 -0 0 0 -90 98 82 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/petaya.pal b/graphics/berries/palettes/petaya.pal deleted file mode 100644 index c6eefb0767..0000000000 --- a/graphics/berries/palettes/petaya.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 246 246 -255 197 205 -246 164 180 -246 131 156 -246 106 139 -189 74 90 -139 41 49 -230 197 148 -205 172 123 -189 148 98 -172 123 74 -156 98 49 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/pinap.pal b/graphics/berries/palettes/pinap.pal deleted file mode 100644 index e62f61e204..0000000000 --- a/graphics/berries/palettes/pinap.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -246 238 222 -246 238 189 -246 238 156 -246 238 123 -222 205 106 -197 180 98 -172 156 90 -148 123 74 -123 98 65 -106 74 57 -148 255 172 -115 213 148 -82 180 123 -49 148 98 -0 0 0 diff --git a/graphics/berries/palettes/pomeg.pal b/graphics/berries/palettes/pomeg.pal deleted file mode 100644 index 01acf52c99..0000000000 --- a/graphics/berries/palettes/pomeg.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 255 123 -246 180 98 -246 106 74 -246 41 49 -213 49 41 -180 57 32 -148 65 24 -115 82 24 -189 238 131 -156 205 115 -123 172 98 -90 139 82 -115 90 74 -82 90 49 -57 98 32 diff --git a/graphics/berries/palettes/qualot.pal b/graphics/berries/palettes/qualot.pal deleted file mode 100644 index 4441e45648..0000000000 --- a/graphics/berries/palettes/qualot.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 222 205 -246 189 180 -246 164 156 -246 139 139 -197 106 106 -148 74 74 -98 41 49 -255 246 197 -230 205 148 -213 164 106 -197 131 65 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/rabuta.pal b/graphics/berries/palettes/rabuta.pal deleted file mode 100644 index 251beeb2db..0000000000 --- a/graphics/berries/palettes/rabuta.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 246 -230 255 156 -197 238 131 -164 222 106 -131 205 82 -98 189 57 -98 164 57 -98 139 57 -255 246 197 -230 213 172 -205 189 156 -180 164 131 -156 139 115 -139 115 98 -90 106 57 -90 139 82 diff --git a/graphics/berries/palettes/rawst.pal b/graphics/berries/palettes/rawst.pal deleted file mode 100644 index a7a4576b5d..0000000000 --- a/graphics/berries/palettes/rawst.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 98 246 -255 255 255 -213 230 222 -172 205 189 -131 189 156 -90 164 123 -49 148 98 -49 131 82 -57 115 74 -65 98 65 -74 82 57 -98 197 0 -49 148 0 -0 98 0 -148 205 0 -0 0 0 diff --git a/graphics/berries/palettes/razz.pal b/graphics/berries/palettes/razz.pal deleted file mode 100644 index 01acf52c99..0000000000 --- a/graphics/berries/palettes/razz.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 255 123 -246 180 98 -246 106 74 -246 41 49 -213 49 41 -180 57 32 -148 65 24 -115 82 24 -189 238 131 -156 205 115 -123 172 98 -90 139 82 -115 90 74 -82 90 49 -57 98 32 diff --git a/graphics/berries/palettes/salac.pal b/graphics/berries/palettes/salac.pal deleted file mode 100644 index c0849c6bc1..0000000000 --- a/graphics/berries/palettes/salac.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 255 255 -255 255 255 -246 255 222 -238 255 189 -230 255 156 -197 238 131 -164 222 106 -131 205 82 -98 189 57 -90 156 41 -82 123 24 -74 98 8 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/sitrus.pal b/graphics/berries/palettes/sitrus.pal deleted file mode 100644 index b80481ae1b..0000000000 --- a/graphics/berries/palettes/sitrus.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 246 246 -246 238 222 -246 238 172 -246 238 123 -222 213 106 -197 189 90 -172 164 82 -148 139 65 -123 115 57 -246 197 90 -246 172 32 -189 131 32 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/spelon.pal b/graphics/berries/palettes/spelon.pal deleted file mode 100644 index 01acf52c99..0000000000 --- a/graphics/berries/palettes/spelon.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 255 123 -246 180 98 -246 106 74 -246 41 49 -213 49 41 -180 57 32 -148 65 24 -115 82 24 -189 238 131 -156 205 115 -123 172 98 -90 139 82 -115 90 74 -82 90 49 -57 98 32 diff --git a/graphics/berries/palettes/starf.pal b/graphics/berries/palettes/starf.pal deleted file mode 100644 index 68525b6a67..0000000000 --- a/graphics/berries/palettes/starf.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 238 246 -246 139 90 -230 255 213 -205 255 180 -180 255 139 -156 255 106 -131 205 106 -106 164 106 -90 123 106 -246 41 41 -156 106 106 -255 156 156 -98 123 205 -164 213 41 -255 205 8 -0 0 0 diff --git a/graphics/berries/palettes/tamato.pal b/graphics/berries/palettes/tamato.pal deleted file mode 100644 index 01acf52c99..0000000000 --- a/graphics/berries/palettes/tamato.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 255 123 -246 180 98 -246 106 74 -246 41 49 -213 49 41 -180 57 32 -148 65 24 -115 82 24 -189 238 131 -156 205 115 -123 172 98 -90 139 82 -115 90 74 -82 90 49 -57 98 32 diff --git a/graphics/berries/palettes/watmel.pal b/graphics/berries/palettes/watmel.pal deleted file mode 100644 index 786c0a8481..0000000000 --- a/graphics/berries/palettes/watmel.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 246 246 -255 222 205 -246 189 180 -246 164 156 -246 139 139 -213 115 115 -180 90 90 -148 74 74 -255 246 197 -230 205 148 -238 255 180 -213 246 156 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/wepear.pal b/graphics/berries/palettes/wepear.pal deleted file mode 100644 index dac1511ffc..0000000000 --- a/graphics/berries/palettes/wepear.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 255 255 -230 255 156 -197 238 131 -164 222 106 -131 205 82 -98 189 57 -98 156 57 -98 123 57 -98 90 57 -0 0 0 -180 230 115 -0 0 0 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/palettes/wiki.pal b/graphics/berries/palettes/wiki.pal deleted file mode 100644 index 88586d6b52..0000000000 --- a/graphics/berries/palettes/wiki.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -197 197 197 -189 205 213 -164 156 197 -139 115 180 -115 74 172 -98 57 139 -90 49 106 -82 41 82 -180 139 123 -148 106 82 -115 74 41 -0 0 0 -189 238 131 -156 205 115 -123 172 98 -90 139 82 diff --git a/graphics/berries/pics/pamtre.png b/graphics/berries/pamtre.png similarity index 100% rename from graphics/berries/pics/pamtre.png rename to graphics/berries/pamtre.png diff --git a/graphics/berries/pics/pecha.png b/graphics/berries/pecha.png similarity index 100% rename from graphics/berries/pics/pecha.png rename to graphics/berries/pecha.png diff --git a/graphics/berries/pics/persim.png b/graphics/berries/persim.png similarity index 100% rename from graphics/berries/pics/persim.png rename to graphics/berries/persim.png diff --git a/graphics/berries/pics/petaya.png b/graphics/berries/petaya.png similarity index 100% rename from graphics/berries/pics/petaya.png rename to graphics/berries/petaya.png diff --git a/graphics/berries/pics/pinap.png b/graphics/berries/pinap.png similarity index 100% rename from graphics/berries/pics/pinap.png rename to graphics/berries/pinap.png diff --git a/graphics/berries/pics/pomeg.png b/graphics/berries/pomeg.png similarity index 100% rename from graphics/berries/pics/pomeg.png rename to graphics/berries/pomeg.png diff --git a/graphics/berries/pics/qualot.png b/graphics/berries/qualot.png similarity index 100% rename from graphics/berries/pics/qualot.png rename to graphics/berries/qualot.png diff --git a/graphics/berries/pics/rabuta.png b/graphics/berries/rabuta.png similarity index 100% rename from graphics/berries/pics/rabuta.png rename to graphics/berries/rabuta.png diff --git a/graphics/berries/pics/rawst.png b/graphics/berries/rawst.png similarity index 100% rename from graphics/berries/pics/rawst.png rename to graphics/berries/rawst.png diff --git a/graphics/berries/pics/razz.png b/graphics/berries/razz.png similarity index 100% rename from graphics/berries/pics/razz.png rename to graphics/berries/razz.png diff --git a/graphics/berries/pics/salac.png b/graphics/berries/salac.png similarity index 100% rename from graphics/berries/pics/salac.png rename to graphics/berries/salac.png diff --git a/graphics/berries/pics/sitrus.png b/graphics/berries/sitrus.png similarity index 100% rename from graphics/berries/pics/sitrus.png rename to graphics/berries/sitrus.png diff --git a/graphics/berries/pics/spelon.png b/graphics/berries/spelon.png similarity index 100% rename from graphics/berries/pics/spelon.png rename to graphics/berries/spelon.png diff --git a/graphics/berries/pics/starf.png b/graphics/berries/starf.png similarity index 100% rename from graphics/berries/pics/starf.png rename to graphics/berries/starf.png diff --git a/graphics/berries/pics/tamato.png b/graphics/berries/tamato.png similarity index 100% rename from graphics/berries/pics/tamato.png rename to graphics/berries/tamato.png diff --git a/graphics/berries/pics/watmel.png b/graphics/berries/watmel.png similarity index 100% rename from graphics/berries/pics/watmel.png rename to graphics/berries/watmel.png diff --git a/graphics/berries/pics/wepear.png b/graphics/berries/wepear.png similarity index 100% rename from graphics/berries/pics/wepear.png rename to graphics/berries/wepear.png diff --git a/graphics/berries/pics/wiki.png b/graphics/berries/wiki.png similarity index 100% rename from graphics/berries/pics/wiki.png rename to graphics/berries/wiki.png diff --git a/graphics/berry_blender/arrow.png b/graphics/berry_blender/arrow.png new file mode 100644 index 0000000000..a40948824e Binary files /dev/null and b/graphics/berry_blender/arrow.png differ diff --git a/graphics/berry_blender/arrow_old.png b/graphics/berry_blender/arrow_old.png new file mode 100644 index 0000000000..12d57c07e4 Binary files /dev/null and b/graphics/berry_blender/arrow_old.png differ diff --git a/graphics/berry_blender/center.png b/graphics/berry_blender/center.png new file mode 100644 index 0000000000..1da3629d4c Binary files /dev/null and b/graphics/berry_blender/center.png differ diff --git a/graphics/berry_blender/center_map.bin b/graphics/berry_blender/center_map.bin new file mode 100644 index 0000000000..ef28d5093b Binary files /dev/null and b/graphics/berry_blender/center_map.bin differ diff --git a/graphics/berry_blender/countdown_numbers.png b/graphics/berry_blender/countdown_numbers.png new file mode 100644 index 0000000000..7884d0c074 Binary files /dev/null and b/graphics/berry_blender/countdown_numbers.png differ diff --git a/graphics/berry_blender/marubatsu.png b/graphics/berry_blender/marubatsu.png new file mode 100644 index 0000000000..f927bbce94 Binary files /dev/null and b/graphics/berry_blender/marubatsu.png differ diff --git a/graphics/berry_blender/misc.pal b/graphics/berry_blender/misc.pal new file mode 100644 index 0000000000..9c1db8d12f --- /dev/null +++ b/graphics/berry_blender/misc.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +0 0 0 +255 213 0 +255 82 82 +98 255 255 +0 189 255 +98 255 98 +205 0 0 +255 0 0 +255 156 156 +0 0 0 +255 255 0 +255 255 148 +189 189 189 +255 255 255 diff --git a/graphics/berry_blender/outer.png b/graphics/berry_blender/outer.png new file mode 100644 index 0000000000..d8040b0220 Binary files /dev/null and b/graphics/berry_blender/outer.png differ diff --git a/graphics/berry_blender/outer_map.bin b/graphics/berry_blender/outer_map.bin new file mode 100644 index 0000000000..092e3997e1 Binary files /dev/null and b/graphics/berry_blender/outer_map.bin differ diff --git a/graphics/berry_blender/particles.png b/graphics/berry_blender/particles.png new file mode 100644 index 0000000000..d0086b0291 Binary files /dev/null and b/graphics/berry_blender/particles.png differ diff --git a/graphics/berry_blender/start.png b/graphics/berry_blender/start.png new file mode 100644 index 0000000000..5c8d8d5d92 Binary files /dev/null and b/graphics/berry_blender/start.png differ diff --git a/graphics/berry_crusher/tiles.bin b/graphics/berry_crusher/tiles.bin new file mode 100644 index 0000000000..c6cc0edb17 --- /dev/null +++ b/graphics/berry_crusher/tiles.bin @@ -0,0 +1 @@ +L@L@L@L@L@L@L@L@L@M@\@\@\@\@\@\@\@\@\@]@N@N@N@N@N@N@N@N@N@O@^@^@^@^@^@^@^@^@^@_@````````````````````nDm@m@m@m@m@m@m@m@m@~D}@}@}@}@}@}@}@}@}@d`````````d````````` \ No newline at end of file diff --git a/graphics/berry_crusher/tiles.pal b/graphics/berry_crusher/tiles.pal new file mode 100644 index 0000000000..13ea34e59e --- /dev/null +++ b/graphics/berry_crusher/tiles.pal @@ -0,0 +1,147 @@ +JASC-PAL +0100 +144 +98 172 180 +255 213 156 +255 197 139 +255 164 106 +238 131 82 +222 123 74 +213 98 49 +197 82 41 +156 213 189 +123 180 156 +222 156 255 +172 123 222 +255 0 255 +255 0 255 +230 230 255 +65 74 90 +156 148 172 +255 213 156 +255 197 139 +255 164 106 +238 131 82 +222 123 74 +213 98 49 +197 82 41 +255 238 0 +230 189 0 +180 180 180 +139 139 139 +255 0 255 +255 0 255 +230 230 255 +65 74 90 +156 148 172 +255 213 156 +255 197 139 +255 164 106 +238 131 82 +222 123 74 +213 98 49 +197 82 41 +197 213 246 +255 255 255 +238 238 246 +205 205 213 +255 0 255 +255 0 255 +230 230 255 +65 74 90 +255 180 255 +164 172 172 +98 106 115 +123 131 139 +139 148 156 +148 222 164 +156 189 222 +197 213 246 +180 164 115 +205 189 148 +213 205 172 +230 222 189 +246 238 205 +139 123 74 +74 131 189 +65 74 90 +0 0 0 +148 222 164 +164 230 172 +180 238 189 +197 246 205 +213 255 222 +238 255 238 +255 255 255 +65 180 238 +255 255 255 +0 197 57 +255 255 255 +246 213 0 +255 0 255 +246 238 205 +139 123 74 +255 164 106 +164 172 172 +98 106 115 +123 131 139 +139 148 156 +115 156 189 +156 189 222 +197 213 246 +180 164 115 +205 189 148 +213 205 172 +230 222 189 +246 238 205 +139 123 74 +74 131 189 +65 74 90 +0 0 0 +148 222 164 +164 230 172 +180 238 189 +197 246 205 +213 255 222 +238 255 238 +255 255 255 +189 65 255 +255 255 255 +123 123 123 +255 0 255 +246 238 205 +139 123 74 +180 189 189 +255 255 255 +0 0 255 +164 172 172 +98 106 115 +123 131 139 +139 148 156 +115 156 189 +156 189 222 +148 222 164 +180 164 115 +205 189 148 +213 205 172 +230 222 189 +246 238 205 +139 123 74 +74 131 189 +65 74 90 +98 172 180 +41 41 57 +213 213 222 +205 205 205 +238 238 238 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/berry_crusher/tiles.png b/graphics/berry_crusher/tiles.png new file mode 100644 index 0000000000..6e43adb27b Binary files /dev/null and b/graphics/berry_crusher/tiles.png differ diff --git a/graphics/berry_fix/gba_small.bin b/graphics/berry_fix/gba_small.bin new file mode 100644 index 0000000000..96e956d956 Binary files /dev/null and b/graphics/berry_fix/gba_small.bin differ diff --git a/graphics/berry_fix/gba_small.pal b/graphics/berry_fix/gba_small.pal new file mode 100644 index 0000000000..0e177217f5 --- /dev/null +++ b/graphics/berry_fix/gba_small.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +0 0 0 +255 255 255 +32 32 32 +172 172 172 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +164 213 90 +238 230 197 +148 197 213 +32 57 98 +106 148 197 +90 106 156 +255 255 255 +164 213 90 +32 32 32 +123 123 205 +255 255 255 +74 74 115 +197 197 197 +98 98 189 +106 106 197 +98 123 57 +131 131 131 +222 41 0 +189 123 41 +180 180 222 +0 0 0 +0 0 0 diff --git a/graphics/berry_fix/gba_small.png b/graphics/berry_fix/gba_small.png new file mode 100644 index 0000000000..3bf1f3e361 Binary files /dev/null and b/graphics/berry_fix/gba_small.png differ diff --git a/graphics/berry_fix/gba_transfer.bin b/graphics/berry_fix/gba_transfer.bin new file mode 100644 index 0000000000..987356047b Binary files /dev/null and b/graphics/berry_fix/gba_transfer.bin differ diff --git a/graphics/berry_fix/gba_transfer.pal b/graphics/berry_fix/gba_transfer.pal new file mode 100644 index 0000000000..0e177217f5 --- /dev/null +++ b/graphics/berry_fix/gba_transfer.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +0 0 0 +255 255 255 +32 32 32 +172 172 172 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +164 213 90 +238 230 197 +148 197 213 +32 57 98 +106 148 197 +90 106 156 +255 255 255 +164 213 90 +32 32 32 +123 123 205 +255 255 255 +74 74 115 +197 197 197 +98 98 189 +106 106 197 +98 123 57 +131 131 131 +222 41 0 +189 123 41 +180 180 222 +0 0 0 +0 0 0 diff --git a/graphics/berry_fix/gba_transfer.png b/graphics/berry_fix/gba_transfer.png new file mode 100644 index 0000000000..9b7eb5571f Binary files /dev/null and b/graphics/berry_fix/gba_transfer.png differ diff --git a/graphics/berry_fix/gba_transfer_error.bin b/graphics/berry_fix/gba_transfer_error.bin new file mode 100644 index 0000000000..3ee81549b1 Binary files /dev/null and b/graphics/berry_fix/gba_transfer_error.bin differ diff --git a/graphics/berry_fix/gba_transfer_error.pal b/graphics/berry_fix/gba_transfer_error.pal new file mode 100644 index 0000000000..0e177217f5 --- /dev/null +++ b/graphics/berry_fix/gba_transfer_error.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +0 0 0 +255 255 255 +32 32 32 +172 172 172 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +164 213 90 +238 230 197 +148 197 213 +32 57 98 +106 148 197 +90 106 156 +255 255 255 +164 213 90 +32 32 32 +123 123 205 +255 255 255 +74 74 115 +197 197 197 +98 98 189 +106 106 197 +98 123 57 +131 131 131 +222 41 0 +189 123 41 +180 180 222 +0 0 0 +0 0 0 diff --git a/graphics/berry_fix/gba_transfer_error.png b/graphics/berry_fix/gba_transfer_error.png new file mode 100644 index 0000000000..d8db4bfb95 Binary files /dev/null and b/graphics/berry_fix/gba_transfer_error.png differ diff --git a/graphics/berry_fix/gba_transfer_highlight.bin b/graphics/berry_fix/gba_transfer_highlight.bin new file mode 100644 index 0000000000..df44700617 Binary files /dev/null and b/graphics/berry_fix/gba_transfer_highlight.bin differ diff --git a/graphics/berry_fix/gba_transfer_highlight.pal b/graphics/berry_fix/gba_transfer_highlight.pal new file mode 100644 index 0000000000..0e177217f5 --- /dev/null +++ b/graphics/berry_fix/gba_transfer_highlight.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +0 0 0 +255 255 255 +32 32 32 +172 172 172 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +164 213 90 +238 230 197 +148 197 213 +32 57 98 +106 148 197 +90 106 156 +255 255 255 +164 213 90 +32 32 32 +123 123 205 +255 255 255 +74 74 115 +197 197 197 +98 98 189 +106 106 197 +98 123 57 +131 131 131 +222 41 0 +189 123 41 +180 180 222 +0 0 0 +0 0 0 diff --git a/graphics/berry_fix/gba_transfer_highlight.png b/graphics/berry_fix/gba_transfer_highlight.png new file mode 100644 index 0000000000..9fb9b6a48b Binary files /dev/null and b/graphics/berry_fix/gba_transfer_highlight.png differ diff --git a/graphics/berry_fix/logo.bin b/graphics/berry_fix/logo.bin new file mode 100644 index 0000000000..3abafb27f5 Binary files /dev/null and b/graphics/berry_fix/logo.bin differ diff --git a/graphics/berry_fix/logo.pal b/graphics/berry_fix/logo.pal new file mode 100644 index 0000000000..4c76f3f9a8 --- /dev/null +++ b/graphics/berry_fix/logo.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +255 255 255 +32 32 32 +172 172 172 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +164 213 90 +238 230 197 +148 197 213 +32 57 98 +106 148 197 +90 106 156 +255 255 255 +164 213 90 +32 32 32 +123 123 205 +255 255 255 +74 74 115 +197 197 197 +98 98 189 +106 106 197 +98 123 57 +131 131 131 +222 41 0 +189 123 41 +180 180 222 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +238 238 238 +222 222 230 +205 205 222 +197 197 205 +180 180 197 +164 164 189 +156 156 172 +139 139 164 +123 123 156 +115 115 139 +98 98 131 +82 82 123 +74 74 115 +32 32 32 diff --git a/graphics/berry_fix/logo.png b/graphics/berry_fix/logo.png new file mode 100644 index 0000000000..29cda79b0a Binary files /dev/null and b/graphics/berry_fix/logo.png differ diff --git a/graphics/berry_fix/window.bin b/graphics/berry_fix/window.bin new file mode 100644 index 0000000000..cbbfd7ebcc Binary files /dev/null and b/graphics/berry_fix/window.bin differ diff --git a/graphics/berry_fix/window.pal b/graphics/berry_fix/window.pal new file mode 100644 index 0000000000..0e177217f5 --- /dev/null +++ b/graphics/berry_fix/window.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +0 0 0 +255 255 255 +32 32 32 +172 172 172 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +164 213 90 +238 230 197 +148 197 213 +32 57 98 +106 148 197 +90 106 156 +255 255 255 +164 213 90 +32 32 32 +123 123 205 +255 255 255 +74 74 115 +197 197 197 +98 98 189 +106 106 197 +98 123 57 +131 131 131 +222 41 0 +189 123 41 +180 180 222 +0 0 0 +0 0 0 diff --git a/graphics/berry_fix/window.png b/graphics/berry_fix/window.png new file mode 100644 index 0000000000..7b57701e35 Binary files /dev/null and b/graphics/berry_fix/window.png differ diff --git a/graphics/birch_speech/birch.pal b/graphics/birch_speech/birch.pal deleted file mode 100644 index b89a5861a2..0000000000 --- a/graphics/birch_speech/birch.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -255 230 205 -222 189 148 -197 148 115 -106 74 65 -98 98 115 -41 57 65 -180 115 82 -115 74 57 -205 205 222 -148 148 148 -189 156 90 -139 115 57 -74 49 24 -255 255 255 -0 0 24 diff --git a/graphics/contest/applause.png b/graphics/contest/applause.png new file mode 100644 index 0000000000..35067b7e7f Binary files /dev/null and b/graphics/contest/applause.png differ diff --git a/graphics/contest/applause_meter.png b/graphics/contest/applause_meter.png new file mode 100644 index 0000000000..8a4fce8c08 Binary files /dev/null and b/graphics/contest/applause_meter.png differ diff --git a/graphics/contest/audience.png b/graphics/contest/audience.png new file mode 100644 index 0000000000..59f8d0add2 Binary files /dev/null and b/graphics/contest/audience.png differ diff --git a/graphics/contest/clink_tilemap1.bin b/graphics/contest/clink_tilemap1.bin new file mode 100644 index 0000000000..e22f218394 Binary files /dev/null and b/graphics/contest/clink_tilemap1.bin differ diff --git a/graphics/contest/clink_tilemap10.bin b/graphics/contest/clink_tilemap10.bin new file mode 100644 index 0000000000..2a91bb78d3 --- /dev/null +++ b/graphics/contest/clink_tilemap10.bin @@ -0,0 +1 @@ +@@@@@@@@@@ \ No newline at end of file diff --git a/graphics/contest/clink_tilemap11.bin b/graphics/contest/clink_tilemap11.bin new file mode 100644 index 0000000000..3b46e00b8f Binary files /dev/null and b/graphics/contest/clink_tilemap11.bin differ diff --git a/graphics/contest/clink_tilemap2.bin b/graphics/contest/clink_tilemap2.bin new file mode 100644 index 0000000000..21c804d128 Binary files /dev/null and b/graphics/contest/clink_tilemap2.bin differ diff --git a/graphics/contest/clink_tilemap3.bin b/graphics/contest/clink_tilemap3.bin new file mode 100644 index 0000000000..d4bb7bae70 Binary files /dev/null and b/graphics/contest/clink_tilemap3.bin differ diff --git a/graphics/contest/clink_tilemap4.bin b/graphics/contest/clink_tilemap4.bin new file mode 100644 index 0000000000..32f24abd66 Binary files /dev/null and b/graphics/contest/clink_tilemap4.bin differ diff --git a/graphics/contest/clink_tilemap5.bin b/graphics/contest/clink_tilemap5.bin new file mode 100644 index 0000000000..cc07b0f1ab Binary files /dev/null and b/graphics/contest/clink_tilemap5.bin differ diff --git a/graphics/contest/clink_tilemap6.bin b/graphics/contest/clink_tilemap6.bin new file mode 100644 index 0000000000..f3939831e1 Binary files /dev/null and b/graphics/contest/clink_tilemap6.bin differ diff --git a/graphics/contest/clink_tilemap7.bin b/graphics/contest/clink_tilemap7.bin new file mode 100644 index 0000000000..fe02ec0b5b --- /dev/null +++ b/graphics/contest/clink_tilemap7.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/graphics/contest/clink_tilemap8.bin b/graphics/contest/clink_tilemap8.bin new file mode 100644 index 0000000000..d37d6df3cd --- /dev/null +++ b/graphics/contest/clink_tilemap8.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/graphics/contest/clink_tilemap9.bin b/graphics/contest/clink_tilemap9.bin new file mode 100644 index 0000000000..79d2e3fbb6 --- /dev/null +++ b/graphics/contest/clink_tilemap9.bin @@ -0,0 +1 @@ +0000000000 \ No newline at end of file diff --git a/graphics/contest/faces.png b/graphics/contest/faces.png new file mode 100644 index 0000000000..bba47a91d9 Binary files /dev/null and b/graphics/contest/faces.png differ diff --git a/graphics/contest/heart.png b/graphics/contest/heart.png new file mode 100644 index 0000000000..bd1ede8fcc Binary files /dev/null and b/graphics/contest/heart.png differ diff --git a/graphics/contest/judge.png b/graphics/contest/judge.png new file mode 100644 index 0000000000..c4dcf520ba Binary files /dev/null and b/graphics/contest/judge.png differ diff --git a/graphics/contest/judge_symbols.png b/graphics/contest/judge_symbols.png new file mode 100644 index 0000000000..7669fb88b2 Binary files /dev/null and b/graphics/contest/judge_symbols.png differ diff --git a/graphics/contest/misc.png b/graphics/contest/misc.png new file mode 100644 index 0000000000..5e3b404621 Binary files /dev/null and b/graphics/contest/misc.png differ diff --git a/graphics/contest/misc_2.pal b/graphics/contest/misc_2.pal new file mode 100644 index 0000000000..869aef9e1f --- /dev/null +++ b/graphics/contest/misc_2.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 0 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +255 106 115 +255 57 57 +205 32 0 +246 213 0 +255 123 98 +156 180 90 +164 148 57 +90 106 139 +180 172 82 +0 0 0 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +164 222 255 +106 148 255 +24 57 205 +246 213 0 +255 123 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +255 197 255 +255 139 255 +213 0 139 +246 213 0 +255 123 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +180 255 197 +148 255 164 +65 172 57 +246 213 0 +255 123 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +255 255 164 +246 213 0 +230 106 0 +246 213 0 +255 123 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +197 255 255 +255 255 255 +213 213 213 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +164 222 255 +106 148 255 +49 82 255 +180 255 197 +148 255 164 +65 172 57 +0 0 0 +0 0 0 +0 0 0 +197 255 255 +255 255 255 +213 213 213 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +255 139 230 +255 139 230 +255 49 156 +255 255 0 +255 255 0 +189 172 0 +41 49 90 +41 49 90 +0 0 0 +197 123 131 +255 255 255 +230 246 255 +205 238 255 +180 238 255 +156 230 255 +139 230 255 +255 205 230 +255 255 139 +255 230 255 +255 255 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +197 255 255 +255 255 255 +213 213 213 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +255 172 197 +255 172 172 +255 180 148 +255 189 123 +255 197 98 +255 205 82 +156 156 156 +156 156 156 +156 156 156 +197 255 255 +255 255 255 +213 213 213 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +164 222 255 +106 148 255 +49 82 255 +180 255 197 +148 255 164 +65 172 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +164 222 255 +106 230 222 +49 238 189 +0 255 156 +0 255 156 +82 255 98 +164 255 49 +255 255 0 +255 172 16 +255 90 32 +255 8 57 +230 57 106 +205 115 156 +180 164 205 +164 222 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/contest/misc_2.png b/graphics/contest/misc_2.png new file mode 100644 index 0000000000..106b975cf4 Binary files /dev/null and b/graphics/contest/misc_2.png differ diff --git a/graphics/contest/misc_2_tilemap_1.bin b/graphics/contest/misc_2_tilemap_1.bin new file mode 100644 index 0000000000..197e88cee1 Binary files /dev/null and b/graphics/contest/misc_2_tilemap_1.bin differ diff --git a/graphics/contest/misc_2_tilemap_2.bin b/graphics/contest/misc_2_tilemap_2.bin new file mode 100644 index 0000000000..b311268365 Binary files /dev/null and b/graphics/contest/misc_2_tilemap_2.bin differ diff --git a/graphics/contest/misc_2_tilemap_3.bin b/graphics/contest/misc_2_tilemap_3.bin new file mode 100644 index 0000000000..5055ab79ec --- /dev/null +++ b/graphics/contest/misc_2_tilemap_3.bin @@ -0,0 +1 @@ +`papat`tppttbpcpctbtppttdpepetdtppttfpgpgtftppttppqpqtptppttrpspstrtpptttpuputttppttvpwpwtvtppttppttfpgpgtftpptt`papat`tppttbpcpctbtppttdpepetdtppttvpwpwtvtppttppqpqtptppttrpspstrtpptttpuputttbpcpctbtppttdpepetdtppttfpgpgtftpptt`papat`tppttrpspstrtpptttpuputttppttvpwpwtvtppttppqpqtptppttpptt`papat`tppttbpcpctbtppttdpepetdtppttfpgpgtftppttppqpqtptppttrpspstrtpptttpuputttppttvpwpwtvtdpepetdtppttfpgpgtftpptt`papat`tppttbpcpctbtpptttpuputttppttvpwpwtvtppttppqpqtptppttrpspstrtppttppttbpcpctbtppttdpepetdtppttfpgpgtftpptt`papat`tppttrpspstrtpptttpuputttppttvpwpwtvtppttppqpqtptfpgpgtftpptt`papat`tppttbpcpctbtppttdpepetdtppttvpwpwtvtppttppqpqtptppttrpspstrtpptttpuputttppttppttdpepetdtppttfpgpgtftpptt`papat`tppttbpcpctbtpptttpuputttppttvpwpwtvtppttppqpqtptppttrpspstrt`papat`tppttbpcpctbtppttdpepetdtppttfpgpgtftppttppqpqtptppttrpspstrtpptttpuputttppttvpwpwtvtppttppttfpgpgtftpptt`papat`tppttbpcpctbtppttdpepetdtppttvpwpwtvtppttppqpqtptppttrpspstrtpptttpuputttbpcpctbtppttdpepetdtppttfpgpgtftpptt`papat`tppttrpspstrtpptttpuputttppttvpwpwtvtppttppqpqtptppttpptt`papat`tppttbpcpctbtppttdpepetdtppttfpgpgtftppttppqpqtptppttrpspstrtpptttpuputttppttvpwpwtvtdpepetdtppttfpgpgtftpptt`papat`tppttbpcpctbtpptttpuputttppttvpwpwtvtppttppqpqtptppttrpspstrtppttppttbpcpctbtppttdpepetdtppttfpgpgtftpptt`papat`tppttrpspstrtpptttpuputttppttvpwpwtvtppttppqpqtptfpgpgtftpptt`papat`tppttbpcpctbtppttdpepetdtppttvpwpwtvtppttppqpqtptppttrpspstrtpptttpuputttppttppttdpepetdtppttfpgpgtftpptt`papat`tppttbpcpctbtpptttpuputttppttvpwpwtvtppttppqpqtptppttrpspstrt \ No newline at end of file diff --git a/graphics/contest/nextturn.png b/graphics/contest/nextturn.png new file mode 100644 index 0000000000..1d79d0608c Binary files /dev/null and b/graphics/contest/nextturn.png differ diff --git a/graphics/contest/nextturn_numbers.png b/graphics/contest/nextturn_numbers.png new file mode 100644 index 0000000000..cd0305b167 Binary files /dev/null and b/graphics/contest/nextturn_numbers.png differ diff --git a/graphics/contest/nextturn_random.png b/graphics/contest/nextturn_random.png new file mode 100644 index 0000000000..7205bad8c8 Binary files /dev/null and b/graphics/contest/nextturn_random.png differ diff --git a/graphics/decorations/decor_attract_mat.pal b/graphics/decorations/decor_attract_mat.pal deleted file mode 100644 index 6f188b725f..0000000000 --- a/graphics/decorations/decor_attract_mat.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -0 0 0 -255 230 222 -255 197 197 -246 156 156 -213 115 172 -197 189 131 -246 148 205 -123 82 74 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -246 246 246 -0 0 0 diff --git a/graphics/decorations/decor_big_plant.pal b/graphics/decorations/decor_big_plant.pal deleted file mode 100644 index 6e5a869f39..0000000000 --- a/graphics/decorations/decor_big_plant.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -0 0 0 -189 230 106 -123 172 74 -90 139 65 -57 98 41 -213 180 106 -180 139 82 -139 98 49 -82 57 32 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_blastoise_doll.pal b/graphics/decorations/decor_blastoise_doll.pal deleted file mode 100644 index a4ad56936e..0000000000 --- a/graphics/decorations/decor_blastoise_doll.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -197 222 255 -131 189 255 -90 139 213 -57 90 131 -213 156 90 -230 189 131 -156 131 90 -98 82 41 -139 90 74 -0 0 0 -0 0 0 -0 0 0 -246 246 246 -0 0 0 diff --git a/graphics/decorations/decor_blue_brick.pal b/graphics/decorations/decor_blue_brick.pal deleted file mode 100644 index e8720d82ff..0000000000 --- a/graphics/decorations/decor_blue_brick.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -156 180 246 -82 131 230 -57 98 189 -24 65 131 -106 106 106 -74 74 74 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_blue_tent.pal b/graphics/decorations/decor_blue_tent.pal deleted file mode 100644 index e38cb56af6..0000000000 --- a/graphics/decorations/decor_blue_tent.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -148 172 255 -115 139 238 -65 90 189 -49 57 123 -0 0 0 -197 205 230 -164 164 164 -131 131 131 -90 82 74 -0 0 0 -0 0 0 -0 0 0 -246 246 246 -0 0 0 diff --git a/graphics/decorations/decor_breakable_door.pal b/graphics/decorations/decor_breakable_door.pal deleted file mode 100644 index 85ece26dc6..0000000000 --- a/graphics/decorations/decor_breakable_door.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -0 0 0 -139 189 255 -106 156 213 -213 189 115 -156 131 41 -123 98 8 -90 74 57 -189 164 74 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -246 246 246 -197 197 197 diff --git a/graphics/decorations/decor_brick_desk.pal b/graphics/decorations/decor_brick_desk.pal deleted file mode 100644 index 16b581470d..0000000000 --- a/graphics/decorations/decor_brick_desk.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -0 0 0 -255 180 82 -230 139 49 -189 90 16 -0 0 0 -0 0 0 -0 0 0 -197 197 197 -148 148 156 -106 106 98 -74 74 74 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_camp_desk.pal b/graphics/decorations/decor_camp_desk.pal deleted file mode 100644 index 0ac362c8ad..0000000000 --- a/graphics/decorations/decor_camp_desk.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -205 189 123 -172 156 90 -148 131 65 -123 98 32 -82 57 41 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_charizard_doll.pal b/graphics/decorations/decor_charizard_doll.pal deleted file mode 100644 index 3e3e6bb790..0000000000 --- a/graphics/decorations/decor_charizard_doll.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -0 0 0 -238 172 98 -255 205 74 -222 156 41 -115 74 24 -164 98 24 -0 0 0 -230 82 65 -180 49 32 -0 0 0 -0 0 0 -0 0 0 -246 246 246 -255 238 197 diff --git a/graphics/decorations/decor_colorful_plant.pal b/graphics/decorations/decor_colorful_plant.pal deleted file mode 100644 index 996b183d25..0000000000 --- a/graphics/decorations/decor_colorful_plant.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -0 0 0 -205 180 115 -180 139 98 -131 90 57 -156 222 90 -139 189 139 -98 148 98 -41 90 57 -106 189 255 -255 123 172 -255 213 74 -0 0 0 -238 238 238 -0 0 0 diff --git a/graphics/decorations/decor_comfort_desk.pal b/graphics/decorations/decor_comfort_desk.pal deleted file mode 100644 index f686f4b5c1..0000000000 --- a/graphics/decorations/decor_comfort_desk.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -180 222 139 -139 189 139 -90 139 90 -41 90 41 -115 164 115 -0 0 0 -164 131 65 -115 82 57 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_fire_blast_mat.pal b/graphics/decorations/decor_fire_blast_mat.pal deleted file mode 100644 index ea2301df2f..0000000000 --- a/graphics/decorations/decor_fire_blast_mat.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -0 0 0 -255 180 82 -238 148 41 -213 98 24 -139 65 41 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_fissure_mat.pal b/graphics/decorations/decor_fissure_mat.pal deleted file mode 100644 index d2a4efb6d1..0000000000 --- a/graphics/decorations/decor_fissure_mat.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -205 189 131 -189 172 106 -156 139 74 -123 106 41 -98 74 32 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_glass_ornament.pal b/graphics/decorations/decor_glass_ornament.pal deleted file mode 100644 index 1027a95013..0000000000 --- a/graphics/decorations/decor_glass_ornament.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -0 0 0 -0 0 0 -189 230 255 -156 197 255 -115 164 238 -82 139 189 -57 98 131 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -238 246 246 -0 0 0 diff --git a/graphics/decorations/decor_gorgeous_plant.pal b/graphics/decorations/decor_gorgeous_plant.pal deleted file mode 100644 index 782b82eef6..0000000000 --- a/graphics/decorations/decor_gorgeous_plant.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -180 222 139 -139 180 139 -90 139 106 -49 82 41 -0 0 0 -148 115 82 -115 82 24 -0 0 0 -230 230 230 -164 164 164 -106 106 106 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_hard_desk.pal b/graphics/decorations/decor_hard_desk.pal deleted file mode 100644 index 7aa8154ab5..0000000000 --- a/graphics/decorations/decor_hard_desk.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -197 197 197 -156 156 156 -115 115 115 -98 98 98 -74 74 74 -139 139 139 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_heavy_desk.pal b/graphics/decorations/decor_heavy_desk.pal deleted file mode 100644 index c0ec71f09d..0000000000 --- a/graphics/decorations/decor_heavy_desk.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -180 180 197 -148 148 156 -90 90 90 -255 180 82 -230 139 49 -197 90 8 -90 41 8 -0 0 0 -123 123 123 -65 65 65 -106 106 115 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_lapras_doll.pal b/graphics/decorations/decor_lapras_doll.pal deleted file mode 100644 index c7d2fe61a5..0000000000 --- a/graphics/decorations/decor_lapras_doll.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -0 0 0 -189 230 255 -115 180 246 -74 139 189 -32 90 139 -0 0 0 -0 0 0 -246 197 131 -222 156 98 -197 156 123 -106 74 41 -0 0 0 -246 246 246 -0 0 0 diff --git a/graphics/decorations/decor_powder_snow_mat.pal b/graphics/decorations/decor_powder_snow_mat.pal deleted file mode 100644 index 9f365a3da9..0000000000 --- a/graphics/decorations/decor_powder_snow_mat.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -238 238 246 -180 205 255 -131 164 205 -197 222 255 -213 238 255 -98 131 172 -148 180 222 -49 82 123 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_pretty_desk.pal b/graphics/decorations/decor_pretty_desk.pal deleted file mode 100644 index 7681a17cc1..0000000000 --- a/graphics/decorations/decor_pretty_desk.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -0 0 0 -189 222 255 -156 197 255 -0 0 0 -131 164 246 -49 82 123 -0 0 0 -0 0 0 -0 0 0 -180 180 180 -131 131 131 -90 90 90 -246 246 246 -0 0 0 diff --git a/graphics/decorations/decor_pretty_flowers.pal b/graphics/decorations/decor_pretty_flowers.pal deleted file mode 100644 index c3b0ffce97..0000000000 --- a/graphics/decorations/decor_pretty_flowers.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -0 0 0 -0 0 0 -205 180 74 -156 139 32 -90 74 49 -123 106 41 -115 180 98 -74 123 57 -41 82 32 -255 205 180 -123 74 49 -238 156 139 -246 246 246 -222 197 197 diff --git a/graphics/decorations/decor_ragged_desk.pal b/graphics/decorations/decor_ragged_desk.pal deleted file mode 100644 index bac2a73729..0000000000 --- a/graphics/decorations/decor_ragged_desk.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 205 98 -49 49 49 -238 222 172 -213 197 139 -180 164 106 -148 131 74 -123 98 49 -82 65 32 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_red_brick.pal b/graphics/decorations/decor_red_brick.pal deleted file mode 100644 index f9d647ddad..0000000000 --- a/graphics/decorations/decor_red_brick.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -238 123 123 -189 74 65 -148 32 32 -123 16 16 -106 106 106 -74 74 74 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_red_plant.pal b/graphics/decorations/decor_red_plant.pal deleted file mode 100644 index c3021eee52..0000000000 --- a/graphics/decorations/decor_red_plant.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -222 115 123 -189 74 82 -139 32 32 -82 32 16 -0 0 0 -115 164 106 -65 123 57 -24 82 41 -0 0 0 -205 172 98 -156 123 82 -106 82 57 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_red_tent.pal b/graphics/decorations/decor_red_tent.pal deleted file mode 100644 index 61951623b9..0000000000 --- a/graphics/decorations/decor_red_tent.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -246 123 123 -222 90 90 -180 49 49 -115 49 57 -0 0 0 -197 205 230 -164 164 164 -131 131 131 -90 82 74 -0 0 0 -0 0 0 -0 0 0 -246 246 246 -0 0 0 diff --git a/graphics/decorations/decor_regice_doll.pal b/graphics/decorations/decor_regice_doll.pal deleted file mode 100644 index 39404f681d..0000000000 --- a/graphics/decorations/decor_regice_doll.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -0 0 0 -238 238 255 -180 189 205 -139 148 172 -82 98 115 -115 123 139 -0 0 0 -0 0 0 -246 180 65 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_regirock_doll.pal b/graphics/decorations/decor_regirock_doll.pal deleted file mode 100644 index 5c39edb2f4..0000000000 --- a/graphics/decorations/decor_regirock_doll.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -0 0 0 -0 0 0 -180 164 98 -123 115 49 -82 74 49 -0 0 0 -205 115 82 -148 65 82 -0 0 0 -189 74 24 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_registeel_doll.pal b/graphics/decorations/decor_registeel_doll.pal deleted file mode 100644 index 328f35a4ff..0000000000 --- a/graphics/decorations/decor_registeel_doll.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -0 0 0 -238 238 238 -197 197 197 -164 164 164 -123 123 131 -82 82 90 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -172 82 65 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_rhydon_doll.pal b/graphics/decorations/decor_rhydon_doll.pal deleted file mode 100644 index 432dae5a9e..0000000000 --- a/graphics/decorations/decor_rhydon_doll.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -222 222 222 -164 164 164 -189 189 189 -139 139 139 -106 106 106 -82 82 82 -230 197 115 -189 148 74 -131 98 74 -0 0 0 -0 0 0 -0 0 0 -246 246 246 -0 0 0 diff --git a/graphics/decorations/decor_sand_ornament.pal b/graphics/decorations/decor_sand_ornament.pal deleted file mode 100644 index e2fca6e316..0000000000 --- a/graphics/decorations/decor_sand_ornament.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -0 0 0 -213 197 156 -189 164 90 -148 123 49 -90 74 24 -131 106 32 -172 148 74 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_slide.pal b/graphics/decorations/decor_slide.pal deleted file mode 100644 index 395694fa3d..0000000000 --- a/graphics/decorations/decor_slide.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -148 189 238 -106 148 205 -65 115 172 -180 222 255 -0 0 0 -0 0 0 -0 0 0 -213 213 213 -189 189 189 -156 156 156 -106 106 106 -0 0 0 -246 246 246 -0 0 0 diff --git a/graphics/decorations/decor_snorlax_doll.pal b/graphics/decorations/decor_snorlax_doll.pal deleted file mode 100644 index 21026b10d8..0000000000 --- a/graphics/decorations/decor_snorlax_doll.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -0 0 0 -0 0 0 -131 139 164 -82 90 115 -0 0 0 -255 238 222 -255 197 148 -222 156 90 -139 90 49 -172 106 49 -230 172 123 -0 0 0 -238 238 238 -189 189 197 diff --git a/graphics/decorations/decor_solid_board.pal b/graphics/decorations/decor_solid_board.pal deleted file mode 100644 index 9995483b42..0000000000 --- a/graphics/decorations/decor_solid_board.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -0 0 0 -189 164 98 -156 131 65 -123 90 41 -106 90 74 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_spikes_mat.pal b/graphics/decorations/decor_spikes_mat.pal deleted file mode 100644 index ec37e1fe06..0000000000 --- a/graphics/decorations/decor_spikes_mat.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 213 98 -49 49 49 -0 0 0 -148 197 148 -106 172 115 -82 148 90 -139 156 98 -222 205 139 -180 164 98 -205 189 131 -49 98 57 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_stand.pal b/graphics/decorations/decor_stand.pal deleted file mode 100644 index a85f0b7b21..0000000000 --- a/graphics/decorations/decor_stand.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -255 180 156 -238 115 106 -197 65 65 -0 0 0 -0 0 0 -0 0 0 -197 197 197 -172 172 172 -131 131 131 -106 106 106 -0 0 0 -0 0 0 -246 246 246 -0 0 0 diff --git a/graphics/decorations/decor_surf_mat.pal b/graphics/decorations/decor_surf_mat.pal deleted file mode 100644 index 17be591b77..0000000000 --- a/graphics/decorations/decor_surf_mat.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -0 0 0 -205 238 255 -164 205 255 -148 180 255 -115 148 222 -57 90 156 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -246 246 255 -0 0 0 diff --git a/graphics/decorations/decor_thunder_mat.pal b/graphics/decorations/decor_thunder_mat.pal deleted file mode 100644 index fbe4888601..0000000000 --- a/graphics/decorations/decor_thunder_mat.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -0 0 0 -0 0 0 -189 222 255 -172 205 238 -139 172 205 -139 156 164 -255 230 123 -90 106 115 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -238 246 255 -0 0 0 diff --git a/graphics/decorations/decor_tire.pal b/graphics/decorations/decor_tire.pal deleted file mode 100644 index 18a3279fc2..0000000000 --- a/graphics/decorations/decor_tire.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -0 0 0 -238 238 238 -189 189 189 -164 164 164 -131 131 131 -98 98 98 -74 74 74 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_tropical_plant.pal b/graphics/decorations/decor_tropical_plant.pal deleted file mode 100644 index 4057e7cb21..0000000000 --- a/graphics/decorations/decor_tropical_plant.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -197 172 82 -164 139 49 -131 106 16 -82 65 16 -0 0 0 -0 0 0 -148 222 90 -106 180 49 -74 131 24 -32 90 24 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/decorations/decor_venusaur_doll.pal b/graphics/decorations/decor_venusaur_doll.pal deleted file mode 100644 index dcd11bea26..0000000000 --- a/graphics/decorations/decor_venusaur_doll.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -0 0 0 -197 255 222 -123 189 57 -82 148 24 -74 115 24 -41 82 32 -238 156 139 -213 98 90 -164 74 74 -115 57 65 -230 189 65 -131 98 24 -82 32 41 -246 246 246 diff --git a/graphics/decorations/decor_wailmer_doll.pal b/graphics/decorations/decor_wailmer_doll.pal deleted file mode 100644 index 99347748e5..0000000000 --- a/graphics/decorations/decor_wailmer_doll.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -0 0 0 -0 0 0 -106 148 172 -74 115 148 -57 98 123 -57 65 106 -230 180 106 -205 148 82 -180 139 57 -115 74 41 -0 0 0 -213 213 213 -246 246 246 -164 164 164 diff --git a/graphics/decorations/decor_yellow_brick.pal b/graphics/decorations/decor_yellow_brick.pal deleted file mode 100644 index cfdd874ade..0000000000 --- a/graphics/decorations/decor_yellow_brick.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 197 98 -49 49 49 -255 230 106 -222 197 49 -180 156 8 -148 123 0 -106 106 106 -74 74 74 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/door_anims/00/0.png b/graphics/door_anims/00/0.png new file mode 100644 index 0000000000..ac2c4b4382 Binary files /dev/null and b/graphics/door_anims/00/0.png differ diff --git a/graphics/door_anims/00/1.png b/graphics/door_anims/00/1.png new file mode 100644 index 0000000000..cfe812f75e Binary files /dev/null and b/graphics/door_anims/00/1.png differ diff --git a/graphics/door_anims/00/2.png b/graphics/door_anims/00/2.png new file mode 100644 index 0000000000..88e5d480c4 Binary files /dev/null and b/graphics/door_anims/00/2.png differ diff --git a/graphics/door_anims/01/0.png b/graphics/door_anims/01/0.png new file mode 100644 index 0000000000..cb8c6fc4ce Binary files /dev/null and b/graphics/door_anims/01/0.png differ diff --git a/graphics/door_anims/01/1.png b/graphics/door_anims/01/1.png new file mode 100644 index 0000000000..102db4cef8 Binary files /dev/null and b/graphics/door_anims/01/1.png differ diff --git a/graphics/door_anims/01/2.png b/graphics/door_anims/01/2.png new file mode 100644 index 0000000000..0a97da6cec Binary files /dev/null and b/graphics/door_anims/01/2.png differ diff --git a/graphics/door_anims/02/0.png b/graphics/door_anims/02/0.png new file mode 100644 index 0000000000..7449499714 Binary files /dev/null and b/graphics/door_anims/02/0.png differ diff --git a/graphics/door_anims/02/1.png b/graphics/door_anims/02/1.png new file mode 100644 index 0000000000..6c328b9ff7 Binary files /dev/null and b/graphics/door_anims/02/1.png differ diff --git a/graphics/door_anims/02/2.png b/graphics/door_anims/02/2.png new file mode 100644 index 0000000000..0ee9ba8f09 Binary files /dev/null and b/graphics/door_anims/02/2.png differ diff --git a/graphics/door_anims/03/0.png b/graphics/door_anims/03/0.png new file mode 100644 index 0000000000..cb8c6fc4ce Binary files /dev/null and b/graphics/door_anims/03/0.png differ diff --git a/graphics/door_anims/03/1.png b/graphics/door_anims/03/1.png new file mode 100644 index 0000000000..102db4cef8 Binary files /dev/null and b/graphics/door_anims/03/1.png differ diff --git a/graphics/door_anims/03/2.png b/graphics/door_anims/03/2.png new file mode 100644 index 0000000000..0a97da6cec Binary files /dev/null and b/graphics/door_anims/03/2.png differ diff --git a/graphics/door_anims/04/0.png b/graphics/door_anims/04/0.png new file mode 100644 index 0000000000..1c2cd1db11 Binary files /dev/null and b/graphics/door_anims/04/0.png differ diff --git a/graphics/door_anims/04/1.png b/graphics/door_anims/04/1.png new file mode 100644 index 0000000000..65b58bc82d Binary files /dev/null and b/graphics/door_anims/04/1.png differ diff --git a/graphics/door_anims/04/2.png b/graphics/door_anims/04/2.png new file mode 100644 index 0000000000..8c8e37b7df Binary files /dev/null and b/graphics/door_anims/04/2.png differ diff --git a/graphics/door_anims/05/0.png b/graphics/door_anims/05/0.png new file mode 100644 index 0000000000..8f4fe425fd Binary files /dev/null and b/graphics/door_anims/05/0.png differ diff --git a/graphics/door_anims/05/1.png b/graphics/door_anims/05/1.png new file mode 100644 index 0000000000..52002fb325 Binary files /dev/null and b/graphics/door_anims/05/1.png differ diff --git a/graphics/door_anims/05/2.png b/graphics/door_anims/05/2.png new file mode 100644 index 0000000000..2b4f365087 Binary files /dev/null and b/graphics/door_anims/05/2.png differ diff --git a/graphics/door_anims/06/0.png b/graphics/door_anims/06/0.png new file mode 100644 index 0000000000..2b3cade895 Binary files /dev/null and b/graphics/door_anims/06/0.png differ diff --git a/graphics/door_anims/06/1.png b/graphics/door_anims/06/1.png new file mode 100644 index 0000000000..c397bd4da8 Binary files /dev/null and b/graphics/door_anims/06/1.png differ diff --git a/graphics/door_anims/06/2.png b/graphics/door_anims/06/2.png new file mode 100644 index 0000000000..8883dad1c5 Binary files /dev/null and b/graphics/door_anims/06/2.png differ diff --git a/graphics/door_anims/07/0.png b/graphics/door_anims/07/0.png new file mode 100644 index 0000000000..2b3cade895 Binary files /dev/null and b/graphics/door_anims/07/0.png differ diff --git a/graphics/door_anims/07/1.png b/graphics/door_anims/07/1.png new file mode 100644 index 0000000000..c397bd4da8 Binary files /dev/null and b/graphics/door_anims/07/1.png differ diff --git a/graphics/door_anims/07/2.png b/graphics/door_anims/07/2.png new file mode 100644 index 0000000000..8883dad1c5 Binary files /dev/null and b/graphics/door_anims/07/2.png differ diff --git a/graphics/door_anims/08/0.png b/graphics/door_anims/08/0.png new file mode 100644 index 0000000000..832abe1c47 Binary files /dev/null and b/graphics/door_anims/08/0.png differ diff --git a/graphics/door_anims/08/1.png b/graphics/door_anims/08/1.png new file mode 100644 index 0000000000..f6a402eec4 Binary files /dev/null and b/graphics/door_anims/08/1.png differ diff --git a/graphics/door_anims/08/2.png b/graphics/door_anims/08/2.png new file mode 100644 index 0000000000..082f1a2127 Binary files /dev/null and b/graphics/door_anims/08/2.png differ diff --git a/graphics/door_anims/09/0.png b/graphics/door_anims/09/0.png new file mode 100644 index 0000000000..6205d426d8 Binary files /dev/null and b/graphics/door_anims/09/0.png differ diff --git a/graphics/door_anims/09/1.png b/graphics/door_anims/09/1.png new file mode 100644 index 0000000000..333f28fac2 Binary files /dev/null and b/graphics/door_anims/09/1.png differ diff --git a/graphics/door_anims/09/2.png b/graphics/door_anims/09/2.png new file mode 100644 index 0000000000..5288fc4ea3 Binary files /dev/null and b/graphics/door_anims/09/2.png differ diff --git a/graphics/door_anims/10/0.png b/graphics/door_anims/10/0.png new file mode 100644 index 0000000000..c1fc3d6319 Binary files /dev/null and b/graphics/door_anims/10/0.png differ diff --git a/graphics/door_anims/10/1.png b/graphics/door_anims/10/1.png new file mode 100644 index 0000000000..3daffe3551 Binary files /dev/null and b/graphics/door_anims/10/1.png differ diff --git a/graphics/door_anims/10/2.png b/graphics/door_anims/10/2.png new file mode 100644 index 0000000000..48e2d3a8c1 Binary files /dev/null and b/graphics/door_anims/10/2.png differ diff --git a/graphics/door_anims/11/0.png b/graphics/door_anims/11/0.png new file mode 100644 index 0000000000..d5b78a46f4 Binary files /dev/null and b/graphics/door_anims/11/0.png differ diff --git a/graphics/door_anims/11/1.png b/graphics/door_anims/11/1.png new file mode 100644 index 0000000000..72ed6d1487 Binary files /dev/null and b/graphics/door_anims/11/1.png differ diff --git a/graphics/door_anims/11/2.png b/graphics/door_anims/11/2.png new file mode 100644 index 0000000000..8b20c59c43 Binary files /dev/null and b/graphics/door_anims/11/2.png differ diff --git a/graphics/door_anims/12/0.png b/graphics/door_anims/12/0.png new file mode 100644 index 0000000000..ac2c4b4382 Binary files /dev/null and b/graphics/door_anims/12/0.png differ diff --git a/graphics/door_anims/12/1.png b/graphics/door_anims/12/1.png new file mode 100644 index 0000000000..cfe812f75e Binary files /dev/null and b/graphics/door_anims/12/1.png differ diff --git a/graphics/door_anims/12/2.png b/graphics/door_anims/12/2.png new file mode 100644 index 0000000000..88e5d480c4 Binary files /dev/null and b/graphics/door_anims/12/2.png differ diff --git a/graphics/door_anims/13/0.png b/graphics/door_anims/13/0.png new file mode 100644 index 0000000000..8c3b850687 Binary files /dev/null and b/graphics/door_anims/13/0.png differ diff --git a/graphics/door_anims/13/1.png b/graphics/door_anims/13/1.png new file mode 100644 index 0000000000..1b92f4bcae Binary files /dev/null and b/graphics/door_anims/13/1.png differ diff --git a/graphics/door_anims/13/2.png b/graphics/door_anims/13/2.png new file mode 100644 index 0000000000..e4be80873a Binary files /dev/null and b/graphics/door_anims/13/2.png differ diff --git a/graphics/door_anims/14/0.png b/graphics/door_anims/14/0.png new file mode 100644 index 0000000000..af845aef44 Binary files /dev/null and b/graphics/door_anims/14/0.png differ diff --git a/graphics/door_anims/14/1.png b/graphics/door_anims/14/1.png new file mode 100644 index 0000000000..53725c9015 Binary files /dev/null and b/graphics/door_anims/14/1.png differ diff --git a/graphics/door_anims/14/2.png b/graphics/door_anims/14/2.png new file mode 100644 index 0000000000..1b3a8e1785 Binary files /dev/null and b/graphics/door_anims/14/2.png differ diff --git a/graphics/door_anims/15/0.png b/graphics/door_anims/15/0.png new file mode 100644 index 0000000000..d9f37092b5 Binary files /dev/null and b/graphics/door_anims/15/0.png differ diff --git a/graphics/door_anims/15/1.png b/graphics/door_anims/15/1.png new file mode 100644 index 0000000000..b9dbb58c4f Binary files /dev/null and b/graphics/door_anims/15/1.png differ diff --git a/graphics/door_anims/15/2.png b/graphics/door_anims/15/2.png new file mode 100644 index 0000000000..ce6a1fe2b2 Binary files /dev/null and b/graphics/door_anims/15/2.png differ diff --git a/graphics/door_anims/16/0.png b/graphics/door_anims/16/0.png new file mode 100644 index 0000000000..a385f7ad03 Binary files /dev/null and b/graphics/door_anims/16/0.png differ diff --git a/graphics/door_anims/16/1.png b/graphics/door_anims/16/1.png new file mode 100644 index 0000000000..67b16f45da Binary files /dev/null and b/graphics/door_anims/16/1.png differ diff --git a/graphics/door_anims/16/2.png b/graphics/door_anims/16/2.png new file mode 100644 index 0000000000..e796302f0b Binary files /dev/null and b/graphics/door_anims/16/2.png differ diff --git a/graphics/door_anims/17/0.png b/graphics/door_anims/17/0.png new file mode 100644 index 0000000000..90774f8f79 Binary files /dev/null and b/graphics/door_anims/17/0.png differ diff --git a/graphics/door_anims/17/1.png b/graphics/door_anims/17/1.png new file mode 100644 index 0000000000..06a278c0c1 Binary files /dev/null and b/graphics/door_anims/17/1.png differ diff --git a/graphics/door_anims/17/2.png b/graphics/door_anims/17/2.png new file mode 100644 index 0000000000..e0e60042c2 Binary files /dev/null and b/graphics/door_anims/17/2.png differ diff --git a/graphics/door_anims/18/0.png b/graphics/door_anims/18/0.png new file mode 100644 index 0000000000..2605a89a24 Binary files /dev/null and b/graphics/door_anims/18/0.png differ diff --git a/graphics/door_anims/18/1.png b/graphics/door_anims/18/1.png new file mode 100644 index 0000000000..d76dd31579 Binary files /dev/null and b/graphics/door_anims/18/1.png differ diff --git a/graphics/door_anims/18/2.png b/graphics/door_anims/18/2.png new file mode 100644 index 0000000000..2280e92fc6 Binary files /dev/null and b/graphics/door_anims/18/2.png differ diff --git a/graphics/door_anims/19/0.png b/graphics/door_anims/19/0.png new file mode 100644 index 0000000000..80309914b0 Binary files /dev/null and b/graphics/door_anims/19/0.png differ diff --git a/graphics/door_anims/19/1.png b/graphics/door_anims/19/1.png new file mode 100644 index 0000000000..5097cd859d Binary files /dev/null and b/graphics/door_anims/19/1.png differ diff --git a/graphics/door_anims/19/2.png b/graphics/door_anims/19/2.png new file mode 100644 index 0000000000..52487c3c33 Binary files /dev/null and b/graphics/door_anims/19/2.png differ diff --git a/graphics/door_anims/20/0.png b/graphics/door_anims/20/0.png new file mode 100644 index 0000000000..5e93af90bb Binary files /dev/null and b/graphics/door_anims/20/0.png differ diff --git a/graphics/door_anims/20/1.png b/graphics/door_anims/20/1.png new file mode 100644 index 0000000000..438d0f16ad Binary files /dev/null and b/graphics/door_anims/20/1.png differ diff --git a/graphics/door_anims/20/2.png b/graphics/door_anims/20/2.png new file mode 100644 index 0000000000..4483dacd05 Binary files /dev/null and b/graphics/door_anims/20/2.png differ diff --git a/graphics/door_anims/21/0.png b/graphics/door_anims/21/0.png new file mode 100644 index 0000000000..839dc109d5 Binary files /dev/null and b/graphics/door_anims/21/0.png differ diff --git a/graphics/door_anims/21/1.png b/graphics/door_anims/21/1.png new file mode 100644 index 0000000000..5cabacdc96 Binary files /dev/null and b/graphics/door_anims/21/1.png differ diff --git a/graphics/door_anims/21/2.png b/graphics/door_anims/21/2.png new file mode 100644 index 0000000000..73353c9bba Binary files /dev/null and b/graphics/door_anims/21/2.png differ diff --git a/graphics/door_anims/22/0.png b/graphics/door_anims/22/0.png new file mode 100644 index 0000000000..96dd8ea11a Binary files /dev/null and b/graphics/door_anims/22/0.png differ diff --git a/graphics/door_anims/22/1.png b/graphics/door_anims/22/1.png new file mode 100644 index 0000000000..446d5bec33 Binary files /dev/null and b/graphics/door_anims/22/1.png differ diff --git a/graphics/door_anims/22/2.png b/graphics/door_anims/22/2.png new file mode 100644 index 0000000000..59438d105c Binary files /dev/null and b/graphics/door_anims/22/2.png differ diff --git a/graphics/door_anims/23/0.png b/graphics/door_anims/23/0.png new file mode 100644 index 0000000000..a331665a8b Binary files /dev/null and b/graphics/door_anims/23/0.png differ diff --git a/graphics/door_anims/23/1.png b/graphics/door_anims/23/1.png new file mode 100644 index 0000000000..7ea47bba0d Binary files /dev/null and b/graphics/door_anims/23/1.png differ diff --git a/graphics/door_anims/23/2.png b/graphics/door_anims/23/2.png new file mode 100644 index 0000000000..9d2b940ccc Binary files /dev/null and b/graphics/door_anims/23/2.png differ diff --git a/graphics/door_anims/24/0.png b/graphics/door_anims/24/0.png new file mode 100644 index 0000000000..49dd2b432a Binary files /dev/null and b/graphics/door_anims/24/0.png differ diff --git a/graphics/door_anims/24/1.png b/graphics/door_anims/24/1.png new file mode 100644 index 0000000000..10bb6c2f45 Binary files /dev/null and b/graphics/door_anims/24/1.png differ diff --git a/graphics/door_anims/24/2.png b/graphics/door_anims/24/2.png new file mode 100644 index 0000000000..328b692eac Binary files /dev/null and b/graphics/door_anims/24/2.png differ diff --git a/graphics/door_anims/25/0.png b/graphics/door_anims/25/0.png new file mode 100644 index 0000000000..291e71e901 Binary files /dev/null and b/graphics/door_anims/25/0.png differ diff --git a/graphics/door_anims/25/1.png b/graphics/door_anims/25/1.png new file mode 100644 index 0000000000..4c0b5a105a Binary files /dev/null and b/graphics/door_anims/25/1.png differ diff --git a/graphics/door_anims/25/2.png b/graphics/door_anims/25/2.png new file mode 100644 index 0000000000..a19c6c27b7 Binary files /dev/null and b/graphics/door_anims/25/2.png differ diff --git a/graphics/door_anims/26/0.png b/graphics/door_anims/26/0.png new file mode 100644 index 0000000000..a4e6ef57c3 Binary files /dev/null and b/graphics/door_anims/26/0.png differ diff --git a/graphics/door_anims/26/1.png b/graphics/door_anims/26/1.png new file mode 100644 index 0000000000..495b7d7438 Binary files /dev/null and b/graphics/door_anims/26/1.png differ diff --git a/graphics/door_anims/26/2.png b/graphics/door_anims/26/2.png new file mode 100644 index 0000000000..dece153ab1 Binary files /dev/null and b/graphics/door_anims/26/2.png differ diff --git a/graphics/door_anims/27/0.png b/graphics/door_anims/27/0.png new file mode 100644 index 0000000000..45056f579d Binary files /dev/null and b/graphics/door_anims/27/0.png differ diff --git a/graphics/door_anims/27/1.png b/graphics/door_anims/27/1.png new file mode 100644 index 0000000000..287f7e55a7 Binary files /dev/null and b/graphics/door_anims/27/1.png differ diff --git a/graphics/door_anims/27/2.png b/graphics/door_anims/27/2.png new file mode 100644 index 0000000000..02c8106376 Binary files /dev/null and b/graphics/door_anims/27/2.png differ diff --git a/graphics/door_anims/28/0.png b/graphics/door_anims/28/0.png new file mode 100644 index 0000000000..3da426d0f3 Binary files /dev/null and b/graphics/door_anims/28/0.png differ diff --git a/graphics/door_anims/28/1.png b/graphics/door_anims/28/1.png new file mode 100644 index 0000000000..77f8a59911 Binary files /dev/null and b/graphics/door_anims/28/1.png differ diff --git a/graphics/door_anims/28/2.png b/graphics/door_anims/28/2.png new file mode 100644 index 0000000000..f90e0d1485 Binary files /dev/null and b/graphics/door_anims/28/2.png differ diff --git a/graphics/door_anims/29/0.png b/graphics/door_anims/29/0.png new file mode 100644 index 0000000000..832abe1c47 Binary files /dev/null and b/graphics/door_anims/29/0.png differ diff --git a/graphics/door_anims/29/1.png b/graphics/door_anims/29/1.png new file mode 100644 index 0000000000..f6a402eec4 Binary files /dev/null and b/graphics/door_anims/29/1.png differ diff --git a/graphics/door_anims/29/2.png b/graphics/door_anims/29/2.png new file mode 100644 index 0000000000..082f1a2127 Binary files /dev/null and b/graphics/door_anims/29/2.png differ diff --git a/graphics/door_anims/30/0.png b/graphics/door_anims/30/0.png new file mode 100644 index 0000000000..f199a34b9d Binary files /dev/null and b/graphics/door_anims/30/0.png differ diff --git a/graphics/door_anims/30/1.png b/graphics/door_anims/30/1.png new file mode 100644 index 0000000000..15beb5a362 Binary files /dev/null and b/graphics/door_anims/30/1.png differ diff --git a/graphics/door_anims/30/2.png b/graphics/door_anims/30/2.png new file mode 100644 index 0000000000..2306a6b530 Binary files /dev/null and b/graphics/door_anims/30/2.png differ diff --git a/graphics/door_anims/31/0.png b/graphics/door_anims/31/0.png new file mode 100644 index 0000000000..94c738d3ff Binary files /dev/null and b/graphics/door_anims/31/0.png differ diff --git a/graphics/door_anims/31/1.png b/graphics/door_anims/31/1.png new file mode 100644 index 0000000000..817eff6e70 Binary files /dev/null and b/graphics/door_anims/31/1.png differ diff --git a/graphics/door_anims/31/2.png b/graphics/door_anims/31/2.png new file mode 100644 index 0000000000..cf05cc4889 Binary files /dev/null and b/graphics/door_anims/31/2.png differ diff --git a/graphics/door_anims/32/0.png b/graphics/door_anims/32/0.png new file mode 100644 index 0000000000..a18d49d80f Binary files /dev/null and b/graphics/door_anims/32/0.png differ diff --git a/graphics/door_anims/32/1.png b/graphics/door_anims/32/1.png new file mode 100644 index 0000000000..2fc91d0120 Binary files /dev/null and b/graphics/door_anims/32/1.png differ diff --git a/graphics/door_anims/32/2.png b/graphics/door_anims/32/2.png new file mode 100644 index 0000000000..6d05fcc118 Binary files /dev/null and b/graphics/door_anims/32/2.png differ diff --git a/graphics/door_anims/33/0.png b/graphics/door_anims/33/0.png new file mode 100644 index 0000000000..3597efaa65 Binary files /dev/null and b/graphics/door_anims/33/0.png differ diff --git a/graphics/door_anims/33/1.png b/graphics/door_anims/33/1.png new file mode 100644 index 0000000000..6c9c4db276 Binary files /dev/null and b/graphics/door_anims/33/1.png differ diff --git a/graphics/door_anims/33/2.png b/graphics/door_anims/33/2.png new file mode 100644 index 0000000000..d52c8243f7 Binary files /dev/null and b/graphics/door_anims/33/2.png differ diff --git a/graphics/door_anims/34/0.png b/graphics/door_anims/34/0.png new file mode 100644 index 0000000000..26e0a06544 Binary files /dev/null and b/graphics/door_anims/34/0.png differ diff --git a/graphics/door_anims/34/1.png b/graphics/door_anims/34/1.png new file mode 100644 index 0000000000..89baa478c3 Binary files /dev/null and b/graphics/door_anims/34/1.png differ diff --git a/graphics/door_anims/34/2.png b/graphics/door_anims/34/2.png new file mode 100644 index 0000000000..35cf422959 Binary files /dev/null and b/graphics/door_anims/34/2.png differ diff --git a/graphics/door_anims/35/0.png b/graphics/door_anims/35/0.png new file mode 100644 index 0000000000..d9703db87a Binary files /dev/null and b/graphics/door_anims/35/0.png differ diff --git a/graphics/door_anims/35/1.png b/graphics/door_anims/35/1.png new file mode 100644 index 0000000000..da3ecb839a Binary files /dev/null and b/graphics/door_anims/35/1.png differ diff --git a/graphics/door_anims/35/2.png b/graphics/door_anims/35/2.png new file mode 100644 index 0000000000..32acbcaa29 Binary files /dev/null and b/graphics/door_anims/35/2.png differ diff --git a/graphics/door_anims/36/0.png b/graphics/door_anims/36/0.png new file mode 100644 index 0000000000..0bb35c0c50 Binary files /dev/null and b/graphics/door_anims/36/0.png differ diff --git a/graphics/door_anims/36/1.png b/graphics/door_anims/36/1.png new file mode 100644 index 0000000000..c3a2aa3e28 Binary files /dev/null and b/graphics/door_anims/36/1.png differ diff --git a/graphics/door_anims/36/2.png b/graphics/door_anims/36/2.png new file mode 100644 index 0000000000..33b2a1e024 Binary files /dev/null and b/graphics/door_anims/36/2.png differ diff --git a/graphics/door_anims/37/0.png b/graphics/door_anims/37/0.png new file mode 100644 index 0000000000..cf0bcd3970 Binary files /dev/null and b/graphics/door_anims/37/0.png differ diff --git a/graphics/door_anims/37/1.png b/graphics/door_anims/37/1.png new file mode 100644 index 0000000000..a5fcb7e271 Binary files /dev/null and b/graphics/door_anims/37/1.png differ diff --git a/graphics/door_anims/37/2.png b/graphics/door_anims/37/2.png new file mode 100644 index 0000000000..70774fcf70 Binary files /dev/null and b/graphics/door_anims/37/2.png differ diff --git a/graphics/door_anims/38/0.png b/graphics/door_anims/38/0.png new file mode 100644 index 0000000000..b952321b7c Binary files /dev/null and b/graphics/door_anims/38/0.png differ diff --git a/graphics/door_anims/38/1.png b/graphics/door_anims/38/1.png new file mode 100644 index 0000000000..a7dd729d33 Binary files /dev/null and b/graphics/door_anims/38/1.png differ diff --git a/graphics/door_anims/38/2.png b/graphics/door_anims/38/2.png new file mode 100644 index 0000000000..cad72bd9d2 Binary files /dev/null and b/graphics/door_anims/38/2.png differ diff --git a/graphics/door_anims/39/0.png b/graphics/door_anims/39/0.png new file mode 100644 index 0000000000..60e9831411 Binary files /dev/null and b/graphics/door_anims/39/0.png differ diff --git a/graphics/door_anims/39/1.png b/graphics/door_anims/39/1.png new file mode 100644 index 0000000000..3173d57c83 Binary files /dev/null and b/graphics/door_anims/39/1.png differ diff --git a/graphics/door_anims/39/2.png b/graphics/door_anims/39/2.png new file mode 100644 index 0000000000..04f77999d2 Binary files /dev/null and b/graphics/door_anims/39/2.png differ diff --git a/graphics/door_anims/40/0.png b/graphics/door_anims/40/0.png new file mode 100644 index 0000000000..5e1504117c Binary files /dev/null and b/graphics/door_anims/40/0.png differ diff --git a/graphics/door_anims/40/1.png b/graphics/door_anims/40/1.png new file mode 100644 index 0000000000..cf185c5ab0 Binary files /dev/null and b/graphics/door_anims/40/1.png differ diff --git a/graphics/door_anims/40/2.png b/graphics/door_anims/40/2.png new file mode 100644 index 0000000000..7b34bef944 Binary files /dev/null and b/graphics/door_anims/40/2.png differ diff --git a/graphics/door_anims/41/0.png b/graphics/door_anims/41/0.png new file mode 100644 index 0000000000..61d365737c Binary files /dev/null and b/graphics/door_anims/41/0.png differ diff --git a/graphics/door_anims/41/1.png b/graphics/door_anims/41/1.png new file mode 100644 index 0000000000..f9480e4d97 Binary files /dev/null and b/graphics/door_anims/41/1.png differ diff --git a/graphics/door_anims/41/2.png b/graphics/door_anims/41/2.png new file mode 100644 index 0000000000..5b8c3fa442 Binary files /dev/null and b/graphics/door_anims/41/2.png differ diff --git a/graphics/door_anims/42/0.png b/graphics/door_anims/42/0.png new file mode 100644 index 0000000000..a88a24cd60 Binary files /dev/null and b/graphics/door_anims/42/0.png differ diff --git a/graphics/door_anims/42/1.png b/graphics/door_anims/42/1.png new file mode 100644 index 0000000000..ca8cd3853c Binary files /dev/null and b/graphics/door_anims/42/1.png differ diff --git a/graphics/door_anims/42/2.png b/graphics/door_anims/42/2.png new file mode 100644 index 0000000000..e9e5122b4c Binary files /dev/null and b/graphics/door_anims/42/2.png differ diff --git a/graphics/door_anims/42/3.png b/graphics/door_anims/42/3.png new file mode 100644 index 0000000000..d077bca491 Binary files /dev/null and b/graphics/door_anims/42/3.png differ diff --git a/graphics/door_anims/43/0.png b/graphics/door_anims/43/0.png new file mode 100644 index 0000000000..eec2d2c654 Binary files /dev/null and b/graphics/door_anims/43/0.png differ diff --git a/graphics/door_anims/43/1.png b/graphics/door_anims/43/1.png new file mode 100644 index 0000000000..a013b2990a Binary files /dev/null and b/graphics/door_anims/43/1.png differ diff --git a/graphics/door_anims/43/2.png b/graphics/door_anims/43/2.png new file mode 100644 index 0000000000..8f3dc2a181 Binary files /dev/null and b/graphics/door_anims/43/2.png differ diff --git a/graphics/door_anims/44/0_left.png b/graphics/door_anims/44/0_left.png new file mode 100644 index 0000000000..37a2530e79 Binary files /dev/null and b/graphics/door_anims/44/0_left.png differ diff --git a/graphics/door_anims/44/0_right.png b/graphics/door_anims/44/0_right.png new file mode 100644 index 0000000000..f7a5d4dc7f Binary files /dev/null and b/graphics/door_anims/44/0_right.png differ diff --git a/graphics/door_anims/44/1_left.png b/graphics/door_anims/44/1_left.png new file mode 100644 index 0000000000..cb3474672d Binary files /dev/null and b/graphics/door_anims/44/1_left.png differ diff --git a/graphics/door_anims/44/1_right.png b/graphics/door_anims/44/1_right.png new file mode 100644 index 0000000000..ed367c276c Binary files /dev/null and b/graphics/door_anims/44/1_right.png differ diff --git a/graphics/door_anims/44/2_left.png b/graphics/door_anims/44/2_left.png new file mode 100644 index 0000000000..d66ecc90d2 Binary files /dev/null and b/graphics/door_anims/44/2_left.png differ diff --git a/graphics/door_anims/44/2_right.png b/graphics/door_anims/44/2_right.png new file mode 100644 index 0000000000..de82f04cf7 Binary files /dev/null and b/graphics/door_anims/44/2_right.png differ diff --git a/graphics/door_anims/45/0.png b/graphics/door_anims/45/0.png new file mode 100644 index 0000000000..867a8b0e9b Binary files /dev/null and b/graphics/door_anims/45/0.png differ diff --git a/graphics/door_anims/45/1.png b/graphics/door_anims/45/1.png new file mode 100644 index 0000000000..263a31f87a Binary files /dev/null and b/graphics/door_anims/45/1.png differ diff --git a/graphics/door_anims/45/2.png b/graphics/door_anims/45/2.png new file mode 100644 index 0000000000..f3039a7c1a Binary files /dev/null and b/graphics/door_anims/45/2.png differ diff --git a/graphics/door_anims/46/0.png b/graphics/door_anims/46/0.png new file mode 100644 index 0000000000..5d2fd8b8da Binary files /dev/null and b/graphics/door_anims/46/0.png differ diff --git a/graphics/door_anims/46/1.png b/graphics/door_anims/46/1.png new file mode 100644 index 0000000000..f79cc787d7 Binary files /dev/null and b/graphics/door_anims/46/1.png differ diff --git a/graphics/door_anims/46/2.png b/graphics/door_anims/46/2.png new file mode 100644 index 0000000000..1a1afcaa1f Binary files /dev/null and b/graphics/door_anims/46/2.png differ diff --git a/graphics/door_anims/47/0.png b/graphics/door_anims/47/0.png new file mode 100644 index 0000000000..0dbf2ece90 Binary files /dev/null and b/graphics/door_anims/47/0.png differ diff --git a/graphics/door_anims/47/1.png b/graphics/door_anims/47/1.png new file mode 100644 index 0000000000..7e16467fa0 Binary files /dev/null and b/graphics/door_anims/47/1.png differ diff --git a/graphics/door_anims/47/2.png b/graphics/door_anims/47/2.png new file mode 100644 index 0000000000..592268d98e Binary files /dev/null and b/graphics/door_anims/47/2.png differ diff --git a/graphics/door_anims/48/0.png b/graphics/door_anims/48/0.png new file mode 100644 index 0000000000..a7d64821e9 Binary files /dev/null and b/graphics/door_anims/48/0.png differ diff --git a/graphics/door_anims/48/1.png b/graphics/door_anims/48/1.png new file mode 100644 index 0000000000..97b09977f4 Binary files /dev/null and b/graphics/door_anims/48/1.png differ diff --git a/graphics/door_anims/48/2.png b/graphics/door_anims/48/2.png new file mode 100644 index 0000000000..72eb0bc550 Binary files /dev/null and b/graphics/door_anims/48/2.png differ diff --git a/graphics/door_anims/48/3.png b/graphics/door_anims/48/3.png new file mode 100644 index 0000000000..ea5d9843cc Binary files /dev/null and b/graphics/door_anims/48/3.png differ diff --git a/graphics/door_anims/49/0.png b/graphics/door_anims/49/0.png new file mode 100644 index 0000000000..3125df9b4c Binary files /dev/null and b/graphics/door_anims/49/0.png differ diff --git a/graphics/door_anims/49/1.png b/graphics/door_anims/49/1.png new file mode 100644 index 0000000000..b5b9acf887 Binary files /dev/null and b/graphics/door_anims/49/1.png differ diff --git a/graphics/door_anims/49/2.png b/graphics/door_anims/49/2.png new file mode 100644 index 0000000000..6234d8928f Binary files /dev/null and b/graphics/door_anims/49/2.png differ diff --git a/graphics/door_anims/50/0.png b/graphics/door_anims/50/0.png new file mode 100644 index 0000000000..47d33217a2 Binary files /dev/null and b/graphics/door_anims/50/0.png differ diff --git a/graphics/door_anims/50/1.png b/graphics/door_anims/50/1.png new file mode 100644 index 0000000000..1a5a8c05cc Binary files /dev/null and b/graphics/door_anims/50/1.png differ diff --git a/graphics/door_anims/50/2.png b/graphics/door_anims/50/2.png new file mode 100644 index 0000000000..38242302c7 Binary files /dev/null and b/graphics/door_anims/50/2.png differ diff --git a/graphics/door_anims/unused_848EDEC/0_bottom.png b/graphics/door_anims/unused_848EDEC/0_bottom.png new file mode 100644 index 0000000000..51c6243969 Binary files /dev/null and b/graphics/door_anims/unused_848EDEC/0_bottom.png differ diff --git a/graphics/door_anims/unused_848EDEC/0_top.png b/graphics/door_anims/unused_848EDEC/0_top.png new file mode 100644 index 0000000000..1a19713361 Binary files /dev/null and b/graphics/door_anims/unused_848EDEC/0_top.png differ diff --git a/graphics/door_anims/unused_848EDEC/1_bottom.png b/graphics/door_anims/unused_848EDEC/1_bottom.png new file mode 100644 index 0000000000..a3cc83febf Binary files /dev/null and b/graphics/door_anims/unused_848EDEC/1_bottom.png differ diff --git a/graphics/door_anims/unused_848EDEC/1_top.png b/graphics/door_anims/unused_848EDEC/1_top.png new file mode 100644 index 0000000000..e6c96394c1 Binary files /dev/null and b/graphics/door_anims/unused_848EDEC/1_top.png differ diff --git a/graphics/door_anims/unused_848EDEC/2_bottom.png b/graphics/door_anims/unused_848EDEC/2_bottom.png new file mode 100644 index 0000000000..f8466fa9c9 Binary files /dev/null and b/graphics/door_anims/unused_848EDEC/2_bottom.png differ diff --git a/graphics/door_anims/unused_848EDEC/2_top.png b/graphics/door_anims/unused_848EDEC/2_top.png new file mode 100644 index 0000000000..1864760e32 Binary files /dev/null and b/graphics/door_anims/unused_848EDEC/2_top.png differ diff --git a/graphics/easy_chat/cursor.png b/graphics/easy_chat/cursor.png new file mode 100644 index 0000000000..502ea2d696 Binary files /dev/null and b/graphics/easy_chat/cursor.png differ diff --git a/graphics/easy_chat/mode.png b/graphics/easy_chat/mode.png new file mode 100644 index 0000000000..31fb3fdd3b Binary files /dev/null and b/graphics/easy_chat/mode.png differ diff --git a/graphics/easy_chat/rwindow.png b/graphics/easy_chat/rwindow.png new file mode 100644 index 0000000000..6319f9a5d4 Binary files /dev/null and b/graphics/easy_chat/rwindow.png differ diff --git a/graphics/easy_chat/window.bin b/graphics/easy_chat/window.bin new file mode 100644 index 0000000000..c18d45d3fa Binary files /dev/null and b/graphics/easy_chat/window.bin differ diff --git a/graphics/easy_chat/window.png b/graphics/easy_chat/window.png new file mode 100644 index 0000000000..269971224e Binary files /dev/null and b/graphics/easy_chat/window.png differ diff --git a/graphics/evolution_scene/bg.bin b/graphics/evolution_scene/bg.bin new file mode 100644 index 0000000000..583ebac2bb Binary files /dev/null and b/graphics/evolution_scene/bg.bin differ diff --git a/graphics/evolution_scene/bg.png b/graphics/evolution_scene/bg.png new file mode 100644 index 0000000000..d62ac543ea Binary files /dev/null and b/graphics/evolution_scene/bg.png differ diff --git a/graphics/evolution_scene/bg2.bin b/graphics/evolution_scene/bg2.bin new file mode 100644 index 0000000000..7afab112a7 Binary files /dev/null and b/graphics/evolution_scene/bg2.bin differ diff --git a/graphics/evolution_scene/gray_transition_darken.pal b/graphics/evolution_scene/gray_transition_darken.pal new file mode 100644 index 0000000000..97d1173300 --- /dev/null +++ b/graphics/evolution_scene/gray_transition_darken.pal @@ -0,0 +1,211 @@ +JASC-PAL +0100 +208 +0 0 0 +255 255 255 +246 246 246 +230 230 230 +213 213 213 +197 205 205 +189 189 189 +172 172 172 +156 164 164 +148 148 148 +131 131 131 +115 123 123 +98 106 106 +90 90 90 +0 0 0 +0 0 0 +0 0 0 +246 246 246 +230 230 230 +213 213 213 +197 205 205 +189 189 189 +172 172 172 +156 164 164 +148 148 148 +131 131 131 +115 123 123 +98 106 106 +90 90 90 +98 106 106 +0 0 0 +0 0 0 +0 0 0 +230 230 230 +213 213 213 +197 205 205 +189 189 189 +172 172 172 +156 164 164 +148 148 148 +131 131 131 +115 123 123 +98 106 106 +90 90 90 +98 106 106 +115 123 123 +0 0 0 +0 0 0 +0 0 0 +213 213 213 +197 205 205 +189 189 189 +172 172 172 +156 164 164 +148 148 148 +131 131 131 +115 123 123 +98 106 106 +90 90 90 +98 106 106 +115 123 123 +131 131 131 +0 0 0 +0 0 0 +0 0 0 +197 205 205 +189 189 189 +172 172 172 +156 164 164 +148 148 148 +131 131 131 +115 123 123 +98 106 106 +90 90 90 +90 90 90 +98 106 106 +115 123 123 +131 131 131 +0 0 0 +0 0 0 +0 0 0 +189 189 189 +172 172 172 +156 164 164 +148 148 148 +131 131 131 +115 123 123 +98 106 106 +90 90 90 +90 90 90 +98 106 106 +115 123 123 +131 131 131 +148 148 148 +0 0 0 +0 0 0 +0 0 0 +172 172 172 +156 164 164 +148 148 148 +131 131 131 +115 123 123 +98 106 106 +90 90 90 +90 90 90 +98 106 106 +115 123 123 +131 131 131 +148 148 148 +156 164 164 +0 0 0 +0 0 0 +0 0 0 +156 164 164 +148 148 148 +131 131 131 +115 123 123 +98 106 106 +90 90 90 +90 90 90 +98 106 106 +115 123 123 +131 131 131 +148 148 148 +156 164 164 +172 172 172 +0 0 0 +0 0 0 +0 0 0 +148 148 148 +131 131 131 +115 123 123 +98 106 106 +90 90 90 +90 90 90 +98 106 106 +115 123 123 +131 131 131 +148 148 148 +156 164 164 +172 172 172 +189 189 189 +0 0 0 +0 0 0 +0 0 0 +131 131 131 +115 123 123 +98 106 106 +90 90 90 +90 90 90 +98 106 106 +115 123 123 +131 131 131 +148 148 148 +156 164 164 +172 172 172 +189 189 189 +197 205 205 +0 0 0 +0 0 0 +0 0 0 +115 123 123 +98 106 106 +90 90 90 +90 90 90 +98 106 106 +115 123 123 +131 131 131 +148 148 148 +156 164 164 +172 172 172 +189 189 189 +197 205 205 +213 213 213 +0 0 0 +0 0 0 +0 0 0 +98 106 106 +90 90 90 +98 106 106 +115 123 123 +131 131 131 +148 148 148 +156 164 164 +172 172 172 +189 189 189 +197 205 205 +213 213 213 +230 230 230 +246 246 246 +0 0 0 +0 0 0 +0 0 0 +90 90 90 +98 106 106 +115 123 123 +131 131 131 +148 148 148 +156 164 164 +172 172 172 +189 189 189 +197 205 205 +213 213 213 +230 230 230 +246 246 246 +255 255 255 +0 0 0 +0 0 0 diff --git a/graphics/evolution_scene/gray_transition_intro.pal b/graphics/evolution_scene/gray_transition_intro.pal new file mode 100644 index 0000000000..323623a150 --- /dev/null +++ b/graphics/evolution_scene/gray_transition_intro.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +90 90 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +90 90 90 +98 106 106 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +90 90 90 +98 106 106 +115 123 123 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +90 90 90 +98 106 106 +115 123 123 +131 131 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +90 90 90 +98 106 106 +115 123 123 +131 131 131 +148 148 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +90 90 90 +98 106 106 +115 123 123 +131 131 131 +148 148 148 +156 164 164 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +90 90 90 +98 106 106 +115 123 123 +131 131 131 +148 148 148 +156 164 164 +172 172 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +90 90 90 +98 106 106 +115 123 123 +131 131 131 +148 148 148 +156 164 164 +172 172 172 +189 189 189 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +90 90 90 +98 106 106 +115 123 123 +131 131 131 +148 148 148 +156 164 164 +172 172 172 +189 189 189 +197 205 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +90 90 90 +98 106 106 +115 123 123 +131 131 131 +148 148 148 +156 164 164 +172 172 172 +189 189 189 +197 205 205 +213 213 213 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +90 90 90 +98 106 106 +115 123 123 +131 131 131 +148 148 148 +156 164 164 +172 172 172 +189 189 189 +197 205 205 +213 213 213 +230 230 230 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +90 90 90 +98 106 106 +115 123 123 +131 131 131 +148 148 148 +156 164 164 +172 172 172 +189 189 189 +197 205 205 +213 213 213 +230 230 230 +246 246 246 +0 0 0 +0 0 0 +0 0 0 +90 90 90 +98 106 106 +115 123 123 +131 131 131 +148 148 148 +156 164 164 +172 172 172 +189 189 189 +197 205 205 +213 213 213 +230 230 230 +246 246 246 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +98 106 106 +115 123 123 +131 131 131 +148 148 148 +156 164 164 +172 172 172 +189 189 189 +197 205 205 +213 213 213 +230 230 230 +246 246 246 +255 255 255 +246 246 246 +0 0 0 +0 0 0 +0 0 0 +115 123 123 +131 131 131 +148 148 148 +156 164 164 +172 172 172 +189 189 189 +197 205 205 +213 213 213 +230 230 230 +246 246 246 +255 255 255 +246 246 246 +246 246 246 +0 0 0 +0 0 0 diff --git a/graphics/evolution_scene/gray_transition_lighten.pal b/graphics/evolution_scene/gray_transition_lighten.pal new file mode 100644 index 0000000000..813db93dc5 --- /dev/null +++ b/graphics/evolution_scene/gray_transition_lighten.pal @@ -0,0 +1,179 @@ +JASC-PAL +0100 +176 +0 0 0 +115 123 123 +131 131 131 +148 148 148 +156 164 164 +172 172 172 +189 189 189 +197 205 205 +213 213 213 +230 230 230 +246 246 246 +255 255 255 +246 246 246 +230 230 230 +0 0 0 +0 0 0 +0 0 0 +131 131 131 +148 148 148 +156 164 164 +172 172 172 +189 189 189 +197 205 205 +213 213 213 +230 230 230 +246 246 246 +255 255 255 +246 246 246 +230 230 230 +213 213 213 +0 0 0 +0 0 0 +0 0 0 +148 148 148 +156 164 164 +172 172 172 +189 189 189 +197 205 205 +213 213 213 +230 230 230 +246 246 246 +255 255 255 +246 246 246 +230 230 230 +213 213 213 +197 205 205 +0 0 0 +0 0 0 +0 0 0 +156 164 164 +172 172 172 +189 189 189 +197 205 205 +213 213 213 +230 230 230 +246 246 246 +255 255 255 +246 246 246 +230 230 230 +213 213 213 +197 205 205 +189 189 189 +0 0 0 +0 0 0 +0 0 0 +172 172 172 +189 189 189 +197 205 205 +213 213 213 +230 230 230 +246 246 246 +255 255 255 +246 246 246 +230 230 230 +213 213 213 +197 205 205 +189 189 189 +172 172 172 +0 0 0 +0 0 0 +0 0 0 +189 189 189 +197 205 205 +213 213 213 +230 230 230 +246 246 246 +255 255 255 +246 246 246 +230 230 230 +213 213 213 +197 205 205 +189 189 189 +172 172 172 +156 164 164 +0 0 0 +0 0 0 +0 0 0 +197 205 205 +213 213 213 +230 230 230 +246 246 246 +255 255 255 +246 246 246 +230 230 230 +213 213 213 +197 205 205 +189 189 189 +172 172 172 +156 164 164 +148 148 148 +0 0 0 +0 0 0 +0 0 0 +213 213 213 +230 230 230 +246 246 246 +255 255 255 +246 246 246 +230 230 230 +213 213 213 +197 205 205 +189 189 189 +172 172 172 +156 164 164 +148 148 148 +131 131 131 +0 0 0 +0 0 0 +0 0 0 +230 230 230 +246 246 246 +255 255 255 +246 246 246 +230 230 230 +213 213 213 +197 205 205 +189 189 189 +172 172 172 +156 164 164 +148 148 148 +131 131 131 +115 123 123 +0 0 0 +0 0 0 +0 0 0 +246 246 246 +255 255 255 +246 246 246 +230 230 230 +213 213 213 +197 205 205 +189 189 189 +172 172 172 +156 164 164 +148 148 148 +131 131 131 +115 123 123 +98 106 106 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +246 246 246 +230 230 230 +213 213 213 +197 205 205 +189 189 189 +172 172 172 +156 164 164 +148 148 148 +131 131 131 +115 123 123 +98 106 106 +90 90 90 +0 0 0 +0 0 0 diff --git a/graphics/evolution_scene/gray_transition_outro.pal b/graphics/evolution_scene/gray_transition_outro.pal new file mode 100644 index 0000000000..f122f40fed --- /dev/null +++ b/graphics/evolution_scene/gray_transition_outro.pal @@ -0,0 +1,211 @@ +JASC-PAL +0100 +208 +0 0 0 +246 246 246 +230 230 230 +213 213 213 +197 205 205 +189 189 189 +172 172 172 +156 164 164 +148 148 148 +131 131 131 +115 123 123 +98 106 106 +90 90 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +230 230 230 +213 213 213 +197 205 205 +189 189 189 +172 172 172 +156 164 164 +148 148 148 +131 131 131 +115 123 123 +98 106 106 +90 90 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +213 213 213 +197 205 205 +189 189 189 +172 172 172 +156 164 164 +148 148 148 +131 131 131 +115 123 123 +98 106 106 +90 90 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +197 205 205 +189 189 189 +172 172 172 +156 164 164 +148 148 148 +131 131 131 +115 123 123 +98 106 106 +90 90 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +189 189 189 +172 172 172 +156 164 164 +148 148 148 +131 131 131 +115 123 123 +98 106 106 +90 90 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +172 172 172 +156 164 164 +148 148 148 +131 131 131 +115 123 123 +98 106 106 +90 90 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +156 164 164 +148 148 148 +131 131 131 +115 123 123 +98 106 106 +90 90 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +148 148 148 +131 131 131 +115 123 123 +98 106 106 +90 90 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +131 131 131 +115 123 123 +98 106 106 +90 90 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +115 123 123 +98 106 106 +90 90 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +98 106 106 +90 90 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +90 90 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/evolution_scene/transition.pal b/graphics/evolution_scene/transition.pal new file mode 100644 index 0000000000..b0f4d38152 --- /dev/null +++ b/graphics/evolution_scene/transition.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +0 0 0 +16 16 16 +24 32 32 +41 49 49 +49 65 74 +65 82 90 +74 98 115 +90 115 131 +106 131 148 +115 148 172 +131 164 189 +139 180 213 +156 197 230 +172 213 255 +0 0 0 +0 0 0 +0 0 0 +65 90 106 +74 98 115 +82 106 131 +90 115 139 +98 131 156 +106 139 164 +115 148 180 +123 156 189 +131 172 205 +139 180 213 +148 189 230 +156 197 238 +172 213 255 +0 0 0 +0 0 0 diff --git a/graphics/evolution_scene/unknown_5B4114.pal b/graphics/evolution_scene/unknown_5B4114.pal new file mode 100644 index 0000000000..2cd4981fdf --- /dev/null +++ b/graphics/evolution_scene/unknown_5B4114.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +90 90 90 +98 106 106 +115 123 123 +131 131 131 +148 148 148 +156 164 164 +172 172 172 +189 189 189 +197 205 205 +213 213 213 +230 230 230 +246 246 246 +255 255 255 +0 0 0 +0 0 0 diff --git a/graphics/frontier_pass/cursor.png b/graphics/frontier_pass/cursor.png new file mode 100644 index 0000000000..3a7af3dd22 Binary files /dev/null and b/graphics/frontier_pass/cursor.png differ diff --git a/graphics/frontier_pass/gold.pal b/graphics/frontier_pass/gold.pal new file mode 100644 index 0000000000..6db1463821 --- /dev/null +++ b/graphics/frontier_pass/gold.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 164 65 +255 255 255 +205 205 205 +164 164 164 +230 164 8 +230 139 8 +230 123 16 +255 230 131 +255 213 65 +255 205 8 +238 189 8 +222 172 16 +205 156 16 +197 139 24 +164 106 32 +139 82 41 diff --git a/graphics/frontier_pass/map_cursor.png b/graphics/frontier_pass/map_cursor.png new file mode 100644 index 0000000000..c20bbb59a0 Binary files /dev/null and b/graphics/frontier_pass/map_cursor.png differ diff --git a/graphics/frontier_pass/map_heads.png b/graphics/frontier_pass/map_heads.png new file mode 100644 index 0000000000..82ef1cd2ed Binary files /dev/null and b/graphics/frontier_pass/map_heads.png differ diff --git a/graphics/frontier_pass/map_heads_female.pal b/graphics/frontier_pass/map_heads_female.pal new file mode 100644 index 0000000000..2833b2613e --- /dev/null +++ b/graphics/frontier_pass/map_heads_female.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 222 205 +222 164 148 +205 131 115 +123 90 82 +98 98 115 +41 57 65 +164 106 82 +74 49 57 +205 205 222 +106 213 65 +65 172 32 +255 98 90 +197 65 65 +255 255 255 +0 0 0 diff --git a/graphics/frontier_pass/map_screen.bin b/graphics/frontier_pass/map_screen.bin new file mode 100644 index 0000000000..2caaff89e2 Binary files /dev/null and b/graphics/frontier_pass/map_screen.bin differ diff --git a/graphics/frontier_pass/map_screen.png b/graphics/frontier_pass/map_screen.png new file mode 100644 index 0000000000..5d2b4467f9 Binary files /dev/null and b/graphics/frontier_pass/map_screen.png differ diff --git a/graphics/frontier_pass/medals.png b/graphics/frontier_pass/medals.png new file mode 100644 index 0000000000..1c0d366882 Binary files /dev/null and b/graphics/frontier_pass/medals.png differ diff --git a/graphics/frontier_pass/record_frame.bin b/graphics/frontier_pass/record_frame.bin new file mode 100644 index 0000000000..ded0f8165a Binary files /dev/null and b/graphics/frontier_pass/record_frame.bin differ diff --git a/graphics/frontier_pass/silver.pal b/graphics/frontier_pass/silver.pal new file mode 100644 index 0000000000..2c99390bb8 --- /dev/null +++ b/graphics/frontier_pass/silver.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 164 65 +255 255 255 +205 205 205 +164 164 164 +230 213 197 +222 180 156 +222 156 115 +238 238 246 +222 222 230 +213 205 213 +197 197 197 +189 180 180 +172 164 164 +164 156 148 +148 139 131 +139 131 115 diff --git a/graphics/frontier_pass/small_map_and_card.bin b/graphics/frontier_pass/small_map_and_card.bin new file mode 100644 index 0000000000..4578d7d7e6 Binary files /dev/null and b/graphics/frontier_pass/small_map_and_card.bin differ diff --git a/graphics/frontier_pass/small_map_and_card_affine.bin b/graphics/frontier_pass/small_map_and_card_affine.bin new file mode 100644 index 0000000000..25cb407ae9 --- /dev/null +++ b/graphics/frontier_pass/small_map_and_card_affine.bin @@ -0,0 +1,2 @@ + + $%&'()*+,-./456789:;<=>?DEFGHIJKLMNOTUVWXYZ[\]^_defghijklmnotuvwxyz{|}~tuvwxyz{|}~ !"#0123@ABCPQRS \ No newline at end of file diff --git a/graphics/frontier_pass/tilemap1.bin b/graphics/frontier_pass/tilemap1.bin new file mode 100644 index 0000000000..c2aa0dc9ae Binary files /dev/null and b/graphics/frontier_pass/tilemap1.bin differ diff --git a/graphics/frontier_pass/tilemap2.bin b/graphics/frontier_pass/tilemap2.bin new file mode 100644 index 0000000000..63c2f9b140 Binary files /dev/null and b/graphics/frontier_pass/tilemap2.bin differ diff --git a/graphics/frontier_pass/tiles.bin b/graphics/frontier_pass/tiles.bin new file mode 100644 index 0000000000..e4e066ebe2 Binary files /dev/null and b/graphics/frontier_pass/tiles.bin differ diff --git a/graphics/frontier_pass/tiles.pal b/graphics/frontier_pass/tiles.pal new file mode 100644 index 0000000000..2bfcff098b --- /dev/null +++ b/graphics/frontier_pass/tiles.pal @@ -0,0 +1,131 @@ +JASC-PAL +0100 +128 +57 74 74 +255 255 255 +205 205 205 +164 164 164 +123 123 123 +98 98 115 +57 74 74 +230 246 255 +98 41 65 +255 255 230 +230 230 197 +255 32 32 +98 164 222 +82 139 197 +74 115 172 +74 98 106 +139 98 115 +255 255 255 +230 255 222 +164 164 164 +123 123 123 +98 98 115 +41 57 65 +57 106 139 +65 139 197 +180 230 156 +148 238 131 +131 222 115 +82 172 74 +106 189 255 +205 205 205 +0 0 0 +139 98 115 +238 255 246 +213 238 230 +164 164 164 +123 123 123 +98 98 115 +41 57 65 +57 106 139 +65 139 197 +189 213 205 +148 180 164 +106 148 123 +65 115 90 +106 189 255 +205 205 205 +0 0 0 +139 98 115 +255 246 230 +246 230 213 +205 156 90 +180 131 65 +98 98 115 +41 57 65 +57 106 139 +65 139 197 +230 189 139 +205 156 115 +180 131 82 +156 106 41 +106 189 255 +205 205 205 +0 0 0 +139 98 115 +246 246 255 +230 230 238 +189 189 197 +156 156 156 +156 106 41 +41 57 65 +57 106 139 +65 139 197 +230 230 238 +189 189 197 +156 156 156 +123 123 123 +106 189 255 +205 205 205 +0 0 0 +139 98 115 +246 246 222 +246 238 172 +164 164 164 +123 123 123 +98 98 115 +41 57 65 +57 106 139 +65 139 197 +246 230 139 +230 213 49 +213 197 57 +156 115 57 +106 189 255 +205 205 205 +0 0 0 +0 0 0 +106 131 238 +139 164 213 +189 205 205 +213 197 131 +246 222 164 +172 131 131 +148 98 106 +115 106 148 +106 123 197 +197 230 230 +139 189 131 +106 156 74 +148 222 189 +238 156 131 +238 246 255 +0 0 0 +123 148 189 +65 74 106 +106 98 115 +82 90 180 +139 123 139 +164 172 189 +106 148 131 +180 205 213 +156 156 156 +213 238 230 +255 255 255 +213 180 172 +222 230 238 +213 205 156 +0 0 0 diff --git a/graphics/frontier_pass/tiles.png b/graphics/frontier_pass/tiles.png new file mode 100644 index 0000000000..520c34b3dd Binary files /dev/null and b/graphics/frontier_pass/tiles.png differ diff --git a/graphics/frontier_pass/tiles2.png b/graphics/frontier_pass/tiles2.png new file mode 100644 index 0000000000..6bd420a8df Binary files /dev/null and b/graphics/frontier_pass/tiles2.png differ diff --git a/graphics/frontier_pass/unknown_571298.bin b/graphics/frontier_pass/unknown_571298.bin new file mode 100644 index 0000000000..a781f0b391 --- /dev/null +++ b/graphics/frontier_pass/unknown_571298.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/graphics/interface/855C604.pal b/graphics/interface/855C604.pal new file mode 100644 index 0000000000..e7d6c330ae --- /dev/null +++ b/graphics/interface/855C604.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +255 180 82 +197 123 0 +255 139 131 +255 49 24 +74 74 74 +213 213 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/interface/855C624.bin b/graphics/interface/855C624.bin new file mode 100644 index 0000000000..6f48b39f69 --- /dev/null +++ b/graphics/interface/855C624.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/graphics/interface/85DFA60.bin b/graphics/interface/85DFA60.bin new file mode 100644 index 0000000000..b1a4230d4d Binary files /dev/null and b/graphics/interface/85DFA60.bin differ diff --git a/graphics/interface/85DFA80.png b/graphics/interface/85DFA80.png new file mode 100644 index 0000000000..c1fde03256 Binary files /dev/null and b/graphics/interface/85DFA80.png differ diff --git a/graphics/interface/85DFB60.bin b/graphics/interface/85DFB60.bin new file mode 100644 index 0000000000..4e7c2d4adc Binary files /dev/null and b/graphics/interface/85DFB60.bin differ diff --git a/graphics/interface/85DFC0C.bin b/graphics/interface/85DFC0C.bin new file mode 100644 index 0000000000..5f8f364fc9 Binary files /dev/null and b/graphics/interface/85DFC0C.bin differ diff --git a/graphics/interface/860F074.pal b/graphics/interface/860F074.pal new file mode 100644 index 0000000000..25a3ac1d21 --- /dev/null +++ b/graphics/interface/860F074.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +255 255 255 +98 98 98 +213 213 205 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/interface/860F0B0.pal b/graphics/interface/860F0B0.pal new file mode 100644 index 0000000000..61430dbb3a --- /dev/null +++ b/graphics/interface/860F0B0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 205 164 +255 255 255 +98 98 98 +213 213 205 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +255 255 255 +74 205 238 +49 164 238 +0 90 131 +24 98 197 +0 139 90 diff --git a/graphics/interface/bag_pyramid.pal b/graphics/interface/bag_pyramid.pal new file mode 100644 index 0000000000..200b001b5e --- /dev/null +++ b/graphics/interface/bag_pyramid.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +115 197 164 +255 197 106 +230 172 90 +205 148 74 +180 123 65 +164 98 49 +139 74 32 +115 49 24 +90 24 8 +74 0 0 +255 222 123 +164 131 255 +213 205 255 +98 98 115 +255 255 255 +0 0 0 +115 197 164 +255 197 106 +230 172 90 +205 148 74 +180 123 65 +164 98 49 +139 74 32 +115 49 24 +90 24 8 +74 0 0 +255 222 123 +255 49 0 +255 213 172 +98 98 115 +255 255 255 +0 0 0 diff --git a/graphics/interface/bag_pyramid.png b/graphics/interface/bag_pyramid.png new file mode 100644 index 0000000000..42b7090570 Binary files /dev/null and b/graphics/interface/bag_pyramid.png differ diff --git a/graphics/interface/bag_screen.png b/graphics/interface/bag_screen.png new file mode 100644 index 0000000000..e634cdb272 Binary files /dev/null and b/graphics/interface/bag_screen.png differ diff --git a/graphics/interface/bag_screen_female.pal b/graphics/interface/bag_screen_female.pal new file mode 100644 index 0000000000..07057ec9a1 --- /dev/null +++ b/graphics/interface/bag_screen_female.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +98 98 115 +255 255 255 +205 205 205 +164 164 164 +123 123 123 +98 98 115 +57 49 57 +156 65 106 +98 41 65 +255 255 205 +255 230 139 +255 32 32 +230 123 139 +164 49 115 +189 156 90 +0 0 0 +98 98 115 +0 0 0 +255 255 255 +213 213 205 +189 156 90 +255 0 0 +180 180 180 +0 0 0 +0 0 0 +238 205 131 +255 255 205 +90 0 123 +230 123 139 +164 49 115 +106 180 213 +255 148 180 diff --git a/graphics/interface/bag_screen_male.pal b/graphics/interface/bag_screen_male.pal new file mode 100644 index 0000000000..e773c384ca --- /dev/null +++ b/graphics/interface/bag_screen_male.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +98 98 115 +255 255 255 +205 205 205 +164 164 164 +123 123 123 +98 98 115 +41 57 65 +57 106 139 +41 82 115 +255 255 205 +255 230 139 +255 32 32 +213 106 255 +74 131 255 +189 156 90 +0 0 0 +98 98 115 +0 0 0 +255 255 255 +213 213 205 +189 156 90 +255 0 0 +180 180 180 +0 0 0 +0 0 0 +238 205 131 +255 255 205 +90 0 123 +213 106 255 +74 131 255 +255 0 0 +255 148 180 diff --git a/graphics/interface/bag_spinner.png b/graphics/interface/bag_spinner.png new file mode 100644 index 0000000000..4302bd77aa Binary files /dev/null and b/graphics/interface/bag_spinner.png differ diff --git a/graphics/interface/bag_swap.png b/graphics/interface/bag_swap.png new file mode 100644 index 0000000000..a9bed1e8af Binary files /dev/null and b/graphics/interface/bag_swap.png differ diff --git a/graphics/interface/ball/dive.png b/graphics/interface/ball/dive.png new file mode 100644 index 0000000000..5be9b1ed62 Binary files /dev/null and b/graphics/interface/ball/dive.png differ diff --git a/graphics/interface/ball/great.png b/graphics/interface/ball/great.png new file mode 100644 index 0000000000..0c054d7d31 Binary files /dev/null and b/graphics/interface/ball/great.png differ diff --git a/graphics/interface/ball/luxury.png b/graphics/interface/ball/luxury.png new file mode 100644 index 0000000000..8056416b20 Binary files /dev/null and b/graphics/interface/ball/luxury.png differ diff --git a/graphics/interface/ball/master.png b/graphics/interface/ball/master.png new file mode 100644 index 0000000000..9787a8896a Binary files /dev/null and b/graphics/interface/ball/master.png differ diff --git a/graphics/interface/ball/nest.png b/graphics/interface/ball/nest.png new file mode 100644 index 0000000000..a2fa81c1e0 Binary files /dev/null and b/graphics/interface/ball/nest.png differ diff --git a/graphics/interface/ball/net.png b/graphics/interface/ball/net.png new file mode 100644 index 0000000000..6fef48101f Binary files /dev/null and b/graphics/interface/ball/net.png differ diff --git a/graphics/interface/ball/poke.png b/graphics/interface/ball/poke.png new file mode 100644 index 0000000000..1e4aba6693 Binary files /dev/null and b/graphics/interface/ball/poke.png differ diff --git a/graphics/interface/ball/premier.png b/graphics/interface/ball/premier.png new file mode 100644 index 0000000000..f5aaadbaf5 Binary files /dev/null and b/graphics/interface/ball/premier.png differ diff --git a/graphics/interface/ball/repeat.png b/graphics/interface/ball/repeat.png new file mode 100644 index 0000000000..5abe789a2f Binary files /dev/null and b/graphics/interface/ball/repeat.png differ diff --git a/graphics/interface/ball/safari.png b/graphics/interface/ball/safari.png new file mode 100644 index 0000000000..0dd49aef91 Binary files /dev/null and b/graphics/interface/ball/safari.png differ diff --git a/graphics/interface/ball/timer.png b/graphics/interface/ball/timer.png new file mode 100644 index 0000000000..2b63f67953 Binary files /dev/null and b/graphics/interface/ball/timer.png differ diff --git a/graphics/interface/ball/ultra.png b/graphics/interface/ball/ultra.png new file mode 100644 index 0000000000..1221cec4e0 Binary files /dev/null and b/graphics/interface/ball/ultra.png differ diff --git a/graphics/interface/ball_open.png b/graphics/interface/ball_open.png new file mode 100644 index 0000000000..1030f49426 Binary files /dev/null and b/graphics/interface/ball_open.png differ diff --git a/graphics/interface/berry_tag.bin b/graphics/interface/berry_tag.bin new file mode 100644 index 0000000000..fc809d6a79 Binary files /dev/null and b/graphics/interface/berry_tag.bin differ diff --git a/graphics/interface/berry_tag_title.bin b/graphics/interface/berry_tag_title.bin new file mode 100644 index 0000000000..560eb6cfaf Binary files /dev/null and b/graphics/interface/berry_tag_title.bin differ diff --git a/graphics/interface/berrycrush_grinder_base.pal b/graphics/interface/berrycrush_grinder_base.pal deleted file mode 100644 index 23b7036da1..0000000000 --- a/graphics/interface/berrycrush_grinder_base.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 189 189 -148 131 82 -180 164 115 -205 189 148 -213 205 172 -230 222 189 -246 238 205 -255 255 238 -98 106 115 -115 123 131 -0 0 0 -0 90 16 -255 0 0 -49 82 205 -172 164 131 -65 74 90 diff --git a/graphics/interface/berrycrush_timerdigits.pal b/graphics/interface/berrycrush_timerdigits.pal deleted file mode 100644 index 956db48b1d..0000000000 --- a/graphics/interface/berrycrush_timerdigits.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -148 222 164 -164 230 172 -180 238 189 -197 246 205 -213 255 222 -238 255 238 -205 106 255 -172 82 222 -148 148 148 -123 123 123 -255 0 255 -255 0 255 -255 0 255 -180 189 189 -255 255 255 diff --git a/graphics/interface/check_berry.pal b/graphics/interface/check_berry.pal new file mode 100644 index 0000000000..f4f6cb4e30 --- /dev/null +++ b/graphics/interface/check_berry.pal @@ -0,0 +1,99 @@ +JASC-PAL +0100 +96 +0 0 0 +255 255 255 +238 246 238 +222 238 230 +213 230 213 +197 230 205 +189 222 189 +172 213 180 +164 213 172 +148 156 123 +115 106 90 +90 57 65 +222 49 8 +213 106 74 +205 164 139 +213 213 213 +0 0 0 +255 255 255 +213 246 205 +172 246 156 +139 246 106 +106 213 74 +74 180 41 +41 148 8 +246 230 8 +222 197 8 +205 164 8 +189 131 8 +172 98 8 +90 82 106 +172 98 8 +0 0 172 +0 0 0 +246 246 222 +230 213 222 +222 180 222 +205 148 222 +197 123 222 +180 90 222 +172 57 222 +156 24 222 +148 0 222 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +246 246 255 +230 238 246 +213 230 246 +197 222 238 +180 213 238 +164 205 230 +148 197 230 +131 189 230 +0 0 0 +0 0 0 +0 0 0 +246 230 8 +222 197 8 +205 164 8 +189 131 8 +0 0 0 +189 131 65 +197 131 98 +222 189 131 +123 82 24 +0 0 0 +0 0 0 +180 123 123 +238 222 172 +189 131 65 +65 32 0 +255 0 0 +106 180 213 +41 123 164 +123 148 49 +246 246 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +230 123 139 +164 49 115 +0 0 0 +0 0 0 diff --git a/graphics/interface/check_berry.png b/graphics/interface/check_berry.png new file mode 100644 index 0000000000..56fc2966bc Binary files /dev/null and b/graphics/interface/check_berry.png differ diff --git a/graphics/interface/check_berry_circle.png b/graphics/interface/check_berry_circle.png new file mode 100644 index 0000000000..4d66237e5a Binary files /dev/null and b/graphics/interface/check_berry_circle.png differ diff --git a/graphics/interface/dodrioberry_berrysprites.pal b/graphics/interface/dodrioberry_berrysprites.pal deleted file mode 100644 index 98266fb464..0000000000 --- a/graphics/interface/dodrioberry_berrysprites.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 255 255 -65 65 65 -156 156 230 -115 115 189 -139 246 213 -98 213 172 -255 213 57 -246 172 57 -238 238 238 -0 148 213 -230 131 49 -0 156 189 -255 148 139 -0 230 255 -213 98 90 -0 238 255 diff --git a/graphics/interface/dodrioberry_pkmn.pal b/graphics/interface/dodrioberry_pkmn.pal deleted file mode 100644 index ed27897b70..0000000000 --- a/graphics/interface/dodrioberry_pkmn.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -238 255 238 -41 41 41 -255 197 115 -230 164 74 -115 90 65 -246 131 164 -172 74 74 -255 238 189 -213 197 148 -115 106 82 -148 148 148 -106 98 90 -255 205 230 -180 139 90 -0 0 0 -255 255 255 diff --git a/graphics/interface/dodrioberry_platform.pal b/graphics/interface/dodrioberry_platform.pal deleted file mode 100644 index fc1f6a7e84..0000000000 --- a/graphics/interface/dodrioberry_platform.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -230 246 255 -255 255 255 -238 255 255 -246 255 255 -230 230 246 -222 238 246 -222 246 246 -238 238 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/interface/dodrioberry_status.pal b/graphics/interface/dodrioberry_status.pal deleted file mode 100644 index 028e4e20ab..0000000000 --- a/graphics/interface/dodrioberry_status.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -230 255 255 -65 65 65 -255 255 189 -255 238 115 -255 197 0 -197 197 213 -164 164 180 -131 131 148 -255 197 197 -255 139 139 -255 49 49 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -255 49 0 diff --git a/graphics/interface/hm.png b/graphics/interface/hm.png new file mode 100644 index 0000000000..d6c7e8de9e Binary files /dev/null and b/graphics/interface/hm.png differ diff --git a/graphics/interface/hold_icons.png b/graphics/interface/hold_icons.png new file mode 100644 index 0000000000..53eeedde38 Binary files /dev/null and b/graphics/interface/hold_icons.png differ diff --git a/graphics/interface/hpbar_anim.png b/graphics/interface/hpbar_anim.png new file mode 100644 index 0000000000..d4e79fdaec Binary files /dev/null and b/graphics/interface/hpbar_anim.png differ diff --git a/graphics/interface/link_test_digits.pal b/graphics/interface/link_test_digits.pal deleted file mode 100644 index 5362e8d6d7..0000000000 --- a/graphics/interface/link_test_digits.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 255 255 diff --git a/graphics/interface/map_popup/857F444.pal b/graphics/interface/map_popup/857F444.pal new file mode 100644 index 0000000000..19b8cf9c43 --- /dev/null +++ b/graphics/interface/map_popup/857F444.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +238 255 255 +65 65 123 +255 255 255 +180 222 255 +139 172 213 +98 123 172 +57 74 131 +16 24 90 +180 222 255 +139 172 213 +98 123 172 +57 74 131 +16 24 90 +255 255 255 diff --git a/graphics/interface/map_popup/brick.png b/graphics/interface/map_popup/brick.png new file mode 100644 index 0000000000..8fef0a1c2d Binary files /dev/null and b/graphics/interface/map_popup/brick.png differ diff --git a/graphics/interface/map_popup/brick_outline.png b/graphics/interface/map_popup/brick_outline.png new file mode 100644 index 0000000000..be4b6f95a3 Binary files /dev/null and b/graphics/interface/map_popup/brick_outline.png differ diff --git a/graphics/interface/map_popup/marble.png b/graphics/interface/map_popup/marble.png new file mode 100644 index 0000000000..d79b9ec347 Binary files /dev/null and b/graphics/interface/map_popup/marble.png differ diff --git a/graphics/interface/map_popup/marble_outline.png b/graphics/interface/map_popup/marble_outline.png new file mode 100644 index 0000000000..54f3021ea5 Binary files /dev/null and b/graphics/interface/map_popup/marble_outline.png differ diff --git a/graphics/interface/map_popup/stone.png b/graphics/interface/map_popup/stone.png new file mode 100644 index 0000000000..fe3b7e29d6 Binary files /dev/null and b/graphics/interface/map_popup/stone.png differ diff --git a/graphics/interface/map_popup/stone2.png b/graphics/interface/map_popup/stone2.png new file mode 100644 index 0000000000..261c3184ab Binary files /dev/null and b/graphics/interface/map_popup/stone2.png differ diff --git a/graphics/interface/map_popup/stone2_outline.png b/graphics/interface/map_popup/stone2_outline.png new file mode 100644 index 0000000000..b0c0748df7 Binary files /dev/null and b/graphics/interface/map_popup/stone2_outline.png differ diff --git a/graphics/interface/map_popup/stone_outline.png b/graphics/interface/map_popup/stone_outline.png new file mode 100644 index 0000000000..7c014d05eb Binary files /dev/null and b/graphics/interface/map_popup/stone_outline.png differ diff --git a/graphics/interface/map_popup/underwater.png b/graphics/interface/map_popup/underwater.png new file mode 100644 index 0000000000..e6cf2b6c81 Binary files /dev/null and b/graphics/interface/map_popup/underwater.png differ diff --git a/graphics/interface/map_popup/underwater_outline.png b/graphics/interface/map_popup/underwater_outline.png new file mode 100644 index 0000000000..2ffe3cb755 Binary files /dev/null and b/graphics/interface/map_popup/underwater_outline.png differ diff --git a/graphics/interface/map_popup/wood.png b/graphics/interface/map_popup/wood.png new file mode 100644 index 0000000000..e846a6bcd5 Binary files /dev/null and b/graphics/interface/map_popup/wood.png differ diff --git a/graphics/interface/map_popup/wood_outline.png b/graphics/interface/map_popup/wood_outline.png new file mode 100644 index 0000000000..d143dbc2f8 Binary files /dev/null and b/graphics/interface/map_popup/wood_outline.png differ diff --git a/graphics/interface/mart_frame.bin b/graphics/interface/mart_frame.bin new file mode 100644 index 0000000000..63156b8d53 Binary files /dev/null and b/graphics/interface/mart_frame.bin differ diff --git a/graphics/interface/mart_frame.png b/graphics/interface/mart_frame.png new file mode 100644 index 0000000000..ece93b7c77 Binary files /dev/null and b/graphics/interface/mart_frame.png differ diff --git a/graphics/interface/menu.png b/graphics/interface/menu.png new file mode 100644 index 0000000000..96f6b8b15f Binary files /dev/null and b/graphics/interface/menu.png differ diff --git a/graphics/interface/menu_0.pal b/graphics/interface/menu_0.pal new file mode 100644 index 0000000000..67e1af896a --- /dev/null +++ b/graphics/interface/menu_0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +255 0 0 +82 98 156 +106 139 189 +255 255 255 +106 90 115 +213 205 213 +65 74 123 +74 65 82 +131 139 139 +106 65 90 +172 106 98 +213 74 57 +156 74 98 +106 164 164 diff --git a/graphics/interface/menu_1.pal b/graphics/interface/menu_1.pal new file mode 100644 index 0000000000..3adc737664 --- /dev/null +++ b/graphics/interface/menu_1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +74 57 115 +82 98 156 +106 139 189 +41 49 49 +255 255 255 +106 90 115 +222 213 222 +90 82 82 +180 189 180 +139 156 213 +90 74 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/interface/menu_border.png b/graphics/interface/menu_border.png new file mode 100644 index 0000000000..ba748b169d Binary files /dev/null and b/graphics/interface/menu_border.png differ diff --git a/graphics/interface/menu_map.bin b/graphics/interface/menu_map.bin new file mode 100644 index 0000000000..8a7b3f1f00 Binary files /dev/null and b/graphics/interface/menu_map.bin differ diff --git a/graphics/interface/money.png b/graphics/interface/money.png new file mode 100644 index 0000000000..d11fe06d1e Binary files /dev/null and b/graphics/interface/money.png differ diff --git a/graphics/interface/numbers1.png b/graphics/interface/numbers1.png new file mode 100644 index 0000000000..f157579583 Binary files /dev/null and b/graphics/interface/numbers1.png differ diff --git a/graphics/interface/numbers2.png b/graphics/interface/numbers2.png new file mode 100644 index 0000000000..4ddf364bf2 Binary files /dev/null and b/graphics/interface/numbers2.png differ diff --git a/graphics/interface/party_menu_hpbar.png b/graphics/interface/party_menu_hpbar.png new file mode 100644 index 0000000000..763b91210c Binary files /dev/null and b/graphics/interface/party_menu_hpbar.png differ diff --git a/graphics/interface/party_menu_misc.bin b/graphics/interface/party_menu_misc.bin new file mode 100644 index 0000000000..d6ff1114d1 Binary files /dev/null and b/graphics/interface/party_menu_misc.bin differ diff --git a/graphics/interface/party_menu_misc.pal b/graphics/interface/party_menu_misc.pal new file mode 100644 index 0000000000..0b4b30f81c --- /dev/null +++ b/graphics/interface/party_menu_misc.pal @@ -0,0 +1,179 @@ +JASC-PAL +0100 +176 +123 156 115 +255 255 255 +106 106 106 +0 0 0 +65 205 255 +0 139 189 +49 189 238 +255 156 148 +189 90 82 +222 123 115 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +139 148 123 +74 74 98 +65 156 148 +139 156 41 +205 213 123 +180 180 90 +82 65 74 +32 16 24 +255 0 255 +255 0 255 +255 255 255 +230 238 139 +98 90 0 +255 0 255 +255 0 255 +115 90 180 +139 148 123 +255 115 49 +65 156 148 +139 156 41 +205 213 123 +180 180 90 +82 65 74 +82 82 90 +255 0 255 +255 0 255 +255 255 255 +123 205 180 +57 148 123 +255 0 255 +255 0 255 +164 115 246 +123 156 115 +74 74 98 +115 115 115 +255 255 255 +131 197 222 +57 148 222 +41 123 180 +131 197 222 +41 123 180 +115 255 172 +90 213 131 +65 205 255 +0 98 148 +82 82 82 +255 213 82 +255 180 65 +123 156 115 +74 74 98 +115 115 115 +255 255 255 +213 197 90 +197 164 24 +156 156 32 +213 197 90 +156 156 32 +255 230 57 +205 172 8 +255 156 148 +156 65 57 +82 82 82 +255 213 82 +255 180 65 +123 156 115 +74 74 98 +115 115 115 +255 255 255 +213 164 32 +197 106 16 +164 74 0 +213 164 32 +164 74 0 +255 115 49 +197 57 0 +255 0 255 +255 0 255 +82 82 82 +255 213 82 +255 180 65 +123 156 115 +255 115 49 +115 115 115 +255 255 255 +180 255 164 +123 222 131 +123 156 98 +255 115 49 +255 115 49 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +82 82 82 +255 213 82 +255 180 65 +57 156 255 +255 115 49 +115 115 115 +255 255 255 +172 238 255 +123 213 238 +74 172 205 +255 115 49 +255 115 49 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +82 82 82 +255 213 82 +255 180 65 +57 156 255 +255 115 49 +115 115 115 +255 255 255 +246 246 148 +246 230 98 +222 197 32 +255 115 49 +255 115 49 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +82 82 82 +255 213 82 +255 180 65 +57 156 255 +255 115 49 +115 115 115 +255 255 255 +255 213 222 +255 189 148 +238 164 131 +255 115 49 +255 115 49 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +82 82 82 +255 213 82 +255 180 65 +57 156 255 +255 255 115 +115 115 115 +255 255 255 +180 255 164 +123 222 131 +131 172 106 +255 255 115 +255 255 115 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +82 82 82 +255 213 82 +255 180 65 diff --git a/graphics/interface/party_menu_misc.png b/graphics/interface/party_menu_misc.png new file mode 100644 index 0000000000..c58f3aae98 Binary files /dev/null and b/graphics/interface/party_menu_misc.png differ diff --git a/graphics/interface/party_menu_pokeball.png b/graphics/interface/party_menu_pokeball.png new file mode 100644 index 0000000000..2aad54de84 Binary files /dev/null and b/graphics/interface/party_menu_pokeball.png differ diff --git a/graphics/interface/party_menu_pokeball_small.png b/graphics/interface/party_menu_pokeball_small.png new file mode 100644 index 0000000000..d2eec4d45b Binary files /dev/null and b/graphics/interface/party_menu_pokeball_small.png differ diff --git a/graphics/interface/pkmnjump_321start1.pal b/graphics/interface/pkmnjump_321start1.pal deleted file mode 100644 index 9fa1875d3a..0000000000 --- a/graphics/interface/pkmnjump_321start1.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 213 230 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -32 32 32 -131 49 49 -230 65 41 -156 65 65 -255 90 74 -172 115 57 -255 189 74 -255 255 255 diff --git a/graphics/interface/pkmnjump_321start2.pal b/graphics/interface/pkmnjump_321start2.pal deleted file mode 100644 index 9fa1875d3a..0000000000 --- a/graphics/interface/pkmnjump_321start2.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 213 230 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -32 32 32 -131 49 49 -230 65 41 -156 65 65 -255 90 74 -172 115 57 -255 189 74 -255 255 255 diff --git a/graphics/interface/pkmnjump_bg.pal b/graphics/interface/pkmnjump_bg.pal deleted file mode 100644 index aed4bcc8b4..0000000000 --- a/graphics/interface/pkmnjump_bg.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 156 197 -106 222 156 -106 230 230 -139 230 255 -156 238 255 -197 246 255 -189 213 131 -230 213 115 -238 230 131 -246 246 156 -222 222 172 -106 230 172 -255 0 255 -255 0 255 -255 0 255 -255 0 255 diff --git a/graphics/interface/pkmnjump_results.pal b/graphics/interface/pkmnjump_results.pal deleted file mode 100644 index aca961de32..0000000000 --- a/graphics/interface/pkmnjump_results.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -156 156 197 -148 197 115 -172 222 123 -213 180 57 -238 205 65 -230 164 131 -246 189 172 -98 98 82 -164 148 90 -205 189 82 -255 238 74 -156 164 230 -90 90 106 -172 148 106 -230 205 123 -180 189 246 diff --git a/graphics/interface/pkmnjump_venusaur.pal b/graphics/interface/pkmnjump_venusaur.pal deleted file mode 100644 index a3514b0047..0000000000 --- a/graphics/interface/pkmnjump_venusaur.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -213 213 213 -32 98 49 -98 156 115 -90 205 148 -139 238 189 -139 57 0 -189 106 49 -16 16 16 -230 74 65 -255 131 115 -156 246 139 -222 205 49 -255 238 82 -65 164 24 -106 205 65 -255 255 255 diff --git a/graphics/interface/pokeblock.bin b/graphics/interface/pokeblock.bin new file mode 100644 index 0000000000..1719bb5a6f Binary files /dev/null and b/graphics/interface/pokeblock.bin differ diff --git a/graphics/interface/pokeblock_case_frame.pal b/graphics/interface/pokeblock_case_frame.pal new file mode 100644 index 0000000000..ef58ae7780 --- /dev/null +++ b/graphics/interface/pokeblock_case_frame.pal @@ -0,0 +1,99 @@ +JASC-PAL +0100 +96 +0 0 0 +123 205 189 +238 246 255 +213 230 255 +255 0 0 +115 131 238 +90 90 98 +123 180 189 +131 131 164 +0 0 0 +0 0 0 +197 197 197 +205 65 24 +255 123 90 +255 180 148 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +238 246 255 +0 0 0 +0 0 0 +90 90 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +197 197 197 +106 139 189 +148 213 255 +180 238 255 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +255 238 238 +0 0 0 +0 0 0 +90 90 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +197 197 197 +205 90 172 +255 156 197 +255 197 213 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +106 180 115 +148 246 98 +205 255 139 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +180 180 49 +246 230 49 +255 255 148 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +148 148 139 +222 222 222 +238 238 238 +255 255 255 diff --git a/graphics/interface/pokeblock_case_frame.png b/graphics/interface/pokeblock_case_frame.png new file mode 100644 index 0000000000..ffc658821a Binary files /dev/null and b/graphics/interface/pokeblock_case_frame.png differ diff --git a/graphics/interface/pokeblock_device.png b/graphics/interface/pokeblock_device.png new file mode 100644 index 0000000000..65b29a8b36 Binary files /dev/null and b/graphics/interface/pokeblock_device.png differ diff --git a/graphics/interface/pokeblock_feeding_bg_map.bin b/graphics/interface/pokeblock_feeding_bg_map.bin new file mode 100644 index 0000000000..9feebf8bcc Binary files /dev/null and b/graphics/interface/pokeblock_feeding_bg_map.bin differ diff --git a/graphics/interface/powacc_tilemap.bin b/graphics/interface/powacc_tilemap.bin new file mode 100644 index 0000000000..5b492db688 Binary files /dev/null and b/graphics/interface/powacc_tilemap.bin differ diff --git a/graphics/interface/red_arrow.png b/graphics/interface/red_arrow.png new file mode 100644 index 0000000000..91c8268b73 Binary files /dev/null and b/graphics/interface/red_arrow.png differ diff --git a/graphics/interface/red_arrow_other.png b/graphics/interface/red_arrow_other.png new file mode 100644 index 0000000000..33fcf44b9c Binary files /dev/null and b/graphics/interface/red_arrow_other.png differ diff --git a/graphics/interface/region_map.bin b/graphics/interface/region_map.bin new file mode 100644 index 0000000000..dee8ac5252 Binary files /dev/null and b/graphics/interface/region_map.bin differ diff --git a/graphics/interface/region_map.pal b/graphics/interface/region_map.pal new file mode 100644 index 0000000000..64ca5e82cc --- /dev/null +++ b/graphics/interface/region_map.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +156 213 255 +0 115 0 +164 180 255 +57 172 8 +189 0 49 +255 106 139 +164 0 8 +246 0 0 +255 189 205 +255 164 49 +238 230 172 +230 164 0 +238 189 57 +205 205 148 +98 213 0 +0 0 0 +172 238 49 +213 255 123 +238 230 115 +74 156 230 +41 131 230 +24 65 197 +57 131 197 +246 213 82 +32 74 197 +65 106 205 +0 0 0 +255 230 131 +255 156 0 +180 0 0 +255 255 255 +0 0 0 +205 238 255 +197 213 255 +98 98 98 +205 205 205 +189 123 0 +0 0 0 +123 180 213 +0 115 172 +0 57 139 +255 172 16 +255 57 16 +148 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/interface/region_map.png b/graphics/interface/region_map.png new file mode 100644 index 0000000000..17c6ffd039 Binary files /dev/null and b/graphics/interface/region_map.png differ diff --git a/graphics/interface/region_map_affine.bin b/graphics/interface/region_map_affine.bin new file mode 100644 index 0000000000..06e6733bed Binary files /dev/null and b/graphics/interface/region_map_affine.bin differ diff --git a/graphics/interface/region_map_affine.png b/graphics/interface/region_map_affine.png new file mode 100644 index 0000000000..48e5c182cd Binary files /dev/null and b/graphics/interface/region_map_affine.png differ diff --git a/graphics/interface/select_button.png b/graphics/interface/select_button.png new file mode 100644 index 0000000000..bded587fd1 Binary files /dev/null and b/graphics/interface/select_button.png differ diff --git a/graphics/interface/selector_outline.png b/graphics/interface/selector_outline.png new file mode 100644 index 0000000000..d9f3e1b8dc Binary files /dev/null and b/graphics/interface/selector_outline.png differ diff --git a/graphics/interface/status_icons.png b/graphics/interface/status_icons.png new file mode 100644 index 0000000000..fe802d7f66 Binary files /dev/null and b/graphics/interface/status_icons.png differ diff --git a/graphics/interface/status_screen.bin b/graphics/interface/status_screen.bin new file mode 100644 index 0000000000..771d4db932 Binary files /dev/null and b/graphics/interface/status_screen.bin differ diff --git a/graphics/interface/status_screen.pal b/graphics/interface/status_screen.pal new file mode 100644 index 0000000000..badbfe53b3 --- /dev/null +++ b/graphics/interface/status_screen.pal @@ -0,0 +1,131 @@ +JASC-PAL +0100 +128 +180 180 115 +74 65 57 +255 255 255 +222 230 246 +213 213 189 +246 255 255 +115 106 98 +98 156 222 +74 148 189 +57 148 164 +32 148 139 +16 148 115 +156 222 164 +98 180 139 +49 139 115 +0 106 98 +180 180 115 +74 65 57 +255 255 255 +90 106 0 +123 139 32 +255 246 205 +115 106 98 +90 222 123 +90 205 98 +90 189 74 +98 172 49 +98 156 24 +238 164 255 +189 156 164 +148 148 82 +106 148 0 +180 180 115 +74 65 57 +255 255 255 +172 180 172 +205 205 197 +246 255 238 +115 106 98 +238 222 24 +213 189 57 +189 164 98 +164 139 131 +139 115 172 +205 222 123 +172 172 148 +139 131 180 +115 90 213 +180 180 115 +74 65 57 +255 255 255 +0 0 0 +0 0 0 +246 255 246 +115 106 98 +222 24 238 +189 16 238 +164 8 238 +131 8 246 +106 0 246 +172 222 222 +139 148 230 +106 74 238 +82 0 255 +180 180 115 +74 65 57 +148 32 172 +189 106 213 +230 189 255 +255 255 255 +213 148 246 +189 139 205 +255 230 255 +230 180 213 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +115 98 90 +180 180 115 +74 65 57 +255 255 255 +222 230 246 +246 246 222 +246 255 255 +115 106 98 +255 205 74 +230 164 98 +205 123 123 +180 82 148 +156 41 172 +230 156 255 +197 98 238 +164 49 222 +131 0 205 +98 180 106 +0 0 0 +213 213 205 +255 255 255 +98 98 98 +230 8 8 +255 189 115 +65 205 255 +0 139 189 +255 156 148 +189 90 82 +139 246 255 +24 164 213 +255 189 180 +213 115 106 +0 0 0 +98 180 106 +0 0 0 +213 213 205 +255 255 255 +98 98 98 +230 8 8 +255 189 115 +238 238 172 +164 164 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 0 0 +164 0 0 +255 255 255 diff --git a/graphics/interface/status_screen.png b/graphics/interface/status_screen.png new file mode 100644 index 0000000000..2f9f8db855 Binary files /dev/null and b/graphics/interface/status_screen.png differ diff --git a/graphics/interface/status_tilemap0.bin b/graphics/interface/status_tilemap0.bin new file mode 100644 index 0000000000..a869a9d03f Binary files /dev/null and b/graphics/interface/status_tilemap0.bin differ diff --git a/graphics/interface/status_tilemap1.bin b/graphics/interface/status_tilemap1.bin new file mode 100644 index 0000000000..19cb946376 Binary files /dev/null and b/graphics/interface/status_tilemap1.bin differ diff --git a/graphics/interface/status_tilemap2.bin b/graphics/interface/status_tilemap2.bin new file mode 100644 index 0000000000..f835047d19 Binary files /dev/null and b/graphics/interface/status_tilemap2.bin differ diff --git a/graphics/interface/status_tilemap3.bin b/graphics/interface/status_tilemap3.bin new file mode 100644 index 0000000000..9c11ccc4f0 Binary files /dev/null and b/graphics/interface/status_tilemap3.bin differ diff --git a/graphics/interface/summary.bin b/graphics/interface/summary.bin new file mode 100644 index 0000000000..0a19222a32 Binary files /dev/null and b/graphics/interface/summary.bin differ diff --git a/graphics/interface/summary_a_button.png b/graphics/interface/summary_a_button.png new file mode 100644 index 0000000000..4607ca9da2 Binary files /dev/null and b/graphics/interface/summary_a_button.png differ diff --git a/graphics/interface/summary_b_button.png b/graphics/interface/summary_b_button.png new file mode 100644 index 0000000000..32ce28e04a Binary files /dev/null and b/graphics/interface/summary_b_button.png differ diff --git a/graphics/interface/summary_frames.png b/graphics/interface/summary_frames.png new file mode 100644 index 0000000000..2a579b012b Binary files /dev/null and b/graphics/interface/summary_frames.png differ diff --git a/graphics/interface/summary_markings.pal b/graphics/interface/summary_markings.pal new file mode 100644 index 0000000000..08124207da --- /dev/null +++ b/graphics/interface/summary_markings.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +164 148 222 +172 156 238 +255 255 255 +205 205 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/interface/test.bin b/graphics/interface/test.bin deleted file mode 100644 index 34b783c764..0000000000 Binary files a/graphics/interface/test.bin and /dev/null differ diff --git a/graphics/interface/ui_learn_move.png b/graphics/interface/ui_learn_move.png new file mode 100644 index 0000000000..6cb6540b51 Binary files /dev/null and b/graphics/interface/ui_learn_move.png differ diff --git a/graphics/interface/unk_textbox_border.pal b/graphics/interface/unk_textbox_border.pal deleted file mode 100644 index efa37f0a1b..0000000000 --- a/graphics/interface/unk_textbox_border.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -148 148 148 -148 189 255 -156 230 255 -205 255 255 -98 106 246 -164 180 172 -197 205 197 -222 230 222 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -98 98 98 -148 148 148 -197 197 197 -0 0 0 diff --git a/graphics/interface/unk_tilemap.bin b/graphics/interface/unk_tilemap.bin new file mode 100644 index 0000000000..0b3837ae2b Binary files /dev/null and b/graphics/interface/unk_tilemap.bin differ diff --git a/graphics/interface/unk_tilemap2.bin b/graphics/interface/unk_tilemap2.bin new file mode 100644 index 0000000000..961d7a3292 Binary files /dev/null and b/graphics/interface/unk_tilemap2.bin differ diff --git a/graphics/interface/unknown_6157C4.bin b/graphics/interface/unknown_6157C4.bin new file mode 100644 index 0000000000..8c3c1be3d1 --- /dev/null +++ b/graphics/interface/unknown_6157C4.bin @@ -0,0 +1 @@ +#$ \ No newline at end of file diff --git a/graphics/interface/unknown_6157E0.bin b/graphics/interface/unknown_6157E0.bin new file mode 100644 index 0000000000..7f11aaf4e5 --- /dev/null +++ b/graphics/interface/unknown_6157E0.bin @@ -0,0 +1,2 @@ + +            \ No newline at end of file diff --git a/graphics/interface/wallclock.png b/graphics/interface/wallclock.png new file mode 100644 index 0000000000..e50f37e725 Binary files /dev/null and b/graphics/interface/wallclock.png differ diff --git a/graphics/interface/wallclock1.bin b/graphics/interface/wallclock1.bin new file mode 100644 index 0000000000..49f21ed5be Binary files /dev/null and b/graphics/interface/wallclock1.bin differ diff --git a/graphics/interface/wallclock2.bin b/graphics/interface/wallclock2.bin new file mode 100644 index 0000000000..ba479e7b1a Binary files /dev/null and b/graphics/interface/wallclock2.bin differ diff --git a/graphics/interface/wallclock_female.pal b/graphics/interface/wallclock_female.pal new file mode 100644 index 0000000000..a7909e2e04 --- /dev/null +++ b/graphics/interface/wallclock_female.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +65 65 90 +222 230 238 +213 213 222 +205 205 213 +197 197 205 +255 197 255 +255 156 255 +255 115 255 +255 82 255 +74 180 189 +255 230 49 +90 90 123 +123 123 172 +65 65 90 +255 255 255 +0 0 0 diff --git a/graphics/interface/wallclock_male.pal b/graphics/interface/wallclock_male.pal new file mode 100644 index 0000000000..1582ebfd25 --- /dev/null +++ b/graphics/interface/wallclock_male.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +65 65 90 +222 230 238 +213 213 222 +205 205 213 +197 197 205 +164 180 255 +115 139 255 +74 98 255 +32 65 255 +74 180 189 +255 230 49 +90 90 123 +123 123 172 +65 65 90 +255 255 255 +0 0 0 diff --git a/graphics/interface/wireless_link_display.pal b/graphics/interface/wireless_link_display.pal deleted file mode 100644 index e880353cf4..0000000000 --- a/graphics/interface/wireless_link_display.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -255 90 0 -246 139 74 -255 205 164 -238 246 246 -180 222 255 -57 90 123 -115 189 255 -222 222 246 -131 246 180 -106 115 131 -189 197 213 -156 164 180 -74 74 90 -0 0 0 diff --git a/graphics/interface/wireless_link_icon.pal b/graphics/interface/wireless_link_icon.pal deleted file mode 100644 index 4a225886ce..0000000000 --- a/graphics/interface/wireless_link_icon.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -172 180 255 -131 148 164 -238 246 246 -180 180 189 -74 90 106 -255 0 0 -255 180 131 -255 255 255 -0 0 0 -238 246 246 -238 246 246 -238 246 246 -238 246 246 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/interface/wonder_card_1.pal b/graphics/interface/wonder_card_1.pal deleted file mode 100644 index 9c5ef9b265..0000000000 --- a/graphics/interface/wonder_card_1.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -90 197 148 -213 213 213 -74 74 74 -98 106 106 -213 189 74 -238 213 82 -246 246 213 -255 255 255 -230 230 213 -238 238 213 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 diff --git a/graphics/interface/wonder_card_2.pal b/graphics/interface/wonder_card_2.pal deleted file mode 100644 index 18c2be3fd4..0000000000 --- a/graphics/interface/wonder_card_2.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -90 197 148 -82 82 106 -131 131 139 -197 189 213 -205 230 255 -115 139 197 -49 74 82 -0 0 0 -0 0 0 -222 255 246 -197 255 222 -222 238 255 -156 180 222 -156 106 115 -172 139 164 -255 255 255 diff --git a/graphics/interface/wonder_card_3.pal b/graphics/interface/wonder_card_3.pal deleted file mode 100644 index db02d5d4b7..0000000000 --- a/graphics/interface/wonder_card_3.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -90 197 148 -82 82 106 -131 131 139 -164 156 172 -197 189 213 -246 238 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 230 230 -255 197 197 -255 164 164 -246 139 139 -238 90 90 -255 255 255 diff --git a/graphics/interface/wonder_card_4.pal b/graphics/interface/wonder_card_4.pal deleted file mode 100644 index bfbf036a5d..0000000000 --- a/graphics/interface/wonder_card_4.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -90 197 148 -82 82 106 -131 131 139 -164 156 172 -197 189 213 -246 238 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -238 255 230 -213 255 189 -189 230 156 -164 213 131 -148 197 106 -255 255 255 diff --git a/graphics/interface/wonder_card_5.pal b/graphics/interface/wonder_card_5.pal deleted file mode 100644 index fa41ee3b06..0000000000 --- a/graphics/interface/wonder_card_5.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -90 197 148 -82 82 106 -131 131 139 -164 156 172 -197 189 213 -246 238 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -238 246 255 -205 238 246 -180 222 246 -156 197 238 -115 156 197 -255 255 255 diff --git a/graphics/interface/wonder_card_6.pal b/graphics/interface/wonder_card_6.pal deleted file mode 100644 index 8a71f58468..0000000000 --- a/graphics/interface/wonder_card_6.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -90 197 148 -82 82 106 -131 131 139 -164 156 172 -197 189 213 -246 238 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -238 238 197 -230 230 139 -222 222 115 -213 213 90 -189 189 57 -255 255 255 diff --git a/graphics/interface/wonder_card_7.pal b/graphics/interface/wonder_card_7.pal deleted file mode 100644 index 01832b5e2f..0000000000 --- a/graphics/interface/wonder_card_7.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -189 123 148 -213 213 213 -74 74 74 -115 123 123 -164 156 90 -164 148 90 -197 197 90 -213 205 90 -222 213 90 -213 213 106 -238 246 98 -230 222 98 -213 205 98 -197 180 98 -238 230 98 -246 238 106 diff --git a/graphics/interface/wonder_card_8.pal b/graphics/interface/wonder_card_8.pal deleted file mode 100644 index 28a498b57d..0000000000 --- a/graphics/interface/wonder_card_8.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -189 123 148 -213 213 213 -74 74 74 -115 123 123 -156 156 156 -139 139 148 -180 180 197 -197 189 205 -205 205 222 -189 189 189 -197 230 222 -189 213 213 -180 197 197 -156 164 172 -222 222 230 -230 230 238 diff --git a/graphics/interface/wonder_news_1.pal b/graphics/interface/wonder_news_1.pal deleted file mode 100644 index 970736bbb7..0000000000 --- a/graphics/interface/wonder_news_1.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -90 197 148 -213 213 213 -74 74 74 -98 106 106 -213 189 74 -238 213 82 -246 246 213 -255 255 255 -230 230 213 -238 238 213 -246 246 238 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 diff --git a/graphics/interface/wonder_news_7.pal b/graphics/interface/wonder_news_7.pal deleted file mode 100644 index 01832b5e2f..0000000000 --- a/graphics/interface/wonder_news_7.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -189 123 148 -213 213 213 -74 74 74 -115 123 123 -164 156 90 -164 148 90 -197 197 90 -213 205 90 -222 213 90 -213 213 106 -238 246 98 -230 222 98 -213 205 98 -197 180 98 -238 230 98 -246 238 106 diff --git a/graphics/interface/wonder_news_8.pal b/graphics/interface/wonder_news_8.pal deleted file mode 100644 index 28a498b57d..0000000000 --- a/graphics/interface/wonder_news_8.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -189 123 148 -213 213 213 -74 74 74 -115 123 123 -156 156 156 -139 139 148 -180 180 197 -197 189 205 -205 205 222 -189 189 189 -197 230 222 -189 213 213 -180 197 197 -156 164 172 -222 222 230 -230 230 238 diff --git a/graphics/interface_fr/menu.png b/graphics/interface_fr/menu.png new file mode 100644 index 0000000000..a04c981d5d Binary files /dev/null and b/graphics/interface_fr/menu.png differ diff --git a/graphics/interface_fr/menu1.pal b/graphics/interface_fr/menu1.pal new file mode 100644 index 0000000000..ab57da621f --- /dev/null +++ b/graphics/interface_fr/menu1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 156 131 +238 238 238 +0 0 0 +213 213 189 +172 164 123 +255 131 123 +238 49 0 +222 49 16 +197 49 41 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/interface_fr/menu2.pal b/graphics/interface_fr/menu2.pal new file mode 100644 index 0000000000..16a03be2c1 --- /dev/null +++ b/graphics/interface_fr/menu2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +123 156 131 +238 49 0 +246 131 49 +255 180 16 +222 230 49 +123 205 82 +156 222 222 +106 148 246 +164 65 164 +172 172 123 +222 222 197 +189 164 57 +255 90 139 +82 123 139 +65 65 65 +255 255 255 diff --git a/graphics/interface_fr/menu3.pal b/graphics/interface_fr/menu3.pal new file mode 100644 index 0000000000..99b5b3464a --- /dev/null +++ b/graphics/interface_fr/menu3.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 205 164 +255 255 255 +98 98 98 +213 213 205 +255 255 255 +230 230 230 +197 197 197 +238 238 238 +197 197 197 +148 148 148 +255 0 0 +180 0 0 +255 197 197 +82 82 255 +49 49 180 +197 197 255 diff --git a/graphics/intro/copyright.pal b/graphics/intro/copyright.pal deleted file mode 100644 index 4219d43947..0000000000 --- a/graphics/intro/copyright.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 32 32 -24 57 57 -49 82 82 -82 106 106 -106 131 131 -139 156 156 -164 180 180 -197 205 205 -222 230 230 -255 255 255 diff --git a/graphics/intro/copyright.png b/graphics/intro/copyright.png index c005ff02c6..988a073183 100644 Binary files a/graphics/intro/copyright.png and b/graphics/intro/copyright.png differ diff --git a/graphics/intro/intro1_flygon.pal b/graphics/intro/intro1_flygon.pal deleted file mode 100644 index dcfc242a58..0000000000 --- a/graphics/intro/intro1_flygon.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -74 74 82 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/intro/intro1_text.pal b/graphics/intro/intro1_text.pal new file mode 100644 index 0000000000..574921c0db --- /dev/null +++ b/graphics/intro/intro1_text.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +24 57 255 +49 74 255 +74 98 255 +98 123 255 +123 139 255 +148 164 255 +172 189 255 +197 205 255 +222 230 255 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +24 57 255 +24 57 230 +32 57 213 +41 65 197 +49 65 172 +49 65 156 +57 74 139 +65 74 115 +74 74 98 +82 82 82 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +24 57 255 +41 65 246 +57 82 238 +74 98 230 +90 106 222 +106 123 213 +123 139 205 +139 148 197 +156 164 189 +180 180 180 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/intro/intro2_bgclouds.pal b/graphics/intro/intro2_bgclouds.pal deleted file mode 100644 index 6b312a16cc..0000000000 --- a/graphics/intro/intro2_bgclouds.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -230 246 255 -205 238 255 -180 230 255 -164 222 255 -139 213 255 -115 205 255 -98 197 255 -230 230 255 -246 255 255 -213 222 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/intro/intro2_bgnight.pal b/graphics/intro/intro2_bgnight.pal deleted file mode 100644 index 765aad45a8..0000000000 --- a/graphics/intro/intro2_bgnight.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -0 0 0 -0 0 0 -82 90 148 -148 131 164 -57 74 123 -131 106 156 -98 90 123 -156 164 197 -139 148 172 -90 131 139 -189 197 213 -90 115 164 -230 230 82 -131 131 164 -246 246 123 diff --git a/graphics/intro/intro2_bgtrees.pal b/graphics/intro/intro2_bgtrees.pal deleted file mode 100644 index 5c506481a2..0000000000 --- a/graphics/intro/intro2_bgtrees.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -156 189 246 -172 205 246 -197 230 255 -213 246 255 -238 255 255 -156 180 172 -197 197 156 -172 189 164 -98 139 98 -98 156 57 -123 164 131 -156 213 82 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/intro/intro2_brendan.pal b/graphics/intro/intro2_brendan.pal deleted file mode 100644 index a948fb920c..0000000000 --- a/graphics/intro/intro2_brendan.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 189 172 -82 74 74 -139 139 123 -197 189 222 -255 255 255 -230 49 0 -246 148 0 -0 0 0 -255 213 148 -222 164 139 -0 0 0 -246 57 131 -189 57 115 -131 255 131 -82 197 90 -131 164 65 diff --git a/graphics/intro/intro2_bubbles.pal b/graphics/intro/intro2_bubbles.pal deleted file mode 100644 index 85c4836664..0000000000 --- a/graphics/intro/intro2_bubbles.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -106 148 98 -0 41 82 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -139 172 255 -106 148 222 -82 123 189 -49 98 156 -24 74 123 -0 49 98 -180 0 0 diff --git a/graphics/intro/intro2_flygon.pal b/graphics/intro/intro2_flygon.pal deleted file mode 100644 index 09607ac173..0000000000 --- a/graphics/intro/intro2_flygon.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 189 172 -82 74 74 -139 139 123 -197 189 222 -255 255 255 -164 98 106 -238 57 115 -255 106 139 -255 197 180 -246 255 139 -213 238 106 -172 213 65 -164 222 139 -123 197 115 -90 148 82 -0 0 0 diff --git a/graphics/intro/intro2_grass.pal b/graphics/intro/intro2_grass.pal deleted file mode 100644 index 389977abfb..0000000000 --- a/graphics/intro/intro2_grass.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -74 82 82 -90 123 123 -205 205 197 -255 255 255 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -106 164 98 -115 197 98 -164 230 90 diff --git a/graphics/intro/intro2_latias.pal b/graphics/intro/intro2_latias.pal deleted file mode 100644 index 0af96be298..0000000000 --- a/graphics/intro/intro2_latias.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -123 106 106 -115 131 164 -222 213 238 -255 255 255 -213 65 57 -238 106 32 -172 74 65 -255 90 65 -180 172 197 -189 139 57 -189 98 41 -90 115 180 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/intro/intro2_latios.pal b/graphics/intro/intro2_latios.pal deleted file mode 100644 index bb51c0a7d4..0000000000 --- a/graphics/intro/intro2_latios.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -123 106 106 -115 131 164 -222 213 238 -255 255 255 -106 131 230 -139 197 255 -90 115 180 -139 156 230 -180 172 197 -238 82 32 -238 41 24 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/intro/intro2_manectric.pal b/graphics/intro/intro2_manectric.pal deleted file mode 100644 index c6bf97aa3e..0000000000 --- a/graphics/intro/intro2_manectric.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 189 172 -82 74 74 -139 139 123 -197 189 222 -255 255 255 -230 49 0 -246 148 0 -0 0 0 -255 255 180 -246 246 90 -205 213 49 -148 123 8 -131 164 255 -106 106 255 -41 74 213 -0 0 0 diff --git a/graphics/intro/intro2_may.pal b/graphics/intro/intro2_may.pal deleted file mode 100644 index 1ff2ecd1d9..0000000000 --- a/graphics/intro/intro2_may.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 189 172 -82 74 74 -139 139 123 -197 189 222 -255 255 255 -82 197 0 -148 246 98 -98 98 131 -255 213 148 -222 164 139 -180 172 115 -246 90 90 -189 57 115 -131 255 65 -82 197 90 -131 164 65 diff --git a/graphics/intro/intro2_torchic.pal b/graphics/intro/intro2_torchic.pal deleted file mode 100644 index 860b76b60d..0000000000 --- a/graphics/intro/intro2_torchic.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 189 172 -82 74 74 -139 139 123 -197 189 222 -255 255 255 -131 98 41 -230 98 32 -238 148 74 -246 197 115 -255 255 148 -255 213 0 -205 189 49 -255 246 205 -255 213 148 -222 180 115 -0 0 0 diff --git a/graphics/intro/intro2_volbeat.pal b/graphics/intro/intro2_volbeat.pal deleted file mode 100644 index 8d2464800e..0000000000 --- a/graphics/intro/intro2_volbeat.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 189 172 -82 74 74 -139 139 123 -197 189 222 -255 255 255 -131 98 41 -230 98 32 -238 148 74 -246 197 115 -255 255 148 -255 213 0 -205 189 49 -238 156 255 -197 115 230 -156 82 213 -0 0 0 diff --git a/graphics/intro/intro3.pal b/graphics/intro/intro3.pal new file mode 100644 index 0000000000..909fae91dd --- /dev/null +++ b/graphics/intro/intro3.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +139 148 255 +0 0 0 +49 0 0 +238 123 0 +238 131 0 +238 139 0 +238 148 0 +238 156 0 +238 164 0 +238 172 0 +238 180 0 +238 189 0 +238 197 0 +238 213 0 +255 255 255 +0 32 205 +139 148 255 +0 0 0 +0 0 255 +8 16 255 +24 41 255 +41 57 255 +57 82 255 +74 98 255 +90 123 255 +106 148 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +180 0 0 +0 0 0 +65 0 0 +255 255 255 +82 0 0 +32 0 0 +0 0 0 +0 0 0 +0 0 0 +255 123 0 +172 82 57 +164 65 49 +156 57 41 +148 41 32 +139 32 24 +115 0 0 +0 32 205 +0 0 0 +0 41 82 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +139 172 255 +106 148 222 +82 123 189 +49 98 156 +24 74 123 +0 49 98 +180 0 0 +0 0 0 +0 0 0 +0 16 0 +82 115 98 +115 148 131 +131 172 148 +156 180 172 +255 255 197 +255 246 123 +180 164 98 +98 156 57 +123 164 131 +164 57 49 +172 205 246 +255 246 123 +0 0 0 +139 148 255 +0 0 0 +41 74 49 +82 115 98 +115 148 131 +131 172 148 +156 180 172 +172 205 246 +197 230 255 +213 246 255 +238 255 255 +255 197 106 +255 213 131 +255 222 156 +255 246 123 +255 255 197 +0 0 0 +74 82 82 +90 98 106 +106 123 131 +123 139 164 +139 164 189 +156 180 213 +172 205 246 +0 0 0 +0 0 0 +238 255 255 +255 197 106 +255 213 131 +255 222 156 +255 246 123 +255 255 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +74 82 82 +90 74 74 +106 65 65 +123 65 57 +139 57 49 +164 57 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +74 82 82 +106 115 90 +139 148 98 +180 180 106 +213 213 115 +255 246 123 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +74 82 82 +106 115 115 +139 148 148 +180 180 180 +213 213 213 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 32 205 +32 24 164 +65 16 123 +106 8 82 +139 0 41 +180 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/intro/intro3_clouds.png b/graphics/intro/intro3_clouds.png new file mode 100644 index 0000000000..aaa77f4a9c Binary files /dev/null and b/graphics/intro/intro3_clouds.png differ diff --git a/graphics/intro/intro3_clouds1.bin b/graphics/intro/intro3_clouds1.bin new file mode 100644 index 0000000000..c2aa2533f7 Binary files /dev/null and b/graphics/intro/intro3_clouds1.bin differ diff --git a/graphics/intro/intro3_clouds2.bin b/graphics/intro/intro3_clouds2.bin new file mode 100644 index 0000000000..c256567f4c Binary files /dev/null and b/graphics/intro/intro3_clouds2.bin differ diff --git a/graphics/intro/intro3_clouds2.png b/graphics/intro/intro3_clouds2.png new file mode 100644 index 0000000000..34b523e317 Binary files /dev/null and b/graphics/intro/intro3_clouds2.png differ diff --git a/graphics/intro/intro3_clouds3.bin b/graphics/intro/intro3_clouds3.bin new file mode 100644 index 0000000000..c47ade01fd Binary files /dev/null and b/graphics/intro/intro3_clouds3.bin differ diff --git a/graphics/intro/intro3_clouds4.bin b/graphics/intro/intro3_clouds4.bin new file mode 100644 index 0000000000..99bea908ca Binary files /dev/null and b/graphics/intro/intro3_clouds4.bin differ diff --git a/graphics/intro/intro3_groudon.bin b/graphics/intro/intro3_groudon.bin new file mode 100644 index 0000000000..c0472196fb Binary files /dev/null and b/graphics/intro/intro3_groudon.bin differ diff --git a/graphics/intro/intro3_groudon.png b/graphics/intro/intro3_groudon.png new file mode 100644 index 0000000000..3e4c6852b1 Binary files /dev/null and b/graphics/intro/intro3_groudon.png differ diff --git a/graphics/intro/intro3_kyogre.bin b/graphics/intro/intro3_kyogre.bin new file mode 100644 index 0000000000..b5bdbb37cc Binary files /dev/null and b/graphics/intro/intro3_kyogre.bin differ diff --git a/graphics/intro/intro3_kyogre.png b/graphics/intro/intro3_kyogre.png new file mode 100644 index 0000000000..d84aa45a23 Binary files /dev/null and b/graphics/intro/intro3_kyogre.png differ diff --git a/graphics/intro/intro3_lightning.pal b/graphics/intro/intro3_lightning.pal deleted file mode 100644 index 16aae4be3e..0000000000 --- a/graphics/intro/intro3_lightning.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -74 189 172 -255 255 148 -255 213 0 -205 189 49 -255 255 255 -82 74 74 -115 106 82 -148 139 98 -180 180 115 -213 213 131 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/intro/intro3_pokeball.pal b/graphics/intro/intro3_pokeball.pal deleted file mode 100644 index d520a5e82c..0000000000 --- a/graphics/intro/intro3_pokeball.pal +++ /dev/null @@ -1,259 +0,0 @@ -JASC-PAL -0100 -256 -255 255 255 -0 0 0 -49 41 24 -106 90 57 -164 139 90 -222 98 57 -131 131 189 -255 255 255 -74 32 16 -148 65 32 -41 41 57 -82 82 123 -82 82 82 -164 164 164 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/intro/intro3_rayquaza.bin b/graphics/intro/intro3_rayquaza.bin new file mode 100644 index 0000000000..be3a9c5603 Binary files /dev/null and b/graphics/intro/intro3_rayquaza.bin differ diff --git a/graphics/intro/intro3_rayquaza.png b/graphics/intro/intro3_rayquaza.png new file mode 100644 index 0000000000..f749ceb502 Binary files /dev/null and b/graphics/intro/intro3_rayquaza.png differ diff --git a/graphics/intro/intro3_streaks.pal b/graphics/intro/intro3_streaks.pal deleted file mode 100644 index 21ae1e4346..0000000000 --- a/graphics/intro/intro3_streaks.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 255 255 -0 0 0 -255 230 74 -255 230 98 -255 238 123 -255 238 148 -255 246 172 -255 255 197 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -255 255 255 diff --git a/graphics/intro/legend_bg.png b/graphics/intro/legend_bg.png new file mode 100644 index 0000000000..5baf32aec9 Binary files /dev/null and b/graphics/intro/legend_bg.png differ diff --git a/graphics/intro/legend_bg1.bin b/graphics/intro/legend_bg1.bin new file mode 100644 index 0000000000..e289ca779d Binary files /dev/null and b/graphics/intro/legend_bg1.bin differ diff --git a/graphics/intro/legend_bg2.bin b/graphics/intro/legend_bg2.bin new file mode 100644 index 0000000000..a151b458e1 --- /dev/null +++ b/graphics/intro/legend_bg2.bin @@ -0,0 +1 @@ +&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@$@%@&@'@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@4@5@6@7@@@@@ \ No newline at end of file diff --git a/graphics/link/gba.png b/graphics/link/gba.png new file mode 100644 index 0000000000..1a09094687 Binary files /dev/null and b/graphics/link/gba.png differ diff --git a/graphics/link/gba_pal2.pal b/graphics/link/gba_pal2.pal new file mode 100644 index 0000000000..e2fb95b4ae --- /dev/null +++ b/graphics/link/gba_pal2.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +255 57 8 +255 90 8 +255 131 8 +255 172 8 +255 213 8 +255 255 8 +255 255 131 +255 255 255 +255 255 0 +65 0 0 +115 16 0 +172 32 0 +230 57 8 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +222 230 238 +189 205 230 +156 180 222 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +230 230 230 +205 205 205 +180 180 180 +156 156 156 +213 180 106 +205 156 82 +49 255 106 +0 0 0 +255 255 255 +222 230 238 +189 205 230 +156 180 222 +0 16 172 +32 32 106 +16 16 90 +0 0 74 +255 255 189 +230 230 164 +205 205 148 +189 180 115 +139 139 90 +74 74 57 +8 32 32 diff --git a/graphics/link/link1.pal b/graphics/link/link1.pal new file mode 100644 index 0000000000..a86815b0e7 --- /dev/null +++ b/graphics/link/link1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +213 205 205 +255 255 255 +255 255 255 +41 41 41 +255 156 82 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/link/link2.pal b/graphics/link/link2.pal new file mode 100644 index 0000000000..a8c95a3c04 --- /dev/null +++ b/graphics/link/link2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +156 197 98 +41 131 222 +0 82 172 +197 255 106 +172 230 49 +246 246 213 +255 49 49 +255 148 148 +131 164 213 +238 238 90 +65 65 65 +115 115 115 +172 172 172 +230 230 255 +0 0 0 +255 255 255 diff --git a/graphics/link/link_winedge.bin b/graphics/link/link_winedge.bin new file mode 100644 index 0000000000..f3e264d05e Binary files /dev/null and b/graphics/link/link_winedge.bin differ diff --git a/graphics/link/link_winedge.png b/graphics/link/link_winedge.png new file mode 100644 index 0000000000..86ddacc032 Binary files /dev/null and b/graphics/link/link_winedge.png differ diff --git a/graphics/link/minigame_digits.pal b/graphics/link/minigame_digits.pal deleted file mode 100644 index e276408301..0000000000 --- a/graphics/link/minigame_digits.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -0 0 0 -205 205 205 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/link/misc.bin b/graphics/link/misc.bin new file mode 100644 index 0000000000..e91b50c8d2 Binary files /dev/null and b/graphics/link/misc.bin differ diff --git a/graphics/link/misc.png b/graphics/link/misc.png new file mode 100644 index 0000000000..ae6ba4d02b Binary files /dev/null and b/graphics/link/misc.png differ diff --git a/graphics/interface/berrycrush_background.bin b/graphics/link_games/berrycrush_background.bin similarity index 100% rename from graphics/interface/berrycrush_background.bin rename to graphics/link_games/berrycrush_background.bin diff --git a/graphics/interface/berrycrush_btnpress.png b/graphics/link_games/berrycrush_btnpress.png similarity index 100% rename from graphics/interface/berrycrush_btnpress.png rename to graphics/link_games/berrycrush_btnpress.png diff --git a/graphics/interface/berrycrush_container_cap.bin b/graphics/link_games/berrycrush_container_cap.bin similarity index 100% rename from graphics/interface/berrycrush_container_cap.bin rename to graphics/link_games/berrycrush_container_cap.bin diff --git a/graphics/interface/berrycrush_grinder_base.png b/graphics/link_games/berrycrush_grinder_base.png similarity index 100% rename from graphics/interface/berrycrush_grinder_base.png rename to graphics/link_games/berrycrush_grinder_base.png diff --git a/graphics/interface/berrycrush_grinder_top.bin b/graphics/link_games/berrycrush_grinder_top.bin similarity index 100% rename from graphics/interface/berrycrush_grinder_top.bin rename to graphics/link_games/berrycrush_grinder_top.bin diff --git a/graphics/interface/berrycrush_misc.pal b/graphics/link_games/berrycrush_misc.pal similarity index 100% rename from graphics/interface/berrycrush_misc.pal rename to graphics/link_games/berrycrush_misc.pal diff --git a/graphics/interface/berrycrush_sparkle.png b/graphics/link_games/berrycrush_sparkle.png similarity index 100% rename from graphics/interface/berrycrush_sparkle.png rename to graphics/link_games/berrycrush_sparkle.png diff --git a/graphics/interface/berrycrush_timerdigits.png b/graphics/link_games/berrycrush_timerdigits.png similarity index 100% rename from graphics/interface/berrycrush_timerdigits.png rename to graphics/link_games/berrycrush_timerdigits.png diff --git a/graphics/interface/dodrioberry_berrysprites.png b/graphics/link_games/dodrioberry_berrysprites.png similarity index 100% rename from graphics/interface/dodrioberry_berrysprites.png rename to graphics/link_games/dodrioberry_berrysprites.png diff --git a/graphics/interface/dodrioberry_bg1.bin b/graphics/link_games/dodrioberry_bg1.bin similarity index 100% rename from graphics/interface/dodrioberry_bg1.bin rename to graphics/link_games/dodrioberry_bg1.bin diff --git a/graphics/interface/dodrioberry_bg1.pal b/graphics/link_games/dodrioberry_bg1.pal similarity index 100% rename from graphics/interface/dodrioberry_bg1.pal rename to graphics/link_games/dodrioberry_bg1.pal diff --git a/graphics/interface/dodrioberry_bg1.png b/graphics/link_games/dodrioberry_bg1.png similarity index 100% rename from graphics/interface/dodrioberry_bg1.png rename to graphics/link_games/dodrioberry_bg1.png diff --git a/graphics/interface/dodrioberry_bg2.pal b/graphics/link_games/dodrioberry_bg2.pal similarity index 100% rename from graphics/interface/dodrioberry_bg2.pal rename to graphics/link_games/dodrioberry_bg2.pal diff --git a/graphics/interface/dodrioberry_bg2.png b/graphics/link_games/dodrioberry_bg2.png similarity index 100% rename from graphics/interface/dodrioberry_bg2.png rename to graphics/link_games/dodrioberry_bg2.png diff --git a/graphics/interface/dodrioberry_bg2left.bin b/graphics/link_games/dodrioberry_bg2left.bin similarity index 100% rename from graphics/interface/dodrioberry_bg2left.bin rename to graphics/link_games/dodrioberry_bg2left.bin diff --git a/graphics/interface/dodrioberry_bg2right.bin b/graphics/link_games/dodrioberry_bg2right.bin similarity index 100% rename from graphics/interface/dodrioberry_bg2right.bin rename to graphics/link_games/dodrioberry_bg2right.bin diff --git a/graphics/interface/dodrioberry_pkmn.png b/graphics/link_games/dodrioberry_pkmn.png similarity index 100% rename from graphics/interface/dodrioberry_pkmn.png rename to graphics/link_games/dodrioberry_pkmn.png diff --git a/graphics/interface/dodrioberry_platform.png b/graphics/link_games/dodrioberry_platform.png similarity index 100% rename from graphics/interface/dodrioberry_platform.png rename to graphics/link_games/dodrioberry_platform.png diff --git a/graphics/interface/dodrioberry_shiny.pal b/graphics/link_games/dodrioberry_shiny.pal similarity index 100% rename from graphics/interface/dodrioberry_shiny.pal rename to graphics/link_games/dodrioberry_shiny.pal diff --git a/graphics/interface/dodrioberry_status.png b/graphics/link_games/dodrioberry_status.png similarity index 100% rename from graphics/interface/dodrioberry_status.png rename to graphics/link_games/dodrioberry_status.png diff --git a/graphics/interface/pkmnjump_321start1.png b/graphics/link_games/pkmnjump_321start1.png similarity index 100% rename from graphics/interface/pkmnjump_321start1.png rename to graphics/link_games/pkmnjump_321start1.png diff --git a/graphics/interface/pkmnjump_321start2.png b/graphics/link_games/pkmnjump_321start2.png similarity index 100% rename from graphics/interface/pkmnjump_321start2.png rename to graphics/link_games/pkmnjump_321start2.png diff --git a/graphics/interface/pkmnjump_bg.bin b/graphics/link_games/pkmnjump_bg.bin similarity index 100% rename from graphics/interface/pkmnjump_bg.bin rename to graphics/link_games/pkmnjump_bg.bin diff --git a/graphics/interface/pkmnjump_bg.png b/graphics/link_games/pkmnjump_bg.png similarity index 100% rename from graphics/interface/pkmnjump_bg.png rename to graphics/link_games/pkmnjump_bg.png diff --git a/graphics/interface/pkmnjump_pal1.pal b/graphics/link_games/pkmnjump_pal1.pal similarity index 100% rename from graphics/interface/pkmnjump_pal1.pal rename to graphics/link_games/pkmnjump_pal1.pal diff --git a/graphics/interface/pkmnjump_pal2.pal b/graphics/link_games/pkmnjump_pal2.pal similarity index 100% rename from graphics/interface/pkmnjump_pal2.pal rename to graphics/link_games/pkmnjump_pal2.pal diff --git a/graphics/interface/pkmnjump_pal3.pal b/graphics/link_games/pkmnjump_pal3.pal similarity index 100% rename from graphics/interface/pkmnjump_pal3.pal rename to graphics/link_games/pkmnjump_pal3.pal diff --git a/graphics/interface/pkmnjump_results.bin b/graphics/link_games/pkmnjump_results.bin similarity index 100% rename from graphics/interface/pkmnjump_results.bin rename to graphics/link_games/pkmnjump_results.bin diff --git a/graphics/interface/pkmnjump_results.png b/graphics/link_games/pkmnjump_results.png similarity index 100% rename from graphics/interface/pkmnjump_results.png rename to graphics/link_games/pkmnjump_results.png diff --git a/graphics/interface/pkmnjump_rope1.png b/graphics/link_games/pkmnjump_rope1.png similarity index 100% rename from graphics/interface/pkmnjump_rope1.png rename to graphics/link_games/pkmnjump_rope1.png diff --git a/graphics/interface/pkmnjump_rope2.png b/graphics/link_games/pkmnjump_rope2.png similarity index 100% rename from graphics/interface/pkmnjump_rope2.png rename to graphics/link_games/pkmnjump_rope2.png diff --git a/graphics/interface/pkmnjump_rope3.png b/graphics/link_games/pkmnjump_rope3.png similarity index 100% rename from graphics/interface/pkmnjump_rope3.png rename to graphics/link_games/pkmnjump_rope3.png diff --git a/graphics/interface/pkmnjump_rope4.png b/graphics/link_games/pkmnjump_rope4.png similarity index 100% rename from graphics/interface/pkmnjump_rope4.png rename to graphics/link_games/pkmnjump_rope4.png diff --git a/graphics/interface/pkmnjump_star.png b/graphics/link_games/pkmnjump_star.png similarity index 100% rename from graphics/interface/pkmnjump_star.png rename to graphics/link_games/pkmnjump_star.png diff --git a/graphics/interface/pkmnjump_venusaur.bin b/graphics/link_games/pkmnjump_venusaur.bin similarity index 100% rename from graphics/interface/pkmnjump_venusaur.bin rename to graphics/link_games/pkmnjump_venusaur.bin diff --git a/graphics/interface/pkmnjump_venusaur.png b/graphics/link_games/pkmnjump_venusaur.png similarity index 100% rename from graphics/interface/pkmnjump_venusaur.png rename to graphics/link_games/pkmnjump_venusaur.png diff --git a/graphics/mail/bead/map.bin b/graphics/mail/bead/map.bin new file mode 100644 index 0000000000..6ebb4932ca Binary files /dev/null and b/graphics/mail/bead/map.bin differ diff --git a/graphics/mail/bead/palette.pal b/graphics/mail/bead/palette.pal new file mode 100644 index 0000000000..e2e6ca291d --- /dev/null +++ b/graphics/mail/bead/palette.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 164 189 +65 90 123 +98 123 156 +213 230 238 +238 255 255 +139 189 164 +255 148 131 +213 106 90 +164 156 189 +255 197 82 +98 197 197 +57 148 148 +82 82 82 +139 139 139 +205 205 205 +255 255 255 diff --git a/graphics/mail/bead/tiles.png b/graphics/mail/bead/tiles.png new file mode 100644 index 0000000000..d006fb987a Binary files /dev/null and b/graphics/mail/bead/tiles.png differ diff --git a/graphics/mail/dream/map.bin b/graphics/mail/dream/map.bin new file mode 100644 index 0000000000..bc28d88640 Binary files /dev/null and b/graphics/mail/dream/map.bin differ diff --git a/graphics/mail/dream/palette.pal b/graphics/mail/dream/palette.pal new file mode 100644 index 0000000000..47172825c6 --- /dev/null +++ b/graphics/mail/dream/palette.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 164 189 +255 189 205 +222 164 197 +197 148 189 +172 131 189 +255 213 230 +0 0 0 +205 255 213 +230 255 230 +0 0 0 +98 197 197 +57 148 148 +82 82 82 +139 139 139 +205 205 205 +255 255 255 diff --git a/graphics/mail/dream/tiles.png b/graphics/mail/dream/tiles.png new file mode 100644 index 0000000000..cb4411757f Binary files /dev/null and b/graphics/mail/dream/tiles.png differ diff --git a/graphics/mail/fab/map.bin b/graphics/mail/fab/map.bin new file mode 100644 index 0000000000..b11121bdf5 Binary files /dev/null and b/graphics/mail/fab/map.bin differ diff --git a/graphics/mail/fab/palette.pal b/graphics/mail/fab/palette.pal new file mode 100644 index 0000000000..17e1afcc33 --- /dev/null +++ b/graphics/mail/fab/palette.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 164 189 +238 205 222 +255 230 238 +213 230 238 +238 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +98 197 197 +57 148 148 +82 82 82 +139 139 139 +205 205 205 +255 255 255 diff --git a/graphics/mail/fab/tiles.png b/graphics/mail/fab/tiles.png new file mode 100644 index 0000000000..99e9cac71e Binary files /dev/null and b/graphics/mail/fab/tiles.png differ diff --git a/graphics/mail/glitter/map.bin b/graphics/mail/glitter/map.bin new file mode 100644 index 0000000000..fad949aa93 Binary files /dev/null and b/graphics/mail/glitter/map.bin differ diff --git a/graphics/mail/glitter/palette.pal b/graphics/mail/glitter/palette.pal new file mode 100644 index 0000000000..544a0a11b6 --- /dev/null +++ b/graphics/mail/glitter/palette.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 164 189 +255 255 172 +255 238 123 +255 238 0 +255 41 41 +255 238 230 +255 189 41 +238 180 0 +0 0 0 +0 0 0 +98 197 197 +57 148 148 +82 82 82 +139 139 139 +205 205 205 +255 255 255 diff --git a/graphics/mail/glitter/tiles.png b/graphics/mail/glitter/tiles.png new file mode 100644 index 0000000000..12bd118019 Binary files /dev/null and b/graphics/mail/glitter/tiles.png differ diff --git a/graphics/mail/harbor/map.bin b/graphics/mail/harbor/map.bin new file mode 100644 index 0000000000..ce07a75394 Binary files /dev/null and b/graphics/mail/harbor/map.bin differ diff --git a/graphics/mail/harbor/palette.pal b/graphics/mail/harbor/palette.pal new file mode 100644 index 0000000000..1a8795c335 --- /dev/null +++ b/graphics/mail/harbor/palette.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 164 189 +24 172 255 +255 255 148 +115 205 255 +74 172 255 +16 57 230 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +98 197 197 +57 148 148 +82 82 82 +139 139 139 +205 205 205 +255 255 255 diff --git a/graphics/mail/harbor/tiles.png b/graphics/mail/harbor/tiles.png new file mode 100644 index 0000000000..b0a09ef690 Binary files /dev/null and b/graphics/mail/harbor/tiles.png differ diff --git a/graphics/mail/mech/map.bin b/graphics/mail/mech/map.bin new file mode 100644 index 0000000000..d749740085 Binary files /dev/null and b/graphics/mail/mech/map.bin differ diff --git a/graphics/mail/mech/palette.pal b/graphics/mail/mech/palette.pal new file mode 100644 index 0000000000..bb55d7c045 --- /dev/null +++ b/graphics/mail/mech/palette.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 164 189 +230 230 230 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +230 230 189 +197 189 139 +172 164 115 +98 197 197 +57 148 148 +82 82 82 +139 139 139 +205 205 205 +255 255 255 diff --git a/graphics/mail/mech/tiles.png b/graphics/mail/mech/tiles.png new file mode 100644 index 0000000000..4d47dd73bd Binary files /dev/null and b/graphics/mail/mech/tiles.png differ diff --git a/graphics/mail/orange/map.bin b/graphics/mail/orange/map.bin new file mode 100644 index 0000000000..be4dbf9c56 Binary files /dev/null and b/graphics/mail/orange/map.bin differ diff --git a/graphics/mail/orange/palette.pal b/graphics/mail/orange/palette.pal new file mode 100644 index 0000000000..20efef1727 --- /dev/null +++ b/graphics/mail/orange/palette.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 164 189 +246 213 148 +238 180 74 +205 139 65 +189 246 222 +148 222 197 +131 189 164 +255 255 148 +189 180 123 +139 123 65 +98 197 197 +57 148 148 +82 82 82 +139 139 139 +205 205 205 +255 255 255 diff --git a/graphics/mail/orange/tiles.png b/graphics/mail/orange/tiles.png new file mode 100644 index 0000000000..1676bd2582 Binary files /dev/null and b/graphics/mail/orange/tiles.png differ diff --git a/graphics/mail/retro/map.bin b/graphics/mail/retro/map.bin new file mode 100644 index 0000000000..30ee05ba21 Binary files /dev/null and b/graphics/mail/retro/map.bin differ diff --git a/graphics/mail/retro/palette.pal b/graphics/mail/retro/palette.pal new file mode 100644 index 0000000000..707bdff931 --- /dev/null +++ b/graphics/mail/retro/palette.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 164 189 +246 106 41 +255 246 156 +255 205 65 +148 238 82 +172 106 49 +189 164 57 +123 213 246 +0 0 0 +255 230 90 +98 197 197 +57 148 148 +82 82 82 +139 139 139 +205 205 205 +255 255 255 diff --git a/graphics/mail/retro/tiles.png b/graphics/mail/retro/tiles.png new file mode 100644 index 0000000000..da96ad4867 Binary files /dev/null and b/graphics/mail/retro/tiles.png differ diff --git a/graphics/mail/shadow/map.bin b/graphics/mail/shadow/map.bin new file mode 100644 index 0000000000..01fcfe4cec Binary files /dev/null and b/graphics/mail/shadow/map.bin differ diff --git a/graphics/mail/shadow/palette.pal b/graphics/mail/shadow/palette.pal new file mode 100644 index 0000000000..f08b838c5c --- /dev/null +++ b/graphics/mail/shadow/palette.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 164 189 +139 139 164 +123 123 139 +106 106 123 +90 90 98 +0 0 0 +0 0 0 +0 0 0 +213 65 16 +148 49 0 +98 197 197 +57 148 148 +82 82 82 +139 139 139 +205 205 205 +255 255 255 diff --git a/graphics/mail/shadow/tiles.png b/graphics/mail/shadow/tiles.png new file mode 100644 index 0000000000..cdc63cde1c Binary files /dev/null and b/graphics/mail/shadow/tiles.png differ diff --git a/graphics/mail/tropic/map.bin b/graphics/mail/tropic/map.bin new file mode 100644 index 0000000000..8ef408f37b Binary files /dev/null and b/graphics/mail/tropic/map.bin differ diff --git a/graphics/mail/tropic/palette.pal b/graphics/mail/tropic/palette.pal new file mode 100644 index 0000000000..99b2bb636e --- /dev/null +++ b/graphics/mail/tropic/palette.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 164 189 +230 255 98 +197 246 131 +189 246 65 +123 213 41 +255 180 98 +255 255 148 +123 180 24 +197 238 65 +205 156 90 +98 197 197 +57 148 148 +82 82 82 +139 139 139 +205 205 205 +255 255 255 diff --git a/graphics/mail/tropic/tiles.png b/graphics/mail/tropic/tiles.png new file mode 100644 index 0000000000..6cee88775d Binary files /dev/null and b/graphics/mail/tropic/tiles.png differ diff --git a/graphics/mail/wave/map.bin b/graphics/mail/wave/map.bin new file mode 100644 index 0000000000..0af44f7986 Binary files /dev/null and b/graphics/mail/wave/map.bin differ diff --git a/graphics/mail/wave/palette.pal b/graphics/mail/wave/palette.pal new file mode 100644 index 0000000000..dd9bbfae4d --- /dev/null +++ b/graphics/mail/wave/palette.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 164 189 +0 172 246 +65 90 156 +106 131 197 +197 222 255 +82 156 197 +230 246 255 +0 0 0 +0 0 0 +0 0 0 +98 197 197 +57 148 148 +82 82 82 +139 139 139 +205 205 205 +255 255 255 diff --git a/graphics/mail/wave/tiles.png b/graphics/mail/wave/tiles.png new file mode 100644 index 0000000000..6b5af8a01c Binary files /dev/null and b/graphics/mail/wave/tiles.png differ diff --git a/graphics/mail/wood/map.bin b/graphics/mail/wood/map.bin new file mode 100644 index 0000000000..4338a31c8a Binary files /dev/null and b/graphics/mail/wood/map.bin differ diff --git a/graphics/mail/wood/palette.pal b/graphics/mail/wood/palette.pal new file mode 100644 index 0000000000..9ed9369186 --- /dev/null +++ b/graphics/mail/wood/palette.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 164 189 +139 131 74 +164 180 82 +189 180 106 +222 205 106 +180 156 65 +246 213 156 +189 164 90 +222 164 123 +255 205 180 +98 197 197 +57 148 148 +82 82 82 +139 139 139 +205 205 205 +255 255 255 diff --git a/graphics/mail/wood/tiles.png b/graphics/mail/wood/tiles.png new file mode 100644 index 0000000000..a55029facd Binary files /dev/null and b/graphics/mail/wood/tiles.png differ diff --git a/graphics/map_objects/pics/effects/unknown_4F6D38/0.png b/graphics/map_objects/pics/effects/unknown_4F6D38/0.png new file mode 100644 index 0000000000..3ee87e1cde Binary files /dev/null and b/graphics/map_objects/pics/effects/unknown_4F6D38/0.png differ diff --git a/graphics/map_objects/pics/effects/unknown_4F7E38/0.png b/graphics/map_objects/pics/effects/unknown_4F7E38/0.png new file mode 100644 index 0000000000..685aee28b7 Binary files /dev/null and b/graphics/map_objects/pics/effects/unknown_4F7E38/0.png differ diff --git a/graphics/map_objects/pics/effects/unused_grass/0.png b/graphics/map_objects/pics/effects/unused_grass/0.png new file mode 100644 index 0000000000..2e16f15cb6 Binary files /dev/null and b/graphics/map_objects/pics/effects/unused_grass/0.png differ diff --git a/graphics/map_objects/pics/effects/unused_grass/1.png b/graphics/map_objects/pics/effects/unused_grass/1.png new file mode 100644 index 0000000000..dd33b0d883 Binary files /dev/null and b/graphics/map_objects/pics/effects/unused_grass/1.png differ diff --git a/graphics/map_objects/pics/effects/unused_grass/2.png b/graphics/map_objects/pics/effects/unused_grass/2.png new file mode 100644 index 0000000000..345d454cdd Binary files /dev/null and b/graphics/map_objects/pics/effects/unused_grass/2.png differ diff --git a/graphics/map_objects/pics/effects/unused_grass/3.png b/graphics/map_objects/pics/effects/unused_grass/3.png new file mode 100644 index 0000000000..0876761026 Binary files /dev/null and b/graphics/map_objects/pics/effects/unused_grass/3.png differ diff --git a/graphics/misc/8597C1C.pal b/graphics/misc/8597C1C.pal new file mode 100644 index 0000000000..c075c5ce14 --- /dev/null +++ b/graphics/misc/8597C1C.pal @@ -0,0 +1,7 @@ +JASC-PAL +0100 +4 +0 0 0 +0 0 0 +57 205 255 +172 172 238 diff --git a/graphics/misc/8597C24.pal b/graphics/misc/8597C24.pal new file mode 100644 index 0000000000..5c8eed0bab --- /dev/null +++ b/graphics/misc/8597C24.pal @@ -0,0 +1,9 @@ +JASC-PAL +0100 +6 +0 0 0 +255 255 255 +98 98 98 +222 213 222 +65 139 74 +230 230 230 diff --git a/graphics/misc/85B2890.pal b/graphics/misc/85B2890.pal new file mode 100644 index 0000000000..fea15a1765 --- /dev/null +++ b/graphics/misc/85B2890.pal @@ -0,0 +1,11 @@ +JASC-PAL +0100 +8 +148 197 172 +16 16 16 +32 32 32 +49 49 49 +65 65 65 +82 82 82 +98 98 98 +115 115 115 diff --git a/graphics/misc/85B28A0.pal b/graphics/misc/85B28A0.pal new file mode 100644 index 0000000000..09eb37624a --- /dev/null +++ b/graphics/misc/85B28A0.pal @@ -0,0 +1,11 @@ +JASC-PAL +0100 +8 +131 131 131 +148 148 148 +164 164 164 +180 180 180 +197 197 197 +213 213 213 +230 230 230 +255 255 255 diff --git a/graphics/misc/bag.pal b/graphics/misc/bag.pal new file mode 100644 index 0000000000..3c7c2370aa --- /dev/null +++ b/graphics/misc/bag.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +115 255 139 +98 222 123 +82 197 106 +74 164 90 +57 139 74 +49 106 57 +32 82 41 +24 49 24 +8 24 8 +156 255 131 +213 213 222 +189 189 197 +98 98 115 +255 255 255 +0 0 0 diff --git a/graphics/misc/bag_female.png b/graphics/misc/bag_female.png new file mode 100644 index 0000000000..65446e2698 Binary files /dev/null and b/graphics/misc/bag_female.png differ diff --git a/graphics/misc/bag_male.png b/graphics/misc/bag_male.png new file mode 100644 index 0000000000..a12c66f39c Binary files /dev/null and b/graphics/misc/bag_male.png differ diff --git a/graphics/misc/big_hof_monitor.png b/graphics/misc/big_hof_monitor.png new file mode 100644 index 0000000000..510e6a232d Binary files /dev/null and b/graphics/misc/big_hof_monitor.png differ diff --git a/graphics/misc/birch_bag.png b/graphics/misc/birch_bag.png new file mode 100644 index 0000000000..86bfbbbc0a Binary files /dev/null and b/graphics/misc/birch_bag.png differ diff --git a/graphics/misc/birch_bag_map.bin b/graphics/misc/birch_bag_map.bin new file mode 100644 index 0000000000..ddfad5ec94 Binary files /dev/null and b/graphics/misc/birch_bag_map.bin differ diff --git a/graphics/misc/birch_ballarrow.png b/graphics/misc/birch_ballarrow.png new file mode 100644 index 0000000000..d2f0a3d972 Binary files /dev/null and b/graphics/misc/birch_ballarrow.png differ diff --git a/graphics/misc/birch_circle.png b/graphics/misc/birch_circle.png new file mode 100644 index 0000000000..3501dfec46 Binary files /dev/null and b/graphics/misc/birch_circle.png differ diff --git a/graphics/misc/birch_grass.png b/graphics/misc/birch_grass.png new file mode 100644 index 0000000000..838fa5f4c7 Binary files /dev/null and b/graphics/misc/birch_grass.png differ diff --git a/graphics/misc/birch_grass_map.bin b/graphics/misc/birch_grass_map.bin new file mode 100644 index 0000000000..b7332940c4 Binary files /dev/null and b/graphics/misc/birch_grass_map.bin differ diff --git a/graphics/misc/cable_car.pal b/graphics/misc/cable_car.pal deleted file mode 100644 index 64985f6da5..0000000000 --- a/graphics/misc/cable_car.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -255 255 255 -164 222 222 -98 139 139 -139 180 180 -131 131 139 -98 98 123 -65 74 106 -41 49 90 -139 205 246 -98 172 238 -255 255 148 -238 213 82 -213 172 16 -180 106 0 -139 65 0 diff --git a/graphics/misc/cave_transition.png b/graphics/misc/cave_transition.png new file mode 100644 index 0000000000..dd265149f2 Binary files /dev/null and b/graphics/misc/cave_transition.png differ diff --git a/graphics/misc/cave_transition_black.pal b/graphics/misc/cave_transition_black.pal new file mode 100644 index 0000000000..4b0812f094 --- /dev/null +++ b/graphics/misc/cave_transition_black.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/misc/cave_transition_map.bin b/graphics/misc/cave_transition_map.bin new file mode 100644 index 0000000000..4293bfd1c0 Binary files /dev/null and b/graphics/misc/cave_transition_map.bin differ diff --git a/graphics/misc/cave_transition_white.pal b/graphics/misc/cave_transition_white.pal new file mode 100644 index 0000000000..98a1fb3c8f --- /dev/null +++ b/graphics/misc/cave_transition_white.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/clock_small.pal b/graphics/misc/clock_small.pal deleted file mode 100755 index 3398fcbe3f..0000000000 --- a/graphics/misc/clock_small.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -98 139 90 -0 0 0 -57 57 57 -123 123 123 -189 189 189 -255 255 255 -255 65 41 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/misc/clock_small.png b/graphics/misc/clock_small.png old mode 100755 new mode 100644 diff --git a/graphics/misc/confetti.png b/graphics/misc/confetti.png new file mode 100644 index 0000000000..ef8b921d85 Binary files /dev/null and b/graphics/misc/confetti.png differ diff --git a/graphics/misc/darkness_field_move_streaks.png b/graphics/misc/darkness_field_move_streaks.png new file mode 100644 index 0000000000..825d695eb7 Binary files /dev/null and b/graphics/misc/darkness_field_move_streaks.png differ diff --git a/graphics/misc/darkness_field_move_streaks_map.bin b/graphics/misc/darkness_field_move_streaks_map.bin new file mode 100644 index 0000000000..f7c2f21420 Binary files /dev/null and b/graphics/misc/darkness_field_move_streaks_map.bin differ diff --git a/graphics/misc/diploma.png b/graphics/misc/diploma.png old mode 100755 new mode 100644 diff --git a/graphics/misc/diploma_hoenn.pal b/graphics/misc/diploma_hoenn.pal old mode 100755 new mode 100644 diff --git a/graphics/misc/diploma_map.bin b/graphics/misc/diploma_map.bin old mode 100755 new mode 100644 diff --git a/graphics/misc/diploma_national.pal b/graphics/misc/diploma_national.pal old mode 100755 new mode 100644 diff --git a/graphics/misc/evo_sparkle.pal b/graphics/misc/evo_sparkle.pal deleted file mode 100644 index 7ccbffd1d0..0000000000 --- a/graphics/misc/evo_sparkle.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -49 82 82 -82 106 106 -106 131 131 -139 156 156 -164 180 180 -197 205 205 -222 230 230 -255 255 255 diff --git a/graphics/misc/field_move_streaks.png b/graphics/misc/field_move_streaks.png new file mode 100644 index 0000000000..8becc44137 Binary files /dev/null and b/graphics/misc/field_move_streaks.png differ diff --git a/graphics/misc/field_move_streaks_map.bin b/graphics/misc/field_move_streaks_map.bin new file mode 100644 index 0000000000..466f456bed Binary files /dev/null and b/graphics/misc/field_move_streaks_map.bin differ diff --git a/graphics/misc/fossil.png b/graphics/misc/fossil.png new file mode 100644 index 0000000000..f92649e987 Binary files /dev/null and b/graphics/misc/fossil.png differ diff --git a/graphics/misc/interview.pal b/graphics/misc/interview.pal new file mode 100644 index 0000000000..dfe91b5deb --- /dev/null +++ b/graphics/misc/interview.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 148 +255 197 148 +238 139 90 +189 90 41 +255 213 213 +246 180 180 +197 131 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +41 49 49 +98 98 98 +180 189 180 +222 213 222 +255 255 255 diff --git a/graphics/misc/interview_arrow.png b/graphics/misc/interview_arrow.png new file mode 100644 index 0000000000..1c1073d2ff Binary files /dev/null and b/graphics/misc/interview_arrow.png differ diff --git a/graphics/misc/interview_buttons.png b/graphics/misc/interview_buttons.png new file mode 100644 index 0000000000..d6dfc7cbd3 Binary files /dev/null and b/graphics/misc/interview_buttons.png differ diff --git a/graphics/misc/interview_frame.png b/graphics/misc/interview_frame.png new file mode 100644 index 0000000000..63470e729d Binary files /dev/null and b/graphics/misc/interview_frame.png differ diff --git a/graphics/misc/interview_frame_2.png b/graphics/misc/interview_frame_2.png new file mode 100644 index 0000000000..c0fbba87d3 Binary files /dev/null and b/graphics/misc/interview_frame_2.png differ diff --git a/graphics/misc/interview_frame_green.pal b/graphics/misc/interview_frame_green.pal new file mode 100644 index 0000000000..c64a7216f6 --- /dev/null +++ b/graphics/misc/interview_frame_green.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +189 255 139 +156 230 106 +123 180 90 +180 213 255 +139 180 230 +115 139 172 +0 0 0 +255 131 131 +238 82 82 +255 238 180 +255 255 213 +115 115 115 +180 189 180 +222 213 222 +255 255 255 diff --git a/graphics/misc/interview_frame_orange.pal b/graphics/misc/interview_frame_orange.pal new file mode 100644 index 0000000000..165bad8de6 --- /dev/null +++ b/graphics/misc/interview_frame_orange.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 189 115 +255 139 57 +205 98 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 238 180 +255 255 213 +115 115 115 +180 189 180 +222 213 222 +255 255 255 diff --git a/graphics/misc/interview_triangle_cursor.png b/graphics/misc/interview_triangle_cursor.png new file mode 100644 index 0000000000..a4a3f0bb1e Binary files /dev/null and b/graphics/misc/interview_triangle_cursor.png differ diff --git a/graphics/misc/japanese_hof.png b/graphics/misc/japanese_hof.png new file mode 100644 index 0000000000..6d88a48b24 Binary files /dev/null and b/graphics/misc/japanese_hof.png differ diff --git a/graphics/misc/mirage_tower.bin b/graphics/misc/mirage_tower.bin new file mode 100644 index 0000000000..85f2883876 --- /dev/null +++ b/graphics/misc/mirage_tower.bin @@ -0,0 +1,2 @@ +```````` ` +` ` ` ``````````````````` `!`"`#`$`%`&`'`(`)`*`+`,`-`.`/`0`1`2`3`4`5`6`7`8`9`:`;`<`=`>`?`@`A`B`C`D`E`F`G`H` \ No newline at end of file diff --git a/graphics/misc/mirage_tower.png b/graphics/misc/mirage_tower.png new file mode 100644 index 0000000000..69ac6a51e0 Binary files /dev/null and b/graphics/misc/mirage_tower.png differ diff --git a/graphics/misc/mirage_tower_crumbles.png b/graphics/misc/mirage_tower_crumbles.png new file mode 100644 index 0000000000..27e5daed07 Binary files /dev/null and b/graphics/misc/mirage_tower_crumbles.png differ diff --git a/graphics/misc/mon_markings.png b/graphics/misc/mon_markings.png new file mode 100644 index 0000000000..013173292d Binary files /dev/null and b/graphics/misc/mon_markings.png differ diff --git a/graphics/misc/option_menu_equals_sign.png b/graphics/misc/option_menu_equals_sign.png new file mode 100644 index 0000000000..7e56e3cc30 Binary files /dev/null and b/graphics/misc/option_menu_equals_sign.png differ diff --git a/graphics/misc/option_menu_text.pal b/graphics/misc/option_menu_text.pal new file mode 100644 index 0000000000..e7d6c330ae --- /dev/null +++ b/graphics/misc/option_menu_text.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +255 180 82 +197 123 0 +255 139 131 +255 49 24 +74 74 74 +213 213 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/misc/pokeball_glow.png b/graphics/misc/pokeball_glow.png new file mode 100644 index 0000000000..1c1133b769 Binary files /dev/null and b/graphics/misc/pokeball_glow.png differ diff --git a/graphics/misc/pokecenter_monitor/0.png b/graphics/misc/pokecenter_monitor/0.png new file mode 100644 index 0000000000..4748839086 Binary files /dev/null and b/graphics/misc/pokecenter_monitor/0.png differ diff --git a/graphics/misc/pokecenter_monitor/1.png b/graphics/misc/pokecenter_monitor/1.png new file mode 100644 index 0000000000..1a26060113 Binary files /dev/null and b/graphics/misc/pokecenter_monitor/1.png differ diff --git a/graphics/misc/rotating_gate_1.png b/graphics/misc/rotating_gate_1.png new file mode 100644 index 0000000000..93680dbfb0 Binary files /dev/null and b/graphics/misc/rotating_gate_1.png differ diff --git a/graphics/misc/rotating_gate_2.png b/graphics/misc/rotating_gate_2.png new file mode 100644 index 0000000000..1d320ed77b Binary files /dev/null and b/graphics/misc/rotating_gate_2.png differ diff --git a/graphics/misc/rotating_gate_3.png b/graphics/misc/rotating_gate_3.png new file mode 100644 index 0000000000..6e43079d0d Binary files /dev/null and b/graphics/misc/rotating_gate_3.png differ diff --git a/graphics/misc/rotating_gate_4.png b/graphics/misc/rotating_gate_4.png new file mode 100644 index 0000000000..77c269dc53 Binary files /dev/null and b/graphics/misc/rotating_gate_4.png differ diff --git a/graphics/misc/rotating_gate_5.png b/graphics/misc/rotating_gate_5.png new file mode 100644 index 0000000000..d8a0889b18 Binary files /dev/null and b/graphics/misc/rotating_gate_5.png differ diff --git a/graphics/misc/rotating_gate_6.png b/graphics/misc/rotating_gate_6.png new file mode 100644 index 0000000000..668feebfbb Binary files /dev/null and b/graphics/misc/rotating_gate_6.png differ diff --git a/graphics/misc/rotating_gate_7.png b/graphics/misc/rotating_gate_7.png new file mode 100644 index 0000000000..d92ae872c5 Binary files /dev/null and b/graphics/misc/rotating_gate_7.png differ diff --git a/graphics/misc/rotating_gate_8.png b/graphics/misc/rotating_gate_8.png new file mode 100644 index 0000000000..5e3a947c5c Binary files /dev/null and b/graphics/misc/rotating_gate_8.png differ diff --git a/graphics/misc/small_hof_monitor.png b/graphics/misc/small_hof_monitor.png new file mode 100644 index 0000000000..dcff330952 Binary files /dev/null and b/graphics/misc/small_hof_monitor.png differ diff --git a/graphics/misc/spotlight.png b/graphics/misc/spotlight.png new file mode 100644 index 0000000000..62e21e4119 Binary files /dev/null and b/graphics/misc/spotlight.png differ diff --git a/graphics/misc/sunny_day/0.pal b/graphics/misc/sunny_day/0.pal new file mode 100644 index 0000000000..54f6a9ac04 --- /dev/null +++ b/graphics/misc/sunny_day/0.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 8 +24 8 8 +41 8 8 +57 8 8 +74 8 8 +90 8 8 +106 8 8 +139 0 0 +156 0 0 +172 0 0 +189 0 0 +205 0 0 +222 0 0 +238 0 0 +255 0 0 +255 24 24 +8 24 8 +24 24 8 +41 24 8 +57 24 8 +74 24 8 +90 24 8 +106 24 8 +139 16 0 +156 16 0 +172 16 0 +189 16 0 +205 16 0 +222 16 0 +238 16 0 +255 16 0 +255 32 24 +8 41 8 +24 41 8 +41 41 8 +57 41 8 +74 41 8 +90 41 8 +106 41 8 +139 41 0 +156 41 0 +172 32 0 +189 32 0 +205 32 0 +222 32 0 +238 32 0 +255 32 0 +255 49 24 +8 57 8 +24 57 8 +41 57 8 +57 57 8 +74 57 8 +90 57 8 +106 57 8 +139 57 0 +156 57 0 +172 57 0 +189 49 0 +205 57 0 +222 57 0 +238 49 0 +255 49 0 +255 65 24 +8 74 8 +24 74 8 +41 74 8 +57 74 8 +74 74 8 +90 74 8 +106 74 8 +139 74 0 +156 74 0 +172 74 0 +189 74 0 +205 74 0 +222 65 0 +238 74 0 +255 74 0 +255 82 24 +8 90 8 +24 90 8 +41 90 8 +57 90 8 +74 90 8 +90 90 8 +106 90 8 +139 98 0 +156 98 0 +172 90 0 +189 90 0 +205 90 0 +222 90 0 +238 90 0 +255 90 0 +255 98 24 +8 106 8 +24 106 8 +41 106 8 +57 106 8 +74 106 8 +90 106 8 +106 106 8 +139 115 0 +156 115 0 +172 115 0 +189 106 0 +205 106 0 +222 115 0 +238 106 0 +255 106 0 +255 115 24 +0 139 0 +24 139 0 +41 139 0 +57 139 0 +82 139 0 +98 139 0 +115 139 0 +139 139 0 +156 131 0 +172 131 0 +189 131 0 +205 123 0 +222 123 0 +238 131 0 +255 131 0 +255 131 24 +0 156 0 +24 156 0 +41 156 0 +57 156 0 +74 156 0 +98 156 0 +115 156 0 +139 156 0 +156 156 0 +172 148 0 +189 148 0 +205 148 0 +222 148 0 +238 148 0 +255 148 0 +255 148 24 +0 172 0 +16 172 0 +41 172 0 +57 172 0 +74 172 0 +98 172 0 +115 172 0 +131 172 0 +156 172 0 +172 172 0 +189 164 0 +205 164 0 +222 164 0 +238 164 0 +255 164 0 +255 164 24 +0 189 0 +16 189 0 +41 189 0 +57 189 0 +74 189 0 +90 189 0 +115 189 0 +131 189 0 +148 189 0 +172 189 0 +189 189 0 +205 189 0 +222 180 0 +238 180 0 +255 180 0 +255 180 24 +0 205 0 +16 205 0 +32 205 0 +57 205 0 +74 205 0 +98 205 0 +115 205 0 +131 205 0 +148 205 0 +172 205 0 +189 205 0 +205 205 0 +222 205 0 +238 197 0 +255 205 0 +255 189 24 +0 222 0 +16 222 0 +32 222 0 +57 222 0 +74 222 0 +90 222 0 +115 222 0 +131 222 0 +148 222 0 +164 222 0 +189 222 0 +205 222 0 +222 222 0 +238 222 0 +255 222 0 +255 205 24 +0 238 0 +16 238 0 +41 238 0 +57 238 0 +74 238 0 +90 238 0 +115 238 0 +131 238 0 +148 238 0 +172 238 0 +189 238 0 +205 238 0 +222 238 0 +238 238 0 +255 238 0 +255 222 24 +0 255 0 +16 255 0 +41 255 0 +57 255 0 +74 255 0 +90 255 0 +106 255 0 +131 255 0 +148 255 0 +164 255 0 +180 255 0 +205 255 0 +222 255 0 +238 255 0 +255 255 0 +255 238 24 +24 255 24 +41 255 24 +57 255 24 +74 255 24 +90 255 24 +106 255 24 +115 255 24 +131 255 24 +148 255 24 +164 255 24 +180 255 24 +197 255 24 +213 255 24 +230 255 24 +246 255 24 +255 255 24 diff --git a/graphics/misc/sunny_day/1.pal b/graphics/misc/sunny_day/1.pal new file mode 100644 index 0000000000..23fd665ef3 --- /dev/null +++ b/graphics/misc/sunny_day/1.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 24 +24 8 24 +41 8 24 +57 8 24 +74 8 24 +90 8 24 +106 8 24 +139 0 24 +156 0 24 +172 0 16 +189 0 16 +205 0 16 +222 0 16 +238 0 16 +255 0 16 +255 24 41 +8 24 24 +24 24 24 +41 24 24 +57 24 24 +74 24 24 +90 24 24 +115 16 16 +131 16 16 +156 16 16 +172 16 16 +189 16 16 +205 16 16 +222 16 16 +238 16 16 +246 32 32 +255 41 41 +8 41 24 +24 41 24 +41 41 24 +57 41 24 +74 41 24 +90 41 24 +115 41 16 +131 41 16 +156 41 16 +172 32 16 +189 32 16 +205 32 16 +222 32 16 +238 32 16 +246 49 32 +255 57 41 +8 57 24 +24 57 24 +41 57 24 +57 57 24 +74 57 24 +90 57 24 +115 57 16 +131 57 16 +156 57 16 +172 57 16 +189 57 16 +205 49 16 +222 49 16 +238 49 16 +246 65 32 +255 74 41 +8 74 24 +24 74 24 +41 74 24 +57 74 24 +74 74 24 +90 74 24 +115 74 16 +131 74 16 +156 74 16 +172 74 16 +189 74 16 +205 65 16 +222 74 16 +238 74 16 +246 82 32 +255 82 41 +8 90 24 +24 90 24 +41 90 24 +57 90 24 +74 90 24 +90 90 24 +115 98 16 +131 98 16 +156 98 16 +172 90 16 +189 90 16 +205 90 16 +222 90 16 +238 90 16 +246 98 32 +255 106 41 +8 106 24 +16 115 16 +41 115 16 +57 115 16 +82 115 16 +98 115 16 +115 115 16 +131 115 16 +156 115 16 +172 115 16 +189 115 16 +205 115 16 +222 106 16 +238 106 16 +246 115 32 +255 115 41 +0 139 16 +16 131 16 +41 131 16 +57 131 16 +74 131 16 +98 131 16 +115 131 16 +131 131 16 +156 131 16 +172 131 16 +189 131 16 +205 123 16 +222 123 16 +238 131 16 +246 131 32 +255 131 41 +0 156 16 +16 156 16 +41 156 16 +57 156 16 +74 156 16 +98 156 16 +115 156 16 +131 156 16 +156 156 16 +172 148 16 +189 148 16 +205 148 16 +222 148 16 +238 139 16 +246 148 32 +255 148 41 +0 172 16 +16 172 16 +41 172 16 +57 172 16 +74 172 16 +90 172 16 +115 172 16 +131 172 16 +156 172 16 +172 172 16 +189 172 16 +205 164 16 +222 164 16 +238 164 16 +246 164 32 +255 164 41 +0 189 16 +16 189 16 +32 189 16 +57 189 16 +74 189 16 +90 189 16 +115 189 16 +131 189 16 +148 189 16 +172 189 16 +189 189 16 +205 180 16 +222 180 16 +238 180 16 +246 180 32 +255 180 41 +0 205 16 +16 205 16 +32 205 16 +57 205 16 +74 205 16 +90 205 16 +115 205 16 +131 205 16 +148 205 16 +172 205 16 +189 205 16 +205 205 16 +222 205 16 +238 197 16 +246 197 32 +255 197 41 +0 222 16 +16 222 16 +32 222 16 +57 222 16 +74 222 16 +90 222 16 +115 222 16 +131 222 16 +148 222 16 +172 222 16 +189 222 16 +205 222 16 +222 222 16 +238 222 16 +246 213 32 +255 213 41 +0 238 16 +16 238 16 +32 238 16 +57 238 16 +74 238 16 +90 238 16 +106 238 16 +131 238 16 +148 238 16 +164 238 16 +180 238 16 +205 238 16 +222 238 16 +238 238 16 +246 230 32 +255 230 41 +0 255 16 +32 246 32 +49 246 32 +65 246 32 +82 246 32 +98 246 32 +115 246 32 +131 246 32 +156 246 32 +164 246 32 +189 246 32 +197 246 32 +213 246 32 +238 246 32 +246 246 32 +255 238 41 +24 255 32 +41 255 41 +57 255 41 +74 255 41 +90 255 41 +106 255 41 +123 255 41 +139 255 41 +148 255 41 +164 255 41 +180 255 41 +197 255 41 +213 255 41 +230 255 41 +246 255 41 +255 255 41 diff --git a/graphics/misc/sunny_day/10.pal b/graphics/misc/sunny_day/10.pal new file mode 100644 index 0000000000..cf290d63b4 --- /dev/null +++ b/graphics/misc/sunny_day/10.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 189 +16 0 189 +32 0 189 +49 0 189 +74 0 189 +90 0 189 +106 0 189 +131 0 189 +148 0 189 +164 0 189 +189 0 189 +205 0 189 +222 0 189 +238 0 189 +255 0 180 +255 24 180 +0 16 189 +16 16 189 +32 16 189 +57 16 189 +74 16 189 +90 16 189 +115 16 189 +131 16 189 +148 16 189 +172 16 189 +189 16 189 +205 16 189 +222 16 189 +238 16 180 +246 32 189 +255 41 180 +0 41 189 +16 32 189 +32 32 189 +49 32 189 +74 32 189 +90 32 189 +115 32 189 +131 32 189 +148 32 189 +164 32 189 +189 32 189 +205 32 189 +222 32 180 +230 49 180 +246 49 180 +255 57 180 +0 57 189 +16 57 189 +32 57 189 +49 49 189 +74 49 189 +90 49 189 +106 49 189 +131 49 189 +148 49 189 +164 49 189 +189 49 189 +205 57 189 +213 65 180 +230 65 180 +246 65 180 +255 74 180 +0 74 189 +16 74 189 +32 74 189 +49 74 189 +74 74 180 +90 74 180 +106 74 180 +131 74 180 +148 74 180 +164 74 180 +180 74 180 +197 82 180 +213 82 180 +230 82 180 +246 82 180 +255 90 180 +0 90 189 +16 90 189 +32 90 189 +49 90 189 +74 90 180 +98 98 180 +115 98 180 +131 98 180 +148 98 180 +164 98 180 +180 98 180 +197 98 180 +213 98 180 +230 98 180 +246 106 189 +255 106 180 +0 115 189 +16 115 189 +32 115 189 +49 106 189 +74 106 180 +98 115 180 +115 115 180 +131 115 180 +148 115 180 +164 115 180 +180 115 180 +197 115 180 +213 115 180 +230 123 189 +246 123 180 +255 123 189 +0 131 189 +16 131 189 +32 131 189 +49 131 189 +74 131 180 +98 131 180 +115 131 180 +139 139 180 +148 139 180 +164 139 180 +180 139 180 +197 131 180 +213 139 180 +230 139 180 +246 139 189 +255 139 189 +0 148 189 +16 148 189 +32 148 189 +49 148 189 +74 148 180 +98 148 180 +115 148 180 +139 148 180 +156 156 180 +164 156 180 +180 156 180 +197 148 180 +213 156 180 +230 156 180 +246 156 189 +255 172 197 +0 172 189 +16 172 189 +32 172 189 +49 172 189 +74 164 180 +98 164 180 +115 164 180 +139 164 180 +156 164 180 +164 164 180 +180 164 180 +197 172 180 +213 172 189 +230 172 189 +246 180 197 +255 189 197 +0 189 189 +16 189 189 +32 189 189 +49 189 189 +74 180 180 +98 180 180 +115 180 180 +139 180 180 +156 180 180 +164 180 180 +180 180 180 +197 189 189 +213 189 189 +238 197 197 +246 197 197 +255 205 205 +0 205 189 +16 205 180 +32 205 180 +57 205 180 +82 197 180 +98 197 180 +115 197 180 +131 197 180 +148 197 180 +172 197 180 +189 197 189 +197 197 189 +213 197 189 +238 205 197 +246 213 197 +255 213 205 +0 222 180 +16 222 180 +32 222 180 +65 213 180 +82 213 180 +98 213 180 +115 213 180 +139 213 180 +156 213 180 +172 213 180 +189 213 189 +197 213 189 +213 213 189 +238 222 197 +246 222 197 +255 222 205 +0 238 180 +16 238 180 +49 230 180 +65 230 180 +82 230 180 +98 230 180 +123 230 180 +139 230 180 +156 230 180 +172 230 189 +197 238 197 +205 238 197 +222 238 197 +238 238 197 +246 238 197 +255 238 205 +0 255 180 +32 246 180 +49 246 180 +65 246 180 +82 246 180 +106 246 180 +123 246 180 +139 246 180 +156 246 180 +180 246 197 +197 246 197 +213 246 197 +222 246 197 +238 246 197 +246 246 197 +255 246 205 +24 255 180 +41 255 180 +57 255 180 +74 255 180 +90 255 180 +106 255 180 +123 255 180 +139 255 189 +172 255 197 +189 255 197 +205 255 205 +213 255 205 +230 255 205 +238 255 205 +246 255 205 +255 255 205 diff --git a/graphics/misc/sunny_day/11.pal b/graphics/misc/sunny_day/11.pal new file mode 100644 index 0000000000..2536a3423b --- /dev/null +++ b/graphics/misc/sunny_day/11.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 205 +16 0 205 +32 0 205 +57 0 205 +74 0 205 +90 0 205 +106 0 205 +123 0 205 +148 0 205 +164 0 205 +189 0 205 +205 0 205 +222 0 205 +238 0 205 +255 0 205 +255 24 197 +0 16 205 +16 16 205 +32 16 205 +49 16 205 +65 16 205 +90 16 205 +115 16 205 +123 16 205 +148 16 205 +164 16 205 +180 16 205 +205 16 205 +222 16 205 +238 16 205 +246 32 197 +255 41 197 +0 32 205 +16 32 205 +32 32 205 +49 32 205 +74 32 205 +90 32 205 +106 32 205 +131 32 205 +148 32 205 +164 32 205 +180 32 205 +205 32 205 +222 32 205 +230 49 197 +246 49 197 +255 57 197 +0 57 205 +16 57 205 +32 57 205 +57 57 205 +74 57 205 +90 57 205 +106 57 205 +131 57 205 +148 57 205 +164 57 205 +180 57 205 +205 57 205 +213 65 205 +230 65 197 +246 65 197 +255 74 197 +0 74 205 +16 74 205 +32 74 205 +57 74 205 +82 82 197 +98 82 197 +115 82 197 +131 82 197 +148 82 197 +164 82 197 +180 82 197 +197 82 197 +213 82 197 +230 82 197 +246 82 197 +255 90 197 +0 98 205 +16 90 205 +32 90 205 +57 90 205 +82 98 197 +98 98 197 +115 98 197 +131 98 197 +148 98 197 +164 98 197 +180 98 197 +197 98 197 +213 98 197 +230 98 197 +246 106 197 +255 106 197 +0 115 205 +16 115 205 +32 115 205 +57 106 205 +82 115 197 +98 115 197 +115 115 197 +131 115 197 +148 115 197 +164 115 197 +180 115 197 +197 115 197 +213 115 197 +230 123 197 +246 123 197 +255 123 205 +0 131 205 +16 131 205 +32 131 205 +57 131 205 +82 131 197 +98 131 197 +115 131 197 +131 131 197 +148 131 197 +164 131 197 +180 131 197 +197 131 197 +213 139 197 +230 139 197 +246 139 205 +255 139 197 +0 148 205 +16 148 205 +32 148 205 +57 148 205 +82 148 197 +98 148 197 +115 148 197 +131 148 197 +148 148 197 +164 148 197 +180 148 197 +197 148 197 +213 156 197 +230 156 197 +246 156 197 +255 172 205 +0 172 205 +16 172 205 +32 164 205 +57 164 205 +82 164 197 +98 164 197 +115 164 197 +131 164 197 +148 164 197 +172 172 197 +180 172 197 +197 172 197 +213 172 197 +230 172 197 +246 180 205 +255 189 213 +0 189 205 +16 189 205 +32 189 205 +57 189 205 +82 180 197 +98 180 197 +115 180 197 +131 180 197 +148 180 197 +172 180 197 +189 189 197 +197 189 197 +213 189 197 +238 197 205 +246 197 213 +255 205 213 +0 205 205 +16 205 205 +32 205 205 +57 205 205 +82 197 197 +98 197 197 +115 197 197 +131 197 197 +148 197 197 +172 197 197 +189 197 197 +197 197 197 +222 205 205 +238 213 213 +246 213 213 +255 222 222 +0 222 205 +16 222 205 +32 222 197 +65 213 197 +82 213 197 +98 213 197 +115 213 197 +139 213 197 +156 213 197 +172 213 197 +189 213 197 +205 222 205 +222 222 205 +238 222 213 +246 222 213 +255 230 222 +0 238 197 +16 238 197 +49 230 197 +65 230 197 +82 230 197 +98 230 197 +123 230 197 +139 230 197 +156 230 197 +172 230 197 +197 238 205 +213 238 213 +222 238 213 +238 238 213 +246 238 213 +255 238 222 +0 255 205 +32 246 197 +49 246 197 +65 246 197 +82 246 197 +106 246 197 +123 246 197 +139 246 197 +156 246 197 +180 246 205 +197 246 213 +213 246 213 +230 246 213 +238 246 213 +246 246 213 +255 246 222 +24 255 189 +41 255 197 +57 255 197 +74 255 197 +90 255 197 +106 255 197 +123 255 197 +139 255 197 +172 255 205 +189 255 213 +205 255 213 +222 255 222 +230 255 222 +238 255 222 +246 255 222 +255 255 222 diff --git a/graphics/misc/sunny_day/12.pal b/graphics/misc/sunny_day/12.pal new file mode 100644 index 0000000000..2b54d05cb1 --- /dev/null +++ b/graphics/misc/sunny_day/12.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 222 +16 0 222 +32 0 222 +57 0 222 +65 0 222 +90 0 222 +115 0 222 +123 0 222 +148 0 222 +164 0 222 +180 0 222 +205 0 222 +222 0 222 +238 0 222 +255 0 222 +255 24 213 +0 16 222 +16 16 222 +32 16 222 +49 16 222 +74 16 222 +90 16 222 +106 16 222 +123 16 222 +148 16 222 +164 16 222 +180 16 222 +205 16 222 +222 16 222 +238 16 222 +246 32 213 +255 41 213 +0 32 222 +16 32 222 +32 32 222 +49 32 222 +65 32 222 +90 32 222 +106 32 222 +131 32 222 +139 32 222 +164 32 222 +180 32 222 +197 32 222 +222 32 222 +230 49 213 +246 49 213 +255 57 213 +0 57 222 +16 57 222 +32 57 222 +65 65 213 +82 65 213 +98 65 213 +115 65 213 +131 65 213 +148 65 213 +164 65 213 +180 65 213 +197 65 213 +213 65 213 +230 65 213 +246 65 213 +255 74 213 +0 74 222 +16 74 222 +32 74 222 +65 82 213 +82 82 213 +98 82 213 +115 82 213 +131 82 213 +148 82 213 +164 82 213 +180 82 213 +197 82 213 +213 82 213 +230 82 213 +246 82 213 +255 90 213 +0 90 222 +16 90 222 +32 90 222 +65 98 213 +82 98 213 +98 98 213 +115 98 213 +131 98 213 +148 98 213 +164 98 213 +180 98 213 +197 98 213 +213 98 213 +230 98 213 +246 106 213 +255 106 213 +0 115 222 +16 115 222 +32 106 222 +65 115 213 +82 115 213 +98 115 213 +115 115 213 +131 115 213 +148 115 213 +164 115 213 +180 115 213 +197 115 213 +213 115 213 +230 123 213 +246 123 213 +255 123 213 +0 131 222 +16 131 222 +32 131 222 +65 131 213 +82 131 213 +98 139 213 +115 131 213 +139 139 213 +148 139 213 +164 139 213 +180 139 213 +197 139 213 +213 139 213 +230 139 213 +246 139 213 +255 139 213 +0 148 222 +16 148 222 +32 148 222 +65 148 213 +82 148 213 +98 148 213 +115 148 213 +139 156 213 +156 156 213 +172 156 213 +180 156 213 +197 156 213 +213 156 213 +230 156 213 +246 156 213 +255 172 222 +0 164 222 +16 172 222 +32 164 222 +65 164 213 +82 164 213 +98 164 213 +115 164 213 +139 164 213 +156 172 213 +172 172 213 +180 172 213 +197 172 213 +213 172 213 +230 172 213 +246 180 222 +255 189 222 +0 189 222 +16 189 222 +32 180 222 +65 180 213 +82 180 213 +98 180 213 +115 180 213 +139 180 213 +156 180 213 +172 189 213 +189 189 213 +197 189 213 +213 189 213 +238 197 222 +246 197 222 +255 205 230 +0 205 222 +16 205 222 +32 205 222 +65 205 213 +82 197 213 +98 197 213 +115 197 213 +139 197 213 +156 197 213 +172 197 213 +189 197 213 +205 205 222 +222 205 222 +238 213 222 +246 213 230 +255 222 230 +0 222 222 +16 222 222 +32 222 222 +65 213 213 +82 213 213 +98 213 213 +115 213 213 +139 213 213 +156 213 213 +172 213 213 +189 213 213 +205 222 222 +222 222 222 +238 230 230 +246 230 230 +255 238 238 +0 238 222 +16 238 222 +49 230 213 +65 230 213 +82 230 213 +98 230 213 +123 230 213 +139 230 213 +156 230 213 +172 230 213 +197 238 222 +213 238 222 +230 238 230 +238 238 230 +246 238 230 +255 246 238 +0 255 222 +32 246 213 +49 246 213 +65 246 213 +82 246 213 +106 246 213 +123 246 213 +139 246 213 +156 246 213 +180 246 222 +197 246 222 +213 246 222 +230 246 230 +238 246 230 +246 246 230 +255 255 238 +24 255 205 +41 255 213 +57 255 205 +74 255 213 +90 255 213 +106 255 213 +123 255 213 +139 255 213 +172 255 222 +189 255 222 +205 255 222 +222 255 230 +238 255 238 +246 255 238 +255 255 238 +255 255 238 diff --git a/graphics/misc/sunny_day/13.pal b/graphics/misc/sunny_day/13.pal new file mode 100644 index 0000000000..caf0a75451 --- /dev/null +++ b/graphics/misc/sunny_day/13.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 238 +16 0 238 +32 0 238 +49 0 238 +74 0 238 +90 0 238 +106 0 238 +131 0 238 +148 0 238 +164 0 238 +180 0 238 +197 0 238 +222 0 238 +238 0 238 +255 0 238 +255 24 230 +0 16 238 +16 16 238 +32 16 238 +49 16 238 +74 16 238 +90 16 238 +106 16 238 +131 16 238 +139 16 238 +164 16 238 +180 16 238 +197 16 238 +222 16 238 +238 16 238 +246 32 238 +255 41 230 +0 41 238 +16 32 238 +49 49 230 +65 49 230 +82 49 230 +98 49 230 +115 49 230 +131 49 230 +148 49 230 +164 49 230 +180 49 230 +197 49 230 +213 49 230 +230 49 230 +246 49 230 +255 57 230 +0 57 238 +16 57 238 +49 65 230 +65 65 230 +82 65 230 +98 65 230 +115 65 230 +131 65 230 +148 65 230 +164 65 230 +180 65 230 +197 65 230 +213 65 230 +230 65 230 +246 65 238 +255 74 230 +0 74 238 +16 74 238 +49 82 230 +65 82 230 +82 82 230 +98 82 230 +115 82 230 +131 82 230 +148 82 230 +164 82 230 +180 82 230 +197 82 230 +213 82 230 +230 82 230 +246 82 230 +255 90 230 +0 90 238 +16 90 238 +49 106 230 +65 98 230 +82 98 230 +98 98 230 +115 98 230 +131 98 230 +148 98 230 +164 98 230 +180 98 230 +197 98 230 +213 98 230 +230 98 230 +246 106 230 +255 106 230 +0 115 238 +16 106 238 +49 115 230 +65 115 230 +82 123 230 +98 123 230 +123 123 230 +131 123 230 +148 123 230 +164 123 230 +180 123 230 +197 123 230 +213 123 230 +230 123 230 +246 123 230 +255 123 230 +0 131 238 +16 131 238 +49 139 230 +65 131 230 +82 131 230 +98 131 230 +123 139 230 +139 139 230 +148 139 230 +164 139 230 +180 139 230 +197 139 230 +213 139 230 +230 139 230 +246 139 230 +255 139 230 +0 148 238 +16 148 238 +49 148 230 +65 148 230 +82 148 230 +98 156 230 +123 156 230 +139 156 230 +156 156 230 +164 156 230 +180 156 230 +197 156 230 +213 156 230 +230 156 230 +246 156 230 +255 172 230 +0 172 238 +16 164 238 +49 164 230 +65 164 230 +82 172 230 +98 164 230 +123 164 230 +139 164 230 +156 172 230 +172 172 230 +189 172 230 +197 172 230 +213 172 230 +230 172 230 +246 180 238 +255 189 238 +0 189 238 +16 180 238 +49 180 230 +65 180 230 +82 180 230 +98 180 230 +123 189 230 +139 180 230 +156 180 230 +172 189 230 +197 197 238 +205 197 238 +222 197 238 +238 197 238 +246 197 238 +255 205 238 +0 205 238 +16 205 238 +49 197 230 +65 197 230 +82 197 230 +98 197 230 +123 197 230 +139 197 230 +156 197 230 +172 197 230 +197 205 238 +213 213 238 +222 213 238 +238 213 238 +246 213 238 +255 222 238 +0 222 238 +16 222 238 +49 213 230 +65 213 230 +82 213 230 +98 213 230 +123 213 230 +139 213 230 +156 213 230 +172 213 230 +197 222 238 +213 222 238 +230 230 238 +238 230 238 +246 230 238 +255 238 246 +0 238 238 +16 238 238 +49 230 230 +65 230 230 +82 230 230 +98 230 230 +123 230 230 +139 230 230 +156 230 230 +172 230 230 +197 238 238 +213 238 238 +230 238 238 +238 238 238 +255 246 246 +255 255 255 +0 255 238 +32 246 230 +49 246 230 +65 246 230 +82 246 230 +106 246 230 +123 246 230 +139 246 230 +156 246 230 +180 246 230 +197 246 238 +213 246 238 +230 246 238 +246 255 246 +255 255 246 +255 255 255 +24 255 222 +41 255 230 +57 255 222 +74 255 222 +90 255 222 +106 255 230 +123 255 230 +139 255 230 +172 255 230 +189 255 230 +205 255 238 +222 255 238 +238 255 246 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/14.pal b/graphics/misc/sunny_day/14.pal new file mode 100644 index 0000000000..c8d66ade5f --- /dev/null +++ b/graphics/misc/sunny_day/14.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 255 +16 0 255 +32 0 255 +49 0 255 +74 0 255 +90 0 255 +106 0 255 +131 0 255 +148 0 255 +164 0 255 +180 0 255 +205 0 255 +222 0 255 +238 0 255 +255 0 255 +255 24 246 +0 16 255 +32 32 246 +49 32 246 +65 32 246 +82 32 246 +98 32 246 +115 32 246 +131 32 246 +148 32 246 +164 32 246 +180 32 246 +197 32 246 +213 32 246 +230 32 246 +246 32 246 +255 41 246 +0 41 255 +32 49 246 +49 49 246 +65 49 246 +82 49 246 +98 49 246 +115 49 246 +131 49 246 +148 49 246 +164 49 246 +180 49 246 +197 49 246 +213 49 246 +230 49 246 +246 49 246 +255 57 246 +0 57 255 +32 65 246 +49 65 246 +65 65 246 +82 65 246 +98 65 246 +115 65 246 +131 65 246 +148 65 246 +164 65 246 +180 65 246 +197 65 246 +213 65 246 +230 65 246 +246 65 246 +255 74 246 +0 74 255 +32 82 246 +49 82 246 +65 90 246 +82 82 246 +98 82 246 +115 82 246 +131 82 246 +148 82 246 +164 82 246 +180 82 246 +197 82 246 +213 82 246 +230 82 246 +246 82 246 +255 90 246 +0 90 255 +32 98 246 +49 98 246 +65 98 246 +82 98 246 +106 106 246 +115 106 246 +131 106 246 +148 106 246 +164 106 246 +180 106 246 +197 106 246 +213 106 246 +230 106 246 +246 106 246 +255 106 246 +0 106 255 +32 115 246 +49 115 246 +65 123 246 +82 115 246 +106 123 246 +123 123 246 +131 123 246 +156 123 246 +164 123 246 +180 123 246 +197 123 246 +213 123 246 +230 123 246 +246 123 246 +255 123 246 +0 131 255 +32 131 246 +49 131 246 +65 131 246 +82 131 246 +106 139 246 +123 139 246 +139 139 246 +156 139 246 +172 139 246 +180 139 246 +197 139 246 +213 139 246 +230 139 246 +246 139 246 +255 139 246 +0 148 255 +32 156 246 +49 148 246 +65 156 246 +82 148 246 +106 148 246 +123 156 246 +139 156 246 +156 156 246 +172 156 246 +180 156 246 +197 156 246 +213 156 246 +230 156 246 +246 156 246 +255 172 246 +0 164 255 +32 164 246 +49 164 246 +65 164 246 +82 164 246 +106 172 246 +123 172 246 +139 172 246 +156 172 246 +180 180 246 +197 180 246 +205 180 246 +222 180 246 +230 180 246 +246 180 246 +255 189 246 +0 180 255 +32 189 246 +49 180 246 +65 180 246 +82 180 246 +106 189 246 +123 180 246 +139 189 246 +156 189 246 +180 197 246 +197 197 246 +213 197 246 +222 197 246 +238 197 246 +246 197 246 +255 205 246 +0 205 255 +32 197 246 +49 197 246 +65 197 246 +82 197 246 +106 197 246 +123 197 246 +139 205 246 +156 197 246 +180 205 246 +197 213 246 +213 213 246 +222 213 246 +238 213 246 +246 213 246 +255 222 246 +0 222 255 +32 213 246 +49 213 246 +65 213 246 +82 213 246 +106 213 246 +123 213 246 +139 213 246 +156 213 246 +180 222 246 +197 222 246 +213 230 246 +230 230 246 +238 230 246 +246 230 246 +255 238 255 +0 238 255 +32 238 246 +49 230 246 +65 238 246 +82 230 246 +106 230 246 +123 230 246 +139 230 246 +156 230 246 +180 238 246 +197 238 246 +213 238 246 +230 238 246 +246 246 255 +255 246 255 +255 255 255 +0 255 255 +32 246 246 +49 246 246 +65 246 246 +82 246 246 +106 246 246 +123 246 246 +139 246 246 +156 246 246 +180 246 246 +197 246 246 +213 246 246 +230 246 246 +246 255 255 +255 255 255 +255 255 255 +24 255 238 +41 255 238 +57 255 238 +74 255 238 +90 255 238 +106 255 238 +123 255 246 +139 255 246 +172 255 246 +189 255 246 +205 255 246 +222 255 246 +238 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/15.pal b/graphics/misc/sunny_day/15.pal new file mode 100644 index 0000000000..c14fb84deb --- /dev/null +++ b/graphics/misc/sunny_day/15.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +24 24 255 +32 24 255 +49 24 255 +65 24 255 +82 24 255 +98 24 255 +115 24 255 +131 24 255 +148 24 255 +164 24 255 +180 24 255 +189 24 255 +205 24 255 +222 24 255 +238 24 255 +255 24 255 +24 41 255 +41 41 255 +57 41 255 +74 41 255 +82 41 255 +106 41 255 +115 41 255 +131 41 255 +148 41 255 +164 41 255 +180 41 255 +197 41 255 +213 41 255 +230 41 255 +238 41 255 +255 41 255 +24 57 255 +41 57 255 +57 57 255 +74 57 255 +90 57 255 +98 57 255 +115 57 255 +131 57 255 +148 57 255 +164 57 255 +180 57 255 +197 57 255 +205 57 255 +222 57 255 +238 57 255 +255 57 255 +24 74 255 +41 74 255 +57 74 255 +74 74 255 +90 74 255 +106 74 255 +123 74 255 +131 74 255 +148 74 255 +164 74 255 +180 74 255 +197 74 255 +213 74 255 +222 74 255 +238 74 255 +255 74 255 +24 90 255 +41 90 255 +57 90 255 +74 90 255 +90 90 255 +106 90 255 +123 90 255 +139 90 255 +148 90 255 +164 90 255 +180 90 255 +197 90 255 +213 90 255 +222 90 255 +238 90 255 +255 90 255 +24 106 255 +41 106 255 +57 106 255 +74 106 255 +90 106 255 +106 106 255 +123 106 255 +139 106 255 +148 106 255 +164 106 255 +180 106 255 +197 106 255 +213 106 255 +230 106 255 +238 106 255 +255 106 255 +24 115 255 +41 123 255 +57 123 255 +74 123 255 +90 123 255 +106 123 255 +123 123 255 +139 123 255 +156 123 255 +172 123 255 +180 123 255 +197 123 255 +213 123 255 +230 123 255 +246 123 255 +255 123 255 +24 131 255 +41 139 255 +57 131 255 +74 139 255 +90 139 255 +106 139 255 +123 139 255 +139 139 255 +156 139 255 +172 139 255 +189 139 255 +197 139 255 +213 139 255 +230 139 255 +246 139 255 +255 139 255 +24 148 255 +41 148 255 +57 156 255 +74 156 255 +90 156 255 +106 156 255 +123 156 255 +139 156 255 +172 172 255 +180 172 255 +197 172 255 +205 172 255 +222 172 255 +230 172 255 +246 172 255 +255 172 255 +24 164 255 +41 164 255 +57 172 255 +74 164 255 +90 172 255 +106 172 255 +123 172 255 +139 172 255 +172 180 255 +189 189 255 +197 189 255 +213 189 255 +222 189 255 +230 189 255 +246 189 255 +255 189 255 +24 180 255 +41 180 255 +57 180 255 +74 180 255 +90 180 255 +106 180 255 +123 189 255 +139 189 255 +172 197 255 +189 197 255 +205 205 255 +213 205 255 +222 205 255 +238 205 255 +246 205 255 +255 205 255 +24 197 255 +41 197 255 +57 197 255 +74 197 255 +90 197 255 +106 197 255 +123 205 255 +139 197 255 +172 205 255 +189 213 255 +205 213 255 +222 222 255 +230 222 255 +238 222 255 +246 222 255 +255 222 255 +24 213 255 +41 213 255 +57 213 255 +74 213 255 +90 213 255 +106 213 255 +123 213 255 +139 213 255 +172 222 255 +189 222 255 +205 230 255 +222 230 255 +238 238 255 +246 238 255 +255 238 255 +255 238 255 +24 230 255 +41 230 255 +57 230 255 +74 230 255 +90 230 255 +106 230 255 +123 230 255 +139 230 255 +172 230 255 +189 238 255 +205 238 255 +222 238 255 +238 246 255 +255 255 255 +255 255 255 +255 255 255 +24 246 255 +41 246 255 +57 246 255 +74 246 255 +90 246 255 +106 246 255 +123 246 255 +139 246 255 +172 246 255 +189 246 255 +205 246 255 +222 246 255 +238 255 255 +255 255 255 +255 255 255 +255 255 255 +24 255 255 +41 255 255 +57 255 255 +74 255 255 +90 255 255 +106 255 255 +123 255 255 +139 255 255 +172 255 255 +189 255 255 +205 255 255 +222 255 255 +238 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/16.pal b/graphics/misc/sunny_day/16.pal new file mode 100644 index 0000000000..6807ab175c --- /dev/null +++ b/graphics/misc/sunny_day/16.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 8 +24 8 8 +41 8 8 +57 8 8 +74 8 8 +90 8 8 +106 8 8 +148 0 0 +164 0 0 +180 0 0 +205 0 0 +222 0 0 +238 0 0 +255 0 0 +255 8 8 +255 32 32 +8 24 8 +24 24 8 +41 24 8 +57 24 8 +74 24 8 +90 24 8 +106 24 8 +148 16 0 +164 16 0 +180 16 0 +205 16 0 +222 16 0 +238 8 0 +255 16 0 +255 24 8 +255 49 32 +8 41 8 +24 41 8 +41 41 8 +57 41 8 +74 41 8 +90 41 8 +106 41 8 +148 41 0 +164 41 0 +180 41 0 +205 32 0 +222 32 0 +238 32 0 +255 32 0 +255 41 8 +255 57 32 +8 57 8 +24 57 8 +41 57 8 +57 57 8 +74 57 8 +90 57 8 +106 57 8 +148 57 0 +164 57 0 +180 57 0 +205 57 0 +222 57 0 +238 57 0 +255 49 0 +255 57 8 +255 74 32 +8 74 8 +24 74 8 +41 74 8 +57 74 8 +74 74 8 +90 74 8 +106 74 8 +148 82 0 +164 82 0 +180 82 0 +205 74 0 +222 74 0 +238 74 0 +255 74 0 +255 82 8 +255 90 32 +8 90 8 +24 90 8 +41 90 8 +57 90 8 +74 90 8 +90 90 8 +106 90 8 +148 106 0 +164 98 0 +180 98 0 +205 98 0 +222 98 0 +238 90 0 +255 90 0 +255 98 8 +255 106 32 +8 106 8 +24 106 8 +41 106 8 +57 106 8 +74 106 8 +90 106 8 +106 106 8 +148 123 0 +164 123 0 +180 115 0 +205 115 0 +222 115 0 +238 115 0 +255 115 0 +255 115 8 +255 123 32 +0 148 0 +24 148 0 +41 148 0 +65 148 0 +90 148 0 +106 148 0 +131 148 0 +148 148 0 +164 148 0 +180 139 0 +205 139 0 +222 131 0 +238 131 0 +255 131 0 +255 131 8 +255 139 32 +0 164 0 +24 164 0 +41 164 0 +65 164 0 +82 164 0 +106 164 0 +123 164 0 +148 164 0 +164 164 0 +180 164 0 +205 156 0 +222 156 0 +238 156 0 +255 148 0 +255 148 8 +255 148 32 +0 180 0 +16 180 0 +41 180 0 +57 180 0 +82 180 0 +106 180 0 +123 180 0 +139 180 0 +164 180 0 +180 180 0 +205 180 0 +222 172 0 +238 172 0 +255 172 0 +255 164 8 +255 164 32 +0 205 0 +16 205 0 +41 205 0 +57 205 0 +82 205 0 +98 205 0 +123 205 0 +139 205 0 +164 205 0 +180 205 0 +205 205 0 +222 197 0 +238 189 0 +255 189 0 +255 180 8 +255 180 32 +0 222 0 +16 222 0 +41 222 0 +57 222 0 +82 222 0 +98 222 0 +115 222 0 +139 222 0 +156 222 0 +180 222 0 +197 222 0 +222 222 0 +238 213 0 +255 213 0 +255 205 8 +255 197 32 +0 238 0 +16 238 0 +32 238 0 +57 238 0 +74 238 0 +98 238 0 +115 238 0 +139 238 0 +156 238 0 +172 238 0 +197 238 0 +213 238 0 +238 238 0 +255 230 0 +255 222 8 +255 213 32 +0 255 0 +16 255 0 +41 255 0 +57 255 0 +74 255 0 +98 255 0 +115 255 0 +139 255 0 +156 255 0 +172 255 0 +197 255 0 +213 255 0 +238 255 0 +255 255 0 +255 238 8 +255 222 32 +8 255 8 +24 255 8 +49 255 8 +65 255 8 +82 255 8 +98 255 8 +115 255 8 +131 255 8 +156 255 8 +172 255 8 +189 255 8 +205 255 8 +222 255 8 +238 255 8 +255 255 8 +255 238 32 +32 255 32 +49 255 32 +65 255 32 +82 255 32 +98 255 32 +106 255 32 +123 255 32 +139 255 32 +156 255 32 +172 255 32 +180 255 32 +197 255 32 +213 255 32 +230 255 32 +246 255 32 +255 255 32 diff --git a/graphics/misc/sunny_day/17.pal b/graphics/misc/sunny_day/17.pal new file mode 100644 index 0000000000..da38462097 --- /dev/null +++ b/graphics/misc/sunny_day/17.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 24 +24 8 24 +41 8 24 +57 8 24 +74 8 24 +90 8 24 +106 8 24 +148 0 24 +164 0 24 +180 0 16 +205 0 16 +222 0 16 +238 0 16 +255 0 16 +255 8 24 +255 32 49 +8 24 24 +24 24 24 +41 24 24 +57 24 24 +74 24 24 +90 24 24 +131 24 24 +148 16 16 +164 16 16 +180 16 16 +197 16 16 +222 16 16 +238 16 16 +246 24 24 +255 41 41 +255 49 49 +8 41 24 +24 41 24 +41 41 24 +57 41 24 +74 41 24 +90 41 24 +131 41 24 +148 41 16 +164 41 16 +180 41 16 +197 32 16 +222 32 16 +238 32 16 +246 41 24 +255 57 41 +255 65 49 +8 57 24 +24 57 24 +41 57 24 +57 57 24 +74 57 24 +90 57 24 +131 57 24 +148 57 16 +164 57 16 +180 57 16 +197 57 16 +222 49 16 +238 49 16 +246 57 24 +255 74 41 +255 82 49 +8 74 24 +24 74 24 +41 74 24 +57 74 24 +74 74 24 +90 74 24 +131 82 24 +148 82 16 +164 82 16 +180 74 16 +197 74 16 +222 74 16 +238 74 16 +246 82 24 +255 90 41 +255 90 49 +8 90 24 +24 90 24 +41 90 24 +57 90 24 +74 90 24 +90 90 24 +131 106 24 +148 98 16 +164 98 16 +180 98 16 +197 98 16 +222 90 16 +238 90 16 +246 90 24 +255 106 41 +255 106 49 +8 106 24 +24 131 24 +41 131 24 +65 131 24 +82 131 24 +106 131 24 +131 131 24 +148 123 16 +164 123 16 +180 115 16 +197 115 16 +222 115 16 +238 115 16 +246 115 24 +255 115 41 +255 123 49 +0 148 16 +16 148 16 +41 148 16 +57 148 16 +82 148 16 +106 148 16 +123 148 16 +148 148 16 +164 139 16 +180 139 16 +197 139 16 +222 131 16 +238 131 16 +246 131 24 +255 139 41 +255 139 49 +0 164 16 +16 164 16 +41 164 16 +65 164 16 +82 164 16 +106 164 16 +123 164 16 +148 164 16 +164 164 16 +180 156 16 +197 156 16 +222 156 16 +238 148 16 +246 148 24 +255 156 41 +255 156 49 +0 180 16 +16 180 16 +41 180 16 +57 180 16 +82 180 16 +98 180 16 +123 180 16 +139 180 16 +164 180 16 +180 180 16 +197 180 16 +222 172 16 +238 172 16 +246 164 24 +255 164 41 +255 172 49 +0 205 16 +16 197 16 +32 197 16 +57 197 16 +74 197 16 +98 197 16 +123 197 16 +139 197 16 +164 197 16 +180 197 16 +197 197 16 +222 197 16 +238 189 16 +246 189 24 +255 189 41 +255 180 49 +0 222 16 +16 222 16 +32 222 16 +57 222 16 +74 222 16 +98 222 16 +115 222 16 +139 222 16 +156 222 16 +180 222 16 +197 222 16 +222 222 16 +238 213 16 +246 205 24 +255 197 41 +255 197 49 +0 238 8 +16 238 16 +32 238 16 +57 238 16 +74 238 16 +98 238 16 +115 238 16 +139 238 16 +156 238 16 +180 238 16 +197 238 16 +213 238 16 +238 238 16 +246 222 24 +255 213 41 +255 213 49 +0 255 16 +24 246 24 +41 246 24 +57 246 24 +82 246 24 +98 246 24 +115 246 24 +131 246 24 +148 246 24 +172 246 24 +189 246 24 +205 246 24 +222 246 24 +246 246 24 +255 238 41 +255 230 49 +8 255 24 +41 255 41 +57 255 41 +74 255 41 +90 255 41 +106 255 41 +123 255 41 +139 255 41 +156 255 41 +172 255 41 +189 255 41 +205 255 41 +222 255 41 +238 255 41 +255 255 41 +255 238 49 +32 255 49 +49 255 49 +65 255 49 +82 255 49 +98 255 49 +115 255 49 +131 255 49 +139 255 49 +156 255 49 +172 255 49 +189 255 49 +197 255 49 +213 255 49 +230 255 49 +246 255 49 +255 255 49 diff --git a/graphics/misc/sunny_day/18.pal b/graphics/misc/sunny_day/18.pal new file mode 100644 index 0000000000..6e6b05b991 --- /dev/null +++ b/graphics/misc/sunny_day/18.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 41 +24 8 41 +41 8 41 +57 8 41 +74 8 41 +90 8 41 +106 8 41 +148 0 41 +164 0 41 +180 0 41 +205 0 41 +222 0 41 +238 0 32 +255 0 41 +255 8 49 +255 32 65 +8 24 41 +24 24 41 +41 24 41 +57 24 41 +74 24 41 +90 24 41 +131 24 41 +148 16 41 +164 16 41 +180 16 41 +197 16 32 +222 16 32 +238 16 32 +246 24 41 +255 41 57 +255 49 65 +8 41 41 +24 41 41 +41 41 41 +57 41 41 +74 41 41 +106 41 41 +123 41 41 +148 41 41 +164 32 32 +180 32 32 +197 32 32 +213 32 32 +222 41 41 +238 57 57 +255 57 57 +255 65 65 +8 57 41 +24 57 41 +41 57 41 +57 57 41 +74 57 41 +106 65 41 +123 57 41 +148 57 41 +164 57 32 +180 57 32 +197 57 32 +213 49 32 +222 57 41 +238 74 57 +255 74 57 +255 82 65 +8 74 41 +24 74 41 +41 74 41 +57 74 41 +74 74 41 +106 82 41 +123 82 41 +148 82 41 +164 74 32 +180 74 32 +197 74 32 +213 74 32 +222 74 41 +238 90 57 +255 90 57 +255 98 65 +8 90 41 +24 90 41 +41 106 41 +65 106 41 +82 106 41 +106 106 41 +123 106 41 +148 98 41 +164 98 32 +180 98 32 +197 98 32 +213 90 32 +222 90 41 +238 106 57 +255 106 57 +255 106 65 +8 106 41 +24 131 41 +41 123 41 +57 123 41 +82 123 41 +106 123 41 +123 123 41 +148 123 41 +164 115 32 +180 115 32 +197 115 32 +213 115 32 +222 115 41 +238 123 57 +255 123 57 +255 123 65 +0 148 41 +16 148 41 +41 148 41 +57 148 41 +82 148 41 +98 148 41 +123 148 41 +148 148 41 +164 139 32 +180 139 32 +197 131 32 +213 131 32 +222 131 41 +238 139 57 +255 139 57 +255 139 65 +0 164 41 +16 164 41 +32 164 32 +57 164 32 +82 164 32 +98 164 32 +123 164 32 +139 164 32 +164 164 32 +180 156 32 +197 156 32 +213 148 32 +222 148 41 +238 156 57 +255 156 57 +255 156 65 +0 180 41 +16 180 41 +32 180 32 +57 180 32 +82 180 32 +98 180 32 +123 180 32 +139 180 32 +164 180 32 +180 180 32 +197 172 32 +213 172 32 +222 164 41 +238 164 57 +255 164 57 +255 172 65 +0 205 32 +16 197 32 +32 197 32 +57 197 32 +74 197 32 +98 197 32 +115 197 32 +139 197 32 +156 197 32 +180 197 32 +197 197 32 +213 197 32 +222 180 41 +238 189 57 +255 180 57 +255 180 65 +0 222 32 +16 222 32 +32 213 32 +57 213 32 +74 213 32 +98 213 32 +115 213 32 +139 213 32 +156 213 32 +172 213 32 +197 213 32 +213 213 32 +222 205 41 +238 197 57 +255 205 57 +255 197 65 +0 238 32 +16 238 32 +41 222 41 +57 222 41 +82 222 41 +98 222 41 +115 222 41 +131 222 41 +148 222 41 +172 222 41 +189 222 41 +205 222 41 +222 222 41 +238 222 57 +255 213 57 +255 213 65 +0 255 32 +24 246 41 +57 238 57 +74 238 57 +90 238 57 +106 238 57 +123 238 57 +139 238 57 +156 238 57 +172 238 57 +189 238 57 +205 238 57 +222 238 57 +238 238 57 +255 230 57 +255 230 65 +8 255 41 +41 255 57 +57 255 57 +74 255 57 +90 255 57 +106 255 57 +123 255 57 +139 255 57 +156 255 57 +172 255 57 +189 255 57 +205 255 57 +222 255 57 +238 255 57 +255 255 57 +255 246 65 +32 255 57 +49 255 65 +65 255 65 +82 255 65 +98 255 65 +115 255 65 +131 255 65 +139 255 65 +156 255 65 +172 255 65 +189 255 65 +205 255 65 +213 255 65 +230 255 65 +246 255 65 +255 255 65 diff --git a/graphics/misc/sunny_day/19.pal b/graphics/misc/sunny_day/19.pal new file mode 100644 index 0000000000..e03cc02534 --- /dev/null +++ b/graphics/misc/sunny_day/19.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 57 +24 8 57 +41 8 57 +57 8 57 +74 8 57 +90 8 57 +106 8 57 +148 0 65 +164 0 65 +180 0 57 +205 0 57 +222 0 57 +238 0 57 +255 0 57 +255 8 65 +255 32 82 +8 24 57 +24 24 57 +41 24 57 +57 24 57 +74 24 57 +90 24 57 +131 24 65 +148 16 57 +164 16 65 +180 16 57 +197 16 57 +222 16 57 +238 16 57 +246 24 57 +255 41 74 +255 49 82 +8 41 57 +24 41 57 +41 41 57 +57 41 57 +74 41 57 +106 41 65 +123 41 57 +148 41 57 +164 32 57 +180 32 57 +197 32 57 +213 32 57 +222 41 57 +238 57 74 +255 57 74 +255 65 82 +8 57 57 +24 57 57 +41 57 57 +57 57 57 +82 65 65 +106 57 57 +123 57 57 +139 57 57 +156 57 57 +180 57 57 +197 49 49 +205 57 57 +222 74 74 +238 74 74 +255 74 74 +255 82 82 +8 74 57 +24 74 57 +41 74 57 +65 82 65 +82 82 65 +106 82 57 +123 82 57 +139 82 57 +156 74 57 +180 74 57 +197 74 49 +205 74 57 +222 90 74 +238 90 74 +255 90 74 +255 98 82 +8 90 57 +24 90 57 +41 106 65 +57 106 57 +82 106 57 +106 106 57 +123 98 57 +139 98 57 +156 98 57 +180 90 57 +197 90 49 +205 98 57 +222 106 74 +238 106 74 +255 106 74 +255 115 82 +8 106 57 +24 131 57 +41 123 57 +57 123 57 +82 123 57 +98 123 57 +123 123 57 +139 123 57 +156 115 57 +180 115 57 +197 115 49 +205 115 57 +222 123 74 +238 123 74 +255 123 74 +255 131 82 +0 148 57 +16 148 57 +41 148 57 +57 139 57 +82 139 57 +98 139 57 +123 139 57 +139 139 57 +156 139 57 +180 131 57 +197 131 49 +205 131 57 +222 139 74 +238 139 74 +255 139 74 +255 139 82 +0 164 57 +16 164 57 +32 164 57 +57 156 57 +74 156 57 +98 156 57 +115 156 57 +139 156 57 +156 156 57 +180 156 57 +197 156 49 +205 148 57 +222 156 74 +238 156 74 +255 156 74 +255 156 82 +0 180 57 +16 180 57 +32 180 57 +57 180 57 +74 180 57 +98 180 57 +115 180 57 +139 180 57 +156 180 57 +180 180 57 +197 172 49 +205 172 57 +222 172 74 +238 172 74 +255 172 74 +255 172 82 +0 205 57 +16 197 57 +32 197 57 +49 197 49 +74 197 49 +98 197 49 +115 197 49 +139 197 49 +156 197 49 +180 197 49 +197 197 49 +205 189 57 +222 189 74 +238 180 74 +255 180 74 +255 180 82 +0 222 57 +16 222 49 +32 213 49 +57 205 57 +82 205 57 +98 205 57 +115 205 57 +131 205 57 +156 205 57 +172 205 57 +189 205 57 +205 205 57 +222 205 74 +238 197 74 +255 205 74 +255 197 82 +0 238 57 +16 238 49 +41 222 57 +74 222 74 +90 222 74 +106 222 74 +123 222 74 +139 222 74 +156 222 74 +172 222 74 +189 222 74 +205 222 74 +222 222 74 +238 213 74 +255 213 74 +255 213 82 +0 255 49 +24 246 57 +57 238 74 +74 238 74 +90 238 74 +106 238 74 +123 238 74 +139 238 74 +156 238 74 +172 238 74 +189 238 74 +205 238 74 +222 238 74 +238 238 74 +255 230 74 +255 230 82 +8 255 57 +41 255 74 +57 255 74 +74 255 74 +90 255 74 +106 255 74 +123 255 74 +139 255 74 +156 255 74 +172 255 74 +189 255 74 +205 255 74 +222 255 74 +238 255 74 +255 255 74 +255 238 82 +32 255 74 +49 255 82 +65 255 82 +82 255 82 +98 255 82 +115 255 82 +131 255 82 +139 255 82 +156 255 82 +172 255 82 +189 255 82 +197 255 82 +213 255 82 +230 255 82 +246 255 82 +255 255 82 diff --git a/graphics/misc/sunny_day/2.pal b/graphics/misc/sunny_day/2.pal new file mode 100644 index 0000000000..7a80757999 --- /dev/null +++ b/graphics/misc/sunny_day/2.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 41 +24 8 41 +41 8 41 +57 8 41 +74 8 41 +90 8 41 +106 8 41 +139 0 41 +156 0 41 +172 0 41 +189 0 41 +205 0 32 +222 0 32 +238 0 41 +255 0 41 +255 24 57 +8 24 41 +24 24 41 +41 24 41 +57 24 41 +74 24 41 +90 24 41 +115 16 41 +131 16 41 +156 16 41 +172 16 41 +189 16 32 +205 16 32 +222 16 32 +238 16 32 +246 32 49 +255 41 57 +8 41 41 +24 41 41 +41 41 41 +57 41 41 +74 41 41 +98 41 41 +115 41 41 +131 41 41 +148 32 32 +172 32 32 +189 32 32 +205 32 32 +222 32 32 +230 49 49 +246 49 49 +255 57 57 +8 57 41 +24 57 41 +41 57 41 +57 57 41 +74 57 41 +98 57 41 +115 57 41 +131 57 41 +148 57 32 +172 57 32 +189 49 32 +205 49 32 +222 49 32 +230 65 49 +246 65 49 +255 74 57 +8 74 41 +24 74 41 +41 74 41 +57 74 41 +74 74 41 +98 74 41 +115 74 41 +131 74 41 +148 74 32 +172 74 32 +189 74 32 +205 74 32 +222 65 32 +230 82 49 +246 82 49 +255 90 57 +8 90 41 +24 90 41 +41 98 41 +57 98 41 +82 98 41 +98 98 41 +115 98 41 +131 90 41 +148 90 32 +172 90 32 +189 90 32 +205 90 32 +222 90 32 +230 98 49 +246 98 49 +255 98 57 +8 106 41 +16 115 41 +41 115 41 +57 115 41 +74 115 41 +98 115 41 +115 115 41 +131 115 41 +148 115 32 +172 115 32 +189 115 32 +205 106 32 +222 106 32 +230 115 49 +246 115 49 +255 115 57 +0 139 41 +16 131 41 +41 131 41 +57 131 41 +74 131 41 +98 131 41 +115 131 41 +131 131 41 +148 131 32 +172 131 32 +189 131 32 +205 131 32 +222 131 32 +230 131 49 +246 131 49 +255 131 57 +0 156 41 +16 156 41 +32 148 32 +57 148 32 +74 148 32 +90 148 32 +115 148 32 +131 148 32 +148 148 32 +172 148 32 +189 148 32 +205 148 32 +222 139 32 +230 148 49 +246 148 49 +255 148 57 +0 172 32 +16 172 32 +32 172 32 +57 172 32 +74 172 32 +90 172 32 +115 172 32 +131 172 32 +148 172 32 +172 172 32 +189 164 32 +205 164 32 +222 164 32 +230 164 49 +246 164 49 +255 164 57 +0 189 32 +16 189 32 +32 189 32 +57 189 32 +74 189 32 +90 189 32 +115 189 32 +131 189 32 +148 189 32 +172 189 32 +189 189 32 +205 180 32 +222 180 32 +230 180 49 +246 180 49 +255 180 57 +0 205 32 +16 205 32 +32 205 32 +57 205 32 +74 205 32 +90 205 32 +115 205 32 +131 205 32 +148 205 32 +164 205 32 +189 205 32 +205 205 32 +222 197 32 +230 197 49 +246 197 49 +255 197 57 +0 222 32 +16 222 32 +32 222 32 +57 222 32 +74 222 32 +90 222 32 +106 222 32 +131 222 32 +148 222 32 +164 222 32 +180 222 32 +205 222 32 +222 222 32 +230 213 49 +246 213 49 +255 205 57 +0 238 32 +16 238 32 +49 230 49 +65 230 49 +82 230 49 +106 230 49 +115 230 49 +139 230 49 +148 230 49 +164 230 49 +180 230 49 +197 230 49 +213 230 49 +230 230 49 +246 230 49 +255 222 57 +0 255 32 +32 246 49 +49 246 49 +65 246 49 +82 246 49 +98 246 49 +115 246 49 +131 246 49 +148 246 49 +164 246 49 +180 246 49 +197 246 49 +213 246 49 +230 246 49 +246 246 49 +255 238 57 +24 255 49 +41 255 57 +57 255 57 +74 255 57 +90 255 57 +106 255 57 +123 255 57 +131 255 57 +156 255 57 +172 255 57 +180 255 57 +197 255 57 +213 255 57 +230 255 57 +246 255 57 +255 255 57 diff --git a/graphics/misc/sunny_day/20.pal b/graphics/misc/sunny_day/20.pal new file mode 100644 index 0000000000..bf140d072d --- /dev/null +++ b/graphics/misc/sunny_day/20.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 74 +24 8 74 +41 8 74 +57 8 74 +74 8 74 +90 8 74 +106 8 74 +148 0 90 +164 0 82 +180 0 82 +205 0 82 +222 0 82 +238 0 74 +255 0 74 +255 8 82 +255 32 98 +8 24 74 +24 24 74 +41 24 74 +57 24 74 +74 24 74 +90 24 74 +131 24 82 +148 16 82 +164 16 82 +180 16 82 +197 16 74 +222 16 74 +238 16 74 +246 24 82 +255 41 90 +255 49 98 +8 41 74 +24 41 74 +41 41 74 +57 41 74 +74 41 74 +106 41 82 +123 41 82 +148 41 82 +164 32 82 +180 32 82 +197 32 74 +213 32 74 +222 41 82 +238 57 90 +255 57 90 +255 65 98 +8 57 74 +24 57 74 +41 57 74 +65 65 82 +82 65 82 +106 57 82 +123 57 82 +139 57 82 +156 57 74 +180 57 74 +197 49 74 +205 57 82 +222 74 90 +238 74 90 +255 74 90 +255 82 98 +8 74 74 +24 74 74 +41 74 74 +65 82 82 +82 82 82 +98 82 82 +123 82 82 +139 74 74 +156 74 74 +172 74 74 +189 82 82 +205 90 90 +222 90 90 +238 90 90 +255 90 90 +255 106 106 +8 90 74 +24 90 74 +41 106 82 +57 106 82 +82 98 82 +98 98 82 +123 98 82 +139 98 74 +156 98 74 +172 90 74 +189 98 82 +205 106 90 +222 106 90 +238 106 90 +255 106 90 +255 115 106 +8 106 74 +24 131 82 +41 123 82 +57 123 82 +82 123 82 +98 123 82 +123 123 82 +139 115 74 +156 115 74 +172 115 74 +189 115 82 +205 123 90 +222 123 90 +238 123 90 +255 123 90 +255 131 106 +0 148 82 +16 148 82 +41 148 82 +57 139 82 +74 139 74 +98 139 74 +115 139 74 +139 139 74 +156 139 74 +172 131 74 +189 131 82 +205 139 90 +222 139 90 +238 139 90 +255 139 90 +255 148 106 +0 164 82 +16 164 82 +32 164 74 +57 156 74 +74 156 74 +98 156 74 +115 156 74 +139 156 74 +156 156 74 +172 156 74 +189 148 82 +205 156 90 +222 156 90 +238 156 90 +255 156 90 +255 156 106 +0 180 82 +16 180 74 +32 180 74 +57 180 74 +74 172 74 +90 172 74 +115 172 74 +131 172 74 +156 172 74 +172 172 74 +189 164 82 +205 172 90 +222 172 90 +238 172 90 +255 172 90 +255 172 106 +0 205 74 +16 197 74 +32 197 74 +49 197 74 +82 189 82 +98 189 82 +115 189 82 +131 189 82 +148 189 82 +172 189 82 +189 189 82 +205 189 90 +222 189 90 +238 189 90 +255 189 90 +255 189 106 +0 222 74 +16 222 74 +32 213 74 +57 205 74 +90 205 90 +106 205 90 +123 205 90 +139 205 90 +156 205 90 +172 205 90 +189 205 90 +205 205 90 +222 205 90 +238 205 90 +255 197 90 +255 197 106 +0 238 74 +16 238 74 +41 222 74 +74 222 90 +90 222 90 +106 222 90 +123 222 90 +139 222 90 +156 222 90 +172 222 90 +189 222 90 +205 222 90 +222 222 90 +238 222 90 +255 213 90 +255 213 106 +0 255 74 +24 246 82 +57 238 90 +74 238 90 +90 238 90 +106 238 90 +123 238 90 +139 238 90 +156 238 90 +172 238 90 +189 238 90 +205 238 90 +222 238 90 +238 238 90 +255 230 90 +255 230 106 +8 255 82 +41 255 90 +57 255 90 +74 255 90 +90 255 90 +106 255 90 +123 255 90 +139 255 90 +156 255 90 +172 255 90 +189 255 90 +205 255 90 +222 255 90 +238 255 90 +255 255 90 +255 246 106 +32 255 90 +49 255 90 +65 255 98 +82 255 98 +106 255 106 +115 255 106 +131 255 106 +148 255 106 +156 255 106 +172 255 106 +189 255 106 +205 255 106 +213 255 106 +230 255 106 +246 255 106 +255 255 106 diff --git a/graphics/misc/sunny_day/21.pal b/graphics/misc/sunny_day/21.pal new file mode 100644 index 0000000000..9a48b9028c --- /dev/null +++ b/graphics/misc/sunny_day/21.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 90 +24 8 90 +41 8 90 +57 8 90 +74 8 90 +90 8 90 +106 8 90 +148 0 106 +164 0 106 +180 0 106 +205 0 98 +222 0 98 +238 0 98 +255 0 98 +255 8 98 +255 32 106 +8 24 90 +24 24 90 +41 24 90 +57 24 90 +74 24 90 +90 24 90 +131 24 106 +148 16 106 +164 16 106 +180 16 98 +197 16 98 +222 16 98 +238 16 98 +246 24 98 +255 41 106 +255 49 115 +8 41 90 +24 41 90 +41 41 106 +65 41 106 +82 41 106 +106 41 106 +123 41 106 +148 41 98 +164 32 98 +180 32 98 +197 32 98 +213 32 98 +222 41 98 +238 57 106 +255 57 106 +255 65 115 +8 57 90 +24 57 90 +41 65 106 +57 57 106 +82 57 106 +106 57 106 +123 57 98 +139 57 98 +156 57 98 +180 57 98 +197 49 98 +205 57 98 +222 74 106 +238 74 106 +255 74 106 +255 82 115 +8 74 90 +24 74 90 +41 82 106 +57 82 106 +82 82 98 +98 82 98 +123 82 98 +139 74 98 +156 74 98 +172 74 90 +189 82 98 +205 90 106 +222 90 106 +238 90 106 +255 90 106 +255 106 115 +8 90 90 +24 90 90 +41 106 106 +57 106 106 +82 98 98 +98 98 98 +123 98 98 +139 98 98 +156 98 98 +172 98 98 +189 106 106 +205 106 106 +222 106 106 +238 106 106 +255 115 115 +255 123 123 +8 106 90 +24 131 106 +41 123 106 +57 123 98 +82 123 98 +98 123 98 +123 123 98 +139 115 98 +156 115 98 +172 115 98 +189 123 106 +205 123 106 +222 123 106 +238 123 106 +255 123 115 +255 131 123 +0 148 106 +16 148 98 +41 148 98 +57 139 98 +74 139 98 +98 139 98 +115 139 98 +139 139 98 +156 131 98 +172 131 98 +189 139 106 +205 139 106 +222 139 106 +238 139 106 +255 139 115 +255 148 123 +0 164 98 +16 164 98 +32 164 98 +57 156 98 +74 156 98 +98 156 98 +115 156 98 +131 156 98 +156 156 98 +172 156 98 +189 156 106 +205 156 106 +222 156 106 +238 156 106 +255 156 115 +255 156 123 +0 180 98 +16 180 98 +32 180 98 +57 180 90 +74 172 90 +98 172 98 +115 172 98 +131 172 98 +156 172 98 +172 172 98 +189 172 106 +205 172 106 +222 172 106 +238 172 106 +255 172 115 +255 172 123 +0 205 98 +16 197 98 +32 197 98 +49 197 90 +82 189 98 +106 189 106 +123 189 106 +139 189 106 +156 189 106 +172 189 106 +189 189 106 +205 189 106 +222 189 106 +238 189 106 +255 189 115 +255 189 123 +0 222 98 +16 222 90 +32 213 90 +57 205 98 +90 205 106 +106 205 106 +123 205 106 +139 205 106 +156 205 106 +172 205 106 +189 205 106 +205 205 106 +222 205 106 +238 205 106 +255 205 115 +255 197 123 +0 238 90 +16 238 90 +41 222 90 +74 222 106 +90 222 106 +106 222 106 +123 222 106 +139 222 106 +156 222 106 +172 222 106 +189 222 106 +205 222 106 +222 222 106 +238 222 106 +255 222 115 +255 213 123 +0 255 90 +24 246 90 +57 238 106 +74 238 106 +90 238 106 +106 238 106 +123 238 106 +139 238 106 +156 238 106 +172 238 106 +189 238 106 +205 238 106 +222 238 106 +238 238 106 +255 238 115 +255 230 123 +8 255 98 +41 255 106 +57 255 106 +74 255 106 +90 255 106 +115 255 115 +123 255 115 +139 255 115 +156 255 115 +172 255 115 +189 255 115 +205 255 115 +222 255 115 +238 255 115 +255 255 115 +255 246 123 +32 255 106 +49 255 106 +65 255 106 +82 255 115 +106 255 115 +123 255 123 +131 255 123 +148 255 123 +164 255 123 +172 255 123 +189 255 123 +205 255 123 +213 255 123 +230 255 123 +246 255 123 +255 255 123 diff --git a/graphics/misc/sunny_day/22.pal b/graphics/misc/sunny_day/22.pal new file mode 100644 index 0000000000..25d9bc5132 --- /dev/null +++ b/graphics/misc/sunny_day/22.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 106 +24 8 106 +41 8 106 +57 8 106 +74 8 106 +90 8 106 +106 8 106 +148 0 131 +164 0 123 +180 0 123 +205 0 123 +222 0 115 +238 0 115 +255 0 115 +255 8 115 +255 32 123 +8 24 106 +24 24 131 +41 24 131 +57 24 131 +82 24 131 +106 24 131 +131 24 131 +148 16 123 +164 16 123 +180 16 123 +197 16 123 +222 16 115 +238 16 115 +246 24 115 +255 41 123 +255 49 131 +8 41 106 +24 41 131 +41 41 123 +57 41 123 +82 41 123 +106 41 123 +123 41 123 +148 41 123 +164 32 123 +180 32 123 +197 32 115 +213 32 115 +222 41 115 +238 57 123 +255 57 123 +255 65 131 +8 57 106 +24 65 131 +41 57 123 +57 57 123 +82 57 123 +98 57 123 +123 57 123 +139 57 123 +156 57 115 +180 57 115 +197 49 115 +205 57 115 +222 74 123 +238 74 123 +255 74 123 +255 82 131 +8 74 106 +24 82 131 +41 82 123 +57 82 123 +82 82 123 +98 82 123 +123 82 123 +139 74 115 +156 74 115 +172 74 115 +189 82 115 +205 90 123 +222 90 123 +238 90 123 +255 90 123 +255 106 131 +8 90 106 +24 106 131 +41 106 123 +57 98 123 +82 98 123 +98 98 123 +123 98 123 +139 98 115 +156 98 115 +172 98 115 +189 106 123 +205 106 123 +222 106 123 +238 106 123 +255 115 123 +255 123 131 +8 106 106 +24 131 131 +41 123 123 +57 123 123 +82 123 123 +98 123 123 +115 115 115 +139 115 115 +156 115 115 +172 123 123 +189 123 123 +205 123 123 +222 123 123 +238 123 123 +246 131 131 +255 139 139 +0 148 123 +16 148 123 +41 148 123 +57 139 123 +74 139 115 +98 139 115 +115 139 115 +139 139 115 +156 131 115 +172 139 123 +189 139 123 +205 139 123 +222 139 123 +238 139 123 +246 139 131 +255 148 139 +0 164 123 +16 164 123 +32 164 115 +57 156 115 +74 156 115 +98 156 115 +115 156 115 +131 156 115 +156 156 115 +172 156 123 +189 156 123 +205 156 123 +222 156 123 +238 156 123 +246 156 131 +255 164 139 +0 180 115 +16 180 115 +32 180 115 +57 180 115 +74 172 115 +98 172 115 +123 172 123 +139 172 123 +156 172 123 +172 172 123 +189 172 123 +205 172 123 +222 172 123 +238 172 123 +246 172 131 +255 172 139 +0 205 115 +16 197 115 +32 197 115 +49 197 115 +82 189 115 +106 189 123 +123 189 123 +139 189 123 +156 189 123 +172 189 123 +189 189 123 +205 189 123 +222 189 123 +238 189 123 +246 189 131 +255 189 139 +0 222 115 +16 222 115 +32 213 115 +57 205 115 +90 205 123 +106 205 123 +123 205 123 +139 205 123 +156 205 123 +172 205 123 +189 205 123 +205 205 123 +222 205 123 +238 205 123 +246 205 131 +255 205 139 +0 238 115 +16 238 115 +41 222 115 +74 222 123 +90 222 123 +106 222 123 +123 222 123 +139 222 123 +156 222 123 +172 222 123 +189 222 123 +205 222 123 +222 222 123 +238 222 123 +246 222 131 +255 213 139 +0 255 115 +24 246 115 +57 238 123 +74 238 123 +90 238 123 +106 238 123 +123 238 123 +139 238 123 +156 238 123 +172 238 123 +189 238 123 +205 238 123 +222 238 123 +238 238 123 +246 230 131 +255 230 139 +8 255 115 +41 255 115 +57 255 123 +74 255 123 +90 255 123 +115 255 123 +131 246 131 +148 246 131 +156 246 131 +172 246 131 +189 246 131 +205 246 131 +222 246 131 +238 246 131 +246 246 131 +255 246 139 +32 255 123 +49 255 123 +65 255 123 +82 255 131 +106 255 131 +123 255 131 +139 255 139 +148 255 139 +164 255 139 +180 255 139 +189 255 139 +205 255 139 +222 255 139 +230 255 139 +246 255 139 +255 255 139 diff --git a/graphics/misc/sunny_day/23.pal b/graphics/misc/sunny_day/23.pal new file mode 100644 index 0000000000..478a765f6d --- /dev/null +++ b/graphics/misc/sunny_day/23.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 148 +16 0 148 +41 0 148 +57 0 148 +82 0 148 +106 0 148 +123 0 148 +148 0 148 +164 0 148 +180 0 139 +205 0 139 +222 0 139 +238 0 139 +255 0 139 +255 8 131 +255 32 139 +0 24 148 +16 16 148 +41 16 148 +57 16 148 +82 16 148 +98 16 148 +123 16 148 +148 16 148 +164 16 148 +180 16 139 +197 16 139 +222 16 139 +238 16 139 +246 24 131 +255 41 139 +255 49 139 +0 41 148 +16 41 148 +41 41 148 +57 41 148 +82 41 148 +98 41 148 +123 41 148 +148 41 148 +164 32 139 +180 32 139 +197 32 139 +213 32 139 +222 41 131 +238 57 139 +255 57 139 +255 65 139 +0 65 148 +16 57 148 +41 57 148 +57 57 139 +82 57 139 +98 57 139 +123 57 139 +139 57 139 +156 57 139 +180 57 139 +197 49 139 +205 57 131 +222 74 139 +238 74 139 +255 74 139 +255 82 139 +0 90 148 +16 82 148 +41 82 148 +57 82 139 +74 74 139 +98 74 139 +115 74 139 +139 74 139 +156 74 139 +172 74 131 +189 82 131 +205 90 139 +222 90 139 +238 90 139 +255 90 139 +255 106 148 +0 106 148 +16 106 148 +41 98 148 +57 98 139 +74 98 139 +98 98 139 +115 98 139 +139 98 139 +156 98 131 +172 98 131 +189 106 139 +205 106 139 +222 106 139 +238 106 139 +255 115 139 +255 123 148 +0 131 148 +16 123 148 +41 123 148 +57 123 139 +74 115 139 +98 115 139 +115 115 139 +139 115 139 +156 115 131 +172 123 139 +189 123 139 +205 123 139 +222 123 139 +238 123 139 +246 131 148 +255 139 148 +0 148 148 +16 148 148 +41 148 148 +57 139 139 +74 139 139 +98 139 139 +115 139 139 +139 131 131 +156 139 139 +172 139 139 +189 139 139 +205 139 139 +222 139 139 +238 139 139 +246 148 148 +255 156 156 +0 164 148 +16 164 139 +32 164 139 +57 156 139 +74 156 139 +98 156 131 +115 156 131 +139 156 139 +156 156 139 +172 156 139 +189 156 139 +205 156 139 +222 156 139 +238 156 139 +246 156 148 +255 164 156 +0 180 139 +16 180 139 +32 180 139 +57 180 131 +74 172 131 +98 172 131 +123 172 139 +139 172 139 +156 172 139 +172 172 139 +189 172 139 +205 172 139 +222 172 139 +238 172 139 +246 172 148 +255 180 156 +0 205 139 +16 197 139 +32 197 131 +49 197 131 +82 189 131 +106 189 139 +123 189 139 +139 189 139 +156 189 139 +172 189 139 +189 189 139 +205 189 139 +222 189 139 +238 189 139 +246 189 148 +255 189 156 +0 222 131 +16 222 131 +32 213 131 +57 205 131 +90 205 139 +106 205 139 +123 205 139 +139 205 139 +156 205 139 +172 205 139 +189 205 139 +205 205 139 +222 205 139 +238 205 139 +246 205 148 +255 205 156 +0 238 131 +16 238 131 +41 222 131 +74 222 139 +90 222 139 +106 222 139 +123 222 139 +139 222 139 +156 222 139 +172 222 139 +189 222 139 +205 222 139 +222 222 139 +238 222 139 +246 222 148 +255 222 156 +0 255 131 +24 246 131 +57 238 139 +74 238 139 +90 238 139 +106 238 139 +123 238 139 +139 238 139 +156 238 139 +172 238 139 +189 238 139 +205 238 139 +222 238 139 +238 238 139 +246 238 148 +255 230 156 +8 255 131 +41 255 139 +57 255 139 +74 255 139 +90 255 139 +115 255 139 +131 246 139 +148 246 148 +164 246 148 +180 246 148 +189 246 148 +205 246 148 +222 246 148 +238 246 148 +246 246 148 +255 246 156 +32 255 139 +49 255 139 +65 255 139 +82 255 139 +106 255 148 +123 255 148 +139 255 148 +156 255 156 +164 255 156 +180 255 156 +197 255 156 +205 255 156 +222 255 156 +230 255 156 +246 255 156 +255 255 156 diff --git a/graphics/misc/sunny_day/24.pal b/graphics/misc/sunny_day/24.pal new file mode 100644 index 0000000000..5da491fd26 --- /dev/null +++ b/graphics/misc/sunny_day/24.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 164 +16 0 164 +41 0 164 +57 0 164 +82 0 164 +98 0 164 +123 0 164 +148 0 164 +164 0 164 +180 0 164 +205 0 164 +222 0 156 +238 0 156 +255 0 156 +255 8 156 +255 32 156 +0 24 164 +16 16 164 +41 16 164 +57 16 164 +82 16 164 +98 16 164 +123 16 164 +139 16 164 +164 16 164 +180 16 164 +197 16 164 +222 16 156 +238 16 156 +246 24 148 +255 41 156 +255 49 156 +0 41 164 +16 41 164 +32 32 164 +57 32 164 +74 32 164 +98 32 164 +115 32 164 +139 32 164 +164 32 164 +180 32 164 +197 32 156 +213 32 156 +222 41 148 +238 57 156 +255 57 156 +255 65 156 +0 65 164 +16 65 164 +32 57 164 +57 57 156 +74 57 156 +98 57 156 +115 57 156 +139 57 156 +156 57 156 +180 57 156 +197 49 156 +205 57 156 +222 74 156 +238 74 156 +255 74 156 +255 82 156 +0 82 164 +16 82 164 +32 82 164 +57 74 156 +74 74 156 +98 74 156 +115 74 156 +139 74 156 +156 74 156 +172 74 156 +189 82 148 +205 90 156 +222 90 156 +238 90 156 +255 90 156 +255 106 156 +0 106 164 +16 106 164 +32 98 164 +57 98 156 +74 98 156 +98 98 156 +115 98 156 +131 98 156 +156 98 156 +172 98 156 +189 106 156 +205 106 156 +222 106 156 +238 106 156 +255 115 156 +255 123 164 +0 123 164 +16 123 164 +32 123 164 +57 115 156 +74 115 156 +98 115 156 +115 115 156 +131 115 156 +156 115 156 +172 123 156 +189 123 156 +205 123 156 +222 123 156 +238 123 156 +246 131 156 +255 139 164 +0 148 164 +16 148 164 +32 139 164 +57 139 156 +74 139 156 +98 131 156 +115 131 156 +139 139 156 +156 139 156 +172 139 156 +189 139 156 +205 139 156 +222 139 156 +238 139 156 +246 148 164 +255 156 164 +0 164 164 +16 164 164 +32 164 164 +57 156 156 +74 156 156 +98 156 156 +115 156 156 +139 156 156 +156 156 156 +172 156 156 +189 156 156 +205 156 156 +222 156 156 +238 164 164 +246 164 164 +255 180 180 +0 180 164 +16 180 156 +32 180 156 +57 180 156 +74 172 156 +98 172 156 +123 172 156 +139 172 156 +156 172 156 +172 172 156 +189 172 156 +205 172 156 +222 172 156 +238 172 164 +246 172 164 +255 189 180 +0 205 156 +16 197 156 +32 197 156 +49 197 156 +82 189 148 +106 189 156 +123 189 156 +139 189 156 +156 189 156 +172 189 156 +189 189 156 +205 189 156 +222 189 156 +238 189 164 +246 189 164 +255 205 180 +0 222 156 +16 222 156 +32 213 148 +57 205 148 +90 205 156 +106 205 156 +123 205 156 +139 205 156 +156 205 156 +172 205 156 +189 205 156 +205 205 156 +222 205 156 +238 205 164 +246 205 164 +255 213 180 +0 238 156 +16 238 148 +41 222 148 +74 222 156 +90 222 156 +106 222 156 +123 222 156 +139 222 156 +156 222 156 +172 222 156 +189 222 156 +205 222 156 +222 222 156 +238 222 164 +246 222 164 +255 222 180 +0 255 148 +24 246 148 +57 238 156 +74 238 156 +90 238 156 +106 238 156 +123 238 156 +139 238 156 +164 238 164 +172 238 164 +189 238 164 +205 238 164 +222 238 164 +238 238 164 +246 230 164 +255 238 180 +8 255 148 +41 255 156 +57 255 156 +74 255 156 +90 255 156 +115 255 156 +131 246 156 +148 246 156 +164 246 164 +180 246 164 +189 246 164 +205 246 164 +222 246 164 +238 246 164 +246 246 164 +255 246 180 +32 255 148 +49 255 156 +65 255 156 +82 255 156 +106 255 156 +123 255 156 +139 255 164 +156 255 164 +180 255 180 +189 255 180 +205 255 180 +213 255 180 +230 255 180 +238 255 180 +246 255 180 +255 255 180 diff --git a/graphics/misc/sunny_day/25.pal b/graphics/misc/sunny_day/25.pal new file mode 100644 index 0000000000..dce1c86a15 --- /dev/null +++ b/graphics/misc/sunny_day/25.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 180 +16 0 180 +41 0 180 +57 0 180 +82 0 180 +98 0 180 +115 0 180 +139 0 180 +164 0 180 +180 0 180 +205 0 180 +222 0 180 +238 0 172 +255 0 172 +255 8 172 +255 32 172 +0 16 180 +16 16 180 +41 16 180 +57 16 180 +74 16 180 +98 16 180 +115 16 180 +139 16 180 +156 16 180 +180 16 180 +197 16 180 +222 16 180 +238 16 180 +246 24 172 +255 41 172 +255 49 172 +0 41 180 +16 41 180 +32 32 180 +57 32 180 +74 32 180 +98 32 180 +115 32 180 +139 32 180 +156 32 180 +180 32 180 +197 32 180 +213 32 172 +222 41 172 +238 57 172 +255 57 172 +255 65 172 +0 57 180 +16 57 180 +32 57 180 +57 57 180 +74 57 180 +90 57 180 +115 57 180 +131 57 180 +156 57 180 +180 57 180 +197 49 180 +205 57 172 +222 74 172 +238 74 172 +255 74 172 +255 82 172 +0 82 180 +16 82 180 +32 82 180 +57 74 180 +74 74 172 +90 74 172 +115 74 172 +131 74 172 +156 74 172 +172 74 172 +189 82 172 +205 90 172 +222 90 172 +238 90 172 +255 90 172 +255 106 172 +0 106 180 +16 98 180 +32 98 180 +57 98 180 +74 90 172 +98 98 172 +115 98 172 +131 98 172 +156 98 172 +172 98 172 +189 106 172 +205 106 172 +222 106 172 +238 106 172 +255 115 172 +255 123 172 +0 123 180 +16 123 180 +32 123 180 +57 115 180 +74 115 172 +98 115 172 +123 123 172 +139 123 172 +156 123 172 +172 123 172 +189 123 172 +205 123 172 +222 123 172 +238 123 172 +246 131 172 +255 139 180 +0 139 180 +16 139 180 +32 139 180 +57 139 180 +74 131 172 +98 131 172 +123 139 172 +139 139 172 +156 139 172 +172 139 172 +189 139 172 +205 139 172 +222 139 172 +238 139 172 +246 148 180 +255 156 180 +0 164 180 +16 164 180 +32 164 180 +57 156 180 +74 156 172 +98 156 172 +123 156 172 +139 156 172 +156 156 172 +172 156 172 +189 156 172 +205 156 172 +222 156 172 +238 164 172 +246 164 180 +255 180 189 +0 180 180 +16 180 180 +32 180 180 +57 180 180 +74 172 172 +98 172 172 +123 172 172 +139 172 172 +156 172 172 +172 172 172 +189 172 172 +205 172 172 +222 172 172 +238 180 180 +246 189 189 +255 197 197 +0 205 180 +16 197 180 +32 197 172 +49 197 172 +82 189 164 +106 189 172 +123 189 172 +139 189 172 +156 189 172 +172 189 172 +189 189 172 +205 189 172 +222 189 172 +238 189 180 +246 197 189 +255 205 197 +0 222 172 +16 222 172 +32 213 172 +57 205 172 +90 205 172 +106 205 172 +123 205 172 +139 205 172 +156 205 172 +172 205 172 +189 205 172 +205 205 172 +222 205 172 +238 205 180 +246 213 189 +255 213 197 +0 238 172 +16 238 172 +41 222 164 +74 222 172 +90 222 172 +106 222 172 +123 222 172 +139 222 172 +156 222 172 +172 222 172 +189 222 172 +205 222 172 +222 222 172 +238 222 180 +246 222 189 +255 230 197 +0 255 172 +24 246 164 +57 238 164 +74 238 172 +90 238 172 +106 238 172 +123 238 172 +139 238 172 +164 238 172 +180 238 180 +189 238 180 +205 238 180 +222 238 180 +238 238 180 +246 238 189 +255 238 197 +8 255 164 +41 255 164 +57 255 164 +74 255 172 +90 255 172 +115 255 172 +131 246 172 +148 246 172 +164 246 172 +189 246 189 +205 246 189 +213 246 189 +230 246 189 +238 246 189 +246 246 189 +255 246 197 +32 255 164 +49 255 172 +65 255 172 +82 255 172 +106 255 172 +123 255 172 +139 255 172 +156 255 180 +180 255 189 +197 255 197 +205 255 197 +222 255 197 +230 255 197 +238 255 197 +246 255 197 +255 255 197 diff --git a/graphics/misc/sunny_day/26.pal b/graphics/misc/sunny_day/26.pal new file mode 100644 index 0000000000..2ddab2f0ba --- /dev/null +++ b/graphics/misc/sunny_day/26.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 205 +16 0 205 +32 0 205 +57 0 205 +74 0 205 +98 0 205 +115 0 205 +139 0 205 +156 0 205 +180 0 205 +205 0 205 +222 0 197 +238 0 197 +255 0 197 +255 8 189 +255 32 180 +0 16 205 +16 16 197 +32 16 197 +57 16 197 +74 16 197 +98 16 197 +115 16 197 +139 16 197 +156 16 197 +180 16 197 +197 16 197 +222 16 197 +238 16 197 +246 24 189 +255 41 189 +255 49 189 +0 41 205 +16 32 197 +32 32 197 +57 32 197 +74 32 197 +98 32 197 +115 32 197 +131 32 197 +156 32 197 +172 32 197 +197 32 197 +213 32 197 +222 41 189 +238 57 189 +255 57 189 +255 65 189 +0 57 205 +16 57 197 +32 57 197 +49 49 197 +74 49 197 +90 49 197 +115 49 197 +131 49 197 +156 49 197 +172 49 197 +197 49 197 +205 57 189 +222 74 189 +238 74 189 +255 74 189 +255 82 189 +0 82 205 +16 74 197 +32 74 197 +49 74 197 +82 82 189 +98 82 189 +115 82 189 +131 82 189 +148 82 189 +164 82 189 +189 82 189 +205 90 189 +222 90 189 +238 90 189 +255 90 189 +255 106 189 +0 98 205 +16 98 197 +32 98 197 +49 98 197 +82 98 189 +106 106 189 +123 106 189 +139 106 189 +156 106 189 +172 106 189 +189 106 189 +205 106 189 +222 106 189 +238 106 189 +255 115 189 +255 123 189 +0 123 205 +16 123 197 +32 115 197 +49 115 197 +82 115 189 +106 123 189 +123 123 189 +139 123 189 +156 123 189 +172 123 189 +189 123 189 +205 123 189 +222 123 189 +238 123 189 +246 131 189 +255 139 189 +0 139 205 +16 139 197 +32 139 197 +49 139 197 +82 131 189 +106 139 189 +123 139 189 +139 139 189 +156 139 189 +172 139 189 +189 139 189 +205 139 189 +222 139 189 +238 139 189 +246 148 189 +255 156 197 +0 164 205 +16 164 197 +32 156 197 +49 156 197 +82 148 189 +106 156 189 +123 156 189 +139 156 189 +156 156 189 +172 156 189 +189 156 189 +205 156 189 +222 156 189 +238 164 189 +246 164 189 +255 180 205 +0 180 205 +16 180 197 +32 180 197 +49 180 197 +82 172 189 +106 172 189 +123 172 189 +139 172 189 +156 172 189 +172 172 189 +189 172 189 +205 172 189 +222 172 189 +238 180 189 +246 189 205 +255 197 205 +0 205 205 +16 197 197 +32 197 197 +49 197 197 +82 189 189 +106 189 189 +123 189 189 +139 189 189 +156 189 189 +172 189 189 +189 189 189 +205 189 189 +222 189 189 +238 205 205 +246 205 205 +255 213 213 +0 222 197 +16 222 197 +32 213 197 +57 205 189 +90 205 189 +106 205 189 +123 205 189 +139 205 189 +156 205 189 +172 205 189 +189 205 189 +205 205 189 +222 205 189 +238 213 205 +246 213 205 +255 222 213 +0 238 189 +16 238 189 +41 222 180 +74 222 189 +90 222 189 +106 222 189 +123 222 189 +139 222 189 +156 222 189 +172 222 189 +189 222 189 +205 222 189 +222 222 189 +238 222 205 +246 230 205 +255 230 213 +0 255 189 +24 246 189 +57 238 189 +74 238 180 +90 238 189 +106 238 189 +123 238 189 +139 238 189 +164 238 189 +180 238 189 +205 238 205 +213 238 205 +230 238 205 +238 238 205 +246 238 205 +255 238 213 +8 255 180 +41 255 189 +57 255 180 +74 255 180 +90 255 189 +115 255 189 +131 246 189 +148 246 189 +164 246 189 +189 246 197 +205 246 205 +213 246 205 +230 246 205 +238 246 205 +246 246 205 +255 246 213 +32 255 180 +49 255 180 +65 255 180 +82 255 180 +106 255 189 +123 255 189 +139 255 189 +156 255 189 +180 255 205 +197 255 205 +213 255 213 +222 255 213 +230 255 213 +238 255 213 +246 255 213 +255 255 213 diff --git a/graphics/misc/sunny_day/27.pal b/graphics/misc/sunny_day/27.pal new file mode 100644 index 0000000000..a0af5ad233 --- /dev/null +++ b/graphics/misc/sunny_day/27.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 222 +16 0 222 +32 0 222 +57 0 222 +74 0 222 +98 0 222 +115 0 222 +131 0 222 +156 0 222 +172 0 222 +197 0 222 +222 0 222 +238 0 213 +255 0 213 +255 8 205 +255 32 197 +0 16 222 +16 16 222 +32 16 222 +49 16 222 +74 16 222 +90 16 222 +115 16 222 +131 16 222 +156 16 222 +172 16 222 +197 16 222 +222 16 222 +238 16 213 +246 24 205 +255 41 205 +255 49 197 +0 41 222 +16 32 222 +32 32 213 +49 32 213 +74 32 213 +90 32 213 +115 32 213 +131 32 213 +148 32 213 +172 32 213 +197 32 213 +213 32 213 +222 41 205 +238 57 205 +255 57 205 +255 65 205 +0 57 222 +16 57 222 +32 57 213 +57 57 205 +74 57 205 +98 57 205 +115 57 205 +131 57 205 +148 57 205 +172 57 205 +189 57 205 +205 57 205 +222 74 205 +238 74 205 +255 74 205 +255 82 197 +0 82 222 +16 74 222 +32 74 213 +57 82 205 +90 90 205 +106 90 205 +123 90 205 +139 90 205 +156 90 205 +172 90 205 +189 90 205 +205 90 205 +222 90 205 +238 90 205 +255 90 205 +255 106 205 +0 98 222 +16 98 222 +32 98 213 +57 98 205 +90 106 205 +106 106 205 +123 106 205 +139 106 205 +156 106 205 +172 106 205 +189 106 205 +205 106 205 +222 106 205 +238 106 205 +255 115 205 +255 123 205 +0 115 222 +16 115 222 +32 115 213 +57 115 205 +90 123 205 +106 123 205 +123 123 205 +139 123 205 +156 123 205 +172 123 205 +189 123 205 +205 123 205 +222 123 205 +238 123 205 +246 131 205 +255 139 205 +0 139 222 +16 139 222 +32 139 213 +57 131 205 +90 139 205 +106 139 205 +123 139 205 +139 139 205 +156 139 205 +172 139 205 +189 139 205 +205 139 205 +222 139 205 +238 139 205 +246 148 205 +255 156 205 +0 156 222 +16 156 222 +32 156 213 +57 156 205 +90 156 205 +106 156 205 +123 156 205 +139 156 205 +156 156 205 +172 156 205 +189 156 205 +205 156 205 +222 156 205 +238 164 205 +246 164 205 +255 180 213 +0 180 222 +16 180 222 +32 172 213 +57 172 205 +90 172 205 +106 172 205 +123 172 205 +139 172 205 +156 172 205 +172 172 205 +189 172 205 +205 172 205 +222 172 205 +238 180 205 +246 189 213 +255 197 222 +0 197 222 +16 197 222 +32 197 213 +57 189 205 +90 189 205 +106 189 205 +123 189 205 +139 189 205 +156 189 205 +172 189 205 +189 189 205 +205 189 205 +222 189 205 +238 205 213 +246 205 213 +255 213 222 +0 222 222 +16 222 222 +32 213 213 +57 205 205 +90 205 205 +106 205 205 +123 205 205 +139 205 205 +156 205 205 +172 205 205 +189 205 205 +205 205 205 +230 213 213 +238 213 213 +255 222 222 +255 230 230 +0 238 213 +16 238 213 +41 222 205 +74 222 205 +90 222 205 +106 222 205 +123 222 205 +139 222 205 +156 222 205 +172 222 205 +189 222 205 +213 230 213 +230 230 213 +238 230 213 +255 230 222 +255 238 230 +0 255 213 +24 246 205 +57 238 197 +74 238 197 +90 238 205 +106 238 205 +123 238 205 +139 238 205 +164 238 205 +180 238 205 +205 238 213 +213 238 213 +230 238 213 +238 238 213 +255 238 222 +255 246 230 +8 255 205 +41 255 197 +57 255 205 +74 255 205 +90 255 197 +115 255 205 +131 246 205 +148 246 205 +164 246 205 +189 246 213 +205 246 213 +222 255 222 +230 255 222 +238 255 222 +255 255 222 +255 255 230 +32 255 197 +49 255 197 +65 255 197 +82 255 197 +106 255 197 +123 255 197 +139 255 205 +156 255 205 +180 255 213 +197 255 213 +213 255 222 +230 255 230 +238 255 230 +246 255 230 +255 255 230 +255 255 230 diff --git a/graphics/misc/sunny_day/28.pal b/graphics/misc/sunny_day/28.pal new file mode 100644 index 0000000000..fbc88233ae --- /dev/null +++ b/graphics/misc/sunny_day/28.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 238 +8 0 238 +32 0 238 +57 0 238 +74 0 238 +90 0 238 +115 0 238 +131 0 238 +156 0 238 +172 0 238 +189 0 238 +213 0 238 +238 0 238 +255 0 238 +255 8 222 +255 32 213 +0 16 238 +16 16 238 +32 16 238 +49 16 238 +74 16 238 +90 16 238 +115 16 238 +131 16 238 +148 16 238 +172 16 238 +189 16 238 +213 16 238 +238 16 238 +246 24 222 +255 41 222 +255 49 213 +0 32 238 +16 32 238 +41 41 222 +57 41 222 +74 41 222 +90 41 222 +115 41 222 +131 41 222 +148 41 222 +164 41 222 +180 41 222 +205 41 222 +222 41 222 +238 57 222 +255 57 222 +255 65 213 +0 57 238 +16 57 238 +41 57 222 +74 74 222 +90 74 222 +106 74 222 +123 74 222 +139 74 222 +156 74 222 +172 74 222 +189 74 222 +205 74 222 +222 74 222 +238 74 222 +255 74 222 +255 82 213 +0 74 238 +16 74 238 +41 82 222 +74 90 222 +90 90 222 +106 90 222 +123 90 222 +139 90 222 +156 90 222 +172 90 222 +189 90 222 +205 90 222 +222 90 222 +238 90 222 +255 90 222 +255 106 213 +0 98 238 +16 98 238 +41 98 222 +74 106 222 +90 106 222 +106 106 222 +123 106 222 +139 106 222 +156 106 222 +172 106 222 +189 106 222 +205 106 222 +222 106 222 +238 106 222 +255 115 222 +255 123 213 +0 115 238 +16 115 238 +41 115 222 +74 123 222 +90 123 222 +106 123 222 +123 123 222 +139 123 222 +156 123 222 +172 123 222 +189 123 222 +205 123 222 +222 123 222 +238 123 222 +246 131 222 +255 139 222 +0 139 238 +16 139 238 +41 131 222 +74 139 222 +90 139 222 +106 139 222 +123 139 222 +139 139 222 +156 139 222 +172 139 222 +189 139 222 +205 139 222 +222 139 222 +238 139 222 +246 148 222 +255 156 222 +0 156 238 +16 156 238 +41 148 222 +74 156 222 +90 156 222 +106 156 222 +123 156 222 +139 156 222 +156 156 222 +172 156 222 +189 156 222 +205 156 222 +222 156 222 +238 164 222 +246 164 222 +255 180 230 +0 172 238 +16 180 238 +41 172 222 +74 172 222 +90 172 222 +106 172 222 +123 172 222 +139 172 222 +156 172 222 +172 172 222 +189 172 222 +205 172 222 +222 172 222 +238 180 222 +246 189 230 +255 197 230 +0 197 238 +16 197 238 +41 189 222 +74 189 222 +90 189 222 +106 189 222 +123 189 222 +139 189 222 +156 189 222 +172 189 222 +189 189 222 +205 189 222 +222 189 222 +238 205 230 +246 205 230 +255 213 230 +0 213 238 +16 213 238 +41 205 222 +74 205 222 +90 205 222 +106 205 222 +123 205 222 +139 205 222 +156 205 222 +172 205 222 +189 205 222 +213 213 230 +230 213 230 +238 213 230 +255 222 230 +255 230 238 +0 238 238 +16 238 238 +41 222 222 +74 222 222 +90 222 222 +106 222 222 +123 222 222 +139 222 222 +156 222 222 +172 222 222 +189 222 222 +213 230 230 +230 230 230 +238 230 230 +255 238 238 +255 246 246 +0 255 230 +24 246 222 +57 238 222 +74 238 213 +90 238 222 +106 238 222 +123 238 222 +139 238 222 +164 238 222 +180 238 222 +205 238 222 +213 238 230 +230 238 230 +238 238 230 +255 246 238 +255 255 246 +8 255 222 +41 255 213 +57 255 213 +74 255 213 +90 255 213 +115 255 222 +131 246 222 +148 246 222 +164 246 222 +189 246 222 +205 246 230 +222 255 230 +238 255 238 +246 255 238 +255 255 238 +255 255 246 +32 255 213 +49 255 213 +65 255 213 +82 255 213 +106 255 213 +123 255 213 +139 255 213 +156 255 222 +180 255 222 +197 255 230 +213 255 230 +230 255 238 +246 255 246 +255 255 246 +255 255 246 +255 255 246 diff --git a/graphics/misc/sunny_day/29.pal b/graphics/misc/sunny_day/29.pal new file mode 100644 index 0000000000..4786c3922f --- /dev/null +++ b/graphics/misc/sunny_day/29.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 255 +16 0 255 +32 0 255 +49 0 255 +74 0 255 +90 0 255 +115 0 255 +131 0 255 +148 0 255 +172 0 255 +189 0 255 +213 0 255 +230 0 255 +255 0 255 +255 8 238 +255 32 230 +0 16 255 +24 24 246 +41 24 246 +57 24 246 +82 24 246 +90 24 246 +115 24 246 +131 24 246 +148 24 246 +164 24 246 +189 24 246 +205 24 246 +222 24 246 +246 24 246 +255 41 238 +255 49 230 +0 41 255 +24 41 246 +57 57 238 +74 57 238 +90 57 238 +106 57 238 +123 57 238 +139 57 238 +156 57 238 +164 57 238 +189 57 238 +197 57 238 +222 57 238 +238 57 238 +255 57 238 +255 65 230 +0 57 255 +24 57 246 +57 74 238 +74 74 238 +90 74 238 +106 74 238 +123 74 238 +139 74 238 +156 74 238 +172 74 238 +180 74 238 +197 74 238 +213 74 238 +238 74 238 +255 74 238 +255 82 230 +0 74 255 +24 82 246 +57 90 238 +74 90 238 +90 90 238 +106 90 238 +123 90 238 +139 90 238 +156 90 238 +172 90 238 +189 90 238 +205 90 238 +222 90 238 +238 90 238 +255 90 238 +255 106 230 +0 98 255 +24 98 246 +57 106 238 +74 106 238 +90 106 238 +106 106 238 +123 106 238 +139 106 238 +156 106 238 +172 106 238 +189 106 238 +205 106 238 +222 106 238 +238 106 238 +255 115 238 +255 123 230 +0 115 255 +24 115 246 +57 123 238 +74 123 238 +90 123 238 +106 123 238 +123 123 238 +139 123 238 +156 123 238 +172 123 238 +189 123 238 +205 123 238 +222 123 238 +238 123 238 +246 131 238 +255 139 230 +0 139 255 +24 131 246 +57 139 238 +74 139 238 +90 139 238 +106 139 238 +123 139 238 +139 139 238 +156 139 238 +172 139 238 +189 139 238 +205 139 238 +222 139 238 +238 139 238 +246 148 238 +255 156 230 +0 156 255 +24 148 246 +57 156 238 +74 156 238 +90 156 238 +106 156 238 +123 156 238 +139 156 238 +164 164 238 +172 164 238 +189 164 238 +205 164 238 +222 164 238 +238 164 238 +246 164 238 +255 180 238 +0 172 255 +24 172 246 +57 172 238 +74 172 238 +90 172 238 +106 172 238 +123 172 238 +139 172 238 +164 172 238 +180 180 238 +189 180 238 +205 180 238 +222 180 238 +238 180 238 +246 189 238 +255 197 238 +0 197 255 +24 189 246 +57 189 238 +74 189 238 +90 189 238 +106 189 238 +123 189 238 +139 189 238 +164 189 238 +180 189 238 +205 205 238 +213 205 238 +222 205 238 +238 205 238 +246 205 238 +255 213 238 +0 213 255 +24 205 246 +57 205 238 +74 205 238 +90 205 238 +106 205 238 +123 205 238 +139 205 238 +164 205 238 +180 205 238 +205 213 238 +213 213 238 +230 213 238 +238 213 238 +255 222 238 +255 230 246 +0 238 255 +24 222 246 +57 222 238 +74 222 238 +90 222 238 +106 222 238 +123 222 238 +139 222 238 +164 222 238 +180 222 238 +205 230 238 +213 230 238 +230 230 238 +238 230 238 +255 238 246 +255 246 255 +0 255 255 +24 246 246 +57 238 238 +74 238 238 +90 238 238 +106 238 238 +123 238 238 +139 238 238 +164 238 238 +180 238 238 +205 238 238 +213 238 238 +230 238 238 +246 246 246 +255 255 255 +255 255 255 +8 255 238 +41 255 238 +57 255 230 +74 255 230 +90 255 230 +115 255 238 +131 246 230 +148 246 238 +164 246 230 +189 246 238 +205 246 238 +222 255 238 +238 255 246 +255 255 255 +255 255 255 +255 255 255 +32 255 222 +49 255 230 +65 255 230 +82 255 230 +106 255 230 +123 255 230 +139 255 230 +156 255 230 +180 255 238 +197 255 238 +213 255 238 +230 255 246 +246 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/3.pal b/graphics/misc/sunny_day/3.pal new file mode 100644 index 0000000000..fc463f3016 --- /dev/null +++ b/graphics/misc/sunny_day/3.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 57 +24 8 57 +41 8 57 +57 8 57 +74 8 57 +90 8 57 +106 8 57 +139 0 57 +156 0 57 +172 0 57 +189 0 57 +205 0 57 +222 0 57 +238 0 57 +255 0 57 +255 24 74 +8 24 57 +24 24 57 +41 24 57 +57 24 57 +74 24 57 +90 24 57 +115 16 57 +131 16 57 +156 16 57 +172 16 57 +189 16 57 +205 16 57 +222 16 57 +238 16 57 +246 32 65 +255 41 74 +8 41 57 +24 41 57 +41 41 57 +57 41 57 +74 41 57 +98 41 57 +115 41 57 +131 41 57 +148 32 57 +172 32 57 +189 32 57 +205 32 57 +222 32 57 +230 49 65 +246 49 65 +255 57 74 +8 57 57 +24 57 57 +41 57 57 +57 57 57 +74 57 57 +98 57 57 +115 57 57 +131 57 57 +148 57 57 +164 57 57 +189 49 49 +205 57 57 +213 65 65 +230 65 65 +246 65 65 +255 74 74 +8 74 57 +24 74 57 +41 74 57 +57 74 57 +74 74 57 +98 74 57 +115 74 57 +131 74 57 +148 74 57 +164 74 57 +189 74 49 +205 74 57 +213 82 65 +230 82 65 +246 82 65 +255 90 74 +8 90 57 +24 90 57 +41 98 57 +57 98 57 +74 98 57 +98 98 57 +115 90 57 +131 90 57 +148 90 57 +164 90 57 +189 90 49 +205 90 57 +213 98 65 +230 98 65 +246 98 65 +255 106 74 +8 106 57 +16 115 57 +41 115 57 +57 115 57 +74 115 57 +98 115 57 +115 115 57 +131 115 57 +148 106 57 +164 115 57 +189 106 49 +205 106 57 +213 115 65 +230 115 65 +246 115 65 +255 123 74 +0 139 57 +16 131 57 +41 131 57 +57 131 57 +74 131 57 +90 131 57 +115 131 57 +131 131 57 +148 131 57 +164 131 57 +189 131 49 +205 131 57 +213 131 65 +230 131 65 +246 131 65 +255 131 74 +0 156 57 +16 156 57 +32 148 57 +57 148 57 +74 148 57 +90 148 57 +115 148 57 +131 148 57 +148 148 57 +164 148 57 +189 148 49 +205 148 57 +213 148 65 +230 148 65 +246 148 65 +255 148 74 +0 172 57 +16 172 57 +32 172 57 +57 164 57 +74 164 57 +90 164 57 +115 164 57 +131 164 57 +148 164 57 +164 164 57 +189 164 49 +205 164 57 +213 164 65 +230 164 65 +246 164 65 +255 164 74 +0 189 49 +16 189 57 +32 189 49 +49 189 49 +74 189 49 +90 189 49 +106 189 49 +131 189 49 +148 189 49 +172 189 49 +189 189 49 +205 180 57 +213 180 65 +230 180 65 +246 180 65 +255 180 74 +0 205 57 +16 205 49 +32 205 49 +57 205 57 +74 205 57 +90 205 57 +106 205 57 +131 205 57 +148 205 57 +164 205 57 +189 205 57 +205 205 57 +213 197 65 +230 197 65 +246 197 65 +255 197 74 +0 222 57 +16 222 49 +32 222 49 +65 213 65 +82 213 65 +98 213 65 +115 213 65 +131 213 65 +148 213 65 +164 213 65 +180 213 65 +205 213 65 +213 213 65 +230 213 65 +246 213 65 +255 213 74 +0 238 49 +16 238 49 +49 230 65 +65 230 65 +82 230 65 +98 230 65 +115 230 65 +131 230 65 +148 230 65 +164 230 65 +180 230 65 +197 230 65 +213 230 65 +230 230 65 +246 230 65 +255 222 74 +0 255 49 +32 246 65 +49 246 65 +65 246 65 +90 246 65 +98 246 65 +123 246 65 +131 246 65 +156 246 65 +164 246 65 +180 246 65 +197 246 65 +213 246 65 +238 246 65 +246 246 65 +255 238 74 +24 255 65 +41 255 74 +57 255 74 +74 255 74 +90 255 74 +106 255 74 +123 255 74 +139 255 74 +156 255 74 +164 255 74 +180 255 74 +197 255 74 +213 255 74 +230 255 74 +246 255 74 +255 255 74 diff --git a/graphics/misc/sunny_day/30.pal b/graphics/misc/sunny_day/30.pal new file mode 100644 index 0000000000..de1492a5af --- /dev/null +++ b/graphics/misc/sunny_day/30.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 255 +24 8 255 +41 8 255 +57 8 255 +82 8 255 +98 8 255 +115 8 255 +131 8 255 +148 8 255 +164 8 255 +180 8 255 +205 8 255 +222 8 255 +238 8 255 +255 8 255 +255 32 246 +8 24 255 +41 41 255 +57 41 255 +74 41 255 +90 41 255 +106 41 255 +115 41 255 +139 41 255 +156 41 255 +164 41 255 +189 41 255 +197 41 255 +213 41 255 +238 41 255 +255 41 255 +255 49 246 +8 49 255 +41 57 255 +57 57 255 +74 57 255 +90 57 255 +106 57 255 +123 57 255 +139 57 255 +156 57 255 +164 57 255 +180 57 255 +205 57 255 +213 57 255 +230 57 255 +255 57 255 +255 65 246 +8 65 255 +41 74 255 +57 74 255 +74 74 255 +90 74 255 +106 74 255 +123 74 255 +139 74 255 +156 74 255 +172 74 255 +180 74 255 +205 74 255 +213 74 255 +230 74 255 +255 74 255 +255 82 246 +8 82 255 +41 90 255 +57 90 255 +74 90 255 +90 90 255 +106 90 255 +123 90 255 +139 90 255 +156 90 255 +172 90 255 +189 90 255 +197 90 255 +213 90 255 +230 90 255 +255 90 255 +255 106 246 +8 98 255 +41 106 255 +57 106 255 +74 106 255 +90 106 255 +115 115 255 +123 115 255 +139 115 255 +156 115 255 +172 115 255 +189 115 255 +205 115 255 +222 115 255 +238 115 255 +255 115 255 +255 123 246 +8 115 255 +41 123 255 +57 123 255 +74 123 255 +90 123 255 +115 123 255 +131 131 246 +139 131 246 +156 131 246 +172 131 246 +189 131 246 +205 131 246 +222 131 246 +230 131 246 +246 131 246 +255 139 246 +8 131 255 +41 139 255 +57 139 255 +74 139 255 +90 139 255 +115 139 255 +131 148 246 +148 148 246 +156 148 246 +172 148 246 +189 148 246 +205 148 246 +222 148 246 +238 148 246 +246 148 246 +255 156 246 +8 156 255 +41 156 255 +57 156 255 +74 156 255 +90 156 255 +115 156 255 +131 156 246 +148 164 246 +164 164 246 +172 164 246 +189 164 246 +205 164 246 +222 164 246 +230 164 246 +246 164 246 +255 180 246 +8 172 255 +41 172 255 +57 172 255 +74 172 255 +90 172 255 +115 172 255 +131 172 246 +148 180 246 +164 180 246 +189 189 246 +197 189 246 +213 189 246 +222 189 246 +238 189 246 +246 189 246 +255 197 246 +8 189 255 +41 189 255 +57 189 255 +74 189 255 +90 189 255 +115 189 255 +131 189 246 +148 189 246 +164 189 246 +189 205 246 +205 205 246 +213 205 246 +230 205 246 +238 205 246 +246 205 246 +255 213 246 +8 205 255 +41 205 255 +57 205 255 +74 205 255 +90 205 255 +115 205 255 +131 205 246 +148 205 246 +164 205 246 +189 213 246 +205 213 246 +222 222 255 +230 222 255 +238 222 255 +255 222 255 +255 230 255 +8 222 255 +41 222 255 +57 222 255 +74 222 255 +90 222 255 +115 222 255 +131 222 246 +148 222 246 +164 222 246 +189 230 246 +205 230 246 +222 230 255 +238 238 255 +246 238 255 +255 238 255 +255 246 255 +8 238 255 +41 238 255 +57 238 255 +74 238 255 +90 238 255 +115 238 255 +131 238 246 +148 238 246 +164 238 246 +189 238 246 +205 238 246 +222 238 255 +238 246 255 +255 255 255 +255 255 255 +255 255 255 +8 255 255 +41 255 255 +57 255 255 +74 255 255 +90 255 255 +115 255 255 +131 246 246 +148 246 246 +164 246 246 +189 246 246 +205 246 246 +222 255 255 +238 255 255 +255 255 255 +255 255 255 +255 255 255 +32 255 238 +49 255 238 +65 255 246 +82 255 238 +106 255 246 +123 255 246 +139 255 246 +156 255 246 +180 255 246 +197 255 246 +213 255 246 +230 255 255 +246 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/31.pal b/graphics/misc/sunny_day/31.pal new file mode 100644 index 0000000000..c48c846ade --- /dev/null +++ b/graphics/misc/sunny_day/31.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +32 32 255 +49 32 255 +57 32 255 +74 32 255 +90 32 255 +106 32 255 +123 32 255 +139 32 255 +148 32 255 +164 32 255 +180 32 255 +197 32 255 +213 32 255 +222 32 255 +238 32 255 +255 32 255 +32 49 255 +49 49 255 +65 49 255 +82 49 255 +90 49 255 +106 49 255 +123 49 255 +139 49 255 +156 49 255 +172 49 255 +180 49 255 +197 49 255 +213 49 255 +230 49 255 +238 49 255 +255 49 255 +32 65 255 +49 65 255 +65 65 255 +82 65 255 +98 65 255 +106 65 255 +123 65 255 +139 65 255 +156 65 255 +172 65 255 +180 65 255 +197 65 255 +213 65 255 +230 65 255 +246 65 255 +255 65 255 +32 82 255 +49 82 255 +65 82 255 +82 82 255 +98 82 255 +115 82 255 +131 82 255 +139 82 255 +156 82 255 +172 82 255 +180 82 255 +197 82 255 +213 82 255 +230 82 255 +238 82 255 +255 82 255 +32 98 255 +49 98 255 +65 98 255 +82 98 255 +106 106 255 +115 106 255 +131 106 255 +148 106 255 +156 106 255 +172 106 255 +189 106 255 +197 106 255 +213 106 255 +230 106 255 +246 106 255 +255 106 255 +32 106 255 +49 115 255 +65 115 255 +82 115 255 +106 115 255 +123 123 255 +131 123 255 +148 123 255 +156 123 255 +172 123 255 +189 123 255 +197 123 255 +213 123 255 +230 123 255 +246 123 255 +255 123 255 +32 123 255 +49 131 255 +65 131 255 +82 131 255 +106 131 255 +123 131 255 +139 139 255 +148 139 255 +164 139 255 +172 139 255 +189 139 255 +205 139 255 +213 139 255 +230 139 255 +246 139 255 +255 139 255 +32 139 255 +49 139 255 +65 139 255 +82 139 255 +106 148 255 +123 148 255 +139 148 255 +156 156 255 +164 156 255 +180 156 255 +189 156 255 +205 156 255 +222 156 255 +230 156 255 +246 156 255 +255 156 255 +32 156 255 +49 156 255 +65 156 255 +82 156 255 +106 156 255 +123 164 255 +139 164 255 +156 164 255 +180 180 255 +189 180 255 +205 180 255 +213 180 255 +222 180 255 +238 180 255 +246 180 255 +255 180 255 +32 172 255 +49 172 255 +65 172 255 +82 172 255 +106 172 255 +123 172 255 +139 180 255 +156 180 255 +180 189 255 +197 197 255 +205 197 255 +213 197 255 +230 197 255 +238 197 255 +246 197 255 +255 197 255 +32 180 255 +49 189 255 +65 189 255 +82 189 255 +106 189 255 +123 189 255 +139 189 255 +156 197 255 +180 205 255 +197 205 255 +213 213 255 +222 213 255 +230 213 255 +238 213 255 +246 213 255 +255 213 255 +32 197 255 +49 197 255 +65 205 255 +82 197 255 +106 205 255 +123 205 255 +139 205 255 +156 205 255 +180 213 255 +197 222 255 +213 222 255 +230 230 255 +238 230 255 +246 230 255 +255 230 255 +255 230 255 +32 213 255 +49 213 255 +65 213 255 +82 213 255 +106 213 255 +123 213 255 +139 222 255 +156 222 255 +180 230 255 +197 230 255 +213 230 255 +230 238 255 +246 246 255 +255 246 255 +255 246 255 +255 246 255 +32 230 255 +49 230 255 +65 230 255 +82 230 255 +106 230 255 +123 230 255 +139 230 255 +156 230 255 +180 238 255 +197 238 255 +213 238 255 +230 246 255 +246 255 255 +255 255 255 +255 255 255 +255 255 255 +32 246 255 +49 246 255 +65 246 255 +82 246 255 +106 246 255 +123 246 255 +139 246 255 +156 246 255 +180 246 255 +197 246 255 +213 246 255 +230 255 255 +246 255 255 +255 255 255 +255 255 255 +255 255 255 +32 255 255 +49 255 255 +65 255 255 +82 255 255 +106 255 255 +123 255 255 +139 255 255 +156 255 255 +180 255 255 +197 255 255 +213 255 255 +230 255 255 +246 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/32.pal b/graphics/misc/sunny_day/32.pal new file mode 100644 index 0000000000..238ca8950b --- /dev/null +++ b/graphics/misc/sunny_day/32.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 8 +24 8 8 +41 8 8 +57 8 8 +74 8 8 +90 8 8 +106 8 8 +156 0 0 +180 0 0 +197 0 0 +213 0 0 +230 0 0 +246 0 0 +255 0 0 +255 16 16 +255 49 49 +8 24 8 +24 24 8 +41 24 8 +57 24 8 +74 24 8 +90 24 8 +106 24 8 +156 16 0 +180 16 0 +197 16 0 +213 16 0 +230 16 0 +246 16 0 +255 16 0 +255 32 16 +255 57 49 +8 41 8 +24 41 8 +41 41 8 +57 41 8 +74 41 8 +90 41 8 +106 41 8 +156 41 0 +180 41 0 +197 41 0 +213 32 0 +230 32 0 +246 32 0 +255 41 0 +255 49 16 +255 74 49 +8 57 8 +24 57 8 +41 57 8 +57 57 8 +74 57 8 +90 57 8 +106 57 8 +156 65 0 +180 65 0 +197 57 0 +213 57 0 +230 57 0 +246 57 0 +255 57 0 +255 65 16 +255 82 49 +8 74 8 +24 74 8 +41 74 8 +57 74 8 +74 74 8 +90 74 8 +106 74 8 +156 90 0 +180 90 0 +197 82 0 +213 82 0 +230 74 0 +246 74 0 +255 82 0 +255 90 16 +255 98 49 +8 90 8 +24 90 8 +41 90 8 +57 90 8 +74 90 8 +90 90 8 +106 90 8 +156 115 0 +180 106 0 +197 106 0 +213 106 0 +230 98 0 +246 98 0 +255 98 0 +255 98 16 +255 115 49 +8 106 8 +24 106 8 +41 106 8 +57 106 8 +74 106 8 +90 106 8 +106 106 8 +156 139 0 +180 131 0 +197 123 0 +213 123 0 +230 123 0 +246 123 0 +255 115 0 +255 115 16 +255 123 49 +0 156 0 +24 156 0 +49 156 0 +65 156 0 +90 156 0 +115 156 0 +139 156 0 +156 156 0 +180 156 0 +197 148 0 +213 148 0 +230 139 0 +246 139 0 +255 139 0 +255 139 16 +255 139 49 +0 180 0 +24 180 0 +41 180 0 +65 180 0 +90 180 0 +115 180 0 +131 180 0 +156 180 0 +180 180 0 +197 172 0 +213 164 0 +230 164 0 +246 156 0 +255 156 0 +255 156 16 +255 156 49 +0 197 0 +16 197 0 +41 197 0 +65 197 0 +82 197 0 +106 197 0 +131 197 0 +156 197 0 +172 197 0 +197 197 0 +213 189 0 +230 180 0 +246 180 0 +255 180 0 +255 172 16 +255 172 49 +0 213 0 +16 213 0 +41 213 0 +57 213 0 +82 213 0 +106 213 0 +123 213 0 +148 213 0 +172 213 0 +189 213 0 +213 213 0 +230 205 0 +246 197 0 +255 197 0 +255 189 16 +255 180 49 +0 230 0 +16 230 0 +41 230 0 +65 230 0 +82 230 0 +106 230 0 +123 230 0 +148 230 0 +164 230 0 +189 230 0 +213 230 0 +230 230 0 +246 222 0 +255 213 0 +255 205 16 +255 197 49 +0 246 0 +16 246 0 +41 246 0 +57 246 0 +82 246 0 +98 246 0 +123 246 0 +139 246 0 +164 246 0 +180 246 0 +205 246 0 +230 246 0 +246 246 0 +255 238 0 +255 222 16 +255 213 49 +0 255 0 +24 255 0 +41 255 0 +57 255 0 +82 255 0 +98 255 0 +123 255 0 +139 255 0 +156 255 0 +180 255 0 +197 255 0 +222 255 0 +238 255 0 +255 255 0 +255 238 16 +255 230 49 +16 255 16 +41 255 16 +57 255 16 +74 255 16 +90 255 16 +106 255 16 +123 255 16 +139 255 16 +156 255 16 +172 255 16 +189 255 16 +213 255 16 +230 255 16 +246 255 16 +255 255 16 +255 238 49 +49 255 49 +57 255 49 +74 255 49 +90 255 49 +98 255 49 +115 255 49 +131 255 49 +148 255 49 +156 255 49 +172 255 49 +189 255 49 +205 255 49 +213 255 49 +230 255 49 +246 255 49 +255 255 49 diff --git a/graphics/misc/sunny_day/33.pal b/graphics/misc/sunny_day/33.pal new file mode 100644 index 0000000000..e616bd8496 --- /dev/null +++ b/graphics/misc/sunny_day/33.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 24 +24 8 24 +41 8 24 +57 8 24 +74 8 24 +90 8 24 +106 8 24 +156 0 24 +180 0 24 +197 0 16 +213 0 16 +230 0 16 +246 0 16 +255 0 24 +255 16 41 +255 49 57 +8 24 24 +24 24 24 +41 24 24 +57 24 24 +74 24 24 +90 24 24 +139 24 24 +156 16 16 +172 16 16 +189 16 16 +213 16 16 +230 16 16 +246 16 16 +246 32 32 +255 49 49 +255 65 65 +8 41 24 +24 41 24 +41 41 24 +57 41 24 +74 41 24 +90 41 24 +139 41 24 +156 41 16 +172 41 16 +189 41 16 +213 32 16 +230 32 16 +246 32 16 +246 41 32 +255 65 49 +255 74 65 +8 57 24 +24 57 24 +41 57 24 +57 57 24 +74 57 24 +90 57 24 +139 65 24 +156 65 16 +172 65 16 +189 57 16 +213 57 16 +230 49 16 +246 57 16 +246 65 32 +255 82 49 +255 90 65 +8 74 24 +24 74 24 +41 74 24 +57 74 24 +74 74 24 +90 74 24 +139 90 24 +156 90 16 +172 82 16 +189 82 16 +213 74 16 +230 74 16 +246 74 16 +246 82 32 +255 90 49 +255 98 65 +8 90 24 +24 90 24 +41 90 24 +57 90 24 +74 90 24 +90 90 24 +139 115 24 +156 106 16 +172 106 16 +189 106 16 +213 98 16 +230 98 16 +246 98 16 +246 98 32 +255 115 49 +255 115 65 +8 106 24 +24 139 24 +41 139 24 +65 139 24 +90 139 24 +115 139 24 +139 139 24 +156 131 16 +172 123 16 +189 123 16 +213 123 16 +230 123 16 +246 115 16 +246 115 32 +255 123 49 +255 131 65 +0 156 16 +16 156 16 +41 156 16 +65 156 16 +90 156 16 +106 156 16 +131 156 16 +156 156 16 +172 148 16 +189 148 16 +213 139 16 +230 139 16 +246 139 16 +246 139 32 +255 139 49 +255 148 65 +0 180 16 +16 172 16 +41 172 16 +65 172 16 +82 172 16 +106 172 16 +131 172 16 +156 172 16 +172 172 16 +189 172 16 +213 164 16 +230 164 16 +246 156 16 +246 156 32 +255 156 49 +255 164 65 +0 197 16 +16 189 16 +41 189 16 +57 189 16 +82 189 16 +106 189 16 +131 189 16 +148 189 16 +172 189 16 +189 189 16 +213 189 16 +230 180 16 +246 180 16 +246 172 32 +255 172 49 +255 172 65 +0 213 16 +16 213 16 +32 213 16 +57 213 16 +82 213 16 +106 213 16 +123 213 16 +148 213 16 +172 213 16 +189 213 16 +213 213 16 +230 205 16 +246 197 16 +246 189 32 +255 189 49 +255 189 65 +0 230 16 +16 230 16 +32 230 16 +57 230 16 +74 230 16 +98 230 16 +123 230 16 +139 230 16 +164 230 16 +189 230 16 +205 230 16 +230 230 16 +246 222 16 +246 205 32 +255 205 49 +255 197 65 +0 246 16 +16 246 16 +41 246 16 +57 246 16 +82 246 16 +98 246 16 +123 246 16 +139 246 16 +164 246 16 +180 246 16 +205 246 16 +222 246 16 +246 246 16 +246 222 32 +255 222 49 +255 213 65 +0 255 16 +32 246 32 +49 246 32 +65 246 32 +82 246 32 +98 246 32 +123 246 32 +139 246 32 +156 246 32 +172 246 32 +189 246 32 +213 246 32 +230 246 32 +246 246 32 +255 238 49 +255 230 65 +16 255 32 +49 255 49 +65 255 49 +82 255 49 +98 255 49 +115 255 49 +131 255 49 +148 255 49 +164 255 49 +172 255 49 +197 255 49 +205 255 49 +222 255 49 +238 255 49 +255 255 49 +255 246 65 +49 255 57 +65 255 65 +82 255 65 +90 255 65 +106 255 65 +123 255 65 +131 255 65 +148 255 65 +164 255 65 +180 255 65 +189 255 65 +205 255 65 +222 255 65 +230 255 65 +246 255 65 +255 255 65 diff --git a/graphics/misc/sunny_day/34.pal b/graphics/misc/sunny_day/34.pal new file mode 100644 index 0000000000..0ddddc4448 --- /dev/null +++ b/graphics/misc/sunny_day/34.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 41 +24 8 41 +41 8 41 +57 8 41 +74 8 41 +90 8 41 +106 8 41 +156 0 49 +180 0 41 +197 0 41 +213 0 41 +230 0 41 +246 0 41 +255 0 41 +255 16 57 +255 49 74 +8 24 41 +24 24 41 +41 24 41 +57 24 41 +74 24 41 +90 24 41 +139 24 41 +156 16 41 +172 16 41 +189 16 41 +213 16 32 +230 16 32 +246 16 41 +246 32 49 +255 49 65 +255 65 82 +8 41 41 +24 41 41 +41 41 41 +57 41 41 +74 41 41 +115 41 41 +131 41 41 +156 41 41 +172 32 32 +189 32 32 +205 32 32 +222 41 41 +230 49 49 +238 65 65 +255 65 65 +255 82 82 +8 57 41 +24 57 41 +41 57 41 +57 57 41 +74 57 41 +115 65 41 +131 65 41 +156 57 41 +172 57 32 +189 57 32 +205 57 32 +222 57 41 +230 65 49 +238 82 65 +255 82 65 +255 90 82 +8 74 41 +24 74 41 +41 74 41 +57 74 41 +74 74 41 +115 90 41 +131 90 41 +156 82 41 +172 82 32 +189 82 32 +205 74 32 +222 74 41 +230 82 49 +238 90 65 +255 98 65 +255 106 82 +8 90 41 +24 90 41 +41 115 41 +65 115 41 +90 115 41 +115 115 41 +131 106 41 +156 106 41 +172 106 32 +189 98 32 +205 98 32 +222 98 41 +230 98 49 +238 115 65 +255 115 65 +255 115 82 +8 106 41 +24 139 41 +41 131 41 +65 131 41 +90 131 41 +106 131 41 +131 131 41 +156 131 41 +172 123 32 +189 123 32 +205 123 32 +222 115 41 +230 115 49 +238 123 65 +255 123 65 +255 131 82 +0 156 41 +16 156 41 +41 156 41 +57 156 41 +82 156 41 +106 156 41 +131 156 41 +156 156 41 +172 148 32 +189 148 32 +205 139 32 +222 139 41 +230 139 49 +238 139 65 +255 139 65 +255 148 82 +0 180 41 +16 172 41 +32 172 32 +57 172 32 +82 172 32 +106 172 32 +123 172 32 +148 172 32 +172 172 32 +189 164 32 +205 164 32 +222 156 41 +230 156 49 +238 156 65 +255 164 65 +255 156 82 +0 197 41 +16 189 41 +32 189 32 +57 189 32 +82 189 32 +98 189 32 +123 189 32 +148 189 32 +172 189 32 +189 189 32 +205 189 32 +222 180 41 +230 172 49 +238 172 65 +255 172 65 +255 172 82 +0 213 32 +16 213 32 +32 205 32 +57 205 32 +74 205 32 +98 205 32 +123 205 32 +148 205 32 +164 205 32 +189 205 32 +205 205 32 +222 197 41 +230 189 49 +238 189 65 +255 189 65 +255 189 82 +0 230 32 +16 230 32 +41 222 41 +57 222 41 +82 222 41 +98 222 41 +123 222 41 +139 222 41 +164 222 41 +180 222 41 +205 222 41 +222 222 41 +230 205 49 +238 205 65 +255 205 65 +255 205 82 +0 246 32 +16 246 32 +49 230 49 +65 230 49 +82 230 49 +98 230 49 +123 230 49 +139 230 49 +156 230 49 +172 230 49 +189 230 49 +213 230 49 +230 230 49 +238 222 65 +255 222 65 +255 213 82 +0 255 41 +32 246 41 +65 238 65 +82 238 65 +98 238 65 +115 238 65 +131 238 65 +148 238 65 +164 238 65 +172 238 65 +189 238 65 +205 238 65 +222 238 65 +238 238 65 +255 238 65 +255 230 82 +16 255 49 +49 255 65 +65 255 65 +82 255 65 +98 255 65 +115 255 65 +131 255 65 +148 255 65 +164 255 65 +172 255 65 +189 255 65 +205 255 65 +222 255 65 +238 255 65 +255 255 65 +255 246 82 +49 255 74 +65 255 74 +82 255 82 +90 255 82 +106 255 82 +123 255 82 +139 255 82 +148 255 82 +164 255 82 +180 255 82 +189 255 82 +205 255 82 +213 255 82 +230 255 82 +246 255 82 +255 255 82 diff --git a/graphics/misc/sunny_day/35.pal b/graphics/misc/sunny_day/35.pal new file mode 100644 index 0000000000..8f81dda6d0 --- /dev/null +++ b/graphics/misc/sunny_day/35.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 57 +24 8 57 +41 8 57 +57 8 57 +74 8 57 +90 8 57 +106 8 57 +156 0 65 +180 0 65 +197 0 65 +213 0 57 +230 0 65 +246 0 57 +255 0 57 +255 16 74 +255 49 90 +8 24 57 +24 24 57 +41 24 57 +57 24 57 +74 24 57 +90 24 57 +139 24 65 +156 16 65 +172 16 65 +189 16 57 +213 16 57 +230 16 57 +246 16 57 +246 32 65 +255 49 82 +255 65 90 +8 41 57 +24 41 57 +41 41 57 +57 41 57 +74 41 57 +115 41 65 +131 41 65 +156 41 57 +172 32 57 +189 32 57 +205 32 57 +222 41 57 +230 49 65 +238 65 82 +255 65 82 +255 82 90 +8 57 57 +24 57 57 +41 57 57 +57 57 57 +90 65 65 +115 65 65 +131 57 57 +148 57 57 +172 57 57 +189 57 57 +205 57 57 +213 65 65 +222 82 82 +238 82 82 +255 82 82 +255 98 98 +8 74 57 +24 74 57 +41 74 57 +65 90 65 +90 90 65 +115 90 65 +131 82 57 +148 82 57 +172 74 57 +189 74 57 +205 74 57 +213 82 65 +222 90 82 +238 98 82 +255 98 82 +255 106 98 +8 90 57 +24 90 57 +41 115 65 +65 115 65 +90 115 65 +115 115 65 +131 106 57 +148 106 57 +172 98 57 +189 98 57 +205 98 57 +213 98 65 +222 115 82 +238 115 82 +255 115 82 +255 123 98 +8 106 57 +24 139 65 +41 131 65 +57 131 57 +82 131 57 +106 131 57 +131 131 57 +148 131 57 +172 123 57 +189 123 57 +205 115 57 +213 115 65 +222 123 82 +238 123 82 +255 131 82 +255 139 98 +0 156 65 +16 156 65 +41 156 57 +57 148 57 +82 148 57 +106 148 57 +131 148 57 +148 148 57 +172 148 57 +189 139 57 +205 139 57 +213 139 65 +222 139 82 +238 139 82 +255 139 82 +255 148 98 +0 180 65 +16 172 65 +32 172 57 +57 172 57 +82 172 57 +98 172 57 +123 172 57 +148 172 57 +172 172 57 +189 164 57 +205 156 57 +213 156 65 +222 156 82 +238 164 82 +255 164 82 +255 164 98 +0 197 57 +16 189 57 +32 189 57 +57 189 57 +74 189 57 +98 189 57 +123 189 57 +139 189 57 +164 189 57 +189 189 57 +205 180 57 +213 172 65 +222 172 82 +238 172 82 +255 172 82 +255 180 98 +0 213 57 +16 213 57 +32 205 57 +57 205 57 +74 205 57 +98 205 57 +123 205 57 +139 205 57 +164 205 57 +180 205 57 +205 205 57 +213 189 65 +222 189 82 +238 189 82 +255 189 82 +255 189 98 +0 230 57 +16 230 49 +41 222 57 +65 213 65 +82 213 65 +98 213 65 +123 213 65 +139 213 65 +156 213 65 +172 213 65 +197 213 65 +213 213 65 +222 205 82 +238 205 82 +255 205 82 +255 205 98 +0 246 57 +16 246 57 +49 230 65 +82 222 82 +98 222 82 +115 222 82 +131 222 82 +148 222 82 +164 222 82 +172 222 82 +189 222 82 +213 222 82 +222 222 82 +238 222 82 +255 222 82 +255 222 98 +0 255 57 +32 246 65 +65 238 82 +82 238 82 +98 238 82 +115 238 82 +131 238 82 +148 238 82 +164 238 82 +172 238 82 +189 238 82 +205 238 82 +222 238 82 +238 238 82 +255 238 82 +255 230 98 +16 255 65 +49 255 82 +65 255 82 +82 255 82 +98 255 82 +115 255 82 +131 255 82 +148 255 82 +164 255 82 +180 255 82 +189 255 82 +205 255 82 +222 255 82 +238 255 82 +255 255 82 +255 246 98 +49 255 82 +65 255 90 +82 255 90 +98 255 98 +106 255 98 +123 255 98 +139 255 98 +148 255 98 +164 255 98 +180 255 98 +189 255 98 +205 255 98 +222 255 98 +230 255 98 +246 255 98 +255 255 98 diff --git a/graphics/misc/sunny_day/36.pal b/graphics/misc/sunny_day/36.pal new file mode 100644 index 0000000000..4797f38878 --- /dev/null +++ b/graphics/misc/sunny_day/36.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 74 +24 8 74 +41 8 74 +57 8 74 +74 8 74 +90 8 74 +106 8 74 +156 0 90 +180 0 90 +197 0 82 +213 0 82 +230 0 82 +246 0 82 +255 0 82 +255 16 90 +255 49 98 +8 24 74 +24 24 74 +41 24 74 +57 24 74 +74 24 74 +90 24 74 +139 24 90 +156 16 90 +172 16 82 +189 16 82 +213 16 82 +230 16 74 +246 16 82 +246 32 82 +255 49 98 +255 65 106 +8 41 74 +24 41 74 +41 41 74 +57 41 74 +74 41 74 +115 41 90 +131 41 90 +156 41 82 +172 32 82 +189 32 82 +205 32 74 +222 41 82 +230 49 82 +238 65 98 +255 65 98 +255 82 106 +8 57 74 +24 57 74 +41 57 74 +65 65 90 +90 65 90 +115 65 90 +131 57 82 +148 57 82 +172 57 82 +189 57 74 +205 57 74 +213 65 82 +222 82 98 +238 82 98 +255 82 98 +255 98 106 +8 74 74 +24 74 74 +41 74 74 +65 90 90 +90 82 82 +106 82 82 +131 82 82 +148 74 74 +164 74 74 +180 74 74 +197 82 82 +205 98 98 +222 98 98 +238 98 98 +255 98 98 +255 115 115 +8 90 74 +24 90 74 +41 115 90 +65 115 90 +82 106 82 +106 106 82 +131 106 82 +148 98 74 +164 98 74 +180 98 74 +197 98 82 +205 115 98 +222 115 98 +238 115 98 +255 115 98 +255 123 115 +8 106 74 +24 139 90 +41 131 90 +57 131 82 +82 131 82 +106 131 82 +131 131 82 +148 123 74 +164 123 74 +180 115 74 +197 115 82 +205 131 98 +222 131 98 +238 131 98 +255 131 98 +255 139 115 +0 156 90 +16 156 90 +41 156 82 +57 148 82 +74 148 74 +98 148 74 +123 148 74 +148 148 74 +164 148 74 +180 139 74 +197 139 82 +205 139 98 +222 139 98 +238 139 98 +255 148 98 +255 156 115 +0 180 90 +16 172 82 +32 172 82 +57 172 74 +74 164 74 +98 164 74 +123 164 74 +148 164 74 +164 164 74 +180 164 74 +197 156 82 +205 156 98 +222 164 98 +238 156 98 +255 156 98 +255 164 115 +0 197 82 +16 189 82 +32 189 82 +57 189 74 +74 180 74 +98 180 74 +123 180 74 +139 180 74 +164 180 74 +180 180 74 +197 172 82 +205 172 98 +222 172 98 +238 172 98 +255 180 98 +255 180 115 +0 213 82 +16 213 74 +32 205 74 +57 205 74 +82 197 82 +98 197 82 +123 197 82 +139 197 82 +156 197 82 +172 197 82 +197 197 82 +205 189 98 +222 189 98 +238 189 98 +255 189 98 +255 189 115 +0 230 74 +16 230 74 +41 222 74 +65 213 82 +98 205 98 +115 205 98 +131 205 98 +148 205 98 +164 205 98 +172 205 98 +197 205 98 +205 205 98 +222 205 98 +238 205 98 +255 205 98 +255 205 115 +0 246 74 +16 246 74 +49 230 82 +82 222 90 +98 222 98 +115 222 98 +131 222 98 +148 222 98 +164 222 98 +180 222 98 +189 222 98 +205 222 98 +222 222 98 +238 222 98 +255 222 98 +255 213 115 +0 255 82 +32 246 82 +65 238 90 +82 238 98 +98 238 98 +115 238 98 +131 238 98 +148 238 98 +164 238 98 +180 238 98 +189 238 98 +205 238 98 +222 238 98 +238 238 98 +255 238 98 +255 230 115 +16 255 90 +49 255 90 +65 255 98 +82 255 98 +98 255 98 +115 255 98 +131 255 98 +148 255 98 +164 255 98 +180 255 98 +189 255 98 +205 255 98 +222 255 98 +238 255 98 +255 255 98 +255 246 115 +49 255 98 +65 255 98 +82 255 106 +98 255 106 +115 255 115 +131 255 115 +139 255 115 +156 255 115 +164 255 115 +180 255 115 +197 255 115 +205 255 115 +222 255 115 +230 255 115 +246 255 115 +255 255 115 diff --git a/graphics/misc/sunny_day/37.pal b/graphics/misc/sunny_day/37.pal new file mode 100644 index 0000000000..f65232b011 --- /dev/null +++ b/graphics/misc/sunny_day/37.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 90 +24 8 90 +41 8 90 +57 8 90 +74 8 90 +90 8 90 +106 8 90 +156 0 115 +180 0 115 +197 0 106 +213 0 106 +230 0 106 +246 0 98 +255 0 98 +255 16 106 +255 49 115 +8 24 90 +24 24 90 +41 24 90 +57 24 90 +74 24 90 +90 24 90 +139 24 115 +156 16 106 +172 16 106 +189 16 106 +213 16 106 +230 16 98 +246 16 98 +246 32 98 +255 49 115 +255 65 123 +8 41 90 +24 41 90 +41 41 115 +65 41 115 +90 41 115 +115 41 115 +131 41 106 +156 41 106 +172 32 106 +189 32 98 +205 32 98 +222 41 98 +230 49 98 +238 65 115 +255 65 115 +255 82 123 +8 57 90 +24 57 90 +41 65 115 +65 65 115 +90 65 115 +115 65 115 +131 57 106 +148 57 106 +172 57 98 +189 57 98 +205 57 98 +213 65 98 +222 82 115 +238 82 115 +255 82 115 +255 98 123 +8 74 90 +24 74 90 +41 90 115 +65 90 115 +82 82 106 +106 82 106 +131 82 106 +148 74 98 +164 74 98 +180 74 98 +197 82 98 +205 98 115 +222 98 115 +238 98 115 +255 98 115 +255 115 131 +8 90 90 +24 90 90 +41 115 115 +65 115 115 +82 106 106 +106 98 98 +131 98 98 +148 98 98 +164 98 98 +180 98 98 +197 106 106 +205 115 115 +222 115 115 +238 115 115 +255 123 123 +255 131 131 +8 106 90 +24 139 115 +41 131 106 +57 131 106 +82 131 106 +98 131 98 +131 131 98 +148 123 98 +164 115 98 +180 115 98 +197 123 106 +205 123 115 +222 131 115 +238 131 115 +255 131 123 +255 139 131 +0 156 115 +16 156 106 +41 156 106 +57 148 106 +74 148 98 +98 148 98 +123 148 98 +148 148 98 +164 139 98 +180 139 98 +197 139 106 +205 139 115 +222 148 115 +238 148 115 +255 148 123 +255 156 131 +0 180 106 +16 172 106 +32 172 106 +57 172 98 +74 164 98 +98 164 98 +115 164 98 +139 164 98 +164 164 98 +180 156 98 +197 156 106 +205 164 115 +222 156 115 +238 164 115 +255 164 123 +255 164 131 +0 197 106 +16 189 106 +32 189 98 +57 189 98 +74 180 98 +98 180 98 +115 180 98 +139 180 98 +156 180 98 +180 180 98 +197 172 106 +205 172 115 +222 172 115 +238 180 115 +255 180 123 +255 180 131 +0 213 106 +16 213 98 +32 205 98 +57 205 98 +82 197 98 +106 197 106 +123 197 106 +139 197 106 +164 197 106 +180 197 106 +197 197 106 +205 189 115 +222 189 115 +238 189 115 +255 189 123 +255 197 131 +0 230 98 +16 230 98 +41 222 98 +65 213 98 +98 205 115 +115 205 115 +131 205 115 +148 205 115 +164 205 115 +172 205 115 +189 205 115 +205 205 115 +222 205 115 +238 205 115 +255 205 123 +255 205 131 +0 246 98 +16 246 98 +49 230 98 +82 222 115 +98 222 115 +115 222 115 +131 222 115 +148 222 115 +164 222 115 +180 222 115 +189 222 115 +213 222 115 +222 222 115 +238 222 115 +255 222 123 +255 222 131 +0 255 98 +32 246 98 +65 238 115 +82 238 115 +98 238 115 +115 238 115 +131 238 115 +148 238 115 +164 238 115 +180 238 115 +197 238 115 +205 238 115 +222 238 115 +238 238 115 +255 238 123 +255 230 131 +16 255 98 +49 255 115 +65 255 115 +82 255 115 +98 255 115 +123 255 123 +131 255 123 +148 255 123 +164 255 123 +180 255 123 +197 255 123 +205 255 123 +222 255 123 +238 255 123 +255 255 123 +255 246 131 +49 255 115 +65 255 115 +82 255 115 +98 255 123 +115 255 123 +131 255 131 +139 255 131 +156 255 131 +172 255 131 +180 255 131 +197 255 131 +205 255 131 +222 255 131 +230 255 131 +246 255 131 +255 255 131 diff --git a/graphics/misc/sunny_day/38.pal b/graphics/misc/sunny_day/38.pal new file mode 100644 index 0000000000..ddb2442fbf --- /dev/null +++ b/graphics/misc/sunny_day/38.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 106 +24 8 106 +41 8 106 +57 8 106 +74 8 106 +90 8 106 +106 8 106 +156 0 139 +180 0 131 +197 0 131 +213 0 123 +230 0 123 +246 0 123 +255 0 123 +255 16 123 +255 49 131 +8 24 106 +24 24 139 +41 24 139 +65 24 139 +90 24 139 +115 24 139 +139 24 139 +156 16 131 +172 16 131 +189 16 131 +213 16 123 +230 16 123 +246 16 123 +246 32 123 +255 49 131 +255 65 131 +8 41 106 +24 41 139 +41 41 131 +65 41 131 +90 41 131 +106 41 131 +131 41 131 +156 41 131 +172 32 123 +189 32 123 +205 32 123 +222 41 123 +230 49 123 +238 65 131 +255 65 131 +255 82 139 +8 57 106 +24 65 139 +41 65 131 +57 57 131 +82 57 131 +106 57 131 +131 57 131 +148 57 131 +172 57 123 +189 57 123 +205 57 123 +213 65 123 +222 82 131 +238 82 131 +255 82 131 +255 98 139 +8 74 106 +24 90 139 +41 90 131 +57 82 131 +82 82 131 +106 82 131 +131 82 131 +148 74 123 +164 74 123 +180 74 123 +197 82 123 +205 98 131 +222 98 131 +238 98 131 +255 98 131 +255 115 139 +8 90 106 +24 115 139 +41 106 131 +57 106 131 +82 106 131 +98 98 131 +131 98 131 +148 98 123 +164 98 115 +180 98 115 +197 106 123 +205 115 131 +222 115 131 +238 115 131 +255 123 131 +255 131 139 +8 106 106 +24 139 139 +41 131 131 +57 131 131 +82 131 131 +98 131 131 +123 115 115 +148 115 115 +156 115 115 +180 123 123 +197 123 123 +205 131 131 +222 131 131 +238 131 131 +255 139 139 +255 148 148 +0 156 139 +16 156 131 +41 156 131 +57 148 131 +74 148 123 +98 148 123 +115 148 115 +148 148 115 +156 139 115 +180 139 123 +197 139 123 +205 148 131 +222 148 131 +238 148 131 +255 148 139 +255 156 148 +0 180 131 +16 172 123 +32 172 123 +57 172 123 +74 164 123 +98 164 115 +115 156 115 +139 156 115 +156 156 115 +180 156 123 +197 164 123 +205 156 131 +222 164 131 +238 164 131 +255 164 139 +255 172 148 +0 197 123 +16 189 123 +32 189 123 +57 189 123 +74 180 115 +98 180 115 +123 180 123 +139 180 123 +164 180 123 +180 180 123 +197 180 123 +205 172 131 +222 180 131 +238 180 131 +255 180 139 +255 180 148 +0 213 123 +16 213 123 +32 205 123 +57 205 115 +82 197 115 +106 197 123 +123 197 123 +139 197 123 +164 197 123 +180 197 123 +197 197 123 +205 189 131 +222 189 131 +238 189 131 +255 197 139 +255 197 148 +0 230 123 +16 230 123 +41 222 115 +65 213 115 +98 205 131 +115 205 123 +131 205 131 +148 205 131 +164 205 131 +180 205 131 +189 205 131 +205 205 131 +222 205 131 +238 205 131 +255 205 139 +255 205 148 +0 246 123 +16 246 115 +49 230 115 +82 222 123 +98 222 131 +115 222 131 +131 222 131 +148 222 131 +164 222 131 +180 222 131 +197 222 131 +205 222 131 +222 222 131 +238 222 131 +255 222 139 +255 222 148 +0 255 115 +32 246 115 +65 238 123 +82 238 123 +98 238 131 +115 238 131 +131 238 131 +148 238 131 +164 238 131 +180 238 131 +197 238 131 +205 238 131 +222 238 131 +238 238 131 +255 238 139 +255 230 148 +16 255 115 +49 255 123 +65 255 123 +82 255 131 +98 255 131 +123 255 131 +139 255 139 +156 255 139 +164 255 139 +180 255 139 +197 255 139 +213 255 139 +222 255 139 +238 255 139 +255 255 139 +255 246 148 +49 255 123 +65 255 131 +82 255 131 +98 255 139 +115 255 139 +131 255 139 +148 255 148 +156 255 148 +172 255 148 +180 255 148 +197 255 148 +213 255 148 +222 255 148 +238 255 148 +246 255 148 +255 255 148 diff --git a/graphics/misc/sunny_day/39.pal b/graphics/misc/sunny_day/39.pal new file mode 100644 index 0000000000..b98692692b --- /dev/null +++ b/graphics/misc/sunny_day/39.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 156 +16 0 156 +41 0 156 +65 0 156 +90 0 156 +115 0 156 +139 0 156 +156 0 156 +180 0 156 +197 0 156 +213 0 148 +230 0 148 +246 0 139 +255 0 139 +255 16 139 +255 49 148 +0 24 156 +16 16 156 +41 16 156 +65 16 156 +90 16 156 +106 16 156 +131 16 156 +156 16 156 +172 16 156 +189 16 148 +213 16 148 +230 16 139 +246 16 139 +246 32 139 +255 49 148 +255 65 148 +0 49 156 +16 41 156 +41 41 156 +57 41 156 +82 41 156 +106 41 156 +131 41 156 +156 41 156 +172 32 148 +189 32 148 +205 32 148 +222 41 139 +230 49 139 +238 65 148 +255 65 148 +255 82 148 +0 65 156 +16 65 156 +41 57 156 +57 57 148 +82 57 148 +106 57 148 +131 57 148 +148 57 148 +172 57 148 +189 57 139 +205 57 139 +213 65 139 +222 82 148 +238 82 148 +255 82 148 +255 98 148 +0 90 156 +16 90 156 +41 82 156 +57 82 148 +74 74 148 +98 74 148 +123 74 148 +148 74 148 +164 74 148 +180 74 139 +197 82 139 +205 98 148 +222 98 148 +238 98 148 +255 98 148 +255 115 156 +0 115 156 +16 106 156 +41 106 156 +57 106 148 +74 98 148 +98 98 148 +123 98 148 +148 98 148 +164 98 139 +180 98 139 +197 106 139 +205 115 148 +222 115 148 +238 115 148 +255 123 148 +255 131 156 +0 139 156 +16 131 156 +41 131 156 +57 131 148 +74 123 148 +98 123 148 +115 115 148 +148 115 148 +156 115 139 +180 123 139 +197 123 139 +205 131 148 +222 131 148 +238 131 148 +255 139 156 +255 148 156 +0 156 156 +16 156 156 +41 156 156 +57 148 148 +74 148 148 +98 148 148 +115 148 148 +139 131 131 +164 139 139 +180 139 139 +197 148 148 +205 148 148 +222 148 148 +238 148 148 +255 156 156 +255 164 164 +0 180 156 +16 172 148 +32 172 148 +57 172 148 +74 164 148 +98 164 139 +115 156 139 +139 164 139 +164 164 139 +180 164 139 +197 156 148 +205 164 148 +222 164 148 +238 164 148 +255 164 156 +255 172 164 +0 197 148 +16 189 148 +32 189 148 +57 189 139 +74 180 139 +98 180 139 +123 180 139 +139 180 139 +164 180 139 +180 180 139 +197 172 148 +205 180 148 +222 180 148 +238 180 148 +255 180 156 +255 189 164 +0 213 148 +16 213 139 +32 205 139 +57 205 139 +82 197 139 +106 197 139 +123 197 139 +148 197 148 +164 197 148 +180 197 148 +197 197 148 +205 197 148 +222 189 148 +238 197 148 +255 197 156 +255 197 164 +0 230 139 +16 230 139 +41 222 139 +65 213 139 +98 205 139 +115 205 139 +131 205 148 +148 205 148 +164 205 148 +180 205 148 +197 205 148 +205 205 148 +222 205 148 +238 205 148 +255 205 156 +255 213 164 +0 246 139 +16 246 139 +49 230 139 +82 222 139 +98 222 139 +115 222 148 +131 222 148 +148 222 148 +164 222 148 +180 222 148 +197 222 148 +205 222 148 +222 222 148 +238 222 148 +255 222 156 +255 222 164 +0 255 139 +32 246 139 +65 238 139 +82 238 139 +98 238 139 +115 238 148 +131 238 148 +148 238 148 +164 238 148 +180 238 148 +197 238 148 +205 238 148 +222 238 148 +238 238 148 +255 238 156 +255 238 164 +16 255 139 +49 255 139 +65 255 139 +82 255 139 +98 255 148 +123 255 148 +139 255 148 +156 255 156 +172 255 156 +180 255 156 +197 255 156 +213 255 156 +222 255 156 +238 255 156 +255 255 156 +255 246 164 +49 255 139 +65 255 148 +82 255 148 +98 255 148 +115 255 156 +131 255 156 +148 255 156 +164 255 164 +180 255 164 +189 255 164 +197 255 164 +213 255 164 +222 255 164 +238 255 164 +246 255 164 +255 255 164 diff --git a/graphics/misc/sunny_day/4.pal b/graphics/misc/sunny_day/4.pal new file mode 100644 index 0000000000..2c72d05af9 --- /dev/null +++ b/graphics/misc/sunny_day/4.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 74 +24 8 74 +41 8 74 +57 8 74 +74 8 74 +90 8 74 +106 8 74 +139 0 82 +156 0 74 +172 0 74 +189 0 74 +205 0 74 +222 0 74 +238 0 74 +255 0 74 +255 24 90 +8 24 74 +24 24 74 +41 24 74 +57 24 74 +74 24 74 +90 24 74 +115 16 82 +131 16 74 +156 16 74 +172 16 74 +189 16 74 +205 16 74 +222 16 74 +238 16 74 +246 32 82 +255 41 90 +8 41 74 +24 41 74 +41 41 74 +57 41 74 +74 41 74 +98 41 82 +115 41 74 +131 41 74 +148 32 74 +172 32 74 +189 32 74 +205 32 74 +222 32 74 +230 49 82 +246 49 82 +255 57 90 +8 57 74 +24 57 74 +41 57 74 +57 57 74 +74 57 74 +98 57 74 +115 57 74 +131 57 74 +148 57 74 +164 57 74 +189 49 74 +205 57 74 +213 65 82 +230 65 82 +246 65 90 +255 74 90 +8 74 74 +24 74 74 +41 74 74 +57 74 74 +74 74 74 +98 74 74 +115 74 74 +131 74 74 +148 74 74 +164 74 74 +180 74 74 +197 82 82 +213 82 82 +230 82 82 +246 82 82 +255 90 90 +8 90 74 +24 90 74 +41 98 74 +57 98 74 +74 98 74 +98 98 74 +115 90 74 +131 90 74 +148 90 74 +164 90 74 +180 90 74 +197 98 82 +213 98 82 +230 98 82 +246 98 82 +255 106 90 +8 106 74 +16 115 74 +41 115 74 +57 115 74 +74 115 74 +90 115 74 +115 115 74 +131 115 74 +148 115 74 +164 106 74 +180 106 74 +197 115 82 +213 115 82 +230 115 82 +246 115 82 +255 123 90 +0 139 74 +16 131 74 +41 131 74 +57 131 74 +74 131 74 +90 131 74 +115 131 74 +131 131 74 +148 131 74 +164 131 74 +180 131 74 +197 131 82 +213 131 82 +230 131 82 +246 131 82 +255 139 90 +0 156 74 +16 156 74 +32 148 74 +57 148 74 +74 148 74 +90 148 74 +115 148 74 +131 148 74 +148 148 74 +164 148 74 +180 148 74 +197 148 82 +213 148 82 +230 148 82 +246 148 82 +255 148 90 +0 172 74 +16 172 74 +32 172 74 +57 164 74 +74 164 74 +90 164 74 +106 164 74 +131 164 74 +148 164 74 +164 164 74 +180 164 74 +197 164 82 +213 164 82 +230 164 82 +246 164 82 +255 164 90 +0 189 74 +16 189 74 +32 189 74 +49 189 74 +74 180 74 +90 180 74 +106 180 74 +131 180 74 +148 180 74 +164 180 74 +180 180 74 +197 180 82 +213 180 82 +230 180 82 +246 180 82 +255 180 90 +0 205 74 +16 205 65 +32 205 74 +57 205 74 +82 197 82 +98 197 82 +115 197 82 +131 197 82 +148 197 82 +164 197 82 +180 197 82 +197 197 82 +213 197 82 +230 197 82 +246 197 82 +255 197 90 +0 222 65 +16 222 74 +32 222 65 +65 213 82 +82 213 82 +98 213 82 +115 213 82 +131 213 82 +148 213 82 +164 213 82 +180 213 82 +197 213 82 +213 213 82 +230 213 82 +246 213 82 +255 213 90 +0 238 74 +16 238 74 +49 230 82 +65 230 82 +82 230 82 +98 230 82 +123 230 82 +131 230 82 +148 230 82 +172 230 82 +180 230 82 +197 230 82 +213 230 82 +230 230 82 +246 230 82 +255 222 90 +0 255 74 +32 246 82 +49 246 82 +65 246 82 +82 246 82 +98 246 82 +115 246 82 +131 246 82 +148 246 82 +164 246 82 +180 246 82 +197 246 82 +213 246 82 +230 246 82 +246 246 82 +255 238 90 +24 255 82 +41 255 82 +57 255 90 +74 255 90 +90 255 90 +106 255 90 +123 255 90 +139 255 90 +156 255 90 +172 255 90 +180 255 90 +197 255 90 +213 255 90 +230 255 90 +246 255 90 +255 255 90 diff --git a/graphics/misc/sunny_day/40.pal b/graphics/misc/sunny_day/40.pal new file mode 100644 index 0000000000..68c85cefd2 --- /dev/null +++ b/graphics/misc/sunny_day/40.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 180 +16 0 180 +41 0 180 +65 0 180 +90 0 180 +106 0 180 +131 0 180 +156 0 180 +180 0 180 +197 0 172 +213 0 172 +230 0 164 +246 0 164 +255 0 156 +255 16 156 +255 49 156 +0 24 180 +16 16 172 +41 16 172 +65 16 172 +82 16 172 +106 16 172 +123 16 172 +148 16 172 +172 16 172 +189 16 172 +213 16 172 +230 16 164 +246 16 164 +246 32 156 +255 49 164 +255 65 164 +0 41 180 +16 41 172 +32 32 172 +57 32 172 +82 32 172 +106 32 172 +123 32 172 +148 32 172 +172 32 172 +189 32 172 +205 32 164 +222 41 164 +230 49 156 +238 65 164 +255 65 164 +255 82 164 +0 65 180 +16 65 172 +32 57 172 +57 57 172 +74 57 172 +98 57 172 +123 57 172 +148 57 172 +172 57 172 +189 57 164 +205 57 164 +213 65 156 +222 82 164 +238 82 164 +255 82 164 +255 98 164 +0 90 180 +16 82 172 +32 82 172 +57 82 172 +74 74 164 +98 74 164 +123 74 164 +148 74 164 +164 74 164 +180 74 164 +197 82 156 +205 98 164 +222 98 164 +238 98 164 +255 98 164 +255 115 164 +0 115 180 +16 106 172 +32 106 172 +57 98 172 +74 98 164 +98 98 164 +115 98 164 +139 98 164 +164 98 164 +180 98 156 +197 106 164 +205 115 164 +222 115 164 +238 115 164 +255 123 164 +255 131 172 +0 131 180 +16 131 172 +32 123 172 +57 123 172 +74 123 164 +98 115 164 +115 115 156 +139 115 156 +156 115 156 +180 123 164 +197 123 164 +205 131 164 +222 131 164 +238 131 164 +255 139 164 +255 148 172 +0 156 180 +16 156 172 +32 148 172 +57 148 172 +74 148 164 +98 139 164 +115 139 156 +139 139 164 +164 139 164 +180 139 164 +197 148 164 +205 148 164 +222 148 164 +238 148 164 +255 156 172 +255 164 180 +0 180 180 +16 172 172 +32 172 172 +57 172 172 +74 164 164 +98 164 164 +115 156 156 +139 164 164 +164 156 156 +180 156 156 +197 164 164 +213 164 164 +222 164 164 +238 164 164 +255 172 172 +255 189 189 +0 197 172 +16 189 172 +32 189 164 +57 189 164 +74 180 164 +98 180 156 +123 180 156 +139 180 164 +156 180 156 +180 180 156 +197 180 164 +213 180 164 +222 180 164 +238 180 164 +255 180 172 +255 197 189 +0 213 164 +16 213 164 +32 205 164 +57 205 156 +82 197 156 +106 197 156 +123 197 164 +148 197 156 +164 197 164 +180 197 164 +197 197 164 +213 197 164 +222 197 164 +238 197 164 +255 197 172 +255 213 189 +0 230 164 +16 230 164 +41 222 156 +65 213 156 +98 205 156 +115 205 164 +131 205 156 +148 205 164 +164 213 164 +180 213 164 +197 213 164 +213 213 164 +222 205 164 +238 205 164 +255 213 172 +255 222 189 +0 246 156 +16 246 156 +49 230 156 +82 222 156 +98 222 164 +115 222 156 +131 222 164 +148 222 164 +164 222 164 +180 222 164 +197 222 164 +205 222 164 +222 222 164 +238 222 164 +255 222 172 +255 230 189 +0 255 156 +32 246 156 +65 238 156 +82 238 164 +98 238 156 +115 238 164 +131 238 164 +148 238 164 +164 238 164 +180 238 164 +197 238 164 +213 238 164 +222 238 164 +238 238 164 +255 238 172 +255 238 189 +16 255 156 +49 255 156 +65 255 164 +82 255 164 +98 255 156 +123 255 164 +139 255 164 +156 255 164 +172 255 172 +180 255 172 +197 255 172 +213 255 172 +222 255 172 +238 255 172 +255 255 172 +255 246 189 +49 255 156 +65 255 164 +82 255 156 +98 255 164 +115 255 164 +131 255 164 +148 255 172 +164 255 172 +189 255 189 +205 255 189 +213 255 189 +222 255 189 +230 255 189 +238 255 189 +246 255 189 +255 255 189 diff --git a/graphics/misc/sunny_day/41.pal b/graphics/misc/sunny_day/41.pal new file mode 100644 index 0000000000..121a39ad3c --- /dev/null +++ b/graphics/misc/sunny_day/41.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 197 +16 0 197 +41 0 197 +57 0 197 +82 0 197 +106 0 197 +123 0 197 +148 0 197 +172 0 197 +197 0 197 +213 0 189 +230 0 189 +246 0 180 +255 0 180 +255 16 172 +255 49 172 +0 16 197 +16 16 189 +41 16 189 +57 16 189 +82 16 189 +106 16 189 +123 16 189 +148 16 189 +172 16 189 +189 16 189 +213 16 189 +230 16 189 +246 16 180 +246 32 172 +255 49 172 +255 65 180 +0 41 197 +16 41 189 +32 32 189 +57 32 189 +82 32 189 +98 32 189 +123 32 189 +148 32 189 +164 32 189 +189 32 189 +205 32 189 +222 41 180 +230 49 172 +238 65 172 +255 65 172 +255 82 180 +0 65 197 +16 57 189 +32 57 189 +57 57 189 +74 57 189 +98 57 189 +123 57 189 +139 57 189 +164 57 189 +189 57 189 +205 57 180 +213 65 172 +222 82 172 +238 82 172 +255 82 180 +255 98 180 +0 82 197 +16 82 189 +32 82 189 +57 74 189 +74 74 180 +98 74 180 +115 74 180 +139 74 180 +164 74 180 +180 74 180 +197 82 172 +205 98 172 +222 98 180 +238 98 180 +255 98 180 +255 115 180 +0 106 197 +16 106 189 +32 98 189 +57 98 189 +74 98 180 +98 98 180 +115 98 180 +139 98 180 +156 98 180 +180 98 180 +197 106 180 +205 115 172 +222 115 180 +238 115 180 +255 123 180 +255 131 180 +0 131 197 +16 131 189 +32 123 189 +57 123 189 +74 123 180 +98 115 180 +123 123 180 +139 123 180 +156 123 180 +180 123 180 +197 123 180 +205 131 180 +222 131 180 +238 131 180 +255 139 180 +255 148 180 +0 156 197 +16 148 189 +32 148 189 +57 139 189 +74 139 180 +98 139 180 +123 139 180 +139 139 180 +164 139 180 +180 139 180 +197 148 180 +205 148 180 +222 148 180 +238 148 180 +255 156 180 +255 164 189 +0 172 197 +16 172 189 +32 172 189 +57 164 189 +74 164 180 +98 156 180 +123 164 180 +139 164 180 +156 156 180 +180 156 180 +197 164 180 +213 164 180 +222 164 180 +238 164 180 +255 172 180 +255 189 205 +0 197 197 +16 189 189 +32 189 189 +57 189 189 +74 180 180 +98 180 180 +123 180 180 +139 180 180 +156 180 180 +180 172 172 +197 172 172 +213 180 180 +222 180 180 +238 180 180 +255 197 197 +255 205 205 +0 213 189 +16 213 189 +32 205 189 +57 205 180 +82 197 172 +106 197 172 +123 197 180 +148 197 172 +164 197 180 +172 197 172 +197 197 172 +213 197 180 +222 197 180 +238 197 180 +255 205 197 +255 213 205 +0 230 180 +16 230 180 +41 222 180 +65 213 172 +98 205 172 +115 205 172 +131 205 172 +148 205 180 +164 213 180 +180 213 180 +197 213 180 +213 213 180 +222 205 180 +238 213 180 +255 222 197 +255 222 205 +0 246 180 +16 246 180 +49 230 172 +82 222 172 +98 222 172 +115 222 172 +131 222 180 +148 222 180 +164 222 180 +180 222 180 +197 222 180 +213 222 180 +222 222 180 +238 222 180 +255 230 197 +255 230 205 +0 255 180 +32 246 172 +65 238 172 +82 238 172 +98 238 172 +115 238 180 +131 238 180 +148 238 180 +164 238 180 +180 238 180 +197 238 180 +213 238 180 +222 238 180 +238 238 180 +255 238 197 +255 238 205 +16 255 172 +49 255 172 +65 255 172 +82 255 172 +98 255 180 +123 255 180 +139 255 180 +156 255 180 +172 255 180 +197 255 197 +205 255 197 +222 255 197 +230 255 197 +238 255 197 +255 255 197 +255 246 205 +49 255 172 +65 255 172 +82 255 172 +98 255 180 +115 255 180 +131 255 180 +148 255 180 +164 255 189 +189 255 197 +205 255 205 +213 255 205 +222 255 205 +230 255 205 +238 255 205 +246 255 205 +255 255 205 diff --git a/graphics/misc/sunny_day/42.pal b/graphics/misc/sunny_day/42.pal new file mode 100644 index 0000000000..534316abf6 --- /dev/null +++ b/graphics/misc/sunny_day/42.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 213 +16 0 213 +32 0 213 +57 0 213 +82 0 213 +106 0 213 +123 0 213 +148 0 213 +164 0 213 +189 0 213 +213 0 213 +230 0 213 +246 0 205 +255 0 197 +255 16 189 +255 49 189 +0 16 213 +16 16 213 +32 16 213 +57 16 213 +74 16 213 +98 16 213 +123 16 213 +139 16 213 +164 16 213 +189 16 213 +213 16 213 +230 16 205 +246 16 205 +246 32 189 +255 49 197 +255 65 189 +0 41 213 +16 32 213 +32 32 205 +57 32 205 +74 32 205 +98 32 205 +123 32 205 +139 32 205 +164 32 205 +189 32 205 +205 32 205 +222 41 205 +230 49 189 +238 65 189 +255 65 189 +255 82 189 +0 57 213 +16 57 213 +32 57 205 +57 57 205 +74 57 205 +98 57 205 +115 57 205 +139 57 205 +156 57 205 +180 57 205 +205 57 205 +213 65 197 +222 82 189 +238 82 189 +255 82 189 +255 98 189 +0 82 213 +16 82 213 +32 74 205 +57 74 205 +82 82 197 +98 82 197 +115 82 197 +139 82 197 +156 82 197 +172 82 197 +197 82 197 +205 98 197 +222 98 189 +238 98 189 +255 98 189 +255 115 197 +0 106 213 +16 106 213 +32 98 205 +57 98 205 +82 98 197 +106 106 197 +123 106 197 +139 106 197 +156 106 197 +172 106 197 +197 106 197 +205 115 189 +222 115 189 +238 115 197 +255 123 197 +255 131 197 +0 123 213 +16 123 213 +32 123 205 +57 123 205 +82 123 197 +106 123 197 +123 123 197 +139 123 197 +164 123 197 +180 123 197 +197 123 197 +205 131 189 +222 131 197 +238 131 197 +255 139 197 +255 148 197 +0 148 213 +16 148 213 +32 148 205 +57 139 205 +82 139 197 +106 139 197 +123 139 197 +148 148 197 +156 148 197 +172 148 197 +197 148 197 +205 148 197 +222 148 197 +238 148 197 +255 156 197 +255 164 197 +0 172 213 +16 172 213 +32 164 205 +57 164 205 +82 156 197 +106 164 197 +123 164 197 +148 164 197 +164 164 197 +180 164 197 +197 164 197 +213 164 197 +222 164 197 +238 164 197 +255 172 197 +255 189 213 +0 189 213 +16 189 213 +32 189 205 +57 180 205 +82 172 197 +106 180 197 +123 180 197 +148 180 197 +164 180 197 +172 172 197 +197 172 197 +213 180 197 +222 180 197 +238 180 197 +255 197 205 +255 205 213 +0 213 213 +16 213 213 +32 205 205 +57 205 205 +82 197 197 +106 197 197 +123 197 197 +148 197 197 +164 197 197 +172 197 197 +197 189 189 +213 197 197 +230 197 197 +238 205 205 +255 213 213 +255 222 222 +0 230 205 +16 230 205 +41 222 197 +65 213 189 +98 205 189 +115 205 189 +131 205 189 +148 205 197 +164 213 197 +180 213 197 +197 213 197 +213 213 197 +230 213 197 +238 222 205 +255 222 213 +255 230 222 +0 246 197 +16 246 197 +49 230 189 +82 222 189 +98 222 189 +115 222 189 +131 222 189 +148 222 189 +164 222 197 +180 222 197 +197 230 197 +213 230 197 +230 230 197 +238 230 205 +255 230 213 +255 238 222 +0 255 197 +32 246 189 +65 238 189 +82 238 189 +98 238 189 +115 238 189 +131 238 189 +148 238 197 +164 238 197 +180 238 197 +205 238 205 +222 238 205 +230 238 205 +238 238 205 +255 246 213 +255 246 222 +16 255 189 +49 255 189 +65 255 189 +82 255 189 +98 255 189 +123 255 189 +139 255 197 +156 255 197 +172 255 197 +197 255 205 +213 255 213 +222 255 213 +230 255 213 +246 255 213 +255 255 213 +255 255 222 +49 255 180 +65 255 189 +82 255 189 +98 255 189 +115 255 189 +131 255 197 +148 255 197 +164 255 197 +189 255 213 +205 255 213 +222 255 222 +230 255 222 +238 255 222 +246 255 222 +255 255 222 +255 255 222 diff --git a/graphics/misc/sunny_day/43.pal b/graphics/misc/sunny_day/43.pal new file mode 100644 index 0000000000..8fc1e0fb45 --- /dev/null +++ b/graphics/misc/sunny_day/43.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 230 +16 0 230 +32 0 230 +57 0 230 +74 0 230 +98 0 230 +123 0 230 +139 0 230 +164 0 230 +180 0 230 +205 0 230 +230 0 230 +246 0 230 +255 0 222 +255 16 213 +255 49 205 +0 16 230 +16 16 230 +32 16 230 +49 16 230 +74 16 230 +98 16 230 +123 16 230 +139 16 230 +164 16 230 +180 16 230 +205 16 230 +230 16 230 +246 16 222 +246 32 213 +255 49 205 +255 65 205 +0 41 230 +16 32 230 +41 41 222 +57 41 222 +74 41 222 +98 41 222 +115 41 222 +139 41 222 +156 41 222 +180 41 222 +197 41 222 +222 41 222 +230 49 213 +238 65 205 +255 65 205 +255 82 205 +0 65 230 +16 57 230 +41 57 222 +65 65 213 +82 65 213 +98 65 213 +115 65 213 +139 65 213 +156 65 213 +172 65 213 +189 65 213 +213 65 213 +222 82 213 +238 82 205 +255 82 205 +255 98 205 +0 82 230 +16 74 230 +41 82 222 +65 82 213 +98 98 205 +115 98 205 +131 98 205 +139 98 205 +156 98 205 +172 98 205 +189 98 205 +205 98 205 +222 98 205 +238 98 205 +255 98 205 +255 115 205 +0 106 230 +16 98 230 +41 98 222 +65 98 213 +98 115 205 +115 115 205 +123 115 205 +139 115 205 +164 115 205 +172 115 205 +189 115 205 +205 115 205 +222 115 213 +238 115 205 +255 123 205 +255 131 205 +0 123 230 +16 123 230 +41 123 222 +65 123 213 +98 131 205 +115 131 205 +131 131 205 +148 131 205 +156 131 205 +172 131 205 +189 131 205 +205 131 205 +222 131 205 +238 131 205 +255 139 213 +255 148 213 +0 148 230 +16 139 230 +41 139 222 +65 139 213 +98 148 205 +115 148 205 +131 148 205 +148 148 205 +164 148 205 +180 148 205 +197 148 205 +205 148 205 +222 148 205 +238 148 205 +255 156 213 +255 164 213 +0 164 230 +16 164 230 +41 164 222 +65 156 213 +98 164 205 +115 164 205 +131 164 205 +148 164 205 +164 164 213 +180 164 213 +197 164 213 +213 164 213 +222 164 205 +238 164 213 +255 172 213 +255 189 222 +0 189 230 +16 189 230 +41 180 222 +65 172 213 +98 172 205 +115 172 205 +131 180 205 +148 180 205 +164 180 213 +180 180 213 +197 180 213 +213 180 213 +222 180 213 +238 180 213 +255 197 222 +255 205 222 +0 213 230 +16 205 230 +41 205 222 +65 197 213 +98 197 205 +115 189 205 +131 189 205 +148 197 205 +164 197 213 +180 197 213 +197 197 213 +213 197 213 +230 197 213 +238 205 222 +255 213 222 +255 222 230 +0 230 230 +16 230 230 +41 222 222 +65 213 213 +98 205 205 +115 205 205 +131 205 205 +148 205 205 +164 213 213 +180 213 213 +197 213 213 +213 213 213 +230 222 222 +246 222 222 +255 230 230 +255 238 238 +0 246 222 +16 246 222 +49 230 205 +82 222 205 +98 222 205 +115 222 205 +131 222 205 +148 222 205 +164 222 205 +180 222 205 +197 230 213 +222 230 222 +230 230 222 +246 230 222 +255 238 230 +255 246 238 +0 255 213 +32 246 205 +65 238 205 +82 238 205 +98 238 205 +115 238 205 +131 238 205 +148 238 205 +164 238 205 +180 238 213 +205 238 222 +222 246 222 +230 246 222 +246 246 222 +255 246 230 +255 246 238 +16 255 205 +49 255 205 +65 255 205 +82 255 205 +98 255 205 +123 255 205 +139 255 205 +156 255 205 +172 255 213 +197 255 222 +213 255 222 +230 255 230 +238 255 230 +246 255 230 +255 255 230 +255 255 238 +49 255 197 +65 255 197 +82 255 205 +98 255 205 +115 255 205 +131 255 205 +148 255 205 +164 255 213 +189 255 222 +205 255 222 +222 255 230 +238 255 238 +246 255 238 +246 255 238 +255 255 238 +255 255 238 diff --git a/graphics/misc/sunny_day/44.pal b/graphics/misc/sunny_day/44.pal new file mode 100644 index 0000000000..3ee3d99703 --- /dev/null +++ b/graphics/misc/sunny_day/44.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 246 +16 0 246 +32 0 246 +57 0 246 +74 0 246 +98 0 246 +123 0 246 +139 0 246 +156 0 246 +180 0 246 +197 0 246 +222 0 246 +246 0 246 +255 0 238 +255 16 230 +255 49 213 +0 16 246 +16 16 246 +32 16 246 +57 16 246 +74 16 246 +98 16 246 +115 16 246 +139 16 246 +156 16 246 +180 16 246 +197 16 246 +222 16 246 +246 16 246 +246 32 230 +255 49 222 +255 65 222 +0 41 246 +16 41 246 +49 49 230 +65 49 230 +82 49 230 +98 49 230 +115 49 230 +139 49 230 +156 49 230 +172 49 230 +189 49 230 +205 49 230 +230 49 230 +238 65 222 +255 65 222 +255 82 213 +0 57 246 +16 57 246 +49 65 230 +82 82 222 +90 82 222 +115 82 222 +123 82 222 +139 82 222 +156 82 222 +172 82 222 +189 82 222 +205 82 222 +222 82 222 +238 82 222 +255 82 222 +255 98 222 +0 82 246 +16 82 246 +49 82 230 +82 98 222 +98 98 222 +115 98 222 +131 98 222 +139 98 222 +164 98 222 +172 98 222 +189 98 222 +205 98 222 +222 98 222 +238 98 222 +255 98 222 +255 115 222 +0 98 246 +16 98 246 +49 98 230 +82 115 222 +98 115 222 +115 115 222 +131 115 222 +148 115 222 +156 115 222 +172 115 222 +189 115 222 +205 115 222 +222 115 222 +238 115 222 +255 123 222 +255 131 222 +0 123 246 +16 123 246 +49 123 230 +82 131 222 +98 131 222 +115 131 222 +131 131 222 +148 131 222 +164 131 222 +180 131 222 +189 131 222 +205 131 222 +222 131 222 +238 131 222 +255 139 222 +255 148 222 +0 139 246 +16 139 246 +49 139 230 +82 148 222 +98 148 222 +115 148 222 +131 148 222 +148 148 222 +164 148 222 +180 148 222 +189 148 222 +205 148 222 +222 148 222 +238 148 222 +255 156 222 +255 164 222 +0 164 246 +16 164 246 +49 156 230 +82 164 222 +98 164 222 +115 164 222 +131 164 222 +148 164 222 +164 164 222 +180 164 222 +197 164 222 +205 164 222 +222 164 222 +238 164 222 +255 172 222 +255 189 230 +0 180 246 +16 180 246 +49 172 230 +82 172 222 +98 180 222 +115 180 222 +131 180 222 +148 180 222 +164 180 222 +180 180 222 +197 180 222 +205 180 222 +222 180 222 +238 180 222 +255 197 230 +255 205 230 +0 205 246 +16 205 246 +49 189 230 +82 189 222 +98 189 222 +115 189 222 +131 197 222 +148 197 222 +164 197 222 +180 197 222 +197 197 230 +213 197 230 +230 197 230 +238 205 230 +255 213 230 +255 222 238 +0 230 246 +16 222 246 +49 213 230 +82 213 222 +98 205 222 +115 213 222 +131 205 222 +148 205 222 +164 205 222 +180 213 222 +197 213 230 +222 222 230 +230 222 230 +246 222 230 +255 230 238 +255 238 246 +0 246 246 +16 246 246 +49 230 230 +82 222 222 +98 222 222 +115 222 222 +131 222 222 +148 222 222 +164 222 222 +180 222 222 +197 230 230 +222 230 230 +238 230 230 +246 238 238 +255 246 246 +255 255 255 +0 255 238 +32 246 222 +65 238 222 +82 238 222 +98 238 222 +115 238 222 +131 238 222 +148 238 222 +164 238 222 +180 238 222 +205 238 230 +222 246 230 +238 246 238 +246 246 238 +255 246 246 +255 255 255 +16 255 222 +49 255 222 +65 255 222 +82 255 222 +98 255 222 +123 255 222 +139 255 222 +156 255 222 +172 255 222 +197 255 230 +213 255 230 +230 255 238 +246 255 246 +246 255 246 +255 255 246 +255 255 255 +49 255 213 +65 255 213 +82 255 213 +98 255 222 +115 255 213 +131 255 222 +148 255 222 +164 255 222 +189 255 230 +205 255 230 +222 255 238 +238 255 246 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/45.pal b/graphics/misc/sunny_day/45.pal new file mode 100644 index 0000000000..f63f8a7b47 --- /dev/null +++ b/graphics/misc/sunny_day/45.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 255 +16 0 255 +41 0 255 +57 0 255 +82 0 255 +98 0 255 +115 0 255 +139 0 255 +156 0 255 +180 0 255 +197 0 255 +213 0 255 +238 0 255 +255 0 255 +255 16 246 +255 49 230 +0 24 255 +32 32 246 +41 32 246 +65 32 246 +82 32 246 +98 32 246 +115 32 246 +139 32 246 +156 32 246 +172 32 246 +189 32 246 +205 32 246 +222 32 246 +246 32 246 +255 49 238 +255 65 230 +0 41 255 +32 49 246 +65 65 238 +82 65 238 +90 65 238 +115 65 238 +123 65 238 +139 65 238 +156 65 238 +172 65 238 +189 65 238 +205 65 238 +222 65 238 +238 65 238 +255 65 238 +255 82 230 +0 57 255 +32 65 246 +65 82 238 +82 82 238 +98 82 238 +115 82 238 +123 82 238 +139 82 238 +164 82 238 +172 82 238 +189 82 238 +205 82 238 +222 82 238 +238 82 238 +255 82 238 +255 98 230 +0 82 255 +32 82 246 +65 98 238 +82 98 238 +98 98 238 +115 98 238 +131 98 238 +139 98 238 +156 98 238 +172 98 238 +189 98 238 +205 98 238 +222 98 238 +238 98 238 +255 98 238 +255 115 230 +0 98 255 +32 98 246 +65 115 238 +82 115 238 +98 115 238 +115 115 238 +131 115 238 +148 115 238 +164 115 238 +180 115 238 +189 115 238 +205 115 238 +222 115 238 +238 115 238 +255 123 238 +255 131 230 +0 123 255 +32 123 246 +65 131 238 +82 131 238 +98 131 238 +115 131 238 +131 131 238 +148 131 238 +164 131 238 +180 131 238 +189 131 238 +205 131 238 +222 131 238 +238 131 238 +255 139 238 +255 148 238 +0 139 255 +32 139 246 +65 148 238 +82 148 238 +98 148 238 +115 148 238 +131 148 238 +148 148 238 +164 148 238 +180 148 238 +197 148 238 +205 148 238 +222 148 238 +238 148 238 +255 156 238 +255 164 238 +0 156 255 +32 156 246 +65 164 238 +82 164 238 +98 164 238 +115 164 238 +131 164 238 +148 164 238 +164 164 238 +180 164 238 +197 164 238 +205 164 238 +222 164 238 +238 164 238 +255 172 238 +255 189 238 +0 180 255 +32 172 246 +65 172 238 +82 172 238 +98 180 238 +115 180 238 +131 180 238 +148 180 238 +164 180 238 +180 180 238 +197 180 238 +213 180 238 +222 180 238 +238 180 238 +255 197 238 +255 205 238 +0 197 255 +32 189 246 +65 189 238 +82 189 238 +98 189 238 +115 197 238 +131 197 238 +148 197 238 +164 197 238 +180 197 238 +205 205 238 +222 205 238 +230 205 238 +238 205 238 +255 213 246 +255 222 246 +0 222 255 +32 213 246 +65 205 238 +82 205 238 +98 205 238 +115 205 238 +131 205 238 +148 205 238 +164 213 238 +180 213 238 +205 222 238 +222 222 246 +230 222 246 +246 222 246 +255 230 246 +255 238 246 +0 238 255 +32 230 246 +65 222 238 +82 222 238 +98 222 238 +115 222 238 +131 222 238 +148 222 238 +164 222 238 +180 222 238 +205 230 238 +222 230 246 +238 238 246 +246 238 246 +255 246 246 +255 255 255 +0 255 255 +32 246 246 +65 238 238 +82 238 238 +98 238 238 +115 238 238 +131 238 238 +148 238 238 +164 238 238 +180 238 238 +205 238 238 +222 246 246 +238 246 246 +255 246 246 +255 255 255 +255 255 255 +16 255 238 +49 255 238 +65 255 238 +82 255 238 +98 255 238 +123 255 238 +139 255 238 +156 255 238 +172 255 238 +197 255 238 +213 255 246 +230 255 246 +246 255 246 +255 255 255 +255 255 255 +255 255 255 +49 255 230 +65 255 230 +82 255 230 +98 255 230 +115 255 230 +131 255 230 +148 255 230 +164 255 238 +189 255 238 +205 255 238 +222 255 246 +238 255 246 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/46.pal b/graphics/misc/sunny_day/46.pal new file mode 100644 index 0000000000..856a0743ae --- /dev/null +++ b/graphics/misc/sunny_day/46.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +16 16 255 +32 16 255 +49 16 255 +65 16 255 +90 16 255 +98 16 255 +115 16 255 +139 16 255 +156 16 255 +172 16 255 +189 16 255 +205 16 255 +222 16 255 +238 16 255 +255 16 255 +255 49 246 +16 41 255 +49 49 255 +65 49 255 +82 49 255 +90 49 255 +115 49 255 +123 49 255 +139 49 255 +156 49 255 +172 49 255 +189 49 255 +205 49 255 +222 49 255 +238 49 255 +255 49 255 +255 65 246 +16 57 255 +49 65 255 +65 65 255 +82 65 255 +98 65 255 +115 65 255 +123 65 255 +139 65 255 +164 65 255 +172 65 255 +189 65 255 +205 65 255 +222 65 255 +238 65 255 +255 65 255 +255 82 246 +16 74 255 +49 82 255 +65 82 255 +82 82 255 +98 82 255 +115 82 255 +131 82 255 +139 82 255 +164 82 255 +172 82 255 +189 82 255 +205 82 255 +222 82 255 +238 82 255 +255 82 255 +255 98 246 +16 90 255 +49 98 255 +65 98 255 +82 98 255 +98 98 255 +115 98 255 +131 98 255 +148 98 255 +156 98 255 +180 98 255 +189 98 255 +205 98 255 +222 98 255 +238 98 255 +255 98 255 +255 115 246 +16 106 255 +49 115 255 +65 115 255 +82 115 255 +98 115 255 +123 123 255 +131 123 255 +148 123 255 +164 123 255 +180 123 255 +189 123 255 +205 123 255 +222 123 255 +238 123 255 +255 123 255 +255 131 246 +16 123 255 +49 131 255 +65 131 255 +82 131 255 +98 131 255 +123 131 255 +139 139 255 +148 139 255 +164 139 255 +180 139 255 +197 139 255 +205 139 255 +222 139 255 +238 139 255 +255 139 255 +255 148 246 +16 139 255 +49 148 255 +65 148 255 +82 148 255 +98 148 255 +123 148 255 +139 156 255 +156 156 255 +164 156 255 +180 156 255 +197 156 255 +205 156 255 +222 156 255 +238 156 255 +255 156 255 +255 164 246 +16 156 255 +49 164 255 +65 164 255 +82 164 255 +98 164 255 +123 164 255 +139 164 255 +156 172 255 +172 172 255 +180 172 255 +197 172 255 +213 172 255 +222 172 255 +238 172 255 +255 172 255 +255 189 246 +16 172 255 +49 172 255 +65 172 255 +82 180 255 +98 180 255 +123 180 255 +139 180 255 +156 180 255 +172 180 255 +197 197 255 +205 197 255 +222 197 255 +230 197 255 +238 197 255 +255 197 255 +255 205 246 +16 189 255 +49 197 255 +65 189 255 +82 189 255 +98 189 255 +123 197 255 +139 197 255 +156 197 255 +172 197 255 +197 205 255 +213 213 255 +222 213 255 +230 213 255 +246 213 255 +255 213 255 +255 222 255 +16 213 255 +49 205 255 +65 205 255 +82 205 255 +98 205 255 +123 205 255 +139 213 255 +156 213 255 +172 213 255 +197 222 255 +213 222 255 +230 230 255 +238 230 255 +246 230 255 +255 230 255 +255 238 255 +16 230 255 +49 222 255 +65 222 255 +82 222 255 +98 222 255 +123 222 255 +139 222 255 +156 222 255 +172 222 255 +197 230 255 +213 230 255 +230 238 255 +246 246 255 +246 246 255 +255 246 255 +255 255 255 +16 246 255 +49 238 255 +65 238 255 +82 238 255 +98 238 255 +123 238 255 +139 238 255 +156 238 255 +172 238 255 +197 238 255 +213 246 255 +230 246 255 +246 246 255 +255 255 255 +255 255 255 +255 255 255 +16 255 255 +49 255 255 +65 255 255 +82 255 255 +98 255 255 +123 255 255 +139 255 255 +156 255 255 +172 255 255 +197 255 255 +213 255 255 +230 255 255 +246 255 255 +255 255 255 +255 255 255 +255 255 255 +49 255 238 +65 255 246 +82 255 246 +98 255 246 +115 255 246 +131 255 246 +148 255 246 +164 255 246 +189 255 246 +205 255 246 +222 255 255 +238 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/47.pal b/graphics/misc/sunny_day/47.pal new file mode 100644 index 0000000000..1dfa69803a --- /dev/null +++ b/graphics/misc/sunny_day/47.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +49 49 255 +57 49 255 +74 49 255 +82 49 255 +98 49 255 +115 49 255 +123 49 255 +139 49 255 +156 49 255 +172 49 255 +180 49 255 +197 49 255 +213 49 255 +230 49 255 +238 49 255 +255 49 255 +49 57 255 +65 65 255 +74 65 255 +90 65 255 +98 65 255 +115 65 255 +131 65 255 +148 65 255 +164 65 255 +172 65 255 +189 65 255 +197 65 255 +213 65 255 +230 65 255 +246 65 255 +255 65 255 +49 74 255 +65 82 255 +82 82 255 +90 82 255 +106 82 255 +115 82 255 +131 82 255 +148 82 255 +156 82 255 +172 82 255 +189 82 255 +205 82 255 +213 82 255 +230 82 255 +246 82 255 +255 82 255 +49 90 255 +65 90 255 +82 90 255 +98 98 255 +106 98 255 +123 98 255 +139 98 255 +148 98 255 +164 98 255 +180 98 255 +189 98 255 +205 98 255 +222 98 255 +230 98 255 +246 98 255 +255 98 255 +49 98 255 +65 106 255 +82 106 255 +98 106 255 +115 115 255 +123 115 255 +139 115 255 +156 115 255 +164 115 255 +180 115 255 +189 115 255 +205 115 255 +213 115 255 +230 115 255 +246 115 255 +255 115 255 +49 115 255 +65 123 255 +82 123 255 +98 123 255 +115 131 255 +131 131 255 +139 131 255 +156 131 255 +164 131 255 +180 131 255 +197 131 255 +205 131 255 +222 131 255 +230 131 255 +246 131 255 +255 131 255 +49 131 255 +65 131 255 +82 139 255 +98 139 255 +115 139 255 +131 139 255 +148 148 255 +156 148 255 +172 148 255 +180 148 255 +197 148 255 +205 148 255 +222 148 255 +230 148 255 +246 148 255 +255 148 255 +49 148 255 +65 148 255 +82 148 255 +98 148 255 +115 156 255 +131 156 255 +148 156 255 +164 164 255 +172 164 255 +189 164 255 +197 164 255 +213 164 255 +222 164 255 +238 164 255 +246 164 255 +255 164 255 +49 156 255 +65 164 255 +82 164 255 +98 164 255 +115 164 255 +131 172 255 +148 172 255 +164 180 255 +189 189 255 +197 189 255 +213 189 255 +222 189 255 +230 189 255 +238 189 255 +246 189 255 +255 189 255 +49 172 255 +65 180 255 +82 180 255 +98 180 255 +115 180 255 +131 180 255 +148 180 255 +164 189 255 +189 205 255 +205 205 255 +213 205 255 +222 205 255 +230 205 255 +238 205 255 +246 205 255 +255 205 255 +49 189 255 +65 189 255 +82 189 255 +98 189 255 +115 197 255 +131 197 255 +148 197 255 +164 197 255 +189 213 255 +205 213 255 +222 222 255 +230 222 255 +238 222 255 +246 222 255 +255 222 255 +255 222 255 +49 205 255 +65 205 255 +82 205 255 +98 205 255 +115 205 255 +131 205 255 +148 213 255 +164 213 255 +189 222 255 +205 222 255 +222 230 255 +238 238 255 +246 238 255 +246 238 255 +255 238 255 +255 238 255 +49 213 255 +65 222 255 +82 213 255 +98 222 255 +115 222 255 +131 222 255 +148 222 255 +164 222 255 +189 230 255 +205 230 255 +222 238 255 +238 246 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +49 230 255 +65 230 255 +82 230 255 +98 230 255 +115 230 255 +131 230 255 +148 238 255 +164 238 255 +189 238 255 +205 238 255 +222 246 255 +238 246 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +49 246 255 +65 246 255 +82 246 255 +98 246 255 +115 246 255 +131 246 255 +148 246 255 +164 246 255 +189 246 255 +205 246 255 +222 255 255 +238 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +49 255 255 +65 255 255 +82 255 255 +98 255 255 +115 255 255 +131 255 255 +148 255 255 +164 255 255 +189 255 255 +205 255 255 +222 255 255 +238 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/48.pal b/graphics/misc/sunny_day/48.pal new file mode 100644 index 0000000000..06eb9906fc --- /dev/null +++ b/graphics/misc/sunny_day/48.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 8 +24 8 8 +41 8 8 +57 8 8 +74 8 8 +90 8 8 +106 8 8 +172 0 0 +189 0 0 +205 0 0 +222 0 0 +238 0 0 +255 0 0 +255 8 8 +255 24 24 +255 57 57 +8 24 8 +24 24 8 +41 24 8 +57 24 8 +74 24 8 +90 24 8 +106 24 8 +172 16 0 +189 16 0 +205 16 0 +222 16 0 +238 16 0 +255 16 0 +255 24 8 +255 41 24 +255 65 57 +8 41 8 +24 41 8 +41 41 8 +57 41 8 +74 41 8 +90 41 8 +106 41 8 +172 49 0 +189 41 0 +205 41 0 +222 41 0 +238 32 0 +255 32 0 +255 49 8 +255 57 24 +255 82 57 +8 57 8 +24 57 8 +41 57 8 +57 57 8 +74 57 8 +90 57 8 +106 57 8 +172 65 0 +189 65 0 +205 65 0 +222 57 0 +238 57 0 +255 57 0 +255 65 8 +255 74 24 +255 90 57 +8 74 8 +24 74 8 +41 74 8 +57 74 8 +74 74 8 +90 74 8 +106 74 8 +172 98 0 +189 90 0 +205 90 0 +222 82 0 +238 82 0 +255 82 0 +255 82 8 +255 90 24 +255 106 57 +8 90 8 +24 90 8 +41 90 8 +57 90 8 +74 90 8 +90 90 8 +106 90 8 +172 123 0 +189 115 0 +205 115 0 +222 106 0 +238 106 0 +255 98 0 +255 98 8 +255 106 24 +255 123 57 +8 106 8 +24 106 8 +41 106 8 +57 106 8 +74 106 8 +90 106 8 +106 106 8 +172 148 0 +189 139 0 +205 131 0 +222 131 0 +238 123 0 +255 123 0 +255 123 8 +255 123 24 +255 131 57 +0 172 0 +24 172 0 +49 172 0 +74 172 0 +98 172 0 +123 172 0 +148 172 0 +172 172 0 +189 164 0 +205 156 0 +222 148 0 +238 148 0 +255 148 0 +255 139 8 +255 139 24 +255 148 57 +0 189 0 +24 189 0 +41 189 0 +74 189 0 +90 189 0 +115 189 0 +139 189 0 +164 189 0 +189 189 0 +205 180 0 +222 172 0 +238 172 0 +255 164 0 +255 156 8 +255 156 24 +255 164 57 +0 205 0 +16 205 0 +41 205 0 +65 205 0 +90 205 0 +115 205 0 +139 205 0 +164 205 0 +189 205 0 +205 205 0 +222 197 0 +238 189 0 +255 189 0 +255 180 8 +255 172 24 +255 172 57 +0 222 0 +16 222 0 +41 222 0 +65 222 0 +90 222 0 +106 222 0 +131 222 0 +156 222 0 +180 222 0 +197 222 0 +222 222 0 +238 213 0 +255 205 0 +255 197 8 +255 189 24 +255 189 57 +0 238 0 +16 238 0 +41 238 0 +65 238 0 +82 238 0 +106 238 0 +131 238 0 +148 238 0 +172 238 0 +197 238 0 +222 238 0 +238 238 0 +255 230 0 +255 213 8 +255 205 24 +255 197 57 +0 255 0 +16 255 0 +41 255 0 +57 255 0 +82 255 0 +106 255 0 +123 255 0 +148 255 0 +172 255 0 +189 255 0 +213 255 0 +238 255 0 +255 255 0 +255 238 8 +255 222 24 +255 213 57 +8 255 8 +32 255 8 +49 255 8 +65 255 8 +90 255 8 +106 255 8 +123 255 8 +148 255 8 +164 255 8 +180 255 8 +197 255 8 +222 255 8 +238 255 8 +255 255 8 +255 238 24 +255 230 57 +24 255 24 +49 255 24 +65 255 24 +82 255 24 +98 255 24 +115 255 24 +131 255 24 +139 255 24 +164 255 24 +180 255 24 +197 255 24 +213 255 24 +230 255 24 +246 255 24 +255 255 24 +255 238 57 +57 255 57 +65 255 57 +82 255 57 +98 255 57 +106 255 57 +123 255 57 +139 255 57 +148 255 57 +164 255 57 +180 255 57 +189 255 57 +205 255 57 +222 255 57 +230 255 57 +246 255 57 +255 255 57 diff --git a/graphics/misc/sunny_day/49.pal b/graphics/misc/sunny_day/49.pal new file mode 100644 index 0000000000..0f477a389e --- /dev/null +++ b/graphics/misc/sunny_day/49.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 24 +24 8 24 +41 8 24 +57 8 24 +74 8 24 +90 8 24 +106 8 24 +172 0 24 +189 0 24 +205 0 16 +222 0 16 +238 0 16 +255 0 16 +255 8 32 +255 24 49 +255 57 65 +8 24 24 +24 24 24 +41 24 24 +57 24 24 +74 24 24 +90 24 24 +148 16 16 +164 16 16 +189 16 16 +205 16 16 +222 8 8 +246 8 8 +246 24 24 +246 41 41 +255 57 57 +255 74 74 +8 41 24 +24 41 24 +41 41 24 +57 41 24 +74 41 24 +90 41 24 +148 41 16 +164 41 16 +189 41 16 +205 41 16 +222 32 8 +246 32 8 +246 41 24 +246 49 41 +255 74 57 +255 82 74 +8 57 24 +24 57 24 +41 57 24 +57 57 24 +74 57 24 +90 57 24 +148 65 16 +164 65 16 +189 65 16 +205 65 16 +222 57 8 +246 49 8 +246 57 24 +246 65 41 +255 90 57 +255 98 74 +8 74 24 +24 74 24 +41 74 24 +57 74 24 +74 74 24 +90 74 24 +148 98 16 +164 90 16 +189 90 16 +205 82 16 +222 82 8 +246 74 8 +246 82 24 +246 90 41 +255 98 57 +255 106 74 +8 90 24 +24 90 24 +41 90 24 +57 90 24 +74 90 24 +90 90 24 +148 123 16 +164 115 16 +189 115 16 +205 106 16 +222 106 8 +246 98 8 +246 98 24 +246 106 41 +255 115 57 +255 123 74 +8 106 24 +16 148 16 +49 148 16 +74 148 16 +98 148 16 +123 148 16 +148 148 16 +164 139 16 +189 131 16 +205 131 16 +222 131 8 +246 123 8 +246 123 24 +246 123 41 +255 131 57 +255 139 74 +0 172 16 +16 164 16 +41 164 16 +65 164 16 +90 164 16 +115 164 16 +139 164 16 +164 164 16 +189 156 16 +205 156 16 +222 148 8 +246 148 8 +246 139 24 +246 139 41 +255 148 57 +255 148 74 +0 189 16 +16 189 16 +41 189 16 +65 189 16 +90 189 16 +115 189 16 +139 189 16 +164 189 16 +189 189 16 +205 180 16 +222 172 8 +246 172 8 +246 164 24 +246 156 41 +255 164 57 +255 164 74 +0 205 16 +16 205 16 +41 205 16 +65 205 16 +90 205 16 +106 205 16 +131 205 16 +156 205 16 +180 205 16 +205 205 16 +222 197 8 +246 189 8 +246 180 24 +246 172 41 +255 180 57 +255 180 74 +0 222 16 +8 222 8 +32 222 8 +57 222 8 +82 222 8 +106 222 8 +131 222 8 +156 222 8 +180 222 8 +205 222 8 +222 222 8 +246 213 8 +246 205 24 +246 197 41 +255 197 57 +255 189 74 +0 238 16 +8 246 8 +32 246 8 +57 246 8 +82 246 8 +106 246 8 +123 246 8 +148 246 8 +172 246 8 +197 246 8 +222 246 8 +246 246 8 +246 222 24 +246 213 41 +255 205 57 +255 205 74 +0 255 16 +24 246 24 +49 246 24 +65 246 24 +90 246 24 +106 246 24 +131 246 24 +148 246 24 +164 246 24 +189 246 24 +205 246 24 +230 246 24 +246 246 24 +246 230 41 +255 222 57 +255 222 74 +8 255 24 +41 246 41 +57 246 41 +74 246 41 +90 246 41 +106 246 41 +123 246 41 +139 246 41 +164 246 41 +180 246 41 +197 246 41 +213 246 41 +230 246 41 +246 246 41 +255 238 57 +255 230 74 +24 255 41 +57 255 57 +74 255 57 +90 255 57 +106 255 57 +123 255 57 +131 255 57 +148 255 57 +164 255 57 +180 255 57 +197 255 57 +213 255 57 +230 255 57 +246 255 57 +255 255 57 +255 246 74 +57 255 65 +74 255 74 +90 255 74 +98 255 74 +115 255 74 +131 255 74 +139 255 74 +156 255 74 +164 255 74 +180 255 74 +197 255 74 +205 255 74 +222 255 74 +230 255 74 +246 255 74 +255 255 74 diff --git a/graphics/misc/sunny_day/5.pal b/graphics/misc/sunny_day/5.pal new file mode 100644 index 0000000000..c275f5dc98 --- /dev/null +++ b/graphics/misc/sunny_day/5.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 90 +24 8 90 +41 8 90 +57 8 90 +74 8 90 +90 8 90 +106 8 90 +139 0 98 +156 0 98 +172 0 98 +189 0 90 +205 0 98 +222 0 90 +238 0 90 +255 0 90 +255 24 106 +8 24 90 +24 24 90 +41 24 90 +57 24 90 +74 24 90 +90 24 90 +115 16 98 +131 16 98 +156 16 98 +172 16 90 +189 16 90 +205 16 90 +222 16 90 +238 16 90 +246 32 98 +255 41 106 +8 41 90 +24 41 90 +41 41 98 +57 41 98 +74 41 98 +98 41 98 +115 41 98 +131 41 98 +148 32 90 +172 32 90 +189 32 90 +205 32 90 +222 32 90 +230 49 106 +246 49 98 +255 57 106 +8 57 90 +24 57 90 +41 57 98 +57 57 98 +74 57 98 +98 57 98 +115 57 98 +131 57 90 +148 57 90 +164 57 90 +189 49 90 +205 57 90 +213 65 98 +230 65 98 +246 65 98 +255 74 106 +8 74 90 +24 74 90 +41 82 98 +57 74 98 +74 74 98 +98 74 98 +115 74 90 +131 74 90 +148 74 90 +164 74 90 +180 74 90 +197 82 98 +213 82 98 +230 82 98 +246 82 98 +255 90 106 +8 90 90 +24 90 90 +41 98 98 +57 98 98 +74 98 98 +90 90 90 +115 90 90 +131 90 90 +148 90 90 +164 90 90 +180 98 98 +197 98 98 +213 98 98 +230 98 98 +246 106 106 +255 106 106 +8 106 90 +16 115 98 +41 115 98 +57 115 90 +74 115 90 +90 115 90 +115 115 90 +131 115 90 +148 106 90 +164 106 90 +180 115 98 +197 115 98 +213 115 98 +230 115 98 +246 115 106 +255 123 106 +0 139 98 +16 131 98 +41 131 90 +57 131 90 +74 131 90 +90 131 90 +115 131 90 +131 131 90 +148 131 90 +164 131 90 +180 131 98 +197 131 98 +213 131 98 +230 131 98 +246 131 106 +255 139 106 +0 156 98 +16 156 98 +32 148 90 +57 148 90 +74 148 90 +90 148 90 +106 148 90 +131 148 90 +148 148 90 +164 148 90 +180 148 98 +197 148 98 +213 148 98 +230 148 98 +246 148 106 +255 148 106 +0 172 90 +16 172 90 +32 172 90 +57 164 90 +74 164 90 +90 164 90 +106 164 90 +131 164 90 +148 164 90 +164 164 90 +180 164 98 +197 164 98 +213 164 98 +230 164 98 +246 164 106 +255 164 106 +0 189 90 +16 189 90 +32 189 90 +49 189 90 +74 180 90 +98 180 98 +115 180 98 +131 180 98 +148 180 98 +164 180 98 +180 180 98 +197 180 98 +213 180 98 +230 180 98 +246 180 106 +255 180 106 +0 205 90 +16 205 90 +32 205 90 +57 205 90 +82 197 98 +98 197 98 +115 197 98 +131 197 98 +148 197 98 +164 197 98 +180 197 98 +197 197 98 +213 197 98 +230 197 98 +246 197 106 +255 197 106 +0 222 90 +16 222 90 +32 222 90 +65 213 98 +82 213 98 +98 213 98 +115 213 98 +139 213 98 +148 213 98 +164 213 98 +180 213 98 +197 213 98 +213 213 98 +230 213 98 +246 213 106 +255 213 106 +0 238 90 +16 238 90 +49 230 98 +65 230 98 +82 230 98 +98 230 98 +123 230 98 +131 230 98 +156 230 98 +164 230 98 +180 230 98 +197 230 98 +213 230 98 +230 230 98 +246 230 106 +255 230 106 +0 255 90 +32 246 98 +49 246 98 +65 246 98 +82 246 98 +106 246 106 +123 246 106 +139 246 106 +148 246 106 +172 246 106 +189 246 106 +197 246 106 +213 246 106 +230 246 106 +246 246 106 +255 238 106 +24 255 98 +41 255 106 +57 255 98 +74 255 106 +90 255 106 +106 255 106 +123 255 106 +139 255 106 +156 255 106 +172 255 106 +180 255 106 +197 255 106 +213 255 106 +230 255 106 +246 255 106 +255 255 106 diff --git a/graphics/misc/sunny_day/50.pal b/graphics/misc/sunny_day/50.pal new file mode 100644 index 0000000000..e162a20faf --- /dev/null +++ b/graphics/misc/sunny_day/50.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 41 +24 8 41 +41 8 41 +57 8 41 +74 8 41 +90 8 41 +106 8 41 +172 0 49 +189 0 41 +205 0 41 +222 0 41 +238 0 41 +255 0 41 +255 8 49 +255 24 65 +255 57 82 +8 24 41 +24 24 41 +41 24 41 +57 24 41 +74 24 41 +90 24 41 +148 16 49 +164 16 41 +189 16 41 +205 16 41 +222 8 32 +246 8 32 +246 24 49 +246 41 57 +255 57 74 +255 74 90 +8 41 41 +24 41 41 +41 41 41 +57 41 41 +74 41 41 +123 41 41 +139 41 41 +164 41 41 +180 32 32 +205 32 32 +222 32 32 +230 41 41 +230 57 57 +238 74 74 +255 74 74 +255 90 90 +8 57 41 +24 57 41 +41 57 41 +57 57 41 +74 57 41 +123 65 41 +139 65 41 +164 57 41 +180 57 32 +205 57 32 +222 57 32 +230 65 41 +230 74 57 +238 90 74 +255 90 74 +255 98 90 +8 74 41 +24 74 41 +41 74 41 +57 74 41 +74 74 41 +123 98 41 +139 90 41 +164 90 41 +180 82 32 +205 82 32 +222 82 32 +230 82 41 +230 90 57 +238 98 74 +255 98 74 +255 115 90 +8 90 41 +24 90 41 +41 123 41 +74 123 41 +98 123 41 +123 123 41 +139 115 41 +164 115 41 +180 106 32 +205 106 32 +222 98 32 +230 98 41 +230 106 57 +238 115 74 +255 123 74 +255 123 90 +8 106 41 +16 148 41 +41 139 41 +65 139 41 +90 139 41 +115 139 41 +139 139 41 +164 139 41 +180 131 32 +205 131 32 +222 123 32 +230 123 41 +230 123 57 +238 131 74 +255 131 74 +255 139 90 +0 172 49 +16 164 41 +41 164 41 +65 164 41 +90 164 41 +115 164 41 +139 164 41 +164 164 41 +180 156 32 +205 148 32 +222 148 32 +230 148 41 +230 139 57 +238 148 74 +255 148 74 +255 148 90 +0 189 41 +16 189 41 +32 180 32 +57 180 32 +82 180 32 +106 180 32 +131 180 32 +156 180 32 +180 180 32 +205 172 32 +222 172 32 +230 164 41 +230 156 57 +238 164 74 +255 164 74 +255 164 90 +0 205 41 +16 205 41 +32 205 32 +57 205 32 +82 205 32 +106 205 32 +131 205 32 +156 205 32 +180 205 32 +205 205 32 +222 197 32 +230 180 41 +230 172 57 +238 180 74 +255 180 74 +255 180 90 +0 222 41 +8 222 32 +32 222 32 +57 222 32 +82 222 32 +106 222 32 +123 222 32 +148 222 32 +172 222 32 +197 222 32 +222 222 32 +230 205 41 +230 197 57 +238 197 74 +255 189 74 +255 189 90 +0 238 32 +8 246 32 +41 230 41 +65 230 41 +82 230 41 +106 230 41 +123 230 41 +148 230 41 +164 230 41 +189 230 41 +205 230 41 +230 230 41 +230 213 57 +238 205 74 +255 213 74 +255 205 90 +0 255 32 +24 246 41 +57 230 57 +74 230 57 +90 230 57 +106 230 57 +123 230 57 +139 230 57 +164 230 57 +180 230 57 +197 230 57 +213 230 57 +230 230 57 +238 222 74 +255 222 74 +255 213 90 +8 255 49 +41 246 49 +74 238 74 +90 238 74 +106 238 74 +123 238 74 +131 238 74 +148 238 74 +164 238 74 +180 238 74 +197 238 74 +213 238 74 +230 238 74 +238 238 74 +255 238 74 +255 230 90 +24 255 57 +57 255 74 +74 255 74 +90 255 74 +106 255 74 +123 255 74 +131 255 74 +148 255 74 +164 255 74 +180 255 74 +197 255 74 +213 255 74 +230 255 74 +238 255 74 +255 255 74 +255 246 90 +57 255 82 +74 255 82 +90 255 90 +106 255 90 +115 255 90 +131 255 90 +139 255 90 +156 255 90 +172 255 90 +180 255 90 +197 255 90 +205 255 90 +222 255 90 +230 255 90 +246 255 90 +255 255 90 diff --git a/graphics/misc/sunny_day/51.pal b/graphics/misc/sunny_day/51.pal new file mode 100644 index 0000000000..c168d18961 --- /dev/null +++ b/graphics/misc/sunny_day/51.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 57 +24 8 57 +41 8 57 +57 8 57 +74 8 57 +90 8 57 +106 8 57 +172 0 74 +189 0 74 +205 0 65 +222 0 65 +238 0 65 +255 0 57 +255 8 65 +255 24 82 +255 57 98 +8 24 57 +24 24 57 +41 24 57 +57 24 57 +74 24 57 +90 24 57 +148 16 74 +164 16 65 +189 16 65 +205 16 65 +222 8 57 +246 8 57 +246 24 65 +246 41 74 +255 57 90 +255 74 98 +8 41 57 +24 41 57 +41 41 57 +57 41 57 +74 41 57 +123 41 74 +139 41 65 +164 41 65 +180 32 57 +205 32 57 +222 32 57 +230 41 65 +230 57 74 +238 74 90 +255 74 90 +255 90 106 +8 57 57 +24 57 57 +41 57 57 +57 57 57 +98 65 65 +123 65 65 +139 57 57 +156 57 57 +180 57 57 +197 57 57 +205 57 57 +213 74 74 +230 90 90 +238 90 90 +255 90 90 +255 106 106 +8 74 57 +24 74 57 +41 74 57 +65 98 65 +98 98 65 +123 90 65 +139 90 57 +156 82 57 +180 82 57 +197 74 57 +205 82 57 +213 90 74 +230 98 90 +238 106 90 +255 106 90 +255 115 106 +8 90 57 +24 90 57 +41 123 65 +65 123 65 +90 123 65 +123 123 65 +139 115 57 +156 106 57 +180 106 57 +197 98 57 +205 106 57 +213 106 74 +230 115 90 +238 115 90 +255 123 90 +255 131 106 +8 106 57 +16 148 65 +41 139 65 +57 139 57 +90 139 57 +115 139 57 +139 139 57 +156 131 57 +180 131 57 +197 123 57 +205 123 57 +213 123 74 +230 131 90 +238 131 90 +255 139 90 +255 148 106 +0 172 65 +16 164 65 +41 164 57 +57 156 57 +82 156 57 +106 156 57 +131 156 57 +156 156 57 +180 156 57 +197 148 57 +205 148 57 +213 139 74 +230 148 90 +238 148 90 +255 148 90 +255 156 106 +0 189 65 +16 189 65 +32 180 57 +57 180 57 +82 180 57 +106 180 57 +131 180 57 +156 180 57 +180 180 57 +197 172 57 +205 164 57 +213 164 74 +230 164 90 +238 164 90 +255 164 90 +255 164 106 +0 205 65 +16 205 65 +32 205 57 +57 197 57 +82 197 57 +106 197 57 +123 197 57 +148 197 57 +172 197 57 +197 197 57 +205 189 57 +213 180 74 +230 180 90 +238 180 90 +255 180 90 +255 180 106 +0 222 57 +8 222 57 +32 222 57 +57 205 57 +82 205 57 +106 205 57 +123 205 57 +148 205 57 +164 205 57 +189 205 57 +205 205 57 +213 197 74 +230 197 90 +238 197 90 +255 197 90 +255 189 106 +0 238 57 +8 246 49 +41 230 65 +74 213 74 +90 213 74 +106 213 74 +123 213 74 +139 213 74 +164 213 74 +180 213 74 +197 213 74 +213 213 74 +230 213 90 +238 205 90 +255 205 90 +255 205 106 +0 255 57 +24 246 57 +57 230 74 +90 230 90 +106 230 90 +123 230 90 +131 230 90 +148 230 90 +164 230 90 +180 230 90 +197 230 90 +213 230 90 +230 230 90 +238 222 90 +255 222 90 +255 222 106 +8 255 65 +41 246 65 +74 238 90 +90 238 90 +106 238 90 +123 238 90 +131 238 90 +148 238 90 +164 238 90 +180 238 90 +197 238 90 +213 238 90 +230 238 90 +238 238 90 +255 238 90 +255 230 106 +24 255 74 +57 255 90 +74 255 90 +90 255 90 +106 255 90 +123 255 90 +139 255 90 +156 255 90 +172 255 90 +180 255 90 +197 255 90 +213 255 90 +222 255 90 +238 255 90 +255 255 90 +255 246 106 +57 255 90 +74 255 98 +90 255 98 +106 255 106 +123 255 106 +131 255 106 +148 255 106 +156 255 106 +172 255 106 +180 255 106 +197 255 106 +205 255 106 +222 255 106 +230 255 106 +246 255 106 +255 255 106 diff --git a/graphics/misc/sunny_day/52.pal b/graphics/misc/sunny_day/52.pal new file mode 100644 index 0000000000..4589fe0fc3 --- /dev/null +++ b/graphics/misc/sunny_day/52.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 74 +24 8 74 +41 8 74 +57 8 74 +74 8 74 +90 8 74 +106 8 74 +172 0 98 +189 0 90 +205 0 90 +222 0 90 +238 0 82 +255 0 82 +255 8 90 +255 24 98 +255 57 106 +8 24 74 +24 24 74 +41 24 74 +57 24 74 +74 24 74 +90 24 74 +148 16 98 +164 16 90 +189 16 90 +205 16 90 +222 8 82 +246 8 82 +246 24 90 +246 41 90 +255 57 106 +255 74 115 +8 41 74 +24 41 74 +41 41 74 +57 41 74 +74 41 74 +123 41 98 +139 41 90 +164 41 90 +180 32 82 +205 32 82 +222 32 82 +230 41 82 +230 57 90 +238 74 106 +255 74 106 +255 90 115 +8 57 74 +24 57 74 +41 57 74 +65 65 98 +98 65 98 +123 65 90 +139 57 90 +156 57 82 +180 57 82 +197 57 82 +205 57 82 +213 74 90 +230 90 106 +238 90 106 +255 90 106 +255 106 123 +8 74 74 +24 74 74 +41 74 74 +65 98 98 +98 90 90 +115 82 82 +139 82 82 +156 74 74 +180 74 74 +189 82 82 +197 90 90 +213 98 98 +230 106 106 +238 106 106 +255 106 106 +255 123 123 +8 90 74 +24 90 74 +41 123 98 +65 123 90 +82 115 82 +115 115 82 +139 106 82 +156 106 74 +180 98 74 +189 98 82 +197 106 90 +213 115 98 +230 115 106 +238 123 106 +255 123 106 +255 131 123 +8 106 74 +16 148 98 +41 139 90 +57 139 90 +82 139 82 +106 139 82 +139 139 82 +156 131 74 +180 123 74 +189 123 82 +197 123 90 +213 131 98 +230 131 106 +238 139 106 +255 139 106 +255 148 123 +0 172 98 +16 164 90 +41 164 90 +57 156 82 +74 156 74 +106 156 74 +131 156 74 +156 156 74 +180 148 74 +189 148 82 +197 139 90 +213 148 98 +230 148 106 +238 148 106 +255 148 106 +255 156 123 +0 189 90 +16 189 90 +32 180 82 +57 180 82 +74 180 74 +98 180 74 +123 180 74 +148 180 74 +180 180 74 +189 164 82 +197 156 90 +213 164 98 +230 164 106 +238 164 106 +255 164 106 +255 172 123 +0 205 90 +16 205 82 +32 205 82 +57 197 74 +82 189 82 +106 189 82 +123 189 82 +148 189 82 +164 189 82 +189 189 82 +197 180 90 +213 180 98 +230 180 106 +238 180 106 +255 180 106 +255 180 123 +0 222 82 +8 222 82 +32 222 82 +57 205 82 +90 197 90 +106 197 90 +123 197 90 +139 197 90 +164 197 90 +180 197 90 +197 197 90 +213 197 98 +230 197 106 +238 197 106 +255 197 106 +255 197 123 +0 238 82 +8 246 74 +41 230 82 +74 213 90 +98 213 98 +115 213 98 +131 213 98 +148 213 98 +164 213 98 +180 213 98 +197 213 98 +213 213 98 +230 213 106 +238 213 106 +255 205 106 +255 205 123 +0 255 82 +24 246 82 +57 230 90 +90 230 98 +106 230 106 +123 230 106 +131 230 106 +148 230 106 +164 230 106 +180 230 106 +197 230 106 +213 230 106 +230 230 106 +238 222 106 +255 222 106 +255 222 123 +8 255 82 +41 246 90 +74 238 98 +90 238 106 +106 238 106 +123 238 106 +139 238 106 +148 238 106 +164 238 106 +180 238 106 +197 238 106 +213 238 106 +230 238 106 +238 238 106 +255 238 106 +255 230 123 +24 255 90 +57 255 98 +74 255 98 +90 255 106 +106 255 106 +123 255 106 +139 255 106 +156 255 106 +164 255 106 +180 255 106 +197 255 106 +213 255 106 +230 255 106 +238 255 106 +255 255 106 +255 246 123 +57 255 106 +74 255 106 +90 255 115 +106 255 115 +123 255 123 +139 255 123 +148 255 123 +164 255 123 +172 255 123 +189 255 123 +197 255 123 +205 255 123 +222 255 123 +230 255 123 +246 255 123 +255 255 123 diff --git a/graphics/misc/sunny_day/53.pal b/graphics/misc/sunny_day/53.pal new file mode 100644 index 0000000000..833a155113 --- /dev/null +++ b/graphics/misc/sunny_day/53.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 90 +24 8 90 +41 8 90 +57 8 90 +74 8 90 +90 8 90 +106 8 90 +172 0 123 +189 0 115 +205 0 115 +222 0 106 +238 0 106 +255 0 106 +255 8 106 +255 24 115 +255 57 123 +8 24 90 +24 24 90 +41 24 90 +57 24 90 +74 24 90 +90 24 90 +148 16 123 +164 16 115 +189 16 115 +205 16 106 +222 8 106 +246 8 106 +246 24 106 +246 41 106 +255 57 123 +255 74 131 +8 41 90 +24 41 90 +41 41 123 +65 41 123 +98 41 123 +123 41 123 +139 41 115 +164 41 115 +180 32 106 +205 32 106 +222 32 106 +230 41 106 +230 57 106 +238 74 123 +255 74 123 +255 90 131 +8 57 90 +24 57 90 +41 74 123 +65 65 123 +90 65 123 +123 65 123 +139 57 115 +156 57 106 +180 57 106 +197 57 106 +205 57 106 +213 74 106 +230 90 123 +238 90 123 +255 90 123 +255 106 131 +8 74 90 +24 74 90 +41 98 123 +65 90 123 +82 82 115 +115 82 115 +139 82 106 +156 74 106 +180 74 98 +189 82 106 +197 90 106 +213 98 115 +230 106 123 +238 106 123 +255 106 123 +255 123 139 +8 90 90 +24 90 90 +41 123 123 +65 123 123 +82 115 115 +115 106 106 +131 98 98 +156 98 98 +172 98 98 +180 106 106 +197 115 115 +213 115 115 +230 123 123 +238 123 123 +255 131 131 +255 139 139 +8 106 90 +16 148 123 +41 139 115 +57 139 115 +82 139 106 +98 131 98 +131 131 98 +156 123 98 +172 123 98 +180 123 106 +197 131 115 +213 131 115 +230 131 123 +238 139 123 +255 139 131 +255 148 139 +0 172 123 +16 164 115 +41 164 115 +57 156 106 +74 156 106 +98 156 98 +123 156 98 +156 156 98 +172 148 98 +180 139 106 +197 148 115 +213 148 115 +230 148 123 +238 156 123 +255 156 131 +255 164 139 +0 189 115 +16 189 115 +32 180 106 +57 180 106 +74 180 98 +98 172 98 +123 172 98 +148 172 98 +172 172 98 +180 164 106 +197 164 115 +213 164 115 +230 164 123 +238 164 123 +255 164 131 +255 172 139 +0 205 115 +16 205 106 +32 205 106 +57 197 98 +82 189 98 +106 180 106 +123 180 106 +139 180 106 +164 180 106 +180 180 106 +197 180 115 +213 180 115 +230 180 123 +238 180 123 +255 180 131 +255 189 139 +0 222 106 +8 222 106 +32 222 98 +57 205 106 +90 197 106 +115 197 115 +131 197 115 +148 197 115 +164 197 115 +180 197 115 +197 197 115 +213 197 115 +230 197 123 +238 197 123 +255 197 131 +255 197 139 +0 238 106 +8 246 98 +41 230 98 +74 213 106 +98 213 115 +115 213 115 +131 213 115 +148 213 115 +164 213 115 +180 213 115 +197 213 115 +213 213 115 +230 213 123 +238 213 123 +255 213 131 +255 205 139 +0 255 98 +24 246 98 +57 230 106 +90 230 115 +106 230 115 +123 230 123 +139 230 123 +156 230 123 +164 230 123 +180 230 123 +197 230 123 +213 230 123 +230 230 123 +238 222 123 +255 222 131 +255 222 139 +8 255 98 +41 246 106 +74 238 115 +90 238 115 +106 238 123 +123 238 123 +139 238 123 +156 238 123 +172 238 123 +180 238 123 +197 238 123 +213 238 123 +230 238 123 +238 238 123 +255 238 131 +255 230 139 +24 255 106 +57 255 115 +74 255 123 +90 255 123 +106 255 123 +131 255 131 +139 255 131 +156 255 131 +172 255 131 +180 255 131 +197 255 131 +213 255 131 +230 255 131 +238 255 131 +255 255 131 +255 246 139 +57 255 123 +74 255 123 +90 255 123 +106 255 131 +123 255 131 +139 255 139 +156 255 139 +164 255 139 +172 255 139 +189 255 139 +197 255 139 +213 255 139 +222 255 139 +238 255 139 +246 255 139 +255 255 139 diff --git a/graphics/misc/sunny_day/54.pal b/graphics/misc/sunny_day/54.pal new file mode 100644 index 0000000000..cfe2f15c79 --- /dev/null +++ b/graphics/misc/sunny_day/54.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 106 +24 8 106 +41 8 106 +57 8 106 +74 8 106 +90 8 106 +106 8 106 +172 0 148 +189 0 139 +205 0 139 +222 0 131 +238 0 131 +255 0 123 +255 8 123 +255 24 131 +255 57 139 +8 24 106 +16 16 148 +41 16 148 +65 16 148 +98 16 148 +123 16 148 +148 16 148 +164 16 139 +189 16 139 +205 16 131 +222 8 131 +246 8 123 +246 24 131 +246 41 123 +255 57 131 +255 74 139 +8 41 106 +16 49 148 +41 41 139 +65 41 139 +90 41 139 +115 41 139 +139 41 139 +164 41 139 +180 32 131 +205 32 131 +222 32 123 +230 41 123 +230 57 123 +238 74 131 +255 74 131 +255 90 139 +8 57 106 +16 74 148 +41 65 139 +57 57 139 +90 57 139 +115 57 139 +139 57 139 +156 57 131 +180 57 131 +197 57 123 +205 57 123 +213 74 123 +230 90 131 +238 90 131 +255 90 139 +255 106 148 +8 74 106 +16 98 148 +41 90 139 +57 90 139 +82 82 139 +106 82 139 +139 82 139 +156 74 131 +180 74 123 +189 82 123 +197 90 123 +213 98 131 +230 106 131 +238 106 139 +255 106 139 +255 123 148 +8 90 106 +16 123 148 +41 115 139 +57 115 139 +82 106 139 +98 98 131 +131 98 131 +156 98 123 +172 98 123 +180 106 123 +197 115 131 +213 115 131 +230 123 139 +238 123 139 +255 131 139 +255 139 156 +8 106 106 +16 148 148 +41 139 139 +57 139 139 +82 139 139 +98 131 131 +131 115 115 +148 115 115 +164 123 123 +180 131 131 +197 131 131 +213 131 131 +230 139 139 +238 139 139 +255 148 148 +255 156 156 +0 172 148 +16 164 139 +41 164 139 +57 156 131 +74 156 131 +98 156 123 +115 148 115 +148 148 115 +164 139 123 +180 148 131 +197 148 131 +213 148 131 +230 148 139 +238 156 139 +255 156 148 +255 164 156 +0 189 139 +16 189 131 +32 180 131 +57 180 131 +74 180 123 +98 172 123 +123 164 123 +139 164 123 +164 164 123 +180 164 131 +197 164 131 +213 164 131 +230 164 139 +238 172 139 +255 172 148 +255 180 156 +0 205 131 +16 205 131 +32 205 131 +57 197 123 +82 189 123 +106 180 123 +131 180 131 +148 180 131 +164 180 131 +180 180 131 +197 180 131 +213 180 131 +230 180 139 +238 180 139 +255 189 148 +255 189 156 +0 222 131 +8 222 131 +32 222 123 +57 205 123 +90 197 123 +115 197 131 +131 197 131 +148 197 131 +164 197 131 +180 197 131 +197 197 131 +213 197 131 +230 197 139 +238 197 139 +255 197 148 +255 205 156 +0 238 123 +8 246 123 +41 230 123 +74 213 123 +98 213 131 +115 213 131 +131 213 131 +148 213 131 +164 213 131 +180 213 131 +197 213 131 +213 213 131 +230 213 139 +238 213 139 +255 213 148 +255 213 156 +0 255 123 +24 246 123 +57 230 123 +90 230 131 +106 230 131 +123 230 131 +139 230 139 +156 230 139 +164 230 139 +180 230 139 +197 230 139 +213 230 139 +230 230 139 +238 222 139 +255 230 148 +255 222 156 +8 255 123 +41 246 123 +74 238 131 +90 238 131 +106 238 139 +123 238 139 +139 238 139 +156 238 139 +172 238 139 +180 238 139 +197 238 139 +213 238 139 +230 238 139 +238 238 139 +255 238 148 +255 238 156 +24 255 123 +57 255 131 +74 255 131 +90 255 139 +106 255 139 +131 255 139 +148 255 148 +156 255 148 +172 255 148 +189 255 148 +197 255 148 +213 255 148 +230 255 148 +238 255 148 +255 255 148 +255 246 156 +57 255 131 +74 255 139 +90 255 139 +106 255 148 +123 255 148 +139 255 148 +156 255 156 +172 255 156 +180 255 156 +189 255 156 +205 255 156 +213 255 156 +222 255 156 +238 255 156 +246 255 156 +255 255 156 diff --git a/graphics/misc/sunny_day/55.pal b/graphics/misc/sunny_day/55.pal new file mode 100644 index 0000000000..c1b30ed9e3 --- /dev/null +++ b/graphics/misc/sunny_day/55.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 172 +16 0 172 +49 0 172 +65 0 172 +98 0 172 +123 0 172 +148 0 172 +172 0 172 +189 0 164 +205 0 164 +222 0 156 +238 0 148 +255 0 148 +255 8 148 +255 24 139 +255 57 148 +0 24 172 +16 16 164 +41 16 164 +65 16 164 +90 16 164 +115 16 164 +139 16 164 +164 16 164 +189 16 164 +205 16 156 +222 8 156 +246 8 148 +246 24 148 +246 41 139 +255 57 148 +255 74 156 +0 49 172 +16 41 164 +41 41 164 +57 41 164 +90 41 164 +115 41 164 +139 41 164 +164 41 164 +180 32 156 +205 32 156 +222 32 148 +230 41 148 +230 57 139 +238 74 148 +255 74 148 +255 90 156 +0 74 172 +16 65 164 +41 65 164 +57 57 156 +82 57 156 +106 57 156 +131 57 156 +156 57 156 +180 57 156 +197 57 148 +205 57 148 +213 74 139 +230 90 148 +238 90 148 +255 90 156 +255 106 156 +0 98 172 +16 90 164 +41 90 164 +57 82 156 +74 74 156 +106 74 156 +131 74 156 +156 74 156 +180 74 148 +189 82 148 +197 90 139 +213 98 148 +230 106 148 +238 106 148 +255 106 156 +255 123 164 +0 123 172 +16 115 164 +41 115 164 +57 106 156 +74 106 156 +98 98 156 +123 98 156 +156 98 156 +172 98 148 +180 106 139 +197 115 148 +213 115 148 +230 123 156 +238 123 156 +255 131 156 +255 139 164 +0 148 172 +16 139 164 +41 139 164 +57 131 156 +74 131 156 +98 123 156 +115 115 148 +148 115 148 +164 123 139 +180 131 148 +197 131 148 +213 131 148 +230 139 156 +238 139 156 +255 148 156 +255 156 172 +0 172 172 +16 164 164 +41 164 164 +57 156 156 +74 156 156 +98 156 156 +115 148 148 +148 139 139 +172 148 148 +180 148 148 +197 148 148 +213 148 148 +230 156 156 +238 156 156 +255 164 164 +255 172 172 +0 189 164 +16 189 156 +32 180 156 +57 180 156 +74 180 148 +98 172 148 +123 164 139 +148 172 148 +172 172 148 +180 164 148 +197 164 148 +213 164 148 +230 164 156 +238 172 156 +255 172 164 +255 180 172 +0 205 156 +16 205 156 +32 205 148 +57 197 148 +82 189 148 +106 180 139 +131 180 148 +148 180 148 +164 180 148 +180 180 148 +197 180 148 +213 180 148 +230 180 156 +238 180 156 +255 189 164 +255 197 172 +0 222 148 +8 222 148 +32 222 148 +57 205 148 +90 197 139 +115 197 148 +131 197 148 +148 197 148 +164 197 148 +180 197 148 +197 197 148 +213 197 148 +230 197 156 +238 197 156 +255 197 164 +255 205 172 +0 238 148 +8 246 148 +41 230 148 +74 213 139 +98 213 148 +115 213 148 +131 213 148 +148 213 148 +164 213 148 +180 213 148 +197 213 148 +213 213 148 +230 213 156 +238 213 156 +255 213 164 +255 213 172 +0 255 148 +24 246 139 +57 230 139 +90 230 148 +106 230 148 +123 230 148 +139 230 148 +156 230 156 +172 230 156 +180 230 156 +197 230 156 +213 230 156 +230 230 156 +238 222 156 +255 230 164 +255 230 172 +8 255 139 +41 246 139 +74 238 148 +90 238 148 +106 238 148 +123 238 156 +139 238 156 +156 238 156 +172 238 156 +189 238 156 +197 238 156 +213 238 156 +230 238 156 +238 238 156 +255 238 164 +255 238 172 +24 255 139 +57 255 148 +74 255 148 +90 255 148 +106 255 148 +131 255 156 +148 255 156 +164 255 164 +172 255 164 +189 255 164 +205 255 164 +213 255 164 +230 255 164 +238 255 164 +255 255 164 +255 246 172 +57 255 148 +74 255 148 +90 255 148 +106 255 156 +123 255 156 +139 255 164 +156 255 164 +172 255 172 +189 255 172 +197 255 172 +205 255 172 +213 255 172 +230 255 172 +238 255 172 +246 255 172 +255 255 172 diff --git a/graphics/misc/sunny_day/56.pal b/graphics/misc/sunny_day/56.pal new file mode 100644 index 0000000000..eb5b90f0c9 --- /dev/null +++ b/graphics/misc/sunny_day/56.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 189 +16 0 189 +41 0 189 +65 0 189 +90 0 189 +115 0 189 +139 0 189 +164 0 189 +189 0 189 +205 0 189 +222 0 180 +238 0 172 +255 0 172 +255 8 164 +255 24 164 +255 57 164 +0 24 189 +16 16 189 +41 16 189 +65 16 189 +90 16 189 +115 16 189 +131 16 189 +156 16 189 +189 16 189 +205 16 180 +222 8 180 +246 8 172 +246 24 164 +246 41 164 +255 57 164 +255 74 164 +0 41 189 +16 41 189 +32 32 180 +57 32 180 +82 32 180 +106 32 180 +131 32 180 +156 32 180 +180 32 180 +205 32 180 +222 32 172 +230 41 164 +230 57 164 +238 74 164 +255 74 164 +255 90 172 +0 74 189 +16 65 189 +32 57 180 +57 57 180 +82 57 180 +106 57 180 +131 57 180 +156 57 180 +180 57 180 +197 57 172 +205 57 164 +213 74 164 +230 90 164 +238 90 164 +255 90 172 +255 106 172 +0 90 189 +16 90 189 +32 82 180 +57 82 180 +74 74 180 +98 74 180 +123 74 180 +148 74 180 +180 74 180 +189 82 164 +197 90 164 +213 98 164 +230 106 164 +238 106 164 +255 106 164 +255 123 172 +0 115 189 +16 115 189 +32 106 180 +57 106 180 +74 98 180 +98 98 172 +123 98 172 +148 98 172 +172 98 172 +180 106 164 +197 115 164 +213 115 164 +230 123 164 +238 123 172 +255 131 172 +255 139 172 +0 139 189 +16 139 189 +32 131 180 +57 131 180 +74 123 180 +98 123 172 +123 123 164 +139 123 164 +164 123 164 +180 131 164 +197 131 164 +213 131 164 +230 139 164 +238 139 172 +255 148 172 +255 156 180 +0 164 189 +16 164 189 +32 156 180 +57 156 180 +74 148 180 +98 148 172 +123 139 164 +148 148 172 +172 148 172 +180 148 164 +197 148 164 +213 148 164 +230 156 172 +238 156 172 +255 164 172 +255 172 189 +0 189 189 +16 189 189 +32 180 180 +57 180 180 +74 180 180 +98 172 172 +123 164 164 +148 172 172 +172 164 164 +189 164 164 +197 164 164 +213 164 164 +230 172 172 +238 172 172 +255 180 180 +255 205 205 +0 205 180 +16 205 180 +32 205 172 +57 197 172 +82 189 164 +106 180 164 +131 180 164 +148 180 164 +164 189 164 +189 189 164 +197 180 164 +213 180 164 +230 189 172 +238 189 172 +255 189 180 +255 205 205 +0 222 172 +8 222 172 +32 222 172 +57 205 164 +90 197 156 +115 197 164 +131 197 164 +148 197 164 +164 197 164 +180 197 164 +197 197 164 +213 197 164 +230 197 172 +238 197 172 +255 205 180 +255 222 205 +0 238 172 +8 246 172 +41 230 164 +74 213 164 +98 213 164 +115 213 164 +131 213 164 +148 213 164 +164 213 164 +180 213 164 +197 213 164 +213 213 164 +230 213 172 +238 213 172 +255 213 180 +255 222 205 +0 255 164 +24 246 164 +57 230 156 +90 230 164 +106 230 164 +123 230 164 +139 230 164 +156 230 164 +172 230 172 +189 230 172 +197 230 172 +213 230 172 +230 230 172 +238 230 172 +255 230 180 +255 230 205 +8 255 156 +41 246 156 +74 238 164 +90 238 164 +106 238 164 +123 238 164 +139 238 172 +156 238 172 +172 238 172 +189 238 172 +205 238 172 +213 238 172 +230 238 172 +238 238 172 +255 238 180 +255 238 205 +24 255 156 +57 255 164 +74 255 164 +90 255 164 +106 255 164 +131 255 164 +148 255 172 +164 255 172 +180 255 180 +189 255 180 +205 255 180 +213 255 180 +230 255 180 +238 255 180 +255 255 180 +255 246 205 +57 255 164 +74 255 164 +90 255 164 +106 255 164 +123 255 172 +139 255 172 +156 255 180 +172 255 180 +205 255 205 +213 255 205 +222 255 205 +230 255 205 +238 255 205 +246 255 205 +255 255 205 +255 255 205 diff --git a/graphics/misc/sunny_day/57.pal b/graphics/misc/sunny_day/57.pal new file mode 100644 index 0000000000..90584e92e8 --- /dev/null +++ b/graphics/misc/sunny_day/57.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 205 +16 0 205 +41 0 205 +65 0 205 +90 0 205 +115 0 205 +131 0 205 +156 0 205 +180 0 205 +205 0 205 +222 0 197 +238 0 197 +255 0 189 +255 8 180 +255 24 180 +255 57 180 +0 16 205 +16 16 205 +41 16 205 +65 16 205 +82 16 205 +106 16 205 +131 16 205 +156 16 205 +180 16 205 +205 16 205 +222 8 205 +246 8 197 +246 24 189 +246 41 180 +255 57 180 +255 74 180 +0 41 205 +16 41 205 +32 32 205 +57 32 205 +82 32 205 +106 32 205 +131 32 205 +148 32 205 +172 32 205 +205 32 205 +222 32 197 +230 41 189 +230 57 180 +238 74 180 +255 74 180 +255 90 180 +0 65 205 +16 65 205 +32 57 205 +57 57 197 +74 57 197 +98 57 197 +123 57 197 +148 57 197 +172 57 197 +197 57 197 +205 57 189 +213 74 180 +230 90 180 +238 90 180 +255 90 180 +255 106 180 +0 90 205 +16 90 205 +32 82 205 +57 82 197 +82 82 189 +98 82 189 +123 82 189 +148 82 189 +164 82 189 +189 82 189 +197 90 180 +213 98 180 +230 106 180 +238 106 180 +255 106 180 +255 123 189 +0 115 205 +16 106 205 +32 106 205 +57 106 197 +82 106 189 +106 106 180 +123 106 180 +139 106 180 +164 106 180 +180 106 180 +197 115 180 +213 115 180 +230 123 180 +238 123 180 +255 131 180 +255 139 189 +0 139 205 +16 131 205 +32 131 205 +57 123 197 +82 123 189 +106 123 180 +131 131 180 +148 131 180 +164 131 180 +180 131 180 +197 131 180 +213 131 180 +230 139 180 +238 139 180 +255 148 189 +255 156 189 +0 164 205 +16 156 205 +32 156 205 +57 148 197 +82 148 189 +106 139 180 +131 148 180 +148 148 180 +164 148 180 +180 148 180 +197 148 180 +213 148 180 +230 156 180 +238 156 189 +255 164 189 +255 172 197 +0 189 205 +16 180 205 +32 180 205 +57 172 197 +82 164 189 +106 164 180 +131 164 180 +148 164 180 +164 164 189 +189 164 189 +197 164 180 +213 164 180 +230 172 189 +238 172 189 +255 180 189 +255 205 213 +0 205 205 +16 205 205 +32 205 205 +57 197 197 +82 189 189 +106 180 180 +131 180 180 +148 180 180 +164 189 189 +189 180 180 +197 180 180 +213 180 180 +230 189 189 +238 189 189 +255 205 205 +255 222 222 +0 222 197 +8 222 197 +32 222 197 +57 205 189 +90 197 180 +115 197 180 +131 197 180 +148 197 180 +164 197 180 +180 197 180 +197 197 180 +213 197 180 +230 197 189 +238 205 189 +255 213 205 +255 222 222 +0 238 189 +8 246 189 +41 230 180 +74 213 180 +98 213 180 +115 213 180 +131 213 180 +148 213 180 +164 213 180 +180 213 180 +197 213 180 +213 213 180 +230 213 189 +238 213 189 +255 222 205 +255 230 222 +0 255 189 +24 246 180 +57 230 172 +90 230 180 +106 230 180 +123 230 180 +139 230 180 +156 230 180 +172 230 189 +189 230 189 +197 230 189 +213 230 189 +230 230 189 +238 230 189 +255 230 205 +255 238 222 +8 255 180 +41 246 172 +74 238 180 +90 238 180 +106 238 180 +123 238 180 +139 238 180 +156 238 180 +172 238 189 +189 238 189 +205 238 189 +213 238 189 +230 238 189 +238 238 189 +255 246 205 +255 246 222 +24 255 172 +57 255 180 +74 255 180 +90 255 180 +106 255 180 +131 255 180 +148 255 189 +164 255 189 +180 255 189 +205 255 205 +213 255 205 +222 255 205 +238 255 205 +246 255 205 +255 255 205 +255 255 222 +57 255 172 +74 255 180 +90 255 180 +106 255 180 +123 255 180 +139 255 189 +156 255 189 +172 255 197 +205 255 205 +222 255 222 +222 255 222 +230 255 222 +238 255 222 +246 255 222 +255 255 222 +255 255 222 diff --git a/graphics/misc/sunny_day/58.pal b/graphics/misc/sunny_day/58.pal new file mode 100644 index 0000000000..6c208a4aab --- /dev/null +++ b/graphics/misc/sunny_day/58.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 222 +16 0 222 +41 0 222 +57 0 222 +82 0 222 +106 0 222 +131 0 222 +148 0 222 +172 0 222 +197 0 222 +222 0 222 +238 0 222 +255 0 213 +255 8 197 +255 24 197 +255 57 189 +0 16 222 +8 8 222 +32 8 222 +57 8 222 +82 8 222 +106 8 222 +131 8 222 +148 8 222 +172 8 222 +197 8 222 +222 8 222 +246 8 222 +246 24 205 +246 41 197 +255 57 197 +255 74 197 +0 41 222 +8 32 222 +32 32 222 +57 32 222 +82 32 222 +98 32 222 +123 32 222 +148 32 222 +172 32 222 +197 32 222 +222 32 222 +230 41 205 +230 57 197 +238 74 197 +255 74 197 +255 90 197 +0 65 222 +8 57 222 +32 57 222 +57 57 205 +82 57 205 +106 57 205 +123 57 205 +148 57 205 +164 57 205 +189 57 205 +205 57 205 +213 74 197 +230 90 197 +238 90 197 +255 90 197 +255 106 197 +0 90 222 +8 82 222 +32 82 222 +57 82 205 +90 90 197 +106 90 197 +123 90 197 +139 90 197 +156 90 197 +180 90 197 +197 90 197 +213 98 197 +230 106 197 +238 106 197 +255 106 197 +255 123 197 +0 106 222 +8 106 222 +32 106 222 +57 106 205 +90 106 197 +115 115 197 +131 115 197 +148 115 197 +164 115 197 +180 115 197 +197 115 197 +213 115 197 +230 123 197 +238 123 197 +255 131 197 +255 139 197 +0 131 222 +8 131 222 +32 123 222 +57 123 205 +90 123 197 +115 131 197 +131 131 197 +148 131 197 +164 131 197 +180 131 197 +197 131 197 +213 131 197 +230 139 197 +238 139 197 +255 148 197 +255 156 205 +0 156 222 +8 156 222 +32 148 222 +57 148 205 +90 139 197 +115 148 197 +131 148 197 +148 148 197 +164 148 197 +180 148 197 +197 148 197 +213 148 197 +230 156 197 +238 156 197 +255 164 205 +255 172 205 +0 180 222 +8 180 222 +32 172 222 +57 164 205 +90 164 197 +115 164 197 +131 164 197 +148 164 197 +164 164 197 +180 164 197 +197 164 197 +213 164 197 +230 172 197 +238 172 205 +255 180 205 +255 205 222 +0 197 222 +8 205 222 +32 197 222 +57 189 205 +90 180 197 +115 180 197 +131 180 197 +148 180 197 +164 180 197 +180 180 197 +197 180 197 +213 180 197 +230 189 197 +238 189 205 +255 205 213 +255 222 222 +0 222 222 +8 222 222 +32 222 222 +57 205 205 +90 197 197 +115 197 197 +131 197 197 +148 197 197 +164 197 197 +180 197 197 +205 197 197 +213 197 197 +230 205 205 +246 213 213 +255 222 222 +255 238 238 +0 238 213 +8 246 213 +41 230 205 +74 213 197 +98 213 197 +115 213 197 +131 213 197 +148 213 197 +164 213 197 +180 213 197 +197 213 197 +213 213 197 +230 213 205 +246 222 213 +255 230 222 +255 238 238 +0 255 205 +24 246 205 +57 230 197 +90 230 197 +106 230 197 +123 230 197 +139 230 197 +156 230 197 +172 230 197 +189 230 197 +205 230 205 +213 230 205 +230 230 205 +246 238 213 +255 238 222 +255 246 238 +8 255 197 +41 246 197 +74 238 197 +90 238 197 +106 238 197 +123 238 197 +139 238 197 +156 238 197 +172 238 197 +189 238 205 +213 246 213 +222 246 213 +238 246 213 +246 246 213 +255 246 222 +255 246 238 +24 255 189 +57 255 197 +74 255 189 +90 255 197 +106 255 197 +131 255 197 +148 255 197 +164 255 197 +180 255 205 +205 255 213 +222 255 222 +230 255 222 +238 255 222 +246 255 222 +255 255 222 +255 255 238 +57 255 189 +74 255 189 +90 255 189 +106 255 189 +123 255 197 +139 255 197 +156 255 205 +172 255 205 +205 255 222 +222 255 222 +238 255 238 +238 255 238 +246 255 238 +246 255 238 +255 255 238 +255 255 238 diff --git a/graphics/misc/sunny_day/59.pal b/graphics/misc/sunny_day/59.pal new file mode 100644 index 0000000000..fc5d96b1fd --- /dev/null +++ b/graphics/misc/sunny_day/59.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 238 +16 0 238 +32 0 238 +57 0 238 +82 0 238 +106 0 238 +123 0 238 +148 0 238 +172 0 238 +189 0 238 +213 0 238 +238 0 238 +255 0 238 +255 8 222 +255 24 213 +255 57 205 +0 16 238 +8 8 246 +32 8 246 +49 8 246 +74 8 246 +98 8 246 +123 8 246 +148 8 246 +172 8 246 +189 8 246 +213 8 246 +246 8 246 +246 24 230 +246 41 213 +255 57 213 +255 74 205 +0 41 238 +8 32 246 +41 41 230 +65 41 230 +82 41 230 +98 41 230 +123 41 230 +148 41 230 +164 41 230 +180 41 230 +205 41 230 +230 41 230 +230 57 213 +238 74 213 +255 74 213 +255 90 205 +0 65 238 +8 57 246 +41 65 230 +74 74 213 +90 74 213 +106 74 213 +123 74 213 +139 74 213 +164 74 213 +180 74 213 +197 74 213 +213 74 213 +230 90 213 +238 90 213 +255 90 213 +255 106 205 +0 82 238 +8 82 246 +41 82 230 +74 90 213 +98 98 213 +115 98 213 +131 98 213 +148 98 213 +164 98 213 +180 98 213 +197 98 213 +213 98 213 +230 106 213 +238 106 213 +255 106 213 +255 123 205 +0 106 238 +8 106 246 +41 106 230 +74 106 213 +98 115 213 +115 115 213 +131 115 213 +148 115 213 +164 115 213 +180 115 213 +197 115 213 +213 115 213 +230 123 213 +238 123 213 +255 131 213 +255 139 213 +0 131 238 +8 123 246 +41 123 230 +74 123 213 +98 131 213 +115 131 213 +131 131 213 +148 131 213 +164 131 213 +180 131 213 +197 131 213 +213 131 213 +230 139 213 +238 139 213 +255 148 213 +255 156 213 +0 148 238 +8 148 246 +41 148 230 +74 139 213 +98 148 213 +115 148 213 +131 148 213 +148 148 213 +164 148 213 +180 148 213 +197 148 213 +213 148 213 +230 156 213 +238 156 213 +255 164 213 +255 172 213 +0 172 238 +8 172 246 +41 164 230 +74 164 213 +98 164 213 +115 164 213 +131 164 213 +148 164 213 +164 164 213 +180 164 213 +197 164 213 +213 164 213 +230 172 213 +238 172 213 +255 180 213 +255 205 230 +0 197 238 +8 197 246 +41 189 230 +74 180 213 +98 180 213 +115 180 213 +131 180 213 +148 180 213 +164 180 213 +180 180 213 +197 180 213 +213 180 213 +230 189 213 +238 189 213 +255 205 222 +255 222 230 +0 222 238 +8 222 246 +41 205 230 +74 197 213 +98 197 213 +115 197 213 +131 197 213 +148 197 213 +164 197 213 +180 197 213 +197 197 213 +213 197 213 +230 205 213 +246 213 222 +255 222 230 +255 238 238 +0 238 238 +8 246 246 +41 230 230 +74 213 213 +98 213 213 +115 213 213 +131 213 213 +148 213 213 +164 213 213 +180 213 213 +197 213 213 +222 213 213 +238 222 222 +246 230 230 +255 238 238 +255 255 255 +0 255 230 +24 246 222 +57 230 213 +90 230 213 +106 230 213 +123 230 213 +139 230 213 +156 230 213 +172 230 213 +189 230 213 +205 230 213 +222 238 222 +238 238 222 +246 238 230 +255 246 238 +255 255 255 +8 255 213 +41 246 213 +74 238 205 +90 238 205 +106 238 213 +123 238 213 +139 238 213 +156 238 213 +172 238 213 +189 238 213 +213 246 222 +230 246 230 +238 246 230 +246 246 230 +255 246 238 +255 255 255 +24 255 205 +57 255 205 +74 255 213 +90 255 205 +106 255 205 +131 255 213 +148 255 213 +164 255 213 +180 255 213 +205 255 222 +222 255 230 +238 255 238 +246 255 238 +246 255 238 +255 255 238 +255 255 255 +57 255 197 +74 255 205 +90 255 205 +106 255 205 +123 255 205 +139 255 205 +156 255 213 +172 255 213 +205 255 222 +222 255 230 +238 255 238 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/6.pal b/graphics/misc/sunny_day/6.pal new file mode 100644 index 0000000000..b11f0695d4 --- /dev/null +++ b/graphics/misc/sunny_day/6.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 106 +24 8 106 +41 8 106 +57 8 106 +74 8 106 +90 8 106 +106 8 106 +139 0 115 +156 0 115 +172 0 115 +189 0 115 +205 0 115 +222 0 115 +238 0 115 +255 0 106 +255 24 115 +8 24 106 +16 16 115 +41 16 115 +57 16 115 +74 16 115 +98 16 115 +115 16 115 +131 16 115 +156 16 115 +172 16 115 +189 16 115 +205 16 115 +222 16 115 +238 16 106 +246 32 115 +255 41 123 +8 41 106 +16 41 115 +41 41 115 +57 41 115 +74 41 115 +98 41 115 +115 41 115 +131 41 115 +148 32 115 +172 32 115 +189 32 115 +205 32 115 +222 32 106 +230 49 115 +246 49 115 +255 57 123 +8 57 106 +16 57 115 +41 57 115 +57 57 115 +74 57 115 +90 57 115 +115 57 115 +131 57 115 +148 57 115 +164 57 115 +189 49 106 +205 57 106 +213 65 115 +230 65 115 +246 65 123 +255 74 123 +8 74 106 +16 82 115 +41 74 115 +57 74 115 +74 74 115 +90 74 115 +115 74 115 +131 74 115 +148 74 115 +164 74 106 +180 74 106 +197 82 115 +213 82 115 +230 82 123 +246 82 115 +255 90 123 +8 90 106 +16 98 115 +41 98 115 +57 98 115 +74 90 115 +90 90 115 +115 90 115 +131 90 115 +148 90 106 +164 90 106 +180 98 115 +197 98 115 +213 98 115 +230 98 123 +246 106 123 +255 106 123 +8 106 106 +16 115 115 +41 115 115 +57 115 115 +74 115 115 +90 115 115 +115 115 115 +131 106 106 +148 106 106 +164 115 115 +180 115 115 +197 115 115 +213 115 115 +230 123 123 +246 123 123 +255 123 123 +0 139 115 +16 131 115 +41 131 115 +57 131 115 +74 131 115 +90 131 115 +106 131 106 +131 131 106 +148 131 106 +164 131 115 +180 131 115 +197 131 115 +213 131 115 +230 131 123 +246 131 123 +255 139 123 +0 156 115 +16 156 115 +32 148 115 +57 148 106 +74 148 115 +90 148 106 +106 148 106 +131 148 106 +148 148 106 +164 148 115 +180 148 115 +197 148 115 +213 148 115 +230 148 123 +246 156 123 +255 156 123 +0 172 115 +16 172 115 +32 172 115 +57 164 115 +74 164 106 +90 164 106 +115 164 115 +131 164 115 +148 164 115 +164 164 115 +180 164 115 +197 164 115 +213 164 115 +230 164 123 +246 164 123 +255 172 123 +0 189 106 +16 189 115 +32 189 115 +49 189 106 +74 180 106 +98 180 115 +115 180 115 +131 180 115 +148 180 115 +164 180 115 +180 180 115 +197 180 115 +213 180 115 +230 180 123 +246 180 123 +255 180 123 +0 205 106 +16 205 115 +32 205 106 +57 205 106 +82 197 115 +98 197 115 +115 197 115 +131 197 115 +148 197 115 +164 197 115 +180 197 115 +197 197 115 +213 197 115 +230 197 123 +246 197 123 +255 197 123 +0 222 115 +16 222 106 +32 222 106 +65 213 115 +82 213 115 +98 213 115 +115 213 115 +131 213 115 +148 213 115 +164 213 115 +180 213 115 +197 213 115 +213 213 115 +230 213 123 +246 213 123 +255 213 123 +0 238 106 +16 238 106 +49 230 115 +65 230 115 +82 230 115 +98 230 115 +123 230 123 +139 230 123 +156 230 123 +164 230 123 +189 230 123 +197 230 123 +213 230 123 +230 230 123 +246 230 123 +255 230 123 +0 255 106 +32 246 115 +49 246 115 +65 246 115 +82 246 115 +106 246 115 +123 246 123 +139 246 123 +156 246 123 +172 246 123 +180 246 123 +197 246 123 +213 246 123 +230 246 123 +246 246 123 +255 246 123 +24 255 115 +41 255 115 +57 255 115 +74 255 123 +90 255 123 +106 255 123 +123 255 123 +139 255 123 +156 255 123 +172 255 123 +189 255 123 +205 255 123 +213 255 123 +230 255 123 +246 255 123 +255 255 123 diff --git a/graphics/misc/sunny_day/60.pal b/graphics/misc/sunny_day/60.pal new file mode 100644 index 0000000000..ebb714dd44 --- /dev/null +++ b/graphics/misc/sunny_day/60.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 255 +16 0 255 +32 0 255 +57 0 255 +82 0 255 +98 0 255 +123 0 255 +148 0 255 +164 0 255 +189 0 255 +205 0 255 +230 0 255 +255 0 255 +255 8 238 +255 24 230 +255 57 222 +0 16 255 +24 24 246 +41 24 246 +57 24 246 +82 24 246 +98 24 246 +123 24 246 +139 24 246 +164 24 246 +180 24 246 +205 24 246 +222 24 246 +246 24 246 +246 41 230 +255 57 230 +255 74 222 +0 41 255 +24 49 246 +57 57 230 +74 57 230 +90 57 230 +106 57 230 +123 57 230 +139 57 230 +156 57 230 +172 57 230 +197 57 230 +213 57 230 +230 57 230 +238 74 230 +255 74 230 +255 90 222 +0 57 255 +24 65 246 +57 74 230 +90 90 230 +98 90 230 +115 90 230 +131 90 230 +148 90 230 +164 90 230 +180 90 230 +197 90 230 +213 90 230 +230 90 230 +238 90 230 +255 90 222 +255 106 222 +0 82 255 +24 90 246 +57 90 230 +90 106 230 +106 106 230 +115 106 230 +131 106 230 +148 106 230 +164 106 230 +180 106 230 +197 106 230 +213 106 230 +230 106 230 +238 106 230 +255 106 230 +255 123 222 +0 106 255 +24 106 246 +57 106 230 +90 123 230 +106 123 230 +123 123 230 +131 123 230 +148 123 230 +164 123 230 +180 123 230 +197 123 230 +213 123 230 +230 123 230 +238 123 230 +255 131 230 +255 139 222 +0 123 255 +24 131 246 +57 123 230 +90 131 230 +106 131 230 +123 139 230 +139 139 230 +148 139 230 +164 139 230 +180 139 230 +197 139 230 +213 139 230 +230 139 230 +238 139 230 +255 148 230 +255 156 222 +0 148 255 +24 148 246 +57 139 230 +90 148 230 +106 148 230 +123 156 230 +139 156 230 +156 156 230 +164 156 230 +180 156 230 +197 156 230 +213 156 230 +230 156 230 +238 156 230 +255 164 230 +255 172 230 +0 172 255 +24 164 246 +57 164 230 +90 164 230 +106 164 230 +123 164 230 +139 164 230 +156 172 230 +172 172 230 +189 172 230 +197 172 230 +213 172 230 +230 172 230 +238 172 230 +255 180 230 +255 205 238 +0 189 255 +24 189 246 +57 180 230 +90 180 230 +106 180 230 +123 180 230 +139 180 230 +156 180 230 +172 189 230 +189 189 230 +197 189 230 +213 189 230 +230 189 230 +238 189 230 +255 205 238 +255 222 238 +0 213 255 +24 205 246 +57 197 230 +90 197 230 +106 197 230 +123 197 230 +139 197 230 +156 197 230 +172 197 230 +189 197 230 +205 205 230 +213 205 230 +230 205 230 +246 213 238 +255 222 238 +255 238 246 +0 238 255 +24 230 246 +57 213 230 +90 213 230 +106 213 230 +123 213 230 +139 213 230 +156 213 230 +172 213 230 +189 213 230 +205 213 230 +222 222 238 +238 222 238 +246 230 238 +255 238 246 +255 255 255 +0 255 255 +24 246 246 +57 230 230 +90 230 230 +106 230 230 +123 230 230 +139 230 230 +156 230 230 +172 230 230 +189 230 230 +205 230 230 +222 238 238 +238 238 238 +246 246 246 +255 255 255 +255 255 255 +8 255 238 +41 246 230 +74 238 222 +90 238 222 +106 238 222 +123 238 222 +139 238 222 +156 238 222 +172 238 230 +189 238 230 +213 246 238 +230 246 238 +246 246 246 +246 246 246 +255 255 255 +255 255 255 +24 255 222 +57 255 222 +74 255 222 +90 255 222 +106 255 222 +131 255 222 +148 255 230 +164 255 230 +180 255 230 +205 255 230 +222 255 238 +238 255 246 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +57 255 213 +74 255 222 +90 255 213 +106 255 222 +123 255 222 +139 255 222 +156 255 222 +172 255 230 +205 255 230 +222 255 238 +238 255 246 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/61.pal b/graphics/misc/sunny_day/61.pal new file mode 100644 index 0000000000..7ceed14e17 --- /dev/null +++ b/graphics/misc/sunny_day/61.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 255 +24 8 255 +49 8 255 +65 8 255 +82 8 255 +98 8 255 +123 8 255 +139 8 255 +156 8 255 +180 8 255 +197 8 255 +213 8 255 +238 8 255 +255 8 255 +255 24 246 +255 57 230 +8 32 255 +41 41 246 +49 41 246 +65 41 246 +90 41 246 +106 41 246 +123 41 246 +139 41 246 +156 41 246 +172 41 246 +197 41 246 +213 41 246 +230 41 246 +246 41 246 +255 57 246 +255 74 230 +8 49 255 +41 57 246 +74 74 238 +90 74 238 +98 74 238 +115 74 238 +131 74 238 +148 74 238 +164 74 238 +180 74 238 +197 74 238 +205 74 238 +222 74 238 +238 74 238 +255 74 238 +255 90 230 +8 65 255 +41 74 246 +74 90 238 +90 90 238 +106 90 238 +115 90 238 +131 90 238 +148 90 238 +164 90 238 +180 90 238 +197 90 238 +205 90 238 +222 90 238 +238 90 238 +255 90 238 +255 106 230 +8 90 255 +41 90 246 +74 106 238 +90 106 238 +106 106 238 +123 106 238 +139 106 238 +148 106 238 +164 106 238 +180 106 238 +197 106 238 +213 106 238 +222 106 238 +238 106 238 +255 106 238 +255 123 230 +8 106 255 +41 106 246 +74 123 238 +90 123 238 +106 123 238 +123 123 238 +139 123 238 +156 123 238 +164 123 238 +180 123 238 +197 123 238 +213 123 238 +222 123 238 +238 123 238 +255 131 238 +255 139 238 +8 123 255 +41 123 246 +74 131 238 +90 131 238 +106 139 238 +123 139 238 +139 139 238 +156 139 238 +172 139 238 +180 139 238 +197 139 238 +213 139 238 +222 139 238 +238 139 238 +255 148 238 +255 156 238 +8 148 255 +41 139 246 +74 148 238 +90 148 238 +106 148 238 +123 156 238 +139 156 238 +156 156 238 +172 156 238 +180 156 238 +197 156 238 +213 156 238 +222 156 238 +238 156 238 +255 164 238 +255 172 238 +8 164 255 +41 164 246 +74 164 238 +90 164 238 +106 164 238 +123 172 238 +139 172 238 +156 172 238 +172 172 238 +189 172 238 +197 172 238 +213 172 238 +230 172 238 +238 172 238 +255 180 238 +255 205 246 +8 180 255 +41 180 246 +74 180 238 +90 180 238 +106 180 238 +123 180 238 +139 180 238 +156 189 238 +172 189 238 +189 189 238 +205 189 238 +213 189 238 +230 189 238 +238 189 238 +255 205 246 +255 222 246 +8 197 255 +41 197 246 +74 197 238 +90 197 238 +106 197 238 +123 197 238 +139 197 238 +156 197 238 +172 205 238 +189 205 238 +213 213 246 +222 213 246 +238 213 246 +246 213 246 +255 222 246 +255 238 246 +8 222 255 +41 213 246 +74 213 238 +90 213 238 +106 213 238 +123 213 238 +139 213 238 +156 213 238 +172 213 238 +189 213 238 +213 222 246 +230 230 246 +238 230 246 +246 230 246 +255 238 246 +255 255 255 +8 238 255 +41 230 246 +74 230 238 +90 230 238 +106 230 238 +123 230 238 +139 230 238 +156 230 238 +172 230 238 +189 230 238 +213 238 246 +230 238 246 +246 246 246 +246 246 246 +255 255 255 +255 255 255 +8 255 255 +41 246 246 +74 238 238 +90 238 238 +106 238 238 +123 238 238 +139 238 238 +156 238 238 +172 238 238 +189 238 238 +213 246 246 +230 246 246 +246 246 246 +255 255 255 +255 255 255 +255 255 255 +24 255 238 +57 255 238 +74 255 238 +90 255 238 +106 255 238 +131 255 238 +148 255 238 +164 255 238 +180 255 238 +205 255 246 +222 255 246 +238 255 246 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +57 255 230 +74 255 230 +90 255 230 +106 255 230 +123 255 230 +139 255 230 +156 255 238 +172 255 238 +205 255 238 +222 255 246 +238 255 246 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/62.pal b/graphics/misc/sunny_day/62.pal new file mode 100644 index 0000000000..6bd460ecda --- /dev/null +++ b/graphics/misc/sunny_day/62.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +24 24 255 +41 24 255 +57 24 255 +74 24 255 +90 24 255 +106 24 255 +123 24 255 +139 24 255 +156 24 255 +172 24 255 +189 24 255 +205 24 255 +222 24 255 +238 24 255 +255 24 255 +255 57 246 +24 49 255 +57 57 255 +74 57 255 +90 57 255 +98 57 255 +115 57 255 +131 57 255 +148 57 255 +164 57 255 +180 57 255 +197 57 255 +205 57 255 +222 57 255 +238 57 255 +255 57 255 +255 74 246 +24 65 255 +57 74 255 +74 74 255 +90 74 255 +98 74 255 +123 74 255 +131 74 255 +148 74 255 +164 74 255 +180 74 255 +189 74 255 +213 74 255 +222 74 255 +238 74 255 +255 74 255 +255 90 246 +24 82 255 +57 90 255 +74 90 255 +90 90 255 +106 90 255 +123 90 255 +139 90 255 +148 90 255 +164 90 255 +180 90 255 +197 90 255 +205 90 255 +222 90 255 +238 90 255 +255 90 255 +255 106 246 +24 98 255 +57 106 255 +74 106 255 +90 106 255 +106 106 255 +123 106 255 +139 106 255 +148 106 255 +164 106 255 +180 106 255 +197 106 255 +205 106 255 +222 106 255 +238 106 255 +255 106 255 +255 123 246 +24 115 255 +57 123 255 +74 123 255 +90 123 255 +106 123 255 +131 131 255 +139 131 255 +156 131 255 +164 131 255 +180 131 255 +197 131 255 +213 131 255 +222 131 255 +238 131 255 +255 131 255 +255 139 246 +24 131 255 +57 131 255 +74 131 255 +90 139 255 +106 139 255 +131 139 255 +148 148 255 +156 148 255 +172 148 255 +189 148 255 +197 148 255 +213 148 255 +230 148 255 +238 148 255 +255 148 255 +255 156 246 +24 139 255 +57 148 255 +74 148 255 +90 156 255 +106 156 255 +131 156 255 +148 156 255 +164 164 255 +172 164 255 +189 164 255 +197 164 255 +213 164 255 +230 164 255 +238 164 255 +255 164 255 +255 172 246 +24 164 255 +57 164 255 +74 164 255 +90 172 255 +106 164 255 +131 172 255 +148 172 255 +164 172 255 +180 180 255 +189 180 255 +205 180 255 +213 180 255 +230 180 255 +238 180 255 +255 180 255 +255 205 255 +24 180 255 +57 180 255 +74 180 255 +90 180 255 +106 180 255 +131 180 255 +148 189 255 +164 189 255 +180 189 255 +205 205 255 +213 205 255 +222 205 255 +230 205 255 +246 205 255 +255 205 255 +255 222 255 +24 197 255 +57 197 255 +74 197 255 +90 197 255 +106 197 255 +131 197 255 +148 197 255 +164 205 255 +180 205 255 +205 213 255 +222 222 255 +230 222 255 +238 222 255 +246 222 255 +255 222 255 +255 238 255 +24 213 255 +57 213 255 +74 213 255 +90 213 255 +106 213 255 +131 213 255 +148 213 255 +164 213 255 +180 213 255 +205 222 255 +222 230 255 +238 238 255 +246 238 255 +246 238 255 +255 238 255 +255 255 255 +24 230 255 +57 230 255 +74 230 255 +90 222 255 +106 230 255 +131 230 255 +148 230 255 +164 230 255 +180 230 255 +205 238 255 +222 238 255 +238 246 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +24 246 255 +57 246 255 +74 238 255 +90 238 255 +106 238 255 +131 238 255 +148 238 255 +164 238 255 +180 238 255 +205 246 255 +222 246 255 +238 246 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +24 255 255 +57 255 255 +74 255 255 +90 255 255 +106 255 255 +131 255 255 +148 255 255 +164 255 255 +180 255 255 +205 255 255 +222 255 255 +238 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +57 255 238 +74 255 246 +90 255 246 +106 255 246 +123 255 246 +139 255 246 +156 255 246 +172 255 246 +205 255 246 +222 255 255 +238 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/63.pal b/graphics/misc/sunny_day/63.pal new file mode 100644 index 0000000000..8cf52aa114 --- /dev/null +++ b/graphics/misc/sunny_day/63.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +57 57 255 +65 57 255 +82 57 255 +90 57 255 +106 57 255 +123 57 255 +131 57 255 +148 57 255 +164 57 255 +172 57 255 +189 57 255 +197 57 255 +213 57 255 +230 57 255 +238 57 255 +255 57 255 +57 65 255 +74 74 255 +82 74 255 +98 74 255 +106 74 255 +123 74 255 +139 74 255 +148 74 255 +164 74 255 +180 74 255 +189 74 255 +205 74 255 +222 74 255 +230 74 255 +246 74 255 +255 74 255 +57 82 255 +74 90 255 +90 90 255 +98 90 255 +115 90 255 +123 90 255 +139 90 255 +148 90 255 +164 90 255 +180 90 255 +189 90 255 +205 90 255 +213 90 255 +230 90 255 +246 90 255 +255 90 255 +57 98 255 +74 98 255 +90 106 255 +106 106 255 +115 106 255 +131 106 255 +148 106 255 +156 106 255 +164 106 255 +180 106 255 +189 106 255 +205 106 255 +222 106 255 +230 106 255 +246 106 255 +255 106 255 +57 106 255 +74 115 255 +90 115 255 +106 123 255 +123 123 255 +131 123 255 +148 123 255 +156 123 255 +172 123 255 +180 123 255 +197 123 255 +205 123 255 +222 123 255 +230 123 255 +246 123 255 +255 123 255 +57 123 255 +74 131 255 +90 131 255 +106 131 255 +123 139 255 +139 139 255 +148 139 255 +164 139 255 +172 139 255 +189 139 255 +197 139 255 +205 139 255 +222 139 255 +230 139 255 +246 139 255 +255 139 255 +57 139 255 +74 139 255 +90 139 255 +106 148 255 +123 148 255 +139 156 255 +156 156 255 +164 156 255 +180 156 255 +189 156 255 +205 156 255 +213 156 255 +222 156 255 +238 156 255 +246 156 255 +255 156 255 +57 148 255 +74 156 255 +90 156 255 +106 156 255 +123 164 255 +139 164 255 +156 172 255 +172 172 255 +180 172 255 +197 172 255 +205 172 255 +213 172 255 +230 172 255 +238 172 255 +246 172 255 +255 172 255 +57 164 255 +74 164 255 +90 172 255 +106 172 255 +123 172 255 +139 172 255 +156 180 255 +172 189 255 +205 205 255 +205 205 255 +222 205 255 +222 205 255 +230 205 255 +238 205 255 +246 205 255 +255 205 255 +57 180 255 +74 180 255 +90 180 255 +106 180 255 +123 189 255 +139 189 255 +156 189 255 +172 197 255 +205 213 255 +222 222 255 +222 222 255 +230 222 255 +238 222 255 +246 222 255 +255 222 255 +255 222 255 +57 189 255 +74 197 255 +90 197 255 +106 197 255 +123 197 255 +139 197 255 +156 205 255 +172 205 255 +205 222 255 +222 222 255 +238 238 255 +238 238 255 +246 238 255 +246 238 255 +255 238 255 +255 238 255 +57 205 255 +74 205 255 +90 205 255 +106 205 255 +123 205 255 +139 213 255 +156 213 255 +172 213 255 +205 230 255 +222 230 255 +238 238 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +57 222 255 +74 222 255 +90 222 255 +106 222 255 +123 222 255 +139 222 255 +156 222 255 +172 230 255 +205 238 255 +222 238 255 +238 246 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +57 230 255 +74 230 255 +90 230 255 +106 230 255 +123 230 255 +139 238 255 +156 238 255 +172 238 255 +205 246 255 +222 246 255 +238 246 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +57 246 255 +74 246 255 +90 246 255 +106 246 255 +123 246 255 +139 246 255 +156 246 255 +172 246 255 +205 255 255 +222 255 255 +238 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +57 255 255 +74 255 255 +90 255 255 +106 255 255 +123 255 255 +139 255 255 +156 255 255 +172 255 255 +205 255 255 +222 255 255 +238 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/64.pal b/graphics/misc/sunny_day/64.pal new file mode 100644 index 0000000000..f516a8fee7 --- /dev/null +++ b/graphics/misc/sunny_day/64.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 8 +24 8 8 +41 8 8 +57 8 8 +74 8 8 +90 8 8 +106 8 8 +180 0 0 +197 0 0 +213 0 0 +230 0 0 +255 0 0 +255 8 8 +255 24 24 +255 41 41 +255 65 65 +8 24 8 +24 24 8 +41 24 8 +57 24 8 +74 24 8 +90 24 8 +106 24 8 +180 24 0 +197 16 0 +213 16 0 +230 16 0 +255 16 0 +255 24 8 +255 41 24 +255 49 41 +255 74 65 +8 41 8 +24 41 8 +41 41 8 +57 41 8 +74 41 8 +90 41 8 +106 41 8 +180 49 0 +197 49 0 +213 41 0 +230 41 0 +255 41 0 +255 41 8 +255 57 24 +255 65 41 +255 90 65 +8 57 8 +24 57 8 +41 57 8 +57 57 8 +74 57 8 +90 57 8 +106 57 8 +180 74 0 +197 74 0 +213 65 0 +230 65 0 +255 65 0 +255 65 8 +255 74 24 +255 82 41 +255 98 65 +8 74 8 +24 74 8 +41 74 8 +57 74 8 +74 74 8 +90 74 8 +106 74 8 +180 98 0 +197 98 0 +213 90 0 +230 90 0 +255 82 0 +255 82 8 +255 90 24 +255 98 41 +255 115 65 +8 90 8 +24 90 8 +41 90 8 +57 90 8 +74 90 8 +90 90 8 +106 90 8 +180 123 0 +197 123 0 +213 115 0 +230 115 0 +255 106 0 +255 106 8 +255 106 24 +255 115 41 +255 123 65 +8 106 8 +24 106 8 +41 106 8 +57 106 8 +74 106 8 +90 106 8 +106 106 8 +180 156 0 +197 148 0 +213 139 0 +230 131 0 +255 131 0 +255 131 8 +255 131 24 +255 131 41 +255 139 65 +0 180 0 +24 180 0 +49 180 0 +74 180 0 +106 180 0 +131 180 0 +156 180 0 +180 180 0 +197 172 0 +213 164 0 +230 156 0 +255 156 0 +255 148 8 +255 148 24 +255 148 41 +255 156 65 +0 197 0 +24 197 0 +49 197 0 +74 197 0 +98 197 0 +123 197 0 +148 197 0 +172 197 0 +197 197 0 +213 189 0 +230 180 0 +255 180 0 +255 172 8 +255 164 24 +255 164 41 +255 164 65 +0 213 0 +24 213 0 +49 213 0 +65 213 0 +98 213 0 +123 213 0 +139 213 0 +172 213 0 +197 213 0 +213 213 0 +230 205 0 +255 197 0 +255 197 8 +255 180 24 +255 180 41 +255 180 65 +0 230 0 +16 230 0 +41 230 0 +65 230 0 +90 230 0 +115 230 0 +139 230 0 +164 230 0 +189 230 0 +213 230 0 +230 230 0 +255 222 0 +255 213 8 +255 197 24 +255 189 41 +255 189 65 +0 255 0 +24 255 0 +41 255 0 +65 255 0 +90 255 0 +115 255 0 +139 255 0 +156 255 0 +180 255 0 +205 255 0 +230 255 0 +255 255 0 +255 230 8 +255 222 24 +255 213 41 +255 205 65 +8 255 8 +24 255 8 +49 255 8 +65 255 8 +90 255 8 +106 255 8 +131 255 8 +156 255 8 +172 255 8 +197 255 8 +213 255 8 +238 255 8 +255 255 8 +255 238 24 +255 222 41 +255 213 65 +24 255 24 +41 255 24 +57 255 24 +74 255 24 +98 255 24 +115 255 24 +131 255 24 +156 255 24 +164 255 24 +189 255 24 +205 255 24 +222 255 24 +246 255 24 +255 255 24 +255 238 41 +255 230 65 +41 255 41 +57 255 41 +74 255 41 +90 255 41 +106 255 41 +123 255 41 +131 255 41 +148 255 41 +164 255 41 +180 255 41 +197 255 41 +213 255 41 +230 255 41 +246 255 41 +255 255 41 +255 246 65 +65 255 65 +82 255 65 +90 255 65 +106 255 65 +115 255 65 +131 255 65 +139 255 65 +156 255 65 +172 255 65 +180 255 65 +197 255 65 +205 255 65 +222 255 65 +230 255 65 +246 255 65 +255 255 65 diff --git a/graphics/misc/sunny_day/65.pal b/graphics/misc/sunny_day/65.pal new file mode 100644 index 0000000000..23c42e13f0 --- /dev/null +++ b/graphics/misc/sunny_day/65.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 24 +24 8 24 +41 8 24 +57 8 24 +74 8 24 +90 8 24 +106 8 24 +180 0 24 +197 0 24 +213 0 24 +230 0 16 +255 0 24 +255 8 24 +255 24 41 +255 41 57 +255 65 82 +8 24 24 +24 24 24 +41 24 24 +57 24 24 +74 24 24 +90 24 24 +156 16 16 +180 16 16 +197 16 16 +213 16 16 +238 8 8 +246 16 16 +246 32 32 +255 49 49 +255 65 65 +255 82 82 +8 41 24 +24 41 24 +41 41 24 +57 41 24 +74 41 24 +90 41 24 +156 49 16 +180 41 16 +197 41 16 +213 41 16 +238 32 8 +246 32 16 +246 49 32 +255 57 49 +255 82 65 +255 98 82 +8 57 24 +24 57 24 +41 57 24 +57 57 24 +74 57 24 +90 57 24 +156 74 16 +180 65 16 +197 65 16 +213 65 16 +238 57 8 +246 57 16 +246 65 32 +255 74 49 +255 98 65 +255 106 82 +8 74 24 +24 74 24 +41 74 24 +57 74 24 +74 74 24 +90 74 24 +156 98 16 +180 98 16 +197 90 16 +213 90 16 +238 82 8 +246 82 16 +246 90 32 +255 98 49 +255 106 65 +255 115 82 +8 90 24 +24 90 24 +41 90 24 +57 90 24 +74 90 24 +90 90 24 +156 131 16 +180 123 16 +197 115 16 +213 115 16 +238 106 8 +246 106 16 +246 106 32 +255 106 49 +255 123 65 +255 131 82 +8 106 24 +16 156 16 +49 156 16 +74 156 16 +106 156 16 +131 156 16 +156 156 16 +180 148 16 +197 139 16 +213 139 16 +238 131 8 +246 131 16 +246 131 32 +255 131 49 +255 139 65 +255 148 82 +0 180 24 +16 180 16 +41 180 16 +74 180 16 +98 180 16 +123 180 16 +148 180 16 +180 180 16 +197 172 16 +213 164 16 +238 156 8 +246 148 16 +246 148 32 +255 148 49 +255 156 65 +255 156 82 +0 197 16 +16 197 16 +41 197 16 +74 197 16 +90 197 16 +123 197 16 +148 197 16 +172 197 16 +197 197 16 +213 189 16 +238 180 8 +246 172 16 +246 164 32 +255 164 49 +255 172 65 +255 172 82 +0 213 16 +16 213 16 +41 213 16 +65 213 16 +90 213 16 +115 213 16 +139 213 16 +164 213 16 +189 213 16 +213 213 16 +238 213 8 +246 197 16 +246 189 32 +255 180 49 +255 180 65 +255 180 82 +0 230 16 +8 238 8 +32 238 8 +65 238 8 +82 238 8 +115 238 8 +139 238 8 +164 238 8 +189 238 8 +213 238 8 +238 238 8 +246 222 16 +246 205 32 +255 197 49 +255 197 65 +255 197 82 +0 255 16 +16 246 16 +41 246 16 +65 246 16 +82 246 16 +106 246 16 +131 246 16 +156 246 16 +180 246 16 +197 246 16 +222 246 16 +246 246 16 +246 230 32 +255 213 49 +255 213 65 +255 205 82 +8 255 24 +32 246 32 +49 246 32 +74 246 32 +90 246 32 +115 246 32 +131 246 32 +148 246 32 +172 246 32 +189 246 32 +205 246 32 +230 246 32 +246 246 32 +255 230 49 +255 230 65 +255 222 82 +24 255 41 +49 255 49 +65 255 49 +82 255 49 +98 255 49 +115 255 49 +131 255 49 +148 255 49 +164 255 49 +180 255 49 +197 255 49 +213 255 49 +238 255 49 +255 255 49 +255 246 65 +255 230 82 +41 255 49 +65 255 65 +82 255 65 +98 255 65 +115 255 65 +123 255 65 +139 255 65 +156 255 65 +172 255 65 +189 255 65 +197 255 65 +213 255 65 +230 255 65 +246 255 65 +255 255 65 +255 246 82 +65 255 74 +82 255 82 +98 255 82 +106 255 82 +123 255 82 +139 255 82 +148 255 82 +156 255 82 +172 255 82 +189 255 82 +197 255 82 +205 255 82 +222 255 82 +238 255 82 +246 255 82 +255 255 82 diff --git a/graphics/misc/sunny_day/66.pal b/graphics/misc/sunny_day/66.pal new file mode 100644 index 0000000000..1a76a24d1b --- /dev/null +++ b/graphics/misc/sunny_day/66.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 41 +24 8 41 +41 8 41 +57 8 41 +74 8 41 +90 8 41 +106 8 41 +180 0 49 +197 0 49 +213 0 49 +230 0 41 +255 0 41 +255 8 49 +255 24 57 +255 41 74 +255 65 90 +8 24 41 +24 24 41 +41 24 41 +57 24 41 +74 24 41 +90 24 41 +156 16 49 +180 16 41 +197 16 41 +213 16 41 +238 8 32 +246 16 41 +246 32 49 +255 49 65 +255 65 82 +255 82 98 +8 41 41 +24 41 41 +41 41 41 +57 41 41 +74 41 41 +131 49 49 +156 41 41 +172 41 41 +197 32 32 +213 32 32 +222 41 41 +230 49 49 +238 65 65 +246 82 82 +255 82 82 +255 98 98 +8 57 41 +24 57 41 +41 57 41 +57 57 41 +74 57 41 +131 74 49 +156 74 41 +172 65 41 +197 57 32 +213 57 32 +222 57 41 +230 65 49 +238 74 65 +246 90 82 +255 98 82 +255 106 98 +8 74 41 +24 74 41 +41 74 41 +57 74 41 +74 74 41 +131 98 49 +156 98 41 +172 90 41 +197 82 32 +213 82 32 +222 82 41 +230 90 49 +238 90 65 +246 106 82 +255 106 82 +255 123 98 +8 90 41 +24 90 41 +49 131 49 +74 131 49 +106 131 49 +131 131 49 +156 123 41 +172 115 41 +197 115 32 +213 106 32 +222 106 41 +230 106 49 +238 115 65 +246 123 82 +255 123 82 +255 131 98 +8 106 41 +16 156 49 +41 156 41 +74 156 41 +98 156 41 +123 156 41 +156 156 41 +172 148 41 +197 139 32 +213 131 32 +222 131 41 +230 131 49 +238 131 65 +246 139 82 +255 139 82 +255 148 98 +0 180 49 +16 180 41 +41 172 41 +65 172 41 +90 172 41 +123 172 41 +148 172 41 +172 172 41 +197 164 32 +213 156 32 +222 156 41 +230 148 49 +238 148 65 +246 156 82 +255 156 82 +255 156 98 +0 197 49 +16 197 41 +32 197 32 +65 197 32 +90 197 32 +115 197 32 +139 197 32 +164 197 32 +197 197 32 +213 189 32 +222 180 41 +230 164 49 +238 164 65 +246 164 82 +255 172 82 +255 172 98 +0 213 41 +16 213 41 +32 213 32 +57 213 32 +90 213 32 +115 213 32 +139 213 32 +164 213 32 +189 213 32 +213 213 32 +222 197 41 +230 189 49 +238 180 65 +246 180 82 +255 180 82 +255 180 98 +0 230 41 +8 238 32 +41 222 41 +65 222 41 +82 222 41 +106 222 41 +131 222 41 +156 222 41 +180 222 41 +205 222 41 +222 222 41 +230 205 49 +238 197 65 +246 197 82 +255 197 82 +255 197 98 +0 255 41 +16 246 32 +49 230 49 +74 230 49 +90 230 49 +106 230 49 +131 230 49 +156 230 49 +172 230 49 +189 230 49 +213 230 49 +230 230 49 +238 213 65 +246 213 82 +255 213 82 +255 205 98 +8 255 41 +32 246 49 +65 238 65 +82 238 65 +98 238 65 +115 238 65 +131 238 65 +148 238 65 +164 238 65 +180 238 65 +197 238 65 +222 238 65 +238 238 65 +246 230 82 +255 230 82 +255 222 98 +24 255 57 +49 255 57 +82 246 82 +98 246 82 +106 246 82 +123 246 82 +139 246 82 +156 246 82 +172 246 82 +180 246 82 +197 246 82 +213 246 82 +230 246 82 +246 246 82 +255 238 82 +255 230 98 +41 255 65 +65 255 82 +82 255 82 +98 255 82 +115 255 82 +123 255 82 +139 255 82 +156 255 82 +172 255 82 +189 255 82 +197 255 82 +213 255 82 +230 255 82 +246 255 82 +255 255 82 +255 246 98 +65 255 90 +82 255 98 +98 255 98 +115 255 98 +123 255 98 +139 255 98 +148 255 98 +164 255 98 +172 255 98 +189 255 98 +197 255 98 +213 255 98 +222 255 98 +238 255 98 +246 255 98 +255 255 98 diff --git a/graphics/misc/sunny_day/67.pal b/graphics/misc/sunny_day/67.pal new file mode 100644 index 0000000000..d7eb5fe5f1 --- /dev/null +++ b/graphics/misc/sunny_day/67.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 57 +24 8 57 +41 8 57 +57 8 57 +74 8 57 +90 8 57 +106 8 57 +180 0 74 +197 0 74 +213 0 65 +230 0 65 +255 0 65 +255 8 65 +255 24 74 +255 41 90 +255 65 106 +8 24 57 +24 24 57 +41 24 57 +57 24 57 +74 24 57 +90 24 57 +156 16 74 +180 16 74 +197 16 74 +213 16 65 +238 8 65 +246 16 65 +246 32 74 +255 49 82 +255 65 98 +255 82 106 +8 41 57 +24 41 57 +41 41 57 +57 41 57 +74 41 57 +131 49 74 +156 41 74 +172 41 65 +197 32 65 +213 32 57 +222 41 65 +230 49 74 +238 65 82 +246 82 98 +255 82 98 +255 98 115 +8 57 57 +24 57 57 +41 57 57 +57 57 57 +106 74 74 +131 65 65 +148 65 65 +172 57 57 +189 57 57 +205 57 57 +213 65 65 +222 74 74 +230 90 90 +246 98 98 +255 98 98 +255 115 115 +8 74 57 +24 74 57 +41 74 57 +74 106 74 +106 106 74 +131 98 65 +148 90 65 +172 90 57 +189 82 57 +205 82 57 +213 90 65 +222 90 74 +230 106 90 +246 106 98 +255 115 98 +255 123 115 +8 90 57 +24 90 57 +49 131 74 +65 131 65 +98 131 65 +131 131 65 +148 123 65 +172 115 57 +189 106 57 +205 106 57 +213 106 65 +222 115 74 +230 123 90 +246 123 98 +255 123 98 +255 139 115 +8 106 57 +16 156 74 +41 156 74 +65 148 65 +90 148 65 +123 148 65 +148 148 65 +172 139 57 +189 131 57 +205 131 57 +213 131 65 +222 131 74 +230 139 90 +246 139 98 +255 139 98 +255 156 115 +0 180 74 +16 180 65 +41 172 65 +57 172 57 +90 172 57 +115 172 57 +139 172 57 +172 172 57 +189 164 57 +205 156 57 +213 148 65 +222 148 74 +230 156 90 +246 156 98 +255 156 98 +255 164 115 +0 197 74 +16 197 65 +32 197 57 +57 189 57 +82 189 57 +106 189 57 +139 189 57 +164 189 57 +189 189 57 +205 180 57 +213 172 65 +222 164 74 +230 172 90 +246 172 98 +255 172 98 +255 172 115 +0 213 65 +16 213 65 +32 213 57 +57 205 57 +82 205 57 +106 205 57 +131 205 57 +156 205 57 +180 205 57 +205 205 57 +213 189 65 +222 180 74 +230 180 90 +246 180 98 +255 180 98 +255 189 115 +0 230 65 +8 238 57 +41 222 57 +65 213 65 +90 213 65 +115 213 65 +131 213 65 +156 213 65 +172 213 65 +197 213 65 +213 213 65 +222 197 74 +230 197 90 +246 197 98 +255 197 98 +255 197 115 +0 255 65 +16 246 57 +49 230 65 +74 222 74 +98 222 74 +115 222 74 +131 222 74 +148 222 74 +164 222 74 +180 222 74 +205 222 74 +222 222 74 +230 213 90 +246 213 98 +255 213 98 +255 205 115 +8 255 65 +32 246 65 +65 238 74 +90 230 90 +106 230 90 +123 230 90 +139 230 90 +156 230 90 +172 230 90 +189 230 90 +205 230 90 +213 230 90 +230 230 90 +246 230 98 +255 230 98 +255 222 115 +24 255 74 +49 255 74 +82 246 90 +98 246 98 +115 246 98 +123 246 98 +139 246 98 +156 246 98 +172 246 98 +189 246 98 +197 246 98 +213 246 98 +230 246 98 +246 246 98 +255 238 98 +255 230 115 +41 255 82 +65 255 98 +82 255 98 +98 255 98 +115 255 98 +131 255 98 +148 255 98 +156 255 98 +172 255 98 +189 255 98 +197 255 98 +213 255 98 +230 255 98 +246 255 98 +255 255 98 +255 246 115 +65 255 98 +82 255 106 +98 255 106 +115 255 115 +131 255 115 +139 255 115 +156 255 115 +164 255 115 +172 255 115 +189 255 115 +197 255 115 +213 255 115 +222 255 115 +238 255 115 +246 255 115 +255 255 115 diff --git a/graphics/misc/sunny_day/68.pal b/graphics/misc/sunny_day/68.pal new file mode 100644 index 0000000000..b325c14ad3 --- /dev/null +++ b/graphics/misc/sunny_day/68.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 74 +24 8 74 +41 8 74 +57 8 74 +74 8 74 +90 8 74 +106 8 74 +180 0 106 +197 0 98 +213 0 98 +230 0 90 +255 0 90 +255 8 90 +255 24 98 +255 41 106 +255 65 115 +8 24 74 +24 24 74 +41 24 74 +57 24 74 +74 24 74 +90 24 74 +156 16 106 +180 16 98 +197 16 90 +213 16 90 +238 8 82 +246 16 82 +246 32 90 +255 49 98 +255 65 115 +255 82 123 +8 41 74 +24 41 74 +41 41 74 +57 41 74 +74 41 74 +131 49 106 +156 41 98 +172 41 90 +197 32 90 +213 32 90 +222 41 82 +230 49 90 +238 65 98 +246 82 106 +255 82 115 +255 98 123 +8 57 74 +24 57 74 +41 57 74 +74 74 106 +106 74 106 +131 65 98 +148 65 90 +172 57 90 +189 57 82 +205 57 82 +213 65 90 +222 74 98 +230 90 106 +246 98 115 +255 98 115 +255 115 131 +8 74 74 +24 74 74 +41 74 74 +74 106 106 +106 90 90 +123 90 90 +148 82 82 +164 82 82 +180 82 82 +197 90 90 +205 90 90 +213 106 106 +230 106 106 +246 115 115 +255 115 115 +255 131 131 +8 90 74 +24 90 74 +49 131 98 +65 131 98 +90 123 90 +123 123 90 +148 115 82 +164 106 82 +180 106 82 +197 106 90 +205 106 90 +213 123 106 +230 123 106 +246 131 115 +255 131 115 +255 148 131 +8 106 74 +16 156 98 +41 156 98 +65 148 90 +82 148 82 +115 148 82 +148 148 82 +164 139 82 +180 131 82 +197 131 90 +205 131 90 +213 139 106 +230 139 106 +246 139 115 +255 148 115 +255 156 131 +0 180 98 +16 180 98 +41 172 90 +57 172 90 +82 164 82 +106 164 82 +139 164 82 +164 164 82 +180 156 82 +197 148 90 +205 148 90 +213 156 106 +230 156 106 +246 156 115 +255 156 115 +255 164 131 +0 197 98 +16 197 90 +32 197 82 +57 189 82 +82 180 82 +106 180 82 +131 180 82 +156 180 82 +180 180 82 +197 172 90 +205 164 90 +213 172 106 +230 172 106 +246 172 115 +255 172 115 +255 180 131 +0 213 90 +16 213 90 +32 213 82 +57 205 82 +90 197 90 +106 197 90 +131 197 90 +148 197 90 +172 197 90 +197 197 90 +205 180 90 +213 180 106 +230 189 106 +246 189 115 +255 189 115 +255 189 131 +0 230 90 +8 238 82 +41 222 82 +65 213 90 +90 205 90 +115 205 90 +131 205 90 +148 205 90 +164 205 90 +189 205 90 +205 205 90 +213 197 106 +230 197 106 +246 197 115 +255 197 115 +255 197 131 +0 255 82 +16 246 82 +49 230 90 +74 222 90 +106 213 106 +123 213 106 +139 213 106 +156 213 106 +172 213 106 +189 213 106 +205 213 106 +213 213 106 +230 213 106 +246 213 115 +255 213 115 +255 213 131 +8 255 82 +32 246 90 +65 238 90 +90 230 106 +106 230 106 +123 230 106 +139 230 106 +156 230 106 +172 230 106 +189 230 106 +197 230 106 +213 230 106 +230 230 106 +246 230 115 +255 230 115 +255 222 131 +24 255 90 +49 255 98 +82 246 106 +98 246 106 +115 246 115 +131 246 115 +148 246 115 +156 246 115 +172 246 115 +189 246 115 +197 246 115 +213 246 115 +230 246 115 +246 246 115 +255 238 115 +255 230 131 +41 255 98 +65 255 106 +82 255 106 +98 255 115 +115 255 115 +131 255 115 +148 255 115 +164 255 115 +172 255 115 +189 255 115 +205 255 115 +213 255 115 +230 255 115 +246 255 115 +255 255 115 +255 246 131 +65 255 115 +82 255 115 +98 255 123 +115 255 123 +131 255 131 +148 255 131 +156 255 131 +172 255 131 +180 255 131 +189 255 131 +205 255 131 +213 255 131 +222 255 131 +238 255 131 +246 255 131 +255 255 131 diff --git a/graphics/misc/sunny_day/69.pal b/graphics/misc/sunny_day/69.pal new file mode 100644 index 0000000000..0612a71823 --- /dev/null +++ b/graphics/misc/sunny_day/69.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 90 +24 8 90 +41 8 90 +57 8 90 +74 8 90 +90 8 90 +106 8 90 +180 0 131 +197 0 123 +213 0 123 +230 0 115 +255 0 115 +255 8 106 +255 24 115 +255 41 123 +255 65 131 +8 24 90 +24 24 90 +41 24 90 +57 24 90 +74 24 90 +90 24 90 +156 16 131 +180 16 123 +197 16 123 +213 16 115 +238 8 115 +246 16 106 +246 32 115 +255 49 115 +255 65 123 +255 82 139 +8 41 90 +24 41 90 +49 49 131 +74 49 131 +98 49 131 +131 49 131 +156 41 123 +172 41 123 +197 32 115 +213 32 115 +222 41 106 +230 49 106 +238 65 115 +246 82 123 +255 82 123 +255 98 139 +8 57 90 +24 57 90 +49 74 131 +65 65 131 +98 65 131 +131 65 131 +148 65 123 +172 57 115 +189 57 106 +205 57 106 +213 65 115 +222 74 115 +230 90 123 +246 98 123 +255 98 131 +255 115 139 +8 74 90 +24 74 90 +49 106 131 +65 98 131 +90 90 123 +123 90 123 +148 82 115 +164 82 106 +180 82 106 +197 90 106 +205 90 115 +213 106 123 +230 106 123 +246 115 131 +255 115 131 +255 131 148 +8 90 90 +24 90 90 +49 131 131 +65 131 131 +90 123 123 +123 106 106 +148 106 106 +164 98 98 +172 106 106 +189 106 106 +205 123 123 +213 123 123 +230 123 123 +246 131 131 +255 139 139 +255 148 148 +8 106 90 +16 156 131 +41 156 123 +65 148 123 +82 148 115 +106 148 106 +148 148 106 +164 131 98 +172 131 106 +189 131 106 +205 139 123 +213 139 123 +230 139 123 +246 148 131 +255 148 139 +255 156 148 +0 180 123 +16 180 123 +41 172 115 +57 172 115 +82 164 106 +98 164 98 +131 164 98 +164 164 98 +172 148 106 +189 148 106 +205 156 123 +213 156 123 +230 156 123 +246 156 131 +255 164 139 +255 172 148 +0 197 123 +16 197 115 +32 197 115 +57 189 106 +82 180 106 +106 172 106 +131 172 106 +148 172 106 +172 172 106 +189 172 106 +205 172 123 +213 172 123 +230 172 123 +246 172 131 +255 172 139 +255 180 148 +0 213 115 +16 213 115 +32 213 106 +57 205 106 +90 197 106 +106 189 106 +131 189 106 +148 189 106 +172 189 106 +189 189 106 +205 189 123 +213 180 123 +230 189 123 +246 189 131 +255 189 139 +255 189 148 +0 230 115 +8 238 106 +41 222 106 +65 213 106 +90 205 106 +123 205 123 +139 205 123 +156 205 123 +172 205 123 +189 205 123 +205 205 123 +213 197 123 +230 197 123 +246 197 131 +255 205 139 +255 205 148 +0 255 106 +16 246 106 +49 230 106 +74 222 115 +106 213 123 +123 213 123 +139 213 123 +156 213 123 +172 213 123 +189 213 123 +205 213 123 +213 213 123 +230 213 123 +246 213 131 +255 213 139 +255 213 148 +8 255 106 +32 246 106 +65 238 115 +90 230 123 +106 230 123 +123 230 123 +139 230 123 +156 230 123 +172 230 123 +189 230 123 +205 230 123 +213 230 123 +230 230 123 +246 230 131 +255 230 139 +255 222 148 +24 255 106 +49 255 106 +82 246 123 +98 246 123 +115 246 131 +131 246 131 +148 246 131 +156 246 131 +172 246 131 +189 246 131 +205 246 131 +213 246 131 +230 246 131 +246 246 131 +255 238 139 +255 238 148 +41 255 115 +65 255 123 +82 255 123 +98 255 123 +115 255 131 +139 255 139 +148 255 139 +164 255 139 +172 255 139 +189 255 139 +205 255 139 +213 255 139 +230 255 139 +246 255 139 +255 255 139 +255 246 148 +65 255 123 +82 255 131 +98 255 131 +115 255 139 +131 255 148 +148 255 148 +164 255 148 +172 255 148 +180 255 148 +197 255 148 +205 255 148 +213 255 148 +230 255 148 +238 255 148 +246 255 148 +255 255 148 diff --git a/graphics/misc/sunny_day/7.pal b/graphics/misc/sunny_day/7.pal new file mode 100644 index 0000000000..0aa3396689 --- /dev/null +++ b/graphics/misc/sunny_day/7.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 139 +16 0 139 +41 0 139 +57 0 139 +74 0 139 +98 0 139 +115 0 139 +139 0 139 +156 0 139 +172 0 131 +189 0 131 +205 0 131 +222 0 131 +238 0 131 +255 0 131 +255 24 131 +0 24 139 +16 16 131 +41 16 131 +57 16 131 +74 16 131 +98 16 131 +115 16 131 +131 16 131 +156 16 131 +172 16 131 +189 16 131 +205 16 131 +222 16 131 +238 16 131 +246 32 131 +255 41 139 +0 41 139 +16 41 131 +41 41 131 +57 41 131 +74 41 131 +90 41 131 +115 41 131 +131 41 131 +148 32 131 +172 32 131 +189 32 131 +205 32 131 +222 32 131 +230 49 139 +246 49 131 +255 57 131 +0 57 139 +16 57 131 +41 57 131 +57 57 131 +74 57 131 +90 57 131 +115 57 131 +131 57 131 +148 57 131 +164 57 131 +189 49 131 +205 57 131 +213 65 131 +230 65 131 +246 65 131 +255 74 139 +0 82 139 +16 74 131 +41 74 131 +57 74 131 +74 74 131 +90 74 131 +115 74 131 +131 74 131 +148 74 131 +164 74 131 +180 74 131 +197 82 131 +213 82 131 +230 82 131 +246 82 131 +255 90 139 +0 98 139 +16 98 131 +41 98 131 +57 90 131 +74 90 131 +90 90 131 +115 90 131 +131 90 131 +148 90 131 +164 90 131 +180 98 131 +197 98 131 +213 98 139 +230 98 131 +246 106 139 +255 106 139 +0 115 139 +16 115 131 +41 115 131 +57 115 131 +74 115 131 +90 115 131 +106 106 131 +131 106 131 +148 106 131 +164 115 131 +180 115 131 +197 115 131 +213 115 131 +230 123 139 +246 123 139 +255 123 139 +0 139 139 +16 131 131 +41 131 131 +57 131 131 +74 131 131 +90 131 131 +106 131 131 +131 131 131 +148 131 131 +164 131 131 +180 139 139 +197 131 131 +213 139 139 +230 139 139 +246 139 139 +255 139 139 +0 156 131 +16 156 131 +32 148 131 +57 148 131 +74 148 131 +90 148 131 +106 148 131 +131 148 131 +148 148 131 +164 148 131 +180 148 139 +197 148 131 +213 148 139 +230 148 139 +246 156 139 +255 156 139 +0 172 131 +16 172 131 +32 172 131 +57 164 131 +74 164 131 +90 164 131 +115 164 131 +131 164 131 +148 164 131 +164 164 131 +180 164 139 +197 164 131 +213 164 139 +230 164 139 +246 172 139 +255 172 139 +0 189 131 +16 189 131 +32 189 131 +49 189 131 +74 180 131 +98 180 131 +115 180 131 +139 180 139 +148 180 139 +164 180 139 +180 180 139 +197 180 131 +213 180 139 +230 180 139 +246 180 139 +255 189 139 +0 205 123 +16 205 123 +32 205 131 +57 205 131 +82 197 131 +98 197 131 +115 197 131 +131 197 131 +148 197 131 +164 197 131 +180 197 131 +197 197 131 +213 197 139 +230 197 139 +246 197 139 +255 197 139 +0 222 123 +16 222 123 +32 222 131 +65 213 131 +82 213 131 +98 213 131 +115 213 131 +139 213 139 +156 213 139 +164 213 139 +180 213 139 +197 213 139 +213 213 139 +230 213 139 +246 213 139 +255 213 139 +0 238 131 +16 238 131 +49 230 131 +65 230 131 +82 230 131 +98 230 131 +123 230 131 +139 230 139 +156 230 139 +164 230 139 +180 230 139 +197 230 139 +213 230 139 +230 230 139 +246 230 139 +255 230 139 +0 255 131 +32 246 131 +49 246 131 +65 246 131 +82 246 131 +106 246 131 +123 246 131 +139 246 139 +156 246 139 +172 246 139 +189 246 139 +205 246 139 +213 246 139 +230 246 139 +246 246 139 +255 246 139 +24 255 131 +41 255 131 +57 255 131 +74 255 131 +90 255 139 +106 255 139 +123 255 139 +139 255 139 +156 255 139 +172 255 139 +189 255 139 +197 255 139 +213 255 139 +230 255 139 +246 255 139 +255 255 139 diff --git a/graphics/misc/sunny_day/70.pal b/graphics/misc/sunny_day/70.pal new file mode 100644 index 0000000000..7c949a9ece --- /dev/null +++ b/graphics/misc/sunny_day/70.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 106 +24 8 106 +41 8 106 +57 8 106 +74 8 106 +90 8 106 +106 8 106 +180 0 156 +197 0 148 +213 0 139 +230 0 139 +255 0 139 +255 8 131 +255 24 131 +255 41 131 +255 65 139 +8 24 106 +16 16 156 +49 16 156 +74 16 156 +98 16 156 +131 16 156 +156 16 156 +180 16 148 +197 16 148 +213 16 139 +238 8 139 +246 16 131 +246 32 131 +255 49 131 +255 65 139 +255 82 148 +8 41 106 +16 49 156 +41 41 156 +74 41 156 +98 41 156 +123 41 156 +156 41 156 +172 41 148 +197 32 139 +213 32 139 +222 41 131 +230 49 131 +238 65 131 +246 82 139 +255 82 139 +255 98 148 +8 57 106 +16 74 156 +41 74 156 +65 65 148 +90 65 148 +123 65 148 +148 65 148 +172 57 139 +189 57 139 +205 57 131 +213 65 131 +222 74 131 +230 90 139 +246 98 139 +255 98 148 +255 115 156 +8 74 106 +16 106 156 +41 98 156 +65 90 148 +82 82 148 +115 82 148 +148 82 148 +164 82 139 +180 82 131 +197 90 131 +205 90 131 +213 106 139 +230 106 139 +246 115 148 +255 115 148 +255 131 156 +8 90 106 +16 131 156 +41 123 156 +65 123 148 +82 115 148 +106 106 148 +148 106 148 +164 98 131 +172 106 131 +189 106 131 +205 123 139 +213 123 139 +230 123 139 +246 131 148 +255 139 148 +255 148 164 +8 106 106 +16 156 156 +41 156 156 +65 148 148 +82 148 148 +106 148 148 +139 123 123 +156 123 123 +172 123 123 +189 139 139 +205 139 139 +213 139 139 +230 148 148 +246 148 148 +255 156 156 +255 164 164 +0 180 156 +16 180 148 +41 172 148 +57 172 139 +82 164 139 +98 164 131 +123 156 123 +156 156 123 +172 148 123 +189 156 139 +205 156 139 +213 156 139 +230 156 148 +246 164 148 +255 164 156 +255 180 164 +0 197 148 +16 197 139 +32 197 139 +57 189 131 +82 180 131 +106 172 131 +123 172 123 +148 172 123 +172 172 123 +189 172 139 +205 172 139 +213 172 139 +230 172 148 +246 172 148 +255 180 156 +255 189 164 +0 213 139 +16 213 139 +32 213 131 +57 205 131 +90 197 131 +106 189 131 +139 189 139 +156 189 139 +172 189 139 +189 189 139 +205 189 139 +213 189 139 +230 189 148 +246 189 148 +255 189 156 +255 197 164 +0 230 131 +8 238 131 +41 222 131 +65 213 131 +90 205 131 +123 205 139 +139 205 139 +156 205 139 +172 205 139 +189 205 139 +205 205 139 +213 197 139 +230 197 148 +246 205 148 +255 205 156 +255 205 164 +0 255 131 +16 246 131 +49 230 131 +74 222 131 +106 213 139 +123 213 139 +139 213 139 +156 213 139 +172 213 139 +189 213 139 +205 213 139 +213 213 139 +230 213 148 +246 213 148 +255 213 156 +255 222 164 +8 255 131 +32 246 131 +65 238 131 +90 230 139 +106 230 139 +123 230 139 +148 230 148 +156 230 148 +172 230 148 +189 230 148 +205 230 148 +213 230 148 +230 230 148 +246 230 148 +255 230 156 +255 230 164 +24 255 131 +49 255 131 +82 246 139 +98 246 139 +115 246 139 +131 246 148 +148 246 148 +164 246 148 +180 246 148 +189 246 148 +205 246 148 +213 246 148 +230 246 148 +246 246 148 +255 238 156 +255 238 164 +41 255 131 +65 255 139 +82 255 139 +98 255 139 +115 255 148 +139 255 148 +156 255 156 +164 255 156 +180 255 156 +189 255 156 +205 255 156 +222 255 156 +230 255 156 +246 255 156 +255 255 156 +255 246 164 +65 255 139 +82 255 148 +98 255 148 +115 255 156 +131 255 156 +148 255 156 +164 255 164 +180 255 164 +189 255 164 +197 255 164 +205 255 164 +222 255 164 +230 255 164 +238 255 164 +246 255 164 +255 255 164 diff --git a/graphics/misc/sunny_day/71.pal b/graphics/misc/sunny_day/71.pal new file mode 100644 index 0000000000..3e7ca23680 --- /dev/null +++ b/graphics/misc/sunny_day/71.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 180 +24 0 180 +49 0 180 +74 0 180 +98 0 180 +123 0 180 +156 0 180 +180 0 180 +197 0 172 +213 0 172 +230 0 164 +255 0 156 +255 8 156 +255 24 156 +255 41 148 +255 65 156 +0 24 180 +16 16 180 +41 16 180 +65 16 180 +98 16 180 +123 16 180 +148 16 180 +180 16 180 +197 16 172 +213 16 164 +238 8 164 +246 16 156 +246 32 148 +255 49 148 +255 65 156 +255 82 156 +0 49 180 +16 41 180 +41 41 172 +65 41 172 +90 41 172 +115 41 172 +148 41 172 +172 41 172 +197 32 164 +213 32 164 +222 41 156 +230 49 156 +238 65 148 +246 82 156 +255 82 156 +255 98 164 +0 74 180 +16 74 180 +41 65 172 +57 57 172 +90 57 172 +115 57 172 +139 57 172 +172 57 172 +189 57 164 +205 57 156 +213 65 156 +222 74 148 +230 90 156 +246 98 156 +255 98 156 +255 115 164 +0 106 180 +16 98 180 +41 90 172 +57 90 172 +82 82 164 +106 82 164 +139 82 164 +164 82 164 +180 82 156 +197 90 148 +205 90 148 +213 106 156 +230 106 156 +246 115 156 +255 115 164 +255 131 172 +0 131 180 +16 123 180 +41 123 172 +57 115 172 +82 106 164 +98 98 164 +131 98 164 +164 98 164 +172 106 148 +189 106 148 +205 123 156 +213 123 156 +230 123 156 +246 131 156 +255 139 164 +255 148 172 +0 156 180 +16 148 180 +41 148 172 +57 139 172 +82 139 164 +98 131 164 +123 123 156 +156 123 156 +172 123 148 +189 139 156 +205 139 156 +213 139 156 +230 148 156 +246 148 164 +255 156 164 +255 164 180 +0 180 180 +16 180 180 +41 172 172 +57 172 172 +82 164 164 +98 164 164 +123 156 156 +156 139 139 +172 148 148 +189 148 148 +205 156 156 +222 156 156 +230 164 164 +246 164 164 +255 172 172 +255 180 180 +0 197 172 +16 197 172 +32 197 164 +57 189 164 +82 180 156 +106 172 148 +123 172 148 +148 172 148 +172 172 148 +189 172 148 +205 172 156 +222 172 156 +230 172 164 +246 180 164 +255 180 172 +255 197 180 +0 213 164 +16 213 164 +32 213 156 +57 205 156 +90 197 148 +106 189 148 +139 189 156 +148 189 148 +172 189 148 +189 189 148 +205 189 156 +222 189 156 +230 189 164 +246 189 164 +255 197 172 +255 205 180 +0 230 156 +8 238 156 +41 222 156 +65 213 148 +90 205 148 +123 205 156 +139 205 156 +156 205 156 +172 205 156 +189 205 156 +205 205 156 +222 205 156 +230 205 164 +246 205 164 +255 205 172 +255 213 180 +0 255 156 +16 246 148 +49 230 148 +74 222 148 +106 213 156 +123 213 156 +139 213 156 +156 222 156 +172 222 156 +189 222 156 +205 222 156 +222 222 156 +230 213 164 +246 213 164 +255 222 172 +255 222 180 +8 255 148 +32 246 148 +65 238 148 +90 230 156 +106 230 156 +123 230 156 +148 230 156 +164 230 164 +172 230 164 +189 230 164 +205 230 164 +213 230 164 +230 230 164 +246 230 164 +255 230 172 +255 230 180 +24 255 148 +49 255 148 +82 246 156 +98 246 156 +115 246 156 +131 246 156 +148 246 164 +164 246 164 +180 246 164 +189 246 164 +205 246 164 +213 246 164 +230 246 164 +246 246 164 +255 246 172 +255 238 180 +41 255 148 +65 255 156 +82 255 156 +98 255 156 +115 255 156 +139 255 164 +156 255 164 +172 255 172 +180 255 172 +197 255 172 +205 255 172 +222 255 172 +230 255 172 +246 255 172 +255 255 172 +255 246 180 +65 255 156 +82 255 156 +98 255 156 +115 255 164 +131 255 164 +148 255 172 +164 255 180 +180 255 180 +197 255 180 +205 255 180 +213 255 180 +222 255 180 +230 255 180 +238 255 180 +246 255 180 +255 255 180 diff --git a/graphics/misc/sunny_day/72.pal b/graphics/misc/sunny_day/72.pal new file mode 100644 index 0000000000..e5109a1148 --- /dev/null +++ b/graphics/misc/sunny_day/72.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 197 +16 0 197 +49 0 197 +74 0 197 +98 0 197 +123 0 197 +148 0 197 +172 0 197 +197 0 197 +213 0 197 +230 0 189 +255 0 180 +255 8 172 +255 24 164 +255 41 164 +255 65 172 +0 24 197 +16 16 197 +41 16 197 +65 16 197 +90 16 197 +115 16 197 +139 16 197 +172 16 197 +197 16 197 +213 16 189 +238 8 189 +246 16 180 +246 32 172 +255 49 164 +255 65 172 +255 82 172 +0 49 197 +16 41 197 +32 32 197 +57 32 197 +82 32 197 +115 32 197 +139 32 197 +164 32 197 +197 32 197 +213 32 189 +222 41 180 +230 49 172 +238 65 164 +246 82 172 +255 82 172 +255 98 172 +0 74 197 +16 74 197 +32 65 197 +57 57 189 +82 57 189 +106 57 189 +131 57 189 +164 57 189 +189 57 189 +205 57 180 +213 65 172 +222 74 164 +230 90 172 +246 98 172 +255 98 172 +255 115 172 +0 98 197 +16 90 197 +32 90 197 +57 82 189 +82 82 180 +106 82 180 +131 82 180 +156 82 180 +180 82 180 +197 90 172 +205 90 164 +213 106 172 +230 106 172 +246 115 172 +255 115 172 +255 131 180 +0 123 197 +16 123 197 +32 115 197 +57 106 189 +82 106 180 +106 106 172 +131 106 172 +148 106 172 +172 106 172 +189 106 172 +205 123 172 +213 123 172 +230 123 172 +246 131 172 +255 139 172 +255 148 180 +0 148 197 +16 148 197 +32 139 197 +57 139 189 +82 131 180 +106 131 172 +123 123 172 +148 123 172 +172 123 172 +189 139 172 +205 139 172 +213 139 172 +230 148 172 +246 148 180 +255 156 180 +255 164 189 +0 172 197 +16 172 197 +32 164 197 +57 164 189 +82 156 180 +106 148 172 +123 148 172 +148 148 172 +172 148 172 +189 148 172 +205 156 172 +222 156 172 +230 164 172 +246 164 180 +255 172 180 +255 180 197 +0 197 197 +16 197 197 +32 197 197 +57 189 189 +82 180 180 +106 172 172 +123 172 172 +148 172 172 +180 164 164 +189 164 164 +205 172 172 +222 172 172 +230 180 180 +246 180 180 +255 189 189 +255 213 213 +0 213 189 +16 213 189 +32 213 189 +57 205 180 +90 197 172 +106 189 172 +139 189 172 +148 189 172 +164 189 164 +189 189 164 +205 189 172 +222 189 172 +230 189 180 +246 197 180 +255 197 189 +255 222 213 +0 230 180 +8 238 180 +41 222 180 +65 213 172 +90 205 164 +123 205 172 +139 205 172 +156 205 172 +172 205 172 +189 205 172 +205 205 172 +222 205 172 +230 205 180 +246 205 180 +255 213 189 +255 222 213 +0 255 180 +16 246 172 +49 230 164 +74 222 164 +106 213 172 +123 213 172 +139 213 172 +156 222 172 +172 222 172 +189 222 172 +205 222 172 +222 222 172 +230 222 180 +246 222 180 +255 222 189 +255 230 213 +8 255 172 +32 246 164 +65 238 164 +90 230 172 +106 230 172 +123 230 172 +148 230 172 +164 230 172 +180 230 180 +189 230 180 +205 230 180 +222 230 180 +230 230 180 +246 230 180 +255 230 189 +255 238 213 +24 255 164 +49 255 164 +82 246 164 +98 246 172 +115 246 172 +131 246 172 +148 246 172 +164 246 180 +180 246 180 +197 246 180 +205 246 180 +222 246 180 +230 246 180 +246 246 180 +255 246 189 +255 246 213 +41 255 164 +65 255 172 +82 255 172 +98 255 172 +115 255 172 +139 255 172 +156 255 180 +172 255 180 +189 255 189 +197 255 189 +213 255 189 +222 255 189 +230 255 189 +246 255 189 +255 255 189 +255 255 213 +65 255 164 +82 255 172 +98 255 172 +115 255 172 +131 255 180 +148 255 180 +164 255 189 +180 255 197 +213 255 213 +222 255 213 +230 255 213 +230 255 213 +238 255 213 +246 255 213 +255 255 213 +255 255 213 diff --git a/graphics/misc/sunny_day/73.pal b/graphics/misc/sunny_day/73.pal new file mode 100644 index 0000000000..07b6ba4658 --- /dev/null +++ b/graphics/misc/sunny_day/73.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 213 +16 0 213 +41 0 213 +65 0 213 +90 0 213 +115 0 213 +139 0 213 +164 0 213 +189 0 213 +213 0 213 +230 0 213 +255 0 205 +255 8 197 +255 24 189 +255 41 180 +255 65 180 +0 24 213 +16 16 213 +41 16 213 +65 16 213 +90 16 213 +115 16 213 +139 16 213 +164 16 213 +189 16 213 +213 16 213 +238 8 213 +246 16 197 +246 32 189 +255 49 180 +255 65 189 +255 82 189 +0 49 213 +16 41 213 +32 32 213 +57 32 213 +82 32 213 +106 32 213 +131 32 213 +156 32 213 +189 32 213 +213 32 213 +222 41 205 +230 49 189 +238 65 180 +246 82 180 +255 82 189 +255 98 189 +0 65 213 +16 65 213 +32 57 213 +57 57 205 +82 57 205 +106 57 205 +131 57 205 +156 57 205 +180 57 205 +205 57 205 +213 65 197 +222 74 180 +230 90 189 +246 98 189 +255 98 189 +255 115 189 +0 98 213 +16 90 213 +32 90 213 +57 82 205 +90 90 197 +106 90 197 +131 90 197 +148 90 197 +172 90 197 +197 90 197 +205 90 189 +213 106 189 +230 106 189 +246 115 189 +255 115 189 +255 131 189 +0 123 213 +16 115 213 +32 115 213 +57 106 205 +90 106 197 +106 106 189 +131 106 189 +148 106 189 +172 106 189 +189 106 189 +205 123 189 +213 123 189 +230 123 189 +246 131 189 +255 139 189 +255 148 197 +0 139 213 +16 139 213 +32 139 213 +57 131 205 +90 131 197 +106 131 189 +139 139 189 +156 139 189 +172 139 189 +189 139 189 +205 139 189 +213 139 189 +230 148 189 +246 148 189 +255 156 189 +255 164 197 +0 172 213 +16 164 213 +32 164 213 +57 156 205 +90 148 197 +106 148 189 +139 156 189 +148 148 189 +172 148 189 +189 148 189 +205 156 189 +222 156 189 +230 164 189 +246 164 189 +255 172 197 +255 180 205 +0 197 213 +16 189 213 +32 189 213 +57 180 205 +90 172 197 +106 172 189 +139 172 189 +148 172 189 +164 164 189 +189 164 189 +205 172 189 +222 172 189 +230 180 189 +246 180 197 +255 189 197 +255 213 222 +0 213 213 +16 213 213 +32 213 213 +57 205 205 +90 197 197 +106 189 189 +139 189 189 +148 189 189 +164 189 189 +197 180 180 +205 189 189 +222 189 189 +230 197 197 +246 197 197 +255 213 213 +255 230 230 +0 230 205 +8 238 213 +41 222 197 +65 213 189 +90 205 180 +123 205 189 +139 205 189 +156 205 189 +172 205 189 +189 205 189 +205 205 189 +222 205 189 +230 205 197 +246 213 197 +255 222 213 +255 230 230 +0 255 197 +16 246 197 +49 230 189 +74 222 180 +106 213 180 +123 213 180 +139 213 189 +156 222 189 +172 222 189 +189 222 189 +205 222 189 +222 222 189 +230 222 197 +246 222 197 +255 230 213 +255 238 230 +8 255 197 +32 246 189 +65 238 180 +90 230 180 +106 230 189 +123 230 189 +148 230 189 +164 230 189 +180 230 189 +197 230 197 +205 230 197 +222 230 197 +230 230 197 +246 230 197 +255 238 213 +255 246 230 +24 255 180 +49 255 180 +82 246 180 +98 246 180 +115 246 189 +131 246 189 +148 246 189 +164 246 189 +180 246 197 +197 246 197 +213 246 197 +222 246 197 +230 246 197 +246 246 197 +255 246 213 +255 246 230 +41 255 180 +65 255 180 +82 255 180 +98 255 180 +115 255 189 +139 255 189 +156 255 189 +172 255 197 +189 255 197 +213 255 213 +222 255 213 +230 255 213 +238 255 213 +246 255 213 +255 255 213 +255 255 230 +65 255 180 +82 255 180 +98 255 180 +115 255 189 +131 255 189 +148 255 189 +164 255 197 +180 255 205 +213 255 222 +230 255 230 +230 255 230 +238 255 230 +246 255 230 +246 255 230 +255 255 230 +255 255 230 diff --git a/graphics/misc/sunny_day/74.pal b/graphics/misc/sunny_day/74.pal new file mode 100644 index 0000000000..f77fe05344 --- /dev/null +++ b/graphics/misc/sunny_day/74.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 230 +16 0 230 +41 0 230 +65 0 230 +90 0 230 +115 0 230 +131 0 230 +156 0 230 +180 0 230 +205 0 230 +230 0 230 +255 0 230 +255 8 213 +255 24 205 +255 41 197 +255 65 197 +0 16 230 +8 8 238 +32 8 238 +57 8 238 +82 8 238 +106 8 238 +131 8 238 +156 8 238 +180 8 238 +213 8 238 +238 8 238 +246 16 222 +246 32 205 +255 49 197 +255 65 197 +255 82 197 +0 41 230 +8 32 238 +41 41 222 +57 41 222 +82 41 222 +106 41 222 +131 41 222 +156 41 222 +180 41 222 +197 41 222 +222 41 222 +230 49 213 +238 65 197 +246 82 197 +255 82 197 +255 98 197 +0 65 230 +8 65 238 +41 65 222 +65 65 213 +90 65 213 +106 65 213 +131 65 213 +148 65 213 +172 65 213 +189 65 213 +213 65 213 +222 74 205 +230 90 205 +246 98 197 +255 98 197 +255 115 197 +0 90 230 +8 82 238 +41 82 222 +65 90 213 +90 90 205 +106 90 205 +131 90 205 +148 90 205 +164 90 205 +180 90 205 +205 90 205 +213 106 205 +230 106 197 +246 115 197 +255 115 205 +255 131 205 +0 115 230 +8 115 238 +41 106 222 +65 115 213 +90 115 205 +123 123 205 +139 123 205 +156 123 205 +172 123 205 +189 123 205 +205 123 205 +213 123 205 +230 123 205 +246 131 205 +255 139 205 +255 148 205 +0 139 230 +8 139 238 +41 131 222 +65 131 213 +90 131 205 +123 139 205 +139 139 205 +156 139 205 +172 139 205 +189 139 205 +205 139 205 +213 139 205 +230 148 205 +246 148 205 +255 156 205 +255 164 205 +0 164 230 +8 164 238 +41 156 222 +65 156 213 +90 148 205 +123 156 205 +139 156 205 +156 156 205 +172 156 205 +189 156 205 +205 156 205 +222 156 205 +230 164 205 +246 164 205 +255 172 205 +255 180 213 +0 189 230 +8 189 238 +41 180 222 +65 172 213 +90 164 205 +123 172 205 +139 172 205 +156 172 205 +172 172 205 +189 172 205 +205 172 205 +222 172 205 +230 180 205 +246 180 205 +255 189 213 +255 213 230 +0 213 230 +8 213 238 +41 205 222 +65 197 213 +90 189 205 +123 189 205 +139 189 205 +156 189 205 +172 189 205 +189 189 205 +205 189 205 +222 189 205 +230 197 205 +246 197 213 +255 213 222 +255 230 230 +0 230 230 +8 238 238 +41 222 222 +65 213 213 +90 205 205 +123 205 205 +139 205 205 +156 205 205 +172 205 205 +189 205 205 +205 197 197 +222 205 205 +238 205 205 +246 222 222 +255 230 230 +255 246 246 +0 255 222 +16 246 222 +49 230 205 +74 222 197 +106 213 197 +123 213 197 +139 213 197 +156 222 205 +172 222 205 +189 222 205 +205 222 205 +222 222 205 +238 222 205 +246 230 222 +255 238 230 +255 246 246 +8 255 213 +32 246 205 +65 238 197 +90 230 197 +106 230 197 +123 230 197 +148 230 197 +164 230 205 +180 230 205 +197 230 205 +205 238 205 +222 238 205 +238 238 205 +246 238 222 +255 246 230 +255 255 246 +24 255 197 +49 255 197 +82 246 197 +98 246 197 +115 246 197 +131 246 197 +148 246 205 +164 246 205 +180 246 205 +197 246 213 +222 246 222 +230 246 222 +238 246 222 +246 246 222 +255 246 230 +255 255 246 +41 255 189 +65 255 197 +82 255 197 +98 255 197 +115 255 197 +139 255 205 +156 255 205 +172 255 205 +189 255 213 +213 255 222 +230 255 230 +238 255 230 +246 255 230 +246 255 230 +255 255 230 +255 255 246 +65 255 189 +82 255 197 +98 255 197 +115 255 197 +131 255 197 +148 255 205 +164 255 205 +180 255 213 +213 255 222 +230 255 230 +246 255 246 +246 255 246 +255 255 246 +255 255 246 +255 255 246 +255 255 246 diff --git a/graphics/misc/sunny_day/75.pal b/graphics/misc/sunny_day/75.pal new file mode 100644 index 0000000000..98e07acb62 --- /dev/null +++ b/graphics/misc/sunny_day/75.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 255 +16 0 255 +41 0 255 +65 0 255 +82 0 255 +106 0 255 +131 0 255 +156 0 255 +180 0 255 +197 0 255 +222 0 255 +255 0 255 +255 8 238 +255 24 222 +255 41 213 +255 65 205 +0 24 255 +16 16 246 +32 16 246 +57 16 246 +82 16 246 +106 16 246 +131 16 246 +148 16 246 +172 16 246 +197 16 246 +222 16 246 +246 16 246 +246 32 230 +255 49 213 +255 65 213 +255 82 205 +0 41 255 +16 41 246 +49 49 230 +65 49 230 +90 49 230 +106 49 230 +131 49 230 +148 49 230 +164 49 230 +189 49 230 +205 49 230 +230 49 230 +238 65 222 +246 82 213 +255 82 213 +255 98 213 +0 65 255 +16 65 246 +49 74 230 +74 74 222 +90 74 222 +115 74 222 +131 74 222 +148 74 222 +164 74 222 +180 74 222 +197 74 222 +222 74 222 +230 90 213 +246 98 213 +255 98 213 +255 115 213 +0 90 255 +16 82 246 +49 90 230 +74 98 222 +106 106 213 +123 106 213 +139 106 213 +156 106 213 +172 106 213 +180 106 213 +197 106 213 +213 106 213 +230 106 213 +246 115 213 +255 115 213 +255 131 213 +0 115 255 +16 106 246 +49 106 230 +74 115 222 +106 123 213 +123 123 213 +139 123 213 +156 123 213 +172 123 213 +180 123 213 +197 123 213 +213 123 213 +230 123 213 +246 131 213 +255 139 213 +255 148 213 +0 139 255 +16 131 246 +49 131 230 +74 131 222 +106 139 213 +123 139 213 +139 139 213 +156 139 213 +172 139 213 +189 139 213 +197 139 213 +213 139 213 +230 148 213 +246 148 213 +255 156 222 +255 164 222 +0 156 255 +16 156 246 +49 156 230 +74 148 222 +106 156 213 +123 156 213 +139 156 213 +156 156 222 +172 156 222 +189 156 222 +205 156 222 +222 156 222 +230 164 213 +246 164 213 +255 172 222 +255 180 222 +0 180 255 +16 180 246 +49 172 230 +74 164 222 +106 172 213 +123 172 213 +139 172 213 +156 172 222 +172 172 222 +189 172 222 +205 172 222 +222 172 222 +230 180 222 +246 180 222 +255 189 222 +255 213 230 +0 205 255 +16 197 246 +49 189 230 +74 180 222 +106 189 213 +123 189 213 +139 189 213 +156 189 222 +172 189 222 +189 189 222 +205 189 222 +222 189 222 +230 197 222 +246 197 222 +255 213 230 +255 230 238 +0 230 255 +16 222 246 +49 213 230 +74 205 222 +106 205 213 +123 205 213 +139 205 213 +156 205 222 +172 205 222 +189 205 222 +205 205 222 +222 205 222 +238 205 222 +246 222 230 +255 230 238 +255 246 246 +0 255 255 +16 246 246 +49 230 230 +74 222 222 +106 213 213 +123 213 213 +139 213 213 +156 222 222 +172 222 222 +189 222 222 +205 222 222 +222 222 222 +238 230 230 +246 238 238 +255 246 246 +255 255 255 +8 255 230 +32 246 230 +65 238 213 +90 230 213 +106 230 213 +123 230 213 +148 230 213 +164 230 213 +180 230 222 +197 230 222 +205 238 222 +230 238 230 +238 238 230 +246 246 238 +255 246 246 +255 255 255 +24 255 222 +49 255 213 +82 246 213 +98 246 213 +115 246 213 +131 246 213 +148 246 213 +164 246 213 +180 246 222 +197 246 222 +222 246 230 +238 246 238 +246 246 238 +246 246 238 +255 255 246 +255 255 255 +41 255 213 +65 255 213 +82 255 213 +98 255 213 +115 255 213 +139 255 213 +156 255 213 +172 255 222 +189 255 222 +213 255 230 +230 255 238 +246 255 246 +255 255 246 +255 255 246 +255 255 246 +255 255 255 +65 255 205 +82 255 205 +98 255 205 +115 255 205 +131 255 213 +148 255 213 +164 255 222 +180 255 222 +213 255 230 +230 255 238 +246 255 246 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/76.pal b/graphics/misc/sunny_day/76.pal new file mode 100644 index 0000000000..4c9939c5e5 --- /dev/null +++ b/graphics/misc/sunny_day/76.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 255 +24 8 255 +41 8 255 +65 8 255 +82 8 255 +106 8 255 +131 8 255 +148 8 255 +172 8 255 +197 8 255 +213 8 255 +230 8 255 +255 8 255 +255 24 246 +255 41 230 +255 65 222 +8 24 255 +32 32 246 +49 32 246 +65 32 246 +90 32 246 +106 32 246 +131 32 246 +148 32 246 +164 32 246 +189 32 246 +205 32 246 +230 32 246 +246 32 246 +255 49 238 +255 65 230 +255 82 222 +8 49 255 +32 49 246 +65 65 238 +74 65 238 +90 65 238 +115 65 238 +131 65 238 +148 65 238 +164 65 238 +180 65 238 +197 65 238 +213 65 238 +238 65 238 +246 82 230 +255 82 230 +255 98 222 +8 65 255 +32 74 246 +65 82 238 +90 90 230 +106 90 230 +123 90 230 +139 90 230 +156 90 230 +172 90 230 +180 90 230 +197 90 230 +213 90 230 +230 90 230 +246 98 230 +255 98 230 +255 115 222 +8 90 255 +32 90 246 +65 98 238 +90 106 230 +106 106 230 +123 106 230 +139 106 230 +156 106 230 +172 106 230 +189 106 230 +197 106 230 +213 106 230 +230 106 230 +246 115 230 +255 115 230 +255 131 222 +8 106 255 +32 115 246 +65 115 238 +90 123 230 +106 123 230 +123 123 230 +139 123 230 +156 123 230 +172 123 230 +189 123 230 +197 123 230 +213 123 230 +230 123 230 +246 131 230 +255 139 230 +255 148 230 +8 131 255 +32 131 246 +65 131 238 +90 139 230 +106 139 230 +123 139 230 +148 148 230 +156 148 230 +172 148 230 +189 148 230 +197 148 230 +213 148 230 +230 148 230 +246 148 230 +255 156 230 +255 164 230 +8 156 255 +32 148 246 +65 148 238 +90 156 230 +106 156 230 +123 156 230 +148 156 230 +164 164 230 +172 164 230 +189 164 230 +205 164 230 +213 164 230 +230 164 230 +246 164 230 +255 172 230 +255 180 230 +8 172 255 +32 172 246 +65 164 238 +90 172 230 +106 172 230 +123 172 230 +148 172 230 +164 172 230 +180 180 230 +189 180 230 +205 180 230 +222 180 230 +230 180 230 +246 180 230 +255 189 230 +255 213 238 +8 197 255 +32 189 246 +65 180 238 +90 189 230 +106 189 230 +123 189 230 +148 189 230 +164 189 230 +180 189 230 +197 197 230 +205 197 230 +222 197 230 +230 197 230 +246 197 230 +255 213 238 +255 230 246 +8 213 255 +32 205 246 +65 197 238 +90 205 230 +106 197 230 +123 205 230 +148 205 230 +164 205 230 +180 205 230 +197 205 230 +205 205 238 +222 205 238 +238 205 238 +246 222 238 +255 230 246 +255 246 255 +8 238 255 +32 230 246 +65 222 238 +90 213 230 +106 213 230 +123 213 230 +148 213 230 +164 213 230 +180 222 230 +197 222 230 +205 222 238 +230 230 238 +238 230 238 +246 238 246 +255 246 255 +255 255 255 +8 255 255 +32 246 246 +65 238 238 +90 230 230 +106 230 230 +123 230 230 +148 230 230 +164 230 230 +180 230 230 +197 230 230 +205 238 238 +230 238 238 +246 246 246 +255 246 246 +255 255 255 +255 255 255 +24 255 238 +49 255 230 +82 246 230 +98 246 230 +115 246 230 +131 246 230 +148 246 230 +164 246 230 +180 246 230 +197 246 230 +222 246 238 +238 246 246 +246 255 246 +255 255 246 +255 255 255 +255 255 255 +41 255 222 +65 255 230 +82 255 230 +98 255 230 +115 255 230 +139 255 230 +156 255 230 +172 255 230 +189 255 230 +213 255 238 +230 255 246 +246 255 246 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +65 255 213 +82 255 222 +98 255 222 +115 255 222 +131 255 222 +148 255 222 +164 255 230 +180 255 230 +213 255 238 +230 255 246 +246 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/77.pal b/graphics/misc/sunny_day/77.pal new file mode 100644 index 0000000000..dbd7b65fdd --- /dev/null +++ b/graphics/misc/sunny_day/77.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +24 24 255 +41 24 255 +57 24 255 +74 24 255 +90 24 255 +106 24 255 +131 24 255 +148 24 255 +164 24 255 +180 24 255 +197 24 255 +222 24 255 +238 24 255 +255 24 255 +255 41 246 +255 65 230 +24 41 255 +49 49 255 +57 49 255 +74 49 255 +98 49 255 +106 49 255 +131 49 255 +148 49 255 +164 49 255 +180 49 255 +197 49 255 +213 49 255 +230 49 255 +255 49 255 +255 65 246 +255 82 238 +24 57 255 +49 65 255 +82 82 246 +90 82 246 +106 82 246 +123 82 246 +139 82 246 +156 82 246 +164 82 246 +180 82 246 +197 82 246 +213 82 246 +230 82 246 +246 82 246 +255 82 246 +255 98 238 +24 74 255 +49 82 255 +82 98 246 +98 98 246 +106 98 246 +123 98 246 +139 98 246 +156 98 246 +172 98 246 +180 98 246 +197 98 246 +213 98 246 +230 98 246 +246 98 246 +255 98 246 +255 115 238 +24 98 255 +49 98 255 +82 106 246 +98 115 246 +115 115 246 +131 115 246 +139 115 246 +156 115 246 +172 115 246 +189 115 246 +197 115 246 +213 115 246 +230 115 246 +246 115 246 +255 115 246 +255 131 238 +24 115 255 +49 115 255 +82 123 246 +98 123 246 +115 131 246 +131 131 246 +148 131 246 +156 131 246 +172 131 246 +189 131 246 +197 131 246 +213 131 246 +230 131 246 +246 131 246 +255 139 246 +255 148 238 +24 131 255 +49 131 255 +82 139 246 +98 139 246 +115 148 246 +131 148 246 +148 148 246 +164 148 246 +172 148 246 +189 148 246 +205 148 246 +213 148 246 +230 148 246 +246 148 246 +255 156 246 +255 164 238 +24 156 255 +49 148 255 +82 156 246 +98 156 246 +115 156 246 +131 156 246 +148 164 246 +164 164 246 +180 164 246 +189 164 246 +205 164 246 +213 164 246 +230 164 246 +246 164 246 +255 172 246 +255 180 238 +24 164 255 +49 164 255 +82 172 246 +98 172 246 +115 172 246 +131 172 246 +148 180 246 +164 180 246 +180 180 246 +197 180 246 +205 180 246 +222 180 246 +230 180 246 +246 180 246 +255 189 246 +255 213 246 +24 189 255 +49 180 255 +82 180 246 +98 189 246 +115 189 246 +131 189 246 +148 189 246 +164 189 246 +180 197 246 +197 197 246 +213 197 246 +222 197 246 +230 197 246 +246 197 246 +255 213 246 +255 230 246 +24 205 255 +49 197 255 +82 197 246 +98 197 246 +115 197 246 +131 205 246 +148 205 246 +164 205 246 +180 205 246 +197 213 246 +222 222 246 +230 222 246 +238 222 246 +246 222 246 +255 230 246 +255 246 255 +24 222 255 +49 213 255 +82 213 246 +98 213 246 +115 213 246 +131 213 246 +148 213 246 +164 213 246 +180 222 246 +197 222 246 +222 230 246 +238 238 246 +246 238 246 +246 238 246 +255 246 255 +255 255 255 +24 246 255 +49 238 255 +82 230 246 +98 230 246 +115 230 246 +131 230 246 +148 230 246 +164 230 246 +180 230 246 +197 230 246 +222 238 246 +238 246 246 +246 246 255 +255 246 255 +255 255 255 +255 255 255 +24 255 255 +49 255 255 +82 246 246 +98 246 246 +115 246 246 +131 246 246 +148 246 246 +164 246 246 +180 246 246 +197 246 246 +222 246 246 +238 246 246 +246 255 255 +255 255 255 +255 255 255 +255 255 255 +41 255 238 +65 255 246 +82 255 238 +98 255 238 +115 255 238 +139 255 238 +156 255 238 +172 255 246 +189 255 246 +213 255 246 +230 255 246 +246 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +65 255 230 +82 255 230 +98 255 230 +115 255 230 +131 255 230 +148 255 238 +164 255 238 +180 255 238 +213 255 246 +230 255 246 +246 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/78.pal b/graphics/misc/sunny_day/78.pal new file mode 100644 index 0000000000..dcee38d729 --- /dev/null +++ b/graphics/misc/sunny_day/78.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +41 41 255 +49 41 255 +65 41 255 +82 41 255 +98 41 255 +115 41 255 +131 41 255 +148 41 255 +164 41 255 +180 41 255 +189 41 255 +213 41 255 +222 41 255 +238 41 255 +255 41 255 +255 65 246 +41 57 255 +65 65 255 +82 65 255 +98 65 255 +106 65 255 +123 65 255 +139 65 255 +156 65 255 +172 65 255 +180 65 255 +197 65 255 +213 65 255 +230 65 255 +246 65 255 +255 65 255 +255 82 246 +41 74 255 +65 82 255 +82 82 255 +98 82 255 +106 82 255 +123 82 255 +139 82 255 +156 82 255 +172 82 255 +180 82 255 +197 82 255 +213 82 255 +230 82 255 +238 82 255 +255 82 255 +255 98 246 +41 90 255 +65 98 255 +82 98 255 +98 98 255 +115 98 255 +123 98 255 +139 98 255 +156 98 255 +172 98 255 +180 98 255 +197 98 255 +213 98 255 +230 98 255 +238 98 255 +255 98 255 +255 115 246 +41 106 255 +65 115 255 +82 115 255 +98 115 255 +115 115 255 +131 115 255 +148 115 255 +156 115 255 +172 115 255 +189 115 255 +197 115 255 +213 115 255 +230 115 255 +238 115 255 +255 115 255 +255 131 246 +41 123 255 +65 123 255 +82 123 255 +98 131 255 +115 131 255 +139 139 255 +148 139 255 +164 139 255 +172 139 255 +189 139 255 +205 139 255 +213 139 255 +230 139 255 +238 139 255 +255 139 255 +255 148 246 +41 131 255 +65 139 255 +82 139 255 +98 148 255 +115 148 255 +139 148 255 +156 156 255 +164 156 255 +180 156 255 +189 156 255 +205 156 255 +213 156 255 +230 156 255 +238 156 255 +255 156 255 +255 164 246 +41 148 255 +65 156 255 +82 156 255 +98 156 255 +115 164 255 +139 164 255 +156 164 255 +172 172 255 +180 172 255 +197 172 255 +205 172 255 +222 172 255 +230 172 255 +246 172 255 +255 172 255 +255 180 246 +41 164 255 +65 172 255 +82 172 255 +98 172 255 +115 172 255 +139 172 255 +156 180 255 +172 180 255 +189 189 255 +197 189 255 +213 189 255 +222 189 255 +230 189 255 +246 189 255 +255 189 255 +255 213 255 +41 180 255 +65 189 255 +82 189 255 +98 189 255 +115 189 255 +139 189 255 +156 189 255 +172 197 255 +189 197 255 +213 213 255 +222 213 255 +230 213 255 +238 213 255 +246 213 255 +255 213 255 +255 230 255 +41 197 255 +65 197 255 +82 197 255 +98 197 255 +115 205 255 +139 205 255 +156 205 255 +172 205 255 +189 213 255 +213 222 255 +230 230 255 +238 230 255 +246 230 255 +246 230 255 +255 230 255 +255 246 255 +41 213 255 +65 213 255 +82 213 255 +98 213 255 +115 213 255 +139 213 255 +156 222 255 +172 222 255 +189 222 255 +213 230 255 +230 238 255 +246 246 255 +246 246 255 +255 246 255 +255 246 255 +255 255 255 +41 230 255 +65 230 255 +82 230 255 +98 230 255 +115 230 255 +139 230 255 +156 230 255 +172 230 255 +189 230 255 +213 238 255 +230 246 255 +246 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +41 246 255 +65 246 255 +82 246 255 +98 246 255 +115 246 255 +139 246 255 +156 246 255 +172 246 255 +189 246 255 +213 246 255 +230 246 255 +246 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +41 255 255 +65 255 255 +82 255 255 +98 255 255 +115 255 255 +139 255 255 +156 255 255 +172 255 255 +189 255 255 +213 255 255 +230 255 255 +246 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +65 255 246 +82 255 246 +98 255 246 +115 255 246 +131 255 246 +148 255 246 +164 255 246 +180 255 246 +213 255 255 +230 255 255 +246 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/79.pal b/graphics/misc/sunny_day/79.pal new file mode 100644 index 0000000000..bbcd359c53 --- /dev/null +++ b/graphics/misc/sunny_day/79.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +65 65 255 +74 65 255 +90 65 255 +98 65 255 +115 65 255 +123 65 255 +139 65 255 +156 65 255 +164 65 255 +180 65 255 +189 65 255 +205 65 255 +213 65 255 +230 65 255 +246 65 255 +255 65 255 +65 82 255 +82 82 255 +98 82 255 +106 82 255 +115 82 255 +131 82 255 +148 82 255 +156 82 255 +172 82 255 +180 82 255 +197 82 255 +205 82 255 +222 82 255 +230 82 255 +246 82 255 +255 82 255 +65 90 255 +82 98 255 +98 98 255 +106 98 255 +123 98 255 +131 98 255 +148 98 255 +156 98 255 +172 98 255 +180 98 255 +197 98 255 +205 98 255 +222 98 255 +230 98 255 +246 98 255 +255 98 255 +65 106 255 +82 106 255 +98 115 255 +115 115 255 +123 115 255 +139 115 255 +156 115 255 +164 115 255 +172 115 255 +189 115 255 +197 115 255 +205 115 255 +222 115 255 +230 115 255 +246 115 255 +255 115 255 +65 115 255 +82 123 255 +98 123 255 +115 131 255 +131 131 255 +148 131 255 +156 131 255 +164 131 255 +180 131 255 +189 131 255 +197 131 255 +213 131 255 +222 131 255 +230 131 255 +246 131 255 +255 131 255 +65 131 255 +82 139 255 +98 139 255 +115 139 255 +131 148 255 +148 148 255 +156 148 255 +172 148 255 +180 148 255 +189 148 255 +205 148 255 +213 148 255 +222 148 255 +238 148 255 +246 148 255 +255 148 255 +65 139 255 +82 148 255 +98 148 255 +115 156 255 +131 156 255 +148 164 255 +164 164 255 +180 164 255 +189 164 255 +197 164 255 +205 164 255 +222 164 255 +230 164 255 +238 164 255 +246 164 255 +255 164 255 +65 156 255 +82 156 255 +98 164 255 +115 164 255 +131 172 255 +148 172 255 +164 180 255 +180 180 255 +197 180 255 +205 180 255 +213 180 255 +222 180 255 +230 180 255 +238 180 255 +246 180 255 +255 180 255 +65 172 255 +82 172 255 +98 172 255 +115 172 255 +131 180 255 +148 180 255 +164 189 255 +180 197 255 +213 213 255 +222 213 255 +222 213 255 +230 213 255 +238 213 255 +246 213 255 +255 213 255 +255 213 255 +65 180 255 +82 189 255 +98 189 255 +115 189 255 +131 189 255 +148 197 255 +164 197 255 +180 205 255 +213 222 255 +230 230 255 +230 230 255 +238 230 255 +246 230 255 +246 230 255 +255 230 255 +255 230 255 +65 197 255 +82 197 255 +98 197 255 +115 197 255 +131 205 255 +148 205 255 +164 205 255 +180 213 255 +213 230 255 +230 230 255 +246 246 255 +246 246 255 +255 246 255 +255 246 255 +255 246 255 +255 246 255 +65 205 255 +82 205 255 +98 213 255 +115 213 255 +131 213 255 +148 213 255 +164 222 255 +180 222 255 +213 230 255 +230 238 255 +246 246 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +65 222 255 +82 222 255 +98 222 255 +115 222 255 +131 222 255 +148 230 255 +164 230 255 +180 230 255 +213 238 255 +230 246 255 +246 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +65 230 255 +82 238 255 +98 238 255 +115 238 255 +131 238 255 +148 238 255 +164 238 255 +180 238 255 +213 246 255 +230 246 255 +246 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +65 246 255 +82 246 255 +98 246 255 +115 246 255 +131 246 255 +148 246 255 +164 246 255 +180 246 255 +213 255 255 +230 255 255 +246 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +65 255 255 +82 255 255 +98 255 255 +115 255 255 +131 255 255 +148 255 255 +164 255 255 +180 255 255 +213 255 255 +230 255 255 +246 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/8.pal b/graphics/misc/sunny_day/8.pal new file mode 100644 index 0000000000..1d05da74e7 --- /dev/null +++ b/graphics/misc/sunny_day/8.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 156 +16 0 156 +41 0 156 +57 0 156 +74 0 156 +98 0 156 +115 0 156 +131 0 156 +156 0 156 +172 0 156 +189 0 148 +205 0 148 +222 0 148 +238 0 148 +255 0 148 +255 24 148 +0 24 156 +16 16 156 +41 16 156 +57 16 156 +74 16 156 +98 16 156 +115 16 156 +131 16 156 +156 16 156 +172 16 156 +189 16 148 +205 16 148 +222 16 148 +238 16 148 +246 32 156 +255 41 148 +0 41 156 +16 41 156 +32 32 148 +57 32 148 +74 32 148 +90 32 148 +115 32 148 +131 32 148 +148 32 148 +172 32 148 +189 32 148 +205 32 148 +222 32 148 +230 49 148 +246 49 148 +255 57 156 +0 57 156 +16 57 156 +32 57 148 +57 57 148 +74 57 148 +90 57 148 +106 57 148 +131 57 148 +148 57 148 +164 57 148 +189 49 148 +205 57 148 +213 65 148 +230 65 148 +246 65 156 +255 74 156 +0 74 156 +16 74 156 +32 74 148 +57 74 148 +74 74 148 +90 74 148 +115 74 148 +131 74 148 +148 74 148 +164 74 148 +180 74 148 +197 82 148 +213 82 148 +230 82 148 +246 82 148 +255 90 156 +0 98 156 +16 98 156 +32 90 148 +57 90 148 +74 90 148 +90 90 148 +106 90 148 +131 90 148 +148 90 148 +164 90 148 +180 98 148 +197 98 148 +213 98 148 +230 98 156 +246 106 148 +255 106 156 +0 115 156 +16 115 156 +32 115 148 +57 115 148 +74 115 148 +90 106 148 +106 106 148 +131 106 148 +148 106 148 +164 115 148 +180 115 148 +197 115 148 +213 115 148 +230 123 156 +246 123 156 +255 123 156 +0 139 156 +16 131 156 +32 131 148 +57 131 148 +74 131 148 +90 131 148 +106 131 148 +131 131 148 +148 131 148 +164 131 148 +180 139 148 +197 131 148 +213 139 156 +230 139 156 +246 139 156 +255 139 156 +0 156 156 +16 156 156 +32 148 148 +57 148 148 +74 148 148 +90 148 148 +106 148 148 +131 148 148 +148 148 148 +164 148 148 +180 156 156 +197 148 148 +213 156 156 +230 156 156 +246 156 156 +255 172 172 +0 172 148 +16 172 148 +32 172 148 +57 164 148 +74 164 148 +90 164 148 +115 164 148 +131 164 148 +148 164 148 +164 164 148 +180 164 156 +197 164 148 +213 172 156 +230 164 156 +246 172 156 +255 180 172 +0 189 148 +16 189 148 +32 189 148 +49 189 148 +74 180 148 +98 180 148 +115 180 148 +139 180 148 +156 180 156 +164 180 156 +180 180 156 +197 180 148 +213 180 156 +230 180 156 +246 180 156 +255 197 172 +0 205 148 +16 205 148 +32 205 148 +57 205 148 +82 197 148 +98 197 148 +115 197 148 +131 197 148 +148 197 148 +164 197 148 +180 197 148 +197 197 148 +213 197 156 +230 197 156 +246 197 156 +255 205 172 +0 222 148 +16 222 148 +32 222 139 +65 213 148 +82 213 148 +98 213 148 +115 213 148 +139 213 148 +156 213 156 +172 213 156 +180 213 156 +197 213 156 +213 213 156 +230 213 156 +246 213 156 +255 222 172 +0 238 148 +16 238 139 +49 230 148 +65 230 148 +82 230 148 +98 230 148 +123 230 148 +139 230 148 +156 230 156 +172 230 156 +180 230 156 +197 230 156 +213 230 156 +230 230 156 +246 230 156 +255 230 172 +0 255 148 +32 246 148 +49 246 148 +65 246 148 +82 246 148 +106 246 148 +123 246 156 +139 246 156 +156 246 156 +172 246 156 +189 246 156 +197 246 156 +213 246 156 +230 246 156 +246 246 156 +255 246 172 +24 255 148 +41 255 148 +57 255 148 +74 255 148 +90 255 148 +106 255 148 +123 255 156 +139 255 156 +172 255 172 +180 255 172 +197 255 172 +205 255 172 +222 255 172 +230 255 172 +246 255 172 +255 255 172 diff --git a/graphics/misc/sunny_day/80.pal b/graphics/misc/sunny_day/80.pal new file mode 100644 index 0000000000..c5cbf6d01d --- /dev/null +++ b/graphics/misc/sunny_day/80.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 8 +24 8 8 +41 8 8 +57 8 8 +74 8 8 +90 8 8 +106 8 8 +197 0 0 +213 0 0 +230 0 0 +246 0 0 +255 0 0 +255 16 16 +255 32 32 +255 49 49 +255 74 74 +8 24 8 +24 24 8 +41 24 8 +57 24 8 +74 24 8 +90 24 8 +106 24 8 +197 24 0 +213 24 0 +230 16 0 +246 16 0 +255 16 0 +255 32 16 +255 49 32 +255 65 49 +255 82 74 +8 41 8 +24 41 8 +41 41 8 +57 41 8 +74 41 8 +90 41 8 +106 41 8 +197 49 0 +213 49 0 +230 49 0 +246 41 0 +255 41 0 +255 49 16 +255 65 32 +255 74 49 +255 98 74 +8 57 8 +24 57 8 +41 57 8 +57 57 8 +74 57 8 +90 57 8 +106 57 8 +197 82 0 +213 74 0 +230 65 0 +246 65 0 +255 65 0 +255 74 16 +255 82 32 +255 90 49 +255 106 74 +8 74 8 +24 74 8 +41 74 8 +57 74 8 +74 74 8 +90 74 8 +106 74 8 +197 106 0 +213 106 0 +230 98 0 +246 90 0 +255 90 0 +255 90 16 +255 98 32 +255 106 49 +255 123 74 +8 90 8 +24 90 8 +41 90 8 +57 90 8 +74 90 8 +90 90 8 +106 90 8 +197 131 0 +213 131 0 +230 123 0 +246 123 0 +255 115 0 +255 115 16 +255 115 32 +255 123 49 +255 131 74 +8 106 8 +24 106 8 +41 106 8 +57 106 8 +74 106 8 +90 106 8 +106 106 8 +197 164 0 +213 156 0 +230 148 0 +246 139 0 +255 139 0 +255 139 16 +255 131 32 +255 139 49 +255 148 74 +0 197 0 +24 197 0 +57 197 0 +82 197 0 +115 197 0 +139 197 0 +164 197 0 +197 197 0 +213 180 0 +230 172 0 +246 164 0 +255 156 0 +255 156 16 +255 156 32 +255 156 49 +255 156 74 +0 213 0 +24 213 0 +49 213 0 +74 213 0 +106 213 0 +131 213 0 +156 213 0 +189 213 0 +213 213 0 +230 197 0 +246 189 0 +255 189 0 +255 172 16 +255 164 32 +255 164 49 +255 172 74 +0 230 0 +24 230 0 +49 230 0 +74 230 0 +98 230 0 +123 230 0 +148 230 0 +180 230 0 +205 230 0 +230 230 0 +246 213 0 +255 205 0 +255 197 16 +255 189 32 +255 180 49 +255 180 74 +0 246 0 +24 246 0 +49 246 0 +74 246 0 +98 246 0 +123 246 0 +148 246 0 +172 246 0 +197 246 0 +222 246 0 +246 246 0 +255 230 0 +255 213 16 +255 205 32 +255 197 49 +255 197 74 +0 255 0 +24 255 0 +49 255 0 +74 255 0 +90 255 0 +123 255 0 +139 255 0 +164 255 0 +189 255 0 +213 255 0 +238 255 0 +255 255 0 +255 238 16 +255 222 32 +255 213 49 +255 205 74 +16 255 16 +32 255 16 +57 255 16 +74 255 16 +98 255 16 +115 255 16 +139 255 16 +156 255 16 +180 255 16 +197 255 16 +222 255 16 +238 255 16 +255 255 16 +255 238 32 +255 230 49 +255 222 74 +32 255 32 +49 255 32 +65 255 32 +82 255 32 +106 255 32 +115 255 32 +139 255 32 +156 255 32 +172 255 32 +189 255 32 +205 255 32 +222 255 32 +246 255 32 +255 255 32 +255 238 49 +255 230 74 +49 255 49 +65 255 49 +82 255 49 +90 255 49 +115 255 49 +123 255 49 +139 255 49 +156 255 49 +172 255 49 +189 255 49 +197 255 49 +213 255 49 +230 255 49 +246 255 49 +255 255 49 +255 246 74 +74 255 74 +90 255 74 +98 255 74 +115 255 74 +123 255 74 +139 255 74 +148 255 74 +164 255 74 +172 255 74 +189 255 74 +197 255 74 +213 255 74 +222 255 74 +238 255 74 +246 255 74 +255 255 74 diff --git a/graphics/misc/sunny_day/81.pal b/graphics/misc/sunny_day/81.pal new file mode 100644 index 0000000000..e0f8b86365 --- /dev/null +++ b/graphics/misc/sunny_day/81.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 24 +24 8 24 +41 8 24 +57 8 24 +74 8 24 +90 8 24 +106 8 24 +197 0 24 +213 0 24 +230 0 24 +246 0 24 +255 0 24 +255 16 32 +255 32 49 +255 49 65 +255 74 90 +8 24 24 +24 24 24 +41 24 24 +57 24 24 +74 24 24 +90 24 24 +172 16 16 +189 16 16 +205 16 16 +230 16 16 +246 8 8 +246 24 24 +255 41 41 +255 57 57 +255 74 74 +255 90 90 +8 41 24 +24 41 24 +41 41 24 +57 41 24 +74 41 24 +90 41 24 +172 49 16 +189 41 16 +205 41 16 +230 41 16 +246 32 8 +246 41 24 +255 57 41 +255 65 57 +255 90 74 +255 106 90 +8 57 24 +24 57 24 +41 57 24 +57 57 24 +74 57 24 +90 57 24 +172 74 16 +189 74 16 +205 65 16 +230 65 16 +246 57 8 +246 65 24 +255 74 41 +255 82 57 +255 106 74 +255 115 90 +8 74 24 +24 74 24 +41 74 24 +57 74 24 +74 74 24 +90 74 24 +172 106 16 +189 106 16 +205 98 16 +230 90 16 +246 82 8 +246 90 24 +255 98 41 +255 106 57 +255 115 74 +255 123 90 +8 90 24 +24 90 24 +41 90 24 +57 90 24 +74 90 24 +90 90 24 +172 139 16 +189 131 16 +205 123 16 +230 123 16 +246 115 8 +246 106 24 +255 115 41 +255 115 57 +255 131 74 +255 139 90 +8 106 24 +16 172 16 +49 172 16 +82 172 16 +106 172 16 +139 172 16 +172 172 16 +189 156 16 +205 148 16 +230 148 16 +246 139 8 +246 139 24 +255 131 41 +255 131 57 +255 139 74 +255 148 90 +0 197 24 +16 189 16 +49 189 16 +74 189 16 +106 189 16 +131 189 16 +164 189 16 +189 189 16 +205 180 16 +230 172 16 +246 164 8 +246 156 24 +255 156 41 +255 156 57 +255 156 74 +255 164 90 +0 213 24 +16 205 16 +41 205 16 +74 205 16 +98 205 16 +131 205 16 +156 205 16 +180 205 16 +205 205 16 +230 197 16 +246 189 8 +246 180 24 +255 172 41 +255 164 57 +255 172 74 +255 172 90 +0 230 16 +16 230 16 +41 230 16 +65 230 16 +98 230 16 +123 230 16 +148 230 16 +172 230 16 +205 230 16 +230 230 16 +246 222 8 +246 197 24 +255 189 41 +255 180 57 +255 189 74 +255 189 90 +0 246 16 +8 246 8 +41 246 8 +65 246 8 +90 246 8 +115 246 8 +148 246 8 +164 246 8 +197 246 8 +222 246 8 +246 246 8 +246 222 24 +255 205 41 +255 205 57 +255 197 74 +255 197 90 +0 255 16 +24 246 24 +49 246 24 +65 246 24 +90 246 24 +115 246 24 +139 246 24 +156 246 24 +180 246 24 +205 246 24 +230 246 24 +246 246 24 +255 230 41 +255 213 57 +255 213 74 +255 205 90 +16 255 32 +41 255 41 +57 255 41 +74 255 41 +98 255 41 +115 255 41 +139 255 41 +156 255 41 +172 255 41 +197 255 41 +213 255 41 +238 255 41 +255 255 41 +255 230 57 +255 230 74 +255 222 90 +32 255 49 +57 255 57 +74 255 57 +90 255 57 +106 255 57 +123 255 57 +139 255 57 +156 255 57 +172 255 57 +189 255 57 +205 255 57 +222 255 57 +238 255 57 +255 255 57 +255 246 74 +255 230 90 +49 255 65 +74 255 74 +90 255 74 +106 255 74 +115 255 74 +131 255 74 +148 255 74 +164 255 74 +180 255 74 +189 255 74 +205 255 74 +213 255 74 +230 255 74 +246 255 74 +255 255 74 +255 246 90 +74 255 82 +90 255 90 +106 255 90 +115 255 90 +131 255 90 +139 255 90 +156 255 90 +164 255 90 +172 255 90 +189 255 90 +197 255 90 +213 255 90 +222 255 90 +238 255 90 +246 255 90 +255 255 90 diff --git a/graphics/misc/sunny_day/82.pal b/graphics/misc/sunny_day/82.pal new file mode 100644 index 0000000000..289f94a69a --- /dev/null +++ b/graphics/misc/sunny_day/82.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 41 +24 8 41 +41 8 41 +57 8 41 +74 8 41 +90 8 41 +106 8 41 +197 0 57 +213 0 49 +230 0 49 +246 0 49 +255 0 49 +255 16 57 +255 32 65 +255 49 82 +255 74 98 +8 24 41 +24 24 41 +41 24 41 +57 24 41 +74 24 41 +90 24 41 +172 16 49 +189 16 49 +205 16 41 +230 16 41 +246 8 41 +246 24 49 +255 41 57 +255 57 74 +255 74 90 +255 90 106 +8 41 41 +24 41 41 +41 41 41 +57 41 41 +74 41 41 +139 49 49 +164 41 41 +189 41 41 +205 32 32 +222 32 32 +230 49 49 +230 57 57 +238 65 65 +246 90 90 +255 90 90 +255 106 106 +8 57 41 +24 57 41 +41 57 41 +57 57 41 +74 57 41 +139 74 49 +164 74 41 +189 65 41 +205 57 32 +222 57 32 +230 65 49 +230 74 57 +238 82 65 +246 98 90 +255 106 90 +255 123 106 +8 74 41 +24 74 41 +41 74 41 +57 74 41 +74 74 41 +139 106 49 +164 106 41 +189 90 41 +205 90 32 +222 90 32 +230 90 49 +230 98 57 +238 98 65 +246 115 90 +255 115 90 +255 131 106 +8 90 41 +24 90 41 +49 139 49 +82 139 49 +106 139 49 +139 139 49 +164 131 41 +189 123 41 +205 123 32 +222 115 32 +230 115 49 +230 115 57 +238 115 65 +246 131 90 +255 131 90 +255 139 106 +8 106 41 +16 172 49 +41 164 41 +74 164 41 +106 164 41 +131 164 41 +164 164 41 +189 156 41 +205 148 32 +222 139 32 +230 139 49 +230 131 57 +238 131 65 +246 139 90 +255 148 90 +255 156 106 +0 197 49 +16 189 41 +41 189 41 +65 189 41 +98 189 41 +123 189 41 +156 189 41 +189 189 41 +205 172 32 +222 164 32 +230 156 49 +230 156 57 +238 156 65 +246 156 90 +255 156 90 +255 164 106 +0 213 49 +16 205 41 +32 205 32 +65 205 32 +90 205 32 +123 205 32 +148 205 32 +172 205 32 +205 205 32 +222 197 32 +230 180 49 +230 172 57 +238 164 65 +246 172 90 +255 172 90 +255 180 106 +0 230 49 +16 230 41 +32 222 32 +65 222 32 +90 222 32 +115 222 32 +148 222 32 +172 222 32 +197 222 32 +222 222 32 +230 205 49 +230 189 57 +238 180 65 +246 189 90 +255 189 90 +255 189 106 +0 246 41 +8 246 32 +49 230 49 +65 230 49 +90 230 49 +115 230 49 +139 230 49 +164 230 49 +180 230 49 +205 230 49 +230 230 49 +230 213 57 +238 205 65 +246 205 90 +255 197 90 +255 197 106 +0 255 41 +24 246 41 +57 230 57 +74 230 57 +98 230 57 +115 230 57 +139 230 57 +156 230 57 +172 230 57 +197 230 57 +213 230 57 +230 230 57 +238 222 65 +246 213 90 +255 213 90 +255 213 106 +16 255 49 +41 255 57 +65 238 65 +90 238 65 +106 238 65 +123 238 65 +139 238 65 +156 238 65 +172 238 65 +189 238 65 +205 238 65 +222 238 65 +238 238 65 +246 230 90 +255 230 90 +255 222 106 +32 255 65 +57 255 65 +90 246 90 +106 246 90 +115 246 90 +131 246 90 +148 246 90 +164 246 90 +172 246 90 +189 246 90 +205 246 90 +222 246 90 +230 246 90 +246 246 90 +255 238 90 +255 230 106 +49 255 74 +74 255 90 +90 255 90 +106 255 90 +123 255 90 +131 255 90 +148 255 90 +164 255 90 +172 255 90 +189 255 90 +205 255 90 +213 255 90 +230 255 90 +246 255 90 +255 255 90 +255 246 106 +74 255 98 +90 255 106 +106 255 106 +123 255 106 +131 255 106 +148 255 106 +156 255 106 +164 255 106 +180 255 106 +189 255 106 +205 255 106 +213 255 106 +222 255 106 +238 255 106 +246 255 106 +255 255 106 diff --git a/graphics/misc/sunny_day/83.pal b/graphics/misc/sunny_day/83.pal new file mode 100644 index 0000000000..f68c13c656 --- /dev/null +++ b/graphics/misc/sunny_day/83.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 57 +24 8 57 +41 8 57 +57 8 57 +74 8 57 +90 8 57 +106 8 57 +197 0 82 +213 0 74 +230 0 74 +246 0 74 +255 0 74 +255 16 74 +255 32 82 +255 49 90 +255 74 115 +8 24 57 +24 24 57 +41 24 57 +57 24 57 +74 24 57 +90 24 57 +172 16 82 +189 16 74 +205 16 74 +230 16 65 +246 8 65 +246 24 65 +255 41 74 +255 57 90 +255 74 106 +255 90 115 +8 41 57 +24 41 57 +41 41 57 +57 41 57 +74 41 57 +139 49 82 +164 41 74 +189 41 65 +205 32 65 +222 32 65 +230 49 65 +230 57 74 +238 65 90 +246 90 106 +255 90 106 +255 106 123 +8 57 57 +24 57 57 +41 57 57 +57 57 57 +115 74 74 +139 65 65 +156 65 65 +180 57 57 +197 57 57 +205 65 65 +213 74 74 +222 82 82 +238 98 98 +246 106 106 +255 106 106 +255 123 123 +8 74 57 +24 74 57 +41 74 57 +74 115 74 +115 115 74 +139 106 65 +156 90 65 +180 90 57 +197 82 57 +205 90 65 +213 90 74 +222 98 82 +238 115 98 +246 115 106 +255 123 106 +255 139 123 +8 90 57 +24 90 57 +49 139 74 +65 139 65 +106 139 65 +139 139 65 +156 123 65 +180 123 57 +197 115 57 +205 115 65 +213 115 74 +222 115 82 +238 131 98 +246 131 106 +255 131 106 +255 148 123 +8 106 57 +16 172 74 +41 164 74 +65 156 65 +98 156 65 +131 156 65 +156 156 65 +180 148 57 +197 139 57 +205 139 65 +213 131 74 +222 131 82 +238 139 98 +246 148 106 +255 148 106 +255 156 123 +0 197 82 +16 189 74 +41 189 65 +57 180 57 +90 180 57 +123 180 57 +148 180 57 +180 180 57 +197 164 57 +205 156 65 +213 156 74 +222 156 82 +238 156 98 +246 156 106 +255 164 106 +255 172 123 +0 213 74 +16 205 65 +32 205 57 +57 197 57 +90 197 57 +115 197 57 +139 197 57 +172 197 57 +197 197 57 +205 180 65 +213 172 74 +222 172 82 +238 172 98 +246 172 106 +255 180 106 +255 180 123 +0 230 65 +16 230 65 +32 222 57 +65 205 65 +90 205 65 +115 205 65 +139 205 65 +164 205 65 +180 205 65 +205 205 65 +213 197 74 +222 189 82 +238 189 98 +246 189 106 +255 189 106 +255 189 123 +0 246 65 +8 246 57 +49 230 65 +74 213 74 +98 213 74 +115 213 74 +139 213 74 +156 213 74 +180 213 74 +197 213 74 +213 213 74 +222 205 82 +238 205 98 +246 205 106 +255 205 106 +255 205 123 +0 255 65 +24 246 65 +57 230 74 +82 222 82 +98 222 82 +115 222 82 +139 222 82 +156 222 82 +172 222 82 +189 222 82 +205 222 82 +222 222 82 +238 222 98 +246 213 106 +255 213 106 +255 213 123 +16 255 74 +41 255 74 +65 238 82 +98 238 98 +115 238 98 +131 238 98 +148 238 98 +164 238 98 +172 238 98 +189 238 98 +205 238 98 +222 238 98 +238 238 98 +246 230 106 +255 230 106 +255 222 123 +32 255 82 +57 255 82 +90 246 98 +106 246 106 +123 246 106 +131 246 106 +148 246 106 +164 246 106 +172 246 106 +189 246 106 +205 246 106 +222 246 106 +230 246 106 +246 246 106 +255 246 106 +255 238 123 +49 255 90 +74 255 106 +90 255 106 +106 255 106 +123 255 106 +139 255 106 +156 255 106 +164 255 106 +180 255 106 +189 255 106 +205 255 106 +222 255 106 +230 255 106 +246 255 106 +255 255 106 +255 246 123 +74 255 106 +90 255 115 +106 255 123 +123 255 123 +139 255 123 +148 255 123 +156 255 123 +172 255 123 +180 255 123 +189 255 123 +205 255 123 +213 255 123 +222 255 123 +238 255 123 +246 255 123 +255 255 123 diff --git a/graphics/misc/sunny_day/84.pal b/graphics/misc/sunny_day/84.pal new file mode 100644 index 0000000000..635c5f0491 --- /dev/null +++ b/graphics/misc/sunny_day/84.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 74 +24 8 74 +41 8 74 +57 8 74 +74 8 74 +90 8 74 +106 8 74 +197 0 115 +213 0 106 +230 0 98 +246 0 98 +255 0 90 +255 16 98 +255 32 106 +255 49 115 +255 74 123 +8 24 74 +24 24 74 +41 24 74 +57 24 74 +74 24 74 +90 24 74 +172 16 106 +189 16 106 +205 16 98 +230 16 98 +246 8 90 +246 24 90 +255 41 98 +255 57 106 +255 74 115 +255 90 131 +8 41 74 +24 41 74 +41 41 74 +57 41 74 +74 41 74 +139 49 106 +164 41 106 +189 41 98 +205 32 90 +222 32 90 +230 49 90 +230 57 98 +238 65 106 +246 90 115 +255 90 123 +255 106 131 +8 57 74 +24 57 74 +41 57 74 +74 74 115 +115 74 115 +139 65 106 +156 65 98 +180 57 90 +197 57 90 +205 65 90 +213 74 98 +222 82 98 +238 98 115 +246 106 123 +255 106 123 +255 123 139 +8 74 74 +24 74 74 +41 74 74 +74 115 115 +115 90 90 +131 90 90 +156 82 82 +172 82 82 +189 82 82 +197 90 90 +205 98 98 +222 115 115 +238 115 115 +246 123 123 +255 131 131 +255 148 148 +8 90 74 +24 90 74 +49 139 106 +65 139 106 +90 131 90 +131 131 90 +156 123 82 +172 106 82 +189 115 82 +197 115 90 +205 115 98 +222 131 115 +238 131 115 +246 131 123 +255 139 131 +255 156 148 +8 106 74 +16 172 106 +41 164 106 +65 156 90 +82 156 82 +123 156 82 +156 156 82 +172 139 82 +189 139 82 +197 131 90 +205 131 98 +222 148 115 +238 148 115 +246 148 123 +255 148 131 +255 164 148 +0 197 106 +16 189 106 +41 189 90 +57 180 90 +82 172 82 +115 172 82 +148 172 82 +172 172 82 +189 164 82 +197 156 90 +205 156 98 +222 156 115 +238 164 115 +246 164 123 +255 164 131 +255 172 148 +0 213 106 +16 205 98 +32 205 90 +57 197 82 +82 189 82 +115 189 82 +139 189 82 +164 189 82 +189 189 82 +197 172 90 +205 172 98 +222 172 115 +238 172 115 +246 172 123 +255 180 131 +255 180 148 +0 230 98 +16 230 90 +32 222 90 +65 205 90 +90 197 90 +115 197 90 +131 197 90 +156 197 90 +180 197 90 +197 197 90 +205 189 98 +222 189 115 +238 189 115 +246 189 123 +255 189 131 +255 197 148 +0 246 90 +8 246 82 +49 230 90 +74 213 90 +98 205 98 +115 205 98 +139 205 98 +156 205 98 +172 205 98 +189 205 98 +205 205 98 +222 205 115 +238 205 115 +246 205 123 +255 205 131 +255 205 148 +0 255 90 +24 246 90 +57 230 98 +82 222 98 +115 222 115 +131 222 115 +148 222 115 +164 222 115 +172 222 115 +189 222 115 +205 222 115 +222 222 115 +238 222 115 +246 213 123 +255 213 131 +255 213 148 +16 255 90 +41 255 98 +65 238 98 +98 238 115 +115 238 115 +131 238 115 +148 238 115 +164 238 115 +172 238 115 +189 238 115 +205 238 115 +222 238 115 +238 238 115 +246 230 123 +255 230 131 +255 230 148 +32 255 98 +57 255 106 +90 246 115 +106 246 115 +123 246 123 +139 246 123 +148 246 123 +164 246 123 +180 246 123 +189 246 123 +205 246 123 +222 246 123 +230 246 123 +246 246 123 +255 246 131 +255 238 148 +49 255 106 +74 255 115 +90 255 115 +106 255 123 +131 255 131 +139 255 131 +156 255 131 +164 255 131 +180 255 131 +189 255 131 +205 255 131 +222 255 131 +230 255 131 +246 255 131 +255 255 131 +255 246 148 +74 255 123 +90 255 123 +106 255 131 +123 255 139 +148 255 148 +156 255 148 +164 255 148 +172 255 148 +189 255 148 +197 255 148 +205 255 148 +213 255 148 +230 255 148 +238 255 148 +246 255 148 +255 255 148 diff --git a/graphics/misc/sunny_day/85.pal b/graphics/misc/sunny_day/85.pal new file mode 100644 index 0000000000..8cdcbdaf8b --- /dev/null +++ b/graphics/misc/sunny_day/85.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 90 +24 8 90 +41 8 90 +57 8 90 +74 8 90 +90 8 90 +106 8 90 +197 0 139 +213 0 131 +230 0 123 +246 0 123 +255 0 123 +255 16 115 +255 32 115 +255 49 123 +255 74 139 +8 24 90 +24 24 90 +41 24 90 +57 24 90 +74 24 90 +90 24 90 +172 16 139 +189 16 131 +205 16 131 +230 16 123 +246 8 115 +246 24 115 +255 41 115 +255 57 123 +255 74 131 +255 90 139 +8 41 90 +24 41 90 +49 49 139 +74 49 139 +106 49 139 +139 49 139 +164 41 131 +189 41 123 +205 32 123 +222 32 115 +230 49 115 +230 57 115 +238 65 123 +246 90 131 +255 90 131 +255 106 148 +8 57 90 +24 57 90 +49 82 139 +65 65 139 +106 65 139 +139 65 139 +156 65 131 +180 57 123 +197 57 115 +205 65 115 +213 74 115 +222 82 115 +238 98 131 +246 106 131 +255 106 139 +255 123 148 +8 74 90 +24 74 90 +49 106 139 +65 106 139 +90 90 131 +131 90 131 +156 82 123 +172 82 115 +189 82 115 +197 90 115 +205 98 115 +222 115 131 +238 115 131 +246 123 139 +255 131 139 +255 148 156 +8 90 90 +24 90 90 +49 139 139 +65 139 139 +90 131 131 +131 106 106 +156 106 106 +164 106 106 +180 106 106 +197 115 115 +205 123 123 +222 131 131 +238 131 131 +246 139 139 +255 148 148 +255 164 164 +8 106 90 +16 172 139 +41 164 131 +65 156 123 +82 156 123 +106 156 106 +156 156 106 +164 139 106 +180 131 106 +197 131 115 +205 139 123 +222 148 131 +238 148 131 +246 156 139 +255 156 148 +255 172 164 +0 197 131 +16 189 131 +41 189 123 +57 180 123 +82 172 106 +106 164 106 +139 164 106 +164 164 106 +180 156 106 +197 156 115 +205 156 123 +222 156 131 +238 164 131 +246 164 139 +255 172 148 +255 180 164 +0 213 131 +16 205 123 +32 205 123 +57 197 115 +82 189 115 +106 180 106 +131 180 106 +156 180 106 +180 180 106 +197 172 115 +205 172 123 +222 172 131 +238 172 131 +246 180 139 +255 180 148 +255 189 164 +0 230 123 +16 230 123 +32 222 115 +65 205 115 +90 197 115 +115 197 115 +131 197 115 +156 197 115 +172 197 115 +197 197 115 +205 189 123 +222 189 131 +238 189 131 +246 189 139 +255 197 148 +255 197 164 +0 246 123 +8 246 115 +49 230 115 +74 213 115 +98 205 115 +123 205 123 +139 205 123 +156 205 123 +172 205 123 +189 205 123 +205 205 123 +222 205 131 +238 205 131 +246 205 139 +255 205 148 +255 213 164 +0 255 115 +24 246 106 +57 230 115 +82 222 115 +115 222 131 +131 222 131 +148 222 131 +164 222 131 +172 222 131 +189 222 131 +205 222 131 +222 222 131 +238 222 131 +246 222 139 +255 222 148 +255 222 164 +16 255 115 +41 255 115 +65 238 115 +98 238 131 +115 238 131 +131 238 131 +148 238 131 +164 238 131 +180 238 131 +189 238 131 +205 238 131 +222 238 131 +238 238 131 +246 230 139 +255 230 148 +255 230 164 +32 255 115 +57 255 115 +90 246 131 +106 246 131 +123 246 131 +139 246 139 +156 246 139 +164 246 139 +180 246 139 +189 246 139 +205 246 139 +222 246 139 +230 246 139 +246 246 139 +255 246 148 +255 238 164 +49 255 123 +74 255 131 +90 255 131 +106 255 131 +131 255 139 +148 255 148 +156 255 148 +172 255 148 +180 255 148 +197 255 148 +205 255 148 +222 255 148 +230 255 148 +246 255 148 +255 255 148 +255 246 164 +74 255 131 +90 255 139 +106 255 139 +123 255 148 +148 255 156 +164 255 164 +172 255 164 +180 255 164 +189 255 164 +197 255 164 +213 255 164 +222 255 164 +230 255 164 +238 255 164 +246 255 164 +255 255 164 diff --git a/graphics/misc/sunny_day/86.pal b/graphics/misc/sunny_day/86.pal new file mode 100644 index 0000000000..33157fd950 --- /dev/null +++ b/graphics/misc/sunny_day/86.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +8 8 106 +24 8 106 +41 8 106 +57 8 106 +74 8 106 +90 8 106 +106 8 106 +197 0 164 +213 0 156 +230 0 148 +246 0 148 +255 0 139 +255 16 139 +255 32 139 +255 49 139 +255 74 148 +8 24 106 +16 16 172 +49 16 172 +74 16 172 +106 16 172 +139 16 172 +172 16 172 +189 16 164 +205 16 156 +230 16 148 +246 8 148 +246 24 139 +255 41 139 +255 57 139 +255 74 148 +255 90 156 +8 41 106 +16 49 172 +41 41 164 +74 41 164 +106 41 164 +131 41 164 +164 41 164 +189 41 156 +205 32 148 +222 32 148 +230 49 139 +230 57 139 +238 65 139 +246 90 148 +255 90 148 +255 106 156 +8 57 106 +16 82 172 +41 74 164 +65 65 156 +90 65 156 +123 65 156 +156 65 156 +180 57 148 +197 57 139 +205 65 139 +213 74 139 +222 82 139 +238 98 148 +246 106 148 +255 106 156 +255 123 156 +8 74 106 +16 106 172 +41 106 164 +65 98 156 +82 82 156 +123 82 156 +156 82 156 +172 82 148 +189 82 139 +197 90 131 +205 98 139 +222 115 148 +238 115 148 +246 123 148 +255 131 156 +255 148 164 +8 90 106 +16 139 172 +41 131 164 +65 131 156 +82 123 156 +106 106 156 +156 106 156 +164 106 139 +180 106 131 +197 115 131 +205 123 139 +222 131 148 +238 131 148 +246 139 156 +255 148 156 +255 164 172 +8 106 106 +16 172 172 +41 164 164 +65 156 156 +82 156 156 +106 156 156 +148 123 123 +164 123 123 +180 131 131 +197 139 139 +205 139 139 +222 148 148 +238 148 148 +246 156 156 +255 164 164 +255 180 180 +0 197 164 +16 189 156 +41 189 156 +57 180 148 +82 172 139 +106 164 139 +123 164 123 +164 164 123 +180 156 131 +197 156 139 +205 156 139 +222 164 148 +238 164 148 +246 172 156 +255 172 164 +255 189 180 +0 213 156 +16 205 148 +32 205 148 +57 197 139 +82 189 139 +106 180 131 +131 180 131 +156 180 131 +180 180 131 +197 172 139 +205 172 139 +222 172 148 +238 180 148 +246 180 156 +255 189 164 +255 197 180 +0 230 148 +16 230 148 +32 222 139 +65 205 139 +90 197 131 +115 197 131 +139 197 139 +156 197 139 +172 197 139 +197 197 139 +205 189 139 +222 189 148 +238 189 148 +246 197 156 +255 197 164 +255 205 180 +0 246 139 +8 246 139 +49 230 139 +74 213 131 +98 205 131 +123 205 139 +139 205 139 +156 205 139 +172 205 139 +189 205 139 +205 205 139 +222 205 148 +238 205 148 +246 205 156 +255 213 164 +255 213 180 +0 255 139 +24 246 139 +57 230 131 +82 222 131 +115 222 148 +131 222 148 +148 222 148 +164 222 148 +180 222 148 +189 222 148 +205 222 148 +222 222 148 +238 222 148 +246 222 156 +255 222 164 +255 222 180 +16 255 139 +41 255 131 +65 238 131 +98 238 139 +115 238 148 +131 238 148 +148 238 148 +164 238 148 +180 238 148 +189 238 148 +205 238 148 +222 238 148 +238 238 148 +246 230 156 +255 230 164 +255 230 180 +32 255 131 +57 255 131 +90 246 139 +106 246 148 +123 246 148 +139 246 156 +156 246 156 +172 246 156 +180 246 156 +197 246 156 +205 246 156 +222 246 156 +230 246 156 +246 246 156 +255 246 164 +255 238 180 +49 255 139 +74 255 139 +90 255 148 +106 255 148 +131 255 148 +148 255 156 +164 255 164 +172 255 164 +189 255 164 +197 255 164 +213 255 164 +222 255 164 +230 255 164 +246 255 164 +255 255 164 +255 246 180 +74 255 148 +90 255 148 +106 255 156 +123 255 156 +148 255 164 +164 255 172 +180 255 180 +189 255 180 +197 255 180 +205 255 180 +213 255 180 +222 255 180 +230 255 180 +238 255 180 +255 255 180 +255 255 180 diff --git a/graphics/misc/sunny_day/87.pal b/graphics/misc/sunny_day/87.pal new file mode 100644 index 0000000000..ed7a74501c --- /dev/null +++ b/graphics/misc/sunny_day/87.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 197 +24 0 197 +49 0 197 +82 0 197 +106 0 197 +131 0 197 +164 0 197 +197 0 197 +213 0 189 +230 0 180 +246 0 172 +255 0 164 +255 16 156 +255 32 156 +255 49 156 +255 74 164 +0 24 197 +16 16 189 +41 16 189 +74 16 189 +106 16 189 +131 16 189 +156 16 189 +189 16 189 +205 16 180 +230 16 172 +246 8 164 +246 24 156 +255 41 156 +255 57 156 +255 74 164 +255 90 164 +0 57 197 +16 49 189 +41 41 189 +65 41 189 +90 41 189 +123 41 189 +156 41 189 +189 41 189 +205 32 172 +222 32 172 +230 49 164 +230 57 156 +238 65 156 +246 90 164 +255 90 164 +255 106 164 +0 82 197 +16 74 189 +41 65 189 +57 57 180 +90 57 180 +123 57 180 +148 57 180 +180 57 180 +197 57 172 +205 65 164 +213 74 156 +222 82 156 +238 98 164 +246 106 164 +255 106 164 +255 123 172 +0 115 197 +16 106 189 +41 98 189 +57 90 180 +82 82 172 +106 82 172 +139 82 172 +172 82 172 +189 82 164 +197 90 156 +205 98 156 +222 115 164 +238 115 164 +246 123 164 +255 131 164 +255 148 172 +0 139 197 +16 131 189 +41 123 189 +57 123 180 +82 115 172 +106 106 164 +139 106 164 +164 106 164 +180 106 156 +197 115 156 +205 123 156 +222 131 164 +238 131 164 +246 139 164 +255 148 172 +255 164 180 +0 164 197 +16 164 189 +41 156 189 +57 148 180 +82 148 172 +106 139 164 +123 123 164 +164 123 164 +180 131 156 +197 139 156 +205 139 156 +222 148 164 +238 148 164 +246 156 172 +255 164 172 +255 180 189 +0 197 197 +16 189 189 +41 189 189 +57 180 180 +82 172 172 +106 164 164 +123 164 164 +164 139 139 +180 156 156 +197 156 156 +205 156 156 +222 164 164 +238 172 172 +246 172 172 +255 180 180 +255 197 197 +0 213 180 +16 205 180 +32 205 172 +57 197 164 +82 189 164 +106 180 156 +131 180 156 +156 180 156 +180 180 156 +197 172 156 +205 172 156 +222 180 164 +238 180 172 +246 180 172 +255 189 180 +255 205 197 +0 230 172 +16 230 172 +32 222 164 +65 205 156 +90 197 156 +115 197 156 +139 197 156 +156 197 156 +172 197 156 +197 197 156 +205 189 156 +222 189 164 +238 197 172 +246 197 172 +255 205 180 +255 213 197 +0 246 164 +8 246 164 +49 230 156 +74 213 156 +98 205 156 +123 205 156 +139 205 156 +156 205 156 +172 205 156 +189 205 156 +205 205 156 +222 205 164 +238 205 172 +246 213 172 +255 213 180 +255 222 197 +0 255 156 +24 246 156 +57 230 156 +82 222 156 +115 222 156 +131 222 156 +148 222 164 +164 222 164 +180 222 164 +189 222 164 +205 222 164 +222 222 164 +238 222 172 +246 222 172 +255 222 180 +255 230 197 +16 255 156 +41 255 156 +65 238 156 +98 238 156 +115 238 164 +131 238 164 +148 238 164 +172 238 172 +180 238 172 +197 238 172 +205 238 172 +222 238 172 +238 238 172 +246 230 172 +255 230 180 +255 238 197 +32 255 156 +57 255 156 +90 246 156 +106 246 156 +123 246 164 +139 246 164 +156 246 172 +172 246 172 +189 246 172 +197 246 172 +213 246 172 +222 246 172 +230 246 172 +246 246 172 +255 246 180 +255 246 197 +49 255 156 +74 255 156 +90 255 156 +106 255 164 +131 255 164 +148 255 172 +164 255 172 +180 255 180 +189 255 180 +205 255 180 +213 255 180 +222 255 180 +238 255 180 +246 255 180 +255 255 180 +255 246 197 +74 255 156 +90 255 164 +106 255 164 +123 255 172 +148 255 172 +164 255 180 +180 255 189 +197 255 197 +205 255 197 +213 255 197 +222 255 197 +230 255 197 +238 255 197 +246 255 197 +255 255 197 +255 255 197 diff --git a/graphics/misc/sunny_day/88.pal b/graphics/misc/sunny_day/88.pal new file mode 100644 index 0000000000..c01a4c5756 --- /dev/null +++ b/graphics/misc/sunny_day/88.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 213 +24 0 213 +49 0 213 +74 0 213 +106 0 213 +131 0 213 +156 0 213 +180 0 213 +213 0 213 +230 0 205 +246 0 197 +255 0 189 +255 16 180 +255 32 172 +255 49 172 +255 74 172 +0 24 213 +16 16 205 +41 16 205 +65 16 205 +98 16 205 +123 16 205 +148 16 205 +180 16 205 +205 16 205 +230 16 205 +246 8 197 +246 24 180 +255 41 172 +255 57 172 +255 74 180 +255 90 172 +0 49 213 +16 41 205 +32 32 205 +57 32 205 +90 32 205 +123 32 205 +148 32 205 +172 32 205 +205 32 205 +222 32 197 +230 49 180 +230 57 172 +238 65 172 +246 90 172 +255 90 172 +255 106 180 +0 74 213 +16 74 205 +32 65 205 +57 57 197 +82 57 197 +115 57 197 +139 57 197 +164 57 197 +197 57 197 +205 65 180 +213 74 180 +222 82 172 +238 98 172 +246 106 172 +255 106 180 +255 123 180 +0 106 213 +16 98 205 +32 90 205 +57 90 197 +82 82 189 +115 82 189 +139 82 189 +164 82 189 +189 82 189 +197 90 180 +205 98 172 +222 115 172 +238 115 172 +246 123 180 +255 131 180 +255 148 189 +0 131 213 +16 131 205 +32 123 205 +57 115 197 +82 115 189 +106 106 180 +131 106 180 +156 106 180 +180 106 180 +197 115 172 +205 123 172 +222 131 172 +238 131 180 +246 139 180 +255 148 180 +255 164 189 +0 156 213 +16 156 205 +32 148 205 +57 139 197 +82 139 189 +106 131 180 +131 131 180 +156 131 180 +180 131 180 +197 139 172 +205 139 172 +222 148 180 +238 148 180 +246 156 180 +255 164 189 +255 180 197 +0 189 213 +16 180 205 +32 172 205 +57 172 197 +82 164 189 +106 156 180 +131 156 180 +156 156 180 +180 156 180 +197 156 172 +205 156 172 +222 164 180 +238 172 180 +246 172 189 +255 180 189 +255 197 205 +0 213 213 +16 205 205 +32 205 205 +57 197 197 +82 189 189 +106 180 180 +131 180 180 +156 180 180 +180 164 164 +197 172 172 +213 172 172 +222 180 180 +238 180 180 +246 189 189 +255 197 197 +255 222 222 +0 230 197 +16 230 197 +32 222 197 +65 205 180 +90 197 172 +115 197 172 +139 197 172 +156 197 172 +172 197 172 +197 197 172 +213 189 172 +222 197 180 +238 197 180 +246 197 189 +255 205 197 +255 230 222 +0 246 189 +8 246 189 +49 230 180 +74 213 172 +98 205 172 +123 205 172 +139 205 172 +156 205 172 +172 213 172 +189 213 172 +213 213 172 +222 205 180 +238 213 180 +246 213 189 +255 213 197 +255 230 222 +0 255 189 +24 246 180 +57 230 172 +82 222 172 +115 222 172 +131 222 172 +148 222 172 +164 222 180 +180 222 180 +197 222 180 +205 222 180 +222 222 180 +238 222 180 +246 222 189 +255 230 197 +255 238 222 +16 255 172 +41 255 172 +65 238 164 +98 238 172 +115 238 172 +131 238 172 +148 238 180 +172 238 180 +180 238 180 +197 238 180 +213 238 180 +222 238 180 +238 238 180 +246 238 189 +255 238 197 +255 246 222 +32 255 164 +57 255 164 +90 246 172 +106 246 172 +123 246 172 +139 246 180 +156 246 180 +172 246 180 +189 246 189 +205 246 189 +213 246 189 +222 246 189 +238 246 189 +246 246 189 +255 246 197 +255 246 222 +49 255 164 +74 255 172 +90 255 172 +106 255 180 +131 255 180 +148 255 180 +164 255 189 +180 255 189 +197 255 197 +205 255 197 +213 255 197 +230 255 197 +238 255 197 +246 255 197 +255 255 197 +255 255 222 +74 255 172 +90 255 172 +106 255 180 +123 255 180 +148 255 180 +164 255 189 +180 255 197 +197 255 205 +222 255 222 +230 255 222 +230 255 222 +238 255 222 +246 255 222 +246 255 222 +255 255 222 +255 255 222 diff --git a/graphics/misc/sunny_day/89.pal b/graphics/misc/sunny_day/89.pal new file mode 100644 index 0000000000..70083e6b32 --- /dev/null +++ b/graphics/misc/sunny_day/89.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 230 +16 0 230 +49 0 230 +65 0 230 +98 0 230 +123 0 230 +148 0 230 +172 0 230 +197 0 230 +230 0 230 +246 0 222 +255 0 213 +255 16 197 +255 32 189 +255 49 189 +255 74 189 +0 24 230 +16 16 230 +41 16 230 +65 16 230 +90 16 230 +123 16 230 +148 16 230 +172 16 230 +197 16 230 +230 16 230 +246 8 222 +246 24 205 +255 41 197 +255 57 189 +255 74 189 +255 90 189 +0 49 230 +16 41 230 +32 32 222 +57 32 222 +90 32 222 +115 32 222 +139 32 222 +164 32 222 +197 32 222 +222 32 222 +230 49 205 +230 57 197 +238 65 189 +246 90 189 +255 90 189 +255 106 189 +0 74 230 +16 65 230 +32 65 222 +65 65 205 +90 65 205 +115 65 205 +139 65 205 +156 65 205 +180 65 205 +205 65 205 +213 74 197 +222 82 189 +238 98 189 +246 106 189 +255 106 189 +255 123 189 +0 98 230 +16 98 230 +32 90 222 +65 90 205 +90 90 197 +115 90 197 +131 90 197 +156 90 197 +172 90 197 +197 90 197 +205 98 189 +222 115 189 +238 115 189 +246 123 189 +255 131 189 +255 148 197 +0 123 230 +16 123 230 +32 115 222 +65 115 205 +90 115 197 +115 115 197 +131 115 197 +156 115 197 +172 115 197 +197 115 197 +205 123 189 +222 131 189 +238 131 189 +246 139 189 +255 148 197 +255 164 197 +0 148 230 +16 148 230 +32 148 222 +65 139 205 +90 131 197 +115 131 197 +139 139 197 +156 139 197 +172 139 197 +197 139 197 +205 139 189 +222 148 189 +238 148 189 +246 156 197 +255 164 197 +255 180 205 +0 180 230 +16 172 230 +32 172 222 +65 164 205 +90 156 197 +115 156 197 +139 156 197 +156 156 197 +172 156 197 +197 156 197 +205 156 189 +222 164 189 +238 172 197 +246 172 197 +255 180 205 +255 197 213 +0 205 230 +16 205 230 +32 197 222 +65 180 205 +90 180 197 +115 172 197 +139 172 197 +156 172 197 +172 172 197 +197 172 197 +213 172 189 +222 180 197 +238 180 197 +246 189 205 +255 197 205 +255 222 230 +0 230 230 +16 230 230 +32 222 222 +65 205 205 +90 197 197 +115 197 197 +139 197 197 +156 197 197 +172 197 197 +197 189 189 +213 189 189 +222 197 197 +238 197 197 +246 205 205 +255 222 222 +255 238 238 +0 246 213 +8 246 222 +49 230 205 +74 213 197 +98 205 189 +123 205 189 +139 205 189 +156 205 189 +172 213 189 +189 213 189 +213 213 189 +222 213 197 +238 213 197 +246 213 205 +255 230 222 +255 238 238 +0 255 205 +24 246 197 +57 230 189 +82 222 189 +115 222 189 +131 222 189 +148 222 189 +164 222 189 +180 222 197 +197 222 197 +213 222 197 +222 222 197 +238 222 197 +246 230 205 +255 238 222 +255 246 238 +16 255 197 +41 255 189 +65 238 180 +98 238 189 +115 238 189 +131 238 189 +148 238 189 +172 238 197 +180 238 197 +197 238 197 +213 238 197 +222 238 197 +238 238 197 +246 238 205 +255 246 222 +255 246 238 +32 255 189 +57 255 180 +90 246 189 +106 246 189 +123 246 189 +139 246 189 +156 246 197 +172 246 197 +189 246 197 +205 246 205 +213 246 205 +230 246 205 +238 246 205 +246 246 205 +255 246 222 +255 255 238 +49 255 180 +74 255 189 +90 255 189 +106 255 189 +131 255 189 +148 255 197 +164 255 197 +180 255 205 +197 255 205 +222 255 222 +230 255 222 +238 255 222 +246 255 222 +246 255 222 +255 255 222 +255 255 238 +74 255 180 +90 255 189 +106 255 189 +123 255 189 +148 255 197 +164 255 197 +180 255 205 +197 255 213 +222 255 230 +238 255 238 +246 255 238 +246 255 238 +246 255 238 +255 255 238 +255 255 238 +255 255 238 diff --git a/graphics/misc/sunny_day/9.pal b/graphics/misc/sunny_day/9.pal new file mode 100644 index 0000000000..ee5169a71a --- /dev/null +++ b/graphics/misc/sunny_day/9.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 172 +16 0 172 +32 0 172 +57 0 172 +74 0 172 +90 0 172 +115 0 172 +131 0 172 +148 0 172 +172 0 172 +189 0 172 +205 0 172 +222 0 164 +238 0 172 +255 0 164 +255 24 164 +0 16 172 +16 16 172 +32 16 172 +57 16 172 +74 16 172 +90 16 172 +115 16 172 +131 16 172 +148 16 172 +172 16 172 +189 16 172 +205 16 172 +222 16 172 +238 16 164 +246 32 164 +255 41 164 +0 41 172 +16 41 172 +32 32 172 +57 32 172 +74 32 172 +90 32 172 +115 32 172 +131 32 172 +148 32 172 +172 32 172 +189 32 172 +205 32 164 +222 32 164 +230 49 164 +246 49 164 +255 57 172 +0 57 172 +16 57 172 +32 57 172 +57 57 164 +74 57 164 +90 57 164 +115 57 164 +131 57 164 +148 57 164 +164 57 164 +189 49 172 +205 57 164 +213 65 164 +230 65 164 +246 65 164 +255 74 164 +0 74 172 +16 74 172 +32 74 172 +57 74 164 +74 74 164 +90 74 164 +106 74 164 +131 74 164 +148 74 164 +164 74 164 +180 74 164 +197 82 164 +213 82 164 +230 82 172 +246 82 164 +255 90 172 +0 98 172 +16 90 172 +32 90 172 +57 90 164 +74 90 164 +90 90 164 +106 90 164 +131 90 164 +148 90 164 +164 90 164 +180 98 164 +197 98 164 +213 98 164 +230 98 164 +246 106 172 +255 106 172 +0 115 172 +16 115 172 +32 115 172 +57 115 164 +74 106 164 +90 106 164 +115 115 164 +131 115 164 +148 115 164 +164 115 164 +180 115 164 +197 115 164 +213 115 164 +230 123 164 +246 123 172 +255 123 172 +0 131 172 +16 131 172 +32 131 172 +57 131 164 +74 131 164 +90 131 164 +115 131 164 +131 131 164 +148 131 164 +164 131 164 +180 139 164 +197 131 164 +213 139 164 +230 139 164 +246 139 172 +255 139 172 +0 156 172 +16 156 172 +32 148 172 +57 148 164 +74 148 164 +90 148 164 +115 148 164 +131 148 164 +148 148 164 +164 148 164 +180 156 164 +197 148 164 +213 156 172 +230 156 172 +246 156 172 +255 172 180 +0 172 172 +16 172 172 +32 172 172 +57 164 164 +74 164 164 +90 164 164 +115 164 164 +131 164 164 +148 164 164 +164 164 164 +180 164 164 +197 172 172 +213 172 172 +230 172 172 +246 180 180 +255 189 189 +0 189 164 +16 189 172 +32 189 164 +49 189 164 +74 180 164 +98 180 164 +115 180 164 +139 180 164 +156 180 164 +164 180 164 +180 180 164 +197 180 172 +213 180 172 +230 189 172 +246 197 180 +255 197 189 +0 205 164 +16 205 164 +32 205 164 +57 205 164 +82 197 164 +98 197 164 +115 197 164 +131 197 164 +148 197 164 +172 197 172 +180 197 172 +197 197 172 +213 197 172 +230 197 172 +246 205 180 +255 213 189 +0 222 164 +16 222 164 +32 222 164 +65 213 164 +82 213 164 +98 213 164 +115 213 164 +139 213 164 +156 213 172 +172 213 172 +189 213 172 +197 213 172 +213 213 172 +230 213 172 +246 222 180 +255 222 189 +0 238 164 +16 238 164 +49 230 164 +65 230 164 +82 230 164 +98 230 164 +123 230 164 +139 230 164 +156 230 164 +172 230 172 +189 230 172 +197 230 172 +213 230 172 +230 230 172 +246 230 180 +255 230 189 +0 255 164 +32 246 164 +49 246 164 +65 246 164 +82 246 164 +106 246 164 +123 246 164 +139 246 172 +156 246 172 +180 246 180 +197 246 180 +205 246 180 +222 246 180 +238 246 180 +246 246 180 +255 246 189 +24 255 164 +41 255 164 +57 255 164 +74 255 164 +90 255 164 +106 255 164 +123 255 172 +139 255 172 +172 255 180 +189 255 189 +197 255 189 +213 255 189 +222 255 189 +238 255 189 +246 255 189 +255 255 189 diff --git a/graphics/misc/sunny_day/90.pal b/graphics/misc/sunny_day/90.pal new file mode 100644 index 0000000000..3b9064bc06 --- /dev/null +++ b/graphics/misc/sunny_day/90.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 246 +16 0 246 +41 0 246 +65 0 246 +90 0 246 +123 0 246 +139 0 246 +164 0 246 +189 0 246 +213 0 246 +246 0 246 +255 0 238 +255 16 222 +255 32 205 +255 49 197 +255 74 197 +0 24 246 +8 8 246 +32 8 246 +57 8 246 +82 8 246 +115 8 246 +139 8 246 +164 8 246 +189 8 246 +222 8 246 +246 8 246 +246 24 230 +255 41 213 +255 57 205 +255 74 205 +255 90 197 +0 49 246 +8 41 246 +49 49 230 +65 49 230 +90 49 230 +115 49 230 +139 49 230 +156 49 230 +180 49 230 +205 49 230 +230 49 230 +230 57 213 +238 65 205 +246 90 205 +255 90 205 +255 106 205 +0 74 246 +8 65 246 +49 65 230 +74 74 213 +90 74 213 +115 74 213 +131 74 213 +156 74 213 +172 74 213 +197 74 213 +213 74 213 +222 82 205 +238 98 205 +246 106 205 +255 106 205 +255 123 205 +0 98 246 +8 90 246 +49 90 230 +74 98 213 +98 98 205 +115 98 205 +131 98 205 +156 98 205 +172 98 205 +189 98 205 +205 98 205 +222 115 205 +238 115 205 +246 123 205 +255 131 205 +255 148 205 +0 123 246 +8 115 246 +49 115 230 +74 115 213 +98 115 205 +123 123 205 +139 123 205 +156 123 205 +172 123 205 +189 123 205 +205 123 205 +222 131 205 +238 131 205 +246 139 205 +255 148 205 +255 164 213 +0 148 246 +8 148 246 +49 139 230 +74 139 213 +98 139 205 +123 139 205 +139 139 205 +156 139 205 +172 139 205 +189 139 205 +205 139 205 +222 148 205 +238 148 205 +246 156 205 +255 164 213 +255 180 213 +0 172 246 +8 164 246 +49 164 230 +74 156 213 +98 156 205 +123 156 205 +139 156 205 +156 156 205 +172 156 205 +189 156 205 +205 156 205 +222 164 205 +238 172 205 +246 172 213 +255 180 213 +255 197 222 +0 197 246 +8 197 246 +49 180 230 +74 180 213 +98 172 205 +123 172 205 +139 172 205 +156 172 205 +172 172 213 +189 172 213 +213 172 213 +222 180 205 +238 180 213 +246 189 213 +255 197 213 +255 222 230 +0 222 246 +8 222 246 +49 205 230 +74 197 213 +98 189 205 +123 189 205 +139 189 205 +156 189 205 +172 189 213 +189 189 213 +213 189 213 +222 197 213 +238 197 213 +246 205 213 +255 222 230 +255 238 246 +0 246 246 +8 246 246 +49 230 230 +74 213 213 +98 205 205 +123 205 205 +139 205 205 +156 205 205 +172 213 213 +189 213 213 +213 205 205 +230 213 213 +238 213 213 +246 230 230 +255 238 238 +255 255 255 +0 255 230 +24 246 222 +57 230 213 +82 222 205 +115 222 205 +131 222 205 +148 222 205 +164 222 205 +180 222 205 +197 222 213 +213 230 213 +230 230 213 +238 230 213 +246 238 230 +255 246 238 +255 255 255 +16 255 213 +41 255 205 +65 238 205 +98 238 205 +115 238 205 +131 238 205 +148 238 205 +172 238 205 +180 238 213 +197 238 213 +213 238 213 +230 238 213 +238 238 213 +246 246 230 +255 246 238 +255 255 255 +32 255 205 +57 255 205 +90 246 205 +106 246 205 +123 246 205 +139 246 205 +156 246 205 +172 246 213 +189 246 213 +205 246 213 +230 246 230 +238 246 230 +246 246 230 +246 246 230 +255 255 238 +255 255 255 +49 255 197 +74 255 197 +90 255 197 +106 255 205 +131 255 205 +148 255 205 +164 255 213 +180 255 213 +197 255 213 +222 255 230 +238 255 238 +246 255 238 +246 255 238 +255 255 238 +255 255 238 +255 255 255 +74 255 197 +90 255 197 +106 255 197 +123 255 205 +148 255 205 +164 255 213 +180 255 213 +197 255 222 +222 255 230 +238 255 238 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/91.pal b/graphics/misc/sunny_day/91.pal new file mode 100644 index 0000000000..0cc9cb2268 --- /dev/null +++ b/graphics/misc/sunny_day/91.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 255 +16 0 255 +41 0 255 +65 0 255 +90 0 255 +115 0 255 +139 0 255 +156 0 255 +189 0 255 +205 0 255 +230 0 255 +255 0 255 +255 16 238 +255 32 222 +255 49 213 +255 74 213 +0 24 255 +24 24 246 +41 24 246 +65 24 246 +90 24 246 +106 24 246 +139 24 246 +156 24 246 +180 24 246 +197 24 246 +222 24 246 +246 24 246 +255 41 238 +255 57 222 +255 74 213 +255 90 213 +0 49 255 +24 49 246 +57 57 230 +74 57 230 +98 57 230 +115 57 230 +131 57 230 +156 57 230 +172 57 230 +189 57 230 +213 57 230 +230 57 230 +238 65 222 +246 90 222 +255 90 213 +255 106 213 +0 74 255 +24 65 246 +57 74 230 +82 82 222 +98 82 222 +115 82 222 +131 82 222 +156 82 222 +172 82 222 +189 82 222 +205 82 222 +222 82 222 +238 98 222 +246 106 222 +255 106 222 +255 123 213 +0 90 255 +24 90 246 +57 98 230 +82 98 222 +115 115 222 +131 115 222 +148 115 222 +156 115 222 +172 115 222 +189 115 222 +205 115 222 +222 115 222 +238 115 222 +246 123 222 +255 131 222 +255 148 213 +0 123 255 +24 115 246 +57 115 230 +82 115 222 +115 131 222 +131 131 222 +148 131 222 +156 131 222 +172 131 222 +189 131 222 +205 131 222 +222 131 222 +238 131 222 +246 139 222 +255 148 222 +255 164 222 +0 139 255 +24 139 246 +57 139 230 +82 139 222 +115 148 222 +131 148 222 +148 148 222 +164 148 222 +172 148 222 +189 148 222 +205 148 222 +222 148 222 +238 148 222 +246 156 222 +255 164 222 +255 180 222 +0 164 255 +24 156 246 +57 156 230 +82 156 222 +115 164 222 +131 164 222 +148 164 222 +164 164 222 +180 164 222 +189 164 222 +205 164 222 +222 164 222 +238 172 222 +246 172 222 +255 180 222 +255 197 230 +0 189 255 +24 180 246 +57 172 230 +82 172 222 +115 172 222 +131 172 222 +148 180 222 +164 180 222 +180 180 222 +197 180 222 +205 180 222 +222 180 222 +238 180 222 +246 189 222 +255 197 230 +255 222 238 +0 213 255 +24 205 246 +57 197 230 +82 189 222 +115 189 222 +131 189 222 +148 189 222 +164 189 222 +180 197 222 +197 197 222 +213 197 222 +222 197 222 +238 197 222 +246 205 230 +255 222 238 +255 238 246 +0 238 255 +24 230 246 +57 213 230 +82 205 222 +115 205 222 +131 205 222 +148 205 222 +164 205 222 +180 205 222 +197 213 222 +213 213 230 +230 213 230 +238 213 230 +246 230 238 +255 238 246 +255 255 255 +0 255 255 +24 246 246 +57 230 230 +82 222 222 +115 222 222 +131 222 222 +148 222 222 +164 222 222 +180 222 222 +197 222 222 +213 230 230 +230 222 222 +246 238 238 +255 246 246 +255 255 255 +255 255 255 +16 255 238 +41 255 230 +65 238 222 +98 238 222 +115 238 222 +131 238 222 +148 238 222 +172 238 222 +180 238 222 +197 238 222 +213 238 230 +238 246 238 +246 246 238 +255 246 246 +255 255 255 +255 255 255 +32 255 222 +57 255 213 +90 246 213 +106 246 213 +123 246 213 +139 246 222 +156 246 222 +172 246 222 +189 246 222 +205 246 230 +230 246 238 +246 255 246 +246 255 246 +255 255 246 +255 255 255 +255 255 255 +49 255 213 +74 255 213 +90 255 213 +106 255 213 +131 255 213 +148 255 222 +164 255 222 +180 255 222 +197 255 230 +222 255 238 +238 255 246 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +74 255 205 +90 255 205 +106 255 213 +123 255 213 +148 255 213 +164 255 222 +180 255 222 +197 255 230 +222 255 238 +238 255 246 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/92.pal b/graphics/misc/sunny_day/92.pal new file mode 100644 index 0000000000..554b2c1711 --- /dev/null +++ b/graphics/misc/sunny_day/92.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +16 16 255 +32 16 255 +49 16 255 +74 16 255 +90 16 255 +115 16 255 +139 16 255 +156 16 255 +172 16 255 +197 16 255 +213 16 255 +238 16 255 +255 16 255 +255 32 246 +255 49 230 +255 74 222 +16 32 255 +41 41 255 +57 41 255 +74 41 255 +98 41 255 +115 41 255 +131 41 255 +156 41 255 +172 41 255 +189 41 255 +205 41 255 +230 41 255 +255 41 255 +255 57 238 +255 74 230 +255 90 222 +16 57 255 +41 57 255 +65 65 238 +82 65 238 +98 65 238 +115 65 238 +131 65 238 +156 65 238 +164 65 238 +180 65 238 +205 65 238 +222 65 238 +238 65 238 +246 90 230 +255 90 230 +255 106 222 +16 74 255 +41 74 255 +65 90 238 +98 98 238 +115 98 238 +131 98 238 +139 98 238 +156 98 238 +172 98 238 +189 98 238 +205 98 238 +222 98 238 +238 98 238 +246 106 230 +255 106 230 +255 123 222 +16 98 255 +41 98 255 +65 106 238 +98 115 238 +115 115 238 +131 115 238 +148 115 238 +164 115 238 +172 115 238 +189 115 238 +205 115 238 +222 115 238 +238 115 238 +246 123 230 +255 131 230 +255 148 230 +16 115 255 +41 115 255 +65 123 238 +98 131 238 +115 131 238 +131 131 238 +148 131 238 +164 131 238 +172 131 238 +189 131 238 +205 131 238 +222 131 238 +238 131 238 +246 139 230 +255 148 230 +255 164 230 +16 139 255 +41 139 255 +65 139 238 +98 148 238 +115 148 238 +131 148 238 +148 148 238 +164 148 238 +180 148 238 +189 148 238 +205 148 238 +222 148 238 +238 148 238 +246 156 230 +255 164 230 +255 180 230 +16 156 255 +41 156 255 +65 156 238 +98 164 238 +115 164 238 +131 164 238 +148 164 238 +172 172 238 +180 172 238 +197 172 238 +205 172 238 +222 172 238 +238 172 238 +246 172 230 +255 180 238 +255 197 238 +16 180 255 +41 172 255 +65 172 238 +98 172 238 +115 172 238 +131 180 238 +148 180 238 +172 180 238 +180 180 238 +197 180 238 +213 180 238 +222 180 238 +238 180 238 +246 189 238 +255 197 238 +255 222 246 +16 197 255 +41 197 255 +65 189 238 +98 189 238 +115 189 238 +131 189 238 +148 189 238 +172 197 238 +180 197 238 +197 197 238 +213 197 238 +222 197 238 +238 197 238 +246 205 238 +255 222 246 +255 238 246 +16 222 255 +41 213 255 +65 205 238 +98 205 238 +115 205 238 +131 205 238 +148 205 238 +172 205 238 +180 213 238 +197 213 238 +213 213 238 +230 213 238 +238 213 238 +246 230 246 +255 238 246 +255 255 255 +16 238 255 +41 238 255 +65 222 238 +98 222 238 +115 222 238 +131 222 238 +148 222 238 +172 222 238 +180 222 238 +197 222 238 +213 230 238 +238 238 246 +246 238 246 +255 246 246 +255 255 255 +255 255 255 +16 255 255 +41 255 255 +65 238 238 +98 238 238 +115 238 238 +131 238 238 +148 238 238 +172 238 238 +180 238 238 +197 238 238 +213 238 238 +238 246 246 +246 246 246 +255 255 255 +255 255 255 +255 255 255 +32 255 238 +57 255 230 +90 246 230 +106 246 230 +123 246 230 +139 246 230 +156 246 230 +172 246 230 +189 246 238 +205 246 238 +230 246 246 +246 255 246 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +49 255 230 +74 255 230 +90 255 230 +106 255 230 +131 255 230 +148 255 230 +164 255 230 +180 255 230 +197 255 238 +222 255 246 +238 255 246 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +74 255 222 +90 255 222 +106 255 222 +123 255 222 +148 255 230 +164 255 230 +180 255 230 +197 255 238 +222 255 246 +238 255 246 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/93.pal b/graphics/misc/sunny_day/93.pal new file mode 100644 index 0000000000..15f97e8b51 --- /dev/null +++ b/graphics/misc/sunny_day/93.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +32 32 255 +49 32 255 +65 32 255 +82 32 255 +98 32 255 +115 32 255 +131 32 255 +156 32 255 +164 32 255 +189 32 255 +205 32 255 +222 32 255 +238 32 255 +255 32 255 +255 49 246 +255 74 238 +32 49 255 +57 57 255 +65 57 255 +82 57 255 +106 57 255 +115 57 255 +131 57 255 +156 57 255 +164 57 255 +180 57 255 +205 57 255 +213 57 255 +230 57 255 +255 57 255 +255 74 246 +255 90 238 +32 65 255 +57 74 255 +90 90 246 +98 90 246 +115 90 246 +131 90 246 +139 90 246 +156 90 246 +172 90 246 +189 90 246 +205 90 246 +213 90 246 +230 90 246 +246 90 246 +255 90 246 +255 106 238 +32 82 255 +57 90 255 +90 106 246 +106 106 246 +115 106 246 +131 106 246 +148 106 246 +156 106 246 +172 106 246 +189 106 246 +205 106 246 +213 106 246 +230 106 246 +246 106 246 +255 106 246 +255 123 238 +32 106 255 +57 106 255 +90 115 246 +106 123 246 +123 123 246 +131 123 246 +148 123 246 +164 123 246 +172 123 246 +189 123 246 +205 123 246 +213 123 246 +230 123 246 +246 123 246 +255 131 246 +255 148 238 +32 115 255 +57 123 255 +90 131 246 +106 131 246 +123 139 246 +139 139 246 +156 139 246 +164 139 246 +180 139 246 +189 139 246 +205 139 246 +222 139 246 +230 139 246 +246 139 246 +255 148 246 +255 164 238 +32 139 255 +57 139 255 +90 148 246 +106 148 246 +123 148 246 +139 156 246 +156 156 246 +172 156 246 +180 156 246 +197 156 246 +205 156 246 +222 156 246 +230 156 246 +246 156 246 +255 164 246 +255 180 238 +32 156 255 +57 156 255 +90 164 246 +106 164 246 +123 164 246 +139 164 246 +156 172 246 +172 172 246 +180 172 246 +197 172 246 +213 172 246 +222 172 246 +230 172 246 +246 172 246 +255 180 246 +255 197 246 +32 172 255 +57 172 255 +90 172 246 +106 172 246 +123 180 246 +139 180 246 +156 180 246 +172 189 246 +189 189 246 +197 189 246 +213 189 246 +222 189 246 +238 189 246 +246 189 246 +255 197 246 +255 222 246 +32 189 255 +57 189 255 +90 189 246 +106 189 246 +123 189 246 +139 189 246 +156 197 246 +172 197 246 +189 205 246 +205 205 246 +213 205 246 +230 205 246 +238 205 246 +246 205 246 +255 222 246 +255 238 255 +32 205 255 +57 205 255 +90 205 246 +106 205 246 +123 205 246 +139 205 246 +156 205 246 +172 213 246 +189 213 246 +205 213 246 +230 230 246 +238 230 246 +246 230 246 +246 230 246 +255 238 255 +255 255 255 +32 222 255 +57 222 255 +90 222 246 +106 222 246 +123 222 246 +139 222 246 +156 222 246 +172 222 246 +189 222 246 +205 230 246 +230 238 246 +246 246 255 +246 246 255 +255 246 255 +255 255 255 +255 255 255 +32 246 255 +57 238 255 +90 230 246 +106 230 246 +123 230 246 +139 230 246 +156 230 246 +172 230 246 +189 238 246 +205 238 246 +230 246 246 +246 246 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +32 255 255 +57 255 255 +90 246 246 +106 246 246 +123 246 246 +139 246 246 +156 246 246 +172 246 246 +189 246 246 +205 246 246 +230 246 246 +246 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +49 255 238 +74 255 246 +90 255 238 +106 255 246 +131 255 246 +148 255 246 +164 255 246 +180 255 246 +197 255 246 +222 255 246 +238 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +74 255 230 +90 255 230 +106 255 230 +123 255 238 +148 255 238 +164 255 238 +180 255 238 +197 255 246 +222 255 246 +238 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/94.pal b/graphics/misc/sunny_day/94.pal new file mode 100644 index 0000000000..0036d47e02 --- /dev/null +++ b/graphics/misc/sunny_day/94.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +49 49 255 +65 49 255 +74 49 255 +90 49 255 +106 49 255 +123 49 255 +139 49 255 +156 49 255 +164 49 255 +180 49 255 +197 49 255 +213 49 255 +230 49 255 +238 49 255 +255 49 255 +255 74 246 +49 65 255 +74 74 255 +90 74 255 +106 74 255 +115 74 255 +131 74 255 +139 74 255 +156 74 255 +172 74 255 +189 74 255 +197 74 255 +213 74 255 +230 74 255 +246 74 255 +255 74 255 +255 90 246 +49 82 255 +74 90 255 +90 90 255 +106 90 255 +115 90 255 +131 90 255 +148 90 255 +156 90 255 +172 90 255 +189 90 255 +197 90 255 +213 90 255 +230 90 255 +238 90 255 +255 90 255 +255 106 246 +49 90 255 +74 106 255 +90 106 255 +106 106 255 +123 106 255 +131 106 255 +148 106 255 +164 106 255 +180 106 255 +189 106 255 +205 106 255 +213 106 255 +230 106 255 +246 106 255 +255 106 255 +255 123 246 +49 115 255 +74 115 255 +90 123 255 +106 123 255 +131 131 255 +139 131 255 +148 131 255 +164 131 255 +180 131 255 +189 131 255 +205 131 255 +213 131 255 +230 131 255 +246 131 255 +255 131 255 +255 148 246 +49 123 255 +74 131 255 +90 131 255 +106 139 255 +131 139 255 +148 148 255 +156 148 255 +172 148 255 +180 148 255 +197 148 255 +205 148 255 +222 148 255 +230 148 255 +246 148 255 +255 148 255 +255 164 246 +49 139 255 +74 148 255 +90 148 255 +106 156 255 +131 156 255 +148 156 255 +164 164 255 +172 164 255 +189 164 255 +197 164 255 +213 164 255 +222 164 255 +230 164 255 +246 164 255 +255 164 255 +255 180 255 +49 156 255 +74 164 255 +90 164 255 +106 164 255 +131 164 255 +148 172 255 +164 172 255 +180 180 255 +189 180 255 +205 180 255 +213 180 255 +222 180 255 +230 180 255 +246 180 255 +255 180 255 +255 197 255 +49 172 255 +74 180 255 +90 172 255 +106 180 255 +131 180 255 +148 180 255 +164 189 255 +180 189 255 +197 197 255 +205 197 255 +213 197 255 +230 197 255 +238 197 255 +246 197 255 +255 197 255 +255 222 255 +49 189 255 +74 189 255 +90 189 255 +106 189 255 +131 189 255 +148 197 255 +164 197 255 +180 205 255 +197 205 255 +222 222 255 +230 222 255 +238 222 255 +246 222 255 +246 222 255 +255 222 255 +255 238 255 +49 197 255 +74 205 255 +90 205 255 +106 205 255 +131 205 255 +148 205 255 +164 213 255 +180 213 255 +197 213 255 +222 230 255 +238 238 255 +246 238 255 +246 238 255 +255 238 255 +255 238 255 +255 255 255 +49 213 255 +74 213 255 +90 213 255 +106 222 255 +131 222 255 +148 222 255 +164 222 255 +180 222 255 +197 230 255 +222 238 255 +238 246 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +49 230 255 +74 230 255 +90 230 255 +106 230 255 +131 230 255 +148 230 255 +164 230 255 +180 238 255 +197 238 255 +222 246 255 +238 246 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +49 246 255 +74 246 255 +90 246 255 +106 246 255 +131 246 255 +148 246 255 +164 246 255 +180 246 255 +197 246 255 +222 246 255 +238 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +49 255 255 +74 255 255 +90 255 255 +106 255 255 +131 255 255 +148 255 255 +164 255 255 +180 255 255 +197 255 255 +222 255 255 +238 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +74 255 246 +90 255 246 +106 255 246 +123 255 246 +148 255 246 +164 255 246 +180 255 246 +197 255 246 +222 255 255 +238 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/misc/sunny_day/95.pal b/graphics/misc/sunny_day/95.pal new file mode 100644 index 0000000000..3b8bceb353 --- /dev/null +++ b/graphics/misc/sunny_day/95.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +74 74 255 +82 74 255 +98 74 255 +106 74 255 +123 74 255 +131 74 255 +148 74 255 +156 74 255 +172 74 255 +180 74 255 +197 74 255 +205 74 255 +222 74 255 +230 74 255 +246 74 255 +255 74 255 +74 90 255 +90 90 255 +106 90 255 +115 90 255 +123 90 255 +139 90 255 +148 90 255 +164 90 255 +172 90 255 +189 90 255 +197 90 255 +205 90 255 +222 90 255 +230 90 255 +246 90 255 +255 90 255 +74 98 255 +90 106 255 +106 106 255 +123 106 255 +131 106 255 +139 106 255 +156 106 255 +164 106 255 +180 106 255 +189 106 255 +197 106 255 +213 106 255 +222 106 255 +230 106 255 +246 106 255 +255 106 255 +74 115 255 +90 115 255 +106 123 255 +123 123 255 +139 123 255 +148 123 255 +156 123 255 +172 123 255 +180 123 255 +189 123 255 +205 123 255 +213 123 255 +222 123 255 +238 123 255 +246 123 255 +255 123 255 +74 123 255 +90 131 255 +106 131 255 +123 139 255 +148 148 255 +156 148 255 +164 148 255 +172 148 255 +180 148 255 +197 148 255 +205 148 255 +213 148 255 +230 148 255 +238 148 255 +246 148 255 +255 148 255 +74 139 255 +90 139 255 +106 148 255 +123 148 255 +148 156 255 +164 164 255 +172 164 255 +180 164 255 +189 164 255 +197 164 255 +213 164 255 +222 164 255 +230 164 255 +238 164 255 +246 164 255 +255 164 255 +74 148 255 +90 156 255 +106 156 255 +123 156 255 +148 164 255 +164 172 255 +180 180 255 +189 180 255 +197 180 255 +205 180 255 +213 180 255 +222 180 255 +230 180 255 +238 180 255 +246 180 255 +255 180 255 +74 164 255 +90 164 255 +106 164 255 +123 172 255 +148 172 255 +164 180 255 +180 189 255 +197 197 255 +205 197 255 +213 197 255 +222 197 255 +230 197 255 +238 197 255 +246 197 255 +246 197 255 +255 197 255 +74 172 255 +90 172 255 +106 180 255 +123 180 255 +148 189 255 +164 189 255 +180 197 255 +197 205 255 +222 222 255 +230 222 255 +230 222 255 +238 222 255 +246 222 255 +246 222 255 +255 222 255 +255 222 255 +74 189 255 +90 189 255 +106 189 255 +123 189 255 +148 197 255 +164 197 255 +180 205 255 +197 213 255 +222 230 255 +238 238 255 +238 238 255 +246 238 255 +246 238 255 +255 238 255 +255 238 255 +255 238 255 +74 197 255 +90 197 255 +106 205 255 +123 205 255 +148 205 255 +164 213 255 +180 213 255 +197 222 255 +222 230 255 +238 246 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +74 213 255 +90 213 255 +106 213 255 +123 213 255 +148 213 255 +164 222 255 +180 222 255 +197 230 255 +222 238 255 +238 246 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +74 222 255 +90 222 255 +106 222 255 +123 222 255 +148 230 255 +164 230 255 +180 230 255 +197 238 255 +222 246 255 +238 246 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +74 238 255 +90 238 255 +106 238 255 +123 238 255 +148 238 255 +164 238 255 +180 238 255 +197 246 255 +222 246 255 +238 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +74 246 255 +90 246 255 +106 246 255 +123 246 255 +148 246 255 +164 246 255 +180 255 255 +197 255 255 +222 255 255 +238 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +74 255 255 +90 255 255 +106 255 255 +123 255 255 +148 255 255 +164 255 255 +180 255 255 +197 255 255 +222 255 255 +238 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/naming_screen/0.pal b/graphics/naming_screen/0.pal new file mode 100644 index 0000000000..e38b79fcf7 --- /dev/null +++ b/graphics/naming_screen/0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +255 255 255 +98 98 98 +213 213 205 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +0 0 0 +0 0 0 +0 0 0 +123 172 197 +213 156 115 +148 189 106 diff --git a/graphics/naming_screen/1.pal b/graphics/naming_screen/1.pal new file mode 100644 index 0000000000..c3158adbfa --- /dev/null +++ b/graphics/naming_screen/1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 213 180 +255 197 148 +222 148 115 +123 65 65 +213 172 65 +156 106 32 +106 74 32 +115 189 0 +65 123 0 +32 65 16 +213 115 164 +164 65 115 +82 32 65 +230 230 49 +0 0 0 diff --git a/graphics/naming_screen/cursor.png b/graphics/naming_screen/cursor.png new file mode 100644 index 0000000000..3d92ef6f49 Binary files /dev/null and b/graphics/naming_screen/cursor.png differ diff --git a/graphics/naming_screen/keyboard_button.png b/graphics/naming_screen/keyboard_button.png new file mode 100644 index 0000000000..e5a0048941 Binary files /dev/null and b/graphics/naming_screen/keyboard_button.png differ diff --git a/graphics/naming_screen/menu.pal b/graphics/naming_screen/menu.pal new file mode 100644 index 0000000000..0da3b93f2f --- /dev/null +++ b/graphics/naming_screen/menu.pal @@ -0,0 +1,99 @@ +JASC-PAL +0100 +96 +106 156 213 +255 255 255 +115 115 115 +139 139 131 +172 172 164 +197 189 180 +230 222 213 +197 230 156 +213 238 189 +230 246 222 +0 0 0 +0 0 0 +213 205 82 +230 222 90 +238 230 139 +246 238 197 +106 156 213 +255 255 255 +57 57 57 +115 115 115 +0 0 0 +0 0 0 +0 0 0 +0 0 255 +0 0 255 +0 0 255 +0 0 255 +74 115 139 +98 139 164 +123 172 197 +156 205 230 +180 222 246 +106 156 213 +255 255 255 +57 57 57 +115 115 115 +0 0 0 +0 0 0 +0 0 0 +0 0 255 +0 0 255 +0 0 255 +0 0 255 +172 115 74 +189 131 90 +213 156 115 +246 205 164 +255 230 197 +106 156 213 +255 255 255 +57 57 57 +115 115 115 +0 0 0 +0 0 0 +0 0 0 +0 0 255 +0 0 255 +0 0 255 +0 0 255 +98 156 57 +123 172 82 +148 189 106 +197 230 156 +213 238 189 +106 156 213 +255 255 255 +57 57 57 +139 139 131 +197 189 180 +230 222 213 +74 115 139 +123 172 197 +172 115 74 +213 156 115 +98 156 57 +148 189 106 +189 164 32 +230 222 90 +57 57 57 +57 57 57 +106 156 213 +255 8 8 +222 57 74 +180 65 82 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +230 222 213 +0 0 0 +230 222 213 +0 0 0 diff --git a/graphics/naming_screen/menu.png b/graphics/naming_screen/menu.png new file mode 100644 index 0000000000..ff83485140 Binary files /dev/null and b/graphics/naming_screen/menu.png differ diff --git a/graphics/naming_screen/pc_icon/0.png b/graphics/naming_screen/pc_icon/0.png new file mode 100644 index 0000000000..bafd5c32da Binary files /dev/null and b/graphics/naming_screen/pc_icon/0.png differ diff --git a/graphics/naming_screen/pc_icon/1.png b/graphics/naming_screen/pc_icon/1.png new file mode 100644 index 0000000000..e2f9d604c0 Binary files /dev/null and b/graphics/naming_screen/pc_icon/1.png differ diff --git a/graphics/naming_screen/right_pointing_triangle.png b/graphics/naming_screen/right_pointing_triangle.png new file mode 100644 index 0000000000..e07b9e5a80 Binary files /dev/null and b/graphics/naming_screen/right_pointing_triangle.png differ diff --git a/graphics/naming_screen/roptions.png b/graphics/naming_screen/roptions.png new file mode 100644 index 0000000000..dfb7e01059 Binary files /dev/null and b/graphics/naming_screen/roptions.png differ diff --git a/graphics/naming_screen/rwindow.png b/graphics/naming_screen/rwindow.png new file mode 100644 index 0000000000..9571abb805 Binary files /dev/null and b/graphics/naming_screen/rwindow.png differ diff --git a/graphics/naming_screen/underscore.png b/graphics/naming_screen/underscore.png new file mode 100644 index 0000000000..409ca82ed6 Binary files /dev/null and b/graphics/naming_screen/underscore.png differ diff --git a/graphics/picture_frame/bg.pal b/graphics/picture_frame/bg.pal new file mode 100644 index 0000000000..88b2d393d0 --- /dev/null +++ b/graphics/picture_frame/bg.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 0 +255 255 255 +230 230 230 +213 213 213 +197 197 197 +180 180 180 +164 164 164 +148 148 148 +131 131 131 +115 115 115 +98 98 98 +82 82 82 +65 65 65 +49 49 49 +32 32 32 +16 16 16 +0 0 0 +90 24 0 +139 65 16 +164 90 16 +189 115 16 +222 148 49 +255 180 82 +255 222 131 +98 172 115 +148 197 156 +222 255 230 +255 255 255 +205 189 164 +180 164 139 +164 139 115 +131 98 74 +0 0 0 +180 148 213 +180 164 197 +180 189 189 +180 205 180 +180 230 172 +189 255 164 +222 255 139 +246 238 123 +255 230 98 +255 205 139 +255 180 139 +238 164 189 +205 156 197 +255 246 255 +90 57 74 +0 0 0 +255 123 164 +255 139 180 +255 180 205 +255 213 255 +255 205 0 +255 213 57 +255 230 123 +255 238 189 +255 255 255 +90 24 0 +139 65 16 +205 189 164 +180 164 139 +164 139 115 +131 98 74 +0 0 0 +90 24 0 +139 65 16 +222 148 49 +255 222 131 +131 131 131 +65 65 65 +255 0 0 +255 82 82 +255 164 164 +255 98 197 +255 148 213 +255 197 230 +74 255 90 +131 255 139 +189 255 197 +0 0 0 +90 24 0 +139 65 16 +222 148 49 +255 222 131 +131 131 131 +65 65 65 +74 148 238 +131 180 238 +189 213 246 +74 255 90 +131 255 139 +189 255 197 +255 255 0 +255 255 123 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/picture_frame/frame0.png b/graphics/picture_frame/frame0.png new file mode 100644 index 0000000000..33f2baf094 Binary files /dev/null and b/graphics/picture_frame/frame0.png differ diff --git a/graphics/picture_frame/frame0_map.bin b/graphics/picture_frame/frame0_map.bin new file mode 100644 index 0000000000..6f7a7b1658 Binary files /dev/null and b/graphics/picture_frame/frame0_map.bin differ diff --git a/graphics/picture_frame/frame1.png b/graphics/picture_frame/frame1.png new file mode 100644 index 0000000000..72e9d0ab76 Binary files /dev/null and b/graphics/picture_frame/frame1.png differ diff --git a/graphics/picture_frame/frame1_map.bin b/graphics/picture_frame/frame1_map.bin new file mode 100644 index 0000000000..523ff9e288 Binary files /dev/null and b/graphics/picture_frame/frame1_map.bin differ diff --git a/graphics/picture_frame/frame2.png b/graphics/picture_frame/frame2.png new file mode 100644 index 0000000000..38e6ba209a Binary files /dev/null and b/graphics/picture_frame/frame2.png differ diff --git a/graphics/picture_frame/frame2_map.bin b/graphics/picture_frame/frame2_map.bin new file mode 100644 index 0000000000..3333c2a01a Binary files /dev/null and b/graphics/picture_frame/frame2_map.bin differ diff --git a/graphics/picture_frame/frame3.png b/graphics/picture_frame/frame3.png new file mode 100644 index 0000000000..93fbf373f5 Binary files /dev/null and b/graphics/picture_frame/frame3.png differ diff --git a/graphics/picture_frame/frame3_map.bin b/graphics/picture_frame/frame3_map.bin new file mode 100644 index 0000000000..c2adf40c2d Binary files /dev/null and b/graphics/picture_frame/frame3_map.bin differ diff --git a/graphics/picture_frame/frame4.png b/graphics/picture_frame/frame4.png new file mode 100644 index 0000000000..c7db2e3be6 Binary files /dev/null and b/graphics/picture_frame/frame4.png differ diff --git a/graphics/picture_frame/frame4_map.bin b/graphics/picture_frame/frame4_map.bin new file mode 100644 index 0000000000..c2adf40c2d Binary files /dev/null and b/graphics/picture_frame/frame4_map.bin differ diff --git a/graphics/picture_frame/frame5.png b/graphics/picture_frame/frame5.png new file mode 100644 index 0000000000..1b7da4a1a6 Binary files /dev/null and b/graphics/picture_frame/frame5.png differ diff --git a/graphics/picture_frame/frame5_map.bin b/graphics/picture_frame/frame5_map.bin new file mode 100644 index 0000000000..8d2502cd4c Binary files /dev/null and b/graphics/picture_frame/frame5_map.bin differ diff --git a/graphics/picture_frame/frame5_map.bin.rl.bak b/graphics/picture_frame/frame5_map.bin.rl.bak new file mode 100644 index 0000000000..c009f0a95f Binary files /dev/null and b/graphics/picture_frame/frame5_map.bin.rl.bak differ diff --git a/graphics/pokeblock/black.pal b/graphics/pokeblock/black.pal new file mode 100644 index 0000000000..2cb591a70d --- /dev/null +++ b/graphics/pokeblock/black.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +213 131 74 +41 41 41 +98 98 98 +148 148 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/blue.pal b/graphics/pokeblock/blue.pal new file mode 100644 index 0000000000..8295c79e81 --- /dev/null +++ b/graphics/pokeblock/blue.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +106 106 189 +148 148 255 +180 180 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/brown.pal b/graphics/pokeblock/brown.pal new file mode 100644 index 0000000000..c936322bb4 --- /dev/null +++ b/graphics/pokeblock/brown.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +106 0 0 +172 65 65 +197 123 123 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/gold.pal b/graphics/pokeblock/gold.pal new file mode 100644 index 0000000000..c975554d16 --- /dev/null +++ b/graphics/pokeblock/gold.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +222 197 49 +246 230 164 +255 238 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/gray.pal b/graphics/pokeblock/gray.pal new file mode 100644 index 0000000000..0bd5c4d7cc --- /dev/null +++ b/graphics/pokeblock/gray.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +148 148 148 +189 189 189 +205 205 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/green.pal b/graphics/pokeblock/green.pal new file mode 100644 index 0000000000..984ba41ea0 --- /dev/null +++ b/graphics/pokeblock/green.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 106 0 +49 164 49 +90 230 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/indigo.pal b/graphics/pokeblock/indigo.pal new file mode 100644 index 0000000000..4a57b8bdea --- /dev/null +++ b/graphics/pokeblock/indigo.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 205 74 +0 0 106 +65 65 172 +123 123 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/liteblue.pal b/graphics/pokeblock/liteblue.pal new file mode 100644 index 0000000000..e3a70c8be6 --- /dev/null +++ b/graphics/pokeblock/liteblue.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +106 139 189 +148 213 255 +180 238 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/olive.pal b/graphics/pokeblock/olive.pal new file mode 100644 index 0000000000..e7599fc1e2 --- /dev/null +++ b/graphics/pokeblock/olive.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +115 180 106 +148 246 98 +205 255 139 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/pink.pal b/graphics/pokeblock/pink.pal new file mode 100644 index 0000000000..7eb09a5988 --- /dev/null +++ b/graphics/pokeblock/pink.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +205 90 172 +255 156 197 +255 197 213 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/pokeblock.png b/graphics/pokeblock/pokeblock.png new file mode 100644 index 0000000000..fd24e06219 Binary files /dev/null and b/graphics/pokeblock/pokeblock.png differ diff --git a/graphics/pokeblock/purple.pal b/graphics/pokeblock/purple.pal new file mode 100644 index 0000000000..2b6f8ad439 --- /dev/null +++ b/graphics/pokeblock/purple.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +164 0 164 +197 41 197 +255 131 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/red.pal b/graphics/pokeblock/red.pal new file mode 100644 index 0000000000..a347854a98 --- /dev/null +++ b/graphics/pokeblock/red.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +205 65 24 +255 123 90 +255 180 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/use_screen/condition.png b/graphics/pokeblock/use_screen/condition.png new file mode 100644 index 0000000000..aaece5a38d Binary files /dev/null and b/graphics/pokeblock/use_screen/condition.png differ diff --git a/graphics/pokeblock/use_screen/graph.bin b/graphics/pokeblock/use_screen/graph.bin new file mode 100644 index 0000000000..063c034b4a Binary files /dev/null and b/graphics/pokeblock/use_screen/graph.bin differ diff --git a/graphics/pokeblock/use_screen/graph.png b/graphics/pokeblock/use_screen/graph.png new file mode 100644 index 0000000000..3b4b64473b Binary files /dev/null and b/graphics/pokeblock/use_screen/graph.png differ diff --git a/graphics/pokeblock/use_screen/nature.pal b/graphics/pokeblock/use_screen/nature.pal new file mode 100644 index 0000000000..e0ce98921d --- /dev/null +++ b/graphics/pokeblock/use_screen/nature.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +8 213 65 +8 213 65 +8 213 65 +8 213 65 +8 213 65 +8 213 65 +8 213 65 +8 213 65 +8 213 65 +8 213 65 +8 213 74 +0 213 74 +131 180 65 +131 180 65 +131 180 65 +131 180 65 +131 180 65 +131 180 65 +131 180 65 +131 180 65 +131 180 65 +131 180 65 +131 180 65 +32 213 65 +131 180 65 +131 180 65 +131 180 65 +131 180 65 +131 180 65 +131 180 65 +131 180 65 +131 180 65 +131 180 65 +131 180 65 +131 180 65 +32 213 65 +24 213 65 +24 213 65 +24 213 65 +24 213 65 +24 213 65 +24 213 65 +24 213 65 +24 213 74 +24 213 65 +24 213 65 +24 213 65 +16 213 74 diff --git a/graphics/pokeblock/use_screen/updown.png b/graphics/pokeblock/use_screen/updown.png new file mode 100644 index 0000000000..7d4049d862 Binary files /dev/null and b/graphics/pokeblock/use_screen/updown.png differ diff --git a/graphics/pokeblock/white.pal b/graphics/pokeblock/white.pal new file mode 100644 index 0000000000..c1d00b93ab --- /dev/null +++ b/graphics/pokeblock/white.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +222 222 222 +238 238 238 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokeblock/yellow.pal b/graphics/pokeblock/yellow.pal new file mode 100644 index 0000000000..518042d9ff --- /dev/null +++ b/graphics/pokeblock/yellow.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +180 180 49 +246 230 49 +255 255 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokedex/85B8BF0.pal b/graphics/pokedex/85B8BF0.pal new file mode 100644 index 0000000000..969c38cbdd --- /dev/null +++ b/graphics/pokedex/85B8BF0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 148 +0 131 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +148 148 255 +156 156 255 +172 172 255 +189 189 255 +205 205 255 +222 222 255 +238 238 255 +255 255 255 diff --git a/graphics/pokedex/area_glow.png b/graphics/pokedex/area_glow.png new file mode 100644 index 0000000000..3cf5387f3f Binary files /dev/null and b/graphics/pokedex/area_glow.png differ diff --git a/graphics/pokedex/area_marker.png b/graphics/pokedex/area_marker.png new file mode 100644 index 0000000000..a0b828ea9b Binary files /dev/null and b/graphics/pokedex/area_marker.png differ diff --git a/graphics/pokedex/area_unknown.png b/graphics/pokedex/area_unknown.png new file mode 100644 index 0000000000..ebde8d6fc8 Binary files /dev/null and b/graphics/pokedex/area_unknown.png differ diff --git a/graphics/pokedex/black.pal b/graphics/pokedex/black.pal new file mode 100644 index 0000000000..4b0812f094 --- /dev/null +++ b/graphics/pokedex/black.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokedex/caught_ball.png b/graphics/pokedex/caught_ball.png new file mode 100644 index 0000000000..b4e518f22c Binary files /dev/null and b/graphics/pokedex/caught_ball.png differ diff --git a/graphics/pokedex/cry_meter.png b/graphics/pokedex/cry_meter.png new file mode 100644 index 0000000000..ec6b0ed43b Binary files /dev/null and b/graphics/pokedex/cry_meter.png differ diff --git a/graphics/pokedex/cry_meter_map.bin b/graphics/pokedex/cry_meter_map.bin new file mode 100644 index 0000000000..cd58849a46 Binary files /dev/null and b/graphics/pokedex/cry_meter_map.bin differ diff --git a/graphics/pokedex/cry_meter_needle.png b/graphics/pokedex/cry_meter_needle.png new file mode 100644 index 0000000000..34e5ab410b Binary files /dev/null and b/graphics/pokedex/cry_meter_needle.png differ diff --git a/graphics/pokedex/fade.pal b/graphics/pokedex/fade.pal new file mode 100644 index 0000000000..26da98a84c --- /dev/null +++ b/graphics/pokedex/fade.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +123 131 0 +255 255 255 +255 238 0 +255 189 0 +255 115 0 +98 98 115 +41 57 65 +41 57 106 +0 0 41 +255 255 255 +238 246 57 +255 0 189 +49 213 74 +24 131 32 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +41 57 106 +0 0 41 +255 255 255 +238 246 57 +189 0 0 +74 148 180 +8 90 131 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +41 57 106 +0 0 41 +255 255 255 +238 246 57 +255 0 189 +180 205 246 +49 139 255 +189 156 90 +0 0 0 diff --git a/graphics/pokedex/hoenn_bg.pal b/graphics/pokedex/hoenn_bg.pal new file mode 100644 index 0000000000..41196a2698 --- /dev/null +++ b/graphics/pokedex/hoenn_bg.pal @@ -0,0 +1,99 @@ +JASC-PAL +0100 +96 +123 131 0 +255 255 255 +222 222 222 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +98 98 115 +49 49 65 +255 255 255 +238 246 57 +255 0 189 +123 148 32 +41 82 0 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +98 98 115 +49 49 65 +255 255 255 +238 246 57 +255 0 189 +123 148 32 +41 82 0 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +98 98 115 +49 49 65 +255 255 255 +238 246 57 +255 0 189 +180 205 246 +49 139 255 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +255 238 0 +255 189 0 +255 115 0 +98 98 115 +41 57 65 +98 98 115 +49 49 65 +255 255 255 +238 246 57 +255 0 189 +123 148 32 +41 82 0 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +98 98 115 +49 49 65 +255 255 255 +238 246 57 +180 0 0 +74 148 180 +8 90 131 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +98 98 115 +49 49 65 +255 255 255 +238 246 57 +180 0 0 +180 205 246 +49 139 255 +189 156 90 +0 0 0 diff --git a/graphics/pokedex/menu.png b/graphics/pokedex/menu.png new file mode 100644 index 0000000000..fea195312c Binary files /dev/null and b/graphics/pokedex/menu.png differ diff --git a/graphics/pokedex/menu2.png b/graphics/pokedex/menu2.png new file mode 100644 index 0000000000..5299148134 Binary files /dev/null and b/graphics/pokedex/menu2.png differ diff --git a/graphics/pokedex/national_bg.pal b/graphics/pokedex/national_bg.pal new file mode 100644 index 0000000000..ea8f2bc64c --- /dev/null +++ b/graphics/pokedex/national_bg.pal @@ -0,0 +1,99 @@ +JASC-PAL +0100 +96 +123 131 0 +255 255 255 +222 222 222 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +164 164 164 +41 57 65 +255 255 255 +238 246 57 +255 0 189 +123 164 115 +74 115 65 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +164 164 164 +41 57 65 +255 255 255 +238 246 57 +255 0 189 +123 164 115 +74 115 65 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +164 164 164 +41 57 65 +255 255 255 +238 246 57 +255 0 189 +180 205 246 +49 139 255 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +255 238 0 +255 189 0 +255 115 0 +98 98 115 +41 57 65 +164 164 164 +41 57 65 +255 255 255 +238 246 57 +255 0 189 +123 164 115 +74 115 65 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +164 164 164 +41 57 65 +255 255 255 +238 246 57 +189 0 0 +74 148 180 +8 90 131 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +164 164 164 +41 57 65 +255 255 255 +238 246 57 +255 0 189 +180 205 246 +49 139 255 +189 156 90 +0 0 0 diff --git a/graphics/pokedex/noball_unused.png b/graphics/pokedex/noball_unused.png new file mode 100644 index 0000000000..59979aed48 Binary files /dev/null and b/graphics/pokedex/noball_unused.png differ diff --git a/graphics/pokedex/search1.bin b/graphics/pokedex/search1.bin new file mode 100644 index 0000000000..83bf29becf Binary files /dev/null and b/graphics/pokedex/search1.bin differ diff --git a/graphics/pokedex/search2.bin b/graphics/pokedex/search2.bin new file mode 100644 index 0000000000..838007715d Binary files /dev/null and b/graphics/pokedex/search2.bin differ diff --git a/graphics/pokedex/search_menu.pal b/graphics/pokedex/search_menu.pal new file mode 100644 index 0000000000..b6142eb3f7 --- /dev/null +++ b/graphics/pokedex/search_menu.pal @@ -0,0 +1,67 @@ +JASC-PAL +0100 +64 +123 131 0 +0 0 0 +172 172 172 +255 255 255 +255 255 255 +98 98 115 +57 57 57 +123 115 74 +156 230 0 +57 115 0 +255 172 0 +131 32 32 +82 189 90 +24 131 32 +255 32 32 +0 0 0 +123 131 0 +0 0 0 +172 172 172 +255 255 255 +255 255 255 +98 98 115 +57 57 57 +123 115 74 +41 115 0 +32 49 32 +180 106 0 +16 0 0 +82 189 90 +24 131 32 +0 0 0 +0 0 0 +123 131 0 +0 0 0 +172 172 172 +172 172 172 +172 172 172 +98 98 115 +57 57 57 +123 115 74 +32 49 32 +32 32 32 +74 32 32 +32 32 32 +82 189 90 +24 131 32 +255 32 32 +0 0 0 +123 131 0 +0 0 0 +172 172 172 +172 172 172 +172 172 172 +98 98 115 +57 57 57 +123 115 74 +32 49 32 +32 32 32 +74 32 32 +32 32 32 +82 189 90 +24 131 32 +0 0 0 +0 0 0 diff --git a/graphics/pokedex/search_menu.png b/graphics/pokedex/search_menu.png new file mode 100644 index 0000000000..755c2d35d1 Binary files /dev/null and b/graphics/pokedex/search_menu.png differ diff --git a/graphics/pokedex/text.pal b/graphics/pokedex/text.pal new file mode 100644 index 0000000000..569c7821a9 --- /dev/null +++ b/graphics/pokedex/text.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +123 131 0 +255 255 255 +222 222 222 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +41 57 106 +0 0 41 +255 255 255 +238 246 57 +255 0 189 +49 213 74 +24 131 32 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +41 57 106 +0 0 41 +255 255 255 +238 246 57 +255 0 189 +49 213 74 +24 131 32 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +41 57 106 +0 0 41 +255 255 255 +238 246 57 +255 0 189 +180 205 246 +49 139 255 +189 156 90 +0 0 0 diff --git a/graphics/pokedex/tilemap1.bin b/graphics/pokedex/tilemap1.bin new file mode 100644 index 0000000000..585524babe Binary files /dev/null and b/graphics/pokedex/tilemap1.bin differ diff --git a/graphics/pokedex/tilemap2.bin b/graphics/pokedex/tilemap2.bin new file mode 100644 index 0000000000..ac2e068f21 Binary files /dev/null and b/graphics/pokedex/tilemap2.bin differ diff --git a/graphics/pokedex/tilemap3.bin b/graphics/pokedex/tilemap3.bin new file mode 100644 index 0000000000..cd6a67be40 Binary files /dev/null and b/graphics/pokedex/tilemap3.bin differ diff --git a/graphics/pokedex/tilemap4.bin b/graphics/pokedex/tilemap4.bin new file mode 100644 index 0000000000..300fa8ff47 Binary files /dev/null and b/graphics/pokedex/tilemap4.bin differ diff --git a/graphics/pokedex/tilemap5.bin b/graphics/pokedex/tilemap5.bin new file mode 100644 index 0000000000..283aa518c5 Binary files /dev/null and b/graphics/pokedex/tilemap5.bin differ diff --git a/graphics/pokedex/tilemap6.bin b/graphics/pokedex/tilemap6.bin new file mode 100644 index 0000000000..154ed71962 Binary files /dev/null and b/graphics/pokedex/tilemap6.bin differ diff --git a/graphics/pokedex/tilemap7.bin b/graphics/pokedex/tilemap7.bin new file mode 100644 index 0000000000..7183514e6a Binary files /dev/null and b/graphics/pokedex/tilemap7.bin differ diff --git a/graphics/pokedex/tilemap8.bin b/graphics/pokedex/tilemap8.bin new file mode 100644 index 0000000000..dbfea3ba53 Binary files /dev/null and b/graphics/pokedex/tilemap8.bin differ diff --git a/graphics/pokedex/tilemap9.bin b/graphics/pokedex/tilemap9.bin new file mode 100644 index 0000000000..6a72a88bc4 Binary files /dev/null and b/graphics/pokedex/tilemap9.bin differ diff --git a/graphics/pokemon/icons/deoxys_speed_icon.png b/graphics/pokemon/icons/deoxys_speed_icon.png new file mode 100644 index 0000000000..674b93a9c1 Binary files /dev/null and b/graphics/pokemon/icons/deoxys_speed_icon.png differ diff --git a/graphics/pokemon_storage/aqua_icon.png b/graphics/pokemon_storage/aqua_icon.png new file mode 100644 index 0000000000..169ba5b68f Binary files /dev/null and b/graphics/pokemon_storage/aqua_icon.png differ diff --git a/graphics/pokemon_storage/arrow.png b/graphics/pokemon_storage/arrow.png new file mode 100644 index 0000000000..ec1202319f Binary files /dev/null and b/graphics/pokemon_storage/arrow.png differ diff --git a/graphics/pokemon_storage/asterisk_icon.png b/graphics/pokemon_storage/asterisk_icon.png new file mode 100644 index 0000000000..e353a1c3d9 Binary files /dev/null and b/graphics/pokemon_storage/asterisk_icon.png differ diff --git a/graphics/pokemon_storage/azumarill.bin b/graphics/pokemon_storage/azumarill.bin new file mode 100644 index 0000000000..029fd418c8 Binary files /dev/null and b/graphics/pokemon_storage/azumarill.bin differ diff --git a/graphics/pokemon_storage/azumarill_bg.png b/graphics/pokemon_storage/azumarill_bg.png new file mode 100644 index 0000000000..fcb387149a Binary files /dev/null and b/graphics/pokemon_storage/azumarill_bg.png differ diff --git a/graphics/pokemon_storage/beach.bin b/graphics/pokemon_storage/beach.bin new file mode 100644 index 0000000000..42b834dbd2 Binary files /dev/null and b/graphics/pokemon_storage/beach.bin differ diff --git a/graphics/pokemon_storage/beach_bg.png b/graphics/pokemon_storage/beach_bg.png new file mode 100644 index 0000000000..49f1690849 Binary files /dev/null and b/graphics/pokemon_storage/beach_bg.png differ diff --git a/graphics/pokemon_storage/beach_frame.png b/graphics/pokemon_storage/beach_frame.png new file mode 100644 index 0000000000..eae14b95a7 Binary files /dev/null and b/graphics/pokemon_storage/beach_frame.png differ diff --git a/graphics/pokemon_storage/big_asterisk_icon.png b/graphics/pokemon_storage/big_asterisk_icon.png new file mode 100644 index 0000000000..9a56b0fc6e Binary files /dev/null and b/graphics/pokemon_storage/big_asterisk_icon.png differ diff --git a/graphics/pokemon_storage/blank.bin b/graphics/pokemon_storage/blank.bin new file mode 100644 index 0000000000..b008544239 Binary files /dev/null and b/graphics/pokemon_storage/blank.bin differ diff --git a/graphics/pokemon_storage/blank_bg.png b/graphics/pokemon_storage/blank_bg.png new file mode 100644 index 0000000000..7ff832672b Binary files /dev/null and b/graphics/pokemon_storage/blank_bg.png differ diff --git a/graphics/pokemon_storage/block.bin b/graphics/pokemon_storage/block.bin new file mode 100644 index 0000000000..ec5df1525e Binary files /dev/null and b/graphics/pokemon_storage/block.bin differ diff --git a/graphics/pokemon_storage/block_bg.png b/graphics/pokemon_storage/block_bg.png new file mode 100644 index 0000000000..9147ef8813 Binary files /dev/null and b/graphics/pokemon_storage/block_bg.png differ diff --git a/graphics/pokemon_storage/bolt_icon.png b/graphics/pokemon_storage/bolt_icon.png new file mode 100644 index 0000000000..674d224245 Binary files /dev/null and b/graphics/pokemon_storage/bolt_icon.png differ diff --git a/graphics/pokemon_storage/box_bg1.pal b/graphics/pokemon_storage/box_bg1.pal new file mode 100644 index 0000000000..52ac12110c --- /dev/null +++ b/graphics/pokemon_storage/box_bg1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 205 106 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon_storage/box_selection_popup_center.png b/graphics/pokemon_storage/box_selection_popup_center.png new file mode 100644 index 0000000000..f7ab30276e Binary files /dev/null and b/graphics/pokemon_storage/box_selection_popup_center.png differ diff --git a/graphics/pokemon_storage/box_selection_popup_sides.png b/graphics/pokemon_storage/box_selection_popup_sides.png new file mode 100644 index 0000000000..a0140dc87b Binary files /dev/null and b/graphics/pokemon_storage/box_selection_popup_sides.png differ diff --git a/graphics/pokemon_storage/brick_icon.png b/graphics/pokemon_storage/brick_icon.png new file mode 100644 index 0000000000..06a751af38 Binary files /dev/null and b/graphics/pokemon_storage/brick_icon.png differ diff --git a/graphics/pokemon_storage/cave.bin b/graphics/pokemon_storage/cave.bin new file mode 100644 index 0000000000..112d4724d5 Binary files /dev/null and b/graphics/pokemon_storage/cave.bin differ diff --git a/graphics/pokemon_storage/cave_bg.png b/graphics/pokemon_storage/cave_bg.png new file mode 100644 index 0000000000..421221634a Binary files /dev/null and b/graphics/pokemon_storage/cave_bg.png differ diff --git a/graphics/pokemon_storage/cave_frame.png b/graphics/pokemon_storage/cave_frame.png new file mode 100644 index 0000000000..35cca742c5 Binary files /dev/null and b/graphics/pokemon_storage/cave_frame.png differ diff --git a/graphics/pokemon_storage/circle_icon.png b/graphics/pokemon_storage/circle_icon.png new file mode 100644 index 0000000000..cf92abeedb Binary files /dev/null and b/graphics/pokemon_storage/circle_icon.png differ diff --git a/graphics/pokemon_storage/circles.bin b/graphics/pokemon_storage/circles.bin new file mode 100644 index 0000000000..d2ed6d127d Binary files /dev/null and b/graphics/pokemon_storage/circles.bin differ diff --git a/graphics/pokemon_storage/circles_bg.png b/graphics/pokemon_storage/circles_bg.png new file mode 100644 index 0000000000..c105b17604 Binary files /dev/null and b/graphics/pokemon_storage/circles_bg.png differ diff --git a/graphics/pokemon_storage/city.bin b/graphics/pokemon_storage/city.bin new file mode 100644 index 0000000000..ff0785a966 Binary files /dev/null and b/graphics/pokemon_storage/city.bin differ diff --git a/graphics/pokemon_storage/city_bg.png b/graphics/pokemon_storage/city_bg.png new file mode 100644 index 0000000000..b221c2596e Binary files /dev/null and b/graphics/pokemon_storage/city_bg.png differ diff --git a/graphics/pokemon_storage/city_frame.png b/graphics/pokemon_storage/city_frame.png new file mode 100644 index 0000000000..82e4731efb Binary files /dev/null and b/graphics/pokemon_storage/city_frame.png differ diff --git a/graphics/pokemon_storage/crag.bin b/graphics/pokemon_storage/crag.bin new file mode 100644 index 0000000000..5c7c44cd20 Binary files /dev/null and b/graphics/pokemon_storage/crag.bin differ diff --git a/graphics/pokemon_storage/crag_bg.png b/graphics/pokemon_storage/crag_bg.png new file mode 100644 index 0000000000..13b536358a Binary files /dev/null and b/graphics/pokemon_storage/crag_bg.png differ diff --git a/graphics/pokemon_storage/crag_frame.png b/graphics/pokemon_storage/crag_frame.png new file mode 100644 index 0000000000..b67c6efa15 Binary files /dev/null and b/graphics/pokemon_storage/crag_frame.png differ diff --git a/graphics/pokemon_storage/cross_icon.png b/graphics/pokemon_storage/cross_icon.png new file mode 100644 index 0000000000..674d224245 Binary files /dev/null and b/graphics/pokemon_storage/cross_icon.png differ diff --git a/graphics/pokemon_storage/crystal_icon.png b/graphics/pokemon_storage/crystal_icon.png new file mode 100644 index 0000000000..424f104def Binary files /dev/null and b/graphics/pokemon_storage/crystal_icon.png differ diff --git a/graphics/pokemon_storage/desert.bin b/graphics/pokemon_storage/desert.bin new file mode 100644 index 0000000000..98464fafff Binary files /dev/null and b/graphics/pokemon_storage/desert.bin differ diff --git a/graphics/pokemon_storage/desert_bg.png b/graphics/pokemon_storage/desert_bg.png new file mode 100644 index 0000000000..535fe9cb01 Binary files /dev/null and b/graphics/pokemon_storage/desert_bg.png differ diff --git a/graphics/pokemon_storage/desert_frame.png b/graphics/pokemon_storage/desert_frame.png new file mode 100644 index 0000000000..a46e72e7fc Binary files /dev/null and b/graphics/pokemon_storage/desert_frame.png differ diff --git a/graphics/pokemon_storage/diagonal.bin b/graphics/pokemon_storage/diagonal.bin new file mode 100644 index 0000000000..d63b171217 Binary files /dev/null and b/graphics/pokemon_storage/diagonal.bin differ diff --git a/graphics/pokemon_storage/diagonal_bg.png b/graphics/pokemon_storage/diagonal_bg.png new file mode 100644 index 0000000000..d4fcbe06a1 Binary files /dev/null and b/graphics/pokemon_storage/diagonal_bg.png differ diff --git a/graphics/pokemon_storage/diglett_icon.png b/graphics/pokemon_storage/diglett_icon.png new file mode 100644 index 0000000000..8e485cfd44 Binary files /dev/null and b/graphics/pokemon_storage/diglett_icon.png differ diff --git a/graphics/pokemon_storage/dot_icon.png b/graphics/pokemon_storage/dot_icon.png new file mode 100644 index 0000000000..0b3e6b34ce Binary files /dev/null and b/graphics/pokemon_storage/dot_icon.png differ diff --git a/graphics/pokemon_storage/dusclops.bin b/graphics/pokemon_storage/dusclops.bin new file mode 100644 index 0000000000..1c520b1196 Binary files /dev/null and b/graphics/pokemon_storage/dusclops.bin differ diff --git a/graphics/pokemon_storage/dusclops_bg.png b/graphics/pokemon_storage/dusclops_bg.png new file mode 100644 index 0000000000..035cf74665 Binary files /dev/null and b/graphics/pokemon_storage/dusclops_bg.png differ diff --git a/graphics/pokemon_storage/five_star_icon.png b/graphics/pokemon_storage/five_star_icon.png new file mode 100644 index 0000000000..29b2eb9b03 Binary files /dev/null and b/graphics/pokemon_storage/five_star_icon.png differ diff --git a/graphics/pokemon_storage/footprint_icon.png b/graphics/pokemon_storage/footprint_icon.png new file mode 100644 index 0000000000..30f8c4e8a8 Binary files /dev/null and b/graphics/pokemon_storage/footprint_icon.png differ diff --git a/graphics/pokemon_storage/forest.bin b/graphics/pokemon_storage/forest.bin new file mode 100644 index 0000000000..5439f12745 Binary files /dev/null and b/graphics/pokemon_storage/forest.bin differ diff --git a/graphics/pokemon_storage/forest_bg.png b/graphics/pokemon_storage/forest_bg.png new file mode 100644 index 0000000000..c811828075 Binary files /dev/null and b/graphics/pokemon_storage/forest_bg.png differ diff --git a/graphics/pokemon_storage/forest_frame.png b/graphics/pokemon_storage/forest_frame.png new file mode 100644 index 0000000000..c205e8944f Binary files /dev/null and b/graphics/pokemon_storage/forest_frame.png differ diff --git a/graphics/pokemon_storage/four_circles_icon.png b/graphics/pokemon_storage/four_circles_icon.png new file mode 100644 index 0000000000..b8f8f991bc Binary files /dev/null and b/graphics/pokemon_storage/four_circles_icon.png differ diff --git a/graphics/pokemon_storage/four_star_icon.png b/graphics/pokemon_storage/four_star_icon.png new file mode 100644 index 0000000000..4c61ffc0d3 Binary files /dev/null and b/graphics/pokemon_storage/four_star_icon.png differ diff --git a/graphics/pokemon_storage/frame.bin b/graphics/pokemon_storage/frame.bin new file mode 100644 index 0000000000..490a9968d9 Binary files /dev/null and b/graphics/pokemon_storage/frame.bin differ diff --git a/graphics/pokemon_storage/frame_bg.png b/graphics/pokemon_storage/frame_bg.png new file mode 100644 index 0000000000..98a3d80b72 Binary files /dev/null and b/graphics/pokemon_storage/frame_bg.png differ diff --git a/graphics/pokemon_storage/friends_frame1.png b/graphics/pokemon_storage/friends_frame1.png new file mode 100644 index 0000000000..e76eb4e736 Binary files /dev/null and b/graphics/pokemon_storage/friends_frame1.png differ diff --git a/graphics/pokemon_storage/friends_frame2.png b/graphics/pokemon_storage/friends_frame2.png new file mode 100644 index 0000000000..b66c5ce12a Binary files /dev/null and b/graphics/pokemon_storage/friends_frame2.png differ diff --git a/graphics/pokemon_storage/hand_cursor.png b/graphics/pokemon_storage/hand_cursor.png new file mode 100644 index 0000000000..32f58ec633 Binary files /dev/null and b/graphics/pokemon_storage/hand_cursor.png differ diff --git a/graphics/pokemon_storage/hand_cursor_shadow.png b/graphics/pokemon_storage/hand_cursor_shadow.png new file mode 100644 index 0000000000..f10b0af44f Binary files /dev/null and b/graphics/pokemon_storage/hand_cursor_shadow.png differ diff --git a/graphics/pokemon_storage/heart_icon.png b/graphics/pokemon_storage/heart_icon.png new file mode 100644 index 0000000000..928182bfda Binary files /dev/null and b/graphics/pokemon_storage/heart_icon.png differ diff --git a/graphics/pokemon_storage/horizontal.bin b/graphics/pokemon_storage/horizontal.bin new file mode 100644 index 0000000000..d538583f60 Binary files /dev/null and b/graphics/pokemon_storage/horizontal.bin differ diff --git a/graphics/pokemon_storage/horizontal_bg.png b/graphics/pokemon_storage/horizontal_bg.png new file mode 100644 index 0000000000..3c1facd742 Binary files /dev/null and b/graphics/pokemon_storage/horizontal_bg.png differ diff --git a/graphics/pokemon_storage/koffing_icon.png b/graphics/pokemon_storage/koffing_icon.png new file mode 100644 index 0000000000..9ec2d166f9 Binary files /dev/null and b/graphics/pokemon_storage/koffing_icon.png differ diff --git a/graphics/pokemon_storage/latis_icon.png b/graphics/pokemon_storage/latis_icon.png new file mode 100644 index 0000000000..90fbdfa25f Binary files /dev/null and b/graphics/pokemon_storage/latis_icon.png differ diff --git a/graphics/pokemon_storage/legendary.bin b/graphics/pokemon_storage/legendary.bin new file mode 100644 index 0000000000..72444b5909 Binary files /dev/null and b/graphics/pokemon_storage/legendary.bin differ diff --git a/graphics/pokemon_storage/legendary_bg.png b/graphics/pokemon_storage/legendary_bg.png new file mode 100644 index 0000000000..bcfda2f3b1 Binary files /dev/null and b/graphics/pokemon_storage/legendary_bg.png differ diff --git a/graphics/pokemon_storage/line_circle_icon.png b/graphics/pokemon_storage/line_circle_icon.png new file mode 100644 index 0000000000..0bcf9171b6 Binary files /dev/null and b/graphics/pokemon_storage/line_circle_icon.png differ diff --git a/graphics/pokemon_storage/lotad_icon.png b/graphics/pokemon_storage/lotad_icon.png new file mode 100644 index 0000000000..2399ea256a Binary files /dev/null and b/graphics/pokemon_storage/lotad_icon.png differ diff --git a/graphics/pokemon_storage/ludicolo.bin b/graphics/pokemon_storage/ludicolo.bin new file mode 100644 index 0000000000..6f39ea7d22 Binary files /dev/null and b/graphics/pokemon_storage/ludicolo.bin differ diff --git a/graphics/pokemon_storage/ludicolo_bg.png b/graphics/pokemon_storage/ludicolo_bg.png new file mode 100644 index 0000000000..585cb0ce1e Binary files /dev/null and b/graphics/pokemon_storage/ludicolo_bg.png differ diff --git a/graphics/pokemon_storage/luvdisc_icon.png b/graphics/pokemon_storage/luvdisc_icon.png new file mode 100644 index 0000000000..c3a06d3e00 Binary files /dev/null and b/graphics/pokemon_storage/luvdisc_icon.png differ diff --git a/graphics/pokemon_storage/machine.bin b/graphics/pokemon_storage/machine.bin new file mode 100644 index 0000000000..123dc02e04 Binary files /dev/null and b/graphics/pokemon_storage/machine.bin differ diff --git a/graphics/pokemon_storage/machine_bg.png b/graphics/pokemon_storage/machine_bg.png new file mode 100644 index 0000000000..648229ed25 Binary files /dev/null and b/graphics/pokemon_storage/machine_bg.png differ diff --git a/graphics/pokemon_storage/machine_frame.png b/graphics/pokemon_storage/machine_frame.png new file mode 100644 index 0000000000..7b14a0d0d0 Binary files /dev/null and b/graphics/pokemon_storage/machine_frame.png differ diff --git a/graphics/pokemon_storage/magma_icon.png b/graphics/pokemon_storage/magma_icon.png new file mode 100644 index 0000000000..69d5f4fb7f Binary files /dev/null and b/graphics/pokemon_storage/magma_icon.png differ diff --git a/graphics/pokemon_storage/maze_icon.png b/graphics/pokemon_storage/maze_icon.png new file mode 100644 index 0000000000..42664ecb77 Binary files /dev/null and b/graphics/pokemon_storage/maze_icon.png differ diff --git a/graphics/pokemon_storage/menu.png b/graphics/pokemon_storage/menu.png new file mode 100644 index 0000000000..204c075048 Binary files /dev/null and b/graphics/pokemon_storage/menu.png differ diff --git a/graphics/pokemon_storage/minun_icon.png b/graphics/pokemon_storage/minun_icon.png new file mode 100644 index 0000000000..5a8e56d18e Binary files /dev/null and b/graphics/pokemon_storage/minun_icon.png differ diff --git a/graphics/pokemon_storage/pichu_icon.png b/graphics/pokemon_storage/pichu_icon.png new file mode 100644 index 0000000000..384027dca5 Binary files /dev/null and b/graphics/pokemon_storage/pichu_icon.png differ diff --git a/graphics/pokemon_storage/pikachu.bin b/graphics/pokemon_storage/pikachu.bin new file mode 100644 index 0000000000..f94b31e377 Binary files /dev/null and b/graphics/pokemon_storage/pikachu.bin differ diff --git a/graphics/pokemon_storage/pikachu_bg.png b/graphics/pokemon_storage/pikachu_bg.png new file mode 100644 index 0000000000..c08494fa91 Binary files /dev/null and b/graphics/pokemon_storage/pikachu_bg.png differ diff --git a/graphics/pokemon_storage/plain.bin b/graphics/pokemon_storage/plain.bin new file mode 100644 index 0000000000..1813620a4f Binary files /dev/null and b/graphics/pokemon_storage/plain.bin differ diff --git a/graphics/pokemon_storage/plain_bg.png b/graphics/pokemon_storage/plain_bg.png new file mode 100644 index 0000000000..79218ca9df Binary files /dev/null and b/graphics/pokemon_storage/plain_bg.png differ diff --git a/graphics/pokemon_storage/plain_frame.png b/graphics/pokemon_storage/plain_frame.png new file mode 100644 index 0000000000..e3eea87289 Binary files /dev/null and b/graphics/pokemon_storage/plain_frame.png differ diff --git a/graphics/pokemon_storage/plusle_icon.png b/graphics/pokemon_storage/plusle_icon.png new file mode 100644 index 0000000000..674d224245 Binary files /dev/null and b/graphics/pokemon_storage/plusle_icon.png differ diff --git a/graphics/pokemon_storage/pokeball_icon.png b/graphics/pokemon_storage/pokeball_icon.png new file mode 100644 index 0000000000..65af700161 Binary files /dev/null and b/graphics/pokemon_storage/pokeball_icon.png differ diff --git a/graphics/pokemon_storage/pokecenter.bin b/graphics/pokemon_storage/pokecenter.bin new file mode 100644 index 0000000000..c7b6405e1f Binary files /dev/null and b/graphics/pokemon_storage/pokecenter.bin differ diff --git a/graphics/pokemon_storage/pokecenter2.bin b/graphics/pokemon_storage/pokecenter2.bin new file mode 100644 index 0000000000..d65cead67e Binary files /dev/null and b/graphics/pokemon_storage/pokecenter2.bin differ diff --git a/graphics/pokemon_storage/pokecenter2_bg.png b/graphics/pokemon_storage/pokecenter2_bg.png new file mode 100644 index 0000000000..704f96164d Binary files /dev/null and b/graphics/pokemon_storage/pokecenter2_bg.png differ diff --git a/graphics/pokemon_storage/pokecenter_bg.png b/graphics/pokemon_storage/pokecenter_bg.png new file mode 100644 index 0000000000..52b1003574 Binary files /dev/null and b/graphics/pokemon_storage/pokecenter_bg.png differ diff --git a/graphics/pokemon_storage/pokecenter_frame.png b/graphics/pokemon_storage/pokecenter_frame.png new file mode 100644 index 0000000000..3a32c4e641 Binary files /dev/null and b/graphics/pokemon_storage/pokecenter_frame.png differ diff --git a/graphics/pokemon_storage/polkadot.bin b/graphics/pokemon_storage/polkadot.bin new file mode 100644 index 0000000000..c31792b81a Binary files /dev/null and b/graphics/pokemon_storage/polkadot.bin differ diff --git a/graphics/pokemon_storage/polkadot_bg.png b/graphics/pokemon_storage/polkadot_bg.png new file mode 100644 index 0000000000..fe67c1b397 Binary files /dev/null and b/graphics/pokemon_storage/polkadot_bg.png differ diff --git a/graphics/pokemon_storage/polkadot_frame.png b/graphics/pokemon_storage/polkadot_frame.png new file mode 100644 index 0000000000..4d76fbbbf3 Binary files /dev/null and b/graphics/pokemon_storage/polkadot_frame.png differ diff --git a/graphics/pokemon_storage/ribbon.bin b/graphics/pokemon_storage/ribbon.bin new file mode 100644 index 0000000000..f348e6e1ec Binary files /dev/null and b/graphics/pokemon_storage/ribbon.bin differ diff --git a/graphics/pokemon_storage/ribbon_bg.png b/graphics/pokemon_storage/ribbon_bg.png new file mode 100644 index 0000000000..f8d258d9b7 Binary files /dev/null and b/graphics/pokemon_storage/ribbon_bg.png differ diff --git a/graphics/pokemon_storage/ribbon_frame.pal b/graphics/pokemon_storage/ribbon_frame.pal new file mode 100644 index 0000000000..8180cfb890 --- /dev/null +++ b/graphics/pokemon_storage/ribbon_frame.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +139 180 255 +222 238 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +213 213 213 +156 156 156 +255 255 255 +164 164 164 +82 82 82 diff --git a/graphics/pokemon_storage/ribbon_icon.png b/graphics/pokemon_storage/ribbon_icon.png new file mode 100644 index 0000000000..0c3d51bab3 Binary files /dev/null and b/graphics/pokemon_storage/ribbon_icon.png differ diff --git a/graphics/pokemon_storage/river.bin b/graphics/pokemon_storage/river.bin new file mode 100644 index 0000000000..ca4d56f8aa Binary files /dev/null and b/graphics/pokemon_storage/river.bin differ diff --git a/graphics/pokemon_storage/river_bg.png b/graphics/pokemon_storage/river_bg.png new file mode 100644 index 0000000000..ab76e28e3e Binary files /dev/null and b/graphics/pokemon_storage/river_bg.png differ diff --git a/graphics/pokemon_storage/river_frame.png b/graphics/pokemon_storage/river_frame.png new file mode 100644 index 0000000000..f6a87236b5 Binary files /dev/null and b/graphics/pokemon_storage/river_frame.png differ diff --git a/graphics/pokemon_storage/savanna.bin b/graphics/pokemon_storage/savanna.bin new file mode 100644 index 0000000000..ae99114466 Binary files /dev/null and b/graphics/pokemon_storage/savanna.bin differ diff --git a/graphics/pokemon_storage/savanna_bg.png b/graphics/pokemon_storage/savanna_bg.png new file mode 100644 index 0000000000..24fc476f69 Binary files /dev/null and b/graphics/pokemon_storage/savanna_bg.png differ diff --git a/graphics/pokemon_storage/savanna_frame.png b/graphics/pokemon_storage/savanna_frame.png new file mode 100644 index 0000000000..b66494d79c Binary files /dev/null and b/graphics/pokemon_storage/savanna_frame.png differ diff --git a/graphics/pokemon_storage/screen.bin b/graphics/pokemon_storage/screen.bin new file mode 100644 index 0000000000..05d68aad4f Binary files /dev/null and b/graphics/pokemon_storage/screen.bin differ diff --git a/graphics/pokemon_storage/screen_bg.png b/graphics/pokemon_storage/screen_bg.png new file mode 100644 index 0000000000..b9552d4791 Binary files /dev/null and b/graphics/pokemon_storage/screen_bg.png differ diff --git a/graphics/pokemon_storage/scrolling_bg.bin b/graphics/pokemon_storage/scrolling_bg.bin new file mode 100644 index 0000000000..25b6cf240d Binary files /dev/null and b/graphics/pokemon_storage/scrolling_bg.bin differ diff --git a/graphics/pokemon_storage/scrolling_bg.png b/graphics/pokemon_storage/scrolling_bg.png new file mode 100644 index 0000000000..8be861a267 Binary files /dev/null and b/graphics/pokemon_storage/scrolling_bg.png differ diff --git a/graphics/pokemon_storage/seafloor.bin b/graphics/pokemon_storage/seafloor.bin new file mode 100644 index 0000000000..aa8d671d4a Binary files /dev/null and b/graphics/pokemon_storage/seafloor.bin differ diff --git a/graphics/pokemon_storage/seafloor_bg.png b/graphics/pokemon_storage/seafloor_bg.png new file mode 100644 index 0000000000..8416429466 Binary files /dev/null and b/graphics/pokemon_storage/seafloor_bg.png differ diff --git a/graphics/pokemon_storage/seafloor_frame.png b/graphics/pokemon_storage/seafloor_frame.png new file mode 100644 index 0000000000..4941455589 Binary files /dev/null and b/graphics/pokemon_storage/seafloor_frame.png differ diff --git a/graphics/pokemon_storage/sky.bin b/graphics/pokemon_storage/sky.bin new file mode 100644 index 0000000000..1091d2a62b Binary files /dev/null and b/graphics/pokemon_storage/sky.bin differ diff --git a/graphics/pokemon_storage/sky_bg.png b/graphics/pokemon_storage/sky_bg.png new file mode 100644 index 0000000000..f561cef539 Binary files /dev/null and b/graphics/pokemon_storage/sky_bg.png differ diff --git a/graphics/pokemon_storage/sky_frame.png b/graphics/pokemon_storage/sky_frame.png new file mode 100644 index 0000000000..83c1e9a0b4 Binary files /dev/null and b/graphics/pokemon_storage/sky_frame.png differ diff --git a/graphics/pokemon_storage/snow.bin b/graphics/pokemon_storage/snow.bin new file mode 100644 index 0000000000..5dac9c1108 Binary files /dev/null and b/graphics/pokemon_storage/snow.bin differ diff --git a/graphics/pokemon_storage/snow_bg.png b/graphics/pokemon_storage/snow_bg.png new file mode 100644 index 0000000000..5e81e49805 Binary files /dev/null and b/graphics/pokemon_storage/snow_bg.png differ diff --git a/graphics/pokemon_storage/snow_frame.png b/graphics/pokemon_storage/snow_frame.png new file mode 100644 index 0000000000..529fff66ef Binary files /dev/null and b/graphics/pokemon_storage/snow_frame.png differ diff --git a/graphics/pokemon_storage/spinda_icon.png b/graphics/pokemon_storage/spinda_icon.png new file mode 100644 index 0000000000..8da7562334 Binary files /dev/null and b/graphics/pokemon_storage/spinda_icon.png differ diff --git a/graphics/pokemon_storage/star_in_circle_icon.png b/graphics/pokemon_storage/star_in_circle_icon.png new file mode 100644 index 0000000000..43a3078914 Binary files /dev/null and b/graphics/pokemon_storage/star_in_circle_icon.png differ diff --git a/graphics/pokemon_storage/togepi_icon.png b/graphics/pokemon_storage/togepi_icon.png new file mode 100644 index 0000000000..f8ce1c5391 Binary files /dev/null and b/graphics/pokemon_storage/togepi_icon.png differ diff --git a/graphics/pokemon_storage/unknown_frame.png b/graphics/pokemon_storage/unknown_frame.png new file mode 100644 index 0000000000..743e524414 Binary files /dev/null and b/graphics/pokemon_storage/unknown_frame.png differ diff --git a/graphics/pokemon_storage/volcano.bin b/graphics/pokemon_storage/volcano.bin new file mode 100644 index 0000000000..0dbaf03a3a Binary files /dev/null and b/graphics/pokemon_storage/volcano.bin differ diff --git a/graphics/pokemon_storage/volcano_bg.png b/graphics/pokemon_storage/volcano_bg.png new file mode 100644 index 0000000000..25f391e8be Binary files /dev/null and b/graphics/pokemon_storage/volcano_bg.png differ diff --git a/graphics/pokemon_storage/volcano_frame.png b/graphics/pokemon_storage/volcano_frame.png new file mode 100644 index 0000000000..edfef12479 Binary files /dev/null and b/graphics/pokemon_storage/volcano_frame.png differ diff --git a/graphics/pokemon_storage/waveform.png b/graphics/pokemon_storage/waveform.png new file mode 100644 index 0000000000..12eeef86bf Binary files /dev/null and b/graphics/pokemon_storage/waveform.png differ diff --git a/graphics/pokemon_storage/whiscash.bin b/graphics/pokemon_storage/whiscash.bin new file mode 100644 index 0000000000..0ebb4d299d Binary files /dev/null and b/graphics/pokemon_storage/whiscash.bin differ diff --git a/graphics/pokemon_storage/whiscash_bg.png b/graphics/pokemon_storage/whiscash_bg.png new file mode 100644 index 0000000000..703278948e Binary files /dev/null and b/graphics/pokemon_storage/whiscash_bg.png differ diff --git a/graphics/pokemon_storage/zigzagoon.bin b/graphics/pokemon_storage/zigzagoon.bin new file mode 100644 index 0000000000..744b2210cd Binary files /dev/null and b/graphics/pokemon_storage/zigzagoon.bin differ diff --git a/graphics/pokemon_storage/zigzagoon_bg.png b/graphics/pokemon_storage/zigzagoon_bg.png new file mode 100644 index 0000000000..d4a6d12794 Binary files /dev/null and b/graphics/pokemon_storage/zigzagoon_bg.png differ diff --git a/graphics/pokenav/86226E0.pal b/graphics/pokenav/86226E0.pal new file mode 100644 index 0000000000..77e8abf070 --- /dev/null +++ b/graphics/pokenav/86226E0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +246 255 255 +16 16 8 +222 222 230 +255 0 0 +230 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokenav/8622700.pal b/graphics/pokenav/8622700.pal new file mode 100644 index 0000000000..f27c29bdfb --- /dev/null +++ b/graphics/pokenav/8622700.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 197 0 +246 197 123 +255 255 255 +106 115 123 +255 74 16 +65 8 8 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokenav/8622720.pal b/graphics/pokenav/8622720.pal new file mode 100644 index 0000000000..25baec5176 --- /dev/null +++ b/graphics/pokenav/8622720.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +0 197 0 +246 197 123 +255 255 255 +106 115 123 +0 0 0 +189 106 65 +49 65 74 +255 222 156 +180 131 82 +189 139 106 +197 197 197 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +255 74 16 +0 197 0 +246 197 123 +255 255 255 +106 115 123 +0 0 0 +189 106 65 +49 65 74 +255 222 156 +180 131 82 +189 139 106 +197 197 197 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +189 106 65 diff --git a/graphics/pokenav/8622868.pal b/graphics/pokenav/8622868.pal new file mode 100644 index 0000000000..c7abf2b874 --- /dev/null +++ b/graphics/pokenav/8622868.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +0 0 0 +213 213 213 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokenav/86231E8.pal b/graphics/pokenav/86231E8.pal new file mode 100644 index 0000000000..98c309d52a --- /dev/null +++ b/graphics/pokenav/86231E8.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 +0 255 0 diff --git a/graphics/pokenav/8623208.pal b/graphics/pokenav/8623208.pal new file mode 100644 index 0000000000..7c8a712755 --- /dev/null +++ b/graphics/pokenav/8623208.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +98 98 98 +213 213 205 +65 205 255 +0 139 189 +255 156 148 +189 90 82 +98 98 115 +246 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokenav/8623228.png b/graphics/pokenav/8623228.png new file mode 100644 index 0000000000..bf6d6178f3 Binary files /dev/null and b/graphics/pokenav/8623228.png differ diff --git a/graphics/pokenav/862323C.bin b/graphics/pokenav/862323C.bin new file mode 100644 index 0000000000..817decbb3d --- /dev/null +++ b/graphics/pokenav/862323C.bin @@ -0,0 +1 @@ +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/8623338.pal b/graphics/pokenav/8623338.pal new file mode 100644 index 0000000000..9b39ac8cf9 --- /dev/null +++ b/graphics/pokenav/8623338.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +189 222 246 +164 197 230 +172 205 230 +255 255 255 +230 238 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokenav/8623570.pal b/graphics/pokenav/8623570.pal new file mode 100644 index 0000000000..18eea783eb --- /dev/null +++ b/graphics/pokenav/8623570.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 197 0 +98 172 230 +255 255 255 +106 115 123 +0 0 0 +41 222 255 +0 90 172 +255 164 205 +148 24 32 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokenav/8623790.pal b/graphics/pokenav/8623790.pal new file mode 100644 index 0000000000..da3be28fd1 --- /dev/null +++ b/graphics/pokenav/8623790.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 197 0 +255 156 106 +255 255 255 +106 115 123 +0 0 0 +41 222 255 +0 90 172 +255 164 205 +148 24 32 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokenav/8624098.pal b/graphics/pokenav/8624098.pal new file mode 100644 index 0000000000..2fc3f3d064 --- /dev/null +++ b/graphics/pokenav/8624098.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 197 0 +255 205 222 +0 0 0 +205 205 205 +0 0 0 +41 222 255 +0 90 172 +255 164 205 +148 24 32 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokenav/8625660.png b/graphics/pokenav/8625660.png new file mode 100644 index 0000000000..84c74462d6 Binary files /dev/null and b/graphics/pokenav/8625660.png differ diff --git a/graphics/pokenav/862A5D4.pal b/graphics/pokenav/862A5D4.pal new file mode 100644 index 0000000000..4b0812f094 --- /dev/null +++ b/graphics/pokenav/862A5D4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokenav/arrow2.png b/graphics/pokenav/arrow2.png new file mode 100644 index 0000000000..963cc4a642 Binary files /dev/null and b/graphics/pokenav/arrow2.png differ diff --git a/graphics/pokenav/arrows_matchcall.png b/graphics/pokenav/arrows_matchcall.png new file mode 100644 index 0000000000..8b13338d54 Binary files /dev/null and b/graphics/pokenav/arrows_matchcall.png differ diff --git a/graphics/pokenav/bg.bin b/graphics/pokenav/bg.bin new file mode 100644 index 0000000000..7161609bb0 --- /dev/null +++ b/graphics/pokenav/bg.bin @@ -0,0 +1 @@ +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/bg.png b/graphics/pokenav/bg.png new file mode 100644 index 0000000000..056e2400b8 Binary files /dev/null and b/graphics/pokenav/bg.png differ diff --git a/graphics/pokenav/blue_light.png b/graphics/pokenav/blue_light.png new file mode 100644 index 0000000000..c32a9b9be9 Binary files /dev/null and b/graphics/pokenav/blue_light.png differ diff --git a/graphics/pokenav/brendan_icon.png b/graphics/pokenav/brendan_icon.png new file mode 100644 index 0000000000..19e39bb29e Binary files /dev/null and b/graphics/pokenav/brendan_icon.png differ diff --git a/graphics/pokenav/cancel.pal b/graphics/pokenav/cancel.pal new file mode 100644 index 0000000000..f32b77d074 --- /dev/null +++ b/graphics/pokenav/cancel.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 139 +0 0 0 +255 180 8 +106 106 123 +0 0 8 +246 115 82 +255 123 90 +156 172 164 +246 189 131 +255 197 139 +222 246 230 +230 255 222 +238 246 246 +255 255 255 +0 98 98 +0 0 0 +255 255 139 +123 123 156 +246 255 255 +106 106 123 +0 0 8 +246 115 82 +255 123 90 +156 172 164 +246 189 131 +255 197 139 +222 246 230 +230 255 222 +238 246 246 +255 255 255 +0 98 98 +0 0 0 diff --git a/graphics/pokenav/cancel.png b/graphics/pokenav/cancel.png new file mode 100644 index 0000000000..1d57a4488b Binary files /dev/null and b/graphics/pokenav/cancel.png differ diff --git a/graphics/pokenav/city_maps/dewford_0.bin b/graphics/pokenav/city_maps/dewford_0.bin new file mode 100644 index 0000000000..1cfedcec7f --- /dev/null +++ b/graphics/pokenav/city_maps/dewford_0.bin @@ -0,0 +1 @@ +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/city_maps/ever_grande_0.bin b/graphics/pokenav/city_maps/ever_grande_0.bin new file mode 100644 index 0000000000..7a8d4019d4 --- /dev/null +++ b/graphics/pokenav/city_maps/ever_grande_0.bin @@ -0,0 +1,4 @@ +00000000000000000000000000000000000 +00000000000 00000000000 +0000000000 +000000000 000000000000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/city_maps/ever_grande_1.bin b/graphics/pokenav/city_maps/ever_grande_1.bin new file mode 100644 index 0000000000..7721054d06 --- /dev/null +++ b/graphics/pokenav/city_maps/ever_grande_1.bin @@ -0,0 +1,3 @@ +000000000000000000000000 +0000000000 +00000000000 000000000 0000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/city_maps/fallarbor_0.bin b/graphics/pokenav/city_maps/fallarbor_0.bin new file mode 100644 index 0000000000..fc7126f37a --- /dev/null +++ b/graphics/pokenav/city_maps/fallarbor_0.bin @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000000000000000 0 0000 00000000 +00000000000 000000000000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/city_maps/fortree_0.bin b/graphics/pokenav/city_maps/fortree_0.bin new file mode 100644 index 0000000000..223e9a4871 --- /dev/null +++ b/graphics/pokenav/city_maps/fortree_0.bin @@ -0,0 +1 @@ +00000000000000000000000000000000000 000000000 00 0 000000000000000000 0 00000000 000 00000000000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/city_maps/lavaridge_0.bin b/graphics/pokenav/city_maps/lavaridge_0.bin new file mode 100644 index 0000000000..7920578ea3 --- /dev/null +++ b/graphics/pokenav/city_maps/lavaridge_0.bin @@ -0,0 +1,3 @@ +000000000000000000000000000000000000000000000 +00 +000000000 00000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/city_maps/lilycove_0.bin b/graphics/pokenav/city_maps/lilycove_0.bin new file mode 100644 index 0000000000..e8bf09eaef --- /dev/null +++ b/graphics/pokenav/city_maps/lilycove_0.bin @@ -0,0 +1 @@ +0000000000000000000000000000000 0 0000000000000000000 00000000000000000000 00000000000000000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/city_maps/lilycove_1.bin b/graphics/pokenav/city_maps/lilycove_1.bin new file mode 100644 index 0000000000..99895574d1 --- /dev/null +++ b/graphics/pokenav/city_maps/lilycove_1.bin @@ -0,0 +1,3 @@ +00000000000000000000000000000000 0 0 0 0 00 000000000 +0000 0 0 0 0 0 00 000000000 +000000 0 0 0 00 0000000000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/city_maps/littleroot_0.bin b/graphics/pokenav/city_maps/littleroot_0.bin new file mode 100644 index 0000000000..902ce80bb9 --- /dev/null +++ b/graphics/pokenav/city_maps/littleroot_0.bin @@ -0,0 +1 @@ +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/city_maps/mauville_0.bin b/graphics/pokenav/city_maps/mauville_0.bin new file mode 100644 index 0000000000..103d39e54b --- /dev/null +++ b/graphics/pokenav/city_maps/mauville_0.bin @@ -0,0 +1,3 @@ +000000000000000000000000000000000000000000 00 00 0 000000 +0000000000 +00000000 0 00 00000000000000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/city_maps/mauville_1.bin b/graphics/pokenav/city_maps/mauville_1.bin new file mode 100644 index 0000000000..a0662010a7 --- /dev/null +++ b/graphics/pokenav/city_maps/mauville_1.bin @@ -0,0 +1,3 @@ +000000000000000000000000000000000000 +000000 000 00 0 000000 +0000000000 0000000000000 0 00000000 00000000000000 \ No newline at end of file diff --git a/graphics/pokenav/city_maps/mossdeep_0.bin b/graphics/pokenav/city_maps/mossdeep_0.bin new file mode 100644 index 0000000000..fd03cfe023 --- /dev/null +++ b/graphics/pokenav/city_maps/mossdeep_0.bin @@ -0,0 +1 @@ +0000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 00000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/city_maps/mossdeep_1.bin b/graphics/pokenav/city_maps/mossdeep_1.bin new file mode 100644 index 0000000000..6c11d5624f --- /dev/null +++ b/graphics/pokenav/city_maps/mossdeep_1.bin @@ -0,0 +1,3 @@ +00000000000000000000000000 0 00000000 +0000000000 +000000000 000000000 000 0 00000000 0000000000000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/city_maps/oldale_0.bin b/graphics/pokenav/city_maps/oldale_0.bin new file mode 100644 index 0000000000..297bf4c058 --- /dev/null +++ b/graphics/pokenav/city_maps/oldale_0.bin @@ -0,0 +1 @@ +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/city_maps/pacifidlog_0.bin b/graphics/pokenav/city_maps/pacifidlog_0.bin new file mode 100644 index 0000000000..eb3f192460 --- /dev/null +++ b/graphics/pokenav/city_maps/pacifidlog_0.bin @@ -0,0 +1,3 @@ +0000000000000000000000000000000000000000000 00 0 00000000 +0000000000 +00000000000 0 000000000000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/city_maps/petalburg_0.bin b/graphics/pokenav/city_maps/petalburg_0.bin new file mode 100644 index 0000000000..45124943d9 --- /dev/null +++ b/graphics/pokenav/city_maps/petalburg_0.bin @@ -0,0 +1,4 @@ +000000000000000000000000000000000 +00000000 0 00 00000000000 +00000000000 00 0000000 +00000000000 00000000000000 \ No newline at end of file diff --git a/graphics/pokenav/city_maps/rustboro_0.bin b/graphics/pokenav/city_maps/rustboro_0.bin new file mode 100644 index 0000000000..ccf5b21a2a --- /dev/null +++ b/graphics/pokenav/city_maps/rustboro_0.bin @@ -0,0 +1,5 @@ +000000000000000000000000000000000000 0 0 0000000 +0000000000 +000000000 00 0 00000000 +0000000000 +000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/city_maps/rustboro_1.bin b/graphics/pokenav/city_maps/rustboro_1.bin new file mode 100644 index 0000000000..961dd0dcc2 --- /dev/null +++ b/graphics/pokenav/city_maps/rustboro_1.bin @@ -0,0 +1,6 @@ +000000000000000 +0000000000 +0000000 0 0 00000000000 +0000000000 +00000000000 0 0 000000 +0000000000 0000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/city_maps/slateport_0.bin b/graphics/pokenav/city_maps/slateport_0.bin new file mode 100644 index 0000000000..bdc1391c39 --- /dev/null +++ b/graphics/pokenav/city_maps/slateport_0.bin @@ -0,0 +1,5 @@ +00000000000000000000000000000000000 +00000000 0 00 0 00000 +000000000 00 0 00000000 +000 +000000 00 0 0000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/city_maps/slateport_1.bin b/graphics/pokenav/city_maps/slateport_1.bin new file mode 100644 index 0000000000..11815b2a5e --- /dev/null +++ b/graphics/pokenav/city_maps/slateport_1.bin @@ -0,0 +1,7 @@ +000000000000 +000 +0000000000 +0000000000 +0000000000 +0000000000 +000000000 00 0 00000000 0000000000000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/city_maps/sootopolis_0.bin b/graphics/pokenav/city_maps/sootopolis_0.bin new file mode 100644 index 0000000000..78d069d56a --- /dev/null +++ b/graphics/pokenav/city_maps/sootopolis_0.bin @@ -0,0 +1 @@ +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/city_maps/verdanturf_0.bin b/graphics/pokenav/city_maps/verdanturf_0.bin new file mode 100644 index 0000000000..2b651d26f8 --- /dev/null +++ b/graphics/pokenav/city_maps/verdanturf_0.bin @@ -0,0 +1 @@ +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/graphics/pokenav/condition.bin b/graphics/pokenav/condition.bin new file mode 100644 index 0000000000..4c04c5f0de Binary files /dev/null and b/graphics/pokenav/condition.bin differ diff --git a/graphics/pokenav/condition.png b/graphics/pokenav/condition.png new file mode 100644 index 0000000000..eadd2c0aa3 Binary files /dev/null and b/graphics/pokenav/condition.png differ diff --git a/graphics/pokenav/condition_search2.bin b/graphics/pokenav/condition_search2.bin new file mode 100644 index 0000000000..4c54a20702 Binary files /dev/null and b/graphics/pokenav/condition_search2.bin differ diff --git a/graphics/pokenav/condition_search2.png b/graphics/pokenav/condition_search2.png new file mode 100644 index 0000000000..c50985beef Binary files /dev/null and b/graphics/pokenav/condition_search2.png differ diff --git a/graphics/pokenav/cursor.pal b/graphics/pokenav/cursor.pal new file mode 100644 index 0000000000..b35568acf4 --- /dev/null +++ b/graphics/pokenav/cursor.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 156 0 +255 255 255 +255 255 255 +230 230 246 +205 205 230 +180 180 222 +156 156 205 +131 131 197 +98 98 180 +74 74 164 +49 49 156 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokenav/cursor_large.png b/graphics/pokenav/cursor_large.png new file mode 100644 index 0000000000..eeda68a0e1 Binary files /dev/null and b/graphics/pokenav/cursor_large.png differ diff --git a/graphics/pokenav/cursor_small.png b/graphics/pokenav/cursor_small.png new file mode 100644 index 0000000000..031e7ed164 Binary files /dev/null and b/graphics/pokenav/cursor_small.png differ diff --git a/graphics/pokenav/fly_target_icons.png b/graphics/pokenav/fly_target_icons.png new file mode 100644 index 0000000000..7a997afc58 Binary files /dev/null and b/graphics/pokenav/fly_target_icons.png differ diff --git a/graphics/pokenav/header.bin b/graphics/pokenav/header.bin new file mode 100644 index 0000000000..f405a6dfcf Binary files /dev/null and b/graphics/pokenav/header.bin differ diff --git a/graphics/pokenav/header.png b/graphics/pokenav/header.png new file mode 100644 index 0000000000..7fe891e22f Binary files /dev/null and b/graphics/pokenav/header.png differ diff --git a/graphics/pokenav/icon.png b/graphics/pokenav/icon.png new file mode 100644 index 0000000000..8c27395307 Binary files /dev/null and b/graphics/pokenav/icon.png differ diff --git a/graphics/pokenav/icon2.png b/graphics/pokenav/icon2.png new file mode 100644 index 0000000000..83624135ba Binary files /dev/null and b/graphics/pokenav/icon2.png differ diff --git a/graphics/pokenav/icon2_unused.png b/graphics/pokenav/icon2_unused.png new file mode 100644 index 0000000000..c32a9b9be9 Binary files /dev/null and b/graphics/pokenav/icon2_unused.png differ diff --git a/graphics/pokenav/left_headers/beauty.png b/graphics/pokenav/left_headers/beauty.png new file mode 100644 index 0000000000..a9a85ce0c2 Binary files /dev/null and b/graphics/pokenav/left_headers/beauty.png differ diff --git a/graphics/pokenav/left_headers/condition.png b/graphics/pokenav/left_headers/condition.png new file mode 100644 index 0000000000..aaece5a38d Binary files /dev/null and b/graphics/pokenav/left_headers/condition.png differ diff --git a/graphics/pokenav/left_headers/cool.png b/graphics/pokenav/left_headers/cool.png new file mode 100644 index 0000000000..4dd0694959 Binary files /dev/null and b/graphics/pokenav/left_headers/cool.png differ diff --git a/graphics/pokenav/left_headers/cute.png b/graphics/pokenav/left_headers/cute.png new file mode 100644 index 0000000000..6da0f49733 Binary files /dev/null and b/graphics/pokenav/left_headers/cute.png differ diff --git a/graphics/pokenav/left_headers/hoenn_map.png b/graphics/pokenav/left_headers/hoenn_map.png new file mode 100644 index 0000000000..7ee6c8e99a Binary files /dev/null and b/graphics/pokenav/left_headers/hoenn_map.png differ diff --git a/graphics/pokenav/left_headers/main_menu.png b/graphics/pokenav/left_headers/main_menu.png new file mode 100644 index 0000000000..713de58b3f Binary files /dev/null and b/graphics/pokenav/left_headers/main_menu.png differ diff --git a/graphics/pokenav/left_headers/match_call.png b/graphics/pokenav/left_headers/match_call.png new file mode 100644 index 0000000000..5de8e41ab1 Binary files /dev/null and b/graphics/pokenav/left_headers/match_call.png differ diff --git a/graphics/pokenav/left_headers/palette.pal b/graphics/pokenav/left_headers/palette.pal new file mode 100644 index 0000000000..eb13b1a872 --- /dev/null +++ b/graphics/pokenav/left_headers/palette.pal @@ -0,0 +1,83 @@ +JASC-PAL +0100 +80 +0 0 0 +255 255 255 +82 82 74 +172 172 172 +246 197 49 +255 238 98 +230 148 0 +0 0 0 +32 197 106 +148 255 98 +74 139 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +0 0 0 +255 255 255 +82 82 74 +172 172 172 +246 197 49 +255 238 98 +230 148 0 +0 0 0 +106 82 222 +197 180 255 +82 65 164 +98 197 246 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +0 0 0 +255 255 255 +82 82 74 +172 172 172 +246 197 49 +255 238 98 +230 148 0 +0 0 0 +246 106 106 +255 172 164 +205 74 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +0 0 0 +255 255 255 +82 82 74 +172 172 172 +246 197 49 +255 238 98 +230 148 0 +0 0 0 +180 172 123 +222 213 164 +131 123 74 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +0 0 0 +255 255 255 +82 82 74 +172 172 172 +246 197 49 +255 238 98 +230 148 0 +0 0 0 +255 65 32 +255 148 90 +180 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokenav/left_headers/party.png b/graphics/pokenav/left_headers/party.png new file mode 100644 index 0000000000..39e0461b1c Binary files /dev/null and b/graphics/pokenav/left_headers/party.png differ diff --git a/graphics/pokenav/left_headers/ribbons.png b/graphics/pokenav/left_headers/ribbons.png new file mode 100644 index 0000000000..ed4f94b930 Binary files /dev/null and b/graphics/pokenav/left_headers/ribbons.png differ diff --git a/graphics/pokenav/left_headers/search.png b/graphics/pokenav/left_headers/search.png new file mode 100644 index 0000000000..7e01e77795 Binary files /dev/null and b/graphics/pokenav/left_headers/search.png differ diff --git a/graphics/pokenav/left_headers/smart.png b/graphics/pokenav/left_headers/smart.png new file mode 100644 index 0000000000..e959df2b8a Binary files /dev/null and b/graphics/pokenav/left_headers/smart.png differ diff --git a/graphics/pokenav/left_headers/tough.png b/graphics/pokenav/left_headers/tough.png new file mode 100644 index 0000000000..fbb4715729 Binary files /dev/null and b/graphics/pokenav/left_headers/tough.png differ diff --git a/graphics/pokenav/map_frame.bin b/graphics/pokenav/map_frame.bin new file mode 100644 index 0000000000..eb8e9ee626 Binary files /dev/null and b/graphics/pokenav/map_frame.bin differ diff --git a/graphics/pokenav/map_frame.png b/graphics/pokenav/map_frame.png new file mode 100644 index 0000000000..f64171746a Binary files /dev/null and b/graphics/pokenav/map_frame.png differ diff --git a/graphics/pokenav/marker.png b/graphics/pokenav/marker.png new file mode 100644 index 0000000000..8184465578 Binary files /dev/null and b/graphics/pokenav/marker.png differ diff --git a/graphics/pokenav/may_icon.png b/graphics/pokenav/may_icon.png new file mode 100644 index 0000000000..5e1809fa5a Binary files /dev/null and b/graphics/pokenav/may_icon.png differ diff --git a/graphics/pokenav/message.bin b/graphics/pokenav/message.bin new file mode 100644 index 0000000000..5f9930568a Binary files /dev/null and b/graphics/pokenav/message.bin differ diff --git a/graphics/pokenav/message.png b/graphics/pokenav/message.png new file mode 100644 index 0000000000..7df840d3a9 Binary files /dev/null and b/graphics/pokenav/message.png differ diff --git a/graphics/pokenav/options/beauty.png b/graphics/pokenav/options/beauty.png new file mode 100644 index 0000000000..194cc0c539 Binary files /dev/null and b/graphics/pokenav/options/beauty.png differ diff --git a/graphics/pokenav/options/cancel.png b/graphics/pokenav/options/cancel.png new file mode 100644 index 0000000000..4093674a48 Binary files /dev/null and b/graphics/pokenav/options/cancel.png differ diff --git a/graphics/pokenav/options/condition.png b/graphics/pokenav/options/condition.png new file mode 100644 index 0000000000..8820babbd4 Binary files /dev/null and b/graphics/pokenav/options/condition.png differ diff --git a/graphics/pokenav/options/cool.png b/graphics/pokenav/options/cool.png new file mode 100644 index 0000000000..e87a10810d Binary files /dev/null and b/graphics/pokenav/options/cool.png differ diff --git a/graphics/pokenav/options/cute.png b/graphics/pokenav/options/cute.png new file mode 100644 index 0000000000..9aad1e9614 Binary files /dev/null and b/graphics/pokenav/options/cute.png differ diff --git a/graphics/pokenav/options/hoenn_map.png b/graphics/pokenav/options/hoenn_map.png new file mode 100644 index 0000000000..00e9724dc6 Binary files /dev/null and b/graphics/pokenav/options/hoenn_map.png differ diff --git a/graphics/pokenav/options/match_call.png b/graphics/pokenav/options/match_call.png new file mode 100644 index 0000000000..6c7effc9b0 Binary files /dev/null and b/graphics/pokenav/options/match_call.png differ diff --git a/graphics/pokenav/options/options.bin b/graphics/pokenav/options/options.bin new file mode 100644 index 0000000000..b7928d6405 --- /dev/null +++ b/graphics/pokenav/options/options.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/graphics/pokenav/options/options.pal b/graphics/pokenav/options/options.pal new file mode 100644 index 0000000000..eb13b1a872 --- /dev/null +++ b/graphics/pokenav/options/options.pal @@ -0,0 +1,83 @@ +JASC-PAL +0100 +80 +0 0 0 +255 255 255 +82 82 74 +172 172 172 +246 197 49 +255 238 98 +230 148 0 +0 0 0 +32 197 106 +148 255 98 +74 139 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +0 0 0 +255 255 255 +82 82 74 +172 172 172 +246 197 49 +255 238 98 +230 148 0 +0 0 0 +106 82 222 +197 180 255 +82 65 164 +98 197 246 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +0 0 0 +255 255 255 +82 82 74 +172 172 172 +246 197 49 +255 238 98 +230 148 0 +0 0 0 +246 106 106 +255 172 164 +205 74 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +0 0 0 +255 255 255 +82 82 74 +172 172 172 +246 197 49 +255 238 98 +230 148 0 +0 0 0 +180 172 123 +222 213 164 +131 123 74 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +0 0 0 +255 255 255 +82 82 74 +172 172 172 +246 197 49 +255 238 98 +230 148 0 +0 0 0 +255 65 32 +255 148 90 +180 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokenav/options/party.png b/graphics/pokenav/options/party.png new file mode 100644 index 0000000000..67a1f231f9 Binary files /dev/null and b/graphics/pokenav/options/party.png differ diff --git a/graphics/pokenav/options/ribbons.png b/graphics/pokenav/options/ribbons.png new file mode 100644 index 0000000000..6b7daaa6a8 Binary files /dev/null and b/graphics/pokenav/options/ribbons.png differ diff --git a/graphics/pokenav/options/search.png b/graphics/pokenav/options/search.png new file mode 100644 index 0000000000..946d0cac7f Binary files /dev/null and b/graphics/pokenav/options/search.png differ diff --git a/graphics/pokenav/options/smart.png b/graphics/pokenav/options/smart.png new file mode 100644 index 0000000000..b0665aadbd Binary files /dev/null and b/graphics/pokenav/options/smart.png differ diff --git a/graphics/pokenav/options/switch_off.png b/graphics/pokenav/options/switch_off.png new file mode 100644 index 0000000000..01b5393838 Binary files /dev/null and b/graphics/pokenav/options/switch_off.png differ diff --git a/graphics/pokenav/options/tough.png b/graphics/pokenav/options/tough.png new file mode 100644 index 0000000000..bea12edbe6 Binary files /dev/null and b/graphics/pokenav/options/tough.png differ diff --git a/graphics/pokenav/outline.png b/graphics/pokenav/outline.png new file mode 100644 index 0000000000..5700b272ce Binary files /dev/null and b/graphics/pokenav/outline.png differ diff --git a/graphics/pokenav/outline_map.bin b/graphics/pokenav/outline_map.bin new file mode 100644 index 0000000000..6d70bdcd97 Binary files /dev/null and b/graphics/pokenav/outline_map.bin differ diff --git a/graphics/pokenav/pokeball.png b/graphics/pokenav/pokeball.png new file mode 100644 index 0000000000..9eb7d91651 Binary files /dev/null and b/graphics/pokenav/pokeball.png differ diff --git a/graphics/pokenav/pokeball_matchcall.pal b/graphics/pokenav/pokeball_matchcall.pal new file mode 100644 index 0000000000..25baec5176 --- /dev/null +++ b/graphics/pokenav/pokeball_matchcall.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +0 197 0 +246 197 123 +255 255 255 +106 115 123 +0 0 0 +189 106 65 +49 65 74 +255 222 156 +180 131 82 +189 139 106 +197 197 197 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +255 74 16 +0 197 0 +246 197 123 +255 255 255 +106 115 123 +0 0 0 +189 106 65 +49 65 74 +255 222 156 +180 131 82 +189 139 106 +197 197 197 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +189 106 65 diff --git a/graphics/pokenav/pokeball_matchcall.png b/graphics/pokenav/pokeball_matchcall.png new file mode 100644 index 0000000000..456994258a Binary files /dev/null and b/graphics/pokenav/pokeball_matchcall.png differ diff --git a/graphics/pokenav/region_map.pal b/graphics/pokenav/region_map.pal new file mode 100644 index 0000000000..78ffc009a3 --- /dev/null +++ b/graphics/pokenav/region_map.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +0 0 0 +156 213 255 +164 180 255 +123 180 213 +74 156 230 +41 131 230 +65 106 205 +0 115 172 +32 74 197 +0 57 139 +213 255 123 +172 238 49 +98 213 0 +57 172 8 +0 115 0 +205 205 148 +0 0 0 +255 255 255 +238 230 172 +238 230 115 +238 189 57 +246 213 82 +230 164 0 +255 172 16 +255 57 16 +246 0 0 +148 0 0 +205 205 205 +98 98 98 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokenav/region_map.png b/graphics/pokenav/region_map.png new file mode 100644 index 0000000000..08df6eb295 Binary files /dev/null and b/graphics/pokenav/region_map.png differ diff --git a/graphics/pokenav/region_map_map.bin b/graphics/pokenav/region_map_map.bin new file mode 100644 index 0000000000..889fd6d363 Binary files /dev/null and b/graphics/pokenav/region_map_map.bin differ diff --git a/graphics/pokenav/region_map_section_layout.bin b/graphics/pokenav/region_map_section_layout.bin new file mode 100644 index 0000000000..4700e08b63 Binary files /dev/null and b/graphics/pokenav/region_map_section_layout.bin differ diff --git a/graphics/pokenav/ribbons.bin b/graphics/pokenav/ribbons.bin new file mode 100644 index 0000000000..ce0b74f608 Binary files /dev/null and b/graphics/pokenav/ribbons.bin differ diff --git a/graphics/pokenav/ribbons.png b/graphics/pokenav/ribbons.png new file mode 100644 index 0000000000..a87bc73564 Binary files /dev/null and b/graphics/pokenav/ribbons.png differ diff --git a/graphics/pokenav/ribbons_icon.png b/graphics/pokenav/ribbons_icon.png new file mode 100644 index 0000000000..095891feb7 Binary files /dev/null and b/graphics/pokenav/ribbons_icon.png differ diff --git a/graphics/pokenav/ribbons_icon1.pal b/graphics/pokenav/ribbons_icon1.pal new file mode 100644 index 0000000000..ae6725c654 --- /dev/null +++ b/graphics/pokenav/ribbons_icon1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 246 +74 74 82 +139 139 156 +222 222 230 +255 255 255 +246 246 98 +197 197 98 +156 156 32 +197 65 65 +238 90 65 +164 98 205 +197 106 255 +0 0 0 +0 197 255 +0 0 0 +0 0 0 diff --git a/graphics/pokenav/ribbons_icon2.pal b/graphics/pokenav/ribbons_icon2.pal new file mode 100644 index 0000000000..78dcdf6f03 --- /dev/null +++ b/graphics/pokenav/ribbons_icon2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 246 +74 74 82 +139 139 156 +222 222 230 +255 255 255 +246 246 98 +197 197 98 +156 156 32 +98 123 197 +98 156 255 +0 0 0 +0 0 0 +0 0 0 +98 238 0 +74 90 180 +90 115 238 diff --git a/graphics/pokenav/ribbons_icon3.pal b/graphics/pokenav/ribbons_icon3.pal new file mode 100644 index 0000000000..7deb2fd4de --- /dev/null +++ b/graphics/pokenav/ribbons_icon3.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 246 +74 74 82 +139 139 156 +222 222 230 +255 255 255 +246 246 98 +197 197 98 +156 156 32 +205 115 131 +246 156 172 +197 98 82 +238 139 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokenav/ribbons_icon4.pal b/graphics/pokenav/ribbons_icon4.pal new file mode 100644 index 0000000000..3321186ed1 --- /dev/null +++ b/graphics/pokenav/ribbons_icon4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 246 +74 74 82 +139 139 156 +222 222 230 +255 255 255 +246 246 98 +197 197 98 +156 156 32 +106 213 82 +180 246 115 +156 156 172 +222 222 205 +0 0 0 +139 139 213 +148 106 82 +205 172 98 diff --git a/graphics/pokenav/ribbons_icon5.pal b/graphics/pokenav/ribbons_icon5.pal new file mode 100644 index 0000000000..0a01d552fe --- /dev/null +++ b/graphics/pokenav/ribbons_icon5.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +197 197 246 +74 74 82 +139 139 156 +222 222 230 +255 255 255 +246 246 98 +197 197 98 +156 156 32 +197 164 65 +255 222 65 +189 189 57 +238 238 65 +0 0 0 +238 90 65 +90 139 230 +90 172 255 diff --git a/graphics/pokenav/ribbons_icon_big.png b/graphics/pokenav/ribbons_icon_big.png new file mode 100644 index 0000000000..cf8c8cb322 Binary files /dev/null and b/graphics/pokenav/ribbons_icon_big.png differ diff --git a/graphics/pokenav/sparkle.png b/graphics/pokenav/sparkle.png new file mode 100644 index 0000000000..5949b376ef Binary files /dev/null and b/graphics/pokenav/sparkle.png differ diff --git a/graphics/pokenav/ui_matchcall.bin b/graphics/pokenav/ui_matchcall.bin new file mode 100644 index 0000000000..9aec20dfe9 Binary files /dev/null and b/graphics/pokenav/ui_matchcall.bin differ diff --git a/graphics/pokenav/ui_matchcall.png b/graphics/pokenav/ui_matchcall.png new file mode 100644 index 0000000000..24c6c2ff66 Binary files /dev/null and b/graphics/pokenav/ui_matchcall.png differ diff --git a/graphics/pokenav/ui_ribbons.bin b/graphics/pokenav/ui_ribbons.bin new file mode 100644 index 0000000000..4c54a20702 Binary files /dev/null and b/graphics/pokenav/ui_ribbons.bin differ diff --git a/graphics/pokenav/ui_ribbons.png b/graphics/pokenav/ui_ribbons.png new file mode 100644 index 0000000000..aa9d9e305c Binary files /dev/null and b/graphics/pokenav/ui_ribbons.png differ diff --git a/graphics/pokenav/zoom.png b/graphics/pokenav/zoom.png new file mode 100644 index 0000000000..4e2b41be6d Binary files /dev/null and b/graphics/pokenav/zoom.png differ diff --git a/graphics/pokenav/zoom_tiles.png b/graphics/pokenav/zoom_tiles.png new file mode 100644 index 0000000000..40ae2717b6 Binary files /dev/null and b/graphics/pokenav/zoom_tiles.png differ diff --git a/graphics/rayquaza_scene/chase.pal b/graphics/rayquaza_scene/chase.pal new file mode 100644 index 0000000000..960724b941 --- /dev/null +++ b/graphics/rayquaza_scene/chase.pal @@ -0,0 +1,67 @@ +JASC-PAL +0100 +64 +156 156 255 +57 82 57 +65 131 65 +74 148 123 +90 189 139 +148 222 180 +98 90 106 +172 41 57 +230 74 49 +246 98 98 +197 148 98 +222 213 238 +255 255 255 +222 205 0 +255 238 0 +24 24 24 +156 156 255 +0 106 222 +57 148 230 +123 180 238 +189 222 246 +230 255 255 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 131 148 +255 255 246 +16 98 222 +115 255 230 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 131 148 +255 255 246 +255 205 0 +255 255 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/rayquaza_scene/chase_bg.bin b/graphics/rayquaza_scene/chase_bg.bin new file mode 100644 index 0000000000..c2daff2069 Binary files /dev/null and b/graphics/rayquaza_scene/chase_bg.bin differ diff --git a/graphics/rayquaza_scene/chase_bg.png b/graphics/rayquaza_scene/chase_bg.png new file mode 100644 index 0000000000..896c0b0468 Binary files /dev/null and b/graphics/rayquaza_scene/chase_bg.png differ diff --git a/graphics/rayquaza_scene/chase_streaks.bin b/graphics/rayquaza_scene/chase_streaks.bin new file mode 100644 index 0000000000..cabc53fec2 Binary files /dev/null and b/graphics/rayquaza_scene/chase_streaks.bin differ diff --git a/graphics/rayquaza_scene/chase_streaks.png b/graphics/rayquaza_scene/chase_streaks.png new file mode 100644 index 0000000000..a7e2162597 Binary files /dev/null and b/graphics/rayquaza_scene/chase_streaks.png differ diff --git a/graphics/rayquaza_scene/clouds.pal b/graphics/rayquaza_scene/clouds.pal new file mode 100644 index 0000000000..4b1a354ce6 --- /dev/null +++ b/graphics/rayquaza_scene/clouds.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +164 205 180 +82 82 90 +255 0 255 +205 115 0 +156 98 16 +98 82 32 +49 65 49 +0 49 65 +24 57 65 +49 65 74 +49 49 57 +74 74 82 +98 98 106 +115 115 131 +139 148 148 +0 0 0 +32 90 115 +131 131 131 +148 148 148 +172 172 172 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/rayquaza_scene/clouds.png b/graphics/rayquaza_scene/clouds.png new file mode 100644 index 0000000000..a253f47ccd Binary files /dev/null and b/graphics/rayquaza_scene/clouds.png differ diff --git a/graphics/rayquaza_scene/clouds1.bin b/graphics/rayquaza_scene/clouds1.bin new file mode 100644 index 0000000000..57a939ad80 Binary files /dev/null and b/graphics/rayquaza_scene/clouds1.bin differ diff --git a/graphics/rayquaza_scene/clouds2.bin b/graphics/rayquaza_scene/clouds2.bin new file mode 100644 index 0000000000..073c45ac75 Binary files /dev/null and b/graphics/rayquaza_scene/clouds2.bin differ diff --git a/graphics/rayquaza_scene/clouds3.bin b/graphics/rayquaza_scene/clouds3.bin new file mode 100644 index 0000000000..9b9eb46110 Binary files /dev/null and b/graphics/rayquaza_scene/clouds3.bin differ diff --git a/graphics/rayquaza_scene/groudon.png b/graphics/rayquaza_scene/groudon.png new file mode 100644 index 0000000000..5ac84d51a5 Binary files /dev/null and b/graphics/rayquaza_scene/groudon.png differ diff --git a/graphics/rayquaza_scene/groudon_claw.png b/graphics/rayquaza_scene/groudon_claw.png new file mode 100644 index 0000000000..c960a97799 Binary files /dev/null and b/graphics/rayquaza_scene/groudon_claw.png differ diff --git a/graphics/rayquaza_scene/groudon_left.png b/graphics/rayquaza_scene/groudon_left.png new file mode 100644 index 0000000000..582336d466 Binary files /dev/null and b/graphics/rayquaza_scene/groudon_left.png differ diff --git a/graphics/rayquaza_scene/groudon_shoulder.png b/graphics/rayquaza_scene/groudon_shoulder.png new file mode 100644 index 0000000000..c4c5f08b6c Binary files /dev/null and b/graphics/rayquaza_scene/groudon_shoulder.png differ diff --git a/graphics/rayquaza_scene/groudon_tail.png b/graphics/rayquaza_scene/groudon_tail.png new file mode 100644 index 0000000000..38f6a41b27 Binary files /dev/null and b/graphics/rayquaza_scene/groudon_tail.png differ diff --git a/graphics/rayquaza_scene/hush_bg.bin b/graphics/rayquaza_scene/hush_bg.bin new file mode 100644 index 0000000000..b9e86b907b Binary files /dev/null and b/graphics/rayquaza_scene/hush_bg.bin differ diff --git a/graphics/rayquaza_scene/hush_bg.pal b/graphics/rayquaza_scene/hush_bg.pal new file mode 100644 index 0000000000..b0b0602dd4 --- /dev/null +++ b/graphics/rayquaza_scene/hush_bg.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +156 156 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 164 197 +8 172 180 +24 189 156 +41 197 131 +57 205 106 +82 230 90 +115 255 82 +164 255 139 +213 255 197 +255 255 255 +0 0 0 +156 156 255 +74 74 189 +82 82 197 +90 90 197 +98 98 205 +106 106 205 +115 115 213 +131 131 213 +139 139 222 +148 148 222 +156 156 230 +164 164 230 +172 172 238 +180 180 238 +197 197 246 +0 0 0 +156 156 255 +57 82 57 +65 131 65 +74 148 123 +90 189 139 +148 222 180 +98 90 106 +172 41 57 +230 74 49 +246 98 98 +197 148 98 +222 213 238 +255 255 255 +222 205 0 +255 238 0 +24 24 24 diff --git a/graphics/rayquaza_scene/hush_bg.png b/graphics/rayquaza_scene/hush_bg.png new file mode 100644 index 0000000000..7ead765b95 Binary files /dev/null and b/graphics/rayquaza_scene/hush_bg.png differ diff --git a/graphics/rayquaza_scene/hush_ring.bin b/graphics/rayquaza_scene/hush_ring.bin new file mode 100644 index 0000000000..22f5530bae Binary files /dev/null and b/graphics/rayquaza_scene/hush_ring.bin differ diff --git a/graphics/rayquaza_scene/hush_ring.png b/graphics/rayquaza_scene/hush_ring.png new file mode 100644 index 0000000000..93d734e039 Binary files /dev/null and b/graphics/rayquaza_scene/hush_ring.png differ diff --git a/graphics/rayquaza_scene/hush_ring_map.bin b/graphics/rayquaza_scene/hush_ring_map.bin new file mode 100644 index 0000000000..812fda11de Binary files /dev/null and b/graphics/rayquaza_scene/hush_ring_map.bin differ diff --git a/graphics/rayquaza_scene/kyogre.png b/graphics/rayquaza_scene/kyogre.png new file mode 100644 index 0000000000..0f2e27e4e2 Binary files /dev/null and b/graphics/rayquaza_scene/kyogre.png differ diff --git a/graphics/rayquaza_scene/kyogre_fin.png b/graphics/rayquaza_scene/kyogre_fin.png new file mode 100644 index 0000000000..9d4f62da96 Binary files /dev/null and b/graphics/rayquaza_scene/kyogre_fin.png differ diff --git a/graphics/rayquaza_scene/kyogre_right.png b/graphics/rayquaza_scene/kyogre_right.png new file mode 100644 index 0000000000..d5e1749e92 Binary files /dev/null and b/graphics/rayquaza_scene/kyogre_right.png differ diff --git a/graphics/rayquaza_scene/kyogre_shoulder.png b/graphics/rayquaza_scene/kyogre_shoulder.png new file mode 100644 index 0000000000..16b221f97b Binary files /dev/null and b/graphics/rayquaza_scene/kyogre_shoulder.png differ diff --git a/graphics/rayquaza_scene/overcast.bin b/graphics/rayquaza_scene/overcast.bin new file mode 100644 index 0000000000..82b9e50672 Binary files /dev/null and b/graphics/rayquaza_scene/overcast.bin differ diff --git a/graphics/rayquaza_scene/overcast.png b/graphics/rayquaza_scene/overcast.png new file mode 100644 index 0000000000..4ad9be8d22 Binary files /dev/null and b/graphics/rayquaza_scene/overcast.png differ diff --git a/graphics/rayquaza_scene/overcast2.bin b/graphics/rayquaza_scene/overcast2.bin new file mode 100644 index 0000000000..0c2e5ec453 Binary files /dev/null and b/graphics/rayquaza_scene/overcast2.bin differ diff --git a/graphics/rayquaza_scene/overcast2.pal b/graphics/rayquaza_scene/overcast2.pal new file mode 100644 index 0000000000..6987c2cc11 --- /dev/null +++ b/graphics/rayquaza_scene/overcast2.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +164 205 180 +255 255 255 +197 197 197 +106 164 197 +98 148 172 +82 123 148 +74 106 123 +49 82 90 +139 148 148 +49 65 74 +49 49 57 +74 74 82 +98 98 106 +115 115 131 +156 164 164 +0 0 0 +164 205 180 +255 255 255 +197 255 222 +139 255 180 +82 255 148 +24 246 106 +24 205 82 +32 164 57 +41 123 41 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/rayquaza_scene/overcast2.png b/graphics/rayquaza_scene/overcast2.png new file mode 100644 index 0000000000..c9dea20027 Binary files /dev/null and b/graphics/rayquaza_scene/overcast2.png differ diff --git a/graphics/rayquaza_scene/rayquaza.bin b/graphics/rayquaza_scene/rayquaza.bin new file mode 100644 index 0000000000..1a6d892347 Binary files /dev/null and b/graphics/rayquaza_scene/rayquaza.bin differ diff --git a/graphics/rayquaza_scene/rayquaza.png b/graphics/rayquaza_scene/rayquaza.png new file mode 100644 index 0000000000..6198b945db Binary files /dev/null and b/graphics/rayquaza_scene/rayquaza.png differ diff --git a/graphics/rayquaza_scene/rayquaza_chase.bin b/graphics/rayquaza_scene/rayquaza_chase.bin new file mode 100644 index 0000000000..51307a4c1c Binary files /dev/null and b/graphics/rayquaza_scene/rayquaza_chase.bin differ diff --git a/graphics/rayquaza_scene/rayquaza_chase.png b/graphics/rayquaza_scene/rayquaza_chase.png new file mode 100644 index 0000000000..154a105a80 Binary files /dev/null and b/graphics/rayquaza_scene/rayquaza_chase.png differ diff --git a/graphics/rayquaza_scene/rayquaza_chase2.bin b/graphics/rayquaza_scene/rayquaza_chase2.bin new file mode 100644 index 0000000000..37416ac1bc Binary files /dev/null and b/graphics/rayquaza_scene/rayquaza_chase2.bin differ diff --git a/graphics/rayquaza_scene/rayquaza_fly1.png b/graphics/rayquaza_scene/rayquaza_fly1.png new file mode 100644 index 0000000000..40dd0a6e3c Binary files /dev/null and b/graphics/rayquaza_scene/rayquaza_fly1.png differ diff --git a/graphics/rayquaza_scene/rayquaza_flyin.png b/graphics/rayquaza_scene/rayquaza_flyin.png new file mode 100644 index 0000000000..f1b44c104e Binary files /dev/null and b/graphics/rayquaza_scene/rayquaza_flyin.png differ diff --git a/graphics/rayquaza_scene/rayquaza_hover.png b/graphics/rayquaza_scene/rayquaza_hover.png new file mode 100644 index 0000000000..269d7dd2de Binary files /dev/null and b/graphics/rayquaza_scene/rayquaza_hover.png differ diff --git a/graphics/rayquaza_scene/rayquaza_light.bin b/graphics/rayquaza_scene/rayquaza_light.bin new file mode 100644 index 0000000000..97808b8b9c Binary files /dev/null and b/graphics/rayquaza_scene/rayquaza_light.bin differ diff --git a/graphics/rayquaza_scene/rayquaza_light.png b/graphics/rayquaza_scene/rayquaza_light.png new file mode 100644 index 0000000000..4640149f32 Binary files /dev/null and b/graphics/rayquaza_scene/rayquaza_light.png differ diff --git a/graphics/rayquaza_scene/rayquaza_tail.png b/graphics/rayquaza_scene/rayquaza_tail.png new file mode 100644 index 0000000000..7e0577df15 Binary files /dev/null and b/graphics/rayquaza_scene/rayquaza_tail.png differ diff --git a/graphics/rayquaza_scene/smoke.png b/graphics/rayquaza_scene/smoke.png new file mode 100644 index 0000000000..4aaa6ae750 Binary files /dev/null and b/graphics/rayquaza_scene/smoke.png differ diff --git a/graphics/rayquaza_scene/splash.png b/graphics/rayquaza_scene/splash.png new file mode 100644 index 0000000000..406af9da3f Binary files /dev/null and b/graphics/rayquaza_scene/splash.png differ diff --git a/graphics/roulette/85B5BFC.pal b/graphics/roulette/85B5BFC.pal new file mode 100644 index 0000000000..ed68618ff0 --- /dev/null +++ b/graphics/roulette/85B5BFC.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +82 156 49 +41 41 41 +98 98 115 +172 180 197 +255 255 255 +255 205 41 +255 172 0 +213 164 65 +205 164 82 +139 106 65 +131 222 189 +74 189 156 +115 189 148 +123 180 172 +74 115 115 +255 255 0 +74 106 156 +41 41 41 +98 98 115 +156 156 164 +255 255 255 +205 156 205 +164 106 164 +172 131 164 +156 123 156 +90 57 106 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +74 106 156 +41 41 41 +123 123 131 +172 180 197 +255 255 255 +238 238 156 +189 180 106 +131 90 32 +255 131 90 +189 106 98 +230 222 255 +74 189 156 +255 255 255 +123 180 172 +255 255 255 +255 255 255 +74 106 156 +57 57 65 +98 98 115 +156 156 164 +255 255 255 +106 205 205 +246 98 90 +106 156 255 +255 255 255 +156 255 106 +246 230 74 +255 230 123 +255 255 255 +255 255 156 +156 255 148 +205 156 255 +74 106 156 +41 41 41 +98 98 115 +205 205 213 +255 255 255 +123 238 139 +255 172 139 +16 156 74 +197 164 255 +49 106 32 +115 197 131 +197 139 189 +255 82 57 +255 238 82 +205 180 8 +255 205 8 +74 106 156 +106 139 230 +82 115 205 +255 255 255 +255 255 255 +255 205 41 +255 172 0 +213 164 65 +205 164 82 +139 106 65 +131 222 189 +74 189 156 +115 189 148 +123 180 172 +74 115 115 +255 255 255 +74 106 156 +255 246 65 +255 255 164 +255 246 65 +255 255 255 +205 156 205 +164 106 164 +172 131 164 +156 123 156 +90 57 106 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +65 65 57 +74 106 156 +172 255 238 +222 255 255 +148 255 238 +255 255 255 +255 205 41 +255 172 0 +213 164 65 +205 164 82 +139 106 65 +131 222 189 +74 189 156 +115 189 148 +123 180 172 +74 115 115 +65 65 57 +74 106 156 +255 205 255 +255 222 255 +255 197 255 +255 255 255 +205 156 205 +164 106 164 +172 131 164 +156 123 156 +90 57 106 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +65 65 57 +74 106 156 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 205 41 +255 172 0 +213 164 65 +205 164 82 +139 106 65 +131 222 189 +74 189 156 +115 189 148 +123 180 172 +74 115 115 +255 255 255 +74 106 156 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +205 156 205 +164 106 164 +172 131 164 +156 123 156 +90 57 106 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +74 106 156 +255 246 82 +164 255 222 +172 180 197 +255 255 255 +255 246 65 +246 205 24 +238 197 98 +205 172 90 +164 131 90 +156 246 222 +90 213 180 +131 222 172 +115 189 156 +98 148 148 +65 65 57 +74 106 156 +238 189 238 +156 148 148 +172 180 197 +255 255 255 +255 205 255 +222 156 230 +197 156 197 +172 139 172 +139 106 148 +205 205 230 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +65 65 57 +74 106 156 +238 230 246 +205 205 230 +172 180 197 +255 255 255 +255 255 230 +255 255 164 +255 255 255 +222 255 255 +255 246 255 +255 222 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +65 65 57 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/roulette/85B5DFC.bin b/graphics/roulette/85B5DFC.bin new file mode 100644 index 0000000000..6950027c31 Binary files /dev/null and b/graphics/roulette/85B5DFC.bin differ diff --git a/graphics/roulette/85B65D0.pal b/graphics/roulette/85B65D0.pal new file mode 100644 index 0000000000..9d44b25c88 --- /dev/null +++ b/graphics/roulette/85B65D0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +74 106 156 +57 57 65 +106 106 123 +255 255 164 +106 222 222 +246 98 90 +222 255 255 +106 222 222 +246 98 90 +255 222 255 +106 222 222 +246 98 90 +222 222 230 +222 222 230 +222 222 230 +222 222 230 diff --git a/graphics/roulette/85B65F0.pal b/graphics/roulette/85B65F0.pal new file mode 100644 index 0000000000..81b0328a5a --- /dev/null +++ b/graphics/roulette/85B65F0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +74 106 156 +57 57 65 +106 106 123 +255 255 164 +106 156 255 +222 222 230 +222 255 255 +106 156 255 +222 222 230 +255 222 255 +106 156 255 +222 222 230 +222 222 230 +222 222 230 +222 222 230 +222 222 230 diff --git a/graphics/roulette/85B6610.pal b/graphics/roulette/85B6610.pal new file mode 100644 index 0000000000..42a1bae947 --- /dev/null +++ b/graphics/roulette/85B6610.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +74 106 156 +57 57 65 +106 106 123 +255 255 164 +255 156 139 +246 246 156 +222 255 255 +255 156 139 +246 246 156 +255 222 255 +255 156 139 +246 246 156 +222 222 230 +222 222 230 +222 222 230 +222 222 230 diff --git a/graphics/roulette/85B6630.pal b/graphics/roulette/85B6630.pal new file mode 100644 index 0000000000..ff76379c88 --- /dev/null +++ b/graphics/roulette/85B6630.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +74 106 156 +57 57 65 +106 106 123 +255 255 164 +255 230 123 +222 222 230 +222 255 255 +255 230 123 +222 222 230 +255 222 255 +255 230 123 +222 222 230 +222 222 230 +222 222 230 +222 222 230 +222 222 230 diff --git a/graphics/roulette/azurill.png b/graphics/roulette/azurill.png new file mode 100644 index 0000000000..b99bc1a33a Binary files /dev/null and b/graphics/roulette/azurill.png differ diff --git a/graphics/roulette/ball.png b/graphics/roulette/ball.png new file mode 100644 index 0000000000..2352e9be5a Binary files /dev/null and b/graphics/roulette/ball.png differ diff --git a/graphics/roulette/ball_counter.png b/graphics/roulette/ball_counter.png new file mode 100644 index 0000000000..30c88b894a Binary files /dev/null and b/graphics/roulette/ball_counter.png differ diff --git a/graphics/roulette/center.png b/graphics/roulette/center.png new file mode 100644 index 0000000000..0653b0e972 Binary files /dev/null and b/graphics/roulette/center.png differ diff --git a/graphics/roulette/credit.png b/graphics/roulette/credit.png new file mode 100644 index 0000000000..687d479344 Binary files /dev/null and b/graphics/roulette/credit.png differ diff --git a/graphics/roulette/cursor.png b/graphics/roulette/cursor.png new file mode 100644 index 0000000000..962ebb2c7e Binary files /dev/null and b/graphics/roulette/cursor.png differ diff --git a/graphics/roulette/headers.png b/graphics/roulette/headers.png new file mode 100644 index 0000000000..70f5fec90e Binary files /dev/null and b/graphics/roulette/headers.png differ diff --git a/graphics/roulette/makuhita.png b/graphics/roulette/makuhita.png new file mode 100644 index 0000000000..756157496e Binary files /dev/null and b/graphics/roulette/makuhita.png differ diff --git a/graphics/roulette/multiplier.png b/graphics/roulette/multiplier.png new file mode 100644 index 0000000000..b993f80914 Binary files /dev/null and b/graphics/roulette/multiplier.png differ diff --git a/graphics/roulette/numbers.png b/graphics/roulette/numbers.png new file mode 100644 index 0000000000..97d0b0e03d Binary files /dev/null and b/graphics/roulette/numbers.png differ diff --git a/graphics/roulette/poke_icons.png b/graphics/roulette/poke_icons.png new file mode 100644 index 0000000000..91a2f301f6 Binary files /dev/null and b/graphics/roulette/poke_icons.png differ diff --git a/graphics/roulette/shadow.png b/graphics/roulette/shadow.png new file mode 100644 index 0000000000..d3793b1c86 Binary files /dev/null and b/graphics/roulette/shadow.png differ diff --git a/graphics/roulette/shroomish.png b/graphics/roulette/shroomish.png new file mode 100644 index 0000000000..12ee2a870d Binary files /dev/null and b/graphics/roulette/shroomish.png differ diff --git a/graphics/roulette/skitty.png b/graphics/roulette/skitty.png new file mode 100644 index 0000000000..a1d6f1ab53 Binary files /dev/null and b/graphics/roulette/skitty.png differ diff --git a/graphics/roulette/tailow.png b/graphics/roulette/tailow.png new file mode 100644 index 0000000000..acd2fc4ba6 Binary files /dev/null and b/graphics/roulette/tailow.png differ diff --git a/graphics/roulette/wheel.png b/graphics/roulette/wheel.png new file mode 100644 index 0000000000..a0f121843d Binary files /dev/null and b/graphics/roulette/wheel.png differ diff --git a/graphics/roulette/wheel_map.bin b/graphics/roulette/wheel_map.bin new file mode 100644 index 0000000000..53d919545d Binary files /dev/null and b/graphics/roulette/wheel_map.bin differ diff --git a/graphics/roulette/window.png b/graphics/roulette/window.png new file mode 100644 index 0000000000..561c73bc20 Binary files /dev/null and b/graphics/roulette/window.png differ diff --git a/graphics/roulette/wynaut.png b/graphics/roulette/wynaut.png new file mode 100644 index 0000000000..8ba7d3c0f5 Binary files /dev/null and b/graphics/roulette/wynaut.png differ diff --git a/graphics/slot_machine/85A843E.pal b/graphics/slot_machine/85A843E.pal new file mode 100644 index 0000000000..e4d2436c7b --- /dev/null +++ b/graphics/slot_machine/85A843E.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +131 213 172 +255 255 131 +255 180 65 +255 255 255 +255 255 131 +255 255 131 +255 180 65 +255 180 65 +255 90 0 +255 90 0 +222 41 0 +255 0 255 +156 0 0 +0 0 0 diff --git a/graphics/slot_machine/85A845E.pal b/graphics/slot_machine/85A845E.pal new file mode 100644 index 0000000000..db8703d479 --- /dev/null +++ b/graphics/slot_machine/85A845E.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +131 213 172 +255 180 65 +255 90 0 +255 255 131 +255 180 65 +255 255 255 +255 255 131 +255 255 131 +255 180 65 +255 180 65 +255 90 0 +255 0 255 +156 0 0 +0 0 0 diff --git a/graphics/slot_machine/85A847E.pal b/graphics/slot_machine/85A847E.pal new file mode 100644 index 0000000000..4bb9a0b4d8 --- /dev/null +++ b/graphics/slot_machine/85A847E.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +222 222 222 +255 255 255 +131 213 172 +255 90 0 +222 41 0 +255 180 65 +255 90 0 +255 255 131 +255 180 65 +255 255 255 +255 255 131 +255 255 131 +255 180 65 +255 0 255 +156 0 0 +0 0 0 diff --git a/graphics/slot_machine/85A84B0.pal b/graphics/slot_machine/85A84B0.pal new file mode 100644 index 0000000000..3e1dbc0248 --- /dev/null +++ b/graphics/slot_machine/85A84B0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 98 90 +255 189 16 +131 0 0 +255 189 16 +197 65 16 +197 65 16 +197 65 16 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +0 0 0 diff --git a/graphics/slot_machine/85A84D0.pal b/graphics/slot_machine/85A84D0.pal new file mode 100644 index 0000000000..38b1c125da --- /dev/null +++ b/graphics/slot_machine/85A84D0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 98 90 +255 189 16 +131 0 0 +197 65 16 +255 189 16 +197 65 16 +197 65 16 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +0 0 0 diff --git a/graphics/slot_machine/85A84F0.pal b/graphics/slot_machine/85A84F0.pal new file mode 100644 index 0000000000..f4abe23f18 --- /dev/null +++ b/graphics/slot_machine/85A84F0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 98 90 +255 189 16 +131 0 0 +197 65 16 +197 65 16 +255 189 16 +197 65 16 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +0 0 0 diff --git a/graphics/slot_machine/85A8524.bin b/graphics/slot_machine/85A8524.bin new file mode 100644 index 0000000000..0325642780 Binary files /dev/null and b/graphics/slot_machine/85A8524.bin differ diff --git a/graphics/slot_machine/85A8524.pal b/graphics/slot_machine/85A8524.pal new file mode 100644 index 0000000000..b93d15ddc3 --- /dev/null +++ b/graphics/slot_machine/85A8524.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +0 0 0 +65 65 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/slot_machine/85A96E0.bin b/graphics/slot_machine/85A96E0.bin new file mode 100644 index 0000000000..3aa89e7b40 --- /dev/null +++ b/graphics/slot_machine/85A96E0.bin @@ -0,0 +1 @@ +0000000000000000000400000000000000000004000000000000000000040000000000000000000400000000000000000004000000000000000000040000000000000000000400000000000000000004000000000000000000040000000000000000000400000000000000000004 \ No newline at end of file diff --git a/graphics/slot_machine/bolt.png b/graphics/slot_machine/bolt.png new file mode 100644 index 0000000000..1afda23085 Binary files /dev/null and b/graphics/slot_machine/bolt.png differ diff --git a/graphics/slot_machine/duck.png b/graphics/slot_machine/duck.png new file mode 100644 index 0000000000..1bf2afc300 Binary files /dev/null and b/graphics/slot_machine/duck.png differ diff --git a/graphics/slot_machine/large_bolt/0.png b/graphics/slot_machine/large_bolt/0.png new file mode 100644 index 0000000000..6d833c264d Binary files /dev/null and b/graphics/slot_machine/large_bolt/0.png differ diff --git a/graphics/slot_machine/large_bolt/1.png b/graphics/slot_machine/large_bolt/1.png new file mode 100644 index 0000000000..706f3fe8bb Binary files /dev/null and b/graphics/slot_machine/large_bolt/1.png differ diff --git a/graphics/slot_machine/menu.bin b/graphics/slot_machine/menu.bin new file mode 100644 index 0000000000..a7ec955081 Binary files /dev/null and b/graphics/slot_machine/menu.bin differ diff --git a/graphics/slot_machine/menu.pal b/graphics/slot_machine/menu.pal new file mode 100644 index 0000000000..56a9d31d02 --- /dev/null +++ b/graphics/slot_machine/menu.pal @@ -0,0 +1,83 @@ +JASC-PAL +0100 +80 +0 0 0 +57 57 49 +230 230 230 +255 255 255 +131 213 172 +49 123 74 +90 172 106 +255 0 255 +90 172 106 +255 164 41 +255 98 57 +255 197 156 +172 57 0 +0 65 24 +98 98 90 +0 0 0 +222 222 222 +255 255 255 +131 213 172 +255 90 0 +222 41 0 +255 90 0 +222 41 0 +255 90 0 +222 41 0 +255 90 0 +222 41 0 +255 90 0 +222 41 0 +255 0 255 +156 0 0 +0 0 0 +0 0 0 +255 255 255 +74 74 213 +115 172 255 +115 164 74 +156 238 74 +230 65 24 +255 164 41 +255 238 32 +131 213 172 +189 189 189 +156 156 156 +123 123 123 +90 90 90 +65 65 65 +0 0 0 +255 0 255 +255 255 255 +65 164 82 +139 230 139 +139 230 139 +148 238 148 +164 246 164 +180 246 180 +189 246 189 +205 255 205 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +0 0 0 +222 222 222 +65 90 213 +90 172 106 +255 255 255 +131 213 172 +0 98 115 +90 90 0 +90 90 0 +156 16 0 +156 16 0 +106 156 246 +205 205 0 +205 205 0 +246 106 74 +246 106 74 +0 0 0 diff --git a/graphics/slot_machine/menu.png b/graphics/slot_machine/menu.png new file mode 100644 index 0000000000..08aa5989d6 Binary files /dev/null and b/graphics/slot_machine/menu.png differ diff --git a/graphics/slot_machine/numbers/0.png b/graphics/slot_machine/numbers/0.png new file mode 100644 index 0000000000..07c668eea1 Binary files /dev/null and b/graphics/slot_machine/numbers/0.png differ diff --git a/graphics/slot_machine/numbers/1.png b/graphics/slot_machine/numbers/1.png new file mode 100644 index 0000000000..0aa67e2014 Binary files /dev/null and b/graphics/slot_machine/numbers/1.png differ diff --git a/graphics/slot_machine/numbers/2.png b/graphics/slot_machine/numbers/2.png new file mode 100644 index 0000000000..0ff2a02653 Binary files /dev/null and b/graphics/slot_machine/numbers/2.png differ diff --git a/graphics/slot_machine/numbers/3.png b/graphics/slot_machine/numbers/3.png new file mode 100644 index 0000000000..ea5f1e496f Binary files /dev/null and b/graphics/slot_machine/numbers/3.png differ diff --git a/graphics/slot_machine/numbers/4.png b/graphics/slot_machine/numbers/4.png new file mode 100644 index 0000000000..d5353c752f Binary files /dev/null and b/graphics/slot_machine/numbers/4.png differ diff --git a/graphics/slot_machine/numbers/5.png b/graphics/slot_machine/numbers/5.png new file mode 100644 index 0000000000..121a7b3c9e Binary files /dev/null and b/graphics/slot_machine/numbers/5.png differ diff --git a/graphics/slot_machine/numbers/6.png b/graphics/slot_machine/numbers/6.png new file mode 100644 index 0000000000..95a9ae0ff9 Binary files /dev/null and b/graphics/slot_machine/numbers/6.png differ diff --git a/graphics/slot_machine/numbers/7.png b/graphics/slot_machine/numbers/7.png new file mode 100644 index 0000000000..1b8b77b2a9 Binary files /dev/null and b/graphics/slot_machine/numbers/7.png differ diff --git a/graphics/slot_machine/numbers/8.png b/graphics/slot_machine/numbers/8.png new file mode 100644 index 0000000000..17fe7938f9 Binary files /dev/null and b/graphics/slot_machine/numbers/8.png differ diff --git a/graphics/slot_machine/numbers/9.png b/graphics/slot_machine/numbers/9.png new file mode 100644 index 0000000000..f684e0be71 Binary files /dev/null and b/graphics/slot_machine/numbers/9.png differ diff --git a/graphics/slot_machine/pika_aura.png b/graphics/slot_machine/pika_aura.png new file mode 100644 index 0000000000..710d902564 Binary files /dev/null and b/graphics/slot_machine/pika_aura.png differ diff --git a/graphics/slot_machine/reel_pikachu.png b/graphics/slot_machine/reel_pikachu.png new file mode 100644 index 0000000000..29b004c84c Binary files /dev/null and b/graphics/slot_machine/reel_pikachu.png differ diff --git a/graphics/slot_machine/reel_symbols/1.png b/graphics/slot_machine/reel_symbols/1.png new file mode 100644 index 0000000000..73e9d33453 Binary files /dev/null and b/graphics/slot_machine/reel_symbols/1.png differ diff --git a/graphics/slot_machine/reel_symbols/2.png b/graphics/slot_machine/reel_symbols/2.png new file mode 100644 index 0000000000..866f4cead0 Binary files /dev/null and b/graphics/slot_machine/reel_symbols/2.png differ diff --git a/graphics/slot_machine/reel_symbols/3.png b/graphics/slot_machine/reel_symbols/3.png new file mode 100644 index 0000000000..9641dc4c50 Binary files /dev/null and b/graphics/slot_machine/reel_symbols/3.png differ diff --git a/graphics/slot_machine/reel_symbols/4.png b/graphics/slot_machine/reel_symbols/4.png new file mode 100644 index 0000000000..b3319e0e4e Binary files /dev/null and b/graphics/slot_machine/reel_symbols/4.png differ diff --git a/graphics/slot_machine/reel_symbols/5.png b/graphics/slot_machine/reel_symbols/5.png new file mode 100644 index 0000000000..16ae0f3187 Binary files /dev/null and b/graphics/slot_machine/reel_symbols/5.png differ diff --git a/graphics/slot_machine/reel_symbols/6.png b/graphics/slot_machine/reel_symbols/6.png new file mode 100644 index 0000000000..3d170585f9 Binary files /dev/null and b/graphics/slot_machine/reel_symbols/6.png differ diff --git a/graphics/slot_machine/reel_symbols/7.png b/graphics/slot_machine/reel_symbols/7.png new file mode 100644 index 0000000000..e6535b3802 Binary files /dev/null and b/graphics/slot_machine/reel_symbols/7.png differ diff --git a/graphics/slot_machine/reel_time.png b/graphics/slot_machine/reel_time.png new file mode 100644 index 0000000000..4ba92175f0 Binary files /dev/null and b/graphics/slot_machine/reel_time.png differ diff --git a/graphics/slot_machine/reel_time_explosion/0.png b/graphics/slot_machine/reel_time_explosion/0.png new file mode 100644 index 0000000000..163b7ab66b Binary files /dev/null and b/graphics/slot_machine/reel_time_explosion/0.png differ diff --git a/graphics/slot_machine/reel_time_explosion/1.png b/graphics/slot_machine/reel_time_explosion/1.png new file mode 100644 index 0000000000..33492bc45c Binary files /dev/null and b/graphics/slot_machine/reel_time_explosion/1.png differ diff --git a/graphics/slot_machine/reel_time_machine.png b/graphics/slot_machine/reel_time_machine.png new file mode 100644 index 0000000000..59279ccef3 Binary files /dev/null and b/graphics/slot_machine/reel_time_machine.png differ diff --git a/graphics/slot_machine/reel_time_numbers/0.png b/graphics/slot_machine/reel_time_numbers/0.png new file mode 100644 index 0000000000..117a625b8f Binary files /dev/null and b/graphics/slot_machine/reel_time_numbers/0.png differ diff --git a/graphics/slot_machine/reel_time_numbers/1.png b/graphics/slot_machine/reel_time_numbers/1.png new file mode 100644 index 0000000000..5527465e79 Binary files /dev/null and b/graphics/slot_machine/reel_time_numbers/1.png differ diff --git a/graphics/slot_machine/reel_time_numbers/2.png b/graphics/slot_machine/reel_time_numbers/2.png new file mode 100644 index 0000000000..f424b5ff91 Binary files /dev/null and b/graphics/slot_machine/reel_time_numbers/2.png differ diff --git a/graphics/slot_machine/reel_time_numbers/3.png b/graphics/slot_machine/reel_time_numbers/3.png new file mode 100644 index 0000000000..281273f7d7 Binary files /dev/null and b/graphics/slot_machine/reel_time_numbers/3.png differ diff --git a/graphics/slot_machine/reel_time_numbers/4.png b/graphics/slot_machine/reel_time_numbers/4.png new file mode 100644 index 0000000000..772692ac4f Binary files /dev/null and b/graphics/slot_machine/reel_time_numbers/4.png differ diff --git a/graphics/slot_machine/reel_time_numbers/5.png b/graphics/slot_machine/reel_time_numbers/5.png new file mode 100644 index 0000000000..21e2b2940e Binary files /dev/null and b/graphics/slot_machine/reel_time_numbers/5.png differ diff --git a/graphics/slot_machine/reel_time_pikachu.png b/graphics/slot_machine/reel_time_pikachu.png new file mode 100644 index 0000000000..29b004c84c Binary files /dev/null and b/graphics/slot_machine/reel_time_pikachu.png differ diff --git a/graphics/slot_machine/shadow.png b/graphics/slot_machine/shadow.png new file mode 100644 index 0000000000..a7862ab305 Binary files /dev/null and b/graphics/slot_machine/shadow.png differ diff --git a/graphics/slot_machine/slots_layout.bin b/graphics/slot_machine/slots_layout.bin new file mode 100644 index 0000000000..4009d81774 Binary files /dev/null and b/graphics/slot_machine/slots_layout.bin differ diff --git a/graphics/slot_machine/smoke.png b/graphics/slot_machine/smoke.png new file mode 100644 index 0000000000..d38690d91a Binary files /dev/null and b/graphics/slot_machine/smoke.png differ diff --git a/graphics/slot_machine/spr6.pal b/graphics/slot_machine/spr6.pal new file mode 100644 index 0000000000..4f74a30792 --- /dev/null +++ b/graphics/slot_machine/spr6.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 98 90 +255 189 16 +131 0 0 +197 65 16 +197 65 16 +197 65 16 +197 65 16 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +0 0 0 diff --git a/graphics/spinda_spots/spot_0.bin b/graphics/spinda_spots/spot_0.bin new file mode 100644 index 0000000000..938d1d5923 Binary files /dev/null and b/graphics/spinda_spots/spot_0.bin differ diff --git a/graphics/spinda_spots/spot_1.bin b/graphics/spinda_spots/spot_1.bin new file mode 100644 index 0000000000..db46b5de4d Binary files /dev/null and b/graphics/spinda_spots/spot_1.bin differ diff --git a/graphics/spinda_spots/spot_2.bin b/graphics/spinda_spots/spot_2.bin new file mode 100644 index 0000000000..3b1bf72143 Binary files /dev/null and b/graphics/spinda_spots/spot_2.bin differ diff --git a/graphics/spinda_spots/spot_3.bin b/graphics/spinda_spots/spot_3.bin new file mode 100644 index 0000000000..10c73f9bad Binary files /dev/null and b/graphics/spinda_spots/spot_3.bin differ diff --git a/graphics/text_window/1.png b/graphics/text_window/1.png new file mode 100644 index 0000000000..5d8020eff5 Binary files /dev/null and b/graphics/text_window/1.png differ diff --git a/graphics/text_window/10.png b/graphics/text_window/10.png new file mode 100644 index 0000000000..b01a75c6a6 Binary files /dev/null and b/graphics/text_window/10.png differ diff --git a/graphics/text_window/11.png b/graphics/text_window/11.png new file mode 100644 index 0000000000..a0e576fce4 Binary files /dev/null and b/graphics/text_window/11.png differ diff --git a/graphics/text_window/12.png b/graphics/text_window/12.png new file mode 100644 index 0000000000..8bff592bac Binary files /dev/null and b/graphics/text_window/12.png differ diff --git a/graphics/text_window/13.png b/graphics/text_window/13.png new file mode 100644 index 0000000000..706d134514 Binary files /dev/null and b/graphics/text_window/13.png differ diff --git a/graphics/text_window/14.png b/graphics/text_window/14.png new file mode 100644 index 0000000000..d508622507 Binary files /dev/null and b/graphics/text_window/14.png differ diff --git a/graphics/text_window/15.png b/graphics/text_window/15.png new file mode 100644 index 0000000000..b5d2dbfcd9 Binary files /dev/null and b/graphics/text_window/15.png differ diff --git a/graphics/text_window/16.png b/graphics/text_window/16.png new file mode 100644 index 0000000000..eb8ed2ceae Binary files /dev/null and b/graphics/text_window/16.png differ diff --git a/graphics/text_window/17.png b/graphics/text_window/17.png new file mode 100644 index 0000000000..62211b4310 Binary files /dev/null and b/graphics/text_window/17.png differ diff --git a/graphics/text_window/18.png b/graphics/text_window/18.png new file mode 100644 index 0000000000..c03fd75f5f Binary files /dev/null and b/graphics/text_window/18.png differ diff --git a/graphics/text_window/19.png b/graphics/text_window/19.png new file mode 100644 index 0000000000..e60d8d579d Binary files /dev/null and b/graphics/text_window/19.png differ diff --git a/graphics/text_window/2.png b/graphics/text_window/2.png new file mode 100644 index 0000000000..5e89b4116b Binary files /dev/null and b/graphics/text_window/2.png differ diff --git a/graphics/text_window/20.png b/graphics/text_window/20.png new file mode 100644 index 0000000000..5786ae1402 Binary files /dev/null and b/graphics/text_window/20.png differ diff --git a/graphics/text_window/3.png b/graphics/text_window/3.png new file mode 100644 index 0000000000..b7af18de73 Binary files /dev/null and b/graphics/text_window/3.png differ diff --git a/graphics/text_window/4.png b/graphics/text_window/4.png new file mode 100644 index 0000000000..c33ed48afe Binary files /dev/null and b/graphics/text_window/4.png differ diff --git a/graphics/text_window/5.png b/graphics/text_window/5.png new file mode 100644 index 0000000000..94a0bcdd9b Binary files /dev/null and b/graphics/text_window/5.png differ diff --git a/graphics/text_window/6.png b/graphics/text_window/6.png new file mode 100644 index 0000000000..a0be4e49d7 Binary files /dev/null and b/graphics/text_window/6.png differ diff --git a/graphics/text_window/7.png b/graphics/text_window/7.png new file mode 100644 index 0000000000..514f8b554f Binary files /dev/null and b/graphics/text_window/7.png differ diff --git a/graphics/text_window/8.png b/graphics/text_window/8.png new file mode 100644 index 0000000000..480751a02b Binary files /dev/null and b/graphics/text_window/8.png differ diff --git a/graphics/text_window/9.png b/graphics/text_window/9.png new file mode 100644 index 0000000000..7ac3ba811e Binary files /dev/null and b/graphics/text_window/9.png differ diff --git a/graphics/text_window/message_box.png b/graphics/text_window/message_box.png new file mode 100644 index 0000000000..edc2d3d3af Binary files /dev/null and b/graphics/text_window/message_box.png differ diff --git a/graphics/text_window/text_pal1.pal b/graphics/text_window/text_pal1.pal new file mode 100644 index 0000000000..df5d3c3377 --- /dev/null +++ b/graphics/text_window/text_pal1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 205 164 +255 255 255 +98 98 98 +213 213 205 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +255 255 255 +205 205 222 +205 205 222 +230 246 255 +205 205 222 +106 115 123 diff --git a/graphics/text_window/text_pal2.pal b/graphics/text_window/text_pal2.pal new file mode 100644 index 0000000000..25f63978aa --- /dev/null +++ b/graphics/text_window/text_pal2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 205 164 +255 255 255 +98 98 98 +213 213 205 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +255 255 255 +74 205 238 +49 164 238 +0 90 131 +24 98 197 +16 115 230 diff --git a/graphics/text_window/text_pal3.pal b/graphics/text_window/text_pal3.pal new file mode 100644 index 0000000000..9cbcdad4ca --- /dev/null +++ b/graphics/text_window/text_pal3.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 205 164 +255 255 255 +98 98 98 +213 213 205 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +255 0 255 +205 213 213 +156 205 222 +98 115 123 +65 172 230 +131 164 180 diff --git a/graphics/text_window/text_pal4.pal b/graphics/text_window/text_pal4.pal new file mode 100644 index 0000000000..a004a081a9 --- /dev/null +++ b/graphics/text_window/text_pal4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 205 164 +255 255 255 +98 98 98 +213 213 205 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +57 98 115 +131 131 131 +164 164 164 +197 197 205 +230 230 238 +65 90 106 diff --git a/graphics/title_screen/emerald_version.pal b/graphics/title_screen/emerald_version.pal deleted file mode 100644 index c5ed9a5826..0000000000 --- a/graphics/title_screen/emerald_version.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -255 74 238 -156 156 156 -90 90 90 -222 222 222 -24 16 24 -74 74 74 -238 238 238 -41 41 41 -172 172 172 -106 106 106 -189 189 189 -139 139 139 -205 205 205 -123 123 123 -65 57 57 -255 255 255 diff --git a/graphics/title_screen/press_start.pal b/graphics/title_screen/press_start.pal deleted file mode 100644 index 561ab8f8f1..0000000000 --- a/graphics/title_screen/press_start.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 156 98 -0 0 0 -148 156 164 -180 189 189 -222 222 238 -255 255 255 -255 0 0 -255 0 0 -255 0 0 -255 0 0 -255 0 0 -255 0 0 -255 0 0 -255 0 0 -255 0 0 -255 0 0 diff --git a/graphics/title_screen/title_screen1.bin b/graphics/title_screen/title_screen1.bin new file mode 100644 index 0000000000..161f23cc19 Binary files /dev/null and b/graphics/title_screen/title_screen1.bin differ diff --git a/graphics/title_screen/title_screen2.bin b/graphics/title_screen/title_screen2.bin new file mode 100644 index 0000000000..0e6b7e7759 Binary files /dev/null and b/graphics/title_screen/title_screen2.bin differ diff --git a/graphics/trade/ball.png b/graphics/trade/ball.png new file mode 100644 index 0000000000..97cc86a6f7 Binary files /dev/null and b/graphics/trade/ball.png differ diff --git a/graphics/trade/black.pal b/graphics/trade/black.pal new file mode 100644 index 0000000000..4b0812f094 --- /dev/null +++ b/graphics/trade/black.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/trade/buttons.png b/graphics/trade/buttons.png new file mode 100644 index 0000000000..568f40a425 Binary files /dev/null and b/graphics/trade/buttons.png differ diff --git a/graphics/trade/cable_closeup_map.bin b/graphics/trade/cable_closeup_map.bin new file mode 100644 index 0000000000..aad25ed839 Binary files /dev/null and b/graphics/trade/cable_closeup_map.bin differ diff --git a/graphics/trade/cable_end.png b/graphics/trade/cable_end.png new file mode 100644 index 0000000000..1d7828a008 Binary files /dev/null and b/graphics/trade/cable_end.png differ diff --git a/graphics/trade/gba.pal b/graphics/trade/gba.pal new file mode 100644 index 0000000000..64a4422935 --- /dev/null +++ b/graphics/trade/gba.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +222 230 238 +189 205 230 +156 180 222 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +230 230 230 +205 205 205 +180 180 180 +156 156 156 +213 180 106 +205 156 82 +49 255 106 diff --git a/graphics/trade/gba_affine.png b/graphics/trade/gba_affine.png new file mode 100644 index 0000000000..b8c2623c4f Binary files /dev/null and b/graphics/trade/gba_affine.png differ diff --git a/graphics/trade/gba_affine_map_cable.bin b/graphics/trade/gba_affine_map_cable.bin new file mode 100644 index 0000000000..19bab962b9 Binary files /dev/null and b/graphics/trade/gba_affine_map_cable.bin differ diff --git a/graphics/trade/gba_affine_map_wireless.bin b/graphics/trade/gba_affine_map_wireless.bin new file mode 100644 index 0000000000..53a5113210 Binary files /dev/null and b/graphics/trade/gba_affine_map_wireless.bin differ diff --git a/graphics/trade/gba_map_cable.bin b/graphics/trade/gba_map_cable.bin new file mode 100644 index 0000000000..80705aef53 Binary files /dev/null and b/graphics/trade/gba_map_cable.bin differ diff --git a/graphics/trade/gba_map_wireless.bin b/graphics/trade/gba_map_wireless.bin new file mode 100644 index 0000000000..52f6232fc5 Binary files /dev/null and b/graphics/trade/gba_map_wireless.bin differ diff --git a/graphics/trade/gba_screen.png b/graphics/trade/gba_screen.png new file mode 100644 index 0000000000..4220e5e0d4 Binary files /dev/null and b/graphics/trade/gba_screen.png differ diff --git a/graphics/trade/glow1.png b/graphics/trade/glow1.png new file mode 100644 index 0000000000..e223d97ce3 Binary files /dev/null and b/graphics/trade/glow1.png differ diff --git a/graphics/trade/glow2.png b/graphics/trade/glow2.png new file mode 100644 index 0000000000..e7729bc84b Binary files /dev/null and b/graphics/trade/glow2.png differ diff --git a/graphics/trade/menu.pal b/graphics/trade/menu.pal new file mode 100644 index 0000000000..98377bbb38 --- /dev/null +++ b/graphics/trade/menu.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +0 0 0 +57 57 172 +98 98 180 +123 106 222 +82 90 213 +82 148 205 +131 115 230 +148 156 189 +205 106 0 +246 148 0 +49 49 90 +255 213 115 +205 74 90 +255 98 32 +205 205 222 +255 255 213 +0 0 0 +0 8 16 +0 16 32 +0 24 49 +0 41 65 +0 49 82 +0 57 98 +0 65 115 +0 82 131 +0 90 148 +0 98 164 +0 106 180 +0 123 197 +0 131 213 +0 139 230 +0 156 255 +0 0 0 +0 8 16 +0 16 32 +0 24 49 +0 41 65 +0 49 82 +0 57 98 +0 65 115 +0 82 131 +0 90 148 +0 98 164 +0 106 180 +0 123 197 +0 131 213 +0 139 230 +0 156 255 diff --git a/graphics/trade/menu.png b/graphics/trade/menu.png new file mode 100644 index 0000000000..91bc0f7eb4 Binary files /dev/null and b/graphics/trade/menu.png differ diff --git a/graphics/trade/misc.pal b/graphics/trade/misc.pal new file mode 100644 index 0000000000..32fafddfc0 --- /dev/null +++ b/graphics/trade/misc.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 156 123 +164 123 197 +41 255 115 +0 139 255 +255 255 74 +255 255 255 +106 106 106 +255 156 123 +255 156 123 +255 156 123 +255 156 123 +255 156 123 +255 156 123 +255 156 123 +255 156 123 diff --git a/graphics/trade/moves_box_map.bin b/graphics/trade/moves_box_map.bin new file mode 100644 index 0000000000..123abf716f Binary files /dev/null and b/graphics/trade/moves_box_map.bin differ diff --git a/graphics/trade/party_box_map.bin b/graphics/trade/party_box_map.bin new file mode 100644 index 0000000000..69304c5cb4 Binary files /dev/null and b/graphics/trade/party_box_map.bin differ diff --git a/graphics/trade/pokeball_symbol.png b/graphics/trade/pokeball_symbol.png new file mode 100644 index 0000000000..3b4a30f4f9 Binary files /dev/null and b/graphics/trade/pokeball_symbol.png differ diff --git a/graphics/trade/pokeball_symbol_map.bin b/graphics/trade/pokeball_symbol_map.bin new file mode 100644 index 0000000000..8355c2f5ca Binary files /dev/null and b/graphics/trade/pokeball_symbol_map.bin differ diff --git a/graphics/trade/shadow.pal b/graphics/trade/shadow.pal new file mode 100644 index 0000000000..a4bec64787 --- /dev/null +++ b/graphics/trade/shadow.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +222 230 238 +189 205 230 +156 180 222 +0 16 172 +32 32 106 +16 16 90 +0 0 74 +255 255 189 +230 230 164 +205 205 148 +189 180 115 +139 139 90 +74 74 57 +32 32 32 diff --git a/graphics/trade/shadow_map.bin b/graphics/trade/shadow_map.bin new file mode 100644 index 0000000000..8846e2d7d7 Binary files /dev/null and b/graphics/trade/shadow_map.bin differ diff --git a/graphics/trade/stripes_bg2_map.bin b/graphics/trade/stripes_bg2_map.bin new file mode 100644 index 0000000000..22f8f3b710 --- /dev/null +++ b/graphics/trade/stripes_bg2_map.bin @@ -0,0 +1 @@ +@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@ \ No newline at end of file diff --git a/graphics/trade/stripes_bg3_map.bin b/graphics/trade/stripes_bg3_map.bin new file mode 100644 index 0000000000..e4168474ae --- /dev/null +++ b/graphics/trade/stripes_bg3_map.bin @@ -0,0 +1 @@ +P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P \ No newline at end of file diff --git a/graphics/trade/text.pal b/graphics/trade/text.pal new file mode 100644 index 0000000000..40426b71f7 --- /dev/null +++ b/graphics/trade/text.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +74 74 74 +255 0 0 +0 255 0 +0 0 255 +255 255 0 +0 255 255 +255 0 255 +213 213 205 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +0 0 0 +115 115 115 +255 255 255 diff --git a/graphics/trade/unknown_3308C0.pal b/graphics/trade/unknown_3308C0.pal new file mode 100644 index 0000000000..72cf8b7c99 --- /dev/null +++ b/graphics/trade/unknown_3308C0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 57 8 +255 90 8 +255 131 8 +255 172 8 +255 213 8 +255 255 8 +255 255 131 +255 255 255 +255 255 0 +65 0 0 +115 16 0 +172 32 0 +230 57 8 +0 0 0 +0 0 0 diff --git a/graphics/trade/unknown_3379A0.bin b/graphics/trade/unknown_3379A0.bin new file mode 100644 index 0000000000..d1e364a291 Binary files /dev/null and b/graphics/trade/unknown_3379A0.bin differ diff --git a/graphics/trade/unknown_338EA4.pal b/graphics/trade/unknown_338EA4.pal new file mode 100644 index 0000000000..346db3df82 --- /dev/null +++ b/graphics/trade/unknown_338EA4.pal @@ -0,0 +1,15 @@ +JASC-PAL +0100 +12 +148 197 255 +148 197 255 +148 197 255 +255 255 255 +255 255 255 +255 255 255 +148 197 255 +148 197 255 +148 197 255 +255 255 255 +255 255 255 +255 255 255 diff --git a/graphics/trade/wireless_signal.bin b/graphics/trade/wireless_signal.bin new file mode 100644 index 0000000000..4ce5d18b89 Binary files /dev/null and b/graphics/trade/wireless_signal.bin differ diff --git a/graphics/trade/wireless_signal.png b/graphics/trade/wireless_signal.png new file mode 100644 index 0000000000..a48c70ae71 Binary files /dev/null and b/graphics/trade/wireless_signal.png differ diff --git a/graphics/trade/wireless_signal_receive.pal b/graphics/trade/wireless_signal_receive.pal new file mode 100644 index 0000000000..218390aa2f --- /dev/null +++ b/graphics/trade/wireless_signal_receive.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +172 172 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +172 172 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +172 172 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +172 172 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +172 172 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +172 172 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +172 172 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +172 172 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +172 172 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +172 172 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +172 172 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +172 172 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +172 172 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +172 172 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +172 172 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 diff --git a/graphics/trade/wireless_signal_send.pal b/graphics/trade/wireless_signal_send.pal new file mode 100644 index 0000000000..a5da8a543e --- /dev/null +++ b/graphics/trade/wireless_signal_send.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 0 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +172 172 172 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +172 172 172 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +172 172 172 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +172 172 172 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +172 172 172 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +172 172 172 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +172 172 172 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +172 172 172 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +172 172 172 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +172 172 172 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +172 172 172 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +172 172 172 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +172 172 172 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +172 172 172 +255 255 255 +0 0 0 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +172 172 172 diff --git a/graphics/trainer_card/0star.pal b/graphics/trainer_card/0star.pal new file mode 100644 index 0000000000..f49b7f2c50 --- /dev/null +++ b/graphics/trainer_card/0star.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +139 98 115 +255 255 255 +230 255 222 +164 164 164 +123 123 123 +98 98 115 +41 57 65 +57 106 139 +65 139 197 +180 230 156 +148 238 131 +131 222 115 +82 172 74 +106 189 255 +205 205 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +106 180 213 +41 123 164 +0 0 0 +0 0 0 +98 98 115 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +106 189 255 +205 205 205 +0 0 0 diff --git a/graphics/trainer_card/0star_fr.pal b/graphics/trainer_card/0star_fr.pal new file mode 100644 index 0000000000..1e83a252c2 --- /dev/null +++ b/graphics/trainer_card/0star_fr.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +139 98 115 +230 246 246 +222 238 255 +213 230 246 +197 213 230 +246 205 148 +164 164 164 +98 98 115 +246 213 139 +180 205 148 +106 164 222 +90 156 205 +57 115 156 +255 246 189 +255 255 255 +131 189 230 +139 98 115 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +189 148 16 +255 213 82 +82 205 180 +49 156 148 +197 197 197 +90 90 90 +139 98 115 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +189 148 16 +255 213 82 +230 148 82 +213 98 41 +197 197 197 +90 90 90 diff --git a/graphics/trainer_card/badges.png b/graphics/trainer_card/badges.png new file mode 100644 index 0000000000..d06cfbe8a8 Binary files /dev/null and b/graphics/trainer_card/badges.png differ diff --git a/graphics/trainer_card/badges_fr.png b/graphics/trainer_card/badges_fr.png new file mode 100644 index 0000000000..29a675e194 Binary files /dev/null and b/graphics/trainer_card/badges_fr.png differ diff --git a/graphics/trainer_card/card.png b/graphics/trainer_card/card.png new file mode 100644 index 0000000000..eab8272464 Binary files /dev/null and b/graphics/trainer_card/card.png differ diff --git a/graphics/trainer_card/card_fr.png b/graphics/trainer_card/card_fr.png new file mode 100644 index 0000000000..2fea60d09b Binary files /dev/null and b/graphics/trainer_card/card_fr.png differ diff --git a/graphics/trainer_card/female_bg.pal b/graphics/trainer_card/female_bg.pal new file mode 100644 index 0000000000..9df82c665b --- /dev/null +++ b/graphics/trainer_card/female_bg.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +230 123 139 +164 49 115 +0 0 0 +0 0 0 diff --git a/graphics/trainer_card/female_bg_fr.pal b/graphics/trainer_card/female_bg_fr.pal new file mode 100644 index 0000000000..3e8a3ab52b --- /dev/null +++ b/graphics/trainer_card/female_bg_fr.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 98 115 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +189 148 16 +255 213 82 +230 148 82 +213 98 41 +197 197 197 +90 90 90 diff --git a/graphics/trainer_card/four_stars.pal b/graphics/trainer_card/four_stars.pal new file mode 100644 index 0000000000..4e1d56b549 --- /dev/null +++ b/graphics/trainer_card/four_stars.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +139 98 115 +246 246 222 +246 238 172 +164 164 164 +123 123 123 +98 98 115 +41 57 65 +57 106 139 +65 139 197 +246 230 139 +230 213 49 +213 197 57 +156 115 57 +106 189 255 +205 205 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +106 180 213 +41 123 164 +0 0 0 +0 0 0 +98 98 115 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +106 189 255 +205 205 205 +0 0 0 diff --git a/graphics/trainer_card/four_stars_fr.pal b/graphics/trainer_card/four_stars_fr.pal new file mode 100644 index 0000000000..79027f0d8f --- /dev/null +++ b/graphics/trainer_card/four_stars_fr.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +139 98 115 +255 246 230 +246 238 213 +246 246 197 +246 238 180 +246 222 106 +164 164 164 +98 98 115 +255 255 148 +246 222 49 +246 205 8 +238 189 0 +189 148 57 +255 255 197 +255 255 255 +246 230 82 +139 98 115 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +189 148 16 +255 213 82 +82 205 180 +65 172 164 +197 197 197 +90 90 90 +0 0 0 +32 65 123 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/trainer_card/gold.pal b/graphics/trainer_card/gold.pal new file mode 100644 index 0000000000..ebd175e974 --- /dev/null +++ b/graphics/trainer_card/gold.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +139 98 115 +246 197 0 +205 164 0 +246 197 0 +246 197 0 +246 197 0 +246 197 0 +246 197 0 +0 0 0 +0 0 0 +189 148 16 +255 213 82 +0 0 0 +0 0 0 +189 148 16 +246 197 0 diff --git a/graphics/trainer_card/one_star.pal b/graphics/trainer_card/one_star.pal new file mode 100644 index 0000000000..62c51c91f6 --- /dev/null +++ b/graphics/trainer_card/one_star.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +139 98 115 +238 255 246 +213 238 230 +164 164 164 +123 123 123 +98 98 115 +41 57 65 +57 106 139 +65 139 197 +189 213 205 +148 180 164 +106 148 123 +65 115 90 +106 189 255 +205 205 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +106 180 213 +41 123 164 +0 0 0 +0 0 0 +98 98 115 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +106 189 255 +205 205 205 +0 0 0 diff --git a/graphics/trainer_card/one_star_fr.pal b/graphics/trainer_card/one_star_fr.pal new file mode 100644 index 0000000000..9215c75920 --- /dev/null +++ b/graphics/trainer_card/one_star_fr.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +139 98 115 +222 255 230 +205 246 222 +197 238 213 +189 230 205 +246 205 148 +164 164 164 +98 98 115 +246 213 139 +180 205 148 +131 180 172 +115 156 156 +82 131 123 +255 246 189 +255 255 255 +156 205 197 +139 98 115 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +189 148 16 +255 213 82 +82 205 180 +65 172 164 +197 197 197 +90 90 90 +0 0 0 +32 65 123 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/trainer_card/stickers_fr.png b/graphics/trainer_card/stickers_fr.png new file mode 100644 index 0000000000..12a67a30fb Binary files /dev/null and b/graphics/trainer_card/stickers_fr.png differ diff --git a/graphics/trainer_card/stickers_fr1.pal b/graphics/trainer_card/stickers_fr1.pal new file mode 100644 index 0000000000..774dbb4869 --- /dev/null +++ b/graphics/trainer_card/stickers_fr1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 246 189 +255 255 255 +255 197 164 +238 246 246 +222 222 230 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/trainer_card/stickers_fr2.pal b/graphics/trainer_card/stickers_fr2.pal new file mode 100644 index 0000000000..9244e4a03e --- /dev/null +++ b/graphics/trainer_card/stickers_fr2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 246 189 +255 255 255 +98 197 238 +238 246 246 +222 222 230 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/trainer_card/stickers_fr3.pal b/graphics/trainer_card/stickers_fr3.pal new file mode 100644 index 0000000000..abe9e9206e --- /dev/null +++ b/graphics/trainer_card/stickers_fr3.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 246 189 +255 255 255 +246 230 74 +238 246 246 +222 222 230 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/trainer_card/stickers_fr4.pal b/graphics/trainer_card/stickers_fr4.pal new file mode 100644 index 0000000000..422e986b19 --- /dev/null +++ b/graphics/trainer_card/stickers_fr4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 246 189 +255 255 255 +106 131 148 +238 246 246 +222 222 230 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/trainer_card/three_stars.pal b/graphics/trainer_card/three_stars.pal new file mode 100644 index 0000000000..21f3d83eb4 --- /dev/null +++ b/graphics/trainer_card/three_stars.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +139 98 115 +246 246 255 +230 230 238 +189 189 197 +156 156 156 +156 106 41 +41 57 65 +57 106 139 +65 139 197 +230 230 238 +189 189 197 +156 156 156 +123 123 123 +106 189 255 +205 205 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +106 180 213 +41 123 164 +0 0 0 +0 0 0 +98 98 115 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +106 189 255 +205 205 205 +0 0 0 diff --git a/graphics/trainer_card/three_stars_fr.pal b/graphics/trainer_card/three_stars_fr.pal new file mode 100644 index 0000000000..e984eab422 --- /dev/null +++ b/graphics/trainer_card/three_stars_fr.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +139 98 115 +238 246 246 +238 246 246 +238 238 238 +230 230 230 +246 205 148 +164 164 164 +98 98 115 +255 238 131 +205 205 164 +197 205 205 +172 180 172 +131 139 156 +246 246 197 +255 255 255 +213 222 222 +139 98 115 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +189 148 16 +255 213 82 +82 205 180 +65 172 164 +197 197 197 +90 90 90 +0 0 0 +32 65 123 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/trainer_card/two_stars.pal b/graphics/trainer_card/two_stars.pal new file mode 100644 index 0000000000..bacce54f52 --- /dev/null +++ b/graphics/trainer_card/two_stars.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +139 98 115 +255 246 230 +246 230 213 +205 156 90 +180 131 65 +98 98 115 +41 57 65 +57 106 139 +65 139 197 +230 189 139 +205 156 115 +180 131 82 +156 106 41 +106 189 255 +205 205 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +106 180 213 +41 123 164 +0 0 0 +0 0 0 +98 98 115 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +255 255 255 +230 230 238 +164 164 164 +123 123 123 +106 189 255 +205 205 205 +0 0 0 diff --git a/graphics/trainer_card/two_stars_fr.pal b/graphics/trainer_card/two_stars_fr.pal new file mode 100644 index 0000000000..748e17aa89 --- /dev/null +++ b/graphics/trainer_card/two_stars_fr.pal @@ -0,0 +1,51 @@ +JASC-PAL +0100 +48 +139 98 115 +246 246 205 +246 238 197 +238 230 189 +230 222 156 +246 205 148 +164 164 164 +98 98 115 +246 238 139 +222 197 139 +213 189 139 +197 180 123 +164 123 82 +255 255 205 +255 255 255 +230 205 156 +139 98 115 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +189 148 16 +255 213 82 +82 205 180 +65 172 164 +197 197 197 +90 90 90 +0 0 0 +32 65 123 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/trainer_card/unknown_56F18C.pal b/graphics/trainer_card/unknown_56F18C.pal new file mode 100644 index 0000000000..25a3ac1d21 --- /dev/null +++ b/graphics/trainer_card/unknown_56F18C.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +255 255 255 +98 98 98 +213 213 205 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/types/bug.png b/graphics/types/bug.png new file mode 100644 index 0000000000..2f59a48380 Binary files /dev/null and b/graphics/types/bug.png differ diff --git a/graphics/types/contest_beauty.png b/graphics/types/contest_beauty.png new file mode 100644 index 0000000000..b52fe3ca47 Binary files /dev/null and b/graphics/types/contest_beauty.png differ diff --git a/graphics/types/contest_cool.png b/graphics/types/contest_cool.png new file mode 100644 index 0000000000..f0ca723230 Binary files /dev/null and b/graphics/types/contest_cool.png differ diff --git a/graphics/types/contest_cute.png b/graphics/types/contest_cute.png new file mode 100644 index 0000000000..eeb86c431b Binary files /dev/null and b/graphics/types/contest_cute.png differ diff --git a/graphics/types/contest_smart.png b/graphics/types/contest_smart.png new file mode 100644 index 0000000000..7659cc4f29 Binary files /dev/null and b/graphics/types/contest_smart.png differ diff --git a/graphics/types/contest_tough.png b/graphics/types/contest_tough.png new file mode 100644 index 0000000000..f928596aff Binary files /dev/null and b/graphics/types/contest_tough.png differ diff --git a/graphics/types/dark.png b/graphics/types/dark.png new file mode 100644 index 0000000000..3380297da2 Binary files /dev/null and b/graphics/types/dark.png differ diff --git a/graphics/types/dragon.png b/graphics/types/dragon.png new file mode 100644 index 0000000000..12430ad06a Binary files /dev/null and b/graphics/types/dragon.png differ diff --git a/graphics/types/electric.png b/graphics/types/electric.png new file mode 100644 index 0000000000..0be6b890b0 Binary files /dev/null and b/graphics/types/electric.png differ diff --git a/graphics/types/fight.png b/graphics/types/fight.png new file mode 100644 index 0000000000..95ff5a9281 Binary files /dev/null and b/graphics/types/fight.png differ diff --git a/graphics/types/fire.png b/graphics/types/fire.png new file mode 100644 index 0000000000..f6db950c8d Binary files /dev/null and b/graphics/types/fire.png differ diff --git a/graphics/types/flying.png b/graphics/types/flying.png new file mode 100644 index 0000000000..2f34851ca7 Binary files /dev/null and b/graphics/types/flying.png differ diff --git a/graphics/types/ghost.png b/graphics/types/ghost.png new file mode 100644 index 0000000000..b7347014d2 Binary files /dev/null and b/graphics/types/ghost.png differ diff --git a/graphics/types/grass.png b/graphics/types/grass.png new file mode 100644 index 0000000000..4432a52e68 Binary files /dev/null and b/graphics/types/grass.png differ diff --git a/graphics/types/ground.png b/graphics/types/ground.png new file mode 100644 index 0000000000..d3f6787b29 Binary files /dev/null and b/graphics/types/ground.png differ diff --git a/graphics/types/ice.png b/graphics/types/ice.png new file mode 100644 index 0000000000..5ff2f69aa7 Binary files /dev/null and b/graphics/types/ice.png differ diff --git a/graphics/types/move_types_1.pal b/graphics/types/move_types_1.pal new file mode 100644 index 0000000000..951aa69cb9 --- /dev/null +++ b/graphics/types/move_types_1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 213 49 +246 131 49 +197 49 41 +230 197 106 +189 164 57 +139 106 49 +255 255 123 +172 172 123 +222 222 197 +115 90 74 +74 65 57 +189 189 213 +0 0 0 +131 123 115 +255 255 255 diff --git a/graphics/types/move_types_2.pal b/graphics/types/move_types_2.pal new file mode 100644 index 0000000000..08dcea47c3 --- /dev/null +++ b/graphics/types/move_types_2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +205 197 255 +172 148 246 +115 90 156 +106 148 246 +156 222 222 +213 255 238 +74 57 82 +255 90 139 +255 197 180 +148 98 98 +164 65 164 +222 131 189 +148 148 164 +131 123 115 +255 255 255 diff --git a/graphics/types/move_types_3.pal b/graphics/types/move_types_3.pal new file mode 100644 index 0000000000..4db37235b3 --- /dev/null +++ b/graphics/types/move_types_3.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +197 255 98 +123 205 82 +90 131 65 +115 57 255 +74 57 148 +189 164 255 +172 189 32 +222 230 49 +123 148 16 +106 164 148 +115 205 180 +32 106 98 +0 0 0 +131 123 115 +255 255 255 diff --git a/graphics/types/mystery.png b/graphics/types/mystery.png new file mode 100644 index 0000000000..a2ea01d556 Binary files /dev/null and b/graphics/types/mystery.png differ diff --git a/graphics/types/normal.png b/graphics/types/normal.png new file mode 100644 index 0000000000..608a1f9c93 Binary files /dev/null and b/graphics/types/normal.png differ diff --git a/graphics/types/poison.png b/graphics/types/poison.png new file mode 100644 index 0000000000..502dfae377 Binary files /dev/null and b/graphics/types/poison.png differ diff --git a/graphics/types/psychic.png b/graphics/types/psychic.png new file mode 100644 index 0000000000..975d1fb553 Binary files /dev/null and b/graphics/types/psychic.png differ diff --git a/graphics/types/rock.png b/graphics/types/rock.png new file mode 100644 index 0000000000..3793597f94 Binary files /dev/null and b/graphics/types/rock.png differ diff --git a/graphics/types/steel.png b/graphics/types/steel.png new file mode 100644 index 0000000000..29748639c5 Binary files /dev/null and b/graphics/types/steel.png differ diff --git a/graphics/types/water.png b/graphics/types/water.png new file mode 100644 index 0000000000..19ae3ebe3e Binary files /dev/null and b/graphics/types/water.png differ diff --git a/graphics/unknown/858E588/0.png b/graphics/unknown/858E588/0.png new file mode 100644 index 0000000000..70b0774b0d Binary files /dev/null and b/graphics/unknown/858E588/0.png differ diff --git a/graphics/unknown/858E588/1.png b/graphics/unknown/858E588/1.png new file mode 100644 index 0000000000..e176b5f739 Binary files /dev/null and b/graphics/unknown/858E588/1.png differ diff --git a/graphics/unknown/858E588/2.png b/graphics/unknown/858E588/2.png new file mode 100644 index 0000000000..c006bb6609 Binary files /dev/null and b/graphics/unknown/858E588/2.png differ diff --git a/graphics/unknown/858E588/3.png b/graphics/unknown/858E588/3.png new file mode 100644 index 0000000000..67a3cf7690 Binary files /dev/null and b/graphics/unknown/858E588/3.png differ diff --git a/graphics/unknown/858E588/4.png b/graphics/unknown/858E588/4.png new file mode 100644 index 0000000000..e2a5aec4fb Binary files /dev/null and b/graphics/unknown/858E588/4.png differ diff --git a/graphics/unknown/858E5B0/0.png b/graphics/unknown/858E5B0/0.png new file mode 100644 index 0000000000..afd104d7ca Binary files /dev/null and b/graphics/unknown/858E5B0/0.png differ diff --git a/graphics/unknown/858E5B0/1.png b/graphics/unknown/858E5B0/1.png new file mode 100644 index 0000000000..026b9b7afe Binary files /dev/null and b/graphics/unknown/858E5B0/1.png differ diff --git a/graphics/unknown/858E5B0/2.png b/graphics/unknown/858E5B0/2.png new file mode 100644 index 0000000000..360e2ab63e Binary files /dev/null and b/graphics/unknown/858E5B0/2.png differ diff --git a/graphics/unknown/858E5B0/3.png b/graphics/unknown/858E5B0/3.png new file mode 100644 index 0000000000..88672c1824 Binary files /dev/null and b/graphics/unknown/858E5B0/3.png differ diff --git a/graphics/unknown/858E5B0/4.png b/graphics/unknown/858E5B0/4.png new file mode 100644 index 0000000000..660ad331d9 Binary files /dev/null and b/graphics/unknown/858E5B0/4.png differ diff --git a/graphics/unknown/858E5B0/5.png b/graphics/unknown/858E5B0/5.png new file mode 100644 index 0000000000..7006e9cc94 Binary files /dev/null and b/graphics/unknown/858E5B0/5.png differ diff --git a/graphics/unknown/858E5D8/0.png b/graphics/unknown/858E5D8/0.png new file mode 100644 index 0000000000..110b1dd0a5 Binary files /dev/null and b/graphics/unknown/858E5D8/0.png differ diff --git a/graphics/unknown/858E5D8/1.png b/graphics/unknown/858E5D8/1.png new file mode 100644 index 0000000000..f50079de7f Binary files /dev/null and b/graphics/unknown/858E5D8/1.png differ diff --git a/graphics/unknown/858E5D8/2.png b/graphics/unknown/858E5D8/2.png new file mode 100644 index 0000000000..a54bb3d12a Binary files /dev/null and b/graphics/unknown/858E5D8/2.png differ diff --git a/graphics/unknown/858E5D8/3.png b/graphics/unknown/858E5D8/3.png new file mode 100644 index 0000000000..0ea6e43c96 Binary files /dev/null and b/graphics/unknown/858E5D8/3.png differ diff --git a/graphics/unknown/858E5D8/4.png b/graphics/unknown/858E5D8/4.png new file mode 100644 index 0000000000..4b4e300bb7 Binary files /dev/null and b/graphics/unknown/858E5D8/4.png differ diff --git a/graphics/unknown/858E674/0.png b/graphics/unknown/858E674/0.png new file mode 100644 index 0000000000..64b61050f6 Binary files /dev/null and b/graphics/unknown/858E674/0.png differ diff --git a/graphics/unknown/858E674/1.png b/graphics/unknown/858E674/1.png new file mode 100644 index 0000000000..05cd8f396c Binary files /dev/null and b/graphics/unknown/858E674/1.png differ diff --git a/graphics/unknown/858E674/2.png b/graphics/unknown/858E674/2.png new file mode 100644 index 0000000000..d5dd69078b Binary files /dev/null and b/graphics/unknown/858E674/2.png differ diff --git a/graphics/unknown/858E84C/0.png b/graphics/unknown/858E84C/0.png new file mode 100644 index 0000000000..4673403e03 Binary files /dev/null and b/graphics/unknown/858E84C/0.png differ diff --git a/graphics/unknown/858E84C/1.png b/graphics/unknown/858E84C/1.png new file mode 100644 index 0000000000..c55f2146d5 Binary files /dev/null and b/graphics/unknown/858E84C/1.png differ diff --git a/graphics/unknown/858E84C/2.png b/graphics/unknown/858E84C/2.png new file mode 100644 index 0000000000..4f03b50ae9 Binary files /dev/null and b/graphics/unknown/858E84C/2.png differ diff --git a/graphics/unknown/unknown_339514.pal b/graphics/unknown/unknown_339514.pal new file mode 100644 index 0000000000..b87f25a6cc --- /dev/null +++ b/graphics/unknown/unknown_339514.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +213 222 238 +180 197 230 +148 172 222 +115 148 205 +82 123 197 +49 98 189 +255 230 205 +255 164 98 +255 106 0 +222 65 8 +189 24 24 +106 106 0 +222 65 8 +189 24 24 diff --git a/graphics/unknown/unknown_55C170.png b/graphics/unknown/unknown_55C170.png new file mode 100644 index 0000000000..95a2e24272 Binary files /dev/null and b/graphics/unknown/unknown_55C170.png differ diff --git a/graphics/unknown/unknown_57173C.pal b/graphics/unknown/unknown_57173C.pal new file mode 100644 index 0000000000..3743fa2285 --- /dev/null +++ b/graphics/unknown/unknown_57173C.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +246 222 115 +246 230 180 +205 123 0 +123 74 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unknown/unknown_572280.pal b/graphics/unknown/unknown_572280.pal new file mode 100644 index 0000000000..bf51977611 --- /dev/null +++ b/graphics/unknown/unknown_572280.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 90 57 +148 148 172 +255 255 255 +0 0 0 +222 222 246 +90 189 238 +164 164 180 +98 98 115 +0 0 0 +82 82 90 +189 238 98 +164 222 74 +164 230 74 +180 230 115 +148 205 57 +148 148 172 diff --git a/graphics/unknown/unknown_5722A0.bin b/graphics/unknown/unknown_5722A0.bin new file mode 100644 index 0000000000..050dd78f9e Binary files /dev/null and b/graphics/unknown/unknown_5722A0.bin differ diff --git a/graphics/unknown/unknown_5723DC.pal b/graphics/unknown/unknown_5723DC.pal new file mode 100644 index 0000000000..1fda7f05af --- /dev/null +++ b/graphics/unknown/unknown_5723DC.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +148 148 172 +115 115 123 +82 82 90 +148 148 172 +246 172 82 +164 164 180 +0 0 0 +164 205 246 +123 180 213 +255 222 148 +213 230 255 +180 213 246 +156 205 238 +255 255 255 +90 255 238 diff --git a/graphics/unknown/unknown_5723FC.pal b/graphics/unknown/unknown_5723FC.pal new file mode 100644 index 0000000000..42bb766632 --- /dev/null +++ b/graphics/unknown/unknown_5723FC.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 246 148 +148 148 172 +115 115 123 +82 82 90 +139 139 164 +164 123 0 +164 164 180 +0 0 0 +164 205 246 +123 180 213 +197 189 24 +213 230 255 +180 213 246 +156 205 238 +180 180 180 +90 255 238 diff --git a/graphics/unknown/unknown_57241C.pal b/graphics/unknown/unknown_57241C.pal new file mode 100644 index 0000000000..087a84a692 --- /dev/null +++ b/graphics/unknown/unknown_57241C.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +148 148 172 +255 255 255 +0 0 0 +123 189 255 +0 123 255 +255 131 131 +172 24 24 +255 238 230 +255 230 213 +255 222 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unknown/unknown_57243C.pal b/graphics/unknown/unknown_57243C.pal new file mode 100644 index 0000000000..74876ded31 --- /dev/null +++ b/graphics/unknown/unknown_57243C.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +148 148 172 +255 255 255 +0 0 0 +123 189 255 +0 123 255 +255 131 131 +172 24 24 +230 246 255 +222 238 246 +213 238 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unknown/unknown_5726F4.pal b/graphics/unknown/unknown_5726F4.pal new file mode 100644 index 0000000000..b9c6f46de1 --- /dev/null +++ b/graphics/unknown/unknown_5726F4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +98 98 98 +213 213 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unknown/unknown_587C30.pal b/graphics/unknown/unknown_587C30.pal new file mode 100644 index 0000000000..1c10c781f6 --- /dev/null +++ b/graphics/unknown/unknown_587C30.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +74 74 74 +255 0 0 +0 255 0 +0 0 255 +255 255 0 +0 255 255 +255 0 255 +213 213 205 +0 0 0 +0 0 0 +230 230 238 +255 255 255 +156 205 255 +123 189 230 +255 255 255 diff --git a/graphics/unknown/unknown_58D6B0.pal b/graphics/unknown/unknown_58D6B0.pal new file mode 100644 index 0000000000..1c10c781f6 --- /dev/null +++ b/graphics/unknown/unknown_58D6B0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +74 74 74 +255 0 0 +0 255 0 +0 0 255 +255 255 0 +0 255 255 +255 0 255 +213 213 205 +0 0 0 +0 0 0 +230 230 238 +255 255 255 +156 205 255 +123 189 230 +255 255 255 diff --git a/graphics/unknown/unknown_58D6D0.png b/graphics/unknown/unknown_58D6D0.png new file mode 100644 index 0000000000..da421b5015 Binary files /dev/null and b/graphics/unknown/unknown_58D6D0.png differ diff --git a/graphics/unknown/unknown_58E82C.pal b/graphics/unknown/unknown_58E82C.pal new file mode 100644 index 0000000000..292acfd35b --- /dev/null +++ b/graphics/unknown/unknown_58E82C.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 0 0 +0 255 0 +0 0 255 +255 255 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unknown/unknown_5B3280.pal b/graphics/unknown/unknown_5B3280.pal new file mode 100644 index 0000000000..a23813afb2 --- /dev/null +++ b/graphics/unknown/unknown_5B3280.pal @@ -0,0 +1,179 @@ +JASC-PAL +0100 +176 +115 197 164 +180 180 180 +148 148 148 +90 90 98 +57 57 74 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +222 222 222 +0 0 0 +115 197 164 +180 180 172 +156 139 139 +98 82 90 +57 49 65 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +115 197 164 +189 180 172 +164 131 131 +106 74 82 +65 41 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +115 197 164 +197 180 172 +172 123 123 +123 65 74 +74 41 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +115 197 164 +205 189 164 +189 115 115 +131 65 65 +82 32 41 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +115 197 164 +213 189 164 +197 115 115 +148 57 65 +90 32 41 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +115 197 164 +222 189 164 +205 106 106 +156 49 57 +98 24 32 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +115 197 164 +230 197 156 +222 98 98 +164 49 49 +106 16 24 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +115 197 164 +238 197 156 +230 90 90 +180 41 41 +115 16 16 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +115 197 164 +246 197 156 +238 82 82 +189 32 32 +123 8 8 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +115 197 164 +255 205 156 +255 82 82 +205 32 32 +131 8 8 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unknown/unknown_5B3484.png b/graphics/unknown/unknown_5B3484.png new file mode 100644 index 0000000000..1a39ccb749 Binary files /dev/null and b/graphics/unknown/unknown_5B3484.png differ diff --git a/graphics/unknown/unknown_5B3564.bin b/graphics/unknown/unknown_5B3564.bin new file mode 100644 index 0000000000..a3691cfd75 Binary files /dev/null and b/graphics/unknown/unknown_5B3564.bin differ diff --git a/graphics/unknown/unknown_60EA4C.pal b/graphics/unknown/unknown_60EA4C.pal new file mode 100644 index 0000000000..87bb7840e2 --- /dev/null +++ b/graphics/unknown/unknown_60EA4C.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +0 0 0 +197 197 205 +32 222 148 +106 238 180 +180 255 213 +213 197 255 +238 230 255 +255 189 180 +255 222 213 +189 148 0 +238 238 230 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unknown/unknown_60F13C.pal b/graphics/unknown/unknown_60F13C.pal new file mode 100644 index 0000000000..1f6d1400e4 --- /dev/null +++ b/graphics/unknown/unknown_60F13C.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +148 148 164 +115 115 131 +164 90 90 +65 65 82 +213 213 123 +189 189 197 +148 148 164 +115 115 131 +213 213 222 +65 65 82 +123 123 172 +156 156 205 +0 0 0 +255 255 255 +65 65 65 diff --git a/graphics/unknown/unknown_60F15C.pal b/graphics/unknown/unknown_60F15C.pal new file mode 100644 index 0000000000..a25d0d9103 --- /dev/null +++ b/graphics/unknown/unknown_60F15C.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +230 131 98 +197 115 98 +164 90 90 +131 74 82 +213 213 123 +189 189 197 +148 148 164 +115 115 131 +255 172 180 +65 65 82 +123 123 172 +156 156 205 +0 0 0 +255 255 255 +65 65 65 diff --git a/graphics/unknown/unknown_60F17C.pal b/graphics/unknown/unknown_60F17C.pal new file mode 100644 index 0000000000..7f6b43f356 --- /dev/null +++ b/graphics/unknown/unknown_60F17C.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +0 0 0 +0 0 0 +255 0 0 +164 115 246 +238 238 238 +164 115 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +98 98 90 +246 246 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +131 90 41 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +213 213 213 +0 0 0 diff --git a/graphics/unknown/unknown_60F1BC.png b/graphics/unknown/unknown_60F1BC.png new file mode 100644 index 0000000000..185b93d57c Binary files /dev/null and b/graphics/unknown/unknown_60F1BC.png differ diff --git a/graphics/unknown/unknown_60F3BC.png b/graphics/unknown/unknown_60F3BC.png new file mode 100644 index 0000000000..3114f2eb89 Binary files /dev/null and b/graphics/unknown/unknown_60F3BC.png differ diff --git a/graphics/unknown/unknown_60F43C.png b/graphics/unknown/unknown_60F43C.png new file mode 100644 index 0000000000..3c2c1d5cde Binary files /dev/null and b/graphics/unknown/unknown_60F43C.png differ diff --git a/graphics/unknown/unknown_60F53C.png b/graphics/unknown/unknown_60F53C.png new file mode 100644 index 0000000000..65450c7b33 Binary files /dev/null and b/graphics/unknown/unknown_60F53C.png differ diff --git a/graphics/unknown/unknown_60F63C.png b/graphics/unknown/unknown_60F63C.png new file mode 100644 index 0000000000..01fcea2fa7 Binary files /dev/null and b/graphics/unknown/unknown_60F63C.png differ diff --git a/graphics/unknown/unknown_60F6BC.png b/graphics/unknown/unknown_60F6BC.png new file mode 100644 index 0000000000..bda46587fc Binary files /dev/null and b/graphics/unknown/unknown_60F6BC.png differ diff --git a/graphics/unknown/unknown_60F7BC.png b/graphics/unknown/unknown_60F7BC.png new file mode 100644 index 0000000000..487b428bdb Binary files /dev/null and b/graphics/unknown/unknown_60F7BC.png differ diff --git a/graphics/unknown/unknown_60F83C.png b/graphics/unknown/unknown_60F83C.png new file mode 100644 index 0000000000..2a44e94557 Binary files /dev/null and b/graphics/unknown/unknown_60F83C.png differ diff --git a/graphics/unknown/unknown_60F93C.png b/graphics/unknown/unknown_60F93C.png new file mode 100644 index 0000000000..2a44e94557 Binary files /dev/null and b/graphics/unknown/unknown_60F93C.png differ diff --git a/graphics/unknown/unknown_60FA3C.png b/graphics/unknown/unknown_60FA3C.png new file mode 100644 index 0000000000..c4ae096d0a Binary files /dev/null and b/graphics/unknown/unknown_60FA3C.png differ diff --git a/graphics/unknown/unknown_61023C.bin b/graphics/unknown/unknown_61023C.bin new file mode 100644 index 0000000000..c4e7c913d3 Binary files /dev/null and b/graphics/unknown/unknown_61023C.bin differ diff --git a/graphics/unknown/unknown_61033C.png b/graphics/unknown/unknown_61033C.png new file mode 100644 index 0000000000..ec874f98c3 Binary files /dev/null and b/graphics/unknown/unknown_61033C.png differ diff --git a/graphics/unknown/unknown_61039C.pal b/graphics/unknown/unknown_61039C.pal new file mode 100644 index 0000000000..89f527ce4d --- /dev/null +++ b/graphics/unknown/unknown_61039C.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +213 255 238 +213 255 238 +213 255 238 +213 255 238 +213 255 238 +213 255 238 +213 255 238 +213 255 238 +213 255 238 +213 255 238 +213 255 238 +213 255 238 +213 255 238 +213 255 238 +213 255 238 diff --git a/graphics/unknown/unknown_61046C.pal b/graphics/unknown/unknown_61046C.pal new file mode 100644 index 0000000000..40d83bc596 --- /dev/null +++ b/graphics/unknown/unknown_61046C.pal @@ -0,0 +1,8 @@ +JASC-PAL +0100 +5 +0 0 0 +0 0 0 +255 255 255 +0 0 0 +255 0 0 diff --git a/graphics/unknown/unknown_C035B8.png b/graphics/unknown/unknown_C035B8.png new file mode 100644 index 0000000000..0b2ae80f99 Binary files /dev/null and b/graphics/unknown/unknown_C035B8.png differ diff --git a/graphics/unknown/unknown_C06D98.png b/graphics/unknown/unknown_C06D98.png new file mode 100644 index 0000000000..d36afa64d3 Binary files /dev/null and b/graphics/unknown/unknown_C06D98.png differ diff --git a/graphics/unknown/unknown_C06D98_2.pal b/graphics/unknown/unknown_C06D98_2.pal new file mode 100644 index 0000000000..44f4b55d6d --- /dev/null +++ b/graphics/unknown/unknown_C06D98_2.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +98 156 131 +57 57 57 +156 156 156 +255 255 255 +255 205 0 +255 255 98 +213 98 24 +255 123 32 +106 65 172 +65 24 172 +255 205 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +98 156 131 +57 57 57 +156 156 156 +255 255 255 +57 123 0 +90 189 0 +123 255 8 +230 106 148 +255 139 255 +255 205 0 +255 255 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unknown/unknown_C0CA1C.bin b/graphics/unknown/unknown_C0CA1C.bin new file mode 100644 index 0000000000..4b6b2b1060 Binary files /dev/null and b/graphics/unknown/unknown_C0CA1C.bin differ diff --git a/graphics/unknown/unknown_C0CA40.bin b/graphics/unknown/unknown_C0CA40.bin new file mode 100644 index 0000000000..25fc33a732 Binary files /dev/null and b/graphics/unknown/unknown_C0CA40.bin differ diff --git a/graphics/unknown/unknown_C0CA64.bin b/graphics/unknown/unknown_C0CA64.bin new file mode 100644 index 0000000000..5b81e02168 Binary files /dev/null and b/graphics/unknown/unknown_C0CA64.bin differ diff --git a/graphics/unknown/unknown_C0CAE0.bin b/graphics/unknown/unknown_C0CAE0.bin new file mode 100644 index 0000000000..15379a9cea Binary files /dev/null and b/graphics/unknown/unknown_C0CAE0.bin differ diff --git a/graphics/unknown/unknown_C15BC0.bin b/graphics/unknown/unknown_C15BC0.bin new file mode 100644 index 0000000000..40de9e529d Binary files /dev/null and b/graphics/unknown/unknown_C15BC0.bin differ diff --git a/graphics/unknown/unknown_C17170.bin b/graphics/unknown/unknown_C17170.bin new file mode 100644 index 0000000000..9f5141c5b6 Binary files /dev/null and b/graphics/unknown/unknown_C17170.bin differ diff --git a/graphics/unknown/unknown_C17410.bin b/graphics/unknown/unknown_C17410.bin new file mode 100644 index 0000000000..b2567ca7c5 Binary files /dev/null and b/graphics/unknown/unknown_C17410.bin differ diff --git a/graphics/unknown/unknown_C1751C.bin b/graphics/unknown/unknown_C1751C.bin new file mode 100644 index 0000000000..e8a506838b Binary files /dev/null and b/graphics/unknown/unknown_C1751C.bin differ diff --git a/graphics/unknown/unknown_C17980.bin b/graphics/unknown/unknown_C17980.bin new file mode 100644 index 0000000000..77e35348a4 Binary files /dev/null and b/graphics/unknown/unknown_C17980.bin differ diff --git a/graphics/unknown/unknown_C19470.png b/graphics/unknown/unknown_C19470.png new file mode 100644 index 0000000000..14cc50cf48 Binary files /dev/null and b/graphics/unknown/unknown_C19470.png differ diff --git a/graphics/unknown/unknown_C2F9E0.pal b/graphics/unknown/unknown_C2F9E0.pal new file mode 100644 index 0000000000..2fd4607c25 --- /dev/null +++ b/graphics/unknown/unknown_C2F9E0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 205 164 +255 255 255 +98 98 98 +213 213 205 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +255 255 255 +230 230 238 +255 255 255 +230 8 8 +180 8 8 +74 115 164 diff --git a/graphics/unknown/unknown_D0D2B4.bin b/graphics/unknown/unknown_D0D2B4.bin new file mode 100644 index 0000000000..d42729b581 Binary files /dev/null and b/graphics/unknown/unknown_D0D2B4.bin differ diff --git a/graphics/unknown/unknown_D12FEC.png b/graphics/unknown/unknown_D12FEC.png new file mode 100644 index 0000000000..96c49a9921 Binary files /dev/null and b/graphics/unknown/unknown_D12FEC.png differ diff --git a/graphics/unknown/unknown_D1300C.png b/graphics/unknown/unknown_D1300C.png new file mode 100644 index 0000000000..0c077dd0b6 Binary files /dev/null and b/graphics/unknown/unknown_D1300C.png differ diff --git a/graphics/unknown/unknown_D1C060.bin b/graphics/unknown/unknown_D1C060.bin new file mode 100644 index 0000000000..e4776cba40 Binary files /dev/null and b/graphics/unknown/unknown_D1C060.bin differ diff --git a/graphics/unknown/unknown_D1C060.png b/graphics/unknown/unknown_D1C060.png new file mode 100644 index 0000000000..2371241d79 Binary files /dev/null and b/graphics/unknown/unknown_D1C060.png differ diff --git a/graphics/unknown/unknown_D437F8.bin b/graphics/unknown/unknown_D437F8.bin new file mode 100644 index 0000000000..fcb503112f Binary files /dev/null and b/graphics/unknown/unknown_D437F8.bin differ diff --git a/graphics/unknown/unknown_D83900.bin b/graphics/unknown/unknown_D83900.bin new file mode 100644 index 0000000000..7f3e36737e Binary files /dev/null and b/graphics/unknown/unknown_D83900.bin differ diff --git a/graphics/unknown/unknown_D83B2C.bin b/graphics/unknown/unknown_D83B2C.bin new file mode 100644 index 0000000000..34175237e6 Binary files /dev/null and b/graphics/unknown/unknown_D83B2C.bin differ diff --git a/graphics/unknown/unknown_D83C3C.bin b/graphics/unknown/unknown_D83C3C.bin new file mode 100644 index 0000000000..acf7cf6ad5 Binary files /dev/null and b/graphics/unknown/unknown_D83C3C.bin differ diff --git a/graphics/unknown/unknown_D84970.bin b/graphics/unknown/unknown_D84970.bin new file mode 100644 index 0000000000..d102290e4c Binary files /dev/null and b/graphics/unknown/unknown_D84970.bin differ diff --git a/graphics/unknown/unknown_D84F00.bin b/graphics/unknown/unknown_D84F00.bin new file mode 100644 index 0000000000..c38088d34a --- /dev/null +++ b/graphics/unknown/unknown_D84F00.bin @@ -0,0 +1 @@ +PPPTTTPPPPPPPPPPPPPTTTPPPPPPPPPPPPPTTTPPPPPTTTPPPPPTTTPPPPPTTTTPPPPTTTPPPPPTTTPPPPPTTTPPPPPTTTTPPPPTTTPPPPPTTTPPPPPTTTPPPPPTTTTPPPPPPPPPPPPTTTPPPPPPPPPPPPPTTTPTPPPPPPTTPPPPPPPPPPPPPPTTPPPPPPPPPPPPPPTTPPPPPPTTPPPPPPTTPPPPPPTTPPPPPPTTTPPPPPTTPPPPPPTTTPPPPPTTTPPPPPTTTPPPPPTTTPPPPPTTTPPPPPTTTPPPPPPPPPPPPPTTTPPPPPPPPPPPPPTTPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPTTTPPPPPPPPPPPPPTTTPPPPPPPPPPPPPTTTPPPPPTTTPPPPPTTTPPPPPTTTTPPPPTTTPPPPPTTTPPPPPTTTPPPPPTTTTPPPPTTTPPPPPTTTPPPPPTTTPPPPPTTTTPPPPPPPPPPPPTTTPPPPPPPPPPPPPTTTPTPPPPPPTTPPPPPPPPPPPPPPTTPPPPPPPPPPPPPPTTPPPPPPTTPPPPPPTTPPPPPPTTPPPPPPTTTPPPPPTTPPPPPPTTTPPPPPTTTPPPPPTTTPPPPPTTTPPPPPTTTPPPPPTTTPPPPPPPPPPPPPTTTPPPPPPPPPPPPPTTPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPTTTPPPPPPPPPPPPPTTTPPPPPPPPPPPPPTTTPPPPPTTTPPPPPTTTPPPPPTTTTPPPPTTTPPPPPTTTPPPPPTTTPPPPPTTTTPPPPTTTPPPPPTTTPPPPPTTTPPPPPTTTTPPPPPPPPPPPPTTTPPPPPPPPPPPPPTTTPTPPPPPPTTPPPPPPPPPPPPPPTTPPPPPPPPPPPPPPTTPPPPPPTTPPPPPPTTPPPPPPTTPPPPPPTTTPPPPPTTPPPPPPTTTPPPPPTTTPPPPPTTTPPPPPTTTPPPPPTTTPPPPPTTTPPPPPPPPPPPPPTTTPPPPPPPPPPPPPTT \ No newline at end of file diff --git a/graphics/unknown/unknown_D8C374.bin b/graphics/unknown/unknown_D8C374.bin new file mode 100644 index 0000000000..960ba873ee Binary files /dev/null and b/graphics/unknown/unknown_D8C374.bin differ diff --git a/graphics/unknown/unknown_D8C5C4.bin b/graphics/unknown/unknown_D8C5C4.bin new file mode 100644 index 0000000000..69dbe982a6 Binary files /dev/null and b/graphics/unknown/unknown_D8C5C4.bin differ diff --git a/graphics/unknown/unknown_D95E00.bin b/graphics/unknown/unknown_D95E00.bin new file mode 100644 index 0000000000..d48de1d6fb Binary files /dev/null and b/graphics/unknown/unknown_D95E00.bin differ diff --git a/graphics/unknown/unknown_D960D0.bin b/graphics/unknown/unknown_D960D0.bin new file mode 100644 index 0000000000..6a6f7c0492 --- /dev/null +++ b/graphics/unknown/unknown_D960D0.bin @@ -0,0 +1 @@ +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000€ÀĀŀƀǀȀɀʀˀ̀̀000000000000000000ЀрҀӀԀՀր׀؀ـڀۀ܀݀ހ߀0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/graphics/unknown/unknown_D963A4.bin b/graphics/unknown/unknown_D963A4.bin new file mode 100644 index 0000000000..6312b86450 --- /dev/null +++ b/graphics/unknown/unknown_D963A4.bin @@ -0,0 +1 @@ +τ΄̈́̄˄ʄɄȄDŽƄńĄÄ„߄ބ݄܄ۄڄل؄ׄքՄԄӄ҄фЄ \ No newline at end of file diff --git a/graphics/unknown/unknown_D9A88C.bin b/graphics/unknown/unknown_D9A88C.bin new file mode 100644 index 0000000000..c2ceaf1390 Binary files /dev/null and b/graphics/unknown/unknown_D9A88C.bin differ diff --git a/graphics/unknown/unknown_D9AE04.bin b/graphics/unknown/unknown_D9AE04.bin new file mode 100644 index 0000000000..28ad3f927a Binary files /dev/null and b/graphics/unknown/unknown_D9AE04.bin differ diff --git a/graphics/unknown/unknown_D9AF44.pal b/graphics/unknown/unknown_D9AF44.pal new file mode 100644 index 0000000000..dcfdcf2efd --- /dev/null +++ b/graphics/unknown/unknown_D9AF44.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 98 115 +255 255 255 +205 205 205 +164 164 164 +123 123 123 +98 98 115 +41 57 65 +57 106 139 +41 82 115 +255 255 205 +255 230 139 +255 32 32 +106 213 180 +41 164 123 +189 156 90 +0 0 0 diff --git a/graphics/unknown/unknown_DD19F8.bin b/graphics/unknown/unknown_DD19F8.bin new file mode 100644 index 0000000000..6338ade28d --- /dev/null +++ b/graphics/unknown/unknown_DD19F8.bin @@ -0,0 +1 @@ +33333333333333333333333333333333 \ No newline at end of file diff --git a/graphics/unknown/unknown_DD1A18.png b/graphics/unknown/unknown_DD1A18.png new file mode 100644 index 0000000000..8b4a564bff Binary files /dev/null and b/graphics/unknown/unknown_DD1A18.png differ diff --git a/graphics/unknown/unknown_DD1F78.bin b/graphics/unknown/unknown_DD1F78.bin new file mode 100644 index 0000000000..4e58fafc6a --- /dev/null +++ b/graphics/unknown/unknown_DD1F78.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/graphics/unknown/unknown_DD2010.bin b/graphics/unknown/unknown_DD2010.bin new file mode 100644 index 0000000000..8ebf0b79a9 Binary files /dev/null and b/graphics/unknown/unknown_DD2010.bin differ diff --git a/graphics/unknown/unknown_DD21B0.bin b/graphics/unknown/unknown_DD21B0.bin new file mode 100644 index 0000000000..3ef599ce51 Binary files /dev/null and b/graphics/unknown/unknown_DD21B0.bin differ diff --git a/graphics/unknown/unknown_DD228C.bin b/graphics/unknown/unknown_DD228C.bin new file mode 100644 index 0000000000..63c4b4978b Binary files /dev/null and b/graphics/unknown/unknown_DD228C.bin differ diff --git a/graphics/unknown/unknown_DD2AE0.bin b/graphics/unknown/unknown_DD2AE0.bin new file mode 100644 index 0000000000..c0914427db --- /dev/null +++ b/graphics/unknown/unknown_DD2AE0.bin @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/graphics/unknown/unknown_DD2B78.bin b/graphics/unknown/unknown_DD2B78.bin new file mode 100644 index 0000000000..c83a6e494a Binary files /dev/null and b/graphics/unknown/unknown_DD2B78.bin differ diff --git a/graphics/unknown/unknown_DD2D30.bin b/graphics/unknown/unknown_DD2D30.bin new file mode 100644 index 0000000000..14840e5e46 Binary files /dev/null and b/graphics/unknown/unknown_DD2D30.bin differ diff --git a/graphics/unknown/unknown_DD2E5C.bin b/graphics/unknown/unknown_DD2E5C.bin new file mode 100644 index 0000000000..3169533c05 Binary files /dev/null and b/graphics/unknown/unknown_DD2E5C.bin differ diff --git a/graphics/unknown/unknown_DD36C8.bin b/graphics/unknown/unknown_DD36C8.bin new file mode 100644 index 0000000000..973ef9e150 Binary files /dev/null and b/graphics/unknown/unknown_DD36C8.bin differ diff --git a/graphics/unknown/unknown_DD4544.bin b/graphics/unknown/unknown_DD4544.bin new file mode 100644 index 0000000000..7e36043115 Binary files /dev/null and b/graphics/unknown/unknown_DD4544.bin differ diff --git a/graphics/unknown/unknown_DD4620.bin b/graphics/unknown/unknown_DD4620.bin new file mode 100644 index 0000000000..bc4260b1f1 Binary files /dev/null and b/graphics/unknown/unknown_DD4620.bin differ diff --git a/graphics/unknown/unknown_DD46E0.bin b/graphics/unknown/unknown_DD46E0.bin new file mode 100644 index 0000000000..64095dce5c Binary files /dev/null and b/graphics/unknown/unknown_DD46E0.bin differ diff --git a/graphics/unknown/unknown_DD47A0.bin b/graphics/unknown/unknown_DD47A0.bin new file mode 100644 index 0000000000..847486432f Binary files /dev/null and b/graphics/unknown/unknown_DD47A0.bin differ diff --git a/graphics/unknown/unknown_DDB444.pal b/graphics/unknown/unknown_DDB444.pal new file mode 100644 index 0000000000..bb74b34a28 --- /dev/null +++ b/graphics/unknown/unknown_DDB444.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +123 131 222 +98 98 180 +123 106 222 +106 172 238 +82 148 205 +180 189 230 +148 156 189 +205 106 0 +255 189 49 +246 148 0 +255 213 115 +205 74 90 +255 98 32 +205 205 222 +255 98 32 diff --git a/graphics/unknown/unknown_DDCF04.bin b/graphics/unknown/unknown_DDCF04.bin new file mode 100644 index 0000000000..46218245f0 Binary files /dev/null and b/graphics/unknown/unknown_DDCF04.bin differ diff --git a/graphics/unknown/unknown_DDD704.bin b/graphics/unknown/unknown_DDD704.bin new file mode 100644 index 0000000000..3548661379 Binary files /dev/null and b/graphics/unknown/unknown_DDD704.bin differ diff --git a/graphics/unknown/unknown_E6BC04.bin b/graphics/unknown/unknown_E6BC04.bin new file mode 100644 index 0000000000..91230cb019 Binary files /dev/null and b/graphics/unknown/unknown_E6BC04.bin differ diff --git a/graphics/unused/basic_frame.bin b/graphics/unused/basic_frame.bin new file mode 100644 index 0000000000..8e83eb9f56 Binary files /dev/null and b/graphics/unused/basic_frame.bin differ diff --git a/graphics/unused/basic_frame.png b/graphics/unused/basic_frame.png new file mode 100644 index 0000000000..132671581c Binary files /dev/null and b/graphics/unused/basic_frame.png differ diff --git a/graphics/unused/battle_anim_023.pal b/graphics/unused/battle_anim_023.pal new file mode 100644 index 0000000000..8e6e6e9027 --- /dev/null +++ b/graphics/unused/battle_anim_023.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +0 230 255 +115 230 255 +213 230 255 +0 0 0 +255 255 172 +255 255 115 +0 0 0 +98 139 98 +0 0 0 +0 0 0 +131 131 131 +164 164 164 +213 205 205 +255 255 255 diff --git a/graphics/unused/blank_frame.bin b/graphics/unused/blank_frame.bin new file mode 100644 index 0000000000..e9784eb4c8 Binary files /dev/null and b/graphics/unused/blank_frame.bin differ diff --git a/graphics/unused/blue_frame.bin b/graphics/unused/blue_frame.bin new file mode 100644 index 0000000000..d5c3b6600e Binary files /dev/null and b/graphics/unused/blue_frame.bin differ diff --git a/graphics/unused/cherry.png b/graphics/unused/cherry.png new file mode 100644 index 0000000000..d79fe62d1e Binary files /dev/null and b/graphics/unused/cherry.png differ diff --git a/graphics/unused/color_frames.png b/graphics/unused/color_frames.png new file mode 100644 index 0000000000..9270879eb9 Binary files /dev/null and b/graphics/unused/color_frames.png differ diff --git a/graphics/unused/deoxys_speed_icon_wide.png b/graphics/unused/deoxys_speed_icon_wide.png new file mode 100644 index 0000000000..ccfba4b24c Binary files /dev/null and b/graphics/unused/deoxys_speed_icon_wide.png differ diff --git a/graphics/unused/goosuto.bin b/graphics/unused/goosuto.bin new file mode 100644 index 0000000000..8e53291572 Binary files /dev/null and b/graphics/unused/goosuto.bin differ diff --git a/graphics/unused/goosuto.png b/graphics/unused/goosuto.png new file mode 100644 index 0000000000..257a25c711 Binary files /dev/null and b/graphics/unused/goosuto.png differ diff --git a/graphics/unused/green_frame.bin b/graphics/unused/green_frame.bin new file mode 100644 index 0000000000..b381235d92 Binary files /dev/null and b/graphics/unused/green_frame.bin differ diff --git a/graphics/unused/intro_birch_beauty.png b/graphics/unused/intro_birch_beauty.png new file mode 100644 index 0000000000..85951c902a Binary files /dev/null and b/graphics/unused/intro_birch_beauty.png differ diff --git a/graphics/unused/line_sketch.png b/graphics/unused/line_sketch.png new file mode 100644 index 0000000000..fdfc8d7717 Binary files /dev/null and b/graphics/unused/line_sketch.png differ diff --git a/graphics/unused/line_sketch_2.bin b/graphics/unused/line_sketch_2.bin new file mode 100644 index 0000000000..e68d116a31 Binary files /dev/null and b/graphics/unused/line_sketch_2.bin differ diff --git a/graphics/unused/line_sketch_2.png b/graphics/unused/line_sketch_2.png new file mode 100644 index 0000000000..cb70b3d833 Binary files /dev/null and b/graphics/unused/line_sketch_2.png differ diff --git a/graphics/unused/metronome_hand_small.png b/graphics/unused/metronome_hand_small.png new file mode 100644 index 0000000000..bd6cc8530d Binary files /dev/null and b/graphics/unused/metronome_hand_small.png differ diff --git a/graphics/unused/music_notes.png b/graphics/unused/music_notes.png new file mode 100644 index 0000000000..af89e55a01 Binary files /dev/null and b/graphics/unused/music_notes.png differ diff --git a/graphics/unused/old_battle_interface_1.png b/graphics/unused/old_battle_interface_1.png new file mode 100644 index 0000000000..0b2fe5eb74 Binary files /dev/null and b/graphics/unused/old_battle_interface_1.png differ diff --git a/graphics/unused/old_battle_interface_2.png b/graphics/unused/old_battle_interface_2.png new file mode 100644 index 0000000000..04229ccda2 Binary files /dev/null and b/graphics/unused/old_battle_interface_2.png differ diff --git a/graphics/unused/old_battle_interface_3.png b/graphics/unused/old_battle_interface_3.png new file mode 100644 index 0000000000..428c7765dd Binary files /dev/null and b/graphics/unused/old_battle_interface_3.png differ diff --git a/graphics/unused/old_battle_interface_tilemap.bin b/graphics/unused/old_battle_interface_tilemap.bin new file mode 100644 index 0000000000..aae3307e7b Binary files /dev/null and b/graphics/unused/old_battle_interface_tilemap.bin differ diff --git a/graphics/unused/old_beatup.png b/graphics/unused/old_beatup.png new file mode 100644 index 0000000000..e2a0561e27 Binary files /dev/null and b/graphics/unused/old_beatup.png differ diff --git a/graphics/unused/old_bulbasaur.png b/graphics/unused/old_bulbasaur.png new file mode 100644 index 0000000000..729ebe789c Binary files /dev/null and b/graphics/unused/old_bulbasaur.png differ diff --git a/graphics/unused/old_bulbasaur2.png b/graphics/unused/old_bulbasaur2.png new file mode 100644 index 0000000000..f374e5a9fc Binary files /dev/null and b/graphics/unused/old_bulbasaur2.png differ diff --git a/graphics/unused/old_charizard.png b/graphics/unused/old_charizard.png new file mode 100644 index 0000000000..e1470aadaf Binary files /dev/null and b/graphics/unused/old_charizard.png differ diff --git a/graphics/unused/old_charmap.bin b/graphics/unused/old_charmap.bin new file mode 100644 index 0000000000..13d3b873b6 Binary files /dev/null and b/graphics/unused/old_charmap.bin differ diff --git a/graphics/unused/old_charmap.png b/graphics/unused/old_charmap.png new file mode 100644 index 0000000000..b5ea6e8032 Binary files /dev/null and b/graphics/unused/old_charmap.png differ diff --git a/graphics/unused/old_contest.bin b/graphics/unused/old_contest.bin new file mode 100644 index 0000000000..da6f4652ec Binary files /dev/null and b/graphics/unused/old_contest.bin differ diff --git a/graphics/unused/old_contest.pal b/graphics/unused/old_contest.pal new file mode 100644 index 0000000000..69fde20005 --- /dev/null +++ b/graphics/unused/old_contest.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 0 +255 255 255 +230 230 230 +197 197 197 +148 148 148 +74 65 82 +0 255 0 +0 255 0 +65 74 123 +139 123 131 +82 82 197 +189 82 74 +131 74 98 +74 74 131 +131 139 222 +106 164 164 +0 0 0 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +222 230 230 +230 230 238 +230 238 238 +238 246 246 +246 246 255 +0 0 0 +255 255 255 +172 172 148 +213 213 189 +230 230 213 +189 189 172 +238 238 222 +197 197 180 +0 0 0 +156 156 131 +197 197 189 +139 139 131 +98 98 98 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +115 106 156 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +148 148 156 +131 139 156 +123 131 156 +131 123 164 +123 115 164 +0 0 0 +115 106 156 +255 255 255 +205 156 255 +172 148 197 +230 222 246 +139 131 172 +213 189 238 +0 0 0 +238 238 230 +189 172 197 +222 213 213 +189 172 189 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 164 131 +213 131 90 +255 189 172 +197 98 74 +74 65 82 +255 255 255 +156 156 156 +0 0 0 +0 0 0 +255 255 255 +148 148 148 +255 123 98 +131 246 90 +255 246 74 +131 148 255 +0 0 0 +164 238 98 +131 205 90 +213 255 148 +98 197 49 +74 65 82 +255 255 255 +156 156 156 +0 0 0 +0 0 0 +255 255 255 +148 148 148 +255 123 98 +131 246 90 +255 246 74 +131 148 255 +0 0 0 +246 246 90 +205 205 65 +255 255 180 +180 180 24 +74 65 82 +255 255 255 +156 156 156 +0 0 0 +0 0 0 +255 255 255 +148 148 148 +255 123 98 +131 246 90 +255 246 74 +131 148 255 +0 0 0 +115 205 255 +115 180 205 +156 238 255 +49 98 148 +74 65 82 +255 255 255 +156 156 156 +0 0 0 +0 0 0 +255 255 255 +148 148 148 +255 123 98 +131 246 90 +255 246 74 +131 148 255 +0 0 0 +0 0 0 +255 255 255 +230 230 213 +0 0 0 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +230 230 213 +0 0 0 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +230 230 213 +0 0 0 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +230 230 213 +0 0 0 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +74 65 82 +255 255 255 +222 222 222 +172 172 197 +255 0 0 +0 0 255 +255 255 0 +0 197 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 164 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unused/old_contest_2.bin b/graphics/unused/old_contest_2.bin new file mode 100644 index 0000000000..06836cc198 Binary files /dev/null and b/graphics/unused/old_contest_2.bin differ diff --git a/graphics/unused/old_contest_2.pal b/graphics/unused/old_contest_2.pal new file mode 100644 index 0000000000..3fb1747902 --- /dev/null +++ b/graphics/unused/old_contest_2.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 0 +255 255 255 +230 230 230 +197 197 197 +148 148 148 +74 65 82 +0 255 0 +0 255 0 +65 74 123 +139 123 131 +82 82 197 +189 82 74 +131 74 98 +74 74 131 +131 139 222 +106 164 164 +0 0 0 +115 123 156 +90 65 57 +148 197 106 +123 98 65 +131 123 49 +222 189 148 +164 131 106 +115 164 82 +164 148 57 +90 106 139 +180 172 82 +82 139 49 +255 230 189 +222 131 41 +246 246 222 +205 148 115 +255 106 115 +255 57 57 +156 0 0 +164 222 255 +106 148 255 +49 82 255 +255 255 115 +246 222 65 +230 106 0 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +0 0 0 +255 255 115 +246 222 90 +238 189 65 +238 164 41 +230 131 16 +230 106 0 +255 41 0 +255 148 82 +255 255 164 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +0 0 0 +255 131 106 +197 24 16 +164 222 255 +106 148 255 +49 82 255 +255 197 255 +255 139 255 +213 0 139 +148 255 164 +65 205 57 +246 222 65 +230 106 0 +255 255 255 +65 74 106 +65 74 106 +197 255 255 +246 246 90 +205 205 65 +255 255 180 +180 180 24 +74 65 82 +255 255 255 +156 156 156 +255 156 156 +0 0 0 +255 255 255 +255 148 148 +255 123 98 +255 0 0 +148 148 148 +0 0 0 +197 255 255 +246 246 90 +205 205 65 +255 255 180 +180 180 24 +74 65 82 +255 255 255 +156 156 156 +255 156 156 +0 0 0 +255 255 255 +255 148 148 +255 123 98 +255 0 0 +148 148 148 +0 0 0 +197 255 255 +246 246 90 +205 205 65 +255 255 180 +180 180 24 +74 65 82 +255 255 255 +156 156 156 +255 156 156 +0 0 0 +255 255 255 +255 148 148 +255 123 98 +255 0 0 +148 148 148 +0 0 0 +197 255 255 +213 255 213 +156 222 148 +222 255 230 +123 189 115 +74 65 82 +255 255 255 +156 156 156 +255 156 156 +0 0 0 +255 255 255 +255 148 148 +255 123 98 +255 0 0 +148 148 148 +0 0 0 +0 172 255 +0 0 0 +255 255 255 +230 230 213 +0 0 0 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +197 255 255 +0 0 0 +0 0 0 +0 0 0 +65 0 0 +123 0 0 +189 0 0 +255 8 0 +255 65 0 +255 123 0 +255 189 0 +255 255 0 +255 255 123 +255 255 255 +189 189 197 +131 131 139 +98 98 123 +65 74 106 +41 49 90 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unused/old_contest_2_1.png b/graphics/unused/old_contest_2_1.png new file mode 100644 index 0000000000..67b81de2d7 Binary files /dev/null and b/graphics/unused/old_contest_2_1.png differ diff --git a/graphics/unused/old_contest_2_2.png b/graphics/unused/old_contest_2_2.png new file mode 100644 index 0000000000..a33a8c3241 Binary files /dev/null and b/graphics/unused/old_contest_2_2.png differ diff --git a/graphics/unused/old_contest_classes.png b/graphics/unused/old_contest_classes.png new file mode 100644 index 0000000000..c2e7b5e298 Binary files /dev/null and b/graphics/unused/old_contest_classes.png differ diff --git a/graphics/unused/old_contest_floor.png b/graphics/unused/old_contest_floor.png new file mode 100644 index 0000000000..94877b921f Binary files /dev/null and b/graphics/unused/old_contest_floor.png differ diff --git a/graphics/unused/old_contest_frame_1.png b/graphics/unused/old_contest_frame_1.png new file mode 100644 index 0000000000..28eaae905f Binary files /dev/null and b/graphics/unused/old_contest_frame_1.png differ diff --git a/graphics/unused/old_contest_frame_2.png b/graphics/unused/old_contest_frame_2.png new file mode 100644 index 0000000000..c8b20408cb Binary files /dev/null and b/graphics/unused/old_contest_frame_2.png differ diff --git a/graphics/unused/old_contest_meter.png b/graphics/unused/old_contest_meter.png new file mode 100644 index 0000000000..606208b1f8 Binary files /dev/null and b/graphics/unused/old_contest_meter.png differ diff --git a/graphics/unused/old_contest_numbers.png b/graphics/unused/old_contest_numbers.png new file mode 100644 index 0000000000..98c1459768 Binary files /dev/null and b/graphics/unused/old_contest_numbers.png differ diff --git a/graphics/unused/old_contest_symbols.png b/graphics/unused/old_contest_symbols.png new file mode 100644 index 0000000000..87cac733ec Binary files /dev/null and b/graphics/unused/old_contest_symbols.png differ diff --git a/graphics/unused/old_pal1.pal b/graphics/unused/old_pal1.pal new file mode 100644 index 0000000000..1e2ef90831 --- /dev/null +++ b/graphics/unused/old_pal1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +16 139 0 +0 0 0 +148 65 65 +0 0 0 +148 65 32 +16 0 0 +148 65 32 +8 8 0 +148 65 32 +148 8 8 +148 65 65 +24 16 0 +16 139 98 +32 0 0 +0 16 139 +0 0 0 diff --git a/graphics/unused/old_pal2.pal b/graphics/unused/old_pal2.pal new file mode 100644 index 0000000000..3c5e6ad7fd --- /dev/null +++ b/graphics/unused/old_pal2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +16 139 0 +0 0 0 +148 65 65 +0 0 0 +148 65 32 +16 0 0 +148 65 32 +8 8 0 +148 65 32 +16 0 0 +148 65 65 +0 0 0 +16 139 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unused/old_pal3.pal b/graphics/unused/old_pal3.pal new file mode 100644 index 0000000000..d07e21019f --- /dev/null +++ b/graphics/unused/old_pal3.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +0 16 139 +0 0 0 +0 213 98 +32 0 0 +0 213 98 +24 16 0 +0 213 98 +156 8 8 +0 213 98 +24 16 0 +0 213 98 +32 0 0 +0 16 139 +0 0 0 diff --git a/graphics/unused/old_pal4.pal b/graphics/unused/old_pal4.pal new file mode 100644 index 0000000000..60b814f758 --- /dev/null +++ b/graphics/unused/old_pal4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +41 41 57 +90 90 106 +172 172 180 +197 197 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/unused/old_pal5.pal b/graphics/unused/old_pal5.pal new file mode 100644 index 0000000000..b6f481d464 --- /dev/null +++ b/graphics/unused/old_pal5.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 156 131 +115 115 115 +189 189 189 +255 255 255 +189 164 41 +246 246 41 +222 106 32 +246 131 41 +115 98 246 +98 74 205 +238 115 156 +246 148 246 +115 172 246 +8 8 8 +90 90 90 +65 65 65 diff --git a/graphics/unused/old_pal6.pal b/graphics/unused/old_pal6.pal new file mode 100644 index 0000000000..6d91e99189 --- /dev/null +++ b/graphics/unused/old_pal6.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 156 131 +115 115 115 +189 189 189 +255 255 255 +115 148 74 +156 205 74 +148 246 74 +238 115 156 +246 148 246 +189 164 41 +246 246 41 +8 8 8 +8 8 8 +8 8 8 +90 90 90 +65 65 65 diff --git a/graphics/unused/old_pal7.pal b/graphics/unused/old_pal7.pal new file mode 100644 index 0000000000..d380bc65df --- /dev/null +++ b/graphics/unused/old_pal7.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +98 156 131 +115 115 115 +156 156 156 +255 255 255 +98 115 246 +115 172 246 +164 98 41 +230 172 139 +189 164 41 +246 246 41 +246 98 82 +148 123 205 +197 164 205 +213 41 156 +90 90 90 +65 65 65 diff --git a/graphics/unused/red_frame.bin b/graphics/unused/red_frame.bin new file mode 100644 index 0000000000..5090b1b842 Binary files /dev/null and b/graphics/unused/red_frame.bin differ diff --git a/graphics/unused/redyellowgreen_frame.bin b/graphics/unused/redyellowgreen_frame.bin new file mode 100644 index 0000000000..6852998fb8 Binary files /dev/null and b/graphics/unused/redyellowgreen_frame.bin differ diff --git a/graphics/unused/shadow.png b/graphics/unused/shadow.png new file mode 100644 index 0000000000..7d090ad3df Binary files /dev/null and b/graphics/unused/shadow.png differ diff --git a/graphics/unused/tilemap_5773C4.bin b/graphics/unused/tilemap_5773C4.bin new file mode 100644 index 0000000000..95e7b00d53 --- /dev/null +++ b/graphics/unused/tilemap_5773C4.bin @@ -0,0 +1 @@ +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" \ No newline at end of file diff --git a/graphics/unused/unknown_5726B4.pal b/graphics/unused/unknown_5726B4.pal new file mode 100644 index 0000000000..a28f6d3329 --- /dev/null +++ b/graphics/unused/unknown_5726B4.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +0 0 0 +65 205 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 139 189 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +148 148 172 +0 0 0 +255 156 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +189 90 82 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +148 148 172 diff --git a/graphics/unused/unused_DDCEE4.bin b/graphics/unused/unused_DDCEE4.bin new file mode 100644 index 0000000000..481183cbd6 Binary files /dev/null and b/graphics/unused/unused_DDCEE4.bin differ diff --git a/graphics/unused/water_splash.bin b/graphics/unused/water_splash.bin new file mode 100644 index 0000000000..059347fa72 Binary files /dev/null and b/graphics/unused/water_splash.bin differ diff --git a/graphics/unused/water_splash.png b/graphics/unused/water_splash.png new file mode 100644 index 0000000000..a8439a0501 Binary files /dev/null and b/graphics/unused/water_splash.png differ diff --git a/graphics/unused/yellow_frame.bin b/graphics/unused/yellow_frame.bin new file mode 100644 index 0000000000..30ba3ed016 Binary files /dev/null and b/graphics/unused/yellow_frame.bin differ diff --git a/graphics/wallclock/graphics_85b1f58.png b/graphics/wallclock/graphics_85b1f58.png new file mode 100644 index 0000000000..06a4ecad00 Binary files /dev/null and b/graphics/wallclock/graphics_85b1f58.png differ diff --git a/graphics/wallclock/palette_85b21d4.pal b/graphics/wallclock/palette_85b21d4.pal new file mode 100644 index 0000000000..fda3176085 --- /dev/null +++ b/graphics/wallclock/palette_85b21d4.pal @@ -0,0 +1,7 @@ +JASC-PAL +0100 +4 +0 0 0 +74 180 189 +255 255 255 +0 0 0 diff --git a/graphics/weather/0.pal b/graphics/weather/0.pal new file mode 100644 index 0000000000..6191b66928 --- /dev/null +++ b/graphics/weather/0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +172 230 255 +115 205 255 +74 180 255 +148 148 148 +197 197 197 +213 213 213 +222 222 222 +164 164 164 +255 0 255 +255 0 255 +255 0 255 +180 180 180 +230 230 230 +246 246 246 +255 255 255 diff --git a/graphics/weather/1.pal b/graphics/weather/1.pal new file mode 100644 index 0000000000..fe57a8c7f7 --- /dev/null +++ b/graphics/weather/1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +65 148 255 +180 222 255 +115 205 246 +131 197 255 +82 189 246 +172 238 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/weather/2.pal b/graphics/weather/2.pal new file mode 100644 index 0000000000..9516c7a191 --- /dev/null +++ b/graphics/weather/2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 230 139 +189 131 74 +238 197 123 +213 164 98 +164 106 49 +255 246 164 +222 205 164 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/weather/ash.png b/graphics/weather/ash.png new file mode 100644 index 0000000000..9016050786 Binary files /dev/null and b/graphics/weather/ash.png differ diff --git a/graphics/weather/bubble.png b/graphics/weather/bubble.png new file mode 100644 index 0000000000..05885a11d9 Binary files /dev/null and b/graphics/weather/bubble.png differ diff --git a/graphics/weather/cloud.png b/graphics/weather/cloud.png new file mode 100644 index 0000000000..7eb3c61d98 Binary files /dev/null and b/graphics/weather/cloud.png differ diff --git a/graphics/weather/drought0.bin b/graphics/weather/drought0.bin new file mode 100644 index 0000000000..54748ea042 Binary files /dev/null and b/graphics/weather/drought0.bin differ diff --git a/graphics/weather/drought1.bin b/graphics/weather/drought1.bin new file mode 100644 index 0000000000..932da7b46f Binary files /dev/null and b/graphics/weather/drought1.bin differ diff --git a/graphics/weather/drought2.bin b/graphics/weather/drought2.bin new file mode 100644 index 0000000000..7271feda42 Binary files /dev/null and b/graphics/weather/drought2.bin differ diff --git a/graphics/weather/drought3.bin b/graphics/weather/drought3.bin new file mode 100644 index 0000000000..f983e37a53 Binary files /dev/null and b/graphics/weather/drought3.bin differ diff --git a/graphics/weather/drought4.bin b/graphics/weather/drought4.bin new file mode 100644 index 0000000000..bba7a0909c Binary files /dev/null and b/graphics/weather/drought4.bin differ diff --git a/graphics/weather/drought5.bin b/graphics/weather/drought5.bin new file mode 100644 index 0000000000..9e13c930b1 Binary files /dev/null and b/graphics/weather/drought5.bin differ diff --git a/graphics/weather/fog1.png b/graphics/weather/fog1.png new file mode 100644 index 0000000000..02e3cd3cb5 Binary files /dev/null and b/graphics/weather/fog1.png differ diff --git a/graphics/weather/fog2.png b/graphics/weather/fog2.png new file mode 100644 index 0000000000..198c6f494d Binary files /dev/null and b/graphics/weather/fog2.png differ diff --git a/graphics/weather/rain.png b/graphics/weather/rain.png new file mode 100644 index 0000000000..eaaa0b4e36 Binary files /dev/null and b/graphics/weather/rain.png differ diff --git a/graphics/weather/sandstorm.png b/graphics/weather/sandstorm.png new file mode 100644 index 0000000000..aeb03f59f2 Binary files /dev/null and b/graphics/weather/sandstorm.png differ diff --git a/graphics/weather/snow0.png b/graphics/weather/snow0.png new file mode 100644 index 0000000000..1e35531720 Binary files /dev/null and b/graphics/weather/snow0.png differ diff --git a/graphics/weather/snow1.png b/graphics/weather/snow1.png new file mode 100644 index 0000000000..7277d51d41 Binary files /dev/null and b/graphics/weather/snow1.png differ diff --git a/graphics/interface/wonder_card_1.bin b/graphics/wonder_transfers/wonder_card_1.bin similarity index 100% rename from graphics/interface/wonder_card_1.bin rename to graphics/wonder_transfers/wonder_card_1.bin diff --git a/graphics/interface/wonder_card_1.png b/graphics/wonder_transfers/wonder_card_1.png similarity index 100% rename from graphics/interface/wonder_card_1.png rename to graphics/wonder_transfers/wonder_card_1.png diff --git a/graphics/interface/wonder_card_2.bin b/graphics/wonder_transfers/wonder_card_2.bin similarity index 100% rename from graphics/interface/wonder_card_2.bin rename to graphics/wonder_transfers/wonder_card_2.bin diff --git a/graphics/interface/wonder_card_2.png b/graphics/wonder_transfers/wonder_card_2.png similarity index 100% rename from graphics/interface/wonder_card_2.png rename to graphics/wonder_transfers/wonder_card_2.png diff --git a/graphics/interface/wonder_card_3.bin b/graphics/wonder_transfers/wonder_card_3.bin similarity index 100% rename from graphics/interface/wonder_card_3.bin rename to graphics/wonder_transfers/wonder_card_3.bin diff --git a/graphics/interface/wonder_card_3.png b/graphics/wonder_transfers/wonder_card_3.png similarity index 100% rename from graphics/interface/wonder_card_3.png rename to graphics/wonder_transfers/wonder_card_3.png diff --git a/graphics/interface/wonder_card_4.png b/graphics/wonder_transfers/wonder_card_4.png similarity index 100% rename from graphics/interface/wonder_card_4.png rename to graphics/wonder_transfers/wonder_card_4.png diff --git a/graphics/interface/wonder_card_5.png b/graphics/wonder_transfers/wonder_card_5.png similarity index 100% rename from graphics/interface/wonder_card_5.png rename to graphics/wonder_transfers/wonder_card_5.png diff --git a/graphics/interface/wonder_card_6.png b/graphics/wonder_transfers/wonder_card_6.png similarity index 100% rename from graphics/interface/wonder_card_6.png rename to graphics/wonder_transfers/wonder_card_6.png diff --git a/graphics/interface/wonder_card_7.bin b/graphics/wonder_transfers/wonder_card_7.bin similarity index 100% rename from graphics/interface/wonder_card_7.bin rename to graphics/wonder_transfers/wonder_card_7.bin diff --git a/graphics/interface/wonder_card_7.png b/graphics/wonder_transfers/wonder_card_7.png similarity index 100% rename from graphics/interface/wonder_card_7.png rename to graphics/wonder_transfers/wonder_card_7.png diff --git a/graphics/interface/wonder_card_8.bin b/graphics/wonder_transfers/wonder_card_8.bin similarity index 100% rename from graphics/interface/wonder_card_8.bin rename to graphics/wonder_transfers/wonder_card_8.bin diff --git a/graphics/interface/wonder_card_8.png b/graphics/wonder_transfers/wonder_card_8.png similarity index 100% rename from graphics/interface/wonder_card_8.png rename to graphics/wonder_transfers/wonder_card_8.png diff --git a/graphics/interface/wonder_card_shadow.png b/graphics/wonder_transfers/wonder_card_shadow.png similarity index 100% rename from graphics/interface/wonder_card_shadow.png rename to graphics/wonder_transfers/wonder_card_shadow.png diff --git a/graphics/interface/wonder_card_shadow_1.pal b/graphics/wonder_transfers/wonder_card_shadow_1.pal similarity index 100% rename from graphics/interface/wonder_card_shadow_1.pal rename to graphics/wonder_transfers/wonder_card_shadow_1.pal diff --git a/graphics/interface/wonder_card_shadow_2.pal b/graphics/wonder_transfers/wonder_card_shadow_2.pal similarity index 100% rename from graphics/interface/wonder_card_shadow_2.pal rename to graphics/wonder_transfers/wonder_card_shadow_2.pal diff --git a/graphics/interface/wonder_card_shadow_3.pal b/graphics/wonder_transfers/wonder_card_shadow_3.pal similarity index 100% rename from graphics/interface/wonder_card_shadow_3.pal rename to graphics/wonder_transfers/wonder_card_shadow_3.pal diff --git a/graphics/interface/wonder_card_shadow_4.pal b/graphics/wonder_transfers/wonder_card_shadow_4.pal similarity index 100% rename from graphics/interface/wonder_card_shadow_4.pal rename to graphics/wonder_transfers/wonder_card_shadow_4.pal diff --git a/graphics/interface/wonder_card_shadow_5.pal b/graphics/wonder_transfers/wonder_card_shadow_5.pal similarity index 100% rename from graphics/interface/wonder_card_shadow_5.pal rename to graphics/wonder_transfers/wonder_card_shadow_5.pal diff --git a/graphics/interface/wonder_card_shadow_6.pal b/graphics/wonder_transfers/wonder_card_shadow_6.pal similarity index 100% rename from graphics/interface/wonder_card_shadow_6.pal rename to graphics/wonder_transfers/wonder_card_shadow_6.pal diff --git a/graphics/interface/wonder_card_shadow_7.pal b/graphics/wonder_transfers/wonder_card_shadow_7.pal similarity index 100% rename from graphics/interface/wonder_card_shadow_7.pal rename to graphics/wonder_transfers/wonder_card_shadow_7.pal diff --git a/graphics/interface/wonder_card_shadow_8.pal b/graphics/wonder_transfers/wonder_card_shadow_8.pal similarity index 100% rename from graphics/interface/wonder_card_shadow_8.pal rename to graphics/wonder_transfers/wonder_card_shadow_8.pal diff --git a/graphics/interface/wonder_news_1.bin b/graphics/wonder_transfers/wonder_news_1.bin similarity index 100% rename from graphics/interface/wonder_news_1.bin rename to graphics/wonder_transfers/wonder_news_1.bin diff --git a/graphics/interface/wonder_news_1.png b/graphics/wonder_transfers/wonder_news_1.png similarity index 100% rename from graphics/interface/wonder_news_1.png rename to graphics/wonder_transfers/wonder_news_1.png diff --git a/graphics/interface/wonder_news_2.bin b/graphics/wonder_transfers/wonder_news_2.bin similarity index 100% rename from graphics/interface/wonder_news_2.bin rename to graphics/wonder_transfers/wonder_news_2.bin diff --git a/graphics/interface/wonder_news_2.png b/graphics/wonder_transfers/wonder_news_2.png similarity index 100% rename from graphics/interface/wonder_news_2.png rename to graphics/wonder_transfers/wonder_news_2.png diff --git a/graphics/interface/wonder_news_3.bin b/graphics/wonder_transfers/wonder_news_3.bin similarity index 100% rename from graphics/interface/wonder_news_3.bin rename to graphics/wonder_transfers/wonder_news_3.bin diff --git a/graphics/interface/wonder_news_3.png b/graphics/wonder_transfers/wonder_news_3.png similarity index 100% rename from graphics/interface/wonder_news_3.png rename to graphics/wonder_transfers/wonder_news_3.png diff --git a/graphics/interface/wonder_news_7.bin b/graphics/wonder_transfers/wonder_news_7.bin similarity index 100% rename from graphics/interface/wonder_news_7.bin rename to graphics/wonder_transfers/wonder_news_7.bin diff --git a/graphics/interface/wonder_news_7.png b/graphics/wonder_transfers/wonder_news_7.png similarity index 100% rename from graphics/interface/wonder_news_7.png rename to graphics/wonder_transfers/wonder_news_7.png diff --git a/graphics/interface/wonder_news_8.bin b/graphics/wonder_transfers/wonder_news_8.bin similarity index 100% rename from graphics/interface/wonder_news_8.bin rename to graphics/wonder_transfers/wonder_news_8.bin diff --git a/graphics/interface/wonder_news_8.png b/graphics/wonder_transfers/wonder_news_8.png similarity index 100% rename from graphics/interface/wonder_news_8.png rename to graphics/wonder_transfers/wonder_news_8.png diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index def35bc4e5..092ab5644d 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -1,292 +1,671 @@ -monstillfrontdir := graphics/pokemon/front_pics -monbackdir := graphics/pokemon/back_pics -monfrontdir := graphics/pokemon/anim_front_pics -monpaldir := graphics/pokemon/palettes -INTROGFXDIR := graphics/intro -interfacedir := graphics/interface +MONSTILLFRONTGFXDIR := graphics/pokemon/front_pics +MONBACKGFXDIR := graphics/pokemon/back_pics +MONFRONTGFXDIR := graphics/pokemon/anim_front_pics +MONPALDIR := graphics/pokemon/palettes +TILESETGFXDIR := data/tilesets +FONTGFXDIR := data/graphics/fonts +INTERFACEGFXDIR := graphics/interface +BTLANMSPRGFXDIR := graphics/battle_anims/sprites +UNUSEDGFXDIR := graphics/unused +UNKNOWNGFXDIR := graphics/unknown +BATINTGFXDIR := graphics/battle_interface +MASKSGFXDIR := graphics/battle_anims/masks +BATTRANSGFXDIR := graphics/battle_transitions +TYPESGFXDIR := graphics/types +RAYQUAZAGFXDIR := graphics/rayquaza_scene +ROULETTEGFXDIR := graphics/roulette +SLOTMACHINEGFXDIR := graphics/slot_machine +PKNAVGFXDIR := graphics/pokenav +PKNAVOPTIONSGFXDIR := graphics/pokenav/options +PSSGFXDIR := graphics/pokemon_storage +MAPOBJGFXDIR := graphics/map_objects +MISCGFXDIR := graphics/misc -$(monstillfrontdir)/castform_still_front_pic.4bpp: $(monstillfrontdir)/castform_normal_form_still_front_pic.4bpp \ - $(monstillfrontdir)/castform_sunny_form_still_front_pic.4bpp \ - $(monstillfrontdir)/castform_rainy_form_still_front_pic.4bpp \ - $(monstillfrontdir)/castform_snowy_form_still_front_pic.4bpp - @cat $(monstillfrontdir)/castform_normal_form_still_front_pic.4bpp $(monstillfrontdir)/castform_sunny_form_still_front_pic.4bpp $(monstillfrontdir)/castform_rainy_form_still_front_pic.4bpp $(monstillfrontdir)/castform_snowy_form_still_front_pic.4bpp >$@ +types := normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark +contest_types := cool beauty cute smart tough -$(monbackdir)/castform_back_pic.4bpp: $(monbackdir)/castform_normal_form_back_pic.4bpp \ - $(monbackdir)/castform_sunny_form_back_pic.4bpp \ - $(monbackdir)/castform_rainy_form_back_pic.4bpp \ - $(monbackdir)/castform_snowy_form_back_pic.4bpp - @cat $(monbackdir)/castform_normal_form_back_pic.4bpp $(monbackdir)/castform_sunny_form_back_pic.4bpp $(monbackdir)/castform_rainy_form_back_pic.4bpp $(monbackdir)/castform_snowy_form_back_pic.4bpp >$@ +$(MONSTILLFRONTGFXDIR)/castform_still_front_pic.4bpp: $(MONSTILLFRONTGFXDIR)/castform_normal_form_still_front_pic.4bpp \ + $(MONSTILLFRONTGFXDIR)/castform_sunny_form_still_front_pic.4bpp \ + $(MONSTILLFRONTGFXDIR)/castform_rainy_form_still_front_pic.4bpp \ + $(MONSTILLFRONTGFXDIR)/castform_snowy_form_still_front_pic.4bpp + @cat $^ >$@ -$(monfrontdir)/castform_front_pic.4bpp: $(monfrontdir)/castform_normal_form_front_pic.4bpp \ - $(monfrontdir)/castform_sunny_form_front_pic.4bpp \ - $(monfrontdir)/castform_rainy_form_front_pic.4bpp \ - $(monfrontdir)/castform_snowy_form_front_pic.4bpp - @cat $(monfrontdir)/castform_normal_form_front_pic.4bpp $(monfrontdir)/castform_sunny_form_front_pic.4bpp $(monfrontdir)/castform_rainy_form_front_pic.4bpp $(monfrontdir)/castform_snowy_form_front_pic.4bpp >$@ +$(MONBACKGFXDIR)/castform_back_pic.4bpp: $(MONBACKGFXDIR)/castform_normal_form_back_pic.4bpp \ + $(MONBACKGFXDIR)/castform_sunny_form_back_pic.4bpp \ + $(MONBACKGFXDIR)/castform_rainy_form_back_pic.4bpp \ + $(MONBACKGFXDIR)/castform_snowy_form_back_pic.4bpp + @cat $^ >$@ -$(monpaldir)/castform_palette.gbapal: $(monpaldir)/castform_normal_form_palette.gbapal \ - $(monpaldir)/castform_sunny_form_palette.gbapal \ - $(monpaldir)/castform_rainy_form_palette.gbapal \ - $(monpaldir)/castform_snowy_form_palette.gbapal - @cat $(monpaldir)/castform_normal_form_palette.gbapal $(monpaldir)/castform_sunny_form_palette.gbapal $(monpaldir)/castform_rainy_form_palette.gbapal $(monpaldir)/castform_snowy_form_palette.gbapal >$@ +$(MONFRONTGFXDIR)/castform_front_pic.4bpp: $(MONFRONTGFXDIR)/castform_normal_form_front_pic.4bpp \ + $(MONFRONTGFXDIR)/castform_sunny_form_front_pic.4bpp \ + $(MONFRONTGFXDIR)/castform_rainy_form_front_pic.4bpp \ + $(MONFRONTGFXDIR)/castform_snowy_form_front_pic.4bpp + @cat $^ >$@ -$(monpaldir)/castform_shiny_palette.gbapal: $(monpaldir)/castform_normal_form_shiny_palette.gbapal \ - $(monpaldir)/castform_sunny_form_shiny_palette.gbapal \ - $(monpaldir)/castform_rainy_form_shiny_palette.gbapal \ - $(monpaldir)/castform_snowy_form_shiny_palette.gbapal - @cat $(monpaldir)/castform_normal_form_shiny_palette.gbapal $(monpaldir)/castform_sunny_form_shiny_palette.gbapal $(monpaldir)/castform_rainy_form_shiny_palette.gbapal $(monpaldir)/castform_snowy_form_shiny_palette.gbapal >$@ +$(MONPALDIR)/castform_palette.gbapal: $(MONPALDIR)/castform_normal_form_palette.gbapal \ + $(MONPALDIR)/castform_sunny_form_palette.gbapal \ + $(MONPALDIR)/castform_rainy_form_palette.gbapal \ + $(MONPALDIR)/castform_snowy_form_palette.gbapal + @cat $^ >$@ -tilesetdir := data/tilesets +$(MONPALDIR)/castform_shiny_palette.gbapal: $(MONPALDIR)/castform_normal_form_shiny_palette.gbapal \ + $(MONPALDIR)/castform_sunny_form_shiny_palette.gbapal \ + $(MONPALDIR)/castform_rainy_form_shiny_palette.gbapal \ + $(MONPALDIR)/castform_snowy_form_shiny_palette.gbapal + @cat $^ >$@ -$(tilesetdir)/secondary/petalburg/tiles.4bpp: $(tilesetdir)/secondary/petalburg/tiles.png +$(TILESETGFXDIR)/secondary/petalburg/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 159 -$(tilesetdir)/secondary/rustboro/tiles.4bpp: $(tilesetdir)/secondary/rustboro/tiles.png +$(TILESETGFXDIR)/secondary/rustboro/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 498 -$(tilesetdir)/secondary/dewford/tiles.4bpp: $(tilesetdir)/secondary/dewford/tiles.png +$(TILESETGFXDIR)/secondary/dewford/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 503 -$(tilesetdir)/secondary/slateport/tiles.4bpp: $(tilesetdir)/secondary/slateport/tiles.png +$(TILESETGFXDIR)/secondary/slateport/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 504 -$(tilesetdir)/secondary/mauville/tiles.4bpp: $(tilesetdir)/secondary/mauville/tiles.png +$(TILESETGFXDIR)/secondary/mauville/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 503 -$(tilesetdir)/secondary/lavaridge/tiles.4bpp: $(tilesetdir)/secondary/lavaridge/tiles.png +$(TILESETGFXDIR)/secondary/lavaridge/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 450 -$(tilesetdir)/secondary/fortree/tiles.4bpp: $(tilesetdir)/secondary/fortree/tiles.png +$(TILESETGFXDIR)/secondary/fortree/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 493 -$(tilesetdir)/secondary/pacifidlog/tiles.4bpp: $(tilesetdir)/secondary/pacifidlog/tiles.png +$(TILESETGFXDIR)/secondary/pacifidlog/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 504 -$(tilesetdir)/secondary/sootopolis/tiles.4bpp: $(tilesetdir)/secondary/sootopolis/tiles.png +$(TILESETGFXDIR)/secondary/sootopolis/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 328 -$(tilesetdir)/secondary/battle_frontier_outside_west/tiles.4bpp: $(tilesetdir)/secondary/battle_frontier_outside_west/tiles.png +$(TILESETGFXDIR)/secondary/battle_frontier_outside_west/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 508 -$(tilesetdir)/secondary/battle_frontier_outside_east/tiles.4bpp: $(tilesetdir)/secondary/battle_frontier_outside_east/tiles.png +$(TILESETGFXDIR)/secondary/battle_frontier_outside_east/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 508 -$(tilesetdir)/primary/inside_building/tiles.4bpp: $(tilesetdir)/primary/inside_building/tiles.png +$(TILESETGFXDIR)/primary/building/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 502 -$(tilesetdir)/secondary/shop/tiles.4bpp: $(tilesetdir)/secondary/shop/tiles.png +$(TILESETGFXDIR)/secondary/shop/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 502 -$(tilesetdir)/secondary/pokemon_center/tiles.4bpp: $(tilesetdir)/secondary/pokemon_center/tiles.png +$(TILESETGFXDIR)/secondary/pokemon_center/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 478 -$(tilesetdir)/secondary/cave/tiles.4bpp: $(tilesetdir)/secondary/cave/tiles.png +$(TILESETGFXDIR)/secondary/cave/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 425 -$(tilesetdir)/secondary/pokemon_school/tiles.4bpp: $(tilesetdir)/secondary/pokemon_school/tiles.png +$(TILESETGFXDIR)/secondary/pokemon_school/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 278 -$(tilesetdir)/secondary/pokemon_fan_club/tiles.4bpp: $(tilesetdir)/secondary/pokemon_fan_club/tiles.png +$(TILESETGFXDIR)/secondary/pokemon_fan_club/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 319 -$(tilesetdir)/secondary/unused_1/tiles.4bpp: $(tilesetdir)/secondary/unused_1/tiles.png +$(TILESETGFXDIR)/secondary/unused_1/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 17 -$(tilesetdir)/secondary/meteor_falls/tiles.4bpp: $(tilesetdir)/secondary/meteor_falls/tiles.png +$(TILESETGFXDIR)/secondary/meteor_falls/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 460 -$(tilesetdir)/secondary/oceanic_museum/tiles.4bpp: $(tilesetdir)/secondary/oceanic_museum/tiles.png +$(TILESETGFXDIR)/secondary/oceanic_museum/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 319 -$(tilesetdir)/secondary/cable_club/unknown_tiles.4bpp: $(tilesetdir)/secondary/cable_club/unknown_tiles.png +$(TILESETGFXDIR)/secondary/cable_club/unknown_tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 120 -$(tilesetdir)/secondary/seashore_house/tiles.4bpp: $(tilesetdir)/secondary/seashore_house/tiles.png +$(TILESETGFXDIR)/secondary/seashore_house/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 312 -$(tilesetdir)/secondary/pretty_petal_flower_shop/tiles.4bpp: $(tilesetdir)/secondary/pretty_petal_flower_shop/tiles.png +$(TILESETGFXDIR)/secondary/pretty_petal_flower_shop/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 345 -$(tilesetdir)/secondary/pokemon_day_care/tiles.4bpp: $(tilesetdir)/secondary/pokemon_day_care/tiles.png +$(TILESETGFXDIR)/secondary/pokemon_day_care/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 355 -$(tilesetdir)/secondary/secret_base/brown_cave/unused_tiles.4bpp: $(tilesetdir)/secondary/secret_base/brown_cave/tiles.png +$(TILESETGFXDIR)/secondary/secret_base/brown_cave/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/brown_cave/tiles.png $(GFX) $< $@ -num_tiles 82 -$(tilesetdir)/secondary/secret_base/tree/unused_tiles.4bpp: $(tilesetdir)/secondary/secret_base/tree/tiles.png +$(TILESETGFXDIR)/secondary/secret_base/tree/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/tree/tiles.png $(GFX) $< $@ -num_tiles 82 -$(tilesetdir)/secondary/secret_base/shrub/unused_tiles.4bpp: $(tilesetdir)/secondary/secret_base/shrub/tiles.png +$(TILESETGFXDIR)/secondary/secret_base/shrub/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/shrub/tiles.png $(GFX) $< $@ -num_tiles 82 -$(tilesetdir)/secondary/secret_base/blue_cave/unused_tiles.4bpp: $(tilesetdir)/secondary/secret_base/blue_cave/tiles.png +$(TILESETGFXDIR)/secondary/secret_base/blue_cave/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/blue_cave/tiles.png $(GFX) $< $@ -num_tiles 82 -$(tilesetdir)/secondary/secret_base/yellow_cave/unused_tiles.4bpp: $(tilesetdir)/secondary/secret_base/yellow_cave/tiles.png +$(TILESETGFXDIR)/secondary/secret_base/yellow_cave/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/yellow_cave/tiles.png $(GFX) $< $@ -num_tiles 82 -$(tilesetdir)/secondary/secret_base/red_cave/unused_tiles.4bpp: $(tilesetdir)/secondary/secret_base/red_cave/tiles.png +$(TILESETGFXDIR)/secondary/secret_base/red_cave/unused_tiles.4bpp: $(TILESETGFXDIR)/secondary/secret_base/red_cave/tiles.png $(GFX) $< $@ -num_tiles 82 -$(tilesetdir)/secondary/secret_base/brown_cave/tiles.4bpp: $(tilesetdir)/secondary/secret_base/brown_cave/tiles.png +$(TILESETGFXDIR)/secondary/secret_base/brown_cave/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 83 -$(tilesetdir)/secondary/secret_base/tree/tiles.4bpp: $(tilesetdir)/secondary/secret_base/tree/tiles.png +$(TILESETGFXDIR)/secondary/secret_base/tree/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 83 -$(tilesetdir)/secondary/secret_base/shrub/tiles.4bpp: $(tilesetdir)/secondary/secret_base/shrub/tiles.png +$(TILESETGFXDIR)/secondary/secret_base/shrub/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 83 -$(tilesetdir)/secondary/secret_base/blue_cave/tiles.4bpp: $(tilesetdir)/secondary/secret_base/blue_cave/tiles.png +$(TILESETGFXDIR)/secondary/secret_base/blue_cave/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 83 -$(tilesetdir)/secondary/secret_base/yellow_cave/tiles.4bpp: $(tilesetdir)/secondary/secret_base/yellow_cave/tiles.png +$(TILESETGFXDIR)/secondary/secret_base/yellow_cave/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 83 -$(tilesetdir)/secondary/secret_base/red_cave/tiles.4bpp: $(tilesetdir)/secondary/secret_base/red_cave/tiles.png +$(TILESETGFXDIR)/secondary/secret_base/red_cave/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 83 -$(tilesetdir)/secondary/inside_of_truck/tiles.4bpp: $(tilesetdir)/secondary/inside_of_truck/tiles.png +$(TILESETGFXDIR)/secondary/inside_of_truck/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 62 -$(tilesetdir)/secondary/contest/tiles.4bpp: $(tilesetdir)/secondary/contest/tiles.png +$(TILESETGFXDIR)/secondary/contest/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 430 -$(tilesetdir)/secondary/lilycove_museum/tiles.4bpp: $(tilesetdir)/secondary/lilycove_museum/tiles.png +$(TILESETGFXDIR)/secondary/lilycove_museum/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 431 -$(tilesetdir)/secondary/lab/tiles.4bpp: $(tilesetdir)/secondary/lab/tiles.png +$(TILESETGFXDIR)/secondary/lab/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 500 -$(tilesetdir)/secondary/underwater/tiles.4bpp: $(tilesetdir)/secondary/underwater/tiles.png +$(TILESETGFXDIR)/secondary/underwater/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 500 -$(tilesetdir)/secondary/generic_building/tiles.4bpp: $(tilesetdir)/secondary/generic_building/tiles.png +$(TILESETGFXDIR)/secondary/generic_building/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 509 -$(tilesetdir)/secondary/mauville_game_corner/tiles.4bpp: $(tilesetdir)/secondary/mauville_game_corner/tiles.png +$(TILESETGFXDIR)/secondary/mauville_game_corner/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 469 -$(tilesetdir)/secondary/unused_2/tiles.4bpp: $(tilesetdir)/secondary/unused_2/tiles.png +$(TILESETGFXDIR)/secondary/unused_2/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 150 -$(tilesetdir)/secondary/rustboro_gym/tiles.4bpp: $(tilesetdir)/secondary/rustboro_gym/tiles.png +$(TILESETGFXDIR)/secondary/rustboro_gym/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 60 -$(tilesetdir)/secondary/dewford_gym/tiles.4bpp: $(tilesetdir)/secondary/dewford_gym/tiles.png +$(TILESETGFXDIR)/secondary/dewford_gym/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 61 -$(tilesetdir)/secondary/lavaridge_gym/tiles.4bpp: $(tilesetdir)/secondary/lavaridge_gym/tiles.png +$(TILESETGFXDIR)/secondary/lavaridge_gym/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 54 -$(tilesetdir)/secondary/petalburg_gym/tiles.4bpp: $(tilesetdir)/secondary/petalburg_gym/tiles.png +$(TILESETGFXDIR)/secondary/petalburg_gym/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 148 -$(tilesetdir)/secondary/fortree_gym/tiles.4bpp: $(tilesetdir)/secondary/fortree_gym/tiles.png +$(TILESETGFXDIR)/secondary/fortree_gym/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 61 -$(tilesetdir)/secondary/mossdeep_gym/tiles.4bpp: $(tilesetdir)/secondary/mossdeep_gym/tiles.png +$(TILESETGFXDIR)/secondary/mossdeep_gym/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 82 -$(tilesetdir)/secondary/sootopolis_gym/tiles.4bpp: $(tilesetdir)/secondary/sootopolis_gym/tiles.png +$(TILESETGFXDIR)/secondary/sootopolis_gym/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 484 -$(tilesetdir)/secondary/trick_house_puzzle/tiles.4bpp: $(tilesetdir)/secondary/trick_house_puzzle/tiles.png +$(TILESETGFXDIR)/secondary/trick_house_puzzle/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 294 -$(tilesetdir)/secondary/inside_ship/tiles.4bpp: $(tilesetdir)/secondary/inside_ship/tiles.png +$(TILESETGFXDIR)/secondary/inside_ship/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 342 -$(tilesetdir)/secondary/elite_four/tiles.4bpp: $(tilesetdir)/secondary/elite_four/tiles.png +$(TILESETGFXDIR)/secondary/elite_four/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 505 -$(tilesetdir)/secondary/battle_frontier/tiles.4bpp: $(tilesetdir)/secondary/battle_frontier/tiles.png +$(TILESETGFXDIR)/secondary/battle_frontier/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 310 -$(tilesetdir)/secondary/battle_factory/tiles.4bpp: $(tilesetdir)/secondary/battle_factory/tiles.png +$(TILESETGFXDIR)/secondary/battle_factory/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 424 -$(tilesetdir)/secondary/battle_pike/tiles.4bpp: $(tilesetdir)/secondary/battle_pike/tiles.png +$(TILESETGFXDIR)/secondary/battle_pike/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 382 -$(tilesetdir)/secondary/mirage_tower/tiles.4bpp: $(tilesetdir)/secondary/mirage_tower/tiles.png +$(TILESETGFXDIR)/secondary/mirage_tower/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 420 -$(tilesetdir)/secondary/mossdeep_game_corner/tiles.4bpp: $(tilesetdir)/secondary/mossdeep_game_corner/tiles.png +$(TILESETGFXDIR)/secondary/mossdeep_game_corner/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 95 -$(tilesetdir)/secondary/island_harbor/tiles.4bpp: $(tilesetdir)/secondary/island_harbor/tiles.png +$(TILESETGFXDIR)/secondary/island_harbor/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 503 -$(tilesetdir)/secondary/trainer_hill/tiles.4bpp: $(tilesetdir)/secondary/trainer_hill/tiles.png +$(TILESETGFXDIR)/secondary/trainer_hill/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 374 -$(tilesetdir)/secondary/navel_rock/tiles.4bpp: $(tilesetdir)/secondary/navel_rock/tiles.png +$(TILESETGFXDIR)/secondary/navel_rock/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 420 -$(tilesetdir)/secondary/battle_frontier_ranking_hall/tiles.4bpp: $(tilesetdir)/secondary/battle_frontier_ranking_hall/tiles.png +$(TILESETGFXDIR)/secondary/battle_frontier_ranking_hall/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 136 -$(tilesetdir)/secondary/mystery_events_house/tiles.4bpp: $(tilesetdir)/secondary/mystery_events_house/tiles.png +$(TILESETGFXDIR)/secondary/mystery_events_house/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 509 -fontdir := data/graphics/fonts - -$(fontdir)/font0.latfont: $(fontdir)/font0_latin.png +$(FONTGFXDIR)/font0.latfont: $(FONTGFXDIR)/font0_latin.png $(GFX) $< $@ -$(fontdir)/font1.latfont: $(fontdir)/font1_latin.png +$(FONTGFXDIR)/font1.latfont: $(FONTGFXDIR)/font1_latin.png $(GFX) $< $@ -$(fontdir)/font2.latfont: $(fontdir)/font2_latin.png +$(FONTGFXDIR)/font2.latfont: $(FONTGFXDIR)/font2_latin.png $(GFX) $< $@ -$(fontdir)/font7.latfont: $(fontdir)/font7_latin.png +$(FONTGFXDIR)/font7.latfont: $(FONTGFXDIR)/font7_latin.png $(GFX) $< $@ -$(fontdir)/font8.latfont: $(fontdir)/font8_latin.png +$(FONTGFXDIR)/font8.latfont: $(FONTGFXDIR)/font8_latin.png $(GFX) $< $@ -$(fontdir)/font0.hwjpnfont: $(fontdir)/font0_japanese.png +$(FONTGFXDIR)/font0.hwjpnfont: $(FONTGFXDIR)/font0_japanese.png $(GFX) $< $@ -$(fontdir)/font1.hwjpnfont: $(fontdir)/font1_japanese.png +$(FONTGFXDIR)/font1.hwjpnfont: $(FONTGFXDIR)/font1_japanese.png $(GFX) $< $@ -$(fontdir)/font9.hwjpnfont: $(fontdir)/font9_japanese.png +$(FONTGFXDIR)/font9.hwjpnfont: $(FONTGFXDIR)/font9_japanese.png $(GFX) $< $@ -$(fontdir)/font2.fwjpnfont: $(fontdir)/font2_japanese.png +$(FONTGFXDIR)/font2.fwjpnfont: $(FONTGFXDIR)/font2_japanese.png $(GFX) $< $@ -$(fontdir)/font6.fwjpnfont: $(fontdir)/font6_braille.png +$(FONTGFXDIR)/font6.fwjpnfont: $(FONTGFXDIR)/font6_braille.png $(GFX) $< $@ -$(fontdir)/unused_frlg_male.fwjpnfont: $(fontdir)/unused_japanese_frlg_male_font.png +$(FONTGFXDIR)/unused_frlg_male.fwjpnfont: $(FONTGFXDIR)/unused_japanese_frlg_male_font.png $(GFX) $< $@ -$(fontdir)/unused_frlg_female.fwjpnfont: $(fontdir)/unused_japanese_frlg_female_font.png +$(FONTGFXDIR)/unused_frlg_female.fwjpnfont: $(FONTGFXDIR)/unused_japanese_frlg_female_font.png $(GFX) $< $@ -$(fontdir)/down_arrow.4bpp: $(fontdir)/down_arrow.png +$(FONTGFXDIR)/down_arrow.4bpp: %.4bpp: %.png $(GFX) $< $@ -$(fontdir)/down_arrow_rs.4bpp: $(fontdir)/down_arrow_rs.png +$(FONTGFXDIR)/down_arrow_rs.4bpp: %.4bpp: %.png $(GFX) $< $@ -$(fontdir)/unused_frlg_blanked_down_arrow.4bpp: $(fontdir)/unused_frlg_blanked_down_arrow.png +$(FONTGFXDIR)/unused_frlg_blanked_down_arrow.4bpp: %.4bpp: %.png $(GFX) $< $@ -$(fontdir)/unused_frlg_down_arrow.4bpp: $(fontdir)/unused_frlg_down_arrow.png +$(FONTGFXDIR)/unused_frlg_down_arrow.4bpp: %.4bpp: %.png $(GFX) $< $@ -$(fontdir)/keypad_icons.4bpp: $(fontdir)/keypad_icons.png +$(FONTGFXDIR)/keypad_icons.4bpp: %.4bpp: %.png $(GFX) $< $@ -graphics/title_screen/pokemon_logo.gbapal: graphics/title_screen/pokemon_logo.pal +graphics/title_screen/pokemon_logo.gbapal: %.gbapal: %.pal $(GFX) $< $@ -num_colors 224 -$(INTROGFXDIR)/copyright.4bpp: $(INTROGFXDIR)/copyright.png - $(GFX) $< $@ -num_tiles 39 - -$(interfacedir)/pkmnjump_bg.4bpp: $(interfacedir)/pkmnjump_bg.png +graphics/link_games/pkmnjump_bg.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 63 + +graphics/pokenav/region_map.8bpp: %.8bpp: %.png + $(GFX) $< $@ -num_tiles 233 + +$(MISCGFXDIR)/japanese_hof.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 29 + +$(INTERFACEGFXDIR)/menu.gbapal: $(INTERFACEGFXDIR)/menu_0.gbapal \ + $(INTERFACEGFXDIR)/menu_1.gbapal + @cat $^ >$@ + +$(BTLANMSPRGFXDIR)/010.4bpp: $(BTLANMSPRGFXDIR)/010_0.4bpp \ + $(BTLANMSPRGFXDIR)/010_1.4bpp \ + $(BTLANMSPRGFXDIR)/010_2.4bpp \ + $(BTLANMSPRGFXDIR)/010_3.4bpp + @cat $^ >$@ + +$(UNUSEDGFXDIR)/obi_palpak1.gbapal: $(UNUSEDGFXDIR)/old_pal1.gbapal \ + $(UNUSEDGFXDIR)/old_pal2.gbapal \ + $(UNUSEDGFXDIR)/old_pal3.gbapal + @cat $^ >$@ + +$(UNUSEDGFXDIR)/obi_palpak3.gbapal: $(UNUSEDGFXDIR)/old_pal5.gbapal \ + $(UNUSEDGFXDIR)/old_pal6.gbapal \ + $(UNUSEDGFXDIR)/old_pal7.gbapal + @cat $^ >$@ + +$(UNUSEDGFXDIR)/obi1.4bpp: $(UNUSEDGFXDIR)/old_bulbasaur.4bpp \ + $(UNUSEDGFXDIR)/old_charizard.4bpp + @cat $^ >$@ + +$(UNUSEDGFXDIR)/obi2.4bpp: $(UNUSEDGFXDIR)/old_bulbasaur2.4bpp \ + $(UNUSEDGFXDIR)/old_battle_interface_1.4bpp \ + $(UNUSEDGFXDIR)/old_battle_interface_2.4bpp \ + $(UNUSEDGFXDIR)/old_battle_interface_3.4bpp + @cat $^ >$@ + +$(INTERFACEGFXDIR)/hp_numbers.4bpp: $(INTERFACEGFXDIR)/hpbar_anim.4bpp \ + $(INTERFACEGFXDIR)/numbers1.4bpp \ + $(INTERFACEGFXDIR)/numbers2.4bpp + @cat $^ >$@ + +$(UNUSEDGFXDIR)/redyellowgreen_frame.bin: $(UNUSEDGFXDIR)/red_frame.bin \ + $(UNUSEDGFXDIR)/yellow_frame.bin \ + $(UNUSEDGFXDIR)/green_frame.bin \ + $(UNUSEDGFXDIR)/blank_frame.bin + @cat $^ >$@ + +$(UNUSEDGFXDIR)/color_frames.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 353 + +$(BATINTGFXDIR)/unused_window2bar.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 5 + +$(UNUSEDGFXDIR)/old_contest.4bpp: $(UNUSEDGFXDIR)/old_contest_frame_1.4bpp \ + $(UNUSEDGFXDIR)/old_contest_floor.4bpp \ + $(UNUSEDGFXDIR)/old_contest_frame_2.4bpp \ + $(UNUSEDGFXDIR)/old_contest_symbols.4bpp \ + $(UNUSEDGFXDIR)/old_contest_meter.4bpp \ + $(UNUSEDGFXDIR)/old_contest_classes.4bpp \ + $(UNUSEDGFXDIR)/old_contest_numbers.4bpp + @cat $^ >$@ + +$(UNUSEDGFXDIR)/old_contest_2.4bpp: $(UNUSEDGFXDIR)/old_contest_2_1.4bpp \ + $(UNUSEDGFXDIR)/old_contest_2_2.4bpp + @cat $^ >$@ + +$(UNKNOWNGFXDIR)/unknown_C19470.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 36 + +$(BTLANMSPRGFXDIR)/141.4bpp: $(BTLANMSPRGFXDIR)/141_0.4bpp \ + $(BTLANMSPRGFXDIR)/141_1.4bpp \ + $(BTLANMSPRGFXDIR)/141_2.4bpp \ + $(BTLANMSPRGFXDIR)/141_3.4bpp \ + $(BTLANMSPRGFXDIR)/141_4.4bpp + @cat $^ >$@ + +$(BTLANMSPRGFXDIR)/074.4bpp: $(BTLANMSPRGFXDIR)/074_0.4bpp \ + $(BTLANMSPRGFXDIR)/074_1.4bpp + @cat $^ >$@ + +$(BTLANMSPRGFXDIR)/159.4bpp: $(BTLANMSPRGFXDIR)/159_0.4bpp \ + $(BTLANMSPRGFXDIR)/159_1.4bpp + @cat $^ >$@ + +$(BTLANMSPRGFXDIR)/001.4bpp: $(BTLANMSPRGFXDIR)/001_0.4bpp \ + $(BTLANMSPRGFXDIR)/001_1.4bpp + @cat $^ >$@ + +$(MASKSGFXDIR)/unknown_C2EA50.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 14 + +$(BATTRANSGFXDIR)/vs_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 16 + +$(INTERFACEGFXDIR)/party_menu_misc.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 62 + +$(TYPESGFXDIR)/move_types.4bpp: $(types:%=$(TYPESGFXDIR)/%.4bpp) $(contest_types:%=$(TYPESGFXDIR)/contest_%.4bpp) + @cat $^ >$@ + +$(TYPESGFXDIR)/move_types.gbapal: $(TYPESGFXDIR)/move_types_1.gbapal \ + $(TYPESGFXDIR)/move_types_2.gbapal \ + $(TYPESGFXDIR)/move_types_3.gbapal + @cat $^ >$@ + +$(INTERFACEGFXDIR)/bag_screen.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 53 + +$(RAYQUAZAGFXDIR)/rayquaza.8bpp: %.8bpp: %.png + $(GFX) $< $@ -num_tiles 227 + +$(RAYQUAZAGFXDIR)/overcast.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 313 + +$(RAYQUAZAGFXDIR)/rayquaza_fly1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 124 + +$(RAYQUAZAGFXDIR)/rayquaza_tail_fix.4bpp: $(RAYQUAZAGFXDIR)/rayquaza_tail.4bpp + cp $< $@ + head -c 12 /dev/zero >> $@ + +$(RAYQUAZAGFXDIR)/chase_streaks.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 19 + +$(RAYQUAZAGFXDIR)/rayquaza_chase.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 155 + +graphics/picture_frame/frame5.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 86 + +$(ROULETTEGFXDIR)/roulette_tilt.4bpp: $(ROULETTEGFXDIR)/shroomish.4bpp \ + $(ROULETTEGFXDIR)/tailow.4bpp + @cat $^ >$@ + +$(ROULETTEGFXDIR)/poke_icons2.4bpp: $(ROULETTEGFXDIR)/wynaut.4bpp \ + $(ROULETTEGFXDIR)/azurill.4bpp \ + $(ROULETTEGFXDIR)/skitty.4bpp \ + $(ROULETTEGFXDIR)/makuhita.4bpp + @cat $^ >$@ + +$(BATTRANSGFXDIR)/85BBC14.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 53 + +$(BATTRANSGFXDIR)/rayquaza.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 938 + +$(BATTRANSGFXDIR)/frontier_square_1.4bpp: $(BATTRANSGFXDIR)/frontier_squares_blanktiles.4bpp \ + $(BATTRANSGFXDIR)/frontier_squares_1.4bpp + @cat $^ >$@ + +$(BATTRANSGFXDIR)/frontier_square_2.4bpp: $(BATTRANSGFXDIR)/frontier_squares_blanktiles.4bpp \ + $(BATTRANSGFXDIR)/frontier_squares_2.4bpp + @cat $^ >$@ + +$(BATTRANSGFXDIR)/frontier_square_3.4bpp: $(BATTRANSGFXDIR)/frontier_squares_blanktiles.4bpp \ + $(BATTRANSGFXDIR)/frontier_squares_3.4bpp + @cat $^ >$@ + +$(BATTRANSGFXDIR)/frontier_square_4.4bpp: $(BATTRANSGFXDIR)/frontier_squares_blanktiles.4bpp \ + $(BATTRANSGFXDIR)/frontier_squares_4.4bpp + @cat $^ >$@ + +$(SLOTMACHINEGFXDIR)/reel_time_gfx.4bpp: $(SLOTMACHINEGFXDIR)/reel_time_pikachu.4bpp \ + $(SLOTMACHINEGFXDIR)/reel_time_machine.4bpp + @cat $^ >$@ + +$(UNUSEDGFXDIR)/intro_birch_beauty.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 374 + +$(PSSGFXDIR)/forest_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 55 + +$(PSSGFXDIR)/forest.4bpp: $(PSSGFXDIR)/forest_frame.4bpp $(PSSGFXDIR)/forest_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/city_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 52 + +$(PSSGFXDIR)/city.4bpp: $(PSSGFXDIR)/city_frame.4bpp $(PSSGFXDIR)/city_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/desert.4bpp: $(PSSGFXDIR)/desert_frame.4bpp $(PSSGFXDIR)/desert_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/savanna_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 45 + +$(PSSGFXDIR)/savanna_bg.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 23 + +$(PSSGFXDIR)/savanna.4bpp: $(PSSGFXDIR)/savanna_frame.4bpp $(PSSGFXDIR)/savanna_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/crag_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 49 + +$(PSSGFXDIR)/crag.4bpp: $(PSSGFXDIR)/crag_frame.4bpp $(PSSGFXDIR)/crag_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/volcano_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 56 + +$(PSSGFXDIR)/volcano.4bpp: $(PSSGFXDIR)/volcano_frame.4bpp $(PSSGFXDIR)/volcano_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/snow_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 57 + +$(PSSGFXDIR)/snow.4bpp: $(PSSGFXDIR)/snow_frame.4bpp $(PSSGFXDIR)/snow_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/cave_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 55 + +$(PSSGFXDIR)/cave.4bpp: $(PSSGFXDIR)/cave_frame.4bpp $(PSSGFXDIR)/cave_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/beach_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 46 + +$(PSSGFXDIR)/beach_bg.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 23 + +$(PSSGFXDIR)/beach.4bpp: $(PSSGFXDIR)/beach_frame.4bpp $(PSSGFXDIR)/beach_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/seafloor_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 54 + +$(PSSGFXDIR)/seafloor.4bpp: $(PSSGFXDIR)/seafloor_frame.4bpp $(PSSGFXDIR)/seafloor_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/river_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 51 + +$(PSSGFXDIR)/river_bg.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 11 + +$(PSSGFXDIR)/river.4bpp: $(PSSGFXDIR)/river_frame.4bpp $(PSSGFXDIR)/river_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/sky_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 45 + +$(PSSGFXDIR)/sky.4bpp: $(PSSGFXDIR)/sky_frame.4bpp $(PSSGFXDIR)/sky_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/polkadot_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 54 + +$(PSSGFXDIR)/polkadot.4bpp: $(PSSGFXDIR)/polkadot_frame.4bpp $(PSSGFXDIR)/polkadot_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/pokecenter_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 35 + +$(PSSGFXDIR)/pokecenter.4bpp: $(PSSGFXDIR)/pokecenter_frame.4bpp $(PSSGFXDIR)/pokecenter_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/machine_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 33 + +$(PSSGFXDIR)/machine.4bpp: $(PSSGFXDIR)/machine_frame.4bpp $(PSSGFXDIR)/machine_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/plain_frame.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 18 + +$(PSSGFXDIR)/plain.4bpp: $(PSSGFXDIR)/plain_frame.4bpp $(PSSGFXDIR)/plain_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/friends_frame1.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 57 + +$(PSSGFXDIR)/friends_frame2.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 57 + +$(PSSGFXDIR)/zigzagoon.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/zigzagoon_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/screen.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/screen_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/horizontal.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/horizontal_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/diagonal.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/diagonal_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/block.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/block_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/ribbon.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/ribbon_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/pokecenter2.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/pokecenter2_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/frame.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/frame_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/blank.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/blank_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/circles.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/circles_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/azumarill.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/azumarill_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/pikachu.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/pikachu_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/legendary.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/legendary_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/dusclops.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/dusclops_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/ludicolo.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/ludicolo_bg.4bpp + @cat $^ >$@ + +$(PSSGFXDIR)/whiscash.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/whiscash_bg.4bpp + @cat $^ >$@ + +$(MAPOBJGFXDIR)/pics/effects/unknown_4F6D38/0.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 11 + +$(INTERFACEGFXDIR)/selector_outline.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 8 + +$(BATTRANSGFXDIR)/frontier_transition.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 43 + +$(PKNAVOPTIONSGFXDIR)/options.4bpp: $(PKNAVOPTIONSGFXDIR)/hoenn_map.4bpp \ + $(PKNAVOPTIONSGFXDIR)/condition.4bpp \ + $(PKNAVOPTIONSGFXDIR)/match_call.4bpp \ + $(PKNAVOPTIONSGFXDIR)/ribbons.4bpp \ + $(PKNAVOPTIONSGFXDIR)/switch_off.4bpp \ + $(PKNAVOPTIONSGFXDIR)/party.4bpp \ + $(PKNAVOPTIONSGFXDIR)/search.4bpp \ + $(PKNAVOPTIONSGFXDIR)/cool.4bpp \ + $(PKNAVOPTIONSGFXDIR)/beauty.4bpp \ + $(PKNAVOPTIONSGFXDIR)/cute.4bpp \ + $(PKNAVOPTIONSGFXDIR)/smart.4bpp \ + $(PKNAVOPTIONSGFXDIR)/tough.4bpp \ + $(PKNAVOPTIONSGFXDIR)/cancel.4bpp + @cat $^ >$@ + +$(PKNAVGFXDIR)/header.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 53 + +$(PKNAVGFXDIR)/outline.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 53 + +$(PKNAVGFXDIR)/ui_matchcall.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 13 + +$(INTERFACEGFXDIR)/region_map.8bpp: %.8bpp: %.png + $(GFX) $< $@ -num_tiles 232 + +$(INTERFACEGFXDIR)/region_map_affine.8bpp: %.8bpp: %.png + $(GFX) $< $@ -num_tiles 233 + +$(MISCGFXDIR)/birch_help.4bpp: $(MISCGFXDIR)/birch_bag.4bpp $(MISCGFXDIR)/birch_grass.4bpp + @cat $^ >$@ diff --git a/include/abilities.h b/include/abilities.h deleted file mode 100644 index 4c47025f86..0000000000 --- a/include/abilities.h +++ /dev/null @@ -1,81 +0,0 @@ -enum -{ - ABILITY_NONE, - ABILITY_STENCH, - ABILITY_DRIZZLE, - ABILITY_SPEED_BOOST, - ABILITY_BATTLE_ARMOR, - ABILITY_STURDY, - ABILITY_DAMP, - ABILITY_LIMBER, - ABILITY_SAND_VEIL, - ABILITY_STATIC, - ABILITY_VOLT_ABSORB, - ABILITY_WATER_ABSORB, - ABILITY_OBLIVIOUS, - ABILITY_CLOUD_NINE, - ABILITY_COMPOUND_EYES, - ABILITY_INSOMNIA, - ABILITY_COLOR_CHANGE, - ABILITY_IMMUNITY, - ABILITY_FLASH_FIRE, - ABILITY_SHIELD_DUST, - ABILITY_OWN_TEMPO, - ABILITY_SUCTION_CUPS, - ABILITY_INTIMIDATE, - ABILITY_SHADOW_TAG, - ABILITY_ROUGH_SKIN, - ABILITY_WONDER_GUARD, - ABILITY_LEVITATE, - ABILITY_EFFECT_SPORE, - ABILITY_SYNCHRONIZE, - ABILITY_CLEAR_BODY, - ABILITY_NATURAL_CURE, - ABILITY_LIGHTNING_ROD, - ABILITY_SERENE_GRACE, - ABILITY_SWIFT_SWIM, - ABILITY_CHLOROPHYLL, - ABILITY_ILLUMINATE, - ABILITY_TRACE, - ABILITY_HUGE_POWER, - ABILITY_POISON_POINT, - ABILITY_INNER_FOCUS, - ABILITY_MAGMA_ARMOR, - ABILITY_WATER_VEIL, - ABILITY_MAGNET_PULL, - ABILITY_SOUNDPROOF, - ABILITY_RAIN_DISH, - ABILITY_SAND_STREAM, - ABILITY_PRESSURE, - ABILITY_THICK_FAT, - ABILITY_EARLY_BIRD, - ABILITY_FLAME_BODY, - ABILITY_RUN_AWAY, - ABILITY_KEEN_EYE, - ABILITY_HYPER_CUTTER, - ABILITY_PICKUP, - ABILITY_TRUANT, - ABILITY_HUSTLE, - ABILITY_CUTE_CHARM, - ABILITY_PLUS, - ABILITY_MINUS, - ABILITY_FORECAST, - ABILITY_STICKY_HOLD, - ABILITY_SHED_SKIN, - ABILITY_GUTS, - ABILITY_MARVEL_SCALE, - ABILITY_LIQUID_OOZE, - ABILITY_OVERGROW, - ABILITY_BLAZE, - ABILITY_TORRENT, - ABILITY_SWARM, - ABILITY_ROCK_HEAD, - ABILITY_DROUGHT, - ABILITY_ARENA_TRAP, - ABILITY_VITAL_SPIRIT, - ABILITY_WHITE_SMOKE, - ABILITY_PURE_POWER, - ABILITY_SHELL_ARMOR, - ABILITY_CACOPHONY, - ABILITY_AIR_LOCK -}; \ No newline at end of file diff --git a/include/battle.h b/include/battle.h index ace2bb4ad8..5225b72e31 100644 --- a/include/battle.h +++ b/include/battle.h @@ -2,67 +2,18 @@ #define GUARD_BATTLE_H // should they be included here or included individually by every file? +#include "constants/battle.h" #include "battle_util.h" #include "battle_script_commands.h" -#include "battle_2.h" +#include "battle_main.h" #include "battle_ai_switch_items.h" +#include "battle_gfx_sfx_util.h" +#include "battle_util2.h" +#include "battle_bg.h" -/* - Banks are a name given to what could be called a 'battlerId' or 'monControllerId'. - Each bank has a value consisting of two bits. - 0x1 bit is responsible for the side, 0 = player's side, 1 = opponent's side. - 0x2 bit is responsible for the id of sent out pokemon. 0 means it's the first sent out pokemon, 1 it's the second one. (Triple battle didn't exist at the time yet.) -*/ - -#define BATTLE_BANKS_COUNT 4 - -#define IDENTITY_PLAYER_MON1 0 -#define IDENTITY_OPPONENT_MON1 1 -#define IDENTITY_PLAYER_MON2 2 -#define IDENTITY_OPPONENT_MON2 3 - -#define SIDE_PLAYER 0x0 -#define SIDE_OPPONENT 0x1 - -#define BIT_SIDE 0x1 -#define BIT_MON 0x2 - -#define GET_BANK_IDENTITY(bank)((gBanksByIdentity[bank])) -#define GET_BANK_SIDE(bank)((GetBankIdentity(bank) & BIT_SIDE)) -#define GET_BANK_SIDE2(bank)((GET_BANK_IDENTITY(bank) & BIT_SIDE)) - -#define BATTLE_TYPE_DOUBLE 0x0001 -#define BATTLE_TYPE_LINK 0x0002 -#define BATTLE_TYPE_WILD 0x0004 -#define BATTLE_TYPE_TRAINER 0x0008 -#define BATTLE_TYPE_FIRST_BATTLE 0x0010 -#define BATTLE_TYPE_20 0x0020 -#define BATTLE_TYPE_MULTI 0x0040 -#define BATTLE_TYPE_SAFARI 0x0080 -#define BATTLE_TYPE_BATTLE_TOWER 0x0100 -#define BATTLE_TYPE_WALLY_TUTORIAL 0x0200 -#define BATTLE_TYPE_ROAMER 0x0400 -#define BATTLE_TYPE_EREADER_TRAINER 0x0800 -#define BATTLE_TYPE_KYOGRE_GROUDON 0x1000 -#define BATTLE_TYPE_LEGENDARY 0x2000 -#define BATTLE_TYPE_REGI 0x4000 -#define BATTLE_TYPE_TWO_OPPONENTS 0x8000 -#define BATTLE_TYPE_DOME 0x10000 -#define BATTLE_TYPE_PALACE 0x20000 -#define BATTLE_TYPE_ARENA 0x40000 -#define BATTLE_TYPE_FACTORY 0x80000 -#define BATTLE_TYPE_x100000 0x100000 -#define BATTLE_TYPE_PYRAMID 0x200000 -#define BATTLE_TYPE_INGAME_PARTNER 0x400000 -#define BATTLE_TYPE_x800000 0x800000 -#define BATTLE_TYPE_RECORDED 0x1000000 -#define BATTLE_TYPE_x2000000 0x2000000 -#define BATTLE_TYPE_x4000000 0x4000000 -#define BATTLE_TYPE_SECRET_BASE 0x8000000 -#define BATTLE_TYPE_GROUDON 0x10000000 -#define BATTLE_TYPE_KYORGE 0x20000000 -#define BATTLE_TYPE_RAYQUAZA 0x40000000 -#define BATTLE_TYPE_x80000000 0x80000000 +#define GET_BATTLER_POSITION(battler) (gBattlerPositions[battler]) +#define GET_BATTLER_SIDE(battler) (GetBattlerPosition(battler) & BIT_SIDE) +#define GET_BATTLER_SIDE2(battler) (GET_BATTLER_POSITION(battler) & BIT_SIDE) #define TRAINER_OPPONENT_3FE 0x3FE #define TRAINER_OPPONENT_C00 0xC00 @@ -70,165 +21,37 @@ #define STEVEN_PARTNER_ID 0xC03 #define SECRET_BASE_OPPONENT 0x400 -#define BATTLE_TYPE_FRONTIER (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_x100000 | BATTLE_TYPE_PYRAMID) -#define BATTLE_TYPE_FRONTIER_NO_PYRAMID (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_x100000) - -#define BATTLE_WON 0x1 -#define BATTLE_LOST 0x2 -#define BATTLE_DREW 0x3 -#define BATTLE_RAN 0x4 -#define BATTLE_PLAYER_TELEPORTED 0x5 -#define BATTLE_POKE_FLED 0x6 -#define BATTLE_CAUGHT 0x7 -#define BATTLE_SAFARI_OUT_OF_BALLS 0x8 -#define BATTLE_FORFEITED 0x9 -#define BATTLE_OPPONENT_TELEPORTED 0xA - -#define BATTLE_OUTCOME_BIT_x80 0x80 - -#define STATUS_SLEEP 0x7 -#define STATUS_POISON 0x8 -#define STATUS_BURN 0x10 -#define STATUS_FREEZE 0x20 -#define STATUS_PARALYSIS 0x40 -#define STATUS_TOXIC_POISON 0x80 -#define STATUS_TOXIC_COUNTER 0xF00 - -#define STATUS_PSN_ANY ((STATUS_POISON | STATUS_TOXIC_POISON)) -#define STATUS_ANY ((STATUS_SLEEP | STATUS_POISON | STATUS_BURN | STATUS_FREEZE | STATUS_PARALYSIS | STATUS_TOXIC_POISON)) - -#define STATUS2_CONFUSION 0x00000007 -#define STATUS2_FLINCHED 0x00000008 -#define STATUS2_UPROAR 0x00000070 -#define STATUS2_BIDE 0x00000300 // two bits 0x100, 0x200 -#define STATUS2_LOCK_CONFUSE 0x00000C00 -#define STATUS2_MULTIPLETURNS 0x00001000 -#define STATUS2_WRAPPED 0x0000E000 -#define STATUS2_INFATUATION 0x000F0000 // 4 bits, one for every bank -#define STATUS2_INFATUATED_WITH(bank)((gBitTable[bank] << 16)) -#define STATUS2_FOCUS_ENERGY 0x00100000 -#define STATUS2_TRANSFORMED 0x00200000 -#define STATUS2_RECHARGE 0x00400000 -#define STATUS2_RAGE 0x00800000 -#define STATUS2_SUBSTITUTE 0x01000000 -#define STATUS2_DESTINY_BOND 0x02000000 -#define STATUS2_ESCAPE_PREVENTION 0x04000000 -#define STATUS2_NIGHTMARE 0x08000000 -#define STATUS2_CURSED 0x10000000 -#define STATUS2_FORESIGHT 0x20000000 -#define STATUS2_DEFENSE_CURL 0x40000000 -#define STATUS2_TORMENT 0x80000000 - -#define STATUS3_LEECHSEED_BANK 0x3 -#define STATUS3_LEECHSEED 0x4 -#define STATUS3_ALWAYS_HITS 0x18 // two bits -#define STATUS3_PERISH_SONG 0x20 -#define STATUS3_ON_AIR 0x40 -#define STATUS3_UNDERGROUND 0x80 -#define STATUS3_MINIMIZED 0x100 -#define STATUS3_ROOTED 0x400 -#define STATUS3_CHARGED_UP 0x200 -#define STATUS3_YAWN 0x1800 // two bits -#define STATUS3_IMPRISONED_OTHERS 0x2000 -#define STATUS3_GRUDGE 0x4000 -#define STATUS3_CANT_SCORE_A_CRIT 0x8000 -#define STATUS3_MUDSPORT 0x10000 -#define STATUS3_WATERSPORT 0x20000 -#define STATUS3_UNDERWATER 0x40000 -#define STATUS3_INTIMIDATE_POKES 0x80000 -#define STATUS3_TRACE 0x100000 - -#define STATUS3_SEMI_INVULNERABLE ((STATUS3_UNDERGROUND | STATUS3_ON_AIR | STATUS3_UNDERWATER)) - -#define HITMARKER_x10 0x00000010 -#define HITMARKER_x20 0x00000020 -#define HITMARKER_DESTINYBOND 0x00000040 -#define HITMARKER_NO_ANIMATIONS 0x00000080 -#define HITMARKER_IGNORE_SUBSTITUTE 0x00000100 -#define HITMARKER_NO_ATTACKSTRING 0x00000200 -#define HITMARKER_ATTACKSTRING_PRINTED 0x00000400 -#define HITMARKER_NO_PPDEDUCT 0x00000800 -#define HITMARKER_PURSUIT_TRAP 0x00001000 -#define HITMARKER_IGNORE_SAFEGUARD 0x00002000 -#define HITMARKER_SYNCHRONISE_EFFECT 0x00004000 -#define HITMARKER_RUN 0x00008000 -#define HITMARKER_IGNORE_ON_AIR 0x00010000 -#define HITMARKER_IGNORE_UNDERGROUND 0x00020000 -#define HITMARKER_IGNORE_UNDERWATER 0x00040000 -#define HITMARKER_UNABLE_TO_USE_MOVE 0x00080000 -#define HITMARKER_x100000 0x00100000 -#define HITMARKER_x200000 0x00200000 -#define HITMARKER_x400000 0x00400000 -#define HITMARKER_x800000 0x00800000 -#define HITMARKER_GRUDGE 0x01000000 -#define HITMARKER_OBEYS 0x02000000 -#define HITMARKER_x4000000 0x04000000 -#define HITMARKER_x8000000 0x08000000 -#define HITMARKER_FAINTED(bank) ((gBitTable[bank] << 0x1C)) -#define HITMARKER_UNK(bank) ((0x10000000 << bank)) - -#define SIDE_STATUS_REFLECT (1 << 0) -#define SIDE_STATUS_LIGHTSCREEN (1 << 1) -#define SIDE_STATUS_X4 (1 << 2) -#define SIDE_STATUS_SPIKES (1 << 4) -#define SIDE_STATUS_SAFEGUARD (1 << 5) -#define SIDE_STATUS_FUTUREATTACK (1 << 6) -#define SIDE_STATUS_MIST (1 << 8) -#define SIDE_STATUS_SPIKES_DAMAGED (1 << 9) - -#define ACTION_USE_MOVE 0 -#define ACTION_USE_ITEM 1 -#define ACTION_SWITCH 2 -#define ACTION_RUN 3 -#define ACTION_WATCHES_CAREFULLY 4 -#define ACTION_SAFARI_ZONE_BALL 5 -#define ACTION_POKEBLOCK_CASE 6 -#define ACTION_GO_NEAR 7 -#define ACTION_SAFARI_ZONE_RUN 8 -#define ACTION_9 9 -#define ACTION_RUN_BATTLESCRIPT 10 // when executing an action -#define ACTION_CANCEL_PARTNER 12 // when choosing an action -#define ACTION_FINISHED 12 // when executing an action -#define ACTION_NOTHING_FAINTED 13 // when choosing an action -#define ACTION_INIT_VALUE 0xFF - -#define MOVESTATUS_MISSED (1 << 0) -#define MOVESTATUS_SUPEREFFECTIVE (1 << 1) -#define MOVESTATUS_NOTVERYEFFECTIVE (1 << 2) -#define MOVESTATUS_NOTAFFECTED (1 << 3) -#define MOVESTATUS_ONEHITKO (1 << 4) -#define MOVESTATUS_FAILED (1 << 5) -#define MOVESTATUS_ENDURED (1 << 6) -#define MOVESTATUS_HUNGON (1 << 7) - -#define MOVESTATUS_NOEFFECT ((MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED)) +// Battle Actions +// These determine what each battler will do in a turn +#define B_ACTION_USE_MOVE 0 +#define B_ACTION_USE_ITEM 1 +#define B_ACTION_SWITCH 2 +#define B_ACTION_RUN 3 +#define B_ACTION_SAFARI_WATCH_CAREFULLY 4 +#define B_ACTION_SAFARI_BALL 5 +#define B_ACTION_SAFARI_POKEBLOCK 6 +#define B_ACTION_SAFARI_GO_NEAR 7 +#define B_ACTION_SAFARI_RUN 8 +// The exact purposes of these are unclear +#define B_ACTION_UNKNOWN9 9 +#define B_ACTION_EXEC_SCRIPT 10 // when executing an action +#define B_ACTION_CANCEL_PARTNER 12 // when choosing an action +#define B_ACTION_FINISHED 12 // when executing an action +#define B_ACTION_NOTHING_FAINTED 13 // when choosing an action +#define B_ACTION_NONE 0xFF #define MAX_TRAINER_ITEMS 4 #define MAX_MON_MOVES 4 -#define WEATHER_RAIN_TEMPORARY (1 << 0) -#define WEATHER_RAIN_DOWNPOUR (1 << 1) -#define WEATHER_RAIN_PERMANENT (1 << 2) -#define WEATHER_RAIN_ANY ((WEATHER_RAIN_TEMPORARY | WEATHER_RAIN_DOWNPOUR | WEATHER_RAIN_PERMANENT)) -#define WEATHER_SANDSTORM_TEMPORARY (1 << 3) -#define WEATHER_SANDSTORM_PERMANENT (1 << 4) -#define WEATHER_SANDSTORM_ANY ((WEATHER_SANDSTORM_TEMPORARY | WEATHER_SANDSTORM_PERMANENT)) -#define WEATHER_SUN_TEMPORARY (1 << 5) -#define WEATHER_SUN_PERMANENT (1 << 6) -#define WEATHER_SUN_ANY ((WEATHER_SUN_TEMPORARY | WEATHER_SUN_PERMANENT)) -#define WEATHER_HAIL (1 << 7) -#define WEATHER_HAIL_ANY ((WEATHER_HAIL)) -#define WEATHER_ANY ((WEATHER_RAIN_ANY | WEATHER_SANDSTORM_ANY | WEATHER_SUN_ANY | WEATHER_HAIL_ANY)) - #define BATTLE_TERRAIN_GRASS 0 #define BATTLE_TERRAIN_LONG_GRASS 1 #define BATTLE_TERRAIN_SAND 2 #define BATTLE_TERRAIN_UNDERWATER 3 #define BATTLE_TERRAIN_WATER 4 #define BATTLE_TERRAIN_POND 5 -#define BATTLE_TERRAIN_ROCK 6 +#define BATTLE_TERRAIN_MOUNTAIN 6 #define BATTLE_TERRAIN_CAVE 7 -#define BATTLE_TERRAIN_INSIDE 8 +#define BATTLE_TERRAIN_BUILDING 8 #define BATTLE_TERRAIN_PLAIN 9 // array entries for battle communication @@ -252,29 +75,22 @@ #define MOVE_TARGET_FOES_AND_ALLY 0x20 #define MOVE_TARGET_OPPONENTS_FIELD 0x40 +// defines for the u8 array gTypeEffectiveness +#define TYPE_EFFECT_ATK_TYPE(i)((gTypeEffectiveness[i + 0])) +#define TYPE_EFFECT_DEF_TYPE(i)((gTypeEffectiveness[i + 1])) +#define TYPE_EFFECT_MULTIPLIER(i)((gTypeEffectiveness[i + 2])) + +// defines for the gTypeEffectiveness multipliers #define TYPE_MUL_NO_EFFECT 0 #define TYPE_MUL_NOT_EFFECTIVE 5 #define TYPE_MUL_NORMAL 10 #define TYPE_MUL_SUPER_EFFECTIVE 20 -#define BS_GET_TARGET 0 -#define BS_GET_ATTACKER 1 -#define BS_GET_EFFECT_BANK 2 -#define BS_ATTACKER_WITH_PARTNER 4 // for atk98_status_icon_update -#define BS_GET_ATTACKER_SIDE 8 // for atk1E_jumpifability -#define BS_GET_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability -#define BS_GET_SCRIPTING_BANK 10 -#define BS_GET_OPPONENT1 12 -#define BS_GET_PLAYER2 13 -#define BS_GET_OPPONENT2 14 +// special type table Ids +#define TYPE_FORESIGHT 0xFE +#define TYPE_ENDTABLE 0xFF -// for battle script commands -#define CMP_EQUAL 0x0 -#define CMP_NOT_EQUAL 0x1 -#define CMP_GREATER_THAN 0x2 -#define CMP_LESS_THAN 0x3 -#define CMP_COMMON_BITS 0x4 -#define CMP_NO_COMMON_BITS 0x5 +#define BATTLE_BUFFER_LINK_SIZE 0x1000 struct TrainerMonNoItemDefaultMoves { @@ -283,9 +99,6 @@ struct TrainerMonNoItemDefaultMoves u16 species; }; -u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg); -u8 GetBankSide(u8 bank); - struct TrainerMonItemDefaultMoves { u16 iv; @@ -313,10 +126,10 @@ struct TrainerMonItemCustomMoves union TrainerMonPtr { - struct TrainerMonNoItemDefaultMoves* NoItemDefaultMoves; - struct TrainerMonNoItemCustomMoves* NoItemCustomMoves; - struct TrainerMonItemDefaultMoves* ItemDefaultMoves; - struct TrainerMonItemCustomMoves* ItemCustomMoves; + struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves; + struct TrainerMonNoItemCustomMoves *NoItemCustomMoves; + struct TrainerMonItemDefaultMoves *ItemDefaultMoves; + struct TrainerMonItemCustomMoves *ItemCustomMoves; }; struct Trainer @@ -333,9 +146,6 @@ struct Trainer /*0x24*/ union TrainerMonPtr party; }; -#define PARTY_FLAG_CUSTOM_MOVES 0x1 -#define PARTY_FLAG_HAS_ITEM 0x2 - extern const struct Trainer gTrainers[]; #define TRAINER_ENCOUNTER_MUSIC(trainer)((gTrainers[trainer].encounterMusic_gender & 0x7F)) @@ -361,8 +171,8 @@ struct DisableStruct /*0x0D*/ u8 unkD; /*0x0E*/ u8 encoreTimer1 : 4; /*0x0E*/ u8 encoreTimer2 : 4; - /*0x0F*/ u8 perishSong1 : 4; - /*0x0F*/ u8 perishSong2 : 4; + /*0x0F*/ u8 perishSongTimer1 : 4; + /*0x0F*/ u8 perishSongTimer2 : 4; /*0x10*/ u8 furyCutterCounter; /*0x11*/ u8 rolloutCounter1 : 4; /*0x11*/ u8 rolloutCounter2 : 4; @@ -370,8 +180,8 @@ struct DisableStruct /*0x12*/ u8 chargeTimer2 : 4; /*0x13*/ u8 tauntTimer1:4; /*0x13*/ u8 tauntTimer2:4; - /*0x14*/ u8 bankPreventingEscape; - /*0x15*/ u8 bankWithSureHit; + /*0x14*/ u8 battlerPreventingEscape; + /*0x15*/ u8 battlerWithSureHit; /*0x16*/ u8 isFirstTurn; /*0x17*/ u8 unk17; /*0x18*/ u8 truantCounter : 1; @@ -382,8 +192,6 @@ struct DisableStruct /*0x1A*/ u8 unk1A[2]; }; -extern struct DisableStruct gDisableStructs[BATTLE_BANKS_COUNT]; - struct ProtectStruct { /* field_0 */ @@ -417,13 +225,11 @@ struct ProtectStruct /* field_4 */ u32 physicalDmg; /* field_8 */ u32 specialDmg; - /* field_C */ u8 physicalBank; - /* field_D */ u8 specialBank; + /* field_C */ u8 physicalBattlerId; + /* field_D */ u8 specialBattlerId; /* field_E */ u16 fieldE; }; -extern struct ProtectStruct gProtectStructs[BATTLE_BANKS_COUNT]; - struct SpecialStatus { u8 statLowered : 1; // 0x1 @@ -435,49 +241,43 @@ struct SpecialStatus u8 flag40 : 1; u8 focusBanded : 1; u8 field1[3]; - s32 moveturnLostHP; - s32 moveturnLostHP_physical; - s32 moveturnLostHP_special; - u8 moveturnPhysicalBank; - u8 moveturnSpecialBank; + s32 dmg; + s32 physicalDmg; + s32 specialDmg; + u8 physicalBattlerId; + u8 specialBattlerId; u8 field12; u8 field13; }; -extern struct SpecialStatus gSpecialStatuses[BATTLE_BANKS_COUNT]; - struct SideTimer { /*0x00*/ u8 reflectTimer; - /*0x01*/ u8 reflectBank; + /*0x01*/ u8 reflectBattlerId; /*0x02*/ u8 lightscreenTimer; - /*0x03*/ u8 lightscreenBank; + /*0x03*/ u8 lightscreenBattlerId; /*0x04*/ u8 mistTimer; - /*0x05*/ u8 mistBank; + /*0x05*/ u8 mistBattlerId; /*0x06*/ u8 safeguardTimer; - /*0x07*/ u8 safeguardBank; + /*0x07*/ u8 safeguardBattlerId; /*0x08*/ u8 followmeTimer; /*0x09*/ u8 followmeTarget; /*0x0A*/ u8 spikesAmount; /*0x0B*/ u8 fieldB; }; -extern struct SideTimer gSideTimers[]; - struct WishFutureKnock { - u8 futureSightCounter[BATTLE_BANKS_COUNT]; - u8 futureSightAttacker[BATTLE_BANKS_COUNT]; - s32 futureSightDmg[BATTLE_BANKS_COUNT]; - u16 futureSightMove[BATTLE_BANKS_COUNT]; - u8 wishCounter[BATTLE_BANKS_COUNT]; - u8 wishUserID[BATTLE_BANKS_COUNT]; + u8 futureSightCounter[MAX_BATTLERS_COUNT]; + u8 futureSightAttacker[MAX_BATTLERS_COUNT]; + s32 futureSightDmg[MAX_BATTLERS_COUNT]; + u16 futureSightMove[MAX_BATTLERS_COUNT]; + u8 wishCounter[MAX_BATTLERS_COUNT]; + u8 wishMonId[MAX_BATTLERS_COUNT]; u8 weatherDuration; u8 knockedOffPokes[2]; }; -extern struct WishFutureKnock gWishFutureKnock; - struct AI_ThinkingStruct { u8 aiState; @@ -494,16 +294,16 @@ struct AI_ThinkingStruct struct UsedMoves { - u16 moves[BATTLE_BANKS_COUNT]; - u16 unknown[BATTLE_BANKS_COUNT]; + u16 moves[MAX_BATTLERS_COUNT]; + u16 unknown[MAX_BATTLERS_COUNT]; }; struct BattleHistory { - struct UsedMoves usedMoves[BATTLE_BANKS_COUNT]; - u8 abilities[BATTLE_BANKS_COUNT]; - u8 itemEffects[BATTLE_BANKS_COUNT]; - u16 trainerItems[BATTLE_BANKS_COUNT]; + struct UsedMoves usedMoves[MAX_BATTLERS_COUNT]; + u8 abilities[MAX_BATTLERS_COUNT]; + u8 itemEffects[MAX_BATTLERS_COUNT]; + u16 trainerItems[MAX_BATTLERS_COUNT]; u8 itemsNo; }; @@ -541,12 +341,6 @@ struct BattleResources struct BattleScriptsStack *AI_ScriptsStack; }; -extern struct BattleResources* gBattleResources; - -#define BATTLESCRIPTS_STACK (gBattleResources->battleScriptsStack) -#define BATTLE_CALLBACKS_STACK (gBattleResources->battleCallbackStack) -#define BATTLE_LVLUP_STATS (gBattleResources->statsBeforeLvlUp) - struct BattleResults { u8 playerFaintCounter; // 0x0 @@ -570,21 +364,19 @@ struct BattleResults u16 playerMon2Species; // 0x26 u16 caughtMonSpecies; // 0x28 u8 caughtMonNick[10]; // 0x2A - u8 filler34[2]; + u8 filler34[2]; // 0x34 u8 catchAttempts[11]; // 0x36 }; -extern struct BattleResults gBattleResults; - struct BattleStruct { u8 turnEffectsTracker; - u8 turnEffectsBank; + u8 turnEffectsBattlerId; u8 filler2; - u8 turncountersTracker; + u8 turnCountersTracker; u8 wrappedMove[8]; // ask gamefreak why they declared it that way u8 moveTarget[4]; - u8 expGetterId; + u8 expGetterMonId; u8 field_11; u8 wildVictorySong; u8 dynamicMoveType; @@ -598,20 +390,20 @@ struct BattleStruct u8 field_45; u8 field_46; u8 field_47; - u8 focusPunchBank; + u8 focusPunchBattlerId; u8 field_49; u8 moneyMultiplier; - u8 field_4B; + u8 savedTurnActionNumber; u8 switchInAbilitiesCounter; - u8 field_4D; - u8 field_4E; + u8 faintedActionsState; + u8 faintedActionsBattlerId; u8 field_4F; u16 expValue; u8 field_52; u8 sentInPokes; - bool8 selectionScriptFinished[BATTLE_BANKS_COUNT]; + bool8 selectionScriptFinished[MAX_BATTLERS_COUNT]; u8 field_58[4]; - u8 field_5C[4]; + u8 monToSwitchIntoId[MAX_BATTLERS_COUNT]; u8 field_60[4][3]; u8 runTries; u8 caughtMonNick[11]; @@ -623,8 +415,8 @@ struct BattleStruct u8 field_7D; u8 field_7E; u8 formToChangeInto; - u8 chosenMovePositions[BATTLE_BANKS_COUNT]; - u8 stateIdAfterSelScript[BATTLE_BANKS_COUNT]; + u8 chosenMovePositions[MAX_BATTLERS_COUNT]; + u8 stateIdAfterSelScript[MAX_BATTLERS_COUNT]; u8 field_88; u8 field_89; u8 field_8A; @@ -632,7 +424,7 @@ struct BattleStruct u8 field_8C; u8 field_8D; u8 stringMoveType; - u8 expGetterBank; + u8 expGetterBattlerId; u8 field_90; u8 field_91; u8 field_92; @@ -657,12 +449,12 @@ struct BattleStruct u8 synchronizeMoveEffect; u8 field_B3; void (*savedCallback)(void); - u16 usedHeldItems[BATTLE_BANKS_COUNT]; + u16 usedHeldItems[MAX_BATTLERS_COUNT]; u8 chosenItem[4]; // why is this an u8? u8 AI_itemType[2]; u8 AI_itemFlags[2]; - u16 choicedMove[BATTLE_BANKS_COUNT]; - u16 changedItems[BATTLE_BANKS_COUNT]; + u16 choicedMove[MAX_BATTLERS_COUNT]; + u16 changedItems[MAX_BATTLERS_COUNT]; u8 intimidateBank; u8 switchInItemsCounter; u8 field_DA; @@ -670,35 +462,26 @@ struct BattleStruct u8 fillerDC[0xDF-0xDC]; u8 field_DF; u8 mirrorMoveArrays[32]; - u16 castformPalette[4][16]; + u16 castformPalette[MAX_BATTLERS_COUNT][16]; u8 field_180; u8 field_181; u8 field_182; u8 field_183; struct BattleEnigmaBerry battleEnigmaBerry; - u8 field_1A0; - u8 field_1A1; + u8 wishPerishSongState; + u8 wishPerishSongBattlerId; bool8 overworldWeatherDone; u8 atkCancellerTracker; u8 field_1A4[96]; u8 field_204[104]; u8 field_26C[40]; - u8 field_294[4]; + u8 AI_monToSwitchIntoId[MAX_BATTLERS_COUNT]; u8 field_298[8]; u8 field_2A0; u8 field_2A1; u8 field_2A2; }; -extern struct BattleStruct* gBattleStruct; - -#define MEME_ACCESS_U8(structName, structPtr, arrayId, offsetField, value) \ -{ \ - u8* var2 = (u8*)((u32)(arrayId)); \ - var2 = (u32)(structPtr) + var2; \ - var2[offsetof(struct structName, offsetField)] = value; \ -} - #define GET_MOVE_TYPE(move, typeArg) \ { \ if (gBattleStruct->dynamicMoveType) \ @@ -707,128 +490,31 @@ extern struct BattleStruct* gBattleStruct; typeArg = gBattleMoves[move].type; \ } -#define MOVE_EFFECT_SLEEP 0x1 -#define MOVE_EFFECT_POISON 0x2 -#define MOVE_EFFECT_BURN 0x3 -#define MOVE_EFFECT_FREEZE 0x4 -#define MOVE_EFFECT_PARALYSIS 0x5 -#define MOVE_EFFECT_TOXIC 0x6 -#define MOVE_EFFECT_CONFUSION 0x7 -#define MOVE_EFFECT_FLINCH 0x8 -#define MOVE_EFFECT_TRI_ATTACK 0x9 -#define MOVE_EFFECT_UPROAR 0xA -#define MOVE_EFFECT_PAYDAY 0xB -#define MOVE_EFFECT_CHARGING 0xC -#define MOVE_EFFECT_WRAP 0xD -#define MOVE_EFFECT_RECOIL_25 0xE -#define MOVE_EFFECT_ATK_PLUS_1 0xF -#define MOVE_EFFECT_DEF_PLUS_1 0x10 -#define MOVE_EFFECT_SPD_PLUS_1 0x11 -#define MOVE_EFFECT_SP_ATK_PLUS_1 0x12 -#define MOVE_EFFECT_SP_DEF_PLUS_1 0x13 -#define MOVE_EFFECT_ACC_PLUS_1 0x14 -#define MOVE_EFFECT_EVS_PLUS_1 0x15 -#define MOVE_EFFECT_ATK_MINUS_1 0x16 -#define MOVE_EFFECT_DEF_MINUS_1 0x17 -#define MOVE_EFFECT_SPD_MINUS_1 0x18 -#define MOVE_EFFECT_SP_ATK_MINUS_1 0x19 -#define MOVE_EFFECT_SP_DEF_MINUS_1 0x1A -#define MOVE_EFFECT_ACC_MINUS_1 0x1B -#define MOVE_EFFECT_EVS_MINUS_1 0x1C -#define MOVE_EFFECT_RECHARGE 0x1D -#define MOVE_EFFECT_RAGE 0x1E -#define MOVE_EFFECT_STEAL_ITEM 0x1F -#define MOVE_EFFECT_PREVENT_ESCAPE 0x20 -#define MOVE_EFFECT_NIGHTMARE 0x21 -#define MOVE_EFFECT_ALL_STATS_UP 0x22 -#define MOVE_EFFECT_RAPIDSPIN 0x23 -#define MOVE_EFFECT_REMOVE_PARALYSIS 0x24 -#define MOVE_EFFECT_ATK_DEF_DOWN 0x25 -#define MOVE_EFFECT_RECOIL_33_PARALYSIS 0x26 -#define MOVE_EFFECT_ATK_PLUS_2 0x27 -#define MOVE_EFFECT_DEF_PLUS_2 0x28 -#define MOVE_EFFECT_SPD_PLUS_2 0x29 -#define MOVE_EFFECT_SP_ATK_PLUS_2 0x2A -#define MOVE_EFFECT_SP_DEF_PLUS_2 0x2B -#define MOVE_EFFECT_ACC_PLUS_2 0x2C -#define MOVE_EFFECT_EVS_PLUS_2 0x2D -#define MOVE_EFFECT_ATK_MINUS_2 0x2E -#define MOVE_EFFECT_DEF_MINUS_2 0x2F -#define MOVE_EFFECT_SPD_MINUS_2 0x30 -#define MOVE_EFFECT_SP_ATK_MINUS_2 0x31 -#define MOVE_EFFECT_SP_DEF_MINUS_2 0x32 -#define MOVE_EFFECT_ACC_MINUS_2 0x33 -#define MOVE_EFFECT_EVS_MINUS_2 0x34 -#define MOVE_EFFECT_THRASH 0x35 -#define MOVE_EFFECT_KNOCK_OFF 0x36 -#define MOVE_EFFECT_NOTHING_37 0x37 -#define MOVE_EFFECT_NOTHING_38 0x38 -#define MOVE_EFFECT_NOTHING_39 0x39 -#define MOVE_EFFECT_NOTHING_3A 0x3A -#define MOVE_EFFECT_SP_ATK_TWO_DOWN 0x3B -#define MOVE_EFFECT_NOTHING_3C 0x3C -#define MOVE_EFFECT_NOTHING_3D 0x3D -#define MOVE_EFFECT_NOTHING_3E 0x3E -#define MOVE_EFFECT_NOTHING_3F 0x3F -#define MOVE_EFFECT_AFFECTS_USER 0x40 -#define MOVE_EFFECT_CERTAIN 0x80 - -// table ids for general animations -#define B_ANIM_CASTFORM_CHANGE 0x0 -#define B_ANIM_STATS_CHANGE 0x1 -#define B_ANIM_SUBSTITUTE_FADE 0x2 -#define B_ANIM_SUBSTITUTE_APPEAR 0x3 -#define B_ANIM_x4 0x4 -#define B_ANIM_ITEM_KNOCKOFF 0x5 -#define B_ANIM_TURN_TRAP 0x6 -#define B_ANIM_ITEM_EFFECT 0x7 -#define B_ANIM_SMOKEBALL_ESCAPE 0x8 -#define B_ANIM_HANGED_ON 0x9 -#define B_ANIM_RAIN_CONTINUES 0xA -#define B_ANIM_SUN_CONTINUES 0xB -#define B_ANIM_SANDSTORM_CONTINUES 0xC -#define B_ANIM_HAIL_CONTINUES 0xD -#define B_ANIM_LEECH_SEED_DRAIN 0xE -#define B_ANIM_MON_HIT 0xF -#define B_ANIM_ITEM_STEAL 0x10 -#define B_ANIM_SNATCH_MOVE 0x11 -#define B_ANIM_FUTURE_SIGHT_HIT 0x12 -#define B_ANIM_x13 0x13 -#define B_ANIM_x14 0x14 -#define B_ANIM_INGRAIN_HEAL 0x15 -#define B_ANIM_WISH_HEAL 0x16 - -// special animations table -#define B_ANIM_LVL_UP 0x0 -#define B_ANIM_SWITCH_OUT_PLAYER_MON 0x1 -#define B_ANIM_SWITCH_OUT_OPPONENT_MON 0x2 -#define B_ANIM_BALL_THROW 0x3 -#define B_ANIM_SAFARI_BALL_THROW 0x4 -#define B_ANIM_SUBSTITUTE_TO_MON 0x5 -#define B_ANIM_MON_TO_SUBSTITUTE 0x6 +#define IS_MOVE_PHYSICAL(moveType)(moveType < TYPE_MYSTERY) +#define IS_MOVE_SPECIAL(moveType)(moveType > TYPE_MYSTERY) #define GET_STAT_BUFF_ID(n)((n & 0xF)) // first four bits 0x1, 0x2, 0x4, 0x8 #define GET_STAT_BUFF_VALUE(n)(((n >> 4) & 7)) // 0x10, 0x20, 0x40 #define STAT_BUFF_NEGATIVE 0x80 // 0x80, the sign bit -#define SET_STAT_BUFF_ID(n)((n & 0xF)) #define SET_STAT_BUFF_VALUE(n)(((s8)(((s8)(n) << 4)) & 0xF0)) +#define SET_STATCHANGER(statId, stage, goesDown)(gBattleScripting.statChanger = (statId) + (stage << 4) + (goesDown << 7)) + struct BattleScripting { s32 painSplitHp; s32 bideDmg; u8 multihitString[6]; u8 dmgMultiplier; - u8 field_F; + u8 twoTurnsMoveStringId; u8 animArg1; u8 animArg2; - u8 field_12; - u8 field_13; + u16 tripleKickPower; u8 atk49_state; - u8 field_15; - u8 field_16; - u8 bank; + u8 battlerWithAbility; + u8 multihitMoveEffect; + u8 battler; u8 animTurn; u8 animTargetsHit; u8 statChanger; @@ -845,62 +531,6 @@ struct BattleScripting u8 multiplayerId; }; -extern struct BattleScripting gBattleScripting; - -// functions - -// battle_1 -void LoadBattleTextboxAndBackground(void); -void LoadBattleEntryBackground(void); -void ApplyPlayerChosenFrameToBattleMenu(void); -bool8 LoadChosenBattleElement(u8 caseId); -void DrawMainBattleBackground(void); -void task00_0800F6FC(u8 taskId); - -// battle_5 -void AllocateBattleResrouces(void); -void FreeBattleResources(void); -void AdjustFriendshipOnBattleFaint(u8 bank); -void sub_80571DC(u8 bank, u8 arg1); -u32 sub_805725C(u8 bank); - -// battle 7 -void AllocateBattleSpritesData(void); -void FreeBattleSpritesData(void); -void AllocateMonSpritesGfx(void); -void FreeMonSpritesGfx(void); -void BattleMusicStop(void); -void sub_805E990(struct Pokemon *mon, u8 bank); -void sub_805EF14(void); -bool8 BattleInitAllSprites(u8 *state1, u8 *state2); -void sub_805E350(void); -bool8 BattleLoadAllHealthBoxesGfx(u8 state); -void LoadAndCreateEnemyShadowSprites(void); -void SetBankEnemyShadowSpriteCallback(u8 bank, u16 species); -void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 bank); -void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 bank); -void BattleLoadSubstituteSpriteGfx(u8 bank, bool8 arg1); -void nullsub_24(u16 arg0); -void nullsub_25(u8 arg0); -void ClearTemporarySpeciesSpriteData(u8 bank, bool8 dontClearSubstitute); -void sub_805D714(struct Sprite *sprite); -void DecompressTrainerBackPic(u16 backPicId, u8 bank); -void DecompressTrainerFrontPic(u16 frontPicId, u8 bank); -void FreeTrainerFrontPicPalette(u16 frontPicId); -void sub_805D7AC(struct Sprite *sprite); -bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn); -void sub_805EB9C(u8 arg0); -void sub_805E394(void); -void TrySetBehindSubstituteSpriteBit(u8 bank, u16 move); -void DoStatusAnimation(bool8 isStatus2, u32 status); -void DoSpecialBattleAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId); -bool8 DoBattleAnimationFromTable(u8 active, u8 atkBank, u8 defBank, u8 tableId, u16 argument); -void CopyBattleSpriteInvisibility(u8 bank); -u16 ChooseMoveAndTargetInBattlePalace(void); -void LoadBattleBarGfx(u8 arg0); -bool8 mplay_80342A4(u8 bank); -void sub_805EEE0(u8 bank); - enum { BACK_PIC_BRENDAN, @@ -914,14 +544,14 @@ enum }; // rom_80A5C6C -u8 GetBankSide(u8 bank); -u8 GetBankIdentity(u8 bank); -u8 GetBankByIdentity(u8 bank); +u8 GetBattlerSide(u8 battler); +u8 GetBattlerPosition(u8 bank); +u8 GetBattlerAtPosition(u8 bank); struct BattleSpriteInfo { u16 invisible : 1; // 0x1 - u16 flag_x2 : 1; // 0x2 + u16 lowHpSong : 1; // 0x2 u16 behindSubstitute : 1; // 0x4 u16 flag_x8 : 1; // 0x8 u16 hpNumbersNoBars : 1; // 0x10 @@ -930,7 +560,7 @@ struct BattleSpriteInfo struct BattleAnimationInfo { - u16 field; // to fill up later + u16 animArg; // to fill up later u8 field_2; u8 field_3; u8 field_4; @@ -944,6 +574,12 @@ struct BattleAnimationInfo u8 field_9_x20 : 1; u8 field_9_x40 : 1; u8 field_9_x80 : 1; + u8 field_A; + u8 field_B; + u8 field_C; + u8 field_D; + u8 field_E; + u8 field_F; }; struct BattleHealthboxInfo @@ -951,7 +587,7 @@ struct BattleHealthboxInfo u8 flag_x1 : 1; u8 flag_x2 : 1; u8 flag_x4 : 1; - u8 flag_x8 : 1; + u8 ballAnimActive : 1; // 0x8 u8 statusAnimActive : 1; // x10 u8 animFromTableActive : 1; // x20 u8 specialAnimActive : 1; //x40 @@ -966,7 +602,7 @@ struct BattleHealthboxInfo u8 animationState; u8 field_5; u8 field_6; - u8 field_7; + u8 shadowSpriteId; u8 field_8; u8 field_9; u8 field_A; @@ -984,21 +620,12 @@ struct BattleBarInfo struct BattleSpriteData { - struct BattleSpriteInfo *bankData; + struct BattleSpriteInfo *battlerData; struct BattleHealthboxInfo *healthBoxesData; struct BattleAnimationInfo *animationData; struct BattleBarInfo *battleBars; }; -extern struct BattleSpriteData *gBattleSpritesDataPtr; - -#define BATTLE_BUFFER_LINK_SIZE 0x1000 - -extern u8 *gLinkBattleSendBuffer; -extern u8 *gLinkBattleRecvBuffer; - -// Move this somewhere else - #include "sprite.h" struct MonSpritesGfx @@ -1006,15 +633,113 @@ struct MonSpritesGfx void* firstDecompressed; // ptr to the decompressed sprite of the first pokemon void* sprites[4]; struct SpriteTemplate templates[4]; - u8 field_74[0x100]; - u8 *fontPixels; + struct SpriteFrameImage field_74[4][4]; + u8 field_F4[0x80]; + u8 *barFontGfx; + void *field_178; + void *field_17C; }; -extern struct BattleSpritesGfx* gMonSpritesGfx; -extern u8 gBattleOutcome; -extern u16 gLastUsedItem; +// all battle variables are declared in battle_main.c extern u32 gBattleTypeFlags; -extern struct MonSpritesGfx* gMonSpritesGfxPtr; -extern u16 gTrainerBattleOpponent_A; +extern u8 gBattleTerrain; +extern u32 gUnknown_02022FF4; +extern u8 *gUnknown_0202305C; +extern u8 *gUnknown_02023060; +extern u8 gBattleBufferA[MAX_BATTLERS_COUNT][0x200]; +extern u8 gBattleBufferB[MAX_BATTLERS_COUNT][0x200]; +extern u8 gActiveBattler; +extern u32 gBattleControllerExecFlags; +extern u8 gBattlersCount; +extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT]; +extern u8 gBattlerPositions[MAX_BATTLERS_COUNT]; +extern u8 gActionsByTurnOrder[MAX_BATTLERS_COUNT]; +extern u8 gBattleTurnOrder[MAX_BATTLERS_COUNT]; +extern u8 gCurrentTurnActionNumber; +extern u8 gCurrentActionFuncId; +extern struct BattlePokemon gBattleMons[MAX_BATTLERS_COUNT]; +extern u8 gBattlerSpriteIds[MAX_BATTLERS_COUNT]; +extern u8 gCurrMovePos; +extern u8 gChosenMovePos; +extern u16 gCurrentMove; +extern u16 gChosenMove; +extern u16 gRandomMove; +extern s32 gBattleMoveDamage; +extern s32 gHpDealt; +extern s32 gTakenDmg[MAX_BATTLERS_COUNT]; +extern u16 gLastUsedItem; +extern u8 gLastUsedAbility; +extern u8 gBattlerAttacker; +extern u8 gBattlerTarget; +extern u8 gBattlerFainted; +extern u8 gEffectBattler; +extern u8 gPotentialItemEffectBattler; +extern u8 gAbsentBattlerFlags; +extern u8 gCritMultiplier; +extern u8 gMultiHitCounter; +extern const u8 *gBattlescriptCurrInstr; +extern u32 gUnusedBattleMainVar; +extern u8 gChosenActionByBattler[MAX_BATTLERS_COUNT]; +extern const u8 *gSelectionBattleScripts[MAX_BATTLERS_COUNT]; +extern const u8 *gPalaceSelectionBattleScripts[MAX_BATTLERS_COUNT]; +extern u16 gLastPrintedMoves[MAX_BATTLERS_COUNT]; +extern u16 gLastMoves[MAX_BATTLERS_COUNT]; +extern u16 gLastLandedMoves[MAX_BATTLERS_COUNT]; +extern u16 gLastHitByType[MAX_BATTLERS_COUNT]; +extern u16 gLastResultingMoves[MAX_BATTLERS_COUNT]; +extern u16 gLockedMoves[MAX_BATTLERS_COUNT]; +extern u8 gLastHitBy[MAX_BATTLERS_COUNT]; +extern u16 gChosenMoveByBattler[MAX_BATTLERS_COUNT]; +extern u8 gMoveResultFlags; +extern u32 gHitMarker; +extern u8 gTakenDmgByBattler[MAX_BATTLERS_COUNT]; +extern u8 gUnknown_0202428C; +extern u16 gSideStatuses[2]; +extern struct SideTimer gSideTimers[2]; +extern u32 gStatuses3[MAX_BATTLERS_COUNT]; +extern struct DisableStruct gDisableStructs[MAX_BATTLERS_COUNT]; +extern u16 gPauseCounterBattle; +extern u16 gPaydayMoney; +extern u16 gRandomTurnNumber; +extern u8 gBattleCommunication[BATTLE_COMMUNICATION_ENTRIES_COUNT]; +extern u8 gBattleOutcome; +extern struct ProtectStruct gProtectStructs[MAX_BATTLERS_COUNT]; +extern struct SpecialStatus gSpecialStatuses[MAX_BATTLERS_COUNT]; +extern u16 gBattleWeather; +extern struct WishFutureKnock gWishFutureKnock; +extern u16 gIntroSlideFlags; +extern u8 gSentPokesToOpponent[2]; +extern u16 gDynamicBasePower; +extern u16 gExpShareExp; +extern struct BattleEnigmaBerry gEnigmaBerries[MAX_BATTLERS_COUNT]; +extern struct BattleScripting gBattleScripting; +extern struct BattleStruct *gBattleStruct; +extern u8 *gLinkBattleSendBuffer; +extern u8 *gLinkBattleRecvBuffer; +extern struct BattleResources *gBattleResources; +extern u8 gActionSelectionCursor[MAX_BATTLERS_COUNT]; +extern u8 gMoveSelectionCursor[MAX_BATTLERS_COUNT]; +extern u8 gBattlerStatusSummaryTaskId[MAX_BATTLERS_COUNT]; +extern u8 gBattlerInMenuId; +extern bool8 gDoingBattleAnim; +extern u32 gTransformedPersonalities[MAX_BATTLERS_COUNT]; +extern u8 gPlayerDpadHoldFrames; +extern struct BattleSpriteData *gBattleSpritesDataPtr; +extern struct MonSpritesGfx *gMonSpritesGfxPtr; +extern struct BattleHealthboxInfo *gUnknown_020244D8; +extern struct BattleHealthboxInfo *gUnknown_020244DC; +extern u16 gBattleMovePower; +extern u16 gMoveToLearn; +extern u8 gBattleMonForms[MAX_BATTLERS_COUNT]; + +extern void (*gPreBattleCallback1)(void); +extern void (*gBattleMainFunc)(void); +extern struct BattleResults gBattleResults; +extern u8 gLeveledUpInBattle; +extern void (*gBattlerControllerFuncs[MAX_BATTLERS_COUNT])(void); +extern u8 gHealthboxSpriteIds[MAX_BATTLERS_COUNT]; +extern u8 gMultiUsePlayerCursor; +extern u8 gNumberOfMovesToChoose; +extern u8 gUnknown_03005D7C[MAX_BATTLERS_COUNT]; #endif // GUARD_BATTLE_H diff --git a/include/battle_2.h b/include/battle_2.h deleted file mode 100644 index ee61efd9b7..0000000000 --- a/include/battle_2.h +++ /dev/null @@ -1,55 +0,0 @@ -#ifndef GUARD_BATTLE_2_H -#define GUARD_BATTLE_2_H - -void CB2_InitBattle(void); -void BattleMainCB2(void); -void CB2_QuitRecordedBattle(void); -void sub_8038528(struct Sprite* sprite); -void sub_8038A04(void); // unused -void VBlankCB_Battle(void); -void nullsub_17(void); -void sub_8038B74(struct Sprite *sprite); -void sub_8038D64(void); -u32 sub_80391E0(u8 arrayId, u8 caseId); -u32 sub_80397C4(u32 setId, u32 tableId); -void oac_poke_opponent(struct Sprite *sprite); -void SpriteCallbackDummy_2(struct Sprite *sprite); -void sub_8039934(struct Sprite *sprite); -void sub_8039AD8(struct Sprite *sprite); -void sub_8039B2C(struct Sprite *sprite); -void sub_8039B58(struct Sprite *sprite); -void sub_8039BB4(struct Sprite *sprite); -void sub_80105DC(struct Sprite *sprite); -void sub_8039C00(struct Sprite *sprite); -void dp11b_obj_instanciate(u8 bank, u8 b, s8 c, s8 d); -void dp11b_obj_free(u8 bank, bool8 b); -void sub_8039E44(struct Sprite *sprite); -void sub_8039E60(struct Sprite *sprite); -void sub_8039E84(struct Sprite *sprite); -void sub_8039E9C(struct Sprite *sprite); -void nullsub_20(void); -void BeginBattleIntro(void); -void SwitchInClearSetData(void); -void FaintClearSetData(void); -void sub_803B3AC(void); // unused -void sub_803B598(void); // unused -void BattleTurnPassed(void); -u8 IsRunningFromBattleImpossible(void); -void sub_803BDA0(u8 bank); -void SwapTurnOrder(u8 id1, u8 id2); -u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreChosenMoves); -void RunBattleScriptCommands_PopCallbacksStack(void); -void RunBattleScriptCommands(void); -bool8 TryRunFromBattle(u8 bank); - -extern const u8 gStatusConditionString_PoisonJpn[8]; -extern const u8 gStatusConditionString_SleepJpn[8]; -extern const u8 gStatusConditionString_ParalysisJpn[8]; -extern const u8 gStatusConditionString_BurnJpn[8]; -extern const u8 gStatusConditionString_IceJpn[8]; -extern const u8 gStatusConditionString_ConfusionJpn[8]; -extern const u8 gStatusConditionString_LoveJpn[8]; - -extern const u8 * const gStatusConditionStringsTable[7][2]; - -#endif // GUARD_BATTLE_2_H diff --git a/include/battle_ai_script_commands.h b/include/battle_ai_script_commands.h index 5fb422b419..316f76de60 100644 --- a/include/battle_ai_script_commands.h +++ b/include/battle_ai_script_commands.h @@ -4,9 +4,9 @@ void BattleAI_HandleItemUseBeforeAISetup(u8 defaultScoreMoves); void BattleAI_SetupAIData(u8 defaultScoreMoves); u8 BattleAI_ChooseMoveOrAction(void); -void ClearBankMoveHistory(u8 bank); +void ClearBattlerMoveHistory(u8 bank); void RecordAbilityBattle(u8 bank, u8 abilityId); -void ClearBankAbilityHistory(u8 bank); +void ClearBattlerAbilityHistory(u8 bank); void RecordItemEffectBattle(u8 bank, u8 itemEffect); void ClearBankItemEffectHistory(u8 bank); diff --git a/include/battle_anim.h b/include/battle_anim.h index e912af6b11..aa62db46d0 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -1,14 +1,6 @@ #ifndef GUARD_BATTLE_ANIM_H #define GUARD_BATTLE_ANIM_H -enum -{ - ANIM_BANK_ATTACKER, - ANIM_BANK_TARGET, - ANIM_BANK_ATK_PARTNER, - ANIM_BANK_DEF_PARTNER, -}; - enum { BG_ANIM_SCREEN_SIZE, @@ -53,9 +45,9 @@ extern u8 gAnimFriendship; extern u16 gWeatherMoveAnim; extern s16 gBattleAnimArgs[ANIM_ARGS_COUNT]; extern u8 gAnimMoveTurn; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; -extern u16 gAnimSpeciesByBanks[BATTLE_BANKS_COUNT]; +extern u8 gBattleAnimAttacker; +extern u8 gBattleAnimTarget; +extern u16 gAnimSpeciesByBanks[MAX_BATTLERS_COUNT]; extern u8 gUnknown_02038440; void ClearBattleAnimationVars(void); @@ -64,8 +56,8 @@ void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMo void DestroyAnimSprite(struct Sprite *sprite); void DestroyAnimVisualTask(u8 taskId); void DestroyAnimSoundTask(u8 taskId); -bool8 IsAnimBankSpriteVisible(u8 bank); -void sub_80A438C(u8 bank, bool8 toBG_2, bool8 setSpriteInvisible); +bool8 IsBattlerSpriteVisible(u8 battlerId); +void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible); bool8 IsContest(void); s8 BattleAnimAdjustPanning(s8 pan); s8 BattleAnimAdjustPanning2(s8 pan); @@ -79,20 +71,40 @@ void HandleIntroSlide(u8 terrainId); // battle_anim_80A5C6C.s void sub_80A6EEC(struct Sprite *sprite); +void sub_80A68D4(struct Sprite *sprite); +void sub_80A6F3C(struct Sprite *sprite); void sub_80A8278(void); void sub_80A6B30(struct UnknownAnimStruct2*); void sub_80A6B90(struct UnknownAnimStruct2*, u32 arg1); -u8 sub_80A82E4(u8 bank); -u8 sub_80A5C6C(u8 bank, u8 attributeId); -bool8 IsBankSpritePresent(u8 bank); +u8 sub_80A82E4(u8 battlerId); +bool8 AnimateBallThrow(struct Sprite *sprite); + +enum +{ + BANK_X_POS, + BANK_Y_POS, +}; + +u8 GetBattlerSpriteCoord(u8 battlerId, u8 attributeId); + +bool8 IsBattlerSpritePresent(u8 battlerId); void sub_80A6C68(u8 arg0); -u8 GetAnimBankSpriteId(u8 wantedBank); +u8 GetAnimBattlerSpriteId(u8 wantedBattler); bool8 IsDoubleBattle(void); u8 sub_80A6D94(void); u8 sub_80A8364(u8); void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*)); void oamt_add_pos2_onto_pos1(struct Sprite *sprite); -u8 sub_80A6138(u8 bank); -u8 sub_80A82E4(u8 bank); +u8 GetBattlerSpriteDefault_Y(u8 battlerId); +u8 sub_80A82E4(u8 battlerId); +u8 GetSubstituteSpriteDefault_Y(u8 battlerId); + +// battle_anim_80A9C70.s +void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId); + +// battle_anim_8170478.s +u8 ItemIdToBallId(u16 itemId); +u8 LaunchBallStarsTask(u8 x, u8 y, u8 kindOfStars, u8 arg3, u8 ballId); +u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 arg2, u8 ballId); #endif // GUARD_BATTLE_ANIM_H diff --git a/include/battle_bg.h b/include/battle_bg.h new file mode 100644 index 0000000000..7fc09fbf70 --- /dev/null +++ b/include/battle_bg.h @@ -0,0 +1,13 @@ +#ifndef GUARD_BATTLE_BG_H +#define GUARD_BATTLE_BG_H + +void sub_8035658(void); +void sub_80356D0(void); +void ApplyPlayerChosenFrameToBattleMenu(void); +void DrawMainBattleBackground(void); +void LoadBattleTextboxAndBackground(void); +void sub_8035D74(u8 taskId); +void LoadBattleEntryBackground(void); +bool8 LoadChosenBattleElement(u8 caseId); + +#endif // GUARD_BATTLE_BG_H diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 973a723e06..a0fc41b520 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -181,62 +181,62 @@ void sub_8033648(void); void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data); // emitters -void EmitGetMonData(u8 bufferId, u8 requestId, u8 monToCheck); -void EmitGetRawMonData(u8 bufferId, u8 monId, u8 bytes); // unused -void EmitSetMonData(u8 bufferId, u8 requestId, u8 monToCheck, u8 bytes, void *data); -void EmitSetRawMonData(u8 bufferId, u8 monId, u8 bytes, void *data); // unused -void EmitLoadMonSprite(u8 bufferId); -void EmitSwitchInAnim(u8 bufferId, u8 partyId, bool8 dontClearSubstituteBit); -void EmitReturnMonToBall(u8 bufferId, u8 arg1); -void EmitDrawTrainerPic(u8 bufferId); -void EmitTrainerSlide(u8 bufferId); -void EmitTrainerSlideBack(u8 bufferId); -void EmitFaintAnimation(u8 bufferId); -void EmitPaletteFade(u8 bufferId); // unused -void EmitSuccessBallThrowAnim(u8 bufferId); // unused -void EmitBallThrowAnim(u8 bufferId, u8 caseId); -void EmitPause(u8 bufferId, u8 toWait, void *data); // unused -void EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr, u8 multihit); -void EmitPrintString(u8 bufferId, u16 stringId); -void EmitPrintStringPlayerOnly(u8 bufferId, u16 stringId); -void EmitChooseAction(u8 bufferId, u8 arg1, u16 arg2); -void EmitUnknownYesNoBox(u8 bufferId); -void EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData); -void EmitChooseItem(u8 bufferId, u8* arg1); -void EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, u8* arg4); -void EmitCmd23(u8 bufferId); // unused -void EmitHealthBarUpdate(u8 bufferId, u16 hpValue); -void EmitExpUpdate(u8 bufferId, u8 partyId, u16 expPoints); -void EmitStatusIconUpdate(u8 bufferId, u32 status1, u32 status2); -void EmitStatusAnimation(u8 bufferId, bool8 status2, u32 status); -void EmitStatusXor(u8 bufferId, u8 b); // unused -void EmitDataTransfer(u8 bufferId, u16 size, void *data); -void EmitDMA3Transfer(u8 bufferId, void *dst, u16 size, void *data); // unused -void EmitPlayBGM(u8 bufferId, u16 songId, void *unusedDumbDataParameter); // unused -void EmitCmd32(u8 bufferId, u16 size, void *c); // unused -void EmitTwoReturnValues(u8 bufferId, u8 arg1, u16 arg2); -void EmitChosenMonReturnValue(u8 bufferId, u8 b, u8 *c); -void EmitOneReturnValue(u8 bufferId, u16 arg1); -void EmitOneReturnValue_Duplicate(u8 bufferId, u16 b); -void EmitCmd37(u8 bufferId); // unused -void EmitCmd38(u8 bufferId, u8 b); // unused -void EmitCmd39(u8 bufferId); // unused -void EmitCmd40(u8 bufferId); // unused -void EmitHitAnimation(u8 bufferId); -void EmitCmd42(u8 bufferId); -void EmitEffectivenessSound(u8 bufferId, u16 songId); -void EmitPlayFanfareOrBGM(u8 bufferId, u16 songId, bool8 playBGM); -void EmitFaintingCry(u8 bufferId); -void EmitIntroSlide(u8 bufferId, u8 terrainId); -void EmitIntroTrainerBallThrow(u8 bufferId); -void EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 arg2); -void EmitCmd49(u8 bufferId); -void EmitCmd50(u8 bufferId); -void EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible); -void EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument); -void EmitLinkStandbyMsg(u8 bufferId, u8 arg1, bool32 arg2); -void EmitResetActionMoveSelection(u8 bufferId, u8 caseId); -void EmitCmd55(u8 bufferId, u8 arg1); +void BtlController_EmitGetMonData(u8 bufferId, u8 requestId, u8 monToCheck); +void BtlController_EmitGetRawMonData(u8 bufferId, u8 monId, u8 bytes); // unused +void BtlController_EmitSetMonData(u8 bufferId, u8 requestId, u8 monToCheck, u8 bytes, void *data); +void BtlController_EmitSetRawMonData(u8 bufferId, u8 monId, u8 bytes, void *data); // unused +void BtlController_EmitLoadMonSprite(u8 bufferId); +void BtlController_EmitSwitchInAnim(u8 bufferId, u8 partyId, bool8 dontClearSubstituteBit); +void BtlController_EmitReturnMonToBall(u8 bufferId, u8 arg1); +void BtlController_EmitDrawTrainerPic(u8 bufferId); +void BtlController_EmitTrainerSlide(u8 bufferId); +void BtlController_EmitTrainerSlideBack(u8 bufferId); +void BtlController_EmitFaintAnimation(u8 bufferId); +void BtlController_EmitPaletteFade(u8 bufferId); // unused +void BtlController_EmitSuccessBallThrowAnim(u8 bufferId); // unused +void BtlController_EmitBallThrowAnim(u8 bufferId, u8 caseId); +void BtlController_EmitPause(u8 bufferId, u8 toWait, void *data); // unused +void BtlController_EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr, u8 multihit); +void BtlController_EmitPrintString(u8 bufferId, u16 stringId); +void BtlController_EmitPrintSelectionString(u8 bufferId, u16 stringId); +void BtlController_EmitChooseAction(u8 bufferId, u8 arg1, u16 arg2); +void BtlController_EmitUnknownYesNoBox(u8 bufferId); +void BtlController_EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData); +void BtlController_EmitChooseItem(u8 bufferId, u8* arg1); +void BtlController_EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, u8* arg4); +void BtlController_EmitCmd23(u8 bufferId); // unused +void BtlController_EmitHealthBarUpdate(u8 bufferId, u16 hpValue); +void BtlController_EmitExpUpdate(u8 bufferId, u8 partyId, u16 expPoints); +void BtlController_EmitStatusIconUpdate(u8 bufferId, u32 status1, u32 status2); +void BtlController_EmitStatusAnimation(u8 bufferId, bool8 status2, u32 status); +void BtlController_EmitStatusXor(u8 bufferId, u8 b); // unused +void BtlController_EmitDataTransfer(u8 bufferId, u16 size, void *data); +void BtlController_EmitDMA3Transfer(u8 bufferId, void *dst, u16 size, void *data); // unused +void BtlController_EmitPlayBGM(u8 bufferId, u16 songId, void *unusedDumbDataParameter); // unused +void BtlController_EmitCmd32(u8 bufferId, u16 size, void *c); // unused +void BtlController_EmitTwoReturnValues(u8 bufferId, u8 arg1, u16 arg2); +void BtlController_EmitChosenMonReturnValue(u8 bufferId, u8 b, u8 *c); +void BtlController_EmitOneReturnValue(u8 bufferId, u16 arg1); +void BtlController_EmitOneReturnValue_Duplicate(u8 bufferId, u16 b); +void BtlController_EmitCmd37(u8 bufferId); // unused +void BtlController_EmitCmd38(u8 bufferId, u8 b); // unused +void BtlController_EmitCmd39(u8 bufferId); // unused +void BtlController_EmitCmd40(u8 bufferId); // unused +void BtlController_EmitHitAnimation(u8 bufferId); +void BtlController_EmitCmd42(u8 bufferId); +void BtlController_EmitPlaySE(u8 bufferId, u16 songId); +void BtlController_EmitPlayFanfareOrBGM(u8 bufferId, u16 songId, bool8 playBGM); +void BtlController_EmitFaintingCry(u8 bufferId); +void BtlController_EmitIntroSlide(u8 bufferId, u8 terrainId); +void BtlController_EmitIntroTrainerBallThrow(u8 bufferId); +void BtlController_EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 arg2); +void BtlController_EmitCmd49(u8 bufferId); +void BtlController_EmitCmd50(u8 bufferId); +void BtlController_EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible); +void BtlController_EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument); +void BtlController_EmitLinkStandbyMsg(u8 bufferId, u8 arg1, bool32 arg2); +void BtlController_EmitResetActionMoveSelection(u8 bufferId, u8 caseId); +void BtlController_EmitCmd55(u8 bufferId, u8 arg1); // player controller void SetControllerToPlayer(void); diff --git a/include/battle_frontier_1.h b/include/battle_frontier_1.h new file mode 100644 index 0000000000..5483b28ef3 --- /dev/null +++ b/include/battle_frontier_1.h @@ -0,0 +1,7 @@ +#ifndef GUARD_BATTLE_FRONTIER_1_H +#define GUARD_BATTLE_FRONTIER_1_H + +bool32 sub_8196094(void); +void sub_8196080(const u8 *str); + +#endif // GUARD_BATTLE_FRONTIER_1_H diff --git a/include/battle_frontier_2.h b/include/battle_frontier_2.h index 4f37248cc1..801c3f3ece 100644 --- a/include/battle_frontier_2.h +++ b/include/battle_frontier_2.h @@ -5,5 +5,6 @@ void sub_81A8934(u8); void sub_81A895C(void); u16 sub_81A89A0(u8); void sub_81A8AF8(void); +bool8 InBattlePike(void); #endif // GUARD_BATTLE_FRONTIER_2_H diff --git a/include/battle_gfx_sfx_util.h b/include/battle_gfx_sfx_util.h new file mode 100644 index 0000000000..e1c6325b6b --- /dev/null +++ b/include/battle_gfx_sfx_util.h @@ -0,0 +1,50 @@ +#ifndef GUARD_BATTLE_GFX_SFX_UTIL +#define GUARD_BATTLE_GFX_SFX_UTIL + +void AllocateBattleSpritesData(void); +void FreeBattleSpritesData(void); +u16 ChooseMoveAndTargetInBattlePalace(void); +void sub_805D714(struct Sprite *sprite); +void sub_805D770(struct Sprite *sprite, bool8 arg1); +void sub_805D7AC(struct Sprite *sprite); +void InitAndLaunchChosenStatusAnimation(bool8 isStatus2, u32 status); +bool8 TryHandleLaunchBattleTableAnimation(u8 activeBattlerId, u8 attacker, u8 target, u8 tableId, u16 argument); +void InitAndLaunchSpecialAnimation(u8 activeBattlerId, u8 attacker, u8 target, u8 tableId); +bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn); +bool8 mplay_80342A4(u8 battlerId); +void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId); +void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId); +void nullsub_23(void); +void nullsub_24(u16 species); +void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId); +void DecompressTrainerBackPic(u16 backPicId, u8 battlerId); +void nullsub_25(u8 arg0); +void FreeTrainerFrontPicPalette(u16 frontPicId); +void sub_805DFFC(void); +bool8 BattleLoadAllHealthBoxesGfx(u8 state); +void LoadBattleBarGfx(u8 arg0); +bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId); +void ClearSpritesHealthboxAnimData(void); +void CopyAllBattleSpritesInvisibilities(void); +void CopyBattleSpriteInvisibility(u8 battlerId); +void HandleSpeciesGfxDataChange(u8 attacker, u8 target, bool8 notTransform); +void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite); +void LoadBattleMonGfxAndAnimate(u8 battlerId, bool8 loadMonSprite, u8 spriteId); +void TrySetBehindSubstituteSpriteBit(u8 battlerId, u16 move); +void ClearBehindSubstituteBit(u8 battlerId); +void HandleLowHpMusicChange(struct Pokemon *mon, u8 battlerId); +void BattleStopLowHpSound(void); +u8 GetMonHPBarLevel(struct Pokemon *mon); +void sub_805EAE8(void); +void sub_805EB9C(u8 affineMode); +void LoadAndCreateEnemyShadowSprites(void); +void SpriteCB_SetInvisible(struct Sprite *sprite); +void SetBattlerShadowSpriteCallback(u8 battlerId, u16 species); +void HideBattlerShadowSprite(u8 battlerId); +void sub_805EF14(void); +void ClearTemporarySpeciesSpriteData(u8 battlerId, bool8 dontClearSubstitute); +void AllocateMonSpritesGfx(void); +void FreeMonSpritesGfx(void); +bool32 ShouldPlayNormalPokeCry(struct Pokemon *mon); + +#endif // GUARD_BATTLE_GFX_SFX_UTIL diff --git a/include/battle_interface.h b/include/battle_interface.h index aad30f7b37..fe8c03f70a 100644 --- a/include/battle_interface.h +++ b/include/battle_interface.h @@ -15,6 +15,15 @@ enum EXP_BAR }; +enum +{ + HP_BAR_EMPTY, + HP_BAR_RED, + HP_BAR_YELLOW, + HP_BAR_GREEN, + HP_BAR_FULL, +}; + #define TAG_HEALTHBOX_PLAYER1_TILE 0xD6FF #define TAG_HEALTHBOX_PLAYER2_TILE 0xD700 #define TAG_HEALTHBOX_OPPONENT1_TILE 0xD701 @@ -45,7 +54,7 @@ enum HEALTHBOX_SAFARI_BALLS_TEXT }; -u8 CreateBankHealthboxSprites(u8 bank); +u8 CreateBattlerHealthboxSprites(u8 bank); u8 CreateSafariPlayerHealthboxSprites(void); void SetBattleBarStruct(u8 bank, u8 healthboxSpriteId, s32 maxVal, s32 currVal, s32 receivedValue); void SetHealthboxSpriteInvisible(u8 healthboxSpriteId); @@ -53,7 +62,7 @@ void SetHealthboxSpriteVisible(u8 healthboxSpriteId); void DestoryHealthboxSprite(u8 healthboxSpriteId); void DummyBattleInterfaceFunc(u8 healthboxSpriteId, bool8 isDoubleBattleBankOnly); void UpdateOamPriorityInAllHealthboxes(u8 priority); -void SetBankHealthboxSpritePos(u8 bank); +void InitBattlerHealthboxCoords(u8 bank); void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent); void SwapHpBarsWithHpText(void); u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 arg2, bool8 isBattleStart); diff --git a/include/battle_link_817C95C.h b/include/battle_link_817C95C.h index 815c1f0589..cb2cb0b273 100644 --- a/include/battle_link_817C95C.h +++ b/include/battle_link_817C95C.h @@ -6,6 +6,6 @@ void sub_817E0FC(u16 move, u16 weatherFlags, struct DisableStruct *disableStruct void sub_817E32C(u8 animationId); void sub_817E3F4(void); void sub_817F2A8(void); -u8 GetBankMoveSlotId(u8 bank, u16 move); +u8 GetBattlerMoveSlotId(u8 bank, u16 move); #endif // GUARD_BATTLE_LINK_817C95C_H diff --git a/include/battle_main.h b/include/battle_main.h new file mode 100644 index 0000000000..d7a522f179 --- /dev/null +++ b/include/battle_main.h @@ -0,0 +1,55 @@ +#ifndef GUARD_BATTLE_MAIN_H +#define GUARD_BATTLE_MAIN_H + +void CB2_InitBattle(void); +void BattleMainCB2(void); +void CB2_QuitRecordedBattle(void); +void sub_8038528(struct Sprite* sprite); +void sub_8038A04(void); // unused +void VBlankCB_Battle(void); +void nullsub_17(void); +void sub_8038B74(struct Sprite *sprite); +void sub_8038D64(void); +u32 sub_80391E0(u8 arrayId, u8 caseId); +u32 sub_80397C4(u32 setId, u32 tableId); +void oac_poke_opponent(struct Sprite *sprite); +void SpriteCallbackDummy_2(struct Sprite *sprite); +void sub_8039934(struct Sprite *sprite); +void sub_8039AD8(struct Sprite *sprite); +void sub_8039B2C(struct Sprite *sprite); +void sub_8039B58(struct Sprite *sprite); +void sub_8039BB4(struct Sprite *sprite); +void sub_80105DC(struct Sprite *sprite); +void sub_8039C00(struct Sprite *sprite); +void dp11b_obj_instanciate(u8 battlerId, u8 b, s8 c, s8 d); +void dp11b_obj_free(u8 battlerId, bool8 b); +void sub_8039E44(struct Sprite *sprite); +void sub_8039E60(struct Sprite *sprite); +void sub_8039E84(struct Sprite *sprite); +void sub_8039E9C(struct Sprite *sprite); +void nullsub_20(void); +void BeginBattleIntro(void); +void SwitchInClearSetData(void); +void FaintClearSetData(void); +void sub_803B3AC(void); // unused +void sub_803B598(void); // unused +void BattleTurnPassed(void); +u8 IsRunningFromBattleImpossible(void); +void sub_803BDA0(u8 battlerId); +void SwapTurnOrder(u8 id1, u8 id2); +u8 GetWhoStrikesFirst(u8 battlerId1, u8 battlerId2, bool8 ignoreChosenMoves); +void RunBattleScriptCommands_PopCallbacksStack(void); +void RunBattleScriptCommands(void); +bool8 TryRunFromBattle(u8 battlerId); + +extern const u8 gStatusConditionString_PoisonJpn[8]; +extern const u8 gStatusConditionString_SleepJpn[8]; +extern const u8 gStatusConditionString_ParalysisJpn[8]; +extern const u8 gStatusConditionString_BurnJpn[8]; +extern const u8 gStatusConditionString_IceJpn[8]; +extern const u8 gStatusConditionString_ConfusionJpn[8]; +extern const u8 gStatusConditionString_LoveJpn[8]; + +extern const u8 * const gStatusConditionStringsTable[7][2]; + +#endif // GUARD_BATTLE_MAIN_H diff --git a/include/battle_message.h b/include/battle_message.h index 3f9b38cad7..30ddca4698 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -67,13 +67,21 @@ #define B_BUFF_STAT 5 #define B_BUFF_SPECIES 6 #define B_BUFF_MON_NICK 7 -#define B_BUFF_NEGATIVE_FLAVOUR 8 +#define B_BUFF_NEGATIVE_FLAVOR 8 #define B_BUFF_ABILITY 9 #define B_BUFF_ITEM 10 #define B_BUFF_PLACEHOLDER_BEGIN 0xFD #define B_BUFF_EOS 0xFF +#define PREPARE_FLAVOR_BUFFER(textVar, flavorId) \ +{ \ + textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \ + textVar[1] = B_BUFF_NEGATIVE_FLAVOR; \ + textVar[2] = flavorId; \ + textVar[3] = B_BUFF_EOS; \ +} + #define PREPARE_STAT_BUFFER(textVar, statId) \ { \ textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \ @@ -189,7 +197,7 @@ struct StringInfoBattle { u16 currentMove; - u16 lastMove; + u16 originallyUsedMove; u16 lastItem; u8 lastAbility; u8 scrActive; diff --git a/include/battle_move_effects.h b/include/battle_move_effects.h deleted file mode 100644 index 4a9415379a..0000000000 --- a/include/battle_move_effects.h +++ /dev/null @@ -1,222 +0,0 @@ -#ifndef GUARD_BATTLE_MOVE_EFFECTS_H -#define GUARD_BATTLE_MOVE_EFFECTS_H - -enum -{ - EFFECT_HIT, - EFFECT_SLEEP, - EFFECT_POISON_HIT, - EFFECT_ABSORB, - EFFECT_BURN_HIT, - EFFECT_FREEZE_HIT, - EFFECT_PARALYZE_HIT, - EFFECT_EXPLOSION, - EFFECT_DREAM_EATER, - EFFECT_MIRROR_MOVE, - EFFECT_ATTACK_UP, - EFFECT_DEFENSE_UP, - EFFECT_SPEED_UP, - EFFECT_SPECIAL_ATTACK_UP, - EFFECT_SPECIAL_DEFENSE_UP, - EFFECT_ACCURACY_UP, - EFFECT_EVASION_UP, - EFFECT_ALWAYS_HIT, - EFFECT_ATTACK_DOWN, - EFFECT_DEFENSE_DOWN, - EFFECT_SPEED_DOWN, - EFFECT_SPECIAL_ATTACK_DOWN, // unused - EFFECT_SPECIAL_DEFENSE_DOWN, // unused - EFFECT_ACCURACY_DOWN, - EFFECT_EVASION_DOWN, - EFFECT_HAZE, - EFFECT_BIDE, - EFFECT_RAMPAGE, - EFFECT_ROAR, - EFFECT_MULTI_HIT, - EFFECT_CONVERSION, - EFFECT_FLINCH_HIT, - EFFECT_RESTORE_HP, - EFFECT_TOXIC, - EFFECT_PAY_DAY, - EFFECT_LIGHT_SCREEN, - EFFECT_TRI_ATTACK, - EFFECT_REST, - EFFECT_OHKO, - EFFECT_RAZOR_WIND, - EFFECT_SUPER_FANG, - EFFECT_DRAGON_RAGE, - EFFECT_TRAP, - EFFECT_HIGH_CRITICAL, - EFFECT_DOUBLE_HIT, - EFFECT_RECOIL_IF_MISS, - EFFECT_MIST, - EFFECT_FOCUS_ENERGY, - EFFECT_RECOIL, - EFFECT_CONFUSE, - EFFECT_ATTACK_UP_2, - EFFECT_DEFENSE_UP_2, - EFFECT_SPEED_UP_2, - EFFECT_SPECIAL_ATTACK_UP_2, - EFFECT_SPECIAL_DEFENSE_UP_2, - EFFECT_ACCURACY_UP_2, - EFFECT_EVASION_UP_2, - EFFECT_TRANSFORM, - EFFECT_ATTACK_DOWN_2, - EFFECT_DEFENSE_DOWN_2, - EFFECT_SPEED_DOWN_2, - EFFECT_SPECIAL_ATTACK_DOWN_2, - EFFECT_SPECIAL_DEFENSE_DOWN_2, - EFFECT_ACCURACY_DOWN_2, - EFFECT_EVASION_DOWN_2, - EFFECT_REFLECT, - EFFECT_POISON, - EFFECT_PARALYZE, - EFFECT_ATTACK_DOWN_HIT, - EFFECT_DEFENSE_DOWN_HIT, - EFFECT_SPEED_DOWN_HIT, - EFFECT_SPECIAL_ATTACK_DOWN_HIT, - EFFECT_SPECIAL_DEFENSE_DOWN_HIT, - EFFECT_ACCURACY_DOWN_HIT, - EFFECT_EVASION_DOWN_HIT, - EFFECT_SKY_ATTACK, - EFFECT_CONFUSE_HIT, - EFFECT_TWINEEDLE, - EFFECT_VITAL_THROW, - EFFECT_SUBSTITUTE, - EFFECT_RECHARGE, - EFFECT_RAGE, - EFFECT_MIMIC, - EFFECT_METRONOME, - EFFECT_LEECH_SEED, - EFFECT_SPLASH, - EFFECT_DISABLE, - EFFECT_LEVEL_DAMAGE, - EFFECT_PSYWAVE, - EFFECT_COUNTER, - EFFECT_ENCORE, - EFFECT_PAIN_SPLIT, - EFFECT_SNORE, - EFFECT_CONVERSION_2, - EFFECT_LOCK_ON, - EFFECT_SKETCH, - EFFECT_UNUSED_60, // thaw - EFFECT_SLEEP_TALK, - EFFECT_DESTINY_BOND, - EFFECT_FLAIL, - EFFECT_SPITE, - EFFECT_FALSE_SWIPE, - EFFECT_HEAL_BELL, - EFFECT_QUICK_ATTACK, - EFFECT_TRIPLE_KICK, - EFFECT_THIEF, - EFFECT_MEAN_LOOK, - EFFECT_NIGHTMARE, - EFFECT_MINIMIZE, - EFFECT_CURSE, - EFFECT_UNUSED_6E, - EFFECT_PROTECT, - EFFECT_SPIKES, - EFFECT_FORESIGHT, - EFFECT_PERISH_SONG, - EFFECT_SANDSTORM, - EFFECT_ENDURE, - EFFECT_ROLLOUT, - EFFECT_SWAGGER, - EFFECT_FURY_CUTTER, - EFFECT_ATTRACT, - EFFECT_RETURN, - EFFECT_PRESENT, - EFFECT_FRUSTRATION, - EFFECT_SAFEGUARD, - EFFECT_THAW_HIT, - EFFECT_MAGNITUDE, - EFFECT_BATON_PASS, - EFFECT_PURSUIT, - EFFECT_RAPID_SPIN, - EFFECT_SONICBOOM, - EFFECT_UNUSED_83, - EFFECT_MORNING_SUN, - EFFECT_SYNTHESIS, - EFFECT_MOONLIGHT, - EFFECT_HIDDEN_POWER, - EFFECT_RAIN_DANCE, - EFFECT_SUNNY_DAY, - EFFECT_DEFENSE_UP_HIT, - EFFECT_ATTACK_UP_HIT, - EFFECT_ALL_STATS_UP_HIT, - EFFECT_UNUSED_8D, // incomplete fake out in gen 2 - EFFECT_BELLY_DRUM, - EFFECT_PSYCH_UP, - EFFECT_MIRROR_COAT, - EFFECT_SKULL_BASH, - EFFECT_TWISTER, - EFFECT_EARTHQUAKE, - EFFECT_FUTURE_SIGHT, - EFFECT_GUST, - EFFECT_FLINCH_HIT_2, // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM - EFFECT_SOLARBEAM, - EFFECT_THUNDER, - EFFECT_TELEPORT, - EFFECT_BEAT_UP, - EFFECT_FLY, - EFFECT_DEFENSE_CURL, - EFFECT_SOFTBOILED, - EFFECT_FAKE_OUT, - EFFECT_UPROAR, - EFFECT_STOCKPILE, - EFFECT_SPIT_UP, - EFFECT_SWALLOW, - EFFECT_UNUSED_A3, - EFFECT_HAIL, - EFFECT_TORMENT, - EFFECT_FLATTER, - EFFECT_WILL_O_WISP, - EFFECT_MEMENTO, - EFFECT_FACADE, - EFFECT_FOCUS_PUNCH, - EFFECT_SMELLINGSALT, - EFFECT_FOLLOW_ME, - EFFECT_NATURE_POWER, - EFFECT_CHARGE, - EFFECT_TAUNT, - EFFECT_HELPING_HAND, - EFFECT_TRICK, - EFFECT_ROLE_PLAY, - EFFECT_WISH, - EFFECT_ASSIST, - EFFECT_INGRAIN, - EFFECT_SUPERPOWER, - EFFECT_MAGIC_COAT, - EFFECT_RECYCLE, - EFFECT_REVENGE, - EFFECT_BRICK_BREAK, - EFFECT_YAWN, - EFFECT_KNOCK_OFF, - EFFECT_ENDEAVOR, - EFFECT_ERUPTION, - EFFECT_SKILL_SWAP, - EFFECT_IMPRISON, - EFFECT_REFRESH, - EFFECT_GRUDGE, - EFFECT_SNATCH, - EFFECT_LOW_KICK, - EFFECT_SECRET_POWER, - EFFECT_DOUBLE_EDGE, - EFFECT_TEETER_DANCE, - EFFECT_BLAZE_KICK, - EFFECT_MUD_SPORT, - EFFECT_POISON_FANG, - EFFECT_WEATHER_BALL, - EFFECT_OVERHEAT, - EFFECT_TICKLE, - EFFECT_COSMIC_POWER, - EFFECT_SKY_UPPERCUT, - EFFECT_BULK_UP, - EFFECT_POISON_TAIL, - EFFECT_WATER_SPORT, - EFFECT_CALM_MIND, - EFFECT_DRAGON_DANCE, - EFFECT_CAMOUFLAGE, -}; - -#endif // GUARD_BATTLE_MOVE_EFFECTS_H diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index a466abc041..6c84d1f0f7 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -1,54 +1,13 @@ #ifndef GUARD_BATTLE_SCRIPT_COMMANDS_H #define GUARD_BATTLE_SCRIPT_COMMANDS_H -#define CMP_EQUAL 0x0 -#define CMP_NOT_EQUAL 0x1 -#define CMP_GREATER_THAN 0x2 -#define CMP_LESS_THAN 0x3 -#define CMP_COMMON_BITS 0x4 -#define CMP_NO_COMMON_BITS 0x5 - -#define BS_ATTACKER_WITH_PARTNER 4 // for atk98_status_icon_update -#define BS_GET_ATTACKER_SIDE 8 // for atk1E_jumpifability -#define BS_GET_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability - -#define ATK48_STAT_NEGATIVE 0x1 -#define ATK48_STAT_BY_TWO 0x2 -#define ATK48_BIT_x4 0x4 -#define ATK48_LOWER_FAIL_CHECK 0x8 - -#define ATK4F_DONT_CHECK_STATUSES 0x80 - -#define VARIOUS_CANCEL_MULTI_TURN_MOVES 0 -#define VARIOUS_SET_MAGIC_COAT_TARGET 1 -#define VARIOUS_CAN_RUN_FROM_BATTLE 2 -#define VARIOUS_GET_MOVE_TARGET 3 -#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5 -#define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6 -#define VARIOUS_EMIT_YESNOBOX 13 -#define VARIOUS_WAIT_CRY 18 -#define VARIOUS_RETURN_OPPONENT_MON1 19 -#define VARIOUS_RETURN_OPPONENT_MON2 20 -#define VARIOUS_SET_TELEPORT_OUTCOME 25 -#define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC 26 - -#define ATK80_DMG_CHANGE_SIGN 0 -#define ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP 1 -#define ATK80_DMG_DOUBLED 2 - -#define STAT_CHANGE_BS_PTR 0x1 -#define STAT_CHANGE_NOT_PROTECT_AFFECTED 0x20 - -#define STAT_CHANGE_WORKED 0 -#define STAT_CHANGE_DIDNT_WORK 1 - #define WINDOW_CLEAR 0x1 #define WINDOW_x80 0x80 void AI_CalcDmg(u8 bankAtk, u8 bankDef); u8 TypeCalc(u16 move, u8 bankAtk, u8 bankDef); u8 AI_TypeCalc(u16 move, u16 targetSpecies, u8 targetAbility); -u8 BankGetTurnOrder(u8 bank); +u8 GetBattlerTurnOrderNum(u8 bank); void SetMoveEffect(bool8 primary, u8 certain); void BattleDestroyYesNoCursorAt(u8 cursorPosition); void BattleCreateYesNoCursorAt(u8 cursorPosition); @@ -57,6 +16,6 @@ void HandleBattleWindow(u8 xStart, u8 yStart, u8 xEnd, u8 yEnd, u8 flags); bool8 UproarWakeUpCheck(u8 bank); extern void (* const gBattleScriptingCommandsTable[])(void); -extern const u8 gUnknown_0831C494[]; +extern const u8 gUnknown_0831C494[][4]; #endif // GUARD_BATTLE_SCRIPT_COMMANDS_H diff --git a/include/battle_scripts.h b/include/battle_scripts.h new file mode 100644 index 0000000000..ffd9996602 --- /dev/null +++ b/include/battle_scripts.h @@ -0,0 +1,290 @@ +#ifndef GUARD_BATTLE_SCRIPTS_H +#define GUARD_BATTLE_SCRIPTS_H + +extern const u8 BattleScript_HitFromCritCalc[]; +extern const u8 BattleScript_MoveEnd[]; +extern const u8 BattleScript_MakeMoveMissed[]; +extern const u8 BattleScript_PrintMoveMissed[]; +extern const u8 BattleScript_MoveMissedPause[]; +extern const u8 BattleScript_MoveMissed[]; +extern const u8 BattleScript_ButItFailed[]; +extern const u8 BattleScript_StatUp[]; +extern const u8 BattleScript_StatDown[]; +extern const u8 BattleScript_AlreadyAtFullHp[]; +extern const u8 BattleScript_PresentHealTarget[]; +extern const u8 BattleScript_MoveUsedMustRecharge[]; +extern const u8 BattleScript_FaintAttacker[]; +extern const u8 BattleScript_FaintTarget[]; +extern const u8 BattleScript_GiveExp[]; +extern const u8 BattleScript_HandleFaintedMon[]; +extern const u8 BattleScript_LocalTrainerBattleWon[]; +extern const u8 BattleScript_LocalTwoTrainersDefeated[]; +extern const u8 BattleScript_LocalBattleWonLoseTexts[]; +extern const u8 BattleScript_LocalBattleWonReward[]; +extern const u8 BattleScript_PayDayMoneyAndPickUpItems[]; +extern const u8 BattleScript_LocalBattleLost[]; +extern const u8 BattleScript_LocalBattleLostPrintWhiteOut[]; +extern const u8 BattleScript_LocalBattleLostEnd[]; +extern const u8 BattleScript_CheckDomeDrew[]; +extern const u8 BattleScript_82DAA0B[]; +extern const u8 BattleScript_82DAA31[]; +extern const u8 BattleScript_LinkBattleWonOrLost[]; +extern const u8 BattleScript_82DAA5C[]; +extern const u8 BattleScript_82DAA83[]; +extern const u8 BattleScript_FrontierTrainerBattleWon[]; +extern const u8 BattleScript_82DAAAB[]; +extern const u8 BattleScript_82DAAAE[]; +extern const u8 BattleScript_82DAACB[]; +extern const u8 BattleScript_82DAADA[]; +extern const u8 BattleScript_SmokeBallEscape[]; +extern const u8 BattleScript_RanAwayUsingMonAbility[]; +extern const u8 BattleScript_GotAwaySafely[]; +extern const u8 BattleScript_WildMonFled[]; +extern const u8 BattleScript_PrintCantRunFromTrainer[]; +extern const u8 BattleScript_PrintFailedToRunString[]; +extern const u8 BattleScript_PrintCantEscapeFromBattle[]; +extern const u8 BattleScript_PrintFullBox[]; +extern const u8 BattleScript_ActionSwitch[]; +extern const u8 BattleScript_82DAB35[]; +extern const u8 BattleScript_82DAB37[]; +extern const u8 BattleScript_82DAB44[]; +extern const u8 BattleScript_82DAB77[]; +extern const u8 BattleScript_82DABB8[]; +extern const u8 BattleScript_Pausex20[]; +extern const u8 BattleScript_LevelUp[]; +extern const u8 BattleScript_RainContinuesOrEnds[]; +extern const u8 BattleScript_DamagingWeatherContinues[]; +extern const u8 BattleScript_SandStormHailEnds[]; +extern const u8 BattleScript_SunlightContinues[]; +extern const u8 BattleScript_SunlightFaded[]; +extern const u8 BattleScript_OverworldWeatherStarts[]; +extern const u8 BattleScript_SideStatusWoreOff[]; +extern const u8 BattleScript_SafeguardProtected[]; +extern const u8 BattleScript_SafeguardEnds[]; +extern const u8 BattleScript_LeechSeedTurnDrain[]; +extern const u8 BattleScript_82DAD47[]; +extern const u8 BattleScript_82DAD4D[]; +extern const u8 BattleScript_BideStoringEnergy[]; +extern const u8 BattleScript_BideAttack[]; +extern const u8 BattleScript_BideNoEnergyToAttack[]; +extern const u8 BattleScript_SuccessForceOut[]; +extern const u8 BattleScript_82DADF1[]; +extern const u8 BattleScript_MistProtected[]; +extern const u8 BattleScript_RageIsBuilding[]; +extern const u8 BattleScript_MoveUsedIsDisabled[]; +extern const u8 BattleScript_SelectingDisabledMove[]; +extern const u8 BattleScript_DisabledNoMore[]; +extern const u8 BattleScript_SelectingDisabledMoveInPalace[]; +extern const u8 BattleScript_SelectingUnusableMoveInPalace[]; +extern const u8 BattleScript_EncoredNoMore[]; +extern const u8 BattleScript_DestinyBondTakesLife[]; +extern const u8 BattleScript_SpikesOnAttacker[]; +extern const u8 BattleScript_82DAE7A[]; +extern const u8 BattleScript_SpikesOnTarget[]; +extern const u8 BattleScript_82DAEB1[]; +extern const u8 BattleScript_SpikesOnFaintedBattler[]; +extern const u8 BattleScript_82DAEE8[]; +extern const u8 BattleScript_82DAEFE[]; +extern const u8 BattleScript_PerishSongTakesLife[]; +extern const u8 BattleScript_PerishSongCountGoesDown[]; +extern const u8 BattleScript_AllStatsUp[]; +extern const u8 BattleScript_82DAF54[]; +extern const u8 BattleScript_82DAF72[]; +extern const u8 BattleScript_82DAF86[]; +extern const u8 BattleScript_82DAF9A[]; +extern const u8 BattleScript_82DAFAE[]; +extern const u8 BattleScript_82DAFC2[]; +extern const u8 BattleScript_RapidSpinAway[]; +extern const u8 BattleScript_WrapFree[]; +extern const u8 BattleScript_LeechSeedFree[]; +extern const u8 BattleScript_SpikesFree[]; +extern const u8 BattleScript_MonTookFutureAttack[]; +extern const u8 BattleScript_82DB001[]; +extern const u8 BattleScript_82DB008[]; +extern const u8 BattleScript_82DB020[]; +extern const u8 BattleScript_82DB027[]; +extern const u8 BattleScript_82DB03F[]; +extern const u8 BattleScript_82DB058[]; +extern const u8 BattleScript_NoMovesLeft[]; +extern const u8 BattleScript_SelectingMoveWithNoPP[]; +extern const u8 BattleScript_NoPPForMove[]; +extern const u8 BattleScript_SelectingTormentedMove[]; +extern const u8 BattleScript_MoveUsedIsTormented[]; +extern const u8 BattleScript_SelectingTormentedMoveInPalace[]; +extern const u8 BattleScript_SelectingNotAllowedMoveTaunt[]; +extern const u8 BattleScript_MoveUsedIsTaunted[]; +extern const u8 BattleScript_SelectingNotAllowedMoveTauntInPalace[]; +extern const u8 BattleScript_WishComesTrue[]; +extern const u8 BattleScript_IngrainTurnHeal[]; +extern const u8 BattleScript_AtkDefDown[]; +extern const u8 BattleScript_82DB144[]; +extern const u8 BattleScript_82DB167[]; +extern const u8 BattleScript_KnockedOff[]; +extern const u8 BattleScript_MoveUsedIsImprisoned[]; +extern const u8 BattleScript_SelectingImprisionedMove[]; +extern const u8 BattleScript_SelectingImprisionedMoveInPalace[]; +extern const u8 BattleScript_GrudgeTakesPp[]; +extern const u8 BattleScript_MagicCoatBounce[]; +extern const u8 BattleScript_SnatchedMove[]; +extern const u8 BattleScript_EnduredMsg[]; +extern const u8 BattleScript_OneHitKOMsg[]; +extern const u8 BattleScript_SAtkDown2[]; +extern const u8 BattleScript_82DB1FE[]; +extern const u8 BattleScript_FocusPunchSetUp[]; +extern const u8 BattleScript_MoveUsedIsAsleep[]; +extern const u8 BattleScript_MoveUsedWokeUp[]; +extern const u8 BattleScript_MonWokeUpInUproar[]; +extern const u8 BattleScript_PoisonTurnDmg[]; +extern const u8 BattleScript_82DB243[]; +extern const u8 BattleScript_82DB245[]; +extern const u8 BattleScript_82DB25E[]; +extern const u8 BattleScript_BurnTurnDmg[]; +extern const u8 BattleScript_MoveUsedIsFrozen[]; +extern const u8 BattleScript_MoveUsedUnfroze[]; +extern const u8 BattleScript_DefrostedViaFireMove[]; +extern const u8 BattleScript_MoveUsedIsParalyzed[]; +extern const u8 BattleScript_MoveUsedFlinched[]; +extern const u8 BattleScript_PrintUproarOverTurns[]; +extern const u8 BattleScript_ThrashConfuses[]; +extern const u8 BattleScript_MoveUsedIsConfused[]; +extern const u8 BattleScript_82DB2D4[]; +extern const u8 BattleScript_82DB2FF[]; +extern const u8 BattleScript_MoveUsedIsConfusedNoMore[]; +extern const u8 BattleScript_PrintPayDayMoneyString[]; +extern const u8 BattleScript_WrapTurnDmg[]; +extern const u8 BattleScript_WrapEnds[]; +extern const u8 BattleScript_MoveUsedIsInLove[]; +extern const u8 BattleScript_MoveUsedIsParalyzedCantAttack[]; +extern const u8 BattleScript_NightmareTurnDmg[]; +extern const u8 BattleScript_CurseTurnDmg[]; +extern const u8 BattleScript_TargetPRLZHeal[]; +extern const u8 BattleScript_MoveEffectSleep[]; +extern const u8 BattleScript_82DB374[]; +extern const u8 BattleScript_YawnMakesAsleep[]; +extern const u8 BattleScript_MoveEffectPoison[]; +extern const u8 BattleScript_MoveEffectBurn[]; +extern const u8 BattleScript_MoveEffectFreeze[]; +extern const u8 BattleScript_MoveEffectParalysis[]; +extern const u8 BattleScript_MoveEffectUproar[]; +extern const u8 BattleScript_MoveEffectToxic[]; +extern const u8 BattleScript_MoveEffectPayDay[]; +extern const u8 BattleScript_MoveEffectWrap[]; +extern const u8 BattleScript_MoveEffectConfusion[]; +extern const u8 BattleScript_MoveEffectRecoil33[]; +extern const u8 BattleScript_DoRecoil33[]; +extern const u8 BattleScript_Recoil33End[]; +extern const u8 BattleScript_ItemSteal[]; +extern const u8 BattleScript_DrizzleActivates[]; +extern const u8 BattleScript_SpeedBoostActivates[]; +extern const u8 BattleScript_TraceActivates[]; +extern const u8 BattleScript_RainDishActivates[]; +extern const u8 BattleScript_SandstreamActivates[]; +extern const u8 BattleScript_ShedSkinActivates[]; +extern const u8 BattleScript_WeatherFormChanges[]; +extern const u8 BattleScript_WeatherFormChangesLoop[]; +extern const u8 BattleScript_CastformChange[]; +extern const u8 BattleScript_82DB4AF[]; +extern const u8 BattleScript_82DB4B8[]; +extern const u8 BattleScript_82DB4BE[]; +extern const u8 BattleScript_82DB4C1[]; +extern const u8 BattleScript_82DB4CD[]; +extern const u8 BattleScript_82DB510[]; +extern const u8 BattleScript_82DB51B[]; +extern const u8 BattleScript_82DB51C[]; +extern const u8 BattleScript_DroughtActivates[]; +extern const u8 BattleScript_TookAttack[]; +extern const u8 BattleScript_SturdyPreventsOHKO[]; +extern const u8 BattleScript_DampStopsExplosion[]; +extern const u8 BattleScript_MoveHPDrain_PPLoss[]; +extern const u8 BattleScript_MoveHPDrain[]; +extern const u8 BattleScript_MonMadeMoveUseless_PPLoss[]; +extern const u8 BattleScript_MonMadeMoveUseless[]; +extern const u8 BattleScript_FlashFireBoost_PPLoss[]; +extern const u8 BattleScript_FlashFireBoost[]; +extern const u8 BattleScript_AbilityNoStatLoss[]; +extern const u8 BattleScript_BRNPrevention[]; +extern const u8 BattleScript_PRLZPrevention[]; +extern const u8 BattleScript_PSNPrevention[]; +extern const u8 BattleScript_ObliviousPreventsAttraction[]; +extern const u8 BattleScript_FlinchPrevention[]; +extern const u8 BattleScript_OwnTempoPrevents[]; +extern const u8 BattleScript_SoundproofProtected[]; +extern const u8 BattleScript_AbilityNoSpecificStatLoss[]; +extern const u8 BattleScript_StickyHoldActivates[]; +extern const u8 BattleScript_ColorChangeActivates[]; +extern const u8 BattleScript_RoughSkinActivates[]; +extern const u8 BattleScript_CuteCharmActivates[]; +extern const u8 BattleScript_ApplySecondaryEffect[]; +extern const u8 BattleScript_SynchronizeActivates[]; +extern const u8 BattleScript_NoItemSteal[]; +extern const u8 BattleScript_AbilityCuredStatus[]; +extern const u8 BattleScript_82DB695[]; +extern const u8 BattleScript_IgnoresAndUsesRandomMove[]; +extern const u8 BattleScript_MoveUsedLoafingAround[]; +extern const u8 BattleScript_82DB6C7[]; +extern const u8 BattleScript_IgnoresAndFallsAsleep[]; +extern const u8 BattleScript_82DB6F0[]; +extern const u8 BattleScript_SubstituteFade[]; +extern const u8 BattleScript_BerryCurePrlzEnd2[]; +extern const u8 BattleScript_BerryCureParRet[]; +extern const u8 BattleScript_BerryCurePsnEnd2[]; +extern const u8 BattleScript_BerryCurePsnRet[]; +extern const u8 BattleScript_BerryCureBrnEnd2[]; +extern const u8 BattleScript_BerryCureBrnRet[]; +extern const u8 BattleScript_BerryCureFrzEnd2[]; +extern const u8 BattleScript_BerryCureFrzRet[]; +extern const u8 BattleScript_BerryCureSlpEnd2[]; +extern const u8 BattleScript_BerryCureSlpRet[]; +extern const u8 BattleScript_BerryCureConfusionEnd2[]; +extern const u8 BattleScript_BerryCureConfusionRet[]; +extern const u8 BattleScript_BerryCureChosenStatusEnd2[]; +extern const u8 BattleScript_BerryCureChosenStatusRet[]; +extern const u8 BattleScript_WhiteHerbEnd2[]; +extern const u8 BattleScript_WhiteHerbRet[]; +extern const u8 BattleScript_ItemHealHP_RemoveItem[]; +extern const u8 BattleScript_BerryPPHealEnd2[]; +extern const u8 BattleScript_ItemHealHP_End2[]; +extern const u8 BattleScript_ItemHealHP_Ret[]; +extern const u8 BattleScript_SelectingNotAllowedMoveChoiceItem[]; +extern const u8 BattleScript_HangedOnMsg[]; +extern const u8 BattleScript_BerryConfuseHealEnd2[]; +extern const u8 BattleScript_BerryStatRaiseEnd2[]; +extern const u8 BattleScript_82DB85B[]; +extern const u8 BattleScript_BerryFocusEnergyEnd2[]; +extern const u8 BattleScript_ActionSelectionItemsCantBeUsed[]; +extern const u8 BattleScript_82DB87D[]; +extern const u8 BattleScript_82DB881[]; +extern const u8 BattleScript_82DB887[]; +extern const u8 BattleScript_82DB89D[]; +extern const u8 BattleScript_82DB8BE[]; +extern const u8 BattleScript_82DB8E0[]; +extern const u8 BattleScript_82DB8F3[]; +extern const u8 BattleScript_82DB973[]; +extern const u8 BattleScript_82DB992[]; +extern const u8 BattleScript_AskIfWantsToForfeitMatch[]; +extern const u8 BattleScript_PrintPlayerForfeited[]; +extern const u8 BattleScript_PrintPlayerForfeitedLinkBattle[]; +extern const u8 BattleScript_BallThrow[]; +extern const u8 BattleScript_BallThrowByWally[]; +extern const u8 BattleScript_SafariBallThrow[]; +extern const u8 BattleScript_SuccessBallThrow[]; +extern const u8 BattleScript_82DBD92[]; +extern const u8 BattleScript_82DBDA5[]; +extern const u8 BattleScript_82DBDC2[]; +extern const u8 BattleScript_82DBDC3[]; +extern const u8 BattleScript_WallyBallThrow[]; +extern const u8 BattleScript_ShakeBallThrow[]; +extern const u8 BattleScript_82DBE01[]; +extern const u8 BattleScript_TrainerBallBlock[]; +extern const u8 BattleScript_82DBE12[]; +extern const u8 BattleScript_82DBE1C[]; +extern const u8 BattleScript_82DBE4B[]; +extern const u8 BattleScript_82DBE6F[]; +extern const u8 BattleScript_82DBE91[]; +extern const u8 BattleScript_RunByUsingItem[]; +extern const u8 BattleScript_ActionWatchesCarefully[]; +extern const u8 BattleScript_ActionGetNear[]; +extern const u8 BattleScript_ActionThrowPokeblock[]; +extern const u8 BattleScript_82DBEE3[]; + +#endif // GUARD_BATTLE_SCRIPTS_H diff --git a/include/battle_setup.h b/include/battle_setup.h index e4acd86016..e4bae6fdb1 100644 --- a/include/battle_setup.h +++ b/include/battle_setup.h @@ -1,15 +1,85 @@ #ifndef GUARD_BATTLE_SETUP_H #define GUARD_BATTLE_SETUP_H -void BattleSetup_StartScriptedWildBattle(void); -u8 BattleSetup_GetTerrainId(void); -u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data); +enum +{ + TRAINER_BATTLE_NORMAL, + TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC, + TRAINER_BATTLE_CONTINUE_SCRIPT, + TRAINER_BATTLE_NORMAL_NO_INTRO_TEXT, + TRAINER_BATTLE_DOUBLE, + TRAINER_BATTLE_REMATCH, + TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE, + TRAINER_BATTLE_REMATCH_DOUBLE, + TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC, + TRAINER_BATTLE_9, + TRAINER_BATTLE_SET_TRAINER_A, + TRAINER_BATTLE_SET_TRAINER_B, + TRAINER_BATTLE_12, +}; -u8 HasTrainerAlreadyBeenFought(u16); -void trainer_flag_set(u16); -void trainer_flag_clear(u16); +#define REMATCHES_COUNT 5 +#define REMATCH_TABLE_ENTRIES 78 +#define REMATCH_WALLY_ENTRY 64 +#define REMATCH_ELITE_FOUR_ENTRIES 73 + +struct RematchTrainer +{ + u16 trainerIds[REMATCHES_COUNT]; + u16 mapGroup; + u16 mapNum; +}; + +extern const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES]; + +extern u16 gTrainerBattleOpponent_A; +extern u16 gTrainerBattleOpponent_B; +extern u16 gPartnerTrainerId; + +void BattleSetup_StartWildBattle(void); +void BattleSetup_StartBattlePikeWildBattle(void); +void BattleSetup_StartRoamerBattle(void); +void StartWallyTutorialBattle(void); +void BattleSetup_StartScriptedWildBattle(void); +void BattleSetup_StartLatiBattle(void); +void BattleSetup_StartLegendaryBattle(void); +void StartGroudonKyogreBattle(void); +void StartRegiBattle(void); +u8 BattleSetup_GetTerrainId(void); +u8 sub_80B100C(s32 arg0); +void ChooseStarter(void); +void ResetTrainerOpponentIds(void); +void SetMapVarsToTrainer(void); +const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data); +void ConfigureAndSetUpOneTrainerBattle(u8 trainerMapObjId, const u8 *trainerScript); +void ConfigureTwoTrainersBattle(u8 trainerMapObjId, const u8 *trainerScript); +void SetUpTwoTrainersBattle(void); +bool32 GetTrainerFlagFromScriptPointer(const u8 *data); +void sub_80B16D8(void); +u8 GetTrainerBattleMode(void); +bool8 GetTrainerFlag(void); +bool8 HasTrainerBeenFought(u16 trainerId); +void SetTrainerFlag(u16 trainerId); +void ClearTrainerFlag(u16 trainerId); void BattleSetup_StartTrainerBattle(void); -u8 *BattleSetup_GetScriptAddrAfterBattle(void); -u8 *BattleSetup_GetTrainerPostBattleScript(void); +void BattleSetup_StartRematchBattle(void); +void ShowTrainerIntroSpeech(void); +const u8 *BattleSetup_GetScriptAddrAfterBattle(void); +const u8 *BattleSetup_GetTrainerPostBattleScript(void); +void ShowTrainerCantBattleSpeech(void); +void SetUpTrainerEncounterMusic(void); +const u8 *GetTrainerALoseText(void); +const u8 *GetTrainerBLoseText(void); +const u8 *GetTrainerWonSpeech(void); +void UpdateRematchIfDefeated(s32 rematchTableId); +void IncrementRematchStepCounter(void); +void TryUpdateRandomTrainerRematches(u16 mapGroup, u16 mapNum); +bool32 DoesSomeoneWantRematchIn(u16 mapGroup, u16 mapNum); +bool32 IsRematchTrainerIn(u16 mapGroup, u16 mapNum); +u16 GetLastBeatenRematchTrainerId(u16 trainerId); +bool8 ShouldTryRematchBattle(void); +bool8 IsTrainerReadyForRematch(void); +void ShouldTryGetTrainerScript(void); +u16 CountBattledRematchTeams(u16 trainerId); #endif // GUARD_BATTLE_SETUP_H diff --git a/include/battle_transition.h b/include/battle_transition.h index 1603f5c93c..0d6ef3c83e 100644 --- a/include/battle_transition.h +++ b/include/battle_transition.h @@ -1,6 +1,72 @@ #ifndef GUARD_BATTLE_TRANSITION_H #define GUARD_BATTLE_TRANSITION_H -void sub_8149DFC(u8 a1); +void TestBattleTransition(u8 transitionId); +void BattleTransition_StartOnField(u8 transitionId); +void BattleTransition_Start(u8 transitionId); +bool8 IsBattleTransitionDone(void); +bool8 FldEff_Pokeball(void); +void TransitionPhase1_Task_RunFuncs(u8 taskId); +void sub_8149F58(u16 **a0, u16 **a1); + +extern const struct SpritePalette gFieldEffectObjectPaletteInfo10; + +enum // TRANSITION_MUGSHOT +{ + MUGSHOT_SYDNEY, + MUGSHOT_PHOEBE, + MUGSHOT_GLACIA, + MUGSHOT_DRAKE, + MUGSHOT_CHAMPION, + MUGSHOTS_COUNT +}; + +// credits for the names go to Dyskinesia, Tetrable and Farore +// names are naturally subject to change + +#define B_TRANSITION_BLUR 0 +#define B_TRANSITION_SWIRL 1 +#define B_TRANSITION_SHUFFLE 2 +#define B_TRANSITION_BIG_POKEBALL 3 +#define B_TRANSITION_POKEBALLS_TRAIL 4 +#define B_TRANSITION_CLOCKWISE_BLACKFADE 5 +#define B_TRANSITION_RIPPLE 6 +#define B_TRANSITION_WAVE 7 +#define B_TRANSITION_SLICE 8 +#define B_TRANSITION_WHITEFADE 9 +#define B_TRANSITION_GRID_SQUARES 10 +#define B_TRANSITION_SHARDS 11 +#define B_TRANSITION_SYDNEY 12 +#define B_TRANSITION_PHOEBE 13 +#define B_TRANSITION_GLACIA 14 +#define B_TRANSITION_DRAKE 15 +#define B_TRANSITION_CHAMPION 16 +// added in Emerald +#define B_TRANSITION_AQUA 17 +#define B_TRANSITION_MAGMA 18 +#define B_TRANSITION_REGICE 19 +#define B_TRANSITION_REGISTEEL 20 +#define B_TRANSITION_REGIROCK 21 +#define B_TRANSITION_KYOGRE 22 +#define B_TRANSITION_GROUDON 23 +#define B_TRANSITION_RAYQUAZA 24 +#define B_TRANSITION_SHRED_SPLIT 25 +#define B_TRANSITION_BLACKHOLE1 26 +#define B_TRANSITION_BLACKHOLE2 27 +#define B_TRANSITION_RECTANGULAR_SPIRAL 28 +#define B_TRANSITION_29 29 +#define B_TRANSITION_30 30 +#define B_TRANSITION_31 31 +#define B_TRANSITION_32 32 +#define B_TRANSITION_33 33 +#define B_TRANSITION_34 34 +#define B_TRANSITION_35 35 +#define B_TRANSITION_36 36 +#define B_TRANSITION_37 37 +#define B_TRANSITION_38 38 +#define B_TRANSITION_39 39 +#define B_TRANSITION_40 40 +#define B_TRANSITION_41 41 +#define B_TRANSITION_COUNT 42 #endif // GUARD_BATTLE_TRANSITION_H diff --git a/include/battle_util.h b/include/battle_util.h index b21b250c4c..d992faa476 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -44,12 +44,12 @@ #define BS_GET_PLAYER2 13 #define BS_GET_OPPONENT2 14 -u8 GetBattleBank(u8 caseId); +u8 GetBattlerForBattleScript(u8 caseId); void PressurePPLose(u8 bankDef, u8 bankAtk, u16 move); void PressurePPLoseOnUsingPerishSong(u8 bankAtk); void PressurePPLoseOnUsingImprision(u8 bankAtk); -void MarkAllBufferBanksForExecution(void); // unused -void MarkBufferBankForExecution(u8 bank); +void MarkAllBattlersForControllerExec(void); // unused +void MarkBattlerForControllerExec(u8 bank); void sub_803F850(u8 arg0); void CancelMultiTurnMoves(u8 bank); bool8 WasUnableToUseMove(u8 bank); @@ -66,8 +66,8 @@ bool8 AreAllMovesUnusable(void); u8 GetImprisonedMovesCount(u8 bank, u16 move); u8 UpdateTurnCounters(void); u8 TurnBasedEffects(void); -bool8 sub_8041364(void); -bool8 sub_8041728(void); +bool8 HandleWishPerishSongOnTurnEnd(void); +bool8 HandleFaintedMonActions(void); void TryClearRageStatuses(void); u8 AtkCanceller_UnableToUseMove(void); bool8 sub_80423F4(u8 bank, u8 r1, u8 r2); @@ -79,6 +79,6 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn); void ClearFuryCutterDestinyBondGrudge(u8 bank); void HandleAction_RunBattleScript(void); u8 GetMoveTarget(u16 move, u8 useMoveTarget); -u8 IsPokeDisobedient(void); +u8 IsMonDisobedient(void); #endif // GUARD_BATTLE_UTIL_H diff --git a/include/battle_util2.h b/include/battle_util2.h new file mode 100644 index 0000000000..3954e42dc9 --- /dev/null +++ b/include/battle_util2.h @@ -0,0 +1,10 @@ +#ifndef GUARD_BATTLE_UTIL2_H +#define GUARD_BATTLE_UTIL2_H + +void AllocateBattleResources(void); +void FreeBattleResources(void); +void AdjustFriendshipOnBattleFaint(u8 bank); +void sub_80571DC(u8 bank, u8 arg1); +u32 sub_805725C(u8 bank); + +#endif // GUARD_BATTLE_UTIL_H diff --git a/include/berry.h b/include/berry.h index f51503d418..425a664c9b 100644 --- a/include/berry.h +++ b/include/berry.h @@ -11,6 +11,16 @@ enum BERRY_FIRMNESS_SUPER_HARD, }; +enum +{ + FLAVOR_SPICY, + FLAVOR_DRY, + FLAVOR_SWEET, + FLAVOR_BITTER, + FLAVOR_SOUR, + FLAVOR_COUNT +}; + #define NUM_BERRIES 44 extern const u8 *const gBerryTreeFieldObjectGraphicsIdTablePointers[NUM_BERRIES]; diff --git a/include/berry_blender.h b/include/berry_blender.h new file mode 100644 index 0000000000..fb62e3fa35 --- /dev/null +++ b/include/berry_blender.h @@ -0,0 +1,8 @@ +#ifndef GUARD_BERRY_BLENDER_H +#define GUARD_BERRY_BLENDER_H + +void DoBerryBlending(void); +u16 GetBlenderArrowPosition(void); +void ShowBerryBlenderRecordWindow(void); + +#endif // GUARD_BERRY_BLENDER_H diff --git a/include/berry_fix_program.h b/include/berry_fix_program.h new file mode 100644 index 0000000000..6c31a0c8b0 --- /dev/null +++ b/include/berry_fix_program.h @@ -0,0 +1,6 @@ +#ifndef GUARD_BERRY_FIX_PROGRAM_H +#define GUARD_BERRY_FIX_PROGRAM_H + +void CB2_InitBerryFixProgram(void); + +#endif // GUARD_BERRY_FIX_PROGRAM_H diff --git a/include/berry_tag_screen.h b/include/berry_tag_screen.h new file mode 100644 index 0000000000..26664bea68 --- /dev/null +++ b/include/berry_tag_screen.h @@ -0,0 +1,6 @@ +#ifndef GUARD_BERRY_TAG_SCREEN_H +#define GUARD_BERRY_TAG_SCREEN_H + +void DoBerryTagScreen(void); + +#endif // GUARD_BERRY_TAG_SCREEN_H diff --git a/include/bg.h b/include/bg.h index 0c6b4ac26b..de3897fa40 100644 --- a/include/bg.h +++ b/include/bg.h @@ -70,7 +70,7 @@ void CopyToBgTilemapBuffer(u8 bg, const void *src, u16 mode, u16 destOffset); void CopyBgTilemapBufferToVram(u8 bg); void CopyToBgTilemapBufferRect(u8 bg, void* src, u8 destX, u8 destY, u8 width, u8 height); void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette); -void CopyRectToBgTilemapBufferRect(u8 bg, void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2); +void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2); void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height); void FillBgTilemapBufferRect(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height, u8 palette); void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 width, u8 height, u8 paletteSlot, s16 tileNumDelta); diff --git a/include/bike.h b/include/bike.h new file mode 100644 index 0000000000..e625ad4381 --- /dev/null +++ b/include/bike.h @@ -0,0 +1,78 @@ +#ifndef GUARD_BIKE_H +#define GUARD_BIKE_H + +// the struct below is used for checking button combinations of the last input so that the acro can potentially perform a side/turn jump. +// its possible that at some point Game Freak intended for the acro bike to have more complex tricks: but only the acro jump combinations can be seen in the final ROM. +struct BikeHistoryInputInfo +{ + u32 dirHistoryMatch; // the direction you need to press + u32 abStartSelectHistoryMatch; // the button you need to press + u32 dirHistoryMask; // mask applied so that way only the recent nybble (the recent input) is checked + u32 abStartSelectHistoryMask; // mask applied so that way only the recent nybble (the recent input) is checked + const u8 *dirTimerHistoryList; // list of timers to check for direction before the button+dir combination can be verified. + const u8 *abStartSelectHistoryList; // list of timers to check for buttons before the button+dir combination can be verified. + u32 direction; // direction to jump +}; + +// Player speeds +enum +{ + SPEED_STANDING, + SPEED_NORMAL, + SPEED_FAST, + SPEED_FASTER, + SPEED_FASTEST, +}; + +// mach bike transitions enum +enum +{ + MACH_TRANS_FACE_DIRECTION, + MACH_TRANS_TURN_DIRECTION, + MACH_TRANS_KEEP_MOVING, + MACH_TRANS_START_MOVING +}; + +// Acro bike states +enum +{ + ACRO_STATE_NORMAL, + ACRO_STATE_TURNING, + ACRO_STATE_WHEELIE_STANDING, + ACRO_STATE_BUNNY_HOP, + ACRO_STATE_WHEELIE_MOVING, + ACRO_STATE_SIDE_JUMP, + ACRO_STATE_TURN_JUMP, +}; + +// Acro bike transitions +enum +{ + ACRO_TRANS_FACE_DIRECTION, + ACRO_TRANS_TURN_DIRECTION, + ACRO_TRANS_MOVING, + ACRO_TRANS_NORMAL_TO_WHEELIE, + ACRO_TRANS_WHEELIE_TO_NORMAL, + ACRO_TRANS_WHEELIE_IDLE, + ACRO_TRANS_WHEELIE_HOPPING_STANDING, + ACRO_TRANS_WHEELIE_HOPPING_MOVING, + ACRO_TRANS_SIDE_JUMP, + ACRO_TRANS_TURN_JUMP, + ACRO_TRANS_WHEELIE_MOVING, + ACRO_TRANS_WHEELIE_RISING_MOVING, + ACRO_TRANS_WHEELIE_LOWERING_MOVING, +}; + +void MovePlayerOnBike(u8 direction, u16 newKeys, u16 heldKeys); +void Bike_TryAcroBikeHistoryUpdate(u16 newKeys, u16 heldKeys); +bool8 RS_IsRunningDisallowed(u8 tile); +bool8 IsBikingDisallowedByPlayer(void); +bool8 player_should_look_direction_be_enforced_upon_movement(void); +void GetOnOffBike(u8 transitionFlags); +void BikeClearState(int newDirHistory, int newAbStartHistory); +void Bike_UpdateBikeCounterSpeed(u8 counter); +s16 GetPlayerSpeed(void); +void Bike_HandleBumpySlopeJump(void); +bool32 IsRunningDisallowed(u8 metatile); + +#endif // GUARD_BIKE_H diff --git a/include/blend_palette.h b/include/blend_palette.h index 1db3f4eb0c..a00847bc3e 100644 --- a/include/blend_palette.h +++ b/include/blend_palette.h @@ -1,12 +1,6 @@ #ifndef GUARD_BLEND_PALETTE_H #define GUARD_BLEND_PALETTE_H -// Exported type declarations +void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor); -// Exported RAM declarations - -// Exported ROM declarations - -void BlendPalette(u16, u16, u8, u16); - -#endif //GUARD_BLEND_PALETTE_H +#endif // GUARD_BLEND_PALETTE_H diff --git a/include/clear_save_data_menu.h b/include/clear_save_data_menu.h new file mode 100644 index 0000000000..86ba99849c --- /dev/null +++ b/include/clear_save_data_menu.h @@ -0,0 +1,6 @@ +#ifndef GUARD_CLEAR_SAVE_DATA_MENU_H +#define GUARD_CLEAR_SAVE_DATA_MENU_H + +void CB2_InitClearSaveDataScreen(void); + +#endif // GUARD_CLEAR_SAVE_DATA_MENU_H diff --git a/include/config.h b/include/config.h index 162af3143f..318ed39d84 100644 --- a/include/config.h +++ b/include/config.h @@ -1,6 +1,23 @@ #ifndef GUARD_CONFIG_H #define GUARD_CONFIG_H +// In the Generation 3 games, Asserts were used in various debug builds. +// Ruby/Sapphire and Emerald do not have these asserts while Fire Red +// still has them in the ROM. This is because the developers forgot +// to define NDEBUG before release, however this has been changed as +// Ruby's actual debug build does not use the AGBPrint features. +#define NDEBUG + +// To enable print debugging, comment out "#define NDEBUG". This allows +// the various AGBPrint functions to be used. (See include/gba/isagbprint.h). +// Some emulators support a debug console window: uncomment NoCashGBAPrint() +// and NoCashGBAPrintf() in libisagbprn.c to use no$gba's own proprietary +// printing system. Use NoCashGBAPrint() and NoCashGBAPrintf() like you +// would normally use AGBPrint() and AGBPrintf(). + +// NOTE: Don't try to enable assert right now as many pointers +// still exist in defines and WILL likely result in a broken ROM. + #define ENGLISH #ifdef ENGLISH diff --git a/include/constants/abilities.h b/include/constants/abilities.h new file mode 100644 index 0000000000..4e2c4056c7 --- /dev/null +++ b/include/constants/abilities.h @@ -0,0 +1,83 @@ +#ifndef GUARD_CONSTANTS_ABILITIES_H +#define GUARD_CONSTANTS_ABILITIES_H + +#define ABILITY_NONE 0 +#define ABILITY_STENCH 1 +#define ABILITY_DRIZZLE 2 +#define ABILITY_SPEED_BOOST 3 +#define ABILITY_BATTLE_ARMOR 4 +#define ABILITY_STURDY 5 +#define ABILITY_DAMP 6 +#define ABILITY_LIMBER 7 +#define ABILITY_SAND_VEIL 8 +#define ABILITY_STATIC 9 +#define ABILITY_VOLT_ABSORB 10 +#define ABILITY_WATER_ABSORB 11 +#define ABILITY_OBLIVIOUS 12 +#define ABILITY_CLOUD_NINE 13 +#define ABILITY_COMPOUND_EYES 14 +#define ABILITY_INSOMNIA 15 +#define ABILITY_COLOR_CHANGE 16 +#define ABILITY_IMMUNITY 17 +#define ABILITY_FLASH_FIRE 18 +#define ABILITY_SHIELD_DUST 19 +#define ABILITY_OWN_TEMPO 20 +#define ABILITY_SUCTION_CUPS 21 +#define ABILITY_INTIMIDATE 22 +#define ABILITY_SHADOW_TAG 23 +#define ABILITY_ROUGH_SKIN 24 +#define ABILITY_WONDER_GUARD 25 +#define ABILITY_LEVITATE 26 +#define ABILITY_EFFECT_SPORE 27 +#define ABILITY_SYNCHRONIZE 28 +#define ABILITY_CLEAR_BODY 29 +#define ABILITY_NATURAL_CURE 30 +#define ABILITY_LIGHTNING_ROD 31 +#define ABILITY_SERENE_GRACE 32 +#define ABILITY_SWIFT_SWIM 33 +#define ABILITY_CHLOROPHYLL 34 +#define ABILITY_ILLUMINATE 35 +#define ABILITY_TRACE 36 +#define ABILITY_HUGE_POWER 37 +#define ABILITY_POISON_POINT 38 +#define ABILITY_INNER_FOCUS 39 +#define ABILITY_MAGMA_ARMOR 40 +#define ABILITY_WATER_VEIL 41 +#define ABILITY_MAGNET_PULL 42 +#define ABILITY_SOUNDPROOF 43 +#define ABILITY_RAIN_DISH 44 +#define ABILITY_SAND_STREAM 45 +#define ABILITY_PRESSURE 46 +#define ABILITY_THICK_FAT 47 +#define ABILITY_EARLY_BIRD 48 +#define ABILITY_FLAME_BODY 49 +#define ABILITY_RUN_AWAY 50 +#define ABILITY_KEEN_EYE 51 +#define ABILITY_HYPER_CUTTER 52 +#define ABILITY_PICKUP 53 +#define ABILITY_TRUANT 54 +#define ABILITY_HUSTLE 55 +#define ABILITY_CUTE_CHARM 56 +#define ABILITY_PLUS 57 +#define ABILITY_MINUS 58 +#define ABILITY_FORECAST 59 +#define ABILITY_STICKY_HOLD 60 +#define ABILITY_SHED_SKIN 61 +#define ABILITY_GUTS 62 +#define ABILITY_MARVEL_SCALE 63 +#define ABILITY_LIQUID_OOZE 64 +#define ABILITY_OVERGROW 65 +#define ABILITY_BLAZE 66 +#define ABILITY_TORRENT 67 +#define ABILITY_SWARM 68 +#define ABILITY_ROCK_HEAD 69 +#define ABILITY_DROUGHT 70 +#define ABILITY_ARENA_TRAP 71 +#define ABILITY_VITAL_SPIRIT 72 +#define ABILITY_WHITE_SMOKE 73 +#define ABILITY_PURE_POWER 74 +#define ABILITY_SHELL_ARMOR 75 +#define ABILITY_CACOPHONY 76 +#define ABILITY_AIR_LOCK 77 + +#endif // GUARD_CONSTANTS_ABILITIES_H diff --git a/include/constants/battle.h b/include/constants/battle.h new file mode 100644 index 0000000000..f3d7a8e0e7 --- /dev/null +++ b/include/constants/battle.h @@ -0,0 +1,284 @@ +#ifndef GUARD_CONSTANTS_BATTLE_H +#define GUARD_CONSTANTS_BATTLE_H + +/* + * A battler may be in one of four positions on the field. The first bit determines + * what side the battler is on, either the player's side or the opponent's side. + * The second bit determines what flank the battler is on, either the left or right. + * Note that the opponent's flanks are drawn corresponding to their perspective, so + * their right mon appears on the left, and their left mon appears on the right. + * The battler ID is usually the same as the position, except in the case of link battles. + * + * + ------------------------- + + * | Opponent's side | + * | Right Left | + * | 3 1 | + * | | + * | Player's side | + * | Left Right | + * | 0 2 | + * ----------------------------+ + * | | + * | | + * +---------------------------+ + */ + +#define MAX_BATTLERS_COUNT 4 + +#define B_POSITION_PLAYER_LEFT 0 +#define B_POSITION_OPPONENT_LEFT 1 +#define B_POSITION_PLAYER_RIGHT 2 +#define B_POSITION_OPPONENT_RIGHT 3 + +// These macros can be used with either battler ID or positions to get the partner or the opposite mon +#define BATTLE_OPPOSITE(id) ((id) ^ 1) +#define BATTLE_PARTNER(id) ((id) ^ 2) + +#define B_SIDE_PLAYER 0 +#define B_SIDE_OPPONENT 1 + +#define B_FLANK_LEFT 0 +#define B_FLANK_RIGHT 1 + +#define BIT_SIDE 1 +#define BIT_FLANK 2 + +// Battle Type Flags +#define BATTLE_TYPE_DOUBLE 0x0001 +#define BATTLE_TYPE_LINK 0x0002 +#define BATTLE_TYPE_WILD 0x0004 +#define BATTLE_TYPE_TRAINER 0x0008 +#define BATTLE_TYPE_FIRST_BATTLE 0x0010 +#define BATTLE_TYPE_20 0x0020 +#define BATTLE_TYPE_MULTI 0x0040 +#define BATTLE_TYPE_SAFARI 0x0080 +#define BATTLE_TYPE_BATTLE_TOWER 0x0100 +#define BATTLE_TYPE_WALLY_TUTORIAL 0x0200 +#define BATTLE_TYPE_ROAMER 0x0400 +#define BATTLE_TYPE_EREADER_TRAINER 0x0800 +#define BATTLE_TYPE_KYOGRE_GROUDON 0x1000 +#define BATTLE_TYPE_LEGENDARY 0x2000 +#define BATTLE_TYPE_REGI 0x4000 +#define BATTLE_TYPE_TWO_OPPONENTS 0x8000 +#define BATTLE_TYPE_DOME 0x10000 +#define BATTLE_TYPE_PALACE 0x20000 +#define BATTLE_TYPE_ARENA 0x40000 +#define BATTLE_TYPE_FACTORY 0x80000 +#define BATTLE_TYPE_PIKE 0x100000 +#define BATTLE_TYPE_PYRAMID 0x200000 +#define BATTLE_TYPE_INGAME_PARTNER 0x400000 +#define BATTLE_TYPE_x800000 0x800000 +#define BATTLE_TYPE_RECORDED 0x1000000 +#define BATTLE_TYPE_x2000000 0x2000000 +#define BATTLE_TYPE_x4000000 0x4000000 +#define BATTLE_TYPE_SECRET_BASE 0x8000000 +#define BATTLE_TYPE_GROUDON 0x10000000 +#define BATTLE_TYPE_KYOGRE 0x20000000 +#define BATTLE_TYPE_RAYQUAZA 0x40000000 +#define BATTLE_TYPE_x80000000 0x80000000 +#define BATTLE_TYPE_FRONTIER (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE | BATTLE_TYPE_PYRAMID) +#define BATTLE_TYPE_FRONTIER_NO_PYRAMID (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE) + +// Battle Outcome defines +#define B_OUTCOME_WON 0x1 +#define B_OUTCOME_LOST 0x2 +#define B_OUTCOME_DREW 0x3 +#define B_OUTCOME_RAN 0x4 +#define B_OUTCOME_PLAYER_TELEPORTED 0x5 +#define B_OUTCOME_MON_FLED 0x6 +#define B_OUTCOME_CAUGHT 0x7 +#define B_OUTCOME_NO_SAFARI_BALLS 0x8 +#define B_OUTCOME_FORFEITED 0x9 +#define B_OUTCOME_MON_TELEPORTED 0xA +#define B_OUTCOME_LINK_BATTLE_RAN 0x80 + +// Non-volatile status conditions +// These persist remain outside of battle and after switching out +#define STATUS1_NONE 0x0 +#define STATUS1_SLEEP 0x7 +#define STATUS1_POISON 0x8 +#define STATUS1_BURN 0x10 +#define STATUS1_FREEZE 0x20 +#define STATUS1_PARALYSIS 0x40 +#define STATUS1_TOXIC_POISON 0x80 +#define STATUS1_TOXIC_COUNTER 0xF00 +#define STATUS1_PSN_ANY (STATUS1_POISON | STATUS1_TOXIC_POISON) +#define STATUS1_ANY (STATUS1_SLEEP | STATUS1_POISON | STATUS1_BURN | STATUS1_FREEZE | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON) + +// Volatile status ailments +// These are removed after exiting the battle or switching out +#define STATUS2_CONFUSION 0x00000007 +#define STATUS2_FLINCHED 0x00000008 +#define STATUS2_UPROAR 0x00000070 +#define STATUS2_BIDE 0x00000300 // two bits 0x100, 0x200 +#define STATUS2_LOCK_CONFUSE 0x00000C00 +#define STATUS2_MULTIPLETURNS 0x00001000 +#define STATUS2_WRAPPED 0x0000E000 +#define STATUS2_INFATUATION 0x000F0000 // 4 bits, one for every battler +#define STATUS2_INFATUATED_WITH(battler) (gBitTable[battler] << 16) +#define STATUS2_FOCUS_ENERGY 0x00100000 +#define STATUS2_TRANSFORMED 0x00200000 +#define STATUS2_RECHARGE 0x00400000 +#define STATUS2_RAGE 0x00800000 +#define STATUS2_SUBSTITUTE 0x01000000 +#define STATUS2_DESTINY_BOND 0x02000000 +#define STATUS2_ESCAPE_PREVENTION 0x04000000 +#define STATUS2_NIGHTMARE 0x08000000 +#define STATUS2_CURSED 0x10000000 +#define STATUS2_FORESIGHT 0x20000000 +#define STATUS2_DEFENSE_CURL 0x40000000 +#define STATUS2_TORMENT 0x80000000 + +// Seems like per-battler statuses. Not quite sure how to categorize these +#define STATUS3_LEECHSEED_BANK 0x3 +#define STATUS3_LEECHSEED 0x4 +#define STATUS3_ALWAYS_HITS 0x18 // two bits +#define STATUS3_PERISH_SONG 0x20 +#define STATUS3_ON_AIR 0x40 +#define STATUS3_UNDERGROUND 0x80 +#define STATUS3_MINIMIZED 0x100 +#define STATUS3_ROOTED 0x400 +#define STATUS3_CHARGED_UP 0x200 +#define STATUS3_YAWN 0x1800 // two bits +#define STATUS3_IMPRISONED_OTHERS 0x2000 +#define STATUS3_GRUDGE 0x4000 +#define STATUS3_CANT_SCORE_A_CRIT 0x8000 +#define STATUS3_MUDSPORT 0x10000 +#define STATUS3_WATERSPORT 0x20000 +#define STATUS3_UNDERWATER 0x40000 +#define STATUS3_INTIMIDATE_POKES 0x80000 +#define STATUS3_TRACE 0x100000 +#define STATUS3_SEMI_INVULNERABLE (STATUS3_UNDERGROUND | STATUS3_ON_AIR | STATUS3_UNDERWATER) + +// Not really sure what a "hitmarker" is. +#define HITMARKER_x10 0x00000010 +#define HITMARKER_x20 0x00000020 +#define HITMARKER_DESTINYBOND 0x00000040 +#define HITMARKER_NO_ANIMATIONS 0x00000080 +#define HITMARKER_IGNORE_SUBSTITUTE 0x00000100 +#define HITMARKER_NO_ATTACKSTRING 0x00000200 +#define HITMARKER_ATTACKSTRING_PRINTED 0x00000400 +#define HITMARKER_NO_PPDEDUCT 0x00000800 +#define HITMARKER_PURSUIT_TRAP 0x00001000 +#define HITMARKER_IGNORE_SAFEGUARD 0x00002000 +#define HITMARKER_SYNCHRONISE_EFFECT 0x00004000 +#define HITMARKER_RUN 0x00008000 +#define HITMARKER_IGNORE_ON_AIR 0x00010000 +#define HITMARKER_IGNORE_UNDERGROUND 0x00020000 +#define HITMARKER_IGNORE_UNDERWATER 0x00040000 +#define HITMARKER_UNABLE_TO_USE_MOVE 0x00080000 +#define HITMARKER_x100000 0x00100000 +#define HITMARKER_x200000 0x00200000 +#define HITMARKER_x400000 0x00400000 +#define HITMARKER_x800000 0x00800000 +#define HITMARKER_GRUDGE 0x01000000 +#define HITMARKER_OBEYS 0x02000000 +#define HITMARKER_x4000000 0x04000000 +#define HITMARKER_x8000000 0x08000000 +#define HITMARKER_FAINTED(battler) (gBitTable[battler] << 0x1C) +#define HITMARKER_UNK(battler) (0x10000000 << battler) + +// Per-side statuses that affect an entire party +#define SIDE_STATUS_REFLECT (1 << 0) +#define SIDE_STATUS_LIGHTSCREEN (1 << 1) +#define SIDE_STATUS_X4 (1 << 2) +#define SIDE_STATUS_SPIKES (1 << 4) +#define SIDE_STATUS_SAFEGUARD (1 << 5) +#define SIDE_STATUS_FUTUREATTACK (1 << 6) +#define SIDE_STATUS_MIST (1 << 8) +#define SIDE_STATUS_SPIKES_DAMAGED (1 << 9) + +// Flags describing move's result +#define MOVE_RESULT_MISSED (1 << 0) +#define MOVE_RESULT_SUPER_EFFECTIVE (1 << 1) +#define MOVE_RESULT_NOT_VERY_EFFECTIVE (1 << 2) +#define MOVE_RESULT_DOESNT_AFFECT_FOE (1 << 3) +#define MOVE_RESULT_ONE_HIT_KO (1 << 4) +#define MOVE_RESULT_FAILED (1 << 5) +#define MOVE_RESULT_FOE_ENDURED (1 << 6) +#define MOVE_RESULT_FOE_HUNG_ON (1 << 7) +#define MOVE_RESULT_NO_EFFECT (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED) + +// Battle Weather flags +#define WEATHER_RAIN_TEMPORARY (1 << 0) +#define WEATHER_RAIN_DOWNPOUR (1 << 1) // unused +#define WEATHER_RAIN_PERMANENT (1 << 2) +#define WEATHER_RAIN_ANY (WEATHER_RAIN_TEMPORARY | WEATHER_RAIN_DOWNPOUR | WEATHER_RAIN_PERMANENT) +#define WEATHER_SANDSTORM_TEMPORARY (1 << 3) +#define WEATHER_SANDSTORM_PERMANENT (1 << 4) +#define WEATHER_SANDSTORM_ANY (WEATHER_SANDSTORM_TEMPORARY | WEATHER_SANDSTORM_PERMANENT) +#define WEATHER_SUN_TEMPORARY (1 << 5) +#define WEATHER_SUN_PERMANENT (1 << 6) +#define WEATHER_SUN_ANY (WEATHER_SUN_TEMPORARY | WEATHER_SUN_PERMANENT) +#define WEATHER_HAIL (1 << 7) +#define WEATHER_HAIL_ANY (WEATHER_HAIL) +#define WEATHER_ANY (WEATHER_RAIN_ANY | WEATHER_SANDSTORM_ANY | WEATHER_SUN_ANY | WEATHER_HAIL_ANY) + +// Move Effects +#define MOVE_EFFECT_SLEEP 0x1 +#define MOVE_EFFECT_POISON 0x2 +#define MOVE_EFFECT_BURN 0x3 +#define MOVE_EFFECT_FREEZE 0x4 +#define MOVE_EFFECT_PARALYSIS 0x5 +#define MOVE_EFFECT_TOXIC 0x6 +#define MOVE_EFFECT_CONFUSION 0x7 +#define MOVE_EFFECT_FLINCH 0x8 +#define MOVE_EFFECT_TRI_ATTACK 0x9 +#define MOVE_EFFECT_UPROAR 0xA +#define MOVE_EFFECT_PAYDAY 0xB +#define MOVE_EFFECT_CHARGING 0xC +#define MOVE_EFFECT_WRAP 0xD +#define MOVE_EFFECT_RECOIL_25 0xE +#define MOVE_EFFECT_ATK_PLUS_1 0xF +#define MOVE_EFFECT_DEF_PLUS_1 0x10 +#define MOVE_EFFECT_SPD_PLUS_1 0x11 +#define MOVE_EFFECT_SP_ATK_PLUS_1 0x12 +#define MOVE_EFFECT_SP_DEF_PLUS_1 0x13 +#define MOVE_EFFECT_ACC_PLUS_1 0x14 +#define MOVE_EFFECT_EVS_PLUS_1 0x15 +#define MOVE_EFFECT_ATK_MINUS_1 0x16 +#define MOVE_EFFECT_DEF_MINUS_1 0x17 +#define MOVE_EFFECT_SPD_MINUS_1 0x18 +#define MOVE_EFFECT_SP_ATK_MINUS_1 0x19 +#define MOVE_EFFECT_SP_DEF_MINUS_1 0x1A +#define MOVE_EFFECT_ACC_MINUS_1 0x1B +#define MOVE_EFFECT_EVS_MINUS_1 0x1C +#define MOVE_EFFECT_RECHARGE 0x1D +#define MOVE_EFFECT_RAGE 0x1E +#define MOVE_EFFECT_STEAL_ITEM 0x1F +#define MOVE_EFFECT_PREVENT_ESCAPE 0x20 +#define MOVE_EFFECT_NIGHTMARE 0x21 +#define MOVE_EFFECT_ALL_STATS_UP 0x22 +#define MOVE_EFFECT_RAPIDSPIN 0x23 +#define MOVE_EFFECT_REMOVE_PARALYSIS 0x24 +#define MOVE_EFFECT_ATK_DEF_DOWN 0x25 +#define MOVE_EFFECT_RECOIL_33_PARALYSIS 0x26 +#define MOVE_EFFECT_ATK_PLUS_2 0x27 +#define MOVE_EFFECT_DEF_PLUS_2 0x28 +#define MOVE_EFFECT_SPD_PLUS_2 0x29 +#define MOVE_EFFECT_SP_ATK_PLUS_2 0x2A +#define MOVE_EFFECT_SP_DEF_PLUS_2 0x2B +#define MOVE_EFFECT_ACC_PLUS_2 0x2C +#define MOVE_EFFECT_EVS_PLUS_2 0x2D +#define MOVE_EFFECT_ATK_MINUS_2 0x2E +#define MOVE_EFFECT_DEF_MINUS_2 0x2F +#define MOVE_EFFECT_SPD_MINUS_2 0x30 +#define MOVE_EFFECT_SP_ATK_MINUS_2 0x31 +#define MOVE_EFFECT_SP_DEF_MINUS_2 0x32 +#define MOVE_EFFECT_ACC_MINUS_2 0x33 +#define MOVE_EFFECT_EVS_MINUS_2 0x34 +#define MOVE_EFFECT_THRASH 0x35 +#define MOVE_EFFECT_KNOCK_OFF 0x36 +#define MOVE_EFFECT_NOTHING_37 0x37 +#define MOVE_EFFECT_NOTHING_38 0x38 +#define MOVE_EFFECT_NOTHING_39 0x39 +#define MOVE_EFFECT_NOTHING_3A 0x3A +#define MOVE_EFFECT_SP_ATK_TWO_DOWN 0x3B +#define MOVE_EFFECT_NOTHING_3C 0x3C +#define MOVE_EFFECT_NOTHING_3D 0x3D +#define MOVE_EFFECT_NOTHING_3E 0x3E +#define MOVE_EFFECT_NOTHING_3F 0x3F +#define MOVE_EFFECT_AFFECTS_USER 0x40 +#define MOVE_EFFECT_CERTAIN 0x80 + +#endif // GUARD_CONSTANTS_BATTLE_H diff --git a/include/constants/battle_ai.h b/include/constants/battle_ai.h new file mode 100644 index 0000000000..7d2c70307d --- /dev/null +++ b/include/constants/battle_ai.h @@ -0,0 +1,52 @@ +#ifndef GUARD_CONSTANTS_BATTLE_AI_H +#define GUARD_CONSTANTS_BATTLE_AI_H + +// battlers +#define AI_TARGET 0 +#define AI_USER 1 +#define AI_TARGET_PARTNER 2 +#define AI_USER_PARTNER 3 + +// get_type command +#define AI_TYPE1_TARGET 0 +#define AI_TYPE1_USER 1 +#define AI_TYPE2_TARGET 2 +#define AI_TYPE2_USER 3 +#define AI_TYPE_MOVE 4 + +// type effectiveness +#define AI_EFFECTIVENESS_x4 160 +#define AI_EFFECTIVENESS_x2 80 +#define AI_EFFECTIVENESS_x1 40 +#define AI_EFFECTIVENESS_x0_5 20 +#define AI_EFFECTIVENESS_x0_25 10 +#define AI_EFFECTIVENESS_x0 0 + +// ai weather +#define AI_WEATHER_SUN 0 +#define AI_WEATHER_RAIN 1 +#define AI_WEATHER_SANDSTORM 2 +#define AI_WEATHER_HAIL 3 + +// get_how_powerful_move_is +#define MOVE_POWER_DISCOURAGED 0 +#define MOVE_NOT_MOST_POWERFUL 1 +#define MOVE_MOST_POWERFUL 2 + +// script's table id to bit +#define AI_SCRIPT_CHECK_BAD_MOVE (1 << 0) +#define AI_SCRIPT_CHECK_VIABILITY (1 << 1) +#define AI_SCRIPT_TRY_TO_FAINT (1 << 2) +#define AI_SCRIPT_SETUP_FIRST_TURN (1 << 3) +#define AI_SCRIPT_RISKY (1 << 4) +#define AI_SCRIPT_PREFER_STRONGEST_MOVE (1 << 5) +#define AI_SCRIPT_PREFER_BATON_PASS (1 << 6) +#define AI_SCRIPT_DOUBLE_BATTLE (1 << 7) +#define AI_SCRIPT_HP_AWARE (1 << 8) +#define AI_SCRIPT_UNKNOWN (1 << 9) +// 10 - 28 are not used +#define AI_SCRIPT_ROAMING (1 << 29) +#define AI_SCRIPT_SAFARI (1 << 30) +#define AI_SCRIPT_FIRST_BATTLE (1 << 31) + +#endif // GUARD_CONSTANTS_BATTLE_AI_H diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h new file mode 100644 index 0000000000..270ac55e01 --- /dev/null +++ b/include/constants/battle_anim.h @@ -0,0 +1,85 @@ +#ifndef GUARD_CONSTANTS_BATTLE_ANIM_H +#define GUARD_CONSTANTS_BATTLE_ANIM_H + +// battlers +#define ANIM_ATTACKER 0 +#define ANIM_TARGET 1 +#define ANIM_ATK_PARTNER 2 +#define ANIM_DEF_PARTNER 3 + +// move background ids +#define BG_DARK_ 0 // the same as BG_DARK but is unused +#define BG_DARK 1 +#define BG_GHOST 2 +#define BG_PSYCHIC 3 +#define BG_IMPACT_OPPONENT 4 +#define BG_IMPACT_PLAYER 5 +#define BG_IMPACT_CONTESTS 6 +#define BG_DRILL 7 +#define BG_DRILL_CONTESTS 8 +#define BG_HIGHSPEED_OPPONENT 9 +#define BG_HIGHSPEED_PLAYER 10 +#define BG_THUNDER 11 +#define BG_GUILLOTINE_OPPONENT 12 +#define BG_GUILLOTINE_PLAYER 13 +#define BG_GUILLOTINE_CONTESTS 14 +#define BG_ICE 15 +#define BG_COSMIC 16 +#define BG_SEISMICTOSS_SKUUPPERCUT 17 +#define BG_FLYING 18 +#define BG_FLYING_CONTESTS 19 +#define BG_AURORABEAM 20 +#define BG_FISSURE 21 +#define BG_BUG_OPPONENT 22 +#define BG_BUG_PLAYER 23 +#define BG_SOLARBEAM_OPPONENT 24 +#define BG_SOLARBEAM_PLAYER 25 +#define BG_SOLARBEAM_CONTESTS 26 + +// table ids for general animations +#define B_ANIM_CASTFORM_CHANGE 0x0 +#define B_ANIM_STATS_CHANGE 0x1 +#define B_ANIM_SUBSTITUTE_FADE 0x2 +#define B_ANIM_SUBSTITUTE_APPEAR 0x3 +#define B_ANIM_x4 0x4 +#define B_ANIM_ITEM_KNOCKOFF 0x5 +#define B_ANIM_TURN_TRAP 0x6 +#define B_ANIM_ITEM_EFFECT 0x7 +#define B_ANIM_SMOKEBALL_ESCAPE 0x8 +#define B_ANIM_HANGED_ON 0x9 +#define B_ANIM_RAIN_CONTINUES 0xA +#define B_ANIM_SUN_CONTINUES 0xB +#define B_ANIM_SANDSTORM_CONTINUES 0xC +#define B_ANIM_HAIL_CONTINUES 0xD +#define B_ANIM_LEECH_SEED_DRAIN 0xE +#define B_ANIM_MON_HIT 0xF +#define B_ANIM_ITEM_STEAL 0x10 +#define B_ANIM_SNATCH_MOVE 0x11 +#define B_ANIM_FUTURE_SIGHT_HIT 0x12 +#define B_ANIM_DOOM_DESIRE_HIT 0x13 +#define B_ANIM_x14 0x14 +#define B_ANIM_INGRAIN_HEAL 0x15 +#define B_ANIM_WISH_HEAL 0x16 + +// special animations table +#define B_ANIM_LVL_UP 0x0 +#define B_ANIM_SWITCH_OUT_PLAYER_MON 0x1 +#define B_ANIM_SWITCH_OUT_OPPONENT_MON 0x2 +#define B_ANIM_BALL_THROW 0x3 +#define B_ANIM_SAFARI_BALL_THROW 0x4 +#define B_ANIM_SUBSTITUTE_TO_MON 0x5 +#define B_ANIM_MON_TO_SUBSTITUTE 0x6 + +// status animation table +#define B_ANIM_STATUS_PSN 0x0 +#define B_ANIM_STATUS_CONFUSION 0x1 +#define B_ANIM_STATUS_BRN 0x2 +#define B_ANIM_STATUS_INFATUATION 0x3 +#define B_ANIM_STATUS_SLP 0x4 +#define B_ANIM_STATUS_PRZ 0x5 +#define B_ANIM_STATUS_FRZ 0x6 +#define B_ANIM_STATUS_CURSED 0x7 +#define B_ANIM_STATUS_NIGHTMARE 0x8 +#define B_ANIM_STATUS_WRAPPED 0x9 // does not actually exist + +#endif // GUARD_CONSTANTS_BATTLE_ANIM_H diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h new file mode 100644 index 0000000000..1b59f2f64e --- /dev/null +++ b/include/constants/battle_move_effects.h @@ -0,0 +1,219 @@ +#ifndef GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H +#define GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H + +#define EFFECT_HIT 0 +#define EFFECT_SLEEP 1 +#define EFFECT_POISON_HIT 2 +#define EFFECT_ABSORB 3 +#define EFFECT_BURN_HIT 4 +#define EFFECT_FREEZE_HIT 5 +#define EFFECT_PARALYZE_HIT 6 +#define EFFECT_EXPLOSION 7 +#define EFFECT_DREAM_EATER 8 +#define EFFECT_MIRROR_MOVE 9 +#define EFFECT_ATTACK_UP 10 +#define EFFECT_DEFENSE_UP 11 +#define EFFECT_SPEED_UP 12 +#define EFFECT_SPECIAL_ATTACK_UP 13 +#define EFFECT_SPECIAL_DEFENSE_UP 14 +#define EFFECT_ACCURACY_UP 15 +#define EFFECT_EVASION_UP 16 +#define EFFECT_ALWAYS_HIT 17 +#define EFFECT_ATTACK_DOWN 18 +#define EFFECT_DEFENSE_DOWN 19 +#define EFFECT_SPEED_DOWN 20 +#define EFFECT_SPECIAL_ATTACK_DOWN 21 // unused +#define EFFECT_SPECIAL_DEFENSE_DOWN 22 // unused +#define EFFECT_ACCURACY_DOWN 23 +#define EFFECT_EVASION_DOWN 24 +#define EFFECT_HAZE 25 +#define EFFECT_BIDE 26 +#define EFFECT_RAMPAGE 27 +#define EFFECT_ROAR 28 +#define EFFECT_MULTI_HIT 29 +#define EFFECT_CONVERSION 30 +#define EFFECT_FLINCH_HIT 31 +#define EFFECT_RESTORE_HP 32 +#define EFFECT_TOXIC 33 +#define EFFECT_PAY_DAY 34 +#define EFFECT_LIGHT_SCREEN 35 +#define EFFECT_TRI_ATTACK 36 +#define EFFECT_REST 37 +#define EFFECT_OHKO 38 +#define EFFECT_RAZOR_WIND 39 +#define EFFECT_SUPER_FANG 40 +#define EFFECT_DRAGON_RAGE 41 +#define EFFECT_TRAP 42 +#define EFFECT_HIGH_CRITICAL 43 +#define EFFECT_DOUBLE_HIT 44 +#define EFFECT_RECOIL_IF_MISS 45 +#define EFFECT_MIST 46 +#define EFFECT_FOCUS_ENERGY 47 +#define EFFECT_RECOIL 48 +#define EFFECT_CONFUSE 49 +#define EFFECT_ATTACK_UP_2 50 +#define EFFECT_DEFENSE_UP_2 51 +#define EFFECT_SPEED_UP_2 52 +#define EFFECT_SPECIAL_ATTACK_UP_2 53 +#define EFFECT_SPECIAL_DEFENSE_UP_2 54 +#define EFFECT_ACCURACY_UP_2 55 +#define EFFECT_EVASION_UP_2 56 +#define EFFECT_TRANSFORM 57 +#define EFFECT_ATTACK_DOWN_2 58 +#define EFFECT_DEFENSE_DOWN_2 59 +#define EFFECT_SPEED_DOWN_2 60 +#define EFFECT_SPECIAL_ATTACK_DOWN_2 61 +#define EFFECT_SPECIAL_DEFENSE_DOWN_2 62 +#define EFFECT_ACCURACY_DOWN_2 63 +#define EFFECT_EVASION_DOWN_2 64 +#define EFFECT_REFLECT 65 +#define EFFECT_POISON 66 +#define EFFECT_PARALYZE 67 +#define EFFECT_ATTACK_DOWN_HIT 68 +#define EFFECT_DEFENSE_DOWN_HIT 69 +#define EFFECT_SPEED_DOWN_HIT 70 +#define EFFECT_SPECIAL_ATTACK_DOWN_HIT 71 +#define EFFECT_SPECIAL_DEFENSE_DOWN_HIT 72 +#define EFFECT_ACCURACY_DOWN_HIT 73 +#define EFFECT_EVASION_DOWN_HIT 74 +#define EFFECT_SKY_ATTACK 75 +#define EFFECT_CONFUSE_HIT 76 +#define EFFECT_TWINEEDLE 77 +#define EFFECT_VITAL_THROW 78 +#define EFFECT_SUBSTITUTE 79 +#define EFFECT_RECHARGE 80 +#define EFFECT_RAGE 81 +#define EFFECT_MIMIC 82 +#define EFFECT_METRONOME 83 +#define EFFECT_LEECH_SEED 84 +#define EFFECT_SPLASH 85 +#define EFFECT_DISABLE 86 +#define EFFECT_LEVEL_DAMAGE 87 +#define EFFECT_PSYWAVE 88 +#define EFFECT_COUNTER 89 +#define EFFECT_ENCORE 90 +#define EFFECT_PAIN_SPLIT 91 +#define EFFECT_SNORE 92 +#define EFFECT_CONVERSION_2 93 +#define EFFECT_LOCK_ON 94 +#define EFFECT_SKETCH 95 +#define EFFECT_UNUSED_60 96 // thaw +#define EFFECT_SLEEP_TALK 97 +#define EFFECT_DESTINY_BOND 98 +#define EFFECT_FLAIL 99 +#define EFFECT_SPITE 100 +#define EFFECT_FALSE_SWIPE 101 +#define EFFECT_HEAL_BELL 102 +#define EFFECT_QUICK_ATTACK 103 +#define EFFECT_TRIPLE_KICK 104 +#define EFFECT_THIEF 105 +#define EFFECT_MEAN_LOOK 106 +#define EFFECT_NIGHTMARE 107 +#define EFFECT_MINIMIZE 108 +#define EFFECT_CURSE 109 +#define EFFECT_UNUSED_6E 110 +#define EFFECT_PROTECT 111 +#define EFFECT_SPIKES 112 +#define EFFECT_FORESIGHT 113 +#define EFFECT_PERISH_SONG 114 +#define EFFECT_SANDSTORM 115 +#define EFFECT_ENDURE 116 +#define EFFECT_ROLLOUT 117 +#define EFFECT_SWAGGER 118 +#define EFFECT_FURY_CUTTER 119 +#define EFFECT_ATTRACT 120 +#define EFFECT_RETURN 121 +#define EFFECT_PRESENT 122 +#define EFFECT_FRUSTRATION 123 +#define EFFECT_SAFEGUARD 124 +#define EFFECT_THAW_HIT 125 +#define EFFECT_MAGNITUDE 126 +#define EFFECT_BATON_PASS 127 +#define EFFECT_PURSUIT 128 +#define EFFECT_RAPID_SPIN 129 +#define EFFECT_SONICBOOM 130 +#define EFFECT_UNUSED_83 131 +#define EFFECT_MORNING_SUN 132 +#define EFFECT_SYNTHESIS 133 +#define EFFECT_MOONLIGHT 134 +#define EFFECT_HIDDEN_POWER 135 +#define EFFECT_RAIN_DANCE 136 +#define EFFECT_SUNNY_DAY 137 +#define EFFECT_DEFENSE_UP_HIT 138 +#define EFFECT_ATTACK_UP_HIT 139 +#define EFFECT_ALL_STATS_UP_HIT 140 +#define EFFECT_UNUSED_8D 141 // incomplete fake out in gen 2 +#define EFFECT_BELLY_DRUM 142 +#define EFFECT_PSYCH_UP 143 +#define EFFECT_MIRROR_COAT 144 +#define EFFECT_SKULL_BASH 145 +#define EFFECT_TWISTER 146 +#define EFFECT_EARTHQUAKE 147 +#define EFFECT_FUTURE_SIGHT 148 +#define EFFECT_GUST 149 +#define EFFECT_FLINCH_HIT_2 150 // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM +#define EFFECT_SOLARBEAM 151 +#define EFFECT_THUNDER 152 +#define EFFECT_TELEPORT 153 +#define EFFECT_BEAT_UP 154 +#define EFFECT_SEMI_INVULNERABLE 155 +#define EFFECT_DEFENSE_CURL 156 +#define EFFECT_SOFTBOILED 157 +#define EFFECT_FAKE_OUT 158 +#define EFFECT_UPROAR 159 +#define EFFECT_STOCKPILE 160 +#define EFFECT_SPIT_UP 161 +#define EFFECT_SWALLOW 162 +#define EFFECT_UNUSED_A3 163 +#define EFFECT_HAIL 164 +#define EFFECT_TORMENT 165 +#define EFFECT_FLATTER 166 +#define EFFECT_WILL_O_WISP 167 +#define EFFECT_MEMENTO 168 +#define EFFECT_FACADE 169 +#define EFFECT_FOCUS_PUNCH 170 +#define EFFECT_SMELLINGSALT 171 +#define EFFECT_FOLLOW_ME 172 +#define EFFECT_NATURE_POWER 173 +#define EFFECT_CHARGE 174 +#define EFFECT_TAUNT 175 +#define EFFECT_HELPING_HAND 176 +#define EFFECT_TRICK 177 +#define EFFECT_ROLE_PLAY 178 +#define EFFECT_WISH 179 +#define EFFECT_ASSIST 180 +#define EFFECT_INGRAIN 181 +#define EFFECT_SUPERPOWER 182 +#define EFFECT_MAGIC_COAT 183 +#define EFFECT_RECYCLE 184 +#define EFFECT_REVENGE 185 +#define EFFECT_BRICK_BREAK 186 +#define EFFECT_YAWN 187 +#define EFFECT_KNOCK_OFF 188 +#define EFFECT_ENDEAVOR 189 +#define EFFECT_ERUPTION 190 +#define EFFECT_SKILL_SWAP 191 +#define EFFECT_IMPRISON 192 +#define EFFECT_REFRESH 193 +#define EFFECT_GRUDGE 194 +#define EFFECT_SNATCH 195 +#define EFFECT_LOW_KICK 196 +#define EFFECT_SECRET_POWER 197 +#define EFFECT_DOUBLE_EDGE 198 +#define EFFECT_TEETER_DANCE 199 +#define EFFECT_BLAZE_KICK 200 +#define EFFECT_MUD_SPORT 201 +#define EFFECT_POISON_FANG 202 +#define EFFECT_WEATHER_BALL 203 +#define EFFECT_OVERHEAT 204 +#define EFFECT_TICKLE 205 +#define EFFECT_COSMIC_POWER 206 +#define EFFECT_SKY_UPPERCUT 207 +#define EFFECT_BULK_UP 208 +#define EFFECT_POISON_TAIL 209 +#define EFFECT_WATER_SPORT 210 +#define EFFECT_CALM_MIND 211 +#define EFFECT_DRAGON_DANCE 212 +#define EFFECT_CAMOUFLAGE 213 + +#endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h new file mode 100644 index 0000000000..0390f17f46 --- /dev/null +++ b/include/constants/battle_script_commands.h @@ -0,0 +1,97 @@ +#ifndef GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H +#define GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H + +// Battle Scripting and BattleCommunication addresses +#define sPAINSPLIT_HP gBattleScripting +#define sBIDE_DMG gBattleScripting + 4 +#define sMULTIHIT_STRING gBattleScripting + 8 +#define sDMG_MULTIPLIER gBattleScripting + 0xE +#define sTWOTURN_STRINGID gBattleScripting + 0xF +#define sB_ANIM_ARG1 gBattleScripting + 0x10 +#define sB_ANIM_ARG2 gBattleScripting + 0x11 +#define sTRIPLE_KICK_POWER gBattleScripting + 0x12 +#define sMOVEEND_STATE gBattleScripting + 0x14 +#define sBANK_WITH_ABILITY gBattleScripting + 0x15 +#define sMULTIHIT_EFFECT gBattleScripting + 0x16 +#define sBANK gBattleScripting + 0x17 +#define sB_ANIM_TURN gBattleScripting + 0x18 +#define sB_ANIM_TARGETS_HIT gBattleScripting + 0x19 +#define sSTATCHANGER gBattleScripting + 0x1A +#define sFIELD_1B gBattleScripting + 0x1B +#define sGIVEEXP_STATE gBattleScripting + 0x1C +#define sBATTLE_STYLE gBattleScripting + 0x1D +#define sLVLBOX_STATE gBattleScripting + 0x1E +#define sLEARNMOVE_STATE gBattleScripting + 0x1F +#define sFIELD_20 gBattleScripting + 0x20 +#define sRESHOW_MAIN_STATE gBattleScripting + 0x21 +#define sRESHOW_HELPER_STATE gBattleScripting + 0x22 +#define sFIELD_23 gBattleScripting + 0x23 +#define sFIELD_24 gBattleScripting + 0x24 +#define sMULTIPLAYER_ID gBattleScripting + 0x25 + +#define cEFFECT_CHOOSER gBattleCommunication + 3 +#define cMULTISTRING_CHOOSER gBattleCommunication + 5 + +// Battle Script defines for getting the wanted battler +#define BS_TARGET 0 +#define BS_ATTACKER 1 +#define BS_EFFECT_BATTLER 2 +#define BS_FAINTED 3 +#define BS_BANK_0 7 +#define BS_ATTACKER_WITH_PARTNER 4 // for atk98_status_icon_update +#define BS_ATTACKER_SIDE 8 // for atk1E_jumpifability +#define BS_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability +#define BS_SCRIPTING 10 +#define BS_PLAYER1 11 +#define BS_OPPONENT1 12 +#define BS_PLAYER2 13 +#define BS_OPPONENT2 14 + +// atk 01, accuracy calc +#define NO_ACC_CALC 0xFFFE +#define NO_ACC_CALC_CHECK_LOCK_ON 0xFFFF +#define ACC_CURR_MOVE 0 + +// compare operands +#define CMP_EQUAL 0x0 +#define CMP_NOT_EQUAL 0x1 +#define CMP_GREATER_THAN 0x2 +#define CMP_LESS_THAN 0x3 +#define CMP_COMMON_BITS 0x4 +#define CMP_NO_COMMON_BITS 0x5 + +// atk76, various +#define VARIOUS_CANCEL_MULTI_TURN_MOVES 0 +#define VARIOUS_SET_MAGIC_COAT_TARGET 1 +#define VARIOUS_IS_RUNNING_IMPOSSIBLE 2 +#define VARIOUS_GET_MOVE_TARGET 3 +#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5 +#define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6 +#define VARIOUS_EMIT_YESNOBOX 13 +#define VARIOUS_WAIT_CRY 18 +#define VARIOUS_RETURN_OPPONENT_MON1 19 +#define VARIOUS_RETURN_OPPONENT_MON2 20 +#define VARIOUS_SET_TELEPORT_OUTCOME 25 +#define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC 26 + +// atk80, dmg manipulation +#define ATK80_DMG_CHANGE_SIGN 0 +#define ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP 1 +#define ATK80_DMG_DOUBLED 2 + +// atk4F, a flag used for the jumpifcantswitch command +#define ATK4F_DONT_CHECK_STATUSES 0x80 + +// statchange defines +#define STAT_CHANGE_BS_PTR 0x1 +#define STAT_CHANGE_NOT_PROTECT_AFFECTED 0x20 +#define STAT_CHANGE_WORKED 0 +#define STAT_CHANGE_DIDNT_WORK 1 + +// atk48 +#define ATK48_STAT_NEGATIVE 0x1 +#define ATK48_STAT_BY_TWO 0x2 +#define ATK48_BIT_x4 0x4 +#define ATK48_LOWER_FAIL_CHECK 0x8 + +#endif // GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H diff --git a/include/battle_string_ids.h b/include/constants/battle_string_ids.h similarity index 99% rename from include/battle_string_ids.h rename to include/constants/battle_string_ids.h index f242284b04..db9ed59bd8 100644 --- a/include/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -1,5 +1,5 @@ -#ifndef GUARD_BATTLE_STRING_IDS_H -#define GUARD_BATTLE_STRING_IDS_H +#ifndef GUARD_CONSTANTS_BATTLE_STRING_IDS_H +#define GUARD_CONSTANTS_BATTLE_STRING_IDS_H #define BATTLESTRINGS_COUNT 369 @@ -12,7 +12,6 @@ #define STRINGID_USEDMOVE 4 #define STRINGID_BATTLEEND 5 - // todo: make some of those names less vague: attacker/target vs pkmn, etc. #define STRINGID_TRAINER1LOSETEXT 12 #define STRINGID_PKMNGAINEDEXP 13 @@ -384,4 +383,4 @@ #define STRINGID_TRAINER1WINTEXT 379 #define STRINGID_TRAINER2WINTEXT 380 -#endif // GUARD_BATTLE_STRING_IDS_H +#endif // GUARD_CONSTANTS_BATTLE_STRING_IDS_H diff --git a/include/constants/decorations.h b/include/constants/decorations.h new file mode 100644 index 0000000000..2e35587216 --- /dev/null +++ b/include/constants/decorations.h @@ -0,0 +1,126 @@ +#ifndef GUARD_CONSTANTS_DECORATIONS_H +#define GUARD_CONSTANTS_DECORATIONS_H + +#define DECOR_NONE 0 +#define DECOR_SMALL_DESK 1 +#define DECOR_POKEMON_DESK 2 +#define DECOR_HEAVY_DESK 3 +#define DECOR_RAGGED_DESK 4 +#define DECOR_COMFORT_DESK 5 +#define DECOR_PRETTY_DESK 6 +#define DECOR_BRICK_DESK 7 +#define DECOR_CAMP_DESK 8 +#define DECOR_HARD_DESK 9 +#define DECOR_SMALL_CHAIR 10 +#define DECOR_POKEMON_CHAIR 11 +#define DECOR_HEAVY_CHAIR 12 +#define DECOR_PRETTY_CHAIR 13 +#define DECOR_COMFORT_CHAIR 14 +#define DECOR_RAGGED_CHAIR 15 +#define DECOR_BRICK_CHAIR 16 +#define DECOR_CAMP_CHAIR 17 +#define DECOR_HARD_CHAIR 18 +#define DECOR_RED_PLANT 19 +#define DECOR_TROPICAL_PLANT 20 +#define DECOR_PRETTY_FLOWERS 21 +#define DECOR_COLORFUL_PLANT 22 +#define DECOR_BIG_PLANT 23 +#define DECOR_GORGEOUS_PLANT 24 +#define DECOR_RED_BRICK 25 +#define DECOR_YELLOW_BRICK 26 +#define DECOR_BLUE_BRICK 27 +#define DECOR_RED_BALLOON 28 +#define DECOR_BLUE_BALLOON 29 +#define DECOR_YELLOW_BALLOON 30 +#define DECOR_RED_TENT 31 +#define DECOR_BLUE_TENT 32 +#define DECOR_SOLID_BOARD 33 +#define DECOR_SLIDE 34 +#define DECOR_FENCE_LENGTH 35 +#define DECOR_FENCE_WIDTH 36 +#define DECOR_TIRE 37 +#define DECOR_STAND 38 +#define DECOR_MUD_BALL 39 +#define DECOR_BREAKABLE_DOOR 40 +#define DECOR_SAND_ORNAMENT 41 +#define DECOR_SILVER_SHIELD 42 +#define DECOR_GOLD_SHIELD 43 +#define DECOR_GLASS_ORNAMENT 44 +#define DECOR_TV 45 +#define DECOR_ROUND_TV 46 +#define DECOR_CUTE_TV 47 +#define DECOR_GLITTER_MAT 48 +#define DECOR_JUMP_MAT 49 +#define DECOR_SPIN_MAT 50 +#define DECOR_C_LOW_NOTE_MAT 51 +#define DECOR_D_NOTE_MAT 52 +#define DECOR_E_NOTE_MAT 53 +#define DECOR_F_NOTE_MAT 54 +#define DECOR_G_NOTE_MAT 55 +#define DECOR_A_NOTE_MAT 56 +#define DECOR_B_NOTE_MAT 57 +#define DECOR_C_HIGH_NOTE_MAT 58 +#define DECOR_SURF_MAT 59 +#define DECOR_THUNDER_MAT 60 +#define DECOR_FIRE_BLAST_MAT 61 +#define DECOR_POWDER_SNOW_MAT 62 +#define DECOR_ATTRACT_MAT 63 +#define DECOR_FISSURE_MAT 64 +#define DECOR_SPIKES_MAT 65 +#define DECOR_BALL_POSTER 66 +#define DECOR_GREEN_POSTER 67 +#define DECOR_RED_POSTER 68 +#define DECOR_BLUE_POSTER 69 +#define DECOR_CUTE_POSTER 70 +#define DECOR_PIKA_POSTER 71 +#define DECOR_LONG_POSTER 72 +#define DECOR_SEA_POSTER 73 +#define DECOR_SKY_POSTER 74 +#define DECOR_KISS_POSTER 75 +#define DECOR_PICHU_DOLL 76 +#define DECOR_PIKACHU_DOLL 77 +#define DECOR_MARILL_DOLL 78 +#define DECOR_TOGEPI_DOLL 79 +#define DECOR_CYNDAQUIL_DOLL 80 +#define DECOR_CHIKORITA_DOLL 81 +#define DECOR_TOTODILE_DOLL 82 +#define DECOR_JIGGLYPUFF_DOLL 83 +#define DECOR_MEOWTH_DOLL 84 +#define DECOR_CLEFAIRY_DOLL 85 +#define DECOR_DITTO_DOLL 86 +#define DECOR_SMOOCHUM_DOLL 87 +#define DECOR_TREECKO_DOLL 88 +#define DECOR_TORCHIC_DOLL 89 +#define DECOR_MUDKIP_DOLL 90 +#define DECOR_DUSKULL_DOLL 91 +#define DECOR_WYNAUT_DOLL 92 +#define DECOR_BALTOY_DOLL 93 +#define DECOR_KECLEON_DOLL 94 +#define DECOR_AZURILL_DOLL 95 +#define DECOR_SKITTY_DOLL 96 +#define DECOR_SWABLU_DOLL 97 +#define DECOR_GULPIN_DOLL 98 +#define DECOR_LOTAD_DOLL 99 +#define DECOR_SEEDOT_DOLL 100 +#define DECOR_PIKA_CUSHION 101 +#define DECOR_ROUND_CUSHION 102 +#define DECOR_KISS_CUSHION 103 +#define DECOR_ZIGZAG_CUSHION 104 +#define DECOR_SPIN_CUSHION 105 +#define DECOR_DIAMOND_CUSHION 106 +#define DECOR_BALL_CUSHION 107 +#define DECOR_GRASS_CUSHION 108 +#define DECOR_FIRE_CUSHION 109 +#define DECOR_WATER_CUSHION 110 +#define DECOR_SNORLAX_DOLL 111 +#define DECOR_RHYDON_DOLL 112 +#define DECOR_LAPRAS_DOLL 113 +#define DECOR_VENUSAUR_DOLL 114 +#define DECOR_CHARIZARD_DOLL 115 +#define DECOR_BLASTOISE_DOLL 116 +#define DECOR_WAILMER_DOLL 117 +#define DECOR_REGIROCK_DOLL 118 +#define DECOR_REGICE_DOLL 119 +#define DECOR_REGISTEEL_DOLL 120 + +#endif // GUARD_CONSTANTS_DECORATIONS_H diff --git a/include/constants/easy_chat.h b/include/constants/easy_chat.h new file mode 100644 index 0000000000..2c437c88e7 --- /dev/null +++ b/include/constants/easy_chat.h @@ -0,0 +1,1079 @@ +#ifndef GUARD_CONSTANTS_EASY_CHAT_H +#define GUARD_CONSTANTS_EASY_CHAT_H + +#define EC_GROUP_POKEMON 0x0 +#define EC_GROUP_TRAINER 0x1 +#define EC_GROUP_STATUS 0x2 +#define EC_GROUP_BATTLE 0x3 +#define EC_GROUP_GREETINGS 0x4 +#define EC_GROUP_PEOPLE 0x5 +#define EC_GROUP_VOICES 0x6 +#define EC_GROUP_SPEECH 0x7 +#define EC_GROUP_ENDINGS 0x8 +#define EC_GROUP_FEELINGS 0x9 +#define EC_GROUP_CONDITIONS 0xa +#define EC_GROUP_ACTIONS 0xb +#define EC_GROUP_LIFESTYLE 0xc +#define EC_GROUP_HOBBIES 0xd +#define EC_GROUP_TIME 0xe +#define EC_GROUP_MISC 0xf +#define EC_GROUP_ADJECTIVES 0x10 +#define EC_GROUP_EVENTS 0x11 +#define EC_GROUP_MOVE_1 0x12 +#define EC_GROUP_MOVE_2 0x13 +#define EC_GROUP_TRENDY_SAYING 0x14 +#define EC_GROUP_POKEMON_2 0x15 + +// TRAINER +#define EC_WORD_I_CHOOSE_YOU (EC_GROUP_TRAINER << 9) | 0x0 +#define EC_WORD_GOTCHA (EC_GROUP_TRAINER << 9) | 0x1 +#define EC_WORD_TRADE (EC_GROUP_TRAINER << 9) | 0x2 +#define EC_WORD_SAPPHIRE (EC_GROUP_TRAINER << 9) | 0x3 +#define EC_WORD_EVOLVE (EC_GROUP_TRAINER << 9) | 0x4 +#define EC_WORD_ENCYCLOPEDIA (EC_GROUP_TRAINER << 9) | 0x5 +#define EC_WORD_NATURE (EC_GROUP_TRAINER << 9) | 0x6 +#define EC_WORD_CENTER (EC_GROUP_TRAINER << 9) | 0x7 +#define EC_WORD_EGG (EC_GROUP_TRAINER << 9) | 0x8 +#define EC_WORD_LINK (EC_GROUP_TRAINER << 9) | 0x9 +#define EC_WORD_SP_ABILITY (EC_GROUP_TRAINER << 9) | 0xa +#define EC_WORD_TRAINER (EC_GROUP_TRAINER << 9) | 0xb +#define EC_WORD_VERSION (EC_GROUP_TRAINER << 9) | 0xc +#define EC_WORD_POKENAV (EC_GROUP_TRAINER << 9) | 0xd +#define EC_WORD_POKEMON (EC_GROUP_TRAINER << 9) | 0xe +#define EC_WORD_GET (EC_GROUP_TRAINER << 9) | 0xf +#define EC_WORD_POKEDEX (EC_GROUP_TRAINER << 9) | 0x10 +#define EC_WORD_RUBY (EC_GROUP_TRAINER << 9) | 0x11 +#define EC_WORD_LEVEL (EC_GROUP_TRAINER << 9) | 0x12 +#define EC_WORD_RED (EC_GROUP_TRAINER << 9) | 0x13 +#define EC_WORD_GREEN (EC_GROUP_TRAINER << 9) | 0x14 +#define EC_WORD_BAG (EC_GROUP_TRAINER << 9) | 0x15 +#define EC_WORD_FLAME (EC_GROUP_TRAINER << 9) | 0x16 +#define EC_WORD_GOLD (EC_GROUP_TRAINER << 9) | 0x17 +#define EC_WORD_LEAF (EC_GROUP_TRAINER << 9) | 0x18 +#define EC_WORD_SILVER (EC_GROUP_TRAINER << 9) | 0x19 +#define EC_WORD_EMERALD (EC_GROUP_TRAINER << 9) | 0x1a + +// STATUS +#define EC_WORD_DARK (EC_GROUP_STATUS << 9) | 0x0 +#define EC_WORD_STENCH (EC_GROUP_STATUS << 9) | 0x1 +#define EC_WORD_THICK_FAT (EC_GROUP_STATUS << 9) | 0x2 +#define EC_WORD_RAIN_DISH (EC_GROUP_STATUS << 9) | 0x3 +#define EC_WORD_DRIZZLE (EC_GROUP_STATUS << 9) | 0x4 +#define EC_WORD_ARENA_TRAP (EC_GROUP_STATUS << 9) | 0x5 +#define EC_WORD_INTIMIDATE (EC_GROUP_STATUS << 9) | 0x6 +#define EC_WORD_ROCK_HEAD (EC_GROUP_STATUS << 9) | 0x7 +#define EC_WORD_COLOR (EC_GROUP_STATUS << 9) | 0x8 +#define EC_WORD_ALT_COLOR (EC_GROUP_STATUS << 9) | 0x9 +#define EC_WORD_ROCK (EC_GROUP_STATUS << 9) | 0xa +#define EC_WORD_BEAUTIFUL (EC_GROUP_STATUS << 9) | 0xb +#define EC_WORD_BEAUTY (EC_GROUP_STATUS << 9) | 0xc +#define EC_WORD_AIR_LOCK (EC_GROUP_STATUS << 9) | 0xd +#define EC_WORD_PSYCHIC (EC_GROUP_STATUS << 9) | 0xe +#define EC_WORD_HYPER_CUTTER (EC_GROUP_STATUS << 9) | 0xf +#define EC_WORD_FIGHTING (EC_GROUP_STATUS << 9) | 0x10 +#define EC_WORD_SHADOW_TAG (EC_GROUP_STATUS << 9) | 0x11 +#define EC_WORD_SMART (EC_GROUP_STATUS << 9) | 0x12 +#define EC_WORD_SMARTNESS (EC_GROUP_STATUS << 9) | 0x13 +#define EC_WORD_SPEED_BOOST (EC_GROUP_STATUS << 9) | 0x14 +#define EC_WORD_COOL (EC_GROUP_STATUS << 9) | 0x15 +#define EC_WORD_COOLNESS (EC_GROUP_STATUS << 9) | 0x16 +#define EC_WORD_BATTLE_ARMOR (EC_GROUP_STATUS << 9) | 0x17 +#define EC_WORD_CUTE (EC_GROUP_STATUS << 9) | 0x18 +#define EC_WORD_CUTENESS (EC_GROUP_STATUS << 9) | 0x19 +#define EC_WORD_STURDY (EC_GROUP_STATUS << 9) | 0x1a +#define EC_WORD_SUCTION_CUPS (EC_GROUP_STATUS << 9) | 0x1b +#define EC_WORD_GRASS (EC_GROUP_STATUS << 9) | 0x1c +#define EC_WORD_CLEAR_BODY (EC_GROUP_STATUS << 9) | 0x1d +#define EC_WORD_TORRENT (EC_GROUP_STATUS << 9) | 0x1e +#define EC_WORD_GHOST (EC_GROUP_STATUS << 9) | 0x1f +#define EC_WORD_ICE (EC_GROUP_STATUS << 9) | 0x20 +#define EC_WORD_GUTS (EC_GROUP_STATUS << 9) | 0x21 +#define EC_WORD_ROUGH_SKIN (EC_GROUP_STATUS << 9) | 0x22 +#define EC_WORD_SHELL_ARMOR (EC_GROUP_STATUS << 9) | 0x23 +#define EC_WORD_NATURAL_CURE (EC_GROUP_STATUS << 9) | 0x24 +#define EC_WORD_DAMP (EC_GROUP_STATUS << 9) | 0x25 +#define EC_WORD_GROUND (EC_GROUP_STATUS << 9) | 0x26 +#define EC_WORD_LIMBER (EC_GROUP_STATUS << 9) | 0x27 +#define EC_WORD_MAGNET_PULL (EC_GROUP_STATUS << 9) | 0x28 +#define EC_WORD_WHITE_SMOKE (EC_GROUP_STATUS << 9) | 0x29 +#define EC_WORD_SYNCHRONIZE (EC_GROUP_STATUS << 9) | 0x2a +#define EC_WORD_OVERGROW (EC_GROUP_STATUS << 9) | 0x2b +#define EC_WORD_SWIFT_SWIM (EC_GROUP_STATUS << 9) | 0x2c +#define EC_WORD_SAND_STREAM (EC_GROUP_STATUS << 9) | 0x2d +#define EC_WORD_SAND_VEIL (EC_GROUP_STATUS << 9) | 0x2e +#define EC_WORD_KEEN_EYE (EC_GROUP_STATUS << 9) | 0x2f +#define EC_WORD_INNER_FOCUS (EC_GROUP_STATUS << 9) | 0x30 +#define EC_WORD_STATIC (EC_GROUP_STATUS << 9) | 0x31 +#define EC_WORD_TYPE (EC_GROUP_STATUS << 9) | 0x32 +#define EC_WORD_TOUGH (EC_GROUP_STATUS << 9) | 0x33 +#define EC_WORD_TOUGHNESS (EC_GROUP_STATUS << 9) | 0x34 +#define EC_WORD_SHED_SKIN (EC_GROUP_STATUS << 9) | 0x35 +#define EC_WORD_HUGE_POWER (EC_GROUP_STATUS << 9) | 0x36 +#define EC_WORD_VOLT_ABSORB (EC_GROUP_STATUS << 9) | 0x37 +#define EC_WORD_WATER_ABSORB (EC_GROUP_STATUS << 9) | 0x38 +#define EC_WORD_ELECTRIC (EC_GROUP_STATUS << 9) | 0x39 +#define EC_WORD_FORECAST (EC_GROUP_STATUS << 9) | 0x3a +#define EC_WORD_SERENE_GRACE (EC_GROUP_STATUS << 9) | 0x3b +#define EC_WORD_POISON (EC_GROUP_STATUS << 9) | 0x3c +#define EC_WORD_POISON_POINT (EC_GROUP_STATUS << 9) | 0x3d +#define EC_WORD_DRAGON (EC_GROUP_STATUS << 9) | 0x3e +#define EC_WORD_TRACE (EC_GROUP_STATUS << 9) | 0x3f +#define EC_WORD_OBLIVIOUS (EC_GROUP_STATUS << 9) | 0x40 +#define EC_WORD_TRUANT (EC_GROUP_STATUS << 9) | 0x41 +#define EC_WORD_RUN_AWAY (EC_GROUP_STATUS << 9) | 0x42 +#define EC_WORD_STICKY_HOLD (EC_GROUP_STATUS << 9) | 0x43 +#define EC_WORD_CLOUD_NINE (EC_GROUP_STATUS << 9) | 0x44 +#define EC_WORD_NORMAL (EC_GROUP_STATUS << 9) | 0x45 +#define EC_WORD_STEEL (EC_GROUP_STATUS << 9) | 0x46 +#define EC_WORD_ILLUMINATE (EC_GROUP_STATUS << 9) | 0x47 +#define EC_WORD_EARLY_BIRD (EC_GROUP_STATUS << 9) | 0x48 +#define EC_WORD_HUSTLE (EC_GROUP_STATUS << 9) | 0x49 +#define EC_WORD_SHINE (EC_GROUP_STATUS << 9) | 0x4a +#define EC_WORD_FLYING (EC_GROUP_STATUS << 9) | 0x4b +#define EC_WORD_DROUGHT (EC_GROUP_STATUS << 9) | 0x4c +#define EC_WORD_LIGHTNINGROD (EC_GROUP_STATUS << 9) | 0x4d +#define EC_WORD_COMPOUNDEYES (EC_GROUP_STATUS << 9) | 0x4e +#define EC_WORD_MARVEL_SCALE (EC_GROUP_STATUS << 9) | 0x4f +#define EC_WORD_WONDER_GUARD (EC_GROUP_STATUS << 9) | 0x50 +#define EC_WORD_INSOMNIA (EC_GROUP_STATUS << 9) | 0x51 +#define EC_WORD_LEVITATE (EC_GROUP_STATUS << 9) | 0x52 +#define EC_WORD_PLUS (EC_GROUP_STATUS << 9) | 0x53 +#define EC_WORD_PRESSURE (EC_GROUP_STATUS << 9) | 0x54 +#define EC_WORD_LIQUID_OOZE (EC_GROUP_STATUS << 9) | 0x55 +#define EC_WORD_COLOR_CHANGE (EC_GROUP_STATUS << 9) | 0x56 +#define EC_WORD_SOUNDPROOF (EC_GROUP_STATUS << 9) | 0x57 +#define EC_WORD_EFFECT_SPORE (EC_GROUP_STATUS << 9) | 0x58 +#define EC_WORD_PKRS (EC_GROUP_STATUS << 9) | 0x59 +#define EC_WORD_FIRE (EC_GROUP_STATUS << 9) | 0x5a +#define EC_WORD_FLAME_BODY (EC_GROUP_STATUS << 9) | 0x5b +#define EC_WORD_MINUS (EC_GROUP_STATUS << 9) | 0x5c +#define EC_WORD_OWN_TEMPO (EC_GROUP_STATUS << 9) | 0x5d +#define EC_WORD_MAGMA_ARMOR (EC_GROUP_STATUS << 9) | 0x5e +#define EC_WORD_WATER (EC_GROUP_STATUS << 9) | 0x5f +#define EC_WORD_WATER_VEIL (EC_GROUP_STATUS << 9) | 0x60 +#define EC_WORD_BUG (EC_GROUP_STATUS << 9) | 0x61 +#define EC_WORD_SWARM (EC_GROUP_STATUS << 9) | 0x62 +#define EC_WORD_CUTE_CHARM (EC_GROUP_STATUS << 9) | 0x63 +#define EC_WORD_IMMUNITY (EC_GROUP_STATUS << 9) | 0x64 +#define EC_WORD_BLAZE (EC_GROUP_STATUS << 9) | 0x65 +#define EC_WORD_PICKUP (EC_GROUP_STATUS << 9) | 0x66 +#define EC_WORD_PATTERN (EC_GROUP_STATUS << 9) | 0x67 +#define EC_WORD_FLASH_FIRE (EC_GROUP_STATUS << 9) | 0x68 +#define EC_WORD_VITAL_SPIRIT (EC_GROUP_STATUS << 9) | 0x69 +#define EC_WORD_CHLOROPHYLL (EC_GROUP_STATUS << 9) | 0x6a +#define EC_WORD_PURE_POWER (EC_GROUP_STATUS << 9) | 0x6b +#define EC_WORD_SHIELD_DUST (EC_GROUP_STATUS << 9) | 0x6c + +// BATTLE +#define EC_WORD_MATCH_UP (EC_GROUP_BATTLE << 9) | 0x0 +#define EC_WORD_GO (EC_GROUP_BATTLE << 9) | 0x1 +#define EC_WORD_NO_1 (EC_GROUP_BATTLE << 9) | 0x2 +#define EC_WORD_DECIDE (EC_GROUP_BATTLE << 9) | 0x3 +#define EC_WORD_LET_ME_WIN (EC_GROUP_BATTLE << 9) | 0x4 +#define EC_WORD_WINS (EC_GROUP_BATTLE << 9) | 0x5 +#define EC_WORD_WIN (EC_GROUP_BATTLE << 9) | 0x6 +#define EC_WORD_WON (EC_GROUP_BATTLE << 9) | 0x7 +#define EC_WORD_IF_I_WIN (EC_GROUP_BATTLE << 9) | 0x8 +#define EC_WORD_WHEN_I_WIN (EC_GROUP_BATTLE << 9) | 0x9 +#define EC_WORD_CAN_T_WIN (EC_GROUP_BATTLE << 9) | 0xa +#define EC_WORD_CAN_WIN (EC_GROUP_BATTLE << 9) | 0xb +#define EC_WORD_NO_MATCH (EC_GROUP_BATTLE << 9) | 0xc +#define EC_WORD_SPIRIT (EC_GROUP_BATTLE << 9) | 0xd +#define EC_WORD_DECIDED (EC_GROUP_BATTLE << 9) | 0xe +#define EC_WORD_TRUMP_CARD (EC_GROUP_BATTLE << 9) | 0xf +#define EC_WORD_TAKE_THAT (EC_GROUP_BATTLE << 9) | 0x10 +#define EC_WORD_COME_ON (EC_GROUP_BATTLE << 9) | 0x11 +#define EC_WORD_ATTACK (EC_GROUP_BATTLE << 9) | 0x12 +#define EC_WORD_SURRENDER (EC_GROUP_BATTLE << 9) | 0x13 +#define EC_WORD_GUTSY (EC_GROUP_BATTLE << 9) | 0x14 +#define EC_WORD_TALENT (EC_GROUP_BATTLE << 9) | 0x15 +#define EC_WORD_STRATEGY (EC_GROUP_BATTLE << 9) | 0x16 +#define EC_WORD_SMITE (EC_GROUP_BATTLE << 9) | 0x17 +#define EC_WORD_MATCH (EC_GROUP_BATTLE << 9) | 0x18 +#define EC_WORD_VICTORY (EC_GROUP_BATTLE << 9) | 0x19 +#define EC_WORD_OFFENSIVE (EC_GROUP_BATTLE << 9) | 0x1a +#define EC_WORD_SENSE (EC_GROUP_BATTLE << 9) | 0x1b +#define EC_WORD_VERSUS (EC_GROUP_BATTLE << 9) | 0x1c +#define EC_WORD_FIGHTS (EC_GROUP_BATTLE << 9) | 0x1d +#define EC_WORD_POWER (EC_GROUP_BATTLE << 9) | 0x1e +#define EC_WORD_CHALLENGE (EC_GROUP_BATTLE << 9) | 0x1f +#define EC_WORD_STRONG (EC_GROUP_BATTLE << 9) | 0x20 +#define EC_WORD_TOO_STRONG (EC_GROUP_BATTLE << 9) | 0x21 +#define EC_WORD_GO_EASY (EC_GROUP_BATTLE << 9) | 0x22 +#define EC_WORD_FOE (EC_GROUP_BATTLE << 9) | 0x23 +#define EC_WORD_GENIUS (EC_GROUP_BATTLE << 9) | 0x24 +#define EC_WORD_LEGEND (EC_GROUP_BATTLE << 9) | 0x25 +#define EC_WORD_ESCAPE (EC_GROUP_BATTLE << 9) | 0x26 +#define EC_WORD_AIM (EC_GROUP_BATTLE << 9) | 0x27 +#define EC_WORD_BATTLE (EC_GROUP_BATTLE << 9) | 0x28 +#define EC_WORD_FIGHT (EC_GROUP_BATTLE << 9) | 0x29 +#define EC_WORD_RESUSCITATE (EC_GROUP_BATTLE << 9) | 0x2a +#define EC_WORD_POINTS (EC_GROUP_BATTLE << 9) | 0x2b +#define EC_WORD_SERIOUS (EC_GROUP_BATTLE << 9) | 0x2c +#define EC_WORD_GIVE_UP (EC_GROUP_BATTLE << 9) | 0x2d +#define EC_WORD_LOSS (EC_GROUP_BATTLE << 9) | 0x2e +#define EC_WORD_IF_I_LOSE (EC_GROUP_BATTLE << 9) | 0x2f +#define EC_WORD_LOST (EC_GROUP_BATTLE << 9) | 0x30 +#define EC_WORD_LOSE (EC_GROUP_BATTLE << 9) | 0x31 +#define EC_WORD_GUARD (EC_GROUP_BATTLE << 9) | 0x32 +#define EC_WORD_PARTNER (EC_GROUP_BATTLE << 9) | 0x33 +#define EC_WORD_REJECT (EC_GROUP_BATTLE << 9) | 0x34 +#define EC_WORD_ACCEPT (EC_GROUP_BATTLE << 9) | 0x35 +#define EC_WORD_INVINCIBLE (EC_GROUP_BATTLE << 9) | 0x36 +#define EC_WORD_RECEIVED (EC_GROUP_BATTLE << 9) | 0x37 +#define EC_WORD_EASY (EC_GROUP_BATTLE << 9) | 0x38 +#define EC_WORD_WEAK (EC_GROUP_BATTLE << 9) | 0x39 +#define EC_WORD_TOO_WEAK (EC_GROUP_BATTLE << 9) | 0x3a +#define EC_WORD_PUSHOVER (EC_GROUP_BATTLE << 9) | 0x3b +#define EC_WORD_LEADER (EC_GROUP_BATTLE << 9) | 0x3c +#define EC_WORD_RULE (EC_GROUP_BATTLE << 9) | 0x3d +#define EC_WORD_MOVE (EC_GROUP_BATTLE << 9) | 0x3e + +// GREETINGS +#define EC_WORD_THANKS (EC_GROUP_GREETINGS << 9) | 0x0 +#define EC_WORD_YES (EC_GROUP_GREETINGS << 9) | 0x1 +#define EC_WORD_HERE_GOES (EC_GROUP_GREETINGS << 9) | 0x2 +#define EC_WORD_HERE_I_COME (EC_GROUP_GREETINGS << 9) | 0x3 +#define EC_WORD_HERE_IT_IS (EC_GROUP_GREETINGS << 9) | 0x4 +#define EC_WORD_YEAH (EC_GROUP_GREETINGS << 9) | 0x5 +#define EC_WORD_WELCOME (EC_GROUP_GREETINGS << 9) | 0x6 +#define EC_WORD_OI (EC_GROUP_GREETINGS << 9) | 0x7 +#define EC_WORD_HOW_DO (EC_GROUP_GREETINGS << 9) | 0x8 +#define EC_WORD_CONGRATS (EC_GROUP_GREETINGS << 9) | 0x9 +#define EC_WORD_GIVE_ME (EC_GROUP_GREETINGS << 9) | 0xa +#define EC_WORD_SORRY (EC_GROUP_GREETINGS << 9) | 0xb +#define EC_WORD_APOLOGIZE (EC_GROUP_GREETINGS << 9) | 0xc +#define EC_WORD_FORGIVE (EC_GROUP_GREETINGS << 9) | 0xd +#define EC_WORD_HEY_THERE (EC_GROUP_GREETINGS << 9) | 0xe +#define EC_WORD_HELLO (EC_GROUP_GREETINGS << 9) | 0xf +#define EC_WORD_GOOD_BYE (EC_GROUP_GREETINGS << 9) | 0x10 +#define EC_WORD_THANK_YOU (EC_GROUP_GREETINGS << 9) | 0x11 +#define EC_WORD_I_VE_ARRIVED (EC_GROUP_GREETINGS << 9) | 0x12 +#define EC_WORD_PARDON (EC_GROUP_GREETINGS << 9) | 0x13 +#define EC_WORD_EXCUSE (EC_GROUP_GREETINGS << 9) | 0x14 +#define EC_WORD_SEE_YA (EC_GROUP_GREETINGS << 9) | 0x15 +#define EC_WORD_EXCUSE_ME (EC_GROUP_GREETINGS << 9) | 0x16 +#define EC_WORD_WELL_THEN (EC_GROUP_GREETINGS << 9) | 0x17 +#define EC_WORD_GO_AHEAD (EC_GROUP_GREETINGS << 9) | 0x18 +#define EC_WORD_APPRECIATE (EC_GROUP_GREETINGS << 9) | 0x19 +#define EC_WORD_HEY_QUES (EC_GROUP_GREETINGS << 9) | 0x1a +#define EC_WORD_WHAT_S_UP_QUES (EC_GROUP_GREETINGS << 9) | 0x1b +#define EC_WORD_HUH_QUES (EC_GROUP_GREETINGS << 9) | 0x1c +#define EC_WORD_NO (EC_GROUP_GREETINGS << 9) | 0x1d +#define EC_WORD_HI (EC_GROUP_GREETINGS << 9) | 0x1e +#define EC_WORD_YEAH_YEAH (EC_GROUP_GREETINGS << 9) | 0x1f +#define EC_WORD_BYE_BYE (EC_GROUP_GREETINGS << 9) | 0x20 +#define EC_WORD_MEET_YOU (EC_GROUP_GREETINGS << 9) | 0x21 +#define EC_WORD_HEY (EC_GROUP_GREETINGS << 9) | 0x22 +#define EC_WORD_SMELL (EC_GROUP_GREETINGS << 9) | 0x23 +#define EC_WORD_LISTENING (EC_GROUP_GREETINGS << 9) | 0x24 +#define EC_WORD_HOO_HAH (EC_GROUP_GREETINGS << 9) | 0x25 +#define EC_WORD_YAHOO (EC_GROUP_GREETINGS << 9) | 0x26 +#define EC_WORD_YO (EC_GROUP_GREETINGS << 9) | 0x27 +#define EC_WORD_COME_OVER (EC_GROUP_GREETINGS << 9) | 0x28 +#define EC_WORD_COUNT_ON (EC_GROUP_GREETINGS << 9) | 0x29 + +// PEOPLE +#define EC_WORD_OPPONENT (EC_GROUP_PEOPLE << 9) | 0x0 +#define EC_WORD_I (EC_GROUP_PEOPLE << 9) | 0x1 +#define EC_WORD_YOU (EC_GROUP_PEOPLE << 9) | 0x2 +#define EC_WORD_YOURS (EC_GROUP_PEOPLE << 9) | 0x3 +#define EC_WORD_SON (EC_GROUP_PEOPLE << 9) | 0x4 +#define EC_WORD_YOUR (EC_GROUP_PEOPLE << 9) | 0x5 +#define EC_WORD_YOU_RE (EC_GROUP_PEOPLE << 9) | 0x6 +#define EC_WORD_YOU_VE (EC_GROUP_PEOPLE << 9) | 0x7 +#define EC_WORD_MOTHER (EC_GROUP_PEOPLE << 9) | 0x8 +#define EC_WORD_GRANDFATHER (EC_GROUP_PEOPLE << 9) | 0x9 +#define EC_WORD_UNCLE (EC_GROUP_PEOPLE << 9) | 0xa +#define EC_WORD_FATHER (EC_GROUP_PEOPLE << 9) | 0xb +#define EC_WORD_BOY (EC_GROUP_PEOPLE << 9) | 0xc +#define EC_WORD_ADULT (EC_GROUP_PEOPLE << 9) | 0xd +#define EC_WORD_BROTHER (EC_GROUP_PEOPLE << 9) | 0xe +#define EC_WORD_SISTER (EC_GROUP_PEOPLE << 9) | 0xf +#define EC_WORD_GRANDMOTHER (EC_GROUP_PEOPLE << 9) | 0x10 +#define EC_WORD_AUNT (EC_GROUP_PEOPLE << 9) | 0x11 +#define EC_WORD_PARENT (EC_GROUP_PEOPLE << 9) | 0x12 +#define EC_WORD_MAN (EC_GROUP_PEOPLE << 9) | 0x13 +#define EC_WORD_ME (EC_GROUP_PEOPLE << 9) | 0x14 +#define EC_WORD_GIRL (EC_GROUP_PEOPLE << 9) | 0x15 +#define EC_WORD_BABE (EC_GROUP_PEOPLE << 9) | 0x16 +#define EC_WORD_FAMILY (EC_GROUP_PEOPLE << 9) | 0x17 +#define EC_WORD_HER (EC_GROUP_PEOPLE << 9) | 0x18 +#define EC_WORD_HIM (EC_GROUP_PEOPLE << 9) | 0x19 +#define EC_WORD_HE (EC_GROUP_PEOPLE << 9) | 0x1a +#define EC_WORD_PLACE (EC_GROUP_PEOPLE << 9) | 0x1b +#define EC_WORD_DAUGHTER (EC_GROUP_PEOPLE << 9) | 0x1c +#define EC_WORD_HIS (EC_GROUP_PEOPLE << 9) | 0x1d +#define EC_WORD_HE_S (EC_GROUP_PEOPLE << 9) | 0x1e +#define EC_WORD_AREN_T (EC_GROUP_PEOPLE << 9) | 0x1f +#define EC_WORD_SIBLINGS (EC_GROUP_PEOPLE << 9) | 0x20 +#define EC_WORD_KID (EC_GROUP_PEOPLE << 9) | 0x21 +#define EC_WORD_CHILDREN (EC_GROUP_PEOPLE << 9) | 0x22 +#define EC_WORD_MR (EC_GROUP_PEOPLE << 9) | 0x23 +#define EC_WORD_MRS (EC_GROUP_PEOPLE << 9) | 0x24 +#define EC_WORD_MYSELF (EC_GROUP_PEOPLE << 9) | 0x25 +#define EC_WORD_I_WAS (EC_GROUP_PEOPLE << 9) | 0x26 +#define EC_WORD_TO_ME (EC_GROUP_PEOPLE << 9) | 0x27 +#define EC_WORD_MY (EC_GROUP_PEOPLE << 9) | 0x28 +#define EC_WORD_I_AM (EC_GROUP_PEOPLE << 9) | 0x29 +#define EC_WORD_I_VE (EC_GROUP_PEOPLE << 9) | 0x2a +#define EC_WORD_WHO (EC_GROUP_PEOPLE << 9) | 0x2b +#define EC_WORD_SOMEONE (EC_GROUP_PEOPLE << 9) | 0x2c +#define EC_WORD_WHO_WAS (EC_GROUP_PEOPLE << 9) | 0x2d +#define EC_WORD_TO_WHOM (EC_GROUP_PEOPLE << 9) | 0x2e +#define EC_WORD_WHOSE (EC_GROUP_PEOPLE << 9) | 0x2f +#define EC_WORD_WHO_IS (EC_GROUP_PEOPLE << 9) | 0x30 +#define EC_WORD_IT_S (EC_GROUP_PEOPLE << 9) | 0x31 +#define EC_WORD_LADY (EC_GROUP_PEOPLE << 9) | 0x32 +#define EC_WORD_FRIEND (EC_GROUP_PEOPLE << 9) | 0x33 +#define EC_WORD_ALLY (EC_GROUP_PEOPLE << 9) | 0x34 +#define EC_WORD_PERSON (EC_GROUP_PEOPLE << 9) | 0x35 +#define EC_WORD_DUDE (EC_GROUP_PEOPLE << 9) | 0x36 +#define EC_WORD_THEY (EC_GROUP_PEOPLE << 9) | 0x37 +#define EC_WORD_THEY_WERE (EC_GROUP_PEOPLE << 9) | 0x38 +#define EC_WORD_TO_THEM (EC_GROUP_PEOPLE << 9) | 0x39 +#define EC_WORD_THEIR (EC_GROUP_PEOPLE << 9) | 0x3a +#define EC_WORD_THEY_RE (EC_GROUP_PEOPLE << 9) | 0x3b +#define EC_WORD_THEY_VE (EC_GROUP_PEOPLE << 9) | 0x3c +#define EC_WORD_WE (EC_GROUP_PEOPLE << 9) | 0x3d +#define EC_WORD_BEEN (EC_GROUP_PEOPLE << 9) | 0x3e +#define EC_WORD_TO_US (EC_GROUP_PEOPLE << 9) | 0x3f +#define EC_WORD_OUR (EC_GROUP_PEOPLE << 9) | 0x40 +#define EC_WORD_WE_RE (EC_GROUP_PEOPLE << 9) | 0x41 +#define EC_WORD_RIVAL (EC_GROUP_PEOPLE << 9) | 0x42 +#define EC_WORD_WE_VE (EC_GROUP_PEOPLE << 9) | 0x43 +#define EC_WORD_WOMAN (EC_GROUP_PEOPLE << 9) | 0x44 +#define EC_WORD_SHE (EC_GROUP_PEOPLE << 9) | 0x45 +#define EC_WORD_SHE_WAS (EC_GROUP_PEOPLE << 9) | 0x46 +#define EC_WORD_TO_HER (EC_GROUP_PEOPLE << 9) | 0x47 +#define EC_WORD_HERS (EC_GROUP_PEOPLE << 9) | 0x48 +#define EC_WORD_SHE_IS (EC_GROUP_PEOPLE << 9) | 0x49 +#define EC_WORD_SOME (EC_GROUP_PEOPLE << 9) | 0x4a + +// VOICES +#define EC_WORD_EXCL (EC_GROUP_VOICES << 9) | 0x0 +#define EC_WORD_EXCL_EXCL (EC_GROUP_VOICES << 9) | 0x1 +#define EC_WORD_QUES_EXCL (EC_GROUP_VOICES << 9) | 0x2 +#define EC_WORD_QUES (EC_GROUP_VOICES << 9) | 0x3 +#define EC_WORD_ELLIPSIS (EC_GROUP_VOICES << 9) | 0x4 +#define EC_WORD_ELLIPSIS_EXCL (EC_GROUP_VOICES << 9) | 0x5 +#define EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS (EC_GROUP_VOICES << 9) | 0x6 +#define EC_WORD_DASH (EC_GROUP_VOICES << 9) | 0x7 +#define EC_WORD_DASH_DASH_DASH (EC_GROUP_VOICES << 9) | 0x8 +#define EC_WORD_UH_OH (EC_GROUP_VOICES << 9) | 0x9 +#define EC_WORD_WAAAH (EC_GROUP_VOICES << 9) | 0xa +#define EC_WORD_AHAHA (EC_GROUP_VOICES << 9) | 0xb +#define EC_WORD_OH_QUES (EC_GROUP_VOICES << 9) | 0xc +#define EC_WORD_NOPE (EC_GROUP_VOICES << 9) | 0xd +#define EC_WORD_URGH (EC_GROUP_VOICES << 9) | 0xe +#define EC_WORD_HMM (EC_GROUP_VOICES << 9) | 0xf +#define EC_WORD_WHOAH (EC_GROUP_VOICES << 9) | 0x10 +#define EC_WORD_WROOOAAR_EXCL (EC_GROUP_VOICES << 9) | 0x11 +#define EC_WORD_WOW (EC_GROUP_VOICES << 9) | 0x12 +#define EC_WORD_GIGGLE (EC_GROUP_VOICES << 9) | 0x13 +#define EC_WORD_SIGH (EC_GROUP_VOICES << 9) | 0x14 +#define EC_WORD_UNBELIEVABLE (EC_GROUP_VOICES << 9) | 0x15 +#define EC_WORD_CRIES (EC_GROUP_VOICES << 9) | 0x16 +#define EC_WORD_AGREE (EC_GROUP_VOICES << 9) | 0x17 +#define EC_WORD_EH_QUES (EC_GROUP_VOICES << 9) | 0x18 +#define EC_WORD_CRY (EC_GROUP_VOICES << 9) | 0x19 +#define EC_WORD_EHEHE (EC_GROUP_VOICES << 9) | 0x1a +#define EC_WORD_OI_OI_OI (EC_GROUP_VOICES << 9) | 0x1b +#define EC_WORD_OH_YEAH (EC_GROUP_VOICES << 9) | 0x1c +#define EC_WORD_OH (EC_GROUP_VOICES << 9) | 0x1d +#define EC_WORD_OOPS (EC_GROUP_VOICES << 9) | 0x1e +#define EC_WORD_SHOCKED (EC_GROUP_VOICES << 9) | 0x1f +#define EC_WORD_EEK (EC_GROUP_VOICES << 9) | 0x20 +#define EC_WORD_GRAAAH (EC_GROUP_VOICES << 9) | 0x21 +#define EC_WORD_GWAHAHAHA (EC_GROUP_VOICES << 9) | 0x22 +#define EC_WORD_WAY (EC_GROUP_VOICES << 9) | 0x23 +#define EC_WORD_TCH (EC_GROUP_VOICES << 9) | 0x24 +#define EC_WORD_HEHE (EC_GROUP_VOICES << 9) | 0x25 +#define EC_WORD_HAH (EC_GROUP_VOICES << 9) | 0x26 +#define EC_WORD_YUP (EC_GROUP_VOICES << 9) | 0x27 +#define EC_WORD_HAHAHA (EC_GROUP_VOICES << 9) | 0x28 +#define EC_WORD_AIYEEH (EC_GROUP_VOICES << 9) | 0x29 +#define EC_WORD_HIYAH (EC_GROUP_VOICES << 9) | 0x2a +#define EC_WORD_FUFUFU (EC_GROUP_VOICES << 9) | 0x2b +#define EC_WORD_LOL (EC_GROUP_VOICES << 9) | 0x2c +#define EC_WORD_SNORT (EC_GROUP_VOICES << 9) | 0x2d +#define EC_WORD_HUMPH (EC_GROUP_VOICES << 9) | 0x2e +#define EC_WORD_HEHEHE (EC_GROUP_VOICES << 9) | 0x2f +#define EC_WORD_HEH (EC_GROUP_VOICES << 9) | 0x30 +#define EC_WORD_HOHOHO (EC_GROUP_VOICES << 9) | 0x31 +#define EC_WORD_UH_HUH (EC_GROUP_VOICES << 9) | 0x32 +#define EC_WORD_OH_DEAR (EC_GROUP_VOICES << 9) | 0x33 +#define EC_WORD_ARRGH (EC_GROUP_VOICES << 9) | 0x34 +#define EC_WORD_MUFUFU (EC_GROUP_VOICES << 9) | 0x35 +#define EC_WORD_MMM (EC_GROUP_VOICES << 9) | 0x36 +#define EC_WORD_OH_KAY (EC_GROUP_VOICES << 9) | 0x37 +#define EC_WORD_OKAY (EC_GROUP_VOICES << 9) | 0x38 +#define EC_WORD_LALALA (EC_GROUP_VOICES << 9) | 0x39 +#define EC_WORD_YAY (EC_GROUP_VOICES << 9) | 0x3a +#define EC_WORD_AWW (EC_GROUP_VOICES << 9) | 0x3b +#define EC_WORD_WOWEE (EC_GROUP_VOICES << 9) | 0x3c +#define EC_WORD_GWAH (EC_GROUP_VOICES << 9) | 0x3d +#define EC_WORD_WAHAHAHA (EC_GROUP_VOICES << 9) | 0x3e + +// SPEECH +#define EC_WORD_LISTEN (EC_GROUP_SPEECH << 9) | 0x0 +#define EC_WORD_NOT_VERY (EC_GROUP_SPEECH << 9) | 0x1 +#define EC_WORD_MEAN (EC_GROUP_SPEECH << 9) | 0x2 +#define EC_WORD_LIE (EC_GROUP_SPEECH << 9) | 0x3 +#define EC_WORD_LAY (EC_GROUP_SPEECH << 9) | 0x4 +#define EC_WORD_RECOMMEND (EC_GROUP_SPEECH << 9) | 0x5 +#define EC_WORD_NITWIT (EC_GROUP_SPEECH << 9) | 0x6 +#define EC_WORD_QUITE (EC_GROUP_SPEECH << 9) | 0x7 +#define EC_WORD_FROM (EC_GROUP_SPEECH << 9) | 0x8 +#define EC_WORD_FEELING (EC_GROUP_SPEECH << 9) | 0x9 +#define EC_WORD_BUT (EC_GROUP_SPEECH << 9) | 0xa +#define EC_WORD_HOWEVER (EC_GROUP_SPEECH << 9) | 0xb +#define EC_WORD_CASE (EC_GROUP_SPEECH << 9) | 0xc +#define EC_WORD_THE (EC_GROUP_SPEECH << 9) | 0xd +#define EC_WORD_MISS (EC_GROUP_SPEECH << 9) | 0xe +#define EC_WORD_HOW (EC_GROUP_SPEECH << 9) | 0xf +#define EC_WORD_HIT (EC_GROUP_SPEECH << 9) | 0x10 +#define EC_WORD_ENOUGH (EC_GROUP_SPEECH << 9) | 0x11 +#define EC_WORD_A_LOT (EC_GROUP_SPEECH << 9) | 0x12 +#define EC_WORD_A_LITTLE (EC_GROUP_SPEECH << 9) | 0x13 +#define EC_WORD_ABSOLUTELY (EC_GROUP_SPEECH << 9) | 0x14 +#define EC_WORD_AND (EC_GROUP_SPEECH << 9) | 0x15 +#define EC_WORD_ONLY (EC_GROUP_SPEECH << 9) | 0x16 +#define EC_WORD_AROUND (EC_GROUP_SPEECH << 9) | 0x17 +#define EC_WORD_PROBABLY (EC_GROUP_SPEECH << 9) | 0x18 +#define EC_WORD_IF (EC_GROUP_SPEECH << 9) | 0x19 +#define EC_WORD_VERY (EC_GROUP_SPEECH << 9) | 0x1a +#define EC_WORD_A_TINY_BIT (EC_GROUP_SPEECH << 9) | 0x1b +#define EC_WORD_WILD (EC_GROUP_SPEECH << 9) | 0x1c +#define EC_WORD_THAT_S (EC_GROUP_SPEECH << 9) | 0x1d +#define EC_WORD_JUST (EC_GROUP_SPEECH << 9) | 0x1e +#define EC_WORD_EVEN_SO (EC_GROUP_SPEECH << 9) | 0x1f +#define EC_WORD_MUST_BE (EC_GROUP_SPEECH << 9) | 0x20 +#define EC_WORD_NATURALLY (EC_GROUP_SPEECH << 9) | 0x21 +#define EC_WORD_FOR_NOW (EC_GROUP_SPEECH << 9) | 0x22 +#define EC_WORD_UNDERSTOOD (EC_GROUP_SPEECH << 9) | 0x23 +#define EC_WORD_JOKING (EC_GROUP_SPEECH << 9) | 0x24 +#define EC_WORD_READY (EC_GROUP_SPEECH << 9) | 0x25 +#define EC_WORD_SOMETHING (EC_GROUP_SPEECH << 9) | 0x26 +#define EC_WORD_SOMEHOW (EC_GROUP_SPEECH << 9) | 0x27 +#define EC_WORD_ALTHOUGH (EC_GROUP_SPEECH << 9) | 0x28 +#define EC_WORD_ALSO (EC_GROUP_SPEECH << 9) | 0x29 +#define EC_WORD_PERFECT (EC_GROUP_SPEECH << 9) | 0x2a +#define EC_WORD_AS_MUCH_AS (EC_GROUP_SPEECH << 9) | 0x2b +#define EC_WORD_REALLY (EC_GROUP_SPEECH << 9) | 0x2c +#define EC_WORD_TRULY (EC_GROUP_SPEECH << 9) | 0x2d +#define EC_WORD_SERIOUSLY (EC_GROUP_SPEECH << 9) | 0x2e +#define EC_WORD_TOTALLY (EC_GROUP_SPEECH << 9) | 0x2f +#define EC_WORD_UNTIL (EC_GROUP_SPEECH << 9) | 0x30 +#define EC_WORD_AS_IF (EC_GROUP_SPEECH << 9) | 0x31 +#define EC_WORD_MOOD (EC_GROUP_SPEECH << 9) | 0x32 +#define EC_WORD_RATHER (EC_GROUP_SPEECH << 9) | 0x33 +#define EC_WORD_AWFULLY (EC_GROUP_SPEECH << 9) | 0x34 +#define EC_WORD_MODE (EC_GROUP_SPEECH << 9) | 0x35 +#define EC_WORD_MORE (EC_GROUP_SPEECH << 9) | 0x36 +#define EC_WORD_TOO_LATE (EC_GROUP_SPEECH << 9) | 0x37 +#define EC_WORD_FINALLY (EC_GROUP_SPEECH << 9) | 0x38 +#define EC_WORD_ANY (EC_GROUP_SPEECH << 9) | 0x39 +#define EC_WORD_INSTEAD (EC_GROUP_SPEECH << 9) | 0x3a +#define EC_WORD_FANTASTIC (EC_GROUP_SPEECH << 9) | 0x3b + +// ENDINGS +#define EC_WORD_WILL (EC_GROUP_ENDINGS << 9) | 0x0 +#define EC_WORD_WILL_BE_HERE (EC_GROUP_ENDINGS << 9) | 0x1 +#define EC_WORD_OR (EC_GROUP_ENDINGS << 9) | 0x2 +#define EC_WORD_TIMES (EC_GROUP_ENDINGS << 9) | 0x3 +#define EC_WORD_WONDER (EC_GROUP_ENDINGS << 9) | 0x4 +#define EC_WORD_IS_IT_QUES (EC_GROUP_ENDINGS << 9) | 0x5 +#define EC_WORD_BE (EC_GROUP_ENDINGS << 9) | 0x6 +#define EC_WORD_GIMME (EC_GROUP_ENDINGS << 9) | 0x7 +#define EC_WORD_COULD (EC_GROUP_ENDINGS << 9) | 0x8 +#define EC_WORD_LIKELY_TO (EC_GROUP_ENDINGS << 9) | 0x9 +#define EC_WORD_WOULD (EC_GROUP_ENDINGS << 9) | 0xa +#define EC_WORD_IS (EC_GROUP_ENDINGS << 9) | 0xb +#define EC_WORD_ISN_T_IT_QUES (EC_GROUP_ENDINGS << 9) | 0xc +#define EC_WORD_LET_S (EC_GROUP_ENDINGS << 9) | 0xd +#define EC_WORD_OTHER (EC_GROUP_ENDINGS << 9) | 0xe +#define EC_WORD_ARE (EC_GROUP_ENDINGS << 9) | 0xf +#define EC_WORD_WAS (EC_GROUP_ENDINGS << 9) | 0x10 +#define EC_WORD_WERE (EC_GROUP_ENDINGS << 9) | 0x11 +#define EC_WORD_THOSE (EC_GROUP_ENDINGS << 9) | 0x12 +#define EC_WORD_ISN_T (EC_GROUP_ENDINGS << 9) | 0x13 +#define EC_WORD_WON_T (EC_GROUP_ENDINGS << 9) | 0x14 +#define EC_WORD_CAN_T (EC_GROUP_ENDINGS << 9) | 0x15 +#define EC_WORD_CAN (EC_GROUP_ENDINGS << 9) | 0x16 +#define EC_WORD_DON_T (EC_GROUP_ENDINGS << 9) | 0x17 +#define EC_WORD_DO (EC_GROUP_ENDINGS << 9) | 0x18 +#define EC_WORD_DOES (EC_GROUP_ENDINGS << 9) | 0x19 +#define EC_WORD_WHOM (EC_GROUP_ENDINGS << 9) | 0x1a +#define EC_WORD_WHICH (EC_GROUP_ENDINGS << 9) | 0x1b +#define EC_WORD_WASN_T (EC_GROUP_ENDINGS << 9) | 0x1c +#define EC_WORD_WEREN_T (EC_GROUP_ENDINGS << 9) | 0x1d +#define EC_WORD_HAVE (EC_GROUP_ENDINGS << 9) | 0x1e +#define EC_WORD_HAVEN_T (EC_GROUP_ENDINGS << 9) | 0x1f +#define EC_WORD_A (EC_GROUP_ENDINGS << 9) | 0x20 +#define EC_WORD_AN (EC_GROUP_ENDINGS << 9) | 0x21 +#define EC_WORD_NOT (EC_GROUP_ENDINGS << 9) | 0x22 +#define EC_WORD_THERE (EC_GROUP_ENDINGS << 9) | 0x23 +#define EC_WORD_OK_QUES (EC_GROUP_ENDINGS << 9) | 0x24 +#define EC_WORD_SO (EC_GROUP_ENDINGS << 9) | 0x25 +#define EC_WORD_MAYBE (EC_GROUP_ENDINGS << 9) | 0x26 +#define EC_WORD_ABOUT (EC_GROUP_ENDINGS << 9) | 0x27 +#define EC_WORD_OVER (EC_GROUP_ENDINGS << 9) | 0x28 +#define EC_WORD_IT (EC_GROUP_ENDINGS << 9) | 0x29 +#define EC_WORD_ALL (EC_GROUP_ENDINGS << 9) | 0x2a +#define EC_WORD_FOR (EC_GROUP_ENDINGS << 9) | 0x2b +#define EC_WORD_ON (EC_GROUP_ENDINGS << 9) | 0x2c +#define EC_WORD_OFF (EC_GROUP_ENDINGS << 9) | 0x2d +#define EC_WORD_AS (EC_GROUP_ENDINGS << 9) | 0x2e +#define EC_WORD_TO (EC_GROUP_ENDINGS << 9) | 0x2f +#define EC_WORD_WITH (EC_GROUP_ENDINGS << 9) | 0x30 +#define EC_WORD_BETTER (EC_GROUP_ENDINGS << 9) | 0x31 +#define EC_WORD_EVER (EC_GROUP_ENDINGS << 9) | 0x32 +#define EC_WORD_SINCE (EC_GROUP_ENDINGS << 9) | 0x33 +#define EC_WORD_OF (EC_GROUP_ENDINGS << 9) | 0x34 +#define EC_WORD_BELONGS_TO (EC_GROUP_ENDINGS << 9) | 0x35 +#define EC_WORD_AT (EC_GROUP_ENDINGS << 9) | 0x36 +#define EC_WORD_IN (EC_GROUP_ENDINGS << 9) | 0x37 +#define EC_WORD_OUT (EC_GROUP_ENDINGS << 9) | 0x38 +#define EC_WORD_TOO (EC_GROUP_ENDINGS << 9) | 0x39 +#define EC_WORD_LIKE (EC_GROUP_ENDINGS << 9) | 0x3a +#define EC_WORD_DID (EC_GROUP_ENDINGS << 9) | 0x3b +#define EC_WORD_DIDN_T (EC_GROUP_ENDINGS << 9) | 0x3c +#define EC_WORD_DOESN_T (EC_GROUP_ENDINGS << 9) | 0x3d +#define EC_WORD_WITHOUT (EC_GROUP_ENDINGS << 9) | 0x3e +#define EC_WORD_AFTER (EC_GROUP_ENDINGS << 9) | 0x3f +#define EC_WORD_BEFORE (EC_GROUP_ENDINGS << 9) | 0x40 +#define EC_WORD_WHILE (EC_GROUP_ENDINGS << 9) | 0x41 +#define EC_WORD_THAN (EC_GROUP_ENDINGS << 9) | 0x42 +#define EC_WORD_ONCE (EC_GROUP_ENDINGS << 9) | 0x43 +#define EC_WORD_ANYWHERE (EC_GROUP_ENDINGS << 9) | 0x44 + +// FEELINGS +#define EC_WORD_MEET (EC_GROUP_FEELINGS << 9) | 0x0 +#define EC_WORD_PLAY (EC_GROUP_FEELINGS << 9) | 0x1 +#define EC_WORD_HURRIED (EC_GROUP_FEELINGS << 9) | 0x2 +#define EC_WORD_GOES (EC_GROUP_FEELINGS << 9) | 0x3 +#define EC_WORD_GIDDY (EC_GROUP_FEELINGS << 9) | 0x4 +#define EC_WORD_HAPPY (EC_GROUP_FEELINGS << 9) | 0x5 +#define EC_WORD_HAPPINESS (EC_GROUP_FEELINGS << 9) | 0x6 +#define EC_WORD_EXCITE (EC_GROUP_FEELINGS << 9) | 0x7 +#define EC_WORD_IMPORTANT (EC_GROUP_FEELINGS << 9) | 0x8 +#define EC_WORD_FUNNY (EC_GROUP_FEELINGS << 9) | 0x9 +#define EC_WORD_GOT (EC_GROUP_FEELINGS << 9) | 0xa +#define EC_WORD_GO_HOME (EC_GROUP_FEELINGS << 9) | 0xb +#define EC_WORD_DISAPPOINTED (EC_GROUP_FEELINGS << 9) | 0xc +#define EC_WORD_DISAPPOINTS (EC_GROUP_FEELINGS << 9) | 0xd +#define EC_WORD_SAD (EC_GROUP_FEELINGS << 9) | 0xe +#define EC_WORD_TRY (EC_GROUP_FEELINGS << 9) | 0xf +#define EC_WORD_TRIES (EC_GROUP_FEELINGS << 9) | 0x10 +#define EC_WORD_HEARS (EC_GROUP_FEELINGS << 9) | 0x11 +#define EC_WORD_THINK (EC_GROUP_FEELINGS << 9) | 0x12 +#define EC_WORD_HEAR (EC_GROUP_FEELINGS << 9) | 0x13 +#define EC_WORD_WANTS (EC_GROUP_FEELINGS << 9) | 0x14 +#define EC_WORD_MISHEARD (EC_GROUP_FEELINGS << 9) | 0x15 +#define EC_WORD_DISLIKE (EC_GROUP_FEELINGS << 9) | 0x16 +#define EC_WORD_ANGRY (EC_GROUP_FEELINGS << 9) | 0x17 +#define EC_WORD_ANGER (EC_GROUP_FEELINGS << 9) | 0x18 +#define EC_WORD_SCARY (EC_GROUP_FEELINGS << 9) | 0x19 +#define EC_WORD_LONESOME (EC_GROUP_FEELINGS << 9) | 0x1a +#define EC_WORD_DISAPPOINT (EC_GROUP_FEELINGS << 9) | 0x1b +#define EC_WORD_JOY (EC_GROUP_FEELINGS << 9) | 0x1c +#define EC_WORD_GETS (EC_GROUP_FEELINGS << 9) | 0x1d +#define EC_WORD_NEVER (EC_GROUP_FEELINGS << 9) | 0x1e +#define EC_WORD_DARN (EC_GROUP_FEELINGS << 9) | 0x1f +#define EC_WORD_DOWNCAST (EC_GROUP_FEELINGS << 9) | 0x20 +#define EC_WORD_INCREDIBLE (EC_GROUP_FEELINGS << 9) | 0x21 +#define EC_WORD_LIKES (EC_GROUP_FEELINGS << 9) | 0x22 +#define EC_WORD_DISLIKES (EC_GROUP_FEELINGS << 9) | 0x23 +#define EC_WORD_BORING (EC_GROUP_FEELINGS << 9) | 0x24 +#define EC_WORD_CARE (EC_GROUP_FEELINGS << 9) | 0x25 +#define EC_WORD_CARES (EC_GROUP_FEELINGS << 9) | 0x26 +#define EC_WORD_ALL_RIGHT (EC_GROUP_FEELINGS << 9) | 0x27 +#define EC_WORD_ADORE (EC_GROUP_FEELINGS << 9) | 0x28 +#define EC_WORD_DISASTER (EC_GROUP_FEELINGS << 9) | 0x29 +#define EC_WORD_ENJOY (EC_GROUP_FEELINGS << 9) | 0x2a +#define EC_WORD_ENJOYS (EC_GROUP_FEELINGS << 9) | 0x2b +#define EC_WORD_EAT (EC_GROUP_FEELINGS << 9) | 0x2c +#define EC_WORD_LACKING (EC_GROUP_FEELINGS << 9) | 0x2d +#define EC_WORD_BAD (EC_GROUP_FEELINGS << 9) | 0x2e +#define EC_WORD_HARD (EC_GROUP_FEELINGS << 9) | 0x2f +#define EC_WORD_TERRIBLE (EC_GROUP_FEELINGS << 9) | 0x30 +#define EC_WORD_SHOULD (EC_GROUP_FEELINGS << 9) | 0x31 +#define EC_WORD_NICE (EC_GROUP_FEELINGS << 9) | 0x32 +#define EC_WORD_DRINK (EC_GROUP_FEELINGS << 9) | 0x33 +#define EC_WORD_SURPRISE (EC_GROUP_FEELINGS << 9) | 0x34 +#define EC_WORD_FEAR (EC_GROUP_FEELINGS << 9) | 0x35 +#define EC_WORD_WANT (EC_GROUP_FEELINGS << 9) | 0x36 +#define EC_WORD_WAIT (EC_GROUP_FEELINGS << 9) | 0x37 +#define EC_WORD_SATISFIED (EC_GROUP_FEELINGS << 9) | 0x38 +#define EC_WORD_SEE (EC_GROUP_FEELINGS << 9) | 0x39 +#define EC_WORD_RARE (EC_GROUP_FEELINGS << 9) | 0x3a +#define EC_WORD_NEGATIVE (EC_GROUP_FEELINGS << 9) | 0x3b +#define EC_WORD_DONE (EC_GROUP_FEELINGS << 9) | 0x3c +#define EC_WORD_DANGER (EC_GROUP_FEELINGS << 9) | 0x3d +#define EC_WORD_DEFEATED (EC_GROUP_FEELINGS << 9) | 0x3e +#define EC_WORD_BEAT (EC_GROUP_FEELINGS << 9) | 0x3f +#define EC_WORD_GREAT (EC_GROUP_FEELINGS << 9) | 0x40 +#define EC_WORD_ROMANTIC (EC_GROUP_FEELINGS << 9) | 0x41 +#define EC_WORD_QUESTION (EC_GROUP_FEELINGS << 9) | 0x42 +#define EC_WORD_UNDERSTAND (EC_GROUP_FEELINGS << 9) | 0x43 +#define EC_WORD_UNDERSTANDS (EC_GROUP_FEELINGS << 9) | 0x44 + +// CONDITIONS +#define EC_WORD_HOT (EC_GROUP_CONDITIONS << 9) | 0x0 +#define EC_WORD_EXISTS (EC_GROUP_CONDITIONS << 9) | 0x1 +#define EC_WORD_EXCESS (EC_GROUP_CONDITIONS << 9) | 0x2 +#define EC_WORD_APPROVED (EC_GROUP_CONDITIONS << 9) | 0x3 +#define EC_WORD_HAS (EC_GROUP_CONDITIONS << 9) | 0x4 +#define EC_WORD_GOOD (EC_GROUP_CONDITIONS << 9) | 0x5 +#define EC_WORD_LESS (EC_GROUP_CONDITIONS << 9) | 0x6 +#define EC_WORD_MOMENTUM (EC_GROUP_CONDITIONS << 9) | 0x7 +#define EC_WORD_GOING (EC_GROUP_CONDITIONS << 9) | 0x8 +#define EC_WORD_WEIRD (EC_GROUP_CONDITIONS << 9) | 0x9 +#define EC_WORD_BUSY (EC_GROUP_CONDITIONS << 9) | 0xa +#define EC_WORD_TOGETHER (EC_GROUP_CONDITIONS << 9) | 0xb +#define EC_WORD_FULL (EC_GROUP_CONDITIONS << 9) | 0xc +#define EC_WORD_ABSENT (EC_GROUP_CONDITIONS << 9) | 0xd +#define EC_WORD_BEING (EC_GROUP_CONDITIONS << 9) | 0xe +#define EC_WORD_NEED (EC_GROUP_CONDITIONS << 9) | 0xf +#define EC_WORD_TASTY (EC_GROUP_CONDITIONS << 9) | 0x10 +#define EC_WORD_SKILLED (EC_GROUP_CONDITIONS << 9) | 0x11 +#define EC_WORD_NOISY (EC_GROUP_CONDITIONS << 9) | 0x12 +#define EC_WORD_BIG (EC_GROUP_CONDITIONS << 9) | 0x13 +#define EC_WORD_LATE (EC_GROUP_CONDITIONS << 9) | 0x14 +#define EC_WORD_CLOSE (EC_GROUP_CONDITIONS << 9) | 0x15 +#define EC_WORD_DOCILE (EC_GROUP_CONDITIONS << 9) | 0x16 +#define EC_WORD_AMUSING (EC_GROUP_CONDITIONS << 9) | 0x17 +#define EC_WORD_ENTERTAINING (EC_GROUP_CONDITIONS << 9) | 0x18 +#define EC_WORD_PERFECTION (EC_GROUP_CONDITIONS << 9) | 0x19 +#define EC_WORD_PRETTY (EC_GROUP_CONDITIONS << 9) | 0x1a +#define EC_WORD_HEALTHY (EC_GROUP_CONDITIONS << 9) | 0x1b +#define EC_WORD_EXCELLENT (EC_GROUP_CONDITIONS << 9) | 0x1c +#define EC_WORD_UPSIDE_DOWN (EC_GROUP_CONDITIONS << 9) | 0x1d +#define EC_WORD_COLD (EC_GROUP_CONDITIONS << 9) | 0x1e +#define EC_WORD_REFRESHING (EC_GROUP_CONDITIONS << 9) | 0x1f +#define EC_WORD_UNAVOIDABLE (EC_GROUP_CONDITIONS << 9) | 0x20 +#define EC_WORD_MUCH (EC_GROUP_CONDITIONS << 9) | 0x21 +#define EC_WORD_OVERWHELMING (EC_GROUP_CONDITIONS << 9) | 0x22 +#define EC_WORD_FABULOUS (EC_GROUP_CONDITIONS << 9) | 0x23 +#define EC_WORD_ELSE (EC_GROUP_CONDITIONS << 9) | 0x24 +#define EC_WORD_EXPENSIVE (EC_GROUP_CONDITIONS << 9) | 0x25 +#define EC_WORD_CORRECT (EC_GROUP_CONDITIONS << 9) | 0x26 +#define EC_WORD_IMPOSSIBLE (EC_GROUP_CONDITIONS << 9) | 0x27 +#define EC_WORD_SMALL (EC_GROUP_CONDITIONS << 9) | 0x28 +#define EC_WORD_DIFFERENT (EC_GROUP_CONDITIONS << 9) | 0x29 +#define EC_WORD_TIRED (EC_GROUP_CONDITIONS << 9) | 0x2a +#define EC_WORD_SKILL (EC_GROUP_CONDITIONS << 9) | 0x2b +#define EC_WORD_TOP (EC_GROUP_CONDITIONS << 9) | 0x2c +#define EC_WORD_NON_STOP (EC_GROUP_CONDITIONS << 9) | 0x2d +#define EC_WORD_PREPOSTEROUS (EC_GROUP_CONDITIONS << 9) | 0x2e +#define EC_WORD_NONE (EC_GROUP_CONDITIONS << 9) | 0x2f +#define EC_WORD_NOTHING (EC_GROUP_CONDITIONS << 9) | 0x30 +#define EC_WORD_NATURAL (EC_GROUP_CONDITIONS << 9) | 0x31 +#define EC_WORD_BECOMES (EC_GROUP_CONDITIONS << 9) | 0x32 +#define EC_WORD_LUKEWARM (EC_GROUP_CONDITIONS << 9) | 0x33 +#define EC_WORD_FAST (EC_GROUP_CONDITIONS << 9) | 0x34 +#define EC_WORD_LOW (EC_GROUP_CONDITIONS << 9) | 0x35 +#define EC_WORD_AWFUL (EC_GROUP_CONDITIONS << 9) | 0x36 +#define EC_WORD_ALONE (EC_GROUP_CONDITIONS << 9) | 0x37 +#define EC_WORD_BORED (EC_GROUP_CONDITIONS << 9) | 0x38 +#define EC_WORD_SECRET (EC_GROUP_CONDITIONS << 9) | 0x39 +#define EC_WORD_MYSTERY (EC_GROUP_CONDITIONS << 9) | 0x3a +#define EC_WORD_LACKS (EC_GROUP_CONDITIONS << 9) | 0x3b +#define EC_WORD_BEST (EC_GROUP_CONDITIONS << 9) | 0x3c +#define EC_WORD_LOUSY (EC_GROUP_CONDITIONS << 9) | 0x3d +#define EC_WORD_MISTAKE (EC_GROUP_CONDITIONS << 9) | 0x3e +#define EC_WORD_KIND (EC_GROUP_CONDITIONS << 9) | 0x3f +#define EC_WORD_WELL (EC_GROUP_CONDITIONS << 9) | 0x40 +#define EC_WORD_WEAKENED (EC_GROUP_CONDITIONS << 9) | 0x41 +#define EC_WORD_SIMPLE (EC_GROUP_CONDITIONS << 9) | 0x42 +#define EC_WORD_SEEMS (EC_GROUP_CONDITIONS << 9) | 0x43 +#define EC_WORD_BADLY (EC_GROUP_CONDITIONS << 9) | 0x44 + +// ACTIONS +#define EC_WORD_MEETS (EC_GROUP_ACTIONS << 9) | 0x0 +#define EC_WORD_CONCEDE (EC_GROUP_ACTIONS << 9) | 0x1 +#define EC_WORD_GIVE (EC_GROUP_ACTIONS << 9) | 0x2 +#define EC_WORD_GIVES (EC_GROUP_ACTIONS << 9) | 0x3 +#define EC_WORD_PLAYED (EC_GROUP_ACTIONS << 9) | 0x4 +#define EC_WORD_PLAYS (EC_GROUP_ACTIONS << 9) | 0x5 +#define EC_WORD_COLLECT (EC_GROUP_ACTIONS << 9) | 0x6 +#define EC_WORD_WALKING (EC_GROUP_ACTIONS << 9) | 0x7 +#define EC_WORD_WALKS (EC_GROUP_ACTIONS << 9) | 0x8 +#define EC_WORD_SAYS (EC_GROUP_ACTIONS << 9) | 0x9 +#define EC_WORD_WENT (EC_GROUP_ACTIONS << 9) | 0xa +#define EC_WORD_SAID (EC_GROUP_ACTIONS << 9) | 0xb +#define EC_WORD_WAKE_UP (EC_GROUP_ACTIONS << 9) | 0xc +#define EC_WORD_WAKES_UP (EC_GROUP_ACTIONS << 9) | 0xd +#define EC_WORD_ANGERS (EC_GROUP_ACTIONS << 9) | 0xe +#define EC_WORD_TEACH (EC_GROUP_ACTIONS << 9) | 0xf +#define EC_WORD_TEACHES (EC_GROUP_ACTIONS << 9) | 0x10 +#define EC_WORD_PLEASE (EC_GROUP_ACTIONS << 9) | 0x11 +#define EC_WORD_LEARN (EC_GROUP_ACTIONS << 9) | 0x12 +#define EC_WORD_CHANGE (EC_GROUP_ACTIONS << 9) | 0x13 +#define EC_WORD_STORY (EC_GROUP_ACTIONS << 9) | 0x14 +#define EC_WORD_TRUST (EC_GROUP_ACTIONS << 9) | 0x15 +#define EC_WORD_LAVISH (EC_GROUP_ACTIONS << 9) | 0x16 +#define EC_WORD_LISTENS (EC_GROUP_ACTIONS << 9) | 0x17 +#define EC_WORD_HEARING (EC_GROUP_ACTIONS << 9) | 0x18 +#define EC_WORD_TRAINS (EC_GROUP_ACTIONS << 9) | 0x19 +#define EC_WORD_CHOOSE (EC_GROUP_ACTIONS << 9) | 0x1a +#define EC_WORD_COME (EC_GROUP_ACTIONS << 9) | 0x1b +#define EC_WORD_CAME (EC_GROUP_ACTIONS << 9) | 0x1c +#define EC_WORD_SEARCH (EC_GROUP_ACTIONS << 9) | 0x1d +#define EC_WORD_MAKE (EC_GROUP_ACTIONS << 9) | 0x1e +#define EC_WORD_CAUSE (EC_GROUP_ACTIONS << 9) | 0x1f +#define EC_WORD_KNOW (EC_GROUP_ACTIONS << 9) | 0x20 +#define EC_WORD_KNOWS (EC_GROUP_ACTIONS << 9) | 0x21 +#define EC_WORD_REFUSE (EC_GROUP_ACTIONS << 9) | 0x22 +#define EC_WORD_STORES (EC_GROUP_ACTIONS << 9) | 0x23 +#define EC_WORD_BRAG (EC_GROUP_ACTIONS << 9) | 0x24 +#define EC_WORD_IGNORANT (EC_GROUP_ACTIONS << 9) | 0x25 +#define EC_WORD_THINKS (EC_GROUP_ACTIONS << 9) | 0x26 +#define EC_WORD_BELIEVE (EC_GROUP_ACTIONS << 9) | 0x27 +#define EC_WORD_SLIDE (EC_GROUP_ACTIONS << 9) | 0x28 +#define EC_WORD_EATS (EC_GROUP_ACTIONS << 9) | 0x29 +#define EC_WORD_USE (EC_GROUP_ACTIONS << 9) | 0x2a +#define EC_WORD_USES (EC_GROUP_ACTIONS << 9) | 0x2b +#define EC_WORD_USING (EC_GROUP_ACTIONS << 9) | 0x2c +#define EC_WORD_COULDN_T (EC_GROUP_ACTIONS << 9) | 0x2d +#define EC_WORD_CAPABLE (EC_GROUP_ACTIONS << 9) | 0x2e +#define EC_WORD_DISAPPEAR (EC_GROUP_ACTIONS << 9) | 0x2f +#define EC_WORD_APPEAR (EC_GROUP_ACTIONS << 9) | 0x30 +#define EC_WORD_THROW (EC_GROUP_ACTIONS << 9) | 0x31 +#define EC_WORD_WORRY (EC_GROUP_ACTIONS << 9) | 0x32 +#define EC_WORD_SLEPT (EC_GROUP_ACTIONS << 9) | 0x33 +#define EC_WORD_SLEEP (EC_GROUP_ACTIONS << 9) | 0x34 +#define EC_WORD_RELEASE (EC_GROUP_ACTIONS << 9) | 0x35 +#define EC_WORD_DRINKS (EC_GROUP_ACTIONS << 9) | 0x36 +#define EC_WORD_RUNS (EC_GROUP_ACTIONS << 9) | 0x37 +#define EC_WORD_RUN (EC_GROUP_ACTIONS << 9) | 0x38 +#define EC_WORD_WORKS (EC_GROUP_ACTIONS << 9) | 0x39 +#define EC_WORD_WORKING (EC_GROUP_ACTIONS << 9) | 0x3a +#define EC_WORD_TALKING (EC_GROUP_ACTIONS << 9) | 0x3b +#define EC_WORD_TALK (EC_GROUP_ACTIONS << 9) | 0x3c +#define EC_WORD_SINK (EC_GROUP_ACTIONS << 9) | 0x3d +#define EC_WORD_SMACK (EC_GROUP_ACTIONS << 9) | 0x3e +#define EC_WORD_PRETEND (EC_GROUP_ACTIONS << 9) | 0x3f +#define EC_WORD_PRAISE (EC_GROUP_ACTIONS << 9) | 0x40 +#define EC_WORD_OVERDO (EC_GROUP_ACTIONS << 9) | 0x41 +#define EC_WORD_SHOW (EC_GROUP_ACTIONS << 9) | 0x42 +#define EC_WORD_LOOKS (EC_GROUP_ACTIONS << 9) | 0x43 +#define EC_WORD_SEES (EC_GROUP_ACTIONS << 9) | 0x44 +#define EC_WORD_SEEK (EC_GROUP_ACTIONS << 9) | 0x45 +#define EC_WORD_OWN (EC_GROUP_ACTIONS << 9) | 0x46 +#define EC_WORD_TAKE (EC_GROUP_ACTIONS << 9) | 0x47 +#define EC_WORD_ALLOW (EC_GROUP_ACTIONS << 9) | 0x48 +#define EC_WORD_FORGET (EC_GROUP_ACTIONS << 9) | 0x49 +#define EC_WORD_FORGETS (EC_GROUP_ACTIONS << 9) | 0x4a +#define EC_WORD_APPEARS (EC_GROUP_ACTIONS << 9) | 0x4b +#define EC_WORD_FAINT (EC_GROUP_ACTIONS << 9) | 0x4c +#define EC_WORD_FAINTED (EC_GROUP_ACTIONS << 9) | 0x4d + +// LIFESTYLE +#define EC_WORD_CHORES (EC_GROUP_LIFESTYLE << 9) | 0x0 +#define EC_WORD_HOME (EC_GROUP_LIFESTYLE << 9) | 0x1 +#define EC_WORD_MONEY (EC_GROUP_LIFESTYLE << 9) | 0x2 +#define EC_WORD_ALLOWANCE (EC_GROUP_LIFESTYLE << 9) | 0x3 +#define EC_WORD_BATH (EC_GROUP_LIFESTYLE << 9) | 0x4 +#define EC_WORD_CONVERSATION (EC_GROUP_LIFESTYLE << 9) | 0x5 +#define EC_WORD_SCHOOL (EC_GROUP_LIFESTYLE << 9) | 0x6 +#define EC_WORD_COMMEMORATE (EC_GROUP_LIFESTYLE << 9) | 0x7 +#define EC_WORD_HABIT (EC_GROUP_LIFESTYLE << 9) | 0x8 +#define EC_WORD_GROUP (EC_GROUP_LIFESTYLE << 9) | 0x9 +#define EC_WORD_WORD (EC_GROUP_LIFESTYLE << 9) | 0xa +#define EC_WORD_STORE (EC_GROUP_LIFESTYLE << 9) | 0xb +#define EC_WORD_SERVICE (EC_GROUP_LIFESTYLE << 9) | 0xc +#define EC_WORD_WORK (EC_GROUP_LIFESTYLE << 9) | 0xd +#define EC_WORD_SYSTEM (EC_GROUP_LIFESTYLE << 9) | 0xe +#define EC_WORD_TRAIN (EC_GROUP_LIFESTYLE << 9) | 0xf +#define EC_WORD_CLASS (EC_GROUP_LIFESTYLE << 9) | 0x10 +#define EC_WORD_LESSONS (EC_GROUP_LIFESTYLE << 9) | 0x11 +#define EC_WORD_INFORMATION (EC_GROUP_LIFESTYLE << 9) | 0x12 +#define EC_WORD_LIVING (EC_GROUP_LIFESTYLE << 9) | 0x13 +#define EC_WORD_TEACHER (EC_GROUP_LIFESTYLE << 9) | 0x14 +#define EC_WORD_TOURNAMENT (EC_GROUP_LIFESTYLE << 9) | 0x15 +#define EC_WORD_LETTER (EC_GROUP_LIFESTYLE << 9) | 0x16 +#define EC_WORD_EVENT (EC_GROUP_LIFESTYLE << 9) | 0x17 +#define EC_WORD_DIGITAL (EC_GROUP_LIFESTYLE << 9) | 0x18 +#define EC_WORD_TEST (EC_GROUP_LIFESTYLE << 9) | 0x19 +#define EC_WORD_DEPT_STORE (EC_GROUP_LIFESTYLE << 9) | 0x1a +#define EC_WORD_TELEVISION (EC_GROUP_LIFESTYLE << 9) | 0x1b +#define EC_WORD_PHONE (EC_GROUP_LIFESTYLE << 9) | 0x1c +#define EC_WORD_ITEM (EC_GROUP_LIFESTYLE << 9) | 0x1d +#define EC_WORD_NAME (EC_GROUP_LIFESTYLE << 9) | 0x1e +#define EC_WORD_NEWS (EC_GROUP_LIFESTYLE << 9) | 0x1f +#define EC_WORD_POPULAR (EC_GROUP_LIFESTYLE << 9) | 0x20 +#define EC_WORD_PARTY (EC_GROUP_LIFESTYLE << 9) | 0x21 +#define EC_WORD_STUDY (EC_GROUP_LIFESTYLE << 9) | 0x22 +#define EC_WORD_MACHINE (EC_GROUP_LIFESTYLE << 9) | 0x23 +#define EC_WORD_MAIL (EC_GROUP_LIFESTYLE << 9) | 0x24 +#define EC_WORD_MESSAGE (EC_GROUP_LIFESTYLE << 9) | 0x25 +#define EC_WORD_PROMISE (EC_GROUP_LIFESTYLE << 9) | 0x26 +#define EC_WORD_DREAM (EC_GROUP_LIFESTYLE << 9) | 0x27 +#define EC_WORD_KINDERGARTEN (EC_GROUP_LIFESTYLE << 9) | 0x28 +#define EC_WORD_LIFE (EC_GROUP_LIFESTYLE << 9) | 0x29 +#define EC_WORD_RADIO (EC_GROUP_LIFESTYLE << 9) | 0x2a +#define EC_WORD_RENTAL (EC_GROUP_LIFESTYLE << 9) | 0x2b +#define EC_WORD_WORLD (EC_GROUP_LIFESTYLE << 9) | 0x2c + +// HOBBIES +#define EC_WORD_IDOL (EC_GROUP_HOBBIES << 9) | 0x0 +#define EC_WORD_ANIME (EC_GROUP_HOBBIES << 9) | 0x1 +#define EC_WORD_SONG (EC_GROUP_HOBBIES << 9) | 0x2 +#define EC_WORD_MOVIE (EC_GROUP_HOBBIES << 9) | 0x3 +#define EC_WORD_SWEETS (EC_GROUP_HOBBIES << 9) | 0x4 +#define EC_WORD_CHAT (EC_GROUP_HOBBIES << 9) | 0x5 +#define EC_WORD_CHILD_S_PLAY (EC_GROUP_HOBBIES << 9) | 0x6 +#define EC_WORD_TOYS (EC_GROUP_HOBBIES << 9) | 0x7 +#define EC_WORD_MUSIC (EC_GROUP_HOBBIES << 9) | 0x8 +#define EC_WORD_CARDS (EC_GROUP_HOBBIES << 9) | 0x9 +#define EC_WORD_SHOPPING (EC_GROUP_HOBBIES << 9) | 0xa +#define EC_WORD_CAMERA (EC_GROUP_HOBBIES << 9) | 0xb +#define EC_WORD_VIEWING (EC_GROUP_HOBBIES << 9) | 0xc +#define EC_WORD_SPECTATOR (EC_GROUP_HOBBIES << 9) | 0xd +#define EC_WORD_GOURMET (EC_GROUP_HOBBIES << 9) | 0xe +#define EC_WORD_GAME (EC_GROUP_HOBBIES << 9) | 0xf +#define EC_WORD_RPG (EC_GROUP_HOBBIES << 9) | 0x10 +#define EC_WORD_COLLECTION (EC_GROUP_HOBBIES << 9) | 0x11 +#define EC_WORD_COMPLETE (EC_GROUP_HOBBIES << 9) | 0x12 +#define EC_WORD_MAGAZINE (EC_GROUP_HOBBIES << 9) | 0x13 +#define EC_WORD_WALK (EC_GROUP_HOBBIES << 9) | 0x14 +#define EC_WORD_BIKE (EC_GROUP_HOBBIES << 9) | 0x15 +#define EC_WORD_HOBBY (EC_GROUP_HOBBIES << 9) | 0x16 +#define EC_WORD_SPORTS (EC_GROUP_HOBBIES << 9) | 0x17 +#define EC_WORD_SOFTWARE (EC_GROUP_HOBBIES << 9) | 0x18 +#define EC_WORD_SONGS (EC_GROUP_HOBBIES << 9) | 0x19 +#define EC_WORD_DIET (EC_GROUP_HOBBIES << 9) | 0x1a +#define EC_WORD_TREASURE (EC_GROUP_HOBBIES << 9) | 0x1b +#define EC_WORD_TRAVEL (EC_GROUP_HOBBIES << 9) | 0x1c +#define EC_WORD_DANCE (EC_GROUP_HOBBIES << 9) | 0x1d +#define EC_WORD_CHANNEL (EC_GROUP_HOBBIES << 9) | 0x1e +#define EC_WORD_MAKING (EC_GROUP_HOBBIES << 9) | 0x1f +#define EC_WORD_FISHING (EC_GROUP_HOBBIES << 9) | 0x20 +#define EC_WORD_DATE (EC_GROUP_HOBBIES << 9) | 0x21 +#define EC_WORD_DESIGN (EC_GROUP_HOBBIES << 9) | 0x22 +#define EC_WORD_LOCOMOTIVE (EC_GROUP_HOBBIES << 9) | 0x23 +#define EC_WORD_PLUSH_DOLL (EC_GROUP_HOBBIES << 9) | 0x24 +#define EC_WORD_PC (EC_GROUP_HOBBIES << 9) | 0x25 +#define EC_WORD_FLOWERS (EC_GROUP_HOBBIES << 9) | 0x26 +#define EC_WORD_HERO (EC_GROUP_HOBBIES << 9) | 0x27 +#define EC_WORD_NAP (EC_GROUP_HOBBIES << 9) | 0x28 +#define EC_WORD_HEROINE (EC_GROUP_HOBBIES << 9) | 0x29 +#define EC_WORD_FASHION (EC_GROUP_HOBBIES << 9) | 0x2a +#define EC_WORD_ADVENTURE (EC_GROUP_HOBBIES << 9) | 0x2b +#define EC_WORD_BOARD (EC_GROUP_HOBBIES << 9) | 0x2c +#define EC_WORD_BALL (EC_GROUP_HOBBIES << 9) | 0x2d +#define EC_WORD_BOOK (EC_GROUP_HOBBIES << 9) | 0x2e +#define EC_WORD_FESTIVAL (EC_GROUP_HOBBIES << 9) | 0x2f +#define EC_WORD_COMICS (EC_GROUP_HOBBIES << 9) | 0x30 +#define EC_WORD_HOLIDAY (EC_GROUP_HOBBIES << 9) | 0x31 +#define EC_WORD_PLANS (EC_GROUP_HOBBIES << 9) | 0x32 +#define EC_WORD_TRENDY (EC_GROUP_HOBBIES << 9) | 0x33 +#define EC_WORD_VACATION (EC_GROUP_HOBBIES << 9) | 0x34 +#define EC_WORD_LOOK (EC_GROUP_HOBBIES << 9) | 0x35 + +// TIME +#define EC_WORD_FALL (EC_GROUP_TIME << 9) | 0x0 +#define EC_WORD_MORNING (EC_GROUP_TIME << 9) | 0x1 +#define EC_WORD_TOMORROW (EC_GROUP_TIME << 9) | 0x2 +#define EC_WORD_LAST (EC_GROUP_TIME << 9) | 0x3 +#define EC_WORD_DAY (EC_GROUP_TIME << 9) | 0x4 +#define EC_WORD_SOMETIME (EC_GROUP_TIME << 9) | 0x5 +#define EC_WORD_ALWAYS (EC_GROUP_TIME << 9) | 0x6 +#define EC_WORD_CURRENT (EC_GROUP_TIME << 9) | 0x7 +#define EC_WORD_FOREVER (EC_GROUP_TIME << 9) | 0x8 +#define EC_WORD_DAYS (EC_GROUP_TIME << 9) | 0x9 +#define EC_WORD_END (EC_GROUP_TIME << 9) | 0xa +#define EC_WORD_TUESDAY (EC_GROUP_TIME << 9) | 0xb +#define EC_WORD_YESTERDAY (EC_GROUP_TIME << 9) | 0xc +#define EC_WORD_TODAY (EC_GROUP_TIME << 9) | 0xd +#define EC_WORD_FRIDAY (EC_GROUP_TIME << 9) | 0xe +#define EC_WORD_MONDAY (EC_GROUP_TIME << 9) | 0xf +#define EC_WORD_LATER (EC_GROUP_TIME << 9) | 0x10 +#define EC_WORD_EARLIER (EC_GROUP_TIME << 9) | 0x11 +#define EC_WORD_ANOTHER (EC_GROUP_TIME << 9) | 0x12 +#define EC_WORD_TIME (EC_GROUP_TIME << 9) | 0x13 +#define EC_WORD_FINISH (EC_GROUP_TIME << 9) | 0x14 +#define EC_WORD_WEDNESDAY (EC_GROUP_TIME << 9) | 0x15 +#define EC_WORD_SOON (EC_GROUP_TIME << 9) | 0x16 +#define EC_WORD_START (EC_GROUP_TIME << 9) | 0x17 +#define EC_WORD_MONTH (EC_GROUP_TIME << 9) | 0x18 +#define EC_WORD_STOP (EC_GROUP_TIME << 9) | 0x19 +#define EC_WORD_NOW (EC_GROUP_TIME << 9) | 0x1a +#define EC_WORD_FINAL (EC_GROUP_TIME << 9) | 0x1b +#define EC_WORD_NEXT (EC_GROUP_TIME << 9) | 0x1c +#define EC_WORD_AGE (EC_GROUP_TIME << 9) | 0x1d +#define EC_WORD_SATURDAY (EC_GROUP_TIME << 9) | 0x1e +#define EC_WORD_SUMMER (EC_GROUP_TIME << 9) | 0x1f +#define EC_WORD_SUNDAY (EC_GROUP_TIME << 9) | 0x20 +#define EC_WORD_BEGINNING (EC_GROUP_TIME << 9) | 0x21 +#define EC_WORD_SPRING (EC_GROUP_TIME << 9) | 0x22 +#define EC_WORD_DAYTIME (EC_GROUP_TIME << 9) | 0x23 +#define EC_WORD_WINTER (EC_GROUP_TIME << 9) | 0x24 +#define EC_WORD_DAILY (EC_GROUP_TIME << 9) | 0x25 +#define EC_WORD_OLDEN (EC_GROUP_TIME << 9) | 0x26 +#define EC_WORD_ALMOST (EC_GROUP_TIME << 9) | 0x27 +#define EC_WORD_NEARLY (EC_GROUP_TIME << 9) | 0x28 +#define EC_WORD_THURSDAY (EC_GROUP_TIME << 9) | 0x29 +#define EC_WORD_NIGHTTIME (EC_GROUP_TIME << 9) | 0x2a +#define EC_WORD_NIGHT (EC_GROUP_TIME << 9) | 0x2b +#define EC_WORD_WEEK (EC_GROUP_TIME << 9) | 0x2c + +// MISC +#define EC_WORD_HIGHS (EC_GROUP_MISC << 9) | 0x0 +#define EC_WORD_LOWS (EC_GROUP_MISC << 9) | 0x1 +#define EC_WORD_UM (EC_GROUP_MISC << 9) | 0x2 +#define EC_WORD_REAR (EC_GROUP_MISC << 9) | 0x3 +#define EC_WORD_THINGS (EC_GROUP_MISC << 9) | 0x4 +#define EC_WORD_THING (EC_GROUP_MISC << 9) | 0x5 +#define EC_WORD_BELOW (EC_GROUP_MISC << 9) | 0x6 +#define EC_WORD_ABOVE (EC_GROUP_MISC << 9) | 0x7 +#define EC_WORD_BACK (EC_GROUP_MISC << 9) | 0x8 +#define EC_WORD_HIGH (EC_GROUP_MISC << 9) | 0x9 +#define EC_WORD_HERE (EC_GROUP_MISC << 9) | 0xa +#define EC_WORD_INSIDE (EC_GROUP_MISC << 9) | 0xb +#define EC_WORD_OUTSIDE (EC_GROUP_MISC << 9) | 0xc +#define EC_WORD_BESIDE (EC_GROUP_MISC << 9) | 0xd +#define EC_WORD_THIS_IS_IT_EXCL (EC_GROUP_MISC << 9) | 0xe +#define EC_WORD_THIS (EC_GROUP_MISC << 9) | 0xf +#define EC_WORD_EVERY (EC_GROUP_MISC << 9) | 0x10 +#define EC_WORD_THESE (EC_GROUP_MISC << 9) | 0x11 +#define EC_WORD_THESE_WERE (EC_GROUP_MISC << 9) | 0x12 +#define EC_WORD_DOWN (EC_GROUP_MISC << 9) | 0x13 +#define EC_WORD_THAT (EC_GROUP_MISC << 9) | 0x14 +#define EC_WORD_THOSE_ARE (EC_GROUP_MISC << 9) | 0x15 +#define EC_WORD_THOSE_WERE (EC_GROUP_MISC << 9) | 0x16 +#define EC_WORD_THAT_S_IT_EXCL (EC_GROUP_MISC << 9) | 0x17 +#define EC_WORD_AM (EC_GROUP_MISC << 9) | 0x18 +#define EC_WORD_THAT_WAS (EC_GROUP_MISC << 9) | 0x19 +#define EC_WORD_FRONT (EC_GROUP_MISC << 9) | 0x1a +#define EC_WORD_UP (EC_GROUP_MISC << 9) | 0x1b +#define EC_WORD_CHOICE (EC_GROUP_MISC << 9) | 0x1c +#define EC_WORD_FAR (EC_GROUP_MISC << 9) | 0x1d +#define EC_WORD_AWAY (EC_GROUP_MISC << 9) | 0x1e +#define EC_WORD_NEAR (EC_GROUP_MISC << 9) | 0x1f +#define EC_WORD_WHERE (EC_GROUP_MISC << 9) | 0x20 +#define EC_WORD_WHEN (EC_GROUP_MISC << 9) | 0x21 +#define EC_WORD_WHAT (EC_GROUP_MISC << 9) | 0x22 +#define EC_WORD_DEEP (EC_GROUP_MISC << 9) | 0x23 +#define EC_WORD_SHALLOW (EC_GROUP_MISC << 9) | 0x24 +#define EC_WORD_WHY (EC_GROUP_MISC << 9) | 0x25 +#define EC_WORD_CONFUSED (EC_GROUP_MISC << 9) | 0x26 +#define EC_WORD_OPPOSITE (EC_GROUP_MISC << 9) | 0x27 +#define EC_WORD_LEFT (EC_GROUP_MISC << 9) | 0x28 +#define EC_WORD_RIGHT (EC_GROUP_MISC << 9) | 0x29 + +// ADJECTIVES +#define EC_WORD_WANDERING (EC_GROUP_ADJECTIVES << 9) | 0x0 +#define EC_WORD_RICKETY (EC_GROUP_ADJECTIVES << 9) | 0x1 +#define EC_WORD_ROCK_SOLID (EC_GROUP_ADJECTIVES << 9) | 0x2 +#define EC_WORD_HUNGRY (EC_GROUP_ADJECTIVES << 9) | 0x3 +#define EC_WORD_TIGHT (EC_GROUP_ADJECTIVES << 9) | 0x4 +#define EC_WORD_TICKLISH (EC_GROUP_ADJECTIVES << 9) | 0x5 +#define EC_WORD_TWIRLING (EC_GROUP_ADJECTIVES << 9) | 0x6 +#define EC_WORD_SPIRALING (EC_GROUP_ADJECTIVES << 9) | 0x7 +#define EC_WORD_THIRSTY (EC_GROUP_ADJECTIVES << 9) | 0x8 +#define EC_WORD_LOLLING (EC_GROUP_ADJECTIVES << 9) | 0x9 +#define EC_WORD_SILKY (EC_GROUP_ADJECTIVES << 9) | 0xa +#define EC_WORD_SADLY (EC_GROUP_ADJECTIVES << 9) | 0xb +#define EC_WORD_HOPELESS (EC_GROUP_ADJECTIVES << 9) | 0xc +#define EC_WORD_USELESS (EC_GROUP_ADJECTIVES << 9) | 0xd +#define EC_WORD_DROOLING (EC_GROUP_ADJECTIVES << 9) | 0xe +#define EC_WORD_EXCITING (EC_GROUP_ADJECTIVES << 9) | 0xf +#define EC_WORD_THICK (EC_GROUP_ADJECTIVES << 9) | 0x10 +#define EC_WORD_SMOOTH (EC_GROUP_ADJECTIVES << 9) | 0x11 +#define EC_WORD_SLIMY (EC_GROUP_ADJECTIVES << 9) | 0x12 +#define EC_WORD_THIN (EC_GROUP_ADJECTIVES << 9) | 0x13 +#define EC_WORD_BREAK (EC_GROUP_ADJECTIVES << 9) | 0x14 +#define EC_WORD_VORACIOUS (EC_GROUP_ADJECTIVES << 9) | 0x15 +#define EC_WORD_SCATTER (EC_GROUP_ADJECTIVES << 9) | 0x16 +#define EC_WORD_AWESOME (EC_GROUP_ADJECTIVES << 9) | 0x17 +#define EC_WORD_WIMPY (EC_GROUP_ADJECTIVES << 9) | 0x18 +#define EC_WORD_WOBBLY (EC_GROUP_ADJECTIVES << 9) | 0x19 +#define EC_WORD_SHAKY (EC_GROUP_ADJECTIVES << 9) | 0x1a +#define EC_WORD_RIPPED (EC_GROUP_ADJECTIVES << 9) | 0x1b +#define EC_WORD_SHREDDED (EC_GROUP_ADJECTIVES << 9) | 0x1c +#define EC_WORD_INCREASING (EC_GROUP_ADJECTIVES << 9) | 0x1d +#define EC_WORD_YET (EC_GROUP_ADJECTIVES << 9) | 0x1e +#define EC_WORD_DESTROYED (EC_GROUP_ADJECTIVES << 9) | 0x1f +#define EC_WORD_FIERY (EC_GROUP_ADJECTIVES << 9) | 0x20 +#define EC_WORD_LOVEY_DOVEY (EC_GROUP_ADJECTIVES << 9) | 0x21 +#define EC_WORD_HAPPILY (EC_GROUP_ADJECTIVES << 9) | 0x22 +#define EC_WORD_ANTICIPATION (EC_GROUP_ADJECTIVES << 9) | 0x23 + +// EVENTS +#define EC_WORD_APPEAL (EC_GROUP_EVENTS << 9) | 0x0 +#define EC_WORD_EVENTS (EC_GROUP_EVENTS << 9) | 0x1 +#define EC_WORD_STAY_AT_HOME (EC_GROUP_EVENTS << 9) | 0x2 +#define EC_WORD_BERRY (EC_GROUP_EVENTS << 9) | 0x3 +#define EC_WORD_CONTEST (EC_GROUP_EVENTS << 9) | 0x4 +#define EC_WORD_MC (EC_GROUP_EVENTS << 9) | 0x5 +#define EC_WORD_JUDGE (EC_GROUP_EVENTS << 9) | 0x6 +#define EC_WORD_SUPER (EC_GROUP_EVENTS << 9) | 0x7 +#define EC_WORD_STAGE (EC_GROUP_EVENTS << 9) | 0x8 +#define EC_WORD_HALL_OF_FAME (EC_GROUP_EVENTS << 9) | 0x9 +#define EC_WORD_EVOLUTION (EC_GROUP_EVENTS << 9) | 0xa +#define EC_WORD_HYPER (EC_GROUP_EVENTS << 9) | 0xb +#define EC_WORD_BATTLE_TOWER (EC_GROUP_EVENTS << 9) | 0xc +#define EC_WORD_LEADERS (EC_GROUP_EVENTS << 9) | 0xd +#define EC_WORD_BATTLE_ROOM (EC_GROUP_EVENTS << 9) | 0xe +#define EC_WORD_HIDDEN (EC_GROUP_EVENTS << 9) | 0xf +#define EC_WORD_SECRET_BASE (EC_GROUP_EVENTS << 9) | 0x10 +#define EC_WORD_BLEND (EC_GROUP_EVENTS << 9) | 0x11 +#define EC_WORD_POKEBLOCK (EC_GROUP_EVENTS << 9) | 0x12 +#define EC_WORD_MASTER (EC_GROUP_EVENTS << 9) | 0x13 +#define EC_WORD_RANK (EC_GROUP_EVENTS << 9) | 0x14 +#define EC_WORD_RIBBON (EC_GROUP_EVENTS << 9) | 0x15 +#define EC_WORD_CRUSH (EC_GROUP_EVENTS << 9) | 0x16 +#define EC_WORD_DIRECT (EC_GROUP_EVENTS << 9) | 0x17 +#define EC_WORD_TOWER (EC_GROUP_EVENTS << 9) | 0x18 +#define EC_WORD_UNION (EC_GROUP_EVENTS << 9) | 0x19 +#define EC_WORD_ROOM (EC_GROUP_EVENTS << 9) | 0x1a +#define EC_WORD_WIRELESS (EC_GROUP_EVENTS << 9) | 0x1b +#define EC_WORD_FRONTIER (EC_GROUP_EVENTS << 9) | 0x1c + +// TRENDY_SAYING +#define EC_WORD_KTHX_BYE (EC_GROUP_TRENDY_SAYING << 9) | 0x0 +#define EC_WORD_YES_SIR_EXCL (EC_GROUP_TRENDY_SAYING << 9) | 0x1 +#define EC_WORD_AVANT_GARDE (EC_GROUP_TRENDY_SAYING << 9) | 0x2 +#define EC_WORD_COUPLE (EC_GROUP_TRENDY_SAYING << 9) | 0x3 +#define EC_WORD_MUCH_OBLIGED (EC_GROUP_TRENDY_SAYING << 9) | 0x4 +#define EC_WORD_YEEHAW_EXCL (EC_GROUP_TRENDY_SAYING << 9) | 0x5 +#define EC_WORD_MEGA (EC_GROUP_TRENDY_SAYING << 9) | 0x6 +#define EC_WORD_1_HIT_KO_EXCL (EC_GROUP_TRENDY_SAYING << 9) | 0x7 +#define EC_WORD_DESTINY (EC_GROUP_TRENDY_SAYING << 9) | 0x8 +#define EC_WORD_CANCEL (EC_GROUP_TRENDY_SAYING << 9) | 0x9 +#define EC_WORD_NEW (EC_GROUP_TRENDY_SAYING << 9) | 0xa +#define EC_WORD_FLATTEN (EC_GROUP_TRENDY_SAYING << 9) | 0xb +#define EC_WORD_KIDDING (EC_GROUP_TRENDY_SAYING << 9) | 0xc +#define EC_WORD_LOSER (EC_GROUP_TRENDY_SAYING << 9) | 0xd +#define EC_WORD_LOSING (EC_GROUP_TRENDY_SAYING << 9) | 0xe +#define EC_WORD_HAPPENING (EC_GROUP_TRENDY_SAYING << 9) | 0xf +#define EC_WORD_HIP_AND (EC_GROUP_TRENDY_SAYING << 9) | 0x10 +#define EC_WORD_SHAKE (EC_GROUP_TRENDY_SAYING << 9) | 0x11 +#define EC_WORD_SHADY (EC_GROUP_TRENDY_SAYING << 9) | 0x12 +#define EC_WORD_UPBEAT (EC_GROUP_TRENDY_SAYING << 9) | 0x13 +#define EC_WORD_MODERN (EC_GROUP_TRENDY_SAYING << 9) | 0x14 +#define EC_WORD_SMELL_YA (EC_GROUP_TRENDY_SAYING << 9) | 0x15 +#define EC_WORD_BANG (EC_GROUP_TRENDY_SAYING << 9) | 0x16 +#define EC_WORD_KNOCKOUT (EC_GROUP_TRENDY_SAYING << 9) | 0x17 +#define EC_WORD_HASSLE (EC_GROUP_TRENDY_SAYING << 9) | 0x18 +#define EC_WORD_WINNER (EC_GROUP_TRENDY_SAYING << 9) | 0x19 +#define EC_WORD_FEVER (EC_GROUP_TRENDY_SAYING << 9) | 0x1a +#define EC_WORD_WANNABE (EC_GROUP_TRENDY_SAYING << 9) | 0x1b +#define EC_WORD_BABY (EC_GROUP_TRENDY_SAYING << 9) | 0x1c +#define EC_WORD_HEART (EC_GROUP_TRENDY_SAYING << 9) | 0x1d +#define EC_WORD_OLD (EC_GROUP_TRENDY_SAYING << 9) | 0x1e +#define EC_WORD_YOUNG (EC_GROUP_TRENDY_SAYING << 9) | 0x1f +#define EC_WORD_UGLY (EC_GROUP_TRENDY_SAYING << 9) | 0x20 + +#define EC_POKEMON(mon) ((EC_GROUP_POKEMON << 9) | SPECIES_##mon) +#define EC_POKEMON2(mon) ((EC_GROUP_POKEMON_2 << 9) | SPECIES_##mon) +#define EC_MOVE(move) ((EC_GROUP_MOVE_1 << 9) | MOVE_##move) +#define EC_MOVE2(move) ((EC_GROUP_MOVE_2 << 9) | MOVE_##move) + +#define EC_GROUP(word) ((word) >> 9) +#define EC_INDEX(word) ((word) & 0x1FF) + +#endif // GUARD_CONSTANTS_EASY_CHAT_H diff --git a/include/constants/flags.h b/include/constants/flags.h new file mode 100644 index 0000000000..63e053cbd6 --- /dev/null +++ b/include/constants/flags.h @@ -0,0 +1,1579 @@ +#ifndef GUARD_CONSTANTS_FLAGS_H +#define GUARD_CONSTANTS_FLAGS_H + +#define FLAG_0x001 0x1 +#define FLAG_0x002 0x2 +#define FLAG_0x003 0x3 +#define FLAG_0x004 0x4 +#define FLAG_0x005 0x5 +#define FLAG_0x006 0x6 +#define FLAG_0x007 0x7 +#define FLAG_0x008 0x8 +#define FLAG_0x009 0x9 +#define FLAG_0x00A 0xA +#define FLAG_0x00B 0xB +#define FLAG_0x00C 0xC +#define FLAG_0x00D 0xD +#define FLAG_0x00E 0xE +#define FLAG_0x00F 0xF +#define FLAG_0x010 0x10 +#define FLAG_0x011 0x11 +#define FLAG_0x012 0x12 +#define FLAG_0x013 0x13 +#define FLAG_0x014 0x14 +#define FLAG_0x015 0x15 +#define FLAG_0x016 0x16 +#define FLAG_0x017 0x17 +#define FLAG_0x018 0x18 +#define FLAG_0x019 0x19 +#define FLAG_0x01A 0x1A +#define FLAG_0x01B 0x1B +#define FLAG_0x01C 0x1C +#define FLAG_0x01D 0x1D +#define FLAG_0x01E 0x1E +#define FLAG_0x01F 0x1F +#define FLAG_0x020 0x20 +#define FLAG_0x021 0x21 +#define FLAG_0x022 0x22 +#define FLAG_0x023 0x23 +#define FLAG_0x024 0x24 +#define FLAG_0x025 0x25 +#define FLAG_0x026 0x26 +#define FLAG_0x027 0x27 +#define FLAG_0x028 0x28 +#define FLAG_0x029 0x29 +#define FLAG_0x02A 0x2A +#define FLAG_0x02B 0x2B +#define FLAG_0x02C 0x2C +#define FLAG_0x02D 0x2D +#define FLAG_0x02E 0x2E +#define FLAG_0x02F 0x2F +#define FLAG_0x030 0x30 +#define FLAG_0x031 0x31 +#define FLAG_0x032 0x32 +#define FLAG_0x033 0x33 +#define FLAG_0x034 0x34 +#define FLAG_0x035 0x35 +#define FLAG_0x036 0x36 +#define FLAG_0x037 0x37 +#define FLAG_0x038 0x38 +#define FLAG_0x039 0x39 +#define FLAG_0x03A 0x3A +#define FLAG_0x03B 0x3B +#define FLAG_0x03C 0x3C +#define FLAG_0x03D 0x3D +#define FLAG_0x03E 0x3E +#define FLAG_0x03F 0x3F +#define FLAG_0x040 0x40 +#define FLAG_0x041 0x41 +#define FLAG_0x042 0x42 +#define FLAG_0x043 0x43 +#define FLAG_0x044 0x44 +#define FLAG_0x045 0x45 +#define FLAG_0x046 0x46 +#define FLAG_0x047 0x47 +#define FLAG_0x048 0x48 +#define FLAG_0x049 0x49 +#define FLAG_0x04A 0x4A +#define FLAG_0x04B 0x4B +#define FLAG_0x04C 0x4C +#define FLAG_0x04D 0x4D +#define FLAG_0x04E 0x4E +#define FLAG_0x04F 0x4F +#define FLAG_0x050 0x50 +#define FLAG_0x051 0x51 +#define FLAG_0x052 0x52 +#define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53 +#define FLAG_0x054 0x54 +#define FLAG_0x055 0x55 +#define FLAG_0x056 0x56 +#define FLAG_0x057 0x57 +#define FLAG_0x058 0x58 +#define FLAG_0x059 0x59 +#define FLAG_0x05A 0x5A +#define FLAG_0x05B 0x5B +#define FLAG_0x05C 0x5C +#define FLAG_0x05D 0x5D +#define FLAG_0x05E 0x5E +#define FLAG_0x05F 0x5F +#define FLAG_0x060 0x60 +#define FLAG_0x061 0x61 +#define FLAG_0x062 0x62 +#define FLAG_0x063 0x63 +#define FLAG_0x064 0x64 +#define FLAG_0x065 0x65 +#define FLAG_0x066 0x66 +#define FLAG_0x067 0x67 +#define FLAG_0x068 0x68 +#define FLAG_0x069 0x69 +#define FLAG_0x06A 0x6A +#define FLAG_0x06B 0x6B +#define FLAG_0x06C 0x6C +#define FLAG_0x06D 0x6D +#define FLAG_0x06E 0x6E +#define FLAG_0x06F 0x6F +#define FLAG_0x070 0x70 +#define FLAG_0x071 0x71 +#define FLAG_0x072 0x72 +#define FLAG_0x073 0x73 +#define FLAG_0x074 0x74 +#define FLAG_0x075 0x75 +#define FLAG_0x076 0x76 +#define FLAG_0x077 0x77 +#define FLAG_LANDMARK_MIRAGE_TOWER 0x78 +#define FLAG_0x079 0x79 +#define FLAG_0x07A 0x7A +#define FLAG_0x07B 0x7B +#define FLAG_0x07C 0x7C +#define FLAG_0x07D 0x7D +#define FLAG_0x07E 0x7E +#define FLAG_0x07F 0x7F +#define FLAG_0x080 0x80 +#define FLAG_0x081 0x81 +#define FLAG_0x082 0x82 +#define FLAG_0x083 0x83 +#define FLAG_0x084 0x84 +#define FLAG_0x085 0x85 +#define FLAG_PENDING_DAYCARE_EGG 0x86 +#define FLAG_0x087 0x87 +#define FLAG_0x088 0x88 +#define FLAG_0x089 0x89 +#define FLAG_0x08A 0x8A +#define FLAG_0x08B 0x8B +#define FLAG_0x08C 0x8C +#define FLAG_0x08D 0x8D +#define FLAG_0x08E 0x8E +#define FLAG_0x08F 0x8F +#define FLAG_0x090 0x90 +#define FLAG_0x091 0x91 +#define FLAG_0x092 0x92 +#define FLAG_0x093 0x93 +#define FLAG_0x094 0x94 +#define FLAG_0x095 0x95 +#define FLAG_0x096 0x96 +#define FLAG_0x097 0x97 +#define FLAG_0x098 0x98 +#define FLAG_0x099 0x99 +#define FLAG_0x09A 0x9A +#define FLAG_0x09B 0x9B +#define FLAG_0x09C 0x9C +#define FLAG_0x09D 0x9D +#define FLAG_0x09E 0x9E +#define FLAG_0x09F 0x9F +#define FLAG_0x0A0 0xA0 +#define FLAG_0x0A1 0xA1 +#define FLAG_0x0A2 0xA2 +#define FLAG_0x0A3 0xA3 +#define FLAG_0x0A4 0xA4 +#define FLAG_0x0A5 0xA5 +#define FLAG_0x0A6 0xA6 +#define FLAG_0x0A7 0xA7 +#define FLAG_0x0A8 0xA8 +#define FLAG_0x0A9 0xA9 +#define FLAG_0x0AA 0xAA +#define FLAG_0x0AB 0xAB +#define FLAG_0x0AC 0xAC +#define FLAG_0x0AD 0xAD +#define FLAG_0x0AE 0xAE +#define FLAG_0x0AF 0xAF +#define FLAG_0x0B0 0xB0 +#define FLAG_0x0B1 0xB1 +#define FLAG_0x0B2 0xB2 +#define FLAG_0x0B3 0xB3 +#define FLAG_0x0B4 0xB4 +#define FLAG_0x0B5 0xB5 +#define FLAG_0x0B6 0xB6 +#define FLAG_0x0B7 0xB7 +#define FLAG_0x0B8 0xB8 +#define FLAG_0x0B9 0xB9 +#define FLAG_0x0BA 0xBA +#define FLAG_0x0BB 0xBB +#define FLAG_0x0BC 0xBC +#define FLAG_0x0BD 0xBD +#define FLAG_0x0BE 0xBE +#define FLAG_0x0BF 0xBF +#define FLAG_0x0C0 0xC0 +#define FLAG_0x0C1 0xC1 +#define FLAG_0x0C2 0xC2 +#define FLAG_0x0C3 0xC3 +#define FLAG_0x0C4 0xC4 +#define FLAG_0x0C5 0xC5 +#define FLAG_0x0C6 0xC6 +#define FLAG_0x0C7 0xC7 +#define FLAG_0x0C8 0xC8 +#define FLAG_0x0C9 0xC9 +#define FLAG_0x0CA 0xCA +#define FLAG_0x0CB 0xCB +#define FLAG_0x0CC 0xCC +#define FLAG_0x0CD 0xCD +#define FLAG_0x0CE 0xCE +#define FLAG_0x0CF 0xCF +#define FLAG_0x0D0 0xD0 +#define FLAG_0x0D1 0xD1 +#define FLAG_0x0D2 0xD2 +#define FLAG_0x0D3 0xD3 +#define FLAG_0x0D4 0xD4 +#define FLAG_0x0D5 0xD5 +#define FLAG_0x0D6 0xD6 +#define FLAG_0x0D7 0xD7 +#define FLAG_0x0D8 0xD8 +#define FLAG_0x0D9 0xD9 +#define FLAG_0x0DA 0xDA +#define FLAG_0x0DB 0xDB +#define FLAG_0x0DC 0xDC +#define FLAG_0x0DD 0xDD +#define FLAG_0x0DE 0xDE +#define FLAG_0x0DF 0xDF +#define FLAG_0x0E0 0xE0 +#define FLAG_0x0E1 0xE1 +#define FLAG_0x0E2 0xE2 +#define FLAG_0x0E3 0xE3 +#define FLAG_0x0E4 0xE4 +#define FLAG_0x0E5 0xE5 +#define FLAG_0x0E6 0xE6 +#define FLAG_0x0E7 0xE7 +#define FLAG_0x0E8 0xE8 +#define FLAG_0x0E9 0xE9 +#define FLAG_0x0EA 0xEA +#define FLAG_0x0EB 0xEB +#define FLAG_0x0EC 0xEC +#define FLAG_0x0ED 0xED +#define FLAG_0x0EE 0xEE +#define FLAG_0x0EF 0xEF +#define FLAG_0x0F0 0xF0 +#define FLAG_0x0F1 0xF1 +#define FLAG_0x0F2 0xF2 +#define FLAG_0x0F3 0xF3 +#define FLAG_0x0F4 0xF4 +#define FLAG_0x0F5 0xF5 +#define FLAG_0x0F6 0xF6 +#define FLAG_0x0F7 0xF7 +#define FLAG_0x0F8 0xF8 +#define FLAG_0x0F9 0xF9 +#define FLAG_0x0FA 0xFA +#define FLAG_0x0FB 0xFB +#define FLAG_0x0FC 0xFC +#define FLAG_0x0FD 0xFD +#define FLAG_0x0FE 0xFE +#define FLAG_0x0FF 0xFF +#define FLAG_0x100 0x100 +#define FLAG_0x101 0x101 +#define FLAG_0x102 0x102 +#define FLAG_0x103 0x103 +#define FLAG_0x104 0x104 +#define FLAG_0x105 0x105 +#define FLAG_0x106 0x106 +#define FLAG_0x107 0x107 +#define FLAG_0x108 0x108 +#define FLAG_0x109 0x109 +#define FLAG_0x10A 0x10A +#define FLAG_0x10B 0x10B +#define FLAG_0x10C 0x10C +#define FLAG_0x10D 0x10D +#define FLAG_0x10E 0x10E +#define FLAG_0x10F 0x10F +#define FLAG_0x110 0x110 +#define FLAG_0x111 0x111 +#define FLAG_0x112 0x112 +#define FLAG_0x113 0x113 +#define FLAG_0x114 0x114 +#define FLAG_0x115 0x115 +#define FLAG_0x116 0x116 +#define FLAG_0x117 0x117 +#define FLAG_0x118 0x118 +#define FLAG_0x119 0x119 +#define FLAG_0x11A 0x11A +#define FLAG_0x11B 0x11B +#define FLAG_0x11C 0x11C +#define FLAG_0x11D 0x11D +#define FLAG_0x11E 0x11E +#define FLAG_0x11F 0x11F +#define FLAG_0x120 0x120 +#define FLAG_0x121 0x121 +#define FLAG_0x122 0x122 +#define FLAG_0x123 0x123 +#define FLAG_0x124 0x124 +#define FLAG_0x125 0x125 +#define FLAG_0x126 0x126 +#define FLAG_0x127 0x127 +#define FLAG_0x128 0x128 +#define FLAG_0x129 0x129 +#define FLAG_0x12A 0x12A +#define FLAG_0x12B 0x12B +#define FLAG_0x12C 0x12C +#define FLAG_0x12D 0x12D +#define FLAG_0x12E 0x12E +#define FLAG_HAS_MATCH_CALL 0x12F +#define FLAG_0x130 0x130 +#define FLAG_0x131 0x131 +#define FLAG_0x132 0x132 +#define FLAG_0x133 0x133 +#define FLAG_0x134 0x134 +#define FLAG_0x135 0x135 +#define FLAG_0x136 0x136 +#define FLAG_0x137 0x137 +#define FLAG_0x138 0x138 +#define FLAG_0x139 0x139 +#define FLAG_0x13A 0x13A +#define FLAG_0x13B 0x13B +#define FLAG_0x13C 0x13C +#define FLAG_0x13D 0x13D +#define FLAG_0x13E 0x13E +#define FLAG_0x13F 0x13F +#define FLAG_0x140 0x140 +#define FLAG_0x141 0x141 +#define FLAG_0x142 0x142 +#define FLAG_0x143 0x143 +#define FLAG_0x144 0x144 +#define FLAG_0x145 0x145 +#define FLAG_0x146 0x146 +#define FLAG_0x147 0x147 +#define FLAG_0x148 0x148 +#define FLAG_0x149 0x149 +#define FLAG_0x14A 0x14A +#define FLAG_0x14B 0x14B +#define FLAG_0x14C 0x14C +#define FLAG_0x14D 0x14D +#define FLAG_0x14E 0x14E +#define FLAG_0x14F 0x14F +#define FLAG_0x150 0x150 +#define FLAG_0x151 0x151 +#define FLAG_0x152 0x152 +#define FLAG_0x153 0x153 +#define FLAG_0x154 0x154 +#define FLAG_0x155 0x155 +#define FLAG_0x156 0x156 +#define FLAG_0x157 0x157 +#define FLAG_0x158 0x158 +#define FLAG_0x159 0x159 +#define FLAG_0x15A 0x15A +#define FLAG_0x15B 0x15B +#define FLAG_MATCH_CALL_REGISTERED 0x15C +#define FLAG_0x15D 0x15D +#define FLAG_0x15E 0x15E +#define FLAG_0x15F 0x15F +#define FLAG_0x160 0x160 +#define FLAG_0x161 0x161 +#define FLAG_0x162 0x162 +#define FLAG_0x163 0x163 +#define FLAG_0x164 0x164 +#define FLAG_0x165 0x165 +#define FLAG_0x166 0x166 +#define FLAG_0x167 0x167 +#define FLAG_0x168 0x168 +#define FLAG_0x169 0x169 +#define FLAG_0x16A 0x16A +#define FLAG_0x16B 0x16B +#define FLAG_0x16C 0x16C +#define FLAG_0x16D 0x16D +#define FLAG_0x16E 0x16E +#define FLAG_0x16F 0x16F +#define FLAG_0x170 0x170 +#define FLAG_0x171 0x171 +#define FLAG_0x172 0x172 +#define FLAG_0x173 0x173 +#define FLAG_0x174 0x174 +#define FLAG_0x175 0x175 +#define FLAG_0x176 0x176 +#define FLAG_0x177 0x177 +#define FLAG_0x178 0x178 +#define FLAG_0x179 0x179 +#define FLAG_0x17A 0x17A +#define FLAG_0x17B 0x17B +#define FLAG_0x17C 0x17C +#define FLAG_0x17D 0x17D +#define FLAG_0x17E 0x17E +#define FLAG_0x17F 0x17F +#define FLAG_0x180 0x180 +#define FLAG_0x181 0x181 +#define FLAG_0x182 0x182 +#define FLAG_0x183 0x183 +#define FLAG_0x184 0x184 +#define FLAG_0x185 0x185 +#define FLAG_0x186 0x186 +#define FLAG_0x187 0x187 +#define FLAG_0x188 0x188 +#define FLAG_0x189 0x189 +#define FLAG_0x18A 0x18A +#define FLAG_0x18B 0x18B +#define FLAG_0x18C 0x18C +#define FLAG_0x18D 0x18D +#define FLAG_0x18E 0x18E +#define FLAG_0x18F 0x18F +#define FLAG_0x190 0x190 +#define FLAG_0x191 0x191 +#define FLAG_0x192 0x192 +#define FLAG_0x193 0x193 +#define FLAG_0x194 0x194 +#define FLAG_0x195 0x195 +#define FLAG_0x196 0x196 +#define FLAG_0x197 0x197 +#define FLAG_0x198 0x198 +#define FLAG_0x199 0x199 +#define FLAG_0x19A 0x19A +#define FLAG_0x19B 0x19B +#define FLAG_0x19C 0x19C +#define FLAG_0x19D 0x19D +#define FLAG_0x19E 0x19E +#define FLAG_0x19F 0x19F +#define FLAG_0x1A0 0x1A0 +#define FLAG_0x1A1 0x1A1 +#define FLAG_0x1A2 0x1A2 +#define FLAG_0x1A3 0x1A3 +#define FLAG_0x1A4 0x1A4 +#define FLAG_0x1A5 0x1A5 +#define FLAG_0x1A6 0x1A6 +#define FLAG_0x1A7 0x1A7 +#define FLAG_0x1A8 0x1A8 +#define FLAG_0x1A9 0x1A9 +#define FLAG_0x1AA 0x1AA +#define FLAG_0x1AB 0x1AB +#define FLAG_0x1AC 0x1AC +#define FLAG_0x1AD 0x1AD +#define FLAG_0x1AE 0x1AE +#define FLAG_0x1AF 0x1AF +#define FLAG_0x1B0 0x1B0 +#define FLAG_0x1B1 0x1B1 +#define FLAG_0x1B2 0x1B2 +#define FLAG_0x1B3 0x1B3 +#define FLAG_0x1B4 0x1B4 +#define FLAG_0x1B5 0x1B5 +#define FLAG_0x1B6 0x1B6 +#define FLAG_0x1B7 0x1B7 +#define FLAG_0x1B8 0x1B8 +#define FLAG_0x1B9 0x1B9 +#define FLAG_0x1BA 0x1BA +#define FLAG_0x1BB 0x1BB +#define FLAG_0x1BC 0x1BC +#define FLAG_0x1BD 0x1BD +#define FLAG_0x1BE 0x1BE +#define FLAG_0x1BF 0x1BF +#define FLAG_0x1C0 0x1C0 +#define FLAG_0x1C1 0x1C1 +#define FLAG_0x1C2 0x1C2 +#define FLAG_0x1C3 0x1C3 +#define FLAG_0x1C4 0x1C4 +#define FLAG_0x1C5 0x1C5 +#define FLAG_0x1C6 0x1C6 +#define FLAG_0x1C7 0x1C7 +#define FLAG_0x1C8 0x1C8 +#define FLAG_0x1C9 0x1C9 +#define FLAG_0x1CA 0x1CA +#define FLAG_0x1CB 0x1CB +#define FLAG_0x1CC 0x1CC +#define FLAG_0x1CD 0x1CD +#define FLAG_0x1CE 0x1CE +#define FLAG_0x1CF 0x1CF +#define FLAG_0x1D0 0x1D0 +#define FLAG_0x1D1 0x1D1 +#define FLAG_0x1D2 0x1D2 +#define FLAG_0x1D3 0x1D3 +#define FLAG_0x1D4 0x1D4 +#define FLAG_0x1D5 0x1D5 +#define FLAG_0x1D6 0x1D6 +#define FLAG_0x1D7 0x1D7 +#define FLAG_0x1D8 0x1D8 +#define FLAG_0x1D9 0x1D9 +#define FLAG_0x1DA 0x1DA +#define FLAG_0x1DB 0x1DB +#define FLAG_0x1DC 0x1DC +#define FLAG_0x1DD 0x1DD +#define FLAG_0x1DE 0x1DE +#define FLAG_0x1DF 0x1DF +#define FLAG_0x1E0 0x1E0 +#define FLAG_0x1E1 0x1E1 +#define FLAG_0x1E2 0x1E2 +#define FLAG_0x1E3 0x1E3 +#define FLAG_MYSTERY_EVENT_DONE 0x1E4 +#define FLAG_0x1E5 0x1E5 +#define FLAG_0x1E6 0x1E6 +#define FLAG_0x1E7 0x1E7 +#define FLAG_0x1E8 0x1E8 +#define FLAG_0x1E9 0x1E9 +#define FLAG_0x1EA 0x1EA +#define FLAG_0x1EB 0x1EB +#define FLAG_0x1EC 0x1EC +#define FLAG_0x1ED 0x1ED +#define FLAG_0x1EE 0x1EE +#define FLAG_0x1EF 0x1EF +#define FLAG_0x1F0 0x1F0 +#define FLAG_0x1F1 0x1F1 +#define FLAG_0x1F2 0x1F2 +#define FLAG_0x1F3 0x1F3 +#define FLAG_0x1F4 0x1F4 +#define FLAG_0x1F5 0x1F5 +#define FLAG_0x1F6 0x1F6 +#define FLAG_0x1F7 0x1F7 +#define FLAG_0x1F8 0x1F8 +#define FLAG_0x1F9 0x1F9 +#define FLAG_0x1FA 0x1FA +#define FLAG_0x1FB 0x1FB +#define FLAG_0x1FC 0x1FC +#define FLAG_0x1FD 0x1FD +#define FLAG_0x1FE 0x1FE +#define FLAG_0x1FF 0x1FF +#define FLAG_0x200 0x200 +#define FLAG_0x201 0x201 +#define FLAG_0x202 0x202 +#define FLAG_0x203 0x203 +#define FLAG_0x204 0x204 +#define FLAG_0x205 0x205 +#define FLAG_0x206 0x206 +#define FLAG_0x207 0x207 +#define FLAG_0x208 0x208 +#define FLAG_0x209 0x209 +#define FLAG_0x20A 0x20A +#define FLAG_0x20B 0x20B +#define FLAG_0x20C 0x20C +#define FLAG_0x20D 0x20D +#define FLAG_0x20E 0x20E +#define FLAG_0x20F 0x20F +#define FLAG_0x210 0x210 +#define FLAG_0x211 0x211 +#define FLAG_0x212 0x212 +#define FLAG_0x213 0x213 +#define FLAG_0x214 0x214 +#define FLAG_0x215 0x215 +#define FLAG_0x216 0x216 +#define FLAG_0x217 0x217 +#define FLAG_0x218 0x218 +#define FLAG_0x219 0x219 +#define FLAG_0x21A 0x21A +#define FLAG_0x21B 0x21B +#define FLAG_0x21C 0x21C +#define FLAG_0x21D 0x21D +#define FLAG_0x21E 0x21E +#define FLAG_0x21F 0x21F +#define FLAG_0x220 0x220 +#define FLAG_0x221 0x221 +#define FLAG_0x222 0x222 +#define FLAG_0x223 0x223 +#define FLAG_0x224 0x224 +#define FLAG_0x225 0x225 +#define FLAG_0x226 0x226 +#define FLAG_0x227 0x227 +#define FLAG_0x228 0x228 +#define FLAG_0x229 0x229 +#define FLAG_0x22A 0x22A +#define FLAG_0x22B 0x22B +#define FLAG_0x22C 0x22C +#define FLAG_0x22D 0x22D +#define FLAG_0x22E 0x22E +#define FLAG_0x22F 0x22F +#define FLAG_0x230 0x230 +#define FLAG_0x231 0x231 +#define FLAG_0x232 0x232 +#define FLAG_0x233 0x233 +#define FLAG_0x234 0x234 +#define FLAG_0x235 0x235 +#define FLAG_0x236 0x236 +#define FLAG_0x237 0x237 +#define FLAG_0x238 0x238 +#define FLAG_0x239 0x239 +#define FLAG_0x23A 0x23A +#define FLAG_0x23B 0x23B +#define FLAG_0x23C 0x23C +#define FLAG_0x23D 0x23D +#define FLAG_0x23E 0x23E +#define FLAG_0x23F 0x23F +#define FLAG_0x240 0x240 +#define FLAG_0x241 0x241 +#define FLAG_0x242 0x242 +#define FLAG_0x243 0x243 +#define FLAG_0x244 0x244 +#define FLAG_0x245 0x245 +#define FLAG_0x246 0x246 +#define FLAG_0x247 0x247 +#define FLAG_0x248 0x248 +#define FLAG_0x249 0x249 +#define FLAG_0x24A 0x24A +#define FLAG_0x24B 0x24B +#define FLAG_0x24C 0x24C +#define FLAG_0x24D 0x24D +#define FLAG_0x24E 0x24E +#define FLAG_0x24F 0x24F +#define FLAG_0x250 0x250 +#define FLAG_0x251 0x251 +#define FLAG_0x252 0x252 +#define FLAG_0x253 0x253 +#define FLAG_0x254 0x254 +#define FLAG_0x255 0x255 +#define FLAG_0x256 0x256 +#define FLAG_0x257 0x257 +#define FLAG_0x258 0x258 +#define FLAG_0x259 0x259 +#define FLAG_0x25A 0x25A +#define FLAG_0x25B 0x25B +#define FLAG_0x25C 0x25C +#define FLAG_0x25D 0x25D +#define FLAG_0x25E 0x25E +#define FLAG_0x25F 0x25F +#define FLAG_0x260 0x260 +#define FLAG_0x261 0x261 +#define FLAG_0x262 0x262 +#define FLAG_0x263 0x263 +#define FLAG_0x264 0x264 +#define FLAG_0x265 0x265 +#define FLAG_0x266 0x266 +#define FLAG_0x267 0x267 +#define FLAG_0x268 0x268 +#define FLAG_0x269 0x269 +#define FLAG_0x26A 0x26A +#define FLAG_0x26B 0x26B +#define FLAG_0x26C 0x26C +#define FLAG_0x26D 0x26D +#define FLAG_0x26E 0x26E +#define FLAG_0x26F 0x26F +#define FLAG_0x270 0x270 +#define FLAG_0x271 0x271 +#define FLAG_0x272 0x272 +#define FLAG_0x273 0x273 +#define FLAG_0x274 0x274 +#define FLAG_0x275 0x275 +#define FLAG_0x276 0x276 +#define FLAG_0x277 0x277 +#define FLAG_0x278 0x278 +#define FLAG_0x279 0x279 +#define FLAG_0x27A 0x27A +#define FLAG_0x27B 0x27B +#define FLAG_0x27C 0x27C +#define FLAG_0x27D 0x27D +#define FLAG_0x27E 0x27E +#define FLAG_0x27F 0x27F +#define FLAG_0x280 0x280 +#define FLAG_0x281 0x281 +#define FLAG_0x282 0x282 +#define FLAG_0x283 0x283 +#define FLAG_0x284 0x284 +#define FLAG_0x285 0x285 +#define FLAG_0x286 0x286 +#define FLAG_0x287 0x287 +#define FLAG_0x288 0x288 +#define FLAG_0x289 0x289 +#define FLAG_0x28A 0x28A +#define FLAG_0x28B 0x28B +#define FLAG_0x28C 0x28C +#define FLAG_0x28D 0x28D +#define FLAG_0x28E 0x28E +#define FLAG_0x28F 0x28F +#define FLAG_0x290 0x290 +#define FLAG_0x291 0x291 +#define FLAG_0x292 0x292 +#define FLAG_0x293 0x293 +#define FLAG_0x294 0x294 +#define FLAG_0x295 0x295 +#define FLAG_0x296 0x296 +#define FLAG_0x297 0x297 +#define FLAG_0x298 0x298 +#define FLAG_0x299 0x299 +#define FLAG_0x29A 0x29A +#define FLAG_0x29B 0x29B +#define FLAG_0x29C 0x29C +#define FLAG_0x29D 0x29D +#define FLAG_0x29E 0x29E +#define FLAG_0x29F 0x29F +#define FLAG_0x2A0 0x2A0 +#define FLAG_0x2A1 0x2A1 +#define FLAG_0x2A2 0x2A2 +#define FLAG_0x2A3 0x2A3 +#define FLAG_0x2A4 0x2A4 +#define FLAG_0x2A5 0x2A5 +#define FLAG_0x2A6 0x2A6 +#define FLAG_0x2A7 0x2A7 +#define FLAG_0x2A8 0x2A8 +#define FLAG_0x2A9 0x2A9 +#define FLAG_0x2AA 0x2AA +#define FLAG_0x2AB 0x2AB +#define FLAG_0x2AC 0x2AC +#define FLAG_0x2AD 0x2AD +#define FLAG_0x2AE 0x2AE +#define FLAG_0x2AF 0x2AF +#define FLAG_0x2B0 0x2B0 +#define FLAG_0x2B1 0x2B1 +#define FLAG_0x2B2 0x2B2 +#define FLAG_0x2B3 0x2B3 +#define FLAG_0x2B4 0x2B4 +#define FLAG_0x2B5 0x2B5 +#define FLAG_0x2B6 0x2B6 +#define FLAG_0x2B7 0x2B7 +#define FLAG_0x2B8 0x2B8 +#define FLAG_0x2B9 0x2B9 +#define FLAG_0x2BA 0x2BA +#define FLAG_0x2BB 0x2BB +#define FLAG_0x2BC 0x2BC +#define FLAG_0x2BD 0x2BD +#define FLAG_0x2BE 0x2BE +#define FLAG_0x2BF 0x2BF +#define FLAG_0x2C0 0x2C0 +#define FLAG_0x2C1 0x2C1 +#define FLAG_0x2C2 0x2C2 +#define FLAG_0x2C3 0x2C3 +#define FLAG_0x2C4 0x2C4 +#define FLAG_0x2C5 0x2C5 +#define FLAG_0x2C6 0x2C6 +#define FLAG_0x2C7 0x2C7 +#define FLAG_0x2C8 0x2C8 +#define FLAG_0x2C9 0x2C9 +#define FLAG_0x2CA 0x2CA +#define FLAG_0x2CB 0x2CB +#define FLAG_0x2CC 0x2CC +#define FLAG_0x2CD 0x2CD +#define FLAG_0x2CE 0x2CE +#define FLAG_0x2CF 0x2CF +#define FLAG_0x2D0 0x2D0 +#define FLAG_0x2D1 0x2D1 +#define FLAG_0x2D2 0x2D2 +#define FLAG_0x2D3 0x2D3 +#define FLAG_0x2D4 0x2D4 +#define FLAG_0x2D5 0x2D5 +#define FLAG_0x2D6 0x2D6 +#define FLAG_0x2D7 0x2D7 +#define FLAG_0x2D8 0x2D8 +#define FLAG_0x2D9 0x2D9 +#define FLAG_0x2DA 0x2DA +#define FLAG_0x2DB 0x2DB +#define FLAG_0x2DC 0x2DC +#define FLAG_0x2DD 0x2DD +#define FLAG_0x2DE 0x2DE +#define FLAG_0x2DF 0x2DF +#define FLAG_0x2E0 0x2E0 +#define FLAG_0x2E1 0x2E1 +#define FLAG_0x2E2 0x2E2 +#define FLAG_0x2E3 0x2E3 +#define FLAG_0x2E4 0x2E4 +#define FLAG_0x2E5 0x2E5 +#define FLAG_0x2E6 0x2E6 +#define FLAG_0x2E7 0x2E7 +#define FLAG_0x2E8 0x2E8 +#define FLAG_0x2E9 0x2E9 +#define FLAG_0x2EA 0x2EA +#define FLAG_0x2EB 0x2EB +#define FLAG_0x2EC 0x2EC +#define FLAG_0x2ED 0x2ED +#define FLAG_0x2EE 0x2EE +#define FLAG_0x2EF 0x2EF +#define FLAG_0x2F0 0x2F0 +#define FLAG_0x2F1 0x2F1 +#define FLAG_0x2F2 0x2F2 +#define FLAG_0x2F3 0x2F3 +#define FLAG_0x2F4 0x2F4 +#define FLAG_0x2F5 0x2F5 +#define FLAG_0x2F6 0x2F6 +#define FLAG_0x2F7 0x2F7 +#define FLAG_0x2F8 0x2F8 +#define FLAG_0x2F9 0x2F9 +#define FLAG_0x2FA 0x2FA +#define FLAG_0x2FB 0x2FB +#define FLAG_0x2FC 0x2FC +#define FLAG_0x2FD 0x2FD +#define FLAG_0x2FE 0x2FE +#define FLAG_0x2FF 0x2FF +#define FLAG_0x300 0x300 +#define FLAG_0x301 0x301 +#define FLAG_0x302 0x302 +#define FLAG_0x303 0x303 +#define FLAG_0x304 0x304 +#define FLAG_0x305 0x305 +#define FLAG_0x306 0x306 +#define FLAG_0x307 0x307 +#define FLAG_0x308 0x308 +#define FLAG_0x309 0x309 +#define FLAG_0x30A 0x30A +#define FLAG_0x30B 0x30B +#define FLAG_0x30C 0x30C +#define FLAG_0x30D 0x30D +#define FLAG_0x30E 0x30E +#define FLAG_0x30F 0x30F +#define FLAG_0x310 0x310 +#define FLAG_0x311 0x311 +#define FLAG_0x312 0x312 +#define FLAG_0x313 0x313 +#define FLAG_0x314 0x314 +#define FLAG_0x315 0x315 +#define FLAG_0x316 0x316 +#define FLAG_0x317 0x317 +#define FLAG_0x318 0x318 +#define FLAG_0x319 0x319 +#define FLAG_0x31A 0x31A +#define FLAG_0x31B 0x31B +#define FLAG_0x31C 0x31C +#define FLAG_0x31D 0x31D +#define FLAG_0x31E 0x31E +#define FLAG_0x31F 0x31F +#define FLAG_0x320 0x320 +#define FLAG_0x321 0x321 +#define FLAG_0x322 0x322 +#define FLAG_0x323 0x323 +#define FLAG_0x324 0x324 +#define FLAG_0x325 0x325 +#define FLAG_0x326 0x326 +#define FLAG_0x327 0x327 +#define FLAG_0x328 0x328 +#define FLAG_0x329 0x329 +#define FLAG_0x32A 0x32A +#define FLAG_0x32B 0x32B +#define FLAG_0x32C 0x32C +#define FLAG_0x32D 0x32D +#define FLAG_0x32E 0x32E +#define FLAG_0x32F 0x32F +#define FLAG_0x330 0x330 +#define FLAG_0x331 0x331 +#define FLAG_0x332 0x332 +#define FLAG_0x333 0x333 +#define FLAG_0x334 0x334 +#define FLAG_0x335 0x335 +#define FLAG_0x336 0x336 +#define FLAG_0x337 0x337 +#define FLAG_0x338 0x338 +#define FLAG_0x339 0x339 +#define FLAG_0x33A 0x33A +#define FLAG_0x33B 0x33B +#define FLAG_0x33C 0x33C +#define FLAG_0x33D 0x33D +#define FLAG_0x33E 0x33E +#define FLAG_0x33F 0x33F +#define FLAG_0x340 0x340 +#define FLAG_0x341 0x341 +#define FLAG_0x342 0x342 +#define FLAG_0x343 0x343 +#define FLAG_0x344 0x344 +#define FLAG_0x345 0x345 +#define FLAG_0x346 0x346 +#define FLAG_0x347 0x347 +#define FLAG_0x348 0x348 +#define FLAG_0x349 0x349 +#define FLAG_0x34A 0x34A +#define FLAG_0x34B 0x34B +#define FLAG_0x34C 0x34C +#define FLAG_0x34D 0x34D +#define FLAG_0x34E 0x34E +#define FLAG_0x34F 0x34F +#define FLAG_0x350 0x350 +#define FLAG_0x351 0x351 +#define FLAG_0x352 0x352 +#define FLAG_0x353 0x353 +#define FLAG_0x354 0x354 +#define FLAG_0x355 0x355 +#define FLAG_0x356 0x356 +#define FLAG_0x357 0x357 +#define FLAG_0x358 0x358 +#define FLAG_0x359 0x359 +#define FLAG_0x35A 0x35A +#define FLAG_0x35B 0x35B +#define FLAG_0x35C 0x35C +#define FLAG_0x35D 0x35D +#define FLAG_0x35E 0x35E +#define FLAG_0x35F 0x35F +#define FLAG_0x360 0x360 +#define FLAG_0x361 0x361 +#define FLAG_0x362 0x362 +#define FLAG_0x363 0x363 +#define FLAG_0x364 0x364 +#define FLAG_0x365 0x365 +#define FLAG_0x366 0x366 +#define FLAG_0x367 0x367 +#define FLAG_0x368 0x368 +#define FLAG_0x369 0x369 +#define FLAG_0x36A 0x36A +#define FLAG_0x36B 0x36B +#define FLAG_0x36C 0x36C +#define FLAG_0x36D 0x36D +#define FLAG_0x36E 0x36E +#define FLAG_0x36F 0x36F +#define FLAG_0x370 0x370 +#define FLAG_0x371 0x371 +#define FLAG_0x372 0x372 +#define FLAG_0x373 0x373 +#define FLAG_0x374 0x374 +#define FLAG_0x375 0x375 +#define FLAG_0x376 0x376 +#define FLAG_0x377 0x377 +#define FLAG_0x378 0x378 +#define FLAG_0x379 0x379 +#define FLAG_0x37A 0x37A +#define FLAG_0x37B 0x37B +#define FLAG_0x37C 0x37C +#define FLAG_0x37D 0x37D +#define FLAG_0x37E 0x37E +#define FLAG_0x37F 0x37F +#define FLAG_0x380 0x380 +#define FLAG_0x381 0x381 +#define FLAG_0x382 0x382 +#define FLAG_0x383 0x383 +#define FLAG_0x384 0x384 +#define FLAG_0x385 0x385 +#define FLAG_0x386 0x386 +#define FLAG_0x387 0x387 +#define FLAG_0x388 0x388 +#define FLAG_0x389 0x389 +#define FLAG_0x38A 0x38A +#define FLAG_0x38B 0x38B +#define FLAG_0x38C 0x38C +#define FLAG_0x38D 0x38D +#define FLAG_0x38E 0x38E +#define FLAG_0x38F 0x38F +#define FLAG_0x390 0x390 +#define FLAG_0x391 0x391 +#define FLAG_0x392 0x392 +#define FLAG_0x393 0x393 +#define FLAG_0x394 0x394 +#define FLAG_0x395 0x395 +#define FLAG_0x396 0x396 +#define FLAG_0x397 0x397 +#define FLAG_0x398 0x398 +#define FLAG_0x399 0x399 +#define FLAG_0x39A 0x39A +#define FLAG_0x39B 0x39B +#define FLAG_0x39C 0x39C +#define FLAG_0x39D 0x39D +#define FLAG_0x39E 0x39E +#define FLAG_0x39F 0x39F +#define FLAG_0x3A0 0x3A0 +#define FLAG_0x3A1 0x3A1 +#define FLAG_0x3A2 0x3A2 +#define FLAG_0x3A3 0x3A3 +#define FLAG_0x3A4 0x3A4 +#define FLAG_0x3A5 0x3A5 +#define FLAG_0x3A6 0x3A6 +#define FLAG_0x3A7 0x3A7 +#define FLAG_0x3A8 0x3A8 +#define FLAG_0x3A9 0x3A9 +#define FLAG_0x3AA 0x3AA +#define FLAG_0x3AB 0x3AB +#define FLAG_0x3AC 0x3AC +#define FLAG_0x3AD 0x3AD +#define FLAG_0x3AE 0x3AE +#define FLAG_0x3AF 0x3AF +#define FLAG_0x3B0 0x3B0 +#define FLAG_0x3B1 0x3B1 +#define FLAG_0x3B2 0x3B2 +#define FLAG_0x3B3 0x3B3 +#define FLAG_0x3B4 0x3B4 +#define FLAG_0x3B5 0x3B5 +#define FLAG_0x3B6 0x3B6 +#define FLAG_0x3B7 0x3B7 +#define FLAG_0x3B8 0x3B8 +#define FLAG_0x3B9 0x3B9 +#define FLAG_0x3BA 0x3BA +#define FLAG_0x3BB 0x3BB +#define FLAG_0x3BC 0x3BC +#define FLAG_0x3BD 0x3BD +#define FLAG_0x3BE 0x3BE +#define FLAG_0x3BF 0x3BF +#define FLAG_0x3C0 0x3C0 +#define FLAG_0x3C1 0x3C1 +#define FLAG_0x3C2 0x3C2 +#define FLAG_0x3C3 0x3C3 +#define FLAG_0x3C4 0x3C4 +#define FLAG_0x3C5 0x3C5 +#define FLAG_0x3C6 0x3C6 +#define FLAG_0x3C7 0x3C7 +#define FLAG_0x3C8 0x3C8 +#define FLAG_0x3C9 0x3C9 +#define FLAG_0x3CA 0x3CA +#define FLAG_0x3CB 0x3CB +#define FLAG_0x3CC 0x3CC +#define FLAG_0x3CD 0x3CD +#define FLAG_0x3CE 0x3CE +#define FLAG_0x3CF 0x3CF +#define FLAG_0x3D0 0x3D0 +#define FLAG_0x3D1 0x3D1 +#define FLAG_0x3D2 0x3D2 +#define FLAG_0x3D3 0x3D3 +#define FLAG_0x3D4 0x3D4 +#define FLAG_0x3D5 0x3D5 +#define FLAG_0x3D6 0x3D6 +#define FLAG_0x3D7 0x3D7 +#define FLAG_0x3D8 0x3D8 +#define FLAG_0x3D9 0x3D9 +#define FLAG_0x3DA 0x3DA +#define FLAG_0x3DB 0x3DB +#define FLAG_0x3DC 0x3DC +#define FLAG_0x3DD 0x3DD +#define FLAG_0x3DE 0x3DE +#define FLAG_0x3DF 0x3DF +#define FLAG_0x3E0 0x3E0 +#define FLAG_0x3E1 0x3E1 +#define FLAG_0x3E2 0x3E2 +#define FLAG_0x3E3 0x3E3 +#define FLAG_0x3E4 0x3E4 +#define FLAG_0x3E5 0x3E5 +#define FLAG_0x3E6 0x3E6 +#define FLAG_0x3E7 0x3E7 +#define FLAG_0x3E8 0x3E8 +#define FLAG_0x3E9 0x3E9 +#define FLAG_0x3EA 0x3EA +#define FLAG_0x3EB 0x3EB +#define FLAG_0x3EC 0x3EC +#define FLAG_0x3ED 0x3ED +#define FLAG_0x3EE 0x3EE +#define FLAG_0x3EF 0x3EF +#define FLAG_0x3F0 0x3F0 +#define FLAG_0x3F1 0x3F1 +#define FLAG_0x3F2 0x3F2 +#define FLAG_0x3F3 0x3F3 +#define FLAG_0x3F4 0x3F4 +#define FLAG_0x3F5 0x3F5 +#define FLAG_0x3F6 0x3F6 +#define FLAG_0x3F7 0x3F7 +#define FLAG_0x3F8 0x3F8 +#define FLAG_0x3F9 0x3F9 +#define FLAG_0x3FA 0x3FA +#define FLAG_0x3FB 0x3FB +#define FLAG_0x3FC 0x3FC +#define FLAG_0x3FD 0x3FD +#define FLAG_0x3FE 0x3FE +#define FLAG_0x3FF 0x3FF +#define FLAG_0x400 0x400 +#define FLAG_0x401 0x401 +#define FLAG_0x402 0x402 +#define FLAG_0x403 0x403 +#define FLAG_0x404 0x404 +#define FLAG_0x405 0x405 +#define FLAG_0x406 0x406 +#define FLAG_0x407 0x407 +#define FLAG_0x408 0x408 +#define FLAG_0x409 0x409 +#define FLAG_0x40A 0x40A +#define FLAG_0x40B 0x40B +#define FLAG_0x40C 0x40C +#define FLAG_0x40D 0x40D +#define FLAG_0x40E 0x40E +#define FLAG_0x40F 0x40F +#define FLAG_0x410 0x410 +#define FLAG_0x411 0x411 +#define FLAG_0x412 0x412 +#define FLAG_0x413 0x413 +#define FLAG_0x414 0x414 +#define FLAG_0x415 0x415 +#define FLAG_0x416 0x416 +#define FLAG_0x417 0x417 +#define FLAG_0x418 0x418 +#define FLAG_0x419 0x419 +#define FLAG_0x41A 0x41A +#define FLAG_0x41B 0x41B +#define FLAG_0x41C 0x41C +#define FLAG_0x41D 0x41D +#define FLAG_0x41E 0x41E +#define FLAG_0x41F 0x41F +#define FLAG_0x420 0x420 +#define FLAG_0x421 0x421 +#define FLAG_0x422 0x422 +#define FLAG_0x423 0x423 +#define FLAG_0x424 0x424 +#define FLAG_0x425 0x425 +#define FLAG_0x426 0x426 +#define FLAG_0x427 0x427 +#define FLAG_0x428 0x428 +#define FLAG_0x429 0x429 +#define FLAG_0x42A 0x42A +#define FLAG_0x42B 0x42B +#define FLAG_0x42C 0x42C +#define FLAG_0x42D 0x42D +#define FLAG_0x42E 0x42E +#define FLAG_0x42F 0x42F +#define FLAG_0x430 0x430 +#define FLAG_0x431 0x431 +#define FLAG_0x432 0x432 +#define FLAG_0x433 0x433 +#define FLAG_0x434 0x434 +#define FLAG_0x435 0x435 +#define FLAG_0x436 0x436 +#define FLAG_0x437 0x437 +#define FLAG_0x438 0x438 +#define FLAG_0x439 0x439 +#define FLAG_0x43A 0x43A +#define FLAG_0x43B 0x43B +#define FLAG_0x43C 0x43C +#define FLAG_0x43D 0x43D +#define FLAG_0x43E 0x43E +#define FLAG_0x43F 0x43F +#define FLAG_0x440 0x440 +#define FLAG_0x441 0x441 +#define FLAG_0x442 0x442 +#define FLAG_0x443 0x443 +#define FLAG_0x444 0x444 +#define FLAG_0x445 0x445 +#define FLAG_0x446 0x446 +#define FLAG_0x447 0x447 +#define FLAG_0x448 0x448 +#define FLAG_0x449 0x449 +#define FLAG_0x44A 0x44A +#define FLAG_0x44B 0x44B +#define FLAG_0x44C 0x44C +#define FLAG_0x44D 0x44D +#define FLAG_0x44E 0x44E +#define FLAG_0x44F 0x44F +#define FLAG_0x450 0x450 +#define FLAG_0x451 0x451 +#define FLAG_0x452 0x452 +#define FLAG_0x453 0x453 +#define FLAG_0x454 0x454 +#define FLAG_0x455 0x455 +#define FLAG_0x456 0x456 +#define FLAG_0x457 0x457 +#define FLAG_0x458 0x458 +#define FLAG_0x459 0x459 +#define FLAG_0x45A 0x45A +#define FLAG_0x45B 0x45B +#define FLAG_0x45C 0x45C +#define FLAG_0x45D 0x45D +#define FLAG_0x45E 0x45E +#define FLAG_0x45F 0x45F +#define FLAG_0x460 0x460 +#define FLAG_0x461 0x461 +#define FLAG_0x462 0x462 +#define FLAG_0x463 0x463 +#define FLAG_0x464 0x464 +#define FLAG_0x465 0x465 +#define FLAG_0x466 0x466 +#define FLAG_0x467 0x467 +#define FLAG_0x468 0x468 +#define FLAG_0x469 0x469 +#define FLAG_0x46A 0x46A +#define FLAG_0x46B 0x46B +#define FLAG_0x46C 0x46C +#define FLAG_0x46D 0x46D +#define FLAG_0x46E 0x46E +#define FLAG_0x46F 0x46F +#define FLAG_0x470 0x470 +#define FLAG_0x471 0x471 +#define FLAG_0x472 0x472 +#define FLAG_0x473 0x473 +#define FLAG_0x474 0x474 +#define FLAG_0x475 0x475 +#define FLAG_0x476 0x476 +#define FLAG_0x477 0x477 +#define FLAG_0x478 0x478 +#define FLAG_0x479 0x479 +#define FLAG_0x47A 0x47A +#define FLAG_0x47B 0x47B +#define FLAG_0x47C 0x47C +#define FLAG_0x47D 0x47D +#define FLAG_0x47E 0x47E +#define FLAG_0x47F 0x47F +#define FLAG_0x480 0x480 +#define FLAG_0x481 0x481 +#define FLAG_0x482 0x482 +#define FLAG_0x483 0x483 +#define FLAG_0x484 0x484 +#define FLAG_0x485 0x485 +#define FLAG_0x486 0x486 +#define FLAG_0x487 0x487 +#define FLAG_0x488 0x488 +#define FLAG_0x489 0x489 +#define FLAG_0x48A 0x48A +#define FLAG_0x48B 0x48B +#define FLAG_0x48C 0x48C +#define FLAG_0x48D 0x48D +#define FLAG_0x48E 0x48E +#define FLAG_0x48F 0x48F +#define FLAG_0x490 0x490 +#define FLAG_0x491 0x491 +#define FLAG_0x492 0x492 +#define FLAG_0x493 0x493 +#define FLAG_0x494 0x494 +#define FLAG_0x495 0x495 +#define FLAG_0x496 0x496 +#define FLAG_0x497 0x497 +#define FLAG_0x498 0x498 +#define FLAG_0x499 0x499 +#define FLAG_0x49A 0x49A +#define FLAG_0x49B 0x49B +#define FLAG_0x49C 0x49C +#define FLAG_0x49D 0x49D +#define FLAG_0x49E 0x49E +#define FLAG_0x49F 0x49F +#define FLAG_0x4A0 0x4A0 +#define FLAG_0x4A1 0x4A1 +#define FLAG_0x4A2 0x4A2 +#define FLAG_0x4A3 0x4A3 +#define FLAG_0x4A4 0x4A4 +#define FLAG_0x4A5 0x4A5 +#define FLAG_0x4A6 0x4A6 +#define FLAG_0x4A7 0x4A7 +#define FLAG_0x4A8 0x4A8 +#define FLAG_0x4A9 0x4A9 +#define FLAG_0x4AA 0x4AA +#define FLAG_0x4AB 0x4AB +#define FLAG_0x4AC 0x4AC +#define FLAG_0x4AD 0x4AD +#define FLAG_0x4AE 0x4AE +#define FLAG_0x4AF 0x4AF +#define FLAG_0x4B0 0x4B0 +#define FLAG_0x4B1 0x4B1 +#define FLAG_0x4B2 0x4B2 +#define FLAG_0x4B3 0x4B3 +#define FLAG_0x4B4 0x4B4 +#define FLAG_0x4B5 0x4B5 +#define FLAG_0x4B6 0x4B6 +#define FLAG_0x4B7 0x4B7 +#define FLAG_0x4B8 0x4B8 +#define FLAG_0x4B9 0x4B9 +#define FLAG_0x4BA 0x4BA +#define FLAG_0x4BB 0x4BB +#define FLAG_0x4BC 0x4BC +#define FLAG_0x4BD 0x4BD +#define FLAG_0x4BE 0x4BE +#define FLAG_0x4BF 0x4BF +#define FLAG_0x4C0 0x4C0 +#define FLAG_0x4C1 0x4C1 +#define FLAG_0x4C2 0x4C2 +#define FLAG_0x4C3 0x4C3 +#define FLAG_0x4C4 0x4C4 +#define FLAG_0x4C5 0x4C5 +#define FLAG_0x4C6 0x4C6 +#define FLAG_0x4C7 0x4C7 +#define FLAG_0x4C8 0x4C8 +#define FLAG_0x4C9 0x4C9 +#define FLAG_0x4CA 0x4CA +#define FLAG_0x4CB 0x4CB +#define FLAG_0x4CC 0x4CC +#define FLAG_0x4CD 0x4CD +#define FLAG_0x4CE 0x4CE +#define FLAG_0x4CF 0x4CF +#define FLAG_0x4D0 0x4D0 +#define FLAG_0x4D1 0x4D1 +#define FLAG_0x4D2 0x4D2 +#define FLAG_0x4D3 0x4D3 +#define FLAG_0x4D4 0x4D4 +#define FLAG_0x4D5 0x4D5 +#define FLAG_0x4D6 0x4D6 +#define FLAG_0x4D7 0x4D7 +#define FLAG_0x4D8 0x4D8 +#define FLAG_0x4D9 0x4D9 +#define FLAG_0x4DA 0x4DA +#define FLAG_0x4DB 0x4DB +#define FLAG_0x4DC 0x4DC +#define FLAG_0x4DD 0x4DD +#define FLAG_0x4DE 0x4DE +#define FLAG_0x4DF 0x4DF +#define FLAG_0x4E0 0x4E0 +#define FLAG_0x4E1 0x4E1 +#define FLAG_0x4E2 0x4E2 +#define FLAG_0x4E3 0x4E3 +#define FLAG_0x4E4 0x4E4 +#define FLAG_0x4E5 0x4E5 +#define FLAG_0x4E6 0x4E6 +#define FLAG_0x4E7 0x4E7 +#define FLAG_0x4E8 0x4E8 +#define FLAG_0x4E9 0x4E9 +#define FLAG_0x4EA 0x4EA +#define FLAG_0x4EB 0x4EB +#define FLAG_0x4EC 0x4EC +#define FLAG_0x4ED 0x4ED +#define FLAG_0x4EE 0x4EE +#define FLAG_0x4EF 0x4EF +#define FLAG_0x4F0 0x4F0 +#define FLAG_0x4F1 0x4F1 +#define FLAG_0x4F2 0x4F2 +#define FLAG_0x4F3 0x4F3 +#define FLAG_0x4F4 0x4F4 +#define FLAG_0x4F5 0x4F5 +#define FLAG_0x4F6 0x4F6 +#define FLAG_0x4F7 0x4F7 +#define FLAG_0x4F8 0x4F8 +#define FLAG_0x4F9 0x4F9 +#define FLAG_0x4FA 0x4FA +#define FLAG_0x4FB 0x4FB +#define FLAG_0x4FC 0x4FC +#define FLAG_0x4FD 0x4FD +#define FLAG_0x4FE 0x4FE +#define FLAG_0x4FF 0x4FF + +#define FLAG_TRAINER_FLAG_START 0x500 + +#define TRAINERS_FLAG_NO 0x356 +#define SYSTEM_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860 + +// SYSTEM FLAGS + +// 0x860 +#define FLAG_SYS_POKEMON_GET (SYSTEM_FLAGS + 0) +#define FLAG_SYS_POKEDEX_GET (SYSTEM_FLAGS + 1) +#define FLAG_SYS_POKENAV_GET (SYSTEM_FLAGS + 2) +// third one appears unused +#define FLAG_SYS_GAME_CLEAR (SYSTEM_FLAGS + 4) +#define FLAG_SYS_CHAT_USED (SYSTEM_FLAGS + 5) +#define FLAG_SYS_HIPSTER_MEET (SYSTEM_FLAGS + 6) + +// badges +#define FLAG_BADGE01_GET (SYSTEM_FLAGS + 7) +#define FLAG_BADGE02_GET (SYSTEM_FLAGS + 8) +#define FLAG_BADGE03_GET (SYSTEM_FLAGS + 9) +#define FLAG_BADGE04_GET (SYSTEM_FLAGS + 0xA) +#define FLAG_BADGE05_GET (SYSTEM_FLAGS + 0xB) +#define FLAG_BADGE06_GET (SYSTEM_FLAGS + 0xC) +#define FLAG_BADGE07_GET (SYSTEM_FLAGS + 0xD) +#define FLAG_BADGE08_GET (SYSTEM_FLAGS + 0xE) + +// cities and towns +#define FLAG_VISITED_LITTLEROOT_TOWN (SYSTEM_FLAGS + 0xF) +#define FLAG_VISITED_OLDALE_TOWN (SYSTEM_FLAGS + 0x10) +#define FLAG_VISITED_DEWFORD_TOWN (SYSTEM_FLAGS + 0x11) +#define FLAG_VISITED_LAVARIDGE_TOWN (SYSTEM_FLAGS + 0x12) +#define FLAG_VISITED_FALLARBOR_TOWN (SYSTEM_FLAGS + 0x13) +#define FLAG_VISITED_VERDANTURF_TOWN (SYSTEM_FLAGS + 0x14) +#define FLAG_VISITED_PACIFIDLOG_TOWN (SYSTEM_FLAGS + 0x15) +#define FLAG_VISITED_PETALBURG_CITY (SYSTEM_FLAGS + 0x16) +#define FLAG_VISITED_SLATEPORT_CITY (SYSTEM_FLAGS + 0x17) +#define FLAG_VISITED_MAUVILLE_CITY (SYSTEM_FLAGS + 0x18) +#define FLAG_VISITED_RUSTBORO_CITY (SYSTEM_FLAGS + 0x19) +#define FLAG_VISITED_FORTREE_CITY (SYSTEM_FLAGS + 0x1A) +#define FLAG_VISITED_LILYCOVE_CITY (SYSTEM_FLAGS + 0x1B) +#define FLAG_VISITED_MOSSDEEP_CITY (SYSTEM_FLAGS + 0x1C) +#define FLAG_VISITED_SOOTOPOLIS_CITY (SYSTEM_FLAGS + 0x1D) +#define FLAG_VISITED_EVER_GRANDE_CITY (SYSTEM_FLAGS + 0x1E) + +#define FLAG_0x87F (SYSTEM_FLAGS + 0x1F) +#define FLAG_0x880 (SYSTEM_FLAGS + 0x20) +#define FLAG_0x881 (SYSTEM_FLAGS + 0x21) +#define FLAG_0x882 (SYSTEM_FLAGS + 0x22) +#define FLAG_0x883 (SYSTEM_FLAGS + 0x23) +#define FLAG_0x884 (SYSTEM_FLAGS + 0x24) +#define FLAG_0x885 (SYSTEM_FLAGS + 0x25) +#define FLAG_0x886 (SYSTEM_FLAGS + 0x26) +#define FLAG_0x887 (SYSTEM_FLAGS + 0x27) + +#define FLAG_SYS_USE_FLASH (SYSTEM_FLAGS + 0x28) +#define FLAG_SYS_USE_STRENGTH (SYSTEM_FLAGS + 0x29) +#define FLAG_SYS_WEATHER_CTRL (SYSTEM_FLAGS + 0x2A) +#define FLAG_SYS_CYCLING_ROAD (SYSTEM_FLAGS + 0x2B) +#define FLAG_SYS_SAFARI_MODE (SYSTEM_FLAGS + 0x2C) +#define FLAG_SYS_CRUISE_MODE (SYSTEM_FLAGS + 0x2D) + +#define FLAG_0x88E (SYSTEM_FLAGS + 0x2E) +#define FLAG_0x88F (SYSTEM_FLAGS + 0x2F) + +#define FLAG_SYS_TV_HOME (SYSTEM_FLAGS + 0x30) +#define FLAG_SYS_TV_WATCH (SYSTEM_FLAGS + 0x31) +#define FLAG_SYS_TV_START (SYSTEM_FLAGS + 0x32) +#define FLAG_SYS_POPWORD_INPUT (SYSTEM_FLAGS + 0x33) +#define FLAG_SYS_MIX_RECORD (SYSTEM_FLAGS + 0x34) +#define FLAG_SYS_CLOCK_SET (SYSTEM_FLAGS + 0x35) +#define FLAG_SYS_NATIONAL_DEX (SYSTEM_FLAGS + 0x36) +#define FLAG_SYS_CAVE_SHIP (SYSTEM_FLAGS + 0x37) +#define FLAG_SYS_CAVE_WONDER (SYSTEM_FLAGS + 0x38) +#define FLAG_SYS_CAVE_BATTLE (SYSTEM_FLAGS + 0x39) +#define FLAG_SYS_SHOAL_TIDE (SYSTEM_FLAGS + 0x3A) +#define FLAG_SYS_RIBBON_GET (SYSTEM_FLAGS + 0x3B) + +#define FLAG_LANDMARK_FLOWER_SHOP (SYSTEM_FLAGS + 0x3C) +#define FLAG_LANDMARK_MR_BRINEY_HOUSE (SYSTEM_FLAGS + 0x3D) +#define FLAG_LANDMARK_ABANDONED_SHIP (SYSTEM_FLAGS + 0x3E) +#define FLAG_LANDMARK_SEASHORE_HOUSE (SYSTEM_FLAGS + 0x3F) +#define FLAG_LANDMARK_NEW_MAUVILLE (SYSTEM_FLAGS + 0x40) +#define FLAG_LANDMARK_OLD_LADY_REST_SHOP (SYSTEM_FLAGS + 0x41) +#define FLAG_LANDMARK_TRICK_HOUSE (SYSTEM_FLAGS + 0x42) +#define FLAG_LANDMARK_WINSTRATE_FAMILY (SYSTEM_FLAGS + 0x43) +#define FLAG_LANDMARK_GLASS_WORKSHOP (SYSTEM_FLAGS + 0x44) +#define FLAG_LANDMARK_LANETTES_HOUSE (SYSTEM_FLAGS + 0x45) +#define FLAG_LANDMARK_POKEMON_DAYCARE (SYSTEM_FLAGS + 0x46) +#define FLAG_LANDMARK_SEAFLOOR_CAVERN (SYSTEM_FLAGS + 0x47) +#define FLAG_LANDMARK_BATTLE_FRONTIER (SYSTEM_FLAGS + 0x48) +#define FLAG_LANDMARK_SOUTHERN_ISLAND (SYSTEM_FLAGS + 0x49) +#define FLAG_LANDMARK_FIERY_PATH (SYSTEM_FLAGS + 0x4A) + +#define FLAG_SYS_PC_LANETTE (SYSTEM_FLAGS + 0x4B) +#define FLAG_SYS_MYSTERY_EVENT_ENABLE (SYSTEM_FLAGS + 0x4C) +#define FLAG_SYS_ENC_UP_ITEM (SYSTEM_FLAGS + 0x4D) +#define FLAG_SYS_ENC_DOWN_ITEM (SYSTEM_FLAGS + 0x4E) +#define FLAG_SYS_BRAILLE_DIG (SYSTEM_FLAGS + 0x4F) +#define FLAG_SYS_BRAILLE_STRENGTH (SYSTEM_FLAGS + 0x50) +#define FLAG_SYS_BRAILLE_WAIT (SYSTEM_FLAGS + 0x51) +#define FLAG_SYS_BRAILLE_FLY (SYSTEM_FLAGS + 0x52) +#define FLAG_SYS_HAS_EON_TICKET (SYSTEM_FLAGS + 0x53) + +#define FLAG_LANDMARK_POKEMON_LEAGUE (SYSTEM_FLAGS + 0x54) + +#define FLAG_LANDMARK_ISLAND_CAVE (SYSTEM_FLAGS + 0x55) +#define FLAG_LANDMARK_DESERT_RUINS (SYSTEM_FLAGS + 0x56) +#define FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE (SYSTEM_FLAGS + 0x57) +#define FLAG_LANDMARK_SCORCHED_SLAB (SYSTEM_FLAGS + 0x58) +#define FLAG_LANDMARK_ANCIENT_TOMB (SYSTEM_FLAGS + 0x59) +#define FLAG_LANDMARK_TUNNELERS_REST_HOUSE (SYSTEM_FLAGS + 0x5A) +#define FLAG_LANDMARK_HUNTERS_HOUSE (SYSTEM_FLAGS + 0x5B) +#define FLAG_LANDMARK_SEALED_CHAMBER (SYSTEM_FLAGS + 0x5C) + +#define FLAG_SYS_TV_LATI (SYSTEM_FLAGS + 0x5D) + +#define FLAG_LANDMARK_SKY_PILLAR (SYSTEM_FLAGS + 0x5E) + +#define FLAG_SYS_SHOAL_ITEM (SYSTEM_FLAGS + 0x5F) +#define FLAG_SYS_B_DASH (SYSTEM_FLAGS + 0x60) // got Running Shoes +#define FLAG_SYS_CTRL_OBJ_DELETE (SYSTEM_FLAGS + 0x61) +#define FLAG_SYS_RESET_RTC_ENABLE (SYSTEM_FLAGS + 0x62) + +#define FLAG_LANDMARK_BERRY_MASTERS_HOUSE (SYSTEM_FLAGS + 0x63) + +#define FLAG_SYS_TOWER_SILVER (SYSTEM_FLAGS + 0x64) +#define FLAG_SYS_TOWER_GOLD (SYSTEM_FLAGS + 0x65) +#define FLAG_SYS_DOME_SILVER (SYSTEM_FLAGS + 0x66) +#define FLAG_SYS_DOME_GOLD (SYSTEM_FLAGS + 0x67) +#define FLAG_SYS_PALACE_SILVER (SYSTEM_FLAGS + 0x68) +#define FLAG_SYS_PALACE_GOLD (SYSTEM_FLAGS + 0x69) +#define FLAG_SYS_ARENA_SILVER (SYSTEM_FLAGS + 0x6A) +#define FLAG_SYS_ARENA_GOLD (SYSTEM_FLAGS + 0x6B) +#define FLAG_SYS_FACTORY_SILVER (SYSTEM_FLAGS + 0x6C) +#define FLAG_SYS_FACTORY_GOLD (SYSTEM_FLAGS + 0x6D) +#define FLAG_SYS_PIKE_SILVER (SYSTEM_FLAGS + 0x6E) +#define FLAG_SYS_PIKE_GOLD (SYSTEM_FLAGS + 0x6F) +#define FLAG_SYS_PYRAMID_SILVER (SYSTEM_FLAGS + 0x70) +#define FLAG_SYS_PYRAMID_GOLD (SYSTEM_FLAGS + 0x71) +#define FLAG_SYS_FRONTIER_PASS (SYSTEM_FLAGS + 0x72) + +#define FLAG_0x8D3 (SYSTEM_FLAGS + 0x73) +#define FLAG_0x8D4 (SYSTEM_FLAGS + 0x74) +#define FLAG_0x8D5 (SYSTEM_FLAGS + 0x75) +#define FLAG_0x8D6 (SYSTEM_FLAGS + 0x76) + +#define FLAG_SYS_STORAGE_UNKNOWN_FLAG (SYSTEM_FLAGS + 0x77) + +#define FLAG_0x8D8 (SYSTEM_FLAGS + 0x78) +#define FLAG_0x8D9 (SYSTEM_FLAGS + 0x79) +#define FLAG_0x8DA (SYSTEM_FLAGS + 0x7A) + +#define FLAG_SYS_MYSTERY_GIFT_ENABLE (SYSTEM_FLAGS + 0x7B) + +#define FLAG_0x8DC (SYSTEM_FLAGS + 0x7C) +#define FLAG_LANDMARK_ALTERING_CAVE (SYSTEM_FLAGS + 0x7D) +#define FLAG_LANDMARK_DESERT_UNDERPASS (SYSTEM_FLAGS + 0x7E) +#define FLAG_0x8DF (SYSTEM_FLAGS + 0x7F) +#define FLAG_0x8E0 (SYSTEM_FLAGS + 0x80) +#define FLAG_0x8E1 (SYSTEM_FLAGS + 0x81) +#define FLAG_LANDMARK_TRAINER_HILL (SYSTEM_FLAGS + 0x82) + +#define FLAG_0x8E3 (SYSTEM_FLAGS + 0x83) +#define FLAG_0x8E4 (SYSTEM_FLAGS + 0x84) +#define FLAG_0x8E5 (SYSTEM_FLAGS + 0x85) +#define FLAG_0x8E6 (SYSTEM_FLAGS + 0x86) +#define FLAG_0x8E7 (SYSTEM_FLAGS + 0x87) +#define FLAG_0x8E8 (SYSTEM_FLAGS + 0x88) +#define FLAG_0x8E9 (SYSTEM_FLAGS + 0x89) +#define FLAG_0x8EA (SYSTEM_FLAGS + 0x8A) +#define FLAG_0x8EB (SYSTEM_FLAGS + 0x8B) +#define FLAG_0x8EC (SYSTEM_FLAGS + 0x8C) +#define FLAG_0x8ED (SYSTEM_FLAGS + 0x8D) +#define FLAG_0x8EE (SYSTEM_FLAGS + 0x8E) +#define FLAG_0x8EF (SYSTEM_FLAGS + 0x8F) +#define FLAG_0x8F0 (SYSTEM_FLAGS + 0x90) +#define FLAG_0x8F1 (SYSTEM_FLAGS + 0x91) +#define FLAG_0x8F2 (SYSTEM_FLAGS + 0x92) +#define FLAG_0x8F3 (SYSTEM_FLAGS + 0x93) +#define FLAG_0x8F4 (SYSTEM_FLAGS + 0x94) +#define FLAG_0x8F5 (SYSTEM_FLAGS + 0x95) +#define FLAG_0x8F6 (SYSTEM_FLAGS + 0x96) +#define FLAG_0x8F7 (SYSTEM_FLAGS + 0x97) +#define FLAG_0x8F8 (SYSTEM_FLAGS + 0x98) +#define FLAG_0x8F9 (SYSTEM_FLAGS + 0x99) +#define FLAG_0x8FA (SYSTEM_FLAGS + 0x9A) +#define FLAG_0x8FB (SYSTEM_FLAGS + 0x9B) +#define FLAG_0x8FC (SYSTEM_FLAGS + 0x9C) +#define FLAG_0x8FD (SYSTEM_FLAGS + 0x9D) +#define FLAG_0x8FE (SYSTEM_FLAGS + 0x9E) +#define FLAG_0x8FF (SYSTEM_FLAGS + 0x9F) +#define FLAG_0x900 (SYSTEM_FLAGS + 0xA0) +#define FLAG_0x901 (SYSTEM_FLAGS + 0xA1) +#define FLAG_0x902 (SYSTEM_FLAGS + 0xA2) +#define FLAG_0x903 (SYSTEM_FLAGS + 0xA3) +#define FLAG_0x904 (SYSTEM_FLAGS + 0xA4) +#define FLAG_0x905 (SYSTEM_FLAGS + 0xA5) +#define FLAG_0x906 (SYSTEM_FLAGS + 0xA6) +#define FLAG_0x907 (SYSTEM_FLAGS + 0xA7) +#define FLAG_0x908 (SYSTEM_FLAGS + 0xA8) +#define FLAG_0x909 (SYSTEM_FLAGS + 0xA9) +#define FLAG_0x90A (SYSTEM_FLAGS + 0xAA) +#define FLAG_0x90B (SYSTEM_FLAGS + 0xAB) +#define FLAG_0x90C (SYSTEM_FLAGS + 0xAC) +#define FLAG_0x90D (SYSTEM_FLAGS + 0xAD) +#define FLAG_0x90E (SYSTEM_FLAGS + 0xAE) +#define FLAG_0x90F (SYSTEM_FLAGS + 0xAF) +#define FLAG_0x910 (SYSTEM_FLAGS + 0xB0) +#define FLAG_0x911 (SYSTEM_FLAGS + 0xB1) +#define FLAG_0x912 (SYSTEM_FLAGS + 0xB2) +#define FLAG_0x913 (SYSTEM_FLAGS + 0xB3) +#define FLAG_0x914 (SYSTEM_FLAGS + 0xB4) +#define FLAG_0x915 (SYSTEM_FLAGS + 0xB5) +#define FLAG_0x916 (SYSTEM_FLAGS + 0xB6) +#define FLAG_0x917 (SYSTEM_FLAGS + 0xB7) +#define FLAG_0x918 (SYSTEM_FLAGS + 0xB8) +#define FLAG_0x919 (SYSTEM_FLAGS + 0xB9) +#define FLAG_0x91A (SYSTEM_FLAGS + 0xBA) +#define FLAG_0x91B (SYSTEM_FLAGS + 0xBB) +#define FLAG_0x91C (SYSTEM_FLAGS + 0xBC) +#define FLAG_0x91D (SYSTEM_FLAGS + 0xBD) +#define FLAG_0x91E (SYSTEM_FLAGS + 0xBE) +#define FLAG_0x91F (SYSTEM_FLAGS + 0xBF) +#define FLAG_0x920 (SYSTEM_FLAGS + 0xC0) +#define FLAG_0x921 (SYSTEM_FLAGS + 0xC1) +#define FLAG_0x922 (SYSTEM_FLAGS + 0xC2) +#define FLAG_0x923 (SYSTEM_FLAGS + 0xC3) +#define FLAG_0x924 (SYSTEM_FLAGS + 0xC4) +#define FLAG_0x925 (SYSTEM_FLAGS + 0xC5) +#define FLAG_0x926 (SYSTEM_FLAGS + 0xC6) +#define FLAG_0x927 (SYSTEM_FLAGS + 0xC7) +#define FLAG_0x928 (SYSTEM_FLAGS + 0xC8) +#define FLAG_0x929 (SYSTEM_FLAGS + 0xC9) +#define FLAG_0x92A (SYSTEM_FLAGS + 0xCA) +#define FLAG_0x92B (SYSTEM_FLAGS + 0xCB) +#define FLAG_0x92C (SYSTEM_FLAGS + 0xCC) +#define FLAG_0x92D (SYSTEM_FLAGS + 0xCD) +#define FLAG_0x92E (SYSTEM_FLAGS + 0xCE) +#define FLAG_0x92F (SYSTEM_FLAGS + 0xCF) +#define FLAG_0x930 (SYSTEM_FLAGS + 0xD0) +#define FLAG_0x931 (SYSTEM_FLAGS + 0xD1) +#define FLAG_0x932 (SYSTEM_FLAGS + 0xD2) +#define FLAG_0x933 (SYSTEM_FLAGS + 0xD3) +#define FLAG_0x934 (SYSTEM_FLAGS + 0xD4) +#define FLAG_0x935 (SYSTEM_FLAGS + 0xD5) +#define FLAG_0x936 (SYSTEM_FLAGS + 0xD6) +#define FLAG_0x937 (SYSTEM_FLAGS + 0xD7) +#define FLAG_0x938 (SYSTEM_FLAGS + 0xD8) +#define FLAG_0x939 (SYSTEM_FLAGS + 0xD9) +#define FLAG_0x93A (SYSTEM_FLAGS + 0xDA) +#define FLAG_0x93B (SYSTEM_FLAGS + 0xDB) +#define FLAG_0x93C (SYSTEM_FLAGS + 0xDC) +#define FLAG_0x93D (SYSTEM_FLAGS + 0xDD) +#define FLAG_0x93E (SYSTEM_FLAGS + 0xDE) +#define FLAG_0x93F (SYSTEM_FLAGS + 0xDF) +#define FLAG_0x940 (SYSTEM_FLAGS + 0xE0) +#define FLAG_0x941 (SYSTEM_FLAGS + 0xE1) +#define FLAG_0x942 (SYSTEM_FLAGS + 0xE2) +#define FLAG_0x943 (SYSTEM_FLAGS + 0xE3) +#define FLAG_0x944 (SYSTEM_FLAGS + 0xE4) +#define FLAG_0x945 (SYSTEM_FLAGS + 0xE5) +#define FLAG_0x946 (SYSTEM_FLAGS + 0xE6) +#define FLAG_0x947 (SYSTEM_FLAGS + 0xE7) +#define FLAG_0x948 (SYSTEM_FLAGS + 0xE8) +#define FLAG_0x949 (SYSTEM_FLAGS + 0xE9) +#define FLAG_0x94A (SYSTEM_FLAGS + 0xEA) +#define FLAG_0x94B (SYSTEM_FLAGS + 0xEB) +#define FLAG_0x94C (SYSTEM_FLAGS + 0xEC) +#define FLAG_0x94D (SYSTEM_FLAGS + 0xED) +#define FLAG_0x94E (SYSTEM_FLAGS + 0xEE) +#define FLAG_0x94F (SYSTEM_FLAGS + 0xEF) +#define FLAG_0x950 (SYSTEM_FLAGS + 0xF0) +#define FLAG_0x951 (SYSTEM_FLAGS + 0xF1) +#define FLAG_0x952 (SYSTEM_FLAGS + 0xF2) +#define FLAG_0x953 (SYSTEM_FLAGS + 0xF3) +#define FLAG_0x954 (SYSTEM_FLAGS + 0xF4) +#define FLAG_0x955 (SYSTEM_FLAGS + 0xF5) +#define FLAG_0x956 (SYSTEM_FLAGS + 0xF6) +#define FLAG_0x957 (SYSTEM_FLAGS + 0xF7) +#define FLAG_0x958 (SYSTEM_FLAGS + 0xF8) +#define FLAG_0x959 (SYSTEM_FLAGS + 0xF9) +#define FLAG_0x95A (SYSTEM_FLAGS + 0xFA) +#define FLAG_0x95B (SYSTEM_FLAGS + 0xFB) +#define FLAG_0x95C (SYSTEM_FLAGS + 0xFC) +#define FLAG_0x95D (SYSTEM_FLAGS + 0xFD) +#define FLAG_0x95E (SYSTEM_FLAGS + 0xFE) +#define FLAG_0x95F (SYSTEM_FLAGS + 0xFF) + +// SPECIAL FLAGS (unknown purpose) +#define FLAG_SPECIAL_FLAG_0x4000 0x4000 +#define FLAG_SPECIAL_FLAG_0x4001 0x4001 +#define FLAG_SPECIAL_FLAG_0x4002 0x4002 +#define FLAG_SPECIAL_FLAG_0x4003 0x4003 +#define FLAG_SPECIAL_FLAG_0x4004 0x4004 + +#endif // GUARD_CONSTANTS_FLAGS_H diff --git a/include/game_stat.h b/include/constants/game_stat.h similarity index 94% rename from include/game_stat.h rename to include/constants/game_stat.h index 5979c531cc..b1f3d41970 100644 --- a/include/game_stat.h +++ b/include/constants/game_stat.h @@ -1,5 +1,5 @@ -#ifndef GUARD_GAME_STAT_H -#define GUARD_GAME_STAT_H +#ifndef GUARD_CONSTANTS_GAME_STAT_H +#define GUARD_CONSTANTS_GAME_STAT_H #define GAME_STAT_SAVED_GAME 0 #define GAME_STAT_FIRST_HOF_PLAY_TIME 1 @@ -56,7 +56,4 @@ #define NUM_GAME_STATS 64 -void IncrementGameStat(u8); -u32 GetGameStat(u8); - -#endif // GUARD_GAME_STAT_H +#endif // GUARD_CONSTANTS_GAME_STAT_H diff --git a/include/hold_effects.h b/include/constants/hold_effects.h similarity index 100% rename from include/hold_effects.h rename to include/constants/hold_effects.h diff --git a/include/constants/items.h b/include/constants/items.h new file mode 100644 index 0000000000..ca6fdbf64b --- /dev/null +++ b/include/constants/items.h @@ -0,0 +1,467 @@ +#ifndef GUARD_CONSTANTS_ITEMS_H +#define GUARD_CONSTANTS_ITEMS_H + +#define ITEM_NONE 0 + +// Balls +#define ITEM_MASTER_BALL 1 +#define ITEM_ULTRA_BALL 2 +#define ITEM_GREAT_BALL 3 +#define ITEM_POKE_BALL 4 +#define ITEM_SAFARI_BALL 5 +#define ITEM_NET_BALL 6 +#define ITEM_DIVE_BALL 7 +#define ITEM_NEST_BALL 8 +#define ITEM_REPEAT_BALL 9 +#define ITEM_TIMER_BALL 10 +#define ITEM_LUXURY_BALL 11 +#define ITEM_PREMIER_BALL 12 + +// Pokemon Items +#define ITEM_POTION 13 +#define ITEM_ANTIDOTE 14 +#define ITEM_BURN_HEAL 15 +#define ITEM_ICE_HEAL 16 +#define ITEM_AWAKENING 17 +#define ITEM_PARALYZE_HEAL 18 +#define ITEM_FULL_RESTORE 19 +#define ITEM_MAX_POTION 20 +#define ITEM_HYPER_POTION 21 +#define ITEM_SUPER_POTION 22 +#define ITEM_FULL_HEAL 23 +#define ITEM_REVIVE 24 +#define ITEM_MAX_REVIVE 25 +#define ITEM_FRESH_WATER 26 +#define ITEM_SODA_POP 27 +#define ITEM_LEMONADE 28 +#define ITEM_MOOMOO_MILK 29 +#define ITEM_ENERGY_POWDER 30 +#define ITEM_ENERGY_ROOT 31 +#define ITEM_HEAL_POWDER 32 +#define ITEM_REVIVAL_HERB 33 +#define ITEM_ETHER 34 +#define ITEM_MAX_ETHER 35 +#define ITEM_ELIXIR 36 +#define ITEM_MAX_ELIXIR 37 +#define ITEM_LAVA_COOKIE 38 +#define ITEM_BLUE_FLUTE 39 +#define ITEM_YELLOW_FLUTE 40 +#define ITEM_RED_FLUTE 41 +#define ITEM_BLACK_FLUTE 42 +#define ITEM_WHITE_FLUTE 43 +#define ITEM_BERRY_JUICE 44 +#define ITEM_SACRED_ASH 45 +#define ITEM_SHOAL_SALT 46 +#define ITEM_SHOAL_SHELL 47 +#define ITEM_RED_SHARD 48 +#define ITEM_BLUE_SHARD 49 +#define ITEM_YELLOW_SHARD 50 +#define ITEM_GREEN_SHARD 51 +#define ITEM_034 52 +#define ITEM_035 53 +#define ITEM_036 54 +#define ITEM_037 55 +#define ITEM_038 56 +#define ITEM_039 57 +#define ITEM_03A 58 +#define ITEM_03B 59 +#define ITEM_03C 60 +#define ITEM_03D 61 +#define ITEM_03E 62 +#define ITEM_HP_UP 63 +#define ITEM_PROTEIN 64 +#define ITEM_IRON 65 +#define ITEM_CARBOS 66 +#define ITEM_CALCIUM 67 +#define ITEM_RARE_CANDY 68 +#define ITEM_PP_UP 69 +#define ITEM_ZINC 70 +#define ITEM_PP_MAX 71 +#define ITEM_048 72 +#define ITEM_GUARD_SPEC 73 +#define ITEM_DIRE_HIT 74 +#define ITEM_X_ATTACK 75 +#define ITEM_X_DEFEND 76 +#define ITEM_X_SPEED 77 +#define ITEM_X_ACCURACY 78 +#define ITEM_X_SPECIAL 79 +#define ITEM_POKE_DOLL 80 +#define ITEM_FLUFFY_TAIL 81 +#define ITEM_052 82 +#define ITEM_SUPER_REPEL 83 +#define ITEM_MAX_REPEL 84 +#define ITEM_ESCAPE_ROPE 85 +#define ITEM_REPEL 86 +#define ITEM_057 87 +#define ITEM_058 88 +#define ITEM_059 89 +#define ITEM_05A 90 +#define ITEM_05B 91 +#define ITEM_05C 92 +#define ITEM_SUN_STONE 93 +#define ITEM_MOON_STONE 94 +#define ITEM_FIRE_STONE 95 +#define ITEM_THUNDER_STONE 96 +#define ITEM_WATER_STONE 97 +#define ITEM_LEAF_STONE 98 +#define ITEM_063 99 +#define ITEM_064 100 +#define ITEM_065 101 +#define ITEM_066 102 +#define ITEM_TINY_MUSHROOM 103 +#define ITEM_BIG_MUSHROOM 104 +#define ITEM_069 105 +#define ITEM_PEARL 106 +#define ITEM_BIG_PEARL 107 +#define ITEM_STARDUST 108 +#define ITEM_STAR_PIECE 109 +#define ITEM_NUGGET 110 +#define ITEM_HEART_SCALE 111 +#define ITEM_070 112 +#define ITEM_071 113 +#define ITEM_072 114 +#define ITEM_073 115 +#define ITEM_074 116 +#define ITEM_075 117 +#define ITEM_076 118 +#define ITEM_077 119 +#define ITEM_078 120 +#define ITEM_ORANGE_MAIL 121 +#define ITEM_HARBOR_MAIL 122 +#define ITEM_GLITTER_MAIL 123 +#define ITEM_MECH_MAIL 124 +#define ITEM_WOOD_MAIL 125 +#define ITEM_WAVE_MAIL 126 +#define ITEM_BEAD_MAIL 127 +#define ITEM_SHADOW_MAIL 128 +#define ITEM_TROPIC_MAIL 129 +#define ITEM_DREAM_MAIL 130 +#define ITEM_FAB_MAIL 131 +#define ITEM_RETRO_MAIL 132 +#define ITEM_CHERI_BERRY 133 +#define ITEM_CHESTO_BERRY 134 +#define ITEM_PECHA_BERRY 135 +#define ITEM_RAWST_BERRY 136 +#define ITEM_ASPEAR_BERRY 137 +#define ITEM_LEPPA_BERRY 138 +#define ITEM_ORAN_BERRY 139 +#define ITEM_PERSIM_BERRY 140 +#define ITEM_LUM_BERRY 141 +#define ITEM_SITRUS_BERRY 142 +#define ITEM_FIGY_BERRY 143 +#define ITEM_WIKI_BERRY 144 +#define ITEM_MAGO_BERRY 145 +#define ITEM_AGUAV_BERRY 146 +#define ITEM_IAPAPA_BERRY 147 +#define ITEM_RAZZ_BERRY 148 +#define ITEM_BLUK_BERRY 149 +#define ITEM_NANAB_BERRY 150 +#define ITEM_WEPEAR_BERRY 151 +#define ITEM_PINAP_BERRY 152 +#define ITEM_POMEG_BERRY 153 +#define ITEM_KELPSY_BERRY 154 +#define ITEM_QUALOT_BERRY 155 +#define ITEM_HONDEW_BERRY 156 +#define ITEM_GREPA_BERRY 157 +#define ITEM_TAMATO_BERRY 158 +#define ITEM_CORNN_BERRY 159 +#define ITEM_MAGOST_BERRY 160 +#define ITEM_RABUTA_BERRY 161 +#define ITEM_NOMEL_BERRY 162 +#define ITEM_SPELON_BERRY 163 +#define ITEM_PAMTRE_BERRY 164 +#define ITEM_WATMEL_BERRY 165 +#define ITEM_DURIN_BERRY 166 +#define ITEM_BELUE_BERRY 167 +#define ITEM_LIECHI_BERRY 168 +#define ITEM_GANLON_BERRY 169 +#define ITEM_SALAC_BERRY 170 +#define ITEM_PETAYA_BERRY 171 +#define ITEM_APICOT_BERRY 172 +#define ITEM_LANSAT_BERRY 173 +#define ITEM_STARF_BERRY 174 +#define ITEM_ENIGMA_BERRY 175 +#define ITEM_0B0 176 +#define ITEM_0B1 177 +#define ITEM_0B2 178 + +// hold items +#define ITEM_BRIGHT_POWDER 179 +#define ITEM_WHITE_HERB 180 +#define ITEM_MACHO_BRACE 181 +#define ITEM_EXP_SHARE 182 +#define ITEM_QUICK_CLAW 183 +#define ITEM_SOOTHE_BELL 184 +#define ITEM_MENTAL_HERB 185 +#define ITEM_CHOICE_BAND 186 +#define ITEM_KINGS_ROCK 187 +#define ITEM_SILVER_POWDER 188 +#define ITEM_AMULET_COIN 189 +#define ITEM_CLEANSE_TAG 190 +#define ITEM_SOUL_DEW 191 +#define ITEM_DEEP_SEA_TOOTH 192 +#define ITEM_DEEP_SEA_SCALE 193 +#define ITEM_SMOKE_BALL 194 +#define ITEM_EVERSTONE 195 +#define ITEM_FOCUS_BAND 196 +#define ITEM_LUCKY_EGG 197 +#define ITEM_SCOPE_LENS 198 +#define ITEM_METAL_COAT 199 +#define ITEM_LEFTOVERS 200 +#define ITEM_DRAGON_SCALE 201 +#define ITEM_LIGHT_BALL 202 +#define ITEM_SOFT_SAND 203 +#define ITEM_HARD_STONE 204 +#define ITEM_MIRACLE_SEED 205 +#define ITEM_BLACK_GLASSES 206 +#define ITEM_BLACK_BELT 207 +#define ITEM_MAGNET 208 +#define ITEM_MYSTIC_WATER 209 +#define ITEM_SHARP_BEAK 210 +#define ITEM_POISON_BARB 211 +#define ITEM_NEVER_MELT_ICE 212 +#define ITEM_SPELL_TAG 213 +#define ITEM_TWISTED_SPOON 214 +#define ITEM_CHARCOAL 215 +#define ITEM_DRAGON_FANG 216 +#define ITEM_SILK_SCARF 217 +#define ITEM_UP_GRADE 218 +#define ITEM_SHELL_BELL 219 +#define ITEM_SEA_INCENSE 220 +#define ITEM_LAX_INCENSE 221 +#define ITEM_LUCKY_PUNCH 222 +#define ITEM_METAL_POWDER 223 +#define ITEM_THICK_CLUB 224 +#define ITEM_STICK 225 +#define ITEM_0E2 226 +#define ITEM_0E3 227 +#define ITEM_0E4 228 +#define ITEM_0E5 229 +#define ITEM_0E6 230 +#define ITEM_0E7 231 +#define ITEM_0E8 232 +#define ITEM_0E9 233 +#define ITEM_0EA 234 +#define ITEM_0EB 235 +#define ITEM_0EC 236 +#define ITEM_0ED 237 +#define ITEM_0EE 238 +#define ITEM_0EF 239 +#define ITEM_0F0 240 +#define ITEM_0F1 241 +#define ITEM_0F2 242 +#define ITEM_0F3 243 +#define ITEM_0F4 244 +#define ITEM_0F5 245 +#define ITEM_0F6 246 +#define ITEM_0F7 247 +#define ITEM_0F8 248 +#define ITEM_0F9 249 +#define ITEM_0FA 250 +#define ITEM_0FB 251 +#define ITEM_0FC 252 +#define ITEM_0FD 253 +#define ITEM_RED_SCARF 254 +#define ITEM_BLUE_SCARF 255 +#define ITEM_PINK_SCARF 256 +#define ITEM_GREEN_SCARF 257 +#define ITEM_YELLOW_SCARF 258 + +// Key Items +#define ITEM_MACH_BIKE 259 +#define ITEM_COIN_CASE 260 +#define ITEM_ITEMFINDER 261 +#define ITEM_OLD_ROD 262 +#define ITEM_GOOD_ROD 263 +#define ITEM_SUPER_ROD 264 +#define ITEM_SS_TICKET 265 +#define ITEM_CONTEST_PASS 266 +#define ITEM_10B 267 +#define ITEM_WAILMER_PAIL 268 +#define ITEM_DEVON_GOODS 269 +#define ITEM_SOOT_SACK 270 +#define ITEM_BASEMENT_KEY 271 +#define ITEM_ACRO_BIKE 272 +#define ITEM_POKEBLOCK_CASE 273 +#define ITEM_LETTER 274 +#define ITEM_EON_TICKET 275 +#define ITEM_RED_ORB 276 +#define ITEM_BLUE_ORB 277 +#define ITEM_SCANNER 278 +#define ITEM_GO_GOGGLES 279 +#define ITEM_METEORITE 280 +#define ITEM_ROOM_1_KEY 281 +#define ITEM_ROOM_2_KEY 282 +#define ITEM_ROOM_4_KEY 283 +#define ITEM_ROOM_6_KEY 284 +#define ITEM_STORAGE_KEY 285 +#define ITEM_ROOT_FOSSIL 286 +#define ITEM_CLAW_FOSSIL 287 +#define ITEM_DEVON_SCOPE 288 + +// TMs/HMs +#define ITEM_TM01 289 +#define ITEM_TM02 290 +#define ITEM_TM03 291 +#define ITEM_TM04 292 +#define ITEM_TM05 293 +#define ITEM_TM06 294 +#define ITEM_TM07 295 +#define ITEM_TM08 296 +#define ITEM_TM09 297 +#define ITEM_TM10 298 +#define ITEM_TM11 299 +#define ITEM_TM12 300 +#define ITEM_TM13 301 +#define ITEM_TM14 302 +#define ITEM_TM15 303 +#define ITEM_TM16 304 +#define ITEM_TM17 305 +#define ITEM_TM18 306 +#define ITEM_TM19 307 +#define ITEM_TM20 308 +#define ITEM_TM21 309 +#define ITEM_TM22 310 +#define ITEM_TM23 311 +#define ITEM_TM24 312 +#define ITEM_TM25 313 +#define ITEM_TM26 314 +#define ITEM_TM27 315 +#define ITEM_TM28 316 +#define ITEM_TM29 317 +#define ITEM_TM30 318 +#define ITEM_TM31 319 +#define ITEM_TM32 320 +#define ITEM_TM33 321 +#define ITEM_TM34 322 +#define ITEM_TM35 323 +#define ITEM_TM36 324 +#define ITEM_TM37 325 +#define ITEM_TM38 326 +#define ITEM_TM39 327 +#define ITEM_TM40 328 +#define ITEM_TM41 329 +#define ITEM_TM42 330 +#define ITEM_TM43 331 +#define ITEM_TM44 332 +#define ITEM_TM45 333 +#define ITEM_TM46 334 +#define ITEM_TM47 335 +#define ITEM_TM48 336 +#define ITEM_TM49 337 +#define ITEM_TM50 338 +#define ITEM_HM01 339 +#define ITEM_HM02 340 +#define ITEM_HM03 341 +#define ITEM_HM04 342 +#define ITEM_HM05 343 +#define ITEM_HM06 344 +#define ITEM_HM07 345 +#define ITEM_HM08 346 + +#define ITEM_TM01_FOCUS_PUNCH ITEM_TM01 +#define ITEM_TM02_DRAGON_CLAW ITEM_TM02 +#define ITEM_TM03_WATER_PULSE ITEM_TM03 +#define ITEM_TM04_CALM_MIND ITEM_TM04 +#define ITEM_TM05_ROAR ITEM_TM05 +#define ITEM_TM06_TOXIC ITEM_TM06 +#define ITEM_TM07_HAIL ITEM_TM07 +#define ITEM_TM08_BULK_UP ITEM_TM08 +#define ITEM_TM09_BULLET_SEED ITEM_TM09 +#define ITEM_TM10_HIDDEN_POWER ITEM_TM10 +#define ITEM_TM11_SUNNY_DAY ITEM_TM11 +#define ITEM_TM12_TAUNT ITEM_TM12 +#define ITEM_TM13_ICE_BEAM ITEM_TM13 +#define ITEM_TM14_BLIZZARD ITEM_TM14 +#define ITEM_TM15_HYPER_BEAM ITEM_TM15 +#define ITEM_TM16_LIGHT_SCREEN ITEM_TM16 +#define ITEM_TM17_PROTECT ITEM_TM17 +#define ITEM_TM18_RAIN_DANCE ITEM_TM18 +#define ITEM_TM19_GIGA_DRAIN ITEM_TM19 +#define ITEM_TM20_SAFEGUARD ITEM_TM20 +#define ITEM_TM21_FRUSTRATION ITEM_TM21 +#define ITEM_TM22_SOLARBEAM ITEM_TM22 +#define ITEM_TM23_IRON_TAIL ITEM_TM23 +#define ITEM_TM24_THUNDERBOLT ITEM_TM24 +#define ITEM_TM25_THUNDER ITEM_TM25 +#define ITEM_TM26_EARTHQUAKE ITEM_TM26 +#define ITEM_TM27_RETURN ITEM_TM27 +#define ITEM_TM28_DIG ITEM_TM28 +#define ITEM_TM29_PSYCHIC ITEM_TM29 +#define ITEM_TM30_SHADOW_BALL ITEM_TM30 +#define ITEM_TM31_BRICK_BREAK ITEM_TM31 +#define ITEM_TM32_DOUBLE_TEAM ITEM_TM32 +#define ITEM_TM33_REFLECT ITEM_TM33 +#define ITEM_TM34_SHOCK_WAVE ITEM_TM34 +#define ITEM_TM35_FLAMETHROWER ITEM_TM35 +#define ITEM_TM36_SLUDGE_BOMB ITEM_TM36 +#define ITEM_TM37_SANDSTORM ITEM_TM37 +#define ITEM_TM38_FIRE_BLAST ITEM_TM38 +#define ITEM_TM39_ROCK_TOMB ITEM_TM39 +#define ITEM_TM40_AERIAL_ACE ITEM_TM40 +#define ITEM_TM41_TORMENT ITEM_TM41 +#define ITEM_TM42_FACADE ITEM_TM42 +#define ITEM_TM43_SECRET_POWER ITEM_TM43 +#define ITEM_TM44_REST ITEM_TM44 +#define ITEM_TM45_ATTRACT ITEM_TM45 +#define ITEM_TM46_THIEF ITEM_TM46 +#define ITEM_TM47_STEEL_WING ITEM_TM47 +#define ITEM_TM48_SKILL_SWAP ITEM_TM48 +#define ITEM_TM49_SNATCH ITEM_TM49 +#define ITEM_TM50_OVERHEAT ITEM_TM50 +#define ITEM_HM01_CUT ITEM_HM01 +#define ITEM_HM02_FLY ITEM_HM02 +#define ITEM_HM03_SURF ITEM_HM03 +#define ITEM_HM04_STRENGTH ITEM_HM04 +#define ITEM_HM05_FLASH ITEM_HM05 +#define ITEM_HM06_ROCK_SMASH ITEM_HM06 +#define ITEM_HM07_WATERFALL ITEM_HM07 +#define ITEM_HM08_DIVE ITEM_HM08 + +// Unknown +#define ITEM_15B 347 +#define ITEM_15C 348 + +// FireRed/LeafGreen +#define ITEM_OAKS_PARCEL 349 +#define ITEM_POKE_FLUTE 350 +#define ITEM_SECRET_KEY 351 +#define ITEM_BIKE_VOUCHER 352 +#define ITEM_GOLD_TEETH 353 +#define ITEM_OLD_AMBER 354 +#define ITEM_CARD_KEY 355 +#define ITEM_LIFT_KEY 356 +#define ITEM_HELIX_FOSSIL 357 +#define ITEM_DOME_FOSSIL 358 +#define ITEM_SILPH_SCOPE 359 +#define ITEM_BICYCLE 360 +#define ITEM_TOWN_MAP 361 +#define ITEM_VS_SEEKER 362 +#define ITEM_FAME_CHECKER 363 +#define ITEM_TM_CASE 364 +#define ITEM_BERRY_POUCH 365 +#define ITEM_TEACHY_TV 366 +#define ITEM_TRI_PASS 367 +#define ITEM_RAINBOW_PASS 368 +#define ITEM_TEA 369 +#define ITEM_MYSTIC_TICKET 370 +#define ITEM_AURORA_TICKET 371 +#define ITEM_POWDER_JAR 372 +#define ITEM_RUBY 373 +#define ITEM_SAPPHIRE 374 + +// Emerald +#define ITEM_MAGMA_EMBLEM 375 +#define ITEM_OLD_SEA_MAP 376 + +#define ITEM_LAST_ID 376 +#define ITEM_FIELD_ARROW ITEM_LAST_ID + 1 + +#define FIRST_BERRY_INDEX ITEM_CHERI_BERRY +#define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY +#define ITEM_TO_BERRY(itemId)(((itemId - FIRST_BERRY_INDEX) + 1)) + +#define NUM_TECHNICAL_MACHINES 50 +#define NUM_HIDDEN_MACHINES 8 + +#endif // GUARD_CONSTANTS_ITEMS_H diff --git a/include/constants/map_objects.h b/include/constants/map_objects.h new file mode 100644 index 0000000000..d5b9830059 --- /dev/null +++ b/include/constants/map_objects.h @@ -0,0 +1,263 @@ +#ifndef GUARD_CONSTANTS_MAP_OBJECTS_H +#define GUARD_CONSTANTS_MAP_OBJECTS_H + +#define MAP_OBJ_GFX_BRENDAN_NORMAL 0 +#define MAP_OBJ_GFX_BRENDAN_MACH_BIKE 1 +#define MAP_OBJ_GFX_BRENDAN_SURFING 2 +#define MAP_OBJ_GFX_BRENDAN_FIELD_MOVE 3 +#define MAP_OBJ_GFX_QUINTY_PLUMP 4 +#define MAP_OBJ_GFX_LITTLE_BOY_1 5 +#define MAP_OBJ_GFX_LITTLE_GIRL_1 6 +#define MAP_OBJ_GFX_BOY_1 7 +#define MAP_OBJ_GFX_GIRL_1 8 +#define MAP_OBJ_GFX_BOY_2 9 +#define MAP_OBJ_GFX_GIRL_2 10 +#define MAP_OBJ_GFX_LITTLE_BOY_2 11 +#define MAP_OBJ_GFX_LITTLE_GIRL_2 12 +#define MAP_OBJ_GFX_BOY_3 13 +#define MAP_OBJ_GFX_GIRL_3 14 +#define MAP_OBJ_GFX_BOY_4 15 +#define MAP_OBJ_GFX_WOMAN_1 16 +#define MAP_OBJ_GFX_FAT_MAN 17 +#define MAP_OBJ_GFX_WOMAN_2 18 +#define MAP_OBJ_GFX_MAN_1 19 +#define MAP_OBJ_GFX_WOMAN_3 20 +#define MAP_OBJ_GFX_OLD_MAN_1 21 +#define MAP_OBJ_GFX_OLD_WOMAN_1 22 +#define MAP_OBJ_GFX_MAN_2 23 +#define MAP_OBJ_GFX_WOMAN_4 24 +#define MAP_OBJ_GFX_MAN_3 25 +#define MAP_OBJ_GFX_WOMAN_5 26 +#define MAP_OBJ_GFX_COOK 27 +#define MAP_OBJ_GFX_WOMAN_6 28 +#define MAP_OBJ_GFX_OLD_MAN_2 29 +#define MAP_OBJ_GFX_OLD_WOMAN_2 30 +#define MAP_OBJ_GFX_CAMPER 31 +#define MAP_OBJ_GFX_PICNICKER 32 +#define MAP_OBJ_GFX_MAN_4 33 +#define MAP_OBJ_GFX_WOMAN_7 34 +#define MAP_OBJ_GFX_YOUNGSTER 35 +#define MAP_OBJ_GFX_BUG_CATCHER 36 +#define MAP_OBJ_GFX_PSYCHIC_M 37 +#define MAP_OBJ_GFX_SCHOOL_KID_M 38 +#define MAP_OBJ_GFX_MANIAC 39 +#define MAP_OBJ_GFX_HEX_MANIAC 40 +#define MAP_OBJ_GFX_RAYQUAZA_1 41 +#define MAP_OBJ_GFX_SWIMMER_M 42 +#define MAP_OBJ_GFX_SWIMMER_F 43 +#define MAP_OBJ_GFX_BLACK_BELT 44 +#define MAP_OBJ_GFX_BEAUTY 45 +#define MAP_OBJ_GFX_SCIENTIST_1 46 +#define MAP_OBJ_GFX_LASS 47 +#define MAP_OBJ_GFX_GENTLEMAN 48 +#define MAP_OBJ_GFX_SAILOR 49 +#define MAP_OBJ_GFX_FISHERMAN 50 +#define MAP_OBJ_GFX_RUNNING_TRIATHLETE_M 51 +#define MAP_OBJ_GFX_RUNNING_TRIATHLETE_F 52 +#define MAP_OBJ_GFX_TUBER_F 53 +#define MAP_OBJ_GFX_TUBER_M 54 +#define MAP_OBJ_GFX_HIKER 55 +#define MAP_OBJ_GFX_CYCLING_TRIATHLETE_M 56 +#define MAP_OBJ_GFX_CYCLING_TRIATHLETE_F 57 +#define MAP_OBJ_GFX_NURSE 58 +#define MAP_OBJ_GFX_ITEM_BALL 59 +#define MAP_OBJ_GFX_BERRY_TREE 60 +#define MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES 61 +#define MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES 62 +#define MAP_OBJ_GFX_BRENDAN_ACRO_BIKE 63 +#define MAP_OBJ_GFX_PROF_BIRCH 64 +#define MAP_OBJ_GFX_MAN_5 65 +#define MAP_OBJ_GFX_MAN_6 66 +#define MAP_OBJ_GFX_REPORTER_M 67 +#define MAP_OBJ_GFX_REPORTER_F 68 +#define MAP_OBJ_GFX_BARD 69 +#define MAP_OBJ_GFX_ANABEL 70 +#define MAP_OBJ_GFX_TUCKER 71 +#define MAP_OBJ_GFX_GRETA 72 +#define MAP_OBJ_GFX_SPENSER 73 +#define MAP_OBJ_GFX_NOLAND 74 +#define MAP_OBJ_GFX_LUCY 75 +#define MAP_OBJ_GFX_UNUSED_NATU_DOLL 76 +#define MAP_OBJ_GFX_UNUSED_MAGNEMITE_DOLL 77 +#define MAP_OBJ_GFX_UNUSED_SQUIRTLE_DOLL 78 +#define MAP_OBJ_GFX_UNUSED_WOOPER_DOLL 79 +#define MAP_OBJ_GFX_UNUSED_PIKACHU_DOLL 80 +#define MAP_OBJ_GFX_UNUSED_PORYGON2_DOLL 81 +#define MAP_OBJ_GFX_CUTTABLE_TREE 82 +#define MAP_OBJ_GFX_MART_EMPLOYEE 83 +#define MAP_OBJ_GFX_ROOFTOP_SALE_WOMAN 84 +#define MAP_OBJ_GFX_TEALA 85 +#define MAP_OBJ_GFX_BREAKABLE_ROCK 86 +#define MAP_OBJ_GFX_PUSHABLE_BOULDER 87 +#define MAP_OBJ_GFX_MR_BRINEYS_BOAT 88 +#define MAP_OBJ_GFX_MAY_NORMAL 89 +#define MAP_OBJ_GFX_MAY_MACH_BIKE 90 +#define MAP_OBJ_GFX_MAY_ACRO_BIKE 91 +#define MAP_OBJ_GFX_MAY_SURFING 92 +#define MAP_OBJ_GFX_MAY_FIELD_MOVE 93 +#define MAP_OBJ_GFX_TRUCK 94 +#define MAP_OBJ_GFX_VIGAROTH_CARRYING_BOX 95 +#define MAP_OBJ_GFX_VIGAROTH_FACING_AWAY 96 +#define MAP_OBJ_GFX_BIRCHS_BAG 97 +#define MAP_OBJ_GFX_ZIGZAGOON_1 98 +#define MAP_OBJ_GFX_ARTIST 99 +#define MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL 100 +#define MAP_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE 101 +#define MAP_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE 102 +#define MAP_OBJ_GFX_RIVAL_BRENDAN_SURFING 103 +#define MAP_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE 104 +#define MAP_OBJ_GFX_RIVAL_MAY_NORMAL 105 +#define MAP_OBJ_GFX_RIVAL_MAY_MACH_BIKE 106 +#define MAP_OBJ_GFX_RIVAL_MAY_ACRO_BIKE 107 +#define MAP_OBJ_GFX_RIVAL_MAY_SURFING 108 +#define MAP_OBJ_GFX_RIVAL_MAY_FIELD_MOVE 109 +#define MAP_OBJ_GFX_CAMERAMAN 110 +#define MAP_OBJ_GFX_BRENDAN_UNDERWATER 111 +#define MAP_OBJ_GFX_MAY_UNDERWATER 112 +#define MAP_OBJ_GFX_MOVING_BOX 113 +#define MAP_OBJ_GFX_CABLE_CAR 114 +#define MAP_OBJ_GFX_SCIENTIST_2 115 +#define MAP_OBJ_GFX_MAN_7 116 +#define MAP_OBJ_GFX_AQUA_MEMBER_M 117 +#define MAP_OBJ_GFX_AQUA_MEMBER_F 118 +#define MAP_OBJ_GFX_MAGMA_MEMBER_M 119 +#define MAP_OBJ_GFX_MAGMA_MEMBER_F 120 +#define MAP_OBJ_GFX_SIDNEY 121 +#define MAP_OBJ_GFX_PHOEBE 122 +#define MAP_OBJ_GFX_GLACIA 123 +#define MAP_OBJ_GFX_DRAKE 124 +#define MAP_OBJ_GFX_ROXANNE 125 +#define MAP_OBJ_GFX_BRAWLY 126 +#define MAP_OBJ_GFX_WATTSON 127 +#define MAP_OBJ_GFX_FLANNERY 128 +#define MAP_OBJ_GFX_NORMAN 129 +#define MAP_OBJ_GFX_WINONA 130 +#define MAP_OBJ_GFX_LIZA 131 +#define MAP_OBJ_GFX_TATE 132 +#define MAP_OBJ_GFX_WALLACE 133 +#define MAP_OBJ_GFX_STEVEN 134 +#define MAP_OBJ_GFX_WALLY 135 +#define MAP_OBJ_GFX_LITTLE_BOY_3 136 +#define MAP_OBJ_GFX_BRENDAN_FISHING 137 +#define MAP_OBJ_GFX_MAY_FISHING 138 +#define MAP_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN 139 +#define MAP_OBJ_GFX_SS_TIDAL 140 +#define MAP_OBJ_GFX_SUBMARINE_SHADOW 141 +#define MAP_OBJ_GFX_PICHU_DOLL 142 +#define MAP_OBJ_GFX_PIKACHU_DOLL 143 +#define MAP_OBJ_GFX_MARILL_DOLL 144 +#define MAP_OBJ_GFX_TOGEPI_DOLL 145 +#define MAP_OBJ_GFX_CYNDAQUIL_DOLL 146 +#define MAP_OBJ_GFX_CHIKORITA_DOLL 147 +#define MAP_OBJ_GFX_TOTODILE_DOLL 148 +#define MAP_OBJ_GFX_JIGGLYPUFF_DOLL 149 +#define MAP_OBJ_GFX_MEOWTH_DOLL 150 +#define MAP_OBJ_GFX_CLEFAIRY_DOLL 151 +#define MAP_OBJ_GFX_DITTO_DOLL 152 +#define MAP_OBJ_GFX_SMOOCHUM_DOLL 153 +#define MAP_OBJ_GFX_TREECKO_DOLL 154 +#define MAP_OBJ_GFX_TORCHIC_DOLL 155 +#define MAP_OBJ_GFX_MUDKIP_DOLL 156 +#define MAP_OBJ_GFX_DUSKULL_DOLL 157 +#define MAP_OBJ_GFX_WYNAUT_DOLL 158 +#define MAP_OBJ_GFX_BALTOY_DOLL 159 +#define MAP_OBJ_GFX_KECLEON_DOLL 160 +#define MAP_OBJ_GFX_AZURILL_DOLL 161 +#define MAP_OBJ_GFX_SKITTY_DOLL 162 +#define MAP_OBJ_GFX_SWABLU_DOLL 163 +#define MAP_OBJ_GFX_GULPIN_DOLL 164 +#define MAP_OBJ_GFX_LOTAD_DOLL 165 +#define MAP_OBJ_GFX_SEEDOT_DOLL 166 +#define MAP_OBJ_GFX_PIKA_CUSHION 167 +#define MAP_OBJ_GFX_ROUND_CUSHION 168 +#define MAP_OBJ_GFX_KISS_CUSHION 169 +#define MAP_OBJ_GFX_ZIGZAG_CUSHION 170 +#define MAP_OBJ_GFX_SPIN_CUSHION 171 +#define MAP_OBJ_GFX_DIAMOND_CUSHION 172 +#define MAP_OBJ_GFX_BALL_CUSHION 173 +#define MAP_OBJ_GFX_GRASS_CUSHION 174 +#define MAP_OBJ_GFX_FIRE_CUSHION 175 +#define MAP_OBJ_GFX_WATER_CUSHION 176 +#define MAP_OBJ_GFX_BIG_SNORLAX_DOLL 177 +#define MAP_OBJ_GFX_BIG_RHYDON_DOLL 178 +#define MAP_OBJ_GFX_BIG_LAPRAS_DOLL 179 +#define MAP_OBJ_GFX_BIG_VENUSAUR_DOLL 180 +#define MAP_OBJ_GFX_BIG_CHARIZARD_DOLL 181 +#define MAP_OBJ_GFX_BIG_BLASTOISE_DOLL 182 +#define MAP_OBJ_GFX_BIG_WAILMER_DOLL 183 +#define MAP_OBJ_GFX_BIG_REGIROCK_DOLL 184 +#define MAP_OBJ_GFX_BIG_REGICE_DOLL 185 +#define MAP_OBJ_GFX_BIG_REGISTEEL_DOLL 186 +#define MAP_OBJ_GFX_LATIAS 187 +#define MAP_OBJ_GFX_LATIOS 188 +#define MAP_OBJ_GFX_BOY_5 189 +#define MAP_OBJ_GFX_CONTEST_JUDGE 190 +#define MAP_OBJ_GFX_BRENDAN_WATERING 191 +#define MAP_OBJ_GFX_MAY_WATERING 192 +#define MAP_OBJ_GFX_BRENDAN_DECORATING 193 +#define MAP_OBJ_GFX_MAY_DECORATING 194 +#define MAP_OBJ_GFX_ARCHIE 195 +#define MAP_OBJ_GFX_MAXIE 196 +#define MAP_OBJ_GFX_KYOGRE_1 197 +#define MAP_OBJ_GFX_GROUDON_1 198 +#define MAP_OBJ_GFX_FOSSIL 199 +#define MAP_OBJ_GFX_REGIROCK 200 +#define MAP_OBJ_GFX_REGICE 201 +#define MAP_OBJ_GFX_REGISTEEL 202 +#define MAP_OBJ_GFX_SKITTY 203 +#define MAP_OBJ_GFX_KECLEON_1 204 +#define MAP_OBJ_GFX_KYOGRE_2 205 +#define MAP_OBJ_GFX_GROUDON_2 206 +#define MAP_OBJ_GFX_RAYQUAZA_2 207 +#define MAP_OBJ_GFX_ZIGZAGOON_2 208 +#define MAP_OBJ_GFX_PIKACHU 209 +#define MAP_OBJ_GFX_AZUMARILL 210 +#define MAP_OBJ_GFX_WINGULL 211 +#define MAP_OBJ_GFX_KECLEON_2 212 +#define MAP_OBJ_GFX_TUBER_M_SWIMMING 213 +#define MAP_OBJ_GFX_AZURILL 214 +#define MAP_OBJ_GFX_MOM 215 +#define MAP_OBJ_GFX_LINK_BRENDAN 216 +#define MAP_OBJ_GFX_LINK_MAY 217 +#define MAP_OBJ_GFX_JUAN 218 +#define MAP_OBJ_GFX_SCOTT 219 +#define MAP_OBJ_GFX_POOCHYENA 220 +#define MAP_OBJ_GFX_KYOGRE_3 221 +#define MAP_OBJ_GFX_GROUDON_3 222 +#define MAP_OBJ_GFX_MYSTERY_GIFT_MAN 223 +#define MAP_OBJ_GFX_TRICK_HOUSE_STATUE 224 +#define MAP_OBJ_GFX_KIRLIA 225 +#define MAP_OBJ_GFX_DUSCLOPS 226 +#define MAP_OBJ_GFX_UNION_ROOM_NURSE 227 +#define MAP_OBJ_GFX_SUDOWOODO 228 +#define MAP_OBJ_GFX_MEW 229 +#define MAP_OBJ_GFX_RED 230 +#define MAP_OBJ_GFX_LEAF 231 +#define MAP_OBJ_GFX_DEOXYS 232 +#define MAP_OBJ_GFX_DEOXYS_TRIANGLE 233 +#define MAP_OBJ_GFX_BRANDON 234 +#define MAP_OBJ_GFX_LINK_RS_BRENDAN 235 +#define MAP_OBJ_GFX_LINK_RS_MAY 236 +#define MAP_OBJ_GFX_LUGIA 237 +#define MAP_OBJ_GFX_HOOH 238 +#define MAP_OBJ_GFX_BARD_2 239 +#define MAP_OBJ_GFX_HIPSTER 240 +#define MAP_OBJ_GFX_TRADER 241 +#define MAP_OBJ_GFX_STORYTELLER 242 +#define MAP_OBJ_GFX_GIDDY 243 +#define MAP_OBJ_GFX_PLACEHOLDER_1 244 +#define MAP_OBJ_GFX_PLACEHOLDER_2 245 + +#define SHADOW_SIZE_S 0 +#define SHADOW_SIZE_M 1 +#define SHADOW_SIZE_L 2 +#define SHADOW_SIZE_XL 3 + +#define F_INANIMATE (1 << 6) +#define F_DISABLE_REFLECTION_PALETTE_LOAD (1 << 7) + +#define TRACKS_NONE 0 +#define TRACKS_FOOT 1 +#define TRACKS_BIKE_TIRE 2 + +#endif // GUARD_CONSTANTS_MAP_OBJECTS_H diff --git a/include/constants/maps.h b/include/constants/maps.h new file mode 100644 index 0000000000..fb1cb82a8a --- /dev/null +++ b/include/constants/maps.h @@ -0,0 +1,598 @@ +#ifndef GUARD_CONSTANTS_MAPS_H +#define GUARD_CONSTANTS_MAPS_H + +// Map Group 0 +#define MAP_PETALBURG_CITY (0 | (0 << 8)) +#define MAP_SLATEPORT_CITY (1 | (0 << 8)) +#define MAP_MAUVILLE_CITY (2 | (0 << 8)) +#define MAP_RUSTBORO_CITY (3 | (0 << 8)) +#define MAP_FORTREE_CITY (4 | (0 << 8)) +#define MAP_LILYCOVE_CITY (5 | (0 << 8)) +#define MAP_MOSSDEEP_CITY (6 | (0 << 8)) +#define MAP_SOOTOPOLIS_CITY (7 | (0 << 8)) +#define MAP_EVER_GRANDE_CITY (8 | (0 << 8)) +#define MAP_LITTLEROOT_TOWN (9 | (0 << 8)) +#define MAP_OLDALE_TOWN (10 | (0 << 8)) +#define MAP_DEWFORD_TOWN (11 | (0 << 8)) +#define MAP_LAVARIDGE_TOWN (12 | (0 << 8)) +#define MAP_FALLARBOR_TOWN (13 | (0 << 8)) +#define MAP_VERDANTURF_TOWN (14 | (0 << 8)) +#define MAP_PACIFIDLOG_TOWN (15 | (0 << 8)) +#define MAP_ROUTE101 (16 | (0 << 8)) +#define MAP_ROUTE102 (17 | (0 << 8)) +#define MAP_ROUTE103 (18 | (0 << 8)) +#define MAP_ROUTE104 (19 | (0 << 8)) +#define MAP_ROUTE105 (20 | (0 << 8)) +#define MAP_ROUTE106 (21 | (0 << 8)) +#define MAP_ROUTE107 (22 | (0 << 8)) +#define MAP_ROUTE108 (23 | (0 << 8)) +#define MAP_ROUTE109 (24 | (0 << 8)) +#define MAP_ROUTE110 (25 | (0 << 8)) +#define MAP_ROUTE111 (26 | (0 << 8)) +#define MAP_ROUTE112 (27 | (0 << 8)) +#define MAP_ROUTE113 (28 | (0 << 8)) +#define MAP_ROUTE114 (29 | (0 << 8)) +#define MAP_ROUTE115 (30 | (0 << 8)) +#define MAP_ROUTE116 (31 | (0 << 8)) +#define MAP_ROUTE117 (32 | (0 << 8)) +#define MAP_ROUTE118 (33 | (0 << 8)) +#define MAP_ROUTE119 (34 | (0 << 8)) +#define MAP_ROUTE120 (35 | (0 << 8)) +#define MAP_ROUTE121 (36 | (0 << 8)) +#define MAP_ROUTE122 (37 | (0 << 8)) +#define MAP_ROUTE123 (38 | (0 << 8)) +#define MAP_ROUTE124 (39 | (0 << 8)) +#define MAP_ROUTE125 (40 | (0 << 8)) +#define MAP_ROUTE126 (41 | (0 << 8)) +#define MAP_ROUTE127 (42 | (0 << 8)) +#define MAP_ROUTE128 (43 | (0 << 8)) +#define MAP_ROUTE129 (44 | (0 << 8)) +#define MAP_ROUTE130 (45 | (0 << 8)) +#define MAP_ROUTE131 (46 | (0 << 8)) +#define MAP_ROUTE132 (47 | (0 << 8)) +#define MAP_ROUTE133 (48 | (0 << 8)) +#define MAP_ROUTE134 (49 | (0 << 8)) +#define MAP_UNDERWATER1 (50 | (0 << 8)) +#define MAP_UNDERWATER2 (51 | (0 << 8)) +#define MAP_UNDERWATER3 (52 | (0 << 8)) +#define MAP_UNDERWATER4 (53 | (0 << 8)) +#define MAP_UNDERWATER5 (54 | (0 << 8)) +#define MAP_UNDERWATER6 (55 | (0 << 8)) +#define MAP_UNDERWATER7 (56 | (0 << 8)) + +// Map Group 1 +#define MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F (0 | (1 << 8)) +#define MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F (1 | (1 << 8)) +#define MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F (2 | (1 << 8)) +#define MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F (3 | (1 << 8)) +#define MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB (4 | (1 << 8)) + +// Map Group 2 +#define MAP_OLDALE_TOWN_HOUSE1 (0 | (2 << 8)) +#define MAP_OLDALE_TOWN_HOUSE2 (1 | (2 << 8)) +#define MAP_OLDALE_TOWN_POKEMON_CENTER_1F (2 | (2 << 8)) +#define MAP_OLDALE_TOWN_POKEMON_CENTER_2F (3 | (2 << 8)) +#define MAP_OLDALE_TOWN_MART (4 | (2 << 8)) + +// Map Group 3 +#define MAP_DEWFORD_TOWN_HOUSE1 (0 | (3 << 8)) +#define MAP_DEWFORD_TOWN_POKEMON_CENTER_1F (1 | (3 << 8)) +#define MAP_DEWFORD_TOWN_POKEMON_CENTER_2F (2 | (3 << 8)) +#define MAP_DEWFORD_TOWN_GYM (3 | (3 << 8)) +#define MAP_DEWFORD_TOWN_HALL (4 | (3 << 8)) +#define MAP_DEWFORD_TOWN_HOUSE2 (5 | (3 << 8)) + +// Map Group 4 +#define MAP_LAVARIDGE_TOWN_HERB_SHOP (0 | (4 << 8)) +#define MAP_LAVARIDGE_TOWN_GYM_1F (1 | (4 << 8)) +#define MAP_LAVARIDGE_TOWN_GYM_B1F (2 | (4 << 8)) +#define MAP_LAVARIDGE_TOWN_HOUSE (3 | (4 << 8)) +#define MAP_LAVARIDGE_TOWN_MART (4 | (4 << 8)) +#define MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F (5 | (4 << 8)) +#define MAP_LAVARIDGE_TOWN_POKEMON_CENTER_2F (6 | (4 << 8)) + +// Map Group 5 +#define MAP_FALLARBOR_TOWN_MART (0 | (5 << 8)) +#define MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY (1 | (5 << 8)) +#define MAP_FALLARBOR_TOWN_BATTLE_TENT_CORRIDOR (2 | (5 << 8)) +#define MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM (3 | (5 << 8)) +#define MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F (4 | (5 << 8)) +#define MAP_FALLARBOR_TOWN_POKEMON_CENTER_2F (5 | (5 << 8)) +#define MAP_FALLARBOR_TOWN_HOUSE1 (6 | (5 << 8)) +#define MAP_FALLARBOR_TOWN_HOUSE2 (7 | (5 << 8)) + +// Map Group 6 +#define MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY (0 | (6 << 8)) +#define MAP_VERDANTURF_TOWN_BATTLE_TENT_CORRIDOR (1 | (6 << 8)) +#define MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM (2 | (6 << 8)) +#define MAP_VERDANTURF_TOWN_MART (3 | (6 << 8)) +#define MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F (4 | (6 << 8)) +#define MAP_VERDANTURF_TOWN_POKEMON_CENTER_2F (5 | (6 << 8)) +#define MAP_VERDANTURF_TOWN_WANDAS_HOUSE (6 | (6 << 8)) +#define MAP_VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE (7 | (6 << 8)) +#define MAP_VERDANTURF_TOWN_HOUSE (8 | (6 << 8)) + +// Map Group 7 +#define MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F (0 | (7 << 8)) +#define MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_2F (1 | (7 << 8)) +#define MAP_PACIFIDLOG_TOWN_HOUSE1 (2 | (7 << 8)) +#define MAP_PACIFIDLOG_TOWN_HOUSE2 (3 | (7 << 8)) +#define MAP_PACIFIDLOG_TOWN_HOUSE3 (4 | (7 << 8)) +#define MAP_PACIFIDLOG_TOWN_HOUSE4 (5 | (7 << 8)) +#define MAP_PACIFIDLOG_TOWN_HOUSE5 (6 | (7 << 8)) + +// Map Group 8 +#define MAP_PETALBURG_CITY_WALLYS_HOUSE (0 | (8 << 8)) +#define MAP_PETALBURG_CITY_GYM (1 | (8 << 8)) +#define MAP_PETALBURG_CITY_HOUSE1 (2 | (8 << 8)) +#define MAP_PETALBURG_CITY_HOUSE2 (3 | (8 << 8)) +#define MAP_PETALBURG_CITY_POKEMON_CENTER_1F (4 | (8 << 8)) +#define MAP_PETALBURG_CITY_POKEMON_CENTER_2F (5 | (8 << 8)) +#define MAP_PETALBURG_CITY_MART (6 | (8 << 8)) + +// Map Group 9 +#define MAP_SLATEPORT_CITY_STERNS_SHIPYARD_1F (0 | (9 << 8)) +#define MAP_SLATEPORT_CITY_STERNS_SHIPYARD_2F (1 | (9 << 8)) +#define MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY (2 | (9 << 8)) +#define MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR (3 | (9 << 8)) +#define MAP_SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM (4 | (9 << 8)) +#define MAP_SLATEPORT_CITY_HOUSE1 (5 | (9 << 8)) +#define MAP_SLATEPORT_CITY_POKEMON_FAN_CLUB (6 | (9 << 8)) +#define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F (7 | (9 << 8)) +#define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_2F (8 | (9 << 8)) +#define MAP_SLATEPORT_CITY_HARBOR (9 | (9 << 8)) +#define MAP_SLATEPORT_CITY_HOUSE2 (10 | (9 << 8)) +#define MAP_SLATEPORT_CITY_POKEMON_CENTER_1F (11 | (9 << 8)) +#define MAP_SLATEPORT_CITY_POKEMON_CENTER_2F (12 | (9 << 8)) +#define MAP_SLATEPORT_CITY_MART (13 | (9 << 8)) + +// Map Group 10 +#define MAP_MAUVILLE_CITY_GYM (0 | (10 << 8)) +#define MAP_MAUVILLE_CITY_BIKE_SHOP (1 | (10 << 8)) +#define MAP_MAUVILLE_CITY_HOUSE1 (2 | (10 << 8)) +#define MAP_MAUVILLE_CITY_GAME_CORNER (3 | (10 << 8)) +#define MAP_MAUVILLE_CITY_HOUSE2 (4 | (10 << 8)) +#define MAP_MAUVILLE_CITY_POKEMON_CENTER_1F (5 | (10 << 8)) +#define MAP_MAUVILLE_CITY_POKEMON_CENTER_2F (6 | (10 << 8)) +#define MAP_MAUVILLE_CITY_MART (7 | (10 << 8)) + +// Map Group 11 +#define MAP_RUSTBORO_CITY_DEVON_CORP_1F (0 | (11 << 8)) +#define MAP_RUSTBORO_CITY_DEVON_CORP_2F (1 | (11 << 8)) +#define MAP_RUSTBORO_CITY_DEVON_CORP_3F (2 | (11 << 8)) +#define MAP_RUSTBORO_CITY_GYM (3 | (11 << 8)) +#define MAP_RUSTBORO_CITY_POKEMON_SCHOOL (4 | (11 << 8)) +#define MAP_RUSTBORO_CITY_POKEMON_CENTER_1F (5 | (11 << 8)) +#define MAP_RUSTBORO_CITY_POKEMON_CENTER_2F (6 | (11 << 8)) +#define MAP_RUSTBORO_CITY_MART (7 | (11 << 8)) +#define MAP_RUSTBORO_CITY_FLAT1_1F (8 | (11 << 8)) +#define MAP_RUSTBORO_CITY_FLAT1_2F (9 | (11 << 8)) +#define MAP_RUSTBORO_CITY_HOUSE1 (10 | (11 << 8)) +#define MAP_RUSTBORO_CITY_CUTTERS_HOUSE (11 | (11 << 8)) +#define MAP_RUSTBORO_CITY_HOUSE2 (12 | (11 << 8)) +#define MAP_RUSTBORO_CITY_FLAT2_1F (13 | (11 << 8)) +#define MAP_RUSTBORO_CITY_FLAT2_2F (14 | (11 << 8)) +#define MAP_RUSTBORO_CITY_FLAT2_3F (15 | (11 << 8)) +#define MAP_RUSTBORO_CITY_HOUSE3 (16 | (11 << 8)) + +// Map Group 12 +#define MAP_FORTREE_CITY_HOUSE1 (0 | (12 << 8)) +#define MAP_FORTREE_CITY_GYM (1 | (12 << 8)) +#define MAP_FORTREE_CITY_POKEMON_CENTER_1F (2 | (12 << 8)) +#define MAP_FORTREE_CITY_POKEMON_CENTER_2F (3 | (12 << 8)) +#define MAP_FORTREE_CITY_MART (4 | (12 << 8)) +#define MAP_FORTREE_CITY_HOUSE2 (5 | (12 << 8)) +#define MAP_FORTREE_CITY_HOUSE3 (6 | (12 << 8)) +#define MAP_FORTREE_CITY_HOUSE4 (7 | (12 << 8)) +#define MAP_FORTREE_CITY_HOUSE5 (8 | (12 << 8)) +#define MAP_FORTREE_CITY_DECORATION_SHOP (9 | (12 << 8)) + +// Map Group 13 +#define MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F (0 | (13 << 8)) +#define MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_2F (1 | (13 << 8)) +#define MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F (2 | (13 << 8)) +#define MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F (3 | (13 << 8)) +#define MAP_LILYCOVE_CITY_CONTEST_LOBBY (4 | (13 << 8)) +#define MAP_LILYCOVE_CITY_CONTEST_HALL (5 | (13 << 8)) +#define MAP_LILYCOVE_CITY_POKEMON_CENTER_1F (6 | (13 << 8)) +#define MAP_LILYCOVE_CITY_POKEMON_CENTER_2F (7 | (13 << 8)) +#define MAP_LILYCOVE_CITY_UNUSED_MART (8 | (13 << 8)) +#define MAP_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB (9 | (13 << 8)) +#define MAP_LILYCOVE_CITY_HARBOR (10 | (13 << 8)) +#define MAP_LILYCOVE_CITY_MOVE_DELETERS_HOUSE (11 | (13 << 8)) +#define MAP_LILYCOVE_CITY_HOUSE1 (12 | (13 << 8)) +#define MAP_LILYCOVE_CITY_HOUSE2 (13 | (13 << 8)) +#define MAP_LILYCOVE_CITY_HOUSE3 (14 | (13 << 8)) +#define MAP_LILYCOVE_CITY_HOUSE4 (15 | (13 << 8)) +#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F (16 | (13 << 8)) +#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F (17 | (13 << 8)) +#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F (18 | (13 << 8)) +#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F (19 | (13 << 8)) +#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F (20 | (13 << 8)) +#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP (21 | (13 << 8)) +#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR (22 | (13 << 8)) + +// Map Group 14 +#define MAP_MOSSDEEP_CITY_GYM (0 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_HOUSE1 (1 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_HOUSE2 (2 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F (3 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_POKEMON_CENTER_2F (4 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_MART (5 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_HOUSE3 (6 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_STEVENS_HOUSE (7 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_HOUSE4 (8 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_SPACE_CENTER_1F (9 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_SPACE_CENTER_2F (10 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_GAME_CORNER_1F (11 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_GAME_CORNER_B1F (12 | (14 << 8)) + +// Map Group 15 +#define MAP_SOOTOPOLIS_CITY_GYM_1F (0 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_GYM_B1F (1 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F (2 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F (3 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_MART (4 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_HOUSE1 (5 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_HOUSE2 (6 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_HOUSE3 (7 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_HOUSE4 (8 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_HOUSE5 (9 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_HOUSE6 (10 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_HOUSE7 (11 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_HOUSE8 (12 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_HOUSE9_1F (13 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_HOUSE9_B1F (14 | (15 << 8)) + +// Map Group 16 +#define MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM (0 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_PHOEBES_ROOM (1 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_GLACIAS_ROOM (2 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_DRAKES_ROOM (3 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_CHAMPIONS_ROOM (4 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_CORRIDOR1 (5 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_CORRIDOR2 (6 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_CORRIDOR3 (7 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_CORRIDOR4 (8 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_CORRIDOR5 (9 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F (10 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_HALL_OF_FAME (11 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F (12 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_POKEMON_CENTER_2F (13 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F (14 | (16 << 8)) + +// Map Group 17 +#define MAP_ROUTE104_MR_BRINEYS_HOUSE (0 | (17 << 8)) +#define MAP_ROUTE104_PRETTY_PETAL_FLOWER_SHOP (1 | (17 << 8)) + +// Map Group 18 +#define MAP_ROUTE111_WINSTRATE_FAMILYS_HOUSE (0 | (18 << 8)) +#define MAP_ROUTE111_OLD_LADYS_REST_STOP (1 | (18 << 8)) + +// Map Group 19 +#define MAP_ROUTE112_CABLE_CAR_STATION (0 | (19 << 8)) +#define MAP_MT_CHIMNEY_CABLE_CAR_STATION (1 | (19 << 8)) + +// Map Group 20 +#define MAP_ROUTE114_FOSSIL_MANIACS_HOUSE (0 | (20 << 8)) +#define MAP_ROUTE114_FOSSIL_MANIACS_TUNNEL (1 | (20 << 8)) +#define MAP_ROUTE114_LANETTES_HOUSE (2 | (20 << 8)) + +// Map Group 21 +#define MAP_ROUTE116_TUNNELERS_REST_HOUSE (0 | (21 << 8)) + +// Map Group 22 +#define MAP_ROUTE117_POKEMON_DAY_CARE (0 | (22 << 8)) + +// Map Group 23 +#define MAP_ROUTE121_SAFARI_ZONE_ENTRANCE (0 | (23 << 8)) + +// Map Group 24 +#define MAP_METEOR_FALLS_1F_1R (0 | (24 << 8)) +#define MAP_METEOR_FALLS_1F_2R (1 | (24 << 8)) +#define MAP_METEOR_FALLS_B1F_1R (2 | (24 << 8)) +#define MAP_METEOR_FALLS_B1F_2R (3 | (24 << 8)) +#define MAP_RUSTURF_TUNNEL (4 | (24 << 8)) +#define MAP_UNDERWATER_SOOTOPOLIS_CITY (5 | (24 << 8)) +#define MAP_DESERT_RUINS (6 | (24 << 8)) +#define MAP_GRANITE_CAVE_1F (7 | (24 << 8)) +#define MAP_GRANITE_CAVE_B1F (8 | (24 << 8)) +#define MAP_GRANITE_CAVE_B2F (9 | (24 << 8)) +#define MAP_GRANITE_CAVE_STEVENS_ROOM (10 | (24 << 8)) +#define MAP_PETALBURG_WOODS (11 | (24 << 8)) +#define MAP_MT_CHIMNEY (12 | (24 << 8)) +#define MAP_JAGGED_PASS (13 | (24 << 8)) +#define MAP_FIERY_PATH (14 | (24 << 8)) +#define MAP_MT_PYRE_1F (15 | (24 << 8)) +#define MAP_MT_PYRE_2F (16 | (24 << 8)) +#define MAP_MT_PYRE_3F (17 | (24 << 8)) +#define MAP_MT_PYRE_4F (18 | (24 << 8)) +#define MAP_MT_PYRE_5F (19 | (24 << 8)) +#define MAP_MT_PYRE_6F (20 | (24 << 8)) +#define MAP_MT_PYRE_EXTERIOR (21 | (24 << 8)) +#define MAP_MT_PYRE_SUMMIT (22 | (24 << 8)) +#define MAP_AQUA_HIDEOUT_1F (23 | (24 << 8)) +#define MAP_AQUA_HIDEOUT_B1F (24 | (24 << 8)) +#define MAP_AQUA_HIDEOUT_B2F (25 | (24 << 8)) +#define MAP_UNDERWATER_SEAFLOOR_CAVERN (26 | (24 << 8)) +#define MAP_SEAFLOOR_CAVERN_ENTRANCE (27 | (24 << 8)) +#define MAP_SEAFLOOR_CAVERN_ROOM1 (28 | (24 << 8)) +#define MAP_SEAFLOOR_CAVERN_ROOM2 (29 | (24 << 8)) +#define MAP_SEAFLOOR_CAVERN_ROOM3 (30 | (24 << 8)) +#define MAP_SEAFLOOR_CAVERN_ROOM4 (31 | (24 << 8)) +#define MAP_SEAFLOOR_CAVERN_ROOM5 (32 | (24 << 8)) +#define MAP_SEAFLOOR_CAVERN_ROOM6 (33 | (24 << 8)) +#define MAP_SEAFLOOR_CAVERN_ROOM7 (34 | (24 << 8)) +#define MAP_SEAFLOOR_CAVERN_ROOM8 (35 | (24 << 8)) +#define MAP_SEAFLOOR_CAVERN_ROOM9 (36 | (24 << 8)) +#define MAP_CAVE_OF_ORIGIN_ENTRANCE (37 | (24 << 8)) +#define MAP_CAVE_OF_ORIGIN_1F (38 | (24 << 8)) +#define MAP_CAVE_OF_ORIGIN_UNUSED_RS_B1F (39 | (24 << 8)) // +#define MAP_CAVE_OF_ORIGIN_UNUSED_RS_B2F (40 | (24 << 8)) // Ruby/Sapphire leftovers +#define MAP_CAVE_OF_ORIGIN_UNUSED_RS_B3F (41 | (24 << 8)) // +#define MAP_CAVE_OF_ORIGIN_B1F (42 | (24 << 8)) +#define MAP_VICTORY_ROAD_1F (43 | (24 << 8)) +#define MAP_VICTORY_ROAD_B1F (44 | (24 << 8)) +#define MAP_VICTORY_ROAD_B2F (45 | (24 << 8)) +#define MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM (46 | (24 << 8)) +#define MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM (47 | (24 << 8)) +#define MAP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM (48 | (24 << 8)) +#define MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM (49 | (24 << 8)) +#define MAP_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM (50 | (24 << 8)) +#define MAP_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM (51 | (24 << 8)) +#define MAP_NEW_MAUVILLE_ENTRANCE (52 | (24 << 8)) +#define MAP_NEW_MAUVILLE_INSIDE (53 | (24 << 8)) +#define MAP_ABANDONED_SHIP_DECK (54 | (24 << 8)) +#define MAP_ABANDONED_SHIP_CORRIDORS_1F (55 | (24 << 8)) +#define MAP_ABANDONED_SHIP_ROOMS_1F (56 | (24 << 8)) +#define MAP_ABANDONED_SHIP_CORRIDORS_B1F (57 | (24 << 8)) +#define MAP_ABANDONED_SHIP_ROOMS_B1F (58 | (24 << 8)) +#define MAP_ABANDONED_SHIP_ROOMS2_B1F (59 | (24 << 8)) +#define MAP_ABANDONED_SHIP_UNDERWATER1 (60 | (24 << 8)) +#define MAP_ABANDONED_SHIP_ROOM_B1F (61 | (24 << 8)) +#define MAP_ABANDONED_SHIP_ROOMS2_1F (62 | (24 << 8)) +#define MAP_ABANDONED_SHIP_CAPTAINS_OFFICE (63 | (24 << 8)) +#define MAP_ABANDONED_SHIP_UNDERWATER2 (64 | (24 << 8)) +#define MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS (65 | (24 << 8)) +#define MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS (66 | (24 << 8)) +#define MAP_ISLAND_CAVE (67 | (24 << 8)) +#define MAP_ANCIENT_TOMB (68 | (24 << 8)) +#define MAP_UNDERWATER_ROUTE134 (69 | (24 << 8)) +#define MAP_UNDERWATER_SEALED_CHAMBER (70 | (24 << 8)) +#define MAP_SEALED_CHAMBER_OUTER_ROOM (71 | (24 << 8)) +#define MAP_SEALED_CHAMBER_INNER_ROOM (72 | (24 << 8)) +#define MAP_SCORCHED_SLAB (73 | (24 << 8)) +#define MAP_UNUSED_RUBY_MAGMA_HIDEOUT_1F (74 | (24 << 8)) // +#define MAP_UNUSED_RUBY_MAGMA_HIDEOUT_B1F (75 | (24 << 8)) // Ruby/Sapphire leftovers +#define MAP_UNUSED_RUBY_MAGMA_HIDEOUT_B2F (76 | (24 << 8)) // +#define MAP_SKY_PILLAR_ENTRANCE (77 | (24 << 8)) +#define MAP_SKY_PILLAR_OUTSIDE (78 | (24 << 8)) +#define MAP_SKY_PILLAR_1F (79 | (24 << 8)) +#define MAP_SKY_PILLAR_2F (80 | (24 << 8)) +#define MAP_SKY_PILLAR_3F (81 | (24 << 8)) +#define MAP_SKY_PILLAR_4F (82 | (24 << 8)) +#define MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM (83 | (24 << 8)) +#define MAP_SKY_PILLAR_5F (84 | (24 << 8)) +#define MAP_SKY_PILLAR_TOP (85 | (24 << 8)) +#define MAP_MAGMA_HIDEOUT_1F (86 | (24 << 8)) +#define MAP_MAGMA_HIDEOUT_2F_1R (87 | (24 << 8)) +#define MAP_MAGMA_HIDEOUT_2F_2R (88 | (24 << 8)) +#define MAP_MAGMA_HIDEOUT_3F_1R (89 | (24 << 8)) +#define MAP_MAGMA_HIDEOUT_3F_2R (90 | (24 << 8)) +#define MAP_MAGMA_HIDEOUT_4F (91 | (24 << 8)) +#define MAP_MAGMA_HIDEOUT_3F_3R (92 | (24 << 8)) +#define MAP_MAGMA_HIDEOUT_2F_3R (93 | (24 << 8)) +#define MAP_MIRAGE_TOWER_1F (94 | (24 << 8)) +#define MAP_MIRAGE_TOWER_2F (95 | (24 << 8)) +#define MAP_MIRAGE_TOWER_3F (96 | (24 << 8)) +#define MAP_MIRAGE_TOWER_4F (97 | (24 << 8)) +#define MAP_DESERT_UNDERPASS (98 | (24 << 8)) +#define MAP_ARTISAN_CAVE_B1F (99 | (24 << 8)) +#define MAP_ARTISAN_CAVE_1F (100 | (24 << 8)) +#define MAP_UNDERWATER_MARINE_CAVE (101 | (24 << 8)) +#define MAP_MARINE_CAVE_ENTRANCE (102 | (24 << 8)) +#define MAP_MARINE_CAVE_END (103 | (24 << 8)) +#define MAP_TERRA_CAVE_ENTRANCE (104 | (24 << 8)) +#define MAP_TERRA_CAVE_END (105 | (24 << 8)) +#define MAP_ALTERING_CAVE (106 | (24 << 8)) +#define MAP_METEOR_FALLS_STEVENS_CAVE (107 | (24 << 8)) + +// Map Group 25 +#define MAP_SECRET_BASE_RED_CAVE1 (0 | (25 << 8)) +#define MAP_SECRET_BASE_BROWN_CAVE1 (1 | (25 << 8)) +#define MAP_SECRET_BASE_BLUE_CAVE1 (2 | (25 << 8)) +#define MAP_SECRET_BASE_YELLOW_CAVE1 (3 | (25 << 8)) +#define MAP_SECRET_BASE_TREE1 (4 | (25 << 8)) +#define MAP_SECRET_BASE_SHRUB1 (5 | (25 << 8)) +#define MAP_SECRET_BASE_RED_CAVE2 (6 | (25 << 8)) +#define MAP_SECRET_BASE_BROWN_CAVE2 (7 | (25 << 8)) +#define MAP_SECRET_BASE_BLUE_CAVE2 (8 | (25 << 8)) +#define MAP_SECRET_BASE_YELLOW_CAVE2 (9 | (25 << 8)) +#define MAP_SECRET_BASE_TREE2 (10 | (25 << 8)) +#define MAP_SECRET_BASE_SHRUB2 (11 | (25 << 8)) +#define MAP_SECRET_BASE_RED_CAVE3 (12 | (25 << 8)) +#define MAP_SECRET_BASE_BROWN_CAVE3 (13 | (25 << 8)) +#define MAP_SECRET_BASE_BLUE_CAVE3 (14 | (25 << 8)) +#define MAP_SECRET_BASE_YELLOW_CAVE3 (15 | (25 << 8)) +#define MAP_SECRET_BASE_TREE3 (16 | (25 << 8)) +#define MAP_SECRET_BASE_SHRUB3 (17 | (25 << 8)) +#define MAP_SECRET_BASE_RED_CAVE4 (18 | (25 << 8)) +#define MAP_SECRET_BASE_BROWN_CAVE4 (19 | (25 << 8)) +#define MAP_SECRET_BASE_BLUE_CAVE4 (20 | (25 << 8)) +#define MAP_SECRET_BASE_YELLOW_CAVE4 (21 | (25 << 8)) +#define MAP_SECRET_BASE_TREE4 (22 | (25 << 8)) +#define MAP_SECRET_BASE_SHRUB4 (23 | (25 << 8)) +#define MAP_SINGLE_BATTLE_COLOSSEUM (24 | (25 << 8)) +#define MAP_TRADE_CENTER (25 | (25 << 8)) +#define MAP_RECORD_CORNER (26 | (25 << 8)) +#define MAP_DOUBLE_BATTLE_COLOSSEUM (27 | (25 << 8)) +#define MAP_LINK_CONTEST_ROOM1 (28 | (25 << 8)) +#define MAP_UNKNOWN_MAP_25_29 (29 | (25 << 8)) +#define MAP_UNKNOWN_MAP_25_30 (30 | (25 << 8)) +#define MAP_UNKNOWN_MAP_25_31 (31 | (25 << 8)) +#define MAP_UNKNOWN_MAP_25_32 (32 | (25 << 8)) +#define MAP_UNKNOWN_MAP_25_33 (33 | (25 << 8)) +#define MAP_UNKNOWN_MAP_25_34 (34 | (25 << 8)) +#define MAP_LINK_CONTEST_ROOM2 (35 | (25 << 8)) +#define MAP_LINK_CONTEST_ROOM3 (36 | (25 << 8)) +#define MAP_LINK_CONTEST_ROOM4 (37 | (25 << 8)) +#define MAP_LINK_CONTEST_ROOM5 (38 | (25 << 8)) +#define MAP_LINK_CONTEST_ROOM6 (39 | (25 << 8)) +#define MAP_INSIDE_OF_TRUCK (40 | (25 << 8)) +#define MAP_SS_TIDAL_CORRIDOR (41 | (25 << 8)) +#define MAP_SS_TIDAL_LOWER_DECK (42 | (25 << 8)) +#define MAP_SS_TIDAL_ROOMS (43 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_01 (44 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_02 (45 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_03 (46 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_04 (47 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_05 (48 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_06 (49 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_07 (50 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_08 (51 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_09 (52 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_10 (53 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_11 (54 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_12 (55 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_13 (56 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_14 (57 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_15 (58 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_16 (59 | (25 << 8)) +#define MAP_UNION_ROOM (60 | (25 << 8)) + +// Map Group 26 +#define MAP_SAFARI_ZONE_NORTHWEST (0 | (26 << 8)) +#define MAP_SAFARI_ZONE_NORTHEAST (1 | (26 << 8)) +#define MAP_SAFARI_ZONE_SOUTHWEST (2 | (26 << 8)) +#define MAP_SAFARI_ZONE_SOUTHEAST (3 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_OUTSIDE_WEST (4 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY (5 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR (6 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR (7 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM (8 | (26 << 8)) +#define MAP_SOUTHERN_ISLAND_EXTERIOR (9 | (26 << 8)) +#define MAP_SOUTHERN_ISLAND_INTERIOR (10 | (26 << 8)) +#define MAP_SAFARI_ZONE_REST_HOUSE (11 | (26 << 8)) +#define MAP_SAFARI_ZONE_EM_1 (12 | (26 << 8)) +#define MAP_SAFARI_ZONE_EM_2 (13 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_OUTSIDE_EAST (14 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM (15 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2 (16 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM_2 (17 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY (18 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR (19 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM (20 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM (21 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY (22 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR (23 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM (24 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY (25 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE (26 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP (27 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY (28 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR (29 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM (30 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY (31 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM (32 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM (33 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY (34 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR (35 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM (36 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_1 (37 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_2 (38 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_3 (39 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_RANKING_HALL (40 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE_1 (41 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER (42 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE_2 (43 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE_3 (44 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE_4 (45 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_SCOTTS_HOUSE (46 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE_5 (47 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE_6 (48 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE_7 (49 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_RECEPTION_GATE (50 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE_8 (51 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE_9 (52 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F (53 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F (54 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_MART (55 | (26 << 8)) +#define MAP_FARAWAY_ISLAND_ENTRANCE (56 | (26 << 8)) +#define MAP_FARAWAY_ISLAND_INTERIOR (57 | (26 << 8)) +#define MAP_BIRTH_ISLAND_EXTERIOR (58 | (26 << 8)) +#define MAP_BIRTH_ISLAND_HARBOR (59 | (26 << 8)) +#define MAP_TRAINER_HILL_ENTRANCE (60 | (26 << 8)) +#define MAP_TRAINER_HILL_1F (61 | (26 << 8)) +#define MAP_TRAINER_HILL_2F (62 | (26 << 8)) +#define MAP_TRAINER_HILL_3F (63 | (26 << 8)) +#define MAP_TRAINER_HILL_4F (64 | (26 << 8)) +#define MAP_TRAINER_HILL_ROOF (65 | (26 << 8)) +#define MAP_NAVEL_ROCK_EXTERIOR (66 | (26 << 8)) +#define MAP_NAVEL_ROCK_HARBOR (67 | (26 << 8)) +#define MAP_NAVEL_ROCK_ENTRANCE (68 | (26 << 8)) +#define MAP_NAVEL_ROCK_B1F (69 | (26 << 8)) +#define MAP_NAVEL_ROCK_FORK (70 | (26 << 8)) +#define MAP_NAVEL_ROCK_UP_1 (71 | (26 << 8)) +#define MAP_NAVEL_ROCK_UP_2 (72 | (26 << 8)) +#define MAP_NAVEL_ROCK_UP_3 (73 | (26 << 8)) +#define MAP_NAVEL_ROCK_UP_4 (74 | (26 << 8)) +#define MAP_NAVEL_ROCK_TOP (75 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_01 (76 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_02 (77 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_03 (78 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_04 (79 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_05 (80 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_06 (81 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_07 (82 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_08 (83 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_09 (84 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_10 (85 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_11 (86 | (26 << 8)) +#define MAP_NAVEL_ROCK_BOTTOM (87 | (26 << 8)) +#define MAP_TRAINER_HILL_ELEVATOR (88 | (26 << 8)) + +// Map Group 27 +#define MAP_ROUTE104_PROTOTYPE (0 | (27 << 8)) +#define MAP_ROUTE104_PROTOTYPE_PRETTY_PETAL_FLOWER_SHOP (1 | (27 << 8)) + +// Map Group 28 +#define MAP_ROUTE109_SEASHORE_HOUSE (0 | (28 << 8)) + +// Map Group 29 +#define MAP_ROUTE110_TRICK_HOUSE_ENTRANCE (0 | (29 << 8)) +#define MAP_ROUTE110_TRICK_HOUSE_END (1 | (29 << 8)) +#define MAP_ROUTE110_TRICK_HOUSE_CORRIDOR (2 | (29 << 8)) +#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE1 (3 | (29 << 8)) +#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE2 (4 | (29 << 8)) +#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE3 (5 | (29 << 8)) +#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE4 (6 | (29 << 8)) +#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE5 (7 | (29 << 8)) +#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE6 (8 | (29 << 8)) +#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE7 (9 | (29 << 8)) +#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE8 (10 | (29 << 8)) +#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE (11 | (29 << 8)) +#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE (12 | (29 << 8)) + +// Map Group 30 +#define MAP_ROUTE113_GLASS_WORKSHOP (0 | (30 << 8)) + +// Map Group 31 +#define MAP_ROUTE123_BERRY_MASTERS_HOUSE (0 | (31 << 8)) + +// Map Group 32 +#define MAP_ROUTE119_WEATHER_INSTITUTE_1F (0 | (32 << 8)) +#define MAP_ROUTE119_WEATHER_INSTITUTE_2F (1 | (32 << 8)) +#define MAP_ROUTE119_HOUSE (2 | (32 << 8)) + +// Map Group 33 +#define MAP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE (0 | (33 << 8)) + + +#define MAP_NONE (0x7F | (0x7F << 8)) +#define MAP_UNDEFINED (0xFF | (0xFF << 8)) + + +#define MAP_GROUP(map) (MAP_##map >> 8) +#define MAP_NUM(map) (MAP_##map & 0xFF) + +#endif // GUARD_CONSTANTS_MAPS_H diff --git a/include/constants/mauville_man.h b/include/constants/mauville_man.h new file mode 100644 index 0000000000..b00e3a2919 --- /dev/null +++ b/include/constants/mauville_man.h @@ -0,0 +1,10 @@ +#ifndef GUARD_CONSTANTS_MAUVILLE_MAN_H +#define GUARD_CONSTANTS_MAUVILLE_MAN_H + +#define MAUVILLE_MAN_BARD 0 +#define MAUVILLE_MAN_HIPSTER 1 +#define MAUVILLE_MAN_TRADER 2 +#define MAUVILLE_MAN_STORYTELLER 3 +#define MAUVILLE_MAN_GIDDY 4 + +#endif // GUARD_CONSTANTS_MAUVILLE_MAN_H diff --git a/include/constants/moves.h b/include/constants/moves.h new file mode 100644 index 0000000000..f3a3acb902 --- /dev/null +++ b/include/constants/moves.h @@ -0,0 +1,362 @@ +#ifndef GUARD_CONSTANTS_MOVES_H +#define GUARD_CONSTANTS_MOVES_H + +#define MOVE_NONE 0 +#define MOVE_POUND 1 +#define MOVE_KARATE_CHOP 2 +#define MOVE_DOUBLE_SLAP 3 +#define MOVE_COMET_PUNCH 4 +#define MOVE_MEGA_PUNCH 5 +#define MOVE_PAY_DAY 6 +#define MOVE_FIRE_PUNCH 7 +#define MOVE_ICE_PUNCH 8 +#define MOVE_THUNDER_PUNCH 9 +#define MOVE_SCRATCH 10 +#define MOVE_VICE_GRIP 11 +#define MOVE_GUILLOTINE 12 +#define MOVE_RAZOR_WIND 13 +#define MOVE_SWORDS_DANCE 14 +#define MOVE_CUT 15 +#define MOVE_GUST 16 +#define MOVE_WING_ATTACK 17 +#define MOVE_WHIRLWIND 18 +#define MOVE_FLY 19 +#define MOVE_BIND 20 +#define MOVE_SLAM 21 +#define MOVE_VINE_WHIP 22 +#define MOVE_STOMP 23 +#define MOVE_DOUBLE_KICK 24 +#define MOVE_MEGA_KICK 25 +#define MOVE_JUMP_KICK 26 +#define MOVE_ROLLING_KICK 27 +#define MOVE_SAND_ATTACK 28 +#define MOVE_HEADBUTT 29 +#define MOVE_HORN_ATTACK 30 +#define MOVE_FURY_ATTACK 31 +#define MOVE_HORN_DRILL 32 +#define MOVE_TACKLE 33 +#define MOVE_BODY_SLAM 34 +#define MOVE_WRAP 35 +#define MOVE_TAKE_DOWN 36 +#define MOVE_THRASH 37 +#define MOVE_DOUBLE_EDGE 38 +#define MOVE_TAIL_WHIP 39 +#define MOVE_POISON_STING 40 +#define MOVE_TWINEEDLE 41 +#define MOVE_PIN_MISSILE 42 +#define MOVE_LEER 43 +#define MOVE_BITE 44 +#define MOVE_GROWL 45 +#define MOVE_ROAR 46 +#define MOVE_SING 47 +#define MOVE_SUPERSONIC 48 +#define MOVE_SONIC_BOOM 49 +#define MOVE_DISABLE 50 +#define MOVE_ACID 51 +#define MOVE_EMBER 52 +#define MOVE_FLAMETHROWER 53 +#define MOVE_MIST 54 +#define MOVE_WATER_GUN 55 +#define MOVE_HYDRO_PUMP 56 +#define MOVE_SURF 57 +#define MOVE_ICE_BEAM 58 +#define MOVE_BLIZZARD 59 +#define MOVE_PSYBEAM 60 +#define MOVE_BUBBLE_BEAM 61 +#define MOVE_AURORA_BEAM 62 +#define MOVE_HYPER_BEAM 63 +#define MOVE_PECK 64 +#define MOVE_DRILL_PECK 65 +#define MOVE_SUBMISSION 66 +#define MOVE_LOW_KICK 67 +#define MOVE_COUNTER 68 +#define MOVE_SEISMIC_TOSS 69 +#define MOVE_STRENGTH 70 +#define MOVE_ABSORB 71 +#define MOVE_MEGA_DRAIN 72 +#define MOVE_LEECH_SEED 73 +#define MOVE_GROWTH 74 +#define MOVE_RAZOR_LEAF 75 +#define MOVE_SOLAR_BEAM 76 +#define MOVE_POISON_POWDER 77 +#define MOVE_STUN_SPORE 78 +#define MOVE_SLEEP_POWDER 79 +#define MOVE_PETAL_DANCE 80 +#define MOVE_STRING_SHOT 81 +#define MOVE_DRAGON_RAGE 82 +#define MOVE_FIRE_SPIN 83 +#define MOVE_THUNDER_SHOCK 84 +#define MOVE_THUNDERBOLT 85 +#define MOVE_THUNDER_WAVE 86 +#define MOVE_THUNDER 87 +#define MOVE_ROCK_THROW 88 +#define MOVE_EARTHQUAKE 89 +#define MOVE_FISSURE 90 +#define MOVE_DIG 91 +#define MOVE_TOXIC 92 +#define MOVE_CONFUSION 93 +#define MOVE_PSYCHIC 94 +#define MOVE_HYPNOSIS 95 +#define MOVE_MEDITATE 96 +#define MOVE_AGILITY 97 +#define MOVE_QUICK_ATTACK 98 +#define MOVE_RAGE 99 +#define MOVE_TELEPORT 100 +#define MOVE_NIGHT_SHADE 101 +#define MOVE_MIMIC 102 +#define MOVE_SCREECH 103 +#define MOVE_DOUBLE_TEAM 104 +#define MOVE_RECOVER 105 +#define MOVE_HARDEN 106 +#define MOVE_MINIMIZE 107 +#define MOVE_SMOKESCREEN 108 +#define MOVE_CONFUSE_RAY 109 +#define MOVE_WITHDRAW 110 +#define MOVE_DEFENSE_CURL 111 +#define MOVE_BARRIER 112 +#define MOVE_LIGHT_SCREEN 113 +#define MOVE_HAZE 114 +#define MOVE_REFLECT 115 +#define MOVE_FOCUS_ENERGY 116 +#define MOVE_BIDE 117 +#define MOVE_METRONOME 118 +#define MOVE_MIRROR_MOVE 119 +#define MOVE_SELF_DESTRUCT 120 +#define MOVE_EGG_BOMB 121 +#define MOVE_LICK 122 +#define MOVE_SMOG 123 +#define MOVE_SLUDGE 124 +#define MOVE_BONE_CLUB 125 +#define MOVE_FIRE_BLAST 126 +#define MOVE_WATERFALL 127 +#define MOVE_CLAMP 128 +#define MOVE_SWIFT 129 +#define MOVE_SKULL_BASH 130 +#define MOVE_SPIKE_CANNON 131 +#define MOVE_CONSTRICT 132 +#define MOVE_AMNESIA 133 +#define MOVE_KINESIS 134 +#define MOVE_SOFT_BOILED 135 +#define MOVE_HI_JUMP_KICK 136 +#define MOVE_GLARE 137 +#define MOVE_DREAM_EATER 138 +#define MOVE_POISON_GAS 139 +#define MOVE_BARRAGE 140 +#define MOVE_LEECH_LIFE 141 +#define MOVE_LOVELY_KISS 142 +#define MOVE_SKY_ATTACK 143 +#define MOVE_TRANSFORM 144 +#define MOVE_BUBBLE 145 +#define MOVE_DIZZY_PUNCH 146 +#define MOVE_SPORE 147 +#define MOVE_FLASH 148 +#define MOVE_PSYWAVE 149 +#define MOVE_SPLASH 150 +#define MOVE_ACID_ARMOR 151 +#define MOVE_CRABHAMMER 152 +#define MOVE_EXPLOSION 153 +#define MOVE_FURY_SWIPES 154 +#define MOVE_BONEMERANG 155 +#define MOVE_REST 156 +#define MOVE_ROCK_SLIDE 157 +#define MOVE_HYPER_FANG 158 +#define MOVE_SHARPEN 159 +#define MOVE_CONVERSION 160 +#define MOVE_TRI_ATTACK 161 +#define MOVE_SUPER_FANG 162 +#define MOVE_SLASH 163 +#define MOVE_SUBSTITUTE 164 +#define MOVE_STRUGGLE 165 +#define MOVE_SKETCH 166 +#define MOVE_TRIPLE_KICK 167 +#define MOVE_THIEF 168 +#define MOVE_SPIDER_WEB 169 +#define MOVE_MIND_READER 170 +#define MOVE_NIGHTMARE 171 +#define MOVE_FLAME_WHEEL 172 +#define MOVE_SNORE 173 +#define MOVE_CURSE 174 +#define MOVE_FLAIL 175 +#define MOVE_CONVERSION_2 176 +#define MOVE_AEROBLAST 177 +#define MOVE_COTTON_SPORE 178 +#define MOVE_REVERSAL 179 +#define MOVE_SPITE 180 +#define MOVE_POWDER_SNOW 181 +#define MOVE_PROTECT 182 +#define MOVE_MACH_PUNCH 183 +#define MOVE_SCARY_FACE 184 +#define MOVE_FAINT_ATTACK 185 +#define MOVE_SWEET_KISS 186 +#define MOVE_BELLY_DRUM 187 +#define MOVE_SLUDGE_BOMB 188 +#define MOVE_MUD_SLAP 189 +#define MOVE_OCTAZOOKA 190 +#define MOVE_SPIKES 191 +#define MOVE_ZAP_CANNON 192 +#define MOVE_FORESIGHT 193 +#define MOVE_DESTINY_BOND 194 +#define MOVE_PERISH_SONG 195 +#define MOVE_ICY_WIND 196 +#define MOVE_DETECT 197 +#define MOVE_BONE_RUSH 198 +#define MOVE_LOCK_ON 199 +#define MOVE_OUTRAGE 200 +#define MOVE_SANDSTORM 201 +#define MOVE_GIGA_DRAIN 202 +#define MOVE_ENDURE 203 +#define MOVE_CHARM 204 +#define MOVE_ROLLOUT 205 +#define MOVE_FALSE_SWIPE 206 +#define MOVE_SWAGGER 207 +#define MOVE_MILK_DRINK 208 +#define MOVE_SPARK 209 +#define MOVE_FURY_CUTTER 210 +#define MOVE_STEEL_WING 211 +#define MOVE_MEAN_LOOK 212 +#define MOVE_ATTRACT 213 +#define MOVE_SLEEP_TALK 214 +#define MOVE_HEAL_BELL 215 +#define MOVE_RETURN 216 +#define MOVE_PRESENT 217 +#define MOVE_FRUSTRATION 218 +#define MOVE_SAFEGUARD 219 +#define MOVE_PAIN_SPLIT 220 +#define MOVE_SACRED_FIRE 221 +#define MOVE_MAGNITUDE 222 +#define MOVE_DYNAMIC_PUNCH 223 +#define MOVE_MEGAHORN 224 +#define MOVE_DRAGON_BREATH 225 +#define MOVE_BATON_PASS 226 +#define MOVE_ENCORE 227 +#define MOVE_PURSUIT 228 +#define MOVE_RAPID_SPIN 229 +#define MOVE_SWEET_SCENT 230 +#define MOVE_IRON_TAIL 231 +#define MOVE_METAL_CLAW 232 +#define MOVE_VITAL_THROW 233 +#define MOVE_MORNING_SUN 234 +#define MOVE_SYNTHESIS 235 +#define MOVE_MOONLIGHT 236 +#define MOVE_HIDDEN_POWER 237 +#define MOVE_CROSS_CHOP 238 +#define MOVE_TWISTER 239 +#define MOVE_RAIN_DANCE 240 +#define MOVE_SUNNY_DAY 241 +#define MOVE_CRUNCH 242 +#define MOVE_MIRROR_COAT 243 +#define MOVE_PSYCH_UP 244 +#define MOVE_EXTREME_SPEED 245 +#define MOVE_ANCIENT_POWER 246 +#define MOVE_SHADOW_BALL 247 +#define MOVE_FUTURE_SIGHT 248 +#define MOVE_ROCK_SMASH 249 +#define MOVE_WHIRLPOOL 250 +#define MOVE_BEAT_UP 251 +#define MOVE_FAKE_OUT 252 +#define MOVE_UPROAR 253 +#define MOVE_STOCKPILE 254 +#define MOVE_SPIT_UP 255 +#define MOVE_SWALLOW 256 +#define MOVE_HEAT_WAVE 257 +#define MOVE_HAIL 258 +#define MOVE_TORMENT 259 +#define MOVE_FLATTER 260 +#define MOVE_WILL_O_WISP 261 +#define MOVE_MEMENTO 262 +#define MOVE_FACADE 263 +#define MOVE_FOCUS_PUNCH 264 +#define MOVE_SMELLING_SALT 265 +#define MOVE_FOLLOW_ME 266 +#define MOVE_NATURE_POWER 267 +#define MOVE_CHARGE 268 +#define MOVE_TAUNT 269 +#define MOVE_HELPING_HAND 270 +#define MOVE_TRICK 271 +#define MOVE_ROLE_PLAY 272 +#define MOVE_WISH 273 +#define MOVE_ASSIST 274 +#define MOVE_INGRAIN 275 +#define MOVE_SUPERPOWER 276 +#define MOVE_MAGIC_COAT 277 +#define MOVE_RECYCLE 278 +#define MOVE_REVENGE 279 +#define MOVE_BRICK_BREAK 280 +#define MOVE_YAWN 281 +#define MOVE_KNOCK_OFF 282 +#define MOVE_ENDEAVOR 283 +#define MOVE_ERUPTION 284 +#define MOVE_SKILL_SWAP 285 +#define MOVE_IMPRISON 286 +#define MOVE_REFRESH 287 +#define MOVE_GRUDGE 288 +#define MOVE_SNATCH 289 +#define MOVE_SECRET_POWER 290 +#define MOVE_DIVE 291 +#define MOVE_ARM_THRUST 292 +#define MOVE_CAMOUFLAGE 293 +#define MOVE_TAIL_GLOW 294 +#define MOVE_LUSTER_PURGE 295 +#define MOVE_MIST_BALL 296 +#define MOVE_FEATHER_DANCE 297 +#define MOVE_TEETER_DANCE 298 +#define MOVE_BLAZE_KICK 299 +#define MOVE_MUD_SPORT 300 +#define MOVE_ICE_BALL 301 +#define MOVE_NEEDLE_ARM 302 +#define MOVE_SLACK_OFF 303 +#define MOVE_HYPER_VOICE 304 +#define MOVE_POISON_FANG 305 +#define MOVE_CRUSH_CLAW 306 +#define MOVE_BLAST_BURN 307 +#define MOVE_HYDRO_CANNON 308 +#define MOVE_METEOR_MASH 309 +#define MOVE_ASTONISH 310 +#define MOVE_WEATHER_BALL 311 +#define MOVE_AROMATHERAPY 312 +#define MOVE_FAKE_TEARS 313 +#define MOVE_AIR_CUTTER 314 +#define MOVE_OVERHEAT 315 +#define MOVE_ODOR_SLEUTH 316 +#define MOVE_ROCK_TOMB 317 +#define MOVE_SILVER_WIND 318 +#define MOVE_METAL_SOUND 319 +#define MOVE_GRASS_WHISTLE 320 +#define MOVE_TICKLE 321 +#define MOVE_COSMIC_POWER 322 +#define MOVE_WATER_SPOUT 323 +#define MOVE_SIGNAL_BEAM 324 +#define MOVE_SHADOW_PUNCH 325 +#define MOVE_EXTRASENSORY 326 +#define MOVE_SKY_UPPERCUT 327 +#define MOVE_SAND_TOMB 328 +#define MOVE_SHEER_COLD 329 +#define MOVE_MUDDY_WATER 330 +#define MOVE_BULLET_SEED 331 +#define MOVE_AERIAL_ACE 332 +#define MOVE_ICICLE_SPEAR 333 +#define MOVE_IRON_DEFENSE 334 +#define MOVE_BLOCK 335 +#define MOVE_HOWL 336 +#define MOVE_DRAGON_CLAW 337 +#define MOVE_FRENZY_PLANT 338 +#define MOVE_BULK_UP 339 +#define MOVE_BOUNCE 340 +#define MOVE_MUD_SHOT 341 +#define MOVE_POISON_TAIL 342 +#define MOVE_COVET 343 +#define MOVE_VOLT_TACKLE 344 +#define MOVE_MAGICAL_LEAF 345 +#define MOVE_WATER_SPORT 346 +#define MOVE_CALM_MIND 347 +#define MOVE_LEAF_BLADE 348 +#define MOVE_DRAGON_DANCE 349 +#define MOVE_ROCK_BLAST 350 +#define MOVE_SHOCK_WAVE 351 +#define MOVE_WATER_PULSE 352 +#define MOVE_DOOM_DESIRE 353 +#define MOVE_PSYCHO_BOOST 354 + +#define LAST_MOVE_INDEX MOVE_PSYCHO_BOOST + +#endif // GUARD_CONSTANTS_MOVES_H diff --git a/include/constants/opponents.h b/include/constants/opponents.h new file mode 100644 index 0000000000..680a637635 --- /dev/null +++ b/include/constants/opponents.h @@ -0,0 +1,860 @@ +#ifndef GUARD_CONSTANTS_OPPONENTS_H +#define GUARD_CONSTANTS_OPPONENTS_H + +#define OPPONENT_NONE 0 +#define OPPONENT_SAWYER_1 1 +#define OPPONENT_GRUNT_1 2 +#define OPPONENT_GRUNT_2 3 +#define OPPONENT_GRUNT_3 4 +#define OPPONENT_GRUNT_4 5 +#define OPPONENT_GRUNT_5 6 +#define OPPONENT_GRUNT_6 7 +#define OPPONENT_GRUNT_7 8 +#define OPPONENT_GABRIELLE_1 9 +#define OPPONENT_GRUNT_8 10 +#define OPPONENT_MARCEL 11 +#define OPPONENT_ALBERTO 12 +#define OPPONENT_ED 13 +#define OPPONENT_GRUNT_9 14 +#define OPPONENT_DECLAN 15 +#define OPPONENT_GRUNT_10 16 +#define OPPONENT_GRUNT_11 17 +#define OPPONENT_GRUNT_12 18 +#define OPPONENT_GRUNT_13 19 +#define OPPONENT_GRUNT_14 20 +#define OPPONENT_GRUNT_15 21 +#define OPPONENT_GRUNT_16 22 +#define OPPONENT_GRUNT_17 23 +#define OPPONENT_GRUNT_18 24 +#define OPPONENT_GRUNT_19 25 +#define OPPONENT_GRUNT_20 26 +#define OPPONENT_GRUNT_21 27 +#define OPPONENT_GRUNT_22 28 +#define OPPONENT_FREDRICK 29 +#define OPPONENT_MATT_1 30 +#define OPPONENT_ZANDER 31 +#define OPPONENT_SHELLY_1 32 +#define OPPONENT_SHELLY_2 33 +#define OPPONENT_ARCHIE 34 +#define OPPONENT_LEAH 35 +#define OPPONENT_DAISY 36 +#define OPPONENT_ROSE_1 37 +#define OPPONENT_FELIX 38 +#define OPPONENT_VIOLET 39 +#define OPPONENT_ROSE_2 40 +#define OPPONENT_ROSE_3 41 +#define OPPONENT_ROSE_4 42 +#define OPPONENT_ROSE_5 43 +#define OPPONENT_DUSTY_1 44 +#define OPPONENT_CHIP 45 +#define OPPONENT_FOSTER 46 +#define OPPONENT_DUSTY_2 47 +#define OPPONENT_DUSTY_3 48 +#define OPPONENT_DUSTY_4 49 +#define OPPONENT_DUSTY_5 50 +#define OPPONENT_GABBY_AND_TY_1 51 +#define OPPONENT_GABBY_AND_TY_2 52 +#define OPPONENT_GABBY_AND_TY_3 53 +#define OPPONENT_GABBY_AND_TY_4 54 +#define OPPONENT_GABBY_AND_TY_5 55 +#define OPPONENT_GABBY_AND_TY_6 56 +#define OPPONENT_LOLA_1 57 +#define OPPONENT_AUSTINA 58 +#define OPPONENT_GWEN 59 +#define OPPONENT_LOLA_2 60 +#define OPPONENT_LOLA_3 61 +#define OPPONENT_LOLA_4 62 +#define OPPONENT_LOLA_5 63 +#define OPPONENT_RICKY_1 64 +#define OPPONENT_SIMON 65 +#define OPPONENT_CHARLIE 66 +#define OPPONENT_RICKY_2 67 +#define OPPONENT_RICKY_3 68 +#define OPPONENT_RICKY_4 69 +#define OPPONENT_RICKY_5 70 +#define OPPONENT_RANDALL 71 +#define OPPONENT_PARKER 72 +#define OPPONENT_GEORGE 73 +#define OPPONENT_BERKE 74 +#define OPPONENT_BRAXTON 75 +#define OPPONENT_VINCENT 76 +#define OPPONENT_LEROY 77 +#define OPPONENT_WILTON_1 78 +#define OPPONENT_EDGAR 79 +#define OPPONENT_ALBERT 80 +#define OPPONENT_SAMUEL 81 +#define OPPONENT_VITO 82 +#define OPPONENT_OWEN 83 +#define OPPONENT_WILTON_2 84 +#define OPPONENT_WILTON_3 85 +#define OPPONENT_WILTON_4 86 +#define OPPONENT_WILTON_5 87 +#define OPPONENT_WARREN 88 +#define OPPONENT_MARY 89 +#define OPPONENT_ALEXIA 90 +#define OPPONENT_JODY 91 +#define OPPONENT_WENDY 92 +#define OPPONENT_KEIRA 93 +#define OPPONENT_BROOKE_1 94 +#define OPPONENT_JENNIFER 95 +#define OPPONENT_HOPE 96 +#define OPPONENT_SHANNON 97 +#define OPPONENT_MICHELLE 98 +#define OPPONENT_CAROLINE 99 +#define OPPONENT_JULIE 100 +#define OPPONENT_BROOKE_2 101 +#define OPPONENT_BROOKE_3 102 +#define OPPONENT_BROOKE_4 103 +#define OPPONENT_BROOKE_5 104 +#define OPPONENT_PATRICIA 105 +#define OPPONENT_KINDRA 106 +#define OPPONENT_TAMMY 107 +#define OPPONENT_VALERIE_1 108 +#define OPPONENT_TASHA 109 +#define OPPONENT_VALERIE_2 110 +#define OPPONENT_VALERIE_3 111 +#define OPPONENT_VALERIE_4 112 +#define OPPONENT_VALERIE_5 113 +#define OPPONENT_CINDY_1 114 +#define OPPONENT_DAPHNE 115 +#define OPPONENT_GRUNT_23 116 +#define OPPONENT_CINDY_2 117 +#define OPPONENT_BRIANNA 118 +#define OPPONENT_NAOMI 119 +#define OPPONENT_CINDY_3 120 +#define OPPONENT_CINDY_4 121 +#define OPPONENT_CINDY_5 122 +#define OPPONENT_CINDY_6 123 +#define OPPONENT_MELISSA 124 +#define OPPONENT_SHEILA 125 +#define OPPONENT_SHIRLEY 126 +#define OPPONENT_JESSICA_1 127 +#define OPPONENT_CONNIE 128 +#define OPPONENT_BRIDGET 129 +#define OPPONENT_OLIVIA 130 +#define OPPONENT_TIFFANY 131 +#define OPPONENT_JESSICA_2 132 +#define OPPONENT_JESSICA_3 133 +#define OPPONENT_JESSICA_4 134 +#define OPPONENT_JESSICA_5 135 +#define OPPONENT_WINSTON_1 136 +#define OPPONENT_MOLLIE 137 +#define OPPONENT_GARRET 138 +#define OPPONENT_WINSTON_2 139 +#define OPPONENT_WINSTON_3 140 +#define OPPONENT_WINSTON_4 141 +#define OPPONENT_WINSTON_5 142 +#define OPPONENT_STEVE_1 143 +#define OPPONENT_THALIA_1 144 +#define OPPONENT_MARK 145 +#define OPPONENT_GRUNT_24 146 +#define OPPONENT_STEVE_2 147 +#define OPPONENT_STEVE_3 148 +#define OPPONENT_STEVE_4 149 +#define OPPONENT_STEVE_5 150 +#define OPPONENT_LUIS 151 +#define OPPONENT_DOMINIK 152 +#define OPPONENT_DOUGLAS 153 +#define OPPONENT_DARRIN 154 +#define OPPONENT_TONY_1 155 +#define OPPONENT_JEROME 156 +#define OPPONENT_MATTHEW 157 +#define OPPONENT_DAVID 158 +#define OPPONENT_SPENCER 159 +#define OPPONENT_ROLAND 160 +#define OPPONENT_NOLEN 161 +#define OPPONENT_STAN 162 +#define OPPONENT_BARRY 163 +#define OPPONENT_DEAN 164 +#define OPPONENT_RODNEY 165 +#define OPPONENT_RICHARD 166 +#define OPPONENT_HERMAN 167 +#define OPPONENT_SANTIAGO 168 +#define OPPONENT_GILBERT 169 +#define OPPONENT_FRANKLIN 170 +#define OPPONENT_KEVIN 171 +#define OPPONENT_JACK 172 +#define OPPONENT_DUDLEY 173 +#define OPPONENT_CHAD 174 +#define OPPONENT_TONY_2 175 +#define OPPONENT_TONY_3 176 +#define OPPONENT_TONY_4 177 +#define OPPONENT_TONY_5 178 +#define OPPONENT_TAKAO 179 +#define OPPONENT_HITOSHI 180 +#define OPPONENT_KIYO 181 +#define OPPONENT_KOICHI 182 +#define OPPONENT_NOB_1 183 +#define OPPONENT_NOB_2 184 +#define OPPONENT_NOB_3 185 +#define OPPONENT_NOB_4 186 +#define OPPONENT_NOB_5 187 +#define OPPONENT_YUJI 188 +#define OPPONENT_DAISUKE 189 +#define OPPONENT_ATSUSHI 190 +#define OPPONENT_KIRK 191 +#define OPPONENT_GRUNT_25 192 +#define OPPONENT_GRUNT_26 193 +#define OPPONENT_SHAWN 194 +#define OPPONENT_FERNANDO_1 195 +#define OPPONENT_DALTON_1 196 +#define OPPONENT_DALTON_2 197 +#define OPPONENT_DALTON_3 198 +#define OPPONENT_DALTON_4 199 +#define OPPONENT_DALTON_5 200 +#define OPPONENT_COLE 201 +#define OPPONENT_JEFF 202 +#define OPPONENT_AXLE 203 +#define OPPONENT_JACE 204 +#define OPPONENT_KEEGAN 205 +#define OPPONENT_BERNIE_1 206 +#define OPPONENT_BERNIE_2 207 +#define OPPONENT_BERNIE_3 208 +#define OPPONENT_BERNIE_4 209 +#define OPPONENT_BERNIE_5 210 +#define OPPONENT_DREW 211 +#define OPPONENT_BEAU 212 +#define OPPONENT_LARRY 213 +#define OPPONENT_SHANE 214 +#define OPPONENT_JUSTIN 215 +#define OPPONENT_ETHAN_1 216 +#define OPPONENT_AUTUMN 217 +#define OPPONENT_TRAVIS 218 +#define OPPONENT_ETHAN_2 219 +#define OPPONENT_ETHAN_3 220 +#define OPPONENT_ETHAN_4 221 +#define OPPONENT_ETHAN_5 222 +#define OPPONENT_BRENT 223 +#define OPPONENT_DONALD 224 +#define OPPONENT_TAYLOR 225 +#define OPPONENT_JEFFREY_1 226 +#define OPPONENT_DEREK 227 +#define OPPONENT_JEFFREY_2 228 +#define OPPONENT_JEFFREY_3 229 +#define OPPONENT_JEFFREY_4 230 +#define OPPONENT_JEFFREY_5 231 +#define OPPONENT_EDWARD 232 +#define OPPONENT_PRESTON 233 +#define OPPONENT_VIRGIL 234 +#define OPPONENT_BLAKE 235 +#define OPPONENT_WILLIAM 236 +#define OPPONENT_JOSHUA 237 +#define OPPONENT_CAMERON_1 238 +#define OPPONENT_CAMERON_2 239 +#define OPPONENT_CAMERON_3 240 +#define OPPONENT_CAMERON_4 241 +#define OPPONENT_CAMERON_5 242 +#define OPPONENT_JACLYN 243 +#define OPPONENT_HANNAH 244 +#define OPPONENT_SAMANTHA 245 +#define OPPONENT_MAURA 246 +#define OPPONENT_KAYLA 247 +#define OPPONENT_ALEXIS 248 +#define OPPONENT_JACKI_1 249 +#define OPPONENT_JACKI_2 250 +#define OPPONENT_JACKI_3 251 +#define OPPONENT_JACKI_4 252 +#define OPPONENT_JACKI_5 253 +#define OPPONENT_WALTER_1 254 +#define OPPONENT_MICAH 255 +#define OPPONENT_THOMAS 256 +#define OPPONENT_WALTER_2 257 +#define OPPONENT_WALTER_3 258 +#define OPPONENT_WALTER_4 259 +#define OPPONENT_WALTER_5 260 +#define OPPONENT_SIDNEY 261 +#define OPPONENT_PHOEBE 262 +#define OPPONENT_GLACIA 263 +#define OPPONENT_DRAKE 264 +#define OPPONENT_ROXANNE_1 265 +#define OPPONENT_BRAWLY_1 266 +#define OPPONENT_WATTSON_1 267 +#define OPPONENT_FLANNERY_1 268 +#define OPPONENT_NORMAN_1 269 +#define OPPONENT_WINONA_1 270 +#define OPPONENT_TATE_AND_LIZA_1 271 +#define OPPONENT_JUAN_1 272 +#define OPPONENT_JERRY_1 273 +#define OPPONENT_TED 274 +#define OPPONENT_PAUL 275 +#define OPPONENT_JERRY_2 276 +#define OPPONENT_JERRY_3 277 +#define OPPONENT_JERRY_4 278 +#define OPPONENT_JERRY_5 279 +#define OPPONENT_KAREN_1 280 +#define OPPONENT_GEORGIA 281 +#define OPPONENT_KAREN_2 282 +#define OPPONENT_KAREN_3 283 +#define OPPONENT_KAREN_4 284 +#define OPPONENT_KAREN_5 285 +#define OPPONENT_KATE_AND_JOY 286 +#define OPPONENT_ANNA_AND_MEG_1 287 +#define OPPONENT_ANNA_AND_MEG_2 288 +#define OPPONENT_ANNA_AND_MEG_3 289 +#define OPPONENT_ANNA_AND_MEG_4 290 +#define OPPONENT_ANNA_AND_MEG_5 291 +#define OPPONENT_VICTOR 292 +#define OPPONENT_MIGUEL_1 293 +#define OPPONENT_COLTON 294 +#define OPPONENT_MIGUEL_2 295 +#define OPPONENT_MIGUEL_3 296 +#define OPPONENT_MIGUEL_4 297 +#define OPPONENT_MIGUEL_5 298 +#define OPPONENT_VICTORIA 299 +#define OPPONENT_VANESSA 300 +#define OPPONENT_BETHANY 301 +#define OPPONENT_ISABEL_1 302 +#define OPPONENT_ISABEL_2 303 +#define OPPONENT_ISABEL_3 304 +#define OPPONENT_ISABEL_4 305 +#define OPPONENT_ISABEL_5 306 +#define OPPONENT_TIMOTHY_1 307 +#define OPPONENT_TIMOTHY_2 308 +#define OPPONENT_TIMOTHY_3 309 +#define OPPONENT_TIMOTHY_4 310 +#define OPPONENT_TIMOTHY_5 311 +#define OPPONENT_VICKY 312 +#define OPPONENT_SHELBY_1 313 +#define OPPONENT_SHELBY_2 314 +#define OPPONENT_SHELBY_3 315 +#define OPPONENT_SHELBY_4 316 +#define OPPONENT_SHELBY_5 317 +#define OPPONENT_CALVIN_1 318 +#define OPPONENT_BILLY 319 +#define OPPONENT_JOSH 320 +#define OPPONENT_TOMMY 321 +#define OPPONENT_JOEY 322 +#define OPPONENT_BEN 323 +#define OPPONENT_QUINCY 324 +#define OPPONENT_KATELYNN 325 +#define OPPONENT_JAYLEN 326 +#define OPPONENT_DILLON 327 +#define OPPONENT_CALVIN_2 328 +#define OPPONENT_CALVIN_3 329 +#define OPPONENT_CALVIN_4 330 +#define OPPONENT_CALVIN_5 331 +#define OPPONENT_EDDIE 332 +#define OPPONENT_ALLEN 333 +#define OPPONENT_TIMMY 334 +#define OPPONENT_WALLACE 335 +#define OPPONENT_ANDREW 336 +#define OPPONENT_IVAN 337 +#define OPPONENT_CLAUDE 338 +#define OPPONENT_ELLIOT_1 339 +#define OPPONENT_NED 340 +#define OPPONENT_DALE 341 +#define OPPONENT_NOLAN 342 +#define OPPONENT_BARNY 343 +#define OPPONENT_WADE 344 +#define OPPONENT_CARTER 345 +#define OPPONENT_ELLIOT_2 346 +#define OPPONENT_ELLIOT_3 347 +#define OPPONENT_ELLIOT_4 348 +#define OPPONENT_ELLIOT_5 349 +#define OPPONENT_RONALD 350 +#define OPPONENT_JACOB 351 +#define OPPONENT_ANTHONY 352 +#define OPPONENT_BENJAMIN_1 353 +#define OPPONENT_BENJAMIN_2 354 +#define OPPONENT_BENJAMIN_3 355 +#define OPPONENT_BENJAMIN_4 356 +#define OPPONENT_BENJAMIN_5 357 +#define OPPONENT_ABIGAIL_1 358 +#define OPPONENT_JASMINE 359 +#define OPPONENT_ABIGAIL_2 360 +#define OPPONENT_ABIGAIL_3 361 +#define OPPONENT_ABIGAIL_4 362 +#define OPPONENT_ABIGAIL_5 363 +#define OPPONENT_DYLAN_1 364 +#define OPPONENT_DYLAN_2 365 +#define OPPONENT_DYLAN_3 366 +#define OPPONENT_DYLAN_4 367 +#define OPPONENT_DYLAN_5 368 +#define OPPONENT_MARIA_1 369 +#define OPPONENT_MARIA_2 370 +#define OPPONENT_MARIA_3 371 +#define OPPONENT_MARIA_4 372 +#define OPPONENT_MARIA_5 373 +#define OPPONENT_CAMDEN 374 +#define OPPONENT_DEMETRIUS 375 +#define OPPONENT_ISAIAH_1 376 +#define OPPONENT_PABLO_1 377 +#define OPPONENT_CHASE 378 +#define OPPONENT_ISAIAH_2 379 +#define OPPONENT_ISAIAH_3 380 +#define OPPONENT_ISAIAH_4 381 +#define OPPONENT_ISAIAH_5 382 +#define OPPONENT_ISOBEL 383 +#define OPPONENT_DONNY 384 +#define OPPONENT_TALIA 385 +#define OPPONENT_KATELYN_1 386 +#define OPPONENT_ALLISON 387 +#define OPPONENT_KATELYN_2 388 +#define OPPONENT_KATELYN_3 389 +#define OPPONENT_KATELYN_4 390 +#define OPPONENT_KATELYN_5 391 +#define OPPONENT_NICOLAS_1 392 +#define OPPONENT_NICOLAS_2 393 +#define OPPONENT_NICOLAS_3 394 +#define OPPONENT_NICOLAS_4 395 +#define OPPONENT_NICOLAS_5 396 +#define OPPONENT_AARON 397 +#define OPPONENT_PERRY 398 +#define OPPONENT_HUGH 399 +#define OPPONENT_PHIL 400 +#define OPPONENT_JARED 401 +#define OPPONENT_HUMBERTO 402 +#define OPPONENT_PRESLEY 403 +#define OPPONENT_EDWARDO 404 +#define OPPONENT_COLIN 405 +#define OPPONENT_ROBERT_1 406 +#define OPPONENT_BENNY 407 +#define OPPONENT_CHESTER 408 +#define OPPONENT_ROBERT_2 409 +#define OPPONENT_ROBERT_3 410 +#define OPPONENT_ROBERT_4 411 +#define OPPONENT_ROBERT_5 412 +#define OPPONENT_ALEX 413 +#define OPPONENT_BECK 414 +#define OPPONENT_YASU 415 +#define OPPONENT_TAKASHI 416 +#define OPPONENT_DIANNE 417 +#define OPPONENT_JANI 418 +#define OPPONENT_LAO_1 419 +#define OPPONENT_LUNG 420 +#define OPPONENT_LAO_2 421 +#define OPPONENT_LAO_3 422 +#define OPPONENT_LAO_4 423 +#define OPPONENT_LAO_5 424 +#define OPPONENT_JOCELYN 425 +#define OPPONENT_LAURA 426 +#define OPPONENT_CYNDY_1 427 +#define OPPONENT_CORA 428 +#define OPPONENT_PAULA 429 +#define OPPONENT_CYNDY_2 430 +#define OPPONENT_CYNDY_3 431 +#define OPPONENT_CYNDY_4 432 +#define OPPONENT_CYNDY_5 433 +#define OPPONENT_MADELINE_1 434 +#define OPPONENT_CLARISSA 435 +#define OPPONENT_ANGELICA 436 +#define OPPONENT_MADELINE_2 437 +#define OPPONENT_MADELINE_3 438 +#define OPPONENT_MADELINE_4 439 +#define OPPONENT_MADELINE_5 440 +#define OPPONENT_BEVERLY 441 +#define OPPONENT_IMANI 442 +#define OPPONENT_KYLA 443 +#define OPPONENT_DENISE 444 +#define OPPONENT_BETH 445 +#define OPPONENT_TARA 446 +#define OPPONENT_MISSY 447 +#define OPPONENT_ALICE 448 +#define OPPONENT_JENNY_1 449 +#define OPPONENT_GRACE 450 +#define OPPONENT_TANYA 451 +#define OPPONENT_SHARON 452 +#define OPPONENT_NIKKI 453 +#define OPPONENT_BRENDA 454 +#define OPPONENT_KATIE 455 +#define OPPONENT_SUSIE 456 +#define OPPONENT_KARA 457 +#define OPPONENT_DANA 458 +#define OPPONENT_SIENNA 459 +#define OPPONENT_DEBRA 460 +#define OPPONENT_LINDA 461 +#define OPPONENT_KAYLEE 462 +#define OPPONENT_LAUREL 463 +#define OPPONENT_CARLEE 464 +#define OPPONENT_JENNY_2 465 +#define OPPONENT_JENNY_3 466 +#define OPPONENT_JENNY_4 467 +#define OPPONENT_JENNY_5 468 +#define OPPONENT_HEIDI 469 +#define OPPONENT_BECKY 470 +#define OPPONENT_CAROL 471 +#define OPPONENT_NANCY 472 +#define OPPONENT_MARTHA 473 +#define OPPONENT_DIANA_1 474 +#define OPPONENT_CEDRIC 475 +#define OPPONENT_IRENE 476 +#define OPPONENT_DIANA_2 477 +#define OPPONENT_DIANA_3 478 +#define OPPONENT_DIANA_4 479 +#define OPPONENT_DIANA_5 480 +#define OPPONENT_AMY_AND_LIV_1 481 +#define OPPONENT_AMY_AND_LIV_2 482 +#define OPPONENT_GINA_AND_MIA_1 483 +#define OPPONENT_MIU_AND_YUKI 484 +#define OPPONENT_AMY_AND_LIV_3 485 +#define OPPONENT_GINA_AND_MIA_2 486 +#define OPPONENT_AMY_AND_LIV_4 487 +#define OPPONENT_AMY_AND_LIV_5 488 +#define OPPONENT_AMY_AND_LIV_6 489 +#define OPPONENT_HUEY 490 +#define OPPONENT_EDMOND 491 +#define OPPONENT_ERNEST_1 492 +#define OPPONENT_DWAYNE 493 +#define OPPONENT_PHILLIP 494 +#define OPPONENT_LEONARD 495 +#define OPPONENT_DUNCAN 496 +#define OPPONENT_ERNEST_2 497 +#define OPPONENT_ERNEST_3 498 +#define OPPONENT_ERNEST_4 499 +#define OPPONENT_ERNEST_5 500 +#define OPPONENT_ELI 501 +#define OPPONENT_ANNIKA 502 +#define OPPONENT_JAZMYN 503 +#define OPPONENT_JONAS 504 +#define OPPONENT_KAYLEY 505 +#define OPPONENT_AURON 506 +#define OPPONENT_KELVIN 507 +#define OPPONENT_MARLEY 508 +#define OPPONENT_REYNA 509 +#define OPPONENT_HUDSON 510 +#define OPPONENT_CONOR 511 +#define OPPONENT_EDWIN_1 512 +#define OPPONENT_HECTOR 513 +#define OPPONENT_TABITHA_1 514 +#define OPPONENT_EDWIN_2 515 +#define OPPONENT_EDWIN_3 516 +#define OPPONENT_EDWIN_4 517 +#define OPPONENT_EDWIN_5 518 +#define OPPONENT_WALLY_1 519 +#define OPPONENT_BRENDAN_1 520 +#define OPPONENT_BRENDAN_2 521 +#define OPPONENT_BRENDAN_3 522 +#define OPPONENT_BRENDAN_4 523 +#define OPPONENT_BRENDAN_5 524 +#define OPPONENT_BRENDAN_6 525 +#define OPPONENT_BRENDAN_7 526 +#define OPPONENT_BRENDAN_8 527 +#define OPPONENT_BRENDAN_9 528 +#define OPPONENT_MAY_1 529 +#define OPPONENT_MAY_2 530 +#define OPPONENT_MAY_3 531 +#define OPPONENT_MAY_4 532 +#define OPPONENT_MAY_5 533 +#define OPPONENT_MAY_6 534 +#define OPPONENT_MAY_7 535 +#define OPPONENT_MAY_8 536 +#define OPPONENT_MAY_9 537 +#define OPPONENT_ISAAC_1 538 +#define OPPONENT_DAVIS 539 +#define OPPONENT_MITCHELL 540 +#define OPPONENT_ISAAC_2 541 +#define OPPONENT_ISAAC_3 542 +#define OPPONENT_ISAAC_4 543 +#define OPPONENT_ISAAC_5 544 +#define OPPONENT_LYDIA_1 545 +#define OPPONENT_HALLE 546 +#define OPPONENT_GARRISON 547 +#define OPPONENT_LYDIA_2 548 +#define OPPONENT_LYDIA_3 549 +#define OPPONENT_LYDIA_4 550 +#define OPPONENT_LYDIA_5 551 +#define OPPONENT_JACKSON_1 552 +#define OPPONENT_LORENZO 553 +#define OPPONENT_SEBASTIAN 554 +#define OPPONENT_JACKSON_2 555 +#define OPPONENT_JACKSON_3 556 +#define OPPONENT_JACKSON_4 557 +#define OPPONENT_JACKSON_5 558 +#define OPPONENT_CATHERINE_1 559 +#define OPPONENT_JENNA 560 +#define OPPONENT_SOPHIA 561 +#define OPPONENT_CATHERINE_2 562 +#define OPPONENT_CATHERINE_3 563 +#define OPPONENT_CATHERINE_4 564 +#define OPPONENT_CATHERINE_5 565 +#define OPPONENT_JULIO 566 +#define OPPONENT_GRUNT_27 567 +#define OPPONENT_GRUNT_28 568 +#define OPPONENT_GRUNT_29 569 +#define OPPONENT_GRUNT_30 570 +#define OPPONENT_MARC 571 +#define OPPONENT_BRENDEN 572 +#define OPPONENT_LILITH 573 +#define OPPONENT_CRISTIAN 574 +#define OPPONENT_SYLVIA 575 +#define OPPONENT_LEONARDO 576 +#define OPPONENT_ATHENA 577 +#define OPPONENT_HARRISON 578 +#define OPPONENT_GRUNT_31 579 +#define OPPONENT_CLARENCE 580 +#define OPPONENT_TERRY 581 +#define OPPONENT_NATE 582 +#define OPPONENT_KATHLEEN 583 +#define OPPONENT_CLIFFORD 584 +#define OPPONENT_NICHOLAS 585 +#define OPPONENT_GRUNT_32 586 +#define OPPONENT_GRUNT_33 587 +#define OPPONENT_GRUNT_34 588 +#define OPPONENT_GRUNT_35 589 +#define OPPONENT_GRUNT_36 590 +#define OPPONENT_MACEY 591 +#define OPPONENT_BRENDAN_10 592 +#define OPPONENT_BRENDAN_11 593 +#define OPPONENT_PAXTON 594 +#define OPPONENT_ISABELLA 595 +#define OPPONENT_GRUNT_37 596 +#define OPPONENT_TABITHA_2 597 +#define OPPONENT_JONATHAN 598 +#define OPPONENT_BRENDAN_12 599 +#define OPPONENT_MAY_10 600 +#define OPPONENT_MAXIE_1 601 +#define OPPONENT_MAXIE_2 602 +#define OPPONENT_TIANA 603 +#define OPPONENT_HALEY_1 604 +#define OPPONENT_JANICE 605 +#define OPPONENT_VIVI 606 +#define OPPONENT_HALEY_2 607 +#define OPPONENT_HALEY_3 608 +#define OPPONENT_HALEY_4 609 +#define OPPONENT_HALEY_5 610 +#define OPPONENT_SALLY 611 +#define OPPONENT_ROBIN 612 +#define OPPONENT_ANDREA 613 +#define OPPONENT_CRISSY 614 +#define OPPONENT_RICK 615 +#define OPPONENT_LYLE 616 +#define OPPONENT_JOSE 617 +#define OPPONENT_DOUG 618 +#define OPPONENT_GREG 619 +#define OPPONENT_KENT 620 +#define OPPONENT_JAMES_1 621 +#define OPPONENT_JAMES_2 622 +#define OPPONENT_JAMES_3 623 +#define OPPONENT_JAMES_4 624 +#define OPPONENT_JAMES_5 625 +#define OPPONENT_BRICE 626 +#define OPPONENT_TRENT_1 627 +#define OPPONENT_LENNY 628 +#define OPPONENT_LUCAS_1 629 +#define OPPONENT_ALAN 630 +#define OPPONENT_CLARK 631 +#define OPPONENT_ERIC 632 +#define OPPONENT_LUCAS_2 633 +#define OPPONENT_MIKE_1 634 +#define OPPONENT_MIKE_2 635 +#define OPPONENT_TRENT_2 636 +#define OPPONENT_TRENT_3 637 +#define OPPONENT_TRENT_4 638 +#define OPPONENT_TRENT_5 639 +#define OPPONENT_DEZ_AND_LUKE 640 +#define OPPONENT_LEA_AND_JED 641 +#define OPPONENT_KIRA_AND_DAN_1 642 +#define OPPONENT_KIRA_AND_DAN_2 643 +#define OPPONENT_KIRA_AND_DAN_3 644 +#define OPPONENT_KIRA_AND_DAN_4 645 +#define OPPONENT_KIRA_AND_DAN_5 646 +#define OPPONENT_JOHANNA 647 +#define OPPONENT_GERALD 648 +#define OPPONENT_VIVIAN 649 +#define OPPONENT_DANIELLE 650 +#define OPPONENT_HIDEO 651 +#define OPPONENT_KEIGO 652 +#define OPPONENT_RILEY 653 +#define OPPONENT_FLINT 654 +#define OPPONENT_ASHLEY 655 +#define OPPONENT_WALLY_2 656 +#define OPPONENT_WALLY_3 657 +#define OPPONENT_WALLY_4 658 +#define OPPONENT_WALLY_5 659 +#define OPPONENT_WALLY_6 660 +#define OPPONENT_BRENDAN_13 661 +#define OPPONENT_BRENDAN_14 662 +#define OPPONENT_BRENDAN_15 663 +#define OPPONENT_MAY_11 664 +#define OPPONENT_MAY_12 665 +#define OPPONENT_MAY_13 666 +#define OPPONENT_JONAH 667 +#define OPPONENT_HENRY 668 +#define OPPONENT_ROGER 669 +#define OPPONENT_ALEXA 670 +#define OPPONENT_RUBEN 671 +#define OPPONENT_KOJI_1 672 +#define OPPONENT_WAYNE 673 +#define OPPONENT_AIDAN 674 +#define OPPONENT_REED 675 +#define OPPONENT_TISHA 676 +#define OPPONENT_TORI_AND_TIA 677 +#define OPPONENT_KIM_AND_IRIS 678 +#define OPPONENT_TYRA_AND_IVY 679 +#define OPPONENT_MEL_AND_PAUL 680 +#define OPPONENT_JOHN_AND_JAY_1 681 +#define OPPONENT_JOHN_AND_JAY_2 682 +#define OPPONENT_JOHN_AND_JAY_3 683 +#define OPPONENT_JOHN_AND_JAY_4 684 +#define OPPONENT_JOHN_AND_JAY_5 685 +#define OPPONENT_RELI_AND_IAN 686 +#define OPPONENT_LILA_AND_ROY_1 687 +#define OPPONENT_LILA_AND_ROY_2 688 +#define OPPONENT_LILA_AND_ROY_3 689 +#define OPPONENT_LILA_AND_ROY_4 690 +#define OPPONENT_LILA_AND_ROY_5 691 +#define OPPONENT_LISA_AND_RAY 692 +#define OPPONENT_CHRIS 693 +#define OPPONENT_DAWSON 694 +#define OPPONENT_SARAH 695 +#define OPPONENT_DARIAN 696 +#define OPPONENT_HAILEY 697 +#define OPPONENT_CHANDLER 698 +#define OPPONENT_KALEB 699 +#define OPPONENT_JOSEPH 700 +#define OPPONENT_ALYSSA 701 +#define OPPONENT_MARCOS 702 +#define OPPONENT_RHETT 703 +#define OPPONENT_TYRON 704 +#define OPPONENT_CELINA 705 +#define OPPONENT_BIANCA 706 +#define OPPONENT_HAYDEN 707 +#define OPPONENT_SOPHIE 708 +#define OPPONENT_COBY 709 +#define OPPONENT_LAWRENCE 710 +#define OPPONENT_WYATT 711 +#define OPPONENT_ANGELINA 712 +#define OPPONENT_KAI 713 +#define OPPONENT_CHARLOTTE 714 +#define OPPONENT_DEANDRE 715 +#define OPPONENT_GRUNT_38 716 +#define OPPONENT_GRUNT_39 717 +#define OPPONENT_GRUNT_40 718 +#define OPPONENT_GRUNT_41 719 +#define OPPONENT_GRUNT_42 720 +#define OPPONENT_GRUNT_43 721 +#define OPPONENT_GRUNT_44 722 +#define OPPONENT_GRUNT_45 723 +#define OPPONENT_GRUNT_46 724 +#define OPPONENT_GRUNT_47 725 +#define OPPONENT_GRUNT_48 726 +#define OPPONENT_GRUNT_49 727 +#define OPPONENT_GRUNT_50 728 +#define OPPONENT_GRUNT_51 729 +#define OPPONENT_GRUNT_52 730 +#define OPPONENT_GRUNT_53 731 +#define OPPONENT_TABITHA_3 732 +#define OPPONENT_DARCY 733 +#define OPPONENT_MAXIE_3 734 +#define OPPONENT_PETE 735 +#define OPPONENT_ISABELLE 736 +#define OPPONENT_ANDRES_1 737 +#define OPPONENT_JOSUE 738 +#define OPPONENT_CAMRON 739 +#define OPPONENT_CORY_1 740 +#define OPPONENT_CAROLINA 741 +#define OPPONENT_ELIJAH 742 +#define OPPONENT_CELIA 743 +#define OPPONENT_BRYAN 744 +#define OPPONENT_BRANDEN 745 +#define OPPONENT_BRYANT 746 +#define OPPONENT_SHAYLA 747 +#define OPPONENT_KYRA 748 +#define OPPONENT_JAIDEN 749 +#define OPPONENT_ALIX 750 +#define OPPONENT_HELENE 751 +#define OPPONENT_MARLENE 752 +#define OPPONENT_DEVAN 753 +#define OPPONENT_JOHNSON 754 +#define OPPONENT_MELINA 755 +#define OPPONENT_BRANDI 756 +#define OPPONENT_AISHA 757 +#define OPPONENT_MAKAYLA 758 +#define OPPONENT_FABIAN 759 +#define OPPONENT_DAYTON 760 +#define OPPONENT_RACHEL 761 +#define OPPONENT_LEONEL 762 +#define OPPONENT_CALLIE 763 +#define OPPONENT_CALE 764 +#define OPPONENT_MYLES 765 +#define OPPONENT_PAT 766 +#define OPPONENT_CRISTIN_1 767 +#define OPPONENT_MAY_14 768 +#define OPPONENT_MAY_15 769 +#define OPPONENT_ROXANNE_2 770 +#define OPPONENT_ROXANNE_3 771 +#define OPPONENT_ROXANNE_4 772 +#define OPPONENT_ROXANNE_5 773 +#define OPPONENT_BRAWLY_2 774 +#define OPPONENT_BRAWLY_3 775 +#define OPPONENT_BRAWLY_4 776 +#define OPPONENT_BRAWLY_5 777 +#define OPPONENT_WATTSON_2 778 +#define OPPONENT_WATTSON_3 779 +#define OPPONENT_WATTSON_4 780 +#define OPPONENT_WATTSON_5 781 +#define OPPONENT_FLANNERY_2 782 +#define OPPONENT_FLANNERY_3 783 +#define OPPONENT_FLANNERY_4 784 +#define OPPONENT_FLANNERY_5 785 +#define OPPONENT_NORMAN_2 786 +#define OPPONENT_NORMAN_3 787 +#define OPPONENT_NORMAN_4 788 +#define OPPONENT_NORMAN_5 789 +#define OPPONENT_WINONA_2 790 +#define OPPONENT_WINONA_3 791 +#define OPPONENT_WINONA_4 792 +#define OPPONENT_WINONA_5 793 +#define OPPONENT_TATE_AND_LIZA_2 794 +#define OPPONENT_TATE_AND_LIZA_3 795 +#define OPPONENT_TATE_AND_LIZA_4 796 +#define OPPONENT_TATE_AND_LIZA_5 797 +#define OPPONENT_JUAN_2 798 +#define OPPONENT_JUAN_3 799 +#define OPPONENT_JUAN_4 800 +#define OPPONENT_JUAN_5 801 +#define OPPONENT_ANGELO 802 +#define OPPONENT_DARIUS 803 +#define OPPONENT_STEVEN 804 +#define OPPONENT_ANABEL 805 +#define OPPONENT_TUCKER 806 +#define OPPONENT_SPENSER 807 +#define OPPONENT_GRETA 808 +#define OPPONENT_NOLAND 809 +#define OPPONENT_LUCY 810 +#define OPPONENT_BRANDON 811 +#define OPPONENT_ANDRES_2 812 +#define OPPONENT_ANDRES_3 813 +#define OPPONENT_ANDRES_4 814 +#define OPPONENT_ANDRES_5 815 +#define OPPONENT_CORY_2 816 +#define OPPONENT_CORY_3 817 +#define OPPONENT_CORY_4 818 +#define OPPONENT_CORY_5 819 +#define OPPONENT_PABLO_2 820 +#define OPPONENT_PABLO_3 821 +#define OPPONENT_PABLO_4 822 +#define OPPONENT_PABLO_5 823 +#define OPPONENT_KOJI_2 824 +#define OPPONENT_KOJI_3 825 +#define OPPONENT_KOJI_4 826 +#define OPPONENT_KOJI_5 827 +#define OPPONENT_CRISTIN_2 828 +#define OPPONENT_CRISTIN_3 829 +#define OPPONENT_CRISTIN_4 830 +#define OPPONENT_CRISTIN_5 831 +#define OPPONENT_FERNANDO_2 832 +#define OPPONENT_FERNANDO_3 833 +#define OPPONENT_FERNANDO_4 834 +#define OPPONENT_FERNANDO_5 835 +#define OPPONENT_SAWYER_2 836 +#define OPPONENT_SAWYER_3 837 +#define OPPONENT_SAWYER_4 838 +#define OPPONENT_SAWYER_5 839 +#define OPPONENT_GABRIELLE_2 840 +#define OPPONENT_GABRIELLE_3 841 +#define OPPONENT_GABRIELLE_4 842 +#define OPPONENT_GABRIELLE_5 843 +#define OPPONENT_THALIA_2 844 +#define OPPONENT_THALIA_3 845 +#define OPPONENT_THALIA_4 846 +#define OPPONENT_THALIA_5 847 +#define OPPONENT_MARIELA 848 +#define OPPONENT_ALVARO 848 +#define OPPONENT_EVERETT 850 +#define OPPONENT_RED 851 +#define OPPONENT_LEAF 852 +#define OPPONENT_BRENDAN_16 853 +#define OPPONENT_MAY_16 854 + +#endif // GUARD_CONSTANTS_OPPONENTS_H diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h new file mode 100644 index 0000000000..78c1583b4f --- /dev/null +++ b/include/constants/pokemon.h @@ -0,0 +1,80 @@ +#ifndef GUARD_CONSTANTS_POKEMON_H +#define GUARD_CONSTANTS_POKEMON_H + +// Pokemon types +#define TYPE_NORMAL 0x00 +#define TYPE_FIGHTING 0x01 +#define TYPE_FLYING 0x02 +#define TYPE_POISON 0x03 +#define TYPE_GROUND 0x04 +#define TYPE_ROCK 0x05 +#define TYPE_BUG 0x06 +#define TYPE_GHOST 0x07 +#define TYPE_STEEL 0x08 +#define TYPE_MYSTERY 0x09 +#define TYPE_FIRE 0x0a +#define TYPE_WATER 0x0b +#define TYPE_GRASS 0x0c +#define TYPE_ELECTRIC 0x0d +#define TYPE_PSYCHIC 0x0e +#define TYPE_ICE 0x0f +#define TYPE_DRAGON 0x10 +#define TYPE_DARK 0x11 +#define NUMBER_OF_MON_TYPES 0x12 + +// Pokemon egg groups +#define EGG_GROUP_NONE 0 +#define EGG_GROUP_MONSTER 1 +#define EGG_GROUP_WATER_1 2 +#define EGG_GROUP_BUG 3 +#define EGG_GROUP_FLYING 4 +#define EGG_GROUP_FIELD 5 +#define EGG_GROUP_FAIRY 6 +#define EGG_GROUP_GRASS 7 +#define EGG_GROUP_HUMAN_LIKE 8 +#define EGG_GROUP_WATER_3 9 +#define EGG_GROUP_MINERAL 10 +#define EGG_GROUP_AMORPHOUS 11 +#define EGG_GROUP_WATER_2 12 +#define EGG_GROUP_DITTO 13 +#define EGG_GROUP_DRAGON 14 +#define EGG_GROUP_UNDISCOVERED 15 + +// Pokemon natures +#define NATURE_HARDY 0 +#define NATURE_LONELY 1 +#define NATURE_BRAVE 2 +#define NATURE_ADAMANT 3 +#define NATURE_NAUGHTY 4 +#define NATURE_BOLD 5 +#define NATURE_DOCILE 6 +#define NATURE_RELAXED 7 +#define NATURE_IMPISH 8 +#define NATURE_LAX 9 +#define NATURE_TIMID 10 +#define NATURE_HASTY 11 +#define NATURE_SERIOUS 12 +#define NATURE_JOLLY 13 +#define NATURE_NAIVE 14 +#define NATURE_MODEST 15 +#define NATURE_MILD 16 +#define NATURE_QUIET 17 +#define NATURE_BASHFUL 18 +#define NATURE_RASH 19 +#define NATURE_CALM 20 +#define NATURE_GENTLE 21 +#define NATURE_SASSY 22 +#define NATURE_CAREFUL 23 +#define NATURE_QUIRKY 24 + +// Pokemon Stats +#define STAT_HP 0 +#define STAT_ATK 1 +#define STAT_DEF 2 +#define STAT_SPEED 3 +#define STAT_SPATK 4 +#define STAT_SPDEF 5 +#define STAT_ACC 6 // only in battles +#define STAT_EVASION 7 // only in battles + +#endif // GUARD_CONSTANTS_POKEMON_H diff --git a/include/constants/region_map_sections.h b/include/constants/region_map_sections.h new file mode 100644 index 0000000000..b9c518b1b6 --- /dev/null +++ b/include/constants/region_map_sections.h @@ -0,0 +1,219 @@ +#ifndef GUARD_REGIONMAPSEC_H +#define GUARD_REGIONMAPSEC_H + +#define MAPSEC_LITTLEROOT_TOWN 0x00 +#define MAPSEC_OLDALE_TOWN 0x01 +#define MAPSEC_DEWFORD_TOWN 0x02 +#define MAPSEC_LAVARIDGE_TOWN 0x03 +#define MAPSEC_FALLARBOR_TOWN 0x04 +#define MAPSEC_VERDANTURF_TOWN 0x05 +#define MAPSEC_PACIFIDLOG_TOWN 0x06 +#define MAPSEC_PETALBURG_CITY 0x07 +#define MAPSEC_SLATEPORT_CITY 0x08 +#define MAPSEC_MAUVILLE_CITY 0x09 +#define MAPSEC_RUSTBORO_CITY 0x0A +#define MAPSEC_FORTREE_CITY 0x0B +#define MAPSEC_LILYCOVE_CITY 0x0C +#define MAPSEC_MOSSDEEP_CITY 0x0D +#define MAPSEC_SOOTOPOLIS_CITY 0x0E +#define MAPSEC_EVER_GRANDE_CITY 0x0F +#define MAPSEC_ROUTE_101 0x10 +#define MAPSEC_ROUTE_102 0x11 +#define MAPSEC_ROUTE_103 0x12 +#define MAPSEC_ROUTE_104 0x13 +#define MAPSEC_ROUTE_105 0x14 +#define MAPSEC_ROUTE_106 0x15 +#define MAPSEC_ROUTE_107 0x16 +#define MAPSEC_ROUTE_108 0x17 +#define MAPSEC_ROUTE_109 0x18 +#define MAPSEC_ROUTE_110 0x19 +#define MAPSEC_ROUTE_111 0x1A +#define MAPSEC_ROUTE_112 0x1B +#define MAPSEC_ROUTE_113 0x1C +#define MAPSEC_ROUTE_114 0x1D +#define MAPSEC_ROUTE_115 0x1E +#define MAPSEC_ROUTE_116 0x1F +#define MAPSEC_ROUTE_117 0x20 +#define MAPSEC_ROUTE_118 0x21 +#define MAPSEC_ROUTE_119 0x22 +#define MAPSEC_ROUTE_120 0x23 +#define MAPSEC_ROUTE_121 0x24 +#define MAPSEC_ROUTE_122 0x25 +#define MAPSEC_ROUTE_123 0x26 +#define MAPSEC_ROUTE_124 0x27 +#define MAPSEC_ROUTE_125 0x28 +#define MAPSEC_ROUTE_126 0x29 +#define MAPSEC_ROUTE_127 0x2A +#define MAPSEC_ROUTE_128 0x2B +#define MAPSEC_ROUTE_129 0x2C +#define MAPSEC_ROUTE_130 0x2D +#define MAPSEC_ROUTE_131 0x2E +#define MAPSEC_ROUTE_132 0x2F +#define MAPSEC_ROUTE_133 0x30 +#define MAPSEC_ROUTE_134 0x31 +#define MAPSEC_UNDERWATER_124 0x32 +#define MAPSEC_UNDERWATER_125 0x33 +#define MAPSEC_UNDERWATER_126 0x34 +#define MAPSEC_UNDERWATER_127 0x35 +#define MAPSEC_UNDERWATER_SOOTOPOLIS 0x36 +#define MAPSEC_GRANITE_CAVE 0x37 +#define MAPSEC_MT_CHIMNEY 0x38 +#define MAPSEC_SAFARI_ZONE 0x39 +#define MAPSEC_BATTLE_FRONTIER 0x3A +#define MAPSEC_PETALBURG_WOODS 0x3B +#define MAPSEC_RUSTURF_TUNNEL 0x3C +#define MAPSEC_ABANDONED_SHIP 0x3D +#define MAPSEC_NEW_MAUVILLE 0x3E +#define MAPSEC_METEOR_FALLS 0x3F +#define MAPSEC_METEOR_FALLS2 0x40 +#define MAPSEC_MT_PYRE 0x41 +#define MAPSEC_AQUA_HIDEOUT_OLD 0x42 +#define MAPSEC_SHOAL_CAVE 0x43 +#define MAPSEC_SEAFLOOR_CAVERN 0x44 +#define MAPSEC_UNDERWATER_128 0x45 +#define MAPSEC_VICTORY_ROAD 0x46 +#define MAPSEC_MIRAGE_ISLAND 0x47 +#define MAPSEC_CAVE_OF_ORIGIN 0x48 +#define MAPSEC_SOUTHERN_ISLAND 0x49 +#define MAPSEC_FIERY_PATH 0x4A +#define MAPSEC_FIERY_PATH2 0x4B +#define MAPSEC_JAGGED_PASS 0x4C +#define MAPSEC_JAGGED_PASS2 0x4D +#define MAPSEC_SEALED_CHAMBER 0x4E +#define MAPSEC_UNDERWATER_SEALED_CHAMBER 0x4F +#define MAPSEC_SCORCHED_SLAB 0x50 +#define MAPSEC_ISLAND_CAVE 0x51 +#define MAPSEC_DESERT_RUINS 0x52 +#define MAPSEC_ANCIENT_TOMB 0x53 +#define MAPSEC_INSIDE_OF_TRUCK 0x54 +#define MAPSEC_SKY_PILLAR 0x55 +#define MAPSEC_SECRET_BASE 0x56 +#define MAPSEC_DYNAMIC 0x57 +#define MAPSEC_PALLET_TOWN 0x58 +#define MAPSEC_VIRIDIAN_CITY 0x59 +#define MAPSEC_PEWTER_CITY 0x5A +#define MAPSEC_CERULEAN_CITY 0x5B +#define MAPSEC_LAVENDER_TOWN 0x5C +#define MAPSEC_VERMILION_CITY 0x5D +#define MAPSEC_CELADON_CITY 0x5E +#define MAPSEC_FUCHSIA_CITY 0x5F +#define MAPSEC_CINNABAR_ISLAND 0x60 +#define MAPSEC_INDIGO_PLATEAU 0x61 +#define MAPSEC_SAFFRON_CITY 0x62 +#define MAPSEC_ROUTE_4_FLYDUP 0x63 +#define MAPSEC_ROUTE_10_FLYDUP 0x64 +#define MAPSEC_ROUTE_1 0x65 +#define MAPSEC_ROUTE_2 0x66 +#define MAPSEC_ROUTE_3 0x67 +#define MAPSEC_ROUTE_4 0x68 +#define MAPSEC_ROUTE_5 0x69 +#define MAPSEC_ROUTE_6 0x6A +#define MAPSEC_ROUTE_7 0x6B +#define MAPSEC_ROUTE_8 0x6C +#define MAPSEC_ROUTE_9 0x6D +#define MAPSEC_ROUTE_10 0x6E +#define MAPSEC_ROUTE_11 0x6F +#define MAPSEC_ROUTE_12 0x70 +#define MAPSEC_ROUTE_13 0x71 +#define MAPSEC_ROUTE_14 0x72 +#define MAPSEC_ROUTE_15 0x73 +#define MAPSEC_ROUTE_16 0x74 +#define MAPSEC_ROUTE_17 0x75 +#define MAPSEC_ROUTE_18 0x76 +#define MAPSEC_ROUTE_19 0x77 +#define MAPSEC_ROUTE_20 0x78 +#define MAPSEC_ROUTE_21 0x79 +#define MAPSEC_ROUTE_22 0x7A +#define MAPSEC_ROUTE_23 0x7B +#define MAPSEC_ROUTE_24 0x7C +#define MAPSEC_ROUTE_25 0x7D +#define MAPSEC_VIRIDIAN_FOREST 0x7E +#define MAPSEC_MT_MOON 0x7F +#define MAPSEC_S_S_ANNE 0x80 +#define MAPSEC_UNDERGROUND_PATH 0x81 +#define MAPSEC_UNDERGROUND_PATH_2 0x82 +#define MAPSEC_DIGLETTS_CAVE 0x83 +#define MAPSEC_KANTO_VICTORY_ROAD 0x84 +#define MAPSEC_ROCKET_HIDEOUT 0x85 +#define MAPSEC_SILPH_CO 0x86 +#define MAPSEC_POKEMON_MANSION 0x87 +#define MAPSEC_KANTO_SAFARI_ZONE 0x88 +#define MAPSEC_POKEMON_LEAGUE 0x89 +#define MAPSEC_ROCK_TUNNEL 0x8A +#define MAPSEC_SEAFOAM_ISLANDS 0x8B +#define MAPSEC_POKEMON_TOWER 0x8C +#define MAPSEC_CERULEAN_CAVE 0x8D +#define MAPSEC_POWER_PLANT 0x8E +#define MAPSEC_ONE_ISLAND 0x8F +#define MAPSEC_TWO_ISLAND 0x90 +#define MAPSEC_THREE_ISLAND 0x91 +#define MAPSEC_FOUR_ISLAND 0x92 +#define MAPSEC_FIVE_ISLAND 0x93 +#define MAPSEC_SEVEN_ISLAND 0x94 +#define MAPSEC_SIX_ISLAND 0x95 +#define MAPSEC_KINDLE_ROAD 0x96 +#define MAPSEC_TREASURE_BEACH 0x97 +#define MAPSEC_CAPE_BRINK 0x98 +#define MAPSEC_BOND_BRIDGE 0x99 +#define MAPSEC_THREE_ISLE_PORT 0x9A +#define MAPSEC_SEVII_ISLE_6 0x9B +#define MAPSEC_SEVII_ISLE_7 0x9C +#define MAPSEC_SEVII_ISLE_8 0x9D +#define MAPSEC_SEVII_ISLE_9 0x9E +#define MAPSEC_RESORT_GORGEOUS 0x9F +#define MAPSEC_WATER_LABYRINTH 0xA0 +#define MAPSEC_FIVE_ISLE_MEADOW 0xA1 +#define MAPSEC_MEMORIAL_PILLAR 0xA2 +#define MAPSEC_OUTCAST_ISLAND 0xA3 +#define MAPSEC_GREEN_PATH 0xA4 +#define MAPSEC_WATER_PATH 0xA5 +#define MAPSEC_RUIN_VALLEY 0xA6 +#define MAPSEC_TRAINER_TOWER 0xA7 +#define MAPSEC_CANYON_ENTRANCE 0xA8 +#define MAPSEC_SEVAULT_CANYON 0xA9 +#define MAPSEC_TANOBY_RUINS 0xAA +#define MAPSEC_SEVII_ISLE_22 0xAB +#define MAPSEC_SEVII_ISLE_23 0xAC +#define MAPSEC_SEVII_ISLE_24 0xAD +#define MAPSEC_NAVEL_ROCK 0xAE +#define MAPSEC_MT_EMBER 0xAF +#define MAPSEC_BERRY_FOREST 0xB0 +#define MAPSEC_ICEFALL_CAVE 0xB1 +#define MAPSEC_ROCKET_WAREHOUSE 0xB2 +#define MAPSEC_TRAINER_TOWER_2 0xB3 +#define MAPSEC_DOTTED_HOLE 0xB4 +#define MAPSEC_LOST_CAVE 0xB5 +#define MAPSEC_PATTERN_BUSH 0xB6 +#define MAPSEC_ALTERING_CAVE 0xB7 +#define MAPSEC_TANOBY_CHAMBERS 0xB8 +#define MAPSEC_THREE_ISLE_PATH 0xB9 +#define MAPSEC_TANOBY_KEY 0xBA +#define MAPSEC_BIRTH_ISLAND 0xBB +#define MAPSEC_MONEAN_CHAMBER 0xBC +#define MAPSEC_LIPTOO_CHAMBER 0xBD +#define MAPSEC_WEEPTH_CHAMBER 0xBE +#define MAPSEC_DILFORD_CHAMBER 0xBF +#define MAPSEC_SCUFIB_CHAMBER 0xC0 +#define MAPSEC_RIXY_CHAMBER 0xC1 +#define MAPSEC_VIAPOIS_CHAMBER 0xC2 +#define MAPSEC_EMBER_SPA 0xC3 +#define MAPSEC_SPECIAL_AREA 0xC4 +#define MAPSEC_AQUA_HIDEOUT 0xC5 +#define MAPSEC_MAGMA_HIDEOUT 0xC6 +#define MAPSEC_MIRAGE_TOWER 0xC7 +#define MAPSEC_BIRTH_ISLAND_2 0xC8 +#define MAPSEC_FARAWAY_ISLAND 0xC9 +#define MAPSEC_ARTISAN_CAVE 0xCA +#define MAPSEC_MARINE_CAVE 0xCB +#define MAPSEC_UNDERWATER_MARINE_CAVE 0xCC +#define MAPSEC_TERRA_CAVE 0xCD +#define MAPSEC_UNDERWATER_TERRA_CAVE 0xCE +#define MAPSEC_UNDERWATER_UNK1 0xCF +#define MAPSEC_UNDERWATER_129 0xD0 +#define MAPSEC_DESERT_UNDERPASS 0xD1 +#define MAPSEC_ALTERING_CAVE_2 0xD2 +#define MAPSEC_NAVEL_ROCK2 0xD3 +#define MAPSEC_TRAINER_HILL 0xD4 +#define MAPSEC_NONE 0xD5 + +#endif //GUARD_REGIONMAPSEC_H diff --git a/include/constants/rgb.h b/include/constants/rgb.h new file mode 100644 index 0000000000..8b323799fd --- /dev/null +++ b/include/constants/rgb.h @@ -0,0 +1,16 @@ +#ifndef GUARD_RGB_H +#define GUARD_RGB_H + +#define RGB(r, g, b) ((r) | ((g) << 5) | ((b) << 10)) +#define _RGB(r, g, b) ((((b) & 0x1F) << 10) + (((g) & 0x1F) << 5) + ((r) & 0x1F)) + +#define RGB_BLACK RGB(0, 0, 0) +#define RGB_WHITE RGB(31, 31, 31) +#define RGB_RED RGB(31, 0, 0) +#define RGB_GREEN RGB(0, 31, 0) +#define RGB_BLUE RGB(0, 0, 31) +#define RGB_YELLOW RGB(31, 31, 0) +#define RGB_MAGENTA RGB(31, 0, 31) +#define RGB_CYAN RGB(0, 31, 31) + +#endif // GUARD_RGB_H diff --git a/include/constants/songs.h b/include/constants/songs.h new file mode 100644 index 0000000000..58a8e725cd --- /dev/null +++ b/include/constants/songs.h @@ -0,0 +1,541 @@ +#ifndef GUARD_CONSTANTS_SONGS_H +#define GUARD_CONSTANTS_SONGS_H + +#define MUS_DUMMY 0 +#define SE_KAIFUKU 1 // Healing Item +#define SE_PC_LOGIN 2 // PC Logon +#define SE_PC_OFF 3 // PC Shutdown +#define SE_PC_ON 4 // PC Startup +#define SE_SELECT 5 // Cursor Selection +#define SE_WIN_OPEN 6 // Start Menu +#define SE_WALL_HIT 7 // Wall Bump +#define SE_DOOR 8 // Opening Door +#define SE_KAIDAN 9 // Stairs +#define SE_DANSA 10 // Ledge +#define SE_JITENSYA 11 // Bicycle Bell +#define SE_KOUKA_L 12 // Not Very Effective +#define SE_KOUKA_M 13 // Normal Effectiveness +#define SE_KOUKA_H 14 // Super Effective +#define SE_BOWA2 15 // Pokémon Withdrawal +#define SE_POKE_DEAD 16 // Pokémon Fainted +#define SE_NIGERU 17 // Flee from Wild Battle +#define SE_JIDO_DOA 18 // Pokémon Center Door +#define SE_NAMINORI 19 // Briney's Ship +#define SE_BAN 20 // Bang +#define SE_PIN 21 // Exclamation Bubble +#define SE_BOO 22 // Contest Jam +#define SE_BOWA 23 // Giving Poké Ball to Nurse, Poké Ball Wiggle +#define SE_JYUNI 24 // Places in Contest Appearing +#define SE_A 25 // Bard A +#define SE_I 26 // Bard I +#define SE_U 27 // Bard U +#define SE_E 28 // Bard E +#define SE_O 29 // Bard O +#define SE_N 30 // Bard N +#define SE_SEIKAI 31 // Success +#define SE_HAZURE 32 // Failure +#define SE_EXP 33 // Exp. Bar +#define SE_JITE_PYOKO 34 // Bunny Hop +#define SE_MU_PACHI 35 +#define SE_TK_KASYA 36 // Mossdeep Gym/Trick House Switch +#define SE_FU_ZAKU 37 +#define SE_FU_ZAKU2 38 +#define SE_FU_ZUZUZU 39 // Lavaridge Gym Warp +#define SE_RU_GASHIN 40 // Sootopolis Gym - Stairs Appear +#define SE_RU_GASYAN 41 // Sootopolis Gym - Ice Breaking +#define SE_RU_BARI 42 // Sootopolis Gym - Walking on Ice +#define SE_RU_HYUU 43 // Falling Down +#define SE_KI_GASYAN 44 +#define SE_TK_WARPIN 45 // Warp In +#define SE_TK_WARPOUT 46 // Warp Out +#define SE_TU_SAA 47 // Repel +#define SE_HI_TURUN 48 // Moving Obstacle in Fortree Gym +#define SE_TRACK_MOVE 49 // Moving Truck +#define SE_TRACK_STOP 50 // Moving Truck Stop +#define SE_TRACK_HAIKI 51 // Moving Truck Unload +#define SE_TRACK_DOOR 52 // Moving Truck Door +#define SE_MOTER 53 +#define SE_CARD 54 +#define SE_SAVE 55 // Save +#define SE_KON 56 // Poké Ball Bounce 1 +#define SE_KON2 57 // Poké Ball Bounce 2 +#define SE_KON3 58 // Poké Ball Bounce 3 +#define SE_KON4 59 // Poké Ball Bounce 4 +#define SE_SUIKOMU 60 // Poké Ball Trade +#define SE_NAGERU 61 // Poké Ball Throw +#define SE_TOY_C 62 // Note C +#define SE_TOY_D 63 // Note D +#define SE_TOY_E 64 // Note E +#define SE_TOY_F 65 // Note F +#define SE_TOY_G 66 // Note G +#define SE_TOY_A 67 // Note A +#define SE_TOY_B 68 // Note B +#define SE_TOY_C1 69 // Note High C +#define SE_MIZU 70 // Puddle +#define SE_HASHI 71 // Boardwalk +#define SE_DAUGI 72 // Slots Credits +#define SE_PINPON 73 // Ding-dong! +#define SE_FUUSEN1 74 // Red Balloon +#define SE_FUUSEN2 75 // Blue Balloon +#define SE_FUUSEN3 76 // Yellow Balloon +#define SE_TOY_KABE 77 // Breakable Door +#define SE_TOY_DANGO 78 // Mud Ball +#define SE_DOKU 79 // Overworld Poison Damage +#define SE_ESUKA 80 // Escalator +#define SE_T_AME 81 // Rain +#define SE_T_AME_E 82 // Rain Stop +#define SE_T_OOAME 83 // Heavy Rain +#define SE_T_OOAME_E 84 // Heavy Rain Stop +#define SE_T_KOAME 85 // Light Rain +#define SE_T_KOAME_E 86 // Light Rain Stop +#define SE_T_KAMI 87 // Thunder +#define SE_T_KAMI2 88 // Thunder 2 +#define SE_ELEBETA 89 // Elevator +#define SE_HINSI 90 // Low Health +#define SE_EXPMAX 91 // Exp. Max +#define SE_TAMAKORO 92 // Roulette Ball +#define SE_TAMAKORO_E 93 // Roulette Ball 2 +#define SE_BASABASA 94 +#define SE_REGI 95 // Cash Register +#define SE_C_GAJI 96 // Contest Hearts +#define SE_C_MAKU_U 97 // Contest Curtain rise +#define SE_C_MAKU_D 98 // Contest Curtain fall +#define SE_C_PASI 99 +#define SE_C_SYU 100 +#define SE_C_PIKON 101 // Pokémon Appears in Contest +#define SE_REAPOKE 102 // Shiny Pokémon +#define SE_OP_BASYU 103 // Opening Movie -> Title Screen whoosh +#define SE_BT_START 104 // Battle Mugshot whoosh +#define SE_DENDOU 105 // Audience Cheering +#define SE_JIHANKI 106 // Vending Machine +#define SE_TAMA 107 // Orb Used +#define SE_Z_SCROLL 108 // Pokédex Scrolling +#define SE_Z_PAGE 109 // Pokédex Page +#define SE_PN_ON 110 // PokéNav On +#define SE_PN_OFF 111 // PokéNav Off +#define SE_Z_SEARCH 112 // Pokédex Search +#define SE_TAMAGO 113 // Egg hatch +#define SE_TB_START 114 // Battle - Poké Ball Tray slide in +#define SE_TB_KON 115 // Battle - Poké Ball Tray ball sound +#define SE_TB_KARA 116 // Battle - Poké Ball Tray slide out +#define SE_BIDORO 117 +#define SE_W085 118 // Thunderbolt +#define SE_W085B 119 // Thunderbolt 2 +#define SE_W231 120 // Harden +#define SE_W171 121 // Nightmare +#define SE_W233 122 // Vital Throw +#define SE_W233B 123 // Vital Throw 2 +#define SE_W145 124 // Bubble +#define SE_W145B 125 // Bubble 2 +#define SE_W145C 126 // Bubble 3 +#define SE_W240 127 // Rain Dance +#define SE_W015 128 // Cut +#define SE_W081 129 // String Shot +#define SE_W081B 130 // String Shot 2 +#define SE_W088 131 // Rock Throw +#define SE_W016 132 // Gust +#define SE_W016B 133 // Gust 2 +#define SE_W003 134 // DoubleSlap +#define SE_W104 135 // Double Team +#define SE_W013 136 // Razor Wind +#define SE_W196 137 // Icy Wind +#define SE_W086 138 // Thunder Wave +#define SE_W004 139 // Comet Punch +#define SE_W025 140 // Mega Kick +#define SE_W025B 141 // Mega Kick 2 +#define SE_W152 142 // Crabhammer +#define SE_W026 143 // Jump Kick +#define SE_W172 144 // Flame Wheel +#define SE_W172B 145 // Flame Wheel 2 +#define SE_W053 146 // Flamethrower +#define SE_W007 147 // Fire Punch +#define SE_W092 148 // Toxic +#define SE_W221 149 // Sacred Fire +#define SE_W221B 150 // Sacred Fire 2 +#define SE_W052 151 // Ember +#define SE_W036 152 // Take Down +#define SE_W059 153 // Blizzard +#define SE_W059B 154 // Blizzard 2 +#define SE_W010 155 // Scratch +#define SE_W011 156 // Vicegrip +#define SE_W017 157 // Wing Attack +#define SE_W019 158 // Fly +#define SE_W028 159 // Sand-Attack +#define SE_W013B 160 // Razor Wind 2 +#define SE_W044 161 // Bite +#define SE_W029 162 // Headbutt +#define SE_W057 163 // Surf +#define SE_W056 164 // Hydro Pump +#define SE_W250 165 // Whirlpool +#define SE_W030 166 // Horn Attack +#define SE_W039 167 // Tail Whip +#define SE_W054 168 // Mist +#define SE_W077 169 // PoisonPowder +#define SE_W020 170 // Bind +#define SE_W082 171 // Dragon Rage +#define SE_W047 172 // Sing +#define SE_W195 173 // Perish Song +#define SE_W006 174 // Pay Day +#define SE_W091 175 // Dig +#define SE_W146 176 // Dizzy Punch +#define SE_W120 177 // Self-Destruct +#define SE_W153 178 // Explosion +#define SE_W071B 179 // Absorb 2 +#define SE_W071 180 // Absorb +#define SE_W103 181 // Screech +#define SE_W062 182 // BubbleBeam +#define SE_W062B 183 // BubbleBeam 2 +#define SE_W048 184 // Supersonic +#define SE_W187 185 // Belly Drum +#define SE_W118 186 // Metronome +#define SE_W155 187 // Bonemerang +#define SE_W122 188 // Lick +#define SE_W060 189 // Psybeam +#define SE_W185 190 // Faint Attack +#define SE_W014 191 // Swords Dance +#define SE_W043 192 // Leer +#define SE_W207 193 // Swagger +#define SE_W207B 194 // Swagger 2 +#define SE_W215 195 // Heal Bell +#define SE_W109 196 // Confuse Ray +#define SE_W173 197 // Snore +#define SE_W280 198 // Brick Break +#define SE_W202 199 // Giga Drain +#define SE_W060B 200 // Psybeam 2 +#define SE_W076 201 // SolarBeam +#define SE_W080 202 // Petal Dance +#define SE_W100 203 // Teleport +#define SE_W107 204 // Minimize +#define SE_W166 205 // Sketch +#define SE_W129 206 // Swift +#define SE_W115 207 // Reflect +#define SE_W112 208 // Barrier +#define SE_W197 209 // Detect +#define SE_W199 210 // Lock-On +#define SE_W236 211 // Moonlight +#define SE_W204 212 // Charm +#define SE_W268 213 // Charge +#define SE_W070 214 // Strength +#define SE_W063 215 // Hyper Beam +#define SE_W127 216 // Waterfall +#define SE_W179 217 // Reversal +#define SE_W151 218 // Acid Armor +#define SE_W201 219 // Sandstorm +#define SE_W161 220 // Tri-Attack +#define SE_W161B 221 // Tri-Attack 2 +#define SE_W227 222 // Encore +#define SE_W227B 223 // Encore 2 +#define SE_W226 224 // Baton Pass +#define SE_W208 225 // Milk Drink +#define SE_W213 226 // Attract +#define SE_W213B 227 // Attract 2 +#define SE_W234 228 // Morning Sun +#define SE_W260 229 // Flatter +#define SE_W328 230 // Sand Tomb +#define SE_W320 231 // GrassWhistle +#define SE_W255 232 // Spit Up +#define SE_W291 233 // Dive +#define SE_W089 234 // Earthquake +#define SE_W239 235 // Twister +#define SE_W230 236 // Sweet Scent +#define SE_W281 237 // Yawn +#define SE_W327 238 // Sky Uppercut +#define SE_W287 239 // Stat Increased +#define SE_W257 240 // Heat Wave +#define SE_W253 241 // Uproar +#define SE_W258 242 // Hail +#define SE_W322 243 // Cosmic Power +#define SE_W298 244 // Teeter Dance +#define SE_W287B 245 // Stat Decreased +#define SE_W114 246 // Haze +#define SE_W063B 247 // Hyper Beam 2 +// FRLG SFX below +#define SE_RG_W_DOOR 248 // Door +#define SE_RG_CARD1 249 // Trainer Card 1 +#define SE_RG_CARD2 250 // Trainer Card 2 +#define SE_RG_CARD3 251 // Trainer Card 3 +#define SE_RG_BAG1 252 // Bag Scroll +#define SE_RG_BAG2 253 // Bag Pocket Change +#define SE_RG_GETTING 254 +#define SE_RG_SHOP 255 // Cash Register +#define SE_RG_KITEKI 256 // S.S. Anne Horn +#define SE_RG_HELP_OP 257 // Help Menu Open +#define SE_RG_HELP_CL 258 // Help Menu Close +#define SE_RG_HELP_NG 259 // Help Menu Error +#define SE_RG_DEOMOV 260 // Deoxys Moves +#define SE_RG_EXCELLENT 261 +#define SE_RG_NAWAMISS 262 +// end FRLG SFX +#define SE_TOREEYE 263 // Trainer's Eye Call +#define SE_TOREOFF 264 // Trainer's Eye Hang Up +#define SE_HANTEI1 265 // Battle Arena Time's Up 1 +#define SE_HANTEI2 266 // Battle Arena Time's Up 2 +#define SE_CURTAIN 267 // Battle Pike Curtain Open +#define SE_CURTAIN1 268 // Battle Pike Curtain Close +#define SE_USSOKI 269 // Sudowoodo + +#define MUS_TETSUJI 350 // Littleroot Town Test 'TETSUJI' +#define MUS_FIELD13 351 // GSC - Route 38 +#define MUS_KACHI22 352 // Wild Pokémon Defeated +#define MUS_KACHI2 353 // Wild Pokémon Defeated with Intro +#define MUS_KACHI3 354 // Gym Leader Defeated +#define MUS_KACHI5 355 // Victory! Elite Four +#define MUS_PCC 356 // Crystal - Pokémon Communication Center +#define MUS_NIBI 357 // GSC - Viridian/Saffron/Pewter/etc +#define MUS_SUIKUN 358 // Crystal - Battle! Legendary Beasts +#define MUS_DOORO1 359 // Route 101 +#define MUS_DOORO_X1 360 // Route 110 +#define MUS_DOORO_X3 361 // Route 120 +#define MUS_MACHI_S2 362 // Petalburg City +#define MUS_MACHI_S4 363 // Oldale/Lavaridge Town +#define MUS_GIM 364 // Gym +#define MUS_NAMINORI 365 // Surfing +#define MUS_DAN01 366 // Caves and Darkness +#define MUS_FANFA1 367 // Level Up! +#define MUS_ME_ASA 368 // Pokémon Healed +#define MUS_ME_BACHI 369 // Obtained a Badge! +#define MUS_FANFA4 370 // Obtained an Item! +#define MUS_FANFA5 371 // Your Pokémon Just Evolved! +#define MUS_ME_WAZA 372 // Obtained a TM/HM! +#define MUS_BIJYUTU 373 // Lilycove Museum +#define MUS_DOORO_X4 374 // Route 122/Intro +#define MUS_FUNE_KAN 375 // Slateport Museum +#define MUS_ME_SHINKA 376 // Evolution Intro +#define MUS_SHINKA 377 // Evolution +#define MUS_ME_WASURE 378 // Move Deleted/Messed Up Appeal +#define MUS_SYOUJOEYE 379 // Encounter! Tuber +#define MUS_BOYEYE 380 // Encounter! Boy +#define MUS_DAN02 381 // Abandoned Ship/Southern Island +#define MUS_MACHI_S3 382 // Fortree City/Pacifidlog Town +#define MUS_ODAMAKI 383 // Professor Birch's Lab +#define MUS_B_TOWER 384 // Battle Tower (RS) +#define MUS_SWIMEYE 385 // Encounter! Swimmer +#define MUS_DAN03 386 // Meteor Falls/Cave of Origin +#define MUS_ME_KINOMI 387 // Obtained a Berry! +#define MUS_ME_TAMA 388 // Awakening the Super-Ancient Pokémon +#define MUS_ME_B_BIG 389 // Slots Jackpot! +#define MUS_ME_B_SMALL 390 // Slots Victory! +#define MUS_ME_ZANNEN 391 // Too bad! +#define MUS_BD_TIME 392 // Roulette! +#define MUS_TEST1 393 // Contest Test 1 +#define MUS_TEST2 394 // Contest Test 2 +#define MUS_TEST3 395 // Contest Test 3 +#define MUS_TEST4 396 // Contest Test 4 +#define MUS_TEST 397 // Encounter! Gentleman +#define MUS_GOMACHI0 398 // Verdanturf Town +#define MUS_GOTOWN 399 // Rustboro/Mauville/Mossdeep City +#define MUS_POKECEN 400 // Pokémon Center +#define MUS_NEXTROAD 401 // Route 104 +#define MUS_GRANROAD 402 // Route 119 +#define MUS_CYCLING 403 // Cycling +#define MUS_FRIENDLY 404 // Pokémart +#define MUS_MISHIRO 405 // Littleroot Town +#define MUS_TOZAN 406 // Sky Pillar +#define MUS_GIRLEYE 407 // Encounter! Girl +#define MUS_MINAMO 408 // Lilycove City +#define MUS_ASHROAD 409 // Route 111 +#define MUS_EVENT0 410 // Help me! +#define MUS_DEEPDEEP 411 // Underwater +#define MUS_KACHI1 412 // Victory! Trainer +#define MUS_TITLE3 413 // Title Screen +#define MUS_DEMO1 414 // Opening Movie +#define MUS_GIRL_SUP 415 // Encounter! May +#define MUS_HAGESHII 416 // Encounter! Biker +#define MUS_KAKKOII 417 // Encounter! Electric Trainer +#define MUS_KAZANBAI 418 // Route 113 +#define MUS_AQA_0 419 // Encounter! Team Aqua +#define MUS_TSURETEK 420 // Follow Me! +#define MUS_BOY_SUP 421 // Encounter! Brendan +#define MUS_RAINBOW 422 // Ever Grande City +#define MUS_AYASII 423 // Encounter! Psychic +#define MUS_KACHI4 424 // Victory! Aqua/Magma Grunt +#define MUS_ROPEWAY 425 // Cable Car +#define MUS_CASINO 426 // Game Corner +#define MUS_HIGHTOWN 427 // Dewford Town +#define MUS_SAFARI 428 // Safari Zone +#define MUS_C_ROAD 429 // Victory Road +#define MUS_AJITO 430 // Aqua/Magma Hideout +#define MUS_M_BOAT 431 // Sailing +#define MUS_M_DUNGON 432 // Mt. Pyre (Inside) +#define MUS_FINECITY 433 // Slateport City +#define MUS_MACHUPI 434 // Mt. Pyre (Outside) +#define MUS_P_SCHOOL 435 // Pokémon Trainer's School +#define MUS_DENDOU 436 // You're the Champion! +#define MUS_TONEKUSA 437 // Fallarbor Town +#define MUS_MABOROSI 438 // Sealed Chamber +#define MUS_CON_FAN 439 // Obtained a Contest Ribbon! +#define MUS_CONTEST0 440 // Pokémon Contest +#define MUS_MGM0 441 // Encounter! Team Magma +#define MUS_T_BATTLE 442 // Opening Battle +#define MUS_OOAME 443 // The Flood +#define MUS_HIDERI 444 // The Drought +#define MUS_RUNECITY 445 // Sootopolis City +#define MUS_CON_K 446 // Contest/Berry Blending Results +#define MUS_EIKOU_R 447 // Hall of Fame +#define MUS_KARAKURI 448 // Trick House +#define MUS_HUTAGO 449 // Encounter! Kid +#define MUS_SITENNOU 450 // Encounter! Elite Four +#define MUS_YAMA_EYE 451 // Encounter! Hiker +#define MUS_CONLOBBY 452 // Contest Lobby +#define MUS_INTER_V 453 // Encounter! Gabby and Ty +#define MUS_DAIGO 454 // Encounter! Wallace +#define MUS_THANKFOR 455 // Credits +#define MUS_END 456 // The End +#define MUS_B_FRONTIER 457 // Battle Frontier +#define MUS_B_ARENA 458 // Battle Arena +#define MUS_ME_POINTGET 459 // Obtained Battle Points! +#define MUS_ME_TORE_EYE 460 // Registered Trainer! +#define MUS_PYRAMID 461 // Battle Pyramid +#define MUS_PYRAMID_TOP 462 // Top of the Battle Pyramid +#define MUS_B_PALACE 463 // Battle Palace +#define MUS_REKKUU_KOURIN 464 // Rayquaza Enters +#define MUS_SATTOWER 465 // Battle Tower (Emerald) +#define MUS_ME_SYMBOLGET 466 // Obtained a Frontier Symbol! +#define MUS_B_DOME 467 // Battle Dome +#define MUS_B_TUBE 468 // Battle Pike +#define MUS_B_FACTORY 469 // Battle Factory +#define MUS_VS_REKKU 470 // Battle! Legendary Pokémon +#define MUS_VS_FRONT 471 // Battle! Frontier Brain +#define MUS_VS_MEW 472 // Battle! Mew +#define MUS_B_DOME1 473 // Battle Dome Lobby +#define MUS_BATTLE27 474 // Battle! Wild Pokémon +#define MUS_BATTLE31 475 // Battle! Team Aqua/Magma +#define MUS_BATTLE20 476 // Battle! Trainer +#define MUS_BATTLE32 477 // Battle! Gym Leader +#define MUS_BATTLE33 478 // Battle! Champion +#define MUS_BATTLE36 479 // Battle! Regi Trio +#define MUS_BATTLE34 480 // Battle! Legendary Pokémon (dupe) +#define MUS_BATTLE35 481 // Battle! Rival +#define MUS_BATTLE38 482 // Battle! Elite Four +#define MUS_BATTLE30 483 // Battle! Archie/Maxie +// FRLG Music Below +#define MUS_RG_ANNAI 484 // Follow Me! +#define MUS_RG_SLOT 485 // Game Corner +#define MUS_RG_AJITO 486 // Rocket Hideout +#define MUS_RG_GYM 487 // Gym +#define MUS_RG_PURIN 488 // Jigglypuff's Song +#define MUS_RG_DEMO 489 // Opening Movie +#define MUS_RG_TITLE 490 // Title Screen +#define MUS_RG_GUREN 491 // Cinnabar Island +#define MUS_RG_SHION 492 // Lavender Town +#define MUS_RG_KAIHUKU 493 // RBY Pokémon Center Healing +#define MUS_RG_CYCLING 494 // Cycling +#define MUS_RG_ROCKET 495 // Encounter! Team Rocket +#define MUS_RG_SHOUJO 496 // Encounter! Girl +#define MUS_RG_SHOUNEN 497 // Encounter! Boy +#define MUS_RG_DENDOU 498 // You're the Champion! +#define MUS_RG_T_MORI 499 // Viridian Forest +#define MUS_RG_OTSUKIMI 500 // Mt. Moon +#define MUS_RG_POKEYASHI 501 // Pokémon Mansion +#define MUS_RG_ENDING 502 // Credits +#define MUS_RG_LOAD01 503 // Route 1 +#define MUS_RG_OPENING 504 // Route 24/Intro +#define MUS_RG_LOAD02 505 // Route 3 +#define MUS_RG_LOAD03 506 // Route 11 +#define MUS_RG_CHAMP_R 507 // Victory Road/Indigo Plateau +#define MUS_RG_VS_GYM 508 // Battle! Gym Leader/Elite Four +#define MUS_RG_VS_TORE 509 // Battle! Trainer +#define MUS_RG_VS_YASEI 510 // Battle! Wild Pokémon +#define MUS_RG_VS_LAST 511 // Battle! Champion +#define MUS_RG_MASARA 512 // Pallet Town +#define MUS_RG_KENKYU 513 // Professor Oak's Lab +#define MUS_RG_OHKIDO 514 // Professor Oak's Theme +#define MUS_RG_POKECEN 515 // Pokémon Center +#define MUS_RG_SANTOAN 516 // S.S. Anne +#define MUS_RG_NAMINORI 517 // Surfing +#define MUS_RG_P_TOWER 518 // Pokémon Tower +#define MUS_RG_SHIRUHU 519 // Silph Co. +#define MUS_RG_HANADA 520 // Cerulean/Fuschia City +#define MUS_RG_TAMAMUSI 521 // Celadon City +#define MUS_RG_WIN_TRE 522 // Victory! Trainer +#define MUS_RG_WIN_YASEI 523 // Victory! Wild Pokémon +#define MUS_RG_WIN_GYM 524 // Victory! Gym Leader +#define MUS_RG_KUCHIBA 525 // Vermillion City +#define MUS_RG_NIBI 526 // Viridian/Saffron/Pewter City +#define MUS_RG_RIVAL1 527 // Encounter! Rival +#define MUS_RG_RIVAL2 528 // Rival's Exit +#define MUS_RG_FAN2 529 // Fanfare 2 +#define MUS_RG_FAN5 530 // Obtained a Starter! +#define MUS_RG_FAN6 531 // Pokémon Caught! (Used in Emerald) +#define MUS_ME_RG_PHOTO 532 // Trainer Photo +#define MUS_RG_TITLEROG 533 // Game Freak +#define MUS_RG_GET_YASEI 534 // Pokémon Caught Victory Theme +#define MUS_RG_SOUSA 535 // Starting Tutorial +#define MUS_RG_SEKAIKAN 536 // Starting Tutorial 2 +#define MUS_RG_SEIBETU 537 // Starting Tutorial 3 +#define MUS_RG_JUMP 538 // Jumping Minigame +#define MUS_RG_UNION 539 // Union Room +#define MUS_RG_NETWORK 540 // Network Center +#define MUS_RG_OKURIMONO 541 // Mystery Gift +#define MUS_RG_KINOMIKUI 542 +#define MUS_RG_NANADUNGEON 543 // Sevii Caves/Altering Cave (Mt. Moon) +#define MUS_RG_OSHIE_TV 544 // Follow Me! +#define MUS_RG_NANASHIMA 545 // Sevii Islands Routes (Lake of Rage) +#define MUS_RG_NANAISEKI 546 // Sevii Forests (Viridian Forest) +#define MUS_RG_NANA123 547 // Sevii Islands 1-3 (Viridian/Saffron/Pewter) +#define MUS_RG_NANA45 548 // Sevii Islands 4-5 (Azalea Town) +#define MUS_RG_NANA67 549 // Sevii Islands 6-7 (Violet City) +#define MUS_RG_POKEFUE 550 // Poké Flute +#define MUS_RG_VS_DEO 551 // Battle! Deoxys +#define MUS_RG_VS_MYU2 552 // Battle! Mewtwo +#define MUS_RG_VS_DEN 553 // Battle! Legendary Birds +#define MUS_RG_EXEYE 554 // Encounter! Gym Leader +#define MUS_RG_DEOEYE 555 // Encounter! Deoxys +#define MUS_RG_T_TOWER 556 // Trainer Tower (Gym) +#define MUS_RG_SLOWMASARA 557 // Pallet Town (Hall of Fame remix) +#define MUS_RG_TVNOIZE 558 // Teachy TV +#define PH_TRAP_BLEND 559 +#define PH_TRAP_HELD 560 +#define PH_TRAP_SOLO 561 +#define PH_FACE_BLEND 562 +#define PH_FACE_HELD 563 +#define PH_FACE_SOLO 564 +#define PH_CLOTH_BLEND 565 +#define PH_CLOTH_HELD 566 +#define PH_CLOTH_SOLO 567 +#define PH_DRESS_BLEND 568 +#define PH_DRESS_HELD 569 +#define PH_DRESS_SOLO 570 +#define PH_FLEECE_BLEND 571 +#define PH_FLEECE_HELD 572 +#define PH_FLEECE_SOLO 573 +#define PH_KIT_BLEND 574 +#define PH_KIT_HELD 575 +#define PH_KIT_SOLO 576 +#define PH_PRICE_BLEND 577 +#define PH_PRICE_HELD 578 +#define PH_PRICE_SOLO 579 +#define PH_LOT_BLEND 580 +#define PH_LOT_HELD 581 +#define PH_LOT_SOLO 582 +#define PH_GOAT_BLEND 583 +#define PH_GOAT_HELD 584 +#define PH_GOAT_SOLO 585 +#define PH_THOUGHT_BLEND 586 +#define PH_THOUGHT_HELD 587 +#define PH_THOUGHT_SOLO 588 +#define PH_CHOICE_BLEND 589 +#define PH_CHOICE_HELD 590 +#define PH_CHOICE_SOLO 591 +#define PH_MOUTH_BLEND 592 +#define PH_MOUTH_HELD 593 +#define PH_MOUTH_SOLO 594 +#define PH_FOOT_BLEND 595 +#define PH_FOOT_HELD 596 +#define PH_FOOT_SOLO 597 +#define PH_GOOSE_BLEND 598 +#define PH_GOOSE_HELD 599 +#define PH_GOOSE_SOLO 600 +#define PH_STRUT_BLEND 601 +#define PH_STRUT_HELD 602 +#define PH_STRUT_SOLO 603 +#define PH_CURE_BLEND 604 +#define PH_CURE_HELD 605 +#define PH_CURE_SOLO 606 +#define PH_NURSE_BLEND 607 +#define PH_NURSE_HELD 608 +#define PH_NURSE_SOLO 609 + +#define MUS_ROUTE_118 0x7FFF // What is this for? + +#endif // GUARD_CONSTANTS_SONGS_H diff --git a/include/constants/species.h b/include/constants/species.h new file mode 100644 index 0000000000..f698ada14a --- /dev/null +++ b/include/constants/species.h @@ -0,0 +1,450 @@ +#ifndef GUARD_CONSTANTS_SPECIES_H +#define GUARD_CONSTANTS_SPECIES_H + +#define SPECIES_NONE 0 +#define SPECIES_BULBASAUR 1 +#define SPECIES_IVYSAUR 2 +#define SPECIES_VENUSAUR 3 +#define SPECIES_CHARMANDER 4 +#define SPECIES_CHARMELEON 5 +#define SPECIES_CHARIZARD 6 +#define SPECIES_SQUIRTLE 7 +#define SPECIES_WARTORTLE 8 +#define SPECIES_BLASTOISE 9 +#define SPECIES_CATERPIE 10 +#define SPECIES_METAPOD 11 +#define SPECIES_BUTTERFREE 12 +#define SPECIES_WEEDLE 13 +#define SPECIES_KAKUNA 14 +#define SPECIES_BEEDRILL 15 +#define SPECIES_PIDGEY 16 +#define SPECIES_PIDGEOTTO 17 +#define SPECIES_PIDGEOT 18 +#define SPECIES_RATTATA 19 +#define SPECIES_RATICATE 20 +#define SPECIES_SPEAROW 21 +#define SPECIES_FEAROW 22 +#define SPECIES_EKANS 23 +#define SPECIES_ARBOK 24 +#define SPECIES_PIKACHU 25 +#define SPECIES_RAICHU 26 +#define SPECIES_SANDSHREW 27 +#define SPECIES_SANDSLASH 28 +#define SPECIES_NIDORAN_F 29 +#define SPECIES_NIDORINA 30 +#define SPECIES_NIDOQUEEN 31 +#define SPECIES_NIDORAN_M 32 +#define SPECIES_NIDORINO 33 +#define SPECIES_NIDOKING 34 +#define SPECIES_CLEFAIRY 35 +#define SPECIES_CLEFABLE 36 +#define SPECIES_VULPIX 37 +#define SPECIES_NINETALES 38 +#define SPECIES_JIGGLYPUFF 39 +#define SPECIES_WIGGLYTUFF 40 +#define SPECIES_ZUBAT 41 +#define SPECIES_GOLBAT 42 +#define SPECIES_ODDISH 43 +#define SPECIES_GLOOM 44 +#define SPECIES_VILEPLUME 45 +#define SPECIES_PARAS 46 +#define SPECIES_PARASECT 47 +#define SPECIES_VENONAT 48 +#define SPECIES_VENOMOTH 49 +#define SPECIES_DIGLETT 50 +#define SPECIES_DUGTRIO 51 +#define SPECIES_MEOWTH 52 +#define SPECIES_PERSIAN 53 +#define SPECIES_PSYDUCK 54 +#define SPECIES_GOLDUCK 55 +#define SPECIES_MANKEY 56 +#define SPECIES_PRIMEAPE 57 +#define SPECIES_GROWLITHE 58 +#define SPECIES_ARCANINE 59 +#define SPECIES_POLIWAG 60 +#define SPECIES_POLIWHIRL 61 +#define SPECIES_POLIWRATH 62 +#define SPECIES_ABRA 63 +#define SPECIES_KADABRA 64 +#define SPECIES_ALAKAZAM 65 +#define SPECIES_MACHOP 66 +#define SPECIES_MACHOKE 67 +#define SPECIES_MACHAMP 68 +#define SPECIES_BELLSPROUT 69 +#define SPECIES_WEEPINBELL 70 +#define SPECIES_VICTREEBEL 71 +#define SPECIES_TENTACOOL 72 +#define SPECIES_TENTACRUEL 73 +#define SPECIES_GEODUDE 74 +#define SPECIES_GRAVELER 75 +#define SPECIES_GOLEM 76 +#define SPECIES_PONYTA 77 +#define SPECIES_RAPIDASH 78 +#define SPECIES_SLOWPOKE 79 +#define SPECIES_SLOWBRO 80 +#define SPECIES_MAGNEMITE 81 +#define SPECIES_MAGNETON 82 +#define SPECIES_FARFETCHD 83 +#define SPECIES_DODUO 84 +#define SPECIES_DODRIO 85 +#define SPECIES_SEEL 86 +#define SPECIES_DEWGONG 87 +#define SPECIES_GRIMER 88 +#define SPECIES_MUK 89 +#define SPECIES_SHELLDER 90 +#define SPECIES_CLOYSTER 91 +#define SPECIES_GASTLY 92 +#define SPECIES_HAUNTER 93 +#define SPECIES_GENGAR 94 +#define SPECIES_ONIX 95 +#define SPECIES_DROWZEE 96 +#define SPECIES_HYPNO 97 +#define SPECIES_KRABBY 98 +#define SPECIES_KINGLER 99 +#define SPECIES_VOLTORB 100 +#define SPECIES_ELECTRODE 101 +#define SPECIES_EXEGGCUTE 102 +#define SPECIES_EXEGGUTOR 103 +#define SPECIES_CUBONE 104 +#define SPECIES_MAROWAK 105 +#define SPECIES_HITMONLEE 106 +#define SPECIES_HITMONCHAN 107 +#define SPECIES_LICKITUNG 108 +#define SPECIES_KOFFING 109 +#define SPECIES_WEEZING 110 +#define SPECIES_RHYHORN 111 +#define SPECIES_RHYDON 112 +#define SPECIES_CHANSEY 113 +#define SPECIES_TANGELA 114 +#define SPECIES_KANGASKHAN 115 +#define SPECIES_HORSEA 116 +#define SPECIES_SEADRA 117 +#define SPECIES_GOLDEEN 118 +#define SPECIES_SEAKING 119 +#define SPECIES_STARYU 120 +#define SPECIES_STARMIE 121 +#define SPECIES_MR_MIME 122 +#define SPECIES_SCYTHER 123 +#define SPECIES_JYNX 124 +#define SPECIES_ELECTABUZZ 125 +#define SPECIES_MAGMAR 126 +#define SPECIES_PINSIR 127 +#define SPECIES_TAUROS 128 +#define SPECIES_MAGIKARP 129 +#define SPECIES_GYARADOS 130 +#define SPECIES_LAPRAS 131 +#define SPECIES_DITTO 132 +#define SPECIES_EEVEE 133 +#define SPECIES_VAPOREON 134 +#define SPECIES_JOLTEON 135 +#define SPECIES_FLAREON 136 +#define SPECIES_PORYGON 137 +#define SPECIES_OMANYTE 138 +#define SPECIES_OMASTAR 139 +#define SPECIES_KABUTO 140 +#define SPECIES_KABUTOPS 141 +#define SPECIES_AERODACTYL 142 +#define SPECIES_SNORLAX 143 +#define SPECIES_ARTICUNO 144 +#define SPECIES_ZAPDOS 145 +#define SPECIES_MOLTRES 146 +#define SPECIES_DRATINI 147 +#define SPECIES_DRAGONAIR 148 +#define SPECIES_DRAGONITE 149 +#define SPECIES_MEWTWO 150 +#define SPECIES_MEW 151 +#define SPECIES_CHIKORITA 152 +#define SPECIES_BAYLEEF 153 +#define SPECIES_MEGANIUM 154 +#define SPECIES_CYNDAQUIL 155 +#define SPECIES_QUILAVA 156 +#define SPECIES_TYPHLOSION 157 +#define SPECIES_TOTODILE 158 +#define SPECIES_CROCONAW 159 +#define SPECIES_FERALIGATR 160 +#define SPECIES_SENTRET 161 +#define SPECIES_FURRET 162 +#define SPECIES_HOOTHOOT 163 +#define SPECIES_NOCTOWL 164 +#define SPECIES_LEDYBA 165 +#define SPECIES_LEDIAN 166 +#define SPECIES_SPINARAK 167 +#define SPECIES_ARIADOS 168 +#define SPECIES_CROBAT 169 +#define SPECIES_CHINCHOU 170 +#define SPECIES_LANTURN 171 +#define SPECIES_PICHU 172 +#define SPECIES_CLEFFA 173 +#define SPECIES_IGGLYBUFF 174 +#define SPECIES_TOGEPI 175 +#define SPECIES_TOGETIC 176 +#define SPECIES_NATU 177 +#define SPECIES_XATU 178 +#define SPECIES_MAREEP 179 +#define SPECIES_FLAAFFY 180 +#define SPECIES_AMPHAROS 181 +#define SPECIES_BELLOSSOM 182 +#define SPECIES_MARILL 183 +#define SPECIES_AZUMARILL 184 +#define SPECIES_SUDOWOODO 185 +#define SPECIES_POLITOED 186 +#define SPECIES_HOPPIP 187 +#define SPECIES_SKIPLOOM 188 +#define SPECIES_JUMPLUFF 189 +#define SPECIES_AIPOM 190 +#define SPECIES_SUNKERN 191 +#define SPECIES_SUNFLORA 192 +#define SPECIES_YANMA 193 +#define SPECIES_WOOPER 194 +#define SPECIES_QUAGSIRE 195 +#define SPECIES_ESPEON 196 +#define SPECIES_UMBREON 197 +#define SPECIES_MURKROW 198 +#define SPECIES_SLOWKING 199 +#define SPECIES_MISDREAVUS 200 +#define SPECIES_UNOWN 201 +#define SPECIES_WOBBUFFET 202 +#define SPECIES_GIRAFARIG 203 +#define SPECIES_PINECO 204 +#define SPECIES_FORRETRESS 205 +#define SPECIES_DUNSPARCE 206 +#define SPECIES_GLIGAR 207 +#define SPECIES_STEELIX 208 +#define SPECIES_SNUBBULL 209 +#define SPECIES_GRANBULL 210 +#define SPECIES_QWILFISH 211 +#define SPECIES_SCIZOR 212 +#define SPECIES_SHUCKLE 213 +#define SPECIES_HERACROSS 214 +#define SPECIES_SNEASEL 215 +#define SPECIES_TEDDIURSA 216 +#define SPECIES_URSARING 217 +#define SPECIES_SLUGMA 218 +#define SPECIES_MAGCARGO 219 +#define SPECIES_SWINUB 220 +#define SPECIES_PILOSWINE 221 +#define SPECIES_CORSOLA 222 +#define SPECIES_REMORAID 223 +#define SPECIES_OCTILLERY 224 +#define SPECIES_DELIBIRD 225 +#define SPECIES_MANTINE 226 +#define SPECIES_SKARMORY 227 +#define SPECIES_HOUNDOUR 228 +#define SPECIES_HOUNDOOM 229 +#define SPECIES_KINGDRA 230 +#define SPECIES_PHANPY 231 +#define SPECIES_DONPHAN 232 +#define SPECIES_PORYGON2 233 +#define SPECIES_STANTLER 234 +#define SPECIES_SMEARGLE 235 +#define SPECIES_TYROGUE 236 +#define SPECIES_HITMONTOP 237 +#define SPECIES_SMOOCHUM 238 +#define SPECIES_ELEKID 239 +#define SPECIES_MAGBY 240 +#define SPECIES_MILTANK 241 +#define SPECIES_BLISSEY 242 +#define SPECIES_RAIKOU 243 +#define SPECIES_ENTEI 244 +#define SPECIES_SUICUNE 245 +#define SPECIES_LARVITAR 246 +#define SPECIES_PUPITAR 247 +#define SPECIES_TYRANITAR 248 +#define SPECIES_LUGIA 249 +#define SPECIES_HO_OH 250 +#define SPECIES_CELEBI 251 + +#define SPECIES_OLD_UNOWN_B 252 +#define SPECIES_OLD_UNOWN_C 253 +#define SPECIES_OLD_UNOWN_D 254 +#define SPECIES_OLD_UNOWN_E 255 +#define SPECIES_OLD_UNOWN_F 256 +#define SPECIES_OLD_UNOWN_G 257 +#define SPECIES_OLD_UNOWN_H 258 +#define SPECIES_OLD_UNOWN_I 259 +#define SPECIES_OLD_UNOWN_J 260 +#define SPECIES_OLD_UNOWN_K 261 +#define SPECIES_OLD_UNOWN_L 262 +#define SPECIES_OLD_UNOWN_M 263 +#define SPECIES_OLD_UNOWN_N 264 +#define SPECIES_OLD_UNOWN_O 265 +#define SPECIES_OLD_UNOWN_P 266 +#define SPECIES_OLD_UNOWN_Q 267 +#define SPECIES_OLD_UNOWN_R 268 +#define SPECIES_OLD_UNOWN_S 269 +#define SPECIES_OLD_UNOWN_T 270 +#define SPECIES_OLD_UNOWN_U 271 +#define SPECIES_OLD_UNOWN_V 272 +#define SPECIES_OLD_UNOWN_W 273 +#define SPECIES_OLD_UNOWN_X 274 +#define SPECIES_OLD_UNOWN_Y 275 +#define SPECIES_OLD_UNOWN_Z 276 + +#define SPECIES_TREECKO 277 +#define SPECIES_GROVYLE 278 +#define SPECIES_SCEPTILE 279 +#define SPECIES_TORCHIC 280 +#define SPECIES_COMBUSKEN 281 +#define SPECIES_BLAZIKEN 282 +#define SPECIES_MUDKIP 283 +#define SPECIES_MARSHTOMP 284 +#define SPECIES_SWAMPERT 285 +#define SPECIES_POOCHYENA 286 +#define SPECIES_MIGHTYENA 287 +#define SPECIES_ZIGZAGOON 288 +#define SPECIES_LINOONE 289 +#define SPECIES_WURMPLE 290 +#define SPECIES_SILCOON 291 +#define SPECIES_BEAUTIFLY 292 +#define SPECIES_CASCOON 293 +#define SPECIES_DUSTOX 294 +#define SPECIES_LOTAD 295 +#define SPECIES_LOMBRE 296 +#define SPECIES_LUDICOLO 297 +#define SPECIES_SEEDOT 298 +#define SPECIES_NUZLEAF 299 +#define SPECIES_SHIFTRY 300 +#define SPECIES_NINCADA 301 +#define SPECIES_NINJASK 302 +#define SPECIES_SHEDINJA 303 +#define SPECIES_TAILLOW 304 +#define SPECIES_SWELLOW 305 +#define SPECIES_SHROOMISH 306 +#define SPECIES_BRELOOM 307 +#define SPECIES_SPINDA 308 +#define SPECIES_WINGULL 309 +#define SPECIES_PELIPPER 310 +#define SPECIES_SURSKIT 311 +#define SPECIES_MASQUERAIN 312 +#define SPECIES_WAILMER 313 +#define SPECIES_WAILORD 314 +#define SPECIES_SKITTY 315 +#define SPECIES_DELCATTY 316 +#define SPECIES_KECLEON 317 +#define SPECIES_BALTOY 318 +#define SPECIES_CLAYDOL 319 +#define SPECIES_NOSEPASS 320 +#define SPECIES_TORKOAL 321 +#define SPECIES_SABLEYE 322 +#define SPECIES_BARBOACH 323 +#define SPECIES_WHISCASH 324 +#define SPECIES_LUVDISC 325 +#define SPECIES_CORPHISH 326 +#define SPECIES_CRAWDAUNT 327 +#define SPECIES_FEEBAS 328 +#define SPECIES_MILOTIC 329 +#define SPECIES_CARVANHA 330 +#define SPECIES_SHARPEDO 331 +#define SPECIES_TRAPINCH 332 +#define SPECIES_VIBRAVA 333 +#define SPECIES_FLYGON 334 +#define SPECIES_MAKUHITA 335 +#define SPECIES_HARIYAMA 336 +#define SPECIES_ELECTRIKE 337 +#define SPECIES_MANECTRIC 338 +#define SPECIES_NUMEL 339 +#define SPECIES_CAMERUPT 340 +#define SPECIES_SPHEAL 341 +#define SPECIES_SEALEO 342 +#define SPECIES_WALREIN 343 +#define SPECIES_CACNEA 344 +#define SPECIES_CACTURNE 345 +#define SPECIES_SNORUNT 346 +#define SPECIES_GLALIE 347 +#define SPECIES_LUNATONE 348 +#define SPECIES_SOLROCK 349 +#define SPECIES_AZURILL 350 +#define SPECIES_SPOINK 351 +#define SPECIES_GRUMPIG 352 +#define SPECIES_PLUSLE 353 +#define SPECIES_MINUN 354 +#define SPECIES_MAWILE 355 +#define SPECIES_MEDITITE 356 +#define SPECIES_MEDICHAM 357 +#define SPECIES_SWABLU 358 +#define SPECIES_ALTARIA 359 +#define SPECIES_WYNAUT 360 +#define SPECIES_DUSKULL 361 +#define SPECIES_DUSCLOPS 362 +#define SPECIES_ROSELIA 363 +#define SPECIES_SLAKOTH 364 +#define SPECIES_VIGOROTH 365 +#define SPECIES_SLAKING 366 +#define SPECIES_GULPIN 367 +#define SPECIES_SWALOT 368 +#define SPECIES_TROPIUS 369 +#define SPECIES_WHISMUR 370 +#define SPECIES_LOUDRED 371 +#define SPECIES_EXPLOUD 372 +#define SPECIES_CLAMPERL 373 +#define SPECIES_HUNTAIL 374 +#define SPECIES_GOREBYSS 375 +#define SPECIES_ABSOL 376 +#define SPECIES_SHUPPET 377 +#define SPECIES_BANETTE 378 +#define SPECIES_SEVIPER 379 +#define SPECIES_ZANGOOSE 380 +#define SPECIES_RELICANTH 381 +#define SPECIES_ARON 382 +#define SPECIES_LAIRON 383 +#define SPECIES_AGGRON 384 +#define SPECIES_CASTFORM 385 +#define SPECIES_VOLBEAT 386 +#define SPECIES_ILLUMISE 387 +#define SPECIES_LILEEP 388 +#define SPECIES_CRADILY 389 +#define SPECIES_ANORITH 390 +#define SPECIES_ARMALDO 391 +#define SPECIES_RALTS 392 +#define SPECIES_KIRLIA 393 +#define SPECIES_GARDEVOIR 394 +#define SPECIES_BAGON 395 +#define SPECIES_SHELGON 396 +#define SPECIES_SALAMENCE 397 +#define SPECIES_BELDUM 398 +#define SPECIES_METANG 399 +#define SPECIES_METAGROSS 400 +#define SPECIES_REGIROCK 401 +#define SPECIES_REGICE 402 +#define SPECIES_REGISTEEL 403 +#define SPECIES_KYOGRE 404 +#define SPECIES_GROUDON 405 +#define SPECIES_RAYQUAZA 406 +#define SPECIES_LATIAS 407 +#define SPECIES_LATIOS 408 +#define SPECIES_JIRACHI 409 +#define SPECIES_DEOXYS 410 +#define SPECIES_CHIMECHO 411 +#define SPECIES_EGG 412 + +#define SPECIES_UNOWN_B 413 +#define SPECIES_UNOWN_C 414 +#define SPECIES_UNOWN_D 415 +#define SPECIES_UNOWN_E 416 +#define SPECIES_UNOWN_F 417 +#define SPECIES_UNOWN_G 418 +#define SPECIES_UNOWN_H 419 +#define SPECIES_UNOWN_I 420 +#define SPECIES_UNOWN_J 421 +#define SPECIES_UNOWN_K 422 +#define SPECIES_UNOWN_L 423 +#define SPECIES_UNOWN_M 424 +#define SPECIES_UNOWN_N 425 +#define SPECIES_UNOWN_O 426 +#define SPECIES_UNOWN_P 427 +#define SPECIES_UNOWN_Q 428 +#define SPECIES_UNOWN_R 429 +#define SPECIES_UNOWN_S 430 +#define SPECIES_UNOWN_T 431 +#define SPECIES_UNOWN_U 432 +#define SPECIES_UNOWN_V 433 +#define SPECIES_UNOWN_W 434 +#define SPECIES_UNOWN_X 435 +#define SPECIES_UNOWN_Y 436 +#define SPECIES_UNOWN_Z 437 +#define SPECIES_UNOWN_EMARK 438 +#define SPECIES_UNOWN_QMARK 439 + +#define NUM_SPECIES SPECIES_EGG + +#endif // GUARD_CONSTANTS_SPECIES_H diff --git a/include/constants/trainers.h b/include/constants/trainers.h new file mode 100644 index 0000000000..48d4f081e5 --- /dev/null +++ b/include/constants/trainers.h @@ -0,0 +1,1129 @@ +#ifndef GUARD_TRAINERS_H +#define GUARD_TRAINERS_H + +#define TRAINER_NONE 0 +#define TRAINER_SAWYER_1 1 +#define TRAINER_GRUNT_1 2 +#define TRAINER_GRUNT_2 3 +#define TRAINER_GRUNT_3 4 +#define TRAINER_GRUNT_4 5 +#define TRAINER_GRUNT_5 6 +#define TRAINER_GRUNT_6 7 +#define TRAINER_GRUNT_7 8 +#define TRAINER_GABRIELLE_1 9 +#define TRAINER_GRUNT_8 10 +#define TRAINER_MARCEL 11 +#define TRAINER_ALBERTO 12 +#define TRAINER_ED 13 +#define TRAINER_GRUNT_9 14 +#define TRAINER_DECLAN 15 +#define TRAINER_GRUNT_10 16 +#define TRAINER_GRUNT_11 17 +#define TRAINER_GRUNT_12 18 +#define TRAINER_GRUNT_13 19 +#define TRAINER_GRUNT_14 20 +#define TRAINER_GRUNT_15 21 +#define TRAINER_GRUNT_16 22 +#define TRAINER_GRUNT_17 23 +#define TRAINER_GRUNT_18 24 +#define TRAINER_GRUNT_19 25 +#define TRAINER_GRUNT_20 26 +#define TRAINER_GRUNT_21 27 +#define TRAINER_GRUNT_22 28 +#define TRAINER_FREDRICK 29 +#define TRAINER_MATT 30 +#define TRAINER_ZANDER 31 +#define TRAINER_SHELLY_1 32 +#define TRAINER_SHELLY_2 33 +#define TRAINER_ARCHIE 34 +#define TRAINER_LEAH 35 +#define TRAINER_DAISY 36 +#define TRAINER_ROSE_1 37 +#define TRAINER_FELIX 38 +#define TRAINER_VIOLET 39 +#define TRAINER_ROSE_2 40 +#define TRAINER_ROSE_3 41 +#define TRAINER_ROSE_4 42 +#define TRAINER_ROSE_5 43 +#define TRAINER_DUSTY_1 44 +#define TRAINER_CHIP 45 +#define TRAINER_FOSTER 46 +#define TRAINER_DUSTY_2 47 +#define TRAINER_DUSTY_3 48 +#define TRAINER_DUSTY_4 49 +#define TRAINER_DUSTY_5 50 +#define TRAINER_GABBY_AND_TY_1 51 +#define TRAINER_GABBY_AND_TY_2 52 +#define TRAINER_GABBY_AND_TY_3 53 +#define TRAINER_GABBY_AND_TY_4 54 +#define TRAINER_GABBY_AND_TY_5 55 +#define TRAINER_GABBY_AND_TY_6 56 +#define TRAINER_LOLA_1 57 +#define TRAINER_AUSTINA 58 +#define TRAINER_GWEN 59 +#define TRAINER_LOLA_2 60 +#define TRAINER_LOLA_3 61 +#define TRAINER_LOLA_4 62 +#define TRAINER_LOLA_5 63 +#define TRAINER_RICKY_1 64 +#define TRAINER_SIMON 65 +#define TRAINER_CHARLIE 66 +#define TRAINER_RICKY_2 67 +#define TRAINER_RICKY_3 68 +#define TRAINER_RICKY_4 69 +#define TRAINER_RICKY_5 70 +#define TRAINER_RANDALL 71 +#define TRAINER_PARKER 72 +#define TRAINER_GEORGE 73 +#define TRAINER_BERKE 74 +#define TRAINER_BRAXTON 75 +#define TRAINER_VINCENT 76 +#define TRAINER_LEROY 77 +#define TRAINER_WILTON_1 78 +#define TRAINER_EDGAR 79 +#define TRAINER_ALBERT 80 +#define TRAINER_SAMUEL 81 +#define TRAINER_VITO 82 +#define TRAINER_OWEN 83 +#define TRAINER_WILTON_2 84 +#define TRAINER_WILTON_3 85 +#define TRAINER_WILTON_4 86 +#define TRAINER_WILTON_5 87 +#define TRAINER_WARREN 88 +#define TRAINER_MARY 89 +#define TRAINER_ALEXIA 90 +#define TRAINER_JODY 91 +#define TRAINER_WENDY 92 +#define TRAINER_KEIRA 93 +#define TRAINER_BROOKE_1 94 +#define TRAINER_JENNIFER 95 +#define TRAINER_HOPE 96 +#define TRAINER_SHANNON 97 +#define TRAINER_MICHELLE 98 +#define TRAINER_CAROLINE 99 +#define TRAINER_JULIE 100 +#define TRAINER_BROOKE_2 101 +#define TRAINER_BROOKE_3 102 +#define TRAINER_BROOKE_4 103 +#define TRAINER_BROOKE_5 104 +#define TRAINER_PATRICIA 105 +#define TRAINER_KINDRA 106 +#define TRAINER_TAMMY 107 +#define TRAINER_VALERIE_1 108 +#define TRAINER_TASHA 109 +#define TRAINER_VALERIE_2 110 +#define TRAINER_VALERIE_3 111 +#define TRAINER_VALERIE_4 112 +#define TRAINER_VALERIE_5 113 +#define TRAINER_CINDY_1 114 +#define TRAINER_DAPHNE 115 +#define TRAINER_GRUNT_23 116 +#define TRAINER_CINDY_2 117 +#define TRAINER_BRIANNA 118 +#define TRAINER_NAOMI 119 +#define TRAINER_CINDY_3 120 +#define TRAINER_CINDY_4 121 +#define TRAINER_CINDY_5 122 +#define TRAINER_CINDY_6 123 +#define TRAINER_MELISSA 124 +#define TRAINER_SHEILA 125 +#define TRAINER_SHIRLEY 126 +#define TRAINER_JESSICA_1 127 +#define TRAINER_CONNIE 128 +#define TRAINER_BRIDGET 129 +#define TRAINER_OLIVIA 130 +#define TRAINER_TIFFANY 131 +#define TRAINER_JESSICA_2 132 +#define TRAINER_JESSICA_3 133 +#define TRAINER_JESSICA_4 134 +#define TRAINER_JESSICA_5 135 +#define TRAINER_WINSTON_1 136 +#define TRAINER_MOLLIE 137 +#define TRAINER_GARRET 138 +#define TRAINER_WINSTON_2 139 +#define TRAINER_WINSTON_3 140 +#define TRAINER_WINSTON_4 141 +#define TRAINER_WINSTON_5 142 +#define TRAINER_STEVE_1 143 +#define TRAINER_THALIA_1 144 +#define TRAINER_MARK 145 +#define TRAINER_GRUNT_24 146 +#define TRAINER_STEVE_2 147 +#define TRAINER_STEVE_3 148 +#define TRAINER_STEVE_4 149 +#define TRAINER_STEVE_5 150 +#define TRAINER_LUIS 151 +#define TRAINER_DOMINIK 152 +#define TRAINER_DOUGLAS 153 +#define TRAINER_DARRIN 154 +#define TRAINER_TONY_1 155 +#define TRAINER_JEROME 156 +#define TRAINER_MATTHEW 157 +#define TRAINER_DAVID 158 +#define TRAINER_SPENCER 159 +#define TRAINER_ROLAND 160 +#define TRAINER_NOLEN 161 +#define TRAINER_STAN 162 +#define TRAINER_BARRY 163 +#define TRAINER_DEAN 164 +#define TRAINER_RODNEY 165 +#define TRAINER_RICHARD 166 +#define TRAINER_HERMAN 167 +#define TRAINER_SANTIAGO 168 +#define TRAINER_GILBERT 169 +#define TRAINER_FRANKLIN 170 +#define TRAINER_KEVIN 171 +#define TRAINER_JACK 172 +#define TRAINER_DUDLEY 173 +#define TRAINER_CHAD 174 +#define TRAINER_TONY_2 175 +#define TRAINER_TONY_3 176 +#define TRAINER_TONY_4 177 +#define TRAINER_TONY_5 178 +#define TRAINER_TAKAO 179 +#define TRAINER_HITOSHI 180 +#define TRAINER_KIYO 181 +#define TRAINER_KOICHI 182 +#define TRAINER_NOB_1 183 +#define TRAINER_NOB_2 184 +#define TRAINER_NOB_3 185 +#define TRAINER_NOB_4 186 +#define TRAINER_NOB_5 187 +#define TRAINER_YUJI 188 +#define TRAINER_DAISUKE 189 +#define TRAINER_ATSUSHI 190 +#define TRAINER_KIRK 191 +#define TRAINER_GRUNT_25 192 +#define TRAINER_GRUNT_26 193 +#define TRAINER_SHAWN 194 +#define TRAINER_FERNANDO_1 195 +#define TRAINER_DALTON_1 196 +#define TRAINER_DALTON_2 197 +#define TRAINER_DALTON_3 198 +#define TRAINER_DALTON_4 199 +#define TRAINER_DALTON_5 200 +#define TRAINER_COLE 201 +#define TRAINER_JEFF 202 +#define TRAINER_AXLE 203 +#define TRAINER_JACE 204 +#define TRAINER_KEEGAN 205 +#define TRAINER_BERNIE_1 206 +#define TRAINER_BERNIE_2 207 +#define TRAINER_BERNIE_3 208 +#define TRAINER_BERNIE_4 209 +#define TRAINER_BERNIE_5 210 +#define TRAINER_DREW 211 +#define TRAINER_BEAU 212 +#define TRAINER_LARRY 213 +#define TRAINER_SHANE 214 +#define TRAINER_JUSTIN 215 +#define TRAINER_ETHAN_1 216 +#define TRAINER_AUTUMN 217 +#define TRAINER_TRAVIS 218 +#define TRAINER_ETHAN_2 219 +#define TRAINER_ETHAN_3 220 +#define TRAINER_ETHAN_4 221 +#define TRAINER_ETHAN_5 222 +#define TRAINER_BRENT 223 +#define TRAINER_DONALD 224 +#define TRAINER_TAYLOR 225 +#define TRAINER_JEFFREY_1 226 +#define TRAINER_DEREK 227 +#define TRAINER_JEFFREY_2 228 +#define TRAINER_JEFFREY_3 229 +#define TRAINER_JEFFREY_4 230 +#define TRAINER_JEFFREY_5 231 +#define TRAINER_EDWARD 232 +#define TRAINER_PRESTON 233 +#define TRAINER_VIRGIL 234 +#define TRAINER_BLAKE 235 +#define TRAINER_WILLIAM 236 +#define TRAINER_JOSHUA 237 +#define TRAINER_CAMERON_1 238 +#define TRAINER_CAMERON_2 239 +#define TRAINER_CAMERON_3 240 +#define TRAINER_CAMERON_4 241 +#define TRAINER_CAMERON_5 242 +#define TRAINER_JACLYN 243 +#define TRAINER_HANNAH 244 +#define TRAINER_SAMANTHA 245 +#define TRAINER_MAURA 246 +#define TRAINER_KAYLA 247 +#define TRAINER_ALEXIS 248 +#define TRAINER_JACKI_1 249 +#define TRAINER_JACKI_2 250 +#define TRAINER_JACKI_3 251 +#define TRAINER_JACKI_4 252 +#define TRAINER_JACKI_5 253 +#define TRAINER_WALTER_1 254 +#define TRAINER_MICAH 255 +#define TRAINER_THOMAS 256 +#define TRAINER_WALTER_2 257 +#define TRAINER_WALTER_3 258 +#define TRAINER_WALTER_4 259 +#define TRAINER_WALTER_5 260 +#define TRAINER_SIDNEY 261 +#define TRAINER_PHOEBE 262 +#define TRAINER_GLACIA 263 +#define TRAINER_DRAKE 264 +#define TRAINER_ROXANNE_1 265 +#define TRAINER_BRAWLY_1 266 +#define TRAINER_WATTSON_1 267 +#define TRAINER_FLANNERY_1 268 +#define TRAINER_NORMAN_1 269 +#define TRAINER_WINONA_1 270 +#define TRAINER_TATE_AND_LIZA_1 271 +#define TRAINER_JUAN_1 272 +#define TRAINER_JERRY_1 273 +#define TRAINER_TED 274 +#define TRAINER_PAUL 275 +#define TRAINER_JERRY_2 276 +#define TRAINER_JERRY_3 277 +#define TRAINER_JERRY_4 278 +#define TRAINER_JERRY_5 279 +#define TRAINER_KAREN_1 280 +#define TRAINER_GEORGIA 281 +#define TRAINER_KAREN_2 282 +#define TRAINER_KAREN_3 283 +#define TRAINER_KAREN_4 284 +#define TRAINER_KAREN_5 285 +#define TRAINER_KATE_AND_JOY 286 +#define TRAINER_ANNA_AND_MEG_1 287 +#define TRAINER_ANNA_AND_MEG_2 288 +#define TRAINER_ANNA_AND_MEG_3 289 +#define TRAINER_ANNA_AND_MEG_4 290 +#define TRAINER_ANNA_AND_MEG_5 291 +#define TRAINER_VICTOR 292 +#define TRAINER_MIGUEL_1 293 +#define TRAINER_COLTON 294 +#define TRAINER_MIGUEL_2 295 +#define TRAINER_MIGUEL_3 296 +#define TRAINER_MIGUEL_4 297 +#define TRAINER_MIGUEL_5 298 +#define TRAINER_VICTORIA 299 +#define TRAINER_VANESSA 300 +#define TRAINER_BETHANY 301 +#define TRAINER_ISABEL_1 302 +#define TRAINER_ISABEL_2 303 +#define TRAINER_ISABEL_3 304 +#define TRAINER_ISABEL_4 305 +#define TRAINER_ISABEL_5 306 +#define TRAINER_TIMOTHY_1 307 +#define TRAINER_TIMOTHY_2 308 +#define TRAINER_TIMOTHY_3 309 +#define TRAINER_TIMOTHY_4 310 +#define TRAINER_TIMOTHY_5 311 +#define TRAINER_VICKY 312 +#define TRAINER_SHELBY_1 313 +#define TRAINER_SHELBY_2 314 +#define TRAINER_SHELBY_3 315 +#define TRAINER_SHELBY_4 316 +#define TRAINER_SHELBY_5 317 +#define TRAINER_CALVIN_1 318 +#define TRAINER_BILLY 319 +#define TRAINER_JOSH 320 +#define TRAINER_TOMMY 321 +#define TRAINER_JOEY 322 +#define TRAINER_BEN 323 +#define TRAINER_QUINCY 324 +#define TRAINER_KATELYNN 325 +#define TRAINER_JAYLEN 326 +#define TRAINER_DILLON 327 +#define TRAINER_CALVIN_2 328 +#define TRAINER_CALVIN_3 329 +#define TRAINER_CALVIN_4 330 +#define TRAINER_CALVIN_5 331 +#define TRAINER_EDDIE 332 +#define TRAINER_ALLEN 333 +#define TRAINER_TIMMY 334 +#define TRAINER_WALLACE 335 +#define TRAINER_ANDREW 336 +#define TRAINER_IVAN 337 +#define TRAINER_CLAUDE 338 +#define TRAINER_ELLIOT_1 339 +#define TRAINER_NED 340 +#define TRAINER_DALE 341 +#define TRAINER_NOLAN 342 +#define TRAINER_BARNY 343 +#define TRAINER_WADE 344 +#define TRAINER_CARTER 345 +#define TRAINER_ELLIOT_2 346 +#define TRAINER_ELLIOT_3 347 +#define TRAINER_ELLIOT_4 348 +#define TRAINER_ELLIOT_5 349 +#define TRAINER_RONALD 350 +#define TRAINER_JACOB 351 +#define TRAINER_ANTHONY 352 +#define TRAINER_BENJAMIN_1 353 +#define TRAINER_BENJAMIN_2 354 +#define TRAINER_BENJAMIN_3 355 +#define TRAINER_BENJAMIN_4 356 +#define TRAINER_BENJAMIN_5 357 +#define TRAINER_ABIGAIL_1 358 +#define TRAINER_JASMINE 359 +#define TRAINER_ABIGAIL_2 360 +#define TRAINER_ABIGAIL_3 361 +#define TRAINER_ABIGAIL_4 362 +#define TRAINER_ABIGAIL_5 363 +#define TRAINER_DYLAN_1 364 +#define TRAINER_DYLAN_2 365 +#define TRAINER_DYLAN_3 366 +#define TRAINER_DYLAN_4 367 +#define TRAINER_DYLAN_5 368 +#define TRAINER_MARIA_1 369 +#define TRAINER_MARIA_2 370 +#define TRAINER_MARIA_3 371 +#define TRAINER_MARIA_4 372 +#define TRAINER_MARIA_5 373 +#define TRAINER_CAMDEN 374 +#define TRAINER_DEMETRIUS 375 +#define TRAINER_ISAIAH_1 376 +#define TRAINER_PABLO_1 377 +#define TRAINER_CHASE 378 +#define TRAINER_ISAIAH_2 379 +#define TRAINER_ISAIAH_3 380 +#define TRAINER_ISAIAH_4 381 +#define TRAINER_ISAIAH_5 382 +#define TRAINER_ISOBEL 383 +#define TRAINER_DONNY 384 +#define TRAINER_TALIA 385 +#define TRAINER_KATELYN_1 386 +#define TRAINER_ALLISON 387 +#define TRAINER_KATELYN_2 388 +#define TRAINER_KATELYN_3 389 +#define TRAINER_KATELYN_4 390 +#define TRAINER_KATELYN_5 391 +#define TRAINER_NICOLAS_1 392 +#define TRAINER_NICOLAS_2 393 +#define TRAINER_NICOLAS_3 394 +#define TRAINER_NICOLAS_4 395 +#define TRAINER_NICOLAS_5 396 +#define TRAINER_AARON 397 +#define TRAINER_PERRY 398 +#define TRAINER_HUGH 399 +#define TRAINER_PHIL 400 +#define TRAINER_JARED 401 +#define TRAINER_HUMBERTO 402 +#define TRAINER_PRESLEY 403 +#define TRAINER_EDWARDO 404 +#define TRAINER_COLIN 405 +#define TRAINER_ROBERT_1 406 +#define TRAINER_BENNY 407 +#define TRAINER_CHESTER 408 +#define TRAINER_ROBERT_2 409 +#define TRAINER_ROBERT_3 410 +#define TRAINER_ROBERT_4 411 +#define TRAINER_ROBERT_5 412 +#define TRAINER_ALEX 413 +#define TRAINER_BECK 414 +#define TRAINER_YASU 415 +#define TRAINER_TAKASHI 416 +#define TRAINER_DIANNE 417 +#define TRAINER_JANI 418 +#define TRAINER_LAO_1 419 +#define TRAINER_LUNG 420 +#define TRAINER_LAO_2 421 +#define TRAINER_LAO_3 422 +#define TRAINER_LAO_4 423 +#define TRAINER_LAO_5 424 +#define TRAINER_JOCELYN 425 +#define TRAINER_LAURA 426 +#define TRAINER_CYNDY_1 427 +#define TRAINER_CORA 428 +#define TRAINER_PAULA 429 +#define TRAINER_CYNDY_2 430 +#define TRAINER_CYNDY_3 431 +#define TRAINER_CYNDY_4 432 +#define TRAINER_CYNDY_5 433 +#define TRAINER_MADELINE_1 434 +#define TRAINER_CLARISSA 435 +#define TRAINER_ANGELICA 436 +#define TRAINER_MADELINE_2 437 +#define TRAINER_MADELINE_3 438 +#define TRAINER_MADELINE_4 439 +#define TRAINER_MADELINE_5 440 +#define TRAINER_BEVERLY 441 +#define TRAINER_IMANI 442 +#define TRAINER_KYLA 443 +#define TRAINER_DENISE 444 +#define TRAINER_BETH 445 +#define TRAINER_TARA 446 +#define TRAINER_MISSY 447 +#define TRAINER_ALICE 448 +#define TRAINER_JENNY_1 449 +#define TRAINER_GRACE 450 +#define TRAINER_TANYA 451 +#define TRAINER_SHARON 452 +#define TRAINER_NIKKI 453 +#define TRAINER_BRENDA 454 +#define TRAINER_KATIE 455 +#define TRAINER_SUSIE 456 +#define TRAINER_KARA 457 +#define TRAINER_DANA 458 +#define TRAINER_SIENNA 459 +#define TRAINER_DEBRA 460 +#define TRAINER_LINDA 461 +#define TRAINER_KAYLEE 462 +#define TRAINER_LAUREL 463 +#define TRAINER_CARLEE 464 +#define TRAINER_JENNY_2 465 +#define TRAINER_JENNY_3 466 +#define TRAINER_JENNY_4 467 +#define TRAINER_JENNY_5 468 +#define TRAINER_HEIDI 469 +#define TRAINER_BECKY 470 +#define TRAINER_CAROL 471 +#define TRAINER_NANCY 472 +#define TRAINER_MARTHA 473 +#define TRAINER_DIANA_1 474 +#define TRAINER_CEDRIC 475 +#define TRAINER_IRENE 476 +#define TRAINER_DIANA_2 477 +#define TRAINER_DIANA_3 478 +#define TRAINER_DIANA_4 479 +#define TRAINER_DIANA_5 480 +#define TRAINER_AMY_AND_LIV_1 481 +#define TRAINER_AMY_AND_LIV_2 482 +#define TRAINER_GINA_AND_MIA_1 483 +#define TRAINER_MIU_AND_YUKI 484 +#define TRAINER_AMY_AND_LIV_3 485 +#define TRAINER_GINA_AND_MIA_2 486 +#define TRAINER_AMY_AND_LIV_4 487 +#define TRAINER_AMY_AND_LIV_5 488 +#define TRAINER_AMY_AND_LIV_6 489 +#define TRAINER_HUEY 490 +#define TRAINER_EDMOND 491 +#define TRAINER_ERNEST_1 492 +#define TRAINER_DWAYNE 493 +#define TRAINER_PHILLIP 494 +#define TRAINER_LEONARD 495 +#define TRAINER_DUNCAN 496 +#define TRAINER_ERNEST_2 497 +#define TRAINER_ERNEST_3 498 +#define TRAINER_ERNEST_4 499 +#define TRAINER_ERNEST_5 500 +#define TRAINER_ELI 501 +#define TRAINER_ANNIKA 502 +#define TRAINER_JAZMYN 503 +#define TRAINER_JONAS 504 +#define TRAINER_KAYLEY 505 +#define TRAINER_AURON 506 +#define TRAINER_KELVIN 507 +#define TRAINER_MARLEY 508 +#define TRAINER_REYNA 509 +#define TRAINER_HUDSON 510 +#define TRAINER_CONOR 511 +#define TRAINER_EDWIN_1 512 +#define TRAINER_HECTOR 513 +#define TRAINER_TABITHA_1 514 +#define TRAINER_EDWIN_2 515 +#define TRAINER_EDWIN_3 516 +#define TRAINER_EDWIN_4 517 +#define TRAINER_EDWIN_5 518 +#define TRAINER_WALLY_1 519 +#define TRAINER_BRENDAN_1 520 +#define TRAINER_BRENDAN_2 521 +#define TRAINER_BRENDAN_3 522 +#define TRAINER_BRENDAN_4 523 +#define TRAINER_BRENDAN_5 524 +#define TRAINER_BRENDAN_6 525 +#define TRAINER_BRENDAN_7 526 +#define TRAINER_BRENDAN_8 527 +#define TRAINER_BRENDAN_9 528 +#define TRAINER_MAY_1 529 +#define TRAINER_MAY_2 530 +#define TRAINER_MAY_3 531 +#define TRAINER_MAY_4 532 +#define TRAINER_MAY_5 533 +#define TRAINER_MAY_6 534 +#define TRAINER_MAY_7 535 +#define TRAINER_MAY_8 536 +#define TRAINER_MAY_9 537 +#define TRAINER_ISAAC_1 538 +#define TRAINER_DAVIS 539 +#define TRAINER_MITCHELL 540 +#define TRAINER_ISAAC_2 541 +#define TRAINER_ISAAC_3 542 +#define TRAINER_ISAAC_4 543 +#define TRAINER_ISAAC_5 544 +#define TRAINER_LYDIA_1 545 +#define TRAINER_HALLE 546 +#define TRAINER_GARRISON 547 +#define TRAINER_LYDIA_2 548 +#define TRAINER_LYDIA_3 549 +#define TRAINER_LYDIA_4 550 +#define TRAINER_LYDIA_5 551 +#define TRAINER_JACKSON_1 552 +#define TRAINER_LORENZO 553 +#define TRAINER_SEBASTIAN 554 +#define TRAINER_JACKSON_2 555 +#define TRAINER_JACKSON_3 556 +#define TRAINER_JACKSON_4 557 +#define TRAINER_JACKSON_5 558 +#define TRAINER_CATHERINE_1 559 +#define TRAINER_JENNA 560 +#define TRAINER_SOPHIA 561 +#define TRAINER_CATHERINE_2 562 +#define TRAINER_CATHERINE_3 563 +#define TRAINER_CATHERINE_4 564 +#define TRAINER_CATHERINE_5 565 +#define TRAINER_JULIO 566 +#define TRAINER_GRUNT_27 567 +#define TRAINER_GRUNT_28 568 +#define TRAINER_GRUNT_29 569 +#define TRAINER_GRUNT_30 570 +#define TRAINER_MARC 571 +#define TRAINER_BRENDEN 572 +#define TRAINER_LILITH 573 +#define TRAINER_CRISTIAN 574 +#define TRAINER_SYLVIA 575 +#define TRAINER_LEONARDO 576 +#define TRAINER_ATHENA 577 +#define TRAINER_HARRISON 578 +#define TRAINER_GRUNT_31 579 +#define TRAINER_CLARENCE 580 +#define TRAINER_TERRY 581 +#define TRAINER_NATE 582 +#define TRAINER_KATHLEEN 583 +#define TRAINER_CLIFFORD 584 +#define TRAINER_NICHOLAS 585 +#define TRAINER_GRUNT_32 586 +#define TRAINER_GRUNT_33 587 +#define TRAINER_GRUNT_34 588 +#define TRAINER_GRUNT_35 589 +#define TRAINER_GRUNT_36 590 +#define TRAINER_MACEY 591 +#define TRAINER_BRENDAN_10 592 +#define TRAINER_BRENDAN_11 593 +#define TRAINER_PAXTON 594 +#define TRAINER_ISABELLA 595 +#define TRAINER_GRUNT_37 596 +#define TRAINER_TABITHA_2 597 +#define TRAINER_JONATHAN 598 +#define TRAINER_BRENDAN_12 599 +#define TRAINER_MAY_10 600 +#define TRAINER_MAXIE_1 601 +#define TRAINER_MAXIE_2 602 +#define TRAINER_TIANA 603 +#define TRAINER_HALEY_1 604 +#define TRAINER_JANICE 605 +#define TRAINER_VIVI 606 +#define TRAINER_HALEY_2 607 +#define TRAINER_HALEY_3 608 +#define TRAINER_HALEY_4 609 +#define TRAINER_HALEY_5 610 +#define TRAINER_SALLY 611 +#define TRAINER_ROBIN 612 +#define TRAINER_ANDREA 613 +#define TRAINER_CRISSY 614 +#define TRAINER_RICK 615 +#define TRAINER_LYLE 616 +#define TRAINER_JOSE 617 +#define TRAINER_DOUG 618 +#define TRAINER_GREG 619 +#define TRAINER_KENT 620 +#define TRAINER_JAMES_1 621 +#define TRAINER_JAMES_2 622 +#define TRAINER_JAMES_3 623 +#define TRAINER_JAMES_4 624 +#define TRAINER_JAMES_5 625 +#define TRAINER_BRICE 626 +#define TRAINER_TRENT_1 627 +#define TRAINER_LENNY 628 +#define TRAINER_LUCAS_1 629 +#define TRAINER_ALAN 630 +#define TRAINER_CLARK 631 +#define TRAINER_ERIC 632 +#define TRAINER_LUCAS_2 633 +#define TRAINER_MIKE_1 634 +#define TRAINER_MIKE_2 635 +#define TRAINER_TRENT_2 636 +#define TRAINER_TRENT_3 637 +#define TRAINER_TRENT_4 638 +#define TRAINER_TRENT_5 639 +#define TRAINER_DEZ_AND_LUKE 640 +#define TRAINER_LEA_AND_JED 641 +#define TRAINER_KIRA_AND_DAN_1 642 +#define TRAINER_KIRA_AND_DAN_2 643 +#define TRAINER_KIRA_AND_DAN_3 644 +#define TRAINER_KIRA_AND_DAN_4 645 +#define TRAINER_KIRA_AND_DAN_5 646 +#define TRAINER_JOHANNA 647 +#define TRAINER_GERALD 648 +#define TRAINER_VIVIAN 649 +#define TRAINER_DANIELLE 650 +#define TRAINER_HIDEO 651 +#define TRAINER_KEIGO 652 +#define TRAINER_RILEY 653 +#define TRAINER_FLINT 654 +#define TRAINER_ASHLEY 655 +#define TRAINER_WALLY_2 656 +#define TRAINER_WALLY_3 657 +#define TRAINER_WALLY_4 658 +#define TRAINER_WALLY_5 659 +#define TRAINER_WALLY_6 660 +#define TRAINER_BRENDAN_13 661 +#define TRAINER_BRENDAN_14 662 +#define TRAINER_BRENDAN_15 663 +#define TRAINER_MAY_11 664 +#define TRAINER_MAY_12 665 +#define TRAINER_MAY_13 666 +#define TRAINER_JONAH 667 +#define TRAINER_HENRY 668 +#define TRAINER_ROGER 669 +#define TRAINER_ALEXA 670 +#define TRAINER_RUBEN 671 +#define TRAINER_KOJI_1 672 +#define TRAINER_WAYNE 673 +#define TRAINER_AIDAN 674 +#define TRAINER_REED 675 +#define TRAINER_TISHA 676 +#define TRAINER_TORI_AND_TIA 677 +#define TRAINER_KIM_AND_IRIS 678 +#define TRAINER_TYRA_AND_IVY 679 +#define TRAINER_MEL_AND_PAUL 680 +#define TRAINER_JOHN_AND_JAY_1 681 +#define TRAINER_JOHN_AND_JAY_2 682 +#define TRAINER_JOHN_AND_JAY_3 683 +#define TRAINER_JOHN_AND_JAY_4 684 +#define TRAINER_JOHN_AND_JAY_5 685 +#define TRAINER_RELI_AND_IAN 686 +#define TRAINER_LILA_AND_ROY_1 687 +#define TRAINER_LILA_AND_ROY_2 688 +#define TRAINER_LILA_AND_ROY_3 689 +#define TRAINER_LILA_AND_ROY_4 690 +#define TRAINER_LILA_AND_ROY_5 691 +#define TRAINER_LISA_AND_RAY 692 +#define TRAINER_CHRIS 693 +#define TRAINER_DAWSON 694 +#define TRAINER_SARAH 695 +#define TRAINER_DARIAN 696 +#define TRAINER_HAILEY 697 +#define TRAINER_CHANDLER 698 +#define TRAINER_KALEB 699 +#define TRAINER_JOSEPH 700 +#define TRAINER_ALYSSA 701 +#define TRAINER_MARCOS 702 +#define TRAINER_RHETT 703 +#define TRAINER_TYRON 704 +#define TRAINER_CELINA 705 +#define TRAINER_BIANCA 706 +#define TRAINER_HAYDEN 707 +#define TRAINER_SOPHIE 708 +#define TRAINER_COBY 709 +#define TRAINER_LAWRENCE 710 +#define TRAINER_WYATT 711 +#define TRAINER_ANGELINA 712 +#define TRAINER_KAI 713 +#define TRAINER_CHARLOTTE 714 +#define TRAINER_DEANDRE 715 +#define TRAINER_GRUNT_38 716 +#define TRAINER_GRUNT_39 717 +#define TRAINER_GRUNT_40 718 +#define TRAINER_GRUNT_41 719 +#define TRAINER_GRUNT_42 720 +#define TRAINER_GRUNT_43 721 +#define TRAINER_GRUNT_44 722 +#define TRAINER_GRUNT_45 723 +#define TRAINER_GRUNT_46 724 +#define TRAINER_GRUNT_47 725 +#define TRAINER_GRUNT_48 726 +#define TRAINER_GRUNT_49 727 +#define TRAINER_GRUNT_50 728 +#define TRAINER_GRUNT_51 729 +#define TRAINER_GRUNT_52 730 +#define TRAINER_GRUNT_53 731 +#define TRAINER_TABITHA_3 732 +#define TRAINER_DARCY 733 +#define TRAINER_MAXIE_3 734 +#define TRAINER_PETE 735 +#define TRAINER_ISABELLE 736 +#define TRAINER_ANDRES_1 737 +#define TRAINER_JOSUE 738 +#define TRAINER_CAMRON 739 +#define TRAINER_CORY_1 740 +#define TRAINER_CAROLINA 741 +#define TRAINER_ELIJAH 742 +#define TRAINER_CELIA 743 +#define TRAINER_BRYAN 744 +#define TRAINER_BRANDEN 745 +#define TRAINER_BRYANT 746 +#define TRAINER_SHAYLA 747 +#define TRAINER_KYRA 748 +#define TRAINER_JAIDEN 749 +#define TRAINER_ALIX 750 +#define TRAINER_HELENE 751 +#define TRAINER_MARLENE 752 +#define TRAINER_DEVAN 753 +#define TRAINER_JOHNSON 754 +#define TRAINER_MELINA 755 +#define TRAINER_BRANDI 756 +#define TRAINER_AISHA 757 +#define TRAINER_MAKAYLA 758 +#define TRAINER_FABIAN 759 +#define TRAINER_DAYTON 760 +#define TRAINER_RACHEL 761 +#define TRAINER_LEONEL 762 +#define TRAINER_CALLIE 763 +#define TRAINER_CALE 764 +#define TRAINER_MYLES 765 +#define TRAINER_PAT 766 +#define TRAINER_CRISTIN_1 767 +#define TRAINER_MAY_14 768 +#define TRAINER_MAY_15 769 +#define TRAINER_ROXANNE_2 770 +#define TRAINER_ROXANNE_3 771 +#define TRAINER_ROXANNE_4 772 +#define TRAINER_ROXANNE_5 773 +#define TRAINER_BRAWLY_2 774 +#define TRAINER_BRAWLY_3 775 +#define TRAINER_BRAWLY_4 776 +#define TRAINER_BRAWLY_5 777 +#define TRAINER_WATTSON_2 778 +#define TRAINER_WATTSON_3 779 +#define TRAINER_WATTSON_4 780 +#define TRAINER_WATTSON_5 781 +#define TRAINER_FLANNERY_2 782 +#define TRAINER_FLANNERY_3 783 +#define TRAINER_FLANNERY_4 784 +#define TRAINER_FLANNERY_5 785 +#define TRAINER_NORMAN_2 786 +#define TRAINER_NORMAN_3 787 +#define TRAINER_NORMAN_4 788 +#define TRAINER_NORMAN_5 789 +#define TRAINER_WINONA_2 790 +#define TRAINER_WINONA_3 791 +#define TRAINER_WINONA_4 792 +#define TRAINER_WINONA_5 793 +#define TRAINER_TATE_AND_LIZA_2 794 +#define TRAINER_TATE_AND_LIZA_3 795 +#define TRAINER_TATE_AND_LIZA_4 796 +#define TRAINER_TATE_AND_LIZA_5 797 +#define TRAINER_JUAN_2 798 +#define TRAINER_JUAN_3 799 +#define TRAINER_JUAN_4 800 +#define TRAINER_JUAN_5 801 +#define TRAINER_ANGELO 802 +#define TRAINER_DARIUS 803 +#define TRAINER_STEVEN 804 +#define TRAINER_ANABEL 805 +#define TRAINER_TUCKER 806 +#define TRAINER_SPENSER 807 +#define TRAINER_GRETA 808 +#define TRAINER_NOLAND 809 +#define TRAINER_LUCY 810 +#define TRAINER_BRANDON 811 +#define TRAINER_ANDRES_2 812 +#define TRAINER_ANDRES_3 813 +#define TRAINER_ANDRES_4 814 +#define TRAINER_ANDRES_5 815 +#define TRAINER_CORY_2 816 +#define TRAINER_CORY_3 817 +#define TRAINER_CORY_4 818 +#define TRAINER_CORY_5 819 +#define TRAINER_PABLO_2 820 +#define TRAINER_PABLO_3 821 +#define TRAINER_PABLO_4 822 +#define TRAINER_PABLO_5 823 +#define TRAINER_KOJI_2 824 +#define TRAINER_KOJI_3 825 +#define TRAINER_KOJI_4 826 +#define TRAINER_KOJI_5 827 +#define TRAINER_CRISTIN_2 828 +#define TRAINER_CRISTIN_3 829 +#define TRAINER_CRISTIN_4 830 +#define TRAINER_CRISTIN_5 831 +#define TRAINER_FERNANDO_2 832 +#define TRAINER_FERNANDO_3 833 +#define TRAINER_FERNANDO_4 834 +#define TRAINER_FERNANDO_5 835 +#define TRAINER_SAWYER_2 836 +#define TRAINER_SAWYER_3 837 +#define TRAINER_SAWYER_4 838 +#define TRAINER_SAWYER_5 839 +#define TRAINER_GABRIELLE_2 840 +#define TRAINER_GABRIELLE_3 841 +#define TRAINER_GABRIELLE_4 842 +#define TRAINER_GABRIELLE_5 843 +#define TRAINER_THALIA_2 844 +#define TRAINER_THALIA_3 845 +#define TRAINER_THALIA_4 846 +#define TRAINER_THALIA_5 847 +#define TRAINER_MARIELA 848 +#define TRAINER_ALVARO 849 +#define TRAINER_EVERETT 850 +#define TRAINER_RED 851 +#define TRAINER_LEAF 852 +#define TRAINER_BRENDAN_16 853 +#define TRAINER_MAY_16 854 + +#define NO_OF_TRAINERS 854 + +#define TRAINER_PIC_HIKER 0 +#define TRAINER_PIC_AQUA_GRUNT_M 1 +#define TRAINER_PIC_POKEMON_BREEDER_F 2 +#define TRAINER_PIC_COOL_TRAINER_M 3 +#define TRAINER_PIC_BIRD_KEEPER 4 +#define TRAINER_PIC_COLLECTOR 5 +#define TRAINER_PIC_AQUA_GRUNT_F 6 +#define TRAINER_PIC_SWIMMER_M 7 +#define TRAINER_PIC_MAGMA_GRUNT_M 8 +#define TRAINER_PIC_EXPERT_M 9 +#define TRAINER_PIC_AQUA_ADMIN_M 10 +#define TRAINER_PIC_BLACK_BELT 11 +#define TRAINER_PIC_AQUA_ADMIN_F 12 +#define TRAINER_PIC_AQUA_LEADER_ARCHIE 13 +#define TRAINER_PIC_HEX_MANIAC 14 +#define TRAINER_PIC_AROMA_LADY 15 +#define TRAINER_PIC_RUIN_MANIAC 16 +#define TRAINER_PIC_INTERVIEWER 17 +#define TRAINER_PIC_TUBER_F 18 +#define TRAINER_PIC_TUBER_M 19 +#define TRAINER_PIC_COOL_TRAINER_F 20 +#define TRAINER_PIC_LADY 21 +#define TRAINER_PIC_BEAUTY 22 +#define TRAINER_PIC_RICH_BOY 23 +#define TRAINER_PIC_EXPERT_F 24 +#define TRAINER_PIC_POKEMANIAC 25 +#define TRAINER_PIC_MAGMA_GRUNT_F 26 +#define TRAINER_PIC_GUITARIST 27 +#define TRAINER_PIC_KINDLER 28 +#define TRAINER_PIC_CAMPER 29 +#define TRAINER_PIC_PICNICKER 30 +#define TRAINER_PIC_BUG_MANIAC 31 +#define TRAINER_PIC_POKEMON_BREEDER_M 32 +#define TRAINER_PIC_PSYCHIC_M 33 +#define TRAINER_PIC_PSYCHIC_F 34 +#define TRAINER_PIC_GENTLEMAN 35 +#define TRAINER_PIC_ELITE_FOUR_SIDNEY 36 +#define TRAINER_PIC_ELITE_FOUR_PHOEBE 37 +#define TRAINER_PIC_ELITE_FOUR_GLACIA 38 +#define TRAINER_PIC_ELITE_FOUR_DRAKE 39 +#define TRAINER_PIC_LEADER_ROXANNE 40 +#define TRAINER_PIC_LEADER_BRAWLY 41 +#define TRAINER_PIC_LEADER_WATTSON 42 +#define TRAINER_PIC_LEADER_FLANNERY 43 +#define TRAINER_PIC_LEADER_NORMAN 44 +#define TRAINER_PIC_LEADER_WINONA 45 +#define TRAINER_PIC_LEADER_TATE_AND_LIZA 46 +#define TRAINER_PIC_LEADER_JUAN 47 +#define TRAINER_PIC_SCHOOL_KID_M 48 +#define TRAINER_PIC_SCHOOL_KID_F 49 +#define TRAINER_PIC_SR_AND_JR 50 +#define TRAINER_PIC_WINSTRATE_M 51 +#define TRAINER_PIC_WINSTRATE_F 52 +#define TRAINER_PIC_YOUNGSTER 53 +#define TRAINER_PIC_CHAMPION_WALLACE 54 +#define TRAINER_PIC_FISHERMAN 55 +#define TRAINER_PIC_CYCLING_TRIATHLETE_M 56 +#define TRAINER_PIC_CYCLING_TRIATHLETE_F 57 +#define TRAINER_PIC_RUNNING_TRIATHLETE_M 58 +#define TRAINER_PIC_RUNNING_TRIATHLETE_F 59 +#define TRAINER_PIC_SWIMMING_TRIATHLETE_M 60 +#define TRAINER_PIC_SWIMMING_TRIATHLETE_F 61 +#define TRAINER_PIC_DRAGON_TAMER 62 +#define TRAINER_PIC_NINJA_BOY 63 +#define TRAINER_PIC_BATTLE_GIRL 64 +#define TRAINER_PIC_PARASOL_LADY 65 +#define TRAINER_PIC_SWIMMER_F 66 +#define TRAINER_PIC_TWINS 67 +#define TRAINER_PIC_SAILOR 68 +#define TRAINER_PIC_MAGMA_ADMIN 69 +#define TRAINER_PIC_WALLY 70 +#define TRAINER_PIC_BRENDAN 71 +#define TRAINER_PIC_MAY 72 +#define TRAINER_PIC_BUG_CATCHER 73 +#define TRAINER_PIC_POKEMON_RANGER_M 74 +#define TRAINER_PIC_POKEMON_RANGER_F 75 +#define TRAINER_PIC_MAGMA_LEADER_MAXIE 76 +#define TRAINER_PIC_LASS 77 +#define TRAINER_PIC_YOUNG_COUPLE 78 +#define TRAINER_PIC_OLD_COUPLE 79 +#define TRAINER_PIC_SIS_AND_BRO 80 +#define TRAINER_PIC_STEVEN 81 +#define TRAINER_PIC_SALON_MAIDEN_ANABEL 82 +#define TRAINER_PIC_DOME_ACE_TUCKER 83 +#define TRAINER_PIC_PALACE_MAVEN_SPENSER 84 +#define TRAINER_PIC_ARENA_TYCOON_GRETA 85 +#define TRAINER_PIC_FACTORY_HEAD_NOLAND 86 +#define TRAINER_PIC_PIKE_QUEEN_LUCY 87 +#define TRAINER_PIC_PYRAMID_KING_BRANDON 88 +#define TRAINER_PIC_RED 89 +#define TRAINER_PIC_LEAF 90 +#define TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN 91 +#define TRAINER_PIC_RUBY_SAPPHIRE_MAY 92 + +#define FACILITY_CLASS_HIKER 0x0 +#define FACILITY_CLASS_TEAM_AQUA_1 0x1 +#define FACILITY_CLASS_PKMN_BREEDER_1 0x2 +#define FACILITY_CLASS_COOLTRAINER_1 0x3 +#define FACILITY_CLASS_BIRD_KEEPER 0x4 +#define FACILITY_CLASS_COLLECTOR 0x5 +#define FACILITY_CLASS_TEAM_AQUA_2 0x6 +#define FACILITY_CLASS_SWIMMER_M 0x7 +#define FACILITY_CLASS_TEAM_MAGMA_1 0x8 +#define FACILITY_CLASS_EXPERT_1 0x9 +#define FACILITY_CLASS_BLACK_BELT 0xa +#define FACILITY_CLASS_AQUA_LEADER 0xb +#define FACILITY_CLASS_HEX_MANIAC 0xc +#define FACILITY_CLASS_AROMA_LADY 0xd +#define FACILITY_CLASS_RUIN_MANIAC 0xe +#define FACILITY_CLASS_INTERVIEWER 0xf +#define FACILITY_CLASS_TUBER_1 0x10 +#define FACILITY_CLASS_TUBER_2 0x11 +#define FACILITY_CLASS_COOLTRAINER_2 0x12 +#define FACILITY_CLASS_LADY 0x13 +#define FACILITY_CLASS_BEAUTY 0x14 +#define FACILITY_CLASS_RICH_BOY 0x15 +#define FACILITY_CLASS_EXPERT_2 0x16 +#define FACILITY_CLASS_POKEMANIAC 0x17 +#define FACILITY_CLASS_TEAM_MAGMA_2 0x18 +#define FACILITY_CLASS_GUITARIST 0x19 +#define FACILITY_CLASS_KINDLER 0x1a +#define FACILITY_CLASS_CAMPER 0x1b +#define FACILITY_CLASS_PICNICKER 0x1c +#define FACILITY_CLASS_BUG_MANIAC 0x1d +#define FACILITY_CLASS_PSYCHIC_1 0x1e +#define FACILITY_CLASS_PSYCHIC_2 0x1f +#define FACILITY_CLASS_GENTLEMAN 0x20 +#define FACILITY_CLASS_ELITE_FOUR_1 0x21 +#define FACILITY_CLASS_ELITE_FOUR_2 0x22 +#define FACILITY_CLASS_LEADER_1 0x23 +#define FACILITY_CLASS_LEADER_2 0x24 +#define FACILITY_CLASS_LEADER_3 0x25 +#define FACILITY_CLASS_SCHOOL_KID_1 0x26 +#define FACILITY_CLASS_SCHOOL_KID_2 0x27 +#define FACILITY_CLASS_SR_AND_JR 0x28 +#define FACILITY_CLASS_POKEFAN_1 0x29 +#define FACILITY_CLASS_POKEFAN_2 0x2a +#define FACILITY_CLASS_YOUNGSTER 0x2b +#define FACILITY_CLASS_CHAMPION 0x2c +#define FACILITY_CLASS_FISHERMAN 0x2d +#define FACILITY_CLASS_TRIATHLETE_1 0x2e +#define FACILITY_CLASS_TRIATHLETE_2 0x2f +#define FACILITY_CLASS_TRIATHLETE_3 0x30 +#define FACILITY_CLASS_TRIATHLETE_4 0x31 +#define FACILITY_CLASS_TRIATHLETE_5 0x32 +#define FACILITY_CLASS_TRIATHLETE_6 0x33 +#define FACILITY_CLASS_DRAGON_TAMER 0x34 +#define FACILITY_CLASS_NINJA_BOY 0x35 +#define FACILITY_CLASS_BATTLE_GIRL 0x36 +#define FACILITY_CLASS_PARASOL_LADY 0x37 +#define FACILITY_CLASS_SWIMMER_F 0x38 +#define FACILITY_CLASS_TWINS 0x39 +#define FACILITY_CLASS_SAILOR 0x3a +#define FACILITY_CLASS_PKMN_TRAINER_1 0x3b +#define FACILITY_CLASS_PKMN_TRAINER_2 0x3c +#define FACILITY_CLASS_PKMN_TRAINER_3 0x3d +#define FACILITY_CLASS_PKMN_TRAINER_4 0x3e +#define FACILITY_CLASS_PKMN_TRAINER_5 0x3f +#define FACILITY_CLASS_PKMN_TRAINER_6 0x40 +#define FACILITY_CLASS_PKMN_TRAINER_7 0x41 +#define FACILITY_CLASS_PKMN_BREEDER_2 0x42 +#define FACILITY_CLASS_BUG_CATCHER 0x43 +#define FACILITY_CLASS_PKMN_RANGER_1 0x44 +#define FACILITY_CLASS_PKMN_RANGER_2 0x45 +#define FACILITY_CLASS_MAGMA_LEADER 0x46 +#define FACILITY_CLASS_LASS 0x47 +#define FACILITY_CLASS_YOUNG_COUPLE 0x48 +#define FACILITY_CLASS_OLD_COUPLE 0x49 +#define FACILITY_CLASS_SIS_AND_BRO 0x4a +#define FACILITY_CLASS_PKMN_TRAINER_8 0x4b +#define FACILITY_CLASS_SALON_MAIDEN 0x4c +#define FACILITY_CLASS_DOME_ACE 0x4d +#define FACILITY_CLASS_PKMN_TRAINER_9 0x4e +#define FACILITY_CLASS_PKMN_TRAINER_10 0x4f +#define FACILITY_CLASS_PKMN_TRAINER_11 0x50 +#define FACILITY_CLASS_PKMN_TRAINER_12 0x51 + +#define TRAINER_CLASS_PKMN_TRAINER_1 0x0 +#define TRAINER_CLASS_PKMN_TRAINER_2 0x1 +#define TRAINER_CLASS_HIKER 0x2 +#define TRAINER_CLASS_TEAM_AQUA 0x3 +#define TRAINER_CLASS_PKMN_BREEDER 0x4 +#define TRAINER_CLASS_COOLTRAINER_1 0x5 +#define TRAINER_CLASS_BIRD_KEEPER 0x6 +#define TRAINER_CLASS_COLLECTOR 0x7 +#define TRAINER_CLASS_SWIMMER_M 0x8 +#define TRAINER_CLASS_TEAM_MAGMA 0x9 +#define TRAINER_CLASS_EXPERT 0xa +#define TRAINER_CLASS_AQUA_ADMIN 0xb +#define TRAINER_CLASS_BLACK_BELT 0xc +#define TRAINER_CLASS_AQUA_LEADER 0xd +#define TRAINER_CLASS_HEX_MANIAC 0xe +#define TRAINER_CLASS_AROMA_LADY 0xf +#define TRAINER_CLASS_RUIN_MANIAC 0x10 +#define TRAINER_CLASS_INTERVIEWER 0x11 +#define TRAINER_CLASS_TUBER_1 0x12 +#define TRAINER_CLASS_TUBER_2 0x13 +#define TRAINER_CLASS_LADY 0x14 +#define TRAINER_CLASS_BEAUTY 0x15 +#define TRAINER_CLASS_RICH_BOY 0x16 +#define TRAINER_CLASS_POKEMANIAC 0x17 +#define TRAINER_CLASS_GUITARIST 0x18 +#define TRAINER_CLASS_KINDLER 0x19 +#define TRAINER_CLASS_CAMPER 0x1a +#define TRAINER_CLASS_PICNICKER 0x1b +#define TRAINER_CLASS_BUG_MANIAC 0x1c +#define TRAINER_CLASS_PSYCHIC 0x1d +#define TRAINER_CLASS_GENTLEMAN 0x1e +#define TRAINER_CLASS_ELITE_FOUR 0x1f +#define TRAINER_CLASS_LEADER 0x20 +#define TRAINER_CLASS_SCHOOL_KID 0x21 +#define TRAINER_CLASS_SR_AND_JR 0x22 +#define TRAINER_CLASS_WINSTRATE 0x23 +#define TRAINER_CLASS_POKEFAN 0x24 +#define TRAINER_CLASS_YOUNGSTER 0x25 +#define TRAINER_CLASS_CHAMPION 0x26 +#define TRAINER_CLASS_FISHERMAN 0x27 +#define TRAINER_CLASS_TRIATHLETE 0x28 +#define TRAINER_CLASS_DRAGON_TAMER 0x29 +#define TRAINER_CLASS_NINJA_BOY 0x2a +#define TRAINER_CLASS_BATTLE_GIRL 0x2b +#define TRAINER_CLASS_PARASOL_LADY 0x2c +#define TRAINER_CLASS_SWIMMER_F 0x2d +#define TRAINER_CLASS_TWINS 0x2e +#define TRAINER_CLASS_SAILOR 0x2f +#define TRAINER_CLASS_COOLTRAINER_2 0x30 +#define TRAINER_CLASS_MAGMA_ADMIN 0x31 +#define TRAINER_CLASS_PKMN_TRAINER_3 0x32 +#define TRAINER_CLASS_BUG_CATCHER 0x33 +#define TRAINER_CLASS_PKMN_RANGER 0x34 +#define TRAINER_CLASS_MAGMA_LEADER 0x35 +#define TRAINER_CLASS_LASS 0x36 +#define TRAINER_CLASS_YOUNG_COUPLE 0x37 +#define TRAINER_CLASS_OLD_COUPLE 0x38 +#define TRAINER_CLASS_SIS_AND_BRO 0x39 +#define TRAINER_CLASS_SALON_MAIDEN 0x3a +#define TRAINER_CLASS_DOME_ACE 0x3b +#define TRAINER_CLASS_PALACE_MAVEN 0x3c +#define TRAINER_CLASS_ARENA_TYCOON 0x3d +#define TRAINER_CLASS_FACTORY_HEAD 0x3e +#define TRAINER_CLASS_PIKE_QUEEN 0x3f +#define TRAINER_CLASS_PYRAMID_KING 0x40 +#define TRAINER_CLASS_PKMN_TRAINER_4 0x41 + +#define TRAINER_ENCOUNTER_MUSIC_MALE 0 // standard male encounter music +#define TRAINER_ENCOUNTER_MUSIC_FEMALE 1 // standard female encounter music +#define TRAINER_ENCOUNTER_MUSIC_GIRL 2 // used for male Tubers and Young Couples too +#define TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS 3 +#define TRAINER_ENCOUNTER_MUSIC_INTENSE 4 +#define TRAINER_ENCOUNTER_MUSIC_COOL 5 +#define TRAINER_ENCOUNTER_MUSIC_AQUA 6 +#define TRAINER_ENCOUNTER_MUSIC_MAGMA 7 +#define TRAINER_ENCOUNTER_MUSIC_SWIMMER 8 +#define TRAINER_ENCOUNTER_MUSIC_TWINS 9 // used for other trainer classes too +#define TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR 10 +#define TRAINER_ENCOUNTER_MUSIC_HIKER 11 // used for other trainer classes too +#define TRAINER_ENCOUNTER_MUSIC_INTERVIEWER 12 +#define TRAINER_ENCOUNTER_MUSIC_RICH 13 // Rich Boys and Gentlemen + +#define F_TRAINER_FEMALE (1 << 7) + +// All trainer parties specify the IV, level, and species for each Pokémon in the +// party. Some trainer parties also specify held items and custom moves for each +// Pokémon. +#define F_TRAINER_PARTY_CUSTOM_MOVESET (1 << 0) +#define F_TRAINER_PARTY_HELD_ITEM (1 << 1) + +#endif // GUARD_TRAINERS_H diff --git a/include/constants/vars.h b/include/constants/vars.h new file mode 100644 index 0000000000..c0e3313b6a --- /dev/null +++ b/include/constants/vars.h @@ -0,0 +1,287 @@ +#ifndef GUARD_CONSTANTS_VARS_H +#define GUARD_CONSTANTS_VARS_H + +#define VAR_0x3F20 0x3F20 + +#define VAR_0x4000 0x4000 +#define VAR_0x4001 0x4001 +#define VAR_0x4002 0x4002 +#define VAR_0x4003 0x4003 +#define VAR_0x4004 0x4004 +#define VAR_0x4005 0x4005 +#define VAR_0x4006 0x4006 +#define VAR_0x4007 0x4007 +#define VAR_0x4008 0x4008 +#define VAR_0x4009 0x4009 +#define VAR_0x400A 0x400A +#define VAR_0x400B 0x400B +#define VAR_0x400C 0x400C +#define VAR_0x400D 0x400D +#define VAR_0x400E 0x400E +#define VAR_0x400F 0x400F +#define VAR_0x4010 0x4010 +#define VAR_0x4011 0x4011 +#define VAR_0x4012 0x4012 +#define VAR_0x4013 0x4013 +#define VAR_0x4014 0x4014 +#define VAR_0x4015 0x4015 +#define VAR_0x4016 0x4016 +#define VAR_0x4017 0x4017 +#define VAR_0x4018 0x4018 +#define VAR_0x4019 0x4019 +#define VAR_0x401A 0x401A +#define VAR_0x401B 0x401B +#define VAR_0x401C 0x401C +#define VAR_0x401D 0x401D +#define VAR_0x401E 0x401E +#define VAR_0x401F 0x401F +#define VAR_RECYCLE_GOODS 0x4020 +#define VAR_REPEL_STEP_COUNT 0x4021 +#define VAR_ICE_STEP_COUNT 0x4022 +#define VAR_FIRST_POKE 0x4023 +#define VAR_MIRAGE_RND_H 0x4024 +#define VAR_MIRAGE_RND_L 0x4025 +#define VAR_SECRET_BASE_MAP 0x4026 +#define VAR_0x4027 0x4027 +#define VAR_0x4028 0x4028 +#define VAR_0x4029 0x4029 +#define VAR_HAPPINESS_STEP_COUNTER 0x402A +#define VAR_POISON_STEP_COUNTER 0x402B +#define VAR_RESET_RTC_ENABLE 0x402C +#define VAR_ENIGMA_BERRY_AVAILABLE 0x402D +#define VAR_0x402E 0x402E + +#define VAR_FRONTIER_MANIAC_FACILITY 0x402F +#define VAR_FRONTIER_GAMBLER_FACILITY 0x4030 +#define VAR_FRONTIER_GAMBLER_SET_FACILITY_F 0x4031 +#define VAR_FRONTIER_GAMBLER_AMOUNT_BET 0x4032 +#define VAR_FRONTIER_GAMBLER_PLACED_BET_F 0x4033 + +#define VAR_0x4034 0x4034 +#define VAR_0x4035 0x4035 +#define VAR_STORAGE_UNKNOWN 0x4036 +#define VAR_0x4037 0x4037 +#define VAR_0x4038 0x4038 +#define VAR_0x4039 0x4039 +#define VAR_0x403A 0x403A +#define VAR_0x403B 0x403B +#define VAR_0x403C 0x403C +#define VAR_0x403D 0x403D +#define VAR_ALTERING_CAVE_WILD_SET 0x403E +#define VAR_0x403F 0x403F +#define VAR_DAYS 0x4040 +#define VAR_0x4041 0x4041 +#define VAR_0x4042 0x4042 +#define VAR_DEPT_STORE_FLOOR 0x4043 +#define VAR_0x4044 0x4044 +#define VAR_POKELOT_PRIZE 0x4045 +#define VAR_NATIONAL_DEX 0x4046 +#define VAR_SEEDOT_SIZE_RECORD 0x4047 +#define VAR_ASH_GATHER_COUNT 0x4048 +#define VAR_BIRCH_STATE 0x4049 +#define VAR_CRUISE_STEP_COUNT 0x404A +#define VAR_POKELOT_RND1 0x404B +#define VAR_POKELOT_RND2 0x404C +#define VAR_0x404D 0x404D +#define VAR_0x404E 0x404E +#define VAR_LOTAD_SIZE_RECORD 0x404F +#define VAR_0x4050 0x4050 +#define VAR_0x4051 0x4051 +#define VAR_0x4052 0x4052 +#define VAR_0x4053 0x4053 +#define VAR_0x4054 0x4054 +#define VAR_0x4055 0x4055 +#define VAR_0x4056 0x4056 +#define VAR_0x4057 0x4057 +#define VAR_0x4058 0x4058 +#define VAR_0x4059 0x4059 +#define VAR_0x405A 0x405A +#define VAR_0x405B 0x405B +#define VAR_0x405C 0x405C +#define VAR_0x405D 0x405D +#define VAR_0x405E 0x405E +#define VAR_0x405F 0x405F +#define VAR_0x4060 0x4060 +#define VAR_0x4061 0x4061 +#define VAR_0x4062 0x4062 +#define VAR_0x4063 0x4063 +#define VAR_0x4064 0x4064 +#define VAR_0x4065 0x4065 +#define VAR_0x4066 0x4066 +#define VAR_0x4067 0x4067 +#define VAR_0x4068 0x4068 +#define VAR_0x4069 0x4069 +#define VAR_0x406A 0x406A +#define VAR_0x406B 0x406B +#define VAR_0x406C 0x406C +#define VAR_0x406D 0x406D +#define VAR_0x406E 0x406E +#define VAR_0x406F 0x406F +#define VAR_0x4070 0x4070 +#define VAR_0x4071 0x4071 +#define VAR_0x4072 0x4072 +#define VAR_0x4073 0x4073 +#define VAR_0x4074 0x4074 +#define VAR_0x4075 0x4075 +#define VAR_0x4076 0x4076 +#define VAR_0x4077 0x4077 +#define VAR_0x4078 0x4078 +#define VAR_0x4079 0x4079 +#define VAR_0x407A 0x407A +#define VAR_0x407B 0x407B +#define VAR_0x407C 0x407C +#define VAR_0x407D 0x407D +#define VAR_0x407E 0x407E +#define VAR_0x407F 0x407F +#define VAR_0x4080 0x4080 +#define VAR_0x4081 0x4081 +#define VAR_0x4082 0x4082 +#define VAR_0x4083 0x4083 +#define VAR_0x4084 0x4084 +#define VAR_0x4085 0x4085 +#define VAR_0x4086 0x4086 +#define VAR_0x4087 0x4087 +#define VAR_0x4088 0x4088 +#define VAR_0x4089 0x4089 +#define VAR_0x408A 0x408A +#define VAR_0x408B 0x408B +#define VAR_0x408C 0x408C +#define VAR_0x408D 0x408D +#define VAR_0x408E 0x408E +#define VAR_0x408F 0x408F +#define VAR_0x4090 0x4090 +#define VAR_0x4091 0x4091 +#define VAR_0x4092 0x4092 +#define VAR_0x4093 0x4093 +#define VAR_0x4094 0x4094 +#define VAR_0x4095 0x4095 +#define VAR_0x4096 0x4096 +#define VAR_0x4097 0x4097 +#define VAR_0x4098 0x4098 +#define VAR_0x4099 0x4099 +#define VAR_0x409A 0x409A +#define VAR_0x409B 0x409B +#define VAR_0x409C 0x409C +#define VAR_0x409D 0x409D +#define VAR_0x409E 0x409E +#define VAR_0x409F 0x409F +#define VAR_0x40A0 0x40A0 +#define VAR_0x40A1 0x40A1 +#define VAR_0x40A2 0x40A2 +#define VAR_0x40A3 0x40A3 +#define VAR_0x40A4 0x40A4 +#define VAR_0x40A5 0x40A5 +#define VAR_0x40A6 0x40A6 +#define VAR_0x40A7 0x40A7 +#define VAR_0x40A8 0x40A8 +#define VAR_0x40A9 0x40A9 +#define VAR_0x40AA 0x40AA +#define VAR_0x40AB 0x40AB +#define VAR_0x40AC 0x40AC +#define VAR_0x40AD 0x40AD +#define VAR_0x40AE 0x40AE +#define VAR_0x40AF 0x40AF +#define VAR_0x40B0 0x40B0 +#define VAR_0x40B1 0x40B1 +#define VAR_0x40B2 0x40B2 +#define VAR_0x40B3 0x40B3 +#define VAR_PORTHOLE 0x40B4 +#define VAR_0x40B5 0x40B5 +#define VAR_0x40B6 0x40B6 +#define VAR_0x40B7 0x40B7 +#define VAR_0x40B8 0x40B8 +#define VAR_0x40B9 0x40B9 +#define VAR_0x40BA 0x40BA +#define VAR_0x40BB 0x40BB +#define VAR_0x40BC 0x40BC +#define VAR_0x40BD 0x40BD +#define VAR_0x40BE 0x40BE +#define VAR_0x40BF 0x40BF +#define VAR_0x40C0 0x40C0 +#define VAR_0x40C1 0x40C1 +#define VAR_0x40C2 0x40C2 +#define VAR_0x40C3 0x40C3 +#define VAR_0x40C4 0x40C4 +#define VAR_0x40C5 0x40C5 +#define VAR_0x40C6 0x40C6 +#define VAR_0x40C7 0x40C7 +#define VAR_0x40C8 0x40C8 +#define VAR_0x40C9 0x40C9 +#define VAR_0x40CA 0x40CA +#define VAR_0x40CB 0x40CB +#define VAR_0x40CC 0x40CC +#define VAR_0x40CD 0x40CD +#define VAR_0x40CE 0x40CE +#define VAR_FRONTIER_FACILITY 0x40CF +#define VAR_0x40D0 0x40D0 +#define VAR_0x40D1 0x40D1 +#define VAR_0x40D2 0x40D2 +#define VAR_0x40D3 0x40D3 +#define VAR_0x40D4 0x40D4 +#define VAR_0x40D5 0x40D5 +#define VAR_0x40D6 0x40D6 +#define VAR_0x40D7 0x40D7 +#define VAR_0x40D8 0x40D8 +#define VAR_0x40D9 0x40D9 +#define VAR_0x40DA 0x40DA +#define VAR_0x40DB 0x40DB +#define VAR_0x40DC 0x40DC +#define VAR_EVENT_PICHU_SLOT 0x40DD +#define VAR_0x40DE 0x40DE +#define VAR_0x40DF 0x40DF +#define VAR_0x40E0 0x40E0 +#define VAR_0x40E1 0x40E1 +#define VAR_0x40E2 0x40E2 +#define VAR_0x40E3 0x40E3 +#define VAR_0x40E4 0x40E4 +#define VAR_0x40E5 0x40E5 +#define VAR_DAILY_SLOTS 0x40E6 +#define VAR_DAILY_WILDS 0x40E7 +#define VAR_DAILY_BLENDER 0x40E8 +#define VAR_DAILY_PLANTED_BERRIES 0x40E9 +#define VAR_DAILY_PICKED_BERRIES 0x40EA +#define VAR_DAILY_ROULETTE 0x40EB +#define VAR_0x40EC 0x40EC +#define VAR_0x40ED 0x40ED +#define VAR_0x40EE 0x40EE +#define VAR_0x40EF 0x40EF +#define VAR_0x40F0 0x40F0 +#define VAR_DAILY_BP 0x40F1 +#define VAR_0x40F2 0x40F2 +#define VAR_0x40F3 0x40F3 +#define VAR_0x40F4 0x40F4 +#define VAR_0x40F5 0x40F5 +#define VAR_0x40F6 0x40F6 +#define VAR_0x40F7 0x40F7 +#define VAR_0x40F8 0x40F8 +#define VAR_0x40F9 0x40F9 +#define VAR_0x40FA 0x40FA +#define VAR_0x40FB 0x40FB +#define VAR_0x40FC 0x40FC +#define VAR_0x40FD 0x40FD +#define VAR_0x40FE 0x40FE +#define VAR_0x40FF 0x40FF + +#define VAR_0x8000 0x8000 +#define VAR_0x8001 0x8001 +#define VAR_0x8002 0x8002 +#define VAR_0x8003 0x8003 +#define VAR_0x8004 0x8004 +#define VAR_0x8005 0x8005 +#define VAR_0x8006 0x8006 +#define VAR_0x8007 0x8007 +#define VAR_0x8008 0x8008 +#define VAR_0x8009 0x8009 +#define VAR_0x800A 0x800A +#define VAR_0x800B 0x800B +#define VAR_FACING 0x800C +#define VAR_RESULT 0x800D +#define VAR_ITEM_ID 0x800E +#define VAR_LAST_TALKED 0x800F +#define VAR_CONTEST_RANK 0x8010 +#define VAR_CONTEST_CATEGORY 0x8011 +#define VAR_MON_BOX_ID 0x8012 +#define VAR_MON_BOX_POS 0x8013 +#define VAR_0x8014 0x8014 + +#endif // GUARD_CONSTANTS_VARS_H diff --git a/include/constants/weather.h b/include/constants/weather.h new file mode 100644 index 0000000000..953cc2753d --- /dev/null +++ b/include/constants/weather.h @@ -0,0 +1,39 @@ +#ifndef GUARD_CONSTANTS_WEATHER_H +#define GUARD_CONSTANTS_WEATHER_H + +#define WEATHER_NONE 0 +#define WEATHER_CLOUDS 1 +#define WEATHER_SUNNY 2 +#define WEATHER_RAIN_LIGHT 3 +#define WEATHER_SNOW 4 +#define WEATHER_RAIN_MED 5 +#define WEATHER_FOG_1 6 +#define WEATHER_ASH 7 +#define WEATHER_SANDSTORM 8 +#define WEATHER_FOG_2 9 +#define WEATHER_FOG_3 10 +#define WEATHER_SHADE 11 +#define WEATHER_DROUGHT 12 +#define WEATHER_RAIN_HEAVY 13 +#define WEATHER_BUBBLES 14 +#define WEATHER_ROUTE119_CYCLE 20 +#define WEATHER_ROUTE123_CYCLE 21 + +// These are used in maps' coord_weather_event entries. +// They are not a one-to-one mapping with the engine's +// internal weather constants above. +#define COORD_EVENT_WEATHER_CLOUDS 1 +#define COORD_EVENT_WEATHER_SUNNY 2 +#define COORD_EVENT_WEATHER_RAIN_LIGHT 3 +#define COORD_EVENT_WEATHER_SNOW 4 +#define COORD_EVENT_WEATHER_RAIN_MED 5 +#define COORD_EVENT_WEATHER_FOG_1 6 +#define COORD_EVENT_WEATHER_FOG_2 7 +#define COORD_EVENT_WEATHER_ASH 8 +#define COORD_EVENT_WEATHER_SANDSTORM 9 +#define COORD_EVENT_WEATHER_SHADE 10 +#define COORD_EVENT_WEATHER_DROUGHT 11 +#define COORD_EVENT_WEATHER_ROUTE119_CYCLE 20 +#define COORD_EVENT_WEATHER_ROUTE123_CYCLE 21 + +#endif // GUARD_CONSTANTS_WEATHER_H diff --git a/include/contest.h b/include/contest.h index 7dcde7da2b..d920117f3e 100644 --- a/include/contest.h +++ b/include/contest.h @@ -12,14 +12,20 @@ struct ContestStruct_02039E00 extern struct ContestStruct_02039E00 gUnknown_02039E00[4]; extern u8 gUnknown_02039F24; -extern u16 gScriptContestCategory; -extern u8 gUnknown_02039F2E; +extern u16 gSpecialVar_ContestCategory; +extern u8 gSpecialVar_ContestRank; extern u8 gUnknown_02039F30; struct ContestStruct_field_18 { // unknown size u16 field_0; + u16 field_2; + u16 field_4; + u16 field_6; + u32 field_8; + u32 field_C; + u32 field_10; }; struct ContestResources diff --git a/include/coord_event_weather.h b/include/coord_event_weather.h new file mode 100644 index 0000000000..86fb487932 --- /dev/null +++ b/include/coord_event_weather.h @@ -0,0 +1,6 @@ +#ifndef GUARD_COORD_EVENT_WEATHER_H +#define GUARD_COORD_EVENT_WEATHER_H + +void DoCoordEventWeather(u8); + +#endif // GUARD_COORD_EVENT_WEATHER_H diff --git a/include/data/bard_music/pokemon.h b/include/data/bard_music/pokemon.h index 7b4081a3cc..6930053606 100644 --- a/include/data/bard_music/pokemon.h +++ b/include/data/bard_music/pokemon.h @@ -1,6 +1,6 @@ #ifndef GUARD_DATA_BARD_MUSIC_POKEMON_H #define GUARD_DATA_BARD_MUSIC_POKEMON_H -#include "species.h" +#include "constants/species.h" const u16 gUnknown_085F5490 = NUM_SPECIES; diff --git a/include/data/pokedex_orders.h b/include/data/pokedex_orders.h new file mode 100644 index 0000000000..61fbd289c3 --- /dev/null +++ b/include/data/pokedex_orders.h @@ -0,0 +1,1199 @@ +#ifndef GUARD_DATA_POKEDEX_ORDERS +#define GUARD_DATA_POKEDEX_ORDERS + +const u16 gPokedexOrder_Alphabetical[] = +{ + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 63, // Abra + 359, // Absol + 142, // Aerodactyl + 306, // Aggron + 190, // Aipom + 65, // Alakazam + 334, // Altaria + 181, // Ampharos + 347, // Anorith + 24, // Arbok + 59, // Arcanine + 168, // Ariados + 348, // Armaldo + 304, // Aron + 144, // Articuno + 184, // Azumarill + 298, // Azurill + 371, // Bagon + 343, // Baltoy + 354, // Banette + 339, // Barboach + 153, // Bayleef + 267, // Beautifly + 15, // Beedrill + 374, // Beldum + 182, // Bellossom + 69, // Bellsprout + 9, // Blastoise + 257, // Blaziken + 242, // Blissey + 286, // Breloom + 1, // Bulbasaur + 12, // Butterfree + 331, // Cacnea + 332, // Cacturne + 323, // Camerupt + 318, // Carvanha + 268, // Cascoon + 351, // Castform + 10, // Caterpie + 251, // Celebi + 113, // Chansey + 6, // Charizard + 4, // Charmander + 5, // Charmeleon + 152, // Chikorita + 358, // Chimecho + 170, // Chinchou + 366, // Clamperl + 344, // Claydol + 36, // Clefable + 35, // Clefairy + 173, // Cleffa + 91, // Cloyster + 256, // Combusken + 341, // Corphish + 222, // Corsola + 346, // Cradily + 342, // Crawdaunt + 169, // Crobat + 159, // Croconaw + 104, // Cubone + 155, // Cyndaquil + 301, // Delcatty + 225, // Delibird + 386, // Deoxys + 87, // Dewgong + 50, // Diglett + 132, // Ditto + 85, // Dodrio + 84, // Doduo + 232, // Donphan + 148, // Dragonair + 149, // Dragonite + 147, // Dratini + 96, // Drowzee + 51, // Dugtrio + 206, // Dunsparce + 356, // Dusclops + 355, // Duskull + 269, // Dustox + 133, // Eevee + 23, // Ekans + 125, // Electabuzz + 309, // Electrike + 101, // Electrode + 239, // Elekid + 244, // Entei + 196, // Espeon + 102, // Exeggcute + 103, // Exeggutor + 295, // Exploud + 83, // Farfetch'd + 22, // Fearow + 349, // Feebas + 160, // Feraligatr + 180, // Flaaffy + 136, // Flareon + 330, // Flygon + 205, // Forretress + 162, // Furret + 282, // Gardevoir + 92, // Gastly + 94, // Gengar + 74, // Geodude + 203, // Girafarig + 362, // Glalie + 207, // Gligar + 44, // Gloom + 42, // Golbat + 118, // Goldeen + 55, // Golduck + 76, // Golem + 368, // Gorebyss + 210, // Granbull + 75, // Graveler + 88, // Grimer + 383, // Groudon + 253, // Grovyle + 58, // Growlithe + 326, // Grumpig + 316, // Gulpin + 130, // Gyarados + 297, // Hariyama + 93, // Haunter + 214, // Heracross + 107, // Hitmonchan + 106, // Hitmonlee + 237, // Hitmontop + 250, // Ho-Oh + 163, // Hoothoot + 187, // Hoppip + 116, // Horsea + 229, // Houndoom + 228, // Houndour + 367, // Huntail + 97, // Hypno + 174, // Igglybuff + 314, // Illumise + 2, // Ivysaur + 39, // Jigglypuff + 385, // Jirachi + 135, // Jolteon + 189, // Jumpluff + 124, // Jynx + 140, // Kabuto + 141, // Kabutops + 64, // Kadabra + 14, // Kakuna + 115, // Kangaskhan + 352, // Kecleon + 230, // Kingdra + 99, // Kingler + 281, // Kirlia + 109, // Koffing + 98, // Krabby + 382, // Kyogre + 305, // Lairon + 171, // Lanturn + 131, // Lapras + 246, // Larvitar + 380, // Latias + 381, // Latios + 166, // Ledian + 165, // Ledyba + 108, // Lickitung + 345, // Lileep + 264, // Linoone + 271, // Lombre + 270, // Lotad + 294, // Loudred + 272, // Ludicolo + 249, // Lugia + 337, // Lunatone + 370, // Luvdisc + 68, // Machamp + 67, // Machoke + 66, // Machop + 240, // Magby + 219, // Magcargo + 129, // Magikarp + 126, // Magmar + 81, // Magnemite + 82, // Magneton + 296, // Makuhita + 310, // Manectric + 56, // Mankey + 226, // Mantine + 179, // Mareep + 183, // Marill + 105, // Marowak + 259, // Marshtomp + 284, // Masquerain + 303, // Mawile + 308, // Medicham + 307, // Meditite + 154, // Meganium + 52, // Meowth + 376, // Metagross + 375, // Metang + 11, // Metapod + 151, // Mew + 150, // Mewtwo + 262, // Mightyena + 350, // Milotic + 241, // Miltank + 312, // Minun + 200, // Misdreavus + 146, // Moltres + 122, // Mr. mime + 258, // Mudkip + 89, // Muk + 198, // Murkrow + 177, // Natu + 34, // Nidoking + 31, // Nidoqueen + 29, // Nidoran? + 32, // Nidoran? + 30, // Nidorina + 33, // Nidorino + 290, // Nincada + 38, // Ninetales + 291, // Ninjask + 164, // Noctowl + 299, // Nosepass + 322, // Numel + 274, // Nuzleaf + 224, // Octillery + 43, // Oddish + 138, // Omanyte + 139, // Omastar + 95, // Onix + 46, // Paras + 47, // Parasect + 279, // Pelipper + 53, // Persian + 231, // Phanpy + 172, // Pichu + 18, // Pidgeot + 17, // Pidgeotto + 16, // Pidgey + 25, // Pikachu + 221, // Piloswine + 204, // Pineco + 127, // Pinsir + 311, // Plusle + 186, // Politoed + 60, // Poliwag + 61, // Poliwhirl + 62, // Poliwrath + 77, // Ponyta + 261, // Poochyena + 137, // Porygon + 233, // Porygon2 + 57, // Primeape + 54, // Psyduck + 247, // Pupitar + 195, // Quagsire + 156, // Quilava + 211, // Qwilfish + 26, // Raichu + 243, // Raikou + 280, // Ralts + 78, // Rapidash + 20, // Raticate + 19, // Rattata + 384, // Rayquaza + 378, // Regice + 377, // Regirock + 379, // Registeel + 369, // Relicanth + 223, // Remoraid + 112, // Rhydon + 111, // Rhyhorn + 315, // Roselia + 302, // Sableye + 373, // Salamence + 27, // Sandshrew + 28, // Sandslash + 254, // Sceptile + 212, // Scizor + 123, // Scyther + 117, // Seadra + 119, // Seaking + 364, // Sealeo + 273, // Seedot + 86, // Seel + 161, // Sentret + 336, // Seviper + 319, // Sharpedo + 292, // Shedinja + 372, // Shelgon + 90, // Shellder + 275, // Shiftry + 285, // Shroomish + 213, // Shuckle + 353, // Shuppet + 266, // Silcoon + 227, // Skarmory + 188, // Skiploom + 300, // Skitty + 289, // Slaking + 287, // Slakoth + 80, // Slowbro + 199, // Slowking + 79, // Slowpoke + 218, // Slugma + 235, // Smeargle + 238, // Smoochum + 215, // Sneasel + 143, // Snorlax + 361, // Snorunt + 209, // Snubbull + 338, // Solrock + 21, // Spearow + 363, // Spheal + 167, // Spinarak + 327, // Spinda + 325, // Spoink + 7, // Squirtle + 234, // Stantler + 121, // Starmie + 120, // Staryu + 208, // Steelix + 185, // Sudowoodo + 245, // Suicune + 192, // Sunflora + 191, // Sunkern + 283, // Surskit + 333, // Swablu + 317, // Swalot + 260, // Swampert + 277, // Swellow + 220, // Swinub + 276, // Taillow + 114, // Tangela + 128, // Tauros + 216, // Teddiursa + 72, // Tentacool + 73, // Tentacruel + 175, // Togepi + 176, // Togetic + 255, // Torchic + 324, // Torkoal + 158, // Totodile + 328, // Trapinch + 252, // Treecko + 357, // Tropius + 157, // Typhlosion + 248, // Tyranitar + 236, // Tyrogue + 197, // Umbreon + 201, // Unown + 217, // Ursaring + 134, // Vaporeon + 49, // Venomoth + 48, // Venonat + 3, // Venusaur + 329, // Vibrava + 71, // Victreebel + 288, // Vigoroth + 45, // Vileplume + 313, // Volbeat + 100, // Voltorb + 37, // Vulpix + 320, // Wailmer + 321, // Wailord + 365, // Walrein + 8, // Wartortle + 13, // Weedle + 70, // Weepinbell + 110, // Weezing + 340, // Whiscash + 293, // Whismur + 40, // Wigglytuff + 278, // Wingull + 202, // Wobbuffet + 194, // Wooper + 265, // Wurmple + 360, // Wynaut + 178, // Xatu + 193, // Yanma + 335, // Zangoose + 145, // Zapdos + 263, // Zigzagoon + 41, // Zubat +}; + +const u16 gPokedexOrder_Weight[] = +{ + 92, // Gastly + 93, // Haunter + 187, // Hoppip + 50, // Diglett + 351, // Castform + 109, // Koffing + 174, // Igglybuff + 200, // Misdreavus + 358, // Chimecho + 188, // Skiploom + 385, // Jirachi + 333, // Swablu + 292, // Shedinja + 175, // Togepi + 283, // Surskit + 16, // Pidgey + 191, // Sunkern + 339, // Barboach + 172, // Pichu + 298, // Azurill + 315, // Roselia + 177, // Natu + 21, // Spearow + 198, // Murkrow + 353, // Shuppet + 276, // Taillow + 102, // Exeggcute + 255, // Torchic + 270, // Lotad + 10, // Caterpie + 189, // Jumpluff + 173, // Cleffa + 13, // Weedle + 176, // Togetic + 147, // Dratini + 19, // Rattata + 284, // Masquerain + 265, // Wurmple + 211, // Qwilfish + 151, // Mew + 90, // Shellder + 273, // Seedot + 132, // Ditto + 69, // Bellsprout + 311, // Plusle + 52, // Meowth + 312, // Minun + 285, // Shroomish + 251, // Celebi + 222, // Corsola + 252, // Treecko + 327, // Spinda + 201, // Unown + 46, // Paras + 43, // Oddish + 39, // Jigglypuff + 290, // Nincada + 182, // Bellossom + 81, // Magnemite + 25, // Pikachu + 238, // Smoochum + 161, // Sentret + 70, // Weepinbell + 152, // Chikorita + 220, // Swinub + 133, // Eevee + 98, // Krabby + 104, // Cubone + 280, // Ralts + 1, // Bulbasaur + 23, // Ekans + 29, // Nidoran? + 204, // Pineco + 349, // Feebas + 138, // Omanyte + 41, // Zubat + 35, // Clefairy + 258, // Mudkip + 209, // Snubbull + 179, // Mareep + 155, // Cyndaquil + 116, // Horsea + 4, // Charmander + 192, // Sunflora + 183, // Marill + 194, // Wooper + 167, // Spinarak + 44, // Gloom + 370, // Luvdisc + 216, // Teddiursa + 32, // Nidoran? + 7, // Squirtle + 278, // Wingull + 158, // Totodile + 110, // Weezing + 37, // Vulpix + 11, // Metapod + 266, // Silcoon + 129, // Magikarp + 14, // Kakuna + 316, // Gulpin + 100, // Voltorb + 165, // Ledyba + 228, // Houndour + 300, // Skitty + 302, // Sableye + 307, // Meditite + 341, // Corphish + 190, // Aipom + 268, // Cascoon + 303, // Mawile + 140, // Kabuto + 40, // Wigglytuff + 27, // Sandshrew + 223, // Remoraid + 291, // Ninjask + 170, // Chinchou + 60, // Poliwag + 347, // Anorith + 49, // Venomoth + 354, // Banette + 2, // Ivysaur + 180, // Flaaffy + 261, // Poochyena + 360, // Wynaut + 206, // Dunsparce + 178, // Xatu + 355, // Duskull + 83, // Farfetch'd + 328, // Trapinch + 118, // Goldeen + 309, // Electrike + 329, // Vibrava + 71, // Victreebel + 153, // Bayleef + 225, // Delibird + 293, // Whismur + 148, // Dragonair + 361, // Snorunt + 263, // Zigzagoon + 314, // Illumise + 313, // Volbeat + 20, // Raticate + 45, // Vileplume + 156, // Quilava + 5, // Charmeleon + 58, // Growlithe + 256, // Combusken + 66, // Machop + 63, // Abra + 33, // Nidorino + 54, // Psyduck + 277, // Swellow + 38, // Ninetales + 30, // Nidorina + 61, // Poliwhirl + 74, // Geodude + 281, // Kirlia + 213, // Shuckle + 334, // Altaria + 318, // Carvanha + 236, // Tyrogue + 163, // Hoothoot + 240, // Magby + 343, // Baltoy + 253, // Grovyle + 352, // Kecleon + 171, // Lanturn + 8, // Wartortle + 368, // Gorebyss + 369, // Relicanth + 239, // Elekid + 340, // Whiscash + 345, // Lileep + 322, // Numel + 287, // Slakoth + 135, // Jolteon + 159, // Croconaw + 136, // Flareon + 117, // Seadra + 196, // Espeon + 367, // Huntail + 197, // Umbreon + 259, // Marshtomp + 274, // Nuzleaf + 215, // Sneasel + 56, // Mankey + 279, // Pelipper + 267, // Beautifly + 224, // Octillery + 184, // Azumarill + 202, // Wobbuffet + 134, // Vaporeon + 28, // Sandslash + 47, // Parasect + 15, // Beedrill + 89, // Muk + 17, // Pidgeotto + 88, // Grimer + 26, // Raichu + 77, // Ponyta + 125, // Electabuzz + 48, // Venonat + 325, // Spoink + 356, // Dusclops + 308, // Medicham + 269, // Dustox + 53, // Persian + 12, // Butterfree + 57, // Primeape + 96, // Drowzee + 162, // Furret + 233, // Porygon2 + 271, // Lombre + 264, // Linoone + 301, // Delcatty + 342, // Crawdaunt + 51, // Dugtrio + 168, // Ariados + 231, // Phanpy + 186, // Politoed + 120, // Staryu + 113, // Chansey + 139, // Omastar + 114, // Tangela + 218, // Slugma + 229, // Houndoom + 166, // Ledian + 79, // Slowpoke + 137, // Porygon + 262, // Mightyena + 193, // Yanma + 22, // Fearow + 185, // Sudowoodo + 119, // Seaking + 286, // Breloom + 84, // Doduo + 18, // Pidgeot + 363, // Spheal + 36, // Clefable + 380, // Latias + 310, // Manectric + 335, // Zangoose + 141, // Kabutops + 94, // Gengar + 294, // Loudred + 124, // Jynx + 164, // Noctowl + 203, // Girafarig + 371, // Bagon + 126, // Magmar + 105, // Marowak + 72, // Tentacool + 288, // Vigoroth + 242, // Blissey + 359, // Absol + 65, // Alakazam + 237, // Hitmontop + 282, // Gardevoir + 210, // Granbull + 106, // Hitmonlee + 107, // Hitmonchan + 227, // Skarmory + 331, // Cacnea + 257, // Blaziken + 254, // Sceptile + 336, // Seviper + 366, // Clamperl + 145, // Zapdos + 214, // Heracross + 62, // Poliwrath + 122, // Mr. mime + 127, // Pinsir + 272, // Ludicolo + 73, // Tentacruel + 42, // Golbat + 219, // Magcargo + 144, // Articuno + 221, // Piloswine + 123, // Scyther + 64, // Kadabra + 235, // Smeargle + 142, // Aerodactyl + 275, // Shiftry + 99, // Kingler + 31, // Nidoqueen + 82, // Magneton + 304, // Aron + 381, // Latios + 146, // Moltres + 346, // Cradily + 386, // Deoxys + 181, // Ampharos + 34, // Nidoking + 207, // Gligar + 24, // Arbok + 108, // Lickitung + 101, // Electrode + 348, // Armaldo + 67, // Machoke + 234, // Stantler + 326, // Grumpig + 246, // Larvitar + 169, // Crobat + 195, // Quagsire + 241, // Miltank + 97, // Hypno + 55, // Golduck + 332, // Cacturne + 80, // Slowbro + 157, // Typhlosion + 199, // Slowking + 115, // Kangaskhan + 121, // Starmie + 317, // Swalot + 324, // Torkoal + 260, // Swampert + 330, // Flygon + 295, // Exploud + 85, // Dodrio + 9, // Blastoise + 296, // Makuhita + 364, // Sealeo + 128, // Tauros + 319, // Sharpedo + 160, // Feraligatr + 86, // Seel + 6, // Charizard + 78, // Rapidash + 374, // Beldum + 299, // Nosepass + 3, // Venusaur + 357, // Tropius + 154, // Meganium + 373, // Salamence + 75, // Graveler + 344, // Claydol + 372, // Shelgon + 111, // Rhyhorn + 212, // Scizor + 87, // Dewgong + 112, // Rhydon + 232, // Donphan + 103, // Exeggutor + 305, // Lairon + 150, // Mewtwo + 217, // Ursaring + 205, // Forretress + 68, // Machamp + 320, // Wailmer + 289, // Slaking + 91, // Cloyster + 365, // Walrein + 247, // Pupitar + 230, // Kingdra + 338, // Solrock + 59, // Arcanine + 350, // Milotic + 337, // Lunatone + 378, // Regice + 243, // Raikou + 245, // Suicune + 244, // Entei + 250, // Ho-Oh + 248, // Tyranitar + 375, // Metang + 379, // Registeel + 384, // Rayquaza + 95, // Onix + 149, // Dragonite + 249, // Lugia + 131, // Lapras + 323, // Camerupt + 226, // Mantine + 377, // Regirock + 130, // Gyarados + 297, // Hariyama + 362, // Glalie + 76, // Golem + 382, // Kyogre + 306, // Aggron + 321, // Wailord + 208, // Steelix + 143, // Snorlax + 376, // Metagross + 383, // Groudon +}; + +const u16 gPokedexOrder_Height[] = +{ + 50, // Diglett + 298, // Azurill + 177, // Natu + 13, // Weedle + 172, // Pichu + 173, // Cleffa + 175, // Togepi + 351, // Castform + 174, // Igglybuff + 10, // Caterpie + 276, // Taillow + 132, // Ditto + 133, // Eevee + 315, // Roselia + 21, // Spearow + 16, // Pidgey + 191, // Sunkern + 90, // Shellder + 19, // Rattata + 81, // Magnemite + 46, // Paras + 265, // Wurmple + 385, // Jirachi + 104, // Cubone + 258, // Mudkip + 194, // Wooper + 116, // Horsea + 52, // Meowth + 29, // Nidoran? + 220, // Swinub + 151, // Mew + 333, // Swablu + 304, // Aron + 311, // Plusle + 312, // Minun + 102, // Exeggcute + 25, // Pikachu + 182, // Bellossom + 316, // Gulpin + 263, // Zigzagoon + 285, // Shroomish + 138, // Omanyte + 331, // Cacnea + 98, // Krabby + 280, // Ralts + 187, // Hoppip + 255, // Torchic + 366, // Clamperl + 74, // Geodude + 183, // Marill + 339, // Barboach + 238, // Smoochum + 100, // Voltorb + 290, // Nincada + 302, // Sableye + 198, // Murkrow + 211, // Qwilfish + 7, // Squirtle + 252, // Treecko + 343, // Baltoy + 43, // Oddish + 270, // Lotad + 39, // Jigglypuff + 283, // Surskit + 155, // Cyndaquil + 140, // Kabuto + 264, // Linoone + 324, // Torkoal + 32, // Nidoran? + 167, // Spinarak + 56, // Mankey + 273, // Seedot + 261, // Poochyena + 231, // Phanpy + 201, // Unown + 170, // Chinchou + 233, // Porygon2 + 60, // Poliwag + 371, // Bagon + 349, // Feebas + 353, // Shuppet + 158, // Totodile + 251, // Celebi + 360, // Wynaut + 27, // Sandshrew + 358, // Chimecho + 370, // Luvdisc + 228, // Houndour + 266, // Silcoon + 309, // Electrike + 4, // Charmander + 307, // Meditite + 278, // Wingull + 223, // Remoraid + 341, // Corphish + 222, // Corsola + 314, // Illumise + 209, // Snubbull + 37, // Vulpix + 246, // Larvitar + 374, // Beldum + 293, // Whismur + 204, // Pineco + 239, // Elekid + 35, // Clefairy + 213, // Shuckle + 216, // Teddiursa + 14, // Kakuna + 300, // Skitty + 176, // Togetic + 118, // Goldeen + 303, // Mawile + 179, // Mareep + 188, // Skiploom + 109, // Koffing + 51, // Dugtrio + 268, // Cascoon + 322, // Numel + 347, // Anorith + 313, // Volbeat + 163, // Hoothoot + 328, // Trapinch + 325, // Spoink + 11, // Metapod + 69, // Bellsprout + 361, // Snorunt + 20, // Raticate + 259, // Marshtomp + 277, // Swellow + 240, // Magby + 58, // Growlithe + 200, // Misdreavus + 1, // Bulbasaur + 236, // Tyrogue + 218, // Slugma + 287, // Slakoth + 281, // Kirlia + 190, // Aipom + 135, // Jolteon + 30, // Nidorina + 184, // Azumarill + 292, // Shedinja + 66, // Machop + 291, // Ninjask + 284, // Masquerain + 355, // Duskull + 192, // Sunflora + 189, // Jumpluff + 120, // Staryu + 180, // Flaaffy + 363, // Spheal + 54, // Psyduck + 219, // Magcargo + 83, // Farfetch'd + 41, // Zubat + 137, // Porygon + 161, // Sentret + 318, // Carvanha + 44, // Gloom + 26, // Raichu + 129, // Magikarp + 215, // Sneasel + 305, // Lairon + 256, // Combusken + 224, // Octillery + 33, // Nidorino + 136, // Flareon + 225, // Delibird + 72, // Tentacool + 63, // Abra + 253, // Grovyle + 340, // Whiscash + 156, // Quilava + 196, // Espeon + 88, // Grimer + 152, // Chikorita + 326, // Grumpig + 299, // Nosepass + 53, // Persian + 262, // Mightyena + 48, // Venonat + 82, // Magneton + 77, // Ponyta + 296, // Makuhita + 337, // Lunatone + 28, // Sandslash + 96, // Drowzee + 114, // Tangela + 57, // Primeape + 165, // Ledyba + 40, // Wigglytuff + 47, // Parasect + 139, // Omastar + 294, // Loudred + 8, // Wartortle + 75, // Graveler + 197, // Umbreon + 345, // Lileep + 61, // Poliwhirl + 134, // Vaporeon + 15, // Beedrill + 105, // Marowak + 70, // Weepinbell + 369, // Relicanth + 111, // Rhyhorn + 2, // Ivysaur + 352, // Kecleon + 274, // Nuzleaf + 267, // Beautifly + 17, // Pidgeotto + 168, // Ariados + 86, // Seel + 186, // Politoed + 159, // Croconaw + 113, // Chansey + 354, // Banette + 232, // Donphan + 121, // Starmie + 5, // Charmeleon + 221, // Piloswine + 12, // Butterfree + 329, // Vibrava + 125, // Electabuzz + 342, // Crawdaunt + 301, // Delcatty + 334, // Altaria + 372, // Shelgon + 38, // Ninetales + 207, // Gligar + 364, // Sealeo + 327, // Spinda + 247, // Pupitar + 79, // Slowpoke + 338, // Solrock + 241, // Miltank + 22, // Fearow + 45, // Vileplume + 89, // Muk + 205, // Forretress + 185, // Sudowoodo + 359, // Absol + 193, // Yanma + 269, // Dustox + 108, // Lickitung + 235, // Smeargle + 171, // Lanturn + 101, // Electrode + 271, // Lombre + 286, // Breloom + 153, // Bayleef + 117, // Seadra + 110, // Weezing + 279, // Pelipper + 375, // Metang + 31, // Nidoqueen + 332, // Cacturne + 275, // Shiftry + 308, // Medicham + 335, // Zangoose + 141, // Kabutops + 99, // Kingler + 64, // Kadabra + 119, // Seaking + 36, // Clefable + 126, // Magmar + 202, // Wobbuffet + 92, // Gastly + 122, // Mr. mime + 62, // Poliwrath + 128, // Tauros + 380, // Latias + 181, // Ampharos + 288, // Vigoroth + 166, // Ledian + 76, // Golem + 365, // Walrein + 84, // Doduo + 229, // Houndoom + 34, // Nidoking + 124, // Jynx + 107, // Hitmonchan + 234, // Stantler + 210, // Granbull + 237, // Hitmontop + 195, // Quagsire + 344, // Claydol + 260, // Swampert + 242, // Blissey + 272, // Ludicolo + 295, // Exploud + 206, // Dunsparce + 127, // Pinsir + 91, // Cloyster + 67, // Machoke + 203, // Girafarig + 18, // Pidgeot + 178, // Xatu + 346, // Cradily + 106, // Hitmonlee + 49, // Venomoth + 94, // Gengar + 214, // Heracross + 362, // Glalie + 123, // Scyther + 373, // Salamence + 310, // Manectric + 348, // Armaldo + 65, // Alakazam + 97, // Hypno + 164, // Noctowl + 73, // Tentacruel + 356, // Dusclops + 145, // Zapdos + 42, // Golbat + 376, // Metagross + 282, // Gardevoir + 9, // Blastoise + 80, // Slowbro + 93, // Haunter + 68, // Machamp + 377, // Regirock + 317, // Swalot + 254, // Sceptile + 227, // Skarmory + 55, // Golduck + 386, // Deoxys + 71, // Victreebel + 78, // Rapidash + 6, // Charizard + 367, // Huntail + 87, // Dewgong + 144, // Articuno + 157, // Typhlosion + 142, // Aerodactyl + 368, // Gorebyss + 217, // Ursaring + 154, // Meganium + 378, // Regice + 212, // Scizor + 230, // Kingdra + 147, // Dratini + 85, // Dodrio + 319, // Sharpedo + 169, // Crobat + 162, // Furret + 59, // Arcanine + 243, // Raikou + 257, // Blaziken + 323, // Camerupt + 112, // Rhydon + 379, // Registeel + 23, // Ekans + 330, // Flygon + 357, // Tropius + 381, // Latios + 245, // Suicune + 146, // Moltres + 3, // Venusaur + 103, // Exeggutor + 199, // Slowking + 248, // Tyranitar + 289, // Slaking + 320, // Wailmer + 150, // Mewtwo + 306, // Aggron + 143, // Snorlax + 226, // Mantine + 244, // Entei + 149, // Dragonite + 115, // Kangaskhan + 297, // Hariyama + 160, // Feraligatr + 131, // Lapras + 336, // Seviper + 24, // Arbok + 383, // Groudon + 250, // Ho-Oh + 148, // Dragonair + 382, // Kyogre + 249, // Lugia + 350, // Milotic + 130, // Gyarados + 384, // Rayquaza + 95, // Onix + 208, // Steelix + 321, // Wailord +}; + +#endif // GUARD_DATA_POKEDEX_ORDERS diff --git a/include/data/pokemon/base_stats.h b/include/data/pokemon/base_stats.h new file mode 100644 index 0000000000..bc6572b46b --- /dev/null +++ b/include/data/pokemon/base_stats.h @@ -0,0 +1,13576 @@ +#ifndef GUARD_BASE_STATS_H +#define GUARD_BASE_STATS_H + +// Maximum value for a female pokemon is 254 (MON_FEMALE) which is 100% female. +// 255 (MON_GENDERLESS) is reserved for genderless pokemon. +#define PERCENT_FEMALE(percent) min(254, ((percent * 255) / 100)) + +const struct BaseStats gBaseStats[] = +{ + [SPECIES_NONE] = {0}, + + [SPECIES_BULBASAUR] = + { + .baseHP = 45, + .baseAttack = 49, + .baseDefense = 49, + .baseSpeed = 45, + .baseSpAttack = 65, + .baseSpDefense = 65, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 64, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_IVYSAUR] = + { + .baseHP = 60, + .baseAttack = 62, + .baseDefense = 63, + .baseSpeed = 60, + .baseSpAttack = 80, + .baseSpDefense = 80, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 141, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_VENUSAUR] = + { + .baseHP = 80, + .baseAttack = 82, + .baseDefense = 83, + .baseSpeed = 80, + .baseSpAttack = 100, + .baseSpDefense = 100, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 208, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_CHARMANDER] = + { + .baseHP = 39, + .baseAttack = 52, + .baseDefense = 43, + .baseSpeed = 65, + .baseSpAttack = 60, + .baseSpDefense = 50, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 65, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_CHARMELEON] = + { + .baseHP = 58, + .baseAttack = 64, + .baseDefense = 58, + .baseSpeed = 80, + .baseSpAttack = 80, + .baseSpDefense = 65, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 142, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_CHARIZARD] = + { + .baseHP = 78, + .baseAttack = 84, + .baseDefense = 78, + .baseSpeed = 100, + .baseSpAttack = 109, + .baseSpDefense = 85, + .type1 = TYPE_FIRE, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 209, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SQUIRTLE] = + { + .baseHP = 44, + .baseAttack = 48, + .baseDefense = 65, + .baseSpeed = 43, + .baseSpAttack = 50, + .baseSpDefense = 64, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 66, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_WARTORTLE] = + { + .baseHP = 59, + .baseAttack = 63, + .baseDefense = 80, + .baseSpeed = 58, + .baseSpAttack = 65, + .baseSpDefense = 80, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 143, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_BLASTOISE] = + { + .baseHP = 79, + .baseAttack = 83, + .baseDefense = 100, + .baseSpeed = 78, + .baseSpAttack = 85, + .baseSpDefense = 105, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 210, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_CATERPIE] = + { + .baseHP = 45, + .baseAttack = 30, + .baseDefense = 35, + .baseSpeed = 45, + .baseSpAttack = 20, + .baseSpDefense = 20, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 255, + .expYield = 53, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHIELD_DUST, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_METAPOD] = + { + .baseHP = 50, + .baseAttack = 20, + .baseDefense = 55, + .baseSpeed = 30, + .baseSpAttack = 25, + .baseSpDefense = 25, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 120, + .expYield = 72, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_BUTTERFREE] = + { + .baseHP = 60, + .baseAttack = 45, + .baseDefense = 50, + .baseSpeed = 70, + .baseSpAttack = 80, + .baseSpDefense = 80, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 160, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_SILVER_POWDER, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_COMPOUND_EYES, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_WEEDLE] = + { + .baseHP = 40, + .baseAttack = 35, + .baseDefense = 30, + .baseSpeed = 50, + .baseSpAttack = 20, + .baseSpDefense = 20, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 255, + .expYield = 52, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHIELD_DUST, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_KAKUNA] = + { + .baseHP = 45, + .baseAttack = 25, + .baseDefense = 50, + .baseSpeed = 35, + .baseSpAttack = 25, + .baseSpDefense = 25, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 120, + .expYield = 71, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_BEEDRILL] = + { + .baseHP = 65, + .baseAttack = 80, + .baseDefense = 40, + .baseSpeed = 75, + .baseSpAttack = 45, + .baseSpDefense = 80, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 159, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_POISON_BARB, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_PIDGEY] = + { + .baseHP = 40, + .baseAttack = 45, + .baseDefense = 40, + .baseSpeed = 56, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 255, + .expYield = 55, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_PIDGEOTTO] = + { + .baseHP = 63, + .baseAttack = 60, + .baseDefense = 55, + .baseSpeed = 71, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 120, + .expYield = 113, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_PIDGEOT] = + { + .baseHP = 83, + .baseAttack = 80, + .baseDefense = 75, + .baseSpeed = 91, + .baseSpAttack = 70, + .baseSpDefense = 70, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 172, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 3, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_RATTATA] = + { + .baseHP = 30, + .baseAttack = 56, + .baseDefense = 35, + .baseSpeed = 72, + .baseSpAttack = 25, + .baseSpDefense = 35, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 255, + .expYield = 57, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_GUTS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_RATICATE] = + { + .baseHP = 55, + .baseAttack = 81, + .baseDefense = 60, + .baseSpeed = 97, + .baseSpAttack = 50, + .baseSpDefense = 70, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 127, + .expYield = 116, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_GUTS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SPEAROW] = + { + .baseHP = 40, + .baseAttack = 60, + .baseDefense = 30, + .baseSpeed = 70, + .baseSpAttack = 31, + .baseSpDefense = 31, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 255, + .expYield = 58, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_FEAROW] = + { + .baseHP = 65, + .baseAttack = 90, + .baseDefense = 65, + .baseSpeed = 100, + .baseSpAttack = 61, + .baseSpDefense = 61, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 90, + .expYield = 162, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SHARP_BEAK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_EKANS] = + { + .baseHP = 35, + .baseAttack = 60, + .baseDefense = 44, + .baseSpeed = 55, + .baseSpAttack = 40, + .baseSpDefense = 54, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 255, + .expYield = 62, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_SHED_SKIN, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_ARBOK] = + { + .baseHP = 60, + .baseAttack = 85, + .baseDefense = 69, + .baseSpeed = 80, + .baseSpAttack = 65, + .baseSpDefense = 79, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 90, + .expYield = 147, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_SHED_SKIN, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_PIKACHU] = + { + .baseHP = 35, + .baseAttack = 55, + .baseDefense = 30, + .baseSpeed = 90, + .baseSpAttack = 50, + .baseSpDefense = 40, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 190, + .expYield = 82, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_ORAN_BERRY, + .item2 = ITEM_LIGHT_BALL, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 6, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_RAICHU] = + { + .baseHP = 60, + .baseAttack = 90, + .baseDefense = 55, + .baseSpeed = 100, + .baseSpAttack = 90, + .baseSpDefense = 80, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 75, + .expYield = 122, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 3, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_ORAN_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_SANDSHREW] = + { + .baseHP = 50, + .baseAttack = 75, + .baseDefense = 85, + .baseSpeed = 40, + .baseSpAttack = 20, + .baseSpDefense = 30, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 255, + .expYield = 93, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_QUICK_CLAW, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SAND_VEIL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_SANDSLASH] = + { + .baseHP = 75, + .baseAttack = 100, + .baseDefense = 110, + .baseSpeed = 65, + .baseSpAttack = 45, + .baseSpDefense = 55, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 90, + .expYield = 163, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_QUICK_CLAW, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SAND_VEIL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_NIDORAN_F] = + { + .baseHP = 55, + .baseAttack = 47, + .baseDefense = 52, + .baseSpeed = 41, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 235, + .expYield = 59, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_FEMALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_NIDORINA] = + { + .baseHP = 70, + .baseAttack = 62, + .baseDefense = 67, + .baseSpeed = 56, + .baseSpAttack = 55, + .baseSpDefense = 55, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 120, + .expYield = 117, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_FEMALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_NIDOQUEEN] = + { + .baseHP = 90, + .baseAttack = 82, + .baseDefense = 87, + .baseSpeed = 76, + .baseSpAttack = 75, + .baseSpDefense = 85, + .type1 = TYPE_POISON, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 194, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_FEMALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_NIDORAN_M] = + { + .baseHP = 46, + .baseAttack = 57, + .baseDefense = 40, + .baseSpeed = 50, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 235, + .expYield = 60, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_NIDORINO] = + { + .baseHP = 61, + .baseAttack = 72, + .baseDefense = 57, + .baseSpeed = 65, + .baseSpAttack = 55, + .baseSpDefense = 55, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 120, + .expYield = 118, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_NIDOKING] = + { + .baseHP = 81, + .baseAttack = 92, + .baseDefense = 77, + .baseSpeed = 85, + .baseSpAttack = 85, + .baseSpDefense = 75, + .type1 = TYPE_POISON, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 195, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_CLEFAIRY] = + { + .baseHP = 70, + .baseAttack = 45, + .baseDefense = 48, + .baseSpeed = 35, + .baseSpAttack = 60, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 150, + .expYield = 68, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_LEPPA_BERRY, + .item2 = ITEM_MOON_STONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 10, + .friendship = 140, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_CLEFABLE] = + { + .baseHP = 95, + .baseAttack = 70, + .baseDefense = 73, + .baseSpeed = 60, + .baseSpAttack = 85, + .baseSpDefense = 90, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 25, + .expYield = 129, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_LEPPA_BERRY, + .item2 = ITEM_MOON_STONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 10, + .friendship = 140, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_VULPIX] = + { + .baseHP = 38, + .baseAttack = 41, + .baseDefense = 40, + .baseSpeed = 65, + .baseSpAttack = 50, + .baseSpDefense = 65, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 190, + .expYield = 63, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_FLASH_FIRE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_NINETALES] = + { + .baseHP = 73, + .baseAttack = 76, + .baseDefense = 75, + .baseSpeed = 100, + .baseSpAttack = 81, + .baseSpDefense = 100, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 75, + .expYield = 178, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_FLASH_FIRE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_JIGGLYPUFF] = + { + .baseHP = 115, + .baseAttack = 45, + .baseDefense = 20, + .baseSpeed = 20, + .baseSpAttack = 45, + .baseSpDefense = 25, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 170, + .expYield = 76, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_WIGGLYTUFF] = + { + .baseHP = 140, + .baseAttack = 70, + .baseDefense = 45, + .baseSpeed = 45, + .baseSpAttack = 75, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 50, + .expYield = 109, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_ZUBAT] = + { + .baseHP = 40, + .baseAttack = 45, + .baseDefense = 35, + .baseSpeed = 55, + .baseSpAttack = 30, + .baseSpDefense = 40, + .type1 = TYPE_POISON, + .type2 = TYPE_FLYING, + .catchRate = 255, + .expYield = 54, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_GOLBAT] = + { + .baseHP = 75, + .baseAttack = 80, + .baseDefense = 70, + .baseSpeed = 90, + .baseSpAttack = 65, + .baseSpDefense = 75, + .type1 = TYPE_POISON, + .type2 = TYPE_FLYING, + .catchRate = 90, + .expYield = 171, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_ODDISH] = + { + .baseHP = 45, + .baseAttack = 50, + .baseDefense = 55, + .baseSpeed = 30, + .baseSpAttack = 75, + .baseSpDefense = 65, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 255, + .expYield = 78, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 4, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_GLOOM] = + { + .baseHP = 60, + .baseAttack = 65, + .baseDefense = 70, + .baseSpeed = 40, + .baseSpAttack = 85, + .baseSpDefense = 75, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 120, + .expYield = 132, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 6, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_VILEPLUME] = + { + .baseHP = 75, + .baseAttack = 80, + .baseDefense = 85, + .baseSpeed = 50, + .baseSpAttack = 100, + .baseSpDefense = 90, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 184, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_PARAS] = + { + .baseHP = 35, + .baseAttack = 70, + .baseDefense = 55, + .baseSpeed = 25, + .baseSpAttack = 45, + .baseSpDefense = 55, + .type1 = TYPE_BUG, + .type2 = TYPE_GRASS, + .catchRate = 190, + .expYield = 70, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_TINY_MUSHROOM, + .item2 = ITEM_BIG_MUSHROOM, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_EFFECT_SPORE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_PARASECT] = + { + .baseHP = 60, + .baseAttack = 95, + .baseDefense = 80, + .baseSpeed = 30, + .baseSpAttack = 60, + .baseSpDefense = 80, + .type1 = TYPE_BUG, + .type2 = TYPE_GRASS, + .catchRate = 75, + .expYield = 128, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_TINY_MUSHROOM, + .item2 = ITEM_BIG_MUSHROOM, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_EFFECT_SPORE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_VENONAT] = + { + .baseHP = 60, + .baseAttack = 55, + .baseDefense = 50, + .baseSpeed = 45, + .baseSpAttack = 40, + .baseSpDefense = 55, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 190, + .expYield = 75, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_COMPOUND_EYES, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_VENOMOTH] = + { + .baseHP = 70, + .baseAttack = 65, + .baseDefense = 60, + .baseSpeed = 90, + .baseSpAttack = 90, + .baseSpDefense = 75, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 75, + .expYield = 138, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHIELD_DUST, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_DIGLETT] = + { + .baseHP = 10, + .baseAttack = 55, + .baseDefense = 25, + .baseSpeed = 95, + .baseSpAttack = 35, + .baseSpDefense = 45, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 255, + .expYield = 81, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SAND_VEIL, + .ability2 = ABILITY_ARENA_TRAP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_DUGTRIO] = + { + .baseHP = 35, + .baseAttack = 80, + .baseDefense = 50, + .baseSpeed = 120, + .baseSpAttack = 50, + .baseSpDefense = 70, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 50, + .expYield = 153, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SAND_VEIL, + .ability2 = ABILITY_ARENA_TRAP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_MEOWTH] = + { + .baseHP = 40, + .baseAttack = 45, + .baseDefense = 35, + .baseSpeed = 90, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 255, + .expYield = 69, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_PICKUP, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_PERSIAN] = + { + .baseHP = 65, + .baseAttack = 70, + .baseDefense = 60, + .baseSpeed = 115, + .baseSpAttack = 65, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 90, + .expYield = 148, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_LIMBER, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_PSYDUCK] = + { + .baseHP = 50, + .baseAttack = 52, + .baseDefense = 48, + .baseSpeed = 55, + .baseSpAttack = 65, + .baseSpDefense = 50, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 190, + .expYield = 80, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_DAMP, + .ability2 = ABILITY_CLOUD_NINE, + .safariZoneFleeRate = 6, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_GOLDUCK] = + { + .baseHP = 80, + .baseAttack = 82, + .baseDefense = 78, + .baseSpeed = 85, + .baseSpAttack = 95, + .baseSpDefense = 80, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 75, + .expYield = 174, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_DAMP, + .ability2 = ABILITY_CLOUD_NINE, + .safariZoneFleeRate = 8, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_MANKEY] = + { + .baseHP = 40, + .baseAttack = 80, + .baseDefense = 35, + .baseSpeed = 70, + .baseSpAttack = 35, + .baseSpDefense = 45, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 190, + .expYield = 74, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_VITAL_SPIRIT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_PRIMEAPE] = + { + .baseHP = 65, + .baseAttack = 105, + .baseDefense = 60, + .baseSpeed = 95, + .baseSpAttack = 60, + .baseSpDefense = 70, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 75, + .expYield = 149, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_VITAL_SPIRIT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_GROWLITHE] = + { + .baseHP = 55, + .baseAttack = 70, + .baseDefense = 45, + .baseSpeed = 60, + .baseSpAttack = 70, + .baseSpDefense = 50, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 190, + .expYield = 91, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_FLASH_FIRE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_ARCANINE] = + { + .baseHP = 90, + .baseAttack = 110, + .baseDefense = 80, + .baseSpeed = 95, + .baseSpAttack = 100, + .baseSpDefense = 80, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 75, + .expYield = 213, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_FLASH_FIRE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_POLIWAG] = + { + .baseHP = 40, + .baseAttack = 50, + .baseDefense = 40, + .baseSpeed = 90, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 255, + .expYield = 77, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_WATER_ABSORB, + .ability2 = ABILITY_DAMP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = TRUE, + }, + + [SPECIES_POLIWHIRL] = + { + .baseHP = 65, + .baseAttack = 65, + .baseDefense = 65, + .baseSpeed = 90, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 120, + .expYield = 131, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_KINGS_ROCK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_WATER_ABSORB, + .ability2 = ABILITY_DAMP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = TRUE, + }, + + [SPECIES_POLIWRATH] = + { + .baseHP = 90, + .baseAttack = 85, + .baseDefense = 95, + .baseSpeed = 70, + .baseSpAttack = 70, + .baseSpDefense = 90, + .type1 = TYPE_WATER, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 185, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 3, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_KINGS_ROCK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_WATER_ABSORB, + .ability2 = ABILITY_DAMP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = TRUE, + }, + + [SPECIES_ABRA] = + { + .baseHP = 25, + .baseAttack = 20, + .baseDefense = 15, + .baseSpeed = 90, + .baseSpAttack = 105, + .baseSpDefense = 55, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 200, + .expYield = 73, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_TWISTED_SPOON, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_INNER_FOCUS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_KADABRA] = + { + .baseHP = 40, + .baseAttack = 35, + .baseDefense = 30, + .baseSpeed = 105, + .baseSpAttack = 120, + .baseSpDefense = 70, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 100, + .expYield = 145, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_TWISTED_SPOON, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_INNER_FOCUS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_ALAKAZAM] = + { + .baseHP = 55, + .baseAttack = 50, + .baseDefense = 45, + .baseSpeed = 120, + .baseSpAttack = 135, + .baseSpDefense = 85, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 50, + .expYield = 186, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_TWISTED_SPOON, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_INNER_FOCUS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_MACHOP] = + { + .baseHP = 70, + .baseAttack = 80, + .baseDefense = 50, + .baseSpeed = 35, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 180, + .expYield = 88, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_MACHOKE] = + { + .baseHP = 80, + .baseAttack = 100, + .baseDefense = 70, + .baseSpeed = 45, + .baseSpAttack = 50, + .baseSpDefense = 60, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 90, + .expYield = 146, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_MACHAMP] = + { + .baseHP = 90, + .baseAttack = 130, + .baseDefense = 80, + .baseSpeed = 55, + .baseSpAttack = 65, + .baseSpDefense = 85, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 193, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_BELLSPROUT] = + { + .baseHP = 50, + .baseAttack = 75, + .baseDefense = 35, + .baseSpeed = 40, + .baseSpAttack = 70, + .baseSpDefense = 30, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 255, + .expYield = 84, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_WEEPINBELL] = + { + .baseHP = 65, + .baseAttack = 90, + .baseDefense = 50, + .baseSpeed = 55, + .baseSpAttack = 85, + .baseSpDefense = 45, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 120, + .expYield = 151, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_VICTREEBEL] = + { + .baseHP = 80, + .baseAttack = 105, + .baseDefense = 65, + .baseSpeed = 70, + .baseSpAttack = 100, + .baseSpDefense = 60, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 191, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_TENTACOOL] = + { + .baseHP = 40, + .baseAttack = 40, + .baseDefense = 35, + .baseSpeed = 70, + .baseSpAttack = 50, + .baseSpDefense = 100, + .type1 = TYPE_WATER, + .type2 = TYPE_POISON, + .catchRate = 190, + .expYield = 105, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_LIQUID_OOZE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_TENTACRUEL] = + { + .baseHP = 80, + .baseAttack = 70, + .baseDefense = 65, + .baseSpeed = 100, + .baseSpAttack = 80, + .baseSpDefense = 120, + .type1 = TYPE_WATER, + .type2 = TYPE_POISON, + .catchRate = 60, + .expYield = 205, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_LIQUID_OOZE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_GEODUDE] = + { + .baseHP = 40, + .baseAttack = 80, + .baseDefense = 100, + .baseSpeed = 20, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_ROCK, + .type2 = TYPE_GROUND, + .catchRate = 255, + .expYield = 86, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_EVERSTONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 4, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_GRAVELER] = + { + .baseHP = 55, + .baseAttack = 95, + .baseDefense = 115, + .baseSpeed = 35, + .baseSpAttack = 45, + .baseSpDefense = 45, + .type1 = TYPE_ROCK, + .type2 = TYPE_GROUND, + .catchRate = 120, + .expYield = 134, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_EVERSTONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_GOLEM] = + { + .baseHP = 80, + .baseAttack = 110, + .baseDefense = 130, + .baseSpeed = 45, + .baseSpAttack = 55, + .baseSpDefense = 65, + .type1 = TYPE_ROCK, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 177, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 3, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_EVERSTONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_PONYTA] = + { + .baseHP = 50, + .baseAttack = 85, + .baseDefense = 55, + .baseSpeed = 90, + .baseSpAttack = 65, + .baseSpDefense = 65, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 190, + .expYield = 152, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_FLASH_FIRE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_RAPIDASH] = + { + .baseHP = 65, + .baseAttack = 100, + .baseDefense = 70, + .baseSpeed = 105, + .baseSpAttack = 80, + .baseSpDefense = 80, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 60, + .expYield = 192, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_FLASH_FIRE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_SLOWPOKE] = + { + .baseHP = 90, + .baseAttack = 65, + .baseDefense = 65, + .baseSpeed = 15, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_WATER, + .type2 = TYPE_PSYCHIC, + .catchRate = 190, + .expYield = 99, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_KINGS_ROCK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_OWN_TEMPO, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_SLOWBRO] = + { + .baseHP = 95, + .baseAttack = 75, + .baseDefense = 110, + .baseSpeed = 30, + .baseSpAttack = 100, + .baseSpDefense = 80, + .type1 = TYPE_WATER, + .type2 = TYPE_PSYCHIC, + .catchRate = 75, + .expYield = 164, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_KINGS_ROCK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_OWN_TEMPO, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_MAGNEMITE] = + { + .baseHP = 25, + .baseAttack = 35, + .baseDefense = 70, + .baseSpeed = 45, + .baseSpAttack = 95, + .baseSpDefense = 55, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_STEEL, + .catchRate = 190, + .expYield = 89, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_METAL_COAT, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_MAGNET_PULL, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_MAGNETON] = + { + .baseHP = 50, + .baseAttack = 60, + .baseDefense = 95, + .baseSpeed = 70, + .baseSpAttack = 120, + .baseSpDefense = 70, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_STEEL, + .catchRate = 60, + .expYield = 161, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_METAL_COAT, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_MAGNET_PULL, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_FARFETCHD] = + { + .baseHP = 52, + .baseAttack = 65, + .baseDefense = 55, + .baseSpeed = 60, + .baseSpAttack = 58, + .baseSpDefense = 62, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 94, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_STICK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_INNER_FOCUS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_DODUO] = + { + .baseHP = 35, + .baseAttack = 85, + .baseDefense = 45, + .baseSpeed = 75, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 190, + .expYield = 96, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SHARP_BEAK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 8, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_DODRIO] = + { + .baseHP = 60, + .baseAttack = 110, + .baseDefense = 70, + .baseSpeed = 100, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 158, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SHARP_BEAK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 10, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SEEL] = + { + .baseHP = 65, + .baseAttack = 45, + .baseDefense = 55, + .baseSpeed = 45, + .baseSpAttack = 45, + .baseSpDefense = 70, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 190, + .expYield = 100, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_DEWGONG] = + { + .baseHP = 90, + .baseAttack = 70, + .baseDefense = 80, + .baseSpeed = 70, + .baseSpAttack = 70, + .baseSpDefense = 95, + .type1 = TYPE_WATER, + .type2 = TYPE_ICE, + .catchRate = 75, + .expYield = 176, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_GRIMER] = + { + .baseHP = 80, + .baseAttack = 80, + .baseDefense = 50, + .baseSpeed = 25, + .baseSpAttack = 40, + .baseSpDefense = 50, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 190, + .expYield = 90, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NUGGET, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_STENCH, + .ability2 = ABILITY_STICKY_HOLD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_MUK] = + { + .baseHP = 105, + .baseAttack = 105, + .baseDefense = 75, + .baseSpeed = 50, + .baseSpAttack = 65, + .baseSpDefense = 100, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 75, + .expYield = 157, + .evYield_HP = 1, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NUGGET, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_STENCH, + .ability2 = ABILITY_STICKY_HOLD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_SHELLDER] = + { + .baseHP = 30, + .baseAttack = 65, + .baseDefense = 100, + .baseSpeed = 40, + .baseSpAttack = 45, + .baseSpDefense = 25, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 190, + .expYield = 97, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_PEARL, + .item2 = ITEM_BIG_PEARL, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SHELL_ARMOR, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_CLOYSTER] = + { + .baseHP = 50, + .baseAttack = 95, + .baseDefense = 180, + .baseSpeed = 70, + .baseSpAttack = 85, + .baseSpDefense = 45, + .type1 = TYPE_WATER, + .type2 = TYPE_ICE, + .catchRate = 60, + .expYield = 203, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_PEARL, + .item2 = ITEM_BIG_PEARL, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SHELL_ARMOR, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_GASTLY] = + { + .baseHP = 30, + .baseAttack = 35, + .baseDefense = 30, + .baseSpeed = 80, + .baseSpAttack = 100, + .baseSpDefense = 35, + .type1 = TYPE_GHOST, + .type2 = TYPE_POISON, + .catchRate = 190, + .expYield = 95, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_HAUNTER] = + { + .baseHP = 45, + .baseAttack = 50, + .baseDefense = 45, + .baseSpeed = 95, + .baseSpAttack = 115, + .baseSpDefense = 55, + .type1 = TYPE_GHOST, + .type2 = TYPE_POISON, + .catchRate = 90, + .expYield = 126, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_GENGAR] = + { + .baseHP = 60, + .baseAttack = 65, + .baseDefense = 60, + .baseSpeed = 110, + .baseSpAttack = 130, + .baseSpDefense = 75, + .type1 = TYPE_GHOST, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 190, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_ONIX] = + { + .baseHP = 35, + .baseAttack = 45, + .baseDefense = 160, + .baseSpeed = 70, + .baseSpAttack = 30, + .baseSpDefense = 45, + .type1 = TYPE_ROCK, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 108, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_DROWZEE] = + { + .baseHP = 60, + .baseAttack = 48, + .baseDefense = 45, + .baseSpeed = 42, + .baseSpAttack = 43, + .baseSpDefense = 90, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 190, + .expYield = 102, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_INSOMNIA, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_HYPNO] = + { + .baseHP = 85, + .baseAttack = 73, + .baseDefense = 70, + .baseSpeed = 67, + .baseSpAttack = 73, + .baseSpDefense = 115, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 75, + .expYield = 165, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_INSOMNIA, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_KRABBY] = + { + .baseHP = 30, + .baseAttack = 105, + .baseDefense = 90, + .baseSpeed = 50, + .baseSpAttack = 25, + .baseSpDefense = 25, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 225, + .expYield = 115, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_SHELL_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_KINGLER] = + { + .baseHP = 55, + .baseAttack = 130, + .baseDefense = 115, + .baseSpeed = 75, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 60, + .expYield = 206, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_SHELL_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = TRUE, + }, + + [SPECIES_VOLTORB] = + { + .baseHP = 40, + .baseAttack = 30, + .baseDefense = 50, + .baseSpeed = 100, + .baseSpAttack = 55, + .baseSpDefense = 55, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 190, + .expYield = 103, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_SOUNDPROOF, + .ability2 = ABILITY_STATIC, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_ELECTRODE] = + { + .baseHP = 60, + .baseAttack = 50, + .baseDefense = 70, + .baseSpeed = 140, + .baseSpAttack = 80, + .baseSpDefense = 80, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 60, + .expYield = 150, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_SOUNDPROOF, + .ability2 = ABILITY_STATIC, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_EXEGGCUTE] = + { + .baseHP = 60, + .baseAttack = 40, + .baseDefense = 80, + .baseSpeed = 40, + .baseSpAttack = 60, + .baseSpDefense = 45, + .type1 = TYPE_GRASS, + .type2 = TYPE_PSYCHIC, + .catchRate = 90, + .expYield = 98, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_EXEGGUTOR] = + { + .baseHP = 95, + .baseAttack = 95, + .baseDefense = 85, + .baseSpeed = 55, + .baseSpAttack = 125, + .baseSpDefense = 65, + .type1 = TYPE_GRASS, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 212, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_CUBONE] = + { + .baseHP = 50, + .baseAttack = 50, + .baseDefense = 95, + .baseSpeed = 35, + .baseSpAttack = 40, + .baseSpDefense = 50, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 190, + .expYield = 87, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_THICK_CLUB, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_LIGHTNING_ROD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_MAROWAK] = + { + .baseHP = 60, + .baseAttack = 80, + .baseDefense = 110, + .baseSpeed = 45, + .baseSpAttack = 50, + .baseSpDefense = 80, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 75, + .expYield = 124, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_THICK_CLUB, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_LIGHTNING_ROD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_HITMONLEE] = + { + .baseHP = 50, + .baseAttack = 120, + .baseDefense = 53, + .baseSpeed = 87, + .baseSpAttack = 35, + .baseSpDefense = 110, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 139, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_LIMBER, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_HITMONCHAN] = + { + .baseHP = 50, + .baseAttack = 105, + .baseDefense = 79, + .baseSpeed = 76, + .baseSpAttack = 35, + .baseSpDefense = 110, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 140, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_LICKITUNG] = + { + .baseHP = 90, + .baseAttack = 55, + .baseDefense = 75, + .baseSpeed = 30, + .baseSpAttack = 60, + .baseSpDefense = 75, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 127, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_OWN_TEMPO, + .ability2 = ABILITY_OBLIVIOUS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_KOFFING] = + { + .baseHP = 40, + .baseAttack = 65, + .baseDefense = 95, + .baseSpeed = 35, + .baseSpAttack = 60, + .baseSpDefense = 45, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 190, + .expYield = 114, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SMOKE_BALL, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_WEEZING] = + { + .baseHP = 65, + .baseAttack = 90, + .baseDefense = 120, + .baseSpeed = 60, + .baseSpAttack = 85, + .baseSpDefense = 70, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 60, + .expYield = 173, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SMOKE_BALL, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_RHYHORN] = + { + .baseHP = 80, + .baseAttack = 85, + .baseDefense = 95, + .baseSpeed = 25, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_GROUND, + .type2 = TYPE_ROCK, + .catchRate = 120, + .expYield = 135, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_LIGHTNING_ROD, + .ability2 = ABILITY_ROCK_HEAD, + .safariZoneFleeRate = 4, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_RHYDON] = + { + .baseHP = 105, + .baseAttack = 130, + .baseDefense = 120, + .baseSpeed = 40, + .baseSpAttack = 45, + .baseSpDefense = 45, + .type1 = TYPE_GROUND, + .type2 = TYPE_ROCK, + .catchRate = 60, + .expYield = 204, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_LIGHTNING_ROD, + .ability2 = ABILITY_ROCK_HEAD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_CHANSEY] = + { + .baseHP = 250, + .baseAttack = 5, + .baseDefense = 5, + .baseSpeed = 50, + .baseSpAttack = 35, + .baseSpDefense = 105, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 30, + .expYield = 255, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_LUCKY_EGG, + .genderRatio = MON_FEMALE, + .eggCycles = 40, + .friendship = 140, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_NATURAL_CURE, + .ability2 = ABILITY_SERENE_GRACE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_TANGELA] = + { + .baseHP = 65, + .baseAttack = 55, + .baseDefense = 115, + .baseSpeed = 60, + .baseSpAttack = 100, + .baseSpDefense = 40, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 166, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_KANGASKHAN] = + { + .baseHP = 105, + .baseAttack = 95, + .baseDefense = 80, + .baseSpeed = 90, + .baseSpAttack = 40, + .baseSpDefense = 80, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 175, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_FEMALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_EARLY_BIRD, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_HORSEA] = + { + .baseHP = 30, + .baseAttack = 40, + .baseDefense = 70, + .baseSpeed = 60, + .baseSpAttack = 70, + .baseSpDefense = 25, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 225, + .expYield = 83, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SEADRA] = + { + .baseHP = 55, + .baseAttack = 65, + .baseDefense = 95, + .baseSpeed = 85, + .baseSpAttack = 95, + .baseSpDefense = 45, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 75, + .expYield = 155, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_GOLDEEN] = + { + .baseHP = 45, + .baseAttack = 67, + .baseDefense = 60, + .baseSpeed = 63, + .baseSpAttack = 35, + .baseSpDefense = 50, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 225, + .expYield = 111, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_WATER_VEIL, + .safariZoneFleeRate = 4, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SEAKING] = + { + .baseHP = 80, + .baseAttack = 92, + .baseDefense = 65, + .baseSpeed = 68, + .baseSpAttack = 65, + .baseSpDefense = 80, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 60, + .expYield = 170, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_WATER_VEIL, + .safariZoneFleeRate = 6, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_STARYU] = + { + .baseHP = 30, + .baseAttack = 45, + .baseDefense = 55, + .baseSpeed = 85, + .baseSpAttack = 70, + .baseSpDefense = 55, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 225, + .expYield = 106, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_STARDUST, + .item2 = ITEM_STAR_PIECE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_ILLUMINATE, + .ability2 = ABILITY_NATURAL_CURE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_STARMIE] = + { + .baseHP = 60, + .baseAttack = 75, + .baseDefense = 85, + .baseSpeed = 115, + .baseSpAttack = 100, + .baseSpDefense = 85, + .type1 = TYPE_WATER, + .type2 = TYPE_PSYCHIC, + .catchRate = 60, + .expYield = 207, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_STARDUST, + .item2 = ITEM_STAR_PIECE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_ILLUMINATE, + .ability2 = ABILITY_NATURAL_CURE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_MR_MIME] = + { + .baseHP = 40, + .baseAttack = 45, + .baseDefense = 65, + .baseSpeed = 90, + .baseSpAttack = 100, + .baseSpDefense = 120, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 136, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_LEPPA_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_SOUNDPROOF, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_SCYTHER] = + { + .baseHP = 70, + .baseAttack = 110, + .baseDefense = 80, + .baseSpeed = 105, + .baseSpAttack = 55, + .baseSpDefense = 80, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 187, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_JYNX] = + { + .baseHP = 65, + .baseAttack = 50, + .baseDefense = 35, + .baseSpeed = 95, + .baseSpAttack = 115, + .baseSpDefense = 95, + .type1 = TYPE_ICE, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 137, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_ASPEAR_BERRY, + .item2 = ITEM_ASPEAR_BERRY, + .genderRatio = MON_FEMALE, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_ELECTABUZZ] = + { + .baseHP = 65, + .baseAttack = 83, + .baseDefense = 57, + .baseSpeed = 105, + .baseSpAttack = 95, + .baseSpDefense = 85, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 45, + .expYield = 156, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = TRUE, + }, + + [SPECIES_MAGMAR] = + { + .baseHP = 65, + .baseAttack = 95, + .baseDefense = 57, + .baseSpeed = 93, + .baseSpAttack = 100, + .baseSpDefense = 85, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 167, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_FLAME_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_PINSIR] = + { + .baseHP = 65, + .baseAttack = 125, + .baseDefense = 100, + .baseSpeed = 85, + .baseSpAttack = 55, + .baseSpDefense = 70, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 45, + .expYield = 200, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 8, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_TAUROS] = + { + .baseHP = 75, + .baseAttack = 100, + .baseDefense = 95, + .baseSpeed = 110, + .baseSpAttack = 40, + .baseSpDefense = 70, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 211, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_MAGIKARP] = + { + .baseHP = 20, + .baseAttack = 10, + .baseDefense = 55, + .baseSpeed = 80, + .baseSpAttack = 15, + .baseSpDefense = 20, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 255, + .expYield = 20, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 5, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 4, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_GYARADOS] = + { + .baseHP = 95, + .baseAttack = 125, + .baseDefense = 79, + .baseSpeed = 81, + .baseSpAttack = 60, + .baseSpDefense = 100, + .type1 = TYPE_WATER, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 214, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 5, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_LAPRAS] = + { + .baseHP = 130, + .baseAttack = 85, + .baseDefense = 80, + .baseSpeed = 60, + .baseSpAttack = 85, + .baseSpDefense = 95, + .type1 = TYPE_WATER, + .type2 = TYPE_ICE, + .catchRate = 45, + .expYield = 219, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_WATER_ABSORB, + .ability2 = ABILITY_SHELL_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_DITTO] = + { + .baseHP = 48, + .baseAttack = 48, + .baseDefense = 48, + .baseSpeed = 48, + .baseSpAttack = 48, + .baseSpDefense = 48, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 35, + .expYield = 61, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_METAL_POWDER, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_DITTO, + .eggGroup2 = EGG_GROUP_DITTO, + .ability1 = ABILITY_LIMBER, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_EEVEE] = + { + .baseHP = 55, + .baseAttack = 55, + .baseDefense = 50, + .baseSpeed = 55, + .baseSpAttack = 45, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 92, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 35, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_VAPOREON] = + { + .baseHP = 130, + .baseAttack = 65, + .baseDefense = 60, + .baseSpeed = 65, + .baseSpAttack = 110, + .baseSpDefense = 95, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 196, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 35, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_WATER_ABSORB, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_JOLTEON] = + { + .baseHP = 65, + .baseAttack = 65, + .baseDefense = 60, + .baseSpeed = 130, + .baseSpAttack = 110, + .baseSpDefense = 95, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 45, + .expYield = 197, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 35, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_VOLT_ABSORB, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_FLAREON] = + { + .baseHP = 65, + .baseAttack = 130, + .baseDefense = 60, + .baseSpeed = 65, + .baseSpAttack = 95, + .baseSpDefense = 110, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 198, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 35, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_FLASH_FIRE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_PORYGON] = + { + .baseHP = 65, + .baseAttack = 60, + .baseDefense = 70, + .baseSpeed = 40, + .baseSpAttack = 85, + .baseSpDefense = 75, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 130, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_TRACE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_OMANYTE] = + { + .baseHP = 35, + .baseAttack = 40, + .baseDefense = 100, + .baseSpeed = 35, + .baseSpAttack = 90, + .baseSpDefense = 55, + .type1 = TYPE_ROCK, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 120, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_SHELL_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_OMASTAR] = + { + .baseHP = 70, + .baseAttack = 60, + .baseDefense = 125, + .baseSpeed = 55, + .baseSpAttack = 115, + .baseSpDefense = 70, + .type1 = TYPE_ROCK, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 199, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_SHELL_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_KABUTO] = + { + .baseHP = 30, + .baseAttack = 80, + .baseDefense = 90, + .baseSpeed = 55, + .baseSpAttack = 55, + .baseSpDefense = 45, + .type1 = TYPE_ROCK, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 119, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_BATTLE_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_KABUTOPS] = + { + .baseHP = 60, + .baseAttack = 115, + .baseDefense = 105, + .baseSpeed = 80, + .baseSpAttack = 65, + .baseSpDefense = 70, + .type1 = TYPE_ROCK, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 201, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_BATTLE_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_AERODACTYL] = + { + .baseHP = 80, + .baseAttack = 105, + .baseDefense = 65, + .baseSpeed = 130, + .baseSpAttack = 60, + .baseSpDefense = 75, + .type1 = TYPE_ROCK, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 202, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 35, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_PRESSURE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_SNORLAX] = + { + .baseHP = 160, + .baseAttack = 110, + .baseDefense = 65, + .baseSpeed = 30, + .baseSpAttack = 65, + .baseSpDefense = 110, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 25, + .expYield = 154, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_LEFTOVERS, + .item2 = ITEM_LEFTOVERS, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 40, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_IMMUNITY, + .ability2 = ABILITY_THICK_FAT, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_ARTICUNO] = + { + .baseHP = 90, + .baseAttack = 85, + .baseDefense = 100, + .baseSpeed = 85, + .baseSpAttack = 95, + .baseSpDefense = 125, + .type1 = TYPE_ICE, + .type2 = TYPE_FLYING, + .catchRate = 3, + .expYield = 215, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_ZAPDOS] = + { + .baseHP = 90, + .baseAttack = 90, + .baseDefense = 85, + .baseSpeed = 100, + .baseSpAttack = 125, + .baseSpDefense = 90, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_FLYING, + .catchRate = 3, + .expYield = 216, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_MOLTRES] = + { + .baseHP = 90, + .baseAttack = 100, + .baseDefense = 90, + .baseSpeed = 90, + .baseSpAttack = 125, + .baseSpDefense = 85, + .type1 = TYPE_FIRE, + .type2 = TYPE_FLYING, + .catchRate = 3, + .expYield = 217, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_DRATINI] = + { + .baseHP = 41, + .baseAttack = 64, + .baseDefense = 45, + .baseSpeed = 50, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_DRAGON, + .type2 = TYPE_DRAGON, + .catchRate = 45, + .expYield = 67, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_DRAGONAIR] = + { + .baseHP = 61, + .baseAttack = 84, + .baseDefense = 65, + .baseSpeed = 70, + .baseSpAttack = 70, + .baseSpDefense = 70, + .type1 = TYPE_DRAGON, + .type2 = TYPE_DRAGON, + .catchRate = 45, + .expYield = 144, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_DRAGONITE] = + { + .baseHP = 91, + .baseAttack = 134, + .baseDefense = 95, + .baseSpeed = 80, + .baseSpAttack = 100, + .baseSpDefense = 100, + .type1 = TYPE_DRAGON, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 218, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_MEWTWO] = + { + .baseHP = 106, + .baseAttack = 110, + .baseDefense = 90, + .baseSpeed = 130, + .baseSpAttack = 154, + .baseSpDefense = 90, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 220, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_MEW] = + { + .baseHP = 100, + .baseAttack = 100, + .baseDefense = 100, + .baseSpeed = 100, + .baseSpAttack = 100, + .baseSpDefense = 100, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 64, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_LUM_BERRY, + .item2 = ITEM_LUM_BERRY, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 100, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_CHIKORITA] = + { + .baseHP = 45, + .baseAttack = 49, + .baseDefense = 65, + .baseSpeed = 45, + .baseSpAttack = 49, + .baseSpDefense = 65, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 64, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_BAYLEEF] = + { + .baseHP = 60, + .baseAttack = 62, + .baseDefense = 80, + .baseSpeed = 60, + .baseSpAttack = 63, + .baseSpDefense = 80, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 141, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_MEGANIUM] = + { + .baseHP = 80, + .baseAttack = 82, + .baseDefense = 100, + .baseSpeed = 80, + .baseSpAttack = 83, + .baseSpDefense = 100, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 208, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_CYNDAQUIL] = + { + .baseHP = 39, + .baseAttack = 52, + .baseDefense = 43, + .baseSpeed = 65, + .baseSpAttack = 60, + .baseSpDefense = 50, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 65, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_QUILAVA] = + { + .baseHP = 58, + .baseAttack = 64, + .baseDefense = 58, + .baseSpeed = 80, + .baseSpAttack = 80, + .baseSpDefense = 65, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 142, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_TYPHLOSION] = + { + .baseHP = 78, + .baseAttack = 84, + .baseDefense = 78, + .baseSpeed = 100, + .baseSpAttack = 109, + .baseSpDefense = 85, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 209, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_TOTODILE] = + { + .baseHP = 50, + .baseAttack = 65, + .baseDefense = 64, + .baseSpeed = 43, + .baseSpAttack = 44, + .baseSpDefense = 48, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 66, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_CROCONAW] = + { + .baseHP = 65, + .baseAttack = 80, + .baseDefense = 80, + .baseSpeed = 58, + .baseSpAttack = 59, + .baseSpDefense = 63, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 143, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = TRUE, + }, + + [SPECIES_FERALIGATR] = + { + .baseHP = 85, + .baseAttack = 105, + .baseDefense = 100, + .baseSpeed = 78, + .baseSpAttack = 79, + .baseSpDefense = 83, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 210, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SENTRET] = + { + .baseHP = 35, + .baseAttack = 46, + .baseDefense = 34, + .baseSpeed = 20, + .baseSpAttack = 35, + .baseSpDefense = 45, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 255, + .expYield = 57, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_ORAN_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_KEEN_EYE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_FURRET] = + { + .baseHP = 85, + .baseAttack = 76, + .baseDefense = 64, + .baseSpeed = 90, + .baseSpAttack = 45, + .baseSpDefense = 55, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 90, + .expYield = 116, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_ORAN_BERRY, + .item2 = ITEM_SITRUS_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_KEEN_EYE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_HOOTHOOT] = + { + .baseHP = 60, + .baseAttack = 30, + .baseDefense = 30, + .baseSpeed = 50, + .baseSpAttack = 36, + .baseSpDefense = 56, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 255, + .expYield = 58, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_INSOMNIA, + .ability2 = ABILITY_KEEN_EYE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_NOCTOWL] = + { + .baseHP = 100, + .baseAttack = 50, + .baseDefense = 50, + .baseSpeed = 70, + .baseSpAttack = 76, + .baseSpDefense = 96, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 90, + .expYield = 162, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_INSOMNIA, + .ability2 = ABILITY_KEEN_EYE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_LEDYBA] = + { + .baseHP = 40, + .baseAttack = 20, + .baseDefense = 30, + .baseSpeed = 55, + .baseSpAttack = 40, + .baseSpDefense = 80, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 255, + .expYield = 54, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_LEDIAN] = + { + .baseHP = 55, + .baseAttack = 35, + .baseDefense = 50, + .baseSpeed = 85, + .baseSpAttack = 55, + .baseSpDefense = 110, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 90, + .expYield = 134, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SPINARAK] = + { + .baseHP = 40, + .baseAttack = 60, + .baseDefense = 40, + .baseSpeed = 30, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 255, + .expYield = 54, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_INSOMNIA, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_ARIADOS] = + { + .baseHP = 70, + .baseAttack = 90, + .baseDefense = 70, + .baseSpeed = 40, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 90, + .expYield = 134, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_INSOMNIA, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_CROBAT] = + { + .baseHP = 85, + .baseAttack = 90, + .baseDefense = 80, + .baseSpeed = 130, + .baseSpAttack = 70, + .baseSpDefense = 80, + .type1 = TYPE_POISON, + .type2 = TYPE_FLYING, + .catchRate = 90, + .expYield = 204, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 3, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_CHINCHOU] = + { + .baseHP = 75, + .baseAttack = 38, + .baseDefense = 38, + .baseSpeed = 67, + .baseSpAttack = 56, + .baseSpDefense = 56, + .type1 = TYPE_WATER, + .type2 = TYPE_ELECTRIC, + .catchRate = 190, + .expYield = 90, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_YELLOW_SHARD, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_VOLT_ABSORB, + .ability2 = ABILITY_ILLUMINATE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_LANTURN] = + { + .baseHP = 125, + .baseAttack = 58, + .baseDefense = 58, + .baseSpeed = 67, + .baseSpAttack = 76, + .baseSpDefense = 76, + .type1 = TYPE_WATER, + .type2 = TYPE_ELECTRIC, + .catchRate = 75, + .expYield = 156, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_YELLOW_SHARD, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_VOLT_ABSORB, + .ability2 = ABILITY_ILLUMINATE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_PICHU] = + { + .baseHP = 20, + .baseAttack = 40, + .baseDefense = 15, + .baseSpeed = 60, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 190, + .expYield = 42, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_ORAN_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_CLEFFA] = + { + .baseHP = 50, + .baseAttack = 25, + .baseDefense = 28, + .baseSpeed = 15, + .baseSpAttack = 45, + .baseSpDefense = 55, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 150, + .expYield = 37, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_LEPPA_BERRY, + .item2 = ITEM_MOON_STONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 10, + .friendship = 140, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_IGGLYBUFF] = + { + .baseHP = 90, + .baseAttack = 30, + .baseDefense = 15, + .baseSpeed = 15, + .baseSpAttack = 40, + .baseSpDefense = 20, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 170, + .expYield = 39, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = TRUE, + }, + + [SPECIES_TOGEPI] = + { + .baseHP = 35, + .baseAttack = 20, + .baseDefense = 65, + .baseSpeed = 20, + .baseSpAttack = 40, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 190, + .expYield = 74, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_HUSTLE, + .ability2 = ABILITY_SERENE_GRACE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_TOGETIC] = + { + .baseHP = 55, + .baseAttack = 40, + .baseDefense = 85, + .baseSpeed = 40, + .baseSpAttack = 80, + .baseSpDefense = 105, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 75, + .expYield = 114, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_HUSTLE, + .ability2 = ABILITY_SERENE_GRACE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_NATU] = + { + .baseHP = 40, + .baseAttack = 50, + .baseDefense = 45, + .baseSpeed = 70, + .baseSpAttack = 70, + .baseSpDefense = 45, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_FLYING, + .catchRate = 190, + .expYield = 73, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 6, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_XATU] = + { + .baseHP = 65, + .baseAttack = 75, + .baseDefense = 70, + .baseSpeed = 95, + .baseSpAttack = 95, + .baseSpDefense = 70, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_FLYING, + .catchRate = 75, + .expYield = 171, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 8, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_MAREEP] = + { + .baseHP = 55, + .baseAttack = 40, + .baseDefense = 40, + .baseSpeed = 35, + .baseSpAttack = 65, + .baseSpDefense = 45, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 235, + .expYield = 59, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_FLAAFFY] = + { + .baseHP = 70, + .baseAttack = 55, + .baseDefense = 55, + .baseSpeed = 45, + .baseSpAttack = 80, + .baseSpDefense = 60, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 120, + .expYield = 117, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_AMPHAROS] = + { + .baseHP = 90, + .baseAttack = 75, + .baseDefense = 75, + .baseSpeed = 55, + .baseSpAttack = 115, + .baseSpDefense = 90, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 45, + .expYield = 194, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_BELLOSSOM] = + { + .baseHP = 75, + .baseAttack = 80, + .baseDefense = 85, + .baseSpeed = 50, + .baseSpAttack = 90, + .baseSpDefense = 100, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 184, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_MARILL] = + { + .baseHP = 70, + .baseAttack = 20, + .baseDefense = 50, + .baseSpeed = 40, + .baseSpAttack = 20, + .baseSpDefense = 50, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 190, + .expYield = 58, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_HUGE_POWER, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_AZUMARILL] = + { + .baseHP = 100, + .baseAttack = 50, + .baseDefense = 80, + .baseSpeed = 50, + .baseSpAttack = 50, + .baseSpDefense = 80, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 75, + .expYield = 153, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_HUGE_POWER, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SUDOWOODO] = + { + .baseHP = 70, + .baseAttack = 100, + .baseDefense = 115, + .baseSpeed = 30, + .baseSpAttack = 30, + .baseSpDefense = 65, + .type1 = TYPE_ROCK, + .type2 = TYPE_ROCK, + .catchRate = 65, + .expYield = 135, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_ROCK_HEAD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_POLITOED] = + { + .baseHP = 90, + .baseAttack = 75, + .baseDefense = 75, + .baseSpeed = 70, + .baseSpAttack = 90, + .baseSpDefense = 100, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 185, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_KINGS_ROCK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_WATER_ABSORB, + .ability2 = ABILITY_DAMP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = TRUE, + }, + + [SPECIES_HOPPIP] = + { + .baseHP = 35, + .baseAttack = 35, + .baseDefense = 40, + .baseSpeed = 50, + .baseSpAttack = 35, + .baseSpDefense = 55, + .type1 = TYPE_GRASS, + .type2 = TYPE_FLYING, + .catchRate = 255, + .expYield = 74, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_SKIPLOOM] = + { + .baseHP = 55, + .baseAttack = 45, + .baseDefense = 50, + .baseSpeed = 80, + .baseSpAttack = 45, + .baseSpDefense = 65, + .type1 = TYPE_GRASS, + .type2 = TYPE_FLYING, + .catchRate = 120, + .expYield = 136, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_JUMPLUFF] = + { + .baseHP = 75, + .baseAttack = 55, + .baseDefense = 70, + .baseSpeed = 110, + .baseSpAttack = 55, + .baseSpDefense = 85, + .type1 = TYPE_GRASS, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 176, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 3, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_AIPOM] = + { + .baseHP = 55, + .baseAttack = 70, + .baseDefense = 55, + .baseSpeed = 85, + .baseSpAttack = 40, + .baseSpDefense = 55, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 94, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_PICKUP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_SUNKERN] = + { + .baseHP = 30, + .baseAttack = 30, + .baseDefense = 30, + .baseSpeed = 30, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 235, + .expYield = 52, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_SUNFLORA] = + { + .baseHP = 75, + .baseAttack = 75, + .baseDefense = 55, + .baseSpeed = 30, + .baseSpAttack = 105, + .baseSpDefense = 85, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 120, + .expYield = 146, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_YANMA] = + { + .baseHP = 65, + .baseAttack = 65, + .baseDefense = 45, + .baseSpeed = 95, + .baseSpAttack = 75, + .baseSpDefense = 45, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 75, + .expYield = 147, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SPEED_BOOST, + .ability2 = ABILITY_COMPOUND_EYES, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_WOOPER] = + { + .baseHP = 55, + .baseAttack = 45, + .baseDefense = 45, + .baseSpeed = 15, + .baseSpAttack = 25, + .baseSpDefense = 25, + .type1 = TYPE_WATER, + .type2 = TYPE_GROUND, + .catchRate = 255, + .expYield = 52, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_DAMP, + .ability2 = ABILITY_WATER_ABSORB, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_QUAGSIRE] = + { + .baseHP = 95, + .baseAttack = 85, + .baseDefense = 85, + .baseSpeed = 35, + .baseSpAttack = 65, + .baseSpDefense = 65, + .type1 = TYPE_WATER, + .type2 = TYPE_GROUND, + .catchRate = 90, + .expYield = 137, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_DAMP, + .ability2 = ABILITY_WATER_ABSORB, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_ESPEON] = + { + .baseHP = 65, + .baseAttack = 65, + .baseDefense = 60, + .baseSpeed = 110, + .baseSpAttack = 130, + .baseSpDefense = 95, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 197, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 35, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_UMBREON] = + { + .baseHP = 95, + .baseAttack = 65, + .baseDefense = 110, + .baseSpeed = 65, + .baseSpAttack = 60, + .baseSpDefense = 130, + .type1 = TYPE_DARK, + .type2 = TYPE_DARK, + .catchRate = 45, + .expYield = 197, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 35, + .friendship = 35, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_MURKROW] = + { + .baseHP = 60, + .baseAttack = 85, + .baseDefense = 42, + .baseSpeed = 91, + .baseSpAttack = 85, + .baseSpDefense = 42, + .type1 = TYPE_DARK, + .type2 = TYPE_FLYING, + .catchRate = 30, + .expYield = 107, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_INSOMNIA, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_SLOWKING] = + { + .baseHP = 95, + .baseAttack = 75, + .baseDefense = 80, + .baseSpeed = 30, + .baseSpAttack = 100, + .baseSpDefense = 110, + .type1 = TYPE_WATER, + .type2 = TYPE_PSYCHIC, + .catchRate = 70, + .expYield = 164, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_KINGS_ROCK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_OWN_TEMPO, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_MISDREAVUS] = + { + .baseHP = 60, + .baseAttack = 60, + .baseDefense = 60, + .baseSpeed = 85, + .baseSpAttack = 85, + .baseSpDefense = 85, + .type1 = TYPE_GHOST, + .type2 = TYPE_GHOST, + .catchRate = 45, + .expYield = 147, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_SPELL_TAG, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 35, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_UNOWN] = + { + .baseHP = 48, + .baseAttack = 72, + .baseDefense = 48, + .baseSpeed = 48, + .baseSpAttack = 72, + .baseSpDefense = 48, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 225, + .expYield = 61, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 40, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = TRUE, + }, + + [SPECIES_WOBBUFFET] = + { + .baseHP = 190, + .baseAttack = 33, + .baseDefense = 58, + .baseSpeed = 33, + .baseSpAttack = 33, + .baseSpDefense = 58, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 177, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_SHADOW_TAG, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 4, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_GIRAFARIG] = + { + .baseHP = 70, + .baseAttack = 80, + .baseDefense = 65, + .baseSpeed = 85, + .baseSpAttack = 90, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_PSYCHIC, + .catchRate = 60, + .expYield = 149, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_PERSIM_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 4, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_PINECO] = + { + .baseHP = 50, + .baseAttack = 65, + .baseDefense = 90, + .baseSpeed = 15, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 190, + .expYield = 60, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_FORRETRESS] = + { + .baseHP = 75, + .baseAttack = 90, + .baseDefense = 140, + .baseSpeed = 40, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_BUG, + .type2 = TYPE_STEEL, + .catchRate = 75, + .expYield = 118, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_DUNSPARCE] = + { + .baseHP = 100, + .baseAttack = 70, + .baseDefense = 70, + .baseSpeed = 45, + .baseSpAttack = 65, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 190, + .expYield = 75, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SERENE_GRACE, + .ability2 = ABILITY_RUN_AWAY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_GLIGAR] = + { + .baseHP = 65, + .baseAttack = 75, + .baseDefense = 105, + .baseSpeed = 85, + .baseSpAttack = 35, + .baseSpDefense = 65, + .type1 = TYPE_GROUND, + .type2 = TYPE_FLYING, + .catchRate = 60, + .expYield = 108, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_SAND_VEIL, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_STEELIX] = + { + .baseHP = 75, + .baseAttack = 85, + .baseDefense = 200, + .baseSpeed = 30, + .baseSpAttack = 55, + .baseSpDefense = 65, + .type1 = TYPE_STEEL, + .type2 = TYPE_GROUND, + .catchRate = 25, + .expYield = 196, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_METAL_COAT, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_SNUBBULL] = + { + .baseHP = 60, + .baseAttack = 80, + .baseDefense = 50, + .baseSpeed = 30, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 190, + .expYield = 63, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_RUN_AWAY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_GRANBULL] = + { + .baseHP = 90, + .baseAttack = 120, + .baseDefense = 75, + .baseSpeed = 45, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 75, + .expYield = 178, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_INTIMIDATE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_QWILFISH] = + { + .baseHP = 65, + .baseAttack = 95, + .baseDefense = 75, + .baseSpeed = 85, + .baseSpAttack = 55, + .baseSpDefense = 55, + .type1 = TYPE_WATER, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 100, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_SWIFT_SWIM, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_SCIZOR] = + { + .baseHP = 70, + .baseAttack = 130, + .baseDefense = 100, + .baseSpeed = 65, + .baseSpAttack = 55, + .baseSpDefense = 80, + .type1 = TYPE_BUG, + .type2 = TYPE_STEEL, + .catchRate = 25, + .expYield = 200, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SHUCKLE] = + { + .baseHP = 20, + .baseAttack = 10, + .baseDefense = 230, + .baseSpeed = 5, + .baseSpAttack = 10, + .baseSpDefense = 230, + .type1 = TYPE_BUG, + .type2 = TYPE_ROCK, + .catchRate = 190, + .expYield = 80, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_ORAN_BERRY, + .item2 = ITEM_ORAN_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_HERACROSS] = + { + .baseHP = 80, + .baseAttack = 125, + .baseDefense = 75, + .baseSpeed = 85, + .baseSpAttack = 40, + .baseSpDefense = 95, + .type1 = TYPE_BUG, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 200, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_GUTS, + .safariZoneFleeRate = 8, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SNEASEL] = + { + .baseHP = 55, + .baseAttack = 95, + .baseDefense = 55, + .baseSpeed = 115, + .baseSpAttack = 35, + .baseSpDefense = 75, + .type1 = TYPE_DARK, + .type2 = TYPE_ICE, + .catchRate = 60, + .expYield = 132, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_QUICK_CLAW, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_KEEN_EYE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = TRUE, + }, + + [SPECIES_TEDDIURSA] = + { + .baseHP = 60, + .baseAttack = 80, + .baseDefense = 50, + .baseSpeed = 40, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 120, + .expYield = 124, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_PICKUP, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = TRUE, + }, + + [SPECIES_URSARING] = + { + .baseHP = 90, + .baseAttack = 130, + .baseDefense = 75, + .baseSpeed = 55, + .baseSpAttack = 75, + .baseSpDefense = 75, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 60, + .expYield = 189, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SLUGMA] = + { + .baseHP = 40, + .baseAttack = 40, + .baseDefense = 40, + .baseSpeed = 20, + .baseSpAttack = 70, + .baseSpDefense = 40, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 190, + .expYield = 78, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_MAGMA_ARMOR, + .ability2 = ABILITY_FLAME_BODY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_MAGCARGO] = + { + .baseHP = 50, + .baseAttack = 50, + .baseDefense = 120, + .baseSpeed = 30, + .baseSpAttack = 80, + .baseSpDefense = 80, + .type1 = TYPE_FIRE, + .type2 = TYPE_ROCK, + .catchRate = 75, + .expYield = 154, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_MAGMA_ARMOR, + .ability2 = ABILITY_FLAME_BODY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SWINUB] = + { + .baseHP = 50, + .baseAttack = 50, + .baseDefense = 40, + .baseSpeed = 50, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_ICE, + .type2 = TYPE_GROUND, + .catchRate = 225, + .expYield = 78, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_PILOSWINE] = + { + .baseHP = 100, + .baseAttack = 100, + .baseDefense = 80, + .baseSpeed = 50, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_ICE, + .type2 = TYPE_GROUND, + .catchRate = 75, + .expYield = 160, + .evYield_HP = 1, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_CORSOLA] = + { + .baseHP = 55, + .baseAttack = 55, + .baseDefense = 85, + .baseSpeed = 35, + .baseSpAttack = 65, + .baseSpDefense = 85, + .type1 = TYPE_WATER, + .type2 = TYPE_ROCK, + .catchRate = 60, + .expYield = 113, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_RED_SHARD, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_HUSTLE, + .ability2 = ABILITY_NATURAL_CURE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_REMORAID] = + { + .baseHP = 35, + .baseAttack = 65, + .baseDefense = 35, + .baseSpeed = 65, + .baseSpAttack = 65, + .baseSpDefense = 35, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 190, + .expYield = 78, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_HUSTLE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_OCTILLERY] = + { + .baseHP = 75, + .baseAttack = 105, + .baseDefense = 75, + .baseSpeed = 45, + .baseSpAttack = 105, + .baseSpDefense = 75, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 75, + .expYield = 164, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_SUCTION_CUPS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_DELIBIRD] = + { + .baseHP = 45, + .baseAttack = 55, + .baseDefense = 45, + .baseSpeed = 75, + .baseSpAttack = 65, + .baseSpDefense = 45, + .type1 = TYPE_ICE, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 183, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_VITAL_SPIRIT, + .ability2 = ABILITY_HUSTLE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_MANTINE] = + { + .baseHP = 65, + .baseAttack = 40, + .baseDefense = 70, + .baseSpeed = 70, + .baseSpAttack = 80, + .baseSpDefense = 140, + .type1 = TYPE_WATER, + .type2 = TYPE_FLYING, + .catchRate = 25, + .expYield = 168, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_WATER_ABSORB, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_SKARMORY] = + { + .baseHP = 65, + .baseAttack = 80, + .baseDefense = 140, + .baseSpeed = 70, + .baseSpAttack = 40, + .baseSpDefense = 70, + .type1 = TYPE_STEEL, + .type2 = TYPE_FLYING, + .catchRate = 25, + .expYield = 168, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_HOUNDOUR] = + { + .baseHP = 45, + .baseAttack = 60, + .baseDefense = 30, + .baseSpeed = 65, + .baseSpAttack = 80, + .baseSpDefense = 50, + .type1 = TYPE_DARK, + .type2 = TYPE_FIRE, + .catchRate = 120, + .expYield = 114, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_EARLY_BIRD, + .ability2 = ABILITY_FLASH_FIRE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_HOUNDOOM] = + { + .baseHP = 75, + .baseAttack = 90, + .baseDefense = 50, + .baseSpeed = 95, + .baseSpAttack = 110, + .baseSpDefense = 80, + .type1 = TYPE_DARK, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 204, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_EARLY_BIRD, + .ability2 = ABILITY_FLASH_FIRE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_KINGDRA] = + { + .baseHP = 75, + .baseAttack = 95, + .baseDefense = 95, + .baseSpeed = 85, + .baseSpAttack = 95, + .baseSpDefense = 95, + .type1 = TYPE_WATER, + .type2 = TYPE_DRAGON, + .catchRate = 45, + .expYield = 207, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_PHANPY] = + { + .baseHP = 90, + .baseAttack = 60, + .baseDefense = 60, + .baseSpeed = 40, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 120, + .expYield = 124, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_PICKUP, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 10, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_DONPHAN] = + { + .baseHP = 90, + .baseAttack = 120, + .baseDefense = 120, + .baseSpeed = 50, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 60, + .expYield = 189, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_PORYGON2] = + { + .baseHP = 85, + .baseAttack = 80, + .baseDefense = 90, + .baseSpeed = 60, + .baseSpAttack = 105, + .baseSpDefense = 95, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 180, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_TRACE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_STANTLER] = + { + .baseHP = 73, + .baseAttack = 95, + .baseDefense = 62, + .baseSpeed = 85, + .baseSpAttack = 85, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 165, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SMEARGLE] = + { + .baseHP = 55, + .baseAttack = 20, + .baseDefense = 35, + .baseSpeed = 75, + .baseSpAttack = 20, + .baseSpDefense = 45, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 106, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_OWN_TEMPO, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_TYROGUE] = + { + .baseHP = 35, + .baseAttack = 35, + .baseDefense = 35, + .baseSpeed = 35, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 75, + .expYield = 91, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_HITMONTOP] = + { + .baseHP = 50, + .baseAttack = 95, + .baseDefense = 95, + .baseSpeed = 70, + .baseSpAttack = 35, + .baseSpDefense = 110, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 138, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SMOOCHUM] = + { + .baseHP = 45, + .baseAttack = 30, + .baseDefense = 15, + .baseSpeed = 65, + .baseSpAttack = 85, + .baseSpDefense = 65, + .type1 = TYPE_ICE, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 87, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_ASPEAR_BERRY, + .item2 = ITEM_ASPEAR_BERRY, + .genderRatio = MON_FEMALE, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_ELEKID] = + { + .baseHP = 45, + .baseAttack = 63, + .baseDefense = 37, + .baseSpeed = 95, + .baseSpAttack = 65, + .baseSpDefense = 55, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 45, + .expYield = 106, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = TRUE, + }, + + [SPECIES_MAGBY] = + { + .baseHP = 45, + .baseAttack = 75, + .baseDefense = 37, + .baseSpeed = 83, + .baseSpAttack = 70, + .baseSpDefense = 55, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 117, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_FLAME_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_MILTANK] = + { + .baseHP = 95, + .baseAttack = 80, + .baseDefense = 105, + .baseSpeed = 100, + .baseSpAttack = 40, + .baseSpDefense = 70, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 200, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_MOOMOO_MILK, + .item2 = ITEM_MOOMOO_MILK, + .genderRatio = MON_FEMALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_BLISSEY] = + { + .baseHP = 255, + .baseAttack = 10, + .baseDefense = 10, + .baseSpeed = 55, + .baseSpAttack = 75, + .baseSpDefense = 135, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 30, + .expYield = 255, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_LUCKY_EGG, + .genderRatio = MON_FEMALE, + .eggCycles = 40, + .friendship = 140, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_NATURAL_CURE, + .ability2 = ABILITY_SERENE_GRACE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_RAIKOU] = + { + .baseHP = 90, + .baseAttack = 85, + .baseDefense = 75, + .baseSpeed = 115, + .baseSpAttack = 115, + .baseSpDefense = 100, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 3, + .expYield = 216, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_ENTEI] = + { + .baseHP = 115, + .baseAttack = 115, + .baseDefense = 85, + .baseSpeed = 100, + .baseSpAttack = 90, + .baseSpDefense = 75, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 3, + .expYield = 217, + .evYield_HP = 1, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SUICUNE] = + { + .baseHP = 100, + .baseAttack = 75, + .baseDefense = 115, + .baseSpeed = 85, + .baseSpAttack = 90, + .baseSpDefense = 115, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 3, + .expYield = 215, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_LARVITAR] = + { + .baseHP = 50, + .baseAttack = 64, + .baseDefense = 50, + .baseSpeed = 41, + .baseSpAttack = 45, + .baseSpDefense = 50, + .type1 = TYPE_ROCK, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 67, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_PUPITAR] = + { + .baseHP = 70, + .baseAttack = 84, + .baseDefense = 70, + .baseSpeed = 51, + .baseSpAttack = 65, + .baseSpDefense = 70, + .type1 = TYPE_ROCK, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 144, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_TYRANITAR] = + { + .baseHP = 100, + .baseAttack = 134, + .baseDefense = 110, + .baseSpeed = 61, + .baseSpAttack = 95, + .baseSpDefense = 100, + .type1 = TYPE_ROCK, + .type2 = TYPE_DARK, + .catchRate = 45, + .expYield = 218, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_SAND_STREAM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_LUGIA] = + { + .baseHP = 106, + .baseAttack = 90, + .baseDefense = 130, + .baseSpeed = 110, + .baseSpAttack = 90, + .baseSpDefense = 154, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_FLYING, + .catchRate = 3, + .expYield = 220, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_HO_OH] = + { + .baseHP = 106, + .baseAttack = 130, + .baseDefense = 90, + .baseSpeed = 90, + .baseSpAttack = 110, + .baseSpDefense = 154, + .type1 = TYPE_FIRE, + .type2 = TYPE_FLYING, + .catchRate = 3, + .expYield = 220, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_SACRED_ASH, + .item2 = ITEM_SACRED_ASH, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_CELEBI] = + { + .baseHP = 100, + .baseAttack = 100, + .baseDefense = 100, + .baseSpeed = 100, + .baseSpAttack = 100, + .baseSpDefense = 100, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 64, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_LUM_BERRY, + .item2 = ITEM_LUM_BERRY, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 100, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NATURAL_CURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_B] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_C] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_D] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_E] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_F] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_G] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_H] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_I] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_J] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_K] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_L] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_M] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_N] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_O] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_P] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_Q] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_R] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_S] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_T] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_U] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_V] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_W] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_X] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_Y] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_Z] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_TREECKO] = + { + .baseHP = 40, + .baseAttack = 45, + .baseDefense = 35, + .baseSpeed = 70, + .baseSpAttack = 65, + .baseSpDefense = 55, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 65, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_GROVYLE] = + { + .baseHP = 50, + .baseAttack = 65, + .baseDefense = 45, + .baseSpeed = 95, + .baseSpAttack = 85, + .baseSpDefense = 65, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 141, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_SCEPTILE] = + { + .baseHP = 70, + .baseAttack = 85, + .baseDefense = 65, + .baseSpeed = 120, + .baseSpAttack = 105, + .baseSpDefense = 85, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 208, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 3, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_TORCHIC] = + { + .baseHP = 45, + .baseAttack = 60, + .baseDefense = 40, + .baseSpeed = 45, + .baseSpAttack = 70, + .baseSpDefense = 50, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 65, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_COMBUSKEN] = + { + .baseHP = 60, + .baseAttack = 85, + .baseDefense = 60, + .baseSpeed = 55, + .baseSpAttack = 85, + .baseSpDefense = 60, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 142, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_BLAZIKEN] = + { + .baseHP = 80, + .baseAttack = 120, + .baseDefense = 70, + .baseSpeed = 80, + .baseSpAttack = 110, + .baseSpDefense = 70, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 209, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_MUDKIP] = + { + .baseHP = 50, + .baseAttack = 70, + .baseDefense = 50, + .baseSpeed = 40, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 65, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_MARSHTOMP] = + { + .baseHP = 70, + .baseAttack = 85, + .baseDefense = 70, + .baseSpeed = 50, + .baseSpAttack = 60, + .baseSpDefense = 70, + .type1 = TYPE_WATER, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 143, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SWAMPERT] = + { + .baseHP = 100, + .baseAttack = 110, + .baseDefense = 90, + .baseSpeed = 60, + .baseSpAttack = 85, + .baseSpDefense = 90, + .type1 = TYPE_WATER, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 210, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_POOCHYENA] = + { + .baseHP = 35, + .baseAttack = 55, + .baseDefense = 35, + .baseSpeed = 35, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_DARK, + .type2 = TYPE_DARK, + .catchRate = 255, + .expYield = 55, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_PECHA_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_MIGHTYENA] = + { + .baseHP = 70, + .baseAttack = 90, + .baseDefense = 70, + .baseSpeed = 70, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_DARK, + .type2 = TYPE_DARK, + .catchRate = 127, + .expYield = 128, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_PECHA_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_ZIGZAGOON] = + { + .baseHP = 38, + .baseAttack = 30, + .baseDefense = 41, + .baseSpeed = 60, + .baseSpAttack = 30, + .baseSpDefense = 41, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 255, + .expYield = 60, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_ORAN_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_PICKUP, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_LINOONE] = + { + .baseHP = 78, + .baseAttack = 70, + .baseDefense = 61, + .baseSpeed = 100, + .baseSpAttack = 50, + .baseSpDefense = 61, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 90, + .expYield = 128, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_ORAN_BERRY, + .item2 = ITEM_SITRUS_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_PICKUP, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_WURMPLE] = + { + .baseHP = 45, + .baseAttack = 45, + .baseDefense = 35, + .baseSpeed = 20, + .baseSpAttack = 20, + .baseSpDefense = 30, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 255, + .expYield = 54, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHIELD_DUST, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SILCOON] = + { + .baseHP = 50, + .baseAttack = 35, + .baseDefense = 55, + .baseSpeed = 15, + .baseSpAttack = 25, + .baseSpDefense = 25, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 120, + .expYield = 71, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_BEAUTIFLY] = + { + .baseHP = 60, + .baseAttack = 70, + .baseDefense = 50, + .baseSpeed = 65, + .baseSpAttack = 90, + .baseSpDefense = 50, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 161, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SILVER_POWDER, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_CASCOON] = + { + .baseHP = 50, + .baseAttack = 35, + .baseDefense = 55, + .baseSpeed = 15, + .baseSpAttack = 25, + .baseSpDefense = 25, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 120, + .expYield = 72, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_DUSTOX] = + { + .baseHP = 60, + .baseAttack = 50, + .baseDefense = 70, + .baseSpeed = 65, + .baseSpAttack = 50, + .baseSpDefense = 90, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 160, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_SILVER_POWDER, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHIELD_DUST, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_LOTAD] = + { + .baseHP = 40, + .baseAttack = 30, + .baseDefense = 30, + .baseSpeed = 30, + .baseSpAttack = 40, + .baseSpDefense = 50, + .type1 = TYPE_WATER, + .type2 = TYPE_GRASS, + .catchRate = 255, + .expYield = 74, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_RAIN_DISH, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_LOMBRE] = + { + .baseHP = 60, + .baseAttack = 50, + .baseDefense = 50, + .baseSpeed = 50, + .baseSpAttack = 60, + .baseSpDefense = 70, + .type1 = TYPE_WATER, + .type2 = TYPE_GRASS, + .catchRate = 120, + .expYield = 141, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_RAIN_DISH, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_LUDICOLO] = + { + .baseHP = 80, + .baseAttack = 70, + .baseDefense = 70, + .baseSpeed = 70, + .baseSpAttack = 90, + .baseSpDefense = 100, + .type1 = TYPE_WATER, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 181, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_RAIN_DISH, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_SEEDOT] = + { + .baseHP = 40, + .baseAttack = 40, + .baseDefense = 50, + .baseSpeed = 30, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 255, + .expYield = 74, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_NUZLEAF] = + { + .baseHP = 70, + .baseAttack = 70, + .baseDefense = 40, + .baseSpeed = 60, + .baseSpAttack = 60, + .baseSpDefense = 40, + .type1 = TYPE_GRASS, + .type2 = TYPE_DARK, + .catchRate = 120, + .expYield = 141, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SHIFTRY] = + { + .baseHP = 90, + .baseAttack = 100, + .baseDefense = 60, + .baseSpeed = 80, + .baseSpAttack = 90, + .baseSpDefense = 60, + .type1 = TYPE_GRASS, + .type2 = TYPE_DARK, + .catchRate = 45, + .expYield = 181, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_NINCADA] = + { + .baseHP = 31, + .baseAttack = 45, + .baseDefense = 90, + .baseSpeed = 40, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_BUG, + .type2 = TYPE_GROUND, + .catchRate = 255, + .expYield = 65, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_COMPOUND_EYES, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_NINJASK] = + { + .baseHP = 61, + .baseAttack = 90, + .baseDefense = 45, + .baseSpeed = 160, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 120, + .expYield = 155, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SPEED_BOOST, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_SHEDINJA] = + { + .baseHP = 1, + .baseAttack = 90, + .baseDefense = 45, + .baseSpeed = 40, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_BUG, + .type2 = TYPE_GHOST, + .catchRate = 45, + .expYield = 95, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_WONDER_GUARD, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_TAILLOW] = + { + .baseHP = 40, + .baseAttack = 55, + .baseDefense = 30, + .baseSpeed = 85, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 200, + .expYield = 59, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SWELLOW] = + { + .baseHP = 60, + .baseAttack = 85, + .baseDefense = 60, + .baseSpeed = 125, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 162, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SHROOMISH] = + { + .baseHP = 60, + .baseAttack = 40, + .baseDefense = 60, + .baseSpeed = 35, + .baseSpAttack = 40, + .baseSpDefense = 60, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 255, + .expYield = 65, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_EFFECT_SPORE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_BRELOOM] = + { + .baseHP = 60, + .baseAttack = 130, + .baseDefense = 80, + .baseSpeed = 70, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_GRASS, + .type2 = TYPE_FIGHTING, + .catchRate = 90, + .expYield = 165, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_EFFECT_SPORE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_SPINDA] = + { + .baseHP = 60, + .baseAttack = 60, + .baseDefense = 60, + .baseSpeed = 60, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 255, + .expYield = 85, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_CHESTO_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_OWN_TEMPO, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = TRUE, + }, + + [SPECIES_WINGULL] = + { + .baseHP = 40, + .baseAttack = 30, + .baseDefense = 30, + .baseSpeed = 85, + .baseSpAttack = 55, + .baseSpDefense = 30, + .type1 = TYPE_WATER, + .type2 = TYPE_FLYING, + .catchRate = 190, + .expYield = 64, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_PELIPPER] = + { + .baseHP = 60, + .baseAttack = 50, + .baseDefense = 100, + .baseSpeed = 65, + .baseSpAttack = 85, + .baseSpDefense = 70, + .type1 = TYPE_WATER, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 164, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_SURSKIT] = + { + .baseHP = 40, + .baseAttack = 30, + .baseDefense = 32, + .baseSpeed = 65, + .baseSpAttack = 50, + .baseSpDefense = 52, + .type1 = TYPE_BUG, + .type2 = TYPE_WATER, + .catchRate = 200, + .expYield = 63, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_MASQUERAIN] = + { + .baseHP = 70, + .baseAttack = 60, + .baseDefense = 62, + .baseSpeed = 60, + .baseSpAttack = 80, + .baseSpDefense = 82, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 75, + .expYield = 128, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_SILVER_POWDER, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_WAILMER] = + { + .baseHP = 130, + .baseAttack = 70, + .baseDefense = 35, + .baseSpeed = 60, + .baseSpAttack = 70, + .baseSpDefense = 35, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 125, + .expYield = 137, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_WATER_VEIL, + .ability2 = ABILITY_OBLIVIOUS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_WAILORD] = + { + .baseHP = 170, + .baseAttack = 90, + .baseDefense = 45, + .baseSpeed = 60, + .baseSpAttack = 90, + .baseSpDefense = 45, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 60, + .expYield = 206, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_WATER_VEIL, + .ability2 = ABILITY_OBLIVIOUS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SKITTY] = + { + .baseHP = 50, + .baseAttack = 45, + .baseDefense = 45, + .baseSpeed = 50, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 255, + .expYield = 65, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_LEPPA_BERRY, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_DELCATTY] = + { + .baseHP = 70, + .baseAttack = 65, + .baseDefense = 65, + .baseSpeed = 70, + .baseSpAttack = 55, + .baseSpDefense = 55, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 60, + .expYield = 138, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_LEPPA_BERRY, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_KECLEON] = + { + .baseHP = 60, + .baseAttack = 90, + .baseDefense = 70, + .baseSpeed = 40, + .baseSpAttack = 60, + .baseSpDefense = 120, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 200, + .expYield = 132, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_PERSIM_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_COLOR_CHANGE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_BALTOY] = + { + .baseHP = 40, + .baseAttack = 40, + .baseDefense = 55, + .baseSpeed = 55, + .baseSpAttack = 40, + .baseSpDefense = 70, + .type1 = TYPE_GROUND, + .type2 = TYPE_PSYCHIC, + .catchRate = 255, + .expYield = 58, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_CLAYDOL] = + { + .baseHP = 60, + .baseAttack = 70, + .baseDefense = 105, + .baseSpeed = 75, + .baseSpAttack = 70, + .baseSpDefense = 120, + .type1 = TYPE_GROUND, + .type2 = TYPE_PSYCHIC, + .catchRate = 90, + .expYield = 189, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_NOSEPASS] = + { + .baseHP = 30, + .baseAttack = 45, + .baseDefense = 135, + .baseSpeed = 30, + .baseSpAttack = 45, + .baseSpDefense = 90, + .type1 = TYPE_ROCK, + .type2 = TYPE_ROCK, + .catchRate = 255, + .expYield = 108, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_MAGNET_PULL, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_TORKOAL] = + { + .baseHP = 70, + .baseAttack = 85, + .baseDefense = 140, + .baseSpeed = 20, + .baseSpAttack = 85, + .baseSpDefense = 70, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 90, + .expYield = 161, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_WHITE_SMOKE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SABLEYE] = + { + .baseHP = 50, + .baseAttack = 75, + .baseDefense = 75, + .baseSpeed = 50, + .baseSpAttack = 65, + .baseSpDefense = 65, + .type1 = TYPE_DARK, + .type2 = TYPE_GHOST, + .catchRate = 45, + .expYield = 98, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 35, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_BARBOACH] = + { + .baseHP = 50, + .baseAttack = 48, + .baseDefense = 43, + .baseSpeed = 60, + .baseSpAttack = 46, + .baseSpDefense = 41, + .type1 = TYPE_WATER, + .type2 = TYPE_GROUND, + .catchRate = 190, + .expYield = 92, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_WHISCASH] = + { + .baseHP = 110, + .baseAttack = 78, + .baseDefense = 73, + .baseSpeed = 60, + .baseSpAttack = 76, + .baseSpDefense = 71, + .type1 = TYPE_WATER, + .type2 = TYPE_GROUND, + .catchRate = 75, + .expYield = 158, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_LUVDISC] = + { + .baseHP = 43, + .baseAttack = 30, + .baseDefense = 55, + .baseSpeed = 97, + .baseSpAttack = 40, + .baseSpDefense = 65, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 225, + .expYield = 110, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_HEART_SCALE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_CORPHISH] = + { + .baseHP = 43, + .baseAttack = 80, + .baseDefense = 65, + .baseSpeed = 35, + .baseSpAttack = 50, + .baseSpDefense = 35, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 205, + .expYield = 111, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_SHELL_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_CRAWDAUNT] = + { + .baseHP = 63, + .baseAttack = 120, + .baseDefense = 85, + .baseSpeed = 55, + .baseSpAttack = 90, + .baseSpDefense = 55, + .type1 = TYPE_WATER, + .type2 = TYPE_DARK, + .catchRate = 155, + .expYield = 161, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_SHELL_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_FEEBAS] = + { + .baseHP = 20, + .baseAttack = 15, + .baseDefense = 20, + .baseSpeed = 80, + .baseSpAttack = 10, + .baseSpDefense = 55, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 255, + .expYield = 61, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_MILOTIC] = + { + .baseHP = 95, + .baseAttack = 60, + .baseDefense = 79, + .baseSpeed = 81, + .baseSpAttack = 100, + .baseSpDefense = 125, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 60, + .expYield = 213, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_MARVEL_SCALE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_CARVANHA] = + { + .baseHP = 45, + .baseAttack = 90, + .baseDefense = 20, + .baseSpeed = 65, + .baseSpAttack = 65, + .baseSpDefense = 20, + .type1 = TYPE_WATER, + .type2 = TYPE_DARK, + .catchRate = 225, + .expYield = 88, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_ROUGH_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SHARPEDO] = + { + .baseHP = 70, + .baseAttack = 120, + .baseDefense = 40, + .baseSpeed = 95, + .baseSpAttack = 95, + .baseSpDefense = 40, + .type1 = TYPE_WATER, + .type2 = TYPE_DARK, + .catchRate = 60, + .expYield = 175, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_ROUGH_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_TRAPINCH] = + { + .baseHP = 45, + .baseAttack = 100, + .baseDefense = 45, + .baseSpeed = 10, + .baseSpAttack = 45, + .baseSpDefense = 45, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 255, + .expYield = 73, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SOFT_SAND, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_ARENA_TRAP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_VIBRAVA] = + { + .baseHP = 50, + .baseAttack = 70, + .baseDefense = 50, + .baseSpeed = 70, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_GROUND, + .type2 = TYPE_DRAGON, + .catchRate = 120, + .expYield = 126, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_LEVITATE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_FLYGON] = + { + .baseHP = 80, + .baseAttack = 100, + .baseDefense = 80, + .baseSpeed = 100, + .baseSpAttack = 80, + .baseSpDefense = 80, + .type1 = TYPE_GROUND, + .type2 = TYPE_DRAGON, + .catchRate = 45, + .expYield = 197, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_LEVITATE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_MAKUHITA] = + { + .baseHP = 72, + .baseAttack = 60, + .baseDefense = 30, + .baseSpeed = 25, + .baseSpAttack = 20, + .baseSpDefense = 30, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 180, + .expYield = 87, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_GUTS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_HARIYAMA] = + { + .baseHP = 144, + .baseAttack = 120, + .baseDefense = 60, + .baseSpeed = 50, + .baseSpAttack = 40, + .baseSpDefense = 60, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 200, + .expYield = 184, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_KINGS_ROCK, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_GUTS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_ELECTRIKE] = + { + .baseHP = 40, + .baseAttack = 45, + .baseDefense = 40, + .baseSpeed = 65, + .baseSpAttack = 65, + .baseSpDefense = 40, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 120, + .expYield = 104, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_LIGHTNING_ROD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_MANECTRIC] = + { + .baseHP = 70, + .baseAttack = 75, + .baseDefense = 60, + .baseSpeed = 105, + .baseSpAttack = 105, + .baseSpDefense = 60, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 45, + .expYield = 168, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_LIGHTNING_ROD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_NUMEL] = + { + .baseHP = 60, + .baseAttack = 60, + .baseDefense = 40, + .baseSpeed = 35, + .baseSpAttack = 65, + .baseSpDefense = 45, + .type1 = TYPE_FIRE, + .type2 = TYPE_GROUND, + .catchRate = 255, + .expYield = 88, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_CAMERUPT] = + { + .baseHP = 70, + .baseAttack = 100, + .baseDefense = 70, + .baseSpeed = 40, + .baseSpAttack = 105, + .baseSpDefense = 75, + .type1 = TYPE_FIRE, + .type2 = TYPE_GROUND, + .catchRate = 150, + .expYield = 175, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_MAGMA_ARMOR, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SPHEAL] = + { + .baseHP = 70, + .baseAttack = 40, + .baseDefense = 50, + .baseSpeed = 25, + .baseSpAttack = 55, + .baseSpDefense = 50, + .type1 = TYPE_ICE, + .type2 = TYPE_WATER, + .catchRate = 255, + .expYield = 75, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SEALEO] = + { + .baseHP = 90, + .baseAttack = 60, + .baseDefense = 70, + .baseSpeed = 45, + .baseSpAttack = 75, + .baseSpDefense = 70, + .type1 = TYPE_ICE, + .type2 = TYPE_WATER, + .catchRate = 120, + .expYield = 128, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_WALREIN] = + { + .baseHP = 110, + .baseAttack = 80, + .baseDefense = 90, + .baseSpeed = 65, + .baseSpAttack = 95, + .baseSpDefense = 90, + .type1 = TYPE_ICE, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 192, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_CACNEA] = + { + .baseHP = 50, + .baseAttack = 85, + .baseDefense = 40, + .baseSpeed = 35, + .baseSpAttack = 85, + .baseSpDefense = 40, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 190, + .expYield = 97, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_POISON_BARB, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_SAND_VEIL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_CACTURNE] = + { + .baseHP = 70, + .baseAttack = 115, + .baseDefense = 60, + .baseSpeed = 55, + .baseSpAttack = 115, + .baseSpDefense = 60, + .type1 = TYPE_GRASS, + .type2 = TYPE_DARK, + .catchRate = 60, + .expYield = 177, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_POISON_BARB, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_SAND_VEIL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_SNORUNT] = + { + .baseHP = 50, + .baseAttack = 50, + .baseDefense = 50, + .baseSpeed = 50, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_ICE, + .type2 = TYPE_ICE, + .catchRate = 190, + .expYield = 74, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_GLALIE] = + { + .baseHP = 80, + .baseAttack = 80, + .baseDefense = 80, + .baseSpeed = 80, + .baseSpAttack = 80, + .baseSpDefense = 80, + .type1 = TYPE_ICE, + .type2 = TYPE_ICE, + .catchRate = 75, + .expYield = 187, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NEVER_MELT_ICE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_LUNATONE] = + { + .baseHP = 70, + .baseAttack = 55, + .baseDefense = 65, + .baseSpeed = 70, + .baseSpAttack = 95, + .baseSpDefense = 85, + .type1 = TYPE_ROCK, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 150, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_MOON_STONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_SOLROCK] = + { + .baseHP = 70, + .baseAttack = 95, + .baseDefense = 85, + .baseSpeed = 70, + .baseSpAttack = 55, + .baseSpDefense = 65, + .type1 = TYPE_ROCK, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 150, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SUN_STONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_AZURILL] = + { + .baseHP = 50, + .baseAttack = 20, + .baseDefense = 40, + .baseSpeed = 20, + .baseSpAttack = 20, + .baseSpDefense = 40, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 150, + .expYield = 33, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_HUGE_POWER, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SPOINK] = + { + .baseHP = 60, + .baseAttack = 25, + .baseDefense = 35, + .baseSpeed = 60, + .baseSpAttack = 70, + .baseSpDefense = 80, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 255, + .expYield = 89, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_OWN_TEMPO, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_GRUMPIG] = + { + .baseHP = 80, + .baseAttack = 45, + .baseDefense = 65, + .baseSpeed = 80, + .baseSpAttack = 90, + .baseSpDefense = 110, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 60, + .expYield = 164, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_OWN_TEMPO, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_PLUSLE] = + { + .baseHP = 60, + .baseAttack = 50, + .baseDefense = 40, + .baseSpeed = 95, + .baseSpAttack = 85, + .baseSpDefense = 75, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 200, + .expYield = 120, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_PLUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_MINUN] = + { + .baseHP = 60, + .baseAttack = 40, + .baseDefense = 50, + .baseSpeed = 95, + .baseSpAttack = 75, + .baseSpDefense = 85, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 200, + .expYield = 120, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_MINUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_MAWILE] = + { + .baseHP = 50, + .baseAttack = 85, + .baseDefense = 85, + .baseSpeed = 50, + .baseSpAttack = 55, + .baseSpDefense = 55, + .type1 = TYPE_STEEL, + .type2 = TYPE_STEEL, + .catchRate = 45, + .expYield = 98, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_INTIMIDATE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_MEDITITE] = + { + .baseHP = 30, + .baseAttack = 40, + .baseDefense = 55, + .baseSpeed = 60, + .baseSpAttack = 40, + .baseSpDefense = 55, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_PSYCHIC, + .catchRate = 180, + .expYield = 91, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_PURE_POWER, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_MEDICHAM] = + { + .baseHP = 60, + .baseAttack = 60, + .baseDefense = 75, + .baseSpeed = 80, + .baseSpAttack = 60, + .baseSpDefense = 75, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_PSYCHIC, + .catchRate = 90, + .expYield = 153, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_PURE_POWER, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SWABLU] = + { + .baseHP = 45, + .baseAttack = 40, + .baseDefense = 60, + .baseSpeed = 50, + .baseSpAttack = 40, + .baseSpDefense = 75, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 255, + .expYield = 74, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_NATURAL_CURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_ALTARIA] = + { + .baseHP = 75, + .baseAttack = 70, + .baseDefense = 90, + .baseSpeed = 80, + .baseSpAttack = 70, + .baseSpDefense = 105, + .type1 = TYPE_DRAGON, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 188, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_NATURAL_CURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_WYNAUT] = + { + .baseHP = 95, + .baseAttack = 23, + .baseDefense = 48, + .baseSpeed = 23, + .baseSpAttack = 23, + .baseSpDefense = 48, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 125, + .expYield = 44, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_SHADOW_TAG, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_DUSKULL] = + { + .baseHP = 20, + .baseAttack = 40, + .baseDefense = 90, + .baseSpeed = 25, + .baseSpAttack = 30, + .baseSpDefense = 90, + .type1 = TYPE_GHOST, + .type2 = TYPE_GHOST, + .catchRate = 190, + .expYield = 97, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_SPELL_TAG, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 35, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_DUSCLOPS] = + { + .baseHP = 40, + .baseAttack = 70, + .baseDefense = 130, + .baseSpeed = 25, + .baseSpAttack = 60, + .baseSpDefense = 130, + .type1 = TYPE_GHOST, + .type2 = TYPE_GHOST, + .catchRate = 90, + .expYield = 179, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_SPELL_TAG, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 35, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_ROSELIA] = + { + .baseHP = 50, + .baseAttack = 60, + .baseDefense = 45, + .baseSpeed = 65, + .baseSpAttack = 100, + .baseSpDefense = 80, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 150, + .expYield = 152, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_POISON_BARB, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_NATURAL_CURE, + .ability2 = ABILITY_POISON_POINT, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = TRUE, + }, + + [SPECIES_SLAKOTH] = + { + .baseHP = 60, + .baseAttack = 60, + .baseDefense = 60, + .baseSpeed = 30, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 255, + .expYield = 83, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_TRUANT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_VIGOROTH] = + { + .baseHP = 80, + .baseAttack = 80, + .baseDefense = 80, + .baseSpeed = 90, + .baseSpAttack = 55, + .baseSpDefense = 55, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 120, + .expYield = 126, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_VITAL_SPIRIT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_SLAKING] = + { + .baseHP = 150, + .baseAttack = 160, + .baseDefense = 100, + .baseSpeed = 100, + .baseSpAttack = 95, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 210, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_TRUANT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_GULPIN] = + { + .baseHP = 70, + .baseAttack = 43, + .baseDefense = 53, + .baseSpeed = 40, + .baseSpAttack = 43, + .baseSpDefense = 53, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 225, + .expYield = 75, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_BIG_PEARL, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LIQUID_OOZE, + .ability2 = ABILITY_STICKY_HOLD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_SWALOT] = + { + .baseHP = 100, + .baseAttack = 73, + .baseDefense = 83, + .baseSpeed = 55, + .baseSpAttack = 73, + .baseSpDefense = 83, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 75, + .expYield = 168, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_BIG_PEARL, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LIQUID_OOZE, + .ability2 = ABILITY_STICKY_HOLD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_TROPIUS] = + { + .baseHP = 99, + .baseAttack = 68, + .baseDefense = 83, + .baseSpeed = 51, + .baseSpAttack = 72, + .baseSpDefense = 87, + .type1 = TYPE_GRASS, + .type2 = TYPE_FLYING, + .catchRate = 200, + .expYield = 169, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_WHISMUR] = + { + .baseHP = 64, + .baseAttack = 51, + .baseDefense = 23, + .baseSpeed = 28, + .baseSpAttack = 51, + .baseSpDefense = 23, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 190, + .expYield = 68, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_CHESTO_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SOUNDPROOF, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_LOUDRED] = + { + .baseHP = 84, + .baseAttack = 71, + .baseDefense = 43, + .baseSpeed = 48, + .baseSpAttack = 71, + .baseSpDefense = 43, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 120, + .expYield = 126, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_CHESTO_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SOUNDPROOF, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_EXPLOUD] = + { + .baseHP = 104, + .baseAttack = 91, + .baseDefense = 63, + .baseSpeed = 68, + .baseSpAttack = 91, + .baseSpDefense = 63, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 184, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_CHESTO_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SOUNDPROOF, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_CLAMPERL] = + { + .baseHP = 35, + .baseAttack = 64, + .baseDefense = 85, + .baseSpeed = 32, + .baseSpAttack = 74, + .baseSpDefense = 55, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 255, + .expYield = 142, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_BLUE_SHARD, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_SHELL_ARMOR, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_HUNTAIL] = + { + .baseHP = 55, + .baseAttack = 104, + .baseDefense = 105, + .baseSpeed = 52, + .baseSpAttack = 94, + .baseSpDefense = 75, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 60, + .expYield = 178, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_GOREBYSS] = + { + .baseHP = 55, + .baseAttack = 84, + .baseDefense = 105, + .baseSpeed = 52, + .baseSpAttack = 114, + .baseSpDefense = 75, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 60, + .expYield = 178, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_ABSOL] = + { + .baseHP = 65, + .baseAttack = 130, + .baseDefense = 60, + .baseSpeed = 75, + .baseSpAttack = 75, + .baseSpDefense = 60, + .type1 = TYPE_DARK, + .type2 = TYPE_DARK, + .catchRate = 30, + .expYield = 174, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 35, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = TRUE, + }, + + [SPECIES_SHUPPET] = + { + .baseHP = 44, + .baseAttack = 75, + .baseDefense = 35, + .baseSpeed = 45, + .baseSpAttack = 63, + .baseSpDefense = 33, + .type1 = TYPE_GHOST, + .type2 = TYPE_GHOST, + .catchRate = 225, + .expYield = 97, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SPELL_TAG, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 35, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_INSOMNIA, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_BANETTE] = + { + .baseHP = 64, + .baseAttack = 115, + .baseDefense = 65, + .baseSpeed = 65, + .baseSpAttack = 83, + .baseSpDefense = 63, + .type1 = TYPE_GHOST, + .type2 = TYPE_GHOST, + .catchRate = 45, + .expYield = 179, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SPELL_TAG, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 35, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_INSOMNIA, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_SEVIPER] = + { + .baseHP = 73, + .baseAttack = 100, + .baseDefense = 60, + .baseSpeed = 65, + .baseSpAttack = 100, + .baseSpDefense = 60, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 90, + .expYield = 165, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = TRUE, + }, + + [SPECIES_ZANGOOSE] = + { + .baseHP = 73, + .baseAttack = 115, + .baseDefense = 60, + .baseSpeed = 90, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 90, + .expYield = 165, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_IMMUNITY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = TRUE, + }, + + [SPECIES_RELICANTH] = + { + .baseHP = 100, + .baseAttack = 90, + .baseDefense = 130, + .baseSpeed = 55, + .baseSpAttack = 45, + .baseSpDefense = 65, + .type1 = TYPE_WATER, + .type2 = TYPE_ROCK, + .catchRate = 25, + .expYield = 198, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_GREEN_SHARD, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 40, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_ROCK_HEAD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_ARON] = + { + .baseHP = 50, + .baseAttack = 70, + .baseDefense = 100, + .baseSpeed = 30, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_STEEL, + .type2 = TYPE_ROCK, + .catchRate = 180, + .expYield = 96, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_HARD_STONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 35, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_ROCK_HEAD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_LAIRON] = + { + .baseHP = 60, + .baseAttack = 90, + .baseDefense = 140, + .baseSpeed = 40, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_STEEL, + .type2 = TYPE_ROCK, + .catchRate = 90, + .expYield = 152, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_HARD_STONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 35, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_ROCK_HEAD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_AGGRON] = + { + .baseHP = 70, + .baseAttack = 110, + .baseDefense = 180, + .baseSpeed = 50, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_STEEL, + .type2 = TYPE_ROCK, + .catchRate = 45, + .expYield = 205, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 3, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_HARD_STONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 35, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_ROCK_HEAD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_CASTFORM] = + { + .baseHP = 70, + .baseAttack = 70, + .baseDefense = 70, + .baseSpeed = 70, + .baseSpAttack = 70, + .baseSpDefense = 70, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 145, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_MYSTIC_WATER, + .item2 = ITEM_MYSTIC_WATER, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_FORECAST, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_VOLBEAT] = + { + .baseHP = 65, + .baseAttack = 73, + .baseDefense = 55, + .baseSpeed = 85, + .baseSpAttack = 47, + .baseSpDefense = 75, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 150, + .expYield = 146, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_ILLUMINATE, + .ability2 = ABILITY_SWARM, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_ILLUMISE] = + { + .baseHP = 65, + .baseAttack = 47, + .baseDefense = 55, + .baseSpeed = 85, + .baseSpAttack = 73, + .baseSpDefense = 75, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 150, + .expYield = 146, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_FEMALE, + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_LILEEP] = + { + .baseHP = 66, + .baseAttack = 41, + .baseDefense = 77, + .baseSpeed = 23, + .baseSpAttack = 61, + .baseSpDefense = 87, + .type1 = TYPE_ROCK, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 121, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SUCTION_CUPS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_CRADILY] = + { + .baseHP = 86, + .baseAttack = 81, + .baseDefense = 97, + .baseSpeed = 43, + .baseSpAttack = 81, + .baseSpDefense = 107, + .type1 = TYPE_ROCK, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 201, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SUCTION_CUPS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_ANORITH] = + { + .baseHP = 45, + .baseAttack = 95, + .baseDefense = 50, + .baseSpeed = 75, + .baseSpAttack = 40, + .baseSpDefense = 50, + .type1 = TYPE_ROCK, + .type2 = TYPE_BUG, + .catchRate = 45, + .expYield = 119, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_BATTLE_ARMOR, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_ARMALDO] = + { + .baseHP = 75, + .baseAttack = 125, + .baseDefense = 100, + .baseSpeed = 45, + .baseSpAttack = 70, + .baseSpDefense = 80, + .type1 = TYPE_ROCK, + .type2 = TYPE_BUG, + .catchRate = 45, + .expYield = 200, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_BATTLE_ARMOR, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_RALTS] = + { + .baseHP = 28, + .baseAttack = 25, + .baseDefense = 25, + .baseSpeed = 40, + .baseSpAttack = 45, + .baseSpDefense = 35, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 235, + .expYield = 70, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_TRACE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_KIRLIA] = + { + .baseHP = 38, + .baseAttack = 35, + .baseDefense = 35, + .baseSpeed = 50, + .baseSpAttack = 65, + .baseSpDefense = 55, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 120, + .expYield = 140, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_TRACE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_GARDEVOIR] = + { + .baseHP = 68, + .baseAttack = 65, + .baseDefense = 65, + .baseSpeed = 80, + .baseSpAttack = 125, + .baseSpDefense = 115, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 208, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_TRACE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_BAGON] = + { + .baseHP = 45, + .baseAttack = 75, + .baseDefense = 60, + .baseSpeed = 50, + .baseSpAttack = 40, + .baseSpDefense = 30, + .type1 = TYPE_DRAGON, + .type2 = TYPE_DRAGON, + .catchRate = 45, + .expYield = 89, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_DRAGON, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SHELGON] = + { + .baseHP = 65, + .baseAttack = 95, + .baseDefense = 100, + .baseSpeed = 50, + .baseSpAttack = 60, + .baseSpDefense = 50, + .type1 = TYPE_DRAGON, + .type2 = TYPE_DRAGON, + .catchRate = 45, + .expYield = 144, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_DRAGON, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_SALAMENCE] = + { + .baseHP = 95, + .baseAttack = 135, + .baseDefense = 80, + .baseSpeed = 100, + .baseSpAttack = 110, + .baseSpDefense = 80, + .type1 = TYPE_DRAGON, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 218, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_DRAGON, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_BELDUM] = + { + .baseHP = 40, + .baseAttack = 55, + .baseDefense = 80, + .baseSpeed = 30, + .baseSpAttack = 35, + .baseSpDefense = 60, + .type1 = TYPE_STEEL, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 103, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_METAL_COAT, + .genderRatio = MON_GENDERLESS, + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_METANG] = + { + .baseHP = 60, + .baseAttack = 75, + .baseDefense = 100, + .baseSpeed = 50, + .baseSpAttack = 55, + .baseSpDefense = 80, + .type1 = TYPE_STEEL, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 153, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_METAL_COAT, + .genderRatio = MON_GENDERLESS, + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_METAGROSS] = + { + .baseHP = 80, + .baseAttack = 135, + .baseDefense = 130, + .baseSpeed = 70, + .baseSpAttack = 95, + .baseSpDefense = 90, + .type1 = TYPE_STEEL, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 210, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 3, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_METAL_COAT, + .genderRatio = MON_GENDERLESS, + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_REGIROCK] = + { + .baseHP = 80, + .baseAttack = 100, + .baseDefense = 200, + .baseSpeed = 50, + .baseSpAttack = 50, + .baseSpDefense = 100, + .type1 = TYPE_ROCK, + .type2 = TYPE_ROCK, + .catchRate = 3, + .expYield = 217, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 3, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_REGICE] = + { + .baseHP = 80, + .baseAttack = 50, + .baseDefense = 100, + .baseSpeed = 50, + .baseSpAttack = 100, + .baseSpDefense = 200, + .type1 = TYPE_ICE, + .type2 = TYPE_ICE, + .catchRate = 3, + .expYield = 216, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_REGISTEEL] = + { + .baseHP = 80, + .baseAttack = 75, + .baseDefense = 150, + .baseSpeed = 50, + .baseSpAttack = 75, + .baseSpDefense = 150, + .type1 = TYPE_STEEL, + .type2 = TYPE_STEEL, + .catchRate = 3, + .expYield = 215, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_KYOGRE] = + { + .baseHP = 100, + .baseAttack = 100, + .baseDefense = 90, + .baseSpeed = 90, + .baseSpAttack = 150, + .baseSpDefense = 140, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 5, + .expYield = 218, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_DRIZZLE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_GROUDON] = + { + .baseHP = 100, + .baseAttack = 150, + .baseDefense = 140, + .baseSpeed = 90, + .baseSpAttack = 100, + .baseSpDefense = 90, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 5, + .expYield = 218, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_DROUGHT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_RAYQUAZA] = + { + .baseHP = 105, + .baseAttack = 150, + .baseDefense = 90, + .baseSpeed = 95, + .baseSpAttack = 150, + .baseSpDefense = 90, + .type1 = TYPE_DRAGON, + .type2 = TYPE_FLYING, + .catchRate = 3, + .expYield = 220, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_AIR_LOCK, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_LATIAS] = + { + .baseHP = 80, + .baseAttack = 80, + .baseDefense = 90, + .baseSpeed = 110, + .baseSpAttack = 110, + .baseSpDefense = 130, + .type1 = TYPE_DRAGON, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 211, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_FEMALE, + .eggCycles = 120, + .friendship = 90, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_LATIOS] = + { + .baseHP = 80, + .baseAttack = 90, + .baseDefense = 80, + .baseSpeed = 110, + .baseSpAttack = 130, + .baseSpDefense = 110, + .type1 = TYPE_DRAGON, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 211, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 120, + .friendship = 90, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_JIRACHI] = + { + .baseHP = 100, + .baseAttack = 100, + .baseDefense = 100, + .baseSpeed = 100, + .baseSpAttack = 100, + .baseSpDefense = 100, + .type1 = TYPE_STEEL, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 215, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_STAR_PIECE, + .item2 = ITEM_STAR_PIECE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 100, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_SERENE_GRACE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_DEOXYS] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 215, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = TRUE, + }, + + [SPECIES_CHIMECHO] = + { + .baseHP = 65, + .baseAttack = 50, + .baseDefense = 70, + .baseSpeed = 65, + .baseSpAttack = 95, + .baseSpDefense = 80, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 147, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + } +}; + +#endif //GUARD_BASE_STATS_H diff --git a/include/data/pokemon/cry_ids.h b/include/data/pokemon/cry_ids.h new file mode 100644 index 0000000000..1c1c32ddec --- /dev/null +++ b/include/data/pokemon/cry_ids.h @@ -0,0 +1,143 @@ +#ifndef POKEEMERALD_CRY_IDS_H +#define POKEEMERALD_CRY_IDS_H + +const u16 gSpeciesIdToCryId[] = +{ + 273, // TREECKO + 274, // GROVYLE + 275, // SCEPTILE + 270, // TORCHIC + 271, // COMBUSKEN + 272, // BLAZIKEN + 276, // MUDKIP + 277, // MARSHTOMP + 278, // SWAMPERT + 359, // POOCHYENA + 360, // MIGHTYENA + 378, // ZIGZAGOON + 375, // LINOONE + 290, // WURMPLE + 291, // SILCOON + 292, // BEAUTIFLY + 293, // CASCOON + 294, // DUSTOX + 283, // LOTAD + 284, // LOMBRE + 285, // LUDICOLO + 286, // SEEDOT + 287, // NUZLEAF + 288, // SHIFTRY + 301, // NINCADA + 302, // NINJASK + 303, // SHEDINJA + 266, // TAILLOW + 267, // SWELLOW + 374, // SHROOMISH + 373, // BRELOOM + 269, // SPINDA + 280, // WINGULL + 279, // PELIPPER + 310, // SURSKIT + 311, // MASQUERAIN + 377, // WAILMER + 381, // WAILORD + 312, // SKITTY + 313, // DELCATTY + 251, // KECLEON + 329, // BALTOY + 330, // CLAYDOL + 306, // NOSEPASS + 253, // TORKOAL + 362, // SABLEYE + 318, // BARBOACH + 319, // WHISCASH + 368, // LUVDISC + 320, // CORPHISH + 321, // CRAWDAUNT + 333, // FEEBAS + 334, // MILOTIC + 289, // CARVANHA + 260, // SHARPEDO + 324, // TRAPINCH + 325, // VIBRAVA + 326, // FLYGON + 304, // MAKUHITA + 305, // HARIYAMA + 254, // ELECTRIKE + 255, // MANECTRIC + 316, // NUMEL + 317, // CAMERUPT + 338, // SPHEAL + 339, // SEALEO + 340, // WALREIN + 327, // CACNEA + 328, // CACTURNE + 383, // SNORUNT + 307, // GLALIE + 331, // LUNATONE + 332, // SOLROCK + 262, // AZURILL + 322, // SPOINK + 323, // GRUMPIG + 308, // PLUSLE + 309, // MINUN + 363, // MAWILE + 336, // MEDITITE + 337, // MEDICHAM + 263, // SWABLU + 264, // ALTARIA + 258, // WYNAUT + 256, // DUSKULL + 361, // DUSCLOPS + 252, // ROSELIA + 298, // SLAKOTH + 299, // VIGOROTH + 300, // SLAKING + 314, // GULPIN + 315, // SWALOT + 376, // TROPIUS + 382, // WHISMUR + 380, // LOUDRED + 379, // EXPLOUD + 341, // CLAMPERL + 342, // HUNTAIL + 343, // GOREBYSS + 335, // ABSOL + 282, // SHUPPET + 281, // BANETTE + 259, // SEVIPER + 261, // ZANGOOSE + 367, // RELICANTH + 364, // ARON + 365, // LAIRON + 366, // AGGRON + 356, // CASTFORM + 357, // VOLBEAT + 358, // ILLUMISE + 344, // LILEEP + 345, // CRADILY + 346, // ANORITH + 347, // ARMALDO + 295, // RALTS + 296, // KIRLIA + 297, // GARDEVOIR + 351, // BAGON + 352, // SHELGON + 372, // SALAMENCE + 348, // BELDUM + 349, // METANG + 350, // METAGROSS + 353, // REGIROCK + 354, // REGICE + 355, // REGISTEEL + 370, // KYOGRE + 369, // GROUDON + 371, // RAYQUAZA + 257, // LATIAS + 384, // LATIOS + 385, // JIRACHI + 386, // DEOXYS + 387 // CHIMECHO +}; + +#endif //POKEEMERALD_CRY_IDS_H diff --git a/include/data/pokemon/egg_moves.h b/include/data/pokemon/egg_moves.h new file mode 100644 index 0000000000..3d74868b40 --- /dev/null +++ b/include/data/pokemon/egg_moves.h @@ -0,0 +1,1315 @@ +#ifndef POKEEMERALD_DAYCARE_H +#define POKEEMERALD_DAYCARE_H + +#define EGG_MOVES_SPECIES_OFFSET 20000 +#define EGG_MOVES_TERMINATOR 0xFFFF +#define egg_moves(species, moves...) (SPECIES_##species + EGG_MOVES_SPECIES_OFFSET), moves + +#endif // POKEEMERALD_DAYCARE_H + +const u16 gEggMoves[] = { + egg_moves(BULBASAUR, + MOVE_LIGHT_SCREEN, + MOVE_SKULL_BASH, + MOVE_SAFEGUARD, + MOVE_CHARM, + MOVE_PETAL_DANCE, + MOVE_MAGICAL_LEAF, + MOVE_GRASS_WHISTLE, + MOVE_CURSE), + + egg_moves(CHARMANDER, + MOVE_BELLY_DRUM, + MOVE_ANCIENT_POWER, + MOVE_ROCK_SLIDE, + MOVE_BITE, + MOVE_OUTRAGE, + MOVE_BEAT_UP, + MOVE_SWORDS_DANCE, + MOVE_DRAGON_DANCE), + + egg_moves(SQUIRTLE, + MOVE_MIRROR_COAT, + MOVE_HAZE, + MOVE_MIST, + MOVE_FORESIGHT, + MOVE_FLAIL, + MOVE_REFRESH, + MOVE_MUD_SPORT, + MOVE_YAWN), + + egg_moves(PIDGEY, + MOVE_PURSUIT, + MOVE_FAINT_ATTACK, + MOVE_FORESIGHT, + MOVE_STEEL_WING, + MOVE_AIR_CUTTER), + + egg_moves(RATTATA, + MOVE_SCREECH, + MOVE_FLAME_WHEEL, + MOVE_FURY_SWIPES, + MOVE_BITE, + MOVE_COUNTER, + MOVE_REVERSAL, + MOVE_UPROAR, + MOVE_SWAGGER), + + egg_moves(SPEAROW, + MOVE_FAINT_ATTACK, + MOVE_FALSE_SWIPE, + MOVE_SCARY_FACE, + MOVE_QUICK_ATTACK, + MOVE_TRI_ATTACK, + MOVE_ASTONISH, + MOVE_SKY_ATTACK), + + egg_moves(EKANS, + MOVE_PURSUIT, + MOVE_SLAM, + MOVE_SPITE, + MOVE_BEAT_UP, + MOVE_POISON_FANG), + + egg_moves(SANDSHREW, + MOVE_FLAIL, + MOVE_SAFEGUARD, + MOVE_COUNTER, + MOVE_RAPID_SPIN, + MOVE_ROCK_SLIDE, + MOVE_METAL_CLAW, + MOVE_SWORDS_DANCE, + MOVE_CRUSH_CLAW), + + egg_moves(NIDORAN_F, + MOVE_SUPERSONIC, + MOVE_DISABLE, + MOVE_TAKE_DOWN, + MOVE_FOCUS_ENERGY, + MOVE_CHARM, + MOVE_COUNTER, + MOVE_BEAT_UP), + + egg_moves(NIDORAN_M, + MOVE_COUNTER, + MOVE_DISABLE, + MOVE_SUPERSONIC, + MOVE_TAKE_DOWN, + MOVE_AMNESIA, + MOVE_CONFUSION, + MOVE_BEAT_UP), + + egg_moves(VULPIX, + MOVE_FAINT_ATTACK, + MOVE_HYPNOSIS, + MOVE_FLAIL, + MOVE_SPITE, + MOVE_DISABLE, + MOVE_HOWL, + MOVE_PSYCH_UP, + MOVE_HEAT_WAVE), + + egg_moves(ZUBAT, + MOVE_QUICK_ATTACK, + MOVE_PURSUIT, + MOVE_FAINT_ATTACK, + MOVE_GUST, + MOVE_WHIRLWIND, + MOVE_CURSE), + + egg_moves(ODDISH, + MOVE_SWORDS_DANCE, + MOVE_RAZOR_LEAF, + MOVE_FLAIL, + MOVE_SYNTHESIS, + MOVE_CHARM, + MOVE_INGRAIN), + + egg_moves(PARAS, + MOVE_FALSE_SWIPE, + MOVE_SCREECH, + MOVE_COUNTER, + MOVE_PSYBEAM, + MOVE_FLAIL, + MOVE_SWEET_SCENT, + MOVE_LIGHT_SCREEN, + MOVE_PURSUIT), + + egg_moves(VENONAT, + MOVE_BATON_PASS, + MOVE_SCREECH, + MOVE_GIGA_DRAIN, + MOVE_SIGNAL_BEAM), + + egg_moves(DIGLETT, + MOVE_FAINT_ATTACK, + MOVE_SCREECH, + MOVE_ANCIENT_POWER, + MOVE_PURSUIT, + MOVE_BEAT_UP, + MOVE_UPROAR, + MOVE_ROCK_SLIDE), + + egg_moves(MEOWTH, + MOVE_SPITE, + MOVE_CHARM, + MOVE_HYPNOSIS, + MOVE_AMNESIA, + MOVE_PSYCH_UP, + MOVE_ASSIST), + + egg_moves(PSYDUCK, + MOVE_HYPNOSIS, + MOVE_PSYBEAM, + MOVE_FORESIGHT, + MOVE_LIGHT_SCREEN, + MOVE_FUTURE_SIGHT, + MOVE_PSYCHIC, + MOVE_CROSS_CHOP, + MOVE_REFRESH), + + egg_moves(MANKEY, + MOVE_ROCK_SLIDE, + MOVE_FORESIGHT, + MOVE_MEDITATE, + MOVE_COUNTER, + MOVE_REVERSAL, + MOVE_BEAT_UP, + MOVE_REVENGE, + MOVE_SMELLING_SALT), + + egg_moves(GROWLITHE, + MOVE_BODY_SLAM, + MOVE_SAFEGUARD, + MOVE_CRUNCH, + MOVE_THRASH, + MOVE_FIRE_SPIN, + MOVE_HOWL, + MOVE_HEAT_WAVE), + + egg_moves(POLIWAG, + MOVE_MIST, + MOVE_SPLASH, + MOVE_BUBBLE_BEAM, + MOVE_HAZE, + MOVE_MIND_READER, + MOVE_WATER_SPORT, + MOVE_ICE_BALL), + + egg_moves(ABRA, + MOVE_ENCORE, + MOVE_BARRIER, + MOVE_KNOCK_OFF, + MOVE_FIRE_PUNCH, + MOVE_THUNDER_PUNCH, + MOVE_ICE_PUNCH), + + egg_moves(MACHOP, + MOVE_LIGHT_SCREEN, + MOVE_MEDITATE, + MOVE_ROLLING_KICK, + MOVE_ENCORE, + MOVE_SMELLING_SALT, + MOVE_COUNTER, + MOVE_ROCK_SLIDE), + + egg_moves(BELLSPROUT, + MOVE_SWORDS_DANCE, + MOVE_ENCORE, + MOVE_REFLECT, + MOVE_SYNTHESIS, + MOVE_LEECH_LIFE, + MOVE_INGRAIN, + MOVE_MAGICAL_LEAF), + + egg_moves(TENTACOOL, + MOVE_AURORA_BEAM, + MOVE_MIRROR_COAT, + MOVE_RAPID_SPIN, + MOVE_HAZE, + MOVE_SAFEGUARD, + MOVE_CONFUSE_RAY), + + egg_moves(GEODUDE, + MOVE_MEGA_PUNCH, + MOVE_ROCK_SLIDE, + MOVE_BLOCK), + + egg_moves(PONYTA, + MOVE_FLAME_WHEEL, + MOVE_THRASH, + MOVE_DOUBLE_KICK, + MOVE_HYPNOSIS, + MOVE_CHARM, + MOVE_DOUBLE_EDGE), + + egg_moves(SLOWPOKE, + MOVE_SAFEGUARD, + MOVE_BELLY_DRUM, + MOVE_FUTURE_SIGHT, + MOVE_STOMP, + MOVE_MUD_SPORT, + MOVE_SLEEP_TALK, + MOVE_SNORE), + + egg_moves(FARFETCHD, + MOVE_STEEL_WING, + MOVE_FORESIGHT, + MOVE_MIRROR_MOVE, + MOVE_GUST, + MOVE_QUICK_ATTACK, + MOVE_FLAIL, + MOVE_FEATHER_DANCE, + MOVE_CURSE), + + egg_moves(DODUO, + MOVE_QUICK_ATTACK, + MOVE_SUPERSONIC, + MOVE_HAZE, + MOVE_FAINT_ATTACK, + MOVE_FLAIL, + MOVE_ENDEAVOR), + + egg_moves(SEEL, + MOVE_LICK, + MOVE_PERISH_SONG, + MOVE_DISABLE, + MOVE_HORN_DRILL, + MOVE_SLAM, + MOVE_ENCORE, + MOVE_FAKE_OUT, + MOVE_ICICLE_SPEAR), + + egg_moves(GRIMER, + MOVE_HAZE, + MOVE_MEAN_LOOK, + MOVE_LICK, + MOVE_IMPRISON, + MOVE_CURSE, + MOVE_SHADOW_PUNCH, + MOVE_EXPLOSION), + + egg_moves(SHELLDER, + MOVE_BUBBLE_BEAM, + MOVE_TAKE_DOWN, + MOVE_BARRIER, + MOVE_RAPID_SPIN, + MOVE_SCREECH, + MOVE_ICICLE_SPEAR), + + egg_moves(GASTLY, + MOVE_PSYWAVE, + MOVE_PERISH_SONG, + MOVE_HAZE, + MOVE_ASTONISH, + MOVE_WILL_O_WISP, + MOVE_GRUDGE, + MOVE_EXPLOSION), + + egg_moves(ONIX, + MOVE_ROCK_SLIDE, + MOVE_FLAIL, + MOVE_EXPLOSION, + MOVE_BLOCK), + + egg_moves(DROWZEE, + MOVE_BARRIER, + MOVE_ASSIST, + MOVE_ROLE_PLAY, + MOVE_FIRE_PUNCH, + MOVE_THUNDER_PUNCH, + MOVE_ICE_PUNCH), + + egg_moves(KRABBY, + MOVE_DIG, + MOVE_HAZE, + MOVE_AMNESIA, + MOVE_FLAIL, + MOVE_SLAM, + MOVE_KNOCK_OFF, + MOVE_SWORDS_DANCE), + + egg_moves(EXEGGCUTE, + MOVE_SYNTHESIS, + MOVE_MOONLIGHT, + MOVE_REFLECT, + MOVE_ANCIENT_POWER, + MOVE_PSYCH_UP, + MOVE_INGRAIN, + MOVE_CURSE), + + egg_moves(CUBONE, + MOVE_ROCK_SLIDE, + MOVE_ANCIENT_POWER, + MOVE_BELLY_DRUM, + MOVE_SCREECH, + MOVE_SKULL_BASH, + MOVE_PERISH_SONG, + MOVE_SWORDS_DANCE), + + egg_moves(LICKITUNG, + MOVE_BELLY_DRUM, + MOVE_MAGNITUDE, + MOVE_BODY_SLAM, + MOVE_CURSE, + MOVE_SMELLING_SALT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE), + + egg_moves(KOFFING, + MOVE_SCREECH, + MOVE_PSYWAVE, + MOVE_PSYBEAM, + MOVE_DESTINY_BOND, + MOVE_PAIN_SPLIT, + MOVE_WILL_O_WISP), + + egg_moves(RHYHORN, + MOVE_CRUNCH, + MOVE_REVERSAL, + MOVE_ROCK_SLIDE, + MOVE_COUNTER, + MOVE_MAGNITUDE, + MOVE_SWORDS_DANCE, + MOVE_CURSE, + MOVE_CRUSH_CLAW), + + egg_moves(CHANSEY, + MOVE_PRESENT, + MOVE_METRONOME, + MOVE_HEAL_BELL, + MOVE_AROMATHERAPY, + MOVE_SUBSTITUTE), + + egg_moves(TANGELA, + MOVE_FLAIL, + MOVE_CONFUSION, + MOVE_MEGA_DRAIN, + MOVE_REFLECT, + MOVE_AMNESIA, + MOVE_LEECH_SEED, + MOVE_NATURE_POWER), + + egg_moves(KANGASKHAN, + MOVE_STOMP, + MOVE_FORESIGHT, + MOVE_FOCUS_ENERGY, + MOVE_SAFEGUARD, + MOVE_DISABLE, + MOVE_COUNTER, + MOVE_CRUSH_CLAW, + MOVE_SUBSTITUTE), + + egg_moves(HORSEA, + MOVE_FLAIL, + MOVE_AURORA_BEAM, + MOVE_OCTAZOOKA, + MOVE_DISABLE, + MOVE_SPLASH, + MOVE_DRAGON_RAGE, + MOVE_DRAGON_BREATH), + + egg_moves(GOLDEEN, + MOVE_PSYBEAM, + MOVE_HAZE, + MOVE_HYDRO_PUMP, + MOVE_SLEEP_TALK, + MOVE_MUD_SPORT), + + egg_moves(MR_MIME, + MOVE_FUTURE_SIGHT, + MOVE_HYPNOSIS, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_FAKE_OUT, + MOVE_TRICK), + + egg_moves(SCYTHER, + MOVE_COUNTER, + MOVE_SAFEGUARD, + MOVE_BATON_PASS, + MOVE_RAZOR_WIND, + MOVE_REVERSAL, + MOVE_LIGHT_SCREEN, + MOVE_ENDURE, + MOVE_SILVER_WIND), + + egg_moves(PINSIR, + MOVE_FURY_ATTACK, + MOVE_FLAIL, + MOVE_FALSE_SWIPE, + MOVE_FAINT_ATTACK), + + egg_moves(LAPRAS, + MOVE_FORESIGHT, + MOVE_SUBSTITUTE, + MOVE_TICKLE, + MOVE_REFRESH, + MOVE_DRAGON_DANCE, + MOVE_CURSE, + MOVE_SLEEP_TALK, + MOVE_HORN_DRILL), + + egg_moves(EEVEE, + MOVE_CHARM, + MOVE_FLAIL, + MOVE_ENDURE, + MOVE_CURSE, + MOVE_TICKLE, + MOVE_WISH), + + egg_moves(OMANYTE, + MOVE_BUBBLE_BEAM, + MOVE_AURORA_BEAM, + MOVE_SLAM, + MOVE_SUPERSONIC, + MOVE_HAZE, + MOVE_ROCK_SLIDE, + MOVE_SPIKES), + + egg_moves(KABUTO, + MOVE_BUBBLE_BEAM, + MOVE_AURORA_BEAM, + MOVE_RAPID_SPIN, + MOVE_DIG, + MOVE_FLAIL, + MOVE_KNOCK_OFF, + MOVE_CONFUSE_RAY), + + egg_moves(AERODACTYL, + MOVE_WHIRLWIND, + MOVE_PURSUIT, + MOVE_FORESIGHT, + MOVE_STEEL_WING, + MOVE_DRAGON_BREATH, + MOVE_CURSE), + + egg_moves(SNORLAX, + MOVE_LICK, + MOVE_CHARM, + MOVE_DOUBLE_EDGE, + MOVE_CURSE, + MOVE_FISSURE, + MOVE_SUBSTITUTE), + + egg_moves(DRATINI, + MOVE_LIGHT_SCREEN, + MOVE_MIST, + MOVE_HAZE, + MOVE_SUPERSONIC, + MOVE_DRAGON_BREATH, + MOVE_DRAGON_DANCE), + + egg_moves(CHIKORITA, + MOVE_VINE_WHIP, + MOVE_LEECH_SEED, + MOVE_COUNTER, + MOVE_ANCIENT_POWER, + MOVE_FLAIL, + MOVE_NATURE_POWER, + MOVE_INGRAIN, + MOVE_GRASS_WHISTLE), + + egg_moves(CYNDAQUIL, + MOVE_FURY_SWIPES, + MOVE_QUICK_ATTACK, + MOVE_REVERSAL, + MOVE_THRASH, + MOVE_FORESIGHT, + MOVE_COVET, + MOVE_HOWL, + MOVE_CRUSH_CLAW), + + egg_moves(TOTODILE, + MOVE_CRUNCH, + MOVE_THRASH, + MOVE_HYDRO_PUMP, + MOVE_ANCIENT_POWER, + MOVE_ROCK_SLIDE, + MOVE_MUD_SPORT, + MOVE_WATER_SPORT, + MOVE_DRAGON_CLAW), + + egg_moves(SENTRET, + MOVE_DOUBLE_EDGE, + MOVE_PURSUIT, + MOVE_SLASH, + MOVE_FOCUS_ENERGY, + MOVE_REVERSAL, + MOVE_SUBSTITUTE, + MOVE_TRICK, + MOVE_ASSIST), + + egg_moves(HOOTHOOT, + MOVE_MIRROR_MOVE, + MOVE_SUPERSONIC, + MOVE_FAINT_ATTACK, + MOVE_WING_ATTACK, + MOVE_WHIRLWIND, + MOVE_SKY_ATTACK, + MOVE_FEATHER_DANCE), + + egg_moves(LEDYBA, + MOVE_PSYBEAM, + MOVE_BIDE, + MOVE_SILVER_WIND), + + egg_moves(SPINARAK, + MOVE_PSYBEAM, + MOVE_DISABLE, + MOVE_SONIC_BOOM, + MOVE_BATON_PASS, + MOVE_PURSUIT, + MOVE_SIGNAL_BEAM), + + egg_moves(CHINCHOU, + MOVE_FLAIL, + MOVE_SCREECH, + MOVE_AMNESIA), + + egg_moves(PICHU, + MOVE_REVERSAL, + MOVE_BIDE, + MOVE_PRESENT, + MOVE_ENCORE, + MOVE_DOUBLE_SLAP, + MOVE_WISH, + MOVE_CHARGE), + + egg_moves(CLEFFA, + MOVE_PRESENT, + MOVE_METRONOME, + MOVE_AMNESIA, + MOVE_BELLY_DRUM, + MOVE_SPLASH, + MOVE_MIMIC, + MOVE_WISH, + MOVE_SUBSTITUTE), + + egg_moves(IGGLYBUFF, + MOVE_PERISH_SONG, + MOVE_PRESENT, + MOVE_FAINT_ATTACK, + MOVE_WISH, + MOVE_FAKE_TEARS), + + egg_moves(TOGEPI, + MOVE_PRESENT, + MOVE_MIRROR_MOVE, + MOVE_PECK, + MOVE_FORESIGHT, + MOVE_FUTURE_SIGHT, + MOVE_SUBSTITUTE, + MOVE_PSYCH_UP), + + egg_moves(NATU, + MOVE_HAZE, + MOVE_DRILL_PECK, + MOVE_QUICK_ATTACK, + MOVE_FAINT_ATTACK, + MOVE_STEEL_WING, + MOVE_PSYCH_UP, + MOVE_FEATHER_DANCE, + MOVE_REFRESH), + + egg_moves(MAREEP, + MOVE_TAKE_DOWN, + MOVE_BODY_SLAM, + MOVE_SAFEGUARD, + MOVE_SCREECH, + MOVE_REFLECT, + MOVE_ODOR_SLEUTH, + MOVE_CHARGE), + + egg_moves(MARILL, + MOVE_LIGHT_SCREEN, + MOVE_PRESENT, + MOVE_AMNESIA, + MOVE_FUTURE_SIGHT, + MOVE_BELLY_DRUM, + MOVE_PERISH_SONG, + MOVE_SUPERSONIC, + MOVE_SUBSTITUTE), + + egg_moves(SUDOWOODO, + MOVE_SELF_DESTRUCT), + + egg_moves(HOPPIP, + MOVE_CONFUSION, + MOVE_ENCORE, + MOVE_DOUBLE_EDGE, + MOVE_REFLECT, + MOVE_AMNESIA, + MOVE_HELPING_HAND, + MOVE_PSYCH_UP), + + egg_moves(AIPOM, + MOVE_COUNTER, + MOVE_SCREECH, + MOVE_PURSUIT, + MOVE_AGILITY, + MOVE_SPITE, + MOVE_SLAM, + MOVE_DOUBLE_SLAP, + MOVE_BEAT_UP), + + egg_moves(SUNKERN, + MOVE_GRASS_WHISTLE, + MOVE_ENCORE, + MOVE_LEECH_SEED, + MOVE_NATURE_POWER, + MOVE_CURSE, + MOVE_HELPING_HAND), + + egg_moves(YANMA, + MOVE_WHIRLWIND, + MOVE_REVERSAL, + MOVE_LEECH_LIFE, + MOVE_SIGNAL_BEAM, + MOVE_SILVER_WIND), + + egg_moves(WOOPER, + MOVE_BODY_SLAM, + MOVE_ANCIENT_POWER, + MOVE_SAFEGUARD, + MOVE_CURSE, + MOVE_MUD_SPORT, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP), + + egg_moves(MURKROW, + MOVE_WHIRLWIND, + MOVE_DRILL_PECK, + MOVE_MIRROR_MOVE, + MOVE_WING_ATTACK, + MOVE_SKY_ATTACK, + MOVE_CONFUSE_RAY, + MOVE_FEATHER_DANCE, + MOVE_PERISH_SONG), + + egg_moves(MISDREAVUS, + MOVE_SCREECH, + MOVE_DESTINY_BOND, + MOVE_PSYCH_UP, + MOVE_IMPRISON), + + egg_moves(GIRAFARIG, + MOVE_TAKE_DOWN, + MOVE_AMNESIA, + MOVE_FORESIGHT, + MOVE_FUTURE_SIGHT, + MOVE_BEAT_UP, + MOVE_PSYCH_UP, + MOVE_WISH, + MOVE_MAGIC_COAT), + + egg_moves(PINECO, + MOVE_REFLECT, + MOVE_PIN_MISSILE, + MOVE_FLAIL, + MOVE_SWIFT, + MOVE_COUNTER, + MOVE_SAND_TOMB), + + egg_moves(DUNSPARCE, + MOVE_BIDE, + MOVE_ANCIENT_POWER, + MOVE_ROCK_SLIDE, + MOVE_BITE, + MOVE_HEADBUTT, + MOVE_ASTONISH, + MOVE_CURSE), + + egg_moves(GLIGAR, + MOVE_METAL_CLAW, + MOVE_WING_ATTACK, + MOVE_RAZOR_WIND, + MOVE_COUNTER, + MOVE_SAND_TOMB), + + egg_moves(SNUBBULL, + MOVE_METRONOME, + MOVE_FAINT_ATTACK, + MOVE_REFLECT, + MOVE_PRESENT, + MOVE_CRUNCH, + MOVE_HEAL_BELL, + MOVE_SNORE, + MOVE_SMELLING_SALT), + + egg_moves(QWILFISH, + MOVE_FLAIL, + MOVE_HAZE, + MOVE_BUBBLE_BEAM, + MOVE_SUPERSONIC, + MOVE_ASTONISH), + + egg_moves(SHUCKLE, + MOVE_SWEET_SCENT), + + egg_moves(HERACROSS, + MOVE_HARDEN, + MOVE_BIDE, + MOVE_FLAIL, + MOVE_FALSE_SWIPE), + + egg_moves(SNEASEL, + MOVE_COUNTER, + MOVE_SPITE, + MOVE_FORESIGHT, + MOVE_REFLECT, + MOVE_BITE, + MOVE_CRUSH_CLAW, + MOVE_FAKE_OUT), + + egg_moves(TEDDIURSA, + MOVE_CRUNCH, + MOVE_TAKE_DOWN, + MOVE_SEISMIC_TOSS, + MOVE_COUNTER, + MOVE_METAL_CLAW, + MOVE_FAKE_TEARS, + MOVE_YAWN, + MOVE_SLEEP_TALK), + + egg_moves(SLUGMA, + MOVE_ACID_ARMOR, + MOVE_HEAT_WAVE), + + egg_moves(SWINUB, + MOVE_TAKE_DOWN, + MOVE_BITE, + MOVE_BODY_SLAM, + MOVE_ROCK_SLIDE, + MOVE_ANCIENT_POWER, + MOVE_MUD_SHOT, + MOVE_ICICLE_SPEAR, + MOVE_DOUBLE_EDGE), + + egg_moves(CORSOLA, + MOVE_ROCK_SLIDE, + MOVE_SCREECH, + MOVE_MIST, + MOVE_AMNESIA, + MOVE_BARRIER, + MOVE_INGRAIN, + MOVE_CONFUSE_RAY, + MOVE_ICICLE_SPEAR), + + egg_moves(REMORAID, + MOVE_AURORA_BEAM, + MOVE_OCTAZOOKA, + MOVE_SUPERSONIC, + MOVE_HAZE, + MOVE_SCREECH, + MOVE_THUNDER_WAVE, + MOVE_ROCK_BLAST), + + egg_moves(DELIBIRD, + MOVE_AURORA_BEAM, + MOVE_QUICK_ATTACK, + MOVE_FUTURE_SIGHT, + MOVE_SPLASH, + MOVE_RAPID_SPIN, + MOVE_ICE_BALL), + + egg_moves(MANTINE, + MOVE_TWISTER, + MOVE_HYDRO_PUMP, + MOVE_HAZE, + MOVE_SLAM, + MOVE_MUD_SPORT, + MOVE_ROCK_SLIDE), + + egg_moves(SKARMORY, + MOVE_DRILL_PECK, + MOVE_PURSUIT, + MOVE_WHIRLWIND, + MOVE_SKY_ATTACK, + MOVE_CURSE), + + egg_moves(HOUNDOUR, + MOVE_FIRE_SPIN, + MOVE_RAGE, + MOVE_PURSUIT, + MOVE_COUNTER, + MOVE_SPITE, + MOVE_REVERSAL, + MOVE_BEAT_UP, + MOVE_WILL_O_WISP), + + egg_moves(PHANPY, + MOVE_FOCUS_ENERGY, + MOVE_BODY_SLAM, + MOVE_ANCIENT_POWER, + MOVE_SNORE, + MOVE_COUNTER, + MOVE_FISSURE), + + egg_moves(STANTLER, + MOVE_SPITE, + MOVE_DISABLE, + MOVE_BITE, + MOVE_SWAGGER, + MOVE_PSYCH_UP, + MOVE_EXTRASENSORY), + + egg_moves(TYROGUE, + MOVE_RAPID_SPIN, + MOVE_HI_JUMP_KICK, + MOVE_MACH_PUNCH, + MOVE_MIND_READER, + MOVE_HELPING_HAND), + + egg_moves(SMOOCHUM, + MOVE_MEDITATE, + MOVE_PSYCH_UP, + MOVE_FAKE_OUT, + MOVE_WISH, + MOVE_ICE_PUNCH), + + egg_moves(ELEKID, + MOVE_KARATE_CHOP, + MOVE_BARRIER, + MOVE_ROLLING_KICK, + MOVE_MEDITATE, + MOVE_CROSS_CHOP, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH), + + egg_moves(MAGBY, + MOVE_KARATE_CHOP, + MOVE_MEGA_PUNCH, + MOVE_BARRIER, + MOVE_SCREECH, + MOVE_CROSS_CHOP, + MOVE_THUNDER_PUNCH), + + egg_moves(MILTANK, + MOVE_PRESENT, + MOVE_REVERSAL, + MOVE_SEISMIC_TOSS, + MOVE_ENDURE, + MOVE_PSYCH_UP, + MOVE_CURSE, + MOVE_HELPING_HAND, + MOVE_SLEEP_TALK), + + egg_moves(LARVITAR, + MOVE_PURSUIT, + MOVE_STOMP, + MOVE_OUTRAGE, + MOVE_FOCUS_ENERGY, + MOVE_ANCIENT_POWER, + MOVE_DRAGON_DANCE, + MOVE_CURSE), + + egg_moves(TREECKO, + MOVE_CRUNCH, + MOVE_MUD_SPORT, + MOVE_ENDEAVOR, + MOVE_LEECH_SEED, + MOVE_DRAGON_BREATH, + MOVE_CRUSH_CLAW), + + egg_moves(TORCHIC, + MOVE_COUNTER, + MOVE_REVERSAL, + MOVE_ENDURE, + MOVE_SWAGGER, + MOVE_ROCK_SLIDE, + MOVE_SMELLING_SALT), + + egg_moves(MUDKIP, + MOVE_REFRESH, + MOVE_UPROAR, + MOVE_CURSE, + MOVE_STOMP, + MOVE_ICE_BALL, + MOVE_MIRROR_COAT), + + egg_moves(POOCHYENA, + MOVE_ASTONISH, + MOVE_POISON_FANG, + MOVE_COVET, + MOVE_LEER, + MOVE_YAWN), + + egg_moves(ZIGZAGOON, + MOVE_CHARM, + MOVE_PURSUIT, + MOVE_SUBSTITUTE, + MOVE_TICKLE, + MOVE_TRICK), + + egg_moves(LOTAD, + MOVE_SYNTHESIS, + MOVE_RAZOR_LEAF, + MOVE_SWEET_SCENT, + MOVE_LEECH_SEED, + MOVE_FLAIL, + MOVE_WATER_GUN), + + egg_moves(SEEDOT, + MOVE_LEECH_SEED, + MOVE_AMNESIA, + MOVE_QUICK_ATTACK, + MOVE_RAZOR_WIND, + MOVE_TAKE_DOWN, + MOVE_FALSE_SWIPE), + + egg_moves(NINCADA, + MOVE_ENDURE, + MOVE_FAINT_ATTACK, + MOVE_GUST, + MOVE_SILVER_WIND), + + egg_moves(TAILLOW, + MOVE_PURSUIT, + MOVE_SUPERSONIC, + MOVE_REFRESH, + MOVE_MIRROR_MOVE, + MOVE_RAGE, + MOVE_SKY_ATTACK), + + egg_moves(SHROOMISH, + MOVE_FAKE_TEARS, + MOVE_SWAGGER, + MOVE_CHARM, + MOVE_FALSE_SWIPE, + MOVE_HELPING_HAND), + + egg_moves(SPINDA, + MOVE_ENCORE, + MOVE_ROCK_SLIDE, + MOVE_ASSIST, + MOVE_DISABLE, + MOVE_BATON_PASS, + MOVE_WISH, + MOVE_TRICK, + MOVE_SMELLING_SALT), + + egg_moves(WINGULL, + MOVE_MIST, + MOVE_TWISTER, + MOVE_AGILITY, + MOVE_GUST, + MOVE_WATER_SPORT), + + egg_moves(SURSKIT, + MOVE_FORESIGHT, + MOVE_MUD_SHOT, + MOVE_PSYBEAM, + MOVE_HYDRO_PUMP, + MOVE_MIND_READER), + + egg_moves(WAILMER, + MOVE_DOUBLE_EDGE, + MOVE_THRASH, + MOVE_SWAGGER, + MOVE_SNORE, + MOVE_SLEEP_TALK, + MOVE_CURSE, + MOVE_FISSURE, + MOVE_TICKLE), + + egg_moves(SKITTY, + MOVE_HELPING_HAND, + MOVE_PSYCH_UP, + MOVE_UPROAR, + MOVE_FAKE_TEARS, + MOVE_WISH, + MOVE_BATON_PASS, + MOVE_SUBSTITUTE, + MOVE_TICKLE), + + egg_moves(KECLEON, + MOVE_DISABLE, + MOVE_MAGIC_COAT, + MOVE_TRICK), + + egg_moves(NOSEPASS, + MOVE_MAGNITUDE, + MOVE_ROLLOUT, + MOVE_EXPLOSION), + + egg_moves(TORKOAL, + MOVE_ERUPTION, + MOVE_ENDURE, + MOVE_SLEEP_TALK, + MOVE_YAWN), + + egg_moves(SABLEYE, + MOVE_PSYCH_UP, + MOVE_RECOVER, + MOVE_MOONLIGHT), + + egg_moves(BARBOACH, + MOVE_THRASH, + MOVE_WHIRLPOOL, + MOVE_SPARK), + + egg_moves(LUVDISC, + MOVE_SPLASH, + MOVE_SUPERSONIC, + MOVE_WATER_SPORT, + MOVE_MUD_SPORT), + + egg_moves(CORPHISH, + MOVE_MUD_SPORT, + MOVE_ENDEAVOR, + MOVE_BODY_SLAM, + MOVE_ANCIENT_POWER), + + egg_moves(FEEBAS, + MOVE_MIRROR_COAT, + MOVE_DRAGON_BREATH, + MOVE_MUD_SPORT, + MOVE_HYPNOSIS, + MOVE_LIGHT_SCREEN, + MOVE_CONFUSE_RAY), + + egg_moves(CARVANHA, + MOVE_HYDRO_PUMP, + MOVE_DOUBLE_EDGE, + MOVE_THRASH), + + egg_moves(TRAPINCH, + MOVE_FOCUS_ENERGY, + MOVE_QUICK_ATTACK, + MOVE_GUST), + + egg_moves(MAKUHITA, + MOVE_FAINT_ATTACK, + MOVE_DETECT, + MOVE_FORESIGHT, + MOVE_HELPING_HAND, + MOVE_CROSS_CHOP, + MOVE_REVENGE, + MOVE_DYNAMIC_PUNCH, + MOVE_COUNTER), + + egg_moves(ELECTRIKE, + MOVE_CRUNCH, + MOVE_HEADBUTT, + MOVE_UPROAR, + MOVE_CURSE, + MOVE_SWIFT), + + egg_moves(NUMEL, + MOVE_HOWL, + MOVE_SCARY_FACE, + MOVE_BODY_SLAM, + MOVE_ROLLOUT, + MOVE_DEFENSE_CURL, + MOVE_STOMP), + + egg_moves(SPHEAL, + MOVE_WATER_SPORT, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP, + MOVE_YAWN, + MOVE_ROCK_SLIDE, + MOVE_CURSE, + MOVE_FISSURE), + + egg_moves(CACNEA, + MOVE_GRASS_WHISTLE, + MOVE_ACID, + MOVE_TEETER_DANCE, + MOVE_DYNAMIC_PUNCH, + MOVE_COUNTER), + + egg_moves(SNORUNT, + MOVE_BLOCK, + MOVE_SPIKES), + + egg_moves(AZURILL, + MOVE_ENCORE, + MOVE_SING, + MOVE_REFRESH, + MOVE_SLAM, + MOVE_TICKLE), + + egg_moves(SPOINK, + MOVE_FUTURE_SIGHT, + MOVE_EXTRASENSORY, + MOVE_SUBSTITUTE, + MOVE_TRICK), + + egg_moves(PLUSLE, + MOVE_SUBSTITUTE, + MOVE_WISH), + + egg_moves(MINUN, + MOVE_SUBSTITUTE, + MOVE_WISH), + + egg_moves(MAWILE, + MOVE_SWORDS_DANCE, + MOVE_FALSE_SWIPE, + MOVE_POISON_FANG, + MOVE_PSYCH_UP, + MOVE_ANCIENT_POWER, + MOVE_TICKLE), + + egg_moves(MEDITITE, + MOVE_FIRE_PUNCH, + MOVE_THUNDER_PUNCH, + MOVE_ICE_PUNCH, + MOVE_FORESIGHT, + MOVE_FAKE_OUT, + MOVE_BATON_PASS, + MOVE_DYNAMIC_PUNCH), + + egg_moves(SWABLU, + MOVE_AGILITY, + MOVE_HAZE, + MOVE_PURSUIT, + MOVE_RAGE), + + egg_moves(DUSKULL, + MOVE_IMPRISON, + MOVE_DESTINY_BOND, + MOVE_PAIN_SPLIT, + MOVE_GRUDGE, + MOVE_MEMENTO, + MOVE_FAINT_ATTACK), + + egg_moves(ROSELIA, + MOVE_SPIKES, + MOVE_SYNTHESIS, + MOVE_PIN_MISSILE, + MOVE_COTTON_SPORE), + + egg_moves(SLAKOTH, + MOVE_PURSUIT, + MOVE_SLASH, + MOVE_BODY_SLAM, + MOVE_SNORE, + MOVE_CRUSH_CLAW, + MOVE_CURSE, + MOVE_SLEEP_TALK), + + egg_moves(GULPIN, + MOVE_DREAM_EATER, + MOVE_ACID_ARMOR, + MOVE_SMOG, + MOVE_PAIN_SPLIT), + + egg_moves(TROPIUS, + MOVE_HEADBUTT, + MOVE_SLAM, + MOVE_RAZOR_WIND, + MOVE_LEECH_SEED, + MOVE_NATURE_POWER), + + egg_moves(WHISMUR, + MOVE_TAKE_DOWN, + MOVE_SNORE, + MOVE_SWAGGER, + MOVE_EXTRASENSORY, + MOVE_SMELLING_SALT), + + egg_moves(CLAMPERL, + MOVE_REFRESH, + MOVE_MUD_SPORT, + MOVE_BODY_SLAM, + MOVE_SUPERSONIC, + MOVE_BARRIER, + MOVE_CONFUSE_RAY), + + egg_moves(ABSOL, + MOVE_BATON_PASS, + MOVE_FAINT_ATTACK, + MOVE_DOUBLE_EDGE, + MOVE_MAGIC_COAT, + MOVE_CURSE, + MOVE_SUBSTITUTE), + + egg_moves(SHUPPET, + MOVE_DISABLE, + MOVE_DESTINY_BOND, + MOVE_FORESIGHT, + MOVE_ASTONISH, + MOVE_IMPRISON), + + egg_moves(SEVIPER, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP, + MOVE_BODY_SLAM), + + egg_moves(ZANGOOSE, + MOVE_FLAIL, + MOVE_DOUBLE_KICK, + MOVE_RAZOR_WIND, + MOVE_COUNTER, + MOVE_ROAR, + MOVE_CURSE), + + egg_moves(RELICANTH, + MOVE_MAGNITUDE, + MOVE_SKULL_BASH, + MOVE_WATER_SPORT, + MOVE_AMNESIA, + MOVE_SLEEP_TALK, + MOVE_ROCK_SLIDE), + + egg_moves(ARON, + MOVE_ENDEAVOR, + MOVE_BODY_SLAM, + MOVE_STOMP, + MOVE_SMELLING_SALT), + + egg_moves(CASTFORM, + MOVE_FUTURE_SIGHT, + MOVE_PSYCH_UP), + + egg_moves(VOLBEAT, + MOVE_BATON_PASS, + MOVE_SILVER_WIND, + MOVE_TRICK), + + egg_moves(ILLUMISE, + MOVE_BATON_PASS, + MOVE_SILVER_WIND, + MOVE_GROWTH), + + egg_moves(LILEEP, + MOVE_BARRIER, + MOVE_RECOVER, + MOVE_MIRROR_COAT, + MOVE_ROCK_SLIDE), + + egg_moves(ANORITH, + MOVE_RAPID_SPIN, + MOVE_KNOCK_OFF, + MOVE_SWORDS_DANCE, + MOVE_ROCK_SLIDE), + + egg_moves(RALTS, + MOVE_DISABLE, + MOVE_WILL_O_WISP, + MOVE_MEAN_LOOK, + MOVE_MEMENTO, + MOVE_DESTINY_BOND), + + egg_moves(BAGON, + MOVE_HYDRO_PUMP, + MOVE_THRASH, + MOVE_DRAGON_RAGE, + MOVE_TWISTER, + MOVE_DRAGON_DANCE), + + egg_moves(CHIMECHO, + MOVE_DISABLE, + MOVE_CURSE, + MOVE_HYPNOSIS, + MOVE_DREAM_EATER), + + EGG_MOVES_TERMINATOR +}; diff --git a/include/data/pokemon/evolution.h b/include/data/pokemon/evolution.h new file mode 100644 index 0000000000..8629ac9b16 --- /dev/null +++ b/include/data/pokemon/evolution.h @@ -0,0 +1,192 @@ +#ifndef POKEEMERALD_EVOLUTION_H +#define POKEEMERALD_EVOLUTION_H + +const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = +{ + [SPECIES_BULBASAUR] = {{EVO_LEVEL, 16, SPECIES_IVYSAUR}}, + [SPECIES_IVYSAUR] = {{EVO_LEVEL, 32, SPECIES_VENUSAUR}}, + [SPECIES_CHARMANDER] = {{EVO_LEVEL, 16, SPECIES_CHARMELEON}}, + [SPECIES_CHARMELEON] = {{EVO_LEVEL, 36, SPECIES_CHARIZARD}}, + [SPECIES_SQUIRTLE] = {{EVO_LEVEL, 16, SPECIES_WARTORTLE}}, + [SPECIES_WARTORTLE] = {{EVO_LEVEL, 36, SPECIES_BLASTOISE}}, + [SPECIES_CATERPIE] = {{EVO_LEVEL, 7, SPECIES_METAPOD}}, + [SPECIES_METAPOD] = {{EVO_LEVEL, 10, SPECIES_BUTTERFREE}}, + [SPECIES_WEEDLE] = {{EVO_LEVEL, 7, SPECIES_KAKUNA}}, + [SPECIES_KAKUNA] = {{EVO_LEVEL, 10, SPECIES_BEEDRILL}}, + [SPECIES_PIDGEY] = {{EVO_LEVEL, 18, SPECIES_PIDGEOTTO}}, + [SPECIES_PIDGEOTTO] = {{EVO_LEVEL, 36, SPECIES_PIDGEOT}}, + [SPECIES_RATTATA] = {{EVO_LEVEL, 20, SPECIES_RATICATE}}, + [SPECIES_SPEAROW] = {{EVO_LEVEL, 20, SPECIES_FEAROW}}, + [SPECIES_EKANS] = {{EVO_LEVEL, 22, SPECIES_ARBOK}}, + [SPECIES_PIKACHU] = {{EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_RAICHU}}, + [SPECIES_SANDSHREW] = {{EVO_LEVEL, 22, SPECIES_SANDSLASH}}, + [SPECIES_NIDORAN_F] = {{EVO_LEVEL, 16, SPECIES_NIDORINA}}, + [SPECIES_NIDORINA] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOQUEEN}}, + [SPECIES_NIDORAN_M] = {{EVO_LEVEL, 16, SPECIES_NIDORINO}}, + [SPECIES_NIDORINO] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOKING}}, + [SPECIES_CLEFAIRY] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_CLEFABLE}}, + [SPECIES_VULPIX] = {{EVO_ITEM, ITEM_FIRE_STONE, SPECIES_NINETALES}}, + [SPECIES_JIGGLYPUFF] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_WIGGLYTUFF}}, + [SPECIES_ZUBAT] = {{EVO_LEVEL, 22, SPECIES_GOLBAT}}, + [SPECIES_GOLBAT] = {{EVO_FRIENDSHIP, 0, SPECIES_CROBAT}}, + [SPECIES_ODDISH] = {{EVO_LEVEL, 21, SPECIES_GLOOM}}, + [SPECIES_GLOOM] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VILEPLUME}, + {EVO_ITEM, ITEM_SUN_STONE, SPECIES_BELLOSSOM}}, + [SPECIES_PARAS] = {{EVO_LEVEL, 24, SPECIES_PARASECT}}, + [SPECIES_VENONAT] = {{EVO_LEVEL, 31, SPECIES_VENOMOTH}}, + [SPECIES_DIGLETT] = {{EVO_LEVEL, 26, SPECIES_DUGTRIO}}, + [SPECIES_MEOWTH] = {{EVO_LEVEL, 28, SPECIES_PERSIAN}}, + [SPECIES_PSYDUCK] = {{EVO_LEVEL, 33, SPECIES_GOLDUCK}}, + [SPECIES_MANKEY] = {{EVO_LEVEL, 28, SPECIES_PRIMEAPE}}, + [SPECIES_GROWLITHE] = {{EVO_ITEM, ITEM_FIRE_STONE, SPECIES_ARCANINE}}, + [SPECIES_POLIWAG] = {{EVO_LEVEL, 25, SPECIES_POLIWHIRL}}, + [SPECIES_POLIWHIRL] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_POLIWRATH}, + {EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_POLITOED}}, + [SPECIES_ABRA] = {{EVO_LEVEL, 16, SPECIES_KADABRA}}, + [SPECIES_KADABRA] = {{EVO_TRADE, 0, SPECIES_ALAKAZAM}}, + [SPECIES_MACHOP] = {{EVO_LEVEL, 28, SPECIES_MACHOKE}}, + [SPECIES_MACHOKE] = {{EVO_TRADE, 0, SPECIES_MACHAMP}}, + [SPECIES_BELLSPROUT] = {{EVO_LEVEL, 21, SPECIES_WEEPINBELL}}, + [SPECIES_WEEPINBELL] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VICTREEBEL}}, + [SPECIES_TENTACOOL] = {{EVO_LEVEL, 30, SPECIES_TENTACRUEL}}, + [SPECIES_GEODUDE] = {{EVO_LEVEL, 25, SPECIES_GRAVELER}}, + [SPECIES_GRAVELER] = {{EVO_TRADE, 0, SPECIES_GOLEM}}, + [SPECIES_PONYTA] = {{EVO_LEVEL, 40, SPECIES_RAPIDASH}}, + [SPECIES_SLOWPOKE] = {{EVO_LEVEL, 37, SPECIES_SLOWBRO}, + {EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_SLOWKING}}, + [SPECIES_MAGNEMITE] = {{EVO_LEVEL, 30, SPECIES_MAGNETON}}, + [SPECIES_DODUO] = {{EVO_LEVEL, 31, SPECIES_DODRIO}}, + [SPECIES_SEEL] = {{EVO_LEVEL, 34, SPECIES_DEWGONG}}, + [SPECIES_GRIMER] = {{EVO_LEVEL, 38, SPECIES_MUK}}, + [SPECIES_SHELLDER] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_CLOYSTER}}, + [SPECIES_GASTLY] = {{EVO_LEVEL, 25, SPECIES_HAUNTER}}, + [SPECIES_HAUNTER] = {{EVO_TRADE, 0, SPECIES_GENGAR}}, + [SPECIES_ONIX] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_STEELIX}}, + [SPECIES_DROWZEE] = {{EVO_LEVEL, 26, SPECIES_HYPNO}}, + [SPECIES_KRABBY] = {{EVO_LEVEL, 28, SPECIES_KINGLER}}, + [SPECIES_VOLTORB] = {{EVO_LEVEL, 30, SPECIES_ELECTRODE}}, + [SPECIES_EXEGGCUTE] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_EXEGGUTOR}}, + [SPECIES_CUBONE] = {{EVO_LEVEL, 28, SPECIES_MAROWAK}}, + [SPECIES_KOFFING] = {{EVO_LEVEL, 35, SPECIES_WEEZING}}, + [SPECIES_RHYHORN] = {{EVO_LEVEL, 42, SPECIES_RHYDON}}, + [SPECIES_CHANSEY] = {{EVO_FRIENDSHIP, 0, SPECIES_BLISSEY}}, + [SPECIES_HORSEA] = {{EVO_LEVEL, 32, SPECIES_SEADRA}}, + [SPECIES_SEADRA] = {{EVO_TRADE_ITEM, ITEM_DRAGON_SCALE, SPECIES_KINGDRA}}, + [SPECIES_GOLDEEN] = {{EVO_LEVEL, 33, SPECIES_SEAKING}}, + [SPECIES_STARYU] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_STARMIE}}, + [SPECIES_SCYTHER] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_SCIZOR}}, + [SPECIES_MAGIKARP] = {{EVO_LEVEL, 20, SPECIES_GYARADOS}}, + [SPECIES_EEVEE] = {{EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_JOLTEON}, + {EVO_ITEM, ITEM_WATER_STONE, SPECIES_VAPOREON}, + {EVO_ITEM, ITEM_FIRE_STONE, SPECIES_FLAREON}, + {EVO_FRIENDSHIP_DAY, 0, SPECIES_ESPEON}, + {EVO_FRIENDSHIP_NIGHT, 0, SPECIES_UMBREON}}, + [SPECIES_PORYGON] = {{EVO_TRADE_ITEM, ITEM_UP_GRADE, SPECIES_PORYGON2}}, + [SPECIES_OMANYTE] = {{EVO_LEVEL, 40, SPECIES_OMASTAR}}, + [SPECIES_KABUTO] = {{EVO_LEVEL, 40, SPECIES_KABUTOPS}}, + [SPECIES_DRATINI] = {{EVO_LEVEL, 30, SPECIES_DRAGONAIR}}, + [SPECIES_DRAGONAIR] = {{EVO_LEVEL, 55, SPECIES_DRAGONITE}}, + [SPECIES_CHIKORITA] = {{EVO_LEVEL, 16, SPECIES_BAYLEEF}}, + [SPECIES_BAYLEEF] = {{EVO_LEVEL, 32, SPECIES_MEGANIUM}}, + [SPECIES_CYNDAQUIL] = {{EVO_LEVEL, 14, SPECIES_QUILAVA}}, + [SPECIES_QUILAVA] = {{EVO_LEVEL, 36, SPECIES_TYPHLOSION}}, + [SPECIES_TOTODILE] = {{EVO_LEVEL, 18, SPECIES_CROCONAW}}, + [SPECIES_CROCONAW] = {{EVO_LEVEL, 30, SPECIES_FERALIGATR}}, + [SPECIES_SENTRET] = {{EVO_LEVEL, 15, SPECIES_FURRET}}, + [SPECIES_HOOTHOOT] = {{EVO_LEVEL, 20, SPECIES_NOCTOWL}}, + [SPECIES_LEDYBA] = {{EVO_LEVEL, 18, SPECIES_LEDIAN}}, + [SPECIES_SPINARAK] = {{EVO_LEVEL, 22, SPECIES_ARIADOS}}, + [SPECIES_CHINCHOU] = {{EVO_LEVEL, 27, SPECIES_LANTURN}}, + [SPECIES_PICHU] = {{EVO_FRIENDSHIP, 0, SPECIES_PIKACHU}}, + [SPECIES_CLEFFA] = {{EVO_FRIENDSHIP, 0, SPECIES_CLEFAIRY}}, + [SPECIES_IGGLYBUFF] = {{EVO_FRIENDSHIP, 0, SPECIES_JIGGLYPUFF}}, + [SPECIES_TOGEPI] = {{EVO_FRIENDSHIP, 0, SPECIES_TOGETIC}}, + [SPECIES_NATU] = {{EVO_LEVEL, 25, SPECIES_XATU}}, + [SPECIES_MAREEP] = {{EVO_LEVEL, 15, SPECIES_FLAAFFY}}, + [SPECIES_FLAAFFY] = {{EVO_LEVEL, 30, SPECIES_AMPHAROS}}, + [SPECIES_MARILL] = {{EVO_LEVEL, 18, SPECIES_AZUMARILL}}, + [SPECIES_HOPPIP] = {{EVO_LEVEL, 18, SPECIES_SKIPLOOM}}, + [SPECIES_SKIPLOOM] = {{EVO_LEVEL, 27, SPECIES_JUMPLUFF}}, + [SPECIES_SUNKERN] = {{EVO_ITEM, ITEM_SUN_STONE, SPECIES_SUNFLORA}}, + [SPECIES_WOOPER] = {{EVO_LEVEL, 20, SPECIES_QUAGSIRE}}, + [SPECIES_PINECO] = {{EVO_LEVEL, 31, SPECIES_FORRETRESS}}, + [SPECIES_SNUBBULL] = {{EVO_LEVEL, 23, SPECIES_GRANBULL}}, + [SPECIES_TEDDIURSA] = {{EVO_LEVEL, 30, SPECIES_URSARING}}, + [SPECIES_SLUGMA] = {{EVO_LEVEL, 38, SPECIES_MAGCARGO}}, + [SPECIES_SWINUB] = {{EVO_LEVEL, 33, SPECIES_PILOSWINE}}, + [SPECIES_REMORAID] = {{EVO_LEVEL, 25, SPECIES_OCTILLERY}}, + [SPECIES_HOUNDOUR] = {{EVO_LEVEL, 24, SPECIES_HOUNDOOM}}, + [SPECIES_PHANPY] = {{EVO_LEVEL, 25, SPECIES_DONPHAN}}, + [SPECIES_TYROGUE] = {{EVO_LEVEL_ATK_LT_DEF, 20, SPECIES_HITMONCHAN}, + {EVO_LEVEL_ATK_GT_DEF, 20, SPECIES_HITMONLEE}, + {EVO_LEVEL_ATK_EQ_DEF, 20, SPECIES_HITMONTOP}}, + [SPECIES_SMOOCHUM] = {{EVO_LEVEL, 30, SPECIES_JYNX}}, + [SPECIES_ELEKID] = {{EVO_LEVEL, 30, SPECIES_ELECTABUZZ}}, + [SPECIES_MAGBY] = {{EVO_LEVEL, 30, SPECIES_MAGMAR}}, + [SPECIES_LARVITAR] = {{EVO_LEVEL, 30, SPECIES_PUPITAR}}, + [SPECIES_PUPITAR] = {{EVO_LEVEL, 55, SPECIES_TYRANITAR}}, + [SPECIES_TREECKO] = {{EVO_LEVEL, 16, SPECIES_GROVYLE}}, + [SPECIES_GROVYLE] = {{EVO_LEVEL, 36, SPECIES_SCEPTILE}}, + [SPECIES_TORCHIC] = {{EVO_LEVEL, 16, SPECIES_COMBUSKEN}}, + [SPECIES_COMBUSKEN] = {{EVO_LEVEL, 36, SPECIES_BLAZIKEN}}, + [SPECIES_MUDKIP] = {{EVO_LEVEL, 16, SPECIES_MARSHTOMP}}, + [SPECIES_MARSHTOMP] = {{EVO_LEVEL, 36, SPECIES_SWAMPERT}}, + [SPECIES_POOCHYENA] = {{EVO_LEVEL, 18, SPECIES_MIGHTYENA}}, + [SPECIES_ZIGZAGOON] = {{EVO_LEVEL, 20, SPECIES_LINOONE}}, + [SPECIES_WURMPLE] = {{EVO_LEVEL_SILCOON, 7, SPECIES_SILCOON}, + {EVO_LEVEL_CASCOON, 7, SPECIES_CASCOON}}, + [SPECIES_SILCOON] = {{EVO_LEVEL, 10, SPECIES_BEAUTIFLY}}, + [SPECIES_CASCOON] = {{EVO_LEVEL, 10, SPECIES_DUSTOX}}, + [SPECIES_LOTAD] = {{EVO_LEVEL, 14, SPECIES_LOMBRE}}, + [SPECIES_LOMBRE] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_LUDICOLO}}, + [SPECIES_SEEDOT] = {{EVO_LEVEL, 14, SPECIES_NUZLEAF}}, + [SPECIES_NUZLEAF] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_SHIFTRY}}, + [SPECIES_NINCADA] = {{EVO_LEVEL_NINJASK, 20, SPECIES_NINJASK}, + {EVO_LEVEL_SHEDINJA, 20, SPECIES_SHEDINJA}}, + [SPECIES_TAILLOW] = {{EVO_LEVEL, 22, SPECIES_SWELLOW}}, + [SPECIES_SHROOMISH] = {{EVO_LEVEL, 23, SPECIES_BRELOOM}}, + [SPECIES_WINGULL] = {{EVO_LEVEL, 25, SPECIES_PELIPPER}}, + [SPECIES_SURSKIT] = {{EVO_LEVEL, 22, SPECIES_MASQUERAIN}}, + [SPECIES_WAILMER] = {{EVO_LEVEL, 40, SPECIES_WAILORD}}, + [SPECIES_SKITTY] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_DELCATTY}}, + [SPECIES_BALTOY] = {{EVO_LEVEL, 36, SPECIES_CLAYDOL}}, + [SPECIES_BARBOACH] = {{EVO_LEVEL, 30, SPECIES_WHISCASH}}, + [SPECIES_CORPHISH] = {{EVO_LEVEL, 30, SPECIES_CRAWDAUNT}}, + [SPECIES_FEEBAS] = {{EVO_BEAUTY, 170, SPECIES_MILOTIC}}, + [SPECIES_CARVANHA] = {{EVO_LEVEL, 30, SPECIES_SHARPEDO}}, + [SPECIES_TRAPINCH] = {{EVO_LEVEL, 35, SPECIES_VIBRAVA}}, + [SPECIES_VIBRAVA] = {{EVO_LEVEL, 45, SPECIES_FLYGON}}, + [SPECIES_MAKUHITA] = {{EVO_LEVEL, 24, SPECIES_HARIYAMA}}, + [SPECIES_ELECTRIKE] = {{EVO_LEVEL, 26, SPECIES_MANECTRIC}}, + [SPECIES_NUMEL] = {{EVO_LEVEL, 33, SPECIES_CAMERUPT}}, + [SPECIES_SPHEAL] = {{EVO_LEVEL, 32, SPECIES_SEALEO}}, + [SPECIES_SEALEO] = {{EVO_LEVEL, 44, SPECIES_WALREIN}}, + [SPECIES_CACNEA] = {{EVO_LEVEL, 32, SPECIES_CACTURNE}}, + [SPECIES_SNORUNT] = {{EVO_LEVEL, 42, SPECIES_GLALIE}}, + [SPECIES_AZURILL] = {{EVO_FRIENDSHIP, 0, SPECIES_MARILL}}, + [SPECIES_SPOINK] = {{EVO_LEVEL, 32, SPECIES_GRUMPIG}}, + [SPECIES_MEDITITE] = {{EVO_LEVEL, 37, SPECIES_MEDICHAM}}, + [SPECIES_SWABLU] = {{EVO_LEVEL, 35, SPECIES_ALTARIA}}, + [SPECIES_WYNAUT] = {{EVO_LEVEL, 15, SPECIES_WOBBUFFET}}, + [SPECIES_DUSKULL] = {{EVO_LEVEL, 37, SPECIES_DUSCLOPS}}, + [SPECIES_SLAKOTH] = {{EVO_LEVEL, 18, SPECIES_VIGOROTH}}, + [SPECIES_VIGOROTH] = {{EVO_LEVEL, 36, SPECIES_SLAKING}}, + [SPECIES_GULPIN] = {{EVO_LEVEL, 26, SPECIES_SWALOT}}, + [SPECIES_WHISMUR] = {{EVO_LEVEL, 20, SPECIES_LOUDRED}}, + [SPECIES_LOUDRED] = {{EVO_LEVEL, 40, SPECIES_EXPLOUD}}, + [SPECIES_CLAMPERL] = {{EVO_TRADE_ITEM, ITEM_DEEP_SEA_TOOTH, SPECIES_HUNTAIL}, + {EVO_TRADE_ITEM, ITEM_DEEP_SEA_SCALE, SPECIES_GOREBYSS}}, + [SPECIES_SHUPPET] = {{EVO_LEVEL, 37, SPECIES_BANETTE}}, + [SPECIES_ARON] = {{EVO_LEVEL, 32, SPECIES_LAIRON}}, + [SPECIES_LAIRON] = {{EVO_LEVEL, 42, SPECIES_AGGRON}}, + [SPECIES_LILEEP] = {{EVO_LEVEL, 40, SPECIES_CRADILY}}, + [SPECIES_ANORITH] = {{EVO_LEVEL, 40, SPECIES_ARMALDO}}, + [SPECIES_RALTS] = {{EVO_LEVEL, 20, SPECIES_KIRLIA}}, + [SPECIES_KIRLIA] = {{EVO_LEVEL, 30, SPECIES_GARDEVOIR}}, + [SPECIES_BAGON] = {{EVO_LEVEL, 30, SPECIES_SHELGON}}, + [SPECIES_SHELGON] = {{EVO_LEVEL, 50, SPECIES_SALAMENCE}}, + [SPECIES_BELDUM] = {{EVO_LEVEL, 20, SPECIES_METANG}}, + [SPECIES_METANG] = {{EVO_LEVEL, 45, SPECIES_METAGROSS}}, +}; + +#endif //POKEEMERALD_EVOLUTION_H diff --git a/include/data/pokemon/experience_tables.h b/include/data/pokemon/experience_tables.h new file mode 100644 index 0000000000..58474b6f19 --- /dev/null +++ b/include/data/pokemon/experience_tables.h @@ -0,0 +1,849 @@ +#ifndef POKEEMERALD_EXPERIENCE_TABLES_H +#define POKEEMERALD_EXPERIENCE_TABLES_H + +#define SQUARE(n)(n * n) +#define CUBE(n)(n * n * n) + +#define EXP_SLOW(n)((5 * CUBE(n)) / 4) // (5 * (n)^3) / 4 +#define EXP_FAST(n)((4 * CUBE(n)) / 5) // (4 * (n)^3) / 5 +#define EXP_MEDIUM_FAST(n)(CUBE(n)) // (n)^3 +#define EXP_MEDIUM_SLOW(n)((6 * CUBE(n)) / 5 - (15 * SQUARE(n)) + (100 * n) - 140) // (6 * (n)^3) / 5 - (15 * (n)^2) + (100 * n) - 140 +#define EXP_ERRATIC(n) \ + (n <= 50) ? ((100 - n) * CUBE(n) / 50) \ + :(n <= 68) ? ((150 - n) * CUBE(n) / 100) \ + :(n <= 98) ? (((1911 - 10 * n) / 3) * CUBE(n) / 500) \ + : ((160 - n) * CUBE(n) / 100) +#define EXP_FLUCTUATING(n) \ + (n <= 15) ? (((n + 1) / 3 + 24) * CUBE(n) / 50) \ + :(n <= 36) ? ((n + 14) * CUBE(n) / 50) \ + : (((n / 2) + 32) * CUBE(n) / 50) + +const u32 gExperienceTables[][MAX_MON_LEVEL + 1] = +{ + { // Medium Fast + 0, // 0 + 1, // 1 + EXP_MEDIUM_FAST(2), + EXP_MEDIUM_FAST(3), + EXP_MEDIUM_FAST(4), + EXP_MEDIUM_FAST(5), + EXP_MEDIUM_FAST(6), + EXP_MEDIUM_FAST(7), + EXP_MEDIUM_FAST(8), + EXP_MEDIUM_FAST(9), + EXP_MEDIUM_FAST(10), + EXP_MEDIUM_FAST(11), + EXP_MEDIUM_FAST(12), + EXP_MEDIUM_FAST(13), + EXP_MEDIUM_FAST(14), + EXP_MEDIUM_FAST(15), + EXP_MEDIUM_FAST(16), + EXP_MEDIUM_FAST(17), + EXP_MEDIUM_FAST(18), + EXP_MEDIUM_FAST(19), + EXP_MEDIUM_FAST(20), + EXP_MEDIUM_FAST(21), + EXP_MEDIUM_FAST(22), + EXP_MEDIUM_FAST(23), + EXP_MEDIUM_FAST(24), + EXP_MEDIUM_FAST(25), + EXP_MEDIUM_FAST(26), + EXP_MEDIUM_FAST(27), + EXP_MEDIUM_FAST(28), + EXP_MEDIUM_FAST(29), + EXP_MEDIUM_FAST(30), + EXP_MEDIUM_FAST(31), + EXP_MEDIUM_FAST(32), + EXP_MEDIUM_FAST(33), + EXP_MEDIUM_FAST(34), + EXP_MEDIUM_FAST(35), + EXP_MEDIUM_FAST(36), + EXP_MEDIUM_FAST(37), + EXP_MEDIUM_FAST(38), + EXP_MEDIUM_FAST(39), + EXP_MEDIUM_FAST(40), + EXP_MEDIUM_FAST(41), + EXP_MEDIUM_FAST(42), + EXP_MEDIUM_FAST(43), + EXP_MEDIUM_FAST(44), + EXP_MEDIUM_FAST(45), + EXP_MEDIUM_FAST(46), + EXP_MEDIUM_FAST(47), + EXP_MEDIUM_FAST(48), + EXP_MEDIUM_FAST(49), + EXP_MEDIUM_FAST(50), + EXP_MEDIUM_FAST(51), + EXP_MEDIUM_FAST(52), + EXP_MEDIUM_FAST(53), + EXP_MEDIUM_FAST(54), + EXP_MEDIUM_FAST(55), + EXP_MEDIUM_FAST(56), + EXP_MEDIUM_FAST(57), + EXP_MEDIUM_FAST(58), + EXP_MEDIUM_FAST(59), + EXP_MEDIUM_FAST(60), + EXP_MEDIUM_FAST(61), + EXP_MEDIUM_FAST(62), + EXP_MEDIUM_FAST(63), + EXP_MEDIUM_FAST(64), + EXP_MEDIUM_FAST(65), + EXP_MEDIUM_FAST(66), + EXP_MEDIUM_FAST(67), + EXP_MEDIUM_FAST(68), + EXP_MEDIUM_FAST(69), + EXP_MEDIUM_FAST(70), + EXP_MEDIUM_FAST(71), + EXP_MEDIUM_FAST(72), + EXP_MEDIUM_FAST(73), + EXP_MEDIUM_FAST(74), + EXP_MEDIUM_FAST(75), + EXP_MEDIUM_FAST(76), + EXP_MEDIUM_FAST(77), + EXP_MEDIUM_FAST(78), + EXP_MEDIUM_FAST(79), + EXP_MEDIUM_FAST(80), + EXP_MEDIUM_FAST(81), + EXP_MEDIUM_FAST(82), + EXP_MEDIUM_FAST(83), + EXP_MEDIUM_FAST(84), + EXP_MEDIUM_FAST(85), + EXP_MEDIUM_FAST(86), + EXP_MEDIUM_FAST(87), + EXP_MEDIUM_FAST(88), + EXP_MEDIUM_FAST(89), + EXP_MEDIUM_FAST(90), + EXP_MEDIUM_FAST(91), + EXP_MEDIUM_FAST(92), + EXP_MEDIUM_FAST(93), + EXP_MEDIUM_FAST(94), + EXP_MEDIUM_FAST(95), + EXP_MEDIUM_FAST(96), + EXP_MEDIUM_FAST(97), + EXP_MEDIUM_FAST(98), + EXP_MEDIUM_FAST(99), + EXP_MEDIUM_FAST(100), + }, + { // Erratic + 0, // 0 + 1, // 1 + EXP_ERRATIC(2), + EXP_ERRATIC(3), + EXP_ERRATIC(4), + EXP_ERRATIC(5), + EXP_ERRATIC(6), + EXP_ERRATIC(7), + EXP_ERRATIC(8), + EXP_ERRATIC(9), + EXP_ERRATIC(10), + EXP_ERRATIC(11), + EXP_ERRATIC(12), + EXP_ERRATIC(13), + EXP_ERRATIC(14), + EXP_ERRATIC(15), + EXP_ERRATIC(16), + EXP_ERRATIC(17), + EXP_ERRATIC(18), + EXP_ERRATIC(19), + EXP_ERRATIC(20), + EXP_ERRATIC(21), + EXP_ERRATIC(22), + EXP_ERRATIC(23), + EXP_ERRATIC(24), + EXP_ERRATIC(25), + EXP_ERRATIC(26), + EXP_ERRATIC(27), + EXP_ERRATIC(28), + EXP_ERRATIC(29), + EXP_ERRATIC(30), + EXP_ERRATIC(31), + EXP_ERRATIC(32), + EXP_ERRATIC(33), + EXP_ERRATIC(34), + EXP_ERRATIC(35), + EXP_ERRATIC(36), + EXP_ERRATIC(37), + EXP_ERRATIC(38), + EXP_ERRATIC(39), + EXP_ERRATIC(40), + EXP_ERRATIC(41), + EXP_ERRATIC(42), + EXP_ERRATIC(43), + EXP_ERRATIC(44), + EXP_ERRATIC(45), + EXP_ERRATIC(46), + EXP_ERRATIC(47), + EXP_ERRATIC(48), + EXP_ERRATIC(49), + EXP_ERRATIC(50), + EXP_ERRATIC(51), + EXP_ERRATIC(52), + EXP_ERRATIC(53), + EXP_ERRATIC(54), + EXP_ERRATIC(55), + EXP_ERRATIC(56), + EXP_ERRATIC(57), + EXP_ERRATIC(58), + EXP_ERRATIC(59), + EXP_ERRATIC(60), + EXP_ERRATIC(61), + EXP_ERRATIC(62), + EXP_ERRATIC(63), + EXP_ERRATIC(64), + EXP_ERRATIC(65), + EXP_ERRATIC(66), + EXP_ERRATIC(67), + EXP_ERRATIC(68), + EXP_ERRATIC(69), + EXP_ERRATIC(70), + EXP_ERRATIC(71), + EXP_ERRATIC(72), + EXP_ERRATIC(73), + EXP_ERRATIC(74), + EXP_ERRATIC(75), + EXP_ERRATIC(76), + EXP_ERRATIC(77), + EXP_ERRATIC(78), + EXP_ERRATIC(79), + EXP_ERRATIC(80), + EXP_ERRATIC(81), + EXP_ERRATIC(82), + EXP_ERRATIC(83), + EXP_ERRATIC(84), + EXP_ERRATIC(85), + EXP_ERRATIC(86), + EXP_ERRATIC(87), + EXP_ERRATIC(88), + EXP_ERRATIC(89), + EXP_ERRATIC(90), + EXP_ERRATIC(91), + EXP_ERRATIC(92), + EXP_ERRATIC(93), + EXP_ERRATIC(94), + EXP_ERRATIC(95), + EXP_ERRATIC(96), + EXP_ERRATIC(97), + EXP_ERRATIC(98), + EXP_ERRATIC(99), + EXP_ERRATIC(100), + }, + { // Fluctuating + 0, // 0 + 1, // 1 + EXP_FLUCTUATING(2), + EXP_FLUCTUATING(3), + EXP_FLUCTUATING(4), + EXP_FLUCTUATING(5), + EXP_FLUCTUATING(6), + EXP_FLUCTUATING(7), + EXP_FLUCTUATING(8), + EXP_FLUCTUATING(9), + EXP_FLUCTUATING(10), + EXP_FLUCTUATING(11), + EXP_FLUCTUATING(12), + EXP_FLUCTUATING(13), + EXP_FLUCTUATING(14), + EXP_FLUCTUATING(15), + EXP_FLUCTUATING(16), + EXP_FLUCTUATING(17), + EXP_FLUCTUATING(18), + EXP_FLUCTUATING(19), + EXP_FLUCTUATING(20), + EXP_FLUCTUATING(21), + EXP_FLUCTUATING(22), + EXP_FLUCTUATING(23), + EXP_FLUCTUATING(24), + EXP_FLUCTUATING(25), + EXP_FLUCTUATING(26), + EXP_FLUCTUATING(27), + EXP_FLUCTUATING(28), + EXP_FLUCTUATING(29), + EXP_FLUCTUATING(30), + EXP_FLUCTUATING(31), + EXP_FLUCTUATING(32), + EXP_FLUCTUATING(33), + EXP_FLUCTUATING(34), + EXP_FLUCTUATING(35), + EXP_FLUCTUATING(36), + EXP_FLUCTUATING(37), + EXP_FLUCTUATING(38), + EXP_FLUCTUATING(39), + EXP_FLUCTUATING(40), + EXP_FLUCTUATING(41), + EXP_FLUCTUATING(42), + EXP_FLUCTUATING(43), + EXP_FLUCTUATING(44), + EXP_FLUCTUATING(45), + EXP_FLUCTUATING(46), + EXP_FLUCTUATING(47), + EXP_FLUCTUATING(48), + EXP_FLUCTUATING(49), + EXP_FLUCTUATING(50), + EXP_FLUCTUATING(51), + EXP_FLUCTUATING(52), + EXP_FLUCTUATING(53), + EXP_FLUCTUATING(54), + EXP_FLUCTUATING(55), + EXP_FLUCTUATING(56), + EXP_FLUCTUATING(57), + EXP_FLUCTUATING(58), + EXP_FLUCTUATING(59), + EXP_FLUCTUATING(60), + EXP_FLUCTUATING(61), + EXP_FLUCTUATING(62), + EXP_FLUCTUATING(63), + EXP_FLUCTUATING(64), + EXP_FLUCTUATING(65), + EXP_FLUCTUATING(66), + EXP_FLUCTUATING(67), + EXP_FLUCTUATING(68), + EXP_FLUCTUATING(69), + EXP_FLUCTUATING(70), + EXP_FLUCTUATING(71), + EXP_FLUCTUATING(72), + EXP_FLUCTUATING(73), + EXP_FLUCTUATING(74), + EXP_FLUCTUATING(75), + EXP_FLUCTUATING(76), + EXP_FLUCTUATING(77), + EXP_FLUCTUATING(78), + EXP_FLUCTUATING(79), + EXP_FLUCTUATING(80), + EXP_FLUCTUATING(81), + EXP_FLUCTUATING(82), + EXP_FLUCTUATING(83), + EXP_FLUCTUATING(84), + EXP_FLUCTUATING(85), + EXP_FLUCTUATING(86), + EXP_FLUCTUATING(87), + EXP_FLUCTUATING(88), + EXP_FLUCTUATING(89), + EXP_FLUCTUATING(90), + EXP_FLUCTUATING(91), + EXP_FLUCTUATING(92), + EXP_FLUCTUATING(93), + EXP_FLUCTUATING(94), + EXP_FLUCTUATING(95), + EXP_FLUCTUATING(96), + EXP_FLUCTUATING(97), + EXP_FLUCTUATING(98), + EXP_FLUCTUATING(99), + EXP_FLUCTUATING(100), + }, + { // Medium Slow + 0, // 0 + 1, // 1 + EXP_MEDIUM_SLOW(2), + EXP_MEDIUM_SLOW(3), + EXP_MEDIUM_SLOW(4), + EXP_MEDIUM_SLOW(5), + EXP_MEDIUM_SLOW(6), + EXP_MEDIUM_SLOW(7), + EXP_MEDIUM_SLOW(8), + EXP_MEDIUM_SLOW(9), + EXP_MEDIUM_SLOW(10), + EXP_MEDIUM_SLOW(11), + EXP_MEDIUM_SLOW(12), + EXP_MEDIUM_SLOW(13), + EXP_MEDIUM_SLOW(14), + EXP_MEDIUM_SLOW(15), + EXP_MEDIUM_SLOW(16), + EXP_MEDIUM_SLOW(17), + EXP_MEDIUM_SLOW(18), + EXP_MEDIUM_SLOW(19), + EXP_MEDIUM_SLOW(20), + EXP_MEDIUM_SLOW(21), + EXP_MEDIUM_SLOW(22), + EXP_MEDIUM_SLOW(23), + EXP_MEDIUM_SLOW(24), + EXP_MEDIUM_SLOW(25), + EXP_MEDIUM_SLOW(26), + EXP_MEDIUM_SLOW(27), + EXP_MEDIUM_SLOW(28), + EXP_MEDIUM_SLOW(29), + EXP_MEDIUM_SLOW(30), + EXP_MEDIUM_SLOW(31), + EXP_MEDIUM_SLOW(32), + EXP_MEDIUM_SLOW(33), + EXP_MEDIUM_SLOW(34), + EXP_MEDIUM_SLOW(35), + EXP_MEDIUM_SLOW(36), + EXP_MEDIUM_SLOW(37), + EXP_MEDIUM_SLOW(38), + EXP_MEDIUM_SLOW(39), + EXP_MEDIUM_SLOW(40), + EXP_MEDIUM_SLOW(41), + EXP_MEDIUM_SLOW(42), + EXP_MEDIUM_SLOW(43), + EXP_MEDIUM_SLOW(44), + EXP_MEDIUM_SLOW(45), + EXP_MEDIUM_SLOW(46), + EXP_MEDIUM_SLOW(47), + EXP_MEDIUM_SLOW(48), + EXP_MEDIUM_SLOW(49), + EXP_MEDIUM_SLOW(50), + EXP_MEDIUM_SLOW(51), + EXP_MEDIUM_SLOW(52), + EXP_MEDIUM_SLOW(53), + EXP_MEDIUM_SLOW(54), + EXP_MEDIUM_SLOW(55), + EXP_MEDIUM_SLOW(56), + EXP_MEDIUM_SLOW(57), + EXP_MEDIUM_SLOW(58), + EXP_MEDIUM_SLOW(59), + EXP_MEDIUM_SLOW(60), + EXP_MEDIUM_SLOW(61), + EXP_MEDIUM_SLOW(62), + EXP_MEDIUM_SLOW(63), + EXP_MEDIUM_SLOW(64), + EXP_MEDIUM_SLOW(65), + EXP_MEDIUM_SLOW(66), + EXP_MEDIUM_SLOW(67), + EXP_MEDIUM_SLOW(68), + EXP_MEDIUM_SLOW(69), + EXP_MEDIUM_SLOW(70), + EXP_MEDIUM_SLOW(71), + EXP_MEDIUM_SLOW(72), + EXP_MEDIUM_SLOW(73), + EXP_MEDIUM_SLOW(74), + EXP_MEDIUM_SLOW(75), + EXP_MEDIUM_SLOW(76), + EXP_MEDIUM_SLOW(77), + EXP_MEDIUM_SLOW(78), + EXP_MEDIUM_SLOW(79), + EXP_MEDIUM_SLOW(80), + EXP_MEDIUM_SLOW(81), + EXP_MEDIUM_SLOW(82), + EXP_MEDIUM_SLOW(83), + EXP_MEDIUM_SLOW(84), + EXP_MEDIUM_SLOW(85), + EXP_MEDIUM_SLOW(86), + EXP_MEDIUM_SLOW(87), + EXP_MEDIUM_SLOW(88), + EXP_MEDIUM_SLOW(89), + EXP_MEDIUM_SLOW(90), + EXP_MEDIUM_SLOW(91), + EXP_MEDIUM_SLOW(92), + EXP_MEDIUM_SLOW(93), + EXP_MEDIUM_SLOW(94), + EXP_MEDIUM_SLOW(95), + EXP_MEDIUM_SLOW(96), + EXP_MEDIUM_SLOW(97), + EXP_MEDIUM_SLOW(98), + EXP_MEDIUM_SLOW(99), + EXP_MEDIUM_SLOW(100), + }, + { // Fast + 0, // 0 + 1, // 1 + EXP_FAST(2), + EXP_FAST(3), + EXP_FAST(4), + EXP_FAST(5), + EXP_FAST(6), + EXP_FAST(7), + EXP_FAST(8), + EXP_FAST(9), + EXP_FAST(10), + EXP_FAST(11), + EXP_FAST(12), + EXP_FAST(13), + EXP_FAST(14), + EXP_FAST(15), + EXP_FAST(16), + EXP_FAST(17), + EXP_FAST(18), + EXP_FAST(19), + EXP_FAST(20), + EXP_FAST(21), + EXP_FAST(22), + EXP_FAST(23), + EXP_FAST(24), + EXP_FAST(25), + EXP_FAST(26), + EXP_FAST(27), + EXP_FAST(28), + EXP_FAST(29), + EXP_FAST(30), + EXP_FAST(31), + EXP_FAST(32), + EXP_FAST(33), + EXP_FAST(34), + EXP_FAST(35), + EXP_FAST(36), + EXP_FAST(37), + EXP_FAST(38), + EXP_FAST(39), + EXP_FAST(40), + EXP_FAST(41), + EXP_FAST(42), + EXP_FAST(43), + EXP_FAST(44), + EXP_FAST(45), + EXP_FAST(46), + EXP_FAST(47), + EXP_FAST(48), + EXP_FAST(49), + EXP_FAST(50), + EXP_FAST(51), + EXP_FAST(52), + EXP_FAST(53), + EXP_FAST(54), + EXP_FAST(55), + EXP_FAST(56), + EXP_FAST(57), + EXP_FAST(58), + EXP_FAST(59), + EXP_FAST(60), + EXP_FAST(61), + EXP_FAST(62), + EXP_FAST(63), + EXP_FAST(64), + EXP_FAST(65), + EXP_FAST(66), + EXP_FAST(67), + EXP_FAST(68), + EXP_FAST(69), + EXP_FAST(70), + EXP_FAST(71), + EXP_FAST(72), + EXP_FAST(73), + EXP_FAST(74), + EXP_FAST(75), + EXP_FAST(76), + EXP_FAST(77), + EXP_FAST(78), + EXP_FAST(79), + EXP_FAST(80), + EXP_FAST(81), + EXP_FAST(82), + EXP_FAST(83), + EXP_FAST(84), + EXP_FAST(85), + EXP_FAST(86), + EXP_FAST(87), + EXP_FAST(88), + EXP_FAST(89), + EXP_FAST(90), + EXP_FAST(91), + EXP_FAST(92), + EXP_FAST(93), + EXP_FAST(94), + EXP_FAST(95), + EXP_FAST(96), + EXP_FAST(97), + EXP_FAST(98), + EXP_FAST(99), + EXP_FAST(100), + }, + { // Slow + 0, // 0 + 1, // 1 + EXP_SLOW(2), + EXP_SLOW(3), + EXP_SLOW(4), + EXP_SLOW(5), + EXP_SLOW(6), + EXP_SLOW(7), + EXP_SLOW(8), + EXP_SLOW(9), + EXP_SLOW(10), + EXP_SLOW(11), + EXP_SLOW(12), + EXP_SLOW(13), + EXP_SLOW(14), + EXP_SLOW(15), + EXP_SLOW(16), + EXP_SLOW(17), + EXP_SLOW(18), + EXP_SLOW(19), + EXP_SLOW(20), + EXP_SLOW(21), + EXP_SLOW(22), + EXP_SLOW(23), + EXP_SLOW(24), + EXP_SLOW(25), + EXP_SLOW(26), + EXP_SLOW(27), + EXP_SLOW(28), + EXP_SLOW(29), + EXP_SLOW(30), + EXP_SLOW(31), + EXP_SLOW(32), + EXP_SLOW(33), + EXP_SLOW(34), + EXP_SLOW(35), + EXP_SLOW(36), + EXP_SLOW(37), + EXP_SLOW(38), + EXP_SLOW(39), + EXP_SLOW(40), + EXP_SLOW(41), + EXP_SLOW(42), + EXP_SLOW(43), + EXP_SLOW(44), + EXP_SLOW(45), + EXP_SLOW(46), + EXP_SLOW(47), + EXP_SLOW(48), + EXP_SLOW(49), + EXP_SLOW(50), + EXP_SLOW(51), + EXP_SLOW(52), + EXP_SLOW(53), + EXP_SLOW(54), + EXP_SLOW(55), + EXP_SLOW(56), + EXP_SLOW(57), + EXP_SLOW(58), + EXP_SLOW(59), + EXP_SLOW(60), + EXP_SLOW(61), + EXP_SLOW(62), + EXP_SLOW(63), + EXP_SLOW(64), + EXP_SLOW(65), + EXP_SLOW(66), + EXP_SLOW(67), + EXP_SLOW(68), + EXP_SLOW(69), + EXP_SLOW(70), + EXP_SLOW(71), + EXP_SLOW(72), + EXP_SLOW(73), + EXP_SLOW(74), + EXP_SLOW(75), + EXP_SLOW(76), + EXP_SLOW(77), + EXP_SLOW(78), + EXP_SLOW(79), + EXP_SLOW(80), + EXP_SLOW(81), + EXP_SLOW(82), + EXP_SLOW(83), + EXP_SLOW(84), + EXP_SLOW(85), + EXP_SLOW(86), + EXP_SLOW(87), + EXP_SLOW(88), + EXP_SLOW(89), + EXP_SLOW(90), + EXP_SLOW(91), + EXP_SLOW(92), + EXP_SLOW(93), + EXP_SLOW(94), + EXP_SLOW(95), + EXP_SLOW(96), + EXP_SLOW(97), + EXP_SLOW(98), + EXP_SLOW(99), + EXP_SLOW(100), + }, + { // Medium Fast copy 2 (unused? to-do: investigate) + 0, // 0 + 1, // 1 + EXP_MEDIUM_FAST(2), + EXP_MEDIUM_FAST(3), + EXP_MEDIUM_FAST(4), + EXP_MEDIUM_FAST(5), + EXP_MEDIUM_FAST(6), + EXP_MEDIUM_FAST(7), + EXP_MEDIUM_FAST(8), + EXP_MEDIUM_FAST(9), + EXP_MEDIUM_FAST(10), + EXP_MEDIUM_FAST(11), + EXP_MEDIUM_FAST(12), + EXP_MEDIUM_FAST(13), + EXP_MEDIUM_FAST(14), + EXP_MEDIUM_FAST(15), + EXP_MEDIUM_FAST(16), + EXP_MEDIUM_FAST(17), + EXP_MEDIUM_FAST(18), + EXP_MEDIUM_FAST(19), + EXP_MEDIUM_FAST(20), + EXP_MEDIUM_FAST(21), + EXP_MEDIUM_FAST(22), + EXP_MEDIUM_FAST(23), + EXP_MEDIUM_FAST(24), + EXP_MEDIUM_FAST(25), + EXP_MEDIUM_FAST(26), + EXP_MEDIUM_FAST(27), + EXP_MEDIUM_FAST(28), + EXP_MEDIUM_FAST(29), + EXP_MEDIUM_FAST(30), + EXP_MEDIUM_FAST(31), + EXP_MEDIUM_FAST(32), + EXP_MEDIUM_FAST(33), + EXP_MEDIUM_FAST(34), + EXP_MEDIUM_FAST(35), + EXP_MEDIUM_FAST(36), + EXP_MEDIUM_FAST(37), + EXP_MEDIUM_FAST(38), + EXP_MEDIUM_FAST(39), + EXP_MEDIUM_FAST(40), + EXP_MEDIUM_FAST(41), + EXP_MEDIUM_FAST(42), + EXP_MEDIUM_FAST(43), + EXP_MEDIUM_FAST(44), + EXP_MEDIUM_FAST(45), + EXP_MEDIUM_FAST(46), + EXP_MEDIUM_FAST(47), + EXP_MEDIUM_FAST(48), + EXP_MEDIUM_FAST(49), + EXP_MEDIUM_FAST(50), + EXP_MEDIUM_FAST(51), + EXP_MEDIUM_FAST(52), + EXP_MEDIUM_FAST(53), + EXP_MEDIUM_FAST(54), + EXP_MEDIUM_FAST(55), + EXP_MEDIUM_FAST(56), + EXP_MEDIUM_FAST(57), + EXP_MEDIUM_FAST(58), + EXP_MEDIUM_FAST(59), + EXP_MEDIUM_FAST(60), + EXP_MEDIUM_FAST(61), + EXP_MEDIUM_FAST(62), + EXP_MEDIUM_FAST(63), + EXP_MEDIUM_FAST(64), + EXP_MEDIUM_FAST(65), + EXP_MEDIUM_FAST(66), + EXP_MEDIUM_FAST(67), + EXP_MEDIUM_FAST(68), + EXP_MEDIUM_FAST(69), + EXP_MEDIUM_FAST(70), + EXP_MEDIUM_FAST(71), + EXP_MEDIUM_FAST(72), + EXP_MEDIUM_FAST(73), + EXP_MEDIUM_FAST(74), + EXP_MEDIUM_FAST(75), + EXP_MEDIUM_FAST(76), + EXP_MEDIUM_FAST(77), + EXP_MEDIUM_FAST(78), + EXP_MEDIUM_FAST(79), + EXP_MEDIUM_FAST(80), + EXP_MEDIUM_FAST(81), + EXP_MEDIUM_FAST(82), + EXP_MEDIUM_FAST(83), + EXP_MEDIUM_FAST(84), + EXP_MEDIUM_FAST(85), + EXP_MEDIUM_FAST(86), + EXP_MEDIUM_FAST(87), + EXP_MEDIUM_FAST(88), + EXP_MEDIUM_FAST(89), + EXP_MEDIUM_FAST(90), + EXP_MEDIUM_FAST(91), + EXP_MEDIUM_FAST(92), + EXP_MEDIUM_FAST(93), + EXP_MEDIUM_FAST(94), + EXP_MEDIUM_FAST(95), + EXP_MEDIUM_FAST(96), + EXP_MEDIUM_FAST(97), + EXP_MEDIUM_FAST(98), + EXP_MEDIUM_FAST(99), + EXP_MEDIUM_FAST(100), + }, + { // Medium Fast copy 3 (unused? to-do: investigate) + 0, // 0 + 1, // 1 + EXP_MEDIUM_FAST(2), + EXP_MEDIUM_FAST(3), + EXP_MEDIUM_FAST(4), + EXP_MEDIUM_FAST(5), + EXP_MEDIUM_FAST(6), + EXP_MEDIUM_FAST(7), + EXP_MEDIUM_FAST(8), + EXP_MEDIUM_FAST(9), + EXP_MEDIUM_FAST(10), + EXP_MEDIUM_FAST(11), + EXP_MEDIUM_FAST(12), + EXP_MEDIUM_FAST(13), + EXP_MEDIUM_FAST(14), + EXP_MEDIUM_FAST(15), + EXP_MEDIUM_FAST(16), + EXP_MEDIUM_FAST(17), + EXP_MEDIUM_FAST(18), + EXP_MEDIUM_FAST(19), + EXP_MEDIUM_FAST(20), + EXP_MEDIUM_FAST(21), + EXP_MEDIUM_FAST(22), + EXP_MEDIUM_FAST(23), + EXP_MEDIUM_FAST(24), + EXP_MEDIUM_FAST(25), + EXP_MEDIUM_FAST(26), + EXP_MEDIUM_FAST(27), + EXP_MEDIUM_FAST(28), + EXP_MEDIUM_FAST(29), + EXP_MEDIUM_FAST(30), + EXP_MEDIUM_FAST(31), + EXP_MEDIUM_FAST(32), + EXP_MEDIUM_FAST(33), + EXP_MEDIUM_FAST(34), + EXP_MEDIUM_FAST(35), + EXP_MEDIUM_FAST(36), + EXP_MEDIUM_FAST(37), + EXP_MEDIUM_FAST(38), + EXP_MEDIUM_FAST(39), + EXP_MEDIUM_FAST(40), + EXP_MEDIUM_FAST(41), + EXP_MEDIUM_FAST(42), + EXP_MEDIUM_FAST(43), + EXP_MEDIUM_FAST(44), + EXP_MEDIUM_FAST(45), + EXP_MEDIUM_FAST(46), + EXP_MEDIUM_FAST(47), + EXP_MEDIUM_FAST(48), + EXP_MEDIUM_FAST(49), + EXP_MEDIUM_FAST(50), + EXP_MEDIUM_FAST(51), + EXP_MEDIUM_FAST(52), + EXP_MEDIUM_FAST(53), + EXP_MEDIUM_FAST(54), + EXP_MEDIUM_FAST(55), + EXP_MEDIUM_FAST(56), + EXP_MEDIUM_FAST(57), + EXP_MEDIUM_FAST(58), + EXP_MEDIUM_FAST(59), + EXP_MEDIUM_FAST(60), + EXP_MEDIUM_FAST(61), + EXP_MEDIUM_FAST(62), + EXP_MEDIUM_FAST(63), + EXP_MEDIUM_FAST(64), + EXP_MEDIUM_FAST(65), + EXP_MEDIUM_FAST(66), + EXP_MEDIUM_FAST(67), + EXP_MEDIUM_FAST(68), + EXP_MEDIUM_FAST(69), + EXP_MEDIUM_FAST(70), + EXP_MEDIUM_FAST(71), + EXP_MEDIUM_FAST(72), + EXP_MEDIUM_FAST(73), + EXP_MEDIUM_FAST(74), + EXP_MEDIUM_FAST(75), + EXP_MEDIUM_FAST(76), + EXP_MEDIUM_FAST(77), + EXP_MEDIUM_FAST(78), + EXP_MEDIUM_FAST(79), + EXP_MEDIUM_FAST(80), + EXP_MEDIUM_FAST(81), + EXP_MEDIUM_FAST(82), + EXP_MEDIUM_FAST(83), + EXP_MEDIUM_FAST(84), + EXP_MEDIUM_FAST(85), + EXP_MEDIUM_FAST(86), + EXP_MEDIUM_FAST(87), + EXP_MEDIUM_FAST(88), + EXP_MEDIUM_FAST(89), + EXP_MEDIUM_FAST(90), + EXP_MEDIUM_FAST(91), + EXP_MEDIUM_FAST(92), + EXP_MEDIUM_FAST(93), + EXP_MEDIUM_FAST(94), + EXP_MEDIUM_FAST(95), + EXP_MEDIUM_FAST(96), + EXP_MEDIUM_FAST(97), + EXP_MEDIUM_FAST(98), + EXP_MEDIUM_FAST(99), + EXP_MEDIUM_FAST(100), + } +}; + +#endif //POKEEMERALD_EXPERIENCE_TABLES_H diff --git a/include/data/pokemon/item_effects.h b/include/data/pokemon/item_effects.h new file mode 100644 index 0000000000..6ba0d694ec --- /dev/null +++ b/include/data/pokemon/item_effects.h @@ -0,0 +1,241 @@ +#ifndef GUARD_ITEM_EFFECTS_H +#define GUARD_ITEM_EFFECTS_H + +const u8 gItemEffect_Potion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 20}; +const u8 gItemEffect_Antidote[] = {0x00, 0x00, 0x00, 0x10, 0x00, 0x00}; +const u8 gItemEffect_BurnHeal[] = {0x00, 0x00, 0x00, 0x08, 0x00, 0x00}; +const u8 gItemEffect_IceHeal[] = {0x00, 0x00, 0x00, 0x04, 0x00, 0x00}; +const u8 gItemEffect_Awakening[] = {0x00, 0x00, 0x00, 0x20, 0x00, 0x00}; +const u8 gItemEffect_ParalyzeHeal[] = {0x00, 0x00, 0x00, 0x02, 0x00, 0x00}; +const u8 gItemEffect_FullRestore[] = {0x00, 0x00, 0x00, 0x3f, 0x04, 0x00, 0xff}; +const u8 gItemEffect_MaxPotion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0xff}; +const u8 gItemEffect_HyperPotion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 200}; +const u8 gItemEffect_SuperPotion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 50}; +const u8 gItemEffect_FullHeal[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0x00}; +const u8 gItemEffect_Revive[] = {0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0xfe}; +const u8 gItemEffect_MaxRevive[] = {0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0xff}; +const u8 gItemEffect_FreshWater[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 50}; +const u8 gItemEffect_SodaPop[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 60}; +const u8 gItemEffect_Lemonade[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 80}; +const u8 gItemEffect_MoomooMilk[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 100}; +const u8 gItemEffect_EnergyPowder[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0xe0, 50, 0xfb, 0xfb, 0xf6}; +const u8 gItemEffect_EnergyRoot[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0xe0, 200, 0xf6, 0xf6, 0xf1}; +const u8 gItemEffect_HealPowder[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0xe0, 0xfb, 0xfb, 0xf6}; +const u8 gItemEffect_RevivalHerb[] = {0x00, 0x00, 0x00, 0x00, 0x44, 0xe0, 0xff, 0xf1, 0xf1, 0xec}; +const u8 gItemEffect_Ether[] = {0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x0a}; +const u8 gItemEffect_MaxEther[] = {0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x7f}; +const u8 gItemEffect_Elixir[] = {0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0a}; +const u8 gItemEffect_MaxElixir[] = {0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x7f}; +const u8 gItemEffect_LavaCookie[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0x00}; +const u8 gItemEffect_BlueFlute[] = {0x00, 0x00, 0x00, 0x20, 0x00, 0x00}; +const u8 gItemEffect_YellowFlute[] = {0x00, 0x00, 0x00, 0x01, 0x00, 0x00}; +const u8 gItemEffect_RedFlute[] = {0x80, 0x00, 0x00, 0x00, 0x00, 0x00}; +const u8 gItemEffect_BerryJuice[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 20}; +const u8 gItemEffect_SacredAsh[] = {0x40, 0x00, 0x00, 0x00, 0x44, 0x00, 0xff}; +const u8 gItemEffect_HPUp[] = {0x00, 0x00, 0x00, 0x00, 0x01, 0xe0, 0x0a, 0x05, 0x03, 0x02}; +const u8 gItemEffect_Protein[] = {0x00, 0x00, 0x00, 0x00, 0x02, 0xe0, 0x0a, 0x05, 0x03, 0x02}; +const u8 gItemEffect_Iron[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, 0x0a, 0x05, 0x03, 0x02}; +const u8 gItemEffect_Carbos[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0x0a, 0x05, 0x03, 0x02}; +const u8 gItemEffect_Calcium[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x0a, 0x05, 0x03, 0x02}; +const u8 gItemEffect_RareCandy[] = {0x00, 0x00, 0x00, 0x40, 0x44, 0xe0, 253, 0x05, 0x03, 0x02}; +const u8 gItemEffect_PPUp[] = {0x00, 0x00, 0x00, 0x00, 0x20, 0xe0, 0x05, 0x03, 0x02}; +const u8 gItemEffect_Zinc[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x0a, 0x05, 0x03, 0x02}; +const u8 gItemEffect_PPMax[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x05, 0x03, 0x02}; +const u8 gItemEffect_GuardSpec[] = {0x00, 0x00, 0x00, 0x80, 0x00, 0x60, 0x01, 0x01}; +const u8 gItemEffect_DireHit[] = {0x20, 0x00, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01}; +const u8 gItemEffect_XAttack[] = {0x01, 0x00, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01}; +const u8 gItemEffect_XDefend[] = {0x00, 0x10, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01}; +const u8 gItemEffect_XSpeed[] = {0x00, 0x01, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01}; +const u8 gItemEffect_XAccuracy[] = {0x00, 0x00, 0x10, 0x00, 0x00, 0x60, 0x01, 0x01}; +const u8 gItemEffect_XSpecial[] = {0x00, 0x00, 0x01, 0x00, 0x00, 0x60, 0x01, 0x01}; +const u8 gItemEffect_SunStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; +const u8 gItemEffect_MoonStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; +const u8 gItemEffect_FireStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; +const u8 gItemEffect_ThunderStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; +const u8 gItemEffect_WaterStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; +const u8 gItemEffect_LeafStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; +const u8 gItemEffect_CheriBerry[] = {0x00, 0x00, 0x00, 0x02, 0x00, 0x00}; +const u8 gItemEffect_ChestoBerry[] = {0x00, 0x00, 0x00, 0x20, 0x00, 0x00}; +const u8 gItemEffect_PechaBerry[] = {0x00, 0x00, 0x00, 0x10, 0x00, 0x00}; +const u8 gItemEffect_RawstBerry[] = {0x00, 0x00, 0x00, 0x08, 0x00, 0x00}; +const u8 gItemEffect_AspearBerry[] = {0x00, 0x00, 0x00, 0x04, 0x00, 0x00}; +const u8 gItemEffect_LeppaBerry[] = {0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x0a}; +const u8 gItemEffect_OranBerry[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 10}; +const u8 gItemEffect_PersimBerry[] = {0x00, 0x00, 0x00, 0x01, 0x00, 0x00}; +const u8 gItemEffect_LumBerry[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0x00}; +const u8 gItemEffect_SitrusBerry[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 30}; +const u8 gItemEffect_PomegBerry[] = {0x00, 0x00, 0x00, 0x00, 0x01, 0xe0, 0xf6, 0x0a, 0x05, 0x02}; +const u8 gItemEffect_KelpsyBerry[] = {0x00, 0x00, 0x00, 0x00, 0x02, 0xe0, 0xf6, 0x0a, 0x05, 0x02}; +const u8 gItemEffect_QualotBerry[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, 0xf6, 0x0a, 0x05, 0x02}; +const u8 gItemEffect_HondrewBerry[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0xf6, 0x0a, 0x05, 0x02}; +const u8 gItemEffect_GrepaBerry[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0xf6, 0x0a, 0x05, 0x02}; +const u8 gItemEffect_TamatoBerry[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0xf6, 0x0a, 0x05, 0x02}; + +const u8 *const gItemEffectTable[] = +{ + gItemEffect_Potion, + gItemEffect_Antidote, + gItemEffect_BurnHeal, + gItemEffect_IceHeal, + gItemEffect_Awakening, + gItemEffect_ParalyzeHeal, + gItemEffect_FullRestore, + gItemEffect_MaxPotion, + gItemEffect_HyperPotion, + gItemEffect_SuperPotion, + gItemEffect_FullHeal, + gItemEffect_Revive, + gItemEffect_MaxRevive, + gItemEffect_FreshWater, + gItemEffect_SodaPop, + gItemEffect_Lemonade, + gItemEffect_MoomooMilk, + gItemEffect_EnergyPowder, + gItemEffect_EnergyRoot, + gItemEffect_HealPowder, + gItemEffect_RevivalHerb, + gItemEffect_Ether, + gItemEffect_MaxEther, + gItemEffect_Elixir, + gItemEffect_MaxElixir, + gItemEffect_LavaCookie, + gItemEffect_BlueFlute, + gItemEffect_YellowFlute, + gItemEffect_RedFlute, + NULL, + NULL, + gItemEffect_BerryJuice, + gItemEffect_SacredAsh, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + gItemEffect_HPUp, + gItemEffect_Protein, + gItemEffect_Iron, + gItemEffect_Carbos, + gItemEffect_Calcium, + gItemEffect_RareCandy, + gItemEffect_PPUp, + gItemEffect_Zinc, + gItemEffect_PPMax, + NULL, + gItemEffect_GuardSpec, + gItemEffect_DireHit, + gItemEffect_XAttack, + gItemEffect_XDefend, + gItemEffect_XSpeed, + gItemEffect_XAccuracy, + gItemEffect_XSpecial, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + gItemEffect_SunStone, + gItemEffect_MoonStone, + gItemEffect_FireStone, + gItemEffect_ThunderStone, + gItemEffect_WaterStone, + gItemEffect_LeafStone, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + gItemEffect_CheriBerry, + gItemEffect_ChestoBerry, + gItemEffect_PechaBerry, + gItemEffect_RawstBerry, + gItemEffect_AspearBerry, + gItemEffect_LeppaBerry, + gItemEffect_OranBerry, + gItemEffect_PersimBerry, + gItemEffect_LumBerry, + gItemEffect_SitrusBerry, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + gItemEffect_PomegBerry, + gItemEffect_KelpsyBerry, + gItemEffect_QualotBerry, + gItemEffect_HondrewBerry, + gItemEffect_GrepaBerry, + gItemEffect_TamatoBerry, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL +}; + +#endif //GUARD_ITEM_EFFECTS_H diff --git a/include/data/pokemon/level_up_learnset_pointers.h b/include/data/pokemon/level_up_learnset_pointers.h new file mode 100644 index 0000000000..a56b1c09fb --- /dev/null +++ b/include/data/pokemon/level_up_learnset_pointers.h @@ -0,0 +1,420 @@ +#ifndef POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H +#define POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H + +const u16 *const gLevelUpLearnsets[] = +{ + gBulbasaurLevelUpLearnset, + gBulbasaurLevelUpLearnset, + gIvysaurLevelUpLearnset, + gVenusaurLevelUpLearnset, + gCharmanderLevelUpLearnset, + gCharmeleonLevelUpLearnset, + gCharizardLevelUpLearnset, + gSquirtleLevelUpLearnset, + gWartortleLevelUpLearnset, + gBlastoiseLevelUpLearnset, + gCaterpieLevelUpLearnset, + gMetapodLevelUpLearnset, + gButterfreeLevelUpLearnset, + gWeedleLevelUpLearnset, + gKakunaLevelUpLearnset, + gBeedrillLevelUpLearnset, + gPidgeyLevelUpLearnset, + gPidgeottoLevelUpLearnset, + gPidgeotLevelUpLearnset, + gRattataLevelUpLearnset, + gRaticateLevelUpLearnset, + gSpearowLevelUpLearnset, + gFearowLevelUpLearnset, + gEkansLevelUpLearnset, + gArbokLevelUpLearnset, + gPikachuLevelUpLearnset, + gRaichuLevelUpLearnset, + gSandshrewLevelUpLearnset, + gSandslashLevelUpLearnset, + gNidoranFLevelUpLearnset, + gNidorinaLevelUpLearnset, + gNidoqueenLevelUpLearnset, + gNidoranMLevelUpLearnset, + gNidorinoLevelUpLearnset, + gNidokingLevelUpLearnset, + gClefairyLevelUpLearnset, + gClefableLevelUpLearnset, + gVulpixLevelUpLearnset, + gNinetalesLevelUpLearnset, + gJigglypuffLevelUpLearnset, + gWigglytuffLevelUpLearnset, + gZubatLevelUpLearnset, + gGolbatLevelUpLearnset, + gOddishLevelUpLearnset, + gGloomLevelUpLearnset, + gVileplumeLevelUpLearnset, + gParasLevelUpLearnset, + gParasectLevelUpLearnset, + gVenonatLevelUpLearnset, + gVenomothLevelUpLearnset, + gDiglettLevelUpLearnset, + gDugtrioLevelUpLearnset, + gMeowthLevelUpLearnset, + gPersianLevelUpLearnset, + gPsyduckLevelUpLearnset, + gGolduckLevelUpLearnset, + gMankeyLevelUpLearnset, + gPrimeapeLevelUpLearnset, + gGrowlitheLevelUpLearnset, + gArcanineLevelUpLearnset, + gPoliwagLevelUpLearnset, + gPoliwhirlLevelUpLearnset, + gPoliwrathLevelUpLearnset, + gAbraLevelUpLearnset, + gKadabraLevelUpLearnset, + gAlakazamLevelUpLearnset, + gMachopLevelUpLearnset, + gMachokeLevelUpLearnset, + gMachampLevelUpLearnset, + gBellsproutLevelUpLearnset, + gWeepinbellLevelUpLearnset, + gVictreebelLevelUpLearnset, + gTentacoolLevelUpLearnset, + gTentacruelLevelUpLearnset, + gGeodudeLevelUpLearnset, + gGravelerLevelUpLearnset, + gGolemLevelUpLearnset, + gPonytaLevelUpLearnset, + gRapidashLevelUpLearnset, + gSlowpokeLevelUpLearnset, + gSlowbroLevelUpLearnset, + gMagnemiteLevelUpLearnset, + gMagnetonLevelUpLearnset, + gFarfetchdLevelUpLearnset, + gDoduoLevelUpLearnset, + gDodrioLevelUpLearnset, + gSeelLevelUpLearnset, + gDewgongLevelUpLearnset, + gGrimerLevelUpLearnset, + gMukLevelUpLearnset, + gShellderLevelUpLearnset, + gCloysterLevelUpLearnset, + gGastlyLevelUpLearnset, + gHaunterLevelUpLearnset, + gGengarLevelUpLearnset, + gOnixLevelUpLearnset, + gDrowzeeLevelUpLearnset, + gHypnoLevelUpLearnset, + gKrabbyLevelUpLearnset, + gKinglerLevelUpLearnset, + gVoltorbLevelUpLearnset, + gElectrodeLevelUpLearnset, + gExeggcuteLevelUpLearnset, + gExeggutorLevelUpLearnset, + gCuboneLevelUpLearnset, + gMarowakLevelUpLearnset, + gHitmonleeLevelUpLearnset, + gHitmonchanLevelUpLearnset, + gLickitungLevelUpLearnset, + gKoffingLevelUpLearnset, + gWeezingLevelUpLearnset, + gRhyhornLevelUpLearnset, + gRhydonLevelUpLearnset, + gChanseyLevelUpLearnset, + gTangelaLevelUpLearnset, + gKangaskhanLevelUpLearnset, + gHorseaLevelUpLearnset, + gSeadraLevelUpLearnset, + gGoldeenLevelUpLearnset, + gSeakingLevelUpLearnset, + gStaryuLevelUpLearnset, + gStarmieLevelUpLearnset, + gMrmimeLevelUpLearnset, + gScytherLevelUpLearnset, + gJynxLevelUpLearnset, + gElectabuzzLevelUpLearnset, + gMagmarLevelUpLearnset, + gPinsirLevelUpLearnset, + gTaurosLevelUpLearnset, + gMagikarpLevelUpLearnset, + gGyaradosLevelUpLearnset, + gLaprasLevelUpLearnset, + gDittoLevelUpLearnset, + gEeveeLevelUpLearnset, + gVaporeonLevelUpLearnset, + gJolteonLevelUpLearnset, + gFlareonLevelUpLearnset, + gPorygonLevelUpLearnset, + gOmanyteLevelUpLearnset, + gOmastarLevelUpLearnset, + gKabutoLevelUpLearnset, + gKabutopsLevelUpLearnset, + gAerodactylLevelUpLearnset, + gSnorlaxLevelUpLearnset, + gArticunoLevelUpLearnset, + gZapdosLevelUpLearnset, + gMoltresLevelUpLearnset, + gDratiniLevelUpLearnset, + gDragonairLevelUpLearnset, + gDragoniteLevelUpLearnset, + gMewtwoLevelUpLearnset, + gMewLevelUpLearnset, + gChikoritaLevelUpLearnset, + gBayleefLevelUpLearnset, + gMeganiumLevelUpLearnset, + gCyndaquilLevelUpLearnset, + gQuilavaLevelUpLearnset, + gTyphlosionLevelUpLearnset, + gTotodileLevelUpLearnset, + gCroconawLevelUpLearnset, + gFeraligatrLevelUpLearnset, + gSentretLevelUpLearnset, + gFurretLevelUpLearnset, + gHoothootLevelUpLearnset, + gNoctowlLevelUpLearnset, + gLedybaLevelUpLearnset, + gLedianLevelUpLearnset, + gSpinarakLevelUpLearnset, + gAriadosLevelUpLearnset, + gCrobatLevelUpLearnset, + gChinchouLevelUpLearnset, + gLanturnLevelUpLearnset, + gPichuLevelUpLearnset, + gCleffaLevelUpLearnset, + gIgglybuffLevelUpLearnset, + gTogepiLevelUpLearnset, + gTogeticLevelUpLearnset, + gNatuLevelUpLearnset, + gXatuLevelUpLearnset, + gMareepLevelUpLearnset, + gFlaaffyLevelUpLearnset, + gAmpharosLevelUpLearnset, + gBellossomLevelUpLearnset, + gMarillLevelUpLearnset, + gAzumarillLevelUpLearnset, + gSudowoodoLevelUpLearnset, + gPolitoedLevelUpLearnset, + gHoppipLevelUpLearnset, + gSkiploomLevelUpLearnset, + gJumpluffLevelUpLearnset, + gAipomLevelUpLearnset, + gSunkernLevelUpLearnset, + gSunfloraLevelUpLearnset, + gYanmaLevelUpLearnset, + gWooperLevelUpLearnset, + gQuagsireLevelUpLearnset, + gEspeonLevelUpLearnset, + gUmbreonLevelUpLearnset, + gMurkrowLevelUpLearnset, + gSlowkingLevelUpLearnset, + gMisdreavusLevelUpLearnset, + gUnownLevelUpLearnset, + gWobbuffetLevelUpLearnset, + gGirafarigLevelUpLearnset, + gPinecoLevelUpLearnset, + gForretressLevelUpLearnset, + gDunsparceLevelUpLearnset, + gGligarLevelUpLearnset, + gSteelixLevelUpLearnset, + gSnubbullLevelUpLearnset, + gGranbullLevelUpLearnset, + gQwilfishLevelUpLearnset, + gScizorLevelUpLearnset, + gShuckleLevelUpLearnset, + gHeracrossLevelUpLearnset, + gSneaselLevelUpLearnset, + gTeddiursaLevelUpLearnset, + gUrsaringLevelUpLearnset, + gSlugmaLevelUpLearnset, + gMagcargoLevelUpLearnset, + gSwinubLevelUpLearnset, + gPiloswineLevelUpLearnset, + gCorsolaLevelUpLearnset, + gRemoraidLevelUpLearnset, + gOctilleryLevelUpLearnset, + gDelibirdLevelUpLearnset, + gMantineLevelUpLearnset, + gSkarmoryLevelUpLearnset, + gHoundourLevelUpLearnset, + gHoundoomLevelUpLearnset, + gKingdraLevelUpLearnset, + gPhanpyLevelUpLearnset, + gDonphanLevelUpLearnset, + gPorygon2LevelUpLearnset, + gStantlerLevelUpLearnset, + gSmeargleLevelUpLearnset, + gTyrogueLevelUpLearnset, + gHitmontopLevelUpLearnset, + gSmoochumLevelUpLearnset, + gElekidLevelUpLearnset, + gMagbyLevelUpLearnset, + gMiltankLevelUpLearnset, + gBlisseyLevelUpLearnset, + gRaikouLevelUpLearnset, + gEnteiLevelUpLearnset, + gSuicuneLevelUpLearnset, + gLarvitarLevelUpLearnset, + gPupitarLevelUpLearnset, + gTyranitarLevelUpLearnset, + gLugiaLevelUpLearnset, + gHoOhLevelUpLearnset, + gCelebiLevelUpLearnset, + gSpecies252LevelUpLearnset, + gSpecies253LevelUpLearnset, + gSpecies254LevelUpLearnset, + gSpecies255LevelUpLearnset, + gSpecies256LevelUpLearnset, + gSpecies257LevelUpLearnset, + gSpecies258LevelUpLearnset, + gSpecies259LevelUpLearnset, + gSpecies260LevelUpLearnset, + gSpecies261LevelUpLearnset, + gSpecies262LevelUpLearnset, + gSpecies263LevelUpLearnset, + gSpecies264LevelUpLearnset, + gSpecies265LevelUpLearnset, + gSpecies266LevelUpLearnset, + gSpecies267LevelUpLearnset, + gSpecies268LevelUpLearnset, + gSpecies269LevelUpLearnset, + gSpecies270LevelUpLearnset, + gSpecies271LevelUpLearnset, + gSpecies272LevelUpLearnset, + gSpecies273LevelUpLearnset, + gSpecies274LevelUpLearnset, + gSpecies275LevelUpLearnset, + gSpecies276LevelUpLearnset, + gTreeckoLevelUpLearnset, + gGrovyleLevelUpLearnset, + gSceptileLevelUpLearnset, + gTorchicLevelUpLearnset, + gCombuskenLevelUpLearnset, + gBlazikenLevelUpLearnset, + gMudkipLevelUpLearnset, + gMarshtompLevelUpLearnset, + gSwampertLevelUpLearnset, + gPoochyenaLevelUpLearnset, + gMightyenaLevelUpLearnset, + gZigzagoonLevelUpLearnset, + gLinooneLevelUpLearnset, + gWurmpleLevelUpLearnset, + gSilcoonLevelUpLearnset, + gBeautiflyLevelUpLearnset, + gCascoonLevelUpLearnset, + gDustoxLevelUpLearnset, + gLotadLevelUpLearnset, + gLombreLevelUpLearnset, + gLudicoloLevelUpLearnset, + gSeedotLevelUpLearnset, + gNuzleafLevelUpLearnset, + gShiftryLevelUpLearnset, + gNincadaLevelUpLearnset, + gNinjaskLevelUpLearnset, + gShedinjaLevelUpLearnset, + gTaillowLevelUpLearnset, + gSwellowLevelUpLearnset, + gShroomishLevelUpLearnset, + gBreloomLevelUpLearnset, + gSpindaLevelUpLearnset, + gWingullLevelUpLearnset, + gPelipperLevelUpLearnset, + gSurskitLevelUpLearnset, + gMasquerainLevelUpLearnset, + gWailmerLevelUpLearnset, + gWailordLevelUpLearnset, + gSkittyLevelUpLearnset, + gDelcattyLevelUpLearnset, + gKecleonLevelUpLearnset, + gBaltoyLevelUpLearnset, + gClaydolLevelUpLearnset, + gNosepassLevelUpLearnset, + gTorkoalLevelUpLearnset, + gSableyeLevelUpLearnset, + gBarboachLevelUpLearnset, + gWhiscashLevelUpLearnset, + gLuvdiscLevelUpLearnset, + gCorphishLevelUpLearnset, + gCrawdauntLevelUpLearnset, + gFeebasLevelUpLearnset, + gMiloticLevelUpLearnset, + gCarvanhaLevelUpLearnset, + gSharpedoLevelUpLearnset, + gTrapinchLevelUpLearnset, + gVibravaLevelUpLearnset, + gFlygonLevelUpLearnset, + gMakuhitaLevelUpLearnset, + gHariyamaLevelUpLearnset, + gElectrikeLevelUpLearnset, + gManectricLevelUpLearnset, + gNumelLevelUpLearnset, + gCameruptLevelUpLearnset, + gSphealLevelUpLearnset, + gSealeoLevelUpLearnset, + gWalreinLevelUpLearnset, + gCacneaLevelUpLearnset, + gCacturneLevelUpLearnset, + gSnoruntLevelUpLearnset, + gGlalieLevelUpLearnset, + gLunatoneLevelUpLearnset, + gSolrockLevelUpLearnset, + gAzurillLevelUpLearnset, + gSpoinkLevelUpLearnset, + gGrumpigLevelUpLearnset, + gPlusleLevelUpLearnset, + gMinunLevelUpLearnset, + gMawileLevelUpLearnset, + gMedititeLevelUpLearnset, + gMedichamLevelUpLearnset, + gSwabluLevelUpLearnset, + gAltariaLevelUpLearnset, + gWynautLevelUpLearnset, + gDuskullLevelUpLearnset, + gDusclopsLevelUpLearnset, + gRoseliaLevelUpLearnset, + gSlakothLevelUpLearnset, + gVigorothLevelUpLearnset, + gSlakingLevelUpLearnset, + gGulpinLevelUpLearnset, + gSwalotLevelUpLearnset, + gTropiusLevelUpLearnset, + gWhismurLevelUpLearnset, + gLoudredLevelUpLearnset, + gExploudLevelUpLearnset, + gClamperlLevelUpLearnset, + gHuntailLevelUpLearnset, + gGorebyssLevelUpLearnset, + gAbsolLevelUpLearnset, + gShuppetLevelUpLearnset, + gBanetteLevelUpLearnset, + gSeviperLevelUpLearnset, + gZangooseLevelUpLearnset, + gRelicanthLevelUpLearnset, + gAronLevelUpLearnset, + gLaironLevelUpLearnset, + gAggronLevelUpLearnset, + gCastformLevelUpLearnset, + gVolbeatLevelUpLearnset, + gIllumiseLevelUpLearnset, + gLileepLevelUpLearnset, + gCradilyLevelUpLearnset, + gAnorithLevelUpLearnset, + gArmaldoLevelUpLearnset, + gRaltsLevelUpLearnset, + gKirliaLevelUpLearnset, + gGardevoirLevelUpLearnset, + gBagonLevelUpLearnset, + gShelgonLevelUpLearnset, + gSalamenceLevelUpLearnset, + gBeldumLevelUpLearnset, + gMetangLevelUpLearnset, + gMetagrossLevelUpLearnset, + gRegirockLevelUpLearnset, + gRegiceLevelUpLearnset, + gRegisteelLevelUpLearnset, + gKyogreLevelUpLearnset, + gGroudonLevelUpLearnset, + gRayquazaLevelUpLearnset, + gLatiasLevelUpLearnset, + gLatiosLevelUpLearnset, + gJirachiLevelUpLearnset, + gDeoxysLevelUpLearnset, + gChimechoLevelUpLearnset +}; + +#endif //POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H diff --git a/include/data/pokemon/level_up_learnsets.h b/include/data/pokemon/level_up_learnsets.h new file mode 100644 index 0000000000..4035dc66a2 --- /dev/null +++ b/include/data/pokemon/level_up_learnsets.h @@ -0,0 +1,5623 @@ +#ifndef POKEEMERALD_LEVEL_UP_LEARNSETS_H +#define POKEEMERALD_LEVEL_UP_LEARNSETS_H + +#define LEVEL_UP_MOVE(lvl, move) ((lvl << 9) | move) +#define LEVEL_UP_END 0xffff + +const u16 gBulbasaurLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(10, MOVE_VINE_WHIP), + LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(15, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(20, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(25, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(32, MOVE_GROWTH), + LEVEL_UP_MOVE(39, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(46, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +const u16 gIvysaurLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(10, MOVE_VINE_WHIP), + LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(15, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(22, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(29, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(38, MOVE_GROWTH), + LEVEL_UP_MOVE(47, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(56, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +const u16 gVenusaurLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(10, MOVE_VINE_WHIP), + LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(15, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(22, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(29, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(41, MOVE_GROWTH), + LEVEL_UP_MOVE(53, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(65, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +const u16 gCharmanderLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_EMBER), + LEVEL_UP_MOVE(13, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(19, MOVE_RAGE), + LEVEL_UP_MOVE(25, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(31, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(37, MOVE_SLASH), + LEVEL_UP_MOVE(43, MOVE_DRAGON_RAGE), + LEVEL_UP_MOVE(49, MOVE_FIRE_SPIN), + LEVEL_UP_END +}; + +const u16 gCharmeleonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 7, MOVE_EMBER), + LEVEL_UP_MOVE(13, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(20, MOVE_RAGE), + LEVEL_UP_MOVE(27, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(34, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(41, MOVE_SLASH), + LEVEL_UP_MOVE(48, MOVE_DRAGON_RAGE), + LEVEL_UP_MOVE(55, MOVE_FIRE_SPIN), + LEVEL_UP_END +}; + +const u16 gCharizardLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 7, MOVE_EMBER), + LEVEL_UP_MOVE(13, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(20, MOVE_RAGE), + LEVEL_UP_MOVE(27, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(34, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(36, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(44, MOVE_SLASH), + LEVEL_UP_MOVE(54, MOVE_DRAGON_RAGE), + LEVEL_UP_MOVE(64, MOVE_FIRE_SPIN), + LEVEL_UP_END +}; + +const u16 gSquirtleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7, MOVE_BUBBLE), + LEVEL_UP_MOVE(10, MOVE_WITHDRAW), + LEVEL_UP_MOVE(13, MOVE_WATER_GUN), + LEVEL_UP_MOVE(18, MOVE_BITE), + LEVEL_UP_MOVE(23, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(28, MOVE_PROTECT), + LEVEL_UP_MOVE(33, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(40, MOVE_SKULL_BASH), + LEVEL_UP_MOVE(47, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gWartortleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7, MOVE_BUBBLE), + LEVEL_UP_MOVE(10, MOVE_WITHDRAW), + LEVEL_UP_MOVE(13, MOVE_WATER_GUN), + LEVEL_UP_MOVE(19, MOVE_BITE), + LEVEL_UP_MOVE(25, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(31, MOVE_PROTECT), + LEVEL_UP_MOVE(37, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(45, MOVE_SKULL_BASH), + LEVEL_UP_MOVE(53, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gBlastoiseLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7, MOVE_BUBBLE), + LEVEL_UP_MOVE(10, MOVE_WITHDRAW), + LEVEL_UP_MOVE(13, MOVE_WATER_GUN), + LEVEL_UP_MOVE(19, MOVE_BITE), + LEVEL_UP_MOVE(25, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(31, MOVE_PROTECT), + LEVEL_UP_MOVE(42, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(55, MOVE_SKULL_BASH), + LEVEL_UP_MOVE(68, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gCaterpieLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_END +}; + +const u16 gMetapodLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_HARDEN), + LEVEL_UP_END +}; + +const u16 gButterfreeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE(10, MOVE_CONFUSION), + LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(14, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(15, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(18, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(23, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(28, MOVE_GUST), + LEVEL_UP_MOVE(34, MOVE_PSYBEAM), + LEVEL_UP_MOVE(40, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(47, MOVE_SILVER_WIND), + LEVEL_UP_END +}; + +const u16 gWeedleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_END +}; + +const u16 gKakunaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_HARDEN), + LEVEL_UP_END +}; + +const u16 gBeedrillLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(10, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(15, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(20, MOVE_TWINEEDLE), + LEVEL_UP_MOVE(25, MOVE_RAGE), + LEVEL_UP_MOVE(30, MOVE_PURSUIT), + LEVEL_UP_MOVE(35, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(40, MOVE_AGILITY), + LEVEL_UP_MOVE(45, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +const u16 gPidgeyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_GUST), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(19, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(25, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(31, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(39, MOVE_AGILITY), + LEVEL_UP_MOVE(47, MOVE_MIRROR_MOVE), + LEVEL_UP_END +}; + +const u16 gPidgeottoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_GUST), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(20, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(27, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(34, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(43, MOVE_AGILITY), + LEVEL_UP_MOVE(52, MOVE_MIRROR_MOVE), + LEVEL_UP_END +}; + +const u16 gPidgeotLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_GUST), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(20, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(27, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(34, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(48, MOVE_AGILITY), + LEVEL_UP_MOVE(62, MOVE_MIRROR_MOVE), + LEVEL_UP_END +}; + +const u16 gRattataLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_HYPER_FANG), + LEVEL_UP_MOVE(20, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(27, MOVE_PURSUIT), + LEVEL_UP_MOVE(34, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(41, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +const u16 gRaticateLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_HYPER_FANG), + LEVEL_UP_MOVE(20, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(30, MOVE_PURSUIT), + LEVEL_UP_MOVE(40, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(50, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +const u16 gSpearowLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_LEER), + LEVEL_UP_MOVE(13, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(19, MOVE_PURSUIT), + LEVEL_UP_MOVE(25, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(31, MOVE_MIRROR_MOVE), + LEVEL_UP_MOVE(37, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(43, MOVE_AGILITY), + LEVEL_UP_END +}; + +const u16 gFearowLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 7, MOVE_LEER), + LEVEL_UP_MOVE(13, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(26, MOVE_PURSUIT), + LEVEL_UP_MOVE(32, MOVE_MIRROR_MOVE), + LEVEL_UP_MOVE(40, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(47, MOVE_AGILITY), + LEVEL_UP_END +}; + +const u16 gEkansLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 8, MOVE_POISON_STING), + LEVEL_UP_MOVE(13, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_GLARE), + LEVEL_UP_MOVE(25, MOVE_SCREECH), + LEVEL_UP_MOVE(32, MOVE_ACID), + LEVEL_UP_MOVE(37, MOVE_STOCKPILE), + LEVEL_UP_MOVE(37, MOVE_SWALLOW), + LEVEL_UP_MOVE(37, MOVE_SPIT_UP), + LEVEL_UP_MOVE(44, MOVE_HAZE), + LEVEL_UP_END +}; + +const u16 gArbokLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 8, MOVE_POISON_STING), + LEVEL_UP_MOVE(13, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_GLARE), + LEVEL_UP_MOVE(28, MOVE_SCREECH), + LEVEL_UP_MOVE(38, MOVE_ACID), + LEVEL_UP_MOVE(46, MOVE_STOCKPILE), + LEVEL_UP_MOVE(46, MOVE_SWALLOW), + LEVEL_UP_MOVE(46, MOVE_SPIT_UP), + LEVEL_UP_MOVE(56, MOVE_HAZE), + LEVEL_UP_END +}; + +const u16 gPikachuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 8, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(11, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(15, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(20, MOVE_SLAM), + LEVEL_UP_MOVE(26, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE(33, MOVE_AGILITY), + LEVEL_UP_MOVE(41, MOVE_THUNDER), + LEVEL_UP_MOVE(50, MOVE_LIGHT_SCREEN), + LEVEL_UP_END +}; + +const u16 gRaichuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_THUNDERBOLT), + LEVEL_UP_END +}; + +const u16 gSandshrewLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 6, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(11, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(17, MOVE_POISON_STING), + LEVEL_UP_MOVE(23, MOVE_SLASH), + LEVEL_UP_MOVE(30, MOVE_SWIFT), + LEVEL_UP_MOVE(37, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(45, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(53, MOVE_SANDSTORM), + LEVEL_UP_END +}; + +const u16 gSandslashLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 6, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(11, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(17, MOVE_POISON_STING), + LEVEL_UP_MOVE(24, MOVE_SLASH), + LEVEL_UP_MOVE(33, MOVE_SWIFT), + LEVEL_UP_MOVE(42, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(52, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(62, MOVE_SANDSTORM), + LEVEL_UP_END +}; + +const u16 gNidoranFLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 8, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(12, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(17, MOVE_POISON_STING), + LEVEL_UP_MOVE(20, MOVE_BITE), + LEVEL_UP_MOVE(23, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(30, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(38, MOVE_FLATTER), + LEVEL_UP_MOVE(47, MOVE_CRUNCH), + LEVEL_UP_END +}; + +const u16 gNidorinaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 8, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(12, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(18, MOVE_POISON_STING), + LEVEL_UP_MOVE(22, MOVE_BITE), + LEVEL_UP_MOVE(26, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(34, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(43, MOVE_FLATTER), + LEVEL_UP_MOVE(53, MOVE_CRUNCH), + LEVEL_UP_END +}; + +const u16 gNidoqueenLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE(23, MOVE_BODY_SLAM), + LEVEL_UP_END +}; + +const u16 gNidoranMLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 8, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(12, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(17, MOVE_POISON_STING), + LEVEL_UP_MOVE(20, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(23, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(30, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(38, MOVE_FLATTER), + LEVEL_UP_MOVE(47, MOVE_HORN_DRILL), + LEVEL_UP_END +}; + +const u16 gNidorinoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 8, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(12, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(18, MOVE_POISON_STING), + LEVEL_UP_MOVE(22, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(26, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(34, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(43, MOVE_FLATTER), + LEVEL_UP_MOVE(53, MOVE_HORN_DRILL), + LEVEL_UP_END +}; + +const u16 gNidokingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE(23, MOVE_THRASH), + LEVEL_UP_END +}; + +const u16 gClefairyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_ENCORE), + LEVEL_UP_MOVE( 9, MOVE_SING), + LEVEL_UP_MOVE(13, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(17, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE(21, MOVE_MINIMIZE), + LEVEL_UP_MOVE(25, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(29, MOVE_METRONOME), + LEVEL_UP_MOVE(33, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(37, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(41, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(45, MOVE_METEOR_MASH), + LEVEL_UP_END +}; + +const u16 gClefableLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE( 1, MOVE_MINIMIZE), + LEVEL_UP_MOVE( 1, MOVE_METRONOME), + LEVEL_UP_END +}; + +const u16 gVulpixLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 9, MOVE_ROAR), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(17, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(21, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(25, MOVE_IMPRISON), + LEVEL_UP_MOVE(29, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(33, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(37, MOVE_GRUDGE), + LEVEL_UP_MOVE(41, MOVE_FIRE_SPIN), + LEVEL_UP_END +}; + +const u16 gNinetalesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(45, MOVE_FIRE_SPIN), + LEVEL_UP_END +}; + +const u16 gJigglypuffLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 9, MOVE_POUND), + LEVEL_UP_MOVE(14, MOVE_DISABLE), + LEVEL_UP_MOVE(19, MOVE_ROLLOUT), + LEVEL_UP_MOVE(24, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(29, MOVE_REST), + LEVEL_UP_MOVE(34, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(39, MOVE_MIMIC), + LEVEL_UP_MOVE(44, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(49, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gWigglytuffLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), + LEVEL_UP_END +}; + +const u16 gZubatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE( 6, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(11, MOVE_ASTONISH), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(21, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(26, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(31, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(36, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(41, MOVE_POISON_FANG), + LEVEL_UP_MOVE(46, MOVE_HAZE), + LEVEL_UP_END +}; + +const u16 gGolbatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 6, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(11, MOVE_ASTONISH), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(21, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(28, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(35, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(42, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(49, MOVE_POISON_FANG), + LEVEL_UP_MOVE(56, MOVE_HAZE), + LEVEL_UP_END +}; + +const u16 gOddishLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 7, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(14, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(16, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(18, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(23, MOVE_ACID), + LEVEL_UP_MOVE(32, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(39, MOVE_PETAL_DANCE), + LEVEL_UP_END +}; + +const u16 gGloomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 7, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(14, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(16, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(18, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(24, MOVE_ACID), + LEVEL_UP_MOVE(35, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(44, MOVE_PETAL_DANCE), + LEVEL_UP_END +}; + +const u16 gVileplumeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(44, MOVE_PETAL_DANCE), + LEVEL_UP_END +}; + +const u16 gParasLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 7, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(19, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(25, MOVE_SPORE), + LEVEL_UP_MOVE(31, MOVE_SLASH), + LEVEL_UP_MOVE(37, MOVE_GROWTH), + LEVEL_UP_MOVE(43, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(49, MOVE_AROMATHERAPY), + LEVEL_UP_END +}; + +const u16 gParasectLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 7, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(19, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(27, MOVE_SPORE), + LEVEL_UP_MOVE(35, MOVE_SLASH), + LEVEL_UP_MOVE(43, MOVE_GROWTH), + LEVEL_UP_MOVE(51, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(59, MOVE_AROMATHERAPY), + LEVEL_UP_END +}; + +const u16 gVenonatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), + LEVEL_UP_MOVE( 9, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(17, MOVE_CONFUSION), + LEVEL_UP_MOVE(20, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(25, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(28, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(33, MOVE_PSYBEAM), + LEVEL_UP_MOVE(36, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(41, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +const u16 gVenomothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SILVER_WIND), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 9, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(17, MOVE_CONFUSION), + LEVEL_UP_MOVE(20, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(25, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(28, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(31, MOVE_GUST), + LEVEL_UP_MOVE(36, MOVE_PSYBEAM), + LEVEL_UP_MOVE(42, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(52, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +const u16 gDiglettLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 5, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(17, MOVE_DIG), + LEVEL_UP_MOVE(25, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(33, MOVE_SLASH), + LEVEL_UP_MOVE(41, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(49, MOVE_FISSURE), + LEVEL_UP_END +}; + +const u16 gDugtrioLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(17, MOVE_DIG), + LEVEL_UP_MOVE(25, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(26, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(38, MOVE_SLASH), + LEVEL_UP_MOVE(51, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(64, MOVE_FISSURE), + LEVEL_UP_END +}; + +const u16 gMeowthLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE(11, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_PAY_DAY), + LEVEL_UP_MOVE(28, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(35, MOVE_SCREECH), + LEVEL_UP_MOVE(41, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(46, MOVE_SLASH), + LEVEL_UP_MOVE(50, MOVE_FAKE_OUT), + LEVEL_UP_END +}; + +const u16 gPersianLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE(11, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_PAY_DAY), + LEVEL_UP_MOVE(29, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(38, MOVE_SCREECH), + LEVEL_UP_MOVE(46, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(53, MOVE_SLASH), + LEVEL_UP_MOVE(59, MOVE_FAKE_OUT), + LEVEL_UP_END +}; + +const u16 gPsyduckLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(10, MOVE_DISABLE), + LEVEL_UP_MOVE(16, MOVE_CONFUSION), + LEVEL_UP_MOVE(23, MOVE_SCREECH), + LEVEL_UP_MOVE(31, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(40, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gGolduckLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(10, MOVE_DISABLE), + LEVEL_UP_MOVE(16, MOVE_CONFUSION), + LEVEL_UP_MOVE(23, MOVE_SCREECH), + LEVEL_UP_MOVE(31, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(44, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(58, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gMankeyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 9, MOVE_LOW_KICK), + LEVEL_UP_MOVE(15, MOVE_KARATE_CHOP), + LEVEL_UP_MOVE(21, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(27, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(33, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(39, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE(45, MOVE_SCREECH), + LEVEL_UP_MOVE(51, MOVE_THRASH), + LEVEL_UP_END +}; + +const u16 gPrimeapeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 1, MOVE_RAGE), + LEVEL_UP_MOVE( 9, MOVE_LOW_KICK), + LEVEL_UP_MOVE(15, MOVE_KARATE_CHOP), + LEVEL_UP_MOVE(21, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(27, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(28, MOVE_RAGE), + LEVEL_UP_MOVE(36, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(45, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE(54, MOVE_SCREECH), + LEVEL_UP_MOVE(63, MOVE_THRASH), + LEVEL_UP_END +}; + +const u16 gGrowlitheLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_ROAR), + LEVEL_UP_MOVE( 7, MOVE_EMBER), + LEVEL_UP_MOVE(13, MOVE_LEER), + LEVEL_UP_MOVE(19, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(31, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(37, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(43, MOVE_AGILITY), + LEVEL_UP_MOVE(49, MOVE_FLAMETHROWER), + LEVEL_UP_END +}; + +const u16 gArcanineLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_ROAR), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(49, MOVE_EXTREME_SPEED), + LEVEL_UP_END +}; + +const u16 gPoliwagLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 7, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(13, MOVE_WATER_GUN), + LEVEL_UP_MOVE(19, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(25, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(31, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(37, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(43, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gPoliwhirlLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(13, MOVE_WATER_GUN), + LEVEL_UP_MOVE(19, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(27, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(35, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(43, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(51, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gPoliwrathLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE( 1, MOVE_SUBMISSION), + LEVEL_UP_MOVE(35, MOVE_SUBMISSION), + LEVEL_UP_MOVE(51, MOVE_MIND_READER), + LEVEL_UP_END +}; + +const u16 gAbraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_END +}; + +const u16 gKadabraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_MOVE( 1, MOVE_KINESIS), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE(16, MOVE_CONFUSION), + LEVEL_UP_MOVE(18, MOVE_DISABLE), + LEVEL_UP_MOVE(21, MOVE_PSYBEAM), + LEVEL_UP_MOVE(23, MOVE_REFLECT), + LEVEL_UP_MOVE(25, MOVE_RECOVER), + LEVEL_UP_MOVE(30, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(33, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE(36, MOVE_PSYCHIC), + LEVEL_UP_MOVE(43, MOVE_TRICK), + LEVEL_UP_END +}; + +const u16 gAlakazamLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_MOVE( 1, MOVE_KINESIS), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE(16, MOVE_CONFUSION), + LEVEL_UP_MOVE(18, MOVE_DISABLE), + LEVEL_UP_MOVE(21, MOVE_PSYBEAM), + LEVEL_UP_MOVE(23, MOVE_REFLECT), + LEVEL_UP_MOVE(25, MOVE_RECOVER), + LEVEL_UP_MOVE(30, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(33, MOVE_CALM_MIND), + LEVEL_UP_MOVE(36, MOVE_PSYCHIC), + LEVEL_UP_MOVE(43, MOVE_TRICK), + LEVEL_UP_END +}; + +const u16 gMachopLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(13, MOVE_KARATE_CHOP), + LEVEL_UP_MOVE(19, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(22, MOVE_FORESIGHT), + LEVEL_UP_MOVE(25, MOVE_REVENGE), + LEVEL_UP_MOVE(31, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(37, MOVE_SUBMISSION), + LEVEL_UP_MOVE(40, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE(43, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(49, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_END +}; + +const u16 gMachokeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(13, MOVE_KARATE_CHOP), + LEVEL_UP_MOVE(19, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(22, MOVE_FORESIGHT), + LEVEL_UP_MOVE(25, MOVE_REVENGE), + LEVEL_UP_MOVE(33, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(41, MOVE_SUBMISSION), + LEVEL_UP_MOVE(46, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE(51, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(59, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_END +}; + +const u16 gMachampLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(13, MOVE_KARATE_CHOP), + LEVEL_UP_MOVE(19, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(22, MOVE_FORESIGHT), + LEVEL_UP_MOVE(25, MOVE_REVENGE), + LEVEL_UP_MOVE(33, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(41, MOVE_SUBMISSION), + LEVEL_UP_MOVE(46, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE(51, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(59, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_END +}; + +const u16 gBellsproutLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 6, MOVE_GROWTH), + LEVEL_UP_MOVE(11, MOVE_WRAP), + LEVEL_UP_MOVE(15, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(17, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(19, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(23, MOVE_ACID), + LEVEL_UP_MOVE(30, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(37, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(45, MOVE_SLAM), + LEVEL_UP_END +}; + +const u16 gWeepinbellLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 6, MOVE_GROWTH), + LEVEL_UP_MOVE(11, MOVE_WRAP), + LEVEL_UP_MOVE(15, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(17, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(19, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(24, MOVE_ACID), + LEVEL_UP_MOVE(33, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(42, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(54, MOVE_SLAM), + LEVEL_UP_END +}; + +const u16 gVictreebelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_END +}; + +const u16 gTentacoolLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 6, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(12, MOVE_CONSTRICT), + LEVEL_UP_MOVE(19, MOVE_ACID), + LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(30, MOVE_WRAP), + LEVEL_UP_MOVE(36, MOVE_BARRIER), + LEVEL_UP_MOVE(43, MOVE_SCREECH), + LEVEL_UP_MOVE(49, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gTentacruelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), + LEVEL_UP_MOVE( 6, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(12, MOVE_CONSTRICT), + LEVEL_UP_MOVE(19, MOVE_ACID), + LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(30, MOVE_WRAP), + LEVEL_UP_MOVE(38, MOVE_BARRIER), + LEVEL_UP_MOVE(47, MOVE_SCREECH), + LEVEL_UP_MOVE(55, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gGeodudeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(11, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(16, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(21, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(26, MOVE_ROLLOUT), + LEVEL_UP_MOVE(31, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(36, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(41, MOVE_EXPLOSION), + LEVEL_UP_MOVE(46, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gGravelerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(11, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(16, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(21, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(29, MOVE_ROLLOUT), + LEVEL_UP_MOVE(37, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(45, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(53, MOVE_EXPLOSION), + LEVEL_UP_MOVE(62, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gGolemLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(11, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(16, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(21, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(29, MOVE_ROLLOUT), + LEVEL_UP_MOVE(37, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(45, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(53, MOVE_EXPLOSION), + LEVEL_UP_MOVE(62, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gPonytaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(14, MOVE_EMBER), + LEVEL_UP_MOVE(19, MOVE_STOMP), + LEVEL_UP_MOVE(25, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(38, MOVE_AGILITY), + LEVEL_UP_MOVE(45, MOVE_BOUNCE), + LEVEL_UP_MOVE(53, MOVE_FIRE_BLAST), + LEVEL_UP_END +}; + +const u16 gRapidashLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 5, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(14, MOVE_EMBER), + LEVEL_UP_MOVE(19, MOVE_STOMP), + LEVEL_UP_MOVE(25, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(38, MOVE_AGILITY), + LEVEL_UP_MOVE(40, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(50, MOVE_BOUNCE), + LEVEL_UP_MOVE(63, MOVE_FIRE_BLAST), + LEVEL_UP_END +}; + +const u16 gSlowpokeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CURSE), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 6, MOVE_GROWL), + LEVEL_UP_MOVE(15, MOVE_WATER_GUN), + LEVEL_UP_MOVE(20, MOVE_CONFUSION), + LEVEL_UP_MOVE(29, MOVE_DISABLE), + LEVEL_UP_MOVE(34, MOVE_HEADBUTT), + LEVEL_UP_MOVE(43, MOVE_AMNESIA), + LEVEL_UP_MOVE(48, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +const u16 gSlowbroLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CURSE), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 6, MOVE_GROWL), + LEVEL_UP_MOVE(15, MOVE_WATER_GUN), + LEVEL_UP_MOVE(20, MOVE_CONFUSION), + LEVEL_UP_MOVE(29, MOVE_DISABLE), + LEVEL_UP_MOVE(34, MOVE_HEADBUTT), + LEVEL_UP_MOVE(37, MOVE_WITHDRAW), + LEVEL_UP_MOVE(46, MOVE_AMNESIA), + LEVEL_UP_MOVE(54, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +const u16 gMagnemiteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_METAL_SOUND), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 6, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(11, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(16, MOVE_SONIC_BOOM), + LEVEL_UP_MOVE(21, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(26, MOVE_SPARK), + LEVEL_UP_MOVE(32, MOVE_LOCK_ON), + LEVEL_UP_MOVE(38, MOVE_SWIFT), + LEVEL_UP_MOVE(44, MOVE_SCREECH), + LEVEL_UP_MOVE(50, MOVE_ZAP_CANNON), + LEVEL_UP_END +}; + +const u16 gMagnetonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_METAL_SOUND), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 6, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(11, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(16, MOVE_SONIC_BOOM), + LEVEL_UP_MOVE(21, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(26, MOVE_SPARK), + LEVEL_UP_MOVE(35, MOVE_LOCK_ON), + LEVEL_UP_MOVE(44, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE(53, MOVE_SCREECH), + LEVEL_UP_MOVE(62, MOVE_ZAP_CANNON), + LEVEL_UP_END +}; + +const u16 gFarfetchdLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 6, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(11, MOVE_LEER), + LEVEL_UP_MOVE(16, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(21, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(26, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(31, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(36, MOVE_AGILITY), + LEVEL_UP_MOVE(41, MOVE_SLASH), + LEVEL_UP_MOVE(46, MOVE_FALSE_SWIPE), + LEVEL_UP_END +}; + +const u16 gDoduoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_PURSUIT), + LEVEL_UP_MOVE(13, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(21, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE(25, MOVE_RAGE), + LEVEL_UP_MOVE(33, MOVE_UPROAR), + LEVEL_UP_MOVE(37, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(45, MOVE_AGILITY), + LEVEL_UP_END +}; + +const u16 gDodrioLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PURSUIT), + LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_PURSUIT), + LEVEL_UP_MOVE(13, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(21, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE(25, MOVE_RAGE), + LEVEL_UP_MOVE(38, MOVE_UPROAR), + LEVEL_UP_MOVE(47, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(60, MOVE_AGILITY), + LEVEL_UP_END +}; + +const u16 gSeelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 9, MOVE_GROWL), + LEVEL_UP_MOVE(17, MOVE_ICY_WIND), + LEVEL_UP_MOVE(21, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(29, MOVE_REST), + LEVEL_UP_MOVE(37, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(41, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(49, MOVE_SAFEGUARD), + LEVEL_UP_END +}; + +const u16 gDewgongLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), + LEVEL_UP_MOVE( 1, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE( 9, MOVE_GROWL), + LEVEL_UP_MOVE(17, MOVE_ICY_WIND), + LEVEL_UP_MOVE(21, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(29, MOVE_REST), + LEVEL_UP_MOVE(34, MOVE_SHEER_COLD), + LEVEL_UP_MOVE(42, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(51, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(64, MOVE_SAFEGUARD), + LEVEL_UP_END +}; + +const u16 gGrimerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 4, MOVE_HARDEN), + LEVEL_UP_MOVE( 8, MOVE_DISABLE), + LEVEL_UP_MOVE(13, MOVE_SLUDGE), + LEVEL_UP_MOVE(19, MOVE_MINIMIZE), + LEVEL_UP_MOVE(26, MOVE_SCREECH), + LEVEL_UP_MOVE(34, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(43, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(53, MOVE_MEMENTO), + LEVEL_UP_END +}; + +const u16 gMukLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 4, MOVE_HARDEN), + LEVEL_UP_MOVE( 8, MOVE_DISABLE), + LEVEL_UP_MOVE(13, MOVE_SLUDGE), + LEVEL_UP_MOVE(19, MOVE_MINIMIZE), + LEVEL_UP_MOVE(26, MOVE_SCREECH), + LEVEL_UP_MOVE(34, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(47, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(61, MOVE_MEMENTO), + LEVEL_UP_END +}; + +const u16 gShellderLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 9, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(17, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(25, MOVE_PROTECT), + LEVEL_UP_MOVE(33, MOVE_LEER), + LEVEL_UP_MOVE(41, MOVE_CLAMP), + LEVEL_UP_MOVE(49, MOVE_ICE_BEAM), + LEVEL_UP_END +}; + +const u16 gCloysterLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE(33, MOVE_SPIKES), + LEVEL_UP_MOVE(41, MOVE_SPIKE_CANNON), + LEVEL_UP_END +}; + +const u16 gGastlyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 8, MOVE_SPITE), + LEVEL_UP_MOVE(13, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(16, MOVE_CURSE), + LEVEL_UP_MOVE(21, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(28, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(33, MOVE_DREAM_EATER), + LEVEL_UP_MOVE(36, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; + +const u16 gHaunterLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE( 8, MOVE_SPITE), + LEVEL_UP_MOVE(13, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(16, MOVE_CURSE), + LEVEL_UP_MOVE(21, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(25, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE(31, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(39, MOVE_DREAM_EATER), + LEVEL_UP_MOVE(48, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; + +const u16 gGengarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE( 8, MOVE_SPITE), + LEVEL_UP_MOVE(13, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(16, MOVE_CURSE), + LEVEL_UP_MOVE(21, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(25, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE(31, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(39, MOVE_DREAM_EATER), + LEVEL_UP_MOVE(48, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; + +const u16 gOnixLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 9, MOVE_BIND), + LEVEL_UP_MOVE(13, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(21, MOVE_HARDEN), + LEVEL_UP_MOVE(25, MOVE_RAGE), + LEVEL_UP_MOVE(33, MOVE_SANDSTORM), + LEVEL_UP_MOVE(37, MOVE_SLAM), + LEVEL_UP_MOVE(45, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(49, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(57, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gDrowzeeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(10, MOVE_DISABLE), + LEVEL_UP_MOVE(18, MOVE_CONFUSION), + LEVEL_UP_MOVE(25, MOVE_HEADBUTT), + LEVEL_UP_MOVE(31, MOVE_POISON_GAS), + LEVEL_UP_MOVE(36, MOVE_MEDITATE), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC), + LEVEL_UP_MOVE(43, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(45, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; + +const u16 gHypnoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE(10, MOVE_DISABLE), + LEVEL_UP_MOVE(18, MOVE_CONFUSION), + LEVEL_UP_MOVE(25, MOVE_HEADBUTT), + LEVEL_UP_MOVE(33, MOVE_POISON_GAS), + LEVEL_UP_MOVE(40, MOVE_MEDITATE), + LEVEL_UP_MOVE(49, MOVE_PSYCHIC), + LEVEL_UP_MOVE(55, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(60, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; + +const u16 gKrabbyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 5, MOVE_LEER), + LEVEL_UP_MOVE(12, MOVE_VICE_GRIP), + LEVEL_UP_MOVE(16, MOVE_HARDEN), + LEVEL_UP_MOVE(23, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(27, MOVE_STOMP), + LEVEL_UP_MOVE(34, MOVE_GUILLOTINE), + LEVEL_UP_MOVE(41, MOVE_PROTECT), + LEVEL_UP_MOVE(45, MOVE_CRABHAMMER), + LEVEL_UP_END +}; + +const u16 gKinglerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_VICE_GRIP), + LEVEL_UP_MOVE( 5, MOVE_LEER), + LEVEL_UP_MOVE(12, MOVE_VICE_GRIP), + LEVEL_UP_MOVE(16, MOVE_HARDEN), + LEVEL_UP_MOVE(23, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(27, MOVE_STOMP), + LEVEL_UP_MOVE(38, MOVE_GUILLOTINE), + LEVEL_UP_MOVE(49, MOVE_PROTECT), + LEVEL_UP_MOVE(57, MOVE_CRABHAMMER), + LEVEL_UP_END +}; + +const u16 gVoltorbLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 8, MOVE_SCREECH), + LEVEL_UP_MOVE(15, MOVE_SONIC_BOOM), + LEVEL_UP_MOVE(21, MOVE_SPARK), + LEVEL_UP_MOVE(27, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(32, MOVE_ROLLOUT), + LEVEL_UP_MOVE(37, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(42, MOVE_SWIFT), + LEVEL_UP_MOVE(46, MOVE_EXPLOSION), + LEVEL_UP_MOVE(49, MOVE_MIRROR_COAT), + LEVEL_UP_END +}; + +const u16 gElectrodeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 1, MOVE_SONIC_BOOM), + LEVEL_UP_MOVE( 8, MOVE_SCREECH), + LEVEL_UP_MOVE(15, MOVE_SONIC_BOOM), + LEVEL_UP_MOVE(21, MOVE_SPARK), + LEVEL_UP_MOVE(27, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(34, MOVE_ROLLOUT), + LEVEL_UP_MOVE(41, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(48, MOVE_SWIFT), + LEVEL_UP_MOVE(54, MOVE_EXPLOSION), + LEVEL_UP_MOVE(59, MOVE_MIRROR_COAT), + LEVEL_UP_END +}; + +const u16 gExeggcuteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BARRAGE), + LEVEL_UP_MOVE( 1, MOVE_UPROAR), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 7, MOVE_REFLECT), + LEVEL_UP_MOVE(13, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(19, MOVE_CONFUSION), + LEVEL_UP_MOVE(25, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(31, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(37, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(43, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +const u16 gExeggutorLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BARRAGE), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE(19, MOVE_STOMP), + LEVEL_UP_MOVE(31, MOVE_EGG_BOMB), + LEVEL_UP_END +}; + +const u16 gCuboneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 9, MOVE_BONE_CLUB), + LEVEL_UP_MOVE(13, MOVE_HEADBUTT), + LEVEL_UP_MOVE(17, MOVE_LEER), + LEVEL_UP_MOVE(21, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(25, MOVE_BONEMERANG), + LEVEL_UP_MOVE(29, MOVE_RAGE), + LEVEL_UP_MOVE(33, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(37, MOVE_THRASH), + LEVEL_UP_MOVE(41, MOVE_BONE_RUSH), + LEVEL_UP_MOVE(45, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gMarowakLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_BONE_CLUB), + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 9, MOVE_BONE_CLUB), + LEVEL_UP_MOVE(13, MOVE_HEADBUTT), + LEVEL_UP_MOVE(17, MOVE_LEER), + LEVEL_UP_MOVE(21, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(25, MOVE_BONEMERANG), + LEVEL_UP_MOVE(32, MOVE_RAGE), + LEVEL_UP_MOVE(39, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(46, MOVE_THRASH), + LEVEL_UP_MOVE(53, MOVE_BONE_RUSH), + LEVEL_UP_MOVE(61, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gHitmonleeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_REVENGE), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 6, MOVE_MEDITATE), + LEVEL_UP_MOVE(11, MOVE_ROLLING_KICK), + LEVEL_UP_MOVE(16, MOVE_JUMP_KICK), + LEVEL_UP_MOVE(20, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(21, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(26, MOVE_HI_JUMP_KICK), + LEVEL_UP_MOVE(31, MOVE_MIND_READER), + LEVEL_UP_MOVE(36, MOVE_FORESIGHT), + LEVEL_UP_MOVE(41, MOVE_ENDURE), + LEVEL_UP_MOVE(46, MOVE_MEGA_KICK), + LEVEL_UP_MOVE(51, MOVE_REVERSAL), + LEVEL_UP_END +}; + +const u16 gHitmonchanLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_REVENGE), + LEVEL_UP_MOVE( 1, MOVE_COMET_PUNCH), + LEVEL_UP_MOVE( 7, MOVE_AGILITY), + LEVEL_UP_MOVE(13, MOVE_PURSUIT), + LEVEL_UP_MOVE(20, MOVE_MACH_PUNCH), + LEVEL_UP_MOVE(26, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE(26, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE(26, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE(32, MOVE_SKY_UPPERCUT), + LEVEL_UP_MOVE(38, MOVE_MEGA_PUNCH), + LEVEL_UP_MOVE(44, MOVE_DETECT), + LEVEL_UP_MOVE(50, MOVE_COUNTER), + LEVEL_UP_END +}; + +const u16 gLickitungLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 7, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(12, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(18, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(23, MOVE_STOMP), + LEVEL_UP_MOVE(29, MOVE_WRAP), + LEVEL_UP_MOVE(34, MOVE_DISABLE), + LEVEL_UP_MOVE(40, MOVE_SLAM), + LEVEL_UP_MOVE(45, MOVE_SCREECH), + LEVEL_UP_MOVE(51, MOVE_REFRESH), + LEVEL_UP_END +}; + +const u16 gKoffingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 9, MOVE_SMOG), + LEVEL_UP_MOVE(17, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(21, MOVE_SLUDGE), + LEVEL_UP_MOVE(25, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(33, MOVE_HAZE), + LEVEL_UP_MOVE(41, MOVE_EXPLOSION), + LEVEL_UP_MOVE(45, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(49, MOVE_MEMENTO), + LEVEL_UP_END +}; + +const u16 gWeezingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE( 9, MOVE_SMOG), + LEVEL_UP_MOVE(17, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(21, MOVE_SLUDGE), + LEVEL_UP_MOVE(25, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(33, MOVE_HAZE), + LEVEL_UP_MOVE(44, MOVE_EXPLOSION), + LEVEL_UP_MOVE(51, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(58, MOVE_MEMENTO), + LEVEL_UP_END +}; + +const u16 gRhyhornLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(10, MOVE_STOMP), + LEVEL_UP_MOVE(15, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(24, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(29, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(38, MOVE_HORN_DRILL), + LEVEL_UP_MOVE(43, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(52, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(57, MOVE_MEGAHORN), + LEVEL_UP_END +}; + +const u16 gRhydonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_STOMP), + LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(10, MOVE_STOMP), + LEVEL_UP_MOVE(15, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(24, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(29, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(38, MOVE_HORN_DRILL), + LEVEL_UP_MOVE(46, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(58, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(66, MOVE_MEGAHORN), + LEVEL_UP_END +}; + +const u16 gChanseyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 9, MOVE_REFRESH), + LEVEL_UP_MOVE(13, MOVE_SOFT_BOILED), + LEVEL_UP_MOVE(17, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(23, MOVE_MINIMIZE), + LEVEL_UP_MOVE(29, MOVE_SING), + LEVEL_UP_MOVE(35, MOVE_EGG_BOMB), + LEVEL_UP_MOVE(41, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(49, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(57, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gTangelaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_INGRAIN), + LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), + LEVEL_UP_MOVE( 4, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(10, MOVE_ABSORB), + LEVEL_UP_MOVE(13, MOVE_GROWTH), + LEVEL_UP_MOVE(19, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(22, MOVE_VINE_WHIP), + LEVEL_UP_MOVE(28, MOVE_BIND), + LEVEL_UP_MOVE(31, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(37, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(40, MOVE_SLAM), + LEVEL_UP_MOVE(46, MOVE_TICKLE), + LEVEL_UP_END +}; + +const u16 gKangaskhanLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_COMET_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(19, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(25, MOVE_MEGA_PUNCH), + LEVEL_UP_MOVE(31, MOVE_RAGE), + LEVEL_UP_MOVE(37, MOVE_ENDURE), + LEVEL_UP_MOVE(43, MOVE_DIZZY_PUNCH), + LEVEL_UP_MOVE(49, MOVE_REVERSAL), + LEVEL_UP_END +}; + +const u16 gHorseaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(15, MOVE_LEER), + LEVEL_UP_MOVE(22, MOVE_WATER_GUN), + LEVEL_UP_MOVE(29, MOVE_TWISTER), + LEVEL_UP_MOVE(36, MOVE_AGILITY), + LEVEL_UP_MOVE(43, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(50, MOVE_DRAGON_DANCE), + LEVEL_UP_END +}; + +const u16 gSeadraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(15, MOVE_LEER), + LEVEL_UP_MOVE(22, MOVE_WATER_GUN), + LEVEL_UP_MOVE(29, MOVE_TWISTER), + LEVEL_UP_MOVE(40, MOVE_AGILITY), + LEVEL_UP_MOVE(51, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(62, MOVE_DRAGON_DANCE), + LEVEL_UP_END +}; + +const u16 gGoldeenLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), + LEVEL_UP_MOVE(10, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(15, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(24, MOVE_FLAIL), + LEVEL_UP_MOVE(29, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(38, MOVE_WATERFALL), + LEVEL_UP_MOVE(43, MOVE_HORN_DRILL), + LEVEL_UP_MOVE(52, MOVE_AGILITY), + LEVEL_UP_END +}; + +const u16 gSeakingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(10, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(15, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(24, MOVE_FLAIL), + LEVEL_UP_MOVE(29, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(41, MOVE_WATERFALL), + LEVEL_UP_MOVE(49, MOVE_HORN_DRILL), + LEVEL_UP_MOVE(61, MOVE_AGILITY), + LEVEL_UP_END +}; + +const u16 gStaryuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), + LEVEL_UP_MOVE(10, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(15, MOVE_RECOVER), + LEVEL_UP_MOVE(19, MOVE_CAMOUFLAGE), + LEVEL_UP_MOVE(24, MOVE_SWIFT), + LEVEL_UP_MOVE(28, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(33, MOVE_MINIMIZE), + LEVEL_UP_MOVE(37, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(42, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(46, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gStarmieLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 1, MOVE_RECOVER), + LEVEL_UP_MOVE( 1, MOVE_SWIFT), + LEVEL_UP_MOVE(33, MOVE_CONFUSE_RAY), + LEVEL_UP_END +}; + +const u16 gMrmimeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BARRIER), + LEVEL_UP_MOVE( 5, MOVE_CONFUSION), + LEVEL_UP_MOVE( 9, MOVE_SUBSTITUTE), + LEVEL_UP_MOVE(13, MOVE_MEDITATE), + LEVEL_UP_MOVE(17, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(21, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(21, MOVE_REFLECT), + LEVEL_UP_MOVE(25, MOVE_ENCORE), + LEVEL_UP_MOVE(29, MOVE_PSYBEAM), + LEVEL_UP_MOVE(33, MOVE_RECYCLE), + LEVEL_UP_MOVE(37, MOVE_TRICK), + LEVEL_UP_MOVE(41, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE(45, MOVE_PSYCHIC), + LEVEL_UP_MOVE(49, MOVE_BATON_PASS), + LEVEL_UP_MOVE(53, MOVE_SAFEGUARD), + LEVEL_UP_END +}; + +const u16 gScytherLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 6, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(11, MOVE_PURSUIT), + LEVEL_UP_MOVE(16, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(21, MOVE_AGILITY), + LEVEL_UP_MOVE(26, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(31, MOVE_SLASH), + LEVEL_UP_MOVE(36, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(41, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(46, MOVE_FURY_CUTTER), + LEVEL_UP_END +}; + +const u16 gJynxLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_LOVELY_KISS), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 9, MOVE_LOVELY_KISS), + LEVEL_UP_MOVE(13, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(21, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(25, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE(35, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(41, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(51, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(57, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(67, MOVE_BLIZZARD), + LEVEL_UP_END +}; + +const u16 gElectabuzzLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE( 9, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE(17, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(25, MOVE_SWIFT), + LEVEL_UP_MOVE(36, MOVE_SCREECH), + LEVEL_UP_MOVE(47, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE(58, MOVE_THUNDER), + LEVEL_UP_END +}; + +const u16 gMagmarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE( 7, MOVE_LEER), + LEVEL_UP_MOVE(13, MOVE_SMOG), + LEVEL_UP_MOVE(19, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE(25, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(33, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(41, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(49, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(57, MOVE_FIRE_BLAST), + LEVEL_UP_END +}; + +const u16 gPinsirLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VICE_GRIP), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 7, MOVE_BIND), + LEVEL_UP_MOVE(13, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(19, MOVE_HARDEN), + LEVEL_UP_MOVE(25, MOVE_REVENGE), + LEVEL_UP_MOVE(31, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(37, MOVE_GUILLOTINE), + LEVEL_UP_MOVE(43, MOVE_SUBMISSION), + LEVEL_UP_MOVE(49, MOVE_SWORDS_DANCE), + LEVEL_UP_END +}; + +const u16 gTaurosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 8, MOVE_RAGE), + LEVEL_UP_MOVE(13, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(19, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(26, MOVE_PURSUIT), + LEVEL_UP_MOVE(34, MOVE_REST), + LEVEL_UP_MOVE(43, MOVE_THRASH), + LEVEL_UP_MOVE(53, MOVE_TAKE_DOWN), + LEVEL_UP_END +}; + +const u16 gMagikarpLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE(15, MOVE_TACKLE), + LEVEL_UP_MOVE(30, MOVE_FLAIL), + LEVEL_UP_END +}; + +const u16 gGyaradosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THRASH), + LEVEL_UP_MOVE(20, MOVE_BITE), + LEVEL_UP_MOVE(25, MOVE_DRAGON_RAGE), + LEVEL_UP_MOVE(30, MOVE_LEER), + LEVEL_UP_MOVE(35, MOVE_TWISTER), + LEVEL_UP_MOVE(40, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(45, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(50, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(55, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +const u16 gLaprasLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 7, MOVE_MIST), + LEVEL_UP_MOVE(13, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(19, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(25, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(31, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(37, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(43, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(49, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(55, MOVE_SHEER_COLD), + LEVEL_UP_END +}; + +const u16 gDittoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TRANSFORM), + LEVEL_UP_END +}; + +const u16 gEeveeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 8, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(16, MOVE_GROWL), + LEVEL_UP_MOVE(23, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(30, MOVE_BITE), + LEVEL_UP_MOVE(36, MOVE_BATON_PASS), + LEVEL_UP_MOVE(42, MOVE_TAKE_DOWN), + LEVEL_UP_END +}; + +const u16 gVaporeonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 8, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(16, MOVE_WATER_GUN), + LEVEL_UP_MOVE(23, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(30, MOVE_BITE), + LEVEL_UP_MOVE(36, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(42, MOVE_HAZE), + LEVEL_UP_MOVE(47, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(52, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gJolteonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 8, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(16, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(23, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(30, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(36, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(42, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(47, MOVE_AGILITY), + LEVEL_UP_MOVE(52, MOVE_THUNDER), + LEVEL_UP_END +}; + +const u16 gFlareonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 8, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(16, MOVE_EMBER), + LEVEL_UP_MOVE(23, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(30, MOVE_BITE), + LEVEL_UP_MOVE(36, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(42, MOVE_SMOG), + LEVEL_UP_MOVE(47, MOVE_LEER), + LEVEL_UP_MOVE(52, MOVE_FLAMETHROWER), + LEVEL_UP_END +}; + +const u16 gPorygonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONVERSION_2), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_CONVERSION), + LEVEL_UP_MOVE( 9, MOVE_AGILITY), + LEVEL_UP_MOVE(12, MOVE_PSYBEAM), + LEVEL_UP_MOVE(20, MOVE_RECOVER), + LEVEL_UP_MOVE(24, MOVE_SHARPEN), + LEVEL_UP_MOVE(32, MOVE_LOCK_ON), + LEVEL_UP_MOVE(36, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE(44, MOVE_RECYCLE), + LEVEL_UP_MOVE(48, MOVE_ZAP_CANNON), + LEVEL_UP_END +}; + +const u16 gOmanyteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE(13, MOVE_BITE), + LEVEL_UP_MOVE(19, MOVE_WATER_GUN), + LEVEL_UP_MOVE(25, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(31, MOVE_LEER), + LEVEL_UP_MOVE(37, MOVE_PROTECT), + LEVEL_UP_MOVE(43, MOVE_TICKLE), + LEVEL_UP_MOVE(49, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(55, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gOmastarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_BITE), + LEVEL_UP_MOVE(19, MOVE_WATER_GUN), + LEVEL_UP_MOVE(25, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(31, MOVE_LEER), + LEVEL_UP_MOVE(37, MOVE_PROTECT), + LEVEL_UP_MOVE(40, MOVE_SPIKE_CANNON), + LEVEL_UP_MOVE(46, MOVE_TICKLE), + LEVEL_UP_MOVE(55, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(65, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gKabutoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE(13, MOVE_ABSORB), + LEVEL_UP_MOVE(19, MOVE_LEER), + LEVEL_UP_MOVE(25, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(31, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(37, MOVE_ENDURE), + LEVEL_UP_MOVE(43, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(49, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(55, MOVE_ANCIENT_POWER), + LEVEL_UP_END +}; + +const u16 gKabutopsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE(13, MOVE_ABSORB), + LEVEL_UP_MOVE(19, MOVE_LEER), + LEVEL_UP_MOVE(25, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(31, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(37, MOVE_ENDURE), + LEVEL_UP_MOVE(40, MOVE_SLASH), + LEVEL_UP_MOVE(46, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(55, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(65, MOVE_ANCIENT_POWER), + LEVEL_UP_END +}; + +const u16 gAerodactylLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 8, MOVE_AGILITY), + LEVEL_UP_MOVE(15, MOVE_BITE), + LEVEL_UP_MOVE(22, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(29, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(36, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(43, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(50, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +const u16 gSnorlaxLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 6, MOVE_AMNESIA), + LEVEL_UP_MOVE(10, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(15, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(19, MOVE_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_YAWN), + LEVEL_UP_MOVE(28, MOVE_REST), + LEVEL_UP_MOVE(28, MOVE_SNORE), + LEVEL_UP_MOVE(33, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(37, MOVE_BLOCK), + LEVEL_UP_MOVE(42, MOVE_COVET), + LEVEL_UP_MOVE(46, MOVE_ROLLOUT), + LEVEL_UP_MOVE(51, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +const u16 gArticunoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(13, MOVE_MIST), + LEVEL_UP_MOVE(25, MOVE_AGILITY), + LEVEL_UP_MOVE(37, MOVE_MIND_READER), + LEVEL_UP_MOVE(49, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(61, MOVE_REFLECT), + LEVEL_UP_MOVE(73, MOVE_BLIZZARD), + LEVEL_UP_MOVE(85, MOVE_SHEER_COLD), + LEVEL_UP_END +}; + +const u16 gZapdosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(13, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(25, MOVE_AGILITY), + LEVEL_UP_MOVE(37, MOVE_DETECT), + LEVEL_UP_MOVE(49, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(61, MOVE_CHARGE), + LEVEL_UP_MOVE(73, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(85, MOVE_THUNDER), + LEVEL_UP_END +}; + +const u16 gMoltresLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE(13, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(25, MOVE_AGILITY), + LEVEL_UP_MOVE(37, MOVE_ENDURE), + LEVEL_UP_MOVE(49, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(61, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(73, MOVE_HEAT_WAVE), + LEVEL_UP_MOVE(85, MOVE_SKY_ATTACK), + LEVEL_UP_END +}; + +const u16 gDratiniLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 8, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(15, MOVE_TWISTER), + LEVEL_UP_MOVE(22, MOVE_DRAGON_RAGE), + LEVEL_UP_MOVE(29, MOVE_SLAM), + LEVEL_UP_MOVE(36, MOVE_AGILITY), + LEVEL_UP_MOVE(43, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(50, MOVE_OUTRAGE), + LEVEL_UP_MOVE(57, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +const u16 gDragonairLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_TWISTER), + LEVEL_UP_MOVE( 8, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(15, MOVE_TWISTER), + LEVEL_UP_MOVE(22, MOVE_DRAGON_RAGE), + LEVEL_UP_MOVE(29, MOVE_SLAM), + LEVEL_UP_MOVE(38, MOVE_AGILITY), + LEVEL_UP_MOVE(47, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(56, MOVE_OUTRAGE), + LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +const u16 gDragoniteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_TWISTER), + LEVEL_UP_MOVE( 8, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(15, MOVE_TWISTER), + LEVEL_UP_MOVE(22, MOVE_DRAGON_RAGE), + LEVEL_UP_MOVE(29, MOVE_SLAM), + LEVEL_UP_MOVE(38, MOVE_AGILITY), + LEVEL_UP_MOVE(47, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(55, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(61, MOVE_OUTRAGE), + LEVEL_UP_MOVE(75, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +const u16 gMewtwoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE(11, MOVE_BARRIER), + LEVEL_UP_MOVE(22, MOVE_SWIFT), + LEVEL_UP_MOVE(33, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(44, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(55, MOVE_MIST), + LEVEL_UP_MOVE(66, MOVE_PSYCHIC), + LEVEL_UP_MOVE(77, MOVE_AMNESIA), + LEVEL_UP_MOVE(88, MOVE_RECOVER), + LEVEL_UP_MOVE(99, MOVE_SAFEGUARD), + LEVEL_UP_END +}; + +const u16 gMewLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE(10, MOVE_TRANSFORM), + LEVEL_UP_MOVE(20, MOVE_MEGA_PUNCH), + LEVEL_UP_MOVE(30, MOVE_METRONOME), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC), + LEVEL_UP_MOVE(50, MOVE_ANCIENT_POWER), + LEVEL_UP_END +}; + +const u16 gChikoritaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 8, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(12, MOVE_REFLECT), + LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(22, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(29, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(36, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(43, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(50, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +const u16 gBayleefLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_REFLECT), + LEVEL_UP_MOVE( 8, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(12, MOVE_REFLECT), + LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(23, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(31, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(39, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(47, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(55, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +const u16 gMeganiumLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_REFLECT), + LEVEL_UP_MOVE( 8, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(12, MOVE_REFLECT), + LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(23, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(31, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(41, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(51, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(61, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +const u16 gCyndaquilLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 6, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(12, MOVE_EMBER), + LEVEL_UP_MOVE(19, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(27, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(36, MOVE_SWIFT), + LEVEL_UP_MOVE(46, MOVE_FLAMETHROWER), + LEVEL_UP_END +}; + +const u16 gQuilavaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 6, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(12, MOVE_EMBER), + LEVEL_UP_MOVE(21, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(31, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(42, MOVE_SWIFT), + LEVEL_UP_MOVE(54, MOVE_FLAMETHROWER), + LEVEL_UP_END +}; + +const u16 gTyphlosionLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 6, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(12, MOVE_EMBER), + LEVEL_UP_MOVE(21, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(31, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(45, MOVE_SWIFT), + LEVEL_UP_MOVE(60, MOVE_FLAMETHROWER), + LEVEL_UP_END +}; + +const u16 gTotodileLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_RAGE), + LEVEL_UP_MOVE(13, MOVE_WATER_GUN), + LEVEL_UP_MOVE(20, MOVE_BITE), + LEVEL_UP_MOVE(27, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(35, MOVE_SLASH), + LEVEL_UP_MOVE(43, MOVE_SCREECH), + LEVEL_UP_MOVE(52, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gCroconawLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_RAGE), + LEVEL_UP_MOVE( 7, MOVE_RAGE), + LEVEL_UP_MOVE(13, MOVE_WATER_GUN), + LEVEL_UP_MOVE(21, MOVE_BITE), + LEVEL_UP_MOVE(28, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(37, MOVE_SLASH), + LEVEL_UP_MOVE(45, MOVE_SCREECH), + LEVEL_UP_MOVE(55, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gFeraligatrLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_RAGE), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_RAGE), + LEVEL_UP_MOVE(13, MOVE_WATER_GUN), + LEVEL_UP_MOVE(21, MOVE_BITE), + LEVEL_UP_MOVE(28, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(38, MOVE_SLASH), + LEVEL_UP_MOVE(47, MOVE_SCREECH), + LEVEL_UP_MOVE(58, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gSentretLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(17, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(24, MOVE_SLAM), + LEVEL_UP_MOVE(31, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE(40, MOVE_REST), + LEVEL_UP_MOVE(49, MOVE_AMNESIA), + LEVEL_UP_END +}; + +const u16 gFurretLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(19, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(28, MOVE_SLAM), + LEVEL_UP_MOVE(37, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE(48, MOVE_REST), + LEVEL_UP_MOVE(59, MOVE_AMNESIA), + LEVEL_UP_END +}; + +const u16 gHoothootLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 6, MOVE_FORESIGHT), + LEVEL_UP_MOVE(11, MOVE_PECK), + LEVEL_UP_MOVE(16, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(22, MOVE_REFLECT), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(34, MOVE_CONFUSION), + LEVEL_UP_MOVE(48, MOVE_DREAM_EATER), + LEVEL_UP_END +}; + +const u16 gNoctowlLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 6, MOVE_FORESIGHT), + LEVEL_UP_MOVE(11, MOVE_PECK), + LEVEL_UP_MOVE(16, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(25, MOVE_REFLECT), + LEVEL_UP_MOVE(33, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(41, MOVE_CONFUSION), + LEVEL_UP_MOVE(57, MOVE_DREAM_EATER), + LEVEL_UP_END +}; + +const u16 gLedybaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 8, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(15, MOVE_COMET_PUNCH), + LEVEL_UP_MOVE(22, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(22, MOVE_REFLECT), + LEVEL_UP_MOVE(22, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(29, MOVE_BATON_PASS), + LEVEL_UP_MOVE(36, MOVE_SWIFT), + LEVEL_UP_MOVE(43, MOVE_AGILITY), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gLedianLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 8, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(15, MOVE_COMET_PUNCH), + LEVEL_UP_MOVE(24, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(24, MOVE_REFLECT), + LEVEL_UP_MOVE(24, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(33, MOVE_BATON_PASS), + LEVEL_UP_MOVE(42, MOVE_SWIFT), + LEVEL_UP_MOVE(51, MOVE_AGILITY), + LEVEL_UP_MOVE(60, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gSpinarakLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 6, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(11, MOVE_CONSTRICT), + LEVEL_UP_MOVE(17, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(23, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(30, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(37, MOVE_SPIDER_WEB), + LEVEL_UP_MOVE(45, MOVE_AGILITY), + LEVEL_UP_MOVE(53, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +const u16 gAriadosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), + LEVEL_UP_MOVE( 6, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(11, MOVE_CONSTRICT), + LEVEL_UP_MOVE(17, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(25, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(34, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(43, MOVE_SPIDER_WEB), + LEVEL_UP_MOVE(53, MOVE_AGILITY), + LEVEL_UP_MOVE(63, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +const u16 gCrobatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 6, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(11, MOVE_ASTONISH), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(21, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(28, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(35, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(42, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(49, MOVE_POISON_FANG), + LEVEL_UP_MOVE(56, MOVE_HAZE), + LEVEL_UP_END +}; + +const u16 gChinchouLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(13, MOVE_FLAIL), + LEVEL_UP_MOVE(17, MOVE_WATER_GUN), + LEVEL_UP_MOVE(25, MOVE_SPARK), + LEVEL_UP_MOVE(29, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(37, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(41, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(49, MOVE_CHARGE), + LEVEL_UP_END +}; + +const u16 gLanturnLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(13, MOVE_FLAIL), + LEVEL_UP_MOVE(17, MOVE_WATER_GUN), + LEVEL_UP_MOVE(25, MOVE_SPARK), + LEVEL_UP_MOVE(32, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(43, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(61, MOVE_CHARGE), + LEVEL_UP_END +}; + +const u16 gPichuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 8, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(11, MOVE_SWEET_KISS), + LEVEL_UP_END +}; + +const u16 gCleffaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 4, MOVE_ENCORE), + LEVEL_UP_MOVE( 8, MOVE_SING), + LEVEL_UP_MOVE(13, MOVE_SWEET_KISS), + LEVEL_UP_END +}; + +const u16 gIgglybuffLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 9, MOVE_POUND), + LEVEL_UP_MOVE(14, MOVE_SWEET_KISS), + LEVEL_UP_END +}; + +const u16 gTogepiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 6, MOVE_METRONOME), + LEVEL_UP_MOVE(11, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(16, MOVE_YAWN), + LEVEL_UP_MOVE(21, MOVE_ENCORE), + LEVEL_UP_MOVE(26, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE(31, MOVE_WISH), + LEVEL_UP_MOVE(36, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(41, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gTogeticLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 6, MOVE_METRONOME), + LEVEL_UP_MOVE(11, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(16, MOVE_YAWN), + LEVEL_UP_MOVE(21, MOVE_ENCORE), + LEVEL_UP_MOVE(26, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE(31, MOVE_WISH), + LEVEL_UP_MOVE(36, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(41, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gNatuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE(10, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(20, MOVE_TELEPORT), + LEVEL_UP_MOVE(30, MOVE_WISH), + LEVEL_UP_MOVE(30, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(40, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(50, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +const u16 gXatuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE(10, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(20, MOVE_TELEPORT), + LEVEL_UP_MOVE(35, MOVE_WISH), + LEVEL_UP_MOVE(35, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(50, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(65, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +const u16 gMareepLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(16, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(23, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(30, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(37, MOVE_THUNDER), + LEVEL_UP_END +}; + +const u16 gFlaaffyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 9, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(18, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(27, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(36, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(45, MOVE_THUNDER), + LEVEL_UP_END +}; + +const u16 gAmpharosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 9, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(18, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(27, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(30, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE(42, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(57, MOVE_THUNDER), + LEVEL_UP_END +}; + +const u16 gBellossomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(44, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE(55, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +const u16 gMarillLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 3, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(10, MOVE_WATER_GUN), + LEVEL_UP_MOVE(15, MOVE_ROLLOUT), + LEVEL_UP_MOVE(21, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(28, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(36, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(45, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gAzumarillLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 3, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(10, MOVE_WATER_GUN), + LEVEL_UP_MOVE(15, MOVE_ROLLOUT), + LEVEL_UP_MOVE(24, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(34, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(45, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(57, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gSudowoodoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 1, MOVE_MIMIC), + LEVEL_UP_MOVE( 9, MOVE_FLAIL), + LEVEL_UP_MOVE(17, MOVE_LOW_KICK), + LEVEL_UP_MOVE(25, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(33, MOVE_BLOCK), + LEVEL_UP_MOVE(41, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(49, MOVE_SLAM), + LEVEL_UP_MOVE(57, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gPolitoedLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE( 1, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(35, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(51, MOVE_SWAGGER), + LEVEL_UP_END +}; + +const u16 gHoppipLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 5, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(10, MOVE_TACKLE), + LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(15, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(17, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(20, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(25, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(30, MOVE_MEGA_DRAIN), + LEVEL_UP_END +}; + +const u16 gSkiploomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(10, MOVE_TACKLE), + LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(15, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(17, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(22, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(29, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(36, MOVE_MEGA_DRAIN), + LEVEL_UP_END +}; + +const u16 gJumpluffLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(10, MOVE_TACKLE), + LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(15, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(17, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(22, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(33, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(44, MOVE_MEGA_DRAIN), + LEVEL_UP_END +}; + +const u16 gAipomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 6, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(13, MOVE_ASTONISH), + LEVEL_UP_MOVE(18, MOVE_BATON_PASS), + LEVEL_UP_MOVE(25, MOVE_TICKLE), + LEVEL_UP_MOVE(31, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(38, MOVE_SWIFT), + LEVEL_UP_MOVE(43, MOVE_SCREECH), + LEVEL_UP_MOVE(50, MOVE_AGILITY), + LEVEL_UP_END +}; + +const u16 gSunkernLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 6, MOVE_GROWTH), + LEVEL_UP_MOVE(13, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(18, MOVE_INGRAIN), + LEVEL_UP_MOVE(25, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(30, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(37, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(42, MOVE_GIGA_DRAIN), + LEVEL_UP_END +}; + +const u16 gSunfloraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 6, MOVE_GROWTH), + LEVEL_UP_MOVE(13, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(18, MOVE_INGRAIN), + LEVEL_UP_MOVE(25, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(30, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(37, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE(42, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +const u16 gYanmaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(19, MOVE_SONIC_BOOM), + LEVEL_UP_MOVE(25, MOVE_DETECT), + LEVEL_UP_MOVE(31, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(37, MOVE_UPROAR), + LEVEL_UP_MOVE(43, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(49, MOVE_SCREECH), + LEVEL_UP_END +}; + +const u16 gWooperLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(11, MOVE_SLAM), + LEVEL_UP_MOVE(16, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(21, MOVE_AMNESIA), + LEVEL_UP_MOVE(31, MOVE_YAWN), + LEVEL_UP_MOVE(36, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(41, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(51, MOVE_MIST), + LEVEL_UP_MOVE(51, MOVE_HAZE), + LEVEL_UP_END +}; + +const u16 gQuagsireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(11, MOVE_SLAM), + LEVEL_UP_MOVE(16, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(23, MOVE_AMNESIA), + LEVEL_UP_MOVE(35, MOVE_YAWN), + LEVEL_UP_MOVE(42, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(49, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(61, MOVE_MIST), + LEVEL_UP_MOVE(61, MOVE_HAZE), + LEVEL_UP_END +}; + +const u16 gEspeonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 8, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(16, MOVE_CONFUSION), + LEVEL_UP_MOVE(23, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(30, MOVE_SWIFT), + LEVEL_UP_MOVE(36, MOVE_PSYBEAM), + LEVEL_UP_MOVE(42, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(47, MOVE_PSYCHIC), + LEVEL_UP_MOVE(52, MOVE_MORNING_SUN), + LEVEL_UP_END +}; + +const u16 gUmbreonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 8, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(16, MOVE_PURSUIT), + LEVEL_UP_MOVE(23, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(30, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(36, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(42, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(47, MOVE_SCREECH), + LEVEL_UP_MOVE(52, MOVE_MOONLIGHT), + LEVEL_UP_END +}; + +const u16 gMurkrowLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 9, MOVE_ASTONISH), + LEVEL_UP_MOVE(14, MOVE_PURSUIT), + LEVEL_UP_MOVE(22, MOVE_HAZE), + LEVEL_UP_MOVE(27, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(35, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(40, MOVE_TAUNT), + LEVEL_UP_MOVE(48, MOVE_MEAN_LOOK), + LEVEL_UP_END +}; + +const u16 gSlowkingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CURSE), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 6, MOVE_GROWL), + LEVEL_UP_MOVE(15, MOVE_WATER_GUN), + LEVEL_UP_MOVE(20, MOVE_CONFUSION), + LEVEL_UP_MOVE(29, MOVE_DISABLE), + LEVEL_UP_MOVE(34, MOVE_HEADBUTT), + LEVEL_UP_MOVE(43, MOVE_SWAGGER), + LEVEL_UP_MOVE(48, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +const u16 gMisdreavusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), + LEVEL_UP_MOVE( 6, MOVE_SPITE), + LEVEL_UP_MOVE(11, MOVE_ASTONISH), + LEVEL_UP_MOVE(17, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(23, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(30, MOVE_PSYBEAM), + LEVEL_UP_MOVE(37, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(45, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(53, MOVE_GRUDGE), + LEVEL_UP_END +}; + +const u16 gUnownLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HIDDEN_POWER), + LEVEL_UP_END +}; + +const u16 gWobbuffetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; + +const u16 gGirafarigLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_ASTONISH), + LEVEL_UP_MOVE(13, MOVE_CONFUSION), + LEVEL_UP_MOVE(19, MOVE_STOMP), + LEVEL_UP_MOVE(25, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(31, MOVE_AGILITY), + LEVEL_UP_MOVE(37, MOVE_BATON_PASS), + LEVEL_UP_MOVE(43, MOVE_PSYBEAM), + LEVEL_UP_MOVE(49, MOVE_CRUNCH), + LEVEL_UP_END +}; + +const u16 gPinecoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 8, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(15, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(22, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(29, MOVE_BIDE), + LEVEL_UP_MOVE(36, MOVE_EXPLOSION), + LEVEL_UP_MOVE(43, MOVE_SPIKES), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gForretressLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE( 8, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(15, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(22, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(29, MOVE_BIDE), + LEVEL_UP_MOVE(39, MOVE_EXPLOSION), + LEVEL_UP_MOVE(49, MOVE_SPIKES), + LEVEL_UP_MOVE(59, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gDunsparceLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_RAGE), + LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(11, MOVE_YAWN), + LEVEL_UP_MOVE(14, MOVE_GLARE), + LEVEL_UP_MOVE(21, MOVE_SPITE), + LEVEL_UP_MOVE(24, MOVE_PURSUIT), + LEVEL_UP_MOVE(31, MOVE_SCREECH), + LEVEL_UP_MOVE(34, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(41, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +const u16 gGligarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 6, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(13, MOVE_HARDEN), + LEVEL_UP_MOVE(20, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(28, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(36, MOVE_SLASH), + LEVEL_UP_MOVE(44, MOVE_SCREECH), + LEVEL_UP_MOVE(52, MOVE_GUILLOTINE), + LEVEL_UP_END +}; + +const u16 gSteelixLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 9, MOVE_BIND), + LEVEL_UP_MOVE(13, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(21, MOVE_HARDEN), + LEVEL_UP_MOVE(25, MOVE_RAGE), + LEVEL_UP_MOVE(33, MOVE_SANDSTORM), + LEVEL_UP_MOVE(37, MOVE_SLAM), + LEVEL_UP_MOVE(45, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(49, MOVE_CRUNCH), + LEVEL_UP_MOVE(57, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gSnubbullLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 8, MOVE_CHARM), + LEVEL_UP_MOVE(13, MOVE_BITE), + LEVEL_UP_MOVE(19, MOVE_LICK), + LEVEL_UP_MOVE(26, MOVE_ROAR), + LEVEL_UP_MOVE(34, MOVE_RAGE), + LEVEL_UP_MOVE(43, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(53, MOVE_CRUNCH), + LEVEL_UP_END +}; + +const u16 gGranbullLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 8, MOVE_CHARM), + LEVEL_UP_MOVE(13, MOVE_BITE), + LEVEL_UP_MOVE(19, MOVE_LICK), + LEVEL_UP_MOVE(28, MOVE_ROAR), + LEVEL_UP_MOVE(38, MOVE_RAGE), + LEVEL_UP_MOVE(49, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(61, MOVE_CRUNCH), + LEVEL_UP_END +}; + +const u16 gQwilfishLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPIKES), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE(10, MOVE_HARDEN), + LEVEL_UP_MOVE(10, MOVE_MINIMIZE), + LEVEL_UP_MOVE(19, MOVE_WATER_GUN), + LEVEL_UP_MOVE(28, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(37, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(46, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gScizorLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 6, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(11, MOVE_PURSUIT), + LEVEL_UP_MOVE(16, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(21, MOVE_AGILITY), + LEVEL_UP_MOVE(26, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(31, MOVE_SLASH), + LEVEL_UP_MOVE(36, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(41, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(46, MOVE_FURY_CUTTER), + LEVEL_UP_END +}; + +const u16 gShuckleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 9, MOVE_WRAP), + LEVEL_UP_MOVE(14, MOVE_ENCORE), + LEVEL_UP_MOVE(23, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(28, MOVE_BIDE), + LEVEL_UP_MOVE(37, MOVE_REST), + LEVEL_UP_END +}; + +const u16 gHeracrossLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 6, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(11, MOVE_ENDURE), + LEVEL_UP_MOVE(17, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(23, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(30, MOVE_COUNTER), + LEVEL_UP_MOVE(37, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(45, MOVE_REVERSAL), + LEVEL_UP_MOVE(53, MOVE_MEGAHORN), + LEVEL_UP_END +}; + +const u16 gSneaselLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE( 8, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(15, MOVE_SCREECH), + LEVEL_UP_MOVE(22, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(29, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(36, MOVE_AGILITY), + LEVEL_UP_MOVE(43, MOVE_ICY_WIND), + LEVEL_UP_MOVE(50, MOVE_SLASH), + LEVEL_UP_MOVE(57, MOVE_BEAT_UP), + LEVEL_UP_MOVE(64, MOVE_METAL_CLAW), + LEVEL_UP_END +}; + +const u16 gTeddiursaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_LICK), + LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(19, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(25, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(31, MOVE_REST), + LEVEL_UP_MOVE(37, MOVE_SLASH), + LEVEL_UP_MOVE(43, MOVE_SNORE), + LEVEL_UP_MOVE(49, MOVE_THRASH), + LEVEL_UP_END +}; + +const u16 gUrsaringLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 7, MOVE_LICK), + LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(19, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(25, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(31, MOVE_REST), + LEVEL_UP_MOVE(37, MOVE_SLASH), + LEVEL_UP_MOVE(43, MOVE_SNORE), + LEVEL_UP_MOVE(49, MOVE_THRASH), + LEVEL_UP_END +}; + +const u16 gSlugmaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 8, MOVE_EMBER), + LEVEL_UP_MOVE(15, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(22, MOVE_HARDEN), + LEVEL_UP_MOVE(29, MOVE_AMNESIA), + LEVEL_UP_MOVE(36, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(43, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(50, MOVE_BODY_SLAM), + LEVEL_UP_END +}; + +const u16 gMagcargoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 8, MOVE_EMBER), + LEVEL_UP_MOVE(15, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(22, MOVE_HARDEN), + LEVEL_UP_MOVE(29, MOVE_AMNESIA), + LEVEL_UP_MOVE(36, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(48, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(60, MOVE_BODY_SLAM), + LEVEL_UP_END +}; + +const u16 gSwinubLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(10, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(19, MOVE_ENDURE), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(37, MOVE_MIST), + LEVEL_UP_MOVE(46, MOVE_BLIZZARD), + LEVEL_UP_MOVE(55, MOVE_AMNESIA), + LEVEL_UP_END +}; + +const u16 gPiloswineLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_ENDURE), + LEVEL_UP_MOVE(10, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(19, MOVE_ENDURE), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(33, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(42, MOVE_MIST), + LEVEL_UP_MOVE(56, MOVE_BLIZZARD), + LEVEL_UP_MOVE(70, MOVE_AMNESIA), + LEVEL_UP_END +}; + +const u16 gCorsolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 6, MOVE_HARDEN), + LEVEL_UP_MOVE(12, MOVE_BUBBLE), + LEVEL_UP_MOVE(17, MOVE_RECOVER), + LEVEL_UP_MOVE(17, MOVE_REFRESH), + LEVEL_UP_MOVE(23, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(28, MOVE_SPIKE_CANNON), + LEVEL_UP_MOVE(34, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(39, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE(45, MOVE_ANCIENT_POWER), + LEVEL_UP_END +}; + +const u16 gRemoraidLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE(11, MOVE_LOCK_ON), + LEVEL_UP_MOVE(22, MOVE_PSYBEAM), + LEVEL_UP_MOVE(22, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(22, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(33, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(44, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(55, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +const u16 gOctilleryLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE(11, MOVE_CONSTRICT), + LEVEL_UP_MOVE(22, MOVE_PSYBEAM), + LEVEL_UP_MOVE(22, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(22, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(25, MOVE_OCTAZOOKA), + LEVEL_UP_MOVE(38, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(54, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(70, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +const u16 gDelibirdLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PRESENT), + LEVEL_UP_END +}; + +const u16 gMantineLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 8, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(15, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(22, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(29, MOVE_AGILITY), + LEVEL_UP_MOVE(36, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(43, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(50, MOVE_CONFUSE_RAY), + LEVEL_UP_END +}; + +const u16 gSkarmoryLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE(10, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(13, MOVE_SWIFT), + LEVEL_UP_MOVE(16, MOVE_AGILITY), + LEVEL_UP_MOVE(26, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(29, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(32, MOVE_STEEL_WING), + LEVEL_UP_MOVE(42, MOVE_SPIKES), + LEVEL_UP_MOVE(45, MOVE_METAL_SOUND), + LEVEL_UP_END +}; + +const u16 gHoundourLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 7, MOVE_HOWL), + LEVEL_UP_MOVE(13, MOVE_SMOG), + LEVEL_UP_MOVE(19, MOVE_ROAR), + LEVEL_UP_MOVE(25, MOVE_BITE), + LEVEL_UP_MOVE(31, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(37, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(43, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(49, MOVE_CRUNCH), + LEVEL_UP_END +}; + +const u16 gHoundoomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_HOWL), + LEVEL_UP_MOVE( 7, MOVE_HOWL), + LEVEL_UP_MOVE(13, MOVE_SMOG), + LEVEL_UP_MOVE(19, MOVE_ROAR), + LEVEL_UP_MOVE(27, MOVE_BITE), + LEVEL_UP_MOVE(35, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(43, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(51, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(59, MOVE_CRUNCH), + LEVEL_UP_END +}; + +const u16 gKingdraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(15, MOVE_LEER), + LEVEL_UP_MOVE(22, MOVE_WATER_GUN), + LEVEL_UP_MOVE(29, MOVE_TWISTER), + LEVEL_UP_MOVE(40, MOVE_AGILITY), + LEVEL_UP_MOVE(51, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(62, MOVE_DRAGON_DANCE), + LEVEL_UP_END +}; + +const u16 gPhanpyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(17, MOVE_FLAIL), + LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(33, MOVE_ROLLOUT), + LEVEL_UP_MOVE(41, MOVE_ENDURE), + LEVEL_UP_MOVE(49, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gDonphanLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(17, MOVE_FLAIL), + LEVEL_UP_MOVE(25, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(33, MOVE_ROLLOUT), + LEVEL_UP_MOVE(41, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(49, MOVE_EARTHQUAKE), + LEVEL_UP_END +}; + +const u16 gPorygon2LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONVERSION_2), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_CONVERSION), + LEVEL_UP_MOVE( 9, MOVE_AGILITY), + LEVEL_UP_MOVE(12, MOVE_PSYBEAM), + LEVEL_UP_MOVE(20, MOVE_RECOVER), + LEVEL_UP_MOVE(24, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(32, MOVE_LOCK_ON), + LEVEL_UP_MOVE(36, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE(44, MOVE_RECYCLE), + LEVEL_UP_MOVE(48, MOVE_ZAP_CANNON), + LEVEL_UP_END +}; + +const u16 gStantlerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 7, MOVE_LEER), + LEVEL_UP_MOVE(13, MOVE_ASTONISH), + LEVEL_UP_MOVE(19, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(25, MOVE_STOMP), + LEVEL_UP_MOVE(31, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(37, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(43, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(49, MOVE_CALM_MIND), + LEVEL_UP_END +}; + +const u16 gSmeargleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SKETCH), + LEVEL_UP_MOVE(11, MOVE_SKETCH), + LEVEL_UP_MOVE(21, MOVE_SKETCH), + LEVEL_UP_MOVE(31, MOVE_SKETCH), + LEVEL_UP_MOVE(41, MOVE_SKETCH), + LEVEL_UP_MOVE(51, MOVE_SKETCH), + LEVEL_UP_MOVE(61, MOVE_SKETCH), + LEVEL_UP_MOVE(71, MOVE_SKETCH), + LEVEL_UP_MOVE(81, MOVE_SKETCH), + LEVEL_UP_MOVE(91, MOVE_SKETCH), + LEVEL_UP_END +}; + +const u16 gTyrogueLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gHitmontopLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_REVENGE), + LEVEL_UP_MOVE( 1, MOVE_ROLLING_KICK), + LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(13, MOVE_PURSUIT), + LEVEL_UP_MOVE(19, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(20, MOVE_TRIPLE_KICK), + LEVEL_UP_MOVE(25, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(31, MOVE_COUNTER), + LEVEL_UP_MOVE(37, MOVE_AGILITY), + LEVEL_UP_MOVE(43, MOVE_DETECT), + LEVEL_UP_MOVE(49, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +const u16 gSmoochumLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 9, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(13, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(21, MOVE_CONFUSION), + LEVEL_UP_MOVE(25, MOVE_SING), + LEVEL_UP_MOVE(33, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(37, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(45, MOVE_PSYCHIC), + LEVEL_UP_MOVE(49, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(57, MOVE_BLIZZARD), + LEVEL_UP_END +}; + +const u16 gElekidLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 9, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE(17, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(25, MOVE_SWIFT), + LEVEL_UP_MOVE(33, MOVE_SCREECH), + LEVEL_UP_MOVE(41, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE(49, MOVE_THUNDER), + LEVEL_UP_END +}; + +const u16 gMagbyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 7, MOVE_LEER), + LEVEL_UP_MOVE(13, MOVE_SMOG), + LEVEL_UP_MOVE(19, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE(25, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(31, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(37, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(43, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(49, MOVE_FIRE_BLAST), + LEVEL_UP_END +}; + +const u16 gMiltankLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 8, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(13, MOVE_STOMP), + LEVEL_UP_MOVE(19, MOVE_MILK_DRINK), + LEVEL_UP_MOVE(26, MOVE_BIDE), + LEVEL_UP_MOVE(34, MOVE_ROLLOUT), + LEVEL_UP_MOVE(43, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(53, MOVE_HEAL_BELL), + LEVEL_UP_END +}; + +const u16 gBlisseyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7, MOVE_REFRESH), + LEVEL_UP_MOVE(10, MOVE_SOFT_BOILED), + LEVEL_UP_MOVE(13, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(18, MOVE_MINIMIZE), + LEVEL_UP_MOVE(23, MOVE_SING), + LEVEL_UP_MOVE(28, MOVE_EGG_BOMB), + LEVEL_UP_MOVE(33, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(40, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(47, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gRaikouLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE(11, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(21, MOVE_ROAR), + LEVEL_UP_MOVE(31, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(41, MOVE_SPARK), + LEVEL_UP_MOVE(51, MOVE_REFLECT), + LEVEL_UP_MOVE(61, MOVE_CRUNCH), + LEVEL_UP_MOVE(71, MOVE_THUNDER), + LEVEL_UP_MOVE(81, MOVE_CALM_MIND), + LEVEL_UP_END +}; + +const u16 gEnteiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE(11, MOVE_EMBER), + LEVEL_UP_MOVE(21, MOVE_ROAR), + LEVEL_UP_MOVE(31, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(41, MOVE_STOMP), + LEVEL_UP_MOVE(51, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(61, MOVE_SWAGGER), + LEVEL_UP_MOVE(71, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(81, MOVE_CALM_MIND), + LEVEL_UP_END +}; + +const u16 gSuicuneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE(11, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(21, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(31, MOVE_GUST), + LEVEL_UP_MOVE(41, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(51, MOVE_MIST), + LEVEL_UP_MOVE(61, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE(71, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(81, MOVE_CALM_MIND), + LEVEL_UP_END +}; + +const u16 gLarvitarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 8, MOVE_SANDSTORM), + LEVEL_UP_MOVE(15, MOVE_SCREECH), + LEVEL_UP_MOVE(22, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(29, MOVE_THRASH), + LEVEL_UP_MOVE(36, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(43, MOVE_CRUNCH), + LEVEL_UP_MOVE(50, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(57, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +const u16 gPupitarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SANDSTORM), + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 8, MOVE_SANDSTORM), + LEVEL_UP_MOVE(15, MOVE_SCREECH), + LEVEL_UP_MOVE(22, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(29, MOVE_THRASH), + LEVEL_UP_MOVE(38, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(47, MOVE_CRUNCH), + LEVEL_UP_MOVE(56, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +const u16 gTyranitarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SANDSTORM), + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 8, MOVE_SANDSTORM), + LEVEL_UP_MOVE(15, MOVE_SCREECH), + LEVEL_UP_MOVE(22, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(29, MOVE_THRASH), + LEVEL_UP_MOVE(38, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(47, MOVE_CRUNCH), + LEVEL_UP_MOVE(61, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(75, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +const u16 gLugiaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(11, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(22, MOVE_GUST), + LEVEL_UP_MOVE(33, MOVE_RECOVER), + LEVEL_UP_MOVE(44, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(55, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(66, MOVE_SWIFT), + LEVEL_UP_MOVE(77, MOVE_AEROBLAST), + LEVEL_UP_MOVE(88, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(99, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; + +const u16 gHoOhLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(11, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(22, MOVE_GUST), + LEVEL_UP_MOVE(33, MOVE_RECOVER), + LEVEL_UP_MOVE(44, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(55, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(66, MOVE_SWIFT), + LEVEL_UP_MOVE(77, MOVE_SACRED_FIRE), + LEVEL_UP_MOVE(88, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(99, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; + +const u16 gCelebiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_RECOVER), + LEVEL_UP_MOVE( 1, MOVE_HEAL_BELL), + LEVEL_UP_MOVE(10, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(20, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(30, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(40, MOVE_BATON_PASS), + LEVEL_UP_MOVE(50, MOVE_PERISH_SONG), + LEVEL_UP_END +}; + +const u16 gSpecies252LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies253LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies254LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies255LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies256LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies257LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies258LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies259LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies260LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies261LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies262LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies263LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies264LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies265LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies266LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies267LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies268LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies269LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies270LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies271LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies272LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies273LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies274LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies275LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gSpecies276LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +const u16 gTreeckoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 6, MOVE_ABSORB), + LEVEL_UP_MOVE(11, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(16, MOVE_PURSUIT), + LEVEL_UP_MOVE(21, MOVE_SCREECH), + LEVEL_UP_MOVE(26, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(31, MOVE_AGILITY), + LEVEL_UP_MOVE(36, MOVE_SLAM), + LEVEL_UP_MOVE(41, MOVE_DETECT), + LEVEL_UP_MOVE(46, MOVE_GIGA_DRAIN), + LEVEL_UP_END +}; + +const u16 gGrovyleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 6, MOVE_ABSORB), + LEVEL_UP_MOVE(11, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(16, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(17, MOVE_PURSUIT), + LEVEL_UP_MOVE(23, MOVE_SCREECH), + LEVEL_UP_MOVE(29, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(35, MOVE_AGILITY), + LEVEL_UP_MOVE(41, MOVE_SLAM), + LEVEL_UP_MOVE(47, MOVE_DETECT), + LEVEL_UP_MOVE(53, MOVE_FALSE_SWIPE), + LEVEL_UP_END +}; + +const u16 gSceptileLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 6, MOVE_ABSORB), + LEVEL_UP_MOVE(11, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(16, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(17, MOVE_PURSUIT), + LEVEL_UP_MOVE(23, MOVE_SCREECH), + LEVEL_UP_MOVE(29, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(35, MOVE_AGILITY), + LEVEL_UP_MOVE(43, MOVE_SLAM), + LEVEL_UP_MOVE(51, MOVE_DETECT), + LEVEL_UP_MOVE(59, MOVE_FALSE_SWIPE), + LEVEL_UP_END +}; + +const u16 gTorchicLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(10, MOVE_EMBER), + LEVEL_UP_MOVE(16, MOVE_PECK), + LEVEL_UP_MOVE(19, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(25, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(28, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(34, MOVE_SLASH), + LEVEL_UP_MOVE(37, MOVE_MIRROR_MOVE), + LEVEL_UP_MOVE(43, MOVE_FLAMETHROWER), + LEVEL_UP_END +}; + +const u16 gCombuskenLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(13, MOVE_EMBER), + LEVEL_UP_MOVE(16, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(17, MOVE_PECK), + LEVEL_UP_MOVE(21, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(28, MOVE_BULK_UP), + LEVEL_UP_MOVE(32, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(39, MOVE_SLASH), + LEVEL_UP_MOVE(43, MOVE_MIRROR_MOVE), + LEVEL_UP_MOVE(50, MOVE_SKY_UPPERCUT), + LEVEL_UP_END +}; + +const u16 gBlazikenLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(13, MOVE_EMBER), + LEVEL_UP_MOVE(16, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(17, MOVE_PECK), + LEVEL_UP_MOVE(21, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(28, MOVE_BULK_UP), + LEVEL_UP_MOVE(32, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(36, MOVE_BLAZE_KICK), + LEVEL_UP_MOVE(42, MOVE_SLASH), + LEVEL_UP_MOVE(49, MOVE_MIRROR_MOVE), + LEVEL_UP_MOVE(59, MOVE_SKY_UPPERCUT), + LEVEL_UP_END +}; + +const u16 gMudkipLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 6, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(10, MOVE_WATER_GUN), + LEVEL_UP_MOVE(15, MOVE_BIDE), + LEVEL_UP_MOVE(19, MOVE_FORESIGHT), + LEVEL_UP_MOVE(24, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(33, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(37, MOVE_PROTECT), + LEVEL_UP_MOVE(42, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(46, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +const u16 gMarshtompLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 6, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(10, MOVE_WATER_GUN), + LEVEL_UP_MOVE(15, MOVE_BIDE), + LEVEL_UP_MOVE(16, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(20, MOVE_FORESIGHT), + LEVEL_UP_MOVE(25, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(37, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(42, MOVE_PROTECT), + LEVEL_UP_MOVE(46, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(53, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +const u16 gSwampertLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 6, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(10, MOVE_WATER_GUN), + LEVEL_UP_MOVE(15, MOVE_BIDE), + LEVEL_UP_MOVE(16, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(20, MOVE_FORESIGHT), + LEVEL_UP_MOVE(25, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(39, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(46, MOVE_PROTECT), + LEVEL_UP_MOVE(52, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(61, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +const u16 gPoochyenaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_HOWL), + LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(13, MOVE_BITE), + LEVEL_UP_MOVE(17, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(21, MOVE_ROAR), + LEVEL_UP_MOVE(25, MOVE_SWAGGER), + LEVEL_UP_MOVE(29, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(33, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(37, MOVE_TAUNT), + LEVEL_UP_MOVE(41, MOVE_CRUNCH), + LEVEL_UP_MOVE(45, MOVE_THIEF), + LEVEL_UP_END +}; + +const u16 gMightyenaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HOWL), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 5, MOVE_HOWL), + LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(13, MOVE_BITE), + LEVEL_UP_MOVE(17, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(22, MOVE_ROAR), + LEVEL_UP_MOVE(27, MOVE_SWAGGER), + LEVEL_UP_MOVE(32, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(37, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(42, MOVE_TAUNT), + LEVEL_UP_MOVE(47, MOVE_CRUNCH), + LEVEL_UP_MOVE(52, MOVE_THIEF), + LEVEL_UP_END +}; + +const u16 gZigzagoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 9, MOVE_HEADBUTT), + LEVEL_UP_MOVE(13, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(17, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(21, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(25, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(29, MOVE_COVET), + LEVEL_UP_MOVE(33, MOVE_FLAIL), + LEVEL_UP_MOVE(37, MOVE_REST), + LEVEL_UP_MOVE(41, MOVE_BELLY_DRUM), + LEVEL_UP_END +}; + +const u16 gLinooneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 9, MOVE_HEADBUTT), + LEVEL_UP_MOVE(13, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(17, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(23, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(29, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(35, MOVE_COVET), + LEVEL_UP_MOVE(41, MOVE_SLASH), + LEVEL_UP_MOVE(47, MOVE_REST), + LEVEL_UP_MOVE(53, MOVE_BELLY_DRUM), + LEVEL_UP_END +}; + +const u16 gWurmpleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 5, MOVE_POISON_STING), + LEVEL_UP_END +}; + +const u16 gSilcoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_HARDEN), + LEVEL_UP_END +}; + +const u16 gBeautiflyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE(10, MOVE_ABSORB), + LEVEL_UP_MOVE(13, MOVE_GUST), + LEVEL_UP_MOVE(17, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(20, MOVE_MORNING_SUN), + LEVEL_UP_MOVE(24, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(27, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(31, MOVE_ATTRACT), + LEVEL_UP_MOVE(34, MOVE_SILVER_WIND), + LEVEL_UP_MOVE(38, MOVE_GIGA_DRAIN), + LEVEL_UP_END +}; + +const u16 gCascoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_HARDEN), + LEVEL_UP_END +}; + +const u16 gDustoxLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE(10, MOVE_CONFUSION), + LEVEL_UP_MOVE(13, MOVE_GUST), + LEVEL_UP_MOVE(17, MOVE_PROTECT), + LEVEL_UP_MOVE(20, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(24, MOVE_PSYBEAM), + LEVEL_UP_MOVE(27, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(31, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(34, MOVE_SILVER_WIND), + LEVEL_UP_MOVE(38, MOVE_TOXIC), + LEVEL_UP_END +}; + +const u16 gLotadLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 3, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_ABSORB), + LEVEL_UP_MOVE(13, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(21, MOVE_MIST), + LEVEL_UP_MOVE(31, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(43, MOVE_MEGA_DRAIN), + LEVEL_UP_END +}; + +const u16 gLombreLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 3, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_ABSORB), + LEVEL_UP_MOVE(13, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(19, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(25, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(31, MOVE_WATER_SPORT), + LEVEL_UP_MOVE(37, MOVE_THIEF), + LEVEL_UP_MOVE(43, MOVE_UPROAR), + LEVEL_UP_MOVE(49, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gLudicoloLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_NATURE_POWER), + LEVEL_UP_END +}; + +const u16 gSeedotLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BIDE), + LEVEL_UP_MOVE( 3, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_GROWTH), + LEVEL_UP_MOVE(13, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(21, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(31, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(43, MOVE_EXPLOSION), + LEVEL_UP_END +}; + +const u16 gNuzleafLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 3, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_GROWTH), + LEVEL_UP_MOVE(13, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(19, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(25, MOVE_TORMENT), + LEVEL_UP_MOVE(31, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(37, MOVE_RAZOR_WIND), + LEVEL_UP_MOVE(43, MOVE_SWAGGER), + LEVEL_UP_MOVE(49, MOVE_EXTRASENSORY), + LEVEL_UP_END +}; + +const u16 gShiftryLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_NATURE_POWER), + LEVEL_UP_END +}; + +const u16 gNincadaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 5, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(14, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(19, MOVE_MIND_READER), + LEVEL_UP_MOVE(25, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(31, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(38, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(45, MOVE_DIG), + LEVEL_UP_END +}; + +const u16 gNinjaskLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 5, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(14, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(19, MOVE_MIND_READER), + LEVEL_UP_MOVE(20, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(20, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(20, MOVE_SCREECH), + LEVEL_UP_MOVE(25, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(31, MOVE_SLASH), + LEVEL_UP_MOVE(38, MOVE_AGILITY), + LEVEL_UP_MOVE(45, MOVE_BATON_PASS), + LEVEL_UP_END +}; + +const u16 gShedinjaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 5, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(14, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(19, MOVE_MIND_READER), + LEVEL_UP_MOVE(25, MOVE_SPITE), + LEVEL_UP_MOVE(31, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(38, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(45, MOVE_GRUDGE), + LEVEL_UP_END +}; + +const u16 gTaillowLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 4, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 8, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(19, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(26, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(34, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(43, MOVE_AGILITY), + LEVEL_UP_END +}; + +const u16 gSwellowLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 4, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 8, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(19, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(28, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(38, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(49, MOVE_AGILITY), + LEVEL_UP_END +}; + +const u16 gShroomishLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 4, MOVE_TACKLE), + LEVEL_UP_MOVE( 7, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(10, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(16, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(22, MOVE_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(36, MOVE_GROWTH), + LEVEL_UP_MOVE(45, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(54, MOVE_SPORE), + LEVEL_UP_END +}; + +const u16 gBreloomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 4, MOVE_TACKLE), + LEVEL_UP_MOVE( 7, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(10, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(16, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(22, MOVE_HEADBUTT), + LEVEL_UP_MOVE(23, MOVE_MACH_PUNCH), + LEVEL_UP_MOVE(28, MOVE_COUNTER), + LEVEL_UP_MOVE(36, MOVE_SKY_UPPERCUT), + LEVEL_UP_MOVE(45, MOVE_MIND_READER), + LEVEL_UP_MOVE(54, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_END +}; + +const u16 gSpindaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_UPROAR), + LEVEL_UP_MOVE(12, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(16, MOVE_PSYBEAM), + LEVEL_UP_MOVE(23, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(27, MOVE_DIZZY_PUNCH), + LEVEL_UP_MOVE(34, MOVE_TEETER_DANCE), + LEVEL_UP_MOVE(38, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(45, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(49, MOVE_FLAIL), + LEVEL_UP_MOVE(56, MOVE_THRASH), + LEVEL_UP_END +}; + +const u16 gWingullLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(13, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(21, MOVE_MIST), + LEVEL_UP_MOVE(31, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(43, MOVE_PURSUIT), + LEVEL_UP_MOVE(55, MOVE_AGILITY), + LEVEL_UP_END +}; + +const u16 gPelipperLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 3, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(13, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(21, MOVE_MIST), + LEVEL_UP_MOVE(25, MOVE_PROTECT), + LEVEL_UP_MOVE(33, MOVE_STOCKPILE), + LEVEL_UP_MOVE(33, MOVE_SWALLOW), + LEVEL_UP_MOVE(47, MOVE_SPIT_UP), + LEVEL_UP_MOVE(61, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gSurskitLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(19, MOVE_WATER_SPORT), + LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(31, MOVE_AGILITY), + LEVEL_UP_MOVE(37, MOVE_MIST), + LEVEL_UP_MOVE(37, MOVE_HAZE), + LEVEL_UP_END +}; + +const u16 gMasquerainLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(19, MOVE_WATER_SPORT), + LEVEL_UP_MOVE(26, MOVE_GUST), + LEVEL_UP_MOVE(33, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(40, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(47, MOVE_SILVER_WIND), + LEVEL_UP_MOVE(53, MOVE_WHIRLWIND), + LEVEL_UP_END +}; + +const u16 gWailmerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 5, MOVE_GROWL), + LEVEL_UP_MOVE(10, MOVE_WATER_GUN), + LEVEL_UP_MOVE(14, MOVE_ROLLOUT), + LEVEL_UP_MOVE(19, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(23, MOVE_ASTONISH), + LEVEL_UP_MOVE(28, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(32, MOVE_MIST), + LEVEL_UP_MOVE(37, MOVE_REST), + LEVEL_UP_MOVE(41, MOVE_WATER_SPOUT), + LEVEL_UP_MOVE(46, MOVE_AMNESIA), + LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gWailordLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 5, MOVE_GROWL), + LEVEL_UP_MOVE(10, MOVE_WATER_GUN), + LEVEL_UP_MOVE(14, MOVE_ROLLOUT), + LEVEL_UP_MOVE(19, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(23, MOVE_ASTONISH), + LEVEL_UP_MOVE(28, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(32, MOVE_MIST), + LEVEL_UP_MOVE(37, MOVE_REST), + LEVEL_UP_MOVE(44, MOVE_WATER_SPOUT), + LEVEL_UP_MOVE(52, MOVE_AMNESIA), + LEVEL_UP_MOVE(59, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gSkittyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 3, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7, MOVE_ATTRACT), + LEVEL_UP_MOVE(13, MOVE_SING), + LEVEL_UP_MOVE(15, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(19, MOVE_ASSIST), + LEVEL_UP_MOVE(25, MOVE_CHARM), + LEVEL_UP_MOVE(27, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(31, MOVE_COVET), + LEVEL_UP_MOVE(37, MOVE_HEAL_BELL), + LEVEL_UP_MOVE(39, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gDelcattyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ATTRACT), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), + LEVEL_UP_END +}; + +const u16 gKecleonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THIEF), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 4, MOVE_BIND), + LEVEL_UP_MOVE( 7, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(17, MOVE_PSYBEAM), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(31, MOVE_SLASH), + LEVEL_UP_MOVE(40, MOVE_SUBSTITUTE), + LEVEL_UP_MOVE(49, MOVE_ANCIENT_POWER), + LEVEL_UP_END +}; + +const u16 gBaltoyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 3, MOVE_HARDEN), + LEVEL_UP_MOVE( 5, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 7, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(11, MOVE_PSYBEAM), + LEVEL_UP_MOVE(15, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(19, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(25, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(31, MOVE_SANDSTORM), + LEVEL_UP_MOVE(37, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(45, MOVE_EXPLOSION), + LEVEL_UP_END +}; + +const u16 gClaydolLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 3, MOVE_HARDEN), + LEVEL_UP_MOVE( 5, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 7, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(11, MOVE_PSYBEAM), + LEVEL_UP_MOVE(15, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(19, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(25, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(31, MOVE_SANDSTORM), + LEVEL_UP_MOVE(36, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(42, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(55, MOVE_EXPLOSION), + LEVEL_UP_END +}; + +const u16 gNosepassLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 7, MOVE_HARDEN), + LEVEL_UP_MOVE(13, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(16, MOVE_BLOCK), + LEVEL_UP_MOVE(22, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(28, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(31, MOVE_SANDSTORM), + LEVEL_UP_MOVE(37, MOVE_REST), + LEVEL_UP_MOVE(43, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(46, MOVE_LOCK_ON), + LEVEL_UP_END +}; + +const u16 gTorkoalLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 4, MOVE_SMOG), + LEVEL_UP_MOVE( 7, MOVE_CURSE), + LEVEL_UP_MOVE(14, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(17, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(20, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(27, MOVE_PROTECT), + LEVEL_UP_MOVE(30, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(33, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(40, MOVE_AMNESIA), + LEVEL_UP_MOVE(43, MOVE_FLAIL), + LEVEL_UP_MOVE(46, MOVE_HEAT_WAVE), + LEVEL_UP_END +}; + +const u16 gSableyeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 5, MOVE_FORESIGHT), + LEVEL_UP_MOVE( 9, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(13, MOVE_ASTONISH), + LEVEL_UP_MOVE(17, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(21, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(25, MOVE_DETECT), + LEVEL_UP_MOVE(29, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(33, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(37, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(41, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(45, MOVE_MEAN_LOOK), + LEVEL_UP_END +}; + +const u16 gBarboachLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 6, MOVE_WATER_SPORT), + LEVEL_UP_MOVE(11, MOVE_WATER_GUN), + LEVEL_UP_MOVE(16, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(21, MOVE_AMNESIA), + LEVEL_UP_MOVE(26, MOVE_REST), + LEVEL_UP_MOVE(26, MOVE_SNORE), + LEVEL_UP_MOVE(31, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(36, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(41, MOVE_FISSURE), + LEVEL_UP_END +}; + +const u16 gWhiscashLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TICKLE), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 6, MOVE_WATER_SPORT), + LEVEL_UP_MOVE(11, MOVE_WATER_GUN), + LEVEL_UP_MOVE(16, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(21, MOVE_AMNESIA), + LEVEL_UP_MOVE(26, MOVE_REST), + LEVEL_UP_MOVE(26, MOVE_SNORE), + LEVEL_UP_MOVE(36, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(46, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(56, MOVE_FISSURE), + LEVEL_UP_END +}; + +const u16 gLuvdiscLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_CHARM), + LEVEL_UP_MOVE(12, MOVE_WATER_GUN), + LEVEL_UP_MOVE(16, MOVE_AGILITY), + LEVEL_UP_MOVE(24, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(28, MOVE_ATTRACT), + LEVEL_UP_MOVE(36, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(40, MOVE_FLAIL), + LEVEL_UP_MOVE(48, MOVE_SAFEGUARD), + LEVEL_UP_END +}; + +const u16 gCorphishLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 7, MOVE_HARDEN), + LEVEL_UP_MOVE(10, MOVE_VICE_GRIP), + LEVEL_UP_MOVE(13, MOVE_LEER), + LEVEL_UP_MOVE(20, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(23, MOVE_PROTECT), + LEVEL_UP_MOVE(26, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(32, MOVE_TAUNT), + LEVEL_UP_MOVE(35, MOVE_CRABHAMMER), + LEVEL_UP_MOVE(38, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(44, MOVE_GUILLOTINE), + LEVEL_UP_END +}; + +const u16 gCrawdauntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_VICE_GRIP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_HARDEN), + LEVEL_UP_MOVE(10, MOVE_VICE_GRIP), + LEVEL_UP_MOVE(13, MOVE_LEER), + LEVEL_UP_MOVE(20, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(23, MOVE_PROTECT), + LEVEL_UP_MOVE(26, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(34, MOVE_TAUNT), + LEVEL_UP_MOVE(39, MOVE_CRABHAMMER), + LEVEL_UP_MOVE(44, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(52, MOVE_GUILLOTINE), + LEVEL_UP_END +}; + +const u16 gFeebasLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE(15, MOVE_TACKLE), + LEVEL_UP_MOVE(30, MOVE_FLAIL), + LEVEL_UP_END +}; + +const u16 gMiloticLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 5, MOVE_WRAP), + LEVEL_UP_MOVE(10, MOVE_WATER_SPORT), + LEVEL_UP_MOVE(15, MOVE_REFRESH), + LEVEL_UP_MOVE(20, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(25, MOVE_TWISTER), + LEVEL_UP_MOVE(30, MOVE_RECOVER), + LEVEL_UP_MOVE(35, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(40, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(45, MOVE_ATTRACT), + LEVEL_UP_MOVE(50, MOVE_SAFEGUARD), + LEVEL_UP_END +}; + +const u16 gCarvanhaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 7, MOVE_RAGE), + LEVEL_UP_MOVE(13, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(16, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(22, MOVE_CRUNCH), + LEVEL_UP_MOVE(28, MOVE_SCREECH), + LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(37, MOVE_SWAGGER), + LEVEL_UP_MOVE(43, MOVE_AGILITY), + LEVEL_UP_END +}; + +const u16 gSharpedoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_RAGE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 7, MOVE_RAGE), + LEVEL_UP_MOVE(13, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(16, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(22, MOVE_CRUNCH), + LEVEL_UP_MOVE(28, MOVE_SCREECH), + LEVEL_UP_MOVE(33, MOVE_SLASH), + LEVEL_UP_MOVE(38, MOVE_TAUNT), + LEVEL_UP_MOVE(43, MOVE_SWAGGER), + LEVEL_UP_MOVE(48, MOVE_SKULL_BASH), + LEVEL_UP_MOVE(53, MOVE_AGILITY), + LEVEL_UP_END +}; + +const u16 gTrapinchLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(17, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(25, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(33, MOVE_CRUNCH), + LEVEL_UP_MOVE(41, MOVE_DIG), + LEVEL_UP_MOVE(49, MOVE_SANDSTORM), + LEVEL_UP_MOVE(57, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +const u16 gVibravaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), + LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(17, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(25, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(33, MOVE_CRUNCH), + LEVEL_UP_MOVE(35, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(41, MOVE_SCREECH), + LEVEL_UP_MOVE(49, MOVE_SANDSTORM), + LEVEL_UP_MOVE(57, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +const u16 gFlygonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), + LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(17, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(25, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(33, MOVE_CRUNCH), + LEVEL_UP_MOVE(35, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(41, MOVE_SCREECH), + LEVEL_UP_MOVE(53, MOVE_SANDSTORM), + LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +const u16 gMakuhitaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(10, MOVE_ARM_THRUST), + LEVEL_UP_MOVE(13, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(19, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(22, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(28, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(31, MOVE_SMELLING_SALT), + LEVEL_UP_MOVE(37, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(40, MOVE_ENDURE), + LEVEL_UP_MOVE(46, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(49, MOVE_REVERSAL), + LEVEL_UP_END +}; + +const u16 gHariyamaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_ARM_THRUST), + LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(10, MOVE_ARM_THRUST), + LEVEL_UP_MOVE(13, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(19, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(22, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(29, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(33, MOVE_SMELLING_SALT), + LEVEL_UP_MOVE(40, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(44, MOVE_ENDURE), + LEVEL_UP_MOVE(51, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(55, MOVE_REVERSAL), + LEVEL_UP_END +}; + +const u16 gElectrikeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 9, MOVE_LEER), + LEVEL_UP_MOVE(12, MOVE_HOWL), + LEVEL_UP_MOVE(17, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(20, MOVE_SPARK), + LEVEL_UP_MOVE(25, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(28, MOVE_ROAR), + LEVEL_UP_MOVE(33, MOVE_BITE), + LEVEL_UP_MOVE(36, MOVE_THUNDER), + LEVEL_UP_MOVE(41, MOVE_CHARGE), + LEVEL_UP_END +}; + +const u16 gManectricLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_HOWL), + LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 9, MOVE_LEER), + LEVEL_UP_MOVE(12, MOVE_HOWL), + LEVEL_UP_MOVE(17, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(20, MOVE_SPARK), + LEVEL_UP_MOVE(25, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(31, MOVE_ROAR), + LEVEL_UP_MOVE(39, MOVE_BITE), + LEVEL_UP_MOVE(45, MOVE_THUNDER), + LEVEL_UP_MOVE(53, MOVE_CHARGE), + LEVEL_UP_END +}; + +const u16 gNumelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE(11, MOVE_EMBER), + LEVEL_UP_MOVE(19, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(25, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(29, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(31, MOVE_AMNESIA), + LEVEL_UP_MOVE(35, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(41, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(49, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gCameruptLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(11, MOVE_EMBER), + LEVEL_UP_MOVE(19, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(25, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(29, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(31, MOVE_AMNESIA), + LEVEL_UP_MOVE(33, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(37, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(45, MOVE_ERUPTION), + LEVEL_UP_MOVE(55, MOVE_FISSURE), + LEVEL_UP_END +}; + +const u16 gSphealLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_ENCORE), + LEVEL_UP_MOVE(13, MOVE_ICE_BALL), + LEVEL_UP_MOVE(19, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(25, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(31, MOVE_HAIL), + LEVEL_UP_MOVE(37, MOVE_REST), + LEVEL_UP_MOVE(37, MOVE_SNORE), + LEVEL_UP_MOVE(43, MOVE_BLIZZARD), + LEVEL_UP_MOVE(49, MOVE_SHEER_COLD), + LEVEL_UP_END +}; + +const u16 gSealeoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE( 7, MOVE_ENCORE), + LEVEL_UP_MOVE(13, MOVE_ICE_BALL), + LEVEL_UP_MOVE(19, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(25, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(31, MOVE_HAIL), + LEVEL_UP_MOVE(39, MOVE_REST), + LEVEL_UP_MOVE(39, MOVE_SNORE), + LEVEL_UP_MOVE(47, MOVE_BLIZZARD), + LEVEL_UP_MOVE(55, MOVE_SHEER_COLD), + LEVEL_UP_END +}; + +const u16 gWalreinLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE( 7, MOVE_ENCORE), + LEVEL_UP_MOVE(13, MOVE_ICE_BALL), + LEVEL_UP_MOVE(19, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(25, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(31, MOVE_HAIL), + LEVEL_UP_MOVE(39, MOVE_REST), + LEVEL_UP_MOVE(39, MOVE_SNORE), + LEVEL_UP_MOVE(50, MOVE_BLIZZARD), + LEVEL_UP_MOVE(61, MOVE_SHEER_COLD), + LEVEL_UP_END +}; + +const u16 gCacneaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_ABSORB), + LEVEL_UP_MOVE( 9, MOVE_GROWTH), + LEVEL_UP_MOVE(13, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(17, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(21, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(25, MOVE_INGRAIN), + LEVEL_UP_MOVE(29, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(33, MOVE_SPIKES), + LEVEL_UP_MOVE(37, MOVE_NEEDLE_ARM), + LEVEL_UP_MOVE(41, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(45, MOVE_SANDSTORM), + LEVEL_UP_END +}; + +const u16 gCacturneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 5, MOVE_ABSORB), + LEVEL_UP_MOVE( 9, MOVE_GROWTH), + LEVEL_UP_MOVE(13, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(17, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(21, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(25, MOVE_INGRAIN), + LEVEL_UP_MOVE(29, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(35, MOVE_SPIKES), + LEVEL_UP_MOVE(41, MOVE_NEEDLE_ARM), + LEVEL_UP_MOVE(47, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(53, MOVE_SANDSTORM), + LEVEL_UP_END +}; + +const u16 gSnoruntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(10, MOVE_BITE), + LEVEL_UP_MOVE(16, MOVE_ICY_WIND), + LEVEL_UP_MOVE(19, MOVE_HEADBUTT), + LEVEL_UP_MOVE(25, MOVE_PROTECT), + LEVEL_UP_MOVE(28, MOVE_CRUNCH), + LEVEL_UP_MOVE(34, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(37, MOVE_HAIL), + LEVEL_UP_MOVE(43, MOVE_BLIZZARD), + LEVEL_UP_END +}; + +const u16 gGlalieLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 7, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(10, MOVE_BITE), + LEVEL_UP_MOVE(16, MOVE_ICY_WIND), + LEVEL_UP_MOVE(19, MOVE_HEADBUTT), + LEVEL_UP_MOVE(25, MOVE_PROTECT), + LEVEL_UP_MOVE(28, MOVE_CRUNCH), + LEVEL_UP_MOVE(34, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(42, MOVE_HAIL), + LEVEL_UP_MOVE(53, MOVE_BLIZZARD), + LEVEL_UP_MOVE(61, MOVE_SHEER_COLD), + LEVEL_UP_END +}; + +const u16 gLunatoneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_CONFUSION), + LEVEL_UP_MOVE(13, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(19, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(25, MOVE_PSYWAVE), + LEVEL_UP_MOVE(31, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(37, MOVE_PSYCHIC), + LEVEL_UP_MOVE(43, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(49, MOVE_EXPLOSION), + LEVEL_UP_END +}; + +const u16 gSolrockLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_CONFUSION), + LEVEL_UP_MOVE(13, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(19, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(25, MOVE_PSYWAVE), + LEVEL_UP_MOVE(31, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(37, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(43, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(49, MOVE_EXPLOSION), + LEVEL_UP_END +}; + +const u16 gAzurillLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 3, MOVE_CHARM), + LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(10, MOVE_BUBBLE), + LEVEL_UP_MOVE(15, MOVE_SLAM), + LEVEL_UP_MOVE(21, MOVE_WATER_GUN), + LEVEL_UP_END +}; + +const u16 gSpoinkLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 7, MOVE_PSYWAVE), + LEVEL_UP_MOVE(10, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(16, MOVE_PSYBEAM), + LEVEL_UP_MOVE(19, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(25, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(28, MOVE_MAGIC_COAT), + LEVEL_UP_MOVE(34, MOVE_PSYCHIC), + LEVEL_UP_MOVE(37, MOVE_REST), + LEVEL_UP_MOVE(37, MOVE_SNORE), + LEVEL_UP_MOVE(43, MOVE_BOUNCE), + LEVEL_UP_END +}; + +const u16 gGrumpigLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), + LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE( 1, MOVE_PSYBEAM), + LEVEL_UP_MOVE( 7, MOVE_PSYWAVE), + LEVEL_UP_MOVE(10, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(16, MOVE_PSYBEAM), + LEVEL_UP_MOVE(19, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(25, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(28, MOVE_MAGIC_COAT), + LEVEL_UP_MOVE(37, MOVE_PSYCHIC), + LEVEL_UP_MOVE(43, MOVE_REST), + LEVEL_UP_MOVE(43, MOVE_SNORE), + LEVEL_UP_MOVE(55, MOVE_BOUNCE), + LEVEL_UP_END +}; + +const u16 gPlusleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(19, MOVE_SPARK), + LEVEL_UP_MOVE(22, MOVE_ENCORE), + LEVEL_UP_MOVE(28, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(31, MOVE_CHARGE), + LEVEL_UP_MOVE(37, MOVE_THUNDER), + LEVEL_UP_MOVE(40, MOVE_BATON_PASS), + LEVEL_UP_MOVE(47, MOVE_AGILITY), + LEVEL_UP_END +}; + +const u16 gMinunLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(19, MOVE_SPARK), + LEVEL_UP_MOVE(22, MOVE_ENCORE), + LEVEL_UP_MOVE(28, MOVE_CHARM), + LEVEL_UP_MOVE(31, MOVE_CHARGE), + LEVEL_UP_MOVE(37, MOVE_THUNDER), + LEVEL_UP_MOVE(40, MOVE_BATON_PASS), + LEVEL_UP_MOVE(47, MOVE_AGILITY), + LEVEL_UP_END +}; + +const u16 gMawileLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 6, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(11, MOVE_BITE), + LEVEL_UP_MOVE(16, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(21, MOVE_VICE_GRIP), + LEVEL_UP_MOVE(26, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(31, MOVE_BATON_PASS), + LEVEL_UP_MOVE(36, MOVE_CRUNCH), + LEVEL_UP_MOVE(41, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(46, MOVE_STOCKPILE), + LEVEL_UP_MOVE(46, MOVE_SWALLOW), + LEVEL_UP_MOVE(46, MOVE_SPIT_UP), + LEVEL_UP_END +}; + +const u16 gMedititeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BIDE), + LEVEL_UP_MOVE( 4, MOVE_MEDITATE), + LEVEL_UP_MOVE( 9, MOVE_CONFUSION), + LEVEL_UP_MOVE(12, MOVE_DETECT), + LEVEL_UP_MOVE(18, MOVE_HIDDEN_POWER), + LEVEL_UP_MOVE(22, MOVE_MIND_READER), + LEVEL_UP_MOVE(28, MOVE_CALM_MIND), + LEVEL_UP_MOVE(32, MOVE_HI_JUMP_KICK), + LEVEL_UP_MOVE(38, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(42, MOVE_REVERSAL), + LEVEL_UP_MOVE(48, MOVE_RECOVER), + LEVEL_UP_END +}; + +const u16 gMedichamLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_BIDE), + LEVEL_UP_MOVE( 1, MOVE_MEDITATE), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_DETECT), + LEVEL_UP_MOVE( 4, MOVE_MEDITATE), + LEVEL_UP_MOVE( 9, MOVE_CONFUSION), + LEVEL_UP_MOVE(12, MOVE_DETECT), + LEVEL_UP_MOVE(18, MOVE_HIDDEN_POWER), + LEVEL_UP_MOVE(22, MOVE_MIND_READER), + LEVEL_UP_MOVE(28, MOVE_CALM_MIND), + LEVEL_UP_MOVE(32, MOVE_HI_JUMP_KICK), + LEVEL_UP_MOVE(40, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(46, MOVE_REVERSAL), + LEVEL_UP_MOVE(54, MOVE_RECOVER), + LEVEL_UP_END +}; + +const u16 gSwabluLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 8, MOVE_ASTONISH), + LEVEL_UP_MOVE(11, MOVE_SING), + LEVEL_UP_MOVE(18, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(21, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(28, MOVE_MIST), + LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(38, MOVE_MIRROR_MOVE), + LEVEL_UP_MOVE(41, MOVE_REFRESH), + LEVEL_UP_MOVE(48, MOVE_PERISH_SONG), + LEVEL_UP_END +}; + +const u16 gAltariaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 8, MOVE_ASTONISH), + LEVEL_UP_MOVE(11, MOVE_SING), + LEVEL_UP_MOVE(18, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(21, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(28, MOVE_MIST), + LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(35, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(40, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(45, MOVE_REFRESH), + LEVEL_UP_MOVE(54, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(59, MOVE_SKY_ATTACK), + LEVEL_UP_END +}; + +const u16 gWynautLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE(15, MOVE_COUNTER), + LEVEL_UP_MOVE(15, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE(15, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(15, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; + +const u16 gDuskullLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE( 5, MOVE_DISABLE), + LEVEL_UP_MOVE(12, MOVE_FORESIGHT), + LEVEL_UP_MOVE(16, MOVE_ASTONISH), + LEVEL_UP_MOVE(23, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(27, MOVE_PURSUIT), + LEVEL_UP_MOVE(34, MOVE_CURSE), + LEVEL_UP_MOVE(38, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(45, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(49, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; + +const u16 gDusclopsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 5, MOVE_DISABLE), + LEVEL_UP_MOVE(12, MOVE_FORESIGHT), + LEVEL_UP_MOVE(16, MOVE_ASTONISH), + LEVEL_UP_MOVE(23, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(27, MOVE_PURSUIT), + LEVEL_UP_MOVE(34, MOVE_CURSE), + LEVEL_UP_MOVE(37, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE(41, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(51, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(58, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; + +const u16 gRoseliaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 5, MOVE_GROWTH), + LEVEL_UP_MOVE( 9, MOVE_POISON_STING), + LEVEL_UP_MOVE(13, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(17, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(21, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(25, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(29, MOVE_GRASS_WHISTLE), + LEVEL_UP_MOVE(33, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(37, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(41, MOVE_INGRAIN), + LEVEL_UP_MOVE(45, MOVE_TOXIC), + LEVEL_UP_MOVE(49, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE(53, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(57, MOVE_SYNTHESIS), + LEVEL_UP_END +}; + +const u16 gSlakothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 7, MOVE_ENCORE), + LEVEL_UP_MOVE(13, MOVE_SLACK_OFF), + LEVEL_UP_MOVE(19, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(25, MOVE_AMNESIA), + LEVEL_UP_MOVE(31, MOVE_COVET), + LEVEL_UP_MOVE(37, MOVE_COUNTER), + LEVEL_UP_MOVE(43, MOVE_FLAIL), + LEVEL_UP_END +}; + +const u16 gVigorothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE( 1, MOVE_UPROAR), + LEVEL_UP_MOVE( 7, MOVE_ENCORE), + LEVEL_UP_MOVE(13, MOVE_UPROAR), + LEVEL_UP_MOVE(19, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(25, MOVE_ENDURE), + LEVEL_UP_MOVE(31, MOVE_SLASH), + LEVEL_UP_MOVE(37, MOVE_COUNTER), + LEVEL_UP_MOVE(43, MOVE_FOCUS_PUNCH), + LEVEL_UP_MOVE(49, MOVE_REVERSAL), + LEVEL_UP_END +}; + +const u16 gSlakingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE( 1, MOVE_SLACK_OFF), + LEVEL_UP_MOVE( 7, MOVE_ENCORE), + LEVEL_UP_MOVE(13, MOVE_SLACK_OFF), + LEVEL_UP_MOVE(19, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(25, MOVE_AMNESIA), + LEVEL_UP_MOVE(31, MOVE_COVET), + LEVEL_UP_MOVE(36, MOVE_SWAGGER), + LEVEL_UP_MOVE(37, MOVE_COUNTER), + LEVEL_UP_MOVE(43, MOVE_FLAIL), + LEVEL_UP_END +}; + +const u16 gGulpinLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 6, MOVE_YAWN), + LEVEL_UP_MOVE( 9, MOVE_POISON_GAS), + LEVEL_UP_MOVE(14, MOVE_SLUDGE), + LEVEL_UP_MOVE(17, MOVE_AMNESIA), + LEVEL_UP_MOVE(23, MOVE_ENCORE), + LEVEL_UP_MOVE(28, MOVE_TOXIC), + LEVEL_UP_MOVE(34, MOVE_STOCKPILE), + LEVEL_UP_MOVE(34, MOVE_SPIT_UP), + LEVEL_UP_MOVE(34, MOVE_SWALLOW), + LEVEL_UP_MOVE(39, MOVE_SLUDGE_BOMB), + LEVEL_UP_END +}; + +const u16 gSwalotLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_SLUDGE), + LEVEL_UP_MOVE( 6, MOVE_YAWN), + LEVEL_UP_MOVE( 9, MOVE_POISON_GAS), + LEVEL_UP_MOVE(14, MOVE_SLUDGE), + LEVEL_UP_MOVE(17, MOVE_AMNESIA), + LEVEL_UP_MOVE(23, MOVE_ENCORE), + LEVEL_UP_MOVE(26, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(31, MOVE_TOXIC), + LEVEL_UP_MOVE(40, MOVE_STOCKPILE), + LEVEL_UP_MOVE(40, MOVE_SPIT_UP), + LEVEL_UP_MOVE(40, MOVE_SWALLOW), + LEVEL_UP_MOVE(48, MOVE_SLUDGE_BOMB), + LEVEL_UP_END +}; + +const u16 gTropiusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 7, MOVE_GROWTH), + LEVEL_UP_MOVE(11, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(17, MOVE_STOMP), + LEVEL_UP_MOVE(21, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(27, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(31, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(37, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(41, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(47, MOVE_SYNTHESIS), + LEVEL_UP_END +}; + +const u16 gWhismurLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 5, MOVE_UPROAR), + LEVEL_UP_MOVE(11, MOVE_ASTONISH), + LEVEL_UP_MOVE(15, MOVE_HOWL), + LEVEL_UP_MOVE(21, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(25, MOVE_STOMP), + LEVEL_UP_MOVE(31, MOVE_SCREECH), + LEVEL_UP_MOVE(35, MOVE_ROAR), + LEVEL_UP_MOVE(41, MOVE_REST), + LEVEL_UP_MOVE(41, MOVE_SLEEP_TALK), + LEVEL_UP_MOVE(45, MOVE_HYPER_VOICE), + LEVEL_UP_END +}; + +const u16 gLoudredLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_UPROAR), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_HOWL), + LEVEL_UP_MOVE( 5, MOVE_UPROAR), + LEVEL_UP_MOVE(11, MOVE_ASTONISH), + LEVEL_UP_MOVE(15, MOVE_HOWL), + LEVEL_UP_MOVE(23, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(29, MOVE_STOMP), + LEVEL_UP_MOVE(37, MOVE_SCREECH), + LEVEL_UP_MOVE(43, MOVE_ROAR), + LEVEL_UP_MOVE(51, MOVE_REST), + LEVEL_UP_MOVE(51, MOVE_SLEEP_TALK), + LEVEL_UP_MOVE(57, MOVE_HYPER_VOICE), + LEVEL_UP_END +}; + +const u16 gExploudLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_UPROAR), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_HOWL), + LEVEL_UP_MOVE( 5, MOVE_UPROAR), + LEVEL_UP_MOVE(11, MOVE_ASTONISH), + LEVEL_UP_MOVE(15, MOVE_HOWL), + LEVEL_UP_MOVE(23, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(29, MOVE_STOMP), + LEVEL_UP_MOVE(37, MOVE_SCREECH), + LEVEL_UP_MOVE(40, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(45, MOVE_ROAR), + LEVEL_UP_MOVE(55, MOVE_REST), + LEVEL_UP_MOVE(55, MOVE_SLEEP_TALK), + LEVEL_UP_MOVE(63, MOVE_HYPER_VOICE), + LEVEL_UP_END +}; + +const u16 gClamperlLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CLAMP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_END +}; + +const u16 gHuntailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE( 8, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_SCREECH), + LEVEL_UP_MOVE(22, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(29, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(36, MOVE_CRUNCH), + LEVEL_UP_MOVE(43, MOVE_BATON_PASS), + LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gGorebyssLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE( 8, MOVE_CONFUSION), + LEVEL_UP_MOVE(15, MOVE_AGILITY), + LEVEL_UP_MOVE(22, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(29, MOVE_AMNESIA), + LEVEL_UP_MOVE(36, MOVE_PSYCHIC), + LEVEL_UP_MOVE(43, MOVE_BATON_PASS), + LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gAbsolLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 5, MOVE_LEER), + LEVEL_UP_MOVE( 9, MOVE_TAUNT), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(17, MOVE_RAZOR_WIND), + LEVEL_UP_MOVE(21, MOVE_BITE), + LEVEL_UP_MOVE(26, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(31, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(36, MOVE_SLASH), + LEVEL_UP_MOVE(41, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(46, MOVE_PERISH_SONG), + LEVEL_UP_END +}; + +const u16 gShuppetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE( 8, MOVE_SCREECH), + LEVEL_UP_MOVE(13, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(20, MOVE_CURSE), + LEVEL_UP_MOVE(25, MOVE_SPITE), + LEVEL_UP_MOVE(32, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(37, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(44, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(49, MOVE_SNATCH), + LEVEL_UP_MOVE(56, MOVE_GRUDGE), + LEVEL_UP_END +}; + +const u16 gBanetteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE( 1, MOVE_CURSE), + LEVEL_UP_MOVE( 8, MOVE_SCREECH), + LEVEL_UP_MOVE(13, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(20, MOVE_CURSE), + LEVEL_UP_MOVE(25, MOVE_SPITE), + LEVEL_UP_MOVE(32, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(39, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(48, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(55, MOVE_SNATCH), + LEVEL_UP_MOVE(64, MOVE_GRUDGE), + LEVEL_UP_END +}; + +const u16 gSeviperLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 7, MOVE_LICK), + LEVEL_UP_MOVE(10, MOVE_BITE), + LEVEL_UP_MOVE(16, MOVE_POISON_TAIL), + LEVEL_UP_MOVE(19, MOVE_SCREECH), + LEVEL_UP_MOVE(25, MOVE_GLARE), + LEVEL_UP_MOVE(28, MOVE_CRUNCH), + LEVEL_UP_MOVE(34, MOVE_POISON_FANG), + LEVEL_UP_MOVE(37, MOVE_SWAGGER), + LEVEL_UP_MOVE(43, MOVE_HAZE), + LEVEL_UP_END +}; + +const u16 gZangooseLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 4, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(10, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(13, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(19, MOVE_SLASH), + LEVEL_UP_MOVE(25, MOVE_PURSUIT), + LEVEL_UP_MOVE(31, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE(37, MOVE_TAUNT), + LEVEL_UP_MOVE(46, MOVE_DETECT), + LEVEL_UP_MOVE(55, MOVE_FALSE_SWIPE), + LEVEL_UP_END +}; + +const u16 gRelicanthLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 8, MOVE_WATER_GUN), + LEVEL_UP_MOVE(15, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(22, MOVE_YAWN), + LEVEL_UP_MOVE(29, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(36, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(43, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(50, MOVE_REST), + LEVEL_UP_MOVE(57, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(64, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +const u16 gAronLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(10, MOVE_HEADBUTT), + LEVEL_UP_MOVE(13, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(17, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(21, MOVE_ROAR), + LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(29, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(34, MOVE_PROTECT), + LEVEL_UP_MOVE(39, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(44, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gLaironLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 4, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(10, MOVE_HEADBUTT), + LEVEL_UP_MOVE(13, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(17, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(21, MOVE_ROAR), + LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(29, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(37, MOVE_PROTECT), + LEVEL_UP_MOVE(45, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(53, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gAggronLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 4, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(10, MOVE_HEADBUTT), + LEVEL_UP_MOVE(13, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(17, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(21, MOVE_ROAR), + LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(29, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(37, MOVE_PROTECT), + LEVEL_UP_MOVE(50, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(63, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gCastformLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE(10, MOVE_WATER_GUN), + LEVEL_UP_MOVE(10, MOVE_EMBER), + LEVEL_UP_MOVE(10, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(20, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(20, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(20, MOVE_HAIL), + LEVEL_UP_MOVE(30, MOVE_WEATHER_BALL), + LEVEL_UP_END +}; + +const u16 gVolbeatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 9, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(13, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(17, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(21, MOVE_TAIL_GLOW), + LEVEL_UP_MOVE(25, MOVE_SIGNAL_BEAM), + LEVEL_UP_MOVE(29, MOVE_PROTECT), + LEVEL_UP_MOVE(33, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(37, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gIllumiseLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 9, MOVE_CHARM), + LEVEL_UP_MOVE(13, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(17, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(21, MOVE_WISH), + LEVEL_UP_MOVE(25, MOVE_ENCORE), + LEVEL_UP_MOVE(29, MOVE_FLATTER), + LEVEL_UP_MOVE(33, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(37, MOVE_COVET), + LEVEL_UP_END +}; + +const u16 gLileepLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 8, MOVE_CONSTRICT), + LEVEL_UP_MOVE(15, MOVE_ACID), + LEVEL_UP_MOVE(22, MOVE_INGRAIN), + LEVEL_UP_MOVE(29, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(36, MOVE_AMNESIA), + LEVEL_UP_MOVE(43, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(50, MOVE_STOCKPILE), + LEVEL_UP_MOVE(50, MOVE_SPIT_UP), + LEVEL_UP_MOVE(50, MOVE_SWALLOW), + LEVEL_UP_END +}; + +const u16 gCradilyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_INGRAIN), + LEVEL_UP_MOVE( 8, MOVE_CONSTRICT), + LEVEL_UP_MOVE(15, MOVE_ACID), + LEVEL_UP_MOVE(22, MOVE_INGRAIN), + LEVEL_UP_MOVE(29, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(36, MOVE_AMNESIA), + LEVEL_UP_MOVE(48, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(60, MOVE_STOCKPILE), + LEVEL_UP_MOVE(60, MOVE_SPIT_UP), + LEVEL_UP_MOVE(60, MOVE_SWALLOW), + LEVEL_UP_END +}; + +const u16 gAnorithLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 7, MOVE_HARDEN), + LEVEL_UP_MOVE(13, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(19, MOVE_WATER_GUN), + LEVEL_UP_MOVE(25, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(31, MOVE_PROTECT), + LEVEL_UP_MOVE(37, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(43, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(49, MOVE_SLASH), + LEVEL_UP_MOVE(55, MOVE_ROCK_BLAST), + LEVEL_UP_END +}; + +const u16 gArmaldoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_HARDEN), + LEVEL_UP_MOVE(13, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(19, MOVE_WATER_GUN), + LEVEL_UP_MOVE(25, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(31, MOVE_PROTECT), + LEVEL_UP_MOVE(37, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(46, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(55, MOVE_SLASH), + LEVEL_UP_MOVE(64, MOVE_ROCK_BLAST), + LEVEL_UP_END +}; + +const u16 gRaltsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 6, MOVE_CONFUSION), + LEVEL_UP_MOVE(11, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(16, MOVE_TELEPORT), + LEVEL_UP_MOVE(21, MOVE_CALM_MIND), + LEVEL_UP_MOVE(26, MOVE_PSYCHIC), + LEVEL_UP_MOVE(31, MOVE_IMPRISON), + LEVEL_UP_MOVE(36, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(41, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(46, MOVE_DREAM_EATER), + LEVEL_UP_END +}; + +const u16 gKirliaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_MOVE( 6, MOVE_CONFUSION), + LEVEL_UP_MOVE(11, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(16, MOVE_TELEPORT), + LEVEL_UP_MOVE(21, MOVE_CALM_MIND), + LEVEL_UP_MOVE(26, MOVE_PSYCHIC), + LEVEL_UP_MOVE(33, MOVE_IMPRISON), + LEVEL_UP_MOVE(40, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(47, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(54, MOVE_DREAM_EATER), + LEVEL_UP_END +}; + +const u16 gGardevoirLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_MOVE( 6, MOVE_CONFUSION), + LEVEL_UP_MOVE(11, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(16, MOVE_TELEPORT), + LEVEL_UP_MOVE(21, MOVE_CALM_MIND), + LEVEL_UP_MOVE(26, MOVE_PSYCHIC), + LEVEL_UP_MOVE(33, MOVE_IMPRISON), + LEVEL_UP_MOVE(42, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(51, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(60, MOVE_DREAM_EATER), + LEVEL_UP_END +}; + +const u16 gBagonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_RAGE), + LEVEL_UP_MOVE( 5, MOVE_BITE), + LEVEL_UP_MOVE( 9, MOVE_LEER), + LEVEL_UP_MOVE(17, MOVE_HEADBUTT), + LEVEL_UP_MOVE(21, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(25, MOVE_EMBER), + LEVEL_UP_MOVE(33, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(37, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(41, MOVE_CRUNCH), + LEVEL_UP_MOVE(49, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(53, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gShelgonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_RAGE), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 5, MOVE_BITE), + LEVEL_UP_MOVE( 9, MOVE_LEER), + LEVEL_UP_MOVE(17, MOVE_HEADBUTT), + LEVEL_UP_MOVE(21, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(25, MOVE_EMBER), + LEVEL_UP_MOVE(30, MOVE_PROTECT), + LEVEL_UP_MOVE(38, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(47, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(56, MOVE_CRUNCH), + LEVEL_UP_MOVE(69, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(78, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gSalamenceLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_RAGE), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 5, MOVE_BITE), + LEVEL_UP_MOVE( 9, MOVE_LEER), + LEVEL_UP_MOVE(17, MOVE_HEADBUTT), + LEVEL_UP_MOVE(21, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(25, MOVE_EMBER), + LEVEL_UP_MOVE(30, MOVE_PROTECT), + LEVEL_UP_MOVE(38, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(47, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(50, MOVE_FLY), + LEVEL_UP_MOVE(61, MOVE_CRUNCH), + LEVEL_UP_MOVE(79, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(93, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +const u16 gBeldumLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_END +}; + +const u16 gMetangLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(20, MOVE_CONFUSION), + LEVEL_UP_MOVE(20, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(26, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(32, MOVE_PURSUIT), + LEVEL_UP_MOVE(38, MOVE_PSYCHIC), + LEVEL_UP_MOVE(44, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(50, MOVE_METEOR_MASH), + LEVEL_UP_MOVE(56, MOVE_AGILITY), + LEVEL_UP_MOVE(62, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +const u16 gMetagrossLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(20, MOVE_CONFUSION), + LEVEL_UP_MOVE(20, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(26, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(32, MOVE_PURSUIT), + LEVEL_UP_MOVE(38, MOVE_PSYCHIC), + LEVEL_UP_MOVE(44, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(55, MOVE_METEOR_MASH), + LEVEL_UP_MOVE(66, MOVE_AGILITY), + LEVEL_UP_MOVE(77, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +const u16 gRegirockLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), + LEVEL_UP_MOVE( 9, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(17, MOVE_CURSE), + LEVEL_UP_MOVE(25, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(33, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(41, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(49, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(57, MOVE_LOCK_ON), + LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +const u16 gRegiceLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), + LEVEL_UP_MOVE( 9, MOVE_ICY_WIND), + LEVEL_UP_MOVE(17, MOVE_CURSE), + LEVEL_UP_MOVE(25, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(33, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(41, MOVE_AMNESIA), + LEVEL_UP_MOVE(49, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(57, MOVE_LOCK_ON), + LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +const u16 gRegisteelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), + LEVEL_UP_MOVE( 9, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(17, MOVE_CURSE), + LEVEL_UP_MOVE(25, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(33, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(41, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(41, MOVE_AMNESIA), + LEVEL_UP_MOVE(49, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(57, MOVE_LOCK_ON), + LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +const u16 gKyogreLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_PULSE), + LEVEL_UP_MOVE( 5, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(15, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(20, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(30, MOVE_CALM_MIND), + LEVEL_UP_MOVE(35, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(45, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(50, MOVE_REST), + LEVEL_UP_MOVE(60, MOVE_SHEER_COLD), + LEVEL_UP_MOVE(65, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(75, MOVE_WATER_SPOUT), + LEVEL_UP_END +}; + +const u16 gGroudonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), + LEVEL_UP_MOVE( 5, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(15, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(20, MOVE_SLASH), + LEVEL_UP_MOVE(30, MOVE_BULK_UP), + LEVEL_UP_MOVE(35, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(45, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(50, MOVE_REST), + LEVEL_UP_MOVE(60, MOVE_FISSURE), + LEVEL_UP_MOVE(65, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(75, MOVE_ERUPTION), + LEVEL_UP_END +}; + +const u16 gRayquazaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TWISTER), + LEVEL_UP_MOVE( 5, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(15, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(20, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(30, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(35, MOVE_CRUNCH), + LEVEL_UP_MOVE(45, MOVE_FLY), + LEVEL_UP_MOVE(50, MOVE_REST), + LEVEL_UP_MOVE(60, MOVE_EXTREME_SPEED), + LEVEL_UP_MOVE(65, MOVE_OUTRAGE), + LEVEL_UP_MOVE(75, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +const u16 gLatiasLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), + LEVEL_UP_MOVE( 5, MOVE_WISH), + LEVEL_UP_MOVE(10, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(15, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(20, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(25, MOVE_WATER_SPORT), + LEVEL_UP_MOVE(30, MOVE_REFRESH), + LEVEL_UP_MOVE(35, MOVE_MIST_BALL), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC), + LEVEL_UP_MOVE(45, MOVE_RECOVER), + LEVEL_UP_MOVE(50, MOVE_CHARM), + LEVEL_UP_END +}; + +const u16 gLatiosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), + LEVEL_UP_MOVE( 5, MOVE_MEMENTO), + LEVEL_UP_MOVE(10, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(15, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(20, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(25, MOVE_PROTECT), + LEVEL_UP_MOVE(30, MOVE_REFRESH), + LEVEL_UP_MOVE(35, MOVE_LUSTER_PURGE), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC), + LEVEL_UP_MOVE(45, MOVE_RECOVER), + LEVEL_UP_MOVE(50, MOVE_DRAGON_DANCE), + LEVEL_UP_END +}; + +const u16 gJirachiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WISH), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 5, MOVE_REST), + LEVEL_UP_MOVE(10, MOVE_SWIFT), + LEVEL_UP_MOVE(15, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(20, MOVE_PSYCHIC), + LEVEL_UP_MOVE(25, MOVE_REFRESH), + LEVEL_UP_MOVE(30, MOVE_REST), + LEVEL_UP_MOVE(35, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(40, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(45, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(50, MOVE_DOOM_DESIRE), + LEVEL_UP_END +}; + +const u16 gDeoxysLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 5, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(10, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(15, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(20, MOVE_PURSUIT), + LEVEL_UP_MOVE(25, MOVE_PSYCHIC), + LEVEL_UP_MOVE(30, MOVE_SWIFT), + LEVEL_UP_MOVE(35, MOVE_AGILITY), + LEVEL_UP_MOVE(40, MOVE_RECOVER), + LEVEL_UP_MOVE(45, MOVE_PSYCHO_BOOST), + LEVEL_UP_MOVE(50, MOVE_EXTREME_SPEED), + LEVEL_UP_END +}; + +const u16 gChimechoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 6, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_ASTONISH), + LEVEL_UP_MOVE(14, MOVE_CONFUSION), + LEVEL_UP_MOVE(17, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(22, MOVE_UPROAR), + LEVEL_UP_MOVE(25, MOVE_YAWN), + LEVEL_UP_MOVE(30, MOVE_PSYWAVE), + LEVEL_UP_MOVE(33, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(38, MOVE_HEAL_BELL), + LEVEL_UP_MOVE(41, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(46, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +#endif //POKEEMERALD_LEVEL_UP_LEARNSETS_H diff --git a/include/data/pokemon/tmhm_learnsets.h b/include/data/pokemon/tmhm_learnsets.h new file mode 100644 index 0000000000..f14478863a --- /dev/null +++ b/include/data/pokemon/tmhm_learnsets.h @@ -0,0 +1,9393 @@ +#ifndef GUARD_TMHM_LEARNSETS_H +#define GUARD_TMHM_LEARNSETS_H + +#define TMHM_LEARNSET(moves) {(u32)(moves), ((u64)(moves) >> 32)} +#define TMHM(tmhm) ((u64)1 << (ITEM_##tmhm - ITEM_TM01_FOCUS_PUNCH)) + +// This table determines which TMs and HMs a species is capable of learning. +// Each entry is a 64-bit bit array spread across two 32-bit values, with +// each bit corresponding to a . +const u32 gTMHMLearnsets[][2] = +{ + [SPECIES_NONE] = TMHM_LEARNSET(0), + + [SPECIES_BULBASAUR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_IVYSAUR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_VENUSAUR] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CHARMANDER] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM02_DRAGON_CLAW) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CHARMELEON] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM02_DRAGON_CLAW) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CHARIZARD] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM02_DRAGON_CLAW) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM47_STEEL_WING) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT) + | TMHM(HM02_FLY) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SQUIRTLE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_WARTORTLE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_BLASTOISE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_CATERPIE] = TMHM_LEARNSET(0), + + [SPECIES_METAPOD] = TMHM_LEARNSET(0), + + [SPECIES_BUTTERFREE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM05_FLASH)), + + [SPECIES_WEEDLE] = TMHM_LEARNSET(0), + + [SPECIES_KAKUNA] = TMHM_LEARNSET(0), + + [SPECIES_BEEDRILL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_PIDGEY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_PIDGEOTTO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_PIDGEOT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_RATTATA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_RATICATE] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SPEAROW] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_FEAROW] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_EKANS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH)), + + [SPECIES_ARBOK] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH)), + + [SPECIES_PIKACHU] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_RAICHU] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SANDSHREW] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SANDSLASH] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_NIDORAN_F] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_NIDORINA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_NIDOQUEEN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_NIDORAN_M] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_NIDORINO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_NIDOKING] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CLEFAIRY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH)), + + [SPECIES_CLEFABLE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH)), + + [SPECIES_VULPIX] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT)), + + [SPECIES_NINETALES] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT)), + + [SPECIES_JIGGLYPUFF] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH)), + + [SPECIES_WIGGLYTUFF] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH)), + + [SPECIES_ZUBAT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(TM49_SNATCH)), + + [SPECIES_GOLBAT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(TM49_SNATCH)), + + [SPECIES_ODDISH] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_GLOOM] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_VILEPLUME] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_PARAS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_PARASECT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_VENONAT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM05_FLASH)), + + [SPECIES_VENOMOTH] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM05_FLASH)), + + [SPECIES_DIGLETT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_DUGTRIO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MEOWTH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_PERSIAN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_PSYDUCK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_GOLDUCK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_MANKEY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_PRIMEAPE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_GROWLITHE] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_ARCANINE] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_POLIWAG] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_POLIWHIRL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_POLIWRATH] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_ABRA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_KADABRA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_ALAKAZAM] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_MACHOP] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MACHOKE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MACHAMP] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_BELLSPROUT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_WEEPINBELL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_VICTREEBEL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_TENTACOOL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_TENTACRUEL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_GEODUDE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_GRAVELER] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_GOLEM] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_PONYTA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH)), + + [SPECIES_RAPIDASH] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH)), + + [SPECIES_SLOWPOKE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM08_DIVE)), + + [SPECIES_SLOWBRO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM08_DIVE)), + + [SPECIES_MAGNEMITE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM05_FLASH)), + + [SPECIES_MAGNETON] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM05_FLASH)), + + [SPECIES_FARFETCHD] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM01_CUT) + | TMHM(HM02_FLY)), + + [SPECIES_DODUO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_DODRIO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_SEEL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_DEWGONG] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_GRIMER] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF)), + + [SPECIES_MUK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SHELLDER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM08_DIVE)), + + [SPECIES_CLOYSTER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM08_DIVE)), + + [SPECIES_GASTLY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH)), + + [SPECIES_HAUNTER] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH)), + + [SPECIES_GENGAR] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_ONIX] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_DROWZEE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_HYPNO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_KRABBY] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM08_DIVE)), + + [SPECIES_KINGLER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM08_DIVE)), + + [SPECIES_VOLTORB] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM12_TAUNT) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_ELECTRODE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_EXEGGCUTE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH)), + + [SPECIES_EXEGGUTOR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH)), + + [SPECIES_CUBONE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MAROWAK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_HITMONLEE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_HITMONCHAN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_LICKITUNG] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_KOFFING] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_WEEZING] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_RHYHORN] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_RHYDON] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CHANSEY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_TANGELA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_KANGASKHAN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_HORSEA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SEADRA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_GOLDEEN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SEAKING] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_STARYU] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM03_SURF) + | TMHM(HM05_FLASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_STARMIE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM03_SURF) + | TMHM(HM05_FLASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_MR_MIME] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_SCYTHER] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM01_CUT) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_JYNX] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM05_FLASH)), + + [SPECIES_ELECTABUZZ] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MAGMAR] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_PINSIR] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_TAUROS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MAGIKARP] = TMHM_LEARNSET(0), + + [SPECIES_GYARADOS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_LAPRAS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_DITTO] = TMHM_LEARNSET(0), + + [SPECIES_EEVEE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT)), + + [SPECIES_VAPOREON] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_JOLTEON] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_FLAREON] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT)), + + [SPECIES_PORYGON] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_OMANYTE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_OMASTAR] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_KABUTO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL)), + + [SPECIES_KABUTOPS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_AERODACTYL] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SNORLAX] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH)), + + [SPECIES_ARTICUNO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_ZAPDOS] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MOLTRES] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM47_STEEL_WING) + | TMHM(TM50_OVERHEAT) + | TMHM(HM02_FLY) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_DRATINI] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL)), + + [SPECIES_DRAGONAIR] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL)), + + [SPECIES_DRAGONITE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM02_DRAGON_CLAW) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM47_STEEL_WING) + | TMHM(HM01_CUT) + | TMHM(HM02_FLY) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_MEWTWO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MEW] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM02_DRAGON_CLAW) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM08_BULK_UP) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT) + | TMHM(HM02_FLY) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_CHIKORITA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_BAYLEEF] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MEGANIUM] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CYNDAQUIL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT)), + + [SPECIES_QUILAVA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_TYPHLOSION] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_TOTODILE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_CROCONAW] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_FERALIGATR] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM02_DRAGON_CLAW) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SENTRET] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF)), + + [SPECIES_FURRET] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_HOOTHOOT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY) + | TMHM(HM05_FLASH)), + + [SPECIES_NOCTOWL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY) + | TMHM(HM05_FLASH)), + + [SPECIES_LEDYBA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_LEDIAN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_SPINARAK] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_ARIADOS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_CROBAT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(TM49_SNATCH) + | TMHM(HM02_FLY)), + + [SPECIES_CHINCHOU] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM05_FLASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_LANTURN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM05_FLASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_PICHU] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_CLEFFA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_IGGLYBUFF] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_TOGEPI] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_TOGETIC] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_NATU] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM05_FLASH)), + + [SPECIES_XATU] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM02_FLY) + | TMHM(HM05_FLASH)), + + [SPECIES_MAREEP] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_FLAAFFY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_AMPHAROS] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_BELLOSSOM] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_MARILL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_AZUMARILL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SUDOWOODO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_POLITOED] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_HOPPIP] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_SKIPLOOM] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_JUMPLUFF] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_AIPOM] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SUNKERN] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_SUNFLORA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_YANMA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM05_FLASH)), + + [SPECIES_WOOPER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_QUAGSIRE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_ESPEON] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_UMBREON] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM49_SNATCH) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_MURKROW] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(TM49_SNATCH) + | TMHM(HM02_FLY)), + + [SPECIES_SLOWKING] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM08_DIVE)), + + [SPECIES_MISDREAVUS] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_UNOWN] = TMHM_LEARNSET(0), + + [SPECIES_WOBBUFFET] = TMHM_LEARNSET(0), + + [SPECIES_GIRAFARIG] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_PINECO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM37_SANDSTORM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_FORRETRESS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM37_SANDSTORM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_DUNSPARCE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_GLIGAR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_STEELIX] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SNUBBULL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_GRANBULL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_QWILFISH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SCIZOR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SHUCKLE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_HERACROSS] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SNEASEL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_TEDDIURSA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_URSARING] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SLUGMA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MAGCARGO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SWINUB] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_PILOSWINE] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CORSOLA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_REMORAID] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_OCTILLERY] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_DELIBIRD] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM02_FLY)), + + [SPECIES_MANTINE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SKARMORY] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM01_CUT) + | TMHM(HM02_FLY) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_HOUNDOUR] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(TM50_OVERHEAT) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_HOUNDOOM] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_KINGDRA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_PHANPY] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_DONPHAN] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_PORYGON2] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_STANTLER] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM05_FLASH)), + + [SPECIES_SMEARGLE] = TMHM_LEARNSET(0), + + [SPECIES_TYROGUE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_HITMONTOP] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SMOOCHUM] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM05_FLASH)), + + [SPECIES_ELEKID] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MAGBY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MILTANK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_BLISSEY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_RAIKOU] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_ENTEI] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SUICUNE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM37_SANDSTORM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_LARVITAR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_PUPITAR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_TYRANITAR] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM02_DRAGON_CLAW) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_LUGIA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM47_STEEL_WING) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM02_FLY) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_HO_OH] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM47_STEEL_WING) + | TMHM(TM50_OVERHEAT) + | TMHM(HM02_FLY) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CELEBI] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_OLD_UNOWN_B] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_C] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_D] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_E] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_F] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_G] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_H] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_I] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_J] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_K] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_L] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_M] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_N] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_O] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_P] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_Q] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_R] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_S] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_T] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_U] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_V] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_W] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_X] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_Y] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_Z] = TMHM_LEARNSET(0), + + [SPECIES_TREECKO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_GROVYLE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SCEPTILE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM02_DRAGON_CLAW) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_TORCHIC] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_COMBUSKEN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_BLAZIKEN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MUDKIP] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_MARSHTOMP] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SWAMPERT] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_POOCHYENA] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MIGHTYENA] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_ZIGZAGOON] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_LINOONE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_WURMPLE] = TMHM_LEARNSET(0), + + [SPECIES_SILCOON] = TMHM_LEARNSET(0), + + [SPECIES_BEAUTIFLY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_CASCOON] = TMHM_LEARNSET(0), + + [SPECIES_DUSTOX] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_LOTAD] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM05_FLASH)), + + [SPECIES_LOMBRE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_LUDICOLO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SEEDOT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_NUZLEAF] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SHIFTRY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_NINCADA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_NINJASK] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_SHEDINJA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_TAILLOW] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_SWELLOW] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_SHROOMISH] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_BRELOOM] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM49_SNATCH) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SPINDA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_WINGULL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_PELIPPER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY) + | TMHM(HM03_SURF)), + + [SPECIES_SURSKIT] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_MASQUERAIN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_WAILMER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_WAILORD] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SKITTY] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_DELCATTY] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_KECLEON] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_BALTOY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM05_FLASH)), + + [SPECIES_CLAYDOL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_NOSEPASS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_TORKOAL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SABLEYE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_BARBOACH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_WHISCASH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_LUVDISC] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_CORPHISH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL)), + + [SPECIES_CRAWDAUNT] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_FEEBAS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_MILOTIC] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_CARVANHA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SHARPEDO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_TRAPINCH] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_VIBRAVA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_FLYGON] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MAKUHITA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_HARIYAMA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_ELECTRIKE] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH)), + + [SPECIES_MANECTRIC] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH)), + + [SPECIES_NUMEL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CAMERUPT] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SPHEAL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SEALEO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_WALREIN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_CACNEA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_CACTURNE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH)), + + [SPECIES_SNORUNT] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_GLALIE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_LUNATONE] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM05_FLASH)), + + [SPECIES_SOLROCK] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM50_OVERHEAT) + | TMHM(HM05_FLASH)), + + [SPECIES_AZURILL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL)), + + [SPECIES_SPOINK] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_GRUMPIG] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_PLUSLE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_MINUN] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_MAWILE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MEDITITE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MEDICHAM] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SWABLU] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_ALTARIA] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_WYNAUT] = TMHM_LEARNSET(0), + + [SPECIES_DUSKULL] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_DUSCLOPS] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_ROSELIA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_SLAKOTH] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_VIGOROTH] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SLAKING] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_GULPIN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SWALOT] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_TROPIUS] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM47_STEEL_WING) + | TMHM(HM01_CUT) + | TMHM(HM02_FLY) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_WHISMUR] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT)), + + [SPECIES_LOUDRED] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_EXPLOUD] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CLAMPERL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_HUNTAIL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM49_SNATCH) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_GOREBYSS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_ABSOL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SHUPPET] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_BANETTE] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_SEVIPER] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_ZANGOOSE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_RELICANTH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_ARON] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_LAIRON] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_AGGRON] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM02_DRAGON_CLAW) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CASTFORM] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_VOLBEAT] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_ILLUMISE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_LILEEP] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT)), + + [SPECIES_CRADILY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_ANORITH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_ARMALDO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_RALTS] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_KIRLIA] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_GARDEVOIR] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_BAGON] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SHELGON] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SALAMENCE] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM47_STEEL_WING) + | TMHM(HM01_CUT) + | TMHM(HM02_FLY) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_BELDUM] = TMHM_LEARNSET(0), + + [SPECIES_METANG] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_METAGROSS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_REGIROCK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_REGICE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_REGISTEEL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_KYOGRE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_GROUDON] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_RAYQUAZA] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM50_OVERHEAT) + | TMHM(HM02_FLY) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_LATIAS] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM47_STEEL_WING) + | TMHM(HM01_CUT) + | TMHM(HM02_FLY) + | TMHM(HM03_SURF) + | TMHM(HM05_FLASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_LATIOS] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM47_STEEL_WING) + | TMHM(HM01_CUT) + | TMHM(HM02_FLY) + | TMHM(HM03_SURF) + | TMHM(HM05_FLASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_JIRACHI] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM05_FLASH)), + + [SPECIES_DEOXYS] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CHIMECHO] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + +}; + +#endif // GUARD_TMHM_LEARNSETS_H diff --git a/include/data/pokemon/trainer_class_lookups.h b/include/data/pokemon/trainer_class_lookups.h new file mode 100644 index 0000000000..2ffe9cd85f --- /dev/null +++ b/include/data/pokemon/trainer_class_lookups.h @@ -0,0 +1,176 @@ +#ifndef POKEEMERALD_TRAINER_CLASS_LOOKUPS_H +#define POKEEMERALD_TRAINER_CLASS_LOOKUPS_H + +const u8 gFacilityClassToPicIndex[] = +{ + TRAINER_PIC_HIKER, // FACILITY_CLASS_HIKER + TRAINER_PIC_AQUA_GRUNT_M, // FACILITY_CLASS_TEAM_AQUA_1 + TRAINER_PIC_POKEMON_BREEDER_F, // FACILITY_CLASS_PKMN_BREEDER_1 + TRAINER_PIC_COOL_TRAINER_M, // FACILITY_CLASS_COOLTRAINER_1 + TRAINER_PIC_BIRD_KEEPER, // FACILITY_CLASS_BIRD_KEEPER + TRAINER_PIC_COLLECTOR, // FACILITY_CLASS_COLLECTOR + TRAINER_PIC_AQUA_GRUNT_F, // FACILITY_CLASS_TEAM_AQUA_2 + TRAINER_PIC_SWIMMER_M, // FACILITY_CLASS_SWIMMER_M + TRAINER_PIC_MAGMA_GRUNT_M, // FACILITY_CLASS_TEAM_MAGMA_1 + TRAINER_PIC_EXPERT_M, // FACILITY_CLASS_EXPERT_1 + TRAINER_PIC_BLACK_BELT, // FACILITY_CLASS_BLACK_BELT + TRAINER_PIC_AQUA_LEADER_ARCHIE, // FACILITY_CLASS_AQUA_LEADER + TRAINER_PIC_HEX_MANIAC, // FACILITY_CLASS_HEX_MANIAC + TRAINER_PIC_AROMA_LADY, // FACILITY_CLASS_AROMA_LADY + TRAINER_PIC_RUIN_MANIAC, // FACILITY_CLASS_RUIN_MANIAC + TRAINER_PIC_INTERVIEWER, // FACILITY_CLASS_INTERVIEWER + TRAINER_PIC_TUBER_F, // FACILITY_CLASS_TUBER_1 + TRAINER_PIC_TUBER_M, // FACILITY_CLASS_TUBER_2 + TRAINER_PIC_COOL_TRAINER_F, // FACILITY_CLASS_COOLTRAINER_2 + TRAINER_PIC_LADY, // FACILITY_CLASS_LADY + TRAINER_PIC_BEAUTY, // FACILITY_CLASS_BEAUTY + TRAINER_PIC_RICH_BOY, // FACILITY_CLASS_RICH_BOY + TRAINER_PIC_EXPERT_F, // FACILITY_CLASS_EXPERT_2 + TRAINER_PIC_POKEMANIAC, // FACILITY_CLASS_POKEMANIAC + TRAINER_PIC_MAGMA_GRUNT_F, // FACILITY_CLASS_TEAM_MAGMA_2 + TRAINER_PIC_GUITARIST, // FACILITY_CLASS_GUITARIST + TRAINER_PIC_KINDLER, // FACILITY_CLASS_KINDLER + TRAINER_PIC_CAMPER, // FACILITY_CLASS_CAMPER + TRAINER_PIC_PICNICKER, // FACILITY_CLASS_PICNICKER + TRAINER_PIC_BUG_MANIAC, // FACILITY_CLASS_BUG_MANIAC + TRAINER_PIC_PSYCHIC_M, // FACILITY_CLASS_PSYCHIC_1 + TRAINER_PIC_PSYCHIC_F, // FACILITY_CLASS_PSYCHIC_2 + TRAINER_PIC_GENTLEMAN, // FACILITY_CLASS_GENTLEMAN + TRAINER_PIC_ELITE_FOUR_SIDNEY, // FACILITY_CLASS_ELITE_FOUR_1 + TRAINER_PIC_ELITE_FOUR_PHOEBE, // FACILITY_CLASS_ELITE_FOUR_2 + TRAINER_PIC_LEADER_ROXANNE, // FACILITY_CLASS_LEADER_1 + TRAINER_PIC_LEADER_BRAWLY, // FACILITY_CLASS_LEADER_2 + TRAINER_PIC_LEADER_TATE_AND_LIZA, // FACILITY_CLASS_LEADER_3 + TRAINER_PIC_SCHOOL_KID_M, // FACILITY_CLASS_SCHOOL_KID_1 + TRAINER_PIC_SCHOOL_KID_F, // FACILITY_CLASS_SCHOOL_KID_2 + TRAINER_PIC_SR_AND_JR, // FACILITY_CLASS_SR_AND_JR + TRAINER_PIC_WINSTRATE_M, // FACILITY_CLASS_POKEFAN_1 + TRAINER_PIC_WINSTRATE_F, // FACILITY_CLASS_POKEFAN_2 + TRAINER_PIC_YOUNGSTER, // FACILITY_CLASS_YOUNGSTER + TRAINER_PIC_CHAMPION_WALLACE, // FACILITY_CLASS_CHAMPION + TRAINER_PIC_FISHERMAN, // FACILITY_CLASS_FISHERMAN + TRAINER_PIC_CYCLING_TRIATHLETE_M, // FACILITY_CLASS_TRIATHLETE_1 + TRAINER_PIC_CYCLING_TRIATHLETE_F, // FACILITY_CLASS_TRIATHLETE_2 + TRAINER_PIC_RUNNING_TRIATHLETE_M, // FACILITY_CLASS_TRIATHLETE_3 + TRAINER_PIC_RUNNING_TRIATHLETE_F, // FACILITY_CLASS_TRIATHLETE_4 + TRAINER_PIC_SWIMMING_TRIATHLETE_M, // FACILITY_CLASS_TRIATHLETE_5 + TRAINER_PIC_SWIMMING_TRIATHLETE_F, // FACILITY_CLASS_TRIATHLETE_6 + TRAINER_PIC_DRAGON_TAMER, // FACILITY_CLASS_DRAGON_TAMER + TRAINER_PIC_NINJA_BOY, // FACILITY_CLASS_NINJA_BOY + TRAINER_PIC_BATTLE_GIRL, // FACILITY_CLASS_BATTLE_GIRL + TRAINER_PIC_PARASOL_LADY, // FACILITY_CLASS_PARASOL_LADY + TRAINER_PIC_SWIMMER_F, // FACILITY_CLASS_SWIMMER_F + TRAINER_PIC_TWINS, // FACILITY_CLASS_TWINS + TRAINER_PIC_SAILOR, // FACILITY_CLASS_SAILOR + TRAINER_PIC_WALLY, // FACILITY_CLASS_PKMN_TRAINER_1 + TRAINER_PIC_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_2 + TRAINER_PIC_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_3 + TRAINER_PIC_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_4 + TRAINER_PIC_MAY, // FACILITY_CLASS_PKMN_TRAINER_5 + TRAINER_PIC_MAY, // FACILITY_CLASS_PKMN_TRAINER_6 + TRAINER_PIC_MAY, // FACILITY_CLASS_PKMN_TRAINER_7 + TRAINER_PIC_POKEMON_BREEDER_M, // FACILITY_CLASS_PKMN_BREEDER_2 + TRAINER_PIC_BUG_CATCHER, // FACILITY_CLASS_BUG_CATCHER + TRAINER_PIC_POKEMON_RANGER_M, // FACILITY_CLASS_PKMN_RANGER_1 + TRAINER_PIC_POKEMON_RANGER_F, // FACILITY_CLASS_PKMN_RANGER_2 + TRAINER_PIC_MAGMA_LEADER_MAXIE, // FACILITY_CLASS_MAGMA_LEADER + TRAINER_PIC_LASS, // FACILITY_CLASS_LASS + TRAINER_PIC_YOUNG_COUPLE, // FACILITY_CLASS_YOUNG_COUPLE + TRAINER_PIC_OLD_COUPLE, // FACILITY_CLASS_OLD_COUPLE + TRAINER_PIC_SIS_AND_BRO, // FACILITY_CLASS_SIS_AND_BRO + TRAINER_PIC_STEVEN, // FACILITY_CLASS_PKMN_TRAINER_8 + TRAINER_PIC_SALON_MAIDEN_ANABEL, // FACILITY_CLASS_SALON_MAIDEN + TRAINER_PIC_DOME_ACE_TUCKER, // FACILITY_CLASS_DOME_ACE + TRAINER_PIC_RED, // FACILITY_CLASS_PKMN_TRAINER_9 + TRAINER_PIC_LEAF, // FACILITY_CLASS_PKMN_TRAINER_10 + TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_11 + TRAINER_PIC_RUBY_SAPPHIRE_MAY, // FACILITY_CLASS_PKMN_TRAINER_12 +}; + +const u8 gFacilityClassToTrainerClass[] = +{ + TRAINER_CLASS_HIKER, // FACILITY_CLASS_HIKER + TRAINER_CLASS_TEAM_AQUA, // FACILITY_CLASS_TEAM_AQUA_1 + TRAINER_CLASS_PKMN_BREEDER, // FACILITY_CLASS_PKMN_BREEDER_1 + TRAINER_CLASS_COOLTRAINER_1, // FACILITY_CLASS_COOLTRAINER_1 + TRAINER_CLASS_BIRD_KEEPER, // FACILITY_CLASS_BIRD_KEEPER + TRAINER_CLASS_COLLECTOR, // FACILITY_CLASS_COLLECTOR + TRAINER_CLASS_TEAM_AQUA, // FACILITY_CLASS_TEAM_AQUA_2 + TRAINER_CLASS_SWIMMER_M, // FACILITY_CLASS_SWIMMER_M + TRAINER_CLASS_TEAM_MAGMA, // FACILITY_CLASS_TEAM_MAGMA_1 + TRAINER_CLASS_EXPERT, // FACILITY_CLASS_EXPERT_1 + TRAINER_CLASS_BLACK_BELT, // FACILITY_CLASS_BLACK_BELT + TRAINER_CLASS_AQUA_LEADER, // FACILITY_CLASS_AQUA_LEADER + TRAINER_CLASS_HEX_MANIAC, // FACILITY_CLASS_HEX_MANIAC + TRAINER_CLASS_AROMA_LADY, // FACILITY_CLASS_AROMA_LADY + TRAINER_CLASS_RUIN_MANIAC, // FACILITY_CLASS_RUIN_MANIAC + TRAINER_CLASS_INTERVIEWER, // FACILITY_CLASS_INTERVIEWER + TRAINER_CLASS_TUBER_1, // FACILITY_CLASS_TUBER_1 + TRAINER_CLASS_TUBER_2, // FACILITY_CLASS_TUBER_2 + TRAINER_CLASS_COOLTRAINER_1, // FACILITY_CLASS_COOLTRAINER_2 + TRAINER_CLASS_LADY, // FACILITY_CLASS_LADY + TRAINER_CLASS_BEAUTY, // FACILITY_CLASS_BEAUTY + TRAINER_CLASS_RICH_BOY, // FACILITY_CLASS_RICH_BOY + TRAINER_CLASS_EXPERT, // FACILITY_CLASS_EXPERT_2 + TRAINER_CLASS_POKEMANIAC, // FACILITY_CLASS_POKEMANIAC + TRAINER_CLASS_TEAM_MAGMA, // FACILITY_CLASS_TEAM_MAGMA_2 + TRAINER_CLASS_GUITARIST, // FACILITY_CLASS_GUITARIST + TRAINER_CLASS_KINDLER, // FACILITY_CLASS_KINDLER + TRAINER_CLASS_CAMPER, // FACILITY_CLASS_CAMPER + TRAINER_CLASS_PICNICKER, // FACILITY_CLASS_PICNICKER + TRAINER_CLASS_BUG_MANIAC, // FACILITY_CLASS_BUG_MANIAC + TRAINER_CLASS_PSYCHIC, // FACILITY_CLASS_PSYCHIC_1 + TRAINER_CLASS_PSYCHIC, // FACILITY_CLASS_PSYCHIC_2 + TRAINER_CLASS_GENTLEMAN, // FACILITY_CLASS_GENTLEMAN + TRAINER_CLASS_ELITE_FOUR, // FACILITY_CLASS_ELITE_FOUR_1 + TRAINER_CLASS_ELITE_FOUR, // FACILITY_CLASS_ELITE_FOUR_2 + TRAINER_CLASS_LEADER, // FACILITY_CLASS_LEADER_1 + TRAINER_CLASS_LEADER, // FACILITY_CLASS_LEADER_2 + TRAINER_CLASS_LEADER, // FACILITY_CLASS_LEADER_3 + TRAINER_CLASS_SCHOOL_KID, // FACILITY_CLASS_SCHOOL_KID_1 + TRAINER_CLASS_SCHOOL_KID, // FACILITY_CLASS_SCHOOL_KID_2 + TRAINER_CLASS_SR_AND_JR, // FACILITY_CLASS_SR_AND_JR + TRAINER_CLASS_POKEFAN, // FACILITY_CLASS_POKEFAN_1 + TRAINER_CLASS_POKEFAN, // FACILITY_CLASS_POKEFAN_2 + TRAINER_CLASS_YOUNGSTER, // FACILITY_CLASS_YOUNGSTER + TRAINER_CLASS_CHAMPION, // FACILITY_CLASS_CHAMPION + TRAINER_CLASS_FISHERMAN, // FACILITY_CLASS_FISHERMAN + TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_1 + TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_2 + TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_3 + TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_4 + TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_5 + TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_6 + TRAINER_CLASS_DRAGON_TAMER, // FACILITY_CLASS_DRAGON_TAMER + TRAINER_CLASS_NINJA_BOY, // FACILITY_CLASS_NINJA_BOY + TRAINER_CLASS_BATTLE_GIRL, // FACILITY_CLASS_BATTLE_GIRL + TRAINER_CLASS_PARASOL_LADY, // FACILITY_CLASS_PARASOL_LADY + TRAINER_CLASS_SWIMMER_F, // FACILITY_CLASS_SWIMMER_F + TRAINER_CLASS_TWINS, // FACILITY_CLASS_TWINS + TRAINER_CLASS_SAILOR, // FACILITY_CLASS_SAILOR + TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_1 + TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_2 + TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_3 + TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_4 + TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_5 + TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_6 + TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_7 + TRAINER_CLASS_PKMN_BREEDER, // FACILITY_CLASS_PKMN_BREEDER_2 + TRAINER_CLASS_BUG_CATCHER, // FACILITY_CLASS_BUG_CATCHER + TRAINER_CLASS_PKMN_RANGER, // FACILITY_CLASS_PKMN_RANGER_1 + TRAINER_CLASS_PKMN_RANGER, // FACILITY_CLASS_PKMN_RANGER_2 + TRAINER_CLASS_MAGMA_LEADER, // FACILITY_CLASS_MAGMA_LEADER + TRAINER_CLASS_LASS, // FACILITY_CLASS_LASS + TRAINER_CLASS_YOUNG_COUPLE, // FACILITY_CLASS_YOUNG_COUPLE + TRAINER_CLASS_OLD_COUPLE, // FACILITY_CLASS_OLD_COUPLE + TRAINER_CLASS_SIS_AND_BRO, // FACILITY_CLASS_SIS_AND_BRO + TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_8 + TRAINER_CLASS_SALON_MAIDEN, // FACILITY_CLASS_SALON_MAIDEN + TRAINER_CLASS_DOME_ACE, // FACILITY_CLASS_DOME_ACE + TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_9 + TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_10 + TRAINER_CLASS_PKMN_TRAINER_4, // FACILITY_CLASS_PKMN_TRAINER_11 + TRAINER_CLASS_PKMN_TRAINER_4, // FACILITY_CLASS_PKMN_TRAINER_12 +}; + +#endif //POKEEMERALD_TRAINER_CLASS_LOOKUPS_H diff --git a/include/data/region_map/region_map_entries.h b/include/data/region_map/region_map_entries.h new file mode 100644 index 0000000000..9c7e3f2fc3 --- /dev/null +++ b/include/data/region_map/region_map_entries.h @@ -0,0 +1,421 @@ +#ifndef GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H +#define GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H + +static const u8 sMapName_LittlerootTown[] = _("LITTLEROOT TOWN"); +static const u8 sMapName_OldaleTown[] = _("OLDALE TOWN"); +static const u8 sMapName_DewfordTown[] = _("DEWFORD TOWN"); +static const u8 sMapName_LavaridgeTown[] = _("LAVARIDGE TOWN"); +static const u8 sMapName_FallarborTown[] = _("FALLARBOR TOWN"); +static const u8 sMapName_VerdanturfTown[] = _("VERDANTURF TOWN"); +static const u8 sMapName_PacifidlogTown[] = _("PACIFIDLOG TOWN"); +static const u8 sMapName_PetalburgCity[] = _("PETALBURG CITY"); +static const u8 sMapName_SlateportCity[] = _("SLATEPORT CITY"); +static const u8 sMapName_MauvilleCity[] = _("MAUVILLE CITY"); +static const u8 sMapName_RustboroCity[] = _("RUSTBORO CITY"); +static const u8 sMapName_FortreeCity[] = _("FORTREE CITY"); +static const u8 sMapName_LilycoveCity[] = _("LILYCOVE CITY"); +static const u8 sMapName_MossdeepCity[] = _("MOSSDEEP CITY"); +static const u8 sMapName_SootopolisCity[] = _("SOOTOPOLIS CITY"); +static const u8 sMapName_EverGrandeCity[] = _("EVER GRANDE CITY"); +static const u8 sMapName_Route101[] = _("ROUTE 101"); +static const u8 sMapName_Route102[] = _("ROUTE 102"); +static const u8 sMapName_Route103[] = _("ROUTE 103"); +static const u8 sMapName_Route104[] = _("ROUTE 104"); +static const u8 sMapName_Route105[] = _("ROUTE 105"); +static const u8 sMapName_Route106[] = _("ROUTE 106"); +static const u8 sMapName_Route107[] = _("ROUTE 107"); +static const u8 sMapName_Route108[] = _("ROUTE 108"); +static const u8 sMapName_Route109[] = _("ROUTE 109"); +static const u8 sMapName_Route110[] = _("ROUTE 110"); +static const u8 sMapName_Route111[] = _("ROUTE 111"); +static const u8 sMapName_Route112[] = _("ROUTE 112"); +static const u8 sMapName_Route113[] = _("ROUTE 113"); +static const u8 sMapName_Route114[] = _("ROUTE 114"); +static const u8 sMapName_Route115[] = _("ROUTE 115"); +static const u8 sMapName_Route116[] = _("ROUTE 116"); +static const u8 sMapName_Route117[] = _("ROUTE 117"); +static const u8 sMapName_Route118[] = _("ROUTE 118"); +static const u8 sMapName_Route119[] = _("ROUTE 119"); +static const u8 sMapName_Route120[] = _("ROUTE 120"); +static const u8 sMapName_Route121[] = _("ROUTE 121"); +static const u8 sMapName_Route122[] = _("ROUTE 122"); +static const u8 sMapName_Route123[] = _("ROUTE 123"); +static const u8 sMapName_Route124[] = _("ROUTE 124"); +static const u8 sMapName_Route125[] = _("ROUTE 125"); +static const u8 sMapName_Route126[] = _("ROUTE 126"); +static const u8 sMapName_Route127[] = _("ROUTE 127"); +static const u8 sMapName_Route128[] = _("ROUTE 128"); +static const u8 sMapName_Route129[] = _("ROUTE 129"); +static const u8 sMapName_Route130[] = _("ROUTE 130"); +static const u8 sMapName_Route131[] = _("ROUTE 131"); +static const u8 sMapName_Route132[] = _("ROUTE 132"); +static const u8 sMapName_Route133[] = _("ROUTE 133"); +static const u8 sMapName_Route134[] = _("ROUTE 134"); +static const u8 sMapName_Underwater[] = _("UNDERWATER"); +static const u8 sMapName_GraniteCave[] = _("GRANITE CAVE"); +static const u8 sMapName_MtChimney[] = _("MT. CHIMNEY"); +static const u8 sMapName_SafariZone[] = _("SAFARI ZONE"); +static const u8 sMapName_BattleFrontier[] = _("BATTLE FRONTIER"); +static const u8 sMapName_PetalburgWoods[] = _("PETALBURG WOODS"); +static const u8 sMapName_RusturfTunnel[] = _("RUSTURF TUNNEL"); +static const u8 sMapName_AbandonedShip[] = _("ABANDONED SHIP"); +static const u8 sMapName_NewMauville[] = _("NEW MAUVILLE"); +static const u8 sMapName_MeteorFalls[] = _("METEOR FALLS"); +static const u8 sMapName_MtPyre[] = _("MT. PYRE"); +// This was the Aqua or Magma hideout in Ruby/Sapphire, but each team has a +// hideout in Emerald with their own new region map entries, and this name +// doesn't seem to be used anymore. +static const u8 sMapName_AquaHideoutOld[] = _("{AQUA} HIDEOUT"); +static const u8 sMapName_ShoalCave[] = _("SHOAL CAVE"); +static const u8 sMapName_SeafloorCavern[] = _("SEAFLOOR CAVERN"); +static const u8 sMapName_VictoryRoad[] = _("VICTORY ROAD"); +static const u8 sMapName_MirageIsland[] = _("MIRAGE ISLAND"); +static const u8 sMapName_CaveOfOrigin[] = _("CAVE OF ORIGIN"); +static const u8 sMapName_SouthernIsland[] = _("SOUTHERN ISLAND"); +static const u8 sMapName_FieryPath[] = _("FIERY PATH"); +static const u8 sMapName_JaggedPass[] = _("JAGGED PASS"); +static const u8 sMapName_SealedChamber[] = _("SEALED CHAMBER"); +static const u8 sMapName_ScorchedSlab[] = _("SCORCHED SLAB"); +static const u8 sMapName_IslandCave[] = _("ISLAND CAVE"); +static const u8 sMapName_DesertRuins[] = _("DESERT RUINS"); +static const u8 sMapName_AncientTomb[] = _("ANCIENT TOMB"); +static const u8 sMapName_InsideOfTruck[] = _("INSIDE OF TRUCK"); +static const u8 sMapName_SkyPillar[] = _("SKY PILLAR"); +static const u8 sMapName_SecretBase[] = _("SECRET BASE"); +static const u8 sMapName_None[] = _(""); +static const u8 sMapName_PalletTown[] = _("PALLET TOWN"); +static const u8 sMapName_ViridianCity[] = _("VIRIDIAN CITY"); +static const u8 sMapName_PewterCity[] = _("PEWTER CITY"); +static const u8 sMapName_CeruleanCity[] = _("CERULEAN CITY"); +static const u8 sMapName_LavenderTown[] = _("LAVENDER TOWN"); +static const u8 sMapName_VermilionCity[] = _("VERMILION CITY"); +static const u8 sMapName_CeladonCity[] = _("CELADON CITY"); +static const u8 sMapName_FuchsiaCity[] = _("FUCHSIA CITY"); +static const u8 sMapName_CinnabarIsland[] = _("CINNABAR ISLAND"); +static const u8 sMapName_IndigoPlateau[] = _("INDIGO PLATEAU"); +static const u8 sMapName_SaffronCity[] = _("SAFFRON CITY"); +static const u8 sMapName_Route4[] = _("ROUTE 4"); +static const u8 sMapName_Route10[] = _("ROUTE 10"); +static const u8 sMapName_Route1[] = _("ROUTE 1"); +static const u8 sMapName_Route2[] = _("ROUTE 2"); +static const u8 sMapName_Route3[] = _("ROUTE 3"); +static const u8 sMapName_Route4_2[] = _("ROUTE 4"); +static const u8 sMapName_Route5[] = _("ROUTE 5"); +static const u8 sMapName_Route6[] = _("ROUTE 6"); +static const u8 sMapName_Route7[] = _("ROUTE 7"); +static const u8 sMapName_Route8[] = _("ROUTE 8"); +static const u8 sMapName_Route9[] = _("ROUTE 9"); +static const u8 sMapName_Route10_2[] = _("ROUTE 10"); +static const u8 sMapName_Route11[] = _("ROUTE 11"); +static const u8 sMapName_Route12[] = _("ROUTE 12"); +static const u8 sMapName_Route13[] = _("ROUTE 13"); +static const u8 sMapName_Route14[] = _("ROUTE 14"); +static const u8 sMapName_Route15[] = _("ROUTE 15"); +static const u8 sMapName_Route16[] = _("ROUTE 16"); +static const u8 sMapName_Route17[] = _("ROUTE 17"); +static const u8 sMapName_Route18[] = _("ROUTE 18"); +static const u8 sMapName_Route19[] = _("ROUTE 19"); +static const u8 sMapName_Route20[] = _("ROUTE 20"); +static const u8 sMapName_Route21[] = _("ROUTE 21"); +static const u8 sMapName_Route22[] = _("ROUTE 22"); +static const u8 sMapName_Route23[] = _("ROUTE 23"); +static const u8 sMapName_Route24[] = _("ROUTE 24"); +static const u8 sMapName_Route25[] = _("ROUTE 25"); +static const u8 sMapName_ViridianForest[] = _("VIRIDIAN FOREST"); +static const u8 sMapName_MtMoon[] = _("MT. MOON"); +static const u8 sMapName_SSAnne[] = _("S.S. ANNE"); +static const u8 sMapName_UndergroundPath[] = _("UNDERGROUND PATH"); +static const u8 sMapName_UndergroundPath2[] = _("UNDERGROUND PATH"); +static const u8 sMapName_DiglettsCave[] = _("DIGLETT’S CAVE"); +static const u8 sMapName_KantoVictoryRoad[] = _("VICTORY ROAD"); +static const u8 sMapName_RocketHideout[] = _("ROCKET HIDEOUT"); +static const u8 sMapName_SilphCo[] = _("SILPH CO."); +static const u8 sMapName_PokemonMansion[] = _("POKéMON MANSION"); +static const u8 sMapName_KantoSafariZone[] = _("SAFARI ZONE"); +static const u8 sMapName_PokemonLeague[] = _("POKéMON LEAGUE"); +static const u8 sMapName_RockTunnel[] = _("ROCK TUNNEL"); +static const u8 sMapName_SeafoamIslands[] = _("SEAFOAM ISLANDS"); +static const u8 sMapName_PokemonTower[] = _("POKéMON TOWER"); +static const u8 sMapName_CeruleanCave[] = _("CERULEAN CAVE"); +static const u8 sMapName_PowerPlant[] = _("POWER PLANT"); +static const u8 sMapName_OneIsland[] = _("ONE ISLAND"); +static const u8 sMapName_TwoIsland[] = _("TWO ISLAND"); +static const u8 sMapName_ThreeIsland[] = _("THREE ISLAND"); +static const u8 sMapName_FourIsland[] = _("FOUR ISLAND"); +static const u8 sMapName_FiveIsland[] = _("FIVE ISLAND"); +static const u8 sMapName_SevenIsland[] = _("SEVEN ISLAND"); +static const u8 sMapName_SixIsland[] = _("SIX ISLAND"); +static const u8 sMapName_KindleRoad[] = _("KINDLE ROAD"); +static const u8 sMapName_TreasureBeach[] = _("TREASURE BEACH"); +static const u8 sMapName_CapeBrink[] = _("CAPE BRINK"); +static const u8 sMapName_BondBridge[] = _("BOND BRIDGE"); +static const u8 sMapName_ThreeIslePort[] = _("THREE ISLE PORT"); +static const u8 sMapName_SeviiIsle6[] = _("SEVII ISLE 6"); +static const u8 sMapName_SeviiIsle7[] = _("SEVII ISLE 7"); +static const u8 sMapName_SeviiIsle8[] = _("SEVII ISLE 8"); +static const u8 sMapName_SeviiIsle9[] = _("SEVII ISLE 9"); +static const u8 sMapName_ResortGorgeous[] = _("RESORT GORGEOUS"); +static const u8 sMapName_WaterLabyrinth[] = _("WATER LABYRINTH"); +static const u8 sMapName_FiveIsleMeadow[] = _("FIVE ISLE MEADOW"); +static const u8 sMapName_MemorialPillar[] = _("MEMORIAL PILLAR"); +static const u8 sMapName_OutcastIsland[] = _("OUTCAST ISLAND"); +static const u8 sMapName_GreenPath[] = _("GREEN PATH"); +static const u8 sMapName_WaterPath[] = _("WATER PATH"); +static const u8 sMapName_RuinValley[] = _("RUIN VALLEY"); +static const u8 sMapName_TrainerTower[] = _("TRAINER TOWER"); +static const u8 sMapName_CanyonEntrance[] = _("CANYON ENTRANCE"); +static const u8 sMapName_SevaultCanyon[] = _("SEVAULT CANYON"); +static const u8 sMapName_TanobyRuins[] = _("TANOBY RUINS"); +static const u8 sMapName_SeviiIsle22[] = _("SEVII ISLE 22"); +static const u8 sMapName_SeviiIsle23[] = _("SEVII ISLE 23"); +static const u8 sMapName_SeviiIsle24[] = _("SEVII ISLE 24"); +static const u8 sMapName_NavelRock[] = _("NAVEL ROCK"); +static const u8 sMapName_MtEmber[] = _("MT. EMBER"); +static const u8 sMapName_BerryForest[] = _("BERRY FOREST"); +static const u8 sMapName_IcefallCave[] = _("ICEFALL CAVE"); +static const u8 sMapName_RocketWarehouse[] = _("ROCKET WAREHOUSE"); +static const u8 sMapName_TrainerTower2[] = _("TRAINER TOWER"); +static const u8 sMapName_DottedHole[] = _("DOTTED HOLE"); +static const u8 sMapName_LostCave[] = _("LOST CAVE"); +static const u8 sMapName_PatternBush[] = _("PATTERN BUSH"); +static const u8 sMapName_AlteringCave[] = _("ALTERING CAVE"); +static const u8 sMapName_TanobyChambers[] = _("TANOBY CHAMBERS"); +static const u8 sMapName_ThreeIslePath[] = _("THREE ISLE PATH"); +static const u8 sMapName_TanobyKey[] = _("TANOBY KEY"); +static const u8 sMapName_BirthIsland[] = _("BIRTH ISLAND"); +static const u8 sMapName_MoneanChamber[] = _("MONEAN CHAMBER"); +static const u8 sMapName_LiptooChamber[] = _("LIPTOO CHAMBER"); +static const u8 sMapName_WeepthChamber[] = _("WEEPTH CHAMBER"); +static const u8 sMapName_DilfordChamber[] = _("DILFORD CHAMBER"); +static const u8 sMapName_ScufibChamber[] = _("SCUFIB CHAMBER"); +static const u8 sMapName_RixyChamber[] = _("RIXY CHAMBER"); +static const u8 sMapName_ViapoisChamber[] = _("VIAPOIS CHAMBER"); +static const u8 sMapName_EmberSpa[] = _("EMBER SPA"); +static const u8 sMapName_SpecialArea[] = _("SPECIAL AREA"); +static const u8 sMapName_AquaHideout[] = _("AQUA HIDEOUT"); +static const u8 sMapName_MagmaHideout[] = _("MAGMA HIDEOUT"); +static const u8 sMapName_MirageTower[] = _("MIRAGE TOWER"); +static const u8 sMapName_FarawayIsland[] = _("FARAWAY ISLAND"); +static const u8 sMapName_ArtisanCave[] = _("ARTISAN CAVE"); +static const u8 sMapName_MarineCave[] = _("MARINE CAVE"); +static const u8 sMapName_TerraCave[] = _("TERRA CAVE"); +static const u8 sMapName_DesertUnderpass[] = _("DESERT UNDERPASS"); +static const u8 sMapName_TrainerHill[] = _("TRAINER HILL"); + +const struct RegionMapLocation gRegionMapEntries[] = { + { 4, 11, 1, 1, sMapName_LittlerootTown}, + { 4, 9, 1, 1, sMapName_OldaleTown}, + { 2, 14, 1, 1, sMapName_DewfordTown}, + { 5, 3, 1, 1, sMapName_LavaridgeTown}, + { 3, 0, 1, 1, sMapName_FallarborTown}, + { 4, 6, 1, 1, sMapName_VerdanturfTown}, + {17, 10, 1, 1, sMapName_PacifidlogTown}, + { 1, 9, 1, 1, sMapName_PetalburgCity}, + { 8, 10, 1, 2, sMapName_SlateportCity}, + { 8, 6, 2, 1, sMapName_MauvilleCity}, + { 0, 5, 1, 2, sMapName_RustboroCity}, + {12, 0, 1, 1, sMapName_FortreeCity}, + {18, 3, 2, 1, sMapName_LilycoveCity}, + {24, 5, 2, 1, sMapName_MossdeepCity}, + {21, 7, 1, 1, sMapName_SootopolisCity}, + {27, 8, 1, 2, sMapName_EverGrandeCity}, + { 4, 10, 1, 1, sMapName_Route101}, + { 2, 9, 2, 1, sMapName_Route102}, + { 4, 8, 4, 1, sMapName_Route103}, + { 0, 7, 1, 3, sMapName_Route104}, + { 0, 10, 1, 3, sMapName_Route105}, + { 0, 13, 2, 1, sMapName_Route106}, + { 3, 14, 3, 1, sMapName_Route107}, + { 6, 14, 2, 1, sMapName_Route108}, + { 8, 12, 1, 3, sMapName_Route109}, + { 8, 7, 1, 3, sMapName_Route110}, + { 8, 0, 1, 6, sMapName_Route111}, + { 6, 3, 2, 1, sMapName_Route112}, + { 4, 0, 4, 1, sMapName_Route113}, + { 1, 0, 2, 3, sMapName_Route114}, + { 0, 2, 1, 3, sMapName_Route115}, + { 1, 5, 4, 1, sMapName_Route116}, + { 5, 6, 3, 1, sMapName_Route117}, + {10, 6, 2, 1, sMapName_Route118}, + {11, 0, 1, 6, sMapName_Route119}, + {13, 0, 1, 4, sMapName_Route120}, + {14, 3, 4, 1, sMapName_Route121}, + {16, 4, 1, 2, sMapName_Route122}, + {12, 6, 5, 1, sMapName_Route123}, + {20, 3, 4, 3, sMapName_Route124}, + {24, 3, 2, 2, sMapName_Route125}, + {20, 6, 3, 3, sMapName_Route126}, + {23, 6, 3, 3, sMapName_Route127}, + {23, 9, 4, 1, sMapName_Route128}, + {24, 10, 2, 1, sMapName_Route129}, + {21, 10, 3, 1, sMapName_Route130}, + {18, 10, 3, 1, sMapName_Route131}, + {15, 10, 2, 1, sMapName_Route132}, + {12, 10, 3, 1, sMapName_Route133}, + { 9, 10, 3, 1, sMapName_Route134}, + {20, 3, 4, 3, sMapName_Underwater}, + {20, 6, 3, 3, sMapName_Underwater}, + {23, 6, 3, 3, sMapName_Underwater}, + {23, 9, 4, 1, sMapName_Underwater}, + {21, 7, 1, 1, sMapName_Underwater}, + { 1, 13, 1, 1, sMapName_GraniteCave}, + { 6, 2, 1, 1, sMapName_MtChimney}, + {16, 2, 1, 1, sMapName_SafariZone}, + {22, 12, 1, 1, sMapName_BattleFrontier}, + { 0, 8, 1, 1, sMapName_PetalburgWoods}, + { 2, 5, 1, 1, sMapName_RusturfTunnel}, + { 6, 14, 1, 1, sMapName_AbandonedShip}, + { 8, 7, 1, 1, sMapName_NewMauville}, + { 0, 3, 1, 1, sMapName_MeteorFalls}, + { 1, 2, 1, 1, sMapName_MeteorFalls}, + {16, 4, 1, 1, sMapName_MtPyre}, + {19, 3, 1, 1, sMapName_AquaHideoutOld}, + {24, 4, 1, 1, sMapName_ShoalCave}, + {24, 9, 1, 1, sMapName_SeafloorCavern}, + {24, 9, 1, 1, sMapName_Underwater}, + {27, 9, 1, 1, sMapName_VictoryRoad}, + {17, 10, 1, 1, sMapName_MirageIsland}, + {21, 7, 1, 1, sMapName_CaveOfOrigin}, + {12, 14, 1, 1, sMapName_SouthernIsland}, + { 6, 3, 1, 1, sMapName_FieryPath}, + { 7, 3, 1, 1, sMapName_FieryPath}, + { 6, 3, 1, 1, sMapName_JaggedPass}, + { 7, 2, 1, 1, sMapName_JaggedPass}, + {11, 10, 1, 1, sMapName_SealedChamber}, + {11, 10, 1, 1, sMapName_Underwater}, + {13, 0, 1, 1, sMapName_ScorchedSlab}, + { 0, 10, 1, 1, sMapName_IslandCave}, + { 8, 3, 1, 1, sMapName_DesertRuins}, + {13, 2, 1, 1, sMapName_AncientTomb}, + { 0, 0, 1, 1, sMapName_InsideOfTruck}, + {19, 10, 1, 1, sMapName_SkyPillar}, + { 0, 0, 1, 1, sMapName_SecretBase}, + { 0, 0, 1, 1, sMapName_None}, + { 0, 0, 1, 1, sMapName_PalletTown}, + { 0, 0, 1, 1, sMapName_ViridianCity}, + { 0, 0, 1, 1, sMapName_PewterCity}, + { 0, 0, 1, 1, sMapName_CeruleanCity}, + { 0, 0, 1, 1, sMapName_LavenderTown}, + { 0, 0, 1, 1, sMapName_VermilionCity}, + { 0, 0, 1, 1, sMapName_CeladonCity}, + { 0, 0, 1, 1, sMapName_FuchsiaCity}, + { 0, 0, 1, 1, sMapName_CinnabarIsland}, + { 0, 0, 1, 1, sMapName_IndigoPlateau}, + { 0, 0, 1, 1, sMapName_SaffronCity}, + { 0, 0, 1, 1, sMapName_Route4}, + { 0, 0, 1, 1, sMapName_Route10}, + { 0, 0, 1, 1, sMapName_Route1}, + { 0, 0, 1, 1, sMapName_Route2}, + { 0, 0, 1, 1, sMapName_Route3}, + { 0, 0, 1, 1, sMapName_Route4_2}, + { 0, 0, 1, 1, sMapName_Route5}, + { 0, 0, 1, 1, sMapName_Route6}, + { 0, 0, 1, 1, sMapName_Route7}, + { 0, 0, 1, 1, sMapName_Route8}, + { 0, 0, 1, 1, sMapName_Route9}, + { 0, 0, 1, 1, sMapName_Route10_2}, + { 0, 0, 1, 1, sMapName_Route11}, + { 0, 0, 1, 1, sMapName_Route12}, + { 0, 0, 1, 1, sMapName_Route13}, + { 0, 0, 1, 1, sMapName_Route14}, + { 0, 0, 1, 1, sMapName_Route15}, + { 0, 0, 1, 1, sMapName_Route16}, + { 0, 0, 1, 1, sMapName_Route17}, + { 0, 0, 1, 1, sMapName_Route18}, + { 0, 0, 1, 1, sMapName_Route19}, + { 0, 0, 1, 1, sMapName_Route20}, + { 0, 0, 1, 1, sMapName_Route21}, + { 0, 0, 1, 1, sMapName_Route22}, + { 0, 0, 1, 1, sMapName_Route23}, + { 0, 0, 1, 1, sMapName_Route24}, + { 0, 0, 1, 1, sMapName_Route25}, + { 0, 0, 1, 1, sMapName_ViridianForest}, + { 0, 0, 1, 1, sMapName_MtMoon}, + { 0, 0, 1, 1, sMapName_SSAnne}, + { 0, 0, 1, 1, sMapName_UndergroundPath}, + { 0, 0, 1, 1, sMapName_UndergroundPath2}, + { 0, 0, 1, 1, sMapName_DiglettsCave}, + { 0, 0, 1, 1, sMapName_KantoVictoryRoad}, + { 0, 0, 1, 1, sMapName_RocketHideout}, + { 0, 0, 1, 1, sMapName_SilphCo}, + { 0, 0, 1, 1, sMapName_PokemonMansion}, + { 0, 0, 1, 1, sMapName_KantoSafariZone}, + { 0, 0, 1, 1, sMapName_PokemonLeague}, + { 0, 0, 1, 1, sMapName_RockTunnel}, + { 0, 0, 1, 1, sMapName_SeafoamIslands}, + { 0, 0, 1, 1, sMapName_PokemonTower}, + { 0, 0, 1, 1, sMapName_CeruleanCave}, + { 0, 0, 1, 1, sMapName_PowerPlant}, + { 0, 0, 1, 1, sMapName_OneIsland}, + { 0, 0, 1, 1, sMapName_TwoIsland}, + { 0, 0, 1, 1, sMapName_ThreeIsland}, + { 0, 0, 1, 1, sMapName_FourIsland}, + { 0, 0, 1, 1, sMapName_FiveIsland}, + { 0, 0, 1, 1, sMapName_SevenIsland}, + { 0, 0, 1, 1, sMapName_SixIsland}, + { 0, 0, 1, 1, sMapName_KindleRoad}, + { 0, 0, 1, 1, sMapName_TreasureBeach}, + { 0, 0, 1, 1, sMapName_CapeBrink}, + { 0, 0, 1, 1, sMapName_BondBridge}, + { 0, 0, 1, 1, sMapName_ThreeIslePort}, + { 0, 0, 1, 1, sMapName_SeviiIsle6}, + { 0, 0, 1, 1, sMapName_SeviiIsle7}, + { 0, 0, 1, 1, sMapName_SeviiIsle8}, + { 0, 0, 1, 1, sMapName_SeviiIsle9}, + { 0, 0, 1, 1, sMapName_ResortGorgeous}, + { 0, 0, 1, 1, sMapName_WaterLabyrinth}, + { 0, 0, 1, 1, sMapName_FiveIsleMeadow}, + { 0, 0, 1, 1, sMapName_MemorialPillar}, + { 0, 0, 1, 1, sMapName_OutcastIsland}, + { 0, 0, 1, 1, sMapName_GreenPath}, + { 0, 0, 1, 1, sMapName_WaterPath}, + { 0, 0, 1, 1, sMapName_RuinValley}, + { 0, 0, 1, 1, sMapName_TrainerTower}, + { 0, 0, 1, 1, sMapName_CanyonEntrance}, + { 0, 0, 1, 1, sMapName_SevaultCanyon}, + { 0, 0, 1, 1, sMapName_TanobyRuins}, + { 0, 0, 1, 1, sMapName_SeviiIsle22}, + { 0, 0, 1, 1, sMapName_SeviiIsle23}, + { 0, 0, 1, 1, sMapName_SeviiIsle24}, + { 0, 0, 1, 1, sMapName_NavelRock}, + { 0, 0, 1, 1, sMapName_MtEmber}, + { 0, 0, 1, 1, sMapName_BerryForest}, + { 0, 0, 1, 1, sMapName_IcefallCave}, + { 0, 0, 1, 1, sMapName_RocketWarehouse}, + { 0, 0, 1, 1, sMapName_TrainerTower2}, + { 0, 0, 1, 1, sMapName_DottedHole}, + { 0, 0, 1, 1, sMapName_LostCave}, + { 0, 0, 1, 1, sMapName_PatternBush}, + { 0, 0, 1, 1, sMapName_AlteringCave}, + { 0, 0, 1, 1, sMapName_TanobyChambers}, + { 0, 0, 1, 1, sMapName_ThreeIslePath}, + { 0, 0, 1, 1, sMapName_TanobyKey}, + { 0, 0, 1, 1, sMapName_BirthIsland}, + { 0, 0, 1, 1, sMapName_MoneanChamber}, + { 0, 0, 1, 1, sMapName_LiptooChamber}, + { 0, 0, 1, 1, sMapName_WeepthChamber}, + { 0, 0, 1, 1, sMapName_DilfordChamber}, + { 0, 0, 1, 1, sMapName_ScufibChamber}, + { 0, 0, 1, 1, sMapName_RixyChamber}, + { 0, 0, 1, 1, sMapName_ViapoisChamber}, + { 0, 0, 1, 1, sMapName_EmberSpa}, + { 0, 0, 1, 1, sMapName_SpecialArea}, + {19, 3, 1, 1, sMapName_AquaHideout}, + { 6, 3, 1, 1, sMapName_MagmaHideout}, + { 8, 2, 1, 1, sMapName_MirageTower}, + { 0, 0, 1, 1, sMapName_BirthIsland}, + { 0, 0, 1, 1, sMapName_FarawayIsland}, + {22, 12, 1, 1, sMapName_ArtisanCave}, + { 0, 0, 1, 1, sMapName_MarineCave}, + { 0, 0, 1, 1, sMapName_Underwater}, + { 0, 0, 1, 1, sMapName_TerraCave}, + { 0, 10, 1, 3, sMapName_Underwater}, + {24, 3, 2, 2, sMapName_Underwater}, + {24, 10, 2, 1, sMapName_Underwater}, + { 2, 0, 1, 1, sMapName_DesertUnderpass}, + { 6, 8, 1, 1, sMapName_AlteringCave}, + { 0, 0, 1, 1, sMapName_NavelRock}, + { 8, 4, 1, 1, sMapName_TrainerHill} +}; + +#endif //GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H diff --git a/include/daycare.h b/include/daycare.h new file mode 100644 index 0000000000..7db44e0240 --- /dev/null +++ b/include/daycare.h @@ -0,0 +1,27 @@ +#ifndef GUARD_DAYCARE_H +#define GUARD_DAYCARE_H + +#define EGG_HATCH_LEVEL 5 + +u8 *GetMonNick(struct Pokemon *mon, u8 *dest); +u8 *GetBoxMonNick(struct BoxPokemon *mon, u8 *dest); +u8 CountPokemonInDaycare(struct DayCare *daycare); +void InitDaycareMailRecordMixing(struct DayCare *daycare, struct RecordMixingDayCareMail *daycareMail); +void StoreSelectedPokemonInDaycare(void); +u16 TakePokemonFromDaycare(void); +void GetDaycareCost(void); +u8 GetNumLevelsGainedFromDaycare(void); +void TriggerPendingDaycareEgg(void); +void RejectEggFromDayCare(void); +void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation); +void GiveEggFromDaycare(void); +bool8 DoEggActions_CheckHatch(void); +u16 GetSelectedMonNickAndSpecies(void); +void GetDaycareMonNicknames(void); +u8 GetDaycareState(void); +void SetDaycareCompatibilityString(void); +bool8 NameHasGenderSymbol(const u8 *name, u8 genderRatio); +void ShowDaycareLevelMenu(void); +void ChooseSendDaycareMon(void); + +#endif // GUARD_DAYCARE_H diff --git a/include/decompress.h b/include/decompress.h index c3a7718934..34a678cda8 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -3,6 +3,8 @@ #include "sprite.h" +extern u8 gDecompressionBuffer[0x4000]; + void LZDecompressWram(const void *src, void *dest); void LZDecompressVram(const void *src, void *dest); @@ -26,4 +28,6 @@ void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 void LoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic); void LoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic); +u32 sub_8034974(const u8 *ptr); + #endif // GUARD_DECOMPRESS_H diff --git a/include/decoration.h b/include/decoration.h index ead621c5f8..c841bbfc1a 100644 --- a/include/decoration.h +++ b/include/decoration.h @@ -1,130 +1,6 @@ #ifndef GUARD_DECORATION_H #define GUARD_DECORATION_H -enum DecoId { - /*000*/ DECOR_NONE, - /*001*/ DECOR_SMALL_DESK, - /*002*/ DECOR_POKEMON_DESK, - /*003*/ DECOR_HEAVY_DESK, - /*004*/ DECOR_RAGGED_DESK, - /*005*/ DECOR_COMFORT_DESK, - /*006*/ DECOR_PRETTY_DESK, - /*007*/ DECOR_BRICK_DESK, - /*008*/ DECOR_CAMP_DESK, - /*009*/ DECOR_HARD_DESK, - /*010*/ DECOR_SMALL_CHAIR, - /*011*/ DECOR_POKEMON_CHAIR, - /*012*/ DECOR_HEAVY_CHAIR, - /*013*/ DECOR_PRETTY_CHAIR, - /*014*/ DECOR_COMFORT_CHAIR, - /*015*/ DECOR_RAGGED_CHAIR, - /*016*/ DECOR_BRICK_CHAIR, - /*017*/ DECOR_CAMP_CHAIR, - /*018*/ DECOR_HARD_CHAIR, - /*019*/ DECOR_RED_PLANT, - /*020*/ DECOR_TROPICAL_PLANT, - /*021*/ DECOR_PRETTY_FLOWERS, - /*022*/ DECOR_COLORFUL_PLANT, - /*023*/ DECOR_BIG_PLANT, - /*024*/ DECOR_GORGEOUS_PLANT, - /*025*/ DECOR_RED_BRICK, - /*026*/ DECOR_YELLOW_BRICK, - /*027*/ DECOR_BLUE_BRICK, - /*028*/ DECOR_RED_BALLOON, - /*029*/ DECOR_BLUE_BALLOON, - /*030*/ DECOR_YELLOW_BALLOON, - /*031*/ DECOR_RED_TENT, - /*032*/ DECOR_BLUE_TENT, - /*033*/ DECOR_SOLID_BOARD, - /*034*/ DECOR_SLIDE, - /*035*/ DECOR_FENCE_LENGTH, - /*036*/ DECOR_FENCE_WIDTH, - /*037*/ DECOR_TIRE, - /*038*/ DECOR_STAND, - /*039*/ DECOR_MUD_BALL, - /*040*/ DECOR_BREAKABLE_DOOR, - /*041*/ DECOR_SAND_ORNAMENT, - /*042*/ DECOR_SILVER_SHIELD, - /*043*/ DECOR_GOLD_SHIELD, - /*044*/ DECOR_GLASS_ORNAMENT, - /*045*/ DECOR_TV, - /*046*/ DECOR_ROUND_TV, - /*047*/ DECOR_CUTE_TV, - /*048*/ DECOR_GLITTER_MAT, - /*049*/ DECOR_JUMP_MAT, - /*050*/ DECOR_SPIN_MAT, - /*051*/ DECOR_C_LOW_NOTE_MAT, - /*052*/ DECOR_D_NOTE_MAT, - /*053*/ DECOR_E_NOTE_MAT, - /*054*/ DECOR_F_NOTE_MAT, - /*055*/ DECOR_G_NOTE_MAT, - /*056*/ DECOR_A_NOTE_MAT, - /*057*/ DECOR_B_NOTE_MAT, - /*058*/ DECOR_C_HIGH_NOTE_MAT, - /*059*/ DECOR_SURF_MAT, - /*060*/ DECOR_THUNDER_MAT, - /*061*/ DECOR_FIRE_BLAST_MAT, - /*062*/ DECOR_POWDER_SNOW_MAT, - /*063*/ DECOR_ATTRACT_MAT, - /*064*/ DECOR_FISSURE_MAT, - /*065*/ DECOR_SPIKES_MAT, - /*066*/ DECOR_BALL_POSTER, - /*067*/ DECOR_GREEN_POSTER, - /*068*/ DECOR_RED_POSTER, - /*069*/ DECOR_BLUE_POSTER, - /*070*/ DECOR_CUTE_POSTER, - /*071*/ DECOR_PIKA_POSTER, - /*072*/ DECOR_LONG_POSTER, - /*073*/ DECOR_SEA_POSTER, - /*074*/ DECOR_SKY_POSTER, - /*075*/ DECOR_KISS_POSTER, - /*076*/ DECOR_PICHU_DOLL, - /*077*/ DECOR_PIKACHU_DOLL, - /*078*/ DECOR_MARILL_DOLL, - /*079*/ DECOR_TOGEPI_DOLL, - /*080*/ DECOR_CYNDAQUIL_DOLL, - /*081*/ DECOR_CHIKORITA_DOLL, - /*082*/ DECOR_TOTODILE_DOLL, - /*083*/ DECOR_JIGGLYPUFF_DOLL, - /*084*/ DECOR_MEOWTH_DOLL, - /*085*/ DECOR_CLEFAIRY_DOLL, - /*086*/ DECOR_DITTO_DOLL, - /*087*/ DECOR_SMOOCHUM_DOLL, - /*088*/ DECOR_TREECKO_DOLL, - /*089*/ DECOR_TORCHIC_DOLL, - /*090*/ DECOR_MUDKIP_DOLL, - /*091*/ DECOR_DUSKULL_DOLL, - /*092*/ DECOR_WYNAUT_DOLL, - /*093*/ DECOR_BALTOY_DOLL, - /*094*/ DECOR_KECLEON_DOLL, - /*095*/ DECOR_AZURILL_DOLL, - /*096*/ DECOR_SKITTY_DOLL, - /*097*/ DECOR_SWABLU_DOLL, - /*098*/ DECOR_GULPIN_DOLL, - /*099*/ DECOR_LOTAD_DOLL, - /*100*/ DECOR_SEEDOT_DOLL, - /*101*/ DECOR_PIKA_CUSHION, - /*102*/ DECOR_ROUND_CUSHION, - /*103*/ DECOR_KISS_CUSHION, - /*104*/ DECOR_ZIGZAG_CUSHION, - /*105*/ DECOR_SPIN_CUSHION, - /*106*/ DECOR_DIAMOND_CUSHION, - /*107*/ DECOR_BALL_CUSHION, - /*108*/ DECOR_GRASS_CUSHION, - /*109*/ DECOR_FIRE_CUSHION, - /*110*/ DECOR_WATER_CUSHION, - /*111*/ DECOR_SNORLAX_DOLL, - /*112*/ DECOR_RHYDON_DOLL, - /*113*/ DECOR_LAPRAS_DOLL, - /*114*/ DECOR_VENUSAUR_DOLL, - /*115*/ DECOR_CHARIZARD_DOLL, - /*116*/ DECOR_BLASTOISE_DOLL, - /*117*/ DECOR_WAILMER_DOLL, - /*118*/ DECOR_REGIROCK_DOLL, - /*119*/ DECOR_REGICE_DOLL, - /*120*/ DECOR_REGISTEEL_DOLL -}; - enum DecorPerm { /* * The nomenclature here describes collision and placement permissions, in that order. diff --git a/include/dewford_trend.h b/include/dewford_trend.h index 01e5d9762a..dac5ea6c97 100644 --- a/include/dewford_trend.h +++ b/include/dewford_trend.h @@ -3,5 +3,6 @@ void InitDewfordTrend(void); void UpdateDewfordTrendPerDay(u16); +void UpdateDewfordTrendPerDay(u16 days); #endif // GUARD_DEWFORDTREND_H diff --git a/include/dma3.h b/include/dma3.h index 265b478243..19a69ea803 100644 --- a/include/dma3.h +++ b/include/dma3.h @@ -3,8 +3,8 @@ void ClearDma3Requests(void); void ProcessDma3Requests(void); -int RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode); -int RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode); -int CheckForSpaceForDma3Request(s16 index); +s16 RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode); +s16 RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode); +s16 CheckForSpaceForDma3Request(s16 index); #endif // GUARD_DMA3_H diff --git a/include/egg_hatch.h b/include/egg_hatch.h new file mode 100644 index 0000000000..862d339474 --- /dev/null +++ b/include/egg_hatch.h @@ -0,0 +1,10 @@ +#ifndef GUARD_EGG_HATCH_H +#define GUARD_EGG_HATCH_H + +void ScriptHatchMon(void); +bool8 sub_8071614(void); +void EggHatch(void); +u8 GetEggStepsToSubtract(void); +u16 sub_80722E0(void); + +#endif // GUARD_EGG_HATCH_H diff --git a/include/event_data.h b/include/event_data.h index 0bd11fdcd3..f829d3b87c 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -1,8 +1,8 @@ #ifndef GUARD_EVENT_DATA_H #define GUARD_EVENT_DATA_H -#include "flags.h" -#include "vars.h" +#include "constants/flags.h" +#include "constants/vars.h" void InitEventData(void); void ClearTempFieldEventData(void); @@ -42,11 +42,11 @@ extern u16 gSpecialVar_0x8008; extern u16 gSpecialVar_0x8009; extern u16 gSpecialVar_0x800A; extern u16 gSpecialVar_0x800B; -extern u16 gScriptResult; -extern u16 gScriptLastTalked; -extern u16 gScriptFacing; -extern u16 gSpecialVar_0x8012; -extern u16 gSpecialVar_0x8013; +extern u16 gSpecialVar_Result; +extern u16 gSpecialVar_LastTalked; +extern u16 gSpecialVar_Facing; +extern u16 gSpecialVar_MonBoxId; +extern u16 gSpecialVar_MonBoxPos; extern u16 gSpecialVar_0x8014; #endif // GUARD_EVENT_DATA_H diff --git a/include/event_scripts.h b/include/event_scripts.h old mode 100755 new mode 100644 index f85118e009..a54e0e463a --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -7,12 +7,20 @@ extern const u8 gUnknown_0823B4E8[]; extern const u8 gUnknown_0823B5E9[]; -extern const u8 gUnknown_08275BB7[]; -extern const u8 gUnknown_08275D0C[]; -extern const u8 gUnknown_08275D1F[]; -extern const u8 gUnknown_08275D2E[]; -extern const u8 gUnknown_082766A2[]; -extern const u8 gUnknown_082766A6[]; +extern const u8 EventScript_TestSignpostMsg[]; +extern const u8 EventScript_TryGetTrainerScript[]; +extern const u8 EventScript_275BB7[]; +extern const u8 EventScript_275D0C[]; +extern const u8 EventScript_275D1F[]; +extern const u8 EventScript_275D2E[]; +extern const u8 EventScript_271354[]; +extern const u8 EventScript_2713C2[]; +extern const u8 EventScript_TryDoDoubleTrainerBattle[]; +extern const u8 EventScript_271362[]; +extern const u8 EventScript_TryDoDoubleRematchBattle[]; +extern const u8 EventScript_2713D1[]; +extern const u8 EventScript_2766A2[]; +extern const u8 EventScript_2766A6[]; extern const u8 gTVBravoTrainerText00[]; extern const u8 gTVBravoTrainerText01[]; @@ -362,14 +370,14 @@ extern const u8 gPokeNewsTextLilycove_Ending[]; extern const u8 gPokeNewsTextBlendMaster_Upcoming[]; extern const u8 gPokeNewsTextBlendMaster_Ongoing[]; extern const u8 gPokeNewsTextBlendMaster_Ending[]; -extern const u8 gUnknown_08274966[]; -extern const u8 gUnknown_08274D13[]; -extern const u8 gUnknown_08274FFE[]; -extern const u8 gUnknown_08275367[]; -extern const u8 gUnknown_082756C7[]; -extern const u8 gUnknown_08274B24[]; -extern const u8 gUnknown_08274E75[]; -extern const u8 gUnknown_082751E1[]; -extern const u8 gUnknown_082754F6[]; -extern const u8 gUnknown_082758CC[]; +extern const u8 SecretBase_RedCave1_Text_274966[]; +extern const u8 SecretBase_RedCave1_Text_274D13[]; +extern const u8 SecretBase_RedCave1_Text_274FFE[]; +extern const u8 SecretBase_RedCave1_Text_275367[]; +extern const u8 SecretBase_RedCave1_Text_2756C7[]; +extern const u8 SecretBase_RedCave1_Text_274B24[]; +extern const u8 SecretBase_RedCave1_Text_274E75[]; +extern const u8 SecretBase_RedCave1_Text_2751E1[]; +extern const u8 SecretBase_RedCave1_Text_2754F6[]; +extern const u8 SecretBase_RedCave1_Text_2758CC[]; #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/field_camera.h b/include/field_camera.h index a8559e1c27..6daa9a8a20 100644 --- a/include/field_camera.h +++ b/include/field_camera.h @@ -24,5 +24,7 @@ extern u16 gUnknown_03005DE8; void DrawWholeMapView(void); void CurrentMapDrawMetatileAt(int x, int y); +void sub_8089C08(s16 *a0, s16 *a1); +void DrawDoorMetatileAt(int x, int y, u16 *arr); #endif //GUARD_FIELD_CAMERA_H diff --git a/include/field_door.h b/include/field_door.h index f1dfc551dd..8b4955cacd 100644 --- a/include/field_door.h +++ b/include/field_door.h @@ -1,6 +1,21 @@ #ifndef GUARD_FIELDDOOR_H #define GUARD_FIELDDOOR_H +struct DoorGraphics +{ + u16 metatileNum; + u8 sound; + u8 size; + const void *tiles; + const void *palette; +}; + +struct DoorAnimFrame +{ + u8 time; + u16 offset; +}; + void FieldSetDoorOpened(u32, u32); void FieldSetDoorClosed(u32, u32); s8 FieldAnimateDoorClose(u32, u32); diff --git a/include/field_effect.h b/include/field_effect.h index aa3f7eba04..7395270f91 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -69,9 +69,15 @@ enum FieldEffectScriptIdx FLDEFF_USE_TELEPORT }; -u8 FieldEffectStart(u8); -bool8 FieldEffectActiveListContains(u8 id); - extern u32 gFieldEffectArguments[8]; +u32 FieldEffectStart(u8); +bool8 FieldEffectActiveListContains(u8 id); +void sub_80B69DC(void); +void FieldEffectStop(struct Sprite *sprite, u8 id); +u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer); +void sub_80B7FC8(void); +void FieldEffectActiveListRemove(u8 id); +void MultiplyInvertedPaletteRGBComponents(u16, u8, u8, u8); + #endif //GUARD_FIELD_EFFECTS_H diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index e80daf3bd6..15928eba38 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -12,5 +12,6 @@ // Exported ROM declarations u8 sub_8154228(void); bool8 sub_8155DA0(struct MapObject *); +void sub_8155D78(struct MapObject *); #endif //GUARD_FIELD_EFFECT_HELPERS_H diff --git a/include/field_map_obj.h b/include/field_map_obj.h old mode 100755 new mode 100644 index 0107fa10f0..198dd97597 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -60,7 +60,7 @@ void sub_808E82C(u8, u8, u8, s16, s16); void sub_808E7E4(u8, u8, u8); void sub_808E78C(u8, u8, u8, u8); void sub_808E75C(s16, s16); -void FieldObjectGetLocalIdAndMap(struct MapObject *, u8 *, u8 *, u8 *); +void FieldObjectGetLocalIdAndMap(struct MapObject *mapObject, void *localId, void *mapNum, void *mapGroup); void npc_coords_shift(struct MapObject *, s16, s16); void sub_808EB08(struct MapObject *, s16, s16); void sub_808F254(u8, u8, u8); @@ -76,6 +76,18 @@ void MoveCoords(u8, s16 *, s16 *); bool8 FieldObjectIsSpecialAnimActive(struct MapObject *); u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *); u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z); +void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 animPattern); +u8 npc_running_behaviour_by_direction(u8 direction); +const u8 *GetFieldObjectScriptPointerByFieldObjectId(u8 mapObjectId); +u8 sub_8092C8C(struct MapObject *mapObject, s16 x, s16 y, u8 direction); +u8 GetFaceDirectionAnimId(u32); +u8 GetGoSpeed0AnimId(u32); +u8 sub_80934BC(u32); +bool8 FieldObjectSetSpecialAnim(struct MapObject *mapObject, u8 specialAnimId); +bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct MapObject *mapObject); +u8 FieldObjectCheckIfSpecialAnimFinishedOrInactive(struct MapObject *mapObject); +void sub_808F23C(const struct MapObject *mapObject, u8 movementType); +void sub_808F208(const struct MapObject *mapObject); // Exported data declarations diff --git a/include/field_map_obj_helpers.h b/include/field_map_obj_helpers.h index ba797ec984..031c7a8ab8 100644 --- a/include/field_map_obj_helpers.h +++ b/include/field_map_obj_helpers.h @@ -1,7 +1,31 @@ -#ifndef GUARD_FIELDMAPOBJHELP_H -#define GUARD_FIELDMAPOBJHELP_H +#ifndef GUARD_FIELD_MAP_OBJ_HELPERS_H +#define GUARD_FIELD_MAP_OBJ_HELPERS_H +// Exported type declarations + +// Exported RAM declarations +extern u8 *gUnknown_020375B8; + +// Exported ROM declarations +void sub_8097AC8(struct Sprite *); +void npc_sync_anim_pause_bits(struct MapObject *); +void oamt_npc_ministep_reset(struct Sprite *, u8, u8); +u8 sub_8097F78(struct MapObject *); +bool8 obj_npc_ministep(struct Sprite *sprite); +bool8 sub_80976EC(struct Sprite *sprite); +void sub_80976DC(struct Sprite *, u8); +void sub_809783C(struct Sprite *, u8, u8, u8); +void DoShadowFieldEffect(struct MapObject *); +u8 sub_809785C(struct Sprite *); +u8 sub_80978E4(struct Sprite *); +void obj_anim_image_set_and_seek(struct Sprite *, u8, u8); +bool8 sub_80979BC(struct Sprite *); +void sub_8097750(struct Sprite *); +bool8 sub_8097758(struct Sprite *); +void sub_8097FA4(struct MapObject *); +void sub_8098044(u8); void UnfreezeMapObjects(void); +void FreezeMapObjectsExceptOne(u8 mapObjectId); void sub_8097B78(u8, u8); -#endif +#endif //GUARD_FIELD_MAP_OBJ_HELPERS_H diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 25b7f2d71b..af602245bc 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -9,8 +9,31 @@ void PlayerGetDestCoords(s16 *, s16 *); u8 player_get_direction_lower_nybble(void); u8 player_get_direction_upper_nybble(void); u8 player_get_x22(void); +void PlayerGoSpeed1(u8); +void PlayerGoSpeed2(u8); +void PlayerGoSpeed3(u8); +void PlayerGoSpeed4(u8); +void PlayerOnBikeCollide(u8); +void PlayerFaceDirection(u8 a); +void PlayerTurnInPlace(u8 a); +void PlayerJumpLedge(u8 a); +void PlayerIdleWheelie(u8 a); +void PlayerStartWheelie(u8 a); +void PlayerEndWheelie(u8 a); +void PlayerStandingHoppingWheelie(u8 a); +void PlayerMovingHoppingWheelie(u8 a); +void PlayerLedgeHoppingWheelie(u8 a); +void PlayerAcroTurnJump(u8 a); +void PlayerSetAnimId(u8 a, u8 b); +bool8 IsPlayerCollidingWithFarawayIslandMew(u8 direction); +void PlayerOnBikeCollideWithFarawayIslandMew(u8 direction); +u8 CheckForFieldObjectCollision(struct MapObject *a, s16 b, s16 c, u8 d, u8 e); +u8 PlayerGetZCoord(void); +void SetPlayerAvatarTransitionFlags(u16 a); +void sub_808BCE8(void); void sub_808D074(u8); void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr); +u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8, u8); #endif //GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/field_poison.h b/include/field_poison.h new file mode 100644 index 0000000000..d1a4c823b8 --- /dev/null +++ b/include/field_poison.h @@ -0,0 +1,19 @@ +#ifndef GUARD_FIELD_POISON_H +#define GUARD_FIELD_POISON_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations + +enum { + FLDPSN_NONE, + FLDPSN_PSN, + FLDPSN_FNT +}; + +void sub_80F972C(void); +unsigned int overworld_poison(void); + +#endif //GUARD_FIELD_POISON_H diff --git a/include/field_screen.h b/include/field_screen.h index 6e33a8b7bf..5d6240f8b1 100644 --- a/include/field_screen.h +++ b/include/field_screen.h @@ -10,5 +10,6 @@ void pal_fill_black(void); bool8 sub_80ABDFC(void); void sub_80AF168(void); void sub_80AF2B4(u8 taskId); +void UpdateWeatherPerDay(u16 days); #endif //GUARD_FIELD_SCREEN_H diff --git a/include/field_specials.h b/include/field_specials.h index 1f8fbf1470..dd72bdd13f 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -2,5 +2,7 @@ #define GUARD_FIELD_SPECIALS_H u8 GetLeadMonIndex(void); +u8 sub_813B260(void); +u16 get_unknown_box_id(void); #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/field_weather.h b/include/field_weather.h index e12107e702..7ad8d21e78 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -1,12 +1,177 @@ #ifndef GUARD_WEATHER_H #define GUARD_WEATHER_H -void fade_screen(u8, s8); +#include "sprite.h" +// Controls how the weather should be changing the screen palettes. +enum { + WEATHER_PAL_STATE_CHANGING_WEATHER, + WEATHER_PAL_STATE_SCREEN_FADING_IN, + WEATHER_PAL_STATE_SCREEN_FADING_OUT, + WEATHER_PAL_STATE_IDLE, +}; + +struct Weather +{ + union + { + struct + { + struct Sprite *rainSprites[24]; + struct Sprite *snowflakeSprites[101]; + struct Sprite *cloudSprites[3]; + } s1; + struct + { + u8 filler0[0xA0]; + struct Sprite *fog1Sprites[20]; + struct Sprite *ashSprites[20]; + struct Sprite *fog2Sprites[20]; + struct Sprite *sandstormSprites1[20]; + struct Sprite *sandstormSprites2[5]; + } s2; + } sprites; + u8 gammaShifts[19][32]; + u8 altGammaShifts[19][32]; + s8 gammaIndex; + s8 gammaTargetIndex; + u8 gammaStepDelay; + u8 gammaStepFrameCounter; + u16 fadeDestColor; + u8 palProcessingState; + u8 fadeScreenCounter; + bool8 readyForInit; + u8 taskId; + u8 unknown_6CA; + u8 unknown_6CB; + u16 initStep; + u16 finishStep; + u8 currWeather; + u8 nextWeather; + u8 weatherGfxLoaded; + bool8 weatherChangeComplete; + u8 weatherPicSpritePalIndex; + u8 altGammaSpritePalIndex; + u16 unknown_6D6; + u8 unknown_6D8; + u8 unknown_6D9; + u8 rainSpriteCount; + u8 unknown_6DB; + u8 unknown_6DC; + u8 rainStrength; + /*0x6DE*/ u8 cloudSpritesCreated; + u8 filler_6DF[1]; + u16 unknown_6E0; + u16 unknown_6E2; + u8 snowflakeSpriteCount; + u8 unknown_6E5; + u16 unknown_6E6; + u16 thunderCounter; + u8 unknown_6EA; + u8 unknown_6EB; + u8 unknown_6EC; + u8 unknown_6ED; + u16 fog1ScrollPosX; + u16 unknown_6F0; + u16 unknown_6F2; + u8 lightenedFogSpritePals[6]; + u8 lightenedFogSpritePalsCount; + u8 fog1SpritesCreated; + u16 unknown_6FC; + u16 unknown_6FE; + u8 ashSpritesCreated; + u8 filler_701[3]; + u32 unknown_704; + u32 unknown_708; + u8 filler_70C[2]; + u16 unknown_70E; + u16 unknown_710; + u16 unknown_712; + u16 unknown_714; + u8 sandstormSprites1Created; + u8 sandstormSprites2Created; + u16 unknown_718; + u16 unknown_71A; + u16 unknown_71C; + u16 unknown_71E; + u16 unknown_720; + u16 unknown_722; + u8 fog2SpritesCreated; + u8 filler_725[1]; + u16 unknown_726; + u16 unknown_728; + u16 unknown_72A; + u16 unknown_72C; + u8 unknown_72E; + u8 filler_72F; + u16 currBlendEVA; + u16 currBlendEVB; + u16 targetBlendEVA; + u16 targetBlendEVB; + u8 blendUpdateCounter; + u8 blendFrameCounter; + u8 blendDelay; + u8 filler_73B[0x3C-0x3B]; + s16 unknown_73C; + s16 unknown_73E; + s16 unknown_740; + s16 unknown_742; + u8 filler_744[0xD-4]; + s8 loadDroughtPalsIndex; + u8 loadDroughtPalsOffset; +}; + +void StartWeather(void); +void ChangeWeather(u8 weather); +void sub_807C988(u8 effect); +void sub_807C9B4(u8 effect); +void Task_WeatherInit(u8); +void Task_WeatherMain(u8); +void sub_807CAE8(void); +void nullsub_38(void); +void SetWeatherScreenFadeOut(void); + +enum +{ + FADE_FROM_BLACK, + FADE_TO_BLACK, + FADE_FROM_WHITE, + FADE_TO_WHITE, +}; + +void FadeScreen(u8, s8); +// ... +void UpdateSpritePaletteWithWeather(u8 tag); +void ApplyWeatherGammaShiftToPal(u8); +// ... +void Weather_SetBlendCoeffs(u8, u8); +// ... +void PlayRainSoundEffect(void); +// ... void SetSav1Weather(u32); u8 GetSav1Weather(void); void sub_80AEDBC(void); +void SetSav1WeatherFromCurrMapHeader(void); +// ... void DoCurrentWeather(void); +void sub_8080750(); + +bool8 IsWeatherNotFadingIn(void); +bool8 IsWeatherChangeComplete(void); +void SetWeather(u32); +void UpdateWeatherPerDay(u16); +void PreservePaletteInWeather(u8 index); +void ResetPreservedPalettesInWeather(void); +extern void ResetDroughtWeatherPaletteLoading(void); +void ResetDroughtWeatherPaletteLoading(void); +bool8 LoadDroughtWeatherPalettes(void); +u8 GetCurrentWeather(void); +void LoadCustomWeatherSpritePalette(const u16 *palette); + + +extern struct Weather gWeather; + +extern struct Weather *const gWeatherPtr; #endif // GUARD_WEATHER_H diff --git a/include/flags.h b/include/flags.h deleted file mode 100644 index 7d825feba4..0000000000 --- a/include/flags.h +++ /dev/null @@ -1,111 +0,0 @@ -#ifndef GUARD_FLAGS_H -#define GUARD_FLAGS_H - -#define TRAINER_FLAG_START 0x500 -#define TRAINERS_FLAG_NO 0x356 -#define CODE_FLAGS (TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860 - -// SYSTEM FLAGS - -#define SYS_POKEMON_GET CODE_FLAGS + 0 -#define SYS_POKEDEX_GET CODE_FLAGS + 1 -#define SYS_POKENAV_GET CODE_FLAGS + 2 -// third one appears unused -#define SYS_GAME_CLEAR CODE_FLAGS + 4 -#define SYS_CHAT_USED CODE_FLAGS + 5 -#define SYS_HIPSTER_MEET CODE_FLAGS + 6 - -// badges -#define BADGE01_GET CODE_FLAGS + 7 -#define BADGE02_GET CODE_FLAGS + 8 -#define BADGE03_GET CODE_FLAGS + 9 -#define BADGE04_GET CODE_FLAGS + 0xA -#define BADGE05_GET CODE_FLAGS + 0xB -#define BADGE06_GET CODE_FLAGS + 0xC -#define BADGE07_GET CODE_FLAGS + 0xD -#define BADGE08_GET CODE_FLAGS + 0xE - -// cities and towns -#define FLAG_VISITED_LITTLEROOT_TOWN CODE_FLAGS + 0xF -#define FLAG_VISITED_OLDALE_TOWN CODE_FLAGS + 0x10 -#define FLAG_VISITED_DEWFORD_TOWN CODE_FLAGS + 0x11 -#define FLAG_VISITED_LAVARIDGE_TOWN CODE_FLAGS + 0x12 -#define FLAG_VISITED_FALLARBOR_TOWN CODE_FLAGS + 0x13 -#define FLAG_VISITED_VERDANTURF_TOWN CODE_FLAGS + 0x14 -#define FLAG_VISITED_PACIFIDLOG_TOWN CODE_FLAGS + 0x15 -#define FLAG_VISITED_PETALBURG_CITY CODE_FLAGS + 0x16 -#define FLAG_VISITED_SLATEPORT_CITY CODE_FLAGS + 0x17 -#define FLAG_VISITED_MAUVILLE_CITY CODE_FLAGS + 0x18 -#define FLAG_VISITED_RUSTBORO_CITY CODE_FLAGS + 0x19 -#define FLAG_VISITED_FORTREE_CITY CODE_FLAGS + 0x1A -#define FLAG_VISITED_LILYCOVE_CITY CODE_FLAGS + 0x1B -#define FLAG_VISITED_MOSSDEEP_CITY CODE_FLAGS + 0x1C -#define FLAG_VISITED_SOOTOPOLIS_CITY CODE_FLAGS + 0x1D -#define FLAG_VISITED_EVER_GRANDE_CITY CODE_FLAGS + 0x1E - -#define SYS_UNKNOWN_880 CODE_FLAGS + 0x20 - -#define SYS_USE_FLASH CODE_FLAGS + 0x28 -#define SYS_USE_STRENGTH CODE_FLAGS + 0x29 -#define SYS_WEATHER_CTRL CODE_FLAGS + 0x2A -#define SYS_CYCLING_ROAD CODE_FLAGS + 0x2B -#define SYS_SAFARI_MODE CODE_FLAGS + 0x2C -#define SYS_CRUISE_MODE CODE_FLAGS + 0x2D - -#define SYS_TV_HOME CODE_FLAGS + 0x30 -#define SYS_TV_WATCH CODE_FLAGS + 0x31 -#define SYS_TV_START CODE_FLAGS + 0x32 -#define SYS_POPWORD_INPUT CODE_FLAGS + 0x33 -#define SYS_MIX_RECORD CODE_FLAGS + 0x34 -#define SYS_CLOCK_SET CODE_FLAGS + 0x35 -#define SYS_NATIONAL_DEX CODE_FLAGS + 0x36 -#define SYS_CAVE_SHIP CODE_FLAGS + 0x37 -#define SYS_CAVE_WONDER CODE_FLAGS + 0x38 -#define SYS_CAVE_BATTLE CODE_FLAGS + 0x39 -#define SYS_SHOAL_TIDE CODE_FLAGS + 0x3A -#define SYS_RIBBON_GET CODE_FLAGS + 0x3B - -#define SYS_PC_LANETTE CODE_FLAGS + 0x4B -#define SYS_MYSTERY_EVENT_ENABLE CODE_FLAGS + 0x4C -#define SYS_ENC_UP_ITEM CODE_FLAGS + 0x4D -#define SYS_ENC_DOWN_ITEM CODE_FLAGS + 0x4E -#define SYS_BRAILLE_DIG CODE_FLAGS + 0x4F -#define SYS_BRAILLE_STRENGTH CODE_FLAGS + 0x50 -#define SYS_BRAILLE_WAIT CODE_FLAGS + 0x51 -#define SYS_BRAILLE_FLY CODE_FLAGS + 0x52 -#define SYS_HAS_EON_TICKET CODE_FLAGS + 0x53 - -#define SYS_POKEMON_LEAGUE_FLY CODE_FLAGS + 0x54 - -#define SYS_TV_LATI CODE_FLAGS + 0x5D - -#define SYS_SHOAL_ITEM CODE_FLAGS + 0x5F -#define SYS_B_DASH CODE_FLAGS + 0x60 // got Running Shoes -#define SYS_CTRL_OBJ_DELETE CODE_FLAGS + 0x61 -#define SYS_RESET_RTC_ENABLE CODE_FLAGS + 0x62 - -#define SYS_TOWER_SILVER CODE_FLAGS + 0x64 -#define SYS_TOWER_GOLD CODE_FLAGS + 0x65 -#define SYS_DOME_SILVER CODE_FLAGS + 0x66 -#define SYS_DOME_GOLD CODE_FLAGS + 0x67 -#define SYS_PALACE_SILVER CODE_FLAGS + 0x68 -#define SYS_PALACE_GOLD CODE_FLAGS + 0x69 -#define SYS_ARENA_SILVER CODE_FLAGS + 0x6A -#define SYS_ARENA_GOLD CODE_FLAGS + 0x6B -#define SYS_FACTORY_SILVER CODE_FLAGS + 0x6C -#define SYS_FACTORY_GOLD CODE_FLAGS + 0x6D -#define SYS_PIKE_SILVER CODE_FLAGS + 0x6E -#define SYS_PIKE_GOLD CODE_FLAGS + 0x6F -#define SYS_PYRAMID_SILVER CODE_FLAGS + 0x70 -#define SYS_PYRAMID_GOLD CODE_FLAGS + 0x71 -#define SYS_FRONTIER_PASS CODE_FLAGS + 0x72 - -#define SYS_STORAGE_UNKNOWN_FLAG CODE_FLAGS + 0x77 - -#define SYS_MYSTERY_GIFT_ENABLE CODE_FLAGS + 0x7B - -// SPECIAL FLAGS (unknown purpose) - -#define SPECIAL_FLAG_1 0x4001 - -#endif // GUARD_FLAGS_H diff --git a/include/fldeff_80F9BCC.h b/include/fldeff_80F9BCC.h index aae4751c1d..a210b85453 100644 --- a/include/fldeff_80F9BCC.h +++ b/include/fldeff_80F9BCC.h @@ -11,5 +11,6 @@ void sub_80FA5E4(s16 id, s16 x, s16 y); void sub_80FA794(s16 x, s16 y); void sub_80FB00C(void); void sub_80FB074(void); +void overworld_poison_effect(void); #endif //GUARD_FLDEFF_80F9BCC_H diff --git a/include/fldeff_teleport.h b/include/fldeff_teleport.h new file mode 100644 index 0000000000..71fb64ad29 --- /dev/null +++ b/include/fldeff_teleport.h @@ -0,0 +1,7 @@ +#ifndef GUARD_FLDEFF_TELEPORT_H +#define GUARD_FLDEFF_TELEPORT_H + +void hm_teleport_run_dp02scr(void); +void sub_817C94C(void); + +#endif // GUARD_FLDEFF_TELEPORT_H diff --git a/include/gba/defines.h b/include/gba/defines.h index 41cc84f4a2..1eed6303d1 100644 --- a/include/gba/defines.h +++ b/include/gba/defines.h @@ -39,6 +39,9 @@ #define BG_CHAR_ADDR(n) (BG_VRAM + (BG_CHAR_SIZE * (n))) #define BG_SCREEN_ADDR(n) (BG_VRAM + (BG_SCREEN_SIZE * (n))) +#define BG_TILE_H_FLIP(n) (0x400 + (n)) +#define BG_TILE_V_FLIP(n) (0x800 + (n)) + // text-mode BG #define OBJ_VRAM0 (VRAM + 0x10000) #define OBJ_VRAM0_SIZE 0x8000 @@ -60,11 +63,6 @@ #define TOTAL_OBJ_TILE_COUNT 1024 -#define RGB(r, g, b) ((r) | ((g) << 5) | ((b) << 10)) - -#define RGB_BLACK RGB(0, 0, 0) -#define RGB_WHITE RGB(31, 31, 31) - #define WIN_RANGE(a, b) (((a) << 8) | (b)) #endif // GUARD_GBA_DEFINES diff --git a/include/gba/gba.h b/include/gba/gba.h index 19b65dbca1..349344031f 100644 --- a/include/gba/gba.h +++ b/include/gba/gba.h @@ -7,6 +7,6 @@ #include "gba/multiboot.h" #include "gba/syscall.h" #include "gba/macro.h" -#include "gba/libc.h" +#include "gba/isagbprint.h" #endif // GUARD_GBA_GBA_H diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h index f86f2434cb..0364c38bcd 100644 --- a/include/gba/io_reg.h +++ b/include/gba/io_reg.h @@ -501,12 +501,12 @@ // I/O register fields // DISPCNT -#define DISPCNT_MODE_0 0x0000 -#define DISPCNT_MODE_1 0x0001 -#define DISPCNT_MODE_2 0x0002 -#define DISPCNT_MODE_3 0x0003 -#define DISPCNT_MODE_4 0x0004 -#define DISPCNT_MODE_5 0x0005 +#define DISPCNT_MODE_0 0x0000 // BG0: text, BG1: text, BG2: text, BG3: text +#define DISPCNT_MODE_1 0x0001 // BG0: text, BG1: text, BG2: affine, BG3: off +#define DISPCNT_MODE_2 0x0002 // BG0: off, BG1: off, BG2: affine, BG3: affine +#define DISPCNT_MODE_3 0x0003 // Bitmap mode, 240x160, BGR555 color +#define DISPCNT_MODE_4 0x0004 // Bitmap mode, 240x160, 256 color palette +#define DISPCNT_MODE_5 0x0005 // Bitmap mode, 160x128, BGR555 color #define DISPCNT_OBJ_1D_MAP 0x0040 #define DISPCNT_FORCED_BLANK 0x0080 #define DISPCNT_BG0_ON 0x0100 @@ -527,7 +527,46 @@ #define DISPSTAT_HBLANK_INTR 0x0010 // H-Blank interrupt enabled #define DISPSTAT_VCOUNT_INTR 0x0020 // V-Count interrupt enabled +// BGCNT +#define BGCNT_PRIORITY(n) (n) // Values 0 - 3. Lower priority BGs will be drawn on top of higher priority BGs. +#define BGCNT_CHARBASE(n) ((n) << 2) // Values 0 - 3. Base block for tile pixel data. +#define BGCNT_MOSAIC 0x0040 +#define BGCNT_16COLOR 0x0000 // 4 bits per pixel +#define BGCNT_256COLOR 0x0080 // 8 bits per pixel +#define BGCNT_SCREENBASE(n) ((n) << 8) // Values 0 - 31. Base block for tile map. +#define BGCNT_WRAP 0x2000 // Only affects affine BGs. Text BGs wrap by default. +#define BGCNT_TXT256x256 0x0000 // Internal screen size size of text mode BG in pixels. +#define BGCNT_TXT512x256 0x4000 +#define BGCNT_TXT256x512 0x8000 +#define BGCNT_TXT512x512 0xC000 +#define BGCNT_AFF128x128 0x0000 // Internal screen size size of affine mode BG in pixels. +#define BGCNT_AFF256x256 0x4000 +#define BGCNT_AFF512x512 0x8000 +#define BGCNT_AFF1024x1024 0xC000 + // BLDCNT +// Bits 0-5 select layers for the 1st target +#define BLDCNT_TGT1_BG0 (1 << 0) +#define BLDCNT_TGT1_BG1 (1 << 1) +#define BLDCNT_TGT1_BG2 (1 << 2) +#define BLDCNT_TGT1_BG3 (1 << 3) +#define BLDCNT_TGT1_OBJ (1 << 4) +#define BLDCNT_TGT1_BD (1 << 5) +// Bits 6-7 select the special effect +#define BLDCNT_EFFECT_NONE (0 << 6) // no special effect +#define BLDCNT_EFFECT_BLEND (1 << 6) // 1st+2nd targets mixed (controlled by BLDALPHA) +#define BLDCNT_EFFECT_LIGHTEN (2 << 6) // 1st target becomes whiter (controlled by BLDY) +#define BLDCNT_EFFECT_DARKEN (3 << 6) // 1st target becomes blacker (controlled by BLDY) +// Bits 8-13 select layers for the 2nd target +#define BLDCNT_TGT2_BG0 (1 << 8) +#define BLDCNT_TGT2_BG1 (1 << 9) +#define BLDCNT_TGT2_BG2 (1 << 10) +#define BLDCNT_TGT2_BG3 (1 << 11) +#define BLDCNT_TGT2_OBJ (1 << 12) +#define BLDCNT_TGT2_BD (1 << 13) + +// BLDALPHA +#define BLDALPHA_BLEND(target1, target2) (((target2) << 8) | (target1)) // SOUNDCNT_H #define SOUND_CGB_MIX_QUARTER 0x0000 @@ -627,8 +666,8 @@ #define KEY_INTR_ENABLE 0x0400 #define KEY_OR_INTR 0x0000 #define KEY_AND_INTR 0x8000 - -#define DPAD_ANY ((DPAD_RIGHT | DPAD_LEFT | DPAD_UP | DPAD_DOWN)) +#define DPAD_ANY ((DPAD_RIGHT | DPAD_LEFT | DPAD_UP | DPAD_DOWN)) +#define JOY_EXCL_DPAD 0x030F // interrupt flags #define INTR_FLAG_VBLANK (1 << 0) diff --git a/include/gba/isagbprint.h b/include/gba/isagbprint.h new file mode 100644 index 0000000000..c5eb456c3f --- /dev/null +++ b/include/gba/isagbprint.h @@ -0,0 +1,50 @@ +#ifndef GUARD_GBA_ISAGBPRINT_H +#define GUARD_GBA_ISAGBPRINT_H + +#ifdef NDEBUG +#define AGBPrintInit() +#define AGBPutc(cChr) +#define AGBPrint(pBuf) +#define AGBPrintf(pBuf, ...) +#define AGBPrintFlush1Block() +#define AGBPrintFlush() +#define AGBAssert(pFile, nLine, pExpression, nStopProgram) +#else +void AGBPrintInit(void); +void AGBPutc(const char cChr); +void AGBPrint(const char *pBuf); +void AGBPrintf(const char *pBuf, ...); +void AGBPrintFlush1Block(void); +void AGBPrintFlush(void); +void AGBAssert(const char *pFile, int nLine, const char *pExpression, int nStopProgram); +#endif + +#undef AGB_ASSERT +#ifdef NDEBUG +#define AGB_ASSERT(exp) +#else +#define AGB_ASSERT(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, 1); +#endif + +#undef AGB_WARNING +#ifdef NDEBUG +#define AGB_WARNING(exp) +#else +#define AGB_WARNING(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, 0); +#endif + +// for matching purposes + +#ifdef NDEBUG +#define AGB_ASSERT_EX(exp, file, line) +#else +#define AGB_ASSERT_EX(exp, file, line) (exp) ? ((void*)0) : AGBAssert(file, line, #exp, 1); +#endif + +#ifdef NDEBUG +#define AGB_WARNING_EX(exp, file, line) +#else +#define AGB_WARNING_EX(exp, file, line) (exp) ? ((void*)0) : AGBAssert(file, line, #exp, 0); +#endif + +#endif // GUARD_GBA_ISAGBPRINT_H diff --git a/include/gba/libc.h b/include/gba/libc.h deleted file mode 100644 index 9ed82ac285..0000000000 --- a/include/gba/libc.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef GUARD_LIBC_H -#define GUARD_LIBC_H - -void *memset(void *dst, int val, size_t size); -void *memcpy(void *dst, const void *src, size_t size); -int strcmp(const char *s1, const char *s2); -char *strcpy(char *dst0, const char *src0); -#define abs(x) ((x) >= 0 ? (x) : -(x)) - -#endif //GUARD_LIBC_H diff --git a/include/gba/m4a_internal.h b/include/gba/m4a_internal.h index 6cdfd13e12..659302fd55 100644 --- a/include/gba/m4a_internal.h +++ b/include/gba/m4a_internal.h @@ -406,7 +406,7 @@ void m4aSoundVSyncOff(void); void m4aMPlayTempoControl(struct MusicPlayerInfo *mplayInfo, u16 tempo); void m4aMPlayVolumeControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16 volume); -void m4aMPlayPitchControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16 pitch); +void m4aMPlayPitchControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s16 pitch); void m4aMPlayPanpotControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s8 pan); void ClearModM(struct MusicPlayerTrack *track); void m4aMPlayModDepthSet(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u8 modDepth); diff --git a/include/gba/macro.h b/include/gba/macro.h index 7b6b98c067..3b35a19464 100644 --- a/include/gba/macro.h +++ b/include/gba/macro.h @@ -78,6 +78,102 @@ #define DmaCopy16(dmaNum, src, dest, size) DMA_COPY(dmaNum, src, dest, size, 16) #define DmaCopy32(dmaNum, src, dest, size) DMA_COPY(dmaNum, src, dest, size, 32) +#define DmaCopyLarge(dmaNum, src, dest, size, block, bit) \ +{ \ + const void *_src = src; \ + void *_dest = dest; \ + u32 _size = size; \ + while (1) \ + { \ + DmaCopy##bit(dmaNum, _src, _dest, (block)); \ + _src += (block); \ + _dest += (block); \ + _size -= (block); \ + if (_size <= (block)) \ + { \ + DmaCopy##bit(dmaNum, _src, _dest, _size); \ + break; \ + } \ + } \ +} + +#define DmaCopyLarge16(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 16) + +#define DmaCopyLarge32(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 32) + +#define DmaFillLarge(dmaNum, value, dest, size, block, bit) \ +{ \ + void *_dest = dest; \ + u32 _size = size; \ + while (1) \ + { \ + DmaFill##bit(dmaNum, value, _dest, (block)); \ + _dest += (block); \ + _size -= (block); \ + if (_size <= (block)) \ + { \ + DmaFill##bit(dmaNum, value, _dest, _size); \ + break; \ + } \ + } \ +} + +#define DmaFillLarge16(dmaNum, value, dest, size, block) DmaFillLarge(dmaNum, value, dest, size, block, 16) + +#define DmaFillLarge32(dmaNum, value, dest, size, block) DmaFillLarge(dmaNum, value, dest, size, block, 32) + +#define DmaClearLarge(dmaNum, dest, size, block, bit) \ +{ \ + void *_dest = dest; \ + u32 _size = size; \ + while (1) \ + { \ + DmaFill##bit(dmaNum, 0, _dest, (block)); \ + _dest += (block); \ + _size -= (block); \ + if (_size <= (block)) \ + { \ + DmaFill##bit(dmaNum, 0, _dest, _size); \ + break; \ + } \ + } \ +} + +#define DmaClearLarge16(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 16) + +#define DmaClearLarge32(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 32) + +#define DmaCopyDefvars(dmaNum, src, dest, size, bit) \ +{ \ + const void *_src = src; \ + void *_dest = dest; \ + u32 _size = size; \ + DmaCopy##bit(dmaNum, _src, _dest, _size); \ +} + +#define DmaCopy16Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 16) +#define DmaCopy32Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 32) + +#define DmaFillDefvars(dmaNum, value, dest, size, bit) \ +{ \ + void *_dest = dest; \ + u32 _size = size; \ + DmaFill##bit(dmaNum, value, _dest, _size); \ +} + +#define DmaFill16Defvars(dmaNum, value, dest, size) DmaFillDefvars(dmaNum, value, dest, size, 16) +#define DmaFill32Defvars(dmaNum, value, dest, size) DmaFillDefvars(dmaNum, value, dest, size, 32) + +#define DmaClearDefvars(dmaNum, dest, size, bit) \ +{ \ + void *_dest = dest; \ + u32 _size = size; \ + DmaClear##bit(dmaNum, _dest, _size); \ +} + +#define DmaClear16Defvars(dmaNum, dest, size) DmaClearDefvars(dmaNum, dest, size, 16) +#define DmaClear32Defvars(dmaNum, dest, size) DmaClearDefvars(dmaNum, dest, size, 32) + #define DmaStop(dmaNum) \ { \ vu16 *dmaRegs = (vu16 *)REG_ADDR_DMA##dmaNum; \ diff --git a/include/gba/types.h b/include/gba/types.h index e9a3800238..9f63489aa9 100644 --- a/include/gba/types.h +++ b/include/gba/types.h @@ -49,7 +49,7 @@ struct OamData u32 matrixNum:5; // bits 3/4 are h-flip/v-flip if not in affine mode u32 size:2; - /*0x04*/ u16 tileNum:10; // 0x33F + /*0x04*/ u16 tileNum:10; // 0x3FF u16 priority:2; // 0x400, 0x800 -> 0xC00 u16 paletteNum:4; /*0x06*/ u16 affineParam; diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index ed5054b7db..b12febefde 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -39,7 +39,7 @@ enum MAP_BATTLE_SCENE_PHOEBE, // 5 MAP_BATTLE_SCENE_GLACIA, // 6 MAP_BATTLE_SCENE_DRAKE, // 7 - MAP_BATTLE_SCENE_BATTLE_TOWER, // 8 + MAP_BATTLE_SCENE_FRONTIER, // 8 }; typedef void (*TilesetCB)(void); @@ -224,7 +224,7 @@ struct MapObject /*0x0C*/ struct Coords16 coords1; /*0x10*/ struct Coords16 coords2; /*0x14*/ struct Coords16 coords3; - /*0x18*/ u8 mapobj_unk_18:4; //current direction? + /*0x18*/ u8 mapobj_unk_18:4; // current direction? /*0x18*/ u8 placeholder18:4; /*0x19*/ union __attribute__((packed)) { u8 as_byte; @@ -299,25 +299,42 @@ enum COLLISION_LEDGE_JUMP = 6 }; -struct PlayerAvatar /* 0x202E858 */ +// player running states +enum +{ + NOT_MOVING, + TURN_DIRECTION, // not the same as turning! turns your avatar without moving. also known as a turn frame in some circles + MOVING, +}; + +// player tile transition states +enum +{ + T_NOT_MOVING, + T_TILE_TRANSITION, + T_TILE_CENTER, // player is on a frame in which they are centered on a tile during which the player either stops or keeps their momentum and keeps going, changing direction if necessary. +}; + +struct PlayerAvatar { /*0x00*/ u8 flags; - /*0x01*/ u8 bike; - /*0x02*/ u8 running2; - /*0x03*/ u8 running1; + /*0x01*/ u8 unk1; // used to be named bike, but its definitely not that. seems to be some transition flags + /*0x02*/ u8 runningState; // this is a static running state. 00 is not moving, 01 is turn direction, 02 is moving. + /*0x03*/ u8 tileTransitionState; // this is a transition running state: 00 is not moving, 01 is transition between tiles, 02 means you are on the frame in which you have centered on a tile but are about to keep moving, even if changing directions. 2 is also used for a ledge hop, since you are transitioning. /*0x04*/ u8 spriteId; /*0x05*/ u8 mapObjectId; - /*0x06*/ u8 unk6; + /*0x06*/ bool8 preventStep; /*0x07*/ u8 gender; - u8 acroBikeState; - u8 unk9; - u8 bikeFrameCounter; - u8 unkB; - u32 unkC; - u32 unk10; - u8 unk14[8]; - u8 unk1C[8]; - // TODO: rest of struct + /*0x08*/ u8 acroBikeState; // 00 is normal, 01 is turning, 02 is standing wheelie, 03 is hopping wheelie + /*0x09*/ u8 newDirBackup; // during bike movement, the new direction as opposed to player's direction is backed up here. + /*0x0A*/ u8 bikeFrameCounter; // on the mach bike, when this value is 1, the bike is moving but not accelerating yet for 1 tile. on the acro bike, this acts as a timer for acro bike. + /*0x0B*/ u8 bikeSpeed; + // acro bike only + /*0x0C*/ u32 directionHistory; // up/down/left/right history is stored in each nybble, but using the field directions and not the io inputs. + /*0x10*/ u32 abStartSelectHistory; // same as above but for A + B + start + select only + // these two are timer history arrays which [0] is the active timer for acro bike. every element is backed up to the next element upon update. + /*0x14*/ u8 dirTimerHistory[8]; + /*0x1C*/ u8 abStartSelectTimerHistory[8]; }; struct Camera diff --git a/include/global.h b/include/global.h index 8343f99f84..308fb4d42d 100644 --- a/include/global.h +++ b/include/global.h @@ -1,8 +1,9 @@ #ifndef GUARD_GLOBAL_H #define GUARD_GLOBAL_H +#include +#include "config.h" // we need to define config before gba headers as print stuff needs the functions nulled before defines. #include "gba/gba.h" -#include "config.h" // Prevent cross-jump optimization. #define BLOCK_CROSS_JUMP asm(""); @@ -11,7 +12,19 @@ #define asm_comment(x) asm volatile("@ -- " x " -- ") #define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided") -#define ARRAY_COUNT(array) (sizeof(array) / sizeof((array)[0])) +// IDE support +#if defined (__APPLE__) || defined (__CYGWIN__) +#define _(x) x +#define __(x) x +#define INCBIN_U8 {0} +#define INCBIN_U16 {0} +#define INCBIN_U32 {0} +#define INCBIN_S8 {0} +#define INCBIN_S16 {0} +#define INCBIN_S32 {0} +#endif // __APPLE__ + +#define ARRAY_COUNT(array) (size_t)(sizeof(array) / sizeof((array)[0])) // useful math macros @@ -21,14 +34,39 @@ // Converts a number to Q4.12 fixed-point format #define Q_4_12(n) ((s16)((n) * 4096)) +#define PARTY_SIZE 6 + #define POKEMON_NAME_LENGTH 10 #define OT_NAME_LENGTH 7 +#define min(a, b) ((a) < (b) ? (a) : (b)) +#define max(a, b) ((a) >= (b) ? (a) : (b)) + +#define HEAP_SIZE 0x1C000 + extern u8 gStringVar1[]; extern u8 gStringVar2[]; extern u8 gStringVar3[]; extern u8 gStringVar4[]; +// There are many quirks in the source code which have overarching behavioral differences from +// a number of other files. For example, diploma.c seems to declare rodata before each use while +// other files declare out of order and must be at the beginning. There are also a number of +// macros which differ from one file to the next due to the method of obtaining the result, such +// as these below. Because of this, there is a theory (Two Team Theory) that states that these +// programming projects had more than 1 "programming team" which utilized different macros for +// each of the files that were worked on. +#define T1_READ_8(ptr) ((ptr)[0]) +#define T1_READ_16(ptr) ((ptr)[0] | ((ptr)[1] << 8)) +#define T1_READ_32(ptr) ((ptr)[0] | ((ptr)[1] << 8) | ((ptr)[2] << 16) | ((ptr)[3] << 24)) +#define T1_READ_PTR(ptr) (u8*) T1_READ_32(ptr) + +// T2_READ_8 is a duplicate to remain consistent with each group. +#define T2_READ_8(ptr) ((ptr)[0]) +#define T2_READ_16(ptr) ((ptr)[0] + ((ptr)[1] << 8)) +#define T2_READ_32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24)) +#define T2_READ_PTR(ptr) (void*) T2_READ_32(ptr) + enum { VERSION_SAPPHIRE = 1, @@ -38,10 +76,15 @@ enum VERSION_LEAF_GREEN = 5, }; -enum LanguageId { +enum LanguageId +{ LANGUAGE_JAPANESE = 1, LANGUAGE_ENGLISH = 2, + LANGUAGE_FRENCH = 3, + LANGUAGE_ITALIAN = 4, LANGUAGE_GERMAN = 5, + // 6 goes unused but the theory is it was meant to be Korean + LANGUAGE_SPANISH = 7, }; #define GAME_LANGUAGE (LANGUAGE_ENGLISH) @@ -160,9 +203,31 @@ struct BerryCrush u32 unk; }; +#define PLAYER_NAME_LENGTH 8 + +struct UnknownSaveBlock2Struct +{ + u8 field_0; + u8 field_1; + u8 field_2[2]; + u8 field_4[8]; + u8 field_C[16]; + u16 field_1C[6]; + u16 field_28[6]; + u8 field_34[176]; + u8 field_E4; + u8 field_E5; + u8 field_E6; + u8 field_E7; + u8 field_E8; + u8 field_E9; + u8 field_EA; + u8 field_EB; +}; // sizeof = 0xEC + struct SaveBlock2 { - /*0x00*/ u8 playerName[8]; + /*0x00*/ u8 playerName[PLAYER_NAME_LENGTH]; /*0x08*/ u8 playerGender; // MALE, FEMALE /*0x09*/ u8 specialSaveWarp; /*0x0A*/ u8 playerTrainerId[4]; @@ -190,12 +255,13 @@ struct SaveBlock2 /*0x1EC*/ struct BerryCrush berryCrush; /*0x1FC*/ struct PokemonJumpResults pokeJump; /*0x20C*/ struct BerryPickingResults berryPick; - /*0x214*/ u8 field_214[1032]; + /*0x21C*/ u8 field_21C[1032]; /*0x624*/ u16 contestLinkResults[20]; // 4 positions for 5 categories, possibly a struct or a 2d array // All below could be a one giant struct - /*0x64C*/ u8 field_64C[0x588]; + /*0x64C*/ u8 field_64C[236]; + /*0x738*/ struct UnknownSaveBlock2Struct field_738[5]; // No idea here, it's probably wrong, no clue. /*0xBD4*/ u16 field_BD4; /*0xBD6*/ u16 field_BD6; /*0xBD8*/ u8 field_BD8[11]; @@ -209,10 +275,12 @@ struct SaveBlock2 /*0xCA9*/ u8 field_CA9_d : 1; // 0x20 /*0xCA9*/ u8 field_CA9_e : 1; // 0x40 /*0xCA9*/ u8 field_CA9_f : 1; // 0x80 - /*0xCAA*/ u16 field_CAA[0x2e]; + /*0xCAA*/ u16 field_CAA[4]; + /*0xCB2*/ u16 battlePyramidWildHeaderId; + /*0xCB4*/ u16 field_CB4[41]; /*0xD06*/ u8 field_D06; /*0xD07*/ u8 field_D07; - /*0xd08*/ u8 filler_D08[0x112]; + /*0xD08*/ u8 filler_D08[0x112]; /*0xE1A*/ u16 battlePyramidFloor; // possibly? /*0xE1C*/ u8 field_E1C[16]; /*0xE2C*/ struct PyramidBag pyramidBag; @@ -230,6 +298,16 @@ struct SaveBlock2 extern struct SaveBlock2 *gSaveBlock2Ptr; +struct SecretBaseParty +{ + u32 personality[PARTY_SIZE]; + u16 moves[PARTY_SIZE * 4]; + u16 species[PARTY_SIZE]; + u16 heldItems[PARTY_SIZE]; + u8 levels[PARTY_SIZE]; + u8 EVs[PARTY_SIZE]; +}; + struct SecretBaseRecord { /*0x1A9C*/ u8 secretBaseId; @@ -245,15 +323,10 @@ struct SecretBaseRecord /*0x1AAD*/ u8 sbr_field_11; /*0x1AAE*/ u8 decorations[16]; /*0x1ABE*/ u8 decorationPos[16]; - /*0x1AD0*/ u32 partyPersonality[6]; - /*0x1AE8*/ u16 partyMoves[6 * 4]; - /*0x1B18*/ u16 partySpecies[6]; - /*0x1B24*/ u16 partyHeldItems[6]; - /*0x1B2E*/ u8 partyLevels[6]; - /*0x1B34*/ u8 partyEVs[6]; + /*0x1AD0*/ struct SecretBaseParty party; }; -#include "game_stat.h" +#include "constants/game_stat.h" #include "global.fieldmap.h" #include "global.berry.h" #include "global.tv.h" @@ -325,10 +398,12 @@ struct EasyChatPair u16 words[2]; }; /*size = 0x8*/ +#define MAIL_WORDS_COUNT 9 + struct MailStruct { - /*0x00*/ u16 words[9]; - /*0x12*/ u8 playerName[8]; + /*0x00*/ u16 words[MAIL_WORDS_COUNT]; + /*0x12*/ u8 playerName[PLAYER_NAME_LENGTH]; /*0x1A*/ u8 trainerId[4]; /*0x1E*/ u16 species; /*0x20*/ u16 itemId; @@ -420,30 +495,53 @@ struct ContestWinner u8 contestRank; }; +struct DaycareMiscMon +{ + struct MailStruct mail; + u8 OT_name[OT_NAME_LENGTH + 1]; + u8 monName[POKEMON_NAME_LENGTH + 1]; + u8 gameLanguage:4; + u8 monLanguage:4; +}; + struct DaycareMon { struct BoxPokemon mon; - struct MailStruct mail; - u8 OT_name[OT_NAME_LENGTH + 1]; - u8 monName[11]; - u8 language_maybe : 4; - u8 unknown : 4; - u32 stepsTaken; + struct DaycareMiscMon misc; + u32 steps; }; -struct DaycareData +#define DAYCARE_MON_COUNT 2 + +struct DayCare { - struct DaycareMon mons[2]; + struct DaycareMon mons[DAYCARE_MON_COUNT]; u32 offspringPersonality; u8 stepCounter; }; -#define MAP_OBJECTS_COUNT 16 -#define BERRY_TREES_COUNT 128 -#define FLAGS_COUNT 300 -#define VARS_COUNT 256 +struct DayCareMail +{ + /*0x00*/ struct MailStruct message; + /*0x24*/ u8 names[19]; +}; -enum { +struct RecordMixingDayCareMail +{ + struct DayCareMail mail[DAYCARE_MON_COUNT]; + u32 numDaycareMons; + bool16 holdsItem[DAYCARE_MON_COUNT]; +}; + +#define POKEBLOCKS_COUNT 40 +#define MAP_OBJECTS_COUNT 16 +#define BERRY_TREES_COUNT 128 +#define FLAGS_COUNT 300 +#define VARS_COUNT 256 +#define MAIL_COUNT 16 + +enum +{ LILYCOVE_LADY_QUIZ, LILYCOVE_LADY_FAVOUR, LILYCOVE_LADY_CONTEST @@ -534,7 +632,7 @@ struct SaveBlock1 /*0x650*/ struct ItemSlot bagPocket_PokeBalls[16]; /*0x690*/ struct ItemSlot bagPocket_TMHM[64]; /*0x790*/ struct ItemSlot bagPocket_Berries[46]; - /*0x848*/ struct Pokeblock pokeblocks[40]; + /*0x848*/ struct Pokeblock pokeblocks[POKEBLOCKS_COUNT]; /*0x988*/ u8 seen1[52]; /*0x9BC*/ u16 berryBlenderRecords[3]; /*0x9C2*/ u8 field_9C2[6]; @@ -575,13 +673,13 @@ struct SaveBlock1 /*0x2BBC*/ u16 unk2BBC[6]; /*0x2BC8*/ u16 unk2BC8[6]; /*0x2BD4*/ u16 unk2BD4[6]; - /*0x2BE0*/ struct MailStruct mail[16]; + /*0x2BE0*/ struct MailStruct mail[MAIL_COUNT]; /*0x2E20*/ u8 additionalPhrases[5]; // bitfield for 33 additional phrases in easy chat system /*0x2E25*/ u8 unk2E25[3]; // possibly padding? /*0x2E28*/ OldMan oldMan; /*0x2e64*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff /*0x2e90*/ struct ContestWinner contestWinners[13]; // 0 - 5 used in contest hall, 6 - 7 unused?, 8 - 12 museum - /*0x3030*/ struct DaycareData daycare; + /*0x3030*/ struct DayCare daycare; /*0x3150*/ struct LinkBattleRecord linkBattleRecords[5]; /*0x31A0*/ u8 unk_31A0; /*0x31A1*/ u8 filler_31A1[7]; diff --git a/include/graphics.h b/include/graphics.h index c50fdef3f4..39662c8c1f 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -1,10 +1,2468 @@ -// -// Created by scott on 10/21/2017. -// - #ifndef GUARD_GRAPHICS_H #define GUARD_GRAPHICS_H +// overworld +extern const u32 gMessageBox_Gfx[]; +extern const u16 gMessageBox_Pal[]; + +// interface pokeballs +extern const u8 gInterfaceGfx_PokeBall[]; +extern const u8 gInterfacePal_PokeBall[]; +extern const u8 gInterfaceGfx_GreatBall[]; +extern const u8 gInterfacePal_GreatBall[]; +extern const u8 gInterfaceGfx_SafariBall[]; +extern const u8 gInterfacePal_SafariBall[]; +extern const u8 gInterfaceGfx_UltraBall[]; +extern const u8 gInterfacePal_UltraBall[]; +extern const u8 gInterfaceGfx_MasterBall[]; +extern const u8 gInterfacePal_MasterBall[]; +extern const u8 gInterfaceGfx_NetBall[]; +extern const u8 gInterfacePal_NetBall[]; +extern const u8 gInterfaceGfx_DiveBall[]; +extern const u8 gInterfacePal_DiveBall[]; +extern const u8 gInterfaceGfx_NestBall[]; +extern const u8 gInterfacePal_NestBall[]; +extern const u8 gInterfaceGfx_RepeatBall[]; +extern const u8 gInterfacePal_RepeatBall[]; +extern const u8 gInterfaceGfx_TimerBall[]; +extern const u8 gInterfacePal_TimerBall[]; +extern const u8 gInterfaceGfx_LuxuryBall[]; +extern const u8 gInterfacePal_LuxuryBall[]; +extern const u8 gInterfaceGfx_PremierBall[]; +extern const u8 gInterfacePal_PremierBall[]; +extern const u8 gOpenPokeballGfx[]; + +// pokemon gfx +extern const u8 gMonFrontPic_Bulbasaur[]; +extern const u8 gMonPalette_Bulbasaur[]; +extern const u8 gMonBackPic_Bulbasaur[]; +extern const u8 gMonShinyPalette_Bulbasaur[]; +extern const u8 gMonIcon_Bulbasaur[]; +extern const u8 gMonFootprint_Bulbasaur[]; +extern const u8 gMonFrontPic_Ivysaur[]; +extern const u8 gMonPalette_Ivysaur[]; +extern const u8 gMonBackPic_Ivysaur[]; +extern const u8 gMonShinyPalette_Ivysaur[]; +extern const u8 gMonIcon_Ivysaur[]; +extern const u8 gMonFootprint_Ivysaur[]; +extern const u8 gMonFrontPic_Venusaur[]; +extern const u8 gMonPalette_Venusaur[]; +extern const u8 gMonBackPic_Venusaur[]; +extern const u8 gMonShinyPalette_Venusaur[]; +extern const u8 gMonIcon_Venusaur[]; +extern const u8 gMonFootprint_Venusaur[]; +extern const u8 gMonFrontPic_Charmander[]; +extern const u8 gMonPalette_Charmander[]; +extern const u8 gMonBackPic_Charmander[]; +extern const u8 gMonShinyPalette_Charmander[]; +extern const u8 gMonIcon_Charmander[]; +extern const u8 gMonFootprint_Charmander[]; +extern const u8 gMonFrontPic_Charmeleon[]; +extern const u8 gMonPalette_Charmeleon[]; +extern const u8 gMonBackPic_Charmeleon[]; +extern const u8 gMonShinyPalette_Charmeleon[]; +extern const u8 gMonIcon_Charmeleon[]; +extern const u8 gMonFootprint_Charmeleon[]; +extern const u8 gMonFrontPic_Charizard[]; +extern const u8 gMonPalette_Charizard[]; +extern const u8 gMonBackPic_Charizard[]; +extern const u8 gMonShinyPalette_Charizard[]; +extern const u8 gMonIcon_Charizard[]; +extern const u8 gMonFootprint_Charizard[]; +extern const u8 gMonFrontPic_Squirtle[]; +extern const u8 gMonPalette_Squirtle[]; +extern const u8 gMonBackPic_Squirtle[]; +extern const u8 gMonShinyPalette_Squirtle[]; +extern const u8 gMonIcon_Squirtle[]; +extern const u8 gMonFootprint_Squirtle[]; +extern const u8 gMonFrontPic_Wartortle[]; +extern const u8 gMonPalette_Wartortle[]; +extern const u8 gMonBackPic_Wartortle[]; +extern const u8 gMonShinyPalette_Wartortle[]; +extern const u8 gMonIcon_Wartortle[]; +extern const u8 gMonFootprint_Wartortle[]; +extern const u8 gMonFrontPic_Blastoise[]; +extern const u8 gMonPalette_Blastoise[]; +extern const u8 gMonBackPic_Blastoise[]; +extern const u8 gMonShinyPalette_Blastoise[]; +extern const u8 gMonIcon_Blastoise[]; +extern const u8 gMonFootprint_Blastoise[]; +extern const u8 gMonFrontPic_Caterpie[]; +extern const u8 gMonPalette_Caterpie[]; +extern const u8 gMonBackPic_Caterpie[]; +extern const u8 gMonShinyPalette_Caterpie[]; +extern const u8 gMonIcon_Caterpie[]; +extern const u8 gMonFootprint_Caterpie[]; +extern const u8 gMonFrontPic_Metapod[]; +extern const u8 gMonPalette_Metapod[]; +extern const u8 gMonBackPic_Metapod[]; +extern const u8 gMonShinyPalette_Metapod[]; +extern const u8 gMonIcon_Metapod[]; +extern const u8 gMonFootprint_Metapod[]; +extern const u8 gMonFrontPic_Butterfree[]; +extern const u8 gMonPalette_Butterfree[]; +extern const u8 gMonBackPic_Butterfree[]; +extern const u8 gMonShinyPalette_Butterfree[]; +extern const u8 gMonIcon_Butterfree[]; +extern const u8 gMonFootprint_Butterfree[]; +extern const u8 gMonFrontPic_Weedle[]; +extern const u8 gMonPalette_Weedle[]; +extern const u8 gMonBackPic_Weedle[]; +extern const u8 gMonShinyPalette_Weedle[]; +extern const u8 gMonIcon_Weedle[]; +extern const u8 gMonFootprint_Weedle[]; +extern const u8 gMonFrontPic_Kakuna[]; +extern const u8 gMonPalette_Kakuna[]; +extern const u8 gMonBackPic_Kakuna[]; +extern const u8 gMonShinyPalette_Kakuna[]; +extern const u8 gMonIcon_Kakuna[]; +extern const u8 gMonFootprint_Kakuna[]; +extern const u8 gMonFrontPic_Beedrill[]; +extern const u8 gMonPalette_Beedrill[]; +extern const u8 gMonBackPic_Beedrill[]; +extern const u8 gMonShinyPalette_Beedrill[]; +extern const u8 gMonIcon_Beedrill[]; +extern const u8 gMonFootprint_Beedrill[]; +extern const u8 gMonFrontPic_Pidgey[]; +extern const u8 gMonPalette_Pidgey[]; +extern const u8 gMonBackPic_Pidgey[]; +extern const u8 gMonShinyPalette_Pidgey[]; +extern const u8 gMonIcon_Pidgey[]; +extern const u8 gMonFootprint_Pidgey[]; +extern const u8 gMonFrontPic_Pidgeotto[]; +extern const u8 gMonPalette_Pidgeotto[]; +extern const u8 gMonBackPic_Pidgeotto[]; +extern const u8 gMonShinyPalette_Pidgeotto[]; +extern const u8 gMonIcon_Pidgeotto[]; +extern const u8 gMonFootprint_Pidgeotto[]; +extern const u8 gMonFrontPic_Pidgeot[]; +extern const u8 gMonPalette_Pidgeot[]; +extern const u8 gMonBackPic_Pidgeot[]; +extern const u8 gMonShinyPalette_Pidgeot[]; +extern const u8 gMonIcon_Pidgeot[]; +extern const u8 gMonFootprint_Pidgeot[]; +extern const u8 gMonFrontPic_Rattata[]; +extern const u8 gMonPalette_Rattata[]; +extern const u8 gMonBackPic_Rattata[]; +extern const u8 gMonShinyPalette_Rattata[]; +extern const u8 gMonIcon_Rattata[]; +extern const u8 gMonFootprint_Rattata[]; +extern const u8 gMonFrontPic_Raticate[]; +extern const u8 gMonPalette_Raticate[]; +extern const u8 gMonBackPic_Raticate[]; +extern const u8 gMonShinyPalette_Raticate[]; +extern const u8 gMonIcon_Raticate[]; +extern const u8 gMonFootprint_Raticate[]; +extern const u8 gMonFrontPic_Spearow[]; +extern const u8 gMonPalette_Spearow[]; +extern const u8 gMonBackPic_Spearow[]; +extern const u8 gMonShinyPalette_Spearow[]; +extern const u8 gMonIcon_Spearow[]; +extern const u8 gMonFootprint_Spearow[]; +extern const u8 gMonFrontPic_Fearow[]; +extern const u8 gMonPalette_Fearow[]; +extern const u8 gMonBackPic_Fearow[]; +extern const u8 gMonShinyPalette_Fearow[]; +extern const u8 gMonIcon_Fearow[]; +extern const u8 gMonFootprint_Fearow[]; +extern const u8 gMonFrontPic_Ekans[]; +extern const u8 gMonPalette_Ekans[]; +extern const u8 gMonBackPic_Ekans[]; +extern const u8 gMonShinyPalette_Ekans[]; +extern const u8 gMonIcon_Ekans[]; +extern const u8 gMonFootprint_Ekans[]; +extern const u8 gMonFrontPic_Arbok[]; +extern const u8 gMonPalette_Arbok[]; +extern const u8 gMonBackPic_Arbok[]; +extern const u8 gMonShinyPalette_Arbok[]; +extern const u8 gMonIcon_Arbok[]; +extern const u8 gMonFootprint_Arbok[]; +extern const u8 gMonFrontPic_Pikachu[]; +extern const u8 gMonPalette_Pikachu[]; +extern const u8 gMonBackPic_Pikachu[]; +extern const u8 gMonShinyPalette_Pikachu[]; +extern const u8 gMonIcon_Pikachu[]; +extern const u8 gMonFootprint_Pikachu[]; +extern const u8 gMonFrontPic_Raichu[]; +extern const u8 gMonPalette_Raichu[]; +extern const u8 gMonBackPic_Raichu[]; +extern const u8 gMonShinyPalette_Raichu[]; +extern const u8 gMonIcon_Raichu[]; +extern const u8 gMonFootprint_Raichu[]; +extern const u8 gMonFrontPic_Sandshrew[]; +extern const u8 gMonPalette_Sandshrew[]; +extern const u8 gMonBackPic_Sandshrew[]; +extern const u8 gMonShinyPalette_Sandshrew[]; +extern const u8 gMonIcon_Sandshrew[]; +extern const u8 gMonFootprint_Sandshrew[]; +extern const u8 gMonFrontPic_Sandslash[]; +extern const u8 gMonPalette_Sandslash[]; +extern const u8 gMonBackPic_Sandslash[]; +extern const u8 gMonShinyPalette_Sandslash[]; +extern const u8 gMonIcon_Sandslash[]; +extern const u8 gMonFootprint_Sandslash[]; +extern const u8 gMonFrontPic_NidoranF[]; +extern const u8 gMonPalette_NidoranF[]; +extern const u8 gMonBackPic_NidoranF[]; +extern const u8 gMonShinyPalette_NidoranF[]; +extern const u8 gMonIcon_NidoranF[]; +extern const u8 gMonFootprint_NidoranF[]; +extern const u8 gMonFrontPic_Nidorina[]; +extern const u8 gMonPalette_Nidorina[]; +extern const u8 gMonBackPic_Nidorina[]; +extern const u8 gMonShinyPalette_Nidorina[]; +extern const u8 gMonIcon_Nidorina[]; +extern const u8 gMonFootprint_Nidorina[]; +extern const u8 gMonFrontPic_Nidoqueen[]; +extern const u8 gMonPalette_Nidoqueen[]; +extern const u8 gMonBackPic_Nidoqueen[]; +extern const u8 gMonShinyPalette_Nidoqueen[]; +extern const u8 gMonIcon_Nidoqueen[]; +extern const u8 gMonFootprint_Nidoqueen[]; +extern const u8 gMonFrontPic_NidoranM[]; +extern const u8 gMonPalette_NidoranM[]; +extern const u8 gMonBackPic_NidoranM[]; +extern const u8 gMonShinyPalette_NidoranM[]; +extern const u8 gMonIcon_NidoranM[]; +extern const u8 gMonFootprint_NidoranM[]; +extern const u8 gMonFrontPic_Nidorino[]; +extern const u8 gMonPalette_Nidorino[]; +extern const u8 gMonBackPic_Nidorino[]; +extern const u8 gMonShinyPalette_Nidorino[]; +extern const u8 gMonIcon_Nidorino[]; +extern const u8 gMonFootprint_Nidorino[]; +extern const u8 gMonFrontPic_Nidoking[]; +extern const u8 gMonPalette_Nidoking[]; +extern const u8 gMonBackPic_Nidoking[]; +extern const u8 gMonShinyPalette_Nidoking[]; +extern const u8 gMonIcon_Nidoking[]; +extern const u8 gMonFootprint_Nidoking[]; +extern const u8 gMonFrontPic_Clefairy[]; +extern const u8 gMonPalette_Clefairy[]; +extern const u8 gMonBackPic_Clefairy[]; +extern const u8 gMonShinyPalette_Clefairy[]; +extern const u8 gMonIcon_Clefairy[]; +extern const u8 gMonFootprint_Clefairy[]; +extern const u8 gMonFrontPic_Clefable[]; +extern const u8 gMonPalette_Clefable[]; +extern const u8 gMonBackPic_Clefable[]; +extern const u8 gMonShinyPalette_Clefable[]; +extern const u8 gMonIcon_Clefable[]; +extern const u8 gMonFootprint_Clefable[]; +extern const u8 gMonFrontPic_Vulpix[]; +extern const u8 gMonPalette_Vulpix[]; +extern const u8 gMonBackPic_Vulpix[]; +extern const u8 gMonShinyPalette_Vulpix[]; +extern const u8 gMonIcon_Vulpix[]; +extern const u8 gMonFootprint_Vulpix[]; +extern const u8 gMonFrontPic_Ninetales[]; +extern const u8 gMonPalette_Ninetales[]; +extern const u8 gMonBackPic_Ninetales[]; +extern const u8 gMonShinyPalette_Ninetales[]; +extern const u8 gMonIcon_Ninetales[]; +extern const u8 gMonFootprint_Ninetales[]; +extern const u8 gMonFrontPic_Jigglypuff[]; +extern const u8 gMonPalette_Jigglypuff[]; +extern const u8 gMonBackPic_Jigglypuff[]; +extern const u8 gMonShinyPalette_Jigglypuff[]; +extern const u8 gMonIcon_Jigglypuff[]; +extern const u8 gMonFootprint_Jigglypuff[]; +extern const u8 gMonFrontPic_Wigglytuff[]; +extern const u8 gMonPalette_Wigglytuff[]; +extern const u8 gMonBackPic_Wigglytuff[]; +extern const u8 gMonShinyPalette_Wigglytuff[]; +extern const u8 gMonIcon_Wigglytuff[]; +extern const u8 gMonFootprint_Wigglytuff[]; +extern const u8 gMonFrontPic_Zubat[]; +extern const u8 gMonPalette_Zubat[]; +extern const u8 gMonBackPic_Zubat[]; +extern const u8 gMonShinyPalette_Zubat[]; +extern const u8 gMonIcon_Zubat[]; +extern const u8 gMonFootprint_Zubat[]; +extern const u8 gMonFrontPic_Golbat[]; +extern const u8 gMonPalette_Golbat[]; +extern const u8 gMonBackPic_Golbat[]; +extern const u8 gMonShinyPalette_Golbat[]; +extern const u8 gMonIcon_Golbat[]; +extern const u8 gMonFootprint_Golbat[]; +extern const u8 gMonFrontPic_Oddish[]; +extern const u8 gMonPalette_Oddish[]; +extern const u8 gMonBackPic_Oddish[]; +extern const u8 gMonShinyPalette_Oddish[]; +extern const u8 gMonIcon_Oddish[]; +extern const u8 gMonFootprint_Oddish[]; +extern const u8 gMonFrontPic_Gloom[]; +extern const u8 gMonPalette_Gloom[]; +extern const u8 gMonBackPic_Gloom[]; +extern const u8 gMonShinyPalette_Gloom[]; +extern const u8 gMonIcon_Gloom[]; +extern const u8 gMonFootprint_Gloom[]; +extern const u8 gMonFrontPic_Vileplume[]; +extern const u8 gMonPalette_Vileplume[]; +extern const u8 gMonBackPic_Vileplume[]; +extern const u8 gMonShinyPalette_Vileplume[]; +extern const u8 gMonIcon_Vileplume[]; +extern const u8 gMonFootprint_Vileplume[]; +extern const u8 gMonFrontPic_Paras[]; +extern const u8 gMonPalette_Paras[]; +extern const u8 gMonBackPic_Paras[]; +extern const u8 gMonShinyPalette_Paras[]; +extern const u8 gMonIcon_Paras[]; +extern const u8 gMonFootprint_Paras[]; +extern const u8 gMonFrontPic_Parasect[]; +extern const u8 gMonPalette_Parasect[]; +extern const u8 gMonBackPic_Parasect[]; +extern const u8 gMonShinyPalette_Parasect[]; +extern const u8 gMonIcon_Parasect[]; +extern const u8 gMonFootprint_Parasect[]; +extern const u8 gMonFrontPic_Venonat[]; +extern const u8 gMonPalette_Venonat[]; +extern const u8 gMonBackPic_Venonat[]; +extern const u8 gMonShinyPalette_Venonat[]; +extern const u8 gMonIcon_Venonat[]; +extern const u8 gMonFootprint_Venonat[]; +extern const u8 gMonFrontPic_Venomoth[]; +extern const u8 gMonPalette_Venomoth[]; +extern const u8 gMonBackPic_Venomoth[]; +extern const u8 gMonShinyPalette_Venomoth[]; +extern const u8 gMonIcon_Venomoth[]; +extern const u8 gMonFootprint_Venomoth[]; +extern const u8 gMonFrontPic_Diglett[]; +extern const u8 gMonPalette_Diglett[]; +extern const u8 gMonBackPic_Diglett[]; +extern const u8 gMonShinyPalette_Diglett[]; +extern const u8 gMonIcon_Diglett[]; +extern const u8 gMonFootprint_Diglett[]; +extern const u8 gMonFrontPic_Dugtrio[]; +extern const u8 gMonPalette_Dugtrio[]; +extern const u8 gMonBackPic_Dugtrio[]; +extern const u8 gMonShinyPalette_Dugtrio[]; +extern const u8 gMonIcon_Dugtrio[]; +extern const u8 gMonFootprint_Dugtrio[]; +extern const u8 gMonFrontPic_Meowth[]; +extern const u8 gMonPalette_Meowth[]; +extern const u8 gMonBackPic_Meowth[]; +extern const u8 gMonShinyPalette_Meowth[]; +extern const u8 gMonIcon_Meowth[]; +extern const u8 gMonFootprint_Meowth[]; +extern const u8 gMonFrontPic_Persian[]; +extern const u8 gMonPalette_Persian[]; +extern const u8 gMonBackPic_Persian[]; +extern const u8 gMonShinyPalette_Persian[]; +extern const u8 gMonIcon_Persian[]; +extern const u8 gMonFootprint_Persian[]; +extern const u8 gMonFrontPic_Psyduck[]; +extern const u8 gMonPalette_Psyduck[]; +extern const u8 gMonBackPic_Psyduck[]; +extern const u8 gMonShinyPalette_Psyduck[]; +extern const u8 gMonIcon_Psyduck[]; +extern const u8 gMonFootprint_Psyduck[]; +extern const u8 gMonFrontPic_Golduck[]; +extern const u8 gMonPalette_Golduck[]; +extern const u8 gMonBackPic_Golduck[]; +extern const u8 gMonShinyPalette_Golduck[]; +extern const u8 gMonIcon_Golduck[]; +extern const u8 gMonFootprint_Golduck[]; +extern const u8 gMonFrontPic_Mankey[]; +extern const u8 gMonPalette_Mankey[]; +extern const u8 gMonBackPic_Mankey[]; +extern const u8 gMonShinyPalette_Mankey[]; +extern const u8 gMonIcon_Mankey[]; +extern const u8 gMonFootprint_Mankey[]; +extern const u8 gMonFrontPic_Primeape[]; +extern const u8 gMonPalette_Primeape[]; +extern const u8 gMonBackPic_Primeape[]; +extern const u8 gMonShinyPalette_Primeape[]; +extern const u8 gMonIcon_Primeape[]; +extern const u8 gMonFootprint_Primeape[]; +extern const u8 gMonFrontPic_Growlithe[]; +extern const u8 gMonPalette_Growlithe[]; +extern const u8 gMonBackPic_Growlithe[]; +extern const u8 gMonShinyPalette_Growlithe[]; +extern const u8 gMonIcon_Growlithe[]; +extern const u8 gMonFootprint_Growlithe[]; +extern const u8 gMonFrontPic_Arcanine[]; +extern const u8 gMonPalette_Arcanine[]; +extern const u8 gMonBackPic_Arcanine[]; +extern const u8 gMonShinyPalette_Arcanine[]; +extern const u8 gMonIcon_Arcanine[]; +extern const u8 gMonFootprint_Arcanine[]; +extern const u8 gMonFrontPic_Poliwag[]; +extern const u8 gMonPalette_Poliwag[]; +extern const u8 gMonBackPic_Poliwag[]; +extern const u8 gMonShinyPalette_Poliwag[]; +extern const u8 gMonIcon_Poliwag[]; +extern const u8 gMonFootprint_Poliwag[]; +extern const u8 gMonFrontPic_Poliwhirl[]; +extern const u8 gMonPalette_Poliwhirl[]; +extern const u8 gMonBackPic_Poliwhirl[]; +extern const u8 gMonShinyPalette_Poliwhirl[]; +extern const u8 gMonIcon_Poliwhirl[]; +extern const u8 gMonFootprint_Poliwhirl[]; +extern const u8 gMonFrontPic_Poliwrath[]; +extern const u8 gMonPalette_Poliwrath[]; +extern const u8 gMonBackPic_Poliwrath[]; +extern const u8 gMonShinyPalette_Poliwrath[]; +extern const u8 gMonIcon_Poliwrath[]; +extern const u8 gMonFootprint_Poliwrath[]; +extern const u8 gMonFrontPic_Abra[]; +extern const u8 gMonPalette_Abra[]; +extern const u8 gMonBackPic_Abra[]; +extern const u8 gMonShinyPalette_Abra[]; +extern const u8 gMonIcon_Abra[]; +extern const u8 gMonFootprint_Abra[]; +extern const u8 gMonFrontPic_Kadabra[]; +extern const u8 gMonPalette_Kadabra[]; +extern const u8 gMonBackPic_Kadabra[]; +extern const u8 gMonShinyPalette_Kadabra[]; +extern const u8 gMonIcon_Kadabra[]; +extern const u8 gMonFootprint_Kadabra[]; +extern const u8 gMonFrontPic_Alakazam[]; +extern const u8 gMonPalette_Alakazam[]; +extern const u8 gMonBackPic_Alakazam[]; +extern const u8 gMonShinyPalette_Alakazam[]; +extern const u8 gMonIcon_Alakazam[]; +extern const u8 gMonFootprint_Alakazam[]; +extern const u8 gMonFrontPic_Machop[]; +extern const u8 gMonPalette_Machop[]; +extern const u8 gMonBackPic_Machop[]; +extern const u8 gMonShinyPalette_Machop[]; +extern const u8 gMonIcon_Machop[]; +extern const u8 gMonFootprint_Machop[]; +extern const u8 gMonFrontPic_Machoke[]; +extern const u8 gMonPalette_Machoke[]; +extern const u8 gMonBackPic_Machoke[]; +extern const u8 gMonShinyPalette_Machoke[]; +extern const u8 gMonIcon_Machoke[]; +extern const u8 gMonFootprint_Machoke[]; +extern const u8 gMonFrontPic_Machamp[]; +extern const u8 gMonPalette_Machamp[]; +extern const u8 gMonBackPic_Machamp[]; +extern const u8 gMonShinyPalette_Machamp[]; +extern const u8 gMonIcon_Machamp[]; +extern const u8 gMonFootprint_Machamp[]; +extern const u8 gMonFrontPic_Bellsprout[]; +extern const u8 gMonPalette_Bellsprout[]; +extern const u8 gMonBackPic_Bellsprout[]; +extern const u8 gMonShinyPalette_Bellsprout[]; +extern const u8 gMonIcon_Bellsprout[]; +extern const u8 gMonFootprint_Bellsprout[]; +extern const u8 gMonFrontPic_Weepinbell[]; +extern const u8 gMonPalette_Weepinbell[]; +extern const u8 gMonBackPic_Weepinbell[]; +extern const u8 gMonShinyPalette_Weepinbell[]; +extern const u8 gMonIcon_Weepinbell[]; +extern const u8 gMonFootprint_Weepinbell[]; +extern const u8 gMonFrontPic_Victreebel[]; +extern const u8 gMonPalette_Victreebel[]; +extern const u8 gMonBackPic_Victreebel[]; +extern const u8 gMonShinyPalette_Victreebel[]; +extern const u8 gMonIcon_Victreebel[]; +extern const u8 gMonFootprint_Victreebel[]; +extern const u8 gMonFrontPic_Tentacool[]; +extern const u8 gMonPalette_Tentacool[]; +extern const u8 gMonBackPic_Tentacool[]; +extern const u8 gMonShinyPalette_Tentacool[]; +extern const u8 gMonIcon_Tentacool[]; +extern const u8 gMonFootprint_Tentacool[]; +extern const u8 gMonFrontPic_Tentacruel[]; +extern const u8 gMonPalette_Tentacruel[]; +extern const u8 gMonBackPic_Tentacruel[]; +extern const u8 gMonShinyPalette_Tentacruel[]; +extern const u8 gMonIcon_Tentacruel[]; +extern const u8 gMonFootprint_Tentacruel[]; +extern const u8 gMonFrontPic_Geodude[]; +extern const u8 gMonPalette_Geodude[]; +extern const u8 gMonBackPic_Geodude[]; +extern const u8 gMonShinyPalette_Geodude[]; +extern const u8 gMonIcon_Geodude[]; +extern const u8 gMonFootprint_Geodude[]; +extern const u8 gMonFrontPic_Graveler[]; +extern const u8 gMonPalette_Graveler[]; +extern const u8 gMonBackPic_Graveler[]; +extern const u8 gMonShinyPalette_Graveler[]; +extern const u8 gMonIcon_Graveler[]; +extern const u8 gMonFootprint_Graveler[]; +extern const u8 gMonFrontPic_Golem[]; +extern const u8 gMonPalette_Golem[]; +extern const u8 gMonBackPic_Golem[]; +extern const u8 gMonShinyPalette_Golem[]; +extern const u8 gMonIcon_Golem[]; +extern const u8 gMonFootprint_Golem[]; +extern const u8 gMonFrontPic_Ponyta[]; +extern const u8 gMonPalette_Ponyta[]; +extern const u8 gMonBackPic_Ponyta[]; +extern const u8 gMonShinyPalette_Ponyta[]; +extern const u8 gMonIcon_Ponyta[]; +extern const u8 gMonFootprint_Ponyta[]; +extern const u8 gMonFrontPic_Rapidash[]; +extern const u8 gMonPalette_Rapidash[]; +extern const u8 gMonBackPic_Rapidash[]; +extern const u8 gMonShinyPalette_Rapidash[]; +extern const u8 gMonIcon_Rapidash[]; +extern const u8 gMonFootprint_Rapidash[]; +extern const u8 gMonFrontPic_Slowpoke[]; +extern const u8 gMonPalette_Slowpoke[]; +extern const u8 gMonBackPic_Slowpoke[]; +extern const u8 gMonShinyPalette_Slowpoke[]; +extern const u8 gMonIcon_Slowpoke[]; +extern const u8 gMonFootprint_Slowpoke[]; +extern const u8 gMonFrontPic_Slowbro[]; +extern const u8 gMonPalette_Slowbro[]; +extern const u8 gMonBackPic_Slowbro[]; +extern const u8 gMonShinyPalette_Slowbro[]; +extern const u8 gMonIcon_Slowbro[]; +extern const u8 gMonFootprint_Slowbro[]; +extern const u8 gMonFrontPic_Magnemite[]; +extern const u8 gMonPalette_Magnemite[]; +extern const u8 gMonBackPic_Magnemite[]; +extern const u8 gMonShinyPalette_Magnemite[]; +extern const u8 gMonIcon_Magnemite[]; +extern const u8 gMonFootprint_Magnemite[]; +extern const u8 gMonFrontPic_Magneton[]; +extern const u8 gMonPalette_Magneton[]; +extern const u8 gMonBackPic_Magneton[]; +extern const u8 gMonShinyPalette_Magneton[]; +extern const u8 gMonIcon_Magneton[]; +extern const u8 gMonFootprint_Magneton[]; +extern const u8 gMonFrontPic_Farfetchd[]; +extern const u8 gMonPalette_Farfetchd[]; +extern const u8 gMonBackPic_Farfetchd[]; +extern const u8 gMonShinyPalette_Farfetchd[]; +extern const u8 gMonIcon_Farfetchd[]; +extern const u8 gMonFootprint_Farfetchd[]; +extern const u8 gMonFrontPic_Doduo[]; +extern const u8 gMonPalette_Doduo[]; +extern const u8 gMonBackPic_Doduo[]; +extern const u8 gMonShinyPalette_Doduo[]; +extern const u8 gMonIcon_Doduo[]; +extern const u8 gMonFootprint_Doduo[]; +extern const u8 gMonFrontPic_Dodrio[]; +extern const u8 gMonPalette_Dodrio[]; +extern const u8 gMonBackPic_Dodrio[]; +extern const u8 gMonShinyPalette_Dodrio[]; +extern const u8 gMonIcon_Dodrio[]; +extern const u8 gMonFootprint_Dodrio[]; +extern const u8 gMonFrontPic_Seel[]; +extern const u8 gMonPalette_Seel[]; +extern const u8 gMonBackPic_Seel[]; +extern const u8 gMonShinyPalette_Seel[]; +extern const u8 gMonIcon_Seel[]; +extern const u8 gMonFootprint_Seel[]; +extern const u8 gMonFrontPic_Dewgong[]; +extern const u8 gMonPalette_Dewgong[]; +extern const u8 gMonBackPic_Dewgong[]; +extern const u8 gMonShinyPalette_Dewgong[]; +extern const u8 gMonIcon_Dewgong[]; +extern const u8 gMonFootprint_Dewgong[]; +extern const u8 gMonFrontPic_Grimer[]; +extern const u8 gMonPalette_Grimer[]; +extern const u8 gMonBackPic_Grimer[]; +extern const u8 gMonShinyPalette_Grimer[]; +extern const u8 gMonIcon_Grimer[]; +extern const u8 gMonFootprint_Grimer[]; +extern const u8 gMonFrontPic_Muk[]; +extern const u8 gMonPalette_Muk[]; +extern const u8 gMonBackPic_Muk[]; +extern const u8 gMonShinyPalette_Muk[]; +extern const u8 gMonIcon_Muk[]; +extern const u8 gMonFootprint_Muk[]; +extern const u8 gMonFrontPic_Shellder[]; +extern const u8 gMonPalette_Shellder[]; +extern const u8 gMonBackPic_Shellder[]; +extern const u8 gMonShinyPalette_Shellder[]; +extern const u8 gMonIcon_Shellder[]; +extern const u8 gMonFootprint_Shellder[]; +extern const u8 gMonFrontPic_Cloyster[]; +extern const u8 gMonPalette_Cloyster[]; +extern const u8 gMonBackPic_Cloyster[]; +extern const u8 gMonShinyPalette_Cloyster[]; +extern const u8 gMonIcon_Cloyster[]; +extern const u8 gMonFootprint_Cloyster[]; +extern const u8 gMonFrontPic_Gastly[]; +extern const u8 gMonPalette_Gastly[]; +extern const u8 gMonBackPic_Gastly[]; +extern const u8 gMonShinyPalette_Gastly[]; +extern const u8 gMonIcon_Gastly[]; +extern const u8 gMonFootprint_Gastly[]; +extern const u8 gMonFrontPic_Haunter[]; +extern const u8 gMonPalette_Haunter[]; +extern const u8 gMonBackPic_Haunter[]; +extern const u8 gMonShinyPalette_Haunter[]; +extern const u8 gMonIcon_Haunter[]; +extern const u8 gMonFootprint_Haunter[]; +extern const u8 gMonFrontPic_Gengar[]; +extern const u8 gMonPalette_Gengar[]; +extern const u8 gMonBackPic_Gengar[]; +extern const u8 gMonShinyPalette_Gengar[]; +extern const u8 gMonIcon_Gengar[]; +extern const u8 gMonFootprint_Gengar[]; +extern const u8 gMonFrontPic_Onix[]; +extern const u8 gMonPalette_Onix[]; +extern const u8 gMonBackPic_Onix[]; +extern const u8 gMonShinyPalette_Onix[]; +extern const u8 gMonIcon_Onix[]; +extern const u8 gMonFootprint_Onix[]; +extern const u8 gMonFrontPic_Drowzee[]; +extern const u8 gMonPalette_Drowzee[]; +extern const u8 gMonBackPic_Drowzee[]; +extern const u8 gMonShinyPalette_Drowzee[]; +extern const u8 gMonIcon_Drowzee[]; +extern const u8 gMonFootprint_Drowzee[]; +extern const u8 gMonFrontPic_Hypno[]; +extern const u8 gMonPalette_Hypno[]; +extern const u8 gMonBackPic_Hypno[]; +extern const u8 gMonShinyPalette_Hypno[]; +extern const u8 gMonIcon_Hypno[]; +extern const u8 gMonFootprint_Hypno[]; +extern const u8 gMonFrontPic_Krabby[]; +extern const u8 gMonPalette_Krabby[]; +extern const u8 gMonBackPic_Krabby[]; +extern const u8 gMonShinyPalette_Krabby[]; +extern const u8 gMonIcon_Krabby[]; +extern const u8 gMonFootprint_Krabby[]; +extern const u8 gMonFrontPic_Kingler[]; +extern const u8 gMonPalette_Kingler[]; +extern const u8 gMonBackPic_Kingler[]; +extern const u8 gMonShinyPalette_Kingler[]; +extern const u8 gMonIcon_Kingler[]; +extern const u8 gMonFootprint_Kingler[]; +extern const u8 gMonFrontPic_Voltorb[]; +extern const u8 gMonPalette_Voltorb[]; +extern const u8 gMonBackPic_Voltorb[]; +extern const u8 gMonShinyPalette_Voltorb[]; +extern const u8 gMonIcon_Voltorb[]; +extern const u8 gMonFootprint_Voltorb[]; +extern const u8 gMonFrontPic_Electrode[]; +extern const u8 gMonPalette_Electrode[]; +extern const u8 gMonBackPic_Electrode[]; +extern const u8 gMonShinyPalette_Electrode[]; +extern const u8 gMonIcon_Electrode[]; +extern const u8 gMonFootprint_Electrode[]; +extern const u8 gMonFrontPic_Exeggcute[]; +extern const u8 gMonPalette_Exeggcute[]; +extern const u8 gMonBackPic_Exeggcute[]; +extern const u8 gMonShinyPalette_Exeggcute[]; +extern const u8 gMonIcon_Exeggcute[]; +extern const u8 gMonFootprint_Exeggcute[]; +extern const u8 gMonFrontPic_Exeggutor[]; +extern const u8 gMonPalette_Exeggutor[]; +extern const u8 gMonBackPic_Exeggutor[]; +extern const u8 gMonShinyPalette_Exeggutor[]; +extern const u8 gMonIcon_Exeggutor[]; +extern const u8 gMonFootprint_Exeggutor[]; +extern const u8 gMonFrontPic_Cubone[]; +extern const u8 gMonPalette_Cubone[]; +extern const u8 gMonBackPic_Cubone[]; +extern const u8 gMonShinyPalette_Cubone[]; +extern const u8 gMonIcon_Cubone[]; +extern const u8 gMonFootprint_Cubone[]; +extern const u8 gMonFrontPic_Marowak[]; +extern const u8 gMonPalette_Marowak[]; +extern const u8 gMonBackPic_Marowak[]; +extern const u8 gMonShinyPalette_Marowak[]; +extern const u8 gMonIcon_Marowak[]; +extern const u8 gMonFootprint_Marowak[]; +extern const u8 gMonFrontPic_Hitmonlee[]; +extern const u8 gMonPalette_Hitmonlee[]; +extern const u8 gMonBackPic_Hitmonlee[]; +extern const u8 gMonShinyPalette_Hitmonlee[]; +extern const u8 gMonIcon_Hitmonlee[]; +extern const u8 gMonFootprint_Hitmonlee[]; +extern const u8 gMonFrontPic_Hitmonchan[]; +extern const u8 gMonPalette_Hitmonchan[]; +extern const u8 gMonBackPic_Hitmonchan[]; +extern const u8 gMonShinyPalette_Hitmonchan[]; +extern const u8 gMonIcon_Hitmonchan[]; +extern const u8 gMonFootprint_Hitmonchan[]; +extern const u8 gMonFrontPic_Lickitung[]; +extern const u8 gMonPalette_Lickitung[]; +extern const u8 gMonBackPic_Lickitung[]; +extern const u8 gMonShinyPalette_Lickitung[]; +extern const u8 gMonIcon_Lickitung[]; +extern const u8 gMonFootprint_Lickitung[]; +extern const u8 gMonFrontPic_Koffing[]; +extern const u8 gMonPalette_Koffing[]; +extern const u8 gMonBackPic_Koffing[]; +extern const u8 gMonShinyPalette_Koffing[]; +extern const u8 gMonIcon_Koffing[]; +extern const u8 gMonFootprint_Koffing[]; +extern const u8 gMonFrontPic_Weezing[]; +extern const u8 gMonPalette_Weezing[]; +extern const u8 gMonBackPic_Weezing[]; +extern const u8 gMonShinyPalette_Weezing[]; +extern const u8 gMonIcon_Weezing[]; +extern const u8 gMonFootprint_Weezing[]; +extern const u8 gMonFrontPic_Rhyhorn[]; +extern const u8 gMonPalette_Rhyhorn[]; +extern const u8 gMonBackPic_Rhyhorn[]; +extern const u8 gMonShinyPalette_Rhyhorn[]; +extern const u8 gMonIcon_Rhyhorn[]; +extern const u8 gMonFootprint_Rhyhorn[]; +extern const u8 gMonFrontPic_Rhydon[]; +extern const u8 gMonPalette_Rhydon[]; +extern const u8 gMonBackPic_Rhydon[]; +extern const u8 gMonShinyPalette_Rhydon[]; +extern const u8 gMonIcon_Rhydon[]; +extern const u8 gMonFootprint_Rhydon[]; +extern const u8 gMonFrontPic_Chansey[]; +extern const u8 gMonPalette_Chansey[]; +extern const u8 gMonBackPic_Chansey[]; +extern const u8 gMonShinyPalette_Chansey[]; +extern const u8 gMonIcon_Chansey[]; +extern const u8 gMonFootprint_Chansey[]; +extern const u8 gMonFrontPic_Tangela[]; +extern const u8 gMonPalette_Tangela[]; +extern const u8 gMonBackPic_Tangela[]; +extern const u8 gMonShinyPalette_Tangela[]; +extern const u8 gMonIcon_Tangela[]; +extern const u8 gMonFootprint_Tangela[]; +extern const u8 gMonFrontPic_Kangaskhan[]; +extern const u8 gMonPalette_Kangaskhan[]; +extern const u8 gMonBackPic_Kangaskhan[]; +extern const u8 gMonShinyPalette_Kangaskhan[]; +extern const u8 gMonIcon_Kangaskhan[]; +extern const u8 gMonFootprint_Kangaskhan[]; +extern const u8 gMonFrontPic_Horsea[]; +extern const u8 gMonPalette_Horsea[]; +extern const u8 gMonBackPic_Horsea[]; +extern const u8 gMonShinyPalette_Horsea[]; +extern const u8 gMonIcon_Horsea[]; +extern const u8 gMonFootprint_Horsea[]; +extern const u8 gMonFrontPic_Seadra[]; +extern const u8 gMonPalette_Seadra[]; +extern const u8 gMonBackPic_Seadra[]; +extern const u8 gMonShinyPalette_Seadra[]; +extern const u8 gMonIcon_Seadra[]; +extern const u8 gMonFootprint_Seadra[]; +extern const u8 gMonFrontPic_Goldeen[]; +extern const u8 gMonPalette_Goldeen[]; +extern const u8 gMonBackPic_Goldeen[]; +extern const u8 gMonShinyPalette_Goldeen[]; +extern const u8 gMonIcon_Goldeen[]; +extern const u8 gMonFootprint_Goldeen[]; +extern const u8 gMonFrontPic_Seaking[]; +extern const u8 gMonPalette_Seaking[]; +extern const u8 gMonBackPic_Seaking[]; +extern const u8 gMonShinyPalette_Seaking[]; +extern const u8 gMonIcon_Seaking[]; +extern const u8 gMonFootprint_Seaking[]; +extern const u8 gMonFrontPic_Staryu[]; +extern const u8 gMonPalette_Staryu[]; +extern const u8 gMonBackPic_Staryu[]; +extern const u8 gMonShinyPalette_Staryu[]; +extern const u8 gMonIcon_Staryu[]; +extern const u8 gMonFootprint_Staryu[]; +extern const u8 gMonFrontPic_Starmie[]; +extern const u8 gMonPalette_Starmie[]; +extern const u8 gMonBackPic_Starmie[]; +extern const u8 gMonShinyPalette_Starmie[]; +extern const u8 gMonIcon_Starmie[]; +extern const u8 gMonFootprint_Starmie[]; +extern const u8 gMonFrontPic_Mrmime[]; +extern const u8 gMonPalette_Mrmime[]; +extern const u8 gMonBackPic_Mrmime[]; +extern const u8 gMonShinyPalette_Mrmime[]; +extern const u8 gMonIcon_Mrmime[]; +extern const u8 gMonFootprint_Mrmime[]; +extern const u8 gMonFrontPic_Scyther[]; +extern const u8 gMonPalette_Scyther[]; +extern const u8 gMonBackPic_Scyther[]; +extern const u8 gMonShinyPalette_Scyther[]; +extern const u8 gMonIcon_Scyther[]; +extern const u8 gMonFootprint_Scyther[]; +extern const u8 gMonFrontPic_Jynx[]; +extern const u8 gMonPalette_Jynx[]; +extern const u8 gMonBackPic_Jynx[]; +extern const u8 gMonShinyPalette_Jynx[]; +extern const u8 gMonIcon_Jynx[]; +extern const u8 gMonFootprint_Jynx[]; +extern const u8 gMonFrontPic_Electabuzz[]; +extern const u8 gMonPalette_Electabuzz[]; +extern const u8 gMonBackPic_Electabuzz[]; +extern const u8 gMonShinyPalette_Electabuzz[]; +extern const u8 gMonIcon_Electabuzz[]; +extern const u8 gMonFootprint_Electabuzz[]; +extern const u8 gMonFrontPic_Magmar[]; +extern const u8 gMonPalette_Magmar[]; +extern const u8 gMonBackPic_Magmar[]; +extern const u8 gMonShinyPalette_Magmar[]; +extern const u8 gMonIcon_Magmar[]; +extern const u8 gMonFootprint_Magmar[]; +extern const u8 gMonFrontPic_Pinsir[]; +extern const u8 gMonPalette_Pinsir[]; +extern const u8 gMonBackPic_Pinsir[]; +extern const u8 gMonShinyPalette_Pinsir[]; +extern const u8 gMonIcon_Pinsir[]; +extern const u8 gMonFootprint_Pinsir[]; +extern const u8 gMonFrontPic_Tauros[]; +extern const u8 gMonPalette_Tauros[]; +extern const u8 gMonBackPic_Tauros[]; +extern const u8 gMonShinyPalette_Tauros[]; +extern const u8 gMonIcon_Tauros[]; +extern const u8 gMonFootprint_Tauros[]; +extern const u8 gMonFrontPic_Magikarp[]; +extern const u8 gMonPalette_Magikarp[]; +extern const u8 gMonBackPic_Magikarp[]; +extern const u8 gMonShinyPalette_Magikarp[]; +extern const u8 gMonIcon_Magikarp[]; +extern const u8 gMonFootprint_Magikarp[]; +extern const u8 gMonFrontPic_Gyarados[]; +extern const u8 gMonPalette_Gyarados[]; +extern const u8 gMonBackPic_Gyarados[]; +extern const u8 gMonShinyPalette_Gyarados[]; +extern const u8 gMonIcon_Gyarados[]; +extern const u8 gMonFootprint_Gyarados[]; +extern const u8 gMonFrontPic_Lapras[]; +extern const u8 gMonPalette_Lapras[]; +extern const u8 gMonBackPic_Lapras[]; +extern const u8 gMonShinyPalette_Lapras[]; +extern const u8 gMonIcon_Lapras[]; +extern const u8 gMonFootprint_Lapras[]; +extern const u8 gMonFrontPic_Ditto[]; +extern const u8 gMonPalette_Ditto[]; +extern const u8 gMonBackPic_Ditto[]; +extern const u8 gMonShinyPalette_Ditto[]; +extern const u8 gMonIcon_Ditto[]; +extern const u8 gMonFootprint_Ditto[]; +extern const u8 gMonFrontPic_Eevee[]; +extern const u8 gMonPalette_Eevee[]; +extern const u8 gMonBackPic_Eevee[]; +extern const u8 gMonShinyPalette_Eevee[]; +extern const u8 gMonIcon_Eevee[]; +extern const u8 gMonFootprint_Eevee[]; +extern const u8 gMonFrontPic_Vaporeon[]; +extern const u8 gMonPalette_Vaporeon[]; +extern const u8 gMonBackPic_Vaporeon[]; +extern const u8 gMonShinyPalette_Vaporeon[]; +extern const u8 gMonIcon_Vaporeon[]; +extern const u8 gMonFootprint_Vaporeon[]; +extern const u8 gMonFrontPic_Jolteon[]; +extern const u8 gMonPalette_Jolteon[]; +extern const u8 gMonBackPic_Jolteon[]; +extern const u8 gMonShinyPalette_Jolteon[]; +extern const u8 gMonIcon_Jolteon[]; +extern const u8 gMonFootprint_Jolteon[]; +extern const u8 gMonFrontPic_Flareon[]; +extern const u8 gMonPalette_Flareon[]; +extern const u8 gMonBackPic_Flareon[]; +extern const u8 gMonShinyPalette_Flareon[]; +extern const u8 gMonIcon_Flareon[]; +extern const u8 gMonFootprint_Flareon[]; +extern const u8 gMonFrontPic_Porygon[]; +extern const u8 gMonPalette_Porygon[]; +extern const u8 gMonBackPic_Porygon[]; +extern const u8 gMonShinyPalette_Porygon[]; +extern const u8 gMonIcon_Porygon[]; +extern const u8 gMonFootprint_Porygon[]; +extern const u8 gMonFrontPic_Omanyte[]; +extern const u8 gMonPalette_Omanyte[]; +extern const u8 gMonBackPic_Omanyte[]; +extern const u8 gMonShinyPalette_Omanyte[]; +extern const u8 gMonIcon_Omanyte[]; +extern const u8 gMonFootprint_Omanyte[]; +extern const u8 gMonFrontPic_Omastar[]; +extern const u8 gMonPalette_Omastar[]; +extern const u8 gMonBackPic_Omastar[]; +extern const u8 gMonShinyPalette_Omastar[]; +extern const u8 gMonIcon_Omastar[]; +extern const u8 gMonFootprint_Omastar[]; +extern const u8 gMonFrontPic_Kabuto[]; +extern const u8 gMonPalette_Kabuto[]; +extern const u8 gMonBackPic_Kabuto[]; +extern const u8 gMonShinyPalette_Kabuto[]; +extern const u8 gMonIcon_Kabuto[]; +extern const u8 gMonFootprint_Kabuto[]; +extern const u8 gMonFrontPic_Kabutops[]; +extern const u8 gMonPalette_Kabutops[]; +extern const u8 gMonBackPic_Kabutops[]; +extern const u8 gMonShinyPalette_Kabutops[]; +extern const u8 gMonIcon_Kabutops[]; +extern const u8 gMonFootprint_Kabutops[]; +extern const u8 gMonFrontPic_Aerodactyl[]; +extern const u8 gMonPalette_Aerodactyl[]; +extern const u8 gMonBackPic_Aerodactyl[]; +extern const u8 gMonShinyPalette_Aerodactyl[]; +extern const u8 gMonIcon_Aerodactyl[]; +extern const u8 gMonFootprint_Aerodactyl[]; +extern const u8 gMonFrontPic_Snorlax[]; +extern const u8 gMonPalette_Snorlax[]; +extern const u8 gMonBackPic_Snorlax[]; +extern const u8 gMonShinyPalette_Snorlax[]; +extern const u8 gMonIcon_Snorlax[]; +extern const u8 gMonFootprint_Snorlax[]; +extern const u8 gMonFrontPic_Articuno[]; +extern const u8 gMonPalette_Articuno[]; +extern const u8 gMonBackPic_Articuno[]; +extern const u8 gMonShinyPalette_Articuno[]; +extern const u8 gMonIcon_Articuno[]; +extern const u8 gMonFootprint_Articuno[]; +extern const u8 gMonFrontPic_Zapdos[]; +extern const u8 gMonPalette_Zapdos[]; +extern const u8 gMonBackPic_Zapdos[]; +extern const u8 gMonShinyPalette_Zapdos[]; +extern const u8 gMonIcon_Zapdos[]; +extern const u8 gMonFootprint_Zapdos[]; +extern const u8 gMonFrontPic_Moltres[]; +extern const u8 gMonPalette_Moltres[]; +extern const u8 gMonBackPic_Moltres[]; +extern const u8 gMonShinyPalette_Moltres[]; +extern const u8 gMonIcon_Moltres[]; +extern const u8 gMonFootprint_Moltres[]; +extern const u8 gMonFrontPic_Dratini[]; +extern const u8 gMonPalette_Dratini[]; +extern const u8 gMonBackPic_Dratini[]; +extern const u8 gMonShinyPalette_Dratini[]; +extern const u8 gMonIcon_Dratini[]; +extern const u8 gMonFootprint_Dratini[]; +extern const u8 gMonFrontPic_Dragonair[]; +extern const u8 gMonPalette_Dragonair[]; +extern const u8 gMonBackPic_Dragonair[]; +extern const u8 gMonShinyPalette_Dragonair[]; +extern const u8 gMonIcon_Dragonair[]; +extern const u8 gMonFootprint_Dragonair[]; +extern const u8 gMonFrontPic_Dragonite[]; +extern const u8 gMonPalette_Dragonite[]; +extern const u8 gMonBackPic_Dragonite[]; +extern const u8 gMonShinyPalette_Dragonite[]; +extern const u8 gMonIcon_Dragonite[]; +extern const u8 gMonFootprint_Dragonite[]; +extern const u8 gMonFrontPic_Mewtwo[]; +extern const u8 gMonPalette_Mewtwo[]; +extern const u8 gMonBackPic_Mewtwo[]; +extern const u8 gMonShinyPalette_Mewtwo[]; +extern const u8 gMonIcon_Mewtwo[]; +extern const u8 gMonFootprint_Mewtwo[]; +extern const u8 gMonFrontPic_Mew[]; +extern const u8 gMonPalette_Mew[]; +extern const u8 gMonBackPic_Mew[]; +extern const u8 gMonShinyPalette_Mew[]; +extern const u8 gMonIcon_Mew[]; +extern const u8 gMonFootprint_Mew[]; +extern const u8 gMonFrontPic_Chikorita[]; +extern const u8 gMonPalette_Chikorita[]; +extern const u8 gMonBackPic_Chikorita[]; +extern const u8 gMonShinyPalette_Chikorita[]; +extern const u8 gMonIcon_Chikorita[]; +extern const u8 gMonFootprint_Chikorita[]; +extern const u8 gMonFrontPic_Bayleef[]; +extern const u8 gMonPalette_Bayleef[]; +extern const u8 gMonBackPic_Bayleef[]; +extern const u8 gMonShinyPalette_Bayleef[]; +extern const u8 gMonIcon_Bayleef[]; +extern const u8 gMonFootprint_Bayleef[]; +extern const u8 gMonFrontPic_Meganium[]; +extern const u8 gMonPalette_Meganium[]; +extern const u8 gMonBackPic_Meganium[]; +extern const u8 gMonShinyPalette_Meganium[]; +extern const u8 gMonIcon_Meganium[]; +extern const u8 gMonFootprint_Meganium[]; +extern const u8 gMonFrontPic_Cyndaquil[]; +extern const u8 gMonPalette_Cyndaquil[]; +extern const u8 gMonBackPic_Cyndaquil[]; +extern const u8 gMonShinyPalette_Cyndaquil[]; +extern const u8 gMonIcon_Cyndaquil[]; +extern const u8 gMonFootprint_Cyndaquil[]; +extern const u8 gMonFrontPic_Quilava[]; +extern const u8 gMonPalette_Quilava[]; +extern const u8 gMonBackPic_Quilava[]; +extern const u8 gMonShinyPalette_Quilava[]; +extern const u8 gMonIcon_Quilava[]; +extern const u8 gMonFootprint_Quilava[]; +extern const u8 gMonFrontPic_Typhlosion[]; +extern const u8 gMonPalette_Typhlosion[]; +extern const u8 gMonBackPic_Typhlosion[]; +extern const u8 gMonShinyPalette_Typhlosion[]; +extern const u8 gMonIcon_Typhlosion[]; +extern const u8 gMonFootprint_Typhlosion[]; +extern const u8 gMonFrontPic_Totodile[]; +extern const u8 gMonPalette_Totodile[]; +extern const u8 gMonBackPic_Totodile[]; +extern const u8 gMonShinyPalette_Totodile[]; +extern const u8 gMonIcon_Totodile[]; +extern const u8 gMonFootprint_Totodile[]; +extern const u8 gMonFrontPic_Croconaw[]; +extern const u8 gMonPalette_Croconaw[]; +extern const u8 gMonBackPic_Croconaw[]; +extern const u8 gMonShinyPalette_Croconaw[]; +extern const u8 gMonIcon_Croconaw[]; +extern const u8 gMonFootprint_Croconaw[]; +extern const u8 gMonFrontPic_Feraligatr[]; +extern const u8 gMonPalette_Feraligatr[]; +extern const u8 gMonBackPic_Feraligatr[]; +extern const u8 gMonShinyPalette_Feraligatr[]; +extern const u8 gMonIcon_Feraligatr[]; +extern const u8 gMonFootprint_Feraligatr[]; +extern const u8 gMonFrontPic_Sentret[]; +extern const u8 gMonPalette_Sentret[]; +extern const u8 gMonBackPic_Sentret[]; +extern const u8 gMonShinyPalette_Sentret[]; +extern const u8 gMonIcon_Sentret[]; +extern const u8 gMonFootprint_Sentret[]; +extern const u8 gMonFrontPic_Furret[]; +extern const u8 gMonPalette_Furret[]; +extern const u8 gMonBackPic_Furret[]; +extern const u8 gMonShinyPalette_Furret[]; +extern const u8 gMonIcon_Furret[]; +extern const u8 gMonFootprint_Furret[]; +extern const u8 gMonFrontPic_Hoothoot[]; +extern const u8 gMonPalette_Hoothoot[]; +extern const u8 gMonBackPic_Hoothoot[]; +extern const u8 gMonShinyPalette_Hoothoot[]; +extern const u8 gMonIcon_Hoothoot[]; +extern const u8 gMonFootprint_Hoothoot[]; +extern const u8 gMonFrontPic_Noctowl[]; +extern const u8 gMonPalette_Noctowl[]; +extern const u8 gMonBackPic_Noctowl[]; +extern const u8 gMonShinyPalette_Noctowl[]; +extern const u8 gMonIcon_Noctowl[]; +extern const u8 gMonFootprint_Noctowl[]; +extern const u8 gMonFrontPic_Ledyba[]; +extern const u8 gMonPalette_Ledyba[]; +extern const u8 gMonBackPic_Ledyba[]; +extern const u8 gMonShinyPalette_Ledyba[]; +extern const u8 gMonIcon_Ledyba[]; +extern const u8 gMonFootprint_Ledyba[]; +extern const u8 gMonFrontPic_Ledian[]; +extern const u8 gMonPalette_Ledian[]; +extern const u8 gMonBackPic_Ledian[]; +extern const u8 gMonShinyPalette_Ledian[]; +extern const u8 gMonIcon_Ledian[]; +extern const u8 gMonFootprint_Ledian[]; +extern const u8 gMonFrontPic_Spinarak[]; +extern const u8 gMonPalette_Spinarak[]; +extern const u8 gMonBackPic_Spinarak[]; +extern const u8 gMonShinyPalette_Spinarak[]; +extern const u8 gMonIcon_Spinarak[]; +extern const u8 gMonFootprint_Spinarak[]; +extern const u8 gMonFrontPic_Ariados[]; +extern const u8 gMonPalette_Ariados[]; +extern const u8 gMonBackPic_Ariados[]; +extern const u8 gMonShinyPalette_Ariados[]; +extern const u8 gMonIcon_Ariados[]; +extern const u8 gMonFootprint_Ariados[]; +extern const u8 gMonFrontPic_Crobat[]; +extern const u8 gMonPalette_Crobat[]; +extern const u8 gMonBackPic_Crobat[]; +extern const u8 gMonShinyPalette_Crobat[]; +extern const u8 gMonIcon_Crobat[]; +extern const u8 gMonFootprint_Crobat[]; +extern const u8 gMonFrontPic_Chinchou[]; +extern const u8 gMonPalette_Chinchou[]; +extern const u8 gMonBackPic_Chinchou[]; +extern const u8 gMonShinyPalette_Chinchou[]; +extern const u8 gMonIcon_Chinchou[]; +extern const u8 gMonFootprint_Chinchou[]; +extern const u8 gMonFrontPic_Lanturn[]; +extern const u8 gMonPalette_Lanturn[]; +extern const u8 gMonBackPic_Lanturn[]; +extern const u8 gMonShinyPalette_Lanturn[]; +extern const u8 gMonIcon_Lanturn[]; +extern const u8 gMonFootprint_Lanturn[]; +extern const u8 gMonFrontPic_Pichu[]; +extern const u8 gMonPalette_Pichu[]; +extern const u8 gMonBackPic_Pichu[]; +extern const u8 gMonShinyPalette_Pichu[]; +extern const u8 gMonIcon_Pichu[]; +extern const u8 gMonFootprint_Pichu[]; +extern const u8 gMonFrontPic_Cleffa[]; +extern const u8 gMonPalette_Cleffa[]; +extern const u8 gMonBackPic_Cleffa[]; +extern const u8 gMonShinyPalette_Cleffa[]; +extern const u8 gMonIcon_Cleffa[]; +extern const u8 gMonFootprint_Cleffa[]; +extern const u8 gMonFrontPic_Igglybuff[]; +extern const u8 gMonPalette_Igglybuff[]; +extern const u8 gMonBackPic_Igglybuff[]; +extern const u8 gMonShinyPalette_Igglybuff[]; +extern const u8 gMonIcon_Igglybuff[]; +extern const u8 gMonFootprint_Igglybuff[]; +extern const u8 gMonFrontPic_Togepi[]; +extern const u8 gMonPalette_Togepi[]; +extern const u8 gMonBackPic_Togepi[]; +extern const u8 gMonShinyPalette_Togepi[]; +extern const u8 gMonIcon_Togepi[]; +extern const u8 gMonFootprint_Togepi[]; +extern const u8 gMonFrontPic_Togetic[]; +extern const u8 gMonPalette_Togetic[]; +extern const u8 gMonBackPic_Togetic[]; +extern const u8 gMonShinyPalette_Togetic[]; +extern const u8 gMonIcon_Togetic[]; +extern const u8 gMonFootprint_Togetic[]; +extern const u8 gMonFrontPic_Natu[]; +extern const u8 gMonPalette_Natu[]; +extern const u8 gMonBackPic_Natu[]; +extern const u8 gMonShinyPalette_Natu[]; +extern const u8 gMonIcon_Natu[]; +extern const u8 gMonFootprint_Natu[]; +extern const u8 gMonFrontPic_Xatu[]; +extern const u8 gMonPalette_Xatu[]; +extern const u8 gMonBackPic_Xatu[]; +extern const u8 gMonShinyPalette_Xatu[]; +extern const u8 gMonIcon_Xatu[]; +extern const u8 gMonFootprint_Xatu[]; +extern const u8 gMonFrontPic_Mareep[]; +extern const u8 gMonPalette_Mareep[]; +extern const u8 gMonBackPic_Mareep[]; +extern const u8 gMonShinyPalette_Mareep[]; +extern const u8 gMonIcon_Mareep[]; +extern const u8 gMonFootprint_Mareep[]; +extern const u8 gMonFrontPic_Flaaffy[]; +extern const u8 gMonPalette_Flaaffy[]; +extern const u8 gMonBackPic_Flaaffy[]; +extern const u8 gMonShinyPalette_Flaaffy[]; +extern const u8 gMonIcon_Flaaffy[]; +extern const u8 gMonFootprint_Flaaffy[]; +extern const u8 gMonFrontPic_Ampharos[]; +extern const u8 gMonPalette_Ampharos[]; +extern const u8 gMonBackPic_Ampharos[]; +extern const u8 gMonShinyPalette_Ampharos[]; +extern const u8 gMonIcon_Ampharos[]; +extern const u8 gMonFootprint_Ampharos[]; +extern const u8 gMonFrontPic_Bellossom[]; +extern const u8 gMonPalette_Bellossom[]; +extern const u8 gMonBackPic_Bellossom[]; +extern const u8 gMonShinyPalette_Bellossom[]; +extern const u8 gMonIcon_Bellossom[]; +extern const u8 gMonFootprint_Bellossom[]; +extern const u8 gMonFrontPic_Marill[]; +extern const u8 gMonPalette_Marill[]; +extern const u8 gMonBackPic_Marill[]; +extern const u8 gMonShinyPalette_Marill[]; +extern const u8 gMonIcon_Marill[]; +extern const u8 gMonFootprint_Marill[]; +extern const u8 gMonFrontPic_Azumarill[]; +extern const u8 gMonPalette_Azumarill[]; +extern const u8 gMonBackPic_Azumarill[]; +extern const u8 gMonShinyPalette_Azumarill[]; +extern const u8 gMonIcon_Azumarill[]; +extern const u8 gMonFootprint_Azumarill[]; +extern const u8 gMonFrontPic_Sudowoodo[]; +extern const u8 gMonPalette_Sudowoodo[]; +extern const u8 gMonBackPic_Sudowoodo[]; +extern const u8 gMonShinyPalette_Sudowoodo[]; +extern const u8 gMonIcon_Sudowoodo[]; +extern const u8 gMonFootprint_Sudowoodo[]; +extern const u8 gMonFrontPic_Politoed[]; +extern const u8 gMonPalette_Politoed[]; +extern const u8 gMonBackPic_Politoed[]; +extern const u8 gMonShinyPalette_Politoed[]; +extern const u8 gMonIcon_Politoed[]; +extern const u8 gMonFootprint_Politoed[]; +extern const u8 gMonFrontPic_Hoppip[]; +extern const u8 gMonPalette_Hoppip[]; +extern const u8 gMonBackPic_Hoppip[]; +extern const u8 gMonShinyPalette_Hoppip[]; +extern const u8 gMonIcon_Hoppip[]; +extern const u8 gMonFootprint_Hoppip[]; +extern const u8 gMonFrontPic_Skiploom[]; +extern const u8 gMonPalette_Skiploom[]; +extern const u8 gMonBackPic_Skiploom[]; +extern const u8 gMonShinyPalette_Skiploom[]; +extern const u8 gMonIcon_Skiploom[]; +extern const u8 gMonFootprint_Skiploom[]; +extern const u8 gMonFrontPic_Jumpluff[]; +extern const u8 gMonPalette_Jumpluff[]; +extern const u8 gMonBackPic_Jumpluff[]; +extern const u8 gMonShinyPalette_Jumpluff[]; +extern const u8 gMonIcon_Jumpluff[]; +extern const u8 gMonFootprint_Jumpluff[]; +extern const u8 gMonFrontPic_Aipom[]; +extern const u8 gMonPalette_Aipom[]; +extern const u8 gMonBackPic_Aipom[]; +extern const u8 gMonShinyPalette_Aipom[]; +extern const u8 gMonIcon_Aipom[]; +extern const u8 gMonFootprint_Aipom[]; +extern const u8 gMonFrontPic_Sunkern[]; +extern const u8 gMonPalette_Sunkern[]; +extern const u8 gMonBackPic_Sunkern[]; +extern const u8 gMonShinyPalette_Sunkern[]; +extern const u8 gMonIcon_Sunkern[]; +extern const u8 gMonFootprint_Sunkern[]; +extern const u8 gMonFrontPic_Sunflora[]; +extern const u8 gMonPalette_Sunflora[]; +extern const u8 gMonBackPic_Sunflora[]; +extern const u8 gMonShinyPalette_Sunflora[]; +extern const u8 gMonIcon_Sunflora[]; +extern const u8 gMonFootprint_Sunflora[]; +extern const u8 gMonFrontPic_Yanma[]; +extern const u8 gMonPalette_Yanma[]; +extern const u8 gMonBackPic_Yanma[]; +extern const u8 gMonShinyPalette_Yanma[]; +extern const u8 gMonIcon_Yanma[]; +extern const u8 gMonFootprint_Yanma[]; +extern const u8 gMonFrontPic_Wooper[]; +extern const u8 gMonPalette_Wooper[]; +extern const u8 gMonBackPic_Wooper[]; +extern const u8 gMonShinyPalette_Wooper[]; +extern const u8 gMonIcon_Wooper[]; +extern const u8 gMonFootprint_Wooper[]; +extern const u8 gMonFrontPic_Quagsire[]; +extern const u8 gMonPalette_Quagsire[]; +extern const u8 gMonBackPic_Quagsire[]; +extern const u8 gMonShinyPalette_Quagsire[]; +extern const u8 gMonIcon_Quagsire[]; +extern const u8 gMonFootprint_Quagsire[]; +extern const u8 gMonFrontPic_Espeon[]; +extern const u8 gMonPalette_Espeon[]; +extern const u8 gMonBackPic_Espeon[]; +extern const u8 gMonShinyPalette_Espeon[]; +extern const u8 gMonIcon_Espeon[]; +extern const u8 gMonFootprint_Espeon[]; +extern const u8 gMonFrontPic_Umbreon[]; +extern const u8 gMonPalette_Umbreon[]; +extern const u8 gMonBackPic_Umbreon[]; +extern const u8 gMonShinyPalette_Umbreon[]; +extern const u8 gMonIcon_Umbreon[]; +extern const u8 gMonFootprint_Umbreon[]; +extern const u8 gMonFrontPic_Murkrow[]; +extern const u8 gMonPalette_Murkrow[]; +extern const u8 gMonBackPic_Murkrow[]; +extern const u8 gMonShinyPalette_Murkrow[]; +extern const u8 gMonIcon_Murkrow[]; +extern const u8 gMonFootprint_Murkrow[]; +extern const u8 gMonFrontPic_Slowking[]; +extern const u8 gMonPalette_Slowking[]; +extern const u8 gMonBackPic_Slowking[]; +extern const u8 gMonShinyPalette_Slowking[]; +extern const u8 gMonIcon_Slowking[]; +extern const u8 gMonFootprint_Slowking[]; +extern const u8 gMonFrontPic_Misdreavus[]; +extern const u8 gMonPalette_Misdreavus[]; +extern const u8 gMonBackPic_Misdreavus[]; +extern const u8 gMonShinyPalette_Misdreavus[]; +extern const u8 gMonIcon_Misdreavus[]; +extern const u8 gMonFootprint_Misdreavus[]; +extern const u8 gMonFrontPic_UnownA[]; +extern const u8 gMonPalette_Unown[]; +extern const u8 gMonBackPic_UnownA[]; +extern const u8 gMonShinyPalette_Unown[]; +extern const u8 gMonIcon_UnownA[]; +extern const u8 gMonFootprint_Unown[]; +extern const u8 gMonFrontPic_Wobbuffet[]; +extern const u8 gMonPalette_Wobbuffet[]; +extern const u8 gMonBackPic_Wobbuffet[]; +extern const u8 gMonShinyPalette_Wobbuffet[]; +extern const u8 gMonIcon_Wobbuffet[]; +extern const u8 gMonFootprint_Wobbuffet[]; +extern const u8 gMonFrontPic_Girafarig[]; +extern const u8 gMonPalette_Girafarig[]; +extern const u8 gMonBackPic_Girafarig[]; +extern const u8 gMonShinyPalette_Girafarig[]; +extern const u8 gMonIcon_Girafarig[]; +extern const u8 gMonFootprint_Girafarig[]; +extern const u8 gMonFrontPic_Pineco[]; +extern const u8 gMonPalette_Pineco[]; +extern const u8 gMonBackPic_Pineco[]; +extern const u8 gMonShinyPalette_Pineco[]; +extern const u8 gMonIcon_Pineco[]; +extern const u8 gMonFootprint_Pineco[]; +extern const u8 gMonFrontPic_Forretress[]; +extern const u8 gMonPalette_Forretress[]; +extern const u8 gMonBackPic_Forretress[]; +extern const u8 gMonShinyPalette_Forretress[]; +extern const u8 gMonIcon_Forretress[]; +extern const u8 gMonFootprint_Forretress[]; +extern const u8 gMonFrontPic_Dunsparce[]; +extern const u8 gMonPalette_Dunsparce[]; +extern const u8 gMonBackPic_Dunsparce[]; +extern const u8 gMonShinyPalette_Dunsparce[]; +extern const u8 gMonIcon_Dunsparce[]; +extern const u8 gMonFootprint_Dunsparce[]; +extern const u8 gMonFrontPic_Gligar[]; +extern const u8 gMonPalette_Gligar[]; +extern const u8 gMonBackPic_Gligar[]; +extern const u8 gMonShinyPalette_Gligar[]; +extern const u8 gMonIcon_Gligar[]; +extern const u8 gMonFootprint_Gligar[]; +extern const u8 gMonFrontPic_Steelix[]; +extern const u8 gMonPalette_Steelix[]; +extern const u8 gMonBackPic_Steelix[]; +extern const u8 gMonShinyPalette_Steelix[]; +extern const u8 gMonIcon_Steelix[]; +extern const u8 gMonFootprint_Steelix[]; +extern const u8 gMonFrontPic_Snubbull[]; +extern const u8 gMonPalette_Snubbull[]; +extern const u8 gMonBackPic_Snubbull[]; +extern const u8 gMonShinyPalette_Snubbull[]; +extern const u8 gMonIcon_Snubbull[]; +extern const u8 gMonFootprint_Snubbull[]; +extern const u8 gMonFrontPic_Granbull[]; +extern const u8 gMonPalette_Granbull[]; +extern const u8 gMonBackPic_Granbull[]; +extern const u8 gMonShinyPalette_Granbull[]; +extern const u8 gMonIcon_Granbull[]; +extern const u8 gMonFootprint_Granbull[]; +extern const u8 gMonFrontPic_Qwilfish[]; +extern const u8 gMonPalette_Qwilfish[]; +extern const u8 gMonBackPic_Qwilfish[]; +extern const u8 gMonShinyPalette_Qwilfish[]; +extern const u8 gMonIcon_Qwilfish[]; +extern const u8 gMonFootprint_Qwilfish[]; +extern const u8 gMonFrontPic_Scizor[]; +extern const u8 gMonPalette_Scizor[]; +extern const u8 gMonBackPic_Scizor[]; +extern const u8 gMonShinyPalette_Scizor[]; +extern const u8 gMonIcon_Scizor[]; +extern const u8 gMonFootprint_Scizor[]; +extern const u8 gMonFrontPic_Shuckle[]; +extern const u8 gMonPalette_Shuckle[]; +extern const u8 gMonBackPic_Shuckle[]; +extern const u8 gMonShinyPalette_Shuckle[]; +extern const u8 gMonIcon_Shuckle[]; +extern const u8 gMonFootprint_Shuckle[]; +extern const u8 gMonFrontPic_Heracross[]; +extern const u8 gMonPalette_Heracross[]; +extern const u8 gMonBackPic_Heracross[]; +extern const u8 gMonShinyPalette_Heracross[]; +extern const u8 gMonIcon_Heracross[]; +extern const u8 gMonFootprint_Heracross[]; +extern const u8 gMonFrontPic_Sneasel[]; +extern const u8 gMonPalette_Sneasel[]; +extern const u8 gMonBackPic_Sneasel[]; +extern const u8 gMonShinyPalette_Sneasel[]; +extern const u8 gMonIcon_Sneasel[]; +extern const u8 gMonFootprint_Sneasel[]; +extern const u8 gMonFrontPic_Teddiursa[]; +extern const u8 gMonPalette_Teddiursa[]; +extern const u8 gMonBackPic_Teddiursa[]; +extern const u8 gMonShinyPalette_Teddiursa[]; +extern const u8 gMonIcon_Teddiursa[]; +extern const u8 gMonFootprint_Teddiursa[]; +extern const u8 gMonFrontPic_Ursaring[]; +extern const u8 gMonPalette_Ursaring[]; +extern const u8 gMonBackPic_Ursaring[]; +extern const u8 gMonShinyPalette_Ursaring[]; +extern const u8 gMonIcon_Ursaring[]; +extern const u8 gMonFootprint_Ursaring[]; +extern const u8 gMonFrontPic_Slugma[]; +extern const u8 gMonPalette_Slugma[]; +extern const u8 gMonBackPic_Slugma[]; +extern const u8 gMonShinyPalette_Slugma[]; +extern const u8 gMonIcon_Slugma[]; +extern const u8 gMonFootprint_Slugma[]; +extern const u8 gMonFrontPic_Magcargo[]; +extern const u8 gMonPalette_Magcargo[]; +extern const u8 gMonBackPic_Magcargo[]; +extern const u8 gMonShinyPalette_Magcargo[]; +extern const u8 gMonIcon_Magcargo[]; +extern const u8 gMonFootprint_Magcargo[]; +extern const u8 gMonFrontPic_Swinub[]; +extern const u8 gMonPalette_Swinub[]; +extern const u8 gMonBackPic_Swinub[]; +extern const u8 gMonShinyPalette_Swinub[]; +extern const u8 gMonIcon_Swinub[]; +extern const u8 gMonFootprint_Swinub[]; +extern const u8 gMonFrontPic_Piloswine[]; +extern const u8 gMonPalette_Piloswine[]; +extern const u8 gMonBackPic_Piloswine[]; +extern const u8 gMonShinyPalette_Piloswine[]; +extern const u8 gMonIcon_Piloswine[]; +extern const u8 gMonFootprint_Piloswine[]; +extern const u8 gMonFrontPic_Corsola[]; +extern const u8 gMonPalette_Corsola[]; +extern const u8 gMonBackPic_Corsola[]; +extern const u8 gMonShinyPalette_Corsola[]; +extern const u8 gMonIcon_Corsola[]; +extern const u8 gMonFootprint_Corsola[]; +extern const u8 gMonFrontPic_Remoraid[]; +extern const u8 gMonPalette_Remoraid[]; +extern const u8 gMonBackPic_Remoraid[]; +extern const u8 gMonShinyPalette_Remoraid[]; +extern const u8 gMonIcon_Remoraid[]; +extern const u8 gMonFootprint_Remoraid[]; +extern const u8 gMonFrontPic_Octillery[]; +extern const u8 gMonPalette_Octillery[]; +extern const u8 gMonBackPic_Octillery[]; +extern const u8 gMonShinyPalette_Octillery[]; +extern const u8 gMonIcon_Octillery[]; +extern const u8 gMonFootprint_Octillery[]; +extern const u8 gMonFrontPic_Delibird[]; +extern const u8 gMonPalette_Delibird[]; +extern const u8 gMonBackPic_Delibird[]; +extern const u8 gMonShinyPalette_Delibird[]; +extern const u8 gMonIcon_Delibird[]; +extern const u8 gMonFootprint_Delibird[]; +extern const u8 gMonFrontPic_Mantine[]; +extern const u8 gMonPalette_Mantine[]; +extern const u8 gMonBackPic_Mantine[]; +extern const u8 gMonShinyPalette_Mantine[]; +extern const u8 gMonIcon_Mantine[]; +extern const u8 gMonFootprint_Mantine[]; +extern const u8 gMonFrontPic_Skarmory[]; +extern const u8 gMonPalette_Skarmory[]; +extern const u8 gMonBackPic_Skarmory[]; +extern const u8 gMonShinyPalette_Skarmory[]; +extern const u8 gMonIcon_Skarmory[]; +extern const u8 gMonFootprint_Skarmory[]; +extern const u8 gMonFrontPic_Houndour[]; +extern const u8 gMonPalette_Houndour[]; +extern const u8 gMonBackPic_Houndour[]; +extern const u8 gMonShinyPalette_Houndour[]; +extern const u8 gMonIcon_Houndour[]; +extern const u8 gMonFootprint_Houndour[]; +extern const u8 gMonFrontPic_Houndoom[]; +extern const u8 gMonPalette_Houndoom[]; +extern const u8 gMonBackPic_Houndoom[]; +extern const u8 gMonShinyPalette_Houndoom[]; +extern const u8 gMonIcon_Houndoom[]; +extern const u8 gMonFootprint_Houndoom[]; +extern const u8 gMonFrontPic_Kingdra[]; +extern const u8 gMonPalette_Kingdra[]; +extern const u8 gMonBackPic_Kingdra[]; +extern const u8 gMonShinyPalette_Kingdra[]; +extern const u8 gMonIcon_Kingdra[]; +extern const u8 gMonFootprint_Kingdra[]; +extern const u8 gMonFrontPic_Phanpy[]; +extern const u8 gMonPalette_Phanpy[]; +extern const u8 gMonBackPic_Phanpy[]; +extern const u8 gMonShinyPalette_Phanpy[]; +extern const u8 gMonIcon_Phanpy[]; +extern const u8 gMonFootprint_Phanpy[]; +extern const u8 gMonFrontPic_Donphan[]; +extern const u8 gMonPalette_Donphan[]; +extern const u8 gMonBackPic_Donphan[]; +extern const u8 gMonShinyPalette_Donphan[]; +extern const u8 gMonIcon_Donphan[]; +extern const u8 gMonFootprint_Donphan[]; +extern const u8 gMonFrontPic_Porygon2[]; +extern const u8 gMonPalette_Porygon2[]; +extern const u8 gMonBackPic_Porygon2[]; +extern const u8 gMonShinyPalette_Porygon2[]; +extern const u8 gMonIcon_Porygon2[]; +extern const u8 gMonFootprint_Porygon2[]; +extern const u8 gMonFrontPic_Stantler[]; +extern const u8 gMonPalette_Stantler[]; +extern const u8 gMonBackPic_Stantler[]; +extern const u8 gMonShinyPalette_Stantler[]; +extern const u8 gMonIcon_Stantler[]; +extern const u8 gMonFootprint_Stantler[]; +extern const u8 gMonFrontPic_Smeargle[]; +extern const u8 gMonPalette_Smeargle[]; +extern const u8 gMonBackPic_Smeargle[]; +extern const u8 gMonShinyPalette_Smeargle[]; +extern const u8 gMonIcon_Smeargle[]; +extern const u8 gMonFootprint_Smeargle[]; +extern const u8 gMonFrontPic_Tyrogue[]; +extern const u8 gMonPalette_Tyrogue[]; +extern const u8 gMonBackPic_Tyrogue[]; +extern const u8 gMonShinyPalette_Tyrogue[]; +extern const u8 gMonIcon_Tyrogue[]; +extern const u8 gMonFootprint_Tyrogue[]; +extern const u8 gMonFrontPic_Hitmontop[]; +extern const u8 gMonPalette_Hitmontop[]; +extern const u8 gMonBackPic_Hitmontop[]; +extern const u8 gMonShinyPalette_Hitmontop[]; +extern const u8 gMonIcon_Hitmontop[]; +extern const u8 gMonFootprint_Hitmontop[]; +extern const u8 gMonFrontPic_Smoochum[]; +extern const u8 gMonPalette_Smoochum[]; +extern const u8 gMonBackPic_Smoochum[]; +extern const u8 gMonShinyPalette_Smoochum[]; +extern const u8 gMonIcon_Smoochum[]; +extern const u8 gMonFootprint_Smoochum[]; +extern const u8 gMonFrontPic_Elekid[]; +extern const u8 gMonPalette_Elekid[]; +extern const u8 gMonBackPic_Elekid[]; +extern const u8 gMonShinyPalette_Elekid[]; +extern const u8 gMonIcon_Elekid[]; +extern const u8 gMonFootprint_Elekid[]; +extern const u8 gMonFrontPic_Magby[]; +extern const u8 gMonPalette_Magby[]; +extern const u8 gMonBackPic_Magby[]; +extern const u8 gMonShinyPalette_Magby[]; +extern const u8 gMonIcon_Magby[]; +extern const u8 gMonFootprint_Magby[]; +extern const u8 gMonFrontPic_Miltank[]; +extern const u8 gMonPalette_Miltank[]; +extern const u8 gMonBackPic_Miltank[]; +extern const u8 gMonShinyPalette_Miltank[]; +extern const u8 gMonIcon_Miltank[]; +extern const u8 gMonFootprint_Miltank[]; +extern const u8 gMonFrontPic_Blissey[]; +extern const u8 gMonPalette_Blissey[]; +extern const u8 gMonBackPic_Blissey[]; +extern const u8 gMonShinyPalette_Blissey[]; +extern const u8 gMonIcon_Blissey[]; +extern const u8 gMonFootprint_Blissey[]; +extern const u8 gMonFrontPic_Raikou[]; +extern const u8 gMonPalette_Raikou[]; +extern const u8 gMonBackPic_Raikou[]; +extern const u8 gMonShinyPalette_Raikou[]; +extern const u8 gMonIcon_Raikou[]; +extern const u8 gMonFootprint_Raikou[]; +extern const u8 gMonFrontPic_Entei[]; +extern const u8 gMonPalette_Entei[]; +extern const u8 gMonBackPic_Entei[]; +extern const u8 gMonShinyPalette_Entei[]; +extern const u8 gMonIcon_Entei[]; +extern const u8 gMonFootprint_Entei[]; +extern const u8 gMonFrontPic_Suicune[]; +extern const u8 gMonPalette_Suicune[]; +extern const u8 gMonBackPic_Suicune[]; +extern const u8 gMonShinyPalette_Suicune[]; +extern const u8 gMonIcon_Suicune[]; +extern const u8 gMonFootprint_Suicune[]; +extern const u8 gMonFrontPic_Larvitar[]; +extern const u8 gMonPalette_Larvitar[]; +extern const u8 gMonBackPic_Larvitar[]; +extern const u8 gMonShinyPalette_Larvitar[]; +extern const u8 gMonIcon_Larvitar[]; +extern const u8 gMonFootprint_Larvitar[]; +extern const u8 gMonFrontPic_Pupitar[]; +extern const u8 gMonPalette_Pupitar[]; +extern const u8 gMonBackPic_Pupitar[]; +extern const u8 gMonShinyPalette_Pupitar[]; +extern const u8 gMonIcon_Pupitar[]; +extern const u8 gMonFootprint_Pupitar[]; +extern const u8 gMonFrontPic_Tyranitar[]; +extern const u8 gMonPalette_Tyranitar[]; +extern const u8 gMonBackPic_Tyranitar[]; +extern const u8 gMonShinyPalette_Tyranitar[]; +extern const u8 gMonIcon_Tyranitar[]; +extern const u8 gMonFootprint_Tyranitar[]; +extern const u8 gMonFrontPic_Lugia[]; +extern const u8 gMonPalette_Lugia[]; +extern const u8 gMonBackPic_Lugia[]; +extern const u8 gMonShinyPalette_Lugia[]; +extern const u8 gMonIcon_Lugia[]; +extern const u8 gMonFootprint_Lugia[]; +extern const u8 gMonFrontPic_HoOh[]; +extern const u8 gMonPalette_HoOh[]; +extern const u8 gMonBackPic_HoOh[]; +extern const u8 gMonShinyPalette_HoOh[]; +extern const u8 gMonIcon_HoOh[]; +extern const u8 gMonFootprint_HoOh[]; +extern const u8 gMonFrontPic_Celebi[]; +extern const u8 gMonPalette_Celebi[]; +extern const u8 gMonBackPic_Celebi[]; +extern const u8 gMonShinyPalette_Celebi[]; +extern const u8 gMonIcon_Celebi[]; +extern const u8 gMonFootprint_Celebi[]; +extern const u8 gMonFrontPic_QuestionMark[]; +extern const u8 gMonPalette_QuestionMark[]; +extern const u8 gMonBackPic_QuestionMark[]; +extern const u8 gMonShinyPalette_QuestionMark[]; +extern const u8 gMonFrontPic_Treecko[]; +extern const u8 gMonPalette_Treecko[]; +extern const u8 gMonBackPic_Treecko[]; +extern const u8 gMonShinyPalette_Treecko[]; +extern const u8 gMonIcon_Treecko[]; +extern const u8 gMonFootprint_Treecko[]; +extern const u8 gMonFrontPic_Grovyle[]; +extern const u8 gMonPalette_Grovyle[]; +extern const u8 gMonBackPic_Grovyle[]; +extern const u8 gMonShinyPalette_Grovyle[]; +extern const u8 gMonIcon_Grovyle[]; +extern const u8 gMonFootprint_Grovyle[]; +extern const u8 gMonFrontPic_Sceptile[]; +extern const u8 gMonPalette_Sceptile[]; +extern const u8 gMonBackPic_Sceptile[]; +extern const u8 gMonShinyPalette_Sceptile[]; +extern const u8 gMonIcon_Sceptile[]; +extern const u8 gMonFootprint_Sceptile[]; +extern const u8 gMonFrontPic_Torchic[]; +extern const u8 gMonPalette_Torchic[]; +extern const u8 gMonBackPic_Torchic[]; +extern const u8 gMonShinyPalette_Torchic[]; +extern const u8 gMonIcon_Torchic[]; +extern const u8 gMonFootprint_Torchic[]; +extern const u8 gMonFrontPic_Combusken[]; +extern const u8 gMonPalette_Combusken[]; +extern const u8 gMonBackPic_Combusken[]; +extern const u8 gMonShinyPalette_Combusken[]; +extern const u8 gMonIcon_Combusken[]; +extern const u8 gMonFootprint_Combusken[]; +extern const u8 gMonFrontPic_Blaziken[]; +extern const u8 gMonPalette_Blaziken[]; +extern const u8 gMonBackPic_Blaziken[]; +extern const u8 gMonShinyPalette_Blaziken[]; +extern const u8 gMonIcon_Blaziken[]; +extern const u8 gMonFootprint_Blaziken[]; +extern const u8 gMonFrontPic_Mudkip[]; +extern const u8 gMonPalette_Mudkip[]; +extern const u8 gMonBackPic_Mudkip[]; +extern const u8 gMonShinyPalette_Mudkip[]; +extern const u8 gMonIcon_Mudkip[]; +extern const u8 gMonFootprint_Mudkip[]; +extern const u8 gMonFrontPic_Marshtomp[]; +extern const u8 gMonPalette_Marshtomp[]; +extern const u8 gMonBackPic_Marshtomp[]; +extern const u8 gMonShinyPalette_Marshtomp[]; +extern const u8 gMonIcon_Marshtomp[]; +extern const u8 gMonFootprint_Marshtomp[]; +extern const u8 gMonFrontPic_Swampert[]; +extern const u8 gMonPalette_Swampert[]; +extern const u8 gMonBackPic_Swampert[]; +extern const u8 gMonShinyPalette_Swampert[]; +extern const u8 gMonIcon_Swampert[]; +extern const u8 gMonFootprint_Swampert[]; +extern const u8 gMonFrontPic_Poochyena[]; +extern const u8 gMonPalette_Poochyena[]; +extern const u8 gMonBackPic_Poochyena[]; +extern const u8 gMonShinyPalette_Poochyena[]; +extern const u8 gMonIcon_Poochyena[]; +extern const u8 gMonFootprint_Poochyena[]; +extern const u8 gMonFrontPic_Mightyena[]; +extern const u8 gMonPalette_Mightyena[]; +extern const u8 gMonBackPic_Mightyena[]; +extern const u8 gMonShinyPalette_Mightyena[]; +extern const u8 gMonIcon_Mightyena[]; +extern const u8 gMonFootprint_Mightyena[]; +extern const u8 gMonFrontPic_Zigzagoon[]; +extern const u8 gMonPalette_Zigzagoon[]; +extern const u8 gMonBackPic_Zigzagoon[]; +extern const u8 gMonShinyPalette_Zigzagoon[]; +extern const u8 gMonIcon_Zigzagoon[]; +extern const u8 gMonFootprint_Zigzagoon[]; +extern const u8 gMonFrontPic_Linoone[]; +extern const u8 gMonPalette_Linoone[]; +extern const u8 gMonBackPic_Linoone[]; +extern const u8 gMonShinyPalette_Linoone[]; +extern const u8 gMonIcon_Linoone[]; +extern const u8 gMonFootprint_Linoone[]; +extern const u8 gMonFrontPic_Wurmple[]; +extern const u8 gMonPalette_Wurmple[]; +extern const u8 gMonBackPic_Wurmple[]; +extern const u8 gMonShinyPalette_Wurmple[]; +extern const u8 gMonIcon_Wurmple[]; +extern const u8 gMonFootprint_Wurmple[]; +extern const u8 gMonFrontPic_Silcoon[]; +extern const u8 gMonPalette_Silcoon[]; +extern const u8 gMonBackPic_Silcoon[]; +extern const u8 gMonShinyPalette_Silcoon[]; +extern const u8 gMonIcon_Silcoon[]; +extern const u8 gMonFootprint_Silcoon[]; +extern const u8 gMonFrontPic_Beautifly[]; +extern const u8 gMonPalette_Beautifly[]; +extern const u8 gMonBackPic_Beautifly[]; +extern const u8 gMonShinyPalette_Beautifly[]; +extern const u8 gMonIcon_Beautifly[]; +extern const u8 gMonFootprint_Beautifly[]; +extern const u8 gMonFrontPic_Cascoon[]; +extern const u8 gMonPalette_Cascoon[]; +extern const u8 gMonBackPic_Cascoon[]; +extern const u8 gMonShinyPalette_Cascoon[]; +extern const u8 gMonIcon_Cascoon[]; +extern const u8 gMonFootprint_Cascoon[]; +extern const u8 gMonFrontPic_Dustox[]; +extern const u8 gMonPalette_Dustox[]; +extern const u8 gMonBackPic_Dustox[]; +extern const u8 gMonShinyPalette_Dustox[]; +extern const u8 gMonIcon_Dustox[]; +extern const u8 gMonFootprint_Dustox[]; +extern const u8 gMonFrontPic_Lotad[]; +extern const u8 gMonPalette_Lotad[]; +extern const u8 gMonBackPic_Lotad[]; +extern const u8 gMonShinyPalette_Lotad[]; +extern const u8 gMonIcon_Lotad[]; +extern const u8 gMonFootprint_Lotad[]; +extern const u8 gMonFrontPic_Lombre[]; +extern const u8 gMonPalette_Lombre[]; +extern const u8 gMonBackPic_Lombre[]; +extern const u8 gMonShinyPalette_Lombre[]; +extern const u8 gMonIcon_Lombre[]; +extern const u8 gMonFootprint_Lombre[]; +extern const u8 gMonFrontPic_Ludicolo[]; +extern const u8 gMonPalette_Ludicolo[]; +extern const u8 gMonBackPic_Ludicolo[]; +extern const u8 gMonShinyPalette_Ludicolo[]; +extern const u8 gMonIcon_Ludicolo[]; +extern const u8 gMonFootprint_Ludicolo[]; +extern const u8 gMonFrontPic_Seedot[]; +extern const u8 gMonPalette_Seedot[]; +extern const u8 gMonBackPic_Seedot[]; +extern const u8 gMonShinyPalette_Seedot[]; +extern const u8 gMonIcon_Seedot[]; +extern const u8 gMonFootprint_Seedot[]; +extern const u8 gMonFrontPic_Nuzleaf[]; +extern const u8 gMonPalette_Nuzleaf[]; +extern const u8 gMonBackPic_Nuzleaf[]; +extern const u8 gMonShinyPalette_Nuzleaf[]; +extern const u8 gMonIcon_Nuzleaf[]; +extern const u8 gMonFootprint_Nuzleaf[]; +extern const u8 gMonFrontPic_Shiftry[]; +extern const u8 gMonPalette_Shiftry[]; +extern const u8 gMonBackPic_Shiftry[]; +extern const u8 gMonShinyPalette_Shiftry[]; +extern const u8 gMonIcon_Shiftry[]; +extern const u8 gMonFootprint_Shiftry[]; +extern const u8 gMonFrontPic_Nincada[]; +extern const u8 gMonPalette_Nincada[]; +extern const u8 gMonBackPic_Nincada[]; +extern const u8 gMonShinyPalette_Nincada[]; +extern const u8 gMonIcon_Nincada[]; +extern const u8 gMonFootprint_Nincada[]; +extern const u8 gMonFrontPic_Ninjask[]; +extern const u8 gMonPalette_Ninjask[]; +extern const u8 gMonBackPic_Ninjask[]; +extern const u8 gMonShinyPalette_Ninjask[]; +extern const u8 gMonIcon_Ninjask[]; +extern const u8 gMonFootprint_Ninjask[]; +extern const u8 gMonFrontPic_Shedinja[]; +extern const u8 gMonPalette_Shedinja[]; +extern const u8 gMonBackPic_Shedinja[]; +extern const u8 gMonShinyPalette_Shedinja[]; +extern const u8 gMonIcon_Shedinja[]; +extern const u8 gMonFootprint_Shedinja[]; +extern const u8 gMonFrontPic_Taillow[]; +extern const u8 gMonPalette_Taillow[]; +extern const u8 gMonBackPic_Taillow[]; +extern const u8 gMonShinyPalette_Taillow[]; +extern const u8 gMonIcon_Taillow[]; +extern const u8 gMonFootprint_Taillow[]; +extern const u8 gMonFrontPic_Swellow[]; +extern const u8 gMonPalette_Swellow[]; +extern const u8 gMonBackPic_Swellow[]; +extern const u8 gMonShinyPalette_Swellow[]; +extern const u8 gMonIcon_Swellow[]; +extern const u8 gMonFootprint_Swellow[]; +extern const u8 gMonFrontPic_Shroomish[]; +extern const u8 gMonPalette_Shroomish[]; +extern const u8 gMonBackPic_Shroomish[]; +extern const u8 gMonShinyPalette_Shroomish[]; +extern const u8 gMonIcon_Shroomish[]; +extern const u8 gMonFootprint_Shroomish[]; +extern const u8 gMonFrontPic_Breloom[]; +extern const u8 gMonPalette_Breloom[]; +extern const u8 gMonBackPic_Breloom[]; +extern const u8 gMonShinyPalette_Breloom[]; +extern const u8 gMonIcon_Breloom[]; +extern const u8 gMonFootprint_Breloom[]; +extern const u8 gMonFrontPic_Spinda[]; +extern const u8 gMonPalette_Spinda[]; +extern const u8 gMonBackPic_Spinda[]; +extern const u8 gMonShinyPalette_Spinda[]; +extern const u8 gMonIcon_Spinda[]; +extern const u8 gMonFootprint_Spinda[]; +extern const u8 gMonFrontPic_Wingull[]; +extern const u8 gMonPalette_Wingull[]; +extern const u8 gMonBackPic_Wingull[]; +extern const u8 gMonShinyPalette_Wingull[]; +extern const u8 gMonIcon_Wingull[]; +extern const u8 gMonFootprint_Wingull[]; +extern const u8 gMonFrontPic_Pelipper[]; +extern const u8 gMonPalette_Pelipper[]; +extern const u8 gMonBackPic_Pelipper[]; +extern const u8 gMonShinyPalette_Pelipper[]; +extern const u8 gMonIcon_Pelipper[]; +extern const u8 gMonFootprint_Pelipper[]; +extern const u8 gMonFrontPic_Surskit[]; +extern const u8 gMonPalette_Surskit[]; +extern const u8 gMonBackPic_Surskit[]; +extern const u8 gMonShinyPalette_Surskit[]; +extern const u8 gMonIcon_Surskit[]; +extern const u8 gMonFootprint_Surskit[]; +extern const u8 gMonFrontPic_Masquerain[]; +extern const u8 gMonPalette_Masquerain[]; +extern const u8 gMonBackPic_Masquerain[]; +extern const u8 gMonShinyPalette_Masquerain[]; +extern const u8 gMonIcon_Masquerain[]; +extern const u8 gMonFootprint_Masquerain[]; +extern const u8 gMonFrontPic_Wailmer[]; +extern const u8 gMonPalette_Wailmer[]; +extern const u8 gMonBackPic_Wailmer[]; +extern const u8 gMonShinyPalette_Wailmer[]; +extern const u8 gMonIcon_Wailmer[]; +extern const u8 gMonFootprint_Wailmer[]; +extern const u8 gMonFrontPic_Wailord[]; +extern const u8 gMonPalette_Wailord[]; +extern const u8 gMonBackPic_Wailord[]; +extern const u8 gMonShinyPalette_Wailord[]; +extern const u8 gMonIcon_Wailord[]; +extern const u8 gMonFootprint_Wailord[]; +extern const u8 gMonFrontPic_Skitty[]; +extern const u8 gMonPalette_Skitty[]; +extern const u8 gMonBackPic_Skitty[]; +extern const u8 gMonShinyPalette_Skitty[]; +extern const u8 gMonIcon_Skitty[]; +extern const u8 gMonFootprint_Skitty[]; +extern const u8 gMonFrontPic_Delcatty[]; +extern const u8 gMonPalette_Delcatty[]; +extern const u8 gMonBackPic_Delcatty[]; +extern const u8 gMonShinyPalette_Delcatty[]; +extern const u8 gMonIcon_Delcatty[]; +extern const u8 gMonFootprint_Delcatty[]; +extern const u8 gMonFrontPic_Kecleon[]; +extern const u8 gMonPalette_Kecleon[]; +extern const u8 gMonBackPic_Kecleon[]; +extern const u8 gMonShinyPalette_Kecleon[]; +extern const u8 gMonIcon_Kecleon[]; +extern const u8 gMonFootprint_Kecleon[]; +extern const u8 gMonFrontPic_Baltoy[]; +extern const u8 gMonPalette_Baltoy[]; +extern const u8 gMonBackPic_Baltoy[]; +extern const u8 gMonShinyPalette_Baltoy[]; +extern const u8 gMonIcon_Baltoy[]; +extern const u8 gMonFootprint_Baltoy[]; +extern const u8 gMonFrontPic_Claydol[]; +extern const u8 gMonPalette_Claydol[]; +extern const u8 gMonBackPic_Claydol[]; +extern const u8 gMonShinyPalette_Claydol[]; +extern const u8 gMonIcon_Claydol[]; +extern const u8 gMonFootprint_Claydol[]; +extern const u8 gMonFrontPic_Nosepass[]; +extern const u8 gMonPalette_Nosepass[]; +extern const u8 gMonBackPic_Nosepass[]; +extern const u8 gMonShinyPalette_Nosepass[]; +extern const u8 gMonIcon_Nosepass[]; +extern const u8 gMonFootprint_Nosepass[]; +extern const u8 gMonFrontPic_Torkoal[]; +extern const u8 gMonPalette_Torkoal[]; +extern const u8 gMonBackPic_Torkoal[]; +extern const u8 gMonShinyPalette_Torkoal[]; +extern const u8 gMonIcon_Torkoal[]; +extern const u8 gMonFootprint_Torkoal[]; +extern const u8 gMonFrontPic_Sableye[]; +extern const u8 gMonPalette_Sableye[]; +extern const u8 gMonBackPic_Sableye[]; +extern const u8 gMonShinyPalette_Sableye[]; +extern const u8 gMonIcon_Sableye[]; +extern const u8 gMonFootprint_Sableye[]; +extern const u8 gMonFrontPic_Barboach[]; +extern const u8 gMonPalette_Barboach[]; +extern const u8 gMonBackPic_Barboach[]; +extern const u8 gMonShinyPalette_Barboach[]; +extern const u8 gMonIcon_Barboach[]; +extern const u8 gMonFootprint_Barboach[]; +extern const u8 gMonFrontPic_Whiscash[]; +extern const u8 gMonPalette_Whiscash[]; +extern const u8 gMonBackPic_Whiscash[]; +extern const u8 gMonShinyPalette_Whiscash[]; +extern const u8 gMonIcon_Whiscash[]; +extern const u8 gMonFootprint_Whiscash[]; +extern const u8 gMonFrontPic_Luvdisc[]; +extern const u8 gMonPalette_Luvdisc[]; +extern const u8 gMonBackPic_Luvdisc[]; +extern const u8 gMonShinyPalette_Luvdisc[]; +extern const u8 gMonIcon_Luvdisc[]; +extern const u8 gMonFootprint_Luvdisc[]; +extern const u8 gMonFrontPic_Corphish[]; +extern const u8 gMonPalette_Corphish[]; +extern const u8 gMonBackPic_Corphish[]; +extern const u8 gMonShinyPalette_Corphish[]; +extern const u8 gMonIcon_Corphish[]; +extern const u8 gMonFootprint_Corphish[]; +extern const u8 gMonFrontPic_Crawdaunt[]; +extern const u8 gMonPalette_Crawdaunt[]; +extern const u8 gMonBackPic_Crawdaunt[]; +extern const u8 gMonShinyPalette_Crawdaunt[]; +extern const u8 gMonIcon_Crawdaunt[]; +extern const u8 gMonFootprint_Crawdaunt[]; +extern const u8 gMonFrontPic_Feebas[]; +extern const u8 gMonPalette_Feebas[]; +extern const u8 gMonBackPic_Feebas[]; +extern const u8 gMonShinyPalette_Feebas[]; +extern const u8 gMonIcon_Feebas[]; +extern const u8 gMonFootprint_Feebas[]; +extern const u8 gMonFrontPic_Milotic[]; +extern const u8 gMonPalette_Milotic[]; +extern const u8 gMonBackPic_Milotic[]; +extern const u8 gMonShinyPalette_Milotic[]; +extern const u8 gMonIcon_Milotic[]; +extern const u8 gMonFootprint_Milotic[]; +extern const u8 gMonFrontPic_Carvanha[]; +extern const u8 gMonPalette_Carvanha[]; +extern const u8 gMonBackPic_Carvanha[]; +extern const u8 gMonShinyPalette_Carvanha[]; +extern const u8 gMonIcon_Carvanha[]; +extern const u8 gMonFootprint_Carvanha[]; +extern const u8 gMonFrontPic_Sharpedo[]; +extern const u8 gMonPalette_Sharpedo[]; +extern const u8 gMonBackPic_Sharpedo[]; +extern const u8 gMonShinyPalette_Sharpedo[]; +extern const u8 gMonIcon_Sharpedo[]; +extern const u8 gMonFootprint_Sharpedo[]; +extern const u8 gMonFrontPic_Trapinch[]; +extern const u8 gMonPalette_Trapinch[]; +extern const u8 gMonBackPic_Trapinch[]; +extern const u8 gMonShinyPalette_Trapinch[]; +extern const u8 gMonIcon_Trapinch[]; +extern const u8 gMonFootprint_Trapinch[]; +extern const u8 gMonFrontPic_Vibrava[]; +extern const u8 gMonPalette_Vibrava[]; +extern const u8 gMonBackPic_Vibrava[]; +extern const u8 gMonShinyPalette_Vibrava[]; +extern const u8 gMonIcon_Vibrava[]; +extern const u8 gMonFootprint_Vibrava[]; +extern const u8 gMonFrontPic_Flygon[]; +extern const u8 gMonPalette_Flygon[]; +extern const u8 gMonBackPic_Flygon[]; +extern const u8 gMonShinyPalette_Flygon[]; +extern const u8 gMonIcon_Flygon[]; +extern const u8 gMonFootprint_Flygon[]; +extern const u8 gMonFrontPic_Makuhita[]; +extern const u8 gMonPalette_Makuhita[]; +extern const u8 gMonBackPic_Makuhita[]; +extern const u8 gMonShinyPalette_Makuhita[]; +extern const u8 gMonIcon_Makuhita[]; +extern const u8 gMonFootprint_Makuhita[]; +extern const u8 gMonFrontPic_Hariyama[]; +extern const u8 gMonPalette_Hariyama[]; +extern const u8 gMonBackPic_Hariyama[]; +extern const u8 gMonShinyPalette_Hariyama[]; +extern const u8 gMonIcon_Hariyama[]; +extern const u8 gMonFootprint_Hariyama[]; +extern const u8 gMonFrontPic_Electrike[]; +extern const u8 gMonPalette_Electrike[]; +extern const u8 gMonBackPic_Electrike[]; +extern const u8 gMonShinyPalette_Electrike[]; +extern const u8 gMonIcon_Electrike[]; +extern const u8 gMonFootprint_Electrike[]; +extern const u8 gMonFrontPic_Manectric[]; +extern const u8 gMonPalette_Manectric[]; +extern const u8 gMonBackPic_Manectric[]; +extern const u8 gMonShinyPalette_Manectric[]; +extern const u8 gMonIcon_Manectric[]; +extern const u8 gMonFootprint_Manectric[]; +extern const u8 gMonFrontPic_Numel[]; +extern const u8 gMonPalette_Numel[]; +extern const u8 gMonBackPic_Numel[]; +extern const u8 gMonShinyPalette_Numel[]; +extern const u8 gMonIcon_Numel[]; +extern const u8 gMonFootprint_Numel[]; +extern const u8 gMonFrontPic_Camerupt[]; +extern const u8 gMonPalette_Camerupt[]; +extern const u8 gMonBackPic_Camerupt[]; +extern const u8 gMonShinyPalette_Camerupt[]; +extern const u8 gMonIcon_Camerupt[]; +extern const u8 gMonFootprint_Camerupt[]; +extern const u8 gMonFrontPic_Spheal[]; +extern const u8 gMonPalette_Spheal[]; +extern const u8 gMonBackPic_Spheal[]; +extern const u8 gMonShinyPalette_Spheal[]; +extern const u8 gMonIcon_Spheal[]; +extern const u8 gMonFootprint_Spheal[]; +extern const u8 gMonFrontPic_Sealeo[]; +extern const u8 gMonPalette_Sealeo[]; +extern const u8 gMonBackPic_Sealeo[]; +extern const u8 gMonShinyPalette_Sealeo[]; +extern const u8 gMonIcon_Sealeo[]; +extern const u8 gMonFootprint_Sealeo[]; +extern const u8 gMonFrontPic_Walrein[]; +extern const u8 gMonPalette_Walrein[]; +extern const u8 gMonBackPic_Walrein[]; +extern const u8 gMonShinyPalette_Walrein[]; +extern const u8 gMonIcon_Walrein[]; +extern const u8 gMonFootprint_Walrein[]; +extern const u8 gMonFrontPic_Cacnea[]; +extern const u8 gMonPalette_Cacnea[]; +extern const u8 gMonBackPic_Cacnea[]; +extern const u8 gMonShinyPalette_Cacnea[]; +extern const u8 gMonIcon_Cacnea[]; +extern const u8 gMonFootprint_Cacnea[]; +extern const u8 gMonFrontPic_Cacturne[]; +extern const u8 gMonPalette_Cacturne[]; +extern const u8 gMonBackPic_Cacturne[]; +extern const u8 gMonShinyPalette_Cacturne[]; +extern const u8 gMonIcon_Cacturne[]; +extern const u8 gMonFootprint_Cacturne[]; +extern const u8 gMonFrontPic_Snorunt[]; +extern const u8 gMonPalette_Snorunt[]; +extern const u8 gMonBackPic_Snorunt[]; +extern const u8 gMonShinyPalette_Snorunt[]; +extern const u8 gMonIcon_Snorunt[]; +extern const u8 gMonFootprint_Snorunt[]; +extern const u8 gMonFrontPic_Glalie[]; +extern const u8 gMonPalette_Glalie[]; +extern const u8 gMonBackPic_Glalie[]; +extern const u8 gMonShinyPalette_Glalie[]; +extern const u8 gMonIcon_Glalie[]; +extern const u8 gMonFootprint_Glalie[]; +extern const u8 gMonFrontPic_Lunatone[]; +extern const u8 gMonPalette_Lunatone[]; +extern const u8 gMonBackPic_Lunatone[]; +extern const u8 gMonShinyPalette_Lunatone[]; +extern const u8 gMonIcon_Lunatone[]; +extern const u8 gMonFootprint_Lunatone[]; +extern const u8 gMonFrontPic_Solrock[]; +extern const u8 gMonPalette_Solrock[]; +extern const u8 gMonBackPic_Solrock[]; +extern const u8 gMonShinyPalette_Solrock[]; +extern const u8 gMonIcon_Solrock[]; +extern const u8 gMonFootprint_Solrock[]; +extern const u8 gMonFrontPic_Azurill[]; +extern const u8 gMonPalette_Azurill[]; +extern const u8 gMonBackPic_Azurill[]; +extern const u8 gMonShinyPalette_Azurill[]; +extern const u8 gMonIcon_Azurill[]; +extern const u8 gMonFootprint_Azurill[]; +extern const u8 gMonFrontPic_Spoink[]; +extern const u8 gMonPalette_Spoink[]; +extern const u8 gMonBackPic_Spoink[]; +extern const u8 gMonShinyPalette_Spoink[]; +extern const u8 gMonIcon_Spoink[]; +extern const u8 gMonFootprint_Spoink[]; +extern const u8 gMonFrontPic_Grumpig[]; +extern const u8 gMonPalette_Grumpig[]; +extern const u8 gMonBackPic_Grumpig[]; +extern const u8 gMonShinyPalette_Grumpig[]; +extern const u8 gMonIcon_Grumpig[]; +extern const u8 gMonFootprint_Grumpig[]; +extern const u8 gMonFrontPic_Plusle[]; +extern const u8 gMonPalette_Plusle[]; +extern const u8 gMonBackPic_Plusle[]; +extern const u8 gMonShinyPalette_Plusle[]; +extern const u8 gMonIcon_Plusle[]; +extern const u8 gMonFootprint_Plusle[]; +extern const u8 gMonFrontPic_Minun[]; +extern const u8 gMonPalette_Minun[]; +extern const u8 gMonBackPic_Minun[]; +extern const u8 gMonShinyPalette_Minun[]; +extern const u8 gMonIcon_Minun[]; +extern const u8 gMonFootprint_Minun[]; +extern const u8 gMonFrontPic_Mawile[]; +extern const u8 gMonPalette_Mawile[]; +extern const u8 gMonBackPic_Mawile[]; +extern const u8 gMonShinyPalette_Mawile[]; +extern const u8 gMonIcon_Mawile[]; +extern const u8 gMonFootprint_Mawile[]; +extern const u8 gMonFrontPic_Meditite[]; +extern const u8 gMonPalette_Meditite[]; +extern const u8 gMonBackPic_Meditite[]; +extern const u8 gMonShinyPalette_Meditite[]; +extern const u8 gMonIcon_Meditite[]; +extern const u8 gMonFootprint_Meditite[]; +extern const u8 gMonFrontPic_Medicham[]; +extern const u8 gMonPalette_Medicham[]; +extern const u8 gMonBackPic_Medicham[]; +extern const u8 gMonShinyPalette_Medicham[]; +extern const u8 gMonIcon_Medicham[]; +extern const u8 gMonFootprint_Medicham[]; +extern const u8 gMonFrontPic_Swablu[]; +extern const u8 gMonPalette_Swablu[]; +extern const u8 gMonBackPic_Swablu[]; +extern const u8 gMonShinyPalette_Swablu[]; +extern const u8 gMonIcon_Swablu[]; +extern const u8 gMonFootprint_Swablu[]; +extern const u8 gMonFrontPic_Altaria[]; +extern const u8 gMonPalette_Altaria[]; +extern const u8 gMonBackPic_Altaria[]; +extern const u8 gMonShinyPalette_Altaria[]; +extern const u8 gMonIcon_Altaria[]; +extern const u8 gMonFootprint_Altaria[]; +extern const u8 gMonFrontPic_Wynaut[]; +extern const u8 gMonPalette_Wynaut[]; +extern const u8 gMonBackPic_Wynaut[]; +extern const u8 gMonShinyPalette_Wynaut[]; +extern const u8 gMonIcon_Wynaut[]; +extern const u8 gMonFootprint_Wynaut[]; +extern const u8 gMonFrontPic_Duskull[]; +extern const u8 gMonPalette_Duskull[]; +extern const u8 gMonBackPic_Duskull[]; +extern const u8 gMonShinyPalette_Duskull[]; +extern const u8 gMonIcon_Duskull[]; +extern const u8 gMonFootprint_Duskull[]; +extern const u8 gMonFrontPic_Dusclops[]; +extern const u8 gMonPalette_Dusclops[]; +extern const u8 gMonBackPic_Dusclops[]; +extern const u8 gMonShinyPalette_Dusclops[]; +extern const u8 gMonIcon_Dusclops[]; +extern const u8 gMonFootprint_Dusclops[]; +extern const u8 gMonFrontPic_Roselia[]; +extern const u8 gMonPalette_Roselia[]; +extern const u8 gMonBackPic_Roselia[]; +extern const u8 gMonShinyPalette_Roselia[]; +extern const u8 gMonIcon_Roselia[]; +extern const u8 gMonFootprint_Roselia[]; +extern const u8 gMonFrontPic_Slakoth[]; +extern const u8 gMonPalette_Slakoth[]; +extern const u8 gMonBackPic_Slakoth[]; +extern const u8 gMonShinyPalette_Slakoth[]; +extern const u8 gMonIcon_Slakoth[]; +extern const u8 gMonFootprint_Slakoth[]; +extern const u8 gMonFrontPic_Vigoroth[]; +extern const u8 gMonPalette_Vigoroth[]; +extern const u8 gMonBackPic_Vigoroth[]; +extern const u8 gMonShinyPalette_Vigoroth[]; +extern const u8 gMonIcon_Vigoroth[]; +extern const u8 gMonFootprint_Vigoroth[]; +extern const u8 gMonFrontPic_Slaking[]; +extern const u8 gMonPalette_Slaking[]; +extern const u8 gMonBackPic_Slaking[]; +extern const u8 gMonShinyPalette_Slaking[]; +extern const u8 gMonIcon_Slaking[]; +extern const u8 gMonFootprint_Slaking[]; +extern const u8 gMonFrontPic_Gulpin[]; +extern const u8 gMonPalette_Gulpin[]; +extern const u8 gMonBackPic_Gulpin[]; +extern const u8 gMonShinyPalette_Gulpin[]; +extern const u8 gMonIcon_Gulpin[]; +extern const u8 gMonFootprint_Gulpin[]; +extern const u8 gMonFrontPic_Swalot[]; +extern const u8 gMonPalette_Swalot[]; +extern const u8 gMonBackPic_Swalot[]; +extern const u8 gMonShinyPalette_Swalot[]; +extern const u8 gMonIcon_Swalot[]; +extern const u8 gMonFootprint_Swalot[]; +extern const u8 gMonFrontPic_Tropius[]; +extern const u8 gMonPalette_Tropius[]; +extern const u8 gMonBackPic_Tropius[]; +extern const u8 gMonShinyPalette_Tropius[]; +extern const u8 gMonIcon_Tropius[]; +extern const u8 gMonFootprint_Tropius[]; +extern const u8 gMonFrontPic_Whismur[]; +extern const u8 gMonPalette_Whismur[]; +extern const u8 gMonBackPic_Whismur[]; +extern const u8 gMonShinyPalette_Whismur[]; +extern const u8 gMonIcon_Whismur[]; +extern const u8 gMonFootprint_Whismur[]; +extern const u8 gMonFrontPic_Loudred[]; +extern const u8 gMonPalette_Loudred[]; +extern const u8 gMonBackPic_Loudred[]; +extern const u8 gMonShinyPalette_Loudred[]; +extern const u8 gMonIcon_Loudred[]; +extern const u8 gMonFootprint_Loudred[]; +extern const u8 gMonFrontPic_Exploud[]; +extern const u8 gMonPalette_Exploud[]; +extern const u8 gMonBackPic_Exploud[]; +extern const u8 gMonShinyPalette_Exploud[]; +extern const u8 gMonIcon_Exploud[]; +extern const u8 gMonFootprint_Exploud[]; +extern const u8 gMonFrontPic_Clamperl[]; +extern const u8 gMonPalette_Clamperl[]; +extern const u8 gMonBackPic_Clamperl[]; +extern const u8 gMonShinyPalette_Clamperl[]; +extern const u8 gMonIcon_Clamperl[]; +extern const u8 gMonFootprint_Clamperl[]; +extern const u8 gMonFrontPic_Huntail[]; +extern const u8 gMonPalette_Huntail[]; +extern const u8 gMonBackPic_Huntail[]; +extern const u8 gMonShinyPalette_Huntail[]; +extern const u8 gMonIcon_Huntail[]; +extern const u8 gMonFootprint_Huntail[]; +extern const u8 gMonFrontPic_Gorebyss[]; +extern const u8 gMonPalette_Gorebyss[]; +extern const u8 gMonBackPic_Gorebyss[]; +extern const u8 gMonShinyPalette_Gorebyss[]; +extern const u8 gMonIcon_Gorebyss[]; +extern const u8 gMonFootprint_Gorebyss[]; +extern const u8 gMonFrontPic_Absol[]; +extern const u8 gMonPalette_Absol[]; +extern const u8 gMonBackPic_Absol[]; +extern const u8 gMonShinyPalette_Absol[]; +extern const u8 gMonIcon_Absol[]; +extern const u8 gMonFootprint_Absol[]; +extern const u8 gMonFrontPic_Shuppet[]; +extern const u8 gMonPalette_Shuppet[]; +extern const u8 gMonBackPic_Shuppet[]; +extern const u8 gMonShinyPalette_Shuppet[]; +extern const u8 gMonIcon_Shuppet[]; +extern const u8 gMonFootprint_Shuppet[]; +extern const u8 gMonFrontPic_Banette[]; +extern const u8 gMonPalette_Banette[]; +extern const u8 gMonBackPic_Banette[]; +extern const u8 gMonShinyPalette_Banette[]; +extern const u8 gMonIcon_Banette[]; +extern const u8 gMonFootprint_Banette[]; +extern const u8 gMonFrontPic_Seviper[]; +extern const u8 gMonPalette_Seviper[]; +extern const u8 gMonBackPic_Seviper[]; +extern const u8 gMonShinyPalette_Seviper[]; +extern const u8 gMonIcon_Seviper[]; +extern const u8 gMonFootprint_Seviper[]; +extern const u8 gMonFrontPic_Zangoose[]; +extern const u8 gMonPalette_Zangoose[]; +extern const u8 gMonBackPic_Zangoose[]; +extern const u8 gMonShinyPalette_Zangoose[]; +extern const u8 gMonIcon_Zangoose[]; +extern const u8 gMonFootprint_Zangoose[]; +extern const u8 gMonFrontPic_Relicanth[]; +extern const u8 gMonPalette_Relicanth[]; +extern const u8 gMonBackPic_Relicanth[]; +extern const u8 gMonShinyPalette_Relicanth[]; +extern const u8 gMonIcon_Relicanth[]; +extern const u8 gMonFootprint_Relicanth[]; +extern const u8 gMonFrontPic_Aron[]; +extern const u8 gMonPalette_Aron[]; +extern const u8 gMonBackPic_Aron[]; +extern const u8 gMonShinyPalette_Aron[]; +extern const u8 gMonIcon_Aron[]; +extern const u8 gMonFootprint_Aron[]; +extern const u8 gMonFrontPic_Lairon[]; +extern const u8 gMonPalette_Lairon[]; +extern const u8 gMonBackPic_Lairon[]; +extern const u8 gMonShinyPalette_Lairon[]; +extern const u8 gMonIcon_Lairon[]; +extern const u8 gMonFootprint_Lairon[]; +extern const u8 gMonFrontPic_Aggron[]; +extern const u8 gMonPalette_Aggron[]; +extern const u8 gMonBackPic_Aggron[]; +extern const u8 gMonShinyPalette_Aggron[]; +extern const u8 gMonIcon_Aggron[]; +extern const u8 gMonFootprint_Aggron[]; +extern const u8 gMonFrontPic_Castform[]; +extern const u8 gMonPalette_Castform[]; +extern const u8 gMonBackPic_Castform[]; +extern const u8 gMonShinyPalette_Castform[]; +extern const u8 gMonIcon_Castform[]; +extern const u8 gMonFootprint_Castform[]; +extern const u8 gMonFrontPic_Volbeat[]; +extern const u8 gMonPalette_Volbeat[]; +extern const u8 gMonBackPic_Volbeat[]; +extern const u8 gMonShinyPalette_Volbeat[]; +extern const u8 gMonIcon_Volbeat[]; +extern const u8 gMonFootprint_Volbeat[]; +extern const u8 gMonFrontPic_Illumise[]; +extern const u8 gMonPalette_Illumise[]; +extern const u8 gMonBackPic_Illumise[]; +extern const u8 gMonShinyPalette_Illumise[]; +extern const u8 gMonIcon_Illumise[]; +extern const u8 gMonFootprint_Illumise[]; +extern const u8 gMonFrontPic_Lileep[]; +extern const u8 gMonPalette_Lileep[]; +extern const u8 gMonBackPic_Lileep[]; +extern const u8 gMonShinyPalette_Lileep[]; +extern const u8 gMonIcon_Lileep[]; +extern const u8 gMonFootprint_Lileep[]; +extern const u8 gMonFrontPic_Cradily[]; +extern const u8 gMonPalette_Cradily[]; +extern const u8 gMonBackPic_Cradily[]; +extern const u8 gMonShinyPalette_Cradily[]; +extern const u8 gMonIcon_Cradily[]; +extern const u8 gMonFootprint_Cradily[]; +extern const u8 gMonFrontPic_Anorith[]; +extern const u8 gMonPalette_Anorith[]; +extern const u8 gMonBackPic_Anorith[]; +extern const u8 gMonShinyPalette_Anorith[]; +extern const u8 gMonIcon_Anorith[]; +extern const u8 gMonFootprint_Anorith[]; +extern const u8 gMonFrontPic_Armaldo[]; +extern const u8 gMonPalette_Armaldo[]; +extern const u8 gMonBackPic_Armaldo[]; +extern const u8 gMonShinyPalette_Armaldo[]; +extern const u8 gMonIcon_Armaldo[]; +extern const u8 gMonFootprint_Armaldo[]; +extern const u8 gMonFrontPic_Ralts[]; +extern const u8 gMonPalette_Ralts[]; +extern const u8 gMonBackPic_Ralts[]; +extern const u8 gMonShinyPalette_Ralts[]; +extern const u8 gMonIcon_Ralts[]; +extern const u8 gMonFootprint_Ralts[]; +extern const u8 gMonFrontPic_Kirlia[]; +extern const u8 gMonPalette_Kirlia[]; +extern const u8 gMonBackPic_Kirlia[]; +extern const u8 gMonShinyPalette_Kirlia[]; +extern const u8 gMonIcon_Kirlia[]; +extern const u8 gMonFootprint_Kirlia[]; +extern const u8 gMonFrontPic_Gardevoir[]; +extern const u8 gMonPalette_Gardevoir[]; +extern const u8 gMonBackPic_Gardevoir[]; +extern const u8 gMonShinyPalette_Gardevoir[]; +extern const u8 gMonIcon_Gardevoir[]; +extern const u8 gMonFootprint_Gardevoir[]; +extern const u8 gMonFrontPic_Bagon[]; +extern const u8 gMonPalette_Bagon[]; +extern const u8 gMonBackPic_Bagon[]; +extern const u8 gMonShinyPalette_Bagon[]; +extern const u8 gMonIcon_Bagon[]; +extern const u8 gMonFootprint_Bagon[]; +extern const u8 gMonFrontPic_Shelgon[]; +extern const u8 gMonPalette_Shelgon[]; +extern const u8 gMonBackPic_Shelgon[]; +extern const u8 gMonShinyPalette_Shelgon[]; +extern const u8 gMonIcon_Shelgon[]; +extern const u8 gMonFootprint_Shelgon[]; +extern const u8 gMonFrontPic_Salamence[]; +extern const u8 gMonPalette_Salamence[]; +extern const u8 gMonBackPic_Salamence[]; +extern const u8 gMonShinyPalette_Salamence[]; +extern const u8 gMonIcon_Salamence[]; +extern const u8 gMonFootprint_Salamence[]; +extern const u8 gMonFrontPic_Beldum[]; +extern const u8 gMonPalette_Beldum[]; +extern const u8 gMonBackPic_Beldum[]; +extern const u8 gMonShinyPalette_Beldum[]; +extern const u8 gMonIcon_Beldum[]; +extern const u8 gMonFootprint_Beldum[]; +extern const u8 gMonFrontPic_Metang[]; +extern const u8 gMonPalette_Metang[]; +extern const u8 gMonBackPic_Metang[]; +extern const u8 gMonShinyPalette_Metang[]; +extern const u8 gMonIcon_Metang[]; +extern const u8 gMonFootprint_Metang[]; +extern const u8 gMonFrontPic_Metagross[]; +extern const u8 gMonPalette_Metagross[]; +extern const u8 gMonBackPic_Metagross[]; +extern const u8 gMonShinyPalette_Metagross[]; +extern const u8 gMonIcon_Metagross[]; +extern const u8 gMonFootprint_Metagross[]; +extern const u8 gMonFrontPic_Regirock[]; +extern const u8 gMonPalette_Regirock[]; +extern const u8 gMonBackPic_Regirock[]; +extern const u8 gMonShinyPalette_Regirock[]; +extern const u8 gMonIcon_Regirock[]; +extern const u8 gMonFootprint_Regirock[]; +extern const u8 gMonFrontPic_Regice[]; +extern const u8 gMonPalette_Regice[]; +extern const u8 gMonBackPic_Regice[]; +extern const u8 gMonShinyPalette_Regice[]; +extern const u8 gMonIcon_Regice[]; +extern const u8 gMonFootprint_Regice[]; +extern const u8 gMonFrontPic_Registeel[]; +extern const u8 gMonPalette_Registeel[]; +extern const u8 gMonBackPic_Registeel[]; +extern const u8 gMonShinyPalette_Registeel[]; +extern const u8 gMonIcon_Registeel[]; +extern const u8 gMonFootprint_Registeel[]; +extern const u8 gMonFrontPic_Kyogre[]; +extern const u8 gMonPalette_Kyogre[]; +extern const u8 gMonBackPic_Kyogre[]; +extern const u8 gMonShinyPalette_Kyogre[]; +extern const u8 gMonIcon_Kyogre[]; +extern const u8 gMonFootprint_Kyogre[]; +extern const u8 gMonFrontPic_Groudon[]; +extern const u8 gMonPalette_Groudon[]; +extern const u8 gMonBackPic_Groudon[]; +extern const u8 gMonShinyPalette_Groudon[]; +extern const u8 gMonIcon_Groudon[]; +extern const u8 gMonFootprint_Groudon[]; +extern const u8 gMonFrontPic_Rayquaza[]; +extern const u8 gMonPalette_Rayquaza[]; +extern const u8 gMonBackPic_Rayquaza[]; +extern const u8 gMonShinyPalette_Rayquaza[]; +extern const u8 gMonIcon_Rayquaza[]; +extern const u8 gMonFootprint_Rayquaza[]; +extern const u8 gMonFrontPic_Latias[]; +extern const u8 gMonPalette_Latias[]; +extern const u8 gMonBackPic_Latias[]; +extern const u8 gMonShinyPalette_Latias[]; +extern const u8 gMonIcon_Latias[]; +extern const u8 gMonFootprint_Latias[]; +extern const u8 gMonFrontPic_Latios[]; +extern const u8 gMonPalette_Latios[]; +extern const u8 gMonBackPic_Latios[]; +extern const u8 gMonShinyPalette_Latios[]; +extern const u8 gMonIcon_Latios[]; +extern const u8 gMonFootprint_Latios[]; +extern const u8 gMonFrontPic_Jirachi[]; +extern const u8 gMonPalette_Jirachi[]; +extern const u8 gMonBackPic_Jirachi[]; +extern const u8 gMonShinyPalette_Jirachi[]; +extern const u8 gMonIcon_Jirachi[]; +extern const u8 gMonFootprint_Jirachi[]; +extern const u8 gMonFrontPic_Deoxys[]; +extern const u8 gMonPalette_Deoxys[]; +extern const u8 gMonBackPic_Deoxys[]; +extern const u8 gMonShinyPalette_Deoxys[]; +extern const u8 gMonIcon_Deoxys[]; +extern const u8 gMonFootprint_Deoxys[]; +extern const u8 gMonFrontPic_Chimecho[]; +extern const u8 gMonPalette_Chimecho[]; +extern const u8 gMonBackPic_Chimecho[]; +extern const u8 gMonShinyPalette_Chimecho[]; +extern const u8 gMonIcon_Chimecho[]; +extern const u8 gMonFootprint_Chimecho[]; +extern const u8 gMonPic_Egg[]; +extern const u8 gMonPalette_Egg[]; +extern const u8 gMonFrontPic_UnownB[]; +extern const u8 gMonBackPic_UnownB[]; +extern const u8 gMonIcon_UnownB[]; +extern const u8 gMonFrontPic_UnownC[]; +extern const u8 gMonBackPic_UnownC[]; +extern const u8 gMonIcon_UnownC[]; +extern const u8 gMonFrontPic_UnownD[]; +extern const u8 gMonBackPic_UnownD[]; +extern const u8 gMonIcon_UnownD[]; +extern const u8 gMonFrontPic_UnownE[]; +extern const u8 gMonBackPic_UnownE[]; +extern const u8 gMonIcon_UnownE[]; +extern const u8 gMonFrontPic_UnownF[]; +extern const u8 gMonBackPic_UnownF[]; +extern const u8 gMonIcon_UnownF[]; +extern const u8 gMonFrontPic_UnownG[]; +extern const u8 gMonBackPic_UnownG[]; +extern const u8 gMonIcon_UnownG[]; +extern const u8 gMonFrontPic_UnownH[]; +extern const u8 gMonBackPic_UnownH[]; +extern const u8 gMonIcon_UnownH[]; +extern const u8 gMonFrontPic_UnownI[]; +extern const u8 gMonBackPic_UnownI[]; +extern const u8 gMonIcon_UnownI[]; +extern const u8 gMonFrontPic_UnownJ[]; +extern const u8 gMonBackPic_UnownJ[]; +extern const u8 gMonIcon_UnownJ[]; +extern const u8 gMonFrontPic_UnownK[]; +extern const u8 gMonBackPic_UnownK[]; +extern const u8 gMonIcon_UnownK[]; +extern const u8 gMonFrontPic_UnownL[]; +extern const u8 gMonBackPic_UnownL[]; +extern const u8 gMonIcon_UnownL[]; +extern const u8 gMonFrontPic_UnownM[]; +extern const u8 gMonBackPic_UnownM[]; +extern const u8 gMonIcon_UnownM[]; +extern const u8 gMonFrontPic_UnownN[]; +extern const u8 gMonBackPic_UnownN[]; +extern const u8 gMonIcon_UnownN[]; +extern const u8 gMonFrontPic_UnownO[]; +extern const u8 gMonBackPic_UnownO[]; +extern const u8 gMonIcon_UnownO[]; +extern const u8 gMonFrontPic_UnownP[]; +extern const u8 gMonBackPic_UnownP[]; +extern const u8 gMonIcon_UnownP[]; +extern const u8 gMonFrontPic_UnownQ[]; +extern const u8 gMonBackPic_UnownQ[]; +extern const u8 gMonIcon_UnownQ[]; +extern const u8 gMonFrontPic_UnownR[]; +extern const u8 gMonBackPic_UnownR[]; +extern const u8 gMonIcon_UnownR[]; +extern const u8 gMonFrontPic_UnownS[]; +extern const u8 gMonBackPic_UnownS[]; +extern const u8 gMonIcon_UnownS[]; +extern const u8 gMonFrontPic_UnownT[]; +extern const u8 gMonBackPic_UnownT[]; +extern const u8 gMonIcon_UnownT[]; +extern const u8 gMonFrontPic_UnownU[]; +extern const u8 gMonBackPic_UnownU[]; +extern const u8 gMonIcon_UnownU[]; +extern const u8 gMonFrontPic_UnownV[]; +extern const u8 gMonBackPic_UnownV[]; +extern const u8 gMonIcon_UnownV[]; +extern const u8 gMonFrontPic_UnownW[]; +extern const u8 gMonBackPic_UnownW[]; +extern const u8 gMonIcon_UnownW[]; +extern const u8 gMonFrontPic_UnownX[]; +extern const u8 gMonBackPic_UnownX[]; +extern const u8 gMonIcon_UnownX[]; +extern const u8 gMonFrontPic_UnownY[]; +extern const u8 gMonBackPic_UnownY[]; +extern const u8 gMonIcon_UnownY[]; +extern const u8 gMonFrontPic_UnownZ[]; +extern const u8 gMonBackPic_UnownZ[]; +extern const u8 gMonIcon_UnownZ[]; +extern const u8 gMonFrontPic_UnownExclamationMark[]; +extern const u8 gMonBackPic_UnownExclamationMark[]; +extern const u8 gMonIcon_UnownExclamationMark[]; +extern const u8 gMonFrontPic_UnownQuestionMark[]; +extern const u8 gMonBackPic_UnownQuestionMark[]; +extern const u8 gMonIcon_UnownQuestionMark[]; + +extern const u8 gMonIcon_QuestionMark[]; +extern const u8 gMonIcon_Egg[]; +extern const u16 gMonIconPalettes[][16]; + +// pokeblock +extern const u8 gMenuPokeblock_Gfx[]; +extern const u8 gMenuPokeblock_Pal[]; +extern const u8 gMenuPokeblock_Tilemap[]; +extern const u8 gMenuPokeblockDevice_Gfx[]; +extern const u8 gMenuPokeblockDevice_Pal[]; +extern const u8 gPokeblockRed_Pal[]; +extern const u8 gPokeblockBlue_Pal[]; +extern const u8 gPokeblockPink_Pal[]; +extern const u8 gPokeblockGreen_Pal[]; +extern const u8 gPokeblockYellow_Pal[]; +extern const u8 gPokeblockPurple_Pal[]; +extern const u8 gPokeblockIndigo_Pal[]; +extern const u8 gPokeblockBrown_Pal[]; +extern const u8 gPokeblockLiteBlue_Pal[]; +extern const u8 gPokeblockOlive_Pal[]; +extern const u8 gPokeblockGray_Pal[]; +extern const u8 gPokeblockBlack_Pal[]; +extern const u8 gPokeblockWhite_Pal[]; +extern const u8 gPokeblockGold_Pal[]; +extern const u8 gPokeblock_Gfx[]; + extern const u8 gItemIcon_QuestionMark[]; extern const u8 gItemIconPalette_QuestionMark[]; extern const u8 gUnknown_08DB7AA0[]; @@ -91,5 +2549,174 @@ extern const u8 gUnknown_08DB9F08[]; extern const u8 gUnknown_08DB9FFC[]; extern const u8 gUnknown_08DBA020[]; extern const u8 gUnknown_08DBA12C[]; +extern const u8 gWallclock_Gfx[]; +extern const u16 gWallclockMale_Pal[]; +extern const u16 gWallclockFemale_Pal[]; +extern const u8 gUnknown_08DCC648[]; +extern const u8 gUnknown_08DCC908[]; +extern const u8 gBerryFixGameboy_Gfx[]; +extern const u8 gBerryFixGameboy_Tilemap[]; +extern const u16 gBerryFixGameboy_Pal[]; +extern const u8 gBerryFixGameboyLogo_Gfx[]; +extern const u8 gBerryFixGameboyLogo_Tilemap[]; +extern const u16 gBerryFixGameboyLogo_Pal[]; +extern const u8 gBerryFixGbaTransfer_Gfx[]; +extern const u8 gBerryFixGbaTransfer_Tilemap[]; +extern const u16 gBerryFixGbaTransfer_Pal[]; +extern const u8 gBerryFixGbaTransferHighlight_Gfx[]; +extern const u8 gBerryFixGbaTransferHighlight_Tilemap[]; +extern const u16 gBerryFixGbaTransferHighlight_Pal[]; +extern const u8 gBerryFixGbaTransferError_Gfx[]; +extern const u8 gBerryFixGbaTransferError_Tilemap[]; +extern const u16 gBerryFixGbaTransferError_Pal[]; +extern const u8 gBerryFixWindow_Gfx[]; +extern const u8 gBerryFixWindow_Tilemap[]; +extern const u16 gBerryFixWindow_Pal[]; + +extern const u8 gBattleTextboxTiles[]; +extern const u8 gBattleTextboxTilemap[]; +extern const u8 gBattleTextboxPalette[]; +extern const u8 gUnknown_08D778F0[]; +extern const u8 gUnknown_08D77B0C[]; +extern const u8 gUnknown_08D77AE4[]; +extern const u8 gUnknown_08D779D8[]; +extern const u8 gUnknown_08D857A8[]; +extern const u8 gUnknown_08D85A1C[]; +extern const u8 gUnknown_08D85600[]; + +// battle terrains +extern const u8 gBattleTerrainTiles_TallGrass[]; +extern const u8 gBattleTerrainTilemap_TallGrass[]; +extern const u8 gBattleTerrainAnimTiles_TallGrass[]; +extern const u8 gBattleTerrainAnimTilemap_TallGrass[]; +extern const u8 gBattleTerrainPalette_TallGrass[]; +extern const u8 gBattleTerrainTiles_LongGrass[]; +extern const u8 gBattleTerrainTilemap_LongGrass[]; +extern const u8 gBattleTerrainAnimTiles_LongGrass[]; +extern const u8 gBattleTerrainAnimTilemap_LongGrass[]; +extern const u8 gBattleTerrainPalette_LongGrass[]; +extern const u8 gBattleTerrainTiles_Sand[]; +extern const u8 gBattleTerrainTilemap_Sand[]; +extern const u8 gBattleTerrainAnimTiles_Sand[]; +extern const u8 gBattleTerrainAnimTilemap_Sand[]; +extern const u8 gBattleTerrainPalette_Sand[]; +extern const u8 gBattleTerrainTiles_Underwater[]; +extern const u8 gBattleTerrainTilemap_Underwater[]; +extern const u8 gBattleTerrainAnimTiles_Underwater[]; +extern const u8 gBattleTerrainAnimTilemap_Underwater[]; +extern const u8 gBattleTerrainPalette_Underwater[]; +extern const u8 gBattleTerrainTiles_Water[]; +extern const u8 gBattleTerrainTilemap_Water[]; +extern const u8 gBattleTerrainAnimTiles_Water[]; +extern const u8 gBattleTerrainAnimTilemap_Water[]; +extern const u8 gBattleTerrainPalette_Water[]; +extern const u8 gBattleTerrainTiles_PondWater[]; +extern const u8 gBattleTerrainTilemap_PondWater[]; +extern const u8 gBattleTerrainAnimTiles_PondWater[]; +extern const u8 gBattleTerrainAnimTilemap_PondWater[]; +extern const u8 gBattleTerrainPalette_PondWater[]; +extern const u8 gBattleTerrainTiles_Rock[]; +extern const u8 gBattleTerrainTilemap_Rock[]; +extern const u8 gBattleTerrainAnimTiles_Rock[]; +extern const u8 gBattleTerrainAnimTilemap_Rock[]; +extern const u8 gBattleTerrainPalette_Rock[]; +extern const u8 gBattleTerrainTiles_Cave[]; +extern const u8 gBattleTerrainTilemap_Cave[]; +extern const u8 gBattleTerrainAnimTiles_Cave[]; +extern const u8 gBattleTerrainAnimTilemap_Cave[]; +extern const u8 gBattleTerrainPalette_Cave[]; +extern const u8 gBattleTerrainTiles_Building[]; +extern const u8 gBattleTerrainTilemap_Building[]; +extern const u8 gBattleTerrainAnimTiles_Building[]; +extern const u8 gBattleTerrainAnimTilemap_Building[]; +extern const u8 gBattleTerrainPalette_Building[]; +extern const u8 gBattleTerrainPalette_Plain[]; +extern const u8 gBattleTerrainPalette_Frontier[]; +extern const u8 gBattleTerrainTiles_Stadium[]; +extern const u8 gBattleTerrainTilemap_Stadium[]; +extern const u8 gBattleTerrainTiles_Rayquaza[]; +extern const u8 gBattleTerrainTilemap_Rayquaza[]; +extern const u8 gBattleTerrainAnimTiles_Rayquaza[]; +extern const u8 gBattleTerrainAnimTilemap_Rayquaza[]; +extern const u8 gBattleTerrainPalette_Rayquaza[]; +extern const u8 gBattleTerrainPalette_Kyogre[]; +extern const u8 gBattleTerrainPalette_Groudon[]; +extern const u8 gBattleTerrainPalette_BuildingGym[]; +extern const u8 gBattleTerrainPalette_BuildingLeader[]; +extern const u8 gBattleTerrainPalette_StadiumAqua[]; +extern const u8 gBattleTerrainPalette_StadiumMagma[]; +extern const u8 gBattleTerrainPalette_StadiumSidney[]; +extern const u8 gBattleTerrainPalette_StadiumPhoebe[]; +extern const u8 gBattleTerrainPalette_StadiumGlacia[]; +extern const u8 gBattleTerrainPalette_StadiumDrake[]; +extern const u8 gBattleTerrainPalette_StadiumWallace[]; + +extern const u8 gPokedexMenu2_Gfx[]; +extern const u8 gPokedexText_Pal[]; + +// berry tag screen +extern const u8 gUnknown_08D9BB44[]; +extern const u8 gUnknown_08D9BF98[]; +extern const u8 gUnknown_08D9C13C[]; +extern const u8 gUnknown_08D9BEF0[]; + +// rayquaza scene gfx +extern const u8 gRaySceneGroudon_Gfx[]; +extern const u8 gRaySceneGroudon2_Gfx[]; +extern const u8 gRaySceneGroudon3_Gfx[]; +extern const u8 gRaySceneKyogre_Gfx[]; +extern const u8 gRaySceneKyogre2_Gfx[]; +extern const u8 gRaySceneKyogre3_Gfx[]; +extern const u8 gRaySceneGroudon_Pal[]; +extern const u8 gRaySceneKyogre_Pal[]; +extern const u8 gRaySceneSmoke_Gfx[]; +extern const u8 gRaySceneSmoke_Pal[]; +extern const u8 gRaySceneRayquaza_Pal[]; +extern const u8 gRaySceneRayquazaFly1_Gfx[]; +extern const u8 gRaySceneRayquazaTail_Gfx[]; +extern const u8 gRaySceneGroudonLeft_Gfx[]; +extern const u8 gRaySceneGroudonTail_Gfx[]; +extern const u8 gRaySceneKyogreRight_Gfx[]; +extern const u8 gRaySceneRayquazaHover_Gfx[]; +extern const u8 gRaySceneRayquazaFlyIn_Gfx[]; +extern const u8 gRaySceneOvercast_Gfx[]; +extern const u8 gRaySceneOvercast_Tilemap[]; +extern const u8 gRaySceneRayquaza_Gfx[]; +extern const u8 gRaySceneRayquaza_Tilemap[]; +extern const u8 gRaySceneSplash_Gfx[]; +extern const u8 gRaySceneGroudonLeft_Pal[]; +extern const u8 gRaySceneKyogreRight_Pal[]; +extern const u8 gRaySceneRayquazaHover_Pal[]; +extern const u8 gRaySceneSplash_Pal[]; +extern const u8 gRaySceneClouds_Gfx[]; +extern const u8 gRaySceneClouds_Pal[]; +extern const u8 gRaySceneClouds2_Tilemap[]; +extern const u8 gRaySceneClouds1_Tilemap[]; +extern const u8 gRaySceneClouds3_Tilemap[]; +extern const u8 gRaySceneRayquazaLight_Gfx[]; +extern const u8 gRaySceneRayquazaLight_Tilemap[]; +extern const u8 gRaySceneOvercast2_Gfx[]; +extern const u8 gRaySceneOvercast2_Tilemap[]; +extern const u8 gRaySceneOvercast2_Pal[]; +extern const u8 gRaySceneRayquazaChase_Gfx[]; +extern const u8 gRaySceneChaseStreaks_Gfx[]; +extern const u8 gRaySceneChaseBg_Gfx[]; +extern const u8 gRayChaseRayquazaChase2_Tilemap[]; +extern const u8 gRayChaseRayquazaChase_Tilemap[]; +extern const u8 gRaySceneChaseStreaks_Tilemap[]; +extern const u8 gRaySceneChaseBg_Tilemap[]; +extern const u8 gRaySceneChase_Pal[]; +extern const u8 gRaySceneHushRing_Tilemap[]; +extern const u8 gRaySceneHushBg_Tilemap[]; +extern const u8 gRaySceneHushRing_Map[]; +extern const u8 gRaySceneHushBg_Pal[]; +extern const u8 gRaySceneHushBg_Gfx[]; +extern const u8 gRaySceneHushRing_Gfx[]; + +//menu graphics +extern const u16 gFireRedMenuElements1_Pal[16]; +extern const u16 gFireRedMenuElements2_Pal[16]; +extern const u16 gFireRedMenuElements3_Pal[16]; +extern const u8 gFireRedMenuElements_Gfx[]; #endif //GUARD_GRAPHICS_H diff --git a/include/hall_of_fame.h b/include/hall_of_fame.h index 62e84c39e4..d35ecf268c 100644 --- a/include/hall_of_fame.h +++ b/include/hall_of_fame.h @@ -1,9 +1,9 @@ #ifndef GUARD_HALL_OF_FAME_H #define GUARD_HALL_OF_FAME_H -void sub_8141F90(void); -void sub_8143648(u16 paletteTag, u8 arg1); -void sub_81428CC(void); -void sub_8143680(int, u8); +void CB2_DoHallOfFameScreen(void); +void CB2_DoHallOfFameScreenDontSaveData(void); +void CB2_DoHallOfFamePC(void); +void sub_8175280(void); #endif // GUARD_HALL_OF_FAME_H diff --git a/include/heal_location.h b/include/heal_location.h new file mode 100644 index 0000000000..1f966f1aea --- /dev/null +++ b/include/heal_location.h @@ -0,0 +1,25 @@ +#ifndef GUARD_HEAL_LOCATION_H +#define GUARD_HEAL_LOCATION_H + +// Exported type declarations + +struct UnkStruct_0859F534 { + const union AffineAnimCmd *const *const affineAnims; + void (* callback)(struct Sprite *sprite); +}; + +struct HealLocation +{ + s8 group; + s8 map; + u16 x; + u16 y; +}; + +// Exported RAM declarations + +// Exported ROM declarations + +const struct HealLocation *GetHealLocationPointer(u32 loc); + +#endif //GUARD_HEAL_LOCATION_H diff --git a/include/international_string_util.h b/include/international_string_util.h index 9d9735a524..f4ba827e3b 100644 --- a/include/international_string_util.h +++ b/include/international_string_util.h @@ -12,9 +12,9 @@ s32 GetStringWidthDifference(s32 fontId, const u8 *str, s32 totalWidth, s32 lett s32 GetMaxWidthInMenuTable(const struct MenuAction *str, s32 arg1); s32 sub_81DB3D8(const struct MenuAction *str, u8* arg1, s32 arg2); // sub_81DB41C -// sub_81DB468 +// CopyMonCategoryText // sub_81DB494 -// sub_81DB4DC +void PadNameString(u8 *dst, u8 padWith); // sub_81DB554 // sub_81DB5AC u32 sub_81DB604(const u8 *); diff --git a/include/intro.h b/include/intro.h new file mode 100644 index 0000000000..53a4464181 --- /dev/null +++ b/include/intro.h @@ -0,0 +1,8 @@ +#ifndef GUARD_INTRO_H +#define GUARD_INTRO_H + +void CB2_InitCopyrightScreenAfterBootup(void); +void CB2_InitCopyrightScreenAfterTitleScreen(void); +void sub_816F2A8(u16, u16, u16, u16); + +#endif // GUARD_INTRO_H diff --git a/include/item.h b/include/item.h index a136f03ec8..06eb080466 100644 --- a/include/item.h +++ b/include/item.h @@ -60,5 +60,6 @@ u8 ItemId_GetBattleUsage(u16 itemId); ItemUseFunc ItemId_GetBattleFunc(u16 itemId); u8 ItemId_GetSecondaryId(u16 itemId); u16 itemid_get_market_price(u16 itemId); +u16 BagGetItemIdByPocketPosition(u8 pocketId, u16 pocketPos); #endif // ITEM_H diff --git a/include/item_icon.h b/include/item_icon.h index a43b72f39a..b702b20457 100644 --- a/include/item_icon.h +++ b/include/item_icon.h @@ -1,17 +1,16 @@ -// -// Created by scott on 10/20/2017. -// - #ifndef GUARD_ITEM_ICON_H #define GUARD_ITEM_ICON_H -extern EWRAM_DATA void *gUnknown_0203CEBC; -extern EWRAM_DATA void *gUnknown_0203CEC0; +extern void *gItemIconDecompressionBuffer; +extern void *gItemIcon4x4Buffer; -extern const struct SpriteTemplate gUnknown_08614FF4; +extern const struct SpriteTemplate gItemIconSpriteTemplate; bool8 AllocItemIconTemporaryBuffers(void); -void CopyItemIconPicTo4x4Buffer(void *src, void *dest); void FreeItemIconTemporaryBuffers(void); +void CopyItemIconPicTo4x4Buffer(const void *src, void *dest); +u8 AddItemIconSprite(u16 tilesTag, u16 paletteTag, u16 itemId); +u8 AddCustomItemIconSprite(struct SpriteTemplate *customSpriteTemplate, u16 tilesTag, u16 paletteTag, u16 itemId); +const void *GetItemIconPicOrPalette(u16 itemId, u8 which); #endif //GUARD_ITEM_ICON_H diff --git a/include/item_menu.h b/include/item_menu.h index 85655e9d59..0ddd6766b9 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -2,11 +2,24 @@ #define GUARD_item_menu_H // Exported type declarations +struct BagStruct +{ + void *func; + u8 unk4; + u8 pocket; + u8 unk6[2]; + u16 unk8[5]; + u16 unk12[5]; + void *unk1C; +}; + +extern struct BagStruct gUnknown_0203CE58; // Exported RAM declarations // Exported ROM declarations void sub_81AAC50(void); void sub_81AAC70(void); +void bag_menu_mail_related(void); #endif //GUARD_item_menu_H diff --git a/include/item_menu_icons.h b/include/item_menu_icons.h new file mode 100644 index 0000000000..c3932390cb --- /dev/null +++ b/include/item_menu_icons.h @@ -0,0 +1,12 @@ +#ifndef GUARD_ITEM_MENU_ICONS +#define GUARD_ITEM_MENU_ICONS + +extern const struct CompressedSpriteSheet gUnknown_0857FDEC; +extern const struct CompressedSpritePalette gUnknown_0857FDF4; + +u8 sub_80D511C(u8 a0, u8 a1, u8 a2, u8 a3); +u8 CreateBerryTagSprite(u8 id, s16 x, s16 y); +void FreeBerryTagSpritePalette(void); +u8 CreateBerryFlavorCircleSprite(s16 x); + +#endif // GUARD_ITEM_MENU_ICONS diff --git a/include/item_use.h b/include/item_use.h new file mode 100644 index 0000000000..ee7939824e --- /dev/null +++ b/include/item_use.h @@ -0,0 +1,54 @@ +#ifndef GUARD_ITEM_USE_H +#define GUARD_ITEM_USE_H + +extern u16 gSpecialVar_ItemId; + +void ItemUseOutOfBattle_Mail(u8); +void ItemUseOutOfBattle_Bike(u8); +void ItemUseOnFieldCB_Bike(u8); +void ItemUseOutOfBattle_Rod(u8); +void ItemUseOnFieldCB_Rod(u8); +void ItemUseOutOfBattle_Itemfinder(u8); +void ItemUseOnFieldCB_Itemfinder(u8); +void RunItemfinderResults(u8); +void ExitItemfinder(u8); +bool8 ItemfinderCheckForHiddenItems(struct MapEvents *, u8); +void sub_80C9720(u8); +void sub_80C9838(u8, s16, s16); +u8 GetPlayerDirectionTowardsHiddenItem(s16, s16); +void SetPlayerDirectionTowardsItem(u8); +void DisplayItemRespondingMessageAndExitItemfinder(u8); +void RotatePlayerAndExitItemfinder(u8); +void ItemUseOutOfBattle_PokeblockCase(u8); +void ItemUseOutOfBattle_CoinCase(u8); +void ItemUseOutOfBattle_SSTicket(u8); +void sub_80C9D00(u8); +void ItemUseOutOfBattle_WailmerPail(u8); +void sub_80C9D74(u8); +void ItemUseOutOfBattle_Medicine(u8); +void ItemUseOutOfBattle_SacredAsh(u8); +void ItemUseOutOfBattle_PPRecovery(u8); +void ItemUseOutOfBattle_PPUp(u8); +void ItemUseOutOfBattle_RareCandy(u8); +void ItemUseOutOfBattle_TMHM(u8); +void sub_80C9EE4(u8); +void sub_80C9F10(u8); +void sub_80C9F80(u8); +void sub_80C9FC0(u8); +void ItemUseOutOfBattle_Repel(u8); +void ItemUseOutOfBattle_BlackWhiteFlute(u8); +void task08_080A1C44(u8); +u8 CanUseEscapeRopeOnCurrMap(void); +void ItemUseOutOfBattle_EscapeRope(u8); +void ItemUseOutOfBattle_EvolutionStone(u8); +void ItemUseInBattle_PokeBall(u8); +void ItemUseInBattle_StatIncrease(u8); +void ItemUseInBattle_Medicine(u8); +void ItemUseInBattle_PPRecovery(u8); +void ItemUseInBattle_Escape(u8); +void ItemUseOutOfBattle_EnigmaBerry(u8); +void ItemUseInBattle_EnigmaBerry(u8); +void ItemUseOutOfBattle_CannotUse(u8); +u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId); + +#endif // GUARD_ITEM_USE_H diff --git a/include/items.h b/include/items.h deleted file mode 100644 index b8cc23d828..0000000000 --- a/include/items.h +++ /dev/null @@ -1,398 +0,0 @@ -#ifndef GUARD_ITEMS_H -#define GUARD_ITEMS_H - -enum -{ - ITEM_NONE, // 0x000 - ITEM_MASTER_BALL, // 0x001 - ITEM_ULTRA_BALL, // 0x002 - ITEM_GREAT_BALL, // 0x003 - ITEM_POKE_BALL, // 0x004 - ITEM_SAFARI_BALL, // 0x005 - ITEM_NET_BALL, // 0x006 - ITEM_DIVE_BALL, // 0x007 - ITEM_NEST_BALL, // 0x008 - ITEM_REPEAT_BALL, // 0x009 - ITEM_TIMER_BALL, // 0x00a - ITEM_LUXURY_BALL, // 0x00b - ITEM_PREMIER_BALL, // 0x00c - ITEM_POTION, // 0x00d - ITEM_ANTIDOTE, // 0x00e - ITEM_BURN_HEAL, // 0x00f - ITEM_ICE_HEAL, // 0x010 - ITEM_AWAKENING, // 0x011 - ITEM_PARALYZE_HEAL, // 0x012 - ITEM_FULL_RESTORE, // 0x013 - ITEM_MAX_POTION, // 0x014 - ITEM_HYPER_POTION, // 0x015 - ITEM_SUPER_POTION, // 0x016 - ITEM_FULL_HEAL, // 0x017 - ITEM_REVIVE, // 0x018 - ITEM_MAX_REVIVE, // 0x019 - ITEM_FRESH_WATER, // 0x01a - ITEM_SODA_POP, // 0x01b - ITEM_LEMONADE, // 0x01c - ITEM_MOOMOO_MILK, // 0x01d - ITEM_ENERGY_POWDER, // 0x01e - ITEM_ENERGY_ROOT, // 0x01f - ITEM_HEAL_POWDER, // 0x020 - ITEM_REVIVAL_HERB, // 0x021 - ITEM_ETHER, // 0x022 - ITEM_MAX_ETHER, // 0x023 - ITEM_ELIXIR, // 0x024 - ITEM_MAX_ELIXIR, // 0x025 - ITEM_LAVA_COOKIE, // 0x026 - ITEM_BLUE_FLUTE, // 0x027 - ITEM_YELLOW_FLUTE, // 0x028 - ITEM_RED_FLUTE, // 0x029 - ITEM_BLACK_FLUTE, // 0x02a - ITEM_WHITE_FLUTE, // 0x02b - ITEM_BERRY_JUICE, // 0x02c - ITEM_SACRED_ASH, // 0x02d - ITEM_SHOAL_SALT, // 0x02e - ITEM_SHOAL_SHELL, // 0x02f - ITEM_RED_SHARD, // 0x030 - ITEM_BLUE_SHARD, // 0x031 - ITEM_YELLOW_SHARD, // 0x032 - ITEM_GREEN_SHARD, // 0x033 - ITEM_034, - ITEM_035, - ITEM_036, - ITEM_037, - ITEM_038, - ITEM_039, - ITEM_03A, - ITEM_03B, - ITEM_03C, - ITEM_03D, - ITEM_03E, - ITEM_HP_UP, // 0x03f - ITEM_PROTEIN, // 0x040 - ITEM_IRON, // 0x041 - ITEM_CARBOS, // 0x042 - ITEM_CALCIUM, // 0x043 - ITEM_RARE_CANDY, // 0x044 - ITEM_PP_UP, // 0x045 - ITEM_ZINC, // 0x046 - ITEM_PP_MAX, // 0x047 - ITEM_048, - ITEM_GUARD_SPEC, // 0x049 - ITEM_DIRE_HIT, // 0x04a - ITEM_X_ATTACK, // 0x04b - ITEM_X_DEFEND, // 0x04c - ITEM_X_SPEED, // 0x04d - ITEM_X_ACCURACY, // 0x04e - ITEM_X_SPECIAL, // 0x04f - ITEM_POKE_DOLL, // 0x050 - ITEM_FLUFFY_TAIL, // 0x051 - ITEM_052, - ITEM_SUPER_REPEL, // 0x053 - ITEM_MAX_REPEL, // 0x054 - ITEM_ESCAPE_ROPE, // 0x055 - ITEM_REPEL, // 0x056 - ITEM_057, - ITEM_058, - ITEM_059, - ITEM_05A, - ITEM_05B, - ITEM_05C, - ITEM_SUN_STONE, // 0x05d - ITEM_MOON_STONE, // 0x05e - ITEM_FIRE_STONE, // 0x05f - ITEM_THUNDER_STONE, // 0x060 - ITEM_WATER_STONE, // 0x061 - ITEM_LEAF_STONE, // 0x062 - ITEM_063, - ITEM_064, - ITEM_065, - ITEM_066, - ITEM_TINY_MUSHROOM, // 0x067 - ITEM_BIG_MUSHROOM, // 0x068 - ITEM_069, - ITEM_PEARL, // 0x06a - ITEM_BIG_PEARL, // 0x06b - ITEM_STARDUST, // 0x06c - ITEM_STAR_PIECE, // 0x06d - ITEM_NUGGET, // 0x06e - ITEM_HEART_SCALE, // 0x06f - ITEM_070, - ITEM_071, - ITEM_072, - ITEM_073, - ITEM_074, - ITEM_075, - ITEM_076, - ITEM_077, - ITEM_078, - ITEM_ORANGE_MAIL, // 0x079 - ITEM_HARBOR_MAIL, // 0x07a - ITEM_GLITTER_MAIL, // 0x07b - ITEM_MECH_MAIL, // 0x07c - ITEM_WOOD_MAIL, // 0x07d - ITEM_WAVE_MAIL, // 0x07e - ITEM_BEAD_MAIL, // 0x07f - ITEM_SHADOW_MAIL, // 0x080 - ITEM_TROPIC_MAIL, // 0x081 - ITEM_DREAM_MAIL, // 0x082 - ITEM_FAB_MAIL, // 0x083 - ITEM_RETRO_MAIL, // 0x084 - ITEM_CHERI_BERRY, // 0x085 - ITEM_CHESTO_BERRY, // 0x086 - ITEM_PECHA_BERRY, // 0x087 - ITEM_RAWST_BERRY, // 0x088 - ITEM_ASPEAR_BERRY, // 0x089 - ITEM_LEPPA_BERRY, // 0x08a - ITEM_ORAN_BERRY, // 0x08b - ITEM_PERSIM_BERRY, // 0x08c - ITEM_LUM_BERRY, // 0x08d - ITEM_SITRUS_BERRY, // 0x08e - ITEM_FIGY_BERRY, // 0x08f - ITEM_WIKI_BERRY, // 0x090 - ITEM_MAGO_BERRY, // 0x091 - ITEM_AGUAV_BERRY, // 0x092 - ITEM_IAPAPA_BERRY, // 0x093 - ITEM_RAZZ_BERRY, // 0x094 - ITEM_BLUK_BERRY, // 0x095 - ITEM_NANAB_BERRY, // 0x096 - ITEM_WEPEAR_BERRY, // 0x097 - ITEM_PINAP_BERRY, // 0x098 - ITEM_POMEG_BERRY, // 0x099 - ITEM_KELPSY_BERRY, // 0x09a - ITEM_QUALOT_BERRY, // 0x09b - ITEM_HONDEW_BERRY, // 0x09c - ITEM_GREPA_BERRY, // 0x09d - ITEM_TAMATO_BERRY, // 0x09e - ITEM_CORNN_BERRY, // 0x09f - ITEM_MAGOST_BERRY, // 0x0a0 - ITEM_RABUTA_BERRY, // 0x0a1 - ITEM_NOMEL_BERRY, // 0x0a2 - ITEM_SPELON_BERRY, // 0x0a3 - ITEM_PAMTRE_BERRY, // 0x0a4 - ITEM_WATMEL_BERRY, // 0x0a5 - ITEM_DURIN_BERRY, // 0x0a6 - ITEM_BELUE_BERRY, // 0x0a7 - ITEM_LIECHI_BERRY, // 0x0a8 - ITEM_GANLON_BERRY, // 0x0a9 - ITEM_SALAC_BERRY, // 0x0aa - ITEM_PETAYA_BERRY, // 0x0ab - ITEM_APICOT_BERRY, // 0x0ac - ITEM_LANSAT_BERRY, // 0x0ad - ITEM_STARF_BERRY, // 0x0ae - ITEM_ENIGMA_BERRY, // 0x0af - ITEM_0B0, - ITEM_0B1, - ITEM_0B2, - ITEM_BRIGHT_POWDER, // 0x0b3 - ITEM_WHITE_HERB, // 0x0b4 - ITEM_MACHO_BRACE, // 0x0b5 - ITEM_EXP_SHARE, // 0x0b6 - ITEM_QUICK_CLAW, // 0x0b7 - ITEM_SOOTHE_BELL, // 0x0b8 - ITEM_MENTAL_HERB, // 0x0b9 - ITEM_CHOICE_BAND, // 0x0ba - ITEM_KINGS_ROCK, // 0x0bb - ITEM_SILVER_POWDER, // 0x0bc - ITEM_AMULET_COIN, // 0x0bd - ITEM_CLEANSE_TAG, // 0x0be - ITEM_SOUL_DEW, // 0x0bf - ITEM_DEEP_SEA_TOOTH, // 0x0c0 - ITEM_DEEP_SEA_SCALE, // 0x0c1 - ITEM_SMOKE_BALL, // 0x0c2 - ITEM_EVERSTONE, // 0x0c3 - ITEM_FOCUS_BAND, // 0x0c4 - ITEM_LUCKY_EGG, // 0x0c5 - ITEM_SCOPE_LENS, // 0x0c6 - ITEM_METAL_COAT, // 0x0c7 - ITEM_LEFTOVERS, // 0x0c8 - ITEM_DRAGON_SCALE, // 0x0c9 - ITEM_LIGHT_BALL, // 0x0ca - ITEM_SOFT_SAND, // 0x0cb - ITEM_HARD_STONE, // 0x0cc - ITEM_MIRACLE_SEED, // 0x0cd - ITEM_BLACK_GLASSES, // 0x0ce - ITEM_BLACK_BELT, // 0x0cf - ITEM_MAGNET, // 0x0d0 - ITEM_MYSTIC_WATER, // 0x0d1 - ITEM_SHARP_BEAK, // 0x0d2 - ITEM_POISON_BARB, // 0x0d3 - ITEM_NEVER_MELT_ICE, // 0x0d4 - ITEM_SPELL_TAG, // 0x0d5 - ITEM_TWISTED_SPOON, // 0x0d6 - ITEM_CHARCOAL, // 0x0d7 - ITEM_DRAGON_FANG, // 0x0d8 - ITEM_SILK_SCARF, // 0x0d9 - ITEM_UP_GRADE, // 0x0da - ITEM_SHELL_BELL, // 0x0db - ITEM_SEA_INCENSE, // 0x0dc - ITEM_LAX_INCENSE, // 0x0dd - ITEM_LUCKY_PUNCH, // 0x0de - ITEM_METAL_POWDER, // 0x0df - ITEM_THICK_CLUB, // 0x0e0 - ITEM_STICK, // 0x0e1 - ITEM_0E2, - ITEM_0E3, - ITEM_0E4, - ITEM_0E5, - ITEM_0E6, - ITEM_0E7, - ITEM_0E8, - ITEM_0E9, - ITEM_0EA, - ITEM_0EB, - ITEM_0EC, - ITEM_0ED, - ITEM_0EE, - ITEM_0EF, - ITEM_0F0, - ITEM_0F1, - ITEM_0F2, - ITEM_0F3, - ITEM_0F4, - ITEM_0F5, - ITEM_0F6, - ITEM_0F7, - ITEM_0F8, - ITEM_0F9, - ITEM_0FA, - ITEM_0FB, - ITEM_0FC, - ITEM_0FD, - ITEM_RED_SCARF, // 0x0fe - ITEM_BLUE_SCARF, // 0x0ff - ITEM_PINK_SCARF, // 0x100 - ITEM_GREEN_SCARF, // 0x101 - ITEM_YELLOW_SCARF, // 0x102 - ITEM_MACH_BIKE, // 0x103 - ITEM_COIN_CASE, // 0x104 - ITEM_ITEMFINDER, // 0x105 - ITEM_OLD_ROD, // 0x106 - ITEM_GOOD_ROD, // 0x107 - ITEM_SUPER_ROD, // 0x108 - ITEM_SS_TICKET, // 0x109 - ITEM_CONTEST_PASS, // 0x10a - ITEM_10B, - ITEM_WAILMER_PAIL, // 0x10c - ITEM_DEVON_GOODS, // 0x10d - ITEM_SOOT_SACK, // 0x10e - ITEM_BASEMENT_KEY, // 0x10f - ITEM_ACRO_BIKE, // 0x110 - ITEM_POKEBLOCK_CASE, // 0x111 - ITEM_LETTER, // 0x112 - ITEM_EON_TICKET, // 0x113 - ITEM_RED_ORB, // 0x114 - ITEM_BLUE_ORB, // 0x115 - ITEM_SCANNER, // 0x116 - ITEM_GO_GOGGLES, // 0x117 - ITEM_METEORITE, // 0x118 - ITEM_ROOM_1_KEY, // 0x119 - ITEM_ROOM_2_KEY, // 0x11a - ITEM_ROOM_4_KEY, // 0x11b - ITEM_ROOM_6_KEY, // 0x11c - ITEM_STORAGE_KEY, // 0x11d - ITEM_ROOT_FOSSIL, // 0x11e - ITEM_CLAW_FOSSIL, // 0x11f - ITEM_DEVON_SCOPE, // 0x120 - ITEM_TM01, // 0x121 - ITEM_TM02, // 0x122 - ITEM_TM03, // 0x123 - ITEM_TM04, // 0x124 - ITEM_TM05, // 0x125 - ITEM_TM06, // 0x126 - ITEM_TM07, // 0x127 - ITEM_TM08, // 0x128 - ITEM_TM09, // 0x129 - ITEM_TM10, // 0x12a - ITEM_TM11, // 0x12b - ITEM_TM12, // 0x12c - ITEM_TM13, // 0x12d - ITEM_TM14, // 0x12e - ITEM_TM15, // 0x12f - ITEM_TM16, // 0x130 - ITEM_TM17, // 0x131 - ITEM_TM18, // 0x132 - ITEM_TM19, // 0x133 - ITEM_TM20, // 0x134 - ITEM_TM21, // 0x135 - ITEM_TM22, // 0x136 - ITEM_TM23, // 0x137 - ITEM_TM24, // 0x138 - ITEM_TM25, // 0x139 - ITEM_TM26, // 0x13a - ITEM_TM27, // 0x13b - ITEM_TM28, // 0x13c - ITEM_TM29, // 0x13d - ITEM_TM30, // 0x13e - ITEM_TM31, // 0x13f - ITEM_TM32, // 0x140 - ITEM_TM33, // 0x141 - ITEM_TM34, // 0x142 - ITEM_TM35, // 0x143 - ITEM_TM36, // 0x144 - ITEM_TM37, // 0x145 - ITEM_TM38, // 0x146 - ITEM_TM39, // 0x147 - ITEM_TM40, // 0x148 - ITEM_TM41, // 0x149 - ITEM_TM42, // 0x14a - ITEM_TM43, // 0x14b - ITEM_TM44, // 0x14c - ITEM_TM45, // 0x14d - ITEM_TM46, // 0x14e - ITEM_TM47, // 0x14f - ITEM_TM48, // 0x150 - ITEM_TM49, // 0x151 - ITEM_TM50, // 0x152 - ITEM_HM01, // 0x153 - ITEM_HM02, // 0x154 - ITEM_HM03, // 0x155 - ITEM_HM04, // 0x156 - ITEM_HM05, // 0x157 - ITEM_HM06, // 0x158 - ITEM_HM07, // 0x159 - ITEM_HM08, // 0x15a - ITEM_15B, - ITEM_15C, - - // FireRed/LeafGreen - ITEM_OAKS_PARCEL, // 0x15d - ITEM_POKE_FLUTE, // 0x15e - ITEM_SECRET_KEY, // 0x15f - ITEM_BIKE_VOUCHER, // 0x160 - ITEM_GOLD_TEETH, // 0x161 - ITEM_OLD_AMBER, // 0x162 - ITEM_CARD_KEY, // 0x163 - ITEM_LIFT_KEY, // 0x164 - ITEM_HELIX_FOSSIL, // 0x165 - ITEM_DOME_FOSSIL, // 0x166 - ITEM_SILPH_SCOPE, // 0x167 - ITEM_BICYCLE, // 0x168 - ITEM_TOWN_MAP, // 0x169 - ITEM_VS_SEEKER, // 0x16a - ITEM_FAME_CHECKER, // 0x16b - ITEM_TM_CASE, // 0x16c - ITEM_BERRY_POUCH, // 0x16d - ITEM_TEACHY_TV, // 0x16e - ITEM_TRI_PASS, // 0x16f - ITEM_RAINBOW_PASS, // 0x170 - ITEM_TEA, // 0x171 - ITEM_MYSTIC_TICKET, // 0x172 - ITEM_AURORA_TICKET, // 0x173 - ITEM_POWDER_JAR, // 0x174 - ITEM_RUBY, // 0x175 - ITEM_SAPPHIRE, // 0x176 - - // Emerald - ITEM_MAGMA_EMBLEM, // 0x177 - ITEM_OLD_SEA_MAP, // 0x178 -}; - -enum -{ - ITEMS_POCKET, - BALLS_POCKET, - TMHM_POCKET, - BERRIES_POCKET, - KEYITEMS_POCKET -}; - -#endif // GUARD_ITEMS_H diff --git a/include/landmark.h b/include/landmark.h new file mode 100644 index 0000000000..395905033a --- /dev/null +++ b/include/landmark.h @@ -0,0 +1,6 @@ +#ifndef GUARD_LANDMARK_H +#define GUARD_LANDMARK_H + +const u8 *GetLandmarkName(u8 mapSection, u8 id, u8 count); + +#endif // GUARD_LANDMARK_H diff --git a/include/lilycove_lady.h b/include/lilycove_lady.h index 66922273e1..f26285d687 100644 --- a/include/lilycove_lady.h +++ b/include/lilycove_lady.h @@ -7,7 +7,7 @@ void sub_818DA78(void); void sub_818DEF4(void); void sub_818E564(void); void sub_818E570(const LilycoveLady *lilycoveLady); -bool8 sub_818E704(struct Pokeblock *pokeblock); +bool8 GivePokeblockToContestLady(struct Pokeblock *pokeblock); void sub_818E7E0(u8 *dest1, u8 *dest2); void sub_818E81C(u8 *dest); void sub_818E848(u8 *dest); diff --git a/include/link.h b/include/link.h index a33c7da890..709bdc399e 100644 --- a/include/link.h +++ b/include/link.h @@ -2,12 +2,11 @@ #define GUARD_LINK_H #define MAX_LINK_PLAYERS 4 +#define MAX_RFU_PLAYERS 5 #define CMD_LENGTH 8 #define QUEUE_CAPACITY 50 #define BLOCK_BUFFER_SIZE 0x100 -#define gBlockSendBuffer gUnknown_020228C4 // FIXME - #define LINK_STAT_LOCAL_ID 0x00000003 #define LINK_STAT_PLAYER_COUNT 0x0000001C #define LINK_STAT_PLAYER_COUNT_SHIFT 2 @@ -70,7 +69,7 @@ struct LinkPlayer /* 0x08 */ u8 name[11]; /* 0x13 */ u8 gender; /* 0x14 */ u32 linkType; - /* 0x18 */ u16 lp_field_18; + /* 0x18 */ u16 lp_field_18; // battle bank in battles /* 0x1A */ u16 language; }; @@ -133,7 +132,7 @@ struct BlockRequest extern const struct BlockRequest sBlockRequestLookupTable[5]; extern struct Link gLink; -extern u16 gRecvCmds[CMD_LENGTH][MAX_LINK_PLAYERS]; +extern u16 gRecvCmds[MAX_RFU_PLAYERS][CMD_LENGTH]; extern u8 gBlockSendBuffer[BLOCK_BUFFER_SIZE]; extern u16 gLinkType; extern u32 gLinkStatus; @@ -144,8 +143,9 @@ extern struct LinkPlayer gLinkPlayers[]; extern u16 word_3002910[]; extern bool8 gReceivedRemoteLinkPlayers; extern bool8 gLinkVSyncDisabled; +extern u32 gLinkStatus; -void Task_DestroySelf(u8); +void Task_DestroySelf(u8 taskId); void OpenLink(void); void CloseLink(void); u16 LinkMain2(u16 *); @@ -181,6 +181,7 @@ void LinkVSync(void); void Timer3Intr(void); void SerialCB(void); u8 GetLinkPlayerCount(void); +bool32 InUnionRoom(void); void sub_800E0E8(void); bool8 sub_800A520(void); @@ -188,11 +189,9 @@ bool8 sub_8010500(void); void sub_800DFB4(u8, u8); void sub_800ADF8(void); void sub_800B488(void); -void sub_8009734(void); +void OpenLink(void); void sub_800A620(void); void sub_8011BD0(void); -u8 sub_800ABAC(void); -u8 sub_800ABBC(void); void sub_800AC34(void); bool32 Link_AnyPartnersPlayingRubyOrSapphire(void); bool32 sub_800A03C(void); @@ -202,5 +201,6 @@ void sub_8009FAC(void); void sub_800A4D8(u8); u8 sub_800A9D8(void); bool8 sub_801048C(u8); +u8 sub_800A0C8(s32, s32); #endif // GUARD_LINK_H diff --git a/include/list_menu.h b/include/list_menu.h index 93005e4822..8b793c0e4a 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -1,38 +1,45 @@ #ifndef GUARD_LIST_MENU_H #define GUARD_LIST_MENU_H +#define LIST_NOTHING_CHOSEN -1 +#define LIST_B_PRESSED -2 + // Exported type declarations // Exported RAM declarations -struct ListMenuItem { - const u8 *unk_00; - s32 unk_04; +struct ListMenuItem +{ + const u8 *name; + s32 id; }; struct ListMenu; -struct ListMenuTemplate { - struct ListMenuItem *unk_00; - void (* unk_04)(u32, bool8, struct ListMenu *); +struct ListMenuTemplate +{ + const struct ListMenuItem *items; + void (* moveCursorFunc)(u32, bool8, struct ListMenu *); void (* unk_08)(u8, s32, u8); - u16 unk_0c; - u16 unk_0e; + u16 totalItems; + u16 maxShowed; u8 unk_10; u8 unk_11; u8 unk_12; - u8 unk_13; - u32 unk_14_0:4; - u32 unk_14_4:4; - u32 unk_15_0:4; - u32 unk_15_4:4; - u32 unk_16_0:1; - u32 unk_16_1:6; - u32 unk_16_7:1; - u32 unk_17_0:6; + u8 cursor_Y; + u32 upText_Y:4; // x1, x2, x4, x8 = xF + u32 cursorColor:4; // x10, x20, x40, x80 = xF0 + u32 fillColor:4; // x100, x200, x400, x800 = xF00 + u32 cursorShadowColor:4; // x1000, x2000, x4000, x8000 = xF000 + u32 unk_16_0:1; // x10000 + u32 spaceBetweenItems:6; // x20000, x40000, x80000, x100000, x200000, x400000 = x7E0000 + u32 unk_16_7:1; // x800000 + u32 unk_17_0:6; // x1000000, x2000000, x4000000, x8000000, x10000000, x20000000 = x3F000000 + u32 cursorKind:2; // x40000000, x80000000 }; -struct ListMenu { +struct ListMenu +{ struct ListMenuTemplate _template; u16 scrollOffset; u16 selectedRow; @@ -42,13 +49,13 @@ struct ListMenu { u8 unk_1F; }; -extern struct ListMenuTemplate gUnknown_03006310; +extern struct ListMenuTemplate gMultiuseListMenuTemplate; // Exported ROM declarations -u8 ListMenuInit(struct ListMenuTemplate *template, u16 a1, u16 a2); -s32 ListMenuHandleInput(u8 id); -void get_coro_args_x18_x1A(u8 a0, u16 *a1, u16 *a2); -void sub_81AE6C8(u8 a0, u16 *a1, u16 *a2); +u8 ListMenuInit(struct ListMenuTemplate *template, u16 cursorPage, u16 cursorPosition); +s32 ListMenuHandleInputGetItemId(u8 listTaskId); +void sub_81AE860(u8 listTaskId, u16 *a1, u16 *a2); +void sub_81AE6C8(u8 listTaskId, u16 *a1, u16 *a2); #endif //GUARD_LIST_MENU_H diff --git a/include/mail.h b/include/mail.h index 16ca1f6766..0425866539 100644 --- a/include/mail.h +++ b/include/mail.h @@ -1,8 +1,6 @@ #ifndef GUARD_MAIL_H #define GUARD_MAIL_H -#include "items.h" - #define IS_ITEM_MAIL(itemId)((itemId == ITEM_ORANGE_MAIL \ || itemId == ITEM_HARBOR_MAIL \ || itemId == ITEM_GLITTER_MAIL \ @@ -16,4 +14,20 @@ || itemId == ITEM_FAB_MAIL \ || itemId == ITEM_RETRO_MAIL)) +// mail.h +void ReadMail(struct MailStruct *mail, void (*callback)(void), bool8 flag); + +// mail_data.h +void ClearMailData(void); +void ClearMailStruct(struct MailStruct *mail); +bool8 MonHasMail(struct Pokemon *mon); +u8 GiveMailToMon(struct Pokemon *mon, u16 itemId); +u16 SpeciesToMailSpecies(u16 species, u32 personality); +u16 MailSpeciesToSpecies(u16 mailSpecies, u16 *buffer); +u8 GiveMailToMon2(struct Pokemon *mon, struct MailStruct *mail); +void TakeMailFromMon(struct Pokemon *mon); +void ClearMailItemId(u8 mailId); +u8 TakeMailFromMon2(struct Pokemon *mon); +bool8 ItemIsMail(u16 itemId); + #endif // GUARD_MAIL_H diff --git a/include/mail_data.h b/include/mail_data.h deleted file mode 100644 index bf6540badd..0000000000 --- a/include/mail_data.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef GUARD_MAIL_DATA_H -#define GUARD_MAIL_DATA_H - -// Exported type declarations - -// Exported RAM declarations - -// Exported ROM declarations - -u16 sub_80D45E8(u16, u16 *); - -#endif //GUARD_MAIL_DATA_H diff --git a/include/main.h b/include/main.h index e283d1754c..40a2580a27 100644 --- a/include/main.h +++ b/include/main.h @@ -60,5 +60,7 @@ void SetSerialCallback(IntrCallback callback); void InitFlashTimer(void); void DoSoftReset(void); void ClearPokemonCrySongs(void); +void StartTimer1(void); +void SeedRngAndSetTrainerId(void); #endif // GUARD_MAIN_H diff --git a/include/main_menu.h b/include/main_menu.h new file mode 100644 index 0000000000..08cd913dcb --- /dev/null +++ b/include/main_menu.h @@ -0,0 +1,6 @@ +#ifndef GUARD_MAIN_MENU_H +#define GUARD_MAIN_MENU_H + +void CB2_InitMainMenu(void); + +#endif // GUARD_MAIN_MENU_H diff --git a/include/malloc.h b/include/malloc.h index f3a7317975..003ee1f033 100644 --- a/include/malloc.h +++ b/include/malloc.h @@ -5,6 +5,12 @@ #define calloc(ct, sz) AllocZeroed((ct) * (sz)) #define free Free +#define FREE_AND_SET_NULL(ptr) \ +{ \ + free(ptr); \ + ptr = NULL; \ +} + extern u8 gHeap[]; void *Alloc(u32 size); void *AllocZeroed(u32 size); diff --git a/include/map_constants.h b/include/map_constants.h deleted file mode 100644 index 6199793c8a..0000000000 --- a/include/map_constants.h +++ /dev/null @@ -1,1342 +0,0 @@ -#ifndef GUARD_MAP_CONSTANTS_H -#define GUARD_MAP_CONSTANTS_H - -//-------------------------------------------------- -// Map Group 0 -//-------------------------------------------------- - -enum -{ - MAP_ID_PETALBURG_CITY, - MAP_ID_SLATEPORT_CITY, - MAP_ID_MAUVILLE_CITY, - MAP_ID_RUSTBORO_CITY, - MAP_ID_FORTREE_CITY, - MAP_ID_LILYCOVE_CITY, - MAP_ID_MOSSDEEP_CITY, - MAP_ID_SOOTOPOLIS_CITY, - MAP_ID_EVER_GRANDE_CITY, - MAP_ID_LITTLEROOT_TOWN, - MAP_ID_OLDALE_TOWN, - MAP_ID_DEWFORD_TOWN, - MAP_ID_LAVARIDGE_TOWN, - MAP_ID_FALLARBOR_TOWN, - MAP_ID_VERDANTURF_TOWN, - MAP_ID_PACIFIDLOG_TOWN, - MAP_ID_ROUTE101, - MAP_ID_ROUTE102, - MAP_ID_ROUTE103, - MAP_ID_ROUTE104, - MAP_ID_ROUTE105, - MAP_ID_ROUTE106, - MAP_ID_ROUTE107, - MAP_ID_ROUTE108, - MAP_ID_ROUTE109, - MAP_ID_ROUTE110, - MAP_ID_ROUTE111, - MAP_ID_ROUTE112, - MAP_ID_ROUTE113, - MAP_ID_ROUTE114, - MAP_ID_ROUTE115, - MAP_ID_ROUTE116, - MAP_ID_ROUTE117, - MAP_ID_ROUTE118, - MAP_ID_ROUTE119, - MAP_ID_ROUTE120, - MAP_ID_ROUTE121, - MAP_ID_ROUTE122, - MAP_ID_ROUTE123, - MAP_ID_ROUTE124, - MAP_ID_ROUTE125, - MAP_ID_ROUTE126, - MAP_ID_ROUTE127, - MAP_ID_ROUTE128, - MAP_ID_ROUTE129, - MAP_ID_ROUTE130, - MAP_ID_ROUTE131, - MAP_ID_ROUTE132, - MAP_ID_ROUTE133, - MAP_ID_ROUTE134, - MAP_ID_UNDERWATER1, - MAP_ID_UNDERWATER2, - MAP_ID_UNDERWATER3, - MAP_ID_UNDERWATER4, - MAP_ID_UNDERWATER5, - MAP_ID_UNDERWATER6, - MAP_ID_UNDERWATER7, -}; - -#define MAP_GROUP_PETALBURG_CITY 0 -#define MAP_GROUP_SLATEPORT_CITY 0 -#define MAP_GROUP_MAUVILLE_CITY 0 -#define MAP_GROUP_RUSTBORO_CITY 0 -#define MAP_GROUP_FORTREE_CITY 0 -#define MAP_GROUP_LILYCOVE_CITY 0 -#define MAP_GROUP_MOSSDEEP_CITY 0 -#define MAP_GROUP_SOOTOPOLIS_CITY 0 -#define MAP_GROUP_EVER_GRANDE_CITY 0 -#define MAP_GROUP_LITTLEROOT_TOWN 0 -#define MAP_GROUP_OLDALE_TOWN 0 -#define MAP_GROUP_DEWFORD_TOWN 0 -#define MAP_GROUP_LAVARIDGE_TOWN 0 -#define MAP_GROUP_FALLARBOR_TOWN 0 -#define MAP_GROUP_VERDANTURF_TOWN 0 -#define MAP_GROUP_PACIFIDLOG_TOWN 0 -#define MAP_GROUP_ROUTE101 0 -#define MAP_GROUP_ROUTE102 0 -#define MAP_GROUP_ROUTE103 0 -#define MAP_GROUP_ROUTE104 0 -#define MAP_GROUP_ROUTE105 0 -#define MAP_GROUP_ROUTE106 0 -#define MAP_GROUP_ROUTE107 0 -#define MAP_GROUP_ROUTE108 0 -#define MAP_GROUP_ROUTE109 0 -#define MAP_GROUP_ROUTE110 0 -#define MAP_GROUP_ROUTE111 0 -#define MAP_GROUP_ROUTE112 0 -#define MAP_GROUP_ROUTE113 0 -#define MAP_GROUP_ROUTE114 0 -#define MAP_GROUP_ROUTE115 0 -#define MAP_GROUP_ROUTE116 0 -#define MAP_GROUP_ROUTE117 0 -#define MAP_GROUP_ROUTE118 0 -#define MAP_GROUP_ROUTE119 0 -#define MAP_GROUP_ROUTE120 0 -#define MAP_GROUP_ROUTE121 0 -#define MAP_GROUP_ROUTE122 0 -#define MAP_GROUP_ROUTE123 0 -#define MAP_GROUP_ROUTE124 0 -#define MAP_GROUP_ROUTE125 0 -#define MAP_GROUP_ROUTE126 0 -#define MAP_GROUP_ROUTE127 0 -#define MAP_GROUP_ROUTE128 0 -#define MAP_GROUP_ROUTE129 0 -#define MAP_GROUP_ROUTE130 0 -#define MAP_GROUP_ROUTE131 0 -#define MAP_GROUP_ROUTE132 0 -#define MAP_GROUP_ROUTE133 0 -#define MAP_GROUP_ROUTE134 0 -#define MAP_GROUP_UNDERWATER1 0 -#define MAP_GROUP_UNDERWATER2 0 -#define MAP_GROUP_UNDERWATER3 0 -#define MAP_GROUP_UNDERWATER4 0 -#define MAP_GROUP_UNDERWATER5 0 -#define MAP_GROUP_UNDERWATER6 0 -#define MAP_GROUP_UNDERWATER7 0 -//-------------------------------------------------- -// Map Group 1 -//-------------------------------------------------- - -enum -{ - MAP_ID_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F, - MAP_ID_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F, - MAP_ID_LITTLEROOT_TOWN_MAYS_HOUSE_1F, - MAP_ID_LITTLEROOT_TOWN_MAYS_HOUSE_2F, - MAP_ID_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB, -}; - -#define MAP_GROUP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F 1 -#define MAP_GROUP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F 1 -#define MAP_GROUP_LITTLEROOT_TOWN_MAYS_HOUSE_1F 1 -#define MAP_GROUP_LITTLEROOT_TOWN_MAYS_HOUSE_2F 1 -#define MAP_GROUP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB 1 - -//-------------------------------------------------- -// Map Group 2 -//-------------------------------------------------- - -enum -{ - MAP_ID_OLDALE_TOWN_HOUSE1, - MAP_ID_OLDALE_TOWN_HOUSE2, - MAP_ID_OLDALE_TOWN_POKEMON_CENTER_1F, - MAP_ID_OLDALE_TOWN_POKEMON_CENTER_2F, - MAP_ID_OLDALE_TOWN_MART, -}; - -#define MAP_GROUP_OLDALE_TOWN_HOUSE1 2 -#define MAP_GROUP_OLDALE_TOWN_HOUSE2 2 -#define MAP_GROUP_OLDALE_TOWN_POKEMON_CENTER_1F 2 -#define MAP_GROUP_OLDALE_TOWN_POKEMON_CENTER_2F 2 -#define MAP_GROUP_OLDALE_TOWN_MART 2 - -//-------------------------------------------------- -// Map Group 3 -//-------------------------------------------------- - -enum -{ - MAP_ID_DEWFORD_TOWN_HOUSE1, - MAP_ID_DEWFORD_TOWN_POKEMON_CENTER_1F, - MAP_ID_DEWFORD_TOWN_POKEMON_CENTER_2F, - MAP_ID_DEWFORD_TOWN_GYM, - MAP_ID_DEWFORD_TOWN_HALL, - MAP_ID_DEWFORD_TOWN_HOUSE2, -}; - -#define MAP_GROUP_DEWFORD_TOWN_HOUSE1 3 -#define MAP_GROUP_DEWFORD_TOWN_POKEMON_CENTER_1F 3 -#define MAP_GROUP_DEWFORD_TOWN_POKEMON_CENTER_2F 3 -#define MAP_GROUP_DEWFORD_TOWN_GYM 3 -#define MAP_GROUP_DEWFORD_TOWN_HALL 3 -#define MAP_GROUP_DEWFORD_TOWN_HOUSE2 3 - -//-------------------------------------------------- -// Map Group 4 -//-------------------------------------------------- - -enum -{ - MAP_ID_LAVARIDGE_TOWN_HERB_SHOP, - MAP_ID_LAVARIDGE_TOWN_GYM_1F, - MAP_ID_LAVARIDGE_TOWN_GYM_B1F, - MAP_ID_LAVARIDGE_TOWN_HOUSE, - MAP_ID_LAVARIDGE_TOWN_MART, - MAP_ID_LAVARIDGE_TOWN_POKEMON_CENTER_1F, - MAP_ID_LAVARIDGE_TOWN_POKEMON_CENTER_2F, -}; - -#define MAP_GROUP_LAVARIDGE_TOWN_HERB_SHOP 4 -#define MAP_GROUP_LAVARIDGE_TOWN_GYM_1F 4 -#define MAP_GROUP_LAVARIDGE_TOWN_GYM_B1F 4 -#define MAP_GROUP_LAVARIDGE_TOWN_HOUSE 4 -#define MAP_GROUP_LAVARIDGE_TOWN_MART 4 -#define MAP_GROUP_LAVARIDGE_TOWN_POKEMON_CENTER_1F 4 -#define MAP_GROUP_LAVARIDGE_TOWN_POKEMON_CENTER_2F 4 - -//-------------------------------------------------- -// Map Group 5 -//-------------------------------------------------- - -enum -{ - MAP_ID_FALLARBOR_TOWN_MART, - MAP_ID_FALLARBOR_TOWN_TENT_LOBBY, - MAP_ID_FALLARBOR_TOWN_TENT_HALL, - MAP_ID_FALLARBOR_TOWN_TENT_ARENA, - MAP_ID_FALLARBOR_TOWN_POKEMON_CENTER_1F, - MAP_ID_FALLARBOR_TOWN_POKEMON_CENTER_2F, - MAP_ID_FALLARBOR_TOWN_HOUSE1, - MAP_ID_FALLARBOR_TOWN_HOUSE2, -}; - -#define MAP_GROUP_FALLARBOR_TOWN_MART 5 -#define MAP_GROUP_FALLARBOR_TOWN_TENT_LOBBY 5 -#define MAP_GROUP_FALLARBOR_TOWN_TENT_HALL 5 -#define MAP_GROUP_FALLARBOR_TOWN_TENT_ARENA 5 -#define MAP_GROUP_FALLARBOR_TOWN_POKEMON_CENTER_1F 5 -#define MAP_GROUP_FALLARBOR_TOWN_POKEMON_CENTER_2F 5 -#define MAP_GROUP_FALLARBOR_TOWN_HOUSE1 5 -#define MAP_GROUP_FALLARBOR_TOWN_HOUSE2 5 - -//-------------------------------------------------- -// Map Group 6 -//-------------------------------------------------- - -enum -{ - MAP_ID_VERDANTURF_TOWN_TENT_LOBBY, - MAP_ID_VERDANTURF_TOWN_TENT_HALL, - MAP_ID_VERDANTURF_TOWN_TENT_ARENA, - MAP_ID_VERDANTURF_TOWN_MART, - MAP_ID_VERDANTURF_TOWN_POKEMON_CENTER_1F, - MAP_ID_VERDANTURF_TOWN_POKEMON_CENTER_2F, - MAP_ID_VERDANTURF_TOWN_WANDAS_HOUSE, - MAP_ID_VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE, - MAP_ID_VERDANTURF_TOWN_HOUSE, -}; - -#define MAP_GROUP_VERDANTURF_TOWN_TENT_LOBBY 6 -#define MAP_GROUP_VERDANTURF_TOWN_TENT_HALL 6 -#define MAP_GROUP_VERDANTURF_TOWN_TENT_ARENA 6 -#define MAP_GROUP_VERDANTURF_TOWN_MART 6 -#define MAP_GROUP_VERDANTURF_TOWN_POKEMON_CENTER_1F 6 -#define MAP_GROUP_VERDANTURF_TOWN_POKEMON_CENTER_2F 6 -#define MAP_GROUP_VERDANTURF_TOWN_WANDAS_HOUSE 6 -#define MAP_GROUP_VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE 6 -#define MAP_GROUP_VERDANTURF_TOWN_HOUSE 6 - -//-------------------------------------------------- -// Map Group 7 -//-------------------------------------------------- - -enum -{ - MAP_ID_PACIFIDLOG_TOWN_POKEMON_CENTER_1F, - MAP_ID_PACIFIDLOG_TOWN_POKEMON_CENTER_2F, - MAP_ID_PACIFIDLOG_TOWN_HOUSE1, - MAP_ID_PACIFIDLOG_TOWN_HOUSE2, - MAP_ID_PACIFIDLOG_TOWN_HOUSE3, - MAP_ID_PACIFIDLOG_TOWN_HOUSE4, - MAP_ID_PACIFIDLOG_TOWN_HOUSE5, -}; - -#define MAP_GROUP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F 7 -#define MAP_GROUP_PACIFIDLOG_TOWN_POKEMON_CENTER_2F 7 -#define MAP_GROUP_PACIFIDLOG_TOWN_HOUSE1 7 -#define MAP_GROUP_PACIFIDLOG_TOWN_HOUSE2 7 -#define MAP_GROUP_PACIFIDLOG_TOWN_HOUSE3 7 -#define MAP_GROUP_PACIFIDLOG_TOWN_HOUSE4 7 -#define MAP_GROUP_PACIFIDLOG_TOWN_HOUSE5 7 - -//-------------------------------------------------- -// Map Group 8 -//-------------------------------------------------- - -enum -{ - MAP_ID_PETALBURG_CITY_WALLYS_HOUSE, - MAP_ID_PETALBURG_CITY_GYM, - MAP_ID_PETALBURG_CITY_HOUSE1, - MAP_ID_PETALBURG_CITY_HOUSE2, - MAP_ID_PETALBURG_CITY_POKEMON_CENTER_1F, - MAP_ID_PETALBURG_CITY_POKEMON_CENTER_2F, - MAP_ID_PETALBURG_CITY_MART, -}; - -#define MAP_GROUP_PETALBURG_CITY_WALLYS_HOUSE 8 -#define MAP_GROUP_PETALBURG_CITY_GYM 8 -#define MAP_GROUP_PETALBURG_CITY_HOUSE1 8 -#define MAP_GROUP_PETALBURG_CITY_HOUSE2 8 -#define MAP_GROUP_PETALBURG_CITY_POKEMON_CENTER_1F 8 -#define MAP_GROUP_PETALBURG_CITY_POKEMON_CENTER_2F 8 -#define MAP_GROUP_PETALBURG_CITY_MART 8 - -//-------------------------------------------------- -// Map Group 9 -//-------------------------------------------------- - -enum -{ - MAP_ID_SLATEPORT_CITY_STERNS_SHIPYARD_1F, - MAP_ID_SLATEPORT_CITY_STERNS_SHIPYARD_2F, - MAP_ID_SLATEPORT_CITY_TENT_LOBBY, - MAP_ID_SLATEPORT_CITY_TENT_HALL, - MAP_ID_SLATEPORT_CITY_TENT_ARENA, - MAP_ID_SLATEPORT_CITY_HOUSE1, - MAP_ID_SLATEPORT_CITY_POKEMON_FAN_CLUB, - MAP_ID_SLATEPORT_CITY_OCEANIC_MUSEUM_1F, - MAP_ID_SLATEPORT_CITY_OCEANIC_MUSEUM_2F, - MAP_ID_SLATEPORT_CITY_HARBOR, - MAP_ID_SLATEPORT_CITY_HOUSE2, - MAP_ID_SLATEPORT_CITY_POKEMON_CENTER_1F, - MAP_ID_SLATEPORT_CITY_POKEMON_CENTER_2F, - MAP_ID_SLATEPORT_CITY_MART, -}; - -#define MAP_GROUP_SLATEPORT_CITY_STERNS_SHIPYARD_1F 9 -#define MAP_GROUP_SLATEPORT_CITY_STERNS_SHIPYARD_2F 9 -#define MAP_GROUP_SLATEPORT_CITY_TENT_LOBBY 9 -#define MAP_GROUP_SLATEPORT_CITY_TENT_HALL 9 -#define MAP_GROUP_SLATEPORT_CITY_TENT_ARENA 9 -#define MAP_GROUP_SLATEPORT_CITY_HOUSE1 9 -#define MAP_GROUP_SLATEPORT_CITY_POKEMON_FAN_CLUB 9 -#define MAP_GROUP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F 9 -#define MAP_GROUP_SLATEPORT_CITY_OCEANIC_MUSEUM_2F 9 -#define MAP_GROUP_SLATEPORT_CITY_HARBOR 9 -#define MAP_GROUP_SLATEPORT_CITY_HOUSE2 9 -#define MAP_GROUP_SLATEPORT_CITY_POKEMON_CENTER_1F 9 -#define MAP_GROUP_SLATEPORT_CITY_POKEMON_CENTER_2F 9 -#define MAP_GROUP_SLATEPORT_CITY_MART 9 - -//-------------------------------------------------- -// Map Group 10 -//-------------------------------------------------- - -enum -{ - MAP_ID_MAUVILLE_CITY_GYM, - MAP_ID_MAUVILLE_CITY_BIKE_SHOP, - MAP_ID_MAUVILLE_CITY_HOUSE1, - MAP_ID_MAUVILLE_CITY_GAME_CORNER, - MAP_ID_MAUVILLE_CITY_HOUSE2, - MAP_ID_MAUVILLE_CITY_POKEMON_CENTER_1F, - MAP_ID_MAUVILLE_CITY_POKEMON_CENTER_2F, - MAP_ID_MAUVILLE_CITY_MART, -}; - -#define MAP_GROUP_MAUVILLE_CITY_GYM 10 -#define MAP_GROUP_MAUVILLE_CITY_BIKE_SHOP 10 -#define MAP_GROUP_MAUVILLE_CITY_HOUSE1 10 -#define MAP_GROUP_MAUVILLE_CITY_GAME_CORNER 10 -#define MAP_GROUP_MAUVILLE_CITY_HOUSE2 10 -#define MAP_GROUP_MAUVILLE_CITY_POKEMON_CENTER_1F 10 -#define MAP_GROUP_MAUVILLE_CITY_POKEMON_CENTER_2F 10 -#define MAP_GROUP_MAUVILLE_CITY_MART 10 - -//-------------------------------------------------- -// Map Group 11 -//-------------------------------------------------- - -enum -{ - MAP_ID_RUSTBORO_CITY_DEVON_CORP_1F, - MAP_ID_RUSTBORO_CITY_DEVON_CORP_2F, - MAP_ID_RUSTBORO_CITY_DEVON_CORP_3F, - MAP_ID_RUSTBORO_CITY_GYM, - MAP_ID_RUSTBORO_CITY_POKEMON_SCHOOL, - MAP_ID_RUSTBORO_CITY_POKEMON_CENTER_1F, - MAP_ID_RUSTBORO_CITY_POKEMON_CENTER_2F, - MAP_ID_RUSTBORO_CITY_MART, - MAP_ID_RUSTBORO_CITY_FLAT1_1F, - MAP_ID_RUSTBORO_CITY_FLAT1_2F, - MAP_ID_RUSTBORO_CITY_HOUSE1, - MAP_ID_RUSTBORO_CITY_CUTTERS_HOUSE, - MAP_ID_RUSTBORO_CITY_HOUSE2, - MAP_ID_RUSTBORO_CITY_FLAT2_1F, - MAP_ID_RUSTBORO_CITY_FLAT2_2F, - MAP_ID_RUSTBORO_CITY_FLAT2_3F, - MAP_ID_RUSTBORO_CITY_HOUSE3, -}; - -#define MAP_GROUP_RUSTBORO_CITY_DEVON_CORP_1F 11 -#define MAP_GROUP_RUSTBORO_CITY_DEVON_CORP_2F 11 -#define MAP_GROUP_RUSTBORO_CITY_DEVON_CORP_3F 11 -#define MAP_GROUP_RUSTBORO_CITY_GYM 11 -#define MAP_GROUP_RUSTBORO_CITY_POKEMON_SCHOOL 11 -#define MAP_GROUP_RUSTBORO_CITY_POKEMON_CENTER_1F 11 -#define MAP_GROUP_RUSTBORO_CITY_POKEMON_CENTER_2F 11 -#define MAP_GROUP_RUSTBORO_CITY_MART 11 -#define MAP_GROUP_RUSTBORO_CITY_FLAT1_1F 11 -#define MAP_GROUP_RUSTBORO_CITY_FLAT1_2F 11 -#define MAP_GROUP_RUSTBORO_CITY_HOUSE1 11 -#define MAP_GROUP_RUSTBORO_CITY_CUTTERS_HOUSE 11 -#define MAP_GROUP_RUSTBORO_CITY_HOUSE2 11 -#define MAP_GROUP_RUSTBORO_CITY_FLAT2_1F 11 -#define MAP_GROUP_RUSTBORO_CITY_FLAT2_2F 11 -#define MAP_GROUP_RUSTBORO_CITY_FLAT2_3F 11 -#define MAP_GROUP_RUSTBORO_CITY_HOUSE3 11 - -//-------------------------------------------------- -// Map Group 12 -//-------------------------------------------------- - -enum -{ - MAP_ID_FORTREE_CITY_HOUSE1, - MAP_ID_FORTREE_CITY_GYM, - MAP_ID_FORTREE_CITY_POKEMON_CENTER_1F, - MAP_ID_FORTREE_CITY_POKEMON_CENTER_2F, - MAP_ID_FORTREE_CITY_MART, - MAP_ID_FORTREE_CITY_HOUSE2, - MAP_ID_FORTREE_CITY_HOUSE3, - MAP_ID_FORTREE_CITY_HOUSE4, - MAP_ID_FORTREE_CITY_HOUSE5, - MAP_ID_FORTREE_CITY_DECORATION_SHOP, -}; - -#define MAP_GROUP_FORTREE_CITY_HOUSE1 12 -#define MAP_GROUP_FORTREE_CITY_GYM 12 -#define MAP_GROUP_FORTREE_CITY_POKEMON_CENTER_1F 12 -#define MAP_GROUP_FORTREE_CITY_POKEMON_CENTER_2F 12 -#define MAP_GROUP_FORTREE_CITY_MART 12 -#define MAP_GROUP_FORTREE_CITY_HOUSE2 12 -#define MAP_GROUP_FORTREE_CITY_HOUSE3 12 -#define MAP_GROUP_FORTREE_CITY_HOUSE4 12 -#define MAP_GROUP_FORTREE_CITY_HOUSE5 12 -#define MAP_GROUP_FORTREE_CITY_DECORATION_SHOP 12 - -//-------------------------------------------------- -// Map Group 13 -//-------------------------------------------------- - -enum -{ - MAP_ID_LILYCOVE_CITY_COVE_LILY_MOTEL_1F, - MAP_ID_LILYCOVE_CITY_COVE_LILY_MOTEL_2F, - MAP_ID_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F, - MAP_ID_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, - MAP_ID_LILYCOVE_CITY_CONTEST_LOBBY, - MAP_ID_LILYCOVE_CITY_CONTEST_HALL, - MAP_ID_LILYCOVE_CITY_POKEMON_CENTER_1F, - MAP_ID_LILYCOVE_CITY_POKEMON_CENTER_2F, - MAP_ID_LILYCOVE_CITY_UNUSED_MART, - MAP_ID_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB, - MAP_ID_LILYCOVE_CITY_HARBOR, - MAP_ID_LILYCOVE_CITY_MOVE_DELETERS_HOUSE, - MAP_ID_LILYCOVE_CITY_HOUSE1, - MAP_ID_LILYCOVE_CITY_HOUSE2, - MAP_ID_LILYCOVE_CITY_HOUSE3, - MAP_ID_LILYCOVE_CITY_HOUSE4, - MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_1F, - MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_2F, - MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_3F, - MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_4F, - MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_5F, - MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP, - MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR, -}; - -#define MAP_GROUP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F 13 -#define MAP_GROUP_LILYCOVE_CITY_COVE_LILY_MOTEL_2F 13 -#define MAP_GROUP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F 13 -#define MAP_GROUP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F 13 -#define MAP_GROUP_LILYCOVE_CITY_CONTEST_LOBBY 13 -#define MAP_GROUP_LILYCOVE_CITY_CONTEST_HALL 13 -#define MAP_GROUP_LILYCOVE_CITY_POKEMON_CENTER_1F 13 -#define MAP_GROUP_LILYCOVE_CITY_POKEMON_CENTER_2F 13 -#define MAP_GROUP_LILYCOVE_CITY_UNUSED_MART 13 -#define MAP_GROUP_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB 13 -#define MAP_GROUP_LILYCOVE_CITY_HARBOR 13 -#define MAP_GROUP_LILYCOVE_CITY_MOVE_DELETERS_HOUSE 13 -#define MAP_GROUP_LILYCOVE_CITY_HOUSE1 13 -#define MAP_GROUP_LILYCOVE_CITY_HOUSE2 13 -#define MAP_GROUP_LILYCOVE_CITY_HOUSE3 13 -#define MAP_GROUP_LILYCOVE_CITY_HOUSE4 13 -#define MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_1F 13 -#define MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_2F 13 -#define MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_3F 13 -#define MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_4F 13 -#define MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_5F 13 -#define MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP 13 -#define MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR 13 - -//-------------------------------------------------- -// Map Group 14 -//-------------------------------------------------- - -enum -{ - MAP_ID_MOSSDEEP_CITY_GYM, - MAP_ID_MOSSDEEP_CITY_HOUSE1, - MAP_ID_MOSSDEEP_CITY_HOUSE2, - MAP_ID_MOSSDEEP_CITY_POKEMON_CENTER_1F, - MAP_ID_MOSSDEEP_CITY_POKEMON_CENTER_2F, - MAP_ID_MOSSDEEP_CITY_MART, - MAP_ID_MOSSDEEP_CITY_HOUSE3, - MAP_ID_MOSSDEEP_CITY_STEVENS_HOUSE, - MAP_ID_MOSSDEEP_CITY_HOUSE4, - MAP_ID_MOSSDEEP_CITY_SPACE_CENTER_1F, - MAP_ID_MOSSDEEP_CITY_SPACE_CENTER_2F, - MAP_ID_MOSSDEEP_CITY_GAME_CORNER_1F, - MAP_ID_MOSSDEEP_CITY_GAME_CORNER_B1F, -}; - -#define MAP_GROUP_MOSSDEEP_CITY_GYM 14 -#define MAP_GROUP_MOSSDEEP_CITY_HOUSE1 14 -#define MAP_GROUP_MOSSDEEP_CITY_HOUSE2 14 -#define MAP_GROUP_MOSSDEEP_CITY_POKEMON_CENTER_1F 14 -#define MAP_GROUP_MOSSDEEP_CITY_POKEMON_CENTER_2F 14 -#define MAP_GROUP_MOSSDEEP_CITY_MART 14 -#define MAP_GROUP_MOSSDEEP_CITY_HOUSE3 14 -#define MAP_GROUP_MOSSDEEP_CITY_STEVENS_HOUSE 14 -#define MAP_GROUP_MOSSDEEP_CITY_HOUSE4 14 -#define MAP_GROUP_MOSSDEEP_CITY_SPACE_CENTER_1F 14 -#define MAP_GROUP_MOSSDEEP_CITY_SPACE_CENTER_2F 14 -#define MAP_GROUP_MOSSDEEP_CITY_GAME_CORNER_1F 14 -#define MAP_GROUP_MOSSDEEP_CITY_GAME_CORNER_B1F 14 - -//-------------------------------------------------- -// Map Group 15 -//-------------------------------------------------- - -enum -{ - MAP_ID_SOOTOPOLIS_CITY_GYM_1F, - MAP_ID_SOOTOPOLIS_CITY_GYM_B1F, - MAP_ID_SOOTOPOLIS_CITY_POKEMON_CENTER_1F, - MAP_ID_SOOTOPOLIS_CITY_POKEMON_CENTER_2F, - MAP_ID_SOOTOPOLIS_CITY_MART, - MAP_ID_SOOTOPOLIS_CITY_HOUSE1, - MAP_ID_SOOTOPOLIS_CITY_HOUSE2, - MAP_ID_SOOTOPOLIS_CITY_HOUSE3, - MAP_ID_SOOTOPOLIS_CITY_HOUSE4, - MAP_ID_SOOTOPOLIS_CITY_HOUSE5, - MAP_ID_SOOTOPOLIS_CITY_HOUSE6, - MAP_ID_SOOTOPOLIS_CITY_HOUSE7, - MAP_ID_SOOTOPOLIS_CITY_HOUSE8, - MAP_ID_SOOTOPOLIS_CITY_BATTLEHOUSE_1, - MAP_ID_SOOTOPOLIS_CITY_BATTLEHOUSE_2, -}; - -#define MAP_GROUP_SOOTOPOLIS_CITY_GYM_1F 15 -#define MAP_GROUP_SOOTOPOLIS_CITY_GYM_B1F 15 -#define MAP_GROUP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F 15 -#define MAP_GROUP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F 15 -#define MAP_GROUP_SOOTOPOLIS_CITY_MART 15 -#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE1 15 -#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE2 15 -#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE3 15 -#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE4 15 -#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE5 15 -#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE6 15 -#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE7 15 -#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE8 15 -#define MAP_ID_SOOTOPOLIS_CITY_BATTLEHOUSE_1 15 -#define MAP_ID_SOOTOPOLIS_CITY_BATTLEHOUSE_2 15 -//-------------------------------------------------- -// Map Group 16 -//-------------------------------------------------- - -enum -{ - MAP_ID_EVER_GRANDE_CITY_SIDNEYS_ROOM, - MAP_ID_EVER_GRANDE_CITY_PHOEBES_ROOM, - MAP_ID_EVER_GRANDE_CITY_GLACIAS_ROOM, - MAP_ID_EVER_GRANDE_CITY_DRAKES_ROOM, - MAP_ID_EVER_GRANDE_CITY_CHAMPIONS_ROOM, - MAP_ID_EVER_GRANDE_CITY_CORRIDOR1, - MAP_ID_EVER_GRANDE_CITY_CORRIDOR2, - MAP_ID_EVER_GRANDE_CITY_CORRIDOR3, - MAP_ID_EVER_GRANDE_CITY_CORRIDOR4, - MAP_ID_EVER_GRANDE_CITY_CORRIDOR5, - MAP_ID_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F, - MAP_ID_EVER_GRANDE_CITY_HALL_OF_FAME, - MAP_ID_EVER_GRANDE_CITY_POKEMON_CENTER_1F, - MAP_ID_EVER_GRANDE_CITY_POKEMON_CENTER_2F, - MAP_ID_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F, -}; - -#define MAP_GROUP_EVER_GRANDE_CITY_SIDNEYS_ROOM 16 -#define MAP_GROUP_EVER_GRANDE_CITY_PHOEBES_ROOM 16 -#define MAP_GROUP_EVER_GRANDE_CITY_GLACIAS_ROOM 16 -#define MAP_GROUP_EVER_GRANDE_CITY_DRAKES_ROOM 16 -#define MAP_GROUP_EVER_GRANDE_CITY_CHAMPIONS_ROOM 16 -#define MAP_GROUP_EVER_GRANDE_CITY_CORRIDOR1 16 -#define MAP_GROUP_EVER_GRANDE_CITY_CORRIDOR2 16 -#define MAP_GROUP_EVER_GRANDE_CITY_CORRIDOR3 16 -#define MAP_GROUP_EVER_GRANDE_CITY_CORRIDOR4 16 -#define MAP_GROUP_EVER_GRANDE_CITY_CORRIDOR5 16 -#define MAP_GROUP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F 16 -#define MAP_GROUP_EVER_GRANDE_CITY_HALL_OF_FAME 16 -#define MAP_GROUP_EVER_GRANDE_CITY_POKEMON_CENTER_1F 16 -#define MAP_GROUP_EVER_GRANDE_CITY_POKEMON_CENTER_2F 16 -#define MAP_GROUP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F 16 - -//-------------------------------------------------- -// Map Group 17 -//-------------------------------------------------- - -enum -{ - MAP_ID_ROUTE104_MR_BRINEYS_HOUSE, - MAP_ID_ROUTE104_PRETTY_PETAL_FLOWER_SHOP, -}; - -#define MAP_GROUP_ROUTE104_MR_BRINEYS_HOUSE 17 -#define MAP_GROUP_ROUTE104_PRETTY_PETAL_FLOWER_SHOP 17 - -//-------------------------------------------------- -// Map Group 18 -//-------------------------------------------------- - -enum -{ - MAP_ID_ROUTE111_WINSTRATE_FAMILYS_HOUSE, - MAP_ID_ROUTE111_OLD_LADYS_REST_STOP, -}; - -#define MAP_GROUP_ROUTE111_WINSTRATE_FAMILYS_HOUSE 18 -#define MAP_GROUP_ROUTE111_OLD_LADYS_REST_STOP 18 - -//-------------------------------------------------- -// Map Group 19 -//-------------------------------------------------- - -enum -{ - MAP_ID_ROUTE112_CABLE_CAR_STATION, - MAP_ID_MT_CHIMNEY_CABLE_CAR_STATION, -}; - -#define MAP_GROUP_ROUTE112_CABLE_CAR_STATION 19 -#define MAP_GROUP_MT_CHIMNEY_CABLE_CAR_STATION 19 - -//-------------------------------------------------- -// Map Group 20 -//-------------------------------------------------- - -enum -{ - MAP_ID_ROUTE114_FOSSIL_MANIACS_HOUSE, - MAP_ID_ROUTE114_FOSSIL_MANIACS_TUNNEL, - MAP_ID_ROUTE114_LANETTES_HOUSE, -}; - -#define MAP_GROUP_ROUTE114_FOSSIL_MANIACS_HOUSE 20 -#define MAP_GROUP_ROUTE114_FOSSIL_MANIACS_TUNNEL 20 -#define MAP_GROUP_ROUTE114_LANETTES_HOUSE 20 - -//-------------------------------------------------- -// Map Group 21 -//-------------------------------------------------- - -enum -{ - MAP_ID_ROUTE116_TUNNELERS_REST_HOUSE, -}; - -#define MAP_GROUP_ROUTE116_TUNNELERS_REST_HOUSE 21 - -//-------------------------------------------------- -// Map Group 22 -//-------------------------------------------------- - -enum -{ - MAP_ID_ROUTE117_POKEMON_DAY_CARE, -}; - -#define MAP_GROUP_ROUTE117_POKEMON_DAY_CARE 22 - -//-------------------------------------------------- -// Map Group 23 -//-------------------------------------------------- - -enum -{ - MAP_ID_ROUTE121_SAFARI_ZONE_ENTRANCE, -}; - -#define MAP_GROUP_ROUTE121_SAFARI_ZONE_ENTRANCE 23 - -//-------------------------------------------------- -// Map Group 24 -//-------------------------------------------------- - -enum -{ - MAP_ID_METEOR_FALLS_1F_1R, - MAP_ID_METEOR_FALLS_1F_2R, - MAP_ID_METEOR_FALLS_B1F_1R, - MAP_ID_METEOR_FALLS_B1F_2R, - MAP_ID_RUSTURF_TUNNEL, - MAP_ID_UNDERWATER_SOOTOPOLIS_CITY, - MAP_ID_DESERT_RUINS, - MAP_ID_GRANITE_CAVE_1F, - MAP_ID_GRANITE_CAVE_B1F, - MAP_ID_GRANITE_CAVE_B2F, - MAP_ID_GRANITE_CAVE_STEVENS_ROOM, - MAP_ID_PETALBURG_WOODS, - MAP_ID_MT_CHIMNEY, - MAP_ID_JAGGED_PASS, - MAP_ID_FIERY_PATH, - MAP_ID_MT_PYRE_1F, - MAP_ID_MT_PYRE_2F, - MAP_ID_MT_PYRE_3F, - MAP_ID_MT_PYRE_4F, - MAP_ID_MT_PYRE_5F, - MAP_ID_MT_PYRE_6F, - MAP_ID_MT_PYRE_EXTERIOR, - MAP_ID_MT_PYRE_SUMMIT, - MAP_ID_AQUA_HIDEOUT_1F, - MAP_ID_AQUA_HIDEOUT_B1F, - MAP_ID_AQUA_HIDEOUT_B2F, - MAP_ID_UNDERWATER_SEAFLOOR_CAVERN, - MAP_ID_SEAFLOOR_CAVERN_ENTRANCE, - MAP_ID_SEAFLOOR_CAVERN_ROOM1, - MAP_ID_SEAFLOOR_CAVERN_ROOM2, - MAP_ID_SEAFLOOR_CAVERN_ROOM3, - MAP_ID_SEAFLOOR_CAVERN_ROOM4, - MAP_ID_SEAFLOOR_CAVERN_ROOM5, - MAP_ID_SEAFLOOR_CAVERN_ROOM6, - MAP_ID_SEAFLOOR_CAVERN_ROOM7, - MAP_ID_SEAFLOOR_CAVERN_ROOM8, - MAP_ID_SEAFLOOR_CAVERN_ROOM9, - MAP_ID_CAVE_OF_ORIGIN_ENTRANCE, - MAP_ID_CAVE_OF_ORIGIN_1F, - MAP_ID_CAVE_OF_ORIGIN_B1F, - MAP_ID_CAVE_OF_ORIGIN_B2F, - MAP_ID_CAVE_OF_ORIGIN_B3F, - MAP_ID_CAVE_OF_ORIGIN_B4F, - MAP_ID_VICTORY_ROAD_1F, - MAP_ID_VICTORY_ROAD_B1F, - MAP_ID_VICTORY_ROAD_B2F, - MAP_ID_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM, - MAP_ID_SHOAL_CAVE_LOW_TIDE_INNER_ROOM, - MAP_ID_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM, - MAP_ID_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM, - MAP_ID_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM, - MAP_ID_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM, - MAP_ID_NEW_MAUVILLE_ENTRANCE, - MAP_ID_NEW_MAUVILLE_INSIDE, - MAP_ID_ABANDONED_SHIP_DECK, - MAP_ID_ABANDONED_SHIP_CORRIDORS_1F, - MAP_ID_ABANDONED_SHIP_ROOMS_1F, - MAP_ID_ABANDONED_SHIP_CORRIDORS_B1F, - MAP_ID_ABANDONED_SHIP_ROOMS_B1F, - MAP_ID_ABANDONED_SHIP_ROOMS2_B1F, - MAP_ID_ABANDONED_SHIP_UNDERWATER1, - MAP_ID_ABANDONED_SHIP_ROOM_B1F, - MAP_ID_ABANDONED_SHIP_ROOMS2_1F, - MAP_ID_ABANDONED_SHIP_CAPTAINS_OFFICE, - MAP_ID_ABANDONED_SHIP_UNDERWATER2, - MAP_ID_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS, - MAP_ID_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS, - MAP_ID_ISLAND_CAVE, - MAP_ID_ANCIENT_TOMB, - MAP_ID_UNDERWATER_ROUTE134, - MAP_ID_UNDERWATER_SEALED_CHAMBER, - MAP_ID_SEALED_CHAMBER_OUTER_ROOM, - MAP_ID_SEALED_CHAMBER_INNER_ROOM, - MAP_ID_SCORCHED_SLAB, - MAP_ID_UNUSED_AQUA_HIDEOUT_1F, - MAP_ID_UNUSED_AQUA_HIDEOUT_B1F, - MAP_ID_UNUSED_AQUA_HIDEOUT_B2F, - MAP_ID_SKY_PILLAR_ENTRANCE, - MAP_ID_SKY_PILLAR_OUTSIDE, - MAP_ID_SKY_PILLAR_1F, - MAP_ID_SKY_PILLAR_2F, - MAP_ID_SKY_PILLAR_3F, - MAP_ID_SKY_PILLAR_4F, - MAP_ID_SHOAL_CAVE_LOW_TIDE_ICE_ROOM, - MAP_ID_SKY_PILLAR_5F, - MAP_ID_SKY_PILLAR_TOP, - MAP_ID_MAGMA_HIDEOUT_ENTRANCE, - MAP_ID_MAGMA_HIDEOUT_B1F, - MAP_ID_MAGMA_HIDEOUT_B2F, - MAP_ID_MAGMA_HIDEOUT_B3F, - MAP_ID_MAGMA_HIDEOUT_B4F, - MAP_ID_MAGMA_HIDEOUT_B5F, - MAP_ID_MAGMA_HIDEOUT_B6F, - MAP_ID_MAGMA_HIDEOUT_B7F, - MAP_ID_MIRAGE_TOWER_1F, - MAP_ID_MIRAGE_TOWER_2F, - MAP_ID_MIRAGE_TOWER_3F, - MAP_ID_MIRAGE_TOWER_4F, - MAP_ID_DESERT_UNDERPASS, - MAP_ID_ARTISAN_CAVE_1F, - MAP_ID_ARTISAN_CAVE_2F, - MAP_ID_UNKNOWN_UNDERWATER, - MAP_ID_MARINE_CAVE_1F, - MAP_ID_MARINE_CAVE_2F, - MAP_ID_TERRA_CAVE_1F, - MAP_ID_TERRA_CAVE_2F, - MAP_ID_ALTERING_CAVE, - MAP_ID_METEOR_FALLS_B1F_3R, -}; - -#define MAP_GROUP_METEOR_FALLS_1F_1R 24 -#define MAP_GROUP_METEOR_FALLS_1F_2R 24 -#define MAP_GROUP_METEOR_FALLS_B1F_1R 24 -#define MAP_GROUP_METEOR_FALLS_B1F_2R 24 -#define MAP_GROUP_RUSTURF_TUNNEL 24 -#define MAP_GROUP_UNDERWATER_SOOTOPOLIS_CITY 24 -#define MAP_GROUP_DESERT_RUINS 24 -#define MAP_GROUP_GRANITE_CAVE_1F 24 -#define MAP_GROUP_GRANITE_CAVE_B1F 24 -#define MAP_GROUP_GRANITE_CAVE_B2F 24 -#define MAP_GROUP_GRANITE_CAVE_STEVENS_ROOM 24 -#define MAP_GROUP_PETALBURG_WOODS 24 -#define MAP_GROUP_MT_CHIMNEY 24 -#define MAP_GROUP_JAGGED_PASS 24 -#define MAP_GROUP_FIERY_PATH 24 -#define MAP_GROUP_MT_PYRE_1F 24 -#define MAP_GROUP_MT_PYRE_2F 24 -#define MAP_GROUP_MT_PYRE_3F 24 -#define MAP_GROUP_MT_PYRE_4F 24 -#define MAP_GROUP_MT_PYRE_5F 24 -#define MAP_GROUP_MT_PYRE_6F 24 -#define MAP_GROUP_MT_PYRE_EXTERIOR 24 -#define MAP_GROUP_MT_PYRE_SUMMIT 24 -#define MAP_GROUP_AQUA_HIDEOUT_1F 24 -#define MAP_GROUP_AQUA_HIDEOUT_B1F 24 -#define MAP_GROUP_AQUA_HIDEOUT_B2F 24 -#define MAP_GROUP_UNDERWATER_SEAFLOOR_CAVERN 24 -#define MAP_GROUP_SEAFLOOR_CAVERN_ENTRANCE 24 -#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM1 24 -#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM2 24 -#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM3 24 -#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM4 24 -#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM5 24 -#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM6 24 -#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM7 24 -#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM8 24 -#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM9 24 -#define MAP_GROUP_CAVE_OF_ORIGIN_ENTRANCE 24 -#define MAP_GROUP_CAVE_OF_ORIGIN_1F 24 -#define MAP_GROUP_CAVE_OF_ORIGIN_B1F 24 -#define MAP_GROUP_CAVE_OF_ORIGIN_B2F 24 -#define MAP_GROUP_CAVE_OF_ORIGIN_B3F 24 -#define MAP_GROUP_CAVE_OF_ORIGIN_B4F 24 -#define MAP_GROUP_VICTORY_ROAD_1F 24 -#define MAP_GROUP_VICTORY_ROAD_B1F 24 -#define MAP_GROUP_VICTORY_ROAD_B2F 24 -#define MAP_GROUP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM 24 -#define MAP_GROUP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM 24 -#define MAP_GROUP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM 24 -#define MAP_GROUP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM 24 -#define MAP_GROUP_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM 24 -#define MAP_GROUP_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM 24 -#define MAP_GROUP_NEW_MAUVILLE_ENTRANCE 24 -#define MAP_GROUP_NEW_MAUVILLE_INSIDE 24 -#define MAP_GROUP_ABANDONED_SHIP_DECK 24 -#define MAP_GROUP_ABANDONED_SHIP_CORRIDORS_1F 24 -#define MAP_GROUP_ABANDONED_SHIP_ROOMS_1F 24 -#define MAP_GROUP_ABANDONED_SHIP_CORRIDORS_B1F 24 -#define MAP_GROUP_ABANDONED_SHIP_ROOMS_B1F 24 -#define MAP_GROUP_ABANDONED_SHIP_ROOMS2_B1F 24 -#define MAP_GROUP_ABANDONED_SHIP_UNDERWATER1 24 -#define MAP_GROUP_ABANDONED_SHIP_ROOM_B1F 24 -#define MAP_GROUP_ABANDONED_SHIP_ROOMS2_1F 24 -#define MAP_GROUP_ABANDONED_SHIP_CAPTAINS_OFFICE 24 -#define MAP_GROUP_ABANDONED_SHIP_UNDERWATER2 24 -#define MAP_GROUP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS 24 -#define MAP_GROUP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS 24 -#define MAP_GROUP_ISLAND_CAVE 24 -#define MAP_GROUP_ANCIENT_TOMB 24 -#define MAP_GROUP_UNDERWATER_ROUTE134 24 -#define MAP_GROUP_UNDERWATER_SEALED_CHAMBER 24 -#define MAP_GROUP_SEALED_CHAMBER_OUTER_ROOM 24 -#define MAP_GROUP_SEALED_CHAMBER_INNER_ROOM 24 -#define MAP_GROUP_SCORCHED_SLAB 24 -#define MAP_GROUP_UNUSED_AQUA_HIDEOUT_1F 24 -#define MAP_GROUP_UNUSED_AQUA_HIDEOUT_B1F 24 -#define MAP_GROUP_UNUSED_AQUA_HIDEOUT_B2F 24 -#define MAP_GROUP_SKY_PILLAR_ENTRANCE 24 -#define MAP_GROUP_SKY_PILLAR_OUTSIDE 24 -#define MAP_GROUP_SKY_PILLAR_1F 24 -#define MAP_GROUP_SKY_PILLAR_2F 24 -#define MAP_GROUP_SKY_PILLAR_3F 24 -#define MAP_GROUP_SKY_PILLAR_4F 24 -#define MAP_GROUP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM 24 -#define MAP_GROUP_SKY_PILLAR_5F 24 -#define MAP_GROUP_SKY_PILLAR_TOP 24 -#define MAP_GROUP_MAGMA_HIDEOUT_ENTRANCE 24 -#define MAP_GROUP_MAGMA_HIDEOUT_B1F 24 -#define MAP_GROUP_MAGMA_HIDEOUT_B2F 24 -#define MAP_GROUP_MAGMA_HIDEOUT_B3F 24 -#define MAP_GROUP_MAGMA_HIDEOUT_B4F 24 -#define MAP_GROUP_MAGMA_HIDEOUT_B5F 24 -#define MAP_GROUP_MAGMA_HIDEOUT_B6F 24 -#define MAP_GROUP_MAGMA_HIDEOUT_B7F 24 -#define MAP_GROUP_MIRAGE_TOWER_1F 24 -#define MAP_GROUP_MIRAGE_TOWER_2F 24 -#define MAP_GROUP_MIRAGE_TOWER_3F 24 -#define MAP_GROUP_MIRAGE_TOWER_4F 24 -#define MAP_GROUP_DESERT_UNDERPASS 24 -#define MAP_GROUP_ARTISAN_CAVE_1F 24 -#define MAP_GROUP_ARTISAN_CAVE_2F 24 -#define MAP_GROUP_UNKNOWN_UNDERWATER 24 -#define MAP_GROUP_MARINE_CAVE_1F 24 -#define MAP_GROUP_MARINE_CAVE_2F 24 -#define MAP_GROUP_TERRA_CAVE_1F 24 -#define MAP_GROUP_TERRA_CAVE_2F 24 -#define MAP_GROUP_ALTERING_CAVE 24 -#define MAP_GROUP_METEOR_FALLS_B1F_3R 24 - -//-------------------------------------------------- -// Map Group 25 -//-------------------------------------------------- - -enum -{ - MAP_ID_SECRET_BASE_RED_CAVE1, - MAP_ID_SECRET_BASE_BROWN_CAVE1, - MAP_ID_SECRET_BASE_BLUE_CAVE1, - MAP_ID_SECRET_BASE_YELLOW_CAVE1, - MAP_ID_SECRET_BASE_TREE1, - MAP_ID_SECRET_BASE_SHRUB1, - MAP_ID_SECRET_BASE_RED_CAVE2, - MAP_ID_SECRET_BASE_BROWN_CAVE2, - MAP_ID_SECRET_BASE_BLUE_CAVE2, - MAP_ID_SECRET_BASE_YELLOW_CAVE2, - MAP_ID_SECRET_BASE_TREE2, - MAP_ID_SECRET_BASE_SHRUB2, - MAP_ID_SECRET_BASE_RED_CAVE3, - MAP_ID_SECRET_BASE_BROWN_CAVE3, - MAP_ID_SECRET_BASE_BLUE_CAVE3, - MAP_ID_SECRET_BASE_YELLOW_CAVE3, - MAP_ID_SECRET_BASE_TREE3, - MAP_ID_SECRET_BASE_SHRUB3, - MAP_ID_SECRET_BASE_RED_CAVE4, - MAP_ID_SECRET_BASE_BROWN_CAVE4, - MAP_ID_SECRET_BASE_BLUE_CAVE4, - MAP_ID_SECRET_BASE_YELLOW_CAVE4, - MAP_ID_SECRET_BASE_TREE4, - MAP_ID_SECRET_BASE_SHRUB4, - MAP_ID_SINGLE_BATTLE_COLOSSEUM, - MAP_ID_TRADE_CENTER, - MAP_ID_RECORD_CORNER, - MAP_ID_DOUBLE_BATTLE_COLOSSEUM, - MAP_ID_LINK_CONTEST_ROOM1, - MAP_ID_UNKNOWN_MAP_25_29, - MAP_ID_UNKNOWN_MAP_25_30, - MAP_ID_UNKNOWN_MAP_25_31, - MAP_ID_UNKNOWN_MAP_25_32, - MAP_ID_UNKNOWN_MAP_25_33, - MAP_ID_UNKNOWN_MAP_25_34, - MAP_ID_LINK_CONTEST_ROOM2, - MAP_ID_LINK_CONTEST_ROOM3, - MAP_ID_LINK_CONTEST_ROOM4, - MAP_ID_LINK_CONTEST_ROOM5, - MAP_ID_LINK_CONTEST_ROOM6, - MAP_ID_INSIDE_OF_TRUCK, - MAP_ID_SS_TIDAL_CORRIDOR, - MAP_ID_SS_TIDAL_LOWER_DECK, - MAP_ID_SS_TIDAL_ROOMS, - MAP_ID_TEST_ROOM_1, - MAP_ID_TEST_ROOM_2, - MAP_ID_TEST_ROOM_3, - MAP_ID_TEST_ROOM_4, - MAP_ID_TEST_ROOM_5, - MAP_ID_TEST_ROOM_6, - MAP_ID_TEST_ROOM_7, - MAP_ID_TEST_ROOM_8, - MAP_ID_TEST_ROOM_9, - MAP_ID_TEST_ROOM_10, - MAP_ID_TEST_ROOM_11, - MAP_ID_TEST_ROOM_12, - MAP_ID_TEST_ROOM_13, - MAP_ID_TEST_ROOM_14, - MAP_ID_TEST_ROOM_15, - MAP_ID_TEST_ROOM_16, - MAP_ID_UNION_ROOM, -}; - -#define MAP_GROUP_SECRET_BASE_RED_CAVE1 25 -#define MAP_GROUP_SECRET_BASE_BROWN_CAVE1 25 -#define MAP_GROUP_SECRET_BASE_BLUE_CAVE1 25 -#define MAP_GROUP_SECRET_BASE_YELLOW_CAVE1 25 -#define MAP_GROUP_SECRET_BASE_TREE1 25 -#define MAP_GROUP_SECRET_BASE_SHRUB1 25 -#define MAP_GROUP_SECRET_BASE_RED_CAVE2 25 -#define MAP_GROUP_SECRET_BASE_BROWN_CAVE2 25 -#define MAP_GROUP_SECRET_BASE_BLUE_CAVE2 25 -#define MAP_GROUP_SECRET_BASE_YELLOW_CAVE2 25 -#define MAP_GROUP_SECRET_BASE_TREE2 25 -#define MAP_GROUP_SECRET_BASE_SHRUB2 25 -#define MAP_GROUP_SECRET_BASE_RED_CAVE3 25 -#define MAP_GROUP_SECRET_BASE_BROWN_CAVE3 25 -#define MAP_GROUP_SECRET_BASE_BLUE_CAVE3 25 -#define MAP_GROUP_SECRET_BASE_YELLOW_CAVE3 25 -#define MAP_GROUP_SECRET_BASE_TREE3 25 -#define MAP_GROUP_SECRET_BASE_SHRUB3 25 -#define MAP_GROUP_SECRET_BASE_RED_CAVE4 25 -#define MAP_GROUP_SECRET_BASE_BROWN_CAVE4 25 -#define MAP_GROUP_SECRET_BASE_BLUE_CAVE4 25 -#define MAP_GROUP_SECRET_BASE_YELLOW_CAVE4 25 -#define MAP_GROUP_SECRET_BASE_TREE4 25 -#define MAP_GROUP_SECRET_BASE_SHRUB4 25 -#define MAP_GROUP_SINGLE_BATTLE_COLOSSEUM 25 -#define MAP_GROUP_TRADE_CENTER 25 -#define MAP_GROUP_RECORD_CORNER 25 -#define MAP_GROUP_DOUBLE_BATTLE_COLOSSEUM 25 -#define MAP_GROUP_LINK_CONTEST_ROOM1 25 -#define MAP_GROUP_UNKNOWN_MAP_25_29 25 -#define MAP_GROUP_UNKNOWN_MAP_25_30 25 -#define MAP_GROUP_UNKNOWN_MAP_25_31 25 -#define MAP_GROUP_UNKNOWN_MAP_25_32 25 -#define MAP_GROUP_UNKNOWN_MAP_25_33 25 -#define MAP_GROUP_UNKNOWN_MAP_25_34 25 -#define MAP_GROUP_LINK_CONTEST_ROOM2 25 -#define MAP_GROUP_LINK_CONTEST_ROOM3 25 -#define MAP_GROUP_LINK_CONTEST_ROOM4 25 -#define MAP_GROUP_LINK_CONTEST_ROOM5 25 -#define MAP_GROUP_LINK_CONTEST_ROOM6 25 -#define MAP_GROUP_INSIDE_OF_TRUCK 25 -#define MAP_GROUP_SS_TIDAL_CORRIDOR 25 -#define MAP_GROUP_SS_TIDAL_LOWER_DECK 25 -#define MAP_GROUP_SS_TIDAL_ROOMS 25 -#define MAP_GROUP_TEST_ROOM_1 25 -#define MAP_GROUP_TEST_ROOM_2 25 -#define MAP_GROUP_TEST_ROOM_3 25 -#define MAP_GROUP_TEST_ROOM_4 25 -#define MAP_GROUP_TEST_ROOM_5 25 -#define MAP_GROUP_TEST_ROOM_6 25 -#define MAP_GROUP_TEST_ROOM_7 25 -#define MAP_GROUP_TEST_ROOM_8 25 -#define MAP_GROUP_TEST_ROOM_9 25 -#define MAP_GROUP_TEST_ROOM_10 25 -#define MAP_GROUP_TEST_ROOM_11 25 -#define MAP_GROUP_TEST_ROOM_12 25 -#define MAP_GROUP_TEST_ROOM_13 25 -#define MAP_GROUP_TEST_ROOM_14 25 -#define MAP_GROUP_TEST_ROOM_15 25 -#define MAP_GROUP_TEST_ROOM_16 25 -#define MAP_GROUP_UNION_ROOM 25 -//-------------------------------------------------- -// Map Group 26 -//-------------------------------------------------- - -enum -{ - MAP_ID_SAFARI_ZONE_NORTHWEST, - MAP_ID_SAFARI_ZONE_NORTHEAST, - MAP_ID_SAFARI_ZONE_SOUTHWEST, - MAP_ID_SAFARI_ZONE_SOUTHEAST, - MAP_ID_BATTLE_FRONTIER_OUTSIDE_WEST, - MAP_ID_BATTLE_TOWER_LOBBY, - MAP_ID_BATTLE_TOWER_ELEVATOR, - MAP_ID_BATTLE_TOWER_CORRIDOR, - MAP_ID_BATTLE_TOWER_BATTLE_ROOM, - MAP_ID_SOUTHERN_ISLAND_EXTERIOR, - MAP_ID_SOUTHERN_ISLAND_INTERIOR, - MAP_ID_SAFARI_ZONE_REST_HOUSE, - MAP_ID_SAFARI_ZONE_EM_1, - MAP_ID_SAFARI_ZONE_EM_2, - MAP_ID_BATTLE_FRONTIER_OUTSIDE_EAST, - MAP_ID_BATTLE_FRONTIER_TAG_LINK, - MAP_ID_BATTLE_FRONTIER_TAG_LINK_CORRIDOR, - MAP_ID_BATTLE_FRONTIER_TAG_LINK_ARENA, - MAP_ID_BATTLE_DOME_LOBBY, - MAP_ID_BATTLE_DOME_CORRIDOR, - MAP_ID_BATTLE_DOME_ROOM, - MAP_ID_BATTLE_DOME_ARENA, - MAP_ID_BATTLE_PALACE_LOBBY, - MAP_ID_BATTLE_PALACE_CORRIDOR, - MAP_ID_BATTLE_PALACE_1F, - MAP_ID_BATTLE_PYRAMID_LOBBY, - MAP_ID_BATTLE_PYRAMID_UNKNOWN, - MAP_ID_BATTLE_PYRAMID_PEAK, - MAP_ID_BATTLE_ARENA_LOBBY, - MAP_ID_BATTLE_ARENA_CORRIDOR, - MAP_ID_BATTLE_ARENA_ARENA, - MAP_ID_BATTLE_FACTORY_LOBBY, - MAP_ID_BATTLE_FACTORY_CORRIDOR, - MAP_ID_BATTLE_FACTORY_ARENA, - MAP_ID_BATTLE_PALACE_2F, - MAP_ID_BATTLE_PALACE_3F, - MAP_ID_BATTLE_PALACE_4F, - MAP_ID_BATTLE_PALACE_5F, - MAP_ID_BATTLE_PALACE_6F, - MAP_ID_BATTLE_PALACE_TEST_ROOM, - MAP_ID_RANKING_HALL, - MAP_ID_STAT_RATER_HOUSE, - MAP_ID_BATTLE_FRONTIER_EXCHANGE, - MAP_ID_BATTLE_FRONTIER_MANIAC_HOUSE, - MAP_ID_BATTLE_FRONTIER_GAMBLING_HOUSE, - MAP_ID_BATTLE_FRONTIER_HOUSE1, - MAP_ID_BATTLE_FRONTIER_SCOTTS_HOUSE, - MAP_ID_BATTLE_FRONTIER_HOUSE2, - MAP_ID_BATTLE_FRONTIER_HOUSE3, - MAP_ID_BATTLE_FRONTIER_HOUSE4, - MAP_ID_BATTLE_FRONTIER_ENTRANCE_HALL, - MAP_ID_BATTLE_FRONTIER_HOUSE5, - MAP_ID_BATTLE_FRONTIER_UNUSED_HOUSE, - MAP_ID_BATTLE_FRONTIER_POKEMON_CENTER_1F, - MAP_ID_BATTLE_FRONTIER_POKEMON_CENTER_2F, - MAP_ID_BATTLE_FRONTIER_MART, - MAP_ID_FARAWAY_ISLAND_OUTSIDE, - MAP_ID_FARAWAY_ISLAND_FOREST, - MAP_ID_BIRTH_ISLAND_OUTSIDE, - MAP_ID_BIRTH_ISLAND_DOCKS, - MAP_ID_TRAINER_HILL_LOBBY, - MAP_ID_TRAINER_HILL_1F, - MAP_ID_TRAINER_HILL_2F, - MAP_ID_TRAINER_HILL_3F, - MAP_ID_TRAINER_HILL_4F, - MAP_ID_TRAINER_HILL_5F, - MAP_ID_NAVEL_ROCK_OUTSIDE, - MAP_ID_NAVEL_ROCK_DOCKS, - MAP_ID_NAVEL_ROCK_1F, - MAP_ID_NAVEL_ROCK_2F, - MAP_ID_NAVEL_ROCK_3F, - MAP_ID_NAVEL_ROCK_4F, - MAP_ID_NAVEL_ROCK_5F, - MAP_ID_NAVEL_ROCK_6F, - MAP_ID_NAVEL_ROCK_7F, - MAP_ID_NAVEL_ROCK_PEAK, - MAP_ID_NAVEL_ROCK_B1F, - MAP_ID_NAVEL_ROCK_B2F, - MAP_ID_NAVEL_ROCK_B3F, - MAP_ID_NAVEL_ROCK_B4F, - MAP_ID_NAVEL_ROCK_B5F, - MAP_ID_NAVEL_ROCK_B6F, - MAP_ID_NAVEL_ROCK_B7F, - MAP_ID_NAVEL_ROCK_B8F, - MAP_ID_NAVEL_ROCK_B9F, - MAP_ID_NAVEL_ROCK_B10F, - MAP_ID_NAVEL_ROCK_B11F, - MAP_ID_NAVEL_ROCK_INNER, - MAP_ID_TRAINER_HILL_ELEVATOR, -}; - -#define MAP_GROUP_SAFARI_ZONE_NORTHWEST 26 -#define MAP_GROUP_SAFARI_ZONE_NORTHEAST 26 -#define MAP_GROUP_SAFARI_ZONE_SOUTHWEST 26 -#define MAP_GROUP_SAFARI_ZONE_SOUTHEAST 26 -#define MAP_GROUP_BATTLE_FRONTIER_OUTSIDE_WEST 26 -#define MAP_GROUP_BATTLE_TOWER_LOBBY 26 -#define MAP_GROUP_BATTLE_TOWER_ELEVATOR 26 -#define MAP_GROUP_BATTLE_TOWER_CORRIDOR 26 -#define MAP_GROUP_BATTLE_TOWER_BATTLE_ROOM 26 -#define MAP_GROUP_SOUTHERN_ISLAND_EXTERIOR 26 -#define MAP_GROUP_SOUTHERN_ISLAND_INTERIOR 26 -#define MAP_GROUP_SAFARI_ZONE_REST_HOUSE 26 -#define MAP_GROUP_SAFARI_ZONE_EM_1 26 -#define MAP_GROUP_SAFARI_ZONE_EM_2 26 -#define MAP_GROUP_BATTLE_FRONTIER_OUTSIDE_EAST 26 -#define MAP_GROUP_BATTLE_FRONTIER_TAG_LINK 26 -#define MAP_GROUP_BATTLE_FRONTIER_TAG_LINK_CORRIDOR 26 -#define MAP_GROUP_BATTLE_FRONTIER_TAG_LINK_ARENA 26 -#define MAP_GROUP_BATTLE_DOME_LOBBY 26 -#define MAP_GROUP_BATTLE_DOME_CORRIDOR 26 -#define MAP_GROUP_BATTLE_DOME_ROOM 26 -#define MAP_GROUP_BATTLE_DOME_ARENA 26 -#define MAP_GROUP_BATTLE_PALACE_LOBBY 26 -#define MAP_GROUP_BATTLE_PALACE_CORRIDOR 26 -#define MAP_GROUP_BATTLE_PALACE_1F 26 -#define MAP_GROUP_BATTLE_PYRAMID_LOBBY 26 -#define MAP_GROUP_BATTLE_PYRAMID_UNKNOWN 26 -#define MAP_GROUP_BATTLE_PYRAMID_PEAK 26 -#define MAP_GROUP_BATTLE_ARENA_LOBBY 26 -#define MAP_GROUP_BATTLE_ARENA_CORRIDOR 26 -#define MAP_GROUP_BATTLE_ARENA_ARENA 26 // rename -#define MAP_GROUP_BATTLE_FACTORY_LOBBY 26 -#define MAP_GROUP_BATTLE_FACTORY_CORRIDOR 26 -#define MAP_GROUP_BATTLE_FACTORY_ARENA 26 -#define MAP_GROUP_BATTLE_PALACE_2F 26 -#define MAP_GROUP_BATTLE_PALACE_3F 26 -#define MAP_GROUP_BATTLE_PALACE_4F 26 -#define MAP_GROUP_BATTLE_PALACE_5F 26 -#define MAP_GROUP_BATTLE_PALACE_6F 26 -#define MAP_GROUP_BATTLE_PALACE_TEST_ROOM 26 -#define MAP_GROUP_RANKING_HALL 26 -#define MAP_GROUP_STAT_RATER_HOUSE 26 -#define MAP_GROUP_BATTLE_FRONTIER_EXCHANGE 26 -#define MAP_GROUP_BATTLE_FRONTIER_MANIAC_HOUSE 26 -#define MAP_GROUP_BATTLE_FRONTIER_GAMBLING_HOUSE 26 -#define MAP_GROUP_BATTLE_FRONTIER_HOUSE1 26 -#define MAP_GROUP_BATTLE_FRONTIER_SCOTTS_HOUSE 26 -#define MAP_GROUP_BATTLE_FRONTIER_HOUSE2 26 -#define MAP_GROUP_BATTLE_FRONTIER_HOUSE3 26 -#define MAP_GROUP_BATTLE_FRONTIER_HOUSE4 26 -#define MAP_GROUP_BATTLE_FRONTIER_ENTRANCE_HALL 26 -#define MAP_GROUP_BATTLE_FRONTIER_HOUSE5 26 -#define MAP_GROUP_BATTLE_FRONTIER_UNUSED_HOUSE 26 -#define MAP_GROUP_BATTLE_FRONTIER_POKEMON_CENTER_1F 26 -#define MAP_GROUP_BATTLE_FRONTIER_POKEMON_CENTER_2F 26 -#define MAP_GROUP_BATTLE_FRONTIER_MART 26 -#define MAP_GROUP_FARAWAY_ISLAND_OUTSIDE 26 -#define MAP_GROUP_FARAWAY_ISLAND_FOREST 26 -#define MAP_GROUP_BIRTH_ISLAND_OUTSIDE 26 -#define MAP_GROUP_BIRTH_ISLAND_DOCKS 26 -#define MAP_GROUP_TRAINER_HILL_LOBBY 26 -#define MAP_GROUP_TRAINER_HILL_1F 26 -#define MAP_GROUP_TRAINER_HILL_2F 26 -#define MAP_GROUP_TRAINER_HILL_3F 26 -#define MAP_GROUP_TRAINER_HILL_4F 26 -#define MAP_GROUP_TRAINER_HILL_5F 26 -#define MAP_GROUP_NAVEL_ROCK_OUTSIDE 26 -#define MAP_GROUP_NAVEL_ROCK_DOCKS 26 -#define MAP_GROUP_NAVEL_ROCK_1F 26 -#define MAP_GROUP_NAVEL_ROCK_2F 26 -#define MAP_GROUP_NAVEL_ROCK_3F 26 -#define MAP_GROUP_NAVEL_ROCK_4F 26 -#define MAP_GROUP_NAVEL_ROCK_5F 26 -#define MAP_GROUP_NAVEL_ROCK_6F 26 -#define MAP_GROUP_NAVEL_ROCK_7F 26 -#define MAP_GROUP_NAVEL_ROCK_PEAK 26 -#define MAP_GROUP_NAVEL_ROCK_B1F 26 -#define MAP_GROUP_NAVEL_ROCK_B2F 26 -#define MAP_GROUP_NAVEL_ROCK_B3F 26 -#define MAP_GROUP_NAVEL_ROCK_B4F 26 -#define MAP_GROUP_NAVEL_ROCK_B5F 26 -#define MAP_GROUP_NAVEL_ROCK_B6F 26 -#define MAP_GROUP_NAVEL_ROCK_B7F 26 -#define MAP_GROUP_NAVEL_ROCK_B8F 26 -#define MAP_GROUP_NAVEL_ROCK_B9F 26 -#define MAP_GROUP_NAVEL_ROCK_B10F 26 -#define MAP_GROUP_NAVEL_ROCK_B11F 26 -#define MAP_GROUP_NAVEL_ROCK_INNER 26 -#define MAP_GROUP_TRAINER_HILL_ELEVATOR 26 -//-------------------------------------------------- -// Map Group 27 -//-------------------------------------------------- - -enum -{ - MAP_ID_ROUTE104_PROTOTYPE, - MAP_ID_ROUTE104_PROTOTYPE_PRETTY_PETAL_FLOWER_SHOP, -}; - -#define MAP_GROUP_ROUTE104_PROTOTYPE 27 -#define MAP_GROUP_ROUTE104_PROTOTYPE_PRETTY_PETAL_FLOWER_SHOP 27 - -//-------------------------------------------------- -// Map Group 28 -//-------------------------------------------------- - -enum -{ - MAP_ID_ROUTE109_SEASHORE_HOUSE, -}; - -#define MAP_GROUP_ROUTE109_SEASHORE_HOUSE 28 - -//-------------------------------------------------- -// Map Group 29 -//-------------------------------------------------- - -enum -{ - MAP_ID_ROUTE110_TRICK_HOUSE_ENTRANCE, - MAP_ID_ROUTE110_TRICK_HOUSE_END, - MAP_ID_ROUTE110_TRICK_HOUSE_CORRIDOR, - MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE1, - MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE2, - MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE3, - MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE4, - MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE5, - MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE6, - MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE7, - MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE8, - MAP_ID_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE, - MAP_ID_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE, -}; - -#define MAP_GROUP_ROUTE110_TRICK_HOUSE_ENTRANCE 29 -#define MAP_GROUP_ROUTE110_TRICK_HOUSE_END 29 -#define MAP_GROUP_ROUTE110_TRICK_HOUSE_CORRIDOR 29 -#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE1 29 -#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE2 29 -#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE3 29 -#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE4 29 -#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE5 29 -#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE6 29 -#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE7 29 -#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE8 29 -#define MAP_GROUP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE 29 -#define MAP_GROUP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE 29 - -//-------------------------------------------------- -// Map Group 30 -//-------------------------------------------------- - -enum -{ - MAP_ID_ROUTE113_GLASS_WORKSHOP, -}; - -#define MAP_GROUP_ROUTE113_GLASS_WORKSHOP 30 - -//-------------------------------------------------- -// Map Group 31 -//-------------------------------------------------- - -enum -{ - MAP_ID_ROUTE123_BERRY_MASTERS_HOUSE, -}; - -#define MAP_GROUP_ROUTE123_BERRY_MASTERS_HOUSE 31 - -//-------------------------------------------------- -// Map Group 32 -//-------------------------------------------------- - -enum -{ - MAP_ID_ROUTE119_WEATHER_INSTITUTE_1F, - MAP_ID_ROUTE119_WEATHER_INSTITUTE_2F, - MAP_ID_ROUTE119_HOUSE, -}; - -#define MAP_GROUP_ROUTE119_WEATHER_INSTITUTE_1F 32 -#define MAP_GROUP_ROUTE119_WEATHER_INSTITUTE_2F 32 -#define MAP_GROUP_ROUTE119_HOUSE 32 - -//-------------------------------------------------- -// Map Group 33 -//-------------------------------------------------- - -enum -{ - MAP_ID_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE, -}; - -#define MAP_GROUP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE 33 - -#endif // GUARD_MAP_CONSTANTS_H \ No newline at end of file diff --git a/include/map_obj_8097404.h b/include/map_obj_8097404.h deleted file mode 100644 index 27ffd18cba..0000000000 --- a/include/map_obj_8097404.h +++ /dev/null @@ -1,32 +0,0 @@ -// -// Created by scott on 9/7/2017. -// - -#ifndef GUARD_MAP_OBJ_8097404_H -#define GUARD_MAP_OBJ_8097404_H - -// Exported type declarations - -// Exported RAM declarations -extern void *gUnknown_020375B8; - -// Exported ROM declarations -void sub_8097AC8(struct Sprite *); -void npc_sync_anim_pause_bits(struct MapObject *); -void oamt_npc_ministep_reset(struct Sprite *, u8, u8); -u8 sub_8097F78(struct MapObject *); -bool8 obj_npc_ministep(struct Sprite *sprite); -bool8 sub_80976EC(struct Sprite *sprite); -void sub_80976DC(struct Sprite *, u8); -void sub_809783C(struct Sprite *, u8, u8, u8); -void DoShadowFieldEffect(struct MapObject *); -u8 sub_809785C(struct Sprite *); -u8 sub_80978E4(struct Sprite *); -void obj_anim_image_set_and_seek(struct Sprite *, u8, u8); -bool8 sub_80979BC(struct Sprite *); -void sub_8097750(struct Sprite *); -bool8 sub_8097758(struct Sprite *); -void sub_8097FA4(struct MapObject *); -void sub_8098044(u8); - -#endif //GUARD_MAP_OBJ_8097404_H diff --git a/include/map_object_constants.h b/include/map_object_constants.h deleted file mode 100644 index 79482b54af..0000000000 --- a/include/map_object_constants.h +++ /dev/null @@ -1,239 +0,0 @@ -#ifndef GUARD_MAP_OBJECT_CONSTANTS_H -#define GUARD_MAP_OBJECT_CONSTANTS_H - -enum -{ - MAP_OBJ_GFX_BRENDAN_NORMAL, - MAP_OBJ_GFX_BRENDAN_MACH_BIKE, - MAP_OBJ_GFX_BRENDAN_SURFING, - MAP_OBJ_GFX_BRENDAN_FIELD_MOVE, - MAP_OBJ_GFX_QUINTY_PLUMP, - MAP_OBJ_GFX_LITTLE_BOY_1, - MAP_OBJ_GFX_LITTLE_GIRL_1, - MAP_OBJ_GFX_BOY_1, - MAP_OBJ_GFX_GIRL_1, - MAP_OBJ_GFX_BOY_2, - MAP_OBJ_GFX_GIRL_2, - MAP_OBJ_GFX_LITTLE_BOY_2, - MAP_OBJ_GFX_LITTLE_GIRL_2, - MAP_OBJ_GFX_BOY_3, - MAP_OBJ_GFX_GIRL_3, - MAP_OBJ_GFX_BOY_4, - MAP_OBJ_GFX_WOMAN_1, - MAP_OBJ_GFX_FAT_MAN, - MAP_OBJ_GFX_WOMAN_2, - MAP_OBJ_GFX_MAN_1, - MAP_OBJ_GFX_WOMAN_3, - MAP_OBJ_GFX_OLD_MAN_1, - MAP_OBJ_GFX_OLD_WOMAN_1, - MAP_OBJ_GFX_MAN_2, - MAP_OBJ_GFX_WOMAN_4, - MAP_OBJ_GFX_MAN_3, - MAP_OBJ_GFX_WOMAN_5, - MAP_OBJ_GFX_COOK, - MAP_OBJ_GFX_WOMAN_6, - MAP_OBJ_GFX_OLD_MAN_2, - MAP_OBJ_GFX_OLD_WOMAN_2, - MAP_OBJ_GFX_CAMPER, - MAP_OBJ_GFX_PICNICKER, - MAP_OBJ_GFX_MAN_4, - MAP_OBJ_GFX_WOMAN_7, - MAP_OBJ_GFX_YOUNGSTER, - MAP_OBJ_GFX_BUG_CATCHER, - MAP_OBJ_GFX_PSYCHIC_M, - MAP_OBJ_GFX_SCHOOL_KID_M, - MAP_OBJ_GFX_MANIAC, - MAP_OBJ_GFX_HEX_MANIAC, - MAP_OBJ_GFX_WOMAN_8, - MAP_OBJ_GFX_SWIMMER_M, - MAP_OBJ_GFX_SWIMMER_F, - MAP_OBJ_GFX_BLACK_BELT, - MAP_OBJ_GFX_BEAUTY, - MAP_OBJ_GFX_SCIENTIST_1, - MAP_OBJ_GFX_LASS, - MAP_OBJ_GFX_GENTLEMAN, - MAP_OBJ_GFX_SAILOR, - MAP_OBJ_GFX_FISHERMAN, - MAP_OBJ_GFX_RUNNING_TRIATHLETE_M, - MAP_OBJ_GFX_RUNNING_TRIATHLETE_F, - MAP_OBJ_GFX_TUBER_F, - MAP_OBJ_GFX_TUBER_M, - MAP_OBJ_GFX_HIKER, - MAP_OBJ_GFX_CYCLING_TRIATHLETE_M, - MAP_OBJ_GFX_CYCLING_TRIATHLETE_F, - MAP_OBJ_GFX_NURSE, - MAP_OBJ_GFX_ITEM_BALL, - MAP_OBJ_GFX_BERRY_TREE, - MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES, - MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES, - MAP_OBJ_GFX_BRENDAN_ACRO_BIKE, - MAP_OBJ_GFX_PROF_BIRCH, - MAP_OBJ_GFX_MAN_5, - MAP_OBJ_GFX_MAN_6, - MAP_OBJ_GFX_REPORTER_M, - MAP_OBJ_GFX_REPORTER_F, - MAP_OBJ_GFX_BARD, - MAP_OBJ_GFX_HIPSTER, - MAP_OBJ_GFX_TRADER, - MAP_OBJ_GFX_STORYTELLER, - MAP_OBJ_GFX_GIDDY, - MAP_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_1, - MAP_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_2, - MAP_OBJ_GFX_UNUSED_NATU_DOLL, - MAP_OBJ_GFX_UNUSED_MAGNEMITE_DOLL, - MAP_OBJ_GFX_UNUSED_SQUIRTLE_DOLL, - MAP_OBJ_GFX_UNUSED_WOOPER_DOLL, - MAP_OBJ_GFX_UNUSED_PIKACHU_DOLL, - MAP_OBJ_GFX_UNUSED_PORYGON2_DOLL, - MAP_OBJ_GFX_CUTTABLE_TREE, - MAP_OBJ_GFX_MART_EMPLOYEE, - MAP_OBJ_GFX_ROOFTOP_SALE_WOMAN, - MAP_OBJ_GFX_TEALA, - MAP_OBJ_GFX_BREAKABLE_ROCK, - MAP_OBJ_GFX_PUSHABLE_BOULDER, - MAP_OBJ_GFX_MR_BRINEYS_BOAT, - MAP_OBJ_GFX_MAY_NORMAL, - MAP_OBJ_GFX_MAY_MACH_BIKE, - MAP_OBJ_GFX_MAY_ACRO_BIKE, - MAP_OBJ_GFX_MAY_SURFING, - MAP_OBJ_GFX_MAY_FIELD_MOVE, - MAP_OBJ_GFX_TRUCK, - MAP_OBJ_GFX_MACHOKE_CARRYING_BOX, - MAP_OBJ_GFX_MACHOKE_FACING_AWAY, - MAP_OBJ_GFX_BIRCHS_BAG, - MAP_OBJ_GFX_POOCHYENA, - MAP_OBJ_GFX_ARTIST, - MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, - MAP_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE, - MAP_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE, - MAP_OBJ_GFX_RIVAL_BRENDAN_SURFING, - MAP_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE, - MAP_OBJ_GFX_RIVAL_MAY_NORMAL, - MAP_OBJ_GFX_RIVAL_MAY_MACH_BIKE, - MAP_OBJ_GFX_RIVAL_MAY_ACRO_BIKE, - MAP_OBJ_GFX_RIVAL_MAY_SURFING, - MAP_OBJ_GFX_RIVAL_MAY_FIELD_MOVE, - MAP_OBJ_GFX_CAMERAMAN, - MAP_OBJ_GFX_BRENDAN_UNDERWATER, - MAP_OBJ_GFX_MAY_UNDERWATER, - MAP_OBJ_GFX_MOVING_BOX, - MAP_OBJ_GFX_CABLE_CAR, - MAP_OBJ_GFX_SCIENTIST_2, - MAP_OBJ_GFX_MAN_7, - MAP_OBJ_GFX_AQUA_MEMBER_M, - MAP_OBJ_GFX_AQUA_MEMBER_F, - MAP_OBJ_GFX_MAGMA_MEMBER_M, - MAP_OBJ_GFX_MAGMA_MEMBER_F, - MAP_OBJ_GFX_SIDNEY, - MAP_OBJ_GFX_PHOEBE, - MAP_OBJ_GFX_GLACIA, - MAP_OBJ_GFX_DRAKE, - MAP_OBJ_GFX_ROXANNE, - MAP_OBJ_GFX_BRAWLY, - MAP_OBJ_GFX_WATTSON, - MAP_OBJ_GFX_FLANNERY, - MAP_OBJ_GFX_NORMAN, - MAP_OBJ_GFX_WINONA, - MAP_OBJ_GFX_LIZA, - MAP_OBJ_GFX_TATE, - MAP_OBJ_GFX_WALLACE, - MAP_OBJ_GFX_STEVEN, - MAP_OBJ_GFX_WALLY, - MAP_OBJ_GFX_LITTLE_BOY_3, - MAP_OBJ_GFX_BRENDAN_FISHING, - MAP_OBJ_GFX_MAY_FISHING, - MAP_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN, - MAP_OBJ_GFX_SS_TIDAL, - MAP_OBJ_GFX_SUBMARINE_SHADOW, - MAP_OBJ_GFX_PICHU_DOLL, - MAP_OBJ_GFX_PIKACHU_DOLL, - MAP_OBJ_GFX_MARILL_DOLL, - MAP_OBJ_GFX_TOGEPI_DOLL, - MAP_OBJ_GFX_CYNDAQUIL_DOLL, - MAP_OBJ_GFX_CHIKORITA_DOLL, - MAP_OBJ_GFX_TOTODILE_DOLL, - MAP_OBJ_GFX_JIGGLYPUFF_DOLL, - MAP_OBJ_GFX_MEOWTH_DOLL, - MAP_OBJ_GFX_CLEFAIRY_DOLL, - MAP_OBJ_GFX_DITTO_DOLL, - MAP_OBJ_GFX_SMOOCHUM_DOLL, - MAP_OBJ_GFX_TREECKO_DOLL, - MAP_OBJ_GFX_TORCHIC_DOLL, - MAP_OBJ_GFX_MUDKIP_DOLL, - MAP_OBJ_GFX_DUSKULL_DOLL, - MAP_OBJ_GFX_WYNAUT_DOLL, - MAP_OBJ_GFX_BALTOY_DOLL, - MAP_OBJ_GFX_KECLEON_DOLL, - MAP_OBJ_GFX_AZURILL_DOLL, - MAP_OBJ_GFX_SKITTY_DOLL, - MAP_OBJ_GFX_SWABLU_DOLL, - MAP_OBJ_GFX_GULPIN_DOLL, - MAP_OBJ_GFX_LOTAD_DOLL, - MAP_OBJ_GFX_SEEDOT_DOLL, - MAP_OBJ_GFX_PIKA_CUSHION, - MAP_OBJ_GFX_ROUND_CUSHION, - MAP_OBJ_GFX_KISS_CUSHION, - MAP_OBJ_GFX_ZIGZAG_CUSHION, - MAP_OBJ_GFX_SPIN_CUSHION, - MAP_OBJ_GFX_DIAMOND_CUSHION, - MAP_OBJ_GFX_BALL_CUSHION, - MAP_OBJ_GFX_GRASS_CUSHION, - MAP_OBJ_GFX_FIRE_CUSHION, - MAP_OBJ_GFX_WATER_CUSHION, - MAP_OBJ_GFX_BIG_SNORLAX_DOLL, - MAP_OBJ_GFX_BIG_RHYDON_DOLL, - MAP_OBJ_GFX_BIG_LAPRAS_DOLL, - MAP_OBJ_GFX_BIG_VENUSAUR_DOLL, - MAP_OBJ_GFX_BIG_CHARIZARD_DOLL, - MAP_OBJ_GFX_BIG_BLASTOISE_DOLL, - MAP_OBJ_GFX_BIG_WAILMER_DOLL, - MAP_OBJ_GFX_BIG_REGIROCK_DOLL, - MAP_OBJ_GFX_BIG_REGICE_DOLL, - MAP_OBJ_GFX_BIG_REGISTEEL_DOLL, - MAP_OBJ_GFX_LATIAS, - MAP_OBJ_GFX_LATIOS, - MAP_OBJ_GFX_BOY_5, - MAP_OBJ_GFX_CONTEST_JUDGE, - MAP_OBJ_GFX_BRENDAN_WATERING, - MAP_OBJ_GFX_MAY_WATERING, - MAP_OBJ_GFX_BRENDAN_DECORATING, - MAP_OBJ_GFX_MAY_DECORATING, - MAP_OBJ_GFX_ARCHIE, - MAP_OBJ_GFX_MAXIE, - MAP_OBJ_GFX_KYOGRE_1, - MAP_OBJ_GFX_GROUDON_1, - MAP_OBJ_GFX_FOSSIL, - MAP_OBJ_GFX_REGIROCK, - MAP_OBJ_GFX_REGICE, - MAP_OBJ_GFX_REGISTEEL, - MAP_OBJ_GFX_SKITTY, - MAP_OBJ_GFX_KECLEON_1, - MAP_OBJ_GFX_KYOGRE_2, - MAP_OBJ_GFX_GROUDON_2, - MAP_OBJ_GFX_RAYQUAZA, - MAP_OBJ_GFX_ZIGZAGOON, - MAP_OBJ_GFX_PIKACHU, - MAP_OBJ_GFX_AZUMARILL, - MAP_OBJ_GFX_WINGULL, - MAP_OBJ_GFX_KECLEON_2, - MAP_OBJ_GFX_TUBER_M_SWIMMING, - MAP_OBJ_GFX_AZURILL, - MAP_OBJ_GFX_MOM, - MAP_OBJ_GFX_LINK_BRENDAN, - MAP_OBJ_GFX_LINK_MAY, -}; - -enum { - SHADOW_SIZE_S, - SHADOW_SIZE_M, - SHADOW_SIZE_L, - SHADOW_SIZE_XL -}; - -enum { - TRACKS_NONE, - TRACKS_FOOT, - TRACKS_BIKE_TIRE -}; - -#endif // GUARD_MAP_OBJECT_CONSTANTS_H diff --git a/include/menu.h b/include/menu.h index d8b2afc5cc..2046f7d2bd 100644 --- a/include/menu.h +++ b/include/menu.h @@ -1,8 +1,13 @@ #ifndef GUARD_MENU_H #define GUARD_MENU_H +#include "task.h" +#include "text.h" #include "window.h" +#define MENU_NOTHING_CHOSEN -2 +#define MENU_B_PRESSED -1 + struct MenuAction { const u8 *text; @@ -12,22 +17,47 @@ struct MenuAction } func; }; -void box_print(u8, u8, u8, u8, const void *, s8, const u8 *); +void sub_81971D0(void); +void sub_8197200(void); +u16 sub_8197224(void); +void sub_81973A4(void); +void NewMenuHelpers_DrawDialogueFrame(u8, u8); +void sub_819746C(u8 windowId, bool8 copyToVram); +void NewMenuHelpers_DrawStdWindowFrame(u8, u8); +u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 fgColor, u8 bgColor, u8 shadowColor); +void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback); +void sub_8197434(u8 a0, u8 a1); +void SetStandardWindowBorderStyle(u8 a0, u8 a1); +void sub_8197930(void); +u8 GetPlayerTextSpeed(void); +void sub_81978B0(u16 arg0); + +void box_print(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str); void sub_8198070(u8 windowId, bool8 copyToVram); void SetWindowTemplateFields(struct WindowTemplate* template, u8 priority, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 palNum, u16 baseBlock); void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palette); void schedule_bg_copy_tilemap_to_vram(u8 bgNum); -void PrintMenuTable(u8 idx, u8 nstrs, const struct MenuAction *strs); -void InitMenuInUpperLeftCornerPlaySoundWhenAPressed(u8 idx, u8 nstrs,u8); +void PrintMenuTable(u8 windowId, u8 itemCount, const struct MenuAction *strs); +u8 InitMenuInUpperLeftCornerPlaySoundWhenAPressed(u8 windowId, u8 numItems, u8 initialCursorPos); u8 GetMenuCursorPos(void); s8 ProcessMenuInput(void); s8 ProcessMenuInputNoWrapAround(void); void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y); void reset_temp_tile_data_buffers(void); -int decompress_and_copy_tile_data_to_vram(u8 bg_id, const void *src, int size, u16 offset, u8 mode); +void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size, u16 offset, u8 mode); bool8 free_temp_tile_data_buffers_if_possible(void); -u64 sub_8198A50(struct WindowTemplate*, u8, u8, u8, u8, u8, u8, u16); // returns something but it isn't used, fix when menu.s is decomp'd +struct WindowTemplate sub_8198A50(u8, u8, u8, u8, u8, u8, u16); void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos); -s8 sub_8198C58(void); +s8 ProcessMenuInputNoWrap_(void); +void do_scheduled_bg_tilemap_copies_to_vram(void); +void clear_scheduled_bg_copies_to_vram(void); +void AddTextPrinterParameterized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const u8 *color, s8 speed, const u8 *str); +void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u8 a3); +void sub_81995E4(u8 windowId, u8 optionsNo, const struct MenuAction *actions, const u8 *actionIds); +void sub_8197DF8(u8 windowId, bool8 copyToVram); +u16 sub_8198AA4(u8, u8, u8, u8, u8, u8, u16); +void *malloc_and_decompress(const void *src, int *sizeOut); +u16 copy_decompressed_tile_data_to_vram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode); +void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress); #endif // GUARD_MENU_H diff --git a/include/menu_helpers.h b/include/menu_helpers.h index f083a10e21..048a4aa437 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -1,9 +1,12 @@ #ifndef GUARD_MENU_HELPERS_H #define GUARD_MENU_HELPERS_H +#include "task.h" + // Exported type declarations -struct YesNoFuncTable { +struct YesNoFuncTable +{ TaskFunc yesFunc; TaskFunc noFunc; }; @@ -16,5 +19,18 @@ void sub_812225C(u16 *, u16 *, u8, u8); void sub_8122298(u16 *, u16 *, u8, u8, u8); void sub_8121F68(u8 taskId, const struct YesNoFuncTable *data); bool8 sub_81221AC(void); +bool8 sub_81221EC(void); +void ResetVramOamAndBgCntRegs(void); +void SetVBlankHBlankCallbacksToNull(void); +void ResetAllBgsCoordinates(void); +bool16 RunTextPrintersRetIsActive(u8 textPrinterId); +void sub_8122344(void *arg0, u8 arg1); +void LoadListMenuArrowsGfx(void); +void sub_81223FC(u8 *a0, u8 count, u8 a2); +void sub_8122448(u8 *a0, u8 count, u16 x, u16 y); +void DisplayMessageAndContinueTask(u8 taskId, u8 arg1, u16 arg2, u8 arg3, u8 arg4, u8 textSpeed, const u8 *string, void *taskFunc); +void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate *template, u8 arg2, u8 arg3, u8 arg4, u16 tileStart, u8 palette, const struct YesNoFuncTable *yesNo); +u8 GetLRKeysState(void); +u8 sub_812210C(void); #endif //GUARD_MENU_HELPERS_H diff --git a/include/moves.h b/include/moves.h deleted file mode 100644 index 682f59506a..0000000000 --- a/include/moves.h +++ /dev/null @@ -1,366 +0,0 @@ -#ifndef GUARD_MOVES_H -#define GUARD_MOVES_H - -enum -{ - MOVE_NONE, - MOVE_POUND, - MOVE_KARATE_CHOP, - MOVE_DOUBLE_SLAP, - MOVE_COMET_PUNCH, - MOVE_MEGA_PUNCH, - MOVE_PAY_DAY, - MOVE_FIRE_PUNCH, - MOVE_ICE_PUNCH, - MOVE_THUNDER_PUNCH, - MOVE_SCRATCH, - MOVE_VICE_GRIP, - MOVE_GUILLOTINE, - MOVE_RAZOR_WIND, - MOVE_SWORDS_DANCE, - MOVE_CUT, - MOVE_GUST, - MOVE_WING_ATTACK, - MOVE_WHIRLWIND, - MOVE_FLY, - MOVE_BIND, - MOVE_SLAM, - MOVE_VINE_WHIP, - MOVE_STOMP, - MOVE_DOUBLE_KICK, - MOVE_MEGA_KICK, - MOVE_JUMP_KICK, - MOVE_ROLLING_KICK, - MOVE_SAND_ATTACK, - MOVE_HEADBUTT, - MOVE_HORN_ATTACK, - MOVE_FURY_ATTACK, - MOVE_HORN_DRILL, - MOVE_TACKLE, - MOVE_BODY_SLAM, - MOVE_WRAP, - MOVE_TAKE_DOWN, - MOVE_THRASH, - MOVE_DOUBLE_EDGE, - MOVE_TAIL_WHIP, - MOVE_POISON_STING, - MOVE_TWINEEDLE, - MOVE_PIN_MISSILE, - MOVE_LEER, - MOVE_BITE, - MOVE_GROWL, - MOVE_ROAR, - MOVE_SING, - MOVE_SUPERSONIC, - MOVE_SONIC_BOOM, - MOVE_DISABLE, - MOVE_ACID, - MOVE_EMBER, - MOVE_FLAMETHROWER, - MOVE_MIST, - MOVE_WATER_GUN, - MOVE_HYDRO_PUMP, - MOVE_SURF, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PSYBEAM, - MOVE_BUBBLE_BEAM, - MOVE_AURORA_BEAM, - MOVE_HYPER_BEAM, - MOVE_PECK, - MOVE_DRILL_PECK, - MOVE_SUBMISSION, - MOVE_LOW_KICK, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_STRENGTH, - MOVE_ABSORB, - MOVE_MEGA_DRAIN, - MOVE_LEECH_SEED, - MOVE_GROWTH, - MOVE_RAZOR_LEAF, - MOVE_SOLAR_BEAM, - MOVE_POISON_POWDER, - MOVE_STUN_SPORE, - MOVE_SLEEP_POWDER, - MOVE_PETAL_DANCE, - MOVE_STRING_SHOT, - MOVE_DRAGON_RAGE, - MOVE_FIRE_SPIN, - MOVE_THUNDER_SHOCK, - MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, - MOVE_THUNDER, - MOVE_ROCK_THROW, - MOVE_EARTHQUAKE, - MOVE_FISSURE, - MOVE_DIG, - MOVE_TOXIC, - MOVE_CONFUSION, - MOVE_PSYCHIC, - MOVE_HYPNOSIS, - MOVE_MEDITATE, - MOVE_AGILITY, - MOVE_QUICK_ATTACK, - MOVE_RAGE, - MOVE_TELEPORT, - MOVE_NIGHT_SHADE, - MOVE_MIMIC, - MOVE_SCREECH, - MOVE_DOUBLE_TEAM, - MOVE_RECOVER, - MOVE_HARDEN, - MOVE_MINIMIZE, - MOVE_SMOKESCREEN, - MOVE_CONFUSE_RAY, - MOVE_WITHDRAW, - MOVE_DEFENSE_CURL, - MOVE_BARRIER, - MOVE_LIGHT_SCREEN, - MOVE_HAZE, - MOVE_REFLECT, - MOVE_FOCUS_ENERGY, - MOVE_BIDE, - MOVE_METRONOME, - MOVE_MIRROR_MOVE, - MOVE_SELF_DESTRUCT, - MOVE_EGG_BOMB, - MOVE_LICK, - MOVE_SMOG, - MOVE_SLUDGE, - MOVE_BONE_CLUB, - MOVE_FIRE_BLAST, - MOVE_WATERFALL, - MOVE_CLAMP, - MOVE_SWIFT, - MOVE_SKULL_BASH, - MOVE_SPIKE_CANNON, - MOVE_CONSTRICT, - MOVE_AMNESIA, - MOVE_KINESIS, - MOVE_SOFT_BOILED, - MOVE_HI_JUMP_KICK, - MOVE_GLARE, - MOVE_DREAM_EATER, - MOVE_POISON_GAS, - MOVE_BARRAGE, - MOVE_LEECH_LIFE, - MOVE_LOVELY_KISS, - MOVE_SKY_ATTACK, - MOVE_TRANSFORM, - MOVE_BUBBLE, - MOVE_DIZZY_PUNCH, - MOVE_SPORE, - MOVE_FLASH, - MOVE_PSYWAVE, - MOVE_SPLASH, - MOVE_ACID_ARMOR, - MOVE_CRABHAMMER, - MOVE_EXPLOSION, - MOVE_FURY_SWIPES, - MOVE_BONEMERANG, - MOVE_REST, - MOVE_ROCK_SLIDE, - MOVE_HYPER_FANG, - MOVE_SHARPEN, - MOVE_CONVERSION, - MOVE_TRI_ATTACK, - MOVE_SUPER_FANG, - MOVE_SLASH, - MOVE_SUBSTITUTE, - MOVE_STRUGGLE, - MOVE_SKETCH, - MOVE_TRIPLE_KICK, - MOVE_THIEF, - MOVE_SPIDER_WEB, - MOVE_MIND_READER, - MOVE_NIGHTMARE, - MOVE_FLAME_WHEEL, - MOVE_SNORE, - MOVE_CURSE, - MOVE_FLAIL, - MOVE_CONVERSION_2, - MOVE_AEROBLAST, - MOVE_COTTON_SPORE, - MOVE_REVERSAL, - MOVE_SPITE, - MOVE_POWDER_SNOW, - MOVE_PROTECT, - MOVE_MACH_PUNCH, - MOVE_SCARY_FACE, - MOVE_FAINT_ATTACK, - MOVE_SWEET_KISS, - MOVE_BELLY_DRUM, - MOVE_SLUDGE_BOMB, - MOVE_MUD_SLAP, - MOVE_OCTAZOOKA, - MOVE_SPIKES, - MOVE_ZAP_CANNON, - MOVE_FORESIGHT, - MOVE_DESTINY_BOND, - MOVE_PERISH_SONG, - MOVE_ICY_WIND, - MOVE_DETECT, - MOVE_BONE_RUSH, - MOVE_LOCK_ON, - MOVE_OUTRAGE, - MOVE_SANDSTORM, - MOVE_GIGA_DRAIN, - MOVE_ENDURE, - MOVE_CHARM, - MOVE_ROLLOUT, - MOVE_FALSE_SWIPE, - MOVE_SWAGGER, - MOVE_MILK_DRINK, - MOVE_SPARK, - MOVE_FURY_CUTTER, - MOVE_STEEL_WING, - MOVE_MEAN_LOOK, - MOVE_ATTRACT, - MOVE_SLEEP_TALK, - MOVE_HEAL_BELL, - MOVE_RETURN, - MOVE_PRESENT, - MOVE_FRUSTRATION, - MOVE_SAFEGUARD, - MOVE_PAIN_SPLIT, - MOVE_SACRED_FIRE, - MOVE_MAGNITUDE, - MOVE_DYNAMIC_PUNCH, - MOVE_MEGAHORN, - MOVE_DRAGON_BREATH, - MOVE_BATON_PASS, - MOVE_ENCORE, - MOVE_PURSUIT, - MOVE_RAPID_SPIN, - MOVE_SWEET_SCENT, - MOVE_IRON_TAIL, - MOVE_METAL_CLAW, - MOVE_VITAL_THROW, - MOVE_MORNING_SUN, - MOVE_SYNTHESIS, - MOVE_MOONLIGHT, - MOVE_HIDDEN_POWER, - MOVE_CROSS_CHOP, - MOVE_TWISTER, - MOVE_RAIN_DANCE, - MOVE_SUNNY_DAY, - MOVE_CRUNCH, - MOVE_MIRROR_COAT, - MOVE_PSYCH_UP, - MOVE_EXTREME_SPEED, - MOVE_ANCIENT_POWER, - MOVE_SHADOW_BALL, - MOVE_FUTURE_SIGHT, - MOVE_ROCK_SMASH, - MOVE_WHIRLPOOL, - MOVE_BEAT_UP, - MOVE_FAKE_OUT, - MOVE_UPROAR, - MOVE_STOCKPILE, - MOVE_SPIT_UP, - MOVE_SWALLOW, - MOVE_HEAT_WAVE, - MOVE_HAIL, - MOVE_TORMENT, - MOVE_FLATTER, - MOVE_WILL_O_WISP, - MOVE_MEMENTO, - MOVE_FACADE, - MOVE_FOCUS_PUNCH, - MOVE_SMELLING_SALT, - MOVE_FOLLOW_ME, - MOVE_NATURE_POWER, - MOVE_CHARGE, - MOVE_TAUNT, - MOVE_HELPING_HAND, - MOVE_TRICK, - MOVE_ROLE_PLAY, - MOVE_WISH, - MOVE_ASSIST, - MOVE_INGRAIN, - MOVE_SUPERPOWER, - MOVE_MAGIC_COAT, - MOVE_RECYCLE, - MOVE_REVENGE, - MOVE_BRICK_BREAK, - MOVE_YAWN, - MOVE_KNOCK_OFF, - MOVE_ENDEAVOR, - MOVE_ERUPTION, - MOVE_SKILL_SWAP, - MOVE_IMPRISON, - MOVE_REFRESH, - MOVE_GRUDGE, - MOVE_SNATCH, - MOVE_SECRET_POWER, - MOVE_DIVE, - MOVE_ARM_THRUST, - MOVE_CAMOUFLAGE, - MOVE_TAIL_GLOW, - MOVE_LUSTER_PURGE, - MOVE_MIST_BALL, - MOVE_FEATHER_DANCE, - MOVE_TEETER_DANCE, - MOVE_BLAZE_KICK, - MOVE_MUD_SPORT, - MOVE_ICE_BALL, - MOVE_NEEDLE_ARM, - MOVE_SLACK_OFF, - MOVE_HYPER_VOICE, - MOVE_POISON_FANG, - MOVE_CRUSH_CLAW, - MOVE_BLAST_BURN, - MOVE_HYDRO_CANNON, - MOVE_METEOR_MASH, - MOVE_ASTONISH, - MOVE_WEATHER_BALL, - MOVE_AROMATHERAPY, - MOVE_FAKE_TEARS, - MOVE_AIR_CUTTER, - MOVE_OVERHEAT, - MOVE_ODOR_SLEUTH, - MOVE_ROCK_TOMB, - MOVE_SILVER_WIND, - MOVE_METAL_SOUND, - MOVE_GRASS_WHISTLE, - MOVE_TICKLE, - MOVE_COSMIC_POWER, - MOVE_WATER_SPOUT, - MOVE_SIGNAL_BEAM, - MOVE_SHADOW_PUNCH, - MOVE_EXTRASENSORY, - MOVE_SKY_UPPERCUT, - MOVE_SAND_TOMB, - MOVE_SHEER_COLD, - MOVE_MUDDY_WATER, - MOVE_BULLET_SEED, - MOVE_AERIAL_ACE, - MOVE_ICICLE_SPEAR, - MOVE_IRON_DEFENSE, - MOVE_BLOCK, - MOVE_HOWL, - MOVE_DRAGON_CLAW, - MOVE_FRENZY_PLANT, - MOVE_BULK_UP, - MOVE_BOUNCE, - MOVE_MUD_SHOT, - MOVE_POISON_TAIL, - MOVE_COVET, - MOVE_VOLT_TACKLE, - MOVE_MAGICAL_LEAF, - MOVE_WATER_SPORT, - MOVE_CALM_MIND, - MOVE_LEAF_BLADE, - MOVE_DRAGON_DANCE, - MOVE_ROCK_BLAST, - MOVE_SHOCK_WAVE, - MOVE_WATER_PULSE, - MOVE_DOOM_DESIRE, - MOVE_PSYCHO_BOOST, -}; -extern const u8 gMoveNames[][13]; - -#define LAST_MOVE_INDEX MOVE_PSYCHO_BOOST - -#endif // GUARD_MOVES_H diff --git a/include/mystery_event_menu.h b/include/mystery_event_menu.h new file mode 100644 index 0000000000..8801789d9f --- /dev/null +++ b/include/mystery_event_menu.h @@ -0,0 +1,6 @@ +#ifndef GUARD_MYSTERY_EVENT_MENU_H +#define GUARD_MYSTERY_EVENT_MENU_H + +void CB2_InitMysteryEventMenu(void); + +#endif // GUARD_MYSTERY_EVENT_MENU_H diff --git a/include/mystery_event_msg.h b/include/mystery_event_msg.h new file mode 100644 index 0000000000..465b60ccb6 --- /dev/null +++ b/include/mystery_event_msg.h @@ -0,0 +1,16 @@ +#ifndef GUARD_MYSTERY_EVENT_MSG_H +#define GUARD_MYSTERY_EVENT_MSG_H + +extern const u8 gText_MysteryGiftBerry[]; +extern const u8 gText_MysteryGiftBerryTransform[]; +extern const u8 gText_MysteryGiftBerryObtained[]; +extern const u8 gText_MysteryGiftSpecialRibbon[]; +extern const u8 gText_MysteryGiftNationalDex[]; +extern const u8 gText_MysteryGiftRareWord[]; +extern const u8 gText_MysteryGiftSentOver[]; +extern const u8 gText_MysteryGiftFullParty[]; +extern const u8 gText_MysteryGiftNewTrainer[]; +extern const u8 gText_MysteryGiftNewAdversaryInBattleTower[]; +extern const u8 gText_MysteryGiftCantBeUsed[]; + +#endif // GUARD_MYSTERY_EVENT_MSG_H diff --git a/include/mystery_event_script.h b/include/mystery_event_script.h index 1fad6c485a..0857c71886 100644 --- a/include/mystery_event_script.h +++ b/include/mystery_event_script.h @@ -1,9 +1,11 @@ #ifndef GUARD_MYSTERY_EVENT_SCRIPT_H #define GUARD_MYSTERY_EVENT_SCRIPT_H -u32 RunMysteryEventScript(u8 *); +void sub_8153870(u8 *script); +bool32 sub_8153884(u32 *a0); +u32 RunMysteryEventScript(u8 *script); void SetMysteryEventScriptStatus(u32 val); u16 GetRecordMixingGift(void); -u16 sub_81539D4(void); +u16 GetRecordMixingGift(void); #endif // GUARD_MYSTERY_EVENT_SCRIPT_H diff --git a/include/naming_screen.h b/include/naming_screen.h index 3d69b834fb..b04cb19b61 100644 --- a/include/naming_screen.h +++ b/include/naming_screen.h @@ -1,12 +1,89 @@ #ifndef GUARD_NAMING_SCREEN_H #define GUARD_NAMING_SCREEN_H -#define NAMING_SCREEN_PLAYER 0 -#define NAMING_SCREEN_BOX 1 -#define NAMING_SCREEN_CAUGHT_MON 2 -#define NAMING_SCREEN_3 3 -#define NAMING_SCREEN_WALDA 4 +#include "main.h" -void DoNamingScreen(u8 caseId, u8* dst, u16 monSpecies, u8 monGender, u32 monPersonality, void (*callback)(void)); +#define KBEVENT_NONE 0 +#define KBEVENT_PRESSED_A 5 +#define KBEVENT_PRESSED_B 6 +#define KBEVENT_PRESSED_SELECT 8 +#define KBEVENT_PRESSED_START 9 + +enum +{ + NAMING_SCREEN_PLAYER, + NAMING_SCREEN_BOX, + NAMING_SCREEN_CAUGHT_MON, + NAMING_SCREEN_3, + NAMING_SCREEN_WALDA, +}; + +struct NamingScreenTemplate +{ + u8 copyExistingString; + u8 maxChars; + u8 iconFunction; + u8 addGenderIcon; + u8 initialPage; + u8 unused; + const u8 *title; +}; + +struct NamingScreenData { + /*0x0*/ u8 tilemapBuffer1[0x800]; + /*0x800*/ u8 tilemapBuffer2[0x800]; + /*0x800*/ u8 tilemapBuffer3[0x800]; + /*0x1800*/ u8 textBuffer[0x10]; + /*0x1810*/ u8 tileBuffer[0x600]; + /*0x1E10*/ u8 state; + /*0x1E11*/ u8 windows[5]; + /*0x1E16*/ u16 inputCharBaseXPos; + /*0x1E18*/ u16 bg1vOffset; + /*0x1E1A*/ u16 bg2vOffset; + /*0x1E1C*/ u16 bg1Priority; + /*0x1E1E*/ u16 bg2Priority; + /*0x1E20*/ u8 bgToReveal; + /*0x1E21*/ u8 bgToHide; + /*0x1E22*/ u8 currentPage; + /*0x1E23*/ u8 cursorSpriteId; + /*0x1E24*/ u8 selectBtnFrameSpriteId; + /*0x1E25*/ u8 keyRepeatStartDelayCopy; + /*0x1E28*/ const struct NamingScreenTemplate *template; + /*0x1E2C*/ u8 templateNum; + /*0x1E30*/ u8 *destBuffer; + /*0x1E34*/ u16 monSpecies; + /*0x1E36*/ u16 monGender; + /*0x1E38*/ u32 monPersonality; + /*0x1E3C*/ MainCallback returnCallback; +}; + +enum +{ + PAGE_UPPER, + PAGE_LOWER, + PAGE_OTHERS, +}; + +enum +{ + MAIN_STATE_BEGIN_FADE_IN, + MAIN_STATE_WAIT_FADE_IN, + MAIN_STATE_HANDLE_INPUT, + MAIN_STATE_MOVE_TO_OK_BUTTON, + MAIN_STATE_START_PAGE_SWAP, + MAIN_STATE_WAIT_PAGE_SWAP, + MAIN_STATE_6, + MAIN_STATE_UPDATE_SENT_TO_PC_MESSAGE, + MAIN_STATE_BEGIN_FADE_OUT, +}; + +enum +{ + INPUT_STATE_DISABLED, + INPUT_STATE_ENABLED, + INPUT_STATE_2, +}; + +void DoNamingScreen(u8 templateNum, u8 *destBuffer, u16 monSpecies, u16 monGender, u32 monPersonality, MainCallback returnCallback); #endif // GUARD_NAMING_SCREEN_H diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h deleted file mode 100644 index 42b8c60b1d..0000000000 --- a/include/new_menu_helpers.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef GUARD_NEW_MENU_HELPERS_H -#define GUARD_NEW_MENU_HELPERS_H - -#include "text.h" -#include "task.h" - -void sub_81973A4(void); -void sub_81973C4(u8, u8); -void sub_819746C(u8 windowId, bool8 copyToVram); -void sub_81973FC(u8, u8); -u16 AddTextPrinterParametrized(u8 windowId, u8 fontId, const u8 *str, u8 speed, void ( *callback)(u16, struct TextPrinter *), u8 fgColor, u8 bgColor, u8 shadowColor); -void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback); -void sub_8197434(u8 a0, u8 a1); -void SetStandardWindowBorderStyle(u8 a0, u8 a1); -void sub_8197930(void); - -#endif // GUARD_NEW_MENU_HELPERS_H diff --git a/include/option_menu.h b/include/option_menu.h new file mode 100644 index 0000000000..b23a73c4c4 --- /dev/null +++ b/include/option_menu.h @@ -0,0 +1,6 @@ +#ifndef GUARD_OPTION_MENU_H +#define GUARD_OPTION_MENU_H + +void CB2_InitOptionMenu(void); + +#endif // GUARD_OPTION_MENU_H diff --git a/include/overworld.h b/include/overworld.h index 63c54eee31..b7ed920db3 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -42,6 +42,9 @@ void sub_8084EBC(s16, s16); void player_avatar_init_params_reset(void); +bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType); +void Overworld_ResetStateAfterTeleport(void); + void Overworld_SetFlashLevel(s32 a1); //u8 Overworld_GetFlashLevel(void); void sub_8085524(u16); @@ -53,17 +56,27 @@ void Overworld_ChangeMusicTo(u16); bool32 is_c1_link_related_active(void); void strange_npc_table_clear(void); -const struct MapHeader *get_mapheader_by_bank_and_number(u8, u8); +const struct MapHeader *get_mapheader_by_bank_and_number(u16, u16); void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *); void sub_8086230(void); void c2_exit_to_overworld_2_switch(void); bool32 sub_8087598(void); void c2_exit_to_overworld_1_continue_scripts_restart_music(void); void warp_in(void); +u8 get_map_light_level_by_bank_and_number(s8 mapGroup, s8 mapNum); +void sub_8086194(void); +void sub_8084CCC(u8 spawn); void warp1_set_2(s8 mapGroup, s8 mapNum, s8 warpNum); void c2_load_new_map(void); void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused); void mapldr_default(void); void sub_808729C(void); +u8 get_map_light_from_warp0(void); +bool8 is_light_level_1_2_3_5_or_6(u8 a1); + +void IncrementGameStat(u8); +u32 GetGameStat(u8); + +void CB2_OverworldBasic(void); #endif //GUARD_ROM4_H diff --git a/include/palette.h b/include/palette.h index d3bcd22710..41cef40484 100644 --- a/include/palette.h +++ b/include/palette.h @@ -14,7 +14,7 @@ enum { FAST_FADE_IN_FROM_WHITE, - FAST_FADE_OUT_TO_WHTIE, + FAST_FADE_OUT_TO_WHITE, FAST_FADE_IN_FROM_BLACK, FAST_FADE_OUT_TO_BLACK, }; @@ -67,5 +67,6 @@ void BeginFastPaletteFade(u8); void BeginHardwarePaletteFade(u8, u8, u8, u8, u8); void BlendPalettes(u32, u8, u16); void BlendPalettesUnfaded(u32, u8, u16); +void sub_80A2C44(u32 a1, s8 a2, u8 a3, u8 a4, u16 a5, u8 a6, u8 a7); #endif // GUARD_PALETTE_H diff --git a/include/party_menu.h b/include/party_menu.h index c93f63a6d7..1d1661ceed 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -1,7 +1,22 @@ #ifndef GUARD_PARTY_MENU_H #define GUARD_PARTY_MENU_H +enum +{ + AILMENT_NONE, + AILMENT_PSN, + AILMENT_PRZ, + AILMENT_SLP, + AILMENT_FRZ, + AILMENT_BRN +}; + bool8 pokemon_has_move(struct Pokemon *, u16); +void sub_81B58A8(void); void DoWallyTutorialBagMenu(void); +u8 pokemon_ailments_get_primary(u32 status); +u8 *GetMonNickname(struct Pokemon *mon, u8 *dst); +u8 GetCursorSelectionMonId(void); +bool8 FieldCallback_Teleport(void); #endif // GUARD_PARTY_MENU_H diff --git a/include/pokeball.h b/include/pokeball.h index 76f0844650..84178b5b22 100644 --- a/include/pokeball.h +++ b/include/pokeball.h @@ -1,8 +1,32 @@ #ifndef GUARD_POKEBALL_H #define GUARD_POKEBALL_H -u8 sub_80753E8(u16, u8); +enum +{ + BALL_POKE, + BALL_GREAT, + BALL_SAFARI, + BALL_ULTRA, + BALL_MASTER, + BALL_NET, + BALL_DIVE, + BALL_NEST, + BALL_REPEAT, + BALL_TIMER, + BALL_LUXURY, + BALL_PREMIER, + POKEBALL_COUNT +}; + +#define POKEBALL_PLAYER_SENDOUT 0xFF +#define POKEBALL_OPPONENT_SENDOUT 0xFE + +u8 DoPokeballSendOutAnimation(s16 pan, u8 kindOfThrow); +void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 bank, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h, u16 species); +u8 sub_807671C(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h); void sub_8076918(u8 bank); void DoHitAnimHealthboxEffect(u8 bank); +void LoadBallGfx(u8 ballId); +void FreeBallGfx(u8 ballId); #endif // GUARD_POKEBALL_H diff --git a/include/pokeblock.h b/include/pokeblock.h index 5d52f8e55a..6dd07b6891 100644 --- a/include/pokeblock.h +++ b/include/pokeblock.h @@ -1,6 +1,9 @@ #ifndef GUARD_POKEBLOCK_H #define GUARD_POKEBLOCK_H +#define GFX_TAG_POKEBLOCK 14818 +#define GFX_TAG_POKEBLOCK_CASE 14800 + enum { PBLOCK_CLR_BLACK, @@ -22,24 +25,44 @@ enum PBLOCK_FEEL, }; -void ClearPokeblocks(void); +enum +{ + PBLOCK_CASE_FIELD, + PBLOCK_CASE_BATTLE, + PBLOCK_CASE_FEEDER, + PBLOCK_CASE_GIVE +}; -/* -void sub_810B96C(void); -u8 sub_810BA50(s16, s16, u8); -u8 sub_810C9B0(struct Pokeblock *); -s16 GetPokeblockData(const struct Pokeblock *, u8); -u8 sub_810C9E8(struct Pokeblock *); -void sub_810BA7C(u8); -bool8 PokeblockClearIfExists(u8); -s16 PokeblockGetGain(u8, const struct Pokeblock *); -u8 sub_810CB68(u8, u8*); -void PokeblockCopyName(struct Pokeblock *pokeblock, u8 *dest); +// use pokeblock +extern u8 gPokeblockMonId; +extern s16 gPokeblockGain; + +void ChooseMonToGivePokeblock(struct Pokeblock *pokeblock, void (*callback)(void)); + +// pokeblock feed void CB2_PreparePokeblockFeedScene(void); -#include "main.h" +// pokeblock +extern const s8 gPokeblockFlavorCompatibilityTable[]; +extern const u8 *const gPokeblockNames[]; +extern const struct CompressedSpriteSheet gPokeblockCase_SpriteSheet; +extern const struct CompressedSpritePalette gPokeblockCase_SpritePal; -void sub_8136130(struct Pokeblock *, MainCallback); -*/ +void OpenPokeblockCase(u8 caseId, void (*callback)(void)); +void OpenPokeblockCaseInBattle(void); +void OpenPokeblockCaseOnFeeder(void); +void ResetPokeblockScrollPositions(void); +u8 CreatePokeblockCaseSprite(s16 x, s16 y, u8 subpriority); +void ClearPokeblocks(void); +u8 GetHighestPokeblocksFlavorLevel(const struct Pokeblock *pokeblock); +u8 GetPokeblocksFeel(const struct Pokeblock *pokeblock); +s8 GetFirstFreePokeblockSlot(void); +bool32 AddPokeblock(const struct Pokeblock *pokeblock); +bool32 TryClearPokeblock(u8 pkblId); +s16 GetPokeblockData(const struct Pokeblock *pokeblock, u8 field); +s16 PokeblockGetGain(u8 nature, const struct Pokeblock *pokeblock); +void PokeblockCopyName(const struct Pokeblock *pokeblock, u8 *dest); +bool8 CopyMonFavoritePokeblockName(u8 nature, u8 *dest); +u8 GetPokeblocksFlavor(const struct Pokeblock *pokeblock); #endif // GUARD_POKEBLOCK_H diff --git a/include/pokedex.h b/include/pokedex.h index 79721899f2..236feac45c 100644 --- a/include/pokedex.h +++ b/include/pokedex.h @@ -2,7 +2,7 @@ #define GUARD_POKEDEX_H void ResetPokedex(void); -const u8 *GetPokemonCategory(u16); +void CopyMonCategoryText(u16 species, u8 *dst); u16 GetPokedexHeightWeight(u16 dexNum, u8 data); u16 GetNationalPokedexCount(u8); u16 GetHoennPokedexCount(u8); diff --git a/include/pokemon.h b/include/pokemon.h index 0c7d6ac408..de52696ddb 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -1,6 +1,8 @@ #ifndef GUARD_POKEMON_H #define GUARD_POKEMON_H +#include "constants/pokemon.h" + #define MON_DATA_PERSONALITY 0 #define MON_DATA_OT_ID 1 #define MON_DATA_NICKNAME 2 @@ -107,82 +109,11 @@ #define MON_FEMALE 0xFE #define MON_GENDERLESS 0xFF -#define TYPE_NORMAL 0x00 -#define TYPE_FIGHTING 0x01 -#define TYPE_FLYING 0x02 -#define TYPE_POISON 0x03 -#define TYPE_GROUND 0x04 -#define TYPE_ROCK 0x05 -#define TYPE_BUG 0x06 -#define TYPE_GHOST 0x07 -#define TYPE_STEEL 0x08 -#define TYPE_MYSTERY 0x09 -#define TYPE_FIRE 0x0a -#define TYPE_WATER 0x0b -#define TYPE_GRASS 0x0c -#define TYPE_ELECTRIC 0x0d -#define TYPE_PSYCHIC 0x0e -#define TYPE_ICE 0x0f -#define TYPE_DRAGON 0x10 -#define TYPE_DARK 0x11 - -#define NUMBER_OF_MON_TYPES 0x12 - -#define PARTY_SIZE 6 #define MAX_TOTAL_EVS 510 #define NUM_STATS 6 #define UNOWN_FORM_COUNT 28 #define MAX_MON_LEVEL 100 -enum -{ - EGG_GROUP_NONE, - EGG_GROUP_MONSTER, - EGG_GROUP_WATER_1, - EGG_GROUP_BUG, - EGG_GROUP_FLYING, - EGG_GROUP_FIELD, - EGG_GROUP_FAIRY, - EGG_GROUP_GRASS, - EGG_GROUP_HUMAN_LIKE, - EGG_GROUP_WATER_3, - EGG_GROUP_MINERAL, - EGG_GROUP_AMORPHOUS, - EGG_GROUP_WATER_2, - EGG_GROUP_DITTO, - EGG_GROUP_DRAGON, - EGG_GROUP_UNDISCOVERED -}; - -enum -{ - NATURE_HARDY, - NATURE_LONELY, - NATURE_BRAVE, - NATURE_ADAMANT, - NATURE_NAUGHTY, - NATURE_BOLD, - NATURE_DOCILE, - NATURE_RELAXED, - NATURE_IMPISH, - NATURE_LAX, - NATURE_TIMID, - NATURE_HASTY, - NATURE_SERIOUS, - NATURE_JOLLY, - NATURE_NAIVE, - NATURE_MODEST, - NATURE_MILD, - NATURE_QUIET, - NATURE_BASHFUL, - NATURE_RASH, - NATURE_CALM, - NATURE_GENTLE, - NATURE_SASSY, - NATURE_CAREFUL, - NATURE_QUIRKY, -}; - struct PokemonSubstruct0 { u16 species; @@ -375,28 +306,6 @@ struct BattlePokemon /*0x54*/ u32 otId; }; -enum -{ - STAT_STAGE_HP, // 0 - STAT_STAGE_ATK, // 1 - STAT_STAGE_DEF, // 2 - STAT_STAGE_SPEED, // 3 - STAT_STAGE_SPATK, // 4 - STAT_STAGE_SPDEF, // 5 - STAT_STAGE_ACC, // 6 - STAT_STAGE_EVASION, // 7 -}; - -enum -{ - STAT_HP, // 0 - STAT_ATK, // 1 - STAT_DEF, // 2 - STAT_SPD, // 3 - STAT_SPATK, // 4 - STAT_SPDEF, // 5 -}; - struct BaseStats { /* 0x00 */ u8 baseHP; @@ -509,10 +418,7 @@ struct Evolution u16 targetSpecies; }; -struct EvolutionData -{ - struct Evolution evolutions[5]; -}; +#define EVOS_PER_MON 5 extern u8 gPlayerPartyCount; extern struct Pokemon gPlayerParty[PARTY_SIZE]; @@ -520,7 +426,7 @@ extern u8 gEnemyPartyCount; extern struct Pokemon gEnemyParty[PARTY_SIZE]; extern const struct BaseStats gBaseStats[]; extern const u8 *const gItemEffectTable[]; -extern const struct EvolutionData gEvolutionTable[]; +extern const struct Evolution gEvolutionTable[][EVOS_PER_MON]; extern struct PokemonStorage* gPokemonStoragePtr; extern const u32 gExperienceTables[][MAX_MON_LEVEL + 1]; extern const u16 *const gLevelUpLearnsets[]; @@ -612,8 +518,8 @@ u32 CanMonLearnTMHM(struct Pokemon *, u8); u32 CanSpeciesLearnTMHM(u16 species, u8 tm); u8 GetMoveRelearnerMoves(struct Pokemon *mon, u16 *moves); void ClearBattleMonForms(void); -const u8 *pokemon_get_pal(struct Pokemon *mon); -const u8 *species_and_otid_get_pal(u16, u32, u32); +const u8 *GetMonFrontSpritePal(struct Pokemon *mon); +const u8 *GetFrontSpritePalFromSpeciesAndPersonality(u16, u32, u32); const struct CompressedSpritePalette *sub_80409C8(u16, u32, u32); bool8 IsOtherTrainer(u32, u8 *); void SetWildMonHeldItem(void); @@ -629,7 +535,7 @@ bool8 IsShinyOtIdPersonality(u32 otId, u32 personality); void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies); bool8 IsTradedMon(struct Pokemon *mon); void HandleSetPokedexFlag(u16 nationalNum, u8 caseId, u32 personality); -s32 GetBankMultiplayerId(u16 a1); +s32 GetBattlerMultiplayerId(u16 a1); bool16 sub_806D82C(u8 id); u16 MonTryLearningNewMove(struct Pokemon* mon, bool8); void sub_8068AA4(void); // sets stats for deoxys @@ -640,14 +546,18 @@ u8 CheckPartyPokerus(struct Pokemon *party, u8 selection); u8 CheckPartyHasHadPokerus(struct Pokemon *party, u8 selection); void UpdatePartyPokerusTime(u16 days); void PartySpreadPokerus(struct Pokemon *party); -s8 GetMonFlavourRelation(struct Pokemon *mon, u8 a2); -s8 GetFlavourRelationByPersonality(u32 personality, u8 a2); +s8 GetMonFlavorRelation(struct Pokemon *mon, u8 a2); +s8 GetFlavorRelationByPersonality(u32 personality, u8 a2); u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit); u8 GetDefaultMoveTarget(u8 atkBank); u16 PlayerGenderToFrontTrainerPicId(u8 playerGender); void sub_806A1C0(u16 arg0, u8 bankIdentity); void sub_806A12C(u16 trainerSpriteId, u8 bankIdentity); u8 GetSecretBaseTrainerPicIndex(void); +bool8 TryIncrementMonLevel(struct Pokemon *mon); +void BoxMonToMon(struct BoxPokemon *srcMon, struct Pokemon *dstMon); +u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves); +u8 GetMonsStateToDoubles_2(void); #include "sprite.h" diff --git a/include/pokemon_3.h b/include/pokemon_3.h index 5c9862d573..82dfacf48b 100644 --- a/include/pokemon_3.h +++ b/include/pokemon_3.h @@ -3,5 +3,7 @@ const u8* GetTrainerClassNameFromId(u16 trainerId); const u8* GetTrainerNameFromId(u16 trainerId); +void PlayMapChosenOrBattleBGM(u16 song); +u8 GetTrainerEncounterMusicId(u16 trainerOpponentId); #endif // GUARD_POKEMON_3_H diff --git a/include/pokemon_animation.h b/include/pokemon_animation.h index 42fc10809e..c1ab8d817d 100644 --- a/include/pokemon_animation.h +++ b/include/pokemon_animation.h @@ -1,7 +1,10 @@ #ifndef GUARD_POKEMON_ANIMATION_H #define GUARD_POKEMON_ANIMATION_H -void LaunchAnimationTaskForFrontSprite(struct Sprite* sprite, u8 frontAnimId); -void LaunchAnimationTaskForBackSprite(struct Sprite* sprite, u8 backAnimId); +u8 GetSpeciesBackAnimSet(u16 species); +void LaunchAnimationTaskForFrontSprite(struct Sprite *sprite, u8 frontAnimId); +void StartMonSummaryAnimation(struct Sprite *sprite, u8 frontAnimId); +void LaunchAnimationTaskForBackSprite(struct Sprite *sprite, u8 backAnimSet); +void SetSpriteCB_MonAnimDummy(struct Sprite *sprite); #endif // GUARD_POKEMON_ANIMATION_H diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index b6d21823e0..e7fc81ce43 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -3,10 +3,13 @@ const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo); const u16 *GetValidMonIconPalettePtr(u16 speciesId); +u16 GetUnownLetterByPersonality(u32 personality); u16 sub_80D2E84(u16 speciesId); +void sub_80D2F04(void); void sub_80D2F68(u16 iconId); u8 sub_80D2D78(u16 iconId, void callback(struct Sprite *), u16 x, u16 y, u16 a4, u8 a5); void sub_80D2FF0(u16 iconId); void sub_80D2EF8(struct Sprite *sprite); +u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality, int a7); #endif // GUARD_POKEMON_ICON_H diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 49680793d2..9fcfdba964 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -1,8 +1,13 @@ #ifndef GUARD_POKEMON_STORAGE_SYSTEM_H #define GUARD_POKEMON_STORAGE_SYSTEM_H +#define TOTAL_BOXES_COUNT 14 +#define IN_BOX_COUNT 30 + u8* GetBoxNamePtr(u8 boxNumber); struct BoxPokemon *GetBoxedMonPtr(u8, u8); void SetBoxMonNickFromAnyBox(u8, u8, u8 *); +void CompactPartySlots(void); +u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request); #endif // GUARD_POKEMON_STORAGE_SYSTEM_H diff --git a/include/pokenav.h b/include/pokenav.h new file mode 100644 index 0000000000..ebe3b325cb --- /dev/null +++ b/include/pokenav.h @@ -0,0 +1,17 @@ +#ifndef GUARD_POKENAV_H +#define GUARD_POKENAV_H + +bool8 sub_81D5C18(void); +bool8 sub_81D20BC(void *arg0); +bool8 sub_81D312C(void *arg0); +void sub_81D1ED4(void *arg0); +void sub_81D2108(void *arg0); +void sub_81D20AC(void *arg0); +void sub_81D2230(void *arg0); +void sub_81D3464(void *arg0); +void sub_81D3480(void *arg0, u8 arg1); +void sub_81D2754(void *arg0, void *arg1); +void sub_81D1F84(void *arg0, void *arg1, void *arg2); +const u8 *sub_81D62AC(void); + +#endif //GUARD_POKENAV_H diff --git a/include/random.h b/include/random.h new file mode 100644 index 0000000000..79a9d71dcb --- /dev/null +++ b/include/random.h @@ -0,0 +1,18 @@ +#ifndef GUARD_RANDOM_H +#define GUARD_RANDOM_H + +extern u32 gRngValue; +extern u32 gRng2Value; + +//Returns a 16-bit pseudorandom number +u16 Random(void); +u16 Random2(void); + +//Returns a 32-bit pseudorandom number +#define Random32() (Random() | (Random() << 16)) + +//Sets the initial seed value of the pseudorandom number generator +void SeedRng(u16 seed); +void SeedRng2(u16 seed); + +#endif // GUARD_RANDOM_H diff --git a/include/rayquaza_scene.h b/include/rayquaza_scene.h new file mode 100644 index 0000000000..fe66b3df06 --- /dev/null +++ b/include/rayquaza_scene.h @@ -0,0 +1,17 @@ +#ifndef GUARD_RAYQUAZA_SCENE_H +#define GUARD_RAYQUAZA_SCENE_H + +void DoRayquazaScene(u8 animId, bool8 onlyOneAnim, void (*callback)(void)); + +enum +{ + RAY_ANIM_DUO_FIGHT_PRE, + RAY_ANIM_DUO_FIGHT, + RAY_ANIM_TAKES_FLIGHT, + RAY_ANIM_DESCENDS, + RAY_ANIM_CHARGES, + RAY_ANIM_CHACES_AWAY, + RAY_ANIM_END +}; + +#endif // GUARD_RAYQUAZA_SCENE_H diff --git a/include/recorded_battle.h b/include/recorded_battle.h index ae2ed1a792..8b1fa258df 100644 --- a/include/recorded_battle.h +++ b/include/recorded_battle.h @@ -2,23 +2,40 @@ #define GUARD_RECORDED_BATTLE_H extern u32 gRecordedBattleRngSeed; +extern u32 gBattlePalaceMoveSelectionRngValue; +extern u8 gUnknown_0203C7B4; void sub_8184DA4(u8 arg0); -void sub_8185F84(void); void sub_8184E58(void); -u8 RecordedBattle_ReadBankAction(u8 bank); -void RecordedBattle_SetBankAction(u8 bank, u8 action); -void RecordedBattle_ClearBankAction(u8 bank, u8 bytesToClear); -void sub_8185F90(u16 arg0); -bool8 sub_8186450(void); -u8 sub_8185FAC(void); -u8 sub_8185FB8(void); -u8 MoveRecordedBattleToSaveData(void); -void sub_818603C(u8); -void sub_8185FD0(void); -void sub_8186444(void); -void sub_8185EB8(void); +void RecordedBattle_SetBattlerAction(u8 battlerId, u8 action); +void RecordedBattle_ClearBattlerAction(u8 battlerId, u8 bytesToClear); +u8 RecordedBattle_GetBattlerAction(u8 battlerId); +u8 sub_81850D0(void); u8 sub_81850DC(u8 *arg0); -u8 sub_8185F40(void); +void sub_81851A8(u8 *arg0); +bool32 CanCopyRecordedBattleSaveData(void); +u32 MoveRecordedBattleToSaveData(void); +void PlayRecordedBattle(void (*CB2_After)(void)); +u8 sub_8185EA0(void); +u8 sub_8185EAC(void); +void RecordedBattle_SaveParties(void); +u8 GetActiveBattlerLinkPlayerGender(void); +void sub_8185F84(void); +void sub_8185F90(u16 arg0); +u8 sub_8185FAC(void); +u8 GetBattleStyleInRecordedBattle(void); +u8 GetTextSpeedInRecordedBattle(void); +void RecordedBattle_CopyBattlerMoves(void); +void sub_818603C(u8 arg0); +u32 GetAiScriptsInRecordedBattle(void); +void sub_8186444(void); +bool8 sub_8186450(void); +void sub_8186468(u8 *dst); +u8 sub_818649C(void); +u8 sub_81864A8(void); +u8 sub_81864B4(void); +u8 sub_81864C0(void); +void sub_81864CC(void); +u16 *sub_81864E0(void); #endif // GUARD_RECORDED_BATTLE_H diff --git a/include/region_map.h b/include/region_map.h index 52e7376be7..af331ad816 100644 --- a/include/region_map.h +++ b/include/region_map.h @@ -1,227 +1,98 @@ #ifndef GUARD_REGION_MAP_H #define GUARD_REGION_MAP_H +#include "bg.h" + // Exported type declarations -enum { - REGION_MAP_LITTLEROOT_TOWN, - REGION_MAP_OLDALE_TOWN, - REGION_MAP_DEWFORD_TOWN, - REGION_MAP_LAVARIDGE_TOWN, - REGION_MAP_FALLARBOR_TOWN, - REGION_MAP_VERDANTURF_TOWN, - REGION_MAP_PACIFIDLOG_TOWN, - REGION_MAP_PETALBURG_CITY, - REGION_MAP_SLATEPORT_CITY, - REGION_MAP_MAUVILLE_CITY, - REGION_MAP_RUSTBORO_CITY, - REGION_MAP_FORTREE_CITY, - REGION_MAP_LILYCOVE_CITY, - REGION_MAP_MOSSDEEP_CITY, - REGION_MAP_SOOTOPOLIS_CITY, - REGION_MAP_EVER_GRANDE_CITY, - REGION_MAP_ROUTE_101, - REGION_MAP_ROUTE_102, - REGION_MAP_ROUTE_103, - REGION_MAP_ROUTE_104, - REGION_MAP_ROUTE_105, - REGION_MAP_ROUTE_106, - REGION_MAP_ROUTE_107, - REGION_MAP_ROUTE_108, - REGION_MAP_ROUTE_109, - REGION_MAP_ROUTE_110, - REGION_MAP_ROUTE_111, - REGION_MAP_ROUTE_112, - REGION_MAP_ROUTE_113, - REGION_MAP_ROUTE_114, - REGION_MAP_ROUTE_115, - REGION_MAP_ROUTE_116, - REGION_MAP_ROUTE_117, - REGION_MAP_ROUTE_118, - REGION_MAP_ROUTE_119, - REGION_MAP_ROUTE_120, - REGION_MAP_ROUTE_121, - REGION_MAP_ROUTE_122, - REGION_MAP_ROUTE_123, - REGION_MAP_ROUTE_124, - REGION_MAP_ROUTE_125, - REGION_MAP_ROUTE_126, - REGION_MAP_ROUTE_127, - REGION_MAP_ROUTE_128, - REGION_MAP_ROUTE_129, - REGION_MAP_ROUTE_130, - REGION_MAP_ROUTE_131, - REGION_MAP_ROUTE_132, - REGION_MAP_ROUTE_133, - REGION_MAP_ROUTE_134, - REGION_MAP_UNDERWATER_124, - REGION_MAP_UNDERWATER_125, - REGION_MAP_UNDERWATER_126, - REGION_MAP_UNDERWATER_127, - REGION_MAP_UNDERWATER_128, - REGION_MAP_GRANITE_CAVE, - REGION_MAP_MT_CHIMNEY, - REGION_MAP_SAFARI_ZONE, - REGION_MAP_BATTLE_FRONTIER, - REGION_MAP_PETALBURG_WOODS, - REGION_MAP_RUSTURF_TUNNEL, - REGION_MAP_ABANDONED_SHIP, - REGION_MAP_NEW_MAUVILLE, - REGION_MAP_METEOR_FALLS, - REGION_MAP_METEOR_FALLS2, - REGION_MAP_MT_PYRE, - REGION_MAP_AQUA_HIDEOUT_OLD, - REGION_MAP_SHOAL_CAVE, - REGION_MAP_SEAFLOOR_CAVERN, - REGION_MAP_UNDERWATER, - REGION_MAP_VICTORY_ROAD, - REGION_MAP_MIRAGE_ISLAND, - REGION_MAP_CAVE_OF_ORIGIN, - REGION_MAP_SOUTHERN_ISLAND, - REGION_MAP_FIERY_PATH, - REGION_MAP_FIERY_PATH2, - REGION_MAP_JAGGED_PASS, - REGION_MAP_JAGGED_PASS2, - REGION_MAP_SEALED_CHAMBER, - REGION_MAP_UNDERWATER_SEALED_CHAMBER, - REGION_MAP_SCORCHED_SLAB, - REGION_MAP_ISLAND_CAVE, - REGION_MAP_DESERT_RUINS, - REGION_MAP_ANCIENT_TOMB, - REGION_MAP_INSIDE_OF_TRUCK, - REGION_MAP_SKY_PILLAR, - REGION_MAP_SECRET_BASE, - REGION_MAP_NONE, - REGION_MAP_PALLET_TOWN, - REGION_MAP_VIRIDIAN_CITY, - REGION_MAP_PEWTER_CITY, - REGION_MAP_CERULEAN_CITY, - REGION_MAP_LAVENDER_TOWN, - REGION_MAP_VERMILION_CITY, - REGION_MAP_CELADON_CITY, - REGION_MAP_FUCHSIA_CITY, - REGION_MAP_CINNABAR_ISLAND, - REGION_MAP_INDIGO_PLATEAU, - REGION_MAP_SAFFRON_CITY, - REGION_MAP_ROUTE_4, - REGION_MAP_ROUTE_10, - REGION_MAP_ROUTE_1, - REGION_MAP_ROUTE_2, - REGION_MAP_ROUTE_3, - REGION_MAP_ROUTE_4_2, - REGION_MAP_ROUTE_5, - REGION_MAP_ROUTE_6, - REGION_MAP_ROUTE_7, - REGION_MAP_ROUTE_8, - REGION_MAP_ROUTE_9, - REGION_MAP_ROUTE_10_2, - REGION_MAP_ROUTE_11, - REGION_MAP_ROUTE_12, - REGION_MAP_ROUTE_13, - REGION_MAP_ROUTE_14, - REGION_MAP_ROUTE_15, - REGION_MAP_ROUTE_16, - REGION_MAP_ROUTE_17, - REGION_MAP_ROUTE_18, - REGION_MAP_ROUTE_19, - REGION_MAP_ROUTE_20, - REGION_MAP_ROUTE_21, - REGION_MAP_ROUTE_22, - REGION_MAP_ROUTE_23, - REGION_MAP_ROUTE_24, - REGION_MAP_ROUTE_25, - REGION_MAP_VIRIDIAN_FOREST, - REGION_MAP_MT_MOON, - REGION_MAP_S_S_ANNE, - REGION_MAP_UNDERGROUND_PATH, - REGION_MAP_UNDERGROUND_PATH_2, - REGION_MAP_DIGLETTS_CAVE, - REGION_MAP_KANTO_VICTORY_ROAD, - REGION_MAP_ROCKET_HIDEOUT, - REGION_MAP_SILPH_CO, - REGION_MAP_POKEMON_MANSION, - REGION_MAP_KANTO_SAFARI_ZONE, - REGION_MAP_POKEMON_LEAGUE, - REGION_MAP_ROCK_TUNNEL, - REGION_MAP_SEAFOAM_ISLANDS, - REGION_MAP_POKEMON_TOWER, - REGION_MAP_CERULEAN_CAVE, - REGION_MAP_POWER_PLANT, - REGION_MAP_ONE_ISLAND, - REGION_MAP_TWO_ISLAND, - REGION_MAP_THREE_ISLAND, - REGION_MAP_FOUR_ISLAND, - REGION_MAP_FIVE_ISLAND, - REGION_MAP_SEVEN_ISLAND, - REGION_MAP_SIX_ISLAND, - REGION_MAP_KINDLE_ROAD, - REGION_MAP_TREASURE_BEACH, - REGION_MAP_CAPE_BRINK, - REGION_MAP_BOND_BRIDGE, - REGION_MAP_THREE_ISLE_PORT, - REGION_MAP_SEVII_ISLE_6, - REGION_MAP_SEVII_ISLE_7, - REGION_MAP_SEVII_ISLE_8, - REGION_MAP_SEVII_ISLE_9, - REGION_MAP_RESORT_GORGEOUS, - REGION_MAP_WATER_LABYRINTH, - REGION_MAP_FIVE_ISLE_MEADOW, - REGION_MAP_MEMORIAL_PILLAR, - REGION_MAP_OUTCAST_ISLAND, - REGION_MAP_GREEN_PATH, - REGION_MAP_WATER_PATH, - REGION_MAP_RUIN_VALLEY, - REGION_MAP_TRAINER_TOWER, - REGION_MAP_CANYON_ENTRANCE, - REGION_MAP_SEVAULT_CANYON, - REGION_MAP_TANOBY_RUINS, - REGION_MAP_SEVII_ISLE_22, - REGION_MAP_SEVII_ISLE_23, - REGION_MAP_SEVII_ISLE_24, - REGION_MAP_NAVEL_ROCK, - REGION_MAP_MT_EMBER, - REGION_MAP_BERRY_FOREST, - REGION_MAP_ICEFALL_CAVE, - REGION_MAP_ROCKET_WAREHOUSE, - REGION_MAP_TRAINER_TOWER_2, - REGION_MAP_DOTTED_HOLE, - REGION_MAP_LOST_CAVE, - REGION_MAP_PATTERN_BUSH, - REGION_MAP_ALTERING_CAVE, - REGION_MAP_TANOBY_CHAMBERS, - REGION_MAP_THREE_ISLE_PATH, - REGION_MAP_TANOBY_KEY, - REGION_MAP_BIRTH_ISLAND, - REGION_MAP_MONEAN_CHAMBER, - REGION_MAP_LIPTOO_CHAMBER, - REGION_MAP_WEEPTH_CHAMBER, - REGION_MAP_DILFORD_CHAMBER, - REGION_MAP_SCUFIB_CHAMBER, - REGION_MAP_RIXY_CHAMBER, - REGION_MAP_VIAPOIS_CHAMBER, - REGION_MAP_EMBER_SPA, - REGION_MAP_SPECIAL_AREA, - REGION_MAP_AQUA_HIDEOUT, - REGION_MAP_MAGMA_HIDEOUT, - REGION_MAP_MIRAGE_TOWER, - REGION_MAP_BIRTH_ISLAND_2, - REGION_MAP_FARAWAY_ISLAND, - REGION_MAP_ARTISAN_CAVE, - REGION_MAP_MARINE_CAVE, - REGION_MAP_UNDERWATER_MARINE_CAVE, - REGION_MAP_TERRA_CAVE, - REGION_MAP_UNDERWATER_TERRA_CAVE, - REGION_MAP_UNDERWATER_UNK1, - REGION_MAP_UNDERWATER_UNK2, - REGION_MAP_DESERT_UNDERPASS, - REGION_MAP_ALTERING_CAVE_2, - REGION_MAP_NAVEL_ROCK2, - REGION_MAP_TRAINER_HILL +enum +{ + INPUT_EVENT_NONE, + INPUT_EVENT_MOVE_START, + INPUT_EVENT_MOVE_CONT, + INPUT_EVENT_MOVE_END, + INPUT_EVENT_A_BUTTON, + INPUT_EVENT_B_BUTTON, }; +enum { + MAPSECTYPE_NONE, + MAPSECTYPE_PLAIN, + MAPSECTYPE_CITY_CANFLY, + MAPSECTYPE_CITY_CANTFLY, + MAPSECTYPE_BATTLE_FRONTIER +}; + +struct RegionMap { + /*0x000*/ u16 mapSecId; + /*0x002*/ u8 iconDrawType; + /*0x003*/ u8 posWithinMapSec; + /*0x004*/ u8 mapSecName[0x14]; + /*0x018*/ u8 (*inputCallback)(void); + /*0x01c*/ struct Sprite *cursorSprite; + /*0x020*/ struct Sprite *playerIconSprite; + /*0x024*/ s32 bg2x; + /*0x028*/ s32 bg2y; + /*0x02c*/ u32 bg2pa; + /*0x034*/ u32 bg2pc; + /*0x030*/ u32 bg2pb; + /*0x038*/ u32 bg2pd; + /*0x03c*/ s32 unk_03c; + /*0x040*/ s32 unk_040; + /*0x044*/ s32 unk_044; + /*0x048*/ s32 unk_048; + /*0x04c*/ s32 unk_04c; + /*0x050*/ s32 unk_050; + /*0x054*/ u16 cursorPosX; + /*0x056*/ u16 cursorPosY; + /*0x058*/ u16 cursorTileTag; + /*0x05a*/ u16 cursorPaletteTag; + /*0x05c*/ s16 scrollX; + /*0x05e*/ s16 scrollY; + /*0x060*/ s16 unk_060; + /*0x062*/ s16 unk_062; + /*0x064*/ u16 zoomedCursorPosX; + /*0x066*/ u16 zoomedCursorPosY; + /*0x068*/ s16 zoomedCursorDeltaY; + /*0x06a*/ s16 zoomedCursorDeltaX; + /*0x06c*/ u16 zoomedCursorMovementFrameCounter; + /*0x06e*/ u16 unk_06e; + /*0x070*/ u16 playerIconTileTag; + /*0x072*/ u16 playerIconPaletteTag; + /*0x074*/ u16 playerIconSpritePosX; + /*0x076*/ u16 playerIconSpritePosY; + /*0x078*/ bool8 zoomed; + /*0x079*/ u8 initStep; + /*0x07a*/ s8 cursorMovementFrameCounter; + /*0x07b*/ s8 cursorDeltaX; + /*0x07c*/ s8 cursorDeltaY; + /*0x07d*/ bool8 needUpdateVideoRegs; + /*0x07e*/ bool8 blinkPlayerIcon; + /*0x07f*/ bool8 playerIsInCave; + /*0x080*/ u8 bgNum; + /*0x081*/ u8 charBaseIdx; + /*0x082*/ u8 mapBaseIdx; + /*0x083*/ bool8 bgManaged; + /*0x084*/ u8 filler_084[0x100]; + /*0x184*/ u8 cursorSmallImage[0x100]; + /*0x284*/ u8 cursorLargeImage[0x600]; +}; // size = 0x884 + // Exported RAM declarations // Exported ROM declarations -void GetMapName(u8 *, u16, u16); +void sub_8122CF8(struct RegionMap *regionMap, struct BgTemplate *template, bool8 zoomed); +bool8 sub_8122DB0(void); +void UpdateRegionMapVideoRegs(void); +void InitRegionMap(struct RegionMap *regionMap, u8 argument); +u8 sub_81230AC(void); +bool8 sub_8123514(void); +void FreeRegionMapIconResources(void); +u16 GetRegionMapSectionIdAt(u16 x, u16 y); +void CreateRegionMapPlayerIcon(u16 x, u16 y); +void CreateRegionMapCursor(u16 tileTag, u16 paletteTag); +u8 *GetMapName(u8 *, u16, u16); +bool32 sub_8124668(u8 mapSecId); +u8 *sub_81245DC(u8 *dest, u16 mapSecId); #endif //GUARD_REGION_MAP_H diff --git a/include/reset_rtc_screen.h b/include/reset_rtc_screen.h new file mode 100644 index 0000000000..5807dec992 --- /dev/null +++ b/include/reset_rtc_screen.h @@ -0,0 +1,6 @@ +#ifndef GUARD_RESET_RTC_SCREEN_H +#define GUARD_RESET_RTC_SCREEN_H + +void CB2_InitResetRtcScreen(void); + +#endif // GUARD_RESET_RTC_SCREEN_H diff --git a/include/rng.h b/include/rng.h deleted file mode 100644 index ae98e575f9..0000000000 --- a/include/rng.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef GUARD_RNG_H -#define GUARD_RNG_H - -extern u32 gRngValue; -extern u32 gRng2Value; - -//Returns a 16-bit pseudorandom number -u16 Random(void); -u16 Random2(void); - -//Returns a 32-bit pseudorandom number -#define Random32() (Random() | (Random() << 16)) - -//Sets the initial seed value of the pseudorandom number generator -void SeedRng(u16 seed); -void SeedRng2(u16 seed); - -#endif // GUARD_RNG_H diff --git a/include/rom6.h b/include/rom6.h index a6aab998c2..f91b34b4a7 100644 --- a/include/rom6.h +++ b/include/rom6.h @@ -1,8 +1,16 @@ #ifndef GUARD_ROM6_H #define GUARD_ROM6_H -void sub_81357FC(u8, void(void)); +void OpenPokeblockCase(u8, void(void)); u8 GetLeadMonIndex(void); +u8 GetSSTidalLocation(u8 *grp, u8 *num, s16 *x, s16 *y); void sub_813BADC(bool8); +bool8 sub_813B9C0(void); +void UpdateMirageRnd(u16 days); +void UpdateBirchState(u16 days); +void UpdateFrontierManiac(u16 days); +void UpdateFrontierGambler(u16 days); +void SetShoalItemFlag(u16 days); +u8 oei_task_add(void); #endif //GUARD_ROM6_H diff --git a/include/safari_zone.h b/include/safari_zone.h index 9a81894b83..39ee3ccb3e 100644 --- a/include/safari_zone.h +++ b/include/safari_zone.h @@ -13,6 +13,8 @@ void ExitSafariMode(void); bool8 SafariZoneTakeStep(void); void SafariZoneRetirePrompt(void); +void CB2_EndSafariBattle(void); + struct Pokeblock *SafariZoneGetActivePokeblock(void); void SafariZoneActivatePokeblockFeeder(u8 pokeblock_index); diff --git a/include/save.h b/include/save.h index a3473371e9..df03c41834 100644 --- a/include/save.h +++ b/include/save.h @@ -56,44 +56,45 @@ enum HOF_DELETE_SAVE // unused }; +#define SECTION_ID_RECORDED_BATTLE 31 + void ClearSaveData(void); void ResetSaveCounters(void); -//bool32 ManipulateSectorBits(u8 op, u8 bit); -//u8 save_write_to_flash(u16 a1, const struct SaveSectionLocation *a2); -u8 HandleWriteSector(u16, const struct SaveSectionLocation *); -//u8 HandleWriteSectorNBytes(u8 sector, u8 *data, u16 size); -u8 TryWriteSector(u8, u8 *); -//u32 RestoreSaveBackupVarsAndIncrement(const struct SaveSectionLocation *location); -//u32 RestoreSaveBackupVars(const struct SaveSectionLocation *location); -//u8 sub_812550C(u16 a1, const struct SaveSectionLocation *location); +bool32 SetDamagedSectorBits(u8 op, u8 bit); +u8 save_write_to_flash(u16 a1, const struct SaveSectionLocation *location); +u8 HandleWriteSector(u16 a1, const struct SaveSectionLocation *location); +u8 HandleWriteSectorNBytes(u8 sector, u8 *data, u16 size); +u8 TryWriteSector(u8 sector, u8 *data); +u32 RestoreSaveBackupVarsAndIncrement(const struct SaveSectionLocation *location); +u32 RestoreSaveBackupVars(const struct SaveSectionLocation *location); +u8 sub_81529D4(u16 a1, const struct SaveSectionLocation *location); u8 sub_8152A34(u16 a1, const struct SaveSectionLocation *location); -u8 ClearSaveData_2(u16, const struct SaveSectionLocation *location); -//u8 sub_8125758(u16 a1, const struct SaveSectionLocation *location); -//u8 sub_81257F0(u16 a1, const struct SaveSectionLocation *location); -//u8 sub_812587C(u16 a1, const struct SaveSectionLocation *location); -u8 sub_8152E10(u16, const struct SaveSectionLocation *location); +u8 ClearSaveData_2(u16 a1, const struct SaveSectionLocation *location); +u8 sav12_xor_get(u16 a1, const struct SaveSectionLocation *location); +u8 sub_8152CAC(u16 a1, const struct SaveSectionLocation *location); +u8 sub_8152D44(u16 a1, const struct SaveSectionLocation *location); +u8 sub_8152DD0(u16 a1, const struct SaveSectionLocation *location); +u8 sub_8152E10(u16 a1, const struct SaveSectionLocation *location); u8 GetSaveValidStatus(const struct SaveSectionLocation *location); -//u8 sub_8125B88(u8 a1, u8 *data, u16 size); -u8 DoReadFlashWholeSection(u8, struct SaveSection *); -u16 CalculateChecksum(void *, u16); +u8 sub_81530DC(u8 a1, u8 *data, u16 size); +u8 DoReadFlashWholeSection(u8 sector, struct SaveSection *section); +u16 CalculateChecksum(void *data, u16 size); +void UpdateSaveAddresses(void); u8 HandleSavingData(u8 saveType); -//u8 TrySavingData(u8 saveType); -//u8 sub_8125D80(void); -//bool8 sub_8125DA8(void); -//u8 sub_8125DDC(void); -//u8 sub_8125E04(void); -//u8 sub_8125E2C(void); -//bool8 sub_8125E6C(void); -//u8 sub_8125EC8(u8 a1); -//bool8 unref_sub_8125F4C(struct UnkSaveSection *a1); -//u8 unref_sub_8125FA0(void); -//u8 unref_sub_8125FF0(u8 *data, u16 size); -//u8 unref_sub_8126068(u8 sector, u8 *data, u32 size); -//u8 unref_sub_8126080(u8 sector, u8 *data); +u8 TrySavingData(u8 saveType); +u8 sub_8153380(void); +bool8 sub_81533AC(void); +u8 sub_81533E0(void); +u8 sub_8153408(void); +u8 sub_8153430(void); +bool8 sub_8153474(void); +u8 sub_81534D0(u8 a1); u16 sub_815355C(void); u8 sub_81534D0(u8); u8 sub_8153430(void); bool8 sub_8153474(void); +u32 TryCopySpecialSaveSection(u8 sector, u8* dst); +u32 sub_8153634(u8 sector, u8* src); void sub_8153688(u8 taskId); #endif // GUARD_SAVE_H diff --git a/include/scanline_effect.h b/include/scanline_effect.h new file mode 100644 index 0000000000..eb837e7e23 --- /dev/null +++ b/include/scanline_effect.h @@ -0,0 +1,47 @@ +#ifndef GUARD_SCANLINE_EFFECT_H +#define GUARD_SCANLINE_EFFECT_H + +// DMA control value to transfer a single 16-bit value at HBlank +#define SCANLINE_EFFECT_DMACNT_16BIT (((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_SRC_INC | DMA_DEST_INC | DMA_16BIT | DMA_DEST_RELOAD) << 16) | 1) + +#define SCANLINE_EFFECT_REG_BG0HOFS (REG_ADDR_BG0HOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG0VOFS (REG_ADDR_BG0VOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG1HOFS (REG_ADDR_BG1HOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG1VOFS (REG_ADDR_BG1VOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG2HOFS (REG_ADDR_BG2HOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG2VOFS (REG_ADDR_BG2VOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG3HOFS (REG_ADDR_BG3HOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG3VOFS (REG_ADDR_BG3VOFS - REG_ADDR_BG0HOFS) + +struct ScanlineEffectParams +{ + volatile void *dmaDest; + u32 dmaControl; + u8 initState; + u8 unused9; +}; + +struct ScanlineEffect +{ + void *dmaSrcBuffers[2]; + volatile void *dmaDest; + u32 dmaControl; + void (*setFirstScanlineReg)(void); + u8 srcBuffer; + u8 state; + u8 unused16; + u8 unused17; + u8 waveTaskId; +}; + +extern struct ScanlineEffect gScanlineEffect; + +extern u16 gScanlineEffectRegBuffers[2][0x3C0]; + +void ScanlineEffect_Stop(void); +void ScanlineEffect_Clear(void); +void ScanlineEffect_SetParams(struct ScanlineEffectParams); +void ScanlineEffect_InitHBlankDmaTransfer(void); +u8 ScanlineEffect_InitWave(u8 startLine, u8 endLine, u8 frequency, u8 amplitude, u8 delayInterval, u8 regOffset, bool8 a7); + +#endif // GUARD_SCANLINE_EFFECT_H diff --git a/include/secret_base.h b/include/secret_base.h index 43ea66ebc8..91e7083b33 100644 --- a/include/secret_base.h +++ b/include/secret_base.h @@ -10,5 +10,7 @@ void sub_80E9578(void); void sub_80E980C(void); void sub_80EB18C(struct SecretBaseRecord *dest); void sub_80E9914(void); +u8 *GetSecretBaseMapName(u8 *dest); +const u8 *GetSecretBaseTrainerLoseText(void); #endif //GUARD_SECRET_BASE_H diff --git a/include/songs.h b/include/songs.h deleted file mode 100644 index 5a1fff00cb..0000000000 --- a/include/songs.h +++ /dev/null @@ -1,466 +0,0 @@ -#ifndef GUARD_SONGS_H -#define GUARD_SONGS_H - -enum -{ - /*0x00*/ SE_STOP, - /*0x01*/ SE_KAIFUKU, - /*0x02*/ SE_PC_LOGON, - /*0x03*/ SE_PC_OFF, - /*0x04*/ SE_PC_ON, - /*0x05*/ SE_SELECT, - /*0x06*/ SE_WIN_OPEN, - /*0x07*/ SE_WALL_HIT, - /*0x08*/ SE_DOOR, - /*0x09*/ SE_KAIDAN, - /*0x0A*/ SE_DANSA, - /*0x0B*/ SE_JITENSYA, - /*0x0C*/ SE_KOUKA_L, // Goggle told me Kouka means 'effectiveness' which makes sense, because - /*0x0D*/ SE_KOUKA_M, // those three sounds play whenever you use a move - /*0x0E*/ SE_KOUKA_H, - /*0x0F*/ SE_BOWA2, - /*0x10*/ SE_POKE_DEAD, - /*0x11*/ SE_NIGERU, - /*0x12*/ SE_JIDO_DOA, - /*0x13*/ SE_NAMINORI, - /*0x14*/ SE_BAN, - /*0x15*/ SE_PIN, - /*0x16*/ SE_BOO, - /*0x17*/ SE_BOWA, - /*0x18*/ SE_JYUNI, - /*0x19*/ SE_A, - /*0x1A*/ SE_I, - /*0x1B*/ SE_U, - /*0x1C*/ SE_E, - /*0x1D*/ SE_O, - /*0x1E*/ SE_N, - /*0x1F*/ SE_SEIKAI, - /*0x20*/ SE_HAZURE, - /*0x21*/ SE_EXP, - /*0x22*/ SE_JITE_PYOKO, - /*0x23*/ SE_MU_PACHI, - /*0x24*/ SE_TK_KASYA, - /*0x25*/ SE_FU_ZAKU, - /*0x26*/ SE_FU_ZAKU2, - /*0x27*/ SE_FU_ZUZUZU, - /*0x28*/ SE_RU_GASHIN, - /*0x29*/ SE_RU_GASYAN, - /*0x2A*/ SE_RU_BARI, - /*0x2B*/ SE_RU_HYUU, - /*0x2C*/ SE_KI_GASYAN, - /*0x2D*/ SE_TK_WARPIN, - /*0x2E*/ SE_TK_WARPOUT, - /*0x2F*/ SE_TU_SAA, - /*0x30*/ SE_HI_TURUN, - /*0x31*/ SE_TRACK_MOVE, - /*0x32*/ SE_TRACK_STOP, - /*0x33*/ SE_TRACK_HAIK, - /*0x34*/ SE_TRACK_DOOR, - /*0x35*/ SE_MOTER, - /*0x36*/ SE_CARD, - /*0x37*/ SE_SAVE, - /*0x38*/ SE_KON, - /*0x39*/ SE_KON2, - /*0x3A*/ SE_KON3, - /*0x3B*/ SE_KON4, - /*0x3C*/ SE_SUIKOMU, - /*0x3D*/ SE_NAGERU, - SE_TOY_C, - SE_TOY_D, - SE_TOY_E, - SE_TOY_F, - SE_TOY_G, - SE_TOY_A, - SE_TOY_B, - SE_TOY_C1, - SE_MIZU, - SE_HASHI, - SE_DAUGI, - SE_PINPON, - SE_FUUSEN1, - SE_FUUSEN2, - SE_FUUSEN3, - SE_TOY_KABE, - SE_TOY_DANGO, - SE_DOKU, - SE_ESUKA, - SE_T_AME, - SE_T_AME_E, - SE_T_OOAME, - SE_T_OOAME_E, - SE_T_KOAME, - SE_T_KOAME_E, - SE_T_KAMI, - SE_T_KAMI2, - SE_ELEBETA, - /*0x5A*/ SE_HINSI, - /*0x5B*/ SE_EXPMAX, - /*0x5C*/ SE_TAMAKORO, - /*0x5D*/ SE_TAMAKORO_E, - /*0x5E*/ SE_BASABASA, - /*0x5F*/ SE_REGI, - SE_C_GAJI, - SE_C_MAKU_U, - SE_C_MAKU_D, - SE_C_PASI, - SE_C_SYU, - SE_C_PIKON, - /*0x66*/ SE_REAPOKE, - /*0x67*/ SE_OP_BASYU, - /*0x68*/ SE_BT_START, - SE_DENDOU, - SE_JIHANKI, - SE_TAMA, - SE_Z_SCROLL, - /*0x6D*/ SE_Z_PAGE, - /*0x6E*/ SE_PN_ON, - /*0x6F*/ SE_PN_OFF, - /*0x70*/ SE_Z_SEARCH, - /*0x71*/ SE_TAMAGO, - /*0x72*/ SE_TB_START, - /*0x73*/ SE_TB_KON, - /*0x74*/ SE_TB_KARA, - /*0x75*/ SE_BIDORO, - /*0x76*/ SE_W085, - /*0x77*/ SE_W085B, - /*0x78*/ SE_W231, - /*0x79*/ SE_W171, - /*0x7A*/ SE_W233, - /*0x7B*/ SE_W233B, - /*0x7C*/ SE_W145, - /*0x7D*/ SE_W145B, - /*0x7E*/ SE_W145C, - /*0x7F*/ SE_W240, - /*0x80*/ SE_W015, - /*0x81*/ SE_W081, - /*0x82*/ SE_W081B, - /*0x83*/ SE_W088, - /*0x84*/ SE_W016, - /*0x85*/ SE_W016B, - /*0x86*/ SE_W003, - /*0x87*/ SE_W104, - /*0x88*/ SE_W013, - /*0x89*/ SE_W196, - /*0x8A*/ SE_W086, - /*0x8B*/ SE_W004, - /*0x8C*/ SE_W025, - /*0x8D*/ SE_W025B, - SE_W152, - SE_W026, - SE_W172, - SE_W172B, - SE_W053, - SE_W007, - SE_W092, - SE_W221, - SE_W221B, - SE_W052, - SE_W036, - SE_W059, - SE_W059B, - SE_W010, - SE_W011, - SE_W017, - SE_W019, - SE_W028, - SE_W013B, - SE_W044, - SE_W029, - SE_W057, - SE_W056, - SE_W250, - SE_W030, - SE_W039, - SE_W054, - SE_W077, - SE_W020, - SE_W082, - SE_W047, - SE_W195, - SE_W006, - SE_W091, - SE_W146, - SE_W120, - SE_W153, - SE_W071B, - SE_W071, - SE_W103, - /*0xB6*/ SE_W062, - /*0xB7*/ SE_W062B, - /*0xB8*/ SE_W048, - /*0xB9*/ SE_W187, - /*0xBA*/ SE_W118, - /*0xBB*/ SE_W155, - /*0xBC*/ SE_W122, - /*0xBD*/ SE_W060, - /*0xBE*/ SE_W185, - /*0xBF*/ SE_W014, - /*0xC0*/ SE_W043, - /*0xC1*/ SE_W207, - /*0xC2*/ SE_W207B, - /*0xC3*/ SE_W215, - /*0xC4*/ SE_W109, - /*0xC5*/ SE_W173, - /*0xC6*/ SE_W280, - /*0xC7*/ SE_W202, - /*0xC8*/ SE_W060B, - /*0xC9*/ SE_W076, - /*0xCA*/ SE_W080, - /*0xCB*/ SE_W100, - /*0xCC*/ SE_W107, - SE_W166, - SE_W129, - SE_W115, - SE_W112, - SE_W197, - SE_W199, - SE_W236, - SE_W204, - SE_W268, - SE_W070, - SE_W063, - SE_W127, - SE_W179, - SE_W151, - SE_W201, - SE_W161, - SE_W161B, - SE_W227, - SE_W227B, - SE_W226, - SE_W208, - SE_W213, - SE_W213B, - SE_W234, - SE_W260, - SE_W328, - SE_W320, - SE_W255, - SE_W291, - SE_W089, - SE_W239, - SE_W230, - SE_W281, - SE_W327, - SE_W287, - SE_W257, - SE_W253, - SE_W258, - SE_W322, - SE_W298, - SE_W287B, - SE_W114, - SE_W063B, - BGM_STOP = 349, - /*0x15E*/ BGM_TETSUJI, - /*0x15F*/ BGM_FIELD13, - /*0x160*/ BGM_KACHI22, - /*0x161*/ BGM_KACHI2, - /*0x162*/ BGM_KACHI3, - /*0x163*/ BGM_KACHI5, - /*0x164*/ BGM_PCC, - /*0x165*/ BGM_NIBI, - /*0x166*/ BGM_SUIKUN, - /*0x167*/ BGM_DOORO1, - /*0x168*/ BGM_DOORO_X1, - /*0x169*/ BGM_DOORO_X3, - /*0x16A*/ BGM_MACHI_S2, - /*0x16B*/ BGM_MACHI_S4, - /*0x16C*/ BGM_GIM, - /*0x16D*/ BGM_NAMINORI, - /*0x16E*/ BGM_DAN01, - /*0x16F*/ BGM_FANFA1, - /*0x170*/ BGM_ME_ASA, - /*0x171*/ BGM_ME_BACHI, - /*0x172*/ BGM_FANFA4, - /*0x173*/ BGM_FANFA5, - /*0x174*/ BGM_ME_WAZA, - /*0x175*/ BGM_BIJYUTU, - /*0x176*/ BGM_DOORO_X4, - /*0x177*/ BGM_FUNE_KAN, - /*0x178*/ BGM_ME_SHINKA, - /*0x179*/ BGM_SHINKA, - /*0x17A*/ BGM_ME_WASURE, - /*0x17B*/ BGM_SYOUJOEYE, - /*0x17C*/ BGM_BOYEYE, - /*0x17D*/ BGM_DAN02, - /*0x17E*/ BGM_MACHI_S3, - /*0x17F*/ BGM_ODAMAKI, - /*0x180*/ BGM_B_TOWER, - /*0x181*/ BGM_SWIMEYE, - /*0x182*/ BGM_DAN03, - /*0x183*/ BGM_ME_KINOMI, - /*0x184*/ BGM_ME_TAMA, - /*0x185*/ BGM_ME_B_BIG, - /*0x186*/ BGM_ME_B_SMALL, - /*0x187*/ BGM_ME_ZANNEN, - /*0x188*/ BGM_BD_TIME, - /*0x189*/ BGM_TEST1, - /*0x18A*/ BGM_TEST2, - /*0x18B*/ BGM_TEST3, - /*0x18C*/ BGM_TEST4, - /*0x18D*/ BGM_TEST, - /*0x18E*/ BGM_GOMACHI0, - /*0x18F*/ BGM_GOTOWN, - /*0x190*/ BGM_POKECEN, - /*0x191*/ BGM_NEXTROAD, - /*0x192*/ BGM_GRANROAD, - /*0x193*/ BGM_CYCLING, - /*0x194*/ BGM_FRIENDLY, - /*0x195*/ BGM_MISHIRO, - /*0x196*/ BGM_TOZAN, - /*0x197*/ BGM_GIRLEYE, - /*0x198*/ BGM_MINAMO, - /*0x199*/ BGM_ASHROAD, - /*0x19A*/ BGM_EVENT0, - /*0x19B*/ BGM_DEEPDEEP, - /*0x19C*/ BGM_KACHI1, - /*0x19D*/ BGM_TITLE3, - /*0x19E*/ BGM_DEMO1, - /*0x19F*/ BGM_GIRL_SUP, - /*0x1A0*/ BGM_HAGESHII, - /*0x1A1*/ BGM_KAKKOII, - /*0x1A2*/ BGM_KAZANBAI, - /*0x1A3*/ BGM_AQA_0, - /*0x1A4*/ BGM_TSURETEK, - /*0x1A5*/ BGM_BOY_SUP, - /*0x1A6*/ BGM_RAINBOW, - /*0x1A7*/ BGM_AYASII, - /*0x1A8*/ BGM_KACHI4, - /*0x1A9*/ BGM_ROPEWAY, - /*0x1AA*/ BGM_CASINO, - /*0x1AB*/ BGM_HIGHTOWN, - /*0x1AC*/ BGM_SAFARI, - BGM_C_ROAD, - BGM_AJITO, - BGM_M_BOAT, - BGM_M_DUNGON, - BGM_FINECITY, - BGM_MACHUPI, - BGM_P_SCHOOL, - BGM_DENDOU, - BGM_TONEKUSA, - BGM_MABOROSI, - BGM_CON_FAN, - BGM_CONTEST0, - BGM_MGM0, - BGM_T_BATTLE, - BGM_OOAME, - BGM_HIDERI, - BGM_RUNECITY, - BGM_CON_K, - BGM_EIKOU_R, - BGM_KARAKURI, - BGM_HUTAGO, - BGM_SITENNOU, - BGM_YAMA_EYE, - BGM_CONLOBBY, - BGM_INTER_V, - BGM_DAIGO, - BGM_THANKFOR, - BGM_END, - /*0x1C9*/ BGM_BATTLE_FRONTIER, // human-readable names start here because we don't know the actual filenames - BGM_BATTLE_ARENA, - BGM_ME_BATTLE_POINTS, // ME_ as in messagebox? Used for KINOMI (berries) and stuff above - BGM_ME_MATCH_CALL, - BGM_BATTLE_PYRAMID, - BGM_BATTLE_PYRAMID_SUMMIT, - BGM_BATTLE_PALACE, - BGM_FANFA_RAYQUAZA, - BGM_BATTLE_TOWER, - BGM_ME_BATTLE_SYMBOL, - BGM_BATTLE_DOME_TOURNAMENT, - BGM_BATTLE_PIKE, - BGM_BATTLE_FACTORY, - BGM_BATTLE_LEGENDARY, - BGM_BATTLE_FRONTIER_BRAIN, - BGM_BATTLE_MEW, - BGM_BATTLE_DOME, // end of the human-readable names - /*0x1DA*/ BGM_BATTLE27, // wild - BGM_BATTLE31, // aqua/magma grunt - BGM_BATTLE20, // trainer - BGM_BATTLE32, // gym leader - BGM_BATTLE33, // champion - BGM_BATTLE36, // regi - BGM_BATTLE34, // weather trio - BGM_BATTLE35, // rival - BGM_BATTLE38, // elite four - BGM_BATTLE30, // aqua/magma leader - /*0x1E4*/ BGM_FRLG_FOLLOW_ME, // FR/LG names not known, human-readable again! - BGM_FRLG_GAMECORNER, - BGM_FRLG_ROCKET_HIDEOUT, - BGM_FRLG_GYM, - BGM_FRLG_JIGGLYPUFF, - BGM_FRLG_OPENING, - BGM_FRLG_TITLE, - BGM_FRLG_CINNABAR_ISLAND, - BGM_FRLG_LAVENDER_TOWN, - BGM_FRLG_HEALING_TEST, - BGM_FRLG_BICYCLE, - BGM_FRLG_SUSPICIOUS_EYE, - BGM_FRLG_GIRL_EYE, - BGM_FRLG_BOY_EYE, - BGM_FRLG_CONGRATULATIONS_HALL_OF_FAME, - BGM_FRLG_VIRIDIAN_FOREST, - BGM_FRLG_MT_MOON, - BGM_FRLG_POKEMON_MANSION, - BGM_FRLG_CREDITS, - BGM_FRLG_ROUTE_1, - BGM_FRLG_ROUTE_24, - BGM_FRLG_ROUTE_3, - BGM_FRLG_ROUTE_11, - BGM_FRLG_INDIGO_PLATEAU, - BGM_FRLG_BATTLE_LEADER, - BGM_FRLG_BATTLE_TRAINER, - BGM_FRLG_BATTLE_WILD_POKEMON, - BGM_FRLG_BATTLE_CHAMPION, - BGM_FRLG_PALLET_TOWN, - BGM_FRLG_OAK_LAB, - BGM_FRLG_PROF_OAK, - BGM_FRLG_POKEMON_CENTER, - BGM_FRLG_SS_ANNE, - BGM_FRLG_SURF, - BGM_FRLG_POKEMON_TOWER, - BGM_FRLG_SILPH, - BGM_FRLG_CERULEAN_CITY, - BGM_FRLG_CELADON_CITY, - BGM_FRLG_KACHI_TRAINER, // KACHI used in RS test - victory - BGM_FRLG_KACHI_WILD_POKEMON, - BGM_FRLG_KACHI_LEADER, - BGM_FRLG_VERMILION_CITY, - BGM_FRLG_VIRIDIAN_CITY, - BGM_FRLG_RIVAL, - BGM_FRLG_RIVAL_POSTBATTLE, - BGM_FRLG_ME_POKEDEX_EVAL, - BGM_FRLG_ME_KEYITEM, - BGM_FRLG_FANFA_POKEMON_CAUGHT, - BGM_FRLG_FANFA_TRAINERCARD_PHOTO, - BGM_FRLG_GAMEFREAK_LOGO, - BGM_FRLG_CAUGHT_POKEMON, - BGM_FRLG_GAME_EXPLANATION_START, - BGM_FRLG_GAME_EXPLANATION_MIDDLE, - BGM_FRLG_GAME_EXPLANATION_END, - BGM_FRLG_POKEMON_JUMP, - BGM_FRLG_UNION_ROOM, - BGM_FRLG_POKEMON_NETWORK_CENTER, - BGM_FRLG_MYSTERY_GIFT, - BGM_FRLG_DODRIO_BERRY_PICK, - BGM_FRLG_MT_EMBER, - BGM_FRLG_TEACHY_TV_EPISODE, - BGM_FRLG_SEVII_ISLANDS, - BGM_FRLG_TANOBY_RUINS, - BGM_FRLG_ISLAND_ONE, - BGM_FRLG_ISLAND_FOUR, - BGM_FRLG_ISLAND_SIX, - BGM_FRLG_FLUTE, - BGM_FRLG_BATTLE_DEOXYS, - BGM_FRLG_BATTLE_MEWTWO, - BGM_FRLG_BATTLE_LEGENDARY, - BGM_FRLG_LEADER_EYE, - BGM_FRLG_DEOXYS_EYE, - BGM_FRLG_TRAINER_TOWER, - BGM_FRLG_HALL_OF_FAME_PALLET_TOWN, - /*0x22E*/BGM_FRLG_TEACHY_TV, -}; - -#endif // GUARD_SONGS_H diff --git a/include/species.h b/include/species.h deleted file mode 100644 index ac0797418d..0000000000 --- a/include/species.h +++ /dev/null @@ -1,454 +0,0 @@ -#ifndef GUARD_SPECIES_H -#define GUARD_SPECIES_H - -enum -{ - SPECIES_NONE, // 0x000 - SPECIES_BULBASAUR, // 0x001 - SPECIES_IVYSAUR, // 0x002 - SPECIES_VENUSAUR, // 0x003 - SPECIES_CHARMANDER, // 0x004 - SPECIES_CHARMELEON, // 0x005 - SPECIES_CHARIZARD, // 0x006 - SPECIES_SQUIRTLE, // 0x007 - SPECIES_WARTORTLE, // 0x008 - SPECIES_BLASTOISE, // 0x009 - SPECIES_CATERPIE, // 0x00a - SPECIES_METAPOD, // 0x00b - SPECIES_BUTTERFREE, // 0x00c - SPECIES_WEEDLE, // 0x00d - SPECIES_KAKUNA, // 0x00e - SPECIES_BEEDRILL, // 0x00f - SPECIES_PIDGEY, // 0x010 - SPECIES_PIDGEOTTO, // 0x011 - SPECIES_PIDGEOT, // 0x012 - SPECIES_RATTATA, // 0x013 - SPECIES_RATICATE, // 0x014 - SPECIES_SPEAROW, // 0x015 - SPECIES_FEAROW, // 0x016 - SPECIES_EKANS, // 0x017 - SPECIES_ARBOK, // 0x018 - SPECIES_PIKACHU, // 0x019 - SPECIES_RAICHU, // 0x01a - SPECIES_SANDSHREW, // 0x01b - SPECIES_SANDSLASH, // 0x01c - SPECIES_NIDORAN_F, // 0x01d - SPECIES_NIDORINA, // 0x01e - SPECIES_NIDOQUEEN, // 0x01f - SPECIES_NIDORAN_M, // 0x020 - SPECIES_NIDORINO, // 0x021 - SPECIES_NIDOKING, // 0x022 - SPECIES_CLEFAIRY, // 0x023 - SPECIES_CLEFABLE, // 0x024 - SPECIES_VULPIX, // 0x025 - SPECIES_NINETALES, // 0x026 - SPECIES_JIGGLYPUFF, // 0x027 - SPECIES_WIGGLYTUFF, // 0x028 - SPECIES_ZUBAT, // 0x029 - SPECIES_GOLBAT, // 0x02a - SPECIES_ODDISH, // 0x02b - SPECIES_GLOOM, // 0x02c - SPECIES_VILEPLUME, // 0x02d - SPECIES_PARAS, // 0x02e - SPECIES_PARASECT, // 0x02f - SPECIES_VENONAT, // 0x030 - SPECIES_VENOMOTH, // 0x031 - SPECIES_DIGLETT, // 0x032 - SPECIES_DUGTRIO, // 0x033 - SPECIES_MEOWTH, // 0x034 - SPECIES_PERSIAN, // 0x035 - SPECIES_PSYDUCK, // 0x036 - SPECIES_GOLDUCK, // 0x037 - SPECIES_MANKEY, // 0x038 - SPECIES_PRIMEAPE, // 0x039 - SPECIES_GROWLITHE, // 0x03a - SPECIES_ARCANINE, // 0x03b - SPECIES_POLIWAG, // 0x03c - SPECIES_POLIWHIRL, // 0x03d - SPECIES_POLIWRATH, // 0x03e - SPECIES_ABRA, // 0x03f - SPECIES_KADABRA, // 0x040 - SPECIES_ALAKAZAM, // 0x041 - SPECIES_MACHOP, // 0x042 - SPECIES_MACHOKE, // 0x043 - SPECIES_MACHAMP, // 0x044 - SPECIES_BELLSPROUT, // 0x045 - SPECIES_WEEPINBELL, // 0x046 - SPECIES_VICTREEBEL, // 0x047 - SPECIES_TENTACOOL, // 0x048 - SPECIES_TENTACRUEL, // 0x049 - SPECIES_GEODUDE, // 0x04a - SPECIES_GRAVELER, // 0x04b - SPECIES_GOLEM, // 0x04c - SPECIES_PONYTA, // 0x04d - SPECIES_RAPIDASH, // 0x04e - SPECIES_SLOWPOKE, // 0x04f - SPECIES_SLOWBRO, // 0x050 - SPECIES_MAGNEMITE, // 0x051 - SPECIES_MAGNETON, // 0x052 - SPECIES_FARFETCHD, // 0x053 - SPECIES_DODUO, // 0x054 - SPECIES_DODRIO, // 0x055 - SPECIES_SEEL, // 0x056 - SPECIES_DEWGONG, // 0x057 - SPECIES_GRIMER, // 0x058 - SPECIES_MUK, // 0x059 - SPECIES_SHELLDER, // 0x05a - SPECIES_CLOYSTER, // 0x05b - SPECIES_GASTLY, // 0x05c - SPECIES_HAUNTER, // 0x05d - SPECIES_GENGAR, // 0x05e - SPECIES_ONIX, // 0x05f - SPECIES_DROWZEE, // 0x060 - SPECIES_HYPNO, // 0x061 - SPECIES_KRABBY, // 0x062 - SPECIES_KINGLER, // 0x063 - SPECIES_VOLTORB, // 0x064 - SPECIES_ELECTRODE, // 0x065 - SPECIES_EXEGGCUTE, // 0x066 - SPECIES_EXEGGUTOR, // 0x067 - SPECIES_CUBONE, // 0x068 - SPECIES_MAROWAK, // 0x069 - SPECIES_HITMONLEE, // 0x06a - SPECIES_HITMONCHAN, // 0x06b - SPECIES_LICKITUNG, // 0x06c - SPECIES_KOFFING, // 0x06d - SPECIES_WEEZING, // 0x06e - SPECIES_RHYHORN, // 0x06f - SPECIES_RHYDON, // 0x070 - SPECIES_CHANSEY, // 0x071 - SPECIES_TANGELA, // 0x072 - SPECIES_KANGASKHAN, // 0x073 - SPECIES_HORSEA, // 0x074 - SPECIES_SEADRA, // 0x075 - SPECIES_GOLDEEN, // 0x076 - SPECIES_SEAKING, // 0x077 - SPECIES_STARYU, // 0x078 - SPECIES_STARMIE, // 0x079 - SPECIES_MR_MIME, // 0x07a - SPECIES_SCYTHER, // 0x07b - SPECIES_JYNX, // 0x07c - SPECIES_ELECTABUZZ, // 0x07d - SPECIES_MAGMAR, // 0x07e - SPECIES_PINSIR, // 0x07f - SPECIES_TAUROS, // 0x080 - SPECIES_MAGIKARP, // 0x081 - SPECIES_GYARADOS, // 0x082 - SPECIES_LAPRAS, // 0x083 - SPECIES_DITTO, // 0x084 - SPECIES_EEVEE, // 0x085 - SPECIES_VAPOREON, // 0x086 - SPECIES_JOLTEON, // 0x087 - SPECIES_FLAREON, // 0x088 - SPECIES_PORYGON, // 0x089 - SPECIES_OMANYTE, // 0x08a - SPECIES_OMASTAR, // 0x08b - SPECIES_KABUTO, // 0x08c - SPECIES_KABUTOPS, // 0x08d - SPECIES_AERODACTYL, // 0x08e - SPECIES_SNORLAX, // 0x08f - SPECIES_ARTICUNO, // 0x090 - SPECIES_ZAPDOS, // 0x091 - SPECIES_MOLTRES, // 0x092 - SPECIES_DRATINI, // 0x093 - SPECIES_DRAGONAIR, // 0x094 - SPECIES_DRAGONITE, // 0x095 - SPECIES_MEWTWO, // 0x096 - SPECIES_MEW, // 0x097 - SPECIES_CHIKORITA, // 0x098 - SPECIES_BAYLEEF, // 0x099 - SPECIES_MEGANIUM, // 0x09a - SPECIES_CYNDAQUIL, // 0x09b - SPECIES_QUILAVA, // 0x09c - SPECIES_TYPHLOSION, // 0x09d - SPECIES_TOTODILE, // 0x09e - SPECIES_CROCONAW, // 0x09f - SPECIES_FERALIGATR, // 0x0a0 - SPECIES_SENTRET, // 0x0a1 - SPECIES_FURRET, // 0x0a2 - SPECIES_HOOTHOOT, // 0x0a3 - SPECIES_NOCTOWL, // 0x0a4 - SPECIES_LEDYBA, // 0x0a5 - SPECIES_LEDIAN, // 0x0a6 - SPECIES_SPINARAK, // 0x0a7 - SPECIES_ARIADOS, // 0x0a8 - SPECIES_CROBAT, // 0x0a9 - SPECIES_CHINCHOU, // 0x0aa - SPECIES_LANTURN, // 0x0ab - SPECIES_PICHU, // 0x0ac - SPECIES_CLEFFA, // 0x0ad - SPECIES_IGGLYBUFF, // 0x0ae - SPECIES_TOGEPI, // 0x0af - SPECIES_TOGETIC, // 0x0b0 - SPECIES_NATU, // 0x0b1 - SPECIES_XATU, // 0x0b2 - SPECIES_MAREEP, // 0x0b3 - SPECIES_FLAAFFY, // 0x0b4 - SPECIES_AMPHAROS, // 0x0b5 - SPECIES_BELLOSSOM, // 0x0b6 - SPECIES_MARILL, // 0x0b7 - SPECIES_AZUMARILL, // 0x0b8 - SPECIES_SUDOWOODO, // 0x0b9 - SPECIES_POLITOED, // 0x0ba - SPECIES_HOPPIP, // 0x0bb - SPECIES_SKIPLOOM, // 0x0bc - SPECIES_JUMPLUFF, // 0x0bd - SPECIES_AIPOM, // 0x0be - SPECIES_SUNKERN, // 0x0bf - SPECIES_SUNFLORA, // 0x0c0 - SPECIES_YANMA, // 0x0c1 - SPECIES_WOOPER, // 0x0c2 - SPECIES_QUAGSIRE, // 0x0c3 - SPECIES_ESPEON, // 0x0c4 - SPECIES_UMBREON, // 0x0c5 - SPECIES_MURKROW, // 0x0c6 - SPECIES_SLOWKING, // 0x0c7 - SPECIES_MISDREAVUS, // 0x0c8 - SPECIES_UNOWN, // 0x0c9 - SPECIES_WOBBUFFET, // 0x0ca - SPECIES_GIRAFARIG, // 0x0cb - SPECIES_PINECO, // 0x0cc - SPECIES_FORRETRESS, // 0x0cd - SPECIES_DUNSPARCE, // 0x0ce - SPECIES_GLIGAR, // 0x0cf - SPECIES_STEELIX, // 0x0d0 - SPECIES_SNUBBULL, // 0x0d1 - SPECIES_GRANBULL, // 0x0d2 - SPECIES_QWILFISH, // 0x0d3 - SPECIES_SCIZOR, // 0x0d4 - SPECIES_SHUCKLE, // 0x0d5 - SPECIES_HERACROSS, // 0x0d6 - SPECIES_SNEASEL, // 0x0d7 - SPECIES_TEDDIURSA, // 0x0d8 - SPECIES_URSARING, // 0x0d9 - SPECIES_SLUGMA, // 0x0da - SPECIES_MAGCARGO, // 0x0db - SPECIES_SWINUB, // 0x0dc - SPECIES_PILOSWINE, // 0x0dd - SPECIES_CORSOLA, // 0x0de - SPECIES_REMORAID, // 0x0df - SPECIES_OCTILLERY, // 0x0e0 - SPECIES_DELIBIRD, // 0x0e1 - SPECIES_MANTINE, // 0x0e2 - SPECIES_SKARMORY, // 0x0e3 - SPECIES_HOUNDOUR, // 0x0e4 - SPECIES_HOUNDOOM, // 0x0e5 - SPECIES_KINGDRA, // 0x0e6 - SPECIES_PHANPY, // 0x0e7 - SPECIES_DONPHAN, // 0x0e8 - SPECIES_PORYGON2, // 0x0e9 - SPECIES_STANTLER, // 0x0ea - SPECIES_SMEARGLE, // 0x0eb - SPECIES_TYROGUE, // 0x0ec - SPECIES_HITMONTOP, // 0x0ed - SPECIES_SMOOCHUM, // 0x0ee - SPECIES_ELEKID, // 0x0ef - SPECIES_MAGBY, // 0x0f0 - SPECIES_MILTANK, // 0x0f1 - SPECIES_BLISSEY, // 0x0f2 - SPECIES_RAIKOU, // 0x0f3 - SPECIES_ENTEI, // 0x0f4 - SPECIES_SUICUNE, // 0x0f5 - SPECIES_LARVITAR, // 0x0f6 - SPECIES_PUPITAR, // 0x0f7 - SPECIES_TYRANITAR, // 0x0f8 - SPECIES_LUGIA, // 0x0f9 - SPECIES_HO_OH, // 0x0fa - SPECIES_CELEBI, // 0x0fb - - SPECIES_OLD_UNOWN_B, - SPECIES_OLD_UNOWN_C, - SPECIES_OLD_UNOWN_D, - SPECIES_OLD_UNOWN_E, - SPECIES_OLD_UNOWN_F, - SPECIES_OLD_UNOWN_G, - SPECIES_OLD_UNOWN_H, - SPECIES_OLD_UNOWN_I, - SPECIES_OLD_UNOWN_J, - SPECIES_OLD_UNOWN_K, - SPECIES_OLD_UNOWN_L, - SPECIES_OLD_UNOWN_M, - SPECIES_OLD_UNOWN_N, - SPECIES_OLD_UNOWN_O, - SPECIES_OLD_UNOWN_P, - SPECIES_OLD_UNOWN_Q, - SPECIES_OLD_UNOWN_R, - SPECIES_OLD_UNOWN_S, - SPECIES_OLD_UNOWN_T, - SPECIES_OLD_UNOWN_U, - SPECIES_OLD_UNOWN_V, - SPECIES_OLD_UNOWN_W, - SPECIES_OLD_UNOWN_X, - SPECIES_OLD_UNOWN_Y, - SPECIES_OLD_UNOWN_Z, - - SPECIES_TREECKO, // 0x115 - SPECIES_GROVYLE, // 0x116 - SPECIES_SCEPTILE, // 0x117 - SPECIES_TORCHIC, // 0x118 - SPECIES_COMBUSKEN, // 0x119 - SPECIES_BLAZIKEN, // 0x11a - SPECIES_MUDKIP, // 0x11b - SPECIES_MARSHTOMP, // 0x11c - SPECIES_SWAMPERT, // 0x11d - SPECIES_POOCHYENA, // 0x11e - SPECIES_MIGHTYENA, // 0x11f - SPECIES_ZIGZAGOON, // 0x120 - SPECIES_LINOONE, // 0x121 - SPECIES_WURMPLE, // 0x122 - SPECIES_SILCOON, // 0x123 - SPECIES_BEAUTIFLY, // 0x124 - SPECIES_CASCOON, // 0x125 - SPECIES_DUSTOX, // 0x126 - SPECIES_LOTAD, // 0x127 - SPECIES_LOMBRE, // 0x128 - SPECIES_LUDICOLO, // 0x129 - SPECIES_SEEDOT, // 0x12a - SPECIES_NUZLEAF, // 0x12b - SPECIES_SHIFTRY, // 0x12c - SPECIES_NINCADA, // 0x12d - SPECIES_NINJASK, // 0x12e - SPECIES_SHEDINJA, // 0x12f - SPECIES_TAILLOW, // 0x130 - SPECIES_SWELLOW, // 0x131 - SPECIES_SHROOMISH, // 0x132 - SPECIES_BRELOOM, // 0x133 - SPECIES_SPINDA, // 0x134 - SPECIES_WINGULL, // 0x135 - SPECIES_PELIPPER, // 0x136 - SPECIES_SURSKIT, // 0x137 - SPECIES_MASQUERAIN, // 0x138 - SPECIES_WAILMER, // 0x139 - SPECIES_WAILORD, // 0x13a - SPECIES_SKITTY, // 0x13b - SPECIES_DELCATTY, // 0x13c - SPECIES_KECLEON, // 0x13d - SPECIES_BALTOY, // 0x13e - SPECIES_CLAYDOL, // 0x13f - SPECIES_NOSEPASS, // 0x140 - SPECIES_TORKOAL, // 0x141 - SPECIES_SABLEYE, // 0x142 - SPECIES_BARBOACH, // 0x143 - SPECIES_WHISCASH, // 0x144 - SPECIES_LUVDISC, // 0x145 - SPECIES_CORPHISH, // 0x146 - SPECIES_CRAWDAUNT, // 0x147 - SPECIES_FEEBAS, // 0x148 - SPECIES_MILOTIC, // 0x149 - SPECIES_CARVANHA, // 0x14a - SPECIES_SHARPEDO, // 0x14b - SPECIES_TRAPINCH, // 0x14c - SPECIES_VIBRAVA, // 0x14d - SPECIES_FLYGON, // 0x14e - SPECIES_MAKUHITA, // 0x14f - SPECIES_HARIYAMA, // 0x150 - SPECIES_ELECTRIKE, // 0x151 - SPECIES_MANECTRIC, // 0x152 - SPECIES_NUMEL, // 0x153 - SPECIES_CAMERUPT, // 0x154 - SPECIES_SPHEAL, // 0x155 - SPECIES_SEALEO, // 0x156 - SPECIES_WALREIN, // 0x157 - SPECIES_CACNEA, // 0x158 - SPECIES_CACTURNE, // 0x159 - SPECIES_SNORUNT, // 0x15a - SPECIES_GLALIE, // 0x15b - SPECIES_LUNATONE, // 0x15c - SPECIES_SOLROCK, // 0x15d - SPECIES_AZURILL, // 0x15e - SPECIES_SPOINK, // 0x15f - SPECIES_GRUMPIG, // 0x160 - SPECIES_PLUSLE, // 0x161 - SPECIES_MINUN, // 0x162 - SPECIES_MAWILE, // 0x163 - SPECIES_MEDITITE, // 0x164 - SPECIES_MEDICHAM, // 0x165 - SPECIES_SWABLU, // 0x166 - SPECIES_ALTARIA, // 0x167 - SPECIES_WYNAUT, // 0x168 - SPECIES_DUSKULL, // 0x169 - SPECIES_DUSCLOPS, // 0x16a - SPECIES_ROSELIA, // 0x16b - SPECIES_SLAKOTH, // 0x16c - SPECIES_VIGOROTH, // 0x16d - SPECIES_SLAKING, // 0x16e - SPECIES_GULPIN, // 0x16f - SPECIES_SWALOT, // 0x170 - SPECIES_TROPIUS, // 0x171 - SPECIES_WHISMUR, // 0x172 - SPECIES_LOUDRED, // 0x173 - SPECIES_EXPLOUD, // 0x174 - SPECIES_CLAMPERL, // 0x175 - SPECIES_HUNTAIL, // 0x176 - SPECIES_GOREBYSS, // 0x177 - SPECIES_ABSOL, // 0x178 - SPECIES_SHUPPET, // 0x179 - SPECIES_BANETTE, // 0x17a - SPECIES_SEVIPER, // 0x17b - SPECIES_ZANGOOSE, // 0x17c - SPECIES_RELICANTH, // 0x17d - SPECIES_ARON, // 0x17e - SPECIES_LAIRON, // 0x17f - SPECIES_AGGRON, // 0x180 - SPECIES_CASTFORM, // 0x181 - SPECIES_VOLBEAT, // 0x182 - SPECIES_ILLUMISE, // 0x183 - SPECIES_LILEEP, // 0x184 - SPECIES_CRADILY, // 0x185 - SPECIES_ANORITH, // 0x186 - SPECIES_ARMALDO, // 0x187 - SPECIES_RALTS, // 0x188 - SPECIES_KIRLIA, // 0x189 - SPECIES_GARDEVOIR, // 0x18a - SPECIES_BAGON, // 0x18b - SPECIES_SHELGON, // 0x18c - SPECIES_SALAMENCE, // 0x18d - SPECIES_BELDUM, // 0x18e - SPECIES_METANG, // 0x18f - SPECIES_METAGROSS, // 0x190 - SPECIES_REGIROCK, // 0x191 - SPECIES_REGICE, // 0x192 - SPECIES_REGISTEEL, // 0x193 - SPECIES_KYOGRE, // 0x194 - SPECIES_GROUDON, // 0x195 - SPECIES_RAYQUAZA, // 0x196 - SPECIES_LATIAS, // 0x197 - SPECIES_LATIOS, // 0x198 - SPECIES_JIRACHI, // 0x199 - SPECIES_DEOXYS, // 0x19a - SPECIES_CHIMECHO, // 0x19b - SPECIES_EGG, // 0x19c - - SPECIES_UNOWN_B, - SPECIES_UNOWN_C, - SPECIES_UNOWN_D, - SPECIES_UNOWN_E, - SPECIES_UNOWN_F, - SPECIES_UNOWN_G, - SPECIES_UNOWN_H, - SPECIES_UNOWN_I, - SPECIES_UNOWN_J, - SPECIES_UNOWN_K, - SPECIES_UNOWN_L, - SPECIES_UNOWN_M, - SPECIES_UNOWN_N, - SPECIES_UNOWN_O, - SPECIES_UNOWN_P, - SPECIES_UNOWN_Q, - SPECIES_UNOWN_R, - SPECIES_UNOWN_S, - SPECIES_UNOWN_T, - SPECIES_UNOWN_U, - SPECIES_UNOWN_V, - SPECIES_UNOWN_W, - SPECIES_UNOWN_X, - SPECIES_UNOWN_Y, - SPECIES_UNOWN_Z, - SPECIES_UNOWN_EMARK, - SPECIES_UNOWN_QMARK, -}; - -#define NUM_SPECIES SPECIES_EGG -extern const u8 gSpeciesNames[][11]; - -#endif // GUARD_SPECIES_H diff --git a/include/sprite.h b/include/sprite.h index 5313140795..b5a1b6ae50 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -120,10 +120,6 @@ union AffineAnimCmd {.jump = {.type = AFFINEANIMCMDTYPE_JUMP, .target = _target}} #define AFFINEANIMCMD_END \ {.type = AFFINEANIMCMDTYPE_END} -#define AFFINEANIMCMD_LOOP(_count) \ - {.loop = {.type = AFFINEANIMCMDTYPE_LOOP, .count = _count}} -#define AFFINEANIMCMD_JUMP(_target) \ - {.jump = {.type = AFFINEANIMCMDTYPE_JUMP, .target = _target}} struct AffineAnimState { @@ -195,14 +191,7 @@ struct Sprite /*0x2D*/ u8 animLoopCounter; // general purpose data fields - /*0x2E*/ s16 data0; - /*0x30*/ s16 data1; - /*0x32*/ s16 data2; - /*0x34*/ s16 data3; - /*0x36*/ s16 data4; - /*0x38*/ s16 data5; - /*0x3A*/ s16 data6; - /*0x3C*/ s16 data7; + /*0x2E*/ s16 data[8]; /*0x3E*/ u16 inUse:1; //1 u16 coordOffsetEnabled:1; //2 @@ -244,6 +233,7 @@ extern s16 gSpriteCoordOffsetX; extern s16 gSpriteCoordOffsetY; extern struct Sprite gSprites[]; +extern struct OamMatrix gOamMatrices[]; void ResetSpriteData(void); void AnimateSprites(void); diff --git a/include/starter_choose.h b/include/starter_choose.h new file mode 100644 index 0000000000..61bc177357 --- /dev/null +++ b/include/starter_choose.h @@ -0,0 +1,7 @@ +#ifndef GUARD_STARTER_CHOOSE_H +#define GUARD_STARTER_CHOOSE_H + +u16 GetStarterPokemon(u16 chosenStarterId); +void CB2_ChooseStarter(void); + +#endif // GUARD_STARTER_CHOOSE_H diff --git a/include/strings.h b/include/strings.h index 7ba979cdcb..9c7f9e4f0f 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1,45 +1,62 @@ #ifndef GUARD_STRINGS_H #define GUARD_STRINGS_H -// Exported type declarations - -// Exported RAM declarations - -// Exported ROM declarations - extern const u8 gText_FromSpace[]; + extern const u8 gText_Lv50[]; extern const u8 gText_OpenLevel[]; + extern const u8 gText_Mom[]; extern const u8 gText_Dad[]; + extern const u8 gText_Cool[]; extern const u8 gText_Beauty[]; extern const u8 gText_Cute[]; extern const u8 gText_Smart[]; extern const u8 gText_Tough[]; + extern const u8 gText_Single[]; extern const u8 gText_Double[]; + +extern const u8 gText_Spicy[]; +extern const u8 gText_Dry[]; +extern const u8 gText_Sweet[]; +extern const u8 gText_Bitter[]; +extern const u8 gText_Sour[]; + +extern const u8 gText_StowCase[]; +extern const u8 gText_LvVar1[]; + extern const u8 gText_Spicy2[]; extern const u8 gText_Dry2[]; extern const u8 gText_Sweet2[]; extern const u8 gText_Bitter2[]; extern const u8 gText_Sour2[]; + extern const u8 gText_Excellent[]; extern const u8 gText_VeryGood[]; extern const u8 gText_Good[]; extern const u8 gText_SoSo[]; extern const u8 gText_Bad[]; extern const u8 gText_TheWorst[]; + extern const u8 gText_Slots[]; extern const u8 gText_Roulette[]; extern const u8 gText_Jackpot[]; + extern const u8 gText_First[]; extern const u8 gText_Second[]; extern const u8 gText_Third[]; + extern const u8 gText_NoDecorations[]; extern const u8 gText_NoDecorationsInUse[]; + extern const u8 gText_Exit[]; extern const u8 gText_Cancel[]; + +extern const u8 gText_ThrowAwayVar1[]; +extern const u8 gText_Var1ThrownAway[]; + extern const u8 gText_Color161Shadow161[]; extern const u8 gText_GoBackPrevMenu[]; extern const u8 gText_CantPlaceInRoom[]; @@ -56,12 +73,14 @@ extern const u8 gText_NoDecorationHere[]; extern const u8 gText_DecorationWillBeDiscarded[]; extern const u8 gText_CantThrowAwayInUse[]; extern const u8 gText_DecorationThrownAway[]; + extern const u8 gText_Desk[]; extern const u8 gText_Chair[]; extern const u8 gText_Plant[]; extern const u8 gText_Ornament[]; extern const u8 gText_Mat[]; extern const u8 gText_Poster[]; + extern const u8 gText_PutOutSelectedDecorItem[]; extern const u8 gText_StoreChosenDecorInPC[]; extern const u8 gText_ThrowAwayUnwantedDecors[]; @@ -70,6 +89,13 @@ extern const u8 gText_Cushion[]; extern const u8 gText_Decorate[]; extern const u8 gText_PutAway[]; extern const u8 gText_Toss2[]; +extern const u8 gText_Hoenn[]; +extern const u8 gText_Ferry[]; +extern const u8 gText_SecretBase[]; +extern const u8 gText_Hideout[]; +extern const u8 gText_FlyToWhere[]; +extern const u8 gText_PokemonLeague[]; +extern const u8 gText_PokemonCenter[]; extern const u8 gText_ApostropheSBase[]; extern const u8 gText_NoRegistry[]; extern const u8 gText_OkayToDeleteFromRegistry[]; @@ -77,5 +103,142 @@ extern const u8 gText_RegisteredDataDeleted[]; extern const u8 gUnknown_085EA79D[]; extern const u8 gText_MixingRecords[]; extern const u8 gText_RecordMixingComplete[]; +extern const u8 gText_EmptyString2[]; +extern const u8 gText_Confirm3[]; +extern const u8 gText_Cancel4[]; +extern const u8 gText_IsThisTheCorrectTime[]; +extern const u8 gText_PkmnFainted3[]; +extern const u8 gText_Coins[]; +extern const u8 gText_Draw[]; +extern const u8 gText_Loss[]; +extern const u8 gText_Win[]; + +extern const u8 gText_Var1AteTheVar2[]; +extern const u8 gText_Var1HappilyAteVar2[]; +extern const u8 gText_Var1DisdainfullyAteVar2[]; + +extern const u8 gText_RedPokeblock[]; +extern const u8 gText_BluePokeblock[]; +extern const u8 gText_PinkPokeblock[]; +extern const u8 gText_GreenPokeblock[]; +extern const u8 gText_YellowPokeblock[]; +extern const u8 gText_PurplePokeblock[]; +extern const u8 gText_IndigoPokeblock[]; +extern const u8 gText_BrownPokeblock[]; +extern const u8 gText_LiteBluePokeblock[]; +extern const u8 gText_OlivePokeblock[]; +extern const u8 gText_GrayPokeblock[]; +extern const u8 gText_BlackPokeblock[]; +extern const u8 gText_WhitePokeblock[]; +extern const u8 gText_GoldPokeblock[]; + +extern const u8 gMenuText_Use[]; +extern const u8 gMenuText_Toss[]; +extern const u8 gMenuText_Give[]; +extern const u8 gMenuText_Give2[]; + +extern const u8 gText_Cancel2[]; + +extern const u8 gText_WithdrawPokemon[]; +extern const u8 gText_WithdrawMonDescription[]; +extern const u8 gText_DepositPokemon[]; +extern const u8 gText_DepositMonDescription[]; +extern const u8 gText_MovePokemon[]; +extern const u8 gText_MoveMonDescription[]; +extern const u8 gText_MoveItems[]; +extern const u8 gText_MoveItemsDescription[]; +extern const u8 gText_SeeYa[]; +extern const u8 gText_SeeYaDescription[]; + +extern const u8 gText_EggNickname[]; +extern const u8 gText_Pokemon[]; +extern const u8 gText_InGameClockUsable[]; + +// reset rtc screen texts +extern const u8 gText_Day[]; +extern const u8 gText_Colon3[]; +extern const u8 gText_Confirm2[]; +extern const u8 gText_PresentTime[]; +extern const u8 gText_PreviousTime[]; +extern const u8 gText_ResetRTCConfirmCancel[]; +extern const u8 gText_NoSaveFileCantSetTime[]; +extern const u8 gText_PleaseResetTime[]; +extern const u8 gText_ClockHasBeenReset[]; +extern const u8 gText_SaveCompleted[]; +extern const u8 gText_SaveFailed[]; + +// menu texts +extern const u8 gText_MenuPokedex[]; +extern const u8 gText_MenuPokemon[]; +extern const u8 gText_MenuBag[]; +extern const u8 gText_MenuPokenav[]; +extern const u8 gText_MenuPlayer[]; +extern const u8 gText_MenuSave[]; +extern const u8 gText_MenuOption[]; +extern const u8 gText_MenuExit[]; +extern const u8 gText_MenuRetire[]; +extern const u8 gText_MenuRest[]; +extern const u8 gText_Floor1[]; +extern const u8 gText_Floor2[]; +extern const u8 gText_Floor3[]; +extern const u8 gText_Floor4[]; +extern const u8 gText_Floor5[]; +extern const u8 gText_Floor6[]; +extern const u8 gText_Floor7[]; +extern const u8 gText_Peak[]; +extern const u8 gText_SafariBallStock[]; +extern const u8 gText_BattlePyramidFloor[]; + +// option menu texts +extern const u8 gText_TextSpeedSlow[]; +extern const u8 gText_TextSpeedMid[]; +extern const u8 gText_TextSpeedFast[]; +extern const u8 gText_BattleSceneOn[]; +extern const u8 gText_BattleSceneOff[]; +extern const u8 gText_BattleStyleShift[]; +extern const u8 gText_BattleStyleSet[]; +extern const u8 gText_SoundMono[]; +extern const u8 gText_SoundStereo[]; +extern const u8 gText_FrameTypeNumber[]; +extern const u8 gText_FrameType[]; +extern const u8 gText_ButtonTypeNormal[]; +extern const u8 gText_ButtonTypeLR[]; +extern const u8 gText_ButtonTypeLEqualsA[]; +extern const u8 gText_Option[]; +extern const u8 gText_OptionMenu[]; +extern const u8 gText_TextSpeed[]; +extern const u8 gText_BattleScene[]; +extern const u8 gText_BattleStyle[]; +extern const u8 gText_Sound[]; +extern const u8 gText_Frame[]; +extern const u8 gText_OptionMenuCancel[]; +extern const u8 gText_ButtonMode[]; + +extern const u8 gText_MaleSymbol[]; +extern const u8 gText_FemaleSymbol[]; + +extern const u8 gText_SelectorArrow3[]; +extern const u8 gText_YesNo[]; + +// mystery event menu text +extern const u8 gText_EventSafelyLoaded[]; +extern const u8 gText_LoadErrorEndingSession[]; +extern const u8 gText_PressAToLoadEvent[]; +extern const u8 gText_LoadingEvent[]; +extern const u8 gText_DontRemoveCableTurnOff[]; +extern const u8 gText_LinkStandby2[]; + +// berry tag screen text +extern const u8 gBerryFirmnessString_VerySoft[]; +extern const u8 gBerryFirmnessString_Soft[]; +extern const u8 gBerryFirmnessString_Hard[]; +extern const u8 gBerryFirmnessString_VeryHard[]; +extern const u8 gBerryFirmnessString_SuperHard[]; +extern const u8 gText_BerryTag[]; +extern const u8 gText_UnkF908Var1Var2[]; +extern const u8 gText_SizeSlash[]; +extern const u8 gText_Var1DotVar2[]; +extern const u8 gText_ThreeMarks[]; +extern const u8 gText_FirmSlash[]; #endif //GUARD_STRINGS_H diff --git a/include/text.h b/include/text.h index 594661717e..e073c37626 100644 --- a/include/text.h +++ b/include/text.h @@ -65,6 +65,7 @@ #define CHAR_x 0xEC #define CHAR_y 0xED #define CHAR_z 0xEE +#define CHAR_SPECIAL_F7 0xF7 #define CHAR_SPECIAL_F9 0xF9 #define CHAR_COLON 0xF0 #define CHAR_PROMPT_SCROLL 0xFA // waits for button press and scrolls dialog @@ -74,6 +75,10 @@ #define CHAR_NEWLINE 0xFE #define EOS 0xFF // end of string +#define EXT_CTRL_CODE_COLOR 0x1 +#define EXT_CTRL_CODE_HIGHLIGHT 0x2 +#define EXT_CTRL_CODE_SHADOW 0x3 + #define TEXT_COLOR_TRANSPARENT 0x0 #define TEXT_COLOR_WHITE 0x1 #define TEXT_COLOR_DARK_GREY 0x2 @@ -85,6 +90,8 @@ #define NUM_TEXT_PRINTERS 32 +#define TEXT_SPEED_FF 0xFF + struct TextPrinterSubStruct { u8 font_type:4; // 0x14 @@ -113,7 +120,7 @@ struct TextSubPrinter // TODO: Better name u8 letterSpacing; u8 lineSpacing; u8 fontColor_l:4; // 0xC - u8 fontColor_h:4; + u8 fgColor:4; u8 bgColor:4; u8 shadowColor:4; }; @@ -146,7 +153,7 @@ struct FontInfo u8 letterSpacing; u8 lineSpacing; u8 fontColor_l:4; - u8 fontColor_h:4; + u8 fgColor:4; u8 bgColor:4; u8 shadowColor:4; }; @@ -175,13 +182,6 @@ typedef struct { extern TextFlags gTextFlags; -struct __attribute__((packed)) TextColor -{ - u8 fgColor; - u8 bgColor; - u8 shadowColor; -}; - extern u8 gStringVar1[]; extern u8 gStringVar2[]; extern u8 gStringVar3[]; diff --git a/include/text_window.h b/include/text_window.h index 0cefeea8ed..e6a753fcbb 100644 --- a/include/text_window.h +++ b/include/text_window.h @@ -1,13 +1,18 @@ #ifndef GUARD_TEXT_WINDOW_H #define GUARD_TEXT_WINDOW_H +#define WINDOW_FRAMES_COUNT 20 + struct TilesPal { - u32* tiles; - u16* pal; + const u32 *tiles; + const u16 *pal; }; -const struct TilesPal* sub_8098758(u8 id); +extern const u32 gTextWindowFrame1_Gfx[]; +extern const u16 gTextWindowFrame1_Pal[]; + +const struct TilesPal* GetWindowFrameTilesPal(u8 id); void copy_textbox_border_tile_patterns_to_vram(u8 windowId, u16 destOffset, u8 palOffset); void sub_809882C(u8 windowId, u16 destOffset, u8 palOffset); void sub_80987D4(u8 windowId, u8 frameId, u16 destOffset, u8 palOffset); @@ -15,8 +20,8 @@ void box_border_load_tiles_and_pal(u8 windowId, u16 destOffset, u8 palOffset); void sub_8098858(u8 windowId, u16 tileNum, u8 palNum); void sub_80989E0(u8 windowId, u16 tileNum, u8 palNum); void rbox_fill_rectangle(u8 windowId); -const u16* stdpal_get(u8 id); -const u16* sub_8098C64(void); +const u16 *stdpal_get(u8 id); +const u16 *GetOverworldTextboxPalettePtr(void); void sub_8098C6C(u8 bg, u16 destOffset, u8 palOffset); #endif // GUARD_TEXT_WINDOW_H diff --git a/include/time_events.h b/include/time_events.h new file mode 100644 index 0000000000..fd6d29f390 --- /dev/null +++ b/include/time_events.h @@ -0,0 +1,8 @@ +#ifndef GUARD_TIME_EVENTS_H +#define GUARD_TIME_EVENTS_H + +void UpdateMirageRnd(u16); +u8 IsMirageIslandPresent(void); +void UpdateBirchState(u16); + +#endif // GUARD_TIME_EVENTS_H diff --git a/include/title_screen.h b/include/title_screen.h new file mode 100644 index 0000000000..b660792fce --- /dev/null +++ b/include/title_screen.h @@ -0,0 +1,8 @@ +#ifndef GUARD_TITLE_SCREEN_H +#define GUARD_TITLE_SCREEN_H + +extern const u16 gUnknown_0853FF70[]; + +void CB2_InitTitleScreen(void); + +#endif // GUARD_TITLE_SCREEN_H diff --git a/include/trainer_classes.h b/include/trainer_classes.h deleted file mode 100644 index e5e26b3593..0000000000 --- a/include/trainer_classes.h +++ /dev/null @@ -1,74 +0,0 @@ -#ifndef GUARD_TRAINER_CLASSES_H -#define GUARD_TRAINER_CLASSES_H - -enum -{ - CLASS_PKMN_TRAINER0, // 0 - CLASS_PKMN_TRAINER1, // 1 - CLASS_HIKER, // 2 - CLASS_TEAM_AQUA, // 3 - CLASS_PKMN_BREEDER, // 4 - CLASS_COOLTRAINER, // 5 - CLASS_BIRDKEEPER, // 6 - CLASS_COLLECTOR, // 7 - CLASS_SWIMMER_MALE, // 8 - CLASS_TEAM_MAGMA, // 9 - CLASS_EXPERT, // 0xA - CLASS_AQUA_ADMIN, // 0xB - CLASS_BLACK_BELT, // 0xC - CLASS_AQUA_LEADER, // 0xD - CLASS_HEX_MANIAC, // 0xE - CLASS_AROMA_LADY, // 0xF - CLASS_RUIN_MANIAC, // 0x10 - CLASS_INTERVIEWER, // 0x11 - CLASS_TUBER_FEMALE, // 0x12 - CLASS_TUBER_MALE, // 0x13 - CLASS_LADY, // 0x14 - CLASS_BEAUTY, // 0x15 - CLASS_RICH_BOY, // 0x16 - CLASS_POKEMANIAC, // 0x17 - CLASS_GUITARIST, // 0x18 - CLASS_KINDLER, // 0x19 - CLASS_CAMPER, // 0x1A - CLASS_PICKNICKER, // 0x1B - CLASS_BUG_MANIAC, // 0x1C - CLASS_PSYCHIC, // 0x1D - CLASS_GENTLEMAN, // 0x1E - CLASS_ELITE_FOUR, // 0x1F - CLASS_LEADER, // 0x20 - CLASS_SCHOOL_KID, // 0x21 - CLASS_SCHOOL_SR_JR, // 0x22 - CLASS_WINSTRATE, // 0x23 - CLASS_POKE_FAN, // 0x24 - CLASS_YOUNGSTER, // 0x25 - CLASS_CHAMPION, // 0x26 - CLASS_FISHERMAN, // 0x27 - CLASS_TRIATHLETE, // 0x28 - CLASS_DRAGON_TAMER, // 0x29 - CLASS_NINJA_BOY, // 0x2A - CLASS_BATTLE_GIRL, // 0x2B - CLASS_PARASOL_LADY, // 0x2C - CLASS_SWIMMER_FEMALE, // 0x2D - CLASS_TWINS, // 0x2E - CLASS_SAILOR, // 0x2F - CLASS_COOLTRAINER_2, // 0x30 - CLASS_MAGMA_ADMIN, // 0x31 - CLASS_PKMN_TRAINER_RIVAL, // 0x32 - CLASS_BUG_CATCHER, // 0x33 - CLASS_PKMN_RANGER, // 0x34 - CLASS_MAGMA_LEADER, // 0x35 - CLASS_LASS, // 0x36 - CLASS_YOUNG_COUPLE, // 0x37 - CLASS_OLD_COUPLE, // 0x38 - CLASS_SIS_AND_BRO, // 0x39 - CLASS_SALON_MAIDEN, // 0x3A - CLASS_DOME_ACE, // 0x3B - CLASS_PALACE_MAVEN, // 0x3C - CLASS_ARENA_TYCOON, // 0x3D - CLASS_FACTORY_HEAD, // 0x3E - CLASS_PIKE_QUEEN, // 0x3F - CLASS_PYRAMID_KING, // 0x40 - CLASS_PKMN_TRAINER2, // 0x41 -}; - -#endif // GUARD_TRAINER_CLASSES_H diff --git a/include/trainer_front_sprites.h b/include/trainer_front_sprites.h deleted file mode 100644 index 3259bec88d..0000000000 --- a/include/trainer_front_sprites.h +++ /dev/null @@ -1,101 +0,0 @@ -#ifndef GUARD_TRAINER_FRONT_SPRITES_H -#define GUARD_TRAINER_FRONT_SPRITES_H - -enum -{ - TRAINER_FRONT_PIC_HIKER, - TRAINER_FRONT_PIC_AQUA_GRUNT_M, - TRAINER_FRONT_PIC_PKMN_BREEDER_F, - TRAINER_FRONT_PIC_COOLTRAINER_M, - TRAINER_FRONT_PIC_BIRD_KEEPER, - TRAINER_FRONT_PIC_COLLECTOR, - TRAINER_FRONT_PIC_AQUA_GRUNT_F, - TRAINER_FRONT_PIC_SWIMMER_M, - TRAINER_FRONT_PIC_MAGMA_GRUNT_M, - TRAINER_FRONT_PIC_EXPERT_M, - TRAINER_FRONT_PIC_AQUA_ADMIN_M, - TRAINER_FRONT_PIC_BLACK_BELT, - TRAINER_FRONT_PIC_AQUA_ADMIN_F, - TRAINER_FRONT_PIC_AQUA_LEADER, - TRAINER_FRONT_PIC_HEX_MANIAC, - TRAINER_FRONT_PIC_AROMA_LADY, - TRAINER_FRONT_PIC_RUIN_MANIAC, - TRAINER_FRONT_PIC_INTERVIEWER, - TRAINER_FRONT_PIC_TUBER_F, - TRAINER_FRONT_PIC_TUBER_M, - TRAINER_FRONT_PIC_COOLTRAINER_F, - TRAINER_FRONT_PIC_LADY, - TRAINER_FRONT_PIC_BEAUTY, - TRAINER_FRONT_PIC_RICH_BOY, - TRAINER_FRONT_PIC_EXPERT_F, - TRAINER_FRONT_PIC_POKE_MANIAC, - TRAINER_FRONT_PIC_MAGMA_GRUNT_F, - TRAINER_FRONT_PIC_GUITARIST, - TRAINER_FRONT_PIC_KINDLER, - TRAINER_FRONT_PIC_CAMPER, - TRAINER_FRONT_PIC_PICNICKER, - TRAINER_FRONT_PIC_BUG_MANIAC, - TRAINER_FRONT_PIC_PKMN_BREEDER_M, - TRAINER_FRONT_PIC_PSYCHIC_M, - TRAINER_FRONT_PIC_PSYCHIC_F, - TRAINER_FRONT_PIC_GENTLEMAN, - TRAINER_FRONT_PIC_SIDNEY, - TRAINER_FRONT_PIC_PHOEBE, - TRAINER_FRONT_PIC_GLACIA, - TRAINER_FRONT_PIC_DRAKE, - TRAINER_FRONT_PIC_ROXANNE, - TRAINER_FRONT_PIC_BRAWLY, - TRAINER_FRONT_PIC_WATTSON, - TRAINER_FRONT_PIC_FLANNERY, - TRAINER_FRONT_PIC_NORMAN, - TRAINER_FRONT_PIC_WINONA, - TRAINER_FRONT_PIC_TATE_LIZA, - TRAINER_FRONT_PIC_JUAN, - TRAINER_FRONT_PIC_SCHOOL_KID_M, - TRAINER_FRONT_PIC_SCHOOL_KID_F, - TRAINER_FRONT_PIC_SR_JR, - TRAINER_FRONT_PIC_POKFAN_M, - TRAINER_FRONT_PIC_POKFAN_F, - TRAINER_FRONT_PIC_YOUNGSTER, - TRAINER_FRONT_PIC_WALLACE, - TRAINER_FRONT_PIC_FISHERMAN, - TRAINER_FRONT_PIC_TRIATHLETE_BIKER_M, - TRAINER_FRONT_PIC_TRIATHLETE_BIKER_F, - TRAINER_FRONT_PIC_TRIATHLETE_JOGGER_M, - TRAINER_FRONT_PIC_TRIATHLETE_JOGGER_F, - TRAINER_FRONT_PIC_TRIATHLETE_SWIMMER_M, - TRAINER_FRONT_PIC_TRIATHLETE_SWIMMER_F, - TRAINER_FRONT_PIC_DRAGON_TAMER, - TRAINER_FRONT_PIC_NINJA_BOY, - TRAINER_FRONT_PIC_BATTLE_GIRL, - TRAINER_FRONT_PIC_PARASOL_LADY, - TRAINER_FRONT_PIC_SWIMMER_F, - TRAINER_FRONT_PIC_TWINS, - TRAINER_FRONT_PIC_SAILOR, - TRAINER_FRONT_PIC_MAGMA_ADMIN_M, - TRAINER_FRONT_PIC_WALLY, - TRAINER_FRONT_PIC_BRENDAN_E, - TRAINER_FRONT_PIC_MAY_E, - TRAINER_FRONT_PIC_BUG_CATCHER, - TRAINER_FRONT_PIC_PKMN_RANGER_M, - TRAINER_FRONT_PIC_PKMN_RANGER_F, - TRAINER_FRONT_PIC_MAGMA_LEADER, - TRAINER_FRONT_PIC_LASS, - TRAINER_FRONT_PIC_YOUNG_COUPLE, - TRAINER_FRONT_PIC_OLD_COUPLE, - TRAINER_FRONT_PIC_SIS_AND_BRO, - TRAINER_FRONT_PIC_STEVEN, - TRAINER_FRONT_PIC_ANABEL, - TRAINER_FRONT_PIC_TUCKER, - TRAINER_FRONT_PIC_SPENSER, - TRAINER_FRONT_PIC_GRETA, - TRAINER_FRONT_PIC_NOLAND, - TRAINER_FRONT_PIC_LUCY, - TRAINER_FRONT_PIC_BRANDON, - TRAINER_FRONT_PIC_RED, - TRAINER_FRONT_PIC_LEAF, - TRAINER_FRONT_PIC_BRENDAN_RS, - TRAINER_FRONT_PIC_MAY_RS -}; - -#endif // GUARD_TRAINER_FRONT_SPRITES_H diff --git a/include/trainer_ids.h b/include/trainer_ids.h deleted file mode 100644 index 65c80187ff..0000000000 --- a/include/trainer_ids.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef GUARD_TRAINER_IDS_H -#define GUARD_TRAINER_IDS_H - -#define NO_OF_TRAINERS 854 -#define TRAINER_ID_STEVEN 804 - -#endif // GUARD_TRAINER_IDS_H diff --git a/include/trainer_see.h b/include/trainer_see.h index ab035d9f82..8473807823 100644 --- a/include/trainer_see.h +++ b/include/trainer_see.h @@ -1,8 +1,30 @@ #ifndef GUARD_TRAINER_SEE_H #define GUARD_TRAINER_SEE_H -void sub_80B4578(struct MapObject *); -u8 sub_80B47BC(void); -void sub_8155D78(struct MapObject *); +struct ApproachingTrainer +{ + u8 mapObjectId; + u8 radius; // plus 1 + const u8 *trainerScriptPtr; + u8 taskId; +}; -#endif //GUARD_TRAINER_SEE_H +extern u16 gUnknown_03006080; +extern u8 gUnknown_03006084[4]; +extern struct ApproachingTrainer gApproachingTrainers[2]; +extern u8 gNoOfApproachingTrainers; +extern u8 gUnknown_030060AC; +extern u8 gApproachingTrainerId; + +bool8 CheckForTrainersWantingBattle(void); +void sub_80B4578(struct MapObject *var); +void EndTrainerApproach(void); +void sub_80B45D0(void); +u8 FldEff_ExclamationMarkIcon1(void); +u8 FldEff_ExclamationMarkIcon2(void); +u8 FldEff_HeartIcon(void); +u8 GetCurrentApproachingTrainerMapObjectId(void); +u8 GetChosenApproachingTrainerMapObjectId(u8 arrayId); +void sub_80B4808(void); + +#endif // GUARD_TRAINER_SEE_H diff --git a/include/tv.h b/include/tv.h index 9dc0f77194..e0f3e2b0db 100644 --- a/include/tv.h +++ b/include/tv.h @@ -15,5 +15,8 @@ void sub_80F14F8(TVShow *shows); size_t sub_80EF370(int value); void sub_80F1208(TVShow *dest); void sub_80F0BB8(void); +bool8 Put3CheersForPokeblocksOnTheAir(const u8 *partnersName, u8 flavor, u8 unused, u8 sheen, u8 language); +void SetPokemonAnglerSpecies(u16 species); +void UpdateTVShowsPerDay(u16 days); #endif //GUARD_TV_H diff --git a/include/unk_text_util.h b/include/unk_text_util.h new file mode 100644 index 0000000000..72243a90e9 --- /dev/null +++ b/include/unk_text_util.h @@ -0,0 +1,9 @@ +#ifndef GUARD_UNK_TEXT_UTIL_H +#define GUARD_UNK_TEXT_UTIL_H + +void UnkTextUtil_Reset(void); +void UnkTextUtil_SetPtrI(u8 idx, const u8 *ptr); +u8 *UnkTextUtil_StringExpandPlaceholders(u8 *dest, const u8 *src); +const u8 *UnkTextUtil_GetPtrI(u8 idx); + +#endif //GUARD_UNK_TEXT_UTIL_H diff --git a/include/unk_transition.h b/include/unk_transition.h new file mode 100644 index 0000000000..a9caac419b --- /dev/null +++ b/include/unk_transition.h @@ -0,0 +1,13 @@ +#ifndef GUARD_UNK_TRANSITION_H +#define GUARD_UNK_TRANSITION_H + +void Phase2Task_34(u8 taskId); +void Phase2Task_35(u8 taskId); +void Phase2Task_36(u8 taskId); +void Phase2Task_37(u8 taskId); +void Phase2Task_38(u8 taskId); +void Phase2Task_39(u8 taskId); +void Phase2Task_40(u8 taskId); +void Phase2Task_41(u8 taskId); + +#endif // GUARD_UNK_TRANSITION_H diff --git a/include/unknown_task.h b/include/unknown_task.h deleted file mode 100644 index 9c6968c306..0000000000 --- a/include/unknown_task.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef GUARD_unknown_task_H -#define GUARD_unknown_task_H - -// Exported type declarations -struct UnknownTaskStruct -{ - volatile void *dest; - u32 control; - u8 unk8; - u8 unk9; -}; - -extern struct UnknownTaskStruct gUnknown_0831AC70; - -// Exported RAM declarations - -// Exported ROM declarations -void remove_some_task(void); -void sub_80BA038(struct UnknownTaskStruct arg0); -void sub_80BA0A8(void); - -#endif // GUARD_unknown_task_H diff --git a/include/vars.h b/include/vars.h deleted file mode 100644 index c097faff70..0000000000 --- a/include/vars.h +++ /dev/null @@ -1,73 +0,0 @@ -#ifndef GUARD_VARS_H -#define GUARD_VARS_H - -#define VAR_0x3F20 0x3F20 - -#define VAR_0x4000 0x4000 -#define VAR_0x4001 0x4001 -#define VAR_0x4002 0x4002 -#define VAR_0x4003 0x4003 -#define VAR_0x4004 0x4004 -#define VAR_0x4005 0x4005 -#define VAR_0x4006 0x4006 -#define VAR_0x4007 0x4007 -#define VAR_0x4008 0x4008 -#define VAR_0x4009 0x4009 -#define VAR_0x400A 0x400A -#define VAR_0x4010 0x4010 -#define VAR_0x4011 0x4011 -#define VAR_0x401F 0x401F -#define VAR_RECYCLE_GOODS 0x4020 -#define VAR_REPEL_STEP_COUNT 0x4021 -#define VAR_ICE_STEP_COUNT 0x4022 -#define VAR_FIRST_POKE 0x4023 -#define VAR_MIRAGE_RND_H 0x4024 -#define VAR_MIRAGE_RND_L 0x4025 -#define VAR_SECRET_BASE_MAP 0x4026 - -#define VAR_HAPPINESS_STEP_COUNTER 0x402A -#define VAR_POISON_STEP_COUNTER 0x402B -#define VAR_RESET_RTC_ENABLE 0x402C - -#define VAR_DAYS 0x4040 - -#define VAR_DEPT_STORE_FLOOR 0x4043 -#define VAR_STORAGE_UNKNOWN 0x4036 -#define VAR_POKELOT_PRIZE 0x4045 -#define VAR_NATIONAL_DEX 0x4046 -#define VAR_SEEDOT_SIZE_RECORD 0x4047 -#define VAR_ASH_GATHER_COUNT 0x4048 -#define VAR_BIRCH_STATE 0x4049 -#define VAR_CRUISE_STEP_COUNT 0x404A -#define VAR_POKELOT_RND1 0x404B -#define VAR_POKELOT_RND2 0x404C - -#define VAR_LOTAD_SIZE_RECORD 0x404F - -#define VAR_0x4054 0x4054 - -#define VAR_0x4089 0x4089 -#define VAR_0x4095 0x4095 -#define VAR_0x4097 0x4097 -#define VAR_0x409a 0x409a -#define VAR_PORTHOLE 0x40B4 - -#define VAR_0x40BC 0x40BC -#define VAR_0x40C2 0x40C2 - -#define VAR_FRONTIER_FACILITY 0x40CF - -#define VAR_DAILY_SLOTS 0x40E6 -#define VAR_DAILY_WILDS 0x40E7 -#define VAR_DAILY_BLENDER 0x40E8 -#define VAR_DAILY_PLANTED_BERRIES 0x40E9 -#define VAR_DAILY_PICKED_BERRIES 0x40EA -#define VAR_DAILY_ROULETTE 0x40EB -#define VAR_0x40EC 0x40EC -#define VAR_0x40ED 0x40ED -#define VAR_0x40EE 0x40EE -#define VAR_0x40EF 0x40EF -#define VAR_0x40F0 0x40F0 -#define VAR_DAILY_BP 0x40F1 - -#endif // GUARD_VARS_H diff --git a/include/wallclock.h b/include/wallclock.h new file mode 100644 index 0000000000..48697c19fc --- /dev/null +++ b/include/wallclock.h @@ -0,0 +1,6 @@ +#ifndef GUARD_WALLCLOCK_H +#define GUARD_WALLCLOCK_H + +void Cb2_StartWallClock(void); + +#endif //GUARD_WALLCLOCK_H diff --git a/include/wild_encounter.h b/include/wild_encounter.h new file mode 100644 index 0000000000..55bbaa7dde --- /dev/null +++ b/include/wild_encounter.h @@ -0,0 +1,44 @@ +#ifndef GUARD_WILD_ENCOUNTER_H +#define GUARD_WILD_ENCOUNTER_H + +#define LAND_WILD_COUNT 12 +#define WATER_WILD_COUNT 5 +#define ROCK_WILD_COUNT 5 +#define FISH_WILD_COUNT 10 + +struct WildPokemon +{ + u8 minLevel; + u8 maxLevel; + u16 species; +}; + +struct WildPokemonInfo +{ + u8 encounterRate; + const struct WildPokemon *wildPokemon; +}; + +struct WildPokemonHeader +{ + u8 mapGroup; + u8 mapNum; + const struct WildPokemonInfo *landMonsInfo; + const struct WildPokemonInfo *waterMonsInfo; + const struct WildPokemonInfo *rockSmashMonsInfo; + const struct WildPokemonInfo *fishingMonsInfo; +}; + +extern const struct WildPokemonHeader gWildMonHeaders[]; + +void DisableWildEncounters(bool8 disabled); +bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavior); +void ScrSpecial_RockSmashWildEncounter(void); +bool8 SweetScentWildEncounter(void); +bool8 DoesCurrentMapHaveFishingMons(void); +void FishingWildEncounter(u8 rod); +u16 GetLocalWildMon(bool8 *isWaterMon); +u16 GetLocalWaterMon(void); +bool8 UpdateRepelCounter(void); + +#endif // GUARD_WILD_ENCOUNTER_H diff --git a/include/window.h b/include/window.h index b630cd316a..07c642a09f 100644 --- a/include/window.h +++ b/include/window.h @@ -52,7 +52,7 @@ void PutWindowTilemap(u8 windowId); void PutWindowRectTilemapOverridePalette(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 palette); void ClearWindowTilemap(u8 windowId); void PutWindowRectTilemap(u8 windowId, u8 x, u8 y, u8 width, u8 height); -void BlitBitmapToWindow(u8 windowId, u8 *pixels, u16 x, u16 y, u16 width, u16 height); +void BlitBitmapToWindow(u8 windowId, const u8 *pixels, u16 x, u16 y, u16 width, u16 height); void BlitBitmapRectToWindow(u8 windowId, const u8 *pixels, u16 srcX, u16 srcY, u16 srcWidth, int srcHeight, u16 destX, u16 destY, u16 rectWidth, u16 rectHeight); void FillWindowPixelRect(u8 windowId, u8 fillValue, u16 x, u16 y, u16 width, u16 height); void CopyToWindowPixelBuffer(u8 windowId, const u8 *src, u16 size, u16 tileOffset); diff --git a/ld_script.txt b/ld_script.txt index 7390a0702c..eb9db642c8 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -31,7 +31,8 @@ SECTIONS { /* COMMON starts at 0x30022A8 */ - + tools/agbcc/lib/libc.a:sbrkr.o(COMMON); + end = .; . = 0x8000; } @@ -56,13 +57,14 @@ SECTIONS { asm/main_menu.o(.text); src/battle_controllers.o(.text); src/decompress.o(.text); - asm/battle_1.o(.text); - src/battle_2.o(.text); + asm/rom_8034C54.o(.text); + src/battle_bg.o(.text); + src/battle_main.o(.text); src/battle_util.o(.text); src/battle_script_commands.o(.text); - asm/battle_5.o(.text); + src/battle_util2.o(.text); src/battle_controller_player.o(.text); - asm/battle_7.o(.text); + src/battle_gfx_sfx_util.o(.text); src/battle_controller_opponent.o(.text); src/battle_ai_switch_items.o(.text); src/battle_controller_link_opponent.o(.text); @@ -74,40 +76,39 @@ SECTIONS { src/pokemon_3.o(.text); asm/pokemon_3.o(.text); src/trig.o(.text); - src/rng.o(.text); + src/random.o(.text); src/util.o(.text); src/blend_palette.o(.text); - asm/daycare.o(.text); + src/daycare.o(.text); src/egg_hatch.o(.text); src/battle_interface.o(.text); asm/smokescreen.o(.text); - asm/pokeball.o(.text); + src/pokeball.o(.text); src/load_save.o(.text); - asm/load_save.o(.text); asm/trade.o(.text); - asm/berry_blender.o(.text); + src/berry_blender.o(.text); src/play_time.o(.text); src/new_game.o(.text); - asm/rom4.o(.text); + asm/overworld.o(.text); asm/fieldmap.o(.text); src/metatile_behavior.o(.text); asm/field_camera.o(.text); - asm/field_door.o(.text); + src/field_door.o(.text); asm/field_player_avatar.o(.text); src/field_map_obj.o(.text); asm/field_ground_effect.o(.text); - asm/map_obj_8097404.o(.text); - asm/field_message_box.o(.text); + src/field_map_obj_helpers.o(.text); + src/field_message_box.o(.text); asm/map_obj_lock.o(.text); src/text_window.o(.text); src/script.o(.text); src/scrcmd.o(.text); asm/field_control_avatar.o(.text); src/event_data.o(.text); - asm/coord_event_weather.o(.text); + src/coord_event_weather.o(.text); asm/field_tasks.o(.text); - asm/clock.o(.text); - asm/reset_rtc_screen.o(.text); + src/clock.o(.text); + src/reset_rtc_screen.o(.text); src/start_menu.o(.text); asm/start_menu.o(.text); src/tileset_anims.o(.text); @@ -118,22 +119,25 @@ SECTIONS { src/task.o(.text); src/reshow_battle_screen.o(.text); asm/battle_anim_80A9C70.o(.text); - asm/title_screen.o(.text); + src/title_screen.o(.text); asm/field_screen.o(.text); - asm/battle_setup.o(.text); + src/battle_setup.o(.text); asm/cable_club.o(.text); - asm/trainer_see.o(.text); - asm/wild_encounter.o(.text); + src/trainer_see.o(.text); + src/wild_encounter.o(.text); asm/field_effect.o(.text); - asm/unknown_task.o(.text); - asm/option_menu.o(.text); + src/scanline_effect.o(.text); + src/option_menu.o(.text); + src/pokedex.o(.text); asm/pokedex.o(.text); asm/trainer_card.o(.text); + src/pokemon_storage_system.o(.text); asm/pokemon_storage_system.o(.text); + src/pokemon_icon.o(.text); asm/pokemon_icon.o(.text); asm/script_movement.o(.text); asm/fldeff_cut.o(.text); - asm/mail_data.o(.text); + src/mail_data.o(.text); asm/map_name_popup.o(.text); asm/item_menu_icons.o(.text); asm/battle_anim_80D51AC.o(.text); @@ -143,7 +147,7 @@ SECTIONS { asm/shop.o(.text); src/berry.o(.text); asm/script_menu.o(.text); - asm/naming_screen.o(.text); + src/naming_screen.o(.text); src/money.o(.text); asm/contest_effect.o(.text); src/record_mixing.o(.text); @@ -152,43 +156,49 @@ SECTIONS { src/tv.o(.text); asm/contest_link_80F57C4.o(.text); asm/script_pokemon_util_80F87D8.o(.text); - asm/field_poison.o(.text); + src/field_poison.o(.text); src/pokemon_size_record.o(.text); asm/fldeff_80F9BCC.o(.text); src/field_special_scene.o(.text); asm/rotating_gate.o(.text); src/safari_zone.o(.text); asm/contest_link_80FC4F4.o(.text); - asm/item_use.o(.text); + src/item_use.o(.text); asm/battle_anim_80FE840.o(.text); - asm/bike.o(.text); + src/bike.o(.text); asm/easy_chat.o(.text); asm/mon_markings.o(.text); asm/mauville_old_man.o(.text); src/mail.o(.text); asm/menu_helpers.o(.text); asm/dewford_trend.o(.text); - asm/heal_location.o(.text); - asm/region_map.o(.text); + src/heal_location.o(.text); + src/region_map.o(.text); asm/cute_sketch.o(.text); src/decoration.o(.text); asm/slot_machine.o(.text); asm/contest_painting.o(.text); src/battle_ai_script_commands.o(.text); asm/trader.o(.text); - asm/starter_choose.o(.text); - asm/wallclock.o(.text); + src/starter_choose.o(.text); + src/wallclock.o(.text); asm/rom6.o(.text); + src/pokeblock.o(.text); + asm/fldeff_flash.o(.text); + asm/post_battle_event_funcs.o(.text); + src/time_events.o(.text); + asm/birch_pc.o(.text); + src/hof_pc.o(.text); + asm/field_specials.o(.text); asm/battle_records.o(.text); asm/pokedex_area_screen.o(.text); src/evolution_scene.o(.text); asm/roulette.o(.text); asm/pokedex_cry_screen.o(.text); src/coins.o(.text); - asm/coins.o(.text); - asm/landmark.o(.text); + src/landmark.o(.text); asm/fldeff_strength.o(.text); - asm/battle_transition.o(.text); + src/battle_transition.o(.text); src/battle_controller_link_partner.o(.text); src/battle_message.o(.text); asm/cable_car.o(.text); @@ -196,7 +206,7 @@ SECTIONS { asm/roulette_util.o(.text); asm/cable_car_util.o(.text); src/save.o(.text); - asm/mystery_event_script.o(.text); + src/mystery_event_script.o(.text); asm/field_effect_helpers.o(.text); asm/contest_ai.o(.text); asm/battle_anim_sound_tasks.o(.text); @@ -208,49 +218,49 @@ SECTIONS { src/decoration_inventory.o(.text); src/roamer.o(.text); asm/battle_tower.o(.text); + src/use_pokeblock.o(.text); asm/use_pokeblock.o(.text); src/battle_controller_wally.o(.text); asm/player_pc.o(.text); asm/intro.o(.text); src/reset_save_heap.o(.text); - asm/field_region_map.o(.text); + src/field_region_map.o(.text); asm/battle_anim_8170478.o(.text); - asm/hall_of_fame.o(.text); + src/hall_of_fame.o(.text); asm/credits.o(.text); src/lottery_corner.o(.text); src/diploma.o(.text); - asm/berry_tag_screen.o(.text); - asm/mystery_event_menu.o(.text); + src/berry_tag_screen.o(.text); + src/mystery_event_menu.o(.text); src/save_failed_screen.o(.text); src/braille_puzzles.o(.text); - asm/pokeblock_feed.o(.text); + src/pokeblock_feed.o(.text); src/clear_save_data_screen.o(.text); asm/intro_credits_graphics.o(.text); src/evolution_graphics.o(.text); src/bard_music.o(.text); - asm/fldeff_teleport.o(.text); + src/fldeff_teleport.o(.text); asm/battle_link_817C95C.o(.text); - asm/pokemon_animation.o(.text); - asm/recorded_battle.o(.text); + src/pokemon_animation.o(.text); + src/recorded_battle.o(.text); src/battle_controller_recorded_opponent.o(.text); src/battle_controller_recorded_player.o(.text); src/battle_dome_cards.o(.text); src/lilycove_lady.o(.text); asm/battle_frontier_1.o(.text); - asm/new_menu_helpers.o(.text); - asm/menu.o(.text); + src/menu.o(.text); asm/battle_frontier_2.o(.text); asm/item_menu.o(.text); asm/list_menu.o(.text); asm/menu_indicators.o(.text); - asm/unk_text_util.o(.text); + src/unk_text_util.o(.text); src/save_location.o(.text); - asm/item_icon.o(.text); + src/item_icon.o(.text); asm/party_menu.o(.text); asm/battle_tent.o(.text); src/unk_text_util_2.o(.text); src/multiboot.o(.text); - asm/unk_81BAD84.o(.text); + src/unk_81BAD84.o(.text); src/battle_controller_player_partner.o(.text); asm/fldeff_groundshake.o(.text); asm/fossil_specials.o(.text); @@ -258,13 +268,11 @@ SECTIONS { src/pokemon_summary_screen.o(.text); asm/pokemon_summary_screen.o(.text); asm/pokenav.o(.text); - asm/rayquaza_scene.o(.text); + src/rayquaza_scene.o(.text); src/walda_phrase.o(.text); asm/contest_link_81D9DE4.o(.text); asm/trainer_rematch.o(.text); - asm/unk_sprite_file.o(.text); - asm/unk_transition.o(.text); - asm/unk_transition_2.o(.text); + src/unk_transition.o(.text); src/international_string_util.o(.text); asm/international_string_util.o(.text); } =0 @@ -279,7 +287,7 @@ SECTIONS { data/battle_scripts_2.o(script_data); data/battle_ai_scripts.o(script_data); data/contest_ai_scripts.o(script_data); - data/script_funcs.o(script_data); + data/mystery_event_script_cmd_table.o(script_data); } =0 lib_text : @@ -315,7 +323,42 @@ SECTIONS { tools/agbcc/lib/libgcc.a:fp-bit.o(.text); tools/agbcc/lib/libgcc.a:_lshrdi3.o(.text); tools/agbcc/lib/libgcc.a:_negdi2.o(.text); - src/libc.o(.text); + tools/agbcc/lib/libc.a:memcpy.o(.text); + tools/agbcc/lib/libc.a:memset.o(.text); + tools/agbcc/lib/libc.a:strcmp.o(.text); + tools/agbcc/lib/libc.a:strcpy.o(.text); + tools/agbcc/lib/libc.a:vfprintf.o(.text); + tools/agbcc/lib/libc.a:vsprintf.o(.text); + tools/agbcc/lib/libc.a:fvwrite.o(.text); + tools/agbcc/lib/libc.a:locale.o(.text); + tools/agbcc/lib/libc.a:findfp.o(.text); + tools/agbcc/lib/libc.a:fflush.o(.text); + tools/agbcc/lib/libc.a:wsetup.o(.text); + tools/agbcc/lib/libc.a:mbtowc_r.o(.text); + tools/agbcc/lib/libc.a:s_isinf.o(.text); + tools/agbcc/lib/libc.a:s_isnan.o(.text); + tools/agbcc/lib/libc.a:memchr.o(.text); + tools/agbcc/lib/libc.a:strlen.o(.text); + tools/agbcc/lib/libc.a:dtoa.o(.text); + tools/agbcc/lib/libc.a:memmove.o(.text); + tools/agbcc/lib/libc.a:stdio.o(.text); + tools/agbcc/lib/libc.a:mprec.o(.text); + tools/agbcc/lib/libc.a:mallocr.o(.text); + tools/agbcc/lib/libc.a:fwalk.o(.text); + tools/agbcc/lib/libc.a:freer.o(.text); + tools/agbcc/lib/libc.a:makebuf.o(.text); + tools/agbcc/lib/libc.a:readr.o(.text); + tools/agbcc/lib/libc.a:writer.o(.text); + tools/agbcc/lib/libc.a:lseekr.o(.text); + tools/agbcc/lib/libc.a:closer.o(.text); + tools/agbcc/lib/libc.a:callocr.o(.text); + tools/agbcc/lib/libc.a:sbrkr.o(.text); + tools/agbcc/lib/libc.a:mlock.o(.text); + tools/agbcc/lib/libc.a:fstatr.o(.text); + tools/agbcc/lib/libc.a:libcfunc.o(.text); + tools/agbcc/lib/libc.a:syscalls.o(.text); + tools/agbcc/lib/libc.a:errno.o(.text); + src/libisagbprn.o(.text); } =0 .rodata : @@ -333,7 +376,7 @@ SECTIONS { data/main_menu.o(.rodata); data/battle_1.o(.rodata); data/data2b.o(.rodata); - src/battle_2.o(.rodata); + src/battle_main.o(.rodata); src/battle_util.o(.rodata); src/battle_script_commands.o(.rodata); src/battle_controller_player.o(.rodata); @@ -341,49 +384,56 @@ SECTIONS { src/battle_controller_opponent.o(.rodata); src/battle_controller_link_opponent.o(.rodata); data/data2c.o(.rodata); + src/pokemon_1.o(.rodata); + data/data2e.o(.rodata); src/trig.o(.rodata); src/util.o(.rodata); - data/daycare.o(.rodata); + src/daycare.o(.rodata); src/egg_hatch.o(.rodata); - data/battle_7.o(.rodata); + src/battle_gfx_sfx_util.o(.rodata); src/battle_interface.o(.rodata); - data/pokeball.o(.rodata); + src/pokeball.o(.rodata); data/trade.o(.rodata); - data/berry_blender.o(.rodata); + src/berry_blender.o(.rodata); src/new_game.o(.rodata); - data/rom4.o(.rodata); + data/overworld.o(.rodata); + data/tilesets.o(.rodata); + data/maps.o(.rodata); data/fieldmap.o(.rodata); src/metatile_behavior.o(.rodata); - data/rom_8486FEC.o(.rodata); - data/field_door.o(.rodata); + src/field_door.o(.rodata); data/field_player_avatar.o(.rodata); data/field_map_obj.o(.rodata); data/field_ground_effect.o(.rodata); data/map_obj_8097404.o(.rodata); - data/text_window.o(.rodata); + src/text_window.o(.rodata); src/scrcmd.o(.rodata); - data/coord_event_weather.o(.rodata); + src/coord_event_weather.o(.rodata); data/field_tasks.o(.rodata); - data/reset_rtc_screen.o(.rodata); - data/start_menu.o(.rodata); + src/reset_rtc_screen.o(.rodata); + src/start_menu.o(.rodata); src/tileset_anims.o(.rodata); src/palette.o(.rodata); data/fanfares.o(.rodata); data/battle_anims.o(.rodata); src/battle_anim.o(.rodata); data/rom_8525F58.o(.rodata); - data/title_screen.o(.rodata); + data/map_events.o(.rodata); + data/battle_anim_80A9C70.o(.rodata); + src/title_screen.o(.rodata); data/field_screen.o(.rodata); - data/battle_setup.o(.rodata); + src/battle_setup.o(.rodata); data/cable_club.o(.rodata); - data/trainer_see.o(.rodata); - data/wild_encounter.o(.rodata); + src/trainer_see.o(.rodata); + src/wild_encounter.o(.rodata); data/field_effect.o(.rodata); - data/option_menu.o(.rodata); + src/option_menu.o(.rodata); + src/pokedex.o(.rodata); data/pokedex.o(.rodata); data/trainer_card.o(.rodata); + src/pokemon_storage_system.o(.rodata); data/pokemon_storage_system.o(.rodata); - data/pokemon_icon.o(.rodata); + src/pokemon_icon.o(.rodata); data/fldeff_cut.o(.rodata); data/map_name_popup.o(.rodata); data/item_menu_icons.o(.rodata); @@ -391,7 +441,7 @@ SECTIONS { data/shop.o(.rodata); src/berry.o(.rodata); data/script_menu.o(.rodata); - data/naming_screen.o(.rodata); + src/naming_screen.o(.rodata); src/money.o(.rodata); data/contest_effect.o(.rodata); data/record_mixing.o(.rodata); @@ -405,24 +455,37 @@ SECTIONS { data/rotating_gate.o(.rodata); data/item_use.o(.rodata); data/battle_anim_80FE840.o(.rodata); - data/bike.o(.rodata); + src/bike.o(.rodata); data/easy_chat.o(.rodata); data/mon_markings.o(.rodata); data/mauville_old_man.o(.rodata); src/mail.o(.rodata); data/menu_helpers.o(.rodata); - data/heal_location.o(.rodata); - data/region_map.o(.rodata); + src/heal_location.o(.rodata); + src/region_map.o(.rodata); data/cute_sketch.o(.rodata); src/decoration.o(.rodata); data/slot_machine.o(.rodata); data/contest_painting.o(.rodata); src/battle_ai_script_commands.o(.rodata); - data/data4.o(.rodata); + data/trader.o(.rodata); + data/starter_choose.o(.rodata); + src/wallclock.o(.rodata); + src/pokeblock.o(.rodata); + data/fldeff_flash.o(.rodata); + src/time_events.o(.rodata); + data/field_specials.o(.rodata); + data/battle_records.o(.rodata); + data/pokedex_area_screen.o(.rodata); + src/evolution_scene.o(.rodata); + data/roulette.o(.rodata); + data/pokedex_cry_screen.o(.rodata); + src/landmark.o(.rodata); + src/battle_transition.o(.rodata); src/battle_controller_link_partner.o(.rodata); src/battle_message.o(.rodata); data/cable_car.o(.rodata); - data/save.o(.rodata); + src/save.o(.rodata); data/field_effect_helpers.o(.rodata); data/contest_ai.o(.rodata); src/battle_controller_safari.o(.rodata); @@ -430,59 +493,598 @@ SECTIONS { data/learn_move.o(.rodata); src/roamer.o(.rodata); data/battle_tower.o(.rodata); + src/use_pokeblock.o(.rodata); data/use_pokeblock.o(.rodata); src/battle_controller_wally.o(.rodata); data/player_pc.o(.rodata); data/intro.o(.rodata); - data/field_region_map.o(.rodata); + src/field_region_map.o(.rodata); data/battle_anim_8170478.o(.rodata); - data/hall_of_fame.o(.rodata); + src/hall_of_fame.o(.rodata); data/credits.o(.rodata); src/lottery_corner.o(.rodata); src/diploma.o(.rodata); data/strings.o(.rodata); - data/berry_tag_screen.o(.rodata); - data/mystery_event_menu.o(.rodata); + src/berry_tag_screen.o(.rodata); + src/mystery_event_menu.o(.rodata); src/save_failed_screen.o(.rodata); data/braille_puzzles.o(.rodata); - data/pokeblock_feed.o(.rodata); + src/pokeblock_feed.o(.rodata); src/clear_save_data_screen.o(.rodata); data/intro_credits_graphics.o(.rodata); src/evolution_graphics.o(.rodata); src/bard_music.o(.rodata); - data/data_860A4AC.o(.rodata); + data/battle_link_817C95C.o(.rodata); + src/pokemon_animation.o(.rodata); src/battle_controller_recorded_opponent.o(.rodata); src/battle_controller_recorded_player.o(.rodata); src/battle_dome_cards.o(.rodata); src/lilycove_lady.o(.rodata); data/battle_frontier_1.o(.rodata); - data/new_menu_helpers.o(.rodata); + src/menu.o(.rodata); data/battle_frontier_2.o(.rodata); data/item_menu.o(.rodata); data/menu_indicators.o(.rodata); src/save_location.o(.rodata); data/item_icon.o(.rodata); + src/item_icon.o(.rodata); data/party_menu.o(.rodata); data/battle_tent.o(.rodata); src/unk_text_util_2.o(.rodata); - data/unk_81BAD84.o(.rodata); + src/unk_81BAD84.o(.rodata); src/battle_controller_player_partner.o(.rodata); data/fossil_special_fldeff_groundshake.o(.rodata); src/berry_fix_program.o(.rodata); data/pokemon_summary_screen.o(.rodata); data/pokenav.o(.rodata); - data/rayquaza_scene.o(.rodata); + src/rayquaza_scene.o(.rodata); src/walda_phrase.o(.rodata); data/trainer_rematch.o(.rodata); - data/unk_sprite_file.o(.rodata); data/unk_transition.o(.rodata); - data/link_strings.o(.rodata); + src/unk_transition.o(.rodata); + data/text_input_strings.o(.rodata); data/fonts.o(.rodata); + src/mystery_event_msg.o(.rodata); data/mystery_event_msg.o(.rodata); src/m4a_tables.o(.rodata); data/sound_data.o(.rodata); } =0 + song_data : + ALIGN(4) + { + sound/songs/mus_dummy.o(.rodata); + sound/songs/se_kaifuku.o(.rodata); + sound/songs/se_pc_login.o(.rodata); + sound/songs/se_pc_off.o(.rodata); + sound/songs/se_pc_on.o(.rodata); + sound/songs/se_select.o(.rodata); + sound/songs/se_win_open.o(.rodata); + sound/songs/se_wall_hit.o(.rodata); + sound/songs/se_door.o(.rodata); + sound/songs/se_kaidan.o(.rodata); + sound/songs/se_dansa.o(.rodata); + sound/songs/se_jitensya.o(.rodata); + sound/songs/se_kouka_l.o(.rodata); + sound/songs/se_kouka_m.o(.rodata); + sound/songs/se_kouka_h.o(.rodata); + sound/songs/se_bowa2.o(.rodata); + sound/songs/se_poke_dead.o(.rodata); + sound/songs/se_nigeru.o(.rodata); + sound/songs/se_jido_doa.o(.rodata); + sound/songs/se_naminori.o(.rodata); + sound/songs/se_ban.o(.rodata); + sound/songs/se_pin.o(.rodata); + sound/songs/se_boo.o(.rodata); + sound/songs/se_bowa.o(.rodata); + sound/songs/se_jyuni.o(.rodata); + sound/songs/se_a.o(.rodata); + sound/songs/se_i.o(.rodata); + sound/songs/se_u.o(.rodata); + sound/songs/se_e.o(.rodata); + sound/songs/se_o.o(.rodata); + sound/songs/se_n.o(.rodata); + sound/songs/se_seikai.o(.rodata); + sound/songs/se_hazure.o(.rodata); + sound/songs/se_exp.o(.rodata); + sound/songs/se_jite_pyoko.o(.rodata); + sound/songs/se_mu_pachi.o(.rodata); + sound/songs/se_tk_kasya.o(.rodata); + sound/songs/se_fu_zaku.o(.rodata); + sound/songs/se_fu_zaku2.o(.rodata); + sound/songs/se_fu_zuzuzu.o(.rodata); + sound/songs/se_ru_gashin.o(.rodata); + sound/songs/se_ru_gasyan.o(.rodata); + sound/songs/se_ru_bari.o(.rodata); + sound/songs/se_ru_hyuu.o(.rodata); + sound/songs/se_ki_gasyan.o(.rodata); + sound/songs/se_tk_warpin.o(.rodata); + sound/songs/se_tk_warpout.o(.rodata); + sound/songs/se_tu_saa.o(.rodata); + sound/songs/se_hi_turun.o(.rodata); + sound/songs/se_track_move.o(.rodata); + sound/songs/se_track_stop.o(.rodata); + sound/songs/se_track_haiki.o(.rodata); + sound/songs/se_track_door.o(.rodata); + sound/songs/se_moter.o(.rodata); + sound/songs/se_card.o(.rodata); + sound/songs/se_save.o(.rodata); + sound/songs/se_kon.o(.rodata); + sound/songs/se_kon2.o(.rodata); + sound/songs/se_kon3.o(.rodata); + sound/songs/se_kon4.o(.rodata); + sound/songs/se_suikomu.o(.rodata); + sound/songs/se_nageru.o(.rodata); + sound/songs/se_toy_c.o(.rodata); + sound/songs/se_toy_d.o(.rodata); + sound/songs/se_toy_e.o(.rodata); + sound/songs/se_toy_f.o(.rodata); + sound/songs/se_toy_g.o(.rodata); + sound/songs/se_toy_a.o(.rodata); + sound/songs/se_toy_b.o(.rodata); + sound/songs/se_toy_c1.o(.rodata); + sound/songs/se_mizu.o(.rodata); + sound/songs/se_hashi.o(.rodata); + sound/songs/se_daugi.o(.rodata); + sound/songs/se_pinpon.o(.rodata); + sound/songs/se_fuusen1.o(.rodata); + sound/songs/se_fuusen2.o(.rodata); + sound/songs/se_fuusen3.o(.rodata); + sound/songs/se_toy_kabe.o(.rodata); + sound/songs/se_toy_dango.o(.rodata); + sound/songs/se_doku.o(.rodata); + sound/songs/se_esuka.o(.rodata); + sound/songs/se_t_ame.o(.rodata); + sound/songs/se_t_ame_e.o(.rodata); + sound/songs/se_t_ooame.o(.rodata); + sound/songs/se_t_ooame_e.o(.rodata); + sound/songs/se_t_koame.o(.rodata); + sound/songs/se_t_koame_e.o(.rodata); + sound/songs/se_t_kami.o(.rodata); + sound/songs/se_t_kami2.o(.rodata); + sound/songs/se_elebeta.o(.rodata); + sound/songs/se_hinsi.o(.rodata); + sound/songs/se_expmax.o(.rodata); + sound/songs/se_tamakoro.o(.rodata); + sound/songs/se_tamakoro_e.o(.rodata); + sound/songs/se_basabasa.o(.rodata); + sound/songs/se_regi.o(.rodata); + sound/songs/se_c_gaji.o(.rodata); + sound/songs/se_c_maku_u.o(.rodata); + sound/songs/se_c_maku_d.o(.rodata); + sound/songs/se_c_pasi.o(.rodata); + sound/songs/se_c_syu.o(.rodata); + sound/songs/se_c_pikon.o(.rodata); + sound/songs/se_reapoke.o(.rodata); + sound/songs/se_op_basyu.o(.rodata); + sound/songs/se_bt_start.o(.rodata); + sound/songs/se_dendou.o(.rodata); + sound/songs/se_jihanki.o(.rodata); + sound/songs/se_tama.o(.rodata); + sound/songs/se_z_scroll.o(.rodata); + sound/songs/se_z_page.o(.rodata); + sound/songs/se_pn_on.o(.rodata); + sound/songs/se_pn_off.o(.rodata); + sound/songs/se_z_search.o(.rodata); + sound/songs/se_tamago.o(.rodata); + sound/songs/se_tb_start.o(.rodata); + sound/songs/se_tb_kon.o(.rodata); + sound/songs/se_tb_kara.o(.rodata); + sound/songs/se_bidoro.o(.rodata); + sound/songs/se_w085.o(.rodata); + sound/songs/se_w085b.o(.rodata); + sound/songs/se_w231.o(.rodata); + sound/songs/se_w171.o(.rodata); + sound/songs/se_w233.o(.rodata); + sound/songs/se_w233b.o(.rodata); + sound/songs/se_w145.o(.rodata); + sound/songs/se_w145b.o(.rodata); + sound/songs/se_w145c.o(.rodata); + sound/songs/se_w240.o(.rodata); + sound/songs/se_w015.o(.rodata); + sound/songs/se_w081.o(.rodata); + sound/songs/se_w081b.o(.rodata); + sound/songs/se_w088.o(.rodata); + sound/songs/se_w016.o(.rodata); + sound/songs/se_w016b.o(.rodata); + sound/songs/se_w003.o(.rodata); + sound/songs/se_w104.o(.rodata); + sound/songs/se_w013.o(.rodata); + sound/songs/se_w196.o(.rodata); + sound/songs/se_w086.o(.rodata); + sound/songs/se_w004.o(.rodata); + sound/songs/se_w025.o(.rodata); + sound/songs/se_w025b.o(.rodata); + sound/songs/se_w152.o(.rodata); + sound/songs/se_w026.o(.rodata); + sound/songs/se_w172.o(.rodata); + sound/songs/se_w172b.o(.rodata); + sound/songs/se_w053.o(.rodata); + sound/songs/se_w007.o(.rodata); + sound/songs/se_w092.o(.rodata); + sound/songs/se_w221.o(.rodata); + sound/songs/se_w221b.o(.rodata); + sound/songs/se_w052.o(.rodata); + sound/songs/se_w036.o(.rodata); + sound/songs/se_w059.o(.rodata); + sound/songs/se_w059b.o(.rodata); + sound/songs/se_w010.o(.rodata); + sound/songs/se_w011.o(.rodata); + sound/songs/se_w017.o(.rodata); + sound/songs/se_w019.o(.rodata); + sound/songs/se_w028.o(.rodata); + sound/songs/se_w013b.o(.rodata); + sound/songs/se_w044.o(.rodata); + sound/songs/se_w029.o(.rodata); + sound/songs/se_w057.o(.rodata); + sound/songs/se_w056.o(.rodata); + sound/songs/se_w250.o(.rodata); + sound/songs/se_w030.o(.rodata); + sound/songs/se_w039.o(.rodata); + sound/songs/se_w054.o(.rodata); + sound/songs/se_w077.o(.rodata); + sound/songs/se_w020.o(.rodata); + sound/songs/se_w082.o(.rodata); + sound/songs/se_w047.o(.rodata); + sound/songs/se_w195.o(.rodata); + sound/songs/se_w006.o(.rodata); + sound/songs/se_w091.o(.rodata); + sound/songs/se_w146.o(.rodata); + sound/songs/se_w120.o(.rodata); + sound/songs/se_w153.o(.rodata); + sound/songs/se_w071b.o(.rodata); + sound/songs/se_w071.o(.rodata); + sound/songs/se_w103.o(.rodata); + sound/songs/se_w062.o(.rodata); + sound/songs/se_w062b.o(.rodata); + sound/songs/se_w048.o(.rodata); + sound/songs/se_w187.o(.rodata); + sound/songs/se_w118.o(.rodata); + sound/songs/se_w155.o(.rodata); + sound/songs/se_w122.o(.rodata); + sound/songs/se_w060.o(.rodata); + sound/songs/se_w185.o(.rodata); + sound/songs/se_w014.o(.rodata); + sound/songs/se_w043.o(.rodata); + sound/songs/se_w207.o(.rodata); + sound/songs/se_w207b.o(.rodata); + sound/songs/se_w215.o(.rodata); + sound/songs/se_w109.o(.rodata); + sound/songs/se_w173.o(.rodata); + sound/songs/se_w280.o(.rodata); + sound/songs/se_w202.o(.rodata); + sound/songs/se_w060b.o(.rodata); + sound/songs/se_w076.o(.rodata); + sound/songs/se_w080.o(.rodata); + sound/songs/se_w100.o(.rodata); + sound/songs/se_w107.o(.rodata); + sound/songs/se_w166.o(.rodata); + sound/songs/se_w129.o(.rodata); + sound/songs/se_w115.o(.rodata); + sound/songs/se_w112.o(.rodata); + sound/songs/se_w197.o(.rodata); + sound/songs/se_w199.o(.rodata); + sound/songs/se_w236.o(.rodata); + sound/songs/se_w204.o(.rodata); + sound/songs/se_w268.o(.rodata); + sound/songs/se_w070.o(.rodata); + sound/songs/se_w063.o(.rodata); + sound/songs/se_w127.o(.rodata); + sound/songs/se_w179.o(.rodata); + sound/songs/se_w151.o(.rodata); + sound/songs/se_w201.o(.rodata); + sound/songs/se_w161.o(.rodata); + sound/songs/se_w161b.o(.rodata); + sound/songs/se_w227.o(.rodata); + sound/songs/se_w227b.o(.rodata); + sound/songs/se_w226.o(.rodata); + sound/songs/se_w208.o(.rodata); + sound/songs/se_w213.o(.rodata); + sound/songs/se_w213b.o(.rodata); + sound/songs/se_w234.o(.rodata); + sound/songs/se_w260.o(.rodata); + sound/songs/se_w328.o(.rodata); + sound/songs/se_w320.o(.rodata); + sound/songs/se_w255.o(.rodata); + sound/songs/se_w291.o(.rodata); + sound/songs/se_w089.o(.rodata); + sound/songs/se_w239.o(.rodata); + sound/songs/se_w230.o(.rodata); + sound/songs/se_w281.o(.rodata); + sound/songs/se_w327.o(.rodata); + sound/songs/se_w287.o(.rodata); + sound/songs/se_w257.o(.rodata); + sound/songs/se_w253.o(.rodata); + sound/songs/se_w258.o(.rodata); + sound/songs/se_w322.o(.rodata); + sound/songs/se_w298.o(.rodata); + sound/songs/se_w287b.o(.rodata); + sound/songs/se_w114.o(.rodata); + sound/songs/se_w063b.o(.rodata); + sound/songs/se_rg_w_door.o(.rodata); + sound/songs/se_rg_card1.o(.rodata); + sound/songs/se_rg_card2.o(.rodata); + sound/songs/se_rg_card3.o(.rodata); + sound/songs/se_rg_bag1.o(.rodata); + sound/songs/se_rg_bag2.o(.rodata); + sound/songs/se_rg_getting.o(.rodata); + sound/songs/se_rg_shop.o(.rodata); + sound/songs/se_rg_kiteki.o(.rodata); + sound/songs/se_rg_help_op.o(.rodata); + sound/songs/se_rg_help_cl.o(.rodata); + sound/songs/se_rg_help_ng.o(.rodata); + sound/songs/se_rg_deomov.o(.rodata); + sound/songs/se_rg_excellent.o(.rodata); + sound/songs/se_rg_nawamiss.o(.rodata); + sound/songs/se_toreeye.o(.rodata); + sound/songs/se_toreoff.o(.rodata); + sound/songs/se_hantei1.o(.rodata); + sound/songs/se_hantei2.o(.rodata); + sound/songs/se_curtain.o(.rodata); + sound/songs/se_curtain1.o(.rodata); + sound/songs/se_ussoki.o(.rodata); + sound/songs/mus_tetsuji.o(.rodata); + sound/songs/mus_field13.o(.rodata); + sound/songs/mus_kachi22.o(.rodata); + sound/songs/mus_kachi2.o(.rodata); + sound/songs/mus_kachi3.o(.rodata); + sound/songs/mus_kachi5.o(.rodata); + sound/songs/mus_pcc.o(.rodata); + sound/songs/mus_nibi.o(.rodata); + sound/songs/mus_suikun.o(.rodata); + sound/songs/mus_dooro1.o(.rodata); + sound/songs/mus_dooro_x1.o(.rodata); + sound/songs/mus_dooro_x3.o(.rodata); + sound/songs/mus_machi_s2.o(.rodata); + sound/songs/mus_machi_s4.o(.rodata); + sound/songs/mus_gim.o(.rodata); + sound/songs/mus_naminori.o(.rodata); + sound/songs/mus_dan01.o(.rodata); + sound/songs/mus_fanfa1.o(.rodata); + sound/songs/mus_me_asa.o(.rodata); + sound/songs/mus_me_bachi.o(.rodata); + sound/songs/mus_fanfa4.o(.rodata); + sound/songs/mus_fanfa5.o(.rodata); + sound/songs/mus_me_waza.o(.rodata); + sound/songs/mus_bijyutu.o(.rodata); + sound/songs/mus_dooro_x4.o(.rodata); + sound/songs/mus_fune_kan.o(.rodata); + sound/songs/mus_me_shinka.o(.rodata); + sound/songs/mus_shinka.o(.rodata); + sound/songs/mus_me_wasure.o(.rodata); + sound/songs/mus_syoujoeye.o(.rodata); + sound/songs/mus_boyeye.o(.rodata); + sound/songs/mus_dan02.o(.rodata); + sound/songs/mus_machi_s3.o(.rodata); + sound/songs/mus_odamaki.o(.rodata); + sound/songs/mus_b_tower.o(.rodata); + sound/songs/mus_swimeye.o(.rodata); + sound/songs/mus_dan03.o(.rodata); + sound/songs/mus_me_kinomi.o(.rodata); + sound/songs/mus_me_tama.o(.rodata); + sound/songs/mus_me_b_big.o(.rodata); + sound/songs/mus_me_b_small.o(.rodata); + sound/songs/mus_me_zannen.o(.rodata); + sound/songs/mus_bd_time.o(.rodata); + sound/songs/mus_test1.o(.rodata); + sound/songs/mus_test2.o(.rodata); + sound/songs/mus_test3.o(.rodata); + sound/songs/mus_test4.o(.rodata); + sound/songs/mus_test.o(.rodata); + sound/songs/mus_gomachi0.o(.rodata); + sound/songs/mus_gotown.o(.rodata); + sound/songs/mus_pokecen.o(.rodata); + sound/songs/mus_nextroad.o(.rodata); + sound/songs/mus_granroad.o(.rodata); + sound/songs/mus_cycling.o(.rodata); + sound/songs/mus_friendly.o(.rodata); + sound/songs/mus_mishiro.o(.rodata); + sound/songs/mus_tozan.o(.rodata); + sound/songs/mus_girleye.o(.rodata); + sound/songs/mus_minamo.o(.rodata); + sound/songs/mus_ashroad.o(.rodata); + sound/songs/mus_event0.o(.rodata); + sound/songs/mus_deepdeep.o(.rodata); + sound/songs/mus_kachi1.o(.rodata); + sound/songs/mus_title3.o(.rodata); + sound/songs/mus_demo1.o(.rodata); + sound/songs/mus_girl_sup.o(.rodata); + sound/songs/mus_hageshii.o(.rodata); + sound/songs/mus_kakkoii.o(.rodata); + sound/songs/mus_kazanbai.o(.rodata); + sound/songs/mus_aqa_0.o(.rodata); + sound/songs/mus_tsuretek.o(.rodata); + sound/songs/mus_boy_sup.o(.rodata); + sound/songs/mus_rainbow.o(.rodata); + sound/songs/mus_ayasii.o(.rodata); + sound/songs/mus_kachi4.o(.rodata); + sound/songs/mus_ropeway.o(.rodata); + sound/songs/mus_casino.o(.rodata); + sound/songs/mus_hightown.o(.rodata); + sound/songs/mus_safari.o(.rodata); + sound/songs/mus_c_road.o(.rodata); + sound/songs/mus_ajito.o(.rodata); + sound/songs/mus_m_boat.o(.rodata); + sound/songs/mus_m_dungon.o(.rodata); + sound/songs/mus_finecity.o(.rodata); + sound/songs/mus_machupi.o(.rodata); + sound/songs/mus_p_school.o(.rodata); + sound/songs/mus_dendou.o(.rodata); + sound/songs/mus_tonekusa.o(.rodata); + sound/songs/mus_maborosi.o(.rodata); + sound/songs/mus_con_fan.o(.rodata); + sound/songs/mus_contest0.o(.rodata); + sound/songs/mus_mgm0.o(.rodata); + sound/songs/mus_t_battle.o(.rodata); + sound/songs/mus_ooame.o(.rodata); + sound/songs/mus_hideri.o(.rodata); + sound/songs/mus_runecity.o(.rodata); + sound/songs/mus_con_k.o(.rodata); + sound/songs/mus_eikou_r.o(.rodata); + sound/songs/mus_karakuri.o(.rodata); + sound/songs/mus_hutago.o(.rodata); + sound/songs/mus_sitennou.o(.rodata); + sound/songs/mus_yama_eye.o(.rodata); + sound/songs/mus_conlobby.o(.rodata); + sound/songs/mus_inter_v.o(.rodata); + sound/songs/mus_daigo.o(.rodata); + sound/songs/mus_thankfor.o(.rodata); + sound/songs/mus_end.o(.rodata); + sound/songs/mus_b_frontier.o(.rodata); + sound/songs/mus_b_arena.o(.rodata); + sound/songs/mus_me_pointget.o(.rodata); + sound/songs/mus_me_tore_eye.o(.rodata); + sound/songs/mus_pyramid.o(.rodata); + sound/songs/mus_pyramid_top.o(.rodata); + sound/songs/mus_b_palace.o(.rodata); + sound/songs/mus_rekkuu_kourin.o(.rodata); + sound/songs/mus_sattower.o(.rodata); + sound/songs/mus_me_symbolget.o(.rodata); + sound/songs/mus_b_dome.o(.rodata); + sound/songs/mus_b_tube.o(.rodata); + sound/songs/mus_b_factory.o(.rodata); + sound/songs/mus_vs_rekku.o(.rodata); + sound/songs/mus_vs_front.o(.rodata); + sound/songs/mus_vs_mew.o(.rodata); + sound/songs/mus_b_dome1.o(.rodata); + sound/songs/mus_battle27.o(.rodata); + sound/songs/mus_battle31.o(.rodata); + sound/songs/mus_battle20.o(.rodata); + sound/songs/mus_battle32.o(.rodata); + sound/songs/mus_battle33.o(.rodata); + sound/songs/mus_battle36.o(.rodata); + sound/songs/mus_battle34.o(.rodata); + sound/songs/mus_battle35.o(.rodata); + sound/songs/mus_battle38.o(.rodata); + sound/songs/mus_battle30.o(.rodata); + sound/songs/mus_rg_annai.o(.rodata); + sound/songs/mus_rg_slot.o(.rodata); + sound/songs/mus_rg_ajito.o(.rodata); + sound/songs/mus_rg_gym.o(.rodata); + sound/songs/mus_rg_purin.o(.rodata); + sound/songs/mus_rg_demo.o(.rodata); + sound/songs/mus_rg_title.o(.rodata); + sound/songs/mus_rg_guren.o(.rodata); + sound/songs/mus_rg_shion.o(.rodata); + sound/songs/mus_rg_kaihuku.o(.rodata); + sound/songs/mus_rg_cycling.o(.rodata); + sound/songs/mus_rg_rocket.o(.rodata); + sound/songs/mus_rg_shoujo.o(.rodata); + sound/songs/mus_rg_shounen.o(.rodata); + sound/songs/mus_rg_dendou.o(.rodata); + sound/songs/mus_rg_t_mori.o(.rodata); + sound/songs/mus_rg_otsukimi.o(.rodata); + sound/songs/mus_rg_pokeyashi.o(.rodata); + sound/songs/mus_rg_ending.o(.rodata); + sound/songs/mus_rg_load01.o(.rodata); + sound/songs/mus_rg_opening.o(.rodata); + sound/songs/mus_rg_load02.o(.rodata); + sound/songs/mus_rg_load03.o(.rodata); + sound/songs/mus_rg_champ_r.o(.rodata); + sound/songs/mus_rg_vs_gym.o(.rodata); + sound/songs/mus_rg_vs_tore.o(.rodata); + sound/songs/mus_rg_vs_yasei.o(.rodata); + sound/songs/mus_rg_vs_last.o(.rodata); + sound/songs/mus_rg_masara.o(.rodata); + sound/songs/mus_rg_kenkyu.o(.rodata); + sound/songs/mus_rg_ohkido.o(.rodata); + sound/songs/mus_rg_pokecen.o(.rodata); + sound/songs/mus_rg_santoan.o(.rodata); + sound/songs/mus_rg_naminori.o(.rodata); + sound/songs/mus_rg_p_tower.o(.rodata); + sound/songs/mus_rg_shiruhu.o(.rodata); + sound/songs/mus_rg_hanada.o(.rodata); + sound/songs/mus_rg_tamamusi.o(.rodata); + sound/songs/mus_rg_win_tre.o(.rodata); + sound/songs/mus_rg_win_yasei.o(.rodata); + sound/songs/mus_rg_win_gym.o(.rodata); + sound/songs/mus_rg_kuchiba.o(.rodata); + sound/songs/mus_rg_nibi.o(.rodata); + sound/songs/mus_rg_rival1.o(.rodata); + sound/songs/mus_rg_rival2.o(.rodata); + sound/songs/mus_rg_fan2.o(.rodata); + sound/songs/mus_rg_fan5.o(.rodata); + sound/songs/mus_rg_fan6.o(.rodata); + sound/songs/mus_me_rg_photo.o(.rodata); + sound/songs/mus_rg_titlerog.o(.rodata); + sound/songs/mus_rg_get_yasei.o(.rodata); + sound/songs/mus_rg_sousa.o(.rodata); + sound/songs/mus_rg_sekaikan.o(.rodata); + sound/songs/mus_rg_seibetu.o(.rodata); + sound/songs/mus_rg_jump.o(.rodata); + sound/songs/mus_rg_union.o(.rodata); + sound/songs/mus_rg_network.o(.rodata); + sound/songs/mus_rg_okurimono.o(.rodata); + sound/songs/mus_rg_kinomikui.o(.rodata); + sound/songs/mus_rg_nanadungeon.o(.rodata); + sound/songs/mus_rg_oshie_tv.o(.rodata); + sound/songs/mus_rg_nanashima.o(.rodata); + sound/songs/mus_rg_nanaiseki.o(.rodata); + sound/songs/mus_rg_nana123.o(.rodata); + sound/songs/mus_rg_nana45.o(.rodata); + sound/songs/mus_rg_nana67.o(.rodata); + sound/songs/mus_rg_pokefue.o(.rodata); + sound/songs/mus_rg_vs_deo.o(.rodata); + sound/songs/mus_rg_vs_myu2.o(.rodata); + sound/songs/mus_rg_vs_den.o(.rodata); + sound/songs/mus_rg_exeye.o(.rodata); + sound/songs/mus_rg_deoeye.o(.rodata); + sound/songs/mus_rg_t_tower.o(.rodata); + sound/songs/mus_rg_slowmasara.o(.rodata); + sound/songs/mus_rg_tvnoize.o(.rodata); + sound/songs/ph_trap_blend.o(.rodata); + sound/songs/ph_trap_held.o(.rodata); + sound/songs/ph_trap_solo.o(.rodata); + sound/songs/ph_face_blend.o(.rodata); + sound/songs/ph_face_held.o(.rodata); + sound/songs/ph_face_solo.o(.rodata); + sound/songs/ph_cloth_blend.o(.rodata); + sound/songs/ph_cloth_held.o(.rodata); + sound/songs/ph_cloth_solo.o(.rodata); + sound/songs/ph_dress_blend.o(.rodata); + sound/songs/ph_dress_held.o(.rodata); + sound/songs/ph_dress_solo.o(.rodata); + sound/songs/ph_fleece_blend.o(.rodata); + sound/songs/ph_fleece_held.o(.rodata); + sound/songs/ph_fleece_solo.o(.rodata); + sound/songs/ph_kit_blend.o(.rodata); + sound/songs/ph_kit_held.o(.rodata); + sound/songs/ph_kit_solo.o(.rodata); + sound/songs/ph_price_blend.o(.rodata); + sound/songs/ph_price_held.o(.rodata); + sound/songs/ph_price_solo.o(.rodata); + sound/songs/ph_lot_blend.o(.rodata); + sound/songs/ph_lot_held.o(.rodata); + sound/songs/ph_lot_solo.o(.rodata); + sound/songs/ph_goat_blend.o(.rodata); + sound/songs/ph_goat_held.o(.rodata); + sound/songs/ph_goat_solo.o(.rodata); + sound/songs/ph_thought_blend.o(.rodata); + sound/songs/ph_thought_held.o(.rodata); + sound/songs/ph_thought_solo.o(.rodata); + sound/songs/ph_choice_blend.o(.rodata); + sound/songs/ph_choice_held.o(.rodata); + sound/songs/ph_choice_solo.o(.rodata); + sound/songs/ph_mouth_blend.o(.rodata); + sound/songs/ph_mouth_held.o(.rodata); + sound/songs/ph_mouth_solo.o(.rodata); + sound/songs/ph_foot_blend.o(.rodata); + sound/songs/ph_foot_held.o(.rodata); + sound/songs/ph_foot_solo.o(.rodata); + sound/songs/ph_goose_blend.o(.rodata); + sound/songs/ph_goose_held.o(.rodata); + sound/songs/ph_goose_solo.o(.rodata); + sound/songs/ph_strut_blend.o(.rodata); + sound/songs/ph_strut_held.o(.rodata); + sound/songs/ph_strut_solo.o(.rodata); + sound/songs/ph_cure_blend.o(.rodata); + sound/songs/ph_cure_held.o(.rodata); + sound/songs/ph_cure_solo.o(.rodata); + sound/songs/ph_nurse_blend.o(.rodata); + sound/songs/ph_nurse_held.o(.rodata); + sound/songs/ph_nurse_solo.o(.rodata); + } =0 + lib_rodata : SUBALIGN(4) { @@ -494,6 +1096,10 @@ SECTIONS { data/librfu_rodata.o(.rodata); tools/agbcc/lib/libgcc.a:_divdi3.o(.rodata); tools/agbcc/lib/libgcc.a:_udivdi3.o(.rodata); + tools/agbcc/lib/libc.a(.rodata); + tools/agbcc/lib/libc.a(.data); + tools/agbcc/lib/libc.a:syscalls.o(.rodata); + src/libisagbprn.o(.rodata); } =0 other_data : diff --git a/sound/MPlayDef.s b/sound/MPlayDef.s new file mode 100644 index 0000000000..f5dd6484d9 --- /dev/null +++ b/sound/MPlayDef.s @@ -0,0 +1,430 @@ + .equ W00, 0x80 @ WAIT + .equ W01, W00+1 @ + .equ W02, W00+2 @ + .equ W03, W00+3 @ + .equ W04, W00+4 @ + .equ W05, W00+5 @ + .equ W06, W00+6 @ + .equ W07, W00+7 @ + .equ W08, W00+8 @ + .equ W09, W00+9 @ + .equ W10, W00+10 @ + .equ W11, W00+11 @ + .equ W12, W00+12 @ + .equ W13, W00+13 @ + .equ W14, W00+14 @ + .equ W15, W00+15 @ + .equ W16, W00+16 @ + .equ W17, W00+17 @ + .equ W18, W00+18 @ + .equ W19, W00+19 @ + .equ W20, W00+20 @ + .equ W21, W00+21 @ + .equ W22, W00+22 @ + .equ W23, W00+23 @ + .equ W24, W00+24 @ + .equ W28, W00+25 @ + .equ W30, W00+26 @ + .equ W32, W00+27 @ + .equ W36, W00+28 @ + .equ W40, W00+29 @ + .equ W42, W00+30 @ + .equ W44, W00+31 @ + .equ W48, W00+32 @ + .equ W52, W00+33 @ + .equ W54, W00+34 @ + .equ W56, W00+35 @ + .equ W60, W00+36 @ + .equ W64, W00+37 @ + .equ W66, W00+38 @ + .equ W68, W00+39 @ + .equ W72, W00+40 @ + .equ W76, W00+41 @ + .equ W78, W00+42 @ + .equ W80, W00+43 @ + .equ W84, W00+44 @ + .equ W88, W00+45 @ + .equ W90, W00+46 @ + .equ W92, W00+47 @ + .equ W96, W00+48 @ + + .equ FINE, 0xb1 @ fine + .equ GOTO, 0xb2 @ goto + .equ PATT, 0xb3 @ pattern play + .equ PEND, 0xb4 @ pattern end + .equ REPT, 0xb5 @ repeat + .equ MEMACC, 0xb9 @ memacc op adr dat ***lib + .equ PRIO, 0xba @ priority + .equ TEMPO, 0xbb @ tempo (BPM/2) + .equ KEYSH, 0xbc @ key shift + .equ VOICE, 0xbd @ voice # + .equ VOL, 0xbe @ volume + .equ PAN, 0xbf @ panpot (c_v+??) + .equ BEND, 0xc0 @ pitch bend (c_v+??) + .equ BENDR, 0xc1 @ bend range + .equ LFOS, 0xc2 @ LFO speed + .equ LFODL, 0xc3 @ LFO delay + .equ MOD, 0xc4 @ modulation depth + .equ MODT, 0xc5 @ modulation type + .equ TUNE, 0xc8 @ micro tuning (c_v+??) + + .equ XCMD, 0xcd @ extend command ***lib + .equ xIECV, 0x08 @ imi.echo vol ***lib + .equ xIECL, 0x09 @ imi.echo len ***lib + + .equ EOT, 0xce @ End of Tie + .equ TIE, 0xcf @ + .equ N01, TIE+1 @ NOTE + .equ N02, N01+1 @ + .equ N03, N01+2 @ + .equ N04, N01+3 @ + .equ N05, N01+4 @ + .equ N06, N01+5 @ + .equ N07, N01+6 @ + .equ N08, N01+7 @ + .equ N09, N01+8 @ + .equ N10, N01+9 @ + .equ N11, N01+10 @ + .equ N12, N01+11 @ + .equ N13, N01+12 @ + .equ N14, N01+13 @ + .equ N15, N01+14 @ + .equ N16, N01+15 @ + .equ N17, N01+16 @ + .equ N18, N01+17 @ + .equ N19, N01+18 @ + .equ N20, N01+19 @ + .equ N21, N01+20 @ + .equ N22, N01+21 @ + .equ N23, N01+22 @ + .equ N24, N01+23 @ + .equ N28, N01+24 @ + .equ N30, N01+25 @ + .equ N32, N01+26 @ + .equ N36, N01+27 @ + .equ N40, N01+28 @ + .equ N42, N01+29 @ + .equ N44, N01+30 @ + .equ N48, N01+31 @ + .equ N52, N01+32 @ + .equ N54, N01+33 @ + .equ N56, N01+34 @ + .equ N60, N01+35 @ + .equ N64, N01+36 @ + .equ N66, N01+37 @ + .equ N68, N01+38 @ + .equ N72, N01+39 @ + .equ N76, N01+40 @ + .equ N78, N01+41 @ + .equ N80, N01+42 @ + .equ N84, N01+43 @ + .equ N88, N01+44 @ + .equ N90, N01+45 @ + .equ N92, N01+46 @ + .equ N96, N01+47 @ + +@ maximum value for volume + + .equ mxv, 0x7F @ + +@ center value of PAN, BEND, TUNE + + .equ c_v, 0x40 @ -64 ~ +63 + +@ note for N??, TIE, EOT + + .equ CnM2, 0 @ + .equ CsM2, 1 @ + .equ DnM2, 2 @ + .equ DsM2, 3 @ + .equ EnM2, 4 @ + .equ FnM2, 5 @ + .equ FsM2, 6 @ + .equ GnM2, 7 @ + .equ GsM2, 8 @ + .equ AnM2, 9 @ + .equ AsM2, 10 @ + .equ BnM2, 11 @ + .equ CnM1, 12 @ + .equ CsM1, 13 @ + .equ DnM1, 14 @ + .equ DsM1, 15 @ + .equ EnM1, 16 @ + .equ FnM1, 17 @ + .equ FsM1, 18 @ + .equ GnM1, 19 @ + .equ GsM1, 20 @ + .equ AnM1, 21 @ + .equ AsM1, 22 @ + .equ BnM1, 23 @ + .equ Cn0, 24 @ + .equ Cs0, 25 @ + .equ Dn0, 26 @ + .equ Ds0, 27 @ + .equ En0, 28 @ + .equ Fn0, 29 @ + .equ Fs0, 30 @ + .equ Gn0, 31 @ + .equ Gs0, 32 @ + .equ An0, 33 @ + .equ As0, 34 @ + .equ Bn0, 35 @ + .equ Cn1, 36 @ + .equ Cs1, 37 @ + .equ Dn1, 38 @ + .equ Ds1, 39 @ + .equ En1, 40 @ + .equ Fn1, 41 @ + .equ Fs1, 42 @ + .equ Gn1, 43 @ + .equ Gs1, 44 @ + .equ An1, 45 @ + .equ As1, 46 @ + .equ Bn1, 47 @ + .equ Cn2, 48 @ + .equ Cs2, 49 @ + .equ Dn2, 50 @ + .equ Ds2, 51 @ + .equ En2, 52 @ + .equ Fn2, 53 @ + .equ Fs2, 54 @ + .equ Gn2, 55 @ + .equ Gs2, 56 @ + .equ An2, 57 @ + .equ As2, 58 @ + .equ Bn2, 59 @ + .equ Cn3, 60 @ + .equ Cs3, 61 @ + .equ Dn3, 62 @ + .equ Ds3, 63 @ + .equ En3, 64 @ + .equ Fn3, 65 @ + .equ Fs3, 66 @ + .equ Gn3, 67 @ + .equ Gs3, 68 @ + .equ An3, 69 @ 440Hz + .equ As3, 70 @ + .equ Bn3, 71 @ + .equ Cn4, 72 @ + .equ Cs4, 73 @ + .equ Dn4, 74 @ + .equ Ds4, 75 @ + .equ En4, 76 @ + .equ Fn4, 77 @ + .equ Fs4, 78 @ + .equ Gn4, 79 @ + .equ Gs4, 80 @ + .equ An4, 81 @ + .equ As4, 82 @ + .equ Bn4, 83 @ + .equ Cn5, 84 @ + .equ Cs5, 85 @ + .equ Dn5, 86 @ + .equ Ds5, 87 @ + .equ En5, 88 @ + .equ Fn5, 89 @ + .equ Fs5, 90 @ + .equ Gn5, 91 @ + .equ Gs5, 92 @ + .equ An5, 93 @ + .equ As5, 94 @ + .equ Bn5, 95 @ + .equ Cn6, 96 @ + .equ Cs6, 97 @ + .equ Dn6, 98 @ + .equ Ds6, 99 @ + .equ En6, 100 @ + .equ Fn6, 101 @ + .equ Fs6, 102 @ + .equ Gn6, 103 @ + .equ Gs6, 104 @ + .equ An6, 105 @ + .equ As6, 106 @ + .equ Bn6, 107 @ + .equ Cn7, 108 @ + .equ Cs7, 109 @ + .equ Dn7, 110 @ + .equ Ds7, 111 @ + .equ En7, 112 @ + .equ Fn7, 113 @ + .equ Fs7, 114 @ + .equ Gn7, 115 @ + .equ Gs7, 116 @ + .equ An7, 117 @ + .equ As7, 118 @ + .equ Bn7, 119 @ + .equ Cn8, 120 @ + .equ Cs8, 121 @ + .equ Dn8, 122 @ + .equ Ds8, 123 @ + .equ En8, 124 @ + .equ Fn8, 125 @ + .equ Fs8, 126 @ + .equ Gn8, 127 @ + +@ velocity + + .equ v000, 0 @ + .equ v001, 1 @ + .equ v002, 2 @ + .equ v003, 3 @ + .equ v004, 4 @ + .equ v005, 5 @ + .equ v006, 6 @ + .equ v007, 7 @ + .equ v008, 8 @ + .equ v009, 9 @ + .equ v010, 10 @ + .equ v011, 11 @ + .equ v012, 12 @ + .equ v013, 13 @ + .equ v014, 14 @ + .equ v015, 15 @ + .equ v016, 16 @ + .equ v017, 17 @ + .equ v018, 18 @ + .equ v019, 19 @ + .equ v020, 20 @ + .equ v021, 21 @ + .equ v022, 22 @ + .equ v023, 23 @ + .equ v024, 24 @ + .equ v025, 25 @ + .equ v026, 26 @ + .equ v027, 27 @ + .equ v028, 28 @ + .equ v029, 29 @ + .equ v030, 30 @ + .equ v031, 31 @ + .equ v032, 32 @ + .equ v033, 33 @ + .equ v034, 34 @ + .equ v035, 35 @ + .equ v036, 36 @ + .equ v037, 37 @ + .equ v038, 38 @ + .equ v039, 39 @ + .equ v040, 40 @ + .equ v041, 41 @ + .equ v042, 42 @ + .equ v043, 43 @ + .equ v044, 44 @ + .equ v045, 45 @ + .equ v046, 46 @ + .equ v047, 47 @ + .equ v048, 48 @ + .equ v049, 49 @ + .equ v050, 50 @ + .equ v051, 51 @ + .equ v052, 52 @ + .equ v053, 53 @ + .equ v054, 54 @ + .equ v055, 55 @ + .equ v056, 56 @ + .equ v057, 57 @ + .equ v058, 58 @ + .equ v059, 59 @ + .equ v060, 60 @ + .equ v061, 61 @ + .equ v062, 62 @ + .equ v063, 63 @ + .equ v064, 64 @ + .equ v065, 65 @ + .equ v066, 66 @ + .equ v067, 67 @ + .equ v068, 68 @ + .equ v069, 79 @ + .equ v070, 70 @ + .equ v071, 71 @ + .equ v072, 72 @ + .equ v073, 73 @ + .equ v074, 74 @ + .equ v075, 75 @ + .equ v076, 76 @ + .equ v077, 77 @ + .equ v078, 78 @ + .equ v079, 79 @ + .equ v080, 80 @ + .equ v081, 81 @ + .equ v082, 82 @ + .equ v083, 83 @ + .equ v084, 84 @ + .equ v085, 85 @ + .equ v086, 86 @ + .equ v087, 87 @ + .equ v088, 88 @ + .equ v089, 89 @ + .equ v090, 90 @ + .equ v091, 91 @ + .equ v092, 92 @ + .equ v093, 93 @ + .equ v094, 94 @ + .equ v095, 95 @ + .equ v096, 96 @ + .equ v097, 97 @ + .equ v098, 98 @ + .equ v099, 99 @ + .equ v100, 100 @ + .equ v101, 101 @ + .equ v102, 102 @ + .equ v103, 103 @ + .equ v104, 104 @ + .equ v105, 105 @ + .equ v106, 106 @ + .equ v107, 107 @ + .equ v108, 108 @ + .equ v109, 109 @ + .equ v110, 110 @ + .equ v111, 111 @ + .equ v112, 112 @ + .equ v113, 113 @ + .equ v114, 114 @ + .equ v115, 115 @ + .equ v116, 116 @ + .equ v117, 117 @ + .equ v118, 118 @ + .equ v119, 119 @ + .equ v120, 120 @ + .equ v121, 121 @ + .equ v122, 122 @ + .equ v123, 123 @ + .equ v124, 124 @ + .equ v125, 125 @ + .equ v126, 126 @ + .equ v127, 127 @ + +@ exact gate time parameter for N?? + + .equ gtp1, 1 @ + .equ gtp2, 2 @ + .equ gtp3, 3 @ + +@ parameter of MODT + + .equ mod_vib,0 @ vibrate + .equ mod_tre,1 @ tremolo + .equ mod_pan,2 @ auto-panpot + +@ parameter of MEMACC + + .equ mem_set,0 @ + .equ mem_add,1 @ + .equ mem_sub,2 @ + .equ mem_mem_set,3 @ + .equ mem_mem_add,4 @ + .equ mem_mem_sub,5 @ + .equ mem_beq,6 @ + .equ mem_bne,7 @ + .equ mem_bhi,8 @ + .equ mem_bhs,9 @ + .equ mem_bls,10 @ + .equ mem_blo,11 @ + .equ mem_mem_beq,12 @ + .equ mem_mem_bne,13 @ + .equ mem_mem_bhi,14 @ + .equ mem_mem_bhs,15 @ + .equ mem_mem_bls,16 @ + .equ mem_mem_blo,17 @ + + .equ reverb_set,0x80 @ SOUND_MODE_REVERB_SET + .equ PAM, PAN @ diff --git a/sound/direct_sound_data.inc b/sound/direct_sound_data.inc new file mode 100644 index 0000000000..5b1e2ffebd --- /dev/null +++ b/sound/direct_sound_data.inc @@ -0,0 +1,2175 @@ + .align 2 +DirectSoundWaveData_86B5D04:: @ 86B5D04 + .incbin "sound/direct_sound_samples/86B5D04.bin" + + .align 2 +DirectSoundWaveData_86B63A8:: @ 86B63A8 + .incbin "sound/direct_sound_samples/86B63A8.bin" + + .align 2 +DirectSoundWaveData_86B6BA0:: @ 86B6BA0 + .incbin "sound/direct_sound_samples/86B6BA0.bin" + + .align 2 +DirectSoundWaveData_86B776C:: @ 86B776C + .incbin "sound/direct_sound_samples/86B776C.bin" + + .align 2 +DirectSoundWaveData_86B86A4:: @ 86B86A4 + .incbin "sound/direct_sound_samples/86B86A4.bin" + + .align 2 +DirectSoundWaveData_86B9318:: @ 86B9318 + .incbin "sound/direct_sound_samples/86B9318.bin" + + .align 2 +DirectSoundWaveData_86BA7E8:: @ 86BA7E8 + .incbin "sound/direct_sound_samples/86BA7E8.bin" + + .align 2 +DirectSoundWaveData_86BBE98:: @ 86BBE98 + .incbin "sound/direct_sound_samples/86BBE98.bin" + + .align 2 +DirectSoundWaveData_86BD1DC:: @ 86BD1DC + .incbin "sound/direct_sound_samples/86BD1DC.bin" + + .align 2 +DirectSoundWaveData_86BDC80:: @ 86BDC80 + .incbin "sound/direct_sound_samples/86BDC80.bin" + + .align 2 +DirectSoundWaveData_86BEF94:: @ 86BEF94 + .incbin "sound/direct_sound_samples/86BEF94.bin" + + .align 2 +DirectSoundWaveData_86C2590:: @ 86C2590 + .incbin "sound/direct_sound_samples/86C2590.bin" + + .align 2 +DirectSoundWaveData_86C2A68:: @ 86C2A68 + .incbin "sound/direct_sound_samples/86C2A68.bin" + + .align 2 +DirectSoundWaveData_86C4344:: @ 86C4344 + .incbin "sound/direct_sound_samples/86C4344.bin" + + .align 2 +DirectSoundWaveData_86C566C:: @ 86C566C + .incbin "sound/direct_sound_samples/86C566C.bin" + + .align 2 +DirectSoundWaveData_86C5B0C:: @ 86C5B0C + .incbin "sound/direct_sound_samples/86C5B0C.bin" + + .align 2 +DirectSoundWaveData_86C6200:: @ 86C6200 + .incbin "sound/direct_sound_samples/86C6200.bin" + + .align 2 +DirectSoundWaveData_86C6A90:: @ 86C6A90 + .incbin "sound/direct_sound_samples/86C6A90.bin" + + .align 2 +DirectSoundWaveData_86C7308:: @ 86C7308 + .incbin "sound/direct_sound_samples/86C7308.bin" + + .align 2 +DirectSoundWaveData_86C8348:: @ 86C8348 + .incbin "sound/direct_sound_samples/86C8348.bin" + + .align 2 +DirectSoundWaveData_86C875C:: @ 86C875C + .incbin "sound/direct_sound_samples/86C875C.bin" + + .align 2 +DirectSoundWaveData_86C958C:: @ 86C958C + .incbin "sound/direct_sound_samples/86C958C.bin" + + .align 2 +DirectSoundWaveData_86CA520:: @ 86CA520 + .incbin "sound/direct_sound_samples/86CA520.bin" + + .align 2 +DirectSoundWaveData_86CADD4:: @ 86CADD4 + .incbin "sound/direct_sound_samples/86CADD4.bin" + + .align 2 +DirectSoundWaveData_86CB6B8:: @ 86CB6B8 + .incbin "sound/direct_sound_samples/86CB6B8.bin" + + .align 2 +DirectSoundWaveData_86CC5E4:: @ 86CC5E4 + .incbin "sound/direct_sound_samples/86CC5E4.bin" + + .align 2 +DirectSoundWaveData_86CCAFC:: @ 86CCAFC + .incbin "sound/direct_sound_samples/86CCAFC.bin" + + .align 2 +DirectSoundWaveData_86CD0C4:: @ 86CD0C4 + .incbin "sound/direct_sound_samples/86CD0C4.bin" + + .align 2 +DirectSoundWaveData_86CDFDC:: @ 86CDFDC + .incbin "sound/direct_sound_samples/86CDFDC.bin" + + .align 2 +DirectSoundWaveData_86CF950:: @ 86CF950 + .incbin "sound/direct_sound_samples/86CF950.bin" + + .align 2 +DirectSoundWaveData_86D1A2C:: @ 86D1A2C + .incbin "sound/direct_sound_samples/86D1A2C.bin" + + .align 2 +DirectSoundWaveData_86D925C:: @ 86D925C + .incbin "sound/direct_sound_samples/86D925C.bin" + + .align 2 +DirectSoundWaveData_86D9C14:: @ 86D9C14 + .incbin "sound/direct_sound_samples/86D9C14.bin" + + .align 2 +DirectSoundWaveData_86DAA94:: @ 86DAA94 + .incbin "sound/direct_sound_samples/86DAA94.bin" + + .align 2 +DirectSoundWaveData_86DB908:: @ 86DB908 + .incbin "sound/direct_sound_samples/86DB908.bin" + + .align 2 +DirectSoundWaveData_86DD11C:: @ 86DD11C + .incbin "sound/direct_sound_samples/86DD11C.bin" + + .align 2 +DirectSoundWaveData_86DE6C0:: @ 86DE6C0 + .incbin "sound/direct_sound_samples/86DE6C0.bin" + + .align 2 +DirectSoundWaveData_86DFCA4:: @ 86DFCA4 + .incbin "sound/direct_sound_samples/86DFCA4.bin" + + .align 2 +DirectSoundWaveData_86E0D98:: @ 86E0D98 + .incbin "sound/direct_sound_samples/86E0D98.bin" + + .align 2 +DirectSoundWaveData_86E1CF8:: @ 86E1CF8 + .incbin "sound/direct_sound_samples/86E1CF8.bin" + + .align 2 +DirectSoundWaveData_86E3358:: @ 86E3358 + .incbin "sound/direct_sound_samples/86E3358.bin" + + .align 2 +DirectSoundWaveData_86E48B4:: @ 86E48B4 + .incbin "sound/direct_sound_samples/86E48B4.bin" + + .align 2 +DirectSoundWaveData_86E5440:: @ 86E5440 + .incbin "sound/direct_sound_samples/86E5440.bin" + + .align 2 +DirectSoundWaveData_86E89E4:: @ 86E89E4 + .incbin "sound/direct_sound_samples/86E89E4.bin" + + .align 2 +DirectSoundWaveData_86EAD00:: @ 86EAD00 + .incbin "sound/direct_sound_samples/86EAD00.bin" + + .align 2 +DirectSoundWaveData_86EE3CC:: @ 86EE3CC + .incbin "sound/direct_sound_samples/86EE3CC.bin" + + .align 2 +DirectSoundWaveData_86EF71C:: @ 86EF71C + .incbin "sound/direct_sound_samples/86EF71C.bin" + + .align 2 +DirectSoundWaveData_86F0C2C:: @ 86F0C2C + .incbin "sound/direct_sound_samples/86F0C2C.bin" + + .align 2 +DirectSoundWaveData_86F204C:: @ 86F204C + .incbin "sound/direct_sound_samples/86F204C.bin" + + .align 2 +DirectSoundWaveData_86F30E8:: @ 86F30E8 + .incbin "sound/direct_sound_samples/86F30E8.bin" + + .align 2 +DirectSoundWaveData_86F4144:: @ 86F4144 + .incbin "sound/direct_sound_samples/86F4144.bin" + + .align 2 +DirectSoundWaveData_86FB0D8:: @ 86FB0D8 + .incbin "sound/direct_sound_samples/86FB0D8.bin" + + .align 2 +DirectSoundWaveData_86FF65C:: @ 86FF65C + .incbin "sound/direct_sound_samples/86FF65C.bin" + + .align 2 +DirectSoundWaveData_86FFDC0:: @ 86FFDC0 + .incbin "sound/direct_sound_samples/86FFDC0.bin" + + .align 2 +DirectSoundWaveData_8701A10:: @ 8701A10 + .incbin "sound/direct_sound_samples/8701A10.bin" + + .align 2 +DirectSoundWaveData_8703214:: @ 8703214 + .incbin "sound/direct_sound_samples/8703214.bin" + + .align 2 +DirectSoundWaveData_8706DCC:: @ 8706DCC + .incbin "sound/direct_sound_samples/8706DCC.bin" + + .align 2 +DirectSoundWaveData_8709004:: @ 8709004 + .incbin "sound/direct_sound_samples/8709004.bin" + + .align 2 +DirectSoundWaveData_870AE74:: @ 870AE74 + .incbin "sound/direct_sound_samples/870AE74.bin" + + .align 2 +DirectSoundWaveData_870DE64:: @ 870DE64 + .incbin "sound/direct_sound_samples/870DE64.bin" + + .align 2 +DirectSoundWaveData_8710AB8:: @ 8710AB8 + .incbin "sound/direct_sound_samples/8710AB8.bin" + + .align 2 +DirectSoundWaveData_8715038:: @ 8715038 + .incbin "sound/direct_sound_samples/8715038.bin" + + .align 2 +DirectSoundWaveData_8717980:: @ 8717980 + .incbin "sound/direct_sound_samples/8717980.bin" + + .align 2 +DirectSoundWaveData_87190E0:: @ 87190E0 + .incbin "sound/direct_sound_samples/87190E0.bin" + + .align 2 +DirectSoundWaveData_871A724:: @ 871A724 + .incbin "sound/direct_sound_samples/871A724.bin" + + .align 2 +DirectSoundWaveData_871CBCC:: @ 871CBCC + .incbin "sound/direct_sound_samples/871CBCC.bin" + + .align 2 +DirectSoundWaveData_871F234:: @ 871F234 + .incbin "sound/direct_sound_samples/871F234.bin" + + .align 2 +DirectSoundWaveData_87205DC:: @ 87205DC + .incbin "sound/direct_sound_samples/87205DC.bin" + + .align 2 +DirectSoundWaveData_8721AAC:: @ 8721AAC + .incbin "sound/direct_sound_samples/8721AAC.bin" + + .align 2 +DirectSoundWaveData_87224B8:: @ 87224B8 + .incbin "sound/direct_sound_samples/87224B8.bin" + + .align 2 +DirectSoundWaveData_87240CC:: @ 87240CC + .incbin "sound/direct_sound_samples/87240CC.bin" + + .align 2 +DirectSoundWaveData_8725A2C:: @ 8725A2C + .incbin "sound/direct_sound_samples/8725A2C.bin" + + .align 2 +DirectSoundWaveData_8726EF0:: @ 8726EF0 + .incbin "sound/direct_sound_samples/8726EF0.bin" + + .align 2 +DirectSoundWaveData_872762C:: @ 872762C + .incbin "sound/direct_sound_samples/872762C.bin" + + .align 2 +DirectSoundWaveData_872921C:: @ 872921C + .incbin "sound/direct_sound_samples/872921C.bin" + + .align 2 +DirectSoundWaveData_872A5D0:: @ 872A5D0 + .incbin "sound/direct_sound_samples/872A5D0.bin" + + .align 2 +DirectSoundWaveData_872CC54:: @ 872CC54 + .incbin "sound/direct_sound_samples/872CC54.bin" + + .align 2 +DirectSoundWaveData_872DE98:: @ 872DE98 + .incbin "sound/direct_sound_samples/872DE98.bin" + + .align 2 +DirectSoundWaveData_872EEA8:: @ 872EEA8 + .incbin "sound/direct_sound_samples/872EEA8.bin" + + .align 2 +DirectSoundWaveData_87301B0:: @ 87301B0 + .incbin "sound/direct_sound_samples/87301B0.bin" + + .align 2 +DirectSoundWaveData_87322BC:: @ 87322BC + .incbin "sound/direct_sound_samples/87322BC.bin" + + .align 2 +DirectSoundWaveData_8734298:: @ 8734298 + .incbin "sound/direct_sound_samples/8734298.bin" + + .align 2 +DirectSoundWaveData_87364A8:: @ 87364A8 + .incbin "sound/direct_sound_samples/87364A8.bin" + + .align 2 +DirectSoundWaveData_8736C74:: @ 8736C74 + .incbin "sound/direct_sound_samples/8736C74.bin" + + .align 2 +DirectSoundWaveData_87385E4:: @ 87385E4 + .incbin "sound/direct_sound_samples/87385E4.bin" + + .align 2 +DirectSoundWaveData_873A594:: @ 873A594 + .incbin "sound/direct_sound_samples/873A594.bin" + + .align 2 +DirectSoundWaveData_873D874:: @ 873D874 + .incbin "sound/direct_sound_samples/873D874.bin" + + .align 2 +DirectSoundWaveData_873E2A4:: @ 873E2A4 + .incbin "sound/direct_sound_samples/873E2A4.bin" + + .align 2 +DirectSoundWaveData_873ECD8:: @ 873ECD8 + .incbin "sound/direct_sound_samples/873ECD8.bin" + + .align 2 +DirectSoundWaveData_8740818:: @ 8740818 + .incbin "sound/direct_sound_samples/8740818.bin" + + .align 2 +DirectSoundWaveData_87410E0:: @ 87410E0 + .incbin "sound/direct_sound_samples/87410E0.bin" + + .align 2 +DirectSoundWaveData_87424B0:: @ 87424B0 + .incbin "sound/direct_sound_samples/87424B0.bin" + + .align 2 +DirectSoundWaveData_87430C0:: @ 87430C0 + .incbin "sound/direct_sound_samples/87430C0.bin" + + .align 2 +DirectSoundWaveData_8743C50:: @ 8743C50 + .incbin "sound/direct_sound_samples/8743C50.bin" + + .align 2 +DirectSoundWaveData_87446EC:: @ 87446EC + .incbin "sound/direct_sound_samples/87446EC.bin" + + .align 2 +DirectSoundWaveData_8745034:: @ 8745034 + .incbin "sound/direct_sound_samples/8745034.bin" + + .align 2 +DirectSoundWaveData_8745A7C:: @ 8745A7C + .incbin "sound/direct_sound_samples/8745A7C.bin" + + .align 2 +Cry_Bulbasaur:: @ 8746704 + .incbin "sound/direct_sound_samples/cry_bulbasaur.bin" + + .align 2 +Cry_Ivysaur:: @ 8747790 + .incbin "sound/direct_sound_samples/cry_ivysaur.bin" + + .align 2 +Cry_Venusaur:: @ 8748820 + .incbin "sound/direct_sound_samples/cry_venusaur.bin" + + .align 2 +Cry_Charmander:: @ 8749B78 + .incbin "sound/direct_sound_samples/cry_charmander.bin" + + .align 2 +Cry_Charmeleon:: @ 874A9E8 + .incbin "sound/direct_sound_samples/cry_charmeleon.bin" + + .align 2 +Cry_Charizard:: @ 874B868 + .incbin "sound/direct_sound_samples/cry_charizard.bin" + + .align 2 +Cry_Squirtle:: @ 874CBB0 + .incbin "sound/direct_sound_samples/cry_squirtle.bin" + + .align 2 +Cry_Wartortle:: @ 874DA24 + .incbin "sound/direct_sound_samples/cry_wartortle.bin" + + .align 2 +Cry_Blastoise:: @ 874EB64 + .incbin "sound/direct_sound_samples/cry_blastoise.bin" + + .align 2 +Cry_Caterpie:: @ 874FEAC + .incbin "sound/direct_sound_samples/cry_caterpie.bin" + + .align 2 +Cry_Metapod:: @ 8750704 + .incbin "sound/direct_sound_samples/cry_metapod.bin" + + .align 2 +Cry_Butterfree:: @ 8751E54 + .incbin "sound/direct_sound_samples/cry_butterfree.bin" + + .align 2 +Cry_Weedle:: @ 875285C + .incbin "sound/direct_sound_samples/cry_weedle.bin" + + .align 2 +Cry_Kakuna:: @ 87538A0 + .incbin "sound/direct_sound_samples/cry_kakuna.bin" + + .align 2 +Cry_Beedrill:: @ 8754ADC + .incbin "sound/direct_sound_samples/cry_beedrill.bin" + + .align 2 +Cry_Pidgey:: @ 8755E38 + .incbin "sound/direct_sound_samples/cry_pidgey.bin" + + .align 2 +Cry_Pidgeotto:: @ 8756220 + .incbin "sound/direct_sound_samples/cry_pidgeotto.bin" + + .align 2 +Cry_Pidgeot:: @ 8757128 + .incbin "sound/direct_sound_samples/cry_pidgeot.bin" + + .align 2 +Cry_Rattata:: @ 875825C + .incbin "sound/direct_sound_samples/cry_rattata.bin" + + .align 2 +Cry_Raticate:: @ 8758A3C + .incbin "sound/direct_sound_samples/cry_raticate.bin" + + .align 2 +Cry_Spearow:: @ 87593C0 + .incbin "sound/direct_sound_samples/cry_spearow.bin" + + .align 2 +Cry_Fearow:: @ 875A564 + .incbin "sound/direct_sound_samples/cry_fearow.bin" + + .align 2 +Cry_Ekans:: @ 875B6A0 + .incbin "sound/direct_sound_samples/cry_ekans.bin" + + .align 2 +Cry_Arbok:: @ 875C9EC + .incbin "sound/direct_sound_samples/cry_arbok.bin" + + .align 2 +Cry_Pikachu:: @ 875DD44 + .incbin "sound/direct_sound_samples/cry_pikachu.bin" + + .align 2 +Cry_Raichu:: @ 875EDEC + .incbin "sound/direct_sound_samples/cry_raichu.bin" + + .align 2 +Cry_Sandshrew:: @ 87605AC + .incbin "sound/direct_sound_samples/cry_sandshrew.bin" + + .align 2 +Cry_Sandslash:: @ 8760F00 + .incbin "sound/direct_sound_samples/cry_sandslash.bin" + + .align 2 +Cry_NidoranF:: @ 8761C90 + .incbin "sound/direct_sound_samples/cry_nidoran_f.bin" + + .align 2 +Cry_Nidorina:: @ 8762640 + .incbin "sound/direct_sound_samples/cry_nidorina.bin" + + .align 2 +Cry_Nidoqueen:: @ 8763308 + .incbin "sound/direct_sound_samples/cry_nidoqueen.bin" + + .align 2 +Cry_NidoranM:: @ 87643E8 + .incbin "sound/direct_sound_samples/cry_nidoran_m.bin" + + .align 2 +Cry_Nidorino:: @ 8764E50 + .incbin "sound/direct_sound_samples/cry_nidorino.bin" + + .align 2 +Cry_Nidoking:: @ 8765A64 + .incbin "sound/direct_sound_samples/cry_nidoking.bin" + + .align 2 +Cry_Clefairy:: @ 87672D0 + .incbin "sound/direct_sound_samples/cry_clefairy.bin" + + .align 2 +Cry_Clefable:: @ 8767B40 + .incbin "sound/direct_sound_samples/cry_clefable.bin" + + .align 2 +Cry_Vulpix:: @ 87685D0 + .incbin "sound/direct_sound_samples/cry_vulpix.bin" + + .align 2 +Cry_Ninetales:: @ 8769DA0 + .incbin "sound/direct_sound_samples/cry_ninetales.bin" + + .align 2 +Cry_Jigglypuff:: @ 876B60C + .incbin "sound/direct_sound_samples/cry_jigglypuff.bin" + + .align 2 +Cry_Wigglytuff:: @ 876BB70 + .incbin "sound/direct_sound_samples/cry_wigglytuff.bin" + + .align 2 +Cry_Zubat:: @ 876C238 + .incbin "sound/direct_sound_samples/cry_zubat.bin" + + .align 2 +Cry_Golbat:: @ 876D5A4 + .incbin "sound/direct_sound_samples/cry_golbat.bin" + + .align 2 +Cry_Oddish:: @ 876E908 + .incbin "sound/direct_sound_samples/cry_oddish.bin" + + .align 2 +Cry_Gloom:: @ 876F7A4 + .incbin "sound/direct_sound_samples/cry_gloom.bin" + + .align 2 +Cry_Vileplume:: @ 8770420 + .incbin "sound/direct_sound_samples/cry_vileplume.bin" + + .align 2 +Cry_Paras:: @ 8771DBC + .incbin "sound/direct_sound_samples/cry_paras.bin" + + .align 2 +Cry_Parasect:: @ 87739B0 + .incbin "sound/direct_sound_samples/cry_parasect.bin" + + .align 2 +Cry_Venonat:: @ 8775818 + .incbin "sound/direct_sound_samples/cry_venonat.bin" + + .align 2 +Cry_Venomoth:: @ 8776798 + .incbin "sound/direct_sound_samples/cry_venomoth.bin" + + .align 2 +Cry_Diglett:: @ 877779C + .incbin "sound/direct_sound_samples/cry_diglett.bin" + + .align 2 +Cry_Dugtrio:: @ 8778B0C + .incbin "sound/direct_sound_samples/cry_dugtrio.bin" + + .align 2 +Cry_Meowth:: @ 8779E78 + .incbin "sound/direct_sound_samples/cry_meowth.bin" + + .align 2 +Cry_Persian:: @ 877A808 + .incbin "sound/direct_sound_samples/cry_persian.bin" + + .align 2 +Cry_Psyduck:: @ 877BAE4 + .incbin "sound/direct_sound_samples/cry_psyduck.bin" + + .align 2 +Cry_Golduck:: @ 877C80C + .incbin "sound/direct_sound_samples/cry_golduck.bin" + + .align 2 +Cry_Mankey:: @ 877D354 + .incbin "sound/direct_sound_samples/cry_mankey.bin" + + .align 2 +Cry_Primeape:: @ 877E3B4 + .incbin "sound/direct_sound_samples/cry_primeape.bin" + + .align 2 +Cry_Growlithe:: @ 877F3E4 + .incbin "sound/direct_sound_samples/cry_growlithe.bin" + + .align 2 +Cry_Arcanine:: @ 8780148 + .incbin "sound/direct_sound_samples/cry_arcanine.bin" + + .align 2 +Cry_Poliwag:: @ 8781284 + .incbin "sound/direct_sound_samples/cry_poliwag.bin" + + .align 2 +Cry_Poliwhirl:: @ 8781DA0 + .incbin "sound/direct_sound_samples/cry_poliwhirl.bin" + + .align 2 +Cry_Poliwrath:: @ 8782448 + .incbin "sound/direct_sound_samples/cry_poliwrath.bin" + + .align 2 +Cry_Abra:: @ 8782F6C + .incbin "sound/direct_sound_samples/cry_abra.bin" + + .align 2 +Cry_Kadabra:: @ 87846D0 + .incbin "sound/direct_sound_samples/cry_kadabra.bin" + + .align 2 +Cry_Alakazam:: @ 87861B8 + .incbin "sound/direct_sound_samples/cry_alakazam.bin" + + .align 2 +Cry_Machop:: @ 8788154 + .incbin "sound/direct_sound_samples/cry_machop.bin" + + .align 2 +Cry_Machoke:: @ 8788EB8 + .incbin "sound/direct_sound_samples/cry_machoke.bin" + + .align 2 +Cry_Machamp:: @ 8789C48 + .incbin "sound/direct_sound_samples/cry_machamp.bin" + + .align 2 +Cry_Bellsprout:: @ 878ACD0 + .incbin "sound/direct_sound_samples/cry_bellsprout.bin" + + .align 2 +Cry_Weepinbell:: @ 878B45C + .incbin "sound/direct_sound_samples/cry_weepinbell.bin" + + .align 2 +Cry_Victreebel:: @ 878C2FC + .incbin "sound/direct_sound_samples/cry_victreebel.bin" + + .align 2 +Cry_Tentacool:: @ 878D648 + .incbin "sound/direct_sound_samples/cry_tentacool.bin" + + .align 2 +Cry_Tentacruel:: @ 878E638 + .incbin "sound/direct_sound_samples/cry_tentacruel.bin" + + .align 2 +Cry_Geodude:: @ 878FD34 + .incbin "sound/direct_sound_samples/cry_geodude.bin" + + .align 2 +Cry_Graveler:: @ 87914E8 + .incbin "sound/direct_sound_samples/cry_graveler.bin" + + .align 2 +Cry_Golem:: @ 87930D0 + .incbin "sound/direct_sound_samples/cry_golem.bin" + + .align 2 +Cry_Ponyta:: @ 8793EFC + .incbin "sound/direct_sound_samples/cry_ponyta.bin" + + .align 2 +Cry_Rapidash:: @ 8794E0C + .incbin "sound/direct_sound_samples/cry_rapidash.bin" + + .align 2 +Cry_Slowpoke:: @ 87960AC + .incbin "sound/direct_sound_samples/cry_slowpoke.bin" + + .align 2 +Cry_Slowbro:: @ 8796814 + .incbin "sound/direct_sound_samples/cry_slowbro.bin" + + .align 2 +Cry_Magnemite:: @ 8797584 + .incbin "sound/direct_sound_samples/cry_magnemite.bin" + + .align 2 +Cry_Magneton:: @ 87988C8 + .incbin "sound/direct_sound_samples/cry_magneton.bin" + + .align 2 +Cry_Farfetchd:: @ 879A0B0 + .incbin "sound/direct_sound_samples/cry_farfetchd.bin" + + .align 2 +Cry_Doduo:: @ 879A82C + .incbin "sound/direct_sound_samples/cry_doduo.bin" + + .align 2 +Cry_Dodrio:: @ 879BB70 + .incbin "sound/direct_sound_samples/cry_dodrio.bin" + + .align 2 +Cry_Seel:: @ 879CEE8 + .incbin "sound/direct_sound_samples/cry_seel.bin" + + .align 2 +Cry_Dewgong:: @ 879E0D8 + .incbin "sound/direct_sound_samples/cry_dewgong.bin" + + .align 2 +Cry_Grimer:: @ 879F5FC + .incbin "sound/direct_sound_samples/cry_grimer.bin" + + .align 2 +Cry_Muk:: @ 87A0084 + .incbin "sound/direct_sound_samples/cry_muk.bin" + + .align 2 +Cry_Shellder:: @ 87A0F44 + .incbin "sound/direct_sound_samples/cry_shellder.bin" + + .align 2 +Cry_Cloyster:: @ 87A1EB8 + .incbin "sound/direct_sound_samples/cry_cloyster.bin" + + .align 2 +Cry_Gastly:: @ 87A337C + .incbin "sound/direct_sound_samples/cry_gastly.bin" + + .align 2 +Cry_Haunter:: @ 87A4ACC + .incbin "sound/direct_sound_samples/cry_haunter.bin" + + .align 2 +Cry_Gengar:: @ 87A624C + .incbin "sound/direct_sound_samples/cry_gengar.bin" + + .align 2 +Cry_Onix:: @ 87A710C + .incbin "sound/direct_sound_samples/cry_onix.bin" + + .align 2 +Cry_Drowzee:: @ 87A89D0 + .incbin "sound/direct_sound_samples/cry_drowzee.bin" + + .align 2 +Cry_Hypno:: @ 87AA6E8 + .incbin "sound/direct_sound_samples/cry_hypno.bin" + + .align 2 +Cry_Krabby:: @ 87AC3EC + .incbin "sound/direct_sound_samples/cry_krabby.bin" + + .align 2 +Cry_Kingler:: @ 87ADC38 + .incbin "sound/direct_sound_samples/cry_kingler.bin" + + .align 2 +Cry_Voltorb:: @ 87AF490 + .incbin "sound/direct_sound_samples/cry_voltorb.bin" + + .align 2 +Cry_Electrode:: @ 87B0D54 + .incbin "sound/direct_sound_samples/cry_electrode.bin" + + .align 2 +Cry_Exeggcute:: @ 87B268C + .incbin "sound/direct_sound_samples/cry_exeggcute.bin" + + .align 2 +Cry_Exeggutor:: @ 87B396C + .incbin "sound/direct_sound_samples/cry_exeggutor.bin" + + .align 2 +Cry_Cubone:: @ 87B5950 + .incbin "sound/direct_sound_samples/cry_cubone.bin" + + .align 2 +Cry_Marowak:: @ 87B6870 + .incbin "sound/direct_sound_samples/cry_marowak.bin" + + .align 2 +Cry_Hitmonlee:: @ 87B76E0 + .incbin "sound/direct_sound_samples/cry_hitmonlee.bin" + + .align 2 +Cry_Hitmonchan:: @ 87B898C + .incbin "sound/direct_sound_samples/cry_hitmonchan.bin" + + .align 2 +Cry_Lickitung:: @ 87B9B64 + .incbin "sound/direct_sound_samples/cry_lickitung.bin" + + .align 2 +Cry_Koffing:: @ 87BAA8C + .incbin "sound/direct_sound_samples/cry_koffing.bin" + + .align 2 +Cry_Weezing:: @ 87BBEE8 + .incbin "sound/direct_sound_samples/cry_weezing.bin" + + .align 2 +Cry_Rhyhorn:: @ 87BD494 + .incbin "sound/direct_sound_samples/cry_rhyhorn.bin" + + .align 2 +Cry_Rhydon:: @ 87BE800 + .incbin "sound/direct_sound_samples/cry_rhydon.bin" + + .align 2 +Cry_Chansey:: @ 87BFC6C + .incbin "sound/direct_sound_samples/cry_chansey.bin" + + .align 2 +Cry_Tangela:: @ 87C0B38 + .incbin "sound/direct_sound_samples/cry_tangela.bin" + + .align 2 +Cry_Kangaskhan:: @ 87C1A54 + .incbin "sound/direct_sound_samples/cry_kangaskhan.bin" + + .align 2 +Cry_Horsea:: @ 87C2D08 + .incbin "sound/direct_sound_samples/cry_horsea.bin" + + .align 2 +Cry_Seadra:: @ 87C3684 + .incbin "sound/direct_sound_samples/cry_seadra.bin" + + .align 2 +Cry_Goldeen:: @ 87C3EF0 + .incbin "sound/direct_sound_samples/cry_goldeen.bin" + + .align 2 +Cry_Seaking:: @ 87C48C8 + .incbin "sound/direct_sound_samples/cry_seaking.bin" + + .align 2 +Cry_Staryu:: @ 87C5C20 + .incbin "sound/direct_sound_samples/cry_staryu.bin" + + .align 2 +Cry_Starmie:: @ 87C7008 + .incbin "sound/direct_sound_samples/cry_starmie.bin" + + .align 2 +Cry_MrMime:: @ 87C84E4 + .incbin "sound/direct_sound_samples/cry_mr_mime.bin" + + .align 2 +Cry_Scyther:: @ 87C97D4 + .incbin "sound/direct_sound_samples/cry_scyther.bin" + + .align 2 +Cry_Jynx:: @ 87CA530 + .incbin "sound/direct_sound_samples/cry_jynx.bin" + + .align 2 +Cry_Electabuzz:: @ 87CD4A4 + .incbin "sound/direct_sound_samples/cry_electabuzz.bin" + + .align 2 +Cry_Magmar:: @ 87CF388 + .incbin "sound/direct_sound_samples/cry_magmar.bin" + + .align 2 +Cry_Pinsir:: @ 87D0304 + .incbin "sound/direct_sound_samples/cry_pinsir.bin" + + .align 2 +Cry_Tauros:: @ 87D0F60 + .incbin "sound/direct_sound_samples/cry_tauros.bin" + + .align 2 +Cry_Magikarp:: @ 87D21B4 + .incbin "sound/direct_sound_samples/cry_magikarp.bin" + + .align 2 +Cry_Gyarados:: @ 87D34BC + .incbin "sound/direct_sound_samples/cry_gyarados.bin" + + .align 2 +Cry_Lapras:: @ 87D48F0 + .incbin "sound/direct_sound_samples/cry_lapras.bin" + + .align 2 +Cry_Ditto:: @ 87D57C4 + .incbin "sound/direct_sound_samples/cry_ditto.bin" + + .align 2 +Cry_Eevee:: @ 87D62E0 + .incbin "sound/direct_sound_samples/cry_eevee.bin" + + .align 2 +Cry_Vaporeon:: @ 87D7118 + .incbin "sound/direct_sound_samples/cry_vaporeon.bin" + + .align 2 +Cry_Jolteon:: @ 87D8730 + .incbin "sound/direct_sound_samples/cry_jolteon.bin" + + .align 2 +Cry_Flareon:: @ 87D9704 + .incbin "sound/direct_sound_samples/cry_flareon.bin" + + .align 2 +Cry_Porygon:: @ 87DA688 + .incbin "sound/direct_sound_samples/cry_porygon.bin" + + .align 2 +Cry_Omanyte:: @ 87DBA94 + .incbin "sound/direct_sound_samples/cry_omanyte.bin" + + .align 2 +Cry_Omastar:: @ 87DC7EC + .incbin "sound/direct_sound_samples/cry_omastar.bin" + + .align 2 +Cry_Kabuto:: @ 87DD540 + .incbin "sound/direct_sound_samples/cry_kabuto.bin" + + .align 2 +Cry_Kabutops:: @ 87DE194 + .incbin "sound/direct_sound_samples/cry_kabutops.bin" + + .align 2 +Cry_Aerodactyl:: @ 87DEF50 + .incbin "sound/direct_sound_samples/cry_aerodactyl.bin" + + .align 2 +Cry_Snorlax:: @ 87E07AC + .incbin "sound/direct_sound_samples/cry_snorlax.bin" + + .align 2 +Cry_Articuno:: @ 87E0CE8 + .incbin "sound/direct_sound_samples/cry_articuno.bin" + + .align 2 +Cry_Zapdos:: @ 87E2490 + .incbin "sound/direct_sound_samples/cry_zapdos.bin" + + .align 2 +Cry_Moltres:: @ 87E3408 + .incbin "sound/direct_sound_samples/cry_moltres.bin" + + .align 2 +Cry_Dratini:: @ 87E4BB4 + .incbin "sound/direct_sound_samples/cry_dratini.bin" + + .align 2 +Cry_Dragonair:: @ 87E5750 + .incbin "sound/direct_sound_samples/cry_dragonair.bin" + + .align 2 +Cry_Dragonite:: @ 87E67F8 + .incbin "sound/direct_sound_samples/cry_dragonite.bin" + + .align 2 +Cry_Mewtwo:: @ 87E7B04 + .incbin "sound/direct_sound_samples/cry_mewtwo.bin" + + .align 2 +Cry_Mew:: @ 87E996C + .incbin "sound/direct_sound_samples/cry_mew.bin" + + .align 2 +Cry_Chikorita:: @ 87EB7D4 + .incbin "sound/direct_sound_samples/cry_chikorita.bin" + + .align 2 +Cry_Bayleef:: @ 87EBD14 + .incbin "sound/direct_sound_samples/cry_bayleef.bin" + + .align 2 +Cry_Meganium:: @ 87EC5E0 + .incbin "sound/direct_sound_samples/cry_meganium.bin" + + .align 2 +Cry_Cyndaquil:: @ 87ED618 + .incbin "sound/direct_sound_samples/cry_cyndaquil.bin" + + .align 2 +Cry_Quilava:: @ 87EDD1C + .incbin "sound/direct_sound_samples/cry_quilava.bin" + + .align 2 +Cry_Typhlosion:: @ 87EE904 + .incbin "sound/direct_sound_samples/cry_typhlosion.bin" + + .align 2 +Cry_Totodile:: @ 87F0F14 + .incbin "sound/direct_sound_samples/cry_totodile.bin" + + .align 2 +Cry_Croconaw:: @ 87F216C + .incbin "sound/direct_sound_samples/cry_croconaw.bin" + + .align 2 +Cry_Feraligatr:: @ 87F35A8 + .incbin "sound/direct_sound_samples/cry_feraligatr.bin" + + .align 2 +Cry_Sentret:: @ 87F4F2C + .incbin "sound/direct_sound_samples/cry_sentret.bin" + + .align 2 +Cry_Furret:: @ 87F5354 + .incbin "sound/direct_sound_samples/cry_furret.bin" + + .align 2 +Cry_Hoothoot:: @ 87F599C + .incbin "sound/direct_sound_samples/cry_hoothoot.bin" + + .align 2 +Cry_Noctowl:: @ 87F6480 + .incbin "sound/direct_sound_samples/cry_noctowl.bin" + + .align 2 +Cry_Ledyba:: @ 87F79B0 + .incbin "sound/direct_sound_samples/cry_ledyba.bin" + + .align 2 +Cry_Ledian:: @ 87F80A8 + .incbin "sound/direct_sound_samples/cry_ledian.bin" + + .align 2 +Cry_Spinarak:: @ 87F890C + .incbin "sound/direct_sound_samples/cry_spinarak.bin" + + .align 2 +Cry_Ariados:: @ 87F9670 + .incbin "sound/direct_sound_samples/cry_ariados.bin" + + .align 2 +Cry_Crobat:: @ 87FA2C4 + .incbin "sound/direct_sound_samples/cry_crobat.bin" + + .align 2 +Cry_Chinchou:: @ 87FB9F4 + .incbin "sound/direct_sound_samples/cry_chinchou.bin" + + .align 2 +Cry_Lanturn:: @ 87FC6A4 + .incbin "sound/direct_sound_samples/cry_lanturn.bin" + + .align 2 +Cry_Pichu:: @ 87FD130 + .incbin "sound/direct_sound_samples/cry_pichu.bin" + + .align 2 +Cry_Cleffa:: @ 87FD884 + .incbin "sound/direct_sound_samples/cry_cleffa.bin" + + .align 2 +Cry_Igglybuff:: @ 87FDE74 + .incbin "sound/direct_sound_samples/cry_igglybuff.bin" + + .align 2 +Cry_Togepi:: @ 87FE570 + .incbin "sound/direct_sound_samples/cry_togepi.bin" + + .align 2 +Cry_Togetic:: @ 87FF058 + .incbin "sound/direct_sound_samples/cry_togetic.bin" + + .align 2 +Cry_Natu:: @ 87FF758 + .incbin "sound/direct_sound_samples/cry_natu.bin" + + .align 2 +Cry_Xatu:: @ 88001E8 + .incbin "sound/direct_sound_samples/cry_xatu.bin" + + .align 2 +Cry_Mareep:: @ 88010B4 + .incbin "sound/direct_sound_samples/cry_mareep.bin" + + .align 2 +Cry_Flaaffy:: @ 880180C + .incbin "sound/direct_sound_samples/cry_flaaffy.bin" + + .align 2 +Cry_Ampharos:: @ 88025C0 + .incbin "sound/direct_sound_samples/cry_ampharos.bin" + + .align 2 +Cry_Bellossom:: @ 8803640 + .incbin "sound/direct_sound_samples/cry_bellossom.bin" + + .align 2 +Cry_Marill:: @ 8804458 + .incbin "sound/direct_sound_samples/cry_marill.bin" + + .align 2 +Cry_Azumarill:: @ 880516C + .incbin "sound/direct_sound_samples/cry_azumarill.bin" + + .align 2 +Cry_Sudowoodo:: @ 8806258 + .incbin "sound/direct_sound_samples/cry_sudowoodo.bin" + + .align 2 +Cry_Politoed:: @ 8807288 + .incbin "sound/direct_sound_samples/cry_politoed.bin" + + .align 2 +Cry_Hoppip:: @ 88084CC + .incbin "sound/direct_sound_samples/cry_hoppip.bin" + + .align 2 +Cry_Skiploom:: @ 8808D38 + .incbin "sound/direct_sound_samples/cry_skiploom.bin" + + .align 2 +Cry_Jumpluff:: @ 8809A40 + .incbin "sound/direct_sound_samples/cry_jumpluff.bin" + + .align 2 +Cry_Aipom:: @ 880AA7C + .incbin "sound/direct_sound_samples/cry_aipom.bin" + + .align 2 +Cry_Sunkern:: @ 880B89C + .incbin "sound/direct_sound_samples/cry_sunkern.bin" + + .align 2 +Cry_Sunflora:: @ 880C0B0 + .incbin "sound/direct_sound_samples/cry_sunflora.bin" + + .align 2 +Cry_Yanma:: @ 880D090 + .incbin "sound/direct_sound_samples/cry_yanma.bin" + + .align 2 +Cry_Wooper:: @ 880E198 + .incbin "sound/direct_sound_samples/cry_wooper.bin" + + .align 2 +Cry_Quagsire:: @ 880E8F8 + .incbin "sound/direct_sound_samples/cry_quagsire.bin" + + .align 2 +Cry_Espeon:: @ 880F658 + .incbin "sound/direct_sound_samples/cry_espeon.bin" + + .align 2 +Cry_Umbreon:: @ 8810A0C + .incbin "sound/direct_sound_samples/cry_umbreon.bin" + + .align 2 +Cry_Murkrow:: @ 881198C + .incbin "sound/direct_sound_samples/cry_murkrow.bin" + + .align 2 +Cry_Slowking:: @ 8812A50 + .incbin "sound/direct_sound_samples/cry_slowking.bin" + + .align 2 +Cry_Misdreavus:: @ 8814234 + .incbin "sound/direct_sound_samples/cry_misdreavus.bin" + + .align 2 +Cry_Unown:: @ 8814DD4 + .incbin "sound/direct_sound_samples/cry_unown.bin" + + .align 2 +Cry_Wobbuffet:: @ 8815AFC + .incbin "sound/direct_sound_samples/cry_wobbuffet.bin" + + .align 2 +Cry_Girafarig:: @ 8816F98 + .incbin "sound/direct_sound_samples/cry_girafarig.bin" + + .align 2 +Cry_Pineco:: @ 8817E4C + .incbin "sound/direct_sound_samples/cry_pineco.bin" + + .align 2 +Cry_Forretress:: @ 8818BAC + .incbin "sound/direct_sound_samples/cry_forretress.bin" + + .align 2 +Cry_Dunsparce:: @ 8819FB4 + .incbin "sound/direct_sound_samples/cry_dunsparce.bin" + + .align 2 +Cry_Gligar:: @ 881AF94 + .incbin "sound/direct_sound_samples/cry_gligar.bin" + + .align 2 +Cry_Steelix:: @ 881BBB4 + .incbin "sound/direct_sound_samples/cry_steelix.bin" + + .align 2 +Cry_Snubbull:: @ 881E1DC + .incbin "sound/direct_sound_samples/cry_snubbull.bin" + + .align 2 +Cry_Granbull:: @ 881F050 + .incbin "sound/direct_sound_samples/cry_granbull.bin" + + .align 2 +Cry_Qwilfish:: @ 88207F4 + .incbin "sound/direct_sound_samples/cry_qwilfish.bin" + + .align 2 +Cry_Scizor:: @ 8821390 + .incbin "sound/direct_sound_samples/cry_scizor.bin" + + .align 2 +Cry_Shuckle:: @ 8822A8C + .incbin "sound/direct_sound_samples/cry_shuckle.bin" + + .align 2 +Cry_Heracross:: @ 88234C0 + .incbin "sound/direct_sound_samples/cry_heracross.bin" + + .align 2 +Cry_Sneasel:: @ 8824714 + .incbin "sound/direct_sound_samples/cry_sneasel.bin" + + .align 2 +Cry_Teddiursa:: @ 8825038 + .incbin "sound/direct_sound_samples/cry_teddiursa.bin" + + .align 2 +Cry_Ursaring:: @ 88260C4 + .incbin "sound/direct_sound_samples/cry_ursaring.bin" + + .align 2 +Cry_Slugma:: @ 8827E9C + .incbin "sound/direct_sound_samples/cry_slugma.bin" + + .align 2 +Cry_Magcargo:: @ 8828FB4 + .incbin "sound/direct_sound_samples/cry_magcargo.bin" + + .align 2 +Cry_Swinub:: @ 882A4BC + .incbin "sound/direct_sound_samples/cry_swinub.bin" + + .align 2 +Cry_Piloswine:: @ 882B164 + .incbin "sound/direct_sound_samples/cry_piloswine.bin" + + .align 2 +Cry_Corsola:: @ 882BE58 + .incbin "sound/direct_sound_samples/cry_corsola.bin" + + .align 2 +Cry_Remoraid:: @ 882CB38 + .incbin "sound/direct_sound_samples/cry_remoraid.bin" + + .align 2 +Cry_Octillery:: @ 882D5C8 + .incbin "sound/direct_sound_samples/cry_octillery.bin" + + .align 2 +Cry_Delibird:: @ 882F00C + .incbin "sound/direct_sound_samples/cry_delibird.bin" + + .align 2 +Cry_Mantine:: @ 8830040 + .incbin "sound/direct_sound_samples/cry_mantine.bin" + + .align 2 +Cry_Skarmory:: @ 8831008 + .incbin "sound/direct_sound_samples/cry_skarmory.bin" + + .align 2 +Cry_Houndour:: @ 8832810 + .incbin "sound/direct_sound_samples/cry_houndour.bin" + + .align 2 +Cry_Houndoom:: @ 88334B8 + .incbin "sound/direct_sound_samples/cry_houndoom.bin" + + .align 2 +Cry_Kingdra:: @ 8834868 + .incbin "sound/direct_sound_samples/cry_kingdra.bin" + + .align 2 +Cry_Phanpy:: @ 8835640 + .incbin "sound/direct_sound_samples/cry_phanpy.bin" + + .align 2 +Cry_Donphan:: @ 8836190 + .incbin "sound/direct_sound_samples/cry_donphan.bin" + + .align 2 +Cry_Porygon2:: @ 88372B4 + .incbin "sound/direct_sound_samples/cry_porygon2.bin" + + .align 2 +Cry_Stantler:: @ 883826C + .incbin "sound/direct_sound_samples/cry_stantler.bin" + + .align 2 +Cry_Smeargle:: @ 88398E8 + .incbin "sound/direct_sound_samples/cry_smeargle.bin" + + .align 2 +Cry_Tyrogue:: @ 883A31C + .incbin "sound/direct_sound_samples/cry_tyrogue.bin" + + .align 2 +Cry_Hitmontop:: @ 883B344 + .incbin "sound/direct_sound_samples/cry_hitmontop.bin" + + .align 2 +Cry_Smoochum:: @ 883C124 + .incbin "sound/direct_sound_samples/cry_smoochum.bin" + + .align 2 +Cry_Elekid:: @ 883CCD8 + .incbin "sound/direct_sound_samples/cry_elekid.bin" + + .align 2 +Cry_Magby:: @ 883D764 + .incbin "sound/direct_sound_samples/cry_magby.bin" + + .align 2 +Cry_Miltank:: @ 883E5D4 + .incbin "sound/direct_sound_samples/cry_miltank.bin" + + .align 2 +Cry_Blissey:: @ 883F4B0 + .incbin "sound/direct_sound_samples/cry_blissey.bin" + + .align 2 +Cry_Raikou:: @ 8840544 + .incbin "sound/direct_sound_samples/cry_raikou.bin" + + .align 2 +Cry_Entei:: @ 88416B4 + .incbin "sound/direct_sound_samples/cry_entei.bin" + + .align 2 +Cry_Suicune:: @ 8842B28 + .incbin "sound/direct_sound_samples/cry_suicune.bin" + + .align 2 +Cry_Larvitar:: @ 8843D70 + .incbin "sound/direct_sound_samples/cry_larvitar.bin" + + .align 2 +Cry_Pupitar:: @ 8844A20 + .incbin "sound/direct_sound_samples/cry_pupitar.bin" + + .align 2 +Cry_Tyranitar:: @ 8845290 + .incbin "sound/direct_sound_samples/cry_tyranitar.bin" + + .align 2 +Cry_Lugia:: @ 88469F0 + .incbin "sound/direct_sound_samples/cry_lugia.bin" + + .align 2 +Cry_HoOh:: @ 8848FE8 + .incbin "sound/direct_sound_samples/cry_ho_oh.bin" + + .align 2 +Cry_Celebi:: @ 884A67C + .incbin "sound/direct_sound_samples/cry_celebi.bin" + + .align 2 +Cry_Kecleon:: @ 884B4F4 + .incbin "sound/direct_sound_samples/cry_kecleon.bin" + + .align 2 +Cry_Roselia:: @ 884BD54 + .incbin "sound/direct_sound_samples/cry_roselia.bin" + + .align 2 +Cry_Torkoal:: @ 884C814 + .incbin "sound/direct_sound_samples/cry_torkoal.bin" + + .align 2 +Cry_Electrike:: @ 884D160 + .incbin "sound/direct_sound_samples/cry_electrike.bin" + + .align 2 +Cry_Manectric:: @ 884DDBC + .incbin "sound/direct_sound_samples/cry_manectric.bin" + + .align 2 +Cry_Duskull:: @ 884F2C4 + .incbin "sound/direct_sound_samples/cry_duskull.bin" + + .align 2 +Cry_Latias:: @ 884FD5C + .incbin "sound/direct_sound_samples/cry_latias.bin" + + .align 2 +Cry_Wynaut:: @ 885098C + .incbin "sound/direct_sound_samples/cry_wynaut.bin" + + .align 2 +Cry_Seviper:: @ 885176C + .incbin "sound/direct_sound_samples/cry_seviper.bin" + + .align 2 +Cry_Sharpedo:: @ 885230C + .incbin "sound/direct_sound_samples/cry_sharpedo.bin" + + .align 2 +Cry_Zangoose:: @ 8853A18 + .incbin "sound/direct_sound_samples/cry_zangoose.bin" + + .align 2 +Cry_Azurill:: @ 88543A0 + .incbin "sound/direct_sound_samples/cry_azurill.bin" + + .align 2 +Cry_Swablu:: @ 8854E08 + .incbin "sound/direct_sound_samples/cry_swablu.bin" + + .align 2 +Cry_Altaria:: @ 88553A0 + .incbin "sound/direct_sound_samples/cry_altaria.bin" + + .align 2 +Cry_Unused265:: @ 8855EBC + .incbin "sound/direct_sound_samples/cry_unused_265.bin" + + .align 2 +Cry_Taillow:: @ 8856810 + .incbin "sound/direct_sound_samples/cry_taillow.bin" + + .align 2 +Cry_Swellow:: @ 8856E10 + .incbin "sound/direct_sound_samples/cry_swellow.bin" + + .align 2 +Cry_Unused268:: @ 8857714 + .incbin "sound/direct_sound_samples/cry_unused_268.bin" + + .align 2 +Cry_Spinda:: @ 88588C4 + .incbin "sound/direct_sound_samples/cry_spinda.bin" + + .align 2 +Cry_Torchic:: @ 8859530 + .incbin "sound/direct_sound_samples/cry_torchic.bin" + + .align 2 +Cry_Combusken:: @ 8859ED8 + .incbin "sound/direct_sound_samples/cry_combusken.bin" + + .align 2 +Cry_Blaziken:: @ 885BBAC + .incbin "sound/direct_sound_samples/cry_blaziken.bin" + + .align 2 +Cry_Treecko:: @ 885DB2C + .incbin "sound/direct_sound_samples/cry_treecko.bin" + + .align 2 +Cry_Grovyle:: @ 885E6D4 + .incbin "sound/direct_sound_samples/cry_grovyle.bin" + + .align 2 +Cry_Sceptile:: @ 885FB48 + .incbin "sound/direct_sound_samples/cry_sceptile.bin" + + .align 2 +Cry_Mudkip:: @ 8861564 + .incbin "sound/direct_sound_samples/cry_mudkip.bin" + + .align 2 +Cry_Marshtomp:: @ 8861CE8 + .incbin "sound/direct_sound_samples/cry_marshtomp.bin" + + .align 2 +Cry_Swampert:: @ 8862DEC + .incbin "sound/direct_sound_samples/cry_swampert.bin" + + .align 2 +Cry_Pelipper:: @ 886446C + .incbin "sound/direct_sound_samples/cry_pelipper.bin" + + .align 2 +Cry_Wingull:: @ 8865034 + .incbin "sound/direct_sound_samples/cry_wingull.bin" + + .align 2 +Cry_Banette:: @ 8865C74 + .incbin "sound/direct_sound_samples/cry_banette.bin" + + .align 2 +Cry_Shuppet:: @ 886691C + .incbin "sound/direct_sound_samples/cry_shuppet.bin" + + .align 2 +Cry_Lotad:: @ 886715C + .incbin "sound/direct_sound_samples/cry_lotad.bin" + + .align 2 +Cry_Lombre:: @ 88675C4 + .incbin "sound/direct_sound_samples/cry_lombre.bin" + + .align 2 +Cry_Ludicolo:: @ 8868458 + .incbin "sound/direct_sound_samples/cry_ludicolo.bin" + + .align 2 +Cry_Seedot:: @ 8869528 + .incbin "sound/direct_sound_samples/cry_seedot.bin" + + .align 2 +Cry_Nuzleaf:: @ 8869D54 + .incbin "sound/direct_sound_samples/cry_nuzleaf.bin" + + .align 2 +Cry_Shiftry:: @ 886A8BC + .incbin "sound/direct_sound_samples/cry_shiftry.bin" + + .align 2 +Cry_Carvanha:: @ 886BC80 + .incbin "sound/direct_sound_samples/cry_carvanha.bin" + + .align 2 +Cry_Wurmple:: @ 886C694 + .incbin "sound/direct_sound_samples/cry_wurmple.bin" + + .align 2 +Cry_Silcoon:: @ 886CF60 + .incbin "sound/direct_sound_samples/cry_silcoon.bin" + + .align 2 +Cry_Beautifly:: @ 886DF8C + .incbin "sound/direct_sound_samples/cry_beautifly.bin" + + .align 2 +Cry_Cascoon:: @ 886E7C4 + .incbin "sound/direct_sound_samples/cry_cascoon.bin" + + .align 2 +Cry_Dustox:: @ 886F808 + .incbin "sound/direct_sound_samples/cry_dustox.bin" + + .align 2 +Cry_Ralts:: @ 88704B4 + .incbin "sound/direct_sound_samples/cry_ralts.bin" + + .align 2 +Cry_Kirlia:: @ 8870ED0 + .incbin "sound/direct_sound_samples/cry_kirlia.bin" + + .align 2 +Cry_Gardevoir:: @ 8871B00 + .incbin "sound/direct_sound_samples/cry_gardevoir.bin" + + .align 2 +Cry_Slakoth:: @ 8873364 + .incbin "sound/direct_sound_samples/cry_slakoth.bin" + + .align 2 +Cry_Vigoroth:: @ 8873BE8 + .incbin "sound/direct_sound_samples/cry_vigoroth.bin" + + .align 2 +Cry_Slaking:: @ 8874A40 + .incbin "sound/direct_sound_samples/cry_slaking.bin" + + .align 2 +Cry_Nincada:: @ 887542C + .incbin "sound/direct_sound_samples/cry_nincada.bin" + + .align 2 +Cry_Ninjask:: @ 8875A9C + .incbin "sound/direct_sound_samples/cry_ninjask.bin" + + .align 2 +Cry_Shedinja:: @ 88766C4 + .incbin "sound/direct_sound_samples/cry_shedinja.bin" + + .align 2 +Cry_Makuhita:: @ 8876E7C + .incbin "sound/direct_sound_samples/cry_makuhita.bin" + + .align 2 +Cry_Hariyama:: @ 88775D8 + .incbin "sound/direct_sound_samples/cry_hariyama.bin" + + .align 2 +Cry_Nosepass:: @ 8878690 + .incbin "sound/direct_sound_samples/cry_nosepass.bin" + + .align 2 +Cry_Glalie:: @ 88793F4 + .incbin "sound/direct_sound_samples/cry_glalie.bin" + + .align 2 +Cry_Plusle:: @ 887A8D8 + .incbin "sound/direct_sound_samples/cry_plusle.bin" + + .align 2 +Cry_Minun:: @ 887B1D4 + .incbin "sound/direct_sound_samples/cry_minun.bin" + + .align 2 +Cry_Surskit:: @ 887C1DC + .incbin "sound/direct_sound_samples/cry_surskit.bin" + + .align 2 +Cry_Masquerain:: @ 887CC5C + .incbin "sound/direct_sound_samples/cry_masquerain.bin" + + .align 2 +Cry_Skitty:: @ 887E010 + .incbin "sound/direct_sound_samples/cry_skitty.bin" + + .align 2 +Cry_Delcatty:: @ 887E724 + .incbin "sound/direct_sound_samples/cry_delcatty.bin" + + .align 2 +Cry_Gulpin:: @ 887FC3C + .incbin "sound/direct_sound_samples/cry_gulpin.bin" + + .align 2 +Cry_Swalot:: @ 8880440 + .incbin "sound/direct_sound_samples/cry_swalot.bin" + + .align 2 +Cry_Numel:: @ 88815A0 + .incbin "sound/direct_sound_samples/cry_numel.bin" + + .align 2 +Cry_Camerupt:: @ 8881EEC + .incbin "sound/direct_sound_samples/cry_camerupt.bin" + + .align 2 +Cry_Barboach:: @ 888360C + .incbin "sound/direct_sound_samples/cry_barboach.bin" + + .align 2 +Cry_Whiscash:: @ 8883F48 + .incbin "sound/direct_sound_samples/cry_whiscash.bin" + + .align 2 +Cry_Corphish:: @ 8885044 + .incbin "sound/direct_sound_samples/cry_corphish.bin" + + .align 2 +Cry_Crawdaunt:: @ 8885C48 + .incbin "sound/direct_sound_samples/cry_crawdaunt.bin" + + .align 2 +Cry_Spoink:: @ 8887500 + .incbin "sound/direct_sound_samples/cry_spoink.bin" + + .align 2 +Cry_Grumpig:: @ 8887C40 + .incbin "sound/direct_sound_samples/cry_grumpig.bin" + + .align 2 +Cry_Trapinch:: @ 88888E0 + .incbin "sound/direct_sound_samples/cry_trapinch.bin" + + .align 2 +Cry_Vibrava:: @ 8889304 + .incbin "sound/direct_sound_samples/cry_vibrava.bin" + + .align 2 +Cry_Flygon:: @ 888A108 + .incbin "sound/direct_sound_samples/cry_flygon.bin" + + .align 2 +Cry_Cacnea:: @ 888BB10 + .incbin "sound/direct_sound_samples/cry_cacnea.bin" + + .align 2 +Cry_Cacturne:: @ 888C400 + .incbin "sound/direct_sound_samples/cry_cacturne.bin" + + .align 2 +Cry_Baltoy:: @ 888DAB0 + .incbin "sound/direct_sound_samples/cry_baltoy.bin" + + .align 2 +Cry_Claydol:: @ 888E734 + .incbin "sound/direct_sound_samples/cry_claydol.bin" + + .align 2 +Cry_Lunatone:: @ 888FA94 + .incbin "sound/direct_sound_samples/cry_lunatone.bin" + + .align 2 +Cry_Solrock:: @ 8891290 + .incbin "sound/direct_sound_samples/cry_solrock.bin" + + .align 2 +Cry_Feebas:: @ 88922BC + .incbin "sound/direct_sound_samples/cry_feebas.bin" + + .align 2 +Cry_Milotic:: @ 8892A90 + .incbin "sound/direct_sound_samples/cry_milotic.bin" + + .align 2 +Cry_Absol:: @ 88951D4 + .incbin "sound/direct_sound_samples/cry_absol.bin" + + .align 2 +Cry_Meditite:: @ 8895C50 + .incbin "sound/direct_sound_samples/cry_meditite.bin" + + .align 2 +Cry_Medicham:: @ 8896470 + .incbin "sound/direct_sound_samples/cry_medicham.bin" + + .align 2 +Cry_Spheal:: @ 88974F4 + .incbin "sound/direct_sound_samples/cry_spheal.bin" + + .align 2 +Cry_Sealeo:: @ 8897AA8 + .incbin "sound/direct_sound_samples/cry_sealeo.bin" + + .align 2 +Cry_Walrein:: @ 8898680 + .incbin "sound/direct_sound_samples/cry_walrein.bin" + + .align 2 +Cry_Clamperl:: @ 889AACC + .incbin "sound/direct_sound_samples/cry_clamperl.bin" + + .align 2 +Cry_Huntail:: @ 889BD1C + .incbin "sound/direct_sound_samples/cry_huntail.bin" + + .align 2 +Cry_Gorebyss:: @ 889CD04 + .incbin "sound/direct_sound_samples/cry_gorebyss.bin" + + .align 2 +Cry_Lileep:: @ 889E370 + .incbin "sound/direct_sound_samples/cry_lileep.bin" + + .align 2 +Cry_Cradily:: @ 889ED18 + .incbin "sound/direct_sound_samples/cry_cradily.bin" + + .align 2 +Cry_Anorith:: @ 88A0A48 + .incbin "sound/direct_sound_samples/cry_anorith.bin" + + .align 2 +Cry_Armaldo:: @ 88A1600 + .incbin "sound/direct_sound_samples/cry_armaldo.bin" + + .align 2 +Cry_Beldum:: @ 88A2CD4 + .incbin "sound/direct_sound_samples/cry_beldum.bin" + + .align 2 +Cry_Metang:: @ 88A3674 + .incbin "sound/direct_sound_samples/cry_metang.bin" + + .align 2 +Cry_Metagross:: @ 88A4948 + .incbin "sound/direct_sound_samples/cry_metagross.bin" + + .align 2 +Cry_Bagon:: @ 88A70C0 + .incbin "sound/direct_sound_samples/cry_bagon.bin" + + .align 2 +Cry_Shelgon:: @ 88A7894 + .incbin "sound/direct_sound_samples/cry_shelgon.bin" + + .align 2 +Cry_Regirock:: @ 88A8C9C + .incbin "sound/direct_sound_samples/cry_regirock.bin" + + .align 2 +Cry_Regice:: @ 88AAC78 + .incbin "sound/direct_sound_samples/cry_regice.bin" + + .align 2 +Cry_Registeel:: @ 88ACC78 + .incbin "sound/direct_sound_samples/cry_registeel.bin" + + .align 2 +Cry_Castform:: @ 88AE37C + .incbin "sound/direct_sound_samples/cry_castform.bin" + + .align 2 +Cry_Volbeat:: @ 88AF014 + .incbin "sound/direct_sound_samples/cry_volbeat.bin" + + .align 2 +Cry_Illumise:: @ 88AFB9C + .incbin "sound/direct_sound_samples/cry_illumise.bin" + + .align 2 +Cry_Poochyena:: @ 88B0CB4 + .incbin "sound/direct_sound_samples/cry_poochyena.bin" + + .align 2 +Cry_Mightyena:: @ 88B15FC + .incbin "sound/direct_sound_samples/cry_mightyena.bin" + + .align 2 +Cry_Dusclops:: @ 88B2988 + .incbin "sound/direct_sound_samples/cry_dusclops.bin" + + .align 2 +Cry_Sableye:: @ 88B3740 + .incbin "sound/direct_sound_samples/cry_sableye.bin" + + .align 2 +Cry_Mawile:: @ 88B42E4 + .incbin "sound/direct_sound_samples/cry_mawile.bin" + + .align 2 +Cry_Aron:: @ 88B4E64 + .incbin "sound/direct_sound_samples/cry_aron.bin" + + .align 2 +Cry_Lairon:: @ 88B5790 + .incbin "sound/direct_sound_samples/cry_lairon.bin" + + .align 2 +Cry_Aggron:: @ 88B6C68 + .incbin "sound/direct_sound_samples/cry_aggron.bin" + + .align 2 +Cry_Relicanth:: @ 88B860C + .incbin "sound/direct_sound_samples/cry_relicanth.bin" + + .align 2 +Cry_Luvdisc:: @ 88B9A3C + .incbin "sound/direct_sound_samples/cry_luvdisc.bin" + + .align 2 +Cry_Groudon:: @ 88B9F18 + .incbin "sound/direct_sound_samples/cry_groudon.bin" + + .align 2 +Cry_Kyogre:: @ 88BC424 + .incbin "sound/direct_sound_samples/cry_kyogre.bin" + + .align 2 +Cry_Rayquaza:: @ 88BE7DC + .incbin "sound/direct_sound_samples/cry_rayquaza.bin" + + .align 2 +Cry_Salamence:: @ 88C0508 + .incbin "sound/direct_sound_samples/cry_salamence.bin" + + .align 2 +Cry_Breloom:: @ 88C1E24 + .incbin "sound/direct_sound_samples/cry_breloom.bin" + + .align 2 +Cry_Shroomish:: @ 88C2AE4 + .incbin "sound/direct_sound_samples/cry_shroomish.bin" + + .align 2 +Cry_Linoone:: @ 88C33BC + .incbin "sound/direct_sound_samples/cry_linoone.bin" + + .align 2 +Cry_Tropius:: @ 88C5258 + .incbin "sound/direct_sound_samples/cry_tropius.bin" + + .align 2 +Cry_Wailmer:: @ 88C731C + .incbin "sound/direct_sound_samples/cry_wailmer.bin" + + .align 2 +Cry_Zigzagoon:: @ 88C8F7C + .incbin "sound/direct_sound_samples/cry_zigzagoon.bin" + + .align 2 +Cry_Exploud:: @ 88C9B0C + .incbin "sound/direct_sound_samples/cry_exploud.bin" + + .align 2 +Cry_Loudred:: @ 88CB754 + .incbin "sound/direct_sound_samples/cry_loudred.bin" + + .align 2 +Cry_Wailord:: @ 88CC47C + .incbin "sound/direct_sound_samples/cry_wailord.bin" + + .align 2 +Cry_Whismur:: @ 88CEE8C + .incbin "sound/direct_sound_samples/cry_whismur.bin" + + .align 2 +Cry_Snorunt:: @ 88CF6B0 + .incbin "sound/direct_sound_samples/cry_snorunt.bin" + + .align 2 +Cry_Latios:: @ 88D07B8 + .incbin "sound/direct_sound_samples/cry_latios.bin" + + .align 2 +Cry_Jirachi:: @ 88D1DB0 + .incbin "sound/direct_sound_samples/cry_jirachi.bin" + + .align 2 +Cry_Deoxys:: @ 88D2B34 + .incbin "sound/direct_sound_samples/cry_deoxys.bin" + + .align 2 +Cry_Chimecho:: @ 88D4008 + .incbin "sound/direct_sound_samples/cry_chimecho.bin" + + .align 2 +DirectSoundWaveData_88D4A18:: @ 88D4A18 + .incbin "sound/direct_sound_samples/88D4A18.bin" + + .align 2 +DirectSoundWaveData_88D6978:: @ 88D6978 + .incbin "sound/direct_sound_samples/88D6978.bin" + + .align 2 +DirectSoundWaveData_88D8418:: @ 88D8418 + .incbin "sound/direct_sound_samples/88D8418.bin" + + .align 2 +DirectSoundWaveData_88DA388:: @ 88DA388 + .incbin "sound/direct_sound_samples/88DA388.bin" + + .align 2 +DirectSoundWaveData_88DBBC0:: @ 88DBBC0 + .incbin "sound/direct_sound_samples/88DBBC0.bin" + + .align 2 +DirectSoundWaveData_88DC220:: @ 88DC220 + .incbin "sound/direct_sound_samples/88DC220.bin" + + .align 2 +DirectSoundWaveData_88DC704:: @ 88DC704 + .incbin "sound/direct_sound_samples/88DC704.bin" + + .align 2 +DirectSoundWaveData_88DD054:: @ 88DD054 + .incbin "sound/direct_sound_samples/88DD054.bin" + + .align 2 +DirectSoundWaveData_88DDAC4:: @ 88DDAC4 + .incbin "sound/direct_sound_samples/88DDAC4.bin" + + .align 2 +DirectSoundWaveData_88DDDE4:: @ 88DDDE4 + .incbin "sound/direct_sound_samples/88DDDE4.bin" + + .align 2 +DirectSoundWaveData_88DEA6C:: @ 88DEA6C + .incbin "sound/direct_sound_samples/88DEA6C.bin" + + .align 2 +DirectSoundWaveData_88DF08C:: @ 88DF08C + .incbin "sound/direct_sound_samples/88DF08C.bin" + + .align 2 +DirectSoundWaveData_88DF414:: @ 88DF414 + .incbin "sound/direct_sound_samples/88DF414.bin" + + .align 2 +DirectSoundWaveData_88E01F8:: @ 88E01F8 + .incbin "sound/direct_sound_samples/88E01F8.bin" + + .align 2 +DirectSoundWaveData_88E0B68:: @ 88E0B68 + .incbin "sound/direct_sound_samples/88E0B68.bin" + + .align 2 +DirectSoundWaveData_88E0F04:: @ 88E0F04 + .incbin "sound/direct_sound_samples/88E0F04.bin" + + .align 2 +DirectSoundWaveData_88E16B8:: @ 88E16B8 + .incbin "sound/direct_sound_samples/88E16B8.bin" + + .align 2 +DirectSoundWaveData_88E2414:: @ 88E2414 + .incbin "sound/direct_sound_samples/88E2414.bin" + + .align 2 +DirectSoundWaveData_88E2658:: @ 88E2658 + .incbin "sound/direct_sound_samples/88E2658.bin" + + .align 2 +DirectSoundWaveData_88E3498:: @ 88E3498 + .incbin "sound/direct_sound_samples/88E3498.bin" + + .align 2 +DirectSoundWaveData_88E3DEC:: @ 88E3DEC + .incbin "sound/direct_sound_samples/88E3DEC.bin" + + .align 2 +DirectSoundWaveData_88E4140:: @ 88E4140 + .incbin "sound/direct_sound_samples/88E4140.bin" + + .align 2 +DirectSoundWaveData_88E4774:: @ 88E4774 + .incbin "sound/direct_sound_samples/88E4774.bin" + + .align 2 +DirectSoundWaveData_88E53E0:: @ 88E53E0 + .incbin "sound/direct_sound_samples/88E53E0.bin" + + .align 2 +DirectSoundWaveData_88E5978:: @ 88E5978 + .incbin "sound/direct_sound_samples/88E5978.bin" + + .align 2 +DirectSoundWaveData_88E647C:: @ 88E647C + .incbin "sound/direct_sound_samples/88E647C.bin" + + .align 2 +DirectSoundWaveData_88E6A80:: @ 88E6A80 + .incbin "sound/direct_sound_samples/88E6A80.bin" + + .align 2 +DirectSoundWaveData_88E6C78:: @ 88E6C78 + .incbin "sound/direct_sound_samples/88E6C78.bin" + + .align 2 +DirectSoundWaveData_88E75DC:: @ 88E75DC + .incbin "sound/direct_sound_samples/88E75DC.bin" + + .align 2 +DirectSoundWaveData_88E8568:: @ 88E8568 + .incbin "sound/direct_sound_samples/88E8568.bin" + + .align 2 +DirectSoundWaveData_88E8BA0:: @ 88E8BA0 + .incbin "sound/direct_sound_samples/88E8BA0.bin" + + .align 2 +DirectSoundWaveData_88E9674:: @ 88E9674 + .incbin "sound/direct_sound_samples/88E9674.bin" + + .align 2 +DirectSoundWaveData_88EA5B8:: @ 88EA5B8 + .incbin "sound/direct_sound_samples/88EA5B8.bin" + + .align 2 +DirectSoundWaveData_88EAB30:: @ 88EAB30 + .incbin "sound/direct_sound_samples/88EAB30.bin" + + .align 2 +DirectSoundWaveData_88EB97C:: @ 88EB97C + .incbin "sound/direct_sound_samples/88EB97C.bin" + + .align 2 +DirectSoundWaveData_88EC884:: @ 88EC884 + .incbin "sound/direct_sound_samples/88EC884.bin" + + .align 2 +DirectSoundWaveData_88ED358:: @ 88ED358 + .incbin "sound/direct_sound_samples/88ED358.bin" + + .align 2 +DirectSoundWaveData_88EDEEC:: @ 88EDEEC + .incbin "sound/direct_sound_samples/88EDEEC.bin" + + .align 2 +DirectSoundWaveData_88EE8C4:: @ 88EE8C4 + .incbin "sound/direct_sound_samples/88EE8C4.bin" + + .align 2 +DirectSoundWaveData_88EEF04:: @ 88EEF04 + .incbin "sound/direct_sound_samples/88EEF04.bin" + + .align 2 +DirectSoundWaveData_88EF9E4:: @ 88EF9E4 + .incbin "sound/direct_sound_samples/88EF9E4.bin" + + .align 2 +DirectSoundWaveData_88F0020:: @ 88F0020 + .incbin "sound/direct_sound_samples/88F0020.bin" + + .align 2 +DirectSoundWaveData_88F0738:: @ 88F0738 + .incbin "sound/direct_sound_samples/88F0738.bin" + + .align 2 +DirectSoundWaveData_88F1074:: @ 88F1074 + .incbin "sound/direct_sound_samples/88F1074.bin" + + .align 2 +DirectSoundWaveData_88F1830:: @ 88F1830 + .incbin "sound/direct_sound_samples/88F1830.bin" + + .align 2 +DirectSoundWaveData_88F1D94:: @ 88F1D94 + .incbin "sound/direct_sound_samples/88F1D94.bin" + + .align 2 +DirectSoundWaveData_88F2B08:: @ 88F2B08 + .incbin "sound/direct_sound_samples/88F2B08.bin" + + .align 2 +DirectSoundWaveData_88F2F84:: @ 88F2F84 + .incbin "sound/direct_sound_samples/88F2F84.bin" + + .align 2 +DirectSoundWaveData_88F3470:: @ 88F3470 + .incbin "sound/direct_sound_samples/88F3470.bin" + + .align 2 +DirectSoundWaveData_88F3C38:: @ 88F3C38 + .incbin "sound/direct_sound_samples/88F3C38.bin" + + .align 2 +DirectSoundWaveData_88F4834:: @ 88F4834 + .incbin "sound/direct_sound_samples/88F4834.bin" + + .align 2 +DirectSoundWaveData_88F4BAC:: @ 88F4BAC + .incbin "sound/direct_sound_samples/88F4BAC.bin" + + .align 2 +DirectSoundWaveData_88F5368:: @ 88F5368 + .incbin "sound/direct_sound_samples/88F5368.bin" + + .align 2 +DirectSoundWaveData_88F5FCC:: @ 88F5FCC + .incbin "sound/direct_sound_samples/88F5FCC.bin" + + .align 2 +DirectSoundWaveData_88F6498:: @ 88F6498 + .incbin "sound/direct_sound_samples/88F6498.bin" + + .align 2 +DirectSoundWaveData_88F6F48:: @ 88F6F48 + .incbin "sound/direct_sound_samples/88F6F48.bin" + + .align 2 +DirectSoundWaveData_88F8318:: @ 88F8318 + .incbin "sound/direct_sound_samples/88F8318.bin" + + .align 2 +DirectSoundWaveData_88F94DC:: @ 88F94DC + .incbin "sound/direct_sound_samples/88F94DC.bin" + + .align 2 +DirectSoundWaveData_88F9F3C:: @ 88F9F3C + .incbin "sound/direct_sound_samples/88F9F3C.bin" diff --git a/sound/direct_sound_samples/86B5D04.aif b/sound/direct_sound_samples/86B5D04.aif new file mode 100644 index 0000000000..199ead8112 Binary files /dev/null and b/sound/direct_sound_samples/86B5D04.aif differ diff --git a/sound/direct_sound_samples/86B63A8.aif b/sound/direct_sound_samples/86B63A8.aif new file mode 100644 index 0000000000..6372bbc324 Binary files /dev/null and b/sound/direct_sound_samples/86B63A8.aif differ diff --git a/sound/direct_sound_samples/86B6BA0.aif b/sound/direct_sound_samples/86B6BA0.aif new file mode 100644 index 0000000000..f3aa47d913 Binary files /dev/null and b/sound/direct_sound_samples/86B6BA0.aif differ diff --git a/sound/direct_sound_samples/86B776C.aif b/sound/direct_sound_samples/86B776C.aif new file mode 100644 index 0000000000..9175b63c5b Binary files /dev/null and b/sound/direct_sound_samples/86B776C.aif differ diff --git a/sound/direct_sound_samples/86B86A4.aif b/sound/direct_sound_samples/86B86A4.aif new file mode 100644 index 0000000000..f39931a7e4 Binary files /dev/null and b/sound/direct_sound_samples/86B86A4.aif differ diff --git a/sound/direct_sound_samples/86B9318.aif b/sound/direct_sound_samples/86B9318.aif new file mode 100644 index 0000000000..dfdfd702e0 Binary files /dev/null and b/sound/direct_sound_samples/86B9318.aif differ diff --git a/sound/direct_sound_samples/86BA7E8.aif b/sound/direct_sound_samples/86BA7E8.aif new file mode 100644 index 0000000000..e8784682e4 Binary files /dev/null and b/sound/direct_sound_samples/86BA7E8.aif differ diff --git a/sound/direct_sound_samples/86BBE98.aif b/sound/direct_sound_samples/86BBE98.aif new file mode 100644 index 0000000000..41b6fec12f Binary files /dev/null and b/sound/direct_sound_samples/86BBE98.aif differ diff --git a/sound/direct_sound_samples/86BD1DC.aif b/sound/direct_sound_samples/86BD1DC.aif new file mode 100644 index 0000000000..2a0ea2a266 Binary files /dev/null and b/sound/direct_sound_samples/86BD1DC.aif differ diff --git a/sound/direct_sound_samples/86BDC80.aif b/sound/direct_sound_samples/86BDC80.aif new file mode 100644 index 0000000000..7647a74a70 Binary files /dev/null and b/sound/direct_sound_samples/86BDC80.aif differ diff --git a/sound/direct_sound_samples/86BEF94.aif b/sound/direct_sound_samples/86BEF94.aif new file mode 100644 index 0000000000..46d6e7d131 Binary files /dev/null and b/sound/direct_sound_samples/86BEF94.aif differ diff --git a/sound/direct_sound_samples/86C2590.aif b/sound/direct_sound_samples/86C2590.aif new file mode 100644 index 0000000000..e7184ec6f6 Binary files /dev/null and b/sound/direct_sound_samples/86C2590.aif differ diff --git a/sound/direct_sound_samples/86C2A68.aif b/sound/direct_sound_samples/86C2A68.aif new file mode 100644 index 0000000000..69267ca1c6 Binary files /dev/null and b/sound/direct_sound_samples/86C2A68.aif differ diff --git a/sound/direct_sound_samples/86C4344.aif b/sound/direct_sound_samples/86C4344.aif new file mode 100644 index 0000000000..5219bdf5d5 Binary files /dev/null and b/sound/direct_sound_samples/86C4344.aif differ diff --git a/sound/direct_sound_samples/86C566C.aif b/sound/direct_sound_samples/86C566C.aif new file mode 100644 index 0000000000..9c504e3d05 Binary files /dev/null and b/sound/direct_sound_samples/86C566C.aif differ diff --git a/sound/direct_sound_samples/86C5B0C.aif b/sound/direct_sound_samples/86C5B0C.aif new file mode 100644 index 0000000000..544b187d5e Binary files /dev/null and b/sound/direct_sound_samples/86C5B0C.aif differ diff --git a/sound/direct_sound_samples/86C6200.aif b/sound/direct_sound_samples/86C6200.aif new file mode 100644 index 0000000000..b11787ffc8 Binary files /dev/null and b/sound/direct_sound_samples/86C6200.aif differ diff --git a/sound/direct_sound_samples/86C6A90.aif b/sound/direct_sound_samples/86C6A90.aif new file mode 100644 index 0000000000..36b6407588 Binary files /dev/null and b/sound/direct_sound_samples/86C6A90.aif differ diff --git a/sound/direct_sound_samples/86C7308.aif b/sound/direct_sound_samples/86C7308.aif new file mode 100644 index 0000000000..04f990b13c Binary files /dev/null and b/sound/direct_sound_samples/86C7308.aif differ diff --git a/sound/direct_sound_samples/86C8348.aif b/sound/direct_sound_samples/86C8348.aif new file mode 100644 index 0000000000..8747aef28d Binary files /dev/null and b/sound/direct_sound_samples/86C8348.aif differ diff --git a/sound/direct_sound_samples/86C875C.aif b/sound/direct_sound_samples/86C875C.aif new file mode 100644 index 0000000000..5ad9410d00 Binary files /dev/null and b/sound/direct_sound_samples/86C875C.aif differ diff --git a/sound/direct_sound_samples/86C958C.aif b/sound/direct_sound_samples/86C958C.aif new file mode 100644 index 0000000000..7de79e7478 Binary files /dev/null and b/sound/direct_sound_samples/86C958C.aif differ diff --git a/sound/direct_sound_samples/86CA520.aif b/sound/direct_sound_samples/86CA520.aif new file mode 100644 index 0000000000..39ec57d29b Binary files /dev/null and b/sound/direct_sound_samples/86CA520.aif differ diff --git a/sound/direct_sound_samples/86CADD4.aif b/sound/direct_sound_samples/86CADD4.aif new file mode 100644 index 0000000000..4aec6882ff Binary files /dev/null and b/sound/direct_sound_samples/86CADD4.aif differ diff --git a/sound/direct_sound_samples/86CB6B8.aif b/sound/direct_sound_samples/86CB6B8.aif new file mode 100644 index 0000000000..576e3e19e1 Binary files /dev/null and b/sound/direct_sound_samples/86CB6B8.aif differ diff --git a/sound/direct_sound_samples/86CC5E4.aif b/sound/direct_sound_samples/86CC5E4.aif new file mode 100644 index 0000000000..2e1bf9c641 Binary files /dev/null and b/sound/direct_sound_samples/86CC5E4.aif differ diff --git a/sound/direct_sound_samples/86CCAFC.aif b/sound/direct_sound_samples/86CCAFC.aif new file mode 100644 index 0000000000..8e1cb620a6 Binary files /dev/null and b/sound/direct_sound_samples/86CCAFC.aif differ diff --git a/sound/direct_sound_samples/86CD0C4.aif b/sound/direct_sound_samples/86CD0C4.aif new file mode 100644 index 0000000000..628421990e Binary files /dev/null and b/sound/direct_sound_samples/86CD0C4.aif differ diff --git a/sound/direct_sound_samples/86CDFDC.aif b/sound/direct_sound_samples/86CDFDC.aif new file mode 100644 index 0000000000..93b6793584 Binary files /dev/null and b/sound/direct_sound_samples/86CDFDC.aif differ diff --git a/sound/direct_sound_samples/86CF950.aif b/sound/direct_sound_samples/86CF950.aif new file mode 100644 index 0000000000..08f1acf388 Binary files /dev/null and b/sound/direct_sound_samples/86CF950.aif differ diff --git a/sound/direct_sound_samples/86D1A2C.aif b/sound/direct_sound_samples/86D1A2C.aif new file mode 100644 index 0000000000..db36a54bd0 Binary files /dev/null and b/sound/direct_sound_samples/86D1A2C.aif differ diff --git a/sound/direct_sound_samples/86D925C.aif b/sound/direct_sound_samples/86D925C.aif new file mode 100644 index 0000000000..43515f5427 Binary files /dev/null and b/sound/direct_sound_samples/86D925C.aif differ diff --git a/sound/direct_sound_samples/86D9C14.aif b/sound/direct_sound_samples/86D9C14.aif new file mode 100644 index 0000000000..2e67f1d737 Binary files /dev/null and b/sound/direct_sound_samples/86D9C14.aif differ diff --git a/sound/direct_sound_samples/86DAA94.aif b/sound/direct_sound_samples/86DAA94.aif new file mode 100644 index 0000000000..0d0b3e3ca2 Binary files /dev/null and b/sound/direct_sound_samples/86DAA94.aif differ diff --git a/sound/direct_sound_samples/86DB908.aif b/sound/direct_sound_samples/86DB908.aif new file mode 100644 index 0000000000..0eaf313093 Binary files /dev/null and b/sound/direct_sound_samples/86DB908.aif differ diff --git a/sound/direct_sound_samples/86DD11C.aif b/sound/direct_sound_samples/86DD11C.aif new file mode 100644 index 0000000000..4a4268210e Binary files /dev/null and b/sound/direct_sound_samples/86DD11C.aif differ diff --git a/sound/direct_sound_samples/86DE6C0.aif b/sound/direct_sound_samples/86DE6C0.aif new file mode 100644 index 0000000000..a8046cee8c Binary files /dev/null and b/sound/direct_sound_samples/86DE6C0.aif differ diff --git a/sound/direct_sound_samples/86DFCA4.aif b/sound/direct_sound_samples/86DFCA4.aif new file mode 100644 index 0000000000..1696bd02e0 Binary files /dev/null and b/sound/direct_sound_samples/86DFCA4.aif differ diff --git a/sound/direct_sound_samples/86E0D98.aif b/sound/direct_sound_samples/86E0D98.aif new file mode 100644 index 0000000000..c2b3757b09 Binary files /dev/null and b/sound/direct_sound_samples/86E0D98.aif differ diff --git a/sound/direct_sound_samples/86E1CF8.aif b/sound/direct_sound_samples/86E1CF8.aif new file mode 100644 index 0000000000..7de586c9bd Binary files /dev/null and b/sound/direct_sound_samples/86E1CF8.aif differ diff --git a/sound/direct_sound_samples/86E3358.aif b/sound/direct_sound_samples/86E3358.aif new file mode 100644 index 0000000000..5236141ba6 Binary files /dev/null and b/sound/direct_sound_samples/86E3358.aif differ diff --git a/sound/direct_sound_samples/86E48B4.aif b/sound/direct_sound_samples/86E48B4.aif new file mode 100644 index 0000000000..a7c4e94f8f Binary files /dev/null and b/sound/direct_sound_samples/86E48B4.aif differ diff --git a/sound/direct_sound_samples/86E5440.aif b/sound/direct_sound_samples/86E5440.aif new file mode 100644 index 0000000000..bfaa5c196c Binary files /dev/null and b/sound/direct_sound_samples/86E5440.aif differ diff --git a/sound/direct_sound_samples/86E89E4.aif b/sound/direct_sound_samples/86E89E4.aif new file mode 100644 index 0000000000..3e76cacddc Binary files /dev/null and b/sound/direct_sound_samples/86E89E4.aif differ diff --git a/sound/direct_sound_samples/86EAD00.aif b/sound/direct_sound_samples/86EAD00.aif new file mode 100644 index 0000000000..2647c78ecb Binary files /dev/null and b/sound/direct_sound_samples/86EAD00.aif differ diff --git a/sound/direct_sound_samples/86EE3CC.aif b/sound/direct_sound_samples/86EE3CC.aif new file mode 100644 index 0000000000..e56df7f605 Binary files /dev/null and b/sound/direct_sound_samples/86EE3CC.aif differ diff --git a/sound/direct_sound_samples/86EF71C.aif b/sound/direct_sound_samples/86EF71C.aif new file mode 100644 index 0000000000..8c68a83b31 Binary files /dev/null and b/sound/direct_sound_samples/86EF71C.aif differ diff --git a/sound/direct_sound_samples/86F0C2C.aif b/sound/direct_sound_samples/86F0C2C.aif new file mode 100644 index 0000000000..a03bafc974 Binary files /dev/null and b/sound/direct_sound_samples/86F0C2C.aif differ diff --git a/sound/direct_sound_samples/86F204C.aif b/sound/direct_sound_samples/86F204C.aif new file mode 100644 index 0000000000..d4077b4816 Binary files /dev/null and b/sound/direct_sound_samples/86F204C.aif differ diff --git a/sound/direct_sound_samples/86F30E8.aif b/sound/direct_sound_samples/86F30E8.aif new file mode 100644 index 0000000000..2ad86876be Binary files /dev/null and b/sound/direct_sound_samples/86F30E8.aif differ diff --git a/sound/direct_sound_samples/86F4144.aif b/sound/direct_sound_samples/86F4144.aif new file mode 100644 index 0000000000..742c4385e9 Binary files /dev/null and b/sound/direct_sound_samples/86F4144.aif differ diff --git a/sound/direct_sound_samples/86FB0D8.aif b/sound/direct_sound_samples/86FB0D8.aif new file mode 100644 index 0000000000..004fda6a18 Binary files /dev/null and b/sound/direct_sound_samples/86FB0D8.aif differ diff --git a/sound/direct_sound_samples/86FF65C.aif b/sound/direct_sound_samples/86FF65C.aif new file mode 100644 index 0000000000..703f3adbd0 Binary files /dev/null and b/sound/direct_sound_samples/86FF65C.aif differ diff --git a/sound/direct_sound_samples/86FFDC0.aif b/sound/direct_sound_samples/86FFDC0.aif new file mode 100644 index 0000000000..f244a9982d Binary files /dev/null and b/sound/direct_sound_samples/86FFDC0.aif differ diff --git a/sound/direct_sound_samples/8701A10.aif b/sound/direct_sound_samples/8701A10.aif new file mode 100644 index 0000000000..9c531de113 Binary files /dev/null and b/sound/direct_sound_samples/8701A10.aif differ diff --git a/sound/direct_sound_samples/8703214.aif b/sound/direct_sound_samples/8703214.aif new file mode 100644 index 0000000000..e04a34f642 Binary files /dev/null and b/sound/direct_sound_samples/8703214.aif differ diff --git a/sound/direct_sound_samples/8706DCC.aif b/sound/direct_sound_samples/8706DCC.aif new file mode 100644 index 0000000000..67c40f1966 Binary files /dev/null and b/sound/direct_sound_samples/8706DCC.aif differ diff --git a/sound/direct_sound_samples/8709004.aif b/sound/direct_sound_samples/8709004.aif new file mode 100644 index 0000000000..d37c79c056 Binary files /dev/null and b/sound/direct_sound_samples/8709004.aif differ diff --git a/sound/direct_sound_samples/870AE74.aif b/sound/direct_sound_samples/870AE74.aif new file mode 100644 index 0000000000..b0f0e82a1a Binary files /dev/null and b/sound/direct_sound_samples/870AE74.aif differ diff --git a/sound/direct_sound_samples/870DE64.aif b/sound/direct_sound_samples/870DE64.aif new file mode 100644 index 0000000000..c4f7082ed7 Binary files /dev/null and b/sound/direct_sound_samples/870DE64.aif differ diff --git a/sound/direct_sound_samples/8710AB8.aif b/sound/direct_sound_samples/8710AB8.aif new file mode 100644 index 0000000000..adaf6a0c53 Binary files /dev/null and b/sound/direct_sound_samples/8710AB8.aif differ diff --git a/sound/direct_sound_samples/8715038.aif b/sound/direct_sound_samples/8715038.aif new file mode 100644 index 0000000000..a2618653f6 Binary files /dev/null and b/sound/direct_sound_samples/8715038.aif differ diff --git a/sound/direct_sound_samples/8717980.aif b/sound/direct_sound_samples/8717980.aif new file mode 100644 index 0000000000..8663a62614 Binary files /dev/null and b/sound/direct_sound_samples/8717980.aif differ diff --git a/sound/direct_sound_samples/87190E0.aif b/sound/direct_sound_samples/87190E0.aif new file mode 100644 index 0000000000..b310823a79 Binary files /dev/null and b/sound/direct_sound_samples/87190E0.aif differ diff --git a/sound/direct_sound_samples/871A724.aif b/sound/direct_sound_samples/871A724.aif new file mode 100644 index 0000000000..a2382d700f Binary files /dev/null and b/sound/direct_sound_samples/871A724.aif differ diff --git a/sound/direct_sound_samples/871CBCC.aif b/sound/direct_sound_samples/871CBCC.aif new file mode 100644 index 0000000000..fced037122 Binary files /dev/null and b/sound/direct_sound_samples/871CBCC.aif differ diff --git a/sound/direct_sound_samples/871F234.aif b/sound/direct_sound_samples/871F234.aif new file mode 100644 index 0000000000..86ea0fa760 Binary files /dev/null and b/sound/direct_sound_samples/871F234.aif differ diff --git a/sound/direct_sound_samples/87205DC.aif b/sound/direct_sound_samples/87205DC.aif new file mode 100644 index 0000000000..7270872d64 Binary files /dev/null and b/sound/direct_sound_samples/87205DC.aif differ diff --git a/sound/direct_sound_samples/8721AAC.aif b/sound/direct_sound_samples/8721AAC.aif new file mode 100644 index 0000000000..b3122457de Binary files /dev/null and b/sound/direct_sound_samples/8721AAC.aif differ diff --git a/sound/direct_sound_samples/87224B8.aif b/sound/direct_sound_samples/87224B8.aif new file mode 100644 index 0000000000..09e17f0ca7 Binary files /dev/null and b/sound/direct_sound_samples/87224B8.aif differ diff --git a/sound/direct_sound_samples/87240CC.aif b/sound/direct_sound_samples/87240CC.aif new file mode 100644 index 0000000000..578a81c2f1 Binary files /dev/null and b/sound/direct_sound_samples/87240CC.aif differ diff --git a/sound/direct_sound_samples/8725A2C.aif b/sound/direct_sound_samples/8725A2C.aif new file mode 100644 index 0000000000..ee6ff45b7f Binary files /dev/null and b/sound/direct_sound_samples/8725A2C.aif differ diff --git a/sound/direct_sound_samples/8726EF0.aif b/sound/direct_sound_samples/8726EF0.aif new file mode 100644 index 0000000000..1c0a027f7a Binary files /dev/null and b/sound/direct_sound_samples/8726EF0.aif differ diff --git a/sound/direct_sound_samples/872762C.aif b/sound/direct_sound_samples/872762C.aif new file mode 100644 index 0000000000..2e09d08223 Binary files /dev/null and b/sound/direct_sound_samples/872762C.aif differ diff --git a/sound/direct_sound_samples/872921C.aif b/sound/direct_sound_samples/872921C.aif new file mode 100644 index 0000000000..49f24936fa Binary files /dev/null and b/sound/direct_sound_samples/872921C.aif differ diff --git a/sound/direct_sound_samples/872A5D0.aif b/sound/direct_sound_samples/872A5D0.aif new file mode 100644 index 0000000000..5c55d91ed8 Binary files /dev/null and b/sound/direct_sound_samples/872A5D0.aif differ diff --git a/sound/direct_sound_samples/872CC54.aif b/sound/direct_sound_samples/872CC54.aif new file mode 100644 index 0000000000..ece919ea51 Binary files /dev/null and b/sound/direct_sound_samples/872CC54.aif differ diff --git a/sound/direct_sound_samples/872DE98.aif b/sound/direct_sound_samples/872DE98.aif new file mode 100644 index 0000000000..89872bf558 Binary files /dev/null and b/sound/direct_sound_samples/872DE98.aif differ diff --git a/sound/direct_sound_samples/872EEA8.aif b/sound/direct_sound_samples/872EEA8.aif new file mode 100644 index 0000000000..515818a4da Binary files /dev/null and b/sound/direct_sound_samples/872EEA8.aif differ diff --git a/sound/direct_sound_samples/87301B0.aif b/sound/direct_sound_samples/87301B0.aif new file mode 100644 index 0000000000..102830efa5 Binary files /dev/null and b/sound/direct_sound_samples/87301B0.aif differ diff --git a/sound/direct_sound_samples/87322BC.aif b/sound/direct_sound_samples/87322BC.aif new file mode 100644 index 0000000000..09fe6f12ea Binary files /dev/null and b/sound/direct_sound_samples/87322BC.aif differ diff --git a/sound/direct_sound_samples/8734298.aif b/sound/direct_sound_samples/8734298.aif new file mode 100644 index 0000000000..556be02382 Binary files /dev/null and b/sound/direct_sound_samples/8734298.aif differ diff --git a/sound/direct_sound_samples/87364A8.aif b/sound/direct_sound_samples/87364A8.aif new file mode 100644 index 0000000000..dd80b1185a Binary files /dev/null and b/sound/direct_sound_samples/87364A8.aif differ diff --git a/sound/direct_sound_samples/8736C74.aif b/sound/direct_sound_samples/8736C74.aif new file mode 100644 index 0000000000..9d00ecae6b Binary files /dev/null and b/sound/direct_sound_samples/8736C74.aif differ diff --git a/sound/direct_sound_samples/87385E4.aif b/sound/direct_sound_samples/87385E4.aif new file mode 100644 index 0000000000..ebd46eeaa2 Binary files /dev/null and b/sound/direct_sound_samples/87385E4.aif differ diff --git a/sound/direct_sound_samples/873A594.aif b/sound/direct_sound_samples/873A594.aif new file mode 100644 index 0000000000..455ced13e9 Binary files /dev/null and b/sound/direct_sound_samples/873A594.aif differ diff --git a/sound/direct_sound_samples/873D874.aif b/sound/direct_sound_samples/873D874.aif new file mode 100644 index 0000000000..083c45e3da Binary files /dev/null and b/sound/direct_sound_samples/873D874.aif differ diff --git a/sound/direct_sound_samples/873E2A4.aif b/sound/direct_sound_samples/873E2A4.aif new file mode 100644 index 0000000000..1bd43ca92e Binary files /dev/null and b/sound/direct_sound_samples/873E2A4.aif differ diff --git a/sound/direct_sound_samples/873ECD8.aif b/sound/direct_sound_samples/873ECD8.aif new file mode 100644 index 0000000000..6a11945c55 Binary files /dev/null and b/sound/direct_sound_samples/873ECD8.aif differ diff --git a/sound/direct_sound_samples/8740818.aif b/sound/direct_sound_samples/8740818.aif new file mode 100644 index 0000000000..a0fb49f89b Binary files /dev/null and b/sound/direct_sound_samples/8740818.aif differ diff --git a/sound/direct_sound_samples/87410E0.aif b/sound/direct_sound_samples/87410E0.aif new file mode 100644 index 0000000000..6d6c2e998b Binary files /dev/null and b/sound/direct_sound_samples/87410E0.aif differ diff --git a/sound/direct_sound_samples/87424B0.aif b/sound/direct_sound_samples/87424B0.aif new file mode 100644 index 0000000000..9521d0b6e8 Binary files /dev/null and b/sound/direct_sound_samples/87424B0.aif differ diff --git a/sound/direct_sound_samples/87430C0.aif b/sound/direct_sound_samples/87430C0.aif new file mode 100644 index 0000000000..2519572e2c Binary files /dev/null and b/sound/direct_sound_samples/87430C0.aif differ diff --git a/sound/direct_sound_samples/8743C50.aif b/sound/direct_sound_samples/8743C50.aif new file mode 100644 index 0000000000..d411e66128 Binary files /dev/null and b/sound/direct_sound_samples/8743C50.aif differ diff --git a/sound/direct_sound_samples/87446EC.aif b/sound/direct_sound_samples/87446EC.aif new file mode 100644 index 0000000000..3bc1aa839b Binary files /dev/null and b/sound/direct_sound_samples/87446EC.aif differ diff --git a/sound/direct_sound_samples/8745034.aif b/sound/direct_sound_samples/8745034.aif new file mode 100644 index 0000000000..3bacf36765 Binary files /dev/null and b/sound/direct_sound_samples/8745034.aif differ diff --git a/sound/direct_sound_samples/8745A7C.aif b/sound/direct_sound_samples/8745A7C.aif new file mode 100644 index 0000000000..5ddaa153da Binary files /dev/null and b/sound/direct_sound_samples/8745A7C.aif differ diff --git a/sound/direct_sound_samples/88D4A18.aif b/sound/direct_sound_samples/88D4A18.aif new file mode 100644 index 0000000000..e56c5c1311 Binary files /dev/null and b/sound/direct_sound_samples/88D4A18.aif differ diff --git a/sound/direct_sound_samples/88D6978.aif b/sound/direct_sound_samples/88D6978.aif new file mode 100644 index 0000000000..e1715fd030 Binary files /dev/null and b/sound/direct_sound_samples/88D6978.aif differ diff --git a/sound/direct_sound_samples/88D8418.aif b/sound/direct_sound_samples/88D8418.aif new file mode 100644 index 0000000000..dea429a254 Binary files /dev/null and b/sound/direct_sound_samples/88D8418.aif differ diff --git a/sound/direct_sound_samples/88DA388.aif b/sound/direct_sound_samples/88DA388.aif new file mode 100644 index 0000000000..8b7a7da405 Binary files /dev/null and b/sound/direct_sound_samples/88DA388.aif differ diff --git a/sound/direct_sound_samples/88DBBC0.aif b/sound/direct_sound_samples/88DBBC0.aif new file mode 100644 index 0000000000..4b15a94b77 Binary files /dev/null and b/sound/direct_sound_samples/88DBBC0.aif differ diff --git a/sound/direct_sound_samples/88DC220.aif b/sound/direct_sound_samples/88DC220.aif new file mode 100644 index 0000000000..74c1290730 Binary files /dev/null and b/sound/direct_sound_samples/88DC220.aif differ diff --git a/sound/direct_sound_samples/88DC704.aif b/sound/direct_sound_samples/88DC704.aif new file mode 100644 index 0000000000..359972c169 Binary files /dev/null and b/sound/direct_sound_samples/88DC704.aif differ diff --git a/sound/direct_sound_samples/88DD054.aif b/sound/direct_sound_samples/88DD054.aif new file mode 100644 index 0000000000..3b136fa434 Binary files /dev/null and b/sound/direct_sound_samples/88DD054.aif differ diff --git a/sound/direct_sound_samples/88DDAC4.aif b/sound/direct_sound_samples/88DDAC4.aif new file mode 100644 index 0000000000..fd72512cf1 Binary files /dev/null and b/sound/direct_sound_samples/88DDAC4.aif differ diff --git a/sound/direct_sound_samples/88DDDE4.aif b/sound/direct_sound_samples/88DDDE4.aif new file mode 100644 index 0000000000..6f7794bec8 Binary files /dev/null and b/sound/direct_sound_samples/88DDDE4.aif differ diff --git a/sound/direct_sound_samples/88DEA6C.aif b/sound/direct_sound_samples/88DEA6C.aif new file mode 100644 index 0000000000..89b845f21b Binary files /dev/null and b/sound/direct_sound_samples/88DEA6C.aif differ diff --git a/sound/direct_sound_samples/88DF08C.aif b/sound/direct_sound_samples/88DF08C.aif new file mode 100644 index 0000000000..1d99a3a932 Binary files /dev/null and b/sound/direct_sound_samples/88DF08C.aif differ diff --git a/sound/direct_sound_samples/88DF414.aif b/sound/direct_sound_samples/88DF414.aif new file mode 100644 index 0000000000..8833981298 Binary files /dev/null and b/sound/direct_sound_samples/88DF414.aif differ diff --git a/sound/direct_sound_samples/88E01F8.aif b/sound/direct_sound_samples/88E01F8.aif new file mode 100644 index 0000000000..776815e636 Binary files /dev/null and b/sound/direct_sound_samples/88E01F8.aif differ diff --git a/sound/direct_sound_samples/88E0B68.aif b/sound/direct_sound_samples/88E0B68.aif new file mode 100644 index 0000000000..545bd12920 Binary files /dev/null and b/sound/direct_sound_samples/88E0B68.aif differ diff --git a/sound/direct_sound_samples/88E0F04.aif b/sound/direct_sound_samples/88E0F04.aif new file mode 100644 index 0000000000..c0a3be10d0 Binary files /dev/null and b/sound/direct_sound_samples/88E0F04.aif differ diff --git a/sound/direct_sound_samples/88E16B8.aif b/sound/direct_sound_samples/88E16B8.aif new file mode 100644 index 0000000000..d26ecdd6de Binary files /dev/null and b/sound/direct_sound_samples/88E16B8.aif differ diff --git a/sound/direct_sound_samples/88E2414.aif b/sound/direct_sound_samples/88E2414.aif new file mode 100644 index 0000000000..2b51201a48 Binary files /dev/null and b/sound/direct_sound_samples/88E2414.aif differ diff --git a/sound/direct_sound_samples/88E2658.aif b/sound/direct_sound_samples/88E2658.aif new file mode 100644 index 0000000000..cf5ac4e038 Binary files /dev/null and b/sound/direct_sound_samples/88E2658.aif differ diff --git a/sound/direct_sound_samples/88E3498.aif b/sound/direct_sound_samples/88E3498.aif new file mode 100644 index 0000000000..606742e608 Binary files /dev/null and b/sound/direct_sound_samples/88E3498.aif differ diff --git a/sound/direct_sound_samples/88E3DEC.aif b/sound/direct_sound_samples/88E3DEC.aif new file mode 100644 index 0000000000..71d4987d64 Binary files /dev/null and b/sound/direct_sound_samples/88E3DEC.aif differ diff --git a/sound/direct_sound_samples/88E4140.aif b/sound/direct_sound_samples/88E4140.aif new file mode 100644 index 0000000000..070c44a37c Binary files /dev/null and b/sound/direct_sound_samples/88E4140.aif differ diff --git a/sound/direct_sound_samples/88E4774.aif b/sound/direct_sound_samples/88E4774.aif new file mode 100644 index 0000000000..b0ca84a38f Binary files /dev/null and b/sound/direct_sound_samples/88E4774.aif differ diff --git a/sound/direct_sound_samples/88E53E0.aif b/sound/direct_sound_samples/88E53E0.aif new file mode 100644 index 0000000000..f44101b23c Binary files /dev/null and b/sound/direct_sound_samples/88E53E0.aif differ diff --git a/sound/direct_sound_samples/88E5978.aif b/sound/direct_sound_samples/88E5978.aif new file mode 100644 index 0000000000..a33809d423 Binary files /dev/null and b/sound/direct_sound_samples/88E5978.aif differ diff --git a/sound/direct_sound_samples/88E647C.aif b/sound/direct_sound_samples/88E647C.aif new file mode 100644 index 0000000000..6a005efccf Binary files /dev/null and b/sound/direct_sound_samples/88E647C.aif differ diff --git a/sound/direct_sound_samples/88E6A80.aif b/sound/direct_sound_samples/88E6A80.aif new file mode 100644 index 0000000000..62f9493fdb Binary files /dev/null and b/sound/direct_sound_samples/88E6A80.aif differ diff --git a/sound/direct_sound_samples/88E6C78.aif b/sound/direct_sound_samples/88E6C78.aif new file mode 100644 index 0000000000..5767bd6d9a Binary files /dev/null and b/sound/direct_sound_samples/88E6C78.aif differ diff --git a/sound/direct_sound_samples/88E75DC.aif b/sound/direct_sound_samples/88E75DC.aif new file mode 100644 index 0000000000..33e328a82e Binary files /dev/null and b/sound/direct_sound_samples/88E75DC.aif differ diff --git a/sound/direct_sound_samples/88E8568.aif b/sound/direct_sound_samples/88E8568.aif new file mode 100644 index 0000000000..548e740c8d Binary files /dev/null and b/sound/direct_sound_samples/88E8568.aif differ diff --git a/sound/direct_sound_samples/88E8BA0.aif b/sound/direct_sound_samples/88E8BA0.aif new file mode 100644 index 0000000000..cbbe09266a Binary files /dev/null and b/sound/direct_sound_samples/88E8BA0.aif differ diff --git a/sound/direct_sound_samples/88E9674.aif b/sound/direct_sound_samples/88E9674.aif new file mode 100644 index 0000000000..8bdf7faaae Binary files /dev/null and b/sound/direct_sound_samples/88E9674.aif differ diff --git a/sound/direct_sound_samples/88EA5B8.aif b/sound/direct_sound_samples/88EA5B8.aif new file mode 100644 index 0000000000..f96f8853b2 Binary files /dev/null and b/sound/direct_sound_samples/88EA5B8.aif differ diff --git a/sound/direct_sound_samples/88EAB30.aif b/sound/direct_sound_samples/88EAB30.aif new file mode 100644 index 0000000000..ab9abbf795 Binary files /dev/null and b/sound/direct_sound_samples/88EAB30.aif differ diff --git a/sound/direct_sound_samples/88EB97C.aif b/sound/direct_sound_samples/88EB97C.aif new file mode 100644 index 0000000000..9d21d0ab49 Binary files /dev/null and b/sound/direct_sound_samples/88EB97C.aif differ diff --git a/sound/direct_sound_samples/88EC884.aif b/sound/direct_sound_samples/88EC884.aif new file mode 100644 index 0000000000..c037ed4afc Binary files /dev/null and b/sound/direct_sound_samples/88EC884.aif differ diff --git a/sound/direct_sound_samples/88ED358.aif b/sound/direct_sound_samples/88ED358.aif new file mode 100644 index 0000000000..ac1f8b66f0 Binary files /dev/null and b/sound/direct_sound_samples/88ED358.aif differ diff --git a/sound/direct_sound_samples/88EDEEC.aif b/sound/direct_sound_samples/88EDEEC.aif new file mode 100644 index 0000000000..1fd9111c8b Binary files /dev/null and b/sound/direct_sound_samples/88EDEEC.aif differ diff --git a/sound/direct_sound_samples/88EE8C4.aif b/sound/direct_sound_samples/88EE8C4.aif new file mode 100644 index 0000000000..5d6ae2282f Binary files /dev/null and b/sound/direct_sound_samples/88EE8C4.aif differ diff --git a/sound/direct_sound_samples/88EEF04.aif b/sound/direct_sound_samples/88EEF04.aif new file mode 100644 index 0000000000..f267006907 Binary files /dev/null and b/sound/direct_sound_samples/88EEF04.aif differ diff --git a/sound/direct_sound_samples/88EF9E4.aif b/sound/direct_sound_samples/88EF9E4.aif new file mode 100644 index 0000000000..3ba97a9fc3 Binary files /dev/null and b/sound/direct_sound_samples/88EF9E4.aif differ diff --git a/sound/direct_sound_samples/88F0020.aif b/sound/direct_sound_samples/88F0020.aif new file mode 100644 index 0000000000..37f1be4b14 Binary files /dev/null and b/sound/direct_sound_samples/88F0020.aif differ diff --git a/sound/direct_sound_samples/88F0738.aif b/sound/direct_sound_samples/88F0738.aif new file mode 100644 index 0000000000..4b3facb99a Binary files /dev/null and b/sound/direct_sound_samples/88F0738.aif differ diff --git a/sound/direct_sound_samples/88F1074.aif b/sound/direct_sound_samples/88F1074.aif new file mode 100644 index 0000000000..8a4d7653ba Binary files /dev/null and b/sound/direct_sound_samples/88F1074.aif differ diff --git a/sound/direct_sound_samples/88F1830.aif b/sound/direct_sound_samples/88F1830.aif new file mode 100644 index 0000000000..db5bae2449 Binary files /dev/null and b/sound/direct_sound_samples/88F1830.aif differ diff --git a/sound/direct_sound_samples/88F1D94.aif b/sound/direct_sound_samples/88F1D94.aif new file mode 100644 index 0000000000..6612dd54db Binary files /dev/null and b/sound/direct_sound_samples/88F1D94.aif differ diff --git a/sound/direct_sound_samples/88F2B08.aif b/sound/direct_sound_samples/88F2B08.aif new file mode 100644 index 0000000000..441eecfcda Binary files /dev/null and b/sound/direct_sound_samples/88F2B08.aif differ diff --git a/sound/direct_sound_samples/88F2F84.aif b/sound/direct_sound_samples/88F2F84.aif new file mode 100644 index 0000000000..95670cf0a2 Binary files /dev/null and b/sound/direct_sound_samples/88F2F84.aif differ diff --git a/sound/direct_sound_samples/88F3470.aif b/sound/direct_sound_samples/88F3470.aif new file mode 100644 index 0000000000..0fadcba8e8 Binary files /dev/null and b/sound/direct_sound_samples/88F3470.aif differ diff --git a/sound/direct_sound_samples/88F3C38.aif b/sound/direct_sound_samples/88F3C38.aif new file mode 100644 index 0000000000..6017c55b4a Binary files /dev/null and b/sound/direct_sound_samples/88F3C38.aif differ diff --git a/sound/direct_sound_samples/88F4834.aif b/sound/direct_sound_samples/88F4834.aif new file mode 100644 index 0000000000..2327b6d657 Binary files /dev/null and b/sound/direct_sound_samples/88F4834.aif differ diff --git a/sound/direct_sound_samples/88F4BAC.aif b/sound/direct_sound_samples/88F4BAC.aif new file mode 100644 index 0000000000..19ceca0d08 Binary files /dev/null and b/sound/direct_sound_samples/88F4BAC.aif differ diff --git a/sound/direct_sound_samples/88F5368.aif b/sound/direct_sound_samples/88F5368.aif new file mode 100644 index 0000000000..8438d301ab Binary files /dev/null and b/sound/direct_sound_samples/88F5368.aif differ diff --git a/sound/direct_sound_samples/88F5FCC.aif b/sound/direct_sound_samples/88F5FCC.aif new file mode 100644 index 0000000000..74d4bcf4af Binary files /dev/null and b/sound/direct_sound_samples/88F5FCC.aif differ diff --git a/sound/direct_sound_samples/88F6498.aif b/sound/direct_sound_samples/88F6498.aif new file mode 100644 index 0000000000..dfef8a82be Binary files /dev/null and b/sound/direct_sound_samples/88F6498.aif differ diff --git a/sound/direct_sound_samples/88F6F48.aif b/sound/direct_sound_samples/88F6F48.aif new file mode 100644 index 0000000000..6d6c2e998b Binary files /dev/null and b/sound/direct_sound_samples/88F6F48.aif differ diff --git a/sound/direct_sound_samples/88F8318.aif b/sound/direct_sound_samples/88F8318.aif new file mode 100644 index 0000000000..e98c64db4d Binary files /dev/null and b/sound/direct_sound_samples/88F8318.aif differ diff --git a/sound/direct_sound_samples/88F94DC.aif b/sound/direct_sound_samples/88F94DC.aif new file mode 100644 index 0000000000..b4be7482f0 Binary files /dev/null and b/sound/direct_sound_samples/88F94DC.aif differ diff --git a/sound/direct_sound_samples/88F9F3C.aif b/sound/direct_sound_samples/88F9F3C.aif new file mode 100644 index 0000000000..c64ef6b037 Binary files /dev/null and b/sound/direct_sound_samples/88F9F3C.aif differ diff --git a/sound/direct_sound_samples/cry_abra.aif b/sound/direct_sound_samples/cry_abra.aif new file mode 100644 index 0000000000..7df4446dba Binary files /dev/null and b/sound/direct_sound_samples/cry_abra.aif differ diff --git a/sound/direct_sound_samples/cry_absol.aif b/sound/direct_sound_samples/cry_absol.aif new file mode 100644 index 0000000000..884ab22b3e Binary files /dev/null and b/sound/direct_sound_samples/cry_absol.aif differ diff --git a/sound/direct_sound_samples/cry_aerodactyl.aif b/sound/direct_sound_samples/cry_aerodactyl.aif new file mode 100644 index 0000000000..c0e40f6d1a Binary files /dev/null and b/sound/direct_sound_samples/cry_aerodactyl.aif differ diff --git a/sound/direct_sound_samples/cry_aggron.aif b/sound/direct_sound_samples/cry_aggron.aif new file mode 100644 index 0000000000..b89ea1222a Binary files /dev/null and b/sound/direct_sound_samples/cry_aggron.aif differ diff --git a/sound/direct_sound_samples/cry_aipom.aif b/sound/direct_sound_samples/cry_aipom.aif new file mode 100644 index 0000000000..5ca276de2d Binary files /dev/null and b/sound/direct_sound_samples/cry_aipom.aif differ diff --git a/sound/direct_sound_samples/cry_alakazam.aif b/sound/direct_sound_samples/cry_alakazam.aif new file mode 100644 index 0000000000..920e2ff94f Binary files /dev/null and b/sound/direct_sound_samples/cry_alakazam.aif differ diff --git a/sound/direct_sound_samples/cry_altaria.aif b/sound/direct_sound_samples/cry_altaria.aif new file mode 100644 index 0000000000..3e8e35e8ed Binary files /dev/null and b/sound/direct_sound_samples/cry_altaria.aif differ diff --git a/sound/direct_sound_samples/cry_ampharos.aif b/sound/direct_sound_samples/cry_ampharos.aif new file mode 100644 index 0000000000..4f6e255a06 Binary files /dev/null and b/sound/direct_sound_samples/cry_ampharos.aif differ diff --git a/sound/direct_sound_samples/cry_anorith.aif b/sound/direct_sound_samples/cry_anorith.aif new file mode 100644 index 0000000000..96e87e9193 Binary files /dev/null and b/sound/direct_sound_samples/cry_anorith.aif differ diff --git a/sound/direct_sound_samples/cry_arbok.aif b/sound/direct_sound_samples/cry_arbok.aif new file mode 100644 index 0000000000..6ccace9f91 Binary files /dev/null and b/sound/direct_sound_samples/cry_arbok.aif differ diff --git a/sound/direct_sound_samples/cry_arcanine.aif b/sound/direct_sound_samples/cry_arcanine.aif new file mode 100644 index 0000000000..61d8021532 Binary files /dev/null and b/sound/direct_sound_samples/cry_arcanine.aif differ diff --git a/sound/direct_sound_samples/cry_ariados.aif b/sound/direct_sound_samples/cry_ariados.aif new file mode 100644 index 0000000000..1748624fb5 Binary files /dev/null and b/sound/direct_sound_samples/cry_ariados.aif differ diff --git a/sound/direct_sound_samples/cry_armaldo.aif b/sound/direct_sound_samples/cry_armaldo.aif new file mode 100644 index 0000000000..756bf08425 Binary files /dev/null and b/sound/direct_sound_samples/cry_armaldo.aif differ diff --git a/sound/direct_sound_samples/cry_aron.aif b/sound/direct_sound_samples/cry_aron.aif new file mode 100644 index 0000000000..cce70b73ba Binary files /dev/null and b/sound/direct_sound_samples/cry_aron.aif differ diff --git a/sound/direct_sound_samples/cry_articuno.aif b/sound/direct_sound_samples/cry_articuno.aif new file mode 100644 index 0000000000..4f237dd0fa Binary files /dev/null and b/sound/direct_sound_samples/cry_articuno.aif differ diff --git a/sound/direct_sound_samples/cry_azumarill.aif b/sound/direct_sound_samples/cry_azumarill.aif new file mode 100644 index 0000000000..18411f93c9 Binary files /dev/null and b/sound/direct_sound_samples/cry_azumarill.aif differ diff --git a/sound/direct_sound_samples/cry_azurill.aif b/sound/direct_sound_samples/cry_azurill.aif new file mode 100644 index 0000000000..7f651c3d39 Binary files /dev/null and b/sound/direct_sound_samples/cry_azurill.aif differ diff --git a/sound/direct_sound_samples/cry_bagon.aif b/sound/direct_sound_samples/cry_bagon.aif new file mode 100644 index 0000000000..3843fb9f41 Binary files /dev/null and b/sound/direct_sound_samples/cry_bagon.aif differ diff --git a/sound/direct_sound_samples/cry_baltoy.aif b/sound/direct_sound_samples/cry_baltoy.aif new file mode 100644 index 0000000000..25e1a708ac Binary files /dev/null and b/sound/direct_sound_samples/cry_baltoy.aif differ diff --git a/sound/direct_sound_samples/cry_banette.aif b/sound/direct_sound_samples/cry_banette.aif new file mode 100644 index 0000000000..23713f1b53 Binary files /dev/null and b/sound/direct_sound_samples/cry_banette.aif differ diff --git a/sound/direct_sound_samples/cry_barboach.aif b/sound/direct_sound_samples/cry_barboach.aif new file mode 100644 index 0000000000..4b92282594 Binary files /dev/null and b/sound/direct_sound_samples/cry_barboach.aif differ diff --git a/sound/direct_sound_samples/cry_bayleef.aif b/sound/direct_sound_samples/cry_bayleef.aif new file mode 100644 index 0000000000..8cef22df3e Binary files /dev/null and b/sound/direct_sound_samples/cry_bayleef.aif differ diff --git a/sound/direct_sound_samples/cry_beautifly.aif b/sound/direct_sound_samples/cry_beautifly.aif new file mode 100644 index 0000000000..0924b6c558 Binary files /dev/null and b/sound/direct_sound_samples/cry_beautifly.aif differ diff --git a/sound/direct_sound_samples/cry_beedrill.aif b/sound/direct_sound_samples/cry_beedrill.aif new file mode 100644 index 0000000000..00d0bc96c4 Binary files /dev/null and b/sound/direct_sound_samples/cry_beedrill.aif differ diff --git a/sound/direct_sound_samples/cry_beldum.aif b/sound/direct_sound_samples/cry_beldum.aif new file mode 100644 index 0000000000..76435a6a86 Binary files /dev/null and b/sound/direct_sound_samples/cry_beldum.aif differ diff --git a/sound/direct_sound_samples/cry_bellossom.aif b/sound/direct_sound_samples/cry_bellossom.aif new file mode 100644 index 0000000000..86580df656 Binary files /dev/null and b/sound/direct_sound_samples/cry_bellossom.aif differ diff --git a/sound/direct_sound_samples/cry_bellsprout.aif b/sound/direct_sound_samples/cry_bellsprout.aif new file mode 100644 index 0000000000..cfdd7aed21 Binary files /dev/null and b/sound/direct_sound_samples/cry_bellsprout.aif differ diff --git a/sound/direct_sound_samples/cry_blastoise.aif b/sound/direct_sound_samples/cry_blastoise.aif new file mode 100644 index 0000000000..76dac2bccf Binary files /dev/null and b/sound/direct_sound_samples/cry_blastoise.aif differ diff --git a/sound/direct_sound_samples/cry_blaziken.aif b/sound/direct_sound_samples/cry_blaziken.aif new file mode 100644 index 0000000000..83e5ccf23d Binary files /dev/null and b/sound/direct_sound_samples/cry_blaziken.aif differ diff --git a/sound/direct_sound_samples/cry_blissey.aif b/sound/direct_sound_samples/cry_blissey.aif new file mode 100644 index 0000000000..897eb3d695 Binary files /dev/null and b/sound/direct_sound_samples/cry_blissey.aif differ diff --git a/sound/direct_sound_samples/cry_breloom.aif b/sound/direct_sound_samples/cry_breloom.aif new file mode 100644 index 0000000000..ea3f1bb66f Binary files /dev/null and b/sound/direct_sound_samples/cry_breloom.aif differ diff --git a/sound/direct_sound_samples/cry_bulbasaur.aif b/sound/direct_sound_samples/cry_bulbasaur.aif new file mode 100644 index 0000000000..040fb1df7e Binary files /dev/null and b/sound/direct_sound_samples/cry_bulbasaur.aif differ diff --git a/sound/direct_sound_samples/cry_butterfree.aif b/sound/direct_sound_samples/cry_butterfree.aif new file mode 100644 index 0000000000..f27616395f Binary files /dev/null and b/sound/direct_sound_samples/cry_butterfree.aif differ diff --git a/sound/direct_sound_samples/cry_cacnea.aif b/sound/direct_sound_samples/cry_cacnea.aif new file mode 100644 index 0000000000..4fd5acd363 Binary files /dev/null and b/sound/direct_sound_samples/cry_cacnea.aif differ diff --git a/sound/direct_sound_samples/cry_cacturne.aif b/sound/direct_sound_samples/cry_cacturne.aif new file mode 100644 index 0000000000..d9fb8fda8d Binary files /dev/null and b/sound/direct_sound_samples/cry_cacturne.aif differ diff --git a/sound/direct_sound_samples/cry_camerupt.aif b/sound/direct_sound_samples/cry_camerupt.aif new file mode 100644 index 0000000000..325df12208 Binary files /dev/null and b/sound/direct_sound_samples/cry_camerupt.aif differ diff --git a/sound/direct_sound_samples/cry_carvanha.aif b/sound/direct_sound_samples/cry_carvanha.aif new file mode 100644 index 0000000000..c7cdedf914 Binary files /dev/null and b/sound/direct_sound_samples/cry_carvanha.aif differ diff --git a/sound/direct_sound_samples/cry_cascoon.aif b/sound/direct_sound_samples/cry_cascoon.aif new file mode 100644 index 0000000000..17eef0ee90 Binary files /dev/null and b/sound/direct_sound_samples/cry_cascoon.aif differ diff --git a/sound/direct_sound_samples/cry_castform.aif b/sound/direct_sound_samples/cry_castform.aif new file mode 100644 index 0000000000..c107456406 Binary files /dev/null and b/sound/direct_sound_samples/cry_castform.aif differ diff --git a/sound/direct_sound_samples/cry_caterpie.aif b/sound/direct_sound_samples/cry_caterpie.aif new file mode 100644 index 0000000000..b0b246b4f0 Binary files /dev/null and b/sound/direct_sound_samples/cry_caterpie.aif differ diff --git a/sound/direct_sound_samples/cry_celebi.aif b/sound/direct_sound_samples/cry_celebi.aif new file mode 100644 index 0000000000..9f9f3ea39b Binary files /dev/null and b/sound/direct_sound_samples/cry_celebi.aif differ diff --git a/sound/direct_sound_samples/cry_chansey.aif b/sound/direct_sound_samples/cry_chansey.aif new file mode 100644 index 0000000000..d764c86cec Binary files /dev/null and b/sound/direct_sound_samples/cry_chansey.aif differ diff --git a/sound/direct_sound_samples/cry_charizard.aif b/sound/direct_sound_samples/cry_charizard.aif new file mode 100644 index 0000000000..48321b7929 Binary files /dev/null and b/sound/direct_sound_samples/cry_charizard.aif differ diff --git a/sound/direct_sound_samples/cry_charmander.aif b/sound/direct_sound_samples/cry_charmander.aif new file mode 100644 index 0000000000..d72c0f9e08 Binary files /dev/null and b/sound/direct_sound_samples/cry_charmander.aif differ diff --git a/sound/direct_sound_samples/cry_charmeleon.aif b/sound/direct_sound_samples/cry_charmeleon.aif new file mode 100644 index 0000000000..8e84af0d8a Binary files /dev/null and b/sound/direct_sound_samples/cry_charmeleon.aif differ diff --git a/sound/direct_sound_samples/cry_chikorita.aif b/sound/direct_sound_samples/cry_chikorita.aif new file mode 100644 index 0000000000..67ceafdc37 Binary files /dev/null and b/sound/direct_sound_samples/cry_chikorita.aif differ diff --git a/sound/direct_sound_samples/cry_chimecho.aif b/sound/direct_sound_samples/cry_chimecho.aif new file mode 100644 index 0000000000..87ee2faee1 Binary files /dev/null and b/sound/direct_sound_samples/cry_chimecho.aif differ diff --git a/sound/direct_sound_samples/cry_chinchou.aif b/sound/direct_sound_samples/cry_chinchou.aif new file mode 100644 index 0000000000..3564756781 Binary files /dev/null and b/sound/direct_sound_samples/cry_chinchou.aif differ diff --git a/sound/direct_sound_samples/cry_clamperl.aif b/sound/direct_sound_samples/cry_clamperl.aif new file mode 100644 index 0000000000..7250bd7030 Binary files /dev/null and b/sound/direct_sound_samples/cry_clamperl.aif differ diff --git a/sound/direct_sound_samples/cry_claydol.aif b/sound/direct_sound_samples/cry_claydol.aif new file mode 100644 index 0000000000..b89772021e Binary files /dev/null and b/sound/direct_sound_samples/cry_claydol.aif differ diff --git a/sound/direct_sound_samples/cry_clefable.aif b/sound/direct_sound_samples/cry_clefable.aif new file mode 100644 index 0000000000..9c2d8c6642 Binary files /dev/null and b/sound/direct_sound_samples/cry_clefable.aif differ diff --git a/sound/direct_sound_samples/cry_clefairy.aif b/sound/direct_sound_samples/cry_clefairy.aif new file mode 100644 index 0000000000..c370c4a9b1 Binary files /dev/null and b/sound/direct_sound_samples/cry_clefairy.aif differ diff --git a/sound/direct_sound_samples/cry_cleffa.aif b/sound/direct_sound_samples/cry_cleffa.aif new file mode 100644 index 0000000000..b27cdeca92 Binary files /dev/null and b/sound/direct_sound_samples/cry_cleffa.aif differ diff --git a/sound/direct_sound_samples/cry_cloyster.aif b/sound/direct_sound_samples/cry_cloyster.aif new file mode 100644 index 0000000000..b406deab03 Binary files /dev/null and b/sound/direct_sound_samples/cry_cloyster.aif differ diff --git a/sound/direct_sound_samples/cry_combusken.aif b/sound/direct_sound_samples/cry_combusken.aif new file mode 100644 index 0000000000..7d4b0d4cc2 Binary files /dev/null and b/sound/direct_sound_samples/cry_combusken.aif differ diff --git a/sound/direct_sound_samples/cry_corphish.aif b/sound/direct_sound_samples/cry_corphish.aif new file mode 100644 index 0000000000..f0f5ca01eb Binary files /dev/null and b/sound/direct_sound_samples/cry_corphish.aif differ diff --git a/sound/direct_sound_samples/cry_corsola.aif b/sound/direct_sound_samples/cry_corsola.aif new file mode 100644 index 0000000000..68e743bfd0 Binary files /dev/null and b/sound/direct_sound_samples/cry_corsola.aif differ diff --git a/sound/direct_sound_samples/cry_cradily.aif b/sound/direct_sound_samples/cry_cradily.aif new file mode 100644 index 0000000000..197dc8d922 Binary files /dev/null and b/sound/direct_sound_samples/cry_cradily.aif differ diff --git a/sound/direct_sound_samples/cry_crawdaunt.aif b/sound/direct_sound_samples/cry_crawdaunt.aif new file mode 100644 index 0000000000..a203ce2fbb Binary files /dev/null and b/sound/direct_sound_samples/cry_crawdaunt.aif differ diff --git a/sound/direct_sound_samples/cry_crobat.aif b/sound/direct_sound_samples/cry_crobat.aif new file mode 100644 index 0000000000..75d039bd82 Binary files /dev/null and b/sound/direct_sound_samples/cry_crobat.aif differ diff --git a/sound/direct_sound_samples/cry_croconaw.aif b/sound/direct_sound_samples/cry_croconaw.aif new file mode 100644 index 0000000000..afb7f3fdc7 Binary files /dev/null and b/sound/direct_sound_samples/cry_croconaw.aif differ diff --git a/sound/direct_sound_samples/cry_cubone.aif b/sound/direct_sound_samples/cry_cubone.aif new file mode 100644 index 0000000000..170745da16 Binary files /dev/null and b/sound/direct_sound_samples/cry_cubone.aif differ diff --git a/sound/direct_sound_samples/cry_cyndaquil.aif b/sound/direct_sound_samples/cry_cyndaquil.aif new file mode 100644 index 0000000000..4aa5801994 Binary files /dev/null and b/sound/direct_sound_samples/cry_cyndaquil.aif differ diff --git a/sound/direct_sound_samples/cry_delcatty.aif b/sound/direct_sound_samples/cry_delcatty.aif new file mode 100644 index 0000000000..dd665b110f Binary files /dev/null and b/sound/direct_sound_samples/cry_delcatty.aif differ diff --git a/sound/direct_sound_samples/cry_delibird.aif b/sound/direct_sound_samples/cry_delibird.aif new file mode 100644 index 0000000000..dbedc42d4d Binary files /dev/null and b/sound/direct_sound_samples/cry_delibird.aif differ diff --git a/sound/direct_sound_samples/cry_deoxys.aif b/sound/direct_sound_samples/cry_deoxys.aif new file mode 100644 index 0000000000..b9623b3371 Binary files /dev/null and b/sound/direct_sound_samples/cry_deoxys.aif differ diff --git a/sound/direct_sound_samples/cry_dewgong.aif b/sound/direct_sound_samples/cry_dewgong.aif new file mode 100644 index 0000000000..72d69b7732 Binary files /dev/null and b/sound/direct_sound_samples/cry_dewgong.aif differ diff --git a/sound/direct_sound_samples/cry_diglett.aif b/sound/direct_sound_samples/cry_diglett.aif new file mode 100644 index 0000000000..b116af7f2a Binary files /dev/null and b/sound/direct_sound_samples/cry_diglett.aif differ diff --git a/sound/direct_sound_samples/cry_ditto.aif b/sound/direct_sound_samples/cry_ditto.aif new file mode 100644 index 0000000000..2c797f4c46 Binary files /dev/null and b/sound/direct_sound_samples/cry_ditto.aif differ diff --git a/sound/direct_sound_samples/cry_dodrio.aif b/sound/direct_sound_samples/cry_dodrio.aif new file mode 100644 index 0000000000..111d8bf3e2 Binary files /dev/null and b/sound/direct_sound_samples/cry_dodrio.aif differ diff --git a/sound/direct_sound_samples/cry_doduo.aif b/sound/direct_sound_samples/cry_doduo.aif new file mode 100644 index 0000000000..5700b91d92 Binary files /dev/null and b/sound/direct_sound_samples/cry_doduo.aif differ diff --git a/sound/direct_sound_samples/cry_donphan.aif b/sound/direct_sound_samples/cry_donphan.aif new file mode 100644 index 0000000000..a41c124b12 Binary files /dev/null and b/sound/direct_sound_samples/cry_donphan.aif differ diff --git a/sound/direct_sound_samples/cry_dragonair.aif b/sound/direct_sound_samples/cry_dragonair.aif new file mode 100644 index 0000000000..38c3955ef4 Binary files /dev/null and b/sound/direct_sound_samples/cry_dragonair.aif differ diff --git a/sound/direct_sound_samples/cry_dragonite.aif b/sound/direct_sound_samples/cry_dragonite.aif new file mode 100644 index 0000000000..d1e7b11cf3 Binary files /dev/null and b/sound/direct_sound_samples/cry_dragonite.aif differ diff --git a/sound/direct_sound_samples/cry_dratini.aif b/sound/direct_sound_samples/cry_dratini.aif new file mode 100644 index 0000000000..2984974808 Binary files /dev/null and b/sound/direct_sound_samples/cry_dratini.aif differ diff --git a/sound/direct_sound_samples/cry_drowzee.aif b/sound/direct_sound_samples/cry_drowzee.aif new file mode 100644 index 0000000000..0d53eb2ff0 Binary files /dev/null and b/sound/direct_sound_samples/cry_drowzee.aif differ diff --git a/sound/direct_sound_samples/cry_dugtrio.aif b/sound/direct_sound_samples/cry_dugtrio.aif new file mode 100644 index 0000000000..dff573dfee Binary files /dev/null and b/sound/direct_sound_samples/cry_dugtrio.aif differ diff --git a/sound/direct_sound_samples/cry_dunsparce.aif b/sound/direct_sound_samples/cry_dunsparce.aif new file mode 100644 index 0000000000..454617c057 Binary files /dev/null and b/sound/direct_sound_samples/cry_dunsparce.aif differ diff --git a/sound/direct_sound_samples/cry_dusclops.aif b/sound/direct_sound_samples/cry_dusclops.aif new file mode 100644 index 0000000000..de9657e4f7 Binary files /dev/null and b/sound/direct_sound_samples/cry_dusclops.aif differ diff --git a/sound/direct_sound_samples/cry_duskull.aif b/sound/direct_sound_samples/cry_duskull.aif new file mode 100644 index 0000000000..d84ea274ec Binary files /dev/null and b/sound/direct_sound_samples/cry_duskull.aif differ diff --git a/sound/direct_sound_samples/cry_dustox.aif b/sound/direct_sound_samples/cry_dustox.aif new file mode 100644 index 0000000000..56d8eb336c Binary files /dev/null and b/sound/direct_sound_samples/cry_dustox.aif differ diff --git a/sound/direct_sound_samples/cry_eevee.aif b/sound/direct_sound_samples/cry_eevee.aif new file mode 100644 index 0000000000..8711a14701 Binary files /dev/null and b/sound/direct_sound_samples/cry_eevee.aif differ diff --git a/sound/direct_sound_samples/cry_ekans.aif b/sound/direct_sound_samples/cry_ekans.aif new file mode 100644 index 0000000000..9eb3967351 Binary files /dev/null and b/sound/direct_sound_samples/cry_ekans.aif differ diff --git a/sound/direct_sound_samples/cry_electabuzz.aif b/sound/direct_sound_samples/cry_electabuzz.aif new file mode 100644 index 0000000000..5abdb49b7e Binary files /dev/null and b/sound/direct_sound_samples/cry_electabuzz.aif differ diff --git a/sound/direct_sound_samples/cry_electrike.aif b/sound/direct_sound_samples/cry_electrike.aif new file mode 100644 index 0000000000..56c9666df5 Binary files /dev/null and b/sound/direct_sound_samples/cry_electrike.aif differ diff --git a/sound/direct_sound_samples/cry_electrode.aif b/sound/direct_sound_samples/cry_electrode.aif new file mode 100644 index 0000000000..cbd7f09710 Binary files /dev/null and b/sound/direct_sound_samples/cry_electrode.aif differ diff --git a/sound/direct_sound_samples/cry_elekid.aif b/sound/direct_sound_samples/cry_elekid.aif new file mode 100644 index 0000000000..839bdee171 Binary files /dev/null and b/sound/direct_sound_samples/cry_elekid.aif differ diff --git a/sound/direct_sound_samples/cry_entei.aif b/sound/direct_sound_samples/cry_entei.aif new file mode 100644 index 0000000000..56a740207b Binary files /dev/null and b/sound/direct_sound_samples/cry_entei.aif differ diff --git a/sound/direct_sound_samples/cry_espeon.aif b/sound/direct_sound_samples/cry_espeon.aif new file mode 100644 index 0000000000..53dc62f4d8 Binary files /dev/null and b/sound/direct_sound_samples/cry_espeon.aif differ diff --git a/sound/direct_sound_samples/cry_exeggcute.aif b/sound/direct_sound_samples/cry_exeggcute.aif new file mode 100644 index 0000000000..147912c2fc Binary files /dev/null and b/sound/direct_sound_samples/cry_exeggcute.aif differ diff --git a/sound/direct_sound_samples/cry_exeggutor.aif b/sound/direct_sound_samples/cry_exeggutor.aif new file mode 100644 index 0000000000..c0b9177bfa Binary files /dev/null and b/sound/direct_sound_samples/cry_exeggutor.aif differ diff --git a/sound/direct_sound_samples/cry_exploud.aif b/sound/direct_sound_samples/cry_exploud.aif new file mode 100644 index 0000000000..5b80870cc4 Binary files /dev/null and b/sound/direct_sound_samples/cry_exploud.aif differ diff --git a/sound/direct_sound_samples/cry_farfetchd.aif b/sound/direct_sound_samples/cry_farfetchd.aif new file mode 100644 index 0000000000..f1db556dc7 Binary files /dev/null and b/sound/direct_sound_samples/cry_farfetchd.aif differ diff --git a/sound/direct_sound_samples/cry_fearow.aif b/sound/direct_sound_samples/cry_fearow.aif new file mode 100644 index 0000000000..74a76f6d4f Binary files /dev/null and b/sound/direct_sound_samples/cry_fearow.aif differ diff --git a/sound/direct_sound_samples/cry_feebas.aif b/sound/direct_sound_samples/cry_feebas.aif new file mode 100644 index 0000000000..c386522f18 Binary files /dev/null and b/sound/direct_sound_samples/cry_feebas.aif differ diff --git a/sound/direct_sound_samples/cry_feraligatr.aif b/sound/direct_sound_samples/cry_feraligatr.aif new file mode 100644 index 0000000000..9fcd93cffd Binary files /dev/null and b/sound/direct_sound_samples/cry_feraligatr.aif differ diff --git a/sound/direct_sound_samples/cry_flaaffy.aif b/sound/direct_sound_samples/cry_flaaffy.aif new file mode 100644 index 0000000000..93dfacfaf0 Binary files /dev/null and b/sound/direct_sound_samples/cry_flaaffy.aif differ diff --git a/sound/direct_sound_samples/cry_flareon.aif b/sound/direct_sound_samples/cry_flareon.aif new file mode 100644 index 0000000000..58d28e60ad Binary files /dev/null and b/sound/direct_sound_samples/cry_flareon.aif differ diff --git a/sound/direct_sound_samples/cry_flygon.aif b/sound/direct_sound_samples/cry_flygon.aif new file mode 100644 index 0000000000..c8c3770160 Binary files /dev/null and b/sound/direct_sound_samples/cry_flygon.aif differ diff --git a/sound/direct_sound_samples/cry_forretress.aif b/sound/direct_sound_samples/cry_forretress.aif new file mode 100644 index 0000000000..288dacbead Binary files /dev/null and b/sound/direct_sound_samples/cry_forretress.aif differ diff --git a/sound/direct_sound_samples/cry_furret.aif b/sound/direct_sound_samples/cry_furret.aif new file mode 100644 index 0000000000..6b4e9ce119 Binary files /dev/null and b/sound/direct_sound_samples/cry_furret.aif differ diff --git a/sound/direct_sound_samples/cry_gardevoir.aif b/sound/direct_sound_samples/cry_gardevoir.aif new file mode 100644 index 0000000000..a147809903 Binary files /dev/null and b/sound/direct_sound_samples/cry_gardevoir.aif differ diff --git a/sound/direct_sound_samples/cry_gastly.aif b/sound/direct_sound_samples/cry_gastly.aif new file mode 100644 index 0000000000..93cef851dd Binary files /dev/null and b/sound/direct_sound_samples/cry_gastly.aif differ diff --git a/sound/direct_sound_samples/cry_gengar.aif b/sound/direct_sound_samples/cry_gengar.aif new file mode 100644 index 0000000000..379b5d37e5 Binary files /dev/null and b/sound/direct_sound_samples/cry_gengar.aif differ diff --git a/sound/direct_sound_samples/cry_geodude.aif b/sound/direct_sound_samples/cry_geodude.aif new file mode 100644 index 0000000000..143b9031ce Binary files /dev/null and b/sound/direct_sound_samples/cry_geodude.aif differ diff --git a/sound/direct_sound_samples/cry_girafarig.aif b/sound/direct_sound_samples/cry_girafarig.aif new file mode 100644 index 0000000000..1dd5f93e24 Binary files /dev/null and b/sound/direct_sound_samples/cry_girafarig.aif differ diff --git a/sound/direct_sound_samples/cry_glalie.aif b/sound/direct_sound_samples/cry_glalie.aif new file mode 100644 index 0000000000..e4e8965476 Binary files /dev/null and b/sound/direct_sound_samples/cry_glalie.aif differ diff --git a/sound/direct_sound_samples/cry_gligar.aif b/sound/direct_sound_samples/cry_gligar.aif new file mode 100644 index 0000000000..4050f08b01 Binary files /dev/null and b/sound/direct_sound_samples/cry_gligar.aif differ diff --git a/sound/direct_sound_samples/cry_gloom.aif b/sound/direct_sound_samples/cry_gloom.aif new file mode 100644 index 0000000000..e930328acc Binary files /dev/null and b/sound/direct_sound_samples/cry_gloom.aif differ diff --git a/sound/direct_sound_samples/cry_golbat.aif b/sound/direct_sound_samples/cry_golbat.aif new file mode 100644 index 0000000000..11413df3a4 Binary files /dev/null and b/sound/direct_sound_samples/cry_golbat.aif differ diff --git a/sound/direct_sound_samples/cry_goldeen.aif b/sound/direct_sound_samples/cry_goldeen.aif new file mode 100644 index 0000000000..81fd1ecdf0 Binary files /dev/null and b/sound/direct_sound_samples/cry_goldeen.aif differ diff --git a/sound/direct_sound_samples/cry_golduck.aif b/sound/direct_sound_samples/cry_golduck.aif new file mode 100644 index 0000000000..b6b71a7a41 Binary files /dev/null and b/sound/direct_sound_samples/cry_golduck.aif differ diff --git a/sound/direct_sound_samples/cry_golem.aif b/sound/direct_sound_samples/cry_golem.aif new file mode 100644 index 0000000000..0d2c4515ed Binary files /dev/null and b/sound/direct_sound_samples/cry_golem.aif differ diff --git a/sound/direct_sound_samples/cry_gorebyss.aif b/sound/direct_sound_samples/cry_gorebyss.aif new file mode 100644 index 0000000000..b7605062c7 Binary files /dev/null and b/sound/direct_sound_samples/cry_gorebyss.aif differ diff --git a/sound/direct_sound_samples/cry_granbull.aif b/sound/direct_sound_samples/cry_granbull.aif new file mode 100644 index 0000000000..146b3bd0c1 Binary files /dev/null and b/sound/direct_sound_samples/cry_granbull.aif differ diff --git a/sound/direct_sound_samples/cry_graveler.aif b/sound/direct_sound_samples/cry_graveler.aif new file mode 100644 index 0000000000..7739942280 Binary files /dev/null and b/sound/direct_sound_samples/cry_graveler.aif differ diff --git a/sound/direct_sound_samples/cry_grimer.aif b/sound/direct_sound_samples/cry_grimer.aif new file mode 100644 index 0000000000..95eed1061f Binary files /dev/null and b/sound/direct_sound_samples/cry_grimer.aif differ diff --git a/sound/direct_sound_samples/cry_groudon.aif b/sound/direct_sound_samples/cry_groudon.aif new file mode 100644 index 0000000000..62452b4d9d Binary files /dev/null and b/sound/direct_sound_samples/cry_groudon.aif differ diff --git a/sound/direct_sound_samples/cry_grovyle.aif b/sound/direct_sound_samples/cry_grovyle.aif new file mode 100644 index 0000000000..983bcfff36 Binary files /dev/null and b/sound/direct_sound_samples/cry_grovyle.aif differ diff --git a/sound/direct_sound_samples/cry_growlithe.aif b/sound/direct_sound_samples/cry_growlithe.aif new file mode 100644 index 0000000000..134e298345 Binary files /dev/null and b/sound/direct_sound_samples/cry_growlithe.aif differ diff --git a/sound/direct_sound_samples/cry_grumpig.aif b/sound/direct_sound_samples/cry_grumpig.aif new file mode 100644 index 0000000000..97c3720766 Binary files /dev/null and b/sound/direct_sound_samples/cry_grumpig.aif differ diff --git a/sound/direct_sound_samples/cry_gulpin.aif b/sound/direct_sound_samples/cry_gulpin.aif new file mode 100644 index 0000000000..f3043b422d Binary files /dev/null and b/sound/direct_sound_samples/cry_gulpin.aif differ diff --git a/sound/direct_sound_samples/cry_gyarados.aif b/sound/direct_sound_samples/cry_gyarados.aif new file mode 100644 index 0000000000..238b6d7213 Binary files /dev/null and b/sound/direct_sound_samples/cry_gyarados.aif differ diff --git a/sound/direct_sound_samples/cry_hariyama.aif b/sound/direct_sound_samples/cry_hariyama.aif new file mode 100644 index 0000000000..1ac1f3f7e7 Binary files /dev/null and b/sound/direct_sound_samples/cry_hariyama.aif differ diff --git a/sound/direct_sound_samples/cry_haunter.aif b/sound/direct_sound_samples/cry_haunter.aif new file mode 100644 index 0000000000..60ec72171a Binary files /dev/null and b/sound/direct_sound_samples/cry_haunter.aif differ diff --git a/sound/direct_sound_samples/cry_heracross.aif b/sound/direct_sound_samples/cry_heracross.aif new file mode 100644 index 0000000000..a0734748f2 Binary files /dev/null and b/sound/direct_sound_samples/cry_heracross.aif differ diff --git a/sound/direct_sound_samples/cry_hitmonchan.aif b/sound/direct_sound_samples/cry_hitmonchan.aif new file mode 100644 index 0000000000..40479452c1 Binary files /dev/null and b/sound/direct_sound_samples/cry_hitmonchan.aif differ diff --git a/sound/direct_sound_samples/cry_hitmonlee.aif b/sound/direct_sound_samples/cry_hitmonlee.aif new file mode 100644 index 0000000000..3a4bcddcac Binary files /dev/null and b/sound/direct_sound_samples/cry_hitmonlee.aif differ diff --git a/sound/direct_sound_samples/cry_hitmontop.aif b/sound/direct_sound_samples/cry_hitmontop.aif new file mode 100644 index 0000000000..3fbee8041a Binary files /dev/null and b/sound/direct_sound_samples/cry_hitmontop.aif differ diff --git a/sound/direct_sound_samples/cry_ho_oh.aif b/sound/direct_sound_samples/cry_ho_oh.aif new file mode 100644 index 0000000000..52f8dd3075 Binary files /dev/null and b/sound/direct_sound_samples/cry_ho_oh.aif differ diff --git a/sound/direct_sound_samples/cry_hoothoot.aif b/sound/direct_sound_samples/cry_hoothoot.aif new file mode 100644 index 0000000000..59e685dccc Binary files /dev/null and b/sound/direct_sound_samples/cry_hoothoot.aif differ diff --git a/sound/direct_sound_samples/cry_hoppip.aif b/sound/direct_sound_samples/cry_hoppip.aif new file mode 100644 index 0000000000..ea47877d01 Binary files /dev/null and b/sound/direct_sound_samples/cry_hoppip.aif differ diff --git a/sound/direct_sound_samples/cry_horsea.aif b/sound/direct_sound_samples/cry_horsea.aif new file mode 100644 index 0000000000..e41eff4b14 Binary files /dev/null and b/sound/direct_sound_samples/cry_horsea.aif differ diff --git a/sound/direct_sound_samples/cry_houndoom.aif b/sound/direct_sound_samples/cry_houndoom.aif new file mode 100644 index 0000000000..6fec16d395 Binary files /dev/null and b/sound/direct_sound_samples/cry_houndoom.aif differ diff --git a/sound/direct_sound_samples/cry_houndour.aif b/sound/direct_sound_samples/cry_houndour.aif new file mode 100644 index 0000000000..7431bbf297 Binary files /dev/null and b/sound/direct_sound_samples/cry_houndour.aif differ diff --git a/sound/direct_sound_samples/cry_huntail.aif b/sound/direct_sound_samples/cry_huntail.aif new file mode 100644 index 0000000000..f1d3b29d93 Binary files /dev/null and b/sound/direct_sound_samples/cry_huntail.aif differ diff --git a/sound/direct_sound_samples/cry_hypno.aif b/sound/direct_sound_samples/cry_hypno.aif new file mode 100644 index 0000000000..32672a3c34 Binary files /dev/null and b/sound/direct_sound_samples/cry_hypno.aif differ diff --git a/sound/direct_sound_samples/cry_igglybuff.aif b/sound/direct_sound_samples/cry_igglybuff.aif new file mode 100644 index 0000000000..8de8394d59 Binary files /dev/null and b/sound/direct_sound_samples/cry_igglybuff.aif differ diff --git a/sound/direct_sound_samples/cry_illumise.aif b/sound/direct_sound_samples/cry_illumise.aif new file mode 100644 index 0000000000..75e03efc82 Binary files /dev/null and b/sound/direct_sound_samples/cry_illumise.aif differ diff --git a/sound/direct_sound_samples/cry_ivysaur.aif b/sound/direct_sound_samples/cry_ivysaur.aif new file mode 100644 index 0000000000..ea474ff888 Binary files /dev/null and b/sound/direct_sound_samples/cry_ivysaur.aif differ diff --git a/sound/direct_sound_samples/cry_jigglypuff.aif b/sound/direct_sound_samples/cry_jigglypuff.aif new file mode 100644 index 0000000000..780424b4f0 Binary files /dev/null and b/sound/direct_sound_samples/cry_jigglypuff.aif differ diff --git a/sound/direct_sound_samples/cry_jirachi.aif b/sound/direct_sound_samples/cry_jirachi.aif new file mode 100644 index 0000000000..ea8a5c8ad1 Binary files /dev/null and b/sound/direct_sound_samples/cry_jirachi.aif differ diff --git a/sound/direct_sound_samples/cry_jolteon.aif b/sound/direct_sound_samples/cry_jolteon.aif new file mode 100644 index 0000000000..0133691580 Binary files /dev/null and b/sound/direct_sound_samples/cry_jolteon.aif differ diff --git a/sound/direct_sound_samples/cry_jumpluff.aif b/sound/direct_sound_samples/cry_jumpluff.aif new file mode 100644 index 0000000000..13b0fd315d Binary files /dev/null and b/sound/direct_sound_samples/cry_jumpluff.aif differ diff --git a/sound/direct_sound_samples/cry_jynx.aif b/sound/direct_sound_samples/cry_jynx.aif new file mode 100644 index 0000000000..7394a48a2d Binary files /dev/null and b/sound/direct_sound_samples/cry_jynx.aif differ diff --git a/sound/direct_sound_samples/cry_kabuto.aif b/sound/direct_sound_samples/cry_kabuto.aif new file mode 100644 index 0000000000..6ae9801b5c Binary files /dev/null and b/sound/direct_sound_samples/cry_kabuto.aif differ diff --git a/sound/direct_sound_samples/cry_kabutops.aif b/sound/direct_sound_samples/cry_kabutops.aif new file mode 100644 index 0000000000..cb888bff9e Binary files /dev/null and b/sound/direct_sound_samples/cry_kabutops.aif differ diff --git a/sound/direct_sound_samples/cry_kadabra.aif b/sound/direct_sound_samples/cry_kadabra.aif new file mode 100644 index 0000000000..bfcc180316 Binary files /dev/null and b/sound/direct_sound_samples/cry_kadabra.aif differ diff --git a/sound/direct_sound_samples/cry_kakuna.aif b/sound/direct_sound_samples/cry_kakuna.aif new file mode 100644 index 0000000000..7c4e9d7a86 Binary files /dev/null and b/sound/direct_sound_samples/cry_kakuna.aif differ diff --git a/sound/direct_sound_samples/cry_kangaskhan.aif b/sound/direct_sound_samples/cry_kangaskhan.aif new file mode 100644 index 0000000000..643e81eb7f Binary files /dev/null and b/sound/direct_sound_samples/cry_kangaskhan.aif differ diff --git a/sound/direct_sound_samples/cry_kecleon.aif b/sound/direct_sound_samples/cry_kecleon.aif new file mode 100644 index 0000000000..f27ae18323 Binary files /dev/null and b/sound/direct_sound_samples/cry_kecleon.aif differ diff --git a/sound/direct_sound_samples/cry_kingdra.aif b/sound/direct_sound_samples/cry_kingdra.aif new file mode 100644 index 0000000000..ade230c824 Binary files /dev/null and b/sound/direct_sound_samples/cry_kingdra.aif differ diff --git a/sound/direct_sound_samples/cry_kingler.aif b/sound/direct_sound_samples/cry_kingler.aif new file mode 100644 index 0000000000..a1d845f455 Binary files /dev/null and b/sound/direct_sound_samples/cry_kingler.aif differ diff --git a/sound/direct_sound_samples/cry_kirlia.aif b/sound/direct_sound_samples/cry_kirlia.aif new file mode 100644 index 0000000000..692e03e5fe Binary files /dev/null and b/sound/direct_sound_samples/cry_kirlia.aif differ diff --git a/sound/direct_sound_samples/cry_koffing.aif b/sound/direct_sound_samples/cry_koffing.aif new file mode 100644 index 0000000000..7ca9de0889 Binary files /dev/null and b/sound/direct_sound_samples/cry_koffing.aif differ diff --git a/sound/direct_sound_samples/cry_krabby.aif b/sound/direct_sound_samples/cry_krabby.aif new file mode 100644 index 0000000000..6b7692f219 Binary files /dev/null and b/sound/direct_sound_samples/cry_krabby.aif differ diff --git a/sound/direct_sound_samples/cry_kyogre.aif b/sound/direct_sound_samples/cry_kyogre.aif new file mode 100644 index 0000000000..290948319a Binary files /dev/null and b/sound/direct_sound_samples/cry_kyogre.aif differ diff --git a/sound/direct_sound_samples/cry_lairon.aif b/sound/direct_sound_samples/cry_lairon.aif new file mode 100644 index 0000000000..b487165bfb Binary files /dev/null and b/sound/direct_sound_samples/cry_lairon.aif differ diff --git a/sound/direct_sound_samples/cry_lanturn.aif b/sound/direct_sound_samples/cry_lanturn.aif new file mode 100644 index 0000000000..dfeac1fbd9 Binary files /dev/null and b/sound/direct_sound_samples/cry_lanturn.aif differ diff --git a/sound/direct_sound_samples/cry_lapras.aif b/sound/direct_sound_samples/cry_lapras.aif new file mode 100644 index 0000000000..61de32408d Binary files /dev/null and b/sound/direct_sound_samples/cry_lapras.aif differ diff --git a/sound/direct_sound_samples/cry_larvitar.aif b/sound/direct_sound_samples/cry_larvitar.aif new file mode 100644 index 0000000000..1ab0e1d5f0 Binary files /dev/null and b/sound/direct_sound_samples/cry_larvitar.aif differ diff --git a/sound/direct_sound_samples/cry_latias.aif b/sound/direct_sound_samples/cry_latias.aif new file mode 100644 index 0000000000..46f7235f38 Binary files /dev/null and b/sound/direct_sound_samples/cry_latias.aif differ diff --git a/sound/direct_sound_samples/cry_latios.aif b/sound/direct_sound_samples/cry_latios.aif new file mode 100644 index 0000000000..b8ace2a301 Binary files /dev/null and b/sound/direct_sound_samples/cry_latios.aif differ diff --git a/sound/direct_sound_samples/cry_ledian.aif b/sound/direct_sound_samples/cry_ledian.aif new file mode 100644 index 0000000000..baefb5fa39 Binary files /dev/null and b/sound/direct_sound_samples/cry_ledian.aif differ diff --git a/sound/direct_sound_samples/cry_ledyba.aif b/sound/direct_sound_samples/cry_ledyba.aif new file mode 100644 index 0000000000..4f26859a7b Binary files /dev/null and b/sound/direct_sound_samples/cry_ledyba.aif differ diff --git a/sound/direct_sound_samples/cry_lickitung.aif b/sound/direct_sound_samples/cry_lickitung.aif new file mode 100644 index 0000000000..e469450a10 Binary files /dev/null and b/sound/direct_sound_samples/cry_lickitung.aif differ diff --git a/sound/direct_sound_samples/cry_lileep.aif b/sound/direct_sound_samples/cry_lileep.aif new file mode 100644 index 0000000000..ed8258eb72 Binary files /dev/null and b/sound/direct_sound_samples/cry_lileep.aif differ diff --git a/sound/direct_sound_samples/cry_linoone.aif b/sound/direct_sound_samples/cry_linoone.aif new file mode 100644 index 0000000000..4e5e7d3b57 Binary files /dev/null and b/sound/direct_sound_samples/cry_linoone.aif differ diff --git a/sound/direct_sound_samples/cry_lombre.aif b/sound/direct_sound_samples/cry_lombre.aif new file mode 100644 index 0000000000..abafe4321d Binary files /dev/null and b/sound/direct_sound_samples/cry_lombre.aif differ diff --git a/sound/direct_sound_samples/cry_lotad.aif b/sound/direct_sound_samples/cry_lotad.aif new file mode 100644 index 0000000000..2596f43901 Binary files /dev/null and b/sound/direct_sound_samples/cry_lotad.aif differ diff --git a/sound/direct_sound_samples/cry_loudred.aif b/sound/direct_sound_samples/cry_loudred.aif new file mode 100644 index 0000000000..fed7ebec85 Binary files /dev/null and b/sound/direct_sound_samples/cry_loudred.aif differ diff --git a/sound/direct_sound_samples/cry_ludicolo.aif b/sound/direct_sound_samples/cry_ludicolo.aif new file mode 100644 index 0000000000..7cf670f38d Binary files /dev/null and b/sound/direct_sound_samples/cry_ludicolo.aif differ diff --git a/sound/direct_sound_samples/cry_lugia.aif b/sound/direct_sound_samples/cry_lugia.aif new file mode 100644 index 0000000000..45890a2fc6 Binary files /dev/null and b/sound/direct_sound_samples/cry_lugia.aif differ diff --git a/sound/direct_sound_samples/cry_lunatone.aif b/sound/direct_sound_samples/cry_lunatone.aif new file mode 100644 index 0000000000..42cbc5e3c9 Binary files /dev/null and b/sound/direct_sound_samples/cry_lunatone.aif differ diff --git a/sound/direct_sound_samples/cry_luvdisc.aif b/sound/direct_sound_samples/cry_luvdisc.aif new file mode 100644 index 0000000000..3cc0cc7444 Binary files /dev/null and b/sound/direct_sound_samples/cry_luvdisc.aif differ diff --git a/sound/direct_sound_samples/cry_machamp.aif b/sound/direct_sound_samples/cry_machamp.aif new file mode 100644 index 0000000000..ddeaf22c81 Binary files /dev/null and b/sound/direct_sound_samples/cry_machamp.aif differ diff --git a/sound/direct_sound_samples/cry_machoke.aif b/sound/direct_sound_samples/cry_machoke.aif new file mode 100644 index 0000000000..97065ee091 Binary files /dev/null and b/sound/direct_sound_samples/cry_machoke.aif differ diff --git a/sound/direct_sound_samples/cry_machop.aif b/sound/direct_sound_samples/cry_machop.aif new file mode 100644 index 0000000000..d92419e849 Binary files /dev/null and b/sound/direct_sound_samples/cry_machop.aif differ diff --git a/sound/direct_sound_samples/cry_magby.aif b/sound/direct_sound_samples/cry_magby.aif new file mode 100644 index 0000000000..12f3dc8895 Binary files /dev/null and b/sound/direct_sound_samples/cry_magby.aif differ diff --git a/sound/direct_sound_samples/cry_magcargo.aif b/sound/direct_sound_samples/cry_magcargo.aif new file mode 100644 index 0000000000..bef0351c0e Binary files /dev/null and b/sound/direct_sound_samples/cry_magcargo.aif differ diff --git a/sound/direct_sound_samples/cry_magikarp.aif b/sound/direct_sound_samples/cry_magikarp.aif new file mode 100644 index 0000000000..f4f9219c53 Binary files /dev/null and b/sound/direct_sound_samples/cry_magikarp.aif differ diff --git a/sound/direct_sound_samples/cry_magmar.aif b/sound/direct_sound_samples/cry_magmar.aif new file mode 100644 index 0000000000..b79c8b9a10 Binary files /dev/null and b/sound/direct_sound_samples/cry_magmar.aif differ diff --git a/sound/direct_sound_samples/cry_magnemite.aif b/sound/direct_sound_samples/cry_magnemite.aif new file mode 100644 index 0000000000..ebb9103d90 Binary files /dev/null and b/sound/direct_sound_samples/cry_magnemite.aif differ diff --git a/sound/direct_sound_samples/cry_magneton.aif b/sound/direct_sound_samples/cry_magneton.aif new file mode 100644 index 0000000000..53083ac620 Binary files /dev/null and b/sound/direct_sound_samples/cry_magneton.aif differ diff --git a/sound/direct_sound_samples/cry_makuhita.aif b/sound/direct_sound_samples/cry_makuhita.aif new file mode 100644 index 0000000000..38d7f4b443 Binary files /dev/null and b/sound/direct_sound_samples/cry_makuhita.aif differ diff --git a/sound/direct_sound_samples/cry_manectric.aif b/sound/direct_sound_samples/cry_manectric.aif new file mode 100644 index 0000000000..18a8f4666f Binary files /dev/null and b/sound/direct_sound_samples/cry_manectric.aif differ diff --git a/sound/direct_sound_samples/cry_mankey.aif b/sound/direct_sound_samples/cry_mankey.aif new file mode 100644 index 0000000000..dda929d4cb Binary files /dev/null and b/sound/direct_sound_samples/cry_mankey.aif differ diff --git a/sound/direct_sound_samples/cry_mantine.aif b/sound/direct_sound_samples/cry_mantine.aif new file mode 100644 index 0000000000..d1840aafa9 Binary files /dev/null and b/sound/direct_sound_samples/cry_mantine.aif differ diff --git a/sound/direct_sound_samples/cry_mareep.aif b/sound/direct_sound_samples/cry_mareep.aif new file mode 100644 index 0000000000..2615b9defb Binary files /dev/null and b/sound/direct_sound_samples/cry_mareep.aif differ diff --git a/sound/direct_sound_samples/cry_marill.aif b/sound/direct_sound_samples/cry_marill.aif new file mode 100644 index 0000000000..48d936e7d8 Binary files /dev/null and b/sound/direct_sound_samples/cry_marill.aif differ diff --git a/sound/direct_sound_samples/cry_marowak.aif b/sound/direct_sound_samples/cry_marowak.aif new file mode 100644 index 0000000000..279381bb56 Binary files /dev/null and b/sound/direct_sound_samples/cry_marowak.aif differ diff --git a/sound/direct_sound_samples/cry_marshtomp.aif b/sound/direct_sound_samples/cry_marshtomp.aif new file mode 100644 index 0000000000..c0106ff6c4 Binary files /dev/null and b/sound/direct_sound_samples/cry_marshtomp.aif differ diff --git a/sound/direct_sound_samples/cry_masquerain.aif b/sound/direct_sound_samples/cry_masquerain.aif new file mode 100644 index 0000000000..107bed2f73 Binary files /dev/null and b/sound/direct_sound_samples/cry_masquerain.aif differ diff --git a/sound/direct_sound_samples/cry_mawile.aif b/sound/direct_sound_samples/cry_mawile.aif new file mode 100644 index 0000000000..81b252b575 Binary files /dev/null and b/sound/direct_sound_samples/cry_mawile.aif differ diff --git a/sound/direct_sound_samples/cry_medicham.aif b/sound/direct_sound_samples/cry_medicham.aif new file mode 100644 index 0000000000..dc85dd3b59 Binary files /dev/null and b/sound/direct_sound_samples/cry_medicham.aif differ diff --git a/sound/direct_sound_samples/cry_meditite.aif b/sound/direct_sound_samples/cry_meditite.aif new file mode 100644 index 0000000000..8ac680f79c Binary files /dev/null and b/sound/direct_sound_samples/cry_meditite.aif differ diff --git a/sound/direct_sound_samples/cry_meganium.aif b/sound/direct_sound_samples/cry_meganium.aif new file mode 100644 index 0000000000..ea1e1aa515 Binary files /dev/null and b/sound/direct_sound_samples/cry_meganium.aif differ diff --git a/sound/direct_sound_samples/cry_meowth.aif b/sound/direct_sound_samples/cry_meowth.aif new file mode 100644 index 0000000000..aaf3825d59 Binary files /dev/null and b/sound/direct_sound_samples/cry_meowth.aif differ diff --git a/sound/direct_sound_samples/cry_metagross.aif b/sound/direct_sound_samples/cry_metagross.aif new file mode 100644 index 0000000000..b96e6647c7 Binary files /dev/null and b/sound/direct_sound_samples/cry_metagross.aif differ diff --git a/sound/direct_sound_samples/cry_metang.aif b/sound/direct_sound_samples/cry_metang.aif new file mode 100644 index 0000000000..da544ce4d1 Binary files /dev/null and b/sound/direct_sound_samples/cry_metang.aif differ diff --git a/sound/direct_sound_samples/cry_metapod.aif b/sound/direct_sound_samples/cry_metapod.aif new file mode 100644 index 0000000000..ddba3ed447 Binary files /dev/null and b/sound/direct_sound_samples/cry_metapod.aif differ diff --git a/sound/direct_sound_samples/cry_mew.aif b/sound/direct_sound_samples/cry_mew.aif new file mode 100644 index 0000000000..2651b96ca9 Binary files /dev/null and b/sound/direct_sound_samples/cry_mew.aif differ diff --git a/sound/direct_sound_samples/cry_mewtwo.aif b/sound/direct_sound_samples/cry_mewtwo.aif new file mode 100644 index 0000000000..8e1e6c7f13 Binary files /dev/null and b/sound/direct_sound_samples/cry_mewtwo.aif differ diff --git a/sound/direct_sound_samples/cry_mightyena.aif b/sound/direct_sound_samples/cry_mightyena.aif new file mode 100644 index 0000000000..53a645edc5 Binary files /dev/null and b/sound/direct_sound_samples/cry_mightyena.aif differ diff --git a/sound/direct_sound_samples/cry_milotic.aif b/sound/direct_sound_samples/cry_milotic.aif new file mode 100644 index 0000000000..93a14161b6 Binary files /dev/null and b/sound/direct_sound_samples/cry_milotic.aif differ diff --git a/sound/direct_sound_samples/cry_miltank.aif b/sound/direct_sound_samples/cry_miltank.aif new file mode 100644 index 0000000000..ad8a41a452 Binary files /dev/null and b/sound/direct_sound_samples/cry_miltank.aif differ diff --git a/sound/direct_sound_samples/cry_minun.aif b/sound/direct_sound_samples/cry_minun.aif new file mode 100644 index 0000000000..a55aa5631a Binary files /dev/null and b/sound/direct_sound_samples/cry_minun.aif differ diff --git a/sound/direct_sound_samples/cry_misdreavus.aif b/sound/direct_sound_samples/cry_misdreavus.aif new file mode 100644 index 0000000000..39a09f4d0b Binary files /dev/null and b/sound/direct_sound_samples/cry_misdreavus.aif differ diff --git a/sound/direct_sound_samples/cry_moltres.aif b/sound/direct_sound_samples/cry_moltres.aif new file mode 100644 index 0000000000..2e038a3d7e Binary files /dev/null and b/sound/direct_sound_samples/cry_moltres.aif differ diff --git a/sound/direct_sound_samples/cry_mr_mime.aif b/sound/direct_sound_samples/cry_mr_mime.aif new file mode 100644 index 0000000000..ff870dbc41 Binary files /dev/null and b/sound/direct_sound_samples/cry_mr_mime.aif differ diff --git a/sound/direct_sound_samples/cry_mudkip.aif b/sound/direct_sound_samples/cry_mudkip.aif new file mode 100644 index 0000000000..e8fa5c2121 Binary files /dev/null and b/sound/direct_sound_samples/cry_mudkip.aif differ diff --git a/sound/direct_sound_samples/cry_muk.aif b/sound/direct_sound_samples/cry_muk.aif new file mode 100644 index 0000000000..f61ff4075d Binary files /dev/null and b/sound/direct_sound_samples/cry_muk.aif differ diff --git a/sound/direct_sound_samples/cry_murkrow.aif b/sound/direct_sound_samples/cry_murkrow.aif new file mode 100644 index 0000000000..4beddff1ef Binary files /dev/null and b/sound/direct_sound_samples/cry_murkrow.aif differ diff --git a/sound/direct_sound_samples/cry_natu.aif b/sound/direct_sound_samples/cry_natu.aif new file mode 100644 index 0000000000..e6e38d5cce Binary files /dev/null and b/sound/direct_sound_samples/cry_natu.aif differ diff --git a/sound/direct_sound_samples/cry_nidoking.aif b/sound/direct_sound_samples/cry_nidoking.aif new file mode 100644 index 0000000000..a0c86f9ab2 Binary files /dev/null and b/sound/direct_sound_samples/cry_nidoking.aif differ diff --git a/sound/direct_sound_samples/cry_nidoqueen.aif b/sound/direct_sound_samples/cry_nidoqueen.aif new file mode 100644 index 0000000000..6c8f5254b3 Binary files /dev/null and b/sound/direct_sound_samples/cry_nidoqueen.aif differ diff --git a/sound/direct_sound_samples/cry_nidoran_f.aif b/sound/direct_sound_samples/cry_nidoran_f.aif new file mode 100644 index 0000000000..b7c8a53179 Binary files /dev/null and b/sound/direct_sound_samples/cry_nidoran_f.aif differ diff --git a/sound/direct_sound_samples/cry_nidoran_m.aif b/sound/direct_sound_samples/cry_nidoran_m.aif new file mode 100644 index 0000000000..08fc81c8b2 Binary files /dev/null and b/sound/direct_sound_samples/cry_nidoran_m.aif differ diff --git a/sound/direct_sound_samples/cry_nidorina.aif b/sound/direct_sound_samples/cry_nidorina.aif new file mode 100644 index 0000000000..91e293a505 Binary files /dev/null and b/sound/direct_sound_samples/cry_nidorina.aif differ diff --git a/sound/direct_sound_samples/cry_nidorino.aif b/sound/direct_sound_samples/cry_nidorino.aif new file mode 100644 index 0000000000..9593513631 Binary files /dev/null and b/sound/direct_sound_samples/cry_nidorino.aif differ diff --git a/sound/direct_sound_samples/cry_nincada.aif b/sound/direct_sound_samples/cry_nincada.aif new file mode 100644 index 0000000000..5f96bda508 Binary files /dev/null and b/sound/direct_sound_samples/cry_nincada.aif differ diff --git a/sound/direct_sound_samples/cry_ninetales.aif b/sound/direct_sound_samples/cry_ninetales.aif new file mode 100644 index 0000000000..70c8cf528f Binary files /dev/null and b/sound/direct_sound_samples/cry_ninetales.aif differ diff --git a/sound/direct_sound_samples/cry_ninjask.aif b/sound/direct_sound_samples/cry_ninjask.aif new file mode 100644 index 0000000000..a6f07e8d3d Binary files /dev/null and b/sound/direct_sound_samples/cry_ninjask.aif differ diff --git a/sound/direct_sound_samples/cry_noctowl.aif b/sound/direct_sound_samples/cry_noctowl.aif new file mode 100644 index 0000000000..fe2e63d451 Binary files /dev/null and b/sound/direct_sound_samples/cry_noctowl.aif differ diff --git a/sound/direct_sound_samples/cry_nosepass.aif b/sound/direct_sound_samples/cry_nosepass.aif new file mode 100644 index 0000000000..be65ba082a Binary files /dev/null and b/sound/direct_sound_samples/cry_nosepass.aif differ diff --git a/sound/direct_sound_samples/cry_numel.aif b/sound/direct_sound_samples/cry_numel.aif new file mode 100644 index 0000000000..55cce5f2c7 Binary files /dev/null and b/sound/direct_sound_samples/cry_numel.aif differ diff --git a/sound/direct_sound_samples/cry_nuzleaf.aif b/sound/direct_sound_samples/cry_nuzleaf.aif new file mode 100644 index 0000000000..d668f3fd39 Binary files /dev/null and b/sound/direct_sound_samples/cry_nuzleaf.aif differ diff --git a/sound/direct_sound_samples/cry_octillery.aif b/sound/direct_sound_samples/cry_octillery.aif new file mode 100644 index 0000000000..75ee28ceb3 Binary files /dev/null and b/sound/direct_sound_samples/cry_octillery.aif differ diff --git a/sound/direct_sound_samples/cry_oddish.aif b/sound/direct_sound_samples/cry_oddish.aif new file mode 100644 index 0000000000..6909a8dad7 Binary files /dev/null and b/sound/direct_sound_samples/cry_oddish.aif differ diff --git a/sound/direct_sound_samples/cry_omanyte.aif b/sound/direct_sound_samples/cry_omanyte.aif new file mode 100644 index 0000000000..15ec2d1efb Binary files /dev/null and b/sound/direct_sound_samples/cry_omanyte.aif differ diff --git a/sound/direct_sound_samples/cry_omastar.aif b/sound/direct_sound_samples/cry_omastar.aif new file mode 100644 index 0000000000..e67d5d7fcd Binary files /dev/null and b/sound/direct_sound_samples/cry_omastar.aif differ diff --git a/sound/direct_sound_samples/cry_onix.aif b/sound/direct_sound_samples/cry_onix.aif new file mode 100644 index 0000000000..aa8a16505b Binary files /dev/null and b/sound/direct_sound_samples/cry_onix.aif differ diff --git a/sound/direct_sound_samples/cry_paras.aif b/sound/direct_sound_samples/cry_paras.aif new file mode 100644 index 0000000000..f9d69c21c7 Binary files /dev/null and b/sound/direct_sound_samples/cry_paras.aif differ diff --git a/sound/direct_sound_samples/cry_parasect.aif b/sound/direct_sound_samples/cry_parasect.aif new file mode 100644 index 0000000000..d6d9433e97 Binary files /dev/null and b/sound/direct_sound_samples/cry_parasect.aif differ diff --git a/sound/direct_sound_samples/cry_pelipper.aif b/sound/direct_sound_samples/cry_pelipper.aif new file mode 100644 index 0000000000..26718f8481 Binary files /dev/null and b/sound/direct_sound_samples/cry_pelipper.aif differ diff --git a/sound/direct_sound_samples/cry_persian.aif b/sound/direct_sound_samples/cry_persian.aif new file mode 100644 index 0000000000..40b3a2c56a Binary files /dev/null and b/sound/direct_sound_samples/cry_persian.aif differ diff --git a/sound/direct_sound_samples/cry_phanpy.aif b/sound/direct_sound_samples/cry_phanpy.aif new file mode 100644 index 0000000000..2fcab3c82e Binary files /dev/null and b/sound/direct_sound_samples/cry_phanpy.aif differ diff --git a/sound/direct_sound_samples/cry_pichu.aif b/sound/direct_sound_samples/cry_pichu.aif new file mode 100644 index 0000000000..de47bbab8d Binary files /dev/null and b/sound/direct_sound_samples/cry_pichu.aif differ diff --git a/sound/direct_sound_samples/cry_pidgeot.aif b/sound/direct_sound_samples/cry_pidgeot.aif new file mode 100644 index 0000000000..af400cdc66 Binary files /dev/null and b/sound/direct_sound_samples/cry_pidgeot.aif differ diff --git a/sound/direct_sound_samples/cry_pidgeotto.aif b/sound/direct_sound_samples/cry_pidgeotto.aif new file mode 100644 index 0000000000..7c71c8f3e3 Binary files /dev/null and b/sound/direct_sound_samples/cry_pidgeotto.aif differ diff --git a/sound/direct_sound_samples/cry_pidgey.aif b/sound/direct_sound_samples/cry_pidgey.aif new file mode 100644 index 0000000000..b9c3a5d2ab Binary files /dev/null and b/sound/direct_sound_samples/cry_pidgey.aif differ diff --git a/sound/direct_sound_samples/cry_pikachu.aif b/sound/direct_sound_samples/cry_pikachu.aif new file mode 100644 index 0000000000..690bf5e1db Binary files /dev/null and b/sound/direct_sound_samples/cry_pikachu.aif differ diff --git a/sound/direct_sound_samples/cry_piloswine.aif b/sound/direct_sound_samples/cry_piloswine.aif new file mode 100644 index 0000000000..b1f34d3b50 Binary files /dev/null and b/sound/direct_sound_samples/cry_piloswine.aif differ diff --git a/sound/direct_sound_samples/cry_pineco.aif b/sound/direct_sound_samples/cry_pineco.aif new file mode 100644 index 0000000000..80292bda09 Binary files /dev/null and b/sound/direct_sound_samples/cry_pineco.aif differ diff --git a/sound/direct_sound_samples/cry_pinsir.aif b/sound/direct_sound_samples/cry_pinsir.aif new file mode 100644 index 0000000000..cf27a11def Binary files /dev/null and b/sound/direct_sound_samples/cry_pinsir.aif differ diff --git a/sound/direct_sound_samples/cry_plusle.aif b/sound/direct_sound_samples/cry_plusle.aif new file mode 100644 index 0000000000..d689842637 Binary files /dev/null and b/sound/direct_sound_samples/cry_plusle.aif differ diff --git a/sound/direct_sound_samples/cry_politoed.aif b/sound/direct_sound_samples/cry_politoed.aif new file mode 100644 index 0000000000..38b1883b47 Binary files /dev/null and b/sound/direct_sound_samples/cry_politoed.aif differ diff --git a/sound/direct_sound_samples/cry_poliwag.aif b/sound/direct_sound_samples/cry_poliwag.aif new file mode 100644 index 0000000000..8467f05403 Binary files /dev/null and b/sound/direct_sound_samples/cry_poliwag.aif differ diff --git a/sound/direct_sound_samples/cry_poliwhirl.aif b/sound/direct_sound_samples/cry_poliwhirl.aif new file mode 100644 index 0000000000..f0851c693b Binary files /dev/null and b/sound/direct_sound_samples/cry_poliwhirl.aif differ diff --git a/sound/direct_sound_samples/cry_poliwrath.aif b/sound/direct_sound_samples/cry_poliwrath.aif new file mode 100644 index 0000000000..8d19f1d868 Binary files /dev/null and b/sound/direct_sound_samples/cry_poliwrath.aif differ diff --git a/sound/direct_sound_samples/cry_ponyta.aif b/sound/direct_sound_samples/cry_ponyta.aif new file mode 100644 index 0000000000..46feb123d7 Binary files /dev/null and b/sound/direct_sound_samples/cry_ponyta.aif differ diff --git a/sound/direct_sound_samples/cry_poochyena.aif b/sound/direct_sound_samples/cry_poochyena.aif new file mode 100644 index 0000000000..3b464ce130 Binary files /dev/null and b/sound/direct_sound_samples/cry_poochyena.aif differ diff --git a/sound/direct_sound_samples/cry_porygon.aif b/sound/direct_sound_samples/cry_porygon.aif new file mode 100644 index 0000000000..ced70b379f Binary files /dev/null and b/sound/direct_sound_samples/cry_porygon.aif differ diff --git a/sound/direct_sound_samples/cry_porygon2.aif b/sound/direct_sound_samples/cry_porygon2.aif new file mode 100644 index 0000000000..c08a3caafd Binary files /dev/null and b/sound/direct_sound_samples/cry_porygon2.aif differ diff --git a/sound/direct_sound_samples/cry_primeape.aif b/sound/direct_sound_samples/cry_primeape.aif new file mode 100644 index 0000000000..a868b31209 Binary files /dev/null and b/sound/direct_sound_samples/cry_primeape.aif differ diff --git a/sound/direct_sound_samples/cry_psyduck.aif b/sound/direct_sound_samples/cry_psyduck.aif new file mode 100644 index 0000000000..d2d0612f27 Binary files /dev/null and b/sound/direct_sound_samples/cry_psyduck.aif differ diff --git a/sound/direct_sound_samples/cry_pupitar.aif b/sound/direct_sound_samples/cry_pupitar.aif new file mode 100644 index 0000000000..7386636cea Binary files /dev/null and b/sound/direct_sound_samples/cry_pupitar.aif differ diff --git a/sound/direct_sound_samples/cry_quagsire.aif b/sound/direct_sound_samples/cry_quagsire.aif new file mode 100644 index 0000000000..1953d0e425 Binary files /dev/null and b/sound/direct_sound_samples/cry_quagsire.aif differ diff --git a/sound/direct_sound_samples/cry_quilava.aif b/sound/direct_sound_samples/cry_quilava.aif new file mode 100644 index 0000000000..efe8732290 Binary files /dev/null and b/sound/direct_sound_samples/cry_quilava.aif differ diff --git a/sound/direct_sound_samples/cry_qwilfish.aif b/sound/direct_sound_samples/cry_qwilfish.aif new file mode 100644 index 0000000000..268c5c89de Binary files /dev/null and b/sound/direct_sound_samples/cry_qwilfish.aif differ diff --git a/sound/direct_sound_samples/cry_raichu.aif b/sound/direct_sound_samples/cry_raichu.aif new file mode 100644 index 0000000000..e59ffbad49 Binary files /dev/null and b/sound/direct_sound_samples/cry_raichu.aif differ diff --git a/sound/direct_sound_samples/cry_raikou.aif b/sound/direct_sound_samples/cry_raikou.aif new file mode 100644 index 0000000000..a57a2365ca Binary files /dev/null and b/sound/direct_sound_samples/cry_raikou.aif differ diff --git a/sound/direct_sound_samples/cry_ralts.aif b/sound/direct_sound_samples/cry_ralts.aif new file mode 100644 index 0000000000..0baef57608 Binary files /dev/null and b/sound/direct_sound_samples/cry_ralts.aif differ diff --git a/sound/direct_sound_samples/cry_rapidash.aif b/sound/direct_sound_samples/cry_rapidash.aif new file mode 100644 index 0000000000..920f510e46 Binary files /dev/null and b/sound/direct_sound_samples/cry_rapidash.aif differ diff --git a/sound/direct_sound_samples/cry_raticate.aif b/sound/direct_sound_samples/cry_raticate.aif new file mode 100644 index 0000000000..01601cab55 Binary files /dev/null and b/sound/direct_sound_samples/cry_raticate.aif differ diff --git a/sound/direct_sound_samples/cry_rattata.aif b/sound/direct_sound_samples/cry_rattata.aif new file mode 100644 index 0000000000..cb0e1f4222 Binary files /dev/null and b/sound/direct_sound_samples/cry_rattata.aif differ diff --git a/sound/direct_sound_samples/cry_rayquaza.aif b/sound/direct_sound_samples/cry_rayquaza.aif new file mode 100644 index 0000000000..6115e11d83 Binary files /dev/null and b/sound/direct_sound_samples/cry_rayquaza.aif differ diff --git a/sound/direct_sound_samples/cry_regice.aif b/sound/direct_sound_samples/cry_regice.aif new file mode 100644 index 0000000000..6fa23dd73f Binary files /dev/null and b/sound/direct_sound_samples/cry_regice.aif differ diff --git a/sound/direct_sound_samples/cry_regirock.aif b/sound/direct_sound_samples/cry_regirock.aif new file mode 100644 index 0000000000..ab2a47eb86 Binary files /dev/null and b/sound/direct_sound_samples/cry_regirock.aif differ diff --git a/sound/direct_sound_samples/cry_registeel.aif b/sound/direct_sound_samples/cry_registeel.aif new file mode 100644 index 0000000000..f5374e5f0c Binary files /dev/null and b/sound/direct_sound_samples/cry_registeel.aif differ diff --git a/sound/direct_sound_samples/cry_relicanth.aif b/sound/direct_sound_samples/cry_relicanth.aif new file mode 100644 index 0000000000..60af9cf4e6 Binary files /dev/null and b/sound/direct_sound_samples/cry_relicanth.aif differ diff --git a/sound/direct_sound_samples/cry_remoraid.aif b/sound/direct_sound_samples/cry_remoraid.aif new file mode 100644 index 0000000000..16d3f1d65d Binary files /dev/null and b/sound/direct_sound_samples/cry_remoraid.aif differ diff --git a/sound/direct_sound_samples/cry_rhydon.aif b/sound/direct_sound_samples/cry_rhydon.aif new file mode 100644 index 0000000000..cfa709ee96 Binary files /dev/null and b/sound/direct_sound_samples/cry_rhydon.aif differ diff --git a/sound/direct_sound_samples/cry_rhyhorn.aif b/sound/direct_sound_samples/cry_rhyhorn.aif new file mode 100644 index 0000000000..47f344ba21 Binary files /dev/null and b/sound/direct_sound_samples/cry_rhyhorn.aif differ diff --git a/sound/direct_sound_samples/cry_roselia.aif b/sound/direct_sound_samples/cry_roselia.aif new file mode 100644 index 0000000000..50b60b77b8 Binary files /dev/null and b/sound/direct_sound_samples/cry_roselia.aif differ diff --git a/sound/direct_sound_samples/cry_sableye.aif b/sound/direct_sound_samples/cry_sableye.aif new file mode 100644 index 0000000000..1b3a9be300 Binary files /dev/null and b/sound/direct_sound_samples/cry_sableye.aif differ diff --git a/sound/direct_sound_samples/cry_salamence.aif b/sound/direct_sound_samples/cry_salamence.aif new file mode 100644 index 0000000000..d2957809cb Binary files /dev/null and b/sound/direct_sound_samples/cry_salamence.aif differ diff --git a/sound/direct_sound_samples/cry_sandshrew.aif b/sound/direct_sound_samples/cry_sandshrew.aif new file mode 100644 index 0000000000..6879be11da Binary files /dev/null and b/sound/direct_sound_samples/cry_sandshrew.aif differ diff --git a/sound/direct_sound_samples/cry_sandslash.aif b/sound/direct_sound_samples/cry_sandslash.aif new file mode 100644 index 0000000000..ee4a458edf Binary files /dev/null and b/sound/direct_sound_samples/cry_sandslash.aif differ diff --git a/sound/direct_sound_samples/cry_sceptile.aif b/sound/direct_sound_samples/cry_sceptile.aif new file mode 100644 index 0000000000..7252cb85f7 Binary files /dev/null and b/sound/direct_sound_samples/cry_sceptile.aif differ diff --git a/sound/direct_sound_samples/cry_scizor.aif b/sound/direct_sound_samples/cry_scizor.aif new file mode 100644 index 0000000000..f1f7832ce2 Binary files /dev/null and b/sound/direct_sound_samples/cry_scizor.aif differ diff --git a/sound/direct_sound_samples/cry_scyther.aif b/sound/direct_sound_samples/cry_scyther.aif new file mode 100644 index 0000000000..2b8cbc1044 Binary files /dev/null and b/sound/direct_sound_samples/cry_scyther.aif differ diff --git a/sound/direct_sound_samples/cry_seadra.aif b/sound/direct_sound_samples/cry_seadra.aif new file mode 100644 index 0000000000..2f60cce4ae Binary files /dev/null and b/sound/direct_sound_samples/cry_seadra.aif differ diff --git a/sound/direct_sound_samples/cry_seaking.aif b/sound/direct_sound_samples/cry_seaking.aif new file mode 100644 index 0000000000..e4fc7e70d9 Binary files /dev/null and b/sound/direct_sound_samples/cry_seaking.aif differ diff --git a/sound/direct_sound_samples/cry_sealeo.aif b/sound/direct_sound_samples/cry_sealeo.aif new file mode 100644 index 0000000000..d9ea500266 Binary files /dev/null and b/sound/direct_sound_samples/cry_sealeo.aif differ diff --git a/sound/direct_sound_samples/cry_seedot.aif b/sound/direct_sound_samples/cry_seedot.aif new file mode 100644 index 0000000000..c37b769f86 Binary files /dev/null and b/sound/direct_sound_samples/cry_seedot.aif differ diff --git a/sound/direct_sound_samples/cry_seel.aif b/sound/direct_sound_samples/cry_seel.aif new file mode 100644 index 0000000000..84c4a0a949 Binary files /dev/null and b/sound/direct_sound_samples/cry_seel.aif differ diff --git a/sound/direct_sound_samples/cry_sentret.aif b/sound/direct_sound_samples/cry_sentret.aif new file mode 100644 index 0000000000..4aed7cd706 Binary files /dev/null and b/sound/direct_sound_samples/cry_sentret.aif differ diff --git a/sound/direct_sound_samples/cry_seviper.aif b/sound/direct_sound_samples/cry_seviper.aif new file mode 100644 index 0000000000..6a15dd6e26 Binary files /dev/null and b/sound/direct_sound_samples/cry_seviper.aif differ diff --git a/sound/direct_sound_samples/cry_sharpedo.aif b/sound/direct_sound_samples/cry_sharpedo.aif new file mode 100644 index 0000000000..1b02b56ce7 Binary files /dev/null and b/sound/direct_sound_samples/cry_sharpedo.aif differ diff --git a/sound/direct_sound_samples/cry_shedinja.aif b/sound/direct_sound_samples/cry_shedinja.aif new file mode 100644 index 0000000000..6d1d565f36 Binary files /dev/null and b/sound/direct_sound_samples/cry_shedinja.aif differ diff --git a/sound/direct_sound_samples/cry_shelgon.aif b/sound/direct_sound_samples/cry_shelgon.aif new file mode 100644 index 0000000000..24f234ffee Binary files /dev/null and b/sound/direct_sound_samples/cry_shelgon.aif differ diff --git a/sound/direct_sound_samples/cry_shellder.aif b/sound/direct_sound_samples/cry_shellder.aif new file mode 100644 index 0000000000..b2ea852284 Binary files /dev/null and b/sound/direct_sound_samples/cry_shellder.aif differ diff --git a/sound/direct_sound_samples/cry_shiftry.aif b/sound/direct_sound_samples/cry_shiftry.aif new file mode 100644 index 0000000000..c91ece114b Binary files /dev/null and b/sound/direct_sound_samples/cry_shiftry.aif differ diff --git a/sound/direct_sound_samples/cry_shroomish.aif b/sound/direct_sound_samples/cry_shroomish.aif new file mode 100644 index 0000000000..9e944ca200 Binary files /dev/null and b/sound/direct_sound_samples/cry_shroomish.aif differ diff --git a/sound/direct_sound_samples/cry_shuckle.aif b/sound/direct_sound_samples/cry_shuckle.aif new file mode 100644 index 0000000000..d835d2de65 Binary files /dev/null and b/sound/direct_sound_samples/cry_shuckle.aif differ diff --git a/sound/direct_sound_samples/cry_shuppet.aif b/sound/direct_sound_samples/cry_shuppet.aif new file mode 100644 index 0000000000..1cd9a2f147 Binary files /dev/null and b/sound/direct_sound_samples/cry_shuppet.aif differ diff --git a/sound/direct_sound_samples/cry_silcoon.aif b/sound/direct_sound_samples/cry_silcoon.aif new file mode 100644 index 0000000000..ff48950ad0 Binary files /dev/null and b/sound/direct_sound_samples/cry_silcoon.aif differ diff --git a/sound/direct_sound_samples/cry_skarmory.aif b/sound/direct_sound_samples/cry_skarmory.aif new file mode 100644 index 0000000000..88d3985a3d Binary files /dev/null and b/sound/direct_sound_samples/cry_skarmory.aif differ diff --git a/sound/direct_sound_samples/cry_skiploom.aif b/sound/direct_sound_samples/cry_skiploom.aif new file mode 100644 index 0000000000..201744d124 Binary files /dev/null and b/sound/direct_sound_samples/cry_skiploom.aif differ diff --git a/sound/direct_sound_samples/cry_skitty.aif b/sound/direct_sound_samples/cry_skitty.aif new file mode 100644 index 0000000000..7dc4578f41 Binary files /dev/null and b/sound/direct_sound_samples/cry_skitty.aif differ diff --git a/sound/direct_sound_samples/cry_slaking.aif b/sound/direct_sound_samples/cry_slaking.aif new file mode 100644 index 0000000000..b6a4160f36 Binary files /dev/null and b/sound/direct_sound_samples/cry_slaking.aif differ diff --git a/sound/direct_sound_samples/cry_slakoth.aif b/sound/direct_sound_samples/cry_slakoth.aif new file mode 100644 index 0000000000..0e4bbc3c37 Binary files /dev/null and b/sound/direct_sound_samples/cry_slakoth.aif differ diff --git a/sound/direct_sound_samples/cry_slowbro.aif b/sound/direct_sound_samples/cry_slowbro.aif new file mode 100644 index 0000000000..f74b753d2b Binary files /dev/null and b/sound/direct_sound_samples/cry_slowbro.aif differ diff --git a/sound/direct_sound_samples/cry_slowking.aif b/sound/direct_sound_samples/cry_slowking.aif new file mode 100644 index 0000000000..245a420235 Binary files /dev/null and b/sound/direct_sound_samples/cry_slowking.aif differ diff --git a/sound/direct_sound_samples/cry_slowpoke.aif b/sound/direct_sound_samples/cry_slowpoke.aif new file mode 100644 index 0000000000..82b05a9a72 Binary files /dev/null and b/sound/direct_sound_samples/cry_slowpoke.aif differ diff --git a/sound/direct_sound_samples/cry_slugma.aif b/sound/direct_sound_samples/cry_slugma.aif new file mode 100644 index 0000000000..fed42817cf Binary files /dev/null and b/sound/direct_sound_samples/cry_slugma.aif differ diff --git a/sound/direct_sound_samples/cry_smeargle.aif b/sound/direct_sound_samples/cry_smeargle.aif new file mode 100644 index 0000000000..00dbedead3 Binary files /dev/null and b/sound/direct_sound_samples/cry_smeargle.aif differ diff --git a/sound/direct_sound_samples/cry_smoochum.aif b/sound/direct_sound_samples/cry_smoochum.aif new file mode 100644 index 0000000000..4005b4ad4d Binary files /dev/null and b/sound/direct_sound_samples/cry_smoochum.aif differ diff --git a/sound/direct_sound_samples/cry_sneasel.aif b/sound/direct_sound_samples/cry_sneasel.aif new file mode 100644 index 0000000000..54242a23f9 Binary files /dev/null and b/sound/direct_sound_samples/cry_sneasel.aif differ diff --git a/sound/direct_sound_samples/cry_snorlax.aif b/sound/direct_sound_samples/cry_snorlax.aif new file mode 100644 index 0000000000..f95128e3a5 Binary files /dev/null and b/sound/direct_sound_samples/cry_snorlax.aif differ diff --git a/sound/direct_sound_samples/cry_snorunt.aif b/sound/direct_sound_samples/cry_snorunt.aif new file mode 100644 index 0000000000..53b05b229a Binary files /dev/null and b/sound/direct_sound_samples/cry_snorunt.aif differ diff --git a/sound/direct_sound_samples/cry_snubbull.aif b/sound/direct_sound_samples/cry_snubbull.aif new file mode 100644 index 0000000000..bbba023fd1 Binary files /dev/null and b/sound/direct_sound_samples/cry_snubbull.aif differ diff --git a/sound/direct_sound_samples/cry_solrock.aif b/sound/direct_sound_samples/cry_solrock.aif new file mode 100644 index 0000000000..64c71f2896 Binary files /dev/null and b/sound/direct_sound_samples/cry_solrock.aif differ diff --git a/sound/direct_sound_samples/cry_spearow.aif b/sound/direct_sound_samples/cry_spearow.aif new file mode 100644 index 0000000000..7ce86ae29f Binary files /dev/null and b/sound/direct_sound_samples/cry_spearow.aif differ diff --git a/sound/direct_sound_samples/cry_spheal.aif b/sound/direct_sound_samples/cry_spheal.aif new file mode 100644 index 0000000000..fb64702108 Binary files /dev/null and b/sound/direct_sound_samples/cry_spheal.aif differ diff --git a/sound/direct_sound_samples/cry_spinarak.aif b/sound/direct_sound_samples/cry_spinarak.aif new file mode 100644 index 0000000000..3c4c1eff14 Binary files /dev/null and b/sound/direct_sound_samples/cry_spinarak.aif differ diff --git a/sound/direct_sound_samples/cry_spinda.aif b/sound/direct_sound_samples/cry_spinda.aif new file mode 100644 index 0000000000..0217573c7f Binary files /dev/null and b/sound/direct_sound_samples/cry_spinda.aif differ diff --git a/sound/direct_sound_samples/cry_spoink.aif b/sound/direct_sound_samples/cry_spoink.aif new file mode 100644 index 0000000000..6cc9bf546a Binary files /dev/null and b/sound/direct_sound_samples/cry_spoink.aif differ diff --git a/sound/direct_sound_samples/cry_squirtle.aif b/sound/direct_sound_samples/cry_squirtle.aif new file mode 100644 index 0000000000..43a98a53dd Binary files /dev/null and b/sound/direct_sound_samples/cry_squirtle.aif differ diff --git a/sound/direct_sound_samples/cry_stantler.aif b/sound/direct_sound_samples/cry_stantler.aif new file mode 100644 index 0000000000..36ba546583 Binary files /dev/null and b/sound/direct_sound_samples/cry_stantler.aif differ diff --git a/sound/direct_sound_samples/cry_starmie.aif b/sound/direct_sound_samples/cry_starmie.aif new file mode 100644 index 0000000000..7452a78f9a Binary files /dev/null and b/sound/direct_sound_samples/cry_starmie.aif differ diff --git a/sound/direct_sound_samples/cry_staryu.aif b/sound/direct_sound_samples/cry_staryu.aif new file mode 100644 index 0000000000..6ab5584bf0 Binary files /dev/null and b/sound/direct_sound_samples/cry_staryu.aif differ diff --git a/sound/direct_sound_samples/cry_steelix.aif b/sound/direct_sound_samples/cry_steelix.aif new file mode 100644 index 0000000000..aa05e2d4c3 Binary files /dev/null and b/sound/direct_sound_samples/cry_steelix.aif differ diff --git a/sound/direct_sound_samples/cry_sudowoodo.aif b/sound/direct_sound_samples/cry_sudowoodo.aif new file mode 100644 index 0000000000..1af7e18eba Binary files /dev/null and b/sound/direct_sound_samples/cry_sudowoodo.aif differ diff --git a/sound/direct_sound_samples/cry_suicune.aif b/sound/direct_sound_samples/cry_suicune.aif new file mode 100644 index 0000000000..697732d682 Binary files /dev/null and b/sound/direct_sound_samples/cry_suicune.aif differ diff --git a/sound/direct_sound_samples/cry_sunflora.aif b/sound/direct_sound_samples/cry_sunflora.aif new file mode 100644 index 0000000000..126931adc6 Binary files /dev/null and b/sound/direct_sound_samples/cry_sunflora.aif differ diff --git a/sound/direct_sound_samples/cry_sunkern.aif b/sound/direct_sound_samples/cry_sunkern.aif new file mode 100644 index 0000000000..bede3bf95f Binary files /dev/null and b/sound/direct_sound_samples/cry_sunkern.aif differ diff --git a/sound/direct_sound_samples/cry_surskit.aif b/sound/direct_sound_samples/cry_surskit.aif new file mode 100644 index 0000000000..438b5b67a0 Binary files /dev/null and b/sound/direct_sound_samples/cry_surskit.aif differ diff --git a/sound/direct_sound_samples/cry_swablu.aif b/sound/direct_sound_samples/cry_swablu.aif new file mode 100644 index 0000000000..066095f556 Binary files /dev/null and b/sound/direct_sound_samples/cry_swablu.aif differ diff --git a/sound/direct_sound_samples/cry_swalot.aif b/sound/direct_sound_samples/cry_swalot.aif new file mode 100644 index 0000000000..518a9bf5a4 Binary files /dev/null and b/sound/direct_sound_samples/cry_swalot.aif differ diff --git a/sound/direct_sound_samples/cry_swampert.aif b/sound/direct_sound_samples/cry_swampert.aif new file mode 100644 index 0000000000..56bd26405d Binary files /dev/null and b/sound/direct_sound_samples/cry_swampert.aif differ diff --git a/sound/direct_sound_samples/cry_swellow.aif b/sound/direct_sound_samples/cry_swellow.aif new file mode 100644 index 0000000000..2b94eb432d Binary files /dev/null and b/sound/direct_sound_samples/cry_swellow.aif differ diff --git a/sound/direct_sound_samples/cry_swinub.aif b/sound/direct_sound_samples/cry_swinub.aif new file mode 100644 index 0000000000..dc68d62d89 Binary files /dev/null and b/sound/direct_sound_samples/cry_swinub.aif differ diff --git a/sound/direct_sound_samples/cry_taillow.aif b/sound/direct_sound_samples/cry_taillow.aif new file mode 100644 index 0000000000..8322a32245 Binary files /dev/null and b/sound/direct_sound_samples/cry_taillow.aif differ diff --git a/sound/direct_sound_samples/cry_tangela.aif b/sound/direct_sound_samples/cry_tangela.aif new file mode 100644 index 0000000000..c900b426da Binary files /dev/null and b/sound/direct_sound_samples/cry_tangela.aif differ diff --git a/sound/direct_sound_samples/cry_tauros.aif b/sound/direct_sound_samples/cry_tauros.aif new file mode 100644 index 0000000000..84fa9b317f Binary files /dev/null and b/sound/direct_sound_samples/cry_tauros.aif differ diff --git a/sound/direct_sound_samples/cry_teddiursa.aif b/sound/direct_sound_samples/cry_teddiursa.aif new file mode 100644 index 0000000000..ba5cb5bc31 Binary files /dev/null and b/sound/direct_sound_samples/cry_teddiursa.aif differ diff --git a/sound/direct_sound_samples/cry_tentacool.aif b/sound/direct_sound_samples/cry_tentacool.aif new file mode 100644 index 0000000000..332bec4b25 Binary files /dev/null and b/sound/direct_sound_samples/cry_tentacool.aif differ diff --git a/sound/direct_sound_samples/cry_tentacruel.aif b/sound/direct_sound_samples/cry_tentacruel.aif new file mode 100644 index 0000000000..e8ec1b14c4 Binary files /dev/null and b/sound/direct_sound_samples/cry_tentacruel.aif differ diff --git a/sound/direct_sound_samples/cry_togepi.aif b/sound/direct_sound_samples/cry_togepi.aif new file mode 100644 index 0000000000..87ef6ef2d8 Binary files /dev/null and b/sound/direct_sound_samples/cry_togepi.aif differ diff --git a/sound/direct_sound_samples/cry_togetic.aif b/sound/direct_sound_samples/cry_togetic.aif new file mode 100644 index 0000000000..8aa18ac415 Binary files /dev/null and b/sound/direct_sound_samples/cry_togetic.aif differ diff --git a/sound/direct_sound_samples/cry_torchic.aif b/sound/direct_sound_samples/cry_torchic.aif new file mode 100644 index 0000000000..185a794993 Binary files /dev/null and b/sound/direct_sound_samples/cry_torchic.aif differ diff --git a/sound/direct_sound_samples/cry_torkoal.aif b/sound/direct_sound_samples/cry_torkoal.aif new file mode 100644 index 0000000000..9e56d38109 Binary files /dev/null and b/sound/direct_sound_samples/cry_torkoal.aif differ diff --git a/sound/direct_sound_samples/cry_totodile.aif b/sound/direct_sound_samples/cry_totodile.aif new file mode 100644 index 0000000000..dbf2179a71 Binary files /dev/null and b/sound/direct_sound_samples/cry_totodile.aif differ diff --git a/sound/direct_sound_samples/cry_trapinch.aif b/sound/direct_sound_samples/cry_trapinch.aif new file mode 100644 index 0000000000..01664b72e3 Binary files /dev/null and b/sound/direct_sound_samples/cry_trapinch.aif differ diff --git a/sound/direct_sound_samples/cry_treecko.aif b/sound/direct_sound_samples/cry_treecko.aif new file mode 100644 index 0000000000..a7416e8daf Binary files /dev/null and b/sound/direct_sound_samples/cry_treecko.aif differ diff --git a/sound/direct_sound_samples/cry_tropius.aif b/sound/direct_sound_samples/cry_tropius.aif new file mode 100644 index 0000000000..bbb52787bf Binary files /dev/null and b/sound/direct_sound_samples/cry_tropius.aif differ diff --git a/sound/direct_sound_samples/cry_typhlosion.aif b/sound/direct_sound_samples/cry_typhlosion.aif new file mode 100644 index 0000000000..f0238d066a Binary files /dev/null and b/sound/direct_sound_samples/cry_typhlosion.aif differ diff --git a/sound/direct_sound_samples/cry_tyranitar.aif b/sound/direct_sound_samples/cry_tyranitar.aif new file mode 100644 index 0000000000..557f617694 Binary files /dev/null and b/sound/direct_sound_samples/cry_tyranitar.aif differ diff --git a/sound/direct_sound_samples/cry_tyrogue.aif b/sound/direct_sound_samples/cry_tyrogue.aif new file mode 100644 index 0000000000..e5065f58b2 Binary files /dev/null and b/sound/direct_sound_samples/cry_tyrogue.aif differ diff --git a/sound/direct_sound_samples/cry_umbreon.aif b/sound/direct_sound_samples/cry_umbreon.aif new file mode 100644 index 0000000000..38129b1a7d Binary files /dev/null and b/sound/direct_sound_samples/cry_umbreon.aif differ diff --git a/sound/direct_sound_samples/cry_unown.aif b/sound/direct_sound_samples/cry_unown.aif new file mode 100644 index 0000000000..8339ccb6bd Binary files /dev/null and b/sound/direct_sound_samples/cry_unown.aif differ diff --git a/sound/direct_sound_samples/cry_unused_265.aif b/sound/direct_sound_samples/cry_unused_265.aif new file mode 100644 index 0000000000..7f5965f06b Binary files /dev/null and b/sound/direct_sound_samples/cry_unused_265.aif differ diff --git a/sound/direct_sound_samples/cry_unused_268.aif b/sound/direct_sound_samples/cry_unused_268.aif new file mode 100644 index 0000000000..5cae364c38 Binary files /dev/null and b/sound/direct_sound_samples/cry_unused_268.aif differ diff --git a/sound/direct_sound_samples/cry_ursaring.aif b/sound/direct_sound_samples/cry_ursaring.aif new file mode 100644 index 0000000000..fcc748bd14 Binary files /dev/null and b/sound/direct_sound_samples/cry_ursaring.aif differ diff --git a/sound/direct_sound_samples/cry_vaporeon.aif b/sound/direct_sound_samples/cry_vaporeon.aif new file mode 100644 index 0000000000..4967cfdebc Binary files /dev/null and b/sound/direct_sound_samples/cry_vaporeon.aif differ diff --git a/sound/direct_sound_samples/cry_venomoth.aif b/sound/direct_sound_samples/cry_venomoth.aif new file mode 100644 index 0000000000..bc291ec336 Binary files /dev/null and b/sound/direct_sound_samples/cry_venomoth.aif differ diff --git a/sound/direct_sound_samples/cry_venonat.aif b/sound/direct_sound_samples/cry_venonat.aif new file mode 100644 index 0000000000..e89d87fa82 Binary files /dev/null and b/sound/direct_sound_samples/cry_venonat.aif differ diff --git a/sound/direct_sound_samples/cry_venusaur.aif b/sound/direct_sound_samples/cry_venusaur.aif new file mode 100644 index 0000000000..8a1f69e6ed Binary files /dev/null and b/sound/direct_sound_samples/cry_venusaur.aif differ diff --git a/sound/direct_sound_samples/cry_vibrava.aif b/sound/direct_sound_samples/cry_vibrava.aif new file mode 100644 index 0000000000..3e31802191 Binary files /dev/null and b/sound/direct_sound_samples/cry_vibrava.aif differ diff --git a/sound/direct_sound_samples/cry_victreebel.aif b/sound/direct_sound_samples/cry_victreebel.aif new file mode 100644 index 0000000000..d6e6a4fe91 Binary files /dev/null and b/sound/direct_sound_samples/cry_victreebel.aif differ diff --git a/sound/direct_sound_samples/cry_vigoroth.aif b/sound/direct_sound_samples/cry_vigoroth.aif new file mode 100644 index 0000000000..fc414f33d5 Binary files /dev/null and b/sound/direct_sound_samples/cry_vigoroth.aif differ diff --git a/sound/direct_sound_samples/cry_vileplume.aif b/sound/direct_sound_samples/cry_vileplume.aif new file mode 100644 index 0000000000..723eec697d Binary files /dev/null and b/sound/direct_sound_samples/cry_vileplume.aif differ diff --git a/sound/direct_sound_samples/cry_volbeat.aif b/sound/direct_sound_samples/cry_volbeat.aif new file mode 100644 index 0000000000..6f765081e0 Binary files /dev/null and b/sound/direct_sound_samples/cry_volbeat.aif differ diff --git a/sound/direct_sound_samples/cry_voltorb.aif b/sound/direct_sound_samples/cry_voltorb.aif new file mode 100644 index 0000000000..96e3bff31f Binary files /dev/null and b/sound/direct_sound_samples/cry_voltorb.aif differ diff --git a/sound/direct_sound_samples/cry_vulpix.aif b/sound/direct_sound_samples/cry_vulpix.aif new file mode 100644 index 0000000000..20da23fb4f Binary files /dev/null and b/sound/direct_sound_samples/cry_vulpix.aif differ diff --git a/sound/direct_sound_samples/cry_wailmer.aif b/sound/direct_sound_samples/cry_wailmer.aif new file mode 100644 index 0000000000..e8de913337 Binary files /dev/null and b/sound/direct_sound_samples/cry_wailmer.aif differ diff --git a/sound/direct_sound_samples/cry_wailord.aif b/sound/direct_sound_samples/cry_wailord.aif new file mode 100644 index 0000000000..2c04680105 Binary files /dev/null and b/sound/direct_sound_samples/cry_wailord.aif differ diff --git a/sound/direct_sound_samples/cry_walrein.aif b/sound/direct_sound_samples/cry_walrein.aif new file mode 100644 index 0000000000..91d93f3fba Binary files /dev/null and b/sound/direct_sound_samples/cry_walrein.aif differ diff --git a/sound/direct_sound_samples/cry_wartortle.aif b/sound/direct_sound_samples/cry_wartortle.aif new file mode 100644 index 0000000000..5dab7fd932 Binary files /dev/null and b/sound/direct_sound_samples/cry_wartortle.aif differ diff --git a/sound/direct_sound_samples/cry_weedle.aif b/sound/direct_sound_samples/cry_weedle.aif new file mode 100644 index 0000000000..773c2c8aea Binary files /dev/null and b/sound/direct_sound_samples/cry_weedle.aif differ diff --git a/sound/direct_sound_samples/cry_weepinbell.aif b/sound/direct_sound_samples/cry_weepinbell.aif new file mode 100644 index 0000000000..cdd61380a0 Binary files /dev/null and b/sound/direct_sound_samples/cry_weepinbell.aif differ diff --git a/sound/direct_sound_samples/cry_weezing.aif b/sound/direct_sound_samples/cry_weezing.aif new file mode 100644 index 0000000000..2e4a7fe135 Binary files /dev/null and b/sound/direct_sound_samples/cry_weezing.aif differ diff --git a/sound/direct_sound_samples/cry_whiscash.aif b/sound/direct_sound_samples/cry_whiscash.aif new file mode 100644 index 0000000000..219737f32e Binary files /dev/null and b/sound/direct_sound_samples/cry_whiscash.aif differ diff --git a/sound/direct_sound_samples/cry_whismur.aif b/sound/direct_sound_samples/cry_whismur.aif new file mode 100644 index 0000000000..4da92ca6a0 Binary files /dev/null and b/sound/direct_sound_samples/cry_whismur.aif differ diff --git a/sound/direct_sound_samples/cry_wigglytuff.aif b/sound/direct_sound_samples/cry_wigglytuff.aif new file mode 100644 index 0000000000..90aa90a23a Binary files /dev/null and b/sound/direct_sound_samples/cry_wigglytuff.aif differ diff --git a/sound/direct_sound_samples/cry_wingull.aif b/sound/direct_sound_samples/cry_wingull.aif new file mode 100644 index 0000000000..182ef18e69 Binary files /dev/null and b/sound/direct_sound_samples/cry_wingull.aif differ diff --git a/sound/direct_sound_samples/cry_wobbuffet.aif b/sound/direct_sound_samples/cry_wobbuffet.aif new file mode 100644 index 0000000000..70ee1f704c Binary files /dev/null and b/sound/direct_sound_samples/cry_wobbuffet.aif differ diff --git a/sound/direct_sound_samples/cry_wooper.aif b/sound/direct_sound_samples/cry_wooper.aif new file mode 100644 index 0000000000..51a6b627e6 Binary files /dev/null and b/sound/direct_sound_samples/cry_wooper.aif differ diff --git a/sound/direct_sound_samples/cry_wurmple.aif b/sound/direct_sound_samples/cry_wurmple.aif new file mode 100644 index 0000000000..6442a40636 Binary files /dev/null and b/sound/direct_sound_samples/cry_wurmple.aif differ diff --git a/sound/direct_sound_samples/cry_wynaut.aif b/sound/direct_sound_samples/cry_wynaut.aif new file mode 100644 index 0000000000..798732c746 Binary files /dev/null and b/sound/direct_sound_samples/cry_wynaut.aif differ diff --git a/sound/direct_sound_samples/cry_xatu.aif b/sound/direct_sound_samples/cry_xatu.aif new file mode 100644 index 0000000000..ac758fdbfd Binary files /dev/null and b/sound/direct_sound_samples/cry_xatu.aif differ diff --git a/sound/direct_sound_samples/cry_yanma.aif b/sound/direct_sound_samples/cry_yanma.aif new file mode 100644 index 0000000000..df76534c54 Binary files /dev/null and b/sound/direct_sound_samples/cry_yanma.aif differ diff --git a/sound/direct_sound_samples/cry_zangoose.aif b/sound/direct_sound_samples/cry_zangoose.aif new file mode 100644 index 0000000000..3c206532f4 Binary files /dev/null and b/sound/direct_sound_samples/cry_zangoose.aif differ diff --git a/sound/direct_sound_samples/cry_zapdos.aif b/sound/direct_sound_samples/cry_zapdos.aif new file mode 100644 index 0000000000..a8d914d149 Binary files /dev/null and b/sound/direct_sound_samples/cry_zapdos.aif differ diff --git a/sound/direct_sound_samples/cry_zigzagoon.aif b/sound/direct_sound_samples/cry_zigzagoon.aif new file mode 100644 index 0000000000..52b9bb4f4f Binary files /dev/null and b/sound/direct_sound_samples/cry_zigzagoon.aif differ diff --git a/sound/direct_sound_samples/cry_zubat.aif b/sound/direct_sound_samples/cry_zubat.aif new file mode 100644 index 0000000000..45036d0725 Binary files /dev/null and b/sound/direct_sound_samples/cry_zubat.aif differ diff --git a/sound/key_split_tables/86B46BC.bin b/sound/key_split_tables/86B46BC.bin new file mode 100644 index 0000000000..078c76ad93 Binary files /dev/null and b/sound/key_split_tables/86B46BC.bin differ diff --git a/sound/key_split_tables/86B46E0.bin b/sound/key_split_tables/86B46E0.bin new file mode 100644 index 0000000000..5ab68d78ea Binary files /dev/null and b/sound/key_split_tables/86B46E0.bin differ diff --git a/sound/key_split_tables/86B4728.bin b/sound/key_split_tables/86B4728.bin new file mode 100644 index 0000000000..b149034031 Binary files /dev/null and b/sound/key_split_tables/86B4728.bin differ diff --git a/sound/key_split_tables/86B477C.bin b/sound/key_split_tables/86B477C.bin new file mode 100644 index 0000000000..d794d1774f Binary files /dev/null and b/sound/key_split_tables/86B477C.bin differ diff --git a/sound/key_split_tables/86B47C4.bin b/sound/key_split_tables/86B47C4.bin new file mode 100644 index 0000000000..37fcc4ff2c Binary files /dev/null and b/sound/key_split_tables/86B47C4.bin differ diff --git a/sound/keysplit_tables.inc b/sound/keysplit_tables.inc new file mode 100644 index 0000000000..f37f9cdf88 --- /dev/null +++ b/sound/keysplit_tables.inc @@ -0,0 +1,18 @@ +KeySplitTable_86B4698:: @ 86B4698 +@ This is weird. There are instruments at the beginning of the keysplit table. + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4698 + voice_directsound_no_resample 64, 104, DirectSoundWaveData_86DD11C, 255, 0, 255, 0 @ 86B46A4 + voice_directsound 63, 64, DirectSoundWaveData_86DE6C0, 255, 0, 255, 0 @ 86B46B0 + .incbin "sound/key_split_tables/86B46BC.bin" + +KeySplitTable_86B46E0:: @ 86B46E0 + .incbin "sound/key_split_tables/86B46E0.bin" + +KeySplitTable_86B4728:: @ 86B4728 + .incbin "sound/key_split_tables/86B4728.bin" + +KeySplitTable_86B477C:: @ 86B477C + .incbin "sound/key_split_tables/86B477C.bin" + +KeySplitTable_86B47C4:: @ 86B47C4 + .incbin "sound/key_split_tables/86B47C4.bin" diff --git a/sound/music_player_table.inc b/sound/music_player_table.inc new file mode 100644 index 0000000000..de987c9788 --- /dev/null +++ b/sound/music_player_table.inc @@ -0,0 +1,6 @@ + .align 2 +gMPlayTable:: @ 86B49C0 + music_player gMPlayInfo_BGM, gMPlayTrack_BGM, 10, 0 + music_player gMPlayInfo_SE1, gMPlayTrack_SE1, 3, 1 + music_player gMPlayInfo_SE2, gMPlayTrack_SE2, 9, 1 + music_player gMPlayInfo_SE3, gMPlayTrack_SE3, 1, 0 diff --git a/sound/programmable_wave_data.inc b/sound/programmable_wave_data.inc new file mode 100644 index 0000000000..d984f4fac8 --- /dev/null +++ b/sound/programmable_wave_data.inc @@ -0,0 +1,74 @@ +ProgrammableWaveData_86B4830:: @ 86B4830 + .incbin "sound/programmable_wave_samples/86B4830.pcm" + +ProgrammableWaveData_86B4840:: @ 86B4840 + .incbin "sound/programmable_wave_samples/86B4840.pcm" + +ProgrammableWaveData_86B4850:: @ 86B4850 + .incbin "sound/programmable_wave_samples/86B4850.pcm" + +ProgrammableWaveData_86B4860:: @ 86B4860 + .incbin "sound/programmable_wave_samples/86B4860.pcm" + +ProgrammableWaveData_86B4870:: @ 86B4870 + .incbin "sound/programmable_wave_samples/86B4870.pcm" + +ProgrammableWaveData_86B4880:: @ 86B4880 + .incbin "sound/programmable_wave_samples/86B4880.pcm" + +ProgrammableWaveData_86B4890:: @ 86B4890 + .incbin "sound/programmable_wave_samples/86B4890.pcm" + +ProgrammableWaveData_86B48A0:: @ 86B48A0 + .incbin "sound/programmable_wave_samples/86B48A0.pcm" + +ProgrammableWaveData_86B48B0:: @ 86B48B0 + .incbin "sound/programmable_wave_samples/86B48B0.pcm" + +ProgrammableWaveData_86B48C0:: @ 86B48C0 + .incbin "sound/programmable_wave_samples/86B48C0.pcm" + +ProgrammableWaveData_86B48D0:: @ 86B48D0 + .incbin "sound/programmable_wave_samples/86B48D0.pcm" + +ProgrammableWaveData_86B48E0:: @ 86B48E0 + .incbin "sound/programmable_wave_samples/86B48E0.pcm" + +ProgrammableWaveData_86B48F0:: @ 86B48F0 + .incbin "sound/programmable_wave_samples/86B48F0.pcm" + +ProgrammableWaveData_86B4900:: @ 86B4900 + .incbin "sound/programmable_wave_samples/86B4900.pcm" + +ProgrammableWaveData_86B4910:: @ 86B4910 + .incbin "sound/programmable_wave_samples/86B4910.pcm" + +ProgrammableWaveData_86B4920:: @ 86B4920 + .incbin "sound/programmable_wave_samples/86B4920.pcm" + +ProgrammableWaveData_Unused_86B4930:: @ 86B4930 + .incbin "sound/programmable_wave_samples/unused_86B4930.pcm" + +ProgrammableWaveData_Unused_86B4940:: @ 86B4940 + .incbin "sound/programmable_wave_samples/unused_86B4940.pcm" + +ProgrammableWaveData_Unused_86B4950:: @ 86B4950 + .incbin "sound/programmable_wave_samples/unused_86B4950.pcm" + +ProgrammableWaveData_Unused_86B4960:: @ 86B4960 + .incbin "sound/programmable_wave_samples/unused_86B4960.pcm" + +ProgrammableWaveData_86B4970:: @ 86B4970 + .incbin "sound/programmable_wave_samples/86B4970.pcm" + +ProgrammableWaveData_86B4980:: @ 86B4980 + .incbin "sound/programmable_wave_samples/86B4980.pcm" + +ProgrammableWaveData_86B4990:: @ 86B4990 + .incbin "sound/programmable_wave_samples/86B4990.pcm" + +ProgrammableWaveData_86B49A0:: @ 86B49A0 + .incbin "sound/programmable_wave_samples/86B49A0.pcm" + +ProgrammableWaveData_86B49B0:: @ 86B49B0 + .incbin "sound/programmable_wave_samples/86B49B0.pcm" diff --git a/sound/programmable_wave_samples/86B4830.pcm b/sound/programmable_wave_samples/86B4830.pcm new file mode 100644 index 0000000000..a0ca8fed96 --- /dev/null +++ b/sound/programmable_wave_samples/86B4830.pcm @@ -0,0 +1 @@ +%c%c \ No newline at end of file diff --git a/sound/programmable_wave_samples/86B4840.pcm b/sound/programmable_wave_samples/86B4840.pcm new file mode 100644 index 0000000000..25be9c0185 --- /dev/null +++ b/sound/programmable_wave_samples/86B4840.pcm @@ -0,0 +1 @@ +Fu1Fu1 \ No newline at end of file diff --git a/sound/programmable_wave_samples/86B4850.pcm b/sound/programmable_wave_samples/86B4850.pcm new file mode 100644 index 0000000000..5d9585aca9 --- /dev/null +++ b/sound/programmable_wave_samples/86B4850.pcm @@ -0,0 +1 @@ +ܺvT2ܺvT2 \ No newline at end of file diff --git a/sound/programmable_wave_samples/86B4860.pcm b/sound/programmable_wave_samples/86B4860.pcm new file mode 100644 index 0000000000..25ff1b3710 --- /dev/null +++ b/sound/programmable_wave_samples/86B4860.pcm @@ -0,0 +1 @@ +wwe1wwe1 \ No newline at end of file diff --git a/sound/programmable_wave_samples/86B4870.pcm b/sound/programmable_wave_samples/86B4870.pcm new file mode 100644 index 0000000000..d0b69f04a6 --- /dev/null +++ b/sound/programmable_wave_samples/86B4870.pcm @@ -0,0 +1 @@ +ʆC!ʆC! \ No newline at end of file diff --git a/sound/programmable_wave_samples/86B4880.pcm b/sound/programmable_wave_samples/86B4880.pcm new file mode 100644 index 0000000000..d0fa1932d5 --- /dev/null +++ b/sound/programmable_wave_samples/86B4880.pcm @@ -0,0 +1 @@ +CFCF \ No newline at end of file diff --git a/sound/programmable_wave_samples/86B4890.pcm b/sound/programmable_wave_samples/86B4890.pcm new file mode 100644 index 0000000000..81afd79c5e Binary files /dev/null and b/sound/programmable_wave_samples/86B4890.pcm differ diff --git a/sound/programmable_wave_samples/86B48A0.pcm b/sound/programmable_wave_samples/86B48A0.pcm new file mode 100644 index 0000000000..ce4c8ae126 Binary files /dev/null and b/sound/programmable_wave_samples/86B48A0.pcm differ diff --git a/sound/programmable_wave_samples/86B48B0.pcm b/sound/programmable_wave_samples/86B48B0.pcm new file mode 100644 index 0000000000..199da89137 Binary files /dev/null and b/sound/programmable_wave_samples/86B48B0.pcm differ diff --git a/sound/programmable_wave_samples/86B48C0.pcm b/sound/programmable_wave_samples/86B48C0.pcm new file mode 100644 index 0000000000..9dc0744937 --- /dev/null +++ b/sound/programmable_wave_samples/86B48C0.pcm @@ -0,0 +1 @@ +fUD3"" fUD3"" \ No newline at end of file diff --git a/sound/programmable_wave_samples/86B48D0.pcm b/sound/programmable_wave_samples/86B48D0.pcm new file mode 100644 index 0000000000..89b2cc2d1b --- /dev/null +++ b/sound/programmable_wave_samples/86B48D0.pcm @@ -0,0 +1 @@ +fUDDDD@fUDDDD@ \ No newline at end of file diff --git a/sound/programmable_wave_samples/86B48E0.pcm b/sound/programmable_wave_samples/86B48E0.pcm new file mode 100644 index 0000000000..b6d6ce2d24 --- /dev/null +++ b/sound/programmable_wave_samples/86B48E0.pcm @@ -0,0 +1 @@ +ffffff`ffffff` \ No newline at end of file diff --git a/sound/programmable_wave_samples/86B48F0.pcm b/sound/programmable_wave_samples/86B48F0.pcm new file mode 100644 index 0000000000..8ded871e39 --- /dev/null +++ b/sound/programmable_wave_samples/86B48F0.pcm @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/sound/programmable_wave_samples/86B4900.pcm b/sound/programmable_wave_samples/86B4900.pcm new file mode 100644 index 0000000000..f5e51d5a98 --- /dev/null +++ b/sound/programmable_wave_samples/86B4900.pcm @@ -0,0 +1 @@ +gȘVTgȘVT \ No newline at end of file diff --git a/sound/programmable_wave_samples/86B4910.pcm b/sound/programmable_wave_samples/86B4910.pcm new file mode 100644 index 0000000000..0d71926178 Binary files /dev/null and b/sound/programmable_wave_samples/86B4910.pcm differ diff --git a/sound/programmable_wave_samples/86B4920.pcm b/sound/programmable_wave_samples/86B4920.pcm new file mode 100644 index 0000000000..2aae22d266 --- /dev/null +++ b/sound/programmable_wave_samples/86B4920.pcm @@ -0,0 +1 @@ +&8J\ZH6&8J\ZH6 \ No newline at end of file diff --git a/sound/programmable_wave_samples/86B4970.pcm b/sound/programmable_wave_samples/86B4970.pcm new file mode 100644 index 0000000000..57f17e87b2 --- /dev/null +++ b/sound/programmable_wave_samples/86B4970.pcm @@ -0,0 +1 @@ +wfeUD2wfeUD2 \ No newline at end of file diff --git a/sound/programmable_wave_samples/86B4980.pcm b/sound/programmable_wave_samples/86B4980.pcm new file mode 100644 index 0000000000..5d0e2ced7a --- /dev/null +++ b/sound/programmable_wave_samples/86B4980.pcm @@ -0,0 +1 @@ +eT3""eT3"" \ No newline at end of file diff --git a/sound/programmable_wave_samples/86B4990.pcm b/sound/programmable_wave_samples/86B4990.pcm new file mode 100644 index 0000000000..130ae8257c Binary files /dev/null and b/sound/programmable_wave_samples/86B4990.pcm differ diff --git a/sound/programmable_wave_samples/86B49A0.pcm b/sound/programmable_wave_samples/86B49A0.pcm new file mode 100644 index 0000000000..085a0bd7fb Binary files /dev/null and b/sound/programmable_wave_samples/86B49A0.pcm differ diff --git a/sound/programmable_wave_samples/86B49B0.pcm b/sound/programmable_wave_samples/86B49B0.pcm new file mode 100644 index 0000000000..8d306e7a46 Binary files /dev/null and b/sound/programmable_wave_samples/86B49B0.pcm differ diff --git a/sound/programmable_wave_samples/unused_86B4930.pcm b/sound/programmable_wave_samples/unused_86B4930.pcm new file mode 100644 index 0000000000..a5f6b81fad --- /dev/null +++ b/sound/programmable_wave_samples/unused_86B4930.pcm @@ -0,0 +1 @@ +feUDC3"feUDC3" \ No newline at end of file diff --git a/sound/programmable_wave_samples/unused_86B4940.pcm b/sound/programmable_wave_samples/unused_86B4940.pcm new file mode 100644 index 0000000000..c69e825beb --- /dev/null +++ b/sound/programmable_wave_samples/unused_86B4940.pcm @@ -0,0 +1 @@ +wfUD2wfUD2 \ No newline at end of file diff --git a/sound/programmable_wave_samples/unused_86B4950.pcm b/sound/programmable_wave_samples/unused_86B4950.pcm new file mode 100644 index 0000000000..ab072b3638 --- /dev/null +++ b/sound/programmable_wave_samples/unused_86B4950.pcm @@ -0,0 +1 @@ +̪fUD2̪fUD2 \ No newline at end of file diff --git a/sound/programmable_wave_samples/unused_86B4960.pcm b/sound/programmable_wave_samples/unused_86B4960.pcm new file mode 100644 index 0000000000..01f5db609e --- /dev/null +++ b/sound/programmable_wave_samples/unused_86B4960.pcm @@ -0,0 +1 @@ +̪vT2̪vT2 \ No newline at end of file diff --git a/sound/song_table.inc b/sound/song_table.inc new file mode 100644 index 0000000000..fd1bda9c5f --- /dev/null +++ b/sound/song_table.inc @@ -0,0 +1,621 @@ + .align 2 + +gSongTable:: @ 86B49F0 + song mus_dummy, 0, 0 + song se_kaifuku, 1, 1 @ Healing Item + song se_pc_login, 1, 1 @ PC Logon + song se_pc_off, 1, 1 @ PC Shutdown + song se_pc_on, 1, 1 @ PC Startup + song se_select, 2, 2 @ Cursor Selection + song se_win_open, 1, 1 @ Start Menu + song se_wall_hit, 2, 2 @ Wall Bump + song se_door, 1, 1 @ Opening Door + song se_kaidan, 1, 1 @ Stairs + song se_dansa, 1, 1 @ Ledge + song se_jitensya, 1, 1 @ Bicycle Bell + song se_kouka_l, 1, 1 @ Not Very Effective + song se_kouka_m, 1, 1 @ Normal Effectiveness + song se_kouka_h, 1, 1 @ Super Effective + song se_bowa2, 1, 1 @ Pokémon Withdrawal + song se_poke_dead, 1, 1 @ Pokémon Fainted + song se_nigeru, 1, 1 @ Flee from Wild Battle + song se_jido_doa, 1, 1 @ Pokémon Center Door + song se_naminori, 1, 1 @ Briney's Ship + song se_ban, 1, 1 @ Bang + song se_pin, 1, 1 @ Exclamation Bubble + song se_boo, 1, 1 @ Contest Jam + song se_bowa, 1, 1 @ Giving Poké Ball to Nurse, Poké Ball Wiggle + song se_jyuni, 2, 2 @ Places in Contest Appearing + song se_a, 1, 1 @ Bard A + song se_i, 1, 1 @ Bard I + song se_u, 1, 1 @ Bard U + song se_e, 1, 1 @ Bard E + song se_o, 1, 1 @ Bard O + song se_n, 1, 1 @ Bard N + song se_seikai, 1, 1 @ Success + song se_hazure, 1, 1 @ Failure + song se_exp, 1, 1 @ Exp. Bar + song se_jite_pyoko, 1, 1 @ Bunny Hop + song se_mu_pachi, 1, 1 + song se_tk_kasya, 1, 1 @ Mossdeep Gym/Trick House Switch + song se_fu_zaku, 1, 1 + song se_fu_zaku2, 1, 1 + song se_fu_zuzuzu, 1, 1 @ Lavaridge Gym Warp + song se_ru_gashin, 1, 1 @ Sootopolis Gym - Stairs Appear + song se_ru_gasyan, 1, 1 @ Sootopolis Gym - Ice Breaking + song se_ru_bari, 1, 1 @ Sootopolis Gym - Walking on Ice + song se_ru_hyuu, 1, 1 @ Falling Down + song se_ki_gasyan, 2, 2 + song se_tk_warpin, 1, 1 @ Warp In + song se_tk_warpout, 1, 1 @ Warp Out + song se_tu_saa, 1, 1 @ Repel + song se_hi_turun, 1, 1 @ Moving Obstacle in Fortree Gym + song se_track_move, 1, 1 @ Moving Truck + song se_track_stop, 1, 1 @ Moving Truck Stop + song se_track_haiki, 2, 2 @ Moving Truck Unload + song se_track_door, 1, 1 @ Moving Truck Door + song se_moter, 2, 2 + song se_card, 1, 1 + song se_save, 1, 1 @ Save + song se_kon, 1, 1 @ Poké Ball Bounce 1 + song se_kon2, 1, 1 @ Poké Ball Bounce 2 + song se_kon3, 1, 1 @ Poké Ball Bounce 3 + song se_kon4, 1, 1 @ Poké Ball Bounce 4 + song se_suikomu, 2, 2 @ Poké Ball Trade + song se_nageru, 1, 1 @ Poké Ball Throw + song se_toy_c, 2, 2 @ Note C + song se_toy_d, 2, 2 @ Note D + song se_toy_e, 2, 2 @ Note E + song se_toy_f, 2, 2 @ Note F + song se_toy_g, 2, 2 @ Note G + song se_toy_a, 2, 2 @ Note A + song se_toy_b, 2, 2 @ Note B + song se_toy_c1, 2, 2 @ Note High C + song se_mizu, 2, 2 @ Puddle + song se_hashi, 2, 2 @ Boardwalk + song se_daugi, 1, 1 @ Slots Credits + song se_pinpon, 1, 1 @ Ding-dong! + song se_fuusen1, 2, 2 @ Red Balloon + song se_fuusen2, 2, 2 @ Blue Balloon + song se_fuusen3, 2, 2 @ Yellow Balloon + song se_toy_kabe, 2, 2 @ Breakable Door + song se_toy_dango, 2, 2 @ Mud Ball + song se_doku, 1, 1 @ Overworld Poison Damage + song se_esuka, 1, 1 @ Escalator + song se_t_ame, 3, 3 @ Rain + song se_t_ame_e, 3, 3 @ Rain Stop + song se_t_ooame, 3, 3 @ Heavy Rain + song se_t_ooame_e, 3, 3 @ Heavy Rain Stop + song se_t_koame, 3, 3 @ Light Rain + song se_t_koame_e, 3, 3 @ Light Rain Stop + song se_t_kami, 1, 1 @ Thunder + song se_t_kami2, 1, 1 @ Thunder 2 + song se_elebeta, 1, 1 @ Elevator + song se_hinsi, 3, 3 @ Low Health + song se_expmax, 1, 1 @ Exp. Max + song se_tamakoro, 2, 2 @ Roulette Ball + song se_tamakoro_e, 2, 2 @ Roulette Ball 2 + song se_basabasa, 1, 1 + song se_regi, 1, 1 @ Cash Register + song se_c_gaji, 1, 1 @ Contest Hearts + song se_c_maku_u, 1, 1 @ Contest Curtain rise + song se_c_maku_d, 1, 1 @ Contest Curtain fall + song se_c_pasi, 1, 1 + song se_c_syu, 1, 1 + song se_c_pikon, 1, 1 @ Pokémon Appears in Contest + song se_reapoke, 1, 1 @ Shiny Pokémon + song se_op_basyu, 1, 1 @ Opening Movie -> Title Screen whoosh + song se_bt_start, 1, 1 @ Battle Mugshot whoosh + song se_dendou, 1, 1 @ Audience Cheering + song se_jihanki, 1, 1 @ Vending Machine + song se_tama, 1, 1 @ Orb Used + song se_z_scroll, 1, 1 @ Pokédex Scrolling + song se_z_page, 1, 1 @ Pokédex Page + song se_pn_on, 1, 1 @ PokéNav On + song se_pn_off, 1, 1 @ PokéNav Off + song se_z_search, 1, 1 @ Pokédex Search + song se_tamago, 1, 1 @ Egg hatch + song se_tb_start, 1, 1 @ Battle - Poké Ball Tray slide in + song se_tb_kon, 1, 1 @ Battle - Poké Ball Tray ball sound + song se_tb_kara, 2, 2 @ Battle - Poké Ball Tray slide out + song se_bidoro, 1, 1 + song se_w085, 2, 2 @ Thunderbolt + song se_w085b, 1, 1 @ Thunderbolt 2 + song se_w231, 1, 1 @ Harden + song se_w171, 1, 1 @ Nightmare + song se_w233, 1, 1 @ Vital Throw + song se_w233b, 1, 1 @ Vital Throw 2 + song se_w145, 1, 1 @ Bubble + song se_w145b, 1, 1 @ Bubble 2 + song se_w145c, 1, 1 @ Bubble 3 + song se_w240, 1, 1 @ Rain Dance + song se_w015, 1, 1 @ Cut + song se_w081, 1, 1 @ String Shot + song se_w081b, 1, 1 @ String Shot 2 + song se_w088, 1, 1 @ Rock Throw + song se_w016, 2, 2 @ Gust + song se_w016b, 2, 2 @ Gust 2 + song se_w003, 1, 1 @ DoubleSlap + song se_w104, 1, 1 @ Double Team + song se_w013, 1, 1 @ Razor Wind + song se_w196, 1, 1 @ Icy Wind + song se_w086, 1, 1 @ Thunder Wave + song se_w004, 1, 1 @ Comet Punch + song se_w025, 1, 1 @ Mega Kick + song se_w025b, 1, 1 @ Mega Kick 2 + song se_w152, 1, 1 @ Crabhammer + song se_w026, 1, 1 @ Jump Kick + song se_w172, 1, 1 @ Flame Wheel + song se_w172b, 1, 1 @ Flame Wheel 2 + song se_w053, 1, 1 @ Flamethrower + song se_w007, 1, 1 @ Fire Punch + song se_w092, 1, 1 @ Toxic + song se_w221, 1, 1 @ Sacred Fire + song se_w221b, 2, 2 @ Sacred Fire 2 + song se_w052, 1, 1 @ Ember + song se_w036, 2, 2 @ Take Down + song se_w059, 1, 1 @ Blizzard + song se_w059b, 1, 1 @ Blizzard 2 + song se_w010, 1, 1 @ Scratch + song se_w011, 1, 1 @ Vicegrip + song se_w017, 1, 1 @ Wing Attack + song se_w019, 1, 1 @ Fly + song se_w028, 1, 1 @ Sand-Attack + song se_w013b, 1, 1 @ Razor Wind 2 + song se_w044, 1, 1 @ Bite + song se_w029, 1, 1 @ Headbutt + song se_w057, 1, 1 @ Surf + song se_w056, 1, 1 @ Hydro Pump + song se_w250, 1, 1 @ Whirlpool + song se_w030, 1, 1 @ Horn Attack + song se_w039, 2, 2 @ Tail Whip + song se_w054, 1, 1 @ Mist + song se_w077, 1, 1 @ PoisonPowder + song se_w020, 2, 2 @ Bind + song se_w082, 1, 1 @ Dragon Rage + song se_w047, 1, 1 @ Sing + song se_w195, 1, 1 @ Perish Song + song se_w006, 1, 1 @ Pay Day + song se_w091, 1, 1 @ Dig + song se_w146, 1, 1 @ Dizzy Punch + song se_w120, 1, 1 @ Self-Destruct + song se_w153, 1, 1 @ Explosion + song se_w071b, 1, 1 @ Absorb 2 + song se_w071, 1, 1 @ Absorb + song se_w103, 1, 1 @ Screech + song se_w062, 1, 1 @ BubbleBeam + song se_w062b, 1, 1 @ BubbleBeam 2 + song se_w048, 1, 1 @ Supersonic + song se_w187, 1, 1 @ Belly Drum + song se_w118, 1, 1 @ Metronome + song se_w155, 1, 1 @ Bonemerang + song se_w122, 1, 1 @ Lick + song se_w060, 1, 1 @ Psybeam + song se_w185, 1, 1 @ Faint Attack + song se_w014, 1, 1 @ Swords Dance + song se_w043, 1, 1 @ Leer + song se_w207, 1, 1 @ Swagger + song se_w207b, 1, 1 @ Swagger 2 + song se_w215, 1, 1 @ Heal Bell + song se_w109, 1, 1 @ Confuse Ray + song se_w173, 1, 1 @ Snore + song se_w280, 1, 1 @ Brick Break + song se_w202, 1, 1 @ Giga Drain + song se_w060b, 1, 1 @ Psybeam 2 + song se_w076, 2, 2 @ SolarBeam + song se_w080, 1, 1 @ Petal Dance + song se_w100, 1, 1 @ Teleport + song se_w107, 1, 1 @ Minimize + song se_w166, 1, 1 @ Sketch + song se_w129, 1, 1 @ Swift + song se_w115, 1, 1 @ Reflect + song se_w112, 1, 1 @ Barrier + song se_w197, 2, 2 @ Detect + song se_w199, 1, 1 @ Lock-On + song se_w236, 1, 1 @ Moonlight + song se_w204, 1, 1 @ Charm + song se_w268, 1, 1 @ Charge + song se_w070, 1, 1 @ Strength + song se_w063, 1, 1 @ Hyper Beam + song se_w127, 1, 1 @ Waterfall + song se_w179, 1, 1 @ Reversal + song se_w151, 1, 1 @ Acid Armor + song se_w201, 1, 1 @ Sandstorm + song se_w161, 1, 1 @ Tri-Attack + song se_w161b, 1, 1 @ Tri-Attack 2 + song se_w227, 1, 1 @ Encore + song se_w227b, 2, 2 @ Encore 2 + song se_w226, 1, 1 @ Baton Pass + song se_w208, 1, 1 @ Milk Drink + song se_w213, 1, 1 @ Attract + song se_w213b, 1, 1 @ Attract 2 + song se_w234, 1, 1 @ Morning Sun + song se_w260, 1, 1 @ Flatter + song se_w328, 1, 1 @ Sand Tomb + song se_w320, 1, 1 @ GrassWhistle + song se_w255, 1, 1 @ Spit Up + song se_w291, 1, 1 @ Dive + song se_w089, 2, 2 @ Earthquake + song se_w239, 2, 2 @ Twister + song se_w230, 1, 1 @ Sweet Scent + song se_w281, 1, 1 @ Yawn + song se_w327, 2, 2 @ Sky Uppercut + song se_w287, 1, 1 @ Stat Increased + song se_w257, 1, 1 @ Heat Wave + song se_w253, 1, 1 @ Uproar + song se_w258, 1, 1 @ Hail + song se_w322, 2, 2 @ Cosmic Power + song se_w298, 1, 1 @ Teeter Dance + song se_w287b, 1, 1 @ Stat Decreased + song se_w114, 1, 1 @ Haze + song se_w063b, 1, 1 @ Hyper Beam 2 + @ FRLG SFX below + song se_rg_w_door, 1, 1 @ Door + song se_rg_card1, 1, 1 @ Trainer Card 1 + song se_rg_card2, 1, 1 @ Trainer Card 2 + song se_rg_card3, 1, 1 @ Trainer Card 3 + song se_rg_bag1, 1, 1 @ Bag Scroll + song se_rg_bag2, 1, 1 @ Bag Pocket Change + song se_rg_getting, 1, 1 + song se_rg_shop, 1, 1 @ Cash Register + song se_rg_kiteki, 1, 1 @ S.S. Anne Horn + song se_rg_help_op, 1, 1 @ Help Menu Open + song se_rg_help_cl, 1, 1 @ Help Menu Close + song se_rg_help_ng, 1, 1 @ Help Menu Error + song se_rg_deomov, 1, 1 @ Deoxys Moves + song se_rg_excellent, 1, 1 + song se_rg_nawamiss, 1, 1 + @ end FRLG SFX + song se_toreeye, 1, 1 @ Trainer's Eye Call + song se_toreoff, 1, 1 @ Trainer's Eye Hang Up + song se_hantei1, 1, 1 @ Battle Arena Time's Up 1 + song se_hantei2, 1, 1 @ Battle Arena Time's Up 2 + song se_curtain, 1, 1 @ Battle Pike Curtain Open + song se_curtain1, 1, 1 @ Battle Pike Curtain Close + song se_ussoki, 1, 1 @ Sudowoodo + + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song dummy_song_header, 0, 0 + song mus_tetsuji, 0, 0 @ Littleroot Town Test 'TETSUJI' + song mus_field13, 0, 0 @ GSC - Route 38 + song mus_kachi22, 0, 0 @ Wild Pokémon Defeated + song mus_kachi2, 0, 0 @ Wild Pokémon Defeated with Intro + song mus_kachi3, 0, 0 @ Gym Leader Defeated + song mus_kachi5, 0, 0 @ Victory! Elite Four + song mus_pcc, 0, 0 @ Crystal - Pokémon Communication Center + song mus_nibi, 0, 0 @ GSC - Viridian/Saffron/Pewter/etc + song mus_suikun, 0, 0 @ Crystal - Battle! Legendary Beasts + song mus_dooro1, 0, 0 @ Route 101 + song mus_dooro_x1, 0, 0 @ Route 110 + song mus_dooro_x3, 0, 0 @ Route 120 + song mus_machi_s2, 0, 0 @ Petalburg City + song mus_machi_s4, 0, 0 @ Oldale/Lavaridge Town + song mus_gim, 0, 0 @ Gym + song mus_naminori, 0, 0 @ Surfing + song mus_dan01, 0, 0 @ Caves and Darkness + song mus_fanfa1, 2, 2 @ Level Up! + song mus_me_asa, 2, 2 @ Pokémon Healed + song mus_me_bachi, 2, 2 @ Obtained a Badge! + song mus_fanfa4, 2, 2 @ Obtained an Item! + song mus_fanfa5, 2, 2 @ Your Pokémon Just Evolved! + song mus_me_waza, 2, 2 @ Obtained a TM/HM! + song mus_bijyutu, 0, 0 @ Lilycove Museum + song mus_dooro_x4, 0, 0 @ Route 122/Intro + song mus_fune_kan, 0, 0 @ Slateport Museum + song mus_me_shinka, 2, 2 @ Evolution Intro + song mus_shinka, 0, 0 @ Evolution + song mus_me_wasure, 2, 2 @ Move Deleted/Messed Up Appeal + song mus_syoujoeye, 0, 0 @ Encounter! Tuber + song mus_boyeye, 0, 0 @ Encounter! Boy + song mus_dan02, 0, 0 @ Abandoned Ship/Southern Island + song mus_machi_s3, 0, 0 @ Fortree City/Pacifidlog Town + song mus_odamaki, 0, 0 @ Professor Birch's Lab + song mus_b_tower, 0, 0 @ Battle Tower (RS) + song mus_swimeye, 0, 0 @ Encounter! Swimmer + song mus_dan03, 0, 0 @ Meteor Falls/Cave of Origin + song mus_me_kinomi, 2, 2 @ Obtained a Berry! + song mus_me_tama, 2, 2 @ Awakening the Super-Ancient Pokémon + song mus_me_b_big, 2, 2 @ Slots Jackpot! + song mus_me_b_small, 2, 2 @ Slots Victory! + song mus_me_zannen, 2, 2 @ Too bad! + song mus_bd_time, 0, 0 @ Roulette! + song mus_test1, 0, 0 @ Contest Test 1 + song mus_test2, 0, 0 @ Contest Test 2 + song mus_test3, 0, 0 @ Contest Test 3 + song mus_test4, 0, 0 @ Contest Test 4 + song mus_test, 0, 0 @ Encounter! Gentleman + song mus_gomachi0, 0, 0 @ Verdanturf Town + song mus_gotown, 0, 0 @ Rustboro/Mauville/Mossdeep City + song mus_pokecen, 0, 0 @ Pokémon Center + song mus_nextroad, 0, 0 @ Route 104 + song mus_granroad, 0, 0 @ Route 119 + song mus_cycling, 0, 0 @ Cycling + song mus_friendly, 0, 0 @ Pokémart + song mus_mishiro, 0, 0 @ Littleroot Town + song mus_tozan, 0, 0 @ Sky Pillar + song mus_girleye, 0, 0 @ Encounter! Girl + song mus_minamo, 0, 0 @ Lilycove City + song mus_ashroad, 0, 0 @ Route 111 + song mus_event0, 0, 0 @ Help me! + song mus_deepdeep, 0, 0 @ Underwater + song mus_kachi1, 0, 0 @ Victory! Trainer + song mus_title3, 0, 0 @ Title Screen + song mus_demo1, 0, 0 @ Opening Movie + song mus_girl_sup, 0, 0 @ Encounter! May + song mus_hageshii, 0, 0 @ Encounter! Biker + song mus_kakkoii, 0, 0 @ Encounter! Electric Trainer + song mus_kazanbai, 0, 0 @ Route 113 + song mus_aqa_0, 0, 0 @ Encounter! Team Aqua + song mus_tsuretek, 0, 0 @ Follow Me! + song mus_boy_sup, 0, 0 @ Encounter! Brendan + song mus_rainbow, 0, 0 @ Ever Grande City + song mus_ayasii, 0, 0 @ Encounter! Psychic + song mus_kachi4, 0, 0 @ Victory! Aqua/Magma Grunt + song mus_ropeway, 0, 0 @ Cable Car + song mus_casino, 0, 0 @ Game Corner + song mus_hightown, 0, 0 @ Dewford Town + song mus_safari, 0, 0 @ Safari Zone + song mus_c_road, 0, 0 @ Victory Road + song mus_ajito, 0, 0 @ Aqua/Magma Hideout + song mus_m_boat, 0, 0 @ Sailing + song mus_m_dungon, 0, 0 @ Mt. Pyre (Inside) + song mus_finecity, 0, 0 @ Slateport City + song mus_machupi, 0, 0 @ Mt. Pyre (Outside) + song mus_p_school, 0, 0 @ Pokémon Trainer's School + song mus_dendou, 0, 0 @ You're the Champion! + song mus_tonekusa, 0, 0 @ Fallarbor Town + song mus_maborosi, 0, 0 @ Sealed Chamber + song mus_con_fan, 0, 0 @ Obtained a Contest Ribbon! + song mus_contest0, 0, 0 @ Pokémon Contest + song mus_mgm0, 0, 0 @ Encounter! Team Magma + song mus_t_battle, 0, 0 @ Opening Battle + song mus_ooame, 0, 0 @ The Flood + song mus_hideri, 0, 0 @ The Drought + song mus_runecity, 0, 0 @ Sootopolis City + song mus_con_k, 0, 0 @ Contest/Berry Blending Results + song mus_eikou_r, 0, 0 @ Hall of Fame + song mus_karakuri, 0, 0 @ Trick House + song mus_hutago, 0, 0 @ Encounter! Kid + song mus_sitennou, 0, 0 @ Encounter! Elite Four + song mus_yama_eye, 0, 0 @ Encounter! Hiker + song mus_conlobby, 0, 0 @ Contest Lobby + song mus_inter_v, 0, 0 @ Encounter! Gabby and Ty + song mus_daigo, 0, 0 @ Encounter! Wallace + song mus_thankfor, 0, 0 @ Credits + song mus_end, 0, 0 @ The End + song mus_b_frontier, 0, 0 @ Battle Frontier + song mus_b_arena, 0, 0 @ Battle Arena + song mus_me_pointget, 2, 2 @ Obtained Battle Points! + song mus_me_tore_eye, 2, 2 @ Registered Trainer! + song mus_pyramid, 0, 0 @ Battle Pyramid + song mus_pyramid_top, 0, 0 @ Top of the Battle Pyramid + song mus_b_palace, 0, 0 @ Battle Palace + song mus_rekkuu_kourin, 0, 0 @ Rayquaza Enters + song mus_sattower, 0, 0 @ Battle Tower (Emerald) + song mus_me_symbolget, 2, 2 @ Obtained a Frontier Symbol! + song mus_b_dome, 0, 0 @ Battle Dome + song mus_b_tube, 0, 0 @ Battle Pike + song mus_b_factory, 0, 0 @ Battle Factory + song mus_vs_rekku, 0, 0 @ Battle! Legendary Pokémon + song mus_vs_front, 0, 0 @ Battle! Frontier Brain + song mus_vs_mew, 0, 0 @ Battle! Mew + song mus_b_dome1, 0, 0 @ Battle Dome Lobby + song mus_battle27, 0, 0 @ Battle! Wild Pokémon + song mus_battle31, 0, 0 @ Battle! Team Aqua/Magma + song mus_battle20, 0, 0 @ Battle! Trainer + song mus_battle32, 0, 0 @ Battle! Gym Leader + song mus_battle33, 0, 0 @ Battle! Champion + song mus_battle36, 0, 0 @ Battle! Regi Trio + song mus_battle34, 0, 0 @ Battle! Legendary Pokémon (dupe) + song mus_battle35, 0, 0 @ Battle! Rival + song mus_battle38, 0, 0 @ Battle! Elite Four + song mus_battle30, 0, 0 @ Battle! Archie/Maxie + @ FRLG Music Below + song mus_rg_annai, 0, 0 @ Follow Me! + song mus_rg_slot, 0, 0 @ Game Corner + song mus_rg_ajito, 0, 0 @ Rocket Hideout + song mus_rg_gym, 0, 0 @ Gym + song mus_rg_purin, 2, 2 @ Jigglypuff's Song + song mus_rg_demo, 0, 0 @ Opening Movie + song mus_rg_title, 0, 0 @ Title Screen + song mus_rg_guren, 0, 0 @ Cinnabar Island + song mus_rg_shion, 0, 0 @ Lavender Town + song mus_rg_kaihuku, 0, 0 @ RBY Pokémon Center Healing + song mus_rg_cycling, 0, 0 @ Cycling + song mus_rg_rocket, 0, 0 @ Encounter! Team Rocket + song mus_rg_shoujo, 0, 0 @ Encounter! Girl + song mus_rg_shounen, 0, 0 @ Encounter! Boy + song mus_rg_dendou, 0, 0 @ You're the Champion! + song mus_rg_t_mori, 0, 0 @ Viridian Forest + song mus_rg_otsukimi, 0, 0 @ Mt. Moon + song mus_rg_pokeyashi, 0, 0 @ Pokémon Mansion + song mus_rg_ending, 0, 0 @ Credits + song mus_rg_load01, 0, 0 @ Route 1 + song mus_rg_opening, 0, 0 @ Route 24/Intro + song mus_rg_load02, 0, 0 @ Route 3 + song mus_rg_load03, 0, 0 @ Route 11 + song mus_rg_champ_r, 0, 0 @ Victory Road/Indigo Plateau + song mus_rg_vs_gym, 0, 0 @ Battle! Gym Leader/Elite Four + song mus_rg_vs_tore, 0, 0 @ Battle! Trainer + song mus_rg_vs_yasei, 0, 0 @ Battle! Wild Pokémon + song mus_rg_vs_last, 0, 0 @ Battle! Champion + song mus_rg_masara, 0, 0 @ Pallet Town + song mus_rg_kenkyu, 0, 0 @ Professor Oak's Lab + song mus_rg_ohkido, 0, 0 @ Professor Oak's Theme + song mus_rg_pokecen, 0, 0 @ Pokémon Center + song mus_rg_santoan, 0, 0 @ S.S. Anne + song mus_rg_naminori, 0, 0 @ Surfing + song mus_rg_p_tower, 0, 0 @ Pokémon Tower + song mus_rg_shiruhu, 0, 0 @ Silph Co. + song mus_rg_hanada, 0, 0 @ Cerulean/Fuschia City + song mus_rg_tamamusi, 0, 0 @ Celadon City + song mus_rg_win_tre, 0, 0 @ Victory! Trainer + song mus_rg_win_yasei, 0, 0 @ Victory! Wild Pokémon + song mus_rg_win_gym, 0, 0 @ Victory! Gym Leader + song mus_rg_kuchiba, 0, 0 @ Vermillion City + song mus_rg_nibi, 0, 0 @ Viridian/Saffron/Pewter City + song mus_rg_rival1, 0, 0 @ Encounter! Rival + song mus_rg_rival2, 0, 0 @ Rival's Exit + song mus_rg_fan2, 2, 2 @ Fanfare 2 + song mus_rg_fan5, 2, 2 @ Obtained a Starter! + song mus_rg_fan6, 2, 2 @ Pokémon Caught! (Used in Emerald) + song mus_me_rg_photo, 2, 2 @ Trainer Photo + song mus_rg_titlerog, 0, 0 @ Game Freak + song mus_rg_get_yasei, 0, 0 @ Pokémon Caught Victory Theme + song mus_rg_sousa, 0, 0 @ Starting Tutorial + song mus_rg_sekaikan, 0, 0 @ Starting Tutorial 2 + song mus_rg_seibetu, 0, 0 @ Starting Tutorial 3 + song mus_rg_jump, 0, 0 @ Jumping Minigame + song mus_rg_union, 0, 0 @ Union Room + song mus_rg_network, 0, 0 @ Network Center + song mus_rg_okurimono, 0, 0 @ Mystery Gift + song mus_rg_kinomikui, 0, 0 + song mus_rg_nanadungeon, 0, 0 @ Sevii Caves/Altering Cave (Mt. Moon) + song mus_rg_oshie_tv, 0, 0 @ Follow Me! + song mus_rg_nanashima, 0, 0 @ Sevii Islands Routes (Lake of Rage) + song mus_rg_nanaiseki, 0, 0 @ Sevii Forests (Viridian Forest) + song mus_rg_nana123, 0, 0 @ Sevii Islands 1-3 (Viridian/Saffron/Pewter) + song mus_rg_nana45, 0, 0 @ Sevii Islands 4-5 (Azalea Town) + song mus_rg_nana67, 0, 0 @ Sevii Islands 6-7 (Violet City) + song mus_rg_pokefue, 2, 2 @ Poké Flute + song mus_rg_vs_deo, 0, 0 @ Battle! Deoxys + song mus_rg_vs_myu2, 0, 0 @ Battle! Mewtwo + song mus_rg_vs_den, 0, 0 @ Battle! Legendary Birds + song mus_rg_exeye, 0, 0 @ Encounter! Gym Leader + song mus_rg_deoeye, 0, 0 @ Encounter! Deoxys + song mus_rg_t_tower, 0, 0 @ Trainer Tower (Gym) + song mus_rg_slowmasara, 0, 0 @ Pallet Town (Hall of Fame remix) + song mus_rg_tvnoize, 0, 0 @ Teachy TV + song ph_trap_blend, 2, 2 + song ph_trap_held, 2, 2 + song ph_trap_solo, 2, 2 + song ph_face_blend, 2, 2 + song ph_face_held, 2, 2 + song ph_face_solo, 2, 2 + song ph_cloth_blend, 2, 2 + song ph_cloth_held, 2, 2 + song ph_cloth_solo, 2, 2 + song ph_dress_blend, 2, 2 + song ph_dress_held, 2, 2 + song ph_dress_solo, 2, 2 + song ph_fleece_blend, 2, 2 + song ph_fleece_held, 2, 2 + song ph_fleece_solo, 2, 2 + song ph_kit_blend, 2, 2 + song ph_kit_held, 2, 2 + song ph_kit_solo, 2, 2 + song ph_price_blend, 2, 2 + song ph_price_held, 2, 2 + song ph_price_solo, 2, 2 + song ph_lot_blend, 2, 2 + song ph_lot_held, 2, 2 + song ph_lot_solo, 2, 2 + song ph_goat_blend, 2, 2 + song ph_goat_held, 2, 2 + song ph_goat_solo, 2, 2 + song ph_thought_blend, 2, 2 + song ph_thought_held, 2, 2 + song ph_thought_solo, 2, 2 + song ph_choice_blend, 2, 2 + song ph_choice_held, 2, 2 + song ph_choice_solo, 2, 2 + song ph_mouth_blend, 2, 2 + song ph_mouth_held, 2, 2 + song ph_mouth_solo, 2, 2 + song ph_foot_blend, 2, 2 + song ph_foot_held, 2, 2 + song ph_foot_solo, 2, 2 + song ph_goose_blend, 2, 2 + song ph_goose_held, 2, 2 + song ph_goose_solo, 2, 2 + song ph_strut_blend, 2, 2 + song ph_strut_held, 2, 2 + song ph_strut_solo, 2, 2 + song ph_cure_blend, 2, 2 + song ph_cure_held, 2, 2 + song ph_cure_solo, 2, 2 + song ph_nurse_blend, 2, 2 + song ph_nurse_held, 2, 2 + song ph_nurse_solo, 2, 2 + + .align 2 +dummy_song_header: @ 86B5D00 + .byte 0, 0, 0, 0 diff --git a/sound/songs/mus_ajito.s b/sound/songs/mus_ajito.s new file mode 100644 index 0000000000..62174cac37 --- /dev/null +++ b/sound/songs/mus_ajito.s @@ -0,0 +1,1561 @@ + .include "MPlayDef.s" + + .equ mus_ajito_grp, voicegroup_868BE74 + .equ mus_ajito_pri, 0 + .equ mus_ajito_rev, reverb_set+50 + .equ mus_ajito_mvl, 127 + .equ mus_ajito_key, 0 + .equ mus_ajito_tbs, 1 + .equ mus_ajito_exg, 0 + .equ mus_ajito_cmp, 1 + + .section .rodata + .global mus_ajito + .align 2 + +@********************** Track 1 **********************@ + +mus_ajito_1: + .byte KEYSH , mus_ajito_key+0 +mus_ajito_1_B1: + .byte TEMPO , 118*mus_ajito_tbs/2 + .byte VOICE , 127 + .byte PAN , c_v+0 + .byte VOL , 39*mus_ajito_mvl/mxv + .byte N03 , En5 , v112 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte VOICE , 126 + .byte N09 , Gn5 , v100 + .byte W12 + .byte VOICE , 127 + .byte N03 , En5 , v112 + .byte W12 + .byte VOICE , 126 + .byte N09 , Gn5 + .byte W12 +mus_ajito_1_000: + .byte VOICE , 127 + .byte N03 , En5 , v112 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte VOICE , 126 + .byte N09 , Gn5 , v100 + .byte W12 + .byte VOICE , 127 + .byte N03 , En5 , v112 + .byte W12 + .byte VOICE , 126 + .byte N09 , Gn5 + .byte W12 + .byte PEND + .byte PATT + .word mus_ajito_1_000 + .byte PATT + .word mus_ajito_1_000 + .byte PATT + .word mus_ajito_1_000 + .byte PATT + .word mus_ajito_1_000 + .byte PATT + .word mus_ajito_1_000 + .byte PATT + .word mus_ajito_1_000 + .byte PATT + .word mus_ajito_1_000 + .byte PATT + .word mus_ajito_1_000 + .byte PATT + .word mus_ajito_1_000 + .byte PATT + .word mus_ajito_1_000 + .byte PATT + .word mus_ajito_1_000 + .byte PATT + .word mus_ajito_1_000 + .byte PATT + .word mus_ajito_1_000 + .byte PATT + .word mus_ajito_1_000 + .byte PATT + .word mus_ajito_1_000 + .byte PATT + .word mus_ajito_1_000 + .byte PATT + .word mus_ajito_1_000 + .byte PATT + .word mus_ajito_1_000 + .byte GOTO + .word mus_ajito_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_ajito_2: + .byte KEYSH , mus_ajito_key+0 +mus_ajito_2_B1: + .byte VOICE , 17 + .byte PAN , c_v+0 + .byte VOL , 36*mus_ajito_mvl/mxv + .byte LFOS , 44 + .byte BENDR , 2 + .byte W96 +mus_ajito_2_000: + .byte W72 + .byte N03 , Ds4 , v112 + .byte W03 + .byte Fn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte An4 + .byte W03 + .byte As4 + .byte W03 + .byte Bn4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Dn5 + .byte W03 + .byte PEND + .byte TIE , Ds5 + .byte W96 + .byte W48 + .byte EOT + .byte N03 , Fn5 + .byte W06 + .byte Gn4 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Fn5 + .byte W06 + .byte N03 , Gn4 + .byte W12 + .byte Ds5 + .byte W06 + .byte W96 + .byte W60 + .byte N12 + .byte W12 + .byte N03 , Gn5 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 + .byte W06 + .byte N06 , Fn5 + .byte W06 + .byte TIE , Ds5 + .byte W96 + .byte W48 + .byte EOT + .byte N03 , Fn5 + .byte W06 + .byte Gn4 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Fn5 + .byte W06 + .byte N03 , Gn4 + .byte W12 + .byte Gn5 + .byte W06 + .byte W96 + .byte W96 + .byte VOICE , 17 + .byte N18 , Fn5 + .byte W18 + .byte TIE , Cn5 + .byte W78 + .byte W48 + .byte EOT + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte N18 , Dn5 + .byte W18 + .byte N12 , Ds5 + .byte W12 + .byte N03 , Gs4 + .byte W06 + .byte N12 , Dn5 + .byte W12 + .byte N03 , Gs4 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte N03 , Gs4 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte N03 , Gs4 + .byte W06 + .byte N03 + .byte W03 + .byte As4 + .byte W03 + .byte Cn5 + .byte W03 + .byte As4 + .byte W03 + .byte N11 , Gs4 + .byte W12 + .byte N48 , Fn4 + .byte W54 + .byte N06 , Ds4 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Ds3 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N96 , Ds5 + .byte W96 + .byte N06 , Gn5 + .byte W06 + .byte N03 , Fn5 + .byte W06 + .byte N06 , Ds5 + .byte W06 + .byte N03 , Dn5 + .byte W12 + .byte N06 , Cn5 + .byte W12 + .byte N03 , Dn5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Gn4 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Fn5 + .byte W06 + .byte N03 , Gn4 + .byte W12 + .byte Ds5 + .byte W06 + .byte W96 + .byte PATT + .word mus_ajito_2_000 + .byte N36 , Ds5 , v112 + .byte W36 + .byte W03 + .byte N03 , En5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Fs5 + .byte W03 + .byte N15 , Gn5 + .byte W15 + .byte N03 , Fs5 + .byte W03 + .byte N15 , Gn5 + .byte W15 + .byte N03 , Fs5 + .byte W03 + .byte N60 , Gn5 + .byte W12 + .byte W48 + .byte N03 , Fn5 + .byte W06 + .byte Gn4 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Fn5 + .byte W06 + .byte N03 , Gn4 + .byte W12 + .byte Ds5 + .byte W06 + .byte GOTO + .word mus_ajito_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_ajito_3: + .byte KEYSH , mus_ajito_key+0 +mus_ajito_3_B1: + .byte VOICE , 36 + .byte LFOS , 44 + .byte BENDR , 2 + .byte PAN , c_v+0 + .byte VOL , 84*mus_ajito_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Cn1 , v112 + .byte W18 + .byte N03 , Cn1 , v088 + .byte W18 + .byte N12 , Bn1 , v124 + .byte W06 + .byte BEND , c_v+32 + .byte W06 + .byte c_v+0 + .byte W48 +mus_ajito_3_000: + .byte N06 , Cn1 , v112 + .byte W12 + .byte N12 , Cn1 , v088 + .byte W24 + .byte N03 , Cn2 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 35 + .byte W12 + .byte N06 , Gn1 , v092 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte An1 + .byte W12 + .byte Gn1 + .byte W06 + .byte PEND +mus_ajito_3_001: + .byte VOICE , 36 + .byte BEND , c_v+0 + .byte N12 , Cn1 , v112 + .byte W18 + .byte N03 , Cn1 , v088 + .byte W18 + .byte N12 , Bn1 , v124 + .byte W06 + .byte BEND , c_v+32 + .byte W06 + .byte c_v+0 + .byte W48 + .byte PEND + .byte PATT + .word mus_ajito_3_000 + .byte PATT + .word mus_ajito_3_001 + .byte PATT + .word mus_ajito_3_000 + .byte PATT + .word mus_ajito_3_001 + .byte PATT + .word mus_ajito_3_000 + .byte PATT + .word mus_ajito_3_001 + .byte N06 , Cn1 , v112 + .byte W12 + .byte N12 , Cn1 , v088 + .byte W24 + .byte N03 , Cn2 , v080 + .byte W06 + .byte N03 + .byte W12 + .byte N06 , Fn2 , v112 + .byte W12 + .byte Ds2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Ds2 + .byte W06 +mus_ajito_3_002: + .byte VOICE , 36 + .byte BEND , c_v+0 + .byte N12 , Fn1 , v112 + .byte W18 + .byte N03 , Fn1 , v088 + .byte W18 + .byte N12 , En2 , v124 + .byte W06 + .byte BEND , c_v+32 + .byte W06 + .byte c_v+0 + .byte W48 + .byte PEND + .byte N06 , Fn1 , v112 + .byte W12 + .byte N12 , Fn1 , v088 + .byte W24 + .byte N03 , Fn2 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 35 + .byte W12 + .byte N06 , Cn2 , v092 + .byte W12 + .byte N03 , Ds2 + .byte W06 + .byte Dn2 + .byte W12 + .byte Cn2 + .byte W06 + .byte PATT + .word mus_ajito_3_002 + .byte N06 , Fn1 , v112 + .byte W12 + .byte N12 , Fn1 , v088 + .byte W24 + .byte N03 , Fn2 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn1 , v112 + .byte W06 + .byte N03 , Fn2 + .byte W12 + .byte Fn1 , v076 + .byte W06 + .byte N12 , En2 , v124 + .byte W06 + .byte BEND , c_v+35 + .byte W06 + .byte c_v+0 + .byte W12 + .byte PATT + .word mus_ajito_3_001 + .byte PATT + .word mus_ajito_3_000 + .byte PATT + .word mus_ajito_3_001 + .byte PATT + .word mus_ajito_3_000 + .byte PATT + .word mus_ajito_3_001 + .byte PATT + .word mus_ajito_3_000 + .byte GOTO + .word mus_ajito_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_ajito_4: + .byte KEYSH , mus_ajito_key+0 +mus_ajito_4_B1: + .byte VOICE , 17 + .byte PAN , c_v+0 + .byte VOL , 39*mus_ajito_mvl/mxv + .byte LFOS , 44 + .byte BENDR , 2 + .byte W96 +mus_ajito_4_000: + .byte W72 + .byte N03 , Cn4 , v112 + .byte W03 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte An4 + .byte W03 + .byte As4 + .byte W03 + .byte Bn4 + .byte W03 + .byte PEND + .byte TIE , Cn5 + .byte W96 + .byte W48 + .byte EOT + .byte N03 , Ds5 + .byte W06 + .byte Ds4 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Ds5 + .byte W06 + .byte N03 , Ds4 + .byte W12 + .byte Cn5 + .byte W06 + .byte W96 + .byte W60 + .byte N12 , Gn4 + .byte W12 + .byte N03 , Cn5 + .byte W06 + .byte N03 + .byte W06 + .byte Ds4 + .byte W06 + .byte N06 , Bn4 + .byte W06 + .byte TIE , Cn5 + .byte W96 + .byte W48 + .byte EOT + .byte N03 , Ds5 + .byte W06 + .byte Ds4 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Ds5 + .byte W06 + .byte N03 , Ds4 + .byte W12 + .byte Ds5 + .byte W06 + .byte W96 + .byte W96 + .byte N18 + .byte W18 + .byte N84 , Gs4 + .byte W78 + .byte W06 + .byte N06 , As4 + .byte W06 + .byte N03 , Cn4 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , As4 + .byte W18 + .byte N06 , Gs4 + .byte W18 + .byte N06 + .byte W06 + .byte N03 , Cn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte N18 , Cn5 + .byte W18 + .byte N12 + .byte W12 + .byte N03 , Ds4 + .byte W06 + .byte N12 , Bn4 + .byte W12 + .byte N03 , Ds4 + .byte W06 + .byte N12 , As4 + .byte W12 + .byte N03 , Ds4 + .byte W06 + .byte N12 , Gs4 + .byte W12 + .byte N03 , Ds4 + .byte W06 + .byte Fn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte N12 , Fn4 + .byte W12 + .byte N24 , Cn4 + .byte W30 + .byte N06 , Ds4 + .byte W06 + .byte N03 , Gs3 + .byte W06 + .byte N03 + .byte W12 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Cn3 + .byte W06 + .byte As3 + .byte W06 + .byte Cn3 + .byte W06 + .byte N06 , Gs3 + .byte W06 + .byte N03 , Cn3 + .byte W06 + .byte As3 + .byte W06 + .byte N48 , Cn5 + .byte W54 + .byte N06 , Fn5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Dn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N03 , Dn5 + .byte W06 + .byte N06 , Cn5 + .byte W06 + .byte N03 , Bn4 + .byte W12 + .byte N06 , Gn4 + .byte W12 + .byte As4 + .byte W06 + .byte N03 , Ds5 + .byte W06 + .byte Ds4 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Ds5 + .byte W06 + .byte N03 , Ds4 + .byte W12 + .byte Cn5 + .byte W06 + .byte W96 + .byte PATT + .word mus_ajito_4_000 + .byte N96 , Cn5 , v112 + .byte W96 + .byte N03 , Gn4 + .byte W06 + .byte N06 , Fn5 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte N06 , Ds5 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte N06 , Cn5 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte N06 , Dn5 + .byte W06 + .byte N03 , Ds5 + .byte W06 + .byte Ds4 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Ds5 + .byte W06 + .byte N03 , Ds4 + .byte W12 + .byte Cn5 + .byte W06 + .byte GOTO + .word mus_ajito_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_ajito_5: + .byte KEYSH , mus_ajito_key+0 +mus_ajito_5_B1: + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 2 + .byte VOL , 42*mus_ajito_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte MOD , 30 + .byte BEND , c_v+0 + .byte N03 , Bn1 , v092 + .byte W06 + .byte Cn2 , v084 + .byte W06 + .byte N06 , Cn2 , v127 + .byte W06 + .byte N03 , Cn2 , v080 + .byte W06 + .byte N06 , Bn1 , v092 + .byte W06 + .byte N03 , Cn2 , v084 + .byte W06 + .byte N06 , Cn2 , v096 + .byte W06 + .byte N03 , Cn2 , v080 + .byte W06 + .byte N02 , Cn2 , v112 + .byte W04 + .byte Cn2 , v084 + .byte W04 + .byte Cn2 , v096 + .byte W04 + .byte N06 , Bn1 , v120 + .byte W06 + .byte N03 , Cn2 , v080 + .byte W06 + .byte N06 , Cn2 , v096 + .byte W06 + .byte N03 , Cn2 , v084 + .byte W06 + .byte N06 , Bn1 , v096 + .byte W06 + .byte N03 , Cn2 , v080 + .byte W06 + .byte BEND , c_v+0 + .byte N03 , Cn2 , v096 + .byte W06 + .byte Cn2 , v084 + .byte W06 + .byte N06 , Cn2 , v116 + .byte W06 + .byte N03 , Cn2 , v080 + .byte W06 + .byte Ds2 , v112 + .byte W06 + .byte Ds2 , v076 + .byte W06 + .byte N06 , Dn2 , v112 + .byte W06 + .byte N03 , Ds2 , v080 + .byte W06 + .byte BEND , c_v+0 + .byte N48 , Gn2 , v112 + .byte W15 + .byte BEND , c_v+0 + .byte W02 + .byte c_v-7 + .byte W03 + .byte c_v-10 + .byte W04 + .byte c_v-13 + .byte W05 + .byte c_v-20 + .byte W03 + .byte c_v-23 + .byte W04 + .byte c_v-29 + .byte W02 + .byte c_v-38 + .byte W03 + .byte c_v-47 + .byte W03 + .byte c_v-62 + .byte W04 + .byte MOD , 2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W03 + .byte VOL , 31*mus_ajito_mvl/mxv + .byte W92 + .byte W01 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_ajito_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_ajito_6: + .byte KEYSH , mus_ajito_key+0 +mus_ajito_6_B1: + .byte VOICE , 80 + .byte PAN , c_v-61 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 2 + .byte VOL , 37*mus_ajito_mvl/mxv + .byte BEND , c_v+0 + .byte W96 +mus_ajito_6_000: + .byte W72 + .byte N03 , An1 , v112 + .byte W03 + .byte Bn1 + .byte W03 + .byte Cn2 + .byte W03 + .byte Dn2 + .byte W03 + .byte En2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Gn2 + .byte W03 + .byte An2 + .byte W03 + .byte PEND + .byte TIE , As2 + .byte W96 + .byte W48 + .byte EOT + .byte N03 , Cn3 + .byte W06 + .byte Ds2 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Cn3 + .byte W06 + .byte N03 , Ds2 + .byte W12 + .byte Gn2 + .byte W06 + .byte VOICE , 84 + .byte N03 , Dn2 , v092 + .byte W06 + .byte Ds2 , v084 + .byte W06 + .byte N06 , Ds2 , v127 + .byte W06 + .byte N03 , Ds2 , v080 + .byte W06 + .byte N06 , Dn2 , v092 + .byte W06 + .byte N03 , Ds2 , v084 + .byte W06 + .byte N06 , Ds2 , v096 + .byte W06 + .byte N03 , Ds2 , v080 + .byte W06 + .byte N02 , Ds2 , v112 + .byte W04 + .byte Ds2 , v084 + .byte W04 + .byte Ds2 , v096 + .byte W04 + .byte N06 , Dn2 , v120 + .byte W06 + .byte N03 , Ds2 , v080 + .byte W06 + .byte N06 , Ds2 , v096 + .byte W06 + .byte N03 , Ds2 , v084 + .byte W06 + .byte N06 , Dn2 , v096 + .byte W06 + .byte N03 , Ds2 , v080 + .byte W06 + .byte VOICE , 80 + .byte N03 , Ds2 , v096 + .byte W06 + .byte Ds2 , v084 + .byte W06 + .byte N06 , Ds2 , v116 + .byte W06 + .byte N03 , Ds2 , v080 + .byte W06 + .byte Gn2 , v112 + .byte W06 + .byte Gn2 , v076 + .byte W06 + .byte N06 , Fs2 , v112 + .byte W06 + .byte N03 , Gn2 , v080 + .byte W06 + .byte N24 , Cn3 , v112 + .byte W24 + .byte N03 , An1 + .byte W03 + .byte Bn1 + .byte W03 + .byte Cn2 + .byte W03 + .byte Dn2 + .byte W03 + .byte En2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Gn2 + .byte W03 + .byte An2 + .byte W03 + .byte N36 , As2 + .byte W36 + .byte W03 + .byte N03 , Cn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Dn3 + .byte W03 + .byte N36 , Ds3 + .byte W36 + .byte W03 + .byte N03 , Gn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte An3 + .byte W03 + .byte N48 , As3 + .byte W48 + .byte N03 , Cn4 + .byte W06 + .byte Ds3 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Ds3 + .byte W12 + .byte Cn4 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte TIE , As2 + .byte W96 + .byte W48 + .byte EOT + .byte N03 , Cn3 + .byte W06 + .byte Ds2 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Cn3 + .byte W06 + .byte N03 , Ds2 + .byte W12 + .byte Gn2 + .byte W06 + .byte W96 + .byte PATT + .word mus_ajito_6_000 + .byte TIE , As2 , v112 + .byte W96 + .byte W48 + .byte EOT + .byte N03 , Cn3 + .byte W06 + .byte Ds2 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Cn3 + .byte W06 + .byte N03 , Ds2 + .byte W12 + .byte Gn2 + .byte W06 + .byte GOTO + .word mus_ajito_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_ajito_7: + .byte KEYSH , mus_ajito_key+0 +mus_ajito_7_B1: + .byte VOICE , 81 + .byte PAN , c_v+63 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 2 + .byte VOL , 37*mus_ajito_mvl/mxv + .byte W96 +mus_ajito_7_000: + .byte W72 + .byte N03 , Ds2 , v112 + .byte W03 + .byte Fn2 + .byte W03 + .byte Gn2 + .byte W03 + .byte An2 + .byte W03 + .byte As2 + .byte W03 + .byte Bn2 + .byte W03 + .byte Cn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte PEND + .byte TIE , Ds3 + .byte W96 + .byte W48 + .byte EOT + .byte N03 , Fn3 + .byte W06 + .byte Gn2 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte N03 , Gn2 + .byte W12 + .byte Ds3 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Cn1 + .byte W18 + .byte N03 , Cn1 , v088 + .byte W18 + .byte N12 , Bn1 , v124 + .byte W60 + .byte N06 , Cn1 , v112 + .byte W12 + .byte N12 , Cn1 , v088 + .byte W24 + .byte N03 , Cn2 , v080 + .byte W06 + .byte N03 + .byte W18 + .byte N06 , Gn1 , v092 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , Ds2 , v112 + .byte W03 + .byte Fn2 + .byte W03 + .byte Gn2 + .byte W03 + .byte An2 + .byte W03 + .byte As2 + .byte W03 + .byte Bn2 + .byte W03 + .byte Cn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte N36 , Ds3 + .byte W36 + .byte W03 + .byte N03 , Gn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte An3 + .byte W03 + .byte N36 , As3 + .byte W36 + .byte W03 + .byte N03 , Cn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte Dn4 + .byte W03 + .byte N48 , Ds4 + .byte W48 + .byte N03 , Fn4 + .byte W06 + .byte Gn3 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Gn3 + .byte W12 + .byte Gn4 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte TIE , Ds3 + .byte W96 + .byte W48 + .byte EOT + .byte N03 , Fn3 + .byte W06 + .byte Gn2 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte N03 , Gn2 + .byte W12 + .byte Ds3 + .byte W06 + .byte W96 + .byte PATT + .word mus_ajito_7_000 + .byte TIE , Ds3 , v112 + .byte W96 + .byte W48 + .byte EOT + .byte N03 , Fn3 + .byte W06 + .byte Gn2 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte N03 , Gn2 + .byte W12 + .byte Ds3 + .byte W06 + .byte GOTO + .word mus_ajito_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_ajito_8: + .byte KEYSH , mus_ajito_key+0 +mus_ajito_8_B1: + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 79*mus_ajito_mvl/mxv + .byte N06 , Cn1 , v112 + .byte W18 + .byte Cn1 , v064 + .byte W06 + .byte En1 , v112 + .byte W24 + .byte Cn1 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cn1 , v068 + .byte W06 + .byte En1 , v092 + .byte W12 + .byte Cn1 , v064 + .byte W06 + .byte N06 + .byte W06 +mus_ajito_8_000: + .byte N06 , Cn1 , v112 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte En1 , v112 + .byte W24 + .byte Cn1 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cn1 , v068 + .byte W06 + .byte En1 , v104 + .byte W12 + .byte Cn1 , v064 + .byte W06 + .byte N06 + .byte W06 + .byte PEND +mus_ajito_8_001: + .byte N06 , Cn1 , v112 + .byte W18 + .byte Cn1 , v064 + .byte W06 + .byte En1 , v112 + .byte W24 + .byte Cn1 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cn1 , v068 + .byte W06 + .byte En1 , v092 + .byte W12 + .byte Cn1 , v064 + .byte W06 + .byte N06 + .byte W06 + .byte PEND + .byte PATT + .word mus_ajito_8_000 + .byte N06 , Cn1 , v112 + .byte W18 + .byte Cn1 , v064 + .byte W06 + .byte En1 , v112 + .byte W24 + .byte Cn1 + .byte W06 + .byte En1 , v100 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cn1 , v068 + .byte W06 + .byte En1 , v092 + .byte W12 + .byte Cn1 , v064 + .byte W06 + .byte N06 + .byte W06 +mus_ajito_8_002: + .byte N06 , Cn1 , v112 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte En1 , v112 + .byte W24 + .byte Cn1 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cn1 , v068 + .byte W06 + .byte En1 , v104 + .byte W09 + .byte N03 , En1 , v064 + .byte W03 + .byte N06 , En1 , v120 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte PEND + .byte PATT + .word mus_ajito_8_001 + .byte PATT + .word mus_ajito_8_000 + .byte PATT + .word mus_ajito_8_001 + .byte PATT + .word mus_ajito_8_000 + .byte PATT + .word mus_ajito_8_001 + .byte PATT + .word mus_ajito_8_000 + .byte PATT + .word mus_ajito_8_001 + .byte N06 , Cn1 , v112 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte En1 , v112 + .byte W24 + .byte Cn1 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cn1 , v068 + .byte W06 + .byte Dn1 , v084 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte PATT + .word mus_ajito_8_001 + .byte PATT + .word mus_ajito_8_000 + .byte PATT + .word mus_ajito_8_001 + .byte PATT + .word mus_ajito_8_002 + .byte PATT + .word mus_ajito_8_001 + .byte PATT + .word mus_ajito_8_000 + .byte GOTO + .word mus_ajito_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_ajito_9: + .byte KEYSH , mus_ajito_key+0 +mus_ajito_9_B1: + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 2 + .byte VOL , 42*mus_ajito_mvl/mxv + .byte BEND , c_v+1 + .byte N12 , Cn1 , v112 + .byte W18 + .byte N03 , Cn1 , v088 + .byte W18 + .byte N12 , Bn1 , v124 + .byte W60 + .byte N06 , Cn1 , v112 + .byte W03 + .byte VOICE , 82 + .byte W09 + .byte N12 , Cn1 , v088 + .byte W24 + .byte N03 , Cn2 , v080 + .byte W06 + .byte N03 + .byte W18 + .byte N06 , Gn1 , v092 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte An1 + .byte W12 + .byte Gn1 + .byte W06 +mus_ajito_9_000: + .byte N12 , Cn1 , v112 + .byte W18 + .byte N03 , Cn1 , v088 + .byte W18 + .byte N12 , Bn1 , v124 + .byte W60 + .byte PEND +mus_ajito_9_001: + .byte N06 , Cn1 , v112 + .byte W12 + .byte N12 , Cn1 , v088 + .byte W24 + .byte N03 , Cn2 , v080 + .byte W06 + .byte N03 + .byte W18 + .byte N06 , Gn1 , v092 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte An1 + .byte W12 + .byte Gn1 + .byte W06 + .byte PEND + .byte VOICE , 83 + .byte VOL , 32*mus_ajito_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , Bn2 + .byte W06 + .byte Cn3 , v084 + .byte W06 + .byte N06 , Cn3 , v127 + .byte W06 + .byte N03 , Cn3 , v080 + .byte W06 + .byte N06 , Bn2 , v092 + .byte W06 + .byte N03 , Cn3 , v084 + .byte W06 + .byte N06 , Cn3 , v096 + .byte W06 + .byte N03 , Cn3 , v080 + .byte W06 + .byte N02 , Cn3 , v112 + .byte W04 + .byte Cn3 , v084 + .byte W04 + .byte Cn3 , v096 + .byte W04 + .byte N06 , Bn2 , v120 + .byte W06 + .byte N03 , Cn3 , v080 + .byte W06 + .byte N06 , Cn3 , v096 + .byte W06 + .byte N03 , Cn3 , v084 + .byte W06 + .byte N06 , Bn2 , v096 + .byte W06 + .byte N03 , Cn3 , v080 + .byte W06 + .byte BEND , c_v+0 + .byte N03 , Cn3 , v096 + .byte W06 + .byte Cn3 , v084 + .byte W06 + .byte N06 , Cn3 , v116 + .byte W06 + .byte N03 , Cn3 , v080 + .byte W06 + .byte Ds3 , v112 + .byte W06 + .byte Ds3 , v076 + .byte W06 + .byte N06 , Dn3 , v112 + .byte W06 + .byte N03 , Ds3 , v080 + .byte W06 + .byte BEND , c_v+0 + .byte N48 , Gn3 , v112 + .byte W15 + .byte BEND , c_v+0 + .byte W02 + .byte c_v-7 + .byte W03 + .byte c_v-10 + .byte W04 + .byte c_v-13 + .byte W05 + .byte c_v-20 + .byte W03 + .byte c_v-23 + .byte W04 + .byte c_v-29 + .byte W02 + .byte c_v-38 + .byte W03 + .byte c_v-47 + .byte W03 + .byte c_v-62 + .byte W04 + .byte VOICE , 82 + .byte VOL , 43*mus_ajito_mvl/mxv + .byte BEND , c_v+3 + .byte N12 , Cn1 + .byte W18 + .byte N03 , Cn1 , v088 + .byte W18 + .byte N12 , Bn1 , v124 + .byte W60 + .byte PATT + .word mus_ajito_9_001 + .byte PATT + .word mus_ajito_9_000 + .byte N06 , Cn1 , v112 + .byte W12 + .byte N12 , Cn1 , v088 + .byte W24 + .byte N03 , Cn2 , v080 + .byte W06 + .byte N03 + .byte W12 + .byte N06 , Fn2 , v112 + .byte W12 + .byte Ds2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Ds2 + .byte W06 +mus_ajito_9_002: + .byte N12 , Fn1 , v112 + .byte W18 + .byte N03 , Fn1 , v088 + .byte W18 + .byte N12 , En2 , v124 + .byte W60 + .byte PEND + .byte N06 , Fn1 , v112 + .byte W12 + .byte N12 , Fn1 , v088 + .byte W24 + .byte N03 , Fn2 , v080 + .byte W06 + .byte N03 + .byte W18 + .byte N06 , Cn2 , v092 + .byte W12 + .byte N03 , Ds2 + .byte W06 + .byte Dn2 + .byte W12 + .byte Cn2 + .byte W06 + .byte PATT + .word mus_ajito_9_002 + .byte N06 , Fn1 , v112 + .byte W12 + .byte N12 , Fn1 , v088 + .byte W24 + .byte N03 , Fn2 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn1 , v112 + .byte W06 + .byte N03 , Fn2 + .byte W12 + .byte Fn1 , v076 + .byte W06 + .byte N12 , En2 , v124 + .byte W24 + .byte PATT + .word mus_ajito_9_000 + .byte PATT + .word mus_ajito_9_001 + .byte PATT + .word mus_ajito_9_000 + .byte PATT + .word mus_ajito_9_001 + .byte PATT + .word mus_ajito_9_000 + .byte PATT + .word mus_ajito_9_001 + .byte GOTO + .word mus_ajito_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_ajito: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_ajito_pri @ Priority + .byte mus_ajito_rev @ Reverb. + + .word mus_ajito_grp + + .word mus_ajito_1 + .word mus_ajito_2 + .word mus_ajito_3 + .word mus_ajito_4 + .word mus_ajito_5 + .word mus_ajito_6 + .word mus_ajito_7 + .word mus_ajito_8 + .word mus_ajito_9 + + .end diff --git a/sound/songs/mus_aqa_0.s b/sound/songs/mus_aqa_0.s new file mode 100644 index 0000000000..94d698ff15 --- /dev/null +++ b/sound/songs/mus_aqa_0.s @@ -0,0 +1,2755 @@ + .include "MPlayDef.s" + + .equ mus_aqa_0_grp, voicegroup_8687C74 + .equ mus_aqa_0_pri, 0 + .equ mus_aqa_0_rev, reverb_set+50 + .equ mus_aqa_0_mvl, 127 + .equ mus_aqa_0_key, 0 + .equ mus_aqa_0_tbs, 1 + .equ mus_aqa_0_exg, 0 + .equ mus_aqa_0_cmp, 1 + + .section .rodata + .global mus_aqa_0 + .align 2 + +@********************** Track 1 **********************@ + +mus_aqa_0_1: + .byte KEYSH , mus_aqa_0_key+0 + .byte TEMPO , 140*mus_aqa_0_tbs/2 + .byte VOICE , 127 + .byte LFOS , 44 + .byte PAN , c_v+63 + .byte VOL , 46*mus_aqa_0_mvl/mxv + .byte W12 +mus_aqa_0_1_000: + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W18 + .byte En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W18 + .byte En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W18 + .byte En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W18 + .byte PEND + .byte PATT + .word mus_aqa_0_1_000 +mus_aqa_0_1_B1: + .byte PATT + .word mus_aqa_0_1_000 + .byte PATT + .word mus_aqa_0_1_000 + .byte PATT + .word mus_aqa_0_1_000 + .byte PATT + .word mus_aqa_0_1_000 + .byte PATT + .word mus_aqa_0_1_000 + .byte PATT + .word mus_aqa_0_1_000 + .byte PATT + .word mus_aqa_0_1_000 + .byte PATT + .word mus_aqa_0_1_000 + .byte PATT + .word mus_aqa_0_1_000 + .byte PATT + .word mus_aqa_0_1_000 + .byte PATT + .word mus_aqa_0_1_000 + .byte PATT + .word mus_aqa_0_1_000 + .byte PATT + .word mus_aqa_0_1_000 + .byte PATT + .word mus_aqa_0_1_000 + .byte PATT + .word mus_aqa_0_1_000 + .byte PATT + .word mus_aqa_0_1_000 + .byte GOTO + .word mus_aqa_0_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_aqa_0_2: + .byte KEYSH , mus_aqa_0_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte PAN , c_v+63 + .byte VOL , 43*mus_aqa_0_mvl/mxv + .byte W12 +mus_aqa_0_2_000: + .byte W12 + .byte N12 , Gn4 , v100 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte PEND + .byte VOL , 10*mus_aqa_0_mvl/mxv + .byte W12 + .byte N12 + .byte W12 + .byte VOL , 21*mus_aqa_0_mvl/mxv + .byte W12 + .byte N12 + .byte W12 + .byte VOL , 32*mus_aqa_0_mvl/mxv + .byte W12 + .byte N12 + .byte W12 + .byte VOL , 43*mus_aqa_0_mvl/mxv + .byte W12 + .byte N12 + .byte W12 +mus_aqa_0_2_B1: + .byte PATT + .word mus_aqa_0_2_000 + .byte PATT + .word mus_aqa_0_2_000 + .byte PATT + .word mus_aqa_0_2_000 + .byte PATT + .word mus_aqa_0_2_000 + .byte PATT + .word mus_aqa_0_2_000 + .byte PATT + .word mus_aqa_0_2_000 + .byte PATT + .word mus_aqa_0_2_000 + .byte PATT + .word mus_aqa_0_2_000 + .byte PATT + .word mus_aqa_0_2_000 + .byte PATT + .word mus_aqa_0_2_000 + .byte PATT + .word mus_aqa_0_2_000 + .byte PATT + .word mus_aqa_0_2_000 + .byte PATT + .word mus_aqa_0_2_000 + .byte PATT + .word mus_aqa_0_2_000 + .byte PATT + .word mus_aqa_0_2_000 + .byte PATT + .word mus_aqa_0_2_000 + .byte GOTO + .word mus_aqa_0_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_aqa_0_3: + .byte KEYSH , mus_aqa_0_key+0 + .byte VOICE , 36 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 86*mus_aqa_0_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte W03 + .byte c_v+0 + .byte W09 + .byte N06 , As0 , v112 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , An1 , v124 + .byte W06 + .byte BEND , c_v+3 + .byte W06 + .byte c_v+0 + .byte N06 , Fn0 , v112 + .byte W12 + .byte En1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Bn0 + .byte W06 + .byte Cn1 + .byte W06 + .byte Gs0 + .byte W06 + .byte An0 + .byte W06 + .byte En0 + .byte W06 + .byte Fn0 + .byte W06 + .byte An0 + .byte W06 + .byte Cn1 + .byte W06 + .byte Ds1 + .byte W06 + .byte Fn1 + .byte W06 + .byte An1 + .byte W06 + .byte Cn2 + .byte W06 +mus_aqa_0_3_B1: + .byte PAN , c_v+4 + .byte N06 , As0 , v112 + .byte W18 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W18 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W18 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W18 + .byte N03 , As0 , v096 + .byte W06 +mus_aqa_0_3_000: + .byte N06 , As0 , v112 + .byte W18 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W18 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W18 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W06 + .byte As1 + .byte W12 + .byte N03 , As0 , v096 + .byte W06 + .byte PEND + .byte N06 , Ds0 , v112 + .byte W18 + .byte N03 , Ds0 , v096 + .byte W06 + .byte N06 , Ds0 , v112 + .byte W18 + .byte N03 , Ds0 , v096 + .byte W06 + .byte N06 , Ds0 , v112 + .byte W18 + .byte N03 , Ds0 , v096 + .byte W06 + .byte N06 , Ds0 , v112 + .byte W18 + .byte N03 , Ds0 , v096 + .byte W06 + .byte N06 , Ds0 , v112 + .byte W18 + .byte N03 , Ds0 , v096 + .byte W06 + .byte N06 , Ds0 , v112 + .byte W18 + .byte N03 , Ds0 , v096 + .byte W06 + .byte N06 , Ds0 , v112 + .byte W06 + .byte Cs1 + .byte W12 + .byte N03 , Ds0 , v096 + .byte W06 + .byte N06 , Ds0 , v112 + .byte W06 + .byte Cs1 + .byte W06 + .byte Fs0 + .byte W06 + .byte Gn0 , v096 + .byte W06 + .byte As0 , v112 + .byte W18 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W06 + .byte As1 + .byte W12 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W18 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W18 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W18 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W18 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W06 + .byte As1 + .byte W12 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W06 + .byte As1 + .byte W12 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , Ds0 , v112 + .byte W18 + .byte N03 , Ds0 , v096 + .byte W06 + .byte N06 , Ds0 , v112 + .byte W06 + .byte Ds1 + .byte W12 + .byte N03 , Ds0 , v096 + .byte W06 + .byte N06 , Ds0 , v112 + .byte W18 + .byte N03 , Ds0 , v096 + .byte W06 + .byte N06 , Ds0 , v112 + .byte W06 + .byte Ds1 + .byte W06 + .byte An0 + .byte W06 + .byte As0 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Fn1 + .byte W06 + .byte An1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte An0 + .byte W06 + .byte Cn1 + .byte W06 + .byte An0 + .byte W06 + .byte Fn0 + .byte W06 + .byte An0 + .byte W06 + .byte Cn1 + .byte W06 + .byte En1 + .byte W06 + .byte Fn1 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , As0 + .byte W18 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W18 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W18 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W06 + .byte As1 + .byte W12 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W18 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W18 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W18 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , Gs1 , v112 + .byte W06 + .byte As1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cs1 + .byte W06 + .byte Ds0 + .byte W18 + .byte N03 , Ds0 , v096 + .byte W06 + .byte N06 , Ds0 , v112 + .byte W06 + .byte Ds1 + .byte W12 + .byte N03 , Ds0 , v096 + .byte W06 + .byte N06 , Ds0 , v112 + .byte W06 + .byte Ds1 + .byte W12 + .byte N03 , Ds0 , v096 + .byte W06 + .byte N06 , Cs1 , v112 + .byte W06 + .byte Ds1 + .byte W06 + .byte Fs0 + .byte W06 + .byte Gn0 + .byte W06 + .byte Ds0 + .byte W18 + .byte N03 , Ds0 , v096 + .byte W06 + .byte N06 , Ds0 , v112 + .byte W18 + .byte N03 , Ds0 , v096 + .byte W06 + .byte N06 , Cs1 , v112 + .byte W06 + .byte Ds1 + .byte W06 + .byte Gs0 + .byte W06 + .byte As0 + .byte W06 + .byte Cs0 + .byte W06 + .byte Dn0 + .byte W06 + .byte Gn0 + .byte W06 + .byte Gs0 + .byte W06 + .byte PATT + .word mus_aqa_0_3_000 + .byte N06 , As0 , v112 + .byte W18 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W06 + .byte As1 + .byte W12 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W18 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , As0 , v112 + .byte W06 + .byte As1 + .byte W12 + .byte N03 , As0 , v096 + .byte W06 + .byte N06 , Ds0 , v112 + .byte W18 + .byte N03 , Ds0 , v096 + .byte W06 + .byte N06 , Ds0 , v112 + .byte W18 + .byte N03 , Ds0 , v096 + .byte W06 + .byte N06 , Ds0 , v112 + .byte W18 + .byte N03 , Ds0 , v096 + .byte W06 + .byte N06 , Ds0 , v112 + .byte W06 + .byte Ds1 + .byte W12 + .byte N03 , Ds0 , v096 + .byte W06 + .byte N06 , Ds0 , v112 + .byte W06 + .byte Ds1 + .byte W12 + .byte N03 , Ds0 , v096 + .byte W06 + .byte N06 , Cs1 , v112 + .byte W06 + .byte Ds1 + .byte W06 + .byte Gn0 + .byte W06 + .byte As0 + .byte W06 + .byte Ds0 + .byte W06 + .byte Ds1 + .byte W12 + .byte N03 , Ds0 , v096 + .byte W06 + .byte N06 , Ds0 , v112 + .byte W06 + .byte An0 + .byte W06 + .byte As0 + .byte W06 + .byte Ds1 + .byte W06 + .byte GOTO + .word mus_aqa_0_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_aqa_0_4: + .byte KEYSH , mus_aqa_0_key+0 + .byte VOICE , 1 + .byte LFOS , 44 + .byte VOL , 65*mus_aqa_0_mvl/mxv + .byte PAN , c_v+0 + .byte W12 + .byte W96 + .byte W96 +mus_aqa_0_4_B1: + .byte VOICE , 1 + .byte PAN , c_v-33 + .byte VOL , 35*mus_aqa_0_mvl/mxv + .byte N03 , As4 , v112 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cs5 + .byte W06 + .byte Fn3 + .byte W12 + .byte Fn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn4 + .byte W06 + .byte As3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte N06 , Gn4 + .byte W06 + .byte N03 , Cs3 + .byte W06 + .byte N12 , Gs4 + .byte W12 +mus_aqa_0_4_000: + .byte N03 , As4 , v112 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cs5 + .byte W06 + .byte Fn3 + .byte W12 + .byte Fn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn4 + .byte W06 + .byte As3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte N06 , Gn4 + .byte W06 + .byte N03 , Cs3 + .byte W06 + .byte N12 , Gs4 + .byte W12 + .byte PEND +mus_aqa_0_4_001: + .byte N03 , As4 , v112 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds3 + .byte W12 + .byte Fn4 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte An3 + .byte W03 + .byte As3 + .byte W03 + .byte N06 , Gn4 + .byte W06 + .byte N03 , Cs3 + .byte W06 + .byte N12 , Gs4 + .byte W12 + .byte PEND + .byte PATT + .word mus_aqa_0_4_001 + .byte PATT + .word mus_aqa_0_4_000 + .byte PATT + .word mus_aqa_0_4_000 + .byte VOICE , 56 + .byte VOL , 57*mus_aqa_0_mvl/mxv + .byte N03 , Fn4 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte VOL , 62*mus_aqa_0_mvl/mxv + .byte N03 , Gn4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte VOL , 63*mus_aqa_0_mvl/mxv + .byte N03 , Gs4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Gs4 + .byte W06 + .byte VOL , 75*mus_aqa_0_mvl/mxv + .byte N03 , An4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn4 + .byte W06 + .byte N03 , An4 + .byte W06 + .byte VOICE , 56 + .byte VOL , 58*mus_aqa_0_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Fn5 + .byte W06 + .byte N03 , En5 , v068 + .byte W03 + .byte Ds5 + .byte W03 + .byte Fn4 , v112 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte VOICE , 1 + .byte PAN , c_v+12 + .byte VOL , 54*mus_aqa_0_mvl/mxv + .byte N06 + .byte W06 + .byte An4 + .byte W06 + .byte Ds5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte N12 , Cs4 + .byte W06 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W12 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W12 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte VOICE , 1 + .byte N30 , Gn4 + .byte W66 + .byte N06 , Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte W03 + .byte N03 , As4 + .byte W09 + .byte N06 , Cs5 + .byte W09 + .byte N03 , As4 + .byte W09 + .byte N06 , Cs5 + .byte W09 + .byte N03 , As4 + .byte W09 + .byte N06 , Cs5 + .byte W09 + .byte N03 , As4 + .byte W09 + .byte N06 , Cs5 + .byte W09 + .byte N03 , As4 + .byte W09 + .byte N06 , Cs5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Cs5 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cn5 + .byte W06 + .byte As4 + .byte W06 + .byte Fn4 + .byte W06 + .byte As4 + .byte W12 + .byte Cs5 + .byte W06 + .byte Fn4 + .byte W30 + .byte N03 + .byte W03 + .byte As4 , v080 + .byte W03 + .byte Cs5 , v088 + .byte W03 + .byte Ds5 , v100 + .byte W03 + .byte As4 , v112 + .byte W03 + .byte Cs5 , v076 + .byte W03 + .byte Ds5 , v088 + .byte W03 + .byte Fn5 , v096 + .byte W03 + .byte N06 , Ds5 , v112 + .byte W06 + .byte Cs5 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte As4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte W03 + .byte N03 , Gn4 + .byte W09 + .byte N06 , Gs4 + .byte W09 + .byte N03 , Gn4 + .byte W09 + .byte N06 , Gs4 + .byte W09 + .byte N03 , Gn4 + .byte W09 + .byte N06 , Gs4 + .byte W09 + .byte N03 , Gn4 + .byte W09 + .byte N06 , Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N48 , Gn4 + .byte W96 + .byte GOTO + .word mus_aqa_0_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_aqa_0_5: + .byte KEYSH , mus_aqa_0_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte PAN , c_v-20 + .byte VOL , 60*mus_aqa_0_mvl/mxv + .byte N03 , Cn3 , v112 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte An3 + .byte W03 + .byte VOICE , 56 + .byte N03 , Cn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N06 , As3 + .byte W06 + .byte An3 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Gs3 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N12 , Gn3 + .byte W06 + .byte N03 , As3 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , En3 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte Cs3 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte N48 , Fn3 + .byte W48 + .byte N03 , Cn4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Bn3 + .byte W06 + .byte N03 , Cn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Ds4 + .byte W06 +mus_aqa_0_5_B1: + .byte VOICE , 1 + .byte PAN , c_v-38 + .byte VOL , 27*mus_aqa_0_mvl/mxv + .byte N03 , As3 , v112 + .byte W06 + .byte Fn2 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn2 + .byte W12 + .byte Fn3 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte En2 + .byte W03 + .byte Fn2 + .byte W03 + .byte N06 , Gn3 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N12 , Gs3 + .byte W12 +mus_aqa_0_5_000: + .byte N03 , As3 , v112 + .byte W06 + .byte As2 + .byte W06 + .byte Cs4 + .byte W06 + .byte As2 + .byte W12 + .byte Fn3 + .byte W06 + .byte As2 + .byte W06 + .byte Fn3 + .byte W06 + .byte As2 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An2 + .byte W03 + .byte As2 + .byte W03 + .byte N06 , Gn3 + .byte W06 + .byte N03 , As2 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte PEND + .byte N03 , As3 + .byte W06 + .byte Ds2 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds2 + .byte W12 + .byte Fn3 + .byte W06 + .byte Ds2 + .byte W06 + .byte Fn3 + .byte W06 + .byte Ds2 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Dn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte N06 , Gn3 + .byte W06 + .byte N03 , Ds2 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte PATT + .word mus_aqa_0_5_000 + .byte N03 , As3 , v112 + .byte W06 + .byte Fn2 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn2 + .byte W12 + .byte Fn3 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte En2 + .byte W03 + .byte Fn2 + .byte W03 + .byte N06 , Gn3 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte PATT + .word mus_aqa_0_5_000 + .byte VOICE , 56 + .byte VOL , 46*mus_aqa_0_mvl/mxv + .byte N03 , Cs3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As2 + .byte W06 + .byte N03 , Cs3 + .byte W06 + .byte VOL , 54*mus_aqa_0_mvl/mxv + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn3 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte VOL , 60*mus_aqa_0_mvl/mxv + .byte N03 , Fn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cs3 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte VOL , 67*mus_aqa_0_mvl/mxv + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte VOL , 43*mus_aqa_0_mvl/mxv + .byte PAN , c_v-19 + .byte N06 + .byte W06 + .byte N03 , En3 , v064 + .byte W03 + .byte Ds3 + .byte W03 + .byte An2 , v112 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 1 + .byte VOL , 39*mus_aqa_0_mvl/mxv + .byte N06 , Fn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte As2 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn2 + .byte W06 + .byte As2 + .byte W06 + .byte An2 + .byte W06 + .byte As2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Fn2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte As2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte As3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N30 , As3 + .byte W66 + .byte N06 , Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte An4 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte Fn4 + .byte W12 + .byte As4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W12 + .byte Fn4 + .byte W06 + .byte As3 + .byte W30 + .byte W48 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte As3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fs4 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W18 + .byte Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte As3 + .byte W06 + .byte N48 , Ds4 + .byte W96 + .byte GOTO + .word mus_aqa_0_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_aqa_0_6: + .byte KEYSH , mus_aqa_0_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 71*mus_aqa_0_mvl/mxv + .byte N06 , Fn3 , v112 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W12 + .byte Gs4 + .byte W12 + .byte N12 , Gn4 + .byte W24 + .byte N06 , Fs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N03 , Cs4 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N48 , Fn4 + .byte W48 + .byte N03 , Gn4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn4 + .byte W06 + .byte N03 , An4 + .byte W06 +mus_aqa_0_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_aqa_0_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_aqa_0_7: + .byte KEYSH , mus_aqa_0_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte PAN , c_v+0 + .byte VOL , 33*mus_aqa_0_mvl/mxv + .byte BENDR , 12 + .byte W12 + .byte W06 + .byte N06 , Fn5 , v112 + .byte W06 + .byte En5 + .byte W06 + .byte N03 , Fn5 + .byte W06 + .byte N06 , Ds5 + .byte W06 + .byte N03 , Fn5 + .byte W06 + .byte N06 , Dn5 + .byte W06 + .byte N03 , Fn5 + .byte W06 + .byte N06 , Cs5 + .byte W06 + .byte N03 , Fn5 + .byte W06 + .byte N06 , Cn5 + .byte W06 + .byte N03 , Fn5 + .byte W06 + .byte N06 , Bn4 + .byte W06 + .byte N03 , Fn5 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En4 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn4 + .byte W06 + .byte N03 , An4 + .byte W06 +mus_aqa_0_7_B1: + .byte VOICE , 85 + .byte PAN , c_v+63 + .byte VOL , 39*mus_aqa_0_mvl/mxv + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N06 , En4 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte N03 , Cs4 + .byte W12 + .byte N06 + .byte W12 + .byte As3 + .byte W06 + .byte Cs4 + .byte W12 + .byte As3 + .byte W06 + .byte Gs3 + .byte W06 + .byte W06 + .byte N03 , As2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W12 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W12 + .byte Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W06 +mus_aqa_0_7_000: + .byte N78 , As3 , v112 + .byte W24 + .byte MOD , 2 + .byte W48 + .byte 0 + .byte W18 + .byte N06 , Gn3 + .byte W06 + .byte PEND + .byte VOICE , 80 + .byte PAN , c_v+0 + .byte VOL , 44*mus_aqa_0_mvl/mxv + .byte N06 , Ds4 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte N03 , Ds3 + .byte N06 , Cn4 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W12 + .byte N06 + .byte W12 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W06 + .byte As3 + .byte W06 + .byte VOICE , 85 + .byte VOL , 39*mus_aqa_0_mvl/mxv + .byte N06 , Fn4 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N06 , En4 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte N03 , Cs4 + .byte W12 + .byte N06 + .byte W12 + .byte As3 + .byte W06 + .byte Cs4 + .byte W12 + .byte As3 + .byte W06 + .byte Gs3 + .byte W06 + .byte W06 + .byte As2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W12 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W12 + .byte Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W06 + .byte PATT + .word mus_aqa_0_7_000 + .byte PAN , c_v-62 + .byte N06 , Ds4 , v112 + .byte W06 + .byte N03 , Dn4 , v072 + .byte W03 + .byte Cs4 + .byte W03 + .byte Cn4 , v064 + .byte W03 + .byte Bn3 + .byte W03 + .byte Cn3 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 80 + .byte PAN , c_v-62 + .byte VOL , 39*mus_aqa_0_mvl/mxv + .byte N03 , As3 + .byte W06 + .byte Fn2 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn2 + .byte W12 + .byte Fn3 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte En2 + .byte W03 + .byte Fn2 + .byte W03 + .byte N06 , Gn3 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N12 , Gs3 + .byte W12 +mus_aqa_0_7_001: + .byte N03 , As3 , v112 + .byte W06 + .byte As2 + .byte W06 + .byte Cs4 + .byte W06 + .byte As2 + .byte W12 + .byte Fn3 + .byte W06 + .byte As2 + .byte W06 + .byte Fn3 + .byte W06 + .byte As2 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An2 + .byte W03 + .byte As2 + .byte W03 + .byte N06 , Gn3 + .byte W06 + .byte N03 , As2 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte PEND +mus_aqa_0_7_002: + .byte N03 , As3 , v112 + .byte W06 + .byte Ds2 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds2 + .byte W12 + .byte Fn3 + .byte W06 + .byte Ds2 + .byte W06 + .byte Fn3 + .byte W06 + .byte Ds2 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Dn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte N06 , Gn3 + .byte W06 + .byte N03 , Ds2 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte PEND + .byte PATT + .word mus_aqa_0_7_001 + .byte N03 , As3 , v112 + .byte W06 + .byte Fn2 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn2 + .byte W12 + .byte Fn3 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte En2 + .byte W03 + .byte Fn2 + .byte W03 + .byte N06 , Gn3 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte PATT + .word mus_aqa_0_7_001 + .byte PATT + .word mus_aqa_0_7_002 + .byte PATT + .word mus_aqa_0_7_001 + .byte GOTO + .word mus_aqa_0_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_aqa_0_8: + .byte KEYSH , mus_aqa_0_key+0 + .byte VOICE , 86 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte PAN , c_v+0 + .byte VOL , 41*mus_aqa_0_mvl/mxv + .byte BENDR , 12 + .byte W12 + .byte W06 + .byte N06 , Fn3 , v112 + .byte W06 + .byte Ds3 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N06 , Cs3 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N06 , Cn3 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N06 , As2 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N06 , Gs2 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N06 , Gn2 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N06 , Fn2 + .byte W06 + .byte An2 + .byte W06 + .byte N03 , Cn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As2 + .byte W06 + .byte N03 , Cn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn3 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte N03 , An3 + .byte W06 +mus_aqa_0_8_B1: + .byte VOICE , 86 + .byte PAN , c_v+0 + .byte VOL , 49*mus_aqa_0_mvl/mxv + .byte N03 , As4 , v112 + .byte W06 + .byte As3 + .byte W06 + .byte Gs4 + .byte W06 + .byte As3 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fn4 + .byte W12 + .byte N03 + .byte W12 + .byte Ds4 + .byte W06 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W12 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W12 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Fn4 + .byte W06 + .byte N72 , Gn4 + .byte W06 + .byte VOL , 43*mus_aqa_0_mvl/mxv + .byte W02 + .byte 34*mus_aqa_0_mvl/mxv + .byte W04 + .byte 29*mus_aqa_0_mvl/mxv + .byte W02 + .byte 27*mus_aqa_0_mvl/mxv + .byte W03 + .byte 23*mus_aqa_0_mvl/mxv + .byte W03 + .byte 18*mus_aqa_0_mvl/mxv + .byte W04 + .byte MOD , 2 + .byte W15 + .byte VOL , 29*mus_aqa_0_mvl/mxv + .byte W03 + .byte 29*mus_aqa_0_mvl/mxv + .byte W03 + .byte 32*mus_aqa_0_mvl/mxv + .byte W03 + .byte 35*mus_aqa_0_mvl/mxv + .byte W03 + .byte 38*mus_aqa_0_mvl/mxv + .byte W03 + .byte 43*mus_aqa_0_mvl/mxv + .byte W03 + .byte 50*mus_aqa_0_mvl/mxv + .byte W03 + .byte 56*mus_aqa_0_mvl/mxv + .byte W03 + .byte 59*mus_aqa_0_mvl/mxv + .byte W03 + .byte 63*mus_aqa_0_mvl/mxv + .byte W03 + .byte 71*mus_aqa_0_mvl/mxv + .byte W03 + .byte 50*mus_aqa_0_mvl/mxv + .byte MOD , 0 + .byte N06 , Gs4 + .byte W12 + .byte Dn4 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte N06 , Gn4 + .byte W12 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v-62 + .byte N06 , Gn4 , v080 + .byte W12 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Gn4 , v064 + .byte W12 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v-62 + .byte N06 , Gn4 , v048 + .byte W12 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte VOL , 49*mus_aqa_0_mvl/mxv + .byte N06 , As4 , v112 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N03 , Gs4 + .byte W12 + .byte N06 , As4 + .byte W12 + .byte Gs4 + .byte W06 + .byte As4 + .byte W12 + .byte Cs5 + .byte W06 + .byte Cs4 + .byte W06 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W12 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte As4 + .byte W12 + .byte Ds5 + .byte W12 + .byte Cs5 + .byte W06 + .byte N78 , Ds5 + .byte W06 + .byte VOL , 43*mus_aqa_0_mvl/mxv + .byte W02 + .byte 34*mus_aqa_0_mvl/mxv + .byte W04 + .byte 29*mus_aqa_0_mvl/mxv + .byte W02 + .byte 27*mus_aqa_0_mvl/mxv + .byte W03 + .byte 23*mus_aqa_0_mvl/mxv + .byte W03 + .byte 18*mus_aqa_0_mvl/mxv + .byte W04 + .byte MOD , 2 + .byte W15 + .byte VOL , 29*mus_aqa_0_mvl/mxv + .byte W03 + .byte 29*mus_aqa_0_mvl/mxv + .byte W03 + .byte 32*mus_aqa_0_mvl/mxv + .byte W03 + .byte 35*mus_aqa_0_mvl/mxv + .byte W03 + .byte 38*mus_aqa_0_mvl/mxv + .byte W03 + .byte 43*mus_aqa_0_mvl/mxv + .byte W03 + .byte 50*mus_aqa_0_mvl/mxv + .byte W03 + .byte 56*mus_aqa_0_mvl/mxv + .byte W03 + .byte 59*mus_aqa_0_mvl/mxv + .byte W03 + .byte 63*mus_aqa_0_mvl/mxv + .byte W03 + .byte 71*mus_aqa_0_mvl/mxv + .byte W03 + .byte 48*mus_aqa_0_mvl/mxv + .byte MOD , 0 + .byte W18 + .byte N06 , Cs5 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cn5 + .byte W06 + .byte N03 , Bn4 , v072 + .byte W03 + .byte As4 + .byte W03 + .byte An4 , v064 + .byte W03 + .byte Gs4 + .byte W03 + .byte An4 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte VOICE , 81 + .byte PAN , c_v+63 + .byte VOL , 40*mus_aqa_0_mvl/mxv + .byte N03 , As4 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cs5 + .byte W06 + .byte Fn3 + .byte W12 + .byte Fn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn4 + .byte W06 + .byte As3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte N06 , Gn4 + .byte W06 + .byte N03 , Cs3 + .byte W06 + .byte N12 , Gs4 + .byte W12 +mus_aqa_0_8_000: + .byte N03 , As4 , v112 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cs5 + .byte W06 + .byte Fn3 + .byte W12 + .byte Fn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn4 + .byte W06 + .byte As3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte N06 , Gn4 + .byte W06 + .byte N03 , Cs3 + .byte W06 + .byte N12 , Gs4 + .byte W12 + .byte PEND +mus_aqa_0_8_001: + .byte N03 , As4 , v112 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds3 + .byte W12 + .byte Fn4 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte An3 + .byte W03 + .byte As3 + .byte W03 + .byte N06 , Gn4 + .byte W06 + .byte N03 , Cs3 + .byte W06 + .byte N12 , Gs4 + .byte W12 + .byte PEND + .byte PATT + .word mus_aqa_0_8_001 + .byte PATT + .word mus_aqa_0_8_000 + .byte PATT + .word mus_aqa_0_8_000 + .byte PATT + .word mus_aqa_0_8_001 + .byte PATT + .word mus_aqa_0_8_001 + .byte GOTO + .word mus_aqa_0_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_aqa_0_9: + .byte KEYSH , mus_aqa_0_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 67*mus_aqa_0_mvl/mxv + .byte W12 + .byte N06 , Cn1 , v112 + .byte W18 + .byte Cn1 , v088 + .byte W06 + .byte Cn1 , v112 + .byte W24 + .byte N06 + .byte W18 + .byte Cn1 , v088 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn1 , v048 + .byte W12 + .byte Dn1 , v064 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 , v076 + .byte W12 + .byte Dn1 , v112 + .byte W06 + .byte Cn1 , v108 + .byte W06 + .byte Dn1 + .byte W12 + .byte Dn1 , v096 + .byte W06 + .byte N03 , Dn1 , v100 + .byte W03 + .byte Dn1 , v080 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v120 + .byte W06 + .byte Dn1 , v112 + .byte W06 +mus_aqa_0_9_B1: +mus_aqa_0_9_000: + .byte N06 , Cn1 , v112 + .byte W18 + .byte Cn1 , v088 + .byte W06 + .byte Cn1 , v112 + .byte W24 + .byte N06 + .byte W18 + .byte Cn1 , v088 + .byte W06 + .byte Cn1 , v112 + .byte W24 + .byte PEND + .byte PATT + .word mus_aqa_0_9_000 + .byte PATT + .word mus_aqa_0_9_000 + .byte N06 , Cn1 , v112 + .byte W18 + .byte Cn1 , v088 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte Cn1 , v088 + .byte W06 + .byte Cn1 , v112 + .byte W24 + .byte PATT + .word mus_aqa_0_9_000 + .byte PATT + .word mus_aqa_0_9_000 + .byte PATT + .word mus_aqa_0_9_000 + .byte N06 , Cn1 , v112 + .byte W06 + .byte Dn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v088 + .byte N06 , Dn1 , v112 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W06 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N06 , En1 + .byte W12 + .byte Dn1 + .byte W06 + .byte Cn1 , v088 + .byte N06 , Dn1 , v112 + .byte W06 + .byte Cn1 + .byte N06 , En1 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word mus_aqa_0_9_000 + .byte PATT + .word mus_aqa_0_9_000 + .byte PATT + .word mus_aqa_0_9_000 + .byte PATT + .word mus_aqa_0_9_000 + .byte PATT + .word mus_aqa_0_9_000 + .byte PATT + .word mus_aqa_0_9_000 + .byte PATT + .word mus_aqa_0_9_000 + .byte PATT + .word mus_aqa_0_9_000 + .byte GOTO + .word mus_aqa_0_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_aqa_0_10: + .byte KEYSH , mus_aqa_0_key+0 + .byte VOICE , 83 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte PAN , c_v+0 + .byte VOL , 31*mus_aqa_0_mvl/mxv + .byte BENDR , 12 + .byte BEND , c_v+1 + .byte W12 + .byte W96 + .byte W96 +mus_aqa_0_10_B1: + .byte W96 + .byte VOICE , 83 + .byte W06 + .byte N03 , An3 , v112 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W12 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W12 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Fn4 + .byte W06 + .byte N72 , Gn4 + .byte W24 + .byte MOD , 2 + .byte W48 + .byte 0 + .byte N06 , Gs4 + .byte W12 + .byte Dn4 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte N06 , Gn4 + .byte W12 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn4 , v088 + .byte W12 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn4 , v080 + .byte W12 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn4 , v056 + .byte W12 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte VOICE , 84 + .byte N06 , As4 , v112 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N03 , Gs4 + .byte W12 + .byte N06 , As4 + .byte W12 + .byte Gs4 + .byte W06 + .byte As4 + .byte W12 + .byte Cs5 + .byte W06 + .byte Cs4 + .byte W06 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W12 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte As4 + .byte W12 + .byte Ds5 + .byte W12 + .byte Cs5 + .byte W06 + .byte N78 , Ds5 + .byte W24 + .byte MOD , 2 + .byte W48 + .byte 0 + .byte W18 + .byte N06 , Cs5 + .byte W06 + .byte Cn5 + .byte W06 + .byte N03 , Bn4 , v072 + .byte W03 + .byte As4 + .byte W03 + .byte An4 , v064 + .byte W03 + .byte Gs4 + .byte W03 + .byte An4 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte VOICE , 87 + .byte VOL , 27*mus_aqa_0_mvl/mxv + .byte N06 , Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte As3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cn3 + .byte W06 + .byte N12 , Cs3 + .byte W06 + .byte W06 + .byte N06 , Fn2 + .byte W06 + .byte An2 + .byte W06 + .byte As2 + .byte W12 + .byte An2 + .byte W06 + .byte As2 + .byte W06 + .byte Cs3 + .byte W12 + .byte As2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Ds3 + .byte W12 + .byte Cs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N30 , Gn3 + .byte W66 + .byte N06 , Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte W03 + .byte N03 , As3 + .byte W09 + .byte N06 , Cs4 + .byte W09 + .byte N03 , As3 + .byte W09 + .byte N06 , Cs4 + .byte W09 + .byte N03 , As3 + .byte W09 + .byte N06 , Cs4 + .byte W09 + .byte N03 , As3 + .byte W09 + .byte N06 , Cs4 + .byte W09 + .byte N03 , As3 + .byte W09 + .byte N06 , Cs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte As3 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W12 + .byte Cs4 + .byte W06 + .byte Fn3 + .byte W30 + .byte N03 + .byte W03 + .byte As3 , v080 + .byte W03 + .byte Cs4 , v088 + .byte W03 + .byte Ds4 , v100 + .byte W03 + .byte As3 , v112 + .byte W03 + .byte Cs4 , v076 + .byte W03 + .byte Ds4 , v088 + .byte W03 + .byte Fn4 , v096 + .byte W03 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cn3 + .byte W06 + .byte W03 + .byte N03 , Gn3 + .byte W09 + .byte N06 , Gs3 + .byte W09 + .byte N03 , Gn3 + .byte W09 + .byte N06 , Gs3 + .byte W09 + .byte N03 , Gn3 + .byte W09 + .byte N06 , Gs3 + .byte W09 + .byte N03 , Gn3 + .byte W09 + .byte N06 , Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Cs3 + .byte W06 + .byte N24 , Gn3 + .byte W24 + .byte N03 , Fs3 , v064 + .byte W03 + .byte Fn3 + .byte W03 + .byte En3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Cn3 + .byte W03 + .byte Bn2 + .byte W48 + .byte W03 + .byte GOTO + .word mus_aqa_0_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_aqa_0: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_aqa_0_pri @ Priority + .byte mus_aqa_0_rev @ Reverb. + + .word mus_aqa_0_grp + + .word mus_aqa_0_1 + .word mus_aqa_0_2 + .word mus_aqa_0_3 + .word mus_aqa_0_4 + .word mus_aqa_0_5 + .word mus_aqa_0_6 + .word mus_aqa_0_7 + .word mus_aqa_0_8 + .word mus_aqa_0_9 + .word mus_aqa_0_10 + + .end diff --git a/sound/songs/mus_ashroad.s b/sound/songs/mus_ashroad.s new file mode 100644 index 0000000000..49329cdaba --- /dev/null +++ b/sound/songs/mus_ashroad.s @@ -0,0 +1,2829 @@ + .include "MPlayDef.s" + + .equ mus_ashroad_grp, voicegroup_8684248 + .equ mus_ashroad_pri, 0 + .equ mus_ashroad_rev, reverb_set+50 + .equ mus_ashroad_mvl, 127 + .equ mus_ashroad_key, 0 + .equ mus_ashroad_tbs, 1 + .equ mus_ashroad_exg, 0 + .equ mus_ashroad_cmp, 1 + + .section .rodata + .global mus_ashroad + .align 2 + +@********************** Track 1 **********************@ + +mus_ashroad_1: + .byte KEYSH , mus_ashroad_key+0 + .byte TEMPO , 120*mus_ashroad_tbs/2 + .byte VOICE , 56 + .byte LFOS , 44 + .byte VOL , 51*mus_ashroad_mvl/mxv + .byte PAN , c_v-49 + .byte N06 , Dn2 , v084 + .byte W06 + .byte Fn2 , v080 + .byte W06 + .byte An2 + .byte W06 + .byte Bn2 , v084 + .byte W06 + .byte N48 , Dn3 + .byte W24 + .byte MOD , 8 + .byte VOL , 49*mus_ashroad_mvl/mxv + .byte W02 + .byte 46*mus_ashroad_mvl/mxv + .byte W03 + .byte 43*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 35*mus_ashroad_mvl/mxv + .byte W02 + .byte 30*mus_ashroad_mvl/mxv + .byte W03 + .byte 23*mus_ashroad_mvl/mxv + .byte W03 + .byte 21*mus_ashroad_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 51*mus_ashroad_mvl/mxv + .byte N24 , Bn2 , v088 + .byte W12 + .byte MOD , 7 + .byte W12 +mus_ashroad_1_B1: + .byte VOICE , 80 + .byte MOD , 0 + .byte PAN , c_v+0 + .byte W96 + .byte W72 + .byte N06 , Dn4 , v112 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte MOD , 0 + .byte N24 , En4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , En4 , v036 + .byte W06 + .byte N03 , An3 , v112 + .byte W06 + .byte N06 , Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte MOD , 0 + .byte N12 , Gn4 + .byte W12 + .byte MOD , 7 + .byte N03 , Fn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte N06 , Fn4 + .byte W06 + .byte MOD , 0 + .byte N06 , En4 + .byte W06 + .byte En4 , v036 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v036 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v036 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte N18 , En4 + .byte W06 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte MOD , 0 + .byte N06 , Bn3 , v036 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte MOD , 7 + .byte N06 , Cs4 , v036 + .byte W06 + .byte N18 , Dn4 , v112 + .byte W06 + .byte MOD , 0 + .byte W12 + .byte 0 + .byte N06 , Bn3 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte N90 , En4 + .byte W18 + .byte MOD , 3 + .byte W60 + .byte 8 + .byte W12 + .byte 0 + .byte N12 , En4 , v036 + .byte W60 + .byte W03 + .byte MOD , 0 + .byte W12 + .byte 7 + .byte W09 + .byte N12 , Fn4 , v112 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte 0 + .byte N24 , En4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N03 , An3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte N12 , Gn4 + .byte W12 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Gn4 + .byte W03 + .byte Fn4 + .byte W03 + .byte N06 , En4 + .byte W06 + .byte En4 , v036 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v036 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v036 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte N18 , En4 + .byte W18 + .byte N06 , Fn4 + .byte W06 + .byte Fn4 , v036 + .byte W06 + .byte MOD , 0 + .byte N06 , Gn4 , v112 + .byte W06 + .byte N18 , An4 + .byte W06 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , En4 + .byte W06 + .byte An4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Dn5 , v036 + .byte W06 + .byte MOD , 0 + .byte N96 , Cs5 , v112 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte W60 + .byte 8 + .byte W12 + .byte 0 + .byte N12 , Cs5 , v036 + .byte W96 +mus_ashroad_1_000: + .byte MOD , 0 + .byte N24 , Fs4 , v112 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Fs4 , v036 + .byte W36 + .byte N06 , Fs4 , v112 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs4 , v036 + .byte W06 + .byte An4 , v112 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fs4 , v036 + .byte W06 + .byte PEND +mus_ashroad_1_001: + .byte MOD , 0 + .byte N24 , Gs4 , v112 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Gs4 , v036 + .byte W36 + .byte N06 , Gs4 , v112 + .byte W06 + .byte An4 + .byte W06 + .byte An4 , v036 + .byte W06 + .byte Bn4 , v112 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs4 , v036 + .byte W06 + .byte PEND + .byte MOD , 0 + .byte N24 , En4 , v112 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , En4 , v036 + .byte W36 + .byte N06 , En4 , v112 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fs4 , v036 + .byte W06 + .byte Gs4 , v112 + .byte W06 + .byte En4 + .byte W06 + .byte En4 , v036 + .byte W06 + .byte N12 , Fs4 , v112 + .byte W12 + .byte N03 , En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte N06 , En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Dn4 , v036 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v036 + .byte W06 + .byte Bn3 , v112 + .byte W06 + .byte Bn3 , v036 + .byte W06 + .byte As3 , v112 + .byte W06 + .byte As3 , v036 + .byte W06 + .byte Fs4 , v112 + .byte W06 + .byte Cs4 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte PATT + .word mus_ashroad_1_000 + .byte PATT + .word mus_ashroad_1_001 + .byte MOD , 0 + .byte N24 , An4 , v112 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , An4 , v036 + .byte W36 + .byte N06 , An4 , v112 + .byte W06 + .byte Bn4 + .byte W06 + .byte Bn4 , v036 + .byte W06 + .byte Cn5 , v112 + .byte W06 + .byte An4 + .byte W06 + .byte An4 , v036 + .byte W06 + .byte MOD , 0 + .byte N24 , Bn4 , v112 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Bn4 , v036 + .byte W24 + .byte N06 , Gn4 , v112 + .byte W06 + .byte Bn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte N03 , Fn5 + .byte W03 + .byte Gn5 + .byte W03 + .byte N06 , Fn5 + .byte W06 + .byte TIE , En5 + .byte W24 + .byte MOD , 3 + .byte W72 + .byte W48 + .byte 7 + .byte W24 + .byte EOT + .byte MOD , 0 + .byte N12 , En5 , v036 + .byte W24 + .byte GOTO + .word mus_ashroad_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_ashroad_2: + .byte KEYSH , mus_ashroad_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 67*mus_ashroad_mvl/mxv + .byte N06 , Fn2 , v096 + .byte W06 + .byte An2 , v104 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte N44 , Fn3 , v120 + .byte W24 + .byte MOD , 4 + .byte VOL , 63*mus_ashroad_mvl/mxv + .byte W02 + .byte 55*mus_ashroad_mvl/mxv + .byte W03 + .byte 52*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte W04 + .byte 43*mus_ashroad_mvl/mxv + .byte W02 + .byte 38*mus_ashroad_mvl/mxv + .byte W03 + .byte 33*mus_ashroad_mvl/mxv + .byte W03 + .byte 31*mus_ashroad_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 67*mus_ashroad_mvl/mxv + .byte N24 , Dn3 , v112 + .byte W24 +mus_ashroad_2_B1: + .byte VOL , 47*mus_ashroad_mvl/mxv + .byte PAN , c_v-52 + .byte N06 , En3 , v112 + .byte W21 + .byte N03 , Fn3 + .byte W03 + .byte En3 + .byte W03 + .byte En3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 , v112 + .byte W12 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte N24 , Fn3 + .byte W02 + .byte VOL , 27*mus_ashroad_mvl/mxv + .byte W03 + .byte 32*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 41*mus_ashroad_mvl/mxv + .byte W02 + .byte 45*mus_ashroad_mvl/mxv + .byte W04 + .byte 54*mus_ashroad_mvl/mxv + .byte W03 + .byte 57*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte N06 , Gn3 + .byte W12 +mus_ashroad_2_000: + .byte N06 , En3 , v112 + .byte W12 + .byte N03 + .byte W09 + .byte Fn3 + .byte W03 + .byte En3 + .byte W03 + .byte En3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 , v112 + .byte W12 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte N24 , Fn3 + .byte W02 + .byte VOL , 27*mus_ashroad_mvl/mxv + .byte W03 + .byte 32*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 41*mus_ashroad_mvl/mxv + .byte W02 + .byte 45*mus_ashroad_mvl/mxv + .byte W04 + .byte 54*mus_ashroad_mvl/mxv + .byte W03 + .byte 57*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte N06 , Gn3 + .byte W12 + .byte PEND +mus_ashroad_2_001: + .byte N06 , En3 , v112 + .byte W21 + .byte N03 , Fn3 + .byte W03 + .byte En3 + .byte W03 + .byte En3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 , v112 + .byte W12 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte N24 , Fn3 + .byte W02 + .byte VOL , 27*mus_ashroad_mvl/mxv + .byte W03 + .byte 32*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 41*mus_ashroad_mvl/mxv + .byte W02 + .byte 45*mus_ashroad_mvl/mxv + .byte W04 + .byte 54*mus_ashroad_mvl/mxv + .byte W03 + .byte 57*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte N06 , Gn3 + .byte W12 + .byte PEND + .byte PATT + .word mus_ashroad_2_000 + .byte PATT + .word mus_ashroad_2_001 + .byte PATT + .word mus_ashroad_2_000 + .byte PATT + .word mus_ashroad_2_001 + .byte PATT + .word mus_ashroad_2_000 + .byte PATT + .word mus_ashroad_2_001 +mus_ashroad_2_002: + .byte VOL , 47*mus_ashroad_mvl/mxv + .byte N06 , En3 , v112 + .byte W12 + .byte N03 + .byte W09 + .byte Fn3 + .byte W03 + .byte En3 + .byte W03 + .byte En3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 , v112 + .byte W12 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte N24 , Fn3 + .byte W02 + .byte VOL , 27*mus_ashroad_mvl/mxv + .byte W03 + .byte 32*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 41*mus_ashroad_mvl/mxv + .byte W02 + .byte 45*mus_ashroad_mvl/mxv + .byte W04 + .byte 54*mus_ashroad_mvl/mxv + .byte W03 + .byte 57*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte N06 , Gn3 + .byte W12 + .byte PEND + .byte Fs3 + .byte W21 + .byte N03 , Gn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Fs3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fs3 , v112 + .byte W12 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte N24 , Gs3 + .byte W02 + .byte VOL , 27*mus_ashroad_mvl/mxv + .byte W03 + .byte 32*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 41*mus_ashroad_mvl/mxv + .byte W02 + .byte 45*mus_ashroad_mvl/mxv + .byte W04 + .byte 54*mus_ashroad_mvl/mxv + .byte W03 + .byte 57*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte N06 , An3 + .byte W12 +mus_ashroad_2_003: + .byte N06 , Gs3 , v112 + .byte W21 + .byte N03 , An3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Gs3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gs3 , v112 + .byte W12 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte N24 , An3 + .byte W02 + .byte VOL , 27*mus_ashroad_mvl/mxv + .byte W03 + .byte 32*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 41*mus_ashroad_mvl/mxv + .byte W02 + .byte 45*mus_ashroad_mvl/mxv + .byte W04 + .byte 54*mus_ashroad_mvl/mxv + .byte W03 + .byte 57*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte N06 , Bn3 + .byte W12 + .byte PEND + .byte En3 + .byte W21 + .byte N03 , Fn3 + .byte W03 + .byte En3 + .byte W03 + .byte En3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte En3 , v112 + .byte W12 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte N24 , Dn3 + .byte W02 + .byte VOL , 27*mus_ashroad_mvl/mxv + .byte W03 + .byte 32*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 41*mus_ashroad_mvl/mxv + .byte W02 + .byte 45*mus_ashroad_mvl/mxv + .byte W04 + .byte 54*mus_ashroad_mvl/mxv + .byte W03 + .byte 57*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte N06 , En3 + .byte W12 + .byte Cs3 + .byte W21 + .byte N03 , Dn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Cs3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cs3 , v112 + .byte W12 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte N24 , As2 + .byte W02 + .byte VOL , 27*mus_ashroad_mvl/mxv + .byte W03 + .byte 32*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 41*mus_ashroad_mvl/mxv + .byte W02 + .byte 45*mus_ashroad_mvl/mxv + .byte W04 + .byte 54*mus_ashroad_mvl/mxv + .byte W03 + .byte 57*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte N06 , Cs3 + .byte W12 + .byte VOL , 47*mus_ashroad_mvl/mxv + .byte N06 , Fs3 + .byte W21 + .byte N03 , Gn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Fs3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fs3 , v112 + .byte W12 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte N24 , Gs3 + .byte W02 + .byte VOL , 27*mus_ashroad_mvl/mxv + .byte W03 + .byte 32*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 41*mus_ashroad_mvl/mxv + .byte W02 + .byte 45*mus_ashroad_mvl/mxv + .byte W04 + .byte 54*mus_ashroad_mvl/mxv + .byte W03 + .byte 57*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte N06 , An3 + .byte W12 + .byte PATT + .word mus_ashroad_2_003 + .byte N06 , An3 , v112 + .byte W21 + .byte N03 , As3 + .byte W03 + .byte An3 + .byte W03 + .byte An3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte An3 , v112 + .byte W12 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte N24 , Bn3 + .byte W02 + .byte VOL , 27*mus_ashroad_mvl/mxv + .byte W03 + .byte 32*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 41*mus_ashroad_mvl/mxv + .byte W02 + .byte 45*mus_ashroad_mvl/mxv + .byte W04 + .byte 54*mus_ashroad_mvl/mxv + .byte W03 + .byte 57*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte N06 , Cn4 + .byte W12 + .byte Bn3 + .byte W21 + .byte N03 , Cn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte Bn3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Bn3 , v112 + .byte W12 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte N24 , Cn4 + .byte W02 + .byte VOL , 27*mus_ashroad_mvl/mxv + .byte W03 + .byte 32*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 41*mus_ashroad_mvl/mxv + .byte W02 + .byte 45*mus_ashroad_mvl/mxv + .byte W04 + .byte 54*mus_ashroad_mvl/mxv + .byte W03 + .byte 57*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte N06 , Dn4 + .byte W12 + .byte PATT + .word mus_ashroad_2_001 + .byte PATT + .word mus_ashroad_2_002 + .byte GOTO + .word mus_ashroad_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_ashroad_3: + .byte KEYSH , mus_ashroad_key+0 + .byte VOICE , 58 + .byte VOL , 76*mus_ashroad_mvl/mxv + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte N06 , Dn2 , v112 + .byte W06 + .byte Bn1 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N48 , Fn1 , v120 + .byte W24 + .byte MOD , 7 + .byte VOL , 76*mus_ashroad_mvl/mxv + .byte W02 + .byte 73*mus_ashroad_mvl/mxv + .byte W03 + .byte 67*mus_ashroad_mvl/mxv + .byte W03 + .byte 62*mus_ashroad_mvl/mxv + .byte W04 + .byte 59*mus_ashroad_mvl/mxv + .byte W02 + .byte 56*mus_ashroad_mvl/mxv + .byte W03 + .byte 52*mus_ashroad_mvl/mxv + .byte W03 + .byte 49*mus_ashroad_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 76*mus_ashroad_mvl/mxv + .byte N24 , Gs1 , v112 + .byte W24 +mus_ashroad_3_B1: + .byte VOICE , 38 + .byte N06 , An1 , v127 + .byte W06 + .byte N12 , An1 , v040 + .byte W18 + .byte N06 , En1 , v112 + .byte W06 + .byte N12 , En1 , v040 + .byte W18 + .byte N06 , Bn1 , v112 + .byte W06 + .byte N12 , Bn1 , v040 + .byte W18 + .byte N06 , En1 , v112 + .byte W06 + .byte N12 , En1 , v040 + .byte W18 +mus_ashroad_3_000: + .byte N06 , An1 , v127 + .byte W06 + .byte N12 , An1 , v040 + .byte W18 + .byte N06 , En1 , v112 + .byte W06 + .byte N12 , En1 , v040 + .byte W18 + .byte N06 , Bn1 , v112 + .byte W06 + .byte N12 , Bn1 , v040 + .byte W18 + .byte N06 , En1 , v112 + .byte W06 + .byte N12 , En1 , v040 + .byte W18 + .byte PEND + .byte PATT + .word mus_ashroad_3_000 + .byte PATT + .word mus_ashroad_3_000 + .byte PATT + .word mus_ashroad_3_000 + .byte N06 , An1 , v127 + .byte W06 + .byte N12 , An1 , v040 + .byte W18 + .byte N06 , En1 , v112 + .byte W06 + .byte N12 , En1 , v040 + .byte W18 + .byte N06 , Bn1 , v112 + .byte W06 + .byte N12 , Bn1 , v040 + .byte W18 + .byte N03 , Gs1 , v112 + .byte W03 + .byte An1 + .byte W03 + .byte N18 , Gs1 + .byte W18 + .byte N06 , An1 + .byte W06 + .byte N12 , An1 , v040 + .byte W12 + .byte N06 , An1 , v112 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , Bn1 + .byte W06 + .byte N12 , Bn1 , v040 + .byte W12 + .byte N06 , Bn1 , v112 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte Gs1 + .byte W12 +mus_ashroad_3_001: + .byte N06 , An1 , v127 + .byte W06 + .byte N12 , An1 , v040 + .byte W12 + .byte N06 , An1 , v112 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , Bn1 + .byte W06 + .byte N12 , Bn1 , v040 + .byte W12 + .byte N06 , Bn1 , v112 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte Gs1 + .byte W12 + .byte PEND + .byte PATT + .word mus_ashroad_3_001 + .byte N06 , An1 , v127 + .byte W06 + .byte N12 , An1 , v040 + .byte W12 + .byte N06 , An1 , v112 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , En1 + .byte W06 + .byte N03 , Bn1 + .byte W06 + .byte En1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte Ds1 + .byte W12 + .byte Dn1 , v127 + .byte W18 + .byte N06 , Dn1 , v112 + .byte W06 + .byte N12 , An0 + .byte W18 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte N12 , Dn1 , v032 + .byte W30 + .byte N06 , Dn1 , v112 + .byte W12 + .byte N12 , En1 , v127 + .byte W18 + .byte N06 , En1 , v112 + .byte W06 + .byte N12 , Bn0 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Bn1 + .byte W06 + .byte N12 , Bn0 + .byte W12 + .byte N06 , Bn1 + .byte W12 + .byte N12 , Gs1 + .byte W12 + .byte Cs1 , v127 + .byte W18 + .byte N06 , Cs1 , v112 + .byte W06 + .byte N12 , Gs0 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Cs1 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Gs1 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Fs1 , v127 + .byte W18 + .byte N06 , Fs1 , v112 + .byte W06 + .byte N12 , Cs1 + .byte W18 + .byte N06 + .byte W06 + .byte Fs1 , v127 + .byte W12 + .byte N12 , En1 , v112 + .byte W12 + .byte N06 , Dn1 + .byte W06 + .byte N03 , Fs1 + .byte W06 + .byte N12 , Cs1 + .byte W12 + .byte Dn1 , v127 + .byte W18 + .byte N06 , Dn1 , v112 + .byte W06 + .byte N12 , An0 + .byte W18 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte N12 , Dn1 , v032 + .byte W30 + .byte N06 , Dn1 , v112 + .byte W06 + .byte Ds1 + .byte W06 + .byte N12 , En1 , v127 + .byte W18 + .byte N06 , En1 , v112 + .byte W06 + .byte N12 , Bn0 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , En1 + .byte W18 + .byte N06 + .byte W06 + .byte Bn1 + .byte W12 + .byte N12 , Gs1 + .byte W12 + .byte Fn1 , v127 + .byte W18 + .byte N06 , Fn1 , v112 + .byte W06 + .byte N12 , Cn1 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Fn1 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Cn2 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Gn1 , v127 + .byte W18 + .byte N06 , Gn1 , v112 + .byte W06 + .byte N12 , Dn1 + .byte W18 + .byte N06 + .byte W06 + .byte Gn1 , v127 + .byte W06 + .byte N03 , Dn2 , v112 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte N12 , Dn1 + .byte W12 + .byte PATT + .word mus_ashroad_3_000 + .byte N06 , An1 , v127 + .byte W06 + .byte N12 , An1 , v040 + .byte W18 + .byte N06 , En1 , v112 + .byte W06 + .byte N12 , En1 , v040 + .byte W18 + .byte N06 , En1 , v112 + .byte W06 + .byte N03 , Bn1 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Bn1 + .byte W12 + .byte N12 , As1 + .byte W12 + .byte GOTO + .word mus_ashroad_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_ashroad_4: + .byte KEYSH , mus_ashroad_key+0 + .byte VOICE , 81 + .byte VOL , 47*mus_ashroad_mvl/mxv + .byte PAN , c_v-63 + .byte LFOS , 44 + .byte W96 +mus_ashroad_4_B1: +mus_ashroad_4_000: + .byte N06 , Cs3 , v112 + .byte W21 + .byte N03 , Dn3 , v056 + .byte W03 + .byte Cs3 , v112 + .byte W03 + .byte Cs3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte En3 , v112 + .byte W12 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte N24 , Dn3 + .byte W02 + .byte VOL , 27*mus_ashroad_mvl/mxv + .byte W03 + .byte 32*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 41*mus_ashroad_mvl/mxv + .byte W02 + .byte 45*mus_ashroad_mvl/mxv + .byte W04 + .byte 54*mus_ashroad_mvl/mxv + .byte W03 + .byte 57*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte N06 , En3 + .byte W12 + .byte PEND +mus_ashroad_4_001: + .byte N06 , Cs3 , v112 + .byte W12 + .byte N03 + .byte W09 + .byte Dn3 , v056 + .byte W03 + .byte Cs3 , v112 + .byte W03 + .byte Cs3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte En3 , v112 + .byte W12 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte N24 , Dn3 + .byte W02 + .byte VOL , 27*mus_ashroad_mvl/mxv + .byte W03 + .byte 32*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 41*mus_ashroad_mvl/mxv + .byte W02 + .byte 45*mus_ashroad_mvl/mxv + .byte W04 + .byte 54*mus_ashroad_mvl/mxv + .byte W03 + .byte 57*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte N06 , En3 + .byte W12 + .byte PEND + .byte PATT + .word mus_ashroad_4_000 + .byte PATT + .word mus_ashroad_4_001 + .byte PATT + .word mus_ashroad_4_000 + .byte PATT + .word mus_ashroad_4_001 + .byte PATT + .word mus_ashroad_4_000 + .byte PATT + .word mus_ashroad_4_001 + .byte PATT + .word mus_ashroad_4_000 + .byte PATT + .word mus_ashroad_4_001 +mus_ashroad_4_002: + .byte N06 , An2 , v112 + .byte W21 + .byte N03 , As2 , v064 + .byte W03 + .byte An2 , v112 + .byte W03 + .byte An2 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte An2 , v112 + .byte W12 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte N24 , Bn2 + .byte W02 + .byte VOL , 27*mus_ashroad_mvl/mxv + .byte W03 + .byte 32*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 41*mus_ashroad_mvl/mxv + .byte W02 + .byte 45*mus_ashroad_mvl/mxv + .byte W04 + .byte 54*mus_ashroad_mvl/mxv + .byte W03 + .byte 57*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte N06 , Cs3 + .byte W12 + .byte PEND +mus_ashroad_4_003: + .byte N06 , Bn2 , v112 + .byte W21 + .byte N03 , Cn3 , v064 + .byte W03 + .byte Bn2 , v112 + .byte W03 + .byte Bn2 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte As2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Bn2 , v112 + .byte W12 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte N24 , Cs3 + .byte W02 + .byte VOL , 27*mus_ashroad_mvl/mxv + .byte W03 + .byte 32*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 41*mus_ashroad_mvl/mxv + .byte W02 + .byte 45*mus_ashroad_mvl/mxv + .byte W04 + .byte 54*mus_ashroad_mvl/mxv + .byte W03 + .byte 57*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte N06 , Dn3 + .byte W12 + .byte PEND + .byte Gs2 + .byte W21 + .byte N03 , An2 , v064 + .byte W03 + .byte Gs2 , v112 + .byte W03 + .byte Gs2 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Gs2 , v112 + .byte W12 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte N24 , Fs2 + .byte W02 + .byte VOL , 27*mus_ashroad_mvl/mxv + .byte W03 + .byte 32*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 41*mus_ashroad_mvl/mxv + .byte W02 + .byte 45*mus_ashroad_mvl/mxv + .byte W04 + .byte 54*mus_ashroad_mvl/mxv + .byte W03 + .byte 57*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte N06 , Gs2 + .byte W12 + .byte Fs2 + .byte W21 + .byte N03 , Gn2 , v064 + .byte W03 + .byte Fs2 , v112 + .byte W03 + .byte Fs2 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Fs2 , v112 + .byte W12 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte N24 , Cs2 + .byte W02 + .byte VOL , 27*mus_ashroad_mvl/mxv + .byte W03 + .byte 32*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 41*mus_ashroad_mvl/mxv + .byte W02 + .byte 45*mus_ashroad_mvl/mxv + .byte W04 + .byte 54*mus_ashroad_mvl/mxv + .byte W03 + .byte 57*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte N06 , Fs2 + .byte W12 + .byte PATT + .word mus_ashroad_4_002 + .byte PATT + .word mus_ashroad_4_003 + .byte N06 , Cn3 , v112 + .byte W21 + .byte N03 , Cs3 , v064 + .byte W03 + .byte Cn3 , v112 + .byte W03 + .byte Cn3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cn3 , v112 + .byte W12 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte N24 , Dn3 + .byte W02 + .byte VOL , 27*mus_ashroad_mvl/mxv + .byte W03 + .byte 32*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 41*mus_ashroad_mvl/mxv + .byte W02 + .byte 45*mus_ashroad_mvl/mxv + .byte W04 + .byte 54*mus_ashroad_mvl/mxv + .byte W03 + .byte 57*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte N06 , En3 + .byte W12 + .byte Dn3 + .byte W21 + .byte N03 , Ds3 , v064 + .byte W03 + .byte Dn3 , v112 + .byte W03 + .byte Dn3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Dn3 , v112 + .byte W12 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte N24 , En3 + .byte W02 + .byte VOL , 27*mus_ashroad_mvl/mxv + .byte W03 + .byte 32*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 41*mus_ashroad_mvl/mxv + .byte W02 + .byte 45*mus_ashroad_mvl/mxv + .byte W04 + .byte 54*mus_ashroad_mvl/mxv + .byte W03 + .byte 57*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte N06 , Fn3 + .byte W12 + .byte Cs2 + .byte W21 + .byte N03 , Dn2 , v064 + .byte W03 + .byte Cs2 , v112 + .byte W03 + .byte Cs2 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte En2 , v112 + .byte W12 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte N24 , Dn2 + .byte W02 + .byte VOL , 27*mus_ashroad_mvl/mxv + .byte W03 + .byte 32*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 41*mus_ashroad_mvl/mxv + .byte W02 + .byte 45*mus_ashroad_mvl/mxv + .byte W04 + .byte 54*mus_ashroad_mvl/mxv + .byte W03 + .byte 57*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte N06 , En2 + .byte W12 + .byte Cs2 + .byte W12 + .byte N03 + .byte W09 + .byte Dn2 , v064 + .byte W03 + .byte Cs2 , v112 + .byte W03 + .byte Cs2 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte En2 , v112 + .byte W12 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte N24 , Dn2 + .byte W02 + .byte VOL , 27*mus_ashroad_mvl/mxv + .byte W03 + .byte 32*mus_ashroad_mvl/mxv + .byte W03 + .byte 38*mus_ashroad_mvl/mxv + .byte W04 + .byte 41*mus_ashroad_mvl/mxv + .byte W02 + .byte 45*mus_ashroad_mvl/mxv + .byte W04 + .byte 54*mus_ashroad_mvl/mxv + .byte W03 + .byte 57*mus_ashroad_mvl/mxv + .byte W03 + .byte 47*mus_ashroad_mvl/mxv + .byte N06 , En2 + .byte W12 + .byte GOTO + .word mus_ashroad_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_ashroad_5: + .byte KEYSH , mus_ashroad_key+0 + .byte VOICE , 38 + .byte PAN , c_v+51 + .byte VOL , 28*mus_ashroad_mvl/mxv + .byte N06 , Fn3 , v112 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N48 , Fn4 , v120 + .byte W24 + .byte VOL , 28*mus_ashroad_mvl/mxv + .byte MOD , 7 + .byte W02 + .byte VOL , 25*mus_ashroad_mvl/mxv + .byte W03 + .byte 23*mus_ashroad_mvl/mxv + .byte W03 + .byte 21*mus_ashroad_mvl/mxv + .byte W04 + .byte 19*mus_ashroad_mvl/mxv + .byte W02 + .byte 16*mus_ashroad_mvl/mxv + .byte W03 + .byte 14*mus_ashroad_mvl/mxv + .byte W03 + .byte 13*mus_ashroad_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 28*mus_ashroad_mvl/mxv + .byte N24 , Dn4 , v088 + .byte W12 + .byte MOD , 7 + .byte W12 +mus_ashroad_5_B1: + .byte VOICE , 38 + .byte MOD , 0 + .byte VOL , 31*mus_ashroad_mvl/mxv + .byte PAN , c_v+51 + .byte N06 , En3 , v072 + .byte W96 + .byte W96 + .byte MOD , 0 + .byte N24 , Cs3 , v112 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , Cs3 , v040 + .byte W06 + .byte N03 , An3 , v112 + .byte W03 + .byte An3 , v040 + .byte W03 + .byte N12 , An2 , v112 + .byte W12 + .byte MOD , 0 + .byte N24 , Dn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N18 , Bn2 + .byte W18 + .byte N06 , As2 + .byte W06 + .byte N15 , An2 + .byte W15 + .byte N03 , An2 , v040 + .byte W03 + .byte An2 , v112 + .byte W03 + .byte N06 , An2 , v040 + .byte W09 + .byte N03 , An2 , v112 + .byte W03 + .byte An2 , v040 + .byte W03 + .byte Gn2 , v112 + .byte W03 + .byte An2 + .byte W03 + .byte N06 , Gs2 + .byte W06 + .byte MOD , 0 + .byte N24 , Gn2 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , En2 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Dn2 , v040 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v040 + .byte W06 + .byte N12 , En2 , v112 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte An2 , v040 + .byte W06 + .byte Gs2 , v112 + .byte W06 + .byte Gn2 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte N03 , Fn3 + .byte W03 + .byte Gn3 + .byte W03 + .byte N06 , Fn3 + .byte W06 + .byte N12 , En3 + .byte W12 + .byte N03 , Dn3 + .byte W03 + .byte En3 + .byte W03 + .byte N06 , Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Bn2 + .byte W06 + .byte N12 , An2 + .byte W12 + .byte N06 , Bn2 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte Cs3 , v112 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N18 , Dn3 + .byte W09 + .byte MOD , 7 + .byte W09 + .byte N12 , As2 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte 0 + .byte N24 , Cs3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Cs3 , v040 + .byte W12 + .byte An2 , v112 + .byte W12 + .byte Dn3 + .byte W12 + .byte N06 , Dn3 , v040 + .byte W06 + .byte N03 , Dn3 , v112 + .byte W03 + .byte N12 , Dn3 , v040 + .byte W15 + .byte An2 , v112 + .byte W12 + .byte N06 , En3 + .byte W06 + .byte En3 , v040 + .byte W06 + .byte Ds3 , v112 + .byte W06 + .byte N12 , En3 + .byte W12 + .byte N06 , As2 + .byte W06 + .byte N12 , An2 + .byte W12 + .byte MOD , 0 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , En3 + .byte W06 + .byte En3 , v040 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v040 + .byte W06 + .byte MOD , 0 + .byte N24 , En3 , v112 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , Dn3 + .byte W06 + .byte Dn3 , v040 + .byte W06 + .byte N12 , Dn3 , v112 + .byte W12 + .byte N06 , Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N03 , Gn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte N06 , Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , En3 + .byte W12 + .byte N03 , Dn3 + .byte W03 + .byte En3 + .byte W03 + .byte N06 , Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte Gs2 , v112 + .byte W06 + .byte An2 + .byte W06 + .byte An2 , v040 + .byte W06 + .byte Gs2 , v112 + .byte W06 + .byte An2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte VOICE , 48 + .byte MOD , 0 + .byte VOL , 29*mus_ashroad_mvl/mxv + .byte N21 , Cs4 + .byte W12 + .byte MOD , 7 + .byte W09 + .byte N03 , As3 + .byte W03 + .byte MOD , 0 + .byte N03 , An3 + .byte W06 + .byte N03 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Fs4 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 +mus_ashroad_5_000: + .byte MOD , 0 + .byte N21 , En4 , v112 + .byte W12 + .byte MOD , 7 + .byte W09 + .byte N03 , Cn4 + .byte W03 + .byte MOD , 0 + .byte N03 , Bn3 + .byte W06 + .byte N03 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte En4 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte PEND + .byte MOD , 0 + .byte N21 , Cs4 + .byte W12 + .byte MOD , 7 + .byte W09 + .byte N03 , An3 + .byte W03 + .byte MOD , 0 + .byte N03 , Gs3 + .byte W06 + .byte N03 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte En4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N12 , Cs4 + .byte W12 + .byte N06 , As3 + .byte W06 + .byte N03 , Cs4 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fs3 + .byte W06 + .byte N03 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W03 + .byte Bn3 + .byte W03 + .byte As3 + .byte W06 + .byte N03 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W03 + .byte Dn4 + .byte W03 + .byte Cs4 + .byte W06 + .byte N03 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte MOD , 0 + .byte N21 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W09 + .byte N03 , As3 + .byte W03 + .byte MOD , 0 + .byte N03 , An3 + .byte W06 + .byte N03 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Fs4 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte PATT + .word mus_ashroad_5_000 + .byte MOD , 0 + .byte N21 , Fn4 , v112 + .byte W12 + .byte MOD , 7 + .byte W09 + .byte N03 , As3 + .byte W03 + .byte MOD , 0 + .byte N03 , An3 + .byte W06 + .byte N03 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N03 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N03 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte MOD , 0 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N03 , Bn3 + .byte W06 + .byte N03 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N06 , Dn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte N12 + .byte W12 + .byte N03 , Bn4 + .byte W03 + .byte Dn5 + .byte W03 + .byte N06 , Bn4 + .byte W06 + .byte TIE , An4 + .byte W24 + .byte MOD , 3 + .byte W72 + .byte W48 + .byte 7 + .byte W24 + .byte EOT + .byte MOD , 0 + .byte W24 + .byte GOTO + .word mus_ashroad_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_ashroad_6: + .byte KEYSH , mus_ashroad_key+0 + .byte VOICE , 82 + .byte VOL , 38*mus_ashroad_mvl/mxv + .byte LFOS , 44 + .byte BEND , c_v-3 + .byte W96 +mus_ashroad_6_B1: + .byte MOD , 0 + .byte W96 + .byte W72 + .byte N06 , Dn4 , v112 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N24 , En4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , En4 , v040 + .byte W06 + .byte N03 , An3 , v112 + .byte W06 + .byte N06 , Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte N12 , Gn4 + .byte W12 + .byte N03 , Fn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte N06 , Fn4 + .byte W06 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Dn4 + .byte W06 + .byte N18 , En4 + .byte W06 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Bn3 , v040 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v040 + .byte W06 + .byte N18 , Dn4 , v112 + .byte W06 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , Bn3 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte N90 , En4 + .byte W18 + .byte MOD , 3 + .byte W60 + .byte 8 + .byte W12 + .byte 0 + .byte N12 , En4 , v040 + .byte W84 + .byte Fn4 , v112 + .byte W12 + .byte N24 , En4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N03 , An3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte N12 , Gn4 + .byte W12 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Gn4 + .byte W03 + .byte Fn4 + .byte W03 + .byte N06 , En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Dn4 + .byte W06 + .byte N18 , En4 + .byte W18 + .byte N06 , Fn4 + .byte W12 + .byte Gn4 + .byte W06 + .byte N18 , An4 + .byte W18 + .byte N06 , En4 + .byte W06 + .byte An4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Dn5 , v040 + .byte W06 + .byte N96 , Cs5 , v112 + .byte W24 + .byte MOD , 3 + .byte W60 + .byte 8 + .byte W12 + .byte 0 + .byte N12 , Cs5 , v040 + .byte W96 +mus_ashroad_6_000: + .byte N24 , Fs4 , v112 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Fs4 , v040 + .byte W36 + .byte N06 , Fs4 , v112 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte An4 , v112 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fs4 , v040 + .byte W06 + .byte PEND +mus_ashroad_6_001: + .byte N24 , Gs4 , v112 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Gs4 , v040 + .byte W36 + .byte N06 , Gs4 , v112 + .byte W06 + .byte An4 + .byte W06 + .byte An4 , v040 + .byte W06 + .byte Bn4 , v112 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte PEND + .byte N24 , En4 , v112 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , En4 , v040 + .byte W36 + .byte N06 , En4 , v112 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fs4 , v040 + .byte W06 + .byte Gs4 , v112 + .byte W06 + .byte En4 + .byte W06 + .byte En4 , v040 + .byte W06 + .byte N12 , Fs4 , v112 + .byte W12 + .byte N03 , En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte N06 , En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Dn4 , v040 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v040 + .byte W06 + .byte Bn3 , v112 + .byte W06 + .byte Bn3 , v040 + .byte W06 + .byte As3 , v112 + .byte W06 + .byte As3 , v040 + .byte W06 + .byte Fs4 , v112 + .byte W06 + .byte Cs4 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte PATT + .word mus_ashroad_6_000 + .byte PATT + .word mus_ashroad_6_001 + .byte N24 , An4 , v112 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , An4 , v040 + .byte W36 + .byte N06 , An4 , v112 + .byte W06 + .byte Bn4 + .byte W06 + .byte Bn4 , v040 + .byte W06 + .byte Cn5 , v112 + .byte W06 + .byte An4 + .byte W06 + .byte An4 , v040 + .byte W06 + .byte N24 , Bn4 , v112 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Bn4 , v040 + .byte W24 + .byte N06 , Gn4 , v112 + .byte W06 + .byte Bn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte N03 , Fn5 + .byte W03 + .byte Gn5 + .byte W03 + .byte N06 , Fn5 + .byte W06 + .byte N96 , En5 + .byte W24 + .byte MOD , 3 + .byte W72 + .byte N12 , En5 , v040 + .byte W48 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte W24 + .byte GOTO + .word mus_ashroad_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_ashroad_7: + .byte KEYSH , mus_ashroad_key+0 + .byte VOICE , 127 + .byte PAN , c_v-63 + .byte VOL , 51*mus_ashroad_mvl/mxv + .byte W96 +mus_ashroad_7_B1: +mus_ashroad_7_000: + .byte N01 , Gn4 , v112 + .byte W24 + .byte N01 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v060 + .byte W06 + .byte Gn4 , v112 + .byte W12 + .byte N01 + .byte W24 + .byte N01 + .byte W03 + .byte Gn4 , v052 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PEND +mus_ashroad_7_001: + .byte N01 , Gn4 , v112 + .byte W12 + .byte Gn4 , v096 + .byte W12 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v060 + .byte W06 + .byte Gn4 , v112 + .byte W12 + .byte N01 + .byte W24 + .byte N01 + .byte W03 + .byte Gn4 , v052 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PEND + .byte PATT + .word mus_ashroad_7_000 + .byte PATT + .word mus_ashroad_7_001 + .byte PATT + .word mus_ashroad_7_000 + .byte PATT + .word mus_ashroad_7_001 + .byte PATT + .word mus_ashroad_7_000 + .byte PATT + .word mus_ashroad_7_001 + .byte PATT + .word mus_ashroad_7_000 + .byte PATT + .word mus_ashroad_7_001 + .byte PATT + .word mus_ashroad_7_000 + .byte PATT + .word mus_ashroad_7_000 + .byte PATT + .word mus_ashroad_7_000 + .byte PATT + .word mus_ashroad_7_000 + .byte PATT + .word mus_ashroad_7_000 + .byte PATT + .word mus_ashroad_7_000 + .byte PATT + .word mus_ashroad_7_000 + .byte PATT + .word mus_ashroad_7_000 + .byte PATT + .word mus_ashroad_7_000 + .byte PATT + .word mus_ashroad_7_001 + .byte GOTO + .word mus_ashroad_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_ashroad_8: + .byte KEYSH , mus_ashroad_key+0 + .byte VOICE , 0 + .byte VOL , 76*mus_ashroad_mvl/mxv + .byte W96 +mus_ashroad_8_B1: +mus_ashroad_8_000: + .byte N06 , Cn1 , v124 + .byte W12 + .byte En3 , v096 + .byte W06 + .byte En3 , v080 + .byte W06 + .byte Cn1 , v088 + .byte W12 + .byte Dn3 , v096 + .byte W12 + .byte Cn1 , v088 + .byte W12 + .byte En3 , v096 + .byte W06 + .byte En3 , v080 + .byte W06 + .byte Cn1 , v088 + .byte W12 + .byte Dn3 , v096 + .byte W12 + .byte PEND + .byte Cn1 , v124 + .byte W12 + .byte En3 , v096 + .byte W06 + .byte En3 , v080 + .byte W06 + .byte Cn1 , v088 + .byte W12 + .byte Dn3 , v096 + .byte W12 + .byte Cn1 , v088 + .byte W12 + .byte En3 , v096 + .byte W06 + .byte En3 , v080 + .byte W06 + .byte Cn1 , v088 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte N03 , Dn3 , v080 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W06 + .byte PATT + .word mus_ashroad_8_000 + .byte PATT + .word mus_ashroad_8_000 + .byte PATT + .word mus_ashroad_8_000 +mus_ashroad_8_001: + .byte N06 , Cn1 , v124 + .byte W12 + .byte En3 , v096 + .byte W06 + .byte En3 , v080 + .byte W06 + .byte Cn1 , v088 + .byte W12 + .byte Dn3 , v096 + .byte W12 + .byte Cn1 , v088 + .byte W12 + .byte En3 , v096 + .byte W06 + .byte En3 , v080 + .byte W06 + .byte Cn1 , v088 + .byte W06 + .byte Dn3 , v096 + .byte W06 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W06 + .byte PEND + .byte PATT + .word mus_ashroad_8_000 + .byte PATT + .word mus_ashroad_8_000 + .byte PATT + .word mus_ashroad_8_000 + .byte PATT + .word mus_ashroad_8_001 + .byte N06 , Cn1 , v124 + .byte W12 + .byte N12 , As1 , v088 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte Dn3 , v096 + .byte W12 + .byte Cn1 , v088 + .byte W12 + .byte En3 , v096 + .byte W06 + .byte En3 , v080 + .byte W06 + .byte Cn1 , v088 + .byte W12 + .byte Dn3 , v096 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Cn1 , v124 + .byte W12 + .byte N12 , As1 , v088 + .byte W12 + .byte N03 , En1 , v080 + .byte W06 + .byte N06 , En1 , v112 + .byte W18 + .byte Cn1 , v088 + .byte W12 + .byte En3 , v096 + .byte W06 + .byte En3 , v080 + .byte W06 + .byte Cn1 , v088 + .byte W12 + .byte Dn3 , v096 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Cn1 , v124 + .byte W12 + .byte Dn3 , v092 + .byte W06 + .byte Dn3 , v080 + .byte W06 + .byte En1 , v088 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte Cn1 , v088 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte N12 , As1 , v088 + .byte W12 + .byte N06 , En1 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte Dn3 + .byte W12 + .byte Cn1 , v124 + .byte W12 + .byte N12 , As1 , v088 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte N12 , As1 + .byte W12 + .byte N06 , Cn1 + .byte W24 + .byte En1 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte Cn1 + .byte W12 + .byte Cn1 , v124 + .byte W12 + .byte N03 , Fs1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W12 + .byte En3 , v096 + .byte W06 + .byte En3 , v080 + .byte W06 + .byte Cn1 , v088 + .byte W12 + .byte N03 , Fs1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 , v124 + .byte W12 + .byte N03 , Fs1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 , v088 + .byte W12 + .byte N03 , Fs1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte N03 , Fs1 + .byte W06 + .byte N06 , Cn1 , v124 + .byte W12 + .byte N03 , Fs1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 , v088 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte N06 + .byte W06 + .byte Cn1 , v088 + .byte W12 + .byte N03 , Fs1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W12 + .byte N12 , As1 , v092 + .byte W12 + .byte N06 , En1 , v120 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte En1 , v088 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte N03 , Fs1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte Dn1 + .byte W06 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v088 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v124 + .byte N48 , An2 , v100 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v080 + .byte W06 + .byte Cn1 , v088 + .byte W12 + .byte Dn3 , v096 + .byte W12 + .byte Cn1 , v088 + .byte W12 + .byte En3 , v096 + .byte W06 + .byte En3 , v080 + .byte W06 + .byte Cn1 , v088 + .byte W12 + .byte Dn3 , v096 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte En3 , v096 + .byte W06 + .byte En3 , v080 + .byte W06 + .byte Cn1 , v088 + .byte W12 + .byte Dn3 , v096 + .byte W12 + .byte Cn1 , v088 + .byte W12 + .byte En3 , v096 + .byte W06 + .byte En3 , v080 + .byte W06 + .byte Cn1 , v088 + .byte W12 + .byte Dn3 , v096 + .byte W12 + .byte GOTO + .word mus_ashroad_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_ashroad: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_ashroad_pri @ Priority + .byte mus_ashroad_rev @ Reverb. + + .word mus_ashroad_grp + + .word mus_ashroad_1 + .word mus_ashroad_2 + .word mus_ashroad_3 + .word mus_ashroad_4 + .word mus_ashroad_5 + .word mus_ashroad_6 + .word mus_ashroad_7 + .word mus_ashroad_8 + + .end diff --git a/sound/songs/mus_ayasii.s b/sound/songs/mus_ayasii.s new file mode 100644 index 0000000000..b30b59ba43 --- /dev/null +++ b/sound/songs/mus_ayasii.s @@ -0,0 +1,1738 @@ + .include "MPlayDef.s" + + .equ mus_ayasii_grp, voicegroup_8689474 + .equ mus_ayasii_pri, 0 + .equ mus_ayasii_rev, reverb_set+50 + .equ mus_ayasii_mvl, 127 + .equ mus_ayasii_key, 0 + .equ mus_ayasii_tbs, 1 + .equ mus_ayasii_exg, 0 + .equ mus_ayasii_cmp, 1 + + .section .rodata + .global mus_ayasii + .align 2 + +@********************** Track 1 **********************@ + +mus_ayasii_1: + .byte KEYSH , mus_ayasii_key+0 + .byte TEMPO , 122*mus_ayasii_tbs/2 + .byte VOICE , 17 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 75*mus_ayasii_mvl/mxv + .byte MOD , 2 + .byte PAN , c_v+7 + .byte N06 , Gs3 , v116 + .byte W06 + .byte Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N36 , Bn3 + .byte W24 + .byte MOD , 11 + .byte W12 + .byte 2 + .byte N06 , As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte VOL , 30*mus_ayasii_mvl/mxv + .byte N60 , Dn4 + .byte W02 + .byte VOL , 31*mus_ayasii_mvl/mxv + .byte W03 + .byte 33*mus_ayasii_mvl/mxv + .byte W03 + .byte 35*mus_ayasii_mvl/mxv + .byte W06 + .byte 38*mus_ayasii_mvl/mxv + .byte W03 + .byte 39*mus_ayasii_mvl/mxv + .byte W03 + .byte 42*mus_ayasii_mvl/mxv + .byte W04 + .byte 44*mus_ayasii_mvl/mxv + .byte MOD , 11 + .byte W02 + .byte VOL , 47*mus_ayasii_mvl/mxv + .byte W03 + .byte 52*mus_ayasii_mvl/mxv + .byte W03 + .byte 58*mus_ayasii_mvl/mxv + .byte W04 + .byte 63*mus_ayasii_mvl/mxv + .byte W02 + .byte 76*mus_ayasii_mvl/mxv + .byte W03 + .byte 78*mus_ayasii_mvl/mxv + .byte W19 + .byte 76*mus_ayasii_mvl/mxv + .byte MOD , 2 + .byte N12 , Ds4 + .byte W12 +mus_ayasii_1_B1: + .byte VOL , 40*mus_ayasii_mvl/mxv + .byte N36 , Gs4 , v116 + .byte W02 + .byte VOL , 44*mus_ayasii_mvl/mxv + .byte W03 + .byte 49*mus_ayasii_mvl/mxv + .byte W03 + .byte 54*mus_ayasii_mvl/mxv + .byte W04 + .byte 55*mus_ayasii_mvl/mxv + .byte W02 + .byte 62*mus_ayasii_mvl/mxv + .byte W03 + .byte 66*mus_ayasii_mvl/mxv + .byte W03 + .byte 71*mus_ayasii_mvl/mxv + .byte W04 + .byte 78*mus_ayasii_mvl/mxv + .byte MOD , 11 + .byte W12 + .byte 2 + .byte N06 , Gn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte VOL , 40*mus_ayasii_mvl/mxv + .byte N36 , En4 + .byte W02 + .byte VOL , 44*mus_ayasii_mvl/mxv + .byte W03 + .byte 49*mus_ayasii_mvl/mxv + .byte W03 + .byte 54*mus_ayasii_mvl/mxv + .byte W04 + .byte 55*mus_ayasii_mvl/mxv + .byte W02 + .byte 62*mus_ayasii_mvl/mxv + .byte W03 + .byte 66*mus_ayasii_mvl/mxv + .byte W03 + .byte 71*mus_ayasii_mvl/mxv + .byte W04 + .byte 78*mus_ayasii_mvl/mxv + .byte MOD , 11 + .byte W12 + .byte 2 + .byte N06 , Ds4 + .byte W12 + .byte Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte As3 + .byte W12 + .byte Ds3 + .byte W12 + .byte VOL , 40*mus_ayasii_mvl/mxv + .byte N36 , En3 + .byte W02 + .byte VOL , 44*mus_ayasii_mvl/mxv + .byte W03 + .byte 49*mus_ayasii_mvl/mxv + .byte W03 + .byte 54*mus_ayasii_mvl/mxv + .byte W04 + .byte 55*mus_ayasii_mvl/mxv + .byte W02 + .byte 62*mus_ayasii_mvl/mxv + .byte W03 + .byte 66*mus_ayasii_mvl/mxv + .byte W03 + .byte 71*mus_ayasii_mvl/mxv + .byte W04 + .byte 78*mus_ayasii_mvl/mxv + .byte MOD , 11 + .byte W12 + .byte 2 + .byte N06 , Ds3 + .byte W12 + .byte Dn3 + .byte N06 , Dn4 + .byte W12 + .byte Ds3 + .byte N06 , Ds4 + .byte W12 + .byte VOL , 40*mus_ayasii_mvl/mxv + .byte N36 , As4 + .byte W02 + .byte VOL , 44*mus_ayasii_mvl/mxv + .byte W03 + .byte 49*mus_ayasii_mvl/mxv + .byte W03 + .byte 54*mus_ayasii_mvl/mxv + .byte W04 + .byte 55*mus_ayasii_mvl/mxv + .byte W02 + .byte 62*mus_ayasii_mvl/mxv + .byte W03 + .byte 66*mus_ayasii_mvl/mxv + .byte W03 + .byte 71*mus_ayasii_mvl/mxv + .byte W04 + .byte 78*mus_ayasii_mvl/mxv + .byte MOD , 11 + .byte W12 + .byte 2 + .byte N06 , An4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte VOL , 40*mus_ayasii_mvl/mxv + .byte N36 , Fs4 + .byte W02 + .byte VOL , 44*mus_ayasii_mvl/mxv + .byte W03 + .byte 49*mus_ayasii_mvl/mxv + .byte W03 + .byte 54*mus_ayasii_mvl/mxv + .byte W04 + .byte 55*mus_ayasii_mvl/mxv + .byte W02 + .byte 62*mus_ayasii_mvl/mxv + .byte W03 + .byte 66*mus_ayasii_mvl/mxv + .byte W03 + .byte 71*mus_ayasii_mvl/mxv + .byte W04 + .byte 78*mus_ayasii_mvl/mxv + .byte MOD , 11 + .byte W12 + .byte 2 + .byte N06 , Fn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte VOL , 40*mus_ayasii_mvl/mxv + .byte N36 , Fs3 + .byte W02 + .byte VOL , 44*mus_ayasii_mvl/mxv + .byte W03 + .byte 49*mus_ayasii_mvl/mxv + .byte W03 + .byte 54*mus_ayasii_mvl/mxv + .byte W04 + .byte 55*mus_ayasii_mvl/mxv + .byte W02 + .byte 62*mus_ayasii_mvl/mxv + .byte W03 + .byte 66*mus_ayasii_mvl/mxv + .byte W03 + .byte 71*mus_ayasii_mvl/mxv + .byte W04 + .byte 78*mus_ayasii_mvl/mxv + .byte MOD , 11 + .byte W12 + .byte 2 + .byte N06 , Fn3 + .byte W12 + .byte En3 + .byte N06 , En4 + .byte W12 + .byte Fn3 + .byte N06 , Fn4 + .byte W12 + .byte Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N48 , Fn4 + .byte W24 + .byte MOD , 11 + .byte W24 + .byte 2 + .byte N06 , Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fn2 , v064 + .byte W06 + .byte Fs2 , v072 + .byte W06 + .byte En2 , v076 + .byte W06 + .byte Fn2 , v080 + .byte W06 + .byte Ds2 , v084 + .byte W06 + .byte En2 , v092 + .byte W06 + .byte Dn2 , v096 + .byte W06 + .byte Ds2 + .byte W06 + .byte Cs2 , v100 + .byte W06 + .byte Dn2 , v108 + .byte W06 + .byte Cn2 , v112 + .byte W06 + .byte Cs2 , v120 + .byte W06 + .byte Cn3 + .byte N06 , Fn4 + .byte W48 + .byte Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte GOTO + .word mus_ayasii_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_ayasii_2: + .byte KEYSH , mus_ayasii_key+0 + .byte VOICE , 45 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 63*mus_ayasii_mvl/mxv + .byte PAN , c_v-16 + .byte W24 + .byte W72 + .byte W72 +mus_ayasii_2_B1: + .byte VOICE , 45 + .byte W12 + .byte N06 , Gs3 , v112 + .byte W12 + .byte Bn3 + .byte W12 + .byte Ds4 + .byte W36 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte W72 + .byte W72 + .byte W12 + .byte N06 + .byte W12 + .byte Cs4 + .byte W12 + .byte Fn4 + .byte W36 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte W72 + .byte W72 + .byte W72 + .byte VOICE , 17 + .byte N48 + .byte W72 + .byte W72 + .byte VOICE , 45 + .byte W24 + .byte N06 , Fn3 + .byte W12 + .byte Fn4 + .byte W12 + .byte N24 , Fn2 + .byte W24 + .byte GOTO + .word mus_ayasii_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_ayasii_3: + .byte VOL , 78*mus_ayasii_mvl/mxv + .byte KEYSH , mus_ayasii_key+0 + .byte VOICE , 58 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte N06 , Gs2 , v072 + .byte W06 + .byte Gn2 , v076 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn1 , v088 + .byte W06 + .byte VOL , 41*mus_ayasii_mvl/mxv + .byte N36 , Gs1 , v112 + .byte W02 + .byte VOL , 44*mus_ayasii_mvl/mxv + .byte W03 + .byte 50*mus_ayasii_mvl/mxv + .byte W03 + .byte 57*mus_ayasii_mvl/mxv + .byte W06 + .byte 65*mus_ayasii_mvl/mxv + .byte W03 + .byte 68*mus_ayasii_mvl/mxv + .byte W03 + .byte 77*mus_ayasii_mvl/mxv + .byte W04 + .byte 78*mus_ayasii_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , Gn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte En1 + .byte W12 + .byte VOL , 23*mus_ayasii_mvl/mxv + .byte N60 , Dn1 + .byte W02 + .byte VOL , 27*mus_ayasii_mvl/mxv + .byte W03 + .byte 31*mus_ayasii_mvl/mxv + .byte W03 + .byte 36*mus_ayasii_mvl/mxv + .byte W04 + .byte 40*mus_ayasii_mvl/mxv + .byte W02 + .byte 45*mus_ayasii_mvl/mxv + .byte W03 + .byte 49*mus_ayasii_mvl/mxv + .byte W03 + .byte 57*mus_ayasii_mvl/mxv + .byte W04 + .byte MOD , 8 + .byte VOL , 58*mus_ayasii_mvl/mxv + .byte W02 + .byte 63*mus_ayasii_mvl/mxv + .byte W03 + .byte 68*mus_ayasii_mvl/mxv + .byte W03 + .byte 76*mus_ayasii_mvl/mxv + .byte W04 + .byte 78*mus_ayasii_mvl/mxv + .byte W24 + .byte N12 , Ds1 + .byte W12 +mus_ayasii_3_B1: + .byte MOD , 0 + .byte N12 , Gs1 , v112 + .byte W60 + .byte N06 + .byte W12 + .byte N12 , Ds1 + .byte W60 + .byte N06 + .byte W12 + .byte N12 , Gs1 + .byte W60 + .byte N06 + .byte W12 + .byte N36 , En1 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Ds1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Ds1 + .byte W12 +mus_ayasii_3_000: + .byte N12 , As1 , v112 + .byte W60 + .byte N06 + .byte W12 + .byte PEND + .byte N12 , Fn1 + .byte W60 + .byte N06 + .byte W12 + .byte PATT + .word mus_ayasii_3_000 + .byte N36 , Fs1 , v112 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte En1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte An1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte N48 + .byte W12 + .byte MOD , 8 + .byte W36 + .byte 0 + .byte W24 + .byte N06 , Fn1 , v060 + .byte W06 + .byte Fs1 , v056 + .byte W06 + .byte En1 , v060 + .byte W06 + .byte Fn1 , v064 + .byte W06 + .byte Ds1 , v072 + .byte W06 + .byte En1 , v076 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Ds1 + .byte W06 + .byte Cs1 , v088 + .byte W06 + .byte Dn1 , v096 + .byte W06 + .byte Cn1 , v100 + .byte W06 + .byte Cs1 , v108 + .byte W06 + .byte Cn2 , v112 + .byte W72 + .byte GOTO + .word mus_ayasii_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_ayasii_4: + .byte KEYSH , mus_ayasii_key+0 + .byte VOICE , 45 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+28 + .byte VOL , 65*mus_ayasii_mvl/mxv + .byte W24 + .byte PAN , c_v+28 + .byte W72 + .byte W72 +mus_ayasii_4_B1: + .byte VOICE , 45 + .byte PAN , c_v+28 + .byte W12 + .byte N06 , Ds3 , v112 + .byte W06 + .byte Ds3 , v036 + .byte W06 + .byte Gs3 , v112 + .byte W06 + .byte Gs3 , v036 + .byte W06 + .byte Bn2 , v112 + .byte W06 + .byte Bn2 , v036 + .byte W30 + .byte W12 + .byte Bn2 , v112 + .byte W06 + .byte Bn2 , v036 + .byte W06 + .byte Ds3 , v112 + .byte W06 + .byte Ds3 , v036 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v036 + .byte W06 + .byte Gs3 , v112 + .byte W06 + .byte Gs3 , v036 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v036 + .byte W06 + .byte Ds3 , v112 + .byte W06 + .byte Ds3 , v036 + .byte W06 + .byte Ds4 , v112 + .byte W06 + .byte Ds4 , v036 + .byte W06 + .byte Bn2 , v112 + .byte W06 + .byte Bn2 , v036 + .byte W06 + .byte Bn3 , v112 + .byte W06 + .byte Bn3 , v036 + .byte W06 + .byte Gs2 , v112 + .byte W06 + .byte Gs2 , v036 + .byte W06 + .byte Gs3 , v112 + .byte W06 + .byte Gs3 , v036 + .byte W06 + .byte W72 + .byte W12 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v036 + .byte W06 + .byte As3 , v112 + .byte W06 + .byte As3 , v036 + .byte W06 + .byte Cs3 , v112 + .byte W06 + .byte Cs3 , v036 + .byte W30 + .byte W12 + .byte Cs3 , v112 + .byte W06 + .byte Cs3 , v036 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v036 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v036 + .byte W06 + .byte As3 , v112 + .byte W06 + .byte As3 , v036 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v036 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v036 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v036 + .byte W06 + .byte Cs3 , v112 + .byte W06 + .byte Cs3 , v036 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v036 + .byte W06 + .byte As2 , v112 + .byte W06 + .byte As2 , v036 + .byte W06 + .byte As3 , v112 + .byte W06 + .byte As3 , v036 + .byte W06 + .byte W72 + .byte W72 + .byte W72 + .byte W12 + .byte Fn4 , v064 + .byte W12 + .byte Fn4 , v072 + .byte W12 + .byte Fn4 , v076 + .byte W12 + .byte Fn4 , v080 + .byte W12 + .byte Fn4 , v092 + .byte W12 + .byte Fs2 , v112 + .byte W24 + .byte Fn4 + .byte W12 + .byte Fn5 , v096 + .byte W12 + .byte PAN , c_v-42 + .byte N24 , Fn3 , v120 + .byte W24 + .byte GOTO + .word mus_ayasii_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_ayasii_5: + .byte KEYSH , mus_ayasii_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+24 + .byte VOL , 39*mus_ayasii_mvl/mxv + .byte N06 , Bn3 , v112 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte VOL , 11*mus_ayasii_mvl/mxv + .byte N36 , Gs4 + .byte W02 + .byte VOL , 14*mus_ayasii_mvl/mxv + .byte W03 + .byte 17*mus_ayasii_mvl/mxv + .byte W03 + .byte 20*mus_ayasii_mvl/mxv + .byte W04 + .byte 24*mus_ayasii_mvl/mxv + .byte W02 + .byte 30*mus_ayasii_mvl/mxv + .byte W03 + .byte 38*mus_ayasii_mvl/mxv + .byte W03 + .byte 39*mus_ayasii_mvl/mxv + .byte W16 + .byte N06 , Gn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte VOL , 6*mus_ayasii_mvl/mxv + .byte N60 , Bn4 + .byte W05 + .byte VOL , 7*mus_ayasii_mvl/mxv + .byte W07 + .byte 9*mus_ayasii_mvl/mxv + .byte W02 + .byte 11*mus_ayasii_mvl/mxv + .byte W03 + .byte 12*mus_ayasii_mvl/mxv + .byte W03 + .byte 14*mus_ayasii_mvl/mxv + .byte W06 + .byte 17*mus_ayasii_mvl/mxv + .byte W03 + .byte 19*mus_ayasii_mvl/mxv + .byte W03 + .byte 22*mus_ayasii_mvl/mxv + .byte W04 + .byte 23*mus_ayasii_mvl/mxv + .byte W02 + .byte 28*mus_ayasii_mvl/mxv + .byte W03 + .byte 33*mus_ayasii_mvl/mxv + .byte W03 + .byte 35*mus_ayasii_mvl/mxv + .byte W04 + .byte 39*mus_ayasii_mvl/mxv + .byte W02 + .byte 44*mus_ayasii_mvl/mxv + .byte W03 + .byte 46*mus_ayasii_mvl/mxv + .byte W03 + .byte 49*mus_ayasii_mvl/mxv + .byte W04 + .byte N12 , As4 + .byte W03 + .byte VOL , 39*mus_ayasii_mvl/mxv + .byte W09 +mus_ayasii_5_B1: + .byte N03 , Bn4 , v096 + .byte W12 + .byte N06 , Bn4 , v032 + .byte W06 + .byte As4 , v040 + .byte W06 + .byte Bn4 , v048 + .byte W06 + .byte As4 , v056 + .byte W06 + .byte Bn4 , v064 + .byte W06 + .byte As4 , v068 + .byte W06 + .byte Bn4 , v072 + .byte W12 + .byte Ds5 , v112 + .byte W12 + .byte W12 + .byte Gs4 , v032 + .byte W06 + .byte Gn4 , v036 + .byte W06 + .byte Gs4 , v044 + .byte W06 + .byte Gn4 , v056 + .byte W06 + .byte Gs4 , v060 + .byte W06 + .byte Gn4 , v072 + .byte W06 + .byte Gs4 , v080 + .byte W12 + .byte Bn4 , v112 + .byte W12 + .byte W72 + .byte W72 + .byte N03 , Cs5 , v092 + .byte W12 + .byte N06 , Cs5 , v036 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte Cs5 , v052 + .byte W06 + .byte Cn5 , v056 + .byte W06 + .byte Cs5 , v064 + .byte W06 + .byte Cn5 , v072 + .byte W06 + .byte Cs5 + .byte W12 + .byte Fn5 , v112 + .byte W12 + .byte W12 + .byte As4 , v036 + .byte W06 + .byte An4 , v040 + .byte W06 + .byte As4 , v048 + .byte W06 + .byte An4 , v052 + .byte W06 + .byte As4 , v056 + .byte W06 + .byte An4 , v064 + .byte W06 + .byte As4 , v072 + .byte W12 + .byte Cs5 , v096 + .byte W12 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte GOTO + .word mus_ayasii_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_ayasii_6: + .byte KEYSH , mus_ayasii_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 39*mus_ayasii_mvl/mxv + .byte PAN , c_v+63 + .byte W24 + .byte N36 , Bn3 , v112 + .byte W24 + .byte MOD , 8 + .byte W12 + .byte 2 + .byte N06 , As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte VOL , 9*mus_ayasii_mvl/mxv + .byte N60 + .byte W05 + .byte VOL , 13*mus_ayasii_mvl/mxv + .byte W07 + .byte 18*mus_ayasii_mvl/mxv + .byte W05 + .byte 23*mus_ayasii_mvl/mxv + .byte W07 + .byte 27*mus_ayasii_mvl/mxv + .byte MOD , 8 + .byte W05 + .byte VOL , 30*mus_ayasii_mvl/mxv + .byte W07 + .byte 35*mus_ayasii_mvl/mxv + .byte W05 + .byte 42*mus_ayasii_mvl/mxv + .byte W07 + .byte 50*mus_ayasii_mvl/mxv + .byte W05 + .byte 54*mus_ayasii_mvl/mxv + .byte W07 + .byte 39*mus_ayasii_mvl/mxv + .byte MOD , 2 + .byte N12 , As3 + .byte W12 +mus_ayasii_6_B1: + .byte VOL , 13*mus_ayasii_mvl/mxv + .byte N36 , Ds3 , v112 + .byte W02 + .byte VOL , 17*mus_ayasii_mvl/mxv + .byte W03 + .byte 20*mus_ayasii_mvl/mxv + .byte W03 + .byte 24*mus_ayasii_mvl/mxv + .byte W04 + .byte 27*mus_ayasii_mvl/mxv + .byte W02 + .byte 29*mus_ayasii_mvl/mxv + .byte W03 + .byte 33*mus_ayasii_mvl/mxv + .byte W03 + .byte 36*mus_ayasii_mvl/mxv + .byte W04 + .byte 39*mus_ayasii_mvl/mxv + .byte MOD , 8 + .byte W12 + .byte 2 + .byte N06 , Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gs3 + .byte W12 + .byte VOL , 12*mus_ayasii_mvl/mxv + .byte N36 , Gs2 + .byte W02 + .byte VOL , 15*mus_ayasii_mvl/mxv + .byte W03 + .byte 19*mus_ayasii_mvl/mxv + .byte W03 + .byte 22*mus_ayasii_mvl/mxv + .byte W04 + .byte 24*mus_ayasii_mvl/mxv + .byte W02 + .byte 27*mus_ayasii_mvl/mxv + .byte W03 + .byte 30*mus_ayasii_mvl/mxv + .byte W03 + .byte 36*mus_ayasii_mvl/mxv + .byte W04 + .byte 39*mus_ayasii_mvl/mxv + .byte MOD , 8 + .byte W12 + .byte 2 + .byte N06 , Gn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Ds2 + .byte W12 + .byte En2 + .byte W12 + .byte Ds2 + .byte W12 + .byte VOL , 11*mus_ayasii_mvl/mxv + .byte N36 , Bn1 + .byte W02 + .byte VOL , 13*mus_ayasii_mvl/mxv + .byte W03 + .byte 17*mus_ayasii_mvl/mxv + .byte W03 + .byte 19*mus_ayasii_mvl/mxv + .byte W04 + .byte 23*mus_ayasii_mvl/mxv + .byte W02 + .byte 27*mus_ayasii_mvl/mxv + .byte W03 + .byte 33*mus_ayasii_mvl/mxv + .byte W03 + .byte 36*mus_ayasii_mvl/mxv + .byte W04 + .byte 39*mus_ayasii_mvl/mxv + .byte MOD , 8 + .byte W12 + .byte 2 + .byte N06 , As1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Gs1 + .byte W12 + .byte VOL , 12*mus_ayasii_mvl/mxv + .byte N36 , Fn3 + .byte W02 + .byte VOL , 14*mus_ayasii_mvl/mxv + .byte W03 + .byte 18*mus_ayasii_mvl/mxv + .byte W03 + .byte 23*mus_ayasii_mvl/mxv + .byte W04 + .byte 27*mus_ayasii_mvl/mxv + .byte W02 + .byte 31*mus_ayasii_mvl/mxv + .byte W03 + .byte 36*mus_ayasii_mvl/mxv + .byte W03 + .byte 40*mus_ayasii_mvl/mxv + .byte W04 + .byte 39*mus_ayasii_mvl/mxv + .byte MOD , 8 + .byte W12 + .byte 2 + .byte N06 , En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte VOL , 9*mus_ayasii_mvl/mxv + .byte N36 , As2 + .byte W02 + .byte VOL , 12*mus_ayasii_mvl/mxv + .byte W03 + .byte 14*mus_ayasii_mvl/mxv + .byte W03 + .byte 19*mus_ayasii_mvl/mxv + .byte W04 + .byte 20*mus_ayasii_mvl/mxv + .byte W02 + .byte 25*mus_ayasii_mvl/mxv + .byte W03 + .byte 29*mus_ayasii_mvl/mxv + .byte W03 + .byte 38*mus_ayasii_mvl/mxv + .byte W04 + .byte 39*mus_ayasii_mvl/mxv + .byte MOD , 8 + .byte W12 + .byte 2 + .byte N06 , An2 + .byte W12 + .byte As2 + .byte W12 + .byte Cs3 + .byte W12 + .byte As2 + .byte W12 + .byte An2 + .byte W12 + .byte En2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Fn2 + .byte W12 + .byte VOL , 9*mus_ayasii_mvl/mxv + .byte N36 , Cs2 + .byte W02 + .byte VOL , 14*mus_ayasii_mvl/mxv + .byte W03 + .byte 18*mus_ayasii_mvl/mxv + .byte W03 + .byte 22*mus_ayasii_mvl/mxv + .byte W04 + .byte 24*mus_ayasii_mvl/mxv + .byte W02 + .byte 28*mus_ayasii_mvl/mxv + .byte W03 + .byte 30*mus_ayasii_mvl/mxv + .byte W03 + .byte 36*mus_ayasii_mvl/mxv + .byte W04 + .byte MOD , 8 + .byte VOL , 39*mus_ayasii_mvl/mxv + .byte W12 + .byte MOD , 2 + .byte N06 , Cn2 + .byte W12 + .byte An1 + .byte W12 + .byte As1 + .byte W12 + .byte W72 + .byte W24 + .byte MOD , 8 + .byte W24 + .byte 2 + .byte W24 + .byte W12 + .byte N06 , Fn3 , v072 + .byte W12 + .byte En3 , v080 + .byte W12 + .byte Ds3 , v092 + .byte W12 + .byte Dn3 , v104 + .byte W12 + .byte Cs3 , v120 + .byte W12 + .byte W72 + .byte GOTO + .word mus_ayasii_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_ayasii_7: + .byte KEYSH , mus_ayasii_key+0 + .byte VOICE , 83 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 39*mus_ayasii_mvl/mxv + .byte N06 , Gs2 , v112 + .byte W06 + .byte Gn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn1 + .byte W06 + .byte N36 , Gs1 + .byte W24 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , Gn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte En1 + .byte W12 + .byte N60 , Dn1 + .byte W24 + .byte MOD , 8 + .byte W36 + .byte N12 , Ds1 + .byte W12 +mus_ayasii_7_B1: + .byte MOD , 0 + .byte N12 , Gs1 , v112 + .byte W60 + .byte N06 + .byte W12 + .byte N12 , Ds1 + .byte W60 + .byte N06 + .byte W12 + .byte N12 , Gs1 + .byte W60 + .byte N06 + .byte W12 + .byte N36 , En1 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Ds1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Ds1 + .byte W12 +mus_ayasii_7_000: + .byte N12 , As1 , v112 + .byte W60 + .byte N06 + .byte W12 + .byte PEND + .byte N12 , Fn1 + .byte W60 + .byte N06 + .byte W12 + .byte PATT + .word mus_ayasii_7_000 + .byte N36 , Fs1 , v112 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte En1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte An1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte N48 + .byte W12 + .byte MOD , 8 + .byte W36 + .byte 0 + .byte N06 , Fs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte An1 + .byte W06 + .byte W72 + .byte W72 + .byte GOTO + .word mus_ayasii_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_ayasii_8: + .byte KEYSH , mus_ayasii_key+0 + .byte VOICE , 127 + .byte PAN , c_v+0 + .byte VOL , 26*mus_ayasii_mvl/mxv + .byte N02 , En5 , v108 + .byte W06 + .byte En5 , v072 + .byte W06 + .byte En5 , v108 + .byte W06 + .byte En5 , v068 + .byte W06 + .byte VOICE , 126 + .byte VOL , 4*mus_ayasii_mvl/mxv + .byte N36 , Gn5 , v108 + .byte W02 + .byte VOL , 6*mus_ayasii_mvl/mxv + .byte W03 + .byte 9*mus_ayasii_mvl/mxv + .byte W03 + .byte 12*mus_ayasii_mvl/mxv + .byte W04 + .byte 14*mus_ayasii_mvl/mxv + .byte W02 + .byte 22*mus_ayasii_mvl/mxv + .byte W03 + .byte 26*mus_ayasii_mvl/mxv + .byte W19 + .byte VOICE , 127 + .byte N02 , En5 + .byte W12 + .byte En5 , v080 + .byte W12 + .byte En5 , v088 + .byte W12 +mus_ayasii_8_000: + .byte N02 , En5 , v108 + .byte W03 + .byte En5 , v032 + .byte W03 + .byte N02 + .byte W03 + .byte N02 + .byte W03 + .byte N02 + .byte W03 + .byte En5 , v036 + .byte W03 + .byte N02 + .byte W03 + .byte N02 + .byte W03 + .byte N02 + .byte W03 + .byte N02 + .byte W03 + .byte N02 + .byte W03 + .byte N02 + .byte W03 + .byte N02 + .byte W03 + .byte En5 , v040 + .byte W03 + .byte N02 + .byte W03 + .byte En5 , v044 + .byte W03 + .byte En5 , v048 + .byte W03 + .byte En5 , v052 + .byte W03 + .byte En5 , v056 + .byte W03 + .byte En5 , v064 + .byte W03 + .byte En5 , v072 + .byte W03 + .byte En5 , v084 + .byte W03 + .byte En5 , v096 + .byte W03 + .byte En5 , v120 + .byte W03 + .byte PEND +mus_ayasii_8_B1: +mus_ayasii_8_001: + .byte VOICE , 126 + .byte N12 , Gn5 , v112 + .byte W12 + .byte VOICE , 127 + .byte N02 , En5 , v052 + .byte W24 + .byte En5 , v112 + .byte W06 + .byte En5 , v064 + .byte W06 + .byte En5 , v084 + .byte W06 + .byte En5 , v056 + .byte W06 + .byte En5 , v112 + .byte W06 + .byte En5 , v092 + .byte W06 + .byte PEND + .byte PATT + .word mus_ayasii_8_001 + .byte PATT + .word mus_ayasii_8_001 + .byte PATT + .word mus_ayasii_8_000 + .byte PATT + .word mus_ayasii_8_001 + .byte PATT + .word mus_ayasii_8_001 + .byte PATT + .word mus_ayasii_8_001 + .byte PATT + .word mus_ayasii_8_000 + .byte N02 , En5 , v112 + .byte W12 + .byte En5 , v056 + .byte W12 + .byte En5 , v112 + .byte W12 + .byte En5 , v056 + .byte W12 + .byte En5 , v112 + .byte W12 + .byte En5 , v056 + .byte W12 + .byte PATT + .word mus_ayasii_8_001 + .byte PATT + .word mus_ayasii_8_000 + .byte N02 , En5 , v112 + .byte W24 + .byte N02 + .byte W12 + .byte N02 + .byte W12 + .byte VOICE , 126 + .byte N12 , Gn5 + .byte W12 + .byte VOICE , 127 + .byte N02 , En5 + .byte W12 + .byte GOTO + .word mus_ayasii_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_ayasii_9: + .byte KEYSH , mus_ayasii_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-59 + .byte VOL , 39*mus_ayasii_mvl/mxv + .byte BEND , c_v+1 + .byte N06 , Gs2 , v112 + .byte W06 + .byte Bn2 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N36 , Dn3 + .byte W24 + .byte MOD , 8 + .byte W12 + .byte 2 + .byte N06 , Cs3 + .byte W12 + .byte As2 + .byte W12 + .byte Bn2 + .byte W12 + .byte N60 , Dn3 + .byte W24 + .byte MOD , 8 + .byte W36 + .byte 2 + .byte N12 , Ds3 + .byte W12 +mus_ayasii_9_B1: + .byte VOL , 13*mus_ayasii_mvl/mxv + .byte N36 , Gs3 , v112 + .byte W02 + .byte VOL , 17*mus_ayasii_mvl/mxv + .byte W03 + .byte 20*mus_ayasii_mvl/mxv + .byte W03 + .byte 24*mus_ayasii_mvl/mxv + .byte W04 + .byte 27*mus_ayasii_mvl/mxv + .byte W02 + .byte 29*mus_ayasii_mvl/mxv + .byte W03 + .byte 33*mus_ayasii_mvl/mxv + .byte W03 + .byte 36*mus_ayasii_mvl/mxv + .byte W04 + .byte MOD , 8 + .byte VOL , 39*mus_ayasii_mvl/mxv + .byte W12 + .byte MOD , 2 + .byte N06 , Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte VOL , 12*mus_ayasii_mvl/mxv + .byte N36 , En3 + .byte W02 + .byte VOL , 15*mus_ayasii_mvl/mxv + .byte W03 + .byte 19*mus_ayasii_mvl/mxv + .byte W03 + .byte 22*mus_ayasii_mvl/mxv + .byte W04 + .byte 24*mus_ayasii_mvl/mxv + .byte W02 + .byte 27*mus_ayasii_mvl/mxv + .byte W03 + .byte 30*mus_ayasii_mvl/mxv + .byte W03 + .byte 36*mus_ayasii_mvl/mxv + .byte W04 + .byte MOD , 8 + .byte VOL , 39*mus_ayasii_mvl/mxv + .byte W12 + .byte MOD , 2 + .byte N06 , Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte As2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte As2 + .byte W12 + .byte Ds2 + .byte W12 + .byte VOL , 11*mus_ayasii_mvl/mxv + .byte N36 , En2 + .byte W02 + .byte VOL , 13*mus_ayasii_mvl/mxv + .byte W03 + .byte 17*mus_ayasii_mvl/mxv + .byte W03 + .byte 19*mus_ayasii_mvl/mxv + .byte W04 + .byte 23*mus_ayasii_mvl/mxv + .byte W02 + .byte 27*mus_ayasii_mvl/mxv + .byte W03 + .byte 33*mus_ayasii_mvl/mxv + .byte W03 + .byte 36*mus_ayasii_mvl/mxv + .byte W04 + .byte MOD , 8 + .byte VOL , 39*mus_ayasii_mvl/mxv + .byte W12 + .byte MOD , 2 + .byte N06 , Ds2 + .byte W12 + .byte Dn2 + .byte N06 , Dn3 + .byte W12 + .byte Ds2 + .byte N06 , Ds3 + .byte W12 + .byte VOL , 12*mus_ayasii_mvl/mxv + .byte N36 , As3 + .byte W02 + .byte VOL , 14*mus_ayasii_mvl/mxv + .byte W03 + .byte 18*mus_ayasii_mvl/mxv + .byte W03 + .byte 23*mus_ayasii_mvl/mxv + .byte W04 + .byte 27*mus_ayasii_mvl/mxv + .byte W02 + .byte 31*mus_ayasii_mvl/mxv + .byte W03 + .byte 36*mus_ayasii_mvl/mxv + .byte W03 + .byte 40*mus_ayasii_mvl/mxv + .byte W04 + .byte MOD , 8 + .byte VOL , 39*mus_ayasii_mvl/mxv + .byte W12 + .byte MOD , 2 + .byte N06 , An3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte VOL , 9*mus_ayasii_mvl/mxv + .byte N36 , Fs3 + .byte W02 + .byte VOL , 12*mus_ayasii_mvl/mxv + .byte W03 + .byte 14*mus_ayasii_mvl/mxv + .byte W03 + .byte 19*mus_ayasii_mvl/mxv + .byte W04 + .byte 20*mus_ayasii_mvl/mxv + .byte W02 + .byte 25*mus_ayasii_mvl/mxv + .byte W03 + .byte 29*mus_ayasii_mvl/mxv + .byte W03 + .byte 38*mus_ayasii_mvl/mxv + .byte W04 + .byte MOD , 8 + .byte VOL , 39*mus_ayasii_mvl/mxv + .byte W12 + .byte MOD , 2 + .byte N06 , Fn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte As2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn2 + .byte W12 + .byte VOL , 9*mus_ayasii_mvl/mxv + .byte N36 , Fs2 + .byte W02 + .byte VOL , 14*mus_ayasii_mvl/mxv + .byte W03 + .byte 18*mus_ayasii_mvl/mxv + .byte W03 + .byte 22*mus_ayasii_mvl/mxv + .byte W04 + .byte 24*mus_ayasii_mvl/mxv + .byte W02 + .byte 28*mus_ayasii_mvl/mxv + .byte W03 + .byte 30*mus_ayasii_mvl/mxv + .byte W03 + .byte 36*mus_ayasii_mvl/mxv + .byte W04 + .byte MOD , 8 + .byte VOL , 39*mus_ayasii_mvl/mxv + .byte W12 + .byte MOD , 2 + .byte N06 , Fn2 + .byte W12 + .byte En2 + .byte N06 , En3 + .byte W12 + .byte Fn2 + .byte N06 , Fn3 + .byte W12 + .byte Fs2 + .byte W12 + .byte Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte As2 + .byte W12 + .byte Fn2 + .byte W12 + .byte N48 , Fn3 + .byte W24 + .byte MOD , 8 + .byte W24 + .byte 2 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Fn1 , v072 + .byte W06 + .byte Fs1 , v076 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte Fn1 , v088 + .byte W06 + .byte Ds1 + .byte W06 + .byte En1 , v092 + .byte W06 + .byte Dn1 , v096 + .byte W06 + .byte Ds1 + .byte W06 + .byte Cs1 , v100 + .byte W06 + .byte Dn1 , v104 + .byte W06 + .byte Cn1 , v108 + .byte W06 + .byte Cs1 , v112 + .byte W06 + .byte Cn2 + .byte N06 , Fn3 + .byte W48 + .byte Fn2 + .byte W06 + .byte An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte En3 + .byte W06 + .byte GOTO + .word mus_ayasii_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_ayasii: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_ayasii_pri @ Priority + .byte mus_ayasii_rev @ Reverb. + + .word mus_ayasii_grp + + .word mus_ayasii_1 + .word mus_ayasii_2 + .word mus_ayasii_3 + .word mus_ayasii_4 + .word mus_ayasii_5 + .word mus_ayasii_6 + .word mus_ayasii_7 + .word mus_ayasii_8 + .word mus_ayasii_9 + + .end diff --git a/sound/songs/mus_b_arena.s b/sound/songs/mus_b_arena.s new file mode 100644 index 0000000000..c6d68766f1 --- /dev/null +++ b/sound/songs/mus_b_arena.s @@ -0,0 +1,2351 @@ + .include "MPlayDef.s" + + .equ mus_b_arena_grp, voicegroup_8695B7C + .equ mus_b_arena_pri, 0 + .equ mus_b_arena_rev, reverb_set+50 + .equ mus_b_arena_mvl, 127 + .equ mus_b_arena_key, 0 + .equ mus_b_arena_tbs, 1 + .equ mus_b_arena_exg, 0 + .equ mus_b_arena_cmp, 1 + + .section .rodata + .global mus_b_arena + .align 2 + +@********************** Track 1 **********************@ + +mus_b_arena_1: + .byte KEYSH , mus_b_arena_key+0 + .byte TEMPO , 128*mus_b_arena_tbs/2 + .byte VOICE , 107 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte PAN , c_v-13 + .byte W06 + .byte W24 + .byte N24 , Dn3 , v100 + .byte W24 + .byte N16 + .byte W18 + .byte N14 + .byte W15 + .byte N14 + .byte W15 + .byte N12 + .byte W12 + .byte N10 + .byte W12 + .byte N07 + .byte W08 + .byte N07 + .byte W08 + .byte N07 + .byte W08 + .byte N06 + .byte W08 + .byte N07 + .byte W08 + .byte N06 + .byte W08 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N06 , Dn1 + .byte W06 + .byte An1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N48 , An2 + .byte W72 + .byte W72 + .byte N06 , Cn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte As1 + .byte W06 + .byte N48 , Cn2 + .byte W96 + .byte W96 + .byte W48 + .byte N01 , Dn3 , v032 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte Dn3 , v036 + .byte W06 + .byte Dn3 , v040 + .byte W06 + .byte Dn3 , v052 + .byte W06 + .byte Dn3 , v056 + .byte W06 + .byte N01 + .byte W06 + .byte Dn3 , v060 + .byte W06 + .byte Dn3 , v064 + .byte W06 + .byte Dn3 , v072 + .byte W06 + .byte Dn3 , v076 + .byte W06 + .byte Dn3 , v084 + .byte W06 + .byte Dn3 , v088 + .byte W06 + .byte Dn3 , v100 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v127 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , Dn3 , v124 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Dn3 , v100 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W60 + .byte BEND , c_v+0 + .byte N04 , As3 , v064 + .byte W04 + .byte Gn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Cn3 + .byte W04 + .byte As2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Cn2 + .byte W04 + .byte As1 + .byte W04 + .byte Gn1 + .byte W04 + .byte Fn1 + .byte W04 + .byte Dn1 + .byte W04 + .byte Cn1 , v096 + .byte W04 + .byte Fn1 + .byte W04 + .byte Gn1 + .byte W04 + .byte As1 + .byte W04 + .byte Cn2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Fn2 + .byte W04 + .byte Gn2 + .byte W04 + .byte As2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte N03 , An3 , v100 + .byte W06 + .byte N01 , An3 , v084 + .byte W06 + .byte N08 , An3 , v100 + .byte W78 + .byte N01 , Gn1 + .byte W03 + .byte N01 + .byte W03 +mus_b_arena_1_B1: + .byte BEND , c_v+0 + .byte N03 , Gn1 , v100 + .byte W03 + .byte N44 + .byte W21 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W36 + .byte N06 , Fn1 + .byte W12 + .byte N24 , Gn1 + .byte W36 + .byte N06 , Fn2 + .byte W12 + .byte N36 , Dn2 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W06 + .byte N01 , Fn1 + .byte W03 + .byte N01 + .byte W03 +mus_b_arena_1_000: + .byte N03 , Gn1 , v100 + .byte W03 + .byte N44 + .byte W21 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W48 + .byte PEND + .byte W90 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PATT + .word mus_b_arena_1_000 +mus_b_arena_1_001: + .byte W36 + .byte N06 , Fn2 , v100 + .byte W12 + .byte N36 , Dn2 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W06 + .byte N01 , Fn1 + .byte W03 + .byte N01 + .byte W03 + .byte PEND + .byte PATT + .word mus_b_arena_1_000 + .byte W90 + .byte N01 , Fn2 , v100 + .byte W03 + .byte N01 + .byte W03 + .byte N03 , Gn2 + .byte W03 + .byte N44 + .byte W21 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W48 + .byte W36 + .byte N06 , As2 + .byte W12 + .byte N36 , Gn2 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W06 + .byte N01 , Fn1 + .byte W03 + .byte N01 + .byte W03 + .byte N03 , Gn1 + .byte W03 + .byte N44 + .byte W21 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W36 + .byte N03 , Fn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte N36 , Gn1 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N06 , Fn2 + .byte W12 + .byte N36 , Dn2 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W06 + .byte N01 , Gn1 + .byte W03 + .byte N01 + .byte W03 + .byte PATT + .word mus_b_arena_1_000 + .byte PATT + .word mus_b_arena_1_001 + .byte N03 , Gn1 , v100 + .byte W03 + .byte N44 + .byte W21 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W36 + .byte N06 , Fn1 + .byte W12 + .byte N36 , Gn1 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W06 + .byte N01 , Fn1 + .byte W03 + .byte N01 + .byte W03 + .byte N03 , Gn1 + .byte W03 + .byte N21 + .byte W36 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte GOTO + .word mus_b_arena_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_b_arena_2: + .byte KEYSH , mus_b_arena_key+0 + .byte VOICE , 77 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 68*mus_b_arena_mvl/mxv + .byte PAN , c_v-1 + .byte W06 + .byte MOD , 0 + .byte TIE , Gn3 , v088 + .byte W06 + .byte BEND , c_v+5 + .byte W06 + .byte c_v+0 + .byte W12 + .byte VOL , 62*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W02 + .byte VOL , 58*mus_b_arena_mvl/mxv + .byte W04 + .byte 53*mus_b_arena_mvl/mxv + .byte W02 + .byte 48*mus_b_arena_mvl/mxv + .byte W04 + .byte 46*mus_b_arena_mvl/mxv + .byte W02 + .byte 42*mus_b_arena_mvl/mxv + .byte W04 + .byte 40*mus_b_arena_mvl/mxv + .byte W02 + .byte 37*mus_b_arena_mvl/mxv + .byte W04 + .byte 34*mus_b_arena_mvl/mxv + .byte W02 + .byte 31*mus_b_arena_mvl/mxv + .byte W04 + .byte 28*mus_b_arena_mvl/mxv + .byte W02 + .byte 26*mus_b_arena_mvl/mxv + .byte W04 + .byte 24*mus_b_arena_mvl/mxv + .byte W02 + .byte 22*mus_b_arena_mvl/mxv + .byte W04 + .byte 21*mus_b_arena_mvl/mxv + .byte W02 + .byte 19*mus_b_arena_mvl/mxv + .byte W04 + .byte 17*mus_b_arena_mvl/mxv + .byte W02 + .byte 15*mus_b_arena_mvl/mxv + .byte W04 + .byte 13*mus_b_arena_mvl/mxv + .byte W02 + .byte 12*mus_b_arena_mvl/mxv + .byte W04 + .byte 11*mus_b_arena_mvl/mxv + .byte W02 + .byte 10*mus_b_arena_mvl/mxv + .byte W10 + .byte W02 + .byte 11*mus_b_arena_mvl/mxv + .byte W04 + .byte 12*mus_b_arena_mvl/mxv + .byte W02 + .byte 15*mus_b_arena_mvl/mxv + .byte W04 + .byte 17*mus_b_arena_mvl/mxv + .byte W02 + .byte 21*mus_b_arena_mvl/mxv + .byte W04 + .byte 22*mus_b_arena_mvl/mxv + .byte W02 + .byte 24*mus_b_arena_mvl/mxv + .byte W04 + .byte 28*mus_b_arena_mvl/mxv + .byte W02 + .byte 33*mus_b_arena_mvl/mxv + .byte W04 + .byte 38*mus_b_arena_mvl/mxv + .byte W02 + .byte 40*mus_b_arena_mvl/mxv + .byte W01 + .byte 43*mus_b_arena_mvl/mxv + .byte W03 + .byte 51*mus_b_arena_mvl/mxv + .byte W02 + .byte 57*mus_b_arena_mvl/mxv + .byte W04 + .byte 60*mus_b_arena_mvl/mxv + .byte W02 + .byte 64*mus_b_arena_mvl/mxv + .byte W04 + .byte 68*mus_b_arena_mvl/mxv + .byte W24 + .byte 56*mus_b_arena_mvl/mxv + .byte W06 + .byte 49*mus_b_arena_mvl/mxv + .byte W06 + .byte 45*mus_b_arena_mvl/mxv + .byte W06 + .byte 34*mus_b_arena_mvl/mxv + .byte W06 + .byte EOT + .byte MOD , 0 + .byte W06 + .byte VOL , 68*mus_b_arena_mvl/mxv + .byte W06 + .byte N36 , Cn3 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte VOL , 56*mus_b_arena_mvl/mxv + .byte MOD , 5 + .byte BEND , c_v+0 + .byte W24 + .byte VOL , 68*mus_b_arena_mvl/mxv + .byte MOD , 0 + .byte N48 , Dn3 + .byte W12 + .byte VOL , 56*mus_b_arena_mvl/mxv + .byte MOD , 5 + .byte W36 + .byte VOL , 68*mus_b_arena_mvl/mxv + .byte MOD , 0 + .byte N72 , Cn3 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte VOL , 56*mus_b_arena_mvl/mxv + .byte BEND , c_v+0 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte W12 + .byte 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 68*mus_b_arena_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+8 + .byte N72 , As2 + .byte W03 + .byte BEND , c_v+4 + .byte W03 + .byte c_v+0 + .byte W06 + .byte VOL , 56*mus_b_arena_mvl/mxv + .byte W12 + .byte W12 + .byte MOD , 5 + .byte W04 + .byte BEND , c_v-4 + .byte W04 + .byte c_v-8 + .byte W04 + .byte c_v-16 + .byte W12 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 68*mus_b_arena_mvl/mxv + .byte BEND , c_v+0 + .byte N18 + .byte W09 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte W09 + .byte 68*mus_b_arena_mvl/mxv + .byte N24 , Cn3 + .byte W12 + .byte VOL , 56*mus_b_arena_mvl/mxv + .byte MOD , 5 + .byte W12 + .byte VOL , 68*mus_b_arena_mvl/mxv + .byte MOD , 0 + .byte N18 , Dn3 + .byte W06 + .byte W12 + .byte N24 , Fn3 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte VOL , 56*mus_b_arena_mvl/mxv + .byte W12 + .byte 68*mus_b_arena_mvl/mxv + .byte MOD , 0 + .byte N24 , Gn3 + .byte W12 + .byte VOL , 56*mus_b_arena_mvl/mxv + .byte MOD , 5 + .byte W12 + .byte VOL , 68*mus_b_arena_mvl/mxv + .byte MOD , 0 + .byte N36 , As3 + .byte W12 + .byte VOL , 56*mus_b_arena_mvl/mxv + .byte MOD , 5 + .byte W24 + .byte VOL , 68*mus_b_arena_mvl/mxv + .byte MOD , 0 + .byte N48 , Cn4 + .byte W12 + .byte VOL , 56*mus_b_arena_mvl/mxv + .byte MOD , 5 + .byte W36 + .byte VOL , 68*mus_b_arena_mvl/mxv + .byte MOD , 0 + .byte TIE , Dn4 + .byte W12 + .byte VOL , 56*mus_b_arena_mvl/mxv + .byte BEND , c_v+9 + .byte W03 + .byte c_v+0 + .byte W09 + .byte MOD , 5 + .byte W24 + .byte W12 + .byte BEND , c_v-10 + .byte W03 + .byte c_v+0 + .byte W03 + .byte c_v+0 + .byte W30 + .byte VOL , 50*mus_b_arena_mvl/mxv + .byte W12 + .byte 41*mus_b_arena_mvl/mxv + .byte BEND , c_v-6 + .byte W03 + .byte c_v+0 + .byte W09 + .byte VOL , 36*mus_b_arena_mvl/mxv + .byte W12 + .byte 30*mus_b_arena_mvl/mxv + .byte W06 + .byte 22*mus_b_arena_mvl/mxv + .byte W04 + .byte EOT + .byte W02 + .byte MOD , 0 + .byte W12 + .byte VOL , 33*mus_b_arena_mvl/mxv + .byte W84 + .byte W96 + .byte W96 +mus_b_arena_2_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_b_arena_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_b_arena_3: + .byte KEYSH , mus_b_arena_key+0 + .byte VOICE , 92 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 69*mus_b_arena_mvl/mxv + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N12 , Dn1 , v064 + .byte W12 +mus_b_arena_3_B1: + .byte N06 , Gn1 , v064 + .byte W24 + .byte N24 + .byte W48 + .byte Dn1 + .byte W24 + .byte N06 , Gn1 + .byte W12 + .byte Dn1 + .byte W24 + .byte Fn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte As1 + .byte W12 + .byte N12 , Dn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte N06 , Gn1 + .byte W24 + .byte N24 + .byte W36 + .byte N06 , Dn1 + .byte W12 + .byte N24 , Fn1 + .byte W24 + .byte Gn1 + .byte W36 + .byte N06 , Fn1 + .byte W12 + .byte N24 , Gn1 + .byte W24 + .byte N12 , Dn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte N36 , Gn1 + .byte W36 + .byte N06 , Fn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn1 + .byte W24 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Gn1 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , Dn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte As1 + .byte W12 + .byte N12 , Dn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte N24 , Gn1 + .byte W36 + .byte N06 , Fn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn1 + .byte W24 + .byte Fn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N24 + .byte W36 + .byte N06 , Fn1 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Dn1 + .byte W12 + .byte N24 , Ds1 + .byte W36 + .byte N06 , Dn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte N24 , As1 + .byte W24 + .byte N06 , Dn2 + .byte W12 + .byte Ds2 + .byte W36 + .byte As1 + .byte W12 + .byte N24 , Ds1 + .byte W24 + .byte N06 , Dn1 + .byte W12 + .byte N12 , As1 + .byte W12 + .byte N36 , Gn1 + .byte W36 + .byte N06 , Fn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N24 , Dn1 + .byte W24 + .byte N12 , Fn1 + .byte W12 + .byte N24 , Gn1 + .byte W24 + .byte N06 , Dn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte N36 , Gn1 + .byte W48 +mus_b_arena_3_000: + .byte N24 , Gn1 , v064 + .byte W36 + .byte N06 , Fn1 + .byte W24 + .byte Gn1 + .byte W12 + .byte N12 , Dn1 + .byte W12 + .byte N06 , Fn1 + .byte W12 + .byte PEND + .byte Gn1 + .byte W12 + .byte N24 , As1 + .byte W24 + .byte N06 , Gn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte N12 , As1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N06 , Fn1 + .byte W12 + .byte PATT + .word mus_b_arena_3_000 + .byte N36 , Gn1 , v064 + .byte W36 + .byte N06 , Fn1 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte N24 , Dn1 + .byte W24 + .byte GOTO + .word mus_b_arena_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_b_arena_4: + .byte KEYSH , mus_b_arena_key+0 + .byte VOICE , 3 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte c_v+5 + .byte W06 + .byte c_v+0 + .byte W84 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 46 + .byte N04 , Dn4 , v064 + .byte W04 + .byte Cn4 + .byte W04 + .byte As3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Gn2 + .byte W04 + .byte Fn2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Cn2 + .byte W04 + .byte As1 + .byte W04 + .byte Gn1 + .byte W04 + .byte Fn1 , v096 + .byte W04 + .byte As1 + .byte W04 + .byte Cn2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Fn2 + .byte W04 + .byte Gn2 + .byte W04 + .byte As2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte N03 , Dn4 , v100 + .byte W06 + .byte N01 , Dn4 , v084 + .byte W06 + .byte N08 , Dn4 , v100 + .byte W84 +mus_b_arena_4_B1: + .byte VOICE , 107 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_b_arena_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_b_arena_5: + .byte KEYSH , mus_b_arena_key+0 + .byte VOICE , 77 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte PAN , c_v-64 + .byte LFOS , 44 + .byte BENDR , 12 + .byte W06 + .byte MOD , 0 + .byte BEND , c_v+1 + .byte TIE , Gn3 , v040 + .byte W06 + .byte BEND , c_v+5 + .byte W06 + .byte c_v+1 + .byte W12 + .byte VOL , 62*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W02 + .byte VOL , 58*mus_b_arena_mvl/mxv + .byte W04 + .byte 53*mus_b_arena_mvl/mxv + .byte W02 + .byte 48*mus_b_arena_mvl/mxv + .byte W04 + .byte 46*mus_b_arena_mvl/mxv + .byte W02 + .byte 42*mus_b_arena_mvl/mxv + .byte W04 + .byte 40*mus_b_arena_mvl/mxv + .byte W02 + .byte 37*mus_b_arena_mvl/mxv + .byte W04 + .byte 34*mus_b_arena_mvl/mxv + .byte W02 + .byte 31*mus_b_arena_mvl/mxv + .byte W04 + .byte 28*mus_b_arena_mvl/mxv + .byte W02 + .byte 26*mus_b_arena_mvl/mxv + .byte W04 + .byte 24*mus_b_arena_mvl/mxv + .byte W02 + .byte 22*mus_b_arena_mvl/mxv + .byte W04 + .byte 21*mus_b_arena_mvl/mxv + .byte W02 + .byte 19*mus_b_arena_mvl/mxv + .byte W04 + .byte 17*mus_b_arena_mvl/mxv + .byte W02 + .byte 15*mus_b_arena_mvl/mxv + .byte W04 + .byte 13*mus_b_arena_mvl/mxv + .byte W02 + .byte 12*mus_b_arena_mvl/mxv + .byte W04 + .byte 11*mus_b_arena_mvl/mxv + .byte W02 + .byte 10*mus_b_arena_mvl/mxv + .byte W10 + .byte W02 + .byte 11*mus_b_arena_mvl/mxv + .byte W04 + .byte 12*mus_b_arena_mvl/mxv + .byte W02 + .byte 15*mus_b_arena_mvl/mxv + .byte W04 + .byte 17*mus_b_arena_mvl/mxv + .byte W02 + .byte 21*mus_b_arena_mvl/mxv + .byte W04 + .byte 22*mus_b_arena_mvl/mxv + .byte W02 + .byte 24*mus_b_arena_mvl/mxv + .byte W04 + .byte 28*mus_b_arena_mvl/mxv + .byte W02 + .byte 33*mus_b_arena_mvl/mxv + .byte W04 + .byte 38*mus_b_arena_mvl/mxv + .byte W02 + .byte 40*mus_b_arena_mvl/mxv + .byte W01 + .byte 43*mus_b_arena_mvl/mxv + .byte W03 + .byte 51*mus_b_arena_mvl/mxv + .byte W02 + .byte 57*mus_b_arena_mvl/mxv + .byte W04 + .byte 60*mus_b_arena_mvl/mxv + .byte W02 + .byte 64*mus_b_arena_mvl/mxv + .byte W04 + .byte 68*mus_b_arena_mvl/mxv + .byte W24 + .byte 56*mus_b_arena_mvl/mxv + .byte W06 + .byte 49*mus_b_arena_mvl/mxv + .byte W06 + .byte 45*mus_b_arena_mvl/mxv + .byte W06 + .byte 34*mus_b_arena_mvl/mxv + .byte W06 + .byte EOT + .byte MOD , 0 + .byte W06 + .byte VOL , 68*mus_b_arena_mvl/mxv + .byte W06 + .byte N36 , Cn3 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte VOL , 56*mus_b_arena_mvl/mxv + .byte MOD , 5 + .byte BEND , c_v+1 + .byte W24 + .byte VOL , 68*mus_b_arena_mvl/mxv + .byte MOD , 0 + .byte N48 , Dn3 + .byte W12 + .byte VOL , 56*mus_b_arena_mvl/mxv + .byte MOD , 5 + .byte W36 + .byte VOL , 68*mus_b_arena_mvl/mxv + .byte MOD , 0 + .byte N72 , Cn3 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte VOL , 56*mus_b_arena_mvl/mxv + .byte BEND , c_v+1 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte W12 + .byte 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 68*mus_b_arena_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+8 + .byte N72 , As2 + .byte W03 + .byte BEND , c_v+4 + .byte W03 + .byte c_v+1 + .byte W06 + .byte VOL , 56*mus_b_arena_mvl/mxv + .byte W12 + .byte W12 + .byte MOD , 5 + .byte W04 + .byte BEND , c_v-3 + .byte W04 + .byte c_v-7 + .byte W04 + .byte c_v-14 + .byte W12 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 68*mus_b_arena_mvl/mxv + .byte BEND , c_v+1 + .byte N18 + .byte W09 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte W09 + .byte 68*mus_b_arena_mvl/mxv + .byte N24 , Cn3 + .byte W12 + .byte VOL , 56*mus_b_arena_mvl/mxv + .byte MOD , 5 + .byte W12 + .byte VOL , 68*mus_b_arena_mvl/mxv + .byte MOD , 0 + .byte N18 , Dn3 + .byte W06 + .byte W12 + .byte N24 , Fn3 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte VOL , 56*mus_b_arena_mvl/mxv + .byte W12 + .byte 68*mus_b_arena_mvl/mxv + .byte MOD , 0 + .byte N24 , Gn3 + .byte W12 + .byte VOL , 56*mus_b_arena_mvl/mxv + .byte MOD , 5 + .byte W12 + .byte VOL , 68*mus_b_arena_mvl/mxv + .byte MOD , 0 + .byte N36 , As3 + .byte W12 + .byte VOL , 56*mus_b_arena_mvl/mxv + .byte MOD , 5 + .byte W24 + .byte VOL , 68*mus_b_arena_mvl/mxv + .byte MOD , 0 + .byte N48 , Cn4 + .byte W12 + .byte VOL , 56*mus_b_arena_mvl/mxv + .byte MOD , 5 + .byte W36 + .byte VOL , 68*mus_b_arena_mvl/mxv + .byte MOD , 0 + .byte TIE , Dn4 + .byte W12 + .byte VOL , 56*mus_b_arena_mvl/mxv + .byte BEND , c_v+9 + .byte W03 + .byte c_v+1 + .byte W09 + .byte MOD , 5 + .byte W24 + .byte W12 + .byte BEND , c_v-10 + .byte W03 + .byte c_v+1 + .byte W03 + .byte c_v+0 + .byte W06 + .byte c_v+1 + .byte W24 + .byte VOL , 50*mus_b_arena_mvl/mxv + .byte W12 + .byte 41*mus_b_arena_mvl/mxv + .byte BEND , c_v-6 + .byte W03 + .byte c_v+1 + .byte W09 + .byte VOL , 36*mus_b_arena_mvl/mxv + .byte W12 + .byte 30*mus_b_arena_mvl/mxv + .byte W06 + .byte 22*mus_b_arena_mvl/mxv + .byte W04 + .byte EOT + .byte W02 + .byte MOD , 0 + .byte W12 + .byte VOL , 33*mus_b_arena_mvl/mxv + .byte W84 + .byte PAN , c_v-30 + .byte BEND , c_v+1 + .byte W72 + .byte VOICE , 3 + .byte W24 + .byte N03 , Dn2 , v100 + .byte W06 + .byte N01 , Dn2 , v084 + .byte W06 + .byte N08 , Dn2 , v100 + .byte W80 + .byte W02 + .byte BEND , c_v+1 + .byte W02 +mus_b_arena_5_B1: + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_b_arena_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_b_arena_6: + .byte KEYSH , mus_b_arena_key+0 + .byte VOICE , 3 + .byte VOL , 41*mus_b_arena_mvl/mxv + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+15 + .byte W06 + .byte W24 + .byte N24 , Dn4 , v100 + .byte W24 + .byte N16 + .byte W18 + .byte N14 + .byte W15 + .byte N14 + .byte W15 + .byte N12 + .byte W12 + .byte N10 + .byte W12 + .byte N07 + .byte W08 + .byte N07 + .byte W08 + .byte N07 + .byte W08 + .byte N06 + .byte W08 + .byte N07 + .byte W08 + .byte N06 + .byte W08 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N06 , Dn2 + .byte W06 + .byte An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N48 , An3 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W24 + .byte W72 + .byte N06 , Cn2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte As2 + .byte W06 + .byte N48 , Cn3 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W48 + .byte W96 + .byte W48 + .byte N01 , Dn4 , v032 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte Dn4 , v036 + .byte W06 + .byte Dn4 , v040 + .byte W06 + .byte Dn4 , v052 + .byte W06 + .byte Dn4 , v056 + .byte W06 + .byte N01 + .byte W06 + .byte Dn4 , v060 + .byte W06 + .byte Dn4 , v064 + .byte W06 + .byte Dn4 , v072 + .byte W06 + .byte Dn4 , v076 + .byte W06 + .byte Dn4 , v084 + .byte W06 + .byte Dn4 , v088 + .byte W06 + .byte Dn4 , v100 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v127 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , Dn4 , v124 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Dn4 , v100 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W60 + .byte N04 , As4 , v064 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Cn4 + .byte W04 + .byte As3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Cn3 + .byte W04 + .byte As2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Fn2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Cn2 + .byte W04 + .byte Fn2 + .byte W04 + .byte Gn2 + .byte W04 + .byte As2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte N03 , An4 , v100 + .byte W06 + .byte N01 , An4 , v084 + .byte W06 + .byte N08 , An4 , v100 + .byte W78 + .byte N01 , Gn2 + .byte W03 + .byte N01 + .byte W03 +mus_b_arena_6_B1: + .byte N03 , Gn2 , v100 + .byte W03 + .byte N44 + .byte W21 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W36 + .byte N06 , Cn2 + .byte W12 + .byte N24 , Dn2 + .byte W36 + .byte N06 , As2 + .byte W12 + .byte N36 , Gn2 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W06 + .byte N01 , Fn2 + .byte W03 + .byte N01 + .byte W03 +mus_b_arena_6_000: + .byte N03 , Gn2 , v100 + .byte W03 + .byte N44 + .byte W21 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W48 + .byte PEND + .byte W90 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PATT + .word mus_b_arena_6_000 +mus_b_arena_6_001: + .byte W36 + .byte N06 , As2 , v100 + .byte W12 + .byte N36 , Gn2 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W06 + .byte N01 , Fn2 + .byte W03 + .byte N01 + .byte W03 + .byte PEND + .byte PATT + .word mus_b_arena_6_000 + .byte W90 + .byte N01 , As2 , v100 + .byte W03 + .byte N01 + .byte W03 + .byte N03 , Cn3 + .byte W03 + .byte N44 + .byte W21 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W48 + .byte W36 + .byte N06 , Dn3 + .byte W12 + .byte N36 , Cn3 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W06 + .byte N01 , Fn2 + .byte W03 + .byte N01 + .byte W03 + .byte N03 , Gn2 + .byte W03 + .byte N44 + .byte W21 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W36 + .byte N03 , Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte N36 , Gn2 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N06 , As2 + .byte W12 + .byte N36 , Gn2 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W06 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PATT + .word mus_b_arena_6_000 + .byte PATT + .word mus_b_arena_6_001 + .byte N03 , Gn2 , v100 + .byte W03 + .byte N44 + .byte W21 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W36 + .byte N06 , Fn2 + .byte W12 + .byte N36 , Gn2 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W06 + .byte N01 , Fn2 + .byte W03 + .byte N01 + .byte W03 + .byte N03 , Gn2 + .byte W03 + .byte N21 + .byte W36 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte GOTO + .word mus_b_arena_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_b_arena_7: + .byte KEYSH , mus_b_arena_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte PAN , c_v-61 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte BEND , c_v+1 + .byte N12 , Dn4 , v048 + .byte W12 + .byte Fn4 + .byte W12 +mus_b_arena_7_B1: + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N72 , Gn4 , v048 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte MOD , 4 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W48 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N24 , As4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 45*mus_b_arena_mvl/mxv + .byte N48 , Gn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W03 + .byte MOD , 4 + .byte W09 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N24 , Fn4 + .byte W12 + .byte MOD , 4 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N12 , Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N84 , Dn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte MOD , 4 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W60 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N12 , Cn4 + .byte W12 + .byte N36 , Dn4 + .byte W12 + .byte MOD , 4 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 22*mus_b_arena_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N12 , Fn4 + .byte W12 + .byte N32 , Dn4 + .byte W12 + .byte MOD , 4 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 22*mus_b_arena_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N06 + .byte W06 + .byte Fn4 + .byte W06 + .byte N72 , Gn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte MOD , 4 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W48 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N24 , As4 + .byte W24 + .byte N36 , Cn5 + .byte W12 + .byte MOD , 4 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 22*mus_b_arena_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N12 , As4 + .byte W12 + .byte N36 , Gn4 + .byte W12 + .byte MOD , 4 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N12 , Fn4 + .byte W12 + .byte N60 , Gn4 + .byte W12 + .byte MOD , 4 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 22*mus_b_arena_mvl/mxv + .byte W36 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N12 , Dn4 + .byte W12 + .byte N24 , Fn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 45*mus_b_arena_mvl/mxv + .byte N36 , Gn4 + .byte W12 + .byte MOD , 4 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 22*mus_b_arena_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N12 , As4 + .byte W12 + .byte N32 , Gn4 + .byte W12 + .byte MOD , 4 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 22*mus_b_arena_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N06 + .byte W06 + .byte As4 + .byte W06 + .byte N96 , Cn5 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte MOD , 4 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W72 + .byte MOD , 0 + .byte W24 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte W12 + .byte N12 , Dn5 + .byte W12 + .byte N24 , Cn5 + .byte W12 + .byte MOD , 4 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N24 , As4 + .byte W12 + .byte MOD , 4 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N60 , Gn4 + .byte W12 + .byte MOD , 4 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 22*mus_b_arena_mvl/mxv + .byte W36 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N12 , As4 + .byte W12 + .byte Fn4 + .byte W12 + .byte MOD , 4 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte N12 , Fs4 + .byte W12 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N36 , Gn4 + .byte W12 + .byte MOD , 4 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 22*mus_b_arena_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N12 , As4 + .byte W12 + .byte N48 , Gn4 + .byte W12 + .byte MOD , 4 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 22*mus_b_arena_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte W24 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte W24 + .byte N24 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 45*mus_b_arena_mvl/mxv + .byte N24 , As4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 45*mus_b_arena_mvl/mxv + .byte N36 , Cn5 + .byte W12 + .byte MOD , 4 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 22*mus_b_arena_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N12 , As4 + .byte W12 + .byte N36 , Gn4 + .byte W12 + .byte MOD , 4 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 22*mus_b_arena_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N12 , Fn4 + .byte W12 + .byte N60 , Gn4 + .byte W12 + .byte MOD , 4 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 22*mus_b_arena_mvl/mxv + .byte W36 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N24 , Dn4 + .byte W24 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte N12 , Fn4 + .byte W12 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N36 , Gn4 + .byte W12 + .byte MOD , 4 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 22*mus_b_arena_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N12 , As4 + .byte W12 + .byte N36 , Gn4 + .byte W12 + .byte MOD , 4 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 22*mus_b_arena_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N06 , Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte GOTO + .word mus_b_arena_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_b_arena_8: + .byte KEYSH , mus_b_arena_key+0 + .byte VOICE , 87 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 19*mus_b_arena_mvl/mxv + .byte PAN , c_v+0 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte VOICE , 81 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte PAN , c_v-61 + .byte W24 + .byte BEND , c_v+1 + .byte N04 , As4 , v040 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Cn4 + .byte W04 + .byte As3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Cn3 + .byte W04 + .byte As2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Fn2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Cn2 + .byte W04 + .byte Fn2 + .byte W04 + .byte Gn2 + .byte W04 + .byte As2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte BEND , c_v+0 + .byte N03 , An4 + .byte W06 + .byte N01 + .byte W06 + .byte N08 + .byte W12 + .byte VOICE , 87 + .byte PAN , c_v+0 + .byte W48 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Dn4 , v048 + .byte W12 + .byte Fn4 + .byte W12 +mus_b_arena_8_B1: + .byte MOD , 1 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N72 , Gn4 , v048 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W48 + .byte 45*mus_b_arena_mvl/mxv + .byte MOD , 1 + .byte N24 , As4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 45*mus_b_arena_mvl/mxv + .byte N48 , Gn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W24 + .byte 45*mus_b_arena_mvl/mxv + .byte MOD , 1 + .byte N24 , Fn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 45*mus_b_arena_mvl/mxv + .byte N12 , Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N84 , Dn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W60 + .byte 45*mus_b_arena_mvl/mxv + .byte MOD , 1 + .byte N12 , Cn4 + .byte W12 + .byte N36 , Dn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W12 + .byte 45*mus_b_arena_mvl/mxv + .byte MOD , 1 + .byte N12 , Fn4 + .byte W12 + .byte N32 , Dn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W12 + .byte 45*mus_b_arena_mvl/mxv + .byte MOD , 1 + .byte N06 + .byte W06 + .byte Fn4 + .byte W06 + .byte N72 , Gn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W48 + .byte 45*mus_b_arena_mvl/mxv + .byte MOD , 1 + .byte N24 , As4 + .byte W24 + .byte N36 , Cn5 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W12 + .byte 45*mus_b_arena_mvl/mxv + .byte MOD , 1 + .byte N12 , As4 + .byte W12 + .byte N36 , Gn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W24 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N12 , Fn4 + .byte W03 + .byte MOD , 1 + .byte W09 + .byte N60 , Gn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W36 + .byte 45*mus_b_arena_mvl/mxv + .byte MOD , 1 + .byte N12 , Dn4 + .byte W12 + .byte N24 , Fn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 45*mus_b_arena_mvl/mxv + .byte N36 , Gn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W12 + .byte 45*mus_b_arena_mvl/mxv + .byte MOD , 1 + .byte N12 , As4 + .byte W12 + .byte N32 , Gn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W12 + .byte 45*mus_b_arena_mvl/mxv + .byte MOD , 1 + .byte N06 + .byte W06 + .byte As4 + .byte W06 + .byte N96 , Cn5 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W72 + .byte MOD , 1 + .byte W24 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte W12 + .byte N12 , Dn5 + .byte W12 + .byte N24 , Cn5 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 45*mus_b_arena_mvl/mxv + .byte N24 , As4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 45*mus_b_arena_mvl/mxv + .byte N60 , Gn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W36 + .byte 45*mus_b_arena_mvl/mxv + .byte MOD , 1 + .byte N12 , As4 + .byte W12 + .byte Fn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte N12 , Fs4 + .byte W12 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N36 , Gn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W12 + .byte 45*mus_b_arena_mvl/mxv + .byte MOD , 1 + .byte N12 , As4 + .byte W12 + .byte N48 , Gn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W24 + .byte MOD , 1 + .byte W24 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte W24 + .byte N24 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 45*mus_b_arena_mvl/mxv + .byte N24 , As4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte W12 + .byte 45*mus_b_arena_mvl/mxv + .byte N36 , Cn5 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W12 + .byte 45*mus_b_arena_mvl/mxv + .byte MOD , 1 + .byte N12 , As4 + .byte W12 + .byte N36 , Gn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W12 + .byte 45*mus_b_arena_mvl/mxv + .byte MOD , 1 + .byte N12 , Fn4 + .byte W12 + .byte N60 , Gn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W36 + .byte 45*mus_b_arena_mvl/mxv + .byte MOD , 1 + .byte N24 , Dn4 + .byte W24 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte N12 , Fn4 + .byte W12 + .byte VOL , 45*mus_b_arena_mvl/mxv + .byte N36 , Gn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W12 + .byte 45*mus_b_arena_mvl/mxv + .byte MOD , 1 + .byte N12 , As4 + .byte W12 + .byte N36 , Gn4 + .byte W12 + .byte VOL , 34*mus_b_arena_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_b_arena_mvl/mxv + .byte W12 + .byte 45*mus_b_arena_mvl/mxv + .byte MOD , 1 + .byte N06 , Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte GOTO + .word mus_b_arena_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_b_arena_9: + .byte KEYSH , mus_b_arena_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 90*mus_b_arena_mvl/mxv + .byte N06 , Ds5 , v100 + .byte W06 + .byte N24 , Bn4 , v056 + .byte N24 , Ds5 , v127 + .byte W96 + .byte W90 + .byte N06 , Ds4 , v064 + .byte W06 + .byte N24 , Ds4 , v112 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W90 + .byte N06 , Ds5 , v100 + .byte W06 + .byte N24 , Ds5 , v127 + .byte W36 + .byte N06 , Ds4 , v064 + .byte N36 , Bn4 , v100 + .byte W06 + .byte N30 , Ds4 + .byte W54 + .byte W96 + .byte W96 +mus_b_arena_9_B1: +mus_b_arena_9_000: + .byte N24 , Fn1 , v064 + .byte N24 , Ds5 , v100 + .byte W24 + .byte Fn1 , v064 + .byte N24 , Ds5 , v100 + .byte W24 + .byte Bn4 , v048 + .byte W24 + .byte Fn1 , v064 + .byte N24 , Ds5 , v112 + .byte W24 + .byte PEND + .byte Fn1 , v064 + .byte N24 , Dn2 + .byte N24 , Ds5 , v100 + .byte W48 + .byte N48 , Cn1 , v127 + .byte N24 , En4 , v100 + .byte W48 + .byte PATT + .word mus_b_arena_9_000 +mus_b_arena_9_001: + .byte N24 , Fn1 , v064 + .byte N24 , Dn2 + .byte N24 , Ds5 , v100 + .byte W48 + .byte N48 , Cn1 , v127 + .byte N24 , Ds4 , v100 + .byte W48 + .byte PEND + .byte PATT + .word mus_b_arena_9_000 +mus_b_arena_9_002: + .byte N24 , Fn1 , v064 + .byte N24 , Dn2 + .byte N24 , Ds5 , v100 + .byte W42 + .byte N01 , En4 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N48 , Cn1 , v127 + .byte N24 , En4 , v100 + .byte W48 + .byte PEND + .byte PATT + .word mus_b_arena_9_000 +mus_b_arena_9_003: + .byte N24 , Fn1 , v064 + .byte N24 , Dn2 + .byte N24 , Ds5 , v100 + .byte W48 + .byte N44 , Cn1 , v127 + .byte N24 , Ds4 , v100 + .byte W48 + .byte PEND + .byte PATT + .word mus_b_arena_9_000 + .byte PATT + .word mus_b_arena_9_002 + .byte PATT + .word mus_b_arena_9_000 + .byte PATT + .word mus_b_arena_9_001 + .byte PATT + .word mus_b_arena_9_000 + .byte PATT + .word mus_b_arena_9_002 + .byte N24 , Fn1 , v064 + .byte N24 , Ds5 , v100 + .byte W24 + .byte Fn1 , v064 + .byte N18 , Ds5 , v100 + .byte W24 + .byte N24 , Bn4 , v048 + .byte W24 + .byte Fn1 , v064 + .byte N24 , Ds5 , v112 + .byte W24 + .byte PATT + .word mus_b_arena_9_003 + .byte GOTO + .word mus_b_arena_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_b_arena: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_b_arena_pri @ Priority + .byte mus_b_arena_rev @ Reverb. + + .word mus_b_arena_grp + + .word mus_b_arena_1 + .word mus_b_arena_2 + .word mus_b_arena_3 + .word mus_b_arena_4 + .word mus_b_arena_5 + .word mus_b_arena_6 + .word mus_b_arena_7 + .word mus_b_arena_8 + .word mus_b_arena_9 + + .end diff --git a/sound/songs/mus_b_dome.s b/sound/songs/mus_b_dome.s new file mode 100644 index 0000000000..0a52ed047d --- /dev/null +++ b/sound/songs/mus_b_dome.s @@ -0,0 +1,4006 @@ + .include "MPlayDef.s" + + .equ mus_b_dome_grp, voicegroup_8698054 + .equ mus_b_dome_pri, 0 + .equ mus_b_dome_rev, reverb_set+50 + .equ mus_b_dome_mvl, 127 + .equ mus_b_dome_key, 0 + .equ mus_b_dome_tbs, 1 + .equ mus_b_dome_exg, 0 + .equ mus_b_dome_cmp, 1 + + .section .rodata + .global mus_b_dome + .align 2 + +@********************** Track 1 **********************@ + +mus_b_dome_1: + .byte KEYSH , mus_b_dome_key+0 + .byte TEMPO , 144*mus_b_dome_tbs/2 + .byte VOICE , 29 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 90*mus_b_dome_mvl/mxv + .byte PAN , c_v+16 + .byte W96 + .byte W96 + .byte W96 +mus_b_dome_1_000: + .byte W84 + .byte N03 , Fn3 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte PEND +mus_b_dome_1_B1: + .byte N12 , Ds2 , v088 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn2 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Ds2 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn2 + .byte W48 + .byte W84 + .byte N03 , Ds3 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Ds2 , v088 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn2 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Ds2 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn2 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Gn2 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Gs2 + .byte W12 + .byte PATT + .word mus_b_dome_1_000 + .byte VOL , 68*mus_b_dome_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Ds2 , v076 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn2 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N12 , Ds2 + .byte W12 + .byte N24 , Fn2 + .byte W12 + .byte VOL , 58*mus_b_dome_mvl/mxv + .byte MOD , 6 + .byte W02 + .byte VOL , 51*mus_b_dome_mvl/mxv + .byte W04 + .byte 36*mus_b_dome_mvl/mxv + .byte W02 + .byte 33*mus_b_dome_mvl/mxv + .byte W04 + .byte 68*mus_b_dome_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N12 , Ds2 + .byte W12 + .byte Fn2 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte W24 + .byte BEND , c_v-2 + .byte W12 + .byte c_v-4 + .byte W12 + .byte c_v-6 + .byte W12 + .byte VOL , 62*mus_b_dome_mvl/mxv + .byte BEND , c_v-8 + .byte W02 + .byte VOL , 58*mus_b_dome_mvl/mxv + .byte W04 + .byte 54*mus_b_dome_mvl/mxv + .byte W02 + .byte 48*mus_b_dome_mvl/mxv + .byte W04 + .byte 41*mus_b_dome_mvl/mxv + .byte BEND , c_v-9 + .byte W02 + .byte VOL , 36*mus_b_dome_mvl/mxv + .byte W04 + .byte 26*mus_b_dome_mvl/mxv + .byte W02 + .byte 21*mus_b_dome_mvl/mxv + .byte W04 + .byte 17*mus_b_dome_mvl/mxv + .byte BEND , c_v-12 + .byte W02 + .byte VOL , 8*mus_b_dome_mvl/mxv + .byte W04 + .byte 5*mus_b_dome_mvl/mxv + .byte W02 + .byte 1*mus_b_dome_mvl/mxv + .byte W04 + .byte 68*mus_b_dome_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Ds2 , v088 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn2 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Ds2 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn2 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Gn2 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Gs2 + .byte W12 + .byte W96 + .byte BEND , c_v+0 + .byte N06 , Fn2 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N03 + .byte W30 + .byte N03 + .byte W12 + .byte N03 + .byte W18 + .byte W18 + .byte N03 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N03 + .byte W06 + .byte BEND , c_v-16 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v+0 + .byte W18 + .byte c_v-2 + .byte W12 + .byte c_v-4 + .byte W12 + .byte c_v-7 + .byte W06 + .byte c_v-11 + .byte W06 + .byte c_v+0 + .byte N03 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W15 + .byte BEND , c_v-8 + .byte W03 + .byte c_v+0 + .byte W18 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W09 + .byte BEND , c_v-8 + .byte W03 + .byte c_v+0 + .byte W06 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W12 + .byte N01 + .byte W06 + .byte BEND , c_v-16 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v+0 + .byte W18 + .byte c_v-5 + .byte W06 + .byte c_v+0 + .byte W30 + .byte N03 , Cn4 , v068 + .byte W06 + .byte N12 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte W06 + .byte N03 , Cn4 , v048 + .byte W03 + .byte Bn3 + .byte W03 + .byte As3 + .byte W03 + .byte An3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte En3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Dn3 , v040 + .byte W03 + .byte Cs3 + .byte W03 + .byte Cn3 , v028 + .byte W03 + .byte Bn2 + .byte W03 + .byte As2 + .byte W03 + .byte An2 , v024 + .byte W03 + .byte N01 , Gn2 , v088 + .byte W06 + .byte N01 + .byte W06 + .byte N12 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte Cn3 , v076 + .byte W06 + .byte N01 + .byte W06 + .byte Gn2 , v088 + .byte W06 + .byte Gn2 , v076 + .byte W06 + .byte En3 + .byte W06 + .byte N01 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W18 + .byte N03 , Gn4 , v048 + .byte W03 + .byte Fs4 + .byte W03 + .byte Fn4 + .byte W03 + .byte En4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte Cn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte As3 , v040 + .byte W03 + .byte An3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Gn3 , v036 + .byte W03 + .byte Fs3 , v032 + .byte W03 + .byte Fn3 , v028 + .byte W03 + .byte En3 , v024 + .byte W03 + .byte Cn3 , v084 + .byte W06 + .byte N01 + .byte W06 + .byte N10 + .byte W12 + .byte N01 , Cn3 , v088 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 , En3 , v068 + .byte W06 + .byte N01 + .byte W06 + .byte Cn3 , v088 + .byte W06 + .byte N01 + .byte W06 + .byte N03 , Gn3 , v068 + .byte W06 + .byte N04 + .byte W06 + .byte PAN , c_v+20 + .byte N10 , Fn2 , v088 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W32 + .byte N10 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W32 +mus_b_dome_1_001: + .byte N10 , Fn2 , v088 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W32 + .byte N10 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W32 + .byte PEND + .byte N10 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 , En2 + .byte W04 + .byte Fn2 + .byte W32 + .byte N10 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W32 + .byte PATT + .word mus_b_dome_1_001 + .byte PAN , c_v+16 + .byte N09 , Cn4 , v052 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N03 , Cn4 , v048 + .byte W12 + .byte N06 , Gn2 , v092 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Cn3 + .byte W12 + .byte N09 , Bn2 + .byte W18 + .byte N03 + .byte W12 + .byte N18 , Fs2 + .byte W12 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Cn4 , v048 + .byte W06 + .byte MOD , 6 + .byte N06 , Bn3 + .byte W06 + .byte MOD , 0 + .byte N03 , Cn4 + .byte W12 + .byte N06 , Gn2 , v092 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Cn3 + .byte W12 + .byte N09 , Bn2 + .byte W18 + .byte N03 + .byte W18 + .byte N12 , Fs2 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte GOTO + .word mus_b_dome_1_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 2 **********************@ + +mus_b_dome_2: + .byte KEYSH , mus_b_dome_key+0 + .byte VOICE , 29 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 77*mus_b_dome_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_b_dome_2_B1: + .byte W96 + .byte VOICE , 29 + .byte VOL , 17*mus_b_dome_mvl/mxv + .byte BEND , c_v+0 + .byte W12 + .byte VOL , 17*mus_b_dome_mvl/mxv + .byte PAN , c_v-32 + .byte BEND , c_v-5 + .byte N12 , Fn5 , v036 + .byte W03 + .byte VOL , 41*mus_b_dome_mvl/mxv + .byte BEND , c_v+0 + .byte W03 + .byte VOL , 76*mus_b_dome_mvl/mxv + .byte W06 + .byte 17*mus_b_dome_mvl/mxv + .byte PAN , c_v+32 + .byte N12 , Cn5 + .byte W03 + .byte VOL , 41*mus_b_dome_mvl/mxv + .byte W03 + .byte 76*mus_b_dome_mvl/mxv + .byte W06 + .byte 17*mus_b_dome_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , Gs4 + .byte W03 + .byte VOL , 41*mus_b_dome_mvl/mxv + .byte W03 + .byte 76*mus_b_dome_mvl/mxv + .byte W06 + .byte 17*mus_b_dome_mvl/mxv + .byte PAN , c_v+32 + .byte N12 , Ds4 + .byte W03 + .byte VOL , 41*mus_b_dome_mvl/mxv + .byte W03 + .byte 76*mus_b_dome_mvl/mxv + .byte W06 + .byte 17*mus_b_dome_mvl/mxv + .byte PAN , c_v-32 + .byte N12 , As3 + .byte W03 + .byte VOL , 41*mus_b_dome_mvl/mxv + .byte W03 + .byte 76*mus_b_dome_mvl/mxv + .byte W06 + .byte 17*mus_b_dome_mvl/mxv + .byte PAN , c_v+0 + .byte N96 , Fn3 + .byte W12 + .byte VOL , 17*mus_b_dome_mvl/mxv + .byte BEND , c_v-5 + .byte W03 + .byte VOL , 41*mus_b_dome_mvl/mxv + .byte W03 + .byte 76*mus_b_dome_mvl/mxv + .byte W06 + .byte 68*mus_b_dome_mvl/mxv + .byte BEND , c_v+0 + .byte W48 + .byte VOL , 55*mus_b_dome_mvl/mxv + .byte BEND , c_v-5 + .byte W02 + .byte VOL , 48*mus_b_dome_mvl/mxv + .byte W04 + .byte 39*mus_b_dome_mvl/mxv + .byte BEND , c_v+0 + .byte W02 + .byte VOL , 29*mus_b_dome_mvl/mxv + .byte W04 + .byte 22*mus_b_dome_mvl/mxv + .byte W02 + .byte 14*mus_b_dome_mvl/mxv + .byte W04 + .byte 7*mus_b_dome_mvl/mxv + .byte W02 + .byte 2*mus_b_dome_mvl/mxv + .byte W04 + .byte 1*mus_b_dome_mvl/mxv + .byte W24 + .byte 68*mus_b_dome_mvl/mxv + .byte W96 + .byte W96 + .byte 17*mus_b_dome_mvl/mxv + .byte W12 + .byte 17*mus_b_dome_mvl/mxv + .byte PAN , c_v-32 + .byte BEND , c_v-5 + .byte N12 , Fn4 + .byte W03 + .byte VOL , 41*mus_b_dome_mvl/mxv + .byte BEND , c_v+0 + .byte W03 + .byte VOL , 76*mus_b_dome_mvl/mxv + .byte W06 + .byte 17*mus_b_dome_mvl/mxv + .byte PAN , c_v+32 + .byte N12 , Cn5 + .byte W03 + .byte VOL , 41*mus_b_dome_mvl/mxv + .byte W03 + .byte 76*mus_b_dome_mvl/mxv + .byte W06 + .byte 17*mus_b_dome_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , Gs5 + .byte W03 + .byte VOL , 41*mus_b_dome_mvl/mxv + .byte W03 + .byte 76*mus_b_dome_mvl/mxv + .byte W06 + .byte 17*mus_b_dome_mvl/mxv + .byte PAN , c_v+32 + .byte BEND , c_v+0 + .byte N12 , Ds4 + .byte W03 + .byte VOL , 41*mus_b_dome_mvl/mxv + .byte W03 + .byte 76*mus_b_dome_mvl/mxv + .byte W06 + .byte 17*mus_b_dome_mvl/mxv + .byte PAN , c_v-32 + .byte N12 , As3 + .byte W03 + .byte VOL , 41*mus_b_dome_mvl/mxv + .byte W03 + .byte 76*mus_b_dome_mvl/mxv + .byte W06 + .byte 17*mus_b_dome_mvl/mxv + .byte PAN , c_v+32 + .byte N12 , Fn3 + .byte W03 + .byte VOL , 41*mus_b_dome_mvl/mxv + .byte W03 + .byte 76*mus_b_dome_mvl/mxv + .byte W06 + .byte 17*mus_b_dome_mvl/mxv + .byte PAN , c_v+0 + .byte N84 , As4 + .byte W03 + .byte VOL , 41*mus_b_dome_mvl/mxv + .byte W03 + .byte 76*mus_b_dome_mvl/mxv + .byte W06 + .byte 68*mus_b_dome_mvl/mxv + .byte BEND , c_v-5 + .byte W12 + .byte c_v+0 + .byte W36 + .byte VOL , 55*mus_b_dome_mvl/mxv + .byte BEND , c_v-4 + .byte W02 + .byte VOL , 51*mus_b_dome_mvl/mxv + .byte BEND , c_v-8 + .byte W04 + .byte VOL , 44*mus_b_dome_mvl/mxv + .byte BEND , c_v-11 + .byte W02 + .byte VOL , 39*mus_b_dome_mvl/mxv + .byte BEND , c_v-15 + .byte W04 + .byte VOL , 29*mus_b_dome_mvl/mxv + .byte BEND , c_v-19 + .byte W02 + .byte VOL , 19*mus_b_dome_mvl/mxv + .byte BEND , c_v-23 + .byte W04 + .byte VOL , 11*mus_b_dome_mvl/mxv + .byte BEND , c_v-26 + .byte W02 + .byte VOL , 1*mus_b_dome_mvl/mxv + .byte BEND , c_v-30 + .byte W04 + .byte VOL , 68*mus_b_dome_mvl/mxv + .byte BEND , c_v-31 + .byte W24 + .byte c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 30 + .byte W36 + .byte N12 , Cn4 , v048 + .byte W12 + .byte MOD , 5 + .byte W06 + .byte N01 , Cn3 + .byte W06 + .byte MOD , 0 + .byte N01 + .byte W06 + .byte N01 + .byte W12 + .byte N01 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte MOD , 5 + .byte W06 + .byte N01 , Cn3 + .byte W06 + .byte MOD , 0 + .byte W06 + .byte N01 + .byte W12 + .byte N01 + .byte W06 + .byte N60 , Gs3 + .byte W24 + .byte MOD , 3 + .byte W12 + .byte VOL , 59*mus_b_dome_mvl/mxv + .byte W02 + .byte 54*mus_b_dome_mvl/mxv + .byte W04 + .byte 51*mus_b_dome_mvl/mxv + .byte W02 + .byte 45*mus_b_dome_mvl/mxv + .byte W04 + .byte 42*mus_b_dome_mvl/mxv + .byte W02 + .byte 36*mus_b_dome_mvl/mxv + .byte W04 + .byte 31*mus_b_dome_mvl/mxv + .byte W02 + .byte 24*mus_b_dome_mvl/mxv + .byte W04 + .byte 68*mus_b_dome_mvl/mxv + .byte MOD , 0 + .byte W96 + .byte W96 + .byte N03 , En4 + .byte W06 + .byte N12 + .byte W90 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_b_dome_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_b_dome_3: + .byte KEYSH , mus_b_dome_key+0 + .byte VOICE , 87 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 75*mus_b_dome_mvl/mxv + .byte W96 + .byte W96 + .byte W96 +mus_b_dome_3_000: + .byte W84 + .byte N03 , Fn2 , v112 + .byte W06 + .byte Ds1 + .byte W06 + .byte PEND +mus_b_dome_3_B1: + .byte N12 , Ds1 , v112 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Ds1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W48 + .byte W96 + .byte N12 , Ds1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Ds1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Gn1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Gs1 + .byte W12 + .byte PATT + .word mus_b_dome_3_000 + .byte N12 , Ds1 , v112 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N12 , Ds1 + .byte W12 + .byte N24 , Fn1 + .byte W12 + .byte MOD , 6 + .byte W03 + .byte VOL , 58*mus_b_dome_mvl/mxv + .byte W03 + .byte 51*mus_b_dome_mvl/mxv + .byte W02 + .byte 40*mus_b_dome_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 75*mus_b_dome_mvl/mxv + .byte W01 + .byte N12 , Ds1 + .byte W12 + .byte N10 , Fn1 + .byte W05 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte VOL , 75*mus_b_dome_mvl/mxv + .byte W12 + .byte 33*mus_b_dome_mvl/mxv + .byte BEND , c_v-7 + .byte N07 , As2 + .byte W01 + .byte VOL , 45*mus_b_dome_mvl/mxv + .byte W01 + .byte 63*mus_b_dome_mvl/mxv + .byte W01 + .byte 75*mus_b_dome_mvl/mxv + .byte BEND , c_v+0 + .byte W21 + .byte VOL , 33*mus_b_dome_mvl/mxv + .byte BEND , c_v-7 + .byte N07 , Gs2 + .byte W01 + .byte VOL , 45*mus_b_dome_mvl/mxv + .byte W01 + .byte 63*mus_b_dome_mvl/mxv + .byte W01 + .byte 75*mus_b_dome_mvl/mxv + .byte BEND , c_v+0 + .byte W09 + .byte VOL , 33*mus_b_dome_mvl/mxv + .byte BEND , c_v-7 + .byte N07 , Gn2 + .byte W01 + .byte VOL , 45*mus_b_dome_mvl/mxv + .byte W01 + .byte 63*mus_b_dome_mvl/mxv + .byte W01 + .byte 75*mus_b_dome_mvl/mxv + .byte BEND , c_v+0 + .byte W09 + .byte VOL , 33*mus_b_dome_mvl/mxv + .byte BEND , c_v-7 + .byte N07 , Fs2 + .byte W01 + .byte VOL , 45*mus_b_dome_mvl/mxv + .byte W01 + .byte 63*mus_b_dome_mvl/mxv + .byte W01 + .byte 75*mus_b_dome_mvl/mxv + .byte BEND , c_v+0 + .byte W09 + .byte VOL , 33*mus_b_dome_mvl/mxv + .byte BEND , c_v-7 + .byte N07 , Fn2 + .byte W01 + .byte VOL , 45*mus_b_dome_mvl/mxv + .byte W01 + .byte 63*mus_b_dome_mvl/mxv + .byte W01 + .byte 75*mus_b_dome_mvl/mxv + .byte BEND , c_v+0 + .byte W09 + .byte VOL , 33*mus_b_dome_mvl/mxv + .byte BEND , c_v-7 + .byte N07 , En2 + .byte W01 + .byte VOL , 45*mus_b_dome_mvl/mxv + .byte W01 + .byte 63*mus_b_dome_mvl/mxv + .byte W01 + .byte 75*mus_b_dome_mvl/mxv + .byte BEND , c_v+0 + .byte W09 + .byte VOL , 75*mus_b_dome_mvl/mxv + .byte N12 , Ds1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Ds1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Gn1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Gs1 + .byte W12 + .byte W96 + .byte Fn1 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N03 + .byte W12 + .byte N24 , Gs1 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte W06 + .byte N03 , Fn1 + .byte N01 , Fn2 + .byte W06 + .byte N09 , Fn1 + .byte W12 + .byte N06 + .byte W18 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N12 , Gs1 + .byte W12 + .byte As1 + .byte W12 + .byte N03 , Cn2 + .byte W03 + .byte N09 , As1 + .byte W09 + .byte N12 , Gn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte N15 , Fn1 + .byte W18 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 + .byte W12 + .byte N24 , Gs1 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N03 , Fn1 + .byte W12 + .byte N09 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W18 + .byte N03 + .byte W06 + .byte N12 , As1 + .byte W12 + .byte Cs2 + .byte W12 + .byte N03 , Ds2 + .byte W03 + .byte N09 , Cs2 + .byte W09 + .byte N12 , Cn2 + .byte W12 + .byte As1 + .byte W12 + .byte N03 , Cn1 + .byte W06 + .byte N12 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte N03 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte N12 + .byte W18 + .byte N15 , Cn1 + .byte W18 + .byte N03 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v080 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cn2 , v080 + .byte W06 + .byte Cn2 , v112 + .byte W06 + .byte Cn2 , v080 + .byte W06 + .byte As1 + .byte W06 + .byte As1 , v112 + .byte W06 + .byte As1 , v080 + .byte W06 + .byte As1 , v112 + .byte W06 + .byte Gs1 + .byte W06 + .byte Gs1 , v080 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v080 + .byte W06 + .byte N10 , Fn1 , v112 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N06 , Bn1 + .byte W06 + .byte Cn2 , v080 + .byte W06 + .byte As1 , v112 + .byte W06 + .byte Gs1 , v080 + .byte W06 + .byte N10 , Fn1 , v112 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N06 , Fn1 , v104 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte Fs1 , v104 + .byte W06 + .byte Gn1 , v080 + .byte W06 + .byte N10 , Fn1 , v112 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N06 , Cn1 + .byte W06 + .byte Cs1 , v080 + .byte W06 + .byte Ds1 , v112 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte N10 , Fn1 , v112 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N06 , Cn1 + .byte W06 + .byte Cn2 , v080 + .byte W06 + .byte As1 , v112 + .byte W06 + .byte Gs1 , v080 + .byte W06 + .byte N10 , Fn1 , v112 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 , En1 + .byte W04 + .byte Fn1 + .byte W08 + .byte N06 , Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Gs1 + .byte W06 + .byte As1 + .byte W06 + .byte N10 , Fn1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N06 , En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte As1 + .byte W06 + .byte Cn2 + .byte W06 + .byte N10 , Fn1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N06 , As1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Gs1 + .byte W06 + .byte As1 + .byte W06 + .byte Gn1 + .byte W06 + .byte MOD , 6 + .byte N04 , Gs1 + .byte W06 + .byte MOD , 0 + .byte N03 , En1 + .byte W04 + .byte N08 , Cs1 + .byte W08 + .byte N03 , Cn1 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte N09 , Cn1 , v112 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , En1 + .byte W12 + .byte N09 , Ds1 + .byte W18 + .byte N03 + .byte W12 + .byte N18 + .byte W12 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Cn1 + .byte W06 + .byte MOD , 6 + .byte N03 , Cs1 + .byte W06 + .byte MOD , 0 + .byte N03 , Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , En1 + .byte W12 + .byte N09 , Ds1 + .byte W18 + .byte N03 + .byte W18 + .byte N12 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte GOTO + .word mus_b_dome_3_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 4 **********************@ + +mus_b_dome_4: + .byte KEYSH , mus_b_dome_key+0 + .byte VOICE , 62 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 87*mus_b_dome_mvl/mxv + .byte PAN , c_v-18 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_b_dome_4_B1: + .byte VOICE , 62 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte BEND , c_v+0 + .byte W72 + .byte c_v+0 + .byte W24 + .byte VOICE , 29 + .byte N48 , Cs2 , v072 + .byte W24 + .byte PAN , c_v-12 + .byte W02 + .byte c_v-8 + .byte W04 + .byte c_v-5 + .byte W02 + .byte c_v-1 + .byte W04 + .byte c_v+0 + .byte W02 + .byte c_v+6 + .byte W04 + .byte c_v+7 + .byte W02 + .byte c_v+11 + .byte W04 + .byte MOD , 3 + .byte PAN , c_v+16 + .byte N48 , Ds2 , v060 + .byte W02 + .byte PAN , c_v+22 + .byte W04 + .byte c_v+23 + .byte W02 + .byte c_v+28 + .byte W04 + .byte c_v+32 + .byte W02 + .byte c_v+37 + .byte W04 + .byte c_v+43 + .byte W02 + .byte c_v+48 + .byte W04 + .byte VOL , 90*mus_b_dome_mvl/mxv + .byte W01 + .byte 87*mus_b_dome_mvl/mxv + .byte W01 + .byte 85*mus_b_dome_mvl/mxv + .byte W01 + .byte 82*mus_b_dome_mvl/mxv + .byte W01 + .byte 78*mus_b_dome_mvl/mxv + .byte W02 + .byte 75*mus_b_dome_mvl/mxv + .byte W01 + .byte 73*mus_b_dome_mvl/mxv + .byte W01 + .byte 70*mus_b_dome_mvl/mxv + .byte W01 + .byte 68*mus_b_dome_mvl/mxv + .byte W01 + .byte 65*mus_b_dome_mvl/mxv + .byte W02 + .byte 61*mus_b_dome_mvl/mxv + .byte W01 + .byte 60*mus_b_dome_mvl/mxv + .byte W01 + .byte 55*mus_b_dome_mvl/mxv + .byte W01 + .byte 53*mus_b_dome_mvl/mxv + .byte W01 + .byte 53*mus_b_dome_mvl/mxv + .byte W02 + .byte 50*mus_b_dome_mvl/mxv + .byte W01 + .byte 47*mus_b_dome_mvl/mxv + .byte W01 + .byte 44*mus_b_dome_mvl/mxv + .byte W01 + .byte 43*mus_b_dome_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte PAN , c_v-19 + .byte VOL , 90*mus_b_dome_mvl/mxv + .byte W96 + .byte W96 + .byte VOICE , 29 + .byte PAN , c_v-19 + .byte BEND , c_v+0 + .byte W36 + .byte N12 , Fn3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N01 , Fn2 , v080 + .byte W06 + .byte N01 + .byte W12 + .byte N01 + .byte W06 + .byte N12 , Ds3 , v060 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte W06 + .byte N01 , Fn2 , v080 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N01 + .byte W06 + .byte BEND , c_v-16 + .byte N60 , Cs3 , v060 + .byte W03 + .byte BEND , c_v-8 + .byte W03 + .byte c_v+0 + .byte W18 + .byte MOD , 5 + .byte BEND , c_v-2 + .byte W12 + .byte VOL , 84*mus_b_dome_mvl/mxv + .byte BEND , c_v-4 + .byte W02 + .byte VOL , 75*mus_b_dome_mvl/mxv + .byte W04 + .byte 70*mus_b_dome_mvl/mxv + .byte W02 + .byte 65*mus_b_dome_mvl/mxv + .byte W04 + .byte 60*mus_b_dome_mvl/mxv + .byte BEND , c_v-7 + .byte W02 + .byte VOL , 54*mus_b_dome_mvl/mxv + .byte W04 + .byte 50*mus_b_dome_mvl/mxv + .byte BEND , c_v-11 + .byte W02 + .byte VOL , 43*mus_b_dome_mvl/mxv + .byte W04 + .byte 90*mus_b_dome_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte W36 + .byte N12 , Fn3 , v056 + .byte W03 + .byte BEND , c_v-8 + .byte W03 + .byte c_v+0 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N01 , Fn2 , v080 + .byte W06 + .byte MOD , 0 + .byte N01 + .byte W06 + .byte N01 + .byte W12 + .byte N01 + .byte W06 + .byte N12 , Ds3 , v056 + .byte W03 + .byte BEND , c_v-8 + .byte W03 + .byte c_v+0 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N01 , Fn2 , v112 + .byte W06 + .byte MOD , 0 + .byte W06 + .byte N01 , Fn2 , v080 + .byte W12 + .byte Fn2 , v076 + .byte W06 + .byte BEND , c_v-16 + .byte N60 , Cs3 , v056 + .byte W03 + .byte BEND , c_v-8 + .byte W03 + .byte c_v+0 + .byte W18 + .byte MOD , 3 + .byte BEND , c_v-5 + .byte W06 + .byte c_v+0 + .byte W06 + .byte VOL , 84*mus_b_dome_mvl/mxv + .byte W02 + .byte 75*mus_b_dome_mvl/mxv + .byte W04 + .byte 70*mus_b_dome_mvl/mxv + .byte W02 + .byte 65*mus_b_dome_mvl/mxv + .byte W04 + .byte 60*mus_b_dome_mvl/mxv + .byte W02 + .byte 54*mus_b_dome_mvl/mxv + .byte W04 + .byte 50*mus_b_dome_mvl/mxv + .byte W02 + .byte 43*mus_b_dome_mvl/mxv + .byte W04 + .byte 90*mus_b_dome_mvl/mxv + .byte MOD , 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 17 + .byte PAN , c_v+9 + .byte W18 + .byte N03 , Ds4 , v032 + .byte W03 + .byte En4 + .byte W03 + .byte PAN , c_v-16 + .byte N24 , Fn4 , v060 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte W24 + .byte PAN , c_v-16 + .byte N24 , Cs4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte W24 + .byte PAN , c_v-16 + .byte N03 , Fn4 + .byte W03 + .byte N06 , En4 + .byte W06 + .byte N15 , Fn4 + .byte W09 + .byte MOD , 4 + .byte W06 + .byte 0 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte W24 + .byte PAN , c_v-16 + .byte N03 , Gs4 + .byte W03 + .byte N06 , Gn4 + .byte W06 + .byte N15 , Gs4 + .byte W06 + .byte MOD , 4 + .byte W09 + .byte 0 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , As4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_b_dome_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_b_dome_5: + .byte KEYSH , mus_b_dome_key+0 + .byte VOICE , 30 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 90*mus_b_dome_mvl/mxv + .byte PAN , c_v-24 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N03 , Fn2 , v064 + .byte W06 + .byte N03 + .byte W06 +mus_b_dome_5_B1: + .byte VOICE , 62 + .byte N12 , Ds1 , v080 + .byte W12 + .byte N06 , Fn1 + .byte W24 + .byte N12 , Ds1 + .byte W12 + .byte N06 , Fn1 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte BEND , c_v+0 + .byte W72 + .byte c_v+0 + .byte W24 + .byte N48 , Gs1 , v072 + .byte W24 + .byte PAN , c_v-16 + .byte W02 + .byte c_v-12 + .byte W06 + .byte c_v-9 + .byte W04 + .byte c_v-7 + .byte W02 + .byte c_v-3 + .byte W04 + .byte c_v-1 + .byte W02 + .byte c_v+2 + .byte W04 + .byte c_v+6 + .byte N48 , As1 , v080 + .byte W02 + .byte PAN , c_v+11 + .byte W04 + .byte c_v+16 + .byte W02 + .byte c_v+20 + .byte W04 + .byte c_v+23 + .byte W02 + .byte c_v+26 + .byte W04 + .byte c_v+29 + .byte W02 + .byte c_v+32 + .byte W04 + .byte c_v+36 + .byte VOL , 90*mus_b_dome_mvl/mxv + .byte W01 + .byte 87*mus_b_dome_mvl/mxv + .byte W01 + .byte 85*mus_b_dome_mvl/mxv + .byte W01 + .byte 82*mus_b_dome_mvl/mxv + .byte W01 + .byte 78*mus_b_dome_mvl/mxv + .byte W02 + .byte 75*mus_b_dome_mvl/mxv + .byte W01 + .byte 73*mus_b_dome_mvl/mxv + .byte W01 + .byte 70*mus_b_dome_mvl/mxv + .byte W01 + .byte 68*mus_b_dome_mvl/mxv + .byte W01 + .byte 65*mus_b_dome_mvl/mxv + .byte W02 + .byte 61*mus_b_dome_mvl/mxv + .byte W01 + .byte 60*mus_b_dome_mvl/mxv + .byte W01 + .byte 55*mus_b_dome_mvl/mxv + .byte W01 + .byte 53*mus_b_dome_mvl/mxv + .byte W01 + .byte 53*mus_b_dome_mvl/mxv + .byte W02 + .byte 50*mus_b_dome_mvl/mxv + .byte W01 + .byte 47*mus_b_dome_mvl/mxv + .byte W01 + .byte 44*mus_b_dome_mvl/mxv + .byte W01 + .byte 43*mus_b_dome_mvl/mxv + .byte W03 + .byte PAN , c_v-24 + .byte VOL , 90*mus_b_dome_mvl/mxv + .byte W96 + .byte W96 + .byte VOICE , 29 + .byte PAN , c_v-34 + .byte W36 + .byte N12 , Cn3 , v060 + .byte W24 + .byte N01 , Cn2 , v084 + .byte W06 + .byte Cn2 , v080 + .byte W12 + .byte N01 + .byte W06 + .byte N12 , As2 , v060 + .byte W12 + .byte W18 + .byte N01 , Cn2 , v080 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N01 + .byte W06 + .byte BEND , c_v-16 + .byte N60 , Gs2 , v060 + .byte W03 + .byte BEND , c_v-8 + .byte W03 + .byte c_v+0 + .byte W18 + .byte c_v-2 + .byte W12 + .byte VOL , 78*mus_b_dome_mvl/mxv + .byte BEND , c_v-4 + .byte W02 + .byte VOL , 71*mus_b_dome_mvl/mxv + .byte W04 + .byte 65*mus_b_dome_mvl/mxv + .byte W02 + .byte 58*mus_b_dome_mvl/mxv + .byte W04 + .byte 53*mus_b_dome_mvl/mxv + .byte BEND , c_v-7 + .byte W02 + .byte VOL , 48*mus_b_dome_mvl/mxv + .byte W04 + .byte 42*mus_b_dome_mvl/mxv + .byte BEND , c_v-11 + .byte W02 + .byte VOL , 34*mus_b_dome_mvl/mxv + .byte W04 + .byte 90*mus_b_dome_mvl/mxv + .byte BEND , c_v+0 + .byte W36 + .byte N12 , Cn3 , v056 + .byte W03 + .byte BEND , c_v-8 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N01 , Cn2 , v080 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W12 + .byte N01 + .byte W06 + .byte N12 , As2 , v056 + .byte W03 + .byte BEND , c_v-8 + .byte W03 + .byte c_v+0 + .byte W06 + .byte W06 + .byte N01 , Cn2 , v080 + .byte W12 + .byte N01 + .byte W12 + .byte Cn2 , v076 + .byte W06 + .byte BEND , c_v-16 + .byte N60 , Gs2 , v056 + .byte W03 + .byte BEND , c_v-8 + .byte W03 + .byte c_v+0 + .byte W18 + .byte c_v-5 + .byte W06 + .byte c_v+0 + .byte W06 + .byte VOL , 84*mus_b_dome_mvl/mxv + .byte W02 + .byte 75*mus_b_dome_mvl/mxv + .byte W04 + .byte 70*mus_b_dome_mvl/mxv + .byte W02 + .byte 65*mus_b_dome_mvl/mxv + .byte W04 + .byte 60*mus_b_dome_mvl/mxv + .byte W02 + .byte 54*mus_b_dome_mvl/mxv + .byte W04 + .byte 50*mus_b_dome_mvl/mxv + .byte W02 + .byte 43*mus_b_dome_mvl/mxv + .byte W04 + .byte VOICE , 29 + .byte VOL , 90*mus_b_dome_mvl/mxv + .byte PAN , c_v-20 + .byte N03 , Cn3 , v060 + .byte W06 + .byte N12 + .byte W66 + .byte N01 , Cn2 , v068 + .byte W06 + .byte N01 + .byte W06 + .byte N12 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte Gn2 + .byte W06 + .byte N01 + .byte W06 + .byte Cn2 + .byte W06 + .byte N01 + .byte W06 + .byte Cn3 + .byte W06 + .byte N01 + .byte W06 + .byte W72 + .byte N03 , Gn2 + .byte W06 + .byte N01 + .byte W06 + .byte N10 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 , Cn3 + .byte W06 + .byte N01 + .byte W06 + .byte Gn2 + .byte W06 + .byte N01 + .byte W06 + .byte N03 , En3 + .byte W06 + .byte N04 + .byte W06 + .byte VOICE , 17 + .byte W24 + .byte N24 , Gs3 , v060 + .byte W48 + .byte PAN , c_v+24 + .byte N24 , As3 + .byte W24 + .byte W24 + .byte PAN , c_v-21 + .byte N24 , Fn3 + .byte W48 + .byte PAN , c_v+23 + .byte N24 , Gs3 + .byte W24 + .byte W24 + .byte PAN , c_v-21 + .byte N03 , Cn4 + .byte W03 + .byte N06 , Bn3 + .byte W06 + .byte N15 , Cn4 + .byte W36 + .byte W03 + .byte PAN , c_v+22 + .byte N24 , As3 + .byte W24 + .byte W24 + .byte PAN , c_v-22 + .byte N03 , Fn3 + .byte W03 + .byte N06 , En3 + .byte W06 + .byte N15 , Fn3 + .byte W36 + .byte W03 + .byte PAN , c_v+23 + .byte N24 , Cn4 + .byte W24 + .byte PAN , c_v-22 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_b_dome_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_b_dome_6: + .byte KEYSH , mus_b_dome_key+0 + .byte VOICE , 84 + .byte PAN , c_v+0 + .byte VOL , 45*mus_b_dome_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N03 , Fn2 , v084 + .byte W06 + .byte N03 + .byte W06 +mus_b_dome_6_B1: + .byte N12 , Ds1 , v084 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Ds1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W48 + .byte W84 + .byte N03 , Ds2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Ds1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Ds1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Gn1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Gs1 + .byte W12 + .byte W84 + .byte N03 , Fn2 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte VOL , 68*mus_b_dome_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Ds1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N12 , Ds1 + .byte W12 + .byte N24 , Fn1 + .byte W12 + .byte VOL , 58*mus_b_dome_mvl/mxv + .byte MOD , 6 + .byte W02 + .byte VOL , 51*mus_b_dome_mvl/mxv + .byte W04 + .byte 36*mus_b_dome_mvl/mxv + .byte W02 + .byte 33*mus_b_dome_mvl/mxv + .byte W04 + .byte 68*mus_b_dome_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N12 , Ds1 + .byte W12 + .byte Fn1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte W24 + .byte BEND , c_v-2 + .byte W12 + .byte c_v-4 + .byte W12 + .byte c_v-6 + .byte W12 + .byte VOL , 62*mus_b_dome_mvl/mxv + .byte BEND , c_v-8 + .byte W02 + .byte VOL , 58*mus_b_dome_mvl/mxv + .byte W04 + .byte 54*mus_b_dome_mvl/mxv + .byte W02 + .byte 48*mus_b_dome_mvl/mxv + .byte W04 + .byte 41*mus_b_dome_mvl/mxv + .byte BEND , c_v-9 + .byte W02 + .byte VOL , 36*mus_b_dome_mvl/mxv + .byte W04 + .byte 26*mus_b_dome_mvl/mxv + .byte W02 + .byte 21*mus_b_dome_mvl/mxv + .byte W04 + .byte 17*mus_b_dome_mvl/mxv + .byte BEND , c_v-12 + .byte W02 + .byte VOL , 8*mus_b_dome_mvl/mxv + .byte W04 + .byte 5*mus_b_dome_mvl/mxv + .byte W02 + .byte 1*mus_b_dome_mvl/mxv + .byte W04 + .byte 68*mus_b_dome_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Ds1 , v084 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Ds1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Gn1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Gs1 + .byte W12 + .byte W96 + .byte BEND , c_v+0 + .byte N06 , Fn1 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N03 + .byte W30 + .byte N03 + .byte W12 + .byte N03 + .byte W18 + .byte W18 + .byte N03 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N03 + .byte W06 + .byte BEND , c_v-16 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v+0 + .byte W18 + .byte c_v-2 + .byte W12 + .byte c_v-4 + .byte W12 + .byte c_v-7 + .byte W06 + .byte c_v-11 + .byte W06 + .byte c_v+0 + .byte N03 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W15 + .byte BEND , c_v-8 + .byte W03 + .byte c_v+0 + .byte W18 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W09 + .byte BEND , c_v-8 + .byte W03 + .byte c_v+0 + .byte W06 + .byte W12 + .byte N06 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte BEND , c_v-16 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v+0 + .byte W18 + .byte c_v-5 + .byte W06 + .byte c_v+0 + .byte W30 + .byte N03 , Cn3 , v072 + .byte W06 + .byte N12 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte W06 + .byte N03 , Cn3 , v044 + .byte W03 + .byte Bn2 + .byte W03 + .byte As2 + .byte W03 + .byte An2 + .byte W03 + .byte Gs2 + .byte W03 + .byte Gn2 + .byte W03 + .byte Fs2 + .byte W03 + .byte Fn2 + .byte W03 + .byte En2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Dn2 , v040 + .byte W03 + .byte Cs2 + .byte W03 + .byte Cn2 + .byte W03 + .byte Bn1 , v036 + .byte W03 + .byte As1 + .byte W03 + .byte An1 + .byte W03 + .byte N01 , Gn1 , v080 + .byte W06 + .byte Gn1 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte N01 , Gn1 , v080 + .byte W06 + .byte N01 + .byte W06 + .byte N02 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte Cn2 + .byte W06 + .byte N01 + .byte W06 + .byte Gn1 + .byte W06 + .byte N01 + .byte W06 + .byte N02 , En2 + .byte W06 + .byte N01 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W18 + .byte N03 , Gn3 , v048 + .byte W03 + .byte Fs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte En3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Cn3 + .byte W03 + .byte Bn2 + .byte W03 + .byte As2 , v040 + .byte W03 + .byte An2 , v044 + .byte W03 + .byte Gs2 , v036 + .byte W03 + .byte Gn2 , v032 + .byte W03 + .byte Fs2 , v028 + .byte W03 + .byte Fn2 , v024 + .byte W03 + .byte En2 , v020 + .byte W03 + .byte Cn2 , v080 + .byte W06 + .byte N01 + .byte W06 + .byte N10 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 , En2 + .byte W06 + .byte N01 + .byte W06 + .byte Cn2 + .byte W06 + .byte N01 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N04 + .byte W06 +mus_b_dome_6_000: + .byte N10 , Fn1 , v080 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W32 + .byte N10 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W32 + .byte PEND + .byte PATT + .word mus_b_dome_6_000 + .byte N10 , Fn1 , v080 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 , En1 + .byte W04 + .byte Fn1 + .byte W32 + .byte N10 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W32 + .byte PATT + .word mus_b_dome_6_000 + .byte N09 , Cn3 , v080 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N03 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Cn2 + .byte W12 + .byte N09 , Bn1 + .byte W18 + .byte N03 + .byte W12 + .byte N18 , Fs1 + .byte W12 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Cn3 + .byte W06 + .byte MOD , 6 + .byte N06 , Bn2 + .byte W06 + .byte MOD , 0 + .byte N03 , Cn3 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Cn2 + .byte W12 + .byte N09 , Bn1 + .byte W18 + .byte N03 + .byte W18 + .byte N12 , Fs1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte GOTO + .word mus_b_dome_6_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 7 **********************@ + +mus_b_dome_7: + .byte KEYSH , mus_b_dome_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 45*mus_b_dome_mvl/mxv + .byte PAN , c_v+63 + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 +mus_b_dome_7_000: + .byte W84 + .byte N03 , Fn2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte PEND +mus_b_dome_7_B1: + .byte N12 , Ds1 , v112 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W24 + .byte N12 , Ds1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W48 + .byte W84 + .byte N03 , Ds2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Ds1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Ds1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Gn1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Gs1 + .byte W12 + .byte PATT + .word mus_b_dome_7_000 + .byte BEND , c_v+0 + .byte N12 , Ds1 , v112 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W18 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N12 , Ds1 + .byte W12 + .byte N06 , Fn1 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte BEND , c_v+0 + .byte W12 + .byte N03 + .byte W06 + .byte MOD , 6 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N48 , Cs2 + .byte W48 + .byte Ds2 + .byte W24 + .byte VOL , 39*mus_b_dome_mvl/mxv + .byte W01 + .byte 38*mus_b_dome_mvl/mxv + .byte W01 + .byte 37*mus_b_dome_mvl/mxv + .byte W01 + .byte 36*mus_b_dome_mvl/mxv + .byte W01 + .byte 34*mus_b_dome_mvl/mxv + .byte W02 + .byte 33*mus_b_dome_mvl/mxv + .byte W01 + .byte 32*mus_b_dome_mvl/mxv + .byte W01 + .byte 31*mus_b_dome_mvl/mxv + .byte W01 + .byte 31*mus_b_dome_mvl/mxv + .byte W01 + .byte 30*mus_b_dome_mvl/mxv + .byte W02 + .byte 29*mus_b_dome_mvl/mxv + .byte W01 + .byte 28*mus_b_dome_mvl/mxv + .byte W01 + .byte 27*mus_b_dome_mvl/mxv + .byte W01 + .byte 26*mus_b_dome_mvl/mxv + .byte W01 + .byte 24*mus_b_dome_mvl/mxv + .byte W02 + .byte 22*mus_b_dome_mvl/mxv + .byte W02 + .byte 21*mus_b_dome_mvl/mxv + .byte W01 + .byte 20*mus_b_dome_mvl/mxv + .byte W03 + .byte 45*mus_b_dome_mvl/mxv + .byte N12 , Ds1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Ds1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Gn1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Gs1 + .byte W12 + .byte W96 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N06 , Fn1 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , Fn3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte W06 + .byte N03 , Fn1 + .byte W12 + .byte N03 + .byte W06 + .byte N12 , Ds3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte W06 + .byte N03 , Fn1 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N03 + .byte W06 + .byte BEND , c_v-16 + .byte N60 , Cs3 + .byte W03 + .byte BEND , c_v-8 + .byte W03 + .byte c_v+0 + .byte W18 + .byte MOD , 5 + .byte BEND , c_v-2 + .byte W12 + .byte VOL , 40*mus_b_dome_mvl/mxv + .byte BEND , c_v-4 + .byte W02 + .byte VOL , 36*mus_b_dome_mvl/mxv + .byte W02 + .byte 35*mus_b_dome_mvl/mxv + .byte W02 + .byte 32*mus_b_dome_mvl/mxv + .byte W02 + .byte 30*mus_b_dome_mvl/mxv + .byte W02 + .byte 29*mus_b_dome_mvl/mxv + .byte W02 + .byte 25*mus_b_dome_mvl/mxv + .byte BEND , c_v-7 + .byte W02 + .byte VOL , 21*mus_b_dome_mvl/mxv + .byte W02 + .byte 17*mus_b_dome_mvl/mxv + .byte W02 + .byte 14*mus_b_dome_mvl/mxv + .byte BEND , c_v-11 + .byte W02 + .byte VOL , 11*mus_b_dome_mvl/mxv + .byte W02 + .byte 10*mus_b_dome_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 45*mus_b_dome_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , Fn1 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N12 , Fn3 + .byte W03 + .byte BEND , c_v-8 + .byte W03 + .byte c_v+0 + .byte W06 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Fn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Ds3 + .byte W03 + .byte BEND , c_v-8 + .byte W03 + .byte c_v+0 + .byte W06 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Fn1 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte BEND , c_v-16 + .byte N60 , Cs3 + .byte W03 + .byte BEND , c_v-8 + .byte W03 + .byte c_v+0 + .byte W18 + .byte MOD , 3 + .byte BEND , c_v-5 + .byte W06 + .byte c_v+0 + .byte W06 + .byte VOL , 39*mus_b_dome_mvl/mxv + .byte W02 + .byte 36*mus_b_dome_mvl/mxv + .byte W02 + .byte 33*mus_b_dome_mvl/mxv + .byte W02 + .byte 30*mus_b_dome_mvl/mxv + .byte W02 + .byte 27*mus_b_dome_mvl/mxv + .byte W02 + .byte 24*mus_b_dome_mvl/mxv + .byte W02 + .byte 22*mus_b_dome_mvl/mxv + .byte W02 + .byte 19*mus_b_dome_mvl/mxv + .byte W02 + .byte 18*mus_b_dome_mvl/mxv + .byte W02 + .byte 15*mus_b_dome_mvl/mxv + .byte W02 + .byte 13*mus_b_dome_mvl/mxv + .byte W02 + .byte 12*mus_b_dome_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 45*mus_b_dome_mvl/mxv + .byte PAN , c_v+63 + .byte N03 , Cn4 + .byte W06 + .byte N12 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte W06 + .byte N03 + .byte W03 + .byte Bn3 + .byte W03 + .byte As3 + .byte W03 + .byte An3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte En3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Cn3 + .byte W03 + .byte Bn2 + .byte W03 + .byte As2 + .byte W03 + .byte An2 + .byte W03 + .byte Gn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N03 + .byte W06 + .byte N01 + .byte W06 + .byte N02 + .byte W06 + .byte N01 + .byte W06 + .byte N03 + .byte W06 + .byte N01 + .byte W06 + .byte N02 + .byte W06 + .byte N01 + .byte W06 + .byte N03 + .byte W06 + .byte N01 + .byte W06 + .byte N02 , Cn3 + .byte W06 + .byte N01 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N01 + .byte W06 + .byte N02 , En3 + .byte W06 + .byte N01 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W18 + .byte N03 , Gn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Fn4 + .byte W03 + .byte En4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte Cn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte As3 + .byte W03 + .byte An3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte En3 + .byte W03 + .byte Cn3 + .byte W06 + .byte N01 + .byte W06 + .byte N10 + .byte W12 + .byte N03 + .byte W06 + .byte N01 + .byte W06 + .byte N02 + .byte W06 + .byte N01 + .byte W06 + .byte N03 + .byte W06 + .byte N01 + .byte W06 + .byte N02 + .byte W06 + .byte N01 + .byte W06 + .byte N03 + .byte W06 + .byte N01 + .byte W06 + .byte N04 , En3 + .byte W06 + .byte N01 + .byte W06 + .byte N03 , Cn3 + .byte W06 + .byte N01 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N04 + .byte W06 + .byte N10 , Fn1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N24 , Fn3 + .byte W24 + .byte N10 , Fn1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N24 , Ds3 + .byte W24 + .byte N10 , Fn1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N24 , Cs3 + .byte W24 + .byte N10 , Fn1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N24 , Cn3 + .byte W24 + .byte N10 , Fn1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 , En1 + .byte W04 + .byte Fn1 + .byte W08 + .byte N03 , Fn3 + .byte W03 + .byte N06 , En3 + .byte W06 + .byte N15 , Fn3 + .byte W15 + .byte N10 , Fn1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N24 , Gn3 + .byte W24 + .byte N10 , Fn1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N03 , Gs3 + .byte W03 + .byte N06 , Gn3 + .byte W06 + .byte N15 , Gs3 + .byte W15 + .byte N10 , Fn1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N24 , As3 + .byte W24 + .byte N09 , Cn3 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N03 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Cn2 + .byte W12 + .byte N09 , Bn1 + .byte W18 + .byte N03 + .byte W12 + .byte N18 , Fs1 + .byte W12 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N06 , Cn3 + .byte W06 + .byte MOD , 6 + .byte N06 , Bn2 + .byte W06 + .byte MOD , 0 + .byte N03 , Cn3 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Cn2 + .byte W12 + .byte N09 , Bn1 + .byte W18 + .byte N03 + .byte W18 + .byte N12 , Fs1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte GOTO + .word mus_b_dome_7_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 8 **********************@ + +mus_b_dome_8: + .byte KEYSH , mus_b_dome_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 56*mus_b_dome_mvl/mxv + .byte N06 , Cn1 , v112 + .byte N06 , Fn1 + .byte W24 + .byte Cn1 + .byte N06 , Fn1 + .byte W24 + .byte Dn1 + .byte N06 , Ds1 + .byte W12 + .byte Ds1 , v064 + .byte W12 + .byte Ds1 , v036 + .byte W12 + .byte Ds1 , v028 + .byte N06 , Dn2 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N12 , Cn2 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , Cn1 + .byte N12 , Gn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte N06 , Dn1 + .byte N06 , Ds1 + .byte W12 + .byte Ds1 , v064 + .byte W12 + .byte Ds1 , v036 + .byte W12 + .byte Ds1 , v028 + .byte W12 +mus_b_dome_8_000: + .byte N06 , Cn1 , v112 + .byte N06 , Fn1 + .byte W24 + .byte Cn1 + .byte N06 , Fn1 + .byte W24 + .byte Dn1 + .byte N06 , Ds1 + .byte W12 + .byte Ds1 , v064 + .byte W12 + .byte Ds1 , v036 + .byte W12 + .byte Ds1 , v028 + .byte N06 , Dn2 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte PEND + .byte Cn1 + .byte N12 , Cn2 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N12 , Gn1 + .byte W12 + .byte N06 , Fn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N36 , Cs2 , v068 + .byte W12 + .byte N06 , Dn1 , v112 + .byte N06 , Ds1 + .byte W12 + .byte Cn1 + .byte N06 , Ds1 , v064 + .byte W12 + .byte Ds1 , v112 + .byte N12 , An2 , v072 + .byte W06 + .byte N06 , Dn1 , v112 + .byte W06 +mus_b_dome_8_B1: + .byte N06 , Cn1 , v112 + .byte N06 , Fn1 + .byte N24 , Gn2 , v084 + .byte W24 + .byte N06 , Cn1 , v112 + .byte N06 , Fn1 + .byte W24 + .byte Dn1 + .byte N06 , Ds1 + .byte W12 + .byte Ds1 , v064 + .byte N06 , Cn2 , v112 + .byte W12 + .byte Ds1 , v036 + .byte N06 , Bn1 , v112 + .byte W12 + .byte Ds1 , v028 + .byte N06 , Gn1 , v112 + .byte W12 +mus_b_dome_8_001: + .byte N06 , Cn1 , v112 + .byte N06 , Fn1 + .byte W24 + .byte Cn1 + .byte N06 , Fn1 + .byte W24 + .byte Dn1 + .byte N06 , Ds1 + .byte W12 + .byte Ds1 , v064 + .byte W12 + .byte Ds1 , v036 + .byte W12 + .byte Ds1 , v028 + .byte W12 + .byte PEND + .byte PATT + .word mus_b_dome_8_000 + .byte N06 , Cn1 , v112 + .byte N12 , Cn2 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , Cn1 + .byte N06 , Dn1 + .byte N12 , Gn1 + .byte N24 , An2 , v072 + .byte W12 + .byte N12 , Fn1 , v112 + .byte W09 + .byte N03 , Dn1 , v072 + .byte W03 + .byte N06 , Dn1 , v112 + .byte N06 , Ds1 + .byte N24 , Cs2 , v076 + .byte W12 + .byte N06 , Cn1 , v112 + .byte N06 , Ds1 , v064 + .byte N12 , Fn1 , v112 + .byte W12 + .byte N06 , Ds1 , v036 + .byte W12 + .byte Dn1 , v112 + .byte N06 , Ds1 + .byte W06 + .byte Dn1 , v068 + .byte W06 + .byte Cn1 , v112 + .byte N06 , Fn1 + .byte W24 + .byte Cn1 + .byte N06 , Fn1 + .byte W24 + .byte Dn1 + .byte N06 , Ds1 + .byte W12 + .byte Ds1 , v064 + .byte N12 , Cn2 , v112 + .byte W12 + .byte N06 , Ds1 , v036 + .byte N12 , Bn1 , v112 + .byte W12 + .byte N06 , Ds1 , v028 + .byte N12 , Gn1 , v112 + .byte W12 + .byte PATT + .word mus_b_dome_8_001 + .byte PATT + .word mus_b_dome_8_000 + .byte N06 , Cn1 , v112 + .byte N06 , Cn2 + .byte W12 + .byte An1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte N06 , Dn1 + .byte N12 , Gn1 + .byte N12 , Cs2 , v076 + .byte W12 + .byte N06 , Dn1 , v112 + .byte N12 , An2 , v088 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte N06 + .byte N06 , Fn1 + .byte W06 + .byte Dn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte N06 , Ds1 + .byte N24 , Gn2 , v084 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cn1 + .byte N06 , Fn1 + .byte N24 , An2 , v084 + .byte W18 + .byte N06 , Cn1 , v112 + .byte W06 + .byte N06 + .byte N06 , Fn1 + .byte W24 + .byte Dn1 + .byte N06 , Ds1 + .byte W18 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W18 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W18 + .byte Dn1 + .byte N06 , Ds1 + .byte W18 + .byte Dn1 + .byte N18 , An2 , v080 + .byte W06 + .byte N06 , Fn1 , v112 + .byte W12 + .byte Dn1 + .byte N12 , En2 , v088 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte N06 + .byte N06 , Fn1 + .byte N24 , Cs2 , v084 + .byte W18 + .byte N06 , Cn1 , v112 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W12 + .byte Dn1 + .byte N06 , Ds1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N12 , Cn2 + .byte W06 + .byte N06 , Cn1 + .byte W06 + .byte N12 , An1 + .byte W12 + .byte Gn1 + .byte W06 + .byte N06 , Cn1 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Dn1 + .byte N06 , Ds1 + .byte W12 + .byte Dn1 + .byte W24 + .byte N06 + .byte N06 , Ds1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte N06 , En2 , v064 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte An1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte N06 , Cs2 , v064 + .byte W12 + .byte Cn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte N12 , An2 , v076 + .byte W12 + .byte N06 , Dn1 , v112 + .byte N24 , En2 , v084 + .byte W12 + .byte N06 , Cn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , Dn2 + .byte W03 + .byte Dn2 , v064 + .byte W03 + .byte N06 , Cn1 , v112 + .byte W06 + .byte N03 , An1 + .byte W03 + .byte An1 , v064 + .byte W03 + .byte N06 , Cn1 , v112 + .byte W06 + .byte N03 , Gn1 + .byte W03 + .byte Gn1 , v064 + .byte W03 + .byte N06 , Cn1 , v112 + .byte W06 + .byte Dn1 + .byte N12 , En2 , v096 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte N06 + .byte W12 + .byte Dn1 + .byte N12 , En2 , v088 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte An1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte N06 , Cs2 , v064 + .byte W12 + .byte Cn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte N12 , An2 , v080 + .byte W12 + .byte N06 , Dn1 , v112 + .byte N24 , En2 , v076 + .byte W12 + .byte N06 , Cn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , Dn2 + .byte W03 + .byte Dn2 , v064 + .byte W03 + .byte N06 , Cn1 , v112 + .byte W06 + .byte N03 , An1 + .byte W03 + .byte An1 , v064 + .byte W03 + .byte N06 , Cn1 , v112 + .byte W06 + .byte N03 , Gn1 + .byte W03 + .byte Gn1 , v064 + .byte W03 + .byte N06 , Cn1 , v112 + .byte W06 + .byte Dn1 + .byte N12 , En2 , v084 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte N04 + .byte N24 , An2 , v096 + .byte W12 + .byte N04 , Cn1 , v112 + .byte W04 + .byte N04 + .byte W08 + .byte Dn1 + .byte N24 , Cs2 , v080 + .byte W24 + .byte N04 , Cn1 , v112 + .byte W12 + .byte N04 + .byte W04 + .byte N04 + .byte W08 + .byte Dn1 + .byte N24 , An2 , v076 + .byte W24 + .byte N04 , Cn1 , v112 + .byte N24 , Cs2 , v080 + .byte W12 + .byte N04 , Cn1 , v112 + .byte W04 + .byte N04 + .byte W08 + .byte Dn1 + .byte N24 , Gn2 , v080 + .byte W24 + .byte N04 , Cn1 , v112 + .byte W12 + .byte N04 + .byte W04 + .byte N04 + .byte W08 + .byte Dn1 + .byte N24 , An2 , v076 + .byte W06 + .byte N06 , Dn1 , v064 + .byte W06 + .byte Dn1 , v112 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte N04 , Cn1 , v112 + .byte N24 , Cs2 , v088 + .byte W12 + .byte N04 , Cn1 , v112 + .byte W04 + .byte N04 + .byte W08 + .byte Dn1 + .byte N24 , An2 , v084 + .byte W48 + .byte N04 , Dn1 , v112 + .byte N24 , Cs2 , v076 + .byte W24 + .byte N04 , Cn1 , v112 + .byte N24 , Cs2 , v088 + .byte W12 + .byte N04 , Cn1 , v112 + .byte W04 + .byte N04 + .byte W08 + .byte Dn1 + .byte W24 + .byte Cn1 + .byte W12 + .byte N04 + .byte W04 + .byte N04 + .byte W08 + .byte Dn1 + .byte W24 + .byte N06 , Cn1 + .byte N06 , Dn2 + .byte W12 + .byte Cn1 + .byte N06 , Fn1 + .byte W24 + .byte Cn2 + .byte W06 + .byte N06 + .byte W06 + .byte An1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte N06 , Bn1 + .byte W12 + .byte Cn1 + .byte N06 , Gn1 + .byte W12 + .byte Cn1 + .byte N06 , Fn1 + .byte W06 + .byte Cn1 + .byte W18 + .byte N06 + .byte N06 , Fn1 + .byte W24 + .byte N12 , Dn1 + .byte N12 , Ds1 + .byte W12 + .byte Dn1 , v064 + .byte N12 , Ds1 + .byte W12 + .byte Dn1 , v036 + .byte N12 , Ds1 + .byte W06 + .byte N18 , Fn1 , v112 + .byte W06 + .byte N12 , Dn1 , v016 + .byte N12 , Ds1 + .byte W12 + .byte N06 , Cn1 , v112 + .byte N06 , Dn2 + .byte W12 + .byte Cn1 + .byte N06 , Fn1 + .byte W24 + .byte Cn2 + .byte W06 + .byte N06 + .byte W06 + .byte An1 + .byte W12 + .byte Gn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N06 , Bn1 + .byte W12 + .byte Cn1 + .byte N06 , An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cn1 + .byte N24 , An1 + .byte W24 + .byte N06 , Cn1 + .byte N24 , Fn1 + .byte W24 + .byte N18 , Dn1 + .byte N18 , Ds1 + .byte N18 , En2 , v080 + .byte W18 + .byte Dn1 , v112 + .byte N18 , An2 , v092 + .byte W18 + .byte N12 , Dn1 , v112 + .byte N12 , Cs2 , v092 + .byte W12 + .byte GOTO + .word mus_b_dome_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_b_dome_9: + .byte KEYSH , mus_b_dome_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 38*mus_b_dome_mvl/mxv + .byte N01 , Cn5 , v112 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v036 + .byte W12 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v048 + .byte W12 +mus_b_dome_9_000: + .byte N01 , Cn5 , v112 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v096 + .byte W24 + .byte PEND +mus_b_dome_9_001: + .byte N01 , Cn5 , v112 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte PEND + .byte PATT + .word mus_b_dome_9_001 +mus_b_dome_9_B1: +mus_b_dome_9_002: + .byte N01 , Cn5 , v112 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v036 + .byte W12 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte PEND + .byte PATT + .word mus_b_dome_9_000 + .byte PATT + .word mus_b_dome_9_001 + .byte PATT + .word mus_b_dome_9_001 + .byte PATT + .word mus_b_dome_9_002 + .byte PATT + .word mus_b_dome_9_000 + .byte PATT + .word mus_b_dome_9_001 + .byte PATT + .word mus_b_dome_9_001 + .byte PATT + .word mus_b_dome_9_002 + .byte PATT + .word mus_b_dome_9_000 + .byte PATT + .word mus_b_dome_9_001 + .byte PATT + .word mus_b_dome_9_001 + .byte PATT + .word mus_b_dome_9_001 + .byte W96 + .byte PATT + .word mus_b_dome_9_001 + .byte PATT + .word mus_b_dome_9_001 +mus_b_dome_9_003: + .byte N01 , Cn5 , v112 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte PEND + .byte PATT + .word mus_b_dome_9_003 + .byte PATT + .word mus_b_dome_9_003 + .byte PATT + .word mus_b_dome_9_003 + .byte PATT + .word mus_b_dome_9_003 + .byte PATT + .word mus_b_dome_9_003 + .byte PATT + .word mus_b_dome_9_003 + .byte PATT + .word mus_b_dome_9_003 + .byte GOTO + .word mus_b_dome_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_b_dome_10: + .byte KEYSH , mus_b_dome_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 56*mus_b_dome_mvl/mxv + .byte W96 + .byte W84 + .byte N12 , Gn5 , v064 + .byte W12 + .byte W96 + .byte W96 +mus_b_dome_10_B1: + .byte W96 + .byte W84 + .byte N12 , Gn5 , v064 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_b_dome_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_b_dome: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_b_dome_pri @ Priority + .byte mus_b_dome_rev @ Reverb. + + .word mus_b_dome_grp + + .word mus_b_dome_1 + .word mus_b_dome_2 + .word mus_b_dome_3 + .word mus_b_dome_4 + .word mus_b_dome_5 + .word mus_b_dome_6 + .word mus_b_dome_7 + .word mus_b_dome_8 + .word mus_b_dome_9 + .word mus_b_dome_10 + + .end diff --git a/sound/songs/mus_b_dome1.s b/sound/songs/mus_b_dome1.s new file mode 100644 index 0000000000..706be0bf5c --- /dev/null +++ b/sound/songs/mus_b_dome1.s @@ -0,0 +1,386 @@ + .include "MPlayDef.s" + + .equ mus_b_dome1_grp, voicegroup_8698054 + .equ mus_b_dome1_pri, 0 + .equ mus_b_dome1_rev, reverb_set+50 + .equ mus_b_dome1_mvl, 127 + .equ mus_b_dome1_key, 0 + .equ mus_b_dome1_tbs, 1 + .equ mus_b_dome1_exg, 0 + .equ mus_b_dome1_cmp, 1 + + .section .rodata + .global mus_b_dome1 + .align 2 + +@********************** Track 1 **********************@ + +mus_b_dome1_1: + .byte KEYSH , mus_b_dome1_key+0 + .byte TEMPO , 144*mus_b_dome1_tbs/2 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 56*mus_b_dome1_mvl/mxv + .byte N06 , Cn1 , v112 + .byte N06 , Fn1 + .byte W24 + .byte Cn1 + .byte N06 , Fn1 + .byte W24 + .byte Dn1 + .byte N06 , Ds1 + .byte W12 + .byte Ds1 , v064 + .byte W12 + .byte Ds1 , v036 + .byte W12 + .byte Ds1 , v028 + .byte N06 , Dn2 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N12 , Cn2 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , Cn1 + .byte N12 , Gn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte N06 , Dn1 + .byte N06 , Ds1 + .byte W12 + .byte Ds1 , v064 + .byte W12 + .byte Ds1 , v036 + .byte W12 + .byte Ds1 , v028 + .byte W12 +mus_b_dome1_1_000: + .byte N06 , Cn1 , v112 + .byte N06 , Fn1 + .byte W24 + .byte Cn1 + .byte N06 , Fn1 + .byte W24 + .byte Dn1 + .byte N06 , Ds1 + .byte W12 + .byte Ds1 , v064 + .byte W12 + .byte Ds1 , v036 + .byte W12 + .byte Ds1 , v028 + .byte N06 , Dn2 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte PEND + .byte Cn1 + .byte N12 , Cn2 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N12 , Gn1 + .byte W12 + .byte N06 , Fn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N36 , Cs2 , v068 + .byte W12 + .byte N06 , Dn1 , v112 + .byte N06 , Ds1 + .byte W12 + .byte Cn1 + .byte N06 , Ds1 , v064 + .byte W12 + .byte Ds1 , v112 + .byte N12 , An2 , v072 + .byte W06 + .byte N06 , Dn1 , v112 + .byte W06 +mus_b_dome1_1_B1: + .byte N06 , Cn1 , v112 + .byte N06 , Fn1 + .byte N24 , Gn2 , v084 + .byte W24 + .byte N06 , Cn1 , v112 + .byte N06 , Fn1 + .byte W24 + .byte Dn1 + .byte N06 , Ds1 + .byte W12 + .byte Ds1 , v064 + .byte N06 , Cn2 , v112 + .byte W12 + .byte Ds1 , v036 + .byte N06 , Bn1 , v112 + .byte W12 + .byte Ds1 , v028 + .byte N06 , Gn1 , v112 + .byte W12 +mus_b_dome1_1_001: + .byte N06 , Cn1 , v112 + .byte N06 , Fn1 + .byte W24 + .byte Cn1 + .byte N06 , Fn1 + .byte W24 + .byte Dn1 + .byte N06 , Ds1 + .byte W12 + .byte Ds1 , v064 + .byte W12 + .byte Ds1 , v036 + .byte W12 + .byte Ds1 , v028 + .byte W12 + .byte PEND + .byte PATT + .word mus_b_dome1_1_000 + .byte N06 , Cn1 , v112 + .byte N12 , Cn2 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , Cn1 + .byte N06 , Dn1 + .byte N12 , Gn1 + .byte N24 , An2 , v072 + .byte W12 + .byte N12 , Fn1 , v112 + .byte W09 + .byte N03 , Dn1 , v072 + .byte W03 + .byte N06 , Dn1 , v112 + .byte N06 , Ds1 + .byte N24 , Cs2 , v076 + .byte W12 + .byte N06 , Cn1 , v112 + .byte N06 , Ds1 , v064 + .byte N12 , Fn1 , v112 + .byte W12 + .byte N06 , Ds1 , v036 + .byte W12 + .byte Dn1 , v112 + .byte N06 , Ds1 + .byte W06 + .byte Dn1 , v068 + .byte W06 + .byte Cn1 , v112 + .byte N06 , Fn1 + .byte W24 + .byte Cn1 + .byte N06 , Fn1 + .byte W24 + .byte Dn1 + .byte N06 , Ds1 + .byte W12 + .byte Ds1 , v064 + .byte N12 , Cn2 , v112 + .byte W12 + .byte N06 , Ds1 , v036 + .byte N12 , Bn1 , v112 + .byte W12 + .byte N06 , Ds1 , v028 + .byte N12 , Gn1 , v112 + .byte W12 + .byte PATT + .word mus_b_dome1_1_001 + .byte PATT + .word mus_b_dome1_1_000 + .byte N06 , Cn1 , v112 + .byte N06 , Cn2 + .byte W12 + .byte An1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte N06 , Dn1 + .byte N12 , Gn1 + .byte N12 , Cs2 , v076 + .byte W12 + .byte N06 , Dn1 , v112 + .byte N12 , An2 , v088 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte N06 + .byte N06 , Fn1 + .byte W06 + .byte Dn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte N06 , Ds1 + .byte N24 , Gn2 , v084 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte GOTO + .word mus_b_dome1_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_b_dome1_2: + .byte KEYSH , mus_b_dome1_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 38*mus_b_dome1_mvl/mxv + .byte PAN , c_v+63 + .byte N01 , Cn5 , v112 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v036 + .byte W12 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v048 + .byte W12 +mus_b_dome1_2_000: + .byte N01 , Cn5 , v112 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v096 + .byte W24 + .byte PEND +mus_b_dome1_2_001: + .byte N01 , Cn5 , v112 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte PEND + .byte PATT + .word mus_b_dome1_2_001 +mus_b_dome1_2_B1: +mus_b_dome1_2_002: + .byte N01 , Cn5 , v112 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v036 + .byte W12 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte PEND + .byte PATT + .word mus_b_dome1_2_000 + .byte PATT + .word mus_b_dome1_2_001 + .byte PATT + .word mus_b_dome1_2_001 + .byte PATT + .word mus_b_dome1_2_002 + .byte PATT + .word mus_b_dome1_2_000 + .byte PATT + .word mus_b_dome1_2_001 + .byte PATT + .word mus_b_dome1_2_001 + .byte GOTO + .word mus_b_dome1_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_b_dome1_3: + .byte KEYSH , mus_b_dome1_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 56*mus_b_dome1_mvl/mxv + .byte PAN , c_v+63 + .byte W96 + .byte W84 + .byte N12 , Gn5 , v064 + .byte W12 + .byte W96 + .byte W96 +mus_b_dome1_3_B1: + .byte W96 + .byte W84 + .byte N12 , Gn5 , v064 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W96 + .byte GOTO + .word mus_b_dome1_3_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_b_dome1: + .byte 3 @ NumTrks + .byte 0 @ NumBlks + .byte mus_b_dome1_pri @ Priority + .byte mus_b_dome1_rev @ Reverb. + + .word mus_b_dome1_grp + + .word mus_b_dome1_1 + .word mus_b_dome1_2 + .word mus_b_dome1_3 + + .end diff --git a/sound/songs/mus_b_factory.s b/sound/songs/mus_b_factory.s new file mode 100644 index 0000000000..5077632dc5 --- /dev/null +++ b/sound/songs/mus_b_factory.s @@ -0,0 +1,5584 @@ + .include "MPlayDef.s" + + .equ mus_b_factory_grp, voicegroup_8698C54 + .equ mus_b_factory_pri, 0 + .equ mus_b_factory_rev, reverb_set+50 + .equ mus_b_factory_mvl, 127 + .equ mus_b_factory_key, 0 + .equ mus_b_factory_tbs, 1 + .equ mus_b_factory_exg, 0 + .equ mus_b_factory_cmp, 1 + + .section .rodata + .global mus_b_factory + .align 2 + +@********************** Track 1 **********************@ + +mus_b_factory_1: + .byte KEYSH , mus_b_factory_key+0 + .byte TEMPO , 144*mus_b_factory_tbs/2 + .byte VOICE , 29 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 62*mus_b_factory_mvl/mxv + .byte W72 + .byte W96 +mus_b_factory_1_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 29 + .byte PAN , c_v-32 + .byte BEND , c_v+0 + .byte N06 , Cn2 , v112 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte N12 , Cn3 + .byte W06 + .byte PAN , c_v+0 + .byte W06 + .byte N06 , En2 + .byte W01 + .byte PAN , c_v+32 + .byte W05 + .byte N06 , Fn2 + .byte W06 + .byte Cn2 + .byte W01 + .byte PAN , c_v-32 + .byte W05 + .byte N06 , Dn2 + .byte W04 + .byte PAN , c_v+0 + .byte W02 + .byte N06 , Fn2 + .byte W06 + .byte Gn2 + .byte W01 + .byte PAN , c_v+31 + .byte W05 + .byte N06 , Bn2 + .byte W06 + .byte PAN , c_v-16 + .byte BEND , c_v+63 + .byte N24 , Dn2 + .byte W03 + .byte BEND , c_v+38 + .byte W03 + .byte c_v+26 + .byte W02 + .byte c_v+0 + .byte W04 + .byte c_v-16 + .byte W03 + .byte c_v-32 + .byte W03 + .byte c_v-48 + .byte W03 + .byte c_v-63 + .byte W03 + .byte c_v+0 + .byte W96 + .byte W96 + .byte VOICE , 12 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte PAN , c_v-18 + .byte N05 , Fn3 + .byte W16 + .byte Cn4 + .byte W08 + .byte Cn3 + .byte W16 + .byte Cn4 + .byte W08 + .byte VOL , 56*mus_b_factory_mvl/mxv + .byte BEND , c_v+1 + .byte N05 , Dn3 + .byte W16 + .byte Cn4 + .byte W08 + .byte BEND , c_v+2 + .byte N05 , En3 + .byte W16 + .byte Cn4 + .byte W08 + .byte VOL , 62*mus_b_factory_mvl/mxv + .byte BEND , c_v+0 + .byte N05 , Gn3 + .byte W16 + .byte Dn4 + .byte W08 + .byte Dn3 + .byte W16 + .byte Dn4 + .byte W08 + .byte BEND , c_v+0 + .byte N05 , En3 + .byte W16 + .byte Dn4 + .byte W08 + .byte BEND , c_v+1 + .byte N05 , Fs3 + .byte W16 + .byte Dn4 + .byte W08 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte VOICE , 60 + .byte PAN , c_v-23 + .byte N06 , Gs3 + .byte W18 + .byte En3 + .byte W06 + .byte N24 , Bn3 + .byte W15 + .byte MOD , 7 + .byte W06 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte N24 , An3 + .byte W24 + .byte Gs3 + .byte W24 + .byte N06 , Ds3 + .byte W18 + .byte En3 + .byte W06 + .byte N48 , Fs3 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte W02 + .byte 28*mus_b_factory_mvl/mxv + .byte W04 + .byte 19*mus_b_factory_mvl/mxv + .byte W02 + .byte 15*mus_b_factory_mvl/mxv + .byte W01 + .byte 11*mus_b_factory_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte W24 + .byte VOICE , 14 + .byte PAN , c_v+18 + .byte VOL , 75*mus_b_factory_mvl/mxv + .byte W12 + .byte N84 , Gs3 , v120 + .byte W36 + .byte PAN , c_v+16 + .byte W02 + .byte c_v+16 + .byte W04 + .byte c_v+12 + .byte W02 + .byte c_v+9 + .byte W04 + .byte c_v+6 + .byte W02 + .byte c_v+2 + .byte W04 + .byte c_v+0 + .byte W02 + .byte c_v-2 + .byte W04 + .byte c_v-7 + .byte VOL , 70*mus_b_factory_mvl/mxv + .byte W02 + .byte PAN , c_v-11 + .byte VOL , 59*mus_b_factory_mvl/mxv + .byte W04 + .byte PAN , c_v-14 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte W02 + .byte PAN , c_v-18 + .byte VOL , 44*mus_b_factory_mvl/mxv + .byte W04 + .byte PAN , c_v-23 + .byte VOL , 32*mus_b_factory_mvl/mxv + .byte W02 + .byte PAN , c_v-29 + .byte VOL , 22*mus_b_factory_mvl/mxv + .byte W04 + .byte PAN , c_v-32 + .byte VOL , 15*mus_b_factory_mvl/mxv + .byte W02 + .byte PAN , c_v-37 + .byte VOL , 14*mus_b_factory_mvl/mxv + .byte W01 + .byte 6*mus_b_factory_mvl/mxv + .byte W03 + .byte PAN , c_v+32 + .byte VOL , 79*mus_b_factory_mvl/mxv + .byte W96 + .byte GOTO + .word mus_b_factory_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_b_factory_2: + .byte KEYSH , mus_b_factory_key+0 + .byte VOICE , 4 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 100*mus_b_factory_mvl/mxv + .byte N01 , En2 , v112 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte N01 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte VOICE , 5 + .byte N01 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En3 + .byte W06 +mus_b_factory_2_B1: + .byte N04 , Gn2 , v112 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte VOICE , 1 + .byte N04 , En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte VOICE , 3 + .byte W06 + .byte N04 , En3 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte VOICE , 2 + .byte N01 , En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte En3 + .byte W06 +mus_b_factory_2_000: + .byte VOICE , 4 + .byte N01 , En1 , v112 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte N01 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte PEND +mus_b_factory_2_001: + .byte VOICE , 5 + .byte N01 , En1 , v112 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte N01 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte PEND +mus_b_factory_2_002: + .byte VOICE , 1 + .byte N01 , En1 , v112 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte N01 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte PEND +mus_b_factory_2_003: + .byte VOICE , 3 + .byte N01 , En1 , v112 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte VOICE , 2 + .byte W06 + .byte N01 , En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte N01 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte PEND +mus_b_factory_2_004: + .byte N01 , En1 , v112 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte VOICE , 3 + .byte W06 + .byte N01 , En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte N01 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte PEND + .byte PATT + .word mus_b_factory_2_002 + .byte PATT + .word mus_b_factory_2_001 +mus_b_factory_2_005: + .byte VOICE , 4 + .byte N01 , En1 , v112 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte VOICE , 39 + .byte W06 + .byte N01 , En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte N01 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte PEND +mus_b_factory_2_006: + .byte VOICE , 87 + .byte N01 , En1 , v048 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte N01 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte PEND + .byte PATT + .word mus_b_factory_2_002 + .byte PATT + .word mus_b_factory_2_002 + .byte VOICE , 3 + .byte N01 , En1 , v112 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte VOICE , 2 + .byte W06 + .byte N01 , En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte VOICE , 87 + .byte N01 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte VOICE , 2 + .byte N01 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte VOICE , 3 + .byte W06 + .byte N01 , En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte N01 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 +mus_b_factory_2_007: + .byte VOICE , 1 + .byte N01 , En1 , v112 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte VOICE , 39 + .byte N01 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte PEND + .byte PATT + .word mus_b_factory_2_001 + .byte PATT + .word mus_b_factory_2_000 + .byte VOICE , 4 + .byte N01 , En1 , v112 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte VOICE , 87 + .byte N01 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte VOICE , 5 + .byte N01 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte VOICE , 39 + .byte W06 + .byte N01 , En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte VOICE , 2 + .byte N01 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte PATT + .word mus_b_factory_2_007 + .byte PATT + .word mus_b_factory_2_003 + .byte PATT + .word mus_b_factory_2_004 + .byte PATT + .word mus_b_factory_2_002 + .byte PATT + .word mus_b_factory_2_001 + .byte PATT + .word mus_b_factory_2_005 + .byte PATT + .word mus_b_factory_2_006 + .byte N01 , En1 , v112 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte VOICE , 39 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte N12 , En2 + .byte W12 + .byte N01 , En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte N04 , En1 , v032 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte PATT + .word mus_b_factory_2_002 + .byte VOICE , 3 + .byte N01 , En1 , v112 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte N01 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte VOICE , 2 + .byte N01 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte N01 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte VOICE , 87 + .byte BEND , c_v+0 + .byte N06 , Gn1 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N12 , Gn1 + .byte W12 + .byte N72 , Bn3 , v052 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 32 + .byte W24 + .byte 64 + .byte W01 + .byte BEND , c_v+2 + .byte W01 + .byte c_v+3 + .byte W01 + .byte c_v+6 + .byte W01 + .byte c_v+9 + .byte W02 + .byte c_v+13 + .byte W01 + .byte c_v+17 + .byte W01 + .byte c_v+22 + .byte W01 + .byte c_v+25 + .byte W01 + .byte c_v+31 + .byte W02 + .byte MOD , 127 + .byte BEND , c_v+37 + .byte W01 + .byte c_v+43 + .byte W01 + .byte c_v+52 + .byte W01 + .byte c_v+59 + .byte W01 + .byte c_v+62 + .byte W02 + .byte c_v+63 + .byte W06 + .byte VOICE , 39 + .byte BEND , c_v+3 + .byte N01 , En1 , v048 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte N01 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte VOICE , 4 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N01 , En1 , v112 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte N01 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte VOICE , 6 + .byte N03 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte N03 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte VOICE , 7 + .byte N03 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte N03 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte VOICE , 8 + .byte N03 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte N03 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte VOICE , 39 + .byte N03 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte N03 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte VOICE , 9 + .byte N03 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte VOICE , 10 + .byte W06 + .byte N03 , En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte N03 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte GOTO + .word mus_b_factory_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_b_factory_3: + .byte KEYSH , mus_b_factory_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 88*mus_b_factory_mvl/mxv + .byte PAN , c_v+0 + .byte W72 + .byte W96 +mus_b_factory_3_B1: + .byte PAN , c_v+32 + .byte N04 , Gn4 , v056 + .byte W06 + .byte PAN , c_v-32 + .byte N04 , En4 , v060 + .byte W18 + .byte PAN , c_v+32 + .byte W18 + .byte N04 , En4 , v052 + .byte W06 + .byte VOICE , 38 + .byte W24 + .byte PAN , c_v-53 + .byte N01 , En1 , v076 + .byte W01 + .byte Fn1 + .byte W01 + .byte Fs1 , v080 + .byte W01 + .byte Gn1 + .byte W01 + .byte Gs1 + .byte W02 + .byte PAN , c_v-53 + .byte N01 , An1 , v084 + .byte W01 + .byte PAN , c_v-49 + .byte N01 , As1 + .byte W01 + .byte PAN , c_v-42 + .byte N01 , Bn1 + .byte W01 + .byte PAN , c_v-34 + .byte N01 , Cn2 , v088 + .byte W01 + .byte PAN , c_v-32 + .byte N01 , Cs2 + .byte W02 + .byte PAN , c_v-27 + .byte N01 , Dn2 + .byte W01 + .byte PAN , c_v-20 + .byte N01 , Ds2 + .byte W01 + .byte PAN , c_v-16 + .byte N01 , En2 , v092 + .byte W01 + .byte PAN , c_v-9 + .byte N01 , Fn2 + .byte W01 + .byte PAN , c_v+0 + .byte N01 , Fs2 + .byte W02 + .byte PAN , c_v+7 + .byte N01 , Gn2 , v096 + .byte W01 + .byte PAN , c_v+12 + .byte N01 , Gs2 + .byte W01 + .byte PAN , c_v+16 + .byte N01 , An2 + .byte W01 + .byte PAN , c_v+23 + .byte N01 , As2 + .byte W01 + .byte PAN , c_v+40 + .byte N01 , Bn2 , v112 + .byte W02 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte VOICE , 47 + .byte PAN , c_v+16 + .byte W12 + .byte N06 , En4 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v-32 + .byte N24 , En3 , v060 + .byte W96 + .byte PAN , c_v+15 + .byte N06 , En4 , v048 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte PAN , c_v-32 + .byte N06 + .byte W06 + .byte Bn3 , v056 + .byte W12 + .byte N06 + .byte W18 + .byte PAN , c_v+32 + .byte N06 , Bn3 , v052 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v-32 + .byte N24 , En3 , v060 + .byte W96 + .byte W96 + .byte W96 + .byte BEND , c_v+0 + .byte W96 + .byte VOICE , 35 + .byte PAN , c_v-32 + .byte VOL , 64*mus_b_factory_mvl/mxv + .byte BEND , c_v+1 + .byte N01 , En1 , v064 + .byte W06 + .byte En2 + .byte W12 + .byte PAN , c_v+32 + .byte N01 , En1 + .byte W06 + .byte En2 + .byte W12 + .byte PAN , c_v-32 + .byte N01 , En1 + .byte W06 + .byte En2 + .byte W12 + .byte PAN , c_v+31 + .byte N01 , En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte PAN , c_v-32 + .byte N01 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v+31 + .byte N01 , Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte En2 + .byte W12 + .byte PAN , c_v-32 + .byte N01 , En1 + .byte W06 + .byte En2 + .byte W12 + .byte PAN , c_v+31 + .byte N01 , En1 + .byte W06 + .byte En2 + .byte W12 + .byte PAN , c_v-32 + .byte N01 , En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte PAN , c_v+31 + .byte N01 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v-32 + .byte N01 , Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte PAN , c_v-32 + .byte N04 + .byte W06 + .byte En2 + .byte W12 + .byte PAN , c_v+32 + .byte N04 , En1 + .byte W06 + .byte En2 + .byte W12 + .byte PAN , c_v-32 + .byte N04 , En1 + .byte W06 + .byte En2 + .byte W12 + .byte PAN , c_v+31 + .byte N04 , En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte PAN , c_v-32 + .byte N04 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v+31 + .byte N04 , Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte N04 + .byte W06 + .byte En2 + .byte W12 + .byte PAN , c_v-32 + .byte N04 , En1 + .byte W06 + .byte En2 + .byte W12 + .byte PAN , c_v+31 + .byte N04 , En1 + .byte W06 + .byte En2 + .byte W12 + .byte PAN , c_v-32 + .byte N04 , En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte PAN , c_v+31 + .byte N04 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v-32 + .byte N04 , Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte VOICE , 38 + .byte PAN , c_v-32 + .byte N04 + .byte W06 + .byte En2 + .byte W12 + .byte PAN , c_v+32 + .byte N04 , En1 + .byte W06 + .byte En2 + .byte W12 + .byte PAN , c_v-32 + .byte N04 , En1 + .byte W06 + .byte En2 + .byte W12 + .byte PAN , c_v+31 + .byte N04 , En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte PAN , c_v-32 + .byte N04 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v+31 + .byte N04 , Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte BEND , c_v+2 + .byte N04 + .byte W06 + .byte En2 + .byte W12 + .byte PAN , c_v-32 + .byte N04 , En1 + .byte W06 + .byte En2 + .byte W12 + .byte PAN , c_v+31 + .byte N04 , En1 + .byte W06 + .byte En2 + .byte W12 + .byte PAN , c_v-32 + .byte N04 , En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte PAN , c_v+31 + .byte N04 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v-32 + .byte N04 , Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte PAN , c_v-32 + .byte MOD , 127 + .byte VOL , 81*mus_b_factory_mvl/mxv + .byte BEND , c_v+63 + .byte N48 , Dn2 , v088 + .byte W02 + .byte BEND , c_v+62 + .byte W01 + .byte c_v+60 + .byte W01 + .byte c_v+57 + .byte W02 + .byte c_v+53 + .byte W01 + .byte c_v+46 + .byte W01 + .byte PAN , c_v-27 + .byte W01 + .byte c_v-24 + .byte W01 + .byte c_v-17 + .byte BEND , c_v+43 + .byte W02 + .byte PAN , c_v-13 + .byte BEND , c_v+41 + .byte W01 + .byte PAN , c_v-7 + .byte BEND , c_v+35 + .byte W01 + .byte PAN , c_v-4 + .byte BEND , c_v+32 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+27 + .byte W01 + .byte PAN , c_v+8 + .byte W02 + .byte BEND , c_v+25 + .byte W01 + .byte PAN , c_v+13 + .byte BEND , c_v+22 + .byte W01 + .byte PAN , c_v+16 + .byte BEND , c_v+20 + .byte W01 + .byte PAN , c_v+18 + .byte BEND , c_v+14 + .byte W01 + .byte PAN , c_v+24 + .byte BEND , c_v+11 + .byte W02 + .byte c_v+6 + .byte W01 + .byte PAN , c_v+29 + .byte BEND , c_v+4 + .byte W01 + .byte PAN , c_v+32 + .byte BEND , c_v-5 + .byte W01 + .byte c_v-10 + .byte W01 + .byte VOL , 81*mus_b_factory_mvl/mxv + .byte PAN , c_v+38 + .byte BEND , c_v-18 + .byte W02 + .byte VOL , 75*mus_b_factory_mvl/mxv + .byte PAN , c_v+41 + .byte BEND , c_v-22 + .byte W01 + .byte VOL , 71*mus_b_factory_mvl/mxv + .byte PAN , c_v+44 + .byte BEND , c_v-28 + .byte W01 + .byte VOL , 66*mus_b_factory_mvl/mxv + .byte BEND , c_v-37 + .byte W01 + .byte VOL , 65*mus_b_factory_mvl/mxv + .byte BEND , c_v-40 + .byte W01 + .byte VOL , 59*mus_b_factory_mvl/mxv + .byte BEND , c_v-50 + .byte W02 + .byte VOL , 57*mus_b_factory_mvl/mxv + .byte BEND , c_v-54 + .byte W01 + .byte VOL , 52*mus_b_factory_mvl/mxv + .byte BEND , c_v-60 + .byte W01 + .byte VOL , 48*mus_b_factory_mvl/mxv + .byte BEND , c_v-63 + .byte W01 + .byte VOL , 44*mus_b_factory_mvl/mxv + .byte W01 + .byte 40*mus_b_factory_mvl/mxv + .byte W02 + .byte 37*mus_b_factory_mvl/mxv + .byte W01 + .byte 33*mus_b_factory_mvl/mxv + .byte W01 + .byte 31*mus_b_factory_mvl/mxv + .byte W01 + .byte 27*mus_b_factory_mvl/mxv + .byte W01 + .byte 24*mus_b_factory_mvl/mxv + .byte W24 + .byte W02 + .byte MOD , 0 + .byte W24 + .byte W96 + .byte W96 + .byte W72 + .byte VOICE , 38 + .byte W24 + .byte PAN , c_v+0 + .byte VOL , 69*mus_b_factory_mvl/mxv + .byte N01 , En1 , v112 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte N01 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte N04 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte N04 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte PAN , c_v-64 + .byte BEND , c_v+1 + .byte N06 , En1 , v080 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v+0 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte En2 + .byte W06 + .byte N12 , En1 + .byte W06 + .byte PAN , c_v-64 + .byte W06 + .byte N06 , En2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte PAN , c_v+0 + .byte VOL , 75*mus_b_factory_mvl/mxv + .byte BEND , c_v+0 + .byte W24 + .byte N06 , Fs2 , v112 + .byte W06 + .byte Gn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Bn0 + .byte W06 + .byte Dn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte VOL , 100*mus_b_factory_mvl/mxv + .byte N04 , Bn1 + .byte W06 + .byte Bn2 + .byte W12 + .byte Bn1 + .byte W06 + .byte Bn2 + .byte W12 + .byte Bn1 + .byte W06 + .byte Bn2 + .byte W12 + .byte Bn1 + .byte W06 + .byte Bn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte N04 + .byte W06 + .byte Fs2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Fn3 + .byte W06 + .byte N48 , Fs3 , v100 + .byte W12 + .byte MOD , 8 + .byte W06 + .byte 18 + .byte W06 + .byte 127 + .byte BEND , c_v-6 + .byte W01 + .byte c_v-8 + .byte W01 + .byte c_v-10 + .byte W01 + .byte c_v-12 + .byte W01 + .byte c_v-14 + .byte W02 + .byte c_v-18 + .byte W01 + .byte c_v-23 + .byte W01 + .byte c_v-25 + .byte W01 + .byte VOL , 87*mus_b_factory_mvl/mxv + .byte BEND , c_v-30 + .byte W01 + .byte VOL , 81*mus_b_factory_mvl/mxv + .byte BEND , c_v-33 + .byte W02 + .byte VOL , 79*mus_b_factory_mvl/mxv + .byte BEND , c_v-38 + .byte W01 + .byte VOL , 70*mus_b_factory_mvl/mxv + .byte BEND , c_v-41 + .byte W01 + .byte VOL , 59*mus_b_factory_mvl/mxv + .byte BEND , c_v-45 + .byte W01 + .byte VOL , 55*mus_b_factory_mvl/mxv + .byte BEND , c_v-49 + .byte W01 + .byte VOL , 47*mus_b_factory_mvl/mxv + .byte BEND , c_v-54 + .byte W02 + .byte VOL , 41*mus_b_factory_mvl/mxv + .byte BEND , c_v-57 + .byte W01 + .byte VOL , 32*mus_b_factory_mvl/mxv + .byte BEND , c_v-60 + .byte W01 + .byte VOL , 26*mus_b_factory_mvl/mxv + .byte BEND , c_v-64 + .byte W01 + .byte VOL , 21*mus_b_factory_mvl/mxv + .byte W01 + .byte 17*mus_b_factory_mvl/mxv + .byte W02 + .byte 75*mus_b_factory_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 56 + .byte VOL , 100*mus_b_factory_mvl/mxv + .byte PAN , c_v-32 + .byte N04 , En3 , v084 + .byte W06 + .byte En4 + .byte W12 + .byte PAN , c_v+32 + .byte N04 , En3 + .byte W06 + .byte En4 + .byte W12 + .byte PAN , c_v-32 + .byte N04 , En3 + .byte W06 + .byte En4 + .byte W12 + .byte PAN , c_v+32 + .byte N04 , En3 + .byte W06 + .byte En4 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-32 + .byte N04 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+32 + .byte N04 , Gn4 + .byte W06 + .byte En3 + .byte W06 + .byte GOTO + .word mus_b_factory_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_b_factory_4: + .byte KEYSH , mus_b_factory_key+0 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte PAN , c_v-18 + .byte W72 + .byte W96 +mus_b_factory_4_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 73 + .byte W96 + .byte W96 + .byte PAN , c_v-24 + .byte VOL , 25*mus_b_factory_mvl/mxv + .byte N02 , Ds6 , v112 + .byte W02 + .byte N22 , Dn6 + .byte W22 + .byte N06 , Cn6 + .byte W16 + .byte As5 + .byte W08 + .byte N24 , An5 + .byte W24 + .byte N06 , Gn5 + .byte W16 + .byte As5 + .byte W08 + .byte N24 , Gn5 + .byte W24 + .byte N02 , Ds5 + .byte W02 + .byte N44 , Dn5 + .byte W68 + .byte W02 + .byte W96 + .byte W96 + .byte VOICE , 47 + .byte VOL , 100*mus_b_factory_mvl/mxv + .byte PAN , c_v-21 + .byte N06 , En2 , v096 + .byte W24 + .byte N03 , Bn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En2 + .byte W24 + .byte N06 + .byte W36 + .byte Bn1 + .byte W24 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W36 + .byte W96 + .byte W96 + .byte GOTO + .word mus_b_factory_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_b_factory_5: + .byte KEYSH , mus_b_factory_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 23*mus_b_factory_mvl/mxv + .byte PAN , c_v-64 + .byte W24 + .byte N01 , En2 , v112 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v+62 + .byte W06 + .byte N01 , En1 + .byte W06 + .byte En2 + .byte W12 + .byte PAN , c_v-64 + .byte N01 , En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte VOICE , 92 + .byte PAN , c_v+63 + .byte N01 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v+63 + .byte W06 + .byte N01 , En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 +mus_b_factory_5_B1: + .byte PAN , c_v-64 + .byte N01 , En1 , v112 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En3 + .byte W06 + .byte VOICE , 91 + .byte PAN , c_v+63 + .byte N01 , Gn2 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte VOICE , 92 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte BEND , c_v+3 + .byte N18 , En1 , v127 + .byte W01 + .byte BEND , c_v+4 + .byte W01 + .byte c_v+9 + .byte W02 + .byte c_v+12 + .byte W01 + .byte c_v+18 + .byte W01 + .byte c_v+23 + .byte W01 + .byte c_v+26 + .byte W01 + .byte c_v+32 + .byte W02 + .byte c_v+34 + .byte W01 + .byte c_v+39 + .byte W01 + .byte c_v+44 + .byte W01 + .byte c_v+53 + .byte W01 + .byte c_v+60 + .byte W01 + .byte c_v+63 + .byte W03 + .byte c_v+0 + .byte W06 + .byte VOICE , 80 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte W18 + .byte N01 , Cs4 , v048 + .byte W01 + .byte Dn4 + .byte W01 + .byte En4 + .byte W01 + .byte Fn4 + .byte W01 + .byte Fs4 + .byte W02 + .byte N28 , Gn4 , v112 + .byte W28 + .byte PAN , c_v+63 + .byte N01 , Gs4 , v048 + .byte W02 + .byte An4 + .byte W01 + .byte As4 + .byte W01 + .byte Bn4 + .byte W01 + .byte Cn5 + .byte W01 + .byte Cs5 + .byte W02 + .byte N14 , Dn5 , v112 + .byte W14 + .byte PAN , c_v-64 + .byte N01 , Cs5 , v048 + .byte W01 + .byte Cn5 + .byte W01 + .byte Bn4 + .byte W02 + .byte As4 + .byte W01 + .byte An4 + .byte W01 + .byte Gs4 + .byte W01 + .byte Gn4 + .byte W01 + .byte Fs4 + .byte W02 + .byte N21 , Fn4 , v112 + .byte W12 + .byte W09 + .byte PAN , c_v+63 + .byte N01 , En4 , v048 + .byte W01 + .byte Ds4 + .byte W02 + .byte N48 , Dn4 , v112 + .byte W60 + .byte PAN , c_v-64 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 92 + .byte PAN , c_v-64 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte VOICE , 93 + .byte PAN , c_v+63 + .byte VOL , 25*mus_b_factory_mvl/mxv + .byte N03 , En4 + .byte W06 + .byte En2 + .byte W06 + .byte En3 + .byte W06 + .byte En4 + .byte W06 + .byte En3 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-64 + .byte N03 , Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte En2 + .byte W06 + .byte Dn4 + .byte W06 + .byte VOICE , 92 + .byte N03 , En4 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Bn2 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte VOICE , 80 + .byte N03 , As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte VOICE , 92 + .byte PAN , c_v-64 + .byte N03 , Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte PAN , c_v-64 + .byte VOL , 25*mus_b_factory_mvl/mxv + .byte N06 , Dn5 + .byte W06 + .byte As4 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En4 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOICE , 93 + .byte PAN , c_v-64 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte N32 , Bn4 + .byte W32 + .byte PAN , c_v+63 + .byte N01 , As4 , v064 + .byte W01 + .byte An4 + .byte W01 + .byte Gs4 + .byte W02 + .byte N30 , Gn4 + .byte W30 + .byte W01 + .byte PAN , c_v-64 + .byte N01 , Fs4 + .byte W01 + .byte Fn4 + .byte W01 + .byte En4 + .byte W01 + .byte Ds4 + .byte W02 + .byte N20 , Dn4 + .byte W20 + .byte PAN , c_v+63 + .byte N01 , Ds4 + .byte W01 + .byte En4 + .byte W01 + .byte Fn4 + .byte W02 + .byte N24 , Fs4 , v112 + .byte W24 + .byte W03 + .byte PAN , c_v-64 + .byte N01 , Gn4 , v064 + .byte W01 + .byte Gs4 + .byte W02 + .byte An4 + .byte W01 + .byte As4 + .byte W01 + .byte Bn4 + .byte W01 + .byte Cn5 + .byte W01 + .byte Cs5 + .byte W02 + .byte N32 , Dn5 , v112 + .byte W32 + .byte W01 + .byte PAN , c_v+63 + .byte N01 , Cs5 , v064 + .byte W01 + .byte Cn5 + .byte W02 + .byte N18 , Bn4 , v112 + .byte W18 + .byte PAN , c_v-64 + .byte N01 , Cn5 , v064 + .byte W01 + .byte Cs5 + .byte W01 + .byte Dn5 + .byte W01 + .byte Ds5 + .byte W01 + .byte En5 + .byte W02 + .byte N48 , Fn5 , v112 + .byte W48 + .byte VOICE , 80 + .byte VOL , 25*mus_b_factory_mvl/mxv + .byte N03 , Fn4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 91 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 92 + .byte PAN , c_v-64 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte VOICE , 93 + .byte PAN , c_v+63 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte PAN , c_v-64 + .byte W24 + .byte W24 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte N03 , En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte PAN , c_v+62 + .byte N03 , En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte PAN , c_v-64 + .byte N03 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte PAN , c_v+63 + .byte VOL , 25*mus_b_factory_mvl/mxv + .byte N03 , En4 + .byte W06 + .byte En2 + .byte W06 + .byte En3 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , As3 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte N03 , En1 + .byte W06 + .byte VOICE , 91 + .byte PAN , c_v+63 + .byte N06 , Fs3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N03 , En2 + .byte W06 + .byte VOICE , 80 + .byte PAN , c_v-64 + .byte N06 , Ds3 + .byte W06 + .byte N03 , En3 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte VOICE , 92 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte N36 , Bn2 + .byte W24 + .byte MOD , 32 + .byte VOL , 24*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte PAN , c_v+63 + .byte N36 , En3 + .byte W24 + .byte MOD , 32 + .byte VOL , 24*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte PAN , c_v-64 + .byte N24 , Bn3 + .byte W24 + .byte PAN , c_v+63 + .byte N36 , Ds4 + .byte W24 + .byte MOD , 32 + .byte VOL , 24*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte PAN , c_v-64 + .byte N36 , Bn3 + .byte W24 + .byte MOD , 32 + .byte VOL , 24*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte PAN , c_v+63 + .byte N24 , Gs3 + .byte W24 + .byte PAN , c_v-64 + .byte N48 , Fn4 + .byte W36 + .byte MOD , 32 + .byte VOL , 24*mus_b_factory_mvl/mxv + .byte W12 + .byte VOICE , 80 + .byte MOD , 0 + .byte VOL , 24*mus_b_factory_mvl/mxv + .byte N03 , Dn4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 91 + .byte PAN , c_v+63 + .byte N12 , Dn5 + .byte W12 + .byte N03 , Dn4 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 92 + .byte PAN , c_v-64 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn5 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte VOICE , 93 + .byte PAN , c_v+63 + .byte N03 + .byte W06 + .byte N06 , Dn5 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N03 + .byte W30 + .byte PAN , c_v-64 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte W24 + .byte VOICE , 91 + .byte PAN , c_v+63 + .byte N01 , As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte En2 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOICE , 92 + .byte PAN , c_v-64 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOICE , 80 + .byte PAN , c_v+63 + .byte N01 , Dn4 + .byte W06 + .byte N01 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte PAN , c_v-64 + .byte N01 , Gn3 + .byte W06 + .byte N01 + .byte W06 + .byte En3 + .byte W06 + .byte Bn2 + .byte W06 + .byte VOICE , 80 + .byte PAN , c_v+62 + .byte N03 , En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En2 + .byte W06 + .byte En3 + .byte W06 + .byte VOICE , 91 + .byte PAN , c_v-64 + .byte N03 , Gn3 + .byte W06 + .byte En2 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte VOICE , 92 + .byte PAN , c_v+63 + .byte N03 , En2 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En2 + .byte W06 + .byte VOICE , 91 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte PAN , c_v-64 + .byte N03 , En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOICE , 92 + .byte N32 , Bn2 + .byte W12 + .byte MOD , 32 + .byte W20 + .byte 0 + .byte PAN , c_v+63 + .byte N01 , As2 , v064 + .byte W01 + .byte An2 + .byte W01 + .byte Gs2 + .byte W02 + .byte N30 , Gn2 , v112 + .byte W12 + .byte MOD , 32 + .byte W19 + .byte 0 + .byte PAN , c_v-64 + .byte N01 , Fs2 , v064 + .byte W01 + .byte Fn2 + .byte W01 + .byte En2 + .byte W01 + .byte Ds2 + .byte W02 + .byte N20 , Dn2 , v112 + .byte W12 + .byte MOD , 32 + .byte W08 + .byte 0 + .byte PAN , c_v+63 + .byte N01 , Ds2 , v064 + .byte W01 + .byte En2 + .byte W01 + .byte Fn2 + .byte W02 + .byte N28 , Fs2 , v112 + .byte W12 + .byte MOD , 32 + .byte W16 + .byte 0 + .byte PAN , c_v-64 + .byte N01 , Gn2 , v064 + .byte W02 + .byte Gs2 + .byte W01 + .byte An2 + .byte W01 + .byte As2 + .byte W01 + .byte Bn2 + .byte W01 + .byte Cn3 + .byte W02 + .byte N28 , Cs3 , v112 + .byte W12 + .byte MOD , 32 + .byte W16 + .byte 0 + .byte PAN , c_v+63 + .byte N01 , Cn3 , v064 + .byte W02 + .byte Bn2 + .byte W01 + .byte As2 + .byte W01 + .byte An2 + .byte W01 + .byte Gs2 + .byte W01 + .byte Gn2 + .byte W02 + .byte N21 , Fs2 , v112 + .byte W12 + .byte MOD , 0 + .byte PAN , c_v-64 + .byte W09 + .byte N01 , Fn2 , v064 + .byte W01 + .byte En2 + .byte W02 + .byte N48 , Ds2 , v112 + .byte W12 + .byte MOD , 32 + .byte W36 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte VOL , 24*mus_b_factory_mvl/mxv + .byte W24 + .byte VOICE , 80 + .byte N03 , As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 91 + .byte PAN , c_v+63 + .byte N09 + .byte W12 + .byte N03 , As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOICE , 92 + .byte PAN , c_v-64 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte VOICE , 91 + .byte PAN , c_v+62 + .byte N03 , Dn4 + .byte W06 + .byte N03 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOICE , 93 + .byte PAN , c_v-64 + .byte N03 , Gn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte An3 + .byte W06 + .byte Gn2 + .byte W06 + .byte VOICE , 91 + .byte PAN , c_v+63 + .byte N03 , Bn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Gn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte VOICE , 92 + .byte PAN , c_v-64 + .byte N03 , Bn2 + .byte W06 + .byte Fs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Fs4 + .byte W06 + .byte VOICE , 91 + .byte N03 , Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte VOL , 12*mus_b_factory_mvl/mxv + .byte N96 , Fs4 , v048 + .byte W01 + .byte VOL , 14*mus_b_factory_mvl/mxv + .byte W01 + .byte 17*mus_b_factory_mvl/mxv + .byte W01 + .byte 24*mus_b_factory_mvl/mxv + .byte W01 + .byte 25*mus_b_factory_mvl/mxv + .byte W02 + .byte 29*mus_b_factory_mvl/mxv + .byte W01 + .byte 35*mus_b_factory_mvl/mxv + .byte W01 + .byte 37*mus_b_factory_mvl/mxv + .byte W01 + .byte 44*mus_b_factory_mvl/mxv + .byte W01 + .byte 49*mus_b_factory_mvl/mxv + .byte W02 + .byte 50*mus_b_factory_mvl/mxv + .byte W12 + .byte 44*mus_b_factory_mvl/mxv + .byte W12 + .byte 37*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 32 + .byte W12 + .byte VOL , 31*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 64 + .byte W03 + .byte VOL , 29*mus_b_factory_mvl/mxv + .byte W03 + .byte 25*mus_b_factory_mvl/mxv + .byte W02 + .byte 19*mus_b_factory_mvl/mxv + .byte W01 + .byte MOD , 127 + .byte W03 + .byte VOL , 15*mus_b_factory_mvl/mxv + .byte W02 + .byte 11*mus_b_factory_mvl/mxv + .byte W04 + .byte 6*mus_b_factory_mvl/mxv + .byte W03 + .byte 1*mus_b_factory_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte PAN , c_v+63 + .byte VOL , 12*mus_b_factory_mvl/mxv + .byte N96 , Bn4 + .byte W01 + .byte VOL , 14*mus_b_factory_mvl/mxv + .byte W01 + .byte 17*mus_b_factory_mvl/mxv + .byte W01 + .byte 24*mus_b_factory_mvl/mxv + .byte W01 + .byte 25*mus_b_factory_mvl/mxv + .byte W02 + .byte 29*mus_b_factory_mvl/mxv + .byte W01 + .byte 35*mus_b_factory_mvl/mxv + .byte W01 + .byte 37*mus_b_factory_mvl/mxv + .byte W01 + .byte 44*mus_b_factory_mvl/mxv + .byte W01 + .byte 49*mus_b_factory_mvl/mxv + .byte W02 + .byte 50*mus_b_factory_mvl/mxv + .byte W12 + .byte 44*mus_b_factory_mvl/mxv + .byte W12 + .byte 37*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 32 + .byte W12 + .byte VOL , 31*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 64 + .byte W03 + .byte VOL , 29*mus_b_factory_mvl/mxv + .byte W03 + .byte 25*mus_b_factory_mvl/mxv + .byte W02 + .byte 19*mus_b_factory_mvl/mxv + .byte W01 + .byte MOD , 127 + .byte W03 + .byte VOL , 15*mus_b_factory_mvl/mxv + .byte W02 + .byte 11*mus_b_factory_mvl/mxv + .byte W04 + .byte 6*mus_b_factory_mvl/mxv + .byte W03 + .byte 1*mus_b_factory_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte PAN , c_v-64 + .byte VOL , 12*mus_b_factory_mvl/mxv + .byte N96 , Ds4 + .byte W01 + .byte VOL , 14*mus_b_factory_mvl/mxv + .byte W01 + .byte 17*mus_b_factory_mvl/mxv + .byte W01 + .byte 24*mus_b_factory_mvl/mxv + .byte W01 + .byte 25*mus_b_factory_mvl/mxv + .byte W02 + .byte 29*mus_b_factory_mvl/mxv + .byte W01 + .byte 35*mus_b_factory_mvl/mxv + .byte W01 + .byte 37*mus_b_factory_mvl/mxv + .byte W01 + .byte 44*mus_b_factory_mvl/mxv + .byte W01 + .byte 49*mus_b_factory_mvl/mxv + .byte W02 + .byte 50*mus_b_factory_mvl/mxv + .byte W12 + .byte 44*mus_b_factory_mvl/mxv + .byte W12 + .byte 37*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 32 + .byte W12 + .byte VOL , 31*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 64 + .byte W03 + .byte VOL , 29*mus_b_factory_mvl/mxv + .byte W03 + .byte 25*mus_b_factory_mvl/mxv + .byte W02 + .byte 19*mus_b_factory_mvl/mxv + .byte W01 + .byte MOD , 127 + .byte W03 + .byte VOL , 15*mus_b_factory_mvl/mxv + .byte W02 + .byte 11*mus_b_factory_mvl/mxv + .byte W04 + .byte 6*mus_b_factory_mvl/mxv + .byte W03 + .byte 1*mus_b_factory_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte PAN , c_v+63 + .byte VOL , 12*mus_b_factory_mvl/mxv + .byte N96 , An4 + .byte W01 + .byte VOL , 14*mus_b_factory_mvl/mxv + .byte W01 + .byte 17*mus_b_factory_mvl/mxv + .byte W01 + .byte 24*mus_b_factory_mvl/mxv + .byte W01 + .byte 25*mus_b_factory_mvl/mxv + .byte W02 + .byte 29*mus_b_factory_mvl/mxv + .byte W01 + .byte 35*mus_b_factory_mvl/mxv + .byte W01 + .byte 37*mus_b_factory_mvl/mxv + .byte W01 + .byte 44*mus_b_factory_mvl/mxv + .byte W01 + .byte 49*mus_b_factory_mvl/mxv + .byte W02 + .byte 50*mus_b_factory_mvl/mxv + .byte W12 + .byte 44*mus_b_factory_mvl/mxv + .byte W12 + .byte 37*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 32 + .byte W12 + .byte VOL , 31*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 64 + .byte W03 + .byte VOL , 29*mus_b_factory_mvl/mxv + .byte W03 + .byte 25*mus_b_factory_mvl/mxv + .byte W02 + .byte 19*mus_b_factory_mvl/mxv + .byte W01 + .byte MOD , 127 + .byte W03 + .byte VOL , 15*mus_b_factory_mvl/mxv + .byte W02 + .byte 11*mus_b_factory_mvl/mxv + .byte W04 + .byte 6*mus_b_factory_mvl/mxv + .byte W03 + .byte 1*mus_b_factory_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte N01 , En3 , v112 + .byte W03 + .byte Bn2 + .byte W03 + .byte Gn3 + .byte W03 + .byte En3 + .byte W03 + .byte An3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Bn2 + .byte W03 + .byte Fs3 + .byte W03 + .byte Bn2 + .byte W03 + .byte Fs3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fs3 + .byte W03 + .byte An3 + .byte W03 + .byte Bn3 + .byte W03 + .byte An3 + .byte W03 + .byte Fs3 + .byte W24 + .byte W03 + .byte VOICE , 80 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte W16 + .byte N05 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte Fs3 , v112 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte Fs3 , v112 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte Fs3 , v112 + .byte W08 + .byte VOICE , 92 + .byte PAN , c_v-63 + .byte W04 + .byte N05 , An3 , v064 + .byte W12 + .byte Gs3 , v112 + .byte W12 + .byte Bn3 , v064 + .byte W12 + .byte Gs3 , v112 + .byte W12 + .byte Bn3 , v064 + .byte W12 + .byte Gs3 , v112 + .byte W12 + .byte Bn3 , v064 + .byte W12 + .byte Gs3 , v112 + .byte W08 + .byte VOICE , 91 + .byte PAN , c_v+63 + .byte W04 + .byte N05 , Bn3 , v064 + .byte W12 + .byte An3 , v112 + .byte W12 + .byte Cn4 , v064 + .byte W12 + .byte An3 , v112 + .byte W12 + .byte Cn4 , v064 + .byte W12 + .byte An3 , v112 + .byte W12 + .byte Cn4 , v064 + .byte W12 + .byte An3 , v112 + .byte W08 + .byte PAN , c_v-63 + .byte W04 + .byte N05 , Cn4 , v064 + .byte W12 + .byte Bn3 , v112 + .byte W12 + .byte Dn4 , v064 + .byte W12 + .byte Bn3 , v112 + .byte W12 + .byte Dn4 , v064 + .byte W12 + .byte Bn3 , v112 + .byte W12 + .byte Dn4 , v064 + .byte W12 + .byte Bn3 , v112 + .byte W08 + .byte VOL , 25*mus_b_factory_mvl/mxv + .byte W24 + .byte N04 , Bn1 + .byte W06 + .byte Bn2 + .byte W12 + .byte Bn1 + .byte W06 + .byte Bn2 + .byte W12 + .byte Bn1 + .byte W06 + .byte Bn2 + .byte W12 + .byte Bn1 + .byte W06 + .byte Bn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte N04 + .byte W06 + .byte Fs2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Fn3 + .byte W78 +mus_b_factory_5_000: + .byte VOL , 24*mus_b_factory_mvl/mxv + .byte W24 + .byte VOICE , 80 + .byte N03 , As1 , v112 + .byte W06 + .byte Bn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 91 + .byte PAN , c_v+63 + .byte N09 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte VOICE , 92 + .byte PAN , c_v-64 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte PEND + .byte PATT + .word mus_b_factory_5_000 + .byte N03 , Bn1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N07 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N06 + .byte W36 + .byte VOICE , 91 + .byte W24 + .byte N04 , En2 + .byte W06 + .byte En3 + .byte W12 + .byte En2 + .byte W06 + .byte En3 + .byte W12 + .byte En2 + .byte W06 + .byte En3 + .byte W12 + .byte En2 + .byte W06 + .byte En3 + .byte W06 + .byte En2 + .byte W06 + .byte GOTO + .word mus_b_factory_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_b_factory_6: + .byte KEYSH , mus_b_factory_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte BEND , c_v+1 + .byte N01 , En2 , v112 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte VOICE , 83 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte N01 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte BEND , c_v+2 + .byte N01 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En3 + .byte W06 +mus_b_factory_6_B1: + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte N04 , Gn2 , v112 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte BEND , c_v+2 + .byte W12 + .byte N04 + .byte W06 + .byte Gn2 + .byte W06 + .byte VOICE , 82 + .byte PAN , c_v+63 + .byte VOL , 62*mus_b_factory_mvl/mxv + .byte BEND , c_v-2 + .byte N18 , En1 , v127 + .byte W01 + .byte BEND , c_v+4 + .byte W01 + .byte c_v+9 + .byte W02 + .byte c_v+12 + .byte W01 + .byte c_v+18 + .byte W01 + .byte c_v+23 + .byte W01 + .byte c_v+26 + .byte W01 + .byte c_v+32 + .byte W02 + .byte c_v+34 + .byte W01 + .byte c_v+39 + .byte W01 + .byte c_v+44 + .byte W01 + .byte c_v+53 + .byte W01 + .byte c_v+60 + .byte W01 + .byte c_v+63 + .byte W03 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N01 , Cs4 , v064 + .byte W01 + .byte Dn4 + .byte W01 + .byte En4 , v076 + .byte W01 + .byte Fn4 + .byte W01 + .byte Fs4 , v084 + .byte W02 + .byte VOICE , 81 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte N28 , Gn4 , v112 + .byte W28 + .byte N01 , Gs4 , v048 + .byte W02 + .byte An4 + .byte W01 + .byte As4 + .byte W01 + .byte Bn4 + .byte W01 + .byte Cn5 + .byte W01 + .byte Cs5 + .byte W02 + .byte N14 , Dn5 , v112 + .byte W14 + .byte N01 , Cs5 , v048 + .byte W01 + .byte Cn5 + .byte W01 + .byte Bn4 + .byte W02 + .byte As4 + .byte W01 + .byte An4 + .byte W01 + .byte Gs4 + .byte W01 + .byte Gn4 + .byte W01 + .byte Fs4 + .byte W02 + .byte N21 , Fn4 , v112 + .byte W21 + .byte N01 , En4 , v048 + .byte W01 + .byte Ds4 + .byte W02 + .byte N48 , Dn4 , v112 + .byte W12 + .byte W48 + .byte PAN , c_v-64 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+63 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 82 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v-64 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 83 + .byte PAN , c_v+63 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte N03 , En4 + .byte W06 + .byte En2 + .byte W06 + .byte En3 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-64 + .byte N03 , En3 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte En2 + .byte W06 + .byte Dn4 + .byte W06 + .byte VOICE , 82 + .byte PAN , c_v+63 + .byte N03 , En4 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte VOICE , 81 + .byte PAN , c_v-64 + .byte N03 , As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte VOICE , 82 + .byte PAN , c_v+63 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte N06 , Dn5 + .byte W06 + .byte As4 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , En4 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOICE , 83 + .byte VOL , 62*mus_b_factory_mvl/mxv + .byte PAN , c_v+0 + .byte N32 , Bn4 + .byte W32 + .byte N01 , As4 , v064 + .byte W01 + .byte An4 + .byte W01 + .byte Gs4 + .byte W02 + .byte N30 , Gn4 + .byte W30 + .byte W01 + .byte N01 , Fs4 + .byte W01 + .byte Fn4 + .byte W01 + .byte En4 + .byte W01 + .byte Ds4 + .byte W02 + .byte N20 , Dn4 + .byte W20 + .byte N01 , Ds4 + .byte W01 + .byte En4 + .byte W01 + .byte Fn4 + .byte W02 + .byte N24 , Fs4 , v112 + .byte W24 + .byte W03 + .byte N01 , Gn4 , v064 + .byte W01 + .byte Gs4 + .byte W02 + .byte An4 + .byte W01 + .byte As4 + .byte W01 + .byte Bn4 + .byte W01 + .byte Cn5 + .byte W01 + .byte Cs5 + .byte W02 + .byte N32 , Dn5 , v112 + .byte W32 + .byte W01 + .byte N01 , Cs5 , v064 + .byte W01 + .byte Cn5 + .byte W02 + .byte N18 , Bn4 , v112 + .byte W18 + .byte N01 , Cn5 , v064 + .byte W01 + .byte Cs5 + .byte W01 + .byte Dn5 + .byte W01 + .byte Ds5 + .byte W01 + .byte En5 + .byte W02 + .byte N48 , Fn5 , v112 + .byte W48 + .byte VOICE , 81 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte N03 , Fn4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 82 + .byte VOL , 49*mus_b_factory_mvl/mxv + .byte N12 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 83 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte VOICE , 84 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W60 + .byte VOL , 62*mus_b_factory_mvl/mxv + .byte N03 , En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte En1 + .byte W06 + .byte N03 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En1 + .byte W06 + .byte PAN , c_v+63 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte N03 , En4 + .byte W06 + .byte En2 + .byte W06 + .byte En3 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , As3 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte N03 , En1 + .byte W06 + .byte VOICE , 82 + .byte PAN , c_v+63 + .byte N06 , Fs3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N03 , En2 + .byte W06 + .byte VOICE , 81 + .byte PAN , c_v-64 + .byte N06 , Ds3 + .byte W06 + .byte N03 , En3 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte VOICE , 83 + .byte PAN , c_v+0 + .byte VOL , 49*mus_b_factory_mvl/mxv + .byte N36 , Bn2 + .byte W24 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte MOD , 32 + .byte W12 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte MOD , 0 + .byte N36 , En3 + .byte W24 + .byte MOD , 32 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte N24 , Bn3 + .byte W24 + .byte N36 , Ds4 + .byte W24 + .byte MOD , 32 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte N36 , Bn3 + .byte W24 + .byte MOD , 32 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 49*mus_b_factory_mvl/mxv + .byte N24 , Gs3 + .byte W24 + .byte N48 , Fn4 + .byte W36 + .byte MOD , 32 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte W12 + .byte VOICE , 81 + .byte MOD , 0 + .byte VOL , 49*mus_b_factory_mvl/mxv + .byte N03 , Dn4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 82 + .byte N12 , Dn5 + .byte W12 + .byte N03 , Dn4 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 83 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn5 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte VOICE , 84 + .byte N03 + .byte W06 + .byte N06 , Dn5 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N03 + .byte W54 + .byte VOICE , 82 + .byte PAN , c_v+63 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte N01 , As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte En2 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOICE , 83 + .byte PAN , c_v-64 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOICE , 81 + .byte PAN , c_v+63 + .byte N01 , Dn4 + .byte W06 + .byte N01 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Gn3 + .byte W06 + .byte N01 + .byte W06 + .byte En3 + .byte W06 + .byte Bn2 + .byte W06 + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte N03 , En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En2 + .byte W06 + .byte En3 + .byte W06 + .byte VOICE , 82 + .byte PAN , c_v-64 + .byte N03 , Gn3 + .byte W06 + .byte En2 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte VOICE , 83 + .byte PAN , c_v+63 + .byte N03 , En2 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En2 + .byte W06 + .byte VOICE , 82 + .byte PAN , c_v-64 + .byte N03 , En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOICE , 83 + .byte PAN , c_v+0 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte N32 , Bn2 + .byte W12 + .byte MOD , 32 + .byte W20 + .byte 0 + .byte N01 , As2 , v064 + .byte W01 + .byte An2 + .byte W01 + .byte Gs2 + .byte W02 + .byte N30 , Gn2 , v112 + .byte W12 + .byte MOD , 32 + .byte W19 + .byte 0 + .byte N01 , Fs2 , v064 + .byte W01 + .byte Fn2 + .byte W01 + .byte En2 + .byte W01 + .byte Ds2 + .byte W02 + .byte N20 , Dn2 , v112 + .byte W12 + .byte MOD , 32 + .byte W08 + .byte 0 + .byte N01 , Ds2 , v064 + .byte W01 + .byte En2 + .byte W01 + .byte Fn2 + .byte W02 + .byte N28 , Fs2 , v112 + .byte W12 + .byte MOD , 32 + .byte W16 + .byte 0 + .byte N01 , Gn2 , v064 + .byte W02 + .byte Gs2 + .byte W01 + .byte An2 + .byte W01 + .byte As2 + .byte W01 + .byte Bn2 + .byte W01 + .byte Cn3 + .byte W02 + .byte N28 , Cs3 , v112 + .byte W12 + .byte MOD , 32 + .byte W16 + .byte 0 + .byte N01 , Cn3 , v064 + .byte W02 + .byte Bn2 + .byte W01 + .byte As2 + .byte W01 + .byte An2 + .byte W01 + .byte Gs2 + .byte W01 + .byte Gn2 , v068 + .byte W02 + .byte N21 , Fs2 , v112 + .byte W12 + .byte MOD , 0 + .byte W09 + .byte N01 , Fn2 , v064 + .byte W01 + .byte En2 + .byte W02 + .byte N48 , Ds2 , v112 + .byte W12 + .byte MOD , 32 + .byte W36 + .byte VOL , 49*mus_b_factory_mvl/mxv + .byte MOD , 0 + .byte W48 + .byte VOICE , 81 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte N03 , As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 82 + .byte N09 + .byte W12 + .byte N03 , As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOICE , 83 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte VOICE , 82 + .byte N03 , Dn4 + .byte W06 + .byte N03 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOICE , 84 + .byte PAN , c_v-64 + .byte N03 , Gn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte An3 + .byte W06 + .byte Gn2 + .byte W06 + .byte VOICE , 82 + .byte PAN , c_v+63 + .byte N03 , Bn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Gn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte VOICE , 83 + .byte PAN , c_v-64 + .byte N03 , Bn2 + .byte W06 + .byte Fs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Fs4 + .byte W06 + .byte VOICE , 82 + .byte PAN , c_v+63 + .byte N03 , Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte PAN , c_v+0 + .byte VOL , 12*mus_b_factory_mvl/mxv + .byte N96 , Fs4 + .byte W01 + .byte VOL , 14*mus_b_factory_mvl/mxv + .byte W01 + .byte 17*mus_b_factory_mvl/mxv + .byte W01 + .byte 24*mus_b_factory_mvl/mxv + .byte W01 + .byte 25*mus_b_factory_mvl/mxv + .byte W02 + .byte 29*mus_b_factory_mvl/mxv + .byte W01 + .byte 35*mus_b_factory_mvl/mxv + .byte W01 + .byte 37*mus_b_factory_mvl/mxv + .byte W01 + .byte 44*mus_b_factory_mvl/mxv + .byte W01 + .byte 49*mus_b_factory_mvl/mxv + .byte W02 + .byte 50*mus_b_factory_mvl/mxv + .byte W12 + .byte 44*mus_b_factory_mvl/mxv + .byte W12 + .byte 37*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 32 + .byte W12 + .byte VOL , 31*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 64 + .byte W03 + .byte VOL , 29*mus_b_factory_mvl/mxv + .byte W03 + .byte 25*mus_b_factory_mvl/mxv + .byte W02 + .byte 19*mus_b_factory_mvl/mxv + .byte W01 + .byte MOD , 127 + .byte W03 + .byte VOL , 15*mus_b_factory_mvl/mxv + .byte W02 + .byte 11*mus_b_factory_mvl/mxv + .byte W04 + .byte 6*mus_b_factory_mvl/mxv + .byte W03 + .byte 1*mus_b_factory_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 12*mus_b_factory_mvl/mxv + .byte N96 , Bn4 + .byte W01 + .byte VOL , 14*mus_b_factory_mvl/mxv + .byte W01 + .byte 17*mus_b_factory_mvl/mxv + .byte W01 + .byte 24*mus_b_factory_mvl/mxv + .byte W01 + .byte 25*mus_b_factory_mvl/mxv + .byte W02 + .byte 29*mus_b_factory_mvl/mxv + .byte W01 + .byte 35*mus_b_factory_mvl/mxv + .byte W01 + .byte 37*mus_b_factory_mvl/mxv + .byte W01 + .byte 44*mus_b_factory_mvl/mxv + .byte W01 + .byte 49*mus_b_factory_mvl/mxv + .byte W02 + .byte 50*mus_b_factory_mvl/mxv + .byte W12 + .byte 44*mus_b_factory_mvl/mxv + .byte W12 + .byte 37*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 32 + .byte W12 + .byte VOL , 31*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 64 + .byte W03 + .byte VOL , 29*mus_b_factory_mvl/mxv + .byte W03 + .byte 25*mus_b_factory_mvl/mxv + .byte W02 + .byte 19*mus_b_factory_mvl/mxv + .byte W01 + .byte MOD , 127 + .byte W03 + .byte VOL , 15*mus_b_factory_mvl/mxv + .byte W02 + .byte 11*mus_b_factory_mvl/mxv + .byte W04 + .byte 6*mus_b_factory_mvl/mxv + .byte W03 + .byte 1*mus_b_factory_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 12*mus_b_factory_mvl/mxv + .byte N96 , Ds4 + .byte W01 + .byte VOL , 14*mus_b_factory_mvl/mxv + .byte W01 + .byte 17*mus_b_factory_mvl/mxv + .byte W01 + .byte 24*mus_b_factory_mvl/mxv + .byte W01 + .byte 25*mus_b_factory_mvl/mxv + .byte W02 + .byte 29*mus_b_factory_mvl/mxv + .byte W01 + .byte 35*mus_b_factory_mvl/mxv + .byte W01 + .byte 37*mus_b_factory_mvl/mxv + .byte W01 + .byte 44*mus_b_factory_mvl/mxv + .byte W01 + .byte 49*mus_b_factory_mvl/mxv + .byte W02 + .byte 50*mus_b_factory_mvl/mxv + .byte W12 + .byte 44*mus_b_factory_mvl/mxv + .byte W12 + .byte 37*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 32 + .byte W12 + .byte VOL , 31*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 64 + .byte W03 + .byte VOL , 29*mus_b_factory_mvl/mxv + .byte W03 + .byte 25*mus_b_factory_mvl/mxv + .byte W02 + .byte 19*mus_b_factory_mvl/mxv + .byte W01 + .byte MOD , 127 + .byte W03 + .byte VOL , 15*mus_b_factory_mvl/mxv + .byte W02 + .byte 11*mus_b_factory_mvl/mxv + .byte W04 + .byte 6*mus_b_factory_mvl/mxv + .byte W03 + .byte 1*mus_b_factory_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 12*mus_b_factory_mvl/mxv + .byte N96 , An4 + .byte W01 + .byte VOL , 14*mus_b_factory_mvl/mxv + .byte W01 + .byte 17*mus_b_factory_mvl/mxv + .byte W01 + .byte 24*mus_b_factory_mvl/mxv + .byte W01 + .byte 25*mus_b_factory_mvl/mxv + .byte W02 + .byte 29*mus_b_factory_mvl/mxv + .byte W01 + .byte 35*mus_b_factory_mvl/mxv + .byte W01 + .byte 37*mus_b_factory_mvl/mxv + .byte W01 + .byte 44*mus_b_factory_mvl/mxv + .byte W01 + .byte 49*mus_b_factory_mvl/mxv + .byte W02 + .byte 50*mus_b_factory_mvl/mxv + .byte W12 + .byte 44*mus_b_factory_mvl/mxv + .byte W12 + .byte 37*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 32 + .byte W12 + .byte VOL , 31*mus_b_factory_mvl/mxv + .byte W12 + .byte MOD , 64 + .byte W03 + .byte VOL , 29*mus_b_factory_mvl/mxv + .byte W03 + .byte 25*mus_b_factory_mvl/mxv + .byte W02 + .byte 19*mus_b_factory_mvl/mxv + .byte W01 + .byte MOD , 127 + .byte W03 + .byte VOL , 15*mus_b_factory_mvl/mxv + .byte W02 + .byte 11*mus_b_factory_mvl/mxv + .byte W04 + .byte 6*mus_b_factory_mvl/mxv + .byte W03 + .byte 1*mus_b_factory_mvl/mxv + .byte W03 + .byte 50*mus_b_factory_mvl/mxv + .byte MOD , 0 + .byte N01 , En3 + .byte W03 + .byte Bn2 + .byte W03 + .byte Gn3 + .byte W03 + .byte En3 + .byte W03 + .byte An3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Bn2 + .byte W03 + .byte Fs3 + .byte W03 + .byte Bn2 + .byte W03 + .byte Fs3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fs3 + .byte W03 + .byte An3 + .byte W03 + .byte Bn3 + .byte W03 + .byte An3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Bn2 + .byte W03 + .byte Fs2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Cs2 + .byte W03 + .byte Bn1 + .byte W03 + .byte An1 + .byte W03 + .byte Fs1 + .byte W03 + .byte N06 , En1 , v080 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte VOICE , 81 + .byte PAN , c_v+63 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte N05 , Dn3 , v112 + .byte W16 + .byte An3 + .byte W08 + .byte PAN , c_v+0 + .byte N05 , An2 + .byte W12 + .byte PAN , c_v-62 + .byte W04 + .byte N05 , An3 + .byte W08 + .byte Bn2 + .byte W16 + .byte An3 + .byte W08 + .byte Cs3 + .byte W16 + .byte An3 + .byte W08 + .byte VOICE , 83 + .byte N05 , En3 + .byte W16 + .byte Bn3 + .byte W08 + .byte PAN , c_v+0 + .byte N05 , Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte W04 + .byte N05 , Bn3 + .byte W08 + .byte Cs3 + .byte W16 + .byte Bn3 + .byte W08 + .byte Ds3 + .byte W16 + .byte Bn3 + .byte W08 + .byte VOICE , 82 + .byte N05 , Fn3 + .byte W16 + .byte Cn4 + .byte W08 + .byte PAN , c_v+0 + .byte N05 , Cn3 + .byte W12 + .byte PAN , c_v-63 + .byte W04 + .byte N05 , Cn4 + .byte W08 + .byte Dn3 + .byte W16 + .byte Cn4 + .byte W08 + .byte En3 + .byte W16 + .byte Cn4 + .byte W08 + .byte Gn3 + .byte W16 + .byte Dn4 + .byte W08 + .byte PAN , c_v+0 + .byte N05 , Dn3 + .byte W12 + .byte PAN , c_v+63 + .byte W04 + .byte N05 , Dn4 + .byte W08 + .byte En3 + .byte W16 + .byte Dn4 + .byte W08 + .byte Fs3 + .byte W16 + .byte Dn4 + .byte W08 + .byte PAN , c_v-62 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte N04 , Bn1 + .byte W06 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N04 , Bn1 + .byte W06 + .byte Bn2 + .byte W12 + .byte PAN , c_v-62 + .byte N04 , Bn1 + .byte W06 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N04 , Bn1 + .byte W06 + .byte Bn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte PAN , c_v-61 + .byte N04 + .byte W06 + .byte Fs2 + .byte W06 + .byte PAN , c_v+63 + .byte N04 , Bn2 + .byte W06 + .byte Fn3 + .byte W06 + .byte W96 + .byte VOICE , 81 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 82 + .byte PAN , c_v-62 + .byte N09 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte VOICE , 83 + .byte PAN , c_v+63 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte VOICE , 82 + .byte PAN , c_v-62 + .byte N03 , Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte Cs2 + .byte W06 + .byte Bn1 + .byte W06 + .byte VOICE , 81 + .byte VOL , 37*mus_b_factory_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 82 + .byte PAN , c_v+63 + .byte N09 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte VOICE , 83 + .byte PAN , c_v-62 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte VOICE , 82 + .byte PAN , c_v+63 + .byte N03 , Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte Cs2 + .byte W06 + .byte Bn1 + .byte W06 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte Cs2 + .byte W06 + .byte Bn1 + .byte W06 + .byte VOL , 62*mus_b_factory_mvl/mxv + .byte BEND , c_v+1 + .byte N01 , Dn2 + .byte W06 + .byte N01 + .byte W06 + .byte Cs2 + .byte W06 + .byte Bn1 + .byte W06 + .byte BEND , c_v+3 + .byte N01 , Dn2 + .byte W06 + .byte N01 + .byte W06 + .byte Cs2 + .byte W06 + .byte Bn1 + .byte W30 + .byte VOICE , 82 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte BEND , c_v+0 + .byte N04 , En2 + .byte W06 + .byte En3 + .byte W10 + .byte PAN , c_v-62 + .byte W02 + .byte N04 , En2 + .byte W06 + .byte En3 + .byte W10 + .byte PAN , c_v+63 + .byte W02 + .byte N04 , En2 + .byte W06 + .byte En3 + .byte W12 + .byte PAN , c_v-62 + .byte N04 , En2 + .byte W06 + .byte En3 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v+63 + .byte N04 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W01 + .byte PAN , c_v-62 + .byte W05 + .byte N04 , En2 + .byte W06 + .byte GOTO + .word mus_b_factory_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_b_factory_7: + .byte KEYSH , mus_b_factory_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 100*mus_b_factory_mvl/mxv + .byte N03 , Fs2 , v068 + .byte W12 + .byte Fs2 , v040 + .byte W06 + .byte Fs2 , v068 + .byte W06 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte Fs2 , v040 + .byte W06 + .byte Fs2 , v068 + .byte W06 + .byte N03 + .byte W18 + .byte N06 , Cn1 , v112 + .byte N03 , Fs2 , v068 + .byte W12 + .byte Fs2 , v040 + .byte W06 + .byte N06 , Cn1 , v112 + .byte N03 , Fs2 , v068 + .byte W06 + .byte N03 + .byte W06 + .byte Fs2 , v040 + .byte W06 + .byte N06 , Cn1 , v112 + .byte N03 , Fs2 , v040 + .byte W06 + .byte Fs2 , v068 + .byte W03 + .byte Fs2 , v028 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v024 + .byte W03 + .byte N06 , Cn1 , v112 + .byte N03 , Fs2 , v068 + .byte W06 + .byte Fs2 , v040 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte N03 , Fs2 , v068 + .byte W06 +mus_b_factory_7_B1: + .byte N06 , Cn1 , v112 + .byte N06 , Ds1 , v056 + .byte N03 , Fs2 , v068 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N06 , Cn1 , v112 + .byte N06 , Ds1 , v056 + .byte N03 , Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N06 , Cn1 , v112 + .byte N03 , Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N06 , Cn1 , v112 + .byte N03 , Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N06 , Cn1 , v112 + .byte N03 , Fs2 , v068 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N06 , Ds1 , v056 + .byte N03 , Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N06 , Cn1 , v112 + .byte N03 , Fs2 , v068 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N06 , Ds1 , v056 + .byte N03 , Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N06 , Ds1 , v056 + .byte N03 , Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N06 , Cn1 , v112 + .byte N01 , Gs1 , v056 + .byte N03 , Fs2 , v068 + .byte W03 + .byte N01 , Gs1 , v060 + .byte N03 , Fs2 , v020 + .byte W03 + .byte N01 , Gs1 , v064 + .byte N03 , Fs2 , v040 + .byte W03 + .byte N01 , Gs1 , v064 + .byte N03 , Fs2 , v020 + .byte W03 + .byte N06 , Cn1 , v112 + .byte N06 , Ds1 , v056 + .byte N01 , Gs1 , v068 + .byte N03 , Fs2 , v040 + .byte W03 + .byte N01 , Gs1 , v072 + .byte N03 , Fs2 , v020 + .byte W03 + .byte N01 , Gs1 , v076 + .byte N03 , Fs2 , v040 + .byte W03 + .byte N01 , Gs1 , v088 + .byte N03 , Fs2 , v020 + .byte W03 +mus_b_factory_7_000: + .byte N12 , Cn1 , v112 + .byte N03 , Fs2 , v068 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N12 , Cn1 , v112 + .byte N03 , Fs2 , v056 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N12 , Cn1 , v112 + .byte N03 , Fs2 , v068 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N12 , Cn1 , v112 + .byte N03 , Fs2 , v056 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte PEND + .byte PATT + .word mus_b_factory_7_000 + .byte PATT + .word mus_b_factory_7_000 + .byte PATT + .word mus_b_factory_7_000 + .byte PATT + .word mus_b_factory_7_000 + .byte PATT + .word mus_b_factory_7_000 + .byte PATT + .word mus_b_factory_7_000 + .byte N12 , Cn1 , v112 + .byte N03 , Fs2 , v068 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N12 , Cn1 , v112 + .byte N03 , Fs2 , v056 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N12 , Cn1 , v112 + .byte N03 , Fs2 , v068 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N06 , Ds1 , v060 + .byte N03 , Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N06 , Ds1 , v060 + .byte N03 , Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N12 , Cn1 , v112 + .byte N03 , Fs2 , v056 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N06 , Ds1 , v060 + .byte N03 , Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N12 , Cn1 , v112 + .byte N03 , Fs2 , v068 + .byte N06 , Gs4 , v028 + .byte W03 + .byte N03 , Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte N06 , Gs4 , v016 + .byte W03 + .byte N03 , Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte N12 , An4 , v024 + .byte W03 + .byte N03 , Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N12 , Cn1 , v112 + .byte N03 , Fs2 , v056 + .byte N06 , Gs4 , v028 + .byte W03 + .byte N03 , Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte N06 , Gs4 , v016 + .byte W03 + .byte N03 , Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte N12 , An4 , v024 + .byte W03 + .byte N03 , Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N12 , Cn1 , v112 + .byte N03 , Fs2 , v068 + .byte N06 , Gs4 , v028 + .byte W03 + .byte N03 , Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte N06 , Gs4 , v016 + .byte W03 + .byte N03 , Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte N12 , An4 , v024 + .byte W03 + .byte N03 , Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N12 , Cn1 , v112 + .byte N03 , Fs2 , v056 + .byte N06 , Gs4 , v028 + .byte W03 + .byte N03 , Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte N06 , Gs4 , v016 + .byte W03 + .byte N03 , Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte N12 , An4 , v024 + .byte W03 + .byte N03 , Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte PATT + .word mus_b_factory_7_000 + .byte PATT + .word mus_b_factory_7_000 + .byte PATT + .word mus_b_factory_7_000 + .byte N12 , Cn1 , v112 + .byte N03 , Fs2 , v068 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N12 , Cn1 , v112 + .byte N06 , Ds1 , v072 + .byte N03 , Fs2 , v056 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N12 , Cn1 , v112 + .byte N03 , Fs2 , v068 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N12 , Cn1 , v112 + .byte N06 , Ds1 , v072 + .byte N03 , Fs2 , v056 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N12 , Cn1 , v112 + .byte N03 , Fs2 , v068 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N12 , Cn1 , v112 + .byte N06 , Ds1 , v072 + .byte N03 , Fs2 , v056 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N12 , Cn1 , v112 + .byte N03 , Fs2 , v068 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N12 , Cn1 , v112 + .byte N06 , Ds1 , v072 + .byte N03 , Fs2 , v056 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N06 , Ds1 , v072 + .byte N03 , Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte PATT + .word mus_b_factory_7_000 + .byte PATT + .word mus_b_factory_7_000 + .byte PATT + .word mus_b_factory_7_000 + .byte PATT + .word mus_b_factory_7_000 + .byte PATT + .word mus_b_factory_7_000 + .byte PATT + .word mus_b_factory_7_000 + .byte PATT + .word mus_b_factory_7_000 + .byte PATT + .word mus_b_factory_7_000 + .byte PATT + .word mus_b_factory_7_000 + .byte PATT + .word mus_b_factory_7_000 + .byte PATT + .word mus_b_factory_7_000 + .byte PATT + .word mus_b_factory_7_000 + .byte PATT + .word mus_b_factory_7_000 + .byte PATT + .word mus_b_factory_7_000 +mus_b_factory_7_001: + .byte N12 , Cn1 , v112 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_b_factory_7_001 + .byte W72 + .byte N03 , En1 , v100 + .byte W03 + .byte En1 , v044 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v040 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Cn1 , v112 + .byte N04 , En1 + .byte N03 , Fs2 , v068 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W01 + .byte N04 , En1 , v080 + .byte W02 + .byte N03 , Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N12 , Cn1 , v112 + .byte N04 , En1 + .byte N03 , Fs2 , v056 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W02 + .byte N04 , En1 , v080 + .byte W01 + .byte N03 , Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W01 + .byte N04 , En1 , v112 + .byte W02 + .byte N03 , Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N12 , Cn1 , v112 + .byte N04 , En1 + .byte N03 , Fs2 , v068 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W01 + .byte N04 , En1 , v080 + .byte W02 + .byte N03 , Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N12 , Cn1 , v112 + .byte N03 , En1 , v100 + .byte N03 , Fs2 , v056 + .byte W03 + .byte En1 , v044 + .byte N03 , Fs2 , v020 + .byte W03 + .byte En1 , v044 + .byte N03 , Fs2 , v040 + .byte W03 + .byte En1 , v044 + .byte N03 , Fs2 , v020 + .byte W03 + .byte En1 , v044 + .byte N03 , Fs2 , v040 + .byte W03 + .byte En1 , v044 + .byte N03 , Fs2 , v020 + .byte W03 + .byte En1 , v040 + .byte N03 , Fs2 + .byte W03 + .byte En1 + .byte N03 , Fs2 , v020 + .byte W03 + .byte PATT + .word mus_b_factory_7_000 + .byte PATT + .word mus_b_factory_7_000 + .byte N06 , Cn1 , v112 + .byte N03 , Fs2 , v056 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W15 + .byte N06 , Cn1 , v112 + .byte N03 , Fs2 , v056 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W15 + .byte N06 , Cn1 , v112 + .byte N03 , Fs2 , v056 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W15 + .byte N12 , Cn1 , v112 + .byte N06 , En1 + .byte N03 , Fs2 , v056 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N06 , En1 , v112 + .byte N03 , Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N06 , En1 , v112 + .byte N03 , Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte N06 , En1 , v112 + .byte N03 , Fs2 , v040 + .byte W03 + .byte Fs2 , v020 + .byte W03 + .byte PATT + .word mus_b_factory_7_000 + .byte GOTO + .word mus_b_factory_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_b_factory_8: + .byte KEYSH , mus_b_factory_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-64 + .byte VOL , 47*mus_b_factory_mvl/mxv + .byte W24 + .byte PAN , c_v+63 + .byte W24 + .byte c_v-64 + .byte W24 + .byte c_v+63 + .byte W24 + .byte c_v-64 + .byte W24 + .byte c_v+63 + .byte W24 + .byte c_v-64 + .byte W24 +mus_b_factory_8_B1: + .byte PAN , c_v+63 + .byte W24 + .byte c_v-64 + .byte N01 , En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W18 + .byte PAN , c_v+63 + .byte N01 , En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W18 + .byte PAN , c_v-64 + .byte N01 , En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W18 +mus_b_factory_8_000: + .byte PAN , c_v-64 + .byte N01 , En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W18 + .byte PAN , c_v+63 + .byte N01 , En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W18 + .byte PAN , c_v-64 + .byte N01 , En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W18 + .byte PAN , c_v+63 + .byte N01 , En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W18 + .byte PEND +mus_b_factory_8_001: + .byte PAN , c_v-64 + .byte N01 , En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W18 + .byte PAN , c_v+63 + .byte N01 , En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W18 + .byte PAN , c_v-64 + .byte N01 , En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W18 + .byte PAN , c_v+63 + .byte N01 , En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W03 + .byte N01 + .byte W15 + .byte PEND +mus_b_factory_8_002: + .byte PAN , c_v-64 + .byte N01 , En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W18 + .byte PAN , c_v+63 + .byte N01 , En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W18 + .byte PAN , c_v-64 + .byte N01 , En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W18 + .byte PAN , c_v+63 + .byte N01 , En3 , v064 + .byte W03 + .byte En3 , v032 + .byte W03 + .byte N01 + .byte W18 + .byte PEND +mus_b_factory_8_003: + .byte PAN , c_v-64 + .byte N01 , En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W18 + .byte PAN , c_v+63 + .byte N01 , En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W18 + .byte PAN , c_v-64 + .byte N01 , En3 , v064 + .byte W03 + .byte En3 , v032 + .byte W03 + .byte En3 , v048 + .byte W03 + .byte En3 , v032 + .byte W15 + .byte PAN , c_v+63 + .byte N01 , En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W18 + .byte PEND + .byte PATT + .word mus_b_factory_8_000 + .byte PATT + .word mus_b_factory_8_001 + .byte PATT + .word mus_b_factory_8_002 + .byte PATT + .word mus_b_factory_8_003 + .byte PATT + .word mus_b_factory_8_000 + .byte PATT + .word mus_b_factory_8_001 + .byte PATT + .word mus_b_factory_8_002 + .byte PATT + .word mus_b_factory_8_003 + .byte PATT + .word mus_b_factory_8_000 + .byte PATT + .word mus_b_factory_8_001 + .byte PATT + .word mus_b_factory_8_002 + .byte PATT + .word mus_b_factory_8_003 + .byte PATT + .word mus_b_factory_8_000 + .byte PATT + .word mus_b_factory_8_001 + .byte PATT + .word mus_b_factory_8_002 + .byte PATT + .word mus_b_factory_8_003 + .byte PATT + .word mus_b_factory_8_000 + .byte PATT + .word mus_b_factory_8_001 + .byte PAN , c_v-64 + .byte N01 , En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W18 + .byte PAN , c_v+63 + .byte N01 , En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W18 + .byte PAN , c_v-64 + .byte N01 , Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 + .byte PAN , c_v+63 + .byte N01 , Fn3 , v064 + .byte W03 + .byte Fn3 , v032 + .byte W03 + .byte N01 + .byte W18 + .byte PAN , c_v-64 + .byte N01 , Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 + .byte PAN , c_v+63 + .byte N01 , Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 + .byte PAN , c_v-64 + .byte N01 , Fn3 , v064 + .byte W03 + .byte Fn3 , v032 + .byte W03 + .byte Fn3 , v048 + .byte W03 + .byte Fn3 , v032 + .byte W15 + .byte PAN , c_v+63 + .byte N01 , Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 +mus_b_factory_8_004: + .byte PAN , c_v-64 + .byte N01 , Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 + .byte PAN , c_v+63 + .byte N01 , Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 + .byte PAN , c_v-64 + .byte N01 , Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 + .byte PAN , c_v+63 + .byte N01 , Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 + .byte PEND + .byte Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 + .byte Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 + .byte Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 + .byte Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 +mus_b_factory_8_005: + .byte N01 , Cn5 , v064 + .byte W06 + .byte Cn5 , v032 + .byte W18 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v032 + .byte W18 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v032 + .byte W18 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v032 + .byte W18 + .byte PEND + .byte PATT + .word mus_b_factory_8_005 + .byte W96 + .byte W96 + .byte N01 , Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 + .byte Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 + .byte Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 + .byte Fn3 , v096 + .byte W03 + .byte Fn3 , v036 + .byte W03 + .byte Fn3 , v080 + .byte W03 + .byte Fn3 , v056 + .byte W15 + .byte PATT + .word mus_b_factory_8_004 + .byte PAN , c_v-64 + .byte N01 , Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 + .byte PAN , c_v+63 + .byte N01 , Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 + .byte PAN , c_v-64 + .byte N01 , Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 + .byte PAN , c_v+63 + .byte N01 , Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W03 + .byte N01 + .byte W15 + .byte PAN , c_v-64 + .byte N01 , Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 + .byte PAN , c_v+63 + .byte N01 , Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 + .byte PAN , c_v-64 + .byte N01 , Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 + .byte PAN , c_v+63 + .byte N01 , Fn3 , v064 + .byte W03 + .byte Fn3 , v032 + .byte W03 + .byte N01 + .byte W18 + .byte PAN , c_v-64 + .byte N01 , Fn3 , v064 + .byte W03 + .byte Fn3 , v032 + .byte W03 + .byte N01 + .byte W18 + .byte PAN , c_v+63 + .byte N01 , Fn3 , v064 + .byte W03 + .byte Fn3 , v032 + .byte W03 + .byte N01 + .byte W18 + .byte PAN , c_v-64 + .byte N01 , Fn3 , v064 + .byte W03 + .byte Fn3 , v032 + .byte W03 + .byte N01 + .byte W18 + .byte PAN , c_v+63 + .byte N01 , Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W18 + .byte PATT + .word mus_b_factory_8_004 + .byte GOTO + .word mus_b_factory_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_b_factory_9: + .byte KEYSH , mus_b_factory_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte W24 + .byte PAN , c_v-64 + .byte W24 + .byte c_v+63 + .byte W24 + .byte c_v-64 + .byte W24 + .byte c_v+63 + .byte W24 + .byte c_v-64 + .byte W24 + .byte c_v+63 + .byte W24 +mus_b_factory_9_B1: + .byte PAN , c_v-64 + .byte W12 + .byte N12 , Gn5 , v064 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N12 + .byte W12 +mus_b_factory_9_000: + .byte PAN , c_v+63 + .byte W12 + .byte N12 , Gn5 , v064 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_b_factory_9_000 + .byte PATT + .word mus_b_factory_9_000 + .byte PATT + .word mus_b_factory_9_000 + .byte PATT + .word mus_b_factory_9_000 + .byte PAN , c_v+63 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte W12 + .byte N12 , Gn5 , v064 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N12 + .byte W12 +mus_b_factory_9_001: + .byte PAN , c_v+63 + .byte W12 + .byte N12 , Gn5 , v064 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N12 , Cn4 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte PEND +mus_b_factory_9_002: + .byte PAN , c_v+63 + .byte VOL , 50*mus_b_factory_mvl/mxv + .byte W12 + .byte N12 , Cn5 , v064 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N12 , Gn5 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_b_factory_9_000 + .byte PATT + .word mus_b_factory_9_000 + .byte PATT + .word mus_b_factory_9_000 + .byte PATT + .word mus_b_factory_9_000 + .byte PATT + .word mus_b_factory_9_000 + .byte PATT + .word mus_b_factory_9_000 + .byte PATT + .word mus_b_factory_9_000 + .byte PATT + .word mus_b_factory_9_000 + .byte PATT + .word mus_b_factory_9_000 + .byte PATT + .word mus_b_factory_9_000 + .byte PATT + .word mus_b_factory_9_000 + .byte PATT + .word mus_b_factory_9_000 + .byte PATT + .word mus_b_factory_9_000 + .byte PAN , c_v+63 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 66*mus_b_factory_mvl/mxv + .byte W12 + .byte N12 , Gn5 , v064 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N12 + .byte W12 + .byte PATT + .word mus_b_factory_9_001 + .byte PATT + .word mus_b_factory_9_002 + .byte PATT + .word mus_b_factory_9_000 +mus_b_factory_9_003: + .byte W12 + .byte N12 , Gn5 , v064 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_b_factory_9_003 + .byte PATT + .word mus_b_factory_9_003 + .byte W96 + .byte W96 + .byte W12 + .byte N12 , Gn5 , v064 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte Gn5 , v096 + .byte W12 + .byte PATT + .word mus_b_factory_9_000 + .byte PATT + .word mus_b_factory_9_000 + .byte PATT + .word mus_b_factory_9_000 + .byte PATT + .word mus_b_factory_9_000 + .byte PATT + .word mus_b_factory_9_000 + .byte GOTO + .word mus_b_factory_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_b_factory: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_b_factory_pri @ Priority + .byte mus_b_factory_rev @ Reverb. + + .word mus_b_factory_grp + + .word mus_b_factory_1 + .word mus_b_factory_2 + .word mus_b_factory_3 + .word mus_b_factory_4 + .word mus_b_factory_5 + .word mus_b_factory_6 + .word mus_b_factory_7 + .word mus_b_factory_8 + .word mus_b_factory_9 + + .end diff --git a/sound/songs/mus_b_frontier.s b/sound/songs/mus_b_frontier.s new file mode 100644 index 0000000000..7e0f202cd6 --- /dev/null +++ b/sound/songs/mus_b_frontier.s @@ -0,0 +1,3983 @@ + .include "MPlayDef.s" + + .equ mus_b_frontier_grp, voicegroup_869557C + .equ mus_b_frontier_pri, 0 + .equ mus_b_frontier_rev, reverb_set+50 + .equ mus_b_frontier_mvl, 127 + .equ mus_b_frontier_key, 0 + .equ mus_b_frontier_tbs, 1 + .equ mus_b_frontier_exg, 0 + .equ mus_b_frontier_cmp, 1 + + .section .rodata + .global mus_b_frontier + .align 2 + +@********************** Track 1 **********************@ + +mus_b_frontier_1: + .byte KEYSH , mus_b_frontier_key+0 + .byte TEMPO , 122*mus_b_frontier_tbs/2 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 94*mus_b_frontier_mvl/mxv + .byte PAN , c_v+16 + .byte N04 , Bn3 , v100 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Bn4 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N32 + .byte W12 + .byte VOL , 82*mus_b_frontier_mvl/mxv + .byte MOD , 4 + .byte W12 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 59*mus_b_frontier_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 94*mus_b_frontier_mvl/mxv + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 + .byte W12 + .byte VOL , 82*mus_b_frontier_mvl/mxv + .byte MOD , 4 + .byte W12 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 59*mus_b_frontier_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 94*mus_b_frontier_mvl/mxv + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 +mus_b_frontier_1_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte VOL , 76*mus_b_frontier_mvl/mxv + .byte PAN , c_v-22 + .byte N04 , Bn3 , v100 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N16 , En4 + .byte W16 + .byte N04 , Bn3 + .byte W08 + .byte N96 , En4 + .byte W06 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W02 + .byte 65*mus_b_frontier_mvl/mxv + .byte W02 + .byte 59*mus_b_frontier_mvl/mxv + .byte W02 + .byte 47*mus_b_frontier_mvl/mxv + .byte W02 + .byte 35*mus_b_frontier_mvl/mxv + .byte W02 + .byte 23*mus_b_frontier_mvl/mxv + .byte W04 + .byte 19*mus_b_frontier_mvl/mxv + .byte W02 + .byte 21*mus_b_frontier_mvl/mxv + .byte W02 + .byte 25*mus_b_frontier_mvl/mxv + .byte W04 + .byte 25*mus_b_frontier_mvl/mxv + .byte W02 + .byte 27*mus_b_frontier_mvl/mxv + .byte W02 + .byte 28*mus_b_frontier_mvl/mxv + .byte W02 + .byte 31*mus_b_frontier_mvl/mxv + .byte W02 + .byte 34*mus_b_frontier_mvl/mxv + .byte W02 + .byte 38*mus_b_frontier_mvl/mxv + .byte W02 + .byte 39*mus_b_frontier_mvl/mxv + .byte W02 + .byte 42*mus_b_frontier_mvl/mxv + .byte W02 + .byte 45*mus_b_frontier_mvl/mxv + .byte W02 + .byte 48*mus_b_frontier_mvl/mxv + .byte W02 + .byte 50*mus_b_frontier_mvl/mxv + .byte W02 + .byte 52*mus_b_frontier_mvl/mxv + .byte W02 + .byte 56*mus_b_frontier_mvl/mxv + .byte W02 + .byte 57*mus_b_frontier_mvl/mxv + .byte W02 + .byte 61*mus_b_frontier_mvl/mxv + .byte W02 + .byte 62*mus_b_frontier_mvl/mxv + .byte W02 + .byte 65*mus_b_frontier_mvl/mxv + .byte W02 + .byte 69*mus_b_frontier_mvl/mxv + .byte W02 + .byte 70*mus_b_frontier_mvl/mxv + .byte W02 + .byte 71*mus_b_frontier_mvl/mxv + .byte W02 + .byte 74*mus_b_frontier_mvl/mxv + .byte W02 + .byte 78*mus_b_frontier_mvl/mxv + .byte W24 + .byte W02 + .byte N40 , Bn3 + .byte W96 + .byte VOL , 94*mus_b_frontier_mvl/mxv + .byte PAN , c_v-1 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte c_v+16 + .byte N04 , Bn4 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N02 , Fs4 + .byte W08 + .byte Bn4 + .byte W08 + .byte En5 + .byte W08 + .byte An4 + .byte W08 + .byte Bn4 + .byte W08 + .byte En5 + .byte W08 + .byte Fs5 + .byte W08 + .byte En5 + .byte W08 + .byte N32 , Bn4 + .byte W12 + .byte VOL , 82*mus_b_frontier_mvl/mxv + .byte MOD , 4 + .byte W12 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 63*mus_b_frontier_mvl/mxv + .byte W06 + .byte 94*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 + .byte W12 + .byte VOL , 82*mus_b_frontier_mvl/mxv + .byte MOD , 4 + .byte W12 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 65*mus_b_frontier_mvl/mxv + .byte W06 + .byte 94*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte GOTO + .word mus_b_frontier_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_b_frontier_2: + .byte KEYSH , mus_b_frontier_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 62*mus_b_frontier_mvl/mxv + .byte PAN , c_v-16 + .byte W12 + .byte N04 , Bn4 , v100 + .byte W08 + .byte Bn3 + .byte W08 + .byte En4 + .byte W08 + .byte Fs4 + .byte W08 + .byte En4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Bn4 + .byte W08 + .byte En4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Bn4 + .byte W08 + .byte Fs5 + .byte W08 + .byte En5 + .byte W08 + .byte N32 , An4 + .byte W12 + .byte MOD , 4 + .byte VOL , 51*mus_b_frontier_mvl/mxv + .byte W12 + .byte 35*mus_b_frontier_mvl/mxv + .byte W06 + .byte 28*mus_b_frontier_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 62*mus_b_frontier_mvl/mxv + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 , Fs4 + .byte W12 + .byte MOD , 3 + .byte VOL , 51*mus_b_frontier_mvl/mxv + .byte W12 + .byte 35*mus_b_frontier_mvl/mxv + .byte W06 + .byte 28*mus_b_frontier_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 62*mus_b_frontier_mvl/mxv + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 +mus_b_frontier_2_B1: + .byte VOICE , 60 + .byte VOL , 82*mus_b_frontier_mvl/mxv + .byte PAN , c_v+0 + .byte W24 + .byte N24 , En3 , v100 + .byte W12 + .byte MOD , 6 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 59*mus_b_frontier_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 82*mus_b_frontier_mvl/mxv + .byte N24 , Fs3 + .byte W12 + .byte MOD , 6 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 59*mus_b_frontier_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 82*mus_b_frontier_mvl/mxv + .byte N24 , Gs3 + .byte W12 + .byte MOD , 6 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 59*mus_b_frontier_mvl/mxv + .byte W06 +mus_b_frontier_2_000: + .byte MOD , 0 + .byte VOL , 82*mus_b_frontier_mvl/mxv + .byte N24 , An3 , v100 + .byte W12 + .byte MOD , 6 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 59*mus_b_frontier_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 82*mus_b_frontier_mvl/mxv + .byte N24 , Gs3 + .byte W12 + .byte MOD , 6 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 59*mus_b_frontier_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 82*mus_b_frontier_mvl/mxv + .byte N24 , An3 + .byte W12 + .byte MOD , 6 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 59*mus_b_frontier_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 82*mus_b_frontier_mvl/mxv + .byte N24 , Bn3 + .byte W12 + .byte MOD , 6 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 59*mus_b_frontier_mvl/mxv + .byte W06 + .byte PEND + .byte MOD , 0 + .byte VOL , 82*mus_b_frontier_mvl/mxv + .byte N84 , Gs3 + .byte W24 + .byte MOD , 6 + .byte W03 + .byte VOL , 80*mus_b_frontier_mvl/mxv + .byte W03 + .byte 78*mus_b_frontier_mvl/mxv + .byte W02 + .byte 75*mus_b_frontier_mvl/mxv + .byte W04 + .byte 71*mus_b_frontier_mvl/mxv + .byte W02 + .byte 71*mus_b_frontier_mvl/mxv + .byte W04 + .byte 68*mus_b_frontier_mvl/mxv + .byte W02 + .byte 64*mus_b_frontier_mvl/mxv + .byte W04 + .byte 60*mus_b_frontier_mvl/mxv + .byte W02 + .byte 59*mus_b_frontier_mvl/mxv + .byte W04 + .byte 56*mus_b_frontier_mvl/mxv + .byte W02 + .byte 51*mus_b_frontier_mvl/mxv + .byte W04 + .byte 48*mus_b_frontier_mvl/mxv + .byte W02 + .byte 46*mus_b_frontier_mvl/mxv + .byte W04 + .byte 41*mus_b_frontier_mvl/mxv + .byte W02 + .byte 37*mus_b_frontier_mvl/mxv + .byte W04 + .byte 35*mus_b_frontier_mvl/mxv + .byte W02 + .byte 30*mus_b_frontier_mvl/mxv + .byte W04 + .byte 26*mus_b_frontier_mvl/mxv + .byte W03 + .byte 19*mus_b_frontier_mvl/mxv + .byte W03 + .byte 82*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N06 , Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N96 , En3 + .byte W24 + .byte MOD , 6 + .byte W03 + .byte VOL , 80*mus_b_frontier_mvl/mxv + .byte W03 + .byte 78*mus_b_frontier_mvl/mxv + .byte W02 + .byte 75*mus_b_frontier_mvl/mxv + .byte W04 + .byte 71*mus_b_frontier_mvl/mxv + .byte W02 + .byte 71*mus_b_frontier_mvl/mxv + .byte W04 + .byte 68*mus_b_frontier_mvl/mxv + .byte W02 + .byte 64*mus_b_frontier_mvl/mxv + .byte W04 + .byte 60*mus_b_frontier_mvl/mxv + .byte W02 + .byte 59*mus_b_frontier_mvl/mxv + .byte W04 + .byte 56*mus_b_frontier_mvl/mxv + .byte W02 + .byte 51*mus_b_frontier_mvl/mxv + .byte W04 + .byte 48*mus_b_frontier_mvl/mxv + .byte W02 + .byte 46*mus_b_frontier_mvl/mxv + .byte W04 + .byte 41*mus_b_frontier_mvl/mxv + .byte W02 + .byte 37*mus_b_frontier_mvl/mxv + .byte W04 + .byte 35*mus_b_frontier_mvl/mxv + .byte W02 + .byte 30*mus_b_frontier_mvl/mxv + .byte W04 + .byte 26*mus_b_frontier_mvl/mxv + .byte W03 + .byte 19*mus_b_frontier_mvl/mxv + .byte W15 + .byte 82*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 59*mus_b_frontier_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 82*mus_b_frontier_mvl/mxv + .byte N24 , Fs3 + .byte W12 + .byte MOD , 6 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 59*mus_b_frontier_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 82*mus_b_frontier_mvl/mxv + .byte N24 , Gs3 + .byte W12 + .byte MOD , 6 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 59*mus_b_frontier_mvl/mxv + .byte W06 + .byte PATT + .word mus_b_frontier_2_000 + .byte MOD , 0 + .byte VOL , 82*mus_b_frontier_mvl/mxv + .byte N96 , En4 , v100 + .byte W03 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W03 + .byte 59*mus_b_frontier_mvl/mxv + .byte W03 + .byte 47*mus_b_frontier_mvl/mxv + .byte W03 + .byte 36*mus_b_frontier_mvl/mxv + .byte W03 + .byte 24*mus_b_frontier_mvl/mxv + .byte W03 + .byte 22*mus_b_frontier_mvl/mxv + .byte W03 + .byte 17*mus_b_frontier_mvl/mxv + .byte W03 + .byte 24*mus_b_frontier_mvl/mxv + .byte MOD , 6 + .byte W02 + .byte VOL , 25*mus_b_frontier_mvl/mxv + .byte W04 + .byte 28*mus_b_frontier_mvl/mxv + .byte W02 + .byte 32*mus_b_frontier_mvl/mxv + .byte W04 + .byte 35*mus_b_frontier_mvl/mxv + .byte W02 + .byte 39*mus_b_frontier_mvl/mxv + .byte W04 + .byte 45*mus_b_frontier_mvl/mxv + .byte W02 + .byte 50*mus_b_frontier_mvl/mxv + .byte W04 + .byte 56*mus_b_frontier_mvl/mxv + .byte W02 + .byte 64*mus_b_frontier_mvl/mxv + .byte W04 + .byte 68*mus_b_frontier_mvl/mxv + .byte W02 + .byte 76*mus_b_frontier_mvl/mxv + .byte W04 + .byte 85*mus_b_frontier_mvl/mxv + .byte W02 + .byte 88*mus_b_frontier_mvl/mxv + .byte W32 + .byte W02 + .byte 82*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N96 , Bn3 + .byte W03 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W03 + .byte 59*mus_b_frontier_mvl/mxv + .byte W03 + .byte 47*mus_b_frontier_mvl/mxv + .byte W03 + .byte 35*mus_b_frontier_mvl/mxv + .byte W03 + .byte 24*mus_b_frontier_mvl/mxv + .byte W03 + .byte 20*mus_b_frontier_mvl/mxv + .byte W03 + .byte 14*mus_b_frontier_mvl/mxv + .byte W03 + .byte 24*mus_b_frontier_mvl/mxv + .byte MOD , 6 + .byte W02 + .byte VOL , 25*mus_b_frontier_mvl/mxv + .byte W04 + .byte 28*mus_b_frontier_mvl/mxv + .byte W02 + .byte 32*mus_b_frontier_mvl/mxv + .byte W04 + .byte 35*mus_b_frontier_mvl/mxv + .byte W02 + .byte 39*mus_b_frontier_mvl/mxv + .byte W04 + .byte 45*mus_b_frontier_mvl/mxv + .byte W02 + .byte 50*mus_b_frontier_mvl/mxv + .byte W04 + .byte 56*mus_b_frontier_mvl/mxv + .byte W02 + .byte 64*mus_b_frontier_mvl/mxv + .byte W04 + .byte 68*mus_b_frontier_mvl/mxv + .byte W02 + .byte 76*mus_b_frontier_mvl/mxv + .byte W04 + .byte 85*mus_b_frontier_mvl/mxv + .byte W02 + .byte 88*mus_b_frontier_mvl/mxv + .byte W32 + .byte W02 + .byte 82*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N96 , En4 + .byte W03 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W03 + .byte 59*mus_b_frontier_mvl/mxv + .byte W03 + .byte 47*mus_b_frontier_mvl/mxv + .byte W03 + .byte 36*mus_b_frontier_mvl/mxv + .byte W03 + .byte 23*mus_b_frontier_mvl/mxv + .byte W03 + .byte 19*mus_b_frontier_mvl/mxv + .byte W03 + .byte 17*mus_b_frontier_mvl/mxv + .byte W03 + .byte 24*mus_b_frontier_mvl/mxv + .byte MOD , 6 + .byte W02 + .byte VOL , 25*mus_b_frontier_mvl/mxv + .byte W04 + .byte 28*mus_b_frontier_mvl/mxv + .byte W02 + .byte 32*mus_b_frontier_mvl/mxv + .byte W04 + .byte 35*mus_b_frontier_mvl/mxv + .byte W02 + .byte 39*mus_b_frontier_mvl/mxv + .byte W04 + .byte 45*mus_b_frontier_mvl/mxv + .byte W02 + .byte 50*mus_b_frontier_mvl/mxv + .byte W04 + .byte 56*mus_b_frontier_mvl/mxv + .byte W02 + .byte 64*mus_b_frontier_mvl/mxv + .byte W04 + .byte 68*mus_b_frontier_mvl/mxv + .byte W02 + .byte 76*mus_b_frontier_mvl/mxv + .byte W04 + .byte 85*mus_b_frontier_mvl/mxv + .byte W02 + .byte 88*mus_b_frontier_mvl/mxv + .byte W32 + .byte W02 + .byte 71*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N40 , Bn3 + .byte W36 + .byte VOICE , 56 + .byte W12 + .byte PAN , c_v-26 + .byte W08 + .byte N06 , Gs3 + .byte W16 + .byte N12 , An3 + .byte W24 + .byte N88 , Cn3 + .byte W12 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte MOD , 6 + .byte W03 + .byte VOL , 59*mus_b_frontier_mvl/mxv + .byte W03 + .byte 47*mus_b_frontier_mvl/mxv + .byte W03 + .byte 35*mus_b_frontier_mvl/mxv + .byte W03 + .byte 28*mus_b_frontier_mvl/mxv + .byte W02 + .byte 29*mus_b_frontier_mvl/mxv + .byte W04 + .byte 34*mus_b_frontier_mvl/mxv + .byte W02 + .byte 35*mus_b_frontier_mvl/mxv + .byte W04 + .byte 37*mus_b_frontier_mvl/mxv + .byte W02 + .byte 38*mus_b_frontier_mvl/mxv + .byte W04 + .byte 42*mus_b_frontier_mvl/mxv + .byte W02 + .byte 45*mus_b_frontier_mvl/mxv + .byte W04 + .byte 48*mus_b_frontier_mvl/mxv + .byte W02 + .byte 54*mus_b_frontier_mvl/mxv + .byte W04 + .byte 59*mus_b_frontier_mvl/mxv + .byte W02 + .byte 63*mus_b_frontier_mvl/mxv + .byte W07 + .byte 68*mus_b_frontier_mvl/mxv + .byte W09 + .byte 71*mus_b_frontier_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte N12 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N08 , An3 + .byte W08 + .byte N04 , Fs3 + .byte W08 + .byte N32 , Ds4 + .byte W20 + .byte MOD , 5 + .byte VOL , 59*mus_b_frontier_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte PAN , c_v-22 + .byte W24 + .byte N08 , Cs4 + .byte W08 + .byte N04 , En3 + .byte W08 + .byte N32 + .byte W08 + .byte MOD , 5 + .byte W12 + .byte VOL , 59*mus_b_frontier_mvl/mxv + .byte W06 + .byte 47*mus_b_frontier_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W24 + .byte W24 + .byte N08 , Fs3 + .byte W16 + .byte N04 , Ds3 + .byte W08 + .byte N08 , Ds4 + .byte W08 + .byte N04 , Bn3 + .byte W08 + .byte N32 , Fs4 + .byte W08 + .byte MOD , 5 + .byte W12 + .byte VOL , 59*mus_b_frontier_mvl/mxv + .byte W06 + .byte 47*mus_b_frontier_mvl/mxv + .byte W06 + .byte 71*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte N08 , Gs3 + .byte W08 + .byte N04 , Ds3 + .byte W08 + .byte N32 , Bn3 + .byte W08 + .byte MOD , 5 + .byte W12 + .byte VOL , 59*mus_b_frontier_mvl/mxv + .byte W06 + .byte 47*mus_b_frontier_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte N12 , Gs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte W24 + .byte N06 , Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gs3 + .byte W18 + .byte Fn3 + .byte W06 + .byte N24 , Cs4 + .byte W12 + .byte VOL , 59*mus_b_frontier_mvl/mxv + .byte MOD , 5 + .byte W12 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte N08 , An3 + .byte W08 + .byte N04 , En3 + .byte W10 + .byte N42 , Cs4 + .byte W18 + .byte MOD , 5 + .byte W12 + .byte VOL , 59*mus_b_frontier_mvl/mxv + .byte W06 + .byte 47*mus_b_frontier_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte N12 , Fs3 + .byte W12 + .byte N36 , As3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 59*mus_b_frontier_mvl/mxv + .byte W06 + .byte 47*mus_b_frontier_mvl/mxv + .byte W06 + .byte 71*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N06 , Fs3 + .byte W06 + .byte Cs3 + .byte W06 + .byte N24 , Ds3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N24 , En3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOICE , 48 + .byte MOD , 0 + .byte W96 + .byte VOL , 59*mus_b_frontier_mvl/mxv + .byte N32 , An4 + .byte W12 + .byte MOD , 4 + .byte VOL , 47*mus_b_frontier_mvl/mxv + .byte W12 + .byte 39*mus_b_frontier_mvl/mxv + .byte W06 + .byte 31*mus_b_frontier_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 59*mus_b_frontier_mvl/mxv + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 , Fs4 + .byte W12 + .byte MOD , 4 + .byte VOL , 47*mus_b_frontier_mvl/mxv + .byte W12 + .byte 38*mus_b_frontier_mvl/mxv + .byte W06 + .byte 31*mus_b_frontier_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 59*mus_b_frontier_mvl/mxv + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte GOTO + .word mus_b_frontier_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_b_frontier_3: + .byte KEYSH , mus_b_frontier_key+0 + .byte VOICE , 87 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 74*mus_b_frontier_mvl/mxv + .byte N02 , Fs1 , v084 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N48 , Bn1 + .byte W12 + .byte VOL , 64*mus_b_frontier_mvl/mxv + .byte W12 + .byte 54*mus_b_frontier_mvl/mxv + .byte W12 + .byte 44*mus_b_frontier_mvl/mxv + .byte W12 + .byte 74*mus_b_frontier_mvl/mxv + .byte N24 , En1 + .byte W12 + .byte VOL , 62*mus_b_frontier_mvl/mxv + .byte W12 + .byte 74*mus_b_frontier_mvl/mxv + .byte N24 , Fs1 + .byte W12 + .byte VOL , 62*mus_b_frontier_mvl/mxv + .byte W12 + .byte 74*mus_b_frontier_mvl/mxv + .byte N36 , Bn1 + .byte W12 + .byte VOL , 62*mus_b_frontier_mvl/mxv + .byte W12 + .byte 52*mus_b_frontier_mvl/mxv + .byte W12 + .byte 74*mus_b_frontier_mvl/mxv + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N24 , An1 + .byte W12 + .byte VOL , 61*mus_b_frontier_mvl/mxv + .byte W12 + .byte 74*mus_b_frontier_mvl/mxv + .byte N12 , Fs1 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 +mus_b_frontier_3_B1: + .byte TIE , En1 , v084 + .byte W24 + .byte VOL , 70*mus_b_frontier_mvl/mxv + .byte W24 + .byte 65*mus_b_frontier_mvl/mxv + .byte W48 + .byte 59*mus_b_frontier_mvl/mxv + .byte W24 + .byte 52*mus_b_frontier_mvl/mxv + .byte W24 + .byte 44*mus_b_frontier_mvl/mxv + .byte W12 + .byte 33*mus_b_frontier_mvl/mxv + .byte W12 + .byte 25*mus_b_frontier_mvl/mxv + .byte W12 + .byte 17*mus_b_frontier_mvl/mxv + .byte W12 + .byte EOT + .byte VOL , 74*mus_b_frontier_mvl/mxv + .byte W24 + .byte N12 + .byte W48 + .byte N12 + .byte W24 +mus_b_frontier_3_000: + .byte N12 , En1 , v084 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte PEND + .byte W24 + .byte N12 + .byte W48 + .byte N12 + .byte W24 + .byte PATT + .word mus_b_frontier_3_000 + .byte N12 , Dn1 , v084 + .byte W24 + .byte N12 + .byte W24 + .byte N16 + .byte W16 + .byte N08 , Dn2 + .byte W08 + .byte N16 , An1 + .byte W16 + .byte N08 , En1 + .byte W08 + .byte N12 , Dn1 + .byte W24 + .byte N12 + .byte W24 + .byte N08 + .byte W08 + .byte N04 , Dn2 + .byte W08 + .byte Dn1 + .byte W08 + .byte N16 , Dn2 + .byte W16 + .byte N08 , Dn1 + .byte W08 + .byte N18 , Cs1 + .byte W24 + .byte Cs2 + .byte W18 + .byte N06 , An1 + .byte W06 + .byte N16 , Cs1 + .byte W16 + .byte N08 , Cs2 + .byte W08 + .byte N16 , An1 + .byte W16 + .byte N08 , En1 + .byte W08 + .byte Cs1 + .byte W08 + .byte N04 , Cs2 + .byte W08 + .byte N08 , Cs1 + .byte W08 + .byte N16 , Cs2 + .byte W16 + .byte N08 , Gs1 + .byte W08 + .byte N12 , Cs1 + .byte W24 + .byte N12 + .byte W24 + .byte Cn1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte Gn1 + .byte W12 + .byte Bn1 + .byte W24 + .byte N12 + .byte W24 + .byte N04 + .byte W08 + .byte Fs2 + .byte W08 + .byte N08 , Bn1 + .byte W08 + .byte Fs1 + .byte W08 + .byte Bn1 + .byte W08 + .byte N04 , Fs1 + .byte W04 + .byte Ds1 + .byte W04 + .byte N08 , An1 + .byte W08 + .byte N04 , En1 + .byte W08 + .byte N24 , An2 + .byte W24 + .byte N20 , An1 + .byte W08 + .byte VOL , 62*mus_b_frontier_mvl/mxv + .byte W12 + .byte 74*mus_b_frontier_mvl/mxv + .byte N06 , En2 + .byte W06 + .byte An2 + .byte W06 + .byte N12 , An1 + .byte W12 + .byte Cs2 + .byte W12 + .byte N08 , Bn1 + .byte W36 + .byte N12 + .byte W12 + .byte N08 , Fs2 + .byte W08 + .byte Ds2 + .byte W08 + .byte Bn2 + .byte W08 + .byte N12 , Bn1 + .byte W12 + .byte Ds2 + .byte W12 + .byte N08 , Gs1 + .byte W36 + .byte N24 + .byte W12 + .byte VOL , 63*mus_b_frontier_mvl/mxv + .byte W12 + .byte 74*mus_b_frontier_mvl/mxv + .byte N06 , Ds2 + .byte W06 + .byte Gs2 + .byte W06 + .byte N12 , Gs1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N08 , Cs2 + .byte W36 + .byte N12 + .byte W12 + .byte N06 , Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Cs3 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte Fn2 + .byte W12 + .byte N08 , An1 + .byte W36 + .byte N03 + .byte W06 + .byte N18 + .byte W06 + .byte VOL , 62*mus_b_frontier_mvl/mxv + .byte W12 + .byte 74*mus_b_frontier_mvl/mxv + .byte N06 , En2 + .byte W06 + .byte An2 + .byte W06 + .byte N12 , An1 + .byte W12 + .byte Cs2 + .byte W12 + .byte N36 , As1 + .byte W12 + .byte VOL , 62*mus_b_frontier_mvl/mxv + .byte W24 + .byte 74*mus_b_frontier_mvl/mxv + .byte N06 , Cs2 + .byte W06 + .byte Fs2 + .byte W06 + .byte N24 , Gs2 + .byte W12 + .byte VOL , 62*mus_b_frontier_mvl/mxv + .byte W06 + .byte 52*mus_b_frontier_mvl/mxv + .byte W06 + .byte 74*mus_b_frontier_mvl/mxv + .byte N24 , Fs2 + .byte W12 + .byte VOL , 62*mus_b_frontier_mvl/mxv + .byte W06 + .byte 52*mus_b_frontier_mvl/mxv + .byte W06 + .byte 74*mus_b_frontier_mvl/mxv + .byte N48 , Bn1 + .byte W12 + .byte VOL , 62*mus_b_frontier_mvl/mxv + .byte W12 + .byte 53*mus_b_frontier_mvl/mxv + .byte W12 + .byte 44*mus_b_frontier_mvl/mxv + .byte W12 + .byte 74*mus_b_frontier_mvl/mxv + .byte N24 , En1 + .byte W12 + .byte VOL , 62*mus_b_frontier_mvl/mxv + .byte W06 + .byte 52*mus_b_frontier_mvl/mxv + .byte W06 + .byte 74*mus_b_frontier_mvl/mxv + .byte N24 , Fs1 + .byte W12 + .byte VOL , 62*mus_b_frontier_mvl/mxv + .byte W06 + .byte 53*mus_b_frontier_mvl/mxv + .byte W06 + .byte 74*mus_b_frontier_mvl/mxv + .byte N36 , Bn1 + .byte W12 + .byte VOL , 62*mus_b_frontier_mvl/mxv + .byte W12 + .byte 53*mus_b_frontier_mvl/mxv + .byte W12 + .byte 74*mus_b_frontier_mvl/mxv + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N24 , An1 + .byte W12 + .byte VOL , 61*mus_b_frontier_mvl/mxv + .byte W06 + .byte 54*mus_b_frontier_mvl/mxv + .byte W06 + .byte 74*mus_b_frontier_mvl/mxv + .byte N12 , Fs1 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte GOTO + .word mus_b_frontier_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_b_frontier_4: + .byte KEYSH , mus_b_frontier_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-14 + .byte VOL , 70*mus_b_frontier_mvl/mxv + .byte N04 , En3 , v100 + .byte W04 + .byte Fs3 + .byte W04 + .byte Bn3 + .byte W04 + .byte En4 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N32 , Ds4 + .byte W12 + .byte VOL , 59*mus_b_frontier_mvl/mxv + .byte MOD , 4 + .byte W12 + .byte VOL , 47*mus_b_frontier_mvl/mxv + .byte W06 + .byte 35*mus_b_frontier_mvl/mxv + .byte W06 + .byte 69*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 , Bn3 + .byte W12 + .byte VOL , 59*mus_b_frontier_mvl/mxv + .byte MOD , 4 + .byte W12 + .byte VOL , 47*mus_b_frontier_mvl/mxv + .byte W06 + .byte 35*mus_b_frontier_mvl/mxv + .byte W06 + .byte 70*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 +mus_b_frontier_4_B1: + .byte VOICE , 60 + .byte VOL , 59*mus_b_frontier_mvl/mxv + .byte PAN , c_v-16 + .byte W24 + .byte N24 , Bn2 , v084 + .byte W12 + .byte VOL , 47*mus_b_frontier_mvl/mxv + .byte W06 + .byte 35*mus_b_frontier_mvl/mxv + .byte W06 + .byte 59*mus_b_frontier_mvl/mxv + .byte N24 , Cs3 + .byte W12 + .byte VOL , 47*mus_b_frontier_mvl/mxv + .byte W06 + .byte 35*mus_b_frontier_mvl/mxv + .byte W06 + .byte 59*mus_b_frontier_mvl/mxv + .byte N24 , Ds3 + .byte W12 + .byte VOL , 47*mus_b_frontier_mvl/mxv + .byte W06 + .byte 35*mus_b_frontier_mvl/mxv + .byte W06 + .byte 59*mus_b_frontier_mvl/mxv + .byte N24 , En3 + .byte W12 + .byte VOL , 47*mus_b_frontier_mvl/mxv + .byte W06 + .byte 35*mus_b_frontier_mvl/mxv + .byte W06 + .byte 59*mus_b_frontier_mvl/mxv + .byte N24 , Ds3 + .byte W12 + .byte VOL , 47*mus_b_frontier_mvl/mxv + .byte W06 + .byte 35*mus_b_frontier_mvl/mxv + .byte W06 + .byte 59*mus_b_frontier_mvl/mxv + .byte N24 , En3 + .byte W12 + .byte VOL , 47*mus_b_frontier_mvl/mxv + .byte W06 + .byte 35*mus_b_frontier_mvl/mxv + .byte W06 + .byte 59*mus_b_frontier_mvl/mxv + .byte N24 , Fs3 + .byte W12 + .byte VOL , 47*mus_b_frontier_mvl/mxv + .byte W06 + .byte 35*mus_b_frontier_mvl/mxv + .byte W06 + .byte 59*mus_b_frontier_mvl/mxv + .byte N84 + .byte W12 + .byte VOL , 56*mus_b_frontier_mvl/mxv + .byte W12 + .byte 54*mus_b_frontier_mvl/mxv + .byte W02 + .byte 51*mus_b_frontier_mvl/mxv + .byte W04 + .byte 48*mus_b_frontier_mvl/mxv + .byte W02 + .byte 45*mus_b_frontier_mvl/mxv + .byte W04 + .byte 43*mus_b_frontier_mvl/mxv + .byte W02 + .byte 39*mus_b_frontier_mvl/mxv + .byte W04 + .byte 38*mus_b_frontier_mvl/mxv + .byte W02 + .byte 35*mus_b_frontier_mvl/mxv + .byte W04 + .byte 34*mus_b_frontier_mvl/mxv + .byte W02 + .byte 31*mus_b_frontier_mvl/mxv + .byte W04 + .byte 29*mus_b_frontier_mvl/mxv + .byte W02 + .byte 27*mus_b_frontier_mvl/mxv + .byte W04 + .byte 24*mus_b_frontier_mvl/mxv + .byte W02 + .byte 23*mus_b_frontier_mvl/mxv + .byte W04 + .byte 22*mus_b_frontier_mvl/mxv + .byte W02 + .byte 19*mus_b_frontier_mvl/mxv + .byte W04 + .byte 17*mus_b_frontier_mvl/mxv + .byte W02 + .byte 16*mus_b_frontier_mvl/mxv + .byte W04 + .byte 15*mus_b_frontier_mvl/mxv + .byte W06 + .byte 59*mus_b_frontier_mvl/mxv + .byte N06 , Ds3 + .byte W06 + .byte Cs3 + .byte W06 + .byte N96 , Bn2 + .byte W12 + .byte VOL , 56*mus_b_frontier_mvl/mxv + .byte W12 + .byte 54*mus_b_frontier_mvl/mxv + .byte W02 + .byte 51*mus_b_frontier_mvl/mxv + .byte W04 + .byte 48*mus_b_frontier_mvl/mxv + .byte W02 + .byte 47*mus_b_frontier_mvl/mxv + .byte W04 + .byte 46*mus_b_frontier_mvl/mxv + .byte W02 + .byte 45*mus_b_frontier_mvl/mxv + .byte W04 + .byte 43*mus_b_frontier_mvl/mxv + .byte W02 + .byte 39*mus_b_frontier_mvl/mxv + .byte W04 + .byte 37*mus_b_frontier_mvl/mxv + .byte W02 + .byte 36*mus_b_frontier_mvl/mxv + .byte W04 + .byte 35*mus_b_frontier_mvl/mxv + .byte W02 + .byte 33*mus_b_frontier_mvl/mxv + .byte W04 + .byte 29*mus_b_frontier_mvl/mxv + .byte W02 + .byte 28*mus_b_frontier_mvl/mxv + .byte W04 + .byte 25*mus_b_frontier_mvl/mxv + .byte W02 + .byte 23*mus_b_frontier_mvl/mxv + .byte W04 + .byte 20*mus_b_frontier_mvl/mxv + .byte W02 + .byte 18*mus_b_frontier_mvl/mxv + .byte W04 + .byte 15*mus_b_frontier_mvl/mxv + .byte W02 + .byte 13*mus_b_frontier_mvl/mxv + .byte W04 + .byte 11*mus_b_frontier_mvl/mxv + .byte W12 + .byte VOICE , 46 + .byte VOL , 74*mus_b_frontier_mvl/mxv + .byte W14 + .byte N04 , En3 , v100 + .byte W04 + .byte N03 , Gs3 , v072 + .byte W03 + .byte Bn3 + .byte W03 + .byte N06 , En4 , v100 + .byte W14 + .byte N04 , Fs3 + .byte W04 + .byte N03 , Bn3 , v076 + .byte W03 + .byte En4 + .byte W03 + .byte N06 , Fs4 , v100 + .byte W14 + .byte N04 , Gs3 + .byte W04 + .byte N03 , Bn3 , v076 + .byte W03 + .byte En4 + .byte W03 + .byte N06 , Gs4 , v100 + .byte W14 + .byte N04 , Gs3 + .byte W04 + .byte N03 , Cs4 , v076 + .byte W03 + .byte En4 + .byte W03 + .byte N06 , An4 , v100 + .byte W14 + .byte N04 , An3 + .byte W04 + .byte N03 , Cs4 , v076 + .byte W03 + .byte En4 + .byte W03 + .byte N06 , Gs4 , v100 + .byte W14 + .byte N04 , Gs3 + .byte W02 + .byte Cs4 + .byte W04 + .byte En4 + .byte W04 + .byte VOL , 67*mus_b_frontier_mvl/mxv + .byte N04 , An4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte An3 + .byte W04 + .byte Fs3 + .byte W04 + .byte En3 + .byte W04 + .byte Bn2 + .byte W04 + .byte En3 + .byte W04 + .byte Gs3 + .byte W04 + .byte An3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cs4 + .byte W04 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte N04 , En4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte En5 + .byte W04 + .byte Fs5 + .byte W04 + .byte En5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte En3 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte En3 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte En3 + .byte W04 + .byte Bn2 + .byte W04 + .byte W48 + .byte PAN , c_v-32 + .byte W48 + .byte N04 , En4 , v072 + .byte W04 + .byte Gs4 + .byte W04 + .byte Cs5 + .byte W04 + .byte En5 + .byte W04 + .byte Gs5 + .byte W04 + .byte En5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Gs4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Gs3 + .byte W04 + .byte En3 + .byte W52 + .byte PAN , c_v+0 + .byte W48 + .byte VOICE , 56 + .byte VOL , 94*mus_b_frontier_mvl/mxv + .byte W08 + .byte N06 , En4 , v108 + .byte W16 + .byte N12 , Fs4 + .byte W06 + .byte MOD , 6 + .byte VOL , 88*mus_b_frontier_mvl/mxv + .byte W03 + .byte 82*mus_b_frontier_mvl/mxv + .byte W15 + .byte 94*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N02 , Fn4 , v092 + .byte W02 + .byte N84 , En4 , v100 + .byte W07 + .byte VOL , 82*mus_b_frontier_mvl/mxv + .byte W03 + .byte 71*mus_b_frontier_mvl/mxv + .byte W03 + .byte 59*mus_b_frontier_mvl/mxv + .byte W03 + .byte 47*mus_b_frontier_mvl/mxv + .byte W09 + .byte 54*mus_b_frontier_mvl/mxv + .byte W03 + .byte 57*mus_b_frontier_mvl/mxv + .byte W02 + .byte 63*mus_b_frontier_mvl/mxv + .byte W04 + .byte 70*mus_b_frontier_mvl/mxv + .byte W02 + .byte 81*mus_b_frontier_mvl/mxv + .byte W04 + .byte 91*mus_b_frontier_mvl/mxv + .byte W02 + .byte 93*mus_b_frontier_mvl/mxv + .byte W01 + .byte 94*mus_b_frontier_mvl/mxv + .byte W24 + .byte W03 + .byte 88*mus_b_frontier_mvl/mxv + .byte MOD , 6 + .byte W03 + .byte VOL , 82*mus_b_frontier_mvl/mxv + .byte W03 + .byte 78*mus_b_frontier_mvl/mxv + .byte W03 + .byte 71*mus_b_frontier_mvl/mxv + .byte W03 + .byte 64*mus_b_frontier_mvl/mxv + .byte W03 + .byte 59*mus_b_frontier_mvl/mxv + .byte W01 + .byte N04 , Ds4 , v108 + .byte W02 + .byte VOL , 94*mus_b_frontier_mvl/mxv + .byte W02 + .byte N04 , Cs4 + .byte W04 + .byte VOL , 64*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N32 , Ds4 + .byte W03 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W03 + .byte 76*mus_b_frontier_mvl/mxv + .byte W03 + .byte 86*mus_b_frontier_mvl/mxv + .byte W03 + .byte 94*mus_b_frontier_mvl/mxv + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N12 + .byte W12 + .byte En4 + .byte W12 + .byte N36 , Fs4 + .byte W12 + .byte VOL , 85*mus_b_frontier_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 76*mus_b_frontier_mvl/mxv + .byte W06 + .byte 66*mus_b_frontier_mvl/mxv + .byte W06 + .byte VOICE , 14 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v+14 + .byte W96 + .byte W48 + .byte N08 , Ds5 , v088 + .byte W08 + .byte N04 , Bn4 + .byte W08 + .byte N32 , Fs5 + .byte W14 + .byte VOL , 59*mus_b_frontier_mvl/mxv + .byte W06 + .byte 47*mus_b_frontier_mvl/mxv + .byte W06 + .byte 35*mus_b_frontier_mvl/mxv + .byte W06 + .byte 71*mus_b_frontier_mvl/mxv + .byte W96 + .byte W48 + .byte N06 , Gs4 , v100 + .byte W18 + .byte Fn4 + .byte W06 + .byte N12 , Gs4 + .byte W12 + .byte N36 , Cs5 + .byte W12 + .byte VOL , 66*mus_b_frontier_mvl/mxv + .byte W06 + .byte 59*mus_b_frontier_mvl/mxv + .byte W06 + .byte 47*mus_b_frontier_mvl/mxv + .byte W06 + .byte 35*mus_b_frontier_mvl/mxv + .byte W06 + .byte 71*mus_b_frontier_mvl/mxv + .byte W72 + .byte W96 + .byte VOICE , 56 + .byte PAN , c_v-32 + .byte N04 , En4 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N32 , Ds4 + .byte W36 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 + .byte W36 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte GOTO + .word mus_b_frontier_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_b_frontier_5: + .byte KEYSH , mus_b_frontier_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-1 + .byte VOL , 43*mus_b_frontier_mvl/mxv + .byte W12 + .byte W96 + .byte W96 +mus_b_frontier_5_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+16 + .byte VOL , 34*mus_b_frontier_mvl/mxv + .byte W48 + .byte N24 , Cs3 , v100 + .byte W12 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 17*mus_b_frontier_mvl/mxv + .byte W06 + .byte 34*mus_b_frontier_mvl/mxv + .byte N24 , Ds3 + .byte W12 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 17*mus_b_frontier_mvl/mxv + .byte W06 + .byte 34*mus_b_frontier_mvl/mxv + .byte N24 , En3 + .byte W12 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 17*mus_b_frontier_mvl/mxv + .byte W06 + .byte 34*mus_b_frontier_mvl/mxv + .byte N24 , Ds3 + .byte W12 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 17*mus_b_frontier_mvl/mxv + .byte W06 + .byte 34*mus_b_frontier_mvl/mxv + .byte N24 , En3 + .byte W12 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 17*mus_b_frontier_mvl/mxv + .byte W06 + .byte 34*mus_b_frontier_mvl/mxv + .byte N24 , Fs3 + .byte W12 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 17*mus_b_frontier_mvl/mxv + .byte W06 + .byte 34*mus_b_frontier_mvl/mxv + .byte N96 , Bn3 + .byte W03 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte W03 + .byte 28*mus_b_frontier_mvl/mxv + .byte W03 + .byte 23*mus_b_frontier_mvl/mxv + .byte W03 + .byte 19*mus_b_frontier_mvl/mxv + .byte W03 + .byte 14*mus_b_frontier_mvl/mxv + .byte W09 + .byte 16*mus_b_frontier_mvl/mxv + .byte W02 + .byte 17*mus_b_frontier_mvl/mxv + .byte W04 + .byte 19*mus_b_frontier_mvl/mxv + .byte W02 + .byte 19*mus_b_frontier_mvl/mxv + .byte W04 + .byte 21*mus_b_frontier_mvl/mxv + .byte W02 + .byte 22*mus_b_frontier_mvl/mxv + .byte W04 + .byte 24*mus_b_frontier_mvl/mxv + .byte W02 + .byte 25*mus_b_frontier_mvl/mxv + .byte W04 + .byte 28*mus_b_frontier_mvl/mxv + .byte W02 + .byte 31*mus_b_frontier_mvl/mxv + .byte W04 + .byte 31*mus_b_frontier_mvl/mxv + .byte W02 + .byte 34*mus_b_frontier_mvl/mxv + .byte W04 + .byte 35*mus_b_frontier_mvl/mxv + .byte W02 + .byte 37*mus_b_frontier_mvl/mxv + .byte W32 + .byte W02 + .byte 33*mus_b_frontier_mvl/mxv + .byte N48 + .byte W24 + .byte VOL , 28*mus_b_frontier_mvl/mxv + .byte W72 + .byte W96 + .byte W96 + .byte 35*mus_b_frontier_mvl/mxv + .byte PAN , c_v-16 + .byte W24 + .byte VOL , 19*mus_b_frontier_mvl/mxv + .byte N64 , An3 , v108 + .byte W02 + .byte VOL , 22*mus_b_frontier_mvl/mxv + .byte W04 + .byte 22*mus_b_frontier_mvl/mxv + .byte W02 + .byte 25*mus_b_frontier_mvl/mxv + .byte W04 + .byte 27*mus_b_frontier_mvl/mxv + .byte W02 + .byte 29*mus_b_frontier_mvl/mxv + .byte W04 + .byte 31*mus_b_frontier_mvl/mxv + .byte W02 + .byte 33*mus_b_frontier_mvl/mxv + .byte W04 + .byte 35*mus_b_frontier_mvl/mxv + .byte W02 + .byte 37*mus_b_frontier_mvl/mxv + .byte W04 + .byte 39*mus_b_frontier_mvl/mxv + .byte W02 + .byte 40*mus_b_frontier_mvl/mxv + .byte W07 + .byte 46*mus_b_frontier_mvl/mxv + .byte W09 + .byte 44*mus_b_frontier_mvl/mxv + .byte W09 + .byte 40*mus_b_frontier_mvl/mxv + .byte W03 + .byte 35*mus_b_frontier_mvl/mxv + .byte W03 + .byte 31*mus_b_frontier_mvl/mxv + .byte W01 + .byte N04 , Gs3 + .byte W02 + .byte VOL , 39*mus_b_frontier_mvl/mxv + .byte W02 + .byte N04 , Fs3 + .byte W04 + .byte VOL , 41*mus_b_frontier_mvl/mxv + .byte N32 , Ds3 + .byte W15 + .byte VOL , 33*mus_b_frontier_mvl/mxv + .byte W09 + .byte 30*mus_b_frontier_mvl/mxv + .byte W12 + .byte 40*mus_b_frontier_mvl/mxv + .byte N12 , Fs3 + .byte W12 + .byte PAN , c_v-48 + .byte N04 , Bn3 , v100 + .byte W04 + .byte Fs3 + .byte W04 + .byte Bn3 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Ds4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Ds4 + .byte W04 + .byte PAN , c_v-48 + .byte N04 , Bn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Ds4 + .byte W04 + .byte PAN , c_v+31 + .byte N04 , Fs4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Bn3 + .byte W04 + .byte VOL , 70*mus_b_frontier_mvl/mxv + .byte PAN , c_v+0 + .byte N08 , Gs4 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte N32 + .byte W08 + .byte VOL , 59*mus_b_frontier_mvl/mxv + .byte W12 + .byte 47*mus_b_frontier_mvl/mxv + .byte MOD , 3 + .byte W06 + .byte VOL , 35*mus_b_frontier_mvl/mxv + .byte W06 + .byte 69*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte N12 , Gs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte N06 , Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N48 , Ds4 + .byte W12 + .byte VOL , 59*mus_b_frontier_mvl/mxv + .byte W12 + .byte 47*mus_b_frontier_mvl/mxv + .byte W12 + .byte 35*mus_b_frontier_mvl/mxv + .byte MOD , 3 + .byte W06 + .byte VOL , 28*mus_b_frontier_mvl/mxv + .byte W06 + .byte 69*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs4 + .byte W16 + .byte N04 , Bn3 + .byte W08 + .byte N36 + .byte W12 + .byte VOL , 59*mus_b_frontier_mvl/mxv + .byte W12 + .byte 47*mus_b_frontier_mvl/mxv + .byte MOD , 3 + .byte W06 + .byte VOL , 35*mus_b_frontier_mvl/mxv + .byte W06 + .byte 69*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N12 , Ds4 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte N06 , Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N02 , An4 , v076 + .byte W02 + .byte N32 , Gs4 , v100 + .byte W10 + .byte VOL , 58*mus_b_frontier_mvl/mxv + .byte W12 + .byte 47*mus_b_frontier_mvl/mxv + .byte MOD , 3 + .byte W06 + .byte VOL , 35*mus_b_frontier_mvl/mxv + .byte W06 + .byte 69*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N12 , Cs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte N08 , Gs4 + .byte W16 + .byte N04 , Cs4 + .byte W08 + .byte N36 , En4 + .byte W12 + .byte VOL , 59*mus_b_frontier_mvl/mxv + .byte W12 + .byte 47*mus_b_frontier_mvl/mxv + .byte MOD , 3 + .byte W06 + .byte VOL , 36*mus_b_frontier_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W12 + .byte VOL , 69*mus_b_frontier_mvl/mxv + .byte N12 , Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte N36 , Gs4 + .byte W15 + .byte VOL , 56*mus_b_frontier_mvl/mxv + .byte W09 + .byte 47*mus_b_frontier_mvl/mxv + .byte MOD , 3 + .byte W06 + .byte VOL , 38*mus_b_frontier_mvl/mxv + .byte W06 + .byte 69*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N06 , Fs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N24 , Ds4 + .byte W12 + .byte VOL , 56*mus_b_frontier_mvl/mxv + .byte MOD , 3 + .byte W06 + .byte VOL , 44*mus_b_frontier_mvl/mxv + .byte W06 + .byte 69*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N24 , En4 + .byte W12 + .byte VOL , 54*mus_b_frontier_mvl/mxv + .byte MOD , 3 + .byte W06 + .byte VOL , 45*mus_b_frontier_mvl/mxv + .byte W06 + .byte 69*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N96 , Bn4 + .byte W24 + .byte VOL , 65*mus_b_frontier_mvl/mxv + .byte W12 + .byte 60*mus_b_frontier_mvl/mxv + .byte W12 + .byte 56*mus_b_frontier_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 52*mus_b_frontier_mvl/mxv + .byte W12 + .byte 47*mus_b_frontier_mvl/mxv + .byte W12 + .byte 42*mus_b_frontier_mvl/mxv + .byte W06 + .byte 35*mus_b_frontier_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W24 + .byte VOL , 69*mus_b_frontier_mvl/mxv + .byte W72 + .byte GOTO + .word mus_b_frontier_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_b_frontier_6: + .byte KEYSH , mus_b_frontier_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 79*mus_b_frontier_mvl/mxv + .byte PAN , c_v+24 + .byte W12 + .byte W96 + .byte W96 +mus_b_frontier_6_B1: + .byte N24 , En2 , v100 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 79*mus_b_frontier_mvl/mxv + .byte N12 , Bn1 + .byte W09 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W15 + .byte 79*mus_b_frontier_mvl/mxv + .byte N12 , En2 + .byte W09 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W15 + .byte 79*mus_b_frontier_mvl/mxv + .byte N12 , Bn1 + .byte W09 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W15 + .byte 79*mus_b_frontier_mvl/mxv + .byte N04 , En2 + .byte W08 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W08 + .byte N08 , Bn1 + .byte W08 + .byte N04 , En1 + .byte W08 + .byte N04 + .byte W08 + .byte N24 , En2 + .byte W12 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 64*mus_b_frontier_mvl/mxv + .byte W06 + .byte 79*mus_b_frontier_mvl/mxv + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 14 + .byte VOL , 73*mus_b_frontier_mvl/mxv + .byte W48 + .byte PAN , c_v-38 + .byte N24 , En5 , v060 + .byte W12 + .byte VOL , 62*mus_b_frontier_mvl/mxv + .byte W06 + .byte 53*mus_b_frontier_mvl/mxv + .byte W06 + .byte PAN , c_v-16 + .byte VOL , 73*mus_b_frontier_mvl/mxv + .byte N24 , Bn4 , v088 + .byte W12 + .byte VOL , 62*mus_b_frontier_mvl/mxv + .byte W06 + .byte 53*mus_b_frontier_mvl/mxv + .byte W06 + .byte PAN , c_v+7 + .byte VOL , 73*mus_b_frontier_mvl/mxv + .byte N24 , Gs4 , v092 + .byte W12 + .byte VOL , 62*mus_b_frontier_mvl/mxv + .byte W06 + .byte 53*mus_b_frontier_mvl/mxv + .byte W06 + .byte PAN , c_v+25 + .byte VOL , 73*mus_b_frontier_mvl/mxv + .byte N24 , En4 , v056 + .byte W12 + .byte VOL , 62*mus_b_frontier_mvl/mxv + .byte W06 + .byte 53*mus_b_frontier_mvl/mxv + .byte W06 + .byte VOICE , 47 + .byte VOL , 79*mus_b_frontier_mvl/mxv + .byte W08 + .byte N06 , Cs3 , v100 + .byte W16 + .byte N12 , An2 + .byte W16 + .byte N08 , En2 + .byte W08 + .byte N24 , Cn2 + .byte W12 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W12 + .byte 79*mus_b_frontier_mvl/mxv + .byte W72 + .byte PAN , c_v+20 + .byte W48 + .byte N04 , Fs2 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Bn1 + .byte W08 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N08 , Fs1 + .byte W08 + .byte VOICE , 47 + .byte N24 , An2 + .byte W12 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 62*mus_b_frontier_mvl/mxv + .byte W06 + .byte 79*mus_b_frontier_mvl/mxv + .byte W72 + .byte W48 + .byte N08 , Fs2 + .byte W08 + .byte Ds2 + .byte W08 + .byte Bn2 + .byte W08 + .byte N12 , Ds2 + .byte W12 + .byte Bn1 + .byte W12 + .byte N24 , Gs1 + .byte W12 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 62*mus_b_frontier_mvl/mxv + .byte W06 + .byte 79*mus_b_frontier_mvl/mxv + .byte W72 + .byte W48 + .byte N06 , Cs3 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En2 + .byte W03 + .byte N03 + .byte W03 + .byte N06 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte N24 , An1 + .byte W12 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 62*mus_b_frontier_mvl/mxv + .byte W06 + .byte 79*mus_b_frontier_mvl/mxv + .byte W36 + .byte N06 , En2 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , An2 + .byte W12 + .byte En2 + .byte W12 + .byte N24 , As1 + .byte W12 + .byte VOL , 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 62*mus_b_frontier_mvl/mxv + .byte W06 + .byte 79*mus_b_frontier_mvl/mxv + .byte W36 + .byte N06 , As2 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Fs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte W96 + .byte W96 + .byte GOTO + .word mus_b_frontier_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_b_frontier_7: + .byte KEYSH , mus_b_frontier_key+0 + .byte VOICE , 80 + .byte LFOS , 51 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 47*mus_b_frontier_mvl/mxv + .byte PAN , c_v-62 + .byte W12 + .byte N04 , Fs3 , v088 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N32 + .byte W12 + .byte MOD , 4 + .byte VOL , 35*mus_b_frontier_mvl/mxv + .byte W12 + .byte 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 11*mus_b_frontier_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 47*mus_b_frontier_mvl/mxv + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 , Ds3 + .byte W12 + .byte MOD , 4 + .byte VOL , 35*mus_b_frontier_mvl/mxv + .byte W12 + .byte 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 11*mus_b_frontier_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 47*mus_b_frontier_mvl/mxv + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 +mus_b_frontier_7_B1: + .byte VOL , 40*mus_b_frontier_mvl/mxv + .byte W24 + .byte N24 , Gs2 , v088 + .byte W12 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 39*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N24 , An2 + .byte W12 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 39*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N24 , Bn2 + .byte W12 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 39*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N24 , Cs3 + .byte W12 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 39*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N24 , Bn2 + .byte W12 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 39*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N24 , Cs3 + .byte W12 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 39*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N24 , Ds3 + .byte W12 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 43*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N84 , En3 + .byte W24 + .byte VOL , 43*mus_b_frontier_mvl/mxv + .byte W02 + .byte 39*mus_b_frontier_mvl/mxv + .byte W04 + .byte 38*mus_b_frontier_mvl/mxv + .byte W02 + .byte 35*mus_b_frontier_mvl/mxv + .byte W04 + .byte 34*mus_b_frontier_mvl/mxv + .byte W02 + .byte 32*mus_b_frontier_mvl/mxv + .byte W04 + .byte 30*mus_b_frontier_mvl/mxv + .byte W02 + .byte 28*mus_b_frontier_mvl/mxv + .byte W04 + .byte 26*mus_b_frontier_mvl/mxv + .byte W02 + .byte 25*mus_b_frontier_mvl/mxv + .byte W04 + .byte 23*mus_b_frontier_mvl/mxv + .byte W02 + .byte 22*mus_b_frontier_mvl/mxv + .byte W04 + .byte 19*mus_b_frontier_mvl/mxv + .byte W02 + .byte 18*mus_b_frontier_mvl/mxv + .byte W04 + .byte 17*mus_b_frontier_mvl/mxv + .byte W02 + .byte 14*mus_b_frontier_mvl/mxv + .byte W04 + .byte 13*mus_b_frontier_mvl/mxv + .byte W02 + .byte 11*mus_b_frontier_mvl/mxv + .byte W10 + .byte 44*mus_b_frontier_mvl/mxv + .byte N06 , As2 + .byte W06 + .byte An2 + .byte W06 + .byte N96 , Gs2 + .byte W24 + .byte VOL , 44*mus_b_frontier_mvl/mxv + .byte W02 + .byte 40*mus_b_frontier_mvl/mxv + .byte W04 + .byte 38*mus_b_frontier_mvl/mxv + .byte W02 + .byte 37*mus_b_frontier_mvl/mxv + .byte W04 + .byte 35*mus_b_frontier_mvl/mxv + .byte W02 + .byte 34*mus_b_frontier_mvl/mxv + .byte W04 + .byte 33*mus_b_frontier_mvl/mxv + .byte W02 + .byte 29*mus_b_frontier_mvl/mxv + .byte W04 + .byte 28*mus_b_frontier_mvl/mxv + .byte W02 + .byte 26*mus_b_frontier_mvl/mxv + .byte W04 + .byte 25*mus_b_frontier_mvl/mxv + .byte W02 + .byte 23*mus_b_frontier_mvl/mxv + .byte W04 + .byte 22*mus_b_frontier_mvl/mxv + .byte W02 + .byte 19*mus_b_frontier_mvl/mxv + .byte W04 + .byte 19*mus_b_frontier_mvl/mxv + .byte W02 + .byte 17*mus_b_frontier_mvl/mxv + .byte W04 + .byte 16*mus_b_frontier_mvl/mxv + .byte W02 + .byte 15*mus_b_frontier_mvl/mxv + .byte W04 + .byte 13*mus_b_frontier_mvl/mxv + .byte W02 + .byte 11*mus_b_frontier_mvl/mxv + .byte W16 + .byte 40*mus_b_frontier_mvl/mxv + .byte W24 + .byte N24 + .byte W12 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte W06 + .byte 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 39*mus_b_frontier_mvl/mxv + .byte N24 , An2 + .byte W12 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte W06 + .byte 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 39*mus_b_frontier_mvl/mxv + .byte N24 , Bn2 + .byte W12 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte W06 + .byte 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 39*mus_b_frontier_mvl/mxv + .byte N24 , Cs3 + .byte W12 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte W06 + .byte 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 39*mus_b_frontier_mvl/mxv + .byte N24 , Bn2 + .byte W12 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte W06 + .byte 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 39*mus_b_frontier_mvl/mxv + .byte N24 , Cs3 + .byte W12 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte W06 + .byte 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 39*mus_b_frontier_mvl/mxv + .byte N24 , Ds3 + .byte W12 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte W06 + .byte 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 40*mus_b_frontier_mvl/mxv + .byte N96 , Gn3 , v064 + .byte W03 + .byte VOL , 35*mus_b_frontier_mvl/mxv + .byte W03 + .byte 23*mus_b_frontier_mvl/mxv + .byte W03 + .byte 11*mus_b_frontier_mvl/mxv + .byte W15 + .byte MOD , 6 + .byte W18 + .byte VOL , 14*mus_b_frontier_mvl/mxv + .byte W02 + .byte 17*mus_b_frontier_mvl/mxv + .byte W04 + .byte 22*mus_b_frontier_mvl/mxv + .byte W02 + .byte 25*mus_b_frontier_mvl/mxv + .byte W04 + .byte 33*mus_b_frontier_mvl/mxv + .byte W02 + .byte 36*mus_b_frontier_mvl/mxv + .byte W04 + .byte 40*mus_b_frontier_mvl/mxv + .byte W02 + .byte 44*mus_b_frontier_mvl/mxv + .byte W04 + .byte 47*mus_b_frontier_mvl/mxv + .byte W02 + .byte 49*mus_b_frontier_mvl/mxv + .byte W04 + .byte 54*mus_b_frontier_mvl/mxv + .byte W02 + .byte 56*mus_b_frontier_mvl/mxv + .byte W04 + .byte 59*mus_b_frontier_mvl/mxv + .byte W02 + .byte 60*mus_b_frontier_mvl/mxv + .byte W04 + .byte 64*mus_b_frontier_mvl/mxv + .byte W06 + .byte 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 47*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N96 , Dn3 + .byte W03 + .byte VOL , 35*mus_b_frontier_mvl/mxv + .byte W03 + .byte 23*mus_b_frontier_mvl/mxv + .byte W03 + .byte 11*mus_b_frontier_mvl/mxv + .byte W15 + .byte MOD , 6 + .byte W18 + .byte VOL , 14*mus_b_frontier_mvl/mxv + .byte W02 + .byte 17*mus_b_frontier_mvl/mxv + .byte W04 + .byte 22*mus_b_frontier_mvl/mxv + .byte W02 + .byte 25*mus_b_frontier_mvl/mxv + .byte W04 + .byte 33*mus_b_frontier_mvl/mxv + .byte W02 + .byte 36*mus_b_frontier_mvl/mxv + .byte W04 + .byte 40*mus_b_frontier_mvl/mxv + .byte W02 + .byte 44*mus_b_frontier_mvl/mxv + .byte W04 + .byte 47*mus_b_frontier_mvl/mxv + .byte W02 + .byte 49*mus_b_frontier_mvl/mxv + .byte W04 + .byte 54*mus_b_frontier_mvl/mxv + .byte W02 + .byte 56*mus_b_frontier_mvl/mxv + .byte W04 + .byte 59*mus_b_frontier_mvl/mxv + .byte W02 + .byte 60*mus_b_frontier_mvl/mxv + .byte W04 + .byte 64*mus_b_frontier_mvl/mxv + .byte W06 + .byte 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 47*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N96 , Gs3 + .byte W03 + .byte VOL , 35*mus_b_frontier_mvl/mxv + .byte W03 + .byte 23*mus_b_frontier_mvl/mxv + .byte W03 + .byte 11*mus_b_frontier_mvl/mxv + .byte W15 + .byte MOD , 6 + .byte W18 + .byte VOL , 14*mus_b_frontier_mvl/mxv + .byte W02 + .byte 17*mus_b_frontier_mvl/mxv + .byte W04 + .byte 22*mus_b_frontier_mvl/mxv + .byte W02 + .byte 25*mus_b_frontier_mvl/mxv + .byte W04 + .byte 33*mus_b_frontier_mvl/mxv + .byte W02 + .byte 36*mus_b_frontier_mvl/mxv + .byte W04 + .byte 40*mus_b_frontier_mvl/mxv + .byte W02 + .byte 44*mus_b_frontier_mvl/mxv + .byte W04 + .byte 47*mus_b_frontier_mvl/mxv + .byte W02 + .byte 49*mus_b_frontier_mvl/mxv + .byte W04 + .byte 54*mus_b_frontier_mvl/mxv + .byte W02 + .byte 56*mus_b_frontier_mvl/mxv + .byte W04 + .byte 59*mus_b_frontier_mvl/mxv + .byte W02 + .byte 60*mus_b_frontier_mvl/mxv + .byte W04 + .byte 64*mus_b_frontier_mvl/mxv + .byte W06 + .byte 71*mus_b_frontier_mvl/mxv + .byte W06 + .byte 39*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N40 , En3 + .byte W15 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte W09 + .byte 23*mus_b_frontier_mvl/mxv + .byte W09 + .byte 19*mus_b_frontier_mvl/mxv + .byte W15 + .byte 39*mus_b_frontier_mvl/mxv + .byte W08 + .byte N06 , Cs3 , v088 + .byte W16 + .byte N12 + .byte W24 + .byte N88 , An2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 35*mus_b_frontier_mvl/mxv + .byte W12 + .byte 31*mus_b_frontier_mvl/mxv + .byte W12 + .byte 25*mus_b_frontier_mvl/mxv + .byte W12 + .byte 22*mus_b_frontier_mvl/mxv + .byte W12 + .byte 19*mus_b_frontier_mvl/mxv + .byte W24 + .byte 39*mus_b_frontier_mvl/mxv + .byte N12 , Ds2 + .byte W12 + .byte Fs2 + .byte W12 + .byte An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte N08 , Ds3 + .byte W08 + .byte N04 , Bn2 + .byte W08 + .byte N08 , Bn3 + .byte W08 + .byte N12 , Fs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N08 , En4 + .byte W08 + .byte N04 , An3 + .byte W08 + .byte N32 + .byte W08 + .byte VOL , 32*mus_b_frontier_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 17*mus_b_frontier_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W12 + .byte VOL , 39*mus_b_frontier_mvl/mxv + .byte N12 , Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte N06 , Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte En3 + .byte W06 + .byte N48 , Fs3 + .byte W12 + .byte VOL , 32*mus_b_frontier_mvl/mxv + .byte W12 + .byte 21*mus_b_frontier_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 17*mus_b_frontier_mvl/mxv + .byte W12 + .byte 39*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte N06 + .byte W06 + .byte Bn3 + .byte W06 + .byte N06 + .byte W16 + .byte N04 , Gs3 + .byte W08 + .byte N36 + .byte W12 + .byte VOL , 32*mus_b_frontier_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 18*mus_b_frontier_mvl/mxv + .byte W12 + .byte 39*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N12 , Bn3 + .byte W12 + .byte Fs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N36 , Cs4 + .byte W12 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 17*mus_b_frontier_mvl/mxv + .byte W06 + .byte 39*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N12 , Fn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cs4 + .byte W12 + .byte N08 , En4 + .byte W16 + .byte N04 , An3 + .byte W08 + .byte N36 , Cs4 + .byte W12 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W09 + .byte 15*mus_b_frontier_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W12 + .byte VOL , 39*mus_b_frontier_mvl/mxv + .byte N12 , Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte N36 , En4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 , Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte VOL , 39*mus_b_frontier_mvl/mxv + .byte N24 , As3 + .byte W12 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 39*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N24 , Cs4 + .byte W12 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte PAN , c_v-62 + .byte VOL , 39*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N04 , Fs3 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N32 + .byte W12 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte MOD , 4 + .byte W12 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 17*mus_b_frontier_mvl/mxv + .byte W06 + .byte 39*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 + .byte W12 + .byte VOL , 31*mus_b_frontier_mvl/mxv + .byte MOD , 4 + .byte W12 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W06 + .byte 17*mus_b_frontier_mvl/mxv + .byte W06 + .byte 39*mus_b_frontier_mvl/mxv + .byte MOD , 0 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte GOTO + .word mus_b_frontier_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_b_frontier_8: + .byte KEYSH , mus_b_frontier_key+0 + .byte VOICE , 83 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 33*mus_b_frontier_mvl/mxv + .byte BEND , c_v+0 + .byte N04 , Bn3 , v100 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Bn4 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N32 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 + .byte W12 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 +mus_b_frontier_8_B1: + .byte VOICE , 92 + .byte W24 + .byte N24 , En3 , v100 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Fs3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Gs3 + .byte W12 + .byte MOD , 6 + .byte W12 +mus_b_frontier_8_000: + .byte MOD , 0 + .byte N24 , An3 , v100 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Gs3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , An3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte PEND + .byte 0 + .byte N72 , Gs3 + .byte W24 + .byte MOD , 6 + .byte W60 + .byte 0 + .byte W12 + .byte N96 , En3 + .byte W24 + .byte MOD , 6 + .byte W72 + .byte 0 + .byte W24 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Fs3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Gs3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte PATT + .word mus_b_frontier_8_000 + .byte MOD , 0 + .byte N96 , Dn4 , v100 + .byte W24 + .byte MOD , 6 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W24 + .byte 35*mus_b_frontier_mvl/mxv + .byte W24 + .byte 33*mus_b_frontier_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte N96 , Fs3 + .byte W24 + .byte MOD , 6 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W24 + .byte 35*mus_b_frontier_mvl/mxv + .byte W24 + .byte 33*mus_b_frontier_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte N96 , Cs4 + .byte W24 + .byte MOD , 6 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W24 + .byte 35*mus_b_frontier_mvl/mxv + .byte W24 + .byte 33*mus_b_frontier_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 33*mus_b_frontier_mvl/mxv + .byte N40 , Gs3 + .byte W48 + .byte VOICE , 84 + .byte W08 + .byte N06 , En4 + .byte W16 + .byte N12 , Fs4 + .byte W24 + .byte N02 , Cs4 , v092 + .byte W02 + .byte N84 , Cn4 , v100 + .byte W10 + .byte MOD , 6 + .byte W12 + .byte VOL , 23*mus_b_frontier_mvl/mxv + .byte W24 + .byte 35*mus_b_frontier_mvl/mxv + .byte W24 + .byte 33*mus_b_frontier_mvl/mxv + .byte W16 + .byte N04 , Ds4 + .byte W04 + .byte Cs4 + .byte W04 + .byte MOD , 0 + .byte N32 , Ds4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N12 + .byte W12 + .byte En4 + .byte W12 + .byte N36 , Fs4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte VOICE , 84 + .byte MOD , 0 + .byte N08 , Gs4 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte N32 + .byte W20 + .byte MOD , 3 + .byte W12 + .byte 0 + .byte W12 + .byte N12 , Gs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte N06 , Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N48 , Ds4 + .byte W36 + .byte MOD , 3 + .byte W12 + .byte 0 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs4 + .byte W16 + .byte N04 , Bn3 + .byte W08 + .byte N36 + .byte W24 + .byte MOD , 3 + .byte W12 + .byte 0 + .byte N12 , Ds4 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte N06 , Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N36 , Gs4 + .byte W24 + .byte MOD , 3 + .byte W12 + .byte 0 + .byte N12 , Cs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte N08 , Gs4 + .byte W16 + .byte N04 , Cs4 + .byte W08 + .byte N36 , En4 + .byte W24 + .byte MOD , 3 + .byte W12 + .byte 0 + .byte W12 + .byte N12 , Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte N36 , Gs4 + .byte W24 + .byte MOD , 3 + .byte W12 + .byte 0 + .byte N06 , Fs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 3 + .byte W12 + .byte 0 + .byte N24 , En4 + .byte W12 + .byte MOD , 3 + .byte W12 + .byte 0 + .byte W96 + .byte W96 + .byte GOTO + .word mus_b_frontier_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_b_frontier_9: + .byte KEYSH , mus_b_frontier_key+0 + .byte VOICE , 1 + .byte PAN , c_v+0 + .byte VOL , 90*mus_b_frontier_mvl/mxv + .byte N02 , En1 , v032 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 +mus_b_frontier_9_000: + .byte N04 , En1 , v088 + .byte W12 + .byte N02 , En1 , v064 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte En1 , v084 + .byte W08 + .byte N02 + .byte W08 + .byte PEND +mus_b_frontier_9_001: + .byte N04 , En1 , v088 + .byte W04 + .byte N02 , En1 , v040 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte En1 , v064 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 , En1 , v088 + .byte W04 + .byte N02 , En1 , v044 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte PEND +mus_b_frontier_9_B1: + .byte N04 , En1 , v088 + .byte N24 , An2 , v056 + .byte W36 + .byte N02 , En1 , v032 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N04 , En1 , v088 + .byte W12 + .byte N02 , En1 , v032 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N04 , En1 , v088 + .byte W12 + .byte N02 , En1 , v032 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N04 , En1 , v088 + .byte W08 + .byte En1 , v024 + .byte W08 + .byte En1 , v028 + .byte W08 + .byte En1 , v024 + .byte W08 + .byte En1 , v028 + .byte W08 + .byte En1 , v024 + .byte W04 + .byte N02 , En1 , v032 + .byte W02 + .byte N02 + .byte W02 + .byte N04 , En1 , v088 + .byte W08 + .byte En1 , v024 + .byte W08 + .byte En1 , v028 + .byte W08 + .byte En1 , v024 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W04 + .byte N02 , En1 , v032 + .byte W02 + .byte N02 + .byte W02 +mus_b_frontier_9_002: + .byte N04 , En1 , v064 + .byte W16 + .byte En1 , v048 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte En1 , v036 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte En1 , v036 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v064 + .byte W04 + .byte N02 , En1 , v032 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte PEND + .byte N04 , En1 , v064 + .byte W08 + .byte En1 , v036 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v064 + .byte W16 + .byte En1 , v048 + .byte W08 + .byte En1 , v064 + .byte W16 + .byte En1 , v048 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v060 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte En1 , v036 + .byte W08 + .byte N04 + .byte W08 + .byte N24 , An2 , v060 + .byte W24 + .byte N04 , En1 , v088 + .byte W04 + .byte N02 , En1 , v032 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N04 , En1 , v064 + .byte W08 + .byte En1 , v036 + .byte W08 + .byte N04 + .byte W08 + .byte PATT + .word mus_b_frontier_9_002 + .byte N04 , En1 , v064 + .byte W16 + .byte En1 , v048 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte En1 , v036 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte En1 , v036 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v064 + .byte W16 + .byte En1 , v036 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte En1 , v036 + .byte W08 + .byte En1 , v048 + .byte W08 + .byte En1 , v064 + .byte W16 + .byte En1 , v036 + .byte W08 + .byte En1 , v064 + .byte W16 + .byte En1 , v036 + .byte W08 + .byte En1 , v064 + .byte W16 + .byte En1 , v036 + .byte W08 + .byte En1 , v064 + .byte W16 + .byte En1 , v048 + .byte W08 + .byte En1 , v064 + .byte W04 + .byte N02 , En1 , v032 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N04 , En1 , v064 + .byte W08 + .byte En1 , v036 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v064 + .byte W16 + .byte En1 , v036 + .byte W08 + .byte En1 , v064 + .byte W04 + .byte N02 , En1 , v032 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N04 , En1 , v064 + .byte W08 + .byte En1 , v036 + .byte W08 + .byte N04 + .byte W16 + .byte N06 , En1 , v100 + .byte W16 + .byte N24 , Cs2 , v052 + .byte W24 + .byte An2 , v056 + .byte W24 + .byte N04 , En1 , v064 + .byte W04 + .byte N02 , En1 , v032 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N04 , En1 , v064 + .byte W08 + .byte En1 , v036 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v064 + .byte W12 + .byte N06 + .byte W06 + .byte N02 , En1 , v032 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N04 , En1 , v064 + .byte W16 + .byte En1 , v036 + .byte W08 + .byte En1 , v064 + .byte W04 + .byte N02 , En1 , v032 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W48 + .byte W02 + .byte N04 , En1 , v064 + .byte N24 , An2 + .byte W08 + .byte N04 , En1 , v036 + .byte W08 + .byte En1 , v048 + .byte W08 + .byte En1 , v064 + .byte N08 , Fs2 , v048 + .byte W08 + .byte Fs2 , v032 + .byte W08 + .byte N04 , En1 , v036 + .byte N08 , Fs2 , v032 + .byte W08 + .byte N04 , En1 , v064 + .byte N06 , Fs2 + .byte W16 + .byte N04 , En1 , v036 + .byte W08 + .byte En1 , v064 + .byte W04 + .byte N02 , En1 , v032 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N04 , En1 , v064 + .byte W16 + .byte En1 , v036 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte En1 , v036 + .byte W08 + .byte En1 , v048 + .byte W56 + .byte N24 , An2 , v064 + .byte W24 + .byte N04 , En1 + .byte N08 , Fs2 , v048 + .byte W04 + .byte N02 , En1 , v032 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte N08 , Fs2 + .byte W02 + .byte N02 , En1 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte N08 , Fs2 + .byte W02 + .byte N02 , En1 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N04 , En1 , v064 + .byte N06 , Fs2 + .byte W08 + .byte N04 , En1 , v036 + .byte W08 + .byte En1 , v048 + .byte W08 + .byte En1 , v064 + .byte W16 + .byte En1 , v036 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte En1 , v036 + .byte W08 + .byte En1 , v048 + .byte W08 + .byte En1 , v064 + .byte W16 + .byte En1 , v036 + .byte W56 + .byte N24 , An2 , v064 + .byte W24 + .byte N04 , En1 + .byte W04 + .byte N02 , En1 , v032 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N06 , En1 , v064 + .byte W06 + .byte N06 + .byte W42 + .byte N24 , An2 + .byte W24 + .byte N04 , En1 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v060 + .byte W04 + .byte N02 , En1 , v032 + .byte W02 + .byte N02 + .byte W02 + .byte N06 , En1 , v064 + .byte W06 + .byte N06 + .byte W42 + .byte PATT + .word mus_b_frontier_9_000 + .byte PATT + .word mus_b_frontier_9_001 + .byte GOTO + .word mus_b_frontier_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_b_frontier: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_b_frontier_pri @ Priority + .byte mus_b_frontier_rev @ Reverb. + + .word mus_b_frontier_grp + + .word mus_b_frontier_1 + .word mus_b_frontier_2 + .word mus_b_frontier_3 + .word mus_b_frontier_4 + .word mus_b_frontier_5 + .word mus_b_frontier_6 + .word mus_b_frontier_7 + .word mus_b_frontier_8 + .word mus_b_frontier_9 + + .end diff --git a/sound/songs/mus_b_palace.s b/sound/songs/mus_b_palace.s new file mode 100644 index 0000000000..bb221573f7 --- /dev/null +++ b/sound/songs/mus_b_palace.s @@ -0,0 +1,3933 @@ + .include "MPlayDef.s" + + .equ mus_b_palace_grp, voicegroup_8697070 + .equ mus_b_palace_pri, 0 + .equ mus_b_palace_rev, reverb_set+50 + .equ mus_b_palace_mvl, 127 + .equ mus_b_palace_key, 0 + .equ mus_b_palace_tbs, 1 + .equ mus_b_palace_exg, 0 + .equ mus_b_palace_cmp, 1 + + .section .rodata + .global mus_b_palace + .align 2 + +@********************** Track 1 **********************@ + +mus_b_palace_1: + .byte KEYSH , mus_b_palace_key+0 + .byte TEMPO , 96*mus_b_palace_tbs/2 + .byte VOICE , 24 + .byte VOL , 105*mus_b_palace_mvl/mxv + .byte PAN , c_v+0 + .byte W06 + .byte W96 + .byte W96 +mus_b_palace_1_000: + .byte VOL , 105*mus_b_palace_mvl/mxv + .byte N24 , Gn1 , v088 + .byte W12 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 79*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte PAN , c_v-40 + .byte N24 , Gn1 , v028 + .byte W12 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 79*mus_b_palace_mvl/mxv + .byte W06 + .byte PAN , c_v+47 + .byte VOL , 105*mus_b_palace_mvl/mxv + .byte N24 , Gn1 , v016 + .byte W12 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 79*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte PAN , c_v-42 + .byte N24 , Gn1 , v012 + .byte W12 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 79*mus_b_palace_mvl/mxv + .byte W06 + .byte PEND + .byte PAN , c_v+0 + .byte VOL , 105*mus_b_palace_mvl/mxv + .byte N12 , Gn1 , v088 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte N12 , Gn1 , v084 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte PAN , c_v-40 + .byte N12 , Gn1 , v052 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte N12 , Gn1 , v048 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte PAN , c_v+47 + .byte VOL , 105*mus_b_palace_mvl/mxv + .byte N12 , Gn1 , v032 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte W06 + .byte 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte PAN , c_v-41 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte W06 + .byte 92*mus_b_palace_mvl/mxv + .byte W06 + .byte PAN , c_v+0 + .byte VOL , 105*mus_b_palace_mvl/mxv + .byte W48 + .byte W96 + .byte W96 + .byte 105*mus_b_palace_mvl/mxv + .byte N24 , Gn1 , v088 + .byte W12 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 79*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte PAN , c_v-40 + .byte N24 , Gn1 , v028 + .byte W12 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 79*mus_b_palace_mvl/mxv + .byte W06 + .byte PAN , c_v+47 + .byte VOL , 105*mus_b_palace_mvl/mxv + .byte N24 , Gn1 , v016 + .byte W12 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 79*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte PAN , c_v+0 + .byte N24 , Gn1 , v084 + .byte W12 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 79*mus_b_palace_mvl/mxv + .byte W06 + .byte PAN , c_v+0 + .byte VOL , 105*mus_b_palace_mvl/mxv + .byte N12 , Gn1 , v088 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte N12 , Gn1 , v064 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte PAN , c_v-40 + .byte N12 , Gn1 , v028 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte N12 , Gn1 , v020 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte PAN , c_v+47 + .byte VOL , 105*mus_b_palace_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte PAN , c_v-41 + .byte N12 , Gn1 , v016 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte PAN , c_v+0 + .byte W48 + .byte W96 + .byte W96 + .byte PATT + .word mus_b_palace_1_000 + .byte PAN , c_v+0 + .byte VOL , 105*mus_b_palace_mvl/mxv + .byte N12 , Gn1 , v088 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte N12 , Gn1 , v064 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte PAN , c_v-40 + .byte N12 , Gn1 , v028 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte N12 , Gn1 , v020 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte PAN , c_v+47 + .byte VOL , 105*mus_b_palace_mvl/mxv + .byte N12 , Gn1 , v016 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte W06 + .byte 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte PAN , c_v-41 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte W06 + .byte 92*mus_b_palace_mvl/mxv + .byte W06 + .byte PAN , c_v+0 + .byte W48 + .byte W96 + .byte W96 + .byte VOL , 105*mus_b_palace_mvl/mxv + .byte N24 , Fn1 , v088 + .byte W12 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 79*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte PAN , c_v-40 + .byte N24 , Fn1 , v028 + .byte W12 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 79*mus_b_palace_mvl/mxv + .byte W06 + .byte PAN , c_v+47 + .byte VOL , 105*mus_b_palace_mvl/mxv + .byte N12 + .byte W12 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 79*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte PAN , c_v-42 + .byte W12 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 79*mus_b_palace_mvl/mxv + .byte W06 + .byte PAN , c_v+0 + .byte VOL , 105*mus_b_palace_mvl/mxv + .byte N12 , Gn1 , v088 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte N12 , Gn1 , v064 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte PAN , c_v-40 + .byte N12 , Gn1 , v028 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte N12 , Gn1 , v020 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte PAN , c_v+47 + .byte VOL , 105*mus_b_palace_mvl/mxv + .byte N12 , Gn1 , v016 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte N12 , Gn1 , v012 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte PAN , c_v-41 + .byte N12 , Gn1 , v008 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 + .byte 105*mus_b_palace_mvl/mxv + .byte N12 , Gn1 , v004 + .byte W06 + .byte VOL , 92*mus_b_palace_mvl/mxv + .byte W06 +mus_b_palace_1_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_b_palace_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_b_palace_2: + .byte KEYSH , mus_b_palace_key+0 + .byte VOICE , 10 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+3 + .byte VOL , 57*mus_b_palace_mvl/mxv + .byte W06 +mus_b_palace_2_000: + .byte PAN , c_v+4 + .byte W12 + .byte c_v-48 + .byte N06 , Cn4 , v048 + .byte W18 + .byte N06 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v-48 + .byte N06 , Cs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte PAN , c_v+48 + .byte N06 , Cs4 + .byte W12 + .byte PEND +mus_b_palace_2_001: + .byte PAN , c_v+4 + .byte N06 , Cn4 , v048 + .byte W12 + .byte PAN , c_v-48 + .byte N06 , Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v+48 + .byte N06 , Gn3 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-48 + .byte N06 , Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v+48 + .byte N06 , Gs3 + .byte W12 + .byte PEND + .byte PAN , c_v+3 + .byte W24 + .byte N22 , Cn3 , v092 + .byte W24 + .byte N23 , Gn3 + .byte W24 + .byte PAN , c_v-39 + .byte N21 , Gn3 , v028 + .byte W24 + .byte PAN , c_v+32 + .byte N21 + .byte W24 + .byte PAN , c_v+2 + .byte N24 , Cn3 , v092 + .byte W24 + .byte N10 , Gn3 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte W01 + .byte PAN , c_v-32 + .byte N24 , Cn4 , v048 + .byte W11 + .byte W13 + .byte PAN , c_v+45 + .byte N22 , Cn4 , v036 + .byte W23 + .byte PAN , c_v-32 + .byte N10 , Cn4 , v032 + .byte W12 +mus_b_palace_2_002: + .byte PAN , c_v+4 + .byte W12 + .byte c_v-48 + .byte N06 , Cn4 , v048 + .byte W18 + .byte N06 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v-48 + .byte N06 , Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte PAN , c_v+48 + .byte N06 , Cs4 + .byte W12 + .byte PEND +mus_b_palace_2_003: + .byte PAN , c_v+4 + .byte N06 , Fn4 , v048 + .byte W12 + .byte PAN , c_v-48 + .byte N06 , Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v+48 + .byte N06 , Gn3 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-48 + .byte N06 , Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte PAN , c_v-26 + .byte N06 , Cs4 + .byte W12 + .byte PAN , c_v+48 + .byte N06 , Gs3 , v036 + .byte W06 + .byte Fn3 + .byte W06 + .byte PEND + .byte PAN , c_v+3 + .byte W24 + .byte N22 , Cn3 , v092 + .byte W24 + .byte N10 , Gn3 + .byte W12 + .byte N12 , Cn4 + .byte W12 + .byte N24 , Gn2 , v088 + .byte W24 + .byte N12 , Gn2 , v092 + .byte W12 + .byte Gn2 , v064 + .byte W12 + .byte Cn3 , v092 + .byte W12 + .byte N10 + .byte W36 + .byte PAN , c_v-26 + .byte W24 + .byte c_v+3 + .byte N06 , Cn3 , v104 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cn3 + .byte W12 + .byte N03 , Cn3 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v+4 + .byte W12 + .byte c_v-48 + .byte N06 , Gn4 , v048 + .byte W18 + .byte Fn4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte PAN , c_v-48 + .byte N06 , Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte PAN , c_v+48 + .byte N06 , Cs4 + .byte W12 + .byte PAN , c_v+4 + .byte N06 , Cn4 + .byte W12 + .byte PAN , c_v-48 + .byte N06 , Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v-48 + .byte N06 , Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte PAN , c_v+48 + .byte N06 , Cs4 + .byte W12 + .byte PAN , c_v+2 + .byte W24 + .byte N22 , Cn3 , v092 + .byte W24 + .byte N23 , Gn3 + .byte W24 + .byte PAN , c_v-42 + .byte N21 , Gn3 , v044 + .byte W24 + .byte PAN , c_v+4 + .byte N12 , Gn2 , v088 + .byte W12 + .byte Gn2 , v064 + .byte W12 + .byte N22 , Cn3 , v088 + .byte W24 + .byte N06 , Gn3 + .byte W12 + .byte N23 , Cn4 + .byte W21 + .byte PAN , c_v-40 + .byte W03 + .byte N23 , Cn4 , v040 + .byte W12 + .byte PAN , c_v+42 + .byte W12 + .byte N22 , Cn4 , v032 + .byte W15 + .byte PAN , c_v-40 + .byte W09 + .byte N10 , Cn4 , v028 + .byte W12 + .byte PAN , c_v+4 + .byte W12 + .byte c_v-48 + .byte N12 , Cn4 , v048 + .byte W18 + .byte N06 , Cs4 + .byte W06 + .byte PAN , c_v+48 + .byte N12 , Fn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte PAN , c_v-48 + .byte N06 , Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte PAN , c_v+48 + .byte N12 , Gn3 + .byte W12 + .byte PAN , c_v+4 + .byte N12 , Gs3 + .byte W12 + .byte PAN , c_v-48 + .byte N06 , Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte PAN , c_v+48 + .byte N12 , Gn3 + .byte W18 + .byte N06 , Gs3 + .byte W06 + .byte PAN , c_v-48 + .byte N12 , Fn3 + .byte W24 + .byte PAN , c_v+48 + .byte N12 + .byte W12 + .byte PAN , c_v+2 + .byte W24 + .byte N21 , Cn3 , v092 + .byte W24 + .byte Gn3 + .byte W24 + .byte Cn4 + .byte W24 + .byte PAN , c_v-39 + .byte N21 , Cn4 , v032 + .byte W24 + .byte PAN , c_v+44 + .byte N21 , Cn4 , v024 + .byte W24 + .byte PAN , c_v-39 + .byte N21 + .byte W24 + .byte PAN , c_v+44 + .byte N15 , Cn4 , v016 + .byte W18 + .byte PAN , c_v+2 + .byte W06 +mus_b_palace_2_B1: + .byte PATT + .word mus_b_palace_2_000 + .byte PATT + .word mus_b_palace_2_001 + .byte PAN , c_v+2 + .byte W24 + .byte N21 , Cn3 , v092 + .byte W24 + .byte N23 , Gn3 + .byte W24 + .byte Gn3 , v028 + .byte W24 + .byte N21 + .byte W24 + .byte N24 , Cn3 , v092 + .byte W24 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W24 + .byte Cn4 , v036 + .byte W12 + .byte W12 + .byte Cn4 , v024 + .byte W24 + .byte N56 + .byte W60 + .byte PATT + .word mus_b_palace_2_002 + .byte PATT + .word mus_b_palace_2_003 + .byte PAN , c_v+3 + .byte W24 + .byte N20 , Cn3 , v092 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , Gn2 , v064 + .byte W24 + .byte N12 , Gn2 , v092 + .byte W12 + .byte Gn2 , v064 + .byte W12 + .byte Cn3 , v092 + .byte W12 + .byte N12 + .byte W12 + .byte Gn3 + .byte W12 + .byte N22 , Cn4 + .byte W12 + .byte PAN , c_v-26 + .byte W12 + .byte N08 , Cn4 , v040 + .byte W12 + .byte W48 + .byte PAN , c_v+4 + .byte W12 + .byte c_v-48 + .byte N06 , Gn4 , v048 + .byte W18 + .byte Fn4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte PAN , c_v-48 + .byte N06 , Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte PAN , c_v+48 + .byte N06 , Cs4 + .byte W12 + .byte PAN , c_v+4 + .byte N06 , Cn4 + .byte W12 + .byte PAN , c_v-48 + .byte N06 , Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Cs4 + .byte W12 + .byte PAN , c_v+3 + .byte N06 , Cn4 + .byte W12 + .byte PAN , c_v-48 + .byte N06 , Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte PAN , c_v+48 + .byte N06 , Cs4 + .byte W12 + .byte PAN , c_v+1 + .byte W24 + .byte N24 , Cn3 , v092 + .byte W24 + .byte Gn3 + .byte W24 + .byte PAN , c_v-42 + .byte N24 , Gn3 , v044 + .byte W24 + .byte PAN , c_v+4 + .byte W24 + .byte N22 , Cn3 , v092 + .byte W24 + .byte N08 , Gn3 + .byte W12 + .byte N22 , Cn4 + .byte W21 + .byte PAN , c_v-40 + .byte W03 + .byte N22 , Cn4 , v040 + .byte W12 + .byte PAN , c_v+42 + .byte W12 + .byte N22 , Cn4 , v032 + .byte W15 + .byte PAN , c_v-40 + .byte W09 + .byte N08 , Cn4 , v028 + .byte W12 + .byte PAN , c_v+4 + .byte W12 + .byte c_v-48 + .byte N06 , Cn4 , v048 + .byte W18 + .byte Cs4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Fn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte PAN , c_v-48 + .byte N06 , Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Gn3 + .byte W12 + .byte PAN , c_v+4 + .byte N06 , Gs3 + .byte W12 + .byte PAN , c_v-48 + .byte N06 , Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W12 + .byte PAN , c_v+48 + .byte N06 , Gn3 + .byte W18 + .byte Gs3 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Fn3 + .byte W24 + .byte PAN , c_v+48 + .byte N06 + .byte W12 + .byte PAN , c_v+3 + .byte W24 + .byte N24 , Cn3 , v092 + .byte W24 + .byte Gn3 + .byte W24 + .byte Cn4 + .byte W24 + .byte PAN , c_v-39 + .byte N24 , Cn4 , v032 + .byte W24 + .byte PAN , c_v+44 + .byte N24 , Cn4 , v024 + .byte W24 + .byte PAN , c_v-39 + .byte N24 + .byte W24 + .byte PAN , c_v+44 + .byte N18 , Cn4 , v016 + .byte W18 + .byte PAN , c_v+2 + .byte W06 + .byte GOTO + .word mus_b_palace_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_b_palace_3: + .byte KEYSH , mus_b_palace_key+0 + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 39*mus_b_palace_mvl/mxv + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , Cn1 , v064 + .byte W06 + .byte Cs1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cs1 + .byte W06 + .byte Cn1 + .byte W10 + .byte N03 + .byte W06 + .byte N06 + .byte W08 + .byte W16 + .byte Cn1 , v032 + .byte W24 + .byte Cn1 , v016 + .byte W24 + .byte N06 + .byte W24 + .byte Cn1 , v012 + .byte W08 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte W96 + .byte W96 + .byte VOICE , 81 + .byte VOL , 52*mus_b_palace_mvl/mxv + .byte W96 + .byte N03 , Cn1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N03 + .byte W06 + .byte Cn2 + .byte W06 + .byte N02 , Cn1 + .byte W06 + .byte N02 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte Cn1 + .byte W06 + .byte N02 + .byte W06 + .byte Cn2 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte N02 , Cn1 + .byte W06 + .byte N02 + .byte W06 +mus_b_palace_3_B1: + .byte N03 , Fn1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte Fn1 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N03 + .byte W06 + .byte Cn2 + .byte W06 + .byte N02 , Fn1 + .byte W06 + .byte N02 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte Fn1 + .byte W06 + .byte N02 + .byte W06 + .byte Cn2 + .byte W06 + .byte N03 , Fn1 + .byte W06 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N03 , Cs1 + .byte W06 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N03 , En1 + .byte W06 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N15 , Cn1 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , Gn1 + .byte W12 + .byte N03 , Fn1 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 + .byte N12 , Cn2 + .byte W12 +mus_b_palace_3_000: + .byte N06 , Cn1 , v112 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte PEND + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , En1 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Gn1 + .byte W18 + .byte N03 + .byte W06 + .byte N12 , En1 + .byte W18 + .byte N03 + .byte W06 + .byte Fn1 + .byte W06 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte Fn1 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte N02 , Cn1 + .byte W06 + .byte N02 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte As1 + .byte W06 + .byte N02 , En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N03 , Cs1 + .byte W06 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N03 , En1 + .byte W06 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N12 , Cn1 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , Gn1 + .byte W12 + .byte N03 , Fn1 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 + .byte N12 , Cn2 + .byte W12 + .byte PATT + .word mus_b_palace_3_000 + .byte N06 , Cn1 , v108 + .byte W06 + .byte Cs1 , v096 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cs1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N03 , Cn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Cn1 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Cn2 + .byte W12 + .byte Cn1 + .byte W06 + .byte N12 + .byte W18 + .byte N03 + .byte W06 + .byte N12 , En1 + .byte W18 + .byte N03 + .byte W06 + .byte N12 , Gn1 + .byte W18 + .byte N03 + .byte W06 + .byte N12 , Cn1 + .byte W18 + .byte N03 + .byte W06 + .byte N12 + .byte W18 + .byte N03 , Cn2 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , Gn1 + .byte W12 + .byte N03 , En1 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N12 + .byte W12 + .byte N03 , Cn1 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , Cn2 + .byte W12 + .byte PATT + .word mus_b_palace_3_000 + .byte N12 , Cn1 , v112 + .byte W18 + .byte N03 + .byte W06 + .byte N12 + .byte W18 + .byte N03 + .byte W06 + .byte N12 + .byte W18 + .byte N03 + .byte W06 + .byte N12 + .byte W18 + .byte N03 + .byte W06 + .byte N12 + .byte W18 + .byte N03 + .byte W06 + .byte N12 , En1 + .byte W18 + .byte N03 + .byte W06 + .byte N12 , Fn1 + .byte W18 + .byte N03 + .byte W06 + .byte N12 + .byte W18 + .byte N03 + .byte W06 + .byte N12 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Fn2 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte Gn1 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte Fn2 + .byte W12 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte Fn2 + .byte W12 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte GOTO + .word mus_b_palace_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_b_palace_4: + .byte KEYSH , mus_b_palace_key+0 + .byte VOICE , 10 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+16 + .byte VOL , 65*mus_b_palace_mvl/mxv + .byte N03 , Fn3 , v080 + .byte W03 + .byte Gs3 + .byte W03 + .byte N06 , Cn4 , v112 + .byte W18 + .byte N06 + .byte W06 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 +mus_b_palace_4_000: + .byte N06 , Cs4 , v112 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte N06 + .byte W12 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Gs3 , v048 + .byte W12 + .byte Gn3 + .byte W12 + .byte PEND + .byte PAN , c_v+16 + .byte N24 , Gn2 , v088 + .byte W24 + .byte W03 + .byte N21 , Fn3 , v092 + .byte W24 + .byte N23 , Cn4 + .byte W21 + .byte PAN , c_v-32 + .byte W03 + .byte N21 , Cn4 , v024 + .byte W21 + .byte PAN , c_v+54 + .byte W03 + .byte N21 + .byte W21 + .byte PAN , c_v+16 + .byte W03 + .byte N24 , Fn3 , v092 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte N24 , Gn4 + .byte W23 + .byte PAN , c_v-32 + .byte W01 + .byte N24 , Gn4 , v048 + .byte W09 + .byte W14 + .byte PAN , c_v+48 + .byte W01 + .byte N24 , Gn4 , v036 + .byte W23 + .byte PAN , c_v-48 + .byte W01 + .byte N08 , Gn4 , v032 + .byte W09 +mus_b_palace_4_001: + .byte PAN , c_v+16 + .byte N06 , Cn4 , v112 + .byte W18 + .byte N06 + .byte W06 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte PEND + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte N06 + .byte W12 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cs4 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Gs3 , v036 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cs4 + .byte W12 + .byte PAN , c_v+16 + .byte N24 , Gn2 , v084 + .byte W24 + .byte W03 + .byte Fn3 , v092 + .byte W24 + .byte N08 , Cn4 + .byte W12 + .byte N23 , Gn4 + .byte W24 + .byte PAN , c_v-32 + .byte N23 , Gn4 , v048 + .byte W09 + .byte W15 + .byte PAN , c_v+48 + .byte N08 , Gn4 , v032 + .byte W09 + .byte PAN , c_v+16 + .byte W03 + .byte N12 , Fn3 , v092 + .byte W12 + .byte N09 + .byte W12 + .byte N12 , Cn4 + .byte W12 + .byte N23 , Gn4 + .byte W09 + .byte PAN , c_v-34 + .byte W15 + .byte c_v-32 + .byte N24 , Gn4 , v056 + .byte W09 + .byte W15 + .byte PAN , c_v+48 + .byte N24 , Gn4 , v040 + .byte W24 + .byte PAN , c_v-46 + .byte N08 + .byte W09 + .byte PAN , c_v+16 + .byte N06 , Gn4 , v112 + .byte W18 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N06 + .byte W06 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , Gn2 , v088 + .byte W24 + .byte W03 + .byte N22 , Fn3 , v092 + .byte W24 + .byte Cn4 + .byte W21 + .byte PAN , c_v-29 + .byte W03 + .byte N21 , Cn4 , v044 + .byte W21 + .byte PAN , c_v+16 + .byte W24 + .byte W03 + .byte N22 , Fn3 , v088 + .byte W24 + .byte N06 , Cn4 + .byte W12 + .byte N23 , Gn4 + .byte W18 + .byte PAN , c_v-33 + .byte W06 + .byte N22 , Gn4 , v040 + .byte W09 + .byte PAN , c_v+34 + .byte W13 + .byte N24 , Gn4 , v032 + .byte W14 + .byte PAN , c_v-33 + .byte W12 + .byte N08 , Gn4 , v028 + .byte W09 +mus_b_palace_4_002: + .byte PAN , c_v+16 + .byte N06 , Cn4 , v112 + .byte W18 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte PEND +mus_b_palace_4_003: + .byte N06 , Cn4 , v112 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W18 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W24 + .byte N06 + .byte W24 + .byte PEND + .byte N12 , Fn2 , v088 + .byte W12 + .byte Fn2 , v064 + .byte W15 + .byte N21 , Fn3 , v092 + .byte W24 + .byte N23 , Cn4 + .byte W24 + .byte Gn4 + .byte W21 + .byte PAN , c_v-33 + .byte W03 + .byte N23 , Gn4 , v032 + .byte W21 + .byte PAN , c_v+44 + .byte W03 + .byte N23 , Gn4 , v024 + .byte W21 + .byte PAN , c_v-45 + .byte W03 + .byte N23 + .byte W21 + .byte PAN , c_v+43 + .byte W03 + .byte N15 , Gn4 , v016 + .byte W15 + .byte PAN , c_v+16 + .byte N03 , Fn3 , v112 + .byte W03 + .byte Gs3 + .byte W03 +mus_b_palace_4_B1: + .byte PAN , c_v+16 + .byte N06 , Cn4 , v112 + .byte W18 + .byte N06 + .byte W06 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte PATT + .word mus_b_palace_4_000 + .byte PAN , c_v+16 + .byte N24 , Gn2 , v088 + .byte W24 + .byte W03 + .byte N21 , Fn3 , v092 + .byte W24 + .byte N23 , Cn4 + .byte W21 + .byte PAN , c_v-32 + .byte W03 + .byte N23 , Cn4 , v024 + .byte W21 + .byte PAN , c_v+54 + .byte W03 + .byte N21 + .byte W21 + .byte PAN , c_v+16 + .byte W01 + .byte N21 , Fn3 , v092 + .byte W24 + .byte W02 + .byte N12 , Cn4 + .byte W12 + .byte N24 , Gn4 + .byte W22 + .byte PAN , c_v-48 + .byte W02 + .byte N24 , Gn4 , v036 + .byte W09 + .byte PAN , c_v+55 + .byte W15 + .byte N24 , Gn4 , v024 + .byte W09 + .byte PAN , c_v-58 + .byte W15 + .byte N23 + .byte W24 + .byte PAN , c_v+48 + .byte N32 + .byte W32 + .byte W01 + .byte PATT + .word mus_b_palace_4_001 + .byte N06 , Cs4 , v112 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte N06 + .byte W12 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cs4 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Gs3 , v036 + .byte W06 + .byte Fn3 + .byte W06 + .byte N10 , Cs4 + .byte W12 + .byte PAN , c_v+16 + .byte N24 , Gn2 , v084 + .byte W24 + .byte W03 + .byte N20 , Fn3 , v092 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte N44 , Gn4 + .byte W32 + .byte W01 + .byte W24 + .byte W03 + .byte N12 , Fn3 + .byte W12 + .byte N12 + .byte W12 + .byte Cn4 + .byte W12 + .byte N22 , Gn4 + .byte W09 + .byte PAN , c_v-34 + .byte W15 + .byte N08 , Gn4 , v040 + .byte W09 + .byte PAN , c_v+16 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cs3 , v080 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cn3 , v084 + .byte W12 + .byte N03 , Cn3 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Gn4 + .byte W18 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N06 + .byte W06 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , Gn2 , v088 + .byte W24 + .byte W03 + .byte Fn3 , v092 + .byte W21 + .byte W03 + .byte Cn4 + .byte W21 + .byte PAN , c_v-29 + .byte W03 + .byte N20 , Cn4 , v044 + .byte W21 + .byte PAN , c_v+16 + .byte N12 , Gn2 , v088 + .byte W12 + .byte Gn2 , v064 + .byte W15 + .byte N24 , Fn3 , v092 + .byte W21 + .byte W03 + .byte N12 , Cn4 + .byte W12 + .byte N22 , Gn4 + .byte W18 + .byte PAN , c_v-33 + .byte W06 + .byte N22 , Gn4 , v040 + .byte W09 + .byte PAN , c_v+34 + .byte W15 + .byte N22 , Gn4 , v032 + .byte W12 + .byte PAN , c_v-33 + .byte W12 + .byte N08 , Gn4 , v028 + .byte W09 + .byte PATT + .word mus_b_palace_4_002 + .byte PATT + .word mus_b_palace_4_003 + .byte N12 , Fn2 , v088 + .byte W12 + .byte Fn2 , v064 + .byte W15 + .byte N24 , Fn3 , v092 + .byte W24 + .byte Cn4 + .byte W24 + .byte Gn4 + .byte W21 + .byte PAN , c_v-33 + .byte W03 + .byte N24 , Gn4 , v032 + .byte W21 + .byte PAN , c_v+44 + .byte W03 + .byte N24 , Gn4 , v024 + .byte W21 + .byte PAN , c_v-45 + .byte W03 + .byte N24 + .byte W21 + .byte PAN , c_v+43 + .byte W03 + .byte N15 , Gn4 , v016 + .byte W15 + .byte PAN , c_v-16 + .byte N03 , Fn3 , v112 + .byte W03 + .byte Gs3 + .byte W03 + .byte GOTO + .word mus_b_palace_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_b_palace_5: + .byte KEYSH , mus_b_palace_key+0 + .byte VOICE , 10 + .byte PAN , c_v-16 + .byte VOL , 65*mus_b_palace_mvl/mxv + .byte N03 , Cn3 , v080 + .byte W03 + .byte Fn3 + .byte W03 + .byte N06 , Gn3 , v112 + .byte W18 + .byte N06 + .byte W06 + .byte Gs3 + .byte W10 + .byte Gn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Gs3 + .byte W02 +mus_b_palace_5_000: + .byte W10 + .byte N06 , Gn3 , v112 + .byte W12 + .byte Cn3 + .byte W12 + .byte N06 + .byte W12 + .byte Cs3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Cs3 , v048 + .byte W02 + .byte PAN , c_v-32 + .byte W10 + .byte N06 , Cn3 + .byte W14 + .byte PEND + .byte PAN , c_v-16 + .byte N24 , Gn1 , v088 + .byte W22 + .byte N06 , Gn2 , v092 + .byte W24 + .byte N23 , Cn3 + .byte W24 + .byte N21 , Cn3 , v032 + .byte W24 + .byte W02 + .byte N12 , Gn1 , v088 + .byte W12 + .byte Gn1 , v064 + .byte W10 + .byte N22 , Gn2 , v092 + .byte W24 + .byte N10 , Cn3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte Gn3 , v048 + .byte W14 + .byte W10 + .byte Gn3 , v036 + .byte W24 + .byte N12 , Gn3 , v032 + .byte W12 + .byte N06 , Gn3 , v112 + .byte W02 + .byte W18 + .byte N06 + .byte W06 + .byte Gs3 + .byte W10 + .byte Gn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W02 + .byte W10 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N06 + .byte W12 + .byte Fn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W12 + .byte Fn3 , v036 + .byte W02 + .byte PAN , c_v-39 + .byte W04 + .byte N06 , Cn3 + .byte W06 + .byte Fn3 + .byte W14 + .byte PAN , c_v-16 + .byte N24 , Gn1 , v084 + .byte W22 + .byte Gn2 , v092 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte N13 , Gn3 + .byte W14 + .byte N24 , Gn1 , v064 + .byte W24 + .byte N12 , Gn1 , v092 + .byte W12 + .byte Gn1 , v064 + .byte W10 + .byte Gn2 , v092 + .byte W12 + .byte N12 + .byte W12 + .byte Cn3 + .byte W12 + .byte N23 , Gn3 + .byte W24 + .byte N09 , Gn3 , v040 + .byte W14 + .byte N06 , Cn2 , v104 + .byte W06 + .byte Cs2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Cn2 + .byte W10 + .byte N03 , Cn2 , v112 + .byte W06 + .byte N06 + .byte W08 + .byte Cn4 + .byte W18 + .byte Gs3 + .byte W06 + .byte Cn4 + .byte W10 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W02 + .byte W04 + .byte Gs2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N06 + .byte W06 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W14 + .byte N24 , Gn1 , v088 + .byte W22 + .byte Gn2 , v092 + .byte W24 + .byte N23 , Cn3 + .byte W24 + .byte N21 , Cn3 , v044 + .byte W24 + .byte W02 + .byte N12 , Gn1 , v088 + .byte W12 + .byte Gn1 , v064 + .byte W10 + .byte N22 , Gn2 , v088 + .byte W24 + .byte N06 , Cn3 + .byte W12 + .byte N23 , Gn3 + .byte W23 + .byte PAN , c_v-36 + .byte W01 + .byte N23 , Gn3 , v040 + .byte W14 + .byte PAN , c_v+33 + .byte W10 + .byte N23 , Gn3 , v032 + .byte W17 + .byte PAN , c_v-36 + .byte W07 + .byte N12 , Gn3 , v028 + .byte W14 +mus_b_palace_5_001: + .byte PAN , c_v-16 + .byte N06 , Gn3 , v112 + .byte W18 + .byte Gs3 + .byte W06 + .byte Cn4 + .byte W10 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Gn3 + .byte W02 + .byte PEND +mus_b_palace_5_002: + .byte W04 + .byte N06 , Gs3 , v112 + .byte W06 + .byte Cs3 + .byte W12 + .byte Cn3 + .byte W18 + .byte Cs3 + .byte W06 + .byte Cn3 + .byte W24 + .byte N06 + .byte W24 + .byte W02 + .byte PEND + .byte N12 , Fn1 , v088 + .byte W12 + .byte Fn1 , v064 + .byte W10 + .byte N21 , Fn2 , v092 + .byte W24 + .byte Cn3 + .byte W24 + .byte Gn3 + .byte W24 + .byte Gn3 , v032 + .byte W02 + .byte PAN , c_v-41 + .byte W22 + .byte N21 , Gn3 , v024 + .byte W02 + .byte PAN , c_v+40 + .byte W22 + .byte N21 + .byte W02 + .byte PAN , c_v-47 + .byte W22 + .byte N15 , Gn3 , v016 + .byte W02 + .byte PAN , c_v+41 + .byte W18 + .byte c_v-16 + .byte N03 , Cn3 , v112 + .byte W03 + .byte Fn3 + .byte W03 +mus_b_palace_5_B1: + .byte PAN , c_v-16 + .byte N06 , Gn3 , v112 + .byte W18 + .byte N06 + .byte W06 + .byte Gs3 + .byte W10 + .byte Gn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Gs3 + .byte W02 + .byte PATT + .word mus_b_palace_5_000 + .byte PAN , c_v-16 + .byte N22 , Gn1 , v088 + .byte W22 + .byte N21 , Gn2 , v092 + .byte W24 + .byte N23 , Cn3 + .byte W24 + .byte N24 , Cn3 , v032 + .byte W24 + .byte W02 + .byte N12 , Gn1 , v088 + .byte W12 + .byte N10 , Gn1 , v064 + .byte W10 + .byte N24 , Gn2 , v092 + .byte W24 + .byte Cn3 + .byte W12 + .byte Gn3 + .byte W24 + .byte Gn3 , v036 + .byte W14 + .byte W10 + .byte Gn3 , v024 + .byte W24 + .byte N56 + .byte W60 + .byte N06 , Gn3 , v112 + .byte W02 + .byte W18 + .byte N06 + .byte W06 + .byte Gs3 + .byte W10 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N06 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W02 + .byte W10 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N06 + .byte W12 + .byte Fn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W12 + .byte Fn3 , v036 + .byte W02 + .byte PAN , c_v-39 + .byte W04 + .byte N06 , Cn3 + .byte W06 + .byte N10 , Fn3 + .byte W14 + .byte PAN , c_v-16 + .byte N24 , Gn1 , v084 + .byte W22 + .byte N22 , Gn2 , v092 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte N08 , Gn3 + .byte W14 + .byte N24 , Gn1 , v064 + .byte W24 + .byte N12 , Gn1 , v092 + .byte W12 + .byte Gn1 , v064 + .byte W10 + .byte Gn2 , v092 + .byte W12 + .byte N12 + .byte W12 + .byte N10 , Cn3 + .byte W12 + .byte N22 , Gn3 + .byte W24 + .byte N08 , Gn3 , v040 + .byte W14 + .byte N06 , Cn2 , v096 + .byte W06 + .byte Cs2 , v080 + .byte W06 + .byte Fn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Cn2 , v084 + .byte W10 + .byte N03 , Cn2 , v112 + .byte W06 + .byte N06 + .byte W08 + .byte Cn4 + .byte W18 + .byte Gs3 + .byte W06 + .byte Cn4 + .byte W10 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W02 + .byte W10 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W06 + .byte Gs2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N06 + .byte W06 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W02 + .byte W10 + .byte Cs4 + .byte W12 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W14 + .byte N24 , Gn1 , v088 + .byte W22 + .byte Gn2 , v092 + .byte W24 + .byte Cn3 + .byte W02 + .byte W22 + .byte Cn3 , v044 + .byte W24 + .byte W02 + .byte N12 , Gn1 , v088 + .byte W12 + .byte Gn1 , v064 + .byte W10 + .byte N22 , Gn2 , v092 + .byte W24 + .byte N10 , Cn3 + .byte W02 + .byte W10 + .byte N22 , Gn3 + .byte W23 + .byte PAN , c_v-36 + .byte W01 + .byte N22 , Gn3 , v040 + .byte W14 + .byte PAN , c_v+33 + .byte W10 + .byte N22 , Gn3 , v032 + .byte W17 + .byte PAN , c_v-36 + .byte W07 + .byte N08 , Gn3 , v028 + .byte W14 + .byte PATT + .word mus_b_palace_5_001 + .byte PATT + .word mus_b_palace_5_002 + .byte N12 , Fn1 , v088 + .byte W12 + .byte Fn1 , v064 + .byte W10 + .byte N24 , Fn2 , v092 + .byte W24 + .byte Cn3 + .byte W24 + .byte Gn3 + .byte W24 + .byte Gn3 , v032 + .byte W02 + .byte PAN , c_v-41 + .byte W22 + .byte N24 , Gn3 , v024 + .byte W02 + .byte PAN , c_v+40 + .byte W22 + .byte N24 + .byte W02 + .byte PAN , c_v-47 + .byte W22 + .byte N19 , Gn3 , v016 + .byte W02 + .byte PAN , c_v+41 + .byte W18 + .byte c_v+16 + .byte N03 , Cn3 , v112 + .byte W03 + .byte Fn3 + .byte W03 + .byte GOTO + .word mus_b_palace_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_b_palace_6: + .byte KEYSH , mus_b_palace_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 39*mus_b_palace_mvl/mxv + .byte W06 + .byte W96 + .byte W96 + .byte W12 + .byte 39*mus_b_palace_mvl/mxv + .byte W01 + .byte 38*mus_b_palace_mvl/mxv + .byte W02 + .byte 36*mus_b_palace_mvl/mxv + .byte W03 + .byte 35*mus_b_palace_mvl/mxv + .byte W02 + .byte 34*mus_b_palace_mvl/mxv + .byte W02 + .byte 33*mus_b_palace_mvl/mxv + .byte W03 + .byte 32*mus_b_palace_mvl/mxv + .byte W01 + .byte 31*mus_b_palace_mvl/mxv + .byte W02 + .byte 30*mus_b_palace_mvl/mxv + .byte W03 + .byte 29*mus_b_palace_mvl/mxv + .byte W01 + .byte 28*mus_b_palace_mvl/mxv + .byte W02 + .byte 28*mus_b_palace_mvl/mxv + .byte W02 + .byte 27*mus_b_palace_mvl/mxv + .byte W02 + .byte 26*mus_b_palace_mvl/mxv + .byte W04 + .byte 25*mus_b_palace_mvl/mxv + .byte W02 + .byte 24*mus_b_palace_mvl/mxv + .byte W01 + .byte 23*mus_b_palace_mvl/mxv + .byte W01 + .byte 23*mus_b_palace_mvl/mxv + .byte W02 + .byte 22*mus_b_palace_mvl/mxv + .byte W04 + .byte 21*mus_b_palace_mvl/mxv + .byte W02 + .byte 20*mus_b_palace_mvl/mxv + .byte W01 + .byte 19*mus_b_palace_mvl/mxv + .byte W01 + .byte 19*mus_b_palace_mvl/mxv + .byte W01 + .byte 18*mus_b_palace_mvl/mxv + .byte W04 + .byte 16*mus_b_palace_mvl/mxv + .byte W02 + .byte 15*mus_b_palace_mvl/mxv + .byte W01 + .byte 14*mus_b_palace_mvl/mxv + .byte W02 + .byte 14*mus_b_palace_mvl/mxv + .byte W01 + .byte 13*mus_b_palace_mvl/mxv + .byte W03 + .byte 12*mus_b_palace_mvl/mxv + .byte W02 + .byte 11*mus_b_palace_mvl/mxv + .byte W01 + .byte 10*mus_b_palace_mvl/mxv + .byte W01 + .byte 9*mus_b_palace_mvl/mxv + .byte W04 + .byte 7*mus_b_palace_mvl/mxv + .byte W02 + .byte 6*mus_b_palace_mvl/mxv + .byte W05 + .byte 5*mus_b_palace_mvl/mxv + .byte W02 + .byte 4*mus_b_palace_mvl/mxv + .byte W01 + .byte 3*mus_b_palace_mvl/mxv + .byte W04 + .byte 2*mus_b_palace_mvl/mxv + .byte W01 + .byte 1*mus_b_palace_mvl/mxv + .byte W01 + .byte 0*mus_b_palace_mvl/mxv + .byte W02 + .byte 39*mus_b_palace_mvl/mxv + .byte W96 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , Cn1 , v064 + .byte W06 + .byte Cs1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cs1 + .byte W06 + .byte Cn1 + .byte W10 + .byte N03 + .byte W06 + .byte N06 + .byte W08 + .byte PAN , c_v-48 + .byte W16 + .byte N06 , Cn1 , v032 + .byte W08 + .byte PAN , c_v+48 + .byte W16 + .byte N06 , Cn1 , v016 + .byte W08 + .byte PAN , c_v-48 + .byte W16 + .byte N06 + .byte W08 + .byte PAN , c_v+48 + .byte W16 + .byte N06 , Cn1 , v012 + .byte W08 + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte W96 + .byte W96 + .byte VOL , 52*mus_b_palace_mvl/mxv + .byte W96 + .byte VOICE , 80 + .byte VOL , 39*mus_b_palace_mvl/mxv + .byte BEND , c_v+1 + .byte N03 , Cn1 , v112 + .byte W06 + .byte PAN , c_v-63 + .byte N03 + .byte W06 + .byte PAN , c_v+63 + .byte N02 + .byte W06 + .byte PAN , c_v+0 + .byte N02 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v-63 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v+63 + .byte N02 , Cn1 + .byte W06 + .byte PAN , c_v+0 + .byte N02 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v-63 + .byte N03 , Cn1 + .byte W06 + .byte PAN , c_v+0 + .byte N02 + .byte W06 + .byte Cn2 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte PAN , c_v-63 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v+63 + .byte N02 , Cn1 + .byte W06 + .byte PAN , c_v+0 + .byte N02 + .byte W06 +mus_b_palace_6_B1: + .byte PAN , c_v+0 + .byte N03 , Fn1 , v112 + .byte W06 + .byte PAN , c_v-63 + .byte N03 + .byte W06 + .byte PAN , c_v+63 + .byte N02 + .byte W06 + .byte PAN , c_v+0 + .byte N02 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v-63 + .byte N03 , Fn1 + .byte W06 + .byte PAN , c_v+63 + .byte N02 + .byte W06 + .byte PAN , c_v+0 + .byte N02 + .byte W06 + .byte PAN , c_v+63 + .byte N03 + .byte W06 + .byte PAN , c_v-63 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v+0 + .byte N02 , Fn1 + .byte W06 + .byte N02 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v-63 + .byte N03 , Fn1 + .byte W06 + .byte PAN , c_v+63 + .byte N02 + .byte W06 + .byte PAN , c_v+0 + .byte N02 , Cn2 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , Fn1 + .byte W06 + .byte PAN , c_v-63 + .byte N03 + .byte W06 + .byte PAN , c_v+63 + .byte N02 + .byte W06 + .byte PAN , c_v+0 + .byte N02 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte PAN , c_v-63 + .byte N03 + .byte W06 + .byte PAN , c_v+63 + .byte N02 + .byte W06 + .byte PAN , c_v+0 + .byte N02 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Cs1 + .byte W06 + .byte PAN , c_v-63 + .byte N03 + .byte W06 + .byte PAN , c_v+0 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N03 , En1 + .byte W06 + .byte PAN , c_v-63 + .byte N03 + .byte W06 + .byte PAN , c_v+63 + .byte N02 + .byte W06 + .byte PAN , c_v+0 + .byte N02 + .byte W06 + .byte PAN , c_v+0 + .byte N15 , Cn1 + .byte W18 + .byte PAN , c_v+63 + .byte N03 + .byte W06 + .byte PAN , c_v+0 + .byte N03 + .byte W06 + .byte PAN , c_v-63 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Gn1 + .byte W12 + .byte N03 , Fn1 + .byte W06 + .byte PAN , c_v+63 + .byte N03 + .byte W12 + .byte PAN , c_v-62 + .byte N06 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , Cn1 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Cn2 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte PAN , c_v-63 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , Cn1 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v-63 + .byte N06 , Cn1 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Cn1 + .byte W12 + .byte PAN , c_v-63 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn1 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , Cn2 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N03 + .byte W06 + .byte PAN , c_v-63 + .byte N03 + .byte W12 + .byte PAN , c_v+63 + .byte N06 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , En1 + .byte W06 + .byte PAN , c_v+63 + .byte N03 + .byte W12 + .byte PAN , c_v-63 + .byte N06 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Gn1 + .byte W18 + .byte PAN , c_v+63 + .byte N03 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , En1 + .byte W18 + .byte PAN , c_v+0 + .byte N03 + .byte W06 + .byte Fn1 + .byte W06 + .byte PAN , c_v-63 + .byte N03 + .byte W06 + .byte PAN , c_v+63 + .byte N02 + .byte W06 + .byte PAN , c_v+0 + .byte N02 + .byte W06 + .byte PAN , c_v-63 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Fn1 + .byte W06 + .byte PAN , c_v+0 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v-63 + .byte N02 , Cn1 + .byte W06 + .byte PAN , c_v+0 + .byte N02 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v-63 + .byte N03 , As1 + .byte W06 + .byte PAN , c_v+63 + .byte N02 , En1 + .byte W06 + .byte PAN , c_v+0 + .byte N02 , Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v-63 + .byte N03 + .byte W06 + .byte PAN , c_v+63 + .byte N02 + .byte W06 + .byte PAN , c_v+0 + .byte N02 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+63 + .byte N03 + .byte W06 + .byte PAN , c_v-62 + .byte N02 + .byte W06 + .byte PAN , c_v+0 + .byte N02 + .byte W06 + .byte N03 , Cs1 + .byte W06 + .byte PAN , c_v-63 + .byte N03 + .byte W06 + .byte PAN , c_v+63 + .byte N02 + .byte W06 + .byte PAN , c_v+0 + .byte N02 + .byte W06 + .byte N03 , En1 + .byte W06 + .byte PAN , c_v+63 + .byte N03 + .byte W06 + .byte PAN , c_v-63 + .byte N02 + .byte W06 + .byte PAN , c_v+0 + .byte N02 + .byte W06 + .byte N12 , Cn1 + .byte W18 + .byte PAN , c_v-63 + .byte N03 + .byte W06 + .byte PAN , c_v+0 + .byte N03 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Gn1 + .byte W12 + .byte PAN , c_v-62 + .byte N03 , Fn1 + .byte W06 + .byte PAN , c_v+63 + .byte N03 + .byte W12 + .byte PAN , c_v+0 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Cn1 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , Cn1 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn1 + .byte W06 + .byte PAN , c_v-63 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Cn1 + .byte W12 + .byte PAN , c_v-63 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Cn1 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Cn1 + .byte W12 + .byte N06 , Cn1 , v108 + .byte W06 + .byte Cs1 , v096 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , Fn1 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cs1 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cn1 , v104 + .byte W12 + .byte PAN , c_v-63 + .byte N03 , Cn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v+0 + .byte N03 + .byte W06 + .byte PAN , c_v+63 + .byte N03 + .byte W12 + .byte PAN , c_v+0 + .byte N06 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v-63 + .byte N03 + .byte W12 + .byte PAN , c_v+63 + .byte N06 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Cn1 + .byte W18 + .byte PAN , c_v-62 + .byte N03 + .byte W06 + .byte PAN , c_v+0 + .byte N06 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Cn2 + .byte W12 + .byte PAN , c_v+0 + .byte N03 , Cn1 + .byte W06 + .byte N12 + .byte W18 + .byte PAN , c_v-63 + .byte N03 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , En1 + .byte W18 + .byte PAN , c_v+0 + .byte N03 + .byte W06 + .byte N12 , Gn1 + .byte W18 + .byte PAN , c_v-63 + .byte N03 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Cn1 + .byte W18 + .byte PAN , c_v+63 + .byte N03 + .byte W06 + .byte PAN , c_v+0 + .byte N12 + .byte W18 + .byte PAN , c_v+63 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v-63 + .byte N03 , Cn1 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , Gn1 + .byte W12 + .byte PAN , c_v+0 + .byte N03 , En1 + .byte W06 + .byte PAN , c_v-62 + .byte N03 + .byte W12 + .byte PAN , c_v+63 + .byte N06 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , Cn1 + .byte W06 + .byte PAN , c_v-62 + .byte N03 , Gn1 + .byte W06 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte N03 , Cn1 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte PAN , c_v-63 + .byte N06 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Cn1 + .byte W06 + .byte PAN , c_v-62 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , Cn1 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn1 + .byte W06 + .byte PAN , c_v-63 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Cn1 + .byte W12 + .byte PAN , c_v-63 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v+1 + .byte N06 , Cn1 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , Cn1 + .byte W12 + .byte PAN , c_v+0 + .byte N12 + .byte W18 + .byte PAN , c_v-63 + .byte N03 + .byte W06 + .byte PAN , c_v+0 + .byte N12 + .byte W18 + .byte PAN , c_v+63 + .byte N03 + .byte W06 + .byte PAN , c_v+0 + .byte N12 + .byte W18 + .byte PAN , c_v-63 + .byte N03 + .byte W06 + .byte PAN , c_v+0 + .byte N12 + .byte W18 + .byte PAN , c_v+63 + .byte N03 + .byte W06 + .byte PAN , c_v+0 + .byte N12 + .byte W18 + .byte PAN , c_v-62 + .byte N03 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , En1 + .byte W18 + .byte PAN , c_v+63 + .byte N03 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Fn1 + .byte W18 + .byte PAN , c_v-63 + .byte N03 + .byte W06 + .byte PAN , c_v+0 + .byte N12 + .byte W18 + .byte PAN , c_v+63 + .byte N03 + .byte W06 + .byte PAN , c_v+0 + .byte N12 + .byte W18 + .byte PAN , c_v-63 + .byte N03 + .byte W06 + .byte PAN , c_v+0 + .byte N03 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Fn2 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Cs2 + .byte W12 + .byte N03 , Cn2 + .byte W06 + .byte PAN , c_v-63 + .byte N03 + .byte W12 + .byte PAN , c_v+63 + .byte N06 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Gn1 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N06 , Fn1 + .byte W06 + .byte PAN , c_v-63 + .byte N03 , Fn2 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , Fn1 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Fn1 + .byte W06 + .byte PAN , c_v-63 + .byte N03 , Fn2 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Fn1 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Fn2 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Fn1 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Fn2 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Fn1 + .byte W12 + .byte GOTO + .word mus_b_palace_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_b_palace_7: + .byte KEYSH , mus_b_palace_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 76*mus_b_palace_mvl/mxv + .byte W06 +mus_b_palace_7_000: + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Bn4 , v064 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn4 , v028 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Bn4 , v016 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn4 , v008 + .byte W12 + .byte PAN , c_v+0 + .byte W24 + .byte PEND + .byte c_v+0 + .byte W24 + .byte c_v-32 + .byte N12 , Bn4 , v064 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn4 , v028 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Bn4 , v016 + .byte W12 + .byte PAN , c_v+0 + .byte N24 , En2 , v092 + .byte W12 + .byte PAN , c_v+44 + .byte W12 + .byte N24 , En2 , v040 + .byte W12 + .byte PAN , c_v-1 + .byte W12 + .byte c_v-46 + .byte N12 , En2 , v032 + .byte W24 + .byte PAN , c_v+47 + .byte W60 + .byte c_v+0 + .byte W60 + .byte N12 , En2 , v092 + .byte W12 + .byte N24 , Gn2 + .byte W24 + .byte En2 + .byte W24 + .byte Cs2 + .byte W24 + .byte PATT + .word mus_b_palace_7_000 + .byte PAN , c_v+0 + .byte W24 + .byte c_v-32 + .byte N12 , Bn4 , v064 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn4 , v028 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , An2 , v092 + .byte W12 + .byte En2 + .byte W12 + .byte N24 , Cs2 + .byte W24 + .byte W96 + .byte W48 + .byte N14 , En2 , v112 + .byte W14 + .byte N09 , Gn2 + .byte W10 + .byte N24 , Cs2 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Cs2 , v044 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Cs2 , v032 + .byte W24 +mus_b_palace_7_001: + .byte PAN , c_v+0 + .byte W24 + .byte c_v-32 + .byte N12 , Bn4 , v064 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn4 , v028 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Bn4 , v016 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn4 , v008 + .byte W12 + .byte PAN , c_v+0 + .byte W24 + .byte PEND + .byte PATT + .word mus_b_palace_7_001 + .byte W96 + .byte W60 + .byte N12 , En2 , v092 + .byte W12 + .byte N24 , Gn2 + .byte W24 + .byte En2 + .byte W24 + .byte An2 + .byte W24 + .byte PAN , c_v+0 + .byte N24 , An2 , v048 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Bn4 , v064 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn4 , v028 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Bn4 , v016 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn4 , v008 + .byte W12 + .byte PAN , c_v+0 + .byte W24 + .byte PATT + .word mus_b_palace_7_001 + .byte W60 + .byte N12 , En2 , v112 + .byte W12 + .byte N24 , Gn2 + .byte W24 + .byte W96 +mus_b_palace_7_B1: + .byte N06 , Cn1 , v112 + .byte W12 + .byte Fs2 , v048 + .byte W12 + .byte Dn3 , v112 + .byte W12 + .byte Fs2 , v048 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte Fs2 , v048 + .byte W12 + .byte Dn3 , v112 + .byte W12 + .byte Fs2 , v048 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte En1 + .byte N06 , Dn3 + .byte W12 + .byte Fs2 , v068 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte En1 + .byte W12 + .byte N12 , Bn4 , v064 + .byte W12 + .byte N06 , Fs2 , v048 + .byte W12 + .byte N15 , Cn1 , v112 + .byte W12 + .byte N06 , Fs2 , v048 + .byte W12 + .byte Dn3 , v112 + .byte W12 + .byte Fs2 , v048 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte N03 , Cn1 , v112 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte N06 , Fs2 , v048 + .byte W12 + .byte Dn3 , v112 + .byte W12 + .byte Fs2 , v048 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte N03 , Cn1 , v112 + .byte W06 + .byte N06 + .byte N06 , Dn3 + .byte W12 + .byte Cn1 + .byte N06 , Fs2 , v048 + .byte W12 + .byte Cn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte Cn1 + .byte W06 + .byte En1 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn2 + .byte W06 + .byte En1 + .byte W06 + .byte An1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn1 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn3 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte En1 + .byte W12 + .byte Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte N12 , Bn4 , v064 + .byte W12 + .byte N06 , Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte W06 +mus_b_palace_7_002: + .byte N06 , Cn1 , v112 + .byte W12 + .byte Fs2 , v048 + .byte W12 + .byte Dn3 , v112 + .byte W12 + .byte Fs2 , v048 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn3 + .byte W12 + .byte Fs2 , v048 + .byte W12 + .byte PEND + .byte Cn1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte En1 + .byte W12 + .byte Fs2 , v048 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte N03 , Cn1 , v112 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte An1 + .byte W02 + .byte N09 , Gn2 + .byte W04 + .byte N03 , Cn1 + .byte W03 + .byte En1 + .byte W03 + .byte N06 + .byte W06 + .byte An1 + .byte W06 + .byte Cn1 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn3 + .byte W06 + .byte En1 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte N06 , Fs2 , v048 + .byte W12 + .byte En1 , v112 + .byte N06 , Dn3 + .byte W06 + .byte En1 + .byte W06 + .byte Fs2 , v048 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte Cn1 + .byte N06 , Fs2 , v048 + .byte W12 + .byte Dn3 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte Fs2 , v048 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte N06 + .byte N06 , Fs2 , v048 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte N12 , Bn4 , v064 + .byte W12 + .byte N06 , Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte W06 +mus_b_palace_7_003: + .byte N06 , Cn1 , v112 + .byte W12 + .byte Fs2 , v048 + .byte W12 + .byte Dn3 , v112 + .byte W12 + .byte Fs2 , v048 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte N03 , Cn1 , v112 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte PEND + .byte PATT + .word mus_b_palace_7_003 + .byte N06 , Cn1 , v112 + .byte W12 + .byte Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte En1 + .byte N06 , Dn3 + .byte W12 + .byte Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte N06 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte En1 + .byte N06 , Dn3 + .byte W12 + .byte Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte N06 , Fs2 , v048 + .byte W12 + .byte En1 , v112 + .byte N06 , Dn3 + .byte W12 + .byte Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte En1 + .byte W12 + .byte Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte N12 , Bn4 , v064 + .byte W12 + .byte N06 , En1 , v108 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte PATT + .word mus_b_palace_7_002 + .byte N06 , Cn1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte En1 + .byte W12 + .byte Fs2 , v048 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , En2 + .byte W12 + .byte N24 , Gn2 + .byte W24 + .byte GOTO + .word mus_b_palace_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_b_palace_8: + .byte KEYSH , mus_b_palace_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 39*mus_b_palace_mvl/mxv + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_b_palace_8_B1: +mus_b_palace_8_000: + .byte N01 , Dn5 , v068 + .byte W12 + .byte N01 + .byte W06 + .byte Dn5 , v036 + .byte W06 + .byte Dn5 , v068 + .byte W12 + .byte N01 + .byte W06 + .byte Dn5 , v036 + .byte W06 + .byte Dn5 , v068 + .byte W12 + .byte N01 + .byte W06 + .byte Dn5 , v036 + .byte W06 + .byte Dn5 , v068 + .byte W12 + .byte N01 + .byte W06 + .byte Dn5 , v036 + .byte W06 + .byte PEND + .byte Dn5 , v068 + .byte W12 + .byte N01 + .byte W06 + .byte Dn5 , v036 + .byte W06 + .byte Dn5 , v068 + .byte W12 + .byte N01 + .byte W06 + .byte Dn5 , v036 + .byte W06 + .byte Dn5 , v068 + .byte W12 + .byte N01 + .byte W06 + .byte Dn5 , v036 + .byte W06 + .byte Dn5 , v068 + .byte W24 +mus_b_palace_8_001: + .byte N01 , Dn5 , v068 + .byte W06 + .byte Dn5 , v036 + .byte W18 + .byte Dn5 , v068 + .byte W12 + .byte N01 + .byte W06 + .byte Dn5 , v036 + .byte W06 + .byte Dn5 , v068 + .byte W12 + .byte N01 + .byte W06 + .byte Dn5 , v036 + .byte W06 + .byte Dn5 , v068 + .byte W12 + .byte N01 + .byte W06 + .byte Dn5 , v036 + .byte W06 + .byte PEND + .byte PATT + .word mus_b_palace_8_001 + .byte PATT + .word mus_b_palace_8_000 + .byte PATT + .word mus_b_palace_8_000 + .byte PATT + .word mus_b_palace_8_000 + .byte PATT + .word mus_b_palace_8_001 + .byte PATT + .word mus_b_palace_8_001 + .byte N01 , Dn5 , v068 + .byte W06 + .byte Dn5 , v036 + .byte W42 + .byte Dn5 , v068 + .byte W12 + .byte N01 + .byte W06 + .byte Dn5 , v036 + .byte W06 + .byte Dn5 , v068 + .byte W12 + .byte N01 + .byte W06 + .byte Dn5 , v036 + .byte W06 + .byte PATT + .word mus_b_palace_8_000 + .byte PATT + .word mus_b_palace_8_000 + .byte PATT + .word mus_b_palace_8_001 + .byte PATT + .word mus_b_palace_8_001 + .byte PATT + .word mus_b_palace_8_000 + .byte PATT + .word mus_b_palace_8_000 + .byte PATT + .word mus_b_palace_8_001 + .byte PATT + .word mus_b_palace_8_001 + .byte GOTO + .word mus_b_palace_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_b_palace_9: + .byte KEYSH , mus_b_palace_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 66*mus_b_palace_mvl/mxv + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_b_palace_9_B1: + .byte W96 + .byte W84 + .byte N12 , Gn5 , v048 + .byte W12 + .byte W12 + .byte N12 + .byte W84 + .byte W12 + .byte N12 + .byte W84 + .byte W96 + .byte W96 + .byte W96 + .byte W12 + .byte N12 + .byte W84 + .byte W12 + .byte N12 + .byte W84 + .byte W12 + .byte Gn5 , v064 + .byte W84 + .byte W96 + .byte W96 + .byte W12 + .byte Gn5 , v048 + .byte W84 + .byte W12 + .byte N12 + .byte W84 + .byte W96 + .byte W96 + .byte W12 + .byte N12 + .byte W84 + .byte W12 + .byte N12 + .byte W84 + .byte GOTO + .word mus_b_palace_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_b_palace: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_b_palace_pri @ Priority + .byte mus_b_palace_rev @ Reverb. + + .word mus_b_palace_grp + + .word mus_b_palace_1 + .word mus_b_palace_2 + .word mus_b_palace_3 + .word mus_b_palace_4 + .word mus_b_palace_5 + .word mus_b_palace_6 + .word mus_b_palace_7 + .word mus_b_palace_8 + .word mus_b_palace_9 + + .end diff --git a/sound/songs/mus_b_tower.s b/sound/songs/mus_b_tower.s new file mode 100644 index 0000000000..395e1ecbde --- /dev/null +++ b/sound/songs/mus_b_tower.s @@ -0,0 +1,2380 @@ + .include "MPlayDef.s" + + .equ mus_b_tower_grp, voicegroup_867D918 + .equ mus_b_tower_pri, 0 + .equ mus_b_tower_rev, reverb_set+50 + .equ mus_b_tower_mvl, 127 + .equ mus_b_tower_key, 0 + .equ mus_b_tower_tbs, 1 + .equ mus_b_tower_exg, 0 + .equ mus_b_tower_cmp, 1 + + .section .rodata + .global mus_b_tower + .align 2 + +@********************** Track 1 **********************@ + +mus_b_tower_1: + .byte KEYSH , mus_b_tower_key+0 + .byte TEMPO , 128*mus_b_tower_tbs/2 + .byte VOICE , 56 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte N06 , Cn3 , v112 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , Cn4 + .byte W12 +mus_b_tower_1_B1: + .byte N68 , Fn4 , v112 + .byte W32 + .byte W01 + .byte MOD , 7 + .byte W03 + .byte VOL , 77*mus_b_tower_mvl/mxv + .byte W06 + .byte 73*mus_b_tower_mvl/mxv + .byte W06 + .byte 66*mus_b_tower_mvl/mxv + .byte W06 + .byte 56*mus_b_tower_mvl/mxv + .byte W06 + .byte 34*mus_b_tower_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte N03 , Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N12 , Dn4 + .byte W12 + .byte N68 , Fn3 + .byte W32 + .byte W01 + .byte MOD , 7 + .byte W03 + .byte VOL , 77*mus_b_tower_mvl/mxv + .byte W06 + .byte 73*mus_b_tower_mvl/mxv + .byte W06 + .byte 66*mus_b_tower_mvl/mxv + .byte W06 + .byte 56*mus_b_tower_mvl/mxv + .byte W06 + .byte 34*mus_b_tower_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte N06 , Cn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte N68 , Fn4 + .byte W32 + .byte W01 + .byte MOD , 7 + .byte W03 + .byte VOL , 77*mus_b_tower_mvl/mxv + .byte W06 + .byte 73*mus_b_tower_mvl/mxv + .byte W06 + .byte 66*mus_b_tower_mvl/mxv + .byte W06 + .byte 56*mus_b_tower_mvl/mxv + .byte W06 + .byte 34*mus_b_tower_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte N03 , Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte N96 , Cn4 + .byte W32 + .byte W01 + .byte MOD , 7 + .byte W24 + .byte W03 + .byte VOL , 77*mus_b_tower_mvl/mxv + .byte W06 + .byte 73*mus_b_tower_mvl/mxv + .byte W06 + .byte 66*mus_b_tower_mvl/mxv + .byte W06 + .byte 56*mus_b_tower_mvl/mxv + .byte W06 + .byte 34*mus_b_tower_mvl/mxv + .byte W06 + .byte 21*mus_b_tower_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W72 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte N06 , Cn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , An3 + .byte W12 + .byte N06 , As3 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W18 + .byte N06 , As3 + .byte W06 + .byte N66 , Fn3 + .byte W24 + .byte MOD , 7 + .byte W12 + .byte VOL , 77*mus_b_tower_mvl/mxv + .byte W06 + .byte 73*mus_b_tower_mvl/mxv + .byte W06 + .byte 66*mus_b_tower_mvl/mxv + .byte W06 + .byte 52*mus_b_tower_mvl/mxv + .byte W06 + .byte 34*mus_b_tower_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W06 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte N06 , As3 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W18 + .byte N06 , Cn4 + .byte W06 + .byte N66 , Dn4 + .byte W24 + .byte MOD , 7 + .byte W12 + .byte VOL , 77*mus_b_tower_mvl/mxv + .byte W06 + .byte 73*mus_b_tower_mvl/mxv + .byte W06 + .byte 66*mus_b_tower_mvl/mxv + .byte W06 + .byte 52*mus_b_tower_mvl/mxv + .byte W06 + .byte 34*mus_b_tower_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W06 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte N06 , Ds4 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , Dn4 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N42 , As3 + .byte W18 + .byte VOL , 76*mus_b_tower_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 69*mus_b_tower_mvl/mxv + .byte W06 + .byte 58*mus_b_tower_mvl/mxv + .byte W06 + .byte 39*mus_b_tower_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W06 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte N06 , Cn4 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gs3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , As3 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Cn4 + .byte W06 + .byte As3 + .byte W06 + .byte N42 , An3 + .byte W18 + .byte VOL , 76*mus_b_tower_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 69*mus_b_tower_mvl/mxv + .byte W06 + .byte 58*mus_b_tower_mvl/mxv + .byte W06 + .byte 39*mus_b_tower_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W06 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte N32 , As3 + .byte W18 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N03 , Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N24 , Fn4 + .byte W24 + .byte N09 , Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N90 , Ds4 + .byte W36 + .byte MOD , 7 + .byte W24 + .byte VOL , 77*mus_b_tower_mvl/mxv + .byte W06 + .byte 73*mus_b_tower_mvl/mxv + .byte W06 + .byte 66*mus_b_tower_mvl/mxv + .byte W06 + .byte 56*mus_b_tower_mvl/mxv + .byte W06 + .byte 34*mus_b_tower_mvl/mxv + .byte W06 + .byte 21*mus_b_tower_mvl/mxv + .byte MOD , 0 + .byte W06 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte N32 + .byte W18 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N03 , Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N24 , Ds4 + .byte W24 + .byte N09 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte MOD , 0 + .byte N32 , Dn4 + .byte W15 + .byte MOD , 7 + .byte W09 + .byte 0 + .byte W12 + .byte N06 , Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N42 , Cn4 + .byte W18 + .byte VOL , 76*mus_b_tower_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 69*mus_b_tower_mvl/mxv + .byte W06 + .byte 58*mus_b_tower_mvl/mxv + .byte W06 + .byte 39*mus_b_tower_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W06 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte N32 , Dn4 + .byte W18 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte W03 + .byte N03 , As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N24 , Fn4 + .byte W24 + .byte N12 , Gn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte MOD , 0 + .byte N36 , Gn4 + .byte W15 + .byte MOD , 7 + .byte W09 + .byte 0 + .byte W12 + .byte N09 , Fn4 + .byte W12 + .byte N42 , Ds4 + .byte W18 + .byte VOL , 76*mus_b_tower_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 69*mus_b_tower_mvl/mxv + .byte W06 + .byte 58*mus_b_tower_mvl/mxv + .byte W06 + .byte 39*mus_b_tower_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W06 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte MOD , 0 + .byte N36 , Fs4 + .byte W15 + .byte MOD , 7 + .byte W21 + .byte 0 + .byte N09 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W12 + .byte As3 + .byte W12 + .byte Cs4 + .byte W12 + .byte N30 , Cn4 + .byte W15 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte N06 , Cn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte GOTO + .word mus_b_tower_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_b_tower_2: + .byte KEYSH , mus_b_tower_key+0 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte W24 +mus_b_tower_2_B1: + .byte VOICE , 48 + .byte PAN , c_v+18 + .byte N30 , As4 , v080 + .byte W36 + .byte N06 , As3 + .byte W06 + .byte Fn4 + .byte W06 + .byte N18 , As4 + .byte W24 + .byte N06 + .byte W06 + .byte Cn5 + .byte W06 + .byte N12 , As4 + .byte W12 + .byte N32 , An4 + .byte W36 + .byte N06 + .byte W06 + .byte As4 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte N24 , As4 + .byte W24 + .byte N12 , An4 + .byte W12 + .byte N30 , As4 + .byte W36 + .byte N06 , As3 + .byte W06 + .byte Fn4 + .byte W06 + .byte N24 , As4 + .byte W24 + .byte N06 , Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte N12 , As4 + .byte W12 + .byte N32 , An4 + .byte W36 + .byte N06 , Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte N96 , Fn3 + .byte W60 + .byte VOL , 77*mus_b_tower_mvl/mxv + .byte W06 + .byte 73*mus_b_tower_mvl/mxv + .byte W06 + .byte 66*mus_b_tower_mvl/mxv + .byte W06 + .byte 56*mus_b_tower_mvl/mxv + .byte W06 + .byte 34*mus_b_tower_mvl/mxv + .byte W06 + .byte 21*mus_b_tower_mvl/mxv + .byte W06 + .byte W96 + .byte W36 + .byte 80*mus_b_tower_mvl/mxv + .byte N06 , Cn4 , v076 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte N24 , Fn4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte N48 , Dn4 + .byte W24 + .byte VOL , 74*mus_b_tower_mvl/mxv + .byte W06 + .byte 62*mus_b_tower_mvl/mxv + .byte W06 + .byte 48*mus_b_tower_mvl/mxv + .byte W06 + .byte 23*mus_b_tower_mvl/mxv + .byte W03 + .byte 13*mus_b_tower_mvl/mxv + .byte W48 + .byte W03 + .byte W36 + .byte 80*mus_b_tower_mvl/mxv + .byte N06 , Ds4 + .byte W06 + .byte Cn4 + .byte W06 + .byte N12 , Dn4 + .byte W12 + .byte N24 , As4 + .byte W24 + .byte N12 , Fn4 + .byte W12 + .byte N06 , Gn4 + .byte W12 + .byte N30 + .byte W12 + .byte VOL , 74*mus_b_tower_mvl/mxv + .byte W06 + .byte 62*mus_b_tower_mvl/mxv + .byte W06 + .byte 48*mus_b_tower_mvl/mxv + .byte W06 + .byte 23*mus_b_tower_mvl/mxv + .byte W06 + .byte 80*mus_b_tower_mvl/mxv + .byte N24 , Gn2 , v068 + .byte W24 + .byte An2 + .byte W24 + .byte N06 , As2 + .byte W12 + .byte N24 , Cn3 + .byte W24 + .byte N06 , Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N24 , Fn3 + .byte W24 + .byte Gn3 + .byte W24 + .byte N06 , Gs3 + .byte W12 + .byte N21 + .byte W24 + .byte N06 + .byte W06 + .byte As3 + .byte W06 + .byte N24 , Cn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte N06 , Dn4 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N44 , Cn4 + .byte W18 + .byte VOL , 75*mus_b_tower_mvl/mxv + .byte W06 + .byte 69*mus_b_tower_mvl/mxv + .byte W06 + .byte 61*mus_b_tower_mvl/mxv + .byte W06 + .byte 49*mus_b_tower_mvl/mxv + .byte W06 + .byte 28*mus_b_tower_mvl/mxv + .byte W06 + .byte W96 + .byte VOICE , 1 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte N32 , Gn4 , v064 + .byte W36 + .byte N06 + .byte W06 + .byte An4 + .byte W06 + .byte N24 , As4 + .byte W24 + .byte N09 , Ds5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Ds5 + .byte W12 + .byte As4 + .byte W24 + .byte N03 , Ds5 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte As4 + .byte W24 + .byte N03 , Ds5 + .byte W06 + .byte N03 + .byte W06 + .byte N09 , Dn5 + .byte W12 + .byte As4 + .byte W24 + .byte N06 + .byte W06 + .byte Dn5 + .byte W06 + .byte N12 , Ds5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte N06 , Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte N36 , Fn4 + .byte W36 + .byte N06 , Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N24 , As4 + .byte W24 + .byte N12 , Cn5 + .byte W12 + .byte Dn5 + .byte W12 + .byte N36 , Ds5 + .byte W36 + .byte N12 , Fn5 + .byte W12 + .byte Gn5 + .byte W12 + .byte N24 , Fn5 + .byte W24 + .byte N12 , Ds5 + .byte W12 + .byte N06 , Cs5 + .byte W12 + .byte As4 + .byte W24 + .byte N03 , Cs5 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , As4 + .byte W24 + .byte N09 , Fs4 + .byte W12 + .byte As4 + .byte W12 + .byte N30 , An4 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W48 + .byte GOTO + .word mus_b_tower_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_b_tower_3: + .byte KEYSH , mus_b_tower_key+0 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte W24 +mus_b_tower_3_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 60 + .byte W36 + .byte PAN , c_v-20 + .byte N03 , Fn2 , v076 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte An2 + .byte W24 + .byte N09 , Fn2 + .byte W12 + .byte N48 , As2 + .byte W24 + .byte VOL , 74*mus_b_tower_mvl/mxv + .byte W06 + .byte 62*mus_b_tower_mvl/mxv + .byte W06 + .byte 48*mus_b_tower_mvl/mxv + .byte W06 + .byte 23*mus_b_tower_mvl/mxv + .byte W03 + .byte 13*mus_b_tower_mvl/mxv + .byte W48 + .byte W03 + .byte W36 + .byte 80*mus_b_tower_mvl/mxv + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , As2 + .byte W12 + .byte Dn3 + .byte W24 + .byte As2 + .byte W12 + .byte N42 , Ds3 + .byte W24 + .byte VOL , 74*mus_b_tower_mvl/mxv + .byte W06 + .byte 62*mus_b_tower_mvl/mxv + .byte W06 + .byte 48*mus_b_tower_mvl/mxv + .byte W06 + .byte 23*mus_b_tower_mvl/mxv + .byte W06 + .byte 80*mus_b_tower_mvl/mxv + .byte W48 + .byte W48 + .byte N24 , As2 , v064 + .byte W24 + .byte Dn3 + .byte W24 + .byte N06 , Cn3 , v056 + .byte W12 + .byte Gs2 + .byte W12 + .byte Ds3 , v060 + .byte W12 + .byte Gs2 , v064 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gs2 , v068 + .byte W12 + .byte Ds3 , v072 + .byte W12 + .byte Gs2 , v076 + .byte W12 + .byte Fn3 , v064 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N44 , Cn3 + .byte W18 + .byte VOL , 75*mus_b_tower_mvl/mxv + .byte W06 + .byte 69*mus_b_tower_mvl/mxv + .byte W06 + .byte 61*mus_b_tower_mvl/mxv + .byte W06 + .byte 49*mus_b_tower_mvl/mxv + .byte W06 + .byte 28*mus_b_tower_mvl/mxv + .byte W06 + .byte 80*mus_b_tower_mvl/mxv + .byte N06 , As2 , v076 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N44 + .byte W18 + .byte VOL , 75*mus_b_tower_mvl/mxv + .byte W06 + .byte 69*mus_b_tower_mvl/mxv + .byte W06 + .byte 61*mus_b_tower_mvl/mxv + .byte W06 + .byte 49*mus_b_tower_mvl/mxv + .byte W06 + .byte 28*mus_b_tower_mvl/mxv + .byte W06 + .byte 80*mus_b_tower_mvl/mxv + .byte N06 , Ds2 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N44 + .byte W18 + .byte VOL , 75*mus_b_tower_mvl/mxv + .byte W06 + .byte 69*mus_b_tower_mvl/mxv + .byte W06 + .byte 61*mus_b_tower_mvl/mxv + .byte W06 + .byte 49*mus_b_tower_mvl/mxv + .byte W06 + .byte 28*mus_b_tower_mvl/mxv + .byte W06 + .byte 80*mus_b_tower_mvl/mxv + .byte N24 + .byte W24 + .byte Fn2 + .byte W24 + .byte Fs2 + .byte W24 + .byte Gs2 + .byte W24 + .byte N06 , As2 + .byte W12 + .byte N21 + .byte W09 + .byte VOL , 71*mus_b_tower_mvl/mxv + .byte W03 + .byte 54*mus_b_tower_mvl/mxv + .byte W03 + .byte 44*mus_b_tower_mvl/mxv + .byte W09 + .byte 80*mus_b_tower_mvl/mxv + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Cn3 + .byte W12 + .byte As2 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte N09 , As2 + .byte W12 + .byte Fn2 + .byte W24 + .byte N03 , As2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N24 , Cn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N09 , Ds3 + .byte W12 + .byte As2 + .byte W24 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte N36 , As3 + .byte W36 + .byte N09 , Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte As2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N30 , Fn3 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W48 + .byte GOTO + .word mus_b_tower_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_b_tower_4: + .byte KEYSH , mus_b_tower_key+0 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte W24 +mus_b_tower_4_B1: + .byte VOICE , 80 + .byte PAN , c_v-48 + .byte N66 , Dn4 , v052 + .byte W32 + .byte W01 + .byte MOD , 6 + .byte W03 + .byte VOL , 77*mus_b_tower_mvl/mxv + .byte W06 + .byte 73*mus_b_tower_mvl/mxv + .byte W06 + .byte 66*mus_b_tower_mvl/mxv + .byte W06 + .byte 56*mus_b_tower_mvl/mxv + .byte W06 + .byte 34*mus_b_tower_mvl/mxv + .byte W06 + .byte 21*mus_b_tower_mvl/mxv + .byte MOD , 0 + .byte W06 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte N03 , As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte N66 , Cn4 + .byte W32 + .byte W01 + .byte MOD , 6 + .byte W03 + .byte VOL , 77*mus_b_tower_mvl/mxv + .byte W06 + .byte 73*mus_b_tower_mvl/mxv + .byte W06 + .byte 66*mus_b_tower_mvl/mxv + .byte W06 + .byte 56*mus_b_tower_mvl/mxv + .byte W06 + .byte 34*mus_b_tower_mvl/mxv + .byte W06 + .byte 21*mus_b_tower_mvl/mxv + .byte MOD , 0 + .byte W30 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte N66 , Dn4 + .byte W32 + .byte W01 + .byte MOD , 6 + .byte W03 + .byte VOL , 77*mus_b_tower_mvl/mxv + .byte W06 + .byte 73*mus_b_tower_mvl/mxv + .byte W06 + .byte 66*mus_b_tower_mvl/mxv + .byte W06 + .byte 56*mus_b_tower_mvl/mxv + .byte W06 + .byte 34*mus_b_tower_mvl/mxv + .byte W06 + .byte 21*mus_b_tower_mvl/mxv + .byte MOD , 0 + .byte W06 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte N03 , As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N12 , Dn4 + .byte W12 + .byte N96 , An3 + .byte W32 + .byte W01 + .byte MOD , 6 + .byte W24 + .byte W03 + .byte VOL , 77*mus_b_tower_mvl/mxv + .byte W06 + .byte 73*mus_b_tower_mvl/mxv + .byte W06 + .byte 66*mus_b_tower_mvl/mxv + .byte W06 + .byte 56*mus_b_tower_mvl/mxv + .byte W06 + .byte 34*mus_b_tower_mvl/mxv + .byte W06 + .byte 21*mus_b_tower_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W96 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte N06 , Fn3 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte N09 + .byte W24 + .byte N09 + .byte W12 + .byte N06 , Cn3 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte Fn3 + .byte W24 + .byte Cn3 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte N09 + .byte W24 + .byte N09 + .byte W12 + .byte N06 , Ds3 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 , Fn3 + .byte W12 + .byte As3 + .byte W24 + .byte Fn3 + .byte W12 + .byte VOICE , 4 + .byte PAN , c_v+0 + .byte N06 , Ds3 , v060 + .byte W06 + .byte As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Ds5 + .byte W06 + .byte As4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte As3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gn4 + .byte W06 + .byte Ds5 + .byte W06 + .byte As4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn3 + .byte W06 + .byte As2 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte As4 + .byte W06 + .byte Fn4 + .byte W06 + .byte As3 + .byte W06 + .byte Dn3 + .byte W06 + .byte As2 + .byte W06 + .byte Fn3 + .byte W06 + .byte As2 + .byte W06 + .byte Dn4 + .byte W06 + .byte As4 + .byte W06 + .byte Fn4 + .byte W06 + .byte As3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Gs2 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Gs2 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gs2 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cn3 + .byte W06 + .byte As2 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte As4 + .byte W06 + .byte Fn4 + .byte W06 + .byte As3 + .byte W06 + .byte Dn3 + .byte W06 + .byte As2 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte As4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Fn5 + .byte W06 + .byte VOICE , 80 + .byte PAN , c_v-48 + .byte N06 , Fn3 , v052 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N36 + .byte W36 + .byte N12 , As2 + .byte W12 + .byte N32 , Ds3 + .byte W36 + .byte N06 + .byte W06 + .byte Fn3 + .byte W06 + .byte N24 , Gn3 + .byte W24 + .byte N09 , As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Fs3 + .byte W24 + .byte N03 , As3 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte Fs3 + .byte W24 + .byte N03 , As3 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte Fn3 + .byte W24 + .byte N06 + .byte W06 + .byte As3 + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N09 , As3 + .byte W12 + .byte Fn3 + .byte W24 + .byte N03 + .byte W06 + .byte As3 + .byte W06 + .byte N24 , Dn4 + .byte W24 + .byte N12 , Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N09 , Ds4 + .byte W12 + .byte As3 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte N12 , Ds4 + .byte W12 + .byte N09 , Cs4 + .byte W12 + .byte Cs3 + .byte W24 + .byte N03 , As3 + .byte W06 + .byte N03 + .byte W06 + .byte N09 , Cs3 + .byte W24 + .byte As2 + .byte W12 + .byte Cs3 + .byte W12 + .byte N30 , Cn3 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W48 + .byte GOTO + .word mus_b_tower_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_b_tower_5: + .byte KEYSH , mus_b_tower_key+0 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte W24 +mus_b_tower_5_B1: + .byte VOICE , 82 + .byte PAN , c_v+48 + .byte N12 , As3 , v052 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte N12 + .byte W09 + .byte MOD , 6 + .byte W03 + .byte VOL , 77*mus_b_tower_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 73*mus_b_tower_mvl/mxv + .byte W06 + .byte 66*mus_b_tower_mvl/mxv + .byte N18 + .byte W06 + .byte VOL , 56*mus_b_tower_mvl/mxv + .byte W06 + .byte 34*mus_b_tower_mvl/mxv + .byte W06 + .byte 21*mus_b_tower_mvl/mxv + .byte MOD , 0 + .byte W06 + .byte VOICE , 82 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte N03 , Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte N12 + .byte W09 + .byte MOD , 6 + .byte W03 + .byte VOL , 77*mus_b_tower_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 73*mus_b_tower_mvl/mxv + .byte W06 + .byte 66*mus_b_tower_mvl/mxv + .byte N18 + .byte W06 + .byte VOL , 56*mus_b_tower_mvl/mxv + .byte W06 + .byte 34*mus_b_tower_mvl/mxv + .byte W06 + .byte 21*mus_b_tower_mvl/mxv + .byte MOD , 0 + .byte W30 + .byte VOICE , 82 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte N12 , As3 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte N12 + .byte W09 + .byte MOD , 6 + .byte W03 + .byte VOL , 77*mus_b_tower_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 73*mus_b_tower_mvl/mxv + .byte W06 + .byte 66*mus_b_tower_mvl/mxv + .byte N18 + .byte W06 + .byte VOL , 56*mus_b_tower_mvl/mxv + .byte W06 + .byte 34*mus_b_tower_mvl/mxv + .byte W06 + .byte 21*mus_b_tower_mvl/mxv + .byte MOD , 0 + .byte W06 + .byte VOICE , 82 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte N03 , Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte Fn3 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte N12 + .byte W09 + .byte MOD , 6 + .byte W03 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOL , 77*mus_b_tower_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 73*mus_b_tower_mvl/mxv + .byte W06 + .byte 66*mus_b_tower_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 56*mus_b_tower_mvl/mxv + .byte W06 + .byte 34*mus_b_tower_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 21*mus_b_tower_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W96 + .byte VOICE , 82 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte N06 , Dn3 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte N09 + .byte W24 + .byte N09 + .byte W12 + .byte N06 , As2 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 , An2 + .byte W12 + .byte Cn3 + .byte W24 + .byte An2 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte N09 + .byte W24 + .byte N09 + .byte W12 + .byte N06 , Cn3 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 , Dn3 + .byte W12 + .byte Fn3 + .byte W24 + .byte Dn3 + .byte W12 + .byte VOICE , 5 + .byte W06 + .byte N06 , Ds3 , v040 + .byte W06 + .byte As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Ds5 + .byte W06 + .byte As4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte As3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gn4 + .byte W06 + .byte Ds5 + .byte W06 + .byte As4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn3 + .byte W06 + .byte As2 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte As4 + .byte W06 + .byte Fn4 + .byte W06 + .byte As3 + .byte W06 + .byte Dn3 + .byte W06 + .byte As2 + .byte W06 + .byte Fn3 + .byte W06 + .byte As2 + .byte W06 + .byte Dn4 + .byte W06 + .byte As4 + .byte W06 + .byte Fn4 + .byte W06 + .byte As3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Gs2 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Gs2 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gs2 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cn3 + .byte W06 + .byte As2 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte As4 + .byte W06 + .byte Fn4 + .byte W06 + .byte As3 + .byte W06 + .byte Dn3 + .byte W06 + .byte As2 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte As4 + .byte W06 + .byte Dn5 + .byte W06 + .byte VOICE , 82 + .byte N06 , Dn3 , v052 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N36 + .byte W36 + .byte N12 , Fn2 + .byte W12 + .byte N32 , As2 + .byte W36 + .byte N06 , Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N24 , Ds3 + .byte W24 + .byte N09 , Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Ds3 + .byte W24 + .byte N03 , Fs3 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte Ds3 + .byte W24 + .byte N03 , Fs3 + .byte W06 + .byte N03 + .byte W06 + .byte N09 , Fn3 + .byte W12 + .byte Dn3 + .byte W24 + .byte N06 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte An2 + .byte W12 + .byte N09 , Fn3 + .byte W12 + .byte Dn3 + .byte W24 + .byte N03 + .byte W06 + .byte Fn3 + .byte W06 + .byte N24 , As3 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N09 , As3 + .byte W12 + .byte Gn3 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N24 , An3 + .byte W24 + .byte N12 , As3 + .byte W12 + .byte N09 + .byte W12 + .byte As2 + .byte W24 + .byte N03 , Fs3 + .byte W06 + .byte N03 + .byte W06 + .byte N09 , As2 + .byte W24 + .byte Fs2 + .byte W12 + .byte As2 + .byte W12 + .byte N30 , An2 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W48 + .byte GOTO + .word mus_b_tower_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_b_tower_6: + .byte KEYSH , mus_b_tower_key+0 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte W24 +mus_b_tower_6_B1: + .byte VOICE , 81 + .byte N06 , As1 , v080 + .byte W12 + .byte N06 + .byte W24 + .byte VOICE , 83 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte N09 + .byte W12 + .byte N09 + .byte W24 + .byte N09 + .byte W12 + .byte N06 , Fn1 + .byte W12 + .byte N06 + .byte W24 + .byte VOICE , 83 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte N09 + .byte W12 + .byte N09 + .byte W24 + .byte N09 + .byte W12 +mus_b_tower_6_000: + .byte N06 , As1 , v080 + .byte W12 + .byte N06 + .byte W24 + .byte VOICE , 83 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte N09 + .byte W12 + .byte N09 + .byte W24 + .byte N09 + .byte W12 + .byte PEND + .byte N06 , Fn1 + .byte W12 + .byte N06 + .byte W24 + .byte VOICE , 83 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte N09 + .byte W12 + .byte N09 + .byte W24 + .byte N06 + .byte W06 + .byte Cn2 + .byte W06 + .byte N24 , Fn2 + .byte W24 + .byte Ds2 + .byte W24 + .byte Dn2 + .byte W24 + .byte Cn2 + .byte W24 + .byte PATT + .word mus_b_tower_6_000 + .byte N06 , Fn1 , v080 + .byte W12 + .byte N06 + .byte W24 + .byte VOICE , 83 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte N09 + .byte W12 + .byte Cn2 + .byte W24 + .byte Fn1 + .byte W12 + .byte PATT + .word mus_b_tower_6_000 + .byte N06 , Gs1 , v080 + .byte W12 + .byte N06 + .byte W24 + .byte VOICE , 83 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte N09 , As1 + .byte W12 + .byte Fn2 + .byte W24 + .byte As1 + .byte W12 + .byte N12 , Ds2 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte Dn2 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte Cn2 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte As1 + .byte W24 + .byte N12 + .byte W24 + .byte N48 , Fn1 + .byte W48 + .byte N09 , As1 + .byte W12 + .byte Fn2 + .byte W24 + .byte VOICE , 83 + .byte N03 , As1 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte N06 + .byte W12 + .byte N12 , Fn2 + .byte W24 + .byte N09 , As1 + .byte W12 +mus_b_tower_6_001: + .byte N09 , Ds1 , v080 + .byte W12 + .byte As1 + .byte W24 + .byte VOICE , 83 + .byte N03 , Ds1 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte N06 + .byte W12 + .byte N12 , As1 + .byte W24 + .byte N09 , Ds1 + .byte W12 + .byte PEND + .byte PATT + .word mus_b_tower_6_001 + .byte N09 , As1 , v080 + .byte W12 + .byte Fn2 + .byte W24 + .byte VOICE , 83 + .byte N03 , As1 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte N12 , Fn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte An1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N09 , As1 + .byte W12 + .byte Fn1 + .byte W24 + .byte VOICE , 83 + .byte N03 , As1 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte N12 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N12 , Dn2 + .byte W12 + .byte N09 , Ds2 + .byte W12 + .byte As1 + .byte W24 + .byte VOICE , 83 + .byte N03 , Ds2 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte N12 + .byte W12 + .byte N24 , Fn2 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte N09 , Fs2 + .byte W12 + .byte Fs1 + .byte W24 + .byte VOICE , 83 + .byte N03 , Cs2 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte N09 , Fs1 + .byte W12 + .byte Cs2 + .byte W24 + .byte VOICE , 83 + .byte N03 , Fs1 + .byte W06 + .byte N03 + .byte W06 + .byte N09 , Fn1 + .byte W12 + .byte N12 , Fn2 + .byte W24 + .byte VOICE , 83 + .byte N03 , Fn1 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte N12 + .byte W48 + .byte GOTO + .word mus_b_tower_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_b_tower_7: + .byte KEYSH , mus_b_tower_key+0 + .byte PAN , c_v-8 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte W24 +mus_b_tower_7_B1: + .byte VOICE , 47 + .byte N24 , As1 , v127 + .byte W72 + .byte N24 + .byte W24 +mus_b_tower_7_000: + .byte N24 , Fn2 , v127 + .byte W84 + .byte N12 + .byte W12 + .byte PEND + .byte N24 , As1 + .byte W72 + .byte N24 + .byte W24 + .byte PATT + .word mus_b_tower_7_000 + .byte N24 , Fn2 , v127 + .byte W24 + .byte Ds2 + .byte W24 + .byte Dn2 + .byte W24 + .byte Cn2 + .byte W24 + .byte As1 + .byte W96 + .byte W36 + .byte N06 , Fn2 + .byte W06 + .byte N06 + .byte W06 + .byte N12 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N12 , Fn2 + .byte W12 + .byte N24 , As1 + .byte W96 + .byte W36 + .byte N06 , Gs2 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Fn2 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , Ds2 + .byte W72 + .byte N12 + .byte W12 + .byte As1 + .byte W12 + .byte Dn2 + .byte W12 + .byte N12 + .byte W24 + .byte N06 , Dn2 , v116 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Dn2 , v127 + .byte W12 + .byte N12 + .byte W24 + .byte N06 + .byte W06 + .byte Dn2 , v116 + .byte W06 + .byte N24 , Cn2 , v127 + .byte W72 + .byte N12 , Ds2 , v120 + .byte W12 + .byte Cn2 , v127 + .byte W12 + .byte N24 , As1 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_b_tower_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_b_tower_8: + .byte KEYSH , mus_b_tower_key+0 + .byte VOICE , 0 + .byte W24 +mus_b_tower_8_B1: + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte N72 , Bn2 , v092 + .byte W96 + .byte W96 + .byte N72 + .byte W96 + .byte W96 + .byte N36 + .byte W36 + .byte W03 + .byte N09 + .byte W09 + .byte N48 + .byte W48 + .byte N96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte VOL , 40*mus_b_tower_mvl/mxv + .byte N48 , An2 , v064 + .byte W09 + .byte VOL , 49*mus_b_tower_mvl/mxv + .byte W06 + .byte 57*mus_b_tower_mvl/mxv + .byte W06 + .byte 64*mus_b_tower_mvl/mxv + .byte W06 + .byte 73*mus_b_tower_mvl/mxv + .byte W06 + .byte 77*mus_b_tower_mvl/mxv + .byte W06 + .byte 80*mus_b_tower_mvl/mxv + .byte W09 + .byte N96 , Bn2 , v092 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_b_tower_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_b_tower_9: + .byte KEYSH , mus_b_tower_key+0 + .byte VOICE , 0 + .byte VOL , 80*mus_b_tower_mvl/mxv + .byte W24 +mus_b_tower_9_B1: +mus_b_tower_9_000: + .byte W60 + .byte N06 , En1 , v092 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W24 + .byte PEND + .byte PATT + .word mus_b_tower_9_000 + .byte PATT + .word mus_b_tower_9_000 + .byte PATT + .word mus_b_tower_9_000 + .byte N06 , En1 , v112 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte En1 , v092 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En1 , v068 + .byte W03 + .byte En1 , v072 + .byte W03 + .byte En1 , v080 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v088 + .byte W03 + .byte En1 , v092 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v100 + .byte W03 + .byte N24 , En1 , v112 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_b_tower_9_001: + .byte N06 , En1 , v092 + .byte W06 + .byte En1 , v060 + .byte W06 + .byte En1 , v048 + .byte W06 + .byte En1 , v032 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v092 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W24 + .byte En1 , v112 + .byte W12 + .byte En1 , v092 + .byte W06 + .byte N06 + .byte W06 + .byte PEND +mus_b_tower_9_002: + .byte N06 , En1 , v092 + .byte W06 + .byte En1 , v076 + .byte W06 + .byte En1 , v092 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v092 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v060 + .byte W06 + .byte En1 , v048 + .byte W06 + .byte En1 , v032 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v092 + .byte W06 + .byte N06 + .byte W06 + .byte PEND + .byte PATT + .word mus_b_tower_9_001 + .byte N06 , En1 , v092 + .byte W06 + .byte En1 , v076 + .byte W06 + .byte En1 , v092 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v092 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v060 + .byte W06 + .byte En1 , v048 + .byte W06 + .byte En1 , v032 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte N03 , En1 , v072 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v092 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word mus_b_tower_9_001 + .byte PATT + .word mus_b_tower_9_002 + .byte PATT + .word mus_b_tower_9_001 + .byte N06 , En1 , v092 + .byte W06 + .byte En1 , v076 + .byte W06 + .byte En1 , v092 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v092 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W48 + .byte GOTO + .word mus_b_tower_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_b_tower: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_b_tower_pri @ Priority + .byte mus_b_tower_rev @ Reverb. + + .word mus_b_tower_grp + + .word mus_b_tower_1 + .word mus_b_tower_2 + .word mus_b_tower_3 + .word mus_b_tower_4 + .word mus_b_tower_5 + .word mus_b_tower_6 + .word mus_b_tower_7 + .word mus_b_tower_8 + .word mus_b_tower_9 + + .end diff --git a/sound/songs/mus_b_tube.s b/sound/songs/mus_b_tube.s new file mode 100644 index 0000000000..0fb7f60789 --- /dev/null +++ b/sound/songs/mus_b_tube.s @@ -0,0 +1,3742 @@ + .include "MPlayDef.s" + + .equ mus_b_tube_grp, voicegroup_8698654 + .equ mus_b_tube_pri, 0 + .equ mus_b_tube_rev, reverb_set+50 + .equ mus_b_tube_mvl, 127 + .equ mus_b_tube_key, 0 + .equ mus_b_tube_tbs, 1 + .equ mus_b_tube_exg, 0 + .equ mus_b_tube_cmp, 1 + + .section .rodata + .global mus_b_tube + .align 2 + +@********************** Track 1 **********************@ + +mus_b_tube_1: + .byte KEYSH , mus_b_tube_key+0 + .byte TEMPO , 120*mus_b_tube_tbs/2 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+14 + .byte VOL , 62*mus_b_tube_mvl/mxv + .byte BEND , c_v+0 + .byte W72 +mus_b_tube_1_B1: + .byte W24 + .byte N16 , En2 , v112 + .byte W16 + .byte N08 , Fs2 + .byte W08 + .byte N24 , Gs2 + .byte W24 + .byte N40 , An2 + .byte W40 + .byte N32 , En3 + .byte W32 + .byte N40 , Gs2 + .byte W40 + .byte N32 , En3 + .byte W32 + .byte N40 , Gn2 + .byte W40 + .byte N32 , En3 + .byte W32 + .byte N24 , Fs2 + .byte W24 + .byte En3 + .byte W24 + .byte Dn3 + .byte W24 + .byte N40 , Fn2 + .byte W40 + .byte N32 , Dn3 + .byte W32 + .byte N40 , En2 + .byte W40 + .byte N32 , Cn3 + .byte W32 + .byte N40 , Ds2 + .byte W40 + .byte N32 , Cn3 + .byte W32 + .byte N40 , En2 + .byte W40 + .byte N56 , Bn2 + .byte W32 + .byte W72 + .byte N16 , An2 + .byte W16 + .byte N04 , En3 + .byte W32 + .byte N16 , En2 + .byte N16 , Cn3 + .byte W16 + .byte N08 , An2 + .byte W08 + .byte N16 , Gs2 + .byte W16 + .byte N04 , En3 + .byte W24 + .byte N16 , Gs2 + .byte W16 + .byte N04 , En3 + .byte W08 + .byte N08 , Gs2 + .byte W08 + .byte N16 , Gn2 + .byte W16 + .byte N04 , Gn3 + .byte W08 + .byte N16 , En3 + .byte W16 + .byte N04 , Cn3 + .byte W08 + .byte N16 , An2 + .byte W16 + .byte N04 , Gn2 + .byte W08 + .byte N16 , Fs2 + .byte W16 + .byte N04 , Fs3 + .byte W24 + .byte N08 , Fs2 + .byte W08 + .byte N04 , Fs3 + .byte W16 + .byte N08 , Fs2 + .byte W08 + .byte N16 , Fn2 + .byte W16 + .byte N04 , Dn3 + .byte W24 + .byte N08 , Fn2 + .byte W08 + .byte N04 , An3 + .byte W16 + .byte N08 , Fn2 + .byte W08 + .byte N24 , En2 + .byte W24 + .byte N16 , En3 + .byte W24 + .byte An2 + .byte W24 + .byte Ds2 + .byte W16 + .byte N04 , Ds3 + .byte W24 + .byte N08 , An2 + .byte W08 + .byte N04 , An3 + .byte W16 + .byte N08 , Fs3 + .byte W08 + .byte N16 , En2 + .byte W16 + .byte N04 , Gs3 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N04 , Dn3 + .byte W08 + .byte N16 , En3 + .byte W16 + .byte N04 , Bn2 + .byte W08 + .byte W24 + .byte N16 , An2 + .byte W16 + .byte N08 , Cn3 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte N08 , Fs3 + .byte W08 +mus_b_tube_1_000: + .byte N08 , Bn3 , v112 + .byte W08 + .byte Gs2 + .byte W08 + .byte Bn2 + .byte W08 + .byte N16 , Dn3 + .byte W16 + .byte N08 , Fn3 + .byte W08 + .byte N16 , Gs3 + .byte W16 + .byte N08 , Dn3 + .byte W08 + .byte PEND + .byte W24 + .byte N16 , An2 + .byte W16 + .byte N08 , An3 + .byte W08 + .byte N16 , Fs3 + .byte W16 + .byte N08 , Ds3 + .byte W08 + .byte Bn2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Dn3 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N08 , Dn3 + .byte W08 + .byte N16 , Gs3 + .byte W16 + .byte N04 , Dn3 + .byte W08 + .byte W16 + .byte Fs3 + .byte W24 + .byte N08 , An2 + .byte W08 + .byte N04 , An3 + .byte W16 + .byte N08 , Fs3 + .byte W08 + .byte PATT + .word mus_b_tube_1_000 + .byte W16 + .byte N04 , Fs3 , v112 + .byte W08 + .byte N16 , An2 + .byte W16 + .byte N08 , Cn3 + .byte W16 + .byte N04 , An3 + .byte W08 + .byte N08 , Fs3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Gs2 + .byte W08 + .byte N04 , Fn3 + .byte W08 + .byte N16 , Dn3 + .byte W16 + .byte N08 , Fn3 + .byte W08 + .byte N04 , Gs3 + .byte W16 + .byte N08 , Bn2 + .byte W08 + .byte N72 , Gn3 , v064 + .byte W72 + .byte Fs3 + .byte W72 + .byte Fn3 + .byte W72 + .byte En3 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte N08 , En2 , v112 + .byte W08 + .byte Gs2 + .byte W08 + .byte Bn2 + .byte W08 + .byte N16 , Dn3 + .byte W16 + .byte N08 , En3 + .byte W08 + .byte N04 , En4 , v080 + .byte W16 + .byte N08 , En3 , v096 + .byte W08 + .byte GOTO + .word mus_b_tube_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_b_tube_2: + .byte KEYSH , mus_b_tube_key+0 + .byte VOICE , 38 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 90*mus_b_tube_mvl/mxv + .byte PAN , c_v+16 + .byte BEND , c_v+0 + .byte N72 , En2 , v096 + .byte W48 + .byte BEND , c_v-8 + .byte W02 + .byte c_v-13 + .byte W04 + .byte c_v-16 + .byte W02 + .byte c_v-24 + .byte W04 + .byte c_v-30 + .byte W02 + .byte c_v-45 + .byte W04 + .byte c_v-57 + .byte W02 + .byte c_v-63 + .byte W04 +mus_b_tube_2_B1: + .byte PAN , c_v+16 + .byte BEND , c_v+0 + .byte N72 , En1 , v096 + .byte W48 + .byte VOL , 81*mus_b_tube_mvl/mxv + .byte MOD , 127 + .byte BEND , c_v+0 + .byte W04 + .byte VOL , 70*mus_b_tube_mvl/mxv + .byte BEND , c_v+15 + .byte W04 + .byte VOL , 62*mus_b_tube_mvl/mxv + .byte BEND , c_v+36 + .byte W04 + .byte VOL , 50*mus_b_tube_mvl/mxv + .byte BEND , c_v+58 + .byte W04 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte BEND , c_v+63 + .byte W04 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W04 + .byte 90*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte W16 + .byte N04 , En2 , v092 + .byte W08 + .byte N16 , Ds2 + .byte W16 + .byte N04 , En2 + .byte W08 + .byte N16 , Ds2 + .byte W16 + .byte N04 , En2 + .byte W08 + .byte BEND , c_v+0 + .byte N16 , Ds2 + .byte W16 + .byte N04 , En2 + .byte W08 + .byte BEND , c_v+1 + .byte N16 , Ds2 + .byte W08 + .byte MOD , 8 + .byte W08 + .byte 0 + .byte N04 , En2 + .byte W08 + .byte BEND , c_v+0 + .byte N16 , Ds2 + .byte W16 + .byte N04 , En2 + .byte W08 + .byte BEND , c_v+0 + .byte N16 , Bn2 + .byte W08 + .byte MOD , 8 + .byte W02 + .byte VOL , 75*mus_b_tube_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte N04 , En2 + .byte W02 + .byte VOL , 89*mus_b_tube_mvl/mxv + .byte W06 + .byte N16 , Ds2 + .byte W16 + .byte N04 , En2 + .byte W08 + .byte BEND , c_v+0 + .byte N16 , Ds2 + .byte W16 + .byte N04 , En2 + .byte W08 + .byte BEND , c_v+0 + .byte N40 , Dn2 + .byte W24 + .byte VOL , 81*mus_b_tube_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 75*mus_b_tube_mvl/mxv + .byte W02 + .byte 71*mus_b_tube_mvl/mxv + .byte W02 + .byte 68*mus_b_tube_mvl/mxv + .byte W02 + .byte 62*mus_b_tube_mvl/mxv + .byte W02 + .byte 58*mus_b_tube_mvl/mxv + .byte W02 + .byte 55*mus_b_tube_mvl/mxv + .byte W02 + .byte 51*mus_b_tube_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte W08 + .byte VOL , 91*mus_b_tube_mvl/mxv + .byte N16 + .byte W16 + .byte N08 , En2 + .byte W08 + .byte N24 , Fn2 + .byte W16 + .byte MOD , 8 + .byte W08 + .byte 0 + .byte W16 + .byte N08 + .byte W08 + .byte N16 , Gn2 + .byte W16 + .byte N08 , Fn2 + .byte W08 + .byte N40 , En2 + .byte W24 + .byte VOL , 81*mus_b_tube_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 75*mus_b_tube_mvl/mxv + .byte W02 + .byte 71*mus_b_tube_mvl/mxv + .byte W02 + .byte 68*mus_b_tube_mvl/mxv + .byte W02 + .byte 62*mus_b_tube_mvl/mxv + .byte W02 + .byte 58*mus_b_tube_mvl/mxv + .byte W02 + .byte 55*mus_b_tube_mvl/mxv + .byte W02 + .byte 51*mus_b_tube_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte W08 + .byte VOL , 91*mus_b_tube_mvl/mxv + .byte N16 , Cn2 + .byte W16 + .byte N08 , En2 + .byte W08 + .byte N24 , Ds2 + .byte W16 + .byte MOD , 8 + .byte BEND , c_v+0 + .byte W08 + .byte MOD , 0 + .byte N24 , An1 + .byte W24 + .byte N16 , Cn2 + .byte W16 + .byte N08 , Ds2 + .byte W08 + .byte N48 , En2 + .byte W24 + .byte VOL , 81*mus_b_tube_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 70*mus_b_tube_mvl/mxv + .byte W04 + .byte 63*mus_b_tube_mvl/mxv + .byte W02 + .byte 59*mus_b_tube_mvl/mxv + .byte W04 + .byte 55*mus_b_tube_mvl/mxv + .byte W02 + .byte 47*mus_b_tube_mvl/mxv + .byte W04 + .byte 44*mus_b_tube_mvl/mxv + .byte W02 + .byte 38*mus_b_tube_mvl/mxv + .byte W04 + .byte 92*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte W72 + .byte W16 + .byte N04 , En3 , v072 + .byte W08 + .byte N16 , Ds3 + .byte W08 + .byte MOD , 8 + .byte W08 + .byte 0 + .byte N04 , En3 + .byte W08 + .byte N16 , Ds3 + .byte W08 + .byte MOD , 8 + .byte W08 + .byte 0 + .byte N04 , En3 + .byte W08 + .byte N08 , Ds3 + .byte W08 + .byte N04 , En3 + .byte W08 + .byte Ds3 + .byte W08 + .byte BEND , c_v+0 + .byte N16 , En3 + .byte W08 + .byte MOD , 8 + .byte W08 + .byte 0 + .byte N04 , Ds3 + .byte W08 + .byte BEND , c_v+1 + .byte N16 , En3 + .byte W08 + .byte MOD , 8 + .byte W08 + .byte 0 + .byte N04 , Ds3 + .byte W08 + .byte BEND , c_v+0 + .byte N08 , Bn3 + .byte W08 + .byte N04 , An3 + .byte W08 + .byte Ds3 + .byte W08 + .byte N08 + .byte W08 + .byte N04 , En3 + .byte W08 + .byte Ds3 + .byte W08 + .byte N16 , En3 + .byte W16 + .byte N04 , Gn3 + .byte W08 + .byte N02 , Fn3 + .byte W02 + .byte N36 , Fs3 + .byte W22 + .byte VOL , 81*mus_b_tube_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 75*mus_b_tube_mvl/mxv + .byte W02 + .byte 71*mus_b_tube_mvl/mxv + .byte W02 + .byte 68*mus_b_tube_mvl/mxv + .byte W02 + .byte 62*mus_b_tube_mvl/mxv + .byte W02 + .byte 58*mus_b_tube_mvl/mxv + .byte W02 + .byte 55*mus_b_tube_mvl/mxv + .byte W02 + .byte 51*mus_b_tube_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte W08 + .byte VOL , 91*mus_b_tube_mvl/mxv + .byte N16 , Dn3 + .byte W16 + .byte N08 , En3 + .byte W08 + .byte N24 , Fn3 + .byte W16 + .byte MOD , 8 + .byte W08 + .byte 0 + .byte W16 + .byte N08 + .byte W08 + .byte N16 , Gn3 + .byte W16 + .byte N08 , An3 + .byte W08 + .byte N02 , Fn3 + .byte W02 + .byte N36 , En3 + .byte W22 + .byte VOL , 81*mus_b_tube_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 75*mus_b_tube_mvl/mxv + .byte W02 + .byte 71*mus_b_tube_mvl/mxv + .byte W02 + .byte 68*mus_b_tube_mvl/mxv + .byte W02 + .byte 62*mus_b_tube_mvl/mxv + .byte W02 + .byte 58*mus_b_tube_mvl/mxv + .byte W02 + .byte 55*mus_b_tube_mvl/mxv + .byte W02 + .byte 51*mus_b_tube_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte W08 + .byte VOL , 91*mus_b_tube_mvl/mxv + .byte N16 , Cn3 + .byte W16 + .byte N08 , En3 + .byte W08 + .byte N24 , Ds3 + .byte W16 + .byte MOD , 8 + .byte W08 + .byte 0 + .byte N24 , An2 + .byte W24 + .byte N16 , Ds3 + .byte W16 + .byte N08 , Fs3 + .byte W08 + .byte N48 , Gs3 + .byte W24 + .byte VOL , 85*mus_b_tube_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 81*mus_b_tube_mvl/mxv + .byte W02 + .byte 79*mus_b_tube_mvl/mxv + .byte W02 + .byte 75*mus_b_tube_mvl/mxv + .byte W02 + .byte 74*mus_b_tube_mvl/mxv + .byte W02 + .byte 71*mus_b_tube_mvl/mxv + .byte W02 + .byte 67*mus_b_tube_mvl/mxv + .byte W02 + .byte 62*mus_b_tube_mvl/mxv + .byte W02 + .byte 56*mus_b_tube_mvl/mxv + .byte W02 + .byte 53*mus_b_tube_mvl/mxv + .byte W02 + .byte 46*mus_b_tube_mvl/mxv + .byte W02 + .byte 42*mus_b_tube_mvl/mxv + .byte W02 + .byte 92*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte BEND , c_v+0 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte c_v+0 + .byte W24 + .byte N16 , An1 , v064 + .byte W16 + .byte N08 , Cn2 + .byte W08 + .byte N16 , Ds2 + .byte W16 + .byte N08 , Fs2 + .byte W08 + .byte Bn2 + .byte W08 + .byte Gs1 + .byte W08 + .byte Bn1 + .byte W08 + .byte N16 , Dn2 + .byte W16 + .byte N08 , Fn2 + .byte W08 + .byte N16 , Gs2 + .byte W16 + .byte N08 , Dn2 + .byte W08 + .byte W24 + .byte N16 , An1 + .byte W16 + .byte N08 , An2 + .byte W08 + .byte N16 , Fs2 + .byte W16 + .byte N08 , Ds2 + .byte W08 + .byte Bn1 + .byte W08 + .byte Gs1 + .byte W08 + .byte Dn2 + .byte W08 + .byte N16 , Fn2 + .byte W16 + .byte N08 , Dn2 + .byte W08 + .byte N16 , Gs2 + .byte W16 + .byte N08 , Fn2 + .byte W08 + .byte W72 + .byte GOTO + .word mus_b_tube_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_b_tube_3: + .byte KEYSH , mus_b_tube_key+0 + .byte VOICE , 35 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 82*mus_b_tube_mvl/mxv + .byte BEND , c_v+0 + .byte N72 , En2 , v112 + .byte W36 + .byte MOD , 10 + .byte W12 + .byte BEND , c_v-8 + .byte W02 + .byte c_v-13 + .byte W04 + .byte c_v-16 + .byte W02 + .byte c_v-24 + .byte W04 + .byte c_v-30 + .byte W02 + .byte c_v-45 + .byte W04 + .byte c_v-57 + .byte W02 + .byte c_v-63 + .byte W04 +mus_b_tube_3_B1: + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N72 , En1 , v112 + .byte W48 + .byte MOD , 10 + .byte W24 + .byte 0 + .byte N40 , An1 + .byte W24 + .byte MOD , 10 + .byte W24 + .byte 0 + .byte N24 , En1 + .byte W12 + .byte MOD , 10 + .byte W12 + .byte 0 + .byte N40 , Gs1 + .byte W24 + .byte MOD , 10 + .byte W24 + .byte 0 + .byte N24 , En2 + .byte W12 + .byte MOD , 10 + .byte W12 + .byte 0 + .byte N08 , Cn2 + .byte W08 + .byte N04 , An1 + .byte W08 + .byte En1 + .byte W08 + .byte N16 , Gn1 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte W08 + .byte N16 , En2 + .byte W04 + .byte BEND , c_v-7 + .byte W02 + .byte c_v-16 + .byte W02 + .byte MOD , 10 + .byte BEND , c_v-28 + .byte W02 + .byte c_v-37 + .byte W02 + .byte c_v-46 + .byte W02 + .byte c_v-53 + .byte W02 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N08 , En1 + .byte W08 + .byte N24 , Fs1 + .byte W12 + .byte MOD , 10 + .byte W12 + .byte 0 + .byte N16 , Dn2 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , Cn2 + .byte W08 + .byte N16 , Dn1 + .byte W16 + .byte N08 , En1 + .byte W08 + .byte N40 , Fn1 + .byte W24 + .byte MOD , 10 + .byte W16 + .byte 0 + .byte W08 + .byte N24 , Dn1 + .byte W12 + .byte MOD , 10 + .byte W12 + .byte 0 + .byte N40 , En1 + .byte W24 + .byte MOD , 10 + .byte W16 + .byte 0 + .byte W08 + .byte N24 , Cn1 + .byte W12 + .byte MOD , 10 + .byte W12 + .byte 0 + .byte N40 , Ds1 + .byte W24 + .byte MOD , 10 + .byte W16 + .byte 0 + .byte W08 + .byte N24 , Cn1 + .byte W12 + .byte MOD , 10 + .byte W12 + .byte 0 + .byte N40 , En1 + .byte W24 + .byte MOD , 10 + .byte W16 + .byte 0 + .byte W08 + .byte N24 , An1 + .byte W12 + .byte MOD , 10 + .byte W12 + .byte 0 + .byte N24 , En2 + .byte W12 + .byte MOD , 10 + .byte BEND , c_v-5 + .byte W02 + .byte c_v-12 + .byte W02 + .byte c_v-19 + .byte W02 + .byte c_v-27 + .byte W02 + .byte c_v-39 + .byte W02 + .byte c_v-43 + .byte W02 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N24 , En1 + .byte W12 + .byte MOD , 10 + .byte W12 + .byte 0 + .byte N16 + .byte W16 + .byte N08 , Gs1 + .byte W08 + .byte BEND , c_v+0 + .byte N24 , An1 + .byte W12 + .byte MOD , 10 + .byte W12 + .byte 0 + .byte W16 + .byte N08 , En2 + .byte W08 + .byte N16 , Cn2 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , An1 + .byte W08 + .byte N16 , Gs1 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte W32 + .byte N24 , En1 + .byte W12 + .byte MOD , 10 + .byte W12 + .byte 0 + .byte N08 , Cn2 + .byte W08 + .byte N04 , An1 + .byte W08 + .byte En1 + .byte W08 + .byte N16 , Gn1 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte W08 + .byte N24 , En2 + .byte W12 + .byte MOD , 10 + .byte W12 + .byte 0 + .byte N24 , Fs1 + .byte W12 + .byte MOD , 10 + .byte W12 + .byte 0 + .byte N16 , Dn2 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N04 , Cn2 + .byte W08 + .byte N16 , Dn1 + .byte W16 + .byte N08 , En1 + .byte W08 + .byte BEND , c_v+0 + .byte N16 , Fn1 + .byte W16 + .byte Dn2 + .byte W08 + .byte MOD , 10 + .byte BEND , c_v-9 + .byte W02 + .byte c_v-16 + .byte W02 + .byte c_v-26 + .byte W02 + .byte c_v-39 + .byte W02 + .byte MOD , 0 + .byte BEND , c_v-48 + .byte W02 + .byte c_v-53 + .byte W04 + .byte c_v+0 + .byte W10 + .byte c_v+0 + .byte N24 , Dn1 + .byte W12 + .byte MOD , 10 + .byte W12 + .byte 0 + .byte N24 , En1 + .byte W12 + .byte MOD , 10 + .byte W12 + .byte 0 + .byte N16 , Cn2 + .byte W16 + .byte N04 , Fs1 + .byte W08 + .byte N24 , Cn1 + .byte W12 + .byte MOD , 10 + .byte W12 + .byte 0 + .byte N16 , Ds1 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte W32 + .byte N24 , Cn1 + .byte W12 + .byte MOD , 10 + .byte W12 + .byte 0 + .byte N40 , En1 + .byte W24 + .byte MOD , 10 + .byte BEND , c_v-3 + .byte W02 + .byte c_v-4 + .byte W02 + .byte c_v-6 + .byte W02 + .byte c_v-10 + .byte W02 + .byte c_v-14 + .byte W02 + .byte c_v-16 + .byte W02 + .byte c_v-20 + .byte W02 + .byte c_v-22 + .byte W02 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N08 , Dn1 + .byte W08 + .byte N16 , Bn1 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , Gs1 + .byte W08 + .byte N16 , An1 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N06 , En1 + .byte W24 + .byte N08 , Fs2 + .byte W08 + .byte N16 , Ds2 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , Cn2 + .byte W08 + .byte N16 , Dn2 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , Bn1 + .byte W08 + .byte N16 , Fn1 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N04 , Bn1 + .byte W08 + .byte N16 , Fn2 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N04 , Dn2 + .byte W08 + .byte N08 , An1 + .byte W08 + .byte N06 , Gs1 + .byte W08 + .byte An1 + .byte W16 + .byte N08 , En1 + .byte W08 + .byte Fs2 + .byte W08 + .byte N16 , Ds2 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , Cn2 + .byte W08 + .byte Dn2 + .byte W08 + .byte Bn1 + .byte W08 + .byte Gs1 + .byte W08 + .byte N16 , Fn1 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N04 , Bn1 + .byte W08 + .byte N16 , Fn2 + .byte W16 + .byte N04 , Dn2 + .byte W08 + .byte N16 , An1 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N04 , Ds1 + .byte W24 + .byte N08 , Ds2 + .byte W24 + .byte Cn2 + .byte W08 +mus_b_tube_3_000: + .byte N08 , Dn2 , v112 + .byte W08 + .byte Bn1 + .byte W08 + .byte Gs1 + .byte W08 + .byte N16 , Fn1 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , Bn1 + .byte W08 + .byte N16 , Fn2 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , Dn2 + .byte W08 + .byte PEND + .byte N16 , An1 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte W24 + .byte N08 , Fs2 + .byte W16 + .byte N04 , An2 + .byte W08 + .byte N08 , Cn2 + .byte W08 + .byte Dn2 + .byte W08 + .byte Bn1 + .byte W08 + .byte Gs1 + .byte W08 + .byte N16 , Fn1 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , Bn1 + .byte W08 + .byte N04 , Fn2 + .byte W16 + .byte N08 , Dn2 + .byte W08 + .byte N72 , As1 + .byte W72 + .byte An1 + .byte W72 + .byte Gs1 + .byte W72 + .byte BEND , c_v+0 + .byte N48 , Gn1 + .byte W48 + .byte N24 , En2 + .byte W12 + .byte MOD , 10 + .byte BEND , c_v-10 + .byte W02 + .byte c_v-15 + .byte W02 + .byte c_v-25 + .byte W02 + .byte c_v-42 + .byte W02 + .byte c_v-50 + .byte W04 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N40 , An1 + .byte W24 + .byte MOD , 10 + .byte W16 + .byte 0 + .byte N08 , Fs2 + .byte W08 + .byte N16 , Ds2 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , Cn2 + .byte W08 + .byte PATT + .word mus_b_tube_3_000 + .byte N40 , An1 , v112 + .byte W24 + .byte MOD , 10 + .byte W16 + .byte 0 + .byte N08 , Fs2 + .byte W08 + .byte N16 , Ds2 + .byte W16 + .byte N08 , Cn2 + .byte W08 + .byte PATT + .word mus_b_tube_3_000 + .byte N08 , En2 , v112 + .byte W08 + .byte Bn1 + .byte W08 + .byte Gs1 + .byte W08 + .byte N16 , En1 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , En2 + .byte W08 + .byte N04 , Gs2 + .byte W16 + .byte N08 , Gs1 + .byte W08 + .byte GOTO + .word mus_b_tube_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_b_tube_4: + .byte KEYSH , mus_b_tube_key+0 + .byte VOICE , 53 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 71*mus_b_tube_mvl/mxv + .byte PAN , c_v+5 + .byte W72 +mus_b_tube_4_B1: + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte VOL , 75*mus_b_tube_mvl/mxv + .byte W24 + .byte BEND , c_v+0 + .byte W24 + .byte PAN , c_v+8 + .byte N08 , En3 , v096 + .byte W08 + .byte Gs3 + .byte W08 + .byte Bn3 + .byte W08 + .byte N48 , Cn4 + .byte W04 + .byte BEND , c_v-5 + .byte W04 + .byte c_v+0 + .byte W04 + .byte c_v+0 + .byte W24 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , An3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N48 , Gs3 + .byte W12 + .byte BEND , c_v-5 + .byte W04 + .byte c_v+0 + .byte W04 + .byte c_v+0 + .byte W04 + .byte c_v+0 + .byte W12 + .byte MOD , 8 + .byte W04 + .byte VOL , 62*mus_b_tube_mvl/mxv + .byte W02 + .byte 49*mus_b_tube_mvl/mxv + .byte W02 + .byte 39*mus_b_tube_mvl/mxv + .byte W02 + .byte 26*mus_b_tube_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 75*mus_b_tube_mvl/mxv + .byte W16 + .byte N08 , Bn3 , v100 + .byte W08 + .byte Cn4 + .byte W16 + .byte An3 + .byte W08 + .byte Ds3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Cn3 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte N08 , An3 + .byte W08 + .byte N48 , Gs3 + .byte W12 + .byte BEND , c_v-6 + .byte W08 + .byte c_v+0 + .byte W04 + .byte MOD , 5 + .byte BEND , c_v+0 + .byte W12 + .byte MOD , 10 + .byte W04 + .byte VOL , 62*mus_b_tube_mvl/mxv + .byte W02 + .byte 49*mus_b_tube_mvl/mxv + .byte W02 + .byte 39*mus_b_tube_mvl/mxv + .byte W02 + .byte 26*mus_b_tube_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte PAN , c_v+5 + .byte VOL , 75*mus_b_tube_mvl/mxv + .byte N08 , Fn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Bn3 + .byte W08 + .byte BEND , c_v-5 + .byte N40 , Cn4 + .byte W04 + .byte BEND , c_v+0 + .byte W08 + .byte MOD , 5 + .byte W12 + .byte 11 + .byte VOL , 62*mus_b_tube_mvl/mxv + .byte W02 + .byte 49*mus_b_tube_mvl/mxv + .byte W02 + .byte 39*mus_b_tube_mvl/mxv + .byte W02 + .byte 26*mus_b_tube_mvl/mxv + .byte W02 + .byte 75*mus_b_tube_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W04 + .byte N04 , En4 + .byte W08 + .byte N08 , Fs3 + .byte W08 + .byte N04 , An3 + .byte W08 + .byte Ds3 + .byte W08 + .byte N48 , Gs3 + .byte W12 + .byte MOD , 5 + .byte BEND , c_v-5 + .byte W04 + .byte c_v+0 + .byte W20 + .byte MOD , 10 + .byte W04 + .byte VOL , 62*mus_b_tube_mvl/mxv + .byte W02 + .byte 49*mus_b_tube_mvl/mxv + .byte W02 + .byte 39*mus_b_tube_mvl/mxv + .byte W02 + .byte 26*mus_b_tube_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 75*mus_b_tube_mvl/mxv + .byte W16 + .byte N08 , Bn3 + .byte W08 + .byte Cn4 + .byte W16 + .byte An3 + .byte W08 + .byte Ds3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Cn3 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte N08 , Fs3 + .byte W08 + .byte BEND , c_v-5 + .byte N48 , Fn3 + .byte W04 + .byte BEND , c_v+0 + .byte W08 + .byte MOD , 5 + .byte W24 + .byte 10 + .byte W04 + .byte VOL , 62*mus_b_tube_mvl/mxv + .byte W02 + .byte 49*mus_b_tube_mvl/mxv + .byte W02 + .byte 39*mus_b_tube_mvl/mxv + .byte W02 + .byte 26*mus_b_tube_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 75*mus_b_tube_mvl/mxv + .byte N24 , Gs3 + .byte W12 + .byte MOD , 10 + .byte W04 + .byte VOL , 62*mus_b_tube_mvl/mxv + .byte W02 + .byte 49*mus_b_tube_mvl/mxv + .byte W02 + .byte 39*mus_b_tube_mvl/mxv + .byte W02 + .byte 26*mus_b_tube_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 75*mus_b_tube_mvl/mxv + .byte N04 , En3 + .byte W08 + .byte Fn3 + .byte W08 + .byte En3 + .byte W08 + .byte Fn3 + .byte W08 + .byte En3 + .byte W08 + .byte Fn3 + .byte W08 + .byte En3 + .byte W08 + .byte Fn3 + .byte W08 + .byte En3 + .byte W08 + .byte BEND , c_v-5 + .byte N16 , Fn3 + .byte W02 + .byte BEND , c_v+0 + .byte W14 + .byte N04 , En3 + .byte W08 + .byte N04 + .byte W08 + .byte Fn3 + .byte W08 + .byte En3 + .byte W08 + .byte BEND , c_v-5 + .byte N16 , Fn3 + .byte W02 + .byte BEND , c_v+0 + .byte W14 + .byte N04 , En3 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N04 , Gn3 + .byte W08 + .byte BEND , c_v-5 + .byte N16 , Fn3 + .byte W02 + .byte BEND , c_v+0 + .byte W14 + .byte N04 , En3 + .byte W08 + .byte N16 , Dn3 + .byte W16 + .byte N04 , Bn2 + .byte W08 + .byte N08 , Cs3 + .byte W08 + .byte Dn3 + .byte W08 + .byte N56 , En3 + .byte W20 + .byte MOD , 5 + .byte W24 + .byte 10 + .byte W04 + .byte VOL , 62*mus_b_tube_mvl/mxv + .byte W02 + .byte 49*mus_b_tube_mvl/mxv + .byte W02 + .byte 39*mus_b_tube_mvl/mxv + .byte W02 + .byte 26*mus_b_tube_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 75*mus_b_tube_mvl/mxv + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte GOTO + .word mus_b_tube_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_b_tube_5: + .byte KEYSH , mus_b_tube_key+0 + .byte VOICE , 1 + .byte PAN , c_v-17 + .byte VOL , 60*mus_b_tube_mvl/mxv + .byte W72 +mus_b_tube_5_B1: + .byte W72 + .byte W40 + .byte N32 , Cn3 , v112 + .byte W32 + .byte W40 + .byte N32 + .byte W32 + .byte W40 + .byte N32 + .byte W32 + .byte W24 + .byte N24 + .byte W24 + .byte An2 + .byte W24 + .byte W40 + .byte N32 + .byte W32 + .byte W40 + .byte N32 + .byte W32 + .byte W40 + .byte N32 + .byte W32 + .byte W40 + .byte N08 , Gs2 + .byte W08 + .byte N24 , Fs2 + .byte W24 + .byte Gs2 + .byte W24 + .byte N48 , En2 + .byte W48 + .byte W16 + .byte N04 , Cn3 + .byte W56 + .byte W16 + .byte N04 + .byte W40 + .byte N04 + .byte W16 + .byte W72 + .byte W16 + .byte En3 + .byte W32 + .byte N04 + .byte W24 + .byte W16 + .byte An2 + .byte W32 + .byte Dn3 + .byte W24 + .byte W40 + .byte Cn3 + .byte W24 + .byte En2 + .byte W08 + .byte W16 + .byte Cn3 + .byte W32 + .byte Ds3 + .byte W24 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W16 + .byte Cn3 + .byte W32 + .byte Fs3 + .byte W24 + .byte W72 + .byte W16 + .byte Cn3 + .byte W40 + .byte Ds3 + .byte W16 + .byte W16 + .byte Bn2 + .byte W32 + .byte Dn3 + .byte W24 + .byte N72 , Cs3 , v064 + .byte W48 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N72 , Cn3 + .byte W48 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N72 , Bn2 + .byte W48 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N72 , As2 + .byte W48 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W48 + .byte N04 , Dn4 , v080 + .byte W16 + .byte N08 , Dn3 , v096 + .byte W08 + .byte GOTO + .word mus_b_tube_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_b_tube_6: + .byte KEYSH , mus_b_tube_key+0 + .byte VOICE , 1 + .byte PAN , c_v-8 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte BEND , c_v+0 + .byte W72 +mus_b_tube_6_B1: + .byte W48 + .byte PAN , c_v+42 + .byte VOL , 29*mus_b_tube_mvl/mxv + .byte N16 , En2 , v040 + .byte W16 + .byte N08 , Fs2 + .byte W08 + .byte N24 , Gs2 + .byte W24 + .byte N40 , An2 + .byte W40 + .byte N32 , En3 + .byte W08 + .byte W24 + .byte N40 , Gs2 + .byte W40 + .byte N32 , En3 + .byte W08 + .byte W24 + .byte N40 , Gn2 + .byte W40 + .byte N32 , En3 + .byte W08 + .byte W24 + .byte N24 , Fs2 + .byte W24 + .byte En3 + .byte W24 + .byte Dn3 + .byte W24 + .byte N40 , Fn2 + .byte W40 + .byte N32 , Dn3 + .byte W08 + .byte W24 + .byte N40 , En2 + .byte W40 + .byte N32 , Cn3 + .byte W08 + .byte W24 + .byte N40 , Ds2 + .byte W40 + .byte N32 , Cn3 + .byte W08 + .byte W24 + .byte N40 , En2 + .byte W40 + .byte N56 , Bn2 + .byte W08 + .byte W72 + .byte W24 + .byte N16 , An2 + .byte W16 + .byte N04 , En3 + .byte W32 + .byte N16 , En2 + .byte N16 , Cn3 + .byte W16 + .byte N08 , An2 + .byte W08 + .byte N16 , Gs2 + .byte W16 + .byte N04 , En3 + .byte W24 + .byte N16 , Gs2 + .byte W08 + .byte W08 + .byte N04 , En3 + .byte W08 + .byte N08 , Gs2 + .byte W08 + .byte N16 , Gn2 + .byte W16 + .byte N04 , Gn3 + .byte W08 + .byte N16 , En3 + .byte W16 + .byte N04 , Cn3 + .byte W08 + .byte N16 , An2 + .byte W16 + .byte N04 , Gn2 + .byte W08 + .byte N16 , Fs2 + .byte W16 + .byte N04 , Fs3 + .byte W24 + .byte N08 , Fs2 + .byte W08 + .byte N04 , Fs3 + .byte W16 + .byte N08 , Fs2 + .byte W08 + .byte N16 , Fn2 + .byte W16 + .byte N04 , Dn3 + .byte W24 + .byte N08 , Fn2 + .byte W08 + .byte N04 , An3 + .byte W16 + .byte N08 , Fn2 + .byte W08 + .byte N24 , En2 + .byte W24 + .byte N16 , En3 + .byte W24 + .byte An2 + .byte W24 + .byte Ds2 + .byte W16 + .byte N04 , Ds3 + .byte W24 + .byte N08 , An2 + .byte W08 + .byte BEND , c_v+0 + .byte N04 , An3 + .byte W16 + .byte N08 , Fs3 + .byte W08 + .byte N16 , En2 + .byte W16 + .byte N04 , Gs3 + .byte W08 + .byte VOICE , 17 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte PAN , c_v-8 + .byte BEND , c_v+1 + .byte N08 , En4 , v080 + .byte W08 + .byte Gs4 + .byte W08 + .byte Bn4 + .byte W08 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte N48 , Cn5 + .byte W04 + .byte BEND , c_v-5 + .byte W04 + .byte c_v+0 + .byte W16 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte W02 + .byte 29*mus_b_tube_mvl/mxv + .byte W02 + .byte 27*mus_b_tube_mvl/mxv + .byte W02 + .byte 25*mus_b_tube_mvl/mxv + .byte W02 + .byte 23*mus_b_tube_mvl/mxv + .byte W02 + .byte 20*mus_b_tube_mvl/mxv + .byte W02 + .byte 18*mus_b_tube_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 16*mus_b_tube_mvl/mxv + .byte W02 + .byte 12*mus_b_tube_mvl/mxv + .byte W04 + .byte 11*mus_b_tube_mvl/mxv + .byte W02 + .byte 9*mus_b_tube_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte N24 , An4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N48 , Gs4 + .byte W12 + .byte BEND , c_v-5 + .byte W04 + .byte c_v+0 + .byte W10 + .byte VOL , 29*mus_b_tube_mvl/mxv + .byte W02 + .byte 27*mus_b_tube_mvl/mxv + .byte W02 + .byte 25*mus_b_tube_mvl/mxv + .byte W02 + .byte 24*mus_b_tube_mvl/mxv + .byte W02 + .byte 22*mus_b_tube_mvl/mxv + .byte W02 + .byte 20*mus_b_tube_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 19*mus_b_tube_mvl/mxv + .byte W02 + .byte 18*mus_b_tube_mvl/mxv + .byte W02 + .byte 16*mus_b_tube_mvl/mxv + .byte W02 + .byte 14*mus_b_tube_mvl/mxv + .byte W02 + .byte 12*mus_b_tube_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W16 + .byte N08 , Bn4 + .byte W08 + .byte Cn5 + .byte W16 + .byte An4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Cn4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N08 , An4 + .byte W08 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte N48 , Gs4 + .byte W12 + .byte BEND , c_v-6 + .byte W08 + .byte c_v+0 + .byte W04 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte W02 + .byte 30*mus_b_tube_mvl/mxv + .byte W02 + .byte 29*mus_b_tube_mvl/mxv + .byte W02 + .byte 28*mus_b_tube_mvl/mxv + .byte W02 + .byte 25*mus_b_tube_mvl/mxv + .byte W02 + .byte 24*mus_b_tube_mvl/mxv + .byte W02 + .byte 22*mus_b_tube_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 20*mus_b_tube_mvl/mxv + .byte W02 + .byte 18*mus_b_tube_mvl/mxv + .byte W02 + .byte 16*mus_b_tube_mvl/mxv + .byte W02 + .byte 14*mus_b_tube_mvl/mxv + .byte W02 + .byte 12*mus_b_tube_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte PAN , c_v-8 + .byte N08 , Fn4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Bn4 + .byte W08 + .byte BEND , c_v-5 + .byte N40 , Cn5 + .byte W04 + .byte BEND , c_v+0 + .byte W20 + .byte VOL , 30*mus_b_tube_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 27*mus_b_tube_mvl/mxv + .byte W02 + .byte 24*mus_b_tube_mvl/mxv + .byte W02 + .byte 20*mus_b_tube_mvl/mxv + .byte W02 + .byte 16*mus_b_tube_mvl/mxv + .byte W02 + .byte 12*mus_b_tube_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte W02 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte W02 + .byte N04 , En5 + .byte W08 + .byte N08 , Fs4 + .byte W08 + .byte N04 , An4 + .byte W08 + .byte Ds4 + .byte W08 + .byte N48 , Gs4 + .byte W12 + .byte BEND , c_v-5 + .byte W04 + .byte c_v+0 + .byte W08 + .byte VOL , 30*mus_b_tube_mvl/mxv + .byte W02 + .byte 29*mus_b_tube_mvl/mxv + .byte W02 + .byte 27*mus_b_tube_mvl/mxv + .byte W02 + .byte 25*mus_b_tube_mvl/mxv + .byte W02 + .byte 23*mus_b_tube_mvl/mxv + .byte W02 + .byte 22*mus_b_tube_mvl/mxv + .byte W02 + .byte 20*mus_b_tube_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 18*mus_b_tube_mvl/mxv + .byte W02 + .byte 16*mus_b_tube_mvl/mxv + .byte W02 + .byte 14*mus_b_tube_mvl/mxv + .byte W02 + .byte 12*mus_b_tube_mvl/mxv + .byte W02 + .byte 11*mus_b_tube_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte W16 + .byte N08 , Bn4 + .byte W08 + .byte Cn5 + .byte W16 + .byte An4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Cn4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N08 , Fs4 + .byte W08 + .byte BEND , c_v-5 + .byte N48 , Fn4 + .byte W04 + .byte BEND , c_v+0 + .byte W20 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte W02 + .byte 29*mus_b_tube_mvl/mxv + .byte W02 + .byte 27*mus_b_tube_mvl/mxv + .byte W02 + .byte 25*mus_b_tube_mvl/mxv + .byte W02 + .byte 23*mus_b_tube_mvl/mxv + .byte W02 + .byte 22*mus_b_tube_mvl/mxv + .byte W02 + .byte 19*mus_b_tube_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 18*mus_b_tube_mvl/mxv + .byte W02 + .byte 16*mus_b_tube_mvl/mxv + .byte W02 + .byte 14*mus_b_tube_mvl/mxv + .byte W02 + .byte 12*mus_b_tube_mvl/mxv + .byte W02 + .byte 11*mus_b_tube_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N24 , Gs4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N04 , En4 + .byte W08 + .byte Fn4 + .byte W08 + .byte En4 + .byte W08 + .byte Fn4 + .byte W08 + .byte En4 + .byte W08 + .byte Fn4 + .byte W08 + .byte En4 + .byte W08 + .byte Fn4 + .byte W08 + .byte En4 + .byte W08 + .byte BEND , c_v-5 + .byte N16 , Fn4 + .byte W02 + .byte BEND , c_v+0 + .byte W14 + .byte N04 , En4 + .byte W08 + .byte N04 + .byte W08 + .byte Fn4 + .byte W08 + .byte En4 + .byte W08 + .byte BEND , c_v-5 + .byte N16 , Fn4 + .byte W02 + .byte BEND , c_v+0 + .byte W14 + .byte N04 , En4 + .byte W08 + .byte N16 , Fn4 + .byte W16 + .byte N04 , Gn4 + .byte W08 + .byte BEND , c_v-5 + .byte N16 , Fn4 + .byte W02 + .byte BEND , c_v+0 + .byte W14 + .byte N04 , En4 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N04 , Bn3 + .byte W08 + .byte N08 , Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N56 , En4 + .byte W32 + .byte VOL , 30*mus_b_tube_mvl/mxv + .byte W02 + .byte 29*mus_b_tube_mvl/mxv + .byte W02 + .byte 27*mus_b_tube_mvl/mxv + .byte W02 + .byte 25*mus_b_tube_mvl/mxv + .byte W02 + .byte 24*mus_b_tube_mvl/mxv + .byte W02 + .byte 22*mus_b_tube_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 20*mus_b_tube_mvl/mxv + .byte W02 + .byte 18*mus_b_tube_mvl/mxv + .byte W02 + .byte 18*mus_b_tube_mvl/mxv + .byte W02 + .byte 14*mus_b_tube_mvl/mxv + .byte W02 + .byte 12*mus_b_tube_mvl/mxv + .byte W04 + .byte 32*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte W24 + .byte VOICE , 1 + .byte W24 + .byte N16 , An2 , v040 + .byte W16 + .byte N08 , Cn3 + .byte W08 + .byte PAN , c_v+37 + .byte N16 , Ds3 + .byte W16 + .byte N08 , Fs3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Gs2 + .byte W08 + .byte Bn2 + .byte W08 + .byte N16 , Dn3 + .byte W16 + .byte N08 , Fn3 + .byte W08 + .byte N16 , Gs3 + .byte W16 + .byte N08 , Dn3 + .byte W32 + .byte N16 , An2 + .byte W16 + .byte N08 , An3 + .byte W08 + .byte N16 , Fs3 + .byte W16 + .byte N08 , Ds3 + .byte W08 + .byte Bn2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Dn3 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N08 , Dn3 + .byte W08 + .byte N16 , Gs3 + .byte W16 + .byte N08 , Fn3 + .byte W08 + .byte En2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Bn2 + .byte W08 + .byte N16 , Dn3 + .byte W16 + .byte N08 , En3 + .byte W08 + .byte GOTO + .word mus_b_tube_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_b_tube_7: + .byte KEYSH , mus_b_tube_key+0 + .byte VOICE , 82 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 2 + .byte PAN , c_v-1 + .byte BEND , c_v+1 + .byte W72 +mus_b_tube_7_B1: + .byte VOICE , 82 + .byte MOD , 2 + .byte PAN , c_v+0 + .byte W72 + .byte W16 + .byte N04 , En2 , v040 + .byte W08 + .byte N16 , Ds2 + .byte W04 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte W12 + .byte 37*mus_b_tube_mvl/mxv + .byte N04 , En2 + .byte W08 + .byte N16 , Ds2 + .byte W04 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte W12 + .byte 37*mus_b_tube_mvl/mxv + .byte N04 , En2 + .byte W08 + .byte N16 , Ds2 + .byte W04 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte W12 + .byte 37*mus_b_tube_mvl/mxv + .byte N04 , En2 + .byte W08 + .byte N16 , Ds2 + .byte W04 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte W12 + .byte 37*mus_b_tube_mvl/mxv + .byte N04 , En2 + .byte W08 + .byte N16 , Ds2 + .byte W04 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte W12 + .byte 37*mus_b_tube_mvl/mxv + .byte N04 , En2 + .byte W08 + .byte N16 , Bn2 + .byte W04 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte W12 + .byte 37*mus_b_tube_mvl/mxv + .byte N04 , En2 + .byte W08 + .byte N16 , Ds2 + .byte W04 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte W12 + .byte 37*mus_b_tube_mvl/mxv + .byte N04 , En2 + .byte W08 + .byte N16 , Ds2 + .byte W04 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte W12 + .byte 37*mus_b_tube_mvl/mxv + .byte N04 , En2 + .byte W08 + .byte N40 , Dn2 + .byte W12 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte MOD , 7 + .byte W28 + .byte 2 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 + .byte W04 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte W12 + .byte 37*mus_b_tube_mvl/mxv + .byte N08 , En2 + .byte W08 + .byte N24 , Fn2 + .byte W06 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte W12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 2 + .byte W16 + .byte N08 + .byte W08 + .byte N16 , Gn2 + .byte W04 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte W12 + .byte N08 , Fn2 + .byte W02 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte W06 + .byte N40 , En2 + .byte W06 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte W28 + .byte 2 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Cn2 + .byte W04 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte W12 + .byte N08 , En2 + .byte W02 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte W06 + .byte N24 , Ds2 + .byte W06 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte W12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 2 + .byte N24 , An1 + .byte W06 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte W12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 2 + .byte N16 , Cn2 + .byte W04 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte W12 + .byte 37*mus_b_tube_mvl/mxv + .byte N08 , Ds2 + .byte W08 + .byte N48 , En2 + .byte W06 + .byte VOL , 31*mus_b_tube_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte W36 + .byte 2 + .byte W24 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte W72 + .byte W16 + .byte N04 , En3 + .byte W08 + .byte N16 , Ds3 + .byte W04 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W12 + .byte 37*mus_b_tube_mvl/mxv + .byte N04 , En3 + .byte W08 + .byte N16 , Ds3 + .byte W04 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W12 + .byte 37*mus_b_tube_mvl/mxv + .byte N04 , En3 + .byte W08 + .byte N08 , Ds3 + .byte W08 + .byte N04 , En3 + .byte W08 + .byte Ds3 + .byte W08 + .byte N16 , En3 + .byte W04 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W12 + .byte 37*mus_b_tube_mvl/mxv + .byte N04 , Ds3 + .byte W08 + .byte N16 , En3 + .byte W04 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W12 + .byte 37*mus_b_tube_mvl/mxv + .byte N04 , Ds3 + .byte W08 + .byte N08 , Bn3 + .byte W08 + .byte N04 , An3 + .byte W08 + .byte Ds3 + .byte W08 + .byte N08 + .byte W08 + .byte N04 , En3 + .byte W08 + .byte Ds3 + .byte W08 + .byte N16 , En3 + .byte W04 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W12 + .byte 37*mus_b_tube_mvl/mxv + .byte N04 , Gn3 + .byte W08 + .byte N40 , Fs3 + .byte W06 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte W28 + .byte 2 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Dn3 + .byte W04 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W12 + .byte 37*mus_b_tube_mvl/mxv + .byte N08 , En3 + .byte W08 + .byte N24 , Fn3 + .byte W06 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte W12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 2 + .byte W16 + .byte N08 + .byte W08 + .byte N16 , Gn3 + .byte W04 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W12 + .byte 37*mus_b_tube_mvl/mxv + .byte N08 , An3 + .byte W08 + .byte N40 , En3 + .byte W06 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte W28 + .byte 2 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Cn3 + .byte W04 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W12 + .byte 37*mus_b_tube_mvl/mxv + .byte N08 , En3 + .byte W08 + .byte N24 , Ds3 + .byte W06 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte W12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 2 + .byte N24 , An2 + .byte W06 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte W12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 2 + .byte N16 , Ds3 + .byte W04 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W12 + .byte 37*mus_b_tube_mvl/mxv + .byte N08 , Fs3 + .byte W08 + .byte N48 , Gs3 + .byte W06 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte W36 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 2 + .byte W24 + .byte PAN , c_v-64 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte VOICE , 81 + .byte BEND , c_v+0 + .byte N72 , As2 , v064 + .byte W48 + .byte VOL , 35*mus_b_tube_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W02 + .byte 30*mus_b_tube_mvl/mxv + .byte W02 + .byte 27*mus_b_tube_mvl/mxv + .byte W02 + .byte 23*mus_b_tube_mvl/mxv + .byte W02 + .byte 20*mus_b_tube_mvl/mxv + .byte W02 + .byte 18*mus_b_tube_mvl/mxv + .byte W02 + .byte 15*mus_b_tube_mvl/mxv + .byte W02 + .byte 12*mus_b_tube_mvl/mxv + .byte W02 + .byte 9*mus_b_tube_mvl/mxv + .byte W02 + .byte 5*mus_b_tube_mvl/mxv + .byte W02 + .byte 1*mus_b_tube_mvl/mxv + .byte W02 + .byte 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte N72 , An2 + .byte W48 + .byte VOL , 35*mus_b_tube_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W02 + .byte 30*mus_b_tube_mvl/mxv + .byte W02 + .byte 27*mus_b_tube_mvl/mxv + .byte W02 + .byte 23*mus_b_tube_mvl/mxv + .byte W02 + .byte 20*mus_b_tube_mvl/mxv + .byte W02 + .byte 18*mus_b_tube_mvl/mxv + .byte W02 + .byte 15*mus_b_tube_mvl/mxv + .byte W02 + .byte 12*mus_b_tube_mvl/mxv + .byte W02 + .byte 9*mus_b_tube_mvl/mxv + .byte W02 + .byte 5*mus_b_tube_mvl/mxv + .byte W02 + .byte 1*mus_b_tube_mvl/mxv + .byte W02 + .byte 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte N72 , Gs2 + .byte W48 + .byte VOL , 35*mus_b_tube_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W02 + .byte 30*mus_b_tube_mvl/mxv + .byte W02 + .byte 27*mus_b_tube_mvl/mxv + .byte W02 + .byte 23*mus_b_tube_mvl/mxv + .byte W02 + .byte 20*mus_b_tube_mvl/mxv + .byte W02 + .byte 18*mus_b_tube_mvl/mxv + .byte W02 + .byte 15*mus_b_tube_mvl/mxv + .byte W02 + .byte 12*mus_b_tube_mvl/mxv + .byte W02 + .byte 9*mus_b_tube_mvl/mxv + .byte W02 + .byte 5*mus_b_tube_mvl/mxv + .byte W02 + .byte 1*mus_b_tube_mvl/mxv + .byte W02 + .byte 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte N72 , Gn2 + .byte W48 + .byte VOL , 35*mus_b_tube_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W02 + .byte 30*mus_b_tube_mvl/mxv + .byte W02 + .byte 27*mus_b_tube_mvl/mxv + .byte W02 + .byte 23*mus_b_tube_mvl/mxv + .byte W02 + .byte 20*mus_b_tube_mvl/mxv + .byte W02 + .byte 18*mus_b_tube_mvl/mxv + .byte W02 + .byte 15*mus_b_tube_mvl/mxv + .byte W02 + .byte 12*mus_b_tube_mvl/mxv + .byte W02 + .byte 9*mus_b_tube_mvl/mxv + .byte W02 + .byte 5*mus_b_tube_mvl/mxv + .byte W02 + .byte 1*mus_b_tube_mvl/mxv + .byte W02 + .byte 37*mus_b_tube_mvl/mxv + .byte BEND , c_v+1 + .byte W24 + .byte N16 , An2 , v052 + .byte W04 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W12 + .byte N08 , Cn3 + .byte W02 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte W06 + .byte N16 , Ds3 + .byte W04 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W12 + .byte N08 , Fs3 + .byte W02 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte W06 + .byte N08 , Bn3 + .byte W08 + .byte Gs2 + .byte W08 + .byte Bn2 + .byte W08 + .byte N16 , Dn3 + .byte W06 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W10 + .byte N08 , Fn3 + .byte W04 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte W04 + .byte N16 , Gs3 + .byte W04 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W12 + .byte N08 , Dn3 + .byte W02 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte W06 + .byte W24 + .byte N16 , An2 + .byte W04 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W12 + .byte N08 , An3 + .byte W02 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte W06 + .byte N16 , Fs3 + .byte W04 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W12 + .byte N08 , Ds3 + .byte W02 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte W06 + .byte N08 , Bn2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Dn3 + .byte W08 + .byte N16 , Fn3 + .byte W04 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W12 + .byte N08 , Dn3 + .byte W02 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte W06 + .byte N16 , Gs3 + .byte W04 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W12 + .byte N08 , Fn3 + .byte W02 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte W06 + .byte BEND , c_v+0 + .byte W72 + .byte GOTO + .word mus_b_tube_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_b_tube_8: + .byte KEYSH , mus_b_tube_key+0 + .byte VOICE , 80 + .byte LFOS , 52 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte PAN , c_v+63 + .byte BEND , c_v+0 + .byte N72 , En2 , v072 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W28 + .byte MOD , 10 + .byte W12 + .byte BEND , c_v-8 + .byte W02 + .byte c_v-13 + .byte W04 + .byte c_v-16 + .byte W02 + .byte c_v-24 + .byte W04 + .byte c_v-30 + .byte W02 + .byte c_v-45 + .byte W04 + .byte c_v-57 + .byte W02 + .byte c_v-63 + .byte W04 +mus_b_tube_8_B1: + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v+63 + .byte BEND , c_v+0 + .byte N72 , En1 , v072 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W40 + .byte MOD , 10 + .byte W24 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N40 , An1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W16 + .byte MOD , 10 + .byte W24 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte N24 , En1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W04 + .byte MOD , 10 + .byte W12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte N40 , Gs1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W16 + .byte MOD , 10 + .byte W24 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte N24 , En2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W04 + .byte MOD , 10 + .byte W12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte N08 , Cn2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte N04 , An1 + .byte W08 + .byte En1 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Gn1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , En2 + .byte W04 + .byte BEND , c_v-7 + .byte W02 + .byte c_v-16 + .byte W02 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte BEND , c_v-28 + .byte W02 + .byte c_v-37 + .byte W02 + .byte c_v-46 + .byte W02 + .byte c_v-53 + .byte W02 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N08 , En1 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N24 , Fs1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W04 + .byte MOD , 10 + .byte W12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte N16 , Dn2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , Cn2 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Dn1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W08 + .byte N08 , En1 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N40 , Fn1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W16 + .byte MOD , 10 + .byte W16 + .byte 0 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N24 , Dn1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W04 + .byte MOD , 10 + .byte W12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte N40 , En1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W16 + .byte MOD , 10 + .byte W16 + .byte 0 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N24 , Cn1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W04 + .byte MOD , 10 + .byte W12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte N40 , Ds1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W16 + .byte MOD , 10 + .byte W16 + .byte 0 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N24 , Cn1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W04 + .byte MOD , 10 + .byte W12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte N40 , En1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W16 + .byte MOD , 10 + .byte W16 + .byte 0 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N24 , An1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W04 + .byte MOD , 10 + .byte W12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte N24 , En2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W04 + .byte MOD , 10 + .byte BEND , c_v-5 + .byte W02 + .byte c_v-12 + .byte W02 + .byte c_v-19 + .byte W02 + .byte c_v-27 + .byte W02 + .byte c_v-39 + .byte W02 + .byte c_v-43 + .byte W02 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N24 , En1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W04 + .byte MOD , 10 + .byte W12 + .byte 0 + .byte N16 + .byte W16 + .byte N08 , Gs1 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte BEND , c_v+0 + .byte N24 , An1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W04 + .byte MOD , 10 + .byte W12 + .byte 0 + .byte W16 + .byte N08 , En2 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Cn2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , An1 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Gs1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte W32 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N24 , En1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W04 + .byte MOD , 10 + .byte W12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte N08 , Cn2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte N04 , An1 + .byte W08 + .byte En1 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Gn1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N24 , En2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W04 + .byte MOD , 10 + .byte W12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte N24 , Fs1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W04 + .byte MOD , 10 + .byte W12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte N16 , Dn2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N04 , Cn2 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Dn1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W08 + .byte N08 , En1 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte BEND , c_v+0 + .byte N16 , Fn1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W08 + .byte 37*mus_b_tube_mvl/mxv + .byte N16 , Dn2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte BEND , c_v-9 + .byte W02 + .byte c_v-16 + .byte W02 + .byte c_v-26 + .byte W02 + .byte c_v-39 + .byte W02 + .byte MOD , 0 + .byte BEND , c_v-48 + .byte W02 + .byte c_v-53 + .byte W04 + .byte c_v+0 + .byte W10 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte BEND , c_v+0 + .byte N24 , Dn1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W04 + .byte MOD , 10 + .byte W12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte N24 , En1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W04 + .byte MOD , 10 + .byte W12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte N16 , Cn2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W08 + .byte N04 , Fs1 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N24 , Cn1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W04 + .byte MOD , 10 + .byte W12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte N16 , Ds1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte W32 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N24 , Cn1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W04 + .byte MOD , 10 + .byte W12 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte N40 , En1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W16 + .byte MOD , 10 + .byte BEND , c_v-3 + .byte W02 + .byte c_v-4 + .byte W02 + .byte c_v-6 + .byte W02 + .byte c_v-10 + .byte W02 + .byte c_v-14 + .byte W02 + .byte c_v-16 + .byte W02 + .byte c_v-20 + .byte W02 + .byte c_v-22 + .byte W02 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N08 , Dn1 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Bn1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , Gs1 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , An1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N06 , En1 + .byte W24 + .byte N08 , Fs2 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Ds2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , Cn2 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Dn2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , Bn1 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Fn1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N04 , Bn1 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Fn2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N04 , Dn2 + .byte W08 + .byte N08 , An1 + .byte W08 + .byte N06 , Gs1 + .byte W08 + .byte An1 + .byte W16 + .byte N08 , En1 + .byte W08 + .byte Fs2 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Ds2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , Cn2 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N08 , Dn2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte N08 , Bn1 + .byte W08 + .byte Gs1 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Fn1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N04 , Bn1 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Fn2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W08 + .byte N04 , Dn2 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , An1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N04 , Ds1 + .byte W24 + .byte N08 , Ds2 + .byte W24 + .byte Cn2 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N08 , Dn2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte N08 , Bn1 + .byte W08 + .byte Gs1 + .byte W08 + .byte N16 , Fn1 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , Bn1 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Fn2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , Dn2 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , An1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte W24 + .byte N08 , Fs2 + .byte W16 + .byte N04 , An2 + .byte W08 + .byte N08 , Cn2 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N08 , Dn2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte N08 , Bn1 + .byte W08 + .byte Gs1 + .byte W08 + .byte N16 , Fn1 + .byte W08 + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , Bn1 + .byte W08 + .byte N04 , Fn2 + .byte W16 + .byte N08 , Dn2 + .byte W08 + .byte PAN , c_v+63 + .byte BEND , c_v+0 + .byte N72 , En3 , v092 + .byte W48 + .byte VOL , 35*mus_b_tube_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W02 + .byte 30*mus_b_tube_mvl/mxv + .byte W02 + .byte 27*mus_b_tube_mvl/mxv + .byte W02 + .byte 23*mus_b_tube_mvl/mxv + .byte W02 + .byte 20*mus_b_tube_mvl/mxv + .byte W02 + .byte 18*mus_b_tube_mvl/mxv + .byte W02 + .byte 15*mus_b_tube_mvl/mxv + .byte W02 + .byte 12*mus_b_tube_mvl/mxv + .byte W02 + .byte 9*mus_b_tube_mvl/mxv + .byte W02 + .byte 5*mus_b_tube_mvl/mxv + .byte W02 + .byte 1*mus_b_tube_mvl/mxv + .byte W02 + .byte 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte N72 , Ds3 , v064 + .byte W48 + .byte VOL , 35*mus_b_tube_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W02 + .byte 30*mus_b_tube_mvl/mxv + .byte W02 + .byte 27*mus_b_tube_mvl/mxv + .byte W02 + .byte 23*mus_b_tube_mvl/mxv + .byte W02 + .byte 20*mus_b_tube_mvl/mxv + .byte W02 + .byte 18*mus_b_tube_mvl/mxv + .byte W02 + .byte 15*mus_b_tube_mvl/mxv + .byte W02 + .byte 12*mus_b_tube_mvl/mxv + .byte W02 + .byte 9*mus_b_tube_mvl/mxv + .byte W02 + .byte 5*mus_b_tube_mvl/mxv + .byte W02 + .byte 1*mus_b_tube_mvl/mxv + .byte W02 + .byte 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte N72 , Dn3 + .byte W48 + .byte VOL , 35*mus_b_tube_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W02 + .byte 30*mus_b_tube_mvl/mxv + .byte W02 + .byte 27*mus_b_tube_mvl/mxv + .byte W02 + .byte 23*mus_b_tube_mvl/mxv + .byte W02 + .byte 20*mus_b_tube_mvl/mxv + .byte W02 + .byte 18*mus_b_tube_mvl/mxv + .byte W02 + .byte 15*mus_b_tube_mvl/mxv + .byte W02 + .byte 12*mus_b_tube_mvl/mxv + .byte W02 + .byte 9*mus_b_tube_mvl/mxv + .byte W02 + .byte 5*mus_b_tube_mvl/mxv + .byte W02 + .byte 1*mus_b_tube_mvl/mxv + .byte W02 + .byte 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N72 , Cs3 + .byte W48 + .byte VOL , 35*mus_b_tube_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 32*mus_b_tube_mvl/mxv + .byte W02 + .byte 30*mus_b_tube_mvl/mxv + .byte W02 + .byte 27*mus_b_tube_mvl/mxv + .byte W02 + .byte 23*mus_b_tube_mvl/mxv + .byte W02 + .byte 20*mus_b_tube_mvl/mxv + .byte W02 + .byte 18*mus_b_tube_mvl/mxv + .byte BEND , c_v-10 + .byte W02 + .byte VOL , 15*mus_b_tube_mvl/mxv + .byte BEND , c_v-15 + .byte W02 + .byte VOL , 12*mus_b_tube_mvl/mxv + .byte BEND , c_v-25 + .byte W02 + .byte VOL , 9*mus_b_tube_mvl/mxv + .byte BEND , c_v-42 + .byte W02 + .byte VOL , 5*mus_b_tube_mvl/mxv + .byte BEND , c_v-50 + .byte W02 + .byte VOL , 1*mus_b_tube_mvl/mxv + .byte W02 + .byte 37*mus_b_tube_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N40 , An1 , v072 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W16 + .byte MOD , 10 + .byte W16 + .byte 0 + .byte N08 , Fs2 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Ds2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , Cn2 + .byte W08 +mus_b_tube_8_000: + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N08 , Dn2 , v072 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte N08 , Bn1 + .byte W08 + .byte Gs1 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Fn1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , Bn1 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Fn2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , Dn2 + .byte W08 + .byte PEND + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N40 , An1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W16 + .byte MOD , 10 + .byte W16 + .byte 0 + .byte N08 , Fs2 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , Ds2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W08 + .byte N08 , Cn2 + .byte W08 + .byte PATT + .word mus_b_tube_8_000 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N08 , En2 , v072 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte N08 , Bn1 + .byte W08 + .byte Gs1 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N16 , En1 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte MOD , 10 + .byte W08 + .byte 0 + .byte N08 , En2 + .byte W08 + .byte VOL , 37*mus_b_tube_mvl/mxv + .byte N04 , Gs2 + .byte W08 + .byte VOL , 25*mus_b_tube_mvl/mxv + .byte W08 + .byte N08 , Gs1 + .byte W08 + .byte GOTO + .word mus_b_tube_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_b_tube_9: + .byte KEYSH , mus_b_tube_key+0 + .byte VOICE , 0 + .byte VOL , 88*mus_b_tube_mvl/mxv + .byte PAN , c_v+0 + .byte W72 +mus_b_tube_9_B1: + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W24 + .byte N04 , En1 , v112 + .byte W08 + .byte Cn1 + .byte W16 + .byte N04 + .byte W16 + .byte En1 + .byte W08 +mus_b_tube_9_000: + .byte N04 , Cn1 , v112 + .byte W40 + .byte N04 + .byte W08 + .byte En1 + .byte W24 + .byte PEND + .byte W72 + .byte PATT + .word mus_b_tube_9_000 + .byte W72 + .byte PATT + .word mus_b_tube_9_000 + .byte W72 + .byte PATT + .word mus_b_tube_9_000 + .byte W72 + .byte PATT + .word mus_b_tube_9_000 + .byte W72 + .byte PATT + .word mus_b_tube_9_000 + .byte W72 + .byte PATT + .word mus_b_tube_9_000 + .byte W72 + .byte PATT + .word mus_b_tube_9_000 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte PATT + .word mus_b_tube_9_000 + .byte W72 + .byte PATT + .word mus_b_tube_9_000 + .byte W72 + .byte PATT + .word mus_b_tube_9_000 + .byte GOTO + .word mus_b_tube_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_b_tube_10: + .byte KEYSH , mus_b_tube_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 50*mus_b_tube_mvl/mxv + .byte PAN , c_v+0 + .byte W72 +mus_b_tube_10_B1: + .byte N02 , Cn5 , v048 + .byte W08 + .byte Cn5 , v032 + .byte W08 + .byte Cn5 , v044 + .byte W08 + .byte Cn5 , v048 + .byte W16 + .byte Cn5 , v032 + .byte W08 + .byte VOICE , 126 + .byte N24 , Gn5 + .byte W24 +mus_b_tube_10_000: + .byte VOICE , 127 + .byte N02 , Cn5 , v048 + .byte W16 + .byte Cn5 , v024 + .byte W08 + .byte Cn5 , v048 + .byte W16 + .byte Cn5 , v024 + .byte W08 + .byte Cn5 , v048 + .byte W16 + .byte Cn5 , v024 + .byte W08 + .byte PEND +mus_b_tube_10_001: + .byte N02 , Cn5 , v048 + .byte W16 + .byte Cn5 , v024 + .byte W08 + .byte Cn5 , v048 + .byte W16 + .byte Cn5 , v024 + .byte W08 + .byte Cn5 , v048 + .byte W16 + .byte Cn5 , v024 + .byte W08 + .byte PEND + .byte PATT + .word mus_b_tube_10_001 + .byte PATT + .word mus_b_tube_10_001 + .byte PATT + .word mus_b_tube_10_001 + .byte PATT + .word mus_b_tube_10_001 + .byte PATT + .word mus_b_tube_10_001 + .byte PATT + .word mus_b_tube_10_001 + .byte N02 , Cn5 , v048 + .byte W16 + .byte Cn5 , v024 + .byte W08 + .byte VOICE , 126 + .byte N24 , Gn5 , v032 + .byte W24 + .byte VOICE , 127 + .byte W24 + .byte PATT + .word mus_b_tube_10_001 +mus_b_tube_10_002: + .byte N02 , Cn5 , v048 + .byte W16 + .byte Cn5 , v024 + .byte W08 + .byte Cn5 , v048 + .byte W16 + .byte Cn5 , v024 + .byte W08 + .byte VOICE , 126 + .byte N24 , Gn5 , v032 + .byte W24 + .byte PEND + .byte PATT + .word mus_b_tube_10_000 + .byte PATT + .word mus_b_tube_10_002 + .byte PATT + .word mus_b_tube_10_001 + .byte PATT + .word mus_b_tube_10_002 + .byte PATT + .word mus_b_tube_10_000 + .byte PATT + .word mus_b_tube_10_002 + .byte PATT + .word mus_b_tube_10_000 + .byte PATT + .word mus_b_tube_10_002 + .byte PATT + .word mus_b_tube_10_000 + .byte PATT + .word mus_b_tube_10_002 + .byte PATT + .word mus_b_tube_10_000 + .byte PATT + .word mus_b_tube_10_002 + .byte PATT + .word mus_b_tube_10_000 + .byte PATT + .word mus_b_tube_10_002 + .byte VOICE , 127 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte PATT + .word mus_b_tube_10_001 + .byte PATT + .word mus_b_tube_10_002 + .byte PATT + .word mus_b_tube_10_000 + .byte PATT + .word mus_b_tube_10_002 + .byte PATT + .word mus_b_tube_10_000 + .byte GOTO + .word mus_b_tube_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_b_tube: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_b_tube_pri @ Priority + .byte mus_b_tube_rev @ Reverb. + + .word mus_b_tube_grp + + .word mus_b_tube_1 + .word mus_b_tube_2 + .word mus_b_tube_3 + .word mus_b_tube_4 + .word mus_b_tube_5 + .word mus_b_tube_6 + .word mus_b_tube_7 + .word mus_b_tube_8 + .word mus_b_tube_9 + .word mus_b_tube_10 + + .end diff --git a/sound/songs/mus_battle20.s b/sound/songs/mus_battle20.s new file mode 100644 index 0000000000..b9cce65182 --- /dev/null +++ b/sound/songs/mus_battle20.s @@ -0,0 +1,3176 @@ + .include "MPlayDef.s" + + .equ mus_battle20_grp, voicegroup_869AC70 + .equ mus_battle20_pri, 1 + .equ mus_battle20_rev, reverb_set+50 + .equ mus_battle20_mvl, 127 + .equ mus_battle20_key, 0 + .equ mus_battle20_tbs, 1 + .equ mus_battle20_exg, 0 + .equ mus_battle20_cmp, 1 + + .section .rodata + .global mus_battle20 + .align 2 + +@********************** Track 1 **********************@ + +mus_battle20_1: + .byte KEYSH , mus_battle20_key+0 + .byte TEMPO , 198*mus_battle20_tbs/2 + .byte VOICE , 1 + .byte PAN , c_v+15 + .byte VOL , 80*mus_battle20_mvl/mxv + .byte N06 , Cn5 , v076 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOICE , 17 + .byte N12 , Gn3 , v080 + .byte W36 + .byte As3 + .byte W36 + .byte Gs3 + .byte W24 + .byte Gn3 + .byte W12 + .byte Gs3 + .byte W24 + .byte As3 + .byte W36 + .byte N24 , Cs3 + .byte W24 + .byte N12 , Gn3 + .byte W36 + .byte As3 + .byte W36 + .byte Gs3 + .byte W24 + .byte Gn3 + .byte W12 + .byte Gs3 + .byte W24 + .byte As3 + .byte W36 + .byte N24 , Cs4 + .byte W24 + .byte VOICE , 48 + .byte PAN , c_v+6 + .byte N12 , Cn4 + .byte W36 + .byte Ds4 + .byte W36 + .byte Cs4 + .byte W24 + .byte Cn4 + .byte W12 + .byte Cs4 + .byte W24 + .byte Ds4 + .byte W36 + .byte N24 , Cs4 + .byte W24 + .byte N12 , Cn4 , v088 + .byte W36 + .byte Ds4 + .byte W36 + .byte Cs4 + .byte W24 + .byte Cn4 + .byte W12 + .byte Cs4 + .byte W24 + .byte Ds4 + .byte W36 + .byte N24 , Gn4 + .byte W24 +mus_battle20_1_B1: + .byte VOICE , 48 + .byte VOL , 80*mus_battle20_mvl/mxv + .byte N36 , Cn3 , v096 + .byte W36 + .byte Gn3 + .byte W36 + .byte N24 , Fn3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte En3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N96 , Cs4 + .byte W96 + .byte N48 + .byte W48 + .byte As3 + .byte W48 + .byte N36 , Cn3 + .byte W36 + .byte Gn3 + .byte W36 + .byte N24 , Fn3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N72 , Cs4 + .byte W72 + .byte N12 + .byte W12 + .byte Cn4 + .byte W12 + .byte N48 , Cs4 + .byte W48 + .byte Ds4 + .byte W48 + .byte N36 , Cn4 + .byte W36 + .byte As3 + .byte W36 + .byte N24 , Dn4 + .byte W24 + .byte N92 , Cn4 + .byte W48 + .byte VOL , 75*mus_battle20_mvl/mxv + .byte W06 + .byte 71*mus_battle20_mvl/mxv + .byte W06 + .byte 66*mus_battle20_mvl/mxv + .byte W06 + .byte 60*mus_battle20_mvl/mxv + .byte W06 + .byte 53*mus_battle20_mvl/mxv + .byte W06 + .byte 45*mus_battle20_mvl/mxv + .byte W06 + .byte 35*mus_battle20_mvl/mxv + .byte W06 + .byte 24*mus_battle20_mvl/mxv + .byte W06 + .byte 80*mus_battle20_mvl/mxv + .byte N48 , En2 + .byte W48 + .byte N36 , Fn2 + .byte W36 + .byte N12 , An2 + .byte W12 + .byte N36 , As2 + .byte W36 + .byte Dn3 + .byte W36 + .byte N24 , Bn2 + .byte W24 + .byte N36 , Cn3 + .byte W36 + .byte Gn2 + .byte W36 + .byte N24 , Fn2 + .byte W24 + .byte N96 , En2 + .byte W96 + .byte N48 + .byte W48 + .byte Fn2 + .byte W48 + .byte N36 , As2 + .byte W36 + .byte N24 , Fn2 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte As2 + .byte W12 + .byte An2 + .byte W12 + .byte N72 , Cn3 + .byte W72 + .byte N24 + .byte W24 + .byte N96 , En3 + .byte W96 + .byte N84 , Cn3 + .byte W84 + .byte N12 , En3 + .byte W12 + .byte N96 , Fn3 + .byte W96 + .byte N72 + .byte W72 + .byte N12 , En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N84 , En3 + .byte W84 + .byte N12 , Fn3 + .byte W12 + .byte N72 , Gn3 + .byte W72 + .byte N12 , As3 + .byte W12 + .byte An3 + .byte W12 + .byte N96 , As3 + .byte W96 + .byte N72 , Fn3 + .byte W72 + .byte N12 , En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N96 , Gn3 + .byte W96 + .byte VOICE , 48 + .byte N84 , Cn4 + .byte W84 + .byte N12 , En4 + .byte W12 + .byte N96 , Fn4 + .byte W96 + .byte N72 + .byte W72 + .byte N12 , En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N96 , En4 + .byte W96 + .byte N48 , Cn5 + .byte W48 + .byte Cn3 + .byte W48 + .byte Gn4 + .byte W48 + .byte Cs3 + .byte W48 + .byte Cn4 + .byte W48 + .byte Cn2 + .byte W48 + .byte Gn3 + .byte W48 + .byte Cs2 + .byte W48 + .byte VOICE , 47 + .byte PAN , c_v-32 + .byte N12 , Cn2 , v092 + .byte W12 + .byte En2 + .byte W24 + .byte Cn2 + .byte W12 + .byte En2 + .byte W12 + .byte N12 + .byte W12 + .byte Cn2 + .byte W12 + .byte N12 + .byte W12 + .byte En2 + .byte W12 + .byte Cn2 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , En2 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 + .byte W48 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte En2 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte Cn2 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte En2 + .byte W12 + .byte Cn2 + .byte W12 + .byte En2 + .byte W12 + .byte Cn2 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte En2 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte Cn2 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte En2 + .byte W12 + .byte N12 + .byte W12 + .byte Cn2 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte En2 + .byte W24 + .byte Cn2 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte VOICE , 48 + .byte PAN , c_v+6 + .byte N12 , As3 , v096 + .byte W12 + .byte TIE , Cn4 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , Cn3 , v076 + .byte W96 + .byte W48 + .byte VOL , 75*mus_battle20_mvl/mxv + .byte W06 + .byte 71*mus_battle20_mvl/mxv + .byte W06 + .byte 66*mus_battle20_mvl/mxv + .byte W06 + .byte 60*mus_battle20_mvl/mxv + .byte W06 + .byte 53*mus_battle20_mvl/mxv + .byte W06 + .byte 45*mus_battle20_mvl/mxv + .byte W06 + .byte 35*mus_battle20_mvl/mxv + .byte W06 + .byte 24*mus_battle20_mvl/mxv + .byte W03 + .byte EOT + .byte W03 + .byte VOICE , 60 + .byte VOL , 80*mus_battle20_mvl/mxv + .byte PAN , c_v+16 + .byte N96 , Fn2 , v096 + .byte W96 + .byte As2 + .byte W96 + .byte Gn2 + .byte W96 +mus_battle20_1_000: + .byte N92 , En2 , v096 + .byte W48 + .byte VOL , 75*mus_battle20_mvl/mxv + .byte W06 + .byte 71*mus_battle20_mvl/mxv + .byte W06 + .byte 66*mus_battle20_mvl/mxv + .byte W06 + .byte 60*mus_battle20_mvl/mxv + .byte W06 + .byte 53*mus_battle20_mvl/mxv + .byte W06 + .byte 45*mus_battle20_mvl/mxv + .byte W06 + .byte 35*mus_battle20_mvl/mxv + .byte W06 + .byte 24*mus_battle20_mvl/mxv + .byte W06 + .byte PEND + .byte 80*mus_battle20_mvl/mxv + .byte N96 , Fn2 + .byte W96 + .byte As2 + .byte W96 + .byte Gn2 + .byte W96 + .byte PATT + .word mus_battle20_1_000 + .byte VOICE , 17 + .byte VOL , 80*mus_battle20_mvl/mxv + .byte PAN , c_v+15 + .byte N12 , Gn3 , v088 + .byte W36 + .byte Gs3 + .byte W36 + .byte Gn2 + .byte W24 + .byte En3 + .byte W36 + .byte Fn3 + .byte W36 + .byte N24 , As2 + .byte W24 + .byte N12 , Gn3 + .byte W36 + .byte Gs3 + .byte W36 + .byte Gn2 + .byte W24 + .byte En3 + .byte W36 + .byte Fn3 + .byte W36 + .byte N24 , Gs3 + .byte W24 + .byte VOICE , 48 + .byte PAN , c_v+6 + .byte N48 , Cn4 , v096 + .byte W48 + .byte Cn3 + .byte W48 + .byte Gn3 + .byte W48 + .byte Cs3 + .byte W48 + .byte Cn4 + .byte W48 + .byte Cn3 + .byte W48 + .byte Cs4 + .byte W48 + .byte Cs3 + .byte W48 + .byte GOTO + .word mus_battle20_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_battle20_2: + .byte KEYSH , mus_battle20_key+0 + .byte VOICE , 48 + .byte LFOS , 20 + .byte PAN , c_v-14 + .byte VOL , 80*mus_battle20_mvl/mxv + .byte N06 , Gn5 , v064 + .byte W06 + .byte Fs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte VOICE , 17 + .byte N12 , Cn4 , v088 + .byte W36 + .byte Ds4 + .byte W36 + .byte Cs4 + .byte W24 + .byte Cn4 + .byte W12 + .byte Cs4 + .byte W24 + .byte Ds4 + .byte W36 + .byte N24 , Gs3 + .byte W24 + .byte N12 , Cn4 + .byte W36 + .byte Ds4 + .byte W36 + .byte Cs4 + .byte W24 + .byte Cn4 + .byte W12 + .byte Cs4 + .byte W24 + .byte Ds4 + .byte W36 + .byte N24 , Gs4 + .byte W24 + .byte PAN , c_v+0 + .byte N12 , Cn5 + .byte W36 + .byte Ds5 + .byte W36 + .byte Cs5 + .byte W24 + .byte Cn5 + .byte W12 + .byte Cs5 + .byte W24 + .byte Ds5 + .byte W36 + .byte N24 , Cs5 + .byte W24 + .byte N12 , Cn5 + .byte W36 + .byte Ds5 + .byte W36 + .byte Cs5 + .byte W24 + .byte Cn5 + .byte W12 + .byte Cs5 + .byte W24 + .byte Ds5 + .byte W36 + .byte N24 , Gn5 , v076 + .byte W24 +mus_battle20_2_B1: + .byte VOICE , 60 + .byte VOL , 80*mus_battle20_mvl/mxv + .byte PAN , c_v+0 + .byte N48 , Cn4 , v100 + .byte W48 + .byte As3 + .byte W48 + .byte N36 , Dn4 + .byte W36 + .byte N24 , Gn3 + .byte W24 + .byte N12 + .byte W12 + .byte Dn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N72 , Gs4 + .byte W72 + .byte N12 + .byte W12 + .byte Gn4 + .byte W12 + .byte N48 , Fn4 + .byte W48 + .byte Cs4 + .byte W48 + .byte VOICE , 56 + .byte N48 , Cn4 , v104 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N42 , As3 + .byte W21 + .byte MOD , 6 + .byte W21 + .byte 0 + .byte N06 , Cn4 + .byte W06 + .byte N36 , Dn4 + .byte W36 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte N12 + .byte W12 + .byte MOD , 0 + .byte N12 , Dn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N72 , Gs4 + .byte W32 + .byte W01 + .byte MOD , 7 + .byte W36 + .byte W03 + .byte 0 + .byte N12 + .byte W12 + .byte Gn4 + .byte W12 + .byte N36 , As4 + .byte W36 + .byte N24 , Gs4 + .byte W24 + .byte N12 , Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte N60 , Gn4 + .byte W30 + .byte MOD , 7 + .byte W30 + .byte 0 + .byte N12 , Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N92 , En4 + .byte W36 + .byte MOD , 7 + .byte W12 + .byte VOL , 75*mus_battle20_mvl/mxv + .byte W06 + .byte 71*mus_battle20_mvl/mxv + .byte W06 + .byte 66*mus_battle20_mvl/mxv + .byte W06 + .byte 60*mus_battle20_mvl/mxv + .byte W06 + .byte 53*mus_battle20_mvl/mxv + .byte W06 + .byte 45*mus_battle20_mvl/mxv + .byte W06 + .byte 35*mus_battle20_mvl/mxv + .byte W06 + .byte 24*mus_battle20_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 + .byte VOICE , 48 + .byte VOL , 80*mus_battle20_mvl/mxv + .byte PAN , c_v+0 + .byte N48 , As2 + .byte W48 + .byte Dn3 + .byte W48 + .byte N36 , Fn3 + .byte W36 + .byte N24 , As3 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N72 , En3 + .byte W72 + .byte N24 , Cn3 + .byte W24 + .byte N96 , Gn3 + .byte W96 + .byte N48 , As2 + .byte W48 + .byte Dn3 + .byte W48 + .byte N36 , Fn3 + .byte W36 + .byte N24 , As3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N72 , En4 + .byte W72 + .byte N24 , Gn4 + .byte W24 + .byte N92 , Cn5 + .byte W54 + .byte VOL , 73*mus_battle20_mvl/mxv + .byte W09 + .byte 66*mus_battle20_mvl/mxv + .byte W06 + .byte 59*mus_battle20_mvl/mxv + .byte W09 + .byte 50*mus_battle20_mvl/mxv + .byte W06 + .byte 40*mus_battle20_mvl/mxv + .byte W06 + .byte 26*mus_battle20_mvl/mxv + .byte W06 + .byte VOICE , 17 + .byte VOL , 80*mus_battle20_mvl/mxv + .byte PAN , c_v+0 + .byte N36 , Cn4 , v100 + .byte W36 + .byte Gn3 + .byte W36 + .byte N12 , Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte N36 , Fn4 + .byte W36 + .byte N24 , As3 + .byte W24 + .byte N36 , Dn4 + .byte W36 +mus_battle20_2_000: + .byte N36 , Fn4 , v100 + .byte W36 + .byte N24 , As4 + .byte W24 + .byte N12 , An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte PEND + .byte N48 , En4 + .byte W48 + .byte Cn4 + .byte W48 + .byte N36 + .byte W36 + .byte Gn4 + .byte W36 + .byte N12 , Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte N36 , Dn4 + .byte W36 + .byte N60 , As4 + .byte W60 + .byte PATT + .word mus_battle20_2_000 + .byte N36 , En4 , v100 + .byte W36 + .byte N60 , Cn4 + .byte W60 + .byte VOICE , 1 + .byte N36 , Cn5 , v104 + .byte W36 + .byte Gn4 + .byte W36 + .byte N12 , Cn5 + .byte W12 + .byte En5 + .byte W12 + .byte N36 , Fn5 + .byte W36 + .byte N24 , As4 + .byte W24 + .byte N36 , Dn5 + .byte W36 + .byte Fn5 + .byte W36 + .byte N24 , As5 + .byte W24 + .byte N12 , An5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N36 , En5 + .byte W36 + .byte Cn5 + .byte W36 + .byte N24 , Gn5 + .byte W24 + .byte N36 , Cn6 + .byte W36 + .byte Cs6 + .byte W36 + .byte N24 , Cn4 , v108 + .byte W24 + .byte N36 , Gn5 , v104 + .byte W36 + .byte Gs5 + .byte W36 + .byte N24 , Cs4 , v108 + .byte W24 + .byte N36 , Cn5 , v104 + .byte W36 + .byte Cs5 + .byte W36 + .byte N24 , Cn3 , v108 + .byte W24 + .byte N36 , Gn4 , v104 + .byte W36 + .byte Gs4 + .byte W36 + .byte N24 , Cs3 , v108 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte N96 , Cn3 , v104 + .byte W96 +mus_battle20_2_001: + .byte N84 , Cn2 , v104 + .byte W84 + .byte N12 , Cn3 + .byte W12 + .byte PEND + .byte N96 , Cs3 + .byte W96 + .byte N84 , Cs2 + .byte W84 + .byte N12 , Cs3 + .byte W12 + .byte N96 , Cn3 + .byte W96 + .byte PATT + .word mus_battle20_2_001 + .byte N96 , As2 , v104 + .byte W96 + .byte Dn3 + .byte W96 + .byte Fn3 + .byte W96 + .byte N84 , As3 + .byte W84 + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte N12 , Dn4 + .byte W12 + .byte TIE , En4 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , En3 , v096 + .byte W96 + .byte W48 + .byte VOL , 75*mus_battle20_mvl/mxv + .byte W06 + .byte 71*mus_battle20_mvl/mxv + .byte W06 + .byte 66*mus_battle20_mvl/mxv + .byte W06 + .byte 60*mus_battle20_mvl/mxv + .byte W06 + .byte 53*mus_battle20_mvl/mxv + .byte W06 + .byte 45*mus_battle20_mvl/mxv + .byte W06 + .byte 35*mus_battle20_mvl/mxv + .byte W06 + .byte 24*mus_battle20_mvl/mxv + .byte W03 + .byte EOT + .byte W03 + .byte VOICE , 60 + .byte VOL , 80*mus_battle20_mvl/mxv + .byte PAN , c_v+0 + .byte N24 , Cn3 , v100 + .byte W24 + .byte N36 , Fn3 + .byte W36 + .byte Gn3 + .byte W36 + .byte N48 , As3 + .byte W48 + .byte An3 + .byte W48 + .byte N36 , Gn3 + .byte W36 + .byte N12 , Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N92 , Gn3 + .byte W48 + .byte VOL , 75*mus_battle20_mvl/mxv + .byte W06 + .byte 71*mus_battle20_mvl/mxv + .byte W06 + .byte 66*mus_battle20_mvl/mxv + .byte W06 + .byte 60*mus_battle20_mvl/mxv + .byte W06 + .byte 53*mus_battle20_mvl/mxv + .byte W06 + .byte 45*mus_battle20_mvl/mxv + .byte W06 + .byte 35*mus_battle20_mvl/mxv + .byte W06 + .byte 24*mus_battle20_mvl/mxv + .byte W06 + .byte VOICE , 56 + .byte VOL , 80*mus_battle20_mvl/mxv + .byte N24 , Cn3 , v104 + .byte W24 + .byte N36 , Fn3 + .byte W15 + .byte MOD , 6 + .byte W21 + .byte 0 + .byte N36 , Gn3 + .byte W36 + .byte N48 , Cn4 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N48 , Dn4 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , En4 + .byte W21 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte N12 , Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N92 , Cn4 + .byte W32 + .byte W01 + .byte MOD , 7 + .byte W15 + .byte VOL , 75*mus_battle20_mvl/mxv + .byte W06 + .byte 71*mus_battle20_mvl/mxv + .byte W06 + .byte 66*mus_battle20_mvl/mxv + .byte W06 + .byte 60*mus_battle20_mvl/mxv + .byte W06 + .byte 53*mus_battle20_mvl/mxv + .byte W06 + .byte 45*mus_battle20_mvl/mxv + .byte W06 + .byte 35*mus_battle20_mvl/mxv + .byte W06 + .byte 24*mus_battle20_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 + .byte VOICE , 17 + .byte VOL , 80*mus_battle20_mvl/mxv + .byte PAN , c_v-14 + .byte N12 , Cn4 , v096 + .byte W36 + .byte Cs4 + .byte W36 + .byte Cn3 + .byte W24 + .byte Gn3 + .byte W36 + .byte Gs3 + .byte W36 + .byte N24 , Cs3 + .byte W24 + .byte N12 , Cn4 + .byte W36 + .byte Cs4 + .byte W36 + .byte Cn3 + .byte W24 + .byte Gn3 + .byte W36 + .byte Gs3 + .byte W36 + .byte N24 , Cs4 + .byte W24 + .byte VOICE , 17 + .byte PAN , c_v+0 + .byte N12 , Cn5 , v092 + .byte W36 + .byte Cs5 + .byte W36 + .byte Cn4 + .byte W24 + .byte Gn4 + .byte W36 + .byte Gs4 + .byte W36 + .byte N24 , Cs4 + .byte W24 + .byte N12 , Cn5 + .byte W36 + .byte Cs5 + .byte W36 + .byte N24 , Gn4 + .byte W24 + .byte N12 , Cn5 + .byte W36 + .byte Cs5 + .byte W36 + .byte N24 , As4 + .byte W24 + .byte GOTO + .word mus_battle20_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_battle20_3: + .byte KEYSH , mus_battle20_key+0 + .byte VOICE , 33 + .byte VOL , 80*mus_battle20_mvl/mxv + .byte PAN , c_v-6 + .byte N96 , Cn1 , v108 + .byte W96 + .byte N60 , Cs1 + .byte W60 + .byte N12 + .byte W12 + .byte Ds1 + .byte W12 + .byte Cs1 + .byte W12 +mus_battle20_3_000: + .byte N12 , Cn1 , v108 + .byte W12 + .byte Fs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte N12 + .byte W12 + .byte Fn1 + .byte W12 + .byte PEND +mus_battle20_3_001: + .byte N12 , Cn1 , v108 + .byte W12 + .byte Fs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte N12 + .byte W12 + .byte Cs1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle20_3_000 + .byte PATT + .word mus_battle20_3_001 + .byte PATT + .word mus_battle20_3_000 + .byte PATT + .word mus_battle20_3_001 + .byte PATT + .word mus_battle20_3_000 + .byte PATT + .word mus_battle20_3_001 +mus_battle20_3_B1: +mus_battle20_3_002: + .byte N12 , Cn1 , v108 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PEND + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte En1 + .byte W12 +mus_battle20_3_003: + .byte N12 , Cs1 , v108 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte PEND + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte N12 + .byte W12 + .byte Gs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte PATT + .word mus_battle20_3_002 + .byte N12 , Cn1 , v108 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte En1 + .byte W12 + .byte Gn1 + .byte W12 + .byte En1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PATT + .word mus_battle20_3_003 + .byte PATT + .word mus_battle20_3_003 + .byte PATT + .word mus_battle20_3_002 + .byte PATT + .word mus_battle20_3_002 +mus_battle20_3_004: + .byte N12 , As0 , v108 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle20_3_004 + .byte PATT + .word mus_battle20_3_002 + .byte PATT + .word mus_battle20_3_002 + .byte PATT + .word mus_battle20_3_004 + .byte PATT + .word mus_battle20_3_004 + .byte PATT + .word mus_battle20_3_002 + .byte PATT + .word mus_battle20_3_002 +mus_battle20_3_005: + .byte N12 , Cn1 , v108 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte PEND +mus_battle20_3_006: + .byte N12 , Cn1 , v108 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle20_3_006 + .byte PATT + .word mus_battle20_3_002 + .byte PATT + .word mus_battle20_3_002 + .byte N12 , Cn1 , v108 + .byte W12 + .byte As1 + .byte W12 + .byte Cn1 + .byte W12 + .byte As1 + .byte W12 + .byte Cn1 + .byte W12 + .byte As1 + .byte W12 + .byte Cn1 + .byte W12 + .byte As1 + .byte W12 + .byte PATT + .word mus_battle20_3_006 + .byte PATT + .word mus_battle20_3_005 + .byte PATT + .word mus_battle20_3_005 + .byte PATT + .word mus_battle20_3_006 + .byte PATT + .word mus_battle20_3_006 + .byte PATT + .word mus_battle20_3_005 + .byte PATT + .word mus_battle20_3_002 + .byte PATT + .word mus_battle20_3_002 + .byte PATT + .word mus_battle20_3_002 + .byte PATT + .word mus_battle20_3_002 + .byte PATT + .word mus_battle20_3_002 + .byte PATT + .word mus_battle20_3_002 + .byte PATT + .word mus_battle20_3_003 + .byte PATT + .word mus_battle20_3_003 + .byte PATT + .word mus_battle20_3_002 + .byte PATT + .word mus_battle20_3_002 + .byte PATT + .word mus_battle20_3_004 + .byte PATT + .word mus_battle20_3_004 + .byte PATT + .word mus_battle20_3_004 + .byte PATT + .word mus_battle20_3_004 +mus_battle20_3_007: + .byte N12 , Cn1 , v108 + .byte W12 + .byte Cn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle20_3_007 + .byte PATT + .word mus_battle20_3_002 + .byte N12 , Cn1 , v108 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Gn1 + .byte W12 +mus_battle20_3_008: + .byte N12 , Fn1 , v108 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle20_3_008 + .byte PATT + .word mus_battle20_3_002 + .byte PATT + .word mus_battle20_3_002 + .byte PATT + .word mus_battle20_3_008 + .byte PATT + .word mus_battle20_3_008 + .byte PATT + .word mus_battle20_3_002 + .byte PATT + .word mus_battle20_3_002 + .byte PATT + .word mus_battle20_3_000 + .byte PATT + .word mus_battle20_3_001 + .byte PATT + .word mus_battle20_3_000 + .byte PATT + .word mus_battle20_3_001 + .byte PATT + .word mus_battle20_3_000 + .byte PATT + .word mus_battle20_3_001 + .byte PATT + .word mus_battle20_3_000 + .byte N12 , Cn1 , v108 + .byte W12 + .byte Fs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Cs1 + .byte W12 + .byte GOTO + .word mus_battle20_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_battle20_4: + .byte KEYSH , mus_battle20_key+0 + .byte VOICE , 80 + .byte LFOS , 20 + .byte VOL , 80*mus_battle20_mvl/mxv + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte VOICE , 4 + .byte PAN , c_v+0 + .byte N24 , Gs3 , v052 + .byte W24 +mus_battle20_4_000: + .byte N12 , Gn3 , v052 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cn3 + .byte W12 + .byte PEND + .byte Gn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte PATT + .word mus_battle20_4_000 + .byte N12 , Gn3 , v052 + .byte W12 + .byte Cs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , Cs4 + .byte W24 +mus_battle20_4_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W60 + .byte VOICE , 82 + .byte PAN , c_v+48 + .byte N03 , Gn1 , v060 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 +mus_battle20_4_001: + .byte N03 , Gn1 , v060 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N21 + .byte W24 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte PEND +mus_battle20_4_002: + .byte N03 , Fn1 , v060 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N21 + .byte W24 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte PEND +mus_battle20_4_003: + .byte N03 , As1 , v060 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N21 + .byte W24 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle20_4_001 + .byte PATT + .word mus_battle20_4_001 + .byte PATT + .word mus_battle20_4_002 + .byte PATT + .word mus_battle20_4_003 + .byte PATT + .word mus_battle20_4_001 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 80 + .byte N96 , Fn2 , v060 + .byte W96 + .byte As2 + .byte W96 + .byte Dn3 + .byte W96 + .byte N84 , Fn3 + .byte W84 + .byte N12 + .byte W12 + .byte TIE , Gn3 + .byte W96 + .byte W96 + .byte EOT + .byte W96 + .byte W96 + .byte VOICE , 4 + .byte PAN , c_v-48 + .byte N12 , Fn4 , v040 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte An4 + .byte W12 + .byte Cn5 + .byte W12 + .byte An4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cn4 + .byte W12 +mus_battle20_4_004: + .byte N12 , Fn4 , v040 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte An4 + .byte W12 + .byte Cn5 + .byte W12 + .byte An4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte PEND +mus_battle20_4_005: + .byte N12 , En4 , v040 + .byte W12 + .byte Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte Cn4 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle20_4_005 + .byte PATT + .word mus_battle20_4_004 + .byte N12 , Fn4 , v032 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte An4 + .byte W12 + .byte Cn5 + .byte W12 + .byte An4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte Cn4 + .byte W12 + .byte En4 , v020 + .byte W12 + .byte Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte Cn4 + .byte W12 + .byte VOICE , 6 + .byte PAN , c_v+0 + .byte N48 , Cn3 , v052 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N48 , Cn2 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N48 , Gn2 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N48 , Cs2 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N48 , Cn3 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N48 , Cn2 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N48 , Gn2 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N48 , Cs3 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte VOICE , 6 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Gn4 + .byte W36 + .byte Gs4 + .byte W36 + .byte Gn3 + .byte W24 + .byte En4 + .byte W36 + .byte Fn4 + .byte W36 + .byte N24 , Gn3 + .byte W24 + .byte N12 , Gn4 + .byte W36 + .byte Gs4 + .byte W36 + .byte N24 , Cn4 + .byte W24 + .byte N12 , Gn4 + .byte W36 + .byte Gs4 + .byte W36 + .byte N24 , Fn4 + .byte W24 + .byte GOTO + .word mus_battle20_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_battle20_5: + .byte KEYSH , mus_battle20_key+0 + .byte VOICE , 4 + .byte LFOS , 20 + .byte PAN , c_v+0 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 80*mus_battle20_mvl/mxv + .byte N06 , Gn3 , v060 + .byte W12 + .byte Cn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Gn3 + .byte W12 + .byte Cn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Gn3 + .byte W12 + .byte Cn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte PAN , c_v+1 + .byte N06 , Gn3 + .byte W12 + .byte Cn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Fn3 + .byte W12 + .byte As2 + .byte W06 + .byte As3 + .byte W06 + .byte PAN , c_v+50 + .byte N06 , Fn3 + .byte W12 + .byte As2 + .byte W06 + .byte As3 + .byte W06 + .byte PAN , c_v+1 + .byte N06 , Fn3 + .byte W12 + .byte As2 + .byte W06 + .byte As3 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Fn3 + .byte W12 + .byte PAN , c_v+48 + .byte N06 , As2 + .byte W06 + .byte Fs4 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 5 + .byte PAN , c_v+0 + .byte N12 , Gn4 , v052 + .byte W36 + .byte As4 + .byte W36 + .byte Gs4 + .byte W24 + .byte Gn4 + .byte W12 + .byte Gs4 + .byte W24 + .byte As4 + .byte W36 + .byte N24 , Gs4 + .byte W24 + .byte N12 , Gn4 + .byte W36 + .byte As4 + .byte W36 + .byte Gs4 + .byte W24 + .byte Gn4 + .byte W12 + .byte Gs4 + .byte W24 + .byte As4 + .byte W36 + .byte N24 , Cs5 + .byte W24 +mus_battle20_5_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 6 + .byte PAN , c_v+0 + .byte N96 , Cn3 , v060 + .byte W48 + .byte MOD , 6 + .byte W48 + .byte 0 + .byte N48 , Gn2 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , As2 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N36 , Dn3 + .byte W36 + .byte N24 , Fn3 + .byte W24 + .byte N12 , As2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N72 , Gn3 + .byte W36 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte N24 , En4 + .byte W24 + .byte N92 , Gn4 + .byte W36 + .byte W03 + .byte MOD , 6 + .byte W15 + .byte VOL , 73*mus_battle20_mvl/mxv + .byte W09 + .byte 66*mus_battle20_mvl/mxv + .byte W06 + .byte 59*mus_battle20_mvl/mxv + .byte W09 + .byte 50*mus_battle20_mvl/mxv + .byte W06 + .byte 40*mus_battle20_mvl/mxv + .byte W06 + .byte 26*mus_battle20_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_battle20_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W60 + .byte VOICE , 83 + .byte PAN , c_v+0 + .byte N03 , Gn2 , v072 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 +mus_battle20_5_000: + .byte N03 , Gn2 , v072 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N21 + .byte W24 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte PEND +mus_battle20_5_001: + .byte N03 , Fn2 , v072 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N21 + .byte W24 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte PEND +mus_battle20_5_002: + .byte N03 , As2 , v072 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N21 + .byte W24 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle20_5_000 + .byte PATT + .word mus_battle20_5_000 + .byte PATT + .word mus_battle20_5_001 + .byte PATT + .word mus_battle20_5_002 + .byte PATT + .word mus_battle20_5_000 + .byte VOICE , 4 + .byte N36 , Cn4 , v072 + .byte W36 + .byte Cs4 + .byte W36 + .byte N24 , Cn2 + .byte W24 + .byte N36 , Gn3 + .byte W36 + .byte Gs3 + .byte W36 + .byte N24 , Cs2 + .byte W24 + .byte N36 , Cn3 + .byte W36 + .byte Cs3 + .byte W36 + .byte N24 , Cn1 + .byte W24 + .byte N36 , Gn2 + .byte W36 + .byte Gs2 + .byte W36 + .byte N24 , Cs1 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 82 + .byte PAN , c_v-49 + .byte N12 , As1 , v060 + .byte W12 + .byte VOICE , 85 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte VOICE , 82 + .byte N12 , Dn2 + .byte W12 + .byte VOICE , 85 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte VOICE , 82 + .byte N12 , Fn2 + .byte W12 + .byte VOICE , 85 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte VOICE , 82 + .byte N12 , As2 + .byte W12 + .byte VOICE , 85 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte N11 + .byte W12 + .byte VOICE , 82 + .byte N12 , Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte VOICE , 85 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte N12 , En2 + .byte W12 + .byte VOICE , 85 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOL , 75*mus_battle20_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 71*mus_battle20_mvl/mxv + .byte W06 + .byte 66*mus_battle20_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 60*mus_battle20_mvl/mxv + .byte W06 + .byte 53*mus_battle20_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 45*mus_battle20_mvl/mxv + .byte W06 + .byte 35*mus_battle20_mvl/mxv + .byte N09 + .byte W06 + .byte VOL , 24*mus_battle20_mvl/mxv + .byte W06 + .byte VOICE , 5 + .byte VOL , 80*mus_battle20_mvl/mxv + .byte BEND , c_v-3 + .byte W06 + .byte N12 , Fn4 , v032 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte An4 + .byte W12 + .byte Cn5 + .byte W12 + .byte An4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cn4 + .byte W06 +mus_battle20_5_003: + .byte W06 + .byte N12 , Fn4 , v032 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte An4 + .byte W12 + .byte Cn5 + .byte W12 + .byte An4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cn4 + .byte W06 + .byte PEND +mus_battle20_5_004: + .byte W06 + .byte N12 , En4 , v032 + .byte W12 + .byte Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte Cn4 + .byte W06 + .byte PEND + .byte PATT + .word mus_battle20_5_004 + .byte PATT + .word mus_battle20_5_003 + .byte W06 + .byte N12 , Fn4 , v020 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte An4 + .byte W12 + .byte Cn5 + .byte W12 + .byte An4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cn4 + .byte W06 + .byte W06 + .byte En4 + .byte W12 + .byte Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte Cn4 + .byte W06 + .byte W06 + .byte En4 , v012 + .byte W12 + .byte Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte Cn4 + .byte W06 + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 7 + .byte PAN , c_v-48 + .byte N12 , Gn3 , v052 + .byte W36 + .byte Gs3 + .byte W36 + .byte Gn3 + .byte W24 + .byte En3 + .byte W36 + .byte Fn3 + .byte W36 + .byte Gn3 + .byte W24 + .byte N12 + .byte W36 + .byte Gs3 + .byte W36 + .byte N24 , Gn3 + .byte W24 + .byte N12 + .byte W36 + .byte Gs3 + .byte W36 + .byte N24 , As3 + .byte W24 + .byte GOTO + .word mus_battle20_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_battle20_6: + .byte KEYSH , mus_battle20_key+0 + .byte VOICE , 81 + .byte VOL , 80*mus_battle20_mvl/mxv + .byte W24 + .byte N06 , Cn2 , v080 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 + .byte W30 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_battle20_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 90 + .byte N96 , Fn1 , v080 + .byte W96 + .byte As1 + .byte W96 + .byte Dn2 + .byte W96 + .byte N84 , Fn2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_battle20_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_battle20_7: + .byte KEYSH , mus_battle20_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 80*mus_battle20_mvl/mxv + .byte W96 + .byte W84 + .byte N12 , Dn1 , v112 + .byte W12 +mus_battle20_7_000: + .byte W24 + .byte N12 , Dn1 , v112 + .byte W48 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 +mus_battle20_7_B1: + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte W24 + .byte N12 , Dn1 , v112 + .byte W72 + .byte W24 + .byte N12 + .byte W72 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte W24 + .byte N12 , Dn1 , v112 + .byte W72 + .byte W24 + .byte N12 + .byte W72 + .byte PATT + .word mus_battle20_7_000 +mus_battle20_7_001: + .byte W24 + .byte N12 , Dn1 , v112 + .byte W48 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_001 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 +mus_battle20_7_002: + .byte W24 + .byte N12 , Dn1 , v112 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_001 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte N12 , Dn1 , v112 + .byte W12 + .byte N12 + .byte W12 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte W24 + .byte N48 , An2 , v100 + .byte W48 + .byte N12 , Dn1 , v112 + .byte W12 + .byte N12 + .byte W12 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_001 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_000 + .byte PATT + .word mus_battle20_7_002 + .byte GOTO + .word mus_battle20_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_battle20_8: + .byte KEYSH , mus_battle20_key+0 + .byte VOICE , 47 + .byte PAN , c_v+0 + .byte VOL , 80*mus_battle20_mvl/mxv + .byte N12 , Cn2 , v112 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W12 + .byte N12 + .byte W36 + .byte PAN , c_v-32 + .byte N12 , An1 + .byte W24 + .byte PAN , c_v+32 + .byte N12 + .byte W24 +mus_battle20_8_000: + .byte PAN , c_v+0 + .byte N12 , Cn2 , v112 + .byte W36 + .byte N12 + .byte W60 + .byte PEND +mus_battle20_8_001: + .byte N12 , Cn2 , v112 + .byte W36 + .byte N12 + .byte W60 + .byte PEND + .byte PATT + .word mus_battle20_8_001 +mus_battle20_8_002: + .byte N12 , Cn2 , v112 + .byte W36 + .byte N12 + .byte W48 + .byte An1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle20_8_001 + .byte PATT + .word mus_battle20_8_002 + .byte PATT + .word mus_battle20_8_001 + .byte PATT + .word mus_battle20_8_002 +mus_battle20_8_B1: + .byte PATT + .word mus_battle20_8_001 + .byte PATT + .word mus_battle20_8_002 +mus_battle20_8_003: + .byte N12 , Cn2 , v112 + .byte W36 + .byte N12 + .byte W36 + .byte VOICE , 46 + .byte N12 , Cn2 , v127 + .byte W24 + .byte PEND +mus_battle20_8_004: + .byte VOICE , 47 + .byte W12 + .byte N12 , Cn2 , v112 + .byte W36 + .byte An1 + .byte W24 + .byte VOICE , 46 + .byte N12 , Cn2 , v127 + .byte W24 + .byte PEND + .byte VOICE , 47 + .byte N12 , Cn2 , v112 + .byte W36 + .byte N12 + .byte W60 + .byte PATT + .word mus_battle20_8_002 + .byte PATT + .word mus_battle20_8_003 + .byte PATT + .word mus_battle20_8_004 + .byte VOICE , 47 + .byte N12 , Cn2 , v112 + .byte W36 + .byte N12 + .byte W48 + .byte An1 + .byte W12 +mus_battle20_8_005: + .byte N12 , Cn2 , v112 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W36 + .byte PEND + .byte PATT + .word mus_battle20_8_001 + .byte PATT + .word mus_battle20_8_002 + .byte PATT + .word mus_battle20_8_001 + .byte PATT + .word mus_battle20_8_002 + .byte PATT + .word mus_battle20_8_001 + .byte PATT + .word mus_battle20_8_002 + .byte PATT + .word mus_battle20_8_001 + .byte N12 , Cn2 , v112 + .byte W36 + .byte N12 + .byte W48 + .byte N06 , An1 + .byte W06 + .byte Cn2 + .byte W06 +mus_battle20_8_006: + .byte N12 , Cn2 , v112 + .byte W48 + .byte N12 + .byte W12 + .byte N12 + .byte W36 + .byte PEND + .byte PATT + .word mus_battle20_8_006 + .byte PATT + .word mus_battle20_8_006 +mus_battle20_8_007: + .byte N12 , Cn2 , v112 + .byte W48 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte An1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle20_8_006 + .byte PATT + .word mus_battle20_8_006 + .byte PATT + .word mus_battle20_8_006 + .byte PATT + .word mus_battle20_8_006 + .byte PATT + .word mus_battle20_8_006 + .byte PATT + .word mus_battle20_8_007 + .byte PATT + .word mus_battle20_8_006 + .byte PATT + .word mus_battle20_8_006 +mus_battle20_8_008: + .byte N12 , Cn2 , v112 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W48 + .byte PEND + .byte PATT + .word mus_battle20_8_008 + .byte PATT + .word mus_battle20_8_008 + .byte N12 , Cn2 , v112 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W36 + .byte MEMACC, mem_set, 0x00, 117 + .byte PAN , c_v+32 + .byte W12 + .byte N12 , Gn2 , v088 + .byte W12 + .byte N12 + .byte W24 + .byte En2 + .byte W12 + .byte Gn2 + .byte W24 + .byte N12 + .byte W12 + .byte En2 + .byte W12 + .byte W12 + .byte Gn2 + .byte W12 + .byte En2 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte Gn2 + .byte W12 + .byte N12 + .byte W12 + .byte En2 + .byte W24 + .byte N12 + .byte W12 + .byte Gn2 + .byte W24 + .byte N12 + .byte W12 + .byte En2 + .byte W12 + .byte Gn2 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte En2 + .byte W24 + .byte N06 + .byte W06 + .byte Gn2 + .byte W06 + .byte N12 , En2 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte Gn2 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte En2 + .byte W24 + .byte N12 + .byte W12 + .byte Gn2 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte En2 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte Gn2 + .byte W24 + .byte N06 , En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte N12 + .byte W12 + .byte En2 + .byte W24 + .byte N12 + .byte W12 + .byte Gn2 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte En2 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte Gn2 + .byte W24 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W36 + .byte PATT + .word mus_battle20_8_000 + .byte PATT + .word mus_battle20_8_001 + .byte N09 , Cn2 , v112 + .byte W36 + .byte N12 + .byte W60 + .byte N12 + .byte W96 + .byte PATT + .word mus_battle20_8_001 + .byte PATT + .word mus_battle20_8_001 + .byte PATT + .word mus_battle20_8_001 + .byte PATT + .word mus_battle20_8_002 + .byte PATT + .word mus_battle20_8_001 + .byte PATT + .word mus_battle20_8_001 + .byte PATT + .word mus_battle20_8_002 + .byte PATT + .word mus_battle20_8_005 + .byte PATT + .word mus_battle20_8_001 + .byte PATT + .word mus_battle20_8_001 + .byte PATT + .word mus_battle20_8_001 + .byte PATT + .word mus_battle20_8_001 + .byte PATT + .word mus_battle20_8_001 + .byte PATT + .word mus_battle20_8_001 + .byte PATT + .word mus_battle20_8_001 + .byte N12 , Cn2 , v112 + .byte W48 + .byte N12 + .byte W48 + .byte GOTO + .word mus_battle20_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_battle20: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_battle20_pri @ Priority + .byte mus_battle20_rev @ Reverb. + + .word mus_battle20_grp + + .word mus_battle20_1 + .word mus_battle20_2 + .word mus_battle20_3 + .word mus_battle20_4 + .word mus_battle20_5 + .word mus_battle20_6 + .word mus_battle20_7 + .word mus_battle20_8 + + .end diff --git a/sound/songs/mus_battle27.s b/sound/songs/mus_battle27.s new file mode 100644 index 0000000000..852a2fbe21 --- /dev/null +++ b/sound/songs/mus_battle27.s @@ -0,0 +1,2030 @@ + .include "MPlayDef.s" + + .equ mus_battle27_grp, voicegroup_869A454 + .equ mus_battle27_pri, 1 + .equ mus_battle27_rev, reverb_set+50 + .equ mus_battle27_mvl, 127 + .equ mus_battle27_key, 0 + .equ mus_battle27_tbs, 1 + .equ mus_battle27_exg, 0 + .equ mus_battle27_cmp, 1 + + .section .rodata + .global mus_battle27 + .align 2 + +@********************** Track 1 **********************@ + +mus_battle27_1: + .byte KEYSH , mus_battle27_key+0 + .byte TEMPO , 196*mus_battle27_tbs/2 + .byte VOICE , 48 + .byte VOL , 80*mus_battle27_mvl/mxv + .byte LFOS , 18 + .byte PAN , c_v+0 + .byte N06 , Cn5 , v108 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte VOICE , 60 + .byte PAN , c_v+10 + .byte N12 , Gn3 , v092 + .byte W36 + .byte Cn3 + .byte W36 + .byte Gn3 + .byte W24 + .byte Gs3 + .byte W36 + .byte Fn3 + .byte W36 + .byte Gs3 + .byte W24 + .byte Gn3 + .byte W36 + .byte Cn3 + .byte W36 + .byte Gn3 + .byte W24 + .byte Gs3 + .byte W36 + .byte As3 + .byte W36 + .byte N24 , Bn3 + .byte W24 +mus_battle27_1_000: + .byte VOICE , 56 + .byte N12 , Gn4 , v092 + .byte W36 + .byte Cn4 + .byte W36 + .byte Gn4 + .byte W24 + .byte PEND +mus_battle27_1_001: + .byte N12 , Gs4 , v092 + .byte W36 + .byte Fn4 + .byte W36 + .byte Gs4 + .byte W24 + .byte PEND +mus_battle27_1_002: + .byte N12 , Gn4 , v092 + .byte W36 + .byte Cn4 + .byte W36 + .byte Gn4 + .byte W24 + .byte PEND + .byte Gs4 + .byte W36 + .byte As4 + .byte W36 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 5 + .byte W12 +mus_battle27_1_003: + .byte VOICE , 48 + .byte MOD , 0 + .byte N12 , Cn3 , v092 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte PEND +mus_battle27_1_B1: + .byte N12 , Fn3 , v092 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte Cn3 + .byte W12 + .byte En3 + .byte W12 +mus_battle27_1_004: + .byte VOICE , 56 + .byte N48 , Fn3 , v092 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N48 , As3 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte PEND + .byte 0 + .byte N36 , Dn4 + .byte W18 + .byte MOD , 5 + .byte W18 + .byte 0 + .byte N24 , Fn4 + .byte W18 + .byte MOD , 5 + .byte W06 + .byte N12 + .byte W12 + .byte MOD , 0 + .byte N12 , En4 + .byte W12 + .byte Cn4 + .byte W12 + .byte VOICE , 48 + .byte N12 , Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte PATT + .word mus_battle27_1_004 + .byte MOD , 0 + .byte N36 , Dn4 , v092 + .byte W18 + .byte MOD , 5 + .byte W18 + .byte 0 + .byte N24 , Fn4 + .byte W18 + .byte MOD , 5 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte MOD , 0 + .byte N12 , Dn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte VOICE , 60 + .byte N36 , Cn4 + .byte W36 + .byte Gn3 + .byte W36 + .byte N24 , En3 + .byte W24 + .byte N36 , En4 + .byte W36 + .byte Dn4 + .byte W36 + .byte N24 , Cn4 + .byte W24 + .byte N36 , As3 + .byte W36 + .byte Fn3 + .byte W36 + .byte N24 , Dn3 + .byte W24 + .byte N36 , Dn4 + .byte W36 + .byte Cn4 + .byte W36 + .byte N24 , As3 + .byte W24 + .byte N36 , Cn4 + .byte W36 + .byte Gn3 + .byte W36 + .byte N24 , En3 + .byte W24 + .byte N96 , En4 + .byte W96 +mus_battle27_1_005: + .byte N72 , Cn4 , v092 + .byte W72 + .byte N24 , Gn3 + .byte W24 + .byte PEND + .byte N60 , En4 + .byte W30 + .byte VOL , 76*mus_battle27_mvl/mxv + .byte W09 + .byte 72*mus_battle27_mvl/mxv + .byte W06 + .byte 61*mus_battle27_mvl/mxv + .byte W09 + .byte 49*mus_battle27_mvl/mxv + .byte W06 + .byte VOICE , 56 + .byte VOL , 80*mus_battle27_mvl/mxv + .byte N12 + .byte W12 + .byte Fn4 + .byte W24 + .byte VOICE , 48 + .byte N48 , As3 + .byte W48 + .byte Dn4 + .byte W48 + .byte N24 , As3 + .byte W24 + .byte Cn4 + .byte W24 + .byte Dn4 + .byte W24 + .byte Bn3 + .byte W24 + .byte PATT + .word mus_battle27_1_005 + .byte N60 , En4 , v092 + .byte W21 + .byte VOL , 76*mus_battle27_mvl/mxv + .byte W09 + .byte 73*mus_battle27_mvl/mxv + .byte W06 + .byte 68*mus_battle27_mvl/mxv + .byte W06 + .byte 59*mus_battle27_mvl/mxv + .byte W06 + .byte 45*mus_battle27_mvl/mxv + .byte W06 + .byte 30*mus_battle27_mvl/mxv + .byte W06 + .byte VOICE , 56 + .byte VOL , 80*mus_battle27_mvl/mxv + .byte N12 + .byte W12 + .byte Gn4 + .byte W24 + .byte VOICE , 60 + .byte N60 , Gs4 + .byte W60 + .byte N12 , Cs4 + .byte W12 + .byte Gn4 + .byte W24 + .byte N24 , Gs4 + .byte W24 + .byte Gn4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte N60 , Cn4 + .byte W96 + .byte W48 + .byte N48 , En4 + .byte W48 + .byte VOICE , 48 + .byte N12 , Gn2 + .byte W36 + .byte Cn2 + .byte W36 + .byte Gn2 + .byte W24 + .byte Gs2 + .byte W36 + .byte Fn2 + .byte W36 + .byte Gs2 + .byte W24 + .byte Gn2 + .byte W36 + .byte Cn2 + .byte W36 + .byte Gn2 + .byte W24 + .byte Gs2 + .byte W36 + .byte Fn2 + .byte W36 + .byte N24 , Bn2 + .byte W24 + .byte PATT + .word mus_battle27_1_000 + .byte PATT + .word mus_battle27_1_001 + .byte PATT + .word mus_battle27_1_002 + .byte N12 , Gs4 , v092 + .byte W36 + .byte Fn4 + .byte W36 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte PATT + .word mus_battle27_1_003 + .byte GOTO + .word mus_battle27_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_battle27_2: + .byte KEYSH , mus_battle27_key+0 + .byte VOICE , 46 + .byte VOL , 80*mus_battle27_mvl/mxv + .byte LFOS , 18 + .byte PAN , c_v-16 + .byte N06 , Gn5 , v100 + .byte W06 + .byte Fs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte PAN , c_v+17 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte PAN , c_v-16 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte PAN , c_v+16 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte PAN , c_v-16 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte PAN , c_v+16 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte PAN , c_v-16 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte PAN , c_v+16 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte VOICE , 60 + .byte PAN , c_v-10 + .byte N12 , Cn4 + .byte W36 + .byte Gn3 + .byte W36 + .byte Cn4 + .byte W24 + .byte Cs4 + .byte W36 + .byte Ds4 + .byte W36 + .byte Cs4 + .byte W24 + .byte Cn4 + .byte W36 + .byte Gn3 + .byte W36 + .byte Cn4 + .byte W24 + .byte Cs4 + .byte W36 + .byte Ds4 + .byte W36 + .byte N24 , Fn4 + .byte W24 +mus_battle27_2_000: + .byte VOICE , 56 + .byte N12 , Cn5 , v100 + .byte W36 + .byte Gn4 + .byte W36 + .byte Cn5 + .byte W24 + .byte PEND +mus_battle27_2_001: + .byte N12 , Cs5 , v100 + .byte W36 + .byte Ds5 + .byte W36 + .byte Cs5 + .byte W24 + .byte PEND +mus_battle27_2_002: + .byte N12 , Cn5 , v100 + .byte W36 + .byte Gn4 + .byte W36 + .byte Cn5 + .byte W24 + .byte PEND +mus_battle27_2_003: + .byte N12 , Cs5 , v100 + .byte W36 + .byte Ds5 + .byte W36 + .byte N24 , Fn5 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte PEND +mus_battle27_2_004: + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N36 , Cn4 , v100 + .byte W18 + .byte MOD , 5 + .byte W18 + .byte 0 + .byte N36 , Dn4 + .byte W18 + .byte MOD , 5 + .byte W18 + .byte 0 + .byte N24 , Gn4 + .byte W15 + .byte MOD , 5 + .byte W09 + .byte PEND +mus_battle27_2_B1: + .byte MOD , 0 + .byte N12 , Fn4 , v100 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 +mus_battle27_2_005: + .byte N48 , As3 , v100 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N48 , Dn4 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte PEND + .byte 0 + .byte N36 , Fn4 + .byte W18 + .byte MOD , 5 + .byte W18 + .byte 0 + .byte N24 , An4 + .byte W18 + .byte MOD , 5 + .byte W06 + .byte N12 + .byte W12 + .byte MOD , 0 + .byte N12 , Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte MOD , 0 + .byte N36 , Cn4 + .byte W18 + .byte MOD , 5 + .byte W18 + .byte 0 + .byte N36 , Dn4 + .byte W18 + .byte MOD , 5 + .byte W18 + .byte 0 + .byte N24 , Gn4 + .byte W15 + .byte MOD , 5 + .byte W09 + .byte 0 + .byte N12 , Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N24 , Fn4 + .byte W09 + .byte MOD , 5 + .byte W15 + .byte 0 + .byte N12 , En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte PATT + .word mus_battle27_2_005 + .byte MOD , 0 + .byte N36 , Fn4 , v100 + .byte W18 + .byte MOD , 5 + .byte W18 + .byte 0 + .byte N24 , As4 + .byte W18 + .byte MOD , 5 + .byte W06 + .byte N12 , An4 + .byte W12 + .byte MOD , 0 + .byte N12 , Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte VOICE , 48 + .byte N72 , En4 , v096 + .byte W72 + .byte N24 , Cn4 + .byte W24 + .byte N96 , Gn4 + .byte W48 + .byte VOL , 76*mus_battle27_mvl/mxv + .byte W09 + .byte 72*mus_battle27_mvl/mxv + .byte W09 + .byte 66*mus_battle27_mvl/mxv + .byte W09 + .byte 57*mus_battle27_mvl/mxv + .byte W09 + .byte 39*mus_battle27_mvl/mxv + .byte W06 + .byte 20*mus_battle27_mvl/mxv + .byte W06 + .byte 80*mus_battle27_mvl/mxv + .byte N72 , Dn4 + .byte W72 + .byte N24 , As3 + .byte W24 + .byte N96 , Fn4 + .byte W48 + .byte VOL , 76*mus_battle27_mvl/mxv + .byte W09 + .byte 72*mus_battle27_mvl/mxv + .byte W09 + .byte 66*mus_battle27_mvl/mxv + .byte W09 + .byte 57*mus_battle27_mvl/mxv + .byte W09 + .byte 39*mus_battle27_mvl/mxv + .byte W06 + .byte 20*mus_battle27_mvl/mxv + .byte W06 + .byte 80*mus_battle27_mvl/mxv + .byte N72 , En4 + .byte W72 + .byte N24 , Cn4 + .byte W24 + .byte TIE , Gn4 + .byte W96 + .byte W48 + .byte VOL , 76*mus_battle27_mvl/mxv + .byte W09 + .byte 72*mus_battle27_mvl/mxv + .byte W09 + .byte 66*mus_battle27_mvl/mxv + .byte W09 + .byte 57*mus_battle27_mvl/mxv + .byte W09 + .byte 39*mus_battle27_mvl/mxv + .byte W06 + .byte 20*mus_battle27_mvl/mxv + .byte W06 + .byte EOT + .byte W60 + .byte VOICE , 56 + .byte VOL , 80*mus_battle27_mvl/mxv + .byte N12 , Gn4 , v100 + .byte W12 + .byte An4 + .byte W24 + .byte N96 , As4 + .byte W48 + .byte VOL , 76*mus_battle27_mvl/mxv + .byte MOD , 5 + .byte W09 + .byte VOL , 72*mus_battle27_mvl/mxv + .byte W09 + .byte 66*mus_battle27_mvl/mxv + .byte W09 + .byte 57*mus_battle27_mvl/mxv + .byte W09 + .byte 39*mus_battle27_mvl/mxv + .byte W06 + .byte 20*mus_battle27_mvl/mxv + .byte W06 + .byte 80*mus_battle27_mvl/mxv + .byte MOD , 0 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N24 , An4 + .byte W24 + .byte Gn4 + .byte W24 + .byte Fn4 + .byte W24 + .byte N72 , En4 + .byte W32 + .byte W01 + .byte MOD , 5 + .byte W36 + .byte W03 + .byte 0 + .byte N24 , Cn4 + .byte W24 + .byte N60 , Gn4 + .byte W21 + .byte VOL , 76*mus_battle27_mvl/mxv + .byte W09 + .byte 73*mus_battle27_mvl/mxv + .byte MOD , 5 + .byte W06 + .byte VOL , 68*mus_battle27_mvl/mxv + .byte W06 + .byte 59*mus_battle27_mvl/mxv + .byte W06 + .byte 45*mus_battle27_mvl/mxv + .byte W06 + .byte 30*mus_battle27_mvl/mxv + .byte W06 + .byte 80*mus_battle27_mvl/mxv + .byte MOD , 0 + .byte N12 + .byte W12 + .byte Cn5 + .byte W24 + .byte VOICE , 48 + .byte N84 , Cs5 + .byte W84 + .byte N12 , Cn5 + .byte W12 + .byte N24 , Cs5 + .byte W24 + .byte Cn5 + .byte W24 + .byte As4 + .byte W24 + .byte N12 , Gs4 + .byte W12 + .byte As4 + .byte W12 + .byte N60 , Gs4 + .byte W60 + .byte N12 , As4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N48 , Gn4 + .byte W48 + .byte Cn5 + .byte W48 + .byte PAN , c_v-10 + .byte N12 , Cn3 + .byte W36 + .byte Gn2 + .byte W36 + .byte Cn3 + .byte W24 + .byte Cs3 + .byte W36 + .byte Ds3 + .byte W36 + .byte Cs3 + .byte W24 + .byte Cn3 + .byte W36 + .byte Gn2 + .byte W36 + .byte Cn3 + .byte W24 + .byte Cs3 + .byte W36 + .byte Ds3 + .byte W36 + .byte N24 , Fn3 + .byte W24 + .byte PATT + .word mus_battle27_2_000 + .byte PATT + .word mus_battle27_2_001 + .byte PATT + .word mus_battle27_2_002 + .byte PATT + .word mus_battle27_2_003 + .byte PATT + .word mus_battle27_2_004 + .byte GOTO + .word mus_battle27_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_battle27_3: + .byte KEYSH , mus_battle27_key+0 + .byte VOICE , 33 + .byte VOL , 80*mus_battle27_mvl/mxv + .byte N96 , Gn0 , v108 + .byte W96 + .byte N48 , As0 + .byte W48 + .byte Bn0 + .byte W48 +mus_battle27_3_000: + .byte N12 , Cn1 , v108 + .byte W12 + .byte Gn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte N24 , Cs1 + .byte W24 + .byte N12 , Cn1 + .byte W12 + .byte As0 + .byte W12 + .byte Cs1 + .byte W12 + .byte PEND +mus_battle27_3_001: + .byte N12 , Cn1 , v108 + .byte W12 + .byte Gn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte N24 , En1 + .byte W24 + .byte N12 , Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Bn0 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle27_3_000 + .byte PATT + .word mus_battle27_3_001 + .byte PATT + .word mus_battle27_3_000 + .byte PATT + .word mus_battle27_3_001 + .byte PATT + .word mus_battle27_3_000 + .byte N12 , Cn1 , v108 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N24 , Fn1 + .byte W24 + .byte N12 , Gn0 + .byte W12 + .byte As0 + .byte W12 + .byte Bn0 + .byte W12 +mus_battle27_3_002: + .byte N12 , Cn1 , v108 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PEND +mus_battle27_3_B1: + .byte N12 , Cn1 , v108 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N24 , Gn1 + .byte W24 + .byte N12 , Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte Gn1 + .byte W12 +mus_battle27_3_003: + .byte N12 , As0 , v108 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte PEND +mus_battle27_3_004: + .byte N12 , As0 , v108 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte N24 , Fn1 + .byte W24 + .byte N12 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle27_3_002 + .byte N12 , Cn1 , v108 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N24 , Gn1 + .byte W24 + .byte N12 , Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PATT + .word mus_battle27_3_003 + .byte PATT + .word mus_battle27_3_004 + .byte N12 , En1 , v108 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte En1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PATT + .word mus_battle27_3_002 + .byte N12 , Dn1 , v108 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte N24 , Fn1 + .byte W24 + .byte N12 , Dn1 + .byte W12 + .byte As0 + .byte W12 + .byte Bn0 + .byte W12 +mus_battle27_3_005: + .byte N12 , Cn1 , v108 + .byte W12 + .byte En1 + .byte W12 + .byte Gn0 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte Gn0 + .byte W12 + .byte En1 + .byte W12 + .byte PEND + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte W36 + .byte PATT + .word mus_battle27_3_005 + .byte N12 , Cn1 , v108 + .byte W12 + .byte Gn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte En1 + .byte W12 + .byte Gn1 + .byte W12 + .byte An1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte An1 + .byte W12 + .byte As1 + .byte W12 +mus_battle27_3_006: + .byte N12 , Gn1 , v108 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle27_3_006 +mus_battle27_3_007: + .byte N12 , Gs1 , v108 + .byte W12 + .byte Cs2 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle27_3_007 + .byte PATT + .word mus_battle27_3_006 + .byte N12 , Gn1 , v108 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte En1 + .byte W12 + .byte Cn2 + .byte W12 + .byte En1 + .byte W12 + .byte Cn2 + .byte W12 + .byte PATT + .word mus_battle27_3_002 + .byte PATT + .word mus_battle27_3_002 + .byte PATT + .word mus_battle27_3_002 + .byte N12 , Cn1 , v108 + .byte W12 + .byte Ds1 + .byte W12 + .byte Fs1 + .byte W12 + .byte N24 , Gn1 + .byte W24 + .byte N12 , Cs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Bn0 + .byte W12 + .byte PATT + .word mus_battle27_3_002 + .byte PATT + .word mus_battle27_3_002 + .byte PATT + .word mus_battle27_3_002 + .byte N12 , Cn1 , v108 + .byte W12 + .byte Ds1 + .byte W12 + .byte Fs1 + .byte W12 + .byte N24 , Gn1 + .byte W24 + .byte N12 , Cs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PATT + .word mus_battle27_3_002 + .byte GOTO + .word mus_battle27_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_battle27_4: + .byte KEYSH , mus_battle27_key+0 + .byte VOICE , 4 + .byte VOL , 80*mus_battle27_mvl/mxv + .byte LFOS , 18 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte W18 + .byte PAN , c_v+48 + .byte N06 , Cn6 , v052 + .byte W24 + .byte PAN , c_v-48 + .byte N06 + .byte W24 + .byte PAN , c_v+48 + .byte N06 + .byte W24 + .byte PAN , c_v-47 + .byte N06 + .byte W06 + .byte W18 + .byte PAN , c_v+48 + .byte N06 + .byte W24 + .byte PAN , c_v-48 + .byte N06 + .byte W24 + .byte PAN , c_v+50 + .byte N06 + .byte W24 + .byte PAN , c_v-47 + .byte N06 + .byte W06 + .byte W36 + .byte VOICE , 80 + .byte PAN , c_v+0 + .byte N12 , Gn2 , v060 + .byte W36 + .byte Cn3 + .byte W24 + .byte Cs3 + .byte W36 + .byte Gs2 + .byte W36 + .byte Cs3 + .byte W24 + .byte Cn3 + .byte W36 + .byte Gn2 + .byte W36 + .byte Cn3 + .byte W24 + .byte Cs3 + .byte W36 + .byte Gs2 + .byte W36 + .byte N24 , Fn3 + .byte W24 +mus_battle27_4_000: + .byte N12 , Cn4 , v060 + .byte W36 + .byte Gn3 + .byte W36 + .byte Cn4 + .byte W24 + .byte PEND + .byte Cs4 + .byte W36 + .byte Gs3 + .byte W36 + .byte Cs4 + .byte W24 + .byte PATT + .word mus_battle27_4_000 + .byte N12 , Cs4 , v060 + .byte W36 + .byte Ds4 + .byte W36 + .byte N24 , Fn4 + .byte W24 +mus_battle27_4_001: + .byte VOICE , 80 + .byte PAN , c_v+48 + .byte N12 , Gn2 , v060 + .byte W24 + .byte N36 + .byte W48 + .byte N12 + .byte W24 + .byte PEND +mus_battle27_4_B1: +mus_battle27_4_002: + .byte N12 , Gn2 , v060 + .byte W24 + .byte N36 + .byte W48 + .byte N12 + .byte W24 + .byte PEND + .byte As2 + .byte W24 + .byte N36 + .byte W48 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N36 , An2 + .byte W48 + .byte N24 , Fn2 + .byte W24 + .byte PATT + .word mus_battle27_4_002 + .byte N12 , Gn2 , v060 + .byte W24 + .byte N36 + .byte W48 + .byte N12 , An2 + .byte W24 + .byte As2 + .byte W24 + .byte N24 + .byte W48 + .byte Dn3 + .byte W24 + .byte W24 + .byte N12 , Fn3 + .byte W72 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N72 , En2 + .byte W72 + .byte N24 , Cn2 + .byte W24 + .byte N60 , Gn2 + .byte W72 + .byte N12 , Cn4 + .byte W24 + .byte N48 , Dn4 + .byte W48 + .byte Fn4 + .byte W48 + .byte N24 + .byte W24 + .byte En4 + .byte W24 + .byte Fn5 + .byte W24 + .byte Dn5 + .byte W24 + .byte N48 , En5 + .byte W18 + .byte MOD , 5 + .byte W30 + .byte 0 + .byte W48 + .byte W60 + .byte N12 , Cn4 + .byte W12 + .byte En4 + .byte W24 + .byte N60 , Fn4 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 4 + .byte PAN , c_v+0 + .byte N36 , Cn4 , v072 + .byte W36 + .byte Gn3 + .byte W36 + .byte N24 , Cn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte Cn4 + .byte W24 + .byte As3 + .byte W24 + .byte Cs4 + .byte W24 + .byte N36 , Cn4 + .byte W36 + .byte Gn3 + .byte W36 + .byte N24 , Cn4 + .byte W24 + .byte N36 , En4 + .byte W36 + .byte N24 , Cn4 + .byte W24 + .byte N12 , Cs4 + .byte W12 + .byte N24 , Bn3 + .byte W24 +mus_battle27_4_003: + .byte N12 , Cn4 , v072 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte Cs4 + .byte W12 + .byte PEND + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte PATT + .word mus_battle27_4_003 + .byte N12 , Cn4 , v072 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , Fn4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte PATT + .word mus_battle27_4_001 + .byte GOTO + .word mus_battle27_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_battle27_5: + .byte KEYSH , mus_battle27_key+0 + .byte VOICE , 81 + .byte VOL , 80*mus_battle27_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Cn3 , v064 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte As2 + .byte W12 + .byte Fn3 + .byte W12 + .byte As2 + .byte W12 + .byte Fn3 + .byte W12 + .byte As2 + .byte W12 + .byte Fn3 + .byte W12 + .byte As2 + .byte W12 + .byte Fn3 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+0 + .byte N12 , Gn5 , v048 + .byte W96 +mus_battle27_5_B1: + .byte PAN , c_v-48 + .byte W96 + .byte N48 , Dn3 , v064 + .byte W48 + .byte Fn3 + .byte W48 + .byte N36 , Dn3 + .byte W36 + .byte N60 , Fn3 + .byte W60 + .byte W96 + .byte W96 + .byte W24 + .byte N24 , Dn3 + .byte W48 + .byte Fn3 + .byte W24 + .byte W24 + .byte N12 , As3 + .byte W72 + .byte PAN , c_v+0 + .byte W96 + .byte N72 , Gn2 + .byte W72 + .byte N24 , An2 + .byte W24 + .byte N96 , As2 + .byte W96 + .byte N72 , Dn3 + .byte W72 + .byte N24 , As2 + .byte W24 + .byte N72 , Cn3 + .byte W72 + .byte N24 , Gn2 + .byte W24 + .byte N96 , Cn3 + .byte W96 + .byte N36 , En3 + .byte W36 + .byte N12 , Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte N66 , Cn3 + .byte W84 + .byte PAN , c_v-48 + .byte W12 + .byte N24 , As2 + .byte W24 + .byte Cn3 + .byte W24 + .byte Dn3 + .byte W24 + .byte Fn3 + .byte W24 + .byte N24 + .byte W24 + .byte En3 + .byte W24 + .byte Dn3 + .byte W24 + .byte Cn3 + .byte W24 +mus_battle27_5_000: + .byte N24 , En3 , v064 + .byte W24 + .byte Gn2 + .byte W24 + .byte En3 + .byte W24 + .byte Gn2 + .byte W24 + .byte PEND + .byte En3 + .byte W24 + .byte Fn3 + .byte W24 + .byte Gn3 + .byte W24 + .byte N12 , Cn4 + .byte W24 + .byte N24 , Cs3 + .byte W24 + .byte Ds3 + .byte W24 + .byte Fn3 + .byte W24 + .byte Gs3 + .byte W24 + .byte As3 + .byte W24 + .byte Cs4 + .byte W24 + .byte As3 + .byte W24 + .byte Fn3 + .byte W24 + .byte PATT + .word mus_battle27_5_000 + .byte N48 , Gn3 , v064 + .byte W48 + .byte Cn4 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+0 + .byte W96 + .byte GOTO + .word mus_battle27_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_battle27_6: + .byte KEYSH , mus_battle27_key+0 + .byte VOL , 80*mus_battle27_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_battle27_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte BEND , c_v-2 + .byte W12 + .byte VOICE , 5 + .byte PAN , c_v-32 + .byte N36 , Cn4 , v032 + .byte W36 + .byte Gn3 + .byte W36 + .byte N24 , Cn4 + .byte W12 + .byte W12 + .byte Cs4 + .byte W24 + .byte Cn4 + .byte W24 + .byte As3 + .byte W24 + .byte Cs4 + .byte W12 + .byte W12 + .byte N36 , Cn4 + .byte W36 + .byte Gn3 + .byte W36 + .byte N24 , Cn4 + .byte W12 + .byte W12 + .byte N36 , En4 + .byte W36 + .byte N24 , Cn4 + .byte W24 + .byte N12 , Cs4 + .byte W12 + .byte N24 , Bn3 + .byte W12 + .byte W12 + .byte N12 , Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , Fn4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte W96 + .byte GOTO + .word mus_battle27_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_battle27_7: + .byte KEYSH , mus_battle27_key+0 + .byte VOICE , 0 + .byte VOL , 80*mus_battle27_mvl/mxv + .byte W96 + .byte W72 + .byte N12 , Dn1 , v112 + .byte W12 + .byte N12 + .byte W12 +mus_battle27_7_000: + .byte W24 + .byte N12 , Dn1 , v112 + .byte W48 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 +mus_battle27_7_B1: + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte W24 + .byte N12 , Dn1 , v112 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte PATT + .word mus_battle27_7_000 + .byte GOTO + .word mus_battle27_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_battle27_8: + .byte KEYSH , mus_battle27_key+0 + .byte VOICE , 47 + .byte VOL , 80*mus_battle27_mvl/mxv + .byte PAN , c_v-10 + .byte W96 + .byte N12 , Cn2 , v112 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W48 +mus_battle27_8_000: + .byte N12 , Cn2 , v112 + .byte W48 + .byte N12 + .byte W12 + .byte N12 + .byte W36 + .byte PEND + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 +mus_battle27_8_B1: + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte N12 , Cn2 , v112 + .byte W60 + .byte N12 + .byte W36 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte PATT + .word mus_battle27_8_000 + .byte GOTO + .word mus_battle27_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_battle27: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_battle27_pri @ Priority + .byte mus_battle27_rev @ Reverb. + + .word mus_battle27_grp + + .word mus_battle27_1 + .word mus_battle27_2 + .word mus_battle27_3 + .word mus_battle27_4 + .word mus_battle27_5 + .word mus_battle27_6 + .word mus_battle27_7 + .word mus_battle27_8 + + .end diff --git a/sound/songs/mus_battle30.s b/sound/songs/mus_battle30.s new file mode 100644 index 0000000000..468d830fd6 --- /dev/null +++ b/sound/songs/mus_battle30.s @@ -0,0 +1,2749 @@ + .include "MPlayDef.s" + + .equ mus_battle30_grp, voicegroup_869CAF4 + .equ mus_battle30_pri, 1 + .equ mus_battle30_rev, reverb_set+50 + .equ mus_battle30_mvl, 127 + .equ mus_battle30_key, 0 + .equ mus_battle30_tbs, 1 + .equ mus_battle30_exg, 0 + .equ mus_battle30_cmp, 1 + + .section .rodata + .global mus_battle30 + .align 2 + +@********************** Track 1 **********************@ + +mus_battle30_1: + .byte KEYSH , mus_battle30_key+0 + .byte TEMPO , 202*mus_battle30_tbs/2 + .byte LFOS , 16 + .byte VOL , 80*mus_battle30_mvl/mxv + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte PAN , c_v-8 + .byte N48 , En2 , v108 + .byte W01 + .byte VOICE , 48 + .byte W44 + .byte W03 + .byte N12 , Fn2 + .byte W36 + .byte N36 , Cn2 + .byte W36 + .byte N12 , Ds2 + .byte W24 +mus_battle30_1_000: + .byte N12 , Fn2 , v108 + .byte W36 + .byte N36 , Cn2 + .byte W36 + .byte N12 , En2 + .byte W24 + .byte PEND +mus_battle30_1_001: + .byte N12 , Fn2 , v108 + .byte W36 + .byte N24 , As2 + .byte W24 + .byte N12 , Gs2 + .byte W12 + .byte Fs2 + .byte W12 + .byte En2 + .byte W12 + .byte PEND +mus_battle30_1_002: + .byte N12 , Fn2 , v108 + .byte W36 + .byte N36 , Cn2 + .byte W36 + .byte N12 , Fs2 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle30_1_000 + .byte PATT + .word mus_battle30_1_000 + .byte PATT + .word mus_battle30_1_001 +mus_battle30_1_003: + .byte N12 , Fn2 , v108 + .byte W36 + .byte Cn2 + .byte W12 + .byte N48 , Fn2 + .byte W48 + .byte PEND +mus_battle30_1_B1: + .byte PAN , c_v-8 + .byte N12 , Gn2 , v108 + .byte W36 + .byte N36 , Dn2 + .byte W36 + .byte N12 , Fn2 + .byte W24 +mus_battle30_1_004: + .byte N12 , Gn2 , v108 + .byte W36 + .byte N36 , Dn2 + .byte W36 + .byte N12 , Fs2 + .byte W24 + .byte PEND +mus_battle30_1_005: + .byte N12 , Gn2 , v108 + .byte W36 + .byte N24 , Cn3 + .byte W24 + .byte N12 , As2 + .byte W12 + .byte Gs2 + .byte W12 + .byte Fs2 + .byte W12 + .byte PEND + .byte Gn2 + .byte W36 + .byte N36 , Dn2 + .byte W36 + .byte N12 , Gs2 + .byte W24 + .byte PATT + .word mus_battle30_1_004 + .byte PATT + .word mus_battle30_1_004 + .byte PATT + .word mus_battle30_1_005 + .byte N12 , Gn2 , v108 + .byte W36 + .byte Dn2 + .byte W12 + .byte N48 , Ds3 + .byte W48 + .byte PAN , c_v+10 + .byte N36 , En3 , v096 + .byte W36 + .byte Ds3 + .byte W36 + .byte N24 , Bn2 + .byte W24 + .byte N36 , Dn3 + .byte W36 + .byte Cn3 + .byte W36 + .byte N24 , An2 + .byte W24 + .byte N36 , Bn2 + .byte W36 + .byte Cn3 + .byte W36 + .byte N24 , Bn2 + .byte W24 + .byte TIE , Gs2 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , Gs1 , v100 + .byte W96 + .byte W96 + .byte EOT + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_battle30_1_006: + .byte N36 , Cn2 , v108 + .byte W36 + .byte Cs2 + .byte W36 + .byte N24 , Fs2 + .byte W24 + .byte PEND + .byte N36 , Fn2 + .byte W36 + .byte Cs2 + .byte W36 + .byte N24 , Bn1 + .byte W24 + .byte PATT + .word mus_battle30_1_006 + .byte N36 , Fn2 , v108 + .byte W36 + .byte Fs2 + .byte W36 + .byte N24 , Gs2 + .byte W24 + .byte PAN , c_v-30 + .byte N12 , Gn2 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Gs2 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte N12 + .byte W03 + .byte VOICE , 56 + .byte W09 + .byte N24 , As2 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Cn3 + .byte W24 + .byte N12 , Cs3 + .byte W12 + .byte Cn3 + .byte W12 + .byte An2 + .byte W12 + .byte Gs2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Gs2 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , As2 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Cn3 + .byte W24 + .byte Cs3 + .byte W24 + .byte Cn3 + .byte W24 + .byte VOICE , 60 + .byte N12 , Gn3 , v096 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Gs3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , As3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte N12 , Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Gs3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , As3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte Cn4 + .byte W24 + .byte N96 + .byte W96 + .byte Fs3 + .byte W96 + .byte Fn3 + .byte W96 + .byte Cn3 + .byte W96 + .byte N96 + .byte W96 + .byte Fs2 + .byte W96 + .byte Fn2 + .byte W96 + .byte Fs2 + .byte W96 + .byte VOICE , 48 + .byte PAN , c_v-8 + .byte N12 , Fn2 , v108 + .byte W36 + .byte N36 , Cn2 + .byte W36 + .byte N12 , Ds2 + .byte W24 + .byte PATT + .word mus_battle30_1_000 + .byte PATT + .word mus_battle30_1_001 + .byte PATT + .word mus_battle30_1_002 + .byte PATT + .word mus_battle30_1_000 + .byte PATT + .word mus_battle30_1_000 + .byte PATT + .word mus_battle30_1_001 + .byte PATT + .word mus_battle30_1_003 + .byte GOTO + .word mus_battle30_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_battle30_2: + .byte KEYSH , mus_battle30_key+0 + .byte LFOS , 16 + .byte VOL , 80*mus_battle30_mvl/mxv + .byte PAN , c_v+0 + .byte W48 + .byte W96 + .byte W96 + .byte W90 + .byte VOICE , 56 + .byte N06 , Dn3 , v120 + .byte W06 +mus_battle30_2_000: + .byte N96 , Ds3 , v120 + .byte W48 + .byte MOD , 6 + .byte W48 + .byte PEND + .byte 0 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N12 , Ds3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Cs3 + .byte W12 + .byte PATT + .word mus_battle30_2_000 + .byte MOD , 0 + .byte W12 + .byte N12 , Ds3 , v120 + .byte W12 + .byte Cs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte PATT + .word mus_battle30_2_000 + .byte MOD , 0 + .byte W12 + .byte N12 , Ds3 , v120 + .byte W12 + .byte Cs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Cs3 + .byte W12 + .byte TIE , Ds3 + .byte W48 + .byte MOD , 6 + .byte W32 + .byte W01 + .byte VOL , 76*mus_battle30_mvl/mxv + .byte W09 + .byte 73*mus_battle30_mvl/mxv + .byte W06 + .byte W03 + .byte 68*mus_battle30_mvl/mxv + .byte W09 + .byte 59*mus_battle30_mvl/mxv + .byte W09 + .byte 50*mus_battle30_mvl/mxv + .byte W09 + .byte 38*mus_battle30_mvl/mxv + .byte W06 + .byte 25*mus_battle30_mvl/mxv + .byte W06 + .byte 13*mus_battle30_mvl/mxv + .byte W06 + .byte EOT + .byte MOD , 0 + .byte W42 + .byte VOL , 80*mus_battle30_mvl/mxv + .byte N06 , En3 , v124 + .byte W06 +mus_battle30_2_001: + .byte N96 , Fn3 , v124 + .byte W48 + .byte MOD , 6 + .byte W48 + .byte PEND +mus_battle30_2_002: + .byte MOD , 0 + .byte W06 + .byte N06 , En3 , v124 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle30_2_001 +mus_battle30_2_003: + .byte MOD , 0 + .byte W12 + .byte N12 , Fn3 , v124 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte As3 + .byte W12 + .byte Fs3 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle30_2_001 +mus_battle30_2_004: + .byte MOD , 0 + .byte W12 + .byte N12 , Fn3 , v124 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte PEND + .byte TIE , Fn3 + .byte W48 + .byte MOD , 6 + .byte W48 + .byte W48 + .byte EOT + .byte MOD , 0 + .byte N48 , Fs3 + .byte W48 +mus_battle30_2_B1: +mus_battle30_2_005: + .byte N96 , Gn3 , v124 + .byte W48 + .byte MOD , 6 + .byte W48 + .byte PEND +mus_battle30_2_006: + .byte MOD , 0 + .byte W12 + .byte N12 , Gn3 , v124 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle30_2_005 + .byte MOD , 0 + .byte W12 + .byte N12 , Gn3 , v124 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte PATT + .word mus_battle30_2_005 + .byte PATT + .word mus_battle30_2_006 + .byte N72 , Gn3 , v124 + .byte W36 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte N72 , Dn4 , v120 + .byte W24 + .byte W12 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte N48 , Cn4 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte VOICE , 48 + .byte PAN , c_v-10 + .byte MOD , 0 + .byte N36 , Bn3 , v108 + .byte W36 + .byte As3 + .byte W36 + .byte N24 , Fs3 + .byte W24 + .byte N36 , An3 + .byte W36 + .byte Gn3 + .byte W36 + .byte N24 , En3 + .byte W24 + .byte N36 , Fs3 + .byte W36 + .byte Gn3 + .byte W36 + .byte N24 , Fs3 + .byte W24 + .byte TIE , Ds3 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , Ds2 , v112 + .byte W96 + .byte W96 + .byte EOT + .byte VOICE , 60 + .byte N36 , Cn2 , v116 + .byte W36 + .byte Cs2 + .byte W36 + .byte N24 , Fs2 + .byte W24 + .byte N36 , Fn2 + .byte W36 + .byte Cs2 + .byte W36 + .byte N24 , Bn1 + .byte W24 + .byte N36 , Cn2 + .byte W36 + .byte Cs2 + .byte W36 + .byte N24 , Fs2 + .byte W24 + .byte N36 , Fn2 + .byte W36 + .byte Fs2 + .byte W36 + .byte N24 , Ds2 + .byte W24 +mus_battle30_2_007: + .byte N36 , Fn2 , v116 + .byte W36 + .byte Fs2 + .byte W36 + .byte N24 , Bn2 + .byte W24 + .byte PEND + .byte N36 , As2 + .byte W36 + .byte Fs2 + .byte W36 + .byte N24 , En2 + .byte W24 + .byte PATT + .word mus_battle30_2_007 + .byte N36 , As2 , v116 + .byte W36 + .byte Bn2 + .byte W36 + .byte N24 , Cs3 + .byte W24 + .byte VOICE , 56 + .byte N12 , Cn3 , v120 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Cs3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Ds3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Cs3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Ds3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte Fn3 + .byte W24 + .byte En3 + .byte W24 + .byte VOICE , 48 + .byte N12 , Cn4 , v108 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Ds4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte N12 , Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Ds4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte Fn4 + .byte W24 + .byte En4 + .byte W24 + .byte TIE , Fn4 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , Fn5 , v100 + .byte W24 + .byte VOL , 78*mus_battle30_mvl/mxv + .byte W15 + .byte 74*mus_battle30_mvl/mxv + .byte W15 + .byte 70*mus_battle30_mvl/mxv + .byte W12 + .byte 68*mus_battle30_mvl/mxv + .byte W12 + .byte 65*mus_battle30_mvl/mxv + .byte W12 + .byte 62*mus_battle30_mvl/mxv + .byte W06 + .byte W09 + .byte 59*mus_battle30_mvl/mxv + .byte W12 + .byte 55*mus_battle30_mvl/mxv + .byte W18 + .byte 58*mus_battle30_mvl/mxv + .byte W15 + .byte 61*mus_battle30_mvl/mxv + .byte W12 + .byte 63*mus_battle30_mvl/mxv + .byte W12 + .byte 66*mus_battle30_mvl/mxv + .byte W12 + .byte 69*mus_battle30_mvl/mxv + .byte W06 + .byte W06 + .byte 70*mus_battle30_mvl/mxv + .byte W12 + .byte 74*mus_battle30_mvl/mxv + .byte W12 + .byte 77*mus_battle30_mvl/mxv + .byte W09 + .byte 80*mus_battle30_mvl/mxv + .byte W56 + .byte W01 + .byte W18 + .byte 76*mus_battle30_mvl/mxv + .byte W09 + .byte 72*mus_battle30_mvl/mxv + .byte W09 + .byte 68*mus_battle30_mvl/mxv + .byte W09 + .byte 62*mus_battle30_mvl/mxv + .byte W09 + .byte 56*mus_battle30_mvl/mxv + .byte W09 + .byte 46*mus_battle30_mvl/mxv + .byte W06 + .byte 34*mus_battle30_mvl/mxv + .byte W06 + .byte 22*mus_battle30_mvl/mxv + .byte W03 + .byte 10*mus_battle30_mvl/mxv + .byte W03 + .byte 5*mus_battle30_mvl/mxv + .byte W06 + .byte EOT + .byte W03 + .byte VOICE , 56 + .byte VOL , 80*mus_battle30_mvl/mxv + .byte N06 , En3 , v124 + .byte W06 + .byte PATT + .word mus_battle30_2_001 + .byte PATT + .word mus_battle30_2_002 + .byte PATT + .word mus_battle30_2_001 + .byte PATT + .word mus_battle30_2_003 + .byte PATT + .word mus_battle30_2_001 + .byte PATT + .word mus_battle30_2_004 + .byte N72 , Fn3 , v124 + .byte W36 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte N48 , Cn4 , v120 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , Fn3 + .byte W24 + .byte N48 , Fs3 + .byte W24 + .byte MOD , 6 + .byte W21 + .byte 0 + .byte W03 + .byte GOTO + .word mus_battle30_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_battle30_3: + .byte KEYSH , mus_battle30_key+0 + .byte VOICE , 33 + .byte VOL , 80*mus_battle30_mvl/mxv + .byte N24 , Ds0 , v116 + .byte W24 + .byte Fs0 + .byte W24 + .byte En0 + .byte W24 + .byte Ds0 + .byte W24 + .byte Cs0 + .byte W24 + .byte En0 + .byte W24 + .byte Ds0 + .byte W24 + .byte Cs0 + .byte W24 + .byte Ds0 + .byte W24 + .byte Fs0 + .byte W24 + .byte En0 + .byte W24 + .byte Ds0 + .byte W24 + .byte Cs0 + .byte W24 + .byte BnM1 + .byte W24 + .byte N12 , Ds0 + .byte W12 + .byte As0 + .byte W12 + .byte Ds0 + .byte W12 + .byte As0 + .byte W12 + .byte Ds0 + .byte W12 + .byte As0 + .byte W12 + .byte Ds0 + .byte W12 + .byte As0 + .byte W12 +mus_battle30_3_000: + .byte N12 , Ds0 , v116 + .byte W12 + .byte As0 + .byte W12 + .byte Ds0 + .byte W12 + .byte As0 + .byte W12 + .byte Fs0 + .byte W12 + .byte Gs0 + .byte W12 + .byte As0 + .byte W12 + .byte Bn0 + .byte W12 + .byte PEND +mus_battle30_3_001: + .byte N12 , Ds0 , v116 + .byte W12 + .byte As0 + .byte W12 + .byte Ds0 + .byte W12 + .byte As0 + .byte W12 + .byte Ds0 + .byte W12 + .byte Fs0 + .byte W12 + .byte As0 + .byte W12 + .byte Bn0 + .byte W12 + .byte PEND + .byte Ds0 + .byte W12 + .byte As0 + .byte W12 + .byte Ds0 + .byte W12 + .byte As0 + .byte W12 + .byte Ds0 + .byte W12 + .byte Bn0 + .byte W12 + .byte As0 + .byte W12 + .byte Gs0 + .byte W12 + .byte Ds0 + .byte W12 + .byte As0 + .byte W12 + .byte Ds0 + .byte W12 + .byte As0 + .byte W12 + .byte Ds0 + .byte W12 + .byte As0 + .byte W12 + .byte Ds0 + .byte W12 + .byte Bn0 + .byte W12 + .byte PATT + .word mus_battle30_3_000 + .byte PATT + .word mus_battle30_3_001 + .byte N12 , Ds0 , v116 + .byte W12 + .byte As0 + .byte W12 + .byte Ds0 + .byte W12 + .byte As0 + .byte W12 + .byte Ds0 + .byte W12 + .byte As0 + .byte W12 + .byte An0 + .byte W12 + .byte As0 + .byte W12 +mus_battle30_3_002: + .byte N12 , Fn0 , v116 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte PEND +mus_battle30_3_003: + .byte N12 , Fn0 , v116 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gs0 + .byte W12 + .byte As0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte PEND +mus_battle30_3_004: + .byte N12 , Fn0 , v116 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn0 + .byte W12 + .byte Gs0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte PEND +mus_battle30_3_005: + .byte N12 , Fn0 , v116 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn0 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte As0 + .byte W12 + .byte PEND +mus_battle30_3_006: + .byte N12 , Fn0 , v116 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn0 + .byte W12 + .byte Cs1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle30_3_003 + .byte PATT + .word mus_battle30_3_004 +mus_battle30_3_007: + .byte N12 , Fn0 , v116 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn0 + .byte W12 + .byte Fs0 + .byte W12 + .byte Gn0 + .byte W12 + .byte An0 + .byte W12 + .byte PEND +mus_battle30_3_B1: +mus_battle30_3_008: + .byte N12 , Gn0 , v116 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Dn1 + .byte W12 + .byte PEND +mus_battle30_3_009: + .byte N12 , Gn0 , v116 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Dn1 + .byte W12 + .byte As0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte PEND +mus_battle30_3_010: + .byte N12 , Gn0 , v116 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte As0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte PEND + .byte Gn0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Ds1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Ds1 + .byte W12 + .byte PATT + .word mus_battle30_3_009 + .byte PATT + .word mus_battle30_3_010 + .byte N12 , Gn0 , v116 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Gs0 + .byte W12 + .byte An0 + .byte W12 + .byte Bn0 + .byte W12 + .byte PATT + .word mus_battle30_3_008 + .byte PATT + .word mus_battle30_3_008 + .byte N12 , Gn0 , v116 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Dn1 + .byte W12 +mus_battle30_3_011: + .byte N12 , Gs0 , v116 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gs0 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gs0 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gs0 + .byte W12 + .byte Ds1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle30_3_011 + .byte PATT + .word mus_battle30_3_011 + .byte PATT + .word mus_battle30_3_011 + .byte PATT + .word mus_battle30_3_002 +mus_battle30_3_012: + .byte N12 , Fn0 , v116 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle30_3_002 + .byte PATT + .word mus_battle30_3_012 + .byte PATT + .word mus_battle30_3_002 + .byte PATT + .word mus_battle30_3_012 + .byte PATT + .word mus_battle30_3_002 + .byte N12 , Fn0 , v116 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Ds1 + .byte W12 +mus_battle30_3_013: + .byte N12 , Gn0 , v116 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Ds1 + .byte W12 + .byte PEND + .byte Cn1 + .byte W12 + .byte N12 + .byte W12 + .byte Gn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PATT + .word mus_battle30_3_013 + .byte N12 , Cn1 , v116 + .byte W12 + .byte N12 + .byte W12 + .byte Gn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte N12 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte As0 + .byte W12 + .byte N12 + .byte W12 + .byte Cn1 + .byte W12 + .byte N12 + .byte W12 + .byte Gn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte As0 + .byte W12 + .byte Ds1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N12 + .byte W12 + .byte Gn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Cs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte En1 + .byte W12 + .byte PATT + .word mus_battle30_3_002 + .byte PATT + .word mus_battle30_3_002 + .byte PATT + .word mus_battle30_3_002 + .byte PATT + .word mus_battle30_3_002 + .byte PATT + .word mus_battle30_3_002 + .byte PATT + .word mus_battle30_3_002 + .byte PATT + .word mus_battle30_3_002 + .byte N12 , Fn0 , v116 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PATT + .word mus_battle30_3_002 + .byte PATT + .word mus_battle30_3_003 + .byte PATT + .word mus_battle30_3_004 + .byte PATT + .word mus_battle30_3_005 + .byte PATT + .word mus_battle30_3_006 + .byte PATT + .word mus_battle30_3_003 + .byte PATT + .word mus_battle30_3_004 + .byte PATT + .word mus_battle30_3_007 + .byte GOTO + .word mus_battle30_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_battle30_4: + .byte KEYSH , mus_battle30_key+0 + .byte LFOS , 16 + .byte VOL , 80*mus_battle30_mvl/mxv + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 80 + .byte PAN , c_v-48 + .byte N06 , Ds4 , v052 + .byte W36 + .byte N06 + .byte W36 + .byte N06 + .byte W24 +mus_battle30_4_000: + .byte N06 , Ds4 , v052 + .byte W36 + .byte N06 + .byte W36 + .byte N24 , En4 + .byte W24 + .byte PEND + .byte N06 , Ds4 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_battle30_4_000 + .byte N06 , Ds4 , v052 + .byte W96 + .byte W96 + .byte Fn4 + .byte W36 + .byte N06 + .byte W36 + .byte N06 + .byte W24 +mus_battle30_4_001: + .byte N06 , Fn4 , v052 + .byte W36 + .byte N06 + .byte W36 + .byte N24 , Fs4 + .byte W24 + .byte PEND + .byte N06 , Fn4 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_battle30_4_001 + .byte N06 , Fn4 , v052 + .byte W96 + .byte W96 +mus_battle30_4_B1: + .byte PAN , c_v-48 + .byte N06 , Gn4 , v052 + .byte W36 + .byte N06 + .byte W36 + .byte N06 + .byte W24 +mus_battle30_4_002: + .byte N06 , Gn4 , v052 + .byte W36 + .byte N06 + .byte W36 + .byte N24 , Gs4 + .byte W24 + .byte PEND + .byte N06 , Gn4 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_battle30_4_002 + .byte N06 , Gn4 , v052 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+0 + .byte W12 + .byte VOICE , 4 + .byte N12 , Cn3 , v060 + .byte W12 + .byte As2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Cn3 + .byte W12 + .byte As2 + .byte W12 + .byte N96 , Cn3 + .byte W48 + .byte MOD , 6 + .byte W48 + .byte 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 4 + .byte PAN , c_v+48 + .byte N12 , Cn2 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Cs2 + .byte W24 + .byte N12 , Cn2 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Ds2 + .byte W24 + .byte N12 , Cn2 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , En2 + .byte W24 + .byte N12 , Fn2 + .byte W12 + .byte En2 + .byte W12 + .byte Cs2 + .byte W12 + .byte Cn2 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Cs2 + .byte W24 + .byte N12 , Cn2 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Ds2 + .byte W24 + .byte N12 , Cn2 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , En2 + .byte W24 + .byte Fn2 + .byte W24 + .byte En2 + .byte W24 +mus_battle30_4_003: + .byte N12 , Cn3 , v060 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Cs3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Ds3 + .byte W24 + .byte PEND + .byte N12 , Cn3 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Cn3 + .byte W12 + .byte PATT + .word mus_battle30_4_003 + .byte N12 , Cn3 , v060 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte En3 + .byte W12 + .byte VOICE , 5 + .byte N12 , Fn3 , v072 + .byte W12 + .byte VOICE , 6 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 5 + .byte N12 , Bn2 + .byte W12 + .byte VOICE , 6 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 5 + .byte N12 , As2 + .byte W12 + .byte VOICE , 6 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 5 + .byte N12 , Fs2 + .byte W12 + .byte VOICE , 6 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 5 + .byte N12 , Fn2 + .byte W12 + .byte VOICE , 6 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 5 + .byte N12 , Bn1 + .byte W12 + .byte VOICE , 6 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 5 + .byte N12 , As1 + .byte W12 + .byte VOICE , 6 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 5 + .byte N12 , Cn2 + .byte W12 + .byte VOICE , 6 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 80 + .byte PAN , c_v-48 + .byte N06 , Fn4 , v052 + .byte W36 + .byte N06 + .byte W36 + .byte N24 , Fs4 + .byte W24 + .byte N06 , Fn4 + .byte W96 + .byte W96 + .byte GOTO + .word mus_battle30_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_battle30_5: + .byte KEYSH , mus_battle30_key+0 + .byte LFOS , 16 + .byte VOL , 80*mus_battle30_mvl/mxv + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte BEND , c_v+0 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 82 + .byte PAN , c_v+48 + .byte N06 , As3 , v052 + .byte W36 + .byte N06 + .byte W36 + .byte N06 + .byte W24 +mus_battle30_5_000: + .byte N06 , As3 , v052 + .byte W36 + .byte N06 + .byte W36 + .byte N24 , Bn3 + .byte W24 + .byte PEND + .byte N06 , As3 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_battle30_5_000 + .byte N06 , As3 , v052 + .byte W96 + .byte W96 + .byte Cn4 + .byte W36 + .byte N06 + .byte W36 + .byte N06 + .byte W24 +mus_battle30_5_001: + .byte N06 , Cn4 , v052 + .byte W36 + .byte N06 + .byte W36 + .byte N24 , Cs4 + .byte W24 + .byte PEND + .byte N06 , Cn4 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_battle30_5_001 + .byte N06 , Cn4 , v052 + .byte W96 + .byte W96 +mus_battle30_5_B1: + .byte PAN , c_v+48 + .byte N06 , Dn4 , v052 + .byte W36 + .byte N06 + .byte W36 + .byte N06 + .byte W24 +mus_battle30_5_002: + .byte N06 , Dn4 , v052 + .byte W36 + .byte N06 + .byte W36 + .byte N24 , Ds4 + .byte W24 + .byte PEND + .byte N06 , Dn4 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_battle30_5_002 + .byte N06 , Dn4 , v052 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+0 + .byte BEND , c_v-3 + .byte W18 + .byte VOICE , 5 + .byte N12 , Cn3 , v032 + .byte W12 + .byte As2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Cn3 + .byte W12 + .byte As2 + .byte W06 + .byte W06 + .byte Cn3 + .byte W12 + .byte VOICE , 6 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 0 + .byte W96 + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 4 + .byte PAN , c_v+0 + .byte BEND , c_v-2 + .byte N12 , Bn1 , v072 + .byte W12 + .byte Ds2 + .byte W12 + .byte En2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Gn2 + .byte W12 + .byte An2 + .byte W12 + .byte As2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte As2 + .byte W12 + .byte An2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte En2 + .byte W12 + .byte Ds2 + .byte W12 + .byte Cs2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Gs2 + .byte W12 + .byte An2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte Gs2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Ds2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte As2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte As2 + .byte W12 + .byte Gs2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte As2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Cn3 + .byte W12 + .byte As2 + .byte W12 + .byte An2 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 82 + .byte PAN , c_v+48 + .byte BEND , c_v+0 + .byte N06 , Cn4 , v052 + .byte W36 + .byte N06 + .byte W36 + .byte N24 , Cs4 + .byte W24 + .byte N06 , Cn4 + .byte W96 + .byte W96 + .byte GOTO + .word mus_battle30_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_battle30_6: + .byte KEYSH , mus_battle30_key+0 + .byte VOICE , 81 + .byte VOL , 80*mus_battle30_mvl/mxv + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte N12 , Cn3 , v048 + .byte W24 + .byte N12 + .byte W24 +mus_battle30_6_000: + .byte N12 , Cn3 , v048 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte PEND +mus_battle30_6_001: + .byte N12 , Cn3 , v048 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte N06 , Fn2 + .byte W06 + .byte As2 + .byte W06 + .byte PEND + .byte PATT + .word mus_battle30_6_000 +mus_battle30_6_002: + .byte N12 , Cn3 , v048 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte N06 , Cs3 + .byte W06 + .byte N06 + .byte W06 + .byte PEND + .byte PATT + .word mus_battle30_6_000 + .byte PATT + .word mus_battle30_6_001 + .byte PATT + .word mus_battle30_6_000 +mus_battle30_6_003: + .byte N12 , Cn3 , v048 + .byte W36 + .byte N12 + .byte W12 + .byte Cs3 + .byte W24 + .byte N12 + .byte W24 + .byte PEND +mus_battle30_6_B1: +mus_battle30_6_004: + .byte N12 , Dn3 , v048 + .byte W24 + .byte Gn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn2 + .byte W24 + .byte Dn3 + .byte W24 + .byte PEND +mus_battle30_6_005: + .byte N12 , Dn3 , v048 + .byte W24 + .byte Fn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N06 , Gn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte PEND + .byte PATT + .word mus_battle30_6_004 + .byte N12 , Dn3 , v048 + .byte W24 + .byte Fn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word mus_battle30_6_004 + .byte PATT + .word mus_battle30_6_005 + .byte N12 , Dn3 , v048 + .byte W24 + .byte Gn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn2 + .byte W24 + .byte Dn3 + .byte W24 + .byte N12 + .byte W12 + .byte Gn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N48 , Gn3 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_battle30_6_000 + .byte PATT + .word mus_battle30_6_001 + .byte PATT + .word mus_battle30_6_000 + .byte PATT + .word mus_battle30_6_002 + .byte PATT + .word mus_battle30_6_000 + .byte PATT + .word mus_battle30_6_001 + .byte PATT + .word mus_battle30_6_000 + .byte PATT + .word mus_battle30_6_003 + .byte GOTO + .word mus_battle30_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_battle30_7: + .byte KEYSH , mus_battle30_key+0 + .byte VOICE , 127 + .byte VOL , 80*mus_battle30_mvl/mxv + .byte PAN , c_v-8 + .byte N96 , Gn2 , v116 + .byte W48 + .byte W48 + .byte N48 + .byte W48 + .byte VOICE , 126 + .byte N96 , Bn2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte PAN , c_v+0 + .byte W24 + .byte VOICE , 0 + .byte N12 , Dn1 , v112 + .byte W24 +mus_battle30_7_000: + .byte W24 + .byte N12 , Dn1 , v112 + .byte W48 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 +mus_battle30_7_B1: + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 +mus_battle30_7_001: + .byte W24 + .byte N12 , Dn1 , v112 + .byte W48 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 +mus_battle30_7_002: + .byte W24 + .byte N12 , Ds1 , v092 + .byte W48 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle30_7_002 + .byte PATT + .word mus_battle30_7_002 + .byte W24 + .byte N12 , Dn1 , v112 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_001 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte W12 + .byte N12 , Dn1 , v112 + .byte W72 + .byte N12 + .byte W12 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 +mus_battle30_7_003: + .byte W24 + .byte N12 , Dn1 , v112 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_003 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte PATT + .word mus_battle30_7_000 + .byte GOTO + .word mus_battle30_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_battle30_8: + .byte KEYSH , mus_battle30_key+0 + .byte VOICE , 47 + .byte VOL , 80*mus_battle30_mvl/mxv + .byte PAN , c_v+8 + .byte N96 , Ds2 , v112 + .byte W48 + .byte W48 + .byte N48 + .byte W48 + .byte N96 + .byte W96 + .byte W24 + .byte N24 , Gn2 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 +mus_battle30_8_000: + .byte N36 , Gn2 , v112 + .byte W36 + .byte N36 + .byte W36 + .byte N24 , Cn2 + .byte W24 + .byte PEND +mus_battle30_8_001: + .byte N36 , Gn2 , v112 + .byte W36 + .byte N36 + .byte W36 + .byte N12 , Cn2 + .byte W12 + .byte N06 + .byte W06 + .byte Fn2 + .byte W06 + .byte PEND + .byte PATT + .word mus_battle30_8_000 + .byte PATT + .word mus_battle30_8_001 + .byte PATT + .word mus_battle30_8_000 + .byte PATT + .word mus_battle30_8_000 + .byte PATT + .word mus_battle30_8_000 + .byte N36 , Gn2 , v112 + .byte W36 + .byte N36 + .byte W48 + .byte N06 , Cn2 + .byte W06 + .byte Fn2 + .byte W06 +mus_battle30_8_002: + .byte N12 , Gn2 , v112 + .byte W36 + .byte N12 + .byte W60 + .byte PEND + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 +mus_battle30_8_003: + .byte N12 , Gn2 , v112 + .byte W36 + .byte N12 + .byte W48 + .byte N06 , Cn2 + .byte W06 + .byte Fn2 + .byte W06 + .byte PEND + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 +mus_battle30_8_B1: + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_003 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_003 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte N12 , Gn2 , v112 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W36 +mus_battle30_8_004: + .byte N12 , Gn2 , v112 + .byte W12 + .byte Dn2 + .byte W24 + .byte Gn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte N12 + .byte W24 + .byte Fn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle30_8_004 + .byte PATT + .word mus_battle30_8_004 + .byte N12 , Gn2 , v112 + .byte W12 + .byte Dn2 + .byte W24 + .byte Gn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn2 + .byte W24 + .byte Dn2 + .byte W12 + .byte PATT + .word mus_battle30_8_004 + .byte PATT + .word mus_battle30_8_004 + .byte PATT + .word mus_battle30_8_004 + .byte N12 , Gn2 , v112 + .byte W12 + .byte Dn2 + .byte W24 + .byte Gn2 + .byte W12 + .byte Dn2 + .byte W24 + .byte N12 + .byte W24 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_003 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte PATT + .word mus_battle30_8_002 + .byte GOTO + .word mus_battle30_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_battle30: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_battle30_pri @ Priority + .byte mus_battle30_rev @ Reverb. + + .word mus_battle30_grp + + .word mus_battle30_1 + .word mus_battle30_2 + .word mus_battle30_3 + .word mus_battle30_4 + .word mus_battle30_5 + .word mus_battle30_6 + .word mus_battle30_7 + .word mus_battle30_8 + + .end diff --git a/sound/songs/mus_battle31.s b/sound/songs/mus_battle31.s new file mode 100644 index 0000000000..73a1cafbf9 --- /dev/null +++ b/sound/songs/mus_battle31.s @@ -0,0 +1,3263 @@ + .include "MPlayDef.s" + + .equ mus_battle31_grp, voicegroup_869A82C + .equ mus_battle31_pri, 1 + .equ mus_battle31_rev, reverb_set+50 + .equ mus_battle31_mvl, 127 + .equ mus_battle31_key, 0 + .equ mus_battle31_tbs, 1 + .equ mus_battle31_exg, 0 + .equ mus_battle31_cmp, 1 + + .section .rodata + .global mus_battle31 + .align 2 + +@********************** Track 1 **********************@ + +mus_battle31_1: + .byte KEYSH , mus_battle31_key+0 + .byte TEMPO , 200*mus_battle31_tbs/2 + .byte VOICE , 46 + .byte VOL , 80*mus_battle31_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , As4 , v092 + .byte W06 + .byte Fn4 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte PAN , c_v+13 + .byte N06 , Cs5 + .byte W06 + .byte N06 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v+24 + .byte N06 , As4 + .byte W06 + .byte Fn4 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte PAN , c_v+13 + .byte N06 , Cs5 + .byte W06 + .byte N06 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , As4 + .byte W06 + .byte Fn4 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte PAN , c_v-12 + .byte N06 , Cs5 + .byte W06 + .byte N06 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v-23 + .byte N06 , As4 + .byte W06 + .byte Fn4 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte VOICE , 48 + .byte PAN , c_v-14 + .byte N12 , Cs4 , v100 + .byte W12 + .byte En4 + .byte W12 + .byte PAN , c_v+6 + .byte N12 , Fn4 , v096 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 +mus_battle31_1_000: + .byte N12 , Fn4 , v096 + .byte W36 + .byte N12 + .byte W36 + .byte N24 , Fs4 + .byte W24 + .byte PEND +mus_battle31_1_001: + .byte N12 , Fn4 , v096 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte PEND +mus_battle31_1_002: + .byte N12 , Fn4 , v096 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , An4 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle31_1_001 + .byte PATT + .word mus_battle31_1_000 + .byte PATT + .word mus_battle31_1_001 + .byte PATT + .word mus_battle31_1_002 +mus_battle31_1_B1: + .byte VOICE , 48 + .byte N36 , As3 , v096 + .byte W36 + .byte Fn3 + .byte W36 + .byte N24 , Ds3 + .byte W24 +mus_battle31_1_003: + .byte N36 , Dn3 , v096 + .byte W36 + .byte Ds3 + .byte W36 + .byte N24 , Fn3 + .byte W24 + .byte PEND +mus_battle31_1_004: + .byte N12 , Bn2 , v096 + .byte W12 + .byte Fs2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle31_1_004 + .byte N36 , As3 , v096 + .byte W36 + .byte Fn3 + .byte W36 + .byte N24 , Ds3 + .byte W24 + .byte PATT + .word mus_battle31_1_003 + .byte PATT + .word mus_battle31_1_004 + .byte PATT + .word mus_battle31_1_004 + .byte VOICE , 21 + .byte N12 , Dn4 , v088 + .byte W36 + .byte N12 + .byte W36 + .byte N24 + .byte W24 +mus_battle31_1_005: + .byte N12 , Ds4 , v088 + .byte W36 + .byte N12 + .byte W36 + .byte N24 + .byte W24 + .byte PEND + .byte N12 , Fn4 + .byte W36 + .byte N12 + .byte W36 + .byte N24 + .byte W24 + .byte PATT + .word mus_battle31_1_005 + .byte N12 , Dn4 , v088 + .byte W36 + .byte N12 + .byte W36 + .byte N24 + .byte W24 + .byte PATT + .word mus_battle31_1_005 + .byte N12 , Fn4 , v088 + .byte W36 + .byte N12 + .byte W36 + .byte N24 , Ds4 + .byte W24 + .byte N12 , Dn4 + .byte W36 + .byte N12 + .byte W12 + .byte N48 , Fn4 + .byte W48 + .byte VOICE , 38 + .byte N96 , As1 , v100 + .byte W96 +mus_battle31_1_006: + .byte W12 + .byte N12 , As1 , v100 + .byte W12 + .byte Gs1 + .byte W12 + .byte As1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte As1 + .byte W12 + .byte Gs1 + .byte W12 + .byte PEND + .byte N96 , As1 + .byte W96 + .byte PATT + .word mus_battle31_1_006 + .byte N96 , As1 , v100 + .byte W96 + .byte W12 + .byte VOICE , 48 + .byte N12 , As2 + .byte W12 + .byte Gs2 + .byte W12 + .byte As2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte As2 + .byte W12 + .byte Gs2 + .byte W12 + .byte N48 , Dn2 + .byte W48 + .byte Ds2 + .byte W48 + .byte Fn2 + .byte W48 + .byte Fs2 + .byte W48 + .byte N96 , Gs2 + .byte W96 +mus_battle31_1_007: + .byte W12 + .byte N12 , Gs2 , v100 + .byte W12 + .byte Fs2 + .byte W12 + .byte Gs2 + .byte W12 + .byte Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte Gs2 + .byte W12 + .byte Fs2 + .byte W12 + .byte PEND + .byte N96 , Gs2 + .byte W96 + .byte PATT + .word mus_battle31_1_007 + .byte N96 , Gs2 , v100 + .byte W96 + .byte W96 + .byte N48 + .byte W48 + .byte An2 + .byte W48 +mus_battle31_1_008: + .byte N48 , As2 , v100 + .byte W48 + .byte Bn2 + .byte W48 + .byte PEND + .byte PATT + .word mus_battle31_1_008 + .byte N48 , Cn3 , v100 + .byte W48 + .byte Cs3 + .byte W48 + .byte VOICE , 46 + .byte PAN , c_v+6 + .byte N12 , As3 , v088 + .byte W12 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Ds4 + .byte W12 +mus_battle31_1_009: + .byte N12 , As3 , v088 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte As3 + .byte W12 + .byte Fn3 + .byte W12 + .byte PEND +mus_battle31_1_010: + .byte N12 , As3 , v088 + .byte W12 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Ds4 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle31_1_009 +mus_battle31_1_011: + .byte N12 , Cs4 , v088 + .byte W12 + .byte Gs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte PEND +mus_battle31_1_012: + .byte N12 , Cs4 , v088 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Gs3 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle31_1_011 + .byte PATT + .word mus_battle31_1_012 + .byte PATT + .word mus_battle31_1_010 + .byte PATT + .word mus_battle31_1_009 + .byte PATT + .word mus_battle31_1_010 + .byte PATT + .word mus_battle31_1_009 + .byte PATT + .word mus_battle31_1_010 + .byte PATT + .word mus_battle31_1_009 + .byte PATT + .word mus_battle31_1_010 + .byte PATT + .word mus_battle31_1_009 + .byte PATT + .word mus_battle31_1_011 + .byte PATT + .word mus_battle31_1_012 + .byte PATT + .word mus_battle31_1_011 + .byte PATT + .word mus_battle31_1_012 + .byte PATT + .word mus_battle31_1_011 + .byte PATT + .word mus_battle31_1_012 + .byte PATT + .word mus_battle31_1_011 + .byte PATT + .word mus_battle31_1_012 + .byte PATT + .word mus_battle31_1_011 + .byte PATT + .word mus_battle31_1_012 + .byte PATT + .word mus_battle31_1_011 + .byte PATT + .word mus_battle31_1_012 + .byte VOICE , 21 + .byte N12 , Fn3 , v092 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 +mus_battle31_1_013: + .byte N12 , Fn3 , v092 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte PEND +mus_battle31_1_014: + .byte N12 , Fn3 , v092 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte PEND + .byte N12 + .byte W36 + .byte N12 + .byte W36 + .byte N24 , An3 + .byte W24 + .byte PATT + .word mus_battle31_1_014 + .byte PATT + .word mus_battle31_1_013 + .byte PATT + .word mus_battle31_1_014 + .byte N12 , Fn3 , v092 + .byte W36 + .byte N12 + .byte W12 + .byte N48 , An3 + .byte W48 + .byte TIE , Fn4 + .byte W96 + .byte VOL , 76*mus_battle31_mvl/mxv + .byte W12 + .byte 71*mus_battle31_mvl/mxv + .byte W15 + .byte 66*mus_battle31_mvl/mxv + .byte W12 + .byte 62*mus_battle31_mvl/mxv + .byte W12 + .byte 56*mus_battle31_mvl/mxv + .byte W09 + .byte 50*mus_battle31_mvl/mxv + .byte W09 + .byte 42*mus_battle31_mvl/mxv + .byte W12 + .byte 31*mus_battle31_mvl/mxv + .byte W06 + .byte 18*mus_battle31_mvl/mxv + .byte W03 + .byte EOT + .byte W06 + .byte VOICE , 48 + .byte VOL , 80*mus_battle31_mvl/mxv + .byte TIE , As2 , v088 + .byte W96 + .byte W96 + .byte EOT + .byte GOTO + .word mus_battle31_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_battle31_2: + .byte KEYSH , mus_battle31_key+0 + .byte VOICE , 17 + .byte LFOS , 22 + .byte VOL , 80*mus_battle31_mvl/mxv + .byte N06 , Fn5 , v060 + .byte W06 + .byte En5 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte N06 + .byte W06 + .byte En5 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte N06 + .byte W06 + .byte En5 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte N06 + .byte W06 + .byte En5 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte N06 + .byte W06 + .byte En5 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte N06 + .byte W06 + .byte En5 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte N06 + .byte W06 + .byte En5 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte N06 + .byte W06 + .byte En5 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte VOICE , 48 + .byte PAN , c_v-1 + .byte N12 , As3 , v096 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W36 + .byte N12 + .byte W36 + .byte N24 , An3 + .byte W24 + .byte N12 , As3 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , Bn3 + .byte W24 +mus_battle31_2_000: + .byte N12 , Fn5 , v080 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte PEND + .byte N12 + .byte W36 + .byte N12 + .byte W36 + .byte N24 , Fs5 + .byte W24 + .byte PATT + .word mus_battle31_2_000 + .byte N12 , Fn5 , v080 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , Fs5 + .byte W24 +mus_battle31_2_B1: + .byte VOICE , 17 + .byte VOL , 80*mus_battle31_mvl/mxv + .byte PAN , c_v+0 + .byte N36 , Fn4 , v108 + .byte W36 + .byte N72 , As3 + .byte W60 + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N96 , Fs4 + .byte W96 + .byte Ds4 + .byte W96 + .byte N36 , Fn4 + .byte W36 + .byte N72 , As3 + .byte W60 + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte As4 + .byte W12 + .byte Bn4 + .byte W12 + .byte As4 + .byte W12 + .byte N96 , Bn4 + .byte W96 + .byte Ds5 + .byte W96 + .byte TIE , Dn5 + .byte W96 + .byte W96 +mus_battle31_2_001: + .byte VOL , 74*mus_battle31_mvl/mxv + .byte W18 + .byte 69*mus_battle31_mvl/mxv + .byte W15 + .byte 65*mus_battle31_mvl/mxv + .byte W15 + .byte 60*mus_battle31_mvl/mxv + .byte W15 + .byte 57*mus_battle31_mvl/mxv + .byte W15 + .byte 53*mus_battle31_mvl/mxv + .byte W15 + .byte 48*mus_battle31_mvl/mxv + .byte W03 + .byte PEND + .byte W12 + .byte 43*mus_battle31_mvl/mxv + .byte W18 + .byte 37*mus_battle31_mvl/mxv + .byte W15 + .byte 27*mus_battle31_mvl/mxv + .byte W15 + .byte 19*mus_battle31_mvl/mxv + .byte W12 + .byte 10*mus_battle31_mvl/mxv + .byte W12 + .byte EOT , Dn5 + .byte W12 + .byte VOICE , 21 + .byte VOL , 80*mus_battle31_mvl/mxv + .byte PAN , c_v-1 + .byte N12 , As4 , v080 + .byte W36 + .byte N12 + .byte W36 + .byte N24 + .byte W24 + .byte N12 , Bn4 + .byte W36 + .byte N12 + .byte W36 + .byte N24 + .byte W24 + .byte N12 , Cs5 + .byte W36 + .byte N12 + .byte W36 + .byte N24 , Bn4 + .byte W24 + .byte N12 , As4 + .byte W36 + .byte N12 + .byte W12 + .byte N48 , Cs5 + .byte W48 + .byte VOICE , 48 + .byte N36 , Dn3 , v100 + .byte W36 + .byte As2 + .byte W36 + .byte N24 , Dn3 + .byte W24 + .byte N36 , Ds3 + .byte W36 + .byte Fn3 + .byte W36 + .byte N24 , Gs3 + .byte W24 + .byte N60 , Fs3 + .byte W60 + .byte N12 , Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N96 , Fn3 + .byte W96 + .byte N36 , Dn3 + .byte W36 + .byte As2 + .byte W36 + .byte N24 , Dn3 + .byte W24 + .byte N36 , Ds3 + .byte W36 + .byte Fs3 + .byte W36 + .byte N24 , Ds3 + .byte W24 + .byte N48 , Fs2 + .byte W48 + .byte Gs2 + .byte W48 + .byte As2 + .byte W48 + .byte Bn2 + .byte W48 + .byte N96 , Cs3 + .byte W96 + .byte W12 + .byte N12 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte N96 , Cs3 + .byte W96 + .byte W12 + .byte N12 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N96 , Cs3 + .byte W96 + .byte W12 + .byte N12 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte N48 , Cs3 + .byte W48 + .byte Dn3 + .byte W48 +mus_battle31_2_002: + .byte N48 , Ds3 , v100 + .byte W48 + .byte En3 + .byte W48 + .byte PEND + .byte PATT + .word mus_battle31_2_002 + .byte N48 , Fn3 , v100 + .byte W48 + .byte Fs3 + .byte W48 + .byte VOICE , 14 + .byte PAN , c_v-1 + .byte TIE , Gs4 , v056 + .byte W96 + .byte W84 + .byte EOT + .byte N12 , An4 + .byte W12 + .byte TIE , As4 + .byte W96 + .byte W96 + .byte EOT + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 58 + .byte N36 , As3 , v072 + .byte W18 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N36 , Fn3 + .byte W21 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte N24 , As3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N36 , Bn3 + .byte W18 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N36 , Cs4 + .byte W21 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N60 , Dn4 + .byte W24 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N12 , Bn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte N92 , As3 + .byte W36 + .byte MOD , 7 + .byte W12 + .byte VOL , 77*mus_battle31_mvl/mxv + .byte W06 + .byte 74*mus_battle31_mvl/mxv + .byte W06 + .byte 68*mus_battle31_mvl/mxv + .byte W06 + .byte 62*mus_battle31_mvl/mxv + .byte W06 + .byte 57*mus_battle31_mvl/mxv + .byte W06 + .byte 45*mus_battle31_mvl/mxv + .byte W06 + .byte 34*mus_battle31_mvl/mxv + .byte W06 + .byte 22*mus_battle31_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_battle31_mvl/mxv + .byte N36 , Fn3 + .byte W18 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N36 , As3 + .byte W21 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N36 , Bn3 + .byte W18 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N36 , Cs4 + .byte W21 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N60 , As3 + .byte W24 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N12 , Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte Bn3 + .byte W12 +mus_battle31_2_003: + .byte N92 , Cs4 , v072 + .byte W36 + .byte MOD , 7 + .byte W12 + .byte VOL , 77*mus_battle31_mvl/mxv + .byte W06 + .byte 74*mus_battle31_mvl/mxv + .byte W06 + .byte 68*mus_battle31_mvl/mxv + .byte W06 + .byte 62*mus_battle31_mvl/mxv + .byte W06 + .byte 57*mus_battle31_mvl/mxv + .byte W06 + .byte 45*mus_battle31_mvl/mxv + .byte W06 + .byte 34*mus_battle31_mvl/mxv + .byte W06 + .byte 22*mus_battle31_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 + .byte PEND + .byte VOL , 80*mus_battle31_mvl/mxv + .byte N36 + .byte W18 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N36 , Gs3 + .byte W21 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte N24 , Cs4 + .byte W12 + .byte MOD , 7 + .byte W12 +mus_battle31_2_004: + .byte MOD , 0 + .byte N36 , Dn4 , v072 + .byte W18 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N36 , En4 + .byte W21 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte PEND + .byte 0 + .byte N60 , Fn4 + .byte W24 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N12 , Dn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte PATT + .word mus_battle31_2_003 + .byte VOL , 80*mus_battle31_mvl/mxv + .byte N36 , Gs3 , v072 + .byte W18 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N36 , Cs4 + .byte W21 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte N24 , En4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte PATT + .word mus_battle31_2_004 + .byte MOD , 0 + .byte N60 , Fn4 , v072 + .byte W24 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N12 , Fs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N92 , Gs4 + .byte W36 + .byte MOD , 7 + .byte W12 + .byte VOL , 77*mus_battle31_mvl/mxv + .byte W06 + .byte 74*mus_battle31_mvl/mxv + .byte W06 + .byte 68*mus_battle31_mvl/mxv + .byte W06 + .byte 62*mus_battle31_mvl/mxv + .byte W06 + .byte 57*mus_battle31_mvl/mxv + .byte W06 + .byte 45*mus_battle31_mvl/mxv + .byte W06 + .byte 34*mus_battle31_mvl/mxv + .byte W06 + .byte 22*mus_battle31_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte VOL , 80*mus_battle31_mvl/mxv + .byte N96 , Cs3 , v100 + .byte W96 + .byte Fn3 + .byte W96 + .byte Gs3 + .byte W96 + .byte Bn3 + .byte W96 + .byte VOICE , 21 + .byte N12 , Fn4 , v088 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , Fs4 + .byte W24 +mus_battle31_2_005: + .byte N12 , Fn4 , v088 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte PEND + .byte N12 + .byte W36 + .byte N12 + .byte W36 + .byte N24 , Fs4 + .byte W24 + .byte PATT + .word mus_battle31_2_005 + .byte N12 , Fn4 , v088 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte PATT + .word mus_battle31_2_005 + .byte N12 , Fn4 , v088 + .byte W36 + .byte N12 + .byte W12 + .byte N48 , An4 + .byte W48 + .byte TIE , As4 + .byte W96 + .byte PATT + .word mus_battle31_2_001 + .byte W12 + .byte VOL , 43*mus_battle31_mvl/mxv + .byte W18 + .byte 37*mus_battle31_mvl/mxv + .byte W15 + .byte 27*mus_battle31_mvl/mxv + .byte W15 + .byte 19*mus_battle31_mvl/mxv + .byte W12 + .byte 10*mus_battle31_mvl/mxv + .byte W24 + .byte EOT , As4 + .byte W96 + .byte GOTO + .word mus_battle31_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_battle31_3: + .byte KEYSH , mus_battle31_key+0 + .byte VOICE , 33 + .byte VOL , 80*mus_battle31_mvl/mxv + .byte W12 + .byte N12 , As1 , v108 + .byte W24 + .byte An1 + .byte W24 + .byte Gs1 + .byte W24 + .byte Fn1 + .byte W12 + .byte N48 , As0 + .byte W48 + .byte Bn0 + .byte W48 +mus_battle31_3_000: + .byte N12 , As0 , v108 + .byte W12 + .byte Fn0 + .byte W12 + .byte As0 + .byte W12 + .byte Cs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte En1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Cs1 + .byte W12 + .byte PEND +mus_battle31_3_001: + .byte N12 , As0 , v108 + .byte W12 + .byte Fn0 + .byte W12 + .byte As0 + .byte W12 + .byte Cs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte En1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Fn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle31_3_000 +mus_battle31_3_002: + .byte N12 , As0 , v108 + .byte W12 + .byte Fn0 + .byte W12 + .byte As0 + .byte W12 + .byte Fn0 + .byte W12 + .byte Bn0 + .byte W12 + .byte En1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gs0 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle31_3_000 + .byte PATT + .word mus_battle31_3_001 + .byte PATT + .word mus_battle31_3_000 + .byte PATT + .word mus_battle31_3_002 +mus_battle31_3_B1: +mus_battle31_3_003: + .byte N12 , As0 , v108 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle31_3_003 +mus_battle31_3_004: + .byte N12 , Bn0 , v108 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Fs1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle31_3_004 + .byte PATT + .word mus_battle31_3_003 + .byte PATT + .word mus_battle31_3_003 + .byte PATT + .word mus_battle31_3_004 + .byte PATT + .word mus_battle31_3_004 +mus_battle31_3_005: + .byte N12 , As0 , v108 + .byte W12 + .byte Dn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte PEND +mus_battle31_3_006: + .byte N12 , As0 , v108 + .byte W12 + .byte Ds1 + .byte W12 + .byte Fs1 + .byte W12 + .byte As0 + .byte W12 + .byte Ds1 + .byte W12 + .byte Fs1 + .byte W12 + .byte As0 + .byte W12 + .byte Fs1 + .byte W12 + .byte PEND +mus_battle31_3_007: + .byte N12 , As0 , v108 + .byte W12 + .byte Fn1 + .byte W12 + .byte Gs1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Gs1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle31_3_006 + .byte PATT + .word mus_battle31_3_005 + .byte PATT + .word mus_battle31_3_006 + .byte PATT + .word mus_battle31_3_007 + .byte PATT + .word mus_battle31_3_006 + .byte PATT + .word mus_battle31_3_003 + .byte PATT + .word mus_battle31_3_003 + .byte PATT + .word mus_battle31_3_003 + .byte PATT + .word mus_battle31_3_003 + .byte PATT + .word mus_battle31_3_003 + .byte N12 , As0 , v108 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Fs0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Fs0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gs0 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gs0 + .byte W12 + .byte Ds1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Fs1 + .byte W12 +mus_battle31_3_008: + .byte N12 , Cs1 , v108 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle31_3_008 + .byte PATT + .word mus_battle31_3_008 + .byte PATT + .word mus_battle31_3_008 + .byte PATT + .word mus_battle31_3_008 + .byte PATT + .word mus_battle31_3_008 + .byte PATT + .word mus_battle31_3_008 + .byte PATT + .word mus_battle31_3_008 + .byte PATT + .word mus_battle31_3_008 + .byte PATT + .word mus_battle31_3_008 + .byte PATT + .word mus_battle31_3_000 + .byte PATT + .word mus_battle31_3_001 + .byte PATT + .word mus_battle31_3_000 + .byte PATT + .word mus_battle31_3_002 +mus_battle31_3_009: + .byte N12 , Cs1 , v108 + .byte W12 + .byte Gs0 + .byte W12 + .byte Cs1 + .byte W12 + .byte En1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte En1 + .byte W12 + .byte PEND +mus_battle31_3_010: + .byte N12 , Cs1 , v108 + .byte W12 + .byte Gs0 + .byte W12 + .byte Cs1 + .byte W12 + .byte En1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle31_3_009 +mus_battle31_3_011: + .byte N12 , Cs1 , v108 + .byte W12 + .byte Gs0 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn0 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle31_3_000 + .byte PATT + .word mus_battle31_3_001 + .byte PATT + .word mus_battle31_3_000 + .byte PATT + .word mus_battle31_3_002 + .byte PATT + .word mus_battle31_3_000 + .byte PATT + .word mus_battle31_3_001 + .byte PATT + .word mus_battle31_3_000 + .byte PATT + .word mus_battle31_3_002 + .byte PATT + .word mus_battle31_3_009 + .byte PATT + .word mus_battle31_3_010 + .byte PATT + .word mus_battle31_3_009 + .byte PATT + .word mus_battle31_3_011 + .byte PATT + .word mus_battle31_3_009 + .byte PATT + .word mus_battle31_3_010 + .byte PATT + .word mus_battle31_3_009 + .byte PATT + .word mus_battle31_3_011 + .byte PATT + .word mus_battle31_3_009 + .byte PATT + .word mus_battle31_3_010 + .byte PATT + .word mus_battle31_3_009 + .byte PATT + .word mus_battle31_3_011 + .byte PATT + .word mus_battle31_3_009 + .byte PATT + .word mus_battle31_3_010 + .byte PATT + .word mus_battle31_3_009 + .byte PATT + .word mus_battle31_3_011 + .byte PATT + .word mus_battle31_3_009 + .byte PATT + .word mus_battle31_3_010 + .byte PATT + .word mus_battle31_3_009 + .byte N12 , Cs1 , v108 + .byte W12 + .byte Gs0 + .byte W12 + .byte Cs1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Cs1 + .byte W12 + .byte Bn0 + .byte W12 + .byte PATT + .word mus_battle31_3_000 + .byte PATT + .word mus_battle31_3_001 + .byte PATT + .word mus_battle31_3_000 + .byte PATT + .word mus_battle31_3_002 + .byte GOTO + .word mus_battle31_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_battle31_4: + .byte KEYSH , mus_battle31_key+0 + .byte VOICE , 80 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte LFOS , 22 + .byte VOL , 80*mus_battle31_mvl/mxv + .byte PAN , c_v-48 + .byte W18 + .byte N06 , As5 , v052 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 4 + .byte PAN , c_v+0 + .byte N12 , As3 , v060 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W36 + .byte N12 + .byte W36 + .byte N24 , An3 + .byte W24 + .byte N12 , As3 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , Bn3 + .byte W24 +mus_battle31_4_B1: + .byte MOD , 0 + .byte W96 + .byte W60 + .byte VOICE , 80 + .byte PAN , c_v+48 + .byte N12 , As3 , v060 + .byte W12 + .byte Gs3 + .byte W12 + .byte As3 + .byte W12 + .byte TIE , Bn3 + .byte W60 + .byte MOD , 3 + .byte W36 +mus_battle31_4_000: + .byte VOL , 76*mus_battle31_mvl/mxv + .byte W12 + .byte 71*mus_battle31_mvl/mxv + .byte W12 + .byte 66*mus_battle31_mvl/mxv + .byte W12 + .byte 62*mus_battle31_mvl/mxv + .byte W12 + .byte 53*mus_battle31_mvl/mxv + .byte W12 + .byte 45*mus_battle31_mvl/mxv + .byte W12 + .byte 32*mus_battle31_mvl/mxv + .byte W09 + .byte 22*mus_battle31_mvl/mxv + .byte W06 + .byte 10*mus_battle31_mvl/mxv + .byte W09 + .byte PEND + .byte EOT , Bn3 + .byte MOD , 0 + .byte W48 + .byte VOL , 80*mus_battle31_mvl/mxv + .byte PAN , c_v+0 + .byte N36 , As2 , v052 + .byte W36 + .byte N60 , Fn2 + .byte W12 + .byte W48 + .byte PAN , c_v-48 + .byte W12 + .byte N12 , As3 + .byte W12 + .byte Gs3 + .byte W12 + .byte As3 + .byte W12 + .byte TIE , Bn3 + .byte W60 + .byte MOD , 3 + .byte W36 + .byte PATT + .word mus_battle31_4_000 + .byte EOT , Bn3 + .byte VOICE , 4 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte VOL , 80*mus_battle31_mvl/mxv + .byte N12 , As3 , v052 + .byte W12 + .byte Dn3 + .byte W12 + .byte As2 + .byte W12 + .byte As3 + .byte W12 + .byte Dn3 + .byte W12 + .byte As2 + .byte W12 + .byte N24 , As3 + .byte W24 +mus_battle31_4_001: + .byte N12 , Bn3 , v052 + .byte W12 + .byte Ds3 + .byte W12 + .byte As2 + .byte W12 + .byte Bn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte As2 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte PEND + .byte N12 , Cs4 + .byte W12 + .byte Fn3 + .byte W12 + .byte As2 + .byte W12 + .byte Cs4 + .byte W12 + .byte Fn3 + .byte W12 + .byte As2 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte PATT + .word mus_battle31_4_001 + .byte N12 , As3 , v052 + .byte W12 + .byte Dn3 + .byte W12 + .byte As2 + .byte W12 + .byte As3 + .byte W12 + .byte Dn3 + .byte W12 + .byte As2 + .byte W12 + .byte N24 , As3 + .byte W24 + .byte PATT + .word mus_battle31_4_001 + .byte N12 , Cs4 , v052 + .byte W12 + .byte Fn3 + .byte W12 + .byte As2 + .byte W12 + .byte Cs4 + .byte W12 + .byte Fn3 + .byte W12 + .byte As2 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte N12 , As3 + .byte W12 + .byte N12 + .byte W12 + .byte As2 + .byte W12 + .byte As3 + .byte W12 + .byte N48 , Cs4 + .byte W48 + .byte VOICE , 80 + .byte PAN , c_v-48 + .byte N12 , As3 , v060 + .byte W36 + .byte Fn4 + .byte W36 + .byte As4 + .byte W24 +mus_battle31_4_002: + .byte N12 , Bn4 , v060 + .byte W72 + .byte As4 + .byte W12 + .byte Gs4 + .byte W12 + .byte PEND + .byte As4 + .byte W96 + .byte W96 + .byte As3 + .byte W36 + .byte Fn4 + .byte W36 + .byte As4 + .byte W24 + .byte PATT + .word mus_battle31_4_002 + .byte N12 , As4 , v060 + .byte W96 + .byte W96 +mus_battle31_4_003: + .byte N12 , Cs4 , v060 + .byte W36 + .byte Gs4 + .byte W36 + .byte Cs5 + .byte W24 + .byte PEND +mus_battle31_4_004: + .byte N12 , Dn5 , v060 + .byte W72 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte PEND + .byte Cs5 + .byte W96 + .byte W96 + .byte PATT + .word mus_battle31_4_003 + .byte PATT + .word mus_battle31_4_004 + .byte N12 , Cs5 , v060 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 4 + .byte PAN , c_v-2 + .byte N12 , Fn2 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 +mus_battle31_4_005: + .byte N12 , Fn2 , v060 + .byte W36 + .byte N12 + .byte W36 + .byte N24 , Fs2 + .byte W24 + .byte PEND +mus_battle31_4_006: + .byte N12 , Fn2 , v060 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte PEND +mus_battle31_4_007: + .byte N12 , Fn2 , v060 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , Fs2 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle31_4_006 + .byte PATT + .word mus_battle31_4_005 + .byte PATT + .word mus_battle31_4_006 + .byte PATT + .word mus_battle31_4_007 + .byte VOICE , 5 + .byte PAN , c_v+48 + .byte N12 , As2 , v052 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 +mus_battle31_4_008: + .byte N12 , As2 , v052 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte PEND +mus_battle31_4_009: + .byte N12 , As2 , v052 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte PEND + .byte N12 + .byte W36 + .byte N12 + .byte W36 + .byte N24 , Bn2 + .byte W24 + .byte PATT + .word mus_battle31_4_009 + .byte PATT + .word mus_battle31_4_008 + .byte PATT + .word mus_battle31_4_009 + .byte N12 , As2 , v052 + .byte W36 + .byte N12 + .byte W12 + .byte Bn2 + .byte W12 + .byte VOICE , 6 + .byte N12 , Bn2 , v048 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 5 + .byte MOD , 0 + .byte N12 , As2 , v052 + .byte W12 + .byte VOICE , 6 + .byte N12 , As2 , v048 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte MOD , 5 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 5 + .byte MOD , 0 + .byte N12 , Fn2 , v052 + .byte W12 + .byte VOICE , 6 + .byte N12 , Fn2 , v048 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte MOD , 5 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 5 + .byte MOD , 0 + .byte N12 , Ds2 , v052 + .byte W12 + .byte VOICE , 6 + .byte N12 , Ds2 , v048 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte MOD , 5 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 5 + .byte MOD , 0 + .byte N12 , Dn2 , v052 + .byte W12 + .byte VOICE , 6 + .byte N12 , Dn2 , v048 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte MOD , 5 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte GOTO + .word mus_battle31_4_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 5 **********************@ + +mus_battle31_5: + .byte KEYSH , mus_battle31_key+0 + .byte VOICE , 82 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte LFOS , 22 + .byte VOL , 80*mus_battle31_mvl/mxv + .byte PAN , c_v+48 + .byte N06 , As2 , v052 + .byte W12 + .byte Fn3 + .byte W12 + .byte As2 + .byte W12 + .byte Fn3 + .byte W12 + .byte As2 + .byte W12 + .byte Fn3 + .byte W12 + .byte As2 + .byte W12 + .byte Fn3 + .byte W12 + .byte As2 + .byte W12 + .byte Fn3 + .byte W12 + .byte As2 + .byte W12 + .byte Fn3 + .byte W12 + .byte As2 + .byte W12 + .byte Fn3 + .byte W12 + .byte As2 + .byte W12 + .byte Fn3 + .byte W06 + .byte As2 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_battle31_5_B1: + .byte PAN , c_v+48 + .byte MOD , 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte N12 , Fs4 , v040 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte MOD , 3 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte MOD , 0 + .byte N12 , Bn4 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte MOD , 3 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte MOD , 0 + .byte N12 , As4 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOL , 74*mus_battle31_mvl/mxv + .byte MOD , 3 + .byte N12 + .byte W12 + .byte N12 + .byte W06 + .byte VOL , 69*mus_battle31_mvl/mxv + .byte W06 + .byte N12 + .byte W09 + .byte VOL , 65*mus_battle31_mvl/mxv + .byte W03 + .byte N12 + .byte W12 + .byte VOL , 60*mus_battle31_mvl/mxv + .byte N12 + .byte W12 + .byte N12 + .byte W03 + .byte VOL , 57*mus_battle31_mvl/mxv + .byte W09 + .byte N12 + .byte W06 + .byte VOL , 53*mus_battle31_mvl/mxv + .byte W06 + .byte N12 + .byte W09 + .byte VOL , 48*mus_battle31_mvl/mxv + .byte W03 + .byte N12 + .byte W12 + .byte VOL , 43*mus_battle31_mvl/mxv + .byte N12 + .byte W12 + .byte N12 + .byte W06 + .byte VOL , 37*mus_battle31_mvl/mxv + .byte W06 + .byte N12 + .byte W09 + .byte VOL , 27*mus_battle31_mvl/mxv + .byte W03 + .byte N12 + .byte W12 + .byte VOL , 19*mus_battle31_mvl/mxv + .byte N12 + .byte W12 + .byte VOL , 10*mus_battle31_mvl/mxv + .byte N12 + .byte W12 + .byte MOD , 0 + .byte W12 + .byte VOL , 80*mus_battle31_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 82 + .byte PAN , c_v+48 + .byte W36 + .byte N12 , As3 + .byte W36 + .byte Fn4 + .byte W24 +mus_battle31_5_000: + .byte W12 + .byte N12 , As4 , v040 + .byte W24 + .byte Bn4 + .byte W60 + .byte PEND +mus_battle31_5_001: + .byte W12 + .byte N12 , As4 , v040 + .byte W12 + .byte Gs4 + .byte W12 + .byte As4 + .byte W60 + .byte PEND + .byte W96 + .byte W36 + .byte As3 + .byte W36 + .byte Fn4 + .byte W24 + .byte PATT + .word mus_battle31_5_000 + .byte PATT + .word mus_battle31_5_001 + .byte W96 +mus_battle31_5_002: + .byte W36 + .byte N12 , Cs4 , v040 + .byte W36 + .byte Gs4 + .byte W24 + .byte PEND +mus_battle31_5_003: + .byte W12 + .byte N12 , Cs5 , v040 + .byte W24 + .byte Dn5 + .byte W60 + .byte PEND +mus_battle31_5_004: + .byte W12 + .byte N12 , Cs5 , v040 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cs5 + .byte W60 + .byte PEND + .byte W96 + .byte PATT + .word mus_battle31_5_002 + .byte PATT + .word mus_battle31_5_003 + .byte PATT + .word mus_battle31_5_004 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte N12 , Gs2 , v072 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte MOD , 4 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte MOD , 0 + .byte N12 , Bn2 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte MOD , 5 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte MOD , 0 + .byte N12 , Cs3 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte MOD , 5 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte MOD , 0 + .byte N12 , Fn3 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte MOD , 5 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 4 + .byte PAN , c_v-48 + .byte MOD , 0 + .byte N12 , Cs4 , v052 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 +mus_battle31_5_005: + .byte N12 , Cs4 , v052 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte PEND +mus_battle31_5_006: + .byte N12 , Cs4 , v052 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte PEND + .byte N12 + .byte W36 + .byte N12 + .byte W36 + .byte N24 , Dn4 + .byte W24 + .byte PATT + .word mus_battle31_5_006 + .byte PATT + .word mus_battle31_5_005 + .byte PATT + .word mus_battle31_5_006 + .byte N12 , Cs4 , v052 + .byte W36 + .byte N12 + .byte W12 + .byte N48 , Fn4 + .byte W48 + .byte MOD , 0 + .byte N96 , As3 + .byte W48 + .byte MOD , 5 + .byte W48 + .byte 0 + .byte N96 , Fn3 + .byte W48 + .byte MOD , 5 + .byte W48 + .byte 0 + .byte N96 , Ds3 + .byte W48 + .byte MOD , 5 + .byte W48 + .byte 0 + .byte N96 , Dn3 + .byte W48 + .byte MOD , 5 + .byte W48 + .byte GOTO + .word mus_battle31_5_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 6 **********************@ + +mus_battle31_6: + .byte KEYSH , mus_battle31_key+0 + .byte VOL , 80*mus_battle31_mvl/mxv + .byte W96 + .byte W72 + .byte VOICE , 84 + .byte N24 , An3 , v064 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_battle31_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 84 + .byte N96 , Fn2 , v080 + .byte W96 + .byte W12 + .byte N12 + .byte W12 + .byte Ds2 + .byte W12 + .byte Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Ds2 + .byte W12 + .byte N96 , Fn2 + .byte W96 + .byte W96 + .byte VOICE , 81 + .byte N12 , Dn3 , v064 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte As3 + .byte W12 + .byte Cs4 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Ds4 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 84 + .byte N48 , Cs2 , v080 + .byte W48 + .byte Dn2 + .byte W48 +mus_battle31_6_000: + .byte N48 , Ds2 , v080 + .byte W48 + .byte En2 + .byte W48 + .byte PEND + .byte PATT + .word mus_battle31_6_000 + .byte N48 , Fn2 , v080 + .byte W48 + .byte Fs2 + .byte W48 + .byte W12 + .byte VOICE , 81 + .byte N12 , Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Ds2 + .byte W12 + .byte En2 + .byte W12 + .byte Ds2 + .byte W12 + .byte Cs2 + .byte W12 +mus_battle31_6_001: + .byte N12 , As1 , v080 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Ds2 + .byte W12 + .byte En2 + .byte W12 + .byte Ds2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PEND +mus_battle31_6_002: + .byte N12 , As1 , v080 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Ds2 + .byte W12 + .byte En2 + .byte W12 + .byte Ds2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PEND +mus_battle31_6_003: + .byte N12 , As1 , v080 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En2 + .byte W12 + .byte Ds2 + .byte W12 + .byte Gs1 + .byte W12 + .byte PEND +mus_battle31_6_004: + .byte N12 , Cs2 , v080 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte En2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte En2 + .byte W12 + .byte PEND +mus_battle31_6_005: + .byte N12 , Cs2 , v080 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte En2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle31_6_004 +mus_battle31_6_006: + .byte N12 , Cs2 , v080 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Gs1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Bn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle31_6_002 + .byte PATT + .word mus_battle31_6_001 + .byte PATT + .word mus_battle31_6_002 + .byte PATT + .word mus_battle31_6_003 + .byte PATT + .word mus_battle31_6_002 + .byte PATT + .word mus_battle31_6_001 + .byte PATT + .word mus_battle31_6_002 + .byte PATT + .word mus_battle31_6_003 + .byte PATT + .word mus_battle31_6_004 + .byte PATT + .word mus_battle31_6_005 + .byte PATT + .word mus_battle31_6_004 + .byte PATT + .word mus_battle31_6_006 + .byte PATT + .word mus_battle31_6_004 + .byte PATT + .word mus_battle31_6_005 + .byte PATT + .word mus_battle31_6_004 + .byte PATT + .word mus_battle31_6_006 + .byte PATT + .word mus_battle31_6_004 + .byte PATT + .word mus_battle31_6_005 + .byte PATT + .word mus_battle31_6_004 + .byte PATT + .word mus_battle31_6_006 + .byte PATT + .word mus_battle31_6_004 + .byte PATT + .word mus_battle31_6_005 + .byte PATT + .word mus_battle31_6_004 + .byte PATT + .word mus_battle31_6_006 + .byte PATT + .word mus_battle31_6_004 + .byte PATT + .word mus_battle31_6_005 + .byte PATT + .word mus_battle31_6_004 + .byte N12 , Cs2 , v080 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Gs2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Bn1 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_battle31_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_battle31_7: + .byte KEYSH , mus_battle31_key+0 + .byte VOICE , 0 + .byte VOL , 80*mus_battle31_mvl/mxv + .byte W96 + .byte W72 + .byte N12 , Dn1 , v112 + .byte W12 + .byte N12 + .byte W12 +mus_battle31_7_000: + .byte W24 + .byte N12 , Dn1 , v112 + .byte W48 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 +mus_battle31_7_001: + .byte W24 + .byte N12 , Dn1 , v112 + .byte W48 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PEND +mus_battle31_7_B1: + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_001 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 +mus_battle31_7_002: + .byte W24 + .byte N12 , Dn1 , v112 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PEND + .byte N96 , An2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_battle31_7_002 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_001 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte W24 + .byte N12 , Dn1 , v112 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_001 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_001 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_001 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte W24 + .byte N12 , Dn1 , v112 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_001 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte W24 + .byte N12 , Dn1 , v112 + .byte W36 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_000 + .byte PATT + .word mus_battle31_7_001 + .byte GOTO + .word mus_battle31_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_battle31_8: + .byte KEYSH , mus_battle31_key+0 + .byte VOICE , 47 + .byte VOL , 80*mus_battle31_mvl/mxv + .byte PAN , c_v-6 + .byte N48 , Cn2 , v112 + .byte W96 + .byte N12 , Cn2 , v124 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W48 +mus_battle31_8_000: + .byte N12 , Cn2 , v112 + .byte W48 + .byte N12 + .byte W48 + .byte PEND +mus_battle31_8_001: + .byte N12 , Cn2 , v112 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W36 + .byte PEND + .byte PATT + .word mus_battle31_8_000 +mus_battle31_8_002: + .byte N12 , Cn2 , v112 + .byte W48 + .byte N12 + .byte W12 + .byte N12 + .byte W36 + .byte PEND + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_001 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_001 +mus_battle31_8_B1: + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_002 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_002 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_002 + .byte N12 , Cn2 , v108 + .byte W48 + .byte Cn2 , v112 + .byte W48 + .byte PATT + .word mus_battle31_8_001 + .byte PATT + .word mus_battle31_8_001 + .byte PATT + .word mus_battle31_8_002 + .byte PATT + .word mus_battle31_8_001 + .byte PATT + .word mus_battle31_8_002 + .byte PATT + .word mus_battle31_8_001 + .byte PATT + .word mus_battle31_8_002 + .byte PATT + .word mus_battle31_8_001 + .byte PATT + .word mus_battle31_8_001 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_001 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_002 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_001 + .byte PATT + .word mus_battle31_8_002 + .byte PATT + .word mus_battle31_8_002 + .byte PATT + .word mus_battle31_8_002 + .byte PATT + .word mus_battle31_8_002 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_001 + .byte PATT + .word mus_battle31_8_001 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_001 + .byte PATT + .word mus_battle31_8_001 + .byte PATT + .word mus_battle31_8_001 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_001 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_001 + .byte PATT + .word mus_battle31_8_000 +mus_battle31_8_003: + .byte N12 , Cn2 , v112 + .byte W36 + .byte N12 + .byte W60 + .byte PEND + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_001 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_003 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_001 + .byte PATT + .word mus_battle31_8_000 + .byte PATT + .word mus_battle31_8_001 + .byte GOTO + .word mus_battle31_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_battle31: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_battle31_pri @ Priority + .byte mus_battle31_rev @ Reverb. + + .word mus_battle31_grp + + .word mus_battle31_1 + .word mus_battle31_2 + .word mus_battle31_3 + .word mus_battle31_4 + .word mus_battle31_5 + .word mus_battle31_6 + .word mus_battle31_7 + .word mus_battle31_8 + + .end diff --git a/sound/songs/mus_battle32.s b/sound/songs/mus_battle32.s new file mode 100644 index 0000000000..8b0aa94f5d --- /dev/null +++ b/sound/songs/mus_battle32.s @@ -0,0 +1,2623 @@ + .include "MPlayDef.s" + + .equ mus_battle32_grp, voicegroup_869B0B4 + .equ mus_battle32_pri, 1 + .equ mus_battle32_rev, reverb_set+50 + .equ mus_battle32_mvl, 127 + .equ mus_battle32_key, 0 + .equ mus_battle32_tbs, 1 + .equ mus_battle32_exg, 0 + .equ mus_battle32_cmp, 1 + + .section .rodata + .global mus_battle32 + .align 2 + +@********************** Track 1 **********************@ + +mus_battle32_1: + .byte KEYSH , mus_battle32_key+0 + .byte TEMPO , 196*mus_battle32_tbs/2 + .byte VOICE , 48 + .byte VOL , 80*mus_battle32_mvl/mxv + .byte LFOS , 18 + .byte PAN , c_v-10 + .byte N06 , Cn5 , v092 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOICE , 56 + .byte PAN , c_v+10 + .byte N12 , Gn3 , v104 + .byte W36 + .byte Gs3 + .byte W36 + .byte Gn2 + .byte W24 + .byte En3 + .byte W36 + .byte Fn3 + .byte W36 + .byte N24 , As2 + .byte W24 + .byte N12 , Gn3 + .byte W36 + .byte Gs3 + .byte W36 + .byte Gn2 + .byte W24 + .byte En3 + .byte W36 + .byte Fn3 + .byte W36 + .byte N24 , Gs3 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v-16 + .byte N48 , Cn4 , v100 + .byte W48 + .byte Cn3 + .byte W48 + .byte Gn3 + .byte W48 + .byte Cs3 + .byte W48 + .byte Cn4 + .byte W48 + .byte Cn3 + .byte W48 + .byte Cs4 + .byte W48 + .byte N24 , Ds3 + .byte W24 + .byte Cs4 + .byte W24 +mus_battle32_1_B1: + .byte PAN , c_v+10 + .byte N48 , Gn3 , v100 + .byte W48 + .byte N42 , Fn3 + .byte W42 + .byte N06 , Gs3 + .byte W06 + .byte N36 , Gn3 + .byte W36 + .byte N12 , Cn3 + .byte W24 + .byte N12 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N36 , Gn3 + .byte W36 + .byte Cn4 + .byte W36 + .byte N12 , As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W24 + .byte N60 , Gn3 + .byte W60 + .byte PAN , c_v+16 + .byte N48 , Dn4 + .byte W48 + .byte Cn4 + .byte W48 + .byte N24 , As3 + .byte W24 + .byte Cn4 + .byte W24 + .byte As3 + .byte W24 + .byte An3 + .byte W24 + .byte N72 , Gn3 + .byte W72 + .byte N24 , En3 + .byte W24 + .byte N92 , Cn4 + .byte W96 + .byte N48 , Dn4 + .byte W12 + .byte PAN , c_v+20 + .byte W36 + .byte N48 , Cn4 + .byte W48 + .byte As3 + .byte W48 + .byte Dn4 + .byte W48 + .byte N72 , En4 + .byte W72 + .byte N24 , Dn4 + .byte W24 + .byte N92 , Cn4 + .byte W96 + .byte VOICE , 1 + .byte PAN , c_v+10 + .byte N36 , Cn3 , v108 + .byte W36 + .byte Fn3 + .byte W36 + .byte N24 , En3 + .byte W24 + .byte N36 , Fn3 + .byte W36 + .byte N12 , Cn3 + .byte W24 + .byte N12 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N36 , Gn3 + .byte W36 + .byte Cn3 + .byte W36 + .byte N12 , As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W24 + .byte N60 , Gn3 + .byte W56 + .byte W01 + .byte VOICE , 56 + .byte W03 + .byte N48 , Dn4 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Cn4 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , As3 + .byte W24 + .byte Cn4 + .byte W24 + .byte As3 + .byte W24 + .byte An3 + .byte W24 + .byte N72 , Gn3 + .byte W36 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte N24 , En3 + .byte W24 + .byte N56 , Cn4 , v104 + .byte W30 + .byte MOD , 6 + .byte W03 + .byte VOL , 76*mus_battle32_mvl/mxv + .byte W06 + .byte 71*mus_battle32_mvl/mxv + .byte W06 + .byte 64*mus_battle32_mvl/mxv + .byte W03 + .byte 49*mus_battle32_mvl/mxv + .byte W03 + .byte 33*mus_battle32_mvl/mxv + .byte W03 + .byte 17*mus_battle32_mvl/mxv + .byte W03 + .byte VOICE , 48 + .byte MOD , 0 + .byte W03 + .byte PAN , c_v+20 + .byte N12 , Gn3 , v092 + .byte W03 + .byte VOL , 80*mus_battle32_mvl/mxv + .byte W09 + .byte N12 , Cn4 + .byte W24 + .byte N48 , Dn4 + .byte W48 + .byte Cn4 + .byte W48 + .byte As3 + .byte W48 + .byte Dn4 + .byte W48 + .byte N72 , En4 + .byte W72 + .byte N24 , Cn4 + .byte W24 + .byte N92 , Gn4 + .byte W96 + .byte VOICE , 1 + .byte N36 , Gn3 , v108 + .byte W36 + .byte Fn3 + .byte W36 + .byte N24 , Gn3 + .byte W24 + .byte N36 , An3 + .byte W36 + .byte Fn3 + .byte W36 + .byte N24 , An3 + .byte W24 + .byte TIE , Gn3 + .byte W96 + .byte W72 + .byte EOT + .byte W24 + .byte W96 + .byte W96 + .byte VOICE , 60 + .byte PAN , c_v+10 + .byte TIE , Cn3 , v100 + .byte W96 + .byte W72 + .byte EOT + .byte N12 + .byte W12 + .byte As2 + .byte W12 + .byte N96 , Cs3 + .byte W96 + .byte Ds3 + .byte W96 + .byte TIE , Cn3 + .byte W96 + .byte W72 + .byte EOT + .byte N12 + .byte W12 + .byte As2 + .byte W12 + .byte N96 , Cs3 + .byte W96 + .byte Ds3 + .byte W96 + .byte TIE , As2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte EOT + .byte VOICE , 48 + .byte PAN , c_v+20 + .byte N96 , Gn2 + .byte W96 + .byte N48 , Fn2 + .byte W48 + .byte Gn2 + .byte W48 + .byte N96 , Cn2 + .byte W96 + .byte Gn2 + .byte W96 + .byte Gs2 + .byte W96 + .byte N48 , Fn2 + .byte W48 + .byte Gs2 + .byte W48 + .byte N96 , Gn2 + .byte W96 + .byte Cn3 + .byte W96 + .byte GOTO + .word mus_battle32_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_battle32_2: + .byte KEYSH , mus_battle32_key+0 + .byte VOICE , 1 + .byte VOL , 80*mus_battle32_mvl/mxv + .byte LFOS , 18 + .byte PAN , c_v+10 + .byte N06 , Gn5 , v080 + .byte W06 + .byte Gs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte Gs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte Gs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte Gs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte Gs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte Gs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte Gs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte Gs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte VOICE , 56 + .byte PAN , c_v+0 + .byte N12 , Cn4 , v104 + .byte W36 + .byte Cs4 + .byte W36 + .byte Cn3 + .byte W24 + .byte Gn3 + .byte W36 + .byte Gs3 + .byte W36 + .byte N24 , Cs3 + .byte W24 + .byte N12 , Cn4 + .byte W36 + .byte Cs4 + .byte W36 + .byte Cn3 + .byte W24 + .byte Gn3 + .byte W36 + .byte Gs3 + .byte W36 + .byte N24 , Cs4 + .byte W24 + .byte VOICE , 45 + .byte PAN , c_v+0 + .byte N12 , Cn5 , v108 + .byte W36 + .byte Cs5 + .byte W36 + .byte Cn4 + .byte W24 + .byte Gn4 + .byte W36 + .byte Gs4 + .byte W36 + .byte N24 , Cs4 + .byte W24 + .byte N12 , Cn5 + .byte W36 + .byte Cs5 + .byte W36 + .byte N24 , Gn4 + .byte W24 + .byte N12 , Cn5 + .byte W36 + .byte Cs5 + .byte W36 + .byte N24 , Ds5 + .byte W24 +mus_battle32_2_B1: + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte N48 , Cn4 , v100 + .byte W48 + .byte As3 + .byte W48 + .byte N36 , Dn4 + .byte W36 + .byte N12 , Gn3 + .byte W24 + .byte N12 + .byte W12 + .byte As3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N72 , En4 + .byte W72 + .byte N12 , Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W24 + .byte N60 , Cn4 + .byte W60 + .byte PAN , c_v+0 + .byte N48 , As4 + .byte W48 + .byte An4 + .byte W48 + .byte N24 , Gn4 + .byte W24 + .byte An4 + .byte W24 + .byte Gn4 + .byte W24 + .byte Fn4 + .byte W24 + .byte N72 , En4 + .byte W72 + .byte N24 , Cn4 + .byte W24 + .byte N92 , Gn4 + .byte W96 + .byte N48 , As4 + .byte W12 + .byte PAN , c_v+2 + .byte W36 + .byte N48 , An4 + .byte W48 + .byte N24 , As4 + .byte W24 + .byte An4 + .byte W24 + .byte Dn5 + .byte W24 + .byte Fn5 + .byte W24 + .byte N72 , En5 + .byte W72 + .byte N24 , Dn5 + .byte W24 + .byte N92 , Cn5 + .byte W96 + .byte VOICE , 56 + .byte PAN , c_v+1 + .byte N48 , Cn4 , v104 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , As3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N36 , Dn4 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N12 , Gn3 + .byte W24 + .byte N12 + .byte W12 + .byte As3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N72 , En4 + .byte W36 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte N12 , Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W24 + .byte N60 , Cn4 + .byte W24 + .byte W03 + .byte MOD , 6 + .byte W32 + .byte W01 + .byte 0 + .byte N48 , As4 , v108 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , An4 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , Gn4 + .byte W24 + .byte An4 + .byte W24 + .byte Gn4 + .byte W24 + .byte Fn4 + .byte W24 + .byte N72 , En4 + .byte W36 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte N24 , Cn4 + .byte W24 + .byte N56 , Gn4 + .byte W30 + .byte MOD , 6 + .byte W03 + .byte VOL , 76*mus_battle32_mvl/mxv + .byte W06 + .byte 71*mus_battle32_mvl/mxv + .byte W06 + .byte 64*mus_battle32_mvl/mxv + .byte W03 + .byte 49*mus_battle32_mvl/mxv + .byte W03 + .byte 33*mus_battle32_mvl/mxv + .byte W03 + .byte 17*mus_battle32_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 + .byte VOICE , 48 + .byte PAN , c_v+2 + .byte N12 , Gn4 , v092 + .byte W03 + .byte VOL , 80*mus_battle32_mvl/mxv + .byte W09 + .byte N12 , Cn5 + .byte W24 + .byte N48 , As4 + .byte W48 + .byte An4 + .byte W48 + .byte N24 , As4 + .byte W24 + .byte An4 + .byte W24 + .byte Dn5 + .byte W24 + .byte Fn5 + .byte W24 + .byte N72 , En5 + .byte W72 + .byte N24 , Cn5 + .byte W24 + .byte N92 , Gn5 + .byte W96 + .byte VOICE , 1 + .byte N36 , Cn3 , v108 + .byte W36 + .byte As2 + .byte W36 + .byte N24 , Cn3 + .byte W24 + .byte N36 , Dn3 + .byte W36 + .byte As2 + .byte W36 + .byte N24 , Dn3 + .byte W24 + .byte TIE , Cn3 + .byte W96 + .byte W72 + .byte EOT + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte N72 , Cn4 , v100 + .byte W72 + .byte N12 + .byte W12 + .byte As3 + .byte W12 + .byte N96 , Cs4 + .byte W96 + .byte Ds4 + .byte W96 + .byte TIE , Fn4 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte EOT + .byte VOICE , 48 + .byte PAN , c_v+2 + .byte N96 , Cn3 + .byte W96 + .byte N42 , As2 + .byte W42 + .byte N06 , Cn3 + .byte W06 + .byte N48 , Dn3 + .byte W48 + .byte N96 , Gn2 + .byte W96 + .byte Cn3 + .byte W96 + .byte Cs3 + .byte W96 + .byte N48 , As2 + .byte W48 + .byte N36 , Cs3 + .byte W36 + .byte N12 , En3 + .byte W12 + .byte N96 , Cn3 + .byte W96 + .byte En3 + .byte W96 + .byte GOTO + .word mus_battle32_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_battle32_3: + .byte KEYSH , mus_battle32_key+0 + .byte VOICE , 33 + .byte VOL , 80*mus_battle32_mvl/mxv + .byte PAN , c_v+0 + .byte N24 , Cn2 , v108 + .byte W24 + .byte Cn1 + .byte W24 + .byte As1 + .byte W24 + .byte Cs1 + .byte W24 + .byte Gs1 + .byte W24 + .byte N12 , As1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Cs1 + .byte W12 +mus_battle32_3_000: + .byte N12 , Cn1 , v108 + .byte W12 + .byte Fs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte N12 + .byte W12 + .byte Fn1 + .byte W12 + .byte PEND +mus_battle32_3_001: + .byte N12 , Cn1 , v108 + .byte W12 + .byte Fs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte N12 + .byte W12 + .byte Cs1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle32_3_000 + .byte PATT + .word mus_battle32_3_001 + .byte PATT + .word mus_battle32_3_000 + .byte PATT + .word mus_battle32_3_001 + .byte PATT + .word mus_battle32_3_000 + .byte PATT + .word mus_battle32_3_001 +mus_battle32_3_B1: +mus_battle32_3_002: + .byte N12 , Cn1 , v108 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PEND + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte PATT + .word mus_battle32_3_002 + .byte N12 , Cn1 , v108 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N12 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 +mus_battle32_3_003: + .byte N12 , As0 , v108 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte PEND +mus_battle32_3_004: + .byte N12 , As0 , v108 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Bn0 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle32_3_002 +mus_battle32_3_005: + .byte N12 , Cn1 , v108 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte En1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle32_3_003 + .byte PATT + .word mus_battle32_3_003 + .byte PATT + .word mus_battle32_3_002 +mus_battle32_3_006: + .byte N12 , Cn1 , v108 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle32_3_002 + .byte PATT + .word mus_battle32_3_002 + .byte PATT + .word mus_battle32_3_002 + .byte N12 , Cn1 , v108 + .byte W12 + .byte Gn1 + .byte W24 + .byte N12 + .byte W12 + .byte Cn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PATT + .word mus_battle32_3_003 + .byte PATT + .word mus_battle32_3_004 + .byte PATT + .word mus_battle32_3_002 + .byte N12 , Cn1 , v108 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PATT + .word mus_battle32_3_003 + .byte PATT + .word mus_battle32_3_003 + .byte PATT + .word mus_battle32_3_002 + .byte PATT + .word mus_battle32_3_005 + .byte PATT + .word mus_battle32_3_002 + .byte PATT + .word mus_battle32_3_002 + .byte PATT + .word mus_battle32_3_002 + .byte PATT + .word mus_battle32_3_002 +mus_battle32_3_007: + .byte N12 , Cs1 , v108 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte PEND +mus_battle32_3_008: + .byte N12 , Ds1 , v108 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle32_3_002 + .byte PATT + .word mus_battle32_3_002 + .byte PATT + .word mus_battle32_3_007 + .byte PATT + .word mus_battle32_3_008 + .byte PATT + .word mus_battle32_3_002 + .byte PATT + .word mus_battle32_3_002 + .byte PATT + .word mus_battle32_3_007 + .byte PATT + .word mus_battle32_3_008 + .byte PATT + .word mus_battle32_3_003 + .byte PATT + .word mus_battle32_3_003 + .byte PATT + .word mus_battle32_3_003 + .byte PATT + .word mus_battle32_3_003 + .byte PATT + .word mus_battle32_3_003 + .byte PATT + .word mus_battle32_3_003 + .byte PATT + .word mus_battle32_3_002 + .byte PATT + .word mus_battle32_3_002 + .byte PATT + .word mus_battle32_3_002 + .byte PATT + .word mus_battle32_3_002 + .byte PATT + .word mus_battle32_3_003 + .byte PATT + .word mus_battle32_3_003 + .byte PATT + .word mus_battle32_3_002 + .byte PATT + .word mus_battle32_3_006 + .byte GOTO + .word mus_battle32_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_battle32_4: + .byte KEYSH , mus_battle32_key+0 + .byte VOICE , 80 + .byte LFOS , 18 + .byte VOL , 80*mus_battle32_mvl/mxv + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte PAN , c_v-48 + .byte W12 + .byte N06 , Cn6 , v052 + .byte W12 + .byte Bn5 + .byte W12 + .byte Cn6 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte W12 + .byte N06 + .byte W12 + .byte Bn5 + .byte W12 + .byte Cn6 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte VOICE , 82 + .byte PAN , c_v+48 + .byte N12 , Cn3 , v060 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte MOD , 6 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte MOD , 0 + .byte N12 , Cn2 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte MOD , 6 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte MOD , 0 + .byte N12 , Gn2 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte MOD , 6 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte MOD , 0 + .byte N12 , Cs2 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte MOD , 6 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte MOD , 0 + .byte N12 , Cn3 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte MOD , 6 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte MOD , 0 + .byte N12 , Gn3 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte MOD , 6 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte MOD , 0 + .byte N12 , Cn4 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte MOD , 6 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte MOD , 0 + .byte N12 , Cs3 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte MOD , 6 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 4 + .byte PAN , c_v-48 + .byte MOD , 0 + .byte N12 , Gn4 , v040 + .byte W36 + .byte Gs4 + .byte W36 + .byte Gn3 + .byte W24 + .byte En4 + .byte W36 + .byte Fn4 + .byte W36 + .byte N24 , Gn3 + .byte W24 + .byte N12 , Gn4 + .byte W36 + .byte Gs4 + .byte W36 + .byte N24 , Cn4 + .byte W24 + .byte N12 , Gn4 + .byte W36 + .byte Gs4 + .byte W36 + .byte N24 + .byte W24 +mus_battle32_4_B1: + .byte VOICE , 84 + .byte PAN , c_v+0 + .byte N12 , En4 , v040 + .byte W36 + .byte Fn4 + .byte W36 + .byte Gn4 + .byte W24 + .byte W60 + .byte Gn4 , v052 + .byte W12 + .byte As4 + .byte W12 + .byte Dn5 + .byte W12 + .byte N36 , En5 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N36 , Cn5 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N12 , Dn5 + .byte W12 + .byte En5 + .byte W12 + .byte Fn5 + .byte W12 + .byte En5 + .byte W24 + .byte N60 , Cn5 + .byte W24 + .byte MOD , 7 + .byte W36 +mus_battle32_4_000: + .byte VOICE , 80 + .byte MOD , 0 + .byte N48 , As3 , v060 + .byte W48 + .byte An3 + .byte W48 + .byte PEND +mus_battle32_4_001: + .byte N24 , Gn3 , v060 + .byte W24 + .byte An3 + .byte W24 + .byte Gn3 + .byte W24 + .byte Fn3 + .byte W24 + .byte PEND +mus_battle32_4_002: + .byte N72 , En3 , v060 + .byte W72 + .byte N24 , Cn3 + .byte W24 + .byte PEND +mus_battle32_4_003: + .byte N60 , Gn3 , v060 + .byte W60 + .byte VOICE , 6 + .byte N12 , En3 , v072 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte PEND + .byte As2 + .byte W12 + .byte Fn2 + .byte W12 + .byte As2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-47 + .byte N12 , Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , As2 + .byte W12 + .byte Fn2 + .byte W12 + .byte As2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+48 + .byte N12 , Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Cn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v-49 + .byte N12 , Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Cn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v+51 + .byte N12 , Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte VOICE , 84 + .byte PAN , c_v+0 + .byte N12 , Cn5 , v040 + .byte W12 + .byte Gn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N24 , Fn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte Fn4 + .byte W12 + .byte As4 + .byte W12 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte Dn5 + .byte W12 + .byte N36 , En5 + .byte W21 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N36 , Cn5 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N12 , Dn5 + .byte W12 + .byte En5 + .byte W12 + .byte Fn5 + .byte W12 + .byte En5 + .byte W24 + .byte N60 , Cn5 + .byte W24 + .byte W03 + .byte MOD , 6 + .byte W32 + .byte W01 + .byte PATT + .word mus_battle32_4_000 + .byte PATT + .word mus_battle32_4_001 + .byte PATT + .word mus_battle32_4_002 + .byte PATT + .word mus_battle32_4_003 + .byte N12 , Fn2 , v072 + .byte W12 + .byte As2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte PAN , c_v-47 + .byte N12 , An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Fn2 + .byte W12 + .byte As2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte PAN , c_v+48 + .byte N12 , An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Gn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte En3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v-49 + .byte N12 , Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Gn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte En3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v+51 + .byte N12 , Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 84 + .byte N72 , Cn2 + .byte W72 + .byte N12 + .byte W12 + .byte As1 + .byte W12 + .byte N96 , Cs2 + .byte W96 + .byte Ds2 + .byte W96 + .byte TIE , Cn2 + .byte W96 + .byte W72 + .byte EOT + .byte N12 + .byte W12 + .byte As1 + .byte W12 + .byte N96 , Cs2 + .byte W96 + .byte Ds2 + .byte W96 + .byte TIE , Cn2 + .byte W96 + .byte W72 + .byte EOT + .byte N12 + .byte W12 + .byte As1 + .byte W12 + .byte N96 , Cs2 + .byte W96 + .byte Ds2 + .byte W96 + .byte TIE , Fn2 + .byte W96 + .byte W96 + .byte EOT + .byte VOICE , 86 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 +mus_battle32_4_004: + .byte N12 , Fn2 , v072 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle32_4_004 + .byte PATT + .word mus_battle32_4_004 + .byte VOICE , 6 + .byte N12 , Gn3 , v060 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v-48 + .byte N12 , Gn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Gn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v+48 + .byte N12 , Gn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte VOICE , 7 + .byte PAN , c_v+0 + .byte N12 , Gn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v-48 + .byte N12 , En4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 +mus_battle32_4_005: + .byte PAN , c_v+0 + .byte N12 , Gn3 , v060 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v+48 + .byte N12 , En4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PEND + .byte VOICE , 6 + .byte PAN , c_v+0 + .byte N12 , Gs3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cs4 + .byte W12 + .byte PAN , c_v-48 + .byte N12 , Gs4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cs4 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Gs3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cs4 + .byte W12 + .byte PAN , c_v+48 + .byte N12 , Gs4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cs4 + .byte W12 + .byte VOICE , 7 + .byte PAN , c_v+0 + .byte N12 , Gn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v-47 + .byte N12 , En4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PATT + .word mus_battle32_4_005 + .byte GOTO + .word mus_battle32_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_battle32_5: + .byte KEYSH , mus_battle32_key+0 + .byte VOICE , 82 + .byte LFOS , 18 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 80*mus_battle32_mvl/mxv + .byte PAN , c_v+46 + .byte BEND , c_v-2 + .byte N06 , Gn3 , v052 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gn4 + .byte W12 + .byte Gn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gn4 + .byte W12 + .byte Gn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gn4 + .byte W12 + .byte Gn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gn4 + .byte W12 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Fn4 + .byte W12 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Fn4 + .byte W12 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Fn4 + .byte W12 + .byte As3 + .byte W06 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W06 + .byte VOICE , 80 + .byte PAN , c_v-47 + .byte N48 , Cn4 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Cn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Gn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Cs3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte W06 + .byte N42 , Cn4 + .byte W18 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Gn4 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Cn5 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Cs4 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte VOICE , 5 + .byte PAN , c_v+48 + .byte MOD , 0 + .byte N12 , Gn3 , v040 + .byte W36 + .byte Gs3 + .byte W36 + .byte Gn2 + .byte W24 + .byte En3 + .byte W36 + .byte Fn3 + .byte W36 + .byte Gn2 + .byte W24 + .byte Gn3 + .byte W36 + .byte Gs3 + .byte W36 + .byte N24 , Gn3 + .byte W24 + .byte N12 + .byte W36 + .byte Gs3 + .byte W36 + .byte N24 , Ds3 + .byte W24 +mus_battle32_5_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W36 + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte N12 , En3 , v060 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W36 + .byte VOICE , 82 + .byte N12 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 80 + .byte BEND , c_v-2 + .byte N09 , As3 , v072 + .byte W12 + .byte N09 + .byte W12 + .byte N32 + .byte W36 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte Fn3 + .byte W12 + .byte N09 + .byte W12 + .byte N32 + .byte W36 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte Ds3 + .byte W12 + .byte N09 + .byte W12 + .byte N32 + .byte W36 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte Dn3 + .byte W12 + .byte N09 + .byte W12 + .byte N32 + .byte W36 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte VOICE , 5 + .byte N09 , Cn2 , v060 + .byte W12 + .byte N09 + .byte W12 + .byte N32 + .byte W36 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte N32 + .byte W36 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte N09 + .byte W12 +mus_battle32_5_000: + .byte VOICE , 4 + .byte N09 , Cn4 , v060 + .byte W12 + .byte N09 + .byte W12 + .byte N32 + .byte W36 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte PEND +mus_battle32_5_001: + .byte N09 , Cn4 , v060 + .byte W12 + .byte N09 + .byte W12 + .byte N32 + .byte W36 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte PEND + .byte VOICE , 5 + .byte N09 , Cs2 + .byte W12 + .byte N09 + .byte W12 + .byte N32 + .byte W36 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte N32 + .byte W36 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte PATT + .word mus_battle32_5_000 + .byte PATT + .word mus_battle32_5_001 + .byte GOTO + .word mus_battle32_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_battle32_6: + .byte KEYSH , mus_battle32_key+0 + .byte VOICE , 90 + .byte VOL , 80*mus_battle32_mvl/mxv + .byte W24 + .byte N06 , Gn2 , v080 + .byte W06 + .byte Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte As2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte As2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 81 + .byte N48 , Cn3 , v064 + .byte W48 + .byte Cn2 + .byte W48 + .byte Gn2 + .byte W48 + .byte Cs2 + .byte W48 + .byte Cn3 + .byte W48 + .byte Cn2 + .byte W48 + .byte Cs3 + .byte W48 + .byte Ds2 + .byte W48 +mus_battle32_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_battle32_6_000: + .byte N48 , Fn4 , v064 + .byte W48 + .byte En4 + .byte W48 + .byte PEND +mus_battle32_6_001: + .byte N24 , Fn4 , v064 + .byte W24 + .byte En4 + .byte W24 + .byte An4 + .byte W24 + .byte Dn5 + .byte W24 + .byte PEND + .byte N72 , Cn5 + .byte W72 + .byte N24 , An4 + .byte W24 + .byte N96 , Gn4 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W60 + .byte N12 , Cn4 + .byte W12 + .byte Gn4 + .byte W24 + .byte PATT + .word mus_battle32_6_000 + .byte PATT + .word mus_battle32_6_001 + .byte N72 , Cn5 , v064 + .byte W72 + .byte N24 , En4 + .byte W24 + .byte N92 , Cn5 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N72 , Cn1 + .byte W72 + .byte N12 + .byte W12 + .byte As0 + .byte W12 + .byte N96 , Cs1 + .byte W96 + .byte Ds1 + .byte W96 + .byte TIE , Cn1 + .byte W96 + .byte W72 + .byte EOT + .byte N12 + .byte W12 + .byte As0 + .byte W12 + .byte N96 , Cs1 + .byte W96 + .byte Ds1 + .byte W96 + .byte Cn1 + .byte W96 + .byte N72 , Gn2 + .byte W72 + .byte N12 + .byte W12 + .byte Fn2 + .byte W12 + .byte N96 , Gs2 + .byte W96 + .byte As2 + .byte W96 + .byte TIE , Fn3 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte EOT + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_battle32_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_battle32_7: + .byte KEYSH , mus_battle32_key+0 + .byte VOICE , 0 + .byte VOL , 80*mus_battle32_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W84 + .byte N12 , Dn1 , v112 + .byte W12 +mus_battle32_7_000: + .byte W24 + .byte N12 , Dn1 , v112 + .byte W48 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 +mus_battle32_7_001: + .byte W24 + .byte N12 , Dn1 , v112 + .byte W48 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PEND +mus_battle32_7_B1: + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_001 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_001 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_000 + .byte PATT + .word mus_battle32_7_001 + .byte GOTO + .word mus_battle32_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_battle32_8: + .byte KEYSH , mus_battle32_key+0 + .byte VOICE , 47 + .byte VOL , 80*mus_battle32_mvl/mxv + .byte PAN , c_v-10 + .byte N12 , Cn2 , v112 + .byte W36 + .byte N12 + .byte W48 + .byte Gn1 + .byte W12 + .byte W12 + .byte Cn2 + .byte W36 + .byte N12 + .byte W24 + .byte Gn1 + .byte W24 +mus_battle32_8_000: + .byte N12 , Cn2 , v112 + .byte W36 + .byte N12 + .byte W60 + .byte PEND + .byte PATT + .word mus_battle32_8_000 + .byte PATT + .word mus_battle32_8_000 + .byte PATT + .word mus_battle32_8_000 + .byte PATT + .word mus_battle32_8_000 + .byte PATT + .word mus_battle32_8_000 + .byte PATT + .word mus_battle32_8_000 + .byte PATT + .word mus_battle32_8_000 +mus_battle32_8_B1: +mus_battle32_8_001: + .byte N12 , Cn2 , v112 + .byte W36 + .byte N12 + .byte W48 + .byte Gn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_000 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_000 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_000 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 + .byte PATT + .word mus_battle32_8_001 +mus_battle32_8_002: + .byte N12 , Cn2 , v112 + .byte W48 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle32_8_002 + .byte PATT + .word mus_battle32_8_002 + .byte PATT + .word mus_battle32_8_002 + .byte PATT + .word mus_battle32_8_002 + .byte PATT + .word mus_battle32_8_002 + .byte W24 + .byte N12 , Cn2 , v112 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W48 + .byte N12 + .byte W12 + .byte N12 + .byte W36 + .byte GOTO + .word mus_battle32_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_battle32: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_battle32_pri @ Priority + .byte mus_battle32_rev @ Reverb. + + .word mus_battle32_grp + + .word mus_battle32_1 + .word mus_battle32_2 + .word mus_battle32_3 + .word mus_battle32_4 + .word mus_battle32_5 + .word mus_battle32_6 + .word mus_battle32_7 + .word mus_battle32_8 + + .end diff --git a/sound/songs/mus_battle33.s b/sound/songs/mus_battle33.s new file mode 100644 index 0000000000..b3940f802f --- /dev/null +++ b/sound/songs/mus_battle33.s @@ -0,0 +1,2886 @@ + .include "MPlayDef.s" + + .equ mus_battle33_grp, voicegroup_869B4F8 + .equ mus_battle33_pri, 1 + .equ mus_battle33_rev, reverb_set+50 + .equ mus_battle33_mvl, 127 + .equ mus_battle33_key, 0 + .equ mus_battle33_tbs, 1 + .equ mus_battle33_exg, 0 + .equ mus_battle33_cmp, 1 + + .section .rodata + .global mus_battle33 + .align 2 + +@********************** Track 1 **********************@ + +mus_battle33_1: + .byte KEYSH , mus_battle33_key+0 + .byte TEMPO , 212*mus_battle33_tbs/2 + .byte VOICE , 56 + .byte LFOS , 16 + .byte VOL , 80*mus_battle33_mvl/mxv + .byte PAN , c_v+48 + .byte N06 , Ds4 , v096 + .byte W06 + .byte Dn4 + .byte W06 + .byte PAN , c_v+40 + .byte N06 , Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , As4 + .byte W06 + .byte An4 + .byte W06 + .byte PAN , c_v+24 + .byte N06 , Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte PAN , c_v+20 + .byte N06 , Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte PAN , c_v+12 + .byte N06 , As3 + .byte W06 + .byte An3 + .byte W06 + .byte PAN , c_v+7 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte PAN , c_v+4 + .byte N06 , En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte PAN , c_v-4 + .byte N06 , Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte PAN , c_v-14 + .byte N06 , Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte PAN , c_v-18 + .byte N06 , Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte PAN , c_v-26 + .byte N06 , Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte PAN , c_v-39 + .byte N06 , As3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W03 + .byte PAN , c_v-47 + .byte W03 + .byte N06 , Bn3 + .byte W06 + .byte PAN , c_v+10 + .byte N12 , Gn3 + .byte W36 + .byte Gs3 + .byte W36 + .byte N24 , As3 + .byte W24 + .byte N12 , En3 + .byte W36 + .byte Fn3 + .byte W36 + .byte N24 , Gn3 + .byte W24 +mus_battle33_1_000: + .byte N12 , Gn3 , v096 + .byte W36 + .byte Gs3 + .byte W36 + .byte N24 , As3 + .byte W24 + .byte PEND + .byte N12 + .byte W36 + .byte Cn4 + .byte W36 + .byte N24 , Cs4 + .byte W24 +mus_battle33_1_001: + .byte N12 , Cn4 , v096 + .byte W36 + .byte Cs4 + .byte W36 + .byte N24 , Ds4 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle33_1_000 + .byte PATT + .word mus_battle33_1_001 + .byte N12 , Ds4 , v096 + .byte W36 + .byte Fn4 + .byte W36 + .byte N24 , Gn4 + .byte W24 +mus_battle33_1_B1: + .byte VOICE , 60 + .byte PAN , c_v+10 + .byte MOD , 0 + .byte N84 , En3 , v096 + .byte W84 + .byte N12 , Cn3 + .byte W12 +mus_battle33_1_002: + .byte N24 , En2 , v096 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte N24 , Cn3 + .byte W24 + .byte En3 + .byte W24 + .byte N12 , Gs3 + .byte W12 + .byte PEND +mus_battle33_1_003: + .byte N84 , As3 , v096 + .byte W84 + .byte N12 , An3 + .byte W12 + .byte PEND +mus_battle33_1_004: + .byte N12 , As3 , v096 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , As3 + .byte W15 + .byte VOL , 74*mus_battle33_mvl/mxv + .byte W03 + .byte 61*mus_battle33_mvl/mxv + .byte W03 + .byte 40*mus_battle33_mvl/mxv + .byte W03 + .byte VOICE , 56 + .byte VOL , 80*mus_battle33_mvl/mxv + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , Gs3 + .byte W24 + .byte PEND + .byte VOICE , 60 + .byte N84 , En3 + .byte W84 + .byte N12 , Cn3 + .byte W12 + .byte PATT + .word mus_battle33_1_002 + .byte PATT + .word mus_battle33_1_003 + .byte PATT + .word mus_battle33_1_004 + .byte VOICE , 1 + .byte N36 , En3 , v096 + .byte W36 + .byte Fn3 + .byte W36 + .byte N24 , As3 + .byte W24 + .byte N12 , Gs3 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Cs3 + .byte W12 + .byte N48 , Fn3 + .byte W48 + .byte Ds3 + .byte W48 + .byte Cs3 + .byte W48 + .byte Cn3 + .byte W48 + .byte VOICE , 48 + .byte PAN , c_v+20 + .byte N48 , Gn4 , v088 + .byte W48 + .byte Fn4 + .byte W48 + .byte Ds4 + .byte W48 + .byte Cs4 + .byte W48 + .byte TIE , Cn4 , v096 + .byte W84 + .byte W03 + .byte VOL , 74*mus_battle33_mvl/mxv + .byte W09 + .byte 71*mus_battle33_mvl/mxv + .byte W09 + .byte 68*mus_battle33_mvl/mxv + .byte W12 + .byte 65*mus_battle33_mvl/mxv + .byte W09 + .byte 58*mus_battle33_mvl/mxv + .byte W12 + .byte 53*mus_battle33_mvl/mxv + .byte W15 + .byte 48*mus_battle33_mvl/mxv + .byte W36 + .byte W03 + .byte W32 + .byte W01 + .byte 53*mus_battle33_mvl/mxv + .byte W15 + .byte 58*mus_battle33_mvl/mxv + .byte W12 + .byte 63*mus_battle33_mvl/mxv + .byte W12 + .byte 68*mus_battle33_mvl/mxv + .byte W09 + .byte 71*mus_battle33_mvl/mxv + .byte W09 + .byte 77*mus_battle33_mvl/mxv + .byte W06 + .byte W06 + .byte 80*mus_battle33_mvl/mxv + .byte W90 + .byte EOT + .byte VOICE , 60 + .byte PAN , c_v+11 + .byte N12 , Gn3 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N36 , Gs3 + .byte W36 + .byte N24 , As3 + .byte W24 +mus_battle33_1_005: + .byte N12 , En3 , v096 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N36 , Fn3 + .byte W36 + .byte N24 , Gs3 + .byte W24 + .byte PEND +mus_battle33_1_006: + .byte N12 , Gn3 , v096 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N36 , Gs3 + .byte W36 + .byte N24 , As3 + .byte W24 + .byte PEND +mus_battle33_1_007: + .byte N12 , Cn4 , v096 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N36 , Cs4 + .byte W36 + .byte N24 , Ds4 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle33_1_006 + .byte PATT + .word mus_battle33_1_005 + .byte PATT + .word mus_battle33_1_006 + .byte PATT + .word mus_battle33_1_007 + .byte VOICE , 56 + .byte N24 , Gs3 , v096 + .byte W24 + .byte Ds4 + .byte W24 + .byte En4 + .byte W24 + .byte N12 , Ds4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Bn3 + .byte W12 + .byte N24 , An3 + .byte W24 + .byte Bn3 + .byte W24 + .byte An3 + .byte W24 + .byte N12 , Gs3 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Ds4 + .byte W24 + .byte En4 + .byte W24 + .byte N12 , Ds4 + .byte W12 + .byte Cs4 + .byte W12 + .byte En4 + .byte W12 + .byte Cs4 + .byte W12 + .byte N24 , Gs4 + .byte W24 + .byte An4 + .byte W24 + .byte Fs4 + .byte W24 + .byte Bn3 + .byte W24 + .byte Fs4 + .byte W24 + .byte Gn4 + .byte W24 + .byte N12 , Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte Dn4 + .byte W24 + .byte Cn4 + .byte W24 + .byte N12 , Bn3 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Fs4 + .byte W24 + .byte Gn4 + .byte W24 + .byte N12 , Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte N24 , Bn4 + .byte W24 + .byte Cn5 + .byte W24 + .byte Fn5 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v+20 + .byte N24 , En5 + .byte W24 + .byte En4 + .byte W24 + .byte En3 + .byte W24 + .byte Dn5 + .byte W24 + .byte Dn4 + .byte W24 + .byte Dn3 + .byte W24 + .byte Gn4 + .byte W24 + .byte Gn3 + .byte W24 + .byte Gn2 + .byte W24 + .byte Cn5 + .byte W24 + .byte Cn4 + .byte W24 + .byte Cn3 + .byte W24 + .byte An4 + .byte W24 + .byte An3 + .byte W24 + .byte An2 + .byte W24 + .byte Bn4 + .byte W24 + .byte Bn3 + .byte W24 + .byte Bn2 + .byte W24 + .byte Cn5 + .byte W24 + .byte Cn4 + .byte W24 + .byte Cn3 + .byte W24 + .byte Dn5 + .byte W24 + .byte Dn4 + .byte W24 + .byte Dn3 + .byte W24 + .byte VOICE , 48 + .byte PAN , c_v+11 + .byte TIE , Ds5 + .byte W96 + .byte MOD , 5 + .byte W96 + .byte EOT +mus_battle33_1_008: + .byte MOD , 0 + .byte TIE , Fn3 , v096 + .byte W96 + .byte PEND + .byte MOD , 5 + .byte W96 + .byte EOT + .byte MOD , 0 + .byte TIE , Dn3 + .byte W96 + .byte MOD , 5 + .byte W96 + .byte EOT + .byte PATT + .word mus_battle33_1_008 + .byte MOD , 5 + .byte W96 + .byte EOT , Fn3 + .byte GOTO + .word mus_battle33_1_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 2 **********************@ + +mus_battle33_2: + .byte KEYSH , mus_battle33_key+0 + .byte VOICE , 48 + .byte LFOS , 16 + .byte VOL , 80*mus_battle33_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Gn5 , v076 + .byte W06 + .byte Gs5 + .byte W06 + .byte N12 , As5 + .byte W12 + .byte N06 , Gn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte N12 , As5 + .byte W12 + .byte N06 , Gn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte N12 , As5 + .byte W12 + .byte N06 , Gn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte N12 , As5 + .byte W12 + .byte N06 , Gn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte N12 , As5 + .byte W12 + .byte N06 , Gn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte N12 , As5 + .byte W12 + .byte N06 , Gn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte N12 , As5 + .byte W12 + .byte N06 , Gn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte N12 , As5 + .byte W12 +mus_battle33_2_000: + .byte N12 , Cn4 , v100 + .byte W36 + .byte Cs4 + .byte W36 + .byte N24 , Ds4 + .byte W24 + .byte PEND + .byte N12 , Gn3 + .byte W36 + .byte Gs3 + .byte W36 + .byte N24 , As3 + .byte W24 + .byte PATT + .word mus_battle33_2_000 + .byte N12 , Ds4 , v100 + .byte W36 + .byte Fn4 + .byte W36 + .byte N24 , Fs4 + .byte W24 +mus_battle33_2_001: + .byte N12 , Cn5 , v100 + .byte W36 + .byte Cs5 + .byte W36 + .byte N24 , Ds5 + .byte W24 + .byte PEND + .byte N12 , Gn4 + .byte W36 + .byte Gs4 + .byte W36 + .byte N24 , As4 + .byte W24 + .byte PATT + .word mus_battle33_2_001 + .byte N12 , Ds5 , v100 + .byte W36 + .byte Fn5 + .byte W36 + .byte N24 , Gn5 + .byte W24 +mus_battle33_2_B1: + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N84 , Cn4 , v100 + .byte W84 + .byte N12 , Gn3 + .byte W12 +mus_battle33_2_002: + .byte N12 , Cn4 , v100 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte PEND +mus_battle33_2_003: + .byte N84 , Fs4 , v100 + .byte W84 + .byte N12 , Fn4 + .byte W12 + .byte PEND +mus_battle33_2_004: + .byte N12 , Fs4 , v100 + .byte W12 + .byte Fn4 + .byte W12 + .byte N72 , Fs4 + .byte W72 + .byte PEND + .byte N84 , Cn4 + .byte W84 + .byte N12 , Gn3 + .byte W12 + .byte PATT + .word mus_battle33_2_002 + .byte PATT + .word mus_battle33_2_003 + .byte PATT + .word mus_battle33_2_004 + .byte VOICE , 73 + .byte N36 , Gn3 , v112 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N36 , Gs3 + .byte W15 + .byte MOD , 6 + .byte W21 + .byte 0 + .byte N24 , Cs4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , As3 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte N12 , Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte TIE , Gs3 + .byte W42 + .byte MOD , 5 + .byte W36 + .byte 6 + .byte W18 + .byte W15 + .byte VOL , 75*mus_battle33_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W09 + .byte VOL , 69*mus_battle33_mvl/mxv + .byte W12 + .byte 63*mus_battle33_mvl/mxv + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 56*mus_battle33_mvl/mxv + .byte W12 + .byte 47*mus_battle33_mvl/mxv + .byte W09 + .byte 35*mus_battle33_mvl/mxv + .byte W09 + .byte 22*mus_battle33_mvl/mxv + .byte W09 + .byte 9*mus_battle33_mvl/mxv + .byte W03 + .byte EOT + .byte W03 + .byte VOICE , 56 + .byte VOL , 80*mus_battle33_mvl/mxv + .byte MOD , 0 + .byte N36 , As3 , v100 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N12 , Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte MOD , 0 + .byte N36 , Gn3 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N12 , Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Cn3 + .byte W12 + .byte As2 + .byte W12 + .byte TIE , Fn3 + .byte W48 + .byte W03 + .byte MOD , 6 + .byte W44 + .byte W01 + .byte W48 + .byte EOT + .byte MOD , 0 + .byte N24 , Gn3 + .byte W24 + .byte Fn3 + .byte W24 + .byte VOL , 48*mus_battle33_mvl/mxv + .byte TIE , En4 + .byte W32 + .byte W01 + .byte VOL , 53*mus_battle33_mvl/mxv + .byte W09 + .byte MOD , 5 + .byte W06 + .byte VOL , 58*mus_battle33_mvl/mxv + .byte W12 + .byte 63*mus_battle33_mvl/mxv + .byte W12 + .byte 68*mus_battle33_mvl/mxv + .byte W06 + .byte MOD , 6 + .byte W03 + .byte VOL , 71*mus_battle33_mvl/mxv + .byte W09 + .byte 77*mus_battle33_mvl/mxv + .byte W06 + .byte W06 + .byte 80*mus_battle33_mvl/mxv + .byte W12 + .byte MOD , 7 + .byte W30 + .byte 8 + .byte W48 + .byte EOT + .byte VOICE , 60 + .byte MOD , 0 + .byte N12 , Cn4 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N36 , Cs4 + .byte W36 + .byte N24 , Ds4 + .byte W24 +mus_battle33_2_005: + .byte N12 , Gn3 , v100 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N36 , Gs3 + .byte W36 + .byte N24 , Cs4 + .byte W24 + .byte PEND +mus_battle33_2_006: + .byte N12 , Cn4 , v100 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N36 , Cs4 + .byte W36 + .byte N24 , Ds4 + .byte W24 + .byte PEND +mus_battle33_2_007: + .byte N12 , Ds4 , v100 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N36 , Fn4 + .byte W36 + .byte N24 , Fs4 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle33_2_006 + .byte PATT + .word mus_battle33_2_005 + .byte PATT + .word mus_battle33_2_006 + .byte PATT + .word mus_battle33_2_007 + .byte VOICE , 48 + .byte N24 , Cs4 , v100 + .byte W24 + .byte Gs4 + .byte W24 + .byte An4 + .byte W24 + .byte N12 , Gs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gs4 + .byte W12 + .byte En4 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte Dn4 + .byte W24 + .byte N12 , Cs4 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Gs4 + .byte W24 + .byte An4 + .byte W24 + .byte N12 , Gs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte An4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N24 , Cs5 + .byte W24 + .byte Dn5 + .byte W24 + .byte Bn4 + .byte W24 + .byte En4 + .byte W24 + .byte Bn4 + .byte W24 + .byte Cn5 + .byte W24 + .byte N12 , Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N24 , Fn4 + .byte W24 + .byte Gn4 + .byte W24 + .byte Fn4 + .byte W24 + .byte N12 , En4 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Bn4 + .byte W24 + .byte Cn5 + .byte W24 + .byte N12 , Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte Cn5 + .byte W12 + .byte An4 + .byte W12 + .byte N24 , En5 + .byte W24 + .byte Fn5 + .byte W24 + .byte As5 + .byte W24 + .byte An5 + .byte W24 + .byte An4 + .byte W24 + .byte An3 + .byte W24 + .byte Gn5 + .byte W24 + .byte Gn4 + .byte W24 + .byte Gn3 + .byte W24 + .byte Cn5 + .byte W24 + .byte Cn4 + .byte W24 + .byte Cn3 + .byte W24 + .byte Fn5 + .byte W24 + .byte Fn4 + .byte W24 + .byte Fn3 + .byte W24 + .byte Dn5 + .byte W24 + .byte Dn4 + .byte W24 + .byte Dn3 + .byte W24 + .byte En5 + .byte W24 + .byte En4 + .byte W24 + .byte En3 + .byte W24 + .byte Fn5 + .byte W24 + .byte Fn4 + .byte W24 + .byte Fn3 + .byte W24 + .byte Gn5 + .byte W24 + .byte Gn4 + .byte W24 + .byte Gn3 + .byte W24 + .byte TIE , Gs5 + .byte W96 + .byte MOD , 5 + .byte W96 + .byte EOT +mus_battle33_2_008: + .byte MOD , 0 + .byte TIE , As3 , v100 + .byte W96 + .byte PEND + .byte MOD , 5 + .byte W96 + .byte EOT + .byte MOD , 0 + .byte TIE , Gn3 + .byte W96 + .byte MOD , 5 + .byte W96 + .byte EOT + .byte PATT + .word mus_battle33_2_008 + .byte MOD , 5 + .byte W96 + .byte EOT , As3 + .byte GOTO + .word mus_battle33_2_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 3 **********************@ + +mus_battle33_3: + .byte KEYSH , mus_battle33_key+0 + .byte VOICE , 33 + .byte VOL , 80*mus_battle33_mvl/mxv + .byte N12 , Cn2 , v108 + .byte W12 + .byte Gn1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Gs1 + .byte W12 + .byte En1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Cs1 + .byte W12 +mus_battle33_3_000: + .byte N12 , Cn1 , v108 + .byte W12 + .byte Fs1 + .byte W12 + .byte As1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Fs1 + .byte W12 + .byte PEND +mus_battle33_3_001: + .byte N12 , Fn1 , v108 + .byte W12 + .byte Ds1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Bn0 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle33_3_000 + .byte PATT + .word mus_battle33_3_001 + .byte PATT + .word mus_battle33_3_000 + .byte PATT + .word mus_battle33_3_001 + .byte PATT + .word mus_battle33_3_000 + .byte N12 , Fn1 , v108 + .byte W12 + .byte Ds1 + .byte W12 + .byte Cn1 + .byte W12 + .byte As1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Ds1 + .byte W12 +mus_battle33_3_B1: +mus_battle33_3_002: + .byte N12 , Cn1 , v108 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PEND + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte En1 + .byte W12 +mus_battle33_3_003: + .byte N12 , Cs1 , v108 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte PEND +mus_battle33_3_004: + .byte N12 , Cs1 , v108 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte N12 + .byte W12 + .byte Gs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle33_3_002 + .byte N12 , Cn1 , v108 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte En1 + .byte W12 + .byte Gn1 + .byte W12 + .byte En1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PATT + .word mus_battle33_3_003 + .byte PATT + .word mus_battle33_3_003 + .byte PATT + .word mus_battle33_3_002 + .byte PATT + .word mus_battle33_3_002 + .byte PATT + .word mus_battle33_3_003 + .byte PATT + .word mus_battle33_3_003 +mus_battle33_3_005: + .byte N12 , Ds1 , v108 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle33_3_005 +mus_battle33_3_006: + .byte N12 , Cn1 , v108 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PEND + .byte Cn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte PATT + .word mus_battle33_3_006 + .byte N12 , Cn2 , v108 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fs2 + .byte W12 + .byte As1 + .byte W12 + .byte Fn2 + .byte W12 + .byte An1 + .byte W12 + .byte En2 + .byte W12 +mus_battle33_3_007: + .byte N12 , Cn1 , v108 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N36 , Cs1 + .byte W36 + .byte N24 , Ds1 + .byte W24 + .byte PEND +mus_battle33_3_008: + .byte N12 , Gn0 , v108 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N36 , Gs0 + .byte W36 + .byte N24 , Cs1 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle33_3_007 + .byte PATT + .word mus_battle33_3_008 + .byte PATT + .word mus_battle33_3_007 + .byte PATT + .word mus_battle33_3_008 + .byte PATT + .word mus_battle33_3_007 + .byte N12 , Gn0 , v108 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Cs1 + .byte W24 + .byte N12 , Gs1 + .byte W12 + .byte N24 , Dn1 + .byte W24 +mus_battle33_3_009: + .byte N12 , Cs1 , v108 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte An1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Cs1 + .byte W12 + .byte An1 + .byte W12 + .byte PEND +mus_battle33_3_010: + .byte N12 , Cs1 , v108 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte An1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Cs1 + .byte W12 + .byte Dn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle33_3_009 + .byte PATT + .word mus_battle33_3_010 +mus_battle33_3_011: + .byte N12 , En1 , v108 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn2 + .byte W12 + .byte En1 + .byte W12 + .byte En2 + .byte W12 + .byte En1 + .byte W12 + .byte Cn2 + .byte W12 + .byte PEND +mus_battle33_3_012: + .byte N12 , En1 , v108 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn2 + .byte W12 + .byte En1 + .byte W12 + .byte En2 + .byte W12 + .byte En1 + .byte W12 + .byte Fn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle33_3_011 + .byte PATT + .word mus_battle33_3_012 + .byte N24 , An1 , v108 + .byte W24 + .byte En1 + .byte W24 + .byte An0 + .byte W24 + .byte Gn1 + .byte W24 + .byte Dn1 + .byte W24 + .byte Gn0 + .byte W24 + .byte Cn1 + .byte W24 + .byte En1 + .byte W24 + .byte Gn1 + .byte W24 + .byte Fn1 + .byte W24 + .byte Cn1 + .byte W24 + .byte Fn0 + .byte W24 + .byte N12 , Gn0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte Dn1 + .byte W12 + .byte An0 + .byte W12 + .byte En1 + .byte W12 + .byte An0 + .byte W12 + .byte En1 + .byte W12 + .byte An0 + .byte W12 + .byte En1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PATT + .word mus_battle33_3_002 + .byte PATT + .word mus_battle33_3_002 + .byte PATT + .word mus_battle33_3_003 + .byte PATT + .word mus_battle33_3_003 + .byte PATT + .word mus_battle33_3_002 + .byte PATT + .word mus_battle33_3_002 + .byte PATT + .word mus_battle33_3_003 + .byte PATT + .word mus_battle33_3_004 + .byte GOTO + .word mus_battle33_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_battle33_4: + .byte KEYSH , mus_battle33_key+0 + .byte VOICE , 80 + .byte LFOS , 16 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 80*mus_battle33_mvl/mxv + .byte PAN , c_v-48 + .byte N06 , Cn5 , v060 + .byte W18 + .byte PAN , c_v+50 + .byte N06 , Cs5 + .byte W06 + .byte PAN , c_v-47 + .byte N06 , Cn5 + .byte W24 + .byte PAN , c_v+48 + .byte N06 + .byte W24 + .byte PAN , c_v-47 + .byte N06 + .byte W24 + .byte PAN , c_v+48 + .byte N06 + .byte W24 + .byte PAN , c_v-48 + .byte N06 + .byte W24 + .byte PAN , c_v+48 + .byte N06 + .byte W24 + .byte PAN , c_v-48 + .byte N06 + .byte W18 + .byte PAN , c_v+48 + .byte N06 , Cs5 + .byte W06 + .byte VOICE , 83 + .byte PAN , c_v+0 + .byte N12 , Cn3 + .byte W36 + .byte Cs3 + .byte W36 + .byte N24 , Ds3 + .byte W24 + .byte N12 , Gn2 + .byte W36 + .byte Gs2 + .byte W36 + .byte N24 , As2 + .byte W24 + .byte N12 , Cn3 + .byte W36 + .byte Cs3 + .byte W36 + .byte N24 , Ds3 + .byte W24 + .byte N12 + .byte W36 + .byte Fn3 + .byte W36 + .byte N24 , Fs3 + .byte W24 + .byte VOICE , 80 + .byte PAN , c_v-49 + .byte N12 , Gn4 , v052 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Cn3 , v060 + .byte W12 + .byte Fn3 + .byte W12 + .byte PAN , c_v-48 + .byte N12 , Gs4 , v052 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Cs3 , v060 + .byte W12 + .byte Fs3 + .byte W12 + .byte PAN , c_v-48 + .byte N24 , As4 , v052 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , En4 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Fn2 , v060 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v-48 + .byte N12 , Fn4 , v052 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Fs2 , v060 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v-48 + .byte N24 , Gn4 , v052 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Gn2 , v060 + .byte W12 + .byte Ds3 + .byte W12 + .byte PAN , c_v-48 + .byte N12 , Gs4 , v052 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Gs2 , v060 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v-48 + .byte N24 , As4 , v052 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , As2 , v060 + .byte W12 + .byte Fs3 + .byte W12 + .byte PAN , c_v-48 + .byte N12 , Cn5 , v052 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Bn2 , v060 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v-48 + .byte N24 , Bn4 , v052 + .byte W12 + .byte MOD , 6 + .byte W12 +mus_battle33_4_B1: + .byte MOD , 0 + .byte W96 + .byte W96 + .byte VOICE , 83 + .byte PAN , c_v-48 + .byte N12 , Fs2 , v060 + .byte W12 + .byte As2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Fn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte As2 + .byte W12 + .byte Fs2 + .byte W12 + .byte As2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v+48 + .byte N12 , Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte As2 + .byte W12 + .byte W96 + .byte W96 + .byte Fs2 + .byte W12 + .byte As2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Fn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte As2 + .byte W12 + .byte Fs2 + .byte W12 + .byte As2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v-47 + .byte N12 , Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte As2 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N96 + .byte W96 + .byte N48 , Ds3 + .byte W48 + .byte Cs3 + .byte W48 + .byte TIE , Cn3 + .byte W84 + .byte W03 + .byte VOL , 74*mus_battle33_mvl/mxv + .byte W09 + .byte 71*mus_battle33_mvl/mxv + .byte W09 + .byte 68*mus_battle33_mvl/mxv + .byte W12 + .byte 65*mus_battle33_mvl/mxv + .byte W09 + .byte 58*mus_battle33_mvl/mxv + .byte W12 + .byte 53*mus_battle33_mvl/mxv + .byte W15 + .byte 48*mus_battle33_mvl/mxv + .byte W36 + .byte W03 + .byte EOT + .byte VOICE , 85 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W09 + .byte VOL , 53*mus_battle33_mvl/mxv + .byte W03 + .byte N12 + .byte W12 + .byte VOL , 58*mus_battle33_mvl/mxv + .byte N12 + .byte W12 + .byte VOL , 63*mus_battle33_mvl/mxv + .byte N12 + .byte W12 + .byte VOL , 68*mus_battle33_mvl/mxv + .byte N12 + .byte W09 + .byte VOL , 71*mus_battle33_mvl/mxv + .byte W03 + .byte N12 + .byte W06 + .byte VOL , 77*mus_battle33_mvl/mxv + .byte W06 + .byte N12 + .byte W06 + .byte VOL , 80*mus_battle33_mvl/mxv + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 80 + .byte PAN , c_v+0 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N36 , Gs2 + .byte W36 + .byte N24 , Gn2 + .byte W24 + .byte N12 , Cn2 + .byte W12 + .byte En2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N36 , Gs2 + .byte W36 + .byte N24 , Cs3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N36 , Gs2 + .byte W36 + .byte N24 , Gn2 + .byte W24 + .byte N12 , Cn2 + .byte W12 + .byte En2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N24 , Gs2 + .byte W24 + .byte N12 , As2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte VOICE , 83 + .byte N12 , Cn5 , v040 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N36 , Gs4 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Gn4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N36 , Gs4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , Cs5 + .byte W24 + .byte N12 , Cn5 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N36 , Gs4 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Gn4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N24 , Gs4 + .byte W24 + .byte N12 , Cn5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Fs5 + .byte W12 + .byte VOICE , 80 + .byte N24 , Cs3 , v060 + .byte W24 + .byte Gs3 + .byte W24 + .byte An3 + .byte W24 + .byte N12 , Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte N24 , Dn3 + .byte W24 + .byte En3 + .byte W24 + .byte Dn3 + .byte W24 + .byte N12 , Cs3 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Gs3 + .byte W24 + .byte An3 + .byte W24 + .byte N12 , Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte An3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte Dn4 + .byte W24 + .byte Bn3 + .byte W24 + .byte En3 + .byte W24 + .byte Bn3 + .byte W24 + .byte Cn4 + .byte W24 + .byte N12 , Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte Gn3 + .byte W24 + .byte Fn3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte Cn4 + .byte W24 + .byte N12 , Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte Fn4 + .byte W24 + .byte As4 + .byte W24 + .byte VOICE , 83 + .byte PAN , c_v-48 + .byte N24 , An4 + .byte W24 + .byte An3 + .byte W24 + .byte An2 + .byte W24 + .byte Gn4 + .byte W24 + .byte Gn3 + .byte W24 + .byte Gn2 + .byte W24 + .byte Cn4 + .byte W24 + .byte Cn3 + .byte W24 + .byte Cn2 + .byte W24 + .byte Fn4 + .byte W24 + .byte Fn3 + .byte W24 + .byte Fn2 + .byte W24 + .byte Dn4 + .byte W24 + .byte Dn3 + .byte W24 + .byte Dn2 + .byte W24 + .byte En4 + .byte W24 + .byte En3 + .byte W24 + .byte En2 + .byte W24 + .byte Fn4 + .byte W24 + .byte Fn3 + .byte W24 + .byte Fn2 + .byte W24 + .byte Gn4 + .byte W24 + .byte Gn3 + .byte W24 + .byte Gn2 + .byte W24 + .byte PAN , c_v+0 + .byte TIE , Gs4 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , As2 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , Gn2 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , As2 + .byte W96 + .byte W96 + .byte EOT + .byte GOTO + .word mus_battle33_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_battle33_5: + .byte KEYSH , mus_battle33_key+0 + .byte VOICE , 82 + .byte LFOS , 16 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 80*mus_battle33_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-2 + .byte N06 , Gn3 , v060 + .byte W06 + .byte Fs3 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte N06 + .byte W06 + .byte En3 + .byte W06 + .byte N12 , Ds3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte N06 + .byte W06 + .byte En3 + .byte W06 + .byte N12 , Ds3 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+48 + .byte N12 , Gn3 , v052 + .byte W36 + .byte Gs3 + .byte W36 + .byte N24 , As3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , En3 + .byte W36 + .byte Fn3 + .byte W36 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 + .byte W36 + .byte Gs3 + .byte W36 + .byte N24 , As3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 + .byte W36 + .byte Cn4 + .byte W36 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 6 + .byte W12 +mus_battle33_5_B1: + .byte MOD , 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 83 + .byte VOL , 48*mus_battle33_mvl/mxv + .byte PAN , c_v+48 + .byte TIE , En3 , v060 + .byte W32 + .byte W01 + .byte VOL , 53*mus_battle33_mvl/mxv + .byte W15 + .byte 58*mus_battle33_mvl/mxv + .byte W12 + .byte 63*mus_battle33_mvl/mxv + .byte W12 + .byte 68*mus_battle33_mvl/mxv + .byte W09 + .byte 71*mus_battle33_mvl/mxv + .byte W09 + .byte 77*mus_battle33_mvl/mxv + .byte W06 + .byte W06 + .byte 80*mus_battle33_mvl/mxv + .byte W90 + .byte EOT + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 84 + .byte W06 + .byte N12 , Cn5 , v032 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N36 , Gs4 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Gn4 + .byte W18 + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N36 , Gs4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , Cs5 + .byte W18 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N36 , Gs4 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Gn4 + .byte W18 + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N24 , Gs4 + .byte W24 + .byte N12 , Cn5 + .byte W12 + .byte Ds5 + .byte W12 + .byte N06 , Fs5 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_battle33_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_battle33_6: + .byte KEYSH , mus_battle33_key+0 + .byte VOICE , 81 + .byte VOL , 80*mus_battle33_mvl/mxv + .byte W48 + .byte N06 , Gn2 , v080 + .byte W06 + .byte Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte As2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_battle33_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_battle33_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_battle33_7: + .byte KEYSH , mus_battle33_key+0 + .byte VOICE , 0 + .byte PAN , c_v+1 + .byte VOL , 80*mus_battle33_mvl/mxv + .byte W96 + .byte W96 +mus_battle33_7_000: + .byte W24 + .byte N12 , Dn1 , v112 + .byte W48 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_000 + .byte W24 + .byte N12 , Dn1 , v112 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte N12 + .byte W12 +mus_battle33_7_B1: + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_000 + .byte W24 + .byte N12 , Dn1 , v112 + .byte W60 + .byte N12 + .byte W12 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_000 +mus_battle33_7_001: + .byte W24 + .byte N12 , Dn1 , v112 + .byte W48 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_001 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte N12 , Dn1 , v112 + .byte W12 + .byte N12 + .byte W12 +mus_battle33_7_002: + .byte W24 + .byte N12 , Dn1 , v112 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_002 + .byte PATT + .word mus_battle33_7_002 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_002 + .byte W24 + .byte N12 , Dn1 , v112 + .byte W36 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_001 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_001 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_001 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_001 + .byte W24 + .byte N12 , Dn1 , v112 + .byte W24 + .byte N12 + .byte W48 + .byte N12 + .byte W24 + .byte N12 + .byte W48 + .byte N12 + .byte W24 + .byte N12 + .byte W48 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_001 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_000 + .byte PATT + .word mus_battle33_7_000 + .byte W12 + .byte N12 , Dn1 , v112 + .byte W12 + .byte N12 + .byte W60 + .byte N12 + .byte W12 + .byte GOTO + .word mus_battle33_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_battle33_8: + .byte KEYSH , mus_battle33_key+0 + .byte PAN , c_v-10 + .byte VOL , 80*mus_battle33_mvl/mxv + .byte N12 , Gn2 , v100 + .byte W03 + .byte VOICE , 47 + .byte W09 + .byte N12 , En2 + .byte W12 + .byte N12 + .byte W12 + .byte Gn2 + .byte W12 + .byte En2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte En2 + .byte W12 + .byte Gn2 + .byte W12 + .byte En2 + .byte W12 + .byte N12 + .byte W12 + .byte Gn2 + .byte W12 + .byte En2 + .byte W12 + .byte N12 + .byte W12 + .byte Gn2 + .byte W12 +mus_battle33_8_000: + .byte N12 , Gn2 , v100 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte En2 + .byte W36 + .byte N12 + .byte W12 + .byte PEND +mus_battle33_8_001: + .byte N12 , Gn2 , v100 + .byte W36 + .byte N12 + .byte W12 + .byte En2 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte PEND +mus_battle33_8_002: + .byte N12 , Gn2 , v100 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte En2 + .byte W24 + .byte N12 + .byte W12 + .byte PEND + .byte Gn2 + .byte W36 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte En2 + .byte W24 + .byte N12 + .byte W12 + .byte PATT + .word mus_battle33_8_000 + .byte PATT + .word mus_battle33_8_001 + .byte PATT + .word mus_battle33_8_002 + .byte N12 , Gn2 , v100 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte En2 + .byte W36 +mus_battle33_8_B1: +mus_battle33_8_003: + .byte N12 , Gn2 , v100 + .byte W48 + .byte N12 + .byte W12 + .byte N12 + .byte W36 + .byte PEND +mus_battle33_8_004: + .byte N12 , Gn2 , v100 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte En2 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle33_8_003 +mus_battle33_8_005: + .byte N12 , Gn2 , v100 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W36 + .byte PEND + .byte PATT + .word mus_battle33_8_003 + .byte PATT + .word mus_battle33_8_005 + .byte PATT + .word mus_battle33_8_003 + .byte PATT + .word mus_battle33_8_005 +mus_battle33_8_006: + .byte N12 , Gn2 , v100 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W36 + .byte PEND + .byte PATT + .word mus_battle33_8_006 + .byte N12 , Gn2 , v100 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte Fn2 + .byte W12 + .byte PATT + .word mus_battle33_8_003 + .byte PATT + .word mus_battle33_8_003 + .byte PATT + .word mus_battle33_8_005 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N12 , Gn2 , v100 + .byte W12 + .byte En2 + .byte W36 + .byte Gn2 + .byte W24 + .byte N12 + .byte W24 +mus_battle33_8_007: + .byte N12 , Gn2 , v100 + .byte W12 + .byte En2 + .byte W24 + .byte Gn2 + .byte W24 + .byte En2 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PEND + .byte PATT + .word mus_battle33_8_007 + .byte N12 , Gn2 , v100 + .byte W12 + .byte En2 + .byte W24 + .byte Gn2 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte En2 + .byte W24 + .byte N12 + .byte W36 + .byte Gn2 + .byte W24 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte En2 + .byte W24 + .byte N12 + .byte W12 + .byte Gn2 + .byte W12 + .byte En2 + .byte W24 + .byte Gn2 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte En2 + .byte W24 + .byte Gn2 + .byte W12 + .byte En2 + .byte W48 + .byte PATT + .word mus_battle33_8_003 + .byte PATT + .word mus_battle33_8_003 + .byte PATT + .word mus_battle33_8_003 + .byte PATT + .word mus_battle33_8_003 + .byte PATT + .word mus_battle33_8_003 + .byte PATT + .word mus_battle33_8_003 + .byte PATT + .word mus_battle33_8_003 + .byte PATT + .word mus_battle33_8_003 + .byte N12 , Gn2 , v100 + .byte W72 + .byte N12 + .byte W24 + .byte W48 + .byte N12 + .byte W48 + .byte W24 + .byte N12 + .byte W72 +mus_battle33_8_008: + .byte N12 , Gn2 , v100 + .byte W48 + .byte N12 + .byte W48 + .byte PEND + .byte PATT + .word mus_battle33_8_008 + .byte PATT + .word mus_battle33_8_008 + .byte PATT + .word mus_battle33_8_003 + .byte PATT + .word mus_battle33_8_004 + .byte PATT + .word mus_battle33_8_003 + .byte PATT + .word mus_battle33_8_005 + .byte PATT + .word mus_battle33_8_003 + .byte PATT + .word mus_battle33_8_004 + .byte PATT + .word mus_battle33_8_003 + .byte PATT + .word mus_battle33_8_005 + .byte GOTO + .word mus_battle33_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_battle33: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_battle33_pri @ Priority + .byte mus_battle33_rev @ Reverb. + + .word mus_battle33_grp + + .word mus_battle33_1 + .word mus_battle33_2 + .word mus_battle33_3 + .word mus_battle33_4 + .word mus_battle33_5 + .word mus_battle33_6 + .word mus_battle33_7 + .word mus_battle33_8 + + .end diff --git a/sound/songs/mus_battle34.s b/sound/songs/mus_battle34.s new file mode 100644 index 0000000000..c37650627b --- /dev/null +++ b/sound/songs/mus_battle34.s @@ -0,0 +1,1213 @@ + .include "MPlayDef.s" + + .equ mus_battle34_grp, voicegroup_869BCF0 + .equ mus_battle34_pri, 1 + .equ mus_battle34_rev, reverb_set+50 + .equ mus_battle34_mvl, 127 + .equ mus_battle34_key, 0 + .equ mus_battle34_tbs, 1 + .equ mus_battle34_exg, 0 + .equ mus_battle34_cmp, 1 + + .section .rodata + .global mus_battle34 + .align 2 + +@********************** Track 1 **********************@ + +mus_battle34_1: + .byte KEYSH , mus_battle34_key+0 + .byte TEMPO , 196*mus_battle34_tbs/2 + .byte VOICE , 14 + .byte LFOS , 18 + .byte PAN , c_v+16 + .byte VOL , 80*mus_battle34_mvl/mxv + .byte N48 , Cn2 , v112 + .byte W96 + .byte N48 + .byte W96 + .byte N48 + .byte W96 + .byte N48 + .byte W96 +mus_battle34_1_000: + .byte VOICE , 47 + .byte PAN , c_v-32 + .byte N24 , Gn1 , v096 + .byte W24 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte PEND +mus_battle34_1_001: + .byte N36 , Gn1 , v096 + .byte W36 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte PEND +mus_battle34_1_002: + .byte N12 , Gn1 , v096 + .byte W12 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte PEND +mus_battle34_1_003: + .byte N24 , Gn1 , v096 + .byte W24 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte PEND +mus_battle34_1_B1: + .byte VOICE , 56 + .byte PAN , c_v+10 + .byte N12 , Cn4 , v100 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Cs4 + .byte W24 +mus_battle34_1_004: + .byte W24 + .byte N72 , Gn3 , v100 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte PEND +mus_battle34_1_005: + .byte MOD , 0 + .byte N12 , Cn4 , v100 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Cs4 + .byte W24 + .byte PEND + .byte W24 + .byte N72 , Ds4 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte PATT + .word mus_battle34_1_005 + .byte PATT + .word mus_battle34_1_004 + .byte PATT + .word mus_battle34_1_005 + .byte W24 + .byte N72 , En4 , v100 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte VOICE , 48 + .byte MOD , 0 + .byte N12 , Fn4 , v096 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Fs4 + .byte W24 + .byte W24 + .byte N72 , Cn4 + .byte W72 + .byte N12 , Fn4 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Fs4 + .byte W24 + .byte W24 + .byte N72 , Gs4 + .byte W72 +mus_battle34_1_006: + .byte N48 , Gn3 , v096 + .byte W48 + .byte Cn4 + .byte W48 + .byte PEND + .byte N96 , Gs3 + .byte W96 + .byte PATT + .word mus_battle34_1_006 + .byte N96 , Gs4 , v096 + .byte W96 + .byte PATT + .word mus_battle34_1_006 + .byte N96 , Gs3 , v096 + .byte W96 + .byte PATT + .word mus_battle34_1_006 + .byte N96 , Gs4 , v096 + .byte W96 + .byte VOICE , 60 + .byte N48 , Ds4 + .byte W48 + .byte As3 + .byte W48 + .byte N96 , Bn3 + .byte W96 + .byte N48 , As3 + .byte W48 + .byte Ds4 + .byte W48 + .byte N96 , Bn4 + .byte W96 + .byte PATT + .word mus_battle34_1_000 + .byte PATT + .word mus_battle34_1_001 + .byte PATT + .word mus_battle34_1_002 + .byte PATT + .word mus_battle34_1_003 + .byte PATT + .word mus_battle34_1_003 + .byte PATT + .word mus_battle34_1_001 + .byte PATT + .word mus_battle34_1_002 + .byte PATT + .word mus_battle34_1_003 + .byte GOTO + .word mus_battle34_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_battle34_2: + .byte KEYSH , mus_battle34_key+0 + .byte VOICE , 14 + .byte LFOS , 18 + .byte PAN , c_v-16 + .byte VOL , 80*mus_battle34_mvl/mxv + .byte N48 , Cn3 , v108 + .byte W96 + .byte N48 + .byte W96 + .byte N48 + .byte W96 + .byte N48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_battle34_2_B1: + .byte VOICE , 56 + .byte PAN , c_v-10 + .byte N12 , Gn4 , v100 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Gs4 + .byte W24 +mus_battle34_2_000: + .byte W24 + .byte N72 , Dn4 , v100 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte PEND +mus_battle34_2_001: + .byte MOD , 0 + .byte N12 , Gn4 , v100 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Gs4 + .byte W24 + .byte PEND + .byte W24 + .byte N72 , As4 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte PATT + .word mus_battle34_2_001 + .byte PATT + .word mus_battle34_2_000 + .byte PATT + .word mus_battle34_2_001 + .byte W24 + .byte N72 , Bn4 , v100 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte VOICE , 48 + .byte MOD , 0 + .byte N12 , Cn5 , v096 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Cs5 + .byte W24 + .byte W24 + .byte N72 , Gn4 + .byte W72 + .byte N12 , Cn5 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Cs5 + .byte W24 + .byte W24 + .byte N72 , Ds5 + .byte W72 + .byte VOICE , 73 + .byte N36 , Cn5 , v108 + .byte W18 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N36 , Gn4 + .byte W21 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte N24 , Fs4 + .byte W24 +mus_battle34_2_002: + .byte N96 , Cs4 , v108 + .byte W36 + .byte MOD , 8 + .byte W60 + .byte PEND +mus_battle34_2_003: + .byte MOD , 0 + .byte N36 , Cn5 , v108 + .byte W18 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N36 , Gn4 + .byte W21 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte N24 , Fn4 + .byte W24 + .byte PEND +mus_battle34_2_004: + .byte N96 , Cs5 , v108 + .byte W36 + .byte MOD , 8 + .byte W60 + .byte PEND + .byte VOICE , 56 + .byte MOD , 0 + .byte N36 , Cn5 + .byte W18 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N36 , Gn4 + .byte W21 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte N24 , Fs4 + .byte W24 + .byte PATT + .word mus_battle34_2_002 + .byte PATT + .word mus_battle34_2_003 + .byte PATT + .word mus_battle34_2_004 + .byte VOICE , 48 + .byte MOD , 0 + .byte N36 , Gn4 , v108 + .byte W36 + .byte As4 + .byte W36 + .byte N24 , Ds5 + .byte W24 + .byte N96 , En5 + .byte W96 + .byte N36 , Ds5 + .byte W36 + .byte As4 + .byte W36 + .byte N24 , Gs4 + .byte W24 + .byte N96 , En5 + .byte W96 + .byte VOICE , 14 + .byte PAN , c_v+0 + .byte N24 , Cn4 + .byte W48 + .byte VOICE , 47 + .byte N48 , En1 , v100 + .byte W48 +mus_battle34_2_005: + .byte VOICE , 14 + .byte N24 , Cn4 , v108 + .byte W48 + .byte VOICE , 47 + .byte N48 , Cn1 , v100 + .byte W48 + .byte PEND + .byte VOICE , 14 + .byte N24 , Cn4 , v108 + .byte W48 + .byte VOICE , 47 + .byte N48 , En1 , v100 + .byte W48 + .byte PATT + .word mus_battle34_2_005 + .byte N24 , En1 , v100 + .byte W24 + .byte An1 + .byte W24 + .byte En1 + .byte W24 + .byte An1 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N24 + .byte W24 + .byte N12 , An1 + .byte W12 + .byte N24 , En1 + .byte W24 + .byte N12 , An1 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , En1 + .byte W24 + .byte N12 , An1 + .byte W12 + .byte N24 , En1 + .byte W24 + .byte N12 + .byte W12 + .byte An1 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , En1 + .byte W24 + .byte An1 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N12 + .byte W12 + .byte An1 + .byte W12 + .byte N12 + .byte W12 + .byte GOTO + .word mus_battle34_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_battle34_3: + .byte KEYSH , mus_battle34_key+0 + .byte VOICE , 33 + .byte VOL , 80*mus_battle34_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_battle34_3_B1: +mus_battle34_3_000: + .byte N12 , Gn0 , v112 + .byte W48 + .byte N12 + .byte W48 + .byte PEND +mus_battle34_3_001: + .byte N12 , Gn0 , v112 + .byte W48 + .byte N12 + .byte W24 + .byte N24 , Fs0 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle34_3_000 + .byte PATT + .word mus_battle34_3_000 + .byte PATT + .word mus_battle34_3_000 + .byte PATT + .word mus_battle34_3_001 + .byte PATT + .word mus_battle34_3_000 + .byte N12 , Gn0 , v112 + .byte W48 + .byte N12 + .byte W24 + .byte N24 , Bn0 + .byte W24 +mus_battle34_3_002: + .byte N12 , Cn1 , v112 + .byte W48 + .byte N12 + .byte W48 + .byte PEND + .byte N12 + .byte W48 + .byte N12 + .byte W24 + .byte N24 , Bn0 + .byte W24 + .byte PATT + .word mus_battle34_3_002 + .byte N12 , Cn1 , v112 + .byte W48 + .byte N12 + .byte W24 + .byte N24 , Cs1 + .byte W24 + .byte PATT + .word mus_battle34_3_002 + .byte N12 , Cs1 , v112 + .byte W48 + .byte N12 + .byte W48 + .byte PATT + .word mus_battle34_3_002 + .byte N12 , Cs1 , v112 + .byte W48 + .byte N12 + .byte W24 + .byte N24 , Bn0 + .byte W24 +mus_battle34_3_003: + .byte N12 , Cn1 , v112 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PEND +mus_battle34_3_004: + .byte N12 , Cs1 , v112 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle34_3_003 + .byte PATT + .word mus_battle34_3_004 +mus_battle34_3_005: + .byte N12 , Ds1 , v112 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte PEND +mus_battle34_3_006: + .byte N12 , En1 , v112 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle34_3_005 + .byte PATT + .word mus_battle34_3_006 + .byte PATT + .word mus_battle34_3_002 +mus_battle34_3_007: + .byte N12 , Cn1 , v112 + .byte W48 + .byte N48 , Bn0 + .byte W48 + .byte PEND + .byte PATT + .word mus_battle34_3_002 + .byte N12 , Cn1 , v112 + .byte W48 + .byte N36 , Gs1 + .byte W36 + .byte N06 , Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte PATT + .word mus_battle34_3_002 + .byte PATT + .word mus_battle34_3_007 + .byte PATT + .word mus_battle34_3_002 + .byte N12 , Cn1 , v112 + .byte W48 + .byte Gn0 + .byte W12 + .byte Gs0 + .byte W12 + .byte Gn0 + .byte W12 + .byte Fn0 + .byte W12 + .byte GOTO + .word mus_battle34_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_battle34_4: + .byte KEYSH , mus_battle34_key+0 + .byte VOICE , 127 + .byte LFOS , 18 + .byte PAN , c_v+4 + .byte VOL , 80*mus_battle34_mvl/mxv + .byte N96 , An2 , v096 + .byte W96 + .byte N96 + .byte W96 + .byte N96 + .byte W96 + .byte N96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_battle34_4_B1: + .byte VOICE , 80 + .byte PAN , c_v-48 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte N12 , Gn3 , v052 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Gs3 + .byte W24 +mus_battle34_4_000: + .byte W24 + .byte N72 , Dn3 , v052 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte PEND +mus_battle34_4_001: + .byte MOD , 0 + .byte N12 , Gn3 , v052 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Gs3 + .byte W24 + .byte PEND + .byte W24 + .byte N72 , As3 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte PATT + .word mus_battle34_4_001 + .byte PATT + .word mus_battle34_4_000 + .byte PATT + .word mus_battle34_4_001 + .byte W24 + .byte N72 , Bn3 , v052 + .byte W24 + .byte MOD , 7 + .byte W48 +mus_battle34_4_002: + .byte MOD , 0 + .byte N12 , Cn4 , v052 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Cs4 + .byte W24 + .byte PEND + .byte W24 + .byte N72 , Gn3 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte PATT + .word mus_battle34_4_002 + .byte W24 + .byte N72 , Ds4 , v052 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte W96 + .byte W96 + .byte 0 + .byte W96 + .byte PAN , c_v+0 + .byte N96 , Cs4 , v060 + .byte W96 + .byte MOD , 0 + .byte W96 + .byte W96 + .byte 0 + .byte W96 + .byte N96 + .byte W96 + .byte N48 , As3 + .byte W48 + .byte N24 , Ds4 + .byte W24 + .byte As4 + .byte W24 + .byte N96 , Gs4 + .byte W96 + .byte N36 , Gn4 + .byte W36 + .byte N12 , Ds4 + .byte W12 + .byte N48 , As3 + .byte W48 + .byte N96 , En4 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_battle34_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_battle34_5: + .byte KEYSH , mus_battle34_key+0 + .byte LFOS , 18 + .byte VOL , 80*mus_battle34_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_battle34_5_B1: + .byte VOICE , 82 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte PAN , c_v+48 + .byte N12 , Cn3 , v052 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Cs3 + .byte W24 +mus_battle34_5_000: + .byte W24 + .byte N12 , Gn2 , v052 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte MOD , 7 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PEND +mus_battle34_5_001: + .byte VOICE , 82 + .byte MOD , 0 + .byte N12 , Cn3 , v052 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Cs3 + .byte W24 + .byte PEND + .byte W24 + .byte Ds3 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte MOD , 7 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PATT + .word mus_battle34_5_001 + .byte PATT + .word mus_battle34_5_000 + .byte PATT + .word mus_battle34_5_001 + .byte W24 + .byte N12 , En3 , v052 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte MOD , 7 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 +mus_battle34_5_002: + .byte VOICE , 82 + .byte MOD , 0 + .byte N12 , Fn3 , v052 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Fs3 + .byte W24 + .byte PEND + .byte W24 + .byte Cn3 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte MOD , 7 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PATT + .word mus_battle34_5_002 + .byte W24 + .byte N12 , Gs3 , v052 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte MOD , 7 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte MOD , 0 + .byte W96 + .byte W96 + .byte 0 + .byte W96 + .byte W96 + .byte 0 + .byte W96 + .byte W96 + .byte 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte N12 , Bn3 , v060 + .byte W12 + .byte Bn3 , v052 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_battle34_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_battle34_6: + .byte KEYSH , mus_battle34_key+0 + .byte VOICE , 47 + .byte PAN , c_v-4 + .byte VOL , 80*mus_battle34_mvl/mxv + .byte N96 , Gn1 , v112 + .byte W96 + .byte N96 + .byte W96 + .byte N96 + .byte W96 + .byte Cn1 + .byte W96 +mus_battle34_6_000: + .byte PAN , c_v+32 + .byte W12 + .byte N36 , Cn2 , v096 + .byte W36 + .byte N36 + .byte W36 + .byte N24 + .byte W12 + .byte PEND +mus_battle34_6_001: + .byte W12 + .byte N12 , Cn2 , v096 + .byte W12 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N48 + .byte W24 + .byte PEND +mus_battle34_6_002: + .byte W24 + .byte N24 , Cn2 , v096 + .byte W24 + .byte N36 + .byte W36 + .byte N24 + .byte W12 + .byte PEND +mus_battle34_6_003: + .byte W12 + .byte N36 , Cn2 , v096 + .byte W36 + .byte N36 + .byte W36 + .byte N12 + .byte W12 + .byte PEND +mus_battle34_6_B1: +mus_battle34_6_004: + .byte PAN , c_v-16 + .byte N12 , Gn1 , v112 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Gn1 + .byte W12 + .byte PAN , c_v+16 + .byte N12 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Gn1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Cn2 + .byte W12 + .byte PEND +mus_battle34_6_005: + .byte PAN , c_v-16 + .byte N12 , Gn1 , v112 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v-16 + .byte N12 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Gn1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Gn1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Gn1 + .byte W12 + .byte PEND +mus_battle34_6_006: + .byte PAN , c_v-16 + .byte N12 , Gn1 , v112 + .byte W12 + .byte PAN , c_v+16 + .byte N12 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Gn1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Gn1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Cn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle34_6_004 + .byte PATT + .word mus_battle34_6_004 + .byte PATT + .word mus_battle34_6_005 + .byte PATT + .word mus_battle34_6_006 + .byte PATT + .word mus_battle34_6_004 + .byte PATT + .word mus_battle34_6_004 + .byte PATT + .word mus_battle34_6_005 + .byte PATT + .word mus_battle34_6_006 + .byte PATT + .word mus_battle34_6_004 + .byte PATT + .word mus_battle34_6_004 + .byte PATT + .word mus_battle34_6_005 + .byte PATT + .word mus_battle34_6_006 + .byte PATT + .word mus_battle34_6_004 + .byte PATT + .word mus_battle34_6_004 + .byte PATT + .word mus_battle34_6_005 + .byte PATT + .word mus_battle34_6_006 + .byte PATT + .word mus_battle34_6_004 +mus_battle34_6_007: + .byte PAN , c_v-16 + .byte N12 , As1 , v112 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Ds2 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , As1 + .byte W12 + .byte PAN , c_v+16 + .byte N12 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Ds2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , As1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Ds2 + .byte W12 + .byte PEND + .byte PAN , c_v-16 + .byte N12 , As1 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Ds2 + .byte W12 + .byte PAN , c_v-16 + .byte N12 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , As1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Ds2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , As1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Ds2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , As1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 + .byte W12 + .byte PAN , c_v+16 + .byte N12 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Ds2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , As1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Ds2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , As1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Ds2 + .byte W12 + .byte PATT + .word mus_battle34_6_007 + .byte PATT + .word mus_battle34_6_000 + .byte PATT + .word mus_battle34_6_001 + .byte PATT + .word mus_battle34_6_002 +mus_battle34_6_008: + .byte W12 + .byte N36 , Cn2 , v096 + .byte W36 + .byte N36 + .byte W36 + .byte N24 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle34_6_008 + .byte PATT + .word mus_battle34_6_001 + .byte PATT + .word mus_battle34_6_002 + .byte PATT + .word mus_battle34_6_003 + .byte GOTO + .word mus_battle34_6_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_battle34: + .byte 6 @ NumTrks + .byte 0 @ NumBlks + .byte mus_battle34_pri @ Priority + .byte mus_battle34_rev @ Reverb. + + .word mus_battle34_grp + + .word mus_battle34_1 + .word mus_battle34_2 + .word mus_battle34_3 + .word mus_battle34_4 + .word mus_battle34_5 + .word mus_battle34_6 + + .end diff --git a/sound/songs/mus_battle35.s b/sound/songs/mus_battle35.s new file mode 100644 index 0000000000..484d4688f1 --- /dev/null +++ b/sound/songs/mus_battle35.s @@ -0,0 +1,2381 @@ + .include "MPlayDef.s" + + .equ mus_battle35_grp, voicegroup_869C2F0 + .equ mus_battle35_pri, 1 + .equ mus_battle35_rev, reverb_set+50 + .equ mus_battle35_mvl, 127 + .equ mus_battle35_key, 0 + .equ mus_battle35_tbs, 1 + .equ mus_battle35_exg, 0 + .equ mus_battle35_cmp, 1 + + .section .rodata + .global mus_battle35 + .align 2 + +@********************** Track 1 **********************@ + +mus_battle35_1: + .byte KEYSH , mus_battle35_key+0 + .byte TEMPO , 196*mus_battle35_tbs/2 + .byte VOICE , 56 + .byte LFOS , 16 + .byte VOL , 80*mus_battle35_mvl/mxv + .byte PAN , c_v+8 + .byte BEND , c_v+0 + .byte N06 , Fn4 , v108 + .byte W06 + .byte Cn4 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte N06 , Fn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte N06 , Fn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte N06 , Fn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte N06 , Fn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte N06 , Fn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte N06 , Fn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte N06 , Fn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte VOICE , 60 + .byte PAN , c_v+10 + .byte N12 , An2 , v096 + .byte W36 + .byte Fn2 + .byte W36 + .byte An2 + .byte W24 + .byte Cn3 + .byte W36 + .byte Dn3 + .byte W36 + .byte Fn3 + .byte W24 + .byte An2 + .byte W36 + .byte Fn2 + .byte W36 + .byte An2 + .byte W24 + .byte Cn3 + .byte W36 + .byte Dn3 + .byte W36 + .byte N24 , An3 + .byte W24 + .byte VOICE , 48 + .byte N12 + .byte W36 + .byte Fn3 + .byte W36 + .byte An3 + .byte W24 + .byte Cn4 + .byte W36 + .byte Dn4 + .byte W36 + .byte Fn4 + .byte W24 + .byte An3 + .byte W36 + .byte Fn3 + .byte W36 + .byte An3 + .byte W24 + .byte Cn4 + .byte W36 + .byte Dn4 + .byte W36 + .byte N24 , Gn4 + .byte W24 +mus_battle35_1_B1: + .byte VOICE , 48 + .byte N36 , An2 , v096 + .byte W36 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , Ds3 + .byte W24 + .byte Cn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N48 , Ds3 + .byte W48 + .byte Ds2 + .byte W48 + .byte Ds3 + .byte W48 + .byte N24 , As2 + .byte W24 + .byte Ds3 + .byte W24 + .byte N36 , Fn3 + .byte W36 + .byte As3 + .byte W36 + .byte N24 , Fn4 + .byte W24 + .byte As4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Dn4 + .byte W24 + .byte N12 , As2 + .byte W12 + .byte Fn3 + .byte W12 + .byte N48 , Ds3 + .byte W48 + .byte Fn3 + .byte W48 + .byte N12 , Gn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N48 , Ds3 + .byte W48 + .byte N24 , Dn4 + .byte W24 + .byte As3 + .byte W24 + .byte Fn3 + .byte W24 + .byte N12 , Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte As2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N24 , Ds3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 +mus_battle35_1_000: + .byte N24 , Ds4 , v096 + .byte W24 + .byte Cn4 + .byte W24 + .byte Gn3 + .byte W24 + .byte N12 , Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte PEND + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte PATT + .word mus_battle35_1_000 + .byte N12 , Cn3 , v096 + .byte W12 + .byte Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte VOICE , 56 + .byte N36 , Fn4 , v108 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N36 , Gn4 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , An4 + .byte W24 + .byte W12 + .byte N36 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N12 , As4 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , An4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 48 + .byte N12 , As2 , v096 + .byte W12 + .byte Fn2 + .byte W12 + .byte As2 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte N12 , Fn3 + .byte W12 +mus_battle35_1_001: + .byte N12 , Ds3 , v096 + .byte W48 + .byte N48 , Fs3 + .byte W48 + .byte PEND + .byte N12 , As2 + .byte W12 + .byte Fn2 + .byte W12 + .byte As2 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte PATT + .word mus_battle35_1_001 + .byte VOICE , 56 + .byte W12 + .byte PAN , c_v+32 + .byte BEND , c_v-2 + .byte N24 , As3 , v072 + .byte W24 + .byte PAN , c_v+25 + .byte N24 , Fn3 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , Bn3 + .byte W24 + .byte PAN , c_v+8 + .byte N24 , Gs3 + .byte W12 + .byte W12 + .byte PAN , c_v+0 + .byte N24 , As3 + .byte W24 + .byte PAN , c_v-7 + .byte N24 , Fn3 + .byte W24 + .byte PAN , c_v-16 + .byte N24 , Gs3 + .byte W24 + .byte PAN , c_v-24 + .byte N24 , Ds3 + .byte W12 + .byte W12 + .byte PAN , c_v-32 + .byte N24 , As3 + .byte W24 + .byte PAN , c_v-24 + .byte N24 , Fn3 + .byte W24 + .byte PAN , c_v-16 + .byte N24 , Bn3 + .byte W24 + .byte PAN , c_v-7 + .byte N24 , Gs3 + .byte W12 + .byte W12 + .byte PAN , c_v+0 + .byte N24 , As3 + .byte W24 + .byte PAN , c_v+8 + .byte N24 , Dn4 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , Bn3 + .byte W24 + .byte PAN , c_v+24 + .byte N12 , As3 + .byte W12 + .byte PAN , c_v+10 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 48 + .byte BEND , c_v+0 + .byte N96 , Fn3 , v100 + .byte W96 + .byte N72 , Fn2 + .byte W72 + .byte N24 , Gn2 + .byte W24 + .byte N96 , Gs2 + .byte W96 + .byte N36 , Ds3 + .byte W36 + .byte Fn3 + .byte W36 + .byte N24 , Ds3 + .byte W24 + .byte N96 , Dn3 + .byte W96 + .byte N72 , Gn2 + .byte W72 + .byte N24 , As2 + .byte W24 + .byte N48 , Cn3 + .byte W48 + .byte As2 + .byte W48 + .byte Gs2 + .byte W48 + .byte Ds2 , v096 + .byte W48 + .byte GOTO + .word mus_battle35_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_battle35_2: + .byte KEYSH , mus_battle35_key+0 + .byte VOICE , 1 + .byte LFOS , 16 + .byte VOL , 80*mus_battle35_mvl/mxv + .byte PAN , c_v-16 + .byte N06 , Cn5 , v060 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte N06 , Gn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte N06 , Gn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte N06 , Gn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte N06 , Gn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte N06 , Gn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte N06 , Gn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte N06 , Gn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte N06 , Gn5 + .byte W06 + .byte VOICE , 56 + .byte PAN , c_v+0 + .byte N12 , Cn3 , v112 + .byte W36 + .byte An2 + .byte W36 + .byte Cn3 + .byte W24 + .byte Fn3 + .byte W36 + .byte Gn3 + .byte W36 + .byte An3 + .byte W24 + .byte Cn3 + .byte W36 + .byte An2 + .byte W36 + .byte Cn3 + .byte W24 + .byte Fn3 + .byte W36 + .byte Gn3 + .byte W36 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 + .byte W36 + .byte An3 + .byte W36 + .byte Cn4 + .byte W24 + .byte Fn4 + .byte W36 + .byte Gn4 + .byte W36 + .byte An4 + .byte W24 + .byte Cn4 + .byte W36 + .byte An3 + .byte W36 + .byte Cn4 + .byte W24 + .byte Fn4 + .byte W36 + .byte Gn4 + .byte W36 + .byte N24 , Cn5 + .byte W12 + .byte MOD , 6 + .byte W12 +mus_battle35_2_B1: + .byte VOICE , 48 + .byte MOD , 0 + .byte VOL , 80*mus_battle35_mvl/mxv + .byte N36 , Cn4 , v100 + .byte W36 + .byte Fn3 + .byte W36 + .byte N12 , Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N24 , As4 + .byte W24 + .byte N12 , An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte TIE , Ds4 + .byte W96 + .byte W32 + .byte W01 + .byte VOL , 77*mus_battle35_mvl/mxv + .byte W09 + .byte 74*mus_battle35_mvl/mxv + .byte W09 + .byte 71*mus_battle35_mvl/mxv + .byte W06 + .byte 67*mus_battle35_mvl/mxv + .byte W09 + .byte 62*mus_battle35_mvl/mxv + .byte W09 + .byte 56*mus_battle35_mvl/mxv + .byte W06 + .byte 47*mus_battle35_mvl/mxv + .byte W06 + .byte 39*mus_battle35_mvl/mxv + .byte W06 + .byte EOT + .byte W03 + .byte VOL , 80*mus_battle35_mvl/mxv + .byte N36 , Dn4 + .byte W36 + .byte Fn4 + .byte W36 + .byte N24 , As4 + .byte W24 + .byte Dn5 + .byte W24 + .byte As4 + .byte W24 + .byte Fn4 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte As3 + .byte W12 + .byte N48 , Ds4 + .byte W48 + .byte Dn4 + .byte W48 + .byte Cn4 + .byte W48 + .byte Ds4 + .byte W48 + .byte VOICE , 56 + .byte N24 , Fn4 , v112 + .byte W24 + .byte Dn4 + .byte W24 + .byte N48 , As3 + .byte W21 + .byte MOD , 6 + .byte W24 + .byte W03 + .byte VOICE , 46 + .byte MOD , 0 + .byte PAN , c_v+32 + .byte N24 , Fn4 , v092 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Dn4 + .byte W24 + .byte PAN , c_v+32 + .byte N48 , As3 + .byte W48 +mus_battle35_2_000: + .byte VOICE , 56 + .byte PAN , c_v+0 + .byte N24 , Gn4 , v112 + .byte W24 + .byte Ds4 + .byte W24 + .byte N48 , Cn4 + .byte W21 + .byte MOD , 6 + .byte W24 + .byte W03 + .byte PEND + .byte VOICE , 46 + .byte MOD , 0 + .byte PAN , c_v-48 + .byte N24 , Gn4 , v092 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Ds4 + .byte W24 + .byte PAN , c_v-48 + .byte N48 , Cn4 + .byte W48 + .byte PATT + .word mus_battle35_2_000 + .byte VOICE , 46 + .byte MOD , 0 + .byte PAN , c_v+32 + .byte N24 , Gn4 , v092 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Ds4 + .byte W24 + .byte PAN , c_v+32 + .byte N48 , Cn4 + .byte W48 + .byte VOICE , 56 + .byte PAN , c_v+0 + .byte N36 , An4 , v108 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N36 , As4 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N12 , Cn5 + .byte W24 + .byte W12 + .byte N36 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N12 , Dn5 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Cn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOICE , 60 + .byte MOD , 0 + .byte N48 , As2 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , As3 + .byte W24 + .byte MOD , 6 + .byte W24 +mus_battle35_2_001: + .byte MOD , 0 + .byte N72 , Fn3 , v108 + .byte W36 + .byte W03 + .byte MOD , 6 + .byte W32 + .byte W01 + .byte 0 + .byte N12 , Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte PEND +mus_battle35_2_002: + .byte MOD , 0 + .byte N48 , Fs3 , v108 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , An3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle35_2_001 + .byte PATT + .word mus_battle35_2_002 + .byte MOD , 0 + .byte N72 , Fn3 , v108 + .byte W36 + .byte W03 + .byte MOD , 6 + .byte W32 + .byte W01 + .byte 0 + .byte N12 , Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte MOD , 0 + .byte N48 , Ds3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , An2 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte TIE , As3 + .byte W72 + .byte MOD , 4 + .byte W24 + .byte W06 + .byte 5 + .byte W03 + .byte VOL , 76*mus_battle35_mvl/mxv + .byte W15 + .byte 73*mus_battle35_mvl/mxv + .byte W15 + .byte MOD , 6 + .byte VOL , 69*mus_battle35_mvl/mxv + .byte W12 + .byte 66*mus_battle35_mvl/mxv + .byte W09 + .byte 62*mus_battle35_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W06 + .byte VOL , 57*mus_battle35_mvl/mxv + .byte W09 + .byte 46*mus_battle35_mvl/mxv + .byte W06 + .byte 40*mus_battle35_mvl/mxv + .byte W06 + .byte 28*mus_battle35_mvl/mxv + .byte W03 + .byte EOT + .byte W03 + .byte VOICE , 48 + .byte MOD , 0 + .byte VOL , 64*mus_battle35_mvl/mxv + .byte TIE , As4 , v092 + .byte W09 + .byte VOL , 62*mus_battle35_mvl/mxv + .byte W12 + .byte 60*mus_battle35_mvl/mxv + .byte W12 + .byte 58*mus_battle35_mvl/mxv + .byte W12 + .byte 60*mus_battle35_mvl/mxv + .byte W09 + .byte 62*mus_battle35_mvl/mxv + .byte W09 + .byte 66*mus_battle35_mvl/mxv + .byte W09 + .byte 69*mus_battle35_mvl/mxv + .byte W09 + .byte 71*mus_battle35_mvl/mxv + .byte W06 + .byte 74*mus_battle35_mvl/mxv + .byte W09 + .byte 76*mus_battle35_mvl/mxv + .byte W09 + .byte 80*mus_battle35_mvl/mxv + .byte W36 + .byte W03 + .byte EOT + .byte N48 , Bn3 , v108 + .byte W48 + .byte VOICE , 56 + .byte PAN , c_v-32 + .byte N24 , As3 , v100 + .byte W24 + .byte PAN , c_v-23 + .byte N24 , Fn3 + .byte W24 + .byte PAN , c_v-16 + .byte N24 , Bn3 + .byte W24 + .byte PAN , c_v-8 + .byte N24 , Gs3 + .byte W24 + .byte PAN , c_v+0 + .byte N24 , As3 + .byte W24 + .byte PAN , c_v+8 + .byte N24 , Fn3 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , Gs3 + .byte W24 + .byte PAN , c_v+23 + .byte N24 , Ds3 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , As3 + .byte W24 + .byte PAN , c_v+23 + .byte N24 , Fn3 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , Bn3 + .byte W24 + .byte PAN , c_v+8 + .byte N24 , Gs3 + .byte W24 + .byte PAN , c_v+0 + .byte N24 , As3 + .byte W24 + .byte PAN , c_v-8 + .byte N24 , Dn4 + .byte W24 + .byte PAN , c_v-16 + .byte N24 , Bn3 + .byte W24 + .byte PAN , c_v-25 + .byte N24 , As3 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte TIE , Cn4 , v108 + .byte W96 +mus_battle35_2_003: + .byte MOD , 7 + .byte W36 + .byte VOL , 75*mus_battle35_mvl/mxv + .byte W09 + .byte 71*mus_battle35_mvl/mxv + .byte W09 + .byte 67*mus_battle35_mvl/mxv + .byte W06 + .byte 62*mus_battle35_mvl/mxv + .byte W06 + .byte 55*mus_battle35_mvl/mxv + .byte W06 + .byte 49*mus_battle35_mvl/mxv + .byte W06 + .byte 42*mus_battle35_mvl/mxv + .byte W06 + .byte 35*mus_battle35_mvl/mxv + .byte W06 + .byte 27*mus_battle35_mvl/mxv + .byte W03 + .byte PEND + .byte EOT , Cn4 + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_battle35_mvl/mxv + .byte TIE , Fn3 , v108 + .byte W96 + .byte PATT + .word mus_battle35_2_003 + .byte EOT , Fn3 + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_battle35_mvl/mxv + .byte N96 , Cn4 , v108 + .byte W48 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte N72 , Cn3 + .byte W36 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N24 , Dn3 + .byte W24 + .byte N96 , Ds3 + .byte W48 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte N36 , Cn4 + .byte W18 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N36 , As3 + .byte W21 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte N24 , Gs3 + .byte W24 + .byte N96 , As3 + .byte W48 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte N72 , Dn3 + .byte W36 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N24 , Fn3 + .byte W24 + .byte TIE , Ds3 + .byte W60 + .byte W03 + .byte MOD , 5 + .byte W32 + .byte W01 + .byte VOL , 76*mus_battle35_mvl/mxv + .byte W09 + .byte MOD , 6 + .byte VOL , 74*mus_battle35_mvl/mxv + .byte W09 + .byte 71*mus_battle35_mvl/mxv + .byte W09 + .byte 69*mus_battle35_mvl/mxv + .byte W06 + .byte 64*mus_battle35_mvl/mxv + .byte W09 + .byte 60*mus_battle35_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte W03 + .byte VOL , 56*mus_battle35_mvl/mxv + .byte W06 + .byte 51*mus_battle35_mvl/mxv + .byte W09 + .byte 45*mus_battle35_mvl/mxv + .byte W09 + .byte 40*mus_battle35_mvl/mxv + .byte W09 + .byte 31*mus_battle35_mvl/mxv + .byte W06 + .byte 18*mus_battle35_mvl/mxv + .byte W03 + .byte EOT + .byte MOD , 0 + .byte W03 + .byte GOTO + .word mus_battle35_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_battle35_3: + .byte KEYSH , mus_battle35_key+0 + .byte VOICE , 33 + .byte VOL , 80*mus_battle35_mvl/mxv + .byte PAN , c_v+0 + .byte N96 , Cn2 , v108 + .byte W96 + .byte N48 , As1 + .byte W48 + .byte N24 , Gn1 + .byte W24 + .byte En1 + .byte W24 +mus_battle35_3_000: + .byte N12 , Cn1 , v108 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N24 , Fn1 + .byte W24 + .byte N12 , Cn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte PEND +mus_battle35_3_001: + .byte N12 , Cn1 , v108 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N24 , Fn1 + .byte W24 + .byte N12 , Cn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Bn0 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle35_3_000 + .byte N12 , Cn1 , v108 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N24 , Fn1 + .byte W24 + .byte N12 , Cn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PATT + .word mus_battle35_3_000 + .byte PATT + .word mus_battle35_3_001 + .byte PATT + .word mus_battle35_3_000 + .byte N12 , Cn1 , v108 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N24 , Fn1 + .byte W24 + .byte N12 , Cn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte An1 + .byte W12 +mus_battle35_3_B1: +mus_battle35_3_002: + .byte N12 , Cn1 , v108 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte PEND +mus_battle35_3_003: + .byte N12 , Cn1 , v108 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte PEND +mus_battle35_3_004: + .byte N12 , Ds1 , v108 + .byte W12 + .byte Gs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gs1 + .byte W12 + .byte PEND +mus_battle35_3_005: + .byte N12 , Ds1 , v108 + .byte W12 + .byte Gs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gs1 + .byte W12 + .byte As1 + .byte W12 + .byte Gs1 + .byte W12 + .byte PEND +mus_battle35_3_006: + .byte N12 , Fn1 , v108 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle35_3_006 + .byte PATT + .word mus_battle35_3_004 + .byte N12 , Ds1 , v108 + .byte W12 + .byte Gs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gs1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Fn1 + .byte W12 +mus_battle35_3_007: + .byte N12 , Ds1 , v108 + .byte W12 + .byte Gn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PEND +mus_battle35_3_008: + .byte N12 , Ds1 , v108 + .byte W12 + .byte Gn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gn1 + .byte W12 + .byte An1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle35_3_007 + .byte PATT + .word mus_battle35_3_008 + .byte N12 , Fn1 , v108 + .byte W12 + .byte N24 , An1 + .byte W24 + .byte N12 , Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte N12 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N12 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte N12 + .byte W12 + .byte Cn2 + .byte W12 + .byte An1 + .byte W12 +mus_battle35_3_009: + .byte N12 , As0 , v108 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte PEND +mus_battle35_3_010: + .byte N12 , As0 , v108 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte As1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle35_3_009 + .byte PATT + .word mus_battle35_3_010 + .byte PATT + .word mus_battle35_3_010 + .byte PATT + .word mus_battle35_3_010 + .byte PATT + .word mus_battle35_3_010 + .byte PATT + .word mus_battle35_3_009 + .byte PATT + .word mus_battle35_3_009 + .byte PATT + .word mus_battle35_3_009 + .byte N12 , As0 , v108 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Gs1 + .byte W12 + .byte PATT + .word mus_battle35_3_009 + .byte PATT + .word mus_battle35_3_009 + .byte PATT + .word mus_battle35_3_009 + .byte N12 , As0 , v108 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte N12 + .byte W12 + .byte As0 + .byte W12 + .byte Fn1 + .byte W12 + .byte Bn0 + .byte W12 + .byte PATT + .word mus_battle35_3_002 + .byte PATT + .word mus_battle35_3_002 + .byte PATT + .word mus_battle35_3_007 + .byte N12 , Ds1 , v108 + .byte W12 + .byte Gn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Dn2 + .byte W12 + .byte As1 + .byte W12 + .byte PATT + .word mus_battle35_3_002 + .byte PATT + .word mus_battle35_3_003 + .byte PATT + .word mus_battle35_3_004 + .byte PATT + .word mus_battle35_3_005 + .byte PATT + .word mus_battle35_3_006 + .byte PATT + .word mus_battle35_3_006 + .byte PATT + .word mus_battle35_3_004 + .byte N12 , Ds1 , v108 + .byte W12 + .byte Gs1 + .byte W12 + .byte As1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gs1 + .byte W12 + .byte GOTO + .word mus_battle35_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_battle35_4: + .byte KEYSH , mus_battle35_key+0 + .byte VOICE , 4 + .byte LFOS , 16 + .byte VOL , 80*mus_battle35_mvl/mxv + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte PAN , c_v+48 + .byte W18 + .byte N06 , Cn6 , v052 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte VOICE , 80 + .byte PAN , c_v+0 + .byte N24 , Fn3 , v060 + .byte W24 + .byte N12 , Cn3 + .byte W36 + .byte An2 + .byte W36 + .byte Cn3 + .byte W24 + .byte Fn3 + .byte W36 + .byte Gn3 + .byte W36 + .byte An3 + .byte W24 + .byte VOICE , 82 + .byte N12 , Fn3 + .byte W36 + .byte An2 + .byte W36 + .byte Cn3 + .byte W24 + .byte Fn3 + .byte W36 + .byte Gn3 + .byte W36 + .byte N24 , Cn4 + .byte W24 +mus_battle35_4_B1: + .byte VOICE , 80 + .byte PAN , c_v-48 + .byte N36 , Fn3 , v060 + .byte W36 + .byte Cn3 + .byte W36 + .byte N12 , As3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , Ds4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte TIE , As3 + .byte W56 + .byte W01 + .byte MOD , 4 + .byte W36 + .byte W03 + .byte 5 + .byte W30 + .byte 6 + .byte W30 + .byte EOT + .byte MOD , 0 + .byte N12 , Gn3 + .byte W12 + .byte N24 , Gs3 + .byte W24 + .byte W24 + .byte Dn3 + .byte W24 + .byte N48 , As2 + .byte W48 + .byte N24 , Dn3 + .byte W24 + .byte Fn3 + .byte W24 + .byte As3 + .byte W24 + .byte Fn2 + .byte W24 + .byte N48 , Gs2 + .byte W48 + .byte N12 , Dn3 + .byte W12 + .byte As2 + .byte W12 + .byte Gs2 + .byte W12 + .byte As2 + .byte W12 + .byte N48 , Cn3 + .byte W48 + .byte Gs2 + .byte W48 + .byte PAN , c_v+0 + .byte W12 + .byte VOICE , 4 + .byte N12 , As2 + .byte W24 + .byte Fn3 + .byte W12 + .byte As2 + .byte W12 + .byte Fn2 + .byte W12 + .byte As2 + .byte W24 + .byte W96 +mus_battle35_4_000: + .byte W12 + .byte N12 , Cn3 , v060 + .byte W24 + .byte Gn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte Cn3 + .byte W24 + .byte PEND + .byte W60 + .byte As2 + .byte W12 + .byte An2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PATT + .word mus_battle35_4_000 + .byte W36 + .byte VOICE , 80 + .byte N24 , Cn3 , v060 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 , v072 + .byte W12 + .byte Ds3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 84 + .byte N12 , Fn2 , v052 + .byte W12 + .byte Dn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte N24 , As2 + .byte W24 + .byte Bn2 + .byte W24 + .byte N12 , As2 + .byte W12 +mus_battle35_4_001: + .byte N12 , Gs2 , v052 + .byte W48 + .byte N48 , Bn2 + .byte W48 + .byte PEND + .byte N12 , Fn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte N24 , As2 + .byte W24 + .byte Bn2 + .byte W24 + .byte N12 , As2 + .byte W12 + .byte PATT + .word mus_battle35_4_001 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 4 + .byte PAN , c_v-48 + .byte N03 , Cn5 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte As4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte W12 + .byte Gs4 + .byte W24 + .byte An4 + .byte W24 + .byte As4 + .byte W12 + .byte Ds5 + .byte W24 + .byte PAN , c_v+48 + .byte N03 , Cn5 , v040 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte As4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte W12 + .byte Gs4 + .byte W24 + .byte An4 + .byte W24 + .byte As4 + .byte W12 + .byte Ds5 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte VOICE , 80 + .byte PAN , c_v+0 + .byte N48 , Gs2 , v060 + .byte W48 + .byte GOTO + .word mus_battle35_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_battle35_5: + .byte KEYSH , mus_battle35_key+0 + .byte VOICE , 82 + .byte LFOS , 16 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 80*mus_battle35_mvl/mxv + .byte PAN , c_v-48 + .byte N06 , Cn3 , v052 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte VOICE , 86 + .byte PAN , c_v+0 + .byte N06 , Cn5 , v032 + .byte W06 + .byte Dn5 + .byte W06 + .byte N12 , En5 + .byte W12 + .byte Fn5 + .byte W12 + .byte Gn5 + .byte W12 + .byte N24 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N12 , Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte N06 , Fn5 + .byte W06 + .byte En5 + .byte W06 + .byte N72 , Dn5 + .byte W36 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte W24 +mus_battle35_5_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 5 + .byte N12 , Cn2 , v052 + .byte W12 + .byte Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte Cn3 + .byte W12 +mus_battle35_5_000: + .byte N12 , As1 , v052 + .byte W12 + .byte Ds2 + .byte W12 + .byte Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte As1 + .byte W12 + .byte Ds2 + .byte W12 + .byte Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle35_5_000 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_battle35_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_battle35_6: + .byte KEYSH , mus_battle35_key+0 + .byte VOICE , 81 + .byte VOL , 80*mus_battle35_mvl/mxv + .byte BEND , c_v-2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_battle35_6_B1: + .byte PAN , c_v+48 + .byte N12 , Cn2 , v064 + .byte W12 + .byte Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte Cn3 + .byte W12 +mus_battle35_6_000: + .byte N12 , Ds2 , v064 + .byte W12 + .byte Gs2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Ds2 + .byte W12 + .byte Gs2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle35_6_000 +mus_battle35_6_001: + .byte N12 , Fn2 , v064 + .byte W12 + .byte As2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fn2 + .byte W12 + .byte As2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle35_6_001 + .byte PATT + .word mus_battle35_6_000 + .byte PATT + .word mus_battle35_6_000 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_battle35_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_battle35_7: + .byte KEYSH , mus_battle35_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 80*mus_battle35_mvl/mxv + .byte W96 + .byte W72 + .byte N12 , Dn1 , v112 + .byte W12 + .byte N12 + .byte W12 +mus_battle35_7_000: + .byte W24 + .byte N12 , Dn1 , v112 + .byte W48 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_000 +mus_battle35_7_B1: + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_000 +mus_battle35_7_001: + .byte W24 + .byte N12 , Dn1 , v112 + .byte W48 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_001 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_001 + .byte N12 , Dn1 , v112 + .byte W24 + .byte N12 + .byte W60 + .byte N12 + .byte W12 + .byte PATT + .word mus_battle35_7_001 + .byte PATT + .word mus_battle35_7_000 +mus_battle35_7_002: + .byte W36 + .byte N12 , Dn1 , v112 + .byte W48 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_002 + .byte PATT + .word mus_battle35_7_001 + .byte PATT + .word mus_battle35_7_002 + .byte PATT + .word mus_battle35_7_001 + .byte PATT + .word mus_battle35_7_000 +mus_battle35_7_003: + .byte W12 + .byte N12 , Dn1 , v112 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_003 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_003 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_003 + .byte N96 , An2 , v096 + .byte W96 + .byte W96 + .byte W96 + .byte W24 + .byte N12 , Dn1 , v112 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_000 + .byte PATT + .word mus_battle35_7_001 + .byte GOTO + .word mus_battle35_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_battle35_8: + .byte KEYSH , mus_battle35_key+0 + .byte VOICE , 47 + .byte PAN , c_v-8 + .byte VOL , 80*mus_battle35_mvl/mxv + .byte W96 + .byte W96 +mus_battle35_8_000: + .byte N12 , Cn2 , v124 + .byte W48 + .byte N12 + .byte W12 + .byte N12 + .byte W36 + .byte PEND + .byte PATT + .word mus_battle35_8_000 + .byte PATT + .word mus_battle35_8_000 + .byte PATT + .word mus_battle35_8_000 + .byte PATT + .word mus_battle35_8_000 + .byte PATT + .word mus_battle35_8_000 + .byte PATT + .word mus_battle35_8_000 + .byte PATT + .word mus_battle35_8_000 +mus_battle35_8_B1: +mus_battle35_8_001: + .byte N12 , Cn2 , v112 + .byte W48 + .byte N12 + .byte W12 + .byte N12 + .byte W36 + .byte PEND + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_001 + .byte W12 + .byte N12 , Cn2 , v112 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W36 + .byte PATT + .word mus_battle35_8_001 +mus_battle35_8_002: + .byte N12 , Cn2 , v112 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W36 + .byte PEND + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_002 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_002 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_001 +mus_battle35_8_003: + .byte N12 , Cn2 , v112 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_003 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_003 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_003 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_001 + .byte PATT + .word mus_battle35_8_001 + .byte GOTO + .word mus_battle35_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_battle35: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_battle35_pri @ Priority + .byte mus_battle35_rev @ Reverb. + + .word mus_battle35_grp + + .word mus_battle35_1 + .word mus_battle35_2 + .word mus_battle35_3 + .word mus_battle35_4 + .word mus_battle35_5 + .word mus_battle35_6 + .word mus_battle35_7 + .word mus_battle35_8 + + .end diff --git a/sound/songs/mus_battle36.s b/sound/songs/mus_battle36.s new file mode 100644 index 0000000000..3431f9ffeb --- /dev/null +++ b/sound/songs/mus_battle36.s @@ -0,0 +1,1657 @@ + .include "MPlayDef.s" + + .equ mus_battle36_grp, voicegroup_869B900 + .equ mus_battle36_pri, 1 + .equ mus_battle36_rev, reverb_set+50 + .equ mus_battle36_mvl, 127 + .equ mus_battle36_key, 0 + .equ mus_battle36_tbs, 1 + .equ mus_battle36_exg, 0 + .equ mus_battle36_cmp, 1 + + .section .rodata + .global mus_battle36 + .align 2 + +@********************** Track 1 **********************@ + +mus_battle36_1: + .byte KEYSH , mus_battle36_key+0 + .byte TEMPO , 160*mus_battle36_tbs/2 + .byte VOICE , 48 + .byte VOL , 80*mus_battle36_mvl/mxv + .byte PAN , c_v+0 + .byte N08 , Cs4 , v112 + .byte W08 + .byte Gs3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Gn3 + .byte W08 + .byte Cn4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Bn3 + .byte W08 + .byte As3 + .byte W08 + .byte Fn3 + .byte W08 + .byte As3 + .byte W08 + .byte An3 + .byte W08 + .byte En3 + .byte W08 + .byte An3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Ds3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte En3 + .byte W08 + .byte Bn2 + .byte W08 + .byte En3 + .byte W08 + .byte Ds3 + .byte W08 + .byte As2 + .byte W08 + .byte Ds3 + .byte W08 + .byte Dn3 + .byte W08 + .byte An2 + .byte W08 + .byte Dn3 + .byte W08 + .byte W96 + .byte W48 + .byte VOICE , 56 + .byte PAN , c_v-48 + .byte BEND , c_v-2 + .byte W12 + .byte N36 , Cs4 , v020 + .byte W36 + .byte N12 , Dn4 + .byte W60 + .byte N36 , Gs3 + .byte W36 + .byte N12 , An3 + .byte W60 + .byte N36 , Cs3 + .byte W36 + .byte N12 , Dn3 + .byte W96 + .byte W24 + .byte Fn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W24 + .byte An3 + .byte W18 + .byte Cn4 + .byte W06 + .byte W12 + .byte Ds4 + .byte W84 + .byte W60 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 + .byte W12 + .byte W12 + .byte En3 + .byte W18 + .byte As3 + .byte W18 + .byte En3 + .byte W48 + .byte W42 + .byte Fn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W24 + .byte An3 + .byte W06 + .byte W12 + .byte Cn4 + .byte W18 + .byte An3 + .byte W66 + .byte VOICE , 48 + .byte PAN , c_v-10 + .byte BEND , c_v+0 + .byte TIE , Cs3 , v100 + .byte W96 + .byte W72 + .byte EOT + .byte N16 , An3 + .byte W16 + .byte N08 , Gs3 + .byte W08 + .byte N96 , Bn3 + .byte W96 +mus_battle36_1_000: + .byte N64 , An3 , v100 + .byte W64 + .byte N08 , Gs3 + .byte W08 + .byte N16 , Fs3 + .byte W16 + .byte N08 , An3 + .byte W08 + .byte PEND + .byte N96 , Gs3 + .byte W96 + .byte Cs3 + .byte W96 +mus_battle36_1_B1: + .byte PAN , c_v-10 + .byte TIE , Dn3 , v100 + .byte W96 + .byte W72 + .byte EOT + .byte N16 , As3 + .byte W16 + .byte N08 , An3 + .byte W08 + .byte N96 , Cn4 + .byte W96 + .byte N64 , As3 + .byte W64 + .byte N08 , An3 + .byte W08 + .byte N16 , Gn3 + .byte W16 + .byte N08 , As3 + .byte W08 + .byte N96 , An3 + .byte W96 + .byte Dn4 + .byte W96 +mus_battle36_1_001: + .byte VOL , 54*mus_battle36_mvl/mxv + .byte N96 , As2 , v100 + .byte W08 + .byte VOL , 57*mus_battle36_mvl/mxv + .byte W08 + .byte 59*mus_battle36_mvl/mxv + .byte W08 + .byte 62*mus_battle36_mvl/mxv + .byte W08 + .byte 65*mus_battle36_mvl/mxv + .byte W08 + .byte 68*mus_battle36_mvl/mxv + .byte W08 + .byte 72*mus_battle36_mvl/mxv + .byte W08 + .byte 75*mus_battle36_mvl/mxv + .byte W08 + .byte 80*mus_battle36_mvl/mxv + .byte W32 + .byte PEND + .byte 54*mus_battle36_mvl/mxv + .byte N96 , Gn2 + .byte W08 + .byte VOL , 57*mus_battle36_mvl/mxv + .byte W08 + .byte 59*mus_battle36_mvl/mxv + .byte W08 + .byte 62*mus_battle36_mvl/mxv + .byte W08 + .byte 65*mus_battle36_mvl/mxv + .byte W08 + .byte 68*mus_battle36_mvl/mxv + .byte W08 + .byte 72*mus_battle36_mvl/mxv + .byte W08 + .byte 75*mus_battle36_mvl/mxv + .byte W08 + .byte 80*mus_battle36_mvl/mxv + .byte W32 + .byte N12 , Fs2 , v108 + .byte W96 + .byte W96 + .byte PATT + .word mus_battle36_1_001 + .byte VOL , 54*mus_battle36_mvl/mxv + .byte N96 , Ds3 , v100 + .byte W08 + .byte VOL , 57*mus_battle36_mvl/mxv + .byte W08 + .byte 59*mus_battle36_mvl/mxv + .byte W08 + .byte 62*mus_battle36_mvl/mxv + .byte W08 + .byte 65*mus_battle36_mvl/mxv + .byte W08 + .byte 68*mus_battle36_mvl/mxv + .byte W08 + .byte 72*mus_battle36_mvl/mxv + .byte W08 + .byte 75*mus_battle36_mvl/mxv + .byte W08 + .byte 80*mus_battle36_mvl/mxv + .byte W32 + .byte N12 , Dn3 , v108 + .byte W96 + .byte W96 + .byte TIE , Cs3 , v100 + .byte W96 + .byte W72 + .byte EOT + .byte N16 , An3 + .byte W16 + .byte N08 , Gs3 + .byte W08 + .byte N96 , Bn3 + .byte W96 + .byte PATT + .word mus_battle36_1_000 + .byte N96 , Gs3 , v100 + .byte W96 + .byte Cs3 + .byte W96 + .byte GOTO + .word mus_battle36_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_battle36_2: + .byte KEYSH , mus_battle36_key+0 + .byte VOICE , 56 + .byte VOL , 80*mus_battle36_mvl/mxv + .byte PAN , c_v-16 + .byte N24 , Gs4 , v076 + .byte W48 + .byte PAN , c_v+16 + .byte N24 + .byte W48 + .byte W48 + .byte PAN , c_v-16 + .byte N24 + .byte W48 + .byte W24 + .byte PAN , c_v+16 + .byte N24 + .byte W24 + .byte PAN , c_v-16 + .byte N24 + .byte W48 + .byte PAN , c_v+16 + .byte N24 + .byte W96 + .byte VOICE , 56 + .byte W24 + .byte PAN , c_v-10 + .byte W12 + .byte N36 , Cs4 , v108 + .byte W36 + .byte N12 , Dn4 + .byte W24 + .byte W36 + .byte N36 , Gs3 + .byte W36 + .byte N12 , An3 + .byte W24 + .byte W36 + .byte N36 , Cs3 + .byte W36 + .byte N12 , Dn3 + .byte W24 + .byte W96 + .byte Fn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W24 + .byte An3 + .byte W18 + .byte Cn4 + .byte W18 + .byte Ds4 + .byte W12 + .byte W96 + .byte W36 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 + .byte W24 + .byte En3 + .byte W12 + .byte W06 + .byte As3 + .byte W18 + .byte En3 + .byte W72 + .byte W18 + .byte Fn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W24 + .byte An3 + .byte W18 + .byte Cn4 + .byte W12 + .byte W06 + .byte An3 + .byte W90 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte TIE , Cs2 , v100 + .byte W96 + .byte W72 + .byte EOT + .byte N16 , An2 + .byte W16 + .byte N08 , Gs2 + .byte W08 + .byte N96 , Bn2 + .byte W96 +mus_battle36_2_000: + .byte N64 , An2 , v100 + .byte W64 + .byte N08 , Gs2 + .byte W08 + .byte N16 , Fs2 + .byte W16 + .byte N08 , An2 + .byte W08 + .byte PEND + .byte N96 , Gs2 + .byte W96 + .byte Cs2 + .byte W96 +mus_battle36_2_B1: + .byte PAN , c_v+0 + .byte TIE , Dn2 , v100 + .byte W96 + .byte W72 + .byte EOT + .byte N16 , As2 + .byte W16 + .byte N08 , An2 + .byte W08 + .byte N96 , Cn3 + .byte W96 + .byte N64 , As2 + .byte W64 + .byte N08 , An2 + .byte W08 + .byte N16 , Gn2 + .byte W16 + .byte N08 , As2 + .byte W08 + .byte N96 , An2 + .byte W96 + .byte Dn3 + .byte W96 +mus_battle36_2_001: + .byte VOL , 54*mus_battle36_mvl/mxv + .byte N96 , Ds3 , v100 + .byte W08 + .byte VOL , 57*mus_battle36_mvl/mxv + .byte W08 + .byte 59*mus_battle36_mvl/mxv + .byte W08 + .byte 62*mus_battle36_mvl/mxv + .byte W08 + .byte 65*mus_battle36_mvl/mxv + .byte W08 + .byte 68*mus_battle36_mvl/mxv + .byte W08 + .byte 72*mus_battle36_mvl/mxv + .byte W08 + .byte 75*mus_battle36_mvl/mxv + .byte W08 + .byte 80*mus_battle36_mvl/mxv + .byte W32 + .byte PEND + .byte 54*mus_battle36_mvl/mxv + .byte N96 , Cn3 + .byte W08 + .byte VOL , 57*mus_battle36_mvl/mxv + .byte W08 + .byte 59*mus_battle36_mvl/mxv + .byte W08 + .byte 62*mus_battle36_mvl/mxv + .byte W08 + .byte 65*mus_battle36_mvl/mxv + .byte W08 + .byte 68*mus_battle36_mvl/mxv + .byte W08 + .byte 72*mus_battle36_mvl/mxv + .byte W08 + .byte 75*mus_battle36_mvl/mxv + .byte W08 + .byte 80*mus_battle36_mvl/mxv + .byte W32 + .byte N12 , Dn3 , v108 + .byte W96 + .byte W96 + .byte PATT + .word mus_battle36_2_001 + .byte VOL , 54*mus_battle36_mvl/mxv + .byte N96 , Gn3 , v100 + .byte W08 + .byte VOL , 57*mus_battle36_mvl/mxv + .byte W08 + .byte 59*mus_battle36_mvl/mxv + .byte W08 + .byte 62*mus_battle36_mvl/mxv + .byte W08 + .byte 65*mus_battle36_mvl/mxv + .byte W08 + .byte 68*mus_battle36_mvl/mxv + .byte W08 + .byte 72*mus_battle36_mvl/mxv + .byte W08 + .byte 75*mus_battle36_mvl/mxv + .byte W08 + .byte 80*mus_battle36_mvl/mxv + .byte W32 + .byte N12 , Fs3 , v108 + .byte W96 + .byte W96 + .byte TIE , Cs2 , v100 + .byte W96 + .byte W72 + .byte EOT + .byte N16 , An2 + .byte W16 + .byte N08 , Gs2 + .byte W08 + .byte N96 , Bn2 + .byte W96 + .byte PATT + .word mus_battle36_2_000 + .byte N96 , Gs2 , v100 + .byte W96 + .byte Cs2 + .byte W96 + .byte GOTO + .word mus_battle36_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_battle36_3: + .byte KEYSH , mus_battle36_key+0 + .byte VOICE , 36 + .byte VOL , 80*mus_battle36_mvl/mxv + .byte N08 , Cs0 , v116 + .byte W16 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte An0 + .byte W08 + .byte Gs0 + .byte W08 + .byte Cs1 + .byte W16 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte An1 + .byte W08 + .byte Gs1 + .byte W08 + .byte Cs2 + .byte W16 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte An2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Cs1 + .byte W08 + .byte Gs0 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte Bn0 + .byte W08 + .byte Cn1 + .byte W08 +mus_battle36_3_000: + .byte N08 , Cs1 , v116 + .byte W16 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte An1 + .byte W08 + .byte Gs1 + .byte W08 + .byte Cs1 + .byte W16 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte An1 + .byte W08 + .byte Gs1 + .byte W08 + .byte PEND +mus_battle36_3_001: + .byte N08 , Cs1 , v116 + .byte W16 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte An1 + .byte W08 + .byte Gs1 + .byte W08 + .byte Cs1 + .byte W08 + .byte Gs0 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte Bn0 + .byte W08 + .byte Cn1 + .byte W08 + .byte PEND + .byte PATT + .word mus_battle36_3_000 + .byte PATT + .word mus_battle36_3_001 + .byte PATT + .word mus_battle36_3_000 + .byte PATT + .word mus_battle36_3_001 +mus_battle36_3_002: + .byte N08 , Dn1 , v116 + .byte W16 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte As1 + .byte W08 + .byte An1 + .byte W08 + .byte Dn1 + .byte W16 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte As1 + .byte W08 + .byte An1 + .byte W08 + .byte PEND +mus_battle36_3_003: + .byte N08 , Dn1 , v116 + .byte W16 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte As1 + .byte W08 + .byte An1 + .byte W08 + .byte Dn1 + .byte W08 + .byte An0 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte Cn1 + .byte W08 + .byte Cs1 + .byte W08 + .byte PEND + .byte PATT + .word mus_battle36_3_002 + .byte PATT + .word mus_battle36_3_003 + .byte PATT + .word mus_battle36_3_002 + .byte N08 , Dn1 , v116 + .byte W16 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte As1 + .byte W08 + .byte An1 + .byte W08 + .byte Dn1 + .byte W08 + .byte Dn2 + .byte W08 + .byte Ds2 + .byte W08 + .byte As1 + .byte W08 + .byte Ds2 + .byte W08 + .byte Cs2 + .byte W08 + .byte PATT + .word mus_battle36_3_000 + .byte PATT + .word mus_battle36_3_001 + .byte PATT + .word mus_battle36_3_000 + .byte PATT + .word mus_battle36_3_001 + .byte PATT + .word mus_battle36_3_000 + .byte PATT + .word mus_battle36_3_001 +mus_battle36_3_B1: + .byte PATT + .word mus_battle36_3_002 + .byte PATT + .word mus_battle36_3_003 + .byte PATT + .word mus_battle36_3_002 + .byte PATT + .word mus_battle36_3_003 + .byte PATT + .word mus_battle36_3_002 + .byte PATT + .word mus_battle36_3_003 + .byte PATT + .word mus_battle36_3_002 + .byte PATT + .word mus_battle36_3_003 + .byte PATT + .word mus_battle36_3_002 + .byte PATT + .word mus_battle36_3_003 + .byte PATT + .word mus_battle36_3_002 + .byte PATT + .word mus_battle36_3_003 + .byte PATT + .word mus_battle36_3_002 + .byte PATT + .word mus_battle36_3_003 + .byte PATT + .word mus_battle36_3_000 + .byte PATT + .word mus_battle36_3_001 + .byte PATT + .word mus_battle36_3_000 + .byte PATT + .word mus_battle36_3_001 + .byte PATT + .word mus_battle36_3_000 + .byte PATT + .word mus_battle36_3_001 + .byte GOTO + .word mus_battle36_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_battle36_4: + .byte KEYSH , mus_battle36_key+0 + .byte VOICE , 6 + .byte VOL , 80*mus_battle36_mvl/mxv + .byte PAN , c_v+0 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte N08 , Cs5 , v060 + .byte W16 + .byte N08 + .byte W16 + .byte An5 + .byte W08 + .byte Gs5 + .byte W08 + .byte Cs3 + .byte W16 + .byte N08 + .byte W16 + .byte An3 + .byte W08 + .byte Gs3 + .byte W08 +mus_battle36_4_000: + .byte N08 , Cs4 , v060 + .byte W16 + .byte N08 + .byte W16 + .byte An4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Cs5 + .byte W16 + .byte N08 + .byte W16 + .byte An5 + .byte W08 + .byte Gs5 + .byte W08 + .byte PEND + .byte PATT + .word mus_battle36_4_000 +mus_battle36_4_001: + .byte N08 , Cs4 , v060 + .byte W16 + .byte N08 + .byte W16 + .byte An4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Cs4 + .byte W16 + .byte N08 + .byte W16 + .byte An4 + .byte W08 + .byte Gs4 + .byte W08 + .byte PEND + .byte PATT + .word mus_battle36_4_001 + .byte PATT + .word mus_battle36_4_001 + .byte PATT + .word mus_battle36_4_001 + .byte PATT + .word mus_battle36_4_001 +mus_battle36_4_002: + .byte N08 , Dn4 , v060 + .byte W16 + .byte N08 + .byte W16 + .byte As4 + .byte W08 + .byte An4 + .byte W08 + .byte Dn4 + .byte W16 + .byte N08 + .byte W16 + .byte As4 + .byte W08 + .byte An4 + .byte W08 + .byte PEND + .byte PATT + .word mus_battle36_4_002 + .byte PATT + .word mus_battle36_4_002 + .byte PATT + .word mus_battle36_4_002 + .byte PATT + .word mus_battle36_4_002 + .byte PATT + .word mus_battle36_4_002 + .byte PATT + .word mus_battle36_4_001 + .byte PATT + .word mus_battle36_4_001 + .byte PATT + .word mus_battle36_4_001 + .byte PATT + .word mus_battle36_4_001 + .byte PATT + .word mus_battle36_4_001 + .byte PATT + .word mus_battle36_4_001 +mus_battle36_4_B1: + .byte PATT + .word mus_battle36_4_002 + .byte PATT + .word mus_battle36_4_002 + .byte PATT + .word mus_battle36_4_002 + .byte PATT + .word mus_battle36_4_002 + .byte PATT + .word mus_battle36_4_002 + .byte PATT + .word mus_battle36_4_002 + .byte PATT + .word mus_battle36_4_002 + .byte PATT + .word mus_battle36_4_002 + .byte PATT + .word mus_battle36_4_002 + .byte PATT + .word mus_battle36_4_002 + .byte PATT + .word mus_battle36_4_002 + .byte PATT + .word mus_battle36_4_002 + .byte VOICE , 5 + .byte PAN , c_v+48 + .byte N08 , Dn3 , v060 + .byte W08 + .byte Gn3 + .byte W08 + .byte Cs3 , v056 + .byte W08 + .byte Fs3 + .byte W08 + .byte Cn3 + .byte W08 + .byte Fn3 , v052 + .byte W08 + .byte Bn2 + .byte W08 + .byte En3 , v048 + .byte W08 + .byte As2 + .byte W08 + .byte Ds3 + .byte W08 + .byte An2 , v044 + .byte W08 + .byte Cs3 + .byte W08 + .byte Gs2 , v040 + .byte W08 + .byte Cn3 + .byte W08 + .byte Gn2 + .byte W08 + .byte Bn2 , v036 + .byte W08 + .byte Fs2 + .byte W08 + .byte As2 , v032 + .byte W08 + .byte Fn2 + .byte W08 + .byte An2 , v028 + .byte W08 + .byte En2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Ds2 , v024 + .byte W08 + .byte Gn2 + .byte W08 + .byte VOICE , 6 + .byte PAN , c_v+0 + .byte N08 , Cs4 , v060 + .byte W16 + .byte N08 + .byte W16 + .byte An4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Cs4 + .byte W16 + .byte N08 + .byte W16 + .byte An4 + .byte W08 + .byte Gs4 + .byte W08 + .byte PATT + .word mus_battle36_4_001 + .byte PATT + .word mus_battle36_4_001 + .byte PATT + .word mus_battle36_4_001 + .byte PATT + .word mus_battle36_4_001 + .byte PATT + .word mus_battle36_4_001 + .byte GOTO + .word mus_battle36_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_battle36_5: + .byte KEYSH , mus_battle36_key+0 + .byte VOICE , 7 + .byte VOL , 80*mus_battle36_mvl/mxv + .byte PAN , c_v+48 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte BEND , c_v-2 + .byte W08 + .byte N08 , Cs5 , v032 + .byte W16 + .byte N08 + .byte W16 + .byte An5 + .byte W08 + .byte Gs5 + .byte W08 + .byte Cs3 + .byte W16 + .byte N08 + .byte W16 + .byte An3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Cs4 + .byte W16 + .byte N08 + .byte W16 + .byte An4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Cs5 + .byte W16 + .byte N08 + .byte W16 + .byte An5 + .byte W08 + .byte Gs5 + .byte W08 + .byte Cs4 + .byte W16 + .byte N08 + .byte W16 + .byte An4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Cs5 + .byte W16 + .byte N08 + .byte W16 + .byte An5 + .byte W08 + .byte Gs5 + .byte W08 + .byte Cs4 + .byte W16 + .byte N08 + .byte W16 + .byte An4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Cs4 + .byte W16 + .byte N08 + .byte W16 + .byte An4 + .byte W08 +mus_battle36_5_000: + .byte N08 , Gs4 , v032 + .byte W08 + .byte Cs4 + .byte W16 + .byte N08 + .byte W16 + .byte An4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Cs4 + .byte W16 + .byte N08 + .byte W16 + .byte An4 + .byte W08 + .byte PEND + .byte PATT + .word mus_battle36_5_000 + .byte PATT + .word mus_battle36_5_000 + .byte PATT + .word mus_battle36_5_000 +mus_battle36_5_001: + .byte N08 , Gs4 , v032 + .byte W08 + .byte Dn4 + .byte W16 + .byte N08 + .byte W16 + .byte As4 + .byte W08 + .byte An4 + .byte W08 + .byte Dn4 + .byte W16 + .byte N08 + .byte W16 + .byte As4 + .byte W08 + .byte PEND +mus_battle36_5_002: + .byte N08 , An4 , v032 + .byte W08 + .byte Dn4 + .byte W16 + .byte N08 + .byte W16 + .byte As4 + .byte W08 + .byte An4 + .byte W08 + .byte Dn4 + .byte W16 + .byte N08 + .byte W16 + .byte As4 + .byte W08 + .byte PEND + .byte PATT + .word mus_battle36_5_002 + .byte PATT + .word mus_battle36_5_002 + .byte PATT + .word mus_battle36_5_002 + .byte PATT + .word mus_battle36_5_002 + .byte N08 , An4 , v032 + .byte W08 + .byte Cs4 + .byte W16 + .byte N08 + .byte W16 + .byte An4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Cs4 + .byte W16 + .byte N08 + .byte W16 + .byte An4 + .byte W08 + .byte PATT + .word mus_battle36_5_000 + .byte PATT + .word mus_battle36_5_000 + .byte PATT + .word mus_battle36_5_000 + .byte PATT + .word mus_battle36_5_000 + .byte PATT + .word mus_battle36_5_000 +mus_battle36_5_B1: + .byte PATT + .word mus_battle36_5_001 + .byte PATT + .word mus_battle36_5_002 + .byte PATT + .word mus_battle36_5_002 + .byte PATT + .word mus_battle36_5_002 + .byte PATT + .word mus_battle36_5_002 + .byte N08 , An4 , v032 + .byte W08 + .byte N12 , Dn4 + .byte W16 + .byte N12 + .byte W16 + .byte N08 , As4 + .byte W08 + .byte An4 + .byte W08 + .byte Dn4 + .byte W16 + .byte N08 + .byte W16 + .byte As4 + .byte W08 + .byte PATT + .word mus_battle36_5_002 + .byte PATT + .word mus_battle36_5_002 + .byte PATT + .word mus_battle36_5_002 + .byte PATT + .word mus_battle36_5_002 + .byte PATT + .word mus_battle36_5_002 + .byte VOICE , 82 + .byte VOL , 54*mus_battle36_mvl/mxv + .byte N12 , As2 , v072 + .byte W08 + .byte VOL , 57*mus_battle36_mvl/mxv + .byte W04 + .byte VOICE , 83 + .byte N12 + .byte W04 + .byte VOL , 59*mus_battle36_mvl/mxv + .byte W08 + .byte 62*mus_battle36_mvl/mxv + .byte N12 + .byte W08 + .byte VOL , 65*mus_battle36_mvl/mxv + .byte W04 + .byte N12 + .byte W04 + .byte VOL , 68*mus_battle36_mvl/mxv + .byte W08 + .byte 72*mus_battle36_mvl/mxv + .byte N12 + .byte W08 + .byte VOL , 75*mus_battle36_mvl/mxv + .byte W04 + .byte N12 + .byte W04 + .byte VOL , 80*mus_battle36_mvl/mxv + .byte W08 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 4 + .byte PAN , c_v-48 + .byte N08 , An4 , v060 + .byte W08 + .byte Dn5 + .byte W08 + .byte Gs4 , v056 + .byte W08 + .byte Cs5 + .byte W08 + .byte Gn4 + .byte W08 + .byte Cn5 , v052 + .byte W08 + .byte Fs4 + .byte W08 + .byte Bn4 , v048 + .byte W08 + .byte Fn4 + .byte W08 + .byte As4 + .byte W08 + .byte En4 , v044 + .byte W08 + .byte Gs4 + .byte W08 + .byte Ds4 , v040 + .byte W08 + .byte Gn4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Fs4 , v036 + .byte W08 + .byte Cs4 + .byte W08 + .byte Fn4 , v032 + .byte W08 + .byte Cn4 + .byte W08 + .byte En4 , v028 + .byte W08 + .byte Bn3 + .byte W08 + .byte Ds4 + .byte W08 + .byte As3 , v024 + .byte W08 + .byte Dn4 + .byte W08 + .byte PAN , c_v+48 + .byte W08 + .byte VOICE , 7 + .byte N08 , Cs4 , v032 + .byte W16 + .byte N08 + .byte W16 + .byte An4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Cs4 + .byte W16 + .byte N08 + .byte W16 + .byte An4 + .byte W08 + .byte PATT + .word mus_battle36_5_000 + .byte PATT + .word mus_battle36_5_000 + .byte PATT + .word mus_battle36_5_000 + .byte PATT + .word mus_battle36_5_000 + .byte PATT + .word mus_battle36_5_000 + .byte GOTO + .word mus_battle36_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_battle36_6: + .byte KEYSH , mus_battle36_key+0 + .byte VOICE , 81 + .byte VOL , 80*mus_battle36_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-1 + .byte N06 , Gs4 , v048 + .byte W48 + .byte N06 + .byte W48 + .byte W48 + .byte N06 + .byte W48 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W48 + .byte N06 + .byte W96 + .byte W36 + .byte Cs4 + .byte W36 + .byte Dn4 + .byte W24 + .byte W36 + .byte Gs3 + .byte W36 + .byte An3 + .byte W24 + .byte W36 + .byte Cs3 + .byte W36 + .byte Dn3 + .byte W24 + .byte W96 + .byte Fn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W24 + .byte An3 + .byte W18 + .byte Cn4 + .byte W18 + .byte Ds4 + .byte W12 + .byte W96 + .byte W36 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 + .byte W24 + .byte En3 + .byte W12 + .byte W06 + .byte As3 + .byte W18 + .byte En3 + .byte W72 + .byte W18 + .byte Fn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W24 + .byte An3 + .byte W18 + .byte Cn4 + .byte W12 + .byte W06 + .byte An3 + .byte W90 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_battle36_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_battle36_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_battle36_7: + .byte KEYSH , mus_battle36_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 80*mus_battle36_mvl/mxv + .byte N24 , Cn2 , v120 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte Bn1 + .byte W24 +mus_battle36_7_000: + .byte N24 , Cn2 , v120 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte Bn1 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle36_7_000 + .byte N24 , Cn2 , v120 + .byte W24 + .byte N24 + .byte W24 + .byte N36 , An2 , v096 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte N16 , Dn1 , v112 + .byte W16 + .byte N08 + .byte W08 +mus_battle36_7_B1: +mus_battle36_7_001: + .byte W24 + .byte N24 , Dn1 , v112 + .byte W48 + .byte N24 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle36_7_001 + .byte PATT + .word mus_battle36_7_001 +mus_battle36_7_002: + .byte W24 + .byte N24 , Dn1 , v112 + .byte W48 + .byte N16 + .byte W16 + .byte N08 + .byte W08 + .byte PEND + .byte PATT + .word mus_battle36_7_001 + .byte PATT + .word mus_battle36_7_001 + .byte PATT + .word mus_battle36_7_001 + .byte PATT + .word mus_battle36_7_001 + .byte PATT + .word mus_battle36_7_001 + .byte W24 + .byte N24 , Dn1 , v112 + .byte W40 + .byte N16 + .byte W16 + .byte N16 + .byte W16 + .byte PATT + .word mus_battle36_7_001 + .byte PATT + .word mus_battle36_7_001 + .byte W96 + .byte W72 + .byte N24 , Dn1 , v112 + .byte W24 + .byte PATT + .word mus_battle36_7_001 + .byte PATT + .word mus_battle36_7_001 + .byte PATT + .word mus_battle36_7_001 + .byte PATT + .word mus_battle36_7_002 + .byte PATT + .word mus_battle36_7_001 + .byte PATT + .word mus_battle36_7_001 + .byte GOTO + .word mus_battle36_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_battle36_8: + .byte KEYSH , mus_battle36_key+0 + .byte VOICE , 47 + .byte PAN , c_v+10 + .byte VOL , 80*mus_battle36_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_battle36_8_000: + .byte N24 , Cn2 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte Bn1 + .byte W24 + .byte PEND +mus_battle36_8_001: + .byte N24 , Cn2 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte Cs2 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle36_8_000 + .byte PATT + .word mus_battle36_8_001 +mus_battle36_8_002: + .byte N48 , Cn2 , v112 + .byte W48 + .byte N48 + .byte W48 + .byte PEND + .byte PATT + .word mus_battle36_8_002 + .byte PATT + .word mus_battle36_8_002 + .byte PATT + .word mus_battle36_8_002 + .byte PATT + .word mus_battle36_8_002 + .byte N48 , Cn2 , v112 + .byte W48 + .byte N24 + .byte W32 + .byte N08 , An1 + .byte W08 + .byte As1 + .byte W08 + .byte PATT + .word mus_battle36_8_000 + .byte PATT + .word mus_battle36_8_000 + .byte PATT + .word mus_battle36_8_000 + .byte PATT + .word mus_battle36_8_000 + .byte PATT + .word mus_battle36_8_000 + .byte N24 , Cn2 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W48 +mus_battle36_8_B1: +mus_battle36_8_003: + .byte N24 , Cn2 , v112 + .byte W48 + .byte N24 + .byte W48 + .byte PEND + .byte PATT + .word mus_battle36_8_003 + .byte PATT + .word mus_battle36_8_003 + .byte PATT + .word mus_battle36_8_003 + .byte PATT + .word mus_battle36_8_003 + .byte PATT + .word mus_battle36_8_003 + .byte PATT + .word mus_battle36_8_003 + .byte PATT + .word mus_battle36_8_003 + .byte PATT + .word mus_battle36_8_003 + .byte N24 , Cn2 , v112 + .byte W48 + .byte N16 + .byte W48 + .byte PATT + .word mus_battle36_8_003 + .byte PATT + .word mus_battle36_8_003 + .byte PATT + .word mus_battle36_8_002 + .byte N48 , Cn2 , v112 + .byte W48 + .byte N24 + .byte W48 + .byte PATT + .word mus_battle36_8_003 + .byte PATT + .word mus_battle36_8_003 + .byte PATT + .word mus_battle36_8_003 + .byte PATT + .word mus_battle36_8_003 + .byte PATT + .word mus_battle36_8_003 + .byte PATT + .word mus_battle36_8_003 + .byte GOTO + .word mus_battle36_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_battle36: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_battle36_pri @ Priority + .byte mus_battle36_rev @ Reverb. + + .word mus_battle36_grp + + .word mus_battle36_1 + .word mus_battle36_2 + .word mus_battle36_3 + .word mus_battle36_4 + .word mus_battle36_5 + .word mus_battle36_6 + .word mus_battle36_7 + .word mus_battle36_8 + + .end diff --git a/sound/songs/mus_battle38.s b/sound/songs/mus_battle38.s new file mode 100644 index 0000000000..453009033d --- /dev/null +++ b/sound/songs/mus_battle38.s @@ -0,0 +1,2267 @@ + .include "MPlayDef.s" + + .equ mus_battle38_grp, voicegroup_869C704 + .equ mus_battle38_pri, 1 + .equ mus_battle38_rev, reverb_set+50 + .equ mus_battle38_mvl, 127 + .equ mus_battle38_key, 0 + .equ mus_battle38_tbs, 1 + .equ mus_battle38_exg, 0 + .equ mus_battle38_cmp, 1 + + .section .rodata + .global mus_battle38 + .align 2 + +@********************** Track 1 **********************@ + +mus_battle38_1: + .byte KEYSH , mus_battle38_key+0 + .byte TEMPO , 214*mus_battle38_tbs/2 + .byte VOICE , 60 + .byte LFOS , 15 + .byte VOL , 80*mus_battle38_mvl/mxv + .byte PAN , c_v+10 + .byte N12 , An3 , v108 + .byte W48 + .byte TIE , Ds4 + .byte W48 + .byte W96 + .byte EOT + .byte N12 , Dn4 + .byte W96 +mus_battle38_1_000: + .byte N12 , Dn4 , v096 + .byte W72 + .byte N24 , Ds4 , v108 + .byte W24 + .byte PEND + .byte N12 , Fn4 + .byte W72 + .byte Ds4 + .byte W24 + .byte Dn4 + .byte W48 + .byte N48 , Ds4 + .byte W48 + .byte N12 , Dn4 + .byte W96 + .byte PATT + .word mus_battle38_1_000 + .byte N12 , Fn4 , v108 + .byte W72 + .byte N24 , Ds4 + .byte W24 + .byte N12 , Dn4 + .byte W36 + .byte Cn4 + .byte W36 + .byte N24 , Ds4 + .byte W24 +mus_battle38_1_B1: + .byte VOICE , 56 + .byte VOL , 80*mus_battle38_mvl/mxv + .byte PAN , c_v+10 + .byte N06 , An3 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , As3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte VOICE , 48 + .byte N12 , Ds3 , v100 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte VOICE , 56 + .byte N06 , An3 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , As3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte As3 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte N12 , Ds3 , v100 + .byte W03 + .byte VOICE , 48 + .byte W09 + .byte N12 , Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Dn4 , v096 + .byte W24 + .byte An3 + .byte W24 + .byte As3 + .byte W24 + .byte An3 + .byte W24 + .byte Ds4 + .byte W24 + .byte As3 + .byte W24 + .byte Cn4 + .byte W24 + .byte As3 + .byte W24 + .byte Fn4 + .byte W24 + .byte Cn4 + .byte W24 + .byte Dn4 + .byte W24 + .byte Cn4 + .byte W24 + .byte N48 , Gs4 + .byte W48 + .byte Gn4 + .byte W48 + .byte N12 , An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte N48 , Fs4 + .byte W48 + .byte An4 + .byte W48 + .byte Dn4 + .byte W48 + .byte Fs4 + .byte W48 + .byte An3 , v088 + .byte W48 + .byte Dn4 + .byte W48 + .byte Fs3 , v072 + .byte W48 + .byte An3 + .byte W48 + .byte VOICE , 48 + .byte PAN , c_v+36 + .byte W24 + .byte TIE , Gn3 , v088 + .byte W72 + .byte W96 + .byte EOT + .byte W24 + .byte TIE , Fs3 + .byte W72 + .byte W96 + .byte EOT + .byte W24 + .byte TIE , Gn3 + .byte W72 + .byte W48 + .byte EOT + .byte N24 , Ds4 + .byte W24 + .byte N24 + .byte W24 + .byte TIE , An3 + .byte W96 + .byte W96 + .byte EOT + .byte VOICE , 60 + .byte W24 + .byte PAN , c_v+6 + .byte TIE , Gn3 , v096 + .byte W72 + .byte W96 + .byte EOT + .byte W24 + .byte TIE , Fs3 + .byte W72 + .byte W96 + .byte EOT + .byte W24 + .byte TIE , Gn3 + .byte W72 + .byte W48 + .byte EOT + .byte N24 , Ds4 + .byte W24 + .byte N24 + .byte W24 + .byte TIE , An3 + .byte W96 + .byte W30 + .byte VOL , 78*mus_battle38_mvl/mxv + .byte W09 + .byte 76*mus_battle38_mvl/mxv + .byte W09 + .byte 70*mus_battle38_mvl/mxv + .byte W09 + .byte 65*mus_battle38_mvl/mxv + .byte W09 + .byte 58*mus_battle38_mvl/mxv + .byte W09 + .byte 54*mus_battle38_mvl/mxv + .byte W09 + .byte 44*mus_battle38_mvl/mxv + .byte W06 + .byte 32*mus_battle38_mvl/mxv + .byte W03 + .byte EOT + .byte W03 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 80*mus_battle38_mvl/mxv + .byte N36 , Bn3 + .byte W36 + .byte An3 + .byte W36 + .byte N24 , Gn3 + .byte W24 + .byte N36 , An3 + .byte W36 + .byte Gn3 + .byte W36 + .byte N24 , Fs3 + .byte W24 + .byte N36 , Gn3 + .byte W36 + .byte Fs3 + .byte W36 + .byte N24 , En3 + .byte W24 + .byte N36 , Fs3 + .byte W36 + .byte Gn3 + .byte W36 + .byte N24 , An3 + .byte W24 + .byte PAN , c_v+22 + .byte TIE , Gn3 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , Fs3 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , Dn3 + .byte W96 + .byte W96 + .byte EOT + .byte TIE + .byte W96 + .byte W96 + .byte EOT + .byte GOTO + .word mus_battle38_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_battle38_2: + .byte KEYSH , mus_battle38_key+0 + .byte VOICE , 48 + .byte LFOS , 15 + .byte VOL , 80*mus_battle38_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , Dn4 , v108 + .byte W48 + .byte TIE , As4 + .byte W48 + .byte W96 + .byte EOT + .byte N12 , An4 + .byte W96 +mus_battle38_2_000: + .byte N12 , An4 , v096 + .byte W72 + .byte N24 , As4 , v108 + .byte W24 + .byte PEND + .byte N12 , Cn5 + .byte W72 + .byte As4 + .byte W24 + .byte An4 + .byte W48 + .byte N48 , As4 + .byte W48 + .byte N12 , An4 + .byte W96 + .byte PATT + .word mus_battle38_2_000 + .byte N12 , Cn5 , v108 + .byte W72 + .byte N24 , As4 + .byte W24 + .byte N12 , An4 + .byte W36 + .byte Gn4 + .byte W36 + .byte N24 , As4 + .byte W24 +mus_battle38_2_B1: + .byte VOICE , 56 + .byte VOL , 80*mus_battle38_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Dn4 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , An3 + .byte W24 + .byte Cn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Gn3 + .byte W24 + .byte N06 , Dn4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , An4 + .byte W24 + .byte Dn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , As4 + .byte W24 + .byte N36 , An4 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N36 , Dn4 + .byte W21 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N24 , An4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N36 , As4 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N36 , Ds4 + .byte W21 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N24 , As4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N36 , Cn5 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N36 , Fn4 + .byte W21 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N24 , Cn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N48 , Ds5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W24 + .byte N48 , Dn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W24 + .byte VOICE , 48 + .byte N12 , Cn5 , v100 + .byte W12 + .byte As4 + .byte W12 + .byte An4 + .byte W12 + .byte As4 + .byte W12 + .byte Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte TIE , Dn5 + .byte W96 + .byte W96 + .byte VOL , 74*mus_battle38_mvl/mxv + .byte W09 + .byte 70*mus_battle38_mvl/mxv + .byte W09 + .byte 65*mus_battle38_mvl/mxv + .byte W09 + .byte 60*mus_battle38_mvl/mxv + .byte W09 + .byte 53*mus_battle38_mvl/mxv + .byte W09 + .byte 45*mus_battle38_mvl/mxv + .byte W09 + .byte 35*mus_battle38_mvl/mxv + .byte W09 + .byte 25*mus_battle38_mvl/mxv + .byte W09 + .byte 15*mus_battle38_mvl/mxv + .byte W09 + .byte 7*mus_battle38_mvl/mxv + .byte W09 + .byte EOT + .byte W06 + .byte W96 + .byte VOICE , 60 + .byte VOL , 80*mus_battle38_mvl/mxv + .byte N24 , As3 + .byte W24 + .byte TIE , Cn4 + .byte W72 + .byte W96 + .byte EOT + .byte N24 , An3 + .byte W24 + .byte TIE , Dn4 + .byte W72 + .byte W96 + .byte EOT + .byte N24 , An3 + .byte W24 + .byte TIE , Ds4 + .byte W72 + .byte W48 + .byte EOT + .byte N24 , Gn4 + .byte W24 + .byte N24 + .byte W24 + .byte TIE , Fs4 + .byte W96 + .byte W96 + .byte EOT + .byte VOICE , 48 + .byte N24 , As3 + .byte W24 + .byte TIE , Cn5 + .byte W72 + .byte W96 + .byte EOT + .byte N24 , An3 + .byte W24 + .byte TIE , Dn5 + .byte W72 + .byte W96 + .byte EOT + .byte N24 , An3 + .byte W24 + .byte TIE , Ds5 + .byte W72 + .byte W48 + .byte EOT + .byte N24 , Cn5 + .byte W24 + .byte N24 + .byte W24 + .byte TIE , Fs4 + .byte W96 + .byte W30 + .byte VOL , 78*mus_battle38_mvl/mxv + .byte W09 + .byte 76*mus_battle38_mvl/mxv + .byte W09 + .byte 70*mus_battle38_mvl/mxv + .byte W09 + .byte 65*mus_battle38_mvl/mxv + .byte W09 + .byte 58*mus_battle38_mvl/mxv + .byte W09 + .byte 54*mus_battle38_mvl/mxv + .byte W09 + .byte 44*mus_battle38_mvl/mxv + .byte W06 + .byte 32*mus_battle38_mvl/mxv + .byte W03 + .byte EOT + .byte W03 + .byte VOICE , 56 + .byte VOL , 80*mus_battle38_mvl/mxv + .byte N36 , Gn3 , v116 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N36 , Fs3 + .byte W21 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N24 , En3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N36 , Fs3 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N36 , En3 + .byte W21 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N24 , Dn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N36 , En3 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N36 , Dn3 + .byte W21 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N24 , Cs3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N36 , Dn3 + .byte W18 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N36 , En3 + .byte W21 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N24 , Fs3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOICE , 48 + .byte MOD , 0 + .byte N36 , Gn4 , v100 + .byte W36 + .byte Fs4 + .byte W36 + .byte N24 , En4 + .byte W24 + .byte N36 , Fs4 + .byte W36 + .byte En4 + .byte W36 + .byte N24 , Dn4 + .byte W24 + .byte N36 , En4 + .byte W36 + .byte Dn4 + .byte W36 + .byte N24 , Cs4 + .byte W24 + .byte N36 , Dn4 + .byte W36 + .byte En4 + .byte W36 + .byte N24 , Fs4 + .byte W24 + .byte TIE , Cn4 + .byte W96 + .byte W84 + .byte EOT + .byte N06 , Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte TIE , An3 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , Gn3 + .byte W96 + .byte W84 + .byte EOT + .byte N06 + .byte W06 + .byte Gs3 + .byte W06 + .byte TIE , An3 + .byte W96 + .byte W96 + .byte EOT + .byte GOTO + .word mus_battle38_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_battle38_3: + .byte KEYSH , mus_battle38_key+0 + .byte VOICE , 38 + .byte VOL , 80*mus_battle38_mvl/mxv + .byte N12 , Dn1 , v120 + .byte W48 + .byte N12 + .byte W48 + .byte N12 + .byte W48 + .byte N12 + .byte W48 +mus_battle38_3_000: + .byte N12 , Dn1 , v120 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte PEND +mus_battle38_3_001: + .byte N12 , Dn1 , v120 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N24 , An1 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle38_3_000 +mus_battle38_3_002: + .byte N12 , Dn1 , v120 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle38_3_000 + .byte PATT + .word mus_battle38_3_001 + .byte PATT + .word mus_battle38_3_000 + .byte PATT + .word mus_battle38_3_002 +mus_battle38_3_B1: +mus_battle38_3_003: + .byte N12 , Dn1 , v120 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte PEND + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Fn1 + .byte W12 + .byte An1 + .byte W12 + .byte Cn2 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte PATT + .word mus_battle38_3_003 + .byte N12 , Dn1 , v120 + .byte W12 + .byte An1 + .byte W12 + .byte Fn1 + .byte W12 + .byte An1 + .byte W12 + .byte Cn2 + .byte W12 + .byte An1 + .byte W12 + .byte Ds2 + .byte W12 + .byte Cn2 + .byte W12 + .byte PATT + .word mus_battle38_3_003 + .byte N12 , Ds1 , v120 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Ds2 + .byte W12 + .byte Fn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W12 +mus_battle38_3_004: + .byte N12 , Dn1 , v120 + .byte W12 + .byte An1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte PEND +mus_battle38_3_005: + .byte N12 , Dn1 , v120 + .byte W12 + .byte An1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle38_3_004 + .byte PATT + .word mus_battle38_3_005 +mus_battle38_3_006: + .byte N12 , Dn1 , v120 + .byte W24 + .byte Dn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle38_3_005 + .byte PATT + .word mus_battle38_3_004 + .byte PATT + .word mus_battle38_3_005 + .byte PATT + .word mus_battle38_3_004 + .byte PATT + .word mus_battle38_3_005 + .byte PATT + .word mus_battle38_3_004 + .byte PATT + .word mus_battle38_3_005 + .byte PATT + .word mus_battle38_3_006 + .byte PATT + .word mus_battle38_3_005 + .byte PATT + .word mus_battle38_3_004 + .byte PATT + .word mus_battle38_3_005 + .byte PATT + .word mus_battle38_3_006 + .byte PATT + .word mus_battle38_3_005 + .byte PATT + .word mus_battle38_3_004 + .byte PATT + .word mus_battle38_3_005 + .byte PATT + .word mus_battle38_3_003 + .byte N12 , Dn1 , v120 + .byte W12 + .byte An1 + .byte W12 + .byte Dn2 + .byte W12 + .byte An1 + .byte W12 + .byte Cn2 + .byte W12 + .byte An1 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte Gn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte En2 + .byte W12 + .byte PATT + .word mus_battle38_3_003 + .byte PATT + .word mus_battle38_3_003 + .byte PATT + .word mus_battle38_3_003 + .byte PATT + .word mus_battle38_3_003 + .byte PATT + .word mus_battle38_3_003 + .byte PATT + .word mus_battle38_3_003 + .byte PATT + .word mus_battle38_3_003 + .byte PATT + .word mus_battle38_3_003 +mus_battle38_3_007: + .byte N12 , Dn1 , v120 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle38_3_007 + .byte PATT + .word mus_battle38_3_003 + .byte PATT + .word mus_battle38_3_003 + .byte GOTO + .word mus_battle38_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_battle38_4: + .byte KEYSH , mus_battle38_key+0 + .byte VOICE , 80 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte LFOS , 15 + .byte VOL , 80*mus_battle38_mvl/mxv + .byte PAN , c_v-48 + .byte N12 , Dn3 , v060 + .byte W48 + .byte TIE , As3 + .byte W48 + .byte MOD , 7 + .byte W96 + .byte EOT + .byte MOD , 0 + .byte N12 , An3 + .byte W96 + .byte PAN , c_v+0 + .byte N12 , An3 , v052 + .byte W72 + .byte N24 , As3 , v060 + .byte W24 + .byte N12 , Cn4 + .byte W72 + .byte As3 + .byte W24 + .byte An3 + .byte W48 + .byte N48 , As3 + .byte W48 + .byte N12 , An3 + .byte W96 + .byte An3 , v052 + .byte W72 + .byte N24 , As3 , v060 + .byte W24 + .byte N12 , Cn4 + .byte W72 + .byte N24 , As3 + .byte W24 + .byte N12 , An3 + .byte W36 + .byte Gn3 + .byte W36 + .byte N24 , As3 + .byte W24 +mus_battle38_4_B1: + .byte PAN , c_v+0 + .byte N36 , Dn3 , v072 + .byte W36 + .byte N24 , An2 + .byte W24 + .byte N12 , Bn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte N06 , Dn3 + .byte W96 + .byte N36 + .byte W36 + .byte N24 , Ds3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N06 , Fs3 + .byte W96 + .byte N12 , Dn3 , v060 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , Fs3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N12 , Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N24 , An3 + .byte W24 + .byte N12 , Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte VOICE , 81 + .byte PAN , c_v-48 + .byte N12 , Ds3 , v048 + .byte W12 + .byte Ds2 + .byte W12 + .byte As2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte N12 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cs3 + .byte W12 +mus_battle38_4_000: + .byte N12 , Dn3 , v048 + .byte W12 + .byte Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte N12 + .byte W12 + .byte Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle38_4_000 + .byte PATT + .word mus_battle38_4_000 + .byte PATT + .word mus_battle38_4_000 +mus_battle38_4_001: + .byte N12 , Dn3 , v048 + .byte W24 + .byte An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte N12 + .byte W12 + .byte Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle38_4_000 + .byte PATT + .word mus_battle38_4_000 + .byte PATT + .word mus_battle38_4_000 + .byte PATT + .word mus_battle38_4_000 + .byte PATT + .word mus_battle38_4_000 + .byte PATT + .word mus_battle38_4_000 + .byte PATT + .word mus_battle38_4_000 + .byte PATT + .word mus_battle38_4_001 + .byte PATT + .word mus_battle38_4_000 + .byte PATT + .word mus_battle38_4_000 + .byte PATT + .word mus_battle38_4_000 + .byte PATT + .word mus_battle38_4_001 + .byte PATT + .word mus_battle38_4_000 + .byte PATT + .word mus_battle38_4_000 + .byte PATT + .word mus_battle38_4_000 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 80 + .byte N12 , Cn3 , v060 + .byte W12 + .byte En3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte En3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Dn5 + .byte W12 + .byte En5 , v048 + .byte W12 + .byte Cn5 + .byte W12 + .byte Dn5 , v044 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cn5 , v040 + .byte W12 + .byte An4 , v036 + .byte W12 + .byte Bn4 + .byte W12 + .byte Gn4 , v032 + .byte W12 + .byte An4 + .byte W12 + .byte Fs4 , v028 + .byte W12 + .byte Gn4 , v024 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 , v020 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 , v016 + .byte W12 + .byte Gn2 , v060 + .byte W12 + .byte Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 , v048 + .byte W12 + .byte Gn4 , v044 + .byte W12 + .byte An4 + .byte W12 + .byte Fs4 , v040 + .byte W12 + .byte Gn4 + .byte W12 + .byte En4 , v036 + .byte W12 + .byte Fs4 , v032 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 , v028 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 , v024 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 , v020 + .byte W12 + .byte An3 , v016 + .byte W12 + .byte Bn3 + .byte W12 + .byte GOTO + .word mus_battle38_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_battle38_5: + .byte KEYSH , mus_battle38_key+0 + .byte VOICE , 82 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte LFOS , 15 + .byte VOL , 80*mus_battle38_mvl/mxv + .byte PAN , c_v+48 + .byte BEND , c_v+0 + .byte N12 , An2 , v060 + .byte W48 + .byte Ds3 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte MOD , 7 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte MOD , 0 + .byte N12 , Dn3 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_battle38_5_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 80 + .byte PAN , c_v+48 + .byte BEND , c_v-2 + .byte N48 , Ds3 , v052 + .byte W48 + .byte Dn3 + .byte W48 + .byte N84 , Cn4 + .byte W84 + .byte N12 , Cs4 , v060 + .byte W12 + .byte N48 , Dn4 + .byte W48 + .byte Cn4 + .byte W48 + .byte Bn3 + .byte W48 + .byte An3 + .byte W48 + .byte Fs3 + .byte W48 + .byte En3 + .byte W48 + .byte Dn3 , v052 + .byte W48 + .byte En3 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte BEND , c_v+0 + .byte W24 + .byte VOICE , 82 + .byte N12 , Cn4 , v060 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte W24 + .byte VOICE , 82 + .byte N12 , Dn4 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte W24 + .byte VOICE , 82 + .byte N12 , Ds4 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte N24 , Gn4 + .byte W24 + .byte N24 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W06 + .byte VOL , 78*mus_battle38_mvl/mxv + .byte W06 + .byte N12 + .byte W03 + .byte VOL , 76*mus_battle38_mvl/mxv + .byte W09 + .byte 70*mus_battle38_mvl/mxv + .byte N12 + .byte W09 + .byte VOL , 65*mus_battle38_mvl/mxv + .byte W03 + .byte N12 + .byte W06 + .byte VOL , 58*mus_battle38_mvl/mxv + .byte W06 + .byte N12 + .byte W03 + .byte VOL , 54*mus_battle38_mvl/mxv + .byte W09 + .byte 44*mus_battle38_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 32*mus_battle38_mvl/mxv + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 82 + .byte VOL , 80*mus_battle38_mvl/mxv + .byte W12 + .byte N12 , Cn3 , v052 + .byte W12 + .byte En3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte En3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Dn5 + .byte W12 + .byte En5 , v044 + .byte W12 + .byte Cn5 , v040 + .byte W12 + .byte Dn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cn5 , v036 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Gn4 , v032 + .byte W12 + .byte An4 + .byte W12 + .byte Fs4 , v028 + .byte W12 + .byte Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 , v024 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 , v028 + .byte W12 + .byte Gn2 , v052 + .byte W12 + .byte Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 , v036 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Fs4 , v032 + .byte W12 + .byte Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Dn4 , v028 + .byte W12 + .byte En4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 , v024 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte GOTO + .word mus_battle38_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_battle38_6: + .byte KEYSH , mus_battle38_key+0 + .byte VOICE , 80 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 80*mus_battle38_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_battle38_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 4 + .byte N06 , Gn4 , v060 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 , v052 + .byte W12 + .byte An4 , v048 + .byte W12 + .byte Gn4 , v040 + .byte W12 + .byte An4 , v032 + .byte W60 + .byte An4 , v060 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 , v052 + .byte W12 + .byte Bn4 , v044 + .byte W12 + .byte An4 , v040 + .byte W12 + .byte Bn4 , v032 + .byte W60 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_battle38_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_battle38_7: + .byte KEYSH , mus_battle38_key+0 + .byte VOICE , 0 + .byte VOL , 80*mus_battle38_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , Dn1 , v056 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v068 + .byte W06 + .byte Dn1 , v072 + .byte W06 + .byte Dn1 , v076 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Dn1 , v088 + .byte W06 + .byte Dn1 , v092 + .byte W06 + .byte Dn1 , v096 + .byte W06 + .byte Dn1 , v100 + .byte W06 + .byte Dn1 , v104 + .byte W06 + .byte N12 , Dn1 , v112 + .byte W12 + .byte N12 + .byte W12 +mus_battle38_7_B1: +mus_battle38_7_000: + .byte W24 + .byte N12 , Dn1 , v112 + .byte W48 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 +mus_battle38_7_001: + .byte W24 + .byte N12 , Dn1 , v112 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte N12 , Dn1 , v112 + .byte W48 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte W24 + .byte N12 , Dn1 , v112 + .byte W48 + .byte N12 + .byte W12 + .byte N12 + .byte W12 +mus_battle38_7_002: + .byte W24 + .byte N12 , Ds1 , v092 + .byte W48 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_battle38_7_002 + .byte PATT + .word mus_battle38_7_002 + .byte W24 + .byte N12 , Ds1 , v092 + .byte W48 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_001 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_001 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_000 + .byte PATT + .word mus_battle38_7_001 + .byte GOTO + .word mus_battle38_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_battle38_8: + .byte KEYSH , mus_battle38_key+0 + .byte VOICE , 47 + .byte VOL , 80*mus_battle38_mvl/mxv + .byte PAN , c_v-8 + .byte N12 , Dn2 , v112 + .byte W48 + .byte N12 + .byte W48 +mus_battle38_8_000: + .byte N12 , Dn2 , v112 + .byte W48 + .byte N12 + .byte W48 + .byte PEND +mus_battle38_8_001: + .byte N12 , Dn2 , v112 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte N12 + .byte W36 + .byte PEND + .byte PATT + .word mus_battle38_8_001 + .byte PATT + .word mus_battle38_8_001 + .byte PATT + .word mus_battle38_8_001 + .byte PATT + .word mus_battle38_8_001 + .byte PATT + .word mus_battle38_8_001 + .byte PATT + .word mus_battle38_8_001 + .byte PATT + .word mus_battle38_8_001 +mus_battle38_8_B1: + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte W12 + .byte N12 , Dn2 , v112 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 +mus_battle38_8_002: + .byte N12 , Dn2 , v112 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W36 + .byte PEND + .byte PATT + .word mus_battle38_8_002 + .byte PATT + .word mus_battle38_8_002 + .byte PATT + .word mus_battle38_8_002 + .byte PATT + .word mus_battle38_8_002 + .byte PATT + .word mus_battle38_8_002 + .byte PATT + .word mus_battle38_8_002 + .byte PATT + .word mus_battle38_8_002 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte PATT + .word mus_battle38_8_000 + .byte GOTO + .word mus_battle38_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_battle38: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_battle38_pri @ Priority + .byte mus_battle38_rev @ Reverb. + + .word mus_battle38_grp + + .word mus_battle38_1 + .word mus_battle38_2 + .word mus_battle38_3 + .word mus_battle38_4 + .word mus_battle38_5 + .word mus_battle38_6 + .word mus_battle38_7 + .word mus_battle38_8 + + .end diff --git a/sound/songs/mus_bd_time.s b/sound/songs/mus_bd_time.s new file mode 100644 index 0000000000..46a6d0a425 --- /dev/null +++ b/sound/songs/mus_bd_time.s @@ -0,0 +1,1327 @@ + .include "MPlayDef.s" + + .equ mus_bd_time_grp, voicegroup_867E740 + .equ mus_bd_time_pri, 0 + .equ mus_bd_time_rev, reverb_set+50 + .equ mus_bd_time_mvl, 127 + .equ mus_bd_time_key, 0 + .equ mus_bd_time_tbs, 1 + .equ mus_bd_time_exg, 0 + .equ mus_bd_time_cmp, 1 + + .section .rodata + .global mus_bd_time + .align 2 + +@********************** Track 1 **********************@ + +mus_bd_time_1: + .byte KEYSH , mus_bd_time_key+0 + .byte TEMPO , 180*mus_bd_time_tbs/2 + .byte W48 + .byte VOICE , 38 + .byte VOL , 80*mus_bd_time_mvl/mxv + .byte PAN , c_v-6 + .byte N06 , Dn1 , v127 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte An0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Bn0 + .byte W12 + .byte En1 + .byte W12 + .byte TEMPO , 170*mus_bd_time_tbs/2 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte TEMPO , 160*mus_bd_time_tbs/2 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte TEMPO , 150*mus_bd_time_tbs/2 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte TEMPO , 140*mus_bd_time_tbs/2 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte TEMPO , 130*mus_bd_time_tbs/2 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte TEMPO , 120*mus_bd_time_tbs/2 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte TEMPO , 110*mus_bd_time_tbs/2 + .byte Dn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte En1 + .byte W12 + .byte Gs1 + .byte W12 +mus_bd_time_1_000: + .byte N06 , An1 , v127 + .byte W12 + .byte En2 + .byte W12 + .byte An1 + .byte W12 + .byte En2 + .byte W12 + .byte An1 + .byte W12 + .byte En2 + .byte W12 + .byte An1 + .byte W12 + .byte En2 + .byte W12 + .byte PEND + .byte PATT + .word mus_bd_time_1_000 +mus_bd_time_1_B1: + .byte PATT + .word mus_bd_time_1_000 + .byte PATT + .word mus_bd_time_1_000 + .byte GOTO + .word mus_bd_time_1_B1 + .byte W96 + .byte FINE + +@********************** Track 2 **********************@ + +mus_bd_time_2: + .byte KEYSH , mus_bd_time_key+0 + .byte VOICE , 17 + .byte VOL , 80*mus_bd_time_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Dn3 , v092 + .byte W06 + .byte Fs3 , v072 + .byte W06 + .byte An3 , v040 + .byte W06 + .byte Cs4 , v048 + .byte W06 + .byte En4 , v056 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte Bn4 , v068 + .byte W06 + .byte Dn5 , v076 + .byte W06 + .byte N03 , Dn5 , v080 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte N03 , Dn5 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte N03 , Dn5 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte N03 , Dn5 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte N03 , Dn5 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte N03 , Dn5 + .byte W12 + .byte N12 , An4 + .byte W12 + .byte N03 , Dn5 + .byte W12 + .byte N12 , Bn4 + .byte W12 + .byte N03 , Dn5 + .byte W12 + .byte N12 , An4 + .byte W12 + .byte N03 , Fn5 + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte N03 , Fn5 + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte N03 , Fn5 + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte N03 , Fn5 + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte N03 , Fn5 + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte N03 , Fn5 + .byte W12 + .byte N12 , Cn5 + .byte W12 + .byte N03 , Fn5 + .byte W12 + .byte N12 , Dn5 + .byte W12 + .byte N03 , Fn5 + .byte W12 + .byte N12 , Cn5 + .byte W12 + .byte N32 , Gn4 + .byte W36 + .byte N03 + .byte W12 + .byte Gn5 + .byte W12 + .byte N12 , Gn4 + .byte W12 + .byte N03 , Gn5 + .byte W12 + .byte N12 , Dn5 + .byte W12 + .byte N32 , Gn4 + .byte W36 + .byte N03 + .byte W12 + .byte Gn5 + .byte W12 + .byte N12 , Gn4 + .byte W12 + .byte N03 , Gn5 + .byte W12 + .byte N12 , Dn4 + .byte W12 +mus_bd_time_2_000: + .byte N06 , An4 , v080 + .byte W12 + .byte N06 + .byte W36 + .byte N24 , En4 + .byte W24 + .byte Gn4 + .byte W24 + .byte PEND +mus_bd_time_2_001: + .byte N06 , An4 , v080 + .byte W12 + .byte N06 + .byte W60 + .byte N06 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte PEND +mus_bd_time_2_B1: + .byte PATT + .word mus_bd_time_2_000 + .byte PATT + .word mus_bd_time_2_001 + .byte GOTO + .word mus_bd_time_2_B1 + .byte W96 + .byte FINE + +@********************** Track 3 **********************@ + +mus_bd_time_3: + .byte KEYSH , mus_bd_time_key+0 + .byte VOICE , 17 + .byte VOL , 80*mus_bd_time_mvl/mxv + .byte PAN , c_v-10 + .byte W03 + .byte N06 , En3 , v080 + .byte W06 + .byte Gn3 , v064 + .byte W06 + .byte Bn3 , v044 + .byte W06 + .byte Dn4 , v052 + .byte W06 + .byte Fs4 , v060 + .byte W06 + .byte An4 , v064 + .byte W06 + .byte Cs5 , v072 + .byte W06 + .byte N03 , En5 , v080 + .byte W03 + .byte An4 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte N03 , An4 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte N03 , An4 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte N03 , An4 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte N03 , An4 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte N03 , An4 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte N03 , An4 + .byte W12 + .byte N12 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte N03 , Cn5 + .byte W12 + .byte N12 , Cn4 + .byte W12 + .byte N03 , Cn5 + .byte W12 + .byte N12 , Cn4 + .byte W12 + .byte N03 , Cn5 + .byte W12 + .byte N12 , Cn4 + .byte W12 + .byte N03 , Cn5 + .byte W12 + .byte N12 , Cn4 + .byte W12 + .byte N03 , Cn5 + .byte W12 + .byte N12 , Cn4 + .byte W12 + .byte N03 , Cn5 + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte N03 , Cn5 + .byte W12 + .byte N12 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte N32 , Dn4 + .byte W36 + .byte N03 + .byte W12 + .byte Dn5 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte N03 , Dn5 + .byte W12 + .byte N12 , Gn4 + .byte W12 + .byte N32 , Dn4 + .byte W36 + .byte N03 + .byte W12 + .byte Dn5 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte N03 , Dn5 + .byte W12 + .byte N12 , Gn3 + .byte W12 +mus_bd_time_3_000: + .byte N06 , En4 , v080 + .byte W12 + .byte N06 + .byte W36 + .byte N24 , An3 + .byte W24 + .byte Cs4 + .byte W24 + .byte PEND +mus_bd_time_3_001: + .byte N06 , En4 , v080 + .byte W12 + .byte N06 + .byte W60 + .byte N06 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte PEND +mus_bd_time_3_B1: + .byte PATT + .word mus_bd_time_3_000 + .byte PATT + .word mus_bd_time_3_001 + .byte GOTO + .word mus_bd_time_3_B1 + .byte W96 + .byte FINE + +@********************** Track 4 **********************@ + +mus_bd_time_4: + .byte KEYSH , mus_bd_time_key+0 + .byte W48 + .byte VOICE , 4 + .byte VOL , 80*mus_bd_time_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Dn5 , v052 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte An4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte An4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte An4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte An4 + .byte W06 + .byte Dn4 + .byte W06 +mus_bd_time_4_000: + .byte N06 , Fn5 , v052 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte An4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte An4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Fn4 + .byte W06 + .byte PEND + .byte PATT + .word mus_bd_time_4_000 +mus_bd_time_4_001: + .byte N06 , Gn5 , v052 + .byte W06 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gn5 + .byte W06 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte PEND + .byte PATT + .word mus_bd_time_4_001 +mus_bd_time_4_002: + .byte N06 , An5 , v052 + .byte W06 + .byte Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte Cs5 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 + .byte En5 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 + .byte Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte Cs5 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 + .byte En5 + .byte W06 + .byte An4 + .byte W06 + .byte PEND + .byte PATT + .word mus_bd_time_4_002 +mus_bd_time_4_B1: + .byte PATT + .word mus_bd_time_4_002 + .byte PATT + .word mus_bd_time_4_002 + .byte GOTO + .word mus_bd_time_4_B1 + .byte W96 + .byte FINE + +@********************** Track 5 **********************@ + +mus_bd_time_5: + .byte KEYSH , mus_bd_time_key+0 + .byte W48 + .byte VOICE , 5 + .byte VOL , 80*mus_bd_time_mvl/mxv + .byte PAN , c_v+48 + .byte W12 + .byte N06 , Dn5 , v032 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte An4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte An4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte An4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte An4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte An4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte An4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte An4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte An4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn5 + .byte W06 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gn5 + .byte W06 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gn5 + .byte W06 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gn5 + .byte W06 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte An5 + .byte W06 + .byte Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte Cs5 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 + .byte En5 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 + .byte Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte Cs5 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 +mus_bd_time_5_000: + .byte N06 , En5 , v032 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 + .byte Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte Cs5 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 + .byte En5 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 + .byte Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte Cs5 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 + .byte PEND +mus_bd_time_5_B1: + .byte N06 , En5 , v032 + .byte W06 + .byte Bn4 + .byte W06 + .byte An5 + .byte W06 + .byte Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte Cs5 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 + .byte En5 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 + .byte Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte Cs5 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 + .byte PATT + .word mus_bd_time_5_000 + .byte GOTO + .word mus_bd_time_5_B1 + .byte W96 + .byte FINE + +@********************** Track 6 **********************@ + +mus_bd_time_6: + .byte KEYSH , mus_bd_time_key+0 + .byte W48 + .byte VOICE , 81 + .byte VOL , 80*mus_bd_time_mvl/mxv + .byte N03 , Dn2 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte An2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte N03 + .byte W06 + .byte An2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte An2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte N03 + .byte W06 + .byte An2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte An2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte N03 + .byte W06 + .byte An2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte An2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn2 + .byte W06 + .byte N03 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N03 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn2 + .byte W06 + .byte N03 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N03 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn2 + .byte W06 + .byte N03 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N03 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn2 + .byte W06 + .byte N03 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn2 + .byte W06 + .byte N03 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N03 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn2 + .byte W06 + .byte N03 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N03 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn2 + .byte W06 + .byte N03 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N03 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn2 + .byte W06 + .byte N03 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 +mus_bd_time_6_000: + .byte N03 , An2 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte N03 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An2 + .byte W06 + .byte N03 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte N03 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte PEND +mus_bd_time_6_001: + .byte N03 , An2 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte N03 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An2 + .byte W06 + .byte N03 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte An4 + .byte W06 + .byte PEND +mus_bd_time_6_B1: + .byte PATT + .word mus_bd_time_6_000 + .byte PATT + .word mus_bd_time_6_001 + .byte GOTO + .word mus_bd_time_6_B1 + .byte W96 + .byte FINE + +@********************** Track 7 **********************@ + +mus_bd_time_7: + .byte KEYSH , mus_bd_time_key+0 + .byte W48 + .byte VOICE , 0 + .byte VOL , 80*mus_bd_time_mvl/mxv + .byte N06 , Cn1 , v120 + .byte W12 + .byte Fs1 , v072 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte Fs1 , v072 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Fs1 , v072 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Dn1 , v112 + .byte W12 + .byte Fs1 , v072 + .byte W06 + .byte Cn1 , v120 + .byte W06 +mus_bd_time_7_000: + .byte N06 , Cn1 , v120 + .byte W12 + .byte Fs1 , v072 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte Fs1 , v072 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Fs1 , v072 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte Fs1 , v072 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte PEND +mus_bd_time_7_001: + .byte N06 , Cn1 , v120 + .byte W12 + .byte Fs1 , v072 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte Fs1 , v072 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Fs1 , v072 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Dn1 , v112 + .byte W12 + .byte Fs1 , v072 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte PEND + .byte PATT + .word mus_bd_time_7_000 + .byte PATT + .word mus_bd_time_7_001 + .byte PATT + .word mus_bd_time_7_000 + .byte PATT + .word mus_bd_time_7_001 + .byte PATT + .word mus_bd_time_7_000 +mus_bd_time_7_B1: + .byte PATT + .word mus_bd_time_7_001 + .byte PATT + .word mus_bd_time_7_000 + .byte GOTO + .word mus_bd_time_7_B1 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +mus_bd_time: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_bd_time_pri @ Priority + .byte mus_bd_time_rev @ Reverb. + + .word mus_bd_time_grp + + .word mus_bd_time_1 + .word mus_bd_time_2 + .word mus_bd_time_3 + .word mus_bd_time_4 + .word mus_bd_time_5 + .word mus_bd_time_6 + .word mus_bd_time_7 + + .end diff --git a/sound/songs/mus_bijyutu.s b/sound/songs/mus_bijyutu.s new file mode 100644 index 0000000000..6b1e4ef38e --- /dev/null +++ b/sound/songs/mus_bijyutu.s @@ -0,0 +1,2124 @@ + .include "MPlayDef.s" + + .equ mus_bijyutu_grp, voicegroup_8679DC0 + .equ mus_bijyutu_pri, 0 + .equ mus_bijyutu_rev, reverb_set+50 + .equ mus_bijyutu_mvl, 127 + .equ mus_bijyutu_key, 0 + .equ mus_bijyutu_tbs, 1 + .equ mus_bijyutu_exg, 0 + .equ mus_bijyutu_cmp, 1 + + .section .rodata + .global mus_bijyutu + .align 2 + +@********************** Track 1 **********************@ + +mus_bijyutu_1: + .byte KEYSH , mus_bijyutu_key+0 + .byte TEMPO , 68*mus_bijyutu_tbs/2 + .byte VOICE , 48 + .byte VOL , 41*mus_bijyutu_mvl/mxv + .byte N24 , Dn3 , v092 + .byte W02 + .byte VOL , 45*mus_bijyutu_mvl/mxv + .byte W03 + .byte 50*mus_bijyutu_mvl/mxv + .byte W03 + .byte 55*mus_bijyutu_mvl/mxv + .byte W04 + .byte 60*mus_bijyutu_mvl/mxv + .byte W02 + .byte 66*mus_bijyutu_mvl/mxv + .byte W03 + .byte 74*mus_bijyutu_mvl/mxv + .byte W03 + .byte 78*mus_bijyutu_mvl/mxv + .byte W04 +mus_bijyutu_1_B1: + .byte VOL , 80*mus_bijyutu_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , Gn3 , v092 + .byte W12 + .byte Dn3 + .byte W12 + .byte An3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gn3 + .byte W12 +mus_bijyutu_1_000: + .byte N03 , Fs3 , v084 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Gn3 + .byte W03 + .byte N06 , Fs3 , v092 + .byte W06 + .byte En3 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fs3 + .byte W12 + .byte PEND +mus_bijyutu_1_001: + .byte N12 , Gn3 , v092 + .byte W12 + .byte En3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte En4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte PEND + .byte N03 , Fs4 , v084 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte N06 , Fs4 , v092 + .byte W06 + .byte En4 + .byte W06 + .byte N12 , Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 , v084 + .byte W12 + .byte Fs4 , v092 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte An3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PATT + .word mus_bijyutu_1_000 + .byte PATT + .word mus_bijyutu_1_001 + .byte N03 , Fs4 , v084 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte N06 , Fs4 , v092 + .byte W06 + .byte En4 + .byte W06 + .byte N12 , Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 , v084 + .byte W12 + .byte Fs4 , v092 + .byte W12 + .byte Dn4 + .byte W12 + .byte N09 , Cn5 , v080 + .byte W12 + .byte VOICE , 45 + .byte N06 , Bn4 , v044 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Bn4 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Gn4 , v044 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Gn4 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Bn4 , v044 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Bn4 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Dn4 , v044 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Dn4 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Bn4 , v044 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Bn4 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Gn4 , v044 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Gn4 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Bn4 , v044 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Bn4 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Dn4 , v044 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Dn4 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cn5 , v044 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cn5 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Gn4 , v044 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Gn4 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cn5 , v044 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cn5 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En4 , v044 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , En4 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cn5 , v044 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cn5 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Gn4 , v044 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Gn4 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cn5 , v044 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cn5 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En4 , v044 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , En4 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cs5 , v044 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cs5 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Gn4 , v044 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Gn4 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cs5 , v044 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cs5 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En4 , v044 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , En4 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cs5 , v044 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cs5 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Gn4 , v044 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Gn4 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cs5 , v044 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cs5 , v012 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En4 , v044 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , En4 , v012 + .byte W06 + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte N06 , Dn5 , v044 + .byte W06 + .byte An4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N24 , An4 + .byte W24 + .byte VOL , 42*mus_bijyutu_mvl/mxv + .byte PAN , c_v-16 + .byte N44 , Gn2 , v092 + .byte W06 + .byte VOL , 52*mus_bijyutu_mvl/mxv + .byte W05 + .byte 63*mus_bijyutu_mvl/mxv + .byte W06 + .byte 68*mus_bijyutu_mvl/mxv + .byte W06 + .byte 77*mus_bijyutu_mvl/mxv + .byte W06 + .byte 80*mus_bijyutu_mvl/mxv + .byte W19 + .byte 42*mus_bijyutu_mvl/mxv + .byte N44 , Dn2 + .byte W06 + .byte VOL , 52*mus_bijyutu_mvl/mxv + .byte W05 + .byte 63*mus_bijyutu_mvl/mxv + .byte W06 + .byte 68*mus_bijyutu_mvl/mxv + .byte W06 + .byte 77*mus_bijyutu_mvl/mxv + .byte W06 + .byte 80*mus_bijyutu_mvl/mxv + .byte W19 + .byte 42*mus_bijyutu_mvl/mxv + .byte N44 , Fs2 + .byte W06 + .byte VOL , 52*mus_bijyutu_mvl/mxv + .byte W05 + .byte 63*mus_bijyutu_mvl/mxv + .byte W06 + .byte 68*mus_bijyutu_mvl/mxv + .byte W06 + .byte 77*mus_bijyutu_mvl/mxv + .byte W06 + .byte 80*mus_bijyutu_mvl/mxv + .byte W19 + .byte 42*mus_bijyutu_mvl/mxv + .byte N44 , Cn2 + .byte W06 + .byte VOL , 52*mus_bijyutu_mvl/mxv + .byte W05 + .byte 63*mus_bijyutu_mvl/mxv + .byte W06 + .byte 68*mus_bijyutu_mvl/mxv + .byte W06 + .byte 77*mus_bijyutu_mvl/mxv + .byte W06 + .byte 80*mus_bijyutu_mvl/mxv + .byte W19 + .byte 42*mus_bijyutu_mvl/mxv + .byte N44 , En2 + .byte W06 + .byte VOL , 52*mus_bijyutu_mvl/mxv + .byte W05 + .byte 63*mus_bijyutu_mvl/mxv + .byte W06 + .byte 68*mus_bijyutu_mvl/mxv + .byte W06 + .byte 77*mus_bijyutu_mvl/mxv + .byte W06 + .byte 80*mus_bijyutu_mvl/mxv + .byte W19 + .byte 42*mus_bijyutu_mvl/mxv + .byte N48 , Bn1 + .byte W06 + .byte VOL , 52*mus_bijyutu_mvl/mxv + .byte W05 + .byte 63*mus_bijyutu_mvl/mxv + .byte W06 + .byte 68*mus_bijyutu_mvl/mxv + .byte W06 + .byte 77*mus_bijyutu_mvl/mxv + .byte W06 + .byte 80*mus_bijyutu_mvl/mxv + .byte W19 + .byte N48 , Dn2 + .byte W06 + .byte VOL , 71*mus_bijyutu_mvl/mxv + .byte W03 + .byte 65*mus_bijyutu_mvl/mxv + .byte W03 + .byte 50*mus_bijyutu_mvl/mxv + .byte W05 + .byte 60*mus_bijyutu_mvl/mxv + .byte W04 + .byte 66*mus_bijyutu_mvl/mxv + .byte W05 + .byte 73*mus_bijyutu_mvl/mxv + .byte W07 + .byte 76*mus_bijyutu_mvl/mxv + .byte W06 + .byte 80*mus_bijyutu_mvl/mxv + .byte W09 + .byte PAN , c_v+0 + .byte N12 , Cn3 , v072 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fs3 + .byte W12 +mus_bijyutu_1_002: + .byte N12 , Gn3 , v084 + .byte W12 + .byte Dn3 + .byte W12 + .byte An3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PEND + .byte N03 , Fs3 , v076 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Gn3 + .byte W03 + .byte N06 , Fs3 , v084 + .byte W06 + .byte En3 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte En4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte N03 , Fs4 , v076 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte N06 , Fs4 , v084 + .byte W06 + .byte En4 + .byte W06 + .byte N12 , Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 , v076 + .byte W12 + .byte Fs4 , v084 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte PATT + .word mus_bijyutu_1_002 + .byte N03 , Fs3 , v076 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Gn3 + .byte W03 + .byte N06 , Fs3 , v084 + .byte W06 + .byte En3 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N44 , An3 + .byte W24 + .byte W03 + .byte VOL , 74*mus_bijyutu_mvl/mxv + .byte W06 + .byte 63*mus_bijyutu_mvl/mxv + .byte W03 + .byte 44*mus_bijyutu_mvl/mxv + .byte W03 + .byte 25*mus_bijyutu_mvl/mxv + .byte W03 + .byte 15*mus_bijyutu_mvl/mxv + .byte W03 + .byte 6*mus_bijyutu_mvl/mxv + .byte W03 + .byte 55*mus_bijyutu_mvl/mxv + .byte N24 , Fs3 + .byte W03 + .byte VOL , 61*mus_bijyutu_mvl/mxv + .byte W03 + .byte 66*mus_bijyutu_mvl/mxv + .byte W03 + .byte 74*mus_bijyutu_mvl/mxv + .byte W03 + .byte 80*mus_bijyutu_mvl/mxv + .byte W12 + .byte N12 , Gn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N68 , Gn3 + .byte W18 + .byte VOL , 80*mus_bijyutu_mvl/mxv + .byte W05 + .byte 75*mus_bijyutu_mvl/mxv + .byte W06 + .byte 68*mus_bijyutu_mvl/mxv + .byte W06 + .byte 59*mus_bijyutu_mvl/mxv + .byte W06 + .byte 49*mus_bijyutu_mvl/mxv + .byte W06 + .byte 39*mus_bijyutu_mvl/mxv + .byte W06 + .byte 17*mus_bijyutu_mvl/mxv + .byte W06 + .byte 3*mus_bijyutu_mvl/mxv + .byte W13 + .byte 41*mus_bijyutu_mvl/mxv + .byte N24 , Dn3 + .byte W02 + .byte VOL , 45*mus_bijyutu_mvl/mxv + .byte W03 + .byte 50*mus_bijyutu_mvl/mxv + .byte W03 + .byte 55*mus_bijyutu_mvl/mxv + .byte W04 + .byte 60*mus_bijyutu_mvl/mxv + .byte W02 + .byte 66*mus_bijyutu_mvl/mxv + .byte W03 + .byte 74*mus_bijyutu_mvl/mxv + .byte W03 + .byte 78*mus_bijyutu_mvl/mxv + .byte W04 + .byte GOTO + .word mus_bijyutu_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_bijyutu_2: + .byte KEYSH , mus_bijyutu_key+0 + .byte LFOS , 38 + .byte XCMD , xIECV , 9 + .byte xIECL , 8 + .byte VOL , 80*mus_bijyutu_mvl/mxv + .byte W24 +mus_bijyutu_2_B1: + .byte PAN , c_v-48 + .byte VOL , 80*mus_bijyutu_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 83 + .byte VOL , 25*mus_bijyutu_mvl/mxv + .byte N96 , Dn3 , v048 + .byte W06 + .byte VOL , 34*mus_bijyutu_mvl/mxv + .byte W06 + .byte 46*mus_bijyutu_mvl/mxv + .byte W06 + .byte 54*mus_bijyutu_mvl/mxv + .byte W06 + .byte 62*mus_bijyutu_mvl/mxv + .byte W06 + .byte 69*mus_bijyutu_mvl/mxv + .byte W06 + .byte 74*mus_bijyutu_mvl/mxv + .byte W06 + .byte 77*mus_bijyutu_mvl/mxv + .byte W06 + .byte 80*mus_bijyutu_mvl/mxv + .byte W12 + .byte 74*mus_bijyutu_mvl/mxv + .byte W06 + .byte 68*mus_bijyutu_mvl/mxv + .byte W06 + .byte 62*mus_bijyutu_mvl/mxv + .byte W06 + .byte 54*mus_bijyutu_mvl/mxv + .byte W06 + .byte 46*mus_bijyutu_mvl/mxv + .byte W06 + .byte 30*mus_bijyutu_mvl/mxv + .byte W06 +mus_bijyutu_2_000: + .byte VOL , 25*mus_bijyutu_mvl/mxv + .byte N96 , Cn3 , v048 + .byte W06 + .byte VOL , 34*mus_bijyutu_mvl/mxv + .byte W06 + .byte 46*mus_bijyutu_mvl/mxv + .byte W06 + .byte 54*mus_bijyutu_mvl/mxv + .byte W06 + .byte 62*mus_bijyutu_mvl/mxv + .byte W06 + .byte 69*mus_bijyutu_mvl/mxv + .byte W06 + .byte 74*mus_bijyutu_mvl/mxv + .byte W06 + .byte 77*mus_bijyutu_mvl/mxv + .byte W06 + .byte 80*mus_bijyutu_mvl/mxv + .byte W12 + .byte 74*mus_bijyutu_mvl/mxv + .byte W06 + .byte 68*mus_bijyutu_mvl/mxv + .byte W06 + .byte 62*mus_bijyutu_mvl/mxv + .byte W06 + .byte 54*mus_bijyutu_mvl/mxv + .byte W06 + .byte 46*mus_bijyutu_mvl/mxv + .byte W06 + .byte 30*mus_bijyutu_mvl/mxv + .byte W06 + .byte PEND + .byte 25*mus_bijyutu_mvl/mxv + .byte N96 , Bn2 + .byte W06 + .byte VOL , 34*mus_bijyutu_mvl/mxv + .byte W06 + .byte 46*mus_bijyutu_mvl/mxv + .byte W06 + .byte 54*mus_bijyutu_mvl/mxv + .byte W06 + .byte 62*mus_bijyutu_mvl/mxv + .byte W06 + .byte 69*mus_bijyutu_mvl/mxv + .byte W06 + .byte 74*mus_bijyutu_mvl/mxv + .byte W06 + .byte 77*mus_bijyutu_mvl/mxv + .byte W06 + .byte 80*mus_bijyutu_mvl/mxv + .byte W12 + .byte 74*mus_bijyutu_mvl/mxv + .byte W06 + .byte 68*mus_bijyutu_mvl/mxv + .byte W06 + .byte 62*mus_bijyutu_mvl/mxv + .byte W06 + .byte 54*mus_bijyutu_mvl/mxv + .byte W06 + .byte 46*mus_bijyutu_mvl/mxv + .byte W06 + .byte 30*mus_bijyutu_mvl/mxv + .byte W06 + .byte 54*mus_bijyutu_mvl/mxv + .byte N48 , An2 + .byte W06 + .byte VOL , 62*mus_bijyutu_mvl/mxv + .byte W06 + .byte 69*mus_bijyutu_mvl/mxv + .byte W06 + .byte 74*mus_bijyutu_mvl/mxv + .byte W06 + .byte 77*mus_bijyutu_mvl/mxv + .byte W06 + .byte 80*mus_bijyutu_mvl/mxv + .byte W18 + .byte N48 , Cn3 , v056 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 80 + .byte PAN , c_v+0 + .byte XCMD , xIECV , 0 + .byte xIECL , 0 + .byte N12 , Gn4 , v032 + .byte W12 + .byte Dn4 + .byte W12 + .byte An4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N03 , Fs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte N06 , Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte N12 , Fs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte Bn4 + .byte W12 + .byte As4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Gn5 + .byte W12 + .byte N36 , Fs5 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N12 , En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 83 + .byte PAN , c_v-48 + .byte VOL , 25*mus_bijyutu_mvl/mxv + .byte XCMD , xIECV , 9 + .byte xIECL , 8 + .byte N96 , Dn3 , v048 + .byte W06 + .byte VOL , 34*mus_bijyutu_mvl/mxv + .byte W06 + .byte 46*mus_bijyutu_mvl/mxv + .byte W06 + .byte 54*mus_bijyutu_mvl/mxv + .byte W06 + .byte 62*mus_bijyutu_mvl/mxv + .byte W06 + .byte 69*mus_bijyutu_mvl/mxv + .byte W06 + .byte 74*mus_bijyutu_mvl/mxv + .byte W06 + .byte 77*mus_bijyutu_mvl/mxv + .byte W06 + .byte 80*mus_bijyutu_mvl/mxv + .byte W12 + .byte 74*mus_bijyutu_mvl/mxv + .byte W06 + .byte 68*mus_bijyutu_mvl/mxv + .byte W06 + .byte 62*mus_bijyutu_mvl/mxv + .byte W06 + .byte 54*mus_bijyutu_mvl/mxv + .byte W06 + .byte 46*mus_bijyutu_mvl/mxv + .byte W06 + .byte 30*mus_bijyutu_mvl/mxv + .byte W06 + .byte PATT + .word mus_bijyutu_2_000 + .byte VOL , 54*mus_bijyutu_mvl/mxv + .byte N48 , Bn2 , v048 + .byte W06 + .byte VOL , 62*mus_bijyutu_mvl/mxv + .byte W06 + .byte 69*mus_bijyutu_mvl/mxv + .byte W06 + .byte 74*mus_bijyutu_mvl/mxv + .byte W06 + .byte 77*mus_bijyutu_mvl/mxv + .byte W06 + .byte 80*mus_bijyutu_mvl/mxv + .byte W18 + .byte N48 , An2 + .byte W48 + .byte N96 + .byte W12 + .byte VOL , 78*mus_bijyutu_mvl/mxv + .byte W12 + .byte 76*mus_bijyutu_mvl/mxv + .byte W05 + .byte 68*mus_bijyutu_mvl/mxv + .byte W07 + .byte 66*mus_bijyutu_mvl/mxv + .byte W05 + .byte 62*mus_bijyutu_mvl/mxv + .byte W07 + .byte 58*mus_bijyutu_mvl/mxv + .byte W05 + .byte 52*mus_bijyutu_mvl/mxv + .byte W07 + .byte 47*mus_bijyutu_mvl/mxv + .byte W05 + .byte 38*mus_bijyutu_mvl/mxv + .byte W07 + .byte 31*mus_bijyutu_mvl/mxv + .byte W05 + .byte 21*mus_bijyutu_mvl/mxv + .byte W07 + .byte 11*mus_bijyutu_mvl/mxv + .byte W05 + .byte 1*mus_bijyutu_mvl/mxv + .byte W07 + .byte W96 + .byte GOTO + .word mus_bijyutu_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_bijyutu_3: + .byte KEYSH , mus_bijyutu_key+0 + .byte XCMD , xIECV , 9 + .byte xIECL , 8 + .byte LFOS , 38 + .byte VOL , 80*mus_bijyutu_mvl/mxv + .byte W24 +mus_bijyutu_3_B1: + .byte PAN , c_v+48 + .byte VOL , 80*mus_bijyutu_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 84 + .byte VOL , 25*mus_bijyutu_mvl/mxv + .byte N12 , Bn2 , v048 + .byte W06 + .byte VOL , 34*mus_bijyutu_mvl/mxv + .byte W06 + .byte VOICE , 85 + .byte VOL , 46*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 54*mus_bijyutu_mvl/mxv + .byte W06 + .byte 62*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 69*mus_bijyutu_mvl/mxv + .byte W06 + .byte 74*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 77*mus_bijyutu_mvl/mxv + .byte W06 + .byte 80*mus_bijyutu_mvl/mxv + .byte N12 + .byte W12 + .byte VOL , 74*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 68*mus_bijyutu_mvl/mxv + .byte W06 + .byte 62*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 54*mus_bijyutu_mvl/mxv + .byte W06 + .byte 46*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 30*mus_bijyutu_mvl/mxv + .byte W06 +mus_bijyutu_3_000: + .byte VOICE , 84 + .byte VOL , 25*mus_bijyutu_mvl/mxv + .byte N12 , An2 , v048 + .byte W06 + .byte VOL , 34*mus_bijyutu_mvl/mxv + .byte W06 + .byte VOICE , 85 + .byte VOL , 46*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 54*mus_bijyutu_mvl/mxv + .byte W06 + .byte 62*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 69*mus_bijyutu_mvl/mxv + .byte W06 + .byte 74*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 77*mus_bijyutu_mvl/mxv + .byte W06 + .byte 80*mus_bijyutu_mvl/mxv + .byte N12 + .byte W12 + .byte VOL , 74*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 68*mus_bijyutu_mvl/mxv + .byte W06 + .byte 62*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 54*mus_bijyutu_mvl/mxv + .byte W06 + .byte 46*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 30*mus_bijyutu_mvl/mxv + .byte W06 + .byte PEND + .byte VOICE , 84 + .byte VOL , 25*mus_bijyutu_mvl/mxv + .byte N12 , Gn2 + .byte W06 + .byte VOL , 34*mus_bijyutu_mvl/mxv + .byte W06 + .byte VOICE , 85 + .byte VOL , 46*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 54*mus_bijyutu_mvl/mxv + .byte W06 + .byte 62*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 69*mus_bijyutu_mvl/mxv + .byte W06 + .byte 74*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 77*mus_bijyutu_mvl/mxv + .byte W06 + .byte 80*mus_bijyutu_mvl/mxv + .byte N12 + .byte W12 + .byte VOL , 74*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 68*mus_bijyutu_mvl/mxv + .byte W06 + .byte 62*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 54*mus_bijyutu_mvl/mxv + .byte W06 + .byte 46*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 30*mus_bijyutu_mvl/mxv + .byte W06 + .byte VOICE , 84 + .byte VOL , 54*mus_bijyutu_mvl/mxv + .byte N12 , Fs2 + .byte W06 + .byte VOL , 62*mus_bijyutu_mvl/mxv + .byte W06 + .byte VOICE , 85 + .byte VOL , 69*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 74*mus_bijyutu_mvl/mxv + .byte W06 + .byte 77*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 80*mus_bijyutu_mvl/mxv + .byte W06 + .byte N12 + .byte W12 + .byte VOICE , 84 + .byte N12 , An2 , v056 + .byte W12 + .byte VOICE , 85 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte XCMD , xIECV , 0 + .byte xIECL , 0 + .byte W03 + .byte BEND , c_v+6 + .byte N12 , Gn4 , v020 + .byte W12 + .byte BEND , c_v+4 + .byte N12 , Dn4 + .byte W12 + .byte BEND , c_v+7 + .byte N12 , An4 + .byte W12 + .byte BEND , c_v+4 + .byte N12 , Dn4 + .byte W12 + .byte BEND , c_v+9 + .byte N12 , Bn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte BEND , c_v+6 + .byte N12 , Gn4 + .byte W09 + .byte W03 + .byte BEND , c_v+4 + .byte N03 , Fs4 + .byte W03 + .byte BEND , c_v+6 + .byte N03 , Gn4 + .byte W03 + .byte BEND , c_v+4 + .byte N03 , Fs4 + .byte W03 + .byte BEND , c_v+6 + .byte N03 , Gn4 + .byte W03 + .byte BEND , c_v+4 + .byte N06 , Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte N12 , Fs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte BEND , c_v+6 + .byte N12 , Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte BEND , c_v+4 + .byte N12 , Fs4 + .byte W09 + .byte W03 + .byte BEND , c_v+6 + .byte N12 , Gn4 + .byte W12 + .byte BEND , c_v+4 + .byte N12 , Fs4 + .byte W12 + .byte BEND , c_v+6 + .byte N12 , Gn4 + .byte W12 + .byte BEND , c_v+4 + .byte N12 , En4 + .byte W12 + .byte BEND , c_v+9 + .byte N12 , Bn4 + .byte W12 + .byte As4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Gn5 + .byte W09 + .byte W03 + .byte Fs5 + .byte W09 + .byte MOD , 4 + .byte W03 + .byte VOICE , 86 + .byte N12 + .byte W12 + .byte N12 + .byte W09 + .byte MOD , 0 + .byte W03 + .byte VOICE , 82 + .byte N12 , En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W09 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 84 + .byte PAN , c_v+49 + .byte VOL , 25*mus_bijyutu_mvl/mxv + .byte XCMD , xIECV , 9 + .byte xIECL , 8 + .byte BEND , c_v+0 + .byte N12 , Bn2 , v048 + .byte W06 + .byte VOL , 34*mus_bijyutu_mvl/mxv + .byte W06 + .byte VOICE , 85 + .byte VOL , 46*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 54*mus_bijyutu_mvl/mxv + .byte W06 + .byte 62*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 69*mus_bijyutu_mvl/mxv + .byte W06 + .byte 74*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 77*mus_bijyutu_mvl/mxv + .byte W06 + .byte 80*mus_bijyutu_mvl/mxv + .byte N12 + .byte W12 + .byte VOL , 74*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 68*mus_bijyutu_mvl/mxv + .byte W06 + .byte 62*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 54*mus_bijyutu_mvl/mxv + .byte W06 + .byte 46*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 30*mus_bijyutu_mvl/mxv + .byte W06 + .byte PATT + .word mus_bijyutu_3_000 + .byte VOICE , 84 + .byte VOL , 54*mus_bijyutu_mvl/mxv + .byte N12 , Gn2 , v048 + .byte W06 + .byte VOL , 62*mus_bijyutu_mvl/mxv + .byte W06 + .byte VOICE , 85 + .byte VOL , 69*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 74*mus_bijyutu_mvl/mxv + .byte W06 + .byte 77*mus_bijyutu_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 80*mus_bijyutu_mvl/mxv + .byte W06 + .byte N12 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte VOICE , 85 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 84 + .byte N12 , Fs2 + .byte W12 + .byte VOICE , 85 + .byte VOL , 78*mus_bijyutu_mvl/mxv + .byte N12 + .byte W12 + .byte VOL , 76*mus_bijyutu_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 68*mus_bijyutu_mvl/mxv + .byte W07 + .byte 66*mus_bijyutu_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 62*mus_bijyutu_mvl/mxv + .byte W07 + .byte 58*mus_bijyutu_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 52*mus_bijyutu_mvl/mxv + .byte W07 + .byte 47*mus_bijyutu_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 38*mus_bijyutu_mvl/mxv + .byte W07 + .byte 31*mus_bijyutu_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 21*mus_bijyutu_mvl/mxv + .byte W07 + .byte 11*mus_bijyutu_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 1*mus_bijyutu_mvl/mxv + .byte W07 + .byte W96 + .byte GOTO + .word mus_bijyutu_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_bijyutu_4: + .byte KEYSH , mus_bijyutu_key+0 + .byte VOICE , 0 + .byte W24 +mus_bijyutu_4_B1: + .byte PAN , c_v-8 + .byte VOL , 80*mus_bijyutu_mvl/mxv + .byte N24 , Gn2 , v100 + .byte W24 + .byte N36 , Gn1 + .byte W36 + .byte N24 , Dn2 + .byte W24 + .byte N12 , Gn2 + .byte W12 +mus_bijyutu_4_000: + .byte N24 , Fs2 , v100 + .byte W24 + .byte N36 , Fs1 + .byte W36 + .byte N24 , Fs2 + .byte W24 + .byte N12 , Cn2 + .byte W12 + .byte PEND +mus_bijyutu_4_001: + .byte N24 , En2 , v100 + .byte W24 + .byte N36 , En1 + .byte W36 + .byte N12 , Bn1 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PEND +mus_bijyutu_4_002: + .byte N24 , Dn3 , v100 + .byte W24 + .byte N36 , Dn1 + .byte W36 + .byte N24 , Dn2 + .byte W24 + .byte N12 , An2 + .byte W12 + .byte PEND +mus_bijyutu_4_003: + .byte N24 , Gn2 , v100 + .byte W24 + .byte N36 , Gn1 + .byte W36 + .byte N24 , Dn2 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_bijyutu_4_000 + .byte PATT + .word mus_bijyutu_4_001 + .byte N24 , Dn2 , v100 + .byte W24 + .byte N36 , Dn1 + .byte W36 + .byte N24 , Dn2 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N12 , Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N06 , En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W12 + .byte Cs4 + .byte W18 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Dn4 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N12 , An3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte N06 , An2 , v084 + .byte W06 + .byte Dn3 + .byte W06 + .byte N12 , Gn3 , v100 + .byte W12 + .byte Dn3 + .byte W12 + .byte An3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N03 , Fs3 + .byte W03 + .byte Gn3 , v088 + .byte W03 + .byte Fs3 , v100 + .byte W03 + .byte Gn3 , v088 + .byte W03 + .byte N06 , Fs3 , v100 + .byte W06 + .byte En3 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Fs3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte En3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Bn3 + .byte W06 + .byte En3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Bn3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte N36 , Fs4 + .byte W36 + .byte N12 , En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte PATT + .word mus_bijyutu_4_003 + .byte PATT + .word mus_bijyutu_4_000 + .byte PATT + .word mus_bijyutu_4_001 + .byte PATT + .word mus_bijyutu_4_002 + .byte PATT + .word mus_bijyutu_4_003 + .byte PATT + .word mus_bijyutu_4_000 + .byte N24 , En2 , v100 + .byte W24 + .byte En1 + .byte W24 + .byte N12 , Dn2 + .byte W12 + .byte N24 + .byte W24 + .byte N12 , Gn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte N44 + .byte W21 + .byte VOL , 67*mus_bijyutu_mvl/mxv + .byte W06 + .byte 57*mus_bijyutu_mvl/mxv + .byte W03 + .byte 45*mus_bijyutu_mvl/mxv + .byte W03 + .byte 39*mus_bijyutu_mvl/mxv + .byte W03 + .byte 21*mus_bijyutu_mvl/mxv + .byte W03 + .byte 1*mus_bijyutu_mvl/mxv + .byte W09 + .byte 80*mus_bijyutu_mvl/mxv + .byte N48 , Bn2 + .byte W48 + .byte Gn1 + .byte W48 + .byte GOTO + .word mus_bijyutu_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_bijyutu_5: + .byte KEYSH , mus_bijyutu_key+0 + .byte VOICE , 0 + .byte W24 +mus_bijyutu_5_B1: + .byte PAN , c_v+8 + .byte VOL , 80*mus_bijyutu_mvl/mxv + .byte N48 , Bn2 , v100 + .byte W60 + .byte N12 , Gn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Bn2 + .byte W12 +mus_bijyutu_5_000: + .byte N48 , An2 , v100 + .byte W48 + .byte N12 , Cn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte Fs2 + .byte W12 + .byte PEND +mus_bijyutu_5_001: + .byte N48 , Gn2 , v100 + .byte W48 + .byte N12 , Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PEND +mus_bijyutu_5_002: + .byte N48 , An3 , v100 + .byte W48 + .byte N24 , Cn3 + .byte W24 + .byte N12 , Fs2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PEND +mus_bijyutu_5_003: + .byte N48 , Bn2 , v100 + .byte W60 + .byte N12 , Gn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_bijyutu_5_000 + .byte PATT + .word mus_bijyutu_5_001 + .byte N48 , An3 , v100 + .byte W48 + .byte N24 , Fs3 + .byte W24 + .byte N12 , An2 + .byte W12 + .byte Fs3 + .byte W12 + .byte N24 , Gn2 + .byte W24 + .byte N36 , Gn1 + .byte W36 + .byte N12 , Dn2 + .byte W12 + .byte En2 + .byte W12 + .byte Fs2 + .byte W12 + .byte N24 , Gn2 + .byte W24 + .byte N36 , Gn1 + .byte W36 + .byte N12 , Gn2 + .byte W12 + .byte An2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte N06 , En2 + .byte W12 + .byte N24 + .byte W24 + .byte N12 , Cs3 + .byte W12 + .byte N06 , En2 + .byte W12 + .byte N24 , Cs2 + .byte W24 + .byte N36 , Fs3 + .byte W48 + .byte N12 , An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W15 + .byte N06 , Cn3 , v084 + .byte W06 + .byte N03 , Fs3 + .byte W03 + .byte N12 , Bn2 , v100 + .byte W12 + .byte Gn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N36 , Gn2 + .byte W36 + .byte N12 , Bn1 + .byte W12 + .byte N36 , Gn2 + .byte W36 + .byte N12 , En2 + .byte W12 + .byte N06 , Dn3 + .byte W06 + .byte An2 + .byte W06 + .byte Fs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte PATT + .word mus_bijyutu_5_003 + .byte PATT + .word mus_bijyutu_5_000 + .byte PATT + .word mus_bijyutu_5_001 + .byte PATT + .word mus_bijyutu_5_002 + .byte PATT + .word mus_bijyutu_5_003 + .byte PATT + .word mus_bijyutu_5_000 + .byte N48 , Gn2 , v100 + .byte W48 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte W06 + .byte N12 , Fs1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte N09 , Cn3 + .byte W09 + .byte N42 , Dn3 + .byte W18 + .byte VOL , 67*mus_bijyutu_mvl/mxv + .byte W06 + .byte 57*mus_bijyutu_mvl/mxv + .byte W03 + .byte 45*mus_bijyutu_mvl/mxv + .byte W03 + .byte 39*mus_bijyutu_mvl/mxv + .byte W03 + .byte 21*mus_bijyutu_mvl/mxv + .byte W03 + .byte 1*mus_bijyutu_mvl/mxv + .byte W09 + .byte 80*mus_bijyutu_mvl/mxv + .byte N48 + .byte W48 + .byte Bn2 + .byte W48 + .byte GOTO + .word mus_bijyutu_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_bijyutu_6: + .byte KEYSH , mus_bijyutu_key+0 + .byte W24 +mus_bijyutu_6_B1: + .byte VOL , 80*mus_bijyutu_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 0 + .byte N12 , En3 , v096 + .byte W48 + .byte N12 + .byte W48 + .byte PAN , c_v+8 + .byte N24 , Dn2 + .byte W24 + .byte Cn2 + .byte W24 + .byte Bn1 + .byte W24 + .byte An1 + .byte W24 + .byte VOICE , 58 + .byte VOL , 80*mus_bijyutu_mvl/mxv + .byte PAN , c_v+16 + .byte N44 , Gn1 , v112 + .byte W24 + .byte VOL , 76*mus_bijyutu_mvl/mxv + .byte W05 + .byte 65*mus_bijyutu_mvl/mxv + .byte W07 + .byte 37*mus_bijyutu_mvl/mxv + .byte W05 + .byte 17*mus_bijyutu_mvl/mxv + .byte W07 + .byte 80*mus_bijyutu_mvl/mxv + .byte N44 , Dn1 + .byte W24 + .byte VOL , 76*mus_bijyutu_mvl/mxv + .byte W05 + .byte 65*mus_bijyutu_mvl/mxv + .byte W07 + .byte 37*mus_bijyutu_mvl/mxv + .byte W05 + .byte 17*mus_bijyutu_mvl/mxv + .byte W07 + .byte 80*mus_bijyutu_mvl/mxv + .byte N44 , Fs1 + .byte W24 + .byte VOL , 76*mus_bijyutu_mvl/mxv + .byte W05 + .byte 65*mus_bijyutu_mvl/mxv + .byte W07 + .byte 37*mus_bijyutu_mvl/mxv + .byte W05 + .byte 17*mus_bijyutu_mvl/mxv + .byte W07 + .byte 80*mus_bijyutu_mvl/mxv + .byte N44 , Cn1 + .byte W24 + .byte VOL , 76*mus_bijyutu_mvl/mxv + .byte W05 + .byte 65*mus_bijyutu_mvl/mxv + .byte W07 + .byte 37*mus_bijyutu_mvl/mxv + .byte W05 + .byte 17*mus_bijyutu_mvl/mxv + .byte W07 + .byte 80*mus_bijyutu_mvl/mxv + .byte N44 , En1 + .byte W24 + .byte VOL , 76*mus_bijyutu_mvl/mxv + .byte W05 + .byte 65*mus_bijyutu_mvl/mxv + .byte W07 + .byte 37*mus_bijyutu_mvl/mxv + .byte W05 + .byte 17*mus_bijyutu_mvl/mxv + .byte W07 + .byte 80*mus_bijyutu_mvl/mxv + .byte N44 , Bn0 + .byte W24 + .byte VOL , 76*mus_bijyutu_mvl/mxv + .byte W05 + .byte 65*mus_bijyutu_mvl/mxv + .byte W07 + .byte 37*mus_bijyutu_mvl/mxv + .byte W05 + .byte 17*mus_bijyutu_mvl/mxv + .byte W07 + .byte 80*mus_bijyutu_mvl/mxv + .byte N96 , Dn1 + .byte W52 + .byte W01 + .byte VOL , 74*mus_bijyutu_mvl/mxv + .byte W06 + .byte 69*mus_bijyutu_mvl/mxv + .byte W06 + .byte 60*mus_bijyutu_mvl/mxv + .byte W06 + .byte 48*mus_bijyutu_mvl/mxv + .byte W06 + .byte 39*mus_bijyutu_mvl/mxv + .byte W06 + .byte 20*mus_bijyutu_mvl/mxv + .byte W06 + .byte 3*mus_bijyutu_mvl/mxv + .byte W07 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte 56*mus_bijyutu_mvl/mxv + .byte PAN , c_v+0 + .byte N24 , Fs1 + .byte W06 + .byte VOL , 69*mus_bijyutu_mvl/mxv + .byte W06 + .byte 80*mus_bijyutu_mvl/mxv + .byte W12 + .byte N72 , Gn1 + .byte W06 + .byte VOL , 73*mus_bijyutu_mvl/mxv + .byte W06 + .byte 60*mus_bijyutu_mvl/mxv + .byte W02 + .byte 53*mus_bijyutu_mvl/mxv + .byte W03 + .byte 52*mus_bijyutu_mvl/mxv + .byte W06 + .byte 53*mus_bijyutu_mvl/mxv + .byte W06 + .byte 54*mus_bijyutu_mvl/mxv + .byte W03 + .byte 55*mus_bijyutu_mvl/mxv + .byte W03 + .byte 61*mus_bijyutu_mvl/mxv + .byte W03 + .byte 70*mus_bijyutu_mvl/mxv + .byte W03 + .byte 80*mus_bijyutu_mvl/mxv + .byte W13 + .byte 76*mus_bijyutu_mvl/mxv + .byte W02 + .byte 74*mus_bijyutu_mvl/mxv + .byte W03 + .byte 64*mus_bijyutu_mvl/mxv + .byte W03 + .byte 52*mus_bijyutu_mvl/mxv + .byte W03 + .byte 37*mus_bijyutu_mvl/mxv + .byte W03 + .byte 26*mus_bijyutu_mvl/mxv + .byte W03 + .byte 17*mus_bijyutu_mvl/mxv + .byte W03 + .byte 14*mus_bijyutu_mvl/mxv + .byte W10 + .byte 80*mus_bijyutu_mvl/mxv + .byte N12 + .byte W12 + .byte N72 , Fs1 + .byte W06 + .byte VOL , 73*mus_bijyutu_mvl/mxv + .byte W06 + .byte 60*mus_bijyutu_mvl/mxv + .byte W02 + .byte 53*mus_bijyutu_mvl/mxv + .byte W03 + .byte 52*mus_bijyutu_mvl/mxv + .byte W06 + .byte 53*mus_bijyutu_mvl/mxv + .byte W06 + .byte 54*mus_bijyutu_mvl/mxv + .byte W03 + .byte 55*mus_bijyutu_mvl/mxv + .byte W03 + .byte 61*mus_bijyutu_mvl/mxv + .byte W03 + .byte 70*mus_bijyutu_mvl/mxv + .byte W03 + .byte 80*mus_bijyutu_mvl/mxv + .byte W13 + .byte 76*mus_bijyutu_mvl/mxv + .byte W02 + .byte 74*mus_bijyutu_mvl/mxv + .byte W03 + .byte 64*mus_bijyutu_mvl/mxv + .byte W03 + .byte 52*mus_bijyutu_mvl/mxv + .byte W03 + .byte 37*mus_bijyutu_mvl/mxv + .byte W03 + .byte 26*mus_bijyutu_mvl/mxv + .byte W03 + .byte 17*mus_bijyutu_mvl/mxv + .byte W03 + .byte 14*mus_bijyutu_mvl/mxv + .byte W10 + .byte 80*mus_bijyutu_mvl/mxv + .byte N12 + .byte W12 + .byte N24 , En1 + .byte W12 + .byte VOL , 68*mus_bijyutu_mvl/mxv + .byte W03 + .byte 58*mus_bijyutu_mvl/mxv + .byte W03 + .byte 42*mus_bijyutu_mvl/mxv + .byte W03 + .byte 23*mus_bijyutu_mvl/mxv + .byte W15 + .byte 80*mus_bijyutu_mvl/mxv + .byte N12 , Bn1 + .byte W12 + .byte N32 , An1 + .byte W18 + .byte VOL , 74*mus_bijyutu_mvl/mxv + .byte W06 + .byte 52*mus_bijyutu_mvl/mxv + .byte W06 + .byte 31*mus_bijyutu_mvl/mxv + .byte W06 + .byte 80*mus_bijyutu_mvl/mxv + .byte N12 , En1 + .byte W12 + .byte N96 , Dn1 + .byte W36 + .byte VOL , 80*mus_bijyutu_mvl/mxv + .byte W05 + .byte 75*mus_bijyutu_mvl/mxv + .byte W06 + .byte 68*mus_bijyutu_mvl/mxv + .byte W06 + .byte 63*mus_bijyutu_mvl/mxv + .byte W06 + .byte 57*mus_bijyutu_mvl/mxv + .byte W06 + .byte 45*mus_bijyutu_mvl/mxv + .byte W06 + .byte 32*mus_bijyutu_mvl/mxv + .byte W06 + .byte 10*mus_bijyutu_mvl/mxv + .byte W06 + .byte 7*mus_bijyutu_mvl/mxv + .byte W13 + .byte W96 + .byte GOTO + .word mus_bijyutu_6_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_bijyutu: + .byte 6 @ NumTrks + .byte 0 @ NumBlks + .byte mus_bijyutu_pri @ Priority + .byte mus_bijyutu_rev @ Reverb. + + .word mus_bijyutu_grp + + .word mus_bijyutu_1 + .word mus_bijyutu_2 + .word mus_bijyutu_3 + .word mus_bijyutu_4 + .word mus_bijyutu_5 + .word mus_bijyutu_6 + + .end diff --git a/sound/songs/mus_boy_sup.s b/sound/songs/mus_boy_sup.s new file mode 100644 index 0000000000..27ec790151 --- /dev/null +++ b/sound/songs/mus_boy_sup.s @@ -0,0 +1,2591 @@ + .include "MPlayDef.s" + + .equ mus_boy_sup_grp, voicegroup_8688874 + .equ mus_boy_sup_pri, 0 + .equ mus_boy_sup_rev, reverb_set+50 + .equ mus_boy_sup_mvl, 127 + .equ mus_boy_sup_key, 0 + .equ mus_boy_sup_tbs, 1 + .equ mus_boy_sup_exg, 0 + .equ mus_boy_sup_cmp, 1 + + .section .rodata + .global mus_boy_sup + .align 2 + +@********************** Track 1 **********************@ + +mus_boy_sup_1: + .byte KEYSH , mus_boy_sup_key+0 + .byte TEMPO , 128*mus_boy_sup_tbs/2 + .byte VOICE , 1 + .byte PAN , c_v+0 + .byte VOL , 39*mus_boy_sup_mvl/mxv + .byte LFOS , 44 + .byte W96 + .byte W68 + .byte W01 + .byte VOL , 52*mus_boy_sup_mvl/mxv + .byte W15 + .byte N06 , An3 , v112 + .byte W06 + .byte Bn3 + .byte W06 +mus_boy_sup_1_B1: + .byte VOICE , 1 + .byte VOL , 52*mus_boy_sup_mvl/mxv + .byte N06 , Cs4 , v112 + .byte W12 + .byte Dn4 + .byte W09 + .byte N03 , Fn4 , v088 + .byte W03 + .byte N06 , En4 , v112 + .byte W12 + .byte N24 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N03 , Cn4 , v088 + .byte W03 + .byte N42 , Bn3 , v112 + .byte W42 + .byte N03 , Cn4 + .byte W03 + .byte N12 , Cs4 + .byte W12 + .byte N03 , Cn4 , v080 + .byte W03 + .byte Bn3 , v064 + .byte W03 + .byte As3 , v044 + .byte W03 + .byte An3 , v040 + .byte W03 + .byte Fs3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte En3 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N12 , Cs4 + .byte W24 + .byte N06 , Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N24 , Bn3 + .byte W24 + .byte N06 , Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte N03 , Gs4 , v088 + .byte W03 + .byte N15 , An4 , v112 + .byte W15 + .byte N03 , Fs4 , v088 + .byte W03 + .byte En4 , v068 + .byte W03 + .byte N06 , Cs4 , v112 + .byte W12 + .byte Dn4 + .byte W06 + .byte N18 , Cs4 + .byte W18 + .byte N30 , Bn3 + .byte W30 + .byte N06 , En3 + .byte W06 + .byte N03 , Gn3 , v056 + .byte W03 + .byte An3 , v072 + .byte W03 + .byte Bn3 , v080 + .byte W03 + .byte Dn4 , v084 + .byte W03 + .byte N24 , En4 , v112 + .byte W24 + .byte N06 , Dn4 + .byte W12 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W24 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W24 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N24 , Bn3 + .byte W12 + .byte VOICE , 17 + .byte W12 + .byte VOL , 18*mus_boy_sup_mvl/mxv + .byte N36 , Cs5 + .byte W02 + .byte VOL , 19*mus_boy_sup_mvl/mxv + .byte W03 + .byte 21*mus_boy_sup_mvl/mxv + .byte W03 + .byte 22*mus_boy_sup_mvl/mxv + .byte W04 + .byte 27*mus_boy_sup_mvl/mxv + .byte W02 + .byte 31*mus_boy_sup_mvl/mxv + .byte W03 + .byte 38*mus_boy_sup_mvl/mxv + .byte W03 + .byte 42*mus_boy_sup_mvl/mxv + .byte W04 + .byte 47*mus_boy_sup_mvl/mxv + .byte W02 + .byte 51*mus_boy_sup_mvl/mxv + .byte W03 + .byte 53*mus_boy_sup_mvl/mxv + .byte W07 + .byte 39*mus_boy_sup_mvl/mxv + .byte N06 , Fs4 + .byte W06 + .byte N06 + .byte W06 + .byte An4 + .byte W12 + .byte Fs4 + .byte W12 + .byte An4 + .byte W06 + .byte N18 , Bn4 + .byte W18 + .byte VOL , 18*mus_boy_sup_mvl/mxv + .byte N36 , Cs5 + .byte W02 + .byte VOL , 19*mus_boy_sup_mvl/mxv + .byte W03 + .byte 21*mus_boy_sup_mvl/mxv + .byte W03 + .byte 22*mus_boy_sup_mvl/mxv + .byte W04 + .byte 27*mus_boy_sup_mvl/mxv + .byte W02 + .byte 31*mus_boy_sup_mvl/mxv + .byte W03 + .byte 38*mus_boy_sup_mvl/mxv + .byte W03 + .byte 42*mus_boy_sup_mvl/mxv + .byte W04 + .byte 47*mus_boy_sup_mvl/mxv + .byte W02 + .byte 51*mus_boy_sup_mvl/mxv + .byte W03 + .byte 53*mus_boy_sup_mvl/mxv + .byte W13 + .byte 39*mus_boy_sup_mvl/mxv + .byte N06 , En4 + .byte W06 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Dn5 + .byte W06 + .byte N18 , Cs5 + .byte W18 + .byte N06 , En5 + .byte W06 + .byte N03 , Ds5 , v064 + .byte W03 + .byte Dn5 + .byte W03 + .byte Cs5 , v060 + .byte W03 + .byte Cn5 , v056 + .byte W03 + .byte Bn4 , v052 + .byte W30 + .byte N12 , En5 , v112 + .byte W12 + .byte N03 , Dn5 + .byte W12 + .byte N06 , Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N30 , Gn4 + .byte W30 + .byte N06 , En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte N12 , En5 + .byte W12 + .byte N06 , Fs5 + .byte W12 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte N36 , Cs5 + .byte W36 + .byte N06 , Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte N24 , An4 + .byte W24 + .byte N18 , Bn4 + .byte W24 + .byte N06 , Cs5 + .byte W12 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte N24 , An4 + .byte W24 + .byte N06 , Bn4 + .byte W06 + .byte N06 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte N06 + .byte W06 + .byte Bn4 + .byte W06 + .byte N03 , Cs5 + .byte W03 + .byte Dn5 + .byte W03 + .byte En5 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Dn5 , v072 + .byte W03 + .byte Cn5 , v064 + .byte W03 + .byte Bn4 , v056 + .byte W03 + .byte An4 + .byte W03 + .byte VOL , 28*mus_boy_sup_mvl/mxv + .byte W03 + .byte VOICE , 17 + .byte N03 , Ds5 , v076 + .byte W03 + .byte N12 , En5 + .byte W15 + .byte N03 , Ds5 + .byte W03 + .byte N15 , En5 + .byte W15 + .byte N03 , Ds5 + .byte W03 + .byte N09 , En5 + .byte W09 + .byte N03 , An5 + .byte W03 + .byte N24 , Gs5 + .byte W24 + .byte N06 , Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte N30 , En5 + .byte W24 + .byte VOICE , 24 + .byte W06 + .byte N03 , Dn5 , v052 + .byte W03 + .byte Cs5 + .byte W03 + .byte N06 , An4 , v112 + .byte W06 + .byte Bn4 + .byte W06 + .byte GOTO + .word mus_boy_sup_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_boy_sup_2: + .byte KEYSH , mus_boy_sup_key+0 + .byte VOICE , 126 + .byte PAN , c_v-63 + .byte VOL , 35*mus_boy_sup_mvl/mxv + .byte W60 + .byte N12 , Gn4 , v112 + .byte W36 +mus_boy_sup_2_000: + .byte W12 + .byte N12 , Gn4 , v064 + .byte W24 + .byte Gn4 , v080 + .byte W24 + .byte Gn4 , v112 + .byte W36 + .byte PEND +mus_boy_sup_2_B1: +mus_boy_sup_2_001: + .byte W24 + .byte N06 , Gn4 , v112 + .byte W60 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_boy_sup_2_001 + .byte PATT + .word mus_boy_sup_2_001 + .byte PATT + .word mus_boy_sup_2_001 + .byte PATT + .word mus_boy_sup_2_001 + .byte PATT + .word mus_boy_sup_2_001 + .byte PATT + .word mus_boy_sup_2_001 + .byte PATT + .word mus_boy_sup_2_001 +mus_boy_sup_2_002: + .byte W12 + .byte N06 , Gn4 , v112 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_boy_sup_2_002 + .byte PATT + .word mus_boy_sup_2_002 + .byte PATT + .word mus_boy_sup_2_002 + .byte PATT + .word mus_boy_sup_2_002 + .byte PATT + .word mus_boy_sup_2_002 + .byte W60 + .byte N12 , Gn4 , v112 + .byte W36 + .byte PATT + .word mus_boy_sup_2_000 + .byte GOTO + .word mus_boy_sup_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_boy_sup_3: + .byte KEYSH , mus_boy_sup_key+0 + .byte VOICE , 38 + .byte PAN , c_v+0 + .byte VOL , 78*mus_boy_sup_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte BEND , c_v+0 + .byte N03 , Bn1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte Bn0 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , Bn1 + .byte W06 + .byte BEND , c_v-10 + .byte W03 + .byte c_v-23 + .byte W03 + .byte c_v-40 + .byte W03 + .byte c_v-60 + .byte W09 + .byte c_v+0 + .byte N06 , Bn0 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En2 + .byte W06 + .byte Dn2 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , En2 + .byte W06 + .byte N06 , En1 + .byte W12 + .byte N03 , En2 + .byte W06 + .byte En1 + .byte W06 + .byte N24 , En2 + .byte W03 + .byte BEND , c_v-5 + .byte W09 + .byte c_v+0 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte BEND , c_v-4 + .byte N24 , En2 + .byte W06 + .byte BEND , c_v+0 + .byte W18 +mus_boy_sup_3_B1: + .byte N18 , An0 , v112 + .byte W18 + .byte N03 + .byte W06 + .byte Gs1 + .byte W06 + .byte N06 , An0 + .byte W12 + .byte N03 , Gs0 + .byte W06 + .byte N36 , An0 + .byte W06 + .byte BEND , c_v+14 + .byte W06 + .byte c_v+0 + .byte W24 + .byte N03 , Gs1 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte N18 , An0 + .byte W18 + .byte N03 + .byte W06 + .byte An1 + .byte W06 + .byte N06 , An0 + .byte W18 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N03 , Gn1 + .byte W06 + .byte En1 + .byte W06 + .byte N12 , Cs1 + .byte W12 + .byte N18 , Dn1 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Dn2 + .byte W12 + .byte Dn1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte Gs1 + .byte W06 + .byte N06 , Dn1 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte N03 , En2 + .byte W12 + .byte N12 , Fs1 + .byte W12 + .byte N03 , Fs2 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N03 , Gn2 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte Fs2 + .byte W06 + .byte N06 , Bn0 + .byte W06 + .byte N18 , An0 + .byte W18 + .byte N03 + .byte W06 + .byte N06 , Gs1 + .byte W06 + .byte An0 + .byte W12 + .byte N03 , Gs0 + .byte W06 + .byte N36 , An0 + .byte W06 + .byte BEND , c_v+16 + .byte W06 + .byte c_v+0 + .byte W24 + .byte N06 , Gs1 + .byte W06 + .byte En1 + .byte W06 + .byte N18 , An0 + .byte W18 + .byte N03 + .byte W06 + .byte N06 , An1 + .byte W06 + .byte An0 + .byte W18 + .byte N12 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte Gn1 + .byte W12 + .byte En1 + .byte W06 + .byte N18 , Dn1 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Dn2 + .byte W12 + .byte Dn1 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , Dn1 + .byte W06 + .byte Ds1 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte N03 , En2 + .byte W12 + .byte N12 , Fs1 + .byte W12 + .byte N03 , Fs2 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N03 , Gn2 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte Ds1 + .byte W06 + .byte BEND , c_v+0 + .byte N12 , Dn1 + .byte W18 + .byte N03 + .byte W18 + .byte N06 , An0 , v092 + .byte W06 + .byte Cs1 + .byte W06 + .byte N03 , Dn2 , v112 + .byte W12 + .byte N03 + .byte W12 + .byte An1 + .byte W06 + .byte N12 , Dn1 + .byte W12 + .byte N06 , Cs1 + .byte W06 + .byte N12 , Dn1 + .byte W18 + .byte N03 + .byte W18 + .byte N06 , An0 + .byte W12 + .byte Dn1 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte Dn1 + .byte W06 + .byte N06 + .byte W06 + .byte N18 , Dn2 + .byte W05 + .byte BEND , c_v-16 + .byte W03 + .byte c_v-32 + .byte W04 + .byte c_v-52 + .byte W02 + .byte c_v-63 + .byte W04 + .byte c_v+0 + .byte N06 , Cn1 + .byte W06 + .byte N12 , Cs1 + .byte W18 + .byte N03 + .byte W18 + .byte N06 , An0 , v092 + .byte W06 + .byte Bn0 , v112 + .byte W06 + .byte N03 , Gs1 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte N12 , Cs1 + .byte W18 + .byte N03 + .byte W18 + .byte N06 , Gn0 + .byte W06 + .byte Bn0 + .byte W06 + .byte N12 , Cs1 + .byte W18 + .byte N03 + .byte W18 + .byte N12 , Cn1 + .byte W12 + .byte Bn0 + .byte W18 + .byte N03 + .byte W18 + .byte N06 , Fs0 + .byte W06 + .byte An0 + .byte W06 + .byte Bn0 + .byte W06 + .byte N03 , Fs1 + .byte W06 + .byte Dn1 + .byte W06 + .byte N06 , Bn0 + .byte W06 + .byte Fs0 + .byte W12 + .byte N12 , As0 + .byte W12 + .byte Bn0 + .byte W18 + .byte N03 + .byte W18 + .byte N06 , En0 + .byte W06 + .byte Gs0 + .byte W06 + .byte N12 , Bn0 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , Gs1 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N03 , Bn1 + .byte W06 + .byte N03 + .byte W06 + .byte Bn0 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , Bn1 + .byte W24 + .byte N06 , Bn0 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En2 + .byte W06 + .byte Dn2 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , En2 + .byte W06 + .byte N06 , En1 + .byte W12 + .byte N03 , En2 + .byte W12 + .byte N24 + .byte W03 + .byte BEND , c_v-5 + .byte W09 + .byte c_v+0 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte BEND , c_v-4 + .byte N24 , En2 + .byte W06 + .byte BEND , c_v+0 + .byte W18 + .byte GOTO + .word mus_boy_sup_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_boy_sup_4: + .byte KEYSH , mus_boy_sup_key+0 + .byte VOICE , 56 + .byte VOL , 70*mus_boy_sup_mvl/mxv + .byte PAN , c_v+0 + .byte LFOS , 44 + .byte N03 , Cs4 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Bn3 , v060 + .byte W03 + .byte An3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W06 + .byte Cn4 , v112 + .byte W03 + .byte N06 , Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte W12 + .byte An3 + .byte W24 + .byte As3 + .byte W24 + .byte Bn3 + .byte W12 + .byte En4 , v120 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W03 + .byte Cs4 + .byte W03 + .byte Bn3 + .byte W12 +mus_boy_sup_4_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+32 + .byte VOL , 52*mus_boy_sup_mvl/mxv + .byte N03 , Cs4 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Bn3 , v064 + .byte W03 + .byte An3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W09 + .byte Cs4 , v112 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W06 + .byte N12 , Bn3 + .byte W18 + .byte VOL , 52*mus_boy_sup_mvl/mxv + .byte N03 , Cs4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Bn3 , v064 + .byte W03 + .byte An3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W09 + .byte Cs4 , v112 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W03 + .byte Cs4 + .byte W03 + .byte Bn3 + .byte W03 + .byte An3 + .byte W09 + .byte N12 , En4 , v112 + .byte W12 + .byte N03 , Dn4 + .byte W12 + .byte N12 , Cs4 + .byte W12 + .byte N03 , Bn3 + .byte W12 + .byte VOL , 52*mus_boy_sup_mvl/mxv + .byte N06 , Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte N06 , Fs4 + .byte W12 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N36 , An3 + .byte W36 + .byte N06 , Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte N24 , Fs3 + .byte W24 + .byte N18 , Gs3 + .byte W18 + .byte N06 , An3 + .byte W06 + .byte N36 , Bn3 + .byte W36 + .byte N06 , An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N24 , Fs3 + .byte W24 + .byte N06 , An3 + .byte W12 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N03 , Cs4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Bn3 , v060 + .byte W03 + .byte An3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W06 + .byte Cn4 , v112 + .byte W03 + .byte N06 , Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte W12 + .byte An3 + .byte W24 + .byte As3 + .byte W24 + .byte Bn3 + .byte W12 + .byte En4 + .byte W06 + .byte N03 , Dn4 , v080 + .byte W03 + .byte Cn4 , v072 + .byte W03 + .byte Bn3 , v056 + .byte W12 + .byte GOTO + .word mus_boy_sup_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_boy_sup_5: + .byte KEYSH , mus_boy_sup_key+0 + .byte VOICE , 56 + .byte VOL , 66*mus_boy_sup_mvl/mxv + .byte PAN , c_v-26 + .byte LFOS , 44 + .byte N03 , Fs3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En3 , v060 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Bn2 + .byte W06 + .byte Fn3 , v112 + .byte W03 + .byte N06 , Fs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte En3 + .byte W12 + .byte W12 + .byte Fs3 + .byte W24 + .byte Gn3 + .byte W24 + .byte Gs3 + .byte W12 + .byte Bn3 + .byte W06 + .byte N03 , An3 , v052 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W12 +mus_boy_sup_5_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_boy_sup_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_boy_sup_6: + .byte KEYSH , mus_boy_sup_key+0 + .byte VOICE , 127 + .byte PAN , c_v-63 + .byte VOL , 36*mus_boy_sup_mvl/mxv + .byte N03 , En4 , v112 + .byte W12 + .byte En4 , v064 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte En4 , v112 + .byte W06 + .byte En4 , v080 + .byte W18 + .byte En4 , v064 + .byte W12 + .byte N03 + .byte W12 +mus_boy_sup_6_000: + .byte N03 , En4 , v112 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v112 + .byte W06 + .byte En4 , v080 + .byte W42 + .byte PEND +mus_boy_sup_6_B1: +mus_boy_sup_6_001: + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W18 + .byte PEND + .byte PATT + .word mus_boy_sup_6_001 + .byte PATT + .word mus_boy_sup_6_001 + .byte PATT + .word mus_boy_sup_6_001 + .byte PATT + .word mus_boy_sup_6_001 + .byte PATT + .word mus_boy_sup_6_001 + .byte PATT + .word mus_boy_sup_6_001 + .byte PATT + .word mus_boy_sup_6_001 +mus_boy_sup_6_002: + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W12 + .byte N03 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W18 + .byte En4 , v060 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W18 + .byte PEND + .byte PATT + .word mus_boy_sup_6_002 + .byte PATT + .word mus_boy_sup_6_002 + .byte PATT + .word mus_boy_sup_6_002 + .byte PATT + .word mus_boy_sup_6_002 + .byte PATT + .word mus_boy_sup_6_002 + .byte N03 , En4 , v112 + .byte W12 + .byte En4 , v064 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte En4 , v112 + .byte W06 + .byte En4 , v080 + .byte W18 + .byte En4 , v064 + .byte W12 + .byte N03 + .byte W12 + .byte PATT + .word mus_boy_sup_6_000 + .byte GOTO + .word mus_boy_sup_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_boy_sup_7: + .byte KEYSH , mus_boy_sup_key+0 + .byte VOICE , 80 + .byte PAN , c_v-62 + .byte VOL , 39*mus_boy_sup_mvl/mxv + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte N03 , Fs2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte Bn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs2 + .byte W24 + .byte Dn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gs2 + .byte W12 +mus_boy_sup_7_000: + .byte W12 + .byte N06 , An2 , v112 + .byte W24 + .byte As2 + .byte W24 + .byte Bn2 + .byte W12 + .byte En3 + .byte W24 + .byte PEND +mus_boy_sup_7_B1: + .byte N24 , Cs3 , v112 + .byte W30 + .byte N06 + .byte W12 + .byte An2 + .byte W06 + .byte N24 , Cs3 + .byte W48 +mus_boy_sup_7_001: + .byte N30 , Cs3 , v112 + .byte W30 + .byte N03 , Dn3 , v096 + .byte W03 + .byte Ds3 + .byte W03 + .byte N21 , En3 , v112 + .byte W21 + .byte N03 , Ds3 , v100 + .byte W03 + .byte N12 , Dn3 , v112 + .byte W12 + .byte Cs3 + .byte W12 + .byte N09 , Dn3 + .byte W09 + .byte N03 , En3 , v096 + .byte W03 + .byte PEND +mus_boy_sup_7_002: + .byte N24 , Fs3 , v112 + .byte W30 + .byte N06 , Dn3 + .byte W12 + .byte Cs3 + .byte W06 + .byte N12 , Dn3 + .byte W12 + .byte N03 , As3 + .byte W03 + .byte N09 , An3 + .byte W09 + .byte N06 , Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte En3 + .byte W06 + .byte PEND + .byte N03 , Bn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte En2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Cs3 + .byte W06 + .byte An2 + .byte W06 + .byte Fs2 + .byte W06 + .byte An2 + .byte W06 + .byte Dn3 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte As2 + .byte W06 + .byte N04 , En3 + .byte W04 + .byte N02 , Bn2 + .byte W04 + .byte Gs2 + .byte W04 + .byte N06 , En2 + .byte W06 + .byte N03 , Bn2 + .byte W03 + .byte Cn3 + .byte W03 + .byte N24 , Cs3 + .byte W30 + .byte N06 + .byte W12 + .byte An2 + .byte W06 + .byte N24 , Cs3 + .byte W36 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PATT + .word mus_boy_sup_7_001 + .byte PATT + .word mus_boy_sup_7_002 + .byte N03 , Bn2 , v112 + .byte W06 + .byte Gs2 + .byte W06 + .byte En2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Cs3 + .byte W06 + .byte An2 + .byte W06 + .byte Fs2 + .byte W06 + .byte An2 + .byte W06 + .byte Dn3 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte As2 + .byte W06 + .byte N04 , En3 + .byte W04 + .byte N02 , Bn2 + .byte W04 + .byte Gs2 + .byte W04 + .byte N04 , En2 + .byte W04 + .byte N02 , Gs2 + .byte W04 + .byte Bn2 + .byte W04 + .byte VOL , 27*mus_boy_sup_mvl/mxv + .byte BEND , c_v+4 + .byte N03 , Cs4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Bn3 , v064 + .byte W03 + .byte An3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W09 + .byte Cs4 , v112 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W06 + .byte N12 , Bn3 + .byte W18 + .byte VOL , 27*mus_boy_sup_mvl/mxv + .byte N03 , Cs4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Bn3 , v064 + .byte W03 + .byte An3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W09 + .byte Cs4 , v112 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W03 + .byte Cs4 + .byte W03 + .byte Bn3 + .byte W03 + .byte An3 + .byte W09 + .byte N12 , En4 , v112 + .byte W12 + .byte N03 , Dn4 + .byte W12 + .byte N12 , Cs4 + .byte W12 + .byte N03 , Bn3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte N06 , Fs4 + .byte W12 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N36 , An3 + .byte W36 + .byte N06 , Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte N24 , Fs3 + .byte W24 + .byte N18 , Gs3 + .byte W18 + .byte N06 , An3 + .byte W06 + .byte N36 , Bn3 + .byte W36 + .byte N06 , An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N24 , Fs3 + .byte W24 + .byte N06 , An3 + .byte W12 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte VOL , 39*mus_boy_sup_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , Fs2 + .byte W06 + .byte N03 + .byte W06 + .byte Bn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs2 + .byte W24 + .byte Dn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PATT + .word mus_boy_sup_7_000 + .byte GOTO + .word mus_boy_sup_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_boy_sup_8: + .byte KEYSH , mus_boy_sup_key+0 + .byte VOICE , 81 + .byte PAN , c_v+63 + .byte VOL , 39*mus_boy_sup_mvl/mxv + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte N03 , Dn3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte Fs2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn3 + .byte W24 + .byte Fs2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte En2 + .byte W12 + .byte W12 + .byte En3 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Gs3 + .byte W24 +mus_boy_sup_8_B1: +mus_boy_sup_8_000: + .byte N24 , An3 , v112 + .byte W30 + .byte N06 + .byte W12 + .byte En3 + .byte W06 + .byte N24 , An3 + .byte W36 + .byte N06 + .byte W06 + .byte Gs3 + .byte W06 + .byte PEND +mus_boy_sup_8_001: + .byte N30 , Gn3 , v112 + .byte W30 + .byte N03 , An3 , v096 + .byte W03 + .byte As3 + .byte W03 + .byte N21 , Bn3 , v112 + .byte W21 + .byte N03 , As3 , v100 + .byte W03 + .byte N09 , An3 , v112 + .byte W09 + .byte N03 , Gs3 , v096 + .byte W03 + .byte N09 , Gn3 , v112 + .byte W09 + .byte N03 , Gs3 , v100 + .byte W03 + .byte N09 , An3 , v112 + .byte W09 + .byte N03 , Bn3 , v096 + .byte W03 + .byte PEND +mus_boy_sup_8_002: + .byte N24 , Dn4 , v112 + .byte W30 + .byte N06 , An3 + .byte W12 + .byte Fs3 + .byte W06 + .byte N12 , An3 + .byte W12 + .byte N03 , Dn4 + .byte W03 + .byte N09 , Cs4 + .byte W09 + .byte N06 , Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte PEND + .byte N03 , Gs3 + .byte W06 + .byte En3 + .byte W06 + .byte Bn2 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N04 , Bn3 + .byte W04 + .byte N02 , Gs3 + .byte W04 + .byte En3 + .byte W04 + .byte N06 , Bn2 + .byte W06 + .byte N03 , En3 + .byte W03 + .byte Gs3 + .byte W03 + .byte PATT + .word mus_boy_sup_8_000 + .byte PATT + .word mus_boy_sup_8_001 + .byte PATT + .word mus_boy_sup_8_002 + .byte N03 , Gs3 , v112 + .byte W06 + .byte En3 + .byte W06 + .byte Bn2 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N04 , Bn3 + .byte W04 + .byte N02 , Gs3 + .byte W04 + .byte En3 + .byte W04 + .byte N04 , Bn2 + .byte W04 + .byte N02 , En3 + .byte W04 + .byte Gs3 + .byte W04 + .byte N03 , Fs3 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En3 , v064 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Bn2 + .byte W09 + .byte En3 , v112 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cs3 + .byte W06 + .byte N12 , Dn3 + .byte W18 + .byte N03 , Fn3 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En3 , v064 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Bn2 + .byte W09 + .byte Fn3 , v112 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Fs3 , v064 + .byte W03 + .byte En3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cs3 + .byte W09 + .byte N12 , Gs3 , v112 + .byte W12 + .byte N03 , Fs3 + .byte W12 + .byte N12 , En3 + .byte W12 + .byte N03 , Dn3 + .byte W12 + .byte N06 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N12 , Cs4 + .byte W12 + .byte N06 , En4 + .byte W12 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte N36 , Dn3 + .byte W36 + .byte N06 , Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N24 , Bn2 + .byte W24 + .byte N18 , Cs3 + .byte W18 + .byte N06 , Dn3 + .byte W06 + .byte N36 , Fs3 + .byte W36 + .byte N06 , En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N24 , Dn3 + .byte W24 + .byte N06 , En3 + .byte W12 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N03 , Fs3 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En3 , v060 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Bn2 + .byte W06 + .byte Fn3 , v112 + .byte W03 + .byte N06 , Fs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte En3 + .byte W12 + .byte W12 + .byte Fs3 + .byte W24 + .byte Gn3 + .byte W24 + .byte Gs3 + .byte W12 + .byte Bn3 , v088 + .byte W06 + .byte N03 , An3 , v064 + .byte W03 + .byte Gs3 , v056 + .byte W03 + .byte Fs3 , v044 + .byte W12 + .byte GOTO + .word mus_boy_sup_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_boy_sup_9: + .byte KEYSH , mus_boy_sup_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 70*mus_boy_sup_mvl/mxv + .byte N06 , En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte En1 + .byte W24 + .byte N06 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte En1 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 +mus_boy_sup_9_000: + .byte N06 , Cn1 , v112 + .byte W12 + .byte En1 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte PEND +mus_boy_sup_9_B1: +mus_boy_sup_9_001: + .byte N06 , Cn1 , v112 + .byte W24 + .byte En1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte En1 + .byte W12 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte PEND + .byte PATT + .word mus_boy_sup_9_001 + .byte PATT + .word mus_boy_sup_9_001 + .byte N06 , Cn1 , v112 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W06 + .byte En1 + .byte W12 + .byte Cn1 + .byte W06 + .byte En1 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word mus_boy_sup_9_001 + .byte PATT + .word mus_boy_sup_9_001 + .byte PATT + .word mus_boy_sup_9_001 + .byte N06 , Cn1 , v112 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W06 + .byte En1 + .byte W12 + .byte Cn1 + .byte W06 + .byte En1 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N04 , Cn1 + .byte W04 + .byte En1 + .byte W04 + .byte N04 + .byte W04 +mus_boy_sup_9_002: + .byte N06 , Cn1 , v112 + .byte W18 + .byte Dn1 + .byte W18 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte PEND + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte PATT + .word mus_boy_sup_9_002 + .byte N06 , Cn1 , v112 + .byte W12 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W18 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W18 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W18 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W18 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W12 + .byte N06 + .byte W06 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte En1 + .byte W24 + .byte N06 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte En1 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word mus_boy_sup_9_000 + .byte GOTO + .word mus_boy_sup_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_boy_sup_10: + .byte KEYSH , mus_boy_sup_key+0 + .byte VOICE , 83 + .byte VOL , 29*mus_boy_sup_mvl/mxv + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte PAN , c_v+0 + .byte W96 + .byte W84 + .byte BEND , c_v+4 + .byte N06 , An4 , v112 + .byte W06 + .byte Bn4 + .byte W06 +mus_boy_sup_10_B1: + .byte N06 , Cs5 , v112 + .byte W12 + .byte Dn5 + .byte W09 + .byte N03 , Fn5 , v088 + .byte W03 + .byte N06 , En5 , v112 + .byte W12 + .byte N24 + .byte W24 + .byte N12 , Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte N06 , Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte N03 , Cn5 , v088 + .byte W03 + .byte N42 , Bn4 , v112 + .byte W42 + .byte N03 , Cn5 + .byte W03 + .byte N12 , Cs5 + .byte W12 + .byte N03 , Cn5 , v080 + .byte W03 + .byte Bn4 , v064 + .byte W03 + .byte As4 , v044 + .byte W03 + .byte An4 , v040 + .byte W03 + .byte Fs4 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte An4 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Fs4 + .byte W06 + .byte An4 + .byte W06 + .byte En4 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte N12 , Cs5 + .byte W24 + .byte N06 , Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte N24 , Bn4 + .byte W24 + .byte N06 , Cs5 + .byte W12 + .byte Dn5 + .byte W12 + .byte En5 + .byte W12 + .byte N03 , Gs5 , v088 + .byte W03 + .byte N15 , An5 , v112 + .byte W15 + .byte N03 , Fs5 , v088 + .byte W03 + .byte En5 , v068 + .byte W03 + .byte N06 , Cs5 , v112 + .byte W12 + .byte Dn5 + .byte W06 + .byte N18 , Cs5 + .byte W18 + .byte N30 , Bn4 + .byte W30 + .byte N06 , En4 + .byte W06 + .byte N03 , Gn4 , v056 + .byte W03 + .byte An4 , v072 + .byte W03 + .byte Bn4 , v080 + .byte W03 + .byte Dn5 , v084 + .byte W03 + .byte N24 , En5 , v112 + .byte W24 + .byte N06 , Dn5 + .byte W12 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cs5 + .byte W24 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte An4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn4 + .byte W06 + .byte An4 + .byte W06 + .byte Cs5 + .byte W06 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cs5 + .byte W24 + .byte Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte N24 , Bn4 + .byte W12 + .byte VOICE , 84 + .byte W12 + .byte N36 , Cs5 + .byte W36 + .byte N06 , Fs4 + .byte W06 + .byte N06 + .byte W06 + .byte An4 + .byte W12 + .byte Fs4 + .byte W12 + .byte An4 + .byte W06 + .byte N18 , Bn4 + .byte W18 + .byte N36 , Cs5 + .byte W42 + .byte N06 , En4 + .byte W06 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Dn5 + .byte W06 + .byte N18 , Cs5 + .byte W18 + .byte N06 , En5 + .byte W06 + .byte N03 , Ds5 , v040 + .byte W03 + .byte Dn5 + .byte W03 + .byte Cs5 + .byte W03 + .byte Cn5 + .byte W03 + .byte Bn4 , v048 + .byte W30 + .byte N12 , En5 , v112 + .byte W12 + .byte N03 , Dn5 + .byte W12 + .byte N06 , Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N30 , Gn4 + .byte W30 + .byte N06 , En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte N12 , En5 + .byte W12 + .byte N06 , Fs5 + .byte W12 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte N36 , Cs5 + .byte W36 + .byte N06 , Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte N24 , An4 + .byte W24 + .byte N18 , Bn4 + .byte W24 + .byte N06 , Cs5 + .byte W12 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte N24 , An4 + .byte W24 + .byte N06 , Bn4 + .byte W06 + .byte N06 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte N06 + .byte W06 + .byte Bn4 + .byte W06 + .byte N03 , Cs5 + .byte W03 + .byte Dn5 + .byte W03 + .byte En5 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Dn5 , v072 + .byte W03 + .byte Cn5 , v064 + .byte W03 + .byte Bn4 , v056 + .byte W03 + .byte An4 + .byte W06 + .byte Ds5 , v080 + .byte W03 + .byte N12 , En5 + .byte W15 + .byte N03 , Ds5 + .byte W03 + .byte N15 , En5 + .byte W15 + .byte N03 , Ds5 + .byte W03 + .byte N09 , En5 + .byte W09 + .byte N03 , An5 + .byte W03 + .byte N24 , Gs5 + .byte W24 + .byte N06 , Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte N30 , En5 + .byte W30 + .byte N03 , Dn5 , v060 + .byte W03 + .byte Cs5 , v048 + .byte W03 + .byte N06 , An4 , v112 + .byte W06 + .byte Bn4 + .byte W06 + .byte GOTO + .word mus_boy_sup_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_boy_sup: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_boy_sup_pri @ Priority + .byte mus_boy_sup_rev @ Reverb. + + .word mus_boy_sup_grp + + .word mus_boy_sup_1 + .word mus_boy_sup_2 + .word mus_boy_sup_3 + .word mus_boy_sup_4 + .word mus_boy_sup_5 + .word mus_boy_sup_6 + .word mus_boy_sup_7 + .word mus_boy_sup_8 + .word mus_boy_sup_9 + .word mus_boy_sup_10 + + .end diff --git a/sound/songs/mus_boyeye.s b/sound/songs/mus_boyeye.s new file mode 100644 index 0000000000..d15cb166d9 --- /dev/null +++ b/sound/songs/mus_boyeye.s @@ -0,0 +1,1238 @@ + .include "MPlayDef.s" + + .equ mus_boyeye_grp, voicegroup_867BDA0 + .equ mus_boyeye_pri, 0 + .equ mus_boyeye_rev, reverb_set+50 + .equ mus_boyeye_mvl, 127 + .equ mus_boyeye_key, 0 + .equ mus_boyeye_tbs, 1 + .equ mus_boyeye_exg, 0 + .equ mus_boyeye_cmp, 1 + + .section .rodata + .global mus_boyeye + .align 2 + +@********************** Track 1 **********************@ + +mus_boyeye_1: + .byte KEYSH , mus_boyeye_key+0 + .byte TEMPO , 138*mus_boyeye_tbs/2 + .byte VOICE , 17 + .byte LFOS , 40 + .byte VOL , 80*mus_boyeye_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Ds5 , v056 + .byte W06 + .byte Cn5 + .byte W06 + .byte Ds5 + .byte W24 + .byte N06 + .byte W06 + .byte Cn5 + .byte W06 + .byte Ds5 + .byte W24 + .byte Ds4 , v080 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 +mus_boyeye_1_B1: + .byte N09 , Cn5 , v080 + .byte W18 + .byte Ds5 + .byte W18 + .byte N21 , As4 + .byte W09 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte W03 + .byte N06 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N09 , Gn4 + .byte W18 + .byte Gs4 + .byte W18 + .byte N21 , As4 + .byte W09 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N03 , Fs4 + .byte W03 + .byte N12 , Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N09 , Fs4 + .byte W18 + .byte N18 , Cs5 + .byte W18 + .byte N48 , As4 + .byte W12 + .byte MOD , 8 + .byte W36 + .byte 0 + .byte W12 + .byte N09 , Fs4 + .byte W18 + .byte N18 , Cs5 + .byte W18 + .byte N24 , As4 + .byte W09 + .byte MOD , 8 + .byte W15 + .byte 0 + .byte N06 , Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte As4 + .byte W06 + .byte N12 , An4 + .byte W18 + .byte Gn4 + .byte W18 + .byte N09 , Fn4 + .byte W09 + .byte N03 , En4 + .byte W03 + .byte N12 , Fn4 + .byte W18 + .byte Dn4 + .byte W18 + .byte N09 , Cn4 + .byte W09 + .byte N03 , En4 + .byte W03 + .byte N09 , Fn4 + .byte W18 + .byte N12 , Cn5 + .byte W12 + .byte N03 , Fn4 + .byte W03 + .byte Gs4 + .byte W03 + .byte N24 , An4 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte N06 , Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte An4 + .byte W06 + .byte As3 + .byte W12 + .byte N03 , As4 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Gs4 + .byte W06 + .byte As4 + .byte W24 + .byte Gs4 + .byte W12 + .byte As4 + .byte W24 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Fn5 + .byte W12 + .byte Dn5 + .byte W24 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte GOTO + .word mus_boyeye_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_boyeye_2: + .byte KEYSH , mus_boyeye_key+0 + .byte VOICE , 36 + .byte VOL , 80*mus_boyeye_mvl/mxv + .byte W48 + .byte PAN , c_v+8 + .byte N06 , Ds1 , v116 + .byte W12 + .byte N03 + .byte W06 + .byte N15 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 +mus_boyeye_2_B1: + .byte N06 , Ds1 , v116 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Ds2 + .byte W06 + .byte N12 , Ds1 + .byte W12 + .byte N03 , As1 + .byte W12 + .byte N12 , Ds1 + .byte W12 + .byte N03 , Gn1 + .byte W06 + .byte Ds1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Gn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , Ds2 + .byte W12 + .byte N03 , Ds1 + .byte W12 + .byte N03 + .byte W06 + .byte N12 , As1 + .byte W12 + .byte Gs1 + .byte W12 + .byte N06 , Fs1 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Fs2 + .byte W06 + .byte N12 , Fs1 + .byte W12 + .byte N03 , Cs2 + .byte W12 + .byte N12 , Fs1 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte Fs1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , As1 + .byte W06 + .byte Ds2 + .byte W06 + .byte N12 , Fs2 + .byte W12 + .byte N03 , Fs1 + .byte W12 + .byte N03 + .byte W06 + .byte N12 , Gs1 + .byte W12 + .byte Fs1 + .byte W12 + .byte N06 , Fn1 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte N03 , Cn2 + .byte W12 + .byte N12 , Fn1 + .byte W12 + .byte N03 , An1 + .byte W06 + .byte Fn1 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W18 + .byte N15 + .byte W18 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N12 , Ds1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N03 , As0 + .byte W12 + .byte N03 + .byte W06 + .byte N18 + .byte W18 + .byte N03 , As1 + .byte W06 + .byte As0 + .byte W06 + .byte N06 + .byte W12 + .byte N03 , Gs1 + .byte W06 + .byte As1 + .byte W06 + .byte N06 , As0 + .byte W12 + .byte N03 , Gs1 + .byte W06 + .byte As1 + .byte W06 + .byte N12 , As0 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte N06 , As0 + .byte W12 + .byte N03 + .byte W12 + .byte As1 + .byte W06 + .byte N48 , As0 + .byte W48 + .byte GOTO + .word mus_boyeye_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_boyeye_3: + .byte KEYSH , mus_boyeye_key+0 + .byte VOICE , 56 + .byte VOL , 80*mus_boyeye_mvl/mxv + .byte PAN , c_v-49 + .byte BEND , c_v+0 + .byte N06 , Gn4 , v068 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn4 + .byte W24 + .byte N06 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn4 + .byte W48 +mus_boyeye_3_B1: + .byte W96 + .byte W72 + .byte PAN , c_v-8 + .byte N09 , As2 , v112 + .byte W12 + .byte Cn3 + .byte W12 + .byte N84 , Cs3 + .byte W12 + .byte VOL , 74*mus_boyeye_mvl/mxv + .byte W12 + .byte 68*mus_boyeye_mvl/mxv + .byte W12 + .byte 60*mus_boyeye_mvl/mxv + .byte W06 + .byte 52*mus_boyeye_mvl/mxv + .byte W06 + .byte 46*mus_boyeye_mvl/mxv + .byte W09 + .byte 51*mus_boyeye_mvl/mxv + .byte W06 + .byte 56*mus_boyeye_mvl/mxv + .byte W06 + .byte 61*mus_boyeye_mvl/mxv + .byte W06 + .byte 68*mus_boyeye_mvl/mxv + .byte W06 + .byte 75*mus_boyeye_mvl/mxv + .byte W06 + .byte 80*mus_boyeye_mvl/mxv + .byte W03 + .byte N03 , Bn2 + .byte W03 + .byte Cn3 + .byte W03 + .byte N09 , Cs3 + .byte W18 + .byte N12 , Ds3 + .byte W18 + .byte N56 , Cs3 + .byte W21 + .byte VOL , 77*mus_boyeye_mvl/mxv + .byte W09 + .byte 74*mus_boyeye_mvl/mxv + .byte W09 + .byte 63*mus_boyeye_mvl/mxv + .byte W06 + .byte 48*mus_boyeye_mvl/mxv + .byte W06 + .byte 35*mus_boyeye_mvl/mxv + .byte W03 + .byte 18*mus_boyeye_mvl/mxv + .byte W06 + .byte W48 + .byte 80*mus_boyeye_mvl/mxv + .byte N12 , Fn3 + .byte W18 + .byte Dn3 + .byte W18 + .byte N09 , Cn3 + .byte W12 + .byte N09 + .byte W18 + .byte N12 , An3 + .byte W18 + .byte N18 , Fn3 + .byte W09 + .byte VOL , 74*mus_boyeye_mvl/mxv + .byte W03 + .byte 51*mus_boyeye_mvl/mxv + .byte W06 + .byte 80*mus_boyeye_mvl/mxv + .byte N03 , Cn3 + .byte W12 + .byte N03 + .byte W06 + .byte N12 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte W96 + .byte N06 , As2 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W48 + .byte GOTO + .word mus_boyeye_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_boyeye_4: + .byte KEYSH , mus_boyeye_key+0 + .byte VOICE , 80 + .byte VOL , 80*mus_boyeye_mvl/mxv + .byte XCMD , xIECV , 13 + .byte xIECL , 10 + .byte PAN , c_v+0 + .byte N06 , As5 , v052 + .byte W06 + .byte Gn5 + .byte W06 + .byte As5 + .byte W24 + .byte N06 + .byte W06 + .byte Gn5 + .byte W06 + .byte As5 + .byte W48 +mus_boyeye_4_B1: + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte N09 , Gn4 , v052 + .byte W18 + .byte Cn5 + .byte W18 + .byte N18 , Gn4 + .byte W18 + .byte VOICE , 7 + .byte PAN , c_v-48 + .byte N03 , Cn4 , v060 + .byte W12 + .byte N03 + .byte W06 + .byte Ds3 + .byte W06 + .byte Cn4 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte N09 , Ds4 , v052 + .byte W18 + .byte Fn4 + .byte W18 + .byte N18 , Gn4 + .byte W18 + .byte VOICE , 7 + .byte PAN , c_v-49 + .byte N06 , Cn3 , v060 + .byte W12 + .byte N03 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte VOICE , 82 + .byte PAN , c_v-1 + .byte N09 , Cs4 , v052 + .byte W18 + .byte N12 , As4 + .byte W18 + .byte N18 , Fs4 + .byte W18 + .byte VOICE , 7 + .byte PAN , c_v-48 + .byte N03 , Ds4 , v060 + .byte W12 + .byte N03 + .byte W06 + .byte Fs3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte VOICE , 82 + .byte N09 , Cs4 , v052 + .byte W03 + .byte PAN , c_v-1 + .byte W15 + .byte N12 , As4 + .byte W18 + .byte N18 , Fs4 + .byte W18 + .byte VOICE , 7 + .byte PAN , c_v-48 + .byte N03 , Ds3 , v060 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 + .byte Fs4 + .byte W06 + .byte N12 , Fn3 , v072 + .byte W18 + .byte Ds3 + .byte W18 + .byte N09 , Dn3 + .byte W12 + .byte N12 , Cn3 + .byte W18 + .byte As2 + .byte W18 + .byte N09 , An2 + .byte W12 + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte N09 , Cn4 , v052 + .byte W18 + .byte N12 , An4 + .byte W18 + .byte N18 , Fn4 + .byte W18 + .byte VOICE , 7 + .byte PAN , c_v-49 + .byte N03 , Ds3 , v060 + .byte W12 + .byte N03 + .byte W06 + .byte N12 , Cn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte N06 , Fn3 , v052 + .byte W12 + .byte N03 , Fn4 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Fn4 + .byte W24 + .byte Dn4 + .byte W12 + .byte Fn4 + .byte W24 + .byte VOICE , 7 + .byte PAN , c_v-48 + .byte N06 , Fn4 , v060 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Dn5 + .byte W12 + .byte As4 + .byte W48 + .byte GOTO + .word mus_boyeye_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_boyeye_5: + .byte KEYSH , mus_boyeye_key+0 + .byte VOICE , 56 + .byte VOL , 80*mus_boyeye_mvl/mxv + .byte XCMD , xIECV , 13 + .byte xIECL , 10 + .byte PAN , c_v+48 + .byte N06 , Ds4 , v068 + .byte W06 + .byte Cn4 + .byte W06 + .byte Ds4 + .byte W24 + .byte N06 + .byte W06 + .byte Cn4 + .byte W06 + .byte Ds4 + .byte W48 +mus_boyeye_5_B1: + .byte VOICE , 2 + .byte PAN , c_v+47 + .byte N03 , Ds3 , v060 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte PAN , c_v-48 + .byte N03 , Ds3 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte VOICE , 8 + .byte W06 + .byte PAN , c_v+48 + .byte N03 , Gn3 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte VOICE , 2 + .byte N03 , Ds3 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte PAN , c_v-48 + .byte N03 , Ds3 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte VOICE , 8 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Gn2 + .byte W12 + .byte N03 + .byte W06 + .byte N12 , Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte VOICE , 2 + .byte N03 , Fs3 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte PAN , c_v-48 + .byte N03 , Fs3 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte VOICE , 8 + .byte W06 + .byte PAN , c_v+48 + .byte N03 , As3 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte VOICE , 2 + .byte N03 , Fs3 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte PAN , c_v-48 + .byte N03 , Fs3 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte VOICE , 8 + .byte W06 + .byte PAN , c_v+48 + .byte N03 , As2 + .byte W12 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N12 , Cn4 , v072 + .byte W18 + .byte As3 + .byte W18 + .byte N09 , An3 + .byte W12 + .byte N12 + .byte W18 + .byte Gn3 + .byte W18 + .byte N09 , Fn3 + .byte W12 + .byte VOICE , 2 + .byte N03 , Fn2 , v060 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte N03 , An2 + .byte W06 + .byte N06 , Cn3 + .byte W06 + .byte PAN , c_v-48 + .byte N03 , Fn2 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte N03 , An2 + .byte W06 + .byte N06 , Cn3 + .byte W06 + .byte VOICE , 8 + .byte W06 + .byte PAN , c_v+48 + .byte N03 , An2 + .byte W12 + .byte N03 + .byte W06 + .byte N12 , Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte N03 , As2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , As2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte PAN , c_v-48 + .byte N03 , As2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , As2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Dn4 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte As4 + .byte W12 + .byte Fn4 + .byte W48 + .byte GOTO + .word mus_boyeye_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_boyeye_6: + .byte KEYSH , mus_boyeye_key+0 + .byte VOICE , 81 + .byte VOL , 80*mus_boyeye_mvl/mxv + .byte PAN , c_v+0 + .byte W72 + .byte N06 , Ds4 , v048 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 +mus_boyeye_6_B1: + .byte N09 , Cn5 , v048 + .byte W18 + .byte Ds5 + .byte W18 + .byte N21 , As4 + .byte W09 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte W03 + .byte N06 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N09 , Gn4 + .byte W18 + .byte Gs4 + .byte W18 + .byte N21 , As4 + .byte W09 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N03 , Fs4 + .byte W03 + .byte N12 , Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N09 , Fs4 + .byte W18 + .byte N18 , Cs5 + .byte W18 + .byte N48 , As4 + .byte W12 + .byte MOD , 8 + .byte W36 + .byte 0 + .byte W12 + .byte N09 , Fs4 + .byte W18 + .byte N18 , Cs5 + .byte W18 + .byte N24 , As4 + .byte W09 + .byte MOD , 8 + .byte W15 + .byte 0 + .byte N06 , Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte As4 + .byte W06 + .byte N12 , An4 + .byte W18 + .byte Gn4 + .byte W18 + .byte N09 , Fn4 + .byte W09 + .byte N03 , En4 + .byte W03 + .byte N12 , Fn4 + .byte W18 + .byte Dn4 + .byte W18 + .byte N09 , Cn4 + .byte W09 + .byte N03 , En4 + .byte W03 + .byte N09 , Fn4 + .byte W18 + .byte N12 , Cn5 + .byte W12 + .byte N03 , Fn4 + .byte W03 + .byte Gs4 + .byte W03 + .byte N24 , An4 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte N06 , Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte An4 + .byte W06 + .byte As3 + .byte W12 + .byte N03 , As4 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Gs4 + .byte W06 + .byte As4 + .byte W24 + .byte Gs4 + .byte W12 + .byte As4 + .byte W24 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Fn5 + .byte W12 + .byte Dn5 + .byte W24 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte GOTO + .word mus_boyeye_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_boyeye_7: + .byte KEYSH , mus_boyeye_key+0 + .byte VOICE , 0 + .byte VOL , 80*mus_boyeye_mvl/mxv + .byte N48 , An2 , v080 + .byte W72 + .byte N06 , En1 , v064 + .byte W06 + .byte En1 , v076 + .byte W06 + .byte En1 , v088 + .byte W06 + .byte En1 , v104 + .byte W06 +mus_boyeye_7_B1: + .byte N06 , Cn1 , v120 + .byte N96 , An2 , v080 + .byte W12 + .byte N06 , Fs1 , v060 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte Fs1 , v060 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Fs1 , v060 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte Fs1 , v060 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte Fs1 , v060 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 +mus_boyeye_7_000: + .byte N06 , Cn1 , v120 + .byte W12 + .byte Fs1 , v060 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte Fs1 , v060 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Fs1 , v060 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Fs1 , v060 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte Fs1 , v060 + .byte W06 + .byte N12 , As1 , v068 + .byte W12 + .byte PEND + .byte N06 , Cn1 , v120 + .byte W12 + .byte Fs1 , v060 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte Fs1 , v060 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Fs1 , v060 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte Fs1 , v060 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte Fs1 , v060 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word mus_boyeye_7_000 + .byte N06 , Cn1 , v120 + .byte N48 , An2 , v080 + .byte W12 + .byte N06 , Fs1 , v060 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte Fs1 , v060 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Fs1 , v060 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte Fs1 , v060 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte Fs1 , v060 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word mus_boyeye_7_000 + .byte N06 , En1 , v112 + .byte N96 , An2 , v080 + .byte W12 + .byte N06 , Cn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte En1 , v112 + .byte W18 + .byte Cn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte GOTO + .word mus_boyeye_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_boyeye: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_boyeye_pri @ Priority + .byte mus_boyeye_rev @ Reverb. + + .word mus_boyeye_grp + + .word mus_boyeye_1 + .word mus_boyeye_2 + .word mus_boyeye_3 + .word mus_boyeye_4 + .word mus_boyeye_5 + .word mus_boyeye_6 + .word mus_boyeye_7 + + .end diff --git a/sound/songs/mus_c_road.s b/sound/songs/mus_c_road.s new file mode 100644 index 0000000000..028be8b8ff --- /dev/null +++ b/sound/songs/mus_c_road.s @@ -0,0 +1,4036 @@ + .include "MPlayDef.s" + + .equ mus_c_road_grp, voicegroup_868B874 + .equ mus_c_road_pri, 0 + .equ mus_c_road_rev, reverb_set+50 + .equ mus_c_road_mvl, 127 + .equ mus_c_road_key, 0 + .equ mus_c_road_tbs, 1 + .equ mus_c_road_exg, 0 + .equ mus_c_road_cmp, 1 + + .section .rodata + .global mus_c_road + .align 2 + +@********************** Track 1 **********************@ + +mus_c_road_1: + .byte KEYSH , mus_c_road_key+0 + .byte TEMPO , 134*mus_c_road_tbs/2 + .byte VOICE , 127 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 29*mus_c_road_mvl/mxv + .byte W96 +mus_c_road_1_000: + .byte N02 , Cn5 , v112 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W04 + .byte Cn5 , v044 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte Cn5 , v112 + .byte W08 + .byte Cn5 , v088 + .byte W08 + .byte Cn5 , v096 + .byte W04 + .byte Cn5 , v112 + .byte W04 + .byte N02 + .byte W04 + .byte Cn5 , v044 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte PEND +mus_c_road_1_001: + .byte N02 , Cn5 , v112 + .byte W24 + .byte N02 + .byte W72 + .byte PEND + .byte PATT + .word mus_c_road_1_000 + .byte N02 , Cn5 , v112 + .byte W24 + .byte N02 + .byte W24 + .byte VOICE , 126 + .byte VOL , 5*mus_c_road_mvl/mxv + .byte N48 , Gn5 + .byte W05 + .byte VOL , 8*mus_c_road_mvl/mxv + .byte W11 + .byte 11*mus_c_road_mvl/mxv + .byte W01 + .byte 14*mus_c_road_mvl/mxv + .byte W03 + .byte 17*mus_c_road_mvl/mxv + .byte W01 + .byte 19*mus_c_road_mvl/mxv + .byte W03 + .byte 22*mus_c_road_mvl/mxv + .byte W01 + .byte 23*mus_c_road_mvl/mxv + .byte W03 + .byte 26*mus_c_road_mvl/mxv + .byte W01 + .byte 28*mus_c_road_mvl/mxv + .byte W03 + .byte 32*mus_c_road_mvl/mxv + .byte W01 + .byte 34*mus_c_road_mvl/mxv + .byte W03 + .byte 38*mus_c_road_mvl/mxv + .byte W01 + .byte 40*mus_c_road_mvl/mxv + .byte W03 + .byte 49*mus_c_road_mvl/mxv + .byte W01 + .byte 54*mus_c_road_mvl/mxv + .byte W03 + .byte 62*mus_c_road_mvl/mxv + .byte W01 + .byte 65*mus_c_road_mvl/mxv + .byte W03 +mus_c_road_1_B1: + .byte VOICE , 127 + .byte VOL , 38*mus_c_road_mvl/mxv + .byte N02 , Dn5 , v112 + .byte W02 + .byte VOL , 29*mus_c_road_mvl/mxv + .byte W06 + .byte N02 , Dn5 , v064 + .byte W08 + .byte N02 + .byte W08 + .byte Dn5 , v112 + .byte W08 + .byte Dn5 , v064 + .byte W08 + .byte N02 + .byte W08 + .byte Dn5 , v112 + .byte W08 + .byte Dn5 , v064 + .byte W08 + .byte N02 + .byte W08 + .byte Dn5 , v112 + .byte W08 + .byte Dn5 , v064 + .byte W08 + .byte N02 + .byte W08 +mus_c_road_1_002: + .byte N02 , Dn5 , v112 + .byte W08 + .byte Dn5 , v064 + .byte W08 + .byte N02 + .byte W08 + .byte Dn5 , v112 + .byte W08 + .byte Dn5 , v064 + .byte W08 + .byte N02 + .byte W08 + .byte Dn5 , v112 + .byte W08 + .byte Dn5 , v076 + .byte W04 + .byte N02 + .byte W04 + .byte Dn5 , v112 + .byte W08 + .byte N02 + .byte W08 + .byte Dn5 , v064 + .byte W08 + .byte N02 + .byte W08 + .byte PEND +mus_c_road_1_003: + .byte N02 , Dn5 , v112 + .byte W08 + .byte Dn5 , v064 + .byte W08 + .byte N02 + .byte W08 + .byte Dn5 , v112 + .byte W08 + .byte Dn5 , v064 + .byte W08 + .byte N02 + .byte W08 + .byte Dn5 , v112 + .byte W08 + .byte Dn5 , v064 + .byte W08 + .byte N02 + .byte W08 + .byte Dn5 , v112 + .byte W08 + .byte Dn5 , v064 + .byte W08 + .byte N02 + .byte W08 + .byte PEND + .byte PATT + .word mus_c_road_1_002 + .byte PATT + .word mus_c_road_1_003 + .byte PATT + .word mus_c_road_1_002 + .byte PATT + .word mus_c_road_1_003 + .byte PATT + .word mus_c_road_1_002 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_c_road_1_002 + .byte PATT + .word mus_c_road_1_002 + .byte PATT + .word mus_c_road_1_002 + .byte PATT + .word mus_c_road_1_002 + .byte PATT + .word mus_c_road_1_002 + .byte PATT + .word mus_c_road_1_002 + .byte PATT + .word mus_c_road_1_002 + .byte PATT + .word mus_c_road_1_002 + .byte PATT + .word mus_c_road_1_000 + .byte PATT + .word mus_c_road_1_001 + .byte PATT + .word mus_c_road_1_000 + .byte PATT + .word mus_c_road_1_001 + .byte GOTO + .word mus_c_road_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_c_road_2: + .byte KEYSH , mus_c_road_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 8*mus_c_road_mvl/mxv + .byte PAN , c_v-32 + .byte N48 , Ds4 , v108 + .byte W05 + .byte VOL , 9*mus_c_road_mvl/mxv + .byte W08 + .byte 12*mus_c_road_mvl/mxv + .byte W11 + .byte 13*mus_c_road_mvl/mxv + .byte W08 + .byte 16*mus_c_road_mvl/mxv + .byte W01 + .byte 17*mus_c_road_mvl/mxv + .byte W03 + .byte 19*mus_c_road_mvl/mxv + .byte W01 + .byte 22*mus_c_road_mvl/mxv + .byte W03 + .byte 23*mus_c_road_mvl/mxv + .byte W01 + .byte 26*mus_c_road_mvl/mxv + .byte W03 + .byte 27*mus_c_road_mvl/mxv + .byte W04 + .byte 28*mus_c_road_mvl/mxv + .byte N48 , En4 , v112 + .byte W01 + .byte VOL , 31*mus_c_road_mvl/mxv + .byte W03 + .byte 32*mus_c_road_mvl/mxv + .byte W01 + .byte 35*mus_c_road_mvl/mxv + .byte W03 + .byte 38*mus_c_road_mvl/mxv + .byte W01 + .byte 41*mus_c_road_mvl/mxv + .byte W03 + .byte 42*mus_c_road_mvl/mxv + .byte W01 + .byte 45*mus_c_road_mvl/mxv + .byte W03 + .byte 46*mus_c_road_mvl/mxv + .byte W01 + .byte 47*mus_c_road_mvl/mxv + .byte W03 + .byte 53*mus_c_road_mvl/mxv + .byte W08 + .byte 55*mus_c_road_mvl/mxv + .byte W01 + .byte 56*mus_c_road_mvl/mxv + .byte W03 + .byte 57*mus_c_road_mvl/mxv + .byte W01 + .byte 59*mus_c_road_mvl/mxv + .byte W03 + .byte 60*mus_c_road_mvl/mxv + .byte W04 + .byte 63*mus_c_road_mvl/mxv + .byte W05 + .byte 66*mus_c_road_mvl/mxv + .byte W03 + .byte 63*mus_c_road_mvl/mxv + .byte N08 , Fn4 + .byte W48 + .byte N08 + .byte W48 + .byte N08 + .byte W24 + .byte N08 + .byte W24 + .byte VOL , 68*mus_c_road_mvl/mxv + .byte N04 , Ds4 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte N04 , En4 + .byte W08 + .byte VOL , 69*mus_c_road_mvl/mxv + .byte N08 , Fn4 + .byte W48 + .byte N08 + .byte W48 + .byte VOL , 46*mus_c_road_mvl/mxv + .byte N08 + .byte W24 + .byte N08 + .byte W24 + .byte VOICE , 48 + .byte N04 , Cs2 , v108 + .byte W04 + .byte Dn2 + .byte W04 + .byte Ds2 + .byte W04 + .byte En2 + .byte W04 + .byte Fn2 + .byte W04 + .byte Fs2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Gs2 + .byte W04 + .byte An2 + .byte W04 + .byte As2 + .byte W04 + .byte Bn2 + .byte W04 + .byte Cn3 + .byte W04 +mus_c_road_2_B1: + .byte VOICE , 84 + .byte PAN , c_v+0 + .byte VOL , 62*mus_c_road_mvl/mxv + .byte BEND , c_v+2 + .byte N04 , Cs1 , v108 + .byte W08 + .byte Ds1 , v072 + .byte W08 + .byte En1 + .byte W08 + .byte Ds1 , v112 + .byte W08 + .byte Cs1 , v072 + .byte W08 + .byte Cn1 + .byte W08 + .byte Cs1 , v112 + .byte W08 + .byte Ds1 , v072 + .byte W08 + .byte En1 + .byte W08 + .byte Cs1 , v112 + .byte W08 + .byte Ds1 , v072 + .byte W08 + .byte En1 + .byte W08 +mus_c_road_2_000: + .byte N04 , Dn1 , v112 + .byte W08 + .byte En1 , v072 + .byte W08 + .byte Fs1 + .byte W08 + .byte En1 , v112 + .byte W08 + .byte Dn1 , v072 + .byte W08 + .byte Cs1 + .byte W08 + .byte Dn1 , v112 + .byte W08 + .byte En1 , v072 + .byte W08 + .byte Fs1 + .byte W08 + .byte En1 , v112 + .byte W08 + .byte Dn1 , v072 + .byte W08 + .byte Cs1 + .byte W08 + .byte PEND + .byte Cs1 , v112 + .byte W08 + .byte Ds1 , v072 + .byte W08 + .byte En1 + .byte W08 + .byte Cs1 , v112 + .byte W08 + .byte Ds1 , v072 + .byte W08 + .byte En1 + .byte W08 + .byte Cs1 , v112 + .byte W08 + .byte Ds1 , v072 + .byte W08 + .byte En1 + .byte W08 + .byte Ds1 , v112 + .byte W08 + .byte Cs1 , v072 + .byte W08 + .byte Cn1 + .byte W08 + .byte PATT + .word mus_c_road_2_000 +mus_c_road_2_001: + .byte N04 , Cs1 , v112 + .byte W08 + .byte Ds1 , v072 + .byte W08 + .byte En1 + .byte W08 + .byte Ds1 , v112 + .byte W08 + .byte Cs1 , v072 + .byte W08 + .byte Cn1 + .byte W08 + .byte Cs1 , v112 + .byte W08 + .byte Ds1 , v072 + .byte W08 + .byte En1 + .byte W08 + .byte Cs1 , v112 + .byte W08 + .byte Ds1 , v072 + .byte W08 + .byte En1 + .byte W08 + .byte PEND + .byte PATT + .word mus_c_road_2_000 + .byte PATT + .word mus_c_road_2_001 + .byte N04 , Dn1 , v112 + .byte W08 + .byte En1 , v072 + .byte W08 + .byte Fs1 + .byte W08 + .byte En1 , v112 + .byte W08 + .byte Dn1 , v072 + .byte W08 + .byte Cs1 + .byte W08 + .byte Dn1 , v112 + .byte W08 + .byte En1 , v072 + .byte W08 + .byte Fs1 + .byte W08 + .byte Gs1 , v112 + .byte W24 + .byte BEND , c_v+0 + .byte W96 + .byte W48 + .byte VOICE , 56 + .byte PAN , c_v-44 + .byte VOL , 67*mus_c_road_mvl/mxv + .byte N02 , Gn4 + .byte W08 + .byte N02 + .byte W04 + .byte Fs4 + .byte W04 + .byte N04 , Gn4 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte VOICE , 1 + .byte PAN , c_v-32 + .byte VOL , 61*mus_c_road_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 45 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte 56 + .byte PAN , c_v-21 + .byte VOL , 57*mus_c_road_mvl/mxv + .byte N08 , Gs5 + .byte W08 + .byte N04 , Gn5 , v052 + .byte W04 + .byte Fs5 + .byte W36 + .byte N08 , Gs4 , v112 + .byte W48 + .byte N08 + .byte W24 + .byte N08 + .byte W24 + .byte N04 , Fs4 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte N04 , Gn4 + .byte W08 + .byte VOICE , 48 + .byte N08 , Gs4 + .byte W48 + .byte N08 + .byte W48 + .byte VOICE , 48 + .byte N08 + .byte W24 + .byte N08 + .byte W24 + .byte N04 , En2 , v108 + .byte W04 + .byte Fn2 + .byte W04 + .byte Fs2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Gs2 + .byte W04 + .byte An2 + .byte W04 + .byte As2 + .byte W04 + .byte Bn2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte GOTO + .word mus_c_road_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_c_road_3: + .byte KEYSH , mus_c_road_key+0 + .byte VOICE , 60 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 8*mus_c_road_mvl/mxv + .byte PAN , c_v-12 + .byte N48 , Gn2 , v112 + .byte W05 + .byte VOL , 9*mus_c_road_mvl/mxv + .byte W08 + .byte 12*mus_c_road_mvl/mxv + .byte W11 + .byte 13*mus_c_road_mvl/mxv + .byte W08 + .byte 16*mus_c_road_mvl/mxv + .byte W01 + .byte 17*mus_c_road_mvl/mxv + .byte W03 + .byte 19*mus_c_road_mvl/mxv + .byte W01 + .byte 22*mus_c_road_mvl/mxv + .byte W03 + .byte 23*mus_c_road_mvl/mxv + .byte W01 + .byte 26*mus_c_road_mvl/mxv + .byte W03 + .byte 27*mus_c_road_mvl/mxv + .byte W04 + .byte 28*mus_c_road_mvl/mxv + .byte N48 , Fs2 + .byte W01 + .byte VOL , 31*mus_c_road_mvl/mxv + .byte W03 + .byte 32*mus_c_road_mvl/mxv + .byte W01 + .byte 35*mus_c_road_mvl/mxv + .byte W03 + .byte 38*mus_c_road_mvl/mxv + .byte W01 + .byte 41*mus_c_road_mvl/mxv + .byte W03 + .byte 42*mus_c_road_mvl/mxv + .byte W01 + .byte 45*mus_c_road_mvl/mxv + .byte W03 + .byte 46*mus_c_road_mvl/mxv + .byte W01 + .byte 47*mus_c_road_mvl/mxv + .byte W03 + .byte 53*mus_c_road_mvl/mxv + .byte W08 + .byte 55*mus_c_road_mvl/mxv + .byte W01 + .byte 56*mus_c_road_mvl/mxv + .byte W03 + .byte 57*mus_c_road_mvl/mxv + .byte W01 + .byte 59*mus_c_road_mvl/mxv + .byte W03 + .byte 60*mus_c_road_mvl/mxv + .byte W04 + .byte 63*mus_c_road_mvl/mxv + .byte W05 + .byte 66*mus_c_road_mvl/mxv + .byte W03 + .byte W96 + .byte BEND , c_v+0 + .byte W48 + .byte PAN , c_v-22 + .byte N04 , Fn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte N24 , Bn3 + .byte W16 + .byte BEND , c_v+5 + .byte W08 + .byte PAN , c_v+7 + .byte BEND , c_v+0 + .byte W96 + .byte VOICE , 47 + .byte W48 + .byte 14 + .byte N48 , Gs3 + .byte W48 +mus_c_road_3_B1: + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte VOL , 76*mus_c_road_mvl/mxv + .byte N36 , Cs3 , v108 + .byte W24 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte W04 + .byte N04 , En3 , v112 + .byte W08 + .byte N48 , Gs3 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Dn3 + .byte W24 + .byte MOD , 7 + .byte W16 + .byte 0 + .byte N04 , Fs3 + .byte W08 + .byte N20 , Bn3 + .byte W20 + .byte N02 , An3 + .byte W02 + .byte Bn3 + .byte W02 + .byte N16 , An3 + .byte W16 + .byte N04 , Fs3 + .byte W08 + .byte N96 , Gs3 + .byte W48 + .byte MOD , 6 + .byte W48 + .byte VOICE , 56 + .byte MOD , 0 + .byte VOL , 67*mus_c_road_mvl/mxv + .byte PAN , c_v+42 + .byte N04 , Dn3 + .byte W08 + .byte An2 + .byte W08 + .byte Dn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte An3 + .byte W08 + .byte N02 + .byte W04 + .byte An3 , v088 + .byte W04 + .byte N04 , An3 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte Fs3 + .byte W08 + .byte Dn4 + .byte W08 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte VOL , 76*mus_c_road_mvl/mxv + .byte N04 , Cs4 + .byte W16 + .byte En4 + .byte W08 + .byte N40 , Gs4 + .byte W24 + .byte MOD , 6 + .byte W16 + .byte N04 , Gn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte N24 , En4 + .byte W24 + .byte MOD , 0 + .byte N04 , Dn4 + .byte W16 + .byte Fs4 + .byte W08 + .byte N16 , An4 + .byte W16 + .byte N04 , Gs4 + .byte W04 + .byte An4 + .byte W04 + .byte N24 , Fs4 + .byte W24 + .byte N04 , Bn4 + .byte W08 + .byte An4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N40 , Gs4 + .byte W40 + .byte N04 , Fs4 + .byte W04 + .byte Gs4 + .byte W04 + .byte MOD , 6 + .byte N40 , En4 + .byte W40 + .byte N08 , Gs4 + .byte W08 + .byte MOD , 0 + .byte N40 , Fs4 + .byte W40 + .byte N04 , Dn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte N24 , Bn4 + .byte W24 + .byte An4 + .byte W24 + .byte VOICE , 48 + .byte VOL , 59*mus_c_road_mvl/mxv + .byte PAN , c_v+0 + .byte W24 + .byte N24 , En5 + .byte W24 + .byte Ds5 + .byte W24 + .byte Cn5 + .byte W24 + .byte Cs5 + .byte W24 + .byte Gn4 + .byte W24 + .byte As4 + .byte W24 + .byte Cn5 + .byte W24 + .byte W24 + .byte N08 , En5 + .byte W08 + .byte Cs5 + .byte W08 + .byte Gs4 + .byte W08 + .byte Ds5 + .byte W08 + .byte Cn5 + .byte W08 + .byte Gn4 + .byte W08 + .byte Dn5 + .byte W08 + .byte Bn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N24 , En5 + .byte W24 + .byte Cs5 + .byte W24 + .byte En5 + .byte W24 + .byte Gn5 + .byte W24 + .byte VOICE , 56 + .byte VOL , 67*mus_c_road_mvl/mxv + .byte PAN , c_v+31 + .byte N06 , Gs5 + .byte W24 + .byte Gs4 + .byte W24 + .byte N02 + .byte W08 + .byte N02 + .byte W04 + .byte Gn4 + .byte W04 + .byte N04 , Gs4 + .byte W08 + .byte N04 + .byte W08 + .byte As4 + .byte W08 + .byte Cn5 + .byte W08 + .byte VOICE , 73 + .byte PAN , c_v+0 + .byte VOL , 76*mus_c_road_mvl/mxv + .byte N40 , Cs4 + .byte W24 + .byte MOD , 6 + .byte VOL , 72*mus_c_road_mvl/mxv + .byte W04 + .byte 69*mus_c_road_mvl/mxv + .byte W04 + .byte 67*mus_c_road_mvl/mxv + .byte W04 + .byte 64*mus_c_road_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 76*mus_c_road_mvl/mxv + .byte N04 , En4 + .byte W08 + .byte N48 , Gs4 + .byte W24 + .byte MOD , 7 + .byte VOL , 71*mus_c_road_mvl/mxv + .byte W04 + .byte 69*mus_c_road_mvl/mxv + .byte W04 + .byte 67*mus_c_road_mvl/mxv + .byte W04 + .byte 66*mus_c_road_mvl/mxv + .byte W04 + .byte 62*mus_c_road_mvl/mxv + .byte W04 + .byte 60*mus_c_road_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 76*mus_c_road_mvl/mxv + .byte N40 , Ds4 + .byte W24 + .byte MOD , 7 + .byte VOL , 71*mus_c_road_mvl/mxv + .byte W04 + .byte 70*mus_c_road_mvl/mxv + .byte W04 + .byte 67*mus_c_road_mvl/mxv + .byte W04 + .byte 63*mus_c_road_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 76*mus_c_road_mvl/mxv + .byte N04 , Fs4 + .byte W08 + .byte N24 , Bn4 + .byte W24 + .byte N04 , An4 + .byte W16 + .byte Fs4 + .byte W08 + .byte N96 , Gs4 + .byte W48 + .byte MOD , 7 + .byte VOL , 72*mus_c_road_mvl/mxv + .byte W04 + .byte 70*mus_c_road_mvl/mxv + .byte W04 + .byte 67*mus_c_road_mvl/mxv + .byte W04 + .byte 65*mus_c_road_mvl/mxv + .byte W04 + .byte 62*mus_c_road_mvl/mxv + .byte W04 + .byte 61*mus_c_road_mvl/mxv + .byte W04 + .byte 58*mus_c_road_mvl/mxv + .byte W04 + .byte 57*mus_c_road_mvl/mxv + .byte W04 + .byte 55*mus_c_road_mvl/mxv + .byte W04 + .byte 52*mus_c_road_mvl/mxv + .byte W04 + .byte 50*mus_c_road_mvl/mxv + .byte W04 + .byte 50*mus_c_road_mvl/mxv + .byte W04 + .byte VOICE , 60 + .byte MOD , 0 + .byte VOL , 64*mus_c_road_mvl/mxv + .byte N04 , An4 + .byte W16 + .byte En4 + .byte W08 + .byte N24 , An4 + .byte W24 + .byte Bn4 + .byte W24 + .byte MOD , 7 + .byte N08 , Ds5 + .byte W08 + .byte N02 , Dn5 , v064 + .byte W02 + .byte Cs5 + .byte W02 + .byte Cn5 + .byte W02 + .byte Bn4 + .byte W02 + .byte N08 , Cn4 , v112 + .byte W08 + .byte VOICE , 73 + .byte MOD , 0 + .byte VOL , 76*mus_c_road_mvl/mxv + .byte N08 , Cs4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte N04 , En4 + .byte W16 + .byte Fs4 + .byte W08 + .byte N48 , Gs4 + .byte W24 + .byte MOD , 8 + .byte W04 + .byte VOL , 73*mus_c_road_mvl/mxv + .byte W04 + .byte 70*mus_c_road_mvl/mxv + .byte W04 + .byte 67*mus_c_road_mvl/mxv + .byte W04 + .byte 64*mus_c_road_mvl/mxv + .byte W04 + .byte 62*mus_c_road_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 76*mus_c_road_mvl/mxv + .byte N08 , Ds4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte N04 , Fs4 + .byte W16 + .byte Gs4 + .byte W08 + .byte N24 , Bn4 + .byte W24 + .byte N04 , An4 + .byte W16 + .byte Fs4 + .byte W08 + .byte N08 , Gs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte N80 , Gs4 + .byte W32 + .byte MOD , 12 + .byte VOL , 71*mus_c_road_mvl/mxv + .byte W04 + .byte 70*mus_c_road_mvl/mxv + .byte W04 + .byte 68*mus_c_road_mvl/mxv + .byte W04 + .byte 67*mus_c_road_mvl/mxv + .byte W04 + .byte 65*mus_c_road_mvl/mxv + .byte W04 + .byte 63*mus_c_road_mvl/mxv + .byte W04 + .byte 62*mus_c_road_mvl/mxv + .byte W04 + .byte 61*mus_c_road_mvl/mxv + .byte W04 + .byte 59*mus_c_road_mvl/mxv + .byte W04 + .byte 58*mus_c_road_mvl/mxv + .byte W04 + .byte 57*mus_c_road_mvl/mxv + .byte W04 + .byte 56*mus_c_road_mvl/mxv + .byte W04 + .byte VOICE , 60 + .byte MOD , 0 + .byte VOL , 64*mus_c_road_mvl/mxv + .byte N04 , An4 + .byte W08 + .byte Gs4 + .byte W08 + .byte An4 + .byte W08 + .byte N04 + .byte W16 + .byte As4 + .byte W08 + .byte Bn4 + .byte W08 + .byte As4 + .byte W08 + .byte Bn4 + .byte W08 + .byte Cs5 + .byte W08 + .byte Ds5 + .byte W08 + .byte Fs5 + .byte W08 + .byte VOL , 71*mus_c_road_mvl/mxv + .byte W96 + .byte W48 + .byte N04 , Gs3 + .byte W08 + .byte Ds3 + .byte W08 + .byte Gs3 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N04 , Ds4 + .byte W08 + .byte W96 + .byte W96 + .byte GOTO + .word mus_c_road_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_c_road_4: + .byte KEYSH , mus_c_road_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 26*mus_c_road_mvl/mxv + .byte PAN , c_v+16 + .byte N48 , Ds5 , v088 + .byte W21 + .byte VOL , 27*mus_c_road_mvl/mxv + .byte W08 + .byte 28*mus_c_road_mvl/mxv + .byte W03 + .byte 31*mus_c_road_mvl/mxv + .byte W04 + .byte 32*mus_c_road_mvl/mxv + .byte W01 + .byte 35*mus_c_road_mvl/mxv + .byte W03 + .byte 37*mus_c_road_mvl/mxv + .byte W05 + .byte 41*mus_c_road_mvl/mxv + .byte W03 + .byte N48 , En5 + .byte W01 + .byte VOL , 42*mus_c_road_mvl/mxv + .byte W03 + .byte 45*mus_c_road_mvl/mxv + .byte W05 + .byte 47*mus_c_road_mvl/mxv + .byte W03 + .byte 49*mus_c_road_mvl/mxv + .byte W01 + .byte 50*mus_c_road_mvl/mxv + .byte W03 + .byte 56*mus_c_road_mvl/mxv + .byte W01 + .byte 57*mus_c_road_mvl/mxv + .byte W03 + .byte 63*mus_c_road_mvl/mxv + .byte W01 + .byte 66*mus_c_road_mvl/mxv + .byte W03 + .byte 69*mus_c_road_mvl/mxv + .byte W01 + .byte 71*mus_c_road_mvl/mxv + .byte W03 + .byte 75*mus_c_road_mvl/mxv + .byte W01 + .byte 76*mus_c_road_mvl/mxv + .byte W19 +mus_c_road_4_000: + .byte VOICE , 14 + .byte VOL , 67*mus_c_road_mvl/mxv + .byte N48 , Fn4 , v112 + .byte W48 + .byte N48 + .byte W48 + .byte PEND + .byte VOL , 67*mus_c_road_mvl/mxv + .byte PAN , c_v+29 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte VOICE , 56 + .byte VOL , 69*mus_c_road_mvl/mxv + .byte N04 , Cn3 + .byte W08 + .byte Fn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte N04 , En3 + .byte W08 + .byte PATT + .word mus_c_road_4_000 + .byte VOL , 67*mus_c_road_mvl/mxv + .byte N24 , Fn4 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte VOICE , 48 + .byte VOL , 47*mus_c_road_mvl/mxv + .byte N04 , Gs4 , v108 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Fn4 + .byte W04 + .byte En4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte As3 + .byte W04 + .byte An3 + .byte W04 +mus_c_road_4_B1: + .byte VOICE , 60 + .byte PAN , c_v-32 + .byte VOL , 47*mus_c_road_mvl/mxv + .byte N04 , En2 , v108 + .byte W16 + .byte Cs2 , v112 + .byte W08 + .byte N24 , Gs2 + .byte W24 + .byte PAN , c_v+16 + .byte N04 , Cs3 + .byte W16 + .byte Gs2 + .byte W08 + .byte N24 , En3 + .byte W24 + .byte PAN , c_v-33 + .byte N04 , Dn2 + .byte W16 + .byte An1 + .byte W08 + .byte N24 , Fs2 + .byte W24 + .byte PAN , c_v+32 + .byte N04 , An2 + .byte W16 + .byte Fs2 + .byte W08 + .byte N24 , Dn3 + .byte W24 + .byte PAN , c_v-34 + .byte N04 , Gs2 + .byte W08 + .byte An2 + .byte W08 + .byte Bn2 + .byte W08 + .byte An2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Fs2 + .byte W08 + .byte Cs2 + .byte W08 + .byte Ds2 + .byte W08 + .byte En2 + .byte W08 + .byte N24 , Gs2 + .byte W24 + .byte VOICE , 56 + .byte PAN , c_v+31 + .byte VOL , 58*mus_c_road_mvl/mxv + .byte N04 , Fs2 + .byte W08 + .byte Dn2 + .byte W08 + .byte Fs2 + .byte W08 + .byte An2 + .byte W08 + .byte Fs2 + .byte W08 + .byte An2 + .byte W08 + .byte Dn3 + .byte W08 + .byte N02 + .byte W04 + .byte Dn3 , v088 + .byte W04 + .byte N04 , Dn3 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte An2 + .byte W08 + .byte Fs3 + .byte W08 + .byte VOICE , 48 + .byte PAN , c_v+40 + .byte VOL , 34*mus_c_road_mvl/mxv + .byte N04 , Gs3 + .byte W16 + .byte En3 + .byte W08 + .byte N72 , Cs4 + .byte W24 + .byte VOL , 32*mus_c_road_mvl/mxv + .byte W04 + .byte 31*mus_c_road_mvl/mxv + .byte W04 + .byte 29*mus_c_road_mvl/mxv + .byte W04 + .byte 28*mus_c_road_mvl/mxv + .byte W04 + .byte 26*mus_c_road_mvl/mxv + .byte W04 + .byte 25*mus_c_road_mvl/mxv + .byte W04 + .byte 23*mus_c_road_mvl/mxv + .byte W04 + .byte 21*mus_c_road_mvl/mxv + .byte W04 + .byte 20*mus_c_road_mvl/mxv + .byte W04 + .byte 19*mus_c_road_mvl/mxv + .byte W04 + .byte 18*mus_c_road_mvl/mxv + .byte W04 + .byte 16*mus_c_road_mvl/mxv + .byte W04 + .byte 34*mus_c_road_mvl/mxv + .byte N04 , An3 + .byte W16 + .byte Fs3 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N04 , Cs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte N24 , An3 + .byte W24 + .byte N04 , Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N40 , En4 + .byte W40 + .byte N04 , Ds4 + .byte W04 + .byte En4 + .byte W04 + .byte N40 , Cs4 + .byte W40 + .byte N08 , En4 + .byte W08 + .byte N40 , Fs4 + .byte W40 + .byte N04 , Dn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte N24 , Bn3 + .byte W24 + .byte Dn4 + .byte W24 + .byte VOICE , 56 + .byte VOL , 43*mus_c_road_mvl/mxv + .byte PAN , c_v-32 + .byte W24 + .byte N24 , Gn4 + .byte W24 + .byte Fs4 + .byte W24 + .byte Ds4 + .byte W24 + .byte Gn4 + .byte W24 + .byte As3 + .byte W24 + .byte Cs4 + .byte W24 + .byte En4 + .byte W24 + .byte W24 + .byte N08 , Gs4 + .byte W08 + .byte En4 + .byte W08 + .byte Cs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Bn3 + .byte W08 + .byte N24 , Cs4 + .byte W24 + .byte As3 + .byte W24 + .byte Gn4 + .byte W24 + .byte N22 , As4 + .byte W24 + .byte VOL , 55*mus_c_road_mvl/mxv + .byte PAN , c_v+16 + .byte N06 , Cn5 + .byte W24 + .byte Cn4 + .byte W24 + .byte N02 + .byte W08 + .byte N02 + .byte W04 + .byte Bn3 + .byte W04 + .byte N04 , Cn4 + .byte W08 + .byte N04 + .byte W08 + .byte Cs4 + .byte W08 + .byte Ds4 + .byte W08 + .byte VOICE , 48 + .byte VOL , 45*mus_c_road_mvl/mxv + .byte PAN , c_v+32 + .byte N24 , Gs3 + .byte W24 + .byte N04 , Gn3 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 + .byte W08 + .byte N48 , En3 + .byte W48 + .byte N24 , Fs3 + .byte W24 + .byte N04 , Ds3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Bn2 + .byte W08 + .byte N24 , Fs2 + .byte W24 + .byte N04 , Bn2 + .byte W10 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W08 + .byte N16 , Gs3 + .byte W16 + .byte N04 , Gn3 + .byte W08 + .byte N24 , En3 + .byte W24 + .byte Ds3 + .byte W24 + .byte Cs3 + .byte W24 + .byte VOICE , 60 + .byte N04 , Cs4 + .byte W16 + .byte An3 + .byte W08 + .byte N24 , Cs4 + .byte W24 + .byte Ds4 + .byte W24 + .byte N08 , Fs4 + .byte W08 + .byte N02 , Fn4 , v064 + .byte W02 + .byte En4 + .byte W02 + .byte Ds4 + .byte W02 + .byte Dn4 + .byte W02 + .byte N08 , Ds3 , v112 + .byte W08 + .byte VOICE , 60 + .byte N08 , En3 + .byte W08 + .byte Ds3 + .byte W08 + .byte En3 + .byte W08 + .byte N04 , Gs3 + .byte W16 + .byte Cn4 + .byte W08 + .byte N24 , Cs4 + .byte W24 + .byte Gs3 + .byte W24 + .byte N08 , Fs3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte N04 , Bn3 + .byte W16 + .byte Ds4 + .byte W08 + .byte N24 , Fs4 + .byte W24 + .byte N04 , En4 + .byte W16 + .byte Bn3 + .byte W08 + .byte N08 , Cs4 + .byte W08 + .byte Cn4 + .byte W08 + .byte N32 , Cs4 + .byte W32 + .byte N24 , En4 + .byte W24 + .byte N16 , Fs4 + .byte W16 + .byte N08 , En4 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte N04 + .byte W16 + .byte Dn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Gs4 + .byte W08 + .byte As4 + .byte W08 + .byte VOICE , 14 + .byte N48 , Gs4 + .byte W48 + .byte N48 + .byte W48 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte VOICE , 56 + .byte VOL , 61*mus_c_road_mvl/mxv + .byte PAN , c_v+50 + .byte N04 , Ds3 + .byte W08 + .byte Gs2 + .byte W08 + .byte Ds3 + .byte W08 + .byte N16 , Fs3 + .byte W16 + .byte N04 , Gn3 + .byte W08 + .byte VOICE , 48 + .byte VOL , 57*mus_c_road_mvl/mxv + .byte N08 , Gs3 + .byte W48 + .byte N08 + .byte W48 + .byte VOL , 46*mus_c_road_mvl/mxv + .byte PAN , c_v+50 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte VOICE , 48 + .byte PAN , c_v+30 + .byte N04 , Bn4 , v108 + .byte W04 + .byte As4 + .byte W04 + .byte An4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Fn4 + .byte W04 + .byte En4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Cn4 + .byte W04 + .byte GOTO + .word mus_c_road_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_c_road_5: + .byte KEYSH , mus_c_road_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 56*mus_c_road_mvl/mxv + .byte PAN , c_v+0 + .byte N48 , Ds3 , v112 + .byte W07 + .byte VOL , 12*mus_c_road_mvl/mxv + .byte W11 + .byte 13*mus_c_road_mvl/mxv + .byte W08 + .byte 16*mus_c_road_mvl/mxv + .byte W01 + .byte 16*mus_c_road_mvl/mxv + .byte W02 + .byte 16*mus_c_road_mvl/mxv + .byte W03 + .byte 17*mus_c_road_mvl/mxv + .byte W04 + .byte 18*mus_c_road_mvl/mxv + .byte W02 + .byte 21*mus_c_road_mvl/mxv + .byte W03 + .byte 22*mus_c_road_mvl/mxv + .byte W03 + .byte 23*mus_c_road_mvl/mxv + .byte W04 + .byte 25*mus_c_road_mvl/mxv + .byte N48 , En3 + .byte W02 + .byte VOL , 26*mus_c_road_mvl/mxv + .byte W03 + .byte 28*mus_c_road_mvl/mxv + .byte W03 + .byte 29*mus_c_road_mvl/mxv + .byte W04 + .byte 31*mus_c_road_mvl/mxv + .byte W02 + .byte 33*mus_c_road_mvl/mxv + .byte W03 + .byte 34*mus_c_road_mvl/mxv + .byte W03 + .byte 36*mus_c_road_mvl/mxv + .byte W04 + .byte 41*mus_c_road_mvl/mxv + .byte W02 + .byte 42*mus_c_road_mvl/mxv + .byte W06 + .byte 44*mus_c_road_mvl/mxv + .byte W04 + .byte 46*mus_c_road_mvl/mxv + .byte W02 + .byte 47*mus_c_road_mvl/mxv + .byte W03 + .byte 50*mus_c_road_mvl/mxv + .byte W03 + .byte 50*mus_c_road_mvl/mxv + .byte N02 , Fn2 + .byte W02 + .byte N02 + .byte W01 + .byte VOL , 9*mus_c_road_mvl/mxv + .byte W01 + .byte VOICE , 47 + .byte VOL , 63*mus_c_road_mvl/mxv + .byte N24 , Fn1 + .byte W48 + .byte N24 + .byte W44 + .byte N02 , Fn2 + .byte W02 + .byte N02 + .byte W02 + .byte N20 , Fn1 + .byte W24 + .byte N24 + .byte W24 + .byte N04 , Gs2 + .byte W08 + .byte Fn2 + .byte W08 + .byte Gs2 + .byte W08 + .byte N16 , Bn1 + .byte W16 + .byte N04 , Cn2 + .byte W08 + .byte N24 , Fn1 + .byte W48 + .byte N24 + .byte W44 + .byte N02 , Fn2 + .byte W02 + .byte N02 + .byte W02 + .byte N24 , Fn1 + .byte W24 + .byte N24 + .byte W24 + .byte VOICE , 48 + .byte VOL , 46*mus_c_road_mvl/mxv + .byte N24 , Gs3 + .byte W24 + .byte VOL , 42*mus_c_road_mvl/mxv + .byte N04 , Bn3 + .byte W04 + .byte As3 + .byte W04 + .byte An3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Fs3 + .byte W04 +mus_c_road_5_B1: + .byte VOICE , 1 + .byte PAN , c_v-16 + .byte VOL , 56*mus_c_road_mvl/mxv + .byte N02 , Cs2 , v108 + .byte W08 + .byte Ds2 , v072 + .byte W08 + .byte En2 + .byte W08 + .byte PAN , c_v+16 + .byte N02 , Ds2 , v112 + .byte W08 + .byte Cs2 , v072 + .byte W08 + .byte Cn2 + .byte W08 + .byte PAN , c_v-16 + .byte N02 , Cs2 , v112 + .byte W08 + .byte Ds2 , v072 + .byte W08 + .byte En2 + .byte W08 + .byte PAN , c_v+16 + .byte N02 , Cs2 , v112 + .byte W08 + .byte Ds2 , v072 + .byte W08 + .byte En2 + .byte W08 +mus_c_road_5_000: + .byte PAN , c_v-16 + .byte N02 , Dn2 , v112 + .byte W08 + .byte En2 , v072 + .byte W08 + .byte Fs2 + .byte W08 + .byte PAN , c_v+16 + .byte N02 , En2 , v112 + .byte W08 + .byte Dn2 , v072 + .byte W08 + .byte Cs2 + .byte W08 + .byte PAN , c_v-16 + .byte N02 , Dn2 , v112 + .byte W08 + .byte En2 , v072 + .byte W08 + .byte Fs2 + .byte W08 + .byte PAN , c_v+16 + .byte N02 , En2 , v112 + .byte W08 + .byte Dn2 , v072 + .byte W08 + .byte Cs2 + .byte W08 + .byte PEND + .byte PAN , c_v-16 + .byte N02 , Cs2 , v112 + .byte W08 + .byte Ds2 , v072 + .byte W08 + .byte En2 + .byte W08 + .byte PAN , c_v+16 + .byte N02 , Cs2 , v112 + .byte W08 + .byte Ds2 , v072 + .byte W08 + .byte En2 + .byte W08 + .byte PAN , c_v-16 + .byte N02 , Cs2 , v112 + .byte W08 + .byte Ds2 , v072 + .byte W08 + .byte En2 + .byte W08 + .byte PAN , c_v+16 + .byte N02 , Ds2 , v112 + .byte W08 + .byte Cs2 , v072 + .byte W08 + .byte Cn2 + .byte W08 + .byte PATT + .word mus_c_road_5_000 +mus_c_road_5_001: + .byte PAN , c_v-16 + .byte N02 , Cs2 , v112 + .byte W08 + .byte Ds2 , v072 + .byte W08 + .byte En2 + .byte W08 + .byte PAN , c_v+16 + .byte N02 , Ds2 , v112 + .byte W08 + .byte Cs2 , v072 + .byte W08 + .byte Cn2 + .byte W08 + .byte PAN , c_v-16 + .byte N02 , Cs2 , v112 + .byte W08 + .byte Ds2 , v072 + .byte W08 + .byte En2 + .byte W08 + .byte PAN , c_v+16 + .byte N02 , Cs2 , v112 + .byte W08 + .byte Ds2 , v072 + .byte W08 + .byte En2 + .byte W08 + .byte PEND + .byte PATT + .word mus_c_road_5_000 + .byte PATT + .word mus_c_road_5_001 + .byte PAN , c_v-16 + .byte N02 , Dn2 , v112 + .byte W08 + .byte En2 , v072 + .byte W08 + .byte Fs2 + .byte W08 + .byte PAN , c_v+16 + .byte N02 , En2 , v112 + .byte W08 + .byte Dn2 , v072 + .byte W08 + .byte Cs2 + .byte W08 + .byte PAN , c_v-16 + .byte N02 , Dn2 , v112 + .byte W08 + .byte En2 , v072 + .byte W08 + .byte Fs2 + .byte W08 + .byte VOICE , 47 + .byte VOL , 76*mus_c_road_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , Gs1 , v112 + .byte W12 + .byte N04 , Cs2 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N84 + .byte W24 + .byte VOL , 74*mus_c_road_mvl/mxv + .byte W03 + .byte 71*mus_c_road_mvl/mxv + .byte W04 + .byte 68*mus_c_road_mvl/mxv + .byte W08 + .byte 65*mus_c_road_mvl/mxv + .byte W04 + .byte 64*mus_c_road_mvl/mxv + .byte W04 + .byte 61*mus_c_road_mvl/mxv + .byte W08 + .byte 58*mus_c_road_mvl/mxv + .byte W04 + .byte 56*mus_c_road_mvl/mxv + .byte W08 + .byte 54*mus_c_road_mvl/mxv + .byte W04 + .byte 51*mus_c_road_mvl/mxv + .byte W04 + .byte 49*mus_c_road_mvl/mxv + .byte W04 + .byte 46*mus_c_road_mvl/mxv + .byte W04 + .byte 42*mus_c_road_mvl/mxv + .byte W01 + .byte 76*mus_c_road_mvl/mxv + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N72 , Gn1 + .byte W24 + .byte VOL , 74*mus_c_road_mvl/mxv + .byte W03 + .byte 69*mus_c_road_mvl/mxv + .byte W04 + .byte 66*mus_c_road_mvl/mxv + .byte W04 + .byte 64*mus_c_road_mvl/mxv + .byte W04 + .byte 61*mus_c_road_mvl/mxv + .byte W04 + .byte 59*mus_c_road_mvl/mxv + .byte W04 + .byte 56*mus_c_road_mvl/mxv + .byte W04 + .byte 54*mus_c_road_mvl/mxv + .byte W04 + .byte 50*mus_c_road_mvl/mxv + .byte W04 + .byte 44*mus_c_road_mvl/mxv + .byte W01 + .byte 47*mus_c_road_mvl/mxv + .byte W03 + .byte 43*mus_c_road_mvl/mxv + .byte W01 + .byte 46*mus_c_road_mvl/mxv + .byte W04 + .byte 43*mus_c_road_mvl/mxv + .byte W04 + .byte 76*mus_c_road_mvl/mxv + .byte N04 , Gn2 , v060 + .byte W08 + .byte Gn2 , v076 + .byte W08 + .byte Gn2 , v112 + .byte W08 + .byte N84 , Cs2 + .byte W24 + .byte VOL , 71*mus_c_road_mvl/mxv + .byte W03 + .byte 69*mus_c_road_mvl/mxv + .byte W04 + .byte 67*mus_c_road_mvl/mxv + .byte W04 + .byte 65*mus_c_road_mvl/mxv + .byte W04 + .byte 64*mus_c_road_mvl/mxv + .byte W04 + .byte 62*mus_c_road_mvl/mxv + .byte W04 + .byte 60*mus_c_road_mvl/mxv + .byte W04 + .byte 57*mus_c_road_mvl/mxv + .byte W04 + .byte 55*mus_c_road_mvl/mxv + .byte W04 + .byte 52*mus_c_road_mvl/mxv + .byte W04 + .byte 50*mus_c_road_mvl/mxv + .byte W04 + .byte 47*mus_c_road_mvl/mxv + .byte W04 + .byte 44*mus_c_road_mvl/mxv + .byte W04 + .byte 42*mus_c_road_mvl/mxv + .byte W04 + .byte 41*mus_c_road_mvl/mxv + .byte W05 + .byte 76*mus_c_road_mvl/mxv + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N72 , Gn1 + .byte W24 + .byte VOL , 73*mus_c_road_mvl/mxv + .byte W03 + .byte 69*mus_c_road_mvl/mxv + .byte W04 + .byte 65*mus_c_road_mvl/mxv + .byte W04 + .byte 64*mus_c_road_mvl/mxv + .byte W04 + .byte 61*mus_c_road_mvl/mxv + .byte W04 + .byte 57*mus_c_road_mvl/mxv + .byte W04 + .byte 55*mus_c_road_mvl/mxv + .byte W04 + .byte 52*mus_c_road_mvl/mxv + .byte W04 + .byte 50*mus_c_road_mvl/mxv + .byte W04 + .byte 47*mus_c_road_mvl/mxv + .byte W04 + .byte 45*mus_c_road_mvl/mxv + .byte W04 + .byte 44*mus_c_road_mvl/mxv + .byte W04 + .byte 42*mus_c_road_mvl/mxv + .byte W01 + .byte 76*mus_c_road_mvl/mxv + .byte N04 , Gn2 , v064 + .byte W08 + .byte Gn2 , v080 + .byte W08 + .byte Gn2 , v112 + .byte W08 + .byte N16 , Gs2 + .byte W24 + .byte Gs1 + .byte W24 + .byte N02 + .byte W08 + .byte N02 + .byte W04 + .byte Gn1 + .byte W04 + .byte N08 , Gs1 + .byte W16 + .byte N16 , Gs1 , v127 + .byte W16 +mus_c_road_5_002: + .byte N04 , Cs2 , v112 + .byte W16 + .byte Gs1 + .byte W08 + .byte Cs2 + .byte W40 + .byte Gs1 , v088 + .byte W16 + .byte N16 , Gs1 , v112 + .byte W16 + .byte PEND +mus_c_road_5_003: + .byte N04 , Bn1 , v112 + .byte W16 + .byte Fs1 + .byte W08 + .byte Bn1 + .byte W24 + .byte Fs1 + .byte W16 + .byte Fs1 , v084 + .byte W16 + .byte N16 , Fs1 , v112 + .byte W16 + .byte PEND + .byte N04 , As1 + .byte W16 + .byte Fs1 + .byte W08 + .byte As1 + .byte W24 + .byte Fs1 + .byte W16 + .byte Fs1 , v084 + .byte W08 + .byte Fs1 , v112 + .byte W16 + .byte As1 + .byte W08 + .byte An1 + .byte W16 + .byte En1 + .byte W08 + .byte An1 + .byte W40 + .byte Fs1 + .byte W08 + .byte N16 + .byte W24 + .byte PATT + .word mus_c_road_5_002 + .byte PATT + .word mus_c_road_5_003 + .byte N04 , As1 , v112 + .byte W24 + .byte N04 + .byte W24 + .byte N16 , Fs1 + .byte W24 + .byte N16 + .byte W24 + .byte N04 , An1 + .byte W16 + .byte En1 + .byte W08 + .byte An1 + .byte W40 + .byte Fs1 + .byte W04 + .byte N04 + .byte W12 + .byte N12 , Bn1 , v124 + .byte W16 + .byte VOICE , 47 + .byte N24 , Gs1 , v112 + .byte W48 + .byte N24 + .byte W44 + .byte N02 , Gs2 + .byte W02 + .byte N02 + .byte W02 + .byte N20 , Gs1 + .byte W24 + .byte N24 + .byte W24 + .byte N04 , Bn2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Bn2 + .byte W08 + .byte N16 , Dn2 + .byte W16 + .byte N04 , Ds2 + .byte W08 + .byte N24 , Gs1 + .byte W48 + .byte N24 + .byte W44 + .byte N02 , Gs2 + .byte W02 + .byte N02 + .byte W02 + .byte VOL , 59*mus_c_road_mvl/mxv + .byte N24 , Gs1 + .byte W24 + .byte N24 + .byte W24 + .byte VOICE , 48 + .byte W24 + .byte N04 , Dn4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte As3 + .byte W04 + .byte An3 + .byte W04 + .byte GOTO + .word mus_c_road_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_c_road_6: + .byte KEYSH , mus_c_road_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-60 + .byte VOL , 8*mus_c_road_mvl/mxv + .byte N48 , Ds3 , v112 + .byte W05 + .byte VOL , 9*mus_c_road_mvl/mxv + .byte W08 + .byte 12*mus_c_road_mvl/mxv + .byte W11 + .byte 13*mus_c_road_mvl/mxv + .byte W08 + .byte 16*mus_c_road_mvl/mxv + .byte W01 + .byte 17*mus_c_road_mvl/mxv + .byte W03 + .byte 19*mus_c_road_mvl/mxv + .byte W01 + .byte 22*mus_c_road_mvl/mxv + .byte W03 + .byte 23*mus_c_road_mvl/mxv + .byte W01 + .byte 26*mus_c_road_mvl/mxv + .byte W03 + .byte 27*mus_c_road_mvl/mxv + .byte W04 + .byte 28*mus_c_road_mvl/mxv + .byte N48 , En3 + .byte W01 + .byte VOL , 31*mus_c_road_mvl/mxv + .byte W03 + .byte 32*mus_c_road_mvl/mxv + .byte W01 + .byte 35*mus_c_road_mvl/mxv + .byte W03 + .byte 38*mus_c_road_mvl/mxv + .byte W01 + .byte 41*mus_c_road_mvl/mxv + .byte W03 + .byte 42*mus_c_road_mvl/mxv + .byte W01 + .byte 45*mus_c_road_mvl/mxv + .byte W03 + .byte 46*mus_c_road_mvl/mxv + .byte W01 + .byte 47*mus_c_road_mvl/mxv + .byte W03 + .byte 53*mus_c_road_mvl/mxv + .byte W08 + .byte 55*mus_c_road_mvl/mxv + .byte W01 + .byte 56*mus_c_road_mvl/mxv + .byte W03 + .byte 57*mus_c_road_mvl/mxv + .byte W01 + .byte 59*mus_c_road_mvl/mxv + .byte W03 + .byte 60*mus_c_road_mvl/mxv + .byte W04 + .byte 63*mus_c_road_mvl/mxv + .byte W05 + .byte 66*mus_c_road_mvl/mxv + .byte W03 + .byte 40*mus_c_road_mvl/mxv + .byte N04 , Fn3 + .byte W48 + .byte N04 + .byte W48 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N02 , Ds3 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N04 , En3 + .byte W08 + .byte Fn3 + .byte W48 + .byte N04 + .byte W48 + .byte N04 + .byte W24 + .byte N04 + .byte W72 +mus_c_road_6_B1: + .byte VOICE , 80 + .byte VOL , 36*mus_c_road_mvl/mxv + .byte N40 , Gs2 , v112 + .byte W40 + .byte N08 , En2 + .byte W08 + .byte N24 , Bn2 + .byte W24 + .byte Gs2 + .byte W24 + .byte N40 , Fs2 + .byte W40 + .byte N08 , Dn2 + .byte W08 + .byte N24 , An2 + .byte W24 + .byte N16 , Bn2 + .byte W16 + .byte N08 , Dn3 + .byte W08 + .byte N40 , Cs3 + .byte W40 + .byte N04 , Gs2 + .byte W08 + .byte N24 , Gn2 + .byte W24 + .byte Gs2 + .byte W24 + .byte BEND , c_v+0 + .byte N96 , An2 + .byte W96 + .byte BEND , c_v+0 + .byte N04 , Gs2 + .byte W16 + .byte En2 + .byte W08 + .byte N48 , Bn2 + .byte W48 + .byte N24 , Cs3 + .byte W24 + .byte N04 , Dn3 + .byte W16 + .byte An2 + .byte W08 + .byte N48 , Fs2 + .byte W48 + .byte N24 , An2 + .byte W24 + .byte N40 , En3 + .byte W40 + .byte N04 , Ds3 + .byte W04 + .byte En3 + .byte W04 + .byte N24 , Cs3 + .byte W24 + .byte Gs2 + .byte W24 + .byte N40 , An2 + .byte W40 + .byte N04 , Gs2 + .byte W04 + .byte An2 + .byte W04 + .byte N24 , Gs2 + .byte W24 + .byte Fs2 + .byte W24 + .byte VOL , 37*mus_c_road_mvl/mxv + .byte W24 + .byte N04 , En2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Cs3 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Gs2 + .byte W08 + .byte En2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Cs3 + .byte W08 + .byte N04 + .byte W08 + .byte As2 + .byte W08 + .byte Gn2 + .byte W08 + .byte En2 + .byte W08 + .byte Gn2 + .byte W08 + .byte As2 + .byte W08 + .byte VOL , 47*mus_c_road_mvl/mxv + .byte N02 , As3 + .byte W08 + .byte N02 + .byte W04 + .byte An3 + .byte W04 + .byte N04 , As3 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte VOL , 38*mus_c_road_mvl/mxv + .byte W24 + .byte N04 , En2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Bn2 + .byte W08 + .byte En3 + .byte W08 + .byte Bn2 + .byte W08 + .byte Gn2 + .byte W08 + .byte En2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Bn2 + .byte W08 + .byte Cs3 + .byte W08 + .byte As2 + .byte W08 + .byte Gn2 + .byte W08 + .byte En2 + .byte W08 + .byte Gn2 + .byte W08 + .byte As2 + .byte W08 + .byte Cs3 + .byte W08 + .byte As2 + .byte W08 + .byte Gn2 + .byte W08 + .byte En2 + .byte W08 + .byte As2 + .byte W08 + .byte En3 + .byte W08 + .byte VOICE , 87 + .byte VOL , 28*mus_c_road_mvl/mxv + .byte N06 , Ds4 + .byte W24 + .byte Ds3 + .byte W24 + .byte N02 + .byte W08 + .byte N02 + .byte W04 + .byte Dn3 + .byte W04 + .byte N04 , Ds3 + .byte W08 + .byte Gs3 + .byte W08 + .byte As3 + .byte W08 + .byte Cn4 + .byte W08 + .byte VOICE , 80 + .byte VOL , 28*mus_c_road_mvl/mxv + .byte N02 , Gs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Bn2 + .byte W04 + .byte As2 + .byte W04 + .byte Gs2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Gs2 + .byte W04 + .byte As2 + .byte W04 + .byte Bn2 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Ds4 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte As3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Fs3 + .byte W04 + .byte En3 + .byte W04 + .byte Fs3 + .byte W04 + .byte As3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Bn2 + .byte W04 + .byte As2 + .byte W04 + .byte Gs2 + .byte W04 + .byte Fs2 + .byte W04 + .byte Gs2 + .byte W04 + .byte As2 + .byte W04 + .byte Cs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gs3 + .byte W04 + .byte As3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cs4 + .byte W04 + .byte En4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Cs4 + .byte W04 + .byte As3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Bn2 + .byte W04 + .byte As2 + .byte W04 + .byte Gs2 + .byte W04 + .byte As2 + .byte W04 + .byte Bn2 + .byte W04 + .byte Cs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gs3 + .byte W04 + .byte As3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Ds4 + .byte W04 + .byte En4 + .byte W04 + .byte Fn4 + .byte W04 + .byte En4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte As3 + .byte W04 + .byte VOICE , 87 + .byte VOL , 28*mus_c_road_mvl/mxv + .byte N04 , En3 + .byte W08 + .byte Cs3 + .byte W08 + .byte An2 + .byte W08 + .byte En2 + .byte W08 + .byte An2 + .byte W08 + .byte En3 + .byte W08 + .byte N24 , Ds3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N08 , Fs3 + .byte W08 + .byte N02 , Fn3 , v064 + .byte W02 + .byte En3 + .byte W02 + .byte Ds3 + .byte W02 + .byte Dn3 + .byte W10 + .byte VOICE , 80 + .byte VOL , 28*mus_c_road_mvl/mxv + .byte N02 , Gs3 , v112 + .byte W04 + .byte Fs3 + .byte W04 + .byte En3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Bn2 + .byte W04 + .byte As2 + .byte W04 + .byte Bn2 + .byte W04 + .byte Cs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte En3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gs3 + .byte W04 + .byte As3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte As3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Fs3 + .byte W04 + .byte En3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Bn2 + .byte W04 + .byte Fs3 + .byte W04 + .byte En3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Bn2 + .byte W04 + .byte Cs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte En3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gs3 + .byte W04 + .byte As3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Ds4 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte As3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Fs3 + .byte W04 + .byte En3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gs3 + .byte W04 + .byte As3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gs4 + .byte W04 + .byte As4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte As3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Fs3 + .byte W04 + .byte VOICE , 87 + .byte N16 + .byte W16 + .byte N04 , Cs3 + .byte W08 + .byte Fs3 + .byte W16 + .byte An3 + .byte W08 + .byte N14 , Gs3 + .byte W16 + .byte N04 , Ds3 + .byte W08 + .byte Gs3 + .byte W16 + .byte Cn4 + .byte W08 + .byte N04 + .byte W48 + .byte N04 + .byte W48 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N02 , Fs3 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N04 , Gn3 + .byte W08 + .byte Gs3 + .byte W48 + .byte N04 + .byte W48 + .byte N04 + .byte W24 + .byte N04 + .byte W72 + .byte GOTO + .word mus_c_road_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_c_road_7: + .byte KEYSH , mus_c_road_key+0 + .byte VOICE , 83 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 38*mus_c_road_mvl/mxv + .byte W96 + .byte VOICE , 83 + .byte N04 , Fn4 , v112 + .byte W48 + .byte N04 + .byte W48 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N02 , Ds4 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte En4 + .byte W08 + .byte N02 + .byte W08 + .byte N04 + .byte W08 + .byte Fn4 + .byte W48 + .byte N04 + .byte W48 + .byte N04 + .byte W24 + .byte N04 + .byte W72 +mus_c_road_7_B1: + .byte VOICE , 82 + .byte VOL , 34*mus_c_road_mvl/mxv + .byte N40 , En3 , v112 + .byte W24 + .byte MOD , 9 + .byte W16 + .byte 0 + .byte N08 , Cs3 + .byte W08 + .byte N48 , Gs3 + .byte W24 + .byte MOD , 9 + .byte W24 + .byte 2 + .byte N40 , Fs3 + .byte W24 + .byte MOD , 9 + .byte W16 + .byte 0 + .byte N08 , Dn3 + .byte W08 + .byte N24 , Cs3 + .byte W24 + .byte N16 , En3 + .byte W16 + .byte N08 , Fs3 + .byte W08 + .byte N40 , Gs3 + .byte W24 + .byte MOD , 9 + .byte W16 + .byte 0 + .byte N04 , En3 + .byte W08 + .byte N24 , Ds3 + .byte W24 + .byte En3 + .byte W24 + .byte BEND , c_v+0 + .byte N96 , Dn3 + .byte W48 + .byte MOD , 6 + .byte W24 + .byte BEND , c_v-2 + .byte W02 + .byte c_v-3 + .byte W02 + .byte c_v-5 + .byte W02 + .byte c_v-6 + .byte W02 + .byte c_v-9 + .byte W02 + .byte c_v-10 + .byte W02 + .byte c_v-11 + .byte W02 + .byte c_v-13 + .byte W02 + .byte c_v-15 + .byte W02 + .byte c_v-17 + .byte W02 + .byte c_v-21 + .byte W02 + .byte c_v-23 + .byte W02 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N04 , Cs3 + .byte W16 + .byte Gs2 + .byte W08 + .byte N48 , En3 + .byte W24 + .byte MOD , 9 + .byte W24 + .byte 0 + .byte N24 , Gs3 + .byte W24 + .byte N04 , Fs3 + .byte W16 + .byte Dn3 + .byte W08 + .byte N48 , An3 + .byte W24 + .byte MOD , 9 + .byte W24 + .byte 0 + .byte N24 , Fs3 + .byte W24 + .byte N40 , Cs4 + .byte W24 + .byte MOD , 9 + .byte W16 + .byte N04 , Cn4 + .byte W04 + .byte MOD , 0 + .byte N04 , Cs4 + .byte W04 + .byte N24 , Gs3 + .byte W24 + .byte En3 + .byte W24 + .byte N40 , Fs3 + .byte W24 + .byte MOD , 9 + .byte W16 + .byte 0 + .byte N04 , En3 + .byte W04 + .byte Fs3 + .byte W04 + .byte N24 , Dn3 + .byte W24 + .byte Bn2 + .byte W24 + .byte VOICE , 83 + .byte W24 + .byte N04 , Cs3 + .byte W08 + .byte En3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Gs3 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 + .byte W08 + .byte En3 + .byte W08 + .byte Gs3 + .byte W08 + .byte As3 + .byte W08 + .byte Gn3 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 + .byte W08 + .byte En3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N02 , Gn4 + .byte W08 + .byte N02 + .byte W04 + .byte Fs4 + .byte W04 + .byte N04 , Gn4 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte W24 + .byte Cs3 + .byte W08 + .byte En3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Gs3 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 + .byte W08 + .byte En3 + .byte W08 + .byte Gs3 + .byte W08 + .byte As3 + .byte W08 + .byte Gn3 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 + .byte W08 + .byte En3 + .byte W08 + .byte Gn3 + .byte W08 + .byte As3 + .byte W08 + .byte Gn3 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte N06 , Gs4 + .byte W24 + .byte Gs3 + .byte W24 + .byte VOICE , 85 + .byte N02 + .byte W08 + .byte N02 + .byte W04 + .byte Gn3 + .byte W04 + .byte N04 , Gs3 + .byte W08 + .byte Ds3 + .byte W08 + .byte En3 + .byte W08 + .byte Fs3 + .byte W08 + .byte VOL , 28*mus_c_road_mvl/mxv + .byte N02 , Cs4 + .byte W04 + .byte Gs3 + .byte W04 + .byte En3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Cn3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte En3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Cs4 + .byte W04 + .byte En4 + .byte W04 + .byte Gs4 + .byte W04 + .byte An4 + .byte W04 + .byte Bn4 + .byte W04 + .byte An4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte An3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Ds4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Fs3 + .byte W04 + .byte En3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Bn2 + .byte W04 + .byte Cs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gs3 + .byte W04 + .byte As3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Ds4 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte An4 + .byte W04 + .byte As4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Cs5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Ds4 + .byte W04 + .byte As3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Fs3 + .byte W04 + .byte En3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte En3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gs3 + .byte W04 + .byte As3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Ds4 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gs4 + .byte W04 + .byte An4 + .byte W04 + .byte As4 + .byte W04 + .byte An4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte Ds4 + .byte W04 + .byte VOICE , 83 + .byte MOD , 6 + .byte N04 , An3 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 + .byte W08 + .byte An2 + .byte W08 + .byte Cs3 + .byte W08 + .byte An3 + .byte W08 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 2 + .byte N08 , Bn4 + .byte W04 + .byte MOD , 6 + .byte W20 + .byte VOICE , 85 + .byte MOD , 2 + .byte N02 , Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte An3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Fs3 + .byte W04 + .byte En3 + .byte W04 + .byte Ds3 + .byte W04 + .byte En3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gs3 + .byte W04 + .byte An3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Ds4 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte An3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Fs3 + .byte W04 + .byte En3 + .byte W04 + .byte Bn3 + .byte W04 + .byte An3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Fs3 + .byte W04 + .byte En3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gs3 + .byte W04 + .byte An3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Ds4 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gs4 + .byte W04 + .byte An4 + .byte W04 + .byte Bn4 + .byte W04 + .byte An4 + .byte W04 + .byte Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte An3 + .byte W04 + .byte Gs3 + .byte W04 + .byte As3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gs3 + .byte W04 + .byte As3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Ds4 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gs4 + .byte W04 + .byte As4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Cs5 + .byte W04 + .byte Ds5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Bn4 + .byte W04 + .byte An4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte VOICE , 83 + .byte N16 , An3 + .byte W08 + .byte MOD , 12 + .byte W08 + .byte 2 + .byte N04 , En3 + .byte W08 + .byte An3 + .byte W16 + .byte Cs4 + .byte W08 + .byte N16 , Bn3 + .byte W08 + .byte MOD , 12 + .byte W08 + .byte 2 + .byte N04 , Fs3 + .byte W08 + .byte Bn3 + .byte W16 + .byte Ds4 + .byte W08 + .byte Gs4 + .byte W48 + .byte N04 + .byte W48 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N02 , Cs4 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte Dn4 + .byte W08 + .byte N02 + .byte W08 + .byte N04 + .byte W08 + .byte Gs1 + .byte W48 + .byte N04 + .byte W48 + .byte N04 + .byte W24 + .byte N04 + .byte W72 + .byte GOTO + .word mus_c_road_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_c_road_8: + .byte KEYSH , mus_c_road_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 71*mus_c_road_mvl/mxv + .byte W96 +mus_c_road_8_000: + .byte N48 , An2 , v112 + .byte W48 + .byte N48 + .byte W48 + .byte PEND +mus_c_road_8_001: + .byte N24 , Gn2 , v112 + .byte W24 + .byte An2 + .byte W72 + .byte PEND + .byte PATT + .word mus_c_road_8_000 + .byte PATT + .word mus_c_road_8_001 +mus_c_road_8_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N48 , An2 , v112 + .byte W96 + .byte W96 + .byte N48 + .byte W96 + .byte W96 + .byte W24 + .byte N48 + .byte W72 + .byte W24 + .byte N48 + .byte W72 + .byte W24 + .byte N48 + .byte W72 + .byte W24 + .byte Gn2 , v096 + .byte W48 + .byte N24 , An2 , v092 + .byte W24 + .byte N72 , An2 , v112 + .byte W96 + .byte W24 + .byte N48 + .byte W72 + .byte W24 + .byte N48 + .byte W72 + .byte W24 + .byte N48 + .byte W72 + .byte PATT + .word mus_c_road_8_000 + .byte PATT + .word mus_c_road_8_001 + .byte PATT + .word mus_c_road_8_000 + .byte PATT + .word mus_c_road_8_001 + .byte GOTO + .word mus_c_road_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_c_road_9: + .byte KEYSH , mus_c_road_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 38*mus_c_road_mvl/mxv + .byte N48 , Ds4 , v112 + .byte W48 + .byte En4 + .byte W48 + .byte VOICE , 84 + .byte PAN , c_v+0 + .byte VOL , 57*mus_c_road_mvl/mxv + .byte N14 , Fn1 + .byte W48 + .byte N14 + .byte W48 + .byte N14 + .byte W24 + .byte N14 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N16 , Bn0 + .byte W16 + .byte N04 , Cn1 + .byte W08 + .byte N14 , Fn1 + .byte W48 + .byte N14 + .byte W48 + .byte N14 + .byte W24 + .byte N14 + .byte W24 + .byte N08 , Gs1 + .byte W08 + .byte Gn1 + .byte W08 + .byte N04 , Gs1 + .byte W08 + .byte N24 + .byte W24 +mus_c_road_9_B1: + .byte VOICE , 48 + .byte PAN , c_v-32 + .byte VOL , 31*mus_c_road_mvl/mxv + .byte N36 , Cs4 , v108 + .byte W24 + .byte MOD , 3 + .byte W12 + .byte 0 + .byte W04 + .byte N04 , En4 , v112 + .byte W08 + .byte N48 , Gs4 + .byte W24 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N36 , Dn4 + .byte W24 + .byte MOD , 3 + .byte W16 + .byte 0 + .byte N04 , Fs4 + .byte W08 + .byte N20 , Bn4 + .byte W20 + .byte N02 , An4 + .byte W02 + .byte Bn4 + .byte W02 + .byte N16 , An4 + .byte W16 + .byte N04 , Fs4 + .byte W08 + .byte N96 , Gs4 + .byte W48 + .byte MOD , 3 + .byte VOL , 31*mus_c_road_mvl/mxv + .byte W04 + .byte 28*mus_c_road_mvl/mxv + .byte W04 + .byte 28*mus_c_road_mvl/mxv + .byte W04 + .byte 26*mus_c_road_mvl/mxv + .byte W04 + .byte 24*mus_c_road_mvl/mxv + .byte W04 + .byte 22*mus_c_road_mvl/mxv + .byte W04 + .byte 20*mus_c_road_mvl/mxv + .byte W04 + .byte 19*mus_c_road_mvl/mxv + .byte W04 + .byte 17*mus_c_road_mvl/mxv + .byte W04 + .byte 14*mus_c_road_mvl/mxv + .byte W04 + .byte 13*mus_c_road_mvl/mxv + .byte W04 + .byte 11*mus_c_road_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 32*mus_c_road_mvl/mxv + .byte N04 , Dn4 + .byte W08 + .byte An3 + .byte W08 + .byte Dn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte An4 + .byte W08 + .byte N02 + .byte W04 + .byte An4 , v088 + .byte W04 + .byte N04 , An4 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte Fs4 + .byte W08 + .byte Dn5 + .byte W08 + .byte W48 + .byte MOD , 3 + .byte W48 + .byte 0 + .byte W96 + .byte W48 + .byte 4 + .byte W48 + .byte 0 + .byte W72 + .byte VOICE , 84 + .byte VOL , 57*mus_c_road_mvl/mxv + .byte PAN , c_v+0 + .byte W12 + .byte N02 , Cs1 + .byte W04 + .byte Cs1 , v096 + .byte W04 + .byte Cs1 , v112 + .byte W04 +mus_c_road_9_000: + .byte N84 , Cs1 , v112 + .byte W88 + .byte N04 , Cs2 + .byte W08 + .byte PEND + .byte N48 , Gn2 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N24 , As1 + .byte W24 + .byte N04 , Gn1 + .byte W08 + .byte En1 + .byte W08 + .byte Dn1 + .byte W08 + .byte PATT + .word mus_c_road_9_000 + .byte N48 , Gn2 , v112 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N24 , As1 + .byte W24 + .byte N04 , Cs2 + .byte W08 + .byte En2 + .byte W08 + .byte Gn2 + .byte W08 + .byte N06 , Gs2 + .byte W24 + .byte Gs1 + .byte W24 + .byte N02 + .byte W08 + .byte N02 + .byte W04 + .byte Gn1 + .byte W04 + .byte N04 , Gs1 + .byte W32 + .byte VOL , 57*mus_c_road_mvl/mxv + .byte N04 , Cs2 + .byte W16 + .byte Gs1 + .byte W08 + .byte N24 , Cs2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N04 , Gs1 + .byte W08 + .byte Cs2 + .byte W08 + .byte Gs1 + .byte W08 + .byte Cs1 + .byte W08 + .byte Gs1 + .byte W08 + .byte Cs2 + .byte W08 +mus_c_road_9_001: + .byte N04 , Bn1 , v112 + .byte W16 + .byte Fs1 + .byte W08 + .byte N24 , Bn1 + .byte W24 + .byte N04 , Fs1 + .byte W08 + .byte Bn1 + .byte W08 + .byte Fs1 + .byte W08 + .byte Bn0 + .byte W08 + .byte Fs1 + .byte W08 + .byte Bn1 + .byte W08 + .byte PEND +mus_c_road_9_002: + .byte N04 , As1 , v112 + .byte W16 + .byte Fs1 + .byte W08 + .byte N24 , As1 + .byte W24 + .byte N04 , Fs1 + .byte W08 + .byte As1 + .byte W08 + .byte Fs1 + .byte W08 + .byte As0 + .byte W08 + .byte Fs1 + .byte W08 + .byte As1 + .byte W08 + .byte PEND +mus_c_road_9_003: + .byte N04 , An1 , v112 + .byte W16 + .byte En1 + .byte W08 + .byte N24 , An1 + .byte W24 + .byte N04 , Fs1 + .byte W08 + .byte Bn1 + .byte W08 + .byte Fs1 + .byte W08 + .byte Bn0 + .byte W08 + .byte Fs1 + .byte W08 + .byte Bn1 + .byte W08 + .byte PEND + .byte Cs2 + .byte W16 + .byte Gs1 + .byte W08 + .byte N24 , Cs2 + .byte W24 + .byte N04 , Gs1 + .byte W08 + .byte Cs2 + .byte W08 + .byte Gs1 + .byte W08 + .byte Cs1 + .byte W08 + .byte Gs1 + .byte W08 + .byte Cs2 + .byte W08 + .byte PATT + .word mus_c_road_9_001 + .byte PATT + .word mus_c_road_9_002 + .byte PATT + .word mus_c_road_9_003 +mus_c_road_9_004: + .byte N04 , Gs1 , v112 + .byte W48 + .byte N04 + .byte W48 + .byte PEND + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N16 , Dn1 + .byte W16 + .byte N04 , Ds1 + .byte W08 + .byte PATT + .word mus_c_road_9_004 + .byte N04 , Gs1 , v112 + .byte W24 + .byte N04 + .byte W72 + .byte GOTO + .word mus_c_road_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_c_road_10: + .byte KEYSH , mus_c_road_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 71*mus_c_road_mvl/mxv + .byte PAN , c_v-19 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_c_road_10_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 56 + .byte PAN , c_v-40 + .byte VOL , 50*mus_c_road_mvl/mxv + .byte W48 + .byte N04 , En3 , v112 + .byte W16 + .byte Cs3 + .byte W08 + .byte N24 , Gs3 + .byte W24 + .byte N04 , Fs3 + .byte W16 + .byte Dn3 + .byte W08 + .byte N16 , An3 + .byte W16 + .byte N04 , Gs3 + .byte W04 + .byte An3 + .byte W04 + .byte N24 , Dn3 + .byte W24 + .byte N04 , Fs3 + .byte W08 + .byte En3 + .byte W08 + .byte Cn3 + .byte W08 + .byte N48 , Cs3 + .byte W48 + .byte Gs3 + .byte W48 + .byte Dn3 + .byte W48 + .byte N24 , Bn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte VOICE , 14 + .byte PAN , c_v-32 + .byte VOL , 76*mus_c_road_mvl/mxv + .byte N96 , Cs3 , v088 + .byte W96 + .byte PAN , c_v+32 + .byte N96 , Gn3 + .byte W96 + .byte PAN , c_v-32 + .byte N96 , Cs3 , v092 + .byte W96 + .byte PAN , c_v+32 + .byte N48 , As3 + .byte W48 + .byte PAN , c_v-32 + .byte N48 , Gn3 , v088 + .byte W48 + .byte PAN , c_v+32 + .byte N48 , Gs3 + .byte W48 + .byte PAN , c_v-32 + .byte N48 , Ds3 , v112 + .byte W48 + .byte PAN , c_v+32 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_c_road_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_c_road: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_c_road_pri @ Priority + .byte mus_c_road_rev @ Reverb. + + .word mus_c_road_grp + + .word mus_c_road_1 + .word mus_c_road_2 + .word mus_c_road_3 + .word mus_c_road_4 + .word mus_c_road_5 + .word mus_c_road_6 + .word mus_c_road_7 + .word mus_c_road_8 + .word mus_c_road_9 + .word mus_c_road_10 + + .end diff --git a/sound/songs/mus_casino.s b/sound/songs/mus_casino.s new file mode 100644 index 0000000000..5dfacb9a47 --- /dev/null +++ b/sound/songs/mus_casino.s @@ -0,0 +1,4151 @@ + .include "MPlayDef.s" + + .equ mus_casino_grp, voicegroup_868A674 + .equ mus_casino_pri, 0 + .equ mus_casino_rev, reverb_set+50 + .equ mus_casino_mvl, 127 + .equ mus_casino_key, 0 + .equ mus_casino_tbs, 1 + .equ mus_casino_exg, 0 + .equ mus_casino_cmp, 1 + + .section .rodata + .global mus_casino + .align 2 + +@********************** Track 1 **********************@ + +mus_casino_1: + .byte KEYSH , mus_casino_key+0 + .byte TEMPO , 182*mus_casino_tbs/2 + .byte VOICE , 127 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 31*mus_casino_mvl/mxv + .byte W06 +mus_casino_1_B1: +mus_casino_1_000: + .byte VOICE , 127 + .byte N04 , En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte VOICE , 126 + .byte N24 , Gs5 , v112 + .byte W24 + .byte VOICE , 127 + .byte N04 , En5 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte VOICE , 126 + .byte N24 , Gs5 , v096 + .byte W24 + .byte PEND +mus_casino_1_001: + .byte VOICE , 127 + .byte N04 , En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte VOICE , 126 + .byte N24 , Gs5 , v096 + .byte W24 + .byte VOICE , 127 + .byte N04 , En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte VOICE , 126 + .byte N24 , Gs5 , v096 + .byte W24 + .byte PEND + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte N04 , En5 , v112 + .byte W96 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte VOICE , 127 + .byte N04 , En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 +mus_casino_1_002: + .byte N04 , En5 , v112 + .byte W08 + .byte En5 , v092 + .byte W08 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte PEND + .byte PATT + .word mus_casino_1_002 +mus_casino_1_003: + .byte N04 , En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W08 + .byte En5 , v092 + .byte W08 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte PEND + .byte PATT + .word mus_casino_1_003 + .byte N04 , En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W08 + .byte En5 , v092 + .byte W08 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W16 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W08 + .byte En5 , v092 + .byte W08 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W08 + .byte En5 , v092 + .byte W08 + .byte En5 , v064 + .byte W08 + .byte PATT + .word mus_casino_1_000 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte PATT + .word mus_casino_1_001 + .byte GOTO + .word mus_casino_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_casino_2: + .byte KEYSH , mus_casino_key+0 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 54*mus_casino_mvl/mxv + .byte PAN , c_v-16 + .byte W06 +mus_casino_2_B1: + .byte VOICE , 1 + .byte VOL , 52*mus_casino_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte N16 , As1 , v112 + .byte W16 + .byte N04 , Fn4 + .byte W08 + .byte As1 + .byte W08 + .byte An1 + .byte W08 + .byte N04 + .byte W08 + .byte Gn4 + .byte W08 + .byte An1 + .byte W08 + .byte As1 + .byte W08 + .byte Gn4 + .byte W08 + .byte An1 + .byte W08 + .byte N04 + .byte W08 + .byte Gs4 + .byte W08 + .byte As1 + .byte W08 + .byte Gn4 + .byte W08 + .byte Gs4 + .byte W08 + .byte As1 + .byte W08 + .byte N08 , An4 + .byte W24 + .byte As4 , v084 + .byte W08 + .byte N24 , As1 , v112 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 48 + .byte VOL , 30*mus_casino_mvl/mxv + .byte N88 , Gn3 + .byte W88 + .byte N08 , Gs3 + .byte W08 + .byte N88 , As3 + .byte W88 + .byte N08 , An3 + .byte W08 + .byte N72 , Gs3 + .byte W72 + .byte N16 , As3 + .byte W16 + .byte N08 , Gs3 + .byte W08 + .byte N48 , Gn3 + .byte W48 + .byte Fn3 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte VOICE , 48 + .byte VOL , 14*mus_casino_mvl/mxv + .byte N04 , En4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Gs4 + .byte W04 + .byte An4 + .byte W04 + .byte TIE , As4 + .byte W96 + .byte W44 + .byte EOT + .byte N04 , Bn4 + .byte W04 + .byte N44 , Cn5 + .byte W22 + .byte N04 , Ds4 + .byte W22 + .byte Bn4 + .byte W04 + .byte N92 , As4 + .byte W92 + .byte N04 , Bn4 + .byte W04 + .byte N48 , Cn5 + .byte W48 + .byte N04 , Cs5 + .byte W04 + .byte N36 , Dn5 + .byte W36 + .byte N08 , Gn4 + .byte W08 + .byte N72 , As4 + .byte W72 + .byte N16 + .byte W16 + .byte N04 , Gs4 + .byte W08 + .byte N48 , Fn4 + .byte W48 + .byte Gs4 + .byte W48 + .byte TIE , As4 + .byte W96 + .byte W40 + .byte EOT + .byte N08 , Bn4 + .byte W08 + .byte N44 , Cs5 + .byte W44 + .byte N04 , Bn4 + .byte W04 + .byte TIE , Cn5 + .byte W96 + .byte W72 + .byte EOT + .byte N14 , Dn5 + .byte W14 + .byte N10 , Cn5 + .byte W10 + .byte N96 , As4 + .byte W96 + .byte N48 , Gs4 + .byte W48 + .byte Gn4 + .byte W48 + .byte N72 , Gs4 + .byte W72 + .byte N16 , As4 + .byte W16 + .byte N08 , Gs4 + .byte W08 + .byte N48 , Gn4 + .byte W48 + .byte N44 , Fn4 + .byte W48 + .byte TIE , As4 + .byte W96 + .byte W40 + .byte EOT + .byte N04 , Bn4 + .byte W04 + .byte Cn5 + .byte W04 + .byte N48 , Cs5 + .byte W48 + .byte VOICE , 17 + .byte VOL , 22*mus_casino_mvl/mxv + .byte N16 , Gs4 + .byte W16 + .byte N04 , Cn5 + .byte W08 + .byte Ds5 + .byte W16 + .byte Gn5 + .byte W24 + .byte TIE , Cn6 + .byte W32 + .byte W88 + .byte EOT + .byte N08 , Dn6 + .byte W08 + .byte N04 , Bn5 + .byte W04 + .byte N36 , As5 + .byte W36 + .byte N08 , Gn5 + .byte W08 + .byte Gs5 + .byte W16 + .byte N32 , As5 + .byte W32 + .byte N08 , Gn5 + .byte W08 + .byte Gs5 + .byte W08 + .byte As5 + .byte W08 + .byte N40 , Dn6 + .byte W40 + .byte N04 , Cn6 + .byte W08 + .byte N16 , As5 + .byte W16 + .byte N04 , Gn5 + .byte W08 + .byte An5 + .byte W04 + .byte N36 , Gs5 + .byte W36 + .byte N04 , Fn5 + .byte W08 + .byte Gn5 + .byte W16 + .byte Gs5 + .byte W24 + .byte Fn5 + .byte W08 + .byte Gn5 + .byte W16 + .byte N32 , Gs5 + .byte W32 + .byte N12 , Cn6 + .byte W12 + .byte N04 , As5 , v088 + .byte W04 + .byte Cn6 + .byte W04 + .byte As5 + .byte W04 + .byte N16 , Gs5 , v112 + .byte W16 + .byte N04 , Fn5 + .byte W08 + .byte W16 + .byte N24 , Gn5 + .byte W32 + .byte N16 , Gs5 + .byte W24 + .byte N16 + .byte W24 + .byte N08 , An5 + .byte W24 + .byte N04 + .byte W16 + .byte N24 , As5 + .byte W32 + .byte N16 , Bn5 + .byte W16 + .byte N04 , Gs5 , v092 + .byte W04 + .byte As5 + .byte W04 + .byte TIE , Cn6 , v112 + .byte W96 + .byte W88 + .byte EOT + .byte N04 , Dn6 , v092 + .byte W04 + .byte Cn6 + .byte W04 + .byte N92 , As5 + .byte W92 + .byte N04 , Gn5 + .byte W04 + .byte N88 , As5 + .byte W88 + .byte N04 , As5 , v112 + .byte W04 + .byte Bn5 + .byte W04 + .byte VOL , 20*mus_casino_mvl/mxv + .byte N72 , Ds6 + .byte W72 + .byte N16 , Dn6 + .byte W16 + .byte N08 , Ds6 + .byte W08 + .byte VOL , 23*mus_casino_mvl/mxv + .byte N04 , Bn5 + .byte W04 + .byte N84 , As5 + .byte W84 + .byte N04 , Gn5 + .byte W04 + .byte Fs5 + .byte W04 + .byte N88 , Fn5 + .byte W88 + .byte N04 , Gn5 + .byte W04 + .byte Gs5 + .byte W04 + .byte N40 , As5 + .byte W40 + .byte N04 , Bn5 + .byte W04 + .byte Cn6 + .byte W04 + .byte N48 , Dn6 + .byte W48 + .byte GOTO + .word mus_casino_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_casino_3: + .byte KEYSH , mus_casino_key+0 + .byte VOICE , 35 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 70*mus_casino_mvl/mxv + .byte PAN , c_v+0 + .byte W06 +mus_casino_3_B1: + .byte VOL , 70*mus_casino_mvl/mxv + .byte N08 , Ds1 , v112 + .byte W96 + .byte En1 + .byte W96 + .byte Fn1 + .byte W96 + .byte As0 + .byte W08 + .byte N04 , Fn1 + .byte W08 + .byte As0 + .byte W08 + .byte N16 + .byte W16 + .byte N04 , An0 + .byte W08 + .byte N08 , As0 + .byte W08 + .byte N04 , Fn1 + .byte W08 + .byte As0 + .byte W08 + .byte N20 + .byte W24 + .byte N08 + .byte W08 + .byte N04 , Fn1 + .byte W08 + .byte As0 + .byte W08 + .byte N08 + .byte W16 + .byte N04 , As1 + .byte W32 + .byte N16 , As0 + .byte W16 + .byte N08 , Dn1 + .byte W08 +mus_casino_3_000: + .byte N08 , Ds1 , v112 + .byte W16 + .byte Ds2 + .byte W08 + .byte N16 , Dn2 + .byte W24 + .byte Cs2 + .byte W24 + .byte Cn2 + .byte W24 + .byte PEND +mus_casino_3_001: + .byte N08 , As1 , v112 + .byte W08 + .byte Gn1 + .byte W08 + .byte En1 + .byte W08 + .byte N16 , Cs1 + .byte W24 + .byte Cs2 + .byte W24 + .byte N08 , Cn2 + .byte W16 + .byte Gn1 + .byte W08 + .byte PEND +mus_casino_3_002: + .byte N08 , Fn1 , v112 + .byte W16 + .byte Fn2 + .byte W08 + .byte Cn2 + .byte W08 + .byte Ds2 + .byte W08 + .byte En2 + .byte W08 + .byte N16 , Fn2 + .byte W24 + .byte N08 , En2 + .byte W16 + .byte Ds2 + .byte W08 + .byte PEND +mus_casino_3_003: + .byte N16 , Dn2 , v112 + .byte W24 + .byte Cn2 + .byte W24 + .byte As1 + .byte W24 + .byte Gs1 + .byte W24 + .byte PEND + .byte PATT + .word mus_casino_3_000 + .byte PATT + .word mus_casino_3_001 +mus_casino_3_004: + .byte N08 , Fn1 , v112 + .byte W16 + .byte Fn2 + .byte W08 + .byte N16 , En2 + .byte W24 + .byte Ds2 + .byte W24 + .byte Dn2 + .byte W24 + .byte PEND + .byte N08 + .byte W08 + .byte As1 + .byte W08 + .byte Gs1 + .byte W08 + .byte N16 , Fn1 + .byte W24 + .byte As1 + .byte W24 + .byte Dn2 + .byte W24 + .byte PATT + .word mus_casino_3_000 + .byte PATT + .word mus_casino_3_001 + .byte PATT + .word mus_casino_3_002 + .byte PATT + .word mus_casino_3_003 + .byte PATT + .word mus_casino_3_000 + .byte PATT + .word mus_casino_3_001 + .byte PATT + .word mus_casino_3_004 + .byte VOL , 72*mus_casino_mvl/mxv + .byte N08 , As1 , v112 + .byte W24 + .byte N72 , As0 + .byte W72 + .byte Gs1 + .byte W72 + .byte N04 + .byte W16 + .byte N08 + .byte W08 + .byte W16 + .byte N32 + .byte W32 + .byte N48 , Gn2 + .byte W48 + .byte N64 , Fn2 + .byte W64 + .byte N04 , Dn2 + .byte W08 + .byte N16 , Fn2 + .byte W16 + .byte N04 , En2 , v084 + .byte W08 + .byte N88 , Ds2 , v112 + .byte W88 + .byte N04 , As1 + .byte W08 +mus_casino_3_005: + .byte N72 , Fn2 , v112 + .byte W72 + .byte N04 , Gn2 + .byte W16 + .byte Fn2 + .byte W08 + .byte PEND +mus_casino_3_006: + .byte N12 , As1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte Gn1 + .byte W16 + .byte Gs1 + .byte W08 + .byte N12 , As1 + .byte W16 + .byte N04 + .byte W08 + .byte N16 , Cn2 + .byte W16 + .byte N04 , Dn2 + .byte W08 + .byte PEND + .byte N40 , Ds2 + .byte W40 + .byte N08 , As1 + .byte W08 + .byte N16 , Ds2 + .byte W16 + .byte N04 , As1 + .byte W08 + .byte Ds2 + .byte W08 + .byte Dn2 + .byte W08 + .byte Ds2 + .byte W08 + .byte N40 , En2 + .byte W40 + .byte N04 , Cs2 + .byte W08 + .byte N40 , Gn2 + .byte W40 + .byte N04 , En2 + .byte W08 + .byte N48 , Gs1 + .byte W48 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte Gs2 + .byte W16 + .byte Gs1 + .byte W08 + .byte W16 + .byte N32 + .byte W32 + .byte N08 , Ds2 + .byte W08 + .byte N04 , Dn2 + .byte W08 + .byte Cs2 + .byte W08 + .byte N24 , Cn2 + .byte W24 + .byte N60 , Dn2 + .byte W60 + .byte W02 + .byte N04 , Gn1 + .byte W10 + .byte N16 , Dn2 + .byte W16 + .byte N04 , As1 , v084 + .byte W08 + .byte N12 , Ds2 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N24 , Gn1 + .byte W24 + .byte N12 , Gn2 + .byte W16 + .byte N04 + .byte W08 + .byte Ds2 + .byte W16 + .byte Cn2 + .byte W08 + .byte PATT + .word mus_casino_3_005 + .byte PATT + .word mus_casino_3_006 + .byte N12 , Gn2 , v112 + .byte W16 + .byte N04 , Ds2 + .byte W08 + .byte N24 , As1 + .byte W24 + .byte N12 , Dn2 + .byte W16 + .byte N04 + .byte W08 + .byte N24 , Ds2 + .byte W24 + .byte N16 , En2 + .byte W16 + .byte N04 , Cs2 + .byte W08 + .byte N24 , As1 + .byte W24 + .byte N16 , En2 + .byte W16 + .byte N04 , Cs2 + .byte W08 + .byte N16 , Gn2 + .byte W16 + .byte N04 , As1 + .byte W08 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_casino_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_casino_4: + .byte KEYSH , mus_casino_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 63*mus_casino_mvl/mxv + .byte N02 , Fn3 , v112 + .byte W02 + .byte Gn3 + .byte W02 + .byte Gs3 + .byte W02 +mus_casino_4_B1: + .byte VOICE , 56 + .byte N08 , Ds4 , v120 + .byte W72 + .byte Ds3 , v112 + .byte W08 + .byte Ds3 , v036 + .byte W16 + .byte En4 , v112 + .byte W08 + .byte En4 , v036 + .byte W08 + .byte Cs4 , v112 + .byte W08 + .byte Cs4 , v036 + .byte W16 + .byte As3 , v112 + .byte W08 + .byte As3 , v036 + .byte W16 + .byte Gn3 , v112 + .byte W08 + .byte N16 , Fs3 + .byte W16 + .byte N08 , Gn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte N16 , As3 + .byte W16 + .byte N08 , Cn4 + .byte W08 + .byte Cn4 , v036 + .byte W16 + .byte Ds4 , v112 + .byte W08 + .byte Ds4 , v036 + .byte W24 + .byte VOICE , 1 + .byte W16 + .byte N32 , Dn4 , v112 + .byte W32 + .byte N08 , Ds4 + .byte W08 + .byte Ds4 , v036 + .byte W16 + .byte N20 , Ds4 , v112 + .byte W24 + .byte N16 , En4 + .byte W16 + .byte N08 , En4 , v036 + .byte W08 + .byte En4 , v112 + .byte W08 + .byte En4 , v036 + .byte W08 + .byte Fn4 , v112 + .byte W08 + .byte VOL , 53*mus_casino_mvl/mxv + .byte N08 , Fn4 , v036 + .byte W16 + .byte As4 , v084 + .byte W08 + .byte VOL , 64*mus_casino_mvl/mxv + .byte N24 , As2 , v112 + .byte W24 + .byte VOICE , 13 + .byte VOL , 51*mus_casino_mvl/mxv + .byte W16 + .byte N08 , Gn4 + .byte W08 + .byte Gn4 , v036 + .byte W48 + .byte As3 , v112 + .byte W08 + .byte As3 , v036 + .byte W16 + .byte Gs4 , v112 + .byte W16 + .byte Gn4 + .byte W24 + .byte Fs4 + .byte W08 + .byte Fn4 + .byte W08 + .byte N04 , As3 + .byte W08 + .byte N08 , Fn4 + .byte W08 + .byte N24 , Gn4 + .byte W24 + .byte W16 + .byte N04 , Gs4 + .byte W32 + .byte N24 + .byte W48 + .byte N08 , As4 + .byte W16 + .byte Gs4 + .byte W24 + .byte Gn4 + .byte W08 + .byte N24 , Fn4 + .byte W24 + .byte N08 , Fs4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte VOL , 33*mus_casino_mvl/mxv + .byte N04 , As3 , v104 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte As3 , v088 + .byte W04 + .byte Gn4 , v080 + .byte W04 + .byte As3 , v072 + .byte W04 + .byte Gn4 + .byte W04 + .byte As3 , v068 + .byte W04 + .byte Gn4 + .byte W04 + .byte As3 , v064 + .byte W04 + .byte Gn4 + .byte W04 + .byte As3 + .byte W04 + .byte Gn4 + .byte W04 + .byte As3 + .byte W04 + .byte Gn4 + .byte W04 + .byte As3 + .byte W04 + .byte Gn4 + .byte W04 + .byte As3 + .byte W04 + .byte Gn4 + .byte W04 + .byte As3 + .byte W04 + .byte Gn4 + .byte W04 + .byte As3 + .byte W04 + .byte Gn4 + .byte W04 + .byte As3 + .byte W04 + .byte Gn4 + .byte W04 + .byte Cs4 , v104 + .byte W04 + .byte As4 , v096 + .byte W04 + .byte Cs4 , v088 + .byte W04 + .byte As4 , v080 + .byte W04 + .byte Cs4 , v072 + .byte W04 + .byte As4 + .byte W04 + .byte Cs4 , v068 + .byte W04 + .byte As4 + .byte W04 + .byte Cs4 , v064 + .byte W04 + .byte As4 + .byte W04 + .byte Cs4 + .byte W04 + .byte As4 + .byte W04 + .byte Cs4 + .byte W04 + .byte As4 + .byte W04 + .byte Cs4 + .byte W04 + .byte As4 + .byte W04 + .byte Cs4 + .byte W04 + .byte As4 + .byte W04 + .byte Cs4 + .byte W04 + .byte As4 + .byte W04 + .byte Cs4 + .byte W04 + .byte As4 + .byte W04 + .byte Cs4 + .byte W04 + .byte As4 + .byte W04 + .byte Cn4 , v104 + .byte W04 + .byte Gs4 , v096 + .byte W04 + .byte Cn4 , v088 + .byte W04 + .byte Gs4 , v080 + .byte W04 + .byte Cn4 , v072 + .byte W04 + .byte Gs4 + .byte W04 + .byte Cn4 , v068 + .byte W04 + .byte Gs4 + .byte W04 + .byte Cn4 , v064 + .byte W04 + .byte Gs4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Dn4 , v104 + .byte W04 + .byte As4 , v096 + .byte W04 + .byte Dn4 , v088 + .byte W04 + .byte As4 , v080 + .byte W04 + .byte Cn4 , v104 + .byte W04 + .byte Gs4 , v096 + .byte W04 + .byte Dn4 , v104 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte Dn4 , v088 + .byte W04 + .byte Gn4 , v080 + .byte W04 + .byte Dn4 , v072 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 , v068 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 , v064 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte As3 , v104 + .byte W04 + .byte Fn4 , v096 + .byte W04 + .byte As3 , v088 + .byte W04 + .byte Fn4 , v080 + .byte W04 + .byte As3 , v072 + .byte W04 + .byte Fn4 + .byte W04 + .byte As3 , v068 + .byte W04 + .byte Fn4 + .byte W04 + .byte As3 , v064 + .byte W04 + .byte Fn4 + .byte W04 + .byte As3 + .byte W04 + .byte Fn4 + .byte W04 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 56 + .byte VOL , 64*mus_casino_mvl/mxv + .byte W16 + .byte N04 , Gs3 , v112 + .byte W04 + .byte N08 , Gs3 , v036 + .byte W28 + .byte N16 , Gs3 , v112 + .byte W16 + .byte N08 , Gs3 , v036 + .byte W08 + .byte N20 , Gs3 , v112 + .byte W24 + .byte N08 , As3 + .byte W08 + .byte N02 , An3 , v064 + .byte W02 + .byte Gs3 , v068 + .byte W02 + .byte Gn3 + .byte W02 + .byte Fs3 , v064 + .byte W80 + .byte W02 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 46 + .byte VOL , 52*mus_casino_mvl/mxv + .byte W80 + .byte N04 , Cs5 , v112 + .byte W08 + .byte As4 + .byte W08 + .byte VOICE , 46 + .byte VOL , 52*mus_casino_mvl/mxv + .byte N04 , Gs4 + .byte W08 + .byte Cn5 , v076 + .byte W08 + .byte Ds5 + .byte W08 + .byte Gn5 , v112 + .byte W08 + .byte Ds5 , v072 + .byte W08 + .byte Cn5 + .byte W08 + .byte Gs4 , v112 + .byte W08 + .byte Cn5 , v076 + .byte W08 + .byte Ds5 + .byte W08 + .byte Gn5 , v112 + .byte W08 + .byte Ds5 , v072 + .byte W08 + .byte Cn5 + .byte W08 + .byte Gs4 , v112 + .byte W08 + .byte Cn5 , v076 + .byte W08 + .byte Dn5 + .byte W08 + .byte Fn5 , v112 + .byte W08 + .byte Dn5 , v072 + .byte W08 + .byte Cn5 + .byte W08 + .byte Gs4 , v112 + .byte W08 + .byte Cn5 , v076 + .byte W08 + .byte Dn5 + .byte W08 + .byte Fn5 , v112 + .byte W08 + .byte Dn5 , v072 + .byte W08 + .byte Cn5 + .byte W08 + .byte Gn4 , v112 + .byte W08 + .byte As4 , v076 + .byte W08 + .byte Dn5 + .byte W08 + .byte Fn5 , v112 + .byte W08 + .byte Dn5 , v072 + .byte W08 + .byte As4 + .byte W08 + .byte Gn4 , v112 + .byte W08 + .byte As4 , v076 + .byte W08 + .byte Dn5 + .byte W08 + .byte Fn5 , v112 + .byte W08 + .byte Dn5 , v072 + .byte W08 + .byte As4 + .byte W08 + .byte Gn4 , v112 + .byte W08 + .byte As4 , v076 + .byte W08 + .byte Cn5 + .byte W08 + .byte Ds5 , v112 + .byte W08 + .byte Cn5 , v072 + .byte W08 + .byte As4 + .byte W08 + .byte Gn4 , v112 + .byte W08 + .byte As4 , v076 + .byte W08 + .byte Cn5 + .byte W08 + .byte Ds5 , v112 + .byte W08 + .byte Cn5 , v072 + .byte W08 + .byte As4 + .byte W08 + .byte Fn4 , v112 + .byte W08 + .byte Gs4 , v076 + .byte W08 + .byte Cn5 + .byte W08 + .byte Ds5 , v112 + .byte W08 + .byte Cn5 , v072 + .byte W08 + .byte Gs4 + .byte W08 + .byte Fn4 , v112 + .byte W08 + .byte Gs4 , v076 + .byte W08 + .byte Cn5 + .byte W08 + .byte Ds5 , v112 + .byte W08 + .byte Cn5 , v072 + .byte W08 + .byte Gs4 + .byte W08 + .byte Fn4 , v112 + .byte W08 + .byte Gs4 , v076 + .byte W08 + .byte As4 + .byte W08 + .byte Dn5 , v112 + .byte W08 + .byte As4 , v072 + .byte W08 + .byte Gs4 + .byte W08 + .byte Fn4 , v112 + .byte W08 + .byte Gs4 , v076 + .byte W08 + .byte As4 + .byte W08 + .byte Dn5 , v112 + .byte W08 + .byte As4 , v072 + .byte W08 + .byte Gs4 + .byte W08 + .byte Ds4 , v112 + .byte W08 + .byte Gn4 , v076 + .byte W08 + .byte As4 + .byte W08 + .byte Dn5 , v112 + .byte W08 + .byte As4 , v072 + .byte W08 + .byte Gn4 + .byte W08 + .byte Ds4 , v112 + .byte W08 + .byte Gn4 , v076 + .byte W08 + .byte As4 + .byte W08 + .byte Dn5 , v112 + .byte W08 + .byte As4 , v072 + .byte W08 + .byte Gn4 + .byte W08 + .byte En4 , v112 + .byte W08 + .byte Gn4 , v076 + .byte W08 + .byte As4 + .byte W08 + .byte Cs5 , v112 + .byte W08 + .byte As4 , v072 + .byte W08 + .byte Gn4 + .byte W08 + .byte En4 , v112 + .byte W08 + .byte Gn4 , v076 + .byte W08 + .byte As4 + .byte W08 + .byte Cs5 , v112 + .byte W08 + .byte As4 , v072 + .byte W08 + .byte Gn4 + .byte W08 + .byte VOICE , 1 + .byte VOL , 61*mus_casino_mvl/mxv + .byte N04 , Gn3 , v112 + .byte W04 + .byte N08 , Gn3 , v036 + .byte W92 + .byte W16 + .byte N04 , Gn3 , v112 + .byte W04 + .byte N08 , Gn3 , v036 + .byte W28 + .byte N16 , Gn3 , v112 + .byte W16 + .byte N08 , Gn3 , v036 + .byte W08 + .byte N04 , Fs3 , v112 + .byte W04 + .byte N08 , Fs3 , v036 + .byte W20 + .byte N04 , Fn3 , v112 + .byte W04 + .byte N08 , Fn3 , v036 + .byte W92 + .byte W16 + .byte N04 , Fn3 , v112 + .byte W04 + .byte N08 , Fn3 , v036 + .byte W28 + .byte N16 , Fn3 , v112 + .byte W16 + .byte N08 , Fn3 , v036 + .byte W08 + .byte N04 , En3 , v112 + .byte W04 + .byte N08 , En3 , v036 + .byte W20 + .byte N04 , Ds3 , v112 + .byte W04 + .byte N08 , Ds3 , v036 + .byte W92 + .byte W16 + .byte N04 , Ds3 , v112 + .byte W04 + .byte N08 , Ds3 , v036 + .byte W28 + .byte N16 , Ds3 , v112 + .byte W16 + .byte N08 , Ds3 , v036 + .byte W32 + .byte W16 + .byte N24 , Dn3 , v112 + .byte W24 + .byte N08 , Dn3 , v036 + .byte W08 + .byte N16 , Ds3 , v112 + .byte W16 + .byte N08 , Ds3 , v036 + .byte W08 + .byte N16 , Ds3 , v112 + .byte W16 + .byte N08 , Ds3 , v036 + .byte W08 + .byte N16 , Ds3 , v112 + .byte W16 + .byte N08 , Ds3 , v036 + .byte W08 + .byte N04 , Ds3 , v112 + .byte W04 + .byte N08 , Ds3 , v036 + .byte W12 + .byte N24 , Fn3 , v112 + .byte W24 + .byte N08 , Fn3 , v036 + .byte W08 + .byte N24 , Gs3 , v112 + .byte W24 + .byte N04 , Gn3 + .byte W08 + .byte Gn3 , v052 + .byte W08 + .byte Gn3 , v088 + .byte W08 + .byte N04 + .byte W04 + .byte N08 , Gn3 , v036 + .byte W20 + .byte N04 , Gn3 , v088 + .byte W04 + .byte N08 , Gn3 , v036 + .byte W20 + .byte N04 , Fs3 , v088 + .byte W04 + .byte N08 , Fs3 , v036 + .byte W20 + .byte N04 , Gn3 , v088 + .byte W04 + .byte N08 , Gn3 , v036 + .byte W12 + .byte N04 , Gn3 , v112 + .byte W04 + .byte N08 , Gn3 , v036 + .byte W28 + .byte N16 , Gn3 , v112 + .byte W16 + .byte N08 , Gn3 , v036 + .byte W08 + .byte N16 , Fs3 , v112 + .byte W16 + .byte N08 , Fs3 , v036 + .byte W08 + .byte N04 , Fn3 , v112 + .byte W08 + .byte Fn3 , v048 + .byte W08 + .byte Fn3 , v088 + .byte W08 + .byte N04 + .byte W24 + .byte N04 + .byte W04 + .byte N08 , Fn3 , v036 + .byte W20 + .byte N04 , En3 , v088 + .byte W04 + .byte N08 , En3 , v036 + .byte W20 + .byte N04 , Fn3 , v088 + .byte W04 + .byte N08 , Fn3 , v036 + .byte W12 + .byte N04 , Fn3 , v112 + .byte W04 + .byte N08 , Fn3 , v036 + .byte W28 + .byte N16 , Fn3 , v112 + .byte W16 + .byte N08 , Fn3 , v036 + .byte W08 + .byte N16 , En3 , v112 + .byte W16 + .byte N08 , En3 , v036 + .byte W08 + .byte N04 , As3 , v112 + .byte W08 + .byte As3 , v048 + .byte W08 + .byte As3 , v088 + .byte W08 + .byte N04 + .byte W04 + .byte N08 , As3 , v036 + .byte W20 + .byte N04 , As3 , v088 + .byte W04 + .byte N08 , As3 , v036 + .byte W44 + .byte N04 , As3 , v088 + .byte W04 + .byte N08 , As3 , v036 + .byte W12 + .byte N04 , As3 , v112 + .byte W04 + .byte N08 , As3 , v036 + .byte W28 + .byte N16 , As3 , v112 + .byte W16 + .byte N08 , As3 , v036 + .byte W32 + .byte N04 , As3 , v112 + .byte W08 + .byte As3 , v048 + .byte W08 + .byte As3 , v088 + .byte W08 + .byte N04 + .byte W04 + .byte N08 , As3 , v036 + .byte W20 + .byte N04 , As3 , v088 + .byte W04 + .byte N08 , As3 , v036 + .byte W20 + .byte N04 , An3 , v088 + .byte W04 + .byte N08 , An3 , v036 + .byte W20 + .byte N04 , As3 , v088 + .byte W04 + .byte N08 , As3 , v036 + .byte W12 + .byte N04 , As3 , v112 + .byte W04 + .byte N08 , As3 , v036 + .byte W28 + .byte N04 , As3 , v088 + .byte W04 + .byte N08 , As3 , v036 + .byte W12 + .byte N04 , As3 , v112 + .byte W04 + .byte N08 , As3 , v036 + .byte W28 + .byte GOTO + .word mus_casino_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_casino_5: + .byte KEYSH , mus_casino_key+0 + .byte VOICE , 56 + .byte PAN , c_v-8 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 68*mus_casino_mvl/mxv + .byte N02 , As3 , v112 + .byte W02 + .byte Cn4 + .byte W02 + .byte Dn4 + .byte W02 +mus_casino_5_B1: + .byte VOL , 72*mus_casino_mvl/mxv + .byte N08 , As4 , v120 + .byte W08 + .byte As4 , v036 + .byte W64 + .byte As3 , v112 + .byte W08 + .byte As3 , v036 + .byte W16 + .byte Gs4 , v112 + .byte W08 + .byte Gs4 , v036 + .byte W08 + .byte Gn4 , v112 + .byte W08 + .byte Gn4 , v036 + .byte W16 + .byte Fn4 , v112 + .byte W08 + .byte Fn4 , v036 + .byte W16 + .byte Ds4 , v112 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N08 , Ds4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N08 , Ds4 + .byte W08 + .byte Ds4 , v036 + .byte W16 + .byte Gn4 , v112 + .byte W08 + .byte Gn4 , v036 + .byte W24 + .byte W96 + .byte VOICE , 1 + .byte VOL , 53*mus_casino_mvl/mxv + .byte W64 + .byte N04 , An4 , v076 + .byte W32 + .byte VOICE , 56 + .byte VOL , 72*mus_casino_mvl/mxv + .byte W16 + .byte N08 , Gn4 , v112 + .byte W08 + .byte Gn4 , v036 + .byte W48 + .byte As3 , v112 + .byte W08 + .byte As3 , v036 + .byte W16 + .byte Gs4 , v112 + .byte W08 + .byte Gs4 , v036 + .byte W08 + .byte Gn4 , v112 + .byte W08 + .byte Gn4 , v036 + .byte W16 + .byte Fs4 , v112 + .byte W08 + .byte Fn4 + .byte W08 + .byte N04 , As3 + .byte W04 + .byte As3 , v036 + .byte W04 + .byte N08 , Fn4 , v112 + .byte W08 + .byte N24 , Gn4 + .byte W24 + .byte N08 , Gn4 , v036 + .byte W16 + .byte N04 , Gs4 , v112 + .byte W04 + .byte N08 , Gs4 , v036 + .byte W28 + .byte N24 , Gs4 , v112 + .byte W24 + .byte N08 , Gs4 , v036 + .byte W24 + .byte As4 , v112 + .byte W08 + .byte As4 , v036 + .byte W08 + .byte Gs4 , v112 + .byte W08 + .byte Gs4 , v036 + .byte W16 + .byte Gn4 , v112 + .byte W08 + .byte N24 , Fn4 + .byte W24 + .byte N08 , Fs4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N72 , Gn4 + .byte W72 + .byte N08 , Gn4 , v036 + .byte W24 + .byte W96 + .byte W96 + .byte W72 + .byte VOICE , 60 + .byte VOL , 62*mus_casino_mvl/mxv + .byte N04 , Dn4 , v112 + .byte W08 + .byte Ds4 + .byte W08 + .byte Fn4 + .byte W07 + .byte VOICE , 60 + .byte W01 + .byte N04 , Gn3 + .byte W04 + .byte N08 , Gn3 , v036 + .byte W12 + .byte Gn4 , v112 + .byte W08 + .byte N02 , Fs4 , v064 + .byte W02 + .byte Fn4 , v068 + .byte W02 + .byte En4 + .byte W02 + .byte Ds4 , v064 + .byte W02 + .byte Dn4 , v068 + .byte W02 + .byte Cs4 + .byte W36 + .byte W02 + .byte N08 , As3 , v112 + .byte W08 + .byte As3 , v036 + .byte W16 + .byte VOL , 58*mus_casino_mvl/mxv + .byte N24 , Gs4 , v112 + .byte W24 + .byte N08 , Gn4 + .byte W08 + .byte Gn4 , v036 + .byte W08 + .byte En4 , v112 + .byte W08 + .byte N24 , Fn4 + .byte W24 + .byte N08 , Gn4 + .byte W08 + .byte Gn4 , v036 + .byte W08 + .byte En4 , v112 + .byte W08 + .byte En4 , v036 + .byte W16 + .byte Gs4 , v104 + .byte W08 + .byte Gs4 , v036 + .byte W24 + .byte N24 , Gs4 , v104 + .byte W24 + .byte N08 , Gs4 , v036 + .byte W24 + .byte N24 , As4 , v100 + .byte W24 + .byte N04 , Gs4 , v112 + .byte W08 + .byte As4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte N72 , As3 + .byte W72 + .byte N04 , Cn4 , v092 + .byte W04 + .byte Dn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Gs4 + .byte W04 + .byte N96 , As4 , v100 + .byte W96 + .byte VOICE , 56 + .byte VOL , 62*mus_casino_mvl/mxv + .byte N08 , As4 , v036 + .byte W16 + .byte N04 , Gs4 , v112 + .byte W04 + .byte N08 , Gs4 , v036 + .byte W28 + .byte N16 , Gs4 , v112 + .byte W16 + .byte N08 , Gs4 , v036 + .byte W08 + .byte N20 , Gs4 , v112 + .byte W20 + .byte N04 , Gs4 , v036 + .byte W04 + .byte N08 , As4 , v112 + .byte W08 + .byte N02 , An4 , v064 + .byte W02 + .byte Gs4 , v068 + .byte W02 + .byte Gn4 + .byte W02 + .byte Fs4 , v064 + .byte W80 + .byte W02 + .byte VOICE , 24 + .byte VOL , 58*mus_casino_mvl/mxv + .byte W24 + .byte N24 , Gn4 , v112 + .byte W24 + .byte Fn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte N16 , Dn4 + .byte W16 + .byte N24 , Ds4 + .byte W24 + .byte En4 + .byte W24 + .byte N08 , Fn4 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N08 , Cn4 + .byte W08 + .byte N16 , Cs4 + .byte W16 + .byte N08 , Dn4 + .byte W08 + .byte N24 , Cn5 + .byte W24 + .byte As4 + .byte W24 + .byte Gs4 + .byte W24 + .byte N16 , Gn4 + .byte W16 + .byte N24 , Gs4 + .byte W24 + .byte An4 + .byte W24 + .byte N08 , As4 + .byte W08 + .byte N16 , Gn4 + .byte W16 + .byte N08 , Ds4 + .byte W08 + .byte Ds4 , v036 + .byte W24 + .byte N24 , Gs4 , v112 + .byte W24 + .byte Gn4 + .byte W24 + .byte N16 , Fn4 + .byte W16 + .byte N04 , En4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N24 , Dn4 + .byte W24 + .byte N08 , Cn4 + .byte W08 + .byte N16 , Cs4 + .byte W16 + .byte N08 , Dn4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N08 , Fn4 + .byte W08 + .byte Fn4 , v036 + .byte W24 + .byte As4 , v112 + .byte W08 + .byte An4 + .byte W08 + .byte Gs4 + .byte W08 + .byte N16 , Gn4 + .byte W16 + .byte N08 , Fn4 + .byte W08 + .byte N24 , Ds4 + .byte W24 + .byte N08 , Ds4 , v036 + .byte W16 + .byte N24 , En4 , v112 + .byte W24 + .byte N08 , Ds4 + .byte W08 + .byte N16 , En4 + .byte W16 + .byte N08 , As3 + .byte W08 + .byte N16 , Gn4 + .byte W16 + .byte N08 , En4 + .byte W08 + .byte En4 , v036 + .byte W24 + .byte N24 , Gs4 , v112 + .byte W24 + .byte Gn4 + .byte W24 + .byte Fn4 + .byte W24 + .byte N16 , Ds4 + .byte W16 + .byte N24 , Dn4 + .byte W24 + .byte N08 , Cs4 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N08 , Ds4 + .byte W08 + .byte N16 , En4 + .byte W16 + .byte N08 , Fn4 + .byte W08 + .byte Fn4 , v036 + .byte W24 + .byte N16 , Fn4 , v112 + .byte W16 + .byte N24 , Dn4 + .byte W24 + .byte N08 , Cs4 + .byte W08 + .byte N24 , Dn5 + .byte W24 + .byte N48 , Cn5 + .byte W48 + .byte N40 , As4 + .byte W40 + .byte N04 , Gn4 + .byte W08 + .byte N24 , Gs4 + .byte W24 + .byte Ds5 + .byte W24 + .byte Dn5 + .byte W24 + .byte Cn5 + .byte W24 + .byte N16 , Dn5 + .byte W16 + .byte N24 , Cn5 + .byte W24 + .byte N08 , Dn5 + .byte W08 + .byte N16 , As4 + .byte W16 + .byte N08 , Dn4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N08 , Fn4 + .byte W08 + .byte N64 , As4 + .byte W64 + .byte N08 , Dn4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N08 , Fn4 + .byte W08 + .byte N48 , As4 + .byte W48 + .byte Cs5 + .byte W48 + .byte VOICE , 24 + .byte N40 , Ds4 + .byte W40 + .byte N04 , Cn4 + .byte W08 + .byte Gn4 + .byte W04 + .byte N08 , Gn4 , v036 + .byte W20 + .byte N04 , Gs3 , v112 + .byte W08 + .byte Cn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Gn4 + .byte W04 + .byte N08 , Gn4 , v036 + .byte W12 + .byte N04 , Fs4 , v112 + .byte W08 + .byte Fn4 + .byte W04 + .byte N08 , Fn4 , v036 + .byte W12 + .byte N04 , En4 , v112 + .byte W08 + .byte Ds4 + .byte W04 + .byte N08 , Ds4 , v036 + .byte W12 + .byte N04 , Dn4 , v112 + .byte W08 + .byte Cn4 + .byte W04 + .byte N08 , Cn4 , v036 + .byte W12 + .byte N04 , Dn4 , v112 + .byte W08 + .byte N40 , As3 + .byte W40 + .byte N04 , Gn3 + .byte W08 + .byte Gs3 + .byte W04 + .byte N08 , Gs3 , v036 + .byte W12 + .byte N04 , As3 , v112 + .byte W08 + .byte Gn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte As3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte As3 + .byte W08 + .byte N40 , Dn4 + .byte W40 + .byte N04 , Cn4 + .byte W04 + .byte Cn4 , v036 + .byte W04 + .byte N16 , As3 , v112 + .byte W16 + .byte N04 , Gn3 + .byte W04 + .byte Gn3 , v036 + .byte W04 + .byte N40 , Gs3 , v112 + .byte W40 + .byte N04 , Fn3 + .byte W08 + .byte Gn3 + .byte W04 + .byte N08 , Gn3 , v036 + .byte W12 + .byte N04 , Gs3 , v112 + .byte W04 + .byte N08 , Gs3 , v036 + .byte W20 + .byte N04 , Fn3 , v112 + .byte W08 + .byte Gn3 + .byte W04 + .byte N08 , Gn3 , v036 + .byte W12 + .byte N32 , Gs3 , v112 + .byte W32 + .byte N12 , Cn4 + .byte W12 + .byte N04 , As3 , v088 + .byte W04 + .byte Cn4 + .byte W04 + .byte As3 + .byte W04 + .byte N16 , Gs3 , v112 + .byte W16 + .byte N04 , Fn3 + .byte W04 + .byte N08 , Fn3 , v036 + .byte W04 + .byte W16 + .byte N24 , Gn3 , v112 + .byte W24 + .byte N08 , Gn3 , v036 + .byte W08 + .byte N16 , Gs3 , v112 + .byte W16 + .byte N08 , Gs3 , v036 + .byte W08 + .byte N16 , Gs3 , v112 + .byte W16 + .byte N08 , Gs3 , v036 + .byte W08 + .byte N16 , An3 , v112 + .byte W16 + .byte N08 , An3 , v036 + .byte W08 + .byte N04 , An3 , v112 + .byte W04 + .byte N08 , An3 , v036 + .byte W12 + .byte N24 , As3 , v112 + .byte W24 + .byte N08 , As3 , v036 + .byte W08 + .byte N24 , Bn3 , v112 + .byte W24 + .byte N08 , Bn3 , v036 + .byte W24 + .byte N16 , Gs3 , v112 + .byte W16 + .byte N08 , Cn4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N08 , Gn4 + .byte W08 + .byte Gn4 , v036 + .byte W24 + .byte N16 , Gs3 , v112 + .byte W16 + .byte N08 , Cn4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N08 , Gn4 + .byte W08 + .byte N16 , Cn5 , v096 + .byte W16 + .byte N04 , As4 , v092 + .byte W04 + .byte Cn5 + .byte W04 + .byte N16 , Fn4 , v112 + .byte W16 + .byte N08 , Cn4 + .byte W08 + .byte N24 , Dn4 + .byte W24 + .byte N16 , Gn3 + .byte W16 + .byte N08 , As3 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N08 , Fn4 + .byte W08 + .byte Fn4 , v036 + .byte W24 + .byte N16 , Gn3 , v112 + .byte W16 + .byte N08 , As3 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N24 , As4 , v096 + .byte W24 + .byte N04 , Gs4 , v088 + .byte W04 + .byte As4 + .byte W04 + .byte N16 , Dn4 , v112 + .byte W16 + .byte N08 , Ds4 + .byte W08 + .byte N16 , As4 , v096 + .byte W16 + .byte N08 , Gs4 , v112 + .byte W08 + .byte Fs4 + .byte W08 + .byte Fs4 , v036 + .byte W08 + .byte Fs4 , v112 + .byte W08 + .byte Fs4 , v036 + .byte W24 + .byte N16 , Fn4 , v112 + .byte W16 + .byte N08 , Fs4 + .byte W08 + .byte N24 , As4 , v096 + .byte W24 + .byte N16 , Gs4 , v112 + .byte W16 + .byte N08 , Fn4 + .byte W08 + .byte N16 , Fs4 + .byte W16 + .byte N08 , Fs4 , v036 + .byte W08 + .byte N16 , Dn4 , v112 + .byte W16 + .byte N08 , Ds4 + .byte W08 + .byte N72 , Fn4 + .byte W72 + .byte N16 , Ds4 + .byte W16 + .byte N08 , Fn4 + .byte W08 + .byte N48 , As4 + .byte W48 + .byte N24 , Dn5 , v096 + .byte W24 + .byte VOICE , 56 + .byte VOL , 72*mus_casino_mvl/mxv + .byte N08 , Gn4 , v112 + .byte W08 + .byte N04 , Gs4 + .byte W08 + .byte N08 , An4 + .byte W08 + .byte GOTO + .word mus_casino_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_casino_6: + .byte KEYSH , mus_casino_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-61 + .byte VOL , 36*mus_casino_mvl/mxv + .byte W04 + .byte PAN , c_v-64 + .byte W02 +mus_casino_6_B1: + .byte PAN , c_v-64 + .byte VOL , 36*mus_casino_mvl/mxv + .byte N08 , Gn2 , v112 + .byte W96 + .byte N08 + .byte W96 + .byte Gs2 + .byte W96 + .byte W16 + .byte N32 , Fn3 + .byte W32 + .byte N08 + .byte W24 + .byte N20 + .byte W24 + .byte N16 , Gn3 + .byte W24 + .byte N08 + .byte W16 + .byte Gs3 + .byte W32 + .byte N20 , As2 + .byte W20 + .byte VOICE , 85 + .byte N02 , Ds3 + .byte W02 + .byte Fn3 + .byte W02 +mus_casino_6_000: + .byte N02 , Gn3 , v112 + .byte W16 + .byte N02 + .byte W08 + .byte N04 , As3 + .byte W16 + .byte N02 , Gn3 + .byte W08 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N04 , As3 + .byte W16 + .byte N02 , Gn3 + .byte W08 + .byte PEND +mus_casino_6_001: + .byte N02 , Gn3 , v112 + .byte W16 + .byte N02 + .byte W08 + .byte N04 , As3 + .byte W16 + .byte N02 , Gn3 + .byte W08 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte En3 , v076 + .byte W08 + .byte Gn3 , v112 + .byte W08 + .byte PEND +mus_casino_6_002: + .byte N02 , Gs3 , v112 + .byte W16 + .byte N02 + .byte W08 + .byte N04 , Cn4 + .byte W16 + .byte N02 , Fn3 + .byte W08 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N04 , Cn4 + .byte W16 + .byte N02 , Gs3 + .byte W08 + .byte PEND +mus_casino_6_003: + .byte N02 , Dn4 , v112 + .byte W16 + .byte N02 + .byte W08 + .byte N04 , As3 + .byte W16 + .byte N02 + .byte W08 + .byte Gs3 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte Fn3 , v076 + .byte W08 + .byte Gs3 , v112 + .byte W08 + .byte PEND +mus_casino_6_004: + .byte N02 , Gn3 , v112 + .byte W16 + .byte N02 + .byte W08 + .byte N04 , As3 + .byte W08 + .byte N02 , Gn3 , v084 + .byte W08 + .byte As3 , v112 + .byte W08 + .byte Gn3 + .byte W16 + .byte N02 + .byte W08 + .byte N04 , As3 + .byte W16 + .byte N02 , Gn3 + .byte W08 + .byte PEND + .byte PATT + .word mus_casino_6_001 + .byte PATT + .word mus_casino_6_002 + .byte N02 , Dn4 , v112 + .byte W04 + .byte Ds4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte N04 , As3 + .byte W16 + .byte N02 + .byte W08 + .byte Gs3 + .byte W08 + .byte Fn3 , v076 + .byte W08 + .byte Gs3 , v112 + .byte W08 + .byte N02 + .byte W08 + .byte Fn3 , v076 + .byte W08 + .byte Dn3 , v112 + .byte W08 + .byte PATT + .word mus_casino_6_000 + .byte PATT + .word mus_casino_6_001 + .byte PATT + .word mus_casino_6_002 + .byte PATT + .word mus_casino_6_003 + .byte PATT + .word mus_casino_6_004 + .byte PATT + .word mus_casino_6_001 + .byte PATT + .word mus_casino_6_002 + .byte N04 , Dn4 , v112 + .byte W72 + .byte VOICE , 80 + .byte N04 , An2 + .byte W04 + .byte As2 + .byte W04 + .byte Bn2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte VOL , 31*mus_casino_mvl/mxv + .byte N96 , Ds3 + .byte W96 +mus_casino_6_005: + .byte N48 , Dn3 , v112 + .byte W48 + .byte Cn3 + .byte W48 + .byte PEND + .byte N64 , Dn3 + .byte W64 + .byte N04 , As2 + .byte W08 + .byte N16 , Dn3 + .byte W16 + .byte N04 , Cs3 + .byte W08 + .byte N88 , Cn3 + .byte W88 + .byte N04 , As2 + .byte W08 + .byte N72 , Cn3 + .byte W72 + .byte N16 , Dn3 + .byte W16 + .byte N04 , Cn3 + .byte W08 + .byte N48 , As2 + .byte W48 + .byte Gs2 + .byte W48 + .byte N88 , As2 + .byte W88 + .byte N04 , Gn2 + .byte W08 + .byte N48 + .byte W48 + .byte As2 + .byte W48 + .byte N72 , Gn3 + .byte W72 + .byte N16 , Gs3 + .byte W16 + .byte N08 , Gn3 + .byte W08 + .byte N48 , Fn3 + .byte W48 + .byte Ds3 + .byte W48 + .byte N64 , Fn3 + .byte W64 + .byte N04 , Dn3 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N04 , Dn3 + .byte W08 + .byte N48 , Ds3 + .byte W48 + .byte N40 , Cn3 + .byte W40 + .byte N04 , As2 + .byte W08 + .byte N72 , Ds3 + .byte W72 + .byte N16 , Fn3 + .byte W16 + .byte N08 , Ds3 + .byte W08 + .byte PATT + .word mus_casino_6_005 + .byte N60 , Dn3 , v112 + .byte W60 + .byte W02 + .byte N10 , As2 + .byte W08 + .byte N18 , Cn3 + .byte W16 + .byte N10 , Cs3 + .byte W10 + .byte N48 , En3 + .byte W48 + .byte Cs3 + .byte W48 + .byte PAN , c_v+63 + .byte N04 , Ds3 + .byte W96 + .byte W16 + .byte N04 + .byte W32 + .byte N16 + .byte W24 + .byte N04 + .byte W24 + .byte Dn3 + .byte W96 + .byte W16 + .byte N04 + .byte W32 + .byte N16 + .byte W24 + .byte N04 , Cs3 + .byte W24 + .byte Cn3 + .byte W96 + .byte W16 + .byte N04 + .byte W32 + .byte N16 + .byte W24 + .byte N04 + .byte W24 + .byte W16 + .byte N24 , As2 + .byte W32 + .byte N16 , Cn3 + .byte W24 + .byte N16 + .byte W24 + .byte N16 + .byte W24 + .byte N04 + .byte W16 + .byte N24 , Dn3 + .byte W32 + .byte Fn3 + .byte W24 + .byte N04 , Ds3 + .byte W08 + .byte Ds3 , v052 + .byte W08 + .byte Ds3 , v088 + .byte W08 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N04 + .byte W16 + .byte Ds3 , v112 + .byte W32 + .byte N16 + .byte W24 + .byte N16 + .byte W24 + .byte N04 , Dn3 + .byte W08 + .byte Dn3 , v048 + .byte W08 + .byte Dn3 , v088 + .byte W08 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N04 + .byte W16 + .byte Dn3 , v112 + .byte W32 + .byte N16 + .byte W24 + .byte Cs3 + .byte W24 + .byte N04 , Fs3 + .byte W08 + .byte Fs3 , v048 + .byte W08 + .byte Fs3 , v088 + .byte W08 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N04 + .byte W16 + .byte Fs3 , v112 + .byte W32 + .byte N16 + .byte W24 + .byte N04 + .byte W24 + .byte Fn3 + .byte W08 + .byte Fn3 , v048 + .byte W08 + .byte Fn3 , v088 + .byte W08 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N04 + .byte W16 + .byte Fn3 , v112 + .byte W32 + .byte Fn3 , v088 + .byte W16 + .byte Fn3 , v112 + .byte W32 + .byte GOTO + .word mus_casino_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_casino_7: + .byte KEYSH , mus_casino_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 36*mus_casino_mvl/mxv + .byte PAN , c_v+63 + .byte W06 +mus_casino_7_B1: + .byte PAN , c_v+63 + .byte VOL , 36*mus_casino_mvl/mxv + .byte N08 , Dn3 , v112 + .byte W96 + .byte Cs3 + .byte W96 + .byte Ds3 + .byte W96 + .byte W16 + .byte N32 , As3 + .byte W32 + .byte N08 , Cn4 + .byte W24 + .byte N20 + .byte W24 + .byte N16 , Cs4 + .byte W24 + .byte N08 + .byte W16 + .byte Dn4 + .byte W32 + .byte N20 , As1 + .byte W20 + .byte VOICE , 84 + .byte N02 , As3 + .byte W02 + .byte Cn4 + .byte W02 +mus_casino_7_000: + .byte N02 , Ds4 , v112 + .byte W16 + .byte As3 + .byte W08 + .byte N04 , Gn4 + .byte W16 + .byte N02 , Ds4 + .byte W08 + .byte N02 + .byte W16 + .byte As3 + .byte W08 + .byte N04 , Gn4 + .byte W16 + .byte N02 , Ds4 + .byte W08 + .byte PEND +mus_casino_7_001: + .byte N02 , En4 , v112 + .byte W16 + .byte As3 + .byte W08 + .byte N04 , Gn4 + .byte W16 + .byte N02 , En4 + .byte W08 + .byte N02 + .byte W16 + .byte Cs4 + .byte W08 + .byte En4 + .byte W08 + .byte Cs4 , v076 + .byte W08 + .byte En4 , v112 + .byte W08 + .byte PEND +mus_casino_7_002: + .byte N02 , Fn4 , v112 + .byte W16 + .byte Cn4 + .byte W08 + .byte N04 , Gs4 + .byte W16 + .byte N02 , Ds4 + .byte W08 + .byte N02 + .byte W16 + .byte Cn4 + .byte W08 + .byte N04 , Gs4 + .byte W16 + .byte N02 , Ds4 + .byte W08 + .byte PEND +mus_casino_7_003: + .byte N02 , As4 , v112 + .byte W16 + .byte N02 + .byte W08 + .byte N04 , Gs4 + .byte W16 + .byte N02 + .byte W08 + .byte Fn4 + .byte W16 + .byte N02 + .byte W08 + .byte Dn4 + .byte W08 + .byte Cn4 , v076 + .byte W08 + .byte Dn4 , v112 + .byte W08 + .byte PEND +mus_casino_7_004: + .byte N02 , Ds4 , v112 + .byte W16 + .byte As3 + .byte W08 + .byte N04 , Gn4 + .byte W08 + .byte N02 , Ds4 , v084 + .byte W08 + .byte Gn4 , v112 + .byte W08 + .byte Ds4 + .byte W16 + .byte As3 + .byte W08 + .byte N04 , Gn4 + .byte W16 + .byte N02 , Ds4 + .byte W08 + .byte PEND + .byte PATT + .word mus_casino_7_001 + .byte PATT + .word mus_casino_7_002 + .byte N02 , An4 , v112 + .byte W04 + .byte As4 + .byte W04 + .byte An4 + .byte W04 + .byte As4 + .byte W04 + .byte An4 + .byte W04 + .byte As4 + .byte W04 + .byte N04 , Gs4 + .byte W16 + .byte N02 + .byte W08 + .byte Fn4 + .byte W08 + .byte Dn4 , v076 + .byte W08 + .byte Fn4 , v112 + .byte W08 + .byte Dn4 + .byte W08 + .byte Cn4 , v076 + .byte W08 + .byte As3 , v112 + .byte W08 + .byte PATT + .word mus_casino_7_000 + .byte PATT + .word mus_casino_7_001 + .byte PATT + .word mus_casino_7_002 + .byte PATT + .word mus_casino_7_003 + .byte PATT + .word mus_casino_7_004 + .byte PATT + .word mus_casino_7_001 + .byte PATT + .word mus_casino_7_002 + .byte N04 , As4 , v112 + .byte W72 + .byte VOICE , 81 + .byte N04 , Cs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte En3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Fs3 + .byte W04 + .byte VOL , 31*mus_casino_mvl/mxv + .byte N96 , Gn3 + .byte W96 + .byte N48 , Fn3 + .byte W48 + .byte Ds3 + .byte W48 + .byte N64 , Fn3 + .byte W64 + .byte N04 , Dn3 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N04 , En3 + .byte W08 + .byte N88 , Ds3 + .byte W88 + .byte N04 , Cn3 + .byte W08 + .byte N72 , Ds3 + .byte W72 + .byte N16 , Fn3 + .byte W16 + .byte N04 , Ds3 + .byte W08 + .byte N48 , Dn3 + .byte W48 + .byte Cn3 + .byte W48 + .byte N88 , Dn3 + .byte W88 + .byte N04 , As2 + .byte W08 + .byte N48 , Cs3 + .byte W48 + .byte En3 + .byte W48 + .byte N72 , Cn4 + .byte W72 + .byte N16 , Dn4 + .byte W16 + .byte N08 , Cn4 + .byte W08 + .byte N48 , As3 + .byte W48 + .byte Gs3 + .byte W48 + .byte N60 , As3 + .byte W60 + .byte W02 + .byte N04 , Gn3 + .byte W10 + .byte N16 , As3 + .byte W16 + .byte N04 , Gn3 + .byte W08 + .byte N48 , Gs3 + .byte W48 + .byte N36 , Gn3 + .byte W40 + .byte N04 , Ds3 + .byte W08 + .byte N72 , Gs3 + .byte W72 + .byte N16 , As3 + .byte W16 + .byte N08 , Gs3 + .byte W08 + .byte N48 , Gn3 + .byte W48 + .byte Fn3 + .byte W48 + .byte N60 , As3 + .byte W60 + .byte W02 + .byte N10 , Gn3 + .byte W10 + .byte N16 , Gs3 + .byte W16 + .byte N08 , An3 + .byte W08 + .byte N48 , As3 + .byte W48 + .byte Gn3 + .byte W48 + .byte PAN , c_v+0 + .byte VOL , 53*mus_casino_mvl/mxv + .byte N24 , Gs1 + .byte W96 + .byte PAN , c_v+0 + .byte VOL , 52*mus_casino_mvl/mxv + .byte N16 + .byte W16 + .byte N04 , Gs2 + .byte W24 + .byte Gs1 + .byte W08 + .byte N16 , Gs2 + .byte W24 + .byte N24 , Gs1 + .byte W24 + .byte Gn1 + .byte W96 + .byte N16 + .byte W16 + .byte N04 , Gn2 + .byte W24 + .byte Gn1 + .byte W08 + .byte N16 , Gn2 + .byte W16 + .byte N04 , Gn1 + .byte W08 + .byte N16 + .byte W16 + .byte N04 , Fs1 + .byte W08 + .byte N24 , Fn1 + .byte W96 + .byte N16 + .byte W16 + .byte N04 , Fn2 + .byte W24 + .byte Fn1 + .byte W08 + .byte N16 , Fn2 + .byte W16 + .byte N04 , Fn1 + .byte W08 + .byte N16 + .byte W16 + .byte N04 , En1 + .byte W08 + .byte N16 , Ds1 + .byte W16 + .byte N24 , Ds2 + .byte W24 + .byte N04 , En1 + .byte W08 + .byte N16 , Fn1 + .byte W40 + .byte N04 + .byte W08 + .byte N08 + .byte W16 + .byte N04 + .byte N04 , Bn1 + .byte W24 + .byte N08 , Fn1 + .byte N12 , As1 + .byte W24 + .byte N04 + .byte W08 + .byte N16 + .byte W16 + .byte N04 , An1 + .byte W08 + .byte N24 , Gs1 + .byte W96 + .byte N16 + .byte W16 + .byte N04 , Gs2 + .byte W24 + .byte Gs1 + .byte W08 + .byte N16 , Gs2 + .byte W24 + .byte N24 , Gs1 + .byte W24 + .byte Gn1 + .byte W96 + .byte N16 + .byte W16 + .byte N04 , Gn2 + .byte W24 + .byte Gn1 + .byte W08 + .byte N16 , Gn2 + .byte W16 + .byte N04 , Gn1 + .byte W08 + .byte N16 + .byte W16 + .byte N04 , As1 + .byte W08 + .byte N24 , Bn1 + .byte W96 + .byte N16 + .byte W16 + .byte N04 , Fs2 + .byte W24 + .byte Bn1 + .byte W08 + .byte N16 , Bn2 + .byte W16 + .byte N04 , Bn1 + .byte W08 + .byte N16 + .byte W16 + .byte N04 , Fs1 + .byte W08 + .byte N16 , As1 + .byte W96 + .byte W96 + .byte GOTO + .word mus_casino_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_casino_8: + .byte KEYSH , mus_casino_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 54*mus_casino_mvl/mxv + .byte W06 +mus_casino_8_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 65*mus_casino_mvl/mxv + .byte N48 , An2 , v112 + .byte W24 + .byte N08 , Cn1 + .byte N08 , En1 + .byte W24 + .byte N04 , Dn1 + .byte W04 + .byte Dn1 , v072 + .byte W04 + .byte N04 + .byte W08 + .byte Dn1 , v112 + .byte W08 + .byte N08 , Cn1 + .byte N08 , En1 + .byte W08 + .byte Cn1 + .byte W08 + .byte Dn1 + .byte W08 +mus_casino_8_000: + .byte N04 , Cn1 , v112 + .byte W48 + .byte En1 + .byte W24 + .byte Cn1 + .byte W16 + .byte N04 + .byte W08 + .byte PEND +mus_casino_8_001: + .byte W16 + .byte N04 , Cn1 , v112 + .byte W32 + .byte En1 + .byte W16 + .byte N04 + .byte W08 + .byte Cn1 + .byte W16 + .byte N04 + .byte W08 + .byte PEND + .byte PATT + .word mus_casino_8_000 + .byte W16 + .byte N04 , Cn1 , v112 + .byte W32 + .byte Dn1 + .byte W08 + .byte N04 + .byte W08 + .byte En1 + .byte W08 + .byte Cn1 + .byte W16 + .byte En1 + .byte W08 + .byte PATT + .word mus_casino_8_000 + .byte PATT + .word mus_casino_8_001 + .byte PATT + .word mus_casino_8_000 + .byte W16 + .byte N04 , Cn1 , v112 + .byte W32 + .byte Dn1 + .byte W08 + .byte N04 + .byte W08 + .byte En1 + .byte W08 + .byte Cn1 + .byte W24 + .byte VOL , 54*mus_casino_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte N04 , Dn1 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte GOTO + .word mus_casino_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_casino_9: + .byte KEYSH , mus_casino_key+0 + .byte VOICE , 82 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 36*mus_casino_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte W06 +mus_casino_9_B1: + .byte BEND , c_v+2 + .byte N08 , As4 , v120 + .byte W72 + .byte As3 , v112 + .byte W24 + .byte Gs4 + .byte W16 + .byte Gn4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Ds4 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N08 , Ds4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N08 , Ds4 + .byte W24 + .byte Gn4 + .byte W32 + .byte W16 + .byte N32 , Dn4 + .byte W32 + .byte N08 , Ds4 + .byte W24 + .byte N20 + .byte W24 + .byte N16 , En4 + .byte W24 + .byte N08 + .byte W16 + .byte Fn4 + .byte W24 + .byte As4 + .byte W32 +mus_casino_9_000: + .byte N08 , Ds1 , v112 + .byte W16 + .byte Ds2 + .byte W08 + .byte N16 , Dn2 + .byte W24 + .byte Cs2 + .byte W24 + .byte Cn2 + .byte W24 + .byte PEND +mus_casino_9_001: + .byte N08 , As1 , v112 + .byte W08 + .byte Gn1 + .byte W08 + .byte En1 + .byte W08 + .byte N16 , Cs1 + .byte W24 + .byte Cs2 + .byte W24 + .byte N08 , Cn2 + .byte W16 + .byte Gn1 + .byte W08 + .byte PEND +mus_casino_9_002: + .byte N08 , Fn1 , v112 + .byte W16 + .byte Fn2 + .byte W08 + .byte Cn2 + .byte W08 + .byte Ds2 + .byte W08 + .byte En2 + .byte W08 + .byte N16 , Fn2 + .byte W24 + .byte N08 , En2 + .byte W16 + .byte Ds2 + .byte W08 + .byte PEND +mus_casino_9_003: + .byte N16 , Dn2 , v112 + .byte W24 + .byte Cn2 + .byte W24 + .byte As1 + .byte W24 + .byte Gs1 + .byte W24 + .byte PEND + .byte PATT + .word mus_casino_9_000 + .byte PATT + .word mus_casino_9_001 +mus_casino_9_004: + .byte N08 , Fn1 , v112 + .byte W16 + .byte Fn2 + .byte W08 + .byte N16 , En2 + .byte W24 + .byte Ds2 + .byte W24 + .byte Dn2 + .byte W24 + .byte PEND + .byte N08 + .byte W08 + .byte As1 + .byte W08 + .byte Gs1 + .byte W08 + .byte N16 , Fn1 + .byte W24 + .byte As1 + .byte W24 + .byte Dn2 + .byte W24 + .byte PATT + .word mus_casino_9_000 + .byte PATT + .word mus_casino_9_001 + .byte PATT + .word mus_casino_9_002 + .byte PATT + .word mus_casino_9_003 + .byte PATT + .word mus_casino_9_000 + .byte PATT + .word mus_casino_9_001 + .byte PATT + .word mus_casino_9_004 + .byte N08 , As1 , v112 + .byte W96 + .byte VOICE , 83 + .byte VOL , 27*mus_casino_mvl/mxv + .byte W24 + .byte N24 , Gn4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte N16 , Dn4 + .byte W16 + .byte N24 , Ds4 + .byte W24 + .byte En4 + .byte W24 + .byte N08 , Fn4 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N08 , Cn4 + .byte W08 + .byte N16 , Cs4 + .byte W16 + .byte N08 , Dn4 + .byte W08 + .byte N24 , Cn5 + .byte W24 + .byte As4 + .byte W24 + .byte Gs4 + .byte W24 + .byte N16 , Gn4 + .byte W16 + .byte N24 , Gs4 + .byte W24 + .byte An4 + .byte W24 + .byte N08 , As4 + .byte W08 + .byte N16 , Gn4 + .byte W16 + .byte N08 , Ds4 + .byte W08 + .byte W24 + .byte N24 , Gs4 + .byte W24 + .byte Gn4 + .byte W24 + .byte N16 , Fn4 + .byte W16 + .byte N04 , En4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N24 , Dn4 + .byte W24 + .byte N08 , Cn4 + .byte W08 + .byte N16 , Cs4 + .byte W16 + .byte N08 , Dn4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N08 , Fn4 + .byte W08 + .byte W24 + .byte As4 + .byte W08 + .byte An4 + .byte W08 + .byte Gs4 + .byte W08 + .byte N16 , Gn4 + .byte W16 + .byte N08 , Fn4 + .byte W08 + .byte N24 , Ds4 + .byte W24 + .byte W16 + .byte En4 + .byte W24 + .byte N08 , Ds4 + .byte W08 + .byte N16 , En4 + .byte W16 + .byte N08 , As3 + .byte W08 + .byte N16 , Gn4 + .byte W16 + .byte N08 , En4 + .byte W08 + .byte W24 + .byte N24 , Gs4 + .byte W24 + .byte Gn4 + .byte W24 + .byte Fn4 + .byte W24 + .byte N16 , Ds4 + .byte W16 + .byte N24 , Dn4 + .byte W24 + .byte N08 , Cs4 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N08 , Ds4 + .byte W08 + .byte N16 , En4 + .byte W16 + .byte N08 , Fn4 + .byte W08 + .byte W24 + .byte N16 + .byte W16 + .byte N24 , Dn4 + .byte W24 + .byte N08 , Cs4 + .byte W08 + .byte N24 , Dn5 + .byte W24 + .byte N48 , Cn5 + .byte W48 + .byte N40 , As4 + .byte W40 + .byte N04 , Gn4 + .byte W08 + .byte N24 , Gs4 + .byte W24 + .byte Ds5 + .byte W24 + .byte Dn5 + .byte W24 + .byte Cn5 + .byte W24 + .byte N16 , Dn5 + .byte W16 + .byte N24 , Cn5 + .byte W24 + .byte N08 , Dn5 + .byte W08 + .byte N16 , As4 + .byte W16 + .byte N08 , Dn4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N08 , Fn4 + .byte W08 + .byte N64 , As4 + .byte W64 + .byte N08 , Dn4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N08 , Fn4 + .byte W08 + .byte N48 , As4 + .byte W48 + .byte Cs5 + .byte W48 + .byte VOICE , 82 + .byte VOL , 30*mus_casino_mvl/mxv + .byte PAN , c_v-64 + .byte BEND , c_v+0 + .byte N40 , Ds4 + .byte W40 + .byte N04 , Cn4 + .byte W08 + .byte Gn4 + .byte W24 + .byte Gs3 + .byte W08 + .byte Cn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Gn4 + .byte W16 + .byte Fs4 + .byte W08 + .byte Fn4 + .byte W16 + .byte En4 + .byte W08 + .byte Ds4 + .byte W16 + .byte Dn4 + .byte W08 + .byte Cn4 + .byte W16 + .byte Dn4 + .byte W08 + .byte N40 , As3 + .byte W40 + .byte N04 , Gn3 + .byte W08 + .byte Gs3 + .byte W16 + .byte As3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte As3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte As3 + .byte W08 + .byte N40 , Dn4 + .byte W40 + .byte N04 , Cn4 + .byte W08 + .byte N16 , As3 + .byte W16 + .byte N04 , Gn3 + .byte W08 + .byte N40 , Gs3 + .byte W40 + .byte N04 , Fn3 + .byte W08 + .byte Gn3 + .byte W16 + .byte Gs3 + .byte W24 + .byte Fn3 + .byte W08 + .byte Gn3 + .byte W16 + .byte N32 , Gs3 + .byte W32 + .byte N12 , Cn4 + .byte W12 + .byte N04 , As3 + .byte W04 + .byte Cn4 + .byte W04 + .byte As3 + .byte W04 + .byte N16 , Gs3 + .byte W16 + .byte N04 , Fn3 + .byte W08 + .byte W16 + .byte N24 , Gn3 + .byte W32 + .byte N16 , Gs3 + .byte W24 + .byte N16 + .byte W24 + .byte An3 + .byte W24 + .byte N04 + .byte W16 + .byte N24 , As3 + .byte W32 + .byte Bn3 + .byte W24 + .byte W24 + .byte N16 , Gs3 + .byte W16 + .byte N08 , Cn4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N08 , Gn4 + .byte W32 + .byte N16 , Gs3 + .byte W16 + .byte N08 , Cn4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N08 , Gn4 + .byte W08 + .byte N16 , Cn5 + .byte W16 + .byte N04 , As4 , v092 + .byte W04 + .byte Cn5 + .byte W04 + .byte N16 , Fn4 , v112 + .byte W16 + .byte N08 , Cn4 + .byte W08 + .byte N24 , Dn4 + .byte W24 + .byte N16 , Gn3 + .byte W16 + .byte N08 , As3 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N08 , Fn4 + .byte W32 + .byte N16 , Gn3 + .byte W16 + .byte N08 , As3 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N24 , As4 + .byte W24 + .byte N04 , Gs4 , v088 + .byte W04 + .byte As4 + .byte W04 + .byte N16 , Dn4 , v112 + .byte W16 + .byte N08 , Ds4 + .byte W08 + .byte N16 , As4 + .byte W16 + .byte N08 , Gs4 + .byte W08 + .byte Fs4 + .byte W16 + .byte N08 + .byte W32 + .byte N16 , Fn4 + .byte W16 + .byte N08 , Fs4 + .byte W08 + .byte N24 , As4 + .byte W24 + .byte N16 , Gs4 + .byte W16 + .byte N08 , Fn4 + .byte W08 + .byte N16 , Fs4 + .byte W24 + .byte Dn4 + .byte W16 + .byte N08 , Ds4 + .byte W08 + .byte N72 , Fn4 + .byte W72 + .byte N16 , Ds4 + .byte W16 + .byte N08 , Fn4 + .byte W08 + .byte N48 , As4 + .byte W72 + .byte N08 , Gn4 + .byte W08 + .byte N04 , Gs4 + .byte W08 + .byte N08 , An4 + .byte W08 + .byte GOTO + .word mus_casino_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_casino_10: + .byte KEYSH , mus_casino_key+0 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+16 + .byte VOL , 49*mus_casino_mvl/mxv + .byte W06 +mus_casino_10_B1: + .byte N08 , As3 , v112 + .byte W96 + .byte As2 + .byte W96 + .byte Cn3 + .byte W96 + .byte W16 + .byte N32 , Gs3 + .byte W32 + .byte N08 + .byte W24 + .byte N20 + .byte W24 + .byte N16 , As3 + .byte W24 + .byte N08 + .byte W16 + .byte N08 + .byte W24 + .byte As5 , v068 + .byte W32 + .byte VOICE , 56 + .byte W16 + .byte N08 , As3 , v112 + .byte W56 + .byte Ds3 + .byte W24 + .byte Cs4 + .byte W16 + .byte As3 + .byte W24 + .byte En3 + .byte W08 + .byte Gn3 + .byte W24 + .byte N24 , As3 + .byte W24 + .byte W16 + .byte N04 , Cn4 + .byte W32 + .byte N24 + .byte W48 + .byte N08 , Dn4 + .byte W16 + .byte Cn4 + .byte W24 + .byte As3 + .byte W08 + .byte N24 , Gs3 + .byte W24 + .byte N08 , An3 + .byte W08 + .byte Gs3 + .byte W08 + .byte An3 + .byte W08 + .byte N72 , As3 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte VOICE , 60 + .byte N04 + .byte W08 + .byte Cn4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Ds3 + .byte W16 + .byte N08 , As3 + .byte W08 + .byte N02 , An3 , v064 + .byte W02 + .byte Gs3 , v068 + .byte W02 + .byte Gn3 + .byte W02 + .byte Fs3 , v064 + .byte W02 + .byte Fn3 , v068 + .byte W02 + .byte En3 + .byte W36 + .byte W02 + .byte N08 , Ds3 , v112 + .byte W24 + .byte N24 , Cs4 + .byte W24 + .byte N08 , As3 + .byte W16 + .byte Gn3 + .byte W08 + .byte N24 , As3 + .byte W24 + .byte N08 , Cs4 + .byte W16 + .byte Gn3 + .byte W08 + .byte W16 + .byte Ds4 + .byte W32 + .byte N24 , Cn4 + .byte W44 + .byte W02 + .byte Dn4 + .byte W02 + .byte W24 + .byte N04 , Cn4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Cn4 + .byte W06 + .byte As3 + .byte W10 + .byte Cn4 + .byte W08 + .byte As3 + .byte W08 + .byte Gs3 + .byte W08 + .byte As3 + .byte W06 + .byte Fn3 + .byte W10 + .byte N72 , Ds3 + .byte W72 + .byte N04 , Fn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Gs3 + .byte W04 + .byte As3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cn4 + .byte W04 + .byte N24 , Cs4 + .byte W24 + .byte N08 , As3 + .byte W08 + .byte Gn3 + .byte W08 + .byte En3 + .byte W08 + .byte N16 , Cs3 + .byte W16 + .byte N08 , Gn3 + .byte W08 + .byte N24 , Cs4 + .byte W24 + .byte VOICE , 56 + .byte W16 + .byte N04 , Cn4 + .byte W32 + .byte N16 + .byte W24 + .byte N20 + .byte W24 + .byte N08 , Dn4 + .byte W08 + .byte N02 , Cs4 , v064 + .byte W02 + .byte Cn4 , v068 + .byte W02 + .byte Bn3 + .byte W02 + .byte As3 , v064 + .byte W80 + .byte W02 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 1 + .byte N04 , Cn3 , v112 + .byte W96 + .byte W16 + .byte N04 + .byte W32 + .byte N16 + .byte W24 + .byte N04 , Bn2 + .byte W24 + .byte As2 + .byte W96 + .byte W16 + .byte N04 + .byte W32 + .byte N16 + .byte W24 + .byte N04 + .byte W24 + .byte Gs2 + .byte W96 + .byte W16 + .byte N04 + .byte W32 + .byte N16 + .byte W24 + .byte N04 + .byte W24 + .byte W16 + .byte N24 , Gn2 + .byte W32 + .byte N16 , Gs2 + .byte W24 + .byte N16 + .byte W24 + .byte An2 + .byte W24 + .byte N04 + .byte W16 + .byte N24 , As2 + .byte W32 + .byte Dn3 + .byte W24 + .byte N04 , Cn3 + .byte W08 + .byte Cn3 , v052 + .byte W08 + .byte Cn3 , v088 + .byte W08 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N04 + .byte W16 + .byte Cn3 , v112 + .byte W32 + .byte N16 + .byte W24 + .byte Bn2 + .byte W24 + .byte N04 , As2 + .byte W08 + .byte As2 , v048 + .byte W08 + .byte As2 , v088 + .byte W08 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N04 + .byte W16 + .byte As2 , v112 + .byte W32 + .byte N16 + .byte W24 + .byte N16 + .byte W24 +mus_casino_10_000: + .byte N04 , Ds3 , v112 + .byte W08 + .byte Ds3 , v048 + .byte W08 + .byte Ds3 , v088 + .byte W08 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte PEND + .byte N04 + .byte W16 + .byte Ds3 , v112 + .byte W32 + .byte N16 + .byte W24 + .byte N04 + .byte W24 + .byte PATT + .word mus_casino_10_000 + .byte N04 , Dn3 , v088 + .byte W16 + .byte Dn3 , v112 + .byte W32 + .byte Dn3 , v088 + .byte W16 + .byte Dn3 , v112 + .byte W32 + .byte GOTO + .word mus_casino_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_casino: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_casino_pri @ Priority + .byte mus_casino_rev @ Reverb. + + .word mus_casino_grp + + .word mus_casino_1 + .word mus_casino_2 + .word mus_casino_3 + .word mus_casino_4 + .word mus_casino_5 + .word mus_casino_6 + .word mus_casino_7 + .word mus_casino_8 + .word mus_casino_9 + .word mus_casino_10 + + .end diff --git a/sound/songs/mus_con_fan.s b/sound/songs/mus_con_fan.s new file mode 100644 index 0000000000..1935a13ced --- /dev/null +++ b/sound/songs/mus_con_fan.s @@ -0,0 +1,1215 @@ + .include "MPlayDef.s" + + .equ mus_con_fan_grp, voicegroup_868EC7C + .equ mus_con_fan_pri, 0 + .equ mus_con_fan_rev, reverb_set+50 + .equ mus_con_fan_mvl, 127 + .equ mus_con_fan_key, 0 + .equ mus_con_fan_tbs, 1 + .equ mus_con_fan_exg, 0 + .equ mus_con_fan_cmp, 1 + + .section .rodata + .global mus_con_fan + .align 2 + +@********************** Track 1 **********************@ + +mus_con_fan_1: + .byte KEYSH , mus_con_fan_key+0 + .byte TEMPO , 148*mus_con_fan_tbs/2 + .byte VOICE , 127 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 79*mus_con_fan_mvl/mxv + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_con_fan_1_B1: +mus_con_fan_1_000: + .byte N02 , Gn5 , v076 + .byte W08 + .byte Gn5 , v036 + .byte W08 + .byte Gn5 , v048 + .byte W08 + .byte Gn5 , v076 + .byte W08 + .byte Gn5 , v036 + .byte W08 + .byte Gn5 , v048 + .byte W08 + .byte Gn5 , v076 + .byte W08 + .byte Gn5 , v036 + .byte W08 + .byte Gn5 , v048 + .byte W08 + .byte Gn5 , v076 + .byte W08 + .byte Gn5 , v036 + .byte W08 + .byte Gn5 , v048 + .byte W08 + .byte PEND + .byte PATT + .word mus_con_fan_1_000 + .byte PATT + .word mus_con_fan_1_000 + .byte N02 , Gn5 , v076 + .byte W08 + .byte Gn5 , v036 + .byte W08 + .byte Gn5 , v048 + .byte W08 + .byte Gn5 , v076 + .byte W08 + .byte Gn5 , v036 + .byte W08 + .byte Gn5 , v048 + .byte W08 + .byte Gn5 , v076 + .byte W08 + .byte Gn5 , v036 + .byte W08 + .byte Gn5 , v048 + .byte W08 + .byte Gn5 , v076 + .byte W08 + .byte Gn5 , v036 + .byte W08 + .byte Gn5 , v056 + .byte W08 + .byte GOTO + .word mus_con_fan_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_con_fan_2: + .byte KEYSH , mus_con_fan_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-1 + .byte VOL , 100*mus_con_fan_mvl/mxv + .byte W12 + .byte N06 , Fn3 , v088 + .byte W12 + .byte Cn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte An3 + .byte W12 + .byte Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W12 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N04 , Fn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte An3 + .byte W08 + .byte N06 , Fs3 + .byte W12 + .byte Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W12 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W12 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N04 , Fs4 + .byte W08 + .byte Cs4 + .byte W08 + .byte As3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Dn4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Bn3 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gn4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Gn4 + .byte W08 + .byte N04 + .byte W08 + .byte Fs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte N24 , An4 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N09 + .byte W12 + .byte N04 + .byte W08 + .byte Gn4 + .byte W08 + .byte En4 + .byte W08 +mus_con_fan_2_B1: + .byte VOICE , 24 + .byte PAN , c_v+16 + .byte VOL , 94*mus_con_fan_mvl/mxv + .byte N04 , Fs4 , v052 + .byte W08 + .byte Gn4 + .byte W08 + .byte Gs4 + .byte W08 + .byte An4 + .byte W24 + .byte VOICE , 73 + .byte N04 , Fs5 , v040 + .byte W08 + .byte Gn5 + .byte W08 + .byte Gs5 + .byte W08 + .byte An5 + .byte W08 + .byte Dn6 + .byte W08 + .byte Fs5 + .byte W08 + .byte N36 , An5 , v032 + .byte W12 + .byte MOD , 5 + .byte VOL , 94*mus_con_fan_mvl/mxv + .byte W04 + .byte 88*mus_con_fan_mvl/mxv + .byte W04 + .byte 81*mus_con_fan_mvl/mxv + .byte W04 + .byte 77*mus_con_fan_mvl/mxv + .byte W04 + .byte 74*mus_con_fan_mvl/mxv + .byte W04 + .byte 94*mus_con_fan_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte N04 , Bn5 + .byte W04 + .byte N08 , An5 + .byte W08 + .byte N48 , Gn5 + .byte W24 + .byte MOD , 5 + .byte VOL , 90*mus_con_fan_mvl/mxv + .byte W04 + .byte 88*mus_con_fan_mvl/mxv + .byte W04 + .byte 83*mus_con_fan_mvl/mxv + .byte W04 + .byte 77*mus_con_fan_mvl/mxv + .byte W04 + .byte 74*mus_con_fan_mvl/mxv + .byte W04 + .byte 71*mus_con_fan_mvl/mxv + .byte W04 + .byte VOICE , 24 + .byte MOD , 0 + .byte VOL , 94*mus_con_fan_mvl/mxv + .byte N04 , En4 , v052 + .byte W08 + .byte Fn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Gn4 + .byte W24 + .byte VOICE , 73 + .byte N04 , En5 , v040 + .byte W08 + .byte Fs5 + .byte W08 + .byte Gn5 + .byte W08 + .byte N04 + .byte W08 + .byte Fs5 + .byte W08 + .byte En5 + .byte W08 + .byte N36 , Dn5 + .byte W12 + .byte MOD , 5 + .byte VOL , 89*mus_con_fan_mvl/mxv + .byte W04 + .byte 86*mus_con_fan_mvl/mxv + .byte W04 + .byte 83*mus_con_fan_mvl/mxv + .byte W04 + .byte 78*mus_con_fan_mvl/mxv + .byte W04 + .byte 75*mus_con_fan_mvl/mxv + .byte W04 + .byte 74*mus_con_fan_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 94*mus_con_fan_mvl/mxv + .byte N04 , Cs5 + .byte W04 + .byte N08 , Dn5 + .byte W08 + .byte N24 , En5 + .byte W24 + .byte N16 , Cn6 + .byte W16 + .byte N04 , As5 + .byte W08 + .byte GOTO + .word mus_con_fan_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_con_fan_3: + .byte KEYSH , mus_con_fan_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 100*mus_con_fan_mvl/mxv + .byte N04 , Cn2 , v064 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N24 , Fn1 + .byte W36 + .byte N03 , Cn2 , v032 + .byte W06 + .byte Cn2 , v048 + .byte W06 + .byte N06 + .byte W12 + .byte Cn2 , v060 + .byte W12 + .byte N04 , Cn2 , v064 + .byte W08 + .byte Fn2 , v052 + .byte W08 + .byte Cn2 , v064 + .byte W08 + .byte N24 , Fs1 + .byte W36 + .byte N03 , Cs2 , v032 + .byte W06 + .byte Cs2 , v048 + .byte W06 + .byte N06 + .byte W12 + .byte Cs2 , v060 + .byte W12 + .byte N04 , Cs2 , v064 + .byte W08 + .byte Fs2 , v052 + .byte W08 + .byte Cs2 , v064 + .byte W08 + .byte N06 , Gn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte N04 , Gn2 + .byte W08 + .byte Dn2 + .byte W08 + .byte Gn2 + .byte W04 + .byte An2 + .byte W04 + .byte N20 , An1 + .byte W48 + .byte N04 , En2 + .byte W12 + .byte N08 , An1 + .byte W12 + .byte N04 , An2 + .byte W08 + .byte En2 + .byte W08 + .byte An1 + .byte W08 +mus_con_fan_3_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_con_fan_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_con_fan_4: + .byte KEYSH , mus_con_fan_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 100*mus_con_fan_mvl/mxv + .byte PAN , c_v+63 + .byte N02 , Fn4 , v040 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 + .byte W12 + .byte MOD , 5 + .byte W22 + .byte 0 + .byte W02 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N04 + .byte W12 + .byte N04 + .byte W12 + .byte N04 + .byte W08 + .byte Cn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte N32 , Fs4 + .byte W14 + .byte MOD , 5 + .byte W22 + .byte 0 + .byte N02 + .byte W06 + .byte N02 + .byte W08 + .byte N04 + .byte W10 + .byte N04 + .byte W12 + .byte N04 + .byte W08 + .byte Cs4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Gn4 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Bn3 + .byte W08 + .byte Gn4 + .byte W08 + .byte N04 + .byte W08 + .byte Fs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte N24 , En4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte W12 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W12 + .byte N08 + .byte W12 + .byte N04 + .byte W08 + .byte Dn4 + .byte W08 + .byte An3 + .byte W08 +mus_con_fan_4_B1: + .byte PAN , c_v-64 + .byte VOL , 69*mus_con_fan_mvl/mxv + .byte N04 , Fs4 , v040 + .byte W08 + .byte Gn4 + .byte W08 + .byte Gs4 + .byte W08 + .byte An4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte PAN , c_v+63 + .byte N04 , Fs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Gs4 + .byte W08 + .byte An4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte PAN , c_v-64 + .byte N04 , En4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte An4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte PAN , c_v+63 + .byte N04 , Cn4 + .byte W08 + .byte En4 + .byte W08 + .byte Gn4 + .byte W08 + .byte En4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Cn5 + .byte W08 + .byte PAN , c_v-64 + .byte N04 , En4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Fn4 + .byte W08 + .byte PAN , c_v+63 + .byte N04 , En4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte En4 + .byte W08 + .byte PAN , c_v-64 + .byte N04 , As3 + .byte W08 + .byte Dn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte As4 + .byte W08 + .byte PAN , c_v+63 + .byte N04 , En4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Cn5 + .byte W08 + .byte Gn4 + .byte W08 + .byte Cn5 + .byte W08 + .byte En5 + .byte W08 + .byte GOTO + .word mus_con_fan_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_con_fan_5: + .byte KEYSH , mus_con_fan_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 96*mus_con_fan_mvl/mxv + .byte N02 , Cn2 , v064 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N72 , Fn1 , v072 + .byte W72 + .byte N04 , Cn1 , v064 + .byte W08 + .byte An1 + .byte W08 + .byte Fn2 + .byte W08 + .byte N30 , Fs1 , v072 + .byte W36 + .byte N03 , Fs1 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N03 + .byte W12 + .byte N04 , Cs1 + .byte W08 + .byte As1 + .byte W08 + .byte Fs2 + .byte W08 + .byte N06 , Gn1 , v072 + .byte W12 + .byte Dn1 , v064 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte N04 + .byte W08 + .byte Gn1 + .byte W08 + .byte Bn1 + .byte W08 + .byte N24 , An1 , v072 + .byte W36 + .byte N03 , An1 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N09 + .byte W12 + .byte N04 + .byte W08 + .byte Bn1 + .byte W08 + .byte Cs2 + .byte W08 +mus_con_fan_5_B1: + .byte VOL , 88*mus_con_fan_mvl/mxv + .byte N08 , Dn2 , v072 + .byte W16 + .byte N04 , Dn2 , v056 + .byte W08 + .byte N08 , An1 + .byte W16 + .byte N04 , Dn2 + .byte W08 + .byte N08 , Dn2 , v072 + .byte W16 + .byte N04 , Dn2 , v056 + .byte W08 + .byte N08 , An1 + .byte W08 + .byte N04 , As1 + .byte W08 + .byte Bn1 + .byte W08 + .byte N08 , Cn2 , v072 + .byte W16 + .byte N04 , Cn2 , v056 + .byte W08 + .byte N08 , An1 + .byte W16 + .byte N04 , Cn2 + .byte W08 + .byte N08 , Cn2 , v072 + .byte W16 + .byte N04 , Cn2 , v056 + .byte W08 + .byte N08 , Gn1 + .byte W08 + .byte N04 , An1 + .byte W08 + .byte As1 + .byte W08 + .byte N08 , Bn1 , v072 + .byte W16 + .byte N04 , Bn1 , v056 + .byte W08 + .byte N08 , Gn1 + .byte W16 + .byte N04 , Bn1 + .byte W08 + .byte N08 , Bn1 , v072 + .byte W16 + .byte N04 , Bn1 , v056 + .byte W08 + .byte N08 , Gn1 + .byte W08 + .byte N04 , Gs1 + .byte W08 + .byte An1 + .byte W08 + .byte N08 , As1 , v072 + .byte W16 + .byte N04 , As1 , v056 + .byte W08 + .byte N08 , Fn1 + .byte W08 + .byte N04 , As1 + .byte W08 + .byte Fn1 + .byte W08 + .byte N08 , Cn2 , v072 + .byte W16 + .byte N04 , Cn2 , v056 + .byte W08 + .byte N08 , Gn1 + .byte W16 + .byte N04 , Cn2 + .byte W08 + .byte GOTO + .word mus_con_fan_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_con_fan_6: + .byte KEYSH , mus_con_fan_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 100*mus_con_fan_mvl/mxv + .byte W12 + .byte N48 , An2 , v048 + .byte W96 + .byte An2 , v064 + .byte W96 + .byte N24 , An2 , v052 + .byte W24 + .byte Gn2 , v044 + .byte W24 + .byte An2 , v056 + .byte W24 + .byte Gn2 , v044 + .byte W24 + .byte N48 , An2 , v064 + .byte W96 +mus_con_fan_6_B1: + .byte VOL , 77*mus_con_fan_mvl/mxv + .byte N04 , Cn1 , v096 + .byte N48 , An2 + .byte W16 + .byte N04 , Cn1 , v080 + .byte W08 + .byte En1 , v096 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte Cn1 , v096 + .byte W16 + .byte En1 , v076 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v096 + .byte W16 + .byte En1 , v080 + .byte W08 +mus_con_fan_6_000: + .byte N04 , Cn1 , v096 + .byte W16 + .byte Cn1 , v080 + .byte W08 + .byte En1 , v096 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte Cn1 , v096 + .byte W16 + .byte En1 , v076 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v096 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte PEND + .byte PATT + .word mus_con_fan_6_000 + .byte N04 , Cn1 , v096 + .byte W08 + .byte En1 , v080 + .byte W08 + .byte Cn1 , v084 + .byte W08 + .byte En1 , v096 + .byte W16 + .byte En1 , v088 + .byte W08 + .byte Cn1 , v096 + .byte W08 + .byte En1 , v084 + .byte W08 + .byte Cn1 , v088 + .byte W08 + .byte En1 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v096 + .byte W08 + .byte GOTO + .word mus_con_fan_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_con_fan_7: + .byte KEYSH , mus_con_fan_key+0 + .byte VOICE , 83 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 100*mus_con_fan_mvl/mxv + .byte PAN , c_v-62 + .byte N02 , An3 , v064 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 + .byte W12 + .byte MOD , 5 + .byte W22 + .byte 0 + .byte W02 + .byte N02 , An3 , v052 + .byte W06 + .byte N02 + .byte W06 + .byte N04 + .byte W12 + .byte N04 + .byte W12 + .byte N04 + .byte W08 + .byte Fn3 + .byte W08 + .byte An3 + .byte W08 + .byte N32 , As3 + .byte W14 + .byte MOD , 5 + .byte W22 + .byte 0 + .byte N02 + .byte W06 + .byte N02 + .byte W08 + .byte N04 + .byte W10 + .byte N04 + .byte W12 + .byte N04 + .byte W08 + .byte Fs3 + .byte W08 + .byte As3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Bn3 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Dn3 + .byte W08 + .byte Bn3 + .byte W08 + .byte N04 + .byte W08 + .byte As3 + .byte W08 + .byte Bn3 + .byte W08 + .byte N24 , An3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte W12 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte An2 + .byte W12 + .byte N08 + .byte W12 + .byte N04 + .byte W08 + .byte Bn2 + .byte W08 + .byte Cs3 + .byte W08 +mus_con_fan_7_B1: + .byte PAN , c_v+0 + .byte VOL , 75*mus_con_fan_mvl/mxv + .byte N04 , Fs3 , v052 + .byte W08 + .byte N12 , An3 + .byte W16 + .byte N12 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gs3 + .byte W08 + .byte An3 + .byte W08 + .byte N60 , Dn4 + .byte W24 + .byte MOD , 5 + .byte W36 + .byte N04 , Cn4 + .byte W04 + .byte N08 , Dn4 + .byte W08 + .byte MOD , 0 + .byte N04 , Cn4 + .byte W08 + .byte An3 + .byte W08 + .byte En3 + .byte W08 + .byte An3 + .byte W08 + .byte En3 + .byte W08 + .byte Cn3 + .byte W08 + .byte En3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte N12 , Gn3 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fs3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N36 , As3 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N04 , An3 + .byte W04 + .byte N08 , As3 + .byte W08 + .byte N04 , Cn4 + .byte W08 + .byte Gn3 + .byte W08 + .byte Cn4 + .byte W08 + .byte N16 , Gn4 + .byte W16 + .byte N04 , Cn5 + .byte W08 + .byte GOTO + .word mus_con_fan_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_con_fan_8: + .byte KEYSH , mus_con_fan_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-16 + .byte VOL , 100*mus_con_fan_mvl/mxv + .byte W12 + .byte N06 , An2 , v064 + .byte W12 + .byte Fn2 + .byte W06 + .byte An2 + .byte W06 + .byte Cn3 + .byte W12 + .byte An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N04 , An3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte N06 , As2 + .byte W12 + .byte Fs2 + .byte W06 + .byte As2 + .byte W06 + .byte Cs3 + .byte W12 + .byte As2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fs3 + .byte W12 + .byte Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N04 , As3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Bn2 + .byte W08 + .byte Gn3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Bn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Bn3 + .byte W08 + .byte N04 + .byte W08 + .byte As3 + .byte W08 + .byte Bn3 + .byte W08 + .byte N24 , Cs4 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N09 + .byte W12 + .byte N04 + .byte W08 + .byte Bn3 + .byte W08 + .byte An3 + .byte W08 +mus_con_fan_8_B1: + .byte VOICE , 24 + .byte VOL , 93*mus_con_fan_mvl/mxv + .byte N04 , Dn4 , v052 + .byte W08 + .byte En4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Fs4 + .byte W24 + .byte VOICE , 73 + .byte N04 , An4 + .byte W08 + .byte Bn4 + .byte W08 + .byte Cs5 + .byte W08 + .byte Dn5 + .byte W08 + .byte Fs5 + .byte W08 + .byte An4 + .byte W08 + .byte N36 , Cn5 + .byte W36 + .byte N04 , Dn5 + .byte W04 + .byte N08 , Cn5 + .byte W08 + .byte N48 + .byte W48 + .byte VOICE , 24 + .byte N04 , Gn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte An3 + .byte W08 + .byte Bn3 + .byte W24 + .byte VOICE , 73 + .byte N04 , Gn4 + .byte W08 + .byte An4 + .byte W08 + .byte Bn4 + .byte W08 + .byte N04 + .byte W08 + .byte An4 + .byte W08 + .byte Gn4 + .byte W08 + .byte N36 , Fn4 + .byte W36 + .byte N04 , En4 + .byte W04 + .byte N08 , Fn4 + .byte W08 + .byte N24 , Gn4 + .byte W24 + .byte N16 , Gn5 + .byte W16 + .byte N04 , En5 + .byte W08 + .byte GOTO + .word mus_con_fan_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_con_fan: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_con_fan_pri @ Priority + .byte mus_con_fan_rev @ Reverb. + + .word mus_con_fan_grp + + .word mus_con_fan_1 + .word mus_con_fan_2 + .word mus_con_fan_3 + .word mus_con_fan_4 + .word mus_con_fan_5 + .word mus_con_fan_6 + .word mus_con_fan_7 + .word mus_con_fan_8 + + .end diff --git a/sound/songs/mus_con_k.s b/sound/songs/mus_con_k.s new file mode 100644 index 0000000000..7639517ac7 --- /dev/null +++ b/sound/songs/mus_con_k.s @@ -0,0 +1,824 @@ + .include "MPlayDef.s" + + .equ mus_con_k_grp, voicegroup_869167C + .equ mus_con_k_pri, 0 + .equ mus_con_k_rev, reverb_set+50 + .equ mus_con_k_mvl, 127 + .equ mus_con_k_key, 0 + .equ mus_con_k_tbs, 1 + .equ mus_con_k_exg, 0 + .equ mus_con_k_cmp, 1 + + .section .rodata + .global mus_con_k + .align 2 + +@********************** Track 1 **********************@ + +mus_con_k_1: + .byte KEYSH , mus_con_k_key+0 + .byte TEMPO , 128*mus_con_k_tbs/2 + .byte VOICE , 127 + .byte LFOS , 44 + .byte PAN , c_v+4 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 46*mus_con_k_mvl/mxv + .byte W24 +mus_con_k_1_B1: +mus_con_k_1_000: + .byte N02 , Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N02 + .byte W08 + .byte Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N02 + .byte W08 + .byte Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N02 + .byte W08 + .byte Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N02 + .byte W08 + .byte PEND +mus_con_k_1_001: + .byte N02 , Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N02 + .byte W08 + .byte Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N02 + .byte W08 + .byte Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W04 + .byte Gn5 , v060 + .byte W04 + .byte Gn5 , v064 + .byte W08 + .byte Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N02 + .byte W08 + .byte PEND + .byte PATT + .word mus_con_k_1_000 + .byte PATT + .word mus_con_k_1_001 + .byte PATT + .word mus_con_k_1_000 + .byte PATT + .word mus_con_k_1_001 + .byte PATT + .word mus_con_k_1_000 + .byte PATT + .word mus_con_k_1_001 + .byte GOTO + .word mus_con_k_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_con_k_2: + .byte KEYSH , mus_con_k_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 57*mus_con_k_mvl/mxv + .byte W24 +mus_con_k_2_B1: + .byte N20 , Bn3 , v112 + .byte W24 + .byte N04 , As3 + .byte W16 + .byte Bn3 + .byte W08 + .byte N08 , Cs4 + .byte W16 + .byte N04 , En4 + .byte W08 + .byte N08 , Bn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte N08 + .byte W24 + .byte Gs3 + .byte W16 + .byte N04 , Ds4 + .byte W08 + .byte N08 , Fs3 + .byte W08 + .byte N04 , Gs3 + .byte W08 + .byte Fs3 + .byte W08 + .byte N08 , En3 + .byte W24 + .byte N08 + .byte W24 + .byte Fs3 + .byte W24 + .byte En3 + .byte W24 + .byte N24 , Fs3 + .byte W24 + .byte N08 , Fn3 + .byte W16 + .byte Fs3 + .byte W08 + .byte Gs3 + .byte W24 + .byte N08 + .byte W24 + .byte N12 , Bn3 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte As3 + .byte W08 + .byte Bn3 + .byte W08 + .byte N08 , Cs4 + .byte W24 + .byte Bn3 + .byte W16 + .byte N04 , As3 + .byte W08 + .byte N08 , Fs3 + .byte W24 + .byte N08 + .byte W24 + .byte Bn3 + .byte W24 + .byte Cs4 + .byte W24 + .byte En3 + .byte N24 , En4 + .byte W24 + .byte N08 , En3 + .byte N08 , Ds4 + .byte W16 + .byte Bn3 + .byte W08 + .byte Fs3 + .byte N08 , Cn4 + .byte W24 + .byte En3 + .byte N08 , Cs4 + .byte W24 + .byte N24 , Fs3 + .byte W24 + .byte N08 , Fn3 + .byte W16 + .byte Fs3 + .byte W08 + .byte Bn3 + .byte W24 + .byte N08 + .byte W24 + .byte GOTO + .word mus_con_k_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_con_k_3: + .byte KEYSH , mus_con_k_key+0 + .byte VOICE , 38 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 80*mus_con_k_mvl/mxv + .byte BEND , c_v-48 + .byte N24 , Bn0 , v112 + .byte W04 + .byte BEND , c_v-32 + .byte W04 + .byte c_v-18 + .byte W04 + .byte c_v+0 + .byte W12 +mus_con_k_3_B1: + .byte BEND , c_v+0 + .byte N32 , En1 , v112 + .byte W32 + .byte N08 , Ds1 + .byte W08 + .byte N04 , En1 + .byte W08 + .byte N36 + .byte W40 + .byte N04 + .byte W08 +mus_con_k_3_000: + .byte N32 , Ds1 , v112 + .byte W32 + .byte N08 , Dn1 + .byte W08 + .byte N04 , Cs1 + .byte W08 + .byte N16 , Bn0 + .byte W16 + .byte N04 + .byte W16 + .byte N08 , As0 + .byte W08 + .byte N04 , Bn0 + .byte W08 + .byte PEND +mus_con_k_3_001: + .byte N32 , Cs1 , v112 + .byte W32 + .byte N04 , Cn1 + .byte W08 + .byte Cs1 + .byte W08 + .byte N16 , Fs1 + .byte W24 + .byte N08 + .byte W08 + .byte N04 , En1 + .byte W08 + .byte Ds1 + .byte W08 + .byte PEND +mus_con_k_3_002: + .byte N24 , Bn0 , v112 + .byte W24 + .byte N08 , As0 + .byte W16 + .byte N04 , Bn0 + .byte W08 + .byte N08 + .byte W16 + .byte N04 + .byte W08 + .byte N08 + .byte W16 + .byte N04 + .byte W08 + .byte PEND + .byte N12 , En1 + .byte W16 + .byte N04 + .byte W16 + .byte N08 , Ds1 + .byte W08 + .byte N04 , En1 + .byte W08 + .byte N36 + .byte W40 + .byte N04 + .byte W08 + .byte PATT + .word mus_con_k_3_000 + .byte PATT + .word mus_con_k_3_001 + .byte PATT + .word mus_con_k_3_002 + .byte GOTO + .word mus_con_k_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_con_k_4: + .byte KEYSH , mus_con_k_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+2 + .byte VOL , 50*mus_con_k_mvl/mxv + .byte N24 , Fs3 , v112 + .byte W24 +mus_con_k_4_B1: + .byte W16 + .byte N08 , Gs4 , v112 + .byte W08 + .byte N04 , As4 + .byte W04 + .byte N08 , As4 , v032 + .byte W12 + .byte N04 , Bn4 , v112 + .byte W08 + .byte N16 , As4 + .byte W16 + .byte N08 , As4 , v032 + .byte W08 + .byte N24 , Gs4 , v112 + .byte W24 + .byte N48 , Fs4 + .byte W24 + .byte VOL , 48*mus_con_k_mvl/mxv + .byte MOD , 6 + .byte W01 + .byte VOL , 45*mus_con_k_mvl/mxv + .byte W03 + .byte 43*mus_con_k_mvl/mxv + .byte W01 + .byte 37*mus_con_k_mvl/mxv + .byte W03 + .byte 36*mus_con_k_mvl/mxv + .byte W01 + .byte 35*mus_con_k_mvl/mxv + .byte W03 + .byte 28*mus_con_k_mvl/mxv + .byte W01 + .byte 25*mus_con_k_mvl/mxv + .byte W03 + .byte 20*mus_con_k_mvl/mxv + .byte W01 + .byte 18*mus_con_k_mvl/mxv + .byte W03 + .byte 16*mus_con_k_mvl/mxv + .byte W01 + .byte 15*mus_con_k_mvl/mxv + .byte W03 + .byte 49*mus_con_k_mvl/mxv + .byte MOD , 0 + .byte N08 , Bn4 + .byte W08 + .byte Bn4 , v032 + .byte W40 + .byte W16 + .byte En4 , v112 + .byte W08 + .byte N04 , Fs4 + .byte W04 + .byte N08 , Fs4 , v032 + .byte W12 + .byte N04 , Gs4 , v112 + .byte W08 + .byte N08 , Fs4 + .byte W16 + .byte N32 , En4 + .byte W32 + .byte N48 , Ds4 + .byte W24 + .byte MOD , 7 + .byte VOL , 48*mus_con_k_mvl/mxv + .byte W01 + .byte 45*mus_con_k_mvl/mxv + .byte W03 + .byte 43*mus_con_k_mvl/mxv + .byte W01 + .byte 37*mus_con_k_mvl/mxv + .byte W03 + .byte 36*mus_con_k_mvl/mxv + .byte W01 + .byte 35*mus_con_k_mvl/mxv + .byte W03 + .byte 28*mus_con_k_mvl/mxv + .byte W01 + .byte 25*mus_con_k_mvl/mxv + .byte W03 + .byte 20*mus_con_k_mvl/mxv + .byte W01 + .byte 18*mus_con_k_mvl/mxv + .byte W03 + .byte 16*mus_con_k_mvl/mxv + .byte W01 + .byte 15*mus_con_k_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 49*mus_con_k_mvl/mxv + .byte N08 , Fs4 + .byte W08 + .byte Fs4 , v032 + .byte W40 + .byte W16 + .byte N04 , Gs4 , v112 + .byte W08 + .byte N08 , As4 + .byte W16 + .byte N04 , Bn4 + .byte W08 + .byte Cs5 + .byte W16 + .byte N08 , Bn4 + .byte W08 + .byte As4 + .byte W08 + .byte As4 , v032 + .byte W08 + .byte N04 , Bn4 , v112 + .byte W08 + .byte W16 + .byte As4 + .byte W08 + .byte N08 , Bn4 + .byte W08 + .byte Bn4 , v032 + .byte W08 + .byte N04 , Cs5 , v112 + .byte W08 + .byte N08 , Ds5 , v100 + .byte W08 + .byte Ds5 , v032 + .byte W08 + .byte N04 , Bn4 , v096 + .byte W04 + .byte N08 , Bn4 , v032 + .byte W28 + .byte W16 + .byte En5 , v100 + .byte W08 + .byte N04 , Ds5 + .byte W04 + .byte N08 , Ds5 , v032 + .byte W12 + .byte N04 , Bn4 , v112 + .byte W08 + .byte Cn5 + .byte W04 + .byte N08 , Cn5 , v032 + .byte W20 + .byte N04 , Cs5 , v112 + .byte W04 + .byte N08 , Cs5 , v032 + .byte W20 + .byte Bn4 , v112 + .byte W08 + .byte Bn4 , v032 + .byte W88 + .byte GOTO + .word mus_con_k_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_con_k_5: + .byte KEYSH , mus_con_k_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-62 + .byte VOL , 46*mus_con_k_mvl/mxv + .byte W24 +mus_con_k_5_B1: + .byte N20 , En3 , v112 + .byte W24 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 + .byte W24 + .byte N08 + .byte W24 +mus_con_k_5_000: + .byte N08 , As2 , v112 + .byte W24 + .byte N08 + .byte W24 + .byte An2 + .byte W24 + .byte N08 + .byte W24 + .byte PEND +mus_con_k_5_001: + .byte N08 , Gs2 , v112 + .byte W24 + .byte N08 + .byte W24 + .byte As2 + .byte W24 + .byte N08 + .byte W24 + .byte PEND +mus_con_k_5_002: + .byte N24 , An2 , v112 + .byte W24 + .byte N08 , Gs2 + .byte W16 + .byte An2 + .byte W08 + .byte Bn2 + .byte W24 + .byte N08 + .byte W24 + .byte PEND + .byte N12 , En3 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 + .byte W24 + .byte N08 + .byte W24 + .byte PATT + .word mus_con_k_5_000 + .byte PATT + .word mus_con_k_5_001 + .byte PATT + .word mus_con_k_5_002 + .byte GOTO + .word mus_con_k_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_con_k_6: + .byte KEYSH , mus_con_k_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 45*mus_con_k_mvl/mxv + .byte W24 +mus_con_k_6_B1: + .byte N20 , Gs3 , v112 + .byte W24 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , As3 + .byte W24 + .byte Gs3 + .byte W24 +mus_con_k_6_000: + .byte N08 , Cs3 , v112 + .byte W24 + .byte N08 + .byte W24 + .byte Ds3 + .byte W24 + .byte N08 + .byte W24 + .byte PEND +mus_con_k_6_001: + .byte N08 , Bn2 , v112 + .byte W24 + .byte N08 + .byte W24 + .byte Cs3 + .byte W24 + .byte N08 + .byte W24 + .byte PEND +mus_con_k_6_002: + .byte N24 , Cs3 , v112 + .byte W24 + .byte N08 + .byte W16 + .byte N08 + .byte W08 + .byte Ds3 + .byte W24 + .byte N08 + .byte W24 + .byte PEND + .byte W16 + .byte N04 , Gs3 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , As3 + .byte W24 + .byte Gs3 + .byte W24 + .byte PATT + .word mus_con_k_6_000 + .byte PATT + .word mus_con_k_6_001 + .byte PATT + .word mus_con_k_6_002 + .byte GOTO + .word mus_con_k_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_con_k_7: + .byte KEYSH , mus_con_k_key+0 + .byte VOICE , 0 + .byte VOL , 70*mus_con_k_mvl/mxv + .byte PAN , c_v+0 + .byte N04 , Dn1 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte Cn1 + .byte W08 +mus_con_k_7_B1: +mus_con_k_7_000: + .byte N04 , Cn1 , v112 + .byte W24 + .byte Dn1 + .byte W16 + .byte Cn1 , v084 + .byte W08 + .byte Cn1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte Dn1 + .byte W24 + .byte PEND +mus_con_k_7_001: + .byte N04 , Cn1 , v112 + .byte W24 + .byte Dn1 + .byte W16 + .byte Cn1 , v084 + .byte W08 + .byte Cn1 , v112 + .byte W08 + .byte Dn1 , v088 + .byte W08 + .byte Cn1 , v112 + .byte W08 + .byte N04 + .byte W16 + .byte Dn1 + .byte W08 + .byte PEND + .byte PATT + .word mus_con_k_7_000 + .byte N04 , Cn1 , v112 + .byte W24 + .byte Dn1 + .byte W16 + .byte Cn1 , v084 + .byte W08 + .byte Cn1 , v112 + .byte W08 + .byte Dn1 + .byte W08 + .byte Cn1 + .byte W08 + .byte N04 + .byte W16 + .byte Dn1 + .byte W08 + .byte PATT + .word mus_con_k_7_000 + .byte PATT + .word mus_con_k_7_001 + .byte PATT + .word mus_con_k_7_000 + .byte N04 , Cn1 , v112 + .byte W24 + .byte Dn1 + .byte W16 + .byte Cn1 , v084 + .byte W08 + .byte Cn1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte Dn1 + .byte W08 + .byte Cn1 , v088 + .byte W08 + .byte N04 + .byte W08 + .byte GOTO + .word mus_con_k_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_con_k_8: + .byte KEYSH , mus_con_k_key+0 + .byte VOICE , 82 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 34*mus_con_k_mvl/mxv + .byte W24 +mus_con_k_8_B1: + .byte W16 + .byte N08 , Gs4 , v112 + .byte W08 + .byte N04 , As4 + .byte W16 + .byte Bn4 + .byte W08 + .byte N16 , As4 + .byte W24 + .byte N24 , Gs4 + .byte W24 + .byte N48 , Fs4 + .byte W48 + .byte N08 , Bn4 + .byte W48 + .byte W16 + .byte En4 + .byte W08 + .byte N04 , Fs4 + .byte W16 + .byte Gs4 + .byte W08 + .byte N08 , Fs4 + .byte W16 + .byte N32 , En4 + .byte W32 + .byte N48 , Ds4 + .byte W48 + .byte N08 , Fs4 + .byte W16 + .byte BEND , c_v+1 + .byte W32 + .byte W16 + .byte N04 , Gs4 + .byte W08 + .byte N08 , As4 + .byte W16 + .byte N04 , Bn4 + .byte W08 + .byte Cs5 + .byte W16 + .byte N08 , Bn4 + .byte W08 + .byte As4 + .byte W16 + .byte N04 , Bn4 + .byte W08 + .byte W16 + .byte As4 + .byte W08 + .byte N08 , Bn4 + .byte W16 + .byte N04 , Cs5 + .byte W08 + .byte N08 , Ds5 + .byte W16 + .byte N04 , Bn4 + .byte W32 + .byte W16 + .byte N08 , En5 + .byte W08 + .byte N04 , Ds5 + .byte W16 + .byte Bn4 + .byte W08 + .byte Cn5 + .byte W24 + .byte Cs5 + .byte W24 + .byte N08 , Bn4 + .byte W96 + .byte GOTO + .word mus_con_k_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_con_k: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_con_k_pri @ Priority + .byte mus_con_k_rev @ Reverb. + + .word mus_con_k_grp + + .word mus_con_k_1 + .word mus_con_k_2 + .word mus_con_k_3 + .word mus_con_k_4 + .word mus_con_k_5 + .word mus_con_k_6 + .word mus_con_k_7 + .word mus_con_k_8 + + .end diff --git a/sound/songs/mus_conlobby.s b/sound/songs/mus_conlobby.s new file mode 100644 index 0000000000..308106f8ed --- /dev/null +++ b/sound/songs/mus_conlobby.s @@ -0,0 +1,1200 @@ + .include "MPlayDef.s" + + .equ mus_conlobby_grp, voicegroup_8693A7C + .equ mus_conlobby_pri, 0 + .equ mus_conlobby_rev, reverb_set+50 + .equ mus_conlobby_mvl, 127 + .equ mus_conlobby_key, 0 + .equ mus_conlobby_tbs, 1 + .equ mus_conlobby_exg, 0 + .equ mus_conlobby_cmp, 1 + + .section .rodata + .global mus_conlobby + .align 2 + +@********************** Track 1 **********************@ + +mus_conlobby_1: + .byte KEYSH , mus_conlobby_key+0 + .byte TEMPO , 128*mus_conlobby_tbs/2 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 36*mus_conlobby_mvl/mxv + .byte W96 + .byte W84 + .byte N12 , Ds3 , v112 + .byte W12 +mus_conlobby_1_B1: + .byte N06 , En3 , v112 + .byte W12 + .byte N18 + .byte W24 + .byte N06 + .byte W06 + .byte Fn3 + .byte W06 + .byte N24 , Gn3 + .byte W24 + .byte Cn4 + .byte W24 + .byte N42 , Dn4 + .byte W48 + .byte N06 + .byte W12 + .byte N18 , As3 + .byte W24 + .byte N06 , Fn4 + .byte W12 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N84 , En4 + .byte W84 + .byte N03 , Cn4 + .byte W12 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , Fn4 + .byte W18 + .byte N03 , En4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N12 , Dn4 + .byte W12 + .byte Ds3 + .byte W12 + .byte N03 , En3 + .byte W06 + .byte En3 , v084 + .byte W06 + .byte N06 , En3 , v112 + .byte W06 + .byte Ds3 + .byte W06 + .byte N03 , En3 + .byte W12 + .byte N06 , Fn3 + .byte W24 + .byte N03 , Gn3 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte N03 , As3 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte N03 , Cs4 + .byte W12 + .byte Dn4 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , As3 + .byte W24 + .byte N06 , Fn4 + .byte W12 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N36 , Gn4 + .byte W36 + .byte N06 , Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N30 , En4 + .byte W30 + .byte N03 , Ds4 , v060 + .byte W03 + .byte Dn4 + .byte W03 + .byte Cn4 , v112 + .byte W12 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , Dn4 + .byte W24 + .byte N18 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N12 , Ds3 + .byte W12 + .byte GOTO + .word mus_conlobby_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_conlobby_2: + .byte KEYSH , mus_conlobby_key+0 + .byte VOICE , 58 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 60*mus_conlobby_mvl/mxv + .byte W96 + .byte W84 + .byte N12 , Bn1 , v112 + .byte W12 +mus_conlobby_2_B1: +mus_conlobby_2_000: + .byte N06 , Cn2 , v112 + .byte W24 + .byte Gn1 + .byte W24 + .byte Cn2 + .byte W24 + .byte Gn1 + .byte W24 + .byte PEND +mus_conlobby_2_001: + .byte N06 , As1 , v112 + .byte W24 + .byte Fn1 + .byte W24 + .byte As1 + .byte W24 + .byte Fn1 + .byte W24 + .byte PEND +mus_conlobby_2_002: + .byte N06 , An1 , v112 + .byte W24 + .byte En1 + .byte W24 + .byte An1 + .byte W24 + .byte En1 + .byte W24 + .byte PEND +mus_conlobby_2_003: + .byte N06 , Gs1 , v112 + .byte W24 + .byte Ds1 + .byte W24 + .byte As1 + .byte W24 + .byte Fn1 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_conlobby_2_000 + .byte PATT + .word mus_conlobby_2_001 + .byte PATT + .word mus_conlobby_2_002 + .byte PATT + .word mus_conlobby_2_003 + .byte PATT + .word mus_conlobby_2_000 + .byte PATT + .word mus_conlobby_2_001 + .byte PATT + .word mus_conlobby_2_002 + .byte PATT + .word mus_conlobby_2_003 + .byte PATT + .word mus_conlobby_2_000 + .byte PATT + .word mus_conlobby_2_001 + .byte PATT + .word mus_conlobby_2_002 + .byte PATT + .word mus_conlobby_2_003 + .byte GOTO + .word mus_conlobby_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_conlobby_3: + .byte KEYSH , mus_conlobby_key+0 + .byte VOICE , 73 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 33*mus_conlobby_mvl/mxv + .byte W96 + .byte W96 +mus_conlobby_3_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W90 + .byte N03 , En4 , v112 + .byte W03 + .byte Fn4 + .byte W03 + .byte N48 , Gn4 + .byte W60 + .byte N06 , An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N36 , En4 + .byte W36 + .byte N06 , Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N48 , Cn4 + .byte W48 + .byte N06 , En4 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte En4 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte En4 , v080 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v080 + .byte W06 + .byte N06 , En4 , v112 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte N03 , Gs3 + .byte W12 + .byte N06 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte As3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 +mus_conlobby_3_000: + .byte N06 , Gn3 , v112 + .byte W06 + .byte N03 , Fs3 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte N03 , Cn4 + .byte W06 + .byte N06 , Gn4 + .byte W12 + .byte Gn3 + .byte W06 + .byte N03 , Fs3 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte N03 , Cn4 + .byte W06 + .byte N06 , Gn4 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , An4 + .byte W06 + .byte N06 , Gn4 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte PEND + .byte PATT + .word mus_conlobby_3_000 + .byte N06 , En4 , v112 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte N06 , En4 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N06 , An3 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N06 , An3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte N03 , En3 + .byte W06 + .byte Gs2 + .byte W03 + .byte As2 + .byte W03 + .byte Cn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte As3 + .byte W03 + .byte Cn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N06 , Fn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte As4 + .byte W06 + .byte N03 , Cn5 + .byte W06 + .byte N06 , As4 + .byte W06 + .byte N03 , Gs4 + .byte W06 + .byte N06 , Gn4 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte N06 , Dn4 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte GOTO + .word mus_conlobby_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_conlobby_4: + .byte KEYSH , mus_conlobby_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-61 + .byte VOL , 35*mus_conlobby_mvl/mxv + .byte W96 + .byte W96 +mus_conlobby_4_B1: +mus_conlobby_4_000: + .byte N06 , Cn3 , v112 + .byte W12 + .byte N03 , Gn3 + .byte W03 + .byte En3 , v064 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cn3 + .byte W15 + .byte Gn3 , v112 + .byte W12 + .byte N06 , Cn3 + .byte W12 + .byte N03 , Gn3 + .byte W06 + .byte N03 + .byte W18 + .byte N03 + .byte W12 + .byte PEND +mus_conlobby_4_001: + .byte N06 , As2 , v112 + .byte W12 + .byte N03 , Fn3 + .byte W03 + .byte En3 , v064 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cn3 + .byte W15 + .byte Fn3 , v112 + .byte W12 + .byte N06 , As2 + .byte W12 + .byte N03 , Fn3 + .byte W06 + .byte N03 + .byte W18 + .byte N03 + .byte W12 + .byte PEND +mus_conlobby_4_002: + .byte N06 , An2 , v112 + .byte W12 + .byte N03 , En3 + .byte W03 + .byte Dn3 , v064 + .byte W03 + .byte Cn3 + .byte W03 + .byte An2 + .byte W15 + .byte En3 , v112 + .byte W12 + .byte N06 , An2 + .byte W12 + .byte N03 , En3 + .byte W24 + .byte N03 + .byte W12 + .byte PEND +mus_conlobby_4_003: + .byte N06 , Gs2 , v112 + .byte W12 + .byte N03 , Ds3 + .byte W03 + .byte Dn3 , v064 + .byte W03 + .byte Cn3 + .byte W03 + .byte As2 + .byte W15 + .byte Gs3 , v112 + .byte W12 + .byte N06 , As2 + .byte W12 + .byte N03 , Fn3 + .byte W06 + .byte N03 + .byte W18 + .byte As3 + .byte W12 + .byte PEND + .byte PATT + .word mus_conlobby_4_000 + .byte PATT + .word mus_conlobby_4_001 + .byte PATT + .word mus_conlobby_4_002 + .byte PATT + .word mus_conlobby_4_003 + .byte PATT + .word mus_conlobby_4_000 + .byte PATT + .word mus_conlobby_4_001 + .byte PATT + .word mus_conlobby_4_002 + .byte PATT + .word mus_conlobby_4_003 + .byte PATT + .word mus_conlobby_4_000 + .byte PATT + .word mus_conlobby_4_001 + .byte N06 , An2 , v112 + .byte W12 + .byte N03 , En3 + .byte W03 + .byte Dn3 , v064 + .byte W03 + .byte Cn3 + .byte W03 + .byte An2 + .byte W15 + .byte En3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An2 + .byte W12 + .byte N03 , En3 + .byte W06 + .byte N03 + .byte W06 + .byte Cn3 + .byte W06 + .byte An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte En3 + .byte W06 + .byte PATT + .word mus_conlobby_4_003 + .byte GOTO + .word mus_conlobby_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_conlobby_5: + .byte KEYSH , mus_conlobby_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 33*mus_conlobby_mvl/mxv + .byte W96 + .byte W96 +mus_conlobby_5_B1: +mus_conlobby_5_000: + .byte N06 , Gn2 , v112 + .byte W12 + .byte N03 , Cn4 + .byte W03 + .byte An3 , v064 + .byte W03 + .byte Gn3 + .byte W03 + .byte En3 + .byte W15 + .byte Cn4 , v112 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte N03 , Cn4 + .byte W06 + .byte N03 + .byte W18 + .byte N03 + .byte W12 + .byte PEND +mus_conlobby_5_001: + .byte N06 , Fn2 , v112 + .byte W12 + .byte N03 , As3 + .byte W03 + .byte An3 , v064 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fn3 + .byte W15 + .byte As3 , v112 + .byte W12 + .byte N06 , Fn2 + .byte W12 + .byte N03 , As3 + .byte W06 + .byte N03 + .byte W18 + .byte N03 + .byte W12 + .byte PEND +mus_conlobby_5_002: + .byte N06 , En2 , v112 + .byte W12 + .byte N03 , An3 + .byte W03 + .byte Gn3 , v064 + .byte W03 + .byte Fn3 + .byte W03 + .byte En3 + .byte W15 + .byte An3 , v112 + .byte W12 + .byte N06 , En2 + .byte W12 + .byte N03 , An3 + .byte W24 + .byte N03 + .byte W12 + .byte PEND +mus_conlobby_5_003: + .byte N06 , Ds2 , v112 + .byte W12 + .byte N03 , Gs3 + .byte W03 + .byte Gn3 , v064 + .byte W03 + .byte Fn3 + .byte W03 + .byte En3 + .byte W15 + .byte Cn4 , v112 + .byte W12 + .byte N06 , Fn2 + .byte W12 + .byte N03 , As3 + .byte W06 + .byte N03 + .byte W18 + .byte Dn4 + .byte W12 + .byte PEND + .byte PATT + .word mus_conlobby_5_000 + .byte PATT + .word mus_conlobby_5_001 + .byte PATT + .word mus_conlobby_5_002 + .byte PATT + .word mus_conlobby_5_003 + .byte PATT + .word mus_conlobby_5_000 + .byte PATT + .word mus_conlobby_5_001 + .byte PATT + .word mus_conlobby_5_002 + .byte PATT + .word mus_conlobby_5_003 + .byte PATT + .word mus_conlobby_5_000 + .byte PATT + .word mus_conlobby_5_001 + .byte N06 , En2 , v112 + .byte W12 + .byte N03 , An3 + .byte W03 + .byte Gn3 , v064 + .byte W03 + .byte Fn3 + .byte W03 + .byte En3 + .byte W15 + .byte An3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En2 + .byte W12 + .byte N03 , An3 + .byte W06 + .byte N03 + .byte W06 + .byte En3 + .byte W06 + .byte Cn3 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte PATT + .word mus_conlobby_5_003 + .byte GOTO + .word mus_conlobby_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_conlobby_6: + .byte KEYSH , mus_conlobby_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 52*mus_conlobby_mvl/mxv + .byte N03 , En1 , v112 + .byte W12 + .byte En1 , v060 + .byte W12 + .byte En1 , v100 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte En1 , v060 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v060 + .byte W12 + .byte En1 , v112 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v112 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v060 + .byte W12 + .byte En1 , v100 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v044 + .byte W06 + .byte N03 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v060 + .byte W12 + .byte En1 , v112 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 +mus_conlobby_6_B1: +mus_conlobby_6_000: + .byte N03 , En1 , v112 + .byte W12 + .byte En1 , v060 + .byte W12 + .byte En1 , v100 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte En1 , v060 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v060 + .byte W12 + .byte En1 , v112 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND +mus_conlobby_6_001: + .byte N03 , En1 , v112 + .byte W12 + .byte En1 , v060 + .byte W12 + .byte En1 , v096 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v060 + .byte W12 + .byte En1 , v112 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND + .byte PATT + .word mus_conlobby_6_000 + .byte PATT + .word mus_conlobby_6_001 + .byte PATT + .word mus_conlobby_6_000 +mus_conlobby_6_002: + .byte N03 , En1 , v112 + .byte W12 + .byte En1 , v060 + .byte W12 + .byte En1 , v096 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W06 + .byte En1 , v044 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v060 + .byte W12 + .byte En1 , v112 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND + .byte PATT + .word mus_conlobby_6_000 + .byte PATT + .word mus_conlobby_6_002 + .byte PATT + .word mus_conlobby_6_000 + .byte PATT + .word mus_conlobby_6_001 + .byte PATT + .word mus_conlobby_6_000 + .byte PATT + .word mus_conlobby_6_002 + .byte PATT + .word mus_conlobby_6_000 + .byte PATT + .word mus_conlobby_6_002 + .byte PATT + .word mus_conlobby_6_000 + .byte PATT + .word mus_conlobby_6_002 + .byte GOTO + .word mus_conlobby_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_conlobby_7: + .byte KEYSH , mus_conlobby_key+0 + .byte VOICE , 82 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 45*mus_conlobby_mvl/mxv + .byte PAN , c_v-11 + .byte BEND , c_v+1 + .byte W96 + .byte W84 + .byte N12 , Bn1 , v112 + .byte W12 +mus_conlobby_7_B1: +mus_conlobby_7_000: + .byte N06 , Cn2 , v112 + .byte W24 + .byte Gn1 + .byte W24 + .byte Cn2 + .byte W24 + .byte Gn1 + .byte W24 + .byte PEND +mus_conlobby_7_001: + .byte N06 , As1 , v112 + .byte W24 + .byte Fn1 + .byte W24 + .byte As1 + .byte W24 + .byte Fn1 + .byte W24 + .byte PEND +mus_conlobby_7_002: + .byte N06 , An1 , v112 + .byte W24 + .byte En1 + .byte W24 + .byte An1 + .byte W24 + .byte En1 + .byte W24 + .byte PEND +mus_conlobby_7_003: + .byte N06 , Gs1 , v112 + .byte W24 + .byte Ds1 + .byte W24 + .byte As1 + .byte W24 + .byte Fn1 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_conlobby_7_000 + .byte PATT + .word mus_conlobby_7_001 + .byte PATT + .word mus_conlobby_7_002 + .byte PATT + .word mus_conlobby_7_003 + .byte PATT + .word mus_conlobby_7_000 + .byte PATT + .word mus_conlobby_7_001 + .byte PATT + .word mus_conlobby_7_002 + .byte PATT + .word mus_conlobby_7_003 + .byte PATT + .word mus_conlobby_7_000 + .byte PATT + .word mus_conlobby_7_001 + .byte PATT + .word mus_conlobby_7_002 + .byte PATT + .word mus_conlobby_7_003 + .byte GOTO + .word mus_conlobby_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_conlobby_8: + .byte KEYSH , mus_conlobby_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-14 + .byte VOL , 28*mus_conlobby_mvl/mxv + .byte W96 + .byte W84 + .byte N12 , Fs2 , v112 + .byte W12 +mus_conlobby_8_B1: + .byte N06 , Gn2 , v112 + .byte W12 + .byte N18 + .byte W24 + .byte N06 + .byte W06 + .byte An2 + .byte W06 + .byte N24 , Cn3 + .byte W24 + .byte En3 + .byte W24 + .byte N42 , Fn3 + .byte W48 + .byte N06 + .byte W12 + .byte N18 , Dn3 + .byte W24 + .byte N06 , As3 + .byte W12 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N84 , Cn4 + .byte W84 + .byte N03 , Ds3 + .byte W12 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , Gs3 + .byte W18 + .byte N03 , Gn3 , v068 + .byte W03 + .byte Fs3 + .byte W03 + .byte N12 , Fn3 , v112 + .byte W12 + .byte Fn2 + .byte W12 + .byte N03 , Gn2 + .byte W06 + .byte Gn2 , v080 + .byte W06 + .byte N06 , Gn2 , v112 + .byte W06 + .byte Fs2 + .byte W06 + .byte N03 , Gn2 + .byte W12 + .byte N06 + .byte W24 + .byte N03 , Cn3 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte N03 , Dn3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N03 , En3 + .byte W12 + .byte Fn3 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , Dn3 + .byte W24 + .byte N06 , As3 + .byte W12 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N36 , En4 + .byte W36 + .byte N06 , An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N30 , Cn4 + .byte W30 + .byte N03 , Bn3 , v060 + .byte W03 + .byte An3 + .byte W03 + .byte Ds3 , v112 + .byte W12 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , Fn3 + .byte W24 + .byte N18 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_conlobby_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_conlobby: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_conlobby_pri @ Priority + .byte mus_conlobby_rev @ Reverb. + + .word mus_conlobby_grp + + .word mus_conlobby_1 + .word mus_conlobby_2 + .word mus_conlobby_3 + .word mus_conlobby_4 + .word mus_conlobby_5 + .word mus_conlobby_6 + .word mus_conlobby_7 + .word mus_conlobby_8 + + .end diff --git a/sound/songs/mus_contest0.s b/sound/songs/mus_contest0.s new file mode 100644 index 0000000000..84e5bf05ed --- /dev/null +++ b/sound/songs/mus_contest0.s @@ -0,0 +1,3062 @@ + .include "MPlayDef.s" + + .equ mus_contest0_grp, voicegroup_868F27C + .equ mus_contest0_pri, 0 + .equ mus_contest0_rev, reverb_set+50 + .equ mus_contest0_mvl, 127 + .equ mus_contest0_key, 0 + .equ mus_contest0_tbs, 1 + .equ mus_contest0_exg, 0 + .equ mus_contest0_cmp, 1 + + .section .rodata + .global mus_contest0 + .align 2 + +@********************** Track 1 **********************@ + +mus_contest0_1: + .byte KEYSH , mus_contest0_key+0 +mus_contest0_1_B1: + .byte TEMPO , 128*mus_contest0_tbs/2 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 66*mus_contest0_mvl/mxv + .byte N06 , Fn4 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W03 + .byte Gn4 , v076 + .byte W03 + .byte Fn4 , v096 + .byte W03 + .byte Gn4 , v076 + .byte W03 + .byte Fn4 , v096 + .byte W03 + .byte Gn4 , v076 + .byte W03 + .byte Fn4 , v096 + .byte W03 + .byte Gn4 , v072 + .byte W03 + .byte N06 , Fn4 , v112 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N03 , Ds4 , v096 + .byte W03 + .byte Dn4 + .byte W03 + .byte Cn4 + .byte W03 + .byte As3 + .byte W03 + .byte An3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Ds3 , v092 + .byte W03 + .byte N06 , Dn3 , v112 + .byte W12 + .byte N18 + .byte W24 + .byte N06 + .byte W06 + .byte Ds3 + .byte W06 + .byte N18 , Fn3 + .byte W24 + .byte As3 + .byte W24 + .byte N06 , Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N32 , Cn4 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N06 + .byte W12 + .byte N18 , Gs3 + .byte W24 + .byte N06 , Ds4 + .byte W12 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N78 , Dn4 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte VOL , 57*mus_contest0_mvl/mxv + .byte W05 + .byte 51*mus_contest0_mvl/mxv + .byte W07 + .byte 47*mus_contest0_mvl/mxv + .byte W05 + .byte 41*mus_contest0_mvl/mxv + .byte W07 + .byte 36*mus_contest0_mvl/mxv + .byte W05 + .byte 29*mus_contest0_mvl/mxv + .byte W07 + .byte 22*mus_contest0_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 19*mus_contest0_mvl/mxv + .byte W06 + .byte 66*mus_contest0_mvl/mxv + .byte N04 , Fs3 + .byte W08 + .byte As3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Cs4 + .byte W08 + .byte As3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Cn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte N18 , Gs4 + .byte W18 + .byte N03 , Gn4 , v064 + .byte W03 + .byte Fs4 + .byte W03 + .byte N06 , Fn4 , v112 + .byte W12 + .byte N03 , Ds3 + .byte W03 + .byte Dn3 + .byte W03 + .byte N06 , Cs3 + .byte W06 + .byte Dn3 + .byte W12 + .byte N06 + .byte W06 + .byte Ds3 + .byte W06 + .byte N18 , Fn3 + .byte W24 + .byte As3 + .byte W24 + .byte N03 , Gs3 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte N03 , Bn3 + .byte W12 + .byte Cn4 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , Gs3 + .byte W24 + .byte N06 , Ds4 + .byte W12 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N78 , Fn4 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte VOL , 58*mus_contest0_mvl/mxv + .byte W05 + .byte 51*mus_contest0_mvl/mxv + .byte W07 + .byte 46*mus_contest0_mvl/mxv + .byte W05 + .byte 40*mus_contest0_mvl/mxv + .byte W07 + .byte 36*mus_contest0_mvl/mxv + .byte W05 + .byte 30*mus_contest0_mvl/mxv + .byte W07 + .byte 27*mus_contest0_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 66*mus_contest0_mvl/mxv + .byte N03 , Ds4 + .byte W03 + .byte En4 + .byte W03 + .byte N32 , Fn4 + .byte W36 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N24 + .byte W24 + .byte Ds4 + .byte W24 + .byte VOICE , 17 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte 24 + .byte W48 + .byte VOL , 51*mus_contest0_mvl/mxv + .byte W12 + .byte N03 , Dn4 + .byte W06 + .byte Dn4 , v088 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W18 + .byte N06 + .byte W12 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W30 + .byte W12 + .byte N03 + .byte W06 + .byte Dn4 , v092 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W18 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W12 + .byte As3 + .byte W18 + .byte Cn4 + .byte W12 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W18 + .byte N03 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W30 + .byte Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N24 , Fs4 + .byte W24 + .byte N18 , Gs4 + .byte W18 + .byte N03 , Gn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte GOTO + .word mus_contest0_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_contest0_2: + .byte KEYSH , mus_contest0_key+0 +mus_contest0_2_B1: + .byte VOICE , 36 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 88*mus_contest0_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , Ds1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Ds2 + .byte W24 + .byte N06 , Ds1 + .byte W06 + .byte N03 , Ds2 + .byte W06 + .byte N06 , As1 + .byte W12 + .byte Ds2 + .byte W06 + .byte N18 , Ds1 + .byte W18 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Ds2 + .byte W24 + .byte N06 , Ds1 + .byte W06 + .byte N03 , Ds2 + .byte W06 + .byte N06 , As1 + .byte W12 + .byte Ds2 + .byte W06 + .byte Ds1 + .byte W12 + .byte N03 , Ds2 + .byte W06 + .byte N06 , Dn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Dn2 + .byte W24 + .byte N06 , Dn1 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , An1 + .byte W12 + .byte Dn2 + .byte W06 + .byte N18 , Dn1 + .byte W18 + .byte N06 , Gn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Gn2 + .byte W24 + .byte N03 , Gn1 + .byte W06 + .byte Gn2 + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Gn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Cn2 + .byte W24 + .byte N06 , Cn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N06 , Gn1 + .byte W12 + .byte Cn2 + .byte W06 + .byte N18 , Cn1 + .byte W18 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Cn2 + .byte W24 + .byte N06 , Cn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N06 , Gn1 + .byte W12 + .byte Cn2 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Fn2 + .byte W24 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N06 , Cn2 + .byte W12 + .byte Fn2 + .byte W06 + .byte Fn1 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Fn2 + .byte W24 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Fn2 + .byte W12 + .byte N06 , Cn2 + .byte W12 + .byte As1 + .byte W12 + .byte An1 + .byte W06 + .byte As1 + .byte W24 + .byte N06 + .byte W24 + .byte Gs1 + .byte W24 + .byte N06 + .byte W24 + .byte Gn1 + .byte W24 + .byte N06 + .byte W24 + .byte Fs1 + .byte W36 + .byte Gs1 + .byte W12 + .byte As1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As2 + .byte W06 + .byte As1 + .byte W06 + .byte N03 , As2 + .byte W06 + .byte N06 , As1 + .byte W06 + .byte An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs2 + .byte W06 + .byte Gs1 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N06 , An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn2 + .byte W06 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds2 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N06 , Fs1 + .byte W06 + .byte N03 , Fs2 + .byte W12 + .byte N06 , Fs1 + .byte W06 + .byte Gs1 + .byte W12 + .byte Gn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte GOTO + .word mus_contest0_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_contest0_3: + .byte KEYSH , mus_contest0_key+0 +mus_contest0_3_B1: + .byte VOICE , 60 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 40*mus_contest0_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte 62*mus_contest0_mvl/mxv + .byte W48 + .byte N06 , As3 , v112 + .byte W06 + .byte Cn4 + .byte W06 + .byte N36 , Dn4 + .byte W36 + .byte N06 , Fs3 + .byte W12 + .byte Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N24 , Fn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte VOICE , 17 + .byte VOL , 39*mus_contest0_mvl/mxv + .byte N04 , Dn5 + .byte W08 + .byte Ds5 + .byte W08 + .byte En5 + .byte W08 + .byte N42 , Fn5 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N04 + .byte W08 + .byte Gn5 + .byte W08 + .byte Fn5 + .byte W08 + .byte N36 , Cn5 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , An4 + .byte W06 + .byte Cn5 + .byte W06 + .byte An5 + .byte W12 + .byte N06 + .byte W06 + .byte Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Fs5 + .byte W12 + .byte N36 , Fn5 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Dn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte N24 , Ds5 + .byte W24 + .byte N12 , Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte N06 , Dn5 + .byte W06 + .byte Cn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte Dn5 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte N06 + .byte W06 + .byte Ds5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte TIE , Gn5 + .byte W24 + .byte MOD , 5 + .byte W48 + .byte W48 + .byte EOT + .byte MOD , 0 + .byte N06 , Fn5 + .byte W06 + .byte N03 , Ds5 + .byte W12 + .byte Dn5 + .byte W06 + .byte N06 , Ds5 + .byte W06 + .byte Fn5 + .byte W12 + .byte Gn5 + .byte W06 + .byte As5 + .byte W12 + .byte N06 + .byte W06 + .byte An5 + .byte W12 + .byte N06 + .byte W06 + .byte Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte Fn5 + .byte W12 + .byte N06 + .byte W06 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte En5 + .byte W06 + .byte Fn5 + .byte W12 + .byte N06 + .byte W06 + .byte Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte An5 + .byte W06 + .byte As5 + .byte W12 + .byte N06 + .byte W12 + .byte Cn6 + .byte W12 + .byte N06 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_contest0_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_contest0_4: + .byte KEYSH , mus_contest0_key+0 +mus_contest0_4_B1: + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-61 + .byte VOL , 36*mus_contest0_mvl/mxv + .byte N06 , Fn2 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds2 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn2 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn2 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An2 + .byte W06 + .byte Fn2 + .byte W06 + .byte An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N24 , An3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N03 , Gn3 , v096 + .byte W03 + .byte Fn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cn3 + .byte W03 + .byte As2 + .byte W03 + .byte An2 + .byte W03 + .byte Gn2 , v092 + .byte W03 + .byte N06 , Dn2 , v112 + .byte W12 + .byte N18 + .byte W24 + .byte N06 + .byte W06 + .byte Ds2 + .byte W06 + .byte N18 , Fn2 + .byte W24 + .byte As2 + .byte W24 + .byte N06 , Gs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte N32 , Gs2 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N06 + .byte W12 + .byte N18 , Ds2 + .byte W24 + .byte N06 , Gs2 + .byte W12 + .byte As2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N36 , Dn3 + .byte W36 + .byte N06 , Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte N36 , As3 + .byte W36 + .byte N04 , As2 + .byte W08 + .byte Cs3 + .byte W08 + .byte Fs3 + .byte W08 + .byte As3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Ds2 + .byte W04 + .byte Gs2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Cn4 + .byte W04 + .byte N03 , Ds4 + .byte W03 + .byte Cn4 + .byte W03 + .byte Gs3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Cn3 + .byte W03 + .byte Gs2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Cn2 + .byte W03 + .byte Fn3 + .byte W12 + .byte N21 + .byte W24 + .byte N03 , As2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W12 + .byte N06 + .byte W24 + .byte As3 + .byte W12 + .byte N03 , Fn3 + .byte W12 + .byte N21 + .byte W24 + .byte N03 , As2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W12 + .byte N06 + .byte W24 + .byte Gs3 + .byte W12 + .byte N03 , Gn3 + .byte W12 + .byte N21 + .byte W24 + .byte N03 , As2 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gn3 + .byte W12 + .byte N06 + .byte W24 + .byte As3 + .byte W12 + .byte N32 , Cs3 + .byte W36 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W06 + .byte N24 , Fn3 + .byte W22 + .byte Ds3 + .byte W24 +mus_contest0_4_000: + .byte N06 , Gn3 , v112 + .byte W06 + .byte N03 , Gn3 , v096 + .byte W06 + .byte Ds3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn3 , v112 + .byte W06 + .byte N03 , Gn3 , v096 + .byte W06 + .byte Ds3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn3 , v112 + .byte W06 + .byte N03 , Gn3 , v096 + .byte W06 + .byte Ds3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn3 , v112 + .byte W06 + .byte N03 , Gn3 , v096 + .byte W06 + .byte Ds3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte PEND +mus_contest0_4_001: + .byte N06 , Gn3 , v112 + .byte W06 + .byte N03 , Gn3 , v096 + .byte W06 + .byte Ds3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn3 , v112 + .byte W06 + .byte N03 , Gn3 , v096 + .byte W06 + .byte Ds3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn3 , v112 + .byte W06 + .byte N03 , Fn3 , v096 + .byte W12 + .byte Ds3 , v112 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte N03 , Gs3 , v096 + .byte W06 + .byte Ds3 , v064 + .byte W06 + .byte As3 , v112 + .byte W06 + .byte PEND +mus_contest0_4_002: + .byte N06 , An3 , v112 + .byte W06 + .byte N03 , An3 , v096 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An3 , v112 + .byte W06 + .byte N03 , An3 , v096 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An3 , v112 + .byte W06 + .byte N03 , An3 , v096 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An3 , v112 + .byte W06 + .byte N03 , An3 , v096 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte PEND + .byte N06 , As3 , v112 + .byte W06 + .byte N03 , As3 , v096 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As3 , v112 + .byte W06 + .byte N03 , As3 , v096 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As3 , v112 + .byte W06 + .byte N03 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N03 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte PATT + .word mus_contest0_4_000 + .byte PATT + .word mus_contest0_4_001 + .byte PATT + .word mus_contest0_4_002 + .byte N06 , As3 , v112 + .byte W06 + .byte N03 , As3 , v096 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As3 , v112 + .byte W06 + .byte N03 , As3 , v096 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As3 , v112 + .byte W06 + .byte N03 , An3 + .byte W12 + .byte Gn3 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte N03 , Gn3 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte As3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte As2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Gs2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte As2 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte As2 + .byte W06 + .byte Fs2 + .byte W06 + .byte As2 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Dn4 + .byte W03 + .byte As3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte As2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Dn2 + .byte W03 + .byte As1 + .byte W03 + .byte Dn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Fn2 + .byte W03 + .byte As2 + .byte W03 + .byte Dn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte As3 + .byte W03 + .byte Dn4 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Gs2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Gs1 + .byte W03 + .byte Dn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Gs2 + .byte W03 + .byte Dn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte As3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte As2 + .byte W03 + .byte Gn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte As1 + .byte W03 + .byte Gn1 + .byte W03 + .byte As1 + .byte W03 + .byte Ds2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Gn2 + .byte W03 + .byte As2 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Gn3 + .byte W03 + .byte As3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Ds3 + .byte W03 + .byte As2 + .byte W03 + .byte Fs2 + .byte W03 + .byte Ds2 + .byte W03 + .byte As1 + .byte W03 + .byte Fs1 + .byte W03 + .byte As1 + .byte W03 + .byte Ds2 + .byte W03 + .byte Fs2 + .byte W03 + .byte As2 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fs3 + .byte W03 + .byte As3 + .byte W03 + .byte Ds4 + .byte W03 + .byte GOTO + .word mus_contest0_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_contest0_5: + .byte KEYSH , mus_contest0_key+0 +mus_contest0_5_B1: + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 36*mus_contest0_mvl/mxv + .byte N06 , Cn4 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W03 + .byte Dn4 , v076 + .byte W03 + .byte Cn4 , v096 + .byte W03 + .byte Dn4 , v076 + .byte W03 + .byte Cn4 , v096 + .byte W03 + .byte Dn4 , v076 + .byte W03 + .byte Cn4 , v096 + .byte W03 + .byte Dn4 , v072 + .byte W03 + .byte N06 , Cn4 , v112 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N03 , Ds4 , v096 + .byte W03 + .byte Dn4 + .byte W03 + .byte Cn4 + .byte W03 + .byte As3 + .byte W03 + .byte An3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Ds3 , v092 + .byte W03 + .byte N06 , As2 , v112 + .byte W12 + .byte N18 + .byte W24 + .byte N06 + .byte W06 + .byte Cn3 + .byte W06 + .byte N18 , Dn3 + .byte W24 + .byte Fn3 + .byte W24 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N36 , Ds3 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N06 + .byte W12 + .byte N18 , Cn3 + .byte W24 + .byte N06 + .byte W12 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N36 , Fn3 + .byte W36 + .byte N06 , As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N36 , Dn4 + .byte W36 + .byte N04 , Fs3 + .byte W08 + .byte As3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Cs4 + .byte W08 + .byte As3 + .byte W08 + .byte Gs2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte N03 , Gs4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Cn4 + .byte W03 + .byte Gs3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Cn3 + .byte W03 + .byte Gs2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Dn4 + .byte W12 + .byte N21 + .byte W24 + .byte N03 , Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W12 + .byte N06 + .byte W24 + .byte Fn4 + .byte W12 + .byte N03 , Cn4 + .byte W12 + .byte N21 + .byte W24 + .byte N03 , Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cn4 + .byte W12 + .byte N06 + .byte W24 + .byte Ds4 + .byte W12 + .byte N03 , Fn4 + .byte W12 + .byte N21 + .byte W24 + .byte N03 , Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte Fn4 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N32 , As3 + .byte W36 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N24 , Cn4 + .byte W24 + .byte N24 + .byte W24 +mus_contest0_5_000: + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W06 + .byte As3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W06 + .byte As3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W06 + .byte As3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W06 + .byte As3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte PEND +mus_contest0_5_001: + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W06 + .byte As3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W06 + .byte As3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Ds4 , v096 + .byte W12 + .byte Dn4 , v112 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W12 + .byte Gn4 , v112 + .byte W06 + .byte PEND +mus_contest0_5_002: + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W06 + .byte Cn4 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W06 + .byte Cn4 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W06 + .byte Cn4 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W06 + .byte Cn4 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte PEND + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W06 + .byte As3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte N03 , Ds4 , v096 + .byte W06 + .byte As3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn4 , v112 + .byte W06 + .byte N03 , Cn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Bn3 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte PATT + .word mus_contest0_5_000 + .byte PATT + .word mus_contest0_5_001 + .byte PATT + .word mus_contest0_5_002 + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W06 + .byte As3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte N03 , Ds4 , v096 + .byte W06 + .byte As3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn4 , v112 + .byte W06 + .byte N03 , Cn4 + .byte W12 + .byte Dn4 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N03 , Cn4 + .byte W12 + .byte Dn4 + .byte W06 + .byte As4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte As3 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte As4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte As3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte As2 + .byte W03 + .byte Fn2 + .byte W03 + .byte As2 + .byte W03 + .byte Dn3 + .byte W03 + .byte Fn3 + .byte W03 + .byte As3 + .byte W03 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fn4 + .byte W03 + .byte As4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Gs2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Gs2 + .byte W03 + .byte Dn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte As3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte As2 + .byte W03 + .byte Gn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Gn2 + .byte W03 + .byte As2 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Gn3 + .byte W03 + .byte As3 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Ds4 + .byte W03 + .byte As3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Ds3 + .byte W03 + .byte As2 + .byte W03 + .byte Fs2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Fs2 + .byte W03 + .byte As2 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fs3 + .byte W03 + .byte As3 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fs4 + .byte W03 + .byte As4 + .byte W03 + .byte GOTO + .word mus_contest0_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_contest0_6: + .byte KEYSH , mus_contest0_key+0 +mus_contest0_6_B1: + .byte VOICE , 0 + .byte VOL , 77*mus_contest0_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , En1 , v112 + .byte N48 , An2 , v092 + .byte W06 + .byte N03 , En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v088 + .byte W06 + .byte En1 , v052 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte En1 , v052 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte N24 , An2 + .byte W48 +mus_contest0_6_000: + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N48 , An2 + .byte W48 + .byte PEND + .byte N06 , En1 + .byte W12 + .byte En1 , v092 + .byte W24 + .byte N03 , En1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte N24 , An2 , v076 + .byte W24 + .byte N06 , Cn1 , v112 + .byte N48 , An2 + .byte W12 + .byte N06 , En1 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W06 + .byte N03 , En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PATT + .word mus_contest0_6_000 + .byte N06 , En1 , v112 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte N24 , An2 , v076 + .byte W24 + .byte N06 , Cn1 , v112 + .byte N48 , An2 + .byte W06 + .byte N06 , Cn1 + .byte W06 + .byte En1 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , En1 , v104 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 +mus_contest0_6_001: + .byte N06 , Cn1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte N03 , Cn1 , v100 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PEND + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte N03 , Cn1 , v100 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte Cn1 + .byte W12 + .byte En1 , v088 + .byte W06 + .byte PATT + .word mus_contest0_6_001 +mus_contest0_6_002: + .byte N06 , Cn1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte N03 , Cn1 , v100 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Cn1 , v092 + .byte W12 + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte PEND + .byte PATT + .word mus_contest0_6_001 + .byte N06 , Cn1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte N03 , Cn1 , v100 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte En1 , v104 + .byte W06 + .byte En1 , v092 + .byte W06 + .byte PATT + .word mus_contest0_6_001 + .byte PATT + .word mus_contest0_6_002 +mus_contest0_6_003: + .byte N06 , Cn1 , v112 + .byte W18 + .byte Cn1 , v088 + .byte W06 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 , v092 + .byte W06 + .byte Cn1 , v076 + .byte W06 + .byte Dn1 , v104 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte PEND + .byte PATT + .word mus_contest0_6_003 + .byte PATT + .word mus_contest0_6_003 + .byte N06 , Dn1 , v112 + .byte W06 + .byte Dn1 , v080 + .byte W12 + .byte Dn1 , v088 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 + .byte W12 + .byte Dn1 , v084 + .byte W06 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 , v092 + .byte W06 + .byte Cn1 , v076 + .byte W06 + .byte Dn1 , v104 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte GOTO + .word mus_contest0_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_contest0_7: + .byte KEYSH , mus_contest0_key+0 +mus_contest0_7_B1: + .byte VOICE , 83 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 66*mus_contest0_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Fn1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Fn2 + .byte W06 + .byte An2 + .byte W06 + .byte N24 , Cn3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , Fn1 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn1 + .byte W12 + .byte N24 , As1 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Ds1 + .byte W12 + .byte Gn1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N06 , Fs1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs1 + .byte W12 + .byte N12 + .byte W12 + .byte Ds2 + .byte W12 + .byte Cn2 + .byte W12 + .byte N06 , As1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte Gs1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Ds1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N21 , Gn2 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N06 , Fs1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs1 + .byte W12 + .byte N12 , Gs2 + .byte W12 + .byte Ds2 + .byte W12 + .byte Dn1 + .byte W12 + .byte VOICE , 83 + .byte VOL , 38*mus_contest0_mvl/mxv + .byte BEND , c_v+1 + .byte N04 , Dn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte En4 + .byte W08 + .byte N42 , Fn4 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N04 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte N36 , Cn4 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte An4 + .byte W12 + .byte N06 + .byte W06 + .byte Gn4 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Fs4 + .byte W12 + .byte N36 , Fn4 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte N24 , Ds4 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte N06 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte TIE , Gn4 + .byte W24 + .byte MOD , 5 + .byte W48 + .byte W48 + .byte EOT + .byte MOD , 0 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Ds4 + .byte W12 + .byte Dn4 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W06 + .byte As4 + .byte W12 + .byte N06 + .byte W06 + .byte An4 + .byte W12 + .byte N06 + .byte W06 + .byte Gn4 + .byte W12 + .byte N06 + .byte W06 + .byte Fn4 + .byte W12 + .byte N06 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W12 + .byte N06 + .byte W06 + .byte Gn4 + .byte W12 + .byte N06 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W12 + .byte N06 + .byte W12 + .byte Cn5 + .byte W12 + .byte N06 + .byte W06 + .byte VOL , 44*mus_contest0_mvl/mxv + .byte W12 + .byte N03 , Dn4 + .byte W06 + .byte Dn4 , v088 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W18 + .byte N06 + .byte W12 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W30 + .byte W12 + .byte N03 + .byte W06 + .byte Dn4 , v092 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W18 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W12 + .byte As3 + .byte W18 + .byte Cn4 + .byte W12 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W18 + .byte N03 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W30 + .byte Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N24 , Fs4 + .byte W24 + .byte N18 , Gs4 + .byte W24 + .byte GOTO + .word mus_contest0_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_contest0_8: + .byte KEYSH , mus_contest0_key+0 +mus_contest0_8_B1: + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 44*mus_contest0_mvl/mxv + .byte N06 , An3 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W03 + .byte As3 , v076 + .byte W03 + .byte An3 , v096 + .byte W03 + .byte As3 , v076 + .byte W03 + .byte An3 , v096 + .byte W03 + .byte As3 , v076 + .byte W03 + .byte An3 , v096 + .byte W03 + .byte As3 , v072 + .byte W03 + .byte N06 , An3 , v112 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte An2 + .byte W06 + .byte Fn2 + .byte W06 + .byte An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N24 , An3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N03 , Gn3 , v084 + .byte W03 + .byte Fn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cn3 + .byte W03 + .byte As2 + .byte W03 + .byte An2 + .byte W03 + .byte Gn2 + .byte W03 + .byte N06 , Fn2 , v112 + .byte W12 + .byte N18 + .byte W24 + .byte N06 + .byte W06 + .byte Gn2 + .byte W06 + .byte N18 , As2 + .byte W24 + .byte Dn3 + .byte W24 + .byte N06 , Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N32 , Gs3 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N06 + .byte W12 + .byte N18 , Ds3 + .byte W24 + .byte N06 , Gn3 + .byte W12 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N78 , Fn3 + .byte W84 + .byte N04 , As2 + .byte W08 + .byte Cs3 + .byte W08 + .byte Fs3 + .byte W08 + .byte As3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Gs2 + .byte W08 + .byte Ds3 + .byte W08 + .byte Gs3 + .byte W08 + .byte N18 , Cn4 + .byte W18 + .byte N03 , Bn3 , v084 + .byte W03 + .byte As3 , v072 + .byte W03 + .byte N06 , An3 , v112 + .byte W12 + .byte N03 , Fs2 + .byte W03 + .byte Fn2 + .byte W03 + .byte N06 , En2 + .byte W06 + .byte Fn2 + .byte W12 + .byte N06 + .byte W06 + .byte Gn2 + .byte W06 + .byte N18 , As2 + .byte W24 + .byte Dn3 + .byte W24 + .byte N03 , Cn3 + .byte W12 + .byte N24 , Ds3 + .byte W24 + .byte N02 , Dn3 + .byte W12 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , Cn3 + .byte W24 + .byte N06 , Gn3 + .byte W12 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N78 , As3 + .byte W84 + .byte N32 , Fs3 + .byte W36 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N24 , Gs3 + .byte W24 + .byte N24 + .byte W24 + .byte VOICE , 73 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte 24 + .byte W12 + .byte N03 , As3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte As3 + .byte W18 + .byte N06 + .byte W12 + .byte Cn4 + .byte W06 + .byte As3 + .byte W30 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte As3 + .byte W18 + .byte Dn4 + .byte W06 + .byte As3 + .byte W12 + .byte Fs3 + .byte W18 + .byte Gs3 + .byte W12 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W06 + .byte As3 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte As3 + .byte W30 + .byte Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , As3 + .byte W24 + .byte N18 , Ds4 + .byte W18 + .byte N03 , Dn4 + .byte W03 + .byte Cn4 + .byte W03 + .byte GOTO + .word mus_contest0_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_contest0: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_contest0_pri @ Priority + .byte mus_contest0_rev @ Reverb. + + .word mus_contest0_grp + + .word mus_contest0_1 + .word mus_contest0_2 + .word mus_contest0_3 + .word mus_contest0_4 + .word mus_contest0_5 + .word mus_contest0_6 + .word mus_contest0_7 + .word mus_contest0_8 + + .end diff --git a/sound/songs/mus_cycling.s b/sound/songs/mus_cycling.s new file mode 100644 index 0000000000..10a51b3e93 --- /dev/null +++ b/sound/songs/mus_cycling.s @@ -0,0 +1,4651 @@ + .include "MPlayDef.s" + + .equ mus_cycling_grp, voicegroup_86820D0 + .equ mus_cycling_pri, 0 + .equ mus_cycling_rev, reverb_set+50 + .equ mus_cycling_mvl, 127 + .equ mus_cycling_key, 0 + .equ mus_cycling_tbs, 1 + .equ mus_cycling_exg, 0 + .equ mus_cycling_cmp, 1 + + .section .rodata + .global mus_cycling + .align 2 + +@********************** Track 1 **********************@ + +mus_cycling_1: + .byte KEYSH , mus_cycling_key+0 + .byte TEMPO , 138*mus_cycling_tbs/2 + .byte VOICE , 47 + .byte PAN , c_v-32 + .byte VOL , 68*mus_cycling_mvl/mxv + .byte LFOS , 44 + .byte W96 +mus_cycling_1_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 47 + .byte W84 + .byte N06 , An2 , v096 + .byte W12 + .byte N92 , Dn2 + .byte W24 + .byte VOL , 65*mus_cycling_mvl/mxv + .byte W02 + .byte 60*mus_cycling_mvl/mxv + .byte W03 + .byte 58*mus_cycling_mvl/mxv + .byte W03 + .byte 54*mus_cycling_mvl/mxv + .byte W04 + .byte 51*mus_cycling_mvl/mxv + .byte W02 + .byte 48*mus_cycling_mvl/mxv + .byte W03 + .byte 44*mus_cycling_mvl/mxv + .byte W03 + .byte 39*mus_cycling_mvl/mxv + .byte W04 + .byte 37*mus_cycling_mvl/mxv + .byte W02 + .byte 34*mus_cycling_mvl/mxv + .byte W03 + .byte 30*mus_cycling_mvl/mxv + .byte W03 + .byte 26*mus_cycling_mvl/mxv + .byte W04 + .byte 23*mus_cycling_mvl/mxv + .byte W02 + .byte 21*mus_cycling_mvl/mxv + .byte W03 + .byte 17*mus_cycling_mvl/mxv + .byte W03 + .byte 14*mus_cycling_mvl/mxv + .byte W04 + .byte 11*mus_cycling_mvl/mxv + .byte W02 + .byte 8*mus_cycling_mvl/mxv + .byte W03 + .byte 5*mus_cycling_mvl/mxv + .byte W03 + .byte 3*mus_cycling_mvl/mxv + .byte W04 + .byte 2*mus_cycling_mvl/mxv + .byte W12 + .byte VOICE , 9 + .byte PAN , c_v-63 + .byte VOL , 56*mus_cycling_mvl/mxv + .byte N48 , En5 , v064 + .byte W12 + .byte VOL , 55*mus_cycling_mvl/mxv + .byte W02 + .byte 51*mus_cycling_mvl/mxv + .byte W03 + .byte 46*mus_cycling_mvl/mxv + .byte W03 + .byte 41*mus_cycling_mvl/mxv + .byte W04 + .byte 39*mus_cycling_mvl/mxv + .byte W02 + .byte 29*mus_cycling_mvl/mxv + .byte W03 + .byte 24*mus_cycling_mvl/mxv + .byte W03 + .byte 19*mus_cycling_mvl/mxv + .byte W04 + .byte 17*mus_cycling_mvl/mxv + .byte W02 + .byte 11*mus_cycling_mvl/mxv + .byte W03 + .byte 6*mus_cycling_mvl/mxv + .byte W03 + .byte 5*mus_cycling_mvl/mxv + .byte W04 + .byte PAN , c_v+63 + .byte VOL , 56*mus_cycling_mvl/mxv + .byte N48 , Ds5 + .byte W12 + .byte VOL , 55*mus_cycling_mvl/mxv + .byte W02 + .byte 51*mus_cycling_mvl/mxv + .byte W03 + .byte 46*mus_cycling_mvl/mxv + .byte W03 + .byte 41*mus_cycling_mvl/mxv + .byte W04 + .byte 39*mus_cycling_mvl/mxv + .byte W02 + .byte 29*mus_cycling_mvl/mxv + .byte W03 + .byte 24*mus_cycling_mvl/mxv + .byte W03 + .byte 19*mus_cycling_mvl/mxv + .byte W04 + .byte 17*mus_cycling_mvl/mxv + .byte W02 + .byte 11*mus_cycling_mvl/mxv + .byte W03 + .byte 6*mus_cycling_mvl/mxv + .byte W07 + .byte VOICE , 47 + .byte PAN , c_v-32 + .byte VOL , 68*mus_cycling_mvl/mxv + .byte N36 , Gn2 , v096 + .byte W24 + .byte VOL , 65*mus_cycling_mvl/mxv + .byte W02 + .byte 60*mus_cycling_mvl/mxv + .byte W03 + .byte 53*mus_cycling_mvl/mxv + .byte W03 + .byte 46*mus_cycling_mvl/mxv + .byte W01 + .byte 48*mus_cycling_mvl/mxv + .byte W03 + .byte 68*mus_cycling_mvl/mxv + .byte N06 , Bn1 + .byte W12 + .byte Bn2 + .byte W12 + .byte N36 , Gn2 + .byte W21 + .byte VOL , 67*mus_cycling_mvl/mxv + .byte W03 + .byte 58*mus_cycling_mvl/mxv + .byte W02 + .byte 53*mus_cycling_mvl/mxv + .byte W03 + .byte 49*mus_cycling_mvl/mxv + .byte W03 + .byte 46*mus_cycling_mvl/mxv + .byte W04 + .byte 68*mus_cycling_mvl/mxv + .byte N48 , An2 + .byte W24 + .byte VOL , 67*mus_cycling_mvl/mxv + .byte W02 + .byte 62*mus_cycling_mvl/mxv + .byte W03 + .byte 56*mus_cycling_mvl/mxv + .byte W03 + .byte 51*mus_cycling_mvl/mxv + .byte W04 + .byte 43*mus_cycling_mvl/mxv + .byte W02 + .byte 39*mus_cycling_mvl/mxv + .byte W03 + .byte 31*mus_cycling_mvl/mxv + .byte W03 + .byte 29*mus_cycling_mvl/mxv + .byte W04 + .byte 68*mus_cycling_mvl/mxv + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte N92 , Cs2 + .byte W24 + .byte VOL , 67*mus_cycling_mvl/mxv + .byte W02 + .byte 64*mus_cycling_mvl/mxv + .byte W06 + .byte 60*mus_cycling_mvl/mxv + .byte W06 + .byte 59*mus_cycling_mvl/mxv + .byte W03 + .byte 56*mus_cycling_mvl/mxv + .byte W03 + .byte 55*mus_cycling_mvl/mxv + .byte W04 + .byte 51*mus_cycling_mvl/mxv + .byte W02 + .byte 50*mus_cycling_mvl/mxv + .byte W03 + .byte 46*mus_cycling_mvl/mxv + .byte W03 + .byte 40*mus_cycling_mvl/mxv + .byte W06 + .byte 38*mus_cycling_mvl/mxv + .byte W03 + .byte 34*mus_cycling_mvl/mxv + .byte W03 + .byte 31*mus_cycling_mvl/mxv + .byte W04 + .byte 30*mus_cycling_mvl/mxv + .byte W02 + .byte 26*mus_cycling_mvl/mxv + .byte W03 + .byte 25*mus_cycling_mvl/mxv + .byte W03 + .byte 21*mus_cycling_mvl/mxv + .byte W04 + .byte 17*mus_cycling_mvl/mxv + .byte W02 + .byte 14*mus_cycling_mvl/mxv + .byte W03 + .byte 13*mus_cycling_mvl/mxv + .byte W07 + .byte VOICE , 9 + .byte PAN , c_v-63 + .byte VOL , 56*mus_cycling_mvl/mxv + .byte N48 , Dn5 , v064 + .byte W12 + .byte VOL , 55*mus_cycling_mvl/mxv + .byte W02 + .byte 51*mus_cycling_mvl/mxv + .byte W03 + .byte 46*mus_cycling_mvl/mxv + .byte W03 + .byte 41*mus_cycling_mvl/mxv + .byte W04 + .byte 39*mus_cycling_mvl/mxv + .byte W02 + .byte 29*mus_cycling_mvl/mxv + .byte W03 + .byte 24*mus_cycling_mvl/mxv + .byte W03 + .byte 19*mus_cycling_mvl/mxv + .byte W04 + .byte 17*mus_cycling_mvl/mxv + .byte W02 + .byte 11*mus_cycling_mvl/mxv + .byte W03 + .byte 6*mus_cycling_mvl/mxv + .byte W03 + .byte 5*mus_cycling_mvl/mxv + .byte W04 + .byte PAN , c_v+63 + .byte VOL , 56*mus_cycling_mvl/mxv + .byte N48 , Cs5 + .byte W12 + .byte VOL , 55*mus_cycling_mvl/mxv + .byte W02 + .byte 51*mus_cycling_mvl/mxv + .byte W03 + .byte 46*mus_cycling_mvl/mxv + .byte W03 + .byte 41*mus_cycling_mvl/mxv + .byte W04 + .byte 39*mus_cycling_mvl/mxv + .byte W02 + .byte 29*mus_cycling_mvl/mxv + .byte W03 + .byte 24*mus_cycling_mvl/mxv + .byte W03 + .byte 19*mus_cycling_mvl/mxv + .byte W04 + .byte 17*mus_cycling_mvl/mxv + .byte W02 + .byte 11*mus_cycling_mvl/mxv + .byte W03 + .byte 6*mus_cycling_mvl/mxv + .byte W03 + .byte 5*mus_cycling_mvl/mxv + .byte W04 + .byte PAN , c_v+0 + .byte VOL , 56*mus_cycling_mvl/mxv + .byte N72 , Cn5 + .byte W12 + .byte VOL , 55*mus_cycling_mvl/mxv + .byte W02 + .byte 51*mus_cycling_mvl/mxv + .byte W03 + .byte 46*mus_cycling_mvl/mxv + .byte W03 + .byte 41*mus_cycling_mvl/mxv + .byte W04 + .byte 39*mus_cycling_mvl/mxv + .byte W02 + .byte 29*mus_cycling_mvl/mxv + .byte W03 + .byte 24*mus_cycling_mvl/mxv + .byte W03 + .byte 19*mus_cycling_mvl/mxv + .byte W04 + .byte 17*mus_cycling_mvl/mxv + .byte W02 + .byte 11*mus_cycling_mvl/mxv + .byte W03 + .byte 6*mus_cycling_mvl/mxv + .byte W03 + .byte 5*mus_cycling_mvl/mxv + .byte W04 + .byte 6*mus_cycling_mvl/mxv + .byte W24 + .byte VOICE , 46 + .byte PAN , c_v-32 + .byte VOL , 68*mus_cycling_mvl/mxv + .byte N03 , An3 , v112 + .byte W03 + .byte Cn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte An4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Fs5 + .byte W03 + .byte An5 + .byte W03 + .byte Cn6 + .byte W03 + .byte VOICE , 35 + .byte PAN , c_v+0 + .byte VOL , 83*mus_cycling_mvl/mxv + .byte N09 , Gn1 + .byte W09 + .byte N06 , Gn1 , v036 + .byte W24 + .byte W03 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v036 + .byte W06 + .byte Dn1 , v112 + .byte W12 + .byte N18 , Gn1 + .byte W24 + .byte N06 + .byte W12 +mus_cycling_1_000: + .byte N09 , Gn1 , v112 + .byte W09 + .byte N06 , Gn1 , v036 + .byte W24 + .byte W03 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v036 + .byte W06 + .byte Dn1 , v112 + .byte W12 + .byte N21 , Gn1 + .byte W24 + .byte N06 , En1 + .byte W12 + .byte PEND + .byte N09 , Fs1 + .byte W09 + .byte N06 , Fs1 , v036 + .byte W24 + .byte W03 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v036 + .byte W06 + .byte Cs1 , v112 + .byte W12 + .byte N18 , Fs1 + .byte W24 + .byte N06 , An1 + .byte W12 + .byte N09 , Bn1 + .byte W09 + .byte N06 , Bn1 , v036 + .byte W24 + .byte W03 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v036 + .byte W06 + .byte Fs1 , v112 + .byte W12 + .byte N21 , Bn1 + .byte W24 + .byte N06 , As1 + .byte W12 + .byte N09 , Gn1 + .byte W09 + .byte N06 , Gn1 , v036 + .byte W24 + .byte W03 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v036 + .byte W06 + .byte Dn1 , v112 + .byte W12 + .byte N18 , Gn1 + .byte W18 + .byte N06 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W12 + .byte PATT + .word mus_cycling_1_000 + .byte N09 , Fs1 , v112 + .byte W09 + .byte N06 , Fs1 , v036 + .byte W24 + .byte W03 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v036 + .byte W06 + .byte Cs1 , v112 + .byte W06 + .byte Cs1 , v036 + .byte W06 + .byte N18 , Fs1 , v112 + .byte W18 + .byte N06 , Fs1 , v036 + .byte W06 + .byte As1 , v112 + .byte W12 + .byte N09 , Bn1 + .byte W09 + .byte N06 , Bn1 , v036 + .byte W24 + .byte W03 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v036 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v036 + .byte W06 + .byte N21 , Bn1 , v112 + .byte W24 + .byte N06 , As1 + .byte W06 + .byte As1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W12 + .byte Gn1 , v096 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Gn1 , v112 + .byte W12 + .byte Gn1 , v096 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Gs1 , v112 + .byte W12 + .byte Gs1 , v096 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Gs1 , v112 + .byte W12 + .byte Gs1 , v096 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte VOICE , 48 + .byte VOL , 68*mus_cycling_mvl/mxv + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v032 + .byte W06 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N06 , An1 , v096 + .byte W06 + .byte An1 , v032 + .byte W06 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v032 + .byte W06 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N06 , An1 , v096 + .byte W06 + .byte An1 , v032 + .byte W06 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v032 + .byte W06 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N06 , An1 , v096 + .byte W06 + .byte An1 , v032 + .byte W06 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v032 + .byte W06 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N06 , An1 , v096 + .byte W06 + .byte An1 , v032 + .byte W06 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte GOTO + .word mus_cycling_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_cycling_2: + .byte KEYSH , mus_cycling_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte VOL , 80*mus_cycling_mvl/mxv + .byte PAN , c_v+32 + .byte BENDR , 12 + .byte W48 + .byte N06 , Gn4 , v028 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 , v032 + .byte W06 + .byte Bn4 , v040 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 , v044 + .byte W06 + .byte En5 + .byte W06 +mus_cycling_2_B1: + .byte PAN , c_v-16 + .byte N06 , Dn2 , v112 + .byte W06 + .byte Dn2 , v032 + .byte W06 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v032 + .byte W06 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N06 , Dn2 , v112 + .byte W06 + .byte Dn2 , v032 + .byte W06 + .byte N03 , Bn3 , v112 + .byte W06 + .byte Bn3 , v032 + .byte W06 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v032 + .byte W06 + .byte N03 , Bn3 , v112 + .byte W06 + .byte Bn3 , v032 + .byte W06 + .byte N06 , Dn2 , v112 + .byte W06 + .byte Dn2 , v032 + .byte W06 + .byte N03 , Cs4 , v112 + .byte W06 + .byte Cs4 , v032 + .byte W06 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v032 + .byte W06 + .byte N03 , Cs4 , v112 + .byte W06 + .byte Cs4 , v032 + .byte W06 + .byte VOICE , 48 + .byte N06 , Fs4 , v096 + .byte W06 + .byte N03 , En4 , v084 + .byte W03 + .byte Ds4 + .byte W03 + .byte N06 , Dn4 , v092 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Bn3 , v092 + .byte W06 + .byte Bn3 , v032 + .byte W06 + .byte An3 , v092 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte En2 , v112 + .byte W06 + .byte En2 , v032 + .byte W06 + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte N06 , Bn1 , v112 + .byte W06 + .byte Bn1 , v032 + .byte W06 + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte N06 , En2 , v112 + .byte W06 + .byte En2 , v032 + .byte W06 + .byte N03 , Ds4 , v112 + .byte W06 + .byte Ds4 , v032 + .byte W06 + .byte N06 , Bn1 , v112 + .byte W06 + .byte Bn1 , v032 + .byte W06 + .byte N03 , Ds4 , v112 + .byte W06 + .byte Ds4 , v032 + .byte W06 + .byte N06 , En2 , v112 + .byte W06 + .byte En2 , v032 + .byte W06 + .byte N03 , Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte N06 , Bn1 , v112 + .byte W06 + .byte Bn1 , v032 + .byte W06 + .byte N03 , Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte En4 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte N03 , Cs4 , v112 + .byte W06 + .byte Cs4 , v032 + .byte W06 + .byte N06 , En2 , v112 + .byte W06 + .byte En2 , v032 + .byte W06 + .byte N03 , Cs4 , v112 + .byte W06 + .byte Cs4 , v032 + .byte W06 + .byte N06 , An2 , v112 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte N03 , Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte N06 , En2 , v112 + .byte W06 + .byte En2 , v032 + .byte W06 + .byte N03 , Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte N06 , An2 , v112 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte N03 , Ds4 , v112 + .byte W06 + .byte Ds4 , v032 + .byte W06 + .byte N06 , En2 , v112 + .byte W06 + .byte En2 , v032 + .byte W06 + .byte N03 , Ds4 , v112 + .byte W06 + .byte Ds4 , v032 + .byte W06 + .byte N09 , En4 , v096 + .byte W09 + .byte N03 , Ds4 , v080 + .byte W03 + .byte N12 , Dn4 , v096 + .byte W12 + .byte N06 , En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Dn2 , v112 + .byte W06 + .byte Dn2 , v032 + .byte W06 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v032 + .byte W06 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N06 , Dn2 , v112 + .byte W06 + .byte Dn2 , v032 + .byte W06 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v032 + .byte W06 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N06 , Dn2 , v112 + .byte W06 + .byte Dn2 , v032 + .byte W06 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v032 + .byte W06 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 1 + .byte PAN , c_v-32 + .byte VOL , 50*mus_cycling_mvl/mxv + .byte N09 , Gn3 + .byte W12 + .byte N03 , Gn3 , v064 + .byte W12 + .byte N03 + .byte W12 + .byte N09 , Gn3 , v112 + .byte W12 + .byte N03 , Gn3 , v064 + .byte W12 + .byte N03 + .byte W12 + .byte N09 , Gn3 , v112 + .byte W12 + .byte N03 , Gn3 , v064 + .byte W12 + .byte N09 , Cs4 , v112 + .byte W12 + .byte N03 , Cs4 , v064 + .byte W12 + .byte N03 + .byte W12 + .byte N09 , Cs4 , v112 + .byte W12 + .byte N03 , Cs4 , v064 + .byte W12 + .byte N03 + .byte W12 + .byte N09 , An3 , v112 + .byte W12 + .byte N03 , Cs4 , v064 + .byte W12 + .byte N09 , An3 , v112 + .byte W12 + .byte N03 , An3 , v064 + .byte W12 + .byte N03 + .byte W12 + .byte N09 , An3 , v112 + .byte W12 + .byte N03 , An3 , v064 + .byte W12 + .byte N03 + .byte W12 + .byte N09 , An3 , v112 + .byte W12 + .byte N03 , An3 , v064 + .byte W12 + .byte N09 , An3 , v112 + .byte W12 + .byte N03 , An3 , v064 + .byte W12 + .byte Gs3 + .byte W12 + .byte N09 , Gs3 , v112 + .byte W12 + .byte N03 , Gn3 , v064 + .byte W12 + .byte N03 + .byte W12 + .byte VOL , 56*mus_cycling_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Gn4 , v112 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte N24 , Bn4 + .byte W24 + .byte Cs5 + .byte W24 + .byte Dn5 + .byte W24 + .byte N72 , Bn5 + .byte W24 + .byte W24 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N06 , Cs6 + .byte W12 + .byte N04 , Bn5 + .byte W04 + .byte Cs6 + .byte W04 + .byte Bn5 + .byte W04 + .byte N12 , An5 + .byte W12 + .byte N06 , Gn5 + .byte W12 + .byte An5 + .byte W06 + .byte An5 , v040 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte Gn5 + .byte W06 + .byte An5 + .byte W06 + .byte An5 , v040 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte Gn5 + .byte W06 + .byte An5 + .byte W09 + .byte N03 , Bn5 + .byte W03 + .byte N12 , Cn6 + .byte W12 + .byte N06 , Bn5 + .byte W12 + .byte An5 + .byte W12 + .byte N12 + .byte W12 + .byte N04 , Gn5 + .byte W04 + .byte An5 + .byte W04 + .byte Gn5 + .byte W04 + .byte N06 , Fs5 + .byte W12 + .byte En5 + .byte W12 + .byte Ds5 + .byte W12 + .byte En5 + .byte W12 + .byte Fs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N12 , Bn4 + .byte W12 + .byte N06 , Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte An5 + .byte W06 + .byte An5 , v040 + .byte W06 + .byte Dn5 , v112 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte An5 + .byte W06 + .byte An5 , v040 + .byte W06 + .byte An5 , v112 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Bn5 , v040 + .byte W06 + .byte Dn5 , v112 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Bn5 , v040 + .byte W06 + .byte Cs6 , v112 + .byte W06 + .byte Bn5 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte N72 , An5 + .byte W60 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N09 , Gn5 + .byte W12 + .byte N03 , An5 + .byte W12 + .byte VOICE , 48 + .byte W96 + .byte GOTO + .word mus_cycling_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_cycling_3: + .byte KEYSH , mus_cycling_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 56*mus_cycling_mvl/mxv + .byte W84 + .byte N12 , An1 , v108 + .byte W12 +mus_cycling_3_B1: + .byte VOICE , 45 + .byte PAN , c_v+27 + .byte VOL , 56*mus_cycling_mvl/mxv + .byte W12 + .byte N06 , Fs4 , v112 + .byte W06 + .byte Fs4 , v032 + .byte W18 + .byte Fs4 , v112 + .byte W06 + .byte Fs4 , v032 + .byte W18 + .byte Fs4 , v112 + .byte W06 + .byte Fs4 , v032 + .byte W18 + .byte Fs4 , v112 + .byte W06 + .byte Fs4 , v032 + .byte W06 + .byte W12 + .byte Fs4 , v112 + .byte W06 + .byte Fs4 , v032 + .byte W18 + .byte Fs4 , v112 + .byte W06 + .byte Fs4 , v032 + .byte W54 + .byte W12 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v032 + .byte W18 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v032 + .byte W18 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v032 + .byte W18 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v032 + .byte W06 + .byte W12 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v032 + .byte W18 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v032 + .byte W06 + .byte VOICE , 48 + .byte N03 , An3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cs4 + .byte W12 + .byte VOICE , 45 + .byte W12 + .byte N06 , Gn4 + .byte W06 + .byte Gn4 , v032 + .byte W18 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v032 + .byte W18 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v032 + .byte W18 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v032 + .byte W06 + .byte W12 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v032 + .byte W18 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v032 + .byte W54 + .byte W12 + .byte Fs4 , v112 + .byte W06 + .byte Fs4 , v032 + .byte W18 + .byte Fs4 , v112 + .byte W06 + .byte Fs4 , v032 + .byte W18 + .byte En4 , v112 + .byte W06 + .byte En4 , v032 + .byte W18 + .byte En4 , v112 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte W12 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W18 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte VOICE , 48 + .byte N03 , An3 , v112 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte VOICE , 60 + .byte VOL , 53*mus_cycling_mvl/mxv + .byte PAN , c_v+16 + .byte N06 , Dn3 + .byte W24 + .byte En3 + .byte W24 + .byte N36 , Fs3 + .byte W24 + .byte MOD , 4 + .byte VOL , 52*mus_cycling_mvl/mxv + .byte MOD , 4 + .byte W02 + .byte VOL , 51*mus_cycling_mvl/mxv + .byte W03 + .byte 48*mus_cycling_mvl/mxv + .byte W03 + .byte 47*mus_cycling_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 52*mus_cycling_mvl/mxv + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N36 , Fs3 + .byte W24 + .byte VOL , 51*mus_cycling_mvl/mxv + .byte W02 + .byte 48*mus_cycling_mvl/mxv + .byte W03 + .byte 45*mus_cycling_mvl/mxv + .byte W07 + .byte 53*mus_cycling_mvl/mxv + .byte N09 , Dn3 + .byte W09 + .byte N03 , Gs3 + .byte W03 + .byte N36 , An3 + .byte W24 + .byte MOD , 3 + .byte W12 + .byte 0 + .byte N12 , Fs3 + .byte W12 + .byte N72 , Gn3 , v108 + .byte W24 + .byte VOL , 53*mus_cycling_mvl/mxv + .byte W02 + .byte 52*mus_cycling_mvl/mxv + .byte W03 + .byte 51*mus_cycling_mvl/mxv + .byte W03 + .byte 49*mus_cycling_mvl/mxv + .byte W04 + .byte 48*mus_cycling_mvl/mxv + .byte W02 + .byte 48*mus_cycling_mvl/mxv + .byte W03 + .byte 46*mus_cycling_mvl/mxv + .byte W03 + .byte 45*mus_cycling_mvl/mxv + .byte W09 + .byte 44*mus_cycling_mvl/mxv + .byte W03 + .byte 43*mus_cycling_mvl/mxv + .byte W04 + .byte MOD , 4 + .byte VOL , 42*mus_cycling_mvl/mxv + .byte W02 + .byte 41*mus_cycling_mvl/mxv + .byte W06 + .byte 40*mus_cycling_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 53*mus_cycling_mvl/mxv + .byte N12 , Fs3 , v104 + .byte W12 + .byte En3 + .byte W12 + .byte N48 , Bn3 , v112 + .byte W24 + .byte MOD , 7 + .byte VOL , 48*mus_cycling_mvl/mxv + .byte W02 + .byte 43*mus_cycling_mvl/mxv + .byte W03 + .byte 39*mus_cycling_mvl/mxv + .byte W03 + .byte 36*mus_cycling_mvl/mxv + .byte W04 + .byte 34*mus_cycling_mvl/mxv + .byte W02 + .byte 29*mus_cycling_mvl/mxv + .byte W03 + .byte 26*mus_cycling_mvl/mxv + .byte W03 + .byte 24*mus_cycling_mvl/mxv + .byte W04 + .byte 52*mus_cycling_mvl/mxv + .byte MOD , 0 + .byte N44 , Bn2 , v108 + .byte W24 + .byte VOL , 51*mus_cycling_mvl/mxv + .byte W02 + .byte 50*mus_cycling_mvl/mxv + .byte W03 + .byte 47*mus_cycling_mvl/mxv + .byte W03 + .byte 46*mus_cycling_mvl/mxv + .byte W04 + .byte MOD , 4 + .byte VOL , 45*mus_cycling_mvl/mxv + .byte W02 + .byte 42*mus_cycling_mvl/mxv + .byte W03 + .byte 39*mus_cycling_mvl/mxv + .byte W03 + .byte 38*mus_cycling_mvl/mxv + .byte W01 + .byte N03 , As2 , v112 + .byte W03 + .byte MOD , 0 + .byte VOL , 52*mus_cycling_mvl/mxv + .byte N06 , An2 + .byte W24 + .byte Bn2 + .byte W24 + .byte N36 , Dn3 + .byte W24 + .byte MOD , 4 + .byte VOL , 51*mus_cycling_mvl/mxv + .byte W02 + .byte 46*mus_cycling_mvl/mxv + .byte W03 + .byte 43*mus_cycling_mvl/mxv + .byte W03 + .byte 40*mus_cycling_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 39*mus_cycling_mvl/mxv + .byte N06 , Cs3 + .byte W06 + .byte Bn2 + .byte W06 + .byte VOL , 51*mus_cycling_mvl/mxv + .byte N36 , Cs3 + .byte W24 + .byte MOD , 3 + .byte VOL , 49*mus_cycling_mvl/mxv + .byte W02 + .byte 47*mus_cycling_mvl/mxv + .byte W03 + .byte 45*mus_cycling_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte VOL , 51*mus_cycling_mvl/mxv + .byte N12 , Bn2 + .byte W12 + .byte N36 , An2 + .byte W24 + .byte MOD , 3 + .byte W12 + .byte N12 , Fn3 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte TIE , Fs3 + .byte W24 + .byte VOL , 51*mus_cycling_mvl/mxv + .byte MOD , 2 + .byte W02 + .byte VOL , 48*mus_cycling_mvl/mxv + .byte W03 + .byte 47*mus_cycling_mvl/mxv + .byte W03 + .byte 44*mus_cycling_mvl/mxv + .byte W04 + .byte 43*mus_cycling_mvl/mxv + .byte W05 + .byte 41*mus_cycling_mvl/mxv + .byte W03 + .byte 39*mus_cycling_mvl/mxv + .byte W06 + .byte 36*mus_cycling_mvl/mxv + .byte W03 + .byte 35*mus_cycling_mvl/mxv + .byte W03 + .byte 34*mus_cycling_mvl/mxv + .byte W04 + .byte 33*mus_cycling_mvl/mxv + .byte W02 + .byte 32*mus_cycling_mvl/mxv + .byte W03 + .byte 31*mus_cycling_mvl/mxv + .byte W03 + .byte 29*mus_cycling_mvl/mxv + .byte W06 + .byte 29*mus_cycling_mvl/mxv + .byte W03 + .byte 28*mus_cycling_mvl/mxv + .byte W03 + .byte 27*mus_cycling_mvl/mxv + .byte W06 + .byte 26*mus_cycling_mvl/mxv + .byte W06 + .byte 25*mus_cycling_mvl/mxv + .byte W04 + .byte 24*mus_cycling_mvl/mxv + .byte MOD , 6 + .byte W02 + .byte VOL , 24*mus_cycling_mvl/mxv + .byte W03 + .byte 22*mus_cycling_mvl/mxv + .byte W07 + .byte 21*mus_cycling_mvl/mxv + .byte W02 + .byte 21*mus_cycling_mvl/mxv + .byte W03 + .byte 20*mus_cycling_mvl/mxv + .byte W07 + .byte 19*mus_cycling_mvl/mxv + .byte W02 + .byte 17*mus_cycling_mvl/mxv + .byte W03 + .byte 17*mus_cycling_mvl/mxv + .byte W07 + .byte 16*mus_cycling_mvl/mxv + .byte W02 + .byte 14*mus_cycling_mvl/mxv + .byte W06 + .byte 14*mus_cycling_mvl/mxv + .byte W04 + .byte 13*mus_cycling_mvl/mxv + .byte W02 + .byte 12*mus_cycling_mvl/mxv + .byte W03 + .byte 11*mus_cycling_mvl/mxv + .byte W03 + .byte 10*mus_cycling_mvl/mxv + .byte W04 + .byte 9*mus_cycling_mvl/mxv + .byte W02 + .byte 9*mus_cycling_mvl/mxv + .byte W03 + .byte 8*mus_cycling_mvl/mxv + .byte W04 + .byte 4*mus_cycling_mvl/mxv + .byte W03 + .byte EOT + .byte VOL , 51*mus_cycling_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte VOICE , 56 + .byte PAN , c_v+25 + .byte VOL , 63*mus_cycling_mvl/mxv + .byte N09 , Dn4 + .byte W12 + .byte N03 , Dn4 , v064 + .byte W12 + .byte N03 + .byte W12 + .byte N09 , Dn4 , v112 + .byte W12 + .byte N03 , Dn4 , v064 + .byte W12 + .byte N03 + .byte W12 + .byte N09 , Bn3 , v112 + .byte W12 + .byte N03 , Dn4 + .byte W12 + .byte N09 , En4 + .byte W12 + .byte N03 , En4 , v064 + .byte W12 + .byte N03 + .byte W12 + .byte N09 , En4 , v112 + .byte W12 + .byte N03 , En4 , v064 + .byte W12 + .byte N03 + .byte W12 + .byte N09 , Cs4 , v112 + .byte W12 + .byte N03 , En4 + .byte W12 + .byte N09 , Fs4 + .byte W12 + .byte N03 , Fs4 , v064 + .byte W12 + .byte Fn4 + .byte W12 + .byte N09 , Fn4 , v112 + .byte W12 + .byte N03 , En4 , v064 + .byte W12 + .byte N03 + .byte W12 + .byte N09 , Cs4 , v112 + .byte W12 + .byte N03 , En4 + .byte W12 + .byte N09 , Fs4 + .byte W12 + .byte N03 , En4 , v064 + .byte W12 + .byte Fs4 + .byte W12 + .byte N09 , Fs4 , v112 + .byte W12 + .byte N03 , Fs4 , v064 + .byte W12 + .byte N03 + .byte W12 + .byte N09 , Dn4 , v112 + .byte W12 + .byte N03 , Fs4 + .byte W12 + .byte VOICE , 56 + .byte VOL , 66*mus_cycling_mvl/mxv + .byte N06 , Gn3 + .byte W12 + .byte Dn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte N06 + .byte W06 + .byte MOD , 1 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 1 + .byte N12 , En4 + .byte W12 + .byte N03 , Dn4 , v084 + .byte W03 + .byte Cs4 + .byte W03 + .byte Bn3 + .byte W03 + .byte An3 + .byte W03 + .byte N06 , En4 , v112 + .byte W12 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte N36 , An4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte VOL , 65*mus_cycling_mvl/mxv + .byte W02 + .byte 58*mus_cycling_mvl/mxv + .byte W01 + .byte 62*mus_cycling_mvl/mxv + .byte W02 + .byte 51*mus_cycling_mvl/mxv + .byte W01 + .byte 60*mus_cycling_mvl/mxv + .byte W02 + .byte 40*mus_cycling_mvl/mxv + .byte W01 + .byte 58*mus_cycling_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 66*mus_cycling_mvl/mxv + .byte N12 , Gn4 + .byte W12 + .byte N06 , Fs4 + .byte W12 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W12 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W09 + .byte N03 , Gs4 + .byte W03 + .byte N12 , An4 + .byte W12 + .byte N06 , Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte N12 , Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte VOICE , 46 + .byte PAN , c_v-48 + .byte N03 , Ds4 + .byte W03 + .byte Fs4 + .byte W03 + .byte PAN , c_v-16 + .byte N03 , An4 + .byte W03 + .byte PAN , c_v+16 + .byte N03 , Bn4 + .byte W03 + .byte Ds5 + .byte W03 + .byte PAN , c_v+36 + .byte N03 , Fs5 + .byte W03 + .byte PAN , c_v+44 + .byte N03 , An5 + .byte W03 + .byte Bn5 + .byte W03 + .byte W96 + .byte W96 + .byte VOICE , 45 + .byte VOL , 56*mus_cycling_mvl/mxv + .byte PAN , c_v+30 + .byte W12 + .byte N06 , En4 + .byte W06 + .byte En4 , v032 + .byte W18 + .byte En4 , v112 + .byte W06 + .byte En4 , v032 + .byte W18 + .byte En4 , v112 + .byte W06 + .byte En4 , v032 + .byte W18 + .byte En4 , v112 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte W12 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v032 + .byte W18 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v032 + .byte W06 + .byte VOICE , 48 + .byte VOL , 60*mus_cycling_mvl/mxv + .byte N06 , Gn4 , v040 + .byte W06 + .byte Fs4 , v044 + .byte W06 + .byte Gn4 , v048 + .byte W06 + .byte An4 , v052 + .byte W06 + .byte VOL , 65*mus_cycling_mvl/mxv + .byte N06 , Bn4 , v056 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 , v060 + .byte W06 + .byte En5 + .byte W06 + .byte GOTO + .word mus_cycling_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_cycling_4: + .byte KEYSH , mus_cycling_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte XCMD , xIECV , 9 + .byte xIECL , 8 + .byte PAN , c_v+0 + .byte VOL , 41*mus_cycling_mvl/mxv + .byte BENDR , 12 + .byte N06 , Cs2 , v096 + .byte W06 + .byte Bn1 , v080 + .byte W06 + .byte Cs2 , v084 + .byte W06 + .byte Dn2 + .byte W06 + .byte En2 , v088 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 , v092 + .byte W06 + .byte An2 , v096 + .byte W06 + .byte PAN , c_v-42 + .byte VOL , 29*mus_cycling_mvl/mxv + .byte N06 , Bn2 + .byte W06 + .byte An2 , v100 + .byte W06 + .byte Bn2 , v104 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 , v108 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 +mus_cycling_4_B1: + .byte VOL , 68*mus_cycling_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 +mus_cycling_4_000: + .byte W36 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte W24 + .byte 7 + .byte W12 + .byte PEND + .byte W12 + .byte 0 + .byte W84 + .byte W96 + .byte W96 + .byte PATT + .word mus_cycling_4_000 + .byte W12 + .byte MOD , 0 + .byte W60 + .byte VOICE , 73 + .byte PAN , c_v-16 + .byte VOL , 79*mus_cycling_mvl/mxv + .byte W12 + .byte N12 , An3 , v112 + .byte W12 + .byte N06 , Fs4 + .byte W12 + .byte Fs4 , v032 + .byte W12 + .byte Gn4 , v112 + .byte W12 + .byte Gn4 , v032 + .byte W09 + .byte N03 , As4 , v092 + .byte W03 + .byte N48 , An4 , v112 + .byte W24 + .byte MOD , 7 + .byte VOL , 74*mus_cycling_mvl/mxv + .byte W02 + .byte 68*mus_cycling_mvl/mxv + .byte W03 + .byte 65*mus_cycling_mvl/mxv + .byte W03 + .byte 58*mus_cycling_mvl/mxv + .byte W04 + .byte 53*mus_cycling_mvl/mxv + .byte W02 + .byte 50*mus_cycling_mvl/mxv + .byte W03 + .byte 47*mus_cycling_mvl/mxv + .byte W03 + .byte 44*mus_cycling_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 79*mus_cycling_mvl/mxv + .byte N12 , An4 , v032 + .byte W12 + .byte N06 , Fs4 , v112 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W09 + .byte N03 , Ds5 , v080 + .byte W03 + .byte N12 , Dn5 , v112 + .byte W12 + .byte N06 , An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fs4 + .byte W09 + .byte N03 , Fn4 , v072 + .byte W03 + .byte N96 , En4 , v112 + .byte W48 + .byte MOD , 5 + .byte VOL , 77*mus_cycling_mvl/mxv + .byte W02 + .byte 73*mus_cycling_mvl/mxv + .byte W03 + .byte 70*mus_cycling_mvl/mxv + .byte W03 + .byte 68*mus_cycling_mvl/mxv + .byte W04 + .byte 66*mus_cycling_mvl/mxv + .byte W02 + .byte 63*mus_cycling_mvl/mxv + .byte W03 + .byte 60*mus_cycling_mvl/mxv + .byte W03 + .byte 55*mus_cycling_mvl/mxv + .byte W04 + .byte MOD , 7 + .byte VOL , 53*mus_cycling_mvl/mxv + .byte W02 + .byte 51*mus_cycling_mvl/mxv + .byte W03 + .byte 48*mus_cycling_mvl/mxv + .byte W03 + .byte 43*mus_cycling_mvl/mxv + .byte W04 + .byte 40*mus_cycling_mvl/mxv + .byte W02 + .byte 38*mus_cycling_mvl/mxv + .byte W03 + .byte 35*mus_cycling_mvl/mxv + .byte W03 + .byte 33*mus_cycling_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W96 + .byte VOL , 79*mus_cycling_mvl/mxv + .byte N06 + .byte W12 + .byte En4 , v032 + .byte W12 + .byte Fs4 , v112 + .byte W12 + .byte Fs4 , v032 + .byte W12 + .byte N48 , Gn4 , v112 + .byte W24 + .byte MOD , 5 + .byte VOL , 77*mus_cycling_mvl/mxv + .byte W02 + .byte 73*mus_cycling_mvl/mxv + .byte W03 + .byte 69*mus_cycling_mvl/mxv + .byte W03 + .byte 61*mus_cycling_mvl/mxv + .byte W04 + .byte 58*mus_cycling_mvl/mxv + .byte W02 + .byte 52*mus_cycling_mvl/mxv + .byte W03 + .byte 48*mus_cycling_mvl/mxv + .byte W03 + .byte 46*mus_cycling_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 79*mus_cycling_mvl/mxv + .byte N12 , Gn4 , v032 + .byte W12 + .byte N06 , En4 , v112 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W06 + .byte N03 , Ds5 , v064 + .byte W03 + .byte Dn5 , v068 + .byte W03 + .byte N09 , Cs5 , v104 + .byte W09 + .byte N03 , Cn5 , v080 + .byte W03 + .byte N12 , Bn4 , v112 + .byte W12 + .byte N06 , Cs5 , v100 + .byte W12 + .byte En5 , v108 + .byte W12 + .byte TIE , Fs5 , v112 + .byte W48 + .byte MOD , 3 + .byte VOL , 69*mus_cycling_mvl/mxv + .byte W02 + .byte 66*mus_cycling_mvl/mxv + .byte W03 + .byte 63*mus_cycling_mvl/mxv + .byte W03 + .byte 62*mus_cycling_mvl/mxv + .byte W04 + .byte 58*mus_cycling_mvl/mxv + .byte W02 + .byte 55*mus_cycling_mvl/mxv + .byte W03 + .byte 51*mus_cycling_mvl/mxv + .byte W03 + .byte 48*mus_cycling_mvl/mxv + .byte W04 + .byte 46*mus_cycling_mvl/mxv + .byte W02 + .byte 43*mus_cycling_mvl/mxv + .byte W03 + .byte 41*mus_cycling_mvl/mxv + .byte W03 + .byte 39*mus_cycling_mvl/mxv + .byte W04 + .byte 36*mus_cycling_mvl/mxv + .byte W02 + .byte 34*mus_cycling_mvl/mxv + .byte W03 + .byte 31*mus_cycling_mvl/mxv + .byte W03 + .byte 28*mus_cycling_mvl/mxv + .byte W04 + .byte 28*mus_cycling_mvl/mxv + .byte W02 + .byte 25*mus_cycling_mvl/mxv + .byte W03 + .byte 24*mus_cycling_mvl/mxv + .byte W03 + .byte 21*mus_cycling_mvl/mxv + .byte W04 + .byte 19*mus_cycling_mvl/mxv + .byte W02 + .byte 19*mus_cycling_mvl/mxv + .byte W03 + .byte 16*mus_cycling_mvl/mxv + .byte W03 + .byte 15*mus_cycling_mvl/mxv + .byte W04 + .byte 14*mus_cycling_mvl/mxv + .byte W02 + .byte 13*mus_cycling_mvl/mxv + .byte W03 + .byte 11*mus_cycling_mvl/mxv + .byte W07 + .byte 10*mus_cycling_mvl/mxv + .byte W02 + .byte 9*mus_cycling_mvl/mxv + .byte W06 + .byte 9*mus_cycling_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 7*mus_cycling_mvl/mxv + .byte W02 + .byte 6*mus_cycling_mvl/mxv + .byte W03 + .byte 5*mus_cycling_mvl/mxv + .byte W03 + .byte 3*mus_cycling_mvl/mxv + .byte W01 + .byte 6*mus_cycling_mvl/mxv + .byte W06 + .byte 6*mus_cycling_mvl/mxv + .byte W03 + .byte 5*mus_cycling_mvl/mxv + .byte W03 + .byte 5*mus_cycling_mvl/mxv + .byte W03 + .byte EOT + .byte W24 + .byte VOL , 72*mus_cycling_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 48 + .byte N06 , Cs2 , v060 + .byte W06 + .byte Bn1 , v064 + .byte W06 + .byte Cs2 , v068 + .byte W06 + .byte Dn2 , v072 + .byte W06 + .byte En2 , v076 + .byte W06 + .byte Fs2 , v080 + .byte W06 + .byte Gn2 , v084 + .byte W06 + .byte An2 , v088 + .byte W06 + .byte Bn2 , v092 + .byte W06 + .byte An2 , v096 + .byte W06 + .byte Bn2 , v100 + .byte W06 + .byte Cs3 , v104 + .byte W06 + .byte Dn3 , v108 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte GOTO + .word mus_cycling_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_cycling_5: + .byte KEYSH , mus_cycling_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 63*mus_cycling_mvl/mxv + .byte N06 , An2 , v096 + .byte W06 + .byte Gn2 , v080 + .byte W06 + .byte An2 , v084 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cs3 , v088 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 , v092 + .byte W06 + .byte Fs3 , v096 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 , v100 + .byte W06 + .byte Gn3 , v104 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 , v108 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 +mus_cycling_5_B1: + .byte PAN , c_v+0 + .byte VOL , 68*mus_cycling_mvl/mxv + .byte N06 , Fs4 , v112 + .byte W12 + .byte Fs4 , v032 + .byte W12 + .byte Gn4 , v112 + .byte W12 + .byte Gn4 , v032 + .byte W12 + .byte N48 , An4 , v112 + .byte W24 + .byte VOL , 60*mus_cycling_mvl/mxv + .byte W02 + .byte 58*mus_cycling_mvl/mxv + .byte W03 + .byte 55*mus_cycling_mvl/mxv + .byte W03 + .byte 54*mus_cycling_mvl/mxv + .byte W04 + .byte 53*mus_cycling_mvl/mxv + .byte W02 + .byte 50*mus_cycling_mvl/mxv + .byte W03 + .byte 47*mus_cycling_mvl/mxv + .byte W01 + .byte MOD , 3 + .byte W02 + .byte VOL , 41*mus_cycling_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 41*mus_cycling_mvl/mxv + .byte N12 , An4 , v032 + .byte W02 + .byte VOL , 36*mus_cycling_mvl/mxv + .byte W03 + .byte 32*mus_cycling_mvl/mxv + .byte W03 + .byte 26*mus_cycling_mvl/mxv + .byte W01 + .byte VOICE , 48 + .byte W03 + .byte VOL , 68*mus_cycling_mvl/mxv + .byte N06 , Fs4 , v112 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Dn5 , v104 + .byte W06 + .byte N03 , Bn4 , v096 + .byte W03 + .byte As4 + .byte W03 + .byte N06 , An4 , v100 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fs4 , v092 + .byte W12 + .byte N96 , En4 , v112 + .byte W48 + .byte VOL , 62*mus_cycling_mvl/mxv + .byte W03 + .byte 60*mus_cycling_mvl/mxv + .byte W02 + .byte 58*mus_cycling_mvl/mxv + .byte W03 + .byte 55*mus_cycling_mvl/mxv + .byte W04 + .byte 53*mus_cycling_mvl/mxv + .byte W02 + .byte 50*mus_cycling_mvl/mxv + .byte W03 + .byte 46*mus_cycling_mvl/mxv + .byte W03 + .byte 44*mus_cycling_mvl/mxv + .byte W04 + .byte 42*mus_cycling_mvl/mxv + .byte W02 + .byte 37*mus_cycling_mvl/mxv + .byte W03 + .byte 35*mus_cycling_mvl/mxv + .byte W03 + .byte 32*mus_cycling_mvl/mxv + .byte W04 + .byte MOD , 3 + .byte VOL , 29*mus_cycling_mvl/mxv + .byte W02 + .byte 24*mus_cycling_mvl/mxv + .byte W03 + .byte 22*mus_cycling_mvl/mxv + .byte W03 + .byte 20*mus_cycling_mvl/mxv + .byte W01 + .byte 17*mus_cycling_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 17*mus_cycling_mvl/mxv + .byte W48 + .byte 68*mus_cycling_mvl/mxv + .byte W12 + .byte N06 , Fs4 , v104 + .byte W06 + .byte N03 , Gn4 , v096 + .byte W03 + .byte Gs4 , v100 + .byte W03 + .byte N12 , An4 , v104 + .byte W12 + .byte N06 , Gn4 , v108 + .byte W06 + .byte Fs4 , v100 + .byte W06 + .byte En4 , v112 + .byte W12 + .byte En4 , v032 + .byte W12 + .byte Fs4 , v112 + .byte W12 + .byte Fs4 , v032 + .byte W12 + .byte N48 , Gn4 , v112 + .byte W24 + .byte W03 + .byte VOL , 62*mus_cycling_mvl/mxv + .byte W05 + .byte 61*mus_cycling_mvl/mxv + .byte W04 + .byte MOD , 3 + .byte VOL , 60*mus_cycling_mvl/mxv + .byte W02 + .byte 58*mus_cycling_mvl/mxv + .byte W03 + .byte 56*mus_cycling_mvl/mxv + .byte W03 + .byte 54*mus_cycling_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 53*mus_cycling_mvl/mxv + .byte N12 , Gn4 , v032 + .byte W02 + .byte VOL , 51*mus_cycling_mvl/mxv + .byte W03 + .byte 49*mus_cycling_mvl/mxv + .byte W03 + .byte 48*mus_cycling_mvl/mxv + .byte W04 + .byte 68*mus_cycling_mvl/mxv + .byte N06 , En4 , v112 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N09 , Cs5 , v092 + .byte W09 + .byte N03 , Cn5 , v076 + .byte W03 + .byte N12 , Bn4 , v096 + .byte W12 + .byte N06 , Cs5 + .byte W12 + .byte En5 + .byte W12 + .byte N96 , An4 , v112 + .byte W48 + .byte VOL , 62*mus_cycling_mvl/mxv + .byte W03 + .byte 60*mus_cycling_mvl/mxv + .byte W02 + .byte 58*mus_cycling_mvl/mxv + .byte W03 + .byte 55*mus_cycling_mvl/mxv + .byte W04 + .byte 53*mus_cycling_mvl/mxv + .byte W02 + .byte 50*mus_cycling_mvl/mxv + .byte W03 + .byte 46*mus_cycling_mvl/mxv + .byte W03 + .byte 44*mus_cycling_mvl/mxv + .byte W04 + .byte 42*mus_cycling_mvl/mxv + .byte W02 + .byte 37*mus_cycling_mvl/mxv + .byte W03 + .byte 35*mus_cycling_mvl/mxv + .byte W03 + .byte 32*mus_cycling_mvl/mxv + .byte W04 + .byte MOD , 3 + .byte VOL , 29*mus_cycling_mvl/mxv + .byte W02 + .byte 24*mus_cycling_mvl/mxv + .byte W03 + .byte 22*mus_cycling_mvl/mxv + .byte W03 + .byte 20*mus_cycling_mvl/mxv + .byte W01 + .byte 17*mus_cycling_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte N12 , An4 , v032 + .byte W96 + .byte PAN , c_v-23 + .byte VOL , 45*mus_cycling_mvl/mxv + .byte N03 , Dn4 , v112 + .byte W06 + .byte An3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte An3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte An3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte An3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte An3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte An3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte En4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte En4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte En4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte An3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte An3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte An3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte An4 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte VOL , 51*mus_cycling_mvl/mxv + .byte N24 , Bn4 + .byte W24 + .byte Cs5 + .byte W24 + .byte Dn5 + .byte W24 + .byte N72 , An5 + .byte W24 + .byte W24 + .byte VOL , 48*mus_cycling_mvl/mxv + .byte MOD , 6 + .byte W02 + .byte VOL , 43*mus_cycling_mvl/mxv + .byte W03 + .byte 39*mus_cycling_mvl/mxv + .byte W03 + .byte 37*mus_cycling_mvl/mxv + .byte W04 + .byte 34*mus_cycling_mvl/mxv + .byte W02 + .byte 31*mus_cycling_mvl/mxv + .byte W03 + .byte 28*mus_cycling_mvl/mxv + .byte W03 + .byte 26*mus_cycling_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 51*mus_cycling_mvl/mxv + .byte N04 , Gn5 , v108 + .byte W04 + .byte An5 + .byte W04 + .byte Gn5 , v104 + .byte W04 + .byte Fs5 , v100 + .byte W04 + .byte Gn5 , v096 + .byte W04 + .byte Fs5 + .byte W04 + .byte En5 , v092 + .byte W04 + .byte Fs5 + .byte W04 + .byte En5 , v088 + .byte W04 + .byte Dn5 , v084 + .byte W04 + .byte En5 , v080 + .byte W04 + .byte Dn5 , v076 + .byte W04 + .byte N06 , Cs5 , v112 + .byte W12 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W12 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W12 + .byte N06 + .byte W06 + .byte Dn5 + .byte W06 + .byte N24 , En5 + .byte W24 + .byte N08 + .byte W08 + .byte Fs5 + .byte W08 + .byte En5 + .byte W08 + .byte N48 , Dn5 + .byte W24 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N06 , Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte N24 , Bn3 + .byte W24 + .byte Cs4 + .byte W24 + .byte Dn4 + .byte W24 + .byte N72 , Bn4 + .byte W24 + .byte W36 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Cs5 + .byte W12 + .byte N04 , Bn4 + .byte W04 + .byte Cs5 + .byte W04 + .byte Bn4 + .byte W04 + .byte N12 , An4 + .byte W12 + .byte N06 , Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W12 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W09 + .byte N03 , Bn4 + .byte W03 + .byte N12 , Cn5 + .byte W12 + .byte N06 , Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte N12 + .byte W12 + .byte N04 , Gn4 + .byte W04 + .byte An4 + .byte W04 + .byte Gn4 + .byte W04 + .byte N06 , Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N12 , Bn3 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W12 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W12 + .byte N06 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Bn4 + .byte W12 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Bn4 + .byte W12 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N72 , An4 + .byte W48 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N09 , Gn4 + .byte W12 + .byte N03 , An4 + .byte W12 + .byte N06 , An2 , v064 + .byte W06 + .byte Gn2 , v072 + .byte W06 + .byte An2 + .byte W06 + .byte Bn2 , v076 + .byte W06 + .byte Cs3 , v080 + .byte W06 + .byte Dn3 , v084 + .byte W06 + .byte En3 , v088 + .byte W06 + .byte Fs3 , v092 + .byte W06 + .byte Gn3 , v096 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 , v100 + .byte W06 + .byte An3 , v104 + .byte W06 + .byte Bn3 , v108 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte En4 + .byte W06 + .byte GOTO + .word mus_cycling_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_cycling_6: + .byte KEYSH , mus_cycling_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 4 + .byte xIECL , 4 + .byte BENDR , 12 + .byte PAN , c_v-61 + .byte VOL , 34*mus_cycling_mvl/mxv + .byte W96 +mus_cycling_6_B1: + .byte VOICE , 81 + .byte PAN , c_v-61 + .byte VOL , 17*mus_cycling_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Fs2 , v112 + .byte W05 + .byte VOL , 18*mus_cycling_mvl/mxv + .byte W07 + .byte 21*mus_cycling_mvl/mxv + .byte N24 , Dn3 , v104 + .byte W05 + .byte VOL , 22*mus_cycling_mvl/mxv + .byte W07 + .byte 25*mus_cycling_mvl/mxv + .byte W05 + .byte 27*mus_cycling_mvl/mxv + .byte W07 + .byte 28*mus_cycling_mvl/mxv + .byte N12 , An2 , v100 + .byte W05 + .byte VOL , 31*mus_cycling_mvl/mxv + .byte W07 + .byte VOICE , 84 + .byte VOL , 34*mus_cycling_mvl/mxv + .byte N03 , Fs3 , v092 + .byte W12 + .byte VOL , 38*mus_cycling_mvl/mxv + .byte N06 , Dn5 , v112 + .byte W06 + .byte En5 + .byte W06 + .byte Fs5 + .byte W12 + .byte Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte Fs5 + .byte W12 + .byte VOICE , 81 + .byte N24 , Dn3 , v100 + .byte W12 + .byte VOL , 34*mus_cycling_mvl/mxv + .byte W12 + .byte N24 , Cs3 , v096 + .byte W24 + .byte Bn2 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte VOICE , 84 + .byte VOL , 39*mus_cycling_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Gn3 + .byte W12 + .byte N06 , En3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N36 , Gn4 + .byte W12 + .byte VOL , 39*mus_cycling_mvl/mxv + .byte MOD , 7 + .byte W02 + .byte VOL , 37*mus_cycling_mvl/mxv + .byte W03 + .byte 32*mus_cycling_mvl/mxv + .byte W03 + .byte 29*mus_cycling_mvl/mxv + .byte W04 + .byte 26*mus_cycling_mvl/mxv + .byte W02 + .byte 21*mus_cycling_mvl/mxv + .byte W03 + .byte 17*mus_cycling_mvl/mxv + .byte W03 + .byte 15*mus_cycling_mvl/mxv + .byte W04 + .byte 40*mus_cycling_mvl/mxv + .byte MOD , 0 + .byte N06 , Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N36 , Fs4 + .byte W12 + .byte MOD , 7 + .byte W03 + .byte VOL , 37*mus_cycling_mvl/mxv + .byte W02 + .byte 33*mus_cycling_mvl/mxv + .byte W03 + .byte 27*mus_cycling_mvl/mxv + .byte W04 + .byte 23*mus_cycling_mvl/mxv + .byte BEND , c_v+0 + .byte W02 + .byte VOL , 17*mus_cycling_mvl/mxv + .byte W04 + .byte 14*mus_cycling_mvl/mxv + .byte W03 + .byte 11*mus_cycling_mvl/mxv + .byte W03 + .byte 40*mus_cycling_mvl/mxv + .byte N06 , Dn3 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N06 , Gn3 + .byte W06 + .byte Dn4 + .byte W12 + .byte Bn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte VOL , 34*mus_cycling_mvl/mxv + .byte N03 , Fs3 , v112 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte VOICE , 81 + .byte N06 , An2 , v092 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte N12 , Cs3 , v088 + .byte W12 + .byte VOL , 38*mus_cycling_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , An2 , v096 + .byte W09 + .byte VOICE , 84 + .byte W03 + .byte N06 , Bn4 , v080 + .byte W06 + .byte An4 , v084 + .byte W06 + .byte N04 , Bn4 , v092 + .byte W04 + .byte Cs5 + .byte W04 + .byte Dn5 + .byte W04 + .byte En5 , v096 + .byte W04 + .byte Fs5 + .byte W04 + .byte Gn5 + .byte W04 + .byte VOL , 34*mus_cycling_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , An5 + .byte W06 + .byte An5 , v032 + .byte W06 + .byte VOICE , 81 + .byte N24 , En3 , v112 + .byte W24 + .byte Cs3 + .byte W24 + .byte An2 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte VOICE , 84 + .byte VOL , 38*mus_cycling_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Fs3 , v096 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N36 , Fs4 + .byte W12 + .byte VOL , 39*mus_cycling_mvl/mxv + .byte MOD , 7 + .byte W02 + .byte VOL , 37*mus_cycling_mvl/mxv + .byte W03 + .byte 32*mus_cycling_mvl/mxv + .byte W03 + .byte 29*mus_cycling_mvl/mxv + .byte W04 + .byte 26*mus_cycling_mvl/mxv + .byte W02 + .byte 21*mus_cycling_mvl/mxv + .byte W03 + .byte 17*mus_cycling_mvl/mxv + .byte W03 + .byte 15*mus_cycling_mvl/mxv + .byte W04 + .byte 40*mus_cycling_mvl/mxv + .byte MOD , 0 + .byte N06 , An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N36 , En4 + .byte W12 + .byte MOD , 7 + .byte W03 + .byte VOL , 37*mus_cycling_mvl/mxv + .byte W02 + .byte 33*mus_cycling_mvl/mxv + .byte W03 + .byte 27*mus_cycling_mvl/mxv + .byte W04 + .byte 23*mus_cycling_mvl/mxv + .byte W02 + .byte 17*mus_cycling_mvl/mxv + .byte W04 + .byte 14*mus_cycling_mvl/mxv + .byte W03 + .byte 11*mus_cycling_mvl/mxv + .byte W03 + .byte 40*mus_cycling_mvl/mxv + .byte N06 , Fs3 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N06 , An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte An3 , v096 + .byte W06 + .byte Fs3 + .byte W06 + .byte VOICE , 81 + .byte VOL , 34*mus_cycling_mvl/mxv + .byte BEND , c_v+0 + .byte N36 , An2 , v112 + .byte W15 + .byte MOD , 6 + .byte W21 + .byte N06 , Bn2 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N06 , Cs3 + .byte W06 + .byte PAN , c_v+0 + .byte VOL , 28*mus_cycling_mvl/mxv + .byte BEND , c_v+1 + .byte W84 + .byte N12 , An2 , v064 + .byte W12 + .byte VOL , 34*mus_cycling_mvl/mxv + .byte N92 , Dn2 + .byte W48 + .byte VOL , 32*mus_cycling_mvl/mxv + .byte W02 + .byte 31*mus_cycling_mvl/mxv + .byte W03 + .byte 29*mus_cycling_mvl/mxv + .byte W03 + .byte 28*mus_cycling_mvl/mxv + .byte W04 + .byte 26*mus_cycling_mvl/mxv + .byte W02 + .byte 25*mus_cycling_mvl/mxv + .byte W03 + .byte 24*mus_cycling_mvl/mxv + .byte W03 + .byte 21*mus_cycling_mvl/mxv + .byte W04 + .byte 19*mus_cycling_mvl/mxv + .byte W02 + .byte 19*mus_cycling_mvl/mxv + .byte W03 + .byte 17*mus_cycling_mvl/mxv + .byte W03 + .byte 16*mus_cycling_mvl/mxv + .byte W04 + .byte 15*mus_cycling_mvl/mxv + .byte W02 + .byte 14*mus_cycling_mvl/mxv + .byte W03 + .byte 13*mus_cycling_mvl/mxv + .byte W03 + .byte 12*mus_cycling_mvl/mxv + .byte W04 + .byte 35*mus_cycling_mvl/mxv + .byte W96 + .byte N36 , Gn2 + .byte W09 + .byte VOL , 33*mus_cycling_mvl/mxv + .byte W03 + .byte 30*mus_cycling_mvl/mxv + .byte W02 + .byte 27*mus_cycling_mvl/mxv + .byte W03 + .byte 24*mus_cycling_mvl/mxv + .byte W03 + .byte 21*mus_cycling_mvl/mxv + .byte W04 + .byte 18*mus_cycling_mvl/mxv + .byte W02 + .byte 16*mus_cycling_mvl/mxv + .byte W03 + .byte 15*mus_cycling_mvl/mxv + .byte W07 + .byte 34*mus_cycling_mvl/mxv + .byte N12 , Bn1 + .byte W12 + .byte Bn2 + .byte W12 + .byte N36 , Gn2 + .byte W12 + .byte VOL , 33*mus_cycling_mvl/mxv + .byte W02 + .byte 30*mus_cycling_mvl/mxv + .byte W03 + .byte 27*mus_cycling_mvl/mxv + .byte W07 + .byte 24*mus_cycling_mvl/mxv + .byte W02 + .byte 21*mus_cycling_mvl/mxv + .byte W03 + .byte 18*mus_cycling_mvl/mxv + .byte W03 + .byte 16*mus_cycling_mvl/mxv + .byte W04 + .byte 34*mus_cycling_mvl/mxv + .byte N60 , An2 + .byte W24 + .byte VOL , 34*mus_cycling_mvl/mxv + .byte W02 + .byte 33*mus_cycling_mvl/mxv + .byte W03 + .byte 30*mus_cycling_mvl/mxv + .byte W03 + .byte 27*mus_cycling_mvl/mxv + .byte W04 + .byte 24*mus_cycling_mvl/mxv + .byte W02 + .byte 21*mus_cycling_mvl/mxv + .byte W03 + .byte 18*mus_cycling_mvl/mxv + .byte W03 + .byte 16*mus_cycling_mvl/mxv + .byte W04 + .byte 14*mus_cycling_mvl/mxv + .byte W02 + .byte 13*mus_cycling_mvl/mxv + .byte W10 + .byte 34*mus_cycling_mvl/mxv + .byte N12 , Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte N92 , Cs2 + .byte W48 + .byte VOL , 32*mus_cycling_mvl/mxv + .byte W02 + .byte 29*mus_cycling_mvl/mxv + .byte W03 + .byte 28*mus_cycling_mvl/mxv + .byte W03 + .byte 25*mus_cycling_mvl/mxv + .byte W06 + .byte 22*mus_cycling_mvl/mxv + .byte W03 + .byte 21*mus_cycling_mvl/mxv + .byte W03 + .byte 19*mus_cycling_mvl/mxv + .byte W04 + .byte 19*mus_cycling_mvl/mxv + .byte W05 + .byte 17*mus_cycling_mvl/mxv + .byte W03 + .byte 16*mus_cycling_mvl/mxv + .byte W04 + .byte 15*mus_cycling_mvl/mxv + .byte W02 + .byte 13*mus_cycling_mvl/mxv + .byte W03 + .byte 11*mus_cycling_mvl/mxv + .byte W03 + .byte 9*mus_cycling_mvl/mxv + .byte W04 + .byte 6*mus_cycling_mvl/mxv + .byte W96 + .byte VOICE , 84 + .byte VOL , 34*mus_cycling_mvl/mxv + .byte BEND , c_v+0 + .byte W72 + .byte N12 , Gn5 , v112 + .byte W12 + .byte An5 + .byte W12 + .byte N24 , Bn5 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 1 + .byte N24 , Cs6 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 1 + .byte N24 , Dn6 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 1 + .byte N72 , An6 + .byte W24 + .byte MOD , 9 + .byte W24 + .byte VOL , 34*mus_cycling_mvl/mxv + .byte W02 + .byte 31*mus_cycling_mvl/mxv + .byte W03 + .byte 29*mus_cycling_mvl/mxv + .byte W03 + .byte 25*mus_cycling_mvl/mxv + .byte W04 + .byte 22*mus_cycling_mvl/mxv + .byte W02 + .byte 20*mus_cycling_mvl/mxv + .byte W03 + .byte 17*mus_cycling_mvl/mxv + .byte W03 + .byte 14*mus_cycling_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 34*mus_cycling_mvl/mxv + .byte N04 , Gn6 , v108 + .byte W04 + .byte An6 + .byte W04 + .byte Gn6 , v104 + .byte W04 + .byte Fs6 , v100 + .byte W04 + .byte Gn6 , v096 + .byte W04 + .byte Fs6 + .byte W04 + .byte En6 , v092 + .byte W04 + .byte Fs6 + .byte W04 + .byte En6 , v088 + .byte W04 + .byte Dn6 , v084 + .byte W04 + .byte En6 , v080 + .byte W04 + .byte Dn6 , v076 + .byte W04 + .byte N06 , Cs6 , v112 + .byte W12 + .byte An5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Cs6 + .byte W12 + .byte An5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Cs6 + .byte W12 + .byte N06 + .byte W06 + .byte Dn6 + .byte W06 + .byte N24 , En6 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N08 + .byte W08 + .byte Fs6 + .byte W08 + .byte En6 + .byte W08 + .byte N48 , Dn6 + .byte W24 + .byte MOD , 10 + .byte W24 + .byte 0 + .byte W24 + .byte VOL , 19*mus_cycling_mvl/mxv + .byte PAN , c_v+63 + .byte N72 , Gn3 + .byte W02 + .byte VOL , 21*mus_cycling_mvl/mxv + .byte W03 + .byte 23*mus_cycling_mvl/mxv + .byte W03 + .byte 24*mus_cycling_mvl/mxv + .byte W04 + .byte 24*mus_cycling_mvl/mxv + .byte W02 + .byte 25*mus_cycling_mvl/mxv + .byte W03 + .byte 26*mus_cycling_mvl/mxv + .byte W03 + .byte 27*mus_cycling_mvl/mxv + .byte W04 + .byte 28*mus_cycling_mvl/mxv + .byte W02 + .byte 29*mus_cycling_mvl/mxv + .byte W03 + .byte 30*mus_cycling_mvl/mxv + .byte W03 + .byte 32*mus_cycling_mvl/mxv + .byte W04 + .byte 34*mus_cycling_mvl/mxv + .byte W05 + .byte 34*mus_cycling_mvl/mxv + .byte W03 + .byte 35*mus_cycling_mvl/mxv + .byte W04 + .byte MOD , 9 + .byte W24 + .byte 0 + .byte N12 , An3 , v080 + .byte W12 + .byte Bn3 + .byte W12 + .byte VOL , 20*mus_cycling_mvl/mxv + .byte N72 , Cs4 + .byte W02 + .byte VOL , 21*mus_cycling_mvl/mxv + .byte W03 + .byte 22*mus_cycling_mvl/mxv + .byte W03 + .byte 24*mus_cycling_mvl/mxv + .byte W04 + .byte 25*mus_cycling_mvl/mxv + .byte W02 + .byte 26*mus_cycling_mvl/mxv + .byte W03 + .byte 27*mus_cycling_mvl/mxv + .byte W03 + .byte 29*mus_cycling_mvl/mxv + .byte W04 + .byte 29*mus_cycling_mvl/mxv + .byte W02 + .byte 31*mus_cycling_mvl/mxv + .byte W03 + .byte 31*mus_cycling_mvl/mxv + .byte W03 + .byte 33*mus_cycling_mvl/mxv + .byte W06 + .byte 34*mus_cycling_mvl/mxv + .byte W10 + .byte MOD , 9 + .byte W24 + .byte 0 + .byte N12 , Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte VOL , 20*mus_cycling_mvl/mxv + .byte N72 , An3 + .byte W02 + .byte VOL , 21*mus_cycling_mvl/mxv + .byte W03 + .byte 22*mus_cycling_mvl/mxv + .byte W07 + .byte 23*mus_cycling_mvl/mxv + .byte W02 + .byte 25*mus_cycling_mvl/mxv + .byte W03 + .byte 26*mus_cycling_mvl/mxv + .byte W03 + .byte 27*mus_cycling_mvl/mxv + .byte W06 + .byte 29*mus_cycling_mvl/mxv + .byte W03 + .byte 31*mus_cycling_mvl/mxv + .byte W03 + .byte 32*mus_cycling_mvl/mxv + .byte W06 + .byte 33*mus_cycling_mvl/mxv + .byte W01 + .byte 34*mus_cycling_mvl/mxv + .byte W09 + .byte MOD , 9 + .byte W24 + .byte 1 + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Fs3 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte VOL , 27*mus_cycling_mvl/mxv + .byte N48 , Ds4 + .byte W02 + .byte VOL , 30*mus_cycling_mvl/mxv + .byte W03 + .byte 31*mus_cycling_mvl/mxv + .byte W03 + .byte 33*mus_cycling_mvl/mxv + .byte W04 + .byte 34*mus_cycling_mvl/mxv + .byte W12 + .byte MOD , 9 + .byte W24 + .byte 0 + .byte N03 , Gn4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W18 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte Gs4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N96 , Dn4 + .byte W96 + .byte W96 + .byte GOTO + .word mus_cycling_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_cycling_7: + .byte KEYSH , mus_cycling_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte XCMD , xIECV , 4 + .byte xIECL , 4 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 34*mus_cycling_mvl/mxv + .byte W96 +mus_cycling_7_B1: + .byte VOICE , 87 + .byte PAN , c_v+63 + .byte VOL , 14*mus_cycling_mvl/mxv + .byte N06 , Fs3 , v092 + .byte W05 + .byte VOL , 17*mus_cycling_mvl/mxv + .byte W07 + .byte 18*mus_cycling_mvl/mxv + .byte N24 , An3 , v096 + .byte W05 + .byte VOL , 21*mus_cycling_mvl/mxv + .byte W07 + .byte 25*mus_cycling_mvl/mxv + .byte W05 + .byte 27*mus_cycling_mvl/mxv + .byte W07 + .byte 30*mus_cycling_mvl/mxv + .byte N12 , Fs3 , v100 + .byte W05 + .byte VOL , 31*mus_cycling_mvl/mxv + .byte W07 + .byte 34*mus_cycling_mvl/mxv + .byte N03 , Dn4 , v076 + .byte W09 + .byte VOICE , 80 + .byte W03 + .byte VOL , 40*mus_cycling_mvl/mxv + .byte N06 , Fs5 , v080 + .byte W06 + .byte Gn5 + .byte W06 + .byte An5 , v088 + .byte W06 + .byte An5 , v032 + .byte W06 + .byte Fs5 , v080 + .byte W06 + .byte Gn5 + .byte W06 + .byte An5 , v088 + .byte W06 + .byte An5 , v032 + .byte W06 + .byte VOICE , 87 + .byte N24 , An3 , v100 + .byte W12 + .byte VOL , 34*mus_cycling_mvl/mxv + .byte W12 + .byte N24 , Gn3 , v096 + .byte W24 + .byte Fs3 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte VOICE , 80 + .byte VOL , 40*mus_cycling_mvl/mxv + .byte N12 , Gn3 + .byte W12 + .byte N06 , En3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N36 , Gn4 + .byte W12 + .byte MOD , 7 + .byte VOL , 36*mus_cycling_mvl/mxv + .byte W02 + .byte 31*mus_cycling_mvl/mxv + .byte W03 + .byte 25*mus_cycling_mvl/mxv + .byte W03 + .byte 20*mus_cycling_mvl/mxv + .byte W04 + .byte 19*mus_cycling_mvl/mxv + .byte W02 + .byte 15*mus_cycling_mvl/mxv + .byte W03 + .byte 9*mus_cycling_mvl/mxv + .byte W03 + .byte 5*mus_cycling_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 40*mus_cycling_mvl/mxv + .byte N06 , Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N36 , Fs4 + .byte W12 + .byte MOD , 7 + .byte W03 + .byte VOL , 34*mus_cycling_mvl/mxv + .byte W02 + .byte 28*mus_cycling_mvl/mxv + .byte W03 + .byte 23*mus_cycling_mvl/mxv + .byte W04 + .byte 20*mus_cycling_mvl/mxv + .byte W02 + .byte 14*mus_cycling_mvl/mxv + .byte W03 + .byte 9*mus_cycling_mvl/mxv + .byte W03 + .byte 5*mus_cycling_mvl/mxv + .byte W04 + .byte 41*mus_cycling_mvl/mxv + .byte N06 , Dn3 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N06 , Gn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Bn3 , v096 + .byte W06 + .byte Gn3 + .byte W06 + .byte VOICE , 87 + .byte VOL , 34*mus_cycling_mvl/mxv + .byte N03 , An3 , v112 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte An3 + .byte W12 + .byte N06 , En3 , v092 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte N12 , An3 , v088 + .byte W12 + .byte VOL , 40*mus_cycling_mvl/mxv + .byte N03 , En3 , v096 + .byte W12 + .byte VOICE , 80 + .byte N06 , Bn4 , v080 + .byte W06 + .byte An4 , v084 + .byte W06 + .byte N04 , Bn4 , v092 + .byte W04 + .byte Cs5 + .byte W04 + .byte Dn5 + .byte W04 + .byte En5 , v096 + .byte W04 + .byte Fs5 + .byte W04 + .byte Gn5 + .byte W04 + .byte VOL , 34*mus_cycling_mvl/mxv + .byte N06 , An5 + .byte W06 + .byte An5 , v032 + .byte W06 + .byte VOICE , 87 + .byte N24 , An3 , v112 + .byte W24 + .byte Gn3 + .byte W24 + .byte En3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte VOICE , 80 + .byte VOL , 40*mus_cycling_mvl/mxv + .byte N12 , Fs3 , v096 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N36 , Fs4 + .byte W12 + .byte MOD , 7 + .byte VOL , 36*mus_cycling_mvl/mxv + .byte W02 + .byte 31*mus_cycling_mvl/mxv + .byte W03 + .byte 25*mus_cycling_mvl/mxv + .byte W03 + .byte 20*mus_cycling_mvl/mxv + .byte W04 + .byte 19*mus_cycling_mvl/mxv + .byte W02 + .byte 15*mus_cycling_mvl/mxv + .byte W03 + .byte 9*mus_cycling_mvl/mxv + .byte W03 + .byte 5*mus_cycling_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 40*mus_cycling_mvl/mxv + .byte N06 , An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N36 , En4 + .byte W12 + .byte MOD , 7 + .byte W03 + .byte VOL , 34*mus_cycling_mvl/mxv + .byte W02 + .byte 28*mus_cycling_mvl/mxv + .byte W03 + .byte 23*mus_cycling_mvl/mxv + .byte W04 + .byte 20*mus_cycling_mvl/mxv + .byte W02 + .byte 14*mus_cycling_mvl/mxv + .byte W03 + .byte 9*mus_cycling_mvl/mxv + .byte W03 + .byte 5*mus_cycling_mvl/mxv + .byte W04 + .byte 41*mus_cycling_mvl/mxv + .byte N06 , Fs3 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N06 , An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte An3 , v096 + .byte W06 + .byte Fs3 + .byte W06 + .byte VOICE , 87 + .byte VOL , 34*mus_cycling_mvl/mxv + .byte N36 , Fs3 , v112 + .byte W15 + .byte MOD , 6 + .byte W21 + .byte N06 , Fn3 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N06 , En3 + .byte W06 + .byte VOL , 56*mus_cycling_mvl/mxv + .byte PAN , c_v+0 + .byte W84 + .byte N12 , An2 , v064 + .byte W12 + .byte N92 , Dn1 + .byte W48 + .byte VOL , 55*mus_cycling_mvl/mxv + .byte W02 + .byte 53*mus_cycling_mvl/mxv + .byte W03 + .byte 48*mus_cycling_mvl/mxv + .byte W03 + .byte 45*mus_cycling_mvl/mxv + .byte W04 + .byte 43*mus_cycling_mvl/mxv + .byte W02 + .byte 41*mus_cycling_mvl/mxv + .byte W03 + .byte 38*mus_cycling_mvl/mxv + .byte W03 + .byte 35*mus_cycling_mvl/mxv + .byte W04 + .byte 33*mus_cycling_mvl/mxv + .byte W02 + .byte 31*mus_cycling_mvl/mxv + .byte W03 + .byte 28*mus_cycling_mvl/mxv + .byte W03 + .byte 25*mus_cycling_mvl/mxv + .byte W04 + .byte 21*mus_cycling_mvl/mxv + .byte W02 + .byte 19*mus_cycling_mvl/mxv + .byte W03 + .byte 14*mus_cycling_mvl/mxv + .byte W03 + .byte 11*mus_cycling_mvl/mxv + .byte W04 + .byte 56*mus_cycling_mvl/mxv + .byte PAN , c_v-63 + .byte N24 , En6 + .byte W24 + .byte En6 , v032 + .byte W24 + .byte PAN , c_v+63 + .byte N24 , Ds6 , v044 + .byte W24 + .byte Ds6 , v024 + .byte W24 + .byte PAN , c_v+0 + .byte N36 , Gn1 , v064 + .byte W12 + .byte VOL , 55*mus_cycling_mvl/mxv + .byte W02 + .byte 51*mus_cycling_mvl/mxv + .byte W03 + .byte 46*mus_cycling_mvl/mxv + .byte W03 + .byte 39*mus_cycling_mvl/mxv + .byte W04 + .byte 36*mus_cycling_mvl/mxv + .byte W02 + .byte 31*mus_cycling_mvl/mxv + .byte W03 + .byte 26*mus_cycling_mvl/mxv + .byte W03 + .byte 22*mus_cycling_mvl/mxv + .byte W04 + .byte 56*mus_cycling_mvl/mxv + .byte N12 , Bn1 + .byte W12 + .byte N12 + .byte W12 + .byte N36 , Gn1 + .byte W12 + .byte VOL , 53*mus_cycling_mvl/mxv + .byte W02 + .byte 50*mus_cycling_mvl/mxv + .byte W03 + .byte 44*mus_cycling_mvl/mxv + .byte W03 + .byte 41*mus_cycling_mvl/mxv + .byte W04 + .byte 38*mus_cycling_mvl/mxv + .byte W02 + .byte 32*mus_cycling_mvl/mxv + .byte W03 + .byte 28*mus_cycling_mvl/mxv + .byte W03 + .byte 25*mus_cycling_mvl/mxv + .byte W04 + .byte 56*mus_cycling_mvl/mxv + .byte N60 , An1 + .byte W24 + .byte VOL , 55*mus_cycling_mvl/mxv + .byte W02 + .byte 50*mus_cycling_mvl/mxv + .byte W03 + .byte 47*mus_cycling_mvl/mxv + .byte W03 + .byte 42*mus_cycling_mvl/mxv + .byte W04 + .byte 39*mus_cycling_mvl/mxv + .byte W02 + .byte 34*mus_cycling_mvl/mxv + .byte W03 + .byte 31*mus_cycling_mvl/mxv + .byte W03 + .byte 28*mus_cycling_mvl/mxv + .byte W04 + .byte 24*mus_cycling_mvl/mxv + .byte W02 + .byte 19*mus_cycling_mvl/mxv + .byte W03 + .byte 13*mus_cycling_mvl/mxv + .byte W03 + .byte 11*mus_cycling_mvl/mxv + .byte W04 + .byte 56*mus_cycling_mvl/mxv + .byte N12 , Dn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Bn1 + .byte W12 + .byte N92 , Cs1 + .byte W48 + .byte VOL , 55*mus_cycling_mvl/mxv + .byte W02 + .byte 51*mus_cycling_mvl/mxv + .byte W03 + .byte 46*mus_cycling_mvl/mxv + .byte W03 + .byte 43*mus_cycling_mvl/mxv + .byte W04 + .byte 41*mus_cycling_mvl/mxv + .byte W02 + .byte 38*mus_cycling_mvl/mxv + .byte W03 + .byte 36*mus_cycling_mvl/mxv + .byte W03 + .byte 32*mus_cycling_mvl/mxv + .byte W04 + .byte 31*mus_cycling_mvl/mxv + .byte W02 + .byte 28*mus_cycling_mvl/mxv + .byte W03 + .byte 25*mus_cycling_mvl/mxv + .byte W03 + .byte 21*mus_cycling_mvl/mxv + .byte W04 + .byte 19*mus_cycling_mvl/mxv + .byte W02 + .byte 17*mus_cycling_mvl/mxv + .byte W03 + .byte 14*mus_cycling_mvl/mxv + .byte W03 + .byte 12*mus_cycling_mvl/mxv + .byte W04 + .byte 56*mus_cycling_mvl/mxv + .byte PAN , c_v-63 + .byte N48 , Dn6 + .byte W12 + .byte VOL , 53*mus_cycling_mvl/mxv + .byte W02 + .byte 49*mus_cycling_mvl/mxv + .byte W03 + .byte 45*mus_cycling_mvl/mxv + .byte W03 + .byte 41*mus_cycling_mvl/mxv + .byte W04 + .byte 36*mus_cycling_mvl/mxv + .byte W02 + .byte 34*mus_cycling_mvl/mxv + .byte W03 + .byte 29*mus_cycling_mvl/mxv + .byte W03 + .byte 25*mus_cycling_mvl/mxv + .byte W04 + .byte 22*mus_cycling_mvl/mxv + .byte W02 + .byte 17*mus_cycling_mvl/mxv + .byte W03 + .byte 15*mus_cycling_mvl/mxv + .byte W03 + .byte 12*mus_cycling_mvl/mxv + .byte W04 + .byte 56*mus_cycling_mvl/mxv + .byte PAN , c_v+63 + .byte N48 , Cs6 + .byte W12 + .byte VOL , 53*mus_cycling_mvl/mxv + .byte W02 + .byte 49*mus_cycling_mvl/mxv + .byte W03 + .byte 45*mus_cycling_mvl/mxv + .byte W03 + .byte 41*mus_cycling_mvl/mxv + .byte W04 + .byte 36*mus_cycling_mvl/mxv + .byte W02 + .byte 34*mus_cycling_mvl/mxv + .byte W03 + .byte 29*mus_cycling_mvl/mxv + .byte W03 + .byte 25*mus_cycling_mvl/mxv + .byte W04 + .byte 22*mus_cycling_mvl/mxv + .byte W02 + .byte 17*mus_cycling_mvl/mxv + .byte W03 + .byte 15*mus_cycling_mvl/mxv + .byte W03 + .byte 12*mus_cycling_mvl/mxv + .byte W04 + .byte 56*mus_cycling_mvl/mxv + .byte PAN , c_v+0 + .byte N72 , Cn6 , v048 + .byte W12 + .byte VOL , 53*mus_cycling_mvl/mxv + .byte W02 + .byte 49*mus_cycling_mvl/mxv + .byte W03 + .byte 45*mus_cycling_mvl/mxv + .byte W03 + .byte 41*mus_cycling_mvl/mxv + .byte W04 + .byte 36*mus_cycling_mvl/mxv + .byte W02 + .byte 34*mus_cycling_mvl/mxv + .byte W03 + .byte 29*mus_cycling_mvl/mxv + .byte W03 + .byte 25*mus_cycling_mvl/mxv + .byte W04 + .byte 22*mus_cycling_mvl/mxv + .byte W02 + .byte 17*mus_cycling_mvl/mxv + .byte W03 + .byte 15*mus_cycling_mvl/mxv + .byte W03 + .byte 12*mus_cycling_mvl/mxv + .byte W28 + .byte VOICE , 82 + .byte PAN , c_v-61 + .byte VOL , 55*mus_cycling_mvl/mxv + .byte N12 , Dn4 , v112 + .byte W12 + .byte En4 + .byte W12 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N24 , An4 + .byte W12 + .byte MOD , 10 + .byte W12 + .byte 0 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N72 , En5 + .byte W24 + .byte W24 + .byte MOD , 9 + .byte VOL , 54*mus_cycling_mvl/mxv + .byte W02 + .byte 53*mus_cycling_mvl/mxv + .byte W03 + .byte 49*mus_cycling_mvl/mxv + .byte W03 + .byte 43*mus_cycling_mvl/mxv + .byte W04 + .byte 39*mus_cycling_mvl/mxv + .byte W02 + .byte 34*mus_cycling_mvl/mxv + .byte W03 + .byte 30*mus_cycling_mvl/mxv + .byte W03 + .byte 25*mus_cycling_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 58*mus_cycling_mvl/mxv + .byte N04 , Dn5 , v108 + .byte W04 + .byte En5 + .byte W04 + .byte Dn5 , v104 + .byte W04 + .byte Cs5 , v100 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte Cs5 + .byte W04 + .byte Bn4 , v092 + .byte W04 + .byte Cs5 + .byte W04 + .byte Bn4 , v088 + .byte W04 + .byte An4 , v084 + .byte W04 + .byte Bn4 , v080 + .byte W04 + .byte An4 , v076 + .byte W04 + .byte N06 , An4 , v112 + .byte W12 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W12 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W12 + .byte N06 + .byte W06 + .byte Bn4 + .byte W06 + .byte N24 , Cs5 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N04 + .byte W08 + .byte N08 , Dn5 + .byte W08 + .byte Cs5 + .byte W08 + .byte N48 , Bn4 + .byte W24 + .byte MOD , 9 + .byte W24 + .byte 0 + .byte W24 + .byte VOL , 37*mus_cycling_mvl/mxv + .byte N72 , Dn4 , v080 + .byte W05 + .byte VOL , 39*mus_cycling_mvl/mxv + .byte W03 + .byte 41*mus_cycling_mvl/mxv + .byte W04 + .byte 42*mus_cycling_mvl/mxv + .byte W02 + .byte 43*mus_cycling_mvl/mxv + .byte W03 + .byte 45*mus_cycling_mvl/mxv + .byte W03 + .byte 46*mus_cycling_mvl/mxv + .byte W04 + .byte 49*mus_cycling_mvl/mxv + .byte W02 + .byte 51*mus_cycling_mvl/mxv + .byte W03 + .byte 53*mus_cycling_mvl/mxv + .byte W03 + .byte 55*mus_cycling_mvl/mxv + .byte W04 + .byte 56*mus_cycling_mvl/mxv + .byte W02 + .byte 58*mus_cycling_mvl/mxv + .byte W10 + .byte MOD , 9 + .byte W24 + .byte 0 + .byte N24 , Ds4 + .byte W24 + .byte VOL , 37*mus_cycling_mvl/mxv + .byte N72 , En4 + .byte W02 + .byte VOL , 40*mus_cycling_mvl/mxv + .byte W03 + .byte 43*mus_cycling_mvl/mxv + .byte W03 + .byte 45*mus_cycling_mvl/mxv + .byte W04 + .byte 47*mus_cycling_mvl/mxv + .byte W02 + .byte 49*mus_cycling_mvl/mxv + .byte W03 + .byte 51*mus_cycling_mvl/mxv + .byte W03 + .byte 53*mus_cycling_mvl/mxv + .byte W04 + .byte 54*mus_cycling_mvl/mxv + .byte W02 + .byte 56*mus_cycling_mvl/mxv + .byte W03 + .byte 58*mus_cycling_mvl/mxv + .byte W19 + .byte MOD , 9 + .byte W24 + .byte 0 + .byte N12 , Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte VOL , 41*mus_cycling_mvl/mxv + .byte N72 , Cs4 + .byte W02 + .byte VOL , 42*mus_cycling_mvl/mxv + .byte W03 + .byte 43*mus_cycling_mvl/mxv + .byte W03 + .byte 45*mus_cycling_mvl/mxv + .byte W04 + .byte 46*mus_cycling_mvl/mxv + .byte W02 + .byte 49*mus_cycling_mvl/mxv + .byte W06 + .byte 52*mus_cycling_mvl/mxv + .byte W04 + .byte 53*mus_cycling_mvl/mxv + .byte W02 + .byte 54*mus_cycling_mvl/mxv + .byte W03 + .byte 56*mus_cycling_mvl/mxv + .byte W03 + .byte 57*mus_cycling_mvl/mxv + .byte W16 + .byte MOD , 9 + .byte W24 + .byte 0 + .byte N24 , Dn4 + .byte W24 + .byte N36 , Ds4 + .byte W36 + .byte N06 , En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte VOL , 45*mus_cycling_mvl/mxv + .byte N48 , Fs4 + .byte W02 + .byte VOL , 48*mus_cycling_mvl/mxv + .byte W03 + .byte 52*mus_cycling_mvl/mxv + .byte W03 + .byte 55*mus_cycling_mvl/mxv + .byte W04 + .byte 57*mus_cycling_mvl/mxv + .byte W12 + .byte MOD , 9 + .byte W24 + .byte 0 + .byte N03 , Bn4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W18 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte En4 + .byte W06 + .byte N96 + .byte W72 + .byte MOD , 9 + .byte W24 + .byte 0 + .byte W96 + .byte GOTO + .word mus_cycling_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_cycling_8: + .byte KEYSH , mus_cycling_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte LFOS , 44 + .byte VOL , 45*mus_cycling_mvl/mxv + .byte W96 +mus_cycling_8_B1: +mus_cycling_8_000: + .byte W12 + .byte N06 , Fs2 , v112 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte PATT + .word mus_cycling_8_000 + .byte PATT + .word mus_cycling_8_000 +mus_cycling_8_001: + .byte W12 + .byte N06 , Fs2 , v112 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte PEND + .byte PATT + .word mus_cycling_8_000 + .byte PATT + .word mus_cycling_8_000 + .byte PATT + .word mus_cycling_8_000 + .byte PATT + .word mus_cycling_8_001 + .byte N84 , An2 , v112 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_cycling_8_000 + .byte W12 + .byte N06 , Fs2 , v112 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte W96 + .byte W96 + .byte GOTO + .word mus_cycling_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_cycling_9: + .byte KEYSH , mus_cycling_key+0 + .byte VOICE , 83 + .byte VOL , 45*mus_cycling_mvl/mxv + .byte PAN , c_v+0 + .byte W96 +mus_cycling_9_B1: + .byte BEND , c_v+0 + .byte N06 , Dn2 , v112 + .byte W06 + .byte Dn2 , v032 + .byte W18 + .byte An1 , v112 + .byte W06 + .byte An1 , v032 + .byte W18 + .byte Dn2 , v112 + .byte W06 + .byte Dn2 , v032 + .byte W18 + .byte An1 , v112 + .byte W06 + .byte An1 , v032 + .byte W18 + .byte Dn2 , v112 + .byte W06 + .byte Dn2 , v032 + .byte W18 + .byte An1 , v112 + .byte W06 + .byte An1 , v032 + .byte W18 + .byte N12 , Dn2 , v112 + .byte W12 + .byte N06 , Cs2 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte N06 , Ds2 + .byte W12 + .byte En2 + .byte W06 + .byte En2 , v032 + .byte W18 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v032 + .byte W18 + .byte En2 , v112 + .byte W06 + .byte En2 , v032 + .byte W18 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v032 + .byte W18 + .byte En2 , v112 + .byte W06 + .byte En2 , v032 + .byte W18 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v032 + .byte W18 + .byte N12 , En2 , v112 + .byte W12 + .byte N06 , Ds2 + .byte W12 + .byte N12 , En2 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte An2 + .byte W06 + .byte An2 , v032 + .byte W18 + .byte En2 , v112 + .byte W06 + .byte En2 , v032 + .byte W18 + .byte An2 , v112 + .byte W06 + .byte An2 , v032 + .byte W18 + .byte En2 , v112 + .byte W06 + .byte En2 , v032 + .byte W18 + .byte An2 , v112 + .byte W06 + .byte An2 , v032 + .byte W18 + .byte En2 , v112 + .byte W06 + .byte En2 , v032 + .byte W18 + .byte N12 , An2 , v112 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte N12 , Fs2 + .byte W12 + .byte N06 , En2 + .byte W12 + .byte Dn2 + .byte W06 + .byte Dn2 , v032 + .byte W18 + .byte An1 , v112 + .byte W06 + .byte An1 , v032 + .byte W18 + .byte Dn2 , v112 + .byte W06 + .byte Dn2 , v032 + .byte W18 + .byte An1 , v112 + .byte W06 + .byte An1 , v032 + .byte W18 + .byte Dn2 , v112 + .byte W06 + .byte Dn2 , v032 + .byte W18 + .byte An1 , v112 + .byte W06 + .byte An1 , v032 + .byte W18 + .byte N12 , Cs2 , v112 + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte N12 , En2 + .byte W12 + .byte N06 , Cs2 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte BEND , c_v+1 + .byte N09 , Gn1 + .byte W36 + .byte N06 + .byte W12 + .byte Dn1 + .byte W12 + .byte N18 , Gn1 + .byte W24 + .byte N06 + .byte W12 +mus_cycling_9_000: + .byte N09 , Gn1 , v112 + .byte W36 + .byte N06 + .byte W12 + .byte Dn1 + .byte W12 + .byte N21 , Gn1 + .byte W24 + .byte N06 , En1 + .byte W12 + .byte PEND + .byte N09 , Fs1 + .byte W36 + .byte N06 + .byte W12 + .byte Cs1 + .byte W12 + .byte N18 , Fs1 + .byte W24 + .byte N06 , An1 + .byte W12 +mus_cycling_9_001: + .byte N09 , Bn1 , v112 + .byte W36 + .byte N06 + .byte W12 + .byte Fs1 + .byte W12 + .byte N21 , Bn1 + .byte W24 + .byte N06 , As1 + .byte W12 + .byte PEND + .byte N09 , Gn1 + .byte W36 + .byte N06 + .byte W12 + .byte Dn1 + .byte W12 + .byte N18 , Gn1 + .byte W24 + .byte N06 + .byte W12 + .byte PATT + .word mus_cycling_9_000 + .byte N09 , Fs1 , v112 + .byte W36 + .byte N06 + .byte W12 + .byte Cs1 + .byte W12 + .byte N18 , Fs1 + .byte W24 + .byte N06 , As1 + .byte W12 + .byte PATT + .word mus_cycling_9_001 + .byte N06 , Gn1 , v112 + .byte W12 + .byte Gn1 , v096 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Gn1 , v112 + .byte W12 + .byte Gn1 , v096 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Gs1 , v112 + .byte W12 + .byte Gs1 , v096 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Gs1 , v112 + .byte W12 + .byte Gs1 , v096 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 +mus_cycling_9_002: + .byte N06 , An1 , v112 + .byte W24 + .byte An1 , v096 + .byte W24 + .byte An1 , v112 + .byte W24 + .byte An1 , v096 + .byte W24 + .byte PEND + .byte PATT + .word mus_cycling_9_002 + .byte GOTO + .word mus_cycling_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_cycling: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_cycling_pri @ Priority + .byte mus_cycling_rev @ Reverb. + + .word mus_cycling_grp + + .word mus_cycling_1 + .word mus_cycling_2 + .word mus_cycling_3 + .word mus_cycling_4 + .word mus_cycling_5 + .word mus_cycling_6 + .word mus_cycling_7 + .word mus_cycling_8 + .word mus_cycling_9 + + .end diff --git a/sound/songs/mus_daigo.s b/sound/songs/mus_daigo.s new file mode 100644 index 0000000000..f28d83172e --- /dev/null +++ b/sound/songs/mus_daigo.s @@ -0,0 +1,3315 @@ + .include "MPlayDef.s" + + .equ mus_daigo_grp, voicegroup_869467C + .equ mus_daigo_pri, 0 + .equ mus_daigo_rev, reverb_set+50 + .equ mus_daigo_mvl, 127 + .equ mus_daigo_key, 0 + .equ mus_daigo_tbs, 1 + .equ mus_daigo_exg, 0 + .equ mus_daigo_cmp, 1 + + .section .rodata + .global mus_daigo + .align 2 + +@********************** Track 1 **********************@ + +mus_daigo_1: + .byte KEYSH , mus_daigo_key+0 + .byte TEMPO , 142*mus_daigo_tbs/2 + .byte VOICE , 127 + .byte LFOS , 44 + .byte PAN , c_v+4 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 44*mus_daigo_mvl/mxv + .byte N03 , Fs5 , v112 + .byte W06 + .byte Fs5 , v064 + .byte W12 + .byte Fs5 , v080 + .byte W06 + .byte Fs5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte Fs5 , v080 + .byte W06 + .byte Fs5 , v064 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Fs5 , v112 + .byte W12 + .byte Fs5 , v064 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v064 + .byte W12 + .byte Fs5 , v080 + .byte W06 + .byte Fs5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte Fs5 , v080 + .byte W06 + .byte Fs5 , v064 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W18 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v064 + .byte W06 +mus_daigo_1_B1: +mus_daigo_1_000: + .byte N03 , Fs5 , v112 + .byte W06 + .byte Fs5 , v064 + .byte W12 + .byte Fs5 , v080 + .byte W06 + .byte Fs5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte Fs5 , v080 + .byte W06 + .byte Fs5 , v064 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Fs5 , v112 + .byte W12 + .byte Fs5 , v064 + .byte W06 + .byte PEND +mus_daigo_1_001: + .byte W06 + .byte N03 , Fs5 , v064 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Fs5 , v112 + .byte W12 + .byte Fs5 , v064 + .byte W06 + .byte PEND +mus_daigo_1_002: + .byte N03 , Fs5 , v112 + .byte W06 + .byte Fs5 , v064 + .byte W12 + .byte Fs5 , v080 + .byte W06 + .byte Fs5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte Fs5 , v080 + .byte W06 + .byte Fs5 , v064 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v064 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Fs5 , v112 + .byte W12 + .byte Fs5 , v064 + .byte W06 + .byte PEND + .byte PATT + .word mus_daigo_1_001 + .byte PATT + .word mus_daigo_1_000 + .byte PATT + .word mus_daigo_1_001 + .byte PATT + .word mus_daigo_1_002 + .byte PATT + .word mus_daigo_1_002 +mus_daigo_1_003: + .byte W12 + .byte N03 , Fs5 , v080 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte N03 + .byte W24 + .byte N03 + .byte W18 + .byte N03 + .byte W24 + .byte N03 + .byte W06 + .byte PEND + .byte PATT + .word mus_daigo_1_003 + .byte PATT + .word mus_daigo_1_003 + .byte PATT + .word mus_daigo_1_003 +mus_daigo_1_004: + .byte N03 , Fs5 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte Fs5 , v088 + .byte W06 + .byte Fs5 , v112 + .byte W18 + .byte Fs5 , v088 + .byte W06 + .byte Fs5 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte Fs5 , v096 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v064 + .byte W12 + .byte N03 + .byte W06 + .byte PEND + .byte PATT + .word mus_daigo_1_004 + .byte PATT + .word mus_daigo_1_004 + .byte PATT + .word mus_daigo_1_004 + .byte GOTO + .word mus_daigo_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_daigo_2: + .byte KEYSH , mus_daigo_key+0 + .byte VOICE , 17 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 63*mus_daigo_mvl/mxv + .byte PAN , c_v+16 + .byte N06 , Cn5 , v112 + .byte W12 + .byte An4 + .byte W12 + .byte N03 , Cn4 + .byte W06 + .byte N06 , Cn5 + .byte W12 + .byte An4 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte N18 , Ds5 + .byte W18 + .byte N06 , Dn5 + .byte W12 + .byte Cn5 + .byte W06 + .byte PAN , c_v+32 + .byte W06 + .byte W96 +mus_daigo_2_B1: + .byte VOICE , 17 + .byte PAN , c_v+32 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N03 , Cs4 , v112 + .byte W03 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte En4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Gs4 + .byte W03 + .byte VOICE , 17 + .byte N06 , An4 + .byte W06 + .byte N03 , Cn5 + .byte W06 + .byte N12 , Gs4 + .byte W12 + .byte N18 , Ds5 + .byte W18 + .byte N06 , En5 + .byte W30 + .byte VOICE , 38 + .byte MOD , 8 + .byte PAN , c_v+24 + .byte N06 , Gn1 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte An1 + .byte W06 + .byte Dn1 + .byte W06 + .byte N03 , En1 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte N03 , Gs1 + .byte W06 + .byte N06 , Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte VOICE , 17 + .byte VOL , 63*mus_daigo_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v+32 + .byte N03 , Cs4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte En4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Gs4 + .byte W03 + .byte VOICE , 17 + .byte N06 , An4 + .byte W06 + .byte N03 , Cn5 + .byte W12 + .byte N06 , Gs4 + .byte W06 + .byte N18 , Ds5 + .byte W18 + .byte N06 , En5 + .byte W30 + .byte VOICE , 38 + .byte MOD , 6 + .byte PAN , c_v+25 + .byte N06 , Gn1 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte An1 + .byte W06 + .byte Dn1 + .byte W06 + .byte N03 , En1 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte N03 , Gs1 + .byte W06 + .byte N06 , Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte VOICE , 56 + .byte MOD , 0 + .byte PAN , c_v+32 + .byte N03 , Bn3 + .byte W03 + .byte Cn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte En4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte VOICE , 56 + .byte N06 , Gn4 + .byte W06 + .byte N03 , As4 + .byte W06 + .byte N12 , Fs4 + .byte W12 + .byte N18 , Cs5 + .byte W18 + .byte N06 , Dn5 + .byte W30 + .byte VOICE , 38 + .byte MOD , 8 + .byte PAN , c_v+25 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , Dn1 + .byte W06 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Fs1 + .byte W06 + .byte N06 , An1 + .byte W06 + .byte As1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte VOICE , 56 + .byte VOL , 63*mus_daigo_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v+32 + .byte N03 , Bn3 + .byte W03 + .byte Cn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte En4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte VOICE , 56 + .byte N06 , Gn4 + .byte W06 + .byte N03 , As4 + .byte W12 + .byte N06 , Fs4 + .byte W06 + .byte N18 , Cs5 + .byte W18 + .byte N06 , Dn5 + .byte W30 + .byte VOICE , 56 + .byte W48 + .byte N06 , Gn5 + .byte W06 + .byte N03 , Dn5 + .byte W06 + .byte N06 , As4 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte N06 , Cs5 + .byte W06 + .byte N03 , Dn5 + .byte W06 + .byte VOICE , 24 + .byte VOL , 47*mus_daigo_mvl/mxv + .byte N06 , Bn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte N66 , En5 + .byte W24 + .byte MOD , 7 + .byte W12 + .byte VOL , 46*mus_daigo_mvl/mxv + .byte W02 + .byte 43*mus_daigo_mvl/mxv + .byte W03 + .byte 40*mus_daigo_mvl/mxv + .byte W03 + .byte 35*mus_daigo_mvl/mxv + .byte W04 + .byte 32*mus_daigo_mvl/mxv + .byte W02 + .byte 30*mus_daigo_mvl/mxv + .byte W03 + .byte 26*mus_daigo_mvl/mxv + .byte W03 + .byte 20*mus_daigo_mvl/mxv + .byte W04 + .byte 20*mus_daigo_mvl/mxv + .byte W02 + .byte 17*mus_daigo_mvl/mxv + .byte W03 + .byte 13*mus_daigo_mvl/mxv + .byte W03 + .byte 9*mus_daigo_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 47*mus_daigo_mvl/mxv + .byte N06 , En5 , v088 + .byte W12 + .byte Fn5 + .byte W06 + .byte En5 + .byte W06 + .byte Gs5 + .byte W12 + .byte Gn5 + .byte W12 + .byte N03 , Fn5 + .byte W03 + .byte Gn5 + .byte W03 + .byte N06 , Fn5 + .byte W12 + .byte En5 + .byte W06 + .byte VOL , 47*mus_daigo_mvl/mxv + .byte N36 , Dn5 + .byte W02 + .byte VOL , 41*mus_daigo_mvl/mxv + .byte W06 + .byte 38*mus_daigo_mvl/mxv + .byte W04 + .byte 35*mus_daigo_mvl/mxv + .byte MOD , 6 + .byte W02 + .byte VOL , 32*mus_daigo_mvl/mxv + .byte W03 + .byte 28*mus_daigo_mvl/mxv + .byte W03 + .byte 22*mus_daigo_mvl/mxv + .byte W04 + .byte 47*mus_daigo_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte N06 , Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte VOICE , 24 + .byte N30 , Dn5 + .byte W36 + .byte N06 , En5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N30 , En5 + .byte W36 + .byte N06 + .byte W06 + .byte Fn5 + .byte W06 + .byte N48 , En5 + .byte W24 + .byte MOD , 5 + .byte VOL , 47*mus_daigo_mvl/mxv + .byte W02 + .byte 43*mus_daigo_mvl/mxv + .byte W03 + .byte 40*mus_daigo_mvl/mxv + .byte W03 + .byte 35*mus_daigo_mvl/mxv + .byte W04 + .byte 31*mus_daigo_mvl/mxv + .byte W02 + .byte 26*mus_daigo_mvl/mxv + .byte W03 + .byte 20*mus_daigo_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte VOL , 47*mus_daigo_mvl/mxv + .byte N03 , Cs5 + .byte W03 + .byte Dn5 + .byte W03 + .byte N06 , Cs5 + .byte W06 + .byte Bn4 + .byte W12 + .byte Cs5 + .byte W06 + .byte En5 + .byte W18 + .byte N18 + .byte W18 + .byte N06 , Fn5 + .byte W18 + .byte N48 , Dn5 + .byte W24 + .byte MOD , 5 + .byte VOL , 47*mus_daigo_mvl/mxv + .byte W02 + .byte 46*mus_daigo_mvl/mxv + .byte W03 + .byte 41*mus_daigo_mvl/mxv + .byte W03 + .byte 38*mus_daigo_mvl/mxv + .byte W04 + .byte 32*mus_daigo_mvl/mxv + .byte W02 + .byte 28*mus_daigo_mvl/mxv + .byte W03 + .byte 22*mus_daigo_mvl/mxv + .byte W03 + .byte 20*mus_daigo_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 47*mus_daigo_mvl/mxv + .byte N03 , An4 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , En5 + .byte W18 + .byte N06 , Fn5 + .byte W18 + .byte N48 , Dn5 + .byte W12 + .byte MOD , 6 + .byte VOL , 47*mus_daigo_mvl/mxv + .byte W02 + .byte 46*mus_daigo_mvl/mxv + .byte W03 + .byte 41*mus_daigo_mvl/mxv + .byte W03 + .byte 37*mus_daigo_mvl/mxv + .byte W04 + .byte 35*mus_daigo_mvl/mxv + .byte W02 + .byte 33*mus_daigo_mvl/mxv + .byte W03 + .byte 31*mus_daigo_mvl/mxv + .byte W03 + .byte 28*mus_daigo_mvl/mxv + .byte W04 + .byte 22*mus_daigo_mvl/mxv + .byte W02 + .byte 17*mus_daigo_mvl/mxv + .byte W10 + .byte MOD , 0 + .byte VOL , 47*mus_daigo_mvl/mxv + .byte N06 , Cn5 + .byte W06 + .byte TIE , Gn5 + .byte W06 + .byte W24 + .byte MOD , 6 + .byte VOL , 46*mus_daigo_mvl/mxv + .byte W02 + .byte 43*mus_daigo_mvl/mxv + .byte W03 + .byte 41*mus_daigo_mvl/mxv + .byte W03 + .byte 39*mus_daigo_mvl/mxv + .byte W04 + .byte 37*mus_daigo_mvl/mxv + .byte W05 + .byte 35*mus_daigo_mvl/mxv + .byte W03 + .byte 35*mus_daigo_mvl/mxv + .byte W06 + .byte 32*mus_daigo_mvl/mxv + .byte W06 + .byte 30*mus_daigo_mvl/mxv + .byte W06 + .byte 28*mus_daigo_mvl/mxv + .byte W03 + .byte 28*mus_daigo_mvl/mxv + .byte W03 + .byte 26*mus_daigo_mvl/mxv + .byte W06 + .byte 23*mus_daigo_mvl/mxv + .byte W03 + .byte 22*mus_daigo_mvl/mxv + .byte W03 + .byte 22*mus_daigo_mvl/mxv + .byte W04 + .byte 20*mus_daigo_mvl/mxv + .byte W02 + .byte 20*mus_daigo_mvl/mxv + .byte W03 + .byte 19*mus_daigo_mvl/mxv + .byte W03 + .byte 18*mus_daigo_mvl/mxv + .byte W04 + .byte 17*mus_daigo_mvl/mxv + .byte W05 + .byte 16*mus_daigo_mvl/mxv + .byte W30 + .byte W01 + .byte 20*mus_daigo_mvl/mxv + .byte W02 + .byte 20*mus_daigo_mvl/mxv + .byte W03 + .byte 23*mus_daigo_mvl/mxv + .byte W03 + .byte 26*mus_daigo_mvl/mxv + .byte W04 + .byte 28*mus_daigo_mvl/mxv + .byte W02 + .byte 31*mus_daigo_mvl/mxv + .byte W03 + .byte 33*mus_daigo_mvl/mxv + .byte W03 + .byte 35*mus_daigo_mvl/mxv + .byte W04 + .byte 37*mus_daigo_mvl/mxv + .byte W02 + .byte 41*mus_daigo_mvl/mxv + .byte W03 + .byte 43*mus_daigo_mvl/mxv + .byte W03 + .byte 47*mus_daigo_mvl/mxv + .byte W28 + .byte EOT + .byte GOTO + .word mus_daigo_2_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 3 **********************@ + +mus_daigo_3: + .byte KEYSH , mus_daigo_key+0 + .byte VOICE , 36 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 76*mus_daigo_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N06 , An0 , v127 + .byte W12 + .byte N06 + .byte W12 + .byte N12 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn1 + .byte W06 + .byte N18 , An0 + .byte W18 + .byte N12 + .byte W12 + .byte An1 + .byte W12 + .byte BEND , c_v+0 + .byte N12 , Gn2 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte N12 , Ds2 + .byte W06 + .byte BEND , c_v+5 + .byte W06 + .byte c_v+0 + .byte N12 , Bn1 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte N12 , Gn1 + .byte W06 + .byte BEND , c_v+5 + .byte W06 + .byte c_v-6 + .byte N12 , En1 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N03 + .byte W06 + .byte BEND , c_v-5 + .byte N12 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N03 + .byte W06 + .byte BEND , c_v-5 + .byte N12 + .byte W06 + .byte BEND , c_v+0 + .byte W06 +mus_daigo_3_B1: +mus_daigo_3_000: + .byte BEND , c_v+0 + .byte N18 , An0 , v127 + .byte W18 + .byte N06 , En1 + .byte W18 + .byte N12 , Bn1 + .byte W06 + .byte BEND , c_v+5 + .byte W06 + .byte c_v+63 + .byte N18 , An0 + .byte W06 + .byte BEND , c_v+1 + .byte W12 + .byte N06 , En1 + .byte W18 + .byte N12 , Dn2 + .byte W06 + .byte BEND , c_v-10 + .byte W06 + .byte PEND + .byte c_v+0 + .byte N12 , Gn1 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+0 + .byte N12 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+0 + .byte N12 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte N03 , An0 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Gn1 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte N12 , Ds1 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N12 , Bn0 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte PATT + .word mus_daigo_3_000 + .byte BEND , c_v+0 + .byte N12 , Gn1 , v127 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+0 + .byte N12 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+0 + .byte N12 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte N03 , An0 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Dn1 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte N12 , Gn1 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte N12 , Dn1 + .byte W06 + .byte BEND , c_v+9 + .byte W06 +mus_daigo_3_001: + .byte BEND , c_v+0 + .byte N18 , Gn0 , v127 + .byte W18 + .byte N06 , Dn1 + .byte W18 + .byte N12 , An1 + .byte W06 + .byte BEND , c_v+5 + .byte W06 + .byte c_v+63 + .byte N18 , Gn0 + .byte W06 + .byte BEND , c_v+1 + .byte W12 + .byte N06 , Dn1 + .byte W18 + .byte N12 , Cn2 + .byte W06 + .byte BEND , c_v-10 + .byte W06 + .byte PEND + .byte c_v+0 + .byte N12 , Fn1 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+0 + .byte N12 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+0 + .byte N12 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte N03 , Gn0 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Fn1 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte N12 , Cs1 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N12 , An0 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte PATT + .word mus_daigo_3_001 + .byte BEND , c_v+0 + .byte N15 , Gn0 , v127 + .byte W18 + .byte N03 + .byte W06 + .byte N12 , Fs1 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+1 + .byte N12 , Gn0 + .byte W60 + .byte BEND , c_v-5 + .byte N12 , Fn1 + .byte W06 + .byte BEND , c_v+0 + .byte W12 + .byte N03 + .byte W18 + .byte N06 + .byte W12 + .byte BEND , c_v-5 + .byte N12 + .byte W06 + .byte BEND , c_v+0 + .byte W12 + .byte N03 + .byte W18 + .byte N06 + .byte W12 + .byte BEND , c_v-5 + .byte N12 + .byte W06 + .byte BEND , c_v+0 + .byte W12 + .byte N03 + .byte W18 + .byte N06 + .byte W12 + .byte BEND , c_v-5 + .byte N03 + .byte W06 + .byte BEND , c_v+0 + .byte N09 + .byte W12 + .byte N03 + .byte W18 + .byte N06 + .byte W12 + .byte BEND , c_v-5 + .byte N12 , En1 + .byte W06 + .byte BEND , c_v+0 + .byte W12 + .byte N03 + .byte W18 + .byte N06 + .byte W12 + .byte BEND , c_v-5 + .byte N12 + .byte W06 + .byte BEND , c_v+0 + .byte W12 + .byte N03 + .byte W18 + .byte N06 + .byte W12 + .byte BEND , c_v-5 + .byte N12 , An1 + .byte W06 + .byte BEND , c_v+0 + .byte W12 + .byte N03 , An2 + .byte W06 + .byte N06 , An1 + .byte W06 + .byte N03 , An2 + .byte W06 + .byte BEND , c_v-5 + .byte N12 , An1 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N12 , Gn2 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte N12 , Ds2 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N12 , Bn1 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N12 , Gn2 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v-5 + .byte N12 , Fn1 + .byte W06 + .byte BEND , c_v+0 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte BEND , c_v-5 + .byte N12 , Fn1 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N12 , En2 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N12 , Bn1 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N12 , Gn1 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N12 , En2 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v-5 + .byte N12 , Fs1 + .byte W06 + .byte BEND , c_v+0 + .byte W12 + .byte N03 , Fs2 + .byte W06 + .byte N06 , Fs1 + .byte W06 + .byte N03 , Fs2 + .byte W06 + .byte BEND , c_v-5 + .byte N12 , Fs1 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N12 , En2 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte N12 , Bn1 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N12 , Gn1 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte N12 , En1 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte N06 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Fn2 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte N12 , Cs2 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N12 , As1 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v-5 + .byte N12 , Gn1 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N03 + .byte W12 + .byte N12 , Fn2 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte BEND , c_v-5 + .byte N12 , Gs1 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N12 , Fs2 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte N12 , Ds2 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N12 , Bn1 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte N12 , Fs1 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Dn2 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte GOTO + .word mus_daigo_3_B1 + .byte BEND , c_v+0 + .byte FINE + +@********************** Track 4 **********************@ + +mus_daigo_4: + .byte KEYSH , mus_daigo_key+0 + .byte VOICE , 73 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-1 + .byte VOL , 47*mus_daigo_mvl/mxv + .byte W96 +mus_daigo_4_000: + .byte N06 , En5 , v112 + .byte W06 + .byte Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte PEND +mus_daigo_4_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 19*mus_daigo_mvl/mxv + .byte PAN , c_v-32 + .byte N48 , Dn3 , v112 + .byte W24 + .byte VOL , 17*mus_daigo_mvl/mxv + .byte W02 + .byte 19*mus_daigo_mvl/mxv + .byte W03 + .byte 21*mus_daigo_mvl/mxv + .byte W03 + .byte 22*mus_daigo_mvl/mxv + .byte W04 + .byte 23*mus_daigo_mvl/mxv + .byte W02 + .byte 25*mus_daigo_mvl/mxv + .byte W01 + .byte PAN , c_v-30 + .byte W02 + .byte VOL , 26*mus_daigo_mvl/mxv + .byte PAN , c_v-23 + .byte W07 + .byte VOL , 27*mus_daigo_mvl/mxv + .byte PAN , c_v-19 + .byte N06 , En3 + .byte W02 + .byte VOL , 28*mus_daigo_mvl/mxv + .byte PAN , c_v-14 + .byte W03 + .byte VOL , 29*mus_daigo_mvl/mxv + .byte PAN , c_v-12 + .byte W01 + .byte N06 , Fn3 + .byte W02 + .byte VOL , 32*mus_daigo_mvl/mxv + .byte PAN , c_v-6 + .byte W04 + .byte VOL , 33*mus_daigo_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Gn3 + .byte W02 + .byte PAN , c_v+9 + .byte W01 + .byte VOL , 34*mus_daigo_mvl/mxv + .byte W02 + .byte 35*mus_daigo_mvl/mxv + .byte PAN , c_v+16 + .byte W01 + .byte N06 , An3 + .byte W02 + .byte VOL , 37*mus_daigo_mvl/mxv + .byte PAN , c_v+22 + .byte W04 + .byte VOL , 39*mus_daigo_mvl/mxv + .byte PAN , c_v+26 + .byte N06 , As3 + .byte W02 + .byte VOL , 43*mus_daigo_mvl/mxv + .byte PAN , c_v+32 + .byte W03 + .byte VOL , 49*mus_daigo_mvl/mxv + .byte PAN , c_v+36 + .byte W01 + .byte N06 , Cn4 + .byte W02 + .byte VOL , 58*mus_daigo_mvl/mxv + .byte PAN , c_v+41 + .byte W04 + .byte VOL , 62*mus_daigo_mvl/mxv + .byte PAN , c_v+43 + .byte N06 , Dn4 + .byte W02 + .byte VOL , 65*mus_daigo_mvl/mxv + .byte PAN , c_v+48 + .byte W04 + .byte N06 , Cs4 + .byte W06 + .byte VOL , 40*mus_daigo_mvl/mxv + .byte PAN , c_v-28 + .byte N84 , Cn4 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte VOL , 40*mus_daigo_mvl/mxv + .byte W02 + .byte 35*mus_daigo_mvl/mxv + .byte W03 + .byte 34*mus_daigo_mvl/mxv + .byte W03 + .byte 32*mus_daigo_mvl/mxv + .byte W04 + .byte 29*mus_daigo_mvl/mxv + .byte W02 + .byte 28*mus_daigo_mvl/mxv + .byte W03 + .byte 22*mus_daigo_mvl/mxv + .byte W03 + .byte 16*mus_daigo_mvl/mxv + .byte W04 + .byte 13*mus_daigo_mvl/mxv + .byte W02 + .byte 11*mus_daigo_mvl/mxv + .byte W01 + .byte 10*mus_daigo_mvl/mxv + .byte W06 + .byte 8*mus_daigo_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 41*mus_daigo_mvl/mxv + .byte N06 , Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte N96 , Bn3 + .byte W48 + .byte MOD , 5 + .byte VOL , 40*mus_daigo_mvl/mxv + .byte W02 + .byte 40*mus_daigo_mvl/mxv + .byte W03 + .byte 37*mus_daigo_mvl/mxv + .byte W03 + .byte 33*mus_daigo_mvl/mxv + .byte W04 + .byte 32*mus_daigo_mvl/mxv + .byte W02 + .byte 28*mus_daigo_mvl/mxv + .byte W03 + .byte 23*mus_daigo_mvl/mxv + .byte W03 + .byte 19*mus_daigo_mvl/mxv + .byte W04 + .byte 17*mus_daigo_mvl/mxv + .byte W02 + .byte 14*mus_daigo_mvl/mxv + .byte W03 + .byte 13*mus_daigo_mvl/mxv + .byte W03 + .byte 13*mus_daigo_mvl/mxv + .byte W04 + .byte 12*mus_daigo_mvl/mxv + .byte W02 + .byte 11*mus_daigo_mvl/mxv + .byte W03 + .byte 9*mus_daigo_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte VOL , 41*mus_daigo_mvl/mxv + .byte N48 + .byte W24 + .byte MOD , 5 + .byte VOL , 37*mus_daigo_mvl/mxv + .byte W02 + .byte 33*mus_daigo_mvl/mxv + .byte W03 + .byte 28*mus_daigo_mvl/mxv + .byte W01 + .byte 28*mus_daigo_mvl/mxv + .byte W02 + .byte 26*mus_daigo_mvl/mxv + .byte W04 + .byte 23*mus_daigo_mvl/mxv + .byte W02 + .byte 23*mus_daigo_mvl/mxv + .byte W03 + .byte 22*mus_daigo_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte VOL , 40*mus_daigo_mvl/mxv + .byte N48 , As3 + .byte W24 + .byte MOD , 5 + .byte VOL , 37*mus_daigo_mvl/mxv + .byte W02 + .byte 33*mus_daigo_mvl/mxv + .byte W03 + .byte 31*mus_daigo_mvl/mxv + .byte W03 + .byte 26*mus_daigo_mvl/mxv + .byte W04 + .byte 23*mus_daigo_mvl/mxv + .byte W02 + .byte 21*mus_daigo_mvl/mxv + .byte W03 + .byte 20*mus_daigo_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte VOL , 40*mus_daigo_mvl/mxv + .byte N24 , An4 + .byte W24 + .byte Gn4 + .byte W24 + .byte N12 , Fn4 + .byte W12 + .byte N06 , Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N03 , En4 + .byte W03 + .byte Fn4 + .byte W03 + .byte N06 , En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte N18 , Bn4 + .byte W18 + .byte N06 , Cn5 + .byte W21 + .byte N44 , An4 + .byte W21 + .byte MOD , 5 + .byte VOL , 37*mus_daigo_mvl/mxv + .byte W02 + .byte 35*mus_daigo_mvl/mxv + .byte W03 + .byte 32*mus_daigo_mvl/mxv + .byte W03 + .byte 28*mus_daigo_mvl/mxv + .byte W04 + .byte 26*mus_daigo_mvl/mxv + .byte W02 + .byte 22*mus_daigo_mvl/mxv + .byte W03 + .byte 18*mus_daigo_mvl/mxv + .byte W03 + .byte 16*mus_daigo_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 41*mus_daigo_mvl/mxv + .byte N03 , Fn4 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , Bn4 + .byte W18 + .byte N06 , Cn5 + .byte W18 + .byte N48 , An4 + .byte W24 + .byte MOD , 5 + .byte VOL , 40*mus_daigo_mvl/mxv + .byte W02 + .byte 37*mus_daigo_mvl/mxv + .byte W03 + .byte 35*mus_daigo_mvl/mxv + .byte W03 + .byte 32*mus_daigo_mvl/mxv + .byte W04 + .byte 31*mus_daigo_mvl/mxv + .byte W02 + .byte 26*mus_daigo_mvl/mxv + .byte W03 + .byte 21*mus_daigo_mvl/mxv + .byte W03 + .byte 17*mus_daigo_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 41*mus_daigo_mvl/mxv + .byte N06 , Fs4 + .byte W06 + .byte N42 , Gn4 + .byte W06 + .byte W12 + .byte MOD , 5 + .byte VOL , 40*mus_daigo_mvl/mxv + .byte W02 + .byte 37*mus_daigo_mvl/mxv + .byte W03 + .byte 35*mus_daigo_mvl/mxv + .byte W03 + .byte 32*mus_daigo_mvl/mxv + .byte W04 + .byte 30*mus_daigo_mvl/mxv + .byte W02 + .byte 26*mus_daigo_mvl/mxv + .byte W03 + .byte 23*mus_daigo_mvl/mxv + .byte W03 + .byte 19*mus_daigo_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 41*mus_daigo_mvl/mxv + .byte N06 , Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N36 , Bn4 + .byte W12 + .byte MOD , 5 + .byte W03 + .byte VOL , 36*mus_daigo_mvl/mxv + .byte W02 + .byte 31*mus_daigo_mvl/mxv + .byte W03 + .byte 28*mus_daigo_mvl/mxv + .byte W04 + .byte 26*mus_daigo_mvl/mxv + .byte W02 + .byte 23*mus_daigo_mvl/mxv + .byte W03 + .byte 22*mus_daigo_mvl/mxv + .byte W03 + .byte 18*mus_daigo_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 41*mus_daigo_mvl/mxv + .byte N06 , Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte PATT + .word mus_daigo_4_000 + .byte GOTO + .word mus_daigo_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_daigo_5: + .byte KEYSH , mus_daigo_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 40*mus_daigo_mvl/mxv + .byte PAN , c_v+0 + .byte W12 + .byte N06 , En5 , v096 + .byte W72 + .byte N06 + .byte W12 + .byte W12 + .byte N06 + .byte W60 + .byte N06 + .byte W24 +mus_daigo_5_B1: +mus_daigo_5_000: + .byte W12 + .byte N06 , En5 , v096 + .byte W72 + .byte N06 + .byte W12 + .byte PEND +mus_daigo_5_001: + .byte N06 , En5 , v096 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W48 + .byte N06 + .byte W12 + .byte PEND +mus_daigo_5_002: + .byte W12 + .byte N06 , En5 , v096 + .byte W48 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte PATT + .word mus_daigo_5_001 + .byte PATT + .word mus_daigo_5_000 + .byte PATT + .word mus_daigo_5_001 + .byte PATT + .word mus_daigo_5_002 + .byte PATT + .word mus_daigo_5_002 +mus_daigo_5_003: + .byte N06 , En5 , v112 + .byte W30 + .byte En5 , v080 + .byte W12 + .byte En5 , v112 + .byte W12 + .byte En5 , v080 + .byte W18 + .byte En5 , v088 + .byte W12 + .byte En5 , v112 + .byte W12 + .byte PEND + .byte PATT + .word mus_daigo_5_003 + .byte PATT + .word mus_daigo_5_003 + .byte PATT + .word mus_daigo_5_003 +mus_daigo_5_004: + .byte W36 + .byte N06 , En5 , v092 + .byte W48 + .byte En5 , v112 + .byte W12 + .byte PEND + .byte PATT + .word mus_daigo_5_004 + .byte PATT + .word mus_daigo_5_004 + .byte PATT + .word mus_daigo_5_004 + .byte GOTO + .word mus_daigo_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_daigo_6: + .byte KEYSH , mus_daigo_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 38*mus_daigo_mvl/mxv + .byte PAN , c_v-61 + .byte W96 + .byte VOL , 8*mus_daigo_mvl/mxv + .byte N96 , Bn3 , v112 + .byte W08 + .byte VOL , 11*mus_daigo_mvl/mxv + .byte W12 + .byte 14*mus_daigo_mvl/mxv + .byte W12 + .byte 17*mus_daigo_mvl/mxv + .byte W21 + .byte 19*mus_daigo_mvl/mxv + .byte W03 + .byte 20*mus_daigo_mvl/mxv + .byte W06 + .byte 23*mus_daigo_mvl/mxv + .byte W03 + .byte 26*mus_daigo_mvl/mxv + .byte W03 + .byte 34*mus_daigo_mvl/mxv + .byte W04 + .byte 38*mus_daigo_mvl/mxv + .byte W02 + .byte 51*mus_daigo_mvl/mxv + .byte W03 + .byte 62*mus_daigo_mvl/mxv + .byte W03 + .byte 65*mus_daigo_mvl/mxv + .byte W16 +mus_daigo_6_B1: + .byte VOICE , 80 + .byte VOL , 44*mus_daigo_mvl/mxv + .byte N09 , Cn6 , v112 + .byte W12 + .byte N06 , Cn6 , v092 + .byte W12 + .byte N03 , Cn6 , v112 + .byte W06 + .byte N12 , Cn6 , v092 + .byte W12 + .byte N03 , Cn6 , v112 + .byte W12 + .byte Cn6 , v092 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Cn6 , v112 + .byte W12 + .byte Cn6 , v096 + .byte W12 +mus_daigo_6_000: + .byte N06 , An6 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , An5 + .byte W06 + .byte N06 , An6 + .byte W12 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte An5 + .byte W06 + .byte N06 , An6 + .byte W12 + .byte N03 , An5 + .byte W06 + .byte PEND + .byte N09 , Cn6 + .byte W12 + .byte N06 , Cn6 , v092 + .byte W12 + .byte N03 , Cn6 , v112 + .byte W06 + .byte N12 , Cn6 , v092 + .byte W12 + .byte N03 , Cn6 , v112 + .byte W12 + .byte Cn6 , v092 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Cn6 , v112 + .byte W12 + .byte Cn6 , v096 + .byte W12 + .byte PATT + .word mus_daigo_6_000 +mus_daigo_6_001: + .byte N09 , As5 , v112 + .byte W12 + .byte N06 , As5 , v092 + .byte W12 + .byte N03 , As5 , v112 + .byte W06 + .byte N12 , As5 , v092 + .byte W12 + .byte N03 , As5 , v112 + .byte W12 + .byte As5 , v092 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , As5 , v112 + .byte W12 + .byte As5 , v096 + .byte W12 + .byte PEND + .byte Gn6 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , Gn5 + .byte W06 + .byte N06 , Gn6 + .byte W12 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Gn5 + .byte W06 + .byte N06 , Gn6 + .byte W12 + .byte N03 , Gn5 + .byte W06 + .byte PATT + .word mus_daigo_6_001 + .byte MOD , 4 + .byte N06 , Gn6 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , Gn5 + .byte W06 + .byte N06 , Gn6 + .byte W12 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Gn5 + .byte W06 + .byte N06 , Gn6 + .byte W06 + .byte VOICE , 81 + .byte VOL , 38*mus_daigo_mvl/mxv + .byte MOD , 0 + .byte N06 , Gn3 + .byte W06 + .byte Gs3 + .byte N03 , Gn5 + .byte W06 + .byte N84 , An3 + .byte W24 + .byte MOD , 6 + .byte W60 + .byte 0 + .byte N06 , As3 + .byte W06 + .byte An3 + .byte W06 + .byte N84 , Gs3 + .byte W24 + .byte MOD , 6 + .byte W60 + .byte 0 + .byte N06 , En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N36 , Gn3 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , En3 + .byte N06 , Bn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N48 , Gn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N84 , An3 + .byte W24 + .byte MOD , 6 + .byte W60 + .byte 0 + .byte N06 , Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N30 , An3 + .byte W30 + .byte N06 , Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N36 , Cn4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 , Bn3 + .byte W06 + .byte An3 + .byte W06 + .byte N54 , Fs3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte W06 + .byte N06 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N03 , Cn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte N06 , Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte An3 + .byte W06 + .byte N36 , Dn4 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Bn3 + .byte W06 + .byte Dn4 + .byte W03 + .byte N36 , Gn3 + .byte W24 + .byte W03 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , En3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N36 , Bn3 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N24 , Gs3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , En3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Bn3 + .byte W03 + .byte Dn4 + .byte W03 + .byte Gs3 + .byte W03 + .byte Bn3 + .byte W03 + .byte Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte GOTO + .word mus_daigo_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_daigo_7: + .byte KEYSH , mus_daigo_key+0 + .byte VOICE , 83 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 38*mus_daigo_mvl/mxv + .byte W96 + .byte 8*mus_daigo_mvl/mxv + .byte PAN , c_v+63 + .byte N96 , Dn3 , v112 + .byte W08 + .byte VOL , 11*mus_daigo_mvl/mxv + .byte W12 + .byte 14*mus_daigo_mvl/mxv + .byte W12 + .byte 17*mus_daigo_mvl/mxv + .byte W21 + .byte 19*mus_daigo_mvl/mxv + .byte W03 + .byte 20*mus_daigo_mvl/mxv + .byte W06 + .byte 23*mus_daigo_mvl/mxv + .byte W03 + .byte 26*mus_daigo_mvl/mxv + .byte W03 + .byte 34*mus_daigo_mvl/mxv + .byte W04 + .byte 38*mus_daigo_mvl/mxv + .byte W02 + .byte 51*mus_daigo_mvl/mxv + .byte W03 + .byte 62*mus_daigo_mvl/mxv + .byte W03 + .byte 65*mus_daigo_mvl/mxv + .byte W16 +mus_daigo_7_B1: + .byte VOICE , 83 + .byte VOL , 38*mus_daigo_mvl/mxv + .byte N06 , Gn2 , v112 + .byte W06 + .byte N03 , An2 + .byte W12 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte N06 , Gs2 + .byte W06 + .byte N03 , An2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs2 + .byte W06 + .byte N03 , An2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte Gs2 + .byte W06 + .byte Bn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Bn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Gn1 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N06 , Bn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N06 , Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte N03 , An2 + .byte W12 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte Gn2 + .byte W06 + .byte An2 + .byte W06 + .byte Cs3 + .byte W03 + .byte Ds3 + .byte W03 + .byte En3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte As3 + .byte W03 + .byte Bn3 + .byte W03 + .byte N24 , Cn4 + .byte W24 + .byte W96 + .byte N06 , Fn2 + .byte W06 + .byte N03 , Gn2 + .byte W12 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte Fs2 + .byte W06 + .byte An1 + .byte W06 + .byte N03 , As1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An1 + .byte W06 + .byte N03 , As1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An1 + .byte W06 + .byte As1 + .byte W06 + .byte Fn1 + .byte W06 + .byte N03 , Gn1 + .byte W06 + .byte N06 , An1 + .byte W06 + .byte N03 , As1 + .byte W06 + .byte N06 , Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Fn2 + .byte W06 + .byte N03 , Gn2 + .byte W12 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte Fn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W03 + .byte Cs3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Gs3 + .byte W03 + .byte An3 + .byte W03 + .byte PAN , c_v+0 + .byte TIE , As3 + .byte W24 + .byte MOD , 4 + .byte W48 + .byte VOL , 40*mus_daigo_mvl/mxv + .byte W02 + .byte 44*mus_daigo_mvl/mxv + .byte W03 + .byte 47*mus_daigo_mvl/mxv + .byte W03 + .byte 52*mus_daigo_mvl/mxv + .byte W04 + .byte 55*mus_daigo_mvl/mxv + .byte W02 + .byte 62*mus_daigo_mvl/mxv + .byte W03 + .byte 68*mus_daigo_mvl/mxv + .byte W03 + .byte 71*mus_daigo_mvl/mxv + .byte W16 + .byte EOT + .byte PAN , c_v+63 + .byte MOD , 0 + .byte VOL , 38*mus_daigo_mvl/mxv + .byte N06 , Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte VOICE , 82 + .byte PAN , c_v+63 + .byte N84 , En4 + .byte W24 + .byte MOD , 6 + .byte W60 + .byte 0 + .byte N06 , Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte N84 , Dn4 + .byte W24 + .byte MOD , 6 + .byte W60 + .byte 0 + .byte N06 , Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N36 , Dn4 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N48 , Dn4 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N84 , Cs4 + .byte W24 + .byte MOD , 6 + .byte W60 + .byte 0 + .byte N06 , Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N30 , Cn4 + .byte W30 + .byte N06 , Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N36 , En4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 , Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N54 , Cn4 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte W06 + .byte N06 , Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N03 , Ds4 + .byte W03 + .byte En4 + .byte W03 + .byte N06 , Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte N36 , Gn4 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N36 , Dn4 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N36 , En4 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Gs3 + .byte W03 + .byte Bn3 + .byte W03 + .byte Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte Bn3 + .byte W03 + .byte Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte Gs4 + .byte W03 + .byte GOTO + .word mus_daigo_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_daigo_8: + .byte KEYSH , mus_daigo_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 76*mus_daigo_mvl/mxv + .byte N06 , Dn1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W12 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte N42 , An2 + .byte W42 + .byte W96 +mus_daigo_8_B1: + .byte W18 + .byte N06 , Cn1 , v112 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte En3 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W18 + .byte Dn3 + .byte W06 + .byte Cn1 + .byte W18 + .byte N06 + .byte W12 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte En3 + .byte W06 + .byte Cn1 + .byte W06 + .byte En3 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W12 + .byte Dn3 + .byte W06 + .byte Cn1 + .byte W06 +mus_daigo_8_000: + .byte N06 , Cn1 , v112 + .byte W18 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte En3 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W18 + .byte Dn3 + .byte W06 + .byte PEND + .byte Cn1 + .byte W18 + .byte N06 + .byte W12 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte En3 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W12 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte PATT + .word mus_daigo_8_000 + .byte N06 , Cn1 , v112 + .byte W18 + .byte N06 + .byte W12 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte En3 + .byte W06 + .byte Cn1 + .byte W06 + .byte En3 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W12 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte PATT + .word mus_daigo_8_000 + .byte PATT + .word mus_daigo_8_000 +mus_daigo_8_001: + .byte N06 , Cn1 , v112 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte PEND + .byte N06 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte PATT + .word mus_daigo_8_001 + .byte N06 , Cn1 , v112 + .byte W18 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 +mus_daigo_8_002: + .byte N06 , Cn1 , v112 + .byte W18 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N03 , Cn1 , v088 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte Cn1 , v096 + .byte W06 + .byte PEND + .byte PATT + .word mus_daigo_8_002 + .byte N06 , Dn1 , v112 + .byte W12 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte N03 , Cn1 , v088 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte Cn1 , v096 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte N03 , Cn1 , v088 + .byte W06 + .byte N06 , Dn1 , v112 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte GOTO + .word mus_daigo_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_daigo_9: + .byte KEYSH , mus_daigo_key+0 + .byte VOICE , 29 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 47*mus_daigo_mvl/mxv + .byte W96 + .byte W96 +mus_daigo_9_B1: + .byte VOICE , 29 + .byte VOL , 56*mus_daigo_mvl/mxv + .byte N06 , Bn1 , v112 + .byte W06 + .byte N03 , Cn2 + .byte W12 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte N06 , Bn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Bn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte BEND , c_v+0 + .byte N06 , Gn1 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte An1 + .byte W06 + .byte Dn1 + .byte W06 + .byte N03 , En1 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte N03 , Gs1 + .byte W06 + .byte N06 , Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte BEND , c_v+0 + .byte N06 , Bn1 + .byte W06 + .byte N03 , Cn2 + .byte W12 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Fn2 , v060 + .byte W03 + .byte Gn2 + .byte W03 + .byte Gs2 + .byte W03 + .byte An2 + .byte W03 + .byte Bn2 + .byte W03 + .byte Cn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte N24 , En3 + .byte W03 + .byte BEND , c_v-6 + .byte W03 + .byte c_v-11 + .byte W03 + .byte c_v-20 + .byte W03 + .byte c_v-26 + .byte W03 + .byte c_v-32 + .byte W03 + .byte c_v-40 + .byte W03 + .byte c_v-50 + .byte W03 + .byte c_v+0 + .byte N06 , Gn1 , v112 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte An1 + .byte W06 + .byte Dn1 + .byte W06 + .byte N03 , En1 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte N03 , Gs1 + .byte W06 + .byte N06 , Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte BEND , c_v+0 + .byte N06 , An1 + .byte W06 + .byte N03 , As1 + .byte W12 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte N06 , An1 + .byte W06 + .byte N03 , As1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An1 + .byte W06 + .byte N03 , As1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte An1 + .byte W06 + .byte BEND , c_v+0 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , Dn1 + .byte W06 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Fs1 + .byte W06 + .byte N06 , An1 + .byte W06 + .byte As1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte BEND , c_v+0 + .byte N06 , An1 + .byte W06 + .byte N03 , As1 + .byte W12 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Ds2 , v064 + .byte W03 + .byte Fn2 + .byte W03 + .byte Fs2 + .byte W03 + .byte Gn2 + .byte W03 + .byte An2 + .byte W03 + .byte As2 + .byte W03 + .byte Cn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte N24 , Dn3 + .byte W03 + .byte BEND , c_v-6 + .byte W03 + .byte c_v-11 + .byte W03 + .byte c_v-20 + .byte W03 + .byte c_v-26 + .byte W03 + .byte c_v-32 + .byte W03 + .byte c_v-40 + .byte W03 + .byte c_v-50 + .byte W03 + .byte c_v+0 + .byte W48 + .byte VOICE , 85 + .byte W24 + .byte VOL , 21*mus_daigo_mvl/mxv + .byte BEND , c_v+2 + .byte W12 + .byte N06 , Bn4 , v104 + .byte W06 + .byte Dn5 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v+2 + .byte N66 , En5 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte N06 + .byte W12 + .byte Fn5 + .byte W06 + .byte En5 + .byte W06 + .byte Gs5 + .byte W12 + .byte Gn5 + .byte W12 + .byte N03 , Fn5 + .byte W03 + .byte Gn5 + .byte W03 + .byte N06 , Fn5 + .byte W12 + .byte En5 + .byte W06 + .byte N36 , Dn5 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 , Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte N30 , Dn5 + .byte W36 + .byte N06 , En5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N30 , En5 + .byte W36 + .byte N06 + .byte W06 + .byte Fn5 + .byte W06 + .byte N48 , En5 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N03 , Cs5 + .byte W03 + .byte Dn5 + .byte W03 + .byte N06 , Cs5 + .byte W06 + .byte Bn4 + .byte W12 + .byte Cs5 + .byte W06 + .byte En5 + .byte W18 + .byte N18 + .byte W18 + .byte N06 , Fn5 + .byte W18 + .byte N48 , Dn5 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N03 , An4 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , En5 + .byte W18 + .byte N06 , Fn5 + .byte W18 + .byte N48 , Dn5 + .byte W12 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte N06 , Cn5 + .byte W06 + .byte TIE , Gn5 + .byte W06 + .byte W24 + .byte MOD , 6 + .byte W72 + .byte W72 + .byte EOT + .byte N03 , Fn5 , v060 + .byte W03 + .byte En5 + .byte W03 + .byte Dn5 + .byte W03 + .byte Cn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte An4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte GOTO + .word mus_daigo_9_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 10 **********************@ + +mus_daigo_10: + .byte KEYSH , mus_daigo_key+0 + .byte VOICE , 17 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-17 + .byte VOL , 50*mus_daigo_mvl/mxv + .byte N06 , Ds4 , v112 + .byte W12 + .byte Cn4 + .byte W12 + .byte N03 , Ds3 + .byte W06 + .byte N06 , Ds4 + .byte W12 + .byte Cn4 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte N18 , Gn4 + .byte W18 + .byte N06 , Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte W96 +mus_daigo_10_B1: + .byte VOICE , 17 + .byte VOL , 52*mus_daigo_mvl/mxv + .byte N03 , En3 , v112 + .byte W03 + .byte Fn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte An3 + .byte W03 + .byte As3 + .byte W03 + .byte Bn3 + .byte W03 + .byte VOICE , 17 + .byte N06 , Cn4 + .byte W06 + .byte N03 , En4 + .byte W06 + .byte N12 , Bn3 + .byte W12 + .byte N18 , Gs4 + .byte W18 + .byte N06 , An4 + .byte W30 + .byte VOICE , 47 + .byte VOL , 52*mus_daigo_mvl/mxv + .byte PAN , c_v-10 + .byte N06 , An2 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte En3 + .byte W12 + .byte N06 + .byte W12 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Gs2 + .byte W12 + .byte VOICE , 17 + .byte PAN , c_v-32 + .byte VOL , 52*mus_daigo_mvl/mxv + .byte N03 , Cs2 + .byte W03 + .byte Fn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte An3 + .byte W03 + .byte As3 + .byte W03 + .byte Bn3 + .byte W03 + .byte VOICE , 17 + .byte N06 , Cn4 + .byte W06 + .byte N03 , En4 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte N18 , Gs4 + .byte W18 + .byte N06 , An4 + .byte W30 + .byte VOICE , 47 + .byte VOL , 52*mus_daigo_mvl/mxv + .byte PAN , c_v-11 + .byte N06 , An2 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte En3 + .byte W12 + .byte N06 + .byte W12 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Gs2 + .byte W12 + .byte VOICE , 17 + .byte PAN , c_v-32 + .byte N03 , Dn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte En3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte An3 + .byte W03 + .byte VOICE , 38 + .byte N06 , As3 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N12 , An3 + .byte W12 + .byte N18 , Fs4 + .byte W18 + .byte N06 , Gn4 + .byte W30 + .byte VOICE , 47 + .byte VOL , 52*mus_daigo_mvl/mxv + .byte PAN , c_v-11 + .byte N06 , Gn2 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte Dn3 + .byte W12 + .byte N06 + .byte W12 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fs2 + .byte W12 + .byte VOICE , 17 + .byte PAN , c_v-32 + .byte VOL , 52*mus_daigo_mvl/mxv + .byte N03 , Bn1 + .byte W03 + .byte Ds3 + .byte W03 + .byte En3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte An3 + .byte W03 + .byte VOICE , 38 + .byte N06 , As3 + .byte W06 + .byte N03 , Dn4 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte N18 , Fs4 + .byte W18 + .byte N06 , Gn4 + .byte W30 + .byte VOICE , 56 + .byte W48 + .byte N06 , As4 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte N06 , Dn4 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte Gn4 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_daigo_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_daigo: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_daigo_pri @ Priority + .byte mus_daigo_rev @ Reverb. + + .word mus_daigo_grp + + .word mus_daigo_1 + .word mus_daigo_2 + .word mus_daigo_3 + .word mus_daigo_4 + .word mus_daigo_5 + .word mus_daigo_6 + .word mus_daigo_7 + .word mus_daigo_8 + .word mus_daigo_9 + .word mus_daigo_10 + + .end diff --git a/sound/songs/mus_dan01.s b/sound/songs/mus_dan01.s new file mode 100644 index 0000000000..b676ea3d3b --- /dev/null +++ b/sound/songs/mus_dan01.s @@ -0,0 +1,1635 @@ + .include "MPlayDef.s" + + .equ mus_dan01_grp, voicegroup_86793C4 + .equ mus_dan01_pri, 0 + .equ mus_dan01_rev, reverb_set+50 + .equ mus_dan01_mvl, 127 + .equ mus_dan01_key, 0 + .equ mus_dan01_tbs, 1 + .equ mus_dan01_exg, 1 + .equ mus_dan01_cmp, 1 + + .section .rodata + .global mus_dan01 + .align 2 + +@********************** Track 1 **********************@ + +mus_dan01_1: + .byte KEYSH , mus_dan01_key+0 + .byte TEMPO , 130*mus_dan01_tbs/2 + .byte VOICE , 45 + .byte VOL , 80*mus_dan01_mvl/mxv + .byte PAN , c_v-9 + .byte N06 , Dn4 , v080 + .byte W12 + .byte As4 + .byte W12 + .byte Fs4 + .byte W12 +mus_dan01_1_000: + .byte N06 , Dn5 , v080 + .byte W60 + .byte Cs5 + .byte W12 + .byte PEND + .byte As4 + .byte W72 +mus_dan01_1_B1: +mus_dan01_1_001: + .byte N06 , Dn3 , v080 + .byte W12 + .byte As3 + .byte W12 + .byte Fs4 + .byte W12 + .byte As4 + .byte W36 + .byte PEND + .byte W72 + .byte PATT + .word mus_dan01_1_001 + .byte W72 + .byte PATT + .word mus_dan01_1_001 + .byte W72 +mus_dan01_1_002: + .byte N06 , Ds3 , v080 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds4 + .byte W12 + .byte Bn4 + .byte W36 + .byte PEND + .byte W72 + .byte PATT + .word mus_dan01_1_002 + .byte W72 + .byte PATT + .word mus_dan01_1_002 + .byte W72 + .byte PATT + .word mus_dan01_1_002 + .byte W72 +mus_dan01_1_003: + .byte N06 , Dn3 , v080 + .byte W12 + .byte Fs3 + .byte W12 + .byte Dn4 + .byte W12 + .byte As4 + .byte W36 + .byte PEND + .byte W72 + .byte PATT + .word mus_dan01_1_003 + .byte W72 + .byte PATT + .word mus_dan01_1_003 + .byte W72 + .byte PATT + .word mus_dan01_1_003 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W36 + .byte N06 , Dn4 , v080 + .byte W12 + .byte As4 + .byte W12 + .byte Fs4 + .byte W12 + .byte PATT + .word mus_dan01_1_000 + .byte N06 , As4 , v080 + .byte W72 + .byte GOTO + .word mus_dan01_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_dan01_2: + .byte KEYSH , mus_dan01_key+0 + .byte W36 + .byte VOICE , 1 + .byte W72 +mus_dan01_2_000: + .byte VOL , 80*mus_dan01_mvl/mxv + .byte W12 + .byte N06 , Dn2 , v056 + .byte W12 + .byte Dn2 , v064 + .byte W12 + .byte Dn2 , v072 + .byte W12 + .byte Dn2 , v088 + .byte W12 + .byte Dn2 , v096 + .byte W12 + .byte PEND +mus_dan01_2_B1: + .byte N36 , Dn2 , v116 + .byte W36 + .byte N06 , Dn2 , v112 + .byte W24 + .byte N06 + .byte W12 + .byte TIE , Dn1 , v120 + .byte W72 + .byte W48 + .byte EOT + .byte W12 + .byte N06 , Dn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte TIE , Dn1 , v120 + .byte W72 + .byte W48 + .byte EOT + .byte W24 + .byte N36 , As1 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte TIE , Ds1 , v112 + .byte W72 + .byte W36 + .byte EOT + .byte N06 , Ds2 , v088 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N44 , Ds3 , v088, gtp1 + .byte W60 + .byte N06 , Dn3 + .byte W06 + .byte N03 , Cs3 + .byte W03 + .byte Cn3 + .byte W03 + .byte TIE , Bn2 + .byte W72 + .byte W68 + .byte W01 + .byte EOT + .byte W03 + .byte W60 + .byte N06 , Ds2 , v112 + .byte W12 + .byte TIE , Ds1 , v124 + .byte W72 + .byte W72 + .byte EOT +mus_dan01_2_001: + .byte W12 + .byte N06 , Dn2 , v112 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte N06 + .byte W72 + .byte PATT + .word mus_dan01_2_001 + .byte TIE , Dn1 , v124 + .byte W72 + .byte W72 + .byte EOT + .byte W60 + .byte N06 , Dn5 , v064 + .byte W12 + .byte TIE + .byte W72 + .byte W72 + .byte EOT + .byte W72 + .byte VOICE , 48 + .byte VOL , 36*mus_dan01_mvl/mxv + .byte MOD , 9 + .byte TIE , Fs1 , v096 + .byte W05 + .byte VOL , 40*mus_dan01_mvl/mxv + .byte W07 + .byte 42*mus_dan01_mvl/mxv + .byte W05 + .byte 46*mus_dan01_mvl/mxv + .byte W07 + .byte 48*mus_dan01_mvl/mxv + .byte W05 + .byte 53*mus_dan01_mvl/mxv + .byte W07 + .byte 57*mus_dan01_mvl/mxv + .byte W05 + .byte 60*mus_dan01_mvl/mxv + .byte W07 + .byte 64*mus_dan01_mvl/mxv + .byte W05 + .byte 68*mus_dan01_mvl/mxv + .byte W07 + .byte 74*mus_dan01_mvl/mxv + .byte W05 + .byte 77*mus_dan01_mvl/mxv + .byte W07 + .byte 78*mus_dan01_mvl/mxv + .byte W36 + .byte 80*mus_dan01_mvl/mxv + .byte W24 + .byte 77*mus_dan01_mvl/mxv + .byte W05 + .byte 76*mus_dan01_mvl/mxv + .byte W07 + .byte 75*mus_dan01_mvl/mxv + .byte W05 + .byte 69*mus_dan01_mvl/mxv + .byte W07 + .byte 66*mus_dan01_mvl/mxv + .byte W05 + .byte 61*mus_dan01_mvl/mxv + .byte W07 + .byte 57*mus_dan01_mvl/mxv + .byte W05 + .byte 53*mus_dan01_mvl/mxv + .byte W07 + .byte 46*mus_dan01_mvl/mxv + .byte W05 + .byte 38*mus_dan01_mvl/mxv + .byte W07 + .byte 32*mus_dan01_mvl/mxv + .byte W05 + .byte 21*mus_dan01_mvl/mxv + .byte W07 + .byte 10*mus_dan01_mvl/mxv + .byte W05 + .byte 1*mus_dan01_mvl/mxv + .byte W07 + .byte EOT + .byte VOICE , 1 + .byte MOD , 0 + .byte W72 + .byte PATT + .word mus_dan01_2_000 + .byte GOTO + .word mus_dan01_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_dan01_3: + .byte KEYSH , mus_dan01_key+0 + .byte VOICE , 73 + .byte VOL , 80*mus_dan01_mvl/mxv + .byte PAN , c_v+9 + .byte N06 , Dn4 , v100 + .byte W12 + .byte As4 + .byte W12 + .byte Fs4 + .byte W12 +mus_dan01_3_000: + .byte N44 , Dn5 , v100, gtp1 + .byte W15 + .byte MOD , 8 + .byte W03 + .byte VOL , 70*mus_dan01_mvl/mxv + .byte W06 + .byte 54*mus_dan01_mvl/mxv + .byte W06 + .byte 40*mus_dan01_mvl/mxv + .byte W06 + .byte 27*mus_dan01_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte W03 + .byte VOL , 78*mus_dan01_mvl/mxv + .byte W12 + .byte N06 , Cs5 + .byte W06 + .byte N03 , Cn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte PEND +mus_dan01_3_001: + .byte N68 , As4 , v100, gtp1 + .byte W24 + .byte VOL , 80*mus_dan01_mvl/mxv + .byte MOD , 8 + .byte W05 + .byte VOL , 65*mus_dan01_mvl/mxv + .byte W07 + .byte 61*mus_dan01_mvl/mxv + .byte W05 + .byte 51*mus_dan01_mvl/mxv + .byte W07 + .byte 44*mus_dan01_mvl/mxv + .byte W05 + .byte 34*mus_dan01_mvl/mxv + .byte W07 + .byte 23*mus_dan01_mvl/mxv + .byte W05 + .byte 3*mus_dan01_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W03 + .byte PEND +mus_dan01_3_B1: +mus_dan01_3_002: + .byte VOICE , 48 + .byte VOL , 35*mus_dan01_mvl/mxv + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W02 + .byte VOL , 41*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte VOL , 42*mus_dan01_mvl/mxv + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W02 + .byte VOL , 47*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte VOL , 49*mus_dan01_mvl/mxv + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W02 + .byte VOL , 55*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte VOL , 58*mus_dan01_mvl/mxv + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W02 + .byte VOL , 63*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte VOL , 68*mus_dan01_mvl/mxv + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W02 + .byte VOL , 74*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte VOL , 78*mus_dan01_mvl/mxv + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W02 + .byte VOL , 80*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte PEND +mus_dan01_3_003: + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte VOL , 80*mus_dan01_mvl/mxv + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte VOL , 71*mus_dan01_mvl/mxv + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W02 + .byte VOL , 69*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte VOL , 66*mus_dan01_mvl/mxv + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W02 + .byte VOL , 64*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte VOL , 61*mus_dan01_mvl/mxv + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W02 + .byte VOL , 59*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte PEND +mus_dan01_3_004: + .byte VOL , 56*mus_dan01_mvl/mxv + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W02 + .byte VOL , 54*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte VOL , 48*mus_dan01_mvl/mxv + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W02 + .byte VOL , 45*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte VOL , 40*mus_dan01_mvl/mxv + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W02 + .byte VOL , 38*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte VOL , 35*mus_dan01_mvl/mxv + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W02 + .byte VOL , 32*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte VOL , 30*mus_dan01_mvl/mxv + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W02 + .byte VOL , 26*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte VOL , 24*mus_dan01_mvl/mxv + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W02 + .byte VOL , 20*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte PEND +mus_dan01_3_005: + .byte VOL , 16*mus_dan01_mvl/mxv + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W02 + .byte VOL , 12*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte VOL , 7*mus_dan01_mvl/mxv + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W02 + .byte VOL , 3*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Dn6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte VOL , 1*mus_dan01_mvl/mxv + .byte W48 + .byte PEND + .byte W72 + .byte W72 + .byte 35*mus_dan01_mvl/mxv + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W02 + .byte VOL , 41*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte VOL , 42*mus_dan01_mvl/mxv + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W02 + .byte VOL , 47*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte VOL , 49*mus_dan01_mvl/mxv + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W02 + .byte VOL , 55*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte VOL , 58*mus_dan01_mvl/mxv + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W02 + .byte VOL , 63*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte VOL , 68*mus_dan01_mvl/mxv + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W02 + .byte VOL , 74*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte VOL , 78*mus_dan01_mvl/mxv + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W02 + .byte VOL , 80*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte VOL , 80*mus_dan01_mvl/mxv + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte VOL , 71*mus_dan01_mvl/mxv + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W02 + .byte VOL , 69*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte VOL , 66*mus_dan01_mvl/mxv + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W02 + .byte VOL , 64*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte VOL , 61*mus_dan01_mvl/mxv + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W02 + .byte VOL , 59*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte VOL , 56*mus_dan01_mvl/mxv + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W02 + .byte VOL , 54*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte VOL , 48*mus_dan01_mvl/mxv + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W02 + .byte VOL , 45*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte VOL , 40*mus_dan01_mvl/mxv + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W02 + .byte VOL , 38*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte VOL , 35*mus_dan01_mvl/mxv + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W02 + .byte VOL , 32*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte VOL , 30*mus_dan01_mvl/mxv + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W02 + .byte VOL , 26*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte VOL , 24*mus_dan01_mvl/mxv + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W02 + .byte VOL , 20*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte VOL , 16*mus_dan01_mvl/mxv + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W02 + .byte VOL , 12*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte VOL , 7*mus_dan01_mvl/mxv + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W02 + .byte VOL , 3*mus_dan01_mvl/mxv + .byte W01 + .byte N03 , Ds6 , v048 + .byte W03 + .byte Gn5 , v040 + .byte W03 + .byte VOL , 1*mus_dan01_mvl/mxv + .byte W48 + .byte VOICE , 73 + .byte VOL , 80*mus_dan01_mvl/mxv + .byte N06 , Dn6 , v056 + .byte W06 + .byte Ds6 + .byte W06 + .byte Dn6 + .byte W12 + .byte N06 + .byte W06 + .byte Ds6 + .byte W06 + .byte Dn6 + .byte W36 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte Cs6 + .byte W06 + .byte Dn6 + .byte W06 + .byte Cs6 + .byte W12 + .byte N06 + .byte W06 + .byte Dn6 + .byte W06 + .byte Cs6 + .byte W24 + .byte Dn6 + .byte W06 + .byte Ds6 + .byte W06 + .byte As5 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte PATT + .word mus_dan01_3_002 + .byte PATT + .word mus_dan01_3_003 + .byte PATT + .word mus_dan01_3_004 + .byte PATT + .word mus_dan01_3_005 + .byte W36 + .byte VOICE , 73 + .byte VOL , 80*mus_dan01_mvl/mxv + .byte N06 , Dn4 , v100 + .byte W12 + .byte As4 + .byte W12 + .byte Fs4 + .byte W12 + .byte PATT + .word mus_dan01_3_000 + .byte PATT + .word mus_dan01_3_001 + .byte GOTO + .word mus_dan01_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_dan01_4: + .byte KEYSH , mus_dan01_key+0 + .byte W36 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte PAN , c_v-47 + .byte VOL , 80*mus_dan01_mvl/mxv + .byte W72 + .byte W72 +mus_dan01_4_B1: + .byte VOICE , 80 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte 4 + .byte N72 , Dn4 , v060 + .byte W06 + .byte VOL , 65*mus_dan01_mvl/mxv + .byte W06 + .byte 51*mus_dan01_mvl/mxv + .byte W05 + .byte 56*mus_dan01_mvl/mxv + .byte W07 + .byte 58*mus_dan01_mvl/mxv + .byte MOD , 12 + .byte W05 + .byte VOL , 62*mus_dan01_mvl/mxv + .byte W07 + .byte 65*mus_dan01_mvl/mxv + .byte W05 + .byte 70*mus_dan01_mvl/mxv + .byte W07 + .byte 76*mus_dan01_mvl/mxv + .byte W05 + .byte 80*mus_dan01_mvl/mxv + .byte W19 + .byte MOD , 0 + .byte TIE , Ds4 , v056 + .byte W40 + .byte W01 + .byte VOL , 76*mus_dan01_mvl/mxv + .byte W07 + .byte 75*mus_dan01_mvl/mxv + .byte MOD , 12 + .byte W05 + .byte VOL , 70*mus_dan01_mvl/mxv + .byte W07 + .byte 69*mus_dan01_mvl/mxv + .byte W05 + .byte 66*mus_dan01_mvl/mxv + .byte W07 + .byte 61*mus_dan01_mvl/mxv + .byte W05 + .byte 58*mus_dan01_mvl/mxv + .byte W07 + .byte 54*mus_dan01_mvl/mxv + .byte W05 + .byte 49*mus_dan01_mvl/mxv + .byte W07 + .byte 47*mus_dan01_mvl/mxv + .byte W05 + .byte 42*mus_dan01_mvl/mxv + .byte W07 + .byte 37*mus_dan01_mvl/mxv + .byte W05 + .byte 32*mus_dan01_mvl/mxv + .byte W07 + .byte 26*mus_dan01_mvl/mxv + .byte W05 + .byte 17*mus_dan01_mvl/mxv + .byte W07 + .byte 8*mus_dan01_mvl/mxv + .byte W05 + .byte 1*mus_dan01_mvl/mxv + .byte W07 + .byte EOT + .byte MOD , 0 + .byte W72 + .byte W72 + .byte VOICE , 80 + .byte VOL , 80*mus_dan01_mvl/mxv + .byte W12 + .byte N06 , Bn4 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte W72 + .byte W12 + .byte Bn3 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W72 +mus_dan01_4_000: + .byte W12 + .byte N06 , As3 , v056 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte N06 + .byte W72 + .byte PATT + .word mus_dan01_4_000 + .byte N06 , As3 , v056 + .byte W72 +mus_dan01_4_001: + .byte W36 + .byte N06 , Dn3 , v060 + .byte W12 + .byte Fs3 + .byte W12 + .byte Dn4 + .byte W12 + .byte PEND +mus_dan01_4_002: + .byte N06 , As4 , v060 + .byte W12 + .byte Dn4 , v040 + .byte W12 + .byte As4 + .byte W12 + .byte Dn4 , v020 + .byte W12 + .byte As4 + .byte W24 + .byte PEND + .byte W72 + .byte PATT + .word mus_dan01_4_001 + .byte PATT + .word mus_dan01_4_002 + .byte W72 + .byte W36 + .byte VOICE , 4 + .byte N06 , Dn2 , v068 + .byte W12 + .byte Fs2 + .byte W12 + .byte Dn3 + .byte W12 + .byte As3 + .byte W12 + .byte Dn3 , v048 + .byte W12 + .byte As3 + .byte W12 + .byte Dn3 , v020 + .byte W12 + .byte As3 + .byte W24 + .byte W72 + .byte W72 + .byte GOTO + .word mus_dan01_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_dan01_5: + .byte KEYSH , mus_dan01_key+0 + .byte W36 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte PAN , c_v+48 + .byte VOL , 80*mus_dan01_mvl/mxv + .byte W72 + .byte W72 +mus_dan01_5_B1: + .byte VOICE , 82 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte 5 + .byte N12 , As3 , v060 + .byte W06 + .byte VOL , 65*mus_dan01_mvl/mxv + .byte W06 + .byte VOICE , 6 + .byte VOL , 51*mus_dan01_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 56*mus_dan01_mvl/mxv + .byte W07 + .byte 58*mus_dan01_mvl/mxv + .byte MOD , 12 + .byte N12 + .byte W05 + .byte VOL , 62*mus_dan01_mvl/mxv + .byte W07 + .byte 65*mus_dan01_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 70*mus_dan01_mvl/mxv + .byte W07 + .byte 76*mus_dan01_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 80*mus_dan01_mvl/mxv + .byte W07 + .byte N12 + .byte W12 + .byte VOICE , 5 + .byte MOD , 0 + .byte N12 , Bn3 , v056 + .byte W12 + .byte VOICE , 6 + .byte N12 , Bn3 , v060 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W05 + .byte VOL , 76*mus_dan01_mvl/mxv + .byte W07 + .byte 75*mus_dan01_mvl/mxv + .byte MOD , 12 + .byte N12 + .byte W05 + .byte VOL , 70*mus_dan01_mvl/mxv + .byte W07 + .byte 69*mus_dan01_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 66*mus_dan01_mvl/mxv + .byte W07 + .byte 61*mus_dan01_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 58*mus_dan01_mvl/mxv + .byte W07 + .byte 54*mus_dan01_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 49*mus_dan01_mvl/mxv + .byte W07 + .byte 47*mus_dan01_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 42*mus_dan01_mvl/mxv + .byte W07 + .byte 37*mus_dan01_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 32*mus_dan01_mvl/mxv + .byte W07 + .byte 26*mus_dan01_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 17*mus_dan01_mvl/mxv + .byte W07 + .byte 8*mus_dan01_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 1*mus_dan01_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte W72 + .byte W72 + .byte VOICE , 82 + .byte VOL , 80*mus_dan01_mvl/mxv + .byte W12 + .byte N06 , Gn4 , v056 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte W72 + .byte W12 + .byte Gn3 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W72 +mus_dan01_5_000: + .byte W12 + .byte N06 , Fs3 , v056 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte N06 + .byte W72 + .byte PATT + .word mus_dan01_5_000 + .byte N06 , Fs3 , v056 + .byte W72 +mus_dan01_5_001: + .byte W42 + .byte N06 , Dn3 , v060 + .byte W12 + .byte Fs3 + .byte W12 + .byte Dn4 + .byte W06 + .byte PEND +mus_dan01_5_002: + .byte W06 + .byte N06 , As4 , v060 + .byte W12 + .byte Dn4 , v040 + .byte W12 + .byte As4 + .byte W12 + .byte Dn4 , v020 + .byte W12 + .byte As4 + .byte W18 + .byte PEND + .byte W72 + .byte PATT + .word mus_dan01_5_001 + .byte PATT + .word mus_dan01_5_002 + .byte W72 + .byte W36 + .byte VOICE , 5 + .byte W06 + .byte N06 , Dn2 , v068 + .byte W12 + .byte Fs2 + .byte W12 + .byte Dn3 + .byte W06 + .byte W06 + .byte As3 + .byte W12 + .byte Dn3 , v048 + .byte W12 + .byte As3 + .byte W12 + .byte Dn3 , v020 + .byte W12 + .byte As3 + .byte W18 + .byte W72 + .byte W72 + .byte GOTO + .word mus_dan01_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_dan01_6: + .byte VOL , 80*mus_dan01_mvl/mxv + .byte KEYSH , mus_dan01_key+0 + .byte W36 + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte W12 + .byte N06 , Dn2 , v064 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W72 +mus_dan01_6_B1: +mus_dan01_6_000: + .byte W12 + .byte N06 , Dn3 , v064 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte N06 + .byte W72 +mus_dan01_6_001: + .byte W12 + .byte N06 , Dn2 , v064 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte N06 + .byte W72 + .byte PATT + .word mus_dan01_6_001 + .byte N06 , Dn2 , v064 + .byte W72 +mus_dan01_6_002: + .byte W12 + .byte N06 , Ds2 , v064 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte N06 + .byte W72 + .byte PATT + .word mus_dan01_6_002 + .byte N06 , Ds2 , v064 + .byte W72 + .byte PATT + .word mus_dan01_6_002 + .byte N06 , Ds2 , v064 + .byte W72 + .byte W12 + .byte Ds3 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W72 + .byte PATT + .word mus_dan01_6_000 + .byte N06 , Dn3 , v064 + .byte W72 + .byte PATT + .word mus_dan01_6_000 + .byte N06 , Dn3 , v064 + .byte W72 + .byte PATT + .word mus_dan01_6_001 + .byte N06 , Dn2 , v064 + .byte W72 + .byte PATT + .word mus_dan01_6_001 + .byte N06 , Dn2 , v064 + .byte W72 + .byte PATT + .word mus_dan01_6_001 + .byte N06 , Dn2 , v064 + .byte W72 + .byte PATT + .word mus_dan01_6_001 + .byte N06 , Dn2 , v064 + .byte W72 + .byte VOICE , 81 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W72 + .byte GOTO + .word mus_dan01_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_dan01_7: + .byte KEYSH , mus_dan01_key+0 + .byte W36 + .byte PAN , c_v+10 + .byte VOL , 80*mus_dan01_mvl/mxv + .byte W72 +mus_dan01_7_000: + .byte W12 + .byte N06 , As2 , v036 + .byte W12 + .byte As2 , v040 + .byte W12 + .byte As2 , v048 + .byte W12 + .byte As2 , v056 + .byte W12 + .byte As2 , v060 + .byte W12 + .byte PEND +mus_dan01_7_B1: + .byte N36 , As2 , v064 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N36 , As1 + .byte W36 + .byte VOICE , 48 + .byte PAN , c_v+32 + .byte N06 , Dn2 , v088 + .byte W12 + .byte As2 + .byte W12 + .byte Fs2 + .byte W12 + .byte N44 , Dn3 , v088, gtp1 + .byte W60 + .byte N06 , Cs3 + .byte W06 + .byte N03 , Cn3 + .byte W03 + .byte Bn2 + .byte W03 + .byte TIE , As2 + .byte W42 + .byte VOL , 80*mus_dan01_mvl/mxv + .byte W06 + .byte 77*mus_dan01_mvl/mxv + .byte W05 + .byte 74*mus_dan01_mvl/mxv + .byte W07 + .byte 70*mus_dan01_mvl/mxv + .byte W05 + .byte 66*mus_dan01_mvl/mxv + .byte W07 + .byte 62*mus_dan01_mvl/mxv + .byte W05 + .byte 55*mus_dan01_mvl/mxv + .byte W07 + .byte 50*mus_dan01_mvl/mxv + .byte W05 + .byte 44*mus_dan01_mvl/mxv + .byte W07 + .byte 38*mus_dan01_mvl/mxv + .byte W05 + .byte 30*mus_dan01_mvl/mxv + .byte W07 + .byte 23*mus_dan01_mvl/mxv + .byte W05 + .byte 12*mus_dan01_mvl/mxv + .byte W07 + .byte 5*mus_dan01_mvl/mxv + .byte W05 + .byte 1*mus_dan01_mvl/mxv + .byte W16 + .byte EOT + .byte W03 + .byte VOICE , 1 + .byte PAN , c_v+10 + .byte N36 , Dn2 , v120 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte VOL , 80*mus_dan01_mvl/mxv + .byte TIE , Gn1 + .byte W72 + .byte W36 + .byte EOT + .byte N06 , Bn1 , v084 + .byte W12 + .byte Gn2 + .byte W12 + .byte Ds2 + .byte W12 + .byte N44 , Bn2 , v084, gtp1 + .byte W60 + .byte N06 , Bn2 , v080 + .byte W12 + .byte TIE , Gn2 , v084 + .byte W72 + .byte W68 + .byte W01 + .byte EOT + .byte W03 + .byte W72 + .byte W72 + .byte W72 +mus_dan01_7_001: + .byte W12 + .byte N06 , As2 , v112 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte N06 + .byte W72 + .byte PATT + .word mus_dan01_7_001 + .byte TIE , As1 , v120 + .byte W72 + .byte W72 + .byte EOT + .byte W60 + .byte N06 , Fs5 , v064 + .byte W12 + .byte TIE + .byte W72 + .byte W72 + .byte EOT + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte PATT + .word mus_dan01_7_000 + .byte GOTO + .word mus_dan01_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_dan01_8: + .byte KEYSH , mus_dan01_key+0 + .byte W36 + .byte VOICE , 127 + .byte VOL , 75*mus_dan01_mvl/mxv + .byte PAN , c_v+0 + .byte N11 , Gs4 , v040 + .byte W60 + .byte N11 + .byte W12 + .byte N11 + .byte W72 +mus_dan01_8_B1: +mus_dan01_8_000: + .byte N11 , Gs4 , v040 + .byte W60 + .byte N11 + .byte W12 + .byte PEND + .byte N11 + .byte W72 + .byte PATT + .word mus_dan01_8_000 + .byte N11 , Gs4 , v040 + .byte W72 + .byte PATT + .word mus_dan01_8_000 + .byte N11 , Gs4 , v040 + .byte W72 + .byte PATT + .word mus_dan01_8_000 + .byte N11 , Gs4 , v040 + .byte W72 + .byte PATT + .word mus_dan01_8_000 + .byte N11 , Gs4 , v040 + .byte W72 + .byte PATT + .word mus_dan01_8_000 + .byte N11 , Gs4 , v040 + .byte W72 + .byte PATT + .word mus_dan01_8_000 + .byte N11 , Gs4 , v040 + .byte W72 + .byte PATT + .word mus_dan01_8_000 + .byte N11 , Gs4 , v040 + .byte W72 + .byte PATT + .word mus_dan01_8_000 + .byte N11 , Gs4 , v040 + .byte W72 + .byte PATT + .word mus_dan01_8_000 + .byte N11 , Gs4 , v040 + .byte W72 + .byte PATT + .word mus_dan01_8_000 + .byte N11 , Gs4 , v040 + .byte W72 + .byte PATT + .word mus_dan01_8_000 + .byte N11 , Gs4 , v040 + .byte W72 + .byte PATT + .word mus_dan01_8_000 + .byte N11 , Gs4 , v040 + .byte W72 + .byte PATT + .word mus_dan01_8_000 + .byte N11 , Gs4 , v040 + .byte W72 + .byte GOTO + .word mus_dan01_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_dan01_9: + .byte VOL , 80*mus_dan01_mvl/mxv + .byte KEYSH , mus_dan01_key+0 + .byte W36 + .byte VOICE , 0 + .byte W72 + .byte W72 +mus_dan01_9_B1: + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W60 + .byte N06 , Cn1 , v112 + .byte W12 + .byte N06 + .byte W72 + .byte W60 + .byte N06 + .byte W12 + .byte N06 + .byte W72 + .byte W60 + .byte N06 + .byte W12 + .byte N06 + .byte W72 + .byte W60 + .byte N06 + .byte W12 + .byte N06 + .byte W72 + .byte W60 + .byte N06 + .byte W12 + .byte N06 + .byte W72 + .byte W60 + .byte N06 + .byte W12 + .byte N06 + .byte W72 + .byte W60 + .byte N06 + .byte W12 + .byte N06 + .byte W72 + .byte W60 + .byte N06 + .byte W12 + .byte N06 + .byte W72 + .byte W72 + .byte GOTO + .word mus_dan01_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_dan01: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_dan01_pri @ Priority + .byte mus_dan01_rev @ Reverb. + + .word mus_dan01_grp + + .word mus_dan01_1 + .word mus_dan01_2 + .word mus_dan01_3 + .word mus_dan01_4 + .word mus_dan01_5 + .word mus_dan01_6 + .word mus_dan01_7 + .word mus_dan01_8 + .word mus_dan01_9 + + .end diff --git a/sound/songs/mus_dan02.s b/sound/songs/mus_dan02.s new file mode 100644 index 0000000000..3fa3250620 --- /dev/null +++ b/sound/songs/mus_dan02.s @@ -0,0 +1,1789 @@ + .include "MPlayDef.s" + + .equ mus_dan02_grp, voicegroup_867C5A4 + .equ mus_dan02_pri, 0 + .equ mus_dan02_rev, reverb_set+50 + .equ mus_dan02_mvl, 127 + .equ mus_dan02_key, 0 + .equ mus_dan02_tbs, 1 + .equ mus_dan02_exg, 0 + .equ mus_dan02_cmp, 1 + + .section .rodata + .global mus_dan02 + .align 2 + +@********************** Track 1 **********************@ + +mus_dan02_1: + .byte KEYSH , mus_dan02_key+0 + .byte TEMPO , 100*mus_dan02_tbs/2 + .byte VOL , 80*mus_dan02_mvl/mxv + .byte PAN , c_v+0 + .byte LFOS , 40 + .byte W36 +mus_dan02_1_B1: + .byte VOICE , 17 + .byte N56 , As4 , v108 + .byte W24 + .byte MOD , 9 + .byte W32 + .byte W01 + .byte 0 + .byte W03 + .byte N12 , Fn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N56 , As4 + .byte W24 + .byte MOD , 9 + .byte W32 + .byte W01 + .byte 0 + .byte W03 + .byte N12 , Fn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N09 , Ds5 + .byte W12 + .byte Cs5 + .byte W12 + .byte N12 , Ds5 + .byte W12 + .byte N56 , Cn5 + .byte W24 + .byte MOD , 9 + .byte W12 + .byte VOL , 72*mus_dan02_mvl/mxv + .byte W06 + .byte 65*mus_dan02_mvl/mxv + .byte W06 + .byte 51*mus_dan02_mvl/mxv + .byte W06 + .byte 24*mus_dan02_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 + .byte VOICE , 14 + .byte VOL , 80*mus_dan02_mvl/mxv + .byte W12 + .byte N24 , Cn4 , v092 + .byte W24 + .byte An3 + .byte W60 + .byte VOICE , 17 + .byte N56 , Ds5 , v108 + .byte W24 + .byte MOD , 9 + .byte W32 + .byte W01 + .byte 0 + .byte W03 + .byte N12 + .byte W12 + .byte Fn5 + .byte W12 + .byte Ds5 + .byte W12 + .byte N56 , Gs4 + .byte W24 + .byte MOD , 9 + .byte W32 + .byte W01 + .byte 0 + .byte W03 + .byte N12 , Ds5 + .byte W12 + .byte Fn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte N09 , Gs4 + .byte W12 + .byte As4 + .byte W12 + .byte N12 , Cn5 + .byte W12 + .byte N56 , Cs5 + .byte W24 + .byte MOD , 9 + .byte W12 + .byte VOL , 72*mus_dan02_mvl/mxv + .byte W06 + .byte 65*mus_dan02_mvl/mxv + .byte W06 + .byte 51*mus_dan02_mvl/mxv + .byte W06 + .byte 24*mus_dan02_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 + .byte VOICE , 14 + .byte VOL , 80*mus_dan02_mvl/mxv + .byte W12 + .byte N24 , Cs4 , v092 + .byte W24 + .byte As3 + .byte W28 + .byte VOL , 72*mus_dan02_mvl/mxv + .byte W04 + .byte 62*mus_dan02_mvl/mxv + .byte W04 + .byte 54*mus_dan02_mvl/mxv + .byte W04 + .byte 60*mus_dan02_mvl/mxv + .byte W04 + .byte 67*mus_dan02_mvl/mxv + .byte W04 + .byte 72*mus_dan02_mvl/mxv + .byte W04 + .byte 77*mus_dan02_mvl/mxv + .byte W04 + .byte 80*mus_dan02_mvl/mxv + .byte W04 + .byte VOICE , 1 + .byte N12 , Cs4 , v100 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Cs4 , v072 + .byte W12 + .byte PAN , c_v+17 + .byte N12 , Cs4 , v056 + .byte W12 + .byte PAN , c_v-31 + .byte N12 , Cs4 , v032 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , An3 , v100 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Gs3 , v072 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Gs3 , v056 + .byte W12 + .byte PAN , c_v+31 + .byte N12 , Gs3 , v032 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Cn4 , v100 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Cn4 , v072 + .byte W12 + .byte PAN , c_v+17 + .byte N12 , Cn4 , v056 + .byte W12 + .byte PAN , c_v-31 + .byte N12 , Cn4 , v032 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Cs4 , v100 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Cs4 , v072 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Cs4 , v056 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , Fn4 , v100 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Fn4 , v072 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Gs4 , v100 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Gs4 , v072 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Cs5 , v100 + .byte W12 + .byte Cn5 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Cn5 , v072 + .byte W12 + .byte PAN , c_v+17 + .byte N12 , Cn5 , v056 + .byte W12 + .byte PAN , c_v-31 + .byte N12 , Cn5 , v032 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Cn5 , v020 + .byte W12 + .byte PAN , c_v+31 + .byte N12 , Cn5 , v012 + .byte W24 + .byte VOICE , 17 + .byte PAN , c_v+0 + .byte N03 , Gn4 , v108 + .byte W03 + .byte Gs4 + .byte W03 + .byte An4 + .byte W03 + .byte As4 + .byte W03 + .byte N36 , Bn4 + .byte W18 + .byte MOD , 9 + .byte W18 + .byte 0 + .byte N06 , As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte As4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Bn4 + .byte W18 + .byte Fn4 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte N44 , Gs4 + .byte W18 + .byte MOD , 9 + .byte W24 + .byte W03 + .byte 0 + .byte W09 + .byte N06 + .byte W06 + .byte Fs4 + .byte W12 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W12 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N12 , Gs4 + .byte W18 + .byte As4 + .byte W18 + .byte Bn4 + .byte W12 + .byte N06 , Cs5 + .byte W06 + .byte Gs4 + .byte W12 + .byte Bn4 + .byte W06 + .byte Fs4 + .byte W12 + .byte Gs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N12 , Fn4 + .byte W18 + .byte Ds4 + .byte W18 + .byte Cs4 + .byte W12 + .byte GOTO + .word mus_dan02_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_dan02_2: + .byte KEYSH , mus_dan02_key+0 + .byte VOL , 80*mus_dan02_mvl/mxv + .byte PAN , c_v+0 + .byte W36 +mus_dan02_2_B1: + .byte VOICE , 90 + .byte PAN , c_v+10 + .byte N06 , Fs2 , v100 + .byte W12 + .byte N06 + .byte W24 + .byte N21 , Fn4 , v072 + .byte W12 + .byte VOL , 73*mus_dan02_mvl/mxv + .byte W03 + .byte 61*mus_dan02_mvl/mxv + .byte W03 + .byte 45*mus_dan02_mvl/mxv + .byte W03 + .byte 25*mus_dan02_mvl/mxv + .byte W15 + .byte 80*mus_dan02_mvl/mxv + .byte W12 + .byte N06 , Fs2 , v100 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N21 , Fn4 , v072 + .byte W09 + .byte VOL , 73*mus_dan02_mvl/mxv + .byte W03 + .byte 61*mus_dan02_mvl/mxv + .byte W03 + .byte 45*mus_dan02_mvl/mxv + .byte W03 + .byte 25*mus_dan02_mvl/mxv + .byte W06 + .byte 80*mus_dan02_mvl/mxv + .byte N36 , Fs2 , v100 + .byte W06 + .byte VOL , 64*mus_dan02_mvl/mxv + .byte W06 + .byte 68*mus_dan02_mvl/mxv + .byte W06 + .byte 73*mus_dan02_mvl/mxv + .byte W06 + .byte 78*mus_dan02_mvl/mxv + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N21 , Ds4 , v072 + .byte W12 + .byte VOL , 73*mus_dan02_mvl/mxv + .byte W03 + .byte 61*mus_dan02_mvl/mxv + .byte W03 + .byte 45*mus_dan02_mvl/mxv + .byte W03 + .byte 25*mus_dan02_mvl/mxv + .byte W15 + .byte 80*mus_dan02_mvl/mxv + .byte W12 + .byte N06 , Fs2 , v100 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N21 , Ds4 , v072 + .byte W09 + .byte VOL , 73*mus_dan02_mvl/mxv + .byte W03 + .byte 61*mus_dan02_mvl/mxv + .byte W03 + .byte 45*mus_dan02_mvl/mxv + .byte W03 + .byte 25*mus_dan02_mvl/mxv + .byte W06 + .byte 80*mus_dan02_mvl/mxv + .byte N36 , Fs2 , v100 + .byte W06 + .byte VOL , 64*mus_dan02_mvl/mxv + .byte W06 + .byte 68*mus_dan02_mvl/mxv + .byte W06 + .byte 73*mus_dan02_mvl/mxv + .byte W06 + .byte 78*mus_dan02_mvl/mxv + .byte W12 + .byte N06 , Fn2 + .byte W12 + .byte N06 + .byte W24 + .byte N21 , Cn4 , v072 + .byte W12 + .byte VOL , 73*mus_dan02_mvl/mxv + .byte W03 + .byte 61*mus_dan02_mvl/mxv + .byte W03 + .byte 45*mus_dan02_mvl/mxv + .byte W03 + .byte 25*mus_dan02_mvl/mxv + .byte W15 + .byte 80*mus_dan02_mvl/mxv + .byte W12 + .byte N06 , Fn2 , v100 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N21 , Cn4 , v072 + .byte W09 + .byte VOL , 73*mus_dan02_mvl/mxv + .byte W03 + .byte 61*mus_dan02_mvl/mxv + .byte W03 + .byte 45*mus_dan02_mvl/mxv + .byte W03 + .byte 25*mus_dan02_mvl/mxv + .byte W06 + .byte 80*mus_dan02_mvl/mxv + .byte N36 , Fn2 , v100 + .byte W06 + .byte VOL , 64*mus_dan02_mvl/mxv + .byte W06 + .byte 68*mus_dan02_mvl/mxv + .byte W06 + .byte 73*mus_dan02_mvl/mxv + .byte W06 + .byte 78*mus_dan02_mvl/mxv + .byte W12 + .byte N06 , Cs3 + .byte W12 + .byte N06 + .byte W24 + .byte N18 , As3 , v072 + .byte W06 + .byte VOL , 73*mus_dan02_mvl/mxv + .byte W03 + .byte 61*mus_dan02_mvl/mxv + .byte W03 + .byte 45*mus_dan02_mvl/mxv + .byte W03 + .byte 25*mus_dan02_mvl/mxv + .byte W32 + .byte W01 + .byte 80*mus_dan02_mvl/mxv + .byte N06 , Cs3 , v100 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N18 , As3 , v072 + .byte W06 + .byte VOL , 73*mus_dan02_mvl/mxv + .byte W03 + .byte 61*mus_dan02_mvl/mxv + .byte W03 + .byte 45*mus_dan02_mvl/mxv + .byte W03 + .byte 25*mus_dan02_mvl/mxv + .byte W09 + .byte 80*mus_dan02_mvl/mxv + .byte N36 , Cs3 , v100 + .byte W36 + .byte W48 + .byte VOL , 42*mus_dan02_mvl/mxv + .byte N48 + .byte W06 + .byte VOL , 47*mus_dan02_mvl/mxv + .byte W06 + .byte 56*mus_dan02_mvl/mxv + .byte W06 + .byte 65*mus_dan02_mvl/mxv + .byte W06 + .byte 70*mus_dan02_mvl/mxv + .byte W06 + .byte 75*mus_dan02_mvl/mxv + .byte W09 + .byte 80*mus_dan02_mvl/mxv + .byte W09 + .byte N96 , Cn3 + .byte W24 + .byte VOL , 74*mus_dan02_mvl/mxv + .byte W06 + .byte 69*mus_dan02_mvl/mxv + .byte W06 + .byte 62*mus_dan02_mvl/mxv + .byte W06 + .byte 56*mus_dan02_mvl/mxv + .byte W06 + .byte 49*mus_dan02_mvl/mxv + .byte W06 + .byte 45*mus_dan02_mvl/mxv + .byte W06 + .byte 49*mus_dan02_mvl/mxv + .byte W06 + .byte 53*mus_dan02_mvl/mxv + .byte W06 + .byte 58*mus_dan02_mvl/mxv + .byte W06 + .byte 62*mus_dan02_mvl/mxv + .byte W06 + .byte 69*mus_dan02_mvl/mxv + .byte W06 + .byte 76*mus_dan02_mvl/mxv + .byte W06 + .byte 80*mus_dan02_mvl/mxv + .byte N96 , As2 + .byte W24 + .byte VOL , 74*mus_dan02_mvl/mxv + .byte W06 + .byte 69*mus_dan02_mvl/mxv + .byte W06 + .byte 62*mus_dan02_mvl/mxv + .byte W06 + .byte 56*mus_dan02_mvl/mxv + .byte W06 + .byte 49*mus_dan02_mvl/mxv + .byte W06 + .byte 45*mus_dan02_mvl/mxv + .byte W06 + .byte 49*mus_dan02_mvl/mxv + .byte W06 + .byte 53*mus_dan02_mvl/mxv + .byte W06 + .byte 58*mus_dan02_mvl/mxv + .byte W06 + .byte 62*mus_dan02_mvl/mxv + .byte W06 + .byte 69*mus_dan02_mvl/mxv + .byte W06 + .byte 76*mus_dan02_mvl/mxv + .byte W06 + .byte 80*mus_dan02_mvl/mxv + .byte N96 , Gs2 + .byte W24 + .byte VOL , 74*mus_dan02_mvl/mxv + .byte W06 + .byte 69*mus_dan02_mvl/mxv + .byte W06 + .byte 62*mus_dan02_mvl/mxv + .byte W06 + .byte 56*mus_dan02_mvl/mxv + .byte W06 + .byte 49*mus_dan02_mvl/mxv + .byte W06 + .byte 45*mus_dan02_mvl/mxv + .byte W06 + .byte 49*mus_dan02_mvl/mxv + .byte W06 + .byte 53*mus_dan02_mvl/mxv + .byte W06 + .byte 58*mus_dan02_mvl/mxv + .byte W06 + .byte 62*mus_dan02_mvl/mxv + .byte W06 + .byte 69*mus_dan02_mvl/mxv + .byte W06 + .byte 76*mus_dan02_mvl/mxv + .byte W06 + .byte 45*mus_dan02_mvl/mxv + .byte N80 , Bn2 + .byte W06 + .byte VOL , 49*mus_dan02_mvl/mxv + .byte W06 + .byte 53*mus_dan02_mvl/mxv + .byte W06 + .byte 58*mus_dan02_mvl/mxv + .byte W06 + .byte 62*mus_dan02_mvl/mxv + .byte W06 + .byte 69*mus_dan02_mvl/mxv + .byte W06 + .byte 76*mus_dan02_mvl/mxv + .byte W09 + .byte 80*mus_dan02_mvl/mxv + .byte W36 + .byte W03 + .byte N09 + .byte W12 + .byte VOL , 45*mus_dan02_mvl/mxv + .byte N80 , Dn3 + .byte W06 + .byte VOL , 49*mus_dan02_mvl/mxv + .byte W06 + .byte 53*mus_dan02_mvl/mxv + .byte W06 + .byte 58*mus_dan02_mvl/mxv + .byte W06 + .byte 62*mus_dan02_mvl/mxv + .byte W06 + .byte 69*mus_dan02_mvl/mxv + .byte W06 + .byte 76*mus_dan02_mvl/mxv + .byte W09 + .byte 80*mus_dan02_mvl/mxv + .byte W36 + .byte W03 + .byte N09 + .byte W12 + .byte N12 , Cs3 + .byte W18 + .byte N12 + .byte W18 + .byte N42 + .byte W48 + .byte N06 + .byte W12 + .byte N12 + .byte W18 + .byte N12 + .byte W18 + .byte N12 + .byte W12 + .byte Cs2 + .byte W18 + .byte Ds2 + .byte W18 + .byte Fn2 + .byte W12 + .byte GOTO + .word mus_dan02_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_dan02_3: + .byte KEYSH , mus_dan02_key+0 + .byte VOL , 80*mus_dan02_mvl/mxv + .byte W36 +mus_dan02_3_B1: + .byte VOICE , 47 + .byte PAN , c_v-10 + .byte BEND , c_v+0 + .byte N12 , Fs2 , v127 + .byte W12 + .byte Fs2 , v116 + .byte W72 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W48 + .byte Fs2 , v127 + .byte W24 + .byte Fs2 , v116 + .byte W12 + .byte Fs2 , v127 + .byte W12 + .byte Fs2 , v116 + .byte W72 + .byte Fs2 , v127 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W48 + .byte N12 + .byte W24 + .byte Fs2 , v116 + .byte W12 + .byte Fn2 , v127 + .byte W12 + .byte Fn2 , v116 + .byte W72 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W48 + .byte Fn2 , v127 + .byte W24 + .byte Fn2 , v116 + .byte W12 + .byte Cs2 , v127 + .byte W12 + .byte Cs2 , v116 + .byte W72 + .byte Cs2 , v127 + .byte W12 + .byte Cs2 , v120 + .byte W12 + .byte N12 + .byte W48 + .byte N03 , Fn2 , v100 + .byte W03 + .byte Fn2 , v092 + .byte W03 + .byte Fn2 , v096 + .byte W03 + .byte Fn2 , v100 + .byte W03 + .byte N03 + .byte W03 + .byte Fn2 , v104 + .byte W03 + .byte Fn2 , v108 + .byte W03 + .byte Fn2 , v112 + .byte W03 + .byte Fn2 , v116 + .byte W03 + .byte Fn2 , v120 + .byte W03 + .byte N03 + .byte W03 + .byte Fn2 , v124 + .byte W03 + .byte N24 , Fs2 , v127 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N12 , Cn2 + .byte W12 + .byte N24 , Bn1 + .byte W60 + .byte N06 , Bn1 , v116 + .byte W06 + .byte N18 + .byte W18 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N24 , Dn2 , v127 + .byte W60 + .byte N06 , Dn2 , v116 + .byte W06 + .byte N18 + .byte W18 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N24 , Cs2 , v127 + .byte W84 + .byte N12 + .byte W12 + .byte N12 + .byte W18 + .byte N12 + .byte W18 + .byte N12 + .byte W60 + .byte GOTO + .word mus_dan02_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_dan02_4: + .byte KEYSH , mus_dan02_key+0 + .byte VOL , 80*mus_dan02_mvl/mxv + .byte PAN , c_v-1 + .byte XCMD , xIECV , 13 + .byte xIECL , 10 + .byte W36 +mus_dan02_4_B1: + .byte VOICE , 7 + .byte PAN , c_v-47 + .byte N06 , As3 , v048 + .byte W12 + .byte Fs4 , v052 + .byte W24 + .byte Fn4 + .byte W24 + .byte N03 , Cs3 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Cs3 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte N03 , Cs3 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte As3 , v048 + .byte W12 + .byte Fs4 , v052 + .byte W24 + .byte Fn4 + .byte W24 + .byte N24 , Cs4 + .byte W24 + .byte N12 , As3 + .byte W12 + .byte N06 , An3 , v048 + .byte W12 + .byte Ds4 , v052 + .byte W24 + .byte Cn4 + .byte W24 + .byte N03 , Cn3 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Cn3 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , Cn3 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte An3 , v048 + .byte W12 + .byte Ds4 , v052 + .byte W24 + .byte Cn4 + .byte W24 + .byte N24 , Ds4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte N06 , Cn4 , v048 + .byte W12 + .byte Fn4 , v052 + .byte W24 + .byte Ds4 + .byte W24 + .byte N03 , Cn3 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , Cn3 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Cn3 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte Cn4 , v048 + .byte W12 + .byte Fn4 , v052 + .byte W24 + .byte Ds4 + .byte W24 + .byte N24 , Cn4 + .byte W24 + .byte N12 , Ds4 + .byte W12 + .byte N06 , Cs4 , v048 + .byte W12 + .byte Fn4 , v052 + .byte W24 + .byte Cs4 + .byte W24 + .byte N03 , Cs3 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte N03 , Cs3 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Cs3 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte Fn4 , v048 + .byte W12 + .byte Ds4 , v052 + .byte W24 + .byte Cs4 + .byte W24 + .byte N36 , Fn3 + .byte W36 + .byte VOICE , 46 + .byte PAN , c_v-13 + .byte N06 , Fs3 , v060 + .byte W06 + .byte An3 , v064 + .byte W06 + .byte Cs4 , v068 + .byte W06 + .byte Ds4 , v072 + .byte W06 + .byte Fs4 , v076 + .byte W06 + .byte An4 , v080 + .byte W06 + .byte Cs5 , v084 + .byte W06 + .byte Ds5 , v088 + .byte W06 + .byte An5 , v092 + .byte W06 + .byte Fs5 + .byte W06 + .byte Ds5 , v084 + .byte W06 + .byte Cs5 , v080 + .byte W06 + .byte An4 , v076 + .byte W06 + .byte Fs4 , v072 + .byte W06 + .byte Cs4 , v068 + .byte W06 + .byte Fs3 , v064 + .byte W06 + .byte Fn3 , v060 + .byte W06 + .byte Gs3 , v064 + .byte W06 + .byte Cn4 , v068 + .byte W06 + .byte Ds4 , v072 + .byte W06 + .byte Fn4 , v076 + .byte W06 + .byte Gs4 , v080 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Ds5 , v088 + .byte W06 + .byte Gs5 , v092 + .byte W06 + .byte Fn5 + .byte W06 + .byte Ds5 , v084 + .byte W06 + .byte Cn5 , v080 + .byte W06 + .byte Gs4 , v076 + .byte W06 + .byte Fn4 , v072 + .byte W06 + .byte Cn4 , v068 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte Cs3 , v060 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte As3 , v068 + .byte W06 + .byte Cs4 , v072 + .byte W06 + .byte Fn4 , v076 + .byte W06 + .byte Gs4 , v080 + .byte W06 + .byte As4 , v084 + .byte W06 + .byte Cs5 , v088 + .byte W06 + .byte Fn5 , v092 + .byte W06 + .byte Cs5 + .byte W06 + .byte As4 , v084 + .byte W06 + .byte Gs4 , v080 + .byte W06 + .byte Fn4 , v076 + .byte W06 + .byte Cs4 , v072 + .byte W06 + .byte As3 , v068 + .byte W06 + .byte Gs3 , v064 + .byte W06 + .byte Ds3 , v060 + .byte W06 + .byte Gn3 , v064 + .byte W06 + .byte Gs3 , v068 + .byte W06 + .byte Cn4 , v072 + .byte W06 + .byte Ds4 , v076 + .byte W06 + .byte Gn4 , v080 + .byte W06 + .byte Gs4 , v084 + .byte W06 + .byte Cn5 , v088 + .byte W06 + .byte Gs5 , v092 + .byte W06 + .byte Gn5 + .byte W06 + .byte Ds5 , v084 + .byte W06 + .byte Cn5 , v080 + .byte W06 + .byte Gs4 , v076 + .byte W06 + .byte Gn4 , v072 + .byte W06 + .byte Ds4 , v068 + .byte W06 + .byte Cn4 , v064 + .byte W06 + .byte VOICE , 7 + .byte PAN , c_v-47 + .byte N06 , Fs4 , v052 + .byte W12 + .byte Ds4 + .byte W24 + .byte N03 , Gs4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds4 + .byte W18 + .byte Gs4 + .byte W18 + .byte Fs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Dn4 + .byte W24 + .byte N03 , Gs3 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Fn3 + .byte W24 + .byte N06 , Dn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W12 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W12 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N04 , Cs4 , v032 + .byte W04 + .byte Fs3 + .byte W05 + .byte Cs3 + .byte W05 + .byte Gs3 + .byte W05 + .byte Fs4 + .byte W05 + .byte Cs3 , v040 + .byte W04 + .byte Gs3 + .byte W05 + .byte Cs4 + .byte W05 + .byte Gs4 , v052 + .byte W05 + .byte Cs5 + .byte W05 + .byte N12 , Gs4 + .byte W18 + .byte Fs4 + .byte W18 + .byte Fn4 + .byte W12 + .byte Bn3 + .byte W18 + .byte As3 + .byte W18 + .byte Gs3 + .byte W12 + .byte GOTO + .word mus_dan02_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_dan02_5: + .byte KEYSH , mus_dan02_key+0 + .byte VOL , 80*mus_dan02_mvl/mxv + .byte PAN , c_v+0 + .byte XCMD , xIECV , 13 + .byte xIECL , 10 + .byte W36 +mus_dan02_5_B1: + .byte VOICE , 8 + .byte PAN , c_v+49 + .byte N06 , Fs3 , v048 + .byte W12 + .byte Cs4 , v052 + .byte W24 + .byte N06 + .byte W24 + .byte N03 , As2 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte N03 , As2 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte N03 , As2 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte Fs3 , v048 + .byte W12 + .byte Cs4 , v052 + .byte W24 + .byte N06 + .byte W24 + .byte N24 , As3 + .byte W24 + .byte N12 , Fs3 + .byte W12 + .byte N06 , Fs3 , v048 + .byte W12 + .byte Cn4 , v052 + .byte W24 + .byte An3 + .byte W24 + .byte N03 , An2 + .byte W06 + .byte N06 , An3 + .byte W06 + .byte N03 , An2 + .byte W06 + .byte N06 , An3 + .byte W06 + .byte N03 , An2 + .byte W06 + .byte N06 , An3 + .byte W06 + .byte Fs3 , v048 + .byte W12 + .byte Cn4 , v052 + .byte W24 + .byte An3 + .byte W24 + .byte N24 , Cn4 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte N06 , Gs3 , v048 + .byte W12 + .byte Cn4 , v052 + .byte W24 + .byte N06 + .byte W24 + .byte N03 , Gs2 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte Gs3 , v048 + .byte W12 + .byte Cn4 , v052 + .byte W24 + .byte N06 + .byte W24 + .byte N24 , Gs3 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte N06 , As3 , v048 + .byte W12 + .byte Cs4 , v052 + .byte W24 + .byte As3 + .byte W24 + .byte N03 , As2 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N03 , As2 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte N03 , As2 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte Cs4 , v048 + .byte W12 + .byte Cs4 , v052 + .byte W24 + .byte As3 + .byte W24 + .byte N36 , Cs3 + .byte W36 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , Ds4 + .byte W12 + .byte Bn3 + .byte W24 + .byte N03 , Ds4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Bn3 + .byte W18 + .byte Ds4 + .byte W18 + .byte N06 + .byte W12 + .byte Dn4 + .byte W12 + .byte Bn3 + .byte W24 + .byte N03 , Fn3 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Dn3 + .byte W24 + .byte N06 , Bn2 + .byte W06 + .byte Fn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W08 + .byte N04 , Gs3 , v032 + .byte W05 + .byte Gs2 + .byte W05 + .byte Fs3 + .byte W04 + .byte Bn3 + .byte W05 + .byte Gs4 + .byte W05 + .byte Fs3 , v040 + .byte W05 + .byte Bn3 + .byte W05 + .byte Fs4 , v052 + .byte W04 + .byte Bn4 + .byte W08 + .byte N12 , Fn4 + .byte W18 + .byte Ds4 + .byte W18 + .byte Cs4 + .byte W12 + .byte Gs3 + .byte W18 + .byte Fs3 + .byte W18 + .byte Fn3 + .byte W12 + .byte GOTO + .word mus_dan02_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_dan02_6: + .byte KEYSH , mus_dan02_key+0 + .byte W36 +mus_dan02_6_B1: + .byte VOICE , 81 + .byte VOL , 80*mus_dan02_mvl/mxv + .byte N06 , Fs1 , v064 + .byte W12 + .byte N06 + .byte W72 + .byte N06 + .byte W12 +mus_dan02_6_000: + .byte N06 , Fs1 , v064 + .byte W12 + .byte N06 + .byte W48 + .byte N36 + .byte W36 + .byte PEND + .byte N06 + .byte W12 + .byte N06 + .byte W72 + .byte N06 + .byte W12 + .byte PATT + .word mus_dan02_6_000 + .byte N06 , Fn1 , v064 + .byte W12 + .byte N06 + .byte W72 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W48 + .byte N36 + .byte W36 + .byte N06 , Cs2 + .byte W12 + .byte N06 + .byte W72 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W48 + .byte N36 + .byte W36 + .byte W48 + .byte VOL , 40*mus_dan02_mvl/mxv + .byte N48 + .byte W18 + .byte VOL , 62*mus_dan02_mvl/mxv + .byte W18 + .byte 80*mus_dan02_mvl/mxv + .byte W12 + .byte N96 , Cn2 + .byte W24 + .byte VOL , 62*mus_dan02_mvl/mxv + .byte W24 + .byte 40*mus_dan02_mvl/mxv + .byte W24 + .byte 62*mus_dan02_mvl/mxv + .byte W24 + .byte 80*mus_dan02_mvl/mxv + .byte N96 , As1 + .byte W24 + .byte VOL , 62*mus_dan02_mvl/mxv + .byte W24 + .byte 40*mus_dan02_mvl/mxv + .byte W24 + .byte 62*mus_dan02_mvl/mxv + .byte W24 + .byte 80*mus_dan02_mvl/mxv + .byte N96 , Gs1 + .byte W24 + .byte VOL , 62*mus_dan02_mvl/mxv + .byte W24 + .byte 40*mus_dan02_mvl/mxv + .byte W24 + .byte 62*mus_dan02_mvl/mxv + .byte W24 + .byte 40*mus_dan02_mvl/mxv + .byte N80 , Bn1 + .byte W15 + .byte VOL , 59*mus_dan02_mvl/mxv + .byte W21 + .byte 80*mus_dan02_mvl/mxv + .byte W48 + .byte N09 + .byte W12 + .byte VOL , 40*mus_dan02_mvl/mxv + .byte N80 , Dn2 + .byte W15 + .byte VOL , 59*mus_dan02_mvl/mxv + .byte W21 + .byte 80*mus_dan02_mvl/mxv + .byte W48 + .byte N09 + .byte W12 + .byte N12 , Cs2 + .byte W18 + .byte N12 + .byte W18 + .byte N42 + .byte W48 + .byte N06 + .byte W12 + .byte N12 + .byte W18 + .byte N12 + .byte W18 + .byte N12 + .byte W12 + .byte Cs1 + .byte W18 + .byte Ds1 + .byte W18 + .byte Fn1 + .byte W12 + .byte GOTO + .word mus_dan02_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_dan02_7: + .byte KEYSH , mus_dan02_key+0 + .byte VOL , 80*mus_dan02_mvl/mxv + .byte W36 +mus_dan02_7_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W60 + .byte VOICE , 0 + .byte VOL , 40*mus_dan02_mvl/mxv + .byte N36 , An2 , v064 + .byte W06 + .byte VOL , 47*mus_dan02_mvl/mxv + .byte W06 + .byte 52*mus_dan02_mvl/mxv + .byte W03 + .byte 59*mus_dan02_mvl/mxv + .byte W03 + .byte 66*mus_dan02_mvl/mxv + .byte W03 + .byte 69*mus_dan02_mvl/mxv + .byte W03 + .byte 73*mus_dan02_mvl/mxv + .byte W03 + .byte 76*mus_dan02_mvl/mxv + .byte W03 + .byte 80*mus_dan02_mvl/mxv + .byte W06 + .byte W96 + .byte W48 + .byte VOICE , 60 + .byte VOL , 49*mus_dan02_mvl/mxv + .byte N48 , Gs2 , v096 + .byte W06 + .byte VOL , 54*mus_dan02_mvl/mxv + .byte W06 + .byte 58*mus_dan02_mvl/mxv + .byte W06 + .byte 65*mus_dan02_mvl/mxv + .byte W06 + .byte 68*mus_dan02_mvl/mxv + .byte W06 + .byte 70*mus_dan02_mvl/mxv + .byte W06 + .byte 74*mus_dan02_mvl/mxv + .byte W06 + .byte 80*mus_dan02_mvl/mxv + .byte W06 + .byte N36 , As2 + .byte W36 + .byte N24 , Cs3 + .byte W24 + .byte N24 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte N84 , Ds3 + .byte W56 + .byte W01 + .byte VOL , 78*mus_dan02_mvl/mxv + .byte W09 + .byte 76*mus_dan02_mvl/mxv + .byte W09 + .byte 69*mus_dan02_mvl/mxv + .byte W06 + .byte 54*mus_dan02_mvl/mxv + .byte W15 + .byte 80*mus_dan02_mvl/mxv + .byte N09 , Gs2 , v100 + .byte W12 + .byte N12 + .byte W24 + .byte N03 , Bn2 + .byte W06 + .byte N03 + .byte W06 + .byte N32 , Gs2 + .byte W18 + .byte VOL , 68*mus_dan02_mvl/mxv + .byte W06 + .byte 62*mus_dan02_mvl/mxv + .byte W06 + .byte 30*mus_dan02_mvl/mxv + .byte W06 + .byte VOICE , 14 + .byte VOL , 80*mus_dan02_mvl/mxv + .byte N12 , Ds4 , v112 + .byte W12 + .byte N36 , Dn4 + .byte W60 + .byte VOICE , 60 + .byte VOL , 55*mus_dan02_mvl/mxv + .byte N36 , Bn2 , v100 + .byte W06 + .byte VOL , 60*mus_dan02_mvl/mxv + .byte W06 + .byte 66*mus_dan02_mvl/mxv + .byte W06 + .byte 71*mus_dan02_mvl/mxv + .byte W06 + .byte 76*mus_dan02_mvl/mxv + .byte W06 + .byte 80*mus_dan02_mvl/mxv + .byte W06 + .byte N12 + .byte W18 + .byte N12 + .byte W18 + .byte N06 , Fs2 + .byte W06 + .byte As2 + .byte W06 + .byte N12 , Bn2 + .byte W18 + .byte Cs3 + .byte W18 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W18 + .byte Ds3 + .byte W18 + .byte Cs3 + .byte W12 + .byte Bn2 + .byte W18 + .byte As2 + .byte W18 + .byte Gs2 + .byte W12 + .byte GOTO + .word mus_dan02_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_dan02_8: + .byte KEYSH , mus_dan02_key+0 + .byte VOICE , 0 + .byte VOL , 40*mus_dan02_mvl/mxv + .byte N36 , An2 , v064 + .byte W06 + .byte VOL , 47*mus_dan02_mvl/mxv + .byte W06 + .byte 52*mus_dan02_mvl/mxv + .byte W03 + .byte 59*mus_dan02_mvl/mxv + .byte W03 + .byte 66*mus_dan02_mvl/mxv + .byte W03 + .byte 69*mus_dan02_mvl/mxv + .byte W03 + .byte 73*mus_dan02_mvl/mxv + .byte W03 + .byte 76*mus_dan02_mvl/mxv + .byte W03 + .byte 80*mus_dan02_mvl/mxv + .byte W06 +mus_dan02_8_B1: +mus_dan02_8_000: + .byte N06 , En1 , v092 + .byte N72 , Bn2 , v064 + .byte W12 + .byte N06 , En1 , v092 + .byte W12 + .byte Dn3 , v064 + .byte W12 + .byte En3 + .byte W06 + .byte N03 , En1 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v080 + .byte W12 + .byte Dn3 , v064 + .byte W12 + .byte Fs2 , v072 + .byte W06 + .byte Fs2 , v056 + .byte W06 + .byte En1 , v092 + .byte W12 + .byte PEND +mus_dan02_8_001: + .byte N06 , En1 , v092 + .byte W12 + .byte N06 + .byte W24 + .byte En1 , v100 + .byte N06 , Dn3 , v064 + .byte W06 + .byte En1 , v080 + .byte N06 , En3 , v064 + .byte W06 + .byte En1 , v100 + .byte N06 , Dn3 , v064 + .byte W12 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En1 , v112 + .byte N06 , Fs2 , v088 + .byte W03 + .byte N03 , En1 , v064 + .byte W03 + .byte N03 + .byte N06 , Fs2 , v072 + .byte W03 + .byte N03 , En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND +mus_dan02_8_002: + .byte N06 , En1 , v092 + .byte W12 + .byte N06 + .byte W12 + .byte Dn3 , v064 + .byte W12 + .byte En3 + .byte W06 + .byte N03 , En1 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v080 + .byte W12 + .byte Dn3 , v064 + .byte W12 + .byte Fs2 , v072 + .byte W06 + .byte Fs2 , v056 + .byte W06 + .byte En1 , v092 + .byte W12 + .byte PEND + .byte PATT + .word mus_dan02_8_001 + .byte PATT + .word mus_dan02_8_000 + .byte PATT + .word mus_dan02_8_001 + .byte PATT + .word mus_dan02_8_002 + .byte N06 , En1 , v092 + .byte W12 + .byte N06 + .byte W24 + .byte En1 , v100 + .byte N06 , Dn3 , v064 + .byte W06 + .byte En1 , v080 + .byte N06 , En3 , v064 + .byte W06 + .byte En1 , v100 + .byte N06 , Dn3 , v064 + .byte W12 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En1 , v112 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N96 , Bn2 , v112 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W60 + .byte VOL , 40*mus_dan02_mvl/mxv + .byte N36 , An2 , v064 + .byte W06 + .byte VOL , 47*mus_dan02_mvl/mxv + .byte W06 + .byte 52*mus_dan02_mvl/mxv + .byte W03 + .byte 59*mus_dan02_mvl/mxv + .byte W03 + .byte 66*mus_dan02_mvl/mxv + .byte W03 + .byte 69*mus_dan02_mvl/mxv + .byte W03 + .byte 73*mus_dan02_mvl/mxv + .byte W03 + .byte 76*mus_dan02_mvl/mxv + .byte W03 + .byte 80*mus_dan02_mvl/mxv + .byte W06 + .byte GOTO + .word mus_dan02_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_dan02: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_dan02_pri @ Priority + .byte mus_dan02_rev @ Reverb. + + .word mus_dan02_grp + + .word mus_dan02_1 + .word mus_dan02_2 + .word mus_dan02_3 + .word mus_dan02_4 + .word mus_dan02_5 + .word mus_dan02_6 + .word mus_dan02_7 + .word mus_dan02_8 + + .end diff --git a/sound/songs/mus_dan03.s b/sound/songs/mus_dan03.s new file mode 100644 index 0000000000..e86024d98d --- /dev/null +++ b/sound/songs/mus_dan03.s @@ -0,0 +1,1926 @@ + .include "MPlayDef.s" + + .equ mus_dan03_grp, voicegroup_867E314 + .equ mus_dan03_pri, 0 + .equ mus_dan03_rev, reverb_set+50 + .equ mus_dan03_mvl, 127 + .equ mus_dan03_key, 0 + .equ mus_dan03_tbs, 1 + .equ mus_dan03_exg, 0 + .equ mus_dan03_cmp, 1 + + .section .rodata + .global mus_dan03 + .align 2 + +@********************** Track 1 **********************@ + +mus_dan03_1: + .byte KEYSH , mus_dan03_key+0 + .byte TEMPO , 100*mus_dan03_tbs/2 + .byte W24 +mus_dan03_1_B1: + .byte VOICE , 46 + .byte VOL , 80*mus_dan03_mvl/mxv + .byte PAN , c_v-12 + .byte N08 , Ds4 , v096 + .byte W08 + .byte Gn4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte As3 + .byte W08 + .byte Ds3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Gn4 + .byte W08 + .byte Ds5 + .byte W08 + .byte N72 , As4 + .byte W96 + .byte N08 , Cs4 + .byte W08 + .byte Ds4 + .byte W08 + .byte En4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Cs4 + .byte W08 + .byte An3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Ds3 + .byte W08 + .byte En3 + .byte W08 + .byte Ds3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Cs5 + .byte W08 + .byte N72 , An4 + .byte W96 + .byte VOICE , 14 + .byte N24 , Gs3 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W48 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W48 + .byte VOICE , 46 + .byte N08 , As3 + .byte W08 + .byte En4 + .byte W08 + .byte Fn4 + .byte W08 + .byte En4 + .byte W08 + .byte As3 + .byte W08 + .byte En3 + .byte W08 + .byte As2 + .byte W08 + .byte En3 + .byte W08 + .byte Fn3 + .byte W08 + .byte En3 + .byte W08 + .byte As3 + .byte W08 + .byte As4 + .byte W08 + .byte As3 + .byte W08 + .byte En4 + .byte W08 + .byte Fn4 + .byte W08 + .byte En4 + .byte W08 + .byte As3 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 + .byte W08 + .byte En3 + .byte W08 + .byte Fn3 + .byte W08 + .byte En3 + .byte W08 + .byte En4 + .byte W08 + .byte Cs5 + .byte W08 + .byte As3 + .byte W08 + .byte En4 + .byte W08 + .byte Fn4 + .byte W08 + .byte En4 + .byte W08 + .byte As3 + .byte W08 + .byte En3 + .byte W08 + .byte As2 + .byte W08 + .byte En3 + .byte W08 + .byte Fn3 + .byte W08 + .byte En3 + .byte W08 + .byte As3 + .byte W08 + .byte As4 + .byte W08 + .byte Cs5 , v068 + .byte W08 + .byte As4 + .byte W08 + .byte Gn4 , v072 + .byte W08 + .byte Cs5 , v076 + .byte W08 + .byte As4 + .byte W08 + .byte Gn4 , v080 + .byte W08 + .byte Cs5 , v084 + .byte W08 + .byte As4 + .byte W08 + .byte Gn4 , v088 + .byte W08 + .byte Cs5 , v092 + .byte W08 + .byte As4 + .byte W08 + .byte Gn4 , v096 + .byte W08 + .byte Cn5 + .byte W08 + .byte As4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Gn3 + .byte W08 + .byte Ds3 + .byte W08 + .byte Cn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Ds3 + .byte W08 + .byte Ds4 + .byte W08 + .byte Gn5 + .byte W08 + .byte Cn6 + .byte W08 + .byte As5 + .byte W08 + .byte Gn5 + .byte W08 + .byte Ds5 + .byte W08 + .byte Dn5 + .byte W08 + .byte Gn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Ds5 + .byte W08 + .byte Cn5 + .byte W08 + .byte Gs4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Gs3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Gs4 + .byte W08 + .byte Fn5 + .byte W08 + .byte Gs5 + .byte W08 + .byte Gn5 + .byte W08 + .byte Fn5 + .byte W08 + .byte Ds5 + .byte W08 + .byte Dn5 + .byte W08 + .byte Cn5 + .byte W08 + .byte Gs4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Dn5 + .byte W08 + .byte Bn4 + .byte W08 + .byte Cn5 + .byte W08 + .byte Dn5 + .byte W08 + .byte Ds5 + .byte W08 + .byte Dn5 + .byte W08 + .byte Bn4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte En4 + .byte W08 + .byte Cs5 + .byte W08 + .byte As4 + .byte W08 + .byte Bn4 + .byte W08 + .byte Cs5 + .byte W08 + .byte Dn5 + .byte W08 + .byte Cs5 + .byte W08 + .byte As4 + .byte W08 + .byte Gn4 + .byte W08 + .byte En4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Ds4 , v084 + .byte W08 + .byte An4 , v076 + .byte W08 + .byte Ds4 , v064 + .byte W08 + .byte Fs4 , v052 + .byte W08 + .byte An4 , v044 + .byte W08 + .byte Fs4 , v032 + .byte W08 + .byte Ds4 , v024 + .byte W08 + .byte An4 , v016 + .byte W08 + .byte VOICE , 48 + .byte N04 , Fs3 , v068 + .byte W04 + .byte An3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Fs4 + .byte W04 + .byte An4 + .byte W04 + .byte N44 , As4 + .byte W48 + .byte N48 + .byte W48 + .byte GOTO + .word mus_dan03_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_dan03_2: + .byte KEYSH , mus_dan03_key+0 + .byte W24 +mus_dan03_2_B1: + .byte VOICE , 58 + .byte VOL , 80*mus_dan03_mvl/mxv + .byte PAN , c_v+6 + .byte N84 , Ds1 , v127 + .byte W84 + .byte N12 , As1 + .byte W12 + .byte N44 , Ds1 + .byte W48 + .byte N16 , Gn1 + .byte W16 + .byte Fn1 + .byte W16 + .byte Gn1 + .byte W16 + .byte N84 , An1 + .byte W84 + .byte N12 , Cs2 + .byte W12 + .byte N44 , An1 + .byte W48 + .byte N16 + .byte W16 + .byte Gn1 + .byte W16 + .byte An1 + .byte W16 + .byte N12 , Gs1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N24 , Cn2 + .byte W24 + .byte TIE , Cs2 + .byte W96 + .byte W48 + .byte EOT + .byte N16 + .byte W16 + .byte Bn1 + .byte W16 + .byte Gs1 + .byte W16 + .byte N92 , Gn1 + .byte W96 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N44 , As1 + .byte W48 + .byte N16 + .byte W16 + .byte Gs1 + .byte W16 + .byte Fn1 + .byte W16 + .byte GOTO + .word mus_dan03_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_dan03_3: + .byte KEYSH , mus_dan03_key+0 + .byte VOICE , 48 + .byte VOL , 80*mus_dan03_mvl/mxv + .byte PAN , c_v+18 + .byte N04 , As3 , v068 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gs4 + .byte W04 + .byte As4 + .byte W04 + .byte Cn5 + .byte W04 +mus_dan03_3_B1: + .byte VOICE , 48 + .byte VOL , 80*mus_dan03_mvl/mxv + .byte PAN , c_v+18 + .byte TIE , Dn5 , v068 + .byte W24 + .byte BEND , c_v+0 + .byte W08 + .byte VOL , 75*mus_dan03_mvl/mxv + .byte W12 + .byte 71*mus_dan03_mvl/mxv + .byte W12 + .byte 66*mus_dan03_mvl/mxv + .byte W12 + .byte 61*mus_dan03_mvl/mxv + .byte W12 + .byte 57*mus_dan03_mvl/mxv + .byte W16 +mus_dan03_3_000: + .byte VOL , 52*mus_dan03_mvl/mxv + .byte W16 + .byte 57*mus_dan03_mvl/mxv + .byte W16 + .byte 62*mus_dan03_mvl/mxv + .byte W12 + .byte 67*mus_dan03_mvl/mxv + .byte W12 + .byte 69*mus_dan03_mvl/mxv + .byte W08 + .byte 73*mus_dan03_mvl/mxv + .byte W08 + .byte 74*mus_dan03_mvl/mxv + .byte W08 + .byte 80*mus_dan03_mvl/mxv + .byte W16 + .byte PEND + .byte EOT , Dn5 + .byte TIE , Cs5 , v068 + .byte W32 + .byte VOL , 75*mus_dan03_mvl/mxv + .byte W12 + .byte 71*mus_dan03_mvl/mxv + .byte W12 + .byte 66*mus_dan03_mvl/mxv + .byte W12 + .byte 61*mus_dan03_mvl/mxv + .byte W12 + .byte 57*mus_dan03_mvl/mxv + .byte W16 + .byte PATT + .word mus_dan03_3_000 + .byte EOT , Cs5 + .byte N12 , Gs4 , v088 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W48 +mus_dan03_3_001: + .byte TIE , As4 , v068 + .byte W32 + .byte VOL , 75*mus_dan03_mvl/mxv + .byte W12 + .byte 71*mus_dan03_mvl/mxv + .byte W12 + .byte 66*mus_dan03_mvl/mxv + .byte W12 + .byte 61*mus_dan03_mvl/mxv + .byte W12 + .byte 57*mus_dan03_mvl/mxv + .byte W16 + .byte PEND + .byte PATT + .word mus_dan03_3_000 + .byte EOT , As4 + .byte PATT + .word mus_dan03_3_001 + .byte PATT + .word mus_dan03_3_000 + .byte EOT , As4 +mus_dan03_3_002: + .byte N12 , Ds4 , v088 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte PEND + .byte N12 + .byte W96 + .byte PATT + .word mus_dan03_3_002 + .byte N12 , Ds4 , v088 + .byte W96 + .byte Dn4 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 , Cs4 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 , Cn4 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N44 , Ds4 + .byte W48 + .byte N24 , Dn4 + .byte W24 + .byte N04 , As3 , v068 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gs4 + .byte W04 + .byte As4 + .byte W04 + .byte Cn5 + .byte W04 + .byte GOTO + .word mus_dan03_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_dan03_4: + .byte KEYSH , mus_dan03_key+0 + .byte BENDR , 38 + .byte XCMD , xIECV , 13 + .byte xIECL , 10 + .byte W24 +mus_dan03_4_B1: + .byte VOICE , 80 + .byte VOL , 80*mus_dan03_mvl/mxv + .byte PAN , c_v-48 + .byte N92 , As3 , v060 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte VOL , 76*mus_dan03_mvl/mxv + .byte W09 + .byte 70*mus_dan03_mvl/mxv + .byte W09 + .byte 64*mus_dan03_mvl/mxv + .byte W09 + .byte 55*mus_dan03_mvl/mxv + .byte W09 + .byte 44*mus_dan03_mvl/mxv + .byte W06 + .byte 27*mus_dan03_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte W04 + .byte VOICE , 4 + .byte VOL , 80*mus_dan03_mvl/mxv + .byte PAN , c_v-1 + .byte N06 , Ds6 , v052 + .byte W08 + .byte As5 + .byte W08 + .byte Ds5 + .byte W08 + .byte As4 + .byte W08 + .byte Ds4 + .byte W08 + .byte As3 + .byte W08 + .byte Ds3 + .byte W08 + .byte As3 + .byte W08 + .byte Ds4 + .byte W08 + .byte As4 + .byte W08 + .byte Ds5 + .byte W08 + .byte As5 + .byte W08 + .byte VOICE , 80 + .byte PAN , c_v-48 + .byte N92 , An3 , v060 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte VOL , 76*mus_dan03_mvl/mxv + .byte W09 + .byte 70*mus_dan03_mvl/mxv + .byte W09 + .byte 64*mus_dan03_mvl/mxv + .byte W09 + .byte 55*mus_dan03_mvl/mxv + .byte W09 + .byte 44*mus_dan03_mvl/mxv + .byte W06 + .byte 27*mus_dan03_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte W04 + .byte VOICE , 4 + .byte VOL , 80*mus_dan03_mvl/mxv + .byte PAN , c_v-1 + .byte N06 , Ds6 , v052 + .byte W08 + .byte An5 + .byte W08 + .byte Ds5 + .byte W08 + .byte An4 + .byte W08 + .byte Ds4 + .byte W08 + .byte An3 + .byte W08 + .byte Ds3 + .byte W08 + .byte An3 + .byte W08 + .byte Ds4 + .byte W08 + .byte An4 + .byte W08 + .byte Ds5 + .byte W08 + .byte An5 + .byte W08 + .byte VOICE , 80 + .byte PAN , c_v-48 + .byte N06 , Cn4 , v060 + .byte W08 + .byte Fs3 + .byte W08 + .byte Cn3 + .byte W08 + .byte Cn4 , v040 + .byte W08 + .byte Fs3 + .byte W08 + .byte Cn3 + .byte W08 + .byte Cn4 , v052 + .byte W08 + .byte Fs3 + .byte W08 + .byte Cn3 + .byte W08 + .byte Cn4 , v060 + .byte W08 + .byte Fs3 + .byte W08 + .byte Cn3 + .byte W08 + .byte VOICE , 4 + .byte PAN , c_v-1 + .byte N06 , Ds6 , v052 + .byte W08 + .byte Gs5 + .byte W08 + .byte Ds5 + .byte W08 + .byte Gs4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Gs3 + .byte W08 + .byte Ds3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Ds4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Ds5 + .byte W08 + .byte Gs5 + .byte W08 + .byte Cs6 + .byte W08 + .byte Gs5 + .byte W08 + .byte As4 + .byte W08 + .byte PAN , c_v-48 + .byte N06 , As5 , v040 + .byte W08 + .byte PAN , c_v+0 + .byte N06 , En5 + .byte W08 + .byte PAN , c_v-48 + .byte N06 , Cs6 , v032 + .byte W08 + .byte PAN , c_v+0 + .byte N06 , Gs5 + .byte W08 + .byte PAN , c_v-48 + .byte N08 , As4 + .byte W08 + .byte N06 , As5 , v020 + .byte W08 + .byte En5 + .byte W08 + .byte Cs6 , v012 + .byte W16 + .byte W48 + .byte VOICE , 80 + .byte VOL , 44*mus_dan03_mvl/mxv + .byte N48 , Gs3 , v072 + .byte W08 + .byte VOL , 50*mus_dan03_mvl/mxv + .byte W08 + .byte 59*mus_dan03_mvl/mxv + .byte MOD , 7 + .byte W08 + .byte VOL , 68*mus_dan03_mvl/mxv + .byte W08 + .byte 73*mus_dan03_mvl/mxv + .byte W08 + .byte 80*mus_dan03_mvl/mxv + .byte W08 + .byte MOD , 0 + .byte N96 , Gn3 , v060 + .byte W36 + .byte MOD , 7 + .byte W12 + .byte VOL , 76*mus_dan03_mvl/mxv + .byte W09 + .byte 70*mus_dan03_mvl/mxv + .byte W09 + .byte 64*mus_dan03_mvl/mxv + .byte W09 + .byte 55*mus_dan03_mvl/mxv + .byte W09 + .byte 44*mus_dan03_mvl/mxv + .byte W06 + .byte 27*mus_dan03_mvl/mxv + .byte W06 + .byte 80*mus_dan03_mvl/mxv + .byte MOD , 0 + .byte N06 , Gn3 , v040 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Gn3 , v052 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Gn3 , v060 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Gn3 , v072 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 + .byte W08 + .byte N12 , As3 , v060 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W96 + .byte Cn4 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W96 + .byte Gs3 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 , Gn3 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 , Fs3 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N06 , As3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Ds3 + .byte W08 + .byte As3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Ds3 + .byte W08 + .byte As3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte As3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte GOTO + .word mus_dan03_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_dan03_5: + .byte KEYSH , mus_dan03_key+0 + .byte BENDR , 38 + .byte XCMD , xIECV , 13 + .byte xIECL , 10 + .byte W24 +mus_dan03_5_B1: + .byte VOICE , 82 + .byte VOL , 80*mus_dan03_mvl/mxv + .byte PAN , c_v+48 + .byte N12 , Gn3 , v060 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte MOD , 7 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOL , 76*mus_dan03_mvl/mxv + .byte N12 + .byte W09 + .byte VOL , 70*mus_dan03_mvl/mxv + .byte W03 + .byte N12 + .byte W06 + .byte VOL , 64*mus_dan03_mvl/mxv + .byte W06 + .byte N12 + .byte W03 + .byte VOL , 55*mus_dan03_mvl/mxv + .byte W09 + .byte 44*mus_dan03_mvl/mxv + .byte N09 + .byte W06 + .byte VOL , 27*mus_dan03_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte W04 + .byte VOICE , 5 + .byte VOL , 80*mus_dan03_mvl/mxv + .byte PAN , c_v+0 + .byte W04 + .byte N06 , Dn6 , v052 + .byte W08 + .byte Gn5 + .byte W08 + .byte Dn5 + .byte W08 + .byte Gn4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Gn3 + .byte W08 + .byte N06 + .byte W08 + .byte Dn4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Dn5 + .byte W08 + .byte Gn5 + .byte W08 + .byte N04 , Dn6 + .byte W04 + .byte VOICE , 82 + .byte PAN , c_v+48 + .byte N12 , Ds3 , v060 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte MOD , 7 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOL , 76*mus_dan03_mvl/mxv + .byte N12 + .byte W09 + .byte VOL , 70*mus_dan03_mvl/mxv + .byte W03 + .byte N12 + .byte W06 + .byte VOL , 64*mus_dan03_mvl/mxv + .byte W06 + .byte N12 + .byte W03 + .byte VOL , 55*mus_dan03_mvl/mxv + .byte W09 + .byte 44*mus_dan03_mvl/mxv + .byte N09 + .byte W06 + .byte VOL , 27*mus_dan03_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte W04 + .byte VOICE , 5 + .byte VOL , 80*mus_dan03_mvl/mxv + .byte PAN , c_v+0 + .byte W04 + .byte N06 , Cs6 , v052 + .byte W08 + .byte Gn5 + .byte W08 + .byte Cs5 + .byte W08 + .byte Gn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte Gn3 + .byte W08 + .byte N06 + .byte W08 + .byte Cs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Cs5 + .byte W08 + .byte Gn5 + .byte W08 + .byte N04 , Cs6 + .byte W04 + .byte VOICE , 82 + .byte PAN , c_v+48 + .byte N06 , Gs3 , v060 + .byte W08 + .byte Ds3 + .byte W08 + .byte Gs2 + .byte W08 + .byte Gs3 , v040 + .byte W08 + .byte Ds3 + .byte W08 + .byte Gs2 + .byte W08 + .byte Gs3 , v052 + .byte W08 + .byte Ds3 + .byte W08 + .byte Gs2 + .byte W08 + .byte Gs3 , v060 + .byte W08 + .byte Ds3 + .byte W08 + .byte Gs2 + .byte W08 + .byte VOICE , 5 + .byte PAN , c_v+0 + .byte W04 + .byte N06 , Cn6 , v052 + .byte W08 + .byte Fs5 + .byte W08 + .byte Cn5 + .byte W08 + .byte Fs4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Fs3 + .byte W08 + .byte N06 + .byte W08 + .byte Cn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Cn5 + .byte W08 + .byte Fs5 + .byte W08 + .byte Cn6 + .byte W04 + .byte PAN , c_v+48 + .byte W04 + .byte N06 , As5 + .byte W08 + .byte En5 + .byte W08 + .byte Cs6 , v040 + .byte W08 + .byte Gs5 + .byte W04 + .byte PAN , c_v-1 + .byte W04 + .byte N06 , As4 + .byte W04 + .byte PAN , c_v+48 + .byte W04 + .byte N06 , As5 , v032 + .byte W04 + .byte PAN , c_v+0 + .byte W04 + .byte N06 , En5 + .byte W04 + .byte PAN , c_v+48 + .byte W04 + .byte N06 , Cs6 , v020 + .byte W08 + .byte Gs5 + .byte W08 + .byte As4 + .byte W08 + .byte As5 , v012 + .byte W12 + .byte W48 + .byte VOICE , 82 + .byte VOL , 44*mus_dan03_mvl/mxv + .byte N12 , En3 , v072 + .byte W08 + .byte VOL , 50*mus_dan03_mvl/mxv + .byte W04 + .byte VOICE , 83 + .byte N12 + .byte W04 + .byte VOL , 59*mus_dan03_mvl/mxv + .byte MOD , 7 + .byte W08 + .byte VOL , 68*mus_dan03_mvl/mxv + .byte N12 + .byte W08 + .byte VOL , 73*mus_dan03_mvl/mxv + .byte W04 + .byte N12 + .byte W04 + .byte VOL , 80*mus_dan03_mvl/mxv + .byte W08 + .byte VOICE , 82 + .byte MOD , 0 + .byte N12 , En3 , v060 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte MOD , 7 + .byte N12 + .byte W12 + .byte VOL , 76*mus_dan03_mvl/mxv + .byte N12 + .byte W09 + .byte VOL , 70*mus_dan03_mvl/mxv + .byte W03 + .byte N12 + .byte W06 + .byte VOL , 64*mus_dan03_mvl/mxv + .byte W06 + .byte N12 + .byte W03 + .byte VOL , 55*mus_dan03_mvl/mxv + .byte W09 + .byte 44*mus_dan03_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 27*mus_dan03_mvl/mxv + .byte W06 + .byte VOICE , 82 + .byte VOL , 80*mus_dan03_mvl/mxv + .byte MOD , 0 + .byte N06 , En3 , v040 + .byte W08 + .byte Cs3 + .byte W08 + .byte As2 + .byte W08 + .byte En3 , v052 + .byte W08 + .byte Cs3 + .byte W08 + .byte As2 + .byte W08 + .byte En3 , v060 + .byte W08 + .byte Cs3 + .byte W08 + .byte As2 + .byte W08 + .byte En3 , v072 + .byte W08 + .byte Cs3 + .byte W08 + .byte As2 + .byte W08 + .byte N12 , Gn3 , v060 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W96 + .byte Gs3 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W96 + .byte Fn3 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 , En3 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 , Ds3 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N06 , Fn3 + .byte W08 + .byte Ds3 + .byte W08 + .byte As2 + .byte W08 + .byte Fn3 + .byte W08 + .byte Ds3 + .byte W08 + .byte As2 + .byte W08 + .byte Fn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte An2 + .byte W08 + .byte Fn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte An2 + .byte W08 + .byte GOTO + .word mus_dan03_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_dan03_6: + .byte KEYSH , mus_dan03_key+0 + .byte W24 +mus_dan03_6_B1: + .byte VOICE , 46 + .byte VOL , 80*mus_dan03_mvl/mxv + .byte PAN , c_v+12 + .byte BEND , c_v+0 + .byte N08 , As3 , v088 + .byte W08 + .byte Dn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Dn4 + .byte W08 + .byte As3 + .byte W08 + .byte Ds3 + .byte W08 + .byte As2 + .byte W08 + .byte Dn3 + .byte W08 + .byte Ds3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Ds4 + .byte W08 + .byte As4 + .byte W08 + .byte Ds3 , v096 + .byte W08 + .byte Gn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Ds3 + .byte W08 + .byte As2 + .byte W08 + .byte N48 , As3 + .byte W48 + .byte N08 , An3 , v088 + .byte W08 + .byte Cs4 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte An3 + .byte W08 + .byte Ds3 + .byte W08 + .byte An2 + .byte W08 + .byte Cs3 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte An3 + .byte W08 + .byte An4 + .byte W08 + .byte Cs3 , v096 + .byte W08 + .byte Ds3 + .byte W08 + .byte En3 + .byte W08 + .byte Ds3 + .byte W08 + .byte Cs3 + .byte W08 + .byte An2 + .byte W08 + .byte N48 , An3 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte VOICE , 60 + .byte VOL , 45*mus_dan03_mvl/mxv + .byte PAN , c_v+0 + .byte N48 , As2 , v108 + .byte W08 + .byte VOL , 52*mus_dan03_mvl/mxv + .byte W08 + .byte 61*mus_dan03_mvl/mxv + .byte W08 + .byte 69*mus_dan03_mvl/mxv + .byte W08 + .byte 74*mus_dan03_mvl/mxv + .byte W08 + .byte 80*mus_dan03_mvl/mxv + .byte W08 + .byte N12 , As2 , v072 + .byte W24 + .byte As2 , v084 + .byte W24 + .byte As2 , v096 + .byte W24 + .byte N24 , As2 , v108 + .byte W24 + .byte N12 , Cn3 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W36 + .byte VOICE , 46 + .byte BEND , c_v-5 + .byte N08 , Ds5 , v052 + .byte W08 + .byte Dn5 , v056 + .byte W08 + .byte Gn4 , v072 + .byte W08 + .byte Ds4 , v084 + .byte W08 + .byte Cn4 , v072 + .byte W08 + .byte Dn4 , v056 + .byte W08 + .byte Ds4 , v052 + .byte W08 + .byte N04 , Dn4 , v040 + .byte W04 + .byte VOICE , 60 + .byte BEND , c_v+0 + .byte N12 , Fn2 , v108 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W36 + .byte VOICE , 46 + .byte BEND , c_v-5 + .byte N08 , Ds5 , v052 + .byte W08 + .byte Dn5 , v060 + .byte W08 + .byte Cn5 , v072 + .byte W08 + .byte Gs4 , v084 + .byte W08 + .byte Fn4 , v072 + .byte W08 + .byte Gn4 , v060 + .byte W08 + .byte Gs4 , v052 + .byte W08 + .byte N04 , Gn4 , v040 + .byte W04 + .byte VOICE , 60 + .byte BEND , c_v+0 + .byte N12 , Bn2 , v108 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 , As2 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 , An2 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte W96 + .byte GOTO + .word mus_dan03_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_dan03_7: + .byte KEYSH , mus_dan03_key+0 + .byte PAN , c_v-8 + .byte W24 +mus_dan03_7_B1: + .byte VOICE , 47 + .byte VOL , 80*mus_dan03_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W80 + .byte N08 , An1 , v120 + .byte W08 + .byte N08 + .byte W08 + .byte N12 , Gs1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W32 + .byte N08 + .byte W08 + .byte Gn1 , v112 + .byte W08 + .byte N12 , Gs1 , v120 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W48 + .byte W96 + .byte W32 + .byte N08 , Cs2 , v112 + .byte W08 + .byte N08 + .byte W08 + .byte N16 , Cs2 , v127 + .byte W16 + .byte Bn1 + .byte W16 + .byte Gs1 + .byte W16 + .byte N15 , Gn1 + .byte W96 + .byte W96 + .byte N12 , Cn2 + .byte W32 + .byte N08 , Cn2 , v112 + .byte W08 + .byte N08 + .byte W08 + .byte N12 , Cn2 , v127 + .byte W32 + .byte N08 , Cn2 , v112 + .byte W08 + .byte N08 + .byte W08 + .byte N12 , Cn2 , v127 + .byte W96 + .byte Fn1 + .byte W32 + .byte N08 , Fn1 , v112 + .byte W08 + .byte N08 + .byte W08 + .byte N12 , Fn1 , v127 + .byte W32 + .byte N08 , Fn1 , v112 + .byte W08 + .byte N08 + .byte W08 + .byte N12 , Fn1 , v127 + .byte W96 + .byte Bn1 + .byte W32 + .byte N08 , Bn1 , v112 + .byte W08 + .byte N08 + .byte W08 + .byte N12 , Bn1 , v127 + .byte W32 + .byte N08 , Bn1 , v112 + .byte W08 + .byte N08 + .byte W08 + .byte N12 , As1 , v127 + .byte W32 + .byte N08 , As1 , v112 + .byte W08 + .byte N08 + .byte W08 + .byte N12 , As1 , v127 + .byte W32 + .byte N08 , As1 , v112 + .byte W08 + .byte N08 + .byte W08 + .byte N12 , An1 , v127 + .byte W32 + .byte N08 , An1 , v112 + .byte W08 + .byte N08 + .byte W08 + .byte N12 , An1 , v127 + .byte W32 + .byte N08 + .byte W08 + .byte An1 , v112 + .byte W08 + .byte N24 , As1 , v127 + .byte W48 + .byte N24 + .byte W48 + .byte GOTO + .word mus_dan03_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_dan03_8: + .byte KEYSH , mus_dan03_key+0 + .byte W24 +mus_dan03_8_B1: + .byte VOICE , 81 + .byte VOL , 80*mus_dan03_mvl/mxv + .byte N84 , Ds1 , v052 + .byte W84 + .byte N12 , As1 + .byte W12 + .byte N44 , Ds1 + .byte W48 + .byte N16 , Gn1 + .byte W16 + .byte Fn1 + .byte W16 + .byte Gn1 + .byte W16 + .byte N84 , An1 + .byte W84 + .byte N12 , Cs2 + .byte W12 + .byte N44 , An1 + .byte W48 + .byte N16 + .byte W16 + .byte Gn1 + .byte W16 + .byte An1 + .byte W16 + .byte N12 , Gs1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N24 , Cn2 + .byte W24 + .byte TIE , Cs2 + .byte W96 + .byte W48 + .byte EOT + .byte N16 + .byte W16 + .byte Bn1 + .byte W16 + .byte Gs1 + .byte W16 + .byte N92 , Gn1 + .byte W96 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte VOICE , 88 + .byte N12 , Cn2 , v080 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W96 + .byte Fn1 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W96 + .byte Bn1 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 , As1 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 , An1 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte VOICE , 81 + .byte N44 , As1 , v052 + .byte W48 + .byte N16 + .byte W16 + .byte Gs1 + .byte W16 + .byte Fn1 + .byte W16 + .byte GOTO + .word mus_dan03_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_dan03_9: + .byte KEYSH , mus_dan03_key+0 + .byte W24 +mus_dan03_9_B1: + .byte VOICE , 0 + .byte VOL , 80*mus_dan03_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W64 + .byte 39*mus_dan03_mvl/mxv + .byte N32 , An2 , v064 + .byte W04 + .byte VOL , 44*mus_dan03_mvl/mxv + .byte W04 + .byte 49*mus_dan03_mvl/mxv + .byte W04 + .byte 54*mus_dan03_mvl/mxv + .byte W04 + .byte 59*mus_dan03_mvl/mxv + .byte W04 + .byte 65*mus_dan03_mvl/mxv + .byte W04 + .byte 72*mus_dan03_mvl/mxv + .byte W04 + .byte 80*mus_dan03_mvl/mxv + .byte W04 + .byte N96 , Bn2 , v100 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_dan03_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_dan03: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_dan03_pri @ Priority + .byte mus_dan03_rev @ Reverb. + + .word mus_dan03_grp + + .word mus_dan03_1 + .word mus_dan03_2 + .word mus_dan03_3 + .word mus_dan03_4 + .word mus_dan03_5 + .word mus_dan03_6 + .word mus_dan03_7 + .word mus_dan03_8 + .word mus_dan03_9 + + .end diff --git a/sound/songs/mus_deepdeep.s b/sound/songs/mus_deepdeep.s new file mode 100644 index 0000000000..a54559f7f4 --- /dev/null +++ b/sound/songs/mus_deepdeep.s @@ -0,0 +1,3932 @@ + .include "MPlayDef.s" + + .equ mus_deepdeep_grp, voicegroup_8684E48 + .equ mus_deepdeep_pri, 0 + .equ mus_deepdeep_rev, reverb_set+50 + .equ mus_deepdeep_mvl, 127 + .equ mus_deepdeep_key, 0 + .equ mus_deepdeep_tbs, 1 + .equ mus_deepdeep_exg, 0 + .equ mus_deepdeep_cmp, 1 + + .section .rodata + .global mus_deepdeep + .align 2 + +@********************** Track 1 **********************@ + +mus_deepdeep_1: + .byte KEYSH , mus_deepdeep_key+0 + .byte TEMPO , 86*mus_deepdeep_tbs/2 + .byte VOICE , 46 + .byte PAN , c_v+16 + .byte VOL , 75*mus_deepdeep_mvl/mxv + .byte W96 +mus_deepdeep_1_000: + .byte N04 , Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W04 + .byte Bn1 , v112 + .byte W04 + .byte Dn2 + .byte W04 + .byte Dn2 , v036 + .byte W04 + .byte Fs2 , v112 + .byte W04 + .byte Gn2 + .byte W04 + .byte An2 + .byte W04 + .byte Bn2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Dn3 , v036 + .byte W04 + .byte Fs3 , v112 + .byte W04 + .byte Gn3 + .byte W04 + .byte Gn3 , v036 + .byte W04 + .byte Bn3 , v112 + .byte W04 + .byte Dn4 + .byte W04 + .byte Dn4 , v036 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte PAN , c_v-16 + .byte N04 , An4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte An3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte PEND + .byte Fn1 + .byte W04 + .byte Fn1 , v036 + .byte W04 + .byte An1 , v112 + .byte W04 + .byte Cn2 + .byte W04 + .byte Cn2 , v036 + .byte W04 + .byte En2 , v112 + .byte W04 + .byte Fn2 + .byte W04 + .byte Gn2 + .byte W04 + .byte An2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Cn3 , v036 + .byte W04 + .byte En3 , v112 + .byte W04 + .byte Fn3 + .byte W08 + .byte An3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Cn4 , v036 + .byte W04 + .byte En4 , v112 + .byte W04 + .byte PAN , c_v+16 + .byte N04 , Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Gn3 + .byte W04 + .byte En3 + .byte W04 + .byte Cn3 + .byte W04 + .byte PATT + .word mus_deepdeep_1_000 + .byte N04 , Gs1 , v112 + .byte W04 + .byte Gs1 , v036 + .byte W04 + .byte Cn2 , v112 + .byte W04 + .byte Ds2 + .byte W04 + .byte Ds2 , v036 + .byte W04 + .byte Gn2 , v112 + .byte W04 + .byte Gs2 + .byte W04 + .byte As2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Ds3 , v036 + .byte W04 + .byte Gn3 , v112 + .byte W04 + .byte Gs3 + .byte W04 + .byte Gs3 , v036 + .byte W04 + .byte Cn4 , v112 + .byte W04 + .byte Ds4 + .byte W04 + .byte Ds4 , v036 + .byte W04 + .byte Gn4 , v112 + .byte W04 + .byte PAN , c_v+16 + .byte N04 , As4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte As4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Cn5 + .byte W04 + .byte PATT + .word mus_deepdeep_1_000 +mus_deepdeep_1_001: + .byte N04 , Fn1 , v112 + .byte W04 + .byte Fn1 , v036 + .byte W04 + .byte An1 , v112 + .byte W04 + .byte Cn2 + .byte W04 + .byte Cn2 , v036 + .byte W04 + .byte En2 , v112 + .byte W04 + .byte Fn2 + .byte W04 + .byte Gn2 + .byte W04 + .byte An2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Cn3 , v036 + .byte W04 + .byte En3 , v112 + .byte W04 + .byte Fn3 + .byte W04 + .byte Fn3 , v036 + .byte W04 + .byte An3 , v112 + .byte W04 + .byte Cn4 + .byte W04 + .byte Cn4 , v036 + .byte W04 + .byte En4 , v112 + .byte W04 + .byte PAN , c_v+16 + .byte N04 , Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Gn3 + .byte W04 + .byte En3 + .byte W04 + .byte Cn3 + .byte W04 + .byte PEND + .byte PATT + .word mus_deepdeep_1_000 + .byte TEMPO , 86*mus_deepdeep_tbs/2 + .byte N04 , Gs1 , v112 + .byte W04 + .byte Gs1 , v036 + .byte W04 + .byte Cn2 , v112 + .byte W04 + .byte Ds2 + .byte W04 + .byte Ds2 , v036 + .byte W04 + .byte Gn2 , v112 + .byte W04 + .byte Gs2 + .byte W04 + .byte As2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Ds3 , v036 + .byte W04 + .byte Gn3 , v112 + .byte W04 + .byte Gs3 + .byte W04 + .byte Gs3 , v036 + .byte W04 + .byte Cn4 , v112 + .byte W04 + .byte Ds4 + .byte W04 + .byte Ds4 , v036 + .byte W04 + .byte Gn4 , v112 + .byte W04 + .byte PAN , c_v+16 + .byte N04 , As4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte As4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Cn5 + .byte W04 +mus_deepdeep_1_B1: +mus_deepdeep_1_002: + .byte N04 , Ds1 , v112 + .byte W04 + .byte Gn1 + .byte W04 + .byte As1 + .byte W04 + .byte Dn2 + .byte W04 + .byte Ds2 + .byte W04 + .byte Gn2 + .byte W04 + .byte As2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte PAN , c_v-16 + .byte N04 , As4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Cn4 + .byte W04 + .byte As3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte PEND +mus_deepdeep_1_003: + .byte N04 , Dn1 , v112 + .byte W04 + .byte Dn1 , v036 + .byte W04 + .byte Fs1 , v112 + .byte W04 + .byte An1 + .byte W04 + .byte An1 , v036 + .byte W04 + .byte Cs2 , v112 + .byte W04 + .byte Dn2 + .byte W04 + .byte En2 + .byte W04 + .byte Fs2 + .byte W04 + .byte An2 + .byte W04 + .byte An2 , v036 + .byte W04 + .byte Cs3 , v112 + .byte W04 + .byte Dn3 + .byte W04 + .byte Dn3 , v036 + .byte W04 + .byte Fs3 , v112 + .byte W04 + .byte An3 + .byte W04 + .byte An3 , v036 + .byte W04 + .byte Cs4 , v112 + .byte W04 + .byte PAN , c_v+16 + .byte N04 , En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte An3 + .byte W04 + .byte Cs4 + .byte W04 + .byte An3 + .byte W04 + .byte En4 + .byte W04 + .byte PEND +mus_deepdeep_1_004: + .byte N04 , Gs1 , v112 + .byte W04 + .byte Cn2 + .byte W04 + .byte Ds2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Gs2 + .byte W04 + .byte As2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte PAN , c_v-16 + .byte N04 , Gn4 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Gn4 , v112 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Gn4 , v112 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Fn4 , v112 + .byte W04 + .byte Fn4 , v036 + .byte W04 + .byte Ds4 , v112 + .byte W04 + .byte Dn4 + .byte W04 + .byte Dn4 , v036 + .byte W04 + .byte As3 , v112 + .byte W04 + .byte PEND +mus_deepdeep_1_005: + .byte N04 , Gn1 , v112 + .byte W04 + .byte Bn1 + .byte W04 + .byte Dn2 + .byte W04 + .byte Fs2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Bn2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Dn4 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gn4 + .byte W04 + .byte PAN , c_v+16 + .byte N04 , An4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Bn2 + .byte W04 + .byte Gn2 + .byte W04 + .byte PEND + .byte PATT + .word mus_deepdeep_1_000 + .byte PATT + .word mus_deepdeep_1_001 + .byte PATT + .word mus_deepdeep_1_000 +mus_deepdeep_1_006: + .byte N04 , Fn1 , v112 + .byte W04 + .byte Fn1 , v036 + .byte W04 + .byte An1 , v112 + .byte W04 + .byte Cn2 + .byte W04 + .byte Cn2 , v036 + .byte W04 + .byte En2 , v112 + .byte W04 + .byte Fn2 + .byte W04 + .byte Gn2 + .byte W04 + .byte An2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Cn3 , v036 + .byte W04 + .byte En3 , v112 + .byte W04 + .byte Fn3 + .byte W04 + .byte Fn3 , v036 + .byte W04 + .byte An3 , v112 + .byte W04 + .byte Cn4 + .byte W04 + .byte Cn4 , v036 + .byte W04 + .byte En4 , v112 + .byte W04 + .byte PAN , c_v+16 + .byte N04 , Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte An4 + .byte W04 + .byte PEND + .byte Ds1 + .byte W04 + .byte Gn1 + .byte W04 + .byte As1 + .byte W04 + .byte Dn2 + .byte W04 + .byte Ds2 + .byte W04 + .byte Gn2 + .byte W04 + .byte As2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte As4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte PAN , c_v-16 + .byte N04 , Ds4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Cn4 + .byte W04 + .byte As3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte PATT + .word mus_deepdeep_1_003 + .byte PATT + .word mus_deepdeep_1_004 + .byte N04 , Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W04 + .byte Bn1 , v112 + .byte W04 + .byte Dn2 + .byte W04 + .byte Dn2 , v036 + .byte W04 + .byte Fs2 , v112 + .byte W04 + .byte Gn2 + .byte W04 + .byte An2 + .byte W04 + .byte Bn2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Dn3 , v036 + .byte W04 + .byte Fs3 , v112 + .byte W04 + .byte Gn3 + .byte W04 + .byte Gn3 , v036 + .byte W04 + .byte Bn3 , v112 + .byte W04 + .byte Dn4 + .byte W04 + .byte Dn4 , v036 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte PAN , c_v+16 + .byte N04 , An4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte An3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte PATT + .word mus_deepdeep_1_002 + .byte PATT + .word mus_deepdeep_1_003 + .byte PATT + .word mus_deepdeep_1_004 + .byte PATT + .word mus_deepdeep_1_005 + .byte PATT + .word mus_deepdeep_1_000 + .byte N04 , Fn1 , v112 + .byte W04 + .byte Fn1 , v036 + .byte W04 + .byte An1 , v112 + .byte W04 + .byte Cn2 + .byte W04 + .byte Cn2 , v036 + .byte W04 + .byte En2 , v112 + .byte W04 + .byte Fn2 + .byte W04 + .byte Gn2 + .byte W04 + .byte An2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Cn3 , v036 + .byte W04 + .byte En3 , v112 + .byte W04 + .byte Fn3 + .byte W04 + .byte Fn3 , v036 + .byte W04 + .byte An3 , v112 + .byte W04 + .byte Cn4 + .byte W04 + .byte Cn4 , v036 + .byte W04 + .byte En4 , v112 + .byte W04 + .byte PAN , c_v+16 + .byte N04 , Fn4 + .byte W04 + .byte En4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Gn3 + .byte W04 + .byte En3 + .byte W04 + .byte Cn3 + .byte W04 + .byte PATT + .word mus_deepdeep_1_000 + .byte PATT + .word mus_deepdeep_1_006 + .byte W96 + .byte W96 + .byte GOTO + .word mus_deepdeep_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_deepdeep_2: + .byte KEYSH , mus_deepdeep_key+0 + .byte VOICE , 23 + .byte PAN , c_v+0 + .byte VOL , 47*mus_deepdeep_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_deepdeep_2_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 34*mus_deepdeep_mvl/mxv + .byte N04 , Cn2 , v064 + .byte W04 + .byte Ds2 , v044 + .byte W04 + .byte Gs2 + .byte W04 + .byte Cn2 , v064 + .byte W04 + .byte Dn2 + .byte W04 + .byte N02 , Fn2 , v044 + .byte W02 + .byte Cn2 , v064 + .byte W02 + .byte VOL , 42*mus_deepdeep_mvl/mxv + .byte N04 , An1 + .byte W04 + .byte Bn1 + .byte W04 + .byte An1 , v048 + .byte W04 + .byte As1 , v040 + .byte W04 + .byte Bn1 , v048 + .byte W04 + .byte An1 , v064 + .byte W04 + .byte VOL , 47*mus_deepdeep_mvl/mxv + .byte N04 , Cn2 + .byte W04 + .byte As1 , v048 + .byte W04 + .byte Ds2 , v060 + .byte W04 + .byte Bn1 , v040 + .byte W04 + .byte En2 , v060 + .byte W04 + .byte An1 , v064 + .byte W04 + .byte An2 + .byte W04 + .byte N02 , Bn1 , v044 + .byte W02 + .byte Dn2 , v032 + .byte W02 + .byte N04 , Cn3 , v064 + .byte W04 + .byte As1 , v044 + .byte W04 + .byte Ds3 , v060 + .byte W04 + .byte As1 , v032 + .byte W04 + .byte Cs2 , v064 + .byte W04 + .byte N02 , Dn2 + .byte W02 + .byte Cn2 + .byte W02 + .byte N04 , Cs2 , v040 + .byte W04 + .byte Gn2 + .byte W04 + .byte Ds2 + .byte W04 + .byte An1 + .byte W04 + .byte VOL , 42*mus_deepdeep_mvl/mxv + .byte N04 , Bn1 , v064 + .byte W04 + .byte Gs1 + .byte W04 + .byte Cn2 , v032 + .byte W04 + .byte As1 + .byte W04 + .byte En2 , v040 + .byte W04 + .byte Bn1 , v064 + .byte W04 + .byte VOL , 37*mus_deepdeep_mvl/mxv + .byte N04 , Gn2 + .byte W04 + .byte Cs2 , v040 + .byte W04 + .byte An2 , v064 + .byte W04 + .byte Cn2 , v040 + .byte W04 + .byte Bn2 , v064 + .byte W04 + .byte Bn1 , v040 + .byte W04 + .byte VOL , 31*mus_deepdeep_mvl/mxv + .byte N04 , As2 , v064 + .byte W04 + .byte Dn2 , v040 + .byte W04 + .byte Dn3 , v068 + .byte W04 + .byte Cs2 , v040 + .byte W04 + .byte Fn3 , v068 + .byte W04 + .byte Cn2 , v044 + .byte W04 + .byte GOTO + .word mus_deepdeep_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_deepdeep_3: + .byte KEYSH , mus_deepdeep_key+0 + .byte VOICE , 35 + .byte PAN , c_v+0 + .byte VOL , 94*mus_deepdeep_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_deepdeep_3_B1: +mus_deepdeep_3_000: + .byte N04 , Ds1 , v127 + .byte W08 + .byte Dn1 + .byte W04 + .byte N08 , Ds1 + .byte W08 + .byte N04 , Gn1 + .byte W04 + .byte N08 , Gn1 , v036 + .byte W08 + .byte N04 , As1 , v127 + .byte W04 + .byte N08 , As1 , v036 + .byte W08 + .byte N04 , Dn2 , v127 + .byte W04 + .byte N08 , Dn2 , v036 + .byte W32 + .byte N04 , Dn2 , v127 + .byte W04 + .byte N12 , Ds1 + .byte W12 + .byte PEND +mus_deepdeep_3_001: + .byte N04 , Dn1 , v127 + .byte W08 + .byte Cs1 + .byte W04 + .byte N08 , Dn1 + .byte W08 + .byte N04 , Fs1 + .byte W04 + .byte N08 , Fs1 , v036 + .byte W08 + .byte N04 , An1 , v127 + .byte W04 + .byte N08 , An1 , v036 + .byte W08 + .byte N04 , Cs2 , v127 + .byte W04 + .byte N08 , Cs2 , v036 + .byte W20 + .byte N04 , Cs2 , v127 + .byte W04 + .byte N08 , Cs2 , v036 + .byte W08 + .byte N04 , Cs2 , v127 + .byte W04 + .byte N12 , Dn1 + .byte W12 + .byte PEND + .byte N04 , Fn1 + .byte W08 + .byte En1 + .byte W04 + .byte N08 , Fn1 + .byte W08 + .byte N04 , Gs1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Dn2 + .byte W04 + .byte Ds2 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Dn2 + .byte W04 + .byte Ds2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Cn2 + .byte W08 + .byte Gs1 + .byte W04 +mus_deepdeep_3_002: + .byte N04 , Gn1 , v127 + .byte W08 + .byte Fs1 + .byte W04 + .byte N08 , Gn1 + .byte W08 + .byte N04 , Bn1 + .byte W04 + .byte N08 , Bn1 , v036 + .byte W08 + .byte N04 , Dn2 , v127 + .byte W04 + .byte N08 , Dn2 , v036 + .byte W08 + .byte N04 , Fs2 , v127 + .byte W04 + .byte N08 , Fs2 , v036 + .byte W08 + .byte N04 , Fs2 , v127 + .byte W04 + .byte N08 , Gn1 + .byte W12 + .byte N04 , Fs2 + .byte W08 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte En2 + .byte W04 + .byte Dn2 + .byte W04 + .byte PEND +mus_deepdeep_3_003: + .byte N12 , Gn1 , v127 + .byte W12 + .byte N08 , Gn1 , v036 + .byte W08 + .byte N04 , Gn1 , v127 + .byte W04 + .byte N08 , Gn1 , v036 + .byte W68 + .byte N04 , Gn2 , v127 + .byte W04 + .byte PEND +mus_deepdeep_3_004: + .byte N12 , Fn1 , v127 + .byte W12 + .byte N08 , Fn1 , v036 + .byte W08 + .byte N04 , Fn1 , v127 + .byte W04 + .byte N08 , Fn1 , v036 + .byte W68 + .byte N04 , Gn2 , v127 + .byte W04 + .byte PEND + .byte N12 , Gn1 + .byte W12 + .byte N08 , Gn1 , v036 + .byte W08 + .byte N04 , Gn1 , v124 + .byte W04 + .byte N08 , Gn1 , v036 + .byte W68 + .byte N04 , Gn2 , v127 + .byte W04 +mus_deepdeep_3_005: + .byte N12 , Fn1 , v127 + .byte W12 + .byte N08 , Fn1 , v036 + .byte W08 + .byte N04 , Fn1 , v127 + .byte W04 + .byte N08 , Fn1 , v036 + .byte W72 + .byte PEND + .byte PATT + .word mus_deepdeep_3_000 + .byte PATT + .word mus_deepdeep_3_001 + .byte N04 , Fn1 , v127 + .byte W08 + .byte En1 + .byte W04 + .byte N08 , Fn1 + .byte W08 + .byte N04 , Gs1 + .byte W04 + .byte N08 , Gs1 , v036 + .byte W08 + .byte N04 , Cn2 , v127 + .byte W04 + .byte N08 , Cn2 , v036 + .byte W08 + .byte N04 , Dn2 , v127 + .byte W04 + .byte Ds2 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Dn2 + .byte W04 + .byte Ds2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Cn2 + .byte W08 + .byte Gs1 + .byte W04 + .byte PATT + .word mus_deepdeep_3_002 + .byte PATT + .word mus_deepdeep_3_000 + .byte N04 , Dn1 , v127 + .byte W08 + .byte Cs1 + .byte W04 + .byte N08 , Dn1 + .byte W08 + .byte N04 , Fs1 + .byte W04 + .byte N08 + .byte W08 + .byte N04 , An1 + .byte W04 + .byte N08 , An1 , v036 + .byte W08 + .byte N04 , Cs2 , v127 + .byte W06 + .byte N08 , Cs2 , v036 + .byte W18 + .byte N04 , Cs2 , v127 + .byte W04 + .byte N08 , Cs2 , v036 + .byte W08 + .byte N04 , Cs2 , v127 + .byte W04 + .byte N12 , Dn1 + .byte W12 + .byte N04 , Fn1 + .byte W08 + .byte En1 + .byte W04 + .byte N08 , Fn1 + .byte W08 + .byte N04 , Gs1 + .byte W04 + .byte N08 + .byte W08 + .byte N04 , Cn2 + .byte W04 + .byte N08 , Cn2 , v036 + .byte W08 + .byte N04 , Dn2 , v127 + .byte W04 + .byte Ds2 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Dn2 + .byte W04 + .byte Ds2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Cn2 + .byte W08 + .byte Gs1 + .byte W04 + .byte Gn1 + .byte W08 + .byte Fs1 + .byte W04 + .byte N08 , Gn1 + .byte W08 + .byte N04 , Bn1 + .byte W04 + .byte N08 + .byte W08 + .byte N04 , Dn2 + .byte W04 + .byte N08 , Dn2 , v036 + .byte W08 + .byte N04 , Fs2 , v127 + .byte W04 + .byte N08 , Fs2 , v036 + .byte W08 + .byte N04 , Fs2 , v127 + .byte W04 + .byte N08 , Gn1 + .byte W12 + .byte N04 , Fs2 + .byte W08 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte En2 + .byte W04 + .byte Dn2 + .byte W04 + .byte N12 , Gn1 , v124 + .byte W12 + .byte N08 , Gn1 , v036 + .byte W08 + .byte N04 , Gn1 , v127 + .byte W04 + .byte N08 , Gn1 , v036 + .byte W68 + .byte N04 , Gn2 , v127 + .byte W04 + .byte PATT + .word mus_deepdeep_3_004 + .byte PATT + .word mus_deepdeep_3_003 + .byte PATT + .word mus_deepdeep_3_005 + .byte W96 + .byte W96 + .byte GOTO + .word mus_deepdeep_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_deepdeep_4: + .byte KEYSH , mus_deepdeep_key+0 + .byte VOICE , 126 + .byte VOL , 31*mus_deepdeep_mvl/mxv + .byte PAN , c_v-64 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 126 + .byte W12 + .byte N08 , Gn4 , v064 + .byte W24 + .byte Gn4 , v092 + .byte W24 + .byte Gn4 , v127 + .byte W36 +mus_deepdeep_4_B1: +mus_deepdeep_4_000: + .byte W24 + .byte N10 , Gn4 , v112 + .byte W36 + .byte N10 + .byte W36 + .byte PEND +mus_deepdeep_4_001: + .byte W24 + .byte N10 , Gn4 , v112 + .byte W36 + .byte N10 + .byte W24 + .byte N10 + .byte W12 + .byte PEND + .byte PATT + .word mus_deepdeep_4_000 + .byte PATT + .word mus_deepdeep_4_001 + .byte PATT + .word mus_deepdeep_4_000 + .byte PATT + .word mus_deepdeep_4_001 + .byte PATT + .word mus_deepdeep_4_000 + .byte PATT + .word mus_deepdeep_4_001 + .byte PATT + .word mus_deepdeep_4_000 + .byte PATT + .word mus_deepdeep_4_001 + .byte PATT + .word mus_deepdeep_4_000 + .byte PATT + .word mus_deepdeep_4_001 + .byte PATT + .word mus_deepdeep_4_000 + .byte PATT + .word mus_deepdeep_4_001 + .byte PATT + .word mus_deepdeep_4_000 + .byte PATT + .word mus_deepdeep_4_001 + .byte PATT + .word mus_deepdeep_4_000 + .byte PATT + .word mus_deepdeep_4_001 + .byte PATT + .word mus_deepdeep_4_000 + .byte PATT + .word mus_deepdeep_4_001 + .byte PATT + .word mus_deepdeep_4_000 + .byte PATT + .word mus_deepdeep_4_001 + .byte GOTO + .word mus_deepdeep_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_deepdeep_5: + .byte KEYSH , mus_deepdeep_key+0 + .byte VOICE , 9 + .byte PAN , c_v-32 + .byte VOL , 15*mus_deepdeep_mvl/mxv + .byte N04 , Gn4 , v080 + .byte W08 + .byte Gn4 , v052 + .byte W04 + .byte N12 , Gn5 , v084 + .byte W12 + .byte PAN , c_v+32 + .byte VOL , 26*mus_deepdeep_mvl/mxv + .byte N04 , Gn4 , v080 + .byte W04 + .byte Gn4 , v044 + .byte W04 + .byte Gn4 , v060 + .byte W04 + .byte N12 , Gn5 , v084 + .byte W12 + .byte PAN , c_v-32 + .byte VOL , 35*mus_deepdeep_mvl/mxv + .byte N04 , Gn4 , v080 + .byte W08 + .byte Gn4 , v052 + .byte W04 + .byte N12 , Gn5 , v084 + .byte W12 + .byte PAN , c_v+32 + .byte VOL , 47*mus_deepdeep_mvl/mxv + .byte N04 , Gn4 , v080 + .byte W08 + .byte Gn4 , v052 + .byte W04 + .byte N08 , Gn5 , v084 + .byte W08 + .byte N04 , Gn5 , v052 + .byte W04 + .byte VOL , 53*mus_deepdeep_mvl/mxv + .byte PAN , c_v-32 + .byte N04 , Gn4 , v080 + .byte W04 + .byte Gn4 , v048 + .byte W04 + .byte Gn4 , v072 + .byte W04 + .byte N08 , Gn5 , v084 + .byte W08 + .byte N04 , Gn5 , v064 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Gn4 , v080 + .byte W08 + .byte Gn4 , v052 + .byte W04 + .byte N12 , Gn5 , v084 + .byte W12 + .byte PAN , c_v-32 + .byte N04 , Gn4 , v080 + .byte W08 + .byte Gn4 , v052 + .byte W04 + .byte N08 , Gn5 , v084 + .byte W08 + .byte N04 , Gn5 , v056 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Gn4 , v080 + .byte W08 + .byte Gn4 , v052 + .byte W04 + .byte N12 , Gn5 , v084 + .byte W12 +mus_deepdeep_5_000: + .byte PAN , c_v-32 + .byte N04 , Gn4 , v080 + .byte W08 + .byte Gn4 , v052 + .byte W04 + .byte N12 , Gn5 , v084 + .byte W12 + .byte PAN , c_v+32 + .byte N04 , Gn4 , v080 + .byte W04 + .byte Gn4 , v044 + .byte W04 + .byte Gn4 , v060 + .byte W04 + .byte N12 , Gn5 , v084 + .byte W12 + .byte PAN , c_v-32 + .byte N04 , Gn4 , v080 + .byte W08 + .byte Gn4 , v052 + .byte W04 + .byte N12 , Gn5 , v084 + .byte W12 + .byte PAN , c_v+32 + .byte N04 , Gn4 , v080 + .byte W08 + .byte Gn4 , v052 + .byte W04 + .byte N08 , Gn5 , v084 + .byte W08 + .byte N04 , Gn5 , v052 + .byte W04 + .byte PEND +mus_deepdeep_5_001: + .byte PAN , c_v-32 + .byte N04 , Gn4 , v080 + .byte W04 + .byte Gn4 , v048 + .byte W04 + .byte Gn4 , v072 + .byte W04 + .byte N08 , Gn5 , v084 + .byte W08 + .byte N04 , Gn5 , v064 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Gn4 , v080 + .byte W08 + .byte Gn4 , v052 + .byte W04 + .byte N12 , Gn5 , v084 + .byte W12 + .byte PAN , c_v-32 + .byte N04 , Gn4 , v080 + .byte W08 + .byte Gn4 , v052 + .byte W04 + .byte N08 , Gn5 , v084 + .byte W08 + .byte N04 , Gn5 , v056 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Gn4 , v080 + .byte W08 + .byte Gn4 , v052 + .byte W04 + .byte N12 , Gn5 , v084 + .byte W12 + .byte PEND + .byte PATT + .word mus_deepdeep_5_000 + .byte PATT + .word mus_deepdeep_5_001 + .byte PATT + .word mus_deepdeep_5_000 + .byte PATT + .word mus_deepdeep_5_001 + .byte PATT + .word mus_deepdeep_5_000 +mus_deepdeep_5_B1: + .byte PATT + .word mus_deepdeep_5_001 + .byte PATT + .word mus_deepdeep_5_000 + .byte PATT + .word mus_deepdeep_5_001 + .byte PATT + .word mus_deepdeep_5_000 + .byte PATT + .word mus_deepdeep_5_001 + .byte PATT + .word mus_deepdeep_5_000 + .byte PATT + .word mus_deepdeep_5_001 + .byte PATT + .word mus_deepdeep_5_000 + .byte PATT + .word mus_deepdeep_5_001 + .byte PATT + .word mus_deepdeep_5_000 + .byte PATT + .word mus_deepdeep_5_001 + .byte PATT + .word mus_deepdeep_5_000 + .byte PATT + .word mus_deepdeep_5_001 + .byte PATT + .word mus_deepdeep_5_000 + .byte PATT + .word mus_deepdeep_5_001 + .byte PAN , c_v-32 + .byte N04 , Gn4 , v080 + .byte W04 + .byte Gn4 , v068 + .byte W04 + .byte Gn4 , v064 + .byte W04 + .byte N08 , Gn5 + .byte W08 + .byte N04 , Gn5 , v060 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Gn4 , v052 + .byte W08 + .byte Gn4 , v048 + .byte W04 + .byte N12 , Gn5 + .byte W12 + .byte PAN , c_v-32 + .byte N04 , Gn4 , v036 + .byte W08 + .byte Gn4 , v032 + .byte W04 + .byte N08 , Gn5 , v024 + .byte W08 + .byte N04 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Gn4 + .byte W08 + .byte N04 + .byte W04 + .byte N12 , Gn5 , v020 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v-32 + .byte VOL , 65*mus_deepdeep_mvl/mxv + .byte W12 + .byte N04 , Gn4 , v112 + .byte W04 + .byte Dn4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Gn4 , v080 + .byte W04 + .byte Dn4 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , Gn4 , v052 + .byte W04 + .byte Dn4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Gn4 , v036 + .byte W04 + .byte Dn4 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , Gn4 , v028 + .byte W04 + .byte Dn4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Gn4 , v024 + .byte W04 + .byte Dn4 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , Gn4 , v020 + .byte W04 + .byte Dn4 + .byte W32 + .byte W24 + .byte PAN , c_v+32 + .byte N04 , Fn4 , v112 + .byte W04 + .byte Cn4 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , Fn4 , v080 + .byte W04 + .byte Cn4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Fn4 , v052 + .byte W04 + .byte Cn4 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , Fn4 , v036 + .byte W04 + .byte Cn4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Fn4 , v028 + .byte W04 + .byte Cn4 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , Fn4 , v024 + .byte W04 + .byte Cn4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Fn4 , v020 + .byte W04 + .byte Cn4 + .byte W20 + .byte VOL , 53*mus_deepdeep_mvl/mxv + .byte W12 + .byte PAN , c_v-32 + .byte N04 , Bn4 , v112 + .byte W04 + .byte Dn4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Bn4 , v080 + .byte W04 + .byte Dn4 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , Bn4 , v052 + .byte W04 + .byte Dn4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Bn4 , v036 + .byte W04 + .byte Dn4 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , Bn4 , v028 + .byte W04 + .byte VOICE , 9 + .byte PAN , c_v-32 + .byte N04 , Gn4 , v016 + .byte W08 + .byte Gn4 , v036 + .byte W04 + .byte N08 , Gn5 , v040 + .byte W08 + .byte N04 , Gn5 , v048 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Gn4 , v096 + .byte W08 + .byte Gn4 , v076 + .byte W04 + .byte N12 , Gn5 , v092 + .byte W12 + .byte PATT + .word mus_deepdeep_5_000 + .byte PATT + .word mus_deepdeep_5_001 + .byte PATT + .word mus_deepdeep_5_000 + .byte GOTO + .word mus_deepdeep_5_B1 + .byte PAN , c_v-32 + .byte FINE + +@********************** Track 6 **********************@ + +mus_deepdeep_6: + .byte KEYSH , mus_deepdeep_key+0 + .byte VOICE , 92 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 35*mus_deepdeep_mvl/mxv + .byte XCMD , xIECV , 18 + .byte xIECV , 12 + .byte BENDR , 12 + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte VOL , 39*mus_deepdeep_mvl/mxv + .byte W12 + .byte N04 , An3 , v048 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cn4 + .byte W04 + .byte N72 , Dn4 , v112 + .byte W24 + .byte MOD , 3 + .byte VOL , 38*mus_deepdeep_mvl/mxv + .byte W04 + .byte 35*mus_deepdeep_mvl/mxv + .byte W04 + .byte 31*mus_deepdeep_mvl/mxv + .byte W04 + .byte 28*mus_deepdeep_mvl/mxv + .byte W04 + .byte 25*mus_deepdeep_mvl/mxv + .byte W04 + .byte 21*mus_deepdeep_mvl/mxv + .byte W04 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte VOL , 39*mus_deepdeep_mvl/mxv + .byte N04 , Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte Ds4 + .byte W04 + .byte N92 , Dn4 + .byte W12 + .byte MOD , 2 + .byte W24 + .byte VOL , 37*mus_deepdeep_mvl/mxv + .byte W04 + .byte 35*mus_deepdeep_mvl/mxv + .byte W04 + .byte 32*mus_deepdeep_mvl/mxv + .byte W04 + .byte 29*mus_deepdeep_mvl/mxv + .byte W04 + .byte 26*mus_deepdeep_mvl/mxv + .byte W04 + .byte 23*mus_deepdeep_mvl/mxv + .byte W04 + .byte MOD , 7 + .byte VOL , 21*mus_deepdeep_mvl/mxv + .byte W04 + .byte 19*mus_deepdeep_mvl/mxv + .byte W20 + .byte MOD , 0 + .byte W08 + .byte VOL , 38*mus_deepdeep_mvl/mxv + .byte N06 , Fs4 + .byte W12 + .byte N04 , Cs4 + .byte W04 + .byte N92 , Dn4 + .byte W24 + .byte MOD , 2 + .byte VOL , 37*mus_deepdeep_mvl/mxv + .byte W04 + .byte 34*mus_deepdeep_mvl/mxv + .byte W04 + .byte 32*mus_deepdeep_mvl/mxv + .byte W04 + .byte 30*mus_deepdeep_mvl/mxv + .byte W04 + .byte 28*mus_deepdeep_mvl/mxv + .byte W04 + .byte 26*mus_deepdeep_mvl/mxv + .byte W04 + .byte 23*mus_deepdeep_mvl/mxv + .byte W04 + .byte 22*mus_deepdeep_mvl/mxv + .byte W04 + .byte 20*mus_deepdeep_mvl/mxv + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte VOL , 39*mus_deepdeep_mvl/mxv + .byte N02 , Cs4 + .byte W02 + .byte Dn4 + .byte W02 + .byte N44 , Ds4 + .byte W20 + .byte MOD , 7 + .byte W04 + .byte VOL , 34*mus_deepdeep_mvl/mxv + .byte W04 + .byte 29*mus_deepdeep_mvl/mxv + .byte W04 + .byte 24*mus_deepdeep_mvl/mxv + .byte W04 + .byte 20*mus_deepdeep_mvl/mxv + .byte W08 + .byte MOD , 0 + .byte VOL , 14*mus_deepdeep_mvl/mxv + .byte W02 + .byte 39*mus_deepdeep_mvl/mxv + .byte N02 , En4 + .byte W02 + .byte VOL , 39*mus_deepdeep_mvl/mxv + .byte N24 , Fn4 + .byte W24 + .byte N08 , Ds4 + .byte W08 + .byte N02 , Dn4 , v064 + .byte W02 + .byte Cn4 + .byte W02 + .byte Bn3 + .byte W02 + .byte An3 + .byte W02 + .byte Gn3 + .byte W02 + .byte Fn3 + .byte W02 + .byte En3 + .byte W02 + .byte Dn3 + .byte W02 +mus_deepdeep_6_B1: + .byte VOL , 27*mus_deepdeep_mvl/mxv + .byte BEND , c_v+2 + .byte N04 , Ds1 , v127 + .byte W08 + .byte Dn1 + .byte W04 + .byte N08 , Ds1 + .byte W08 + .byte N04 , Gn1 + .byte W04 + .byte N08 , Gn1 , v036 + .byte W08 + .byte N04 , As1 , v127 + .byte W04 + .byte N08 , As1 , v036 + .byte W08 + .byte N04 , Dn2 , v127 + .byte W04 + .byte N08 , Dn2 , v036 + .byte W32 + .byte N04 , Dn2 , v127 + .byte W04 + .byte N12 , Ds1 + .byte W12 + .byte N04 , Dn1 + .byte W08 + .byte Cs1 + .byte W04 + .byte N08 , Dn1 + .byte W08 + .byte N04 , Fs1 + .byte W04 + .byte N08 , Fs1 , v036 + .byte W08 + .byte N04 , An1 , v127 + .byte W04 + .byte N08 , An1 , v036 + .byte W08 + .byte N04 , Cs2 , v127 + .byte W04 + .byte N08 , Cs2 , v036 + .byte W20 + .byte N04 , Cs2 , v127 + .byte W04 + .byte N08 , Cs2 , v036 + .byte W08 + .byte N04 , Cs2 , v127 + .byte W04 + .byte N12 , Dn1 + .byte W12 + .byte N04 , Fn1 + .byte W08 + .byte En1 + .byte W04 + .byte N08 , Fn1 + .byte W08 + .byte N04 , Gs1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Dn2 + .byte W04 + .byte Ds2 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Dn2 + .byte W04 + .byte Ds2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Cn2 + .byte W08 + .byte Gs1 + .byte W04 + .byte Gn1 + .byte W08 + .byte Fs1 + .byte W04 + .byte N08 , Gn1 + .byte W08 + .byte N04 , Bn1 + .byte W04 + .byte N08 , Bn1 , v036 + .byte W08 + .byte N04 , Dn2 , v127 + .byte W04 + .byte N08 , Dn2 , v036 + .byte W08 + .byte N04 , Fs2 , v127 + .byte W04 + .byte N08 , Fs2 , v036 + .byte W08 + .byte N04 , Fs2 , v127 + .byte W04 + .byte N08 , Gn1 + .byte W12 + .byte VOL , 39*mus_deepdeep_mvl/mxv + .byte BEND , c_v+0 + .byte N04 , Dn4 , v112 + .byte W04 + .byte Cn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte An3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cn4 + .byte W04 + .byte N72 , Dn4 + .byte W24 + .byte MOD , 3 + .byte VOL , 35*mus_deepdeep_mvl/mxv + .byte W04 + .byte 31*mus_deepdeep_mvl/mxv + .byte W04 + .byte 28*mus_deepdeep_mvl/mxv + .byte W04 + .byte 25*mus_deepdeep_mvl/mxv + .byte W04 + .byte 23*mus_deepdeep_mvl/mxv + .byte W04 + .byte 21*mus_deepdeep_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte VOL , 39*mus_deepdeep_mvl/mxv + .byte N04 , Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte Ds4 + .byte W04 + .byte N84 , Dn4 + .byte W12 + .byte MOD , 2 + .byte W24 + .byte 3 + .byte VOL , 38*mus_deepdeep_mvl/mxv + .byte W04 + .byte 35*mus_deepdeep_mvl/mxv + .byte W04 + .byte 33*mus_deepdeep_mvl/mxv + .byte W04 + .byte 32*mus_deepdeep_mvl/mxv + .byte W04 + .byte 29*mus_deepdeep_mvl/mxv + .byte W04 + .byte 28*mus_deepdeep_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte VOL , 25*mus_deepdeep_mvl/mxv + .byte W04 + .byte 23*mus_deepdeep_mvl/mxv + .byte W04 + .byte 21*mus_deepdeep_mvl/mxv + .byte W16 + .byte MOD , 0 + .byte W08 + .byte VOL , 38*mus_deepdeep_mvl/mxv + .byte N06 , Fs4 + .byte W12 + .byte N04 , Cs4 + .byte W04 +mus_deepdeep_6_000: + .byte TIE , Dn4 , v112 + .byte W48 + .byte MOD , 2 + .byte W48 + .byte PEND + .byte W24 + .byte 4 + .byte VOL , 38*mus_deepdeep_mvl/mxv + .byte W04 + .byte 35*mus_deepdeep_mvl/mxv + .byte W04 + .byte 32*mus_deepdeep_mvl/mxv + .byte W04 + .byte 29*mus_deepdeep_mvl/mxv + .byte W04 + .byte 26*mus_deepdeep_mvl/mxv + .byte W04 + .byte 23*mus_deepdeep_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte VOL , 21*mus_deepdeep_mvl/mxv + .byte W24 + .byte EOT + .byte MOD , 0 + .byte VOL , 39*mus_deepdeep_mvl/mxv + .byte N02 , Cn4 , v064 + .byte W02 + .byte Bn3 + .byte W02 + .byte An3 + .byte W02 + .byte Gn3 + .byte W02 + .byte Fs3 + .byte W02 + .byte En3 + .byte W02 + .byte Dn3 + .byte W02 + .byte Cn3 + .byte W02 + .byte Bn2 + .byte W04 + .byte An2 + .byte W02 + .byte Gs2 + .byte W02 + .byte VOL , 39*mus_deepdeep_mvl/mxv + .byte N16 , Gn2 , v112 + .byte W16 + .byte N14 , Gs2 + .byte W14 + .byte N02 , An2 , v100 + .byte W02 + .byte N24 , As2 , v112 + .byte W24 + .byte W02 + .byte N02 , Bn2 + .byte W02 + .byte N12 , As2 + .byte W12 + .byte Gs2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N42 , Fs2 + .byte W24 + .byte MOD , 5 + .byte W18 + .byte N02 , Bn2 , v080 + .byte W02 + .byte Cn3 + .byte W02 + .byte Cs3 + .byte W02 + .byte MOD , 0 + .byte N24 , Dn3 , v112 + .byte W24 + .byte N08 , Cs3 + .byte W08 + .byte N02 , Cn3 , v080 + .byte W02 + .byte Bn2 + .byte W02 + .byte As2 + .byte W02 + .byte An2 + .byte W02 + .byte Gs2 + .byte W02 + .byte Gn2 + .byte W02 + .byte Fs2 + .byte W02 + .byte Fn2 + .byte W02 + .byte Bn2 , v112 + .byte W02 + .byte N10 , As2 + .byte W10 + .byte N12 , Cn3 + .byte W12 + .byte N22 , Ds3 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cs3 + .byte W04 + .byte N12 , Cn3 + .byte W12 + .byte N48 , Bn2 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N24 , Dn3 + .byte W24 + .byte N08 , Fs3 + .byte W08 + .byte N02 , Fn3 , v080 + .byte W02 + .byte En3 + .byte W02 + .byte Ds3 + .byte W02 + .byte Dn3 + .byte W02 + .byte Cs3 + .byte W02 + .byte Cn3 + .byte W02 + .byte Bn2 + .byte W02 + .byte As2 + .byte W02 + .byte N16 , Gn3 , v112 + .byte W16 + .byte Gs3 + .byte W16 + .byte N24 , As3 + .byte W28 + .byte N12 + .byte W12 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N42 , Fs3 + .byte W24 + .byte MOD , 5 + .byte W18 + .byte N02 , Bn3 , v080 + .byte W02 + .byte Cn4 + .byte W02 + .byte Cs4 + .byte W02 + .byte MOD , 0 + .byte N24 , Dn4 , v112 + .byte W24 + .byte N08 , Cs4 + .byte W08 + .byte N02 , Cn4 , v080 + .byte W02 + .byte Bn3 + .byte W02 + .byte As3 + .byte W02 + .byte An3 + .byte W02 + .byte Gs3 + .byte W02 + .byte Gn3 + .byte W02 + .byte Fs3 + .byte W02 + .byte Fn3 + .byte W02 + .byte MOD , 0 + .byte N12 , As3 , v112 + .byte W12 + .byte Cn4 + .byte W12 + .byte N22 , Ds4 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gs4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Cs4 + .byte W04 + .byte N12 , Cn4 + .byte W12 + .byte N48 , Bn3 + .byte W24 + .byte VOL , 37*mus_deepdeep_mvl/mxv + .byte MOD , 5 + .byte W04 + .byte VOL , 33*mus_deepdeep_mvl/mxv + .byte W04 + .byte 30*mus_deepdeep_mvl/mxv + .byte W04 + .byte 25*mus_deepdeep_mvl/mxv + .byte W04 + .byte 23*mus_deepdeep_mvl/mxv + .byte W08 + .byte 39*mus_deepdeep_mvl/mxv + .byte MOD , 0 + .byte N24 , Dn4 + .byte W24 + .byte N04 , Gn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte Dn4 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte N72 , Dn4 + .byte W24 + .byte MOD , 3 + .byte VOL , 38*mus_deepdeep_mvl/mxv + .byte W04 + .byte 34*mus_deepdeep_mvl/mxv + .byte W04 + .byte 31*mus_deepdeep_mvl/mxv + .byte W04 + .byte 29*mus_deepdeep_mvl/mxv + .byte W04 + .byte 26*mus_deepdeep_mvl/mxv + .byte W04 + .byte 24*mus_deepdeep_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte VOL , 38*mus_deepdeep_mvl/mxv + .byte N04 , Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte Ds4 + .byte W04 + .byte N84 , Dn4 + .byte W12 + .byte MOD , 2 + .byte W24 + .byte 3 + .byte VOL , 37*mus_deepdeep_mvl/mxv + .byte W04 + .byte 34*mus_deepdeep_mvl/mxv + .byte W04 + .byte 32*mus_deepdeep_mvl/mxv + .byte W04 + .byte 29*mus_deepdeep_mvl/mxv + .byte W04 + .byte 27*mus_deepdeep_mvl/mxv + .byte W04 + .byte 25*mus_deepdeep_mvl/mxv + .byte W04 + .byte MOD , 8 + .byte VOL , 24*mus_deepdeep_mvl/mxv + .byte W04 + .byte 22*mus_deepdeep_mvl/mxv + .byte W20 + .byte MOD , 0 + .byte W08 + .byte VOL , 38*mus_deepdeep_mvl/mxv + .byte N06 , Fs4 + .byte W12 + .byte N04 , Cs4 + .byte W04 + .byte PATT + .word mus_deepdeep_6_000 + .byte W24 + .byte MOD , 6 + .byte VOL , 35*mus_deepdeep_mvl/mxv + .byte W04 + .byte 32*mus_deepdeep_mvl/mxv + .byte W04 + .byte 29*mus_deepdeep_mvl/mxv + .byte W04 + .byte 27*mus_deepdeep_mvl/mxv + .byte W04 + .byte 25*mus_deepdeep_mvl/mxv + .byte W04 + .byte 23*mus_deepdeep_mvl/mxv + .byte W04 + .byte MOD , 8 + .byte VOL , 21*mus_deepdeep_mvl/mxv + .byte W24 + .byte EOT , Dn4 + .byte MOD , 0 + .byte VOL , 38*mus_deepdeep_mvl/mxv + .byte N02 , Cn4 , v064 + .byte W02 + .byte Bn3 + .byte W02 + .byte An3 + .byte W02 + .byte Gn3 + .byte W02 + .byte Fs3 + .byte W02 + .byte En3 + .byte W02 + .byte Dn3 + .byte W02 + .byte Cn3 + .byte W02 + .byte Bn2 + .byte W04 + .byte An2 + .byte W02 + .byte Gs2 + .byte W02 + .byte VOL , 47*mus_deepdeep_mvl/mxv + .byte W96 + .byte W96 + .byte GOTO + .word mus_deepdeep_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_deepdeep_7: + .byte KEYSH , mus_deepdeep_key+0 + .byte VOICE , 80 + .byte PAN , c_v+0 + .byte VOL , 37*mus_deepdeep_mvl/mxv + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte LFOS , 44 + .byte BENDR , 12 + .byte BEND , c_v+2 + .byte W96 + .byte c_v+2 + .byte N04 , Gn1 , v112 + .byte W08 + .byte Bn1 + .byte W04 + .byte Dn2 + .byte W08 + .byte Fs2 + .byte W04 + .byte Gn2 + .byte W04 + .byte An2 + .byte W04 + .byte Bn2 + .byte W04 + .byte Dn3 + .byte W08 + .byte Fs3 + .byte W04 + .byte Gn3 + .byte W08 + .byte Bn3 + .byte W04 + .byte Dn4 + .byte W08 + .byte Fs4 + .byte W04 + .byte An4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte An3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fn1 + .byte W08 + .byte An1 + .byte W04 + .byte Cn2 + .byte W08 + .byte En2 + .byte W04 + .byte Fn2 + .byte W04 + .byte Gn2 + .byte W04 + .byte An2 + .byte W04 + .byte Cn3 + .byte W08 + .byte En3 + .byte W04 + .byte Fn3 + .byte W08 + .byte An3 + .byte W04 + .byte Cn4 + .byte W08 + .byte En4 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Gn3 + .byte W04 + .byte En3 + .byte W04 + .byte Cn3 + .byte W04 + .byte Gn1 + .byte W08 + .byte Bn1 + .byte W04 + .byte Dn2 + .byte W08 + .byte Fs2 + .byte W04 + .byte Gn2 + .byte W04 + .byte An2 + .byte W04 + .byte Bn2 + .byte W04 + .byte Dn3 + .byte W08 + .byte Fs3 + .byte W04 + .byte Gn3 + .byte W08 + .byte Bn3 + .byte W04 + .byte Dn4 + .byte W08 + .byte Fs4 + .byte W04 + .byte An4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte An3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Gs1 + .byte W08 + .byte Cn2 + .byte W04 + .byte Ds2 + .byte W08 + .byte Gn2 + .byte W04 + .byte Gs2 + .byte W04 + .byte As2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Ds3 + .byte W08 + .byte Gn3 + .byte W04 + .byte Gs3 + .byte W08 + .byte Cn4 + .byte W04 + .byte Ds4 + .byte W08 + .byte Gn4 + .byte W04 + .byte As4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gn4 + .byte W04 + .byte An4 + .byte W04 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_deepdeep_7_B1: + .byte BEND , c_v+2 + .byte N04 , Ds1 , v112 + .byte W04 + .byte Gn1 + .byte W04 + .byte As1 + .byte W04 + .byte Dn2 + .byte W04 + .byte Ds2 + .byte W04 + .byte Gn2 + .byte W04 + .byte As2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte As4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Cn4 + .byte W04 + .byte As3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Dn1 + .byte W08 + .byte Fs1 + .byte W04 + .byte An1 + .byte W08 + .byte Cs2 + .byte W04 + .byte Dn2 + .byte W04 + .byte En2 + .byte W04 + .byte Fs2 + .byte W04 + .byte An2 + .byte W08 + .byte Cs3 + .byte W04 + .byte Dn3 + .byte W08 + .byte Fs3 + .byte W04 + .byte An3 + .byte W08 + .byte Cs4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte An3 + .byte W04 + .byte Cs4 + .byte W04 + .byte An3 + .byte W04 + .byte En4 + .byte W04 + .byte Gs1 + .byte W04 + .byte Cn2 + .byte W04 + .byte Ds2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Gs2 + .byte W04 + .byte As2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Gn4 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fn4 + .byte W08 + .byte Ds4 + .byte W04 + .byte Dn4 + .byte W08 + .byte As3 + .byte W04 + .byte Gn1 + .byte W04 + .byte Bn1 + .byte W04 + .byte Dn2 + .byte W04 + .byte Fs2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Bn2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Dn4 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gn4 + .byte W04 + .byte An4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte En4 + .byte W28 + .byte N12 , Gn1 + .byte W12 + .byte N08 , Gn1 , v036 + .byte W08 + .byte N04 , Gn1 , v124 + .byte W04 + .byte N08 , Gn1 , v036 + .byte W68 + .byte N04 , Gn2 , v124 + .byte W04 +mus_deepdeep_7_000: + .byte N12 , Fn1 , v124 + .byte W12 + .byte N08 , Fn1 , v036 + .byte W08 + .byte N04 , Fn1 , v124 + .byte W04 + .byte N08 , Fn1 , v036 + .byte W68 + .byte N04 , Gn2 , v124 + .byte W04 + .byte PEND +mus_deepdeep_7_001: + .byte N12 , Gn1 , v124 + .byte W12 + .byte N08 , Gn1 , v036 + .byte W08 + .byte N04 , Gn1 , v124 + .byte W04 + .byte N08 , Gn1 , v036 + .byte W68 + .byte N04 , Gn2 , v124 + .byte W04 + .byte PEND +mus_deepdeep_7_002: + .byte N12 , Fn1 , v124 + .byte W12 + .byte N08 , Fn1 , v036 + .byte W08 + .byte N04 , Fn1 , v124 + .byte W04 + .byte N08 , Fn1 , v036 + .byte W72 + .byte PEND + .byte VOL , 35*mus_deepdeep_mvl/mxv + .byte N04 , Ds1 , v124 + .byte W08 + .byte Dn1 + .byte W04 + .byte N08 , Ds1 + .byte W08 + .byte N04 , Gn1 + .byte W04 + .byte N08 , Gn1 , v036 + .byte W08 + .byte N04 , As1 , v124 + .byte W04 + .byte N08 , As1 , v036 + .byte W08 + .byte N04 , Dn2 , v124 + .byte W04 + .byte N08 , Dn2 , v036 + .byte W32 + .byte N04 , Dn2 , v124 + .byte W04 + .byte N12 , Ds1 + .byte W12 + .byte N04 , Dn1 + .byte W08 + .byte Cs1 + .byte W04 + .byte N08 , Dn1 + .byte W08 + .byte N04 , Fs1 + .byte W04 + .byte N08 , Fs1 , v036 + .byte W08 + .byte N04 , An1 , v124 + .byte W04 + .byte N08 , An1 , v036 + .byte W08 + .byte N04 , Cs2 , v124 + .byte W04 + .byte N08 , Cs2 , v036 + .byte W20 + .byte N04 , Cs2 , v124 + .byte W04 + .byte N08 , Cs2 , v036 + .byte W08 + .byte N04 , Cs2 , v124 + .byte W04 + .byte N12 , Dn1 + .byte W12 + .byte N04 , Fn1 + .byte W08 + .byte En1 + .byte W04 + .byte N08 , Fn1 + .byte W08 + .byte N04 , Gs1 + .byte W04 + .byte N08 , Gs1 , v036 + .byte W08 + .byte N04 , Cn2 , v124 + .byte W04 + .byte N08 , Cn2 , v036 + .byte W08 + .byte N04 , Dn2 , v124 + .byte W04 + .byte BEND , c_v+0 + .byte N04 , Ds4 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte BEND , c_v+2 + .byte N04 , Dn2 , v124 + .byte W04 + .byte Ds2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Cn2 + .byte W08 + .byte Gs1 + .byte W04 +mus_deepdeep_7_003: + .byte N04 , Gn1 , v124 + .byte W08 + .byte Fs1 + .byte W04 + .byte N08 , Gn1 + .byte W08 + .byte N04 , Bn1 + .byte W04 + .byte N08 , Bn1 , v036 + .byte W08 + .byte N04 , Dn2 , v124 + .byte W04 + .byte N08 , Dn2 , v036 + .byte W08 + .byte N04 , Fs2 , v124 + .byte W04 + .byte N08 , Fs2 , v036 + .byte W08 + .byte N04 , Fs2 , v124 + .byte W04 + .byte N08 , Gn1 + .byte W12 + .byte N04 , Fs2 + .byte W08 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte En2 + .byte W04 + .byte Dn2 + .byte W04 + .byte PEND + .byte Ds1 + .byte W08 + .byte Dn1 + .byte W04 + .byte N08 , Ds1 + .byte W08 + .byte N04 , Gn1 + .byte W04 + .byte N08 , Gn1 , v036 + .byte W08 + .byte N04 , As1 , v124 + .byte W04 + .byte N08 , As1 , v036 + .byte W08 + .byte N04 , Dn2 , v124 + .byte W04 + .byte N08 , Dn2 , v036 + .byte W32 + .byte N04 , Dn2 , v124 + .byte W04 + .byte N12 , Ds1 + .byte W12 + .byte N04 , Dn1 + .byte W08 + .byte Cs1 + .byte W04 + .byte N08 , Dn1 + .byte W08 + .byte N04 , Fs1 + .byte W04 + .byte N08 , Fs1 , v036 + .byte W08 + .byte N04 , An1 , v124 + .byte W04 + .byte N08 , An1 , v036 + .byte W08 + .byte N04 , Cs2 , v124 + .byte W06 + .byte N08 , Cs2 , v036 + .byte W18 + .byte N04 , Cs2 , v124 + .byte W04 + .byte N08 , Cs2 , v036 + .byte W08 + .byte N04 , Cs2 , v124 + .byte W04 + .byte N12 , Dn1 + .byte W12 + .byte N04 , Fn1 + .byte W08 + .byte En1 + .byte W04 + .byte N08 , Fn1 + .byte W08 + .byte N04 , Gs1 + .byte W04 + .byte N08 , Gs1 , v036 + .byte W08 + .byte N04 , Cn2 , v124 + .byte W04 + .byte N08 , Cn2 , v036 + .byte W08 + .byte N04 , Dn2 , v124 + .byte W04 + .byte Ds2 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Dn2 + .byte W04 + .byte Ds2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Cn2 + .byte W08 + .byte Gs1 + .byte W04 + .byte PATT + .word mus_deepdeep_7_003 + .byte PATT + .word mus_deepdeep_7_001 + .byte PATT + .word mus_deepdeep_7_000 + .byte PATT + .word mus_deepdeep_7_001 + .byte PATT + .word mus_deepdeep_7_002 + .byte W96 + .byte W96 + .byte GOTO + .word mus_deepdeep_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_deepdeep_8: + .byte KEYSH , mus_deepdeep_key+0 + .byte VOICE , 92 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte LFOS , 44 + .byte PAN , c_v-63 + .byte BENDR , 12 + .byte VOL , 5*mus_deepdeep_mvl/mxv + .byte N04 , Gn6 , v080 + .byte W08 + .byte Gn6 , v052 + .byte W04 + .byte N12 , Gn7 , v084 + .byte W12 + .byte PAN , c_v+63 + .byte VOL , 8*mus_deepdeep_mvl/mxv + .byte N04 , Gn6 , v080 + .byte W04 + .byte Gn6 , v044 + .byte W04 + .byte Gn6 , v060 + .byte W04 + .byte N12 , Gn7 , v084 + .byte W12 + .byte PAN , c_v-63 + .byte VOL , 11*mus_deepdeep_mvl/mxv + .byte N04 , Gn6 , v080 + .byte W08 + .byte Gn6 , v052 + .byte W04 + .byte N12 , Gn7 , v084 + .byte W12 + .byte PAN , c_v+63 + .byte VOL , 15*mus_deepdeep_mvl/mxv + .byte N04 , Gn6 , v080 + .byte W08 + .byte Gn6 , v052 + .byte W04 + .byte N08 , Gn7 , v084 + .byte W08 + .byte N04 , Gn7 , v052 + .byte W04 + .byte PAN , c_v-63 + .byte VOL , 18*mus_deepdeep_mvl/mxv + .byte N04 , Gn6 , v080 + .byte W04 + .byte Gn6 , v048 + .byte W04 + .byte Gn6 , v072 + .byte W04 + .byte N08 , Gn7 , v084 + .byte W08 + .byte N04 , Gn7 , v064 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Gn6 , v080 + .byte W08 + .byte Gn6 , v052 + .byte W04 + .byte N12 , Gn7 , v084 + .byte W12 + .byte PAN , c_v-63 + .byte N04 , Gn6 , v080 + .byte W08 + .byte Gn6 , v052 + .byte W04 + .byte N08 , Gn7 , v084 + .byte W08 + .byte N04 , Gn7 , v056 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Gn6 , v080 + .byte W08 + .byte Gn6 , v052 + .byte W04 + .byte N12 , Gn7 , v084 + .byte W12 + .byte PAN , c_v-63 + .byte N04 , Gn6 , v080 + .byte W08 + .byte Gn6 , v052 + .byte W04 + .byte N12 , Gn7 , v084 + .byte W12 + .byte PAN , c_v+63 + .byte N04 , Gn6 , v080 + .byte W04 + .byte Gn6 , v044 + .byte W04 + .byte Gn6 , v060 + .byte W04 + .byte N12 , Gn7 , v084 + .byte W12 + .byte PAN , c_v-63 + .byte N04 , Gn6 , v080 + .byte W08 + .byte Gn6 , v052 + .byte W04 + .byte N12 , Gn7 , v084 + .byte W12 + .byte PAN , c_v+63 + .byte N04 , Gn6 , v080 + .byte W08 + .byte Gn6 , v052 + .byte W04 + .byte N08 , Gn7 , v084 + .byte W08 + .byte N04 , Gn7 , v052 + .byte W04 + .byte PAN , c_v-63 + .byte N04 , Gn6 , v080 + .byte W04 + .byte Gn6 , v048 + .byte W04 + .byte Gn6 , v072 + .byte W04 + .byte N08 , Gn7 , v084 + .byte W08 + .byte N04 , Gn7 , v064 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Gn6 , v080 + .byte W08 + .byte Gn6 , v052 + .byte W04 + .byte N12 , Gn7 , v084 + .byte W12 + .byte PAN , c_v-63 + .byte N04 , Gn6 , v080 + .byte W08 + .byte Gn6 , v052 + .byte W04 + .byte N08 , Gn7 , v084 + .byte W08 + .byte N04 , Gn7 , v056 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Gn6 , v080 + .byte W08 + .byte Gn6 , v052 + .byte W04 + .byte N12 , Gn7 , v084 + .byte W12 + .byte PAN , c_v-63 + .byte N04 , Gn6 , v080 + .byte W08 + .byte Gn6 , v052 + .byte W04 + .byte N12 , Gn7 , v084 + .byte W12 + .byte PAN , c_v+63 + .byte N04 , Gn6 , v080 + .byte W04 + .byte Gn6 , v044 + .byte W04 + .byte Gn6 , v060 + .byte W04 + .byte N12 , Gn7 , v084 + .byte W12 + .byte PAN , c_v-63 + .byte N04 , Gn6 , v080 + .byte W08 + .byte Gn6 , v052 + .byte W04 + .byte N12 , Gn7 , v084 + .byte W12 + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte VOL , 71*mus_deepdeep_mvl/mxv + .byte W12 + .byte N04 , Fs4 , v048 + .byte W04 + .byte Gn4 + .byte W04 + .byte An4 + .byte W04 + .byte MOD , 1 + .byte N72 , Bn4 + .byte W24 + .byte MOD , 3 + .byte W22 + .byte LFOS , 44 + .byte W02 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N04 , Dn5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Cn5 + .byte W04 + .byte N92 , Bn4 + .byte W08 + .byte LFOS , 36 + .byte W04 + .byte MOD , 1 + .byte W24 + .byte 3 + .byte W18 + .byte LFOS , 44 + .byte W06 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte W08 + .byte N06 , Cn5 + .byte W12 + .byte LFOS , 36 + .byte N04 , An4 + .byte W04 + .byte MOD , 1 + .byte N92 , Bn4 + .byte W44 + .byte MOD , 3 + .byte W20 + .byte LFOS , 44 + .byte W04 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N02 , As4 + .byte W02 + .byte Bn4 + .byte W02 + .byte LFOS , 36 + .byte MOD , 1 + .byte N44 , Cn5 + .byte W08 + .byte MOD , 3 + .byte W12 + .byte LFOS , 44 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte W02 + .byte N02 , Cs5 + .byte W02 + .byte N24 , Dn5 + .byte W14 + .byte MOD , 4 + .byte W10 + .byte 1 + .byte N08 , Cn5 + .byte W08 + .byte N02 , Bn4 , v032 + .byte W02 + .byte An4 + .byte W02 + .byte Gs4 + .byte W02 + .byte Fs4 + .byte W02 + .byte En4 + .byte W02 + .byte Dn4 + .byte W02 + .byte Cs4 + .byte W02 + .byte Bn3 + .byte W02 +mus_deepdeep_8_B1: + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W64 + .byte LFOS , 36 + .byte W08 + .byte N04 , Bn4 , v112 + .byte W04 + .byte An4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gn4 + .byte W04 + .byte An4 + .byte W04 + .byte N72 , Bn4 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 7 + .byte W24 + .byte 0 + .byte N04 , Dn5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Cn5 + .byte W04 + .byte N84 , Bn4 + .byte W12 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 7 + .byte W24 + .byte 0 + .byte N08 , Bn4 , v036 + .byte W08 + .byte N06 , Cn5 , v112 + .byte W12 + .byte N04 , An4 + .byte W04 + .byte TIE , Bn4 + .byte W24 + .byte MOD , 4 + .byte W72 + .byte W24 + .byte 8 + .byte W48 + .byte EOT + .byte MOD , 0 + .byte N02 , An4 , v064 + .byte W02 + .byte Gn4 + .byte W02 + .byte Fs4 + .byte W02 + .byte En4 + .byte W02 + .byte Dn4 + .byte W02 + .byte Cn4 + .byte W02 + .byte Bn3 + .byte W02 + .byte An3 + .byte W02 + .byte Gn3 + .byte W02 + .byte Fs3 + .byte W02 + .byte En3 + .byte W02 + .byte Ds3 + .byte W02 + .byte N16 , Dn3 , v112 + .byte W16 + .byte N14 , Ds3 + .byte W14 + .byte N02 , En3 , v096 + .byte W02 + .byte N24 , Fn3 , v112 + .byte W24 + .byte W02 + .byte N02 , Fs3 + .byte W02 + .byte N12 , Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N42 , Cs3 + .byte W24 + .byte MOD , 9 + .byte W18 + .byte N02 , Gs3 , v068 + .byte W02 + .byte An3 + .byte W02 + .byte As3 + .byte W02 + .byte MOD , 0 + .byte N24 , Bn3 , v112 + .byte W24 + .byte N08 , An3 + .byte W08 + .byte N02 , Gs3 , v064 + .byte W02 + .byte Gn3 + .byte W02 + .byte Fs3 + .byte W02 + .byte Fn3 + .byte W02 + .byte En3 + .byte W02 + .byte Ds3 + .byte W02 + .byte Dn3 + .byte W02 + .byte Cs3 + .byte W02 + .byte Gs3 , v104 + .byte W02 + .byte N10 , Gn3 , v112 + .byte W10 + .byte N12 , Gs3 + .byte W12 + .byte N22 , As3 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Cn4 + .byte W04 + .byte As3 + .byte W04 + .byte An3 + .byte W04 + .byte N12 , Gs3 + .byte W12 + .byte N48 , Fs3 + .byte W24 + .byte MOD , 9 + .byte W24 + .byte 0 + .byte N24 , An3 + .byte W24 + .byte N08 , Bn3 + .byte W08 + .byte N02 , As3 , v064 + .byte W02 + .byte An3 + .byte W02 + .byte Gs3 + .byte W02 + .byte Gn3 + .byte W02 + .byte Fs3 + .byte W02 + .byte Fn3 + .byte W02 + .byte En3 + .byte W02 + .byte Ds3 + .byte W02 + .byte N16 , Dn4 , v112 + .byte W16 + .byte Ds4 + .byte W16 + .byte N24 , Fn4 + .byte W28 + .byte N12 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N42 , Cs4 + .byte W24 + .byte MOD , 9 + .byte W18 + .byte N02 , Gs4 , v064 + .byte W02 + .byte An4 + .byte W02 + .byte As4 + .byte W02 + .byte MOD , 0 + .byte N24 , Bn4 , v112 + .byte W24 + .byte N08 , An4 + .byte W08 + .byte N02 , Gs4 , v064 + .byte W02 + .byte Gn4 + .byte W02 + .byte Fs4 + .byte W02 + .byte Fn4 + .byte W02 + .byte En4 + .byte W02 + .byte Ds4 + .byte W02 + .byte Dn4 + .byte W02 + .byte Cs4 + .byte W02 + .byte MOD , 0 + .byte N12 , Gn4 , v112 + .byte W12 + .byte Gs4 + .byte W12 + .byte N22 , As4 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Cn5 + .byte W04 + .byte As4 + .byte W04 + .byte An4 + .byte W04 + .byte N12 , Gs4 + .byte W12 + .byte N48 , Fs4 + .byte W24 + .byte MOD , 9 + .byte W24 + .byte 0 + .byte N24 , An4 + .byte W24 + .byte N04 , Bn4 + .byte W04 + .byte An4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gn4 + .byte W04 + .byte An4 + .byte W04 + .byte N72 , Bn4 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 9 + .byte W24 + .byte 0 + .byte N04 , Dn5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Cn5 + .byte W04 + .byte N84 , Bn4 + .byte W12 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 9 + .byte W24 + .byte 0 + .byte W08 + .byte N06 , Cn5 + .byte W12 + .byte N04 , An4 + .byte W04 + .byte TIE , Bn4 + .byte W48 + .byte MOD , 5 + .byte W48 + .byte W24 + .byte 8 + .byte W48 + .byte EOT + .byte MOD , 0 + .byte N02 , An4 , v072 + .byte W02 + .byte Gn4 , v068 + .byte W02 + .byte Fs4 , v064 + .byte W02 + .byte En4 , v060 + .byte W02 + .byte Dn4 , v056 + .byte W02 + .byte Cn4 , v052 + .byte W02 + .byte Bn3 , v048 + .byte W02 + .byte An3 , v044 + .byte W02 + .byte Gn3 , v040 + .byte W02 + .byte Fs3 , v036 + .byte W02 + .byte En3 , v032 + .byte W02 + .byte Ds3 , v024 + .byte W02 + .byte W96 + .byte W96 + .byte GOTO + .word mus_deepdeep_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_deepdeep_9: + .byte KEYSH , mus_deepdeep_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 94*mus_deepdeep_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N04 , Cn1 , v127 + .byte W44 + .byte Cn1 , v092 + .byte W04 + .byte Cn1 , v112 + .byte W48 + .byte Cn1 , v127 + .byte W44 + .byte Cn1 , v080 + .byte W04 + .byte Cn1 , v112 + .byte W48 + .byte Cn1 , v127 + .byte W24 + .byte Cn1 , v112 + .byte W24 + .byte N04 + .byte W24 + .byte N04 + .byte W20 + .byte Cn1 , v080 + .byte W04 + .byte Cn1 , v127 + .byte W20 + .byte Cn1 , v056 + .byte W04 + .byte Cn1 , v112 + .byte W20 + .byte Cn1 , v080 + .byte W04 + .byte Cn1 , v112 + .byte W08 + .byte En1 + .byte W04 + .byte En1 , v032 + .byte W04 + .byte En1 , v024 + .byte W04 + .byte Cn1 , v080 + .byte W04 + .byte En1 , v112 + .byte W04 + .byte Cn1 + .byte W04 + .byte Dn1 + .byte W04 + .byte N04 + .byte W04 + .byte Dn1 , v080 + .byte W04 + .byte En1 + .byte W04 +mus_deepdeep_9_B1: +mus_deepdeep_9_000: + .byte N04 , Cn1 , v127 + .byte W08 + .byte Cn1 , v096 + .byte W04 + .byte Cn1 , v112 + .byte W04 + .byte Cn1 , v068 + .byte W04 + .byte Cn1 , v096 + .byte W04 + .byte En1 , v112 + .byte W04 + .byte En1 , v032 + .byte W04 + .byte En1 , v024 + .byte W04 + .byte Cn1 , v124 + .byte W08 + .byte Cn1 , v096 + .byte W04 + .byte Cn1 , v112 + .byte W08 + .byte En1 + .byte W04 + .byte En1 , v032 + .byte W04 + .byte En1 , v024 + .byte W08 + .byte En1 , v112 + .byte W04 + .byte En1 , v032 + .byte W04 + .byte En1 , v080 + .byte W04 + .byte Cn1 , v112 + .byte W08 + .byte Cn1 , v096 + .byte W04 + .byte PEND +mus_deepdeep_9_001: + .byte N04 , Cn1 , v127 + .byte W08 + .byte Cn1 , v096 + .byte W04 + .byte Cn1 , v112 + .byte W04 + .byte Cn1 , v068 + .byte W04 + .byte Cn1 , v096 + .byte W04 + .byte En1 , v112 + .byte W04 + .byte En1 , v032 + .byte W04 + .byte En1 , v024 + .byte W04 + .byte Cn1 , v124 + .byte W08 + .byte Cn1 , v096 + .byte W04 + .byte Cn1 , v112 + .byte W08 + .byte En1 + .byte W04 + .byte En1 , v032 + .byte W04 + .byte En1 , v024 + .byte W08 + .byte En1 , v112 + .byte W04 + .byte En1 , v032 + .byte W04 + .byte Dn1 , v124 + .byte W04 + .byte Cn1 , v112 + .byte W08 + .byte Cn1 , v096 + .byte W04 + .byte PEND + .byte PATT + .word mus_deepdeep_9_000 + .byte PATT + .word mus_deepdeep_9_001 + .byte PATT + .word mus_deepdeep_9_000 + .byte PATT + .word mus_deepdeep_9_001 + .byte PATT + .word mus_deepdeep_9_000 + .byte PATT + .word mus_deepdeep_9_001 + .byte PATT + .word mus_deepdeep_9_000 + .byte PATT + .word mus_deepdeep_9_001 + .byte PATT + .word mus_deepdeep_9_000 + .byte N04 , Cn1 , v124 + .byte W08 + .byte Cn1 , v096 + .byte W04 + .byte Cn1 , v112 + .byte W04 + .byte Cn1 , v068 + .byte W04 + .byte Cn1 , v096 + .byte W04 + .byte En1 , v112 + .byte W04 + .byte En1 , v032 + .byte W04 + .byte En1 , v024 + .byte W04 + .byte Cn1 , v124 + .byte W08 + .byte Cn1 , v096 + .byte W04 + .byte Cn1 , v112 + .byte W08 + .byte En1 + .byte W04 + .byte En1 , v032 + .byte W04 + .byte En1 , v024 + .byte W08 + .byte En1 , v112 + .byte W04 + .byte En1 , v032 + .byte W04 + .byte Dn1 , v124 + .byte W04 + .byte Cn1 , v112 + .byte W08 + .byte Cn1 , v096 + .byte W04 + .byte Cn1 , v124 + .byte W08 + .byte Cn1 , v096 + .byte W04 + .byte Cn1 , v112 + .byte W04 + .byte Cn1 , v068 + .byte W04 + .byte Cn1 , v096 + .byte W04 + .byte En1 , v112 + .byte W04 + .byte En1 , v032 + .byte W04 + .byte En1 , v024 + .byte W04 + .byte Cn1 , v124 + .byte W08 + .byte Cn1 , v096 + .byte W04 + .byte Cn1 , v112 + .byte W08 + .byte En1 + .byte W04 + .byte En1 , v032 + .byte W04 + .byte En1 , v024 + .byte W08 + .byte En1 , v112 + .byte W04 + .byte En1 , v032 + .byte W04 + .byte En1 , v080 + .byte W04 + .byte Cn1 , v112 + .byte W08 + .byte Cn1 , v096 + .byte W04 + .byte PATT + .word mus_deepdeep_9_001 + .byte PATT + .word mus_deepdeep_9_000 + .byte PATT + .word mus_deepdeep_9_001 + .byte PATT + .word mus_deepdeep_9_000 + .byte PATT + .word mus_deepdeep_9_001 + .byte PATT + .word mus_deepdeep_9_000 + .byte PATT + .word mus_deepdeep_9_001 + .byte N04 , Cn1 , v127 + .byte W08 + .byte Cn1 , v096 + .byte W04 + .byte Cn1 , v112 + .byte W04 + .byte Cn1 , v068 + .byte W04 + .byte Cn1 , v096 + .byte W04 + .byte En1 , v112 + .byte W04 + .byte En1 , v032 + .byte W08 + .byte Cn1 , v124 + .byte W08 + .byte Cn1 , v096 + .byte W04 + .byte Cn1 , v112 + .byte W08 + .byte En1 + .byte W04 + .byte En1 , v032 + .byte W04 + .byte En1 , v024 + .byte W08 + .byte En1 , v112 + .byte W04 + .byte En1 , v032 + .byte W04 + .byte En1 , v080 + .byte W04 + .byte Cn1 , v112 + .byte W08 + .byte Cn1 , v096 + .byte W04 + .byte PATT + .word mus_deepdeep_9_001 + .byte GOTO + .word mus_deepdeep_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_deepdeep_10: + .byte KEYSH , mus_deepdeep_key+0 + .byte VOICE , 127 + .byte VOL , 47*mus_deepdeep_mvl/mxv + .byte PAN , c_v+0 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte LFOS , 36 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 127 + .byte PAN , c_v-56 + .byte W20 + .byte N03 , Fn4 , v056 + .byte W24 + .byte N03 + .byte W24 + .byte Fn4 , v112 + .byte W04 + .byte N03 + .byte W08 + .byte Fn4 , v064 + .byte W04 + .byte Fn4 , v112 + .byte W04 + .byte Fn4 , v080 + .byte W04 + .byte N03 + .byte W04 +mus_deepdeep_10_B1: +mus_deepdeep_10_000: + .byte N03 , Fn4 , v112 + .byte W08 + .byte Fn4 , v064 + .byte W04 + .byte Fn4 , v096 + .byte W08 + .byte Fn4 , v064 + .byte W12 + .byte N03 + .byte W04 + .byte Fn4 , v112 + .byte W04 + .byte Fn4 , v088 + .byte W04 + .byte Fn4 , v064 + .byte W04 + .byte Fn4 , v112 + .byte W08 + .byte Fn4 , v064 + .byte W12 + .byte N03 + .byte W04 + .byte Fn4 , v112 + .byte W08 + .byte Fn4 , v064 + .byte W04 + .byte Fn4 , v096 + .byte W08 + .byte Fn4 , v064 + .byte W04 + .byte PEND +mus_deepdeep_10_001: + .byte N03 , Fn4 , v112 + .byte W08 + .byte Fn4 , v064 + .byte W04 + .byte Fn4 , v096 + .byte W08 + .byte Fn4 , v064 + .byte W12 + .byte N03 + .byte W04 + .byte Fn4 , v112 + .byte W08 + .byte Fn4 , v064 + .byte W04 + .byte Fn4 , v112 + .byte W08 + .byte Fn4 , v064 + .byte W12 + .byte N03 + .byte W04 + .byte Fn4 , v112 + .byte W20 + .byte Fn4 , v064 + .byte W04 + .byte PEND + .byte PATT + .word mus_deepdeep_10_000 + .byte PATT + .word mus_deepdeep_10_001 + .byte PATT + .word mus_deepdeep_10_000 + .byte PATT + .word mus_deepdeep_10_001 + .byte PATT + .word mus_deepdeep_10_000 + .byte PATT + .word mus_deepdeep_10_001 + .byte PATT + .word mus_deepdeep_10_000 + .byte PATT + .word mus_deepdeep_10_001 + .byte PATT + .word mus_deepdeep_10_000 + .byte PATT + .word mus_deepdeep_10_001 + .byte PATT + .word mus_deepdeep_10_000 + .byte PATT + .word mus_deepdeep_10_001 + .byte PATT + .word mus_deepdeep_10_000 + .byte PATT + .word mus_deepdeep_10_001 + .byte PATT + .word mus_deepdeep_10_000 + .byte PATT + .word mus_deepdeep_10_001 + .byte PATT + .word mus_deepdeep_10_000 + .byte PATT + .word mus_deepdeep_10_001 + .byte PATT + .word mus_deepdeep_10_000 + .byte N03 , Fn4 , v112 + .byte W08 + .byte Fn4 , v064 + .byte W04 + .byte Fn4 , v096 + .byte W08 + .byte Fn4 , v064 + .byte W12 + .byte N03 + .byte W04 + .byte Fn4 , v112 + .byte W08 + .byte Fn4 , v064 + .byte W04 + .byte Fn4 , v112 + .byte W08 + .byte Fn4 , v064 + .byte W12 + .byte N03 + .byte W04 + .byte Fn4 , v112 + .byte W24 + .byte GOTO + .word mus_deepdeep_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_deepdeep: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_deepdeep_pri @ Priority + .byte mus_deepdeep_rev @ Reverb. + + .word mus_deepdeep_grp + + .word mus_deepdeep_1 + .word mus_deepdeep_2 + .word mus_deepdeep_3 + .word mus_deepdeep_4 + .word mus_deepdeep_5 + .word mus_deepdeep_6 + .word mus_deepdeep_7 + .word mus_deepdeep_8 + .word mus_deepdeep_9 + .word mus_deepdeep_10 + + .end diff --git a/sound/songs/mus_demo1.s b/sound/songs/mus_demo1.s new file mode 100644 index 0000000000..c23d9e9be7 --- /dev/null +++ b/sound/songs/mus_demo1.s @@ -0,0 +1,3430 @@ + .include "MPlayDef.s" + + .equ mus_demo1_grp, voicegroup_8685E74 + .equ mus_demo1_pri, 0 + .equ mus_demo1_rev, reverb_set+50 + .equ mus_demo1_mvl, 127 + .equ mus_demo1_key, 0 + .equ mus_demo1_tbs, 1 + .equ mus_demo1_exg, 0 + .equ mus_demo1_cmp, 1 + + .section .rodata + .global mus_demo1 + .align 2 + +@********************** Track 1 **********************@ + +mus_demo1_1: + .byte KEYSH , mus_demo1_key+0 + .byte TEMPO , 118*mus_demo1_tbs/2 + .byte VOICE , 48 + .byte PAN , c_v+35 + .byte VOL , 51*mus_demo1_mvl/mxv + .byte LFOS , 44 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte TEMPO , 128*mus_demo1_tbs/2 + .byte W96 + .byte TEMPO , 136*mus_demo1_tbs/2 + .byte W48 + .byte TEMPO , 60*mus_demo1_tbs/2 + .byte W24 + .byte TEMPO , 62*mus_demo1_tbs/2 + .byte VOL , 34*mus_demo1_mvl/mxv + .byte W12 + .byte TEMPO , 48*mus_demo1_tbs/2 + .byte N06 , Gn3 , v112 + .byte W06 + .byte An3 + .byte W06 + .byte TEMPO , 154*mus_demo1_tbs/2 + .byte PAN , c_v-34 + .byte N06 , Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte An2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte An2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte An2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte An2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte N24 , Dn3 + .byte W24 + .byte Fn3 + .byte W24 + .byte TIE , Gn3 + .byte W48 + .byte VOL , 34*mus_demo1_mvl/mxv + .byte W20 + .byte 30*mus_demo1_mvl/mxv + .byte W06 + .byte 28*mus_demo1_mvl/mxv + .byte W10 + .byte 24*mus_demo1_mvl/mxv + .byte W05 + .byte 22*mus_demo1_mvl/mxv + .byte W03 + .byte 19*mus_demo1_mvl/mxv + .byte W04 + .byte 17*mus_demo1_mvl/mxv + .byte W02 + .byte 15*mus_demo1_mvl/mxv + .byte W03 + .byte 11*mus_demo1_mvl/mxv + .byte W09 + .byte 9*mus_demo1_mvl/mxv + .byte W03 + .byte 5*mus_demo1_mvl/mxv + .byte W09 + .byte 4*mus_demo1_mvl/mxv + .byte W06 + .byte 2*mus_demo1_mvl/mxv + .byte W16 + .byte EOT + .byte TEMPO , 106*mus_demo1_tbs/2 + .byte W96 + .byte W96 + .byte FINE + +@********************** Track 2 **********************@ + +mus_demo1_2: + .byte KEYSH , mus_demo1_key+0 + .byte VOICE , 73 + .byte PAN , c_v+0 + .byte LFOS , 44 + .byte VOL , 65*mus_demo1_mvl/mxv + .byte BEND , c_v+0 + .byte W72 + .byte VOL , 66*mus_demo1_mvl/mxv + .byte N03 , Gn5 , v072 + .byte W03 + .byte An5 + .byte W03 + .byte N06 , Gn5 + .byte W06 + .byte Fn5 + .byte W06 + .byte En5 + .byte W06 + .byte VOL , 68*mus_demo1_mvl/mxv + .byte N06 , Cn5 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte N03 , Ds5 , v064 + .byte W03 + .byte N80 , Dn5 , v072 + .byte W09 + .byte MOD , 2 + .byte W12 + .byte VOL , 65*mus_demo1_mvl/mxv + .byte W02 + .byte 61*mus_demo1_mvl/mxv + .byte W03 + .byte 59*mus_demo1_mvl/mxv + .byte W03 + .byte 54*mus_demo1_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte VOL , 52*mus_demo1_mvl/mxv + .byte W02 + .byte 48*mus_demo1_mvl/mxv + .byte W03 + .byte 45*mus_demo1_mvl/mxv + .byte W03 + .byte 43*mus_demo1_mvl/mxv + .byte W04 + .byte 41*mus_demo1_mvl/mxv + .byte W02 + .byte 40*mus_demo1_mvl/mxv + .byte W03 + .byte 36*mus_demo1_mvl/mxv + .byte W03 + .byte 34*mus_demo1_mvl/mxv + .byte W04 + .byte MOD , 9 + .byte VOL , 32*mus_demo1_mvl/mxv + .byte W02 + .byte 31*mus_demo1_mvl/mxv + .byte W03 + .byte 28*mus_demo1_mvl/mxv + .byte W03 + .byte 27*mus_demo1_mvl/mxv + .byte W04 + .byte 24*mus_demo1_mvl/mxv + .byte W02 + .byte 21*mus_demo1_mvl/mxv + .byte W03 + .byte 17*mus_demo1_mvl/mxv + .byte W03 + .byte 14*mus_demo1_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 68*mus_demo1_mvl/mxv + .byte N03 , Gs4 , v084 + .byte W03 + .byte N21 , An4 , v092 + .byte W21 + .byte N24 , Bn4 , v096 + .byte W24 + .byte Cn5 + .byte W24 + .byte N03 , Gs5 , v092 + .byte W03 + .byte N92 , Gn5 , v100 + .byte W21 + .byte MOD , 6 + .byte VOL , 67*mus_demo1_mvl/mxv + .byte W02 + .byte 63*mus_demo1_mvl/mxv + .byte W03 + .byte 62*mus_demo1_mvl/mxv + .byte W03 + .byte 58*mus_demo1_mvl/mxv + .byte W04 + .byte 56*mus_demo1_mvl/mxv + .byte W02 + .byte 55*mus_demo1_mvl/mxv + .byte W03 + .byte 52*mus_demo1_mvl/mxv + .byte W03 + .byte 51*mus_demo1_mvl/mxv + .byte W06 + .byte 48*mus_demo1_mvl/mxv + .byte W03 + .byte 45*mus_demo1_mvl/mxv + .byte W03 + .byte 44*mus_demo1_mvl/mxv + .byte W04 + .byte 41*mus_demo1_mvl/mxv + .byte W02 + .byte 39*mus_demo1_mvl/mxv + .byte W03 + .byte 37*mus_demo1_mvl/mxv + .byte W03 + .byte 35*mus_demo1_mvl/mxv + .byte W04 + .byte MOD , 12 + .byte W02 + .byte VOL , 32*mus_demo1_mvl/mxv + .byte W03 + .byte 29*mus_demo1_mvl/mxv + .byte W03 + .byte 28*mus_demo1_mvl/mxv + .byte W06 + .byte 27*mus_demo1_mvl/mxv + .byte W03 + .byte 25*mus_demo1_mvl/mxv + .byte W03 + .byte 24*mus_demo1_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 68*mus_demo1_mvl/mxv + .byte N03 , Fn5 , v092 + .byte W03 + .byte Gn5 , v096 + .byte W03 + .byte N06 , Fn5 , v100 + .byte W06 + .byte En5 , v096 + .byte W06 + .byte Dn5 , v100 + .byte W06 + .byte VOL , 68*mus_demo1_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Cn5 + .byte W12 + .byte N03 , Ds5 , v080 + .byte W03 + .byte TIE , Dn5 , v096 + .byte W09 + .byte MOD , 2 + .byte W24 + .byte VOL , 67*mus_demo1_mvl/mxv + .byte W02 + .byte 65*mus_demo1_mvl/mxv + .byte W03 + .byte 63*mus_demo1_mvl/mxv + .byte W03 + .byte 59*mus_demo1_mvl/mxv + .byte W04 + .byte 58*mus_demo1_mvl/mxv + .byte W02 + .byte 55*mus_demo1_mvl/mxv + .byte W03 + .byte 54*mus_demo1_mvl/mxv + .byte W03 + .byte 51*mus_demo1_mvl/mxv + .byte W04 + .byte 47*mus_demo1_mvl/mxv + .byte W02 + .byte 45*mus_demo1_mvl/mxv + .byte W03 + .byte 43*mus_demo1_mvl/mxv + .byte W03 + .byte 40*mus_demo1_mvl/mxv + .byte W04 + .byte 39*mus_demo1_mvl/mxv + .byte W02 + .byte 37*mus_demo1_mvl/mxv + .byte W03 + .byte 34*mus_demo1_mvl/mxv + .byte W03 + .byte 33*mus_demo1_mvl/mxv + .byte W04 + .byte 32*mus_demo1_mvl/mxv + .byte W02 + .byte 31*mus_demo1_mvl/mxv + .byte W03 + .byte 29*mus_demo1_mvl/mxv + .byte W03 + .byte 27*mus_demo1_mvl/mxv + .byte W04 + .byte 26*mus_demo1_mvl/mxv + .byte W05 + .byte 25*mus_demo1_mvl/mxv + .byte W03 + .byte 26*mus_demo1_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte VOL , 27*mus_demo1_mvl/mxv + .byte W05 + .byte 29*mus_demo1_mvl/mxv + .byte W03 + .byte 31*mus_demo1_mvl/mxv + .byte W04 + .byte 34*mus_demo1_mvl/mxv + .byte W02 + .byte 36*mus_demo1_mvl/mxv + .byte W03 + .byte 41*mus_demo1_mvl/mxv + .byte W03 + .byte 43*mus_demo1_mvl/mxv + .byte W04 + .byte MOD , 9 + .byte VOL , 47*mus_demo1_mvl/mxv + .byte W02 + .byte 51*mus_demo1_mvl/mxv + .byte W03 + .byte 52*mus_demo1_mvl/mxv + .byte W03 + .byte 58*mus_demo1_mvl/mxv + .byte W04 + .byte 62*mus_demo1_mvl/mxv + .byte W02 + .byte 63*mus_demo1_mvl/mxv + .byte W01 + .byte 63*mus_demo1_mvl/mxv + .byte W02 + .byte 66*mus_demo1_mvl/mxv + .byte W03 + .byte 67*mus_demo1_mvl/mxv + .byte W04 + .byte EOT + .byte MOD , 0 + .byte VOL , 72*mus_demo1_mvl/mxv + .byte N06 , Fn5 , v112 + .byte W06 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte VOICE , 60 + .byte VOL , 68*mus_demo1_mvl/mxv + .byte N24 , An4 , v052 + .byte W24 + .byte Bn4 + .byte W24 + .byte Cn5 + .byte W24 + .byte N03 , Gs5 + .byte W03 + .byte N21 , Gn5 + .byte W21 + .byte W84 + .byte N06 , Fn4 , v112 + .byte W06 + .byte Dn4 + .byte W06 + .byte VOICE , 60 + .byte VOL , 68*mus_demo1_mvl/mxv + .byte N06 , En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N60 , Gn4 + .byte W24 + .byte MOD , 4 + .byte VOL , 66*mus_demo1_mvl/mxv + .byte W02 + .byte 63*mus_demo1_mvl/mxv + .byte W03 + .byte 60*mus_demo1_mvl/mxv + .byte W03 + .byte 56*mus_demo1_mvl/mxv + .byte W04 + .byte 52*mus_demo1_mvl/mxv + .byte W02 + .byte 47*mus_demo1_mvl/mxv + .byte W03 + .byte 43*mus_demo1_mvl/mxv + .byte W03 + .byte 37*mus_demo1_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 36*mus_demo1_mvl/mxv + .byte W02 + .byte 33*mus_demo1_mvl/mxv + .byte W03 + .byte 31*mus_demo1_mvl/mxv + .byte W03 + .byte 29*mus_demo1_mvl/mxv + .byte W04 + .byte 68*mus_demo1_mvl/mxv + .byte N03 , Fs4 , v092 + .byte W03 + .byte Fn4 + .byte W03 + .byte En4 , v084 + .byte W03 + .byte Ds4 , v080 + .byte W03 + .byte VOICE , 73 + .byte W12 + .byte N06 , En4 , v112 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N03 , Cn5 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Gn4 + .byte W12 + .byte N06 , Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte VOICE , 73 + .byte N06 , Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte N24 , Fn4 + .byte W24 + .byte W03 + .byte N03 , En4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Dn4 + .byte W03 + .byte VOICE , 73 + .byte N06 , Gn4 + .byte W12 + .byte Bn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Gn5 + .byte W12 + .byte Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte VOICE , 1 + .byte PAN , c_v-34 + .byte N05 , Bn4 , v096 + .byte W08 + .byte Gn4 + .byte W08 + .byte Bn4 + .byte W08 + .byte N03 , Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte N06 , Fn5 + .byte W06 + .byte VOICE , 60 + .byte PAN , c_v-12 + .byte VOL , 58*mus_demo1_mvl/mxv + .byte N60 , En5 , v112 + .byte W24 + .byte MOD , 4 + .byte VOL , 54*mus_demo1_mvl/mxv + .byte W02 + .byte 51*mus_demo1_mvl/mxv + .byte W03 + .byte 48*mus_demo1_mvl/mxv + .byte W03 + .byte 46*mus_demo1_mvl/mxv + .byte W06 + .byte 45*mus_demo1_mvl/mxv + .byte W06 + .byte 43*mus_demo1_mvl/mxv + .byte W06 + .byte 42*mus_demo1_mvl/mxv + .byte W03 + .byte 41*mus_demo1_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte VOL , 56*mus_demo1_mvl/mxv + .byte N06 , Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W03 + .byte VOICE , 48 + .byte W03 + .byte N06 , Fn5 + .byte W06 + .byte PAN , c_v-16 + .byte VOL , 56*mus_demo1_mvl/mxv + .byte N24 , Gn5 , v092 + .byte W24 + .byte Fn5 + .byte W24 + .byte N16 , En5 + .byte W16 + .byte Dn5 + .byte W16 + .byte Cn5 + .byte W16 + .byte VOICE , 60 + .byte PAN , c_v-16 + .byte VOL , 62*mus_demo1_mvl/mxv + .byte N06 , Gn3 , v112 + .byte W12 + .byte Dn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N18 , Bn3 + .byte W24 + .byte N06 + .byte W12 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N18 , Dn4 + .byte W24 + .byte N12 + .byte W12 + .byte N03 , Cn4 , v092 + .byte W03 + .byte Bn3 + .byte W03 + .byte An3 + .byte W03 + .byte Gn3 + .byte W03 + .byte N08 , Fn4 , v104 + .byte W08 + .byte N04 , Dn4 , v108 + .byte W08 + .byte Fn4 + .byte W08 + .byte TIE , Gn4 + .byte W48 + .byte MOD , 7 + .byte VOL , 62*mus_demo1_mvl/mxv + .byte W02 + .byte 60*mus_demo1_mvl/mxv + .byte W03 + .byte 58*mus_demo1_mvl/mxv + .byte W03 + .byte 55*mus_demo1_mvl/mxv + .byte W04 + .byte 54*mus_demo1_mvl/mxv + .byte W02 + .byte 51*mus_demo1_mvl/mxv + .byte W03 + .byte 51*mus_demo1_mvl/mxv + .byte W03 + .byte 48*mus_demo1_mvl/mxv + .byte W06 + .byte 45*mus_demo1_mvl/mxv + .byte W03 + .byte 43*mus_demo1_mvl/mxv + .byte W03 + .byte 41*mus_demo1_mvl/mxv + .byte W04 + .byte 38*mus_demo1_mvl/mxv + .byte W02 + .byte 36*mus_demo1_mvl/mxv + .byte W03 + .byte 35*mus_demo1_mvl/mxv + .byte W03 + .byte 33*mus_demo1_mvl/mxv + .byte W06 + .byte 30*mus_demo1_mvl/mxv + .byte W03 + .byte 28*mus_demo1_mvl/mxv + .byte W03 + .byte 24*mus_demo1_mvl/mxv + .byte W04 + .byte 22*mus_demo1_mvl/mxv + .byte W02 + .byte 20*mus_demo1_mvl/mxv + .byte W03 + .byte 17*mus_demo1_mvl/mxv + .byte W03 + .byte 14*mus_demo1_mvl/mxv + .byte W06 + .byte 12*mus_demo1_mvl/mxv + .byte W03 + .byte 11*mus_demo1_mvl/mxv + .byte W07 + .byte 10*mus_demo1_mvl/mxv + .byte W02 + .byte 7*mus_demo1_mvl/mxv + .byte W03 + .byte 6*mus_demo1_mvl/mxv + .byte W07 + .byte EOT + .byte MOD , 1 + .byte W96 + .byte W96 + .byte FINE + +@********************** Track 3 **********************@ + +mus_demo1_3: + .byte KEYSH , mus_demo1_key+0 + .byte VOICE , 58 + .byte PAN , c_v+0 + .byte LFOS , 44 + .byte VOL , 88*mus_demo1_mvl/mxv + .byte W96 + .byte W48 + .byte N06 , Cn2 , v072 + .byte W06 + .byte Cn2 , v024 + .byte W06 + .byte Bn1 , v072 + .byte W06 + .byte Bn1 , v024 + .byte W06 + .byte An1 , v072 + .byte W06 + .byte An1 , v024 + .byte W06 + .byte Gn1 , v072 + .byte W06 + .byte Gn1 , v024 + .byte W06 + .byte N12 , Fn1 , v092 + .byte W12 + .byte N06 , Cn2 + .byte W06 + .byte Cn2 , v036 + .byte W06 + .byte Gn2 , v080 + .byte W06 + .byte Gn2 , v036 + .byte W06 + .byte N36 , An2 , v084 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte VOL , 85*mus_demo1_mvl/mxv + .byte W03 + .byte 77*mus_demo1_mvl/mxv + .byte W02 + .byte 75*mus_demo1_mvl/mxv + .byte W01 + .byte 72*mus_demo1_mvl/mxv + .byte W03 + .byte 70*mus_demo1_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 87*mus_demo1_mvl/mxv + .byte N09 , Gn2 , v080 + .byte W12 + .byte Fn2 + .byte W12 + .byte N12 , Fn1 , v096 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Dn2 , v036 + .byte W06 + .byte An2 , v072 + .byte W06 + .byte An2 , v036 + .byte W06 + .byte N36 , Bn2 , v080 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte VOL , 85*mus_demo1_mvl/mxv + .byte W03 + .byte 77*mus_demo1_mvl/mxv + .byte W02 + .byte 75*mus_demo1_mvl/mxv + .byte W01 + .byte 72*mus_demo1_mvl/mxv + .byte W03 + .byte 70*mus_demo1_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 87*mus_demo1_mvl/mxv + .byte N09 , Cn3 , v072 + .byte W12 + .byte Dn3 + .byte W12 + .byte N12 , Fn1 , v096 + .byte W12 + .byte N06 , Cn2 + .byte W06 + .byte Cn2 , v036 + .byte W06 + .byte Gn2 , v080 + .byte W06 + .byte Gn2 , v036 + .byte W06 + .byte N60 , An2 , v088 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte VOL , 85*mus_demo1_mvl/mxv + .byte W02 + .byte 79*mus_demo1_mvl/mxv + .byte W03 + .byte 75*mus_demo1_mvl/mxv + .byte W03 + .byte 70*mus_demo1_mvl/mxv + .byte W04 + .byte 65*mus_demo1_mvl/mxv + .byte W02 + .byte 60*mus_demo1_mvl/mxv + .byte W03 + .byte 58*mus_demo1_mvl/mxv + .byte W03 + .byte 56*mus_demo1_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 89*mus_demo1_mvl/mxv + .byte N12 , Fn1 , v096 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Dn2 , v036 + .byte W06 + .byte An2 , v084 + .byte W06 + .byte An2 , v036 + .byte W06 + .byte N36 , Bn2 , v084 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte VOL , 85*mus_demo1_mvl/mxv + .byte W03 + .byte 77*mus_demo1_mvl/mxv + .byte W02 + .byte 75*mus_demo1_mvl/mxv + .byte W01 + .byte 72*mus_demo1_mvl/mxv + .byte W03 + .byte 70*mus_demo1_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 90*mus_demo1_mvl/mxv + .byte N12 , An2 , v080 + .byte W12 + .byte Gn2 , v072 + .byte W12 + .byte N06 , Fn1 , v112 + .byte W12 + .byte N12 , En1 + .byte W24 + .byte N06 , Fn1 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Cn2 + .byte W24 + .byte Fs1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N06 , Fs1 + .byte W12 + .byte N04 , Gn1 + .byte W08 + .byte Bn1 + .byte W08 + .byte Fn2 + .byte W08 + .byte N36 , Gn0 , v088 + .byte W12 + .byte VOL , 89*mus_demo1_mvl/mxv + .byte MOD , 6 + .byte W02 + .byte VOL , 80*mus_demo1_mvl/mxv + .byte W03 + .byte 69*mus_demo1_mvl/mxv + .byte W03 + .byte 67*mus_demo1_mvl/mxv + .byte W04 + .byte 60*mus_demo1_mvl/mxv + .byte W02 + .byte 56*mus_demo1_mvl/mxv + .byte W04 + .byte 51*mus_demo1_mvl/mxv + .byte W02 + .byte 40*mus_demo1_mvl/mxv + .byte W04 + .byte 90*mus_demo1_mvl/mxv + .byte MOD , 0 + .byte N06 , Gn1 , v112 + .byte W06 + .byte Bn1 + .byte W06 + .byte N12 , Cn1 , v127 + .byte W60 + .byte Gn0 , v112 + .byte W12 + .byte Gn0 , v036 + .byte W12 + .byte Gn1 , v112 + .byte W12 + .byte N06 , Cn1 , v127 + .byte W12 + .byte Cn1 , v036 + .byte W24 + .byte Gn1 , v120 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte N12 , Cn2 , v124 + .byte W12 + .byte N06 , Cn2 , v036 + .byte W12 + .byte Gn1 , v112 + .byte W12 + .byte Gn1 , v036 + .byte W12 + .byte N12 , Gn1 , v052 + .byte W60 + .byte N06 , Gn0 , v112 + .byte W12 + .byte Gn0 , v036 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte Gn0 + .byte W12 + .byte Gn0 , v036 + .byte W24 + .byte Gn1 , v120 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte N12 , Gn1 , v124 + .byte W12 + .byte N06 , Gn1 , v036 + .byte W12 + .byte Gn0 , v112 + .byte W12 + .byte Gn0 , v036 + .byte W12 + .byte N12 , An0 , v052 + .byte W60 + .byte N06 , En0 , v112 + .byte W12 + .byte En0 , v036 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte An0 + .byte W12 + .byte An0 , v036 + .byte W24 + .byte En1 , v116 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte N12 , An1 , v124 + .byte W12 + .byte N06 , An1 , v036 + .byte W12 + .byte En0 , v112 + .byte W12 + .byte En0 , v036 + .byte W12 + .byte VOICE , 58 + .byte VOL , 78*mus_demo1_mvl/mxv + .byte N48 , Gn1 , v112 + .byte W24 + .byte VOL , 77*mus_demo1_mvl/mxv + .byte MOD , 10 + .byte W02 + .byte VOL , 75*mus_demo1_mvl/mxv + .byte W03 + .byte 72*mus_demo1_mvl/mxv + .byte W03 + .byte 69*mus_demo1_mvl/mxv + .byte W04 + .byte 65*mus_demo1_mvl/mxv + .byte W02 + .byte 61*mus_demo1_mvl/mxv + .byte W03 + .byte 57*mus_demo1_mvl/mxv + .byte W03 + .byte 54*mus_demo1_mvl/mxv + .byte W04 + .byte 78*mus_demo1_mvl/mxv + .byte MOD , 0 + .byte N48 , Fn1 + .byte W24 + .byte VOL , 73*mus_demo1_mvl/mxv + .byte MOD , 10 + .byte W02 + .byte VOL , 70*mus_demo1_mvl/mxv + .byte W03 + .byte 65*mus_demo1_mvl/mxv + .byte W03 + .byte 60*mus_demo1_mvl/mxv + .byte W04 + .byte 57*mus_demo1_mvl/mxv + .byte W02 + .byte 55*mus_demo1_mvl/mxv + .byte W03 + .byte 48*mus_demo1_mvl/mxv + .byte W03 + .byte 46*mus_demo1_mvl/mxv + .byte W04 + .byte 79*mus_demo1_mvl/mxv + .byte MOD , 0 + .byte N30 , Dn1 + .byte W15 + .byte VOL , 75*mus_demo1_mvl/mxv + .byte W02 + .byte 73*mus_demo1_mvl/mxv + .byte W03 + .byte 70*mus_demo1_mvl/mxv + .byte W04 + .byte 70*mus_demo1_mvl/mxv + .byte W06 + .byte N06 , Cn1 , v116 + .byte W06 + .byte Bn0 + .byte W06 + .byte An0 + .byte W06 + .byte VOICE , 58 + .byte VOL , 79*mus_demo1_mvl/mxv + .byte TIE , Gn0 + .byte W48 + .byte VOL , 80*mus_demo1_mvl/mxv + .byte MOD , 7 + .byte W02 + .byte VOL , 76*mus_demo1_mvl/mxv + .byte W03 + .byte 74*mus_demo1_mvl/mxv + .byte W07 + .byte 70*mus_demo1_mvl/mxv + .byte W05 + .byte 68*mus_demo1_mvl/mxv + .byte W03 + .byte 66*mus_demo1_mvl/mxv + .byte W04 + .byte 64*mus_demo1_mvl/mxv + .byte W05 + .byte 62*mus_demo1_mvl/mxv + .byte W03 + .byte 60*mus_demo1_mvl/mxv + .byte W06 + .byte 56*mus_demo1_mvl/mxv + .byte W03 + .byte 55*mus_demo1_mvl/mxv + .byte W07 + .byte 51*mus_demo1_mvl/mxv + .byte W08 + .byte 47*mus_demo1_mvl/mxv + .byte W04 + .byte 45*mus_demo1_mvl/mxv + .byte W02 + .byte 39*mus_demo1_mvl/mxv + .byte W03 + .byte 38*mus_demo1_mvl/mxv + .byte W07 + .byte 34*mus_demo1_mvl/mxv + .byte W02 + .byte 30*mus_demo1_mvl/mxv + .byte W03 + .byte 28*mus_demo1_mvl/mxv + .byte W03 + .byte 24*mus_demo1_mvl/mxv + .byte W04 + .byte 22*mus_demo1_mvl/mxv + .byte W02 + .byte 17*mus_demo1_mvl/mxv + .byte W03 + .byte 11*mus_demo1_mvl/mxv + .byte W03 + .byte 5*mus_demo1_mvl/mxv + .byte W04 + .byte EOT + .byte VOL , 4*mus_demo1_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte VOICE , 47 + .byte VOL , 86*mus_demo1_mvl/mxv + .byte W48 + .byte N20 , Gn1 , v084 + .byte W24 + .byte N24 , Gn1 , v076 + .byte W96 + .byte FINE + +@********************** Track 4 **********************@ + +mus_demo1_4: + .byte KEYSH , mus_demo1_key+0 + .byte VOICE , 45 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 34*mus_demo1_mvl/mxv + .byte BEND , c_v+1 + .byte N03 , En4 , v068 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte Gn4 , v032 + .byte W06 + .byte N02 , Cn4 , v064 + .byte W06 + .byte Cn4 , v036 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W06 + .byte Dn4 , v036 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte En4 , v028 + .byte W06 + .byte En4 , v016 + .byte W06 + .byte En4 , v020 + .byte W06 + .byte En4 , v012 + .byte W06 + .byte PAN , c_v-32 + .byte VOL , 45*mus_demo1_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Gn3 , v092 + .byte W06 + .byte Gn3 , v036 + .byte W06 + .byte Cn4 , v092 + .byte W06 + .byte Cn4 , v036 + .byte W06 + .byte Dn4 , v092 + .byte W06 + .byte Dn4 , v036 + .byte W06 + .byte En4 , v092 + .byte W06 + .byte En4 , v036 + .byte W06 + .byte Gn4 , v096 + .byte W06 + .byte Gn4 , v036 + .byte W06 + .byte An4 , v096 + .byte W06 + .byte An4 , v036 + .byte W06 + .byte Cn5 , v096 + .byte W06 + .byte Cn5 , v036 + .byte W06 + .byte Dn5 , v104 + .byte W06 + .byte Dn5 , v036 + .byte W06 + .byte VOL , 45*mus_demo1_mvl/mxv + .byte W48 + .byte PAN , c_v-32 + .byte N06 , Gn3 , v112 + .byte W06 + .byte Gn3 , v036 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v036 + .byte W06 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v036 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v036 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Dn4 , v112 + .byte W06 + .byte Dn4 , v036 + .byte W06 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v036 + .byte W06 + .byte Bn3 , v112 + .byte W06 + .byte Bn3 , v036 + .byte W06 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v036 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Bn3 , v064 + .byte W06 + .byte Bn3 , v036 + .byte W06 + .byte Gn4 , v060 + .byte W06 + .byte Gn4 , v036 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Bn3 , v032 + .byte W06 + .byte Bn3 , v036 + .byte W06 + .byte Gn4 , v032 + .byte W06 + .byte Gn4 , v036 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Bn3 , v016 + .byte W06 + .byte Bn3 , v036 + .byte W06 + .byte Gn4 , v016 + .byte W06 + .byte Gn4 , v036 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Bn3 , v008 + .byte W06 + .byte Bn3 , v036 + .byte W06 + .byte Gn4 , v008 + .byte W06 + .byte Gn4 , v036 + .byte W18 + .byte En4 , v112 + .byte W06 + .byte En4 , v036 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v036 + .byte W06 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v036 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v036 + .byte W06 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v036 + .byte W18 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v036 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v036 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v036 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v036 + .byte W06 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v036 + .byte W06 + .byte VOICE , 56 + .byte VOL , 90*mus_demo1_mvl/mxv + .byte PAN , c_v-19 + .byte N06 , Fn3 , v120 + .byte W06 + .byte Fn3 , v036 + .byte W06 + .byte Cn3 , v124 + .byte W06 + .byte Fn3 + .byte W06 + .byte N24 , An3 + .byte W12 + .byte MOD , 7 + .byte VOL , 87*mus_demo1_mvl/mxv + .byte W02 + .byte 77*mus_demo1_mvl/mxv + .byte W04 + .byte 70*mus_demo1_mvl/mxv + .byte W02 + .byte 63*mus_demo1_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 90*mus_demo1_mvl/mxv + .byte N06 , An3 , v120 + .byte W06 + .byte An3 , v036 + .byte W06 + .byte Fn3 , v120 + .byte W06 + .byte An3 + .byte W06 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 7 + .byte VOL , 84*mus_demo1_mvl/mxv + .byte W02 + .byte 73*mus_demo1_mvl/mxv + .byte W04 + .byte 70*mus_demo1_mvl/mxv + .byte W02 + .byte 62*mus_demo1_mvl/mxv + .byte W03 + .byte 60*mus_demo1_mvl/mxv + .byte W01 + .byte MOD , 0 + .byte VOL , 90*mus_demo1_mvl/mxv + .byte N12 , Bn3 , v124 + .byte W12 + .byte N03 , As3 , v096 + .byte W03 + .byte Gs3 , v092 + .byte W03 + .byte Gn3 , v080 + .byte W03 + .byte Fn3 , v076 + .byte W03 + .byte N04 , Dn4 , v124 + .byte W04 + .byte Dn4 , v036 + .byte W04 + .byte Bn3 , v124 + .byte W04 + .byte Bn3 , v036 + .byte W04 + .byte Dn4 , v124 + .byte W04 + .byte Dn4 , v036 + .byte W04 + .byte N36 , Gn4 , v120 + .byte W09 + .byte VOL , 87*mus_demo1_mvl/mxv + .byte W03 + .byte 81*mus_demo1_mvl/mxv + .byte MOD , 7 + .byte W02 + .byte VOL , 73*mus_demo1_mvl/mxv + .byte W03 + .byte 62*mus_demo1_mvl/mxv + .byte W03 + .byte 53*mus_demo1_mvl/mxv + .byte W04 + .byte 46*mus_demo1_mvl/mxv + .byte W02 + .byte 35*mus_demo1_mvl/mxv + .byte W03 + .byte 30*mus_demo1_mvl/mxv + .byte W03 + .byte 25*mus_demo1_mvl/mxv + .byte W04 + .byte 73*mus_demo1_mvl/mxv + .byte MOD , 0 + .byte N06 , Bn3 , v112 + .byte W06 + .byte Gn3 + .byte W06 + .byte PAN , c_v+20 + .byte VOL , 73*mus_demo1_mvl/mxv + .byte W36 + .byte N06 , Cn4 + .byte W06 + .byte Cn4 , v036 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v036 + .byte W06 + .byte N24 , En4 , v112 + .byte W24 + .byte N03 , Ds4 , v092 + .byte W03 + .byte Dn4 + .byte W03 + .byte Cs4 , v084 + .byte W03 + .byte Cn4 , v080 + .byte W03 + .byte VOICE , 45 + .byte W12 + .byte N06 , Cn4 , v112 + .byte W06 + .byte Cn4 , v036 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v036 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v036 + .byte W06 + .byte N03 , Gn4 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Dn4 , v036 + .byte W06 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v036 + .byte W06 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte W36 + .byte N06 , Gn4 , v112 + .byte W06 + .byte Gn4 , v036 + .byte W06 + .byte An4 , v112 + .byte W06 + .byte An4 , v036 + .byte W06 + .byte N24 , Bn4 , v112 + .byte W24 + .byte W03 + .byte N03 , As4 + .byte W03 + .byte An4 + .byte W03 + .byte Gs4 + .byte W03 + .byte VOICE , 56 + .byte N06 , Bn3 + .byte W06 + .byte Bn3 , v036 + .byte W06 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v036 + .byte W06 + .byte Dn4 , v112 + .byte W08 + .byte En4 + .byte W08 + .byte Fn4 + .byte W08 + .byte VOICE , 1 + .byte PAN , c_v-21 + .byte N05 , Gn4 , v092 + .byte W08 + .byte Dn4 + .byte W08 + .byte Gn4 + .byte W08 + .byte N03 , Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Bn4 + .byte W06 + .byte N06 , Dn5 + .byte W06 + .byte PAN , c_v+36 + .byte W90 + .byte N06 , En4 , v080 + .byte W06 + .byte PAN , c_v+26 + .byte VOL , 62*mus_demo1_mvl/mxv + .byte N24 , Gn4 , v084 + .byte W24 + .byte Fn4 , v088 + .byte W24 + .byte N16 , En4 + .byte W16 + .byte Dn4 + .byte W16 + .byte Cn4 + .byte W16 + .byte VOICE , 46 + .byte PAN , c_v+21 + .byte W96 + .byte VOICE , 46 + .byte VOL , 79*mus_demo1_mvl/mxv + .byte W48 + .byte N04 , Gn3 , v056 + .byte W04 + .byte Bn3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Bn5 + .byte W04 + .byte Dn6 + .byte W04 + .byte Fn6 + .byte W04 + .byte Bn6 + .byte W04 + .byte Gn6 + .byte W04 + .byte Fn6 + .byte W04 + .byte Dn6 + .byte W04 + .byte Bn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Gn6 + .byte W04 + .byte Fn6 + .byte W04 + .byte Dn6 + .byte W04 + .byte Bn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Fn6 + .byte W04 + .byte Dn6 + .byte W04 + .byte Bn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn6 + .byte W04 + .byte Bn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Gn5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte N24 , Gn3 , v060 + .byte W24 + .byte W96 + .byte FINE + +@********************** Track 5 **********************@ + +mus_demo1_5: + .byte KEYSH , mus_demo1_key+0 + .byte VOICE , 1 + .byte PAN , c_v-47 + .byte LFOS , 44 + .byte VOL , 37*mus_demo1_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , En4 , v068 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte PAN , c_v+48 + .byte N03 , Fn4 , v064 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte PAN , c_v-48 + .byte N03 , Gn4 , v060 + .byte W06 + .byte Gn4 , v032 + .byte W06 + .byte PAN , c_v+48 + .byte N02 , Cn4 , v064 + .byte W06 + .byte Cn4 , v036 + .byte W06 + .byte PAN , c_v-16 + .byte N03 , Dn4 , v060 + .byte W06 + .byte Dn4 , v036 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , En4 , v064 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte VOL , 43*mus_demo1_mvl/mxv + .byte W02 + .byte 42*mus_demo1_mvl/mxv + .byte W03 + .byte 39*mus_demo1_mvl/mxv + .byte W03 + .byte 37*mus_demo1_mvl/mxv + .byte W06 + .byte 36*mus_demo1_mvl/mxv + .byte W03 + .byte 33*mus_demo1_mvl/mxv + .byte W03 + .byte 31*mus_demo1_mvl/mxv + .byte W04 + .byte 30*mus_demo1_mvl/mxv + .byte W02 + .byte 28*mus_demo1_mvl/mxv + .byte W03 + .byte 26*mus_demo1_mvl/mxv + .byte W03 + .byte 26*mus_demo1_mvl/mxv + .byte W04 + .byte 25*mus_demo1_mvl/mxv + .byte W02 + .byte 22*mus_demo1_mvl/mxv + .byte W03 + .byte 21*mus_demo1_mvl/mxv + .byte W03 + .byte 20*mus_demo1_mvl/mxv + .byte W04 + .byte 19*mus_demo1_mvl/mxv + .byte W02 + .byte 19*mus_demo1_mvl/mxv + .byte W03 + .byte 17*mus_demo1_mvl/mxv + .byte W03 + .byte 16*mus_demo1_mvl/mxv + .byte W04 + .byte 15*mus_demo1_mvl/mxv + .byte W05 + .byte 14*mus_demo1_mvl/mxv + .byte W03 + .byte 13*mus_demo1_mvl/mxv + .byte W04 + .byte 11*mus_demo1_mvl/mxv + .byte W02 + .byte 10*mus_demo1_mvl/mxv + .byte W06 + .byte 9*mus_demo1_mvl/mxv + .byte W06 + .byte 7*mus_demo1_mvl/mxv + .byte W03 + .byte 5*mus_demo1_mvl/mxv + .byte W03 + .byte 4*mus_demo1_mvl/mxv + .byte W06 + .byte 3*mus_demo1_mvl/mxv + .byte W03 + .byte 2*mus_demo1_mvl/mxv + .byte W03 + .byte 2*mus_demo1_mvl/mxv + .byte W04 + .byte 1*mus_demo1_mvl/mxv + .byte W12 + .byte 45*mus_demo1_mvl/mxv + .byte W96 + .byte 34*mus_demo1_mvl/mxv + .byte BEND , c_v+0 + .byte W24 + .byte PAN , c_v+47 + .byte N12 , Dn5 , v080 + .byte W12 + .byte Gn5 + .byte W12 + .byte PAN , c_v-48 + .byte N12 , Dn5 , v048 + .byte W12 + .byte Gn5 + .byte W12 + .byte PAN , c_v+48 + .byte N12 , Dn5 , v036 + .byte W12 + .byte Gn5 , v032 + .byte W12 + .byte PAN , c_v-48 + .byte N12 , Dn5 , v024 + .byte W12 + .byte Gn5 + .byte W12 + .byte PAN , c_v+48 + .byte N12 , Dn5 , v012 + .byte W12 + .byte Gn5 , v008 + .byte W12 + .byte PAN , c_v+0 + .byte W48 + .byte W96 + .byte W96 + .byte VOICE , 47 + .byte VOL , 88*mus_demo1_mvl/mxv + .byte N03 , Gn2 , v124 + .byte W06 + .byte Gn2 , v112 + .byte W06 + .byte N12 , Gn1 , v124 + .byte W12 + .byte N04 , Gn2 + .byte W08 + .byte Dn2 , v112 + .byte W08 + .byte Gn2 + .byte W08 + .byte N12 , Gn1 + .byte W12 + .byte Gn1 , v036 + .byte W24 + .byte N03 , Gn2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Cn2 , v124 + .byte W60 + .byte N12 , Gn1 , v112 + .byte W12 + .byte Gn1 , v036 + .byte W12 + .byte Gn2 , v112 + .byte W12 + .byte N24 , Cn2 , v124 + .byte W36 + .byte N03 , Gn2 , v120 + .byte W06 + .byte N06 , Gn2 , v112 + .byte W06 + .byte N12 , Cn3 , v124 + .byte W12 + .byte Cn3 , v036 + .byte W12 + .byte Gn2 , v112 + .byte W12 + .byte Gn2 , v036 + .byte W12 + .byte N24 , Gn1 , v124 + .byte W60 + .byte N12 , Gn1 , v112 + .byte W12 + .byte Gn1 , v036 + .byte W12 + .byte Dn2 , v112 + .byte W12 + .byte N24 , Gn1 , v124 + .byte W36 + .byte N03 , Gn2 , v120 + .byte W06 + .byte Gn2 , v112 + .byte W06 + .byte N12 , Gn2 , v124 + .byte W12 + .byte Gn2 , v036 + .byte W12 + .byte Gn1 , v112 + .byte W12 + .byte Gn1 , v036 + .byte W12 + .byte N24 , An1 , v124 + .byte W60 + .byte N12 , En1 , v112 + .byte W12 + .byte En1 , v036 + .byte W12 + .byte En2 , v112 + .byte W12 + .byte N24 , An1 , v124 + .byte W36 + .byte N03 , En2 , v116 + .byte W06 + .byte En2 , v112 + .byte W06 + .byte N12 , An2 , v124 + .byte W12 + .byte An2 , v036 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v036 + .byte W12 + .byte W96 + .byte VOICE , 46 + .byte VOL , 62*mus_demo1_mvl/mxv + .byte W48 + .byte PAN , c_v-32 + .byte BEND , c_v-2 + .byte W48 + .byte W96 + .byte PAN , c_v-46 + .byte VOL , 45*mus_demo1_mvl/mxv + .byte W04 + .byte N04 , Bn5 , v032 + .byte W04 + .byte Gn5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Gn5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Bn3 , v028 + .byte W04 + .byte Gn3 , v032 + .byte W20 + .byte W96 + .byte FINE + +@********************** Track 6 **********************@ + +mus_demo1_6: + .byte KEYSH , mus_demo1_key+0 + .byte VOICE , 45 + .byte VOL , 54*mus_demo1_mvl/mxv + .byte LFOS , 44 + .byte PAN , c_v+32 + .byte W03 + .byte VOL , 56*mus_demo1_mvl/mxv + .byte W92 + .byte W01 + .byte PAN , c_v+32 + .byte W48 + .byte N06 , En4 , v088 + .byte W06 + .byte En4 , v036 + .byte W06 + .byte Fn4 , v092 + .byte W06 + .byte Fn4 , v036 + .byte W06 + .byte Gn4 , v092 + .byte W06 + .byte Gn4 , v036 + .byte W06 + .byte An4 , v104 + .byte W06 + .byte An4 , v036 + .byte W06 + .byte PAN , c_v-51 + .byte W96 + .byte VOICE , 48 + .byte VOL , 4*mus_demo1_mvl/mxv + .byte N96 , Dn5 , v064 + .byte W15 + .byte PAN , c_v-43 + .byte W02 + .byte VOL , 5*mus_demo1_mvl/mxv + .byte PAN , c_v-38 + .byte W03 + .byte VOL , 7*mus_demo1_mvl/mxv + .byte PAN , c_v-34 + .byte W04 + .byte VOL , 9*mus_demo1_mvl/mxv + .byte PAN , c_v-26 + .byte W02 + .byte VOL , 14*mus_demo1_mvl/mxv + .byte W03 + .byte 15*mus_demo1_mvl/mxv + .byte PAN , c_v-22 + .byte W03 + .byte VOL , 19*mus_demo1_mvl/mxv + .byte PAN , c_v-19 + .byte W04 + .byte VOL , 21*mus_demo1_mvl/mxv + .byte PAN , c_v-13 + .byte W02 + .byte VOL , 25*mus_demo1_mvl/mxv + .byte PAN , c_v-7 + .byte W03 + .byte VOL , 29*mus_demo1_mvl/mxv + .byte PAN , c_v-2 + .byte W03 + .byte VOL , 32*mus_demo1_mvl/mxv + .byte PAN , c_v+5 + .byte W04 + .byte c_v+12 + .byte W02 + .byte VOL , 36*mus_demo1_mvl/mxv + .byte PAN , c_v+19 + .byte W03 + .byte VOL , 38*mus_demo1_mvl/mxv + .byte PAN , c_v+24 + .byte W03 + .byte VOL , 42*mus_demo1_mvl/mxv + .byte PAN , c_v+29 + .byte W04 + .byte c_v+35 + .byte W02 + .byte VOL , 32*mus_demo1_mvl/mxv + .byte PAN , c_v+38 + .byte W03 + .byte VOL , 24*mus_demo1_mvl/mxv + .byte PAN , c_v+41 + .byte W03 + .byte c_v+45 + .byte W04 + .byte c_v+47 + .byte W02 + .byte VOL , 21*mus_demo1_mvl/mxv + .byte PAN , c_v+51 + .byte W03 + .byte VOL , 17*mus_demo1_mvl/mxv + .byte PAN , c_v+53 + .byte W03 + .byte VOL , 12*mus_demo1_mvl/mxv + .byte PAN , c_v+56 + .byte W04 + .byte VOL , 11*mus_demo1_mvl/mxv + .byte W02 + .byte 9*mus_demo1_mvl/mxv + .byte W03 + .byte 7*mus_demo1_mvl/mxv + .byte W07 + .byte PAN , c_v+28 + .byte VOL , 34*mus_demo1_mvl/mxv + .byte N06 , An4 , v032 + .byte W06 + .byte Cn4 , v036 + .byte W06 + .byte An4 , v040 + .byte W06 + .byte Bn4 , v044 + .byte W06 + .byte An4 , v048 + .byte W06 + .byte Cn4 , v052 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 , v056 + .byte W06 + .byte An4 , v060 + .byte W06 + .byte Cn4 , v064 + .byte W06 + .byte An4 , v068 + .byte W06 + .byte Bn4 , v072 + .byte W06 + .byte An4 , v076 + .byte W06 + .byte Cn4 + .byte W06 + .byte An4 , v080 + .byte W06 + .byte Bn4 , v084 + .byte W06 + .byte N06 + .byte W06 + .byte Dn4 , v088 + .byte W06 + .byte Bn4 , v092 + .byte W06 + .byte Cn5 , v096 + .byte W06 + .byte Bn4 + .byte W06 + .byte Dn4 , v100 + .byte W06 + .byte Bn4 , v104 + .byte W06 + .byte Cn5 + .byte W06 + .byte Bn4 , v108 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte An4 + .byte W06 + .byte Cn4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Cn4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Cn4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Cn4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte PAN , c_v+25 + .byte VOL , 39*mus_demo1_mvl/mxv + .byte N06 , Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N36 , Bn4 + .byte W15 + .byte VOL , 36*mus_demo1_mvl/mxv + .byte W02 + .byte 32*mus_demo1_mvl/mxv + .byte W03 + .byte 27*mus_demo1_mvl/mxv + .byte W04 + .byte 24*mus_demo1_mvl/mxv + .byte W02 + .byte 19*mus_demo1_mvl/mxv + .byte W03 + .byte 17*mus_demo1_mvl/mxv + .byte W03 + .byte 14*mus_demo1_mvl/mxv + .byte W01 + .byte 14*mus_demo1_mvl/mxv + .byte W03 + .byte 11*mus_demo1_mvl/mxv + .byte W05 + .byte 10*mus_demo1_mvl/mxv + .byte W07 + .byte VOICE , 56 + .byte PAN , c_v+30 + .byte VOL , 39*mus_demo1_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W92 + .byte W03 + .byte VOICE , 48 + .byte W01 + .byte PAN , c_v-2 + .byte VOL , 56*mus_demo1_mvl/mxv + .byte N48 , Dn5 + .byte W48 + .byte En5 + .byte W48 + .byte BEND , c_v+4 + .byte N48 , Fn5 + .byte W48 + .byte TIE , Gn5 + .byte W48 + .byte VOL , 53*mus_demo1_mvl/mxv + .byte W05 + .byte 50*mus_demo1_mvl/mxv + .byte W03 + .byte 48*mus_demo1_mvl/mxv + .byte W04 + .byte 45*mus_demo1_mvl/mxv + .byte W02 + .byte 43*mus_demo1_mvl/mxv + .byte W03 + .byte 42*mus_demo1_mvl/mxv + .byte W07 + .byte 38*mus_demo1_mvl/mxv + .byte W02 + .byte 37*mus_demo1_mvl/mxv + .byte W06 + .byte 32*mus_demo1_mvl/mxv + .byte W06 + .byte 31*mus_demo1_mvl/mxv + .byte W03 + .byte 27*mus_demo1_mvl/mxv + .byte W07 + .byte 26*mus_demo1_mvl/mxv + .byte W02 + .byte 22*mus_demo1_mvl/mxv + .byte W03 + .byte 21*mus_demo1_mvl/mxv + .byte W03 + .byte 19*mus_demo1_mvl/mxv + .byte W04 + .byte 16*mus_demo1_mvl/mxv + .byte W05 + .byte 14*mus_demo1_mvl/mxv + .byte W03 + .byte 11*mus_demo1_mvl/mxv + .byte W06 + .byte 9*mus_demo1_mvl/mxv + .byte W03 + .byte 8*mus_demo1_mvl/mxv + .byte W03 + .byte 7*mus_demo1_mvl/mxv + .byte W04 + .byte 4*mus_demo1_mvl/mxv + .byte W02 + .byte 3*mus_demo1_mvl/mxv + .byte W03 + .byte 2*mus_demo1_mvl/mxv + .byte W07 + .byte EOT + .byte W96 + .byte W96 + .byte FINE + +@********************** Track 7 **********************@ + +mus_demo1_7: + .byte KEYSH , mus_demo1_key+0 + .byte VOICE , 84 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 22*mus_demo1_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte W72 + .byte VOL , 34*mus_demo1_mvl/mxv + .byte BEND , c_v+0 + .byte W24 + .byte VOICE , 85 + .byte PAN , c_v-63 + .byte BEND , c_v+1 + .byte W24 + .byte MOD , 8 + .byte W21 + .byte 0 + .byte W03 + .byte N06 , Cn2 , v084 + .byte W06 + .byte Cn2 , v036 + .byte W06 + .byte MOD , 8 + .byte N06 , Bn1 , v084 + .byte W06 + .byte Bn1 , v036 + .byte W06 + .byte MOD , 0 + .byte N06 , An1 , v084 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte Gn1 , v084 + .byte W03 + .byte MOD , 8 + .byte W03 + .byte N06 , Gn1 , v036 + .byte W06 + .byte MOD , 0 + .byte N12 , Fn1 , v092 + .byte W12 + .byte N06 , Cn2 + .byte W06 + .byte Cn2 , v036 + .byte W06 + .byte Gn2 , v092 + .byte W06 + .byte Gn2 , v036 + .byte W06 + .byte N36 , An2 , v096 + .byte W12 + .byte MOD , 8 + .byte VOL , 33*mus_demo1_mvl/mxv + .byte W02 + .byte 30*mus_demo1_mvl/mxv + .byte W03 + .byte 27*mus_demo1_mvl/mxv + .byte W03 + .byte 26*mus_demo1_mvl/mxv + .byte W04 + .byte 24*mus_demo1_mvl/mxv + .byte W02 + .byte 22*mus_demo1_mvl/mxv + .byte W03 + .byte 21*mus_demo1_mvl/mxv + .byte W03 + .byte 19*mus_demo1_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 34*mus_demo1_mvl/mxv + .byte N09 , Gn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Dn2 , v036 + .byte W06 + .byte An2 , v096 + .byte W06 + .byte An2 , v036 + .byte W06 + .byte N36 , Bn2 , v096 + .byte W12 + .byte MOD , 8 + .byte VOL , 34*mus_demo1_mvl/mxv + .byte W02 + .byte 31*mus_demo1_mvl/mxv + .byte W03 + .byte 30*mus_demo1_mvl/mxv + .byte W03 + .byte 29*mus_demo1_mvl/mxv + .byte W04 + .byte 27*mus_demo1_mvl/mxv + .byte W02 + .byte 26*mus_demo1_mvl/mxv + .byte W03 + .byte 24*mus_demo1_mvl/mxv + .byte W03 + .byte 23*mus_demo1_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 34*mus_demo1_mvl/mxv + .byte N09 , Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte BEND , c_v+1 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Cn2 + .byte W06 + .byte Cn2 , v036 + .byte W06 + .byte Gn2 , v096 + .byte W06 + .byte Gn2 , v036 + .byte W06 + .byte N60 , An2 , v100 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte VOL , 32*mus_demo1_mvl/mxv + .byte W02 + .byte 29*mus_demo1_mvl/mxv + .byte W03 + .byte 26*mus_demo1_mvl/mxv + .byte W04 + .byte 26*mus_demo1_mvl/mxv + .byte W03 + .byte 24*mus_demo1_mvl/mxv + .byte W02 + .byte 21*mus_demo1_mvl/mxv + .byte W03 + .byte 18*mus_demo1_mvl/mxv + .byte W03 + .byte 16*mus_demo1_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 34*mus_demo1_mvl/mxv + .byte N12 , Fn1 , v096 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Dn2 , v036 + .byte W06 + .byte An2 , v104 + .byte W06 + .byte An2 , v036 + .byte W06 + .byte N36 , Bn2 , v104 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte VOL , 33*mus_demo1_mvl/mxv + .byte W02 + .byte 28*mus_demo1_mvl/mxv + .byte W03 + .byte 23*mus_demo1_mvl/mxv + .byte W03 + .byte 19*mus_demo1_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 34*mus_demo1_mvl/mxv + .byte N12 , An2 , v100 + .byte W12 + .byte Gn2 , v096 + .byte W12 + .byte VOICE , 81 + .byte PAN , c_v-64 + .byte VOL , 34*mus_demo1_mvl/mxv + .byte N06 , Fn1 , v112 + .byte W12 + .byte N12 , En1 + .byte W18 + .byte MOD , 8 + .byte W06 + .byte N06 , Fn1 + .byte W06 + .byte MOD , 0 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , Cn2 + .byte W24 + .byte MOD , 8 + .byte N12 , Fs1 + .byte W12 + .byte MOD , 0 + .byte N12 , Gn1 + .byte W12 + .byte N06 , Fs1 + .byte W12 + .byte N04 , Gn1 + .byte W08 + .byte Bn1 + .byte W08 + .byte Fn2 + .byte W08 + .byte VOICE , 80 + .byte N36 , Gn1 + .byte W12 + .byte MOD , 6 + .byte VOL , 33*mus_demo1_mvl/mxv + .byte W02 + .byte 32*mus_demo1_mvl/mxv + .byte W03 + .byte 30*mus_demo1_mvl/mxv + .byte W03 + .byte 28*mus_demo1_mvl/mxv + .byte W04 + .byte MOD , 9 + .byte VOL , 24*mus_demo1_mvl/mxv + .byte W02 + .byte 21*mus_demo1_mvl/mxv + .byte W03 + .byte 17*mus_demo1_mvl/mxv + .byte W07 + .byte 40*mus_demo1_mvl/mxv + .byte MOD , 0 + .byte N06 , Fn2 + .byte W06 + .byte Dn2 + .byte W06 + .byte VOL , 38*mus_demo1_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N60 , En4 + .byte W24 + .byte MOD , 4 + .byte VOL , 37*mus_demo1_mvl/mxv + .byte W02 + .byte 34*mus_demo1_mvl/mxv + .byte W03 + .byte 33*mus_demo1_mvl/mxv + .byte W03 + .byte 29*mus_demo1_mvl/mxv + .byte W04 + .byte 28*mus_demo1_mvl/mxv + .byte W02 + .byte 22*mus_demo1_mvl/mxv + .byte W03 + .byte 19*mus_demo1_mvl/mxv + .byte W03 + .byte 17*mus_demo1_mvl/mxv + .byte W04 + .byte 15*mus_demo1_mvl/mxv + .byte W02 + .byte 12*mus_demo1_mvl/mxv + .byte W03 + .byte 11*mus_demo1_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte VOL , 39*mus_demo1_mvl/mxv + .byte N06 , Fn4 , v084 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 , v080 + .byte W12 + .byte W96 + .byte W96 + .byte W48 + .byte BEND , c_v+1 + .byte N04 , Gn3 , v032 + .byte W04 + .byte Bn3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Bn5 + .byte W04 + .byte Dn6 + .byte W04 + .byte Fn6 + .byte W04 + .byte VOL , 24*mus_demo1_mvl/mxv + .byte N04 , Bn6 + .byte W04 + .byte Gn6 + .byte W04 + .byte Fn6 + .byte W04 + .byte Dn6 + .byte W04 + .byte Bn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Gn6 + .byte W04 + .byte Fn6 + .byte W04 + .byte Dn6 + .byte W04 + .byte Bn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Fn6 + .byte W04 + .byte Dn6 + .byte W04 + .byte Bn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn6 + .byte W04 + .byte Bn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Gn5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte N03 , Gn3 + .byte W24 + .byte W96 + .byte FINE + +@********************** Track 8 **********************@ + +mus_demo1_8: + .byte KEYSH , mus_demo1_key+0 + .byte VOICE , 83 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 22*mus_demo1_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte VOICE , 86 + .byte VOL , 34*mus_demo1_mvl/mxv + .byte PAN , c_v+63 + .byte N06 , Dn3 , v048 + .byte W12 + .byte N03 , Gs3 , v052 + .byte W03 + .byte N30 , Gn3 , v048 + .byte W09 + .byte MOD , 8 + .byte W21 + .byte 0 + .byte N03 , Fs3 , v072 + .byte W03 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , En3 + .byte W15 + .byte MOD , 8 + .byte W09 + .byte 0 + .byte N21 , Fn3 + .byte W21 + .byte N03 , Fs3 + .byte W03 + .byte N21 , Gn3 + .byte W21 + .byte N03 , Gs3 + .byte W03 + .byte N18 , An3 + .byte W18 + .byte N03 , Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N18 , En4 + .byte W18 + .byte N03 , Dn4 + .byte W03 + .byte Cn4 + .byte W03 + .byte VOL , 32*mus_demo1_mvl/mxv + .byte N42 , Bn3 + .byte W05 + .byte VOL , 26*mus_demo1_mvl/mxv + .byte W01 + .byte 29*mus_demo1_mvl/mxv + .byte W03 + .byte MOD , 6 + .byte W03 + .byte VOL , 26*mus_demo1_mvl/mxv + .byte W05 + .byte 22*mus_demo1_mvl/mxv + .byte W01 + .byte 24*mus_demo1_mvl/mxv + .byte W06 + .byte MOD , 8 + .byte VOL , 21*mus_demo1_mvl/mxv + .byte W05 + .byte 19*mus_demo1_mvl/mxv + .byte W07 + .byte 18*mus_demo1_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 34*mus_demo1_mvl/mxv + .byte N03 , Cn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte VOL , 34*mus_demo1_mvl/mxv + .byte N03 , Bn3 + .byte W03 + .byte Cn4 + .byte W03 + .byte N06 , Bn3 + .byte W06 + .byte An3 + .byte W06 + .byte Fn3 + .byte W06 + .byte VOICE , 86 + .byte N06 , Fn4 , v076 + .byte W06 + .byte An3 , v036 + .byte W06 + .byte Fn4 , v040 + .byte W06 + .byte Gn4 , v044 + .byte W06 + .byte Fn4 , v048 + .byte W06 + .byte An3 , v052 + .byte W06 + .byte Fn4 , v056 + .byte W06 + .byte Gn4 , v060 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte An3 , v068 + .byte W06 + .byte Fn4 , v072 + .byte W06 + .byte Gn4 , v076 + .byte W06 + .byte Fn4 , v080 + .byte W06 + .byte An3 + .byte W06 + .byte Fn4 , v084 + .byte W06 + .byte Gn4 , v088 + .byte W06 + .byte Dn4 , v092 + .byte W06 + .byte Fn3 , v096 + .byte W06 + .byte Dn4 , v100 + .byte W06 + .byte Fn4 , v104 + .byte W06 + .byte Dn4 , v100 + .byte W06 + .byte Fn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 , v096 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn3 , v092 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N06 + .byte W06 + .byte An3 + .byte W06 + .byte Fn4 , v096 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte An3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte An3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte An3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte VOL , 34*mus_demo1_mvl/mxv + .byte N03 , Fn4 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Bn3 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte VOICE , 80 + .byte N36 , Gn5 , v032 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_demo1_mvl/mxv + .byte W02 + .byte 24*mus_demo1_mvl/mxv + .byte W03 + .byte 22*mus_demo1_mvl/mxv + .byte W03 + .byte 19*mus_demo1_mvl/mxv + .byte W04 + .byte 17*mus_demo1_mvl/mxv + .byte W02 + .byte 11*mus_demo1_mvl/mxv + .byte W03 + .byte 10*mus_demo1_mvl/mxv + .byte W03 + .byte 9*mus_demo1_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte N03 , Fn5 + .byte W03 + .byte VOL , 34*mus_demo1_mvl/mxv + .byte N03 , Dn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte VOL , 33*mus_demo1_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Cn4 , v096 + .byte W12 + .byte Dn4 + .byte W12 + .byte N12 , En4 + .byte W12 + .byte N06 , En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , Gn3 + .byte W36 + .byte N06 , Cn4 + .byte W12 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Cn5 + .byte W12 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte Gn4 + .byte W12 + .byte N06 , Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte N06 + .byte W12 + .byte An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte N06 + .byte W12 + .byte N08 , An3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte N60 , Cn5 + .byte W24 + .byte VOL , 34*mus_demo1_mvl/mxv + .byte MOD , 5 + .byte W02 + .byte VOL , 31*mus_demo1_mvl/mxv + .byte W03 + .byte 29*mus_demo1_mvl/mxv + .byte W07 + .byte 25*mus_demo1_mvl/mxv + .byte W02 + .byte 24*mus_demo1_mvl/mxv + .byte W03 + .byte 22*mus_demo1_mvl/mxv + .byte W03 + .byte 19*mus_demo1_mvl/mxv + .byte W04 + .byte 17*mus_demo1_mvl/mxv + .byte W02 + .byte 14*mus_demo1_mvl/mxv + .byte W03 + .byte 10*mus_demo1_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte VOL , 34*mus_demo1_mvl/mxv + .byte N06 , Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte N24 , En5 , v084 + .byte W24 + .byte Dn5 + .byte W24 + .byte N16 , Cn5 + .byte W16 + .byte Bn4 + .byte W16 + .byte An4 + .byte W16 + .byte N48 , Bn4 , v096 + .byte W24 + .byte VOL , 29*mus_demo1_mvl/mxv + .byte MOD , 5 + .byte W04 + .byte VOL , 25*mus_demo1_mvl/mxv + .byte W04 + .byte 22*mus_demo1_mvl/mxv + .byte W04 + .byte 18*mus_demo1_mvl/mxv + .byte W04 + .byte 15*mus_demo1_mvl/mxv + .byte W08 + .byte 34*mus_demo1_mvl/mxv + .byte MOD , 0 + .byte N48 , Cn5 + .byte W24 + .byte VOL , 31*mus_demo1_mvl/mxv + .byte MOD , 5 + .byte W04 + .byte VOL , 28*mus_demo1_mvl/mxv + .byte W04 + .byte 25*mus_demo1_mvl/mxv + .byte W04 + .byte 22*mus_demo1_mvl/mxv + .byte W04 + .byte 19*mus_demo1_mvl/mxv + .byte W08 + .byte 34*mus_demo1_mvl/mxv + .byte MOD , 0 + .byte N48 , Dn5 + .byte W24 + .byte VOL , 29*mus_demo1_mvl/mxv + .byte MOD , 5 + .byte W04 + .byte VOL , 26*mus_demo1_mvl/mxv + .byte W04 + .byte 22*mus_demo1_mvl/mxv + .byte W04 + .byte 19*mus_demo1_mvl/mxv + .byte W04 + .byte 17*mus_demo1_mvl/mxv + .byte W04 + .byte 15*mus_demo1_mvl/mxv + .byte W04 + .byte 34*mus_demo1_mvl/mxv + .byte MOD , 0 + .byte TIE , Fn5 , v064 + .byte W24 + .byte VOL , 32*mus_demo1_mvl/mxv + .byte MOD , 8 + .byte W04 + .byte VOL , 31*mus_demo1_mvl/mxv + .byte W08 + .byte 28*mus_demo1_mvl/mxv + .byte W04 + .byte 26*mus_demo1_mvl/mxv + .byte W08 + .byte 25*mus_demo1_mvl/mxv + .byte W04 + .byte 24*mus_demo1_mvl/mxv + .byte W08 + .byte 22*mus_demo1_mvl/mxv + .byte W08 + .byte 21*mus_demo1_mvl/mxv + .byte W04 + .byte 19*mus_demo1_mvl/mxv + .byte W08 + .byte 18*mus_demo1_mvl/mxv + .byte W08 + .byte 17*mus_demo1_mvl/mxv + .byte W04 + .byte 15*mus_demo1_mvl/mxv + .byte W08 + .byte 14*mus_demo1_mvl/mxv + .byte W04 + .byte 12*mus_demo1_mvl/mxv + .byte W08 + .byte 11*mus_demo1_mvl/mxv + .byte W04 + .byte 9*mus_demo1_mvl/mxv + .byte W04 + .byte EOT + .byte MOD , 0 + .byte W24 + .byte W96 + .byte W96 + .byte FINE + +@********************** Track 9 **********************@ + +mus_demo1_9: + .byte KEYSH , mus_demo1_key+0 + .byte VOICE , 0 + .byte VOL , 51*mus_demo1_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W24 + .byte N06 , Fs2 , v112 + .byte W06 + .byte Fs2 , v028 + .byte W06 + .byte Fs2 , v040 + .byte W06 + .byte Fs2 , v016 + .byte W06 + .byte Fs2 , v028 + .byte W12 + .byte Fs2 , v020 + .byte W12 + .byte Fs2 , v012 + .byte W12 + .byte Fs2 , v008 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte N36 , An2 , v112 + .byte W48 + .byte An2 , v108 + .byte W96 + .byte W96 + .byte N48 , An2 , v112 + .byte W96 + .byte W96 + .byte N48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , En1 + .byte W12 + .byte N04 , En1 , v072 + .byte W04 + .byte En1 , v060 + .byte W04 + .byte N04 + .byte W04 + .byte N06 , En1 , v080 + .byte W12 + .byte N04 , En1 , v072 + .byte W04 + .byte En1 , v060 + .byte W04 + .byte N04 + .byte W04 + .byte N06 , En1 , v092 + .byte W12 + .byte N04 , En1 , v072 + .byte W04 + .byte En1 , v060 + .byte W04 + .byte N04 + .byte W04 + .byte N06 , En1 , v092 + .byte W12 + .byte N04 , En1 , v072 + .byte W04 + .byte En1 , v052 + .byte W04 + .byte N04 + .byte W04 + .byte N06 , En1 , v096 + .byte W96 + .byte FINE + +@********************** Track 10 **********************@ + +mus_demo1_10: + .byte KEYSH , mus_demo1_key+0 + .byte VOICE , 73 + .byte PAN , c_v+0 + .byte LFOS , 16 + .byte XCMD , xIECV , 6 + .byte xIECV , 4 + .byte BENDR , 12 + .byte VOL , 22*mus_demo1_mvl/mxv + .byte N06 , En5 , v020 + .byte W12 + .byte Fn5 , v024 + .byte W12 + .byte Gn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Dn5 + .byte W12 + .byte En5 + .byte W36 + .byte Cn4 , v064 + .byte W12 + .byte N03 , Ds4 + .byte W03 + .byte N80 , Dn4 + .byte W32 + .byte W01 + .byte MOD , 4 + .byte W24 + .byte 8 + .byte W24 + .byte 0 + .byte VOL , 22*mus_demo1_mvl/mxv + .byte N03 , Gs3 + .byte W03 + .byte N21 , An3 + .byte W21 + .byte N24 , Bn3 + .byte W24 + .byte Cn4 + .byte W24 + .byte N03 , Gs4 + .byte W03 + .byte N44 , Gn4 + .byte W21 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 14 + .byte W24 + .byte 0 + .byte VOL , 28*mus_demo1_mvl/mxv + .byte W24 + .byte BEND , c_v+0 + .byte W24 + .byte MOD , 8 + .byte W24 + .byte N48 , An3 , v052 + .byte W24 + .byte MOD , 14 + .byte W24 + .byte 0 + .byte N06 , Fn3 + .byte W12 + .byte N03 , Cn4 + .byte W03 + .byte N56 , Bn3 + .byte W09 + .byte MOD , 6 + .byte W24 + .byte 14 + .byte W24 + .byte 0 + .byte N06 , An4 , v064 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte VOL , 31*mus_demo1_mvl/mxv + .byte N24 , Cn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 2 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 2 + .byte N24 , En4 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , Bn4 + .byte W24 + .byte N12 + .byte W12 + .byte N03 , As4 , v040 + .byte W03 + .byte An4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte N04 , Dn5 , v060 + .byte W08 + .byte Bn4 + .byte W08 + .byte Dn5 , v056 + .byte W08 + .byte VOL , 34*mus_demo1_mvl/mxv + .byte BEND , c_v+0 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W12 + .byte VOL , 34*mus_demo1_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W24 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte W36 + .byte W96 + .byte W24 + .byte 6 + .byte W24 + .byte 0 + .byte W24 + .byte 6 + .byte W24 + .byte 0 + .byte W24 + .byte 6 + .byte W24 + .byte 0 + .byte W24 + .byte 6 + .byte W24 + .byte W72 + .byte 0 + .byte W24 + .byte W96 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +mus_demo1: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_demo1_pri @ Priority + .byte mus_demo1_rev @ Reverb. + + .word mus_demo1_grp + + .word mus_demo1_1 + .word mus_demo1_2 + .word mus_demo1_3 + .word mus_demo1_4 + .word mus_demo1_5 + .word mus_demo1_6 + .word mus_demo1_7 + .word mus_demo1_8 + .word mus_demo1_9 + .word mus_demo1_10 + + .end diff --git a/sound/songs/mus_dendou.s b/sound/songs/mus_dendou.s new file mode 100644 index 0000000000..21ba411a11 --- /dev/null +++ b/sound/songs/mus_dendou.s @@ -0,0 +1,2303 @@ + .include "MPlayDef.s" + + .equ mus_dendou_grp, voicegroup_868DC8C + .equ mus_dendou_pri, 0 + .equ mus_dendou_rev, reverb_set+50 + .equ mus_dendou_mvl, 127 + .equ mus_dendou_key, 0 + .equ mus_dendou_tbs, 1 + .equ mus_dendou_exg, 0 + .equ mus_dendou_cmp, 1 + + .section .rodata + .global mus_dendou + .align 2 + +@********************** Track 1 **********************@ + +mus_dendou_1: + .byte KEYSH , mus_dendou_key+0 + .byte TEMPO , 122*mus_dendou_tbs/2 + .byte VOICE , 127 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 30*mus_dendou_mvl/mxv + .byte W12 +mus_dendou_1_B1: + .byte W96 + .byte W96 +mus_dendou_1_000: + .byte N02 , Gs5 , v112 + .byte W08 + .byte Gs5 , v084 + .byte W04 + .byte Gs5 , v064 + .byte W04 + .byte Gs5 , v096 + .byte W08 + .byte Gs5 , v112 + .byte W16 + .byte Gs5 , v088 + .byte W08 + .byte Gs5 , v112 + .byte W08 + .byte Gs5 , v080 + .byte W08 + .byte Gs5 , v088 + .byte W08 + .byte Gs5 , v112 + .byte W16 + .byte Gs5 , v084 + .byte W08 + .byte PEND + .byte PATT + .word mus_dendou_1_000 + .byte PATT + .word mus_dendou_1_000 + .byte PATT + .word mus_dendou_1_000 + .byte PATT + .word mus_dendou_1_000 + .byte PATT + .word mus_dendou_1_000 + .byte PATT + .word mus_dendou_1_000 + .byte PATT + .word mus_dendou_1_000 + .byte PATT + .word mus_dendou_1_000 + .byte PATT + .word mus_dendou_1_000 + .byte PATT + .word mus_dendou_1_000 + .byte PATT + .word mus_dendou_1_000 + .byte PATT + .word mus_dendou_1_000 + .byte PATT + .word mus_dendou_1_000 + .byte PATT + .word mus_dendou_1_000 + .byte PATT + .word mus_dendou_1_000 + .byte GOTO + .word mus_dendou_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_dendou_2: + .byte KEYSH , mus_dendou_key+0 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 49*mus_dendou_mvl/mxv + .byte W12 +mus_dendou_2_B1: + .byte VOICE , 56 + .byte VOL , 78*mus_dendou_mvl/mxv + .byte N04 , An3 , v116 + .byte W08 + .byte Gs3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Ds3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Fs3 + .byte W08 + .byte En3 + .byte W08 + .byte Fs2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Gs2 + .byte W08 + .byte An2 + .byte W08 + .byte Fn2 + .byte W08 + .byte En2 + .byte W08 + .byte Ds2 + .byte W08 + .byte An2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte Bn2 + .byte W08 + .byte As2 + .byte W08 + .byte Fs3 + .byte W08 + .byte Gs3 + .byte W08 + .byte VOL , 49*mus_dendou_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W92 + .byte VOICE , 14 + .byte W04 + .byte VOL , 57*mus_dendou_mvl/mxv + .byte N40 , An4 , v112 + .byte W48 + .byte Fs4 + .byte W48 + .byte Gn4 + .byte W48 + .byte En4 + .byte W48 + .byte Gn4 + .byte W48 + .byte Dn4 + .byte W48 + .byte N24 , Cn5 + .byte W24 + .byte As4 + .byte W24 + .byte An4 + .byte W24 + .byte Gn4 + .byte W24 + .byte GOTO + .word mus_dendou_2_B1 + .byte VOL , 47*mus_dendou_mvl/mxv + .byte FINE + +@********************** Track 3 **********************@ + +mus_dendou_3: + .byte KEYSH , mus_dendou_key+0 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+14 + .byte VOL , 40*mus_dendou_mvl/mxv + .byte W12 +mus_dendou_3_B1: + .byte VOICE , 60 + .byte W96 + .byte W96 + .byte W48 + .byte N04 , Dn3 , v112 + .byte W08 + .byte An2 + .byte W08 + .byte Dn3 + .byte W08 + .byte N72 , En3 + .byte W24 + .byte W48 + .byte N04 , Fs3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Dn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Cn3 + .byte N04 , En3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N48 , Cn4 + .byte W48 + .byte N04 , Bn3 + .byte W16 + .byte Cn4 + .byte W08 + .byte N32 , An3 + .byte W32 + .byte N04 , Fn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N40 , An3 + .byte W40 + .byte N04 , Fs3 + .byte W08 + .byte W48 + .byte Fs4 + .byte W16 + .byte An4 + .byte W08 + .byte N56 , Gn4 + .byte W24 + .byte W32 + .byte N04 , Fs4 + .byte W08 + .byte En4 + .byte W08 + .byte N24 , Fs4 + .byte W24 + .byte Dn4 + .byte W24 + .byte N04 , An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte N04 , Cn4 + .byte W16 + .byte En4 + .byte W08 + .byte N24 , Gn4 + .byte W24 + .byte N04 , En4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Gn4 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte Cn5 + .byte W08 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gn4 + .byte W08 + .byte Cn5 + .byte W08 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_dendou_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_dendou_4: + .byte KEYSH , mus_dendou_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-13 + .byte VOL , 72*mus_dendou_mvl/mxv + .byte N04 , An2 , v112 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 +mus_dendou_4_B1: + .byte N12 , En2 , v112 + .byte W32 + .byte N04 , An2 + .byte W08 + .byte En2 + .byte W08 + .byte N08 , An1 + .byte W32 + .byte N04 + .byte W08 + .byte An1 , v084 + .byte W08 + .byte N12 , En2 , v112 + .byte W16 + .byte N04 , En2 , v092 + .byte W16 + .byte En2 , v076 + .byte W08 + .byte En2 , v088 + .byte W08 + .byte En2 , v096 + .byte W08 + .byte An2 , v112 + .byte W04 + .byte An2 , v084 + .byte W04 + .byte An2 , v096 + .byte W08 + .byte An2 , v112 + .byte W08 + .byte En2 + .byte W08 + .byte An1 , v096 + .byte W08 + .byte N08 , Dn2 , v112 + .byte W16 + .byte N04 , An1 + .byte W08 + .byte N24 , An2 + .byte W56 + .byte N08 , An3 + .byte W08 + .byte N08 + .byte W08 +mus_dendou_4_000: + .byte N08 , Dn2 , v112 + .byte W16 + .byte N04 , An1 + .byte W08 + .byte N24 , An2 + .byte W60 + .byte N04 , An3 , v064 + .byte W04 + .byte An3 , v088 + .byte W04 + .byte An3 , v112 + .byte W04 + .byte PEND +mus_dendou_4_001: + .byte N24 , An2 , v112 + .byte W24 + .byte N04 , Dn2 , v060 + .byte W08 + .byte Dn2 , v076 + .byte W08 + .byte Dn2 , v080 + .byte W08 + .byte Dn2 , v084 + .byte W08 + .byte Dn2 , v088 + .byte W08 + .byte Dn2 , v112 + .byte W08 + .byte Cn3 , v076 + .byte W08 + .byte Cn3 , v068 + .byte W04 + .byte Cn3 , v080 + .byte W04 + .byte Cn3 , v088 + .byte W04 + .byte Cn3 , v112 + .byte W04 + .byte PEND + .byte N06 , Dn3 + .byte W08 + .byte N04 , Dn2 + .byte W16 + .byte An3 , v076 + .byte W08 + .byte An3 , v088 + .byte W08 + .byte An3 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , An2 + .byte W16 + .byte N04 , An2 , v048 + .byte W04 + .byte An2 , v064 + .byte W04 + .byte An2 , v076 + .byte W04 + .byte An2 , v096 + .byte W04 + .byte An2 , v127 + .byte W04 + .byte N04 + .byte W04 + .byte N08 , An2 , v112 + .byte W16 + .byte N04 , An1 + .byte W08 + .byte N24 , An2 + .byte W56 + .byte N08 , An3 + .byte W08 + .byte N08 + .byte W08 + .byte PATT + .word mus_dendou_4_000 + .byte PATT + .word mus_dendou_4_001 + .byte N06 , Dn3 , v112 + .byte W08 + .byte N08 , Dn2 + .byte W16 + .byte N04 , An3 , v076 + .byte W16 + .byte An3 , v112 + .byte W08 + .byte Dn3 + .byte W08 + .byte Dn3 , v076 + .byte W04 + .byte N04 + .byte W04 + .byte Dn3 , v080 + .byte W08 + .byte Dn3 , v112 + .byte W08 + .byte Dn2 + .byte W08 + .byte An2 + .byte W08 + .byte N16 , Dn2 , v108 + .byte W40 + .byte N04 , An1 , v084 + .byte W08 + .byte N12 , Dn2 , v112 + .byte W40 + .byte N04 , An1 , v080 + .byte W04 + .byte N04 + .byte W04 +mus_dendou_4_002: + .byte N12 , Cn2 , v112 + .byte W56 + .byte N04 , Cn2 , v108 + .byte W08 + .byte Gn1 , v088 + .byte W08 + .byte N08 , Cn2 , v112 + .byte W16 + .byte N04 , Gn1 , v080 + .byte W08 + .byte PEND +mus_dendou_4_003: + .byte N12 , Bn1 , v112 + .byte W64 + .byte N04 , Fs1 , v084 + .byte W04 + .byte Fs1 , v092 + .byte W04 + .byte N08 , Bn1 , v112 + .byte W16 + .byte N04 , Bn1 , v096 + .byte W08 + .byte PEND + .byte W08 + .byte Fn2 , v084 + .byte W08 + .byte Fn2 , v072 + .byte W08 + .byte N12 , As1 , v112 + .byte W16 + .byte N04 , As1 , v080 + .byte W16 + .byte Gn2 , v084 + .byte W08 + .byte Gn2 , v092 + .byte W08 + .byte An2 , v112 + .byte W08 + .byte N04 + .byte W04 + .byte An2 , v092 + .byte W04 + .byte N08 , Dn2 + .byte W08 + .byte N16 , An2 , v108 + .byte W40 + .byte N04 , An1 , v084 + .byte W08 + .byte N12 , Dn2 , v112 + .byte W40 + .byte N04 , An1 , v080 + .byte W04 + .byte N04 + .byte W04 + .byte PATT + .word mus_dendou_4_002 + .byte PATT + .word mus_dendou_4_003 + .byte W08 + .byte N04 , Fn2 , v084 + .byte W08 + .byte Fn2 , v072 + .byte W08 + .byte N12 , As1 , v112 + .byte W16 + .byte N04 , As1 , v080 + .byte W16 + .byte Gn2 , v084 + .byte W08 + .byte Gn2 , v092 + .byte W08 + .byte Gn2 , v112 + .byte W08 + .byte N04 + .byte W04 + .byte Gn2 , v092 + .byte W04 + .byte Cn2 + .byte W04 + .byte Cn2 , v112 + .byte W04 + .byte GOTO + .word mus_dendou_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_dendou_5: + .byte KEYSH , mus_dendou_key+0 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 60*mus_dendou_mvl/mxv + .byte PAN , c_v+0 + .byte W12 +mus_dendou_5_B1: + .byte VOICE , 48 + .byte N08 , An4 , v112 + .byte W08 + .byte N04 + .byte W04 + .byte Gs4 + .byte W04 + .byte An4 + .byte W08 + .byte N04 + .byte W08 + .byte Gs4 + .byte W08 + .byte An4 + .byte W08 + .byte N08 , Bn4 + .byte W08 + .byte N04 , An4 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gs4 + .byte W08 + .byte An4 + .byte W08 + .byte N08 , Cn5 + .byte W08 + .byte N04 , An4 + .byte W04 + .byte Gs4 + .byte W04 + .byte An4 + .byte W08 + .byte N04 + .byte W08 + .byte Bn4 + .byte W08 + .byte Cn5 + .byte W08 + .byte N08 , Cs5 + .byte W08 + .byte N04 + .byte W04 + .byte Cn5 + .byte W04 + .byte Cs5 + .byte W08 + .byte N04 + .byte W08 + .byte Dn5 + .byte W08 + .byte En5 + .byte W06 + .byte N02 , Ds4 , v096 + .byte W02 + .byte VOL , 63*mus_dendou_mvl/mxv + .byte N08 , Dn4 , v112 + .byte W08 + .byte N04 , An3 + .byte W08 + .byte Dn4 + .byte W08 + .byte N48 , En4 + .byte W24 + .byte MOD , 7 + .byte W04 + .byte VOL , 54*mus_dendou_mvl/mxv + .byte W04 + .byte 49*mus_dendou_mvl/mxv + .byte W04 + .byte 40*mus_dendou_mvl/mxv + .byte W04 + .byte 28*mus_dendou_mvl/mxv + .byte W04 + .byte 20*mus_dendou_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 63*mus_dendou_mvl/mxv + .byte W24 + .byte N08 , Dn4 + .byte W08 + .byte N04 , An3 + .byte W08 + .byte Dn4 + .byte W08 + .byte N48 , En4 + .byte W24 + .byte MOD , 7 + .byte W04 + .byte VOL , 54*mus_dendou_mvl/mxv + .byte W04 + .byte 49*mus_dendou_mvl/mxv + .byte W04 + .byte 40*mus_dendou_mvl/mxv + .byte W04 + .byte 28*mus_dendou_mvl/mxv + .byte W04 + .byte 20*mus_dendou_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 63*mus_dendou_mvl/mxv + .byte N04 , Gn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte En4 + .byte W08 + .byte N08 , Cn4 + .byte W08 + .byte N04 , Gn3 + .byte W08 + .byte Cn4 + .byte W08 + .byte N48 , Dn4 + .byte W24 + .byte MOD , 7 + .byte W04 + .byte VOL , 54*mus_dendou_mvl/mxv + .byte W04 + .byte 49*mus_dendou_mvl/mxv + .byte W04 + .byte 40*mus_dendou_mvl/mxv + .byte W04 + .byte 28*mus_dendou_mvl/mxv + .byte W04 + .byte 20*mus_dendou_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 63*mus_dendou_mvl/mxv + .byte W22 + .byte N02 , Cs4 , v096 + .byte W02 + .byte N04 , Cn4 , v112 + .byte W08 + .byte Gn3 + .byte W08 + .byte Cn4 + .byte W08 + .byte N48 , Fn4 + .byte W24 + .byte MOD , 7 + .byte W04 + .byte VOL , 54*mus_dendou_mvl/mxv + .byte W04 + .byte 49*mus_dendou_mvl/mxv + .byte W04 + .byte 40*mus_dendou_mvl/mxv + .byte W04 + .byte 28*mus_dendou_mvl/mxv + .byte W04 + .byte 20*mus_dendou_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 63*mus_dendou_mvl/mxv + .byte N04 , En4 + .byte W16 + .byte VOICE , 56 + .byte N04 , Cn4 + .byte W04 + .byte VOL , 76*mus_dendou_mvl/mxv + .byte W02 + .byte N02 , Ds5 , v096 + .byte W02 + .byte N04 , Dn5 , v112 + .byte W08 + .byte An4 + .byte W08 + .byte Dn5 + .byte W08 + .byte N48 , En5 + .byte W24 + .byte MOD , 7 + .byte W04 + .byte VOL , 68*mus_dendou_mvl/mxv + .byte W04 + .byte 62*mus_dendou_mvl/mxv + .byte W04 + .byte 49*mus_dendou_mvl/mxv + .byte W04 + .byte 35*mus_dendou_mvl/mxv + .byte W04 + .byte 24*mus_dendou_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 78*mus_dendou_mvl/mxv + .byte W24 + .byte N08 , Dn5 + .byte W08 + .byte N04 , An4 + .byte W08 + .byte Dn5 + .byte W08 + .byte N48 , En5 + .byte W24 + .byte MOD , 7 + .byte W04 + .byte VOL , 68*mus_dendou_mvl/mxv + .byte W04 + .byte 62*mus_dendou_mvl/mxv + .byte W04 + .byte 49*mus_dendou_mvl/mxv + .byte W04 + .byte 35*mus_dendou_mvl/mxv + .byte W04 + .byte 24*mus_dendou_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 78*mus_dendou_mvl/mxv + .byte N04 , Gn5 + .byte W08 + .byte Fs5 + .byte W08 + .byte En5 + .byte W08 + .byte N08 , Cn5 + .byte W08 + .byte N04 , Gn4 + .byte W08 + .byte Cn5 + .byte W08 + .byte N48 , Dn5 + .byte W24 + .byte MOD , 7 + .byte W04 + .byte VOL , 68*mus_dendou_mvl/mxv + .byte W04 + .byte 62*mus_dendou_mvl/mxv + .byte W04 + .byte 49*mus_dendou_mvl/mxv + .byte W04 + .byte 35*mus_dendou_mvl/mxv + .byte W04 + .byte 24*mus_dendou_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 78*mus_dendou_mvl/mxv + .byte W24 + .byte N04 , Cn5 + .byte W08 + .byte Gn4 + .byte W08 + .byte Cn5 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte En5 + .byte W08 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Cn5 + .byte W08 + .byte En5 + .byte W04 + .byte VOICE , 24 + .byte W04 + .byte VOL , 68*mus_dendou_mvl/mxv + .byte N04 , Fs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte An4 + .byte W08 + .byte N48 , Dn5 + .byte W24 + .byte MOD , 7 + .byte W04 + .byte VOL , 68*mus_dendou_mvl/mxv + .byte W04 + .byte 62*mus_dendou_mvl/mxv + .byte W04 + .byte 49*mus_dendou_mvl/mxv + .byte W04 + .byte 35*mus_dendou_mvl/mxv + .byte W04 + .byte 24*mus_dendou_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 69*mus_dendou_mvl/mxv + .byte N16 , Fs4 + .byte W16 + .byte N04 , Gn4 + .byte W08 + .byte N32 , An4 + .byte W32 + .byte N04 , Gn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N24 , Gn4 + .byte W24 + .byte Dn4 + .byte W24 + .byte N32 , Bn4 + .byte W32 + .byte N04 , An4 + .byte W08 + .byte Gn4 + .byte W08 + .byte N24 , Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte N04 , Fn4 + .byte W08 + .byte Dn4 + .byte W08 + .byte As3 + .byte W08 + .byte Fn3 + .byte W08 + .byte As3 + .byte W08 + .byte Dn4 + .byte W08 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Gn3 + .byte W04 + .byte En3 + .byte W04 + .byte Cn3 + .byte W04 + .byte En3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Cn4 + .byte W04 + .byte En4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Cn5 + .byte W04 + .byte VOICE , 48 + .byte VOL , 54*mus_dendou_mvl/mxv + .byte N04 , Fs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte An4 + .byte W08 + .byte N08 , Dn5 + .byte W08 + .byte N04 , En5 + .byte W08 + .byte Dn5 + .byte W08 + .byte N24 , An4 + .byte W24 + .byte N04 , Fs4 + .byte W16 + .byte An4 + .byte W08 + .byte N32 + .byte W32 + .byte N04 , Gn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N02 , Gs4 , v088 + .byte W02 + .byte N22 , Gn4 , v112 + .byte W22 + .byte N24 , Dn4 + .byte W24 + .byte N04 , Bn4 + .byte W16 + .byte Cs5 + .byte W08 + .byte N48 , Dn5 + .byte W24 + .byte MOD , 7 + .byte W04 + .byte VOL , 47*mus_dendou_mvl/mxv + .byte W04 + .byte 44*mus_dendou_mvl/mxv + .byte W04 + .byte 37*mus_dendou_mvl/mxv + .byte W04 + .byte 28*mus_dendou_mvl/mxv + .byte W04 + .byte 24*mus_dendou_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 54*mus_dendou_mvl/mxv + .byte N08 , En5 + .byte W24 + .byte N04 , Fn5 + .byte W08 + .byte An5 + .byte W08 + .byte Gn5 + .byte W08 + .byte Dn5 + .byte W08 + .byte Fn5 + .byte W08 + .byte En5 + .byte W08 + .byte Cn5 + .byte W08 + .byte En5 + .byte W08 + .byte Dn5 + .byte W08 + .byte An4 + .byte W08 + .byte En5 + .byte W08 + .byte An5 + .byte W08 + .byte GOTO + .word mus_dendou_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_dendou_6: + .byte KEYSH , mus_dendou_key+0 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-61 + .byte VOL , 33*mus_dendou_mvl/mxv + .byte W12 +mus_dendou_6_B1: + .byte VOICE , 80 + .byte N08 , An3 , v112 + .byte W08 + .byte N04 + .byte W04 + .byte Gs3 + .byte W04 + .byte An3 + .byte W08 + .byte N04 + .byte W08 + .byte Gs3 + .byte W08 + .byte An3 + .byte W08 + .byte N08 , Bn3 + .byte W08 + .byte N04 , An3 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gs3 + .byte W08 + .byte An3 + .byte W08 + .byte N08 , Cn4 + .byte W08 + .byte N04 , An3 + .byte W04 + .byte Gs3 + .byte W04 + .byte An3 + .byte W08 + .byte N04 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cn4 + .byte W08 + .byte N08 , Cs4 + .byte W08 + .byte N04 + .byte W04 + .byte Cn4 + .byte W04 + .byte Cs4 + .byte W08 + .byte N04 + .byte W08 + .byte Dn4 + .byte W08 + .byte En4 + .byte W08 + .byte An2 , v044 + .byte W08 + .byte N02 , Dn3 , v112 + .byte W04 + .byte N04 , Cs3 + .byte W04 + .byte N02 , Dn3 + .byte W08 + .byte N02 + .byte W24 + .byte N06 , Fs3 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N04 , An2 , v052 + .byte W08 + .byte N02 , Dn3 , v112 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N06 , Fs3 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N06 + .byte W08 + .byte N02 + .byte W08 + .byte N04 , An2 , v044 + .byte W08 + .byte N02 , Dn3 , v112 + .byte W04 + .byte N04 , Cs3 + .byte W04 + .byte N02 , Dn3 + .byte W08 + .byte N02 + .byte W24 + .byte N06 , Fs3 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N06 , Fn3 + .byte W08 + .byte N02 , Fs3 + .byte W08 + .byte N04 , Fn2 , v052 + .byte W08 + .byte N02 , Cn3 , v112 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N06 , Fn3 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N06 , En3 + .byte W08 + .byte N02 , Fn3 + .byte W08 + .byte W48 + .byte N04 , Dn3 + .byte W08 + .byte En3 + .byte W08 + .byte Fs3 + .byte W08 + .byte N08 , An3 + .byte W08 + .byte N04 , Bn3 + .byte W08 + .byte An3 + .byte W08 + .byte N24 , Fs3 + .byte W32 + .byte N04 , En3 + .byte W08 + .byte Dn3 + .byte W08 + .byte N04 + .byte W16 + .byte Fs3 + .byte W08 + .byte N56 , An3 + .byte W24 + .byte W32 + .byte N08 , Gn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte N48 , En3 + .byte W48 + .byte N04 , Dn3 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte Cn4 + .byte W08 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gn3 + .byte W08 + .byte Cn4 + .byte W08 +mus_dendou_6_000: + .byte N04 , Dn6 , v112 + .byte W08 + .byte N04 + .byte W04 + .byte Cs6 + .byte W04 + .byte Dn6 + .byte W04 + .byte PAN , c_v+63 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W04 + .byte Cs6 + .byte W04 + .byte Dn6 + .byte W04 + .byte PAN , c_v-61 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte PEND + .byte PATT + .word mus_dendou_6_000 + .byte PATT + .word mus_dendou_6_000 + .byte PATT + .word mus_dendou_6_000 + .byte N04 , An5 , v112 + .byte W08 + .byte Gn5 + .byte W08 + .byte Fs5 + .byte W04 + .byte PAN , c_v+63 + .byte W04 + .byte N04 , Gn5 + .byte W08 + .byte Fs5 + .byte W08 + .byte En5 + .byte W08 + .byte Fs5 + .byte W08 + .byte En5 + .byte W08 + .byte Dn5 + .byte W04 + .byte PAN , c_v-61 + .byte W04 + .byte N04 , En5 + .byte W08 + .byte Dn5 + .byte W08 + .byte An4 + .byte W08 + .byte An5 + .byte W08 + .byte Gn5 + .byte W08 + .byte Fs5 + .byte W04 + .byte PAN , c_v+63 + .byte W04 + .byte N04 , Gn5 + .byte W08 + .byte Fs5 + .byte W08 + .byte En5 + .byte W08 + .byte Fs5 + .byte W08 + .byte En5 + .byte W08 + .byte Dn5 + .byte W04 + .byte PAN , c_v-61 + .byte W04 + .byte N04 , En5 + .byte W08 + .byte Dn5 + .byte W08 + .byte Cn5 + .byte W08 + .byte Bn5 + .byte W08 + .byte An5 + .byte W08 + .byte Gn5 + .byte W04 + .byte PAN , c_v+63 + .byte W04 + .byte N04 , An5 + .byte W08 + .byte Gn5 + .byte W08 + .byte Fs5 + .byte W08 + .byte Gn5 + .byte W08 + .byte Fs5 + .byte W08 + .byte En5 + .byte W04 + .byte PAN , c_v-61 + .byte W04 + .byte N04 , Bn4 + .byte W08 + .byte Dn5 + .byte W08 + .byte Bn5 + .byte W08 + .byte Fn3 + .byte W04 + .byte An3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte An4 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Cn5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte As4 + .byte W04 + .byte Fn4 + .byte W04 + .byte As4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gn3 + .byte W04 + .byte Cn4 + .byte W04 + .byte En4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Cn5 + .byte W04 + .byte PAN , c_v-61 + .byte N04 , En5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte GOTO + .word mus_dendou_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_dendou_7: + .byte KEYSH , mus_dendou_key+0 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 33*mus_dendou_mvl/mxv + .byte W12 +mus_dendou_7_B1: + .byte VOICE , 81 + .byte VOL , 36*mus_dendou_mvl/mxv + .byte PAN , c_v+63 + .byte N08 , En4 , v112 + .byte W08 + .byte N04 + .byte W04 + .byte Ds4 + .byte W04 + .byte En4 + .byte W08 + .byte N04 + .byte W08 + .byte Ds4 + .byte W08 + .byte En4 + .byte W08 + .byte N08 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Ds4 + .byte W08 + .byte En4 + .byte W08 + .byte N08 + .byte W08 + .byte N04 + .byte W04 + .byte Ds4 + .byte W04 + .byte En4 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , An4 + .byte W08 + .byte N04 + .byte W04 + .byte Gs4 + .byte W04 + .byte An4 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fs3 , v044 + .byte W08 + .byte N02 , An3 , v112 + .byte W04 + .byte N04 , Gs3 + .byte W04 + .byte N02 , An3 + .byte W08 + .byte N02 + .byte W24 + .byte N06 , Dn4 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N04 , Fs3 , v052 + .byte W08 + .byte N02 , An3 , v112 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N06 , Dn4 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N06 , Cs4 + .byte W08 + .byte N02 , Dn4 + .byte W08 + .byte N04 , Fs3 , v044 + .byte W08 + .byte N02 , An3 , v112 + .byte W04 + .byte N04 , Gs3 + .byte W04 + .byte N02 , An3 + .byte W08 + .byte N02 + .byte W24 + .byte N06 , Dn4 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N06 , Cs4 + .byte W08 + .byte N02 , Dn4 + .byte W08 + .byte N04 , Cn3 , v052 + .byte W08 + .byte N02 , Fn3 , v112 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N06 , Cn4 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N06 , Bn3 + .byte W08 + .byte N02 , Cn4 + .byte W08 + .byte W48 + .byte N04 , Fs3 + .byte W08 + .byte Gn3 + .byte W08 + .byte An3 + .byte W08 + .byte N08 , Dn4 + .byte W08 + .byte N04 , En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N24 , An3 + .byte W32 + .byte N04 , Gn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte An3 + .byte W16 + .byte Dn4 + .byte W08 + .byte N56 , Fs4 + .byte W24 + .byte W32 + .byte N08 , En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N48 , Cn4 + .byte W48 + .byte N04 , An3 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte En4 + .byte W08 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Cn4 + .byte W08 + .byte En4 + .byte W04 + .byte PAN , c_v+0 + .byte W04 + .byte VOL , 50*mus_dendou_mvl/mxv + .byte N16 , Dn2 + .byte W24 + .byte Dn2 , v088 + .byte W16 + .byte N04 , An1 , v112 + .byte W08 + .byte Dn2 , v096 + .byte W08 + .byte N12 , Dn2 , v112 + .byte W16 + .byte N16 , Dn2 , v084 + .byte W16 + .byte N04 , An1 , v112 + .byte W08 +mus_dendou_7_000: + .byte N16 , Cn2 , v112 + .byte W24 + .byte N08 , Cn2 , v088 + .byte W16 + .byte N04 , Gn1 , v112 + .byte W16 + .byte Cn2 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Cn2 , v084 + .byte W16 + .byte N04 , Gn1 , v112 + .byte W08 + .byte PEND +mus_dendou_7_001: + .byte N16 , Bn1 , v112 + .byte W24 + .byte N08 , Bn1 , v088 + .byte W16 + .byte N04 , Fs1 , v112 + .byte W08 + .byte Bn1 + .byte W08 + .byte N12 + .byte W16 + .byte N08 , Bn1 , v084 + .byte W16 + .byte N04 , Fs1 , v112 + .byte W08 + .byte PEND +mus_dendou_7_002: + .byte W08 + .byte N04 , As1 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W16 + .byte N04 , Fn1 + .byte W16 + .byte Cn2 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W16 + .byte N04 , Gn1 + .byte W08 + .byte PEND + .byte N16 , Dn2 + .byte W24 + .byte Dn2 , v088 + .byte W16 + .byte N04 , An1 , v112 + .byte W08 + .byte Dn2 , v096 + .byte W08 + .byte N12 , Dn2 , v112 + .byte W16 + .byte N16 , Dn2 , v084 + .byte W16 + .byte N04 , An1 , v112 + .byte W08 + .byte PATT + .word mus_dendou_7_000 + .byte PATT + .word mus_dendou_7_001 + .byte PATT + .word mus_dendou_7_002 + .byte GOTO + .word mus_dendou_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_dendou_8: + .byte KEYSH , mus_dendou_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 44*mus_dendou_mvl/mxv + .byte W12 +mus_dendou_8_B1: + .byte N48 , An2 , v112 + .byte W48 + .byte An2 , v092 + .byte W48 + .byte N24 , An2 , v088 + .byte W24 + .byte An2 , v120 + .byte W72 + .byte N48 , An2 , v112 + .byte W96 + .byte W96 + .byte W96 + .byte N48 + .byte W96 + .byte N48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_dendou_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_dendou_9: + .byte KEYSH , mus_dendou_key+0 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 50*mus_dendou_mvl/mxv + .byte W12 +mus_dendou_9_B1: + .byte VOICE , 82 + .byte VOL , 67*mus_dendou_mvl/mxv + .byte N12 , An1 , v112 + .byte W32 + .byte N04 , An1 , v088 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , An1 , v112 + .byte W32 + .byte N04 , An1 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , An1 , v112 + .byte W16 + .byte N04 , An1 , v096 + .byte W16 + .byte An1 , v112 + .byte W08 + .byte An1 , v084 + .byte W08 + .byte An1 , v092 + .byte W08 + .byte N12 , An1 , v096 + .byte W16 + .byte An1 , v112 + .byte W16 + .byte N04 + .byte W08 +mus_dendou_9_000: + .byte N06 , Dn2 , v112 + .byte W08 + .byte N02 + .byte W04 + .byte N04 , Cs2 + .byte W04 + .byte N02 , Dn2 + .byte W08 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N04 + .byte W08 + .byte An1 + .byte W08 + .byte Dn2 + .byte W08 + .byte An2 + .byte W08 + .byte N02 , Dn2 + .byte W04 + .byte N02 + .byte W04 + .byte PEND +mus_dendou_9_001: + .byte N06 , Dn2 , v112 + .byte W08 + .byte N02 + .byte W04 + .byte N04 , Cs2 + .byte W04 + .byte N02 , Dn2 + .byte W08 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N04 + .byte W08 + .byte An1 + .byte W16 + .byte An2 + .byte W08 + .byte N02 , Dn2 + .byte W04 + .byte N02 + .byte W04 + .byte PEND + .byte N06 + .byte W08 + .byte N02 + .byte W04 + .byte N04 , Cs2 + .byte W04 + .byte N02 , Dn2 + .byte W08 + .byte N32 , Dn3 , v092 + .byte W32 + .byte N04 , Dn2 , v112 + .byte W08 + .byte An1 + .byte W08 + .byte An2 + .byte W16 + .byte Dn2 + .byte W08 + .byte N06 + .byte W08 + .byte N02 + .byte W04 + .byte N04 , Cs2 + .byte W04 + .byte N02 , Dn2 + .byte W08 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N04 + .byte W08 + .byte An1 + .byte W08 + .byte Dn2 + .byte W08 + .byte An2 + .byte W08 + .byte Dn2 + .byte W08 + .byte PATT + .word mus_dendou_9_000 + .byte PATT + .word mus_dendou_9_001 + .byte N06 , Dn2 , v112 + .byte W08 + .byte N02 + .byte W04 + .byte N04 , Cs2 + .byte W04 + .byte N02 , Dn2 + .byte W08 + .byte N32 , Dn3 , v080 + .byte W32 + .byte N04 , Dn2 , v112 + .byte W08 + .byte An1 + .byte W32 + .byte N06 , Dn2 + .byte W08 + .byte N02 + .byte W04 + .byte N04 , Cs2 + .byte W04 + .byte N02 , Dn2 + .byte W08 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N04 + .byte W08 + .byte An1 + .byte W32 + .byte VOICE , 83 + .byte VOL , 40*mus_dendou_mvl/mxv + .byte BEND , c_v+1 + .byte N04 , Fs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte An4 + .byte W08 + .byte N48 , Dn5 + .byte W48 + .byte N16 , Fs4 + .byte W16 + .byte N04 , Gn4 + .byte W08 + .byte N32 , An4 + .byte W32 + .byte N04 , Gn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N24 , Gn4 + .byte W24 + .byte Dn4 + .byte W24 + .byte N32 , Bn4 + .byte W32 + .byte N04 , An4 + .byte W08 + .byte Gn4 + .byte W08 + .byte N24 , Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte N04 , Fn4 + .byte W08 + .byte Dn4 + .byte W08 + .byte As3 + .byte W08 + .byte Fn3 + .byte W08 + .byte As3 + .byte W08 + .byte Dn4 + .byte W08 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Gn3 + .byte W16 + .byte N04 + .byte W04 + .byte Cn4 + .byte W04 + .byte En4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Cn5 + .byte W04 + .byte Fs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte An4 + .byte W08 + .byte N08 , Dn5 + .byte W08 + .byte N04 , En5 + .byte W08 + .byte Dn5 + .byte W08 + .byte N24 , An4 + .byte W24 + .byte N04 , Fs4 + .byte W16 + .byte An4 + .byte W08 + .byte N32 + .byte W32 + .byte N04 , Gn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N02 , Gs4 , v088 + .byte W02 + .byte N22 , Gn4 , v112 + .byte W22 + .byte N24 , Dn4 + .byte W24 + .byte N04 , Bn4 + .byte W16 + .byte Cs5 + .byte W08 + .byte N48 , Dn5 + .byte W48 + .byte N08 , En5 + .byte W24 + .byte N04 , Fn5 + .byte W08 + .byte An5 + .byte W08 + .byte Gn5 + .byte W08 + .byte Dn5 + .byte W08 + .byte Fn5 + .byte W08 + .byte En5 + .byte W08 + .byte Cn5 + .byte W08 + .byte En5 + .byte W08 + .byte Dn5 + .byte W08 + .byte An4 + .byte W08 + .byte En5 + .byte W08 + .byte An5 + .byte W08 + .byte GOTO + .word mus_dendou_9_B1 + .byte BEND , c_v+0 + .byte FINE + +@********************** Track 10 **********************@ + +mus_dendou_10: + .byte KEYSH , mus_dendou_key+0 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+13 + .byte VOL , 54*mus_dendou_mvl/mxv + .byte W12 +mus_dendou_10_B1: + .byte VOICE , 48 + .byte W96 + .byte W96 +mus_dendou_10_000: + .byte N08 , Fs3 , v112 + .byte W08 + .byte N04 , Dn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte N48 , An3 + .byte W72 + .byte PEND + .byte PATT + .word mus_dendou_10_000 + .byte N08 , En3 , v112 + .byte W08 + .byte N04 , Cn3 + .byte W08 + .byte En3 + .byte W08 + .byte N48 , Gn3 + .byte W72 + .byte W92 + .byte N04 , Gn4 + .byte W04 + .byte Fs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N48 , An4 + .byte W72 + .byte N08 , Fs4 + .byte W08 + .byte N04 , Dn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N48 , An4 + .byte W48 + .byte N04 , Dn5 + .byte W08 + .byte Cn5 + .byte W08 + .byte Bn4 + .byte W08 + .byte N08 , En4 + .byte W08 + .byte N04 , Cn4 + .byte W08 + .byte En4 + .byte W08 + .byte N48 , Gn4 + .byte W72 + .byte W92 + .byte VOICE , 56 + .byte VOL , 38*mus_dendou_mvl/mxv + .byte W04 + .byte W48 + .byte N04 , An3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte En4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N32 , Gn4 + .byte W32 + .byte N04 , Dn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte N24 , Dn4 + .byte W24 + .byte Gn3 + .byte W24 + .byte N32 , Dn4 + .byte W32 + .byte N04 , En4 + .byte W08 + .byte Bn3 + .byte W08 + .byte N24 , Gn3 + .byte W24 + .byte An3 + .byte W20 + .byte VOICE , 24 + .byte W04 + .byte N04 , As3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte As2 + .byte W08 + .byte Dn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Cn4 + .byte W04 + .byte Gn3 + .byte W04 + .byte En3 + .byte W04 + .byte Cn3 + .byte W08 + .byte Gn2 + .byte W04 + .byte Cn3 + .byte W04 + .byte En3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Cn4 + .byte W04 + .byte En4 + .byte W04 + .byte VOICE , 56 + .byte W04 + .byte N04 , Fs4 + .byte W08 + .byte N04 + .byte W04 + .byte Fn4 + .byte W04 + .byte Fs4 + .byte W08 + .byte N04 + .byte W08 + .byte Fn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N04 + .byte W08 + .byte Fn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W04 + .byte Fn4 + .byte W04 + .byte Fs4 + .byte W08 + .byte N40 + .byte W40 + .byte N04 , En4 + .byte W04 + .byte Ds4 + .byte W04 + .byte N48 , Dn4 + .byte W48 + .byte N04 , Gn4 + .byte W08 + .byte N04 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gn4 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte An4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N04 , En4 + .byte W08 + .byte N08 , Fn4 + .byte W24 + .byte En4 + .byte W24 + .byte Dn4 + .byte W24 + .byte Cn4 + .byte W24 + .byte GOTO + .word mus_dendou_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_dendou: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_dendou_pri @ Priority + .byte mus_dendou_rev @ Reverb. + + .word mus_dendou_grp + + .word mus_dendou_1 + .word mus_dendou_2 + .word mus_dendou_3 + .word mus_dendou_4 + .word mus_dendou_5 + .word mus_dendou_6 + .word mus_dendou_7 + .word mus_dendou_8 + .word mus_dendou_9 + .word mus_dendou_10 + + .end diff --git a/sound/songs/mus_dooro1.s b/sound/songs/mus_dooro1.s new file mode 100644 index 0000000000..41793c861f --- /dev/null +++ b/sound/songs/mus_dooro1.s @@ -0,0 +1,1713 @@ + .include "MPlayDef.s" + + .equ mus_dooro1_grp, voicegroup_8677528 + .equ mus_dooro1_pri, 0 + .equ mus_dooro1_rev, reverb_set+50 + .equ mus_dooro1_mvl, 127 + .equ mus_dooro1_key, 0 + .equ mus_dooro1_tbs, 1 + .equ mus_dooro1_exg, 0 + .equ mus_dooro1_cmp, 1 + + .section .rodata + .global mus_dooro1 + .align 2 + +@********************** Track 1 **********************@ + +mus_dooro1_1: + .byte KEYSH , mus_dooro1_key+0 + .byte TEMPO , 114*mus_dooro1_tbs/2 + .byte VOICE , 73 + .byte LFOS , 32 + .byte VOL , 80*mus_dooro1_mvl/mxv + .byte N06 , An4 , v100 + .byte W06 + .byte Bn4 + .byte W06 +mus_dooro1_1_B1: + .byte PAN , c_v+8 + .byte N06 , An4 , v100 + .byte W12 + .byte N06 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fs4 + .byte W24 + .byte N06 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 +mus_dooro1_1_000: + .byte N06 , Gn4 , v100 + .byte W24 + .byte Fs4 + .byte W24 + .byte En4 + .byte W24 + .byte Bn4 + .byte W24 + .byte PEND +mus_dooro1_1_001: + .byte N72 , An4 , v100 + .byte W24 + .byte MOD , 7 + .byte W36 + .byte VOL , 71*mus_dooro1_mvl/mxv + .byte W06 + .byte 63*mus_dooro1_mvl/mxv + .byte W03 + .byte 49*mus_dooro1_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W12 + .byte VOL , 80*mus_dooro1_mvl/mxv + .byte N06 , Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte PEND + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W12 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte En4 + .byte W36 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W12 + .byte N06 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fs4 + .byte W24 + .byte N06 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte PATT + .word mus_dooro1_1_000 + .byte PATT + .word mus_dooro1_1_001 + .byte N06 , An4 , v100 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W12 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte En4 + .byte W36 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Bn4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Cs5 + .byte W06 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 4 + .byte W12 +mus_dooro1_1_002: + .byte MOD , 0 + .byte N06 , An4 , v100 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Bn4 + .byte W06 + .byte N36 , An4 + .byte W15 + .byte MOD , 4 + .byte W21 + .byte 0 + .byte W12 + .byte PEND + .byte N06 , Gn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte PATT + .word mus_dooro1_1_002 + .byte N06 , Bn4 , v100 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Cs5 + .byte W06 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , Fs5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N06 + .byte W06 + .byte En5 + .byte W06 + .byte N36 , Dn5 + .byte W15 + .byte MOD , 4 + .byte W21 + .byte 0 + .byte W12 + .byte N36 + .byte W18 + .byte MOD , 4 + .byte W18 + .byte 0 + .byte N12 , Cn5 + .byte W12 + .byte N24 , As4 + .byte W15 + .byte MOD , 4 + .byte W09 + .byte 0 + .byte N12 , Fn4 + .byte W12 + .byte Dn5 + .byte W12 + .byte N78 , Cs5 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte VOL , 78*mus_dooro1_mvl/mxv + .byte W06 + .byte 67*mus_dooro1_mvl/mxv + .byte W06 + .byte 56*mus_dooro1_mvl/mxv + .byte W07 + .byte 45*mus_dooro1_mvl/mxv + .byte W06 + .byte 34*mus_dooro1_mvl/mxv + .byte W05 + .byte MOD , 0 + .byte W01 + .byte VOL , 23*mus_dooro1_mvl/mxv + .byte W04 + .byte 78*mus_dooro1_mvl/mxv + .byte W01 + .byte N06 , An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte GOTO + .word mus_dooro1_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_dooro1_2: + .byte KEYSH , mus_dooro1_key+0 + .byte VOL , 80*mus_dooro1_mvl/mxv + .byte BEND , c_v+0 + .byte W12 +mus_dooro1_2_B1: + .byte VOICE , 35 + .byte VOL , 80*mus_dooro1_mvl/mxv + .byte PAN , c_v-8 + .byte N12 , Dn1 , v120 + .byte W42 + .byte N06 , An1 + .byte W06 + .byte N12 , Dn1 + .byte W36 + .byte An1 + .byte W12 +mus_dooro1_2_000: + .byte N12 , En1 , v120 + .byte W18 + .byte N06 + .byte W06 + .byte BEND , c_v-32 + .byte N09 , En2 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N06 , Bn1 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , En1 + .byte W36 + .byte N12 + .byte W12 + .byte PEND +mus_dooro1_2_001: + .byte N12 , An1 , v120 + .byte W42 + .byte N06 , En1 + .byte W06 + .byte N12 , An1 + .byte W36 + .byte N06 , En2 + .byte W06 + .byte N06 + .byte W06 + .byte PEND +mus_dooro1_2_002: + .byte N12 , An1 , v120 + .byte W24 + .byte N06 + .byte W18 + .byte En1 + .byte W06 + .byte N12 , An1 + .byte W24 + .byte BEND , c_v-31 + .byte N06 , En2 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N12 , An1 + .byte W12 + .byte PEND + .byte Dn1 + .byte W42 + .byte N06 , An1 + .byte W06 + .byte N12 , Dn1 + .byte W36 + .byte An1 + .byte W12 + .byte PATT + .word mus_dooro1_2_000 + .byte PATT + .word mus_dooro1_2_001 + .byte PATT + .word mus_dooro1_2_002 +mus_dooro1_2_003: + .byte N12 , Gn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte Gn1 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PEND +mus_dooro1_2_004: + .byte N12 , Fs1 , v120 + .byte W18 + .byte N06 , An1 + .byte W06 + .byte BEND , c_v-32 + .byte N12 , Dn2 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N06 , Dn1 + .byte W06 + .byte En1 + .byte W06 + .byte Fs1 + .byte W12 + .byte An1 + .byte W12 + .byte BEND , c_v-31 + .byte N12 , Dn2 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N12 , Fs1 + .byte W12 + .byte PEND + .byte En1 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte En1 + .byte W24 + .byte BEND , c_v-15 + .byte N12 , En2 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N06 , En1 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , An1 + .byte W18 + .byte N06 + .byte W06 + .byte BEND , c_v-32 + .byte N12 , En1 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N06 , An1 + .byte W06 + .byte Cs2 + .byte W06 + .byte En2 + .byte W06 + .byte Ds2 + .byte W12 + .byte Dn2 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte An1 + .byte W12 + .byte PATT + .word mus_dooro1_2_003 + .byte PATT + .word mus_dooro1_2_004 + .byte N15 , Fn1 , v120 + .byte W18 + .byte N06 + .byte W06 + .byte BEND , c_v-31 + .byte N36 , Dn2 + .byte W03 + .byte BEND , c_v+0 + .byte W32 + .byte W01 + .byte N12 , As1 + .byte W12 + .byte Dn2 + .byte W12 + .byte As1 + .byte W12 + .byte An1 + .byte W18 + .byte N06 + .byte W06 + .byte BEND , c_v-32 + .byte N72 , En2 + .byte W03 + .byte BEND , c_v+0 + .byte W18 + .byte VOL , 79*mus_dooro1_mvl/mxv + .byte W03 + .byte BEND , c_v-32 + .byte W03 + .byte VOL , 74*mus_dooro1_mvl/mxv + .byte BEND , c_v+0 + .byte W06 + .byte VOL , 63*mus_dooro1_mvl/mxv + .byte W07 + .byte 54*mus_dooro1_mvl/mxv + .byte W06 + .byte 44*mus_dooro1_mvl/mxv + .byte W06 + .byte 34*mus_dooro1_mvl/mxv + .byte W07 + .byte 18*mus_dooro1_mvl/mxv + .byte W06 + .byte 10*mus_dooro1_mvl/mxv + .byte W06 + .byte 1*mus_dooro1_mvl/mxv + .byte W01 + .byte GOTO + .word mus_dooro1_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_dooro1_3: + .byte KEYSH , mus_dooro1_key+0 + .byte LFOS , 28 + .byte VOL , 80*mus_dooro1_mvl/mxv + .byte XCMD , xIECV , 9 + .byte xIECL , 8 + .byte W12 +mus_dooro1_3_B1: + .byte VOICE , 4 + .byte VOL , 80*mus_dooro1_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+4 + .byte N06 , Fs3 , v052 + .byte W36 + .byte N06 + .byte W60 + .byte W12 + .byte Gn3 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 +mus_dooro1_3_000: + .byte W48 + .byte N24 , En3 , v052 + .byte W12 + .byte VOL , 59*mus_dooro1_mvl/mxv + .byte W05 + .byte 23*mus_dooro1_mvl/mxv + .byte W07 + .byte 0*mus_dooro1_mvl/mxv + .byte W24 + .byte PEND +mus_dooro1_3_001: + .byte VOL , 80*mus_dooro1_mvl/mxv + .byte N03 , An3 , v052 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N06 , An3 + .byte W18 + .byte En3 + .byte W06 + .byte An3 + .byte W48 + .byte PEND + .byte Fs3 + .byte W36 + .byte N06 + .byte W60 + .byte W12 + .byte Gn3 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W24 + .byte PATT + .word mus_dooro1_3_000 + .byte PATT + .word mus_dooro1_3_001 + .byte VOICE , 5 + .byte PAN , c_v-49 + .byte N06 , Bn3 , v052 + .byte W24 + .byte N06 + .byte W24 + .byte PAN , c_v+0 + .byte W03 + .byte VOICE , 4 + .byte N21 , Gn4 + .byte W24 + .byte Gn3 + .byte W21 + .byte VOICE , 5 + .byte PAN , c_v-48 + .byte N06 , An3 + .byte W24 + .byte N06 + .byte W24 + .byte PAN , c_v+0 + .byte W03 + .byte VOICE , 4 + .byte N21 , Dn4 + .byte W24 + .byte Dn3 + .byte W21 + .byte W96 + .byte VOICE , 81 + .byte N06 , Dn5 , v040 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte En5 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte VOICE , 82 + .byte MOD , 4 + .byte N12 + .byte W12 + .byte N15 + .byte W15 + .byte MOD , 0 + .byte W09 + .byte VOICE , 5 + .byte PAN , c_v-48 + .byte N06 , Bn3 , v052 + .byte W24 + .byte N06 + .byte W24 + .byte PAN , c_v+0 + .byte W03 + .byte VOICE , 4 + .byte N21 , Gn4 + .byte W24 + .byte Bn4 + .byte W21 + .byte VOICE , 5 + .byte PAN , c_v-48 + .byte N06 , An3 + .byte W24 + .byte N06 + .byte W24 + .byte PAN , c_v+0 + .byte W03 + .byte VOICE , 4 + .byte N21 , Dn4 + .byte W24 + .byte Fs4 + .byte W21 + .byte VOICE , 81 + .byte N12 , Fn4 + .byte W12 + .byte VOICE , 82 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 81 + .byte N12 , En4 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte N12 , As3 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte VOICE , 82 + .byte N12 + .byte W12 + .byte MOD , 4 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOL , 79*mus_dooro1_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 69*mus_dooro1_mvl/mxv + .byte W06 + .byte 58*mus_dooro1_mvl/mxv + .byte N18 + .byte W07 + .byte VOL , 47*mus_dooro1_mvl/mxv + .byte W06 + .byte 37*mus_dooro1_mvl/mxv + .byte W05 + .byte MOD , 0 + .byte W01 + .byte VOL , 27*mus_dooro1_mvl/mxv + .byte W07 + .byte 16*mus_dooro1_mvl/mxv + .byte W06 + .byte 6*mus_dooro1_mvl/mxv + .byte W04 + .byte GOTO + .word mus_dooro1_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_dooro1_4: + .byte KEYSH , mus_dooro1_key+0 + .byte VOL , 80*mus_dooro1_mvl/mxv + .byte XCMD , xIECV , 9 + .byte xIECL , 8 + .byte W12 +mus_dooro1_4_B1: + .byte VOICE , 5 + .byte PAN , c_v-48 + .byte N06 , An3 , v052 + .byte W36 + .byte N06 + .byte W60 + .byte W12 + .byte Bn3 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte An3 + .byte W06 + .byte N06 , Bn3 + .byte W12 + .byte An2 + .byte W06 + .byte Bn2 + .byte W06 +mus_dooro1_4_000: + .byte N06 , Cs3 , v052 + .byte W12 + .byte N06 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte N24 , An3 + .byte W12 + .byte VOL , 59*mus_dooro1_mvl/mxv + .byte W05 + .byte 23*mus_dooro1_mvl/mxv + .byte W07 + .byte 0*mus_dooro1_mvl/mxv + .byte W24 + .byte PEND +mus_dooro1_4_001: + .byte VOL , 80*mus_dooro1_mvl/mxv + .byte N03 , Cs4 , v052 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N06 , Cs4 + .byte W18 + .byte An3 + .byte W06 + .byte Cs4 + .byte W48 + .byte PEND + .byte An3 + .byte W36 + .byte N06 + .byte W60 + .byte W12 + .byte Bn3 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W12 + .byte An2 + .byte W06 + .byte Bn2 + .byte W06 + .byte PATT + .word mus_dooro1_4_000 + .byte PATT + .word mus_dooro1_4_001 + .byte VOICE , 8 + .byte PAN , c_v+0 + .byte N06 , Gn3 , v052 + .byte W06 + .byte Gn2 + .byte W06 + .byte VOICE , 6 + .byte N06 , Dn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte VOICE , 8 + .byte N06 , Gn3 + .byte W06 + .byte Gn2 + .byte W06 + .byte VOICE , 6 + .byte N06 , Dn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Gn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gn4 + .byte W06 +mus_dooro1_4_002: + .byte VOICE , 8 + .byte N06 , Fs3 , v052 + .byte W06 + .byte Fs2 + .byte W06 + .byte VOICE , 6 + .byte N06 , Dn3 + .byte W06 + .byte An2 + .byte W06 + .byte VOICE , 8 + .byte N06 , Fs3 + .byte W06 + .byte Fs2 + .byte W06 + .byte VOICE , 6 + .byte N06 , Dn3 + .byte W06 + .byte An2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte Dn3 + .byte W06 + .byte An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PEND + .byte Gn3 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte En3 + .byte W06 + .byte En4 + .byte W06 + .byte Bn3 + .byte W06 + .byte En3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En2 + .byte W06 + .byte An2 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte En3 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W06 + .byte N12 , Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte VOICE , 8 + .byte N06 , Gn3 + .byte W06 + .byte Gn2 + .byte W06 + .byte VOICE , 6 + .byte N06 , Dn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte VOICE , 8 + .byte N06 , Gn3 + .byte W06 + .byte Gn2 + .byte W06 + .byte VOICE , 6 + .byte N06 , Dn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Gn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte PATT + .word mus_dooro1_4_002 + .byte VOICE , 5 + .byte PAN , c_v-48 + .byte N06 , As3 , v060 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte N24 , Dn4 + .byte W15 + .byte VOL , 68*mus_dooro1_mvl/mxv + .byte W03 + .byte 52*mus_dooro1_mvl/mxv + .byte W03 + .byte 40*mus_dooro1_mvl/mxv + .byte W03 + .byte VOICE , 7 + .byte PAN , c_v+48 + .byte VOL , 80*mus_dooro1_mvl/mxv + .byte N12 , Fn5 , v072 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Fn5 , v048 + .byte W12 + .byte PAN , c_v-48 + .byte N12 , As5 , v072 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , As5 , v048 + .byte W12 + .byte VOICE , 5 + .byte PAN , c_v-48 + .byte N06 , An3 , v060 + .byte W06 + .byte Cs3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N24 , An3 + .byte W15 + .byte VOL , 68*mus_dooro1_mvl/mxv + .byte W03 + .byte 52*mus_dooro1_mvl/mxv + .byte W03 + .byte 40*mus_dooro1_mvl/mxv + .byte W03 + .byte VOICE , 7 + .byte PAN , c_v+48 + .byte VOL , 80*mus_dooro1_mvl/mxv + .byte N12 , En5 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , En5 , v044 + .byte W12 + .byte PAN , c_v-48 + .byte N12 , An5 , v060 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , An5 , v044 + .byte W12 + .byte GOTO + .word mus_dooro1_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_dooro1_5: + .byte KEYSH , mus_dooro1_key+0 + .byte VOL , 80*mus_dooro1_mvl/mxv + .byte W12 +mus_dooro1_5_B1: + .byte VOICE , 24 + .byte VOL , 80*mus_dooro1_mvl/mxv + .byte PAN , c_v+32 + .byte N06 , Dn3 , v048 + .byte W12 + .byte An2 + .byte W24 + .byte Fs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Fs2 + .byte W24 + .byte N24 , Dn3 , v060 + .byte W24 +mus_dooro1_5_000: + .byte N06 , En3 , v048 + .byte W12 + .byte Bn2 + .byte W24 + .byte Gn2 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W24 + .byte N24 , En3 , v060 + .byte W24 + .byte PEND +mus_dooro1_5_001: + .byte N03 , An2 , v056 + .byte W03 + .byte Cs3 + .byte W03 + .byte An3 + .byte W03 + .byte N36 , En4 + .byte W36 + .byte W03 + .byte N03 , An3 + .byte W03 + .byte N44 , Dn4 + .byte W44 + .byte W01 + .byte PEND +mus_dooro1_5_002: + .byte N03 , An3 , v056 + .byte W03 + .byte N44 , Cs4 + .byte W44 + .byte W01 + .byte N12 , An2 , v084 + .byte W24 + .byte N06 , En3 , v056 + .byte W12 + .byte N12 , An2 + .byte W12 + .byte PEND + .byte N06 , Dn3 , v048 + .byte W12 + .byte An2 + .byte W24 + .byte Fs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Fs2 + .byte W24 + .byte N24 , Dn3 , v060 + .byte W24 + .byte PATT + .word mus_dooro1_5_000 + .byte PATT + .word mus_dooro1_5_001 + .byte PATT + .word mus_dooro1_5_002 + .byte W48 + .byte VOICE , 24 + .byte N03 , Dn4 , v044 + .byte W03 + .byte N21 , Bn4 , v052 + .byte W21 + .byte N03 , Dn3 , v044 + .byte W03 + .byte N21 , Bn3 , v052 + .byte W21 + .byte W48 + .byte N03 , An3 , v044 + .byte W03 + .byte N21 , Fs4 , v052 + .byte W21 + .byte N03 , An2 , v044 + .byte W03 + .byte N21 , Fs3 , v052 + .byte W21 + .byte VOICE , 48 + .byte VOL , 79*mus_dooro1_mvl/mxv + .byte PAN , c_v+0 + .byte N96 , Bn2 , v108 + .byte W06 + .byte VOL , 64*mus_dooro1_mvl/mxv + .byte W06 + .byte 49*mus_dooro1_mvl/mxv + .byte W06 + .byte 32*mus_dooro1_mvl/mxv + .byte W06 + .byte 35*mus_dooro1_mvl/mxv + .byte W06 + .byte 39*mus_dooro1_mvl/mxv + .byte W07 + .byte 43*mus_dooro1_mvl/mxv + .byte W06 + .byte 47*mus_dooro1_mvl/mxv + .byte W07 + .byte 51*mus_dooro1_mvl/mxv + .byte W06 + .byte 55*mus_dooro1_mvl/mxv + .byte W06 + .byte 59*mus_dooro1_mvl/mxv + .byte W07 + .byte 62*mus_dooro1_mvl/mxv + .byte W06 + .byte 67*mus_dooro1_mvl/mxv + .byte W07 + .byte 71*mus_dooro1_mvl/mxv + .byte W06 + .byte 74*mus_dooro1_mvl/mxv + .byte W06 + .byte 78*mus_dooro1_mvl/mxv + .byte W02 + .byte N06 , Dn3 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N48 , Cs3 + .byte W24 + .byte VOL , 73*mus_dooro1_mvl/mxv + .byte W06 + .byte 66*mus_dooro1_mvl/mxv + .byte W06 + .byte 60*mus_dooro1_mvl/mxv + .byte W06 + .byte 43*mus_dooro1_mvl/mxv + .byte W06 + .byte W48 + .byte VOICE , 24 + .byte PAN , c_v+32 + .byte VOL , 80*mus_dooro1_mvl/mxv + .byte N03 , Dn4 , v044 + .byte W03 + .byte N21 , Bn4 , v052 + .byte W21 + .byte N03 , Gn4 , v044 + .byte W03 + .byte N21 , Dn5 , v052 + .byte W21 + .byte W48 + .byte N03 , An3 , v044 + .byte W03 + .byte N21 , Fs4 , v052 + .byte W21 + .byte N03 , Dn4 , v044 + .byte W03 + .byte N21 , An4 , v052 + .byte W21 + .byte VOICE , 48 + .byte VOL , 79*mus_dooro1_mvl/mxv + .byte PAN , c_v+0 + .byte N96 , As2 , v108 + .byte W06 + .byte VOL , 74*mus_dooro1_mvl/mxv + .byte W06 + .byte 69*mus_dooro1_mvl/mxv + .byte W07 + .byte 63*mus_dooro1_mvl/mxv + .byte W05 + .byte 53*mus_dooro1_mvl/mxv + .byte W06 + .byte 55*mus_dooro1_mvl/mxv + .byte W06 + .byte 57*mus_dooro1_mvl/mxv + .byte W07 + .byte 60*mus_dooro1_mvl/mxv + .byte W06 + .byte 62*mus_dooro1_mvl/mxv + .byte W06 + .byte 64*mus_dooro1_mvl/mxv + .byte W07 + .byte 67*mus_dooro1_mvl/mxv + .byte W06 + .byte 69*mus_dooro1_mvl/mxv + .byte W06 + .byte 71*mus_dooro1_mvl/mxv + .byte W07 + .byte 74*mus_dooro1_mvl/mxv + .byte W06 + .byte 76*mus_dooro1_mvl/mxv + .byte W06 + .byte 78*mus_dooro1_mvl/mxv + .byte W03 + .byte 72*mus_dooro1_mvl/mxv + .byte N96 , An2 + .byte W06 + .byte VOL , 63*mus_dooro1_mvl/mxv + .byte W06 + .byte 54*mus_dooro1_mvl/mxv + .byte W06 + .byte 42*mus_dooro1_mvl/mxv + .byte W06 + .byte 39*mus_dooro1_mvl/mxv + .byte W03 + .byte 42*mus_dooro1_mvl/mxv + .byte W06 + .byte 48*mus_dooro1_mvl/mxv + .byte W06 + .byte 55*mus_dooro1_mvl/mxv + .byte W07 + .byte 61*mus_dooro1_mvl/mxv + .byte W06 + .byte 68*mus_dooro1_mvl/mxv + .byte W06 + .byte 74*mus_dooro1_mvl/mxv + .byte W05 + .byte 74*mus_dooro1_mvl/mxv + .byte W06 + .byte 59*mus_dooro1_mvl/mxv + .byte W06 + .byte 44*mus_dooro1_mvl/mxv + .byte W07 + .byte 28*mus_dooro1_mvl/mxv + .byte W06 + .byte 13*mus_dooro1_mvl/mxv + .byte W08 + .byte GOTO + .word mus_dooro1_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_dooro1_6: + .byte KEYSH , mus_dooro1_key+0 + .byte LFOS , 28 + .byte VOL , 80*mus_dooro1_mvl/mxv + .byte W12 +mus_dooro1_6_B1: + .byte VOICE , 74 + .byte PAN , c_v+0 + .byte W96 + .byte W96 +mus_dooro1_6_000: + .byte N48 , Cs5 , v032 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte VOL , 70*mus_dooro1_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 80*mus_dooro1_mvl/mxv + .byte N48 , Dn5 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte VOL , 70*mus_dooro1_mvl/mxv + .byte W12 + .byte PEND +mus_dooro1_6_001: + .byte MOD , 0 + .byte VOL , 80*mus_dooro1_mvl/mxv + .byte N03 , Cs5 , v032 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte N06 , Cs5 + .byte W24 + .byte An4 + .byte W48 + .byte PEND + .byte W96 + .byte W96 + .byte PATT + .word mus_dooro1_6_000 + .byte PATT + .word mus_dooro1_6_001 + .byte W96 + .byte W48 + .byte N06 , Dn5 , v032 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte En5 + .byte W06 + .byte Fs5 + .byte W06 + .byte N48 , Gn5 + .byte W24 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N24 , En5 + .byte W24 + .byte Dn5 + .byte W24 + .byte N06 , En5 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte N36 , En5 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte W03 + .byte 0 + .byte W09 + .byte W96 + .byte W96 + .byte N36 , As5 + .byte W18 + .byte MOD , 4 + .byte W18 + .byte 0 + .byte N12 , An5 + .byte W12 + .byte N24 , Gn5 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Fn5 + .byte W12 + .byte As5 + .byte W12 + .byte N78 , An5 + .byte W24 + .byte MOD , 4 + .byte W54 + .byte 0 + .byte W18 + .byte GOTO + .word mus_dooro1_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_dooro1_7: + .byte KEYSH , mus_dooro1_key+0 + .byte VOL , 68*mus_dooro1_mvl/mxv + .byte W12 +mus_dooro1_7_B1: + .byte VOICE , 127 + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_dooro1_7_000: + .byte N06 , Gs4 , v040 + .byte W06 + .byte Gs4 , v032 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte Gs4 , v032 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte Gs4 , v032 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte Gs4 , v032 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte Gs4 , v032 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte Gs4 , v032 + .byte W06 + .byte PEND + .byte PATT + .word mus_dooro1_7_000 + .byte PATT + .word mus_dooro1_7_000 + .byte N06 , Gs4 , v040 + .byte W12 + .byte Gs4 , v032 + .byte W12 + .byte Gs4 , v040 + .byte W12 + .byte Gs4 , v032 + .byte W12 + .byte Gs4 , v040 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word mus_dooro1_7_000 + .byte PATT + .word mus_dooro1_7_000 + .byte N06 , Gs4 , v040 + .byte W06 + .byte Gs4 , v032 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Gs4 , v040 + .byte W36 + .byte Gs4 , v032 + .byte W06 + .byte N06 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte Gs4 , v032 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte Gs4 , v032 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte Gs4 , v032 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Gs4 , v040 + .byte W36 + .byte Gs4 , v032 + .byte W06 + .byte N06 + .byte W06 + .byte Gs4 , v040 + .byte W24 + .byte GOTO + .word mus_dooro1_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_dooro1_8: + .byte KEYSH , mus_dooro1_key+0 + .byte VOL , 80*mus_dooro1_mvl/mxv + .byte W12 +mus_dooro1_8_B1: + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte N06 , En3 , v060 + .byte W24 + .byte Fs2 , v064 + .byte W18 + .byte Dn3 , v068 + .byte W06 + .byte En3 , v060 + .byte W24 + .byte Fs2 , v064 + .byte W12 + .byte Dn3 , v068 + .byte W06 + .byte N06 + .byte W06 +mus_dooro1_8_000: + .byte N06 , En3 , v060 + .byte W24 + .byte Fs2 , v064 + .byte W24 + .byte En3 , v060 + .byte W12 + .byte Fs2 , v064 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte Dn3 , v068 + .byte W06 + .byte N06 + .byte W06 + .byte PEND +mus_dooro1_8_001: + .byte N06 , En3 , v060 + .byte W24 + .byte Fs2 , v064 + .byte W18 + .byte Dn3 , v068 + .byte W06 + .byte En3 , v060 + .byte W24 + .byte Fs2 , v064 + .byte W12 + .byte Dn3 , v068 + .byte W06 + .byte N06 + .byte W06 + .byte PEND + .byte PATT + .word mus_dooro1_8_000 + .byte PATT + .word mus_dooro1_8_001 + .byte PATT + .word mus_dooro1_8_000 + .byte PATT + .word mus_dooro1_8_001 + .byte N06 , En3 , v060 + .byte W24 + .byte Fs2 , v064 + .byte W24 + .byte En3 , v060 + .byte W12 + .byte Fs2 , v064 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte Cn1 , v112 + .byte W06 + .byte N06 + .byte W06 +mus_dooro1_8_002: + .byte N06 , Cn1 , v112 + .byte W24 + .byte N12 , Dn1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W24 + .byte N12 , Dn1 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte PEND + .byte N06 + .byte W24 + .byte N12 , Dn1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Dn1 + .byte W09 + .byte BEND , c_v+61 + .byte W03 + .byte N06 , Cn1 + .byte W12 + .byte PATT + .word mus_dooro1_8_002 +mus_dooro1_8_003: + .byte N06 , Cn1 , v112 + .byte W24 + .byte N12 , Dn1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Dn1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_dooro1_8_002 + .byte PATT + .word mus_dooro1_8_003 + .byte N06 , Cn1 , v112 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Dn1 + .byte W12 + .byte PAN , c_v+48 + .byte N06 , Fs2 , v064 + .byte W06 + .byte Fs2 , v040 + .byte W06 + .byte Fs2 , v064 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Cn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Dn1 + .byte W12 + .byte PAN , c_v+47 + .byte N06 , Fs2 , v064 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Cn1 , v112 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Dn1 + .byte W12 + .byte PAN , c_v+48 + .byte N06 , Fs2 , v064 + .byte W06 + .byte Fs2 , v040 + .byte W06 + .byte Fs2 , v064 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Cn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Dn1 + .byte W24 + .byte GOTO + .word mus_dooro1_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_dooro1: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_dooro1_pri @ Priority + .byte mus_dooro1_rev @ Reverb. + + .word mus_dooro1_grp + + .word mus_dooro1_1 + .word mus_dooro1_2 + .word mus_dooro1_3 + .word mus_dooro1_4 + .word mus_dooro1_5 + .word mus_dooro1_6 + .word mus_dooro1_7 + .word mus_dooro1_8 + + .end diff --git a/sound/songs/mus_dooro_x1.s b/sound/songs/mus_dooro_x1.s new file mode 100644 index 0000000000..2b9d918f0b --- /dev/null +++ b/sound/songs/mus_dooro_x1.s @@ -0,0 +1,2206 @@ + .include "MPlayDef.s" + + .equ mus_dooro_x1_grp, voicegroup_8677138 + .equ mus_dooro_x1_pri, 0 + .equ mus_dooro_x1_rev, reverb_set+50 + .equ mus_dooro_x1_mvl, 127 + .equ mus_dooro_x1_key, 0 + .equ mus_dooro_x1_tbs, 1 + .equ mus_dooro_x1_exg, 0 + .equ mus_dooro_x1_cmp, 1 + + .section .rodata + .global mus_dooro_x1 + .align 2 + +@********************** Track 1 **********************@ + +mus_dooro_x1_1: + .byte KEYSH , mus_dooro_x1_key+0 + .byte TEMPO , 132*mus_dooro_x1_tbs/2 + .byte VOL , 80*mus_dooro_x1_mvl/mxv + .byte W12 +mus_dooro_x1_1_B1: + .byte VOICE , 60 + .byte PAN , c_v-24 + .byte N12 , Fs2 , v072 + .byte W18 + .byte VOICE , 58 + .byte N06 , Cs2 , v076 + .byte W18 + .byte VOICE , 60 + .byte N12 , Fs2 , v072 + .byte W24 + .byte N12 + .byte W24 + .byte N06 + .byte W06 + .byte As2 + .byte W06 + .byte N36 , Cs3 + .byte W36 + .byte N24 , Bn2 + .byte W24 + .byte N06 , Gs2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte VOICE , 60 + .byte N12 , Fs2 + .byte W18 + .byte VOICE , 58 + .byte N06 , Cs2 , v076 + .byte W18 + .byte VOICE , 60 + .byte N12 , Fs2 , v072 + .byte W24 + .byte N12 + .byte W24 + .byte N06 + .byte W06 + .byte As2 + .byte W06 + .byte N24 , Cs3 + .byte W24 + .byte N06 , Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N24 , Gs3 + .byte W24 + .byte Fn3 + .byte W24 + .byte N12 , Gs3 + .byte W12 + .byte As3 , v076 + .byte W18 + .byte N03 , Fs3 + .byte W06 + .byte N24 + .byte W36 + .byte VOICE , 48 + .byte N09 , As3 , v072 + .byte W12 + .byte Bn3 + .byte W12 + .byte N12 , As3 + .byte W12 + .byte N30 , Gs3 + .byte W36 + .byte N06 , Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N44 , Fn3 + .byte W24 + .byte VOL , 74*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 69*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 62*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 46*mus_dooro_x1_mvl/mxv + .byte W06 + .byte VOICE , 60 + .byte VOL , 80*mus_dooro_x1_mvl/mxv + .byte N12 , Ds3 , v076 + .byte W18 + .byte N03 , Fn3 + .byte W06 + .byte N24 , Fs3 + .byte W36 + .byte VOICE , 48 + .byte N09 , Fs4 , v068 + .byte W12 + .byte Fn4 + .byte W12 + .byte N12 , Ds4 + .byte W12 + .byte N30 , Fs4 + .byte W36 + .byte N06 , Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N42 , Fn4 + .byte W30 + .byte VOL , 75*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 63*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 45*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 25*mus_dooro_x1_mvl/mxv + .byte W09 + .byte VOICE , 60 + .byte VOL , 80*mus_dooro_x1_mvl/mxv + .byte N12 , As3 , v076 + .byte W18 + .byte N03 , Fs3 + .byte W06 + .byte N24 + .byte W24 + .byte PAN , c_v+25 + .byte N12 , As3 + .byte W18 + .byte N03 , Fs3 + .byte W06 + .byte N24 + .byte W24 + .byte N21 , Fn3 + .byte W12 + .byte VOL , 73*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 65*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 42*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x1_mvl/mxv + .byte N21 , Fs3 + .byte W12 + .byte VOL , 73*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 65*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 42*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x1_mvl/mxv + .byte N21 , Gs3 + .byte W12 + .byte VOL , 73*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 65*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 42*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x1_mvl/mxv + .byte N21 , Fn3 + .byte W12 + .byte VOL , 73*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 65*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 42*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x1_mvl/mxv + .byte PAN , c_v-24 + .byte N12 , Fs3 + .byte W18 + .byte N03 , Fn3 + .byte W06 + .byte N24 , Ds3 + .byte W24 + .byte PAN , c_v+25 + .byte N12 , Fs3 + .byte W18 + .byte N06 , Fn3 + .byte W06 + .byte N24 , Ds3 + .byte W24 + .byte VOICE , 58 + .byte N03 , Cs2 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte VOICE , 60 + .byte N06 , Gs2 , v088 + .byte W12 + .byte VOICE , 58 + .byte N03 , Cs2 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte N12 , Gs3 , v100 + .byte W12 + .byte As3 + .byte W12 + .byte Bn3 + .byte W12 + .byte VOICE , 46 + .byte PAN , c_v-24 + .byte N06 , Fs3 , v056 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 , v060 + .byte W06 + .byte As3 , v064 + .byte W06 + .byte Fs4 , v052 + .byte W06 + .byte As4 , v056 + .byte W06 + .byte Cs5 , v060 + .byte W06 + .byte As4 , v064 + .byte W06 + .byte Fs5 , v076 + .byte W06 + .byte Fn5 , v072 + .byte W06 + .byte Cs5 , v068 + .byte W06 + .byte As4 , v064 + .byte W06 + .byte Fs4 , v060 + .byte W06 + .byte Fn4 , v056 + .byte W06 + .byte Cs4 , v052 + .byte W06 + .byte As3 , v048 + .byte W06 + .byte Fn3 , v056 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 , v060 + .byte W06 + .byte Gs3 , v064 + .byte W06 + .byte Fn4 , v052 + .byte W06 + .byte Gs4 , v056 + .byte W06 + .byte Cs5 , v060 + .byte W06 + .byte Gs4 , v064 + .byte W06 + .byte Fn5 , v076 + .byte W06 + .byte Ds5 , v072 + .byte W06 + .byte Cs5 , v068 + .byte W06 + .byte Gs4 , v064 + .byte W06 + .byte Fn4 , v060 + .byte W06 + .byte Ds4 , v056 + .byte W06 + .byte Cs4 , v052 + .byte W06 + .byte Gs3 , v048 + .byte W06 + .byte En3 , v056 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 , v060 + .byte W06 + .byte Gs3 , v064 + .byte W06 + .byte En4 , v052 + .byte W06 + .byte Gs4 , v056 + .byte W06 + .byte Cs5 , v060 + .byte W06 + .byte Gs4 , v064 + .byte W06 + .byte En5 , v076 + .byte W06 + .byte Ds5 , v072 + .byte W06 + .byte Cs5 , v068 + .byte W06 + .byte Gs4 , v064 + .byte W06 + .byte En4 , v060 + .byte W06 + .byte Ds4 , v056 + .byte W06 + .byte Cs4 , v052 + .byte W06 + .byte Gs3 , v048 + .byte W06 + .byte Ds3 , v056 + .byte W06 + .byte Fs3 + .byte W06 + .byte Bn3 , v060 + .byte W06 + .byte Fs3 , v064 + .byte W06 + .byte Ds4 , v052 + .byte W06 + .byte Fs4 , v056 + .byte W06 + .byte Bn4 , v060 + .byte W06 + .byte Fs4 , v064 + .byte W06 + .byte Ds5 , v076 + .byte W06 + .byte Cs5 , v072 + .byte W06 + .byte Bn4 , v068 + .byte W06 + .byte Fs4 , v064 + .byte W06 + .byte Ds4 , v060 + .byte W06 + .byte Cs4 , v056 + .byte W06 + .byte Bn3 , v052 + .byte W06 + .byte Fs3 , v048 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_dooro_x1_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_dooro_x1_2: + .byte KEYSH , mus_dooro_x1_key+0 + .byte VOL , 80*mus_dooro_x1_mvl/mxv + .byte LFOS , 28 + .byte W12 +mus_dooro_x1_2_B1: + .byte VOICE , 60 + .byte N24 , Fs3 , v108 + .byte W30 + .byte N06 , Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N21 , Fs4 + .byte W24 + .byte N09 , Fn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte VOL , 77*mus_dooro_x1_mvl/mxv + .byte N90 , Gs3 + .byte W05 + .byte VOL , 70*mus_dooro_x1_mvl/mxv + .byte W07 + .byte 63*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 59*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 62*mus_dooro_x1_mvl/mxv + .byte W05 + .byte 64*mus_dooro_x1_mvl/mxv + .byte W01 + .byte MOD , 4 + .byte W06 + .byte VOL , 68*mus_dooro_x1_mvl/mxv + .byte W05 + .byte 69*mus_dooro_x1_mvl/mxv + .byte W07 + .byte 71*mus_dooro_x1_mvl/mxv + .byte W05 + .byte 73*mus_dooro_x1_mvl/mxv + .byte W07 + .byte 77*mus_dooro_x1_mvl/mxv + .byte W05 + .byte 78*mus_dooro_x1_mvl/mxv + .byte W07 + .byte 80*mus_dooro_x1_mvl/mxv + .byte W18 + .byte MOD , 0 + .byte W06 + .byte N24 , Fs3 + .byte W30 + .byte N06 , Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N21 , Fs4 + .byte W24 + .byte N09 , Fn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte VOL , 77*mus_dooro_x1_mvl/mxv + .byte N90 , Gs4 + .byte W05 + .byte VOL , 70*mus_dooro_x1_mvl/mxv + .byte W07 + .byte 63*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 59*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 62*mus_dooro_x1_mvl/mxv + .byte W05 + .byte 64*mus_dooro_x1_mvl/mxv + .byte W01 + .byte MOD , 4 + .byte W06 + .byte VOL , 68*mus_dooro_x1_mvl/mxv + .byte W05 + .byte 69*mus_dooro_x1_mvl/mxv + .byte W07 + .byte 71*mus_dooro_x1_mvl/mxv + .byte W05 + .byte 73*mus_dooro_x1_mvl/mxv + .byte W07 + .byte 77*mus_dooro_x1_mvl/mxv + .byte W05 + .byte 78*mus_dooro_x1_mvl/mxv + .byte W07 + .byte 80*mus_dooro_x1_mvl/mxv + .byte W18 + .byte MOD , 0 + .byte W06 + .byte VOICE , 56 + .byte N12 , As4 + .byte W18 + .byte N03 , Fs4 + .byte W06 + .byte N24 + .byte W09 + .byte MOD , 3 + .byte W15 + .byte 0 + .byte W12 + .byte N09 + .byte W12 + .byte Gs4 + .byte W12 + .byte N12 , Fs4 + .byte W12 + .byte N30 , Fn4 + .byte W15 + .byte MOD , 3 + .byte W18 + .byte 0 + .byte W03 + .byte N06 , Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N36 , Cs4 + .byte W15 + .byte MOD , 4 + .byte W21 + .byte 0 + .byte W12 + .byte N12 , Ds4 + .byte W18 + .byte N03 , Fn4 + .byte W06 + .byte N24 , Fs4 + .byte W09 + .byte MOD , 3 + .byte W15 + .byte 0 + .byte W12 + .byte N09 , Bn4 + .byte W12 + .byte As4 + .byte W12 + .byte N12 , Gs4 + .byte W12 + .byte N30 , As4 + .byte W15 + .byte MOD , 3 + .byte W18 + .byte 0 + .byte W03 + .byte N06 , Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte N42 , Gs4 + .byte W15 + .byte MOD , 4 + .byte W24 + .byte W03 + .byte 0 + .byte W06 + .byte N12 , As4 + .byte W18 + .byte N03 , Fs4 + .byte W06 + .byte N24 + .byte W09 + .byte MOD , 3 + .byte W15 + .byte 0 + .byte W12 + .byte N09 + .byte W12 + .byte Gs4 + .byte W12 + .byte N12 , Fs4 + .byte W12 + .byte N30 , Fn4 + .byte W15 + .byte MOD , 3 + .byte W18 + .byte 0 + .byte W03 + .byte N06 , Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N24 , Cs4 + .byte W15 + .byte MOD , 4 + .byte W09 + .byte 0 + .byte N24 , Gs4 + .byte W09 + .byte MOD , 4 + .byte W15 + .byte 0 + .byte N12 , Fs4 + .byte W18 + .byte N03 , Fn4 + .byte W06 + .byte N24 , Ds4 + .byte W09 + .byte MOD , 3 + .byte W15 + .byte 0 + .byte W12 + .byte N09 + .byte W12 + .byte Fn4 + .byte W12 + .byte N12 , Fs4 + .byte W12 + .byte N30 , Fn4 + .byte W15 + .byte MOD , 3 + .byte W18 + .byte 0 + .byte W03 + .byte N06 + .byte W06 + .byte Fs4 + .byte W06 + .byte N44 , Gs4 + .byte W15 + .byte MOD , 4 + .byte W30 + .byte 0 + .byte W03 + .byte VOICE , 60 + .byte N12 , As3 + .byte W18 + .byte N06 , Bn3 + .byte W06 + .byte N30 , Cs4 + .byte W15 + .byte MOD , 4 + .byte W15 + .byte 0 + .byte W06 + .byte N09 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W12 + .byte N32 , Gs3 + .byte W36 + .byte N06 , Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N42 , Cs3 + .byte W15 + .byte MOD , 4 + .byte W24 + .byte W03 + .byte 0 + .byte W06 + .byte N12 , As3 + .byte W18 + .byte N06 , Bn3 + .byte W06 + .byte N30 , Cs4 + .byte W15 + .byte MOD , 4 + .byte W15 + .byte 0 + .byte W06 + .byte N09 , Gs3 + .byte W12 + .byte Cs4 + .byte W12 + .byte En4 + .byte W12 + .byte N32 , Ds4 + .byte W36 + .byte N06 , Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N44 , Bn3 + .byte W15 + .byte MOD , 4 + .byte W30 + .byte 0 + .byte W03 + .byte VOICE , 56 + .byte N12 + .byte W18 + .byte N06 , Cs4 + .byte W06 + .byte N32 , Dn4 + .byte W12 + .byte MOD , 3 + .byte W21 + .byte 0 + .byte W03 + .byte N09 + .byte W12 + .byte En4 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte N36 , Cs4 + .byte W15 + .byte MOD , 3 + .byte W21 + .byte 0 + .byte N06 , Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N42 , As3 + .byte W12 + .byte MOD , 3 + .byte W30 + .byte 0 + .byte W06 + .byte N09 , Gs3 + .byte W18 + .byte N06 , As3 + .byte W06 + .byte N68 , Bn3 + .byte W24 + .byte MOD , 4 + .byte W44 + .byte W01 + .byte 0 + .byte W03 + .byte N12 , Cs4 + .byte W18 + .byte N06 , Ds4 + .byte W06 + .byte N68 , Fn4 + .byte W24 + .byte MOD , 4 + .byte W44 + .byte W01 + .byte 0 + .byte W03 + .byte GOTO + .word mus_dooro_x1_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_dooro_x1_3: + .byte KEYSH , mus_dooro_x1_key+0 + .byte VOL , 80*mus_dooro_x1_mvl/mxv + .byte W12 +mus_dooro_x1_3_B1: + .byte W96 + .byte VOICE , 14 + .byte PAN , c_v+8 + .byte N18 , Cs4 , v056 + .byte W18 + .byte Ds4 + .byte W18 + .byte N12 , Fn4 + .byte W12 + .byte N36 , Gs3 + .byte W48 + .byte W96 + .byte N18 , Fn4 + .byte W18 + .byte Ds4 + .byte W18 + .byte N12 , Cs4 + .byte W12 + .byte N36 , Gs4 + .byte W48 + .byte W96 + .byte VOICE , 58 + .byte PAN , c_v+24 + .byte N03 , Cs2 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte VOICE , 60 + .byte N24 , Cs3 , v064 + .byte W03 + .byte VOL , 64*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 67*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 70*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 73*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 80*mus_dooro_x1_mvl/mxv + .byte W09 + .byte N12 , Bn2 + .byte W18 + .byte N03 , Cs3 + .byte W06 + .byte N24 , Ds3 + .byte W72 + .byte VOICE , 58 + .byte N03 , Cs2 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte VOICE , 60 + .byte N06 , Cs3 , v064 + .byte W06 + .byte As3 + .byte W06 + .byte N12 , Bn3 + .byte W18 + .byte N06 , As3 + .byte W06 + .byte N24 , Gs3 + .byte W24 + .byte W96 + .byte VOICE , 46 + .byte PAN , c_v-24 + .byte N06 , Cs3 , v076 + .byte W06 + .byte Fn3 , v056 + .byte W06 + .byte Gs3 , v060 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 , v068 + .byte W06 + .byte Gs4 , v072 + .byte W06 + .byte Cs5 + .byte W06 + .byte Gs3 , v076 + .byte W06 + .byte Cs4 , v056 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 , v060 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Gs4 , v068 + .byte W06 + .byte Cs5 , v072 + .byte W06 + .byte Gs5 , v076 + .byte W06 + .byte VOICE , 60 + .byte PAN , c_v+24 + .byte N12 , Ds3 , v064 + .byte W18 + .byte N03 , Cs3 + .byte W06 + .byte N24 , Bn2 + .byte W36 + .byte VOICE , 48 + .byte PAN , c_v-24 + .byte N09 , Bn3 , v068 + .byte W12 + .byte Cs4 + .byte W12 + .byte N12 , Ds4 + .byte W12 + .byte N30 , Cs4 + .byte W36 + .byte N06 + .byte W06 + .byte Ds4 + .byte W06 + .byte N44 , Fn4 + .byte W24 + .byte W03 + .byte VOL , 74*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 69*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 59*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 43*mus_dooro_x1_mvl/mxv + .byte W06 + .byte W96 + .byte W48 + .byte VOICE , 14 + .byte VOL , 80*mus_dooro_x1_mvl/mxv + .byte PAN , c_v+8 + .byte N18 , Gs3 , v072 + .byte W18 + .byte Fn4 , v056 + .byte W18 + .byte N12 , Cs4 , v072 + .byte W12 + .byte N36 , En4 + .byte W60 + .byte VOICE , 48 + .byte PAN , c_v-24 + .byte N09 , En4 , v052 + .byte W12 + .byte Gs4 + .byte W12 + .byte Cs5 + .byte W12 + .byte N32 , Bn4 + .byte W36 + .byte N06 , As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte N44 , Fs4 + .byte W48 + .byte W24 + .byte VOICE , 14 + .byte PAN , c_v-16 + .byte N48 , Fs4 , v072 + .byte W60 + .byte N12 , Dn4 + .byte W12 + .byte N36 , Fs4 + .byte W48 + .byte Cs4 + .byte W48 + .byte VOICE , 48 + .byte PAN , c_v-24 + .byte N09 , Cs3 + .byte W18 + .byte N06 , Fs3 + .byte W06 + .byte N68 , Gs3 + .byte W72 + .byte N12 + .byte W18 + .byte N06 , As3 + .byte W06 + .byte N68 , Bn3 + .byte W72 + .byte GOTO + .word mus_dooro_x1_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_dooro_x1_4: + .byte KEYSH , mus_dooro_x1_key+0 + .byte LFOS , 28 + .byte VOL , 80*mus_dooro_x1_mvl/mxv + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte W12 +mus_dooro_x1_4_B1: + .byte VOICE , 80 + .byte PAN , c_v+48 + .byte N12 , Cs3 , v052 + .byte W24 + .byte N06 , As2 + .byte W12 + .byte N12 , Cs3 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , As2 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte Gs2 + .byte W24 + .byte N06 , Fn3 + .byte W12 + .byte N12 , Gs2 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte N12 , Gs2 + .byte W12 + .byte Cs3 + .byte W24 + .byte N06 , As2 + .byte W12 + .byte N12 , Cs3 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , As2 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte N12 + .byte W24 + .byte N06 , Fn3 + .byte W12 + .byte N12 , Cs3 + .byte W24 + .byte N24 , Cs4 + .byte W24 + .byte N12 , Fn4 + .byte W12 +mus_dooro_x1_4_000: + .byte N12 , Fs4 , v052 + .byte W18 + .byte N03 , Cs4 + .byte W06 + .byte N30 + .byte W18 + .byte VOL , 74*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 67*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 55*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 80*mus_dooro_x1_mvl/mxv + .byte N09 , Cs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte PEND + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cs3 + .byte W06 + .byte Gs2 + .byte W06 + .byte VOICE , 4 + .byte N06 , Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte VOICE , 80 + .byte N12 , Bn3 + .byte W18 + .byte N03 , Cs4 + .byte W06 + .byte N30 , Ds4 + .byte W18 + .byte VOL , 74*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 67*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 55*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 80*mus_dooro_x1_mvl/mxv + .byte N09 , Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N12 , Fs3 + .byte W12 + .byte N03 , Cs3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N12 , Gs3 + .byte W18 + .byte N03 , Fs3 + .byte W06 + .byte N24 , Fn3 + .byte W24 + .byte PATT + .word mus_dooro_x1_4_000 + .byte N03 , Gs2 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Cs3 + .byte W12 + .byte N12 , Gs2 + .byte W12 + .byte Cs3 + .byte W18 + .byte N15 , Fn3 + .byte W18 + .byte N12 , Cs4 + .byte W12 + .byte Ds4 + .byte W18 + .byte N03 , Cs4 + .byte W06 + .byte N30 , Bn3 + .byte W18 + .byte VOL , 74*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 67*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 55*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 80*mus_dooro_x1_mvl/mxv + .byte N09 , Bn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte N12 , Ds3 + .byte W12 + .byte N03 , Cs3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte VOL , 61*mus_dooro_x1_mvl/mxv + .byte N48 , Fn3 , v060 + .byte W09 + .byte VOL , 63*mus_dooro_x1_mvl/mxv + .byte W09 + .byte 66*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 69*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 74*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x1_mvl/mxv + .byte W12 + .byte N12 , Fs3 , v052 + .byte W24 + .byte N06 , As2 + .byte W12 + .byte N12 , Fs3 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , As2 + .byte W12 + .byte N12 , Fs3 + .byte W12 + .byte Fn3 + .byte W24 + .byte N06 , Gs2 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte Fn3 + .byte W18 + .byte N12 + .byte W18 + .byte N12 + .byte W12 + .byte En3 + .byte W24 + .byte N06 , Gs2 + .byte W12 + .byte N12 , En3 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , Gs2 + .byte W12 + .byte N12 , En3 + .byte W12 + .byte Ds3 + .byte W24 + .byte N06 , Fs2 + .byte W12 + .byte N12 , Ds3 + .byte W24 + .byte N36 , Fs3 + .byte W36 + .byte N12 , Dn3 , v040 + .byte W18 + .byte N06 , En3 + .byte W06 + .byte N32 , Fs3 + .byte W12 + .byte MOD , 3 + .byte W21 + .byte 0 + .byte W03 + .byte N09 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N36 , As3 + .byte W15 + .byte MOD , 3 + .byte W21 + .byte 0 + .byte N06 , Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N42 , Fs3 + .byte W12 + .byte MOD , 3 + .byte W30 + .byte 0 + .byte W06 + .byte N03 , Gs2 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Cs3 + .byte W12 + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N06 , Cs3 + .byte W12 + .byte N12 , Gs2 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Cs3 + .byte W12 + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte VOL , 63*mus_dooro_x1_mvl/mxv + .byte N36 , Cs3 , v060 + .byte W09 + .byte VOL , 66*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 69*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 74*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x1_mvl/mxv + .byte W09 + .byte GOTO + .word mus_dooro_x1_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_dooro_x1_5: + .byte KEYSH , mus_dooro_x1_key+0 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte VOL , 80*mus_dooro_x1_mvl/mxv + .byte W12 +mus_dooro_x1_5_B1: + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N12 , As2 , v052 + .byte W24 + .byte N06 , Fs2 + .byte W12 + .byte N12 , As2 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , Fs2 + .byte W12 + .byte N12 , As2 + .byte W12 + .byte Fn2 + .byte W24 + .byte N06 , Cs3 + .byte W12 + .byte N12 , Fn2 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , Cs3 + .byte W12 + .byte N12 , Fn2 + .byte W12 + .byte As2 + .byte W24 + .byte N06 , Fs2 + .byte W12 + .byte N12 , As2 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , Fs2 + .byte W12 + .byte N12 , As2 + .byte W12 + .byte Gs2 + .byte W24 + .byte N06 , Cs3 + .byte W12 + .byte N12 , Gs2 + .byte W24 + .byte N24 , Gs3 + .byte W24 + .byte N12 , Bn3 + .byte W12 +mus_dooro_x1_5_000: + .byte N12 , Cs4 , v052 + .byte W18 + .byte N03 , As3 + .byte W06 + .byte N30 + .byte W18 + .byte VOL , 74*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 67*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 55*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 80*mus_dooro_x1_mvl/mxv + .byte N09 , As2 + .byte W12 + .byte Bn2 + .byte W12 + .byte N12 , As2 + .byte W12 + .byte PEND + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gs2 + .byte W06 + .byte Fn2 + .byte W06 + .byte VOICE , 5 + .byte N06 , Gs2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte VOICE , 82 + .byte N12 , Fs3 + .byte W18 + .byte N03 , As3 + .byte W06 + .byte N30 , Bn3 + .byte W18 + .byte VOL , 74*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 67*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 55*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 80*mus_dooro_x1_mvl/mxv + .byte N09 , Fs2 + .byte W12 + .byte As2 + .byte W12 + .byte N12 , Bn2 + .byte W12 + .byte N03 , As2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Fs3 + .byte W12 + .byte Ds3 + .byte W06 + .byte Cs3 + .byte W06 + .byte N12 , Fn3 + .byte W18 + .byte N03 , Ds3 + .byte W06 + .byte N24 , Cs3 + .byte W24 + .byte PATT + .word mus_dooro_x1_5_000 + .byte N03 , Fn2 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Gs2 + .byte W12 + .byte N12 , Fn2 + .byte W12 + .byte Gs2 + .byte W18 + .byte N15 , Cs3 + .byte W18 + .byte N12 , Gs3 + .byte W12 + .byte Bn3 + .byte W18 + .byte N03 , As3 + .byte W06 + .byte N30 , Fs3 + .byte W18 + .byte VOL , 74*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 67*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 55*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 80*mus_dooro_x1_mvl/mxv + .byte N09 , Fs2 + .byte W12 + .byte As2 + .byte W12 + .byte N12 , Bn2 + .byte W12 + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Cs3 + .byte W12 + .byte Gs2 + .byte W06 + .byte Bn2 + .byte W06 + .byte VOL , 61*mus_dooro_x1_mvl/mxv + .byte N12 , Cs3 , v060 + .byte W09 + .byte VOL , 63*mus_dooro_x1_mvl/mxv + .byte W03 + .byte VOICE , 83 + .byte N12 + .byte W06 + .byte VOL , 66*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 69*mus_dooro_x1_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 74*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x1_mvl/mxv + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte N12 , Cs3 , v052 + .byte W24 + .byte N06 , Fs2 + .byte W12 + .byte N12 , Cs3 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , Fs2 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte N12 + .byte W24 + .byte N06 , Fn2 + .byte W12 + .byte N12 , Gs2 + .byte W12 + .byte Cs3 + .byte W18 + .byte N12 + .byte W18 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte N06 , En2 + .byte W12 + .byte N12 , Cs3 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , En2 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte Bn2 + .byte W24 + .byte N06 , Ds2 + .byte W12 + .byte N12 , Bn2 + .byte W24 + .byte N36 , Ds3 + .byte W36 + .byte W06 + .byte PAN , c_v+48 + .byte BEND , c_v-3 + .byte N12 , Dn3 , v020 + .byte W18 + .byte N06 , En3 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte N09 + .byte W12 + .byte VOICE , 82 + .byte N09 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W06 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte N06 , Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte N18 + .byte W18 + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N03 , Fs2 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Gs2 + .byte W12 + .byte N03 , Fs2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N06 , Gs2 + .byte W12 + .byte N12 , Fs2 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Gs2 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte VOL , 63*mus_dooro_x1_mvl/mxv + .byte N36 , Bn2 , v060 + .byte W09 + .byte VOL , 66*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 69*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 74*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x1_mvl/mxv + .byte W09 + .byte GOTO + .word mus_dooro_x1_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_dooro_x1_6: + .byte KEYSH , mus_dooro_x1_key+0 + .byte VOICE , 81 + .byte VOL , 80*mus_dooro_x1_mvl/mxv + .byte W12 +mus_dooro_x1_6_B1: +mus_dooro_x1_6_000: + .byte N12 , Fs1 , v080 + .byte W24 + .byte N06 , Cs1 + .byte W12 + .byte N12 , Fs1 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , Cs1 + .byte W12 + .byte N12 , Fs1 + .byte W12 + .byte PEND + .byte Cs1 + .byte W24 + .byte N06 , Gs1 + .byte W12 + .byte N12 , Cs1 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , Gs1 + .byte W12 + .byte N12 , Cs1 + .byte W12 + .byte PATT + .word mus_dooro_x1_6_000 + .byte N12 , Cs1 , v080 + .byte W24 + .byte N06 , Gs1 + .byte W12 + .byte N12 , Cs1 + .byte W24 + .byte N24 , Gs1 + .byte W24 + .byte N12 , Fn1 + .byte W12 +mus_dooro_x1_6_001: + .byte N03 , Fs1 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W18 + .byte Cs2 + .byte W18 + .byte Cs1 + .byte W12 + .byte PEND + .byte N03 , Fn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W18 + .byte N15 , Gs1 + .byte W18 + .byte N12 , Cs1 + .byte W12 +mus_dooro_x1_6_002: + .byte N03 , Ds1 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , Fs1 + .byte W18 + .byte N15 , Bn1 + .byte W18 + .byte N12 , Ds1 + .byte W12 + .byte PEND + .byte N03 , Fs1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Cs2 + .byte W18 + .byte N06 + .byte W06 + .byte N24 , Cs1 + .byte W24 + .byte PATT + .word mus_dooro_x1_6_001 + .byte N03 , Fn1 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W18 + .byte N15 , Gs1 + .byte W18 + .byte N12 , Cs1 + .byte W12 + .byte PATT + .word mus_dooro_x1_6_002 + .byte N03 , Cs1 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W48 + .byte PATT + .word mus_dooro_x1_6_000 + .byte N12 , Fn1 , v080 + .byte W24 + .byte N06 , Cs1 + .byte W12 + .byte N12 , Fn1 + .byte W12 + .byte Gs1 + .byte W18 + .byte Fs1 + .byte W18 + .byte Fn1 + .byte W12 + .byte En1 + .byte W24 + .byte N06 , Cs1 + .byte W12 + .byte N12 , En1 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , Cs1 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte Ds1 + .byte W24 + .byte N06 , Fs1 + .byte W12 + .byte N12 , Ds1 + .byte W24 + .byte N36 , Bn1 + .byte W36 + .byte N18 , Fs2 + .byte W18 + .byte Fn2 + .byte W18 + .byte N12 , En2 + .byte W12 + .byte N18 , Dn2 + .byte W18 + .byte Cs2 + .byte W18 + .byte N12 , Bn1 + .byte W12 + .byte N18 , Fs1 + .byte W18 + .byte Gs1 + .byte W18 + .byte N12 , Fs1 + .byte W12 + .byte N18 , As1 + .byte W18 + .byte Gs1 + .byte W18 + .byte N12 , Fs1 + .byte W12 + .byte N03 , Cs1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , Gs1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte N03 , Cs1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N36 , Gs1 + .byte W36 + .byte GOTO + .word mus_dooro_x1_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_dooro_x1_7: + .byte VOL , 80*mus_dooro_x1_mvl/mxv + .byte KEYSH , mus_dooro_x1_key+0 + .byte VOICE , 47 + .byte PAN , c_v-8 + .byte N06 , Bn1 , v108 + .byte W12 +mus_dooro_x1_7_B1: + .byte VOL , 80*mus_dooro_x1_mvl/mxv + .byte N12 , Fs2 , v124 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 +mus_dooro_x1_7_000: + .byte N12 , Cs2 , v124 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte PEND + .byte Fs2 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte PATT + .word mus_dooro_x1_7_000 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 48 + .byte PAN , c_v-24 + .byte N12 , Fs4 , v052 + .byte W36 + .byte N09 + .byte W24 + .byte N09 + .byte W12 + .byte Gs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N32 , Fn4 + .byte W36 + .byte N06 , Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N12 , Fn4 + .byte W18 + .byte N12 + .byte W18 + .byte Fs4 + .byte W12 + .byte Gs4 + .byte W36 + .byte N09 + .byte W60 + .byte W60 + .byte VOICE , 47 + .byte PAN , c_v-8 + .byte N03 , Bn1 , v092 + .byte W03 + .byte Bn1 , v080 + .byte W03 + .byte N03 + .byte W03 + .byte Bn1 , v084 + .byte W03 + .byte Bn1 , v088 + .byte W03 + .byte N03 + .byte W03 + .byte Bn1 , v092 + .byte W03 + .byte Bn1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte Bn1 , v100 + .byte W03 + .byte N03 + .byte W03 + .byte Bn1 , v104 + .byte W03 + .byte N24 , Fs2 , v124 + .byte W84 + .byte N12 , Dn2 , v112 + .byte W12 + .byte N24 , Fs2 , v124 + .byte W96 + .byte Cs2 + .byte W36 + .byte N06 , Cs2 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N24 , Cs2 , v124 + .byte W36 + .byte N06 , Fs2 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N24 , Cs2 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cs2 , v124 + .byte W12 + .byte N03 , Cs2 , v092 + .byte W03 + .byte Cs2 , v080 + .byte W03 + .byte N03 + .byte W03 + .byte Cs2 , v084 + .byte W03 + .byte Cs2 , v088 + .byte W03 + .byte N03 + .byte W03 + .byte Cs2 , v092 + .byte W03 + .byte Cs2 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte Cs2 , v100 + .byte W03 + .byte N03 + .byte W03 + .byte Cs2 , v104 + .byte W03 + .byte GOTO + .word mus_dooro_x1_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_dooro_x1_8: + .byte KEYSH , mus_dooro_x1_key+0 + .byte W12 +mus_dooro_x1_8_B1: + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 80*mus_dooro_x1_mvl/mxv + .byte N48 , Bn2 , v092 + .byte W96 + .byte W96 + .byte N48 + .byte W96 + .byte W96 + .byte N96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N96 + .byte W96 + .byte W96 + .byte W96 + .byte W60 + .byte VOL , 40*mus_dooro_x1_mvl/mxv + .byte N36 , An2 , v064 + .byte W06 + .byte VOL , 47*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 52*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 59*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 66*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 69*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 73*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 76*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 80*mus_dooro_x1_mvl/mxv + .byte W06 + .byte N96 , Bn2 , v092 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N96 + .byte W96 + .byte N96 + .byte W96 + .byte N96 + .byte W96 + .byte N60 + .byte W60 + .byte VOL , 40*mus_dooro_x1_mvl/mxv + .byte N36 , An2 , v064 + .byte W06 + .byte VOL , 47*mus_dooro_x1_mvl/mxv + .byte W06 + .byte 52*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 59*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 66*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 69*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 73*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 76*mus_dooro_x1_mvl/mxv + .byte W03 + .byte 80*mus_dooro_x1_mvl/mxv + .byte W06 + .byte GOTO + .word mus_dooro_x1_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_dooro_x1_9: + .byte KEYSH , mus_dooro_x1_key+0 + .byte VOICE , 0 + .byte VOL , 80*mus_dooro_x1_mvl/mxv + .byte W12 +mus_dooro_x1_9_B1: +mus_dooro_x1_9_000: + .byte W18 + .byte N03 , En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W48 + .byte N06 + .byte W24 + .byte PEND + .byte PATT + .word mus_dooro_x1_9_000 + .byte PATT + .word mus_dooro_x1_9_000 + .byte PATT + .word mus_dooro_x1_9_000 +mus_dooro_x1_9_001: + .byte N06 , En1 , v080 + .byte W18 + .byte En1 , v056 + .byte W06 + .byte En1 , v116 + .byte W12 + .byte En1 , v060 + .byte W12 + .byte N06 + .byte W06 + .byte En1 , v056 + .byte W06 + .byte En1 , v060 + .byte W12 + .byte En1 , v116 + .byte W12 + .byte En1 , v060 + .byte W06 + .byte N06 + .byte W06 + .byte PEND +mus_dooro_x1_9_002: + .byte N06 , En1 , v080 + .byte W18 + .byte En1 , v056 + .byte W06 + .byte En1 , v116 + .byte W12 + .byte En1 , v060 + .byte W06 + .byte En1 , v056 + .byte W06 + .byte En1 , v060 + .byte W12 + .byte N06 + .byte W12 + .byte En1 , v116 + .byte W12 + .byte En1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte PEND + .byte PATT + .word mus_dooro_x1_9_001 + .byte PATT + .word mus_dooro_x1_9_002 + .byte PATT + .word mus_dooro_x1_9_001 + .byte PATT + .word mus_dooro_x1_9_002 + .byte PATT + .word mus_dooro_x1_9_001 + .byte N06 , En1 , v080 + .byte W18 + .byte En1 , v056 + .byte W06 + .byte En1 , v116 + .byte W12 + .byte En1 , v060 + .byte W06 + .byte En1 , v056 + .byte W06 + .byte En1 , v116 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_dooro_x1_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_dooro_x1: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_dooro_x1_pri @ Priority + .byte mus_dooro_x1_rev @ Reverb. + + .word mus_dooro_x1_grp + + .word mus_dooro_x1_1 + .word mus_dooro_x1_2 + .word mus_dooro_x1_3 + .word mus_dooro_x1_4 + .word mus_dooro_x1_5 + .word mus_dooro_x1_6 + .word mus_dooro_x1_7 + .word mus_dooro_x1_8 + .word mus_dooro_x1_9 + + .end diff --git a/sound/songs/mus_dooro_x3.s b/sound/songs/mus_dooro_x3.s new file mode 100644 index 0000000000..94d8ae9ccd --- /dev/null +++ b/sound/songs/mus_dooro_x3.s @@ -0,0 +1,3650 @@ + .include "MPlayDef.s" + + .equ mus_dooro_x3_grp, voicegroup_8678428 + .equ mus_dooro_x3_pri, 0 + .equ mus_dooro_x3_rev, reverb_set+50 + .equ mus_dooro_x3_mvl, 127 + .equ mus_dooro_x3_key, 0 + .equ mus_dooro_x3_tbs, 1 + .equ mus_dooro_x3_exg, 0 + .equ mus_dooro_x3_cmp, 1 + + .section .rodata + .global mus_dooro_x3 + .align 2 + +@********************** Track 1 **********************@ + +mus_dooro_x3_1: + .byte KEYSH , mus_dooro_x3_key+0 +mus_dooro_x3_1_B1: + .byte TEMPO , 134*mus_dooro_x3_tbs/2 + .byte VOICE , 81 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte N88 , An1 , v080 + .byte W96 + .byte N96 + .byte W96 + .byte N72 , Gn1 + .byte W80 + .byte VOICE , 83 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte VOICE , 81 + .byte N96 + .byte W96 + .byte N88 , Fn1 + .byte W96 + .byte N96 + .byte W96 + .byte N88 , En1 + .byte W96 + .byte N96 + .byte W96 +mus_dooro_x3_1_000: + .byte N12 , An1 , v080 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_dooro_x3_1_000 +mus_dooro_x3_1_001: + .byte N12 , Gn1 , v080 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_dooro_x3_1_001 +mus_dooro_x3_1_002: + .byte N12 , Fn1 , v080 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_dooro_x3_1_002 + .byte N12 , En1 , v080 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N24 + .byte W24 + .byte Gs1 + .byte W24 + .byte N16 , Bn1 + .byte W16 + .byte En1 + .byte W16 + .byte Gs1 + .byte W16 +mus_dooro_x3_1_003: + .byte VOICE , 83 + .byte N36 , An1 , v080 + .byte W40 + .byte N04 + .byte W08 + .byte N28 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte PEND +mus_dooro_x3_1_004: + .byte N36 , Gs1 , v080 + .byte W40 + .byte N04 + .byte W08 + .byte VOICE , 81 + .byte N12 + .byte W16 + .byte En2 + .byte W16 + .byte N16 , Cs2 + .byte W16 + .byte PEND +mus_dooro_x3_1_005: + .byte VOICE , 83 + .byte N36 , Gn1 , v080 + .byte W40 + .byte N04 + .byte W08 + .byte N28 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte PEND +mus_dooro_x3_1_006: + .byte N36 , Fs1 , v080 + .byte W40 + .byte N04 + .byte W08 + .byte VOICE , 81 + .byte N12 + .byte W16 + .byte Dn2 + .byte W16 + .byte N16 , Bn1 + .byte W16 + .byte PEND +mus_dooro_x3_1_007: + .byte VOICE , 83 + .byte N36 , Fn1 , v080 + .byte W40 + .byte N04 + .byte W08 + .byte N28 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte PEND +mus_dooro_x3_1_008: + .byte N36 , En1 , v080 + .byte W40 + .byte N04 + .byte W08 + .byte VOICE , 81 + .byte N12 + .byte W16 + .byte Cs2 + .byte W16 + .byte N16 , An1 + .byte W16 + .byte PEND + .byte VOICE , 83 + .byte N36 , Fs1 + .byte W40 + .byte N04 + .byte W08 + .byte VOICE , 81 + .byte N12 , An1 + .byte W16 + .byte Gs1 + .byte W16 + .byte N16 , Fs1 + .byte W16 + .byte VOICE , 83 + .byte N36 , En1 + .byte W40 + .byte N04 + .byte W08 + .byte VOICE , 81 + .byte N12 + .byte W16 + .byte Fs1 + .byte W16 + .byte N16 , Gs1 + .byte W16 + .byte PATT + .word mus_dooro_x3_1_003 + .byte PATT + .word mus_dooro_x3_1_004 + .byte PATT + .word mus_dooro_x3_1_005 + .byte PATT + .word mus_dooro_x3_1_006 + .byte PATT + .word mus_dooro_x3_1_007 + .byte PATT + .word mus_dooro_x3_1_008 + .byte VOICE , 83 + .byte N28 , En2 , v080 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N32 + .byte W32 + .byte N04 , Bn1 + .byte W08 + .byte N08 + .byte W08 + .byte N48 , En2 + .byte W48 + .byte VOICE , 81 + .byte N12 , En1 + .byte W16 + .byte Fs1 + .byte W16 + .byte N16 , Gs1 + .byte W16 + .byte GOTO + .word mus_dooro_x3_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_dooro_x3_2: + .byte KEYSH , mus_dooro_x3_key+0 +mus_dooro_x3_2_B1: + .byte VOICE , 60 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte PAN , c_v-9 + .byte W24 + .byte N24 , En4 , v096 + .byte W24 + .byte Dn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte Bn3 + .byte W24 + .byte Cs4 + .byte W24 + .byte Bn3 + .byte W24 + .byte An3 + .byte W24 + .byte N44 , Gn3 + .byte W18 + .byte MOD , 5 + .byte W12 + .byte VOL , 73*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 66*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 54*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 42*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 30*mus_dooro_x3_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x3_mvl/mxv + .byte MOD , 0 + .byte N12 , Bn3 + .byte W16 + .byte Cs4 + .byte W16 + .byte N16 , Dn4 + .byte W16 + .byte N32 , Bn3 + .byte W18 + .byte VOL , 73*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 66*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 54*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 42*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 30*mus_dooro_x3_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x3_mvl/mxv + .byte N36 , An3 + .byte W36 + .byte N24 , Gn3 + .byte W24 + .byte N80 , An3 + .byte W24 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 74*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 69*mus_dooro_x3_mvl/mxv + .byte W02 + .byte MOD , 5 + .byte W03 + .byte VOL , 63*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 57*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 52*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 47*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 41*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 35*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 30*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 24*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 18*mus_dooro_x3_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte W03 + .byte VOL , 13*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 8*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 2*mus_dooro_x3_mvl/mxv + .byte W02 + .byte 80*mus_dooro_x3_mvl/mxv + .byte N12 , Fn3 + .byte W16 + .byte Gn3 + .byte W16 + .byte An3 + .byte W16 + .byte Cn4 + .byte W16 + .byte Bn3 + .byte W16 + .byte An3 + .byte W16 + .byte N44 , Bn3 + .byte W18 + .byte MOD , 5 + .byte W12 + .byte VOL , 73*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 66*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 54*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 42*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 30*mus_dooro_x3_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x3_mvl/mxv + .byte MOD , 0 + .byte N12 + .byte W16 + .byte Cn4 + .byte W16 + .byte An3 + .byte W16 + .byte N92 , Bn3 + .byte W24 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 74*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 69*mus_dooro_x3_mvl/mxv + .byte W02 + .byte MOD , 5 + .byte W03 + .byte VOL , 63*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 57*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 52*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 47*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 51*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 58*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 65*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 71*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 75*mus_dooro_x3_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte W03 + .byte VOL , 77*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 80*mus_dooro_x3_mvl/mxv + .byte W07 + .byte VOICE , 56 + .byte W24 + .byte N24 , En4 , v108 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N24 , Dn4 + .byte W24 + .byte Cs4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N20 , Bn3 + .byte W12 + .byte MOD , 4 + .byte W08 + .byte 0 + .byte W04 + .byte N20 , Cs4 + .byte W24 + .byte Dn4 + .byte W24 + .byte En4 + .byte W08 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte W04 + .byte TIE , Bn3 + .byte W48 + .byte MOD , 6 + .byte W24 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 74*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 69*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 63*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 57*mus_dooro_x3_mvl/mxv + .byte W04 +mus_dooro_x3_2_000: + .byte W01 + .byte VOL , 52*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 47*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 41*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 35*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 30*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 24*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 18*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 13*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 8*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 2*mus_dooro_x3_mvl/mxv + .byte W02 + .byte PEND + .byte EOT , Bn3 + .byte MOD , 0 + .byte W08 + .byte VOICE , 46 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte PAN , c_v-23 + .byte N04 , Gn3 , v044 + .byte W04 + .byte An3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte An4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Cn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Gn5 + .byte W24 + .byte VOICE , 56 + .byte PAN , c_v-10 + .byte N24 , Fn4 , v108 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N24 , Gn4 + .byte W24 + .byte Fn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N20 , En4 + .byte W12 + .byte MOD , 4 + .byte W08 + .byte 0 + .byte W04 + .byte N20 , Dn4 + .byte W24 + .byte Cn4 + .byte W24 + .byte Fn4 + .byte W08 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte W04 + .byte TIE , En4 + .byte W48 + .byte MOD , 5 + .byte W24 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 74*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 69*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 63*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 57*mus_dooro_x3_mvl/mxv + .byte W04 + .byte PATT + .word mus_dooro_x3_2_000 + .byte EOT , En4 + .byte MOD , 0 + .byte W08 + .byte VOICE , 46 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte PAN , c_v-24 + .byte N04 , Bn3 , v044 + .byte W04 + .byte Cs4 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Cs5 + .byte W04 + .byte En5 + .byte W04 + .byte Gs5 + .byte W04 + .byte Bn5 + .byte W04 + .byte VOICE , 56 + .byte PAN , c_v-9 + .byte N28 , An3 , v108 + .byte W15 + .byte MOD , 5 + .byte W15 + .byte 0 + .byte W02 + .byte N08 , Cs4 + .byte W08 + .byte En4 + .byte W08 + .byte N12 , An4 + .byte W16 + .byte Gs4 + .byte W16 + .byte N16 , An4 + .byte W16 + .byte N84 , En4 + .byte W36 + .byte MOD , 5 + .byte W06 + .byte VOL , 71*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 68*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 62*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 52*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 47*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 29*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 13*mus_dooro_x3_mvl/mxv + .byte W06 + .byte 6*mus_dooro_x3_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W12 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte N28 + .byte W15 + .byte MOD , 5 + .byte W15 + .byte 0 + .byte W02 + .byte N08 + .byte W08 + .byte Fs4 + .byte W08 + .byte N12 , Gn4 + .byte W16 + .byte An4 + .byte W16 + .byte N16 , Cs4 + .byte W16 + .byte N84 , Dn4 + .byte W36 + .byte MOD , 5 + .byte W06 + .byte VOL , 71*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 68*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 62*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 52*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 47*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 29*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 13*mus_dooro_x3_mvl/mxv + .byte W06 + .byte 6*mus_dooro_x3_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W12 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte N28 , Fn4 + .byte W15 + .byte MOD , 5 + .byte W15 + .byte 0 + .byte W02 + .byte N08 , Dn4 + .byte W08 + .byte En4 + .byte W08 + .byte N12 , Fn4 + .byte W16 + .byte Gn4 + .byte W16 + .byte N16 , Fn4 + .byte W16 + .byte N28 , An4 + .byte W15 + .byte MOD , 5 + .byte W15 + .byte 0 + .byte W02 + .byte N08 , Gs4 + .byte W08 + .byte An4 + .byte W08 + .byte N44 , En4 + .byte W15 + .byte MOD , 5 + .byte W03 + .byte VOL , 74*mus_dooro_x3_mvl/mxv + .byte W06 + .byte 68*mus_dooro_x3_mvl/mxv + .byte W06 + .byte 58*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 43*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 34*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 13*mus_dooro_x3_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte N28 , Fs4 + .byte W15 + .byte MOD , 5 + .byte W15 + .byte 0 + .byte W02 + .byte N08 , Gs4 + .byte W08 + .byte An4 + .byte W08 + .byte N12 , Dn5 + .byte W16 + .byte Cs5 + .byte W16 + .byte N16 , Bn4 + .byte W16 + .byte N08 , En5 + .byte W15 + .byte MOD , 5 + .byte W01 + .byte N12 , Dn5 + .byte W14 + .byte MOD , 0 + .byte W02 + .byte N08 , Cs5 + .byte W08 + .byte An4 + .byte W08 + .byte N44 , Bn4 + .byte W15 + .byte MOD , 5 + .byte W03 + .byte VOL , 74*mus_dooro_x3_mvl/mxv + .byte W06 + .byte 68*mus_dooro_x3_mvl/mxv + .byte W06 + .byte 58*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 43*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 34*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 13*mus_dooro_x3_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W03 + .byte VOICE , 48 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte N28 , An3 , v096 + .byte W15 + .byte MOD , 3 + .byte W15 + .byte 0 + .byte W02 + .byte N08 , Cs4 + .byte W08 + .byte En4 + .byte W08 + .byte N12 , An4 + .byte W16 + .byte Gs4 + .byte W16 + .byte N16 , An4 + .byte W16 + .byte N84 , En4 + .byte W36 + .byte MOD , 3 + .byte W24 + .byte W03 + .byte VOL , 78*mus_dooro_x3_mvl/mxv + .byte W06 + .byte 71*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 66*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 60*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 45*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 30*mus_dooro_x3_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W12 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte N28 + .byte W15 + .byte MOD , 3 + .byte W15 + .byte 0 + .byte W02 + .byte N08 + .byte W08 + .byte Fs4 + .byte W08 + .byte N12 , Gn4 + .byte W16 + .byte An4 + .byte W16 + .byte N16 , Gn4 + .byte W16 + .byte N88 , Fs4 + .byte W36 + .byte MOD , 3 + .byte W24 + .byte W03 + .byte VOL , 78*mus_dooro_x3_mvl/mxv + .byte W06 + .byte 71*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 66*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 60*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 45*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 30*mus_dooro_x3_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W12 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte N28 , Fn4 + .byte W15 + .byte MOD , 3 + .byte W15 + .byte 0 + .byte W02 + .byte N08 + .byte W08 + .byte Gn4 + .byte W08 + .byte N12 , An4 + .byte W16 + .byte Bn4 + .byte W16 + .byte N16 , An4 + .byte W16 + .byte N28 , Cs5 + .byte W15 + .byte MOD , 3 + .byte W15 + .byte 0 + .byte W02 + .byte N08 , Dn5 + .byte W08 + .byte Cs5 + .byte W08 + .byte N44 , An4 + .byte W15 + .byte MOD , 3 + .byte W09 + .byte VOL , 78*mus_dooro_x3_mvl/mxv + .byte W06 + .byte 71*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 66*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 60*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 45*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 30*mus_dooro_x3_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte N32 , Bn4 + .byte W32 + .byte N08 , Fs4 + .byte W08 + .byte Gs4 + .byte W08 + .byte N12 , An4 + .byte W16 + .byte Bn4 + .byte W16 + .byte An4 + .byte W16 + .byte N28 , Bn4 + .byte W32 + .byte N08 + .byte W08 + .byte Cs5 + .byte W08 + .byte VOL , 77*mus_dooro_x3_mvl/mxv + .byte N44 , Dn5 + .byte W06 + .byte VOL , 74*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 69*mus_dooro_x3_mvl/mxv + .byte W06 + .byte MOD , 3 + .byte VOL , 72*mus_dooro_x3_mvl/mxv + .byte W06 + .byte 75*mus_dooro_x3_mvl/mxv + .byte W06 + .byte 78*mus_dooro_x3_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x3_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte W03 + .byte GOTO + .word mus_dooro_x3_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_dooro_x3_3: + .byte KEYSH , mus_dooro_x3_key+0 +mus_dooro_x3_3_B1: + .byte VOICE , 82 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v+48 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Cs3 , v052 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N16 + .byte W16 + .byte VOICE , 82 + .byte W08 + .byte N12 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte N24 , An2 + .byte W24 + .byte N12 , Bn2 + .byte W16 + .byte An2 + .byte W16 + .byte Gn2 + .byte W16 + .byte N24 , Bn2 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N28 , Gn2 + .byte W36 + .byte An2 + .byte W36 + .byte N24 , Bn2 + .byte W24 + .byte N12 , An2 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N16 + .byte W16 + .byte VOICE , 82 + .byte W08 + .byte N12 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte N12 , Cn3 + .byte W16 + .byte Bn2 + .byte W16 + .byte An2 + .byte W16 + .byte N12 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N08 + .byte W08 + .byte VOICE , 82 + .byte W04 + .byte N12 + .byte W16 + .byte N12 + .byte W16 + .byte N12 + .byte W16 + .byte Gs2 , v060 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 7 + .byte PAN , c_v+1 + .byte BEND , c_v-4 + .byte W04 + .byte N08 , An2 , v032 + .byte W08 + .byte Cs3 + .byte W08 + .byte En3 + .byte W08 + .byte An3 + .byte W08 + .byte Cs4 + .byte W08 + .byte En4 + .byte W08 + .byte An4 + .byte W08 + .byte En4 + .byte W08 + .byte Cs4 + .byte W08 + .byte En4 + .byte W08 + .byte Cs4 + .byte W08 + .byte An3 + .byte W04 + .byte W04 + .byte Cs4 + .byte W08 + .byte An3 + .byte W08 + .byte En3 + .byte W08 + .byte An3 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 + .byte W08 + .byte An2 + .byte W08 + .byte Cs3 + .byte W08 + .byte En3 + .byte W08 + .byte An3 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 + .byte W04 + .byte W04 + .byte Gn2 + .byte W08 + .byte Bn2 + .byte W08 + .byte Dn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Dn4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Dn4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Gn3 + .byte W04 + .byte W04 + .byte Bn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Bn2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Bn2 + .byte W08 + .byte Dn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Bn2 + .byte W04 + .byte W04 + .byte Fn2 + .byte W08 + .byte An2 + .byte W08 + .byte Cn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte An3 + .byte W08 + .byte Cn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte An3 + .byte W08 + .byte Cn4 + .byte W08 + .byte An3 + .byte W08 + .byte Fn3 + .byte W04 + .byte W04 + .byte An3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte An2 + .byte W08 + .byte Fn2 + .byte W08 + .byte An2 + .byte W08 + .byte Cn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte An2 + .byte W04 + .byte W04 + .byte En3 + .byte W08 + .byte An3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte En4 + .byte W08 + .byte Bn4 + .byte W08 + .byte An4 + .byte W08 + .byte En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Bn3 + .byte W08 + .byte An3 + .byte W04 + .byte W04 + .byte Gs3 + .byte W08 + .byte En3 + .byte W08 + .byte Bn2 + .byte W08 + .byte En3 + .byte W08 + .byte Bn2 + .byte W08 + .byte N04 , Gs2 + .byte W04 + .byte VOICE , 82 + .byte PAN , c_v+47 + .byte N16 , En2 , v056 + .byte W16 + .byte Gs2 + .byte W16 + .byte Bn2 + .byte W16 + .byte BEND , c_v+0 + .byte N12 , Cs3 , v044 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte N08 + .byte W08 + .byte VOICE , 82 + .byte W08 + .byte N04 + .byte W08 + .byte N24 + .byte W12 + .byte VOL , 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 51*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 36*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 80*mus_dooro_x3_mvl/mxv + .byte N08 , En3 + .byte W08 + .byte Dn3 + .byte W08 + .byte En3 + .byte W08 + .byte N12 , Cs3 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte N08 + .byte W08 + .byte VOICE , 82 + .byte W08 + .byte N04 + .byte W08 + .byte N24 + .byte W04 + .byte VOL , 74*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 45*mus_dooro_x3_mvl/mxv + .byte W08 + .byte PAN , c_v+0 + .byte W08 + .byte VOICE , 5 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte BEND , c_v-4 + .byte N08 , Gs4 , v032 + .byte W08 + .byte BEND , c_v-2 + .byte N08 , Cs5 + .byte W08 + .byte N04 , En5 + .byte W04 + .byte VOICE , 82 + .byte PAN , c_v+48 + .byte BEND , c_v+0 + .byte N12 , Cs3 , v044 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte N08 + .byte W08 + .byte VOICE , 82 + .byte W08 + .byte N04 + .byte W08 + .byte N24 + .byte W12 + .byte VOL , 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 51*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 36*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 80*mus_dooro_x3_mvl/mxv + .byte N08 + .byte W08 + .byte Bn2 + .byte W08 + .byte Cs3 + .byte W08 + .byte N12 , An2 , v048 + .byte W16 + .byte Bn2 + .byte W16 + .byte N08 , Cs3 + .byte W08 + .byte Fs2 + .byte W08 + .byte N24 , An2 + .byte W04 + .byte VOL , 74*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 45*mus_dooro_x3_mvl/mxv + .byte W08 + .byte VOICE , 5 + .byte PAN , c_v+0 + .byte W08 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte BEND , c_v-4 + .byte N08 , Fs4 , v032 + .byte W08 + .byte BEND , c_v-2 + .byte N08 , An4 + .byte W08 + .byte N04 , Dn5 + .byte W04 + .byte VOICE , 82 + .byte PAN , c_v+48 + .byte BEND , c_v+0 + .byte N12 , An2 , v044 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte N08 + .byte W08 + .byte VOICE , 82 + .byte W08 + .byte N04 + .byte W08 + .byte N24 + .byte W12 + .byte VOL , 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 51*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 36*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 80*mus_dooro_x3_mvl/mxv + .byte N08 , Dn3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Dn3 + .byte W08 + .byte N12 , An2 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte N08 + .byte W08 + .byte VOICE , 82 + .byte W08 + .byte N04 + .byte W08 + .byte N24 , An2 , v056 + .byte W04 + .byte VOL , 74*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 45*mus_dooro_x3_mvl/mxv + .byte W08 + .byte VOICE , 5 + .byte PAN , c_v+0 + .byte W08 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte BEND , c_v-4 + .byte N08 , En4 , v032 + .byte W08 + .byte BEND , c_v-2 + .byte N08 , An4 + .byte W08 + .byte N04 , Cs5 + .byte W04 + .byte VOICE , 82 + .byte PAN , c_v+48 + .byte BEND , c_v+0 + .byte N12 , Fs3 , v064 + .byte W12 + .byte VOICE , 84 + .byte N16 + .byte W08 + .byte VOL , 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 51*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 36*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 80*mus_dooro_x3_mvl/mxv + .byte N04 , En3 + .byte W04 + .byte VOICE , 82 + .byte W04 + .byte N04 , Fs3 + .byte W08 + .byte N12 + .byte W16 + .byte Gs3 + .byte W16 + .byte N16 , Fs3 + .byte W16 + .byte N12 , Gs3 + .byte W12 + .byte VOICE , 84 + .byte N16 + .byte W08 + .byte VOL , 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 51*mus_dooro_x3_mvl/mxv + .byte W04 + .byte VOICE , 82 + .byte VOL , 36*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 80*mus_dooro_x3_mvl/mxv + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W16 + .byte An3 + .byte W16 + .byte N16 , Bn3 + .byte W16 + .byte N12 , An3 , v044 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte N08 + .byte W08 + .byte VOICE , 82 + .byte W08 + .byte N04 , Cs3 + .byte W08 + .byte N24 + .byte W12 + .byte VOL , 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 51*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 36*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 80*mus_dooro_x3_mvl/mxv + .byte N08 , En3 + .byte W08 + .byte Dn3 + .byte W08 + .byte En3 + .byte W08 + .byte N12 , Cs3 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte N08 + .byte W08 + .byte VOICE , 82 + .byte W08 + .byte N04 + .byte W08 + .byte N12 , Cs3 , v056 + .byte W16 + .byte En3 + .byte W16 + .byte N16 , Gs3 + .byte W16 + .byte N12 , Cs3 , v044 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte N08 + .byte W08 + .byte VOICE , 82 + .byte W08 + .byte N04 + .byte W08 + .byte N24 + .byte W12 + .byte VOL , 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 51*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 36*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 80*mus_dooro_x3_mvl/mxv + .byte N08 + .byte W08 + .byte Bn2 + .byte W08 + .byte Cs3 + .byte W08 + .byte N12 , An2 + .byte W16 + .byte Bn2 + .byte W16 + .byte N08 , Cs3 + .byte W08 + .byte Fs3 + .byte W08 + .byte N12 , An3 , v056 + .byte W16 + .byte Fs3 + .byte W16 + .byte N16 , Dn3 + .byte W16 + .byte N12 , An2 , v044 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte N08 + .byte W08 + .byte VOICE , 82 + .byte W08 + .byte N04 + .byte W08 + .byte N24 + .byte W12 + .byte VOL , 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 51*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 36*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 80*mus_dooro_x3_mvl/mxv + .byte N08 , Dn3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Dn3 + .byte W08 + .byte N12 , An2 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte N08 , An2 , v024 + .byte W08 + .byte N04 , An2 , v044 + .byte W08 + .byte N08 , Bn2 + .byte W08 + .byte N12 , Cs3 + .byte W16 + .byte An2 + .byte W16 + .byte N16 , En2 + .byte W16 + .byte N12 , An2 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte N16 + .byte W24 + .byte VOICE , 82 + .byte N12 , Gs2 + .byte W12 + .byte VOICE , 84 + .byte N12 + .byte W12 + .byte N16 + .byte W16 + .byte VOICE , 82 + .byte W08 + .byte N12 , Dn3 , v060 + .byte W16 + .byte Cs3 + .byte W16 + .byte N16 , Bn2 + .byte W16 + .byte GOTO + .word mus_dooro_x3_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_dooro_x3_4: + .byte KEYSH , mus_dooro_x3_key+0 +mus_dooro_x3_4_B1: + .byte VOICE , 80 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v-48 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte N88 , En3 , v052 + .byte W96 + .byte N72 + .byte W72 + .byte N24 , Cs3 + .byte W24 + .byte N12 , Dn3 + .byte W16 + .byte Cs3 + .byte W16 + .byte Bn2 + .byte W16 + .byte N24 , Dn3 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N28 , Bn2 + .byte W36 + .byte Cs3 + .byte W36 + .byte N24 , Dn3 + .byte W24 + .byte N88 , Cn3 + .byte W96 + .byte N48 + .byte W48 + .byte N12 , Fn3 + .byte W16 + .byte En3 + .byte W16 + .byte Dn3 + .byte W16 + .byte N44 , En3 + .byte W48 + .byte N12 , Bn2 + .byte W16 + .byte N12 + .byte W16 + .byte N12 + .byte W16 + .byte N96 , Bn2 , v060 + .byte W96 + .byte VOICE , 6 + .byte PAN , c_v+0 + .byte N08 , An2 , v056 + .byte W08 + .byte Cs3 + .byte W08 + .byte En3 + .byte W08 + .byte An3 + .byte W08 + .byte Cs4 + .byte W08 + .byte En4 + .byte W08 + .byte An4 + .byte W08 + .byte En4 + .byte W08 + .byte Cs4 + .byte W08 + .byte En4 + .byte W08 + .byte Cs4 + .byte W08 + .byte An3 + .byte W08 + .byte Cs4 + .byte W08 + .byte An3 + .byte W08 + .byte En3 + .byte W08 + .byte An3 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 + .byte W08 + .byte An2 + .byte W08 + .byte Cs3 + .byte W08 + .byte En3 + .byte W08 + .byte An3 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Gn2 + .byte W08 + .byte Bn2 + .byte W08 + .byte Dn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Dn4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Dn4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Bn2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Bn2 + .byte W08 + .byte Dn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Bn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte An2 + .byte W08 + .byte Cn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte An3 + .byte W08 + .byte Cn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte An3 + .byte W08 + .byte Cn4 + .byte W08 + .byte An3 + .byte W08 + .byte Fn3 + .byte W08 + .byte An3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte An2 + .byte W08 + .byte Fn2 + .byte W08 + .byte An2 + .byte W08 + .byte Cn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte An2 + .byte W08 + .byte En3 + .byte W08 + .byte An3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte En4 + .byte W08 + .byte Bn4 + .byte W08 + .byte An4 + .byte W08 + .byte En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Bn3 + .byte W08 + .byte An3 + .byte W08 + .byte Gs3 + .byte W08 + .byte En3 + .byte W08 + .byte Bn2 + .byte W08 + .byte En3 + .byte W08 + .byte Bn2 + .byte W08 + .byte Gs2 + .byte W08 + .byte VOICE , 80 + .byte PAN , c_v-48 + .byte N16 , Gs2 , v064 + .byte W16 + .byte Bn2 + .byte W16 + .byte Dn3 + .byte W16 + .byte N32 , En3 , v052 + .byte W40 + .byte N04 + .byte W08 + .byte N24 + .byte W12 + .byte VOL , 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 51*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 36*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 80*mus_dooro_x3_mvl/mxv + .byte N08 , An3 + .byte W08 + .byte Gs3 + .byte W08 + .byte An3 + .byte W08 + .byte N32 , En3 + .byte W40 + .byte N04 + .byte W08 + .byte N24 + .byte W04 + .byte VOL , 74*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 45*mus_dooro_x3_mvl/mxv + .byte W04 + .byte PAN , c_v+0 + .byte W08 + .byte VOICE , 4 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte N08 , Gs4 , v056 + .byte W08 + .byte Cs5 + .byte W08 + .byte En5 + .byte W08 + .byte VOICE , 80 + .byte PAN , c_v-48 + .byte N32 , En3 , v052 + .byte W40 + .byte N04 + .byte W08 + .byte N24 + .byte W12 + .byte VOL , 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 51*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 36*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 80*mus_dooro_x3_mvl/mxv + .byte N08 , Gn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N12 , Dn3 , v060 + .byte W16 + .byte En3 + .byte W16 + .byte N08 , Fs3 + .byte W08 + .byte Bn2 + .byte W08 + .byte N24 , Dn3 , v056 + .byte W04 + .byte VOL , 74*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 45*mus_dooro_x3_mvl/mxv + .byte W04 + .byte VOICE , 4 + .byte PAN , c_v+1 + .byte W08 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte N08 , Fs4 + .byte W08 + .byte An4 + .byte W08 + .byte Dn5 + .byte W08 + .byte VOICE , 80 + .byte PAN , c_v-48 + .byte N32 , Dn3 , v052 + .byte W40 + .byte N04 + .byte W08 + .byte N24 + .byte W12 + .byte VOL , 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 51*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 36*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 80*mus_dooro_x3_mvl/mxv + .byte N08 , Fn3 + .byte W08 + .byte En3 + .byte W08 + .byte Fn3 + .byte W08 + .byte N32 , Cs3 + .byte W40 + .byte N04 + .byte W08 + .byte N24 , Cs3 , v056 + .byte W04 + .byte VOL , 74*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 45*mus_dooro_x3_mvl/mxv + .byte W04 + .byte VOICE , 4 + .byte PAN , c_v+0 + .byte W08 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte N08 , En4 + .byte W08 + .byte An4 + .byte W08 + .byte Cs5 + .byte W08 + .byte VOICE , 80 + .byte PAN , c_v-48 + .byte N28 , An3 , v064 + .byte W20 + .byte VOL , 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 51*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 36*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 80*mus_dooro_x3_mvl/mxv + .byte N04 , Gs3 + .byte W08 + .byte An3 + .byte W08 + .byte N12 + .byte W16 + .byte Bn3 + .byte W16 + .byte N16 , An3 + .byte W16 + .byte N28 , Bn3 + .byte W20 + .byte VOL , 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 51*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 36*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 80*mus_dooro_x3_mvl/mxv + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W16 + .byte Cs4 + .byte W16 + .byte N16 , Dn4 + .byte W16 + .byte N32 , Cs4 , v052 + .byte W40 + .byte N04 , En3 + .byte W08 + .byte N24 + .byte W12 + .byte VOL , 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 51*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 36*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 80*mus_dooro_x3_mvl/mxv + .byte N08 , An3 + .byte W08 + .byte Gs3 + .byte W08 + .byte An3 + .byte W08 + .byte N32 , En3 + .byte W40 + .byte N04 + .byte W08 + .byte N12 , En3 , v064 + .byte W16 + .byte Gs3 + .byte W16 + .byte N16 , Cs4 + .byte W16 + .byte N32 , En3 , v052 + .byte W40 + .byte N04 + .byte W08 + .byte N24 + .byte W12 + .byte VOL , 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 51*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 36*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 80*mus_dooro_x3_mvl/mxv + .byte N08 , Gn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N12 , Dn3 + .byte W16 + .byte En3 + .byte W16 + .byte N08 , Fs3 + .byte W08 + .byte An3 + .byte W08 + .byte N12 , Dn4 , v064 + .byte W16 + .byte An3 + .byte W16 + .byte N16 , Fs3 + .byte W16 + .byte N32 , Dn3 , v052 + .byte W40 + .byte N04 + .byte W08 + .byte N24 + .byte W12 + .byte VOL , 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 51*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 36*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 80*mus_dooro_x3_mvl/mxv + .byte N08 , An3 + .byte W08 + .byte Gs3 + .byte W08 + .byte An3 + .byte W08 + .byte N24 , Cs3 + .byte W24 + .byte N08 , Cs3 , v024 + .byte W08 + .byte N04 , Cs3 , v052 + .byte W08 + .byte N08 , Dn3 + .byte W08 + .byte N12 , En3 , v056 + .byte W16 + .byte Cs3 + .byte W16 + .byte N16 , An2 + .byte W16 + .byte N24 , Bn2 , v052 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N40 + .byte W48 + .byte N40 + .byte W48 + .byte N12 , Fs3 , v068 + .byte W16 + .byte En3 + .byte W16 + .byte N16 , Dn3 + .byte W16 + .byte GOTO + .word mus_dooro_x3_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_dooro_x3_5: + .byte KEYSH , mus_dooro_x3_key+0 +mus_dooro_x3_5_B1: + .byte VOICE , 0 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte N96 , An2 , v092 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N48 + .byte W96 + .byte N48 + .byte W96 + .byte GOTO + .word mus_dooro_x3_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_dooro_x3_6: + .byte KEYSH , mus_dooro_x3_key+0 +mus_dooro_x3_6_B1: + .byte VOICE , 46 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte PAN , c_v+0 + .byte N04 , An4 , v064 + .byte W04 + .byte An4 , v052 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v052 + .byte W04 + .byte Cs5 , v064 + .byte W04 + .byte Cs5 , v052 + .byte W04 + .byte Dn5 , v064 + .byte W04 + .byte Dn5 , v052 + .byte W04 + .byte Cs5 , v064 + .byte W04 + .byte Cs5 , v052 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v052 + .byte W04 + .byte An4 , v064 + .byte W04 + .byte An4 , v052 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v052 + .byte W04 + .byte Cs5 , v064 + .byte W04 + .byte Cs5 , v052 + .byte W04 + .byte Dn5 , v064 + .byte W04 + .byte Dn5 , v052 + .byte W04 + .byte Cs5 , v064 + .byte W04 + .byte Cs5 , v052 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v052 + .byte W04 +mus_dooro_x3_6_000: + .byte N04 , An4 , v064 + .byte W04 + .byte An4 , v052 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v052 + .byte W04 + .byte Cs5 , v064 + .byte W04 + .byte Cs5 , v052 + .byte W04 + .byte Dn5 , v064 + .byte W04 + .byte Dn5 , v052 + .byte W04 + .byte Cs5 , v064 + .byte W04 + .byte Cs5 , v052 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v052 + .byte W04 + .byte An4 , v064 + .byte W04 + .byte An4 , v052 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v052 + .byte W04 + .byte Cs5 , v064 + .byte W04 + .byte Cs5 , v052 + .byte W04 + .byte Dn5 , v064 + .byte W04 + .byte Dn5 , v052 + .byte W04 + .byte Cs5 , v064 + .byte W04 + .byte Cs5 , v052 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v052 + .byte W04 + .byte PEND + .byte PATT + .word mus_dooro_x3_6_000 + .byte PATT + .word mus_dooro_x3_6_000 +mus_dooro_x3_6_001: + .byte N04 , An4 , v064 + .byte W04 + .byte An4 , v052 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v052 + .byte W04 + .byte Cn5 , v064 + .byte W04 + .byte Cn5 , v052 + .byte W04 + .byte Dn5 , v064 + .byte W04 + .byte Dn5 , v052 + .byte W04 + .byte Cn5 , v064 + .byte W04 + .byte Cn5 , v052 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v052 + .byte W04 + .byte An4 , v064 + .byte W04 + .byte An4 , v052 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v052 + .byte W04 + .byte Cn5 , v064 + .byte W04 + .byte Cn5 , v052 + .byte W04 + .byte Dn5 , v064 + .byte W04 + .byte Dn5 , v052 + .byte W04 + .byte Cn5 , v064 + .byte W04 + .byte Cn5 , v052 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v052 + .byte W04 + .byte PEND + .byte PATT + .word mus_dooro_x3_6_001 + .byte N04 , An4 , v064 + .byte W04 + .byte An4 , v052 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v052 + .byte W04 + .byte Cn5 , v064 + .byte W04 + .byte Cn5 , v052 + .byte W04 + .byte Dn5 , v064 + .byte W04 + .byte Dn5 , v052 + .byte W04 + .byte Cn5 , v064 + .byte W04 + .byte Cn5 , v052 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v052 + .byte W04 + .byte An4 , v064 + .byte W04 + .byte An4 , v052 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v052 + .byte W04 + .byte Cn5 , v064 + .byte W04 + .byte Cn5 , v052 + .byte W04 + .byte Dn5 , v064 + .byte W04 + .byte Dn5 , v052 + .byte W04 + .byte Cn5 , v064 + .byte W04 + .byte Cn5 , v052 + .byte W04 + .byte An4 , v064 + .byte W04 + .byte An4 , v052 + .byte W04 + .byte Gs4 , v064 + .byte W04 + .byte Gs4 , v052 + .byte W04 + .byte An4 , v064 + .byte W04 + .byte An4 , v052 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v052 + .byte W04 + .byte En5 , v064 + .byte W04 + .byte En5 , v052 + .byte W04 + .byte Dn5 , v064 + .byte W04 + .byte Dn5 , v052 + .byte W04 + .byte Cs5 , v064 + .byte W04 + .byte Cs5 , v052 + .byte W04 + .byte Dn5 , v064 + .byte W04 + .byte Dn5 , v052 + .byte W04 + .byte Cs5 , v064 + .byte W04 + .byte Cs5 , v052 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v052 + .byte W04 + .byte Cs5 , v064 + .byte W04 + .byte Cs5 , v052 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v052 + .byte W04 + .byte Gs4 , v064 + .byte W04 + .byte Gs4 , v052 + .byte W04 + .byte W96 + .byte W96 + .byte VOICE , 56 + .byte W24 + .byte PAN , c_v+10 + .byte N04 , Gn4 , v088 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 , Dn5 + .byte W16 + .byte Cs5 + .byte W16 + .byte An4 + .byte W16 + .byte N68 , Bn4 + .byte W28 + .byte MOD , 6 + .byte W05 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 68*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 56*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 44*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 32*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 19*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 6*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 0*mus_dooro_x3_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte W04 + .byte VOICE , 47 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte PAN , c_v+0 + .byte N08 , Dn2 , v124 + .byte W08 + .byte Bn1 + .byte W08 + .byte N04 , Dn2 + .byte W04 + .byte Bn1 + .byte W04 + .byte N12 , Fn2 + .byte W96 + .byte W96 + .byte W24 + .byte VOICE , 56 + .byte PAN , c_v+10 + .byte N04 , An4 , v088 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 , Bn4 + .byte W16 + .byte An4 + .byte W16 + .byte Fs4 + .byte W16 + .byte N48 , Gs4 + .byte W18 + .byte MOD , 6 + .byte W06 + .byte VOL , 73*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 68*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 56*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 44*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 32*mus_dooro_x3_mvl/mxv + .byte W04 + .byte VOICE , 47 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte MOD , 0 + .byte N08 , Bn1 , v092 + .byte W16 + .byte Bn1 , v100 + .byte W08 + .byte PAN , c_v+0 + .byte W08 + .byte N08 , Bn1 , v112 + .byte W16 + .byte N12 , En2 , v124 + .byte W96 + .byte W48 + .byte VOICE , 24 + .byte N04 , Gs3 , v032 + .byte W08 + .byte Cs4 , v048 + .byte W08 + .byte En4 , v060 + .byte W16 + .byte VOICE , 47 + .byte N08 , Cs2 , v116 + .byte W08 + .byte Cs2 , v092 + .byte W08 + .byte N12 , En2 , v124 + .byte W96 + .byte W48 + .byte VOICE , 24 + .byte N04 , Fs3 , v036 + .byte W08 + .byte An3 , v048 + .byte W08 + .byte Dn4 , v060 + .byte W16 + .byte VOICE , 47 + .byte N08 , Dn2 , v124 + .byte W08 + .byte Dn2 , v112 + .byte W08 + .byte N12 , Fn2 , v124 + .byte W96 + .byte W48 + .byte VOICE , 24 + .byte N04 , En3 , v032 + .byte W08 + .byte An3 , v048 + .byte W08 + .byte Cs4 , v060 + .byte W16 + .byte VOICE , 47 + .byte N08 , Cs2 , v116 + .byte W08 + .byte Cs2 , v108 + .byte W08 + .byte N12 , Fs2 , v124 + .byte W80 + .byte N08 , Cs2 , v116 + .byte W08 + .byte Cs2 , v108 + .byte W08 + .byte N12 , En2 , v124 + .byte W48 + .byte N16 , Dn2 + .byte W16 + .byte N08 + .byte W08 + .byte Bn1 + .byte W08 + .byte Dn2 + .byte W08 + .byte Bn1 + .byte W08 + .byte N12 , En2 + .byte W48 + .byte VOICE , 60 + .byte N12 , Cs4 , v068 + .byte W16 + .byte Bn3 + .byte W16 + .byte N16 , Cs4 + .byte W16 + .byte N12 , Gs3 + .byte W16 + .byte N16 , An3 + .byte W16 + .byte Bn3 + .byte W16 + .byte N24 , Gs3 + .byte W32 + .byte VOICE , 47 + .byte N08 , Cs2 , v124 + .byte W16 + .byte N12 , En2 + .byte W48 + .byte VOICE , 60 + .byte N12 , Bn3 , v068 + .byte W16 + .byte Cs4 + .byte W16 + .byte N16 , Bn3 + .byte W16 + .byte N12 , Dn4 + .byte W16 + .byte Cs4 + .byte W16 + .byte N16 , An3 + .byte W16 + .byte N24 , Dn3 + .byte W24 + .byte VOICE , 47 + .byte W08 + .byte N08 , Dn2 , v124 + .byte W08 + .byte N08 + .byte W08 + .byte N12 , Fn2 + .byte W48 + .byte VOICE , 60 + .byte N12 , Fn3 , v068 + .byte W16 + .byte Gn3 + .byte W16 + .byte N16 , Fn3 + .byte W16 + .byte N28 , An3 + .byte W32 + .byte N08 + .byte W08 + .byte Gs3 + .byte W08 + .byte N32 , En3 + .byte W32 + .byte VOICE , 47 + .byte N08 , Fs2 , v124 + .byte W08 + .byte Dn2 + .byte W08 + .byte N12 , En2 + .byte W48 + .byte N12 + .byte W16 + .byte N12 + .byte W16 + .byte N08 , Bn1 + .byte W08 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N12 , En2 + .byte W56 + .byte N08 , Bn1 + .byte W08 + .byte En2 , v108 + .byte W08 + .byte Bn1 , v096 + .byte W08 + .byte En2 , v108 + .byte W08 + .byte Bn1 , v124 + .byte W08 + .byte GOTO + .word mus_dooro_x3_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_dooro_x3_7: + .byte KEYSH , mus_dooro_x3_key+0 +mus_dooro_x3_7_B1: + .byte VOICE , 47 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , En2 , v124 + .byte W96 + .byte W96 + .byte VOICE , 56 + .byte PAN , c_v+10 + .byte N12 , Gn3 , v084 + .byte W16 + .byte An3 + .byte W16 + .byte Bn3 + .byte W16 + .byte N84 , Dn4 + .byte W24 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte MOD , 6 + .byte W05 + .byte VOL , 76*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 71*mus_dooro_x3_mvl/mxv + .byte W06 + .byte 61*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 56*mus_dooro_x3_mvl/mxv + .byte W03 + .byte W02 + .byte 51*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 44*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 35*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 22*mus_dooro_x3_mvl/mxv + .byte W07 + .byte 15*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 6*mus_dooro_x3_mvl/mxv + .byte W08 + .byte 0*mus_dooro_x3_mvl/mxv + .byte W12 + .byte VOICE , 47 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte PAN , c_v+1 + .byte MOD , 0 + .byte N12 , Bn1 , v120 + .byte W24 + .byte N08 , Bn1 , v112 + .byte W08 + .byte Dn2 , v096 + .byte W08 + .byte N04 , Bn1 , v092 + .byte W04 + .byte Dn2 , v096 + .byte W04 + .byte N12 , Fn2 , v124 + .byte W48 + .byte VOICE , 56 + .byte PAN , c_v+10 + .byte N12 , An3 , v084 + .byte W16 + .byte Bn3 + .byte W16 + .byte An3 + .byte W16 + .byte N72 , Cn4 + .byte W32 + .byte MOD , 6 + .byte W08 + .byte VOL , 74*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 61*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 47*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 34*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 21*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 8*mus_dooro_x3_mvl/mxv + .byte W19 + .byte VOICE , 47 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte MOD , 0 + .byte W04 + .byte PAN , c_v+0 + .byte N04 , Cn2 , v096 + .byte W04 + .byte Cn2 , v092 + .byte W04 + .byte N08 , En2 , v124 + .byte W48 + .byte VOICE , 56 + .byte PAN , c_v+10 + .byte N12 , Gs4 , v084 + .byte W16 + .byte An4 + .byte W16 + .byte Fs4 + .byte W16 + .byte N72 , Gs4 + .byte W36 + .byte VOL , 77*mus_dooro_x3_mvl/mxv + .byte MOD , 6 + .byte W05 + .byte VOL , 66*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 54*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 42*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 30*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 18*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 6*mus_dooro_x3_mvl/mxv + .byte W06 + .byte VOICE , 47 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N08 , Bn1 , v124 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N16 , En2 + .byte W64 + .byte VOICE , 48 + .byte PAN , c_v-10 + .byte N08 , An2 , v068 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte N96 + .byte W05 + .byte VOL , 71*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 61*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 52*mus_dooro_x3_mvl/mxv + .byte W01 + .byte 51*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 52*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 54*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 56*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 58*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 60*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 61*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 63*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 65*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 67*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 69*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 70*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 72*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 74*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 76*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 78*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 80*mus_dooro_x3_mvl/mxv + .byte N24 , Gn2 + .byte W24 + .byte Dn3 + .byte W24 + .byte Cs3 + .byte W24 + .byte Bn2 + .byte W24 + .byte Gn2 + .byte W24 + .byte An2 + .byte W24 + .byte Bn2 + .byte W24 + .byte Dn3 + .byte W24 + .byte N96 , Cn3 + .byte W42 + .byte VOL , 78*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 75*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 71*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 68*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 64*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 61*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 57*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 54*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 50*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 47*mus_dooro_x3_mvl/mxv + .byte W09 + .byte N96 , An2 + .byte W15 + .byte VOL , 52*mus_dooro_x3_mvl/mxv + .byte W01 + .byte 51*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 52*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 54*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 56*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 58*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 60*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 61*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 63*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 65*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 67*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 69*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 70*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 72*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 74*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 76*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 78*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 80*mus_dooro_x3_mvl/mxv + .byte N24 , En2 + .byte W24 + .byte An2 + .byte W24 + .byte Bn2 + .byte W24 + .byte An2 + .byte W24 + .byte N12 , Gs2 , v088 + .byte W16 + .byte Bn2 + .byte W16 + .byte Fs3 + .byte W16 + .byte N48 , Gs3 + .byte W48 + .byte W72 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte N24 , An3 , v068 + .byte W24 + .byte VOL , 50*mus_dooro_x3_mvl/mxv + .byte N44 , Gs3 + .byte W03 + .byte VOL , 52*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 54*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 55*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 58*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 60*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 63*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 69*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 77*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 80*mus_dooro_x3_mvl/mxv + .byte W09 + .byte N12 , An3 + .byte W16 + .byte Gs3 + .byte W16 + .byte N16 , An3 + .byte W16 + .byte VOL , 42*mus_dooro_x3_mvl/mxv + .byte N68 , Gn3 + .byte W05 + .byte VOL , 47*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 53*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 59*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 65*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 71*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 77*mus_dooro_x3_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x3_mvl/mxv + .byte W08 + .byte 75*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 71*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 64*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 52*mus_dooro_x3_mvl/mxv + .byte W05 + .byte 37*mus_dooro_x3_mvl/mxv + .byte W09 + .byte 56*mus_dooro_x3_mvl/mxv + .byte N24 , En3 + .byte W04 + .byte VOL , 66*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 73*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 80*mus_dooro_x3_mvl/mxv + .byte W12 + .byte N12 , An3 + .byte W16 + .byte Bn3 + .byte W16 + .byte N16 , Cs4 + .byte W16 + .byte N44 , An3 + .byte W24 + .byte VOL , 68*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 60*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 55*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 44*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 31*mus_dooro_x3_mvl/mxv + .byte W04 + .byte 19*mus_dooro_x3_mvl/mxv + .byte W04 + .byte VOICE , 60 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte PAN , c_v+0 + .byte N28 + .byte W32 + .byte N08 , Fn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N12 , An3 + .byte W16 + .byte Bn3 + .byte W16 + .byte N16 , An3 + .byte W16 + .byte N28 , Cs4 + .byte W32 + .byte N08 , Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte N44 , An3 + .byte W18 + .byte VOL , 74*mus_dooro_x3_mvl/mxv + .byte W06 + .byte 68*mus_dooro_x3_mvl/mxv + .byte W06 + .byte 58*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 43*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 34*mus_dooro_x3_mvl/mxv + .byte W03 + .byte 13*mus_dooro_x3_mvl/mxv + .byte W09 + .byte VOICE , 48 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte PAN , c_v-10 + .byte N28 , Dn3 , v076 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W16 + .byte En3 + .byte W16 + .byte N16 , Dn3 + .byte W16 + .byte N28 , En3 + .byte W32 + .byte N04 , Dn3 + .byte W08 + .byte Cs3 + .byte W08 + .byte N08 , Bn2 , v064 + .byte W08 + .byte Cs3 , v068 + .byte W08 + .byte Dn3 , v072 + .byte W08 + .byte En3 , v080 + .byte W08 + .byte Fs3 , v084 + .byte W08 + .byte Gs3 , v092 + .byte W08 + .byte W96 + .byte W24 + .byte VOICE , 46 + .byte PAN , c_v-32 + .byte N04 , Gs5 , v060 + .byte W04 + .byte Gs5 , v044 + .byte W04 + .byte An5 , v060 + .byte W04 + .byte An5 , v044 + .byte W04 + .byte Gs5 , v060 + .byte W04 + .byte Gs5 , v044 + .byte W04 + .byte Fs5 , v068 + .byte W04 + .byte Fs5 , v044 + .byte W04 + .byte Cs5 , v056 + .byte W04 + .byte Cs5 , v044 + .byte W04 + .byte En5 , v068 + .byte W04 + .byte En5 , v044 + .byte W04 + .byte Gs4 , v056 + .byte W04 + .byte Gs4 , v044 + .byte W04 + .byte Cs5 , v068 + .byte W04 + .byte Cs5 , v044 + .byte W04 + .byte En4 , v056 + .byte W04 + .byte En4 , v044 + .byte W04 + .byte N08 , En5 , v068 + .byte W08 + .byte En5 , v044 + .byte W24 + .byte N04 , En5 , v056 + .byte W04 + .byte En5 , v044 + .byte W04 + .byte Fs5 , v056 + .byte W04 + .byte Fs5 , v044 + .byte W04 + .byte N08 , Gn5 , v056 + .byte W08 + .byte Gn5 , v044 + .byte W08 + .byte An5 , v056 + .byte W08 + .byte An5 , v044 + .byte W08 + .byte Gn5 , v056 + .byte W08 + .byte Gn5 , v044 + .byte W08 + .byte Fs5 , v056 + .byte W08 + .byte Fs5 , v044 + .byte W16 + .byte N04 , Fs5 , v060 + .byte W04 + .byte Fs5 , v044 + .byte W04 + .byte Gs5 , v060 + .byte W04 + .byte Gs5 , v044 + .byte W04 + .byte Fs5 , v060 + .byte W04 + .byte Fs5 , v044 + .byte W04 + .byte An5 , v068 + .byte W04 + .byte An5 , v044 + .byte W04 + .byte Fs5 , v056 + .byte W04 + .byte Fs5 , v044 + .byte W04 + .byte Gs5 , v068 + .byte W04 + .byte Gs5 , v044 + .byte W04 + .byte Fs5 , v056 + .byte W04 + .byte Fs5 , v044 + .byte W04 + .byte Dn5 , v068 + .byte W04 + .byte Dn5 , v044 + .byte W04 + .byte An4 , v056 + .byte W04 + .byte An4 , v044 + .byte W04 + .byte N08 , Fn5 , v068 + .byte W08 + .byte Fn5 , v044 + .byte W16 + .byte VOICE , 48 + .byte PAN , c_v+32 + .byte N04 , An5 , v036 + .byte W08 + .byte Gs5 + .byte W08 + .byte An5 + .byte W16 + .byte Fn5 + .byte W08 + .byte Gn5 + .byte W08 + .byte An5 + .byte W08 + .byte Gs5 + .byte W08 + .byte An5 + .byte W08 + .byte W08 + .byte N04 + .byte W08 + .byte Gs5 + .byte W08 + .byte An5 + .byte W08 + .byte Gs5 + .byte W08 + .byte En5 + .byte W08 + .byte N08 , An3 , v052 + .byte W08 + .byte En4 + .byte W08 + .byte An4 + .byte W08 + .byte En5 + .byte W08 + .byte An5 + .byte W08 + .byte Cs6 + .byte W08 + .byte VOICE , 48 + .byte PAN , c_v+9 + .byte N32 , En3 , v072 + .byte W32 + .byte N08 , Dn3 + .byte W08 + .byte En3 + .byte W08 + .byte N12 , Fs3 + .byte W16 + .byte Gs3 + .byte W16 + .byte Fs3 + .byte W16 + .byte N28 , Gs3 + .byte W32 + .byte N08 + .byte W08 + .byte An3 + .byte W08 + .byte N44 , Bn3 + .byte W48 + .byte GOTO + .word mus_dooro_x3_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_dooro_x3_8: + .byte KEYSH , mus_dooro_x3_key+0 +mus_dooro_x3_8_B1: + .byte VOICE , 0 + .byte VOL , 80*mus_dooro_x3_mvl/mxv + .byte N04 , En1 , v096 + .byte W24 + .byte En1 , v112 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte En1 , v052 + .byte W04 + .byte N04 + .byte W04 +mus_dooro_x3_8_000: + .byte N04 , En1 , v096 + .byte W24 + .byte En1 , v112 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v080 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte En1 , v112 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte En1 , v052 + .byte W04 + .byte N04 + .byte W04 + .byte PEND +mus_dooro_x3_8_001: + .byte N04 , En1 , v096 + .byte W24 + .byte En1 , v112 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte En1 , v052 + .byte W04 + .byte N04 + .byte W04 + .byte PEND + .byte PATT + .word mus_dooro_x3_8_000 + .byte PATT + .word mus_dooro_x3_8_001 + .byte PATT + .word mus_dooro_x3_8_000 + .byte PATT + .word mus_dooro_x3_8_001 + .byte PATT + .word mus_dooro_x3_8_000 + .byte PATT + .word mus_dooro_x3_8_001 + .byte PATT + .word mus_dooro_x3_8_000 + .byte PATT + .word mus_dooro_x3_8_001 + .byte PATT + .word mus_dooro_x3_8_000 + .byte PATT + .word mus_dooro_x3_8_001 + .byte PATT + .word mus_dooro_x3_8_000 + .byte N04 , En1 , v096 + .byte W08 + .byte En1 , v068 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W04 + .byte En1 , v048 + .byte W04 + .byte En1 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W04 + .byte En1 , v052 + .byte W04 + .byte En1 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte En1 , v052 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v096 + .byte W08 + .byte En1 , v068 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W04 + .byte En1 , v048 + .byte W04 + .byte En1 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W04 + .byte En1 , v052 + .byte W04 + .byte En1 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W08 + .byte En1 , v076 + .byte W08 + .byte En1 , v112 + .byte W08 +mus_dooro_x3_8_002: + .byte N04 , En1 , v068 + .byte W16 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v096 + .byte W08 + .byte En1 , v072 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W08 + .byte En1 , v072 + .byte W08 + .byte N04 + .byte W08 + .byte PEND + .byte PATT + .word mus_dooro_x3_8_002 + .byte PATT + .word mus_dooro_x3_8_002 + .byte PATT + .word mus_dooro_x3_8_002 + .byte PATT + .word mus_dooro_x3_8_002 + .byte PATT + .word mus_dooro_x3_8_002 + .byte PATT + .word mus_dooro_x3_8_002 + .byte N04 , En1 , v112 + .byte W48 + .byte En1 , v100 + .byte W04 + .byte En1 , v064 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v072 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v076 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v080 + .byte W04 + .byte En1 , v084 + .byte W04 + .byte En1 , v088 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 +mus_dooro_x3_8_003: + .byte N04 , En1 , v068 + .byte W16 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v096 + .byte W08 + .byte En1 , v072 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W08 + .byte En1 , v072 + .byte W08 + .byte N04 + .byte W08 + .byte PEND +mus_dooro_x3_8_004: + .byte N04 , En1 , v068 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v096 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte En1 , v116 + .byte W08 + .byte PEND + .byte PATT + .word mus_dooro_x3_8_003 + .byte PATT + .word mus_dooro_x3_8_004 + .byte PATT + .word mus_dooro_x3_8_003 + .byte N04 , En1 , v068 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v096 + .byte W08 + .byte En1 , v072 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W08 + .byte En1 , v072 + .byte W08 + .byte N04 + .byte W08 +mus_dooro_x3_8_005: + .byte W48 + .byte N04 , En1 , v072 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W08 + .byte En1 , v072 + .byte W08 + .byte N04 + .byte W08 + .byte PEND + .byte PATT + .word mus_dooro_x3_8_005 + .byte GOTO + .word mus_dooro_x3_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_dooro_x3: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_dooro_x3_pri @ Priority + .byte mus_dooro_x3_rev @ Reverb. + + .word mus_dooro_x3_grp + + .word mus_dooro_x3_1 + .word mus_dooro_x3_2 + .word mus_dooro_x3_3 + .word mus_dooro_x3_4 + .word mus_dooro_x3_5 + .word mus_dooro_x3_6 + .word mus_dooro_x3_7 + .word mus_dooro_x3_8 + + .end diff --git a/sound/songs/mus_dooro_x4.s b/sound/songs/mus_dooro_x4.s new file mode 100644 index 0000000000..be5fbe60d7 --- /dev/null +++ b/sound/songs/mus_dooro_x4.s @@ -0,0 +1,2905 @@ + .include "MPlayDef.s" + + .equ mus_dooro_x4_grp, voicegroup_867A1D4 + .equ mus_dooro_x4_pri, 0 + .equ mus_dooro_x4_rev, reverb_set+50 + .equ mus_dooro_x4_mvl, 127 + .equ mus_dooro_x4_key, 0 + .equ mus_dooro_x4_tbs, 1 + .equ mus_dooro_x4_exg, 0 + .equ mus_dooro_x4_cmp, 1 + + .section .rodata + .global mus_dooro_x4 + .align 2 + +@********************** Track 1 **********************@ + +mus_dooro_x4_1: + .byte KEYSH , mus_dooro_x4_key+0 + .byte TEMPO , 124*mus_dooro_x4_tbs/2 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte W96 + .byte W96 +mus_dooro_x4_1_B1: + .byte VOICE , 60 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , Gs3 , v116 + .byte W18 + .byte N06 , Ds3 + .byte W06 + .byte N24 , Ds4 + .byte W36 + .byte N06 , Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte N12 , Gs3 + .byte W18 + .byte N06 , Gn3 + .byte W06 + .byte N48 , Ds3 + .byte W72 + .byte N12 , Gs3 + .byte W18 + .byte N06 , Ds3 + .byte W06 + .byte N24 , Ds4 + .byte W36 + .byte N06 , Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte N12 , Gs3 + .byte W18 + .byte N06 , As3 + .byte W06 + .byte N48 , Gn3 + .byte W72 +mus_dooro_x4_1_000: + .byte N30 , Gs3 , v116 + .byte W36 + .byte N06 , Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N12 , As3 + .byte W18 + .byte Gs3 + .byte W18 + .byte Gn3 + .byte W12 + .byte PEND + .byte PATT + .word mus_dooro_x4_1_000 + .byte N30 , Gs3 , v116 + .byte W36 + .byte N06 , Ds3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , Gn3 + .byte W18 + .byte Ds4 + .byte W18 + .byte N09 , Cs4 + .byte W12 + .byte N48 + .byte W48 + .byte Cn4 + .byte W48 + .byte VOICE , 56 + .byte N30 , As4 + .byte W12 + .byte MOD , 5 + .byte W18 + .byte 0 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N12 , Gn4 + .byte W18 + .byte Gs4 + .byte W18 + .byte Ds4 + .byte W12 + .byte N32 , Fs4 + .byte W12 + .byte MOD , 5 + .byte W18 + .byte 0 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N12 , Fs4 + .byte W18 + .byte Gs4 + .byte W18 + .byte Fs4 + .byte W12 + .byte N92 + .byte W30 + .byte VOL , 75*mus_dooro_x4_mvl/mxv + .byte W09 + .byte MOD , 5 + .byte W02 + .byte VOL , 70*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 68*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 61*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 57*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 48*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 37*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 21*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 11*mus_dooro_x4_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte N92 , Fn4 + .byte W30 + .byte VOL , 75*mus_dooro_x4_mvl/mxv + .byte W09 + .byte MOD , 5 + .byte W02 + .byte VOL , 70*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 68*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 61*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 57*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 48*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 37*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 21*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 11*mus_dooro_x4_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte W03 + .byte VOICE , 60 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte N12 , Gs3 + .byte W18 + .byte N06 , Ds3 + .byte W06 + .byte N66 , Ds4 + .byte W24 + .byte VOL , 73*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 68*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 60*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 47*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 39*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 25*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 7*mus_dooro_x4_mvl/mxv + .byte W12 +mus_dooro_x4_1_001: + .byte VOICE , 56 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+16 + .byte N12 , Gs3 , v116 + .byte W18 + .byte N06 , Ds3 + .byte W06 + .byte N66 , Ds4 + .byte W24 + .byte VOL , 73*mus_dooro_x4_mvl/mxv + .byte MOD , 5 + .byte W05 + .byte VOL , 68*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 60*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 47*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 39*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 25*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 7*mus_dooro_x4_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W06 + .byte PEND +mus_dooro_x4_1_002: + .byte VOICE , 60 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , Gs3 , v116 + .byte W18 + .byte N06 , En3 + .byte W06 + .byte N66 , Bn3 + .byte W24 + .byte VOL , 73*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 68*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 60*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 47*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 39*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 25*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 7*mus_dooro_x4_mvl/mxv + .byte W12 + .byte PEND +mus_dooro_x4_1_003: + .byte VOICE , 56 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+16 + .byte N12 , Gs3 , v116 + .byte W18 + .byte N06 , En3 + .byte W06 + .byte N66 , Bn3 + .byte W24 + .byte VOL , 73*mus_dooro_x4_mvl/mxv + .byte MOD , 5 + .byte W05 + .byte VOL , 68*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 60*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 47*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 39*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 25*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 7*mus_dooro_x4_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W06 + .byte PEND + .byte VOICE , 60 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , Gs3 + .byte W18 + .byte N06 , Ds3 + .byte W06 + .byte N66 , Ds4 + .byte W24 + .byte VOL , 73*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 68*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 60*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 47*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 39*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 25*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 7*mus_dooro_x4_mvl/mxv + .byte W12 + .byte PATT + .word mus_dooro_x4_1_001 + .byte PATT + .word mus_dooro_x4_1_002 + .byte PATT + .word mus_dooro_x4_1_003 + .byte VOICE , 60 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , As3 , v116 + .byte W18 + .byte N06 , Cn4 + .byte W06 + .byte N36 , Cs4 + .byte W36 + .byte N09 , Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N12 , Gs3 + .byte W18 + .byte N06 , Gn3 + .byte W06 + .byte N30 , Ds3 + .byte W12 + .byte VOL , 74*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 70*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 66*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 51*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 17*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x4_mvl/mxv + .byte N09 + .byte W12 + .byte Gs3 + .byte W12 + .byte Ds4 + .byte W12 + .byte N92 + .byte W09 + .byte VOL , 74*mus_dooro_x4_mvl/mxv + .byte W09 + .byte 70*mus_dooro_x4_mvl/mxv + .byte W09 + .byte 68*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 62*mus_dooro_x4_mvl/mxv + .byte W24 + .byte 65*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 69*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 71*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 76*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x4_mvl/mxv + .byte W15 + .byte N90 , As3 + .byte W44 + .byte W01 + .byte VOL , 74*mus_dooro_x4_mvl/mxv + .byte W09 + .byte 69*mus_dooro_x4_mvl/mxv + .byte W09 + .byte 64*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 54*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 45*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 36*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 24*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 9*mus_dooro_x4_mvl/mxv + .byte W06 + .byte GOTO + .word mus_dooro_x4_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_dooro_x4_2: + .byte KEYSH , mus_dooro_x4_key+0 + .byte VOICE , 58 + .byte VOL , 66*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+0 + .byte N96 , Cs1 , v127 + .byte W05 + .byte VOL , 58*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 55*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 53*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 52*mus_dooro_x4_mvl/mxv + .byte W12 + .byte 53*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 56*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 59*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 62*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 66*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 78*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 80*mus_dooro_x4_mvl/mxv + .byte W24 + .byte PAN , c_v+0 + .byte N56 , Ds1 + .byte W18 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 78*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 68*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 62*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 52*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 41*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 23*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 80*mus_dooro_x4_mvl/mxv + .byte N12 + .byte W12 + .byte Fn1 + .byte W12 + .byte Gn1 + .byte W12 +mus_dooro_x4_2_B1: + .byte VOICE , 58 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte N12 , Gs1 , v127 + .byte W24 + .byte N32 , Ds1 + .byte W18 + .byte VOL , 74*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 69*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 55*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 1*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x4_mvl/mxv + .byte N12 , Gs1 + .byte W12 + .byte N21 , Ds1 + .byte W24 +mus_dooro_x4_2_000: + .byte N12 , Ds1 , v127 + .byte W18 + .byte N06 + .byte W06 + .byte N32 , As1 + .byte W18 + .byte VOL , 74*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 69*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 55*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 1*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x4_mvl/mxv + .byte N12 , Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte PEND + .byte Gs1 + .byte W24 + .byte N32 , Ds1 + .byte W18 + .byte VOL , 74*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 69*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 55*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 1*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x4_mvl/mxv + .byte N12 , Gs1 + .byte W12 + .byte N21 , Ds1 + .byte W24 + .byte PATT + .word mus_dooro_x4_2_000 +mus_dooro_x4_2_001: + .byte N12 , Cs2 , v127 + .byte W24 + .byte N32 , Gs1 + .byte W18 + .byte VOL , 74*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 69*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 55*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 1*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x4_mvl/mxv + .byte N24 , Cs2 + .byte W24 + .byte N12 , Gs1 + .byte W12 + .byte PEND + .byte PATT + .word mus_dooro_x4_2_001 + .byte N12 , Gs1 , v127 + .byte W24 + .byte N30 , Ds1 + .byte W36 + .byte N24 , Fn1 + .byte W24 + .byte N12 , Gs1 + .byte W12 + .byte N15 , As1 + .byte W18 + .byte Gs1 + .byte W18 + .byte N12 , Gn1 + .byte W12 + .byte N42 , Fn1 + .byte W30 + .byte VOL , 69*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 62*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 47*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 30*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 20*mus_dooro_x4_mvl/mxv + .byte W06 + .byte VOICE , 56 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte W48 + .byte N12 , Ds3 , v108 + .byte W18 + .byte N12 + .byte W18 + .byte N12 + .byte W12 + .byte W48 + .byte Cs3 + .byte W18 + .byte N12 + .byte W18 + .byte N12 + .byte W12 + .byte W48 + .byte VOICE , 56 + .byte N44 , Cs4 , v092 + .byte W18 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte W03 + .byte MOD , 5 + .byte W03 + .byte VOL , 75*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 69*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 46*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 39*mus_dooro_x4_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte N92 + .byte W30 + .byte VOL , 75*mus_dooro_x4_mvl/mxv + .byte W09 + .byte MOD , 5 + .byte W02 + .byte VOL , 70*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 68*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 61*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 57*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 48*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 37*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 21*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 11*mus_dooro_x4_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte W03 + .byte VOICE , 56 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 73 + .byte W48 + .byte PAN , c_v-16 + .byte N12 , Ds4 , v088 + .byte W18 + .byte N06 , Cn4 + .byte W06 + .byte N72 , Gs4 + .byte W24 +mus_dooro_x4_2_002: + .byte MOD , 5 + .byte W18 + .byte VOL , 73*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 66*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 62*mus_dooro_x4_mvl/mxv + .byte W02 + .byte 57*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 53*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 44*mus_dooro_x4_mvl/mxv + .byte W04 + .byte 34*mus_dooro_x4_mvl/mxv + .byte W02 + .byte 28*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 17*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 11*mus_dooro_x4_mvl/mxv + .byte W04 + .byte 3*mus_dooro_x4_mvl/mxv + .byte MOD , 0 + .byte W48 + .byte PEND + .byte W48 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte N12 , En4 , v088 + .byte W18 + .byte N06 , Bn3 + .byte W06 + .byte N72 , Gs4 + .byte W24 + .byte PATT + .word mus_dooro_x4_2_002 + .byte W96 + .byte W48 + .byte VOICE , 58 + .byte VOL , 58*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+0 + .byte N48 , Ds1 , v127 + .byte W03 + .byte VOL , 48*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 54*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 60*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 66*mus_dooro_x4_mvl/mxv + .byte W09 + .byte 70*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 75*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x4_mvl/mxv + .byte W09 + .byte N09 + .byte W12 + .byte N09 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte N09 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte N09 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte N12 + .byte W12 + .byte Fn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte GOTO + .word mus_dooro_x4_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_dooro_x4_3: + .byte KEYSH , mus_dooro_x4_key+0 + .byte VOICE , 47 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte N06 , Cs2 , v092 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Ds2 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds2 , v088 + .byte W12 + .byte Ds2 , v100 + .byte W12 + .byte Fn2 + .byte W12 + .byte Gn2 + .byte W12 +mus_dooro_x4_3_B1: + .byte VOICE , 56 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte W96 + .byte 65*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+16 + .byte N32 , Ds4 , v076 + .byte W03 + .byte VOL , 60*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 51*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 58*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 65*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 71*mus_dooro_x4_mvl/mxv + .byte MOD , 5 + .byte W03 + .byte VOL , 78*mus_dooro_x4_mvl/mxv + .byte W15 + .byte MOD , 0 + .byte W03 + .byte N03 , Ds4 , v096 + .byte W06 + .byte As3 + .byte W06 + .byte N06 , Ds4 + .byte W12 + .byte N12 , As4 + .byte W24 + .byte N06 , Gn4 + .byte W12 + .byte W96 + .byte VOL , 65*mus_dooro_x4_mvl/mxv + .byte N32 , Ds4 , v076 + .byte W03 + .byte VOL , 60*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 51*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 58*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 65*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 71*mus_dooro_x4_mvl/mxv + .byte MOD , 5 + .byte W03 + .byte VOL , 78*mus_dooro_x4_mvl/mxv + .byte W15 + .byte MOD , 0 + .byte W03 + .byte N03 , Gn4 , v096 + .byte W06 + .byte Fn4 + .byte W06 + .byte N06 , Gn4 + .byte W12 + .byte N12 , As4 + .byte W24 + .byte N06 , Gn4 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 47 + .byte W60 + .byte PAN , c_v+0 + .byte N12 , Ds2 , v127 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N21 + .byte W48 + .byte N12 + .byte W18 + .byte N12 + .byte W18 + .byte N12 + .byte W12 + .byte N24 , Cs2 + .byte W48 + .byte N12 + .byte W18 + .byte N12 + .byte W18 + .byte N12 + .byte W12 + .byte N24 , Ds2 + .byte W48 + .byte VOICE , 60 + .byte N12 , Gs2 , v108 + .byte W18 + .byte N12 + .byte W18 + .byte N12 + .byte W12 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte N92 + .byte W30 + .byte VOL , 75*mus_dooro_x4_mvl/mxv + .byte W11 + .byte 70*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 68*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 61*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 57*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 48*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 37*mus_dooro_x4_mvl/mxv + .byte W05 + .byte 21*mus_dooro_x4_mvl/mxv + .byte W07 + .byte 11*mus_dooro_x4_mvl/mxv + .byte W12 + .byte VOICE , 47 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte N12 , Ds2 , v104 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 +mus_dooro_x4_3_000: + .byte N06 , Ds2 , v127 + .byte W06 + .byte Ds2 , v104 + .byte W06 + .byte N12 , Ds2 , v127 + .byte W24 + .byte Ds2 , v104 + .byte W24 + .byte N12 + .byte W24 + .byte Ds2 , v127 + .byte W12 + .byte PEND +mus_dooro_x4_3_001: + .byte N12 , Fs2 , v104 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PEND +mus_dooro_x4_3_002: + .byte N06 , Fs2 , v127 + .byte W06 + .byte Fs2 , v104 + .byte W06 + .byte N12 , Fs2 , v127 + .byte W24 + .byte Fs2 , v104 + .byte W24 + .byte N12 + .byte W24 + .byte Fs2 , v127 + .byte W12 + .byte PEND + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte N12 , Ds2 , v104 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word mus_dooro_x4_3_000 + .byte PATT + .word mus_dooro_x4_3_001 + .byte PATT + .word mus_dooro_x4_3_002 + .byte N12 , Ds2 , v127 + .byte W96 + .byte W96 + .byte VOICE , 47 + .byte N06 , Ds2 , v124 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte Ds2 , v108 + .byte W06 + .byte Ds2 , v124 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte Ds2 , v108 + .byte W06 + .byte Ds2 , v124 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte Ds2 , v108 + .byte W06 + .byte Ds2 , v124 + .byte W12 + .byte N12 , Ds2 , v108 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte GOTO + .word mus_dooro_x4_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_dooro_x4_4: + .byte KEYSH , mus_dooro_x4_key+0 + .byte VOICE , 2 + .byte XCMD , xIECV , 9 + .byte xIECL , 8 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , Fn4 , v036 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte PAN , c_v-48 + .byte N03 , Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte PAN , c_v+49 + .byte N03 , Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , Ds4 + .byte W06 + .byte Gn4 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte PAN , c_v-48 + .byte N03 , Ds4 + .byte W06 + .byte Gn4 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , Ds4 + .byte W06 + .byte Gn4 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte PAN , c_v+49 + .byte N03 , Ds4 + .byte W06 + .byte Gn4 , v040 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 , v044 + .byte W06 +mus_dooro_x4_4_B1: + .byte VOICE , 2 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , Ds5 , v036 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v-48 + .byte N03 , Ds5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , Ds5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v+49 + .byte N03 , Ds5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Ds4 + .byte W06 +mus_dooro_x4_4_000: + .byte PAN , c_v+0 + .byte N03 , Ds5 , v036 + .byte W06 + .byte As4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v-48 + .byte N03 , Ds5 + .byte W06 + .byte As4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , As4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte PAN , c_v+49 + .byte N03 , As4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte PEND + .byte PAN , c_v+0 + .byte N03 , Ds5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v-48 + .byte N03 , Ds5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , Ds5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v+49 + .byte N03 , Ds5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PATT + .word mus_dooro_x4_4_000 + .byte VOICE , 4 + .byte PAN , c_v-48 + .byte N12 , Fn4 , v048 + .byte W18 + .byte Ds4 + .byte W18 + .byte Cs4 + .byte W12 + .byte N44 , Fn4 + .byte W21 + .byte VOL , 66*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 54*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 15*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 6*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x4_mvl/mxv + .byte N12 , En4 + .byte W18 + .byte Ds4 + .byte W18 + .byte Cs4 + .byte W12 + .byte N44 , En4 + .byte W21 + .byte VOL , 66*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 54*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 15*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 6*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x4_mvl/mxv + .byte N12 , Ds4 + .byte W18 + .byte Cs4 + .byte W18 + .byte Cn4 + .byte W12 + .byte N44 , Ds4 + .byte W21 + .byte VOL , 66*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 54*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 15*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 6*mus_dooro_x4_mvl/mxv + .byte W06 + .byte VOICE , 4 + .byte PAN , c_v+0 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte N06 , As2 , v044 + .byte W06 + .byte Cs3 , v048 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 , v052 + .byte W06 + .byte As3 , v056 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 , v060 + .byte W06 + .byte Gn4 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fn5 + .byte W06 + .byte Cn5 , v060 + .byte W06 + .byte Gs4 , v056 + .byte W06 + .byte Fn4 , v048 + .byte W06 + .byte PAN , c_v-48 + .byte N30 , Gn4 , v052 + .byte W12 + .byte VOL , 66*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 49*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 26*mus_dooro_x4_mvl/mxv + .byte W24 + .byte 80*mus_dooro_x4_mvl/mxv + .byte N12 , As2 + .byte W18 + .byte N12 + .byte W18 + .byte N12 + .byte W12 + .byte N32 , Cs4 + .byte W12 + .byte VOL , 66*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 49*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 26*mus_dooro_x4_mvl/mxv + .byte W24 + .byte 80*mus_dooro_x4_mvl/mxv + .byte N12 , As2 + .byte W18 + .byte N12 + .byte W18 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Cs4 , v064 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cn5 + .byte W06 + .byte As4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N03 , Cs3 + .byte W03 + .byte N03 + .byte W03 + .byte Fn3 + .byte W03 + .byte N03 + .byte W03 + .byte Gs3 + .byte W03 + .byte N03 + .byte W03 + .byte Cs4 + .byte W03 + .byte N03 + .byte W03 + .byte Fn4 + .byte W03 + .byte N03 + .byte W03 + .byte Gs4 + .byte W03 + .byte N03 + .byte W03 + .byte Cn5 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Cs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Cs5 , v056 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Fn5 , v048 + .byte W06 + .byte Cs5 , v036 + .byte W06 + .byte PAN , c_v+49 + .byte N06 , Fn5 , v032 + .byte W06 + .byte Cs5 , v028 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Fn5 , v024 + .byte W06 + .byte Cs5 , v020 + .byte W06 + .byte N24 , Cn3 , v080 + .byte W09 + .byte VOL , 65*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 51*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 18*mus_dooro_x4_mvl/mxv + .byte W30 + .byte 80*mus_dooro_x4_mvl/mxv + .byte W48 + .byte N24 + .byte W09 + .byte VOL , 65*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 51*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 18*mus_dooro_x4_mvl/mxv + .byte W18 + .byte 80*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , Gs4 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Cn4 , v056 + .byte W24 + .byte N03 , Gs4 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v-48 + .byte N24 , Bn2 , v080 + .byte W09 + .byte VOL , 65*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 51*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 18*mus_dooro_x4_mvl/mxv + .byte W30 + .byte 80*mus_dooro_x4_mvl/mxv + .byte W48 + .byte N24 + .byte W09 + .byte VOL , 65*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 51*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 18*mus_dooro_x4_mvl/mxv + .byte W18 + .byte 80*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , Gs4 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Bn3 , v056 + .byte W24 + .byte N03 , Gs4 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v-48 + .byte N24 , Cn3 , v080 + .byte W09 + .byte VOL , 65*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 51*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 18*mus_dooro_x4_mvl/mxv + .byte W18 + .byte 80*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , Gs3 , v072 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Ds3 + .byte W24 + .byte N03 , Gs3 + .byte W06 + .byte N03 + .byte W06 + .byte VOL , 48*mus_dooro_x4_mvl/mxv + .byte PAN , c_v-48 + .byte N48 , Ds3 , v084 + .byte W06 + .byte VOL , 54*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 58*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 66*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 74*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x4_mvl/mxv + .byte W18 + .byte PAN , c_v+0 + .byte N06 , Cn4 , v072 + .byte W18 + .byte Gs3 + .byte W06 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte PAN , c_v-48 + .byte MOD , 0 + .byte N24 , Bn2 , v080 + .byte W09 + .byte VOL , 65*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 51*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 18*mus_dooro_x4_mvl/mxv + .byte W18 + .byte 80*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , Gs3 , v072 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte En3 + .byte W24 + .byte N03 , Gs3 + .byte W06 + .byte N03 + .byte W06 + .byte VOL , 48*mus_dooro_x4_mvl/mxv + .byte PAN , c_v-48 + .byte N48 , En3 , v084 + .byte W06 + .byte VOL , 54*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 58*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 66*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 74*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x4_mvl/mxv + .byte W18 + .byte PAN , c_v+0 + .byte N06 , Gs3 , v072 + .byte W18 + .byte En3 + .byte W06 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N48 , Ds3 , v052 + .byte W24 + .byte VOL , 74*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 60*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 42*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 29*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 18*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 10*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 4*mus_dooro_x4_mvl/mxv + .byte W48 + .byte 80*mus_dooro_x4_mvl/mxv + .byte N48 , Cn3 + .byte W24 + .byte VOL , 74*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 60*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 42*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 29*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 18*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 10*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 4*mus_dooro_x4_mvl/mxv + .byte W12 + .byte 80*mus_dooro_x4_mvl/mxv + .byte N09 , Gs2 , v064 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N92 + .byte W09 + .byte VOL , 74*mus_dooro_x4_mvl/mxv + .byte W09 + .byte 70*mus_dooro_x4_mvl/mxv + .byte W09 + .byte 68*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 62*mus_dooro_x4_mvl/mxv + .byte W24 + .byte 65*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 69*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 71*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 76*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 80*mus_dooro_x4_mvl/mxv + .byte W15 + .byte N90 , Gn3 + .byte W44 + .byte W01 + .byte VOL , 74*mus_dooro_x4_mvl/mxv + .byte W09 + .byte 69*mus_dooro_x4_mvl/mxv + .byte W09 + .byte 64*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 54*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 45*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 36*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 24*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 9*mus_dooro_x4_mvl/mxv + .byte W06 + .byte GOTO + .word mus_dooro_x4_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_dooro_x4_5: + .byte KEYSH , mus_dooro_x4_key+0 + .byte VOICE , 5 + .byte XCMD , xIECV , 9 + .byte xIECL , 8 + .byte PAN , c_v+0 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte N03 , Gs2 , v060 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte As2 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte Cn3 + .byte W12 + .byte Cs3 + .byte W12 +mus_dooro_x4_5_B1: + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte W24 + .byte N06 , Gs3 , v060 + .byte W48 + .byte N06 + .byte W24 +mus_dooro_x4_5_000: + .byte W24 + .byte N06 , Gs3 , v060 + .byte W48 + .byte Gn3 + .byte W24 + .byte PEND + .byte W24 + .byte Gs3 + .byte W48 + .byte N06 + .byte W24 + .byte PATT + .word mus_dooro_x4_5_000 + .byte VOICE , 82 + .byte PAN , c_v+48 + .byte N12 , Cs4 , v048 + .byte W18 + .byte Cn4 + .byte W18 + .byte As3 + .byte W12 + .byte Cs4 + .byte W12 + .byte VOICE , 86 + .byte N12 + .byte W09 + .byte VOL , 66*mus_dooro_x4_mvl/mxv + .byte W03 + .byte N12 + .byte W03 + .byte VOL , 54*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W03 + .byte N09 + .byte W03 + .byte VOL , 15*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 6*mus_dooro_x4_mvl/mxv + .byte W06 + .byte VOICE , 82 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte N12 + .byte W18 + .byte Cn4 + .byte W18 + .byte As3 + .byte W12 + .byte Cs4 + .byte W12 + .byte VOICE , 86 + .byte N12 + .byte W09 + .byte VOL , 66*mus_dooro_x4_mvl/mxv + .byte W03 + .byte N12 + .byte W03 + .byte VOL , 54*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W03 + .byte N09 + .byte W03 + .byte VOL , 15*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 6*mus_dooro_x4_mvl/mxv + .byte W06 + .byte VOICE , 82 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte N12 , Cn4 + .byte W18 + .byte As3 + .byte W18 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte VOICE , 86 + .byte N12 + .byte W09 + .byte VOL , 66*mus_dooro_x4_mvl/mxv + .byte W03 + .byte N12 + .byte W03 + .byte VOL , 54*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W03 + .byte N09 + .byte W03 + .byte VOL , 15*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 6*mus_dooro_x4_mvl/mxv + .byte W06 + .byte VOICE , 5 + .byte PAN , c_v+0 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte W06 + .byte N06 , As2 , v028 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v+48 + .byte N30 , Ds4 , v052 + .byte W12 + .byte VOL , 66*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 49*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 26*mus_dooro_x4_mvl/mxv + .byte W24 + .byte 80*mus_dooro_x4_mvl/mxv + .byte N12 , Gn2 + .byte W18 + .byte N12 + .byte W18 + .byte N12 + .byte W12 + .byte N32 , As3 , v040 + .byte W12 + .byte VOL , 66*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 49*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 26*mus_dooro_x4_mvl/mxv + .byte W24 + .byte 80*mus_dooro_x4_mvl/mxv + .byte N12 , Fs2 , v052 + .byte W18 + .byte N12 + .byte W18 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte W06 + .byte N06 , Cs4 , v028 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cn5 + .byte W06 + .byte As4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 , v024 + .byte W06 + .byte Fn5 + .byte W06 + .byte Cs5 , v016 + .byte W06 + .byte Fn5 , v012 + .byte W06 + .byte Cs5 , v008 + .byte W24 +mus_dooro_x4_5_001: + .byte PAN , c_v+48 + .byte N24 , Gs2 , v080 + .byte W09 + .byte VOL , 65*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 51*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 18*mus_dooro_x4_mvl/mxv + .byte W30 + .byte 80*mus_dooro_x4_mvl/mxv + .byte W48 + .byte PEND + .byte N24 + .byte W09 + .byte VOL , 65*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 51*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 18*mus_dooro_x4_mvl/mxv + .byte W18 + .byte 80*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , Ds4 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Gs3 , v056 + .byte W24 + .byte N03 , Ds4 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte PATT + .word mus_dooro_x4_5_001 + .byte N24 , Gs2 , v080 + .byte W09 + .byte VOL , 65*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 51*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 18*mus_dooro_x4_mvl/mxv + .byte W18 + .byte 80*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , En4 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Gs3 , v056 + .byte W24 + .byte N03 , En4 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+48 + .byte N24 , Gs2 , v080 + .byte W09 + .byte VOL , 65*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 51*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 18*mus_dooro_x4_mvl/mxv + .byte W18 + .byte 80*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , Ds3 , v072 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Cn3 + .byte W24 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte VOL , 48*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+48 + .byte N12 , Cn3 , v084 + .byte W06 + .byte VOL , 54*mus_dooro_x4_mvl/mxv + .byte W06 + .byte VOICE , 6 + .byte VOL , 58*mus_dooro_x4_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 66*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 74*mus_dooro_x4_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte W06 + .byte N12 + .byte W12 + .byte VOICE , 5 + .byte PAN , c_v+0 + .byte N06 , Gs3 , v072 + .byte W18 + .byte Ds3 + .byte W06 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte PAN , c_v+48 + .byte MOD , 0 + .byte N24 , Gs2 , v080 + .byte W09 + .byte VOL , 65*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 51*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 35*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 18*mus_dooro_x4_mvl/mxv + .byte W18 + .byte 80*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , En3 , v072 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Bn2 + .byte W24 + .byte N03 , En3 + .byte W06 + .byte N03 + .byte W06 + .byte VOL , 48*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+48 + .byte N12 , Bn2 , v084 + .byte W06 + .byte VOL , 54*mus_dooro_x4_mvl/mxv + .byte W06 + .byte VOICE , 6 + .byte VOL , 58*mus_dooro_x4_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 66*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 74*mus_dooro_x4_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte W06 + .byte N12 + .byte W12 + .byte VOICE , 5 + .byte PAN , c_v+0 + .byte N06 , En3 , v072 + .byte W18 + .byte Bn2 + .byte W06 + .byte N24 , Gs3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , Gn2 , v052 + .byte W12 + .byte VOICE , 6 + .byte N12 + .byte W12 + .byte VOL , 74*mus_dooro_x4_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 60*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 42*mus_dooro_x4_mvl/mxv + .byte N12 + .byte W03 + .byte VOL , 29*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 18*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 10*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 4*mus_dooro_x4_mvl/mxv + .byte W48 + .byte VOICE , 5 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte N12 , Gs2 + .byte W12 + .byte VOICE , 6 + .byte N12 + .byte W12 + .byte VOL , 74*mus_dooro_x4_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 60*mus_dooro_x4_mvl/mxv + .byte W06 + .byte 42*mus_dooro_x4_mvl/mxv + .byte N12 + .byte W03 + .byte VOL , 29*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 18*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 10*mus_dooro_x4_mvl/mxv + .byte W03 + .byte 4*mus_dooro_x4_mvl/mxv + .byte W48 + .byte VOICE , 5 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte N03 , Gs2 , v072 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Gn2 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte Gs2 + .byte W12 + .byte As2 + .byte W12 + .byte GOTO + .word mus_dooro_x4_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_dooro_x4_6: + .byte KEYSH , mus_dooro_x4_key+0 + .byte VOICE , 85 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte N03 , Cs3 , v064 + .byte W36 + .byte VOICE , 84 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 85 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte Ds3 + .byte W12 + .byte N03 + .byte W24 + .byte VOICE , 84 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 85 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 +mus_dooro_x4_6_B1: + .byte VOICE , 81 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte N12 , Gs2 , v064 + .byte W18 + .byte N06 , Ds2 + .byte W06 + .byte N18 , Ds3 , v032 + .byte W18 + .byte N06 , Ds3 , v064 + .byte W18 + .byte Cs3 + .byte W12 + .byte Cn3 + .byte W12 + .byte As2 + .byte W12 + .byte N12 , Gs2 + .byte W18 + .byte N06 , Gn2 + .byte W06 + .byte N42 , Ds2 + .byte W42 + .byte N06 , Ds2 , v032 + .byte W30 + .byte N12 , Gs2 , v064 + .byte W18 + .byte N06 , Ds2 + .byte W06 + .byte N18 , Ds3 + .byte W18 + .byte N06 , Ds3 , v032 + .byte W18 + .byte Cs3 , v064 + .byte W12 + .byte Cn3 + .byte W12 + .byte As2 + .byte W12 + .byte N12 , Gs2 + .byte W18 + .byte N06 , As2 + .byte W06 + .byte N42 , Gn2 + .byte W42 + .byte N06 , Gn2 , v032 + .byte W30 + .byte N24 , Cs3 , v064 + .byte W24 + .byte N06 , Cs3 , v032 + .byte W12 + .byte Cn3 , v064 + .byte W06 + .byte Cs3 + .byte W06 + .byte N12 , Fn3 + .byte W18 + .byte Ds3 + .byte W18 + .byte Cs3 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Cs3 , v032 + .byte W12 + .byte Cn3 , v064 + .byte W06 + .byte Cs3 + .byte W06 + .byte N12 , En3 + .byte W18 + .byte Ds3 + .byte W18 + .byte Cs3 + .byte W12 + .byte N24 , Ds3 + .byte W24 + .byte N06 , Ds3 , v032 + .byte W12 + .byte Gs2 , v064 + .byte W06 + .byte As2 + .byte W06 + .byte N12 , Cn3 + .byte W18 + .byte Gs3 + .byte W18 + .byte N09 + .byte W12 + .byte N42 , Gn3 + .byte W42 + .byte N06 , Gn3 , v032 + .byte W06 + .byte N36 , Gs3 , v064 + .byte W36 + .byte N12 + .byte W12 + .byte N32 , Ds1 , v080 + .byte W48 + .byte N12 + .byte W18 + .byte N12 + .byte W18 + .byte N12 + .byte W12 + .byte N30 , Fs1 + .byte W30 + .byte N12 , Fs1 , v032 + .byte W18 + .byte Cs1 , v080 + .byte W18 + .byte N12 + .byte W18 + .byte N12 + .byte W12 + .byte N48 , Gs1 + .byte W48 + .byte N12 , Gs1 , v032 + .byte W18 + .byte Cs2 , v080 + .byte W18 + .byte N12 + .byte W12 + .byte N48 , Cs1 + .byte W48 + .byte N12 , Cs1 , v048 + .byte W12 + .byte Cs1 , v032 + .byte W36 +mus_dooro_x4_6_000: + .byte N12 , Gs1 , v080 + .byte W36 + .byte N09 + .byte W24 + .byte N09 + .byte W24 + .byte N09 + .byte W12 + .byte PEND + .byte PATT + .word mus_dooro_x4_6_000 +mus_dooro_x4_6_001: + .byte N12 , Bn1 , v080 + .byte W36 + .byte N09 + .byte W24 + .byte N09 + .byte W24 + .byte N09 + .byte W12 + .byte PEND + .byte PATT + .word mus_dooro_x4_6_001 + .byte PATT + .word mus_dooro_x4_6_000 + .byte PATT + .word mus_dooro_x4_6_000 + .byte PATT + .word mus_dooro_x4_6_001 + .byte PATT + .word mus_dooro_x4_6_001 + .byte N48 , Ds1 , v080 + .byte W48 + .byte N12 , Ds1 , v032 + .byte W48 + .byte W96 + .byte VOICE , 85 + .byte N03 , As2 , v080 + .byte W12 + .byte N03 + .byte W24 + .byte VOICE , 84 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 85 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte VOICE , 84 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 85 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte Cn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte GOTO + .word mus_dooro_x4_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_dooro_x4_7: + .byte KEYSH , mus_dooro_x4_key+0 + .byte VOICE , 56 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , Cs3 , v088 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte Ds3 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Ds3 , v084 + .byte W12 + .byte N06 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 +mus_dooro_x4_7_B1: + .byte VOICE , 56 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte PAN , c_v+0 + .byte W24 + .byte N06 , Cn4 , v088 + .byte W48 + .byte N06 + .byte W24 +mus_dooro_x4_7_000: + .byte W24 + .byte N06 , As3 , v088 + .byte W48 + .byte N06 + .byte W24 + .byte PEND + .byte W24 + .byte Cn4 + .byte W48 + .byte N06 + .byte W24 + .byte PATT + .word mus_dooro_x4_7_000 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_dooro_x4_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_dooro_x4_8: + .byte KEYSH , mus_dooro_x4_key+0 + .byte VOICE , 0 + .byte VOL , 80*mus_dooro_x4_mvl/mxv + .byte N06 , En1 , v104 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 +mus_dooro_x4_8_000: + .byte N06 , En1 , v104 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte En1 , v072 + .byte W06 + .byte En1 , v104 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W03 + .byte En1 , v052 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v072 + .byte W03 + .byte En1 , v076 + .byte W03 + .byte En1 , v088 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v108 + .byte W03 + .byte PEND +mus_dooro_x4_8_B1: +mus_dooro_x4_8_001: + .byte N06 , En1 , v104 + .byte N48 , Bn2 , v084 + .byte W36 + .byte N06 , En1 , v104 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte PATT + .word mus_dooro_x4_8_001 + .byte N06 , En1 , v104 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte En1 , v076 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v104 + .byte W06 + .byte En1 , v076 + .byte W06 + .byte En1 , v104 + .byte N96 , Bn2 , v084 + .byte W18 + .byte N06 , En1 , v076 + .byte W06 + .byte En1 , v104 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte En1 , v076 + .byte W06 + .byte N06 + .byte W12 + .byte En1 , v104 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte En1 , v076 + .byte W06 + .byte En1 , v064 + .byte W06 +mus_dooro_x4_8_002: + .byte N06 , En1 , v104 + .byte W18 + .byte En1 , v076 + .byte W06 + .byte En1 , v104 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte En1 , v104 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W03 + .byte En1 , v056 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND + .byte N06 , En1 , v104 + .byte W18 + .byte En1 , v076 + .byte W06 + .byte En1 , v104 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte En1 , v076 + .byte W06 + .byte N06 + .byte W12 + .byte En1 , v104 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte En1 , v076 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte PATT + .word mus_dooro_x4_8_002 +mus_dooro_x4_8_003: + .byte N06 , En1 , v104 + .byte N48 , Bn2 , v084 + .byte W48 + .byte N06 , En1 , v104 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PEND + .byte PATT + .word mus_dooro_x4_8_003 + .byte N06 , En1 , v104 + .byte N48 , Bn2 , v084 + .byte W18 + .byte N06 , En1 , v104 + .byte W18 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W03 + .byte En1 , v080 + .byte W03 + .byte En1 , v072 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte En1 , v056 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v080 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte En1 , v076 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v056 + .byte W03 + .byte En1 , v052 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v056 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v072 + .byte W03 + .byte En1 , v080 + .byte W03 + .byte En1 , v088 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte PATT + .word mus_dooro_x4_8_001 +mus_dooro_x4_8_004: + .byte N06 , En1 , v104 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte PEND + .byte PATT + .word mus_dooro_x4_8_001 +mus_dooro_x4_8_005: + .byte N06 , En1 , v104 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte En1 , v076 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v104 + .byte W06 + .byte En1 , v076 + .byte W06 + .byte PEND + .byte PATT + .word mus_dooro_x4_8_001 + .byte PATT + .word mus_dooro_x4_8_004 + .byte PATT + .word mus_dooro_x4_8_001 + .byte PATT + .word mus_dooro_x4_8_005 + .byte N06 , En1 , v104 + .byte N48 , Bn2 , v096 + .byte W96 + .byte W48 + .byte N03 , En1 , v116 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v056 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v060 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v072 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v080 + .byte W03 + .byte En1 , v092 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte N06 , En1 , v104 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte En1 , v072 + .byte W06 + .byte En1 , v104 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte En1 , v072 + .byte W06 + .byte PATT + .word mus_dooro_x4_8_000 + .byte GOTO + .word mus_dooro_x4_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_dooro_x4: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_dooro_x4_pri @ Priority + .byte mus_dooro_x4_rev @ Reverb. + + .word mus_dooro_x4_grp + + .word mus_dooro_x4_1 + .word mus_dooro_x4_2 + .word mus_dooro_x4_3 + .word mus_dooro_x4_4 + .word mus_dooro_x4_5 + .word mus_dooro_x4_6 + .word mus_dooro_x4_7 + .word mus_dooro_x4_8 + + .end diff --git a/sound/songs/mus_dummy.s b/sound/songs/mus_dummy.s new file mode 100644 index 0000000000..29620c62d5 --- /dev/null +++ b/sound/songs/mus_dummy.s @@ -0,0 +1,28 @@ + .include "MPlayDef.s" + + .equ mus_dummy_grp, voicegroup_pokemon_cry + .equ mus_dummy_pri, 0 + .equ mus_dummy_rev, reverb_set+40 + .equ mus_dummy_mvl, 127 + .equ mus_dummy_key, 0 + .equ mus_dummy_tbs, 1 + .equ mus_dummy_exg, 0 + .equ mus_dummy_cmp, 1 + + .section .rodata + .global mus_dummy + .align 2 + +@******************************************************@ + .align 2 + +mus_dummy: + .byte 0 @ NumTrks + .byte 0 @ NumBlks + .byte mus_dummy_pri @ Priority + .byte mus_dummy_rev @ Reverb. + + .word mus_dummy_grp + + + .end diff --git a/sound/songs/mus_eikou_r.s b/sound/songs/mus_eikou_r.s new file mode 100644 index 0000000000..b2b9b610cf --- /dev/null +++ b/sound/songs/mus_eikou_r.s @@ -0,0 +1,1610 @@ + .include "MPlayDef.s" + + .equ mus_eikou_r_grp, voicegroup_8691C7C + .equ mus_eikou_r_pri, 0 + .equ mus_eikou_r_rev, reverb_set+50 + .equ mus_eikou_r_mvl, 127 + .equ mus_eikou_r_key, 0 + .equ mus_eikou_r_tbs, 1 + .equ mus_eikou_r_exg, 0 + .equ mus_eikou_r_cmp, 1 + + .section .rodata + .global mus_eikou_r + .align 2 + +@********************** Track 1 **********************@ + +mus_eikou_r_1: + .byte KEYSH , mus_eikou_r_key+0 + .byte TEMPO , 114*mus_eikou_r_tbs/2 + .byte VOICE , 46 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 47*mus_eikou_r_mvl/mxv + .byte PAN , c_v-32 + .byte W24 +mus_eikou_r_1_B1: + .byte PAN , c_v-42 + .byte N04 , As3 , v112 + .byte W04 + .byte Gn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte As2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Ds2 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , Gn2 + .byte W04 + .byte As2 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Ds4 + .byte W04 + .byte As3 + .byte W04 + .byte Ds4 + .byte W04 + .byte Gn4 + .byte W04 + .byte As4 + .byte W04 + .byte Ds5 + .byte W04 + .byte PAN , c_v+41 + .byte N04 , As4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte As3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Cn3 + .byte W04 + .byte An2 + .byte W04 + .byte Fs2 + .byte W04 + .byte Dn2 + .byte W04 + .byte An1 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Dn2 + .byte W04 + .byte Fs2 + .byte W04 + .byte An2 + .byte W04 + .byte Cs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fs3 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , An3 + .byte W04 + .byte Fs3 + .byte W04 + .byte An3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte PAN , c_v-42 + .byte N04 , An4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte An3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte PAN , c_v-42 + .byte N04 , As2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Ds2 + .byte W04 + .byte As1 + .byte W04 + .byte Ds2 + .byte W04 + .byte Gn2 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , As2 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Gn4 + .byte W04 + .byte As4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte As3 + .byte N04 , Dn4 + .byte W04 + .byte Gn3 + .byte W04 + .byte PAN , c_v+41 + .byte N04 , Ds3 + .byte W04 + .byte Dn3 + .byte W04 + .byte As2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Ds2 + .byte W04 + .byte As1 + .byte W04 + .byte Cn2 + .byte W04 + .byte Fn2 + .byte W04 + .byte An2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , An3 + .byte W04 + .byte Cn4 + .byte W04 + .byte An3 + .byte W04 + .byte Cn4 + .byte W04 + .byte En4 + .byte W04 + .byte Fn4 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , Gn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte En4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Cn4 + .byte W04 + .byte An3 + .byte W04 + .byte PAN , c_v-42 + .byte N04 , Fn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Cn3 + .byte W04 + .byte An2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte PAN , c_v-42 + .byte N04 , Fn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte Cn4 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , As3 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Gn4 + .byte W04 + .byte An4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte N04 , Gn4 + .byte W04 + .byte PAN , c_v+41 + .byte N04 , An4 + .byte W04 + .byte As4 + .byte W04 + .byte Cn5 + .byte W04 + .byte As4 + .byte W04 + .byte An4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Cn4 + .byte W04 + .byte As3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Fn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte As4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , As4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte PAN , c_v-42 + .byte N04 , Fn4 + .byte W04 + .byte As4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte As3 + .byte W04 + .byte Gn3 + .byte W04 + .byte PAN , c_v-42 + .byte N04 , En3 + .byte W04 + .byte Cs3 + .byte W04 + .byte An2 + .byte W04 + .byte Cs3 + .byte W04 + .byte En3 + .byte W04 + .byte Fs3 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , An3 + .byte W04 + .byte Cs4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte An3 + .byte W04 + .byte Fs3 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , An3 + .byte W04 + .byte Cs4 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte An4 + .byte W04 + .byte Cs5 + .byte W04 + .byte PAN , c_v+41 + .byte N04 , En5 + .byte W04 + .byte Cs5 + .byte W04 + .byte An4 + .byte W04 + .byte Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Fs3 + .byte W04 + .byte An3 + .byte W04 + .byte Cs4 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte An4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Cs5 + .byte W04 + .byte An4 + .byte W04 + .byte Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte An3 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , Fs3 + .byte W04 + .byte An3 + .byte W04 + .byte Cs4 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte An4 + .byte W04 + .byte PAN , c_v-42 + .byte N04 , Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte An3 + .byte W04 + .byte Fs3 + .byte W04 + .byte En3 + .byte W04 + .byte PAN , c_v-42 + .byte N04 , Gn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte As2 + .byte W04 + .byte Gn2 + .byte W04 + .byte As2 + .byte W04 + .byte Ds3 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Gn4 + .byte W04 + .byte As4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Gn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte As3 + .byte N04 , Dn4 + .byte W04 + .byte Gn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte As2 + .byte W04 + .byte PAN , c_v+41 + .byte N04 , Dn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Cs4 + .byte W04 + .byte An3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , An2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fs3 + .byte W04 + .byte An3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , An3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte An4 + .byte W04 + .byte Cs5 + .byte W04 + .byte An4 + .byte W04 + .byte PAN , c_v-42 + .byte N04 , Fs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte An3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fs3 + .byte W04 + .byte PAN , c_v-42 + .byte N04 , As3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte As2 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Gn4 + .byte W04 + .byte An4 + .byte W04 + .byte As4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , An4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Dn4 + .byte W04 + .byte As3 + .byte W04 + .byte Gn3 + .byte W04 + .byte PAN , c_v+41 + .byte N04 , Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Cn5 + .byte W04 + .byte An4 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Cn4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , An3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , An3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte En4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte PAN , c_v-42 + .byte N04 , An4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte En4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Cn4 + .byte W04 + .byte PAN , c_v-42 + .byte N04 , As3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte As4 + .byte W04 + .byte Dn5 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , As4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte As3 + .byte W04 + .byte Gn3 + .byte W04 + .byte PAN , c_v+41 + .byte N04 , Fn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte As3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte As2 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Dn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte As4 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , Fn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte As3 + .byte W04 + .byte Fn3 + .byte W04 + .byte As3 + .byte W04 + .byte Fn3 + .byte W04 + .byte PAN , c_v-42 + .byte N04 , Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte As4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte As3 + .byte W04 + .byte PAN , c_v-42 + .byte N04 , An3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fs3 + .byte W04 + .byte An3 + .byte W04 + .byte Cs4 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte An4 + .byte W04 + .byte Cs5 + .byte W04 + .byte An4 + .byte W04 + .byte Fs4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Dn4 + .byte W04 + .byte An3 + .byte W04 + .byte Fs3 + .byte W04 + .byte An3 + .byte W04 + .byte Dn4 + .byte W04 + .byte En4 + .byte W04 + .byte PAN , c_v+41 + .byte N04 , Fs4 + .byte W04 + .byte An4 + .byte W04 + .byte Cs5 + .byte W04 + .byte An4 + .byte W04 + .byte Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte Dn4 + .byte W04 + .byte An3 + .byte W04 + .byte Fs3 + .byte W04 + .byte An3 + .byte W04 + .byte Dn4 + .byte W04 + .byte En4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Fs4 + .byte W04 + .byte An4 + .byte W04 + .byte Cs5 + .byte W04 + .byte An4 + .byte W04 + .byte Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , Dn4 + .byte W04 + .byte An3 + .byte W04 + .byte Fs3 + .byte W04 + .byte An3 + .byte W04 + .byte Dn4 + .byte W04 + .byte En4 + .byte W04 + .byte PAN , c_v-42 + .byte N04 , Fs4 + .byte W04 + .byte An4 + .byte W04 + .byte Cs5 + .byte W04 + .byte An4 + .byte W04 + .byte Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte GOTO + .word mus_eikou_r_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_eikou_r_2: + .byte KEYSH , mus_eikou_r_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+11 + .byte VOL , 31*mus_eikou_r_mvl/mxv + .byte N04 , En3 , v112 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gn3 + .byte W04 + .byte An3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cs4 + .byte W04 +mus_eikou_r_2_B1: + .byte N96 , Dn4 , v112 + .byte W96 + .byte Cs4 + .byte W96 + .byte N88 , Dn4 + .byte W88 + .byte N08 , Ds4 + .byte W08 + .byte N96 , En4 + .byte W96 + .byte TIE , Fn4 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , En4 + .byte W96 + .byte W96 + .byte EOT + .byte N96 , Dn4 + .byte W96 + .byte Cs4 + .byte W96 + .byte Dn4 + .byte W96 + .byte En4 + .byte W96 + .byte TIE , Fn4 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , En4 + .byte W96 + .byte W96 + .byte EOT + .byte GOTO + .word mus_eikou_r_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_eikou_r_3: + .byte KEYSH , mus_eikou_r_key+0 + .byte VOICE , 36 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 67*mus_eikou_r_mvl/mxv + .byte W24 +mus_eikou_r_3_B1: +mus_eikou_r_3_000: + .byte N04 , Dn1 , v112 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N12 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte PEND + .byte N04 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Dn2 + .byte W08 + .byte N04 , Cn2 + .byte W08 + .byte An1 + .byte W08 + .byte N08 , Cn1 + .byte W08 + .byte N04 , Dn1 + .byte W08 + .byte N04 + .byte W08 + .byte PATT + .word mus_eikou_r_3_000 + .byte N04 , Dn1 , v112 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Cn2 + .byte W08 + .byte N04 , Dn2 + .byte W08 + .byte An1 + .byte W08 + .byte N08 , Gn1 + .byte W08 + .byte N04 , An1 + .byte W08 + .byte Dn1 + .byte W08 + .byte PATT + .word mus_eikou_r_3_000 + .byte PATT + .word mus_eikou_r_3_000 + .byte PATT + .word mus_eikou_r_3_000 + .byte N08 , Dn1 , v112 + .byte W08 + .byte N04 , An1 + .byte W08 + .byte Dn1 + .byte W08 + .byte N08 , Cn2 + .byte W08 + .byte N04 , Dn2 + .byte W08 + .byte Dn1 + .byte W08 + .byte N08 , An1 + .byte W08 + .byte N04 , Gn1 + .byte W08 + .byte Ds1 + .byte W08 + .byte N08 , Cn1 + .byte W08 + .byte N04 , Dn1 + .byte W08 + .byte N04 + .byte W08 + .byte N32 , Ds1 + .byte W32 + .byte N04 , As0 + .byte W08 + .byte Ds1 + .byte W08 + .byte As0 + .byte W16 + .byte N16 , Ds1 + .byte W16 + .byte N12 , As1 + .byte W16 + .byte N24 , Dn2 + .byte W24 + .byte N08 , En2 + .byte W08 + .byte N04 , Dn2 + .byte W08 + .byte An1 + .byte W08 + .byte N24 , Fs1 + .byte W24 + .byte N04 , Dn1 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N32 , As1 + .byte W32 + .byte N04 , Gn1 + .byte W08 + .byte As1 + .byte W08 + .byte Gn1 + .byte W16 + .byte N16 , As1 + .byte W16 + .byte N08 , Gn1 + .byte W16 + .byte N32 , An1 + .byte W32 + .byte N04 , Cn2 + .byte W08 + .byte As1 + .byte W08 + .byte N32 , Cn2 + .byte W32 + .byte N08 , Fn1 + .byte W16 + .byte N40 , Dn2 + .byte W40 + .byte N04 , As1 + .byte W08 + .byte N16 , Fn1 + .byte W16 + .byte As1 + .byte W16 + .byte Cn2 + .byte W16 + .byte N24 , Dn2 + .byte W24 + .byte N08 , Fn2 + .byte W08 + .byte N04 , En2 + .byte W08 + .byte Ds2 + .byte W08 + .byte N48 , Dn2 + .byte W48 + .byte N16 , En2 + .byte W16 + .byte Cs2 + .byte W16 + .byte An1 + .byte W16 + .byte Fs1 + .byte W16 + .byte An1 + .byte W16 + .byte Cs2 + .byte W16 + .byte N32 , En2 + .byte W32 + .byte N08 , Ds2 + .byte W08 + .byte Dn2 + .byte W08 + .byte N48 , Cs2 + .byte W48 + .byte GOTO + .word mus_eikou_r_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_eikou_r_4: + .byte KEYSH , mus_eikou_r_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-11 + .byte VOL , 31*mus_eikou_r_mvl/mxv + .byte N04 , As2 , v112 + .byte W04 + .byte Bn2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte En3 + .byte W04 + .byte Fs3 + .byte W04 +mus_eikou_r_4_B1: + .byte PAN , c_v-10 + .byte VOL , 31*mus_eikou_r_mvl/mxv + .byte N96 , Gn3 , v112 + .byte W96 + .byte Fs3 + .byte W96 + .byte Gn3 + .byte W96 + .byte An3 + .byte W96 + .byte TIE , As3 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , An3 + .byte W96 + .byte W96 + .byte EOT + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte VOL , 50*mus_eikou_r_mvl/mxv + .byte N40 , Gn3 + .byte W40 + .byte N08 , Ds3 + .byte W08 + .byte N16 , As2 + .byte W16 + .byte Ds3 + .byte W16 + .byte As3 + .byte W16 + .byte N40 , An3 + .byte W40 + .byte N04 , Fs3 + .byte W04 + .byte Gn3 + .byte W04 + .byte N48 , An3 + .byte W48 + .byte N32 , As3 + .byte W32 + .byte N04 , Cn4 + .byte W04 + .byte As3 + .byte W04 + .byte N08 , Gn3 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte Gn3 + .byte W16 + .byte As3 + .byte W16 + .byte N12 , Cn4 + .byte W16 + .byte N08 + .byte W08 + .byte N04 + .byte W08 + .byte An3 + .byte W08 + .byte As3 + .byte W08 + .byte N40 , Cn4 + .byte W40 + .byte N08 , Cs4 + .byte W08 + .byte N40 , Dn4 + .byte W40 + .byte N04 , As3 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte As3 + .byte W16 + .byte Cn4 + .byte W16 + .byte N24 , Dn4 + .byte W24 + .byte N08 , Fn3 + .byte W08 + .byte N04 , As3 + .byte W08 + .byte Cn4 + .byte W08 + .byte N48 , Dn4 + .byte W48 + .byte N24 , Cs4 + .byte W24 + .byte N04 , En4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N24 , Cs4 + .byte W32 + .byte N04 , An3 + .byte W08 + .byte Bn3 + .byte W08 + .byte N96 , Cs4 + .byte W96 + .byte GOTO + .word mus_eikou_r_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_eikou_r_5: + .byte KEYSH , mus_eikou_r_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-64 + .byte VOL , 34*mus_eikou_r_mvl/mxv + .byte N04 , Gn2 , v112 + .byte W04 + .byte An2 + .byte W04 + .byte As2 + .byte W04 + .byte Bn2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Dn3 + .byte W04 +mus_eikou_r_5_B1: + .byte N96 , Ds3 , v112 + .byte W96 + .byte Dn3 + .byte W96 + .byte Ds3 + .byte W96 + .byte Fn3 + .byte W96 + .byte TIE , Gn3 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , Fs3 + .byte W96 + .byte W96 + .byte EOT +mus_eikou_r_5_000: + .byte N32 , Ds3 , v112 + .byte W32 + .byte N04 , Gn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte N08 , As2 + .byte W08 + .byte N16 , Gn2 + .byte W16 + .byte As2 + .byte W16 + .byte Ds3 + .byte W16 + .byte PEND + .byte N40 , Dn3 + .byte W40 + .byte N08 , An2 + .byte W08 + .byte N24 , Fs2 + .byte W24 + .byte N04 , Dn2 + .byte W04 + .byte Fs2 + .byte W04 + .byte An2 + .byte W04 + .byte Fs2 + .byte W04 + .byte An2 + .byte W04 + .byte Dn3 + .byte W04 + .byte PATT + .word mus_eikou_r_5_000 + .byte N40 , Fn3 , v112 + .byte W40 + .byte N08 , Cn3 + .byte W08 + .byte N12 , An2 + .byte W12 + .byte N04 , Fn2 + .byte W04 + .byte An2 + .byte W04 + .byte Cn3 + .byte W04 + .byte An2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Cn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte An3 + .byte W04 + .byte N40 , Fn3 + .byte W40 + .byte N04 , Dn3 + .byte W08 + .byte N16 , As2 + .byte W16 + .byte Dn3 + .byte W16 + .byte Fn3 + .byte W16 + .byte N24 + .byte W24 + .byte N04 , As2 + .byte W08 + .byte Cn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte N48 , Fn3 + .byte W48 + .byte TIE , Fs3 + .byte W96 + .byte W96 + .byte EOT + .byte GOTO + .word mus_eikou_r_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_eikou_r_6: + .byte KEYSH , mus_eikou_r_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 34*mus_eikou_r_mvl/mxv + .byte N04 , Cs3 , v112 + .byte W04 + .byte Dn3 + .byte W04 + .byte En3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gn3 + .byte W04 + .byte An3 + .byte W04 +mus_eikou_r_6_B1: + .byte N96 , As3 , v112 + .byte W96 + .byte An3 + .byte W96 + .byte As3 + .byte W96 + .byte Cn4 + .byte W96 + .byte TIE , Dn4 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , Cs4 + .byte W96 + .byte W96 + .byte EOT + .byte N32 , As3 + .byte W32 + .byte N04 , Cn4 + .byte W04 + .byte As3 + .byte W04 + .byte N08 , Gn3 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte Gn3 + .byte W16 + .byte As3 + .byte W16 + .byte N40 , An3 + .byte W40 + .byte N08 , Fs3 + .byte W08 + .byte N24 , Dn3 + .byte W24 + .byte N04 , An2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fs3 + .byte W04 + .byte An3 + .byte W04 + .byte N32 , Gn3 + .byte W32 + .byte N04 , As3 + .byte W04 + .byte Gn3 + .byte W04 + .byte N08 , Ds3 + .byte W08 + .byte N16 , As2 + .byte W16 + .byte Ds3 + .byte W16 + .byte Gn3 + .byte W16 + .byte N40 , An3 + .byte W40 + .byte N08 + .byte W08 + .byte N12 , Fn3 + .byte W12 + .byte N04 , Cn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte An3 + .byte W04 + .byte Fn3 + .byte W04 + .byte An3 + .byte W04 + .byte Cn4 + .byte W04 + .byte An3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte N40 , As3 + .byte W40 + .byte N04 , Fn3 + .byte W08 + .byte N16 , Dn3 + .byte W16 + .byte Fn3 + .byte W16 + .byte As3 + .byte W16 + .byte N24 + .byte W24 + .byte N04 , Dn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte An3 + .byte W08 + .byte N48 , As3 + .byte W48 + .byte TIE , An3 + .byte W96 + .byte W96 + .byte EOT + .byte GOTO + .word mus_eikou_r_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_eikou_r_7: + .byte VOL , 80*mus_eikou_r_mvl/mxv + .byte KEYSH , mus_eikou_r_key+0 + .byte VOICE , 82 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte W24 +mus_eikou_r_7_B1: +mus_eikou_r_7_000: + .byte N04 , Dn1 , v112 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N12 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte PEND + .byte PATT + .word mus_eikou_r_7_000 + .byte PATT + .word mus_eikou_r_7_000 + .byte PATT + .word mus_eikou_r_7_000 + .byte PATT + .word mus_eikou_r_7_000 + .byte PATT + .word mus_eikou_r_7_000 + .byte PATT + .word mus_eikou_r_7_000 + .byte PATT + .word mus_eikou_r_7_000 +mus_eikou_r_7_001: + .byte N04 , Dn1 , v112 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte Dn2 + .byte W16 + .byte Dn1 + .byte W08 + .byte N04 + .byte W08 + .byte PEND + .byte PATT + .word mus_eikou_r_7_001 + .byte PATT + .word mus_eikou_r_7_001 + .byte PATT + .word mus_eikou_r_7_001 + .byte PATT + .word mus_eikou_r_7_001 + .byte PATT + .word mus_eikou_r_7_001 + .byte PATT + .word mus_eikou_r_7_001 + .byte PATT + .word mus_eikou_r_7_001 + .byte GOTO + .word mus_eikou_r_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_eikou_r: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_eikou_r_pri @ Priority + .byte mus_eikou_r_rev @ Reverb. + + .word mus_eikou_r_grp + + .word mus_eikou_r_1 + .word mus_eikou_r_2 + .word mus_eikou_r_3 + .word mus_eikou_r_4 + .word mus_eikou_r_5 + .word mus_eikou_r_6 + .word mus_eikou_r_7 + + .end diff --git a/sound/songs/mus_end.s b/sound/songs/mus_end.s new file mode 100644 index 0000000000..15ab1d5126 --- /dev/null +++ b/sound/songs/mus_end.s @@ -0,0 +1,924 @@ + .include "MPlayDef.s" + + .equ mus_end_grp, voicegroup_86951A4 + .equ mus_end_pri, 0 + .equ mus_end_rev, reverb_set+50 + .equ mus_end_mvl, 127 + .equ mus_end_key, 0 + .equ mus_end_tbs, 1 + .equ mus_end_exg, 0 + .equ mus_end_cmp, 1 + + .section .rodata + .global mus_end + .align 2 + +@********************** Track 1 **********************@ + +mus_end_1: + .byte KEYSH , mus_end_key+0 + .byte TEMPO , 138*mus_end_tbs/2 + .byte VOICE , 24 + .byte PAN , c_v+0 + .byte VOL , 30*mus_end_mvl/mxv + .byte N03 , Cn4 , v112 + .byte W24 + .byte Dn4 + .byte W12 + .byte Ds3 , v064 + .byte W03 + .byte Gn3 + .byte W03 + .byte As3 , v068 + .byte W03 + .byte Ds4 + .byte W03 +mus_end_1_B1: + .byte TEMPO , 138*mus_end_tbs/2 + .byte N03 , Gn4 , v112 + .byte W42 + .byte As3 , v064 + .byte W03 + .byte Ds4 , v068 + .byte W03 + .byte TEMPO , 132*mus_end_tbs/2 + .byte An4 , v112 + .byte W24 + .byte TEMPO , 124*mus_end_tbs/2 + .byte W24 + .byte TEMPO , 140*mus_end_tbs/2 + .byte As4 + .byte W42 + .byte Gn4 , v052 + .byte W03 + .byte As4 , v056 + .byte W03 + .byte TEMPO , 132*mus_end_tbs/2 + .byte Dn5 , v068 + .byte W03 + .byte Fn5 , v112 + .byte W21 + .byte TEMPO , 118*mus_end_tbs/2 + .byte W24 + .byte TEMPO , 138*mus_end_tbs/2 + .byte W96 + .byte Ds5 + .byte W24 + .byte Dn5 + .byte W24 + .byte TEMPO , 128*mus_end_tbs/2 + .byte Cn5 + .byte W24 + .byte TEMPO , 118*mus_end_tbs/2 + .byte W12 + .byte TEMPO , 116*mus_end_tbs/2 + .byte Ds5 + .byte W06 + .byte Dn4 , v064 + .byte W03 + .byte Fn4 , v072 + .byte W03 + .byte TEMPO , 138*mus_end_tbs/2 + .byte An4 , v076 + .byte W03 + .byte Dn5 , v112 + .byte W44 + .byte W01 + .byte TEMPO , 128*mus_end_tbs/2 + .byte N01 , Fn4 + .byte W16 + .byte Gn4 + .byte W08 + .byte TEMPO , 122*mus_end_tbs/2 + .byte W08 + .byte Gs4 + .byte W04 + .byte TEMPO , 108*mus_end_tbs/2 + .byte W06 + .byte N03 , An3 , v068 + .byte W03 + .byte Dn4 , v076 + .byte W03 + .byte TEMPO , 138*mus_end_tbs/2 + .byte An4 , v112 + .byte W48 + .byte TEMPO , 132*mus_end_tbs/2 + .byte Cn5 + .byte W24 + .byte TEMPO , 124*mus_end_tbs/2 + .byte W12 + .byte TEMPO , 114*mus_end_tbs/2 + .byte W06 + .byte Dn4 , v068 + .byte W03 + .byte Gn4 + .byte W03 + .byte TEMPO , 138*mus_end_tbs/2 + .byte N01 , Cn5 , v112 + .byte W16 + .byte Dn5 + .byte W16 + .byte As4 + .byte W64 + .byte W09 + .byte N03 , Fn4 , v068 + .byte W03 + .byte As4 , v076 + .byte W30 + .byte Dn4 , v064 + .byte W03 + .byte Fn4 , v068 + .byte W03 + .byte TEMPO , 122*mus_end_tbs/2 + .byte N01 , As4 , v112 + .byte W16 + .byte An4 + .byte W08 + .byte TEMPO , 100*mus_end_tbs/2 + .byte W08 + .byte As4 + .byte W04 + .byte N03 , Ds3 , v064 + .byte W03 + .byte Gn3 + .byte W03 + .byte As3 , v068 + .byte W03 + .byte Ds4 + .byte W03 + .byte TEMPO , 140*mus_end_tbs/2 + .byte Gn4 , v112 + .byte W42 + .byte As3 , v064 + .byte W03 + .byte Ds4 , v068 + .byte W03 + .byte An4 , v112 + .byte W48 + .byte As4 + .byte W42 + .byte Gn4 , v052 + .byte W03 + .byte As4 , v056 + .byte W03 + .byte TEMPO , 128*mus_end_tbs/2 + .byte Ds5 , v068 + .byte W03 + .byte Gn5 , v112 + .byte W21 + .byte TEMPO , 122*mus_end_tbs/2 + .byte W12 + .byte TEMPO , 112*mus_end_tbs/2 + .byte W12 + .byte TEMPO , 138*mus_end_tbs/2 + .byte W96 + .byte An5 + .byte W24 + .byte Gn5 + .byte W24 + .byte TEMPO , 132*mus_end_tbs/2 + .byte Fn5 + .byte W24 + .byte TEMPO , 118*mus_end_tbs/2 + .byte W12 + .byte Ds5 + .byte W06 + .byte Fn4 , v064 + .byte W03 + .byte An4 , v072 + .byte W03 + .byte TEMPO , 138*mus_end_tbs/2 + .byte Dn5 , v076 + .byte W03 + .byte Fn5 , v112 + .byte W44 + .byte W01 + .byte N01 , Dn5 + .byte W16 + .byte Ds5 + .byte W16 + .byte En5 + .byte W16 + .byte N03 , Fn5 + .byte W24 + .byte N01 , Gs5 + .byte W24 + .byte TEMPO , 130*mus_end_tbs/2 + .byte W16 + .byte Gn5 + .byte W08 + .byte TEMPO , 126*mus_end_tbs/2 + .byte W08 + .byte Dn5 + .byte W04 + .byte TEMPO , 122*mus_end_tbs/2 + .byte W06 + .byte N03 , Gn4 , v068 + .byte W03 + .byte As4 + .byte W03 + .byte TEMPO , 138*mus_end_tbs/2 + .byte Fn5 , v112 + .byte W24 + .byte TEMPO , 122*mus_end_tbs/2 + .byte W24 + .byte Ds5 + .byte W03 + .byte TEMPO , 138*mus_end_tbs/2 + .byte W21 + .byte TEMPO , 118*mus_end_tbs/2 + .byte W24 + .byte TEMPO , 138*mus_end_tbs/2 + .byte Dn5 + .byte W48 + .byte TEMPO , 130*mus_end_tbs/2 + .byte Fn5 + .byte W24 + .byte TEMPO , 120*mus_end_tbs/2 + .byte W12 + .byte Ds3 , v064 + .byte W03 + .byte Gn3 + .byte W03 + .byte As3 , v068 + .byte W03 + .byte Ds4 + .byte W03 + .byte TEMPO , 138*mus_end_tbs/2 + .byte An4 , v112 + .byte W12 + .byte As4 + .byte W09 + .byte Gn4 , v064 + .byte W03 + .byte Dn5 + .byte W03 + .byte Fn5 , v112 + .byte W68 + .byte W01 + .byte W48 + .byte TEMPO , 128*mus_end_tbs/2 + .byte W24 + .byte TEMPO , 122*mus_end_tbs/2 + .byte W12 + .byte TEMPO , 108*mus_end_tbs/2 + .byte W06 + .byte En4 , v068 + .byte W03 + .byte Gn4 + .byte W03 + .byte TEMPO , 138*mus_end_tbs/2 + .byte An4 , v112 + .byte W12 + .byte As4 + .byte W06 + .byte Gn4 , v064 + .byte W03 + .byte En5 + .byte W03 + .byte Gn5 , v112 + .byte W72 + .byte W48 + .byte TEMPO , 128*mus_end_tbs/2 + .byte N01 , An5 + .byte W16 + .byte Gn5 + .byte W08 + .byte TEMPO , 122*mus_end_tbs/2 + .byte W08 + .byte En5 + .byte W10 + .byte N03 , As4 , v060 + .byte W03 + .byte Cn5 , v064 + .byte W03 +mus_end_1_000: + .byte TEMPO , 138*mus_end_tbs/2 + .byte N03 , Fn5 , v112 + .byte W96 + .byte PEND + .byte W90 + .byte Fn4 , v060 + .byte W03 + .byte As4 , v064 + .byte W03 + .byte Cn5 , v068 + .byte W03 + .byte Ds5 , v072 + .byte W03 + .byte Fn5 , v112 + .byte W90 + .byte W84 + .byte W03 + .byte As3 , v056 + .byte W03 + .byte Dn4 , v068 + .byte W03 + .byte Fn4 + .byte W03 + .byte As4 , v112 + .byte W03 + .byte Dn5 + .byte W44 + .byte W01 + .byte TEMPO , 128*mus_end_tbs/2 + .byte Ds5 + .byte W24 + .byte TEMPO , 122*mus_end_tbs/2 + .byte W24 + .byte PATT + .word mus_end_1_000 + .byte W24 + .byte N03 , Dn5 , v112 + .byte W24 + .byte TEMPO , 128*mus_end_tbs/2 + .byte Ds5 + .byte W24 + .byte TEMPO , 118*mus_end_tbs/2 + .byte Fn5 + .byte W18 + .byte As4 , v056 + .byte W03 + .byte Dn5 , v060 + .byte W03 + .byte TEMPO , 138*mus_end_tbs/2 + .byte As5 , v112 + .byte W24 + .byte Fn5 + .byte W18 + .byte As4 , v060 + .byte W03 + .byte Dn5 + .byte W03 + .byte TEMPO , 132*mus_end_tbs/2 + .byte N01 , Ds5 , v112 + .byte W16 + .byte Fn5 + .byte W08 + .byte TEMPO , 128*mus_end_tbs/2 + .byte W08 + .byte Dn5 + .byte W04 + .byte TEMPO , 122*mus_end_tbs/2 + .byte W12 +mus_end_1_001: + .byte TEMPO , 138*mus_end_tbs/2 + .byte N03 , Cn5 , v112 + .byte W96 + .byte PEND +mus_end_1_002: + .byte W48 + .byte TEMPO , 128*mus_end_tbs/2 + .byte W24 + .byte TEMPO , 112*mus_end_tbs/2 + .byte W24 + .byte PEND + .byte TEMPO , 138*mus_end_tbs/2 + .byte W96 + .byte W48 + .byte TEMPO , 128*mus_end_tbs/2 + .byte W24 + .byte TEMPO , 108*mus_end_tbs/2 + .byte W15 + .byte N03 , Cn4 , v056 + .byte W03 + .byte Ds4 , v060 + .byte W03 + .byte Fn4 , v064 + .byte W03 + .byte TEMPO , 138*mus_end_tbs/2 + .byte An4 + .byte W03 + .byte Cn5 , v112 + .byte W44 + .byte W01 + .byte Dn5 + .byte W48 + .byte Ds5 + .byte W60 + .byte TEMPO , 134*mus_end_tbs/2 + .byte W12 + .byte TEMPO , 128*mus_end_tbs/2 + .byte W12 + .byte TEMPO , 126*mus_end_tbs/2 + .byte W12 +mus_end_1_003: + .byte TEMPO , 138*mus_end_tbs/2 + .byte W24 + .byte N03 , Cn5 , v112 + .byte W24 + .byte Dn5 + .byte W24 + .byte Ds5 + .byte W24 + .byte PEND + .byte An5 + .byte W24 + .byte Gn5 + .byte W24 + .byte TEMPO , 122*mus_end_tbs/2 + .byte An5 + .byte W24 + .byte TEMPO , 118*mus_end_tbs/2 + .byte W12 + .byte TEMPO , 102*mus_end_tbs/2 + .byte Cn6 + .byte W06 + .byte Fn4 , v064 + .byte W03 + .byte As4 , v072 + .byte W03 + .byte TEMPO , 138*mus_end_tbs/2 + .byte Dn5 + .byte W03 + .byte Fn5 , v112 + .byte W92 + .byte W01 + .byte PATT + .word mus_end_1_002 + .byte TEMPO , 138*mus_end_tbs/2 + .byte W96 + .byte W48 + .byte TEMPO , 122*mus_end_tbs/2 + .byte W24 + .byte TEMPO , 112*mus_end_tbs/2 + .byte W12 + .byte TEMPO , 102*mus_end_tbs/2 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W03 + .byte Fn4 , v068 + .byte W03 + .byte TEMPO , 138*mus_end_tbs/2 + .byte As4 + .byte W03 + .byte Dn5 , v112 + .byte W44 + .byte W01 + .byte Ds5 + .byte W24 + .byte TEMPO , 132*mus_end_tbs/2 + .byte W12 + .byte TEMPO , 126*mus_end_tbs/2 + .byte W12 + .byte PATT + .word mus_end_1_000 + .byte W24 + .byte N03 , Dn5 , v112 + .byte W24 + .byte TEMPO , 128*mus_end_tbs/2 + .byte Ds5 + .byte W24 + .byte TEMPO , 116*mus_end_tbs/2 + .byte Fn5 + .byte W18 + .byte Dn5 , v064 + .byte W03 + .byte Fn5 , v068 + .byte W03 + .byte TEMPO , 138*mus_end_tbs/2 + .byte As5 , v112 + .byte W24 + .byte Fn5 + .byte W18 + .byte An4 , v064 + .byte W03 + .byte Cn5 + .byte W03 + .byte TEMPO , 128*mus_end_tbs/2 + .byte N01 , Ds5 , v112 + .byte W16 + .byte Fn5 + .byte W08 + .byte TEMPO , 118*mus_end_tbs/2 + .byte W08 + .byte Dn5 + .byte W16 + .byte PATT + .word mus_end_1_001 + .byte W48 + .byte TEMPO , 126*mus_end_tbs/2 + .byte W24 + .byte TEMPO , 108*mus_end_tbs/2 + .byte W24 + .byte TEMPO , 138*mus_end_tbs/2 + .byte W96 + .byte W48 + .byte TEMPO , 118*mus_end_tbs/2 + .byte W24 + .byte TEMPO , 108*mus_end_tbs/2 + .byte W15 + .byte N03 , Ds4 , v064 + .byte W03 + .byte Gn4 , v072 + .byte W03 + .byte An4 + .byte W03 + .byte TEMPO , 138*mus_end_tbs/2 + .byte Cn5 , v112 + .byte W48 + .byte Dn5 + .byte W24 + .byte TEMPO , 132*mus_end_tbs/2 + .byte W12 + .byte TEMPO , 122*mus_end_tbs/2 + .byte W12 + .byte TEMPO , 138*mus_end_tbs/2 + .byte Ds5 + .byte W48 + .byte TEMPO , 134*mus_end_tbs/2 + .byte W24 + .byte TEMPO , 118*mus_end_tbs/2 + .byte W24 + .byte PATT + .word mus_end_1_003 + .byte N03 , An5 , v112 + .byte W24 + .byte Gn5 + .byte W24 + .byte TEMPO , 122*mus_end_tbs/2 + .byte An5 + .byte W24 + .byte TEMPO , 102*mus_end_tbs/2 + .byte W12 + .byte Cn6 + .byte W06 + .byte Dn5 , v060 + .byte W03 + .byte Fn5 , v068 + .byte W03 + .byte TEMPO , 138*mus_end_tbs/2 + .byte As5 , v064 + .byte W03 + .byte Dn6 , v112 + .byte W92 + .byte W01 + .byte W48 + .byte TEMPO , 130*mus_end_tbs/2 + .byte W24 + .byte TEMPO , 112*mus_end_tbs/2 + .byte W24 + .byte TEMPO , 138*mus_end_tbs/2 + .byte W96 + .byte W24 + .byte TEMPO , 132*mus_end_tbs/2 + .byte As3 + .byte W24 + .byte TEMPO , 118*mus_end_tbs/2 + .byte Cn4 + .byte W24 + .byte TEMPO , 102*mus_end_tbs/2 + .byte Dn4 + .byte W12 + .byte Ds3 , v064 + .byte W03 + .byte Gn3 + .byte W03 + .byte As3 , v068 + .byte W03 + .byte Ds4 + .byte W03 + .byte GOTO + .word mus_end_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_end_2: + .byte KEYSH , mus_end_key+0 + .byte VOICE , 24 + .byte PAN , c_v+0 + .byte VOL , 36*mus_end_mvl/mxv + .byte N03 , Gs2 , v112 + .byte W24 + .byte Fn2 + .byte W24 +mus_end_2_B1: +mus_end_2_000: + .byte N03 , Ds2 , v112 + .byte W24 + .byte As2 , v068 + .byte W24 + .byte Gn3 + .byte W24 + .byte As2 + .byte W24 + .byte PEND +mus_end_2_001: + .byte N03 , Gn3 , v068 + .byte W24 + .byte As2 + .byte W24 + .byte Gn3 + .byte W24 + .byte As2 + .byte W24 + .byte PEND +mus_end_2_002: + .byte N03 , Ds2 , v112 + .byte W24 + .byte Cn3 , v068 + .byte W24 + .byte An3 + .byte W24 + .byte Cn3 + .byte W24 + .byte PEND +mus_end_2_003: + .byte N03 , An3 , v068 + .byte W24 + .byte Cn3 + .byte W24 + .byte An3 + .byte W24 + .byte Cn3 + .byte W24 + .byte PEND +mus_end_2_004: + .byte N03 , Dn2 , v112 + .byte W24 + .byte An2 , v068 + .byte W24 + .byte Fn3 + .byte W24 + .byte An2 + .byte W24 + .byte PEND +mus_end_2_005: + .byte N03 , Fn3 , v068 + .byte W24 + .byte An2 + .byte W24 + .byte Fn3 + .byte W24 + .byte An2 + .byte W24 + .byte PEND + .byte Gn2 , v112 + .byte W48 + .byte Fs2 + .byte W48 + .byte Fn2 + .byte W48 + .byte En2 + .byte W48 + .byte PATT + .word mus_end_2_000 + .byte PATT + .word mus_end_2_001 + .byte PATT + .word mus_end_2_002 + .byte PATT + .word mus_end_2_003 + .byte PATT + .word mus_end_2_004 + .byte PATT + .word mus_end_2_005 + .byte N01 , Gn3 , v112 + .byte W32 + .byte Dn3 , v100 + .byte W16 + .byte Fn3 , v112 + .byte W16 + .byte Dn3 , v100 + .byte W16 + .byte Bn2 , v112 + .byte W16 + .byte Dn3 + .byte W32 + .byte Gn2 , v100 + .byte W16 + .byte Bn2 , v112 + .byte W16 + .byte Gn2 , v100 + .byte W16 + .byte Fn2 , v112 + .byte W16 + .byte N03 , Ds2 + .byte W24 + .byte As2 , v072 + .byte W24 + .byte Gn3 , v068 + .byte W24 + .byte As2 + .byte W24 + .byte PATT + .word mus_end_2_001 + .byte N03 , En2 , v112 + .byte W24 + .byte As2 , v068 + .byte W24 + .byte Gn3 + .byte W24 + .byte As2 + .byte W24 + .byte PATT + .word mus_end_2_001 + .byte N03 , Fn2 , v112 + .byte W24 + .byte As2 , v068 + .byte W24 + .byte Cn3 + .byte W24 + .byte Ds3 + .byte W24 + .byte Fn3 + .byte W24 + .byte As3 + .byte W24 + .byte Cn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte Cn4 , v080 + .byte W96 + .byte W96 +mus_end_2_006: + .byte N03 , As2 , v112 + .byte W24 + .byte Fn3 , v068 + .byte W24 + .byte Dn3 + .byte W24 + .byte Fn3 + .byte W24 + .byte PEND +mus_end_2_007: + .byte N03 , As2 , v112 + .byte W24 + .byte Gn3 , v068 + .byte W24 + .byte Ds3 + .byte W24 + .byte Gn3 + .byte W24 + .byte PEND +mus_end_2_008: + .byte N03 , As2 , v112 + .byte W24 + .byte An3 , v068 + .byte W24 + .byte Fn3 + .byte W24 + .byte An3 + .byte W24 + .byte PEND + .byte As2 , v112 + .byte W24 + .byte As3 , v068 + .byte W24 + .byte Fn3 + .byte W24 + .byte Dn3 + .byte W24 +mus_end_2_009: + .byte N03 , Fn2 , v112 + .byte W24 + .byte Cn3 , v068 + .byte W24 + .byte An2 + .byte W24 + .byte Cn3 + .byte W24 + .byte PEND +mus_end_2_010: + .byte N03 , Fn2 , v112 + .byte W24 + .byte Dn3 , v068 + .byte W24 + .byte An2 + .byte W24 + .byte Dn3 + .byte W24 + .byte PEND +mus_end_2_011: + .byte N03 , Fn2 , v112 + .byte W24 + .byte Ds3 , v068 + .byte W24 + .byte An2 + .byte W24 + .byte Ds3 + .byte W24 + .byte PEND +mus_end_2_012: + .byte N03 , Fn2 , v112 + .byte W24 + .byte Fn3 , v068 + .byte W24 + .byte Ds3 + .byte W24 + .byte Dn3 + .byte W24 + .byte PEND + .byte PATT + .word mus_end_2_011 +mus_end_2_013: + .byte N03 , Fn2 , v112 + .byte W24 + .byte Fn3 , v068 + .byte W24 + .byte Ds3 + .byte W24 + .byte Cn3 + .byte W24 + .byte PEND + .byte PATT + .word mus_end_2_011 + .byte PATT + .word mus_end_2_013 + .byte PATT + .word mus_end_2_006 + .byte PATT + .word mus_end_2_007 + .byte PATT + .word mus_end_2_008 + .byte N03 , As2 , v112 + .byte W24 + .byte Cn4 , v068 + .byte W24 + .byte As3 + .byte W24 + .byte Fn3 + .byte W24 + .byte PATT + .word mus_end_2_006 + .byte PATT + .word mus_end_2_007 + .byte PATT + .word mus_end_2_008 + .byte N03 , As2 , v112 + .byte W24 + .byte As3 , v068 + .byte W24 + .byte Fn3 + .byte W24 + .byte As3 + .byte W24 + .byte PATT + .word mus_end_2_009 + .byte PATT + .word mus_end_2_010 + .byte PATT + .word mus_end_2_011 + .byte PATT + .word mus_end_2_012 + .byte PATT + .word mus_end_2_011 + .byte PATT + .word mus_end_2_013 + .byte PATT + .word mus_end_2_011 + .byte PATT + .word mus_end_2_013 + .byte N03 , As3 , v112 + .byte W24 + .byte Fn3 + .byte W24 + .byte Dn3 + .byte W24 + .byte Fn3 + .byte W24 + .byte An3 + .byte W24 + .byte Fn3 + .byte W24 + .byte Dn3 + .byte W24 + .byte Fn3 + .byte W24 + .byte Gs3 + .byte W24 + .byte Fn3 + .byte W24 + .byte Dn3 + .byte W24 + .byte Fn3 + .byte W24 + .byte Dn3 + .byte W24 + .byte As2 + .byte W24 + .byte Gs2 + .byte W24 + .byte Fn2 + .byte W24 + .byte GOTO + .word mus_end_2_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_end: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte mus_end_pri @ Priority + .byte mus_end_rev @ Reverb. + + .word mus_end_grp + + .word mus_end_1 + .word mus_end_2 + + .end diff --git a/sound/songs/mus_event0.s b/sound/songs/mus_event0.s new file mode 100644 index 0000000000..8e4b6f1c96 --- /dev/null +++ b/sound/songs/mus_event0.s @@ -0,0 +1,677 @@ + .include "MPlayDef.s" + + .equ mus_event0_grp, voicegroup_8684848 + .equ mus_event0_pri, 0 + .equ mus_event0_rev, reverb_set+50 + .equ mus_event0_mvl, 127 + .equ mus_event0_key, 0 + .equ mus_event0_tbs, 1 + .equ mus_event0_exg, 0 + .equ mus_event0_cmp, 1 + + .section .rodata + .global mus_event0 + .align 2 + +@********************** Track 1 **********************@ + +mus_event0_1: + .byte KEYSH , mus_event0_key+0 + .byte TEMPO , 136*mus_event0_tbs/2 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte VOL , 49*mus_event0_mvl/mxv + .byte N03 , Dn5 , v112 + .byte W03 + .byte Ds5 + .byte W03 + .byte N06 , Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Ds5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Bn4 + .byte W18 + .byte TEMPO , 112*mus_event0_tbs/2 + .byte N24 , As4 + .byte W15 + .byte TEMPO , 156*mus_event0_tbs/2 + .byte W09 +mus_event0_1_B1: +mus_event0_1_000: + .byte W12 + .byte N09 , Gn4 , v112 + .byte W09 + .byte N06 , Gn4 , v036 + .byte W09 + .byte N03 , Gn4 , v112 + .byte W03 + .byte N06 , Gn4 , v036 + .byte W24 + .byte W03 + .byte N09 , Gs4 , v112 + .byte W09 + .byte N06 , Gs4 , v036 + .byte W09 + .byte N03 , Gs4 , v112 + .byte W03 + .byte N06 , Gs4 , v036 + .byte W15 + .byte PEND + .byte W12 + .byte N09 , An4 , v112 + .byte W09 + .byte N06 , An4 , v036 + .byte W09 + .byte N03 , An4 , v112 + .byte W03 + .byte N06 , An4 , v036 + .byte W24 + .byte W03 + .byte N09 , Gs4 , v112 + .byte W09 + .byte N06 , Gs4 , v036 + .byte W09 + .byte N03 , Gs4 , v112 + .byte W03 + .byte N06 , Gs4 , v036 + .byte W15 + .byte PATT + .word mus_event0_1_000 + .byte W12 + .byte N09 , An4 , v112 + .byte W09 + .byte N06 , An4 , v036 + .byte W09 + .byte N03 , An4 , v112 + .byte W03 + .byte N06 , An4 , v036 + .byte W24 + .byte W03 + .byte N03 , As4 , v124 + .byte W06 + .byte As4 , v112 + .byte W06 + .byte As4 , v104 + .byte W12 + .byte N03 + .byte W06 + .byte As4 , v116 + .byte W06 + .byte GOTO + .word mus_event0_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_event0_2: + .byte KEYSH , mus_event0_key+0 + .byte VOICE , 38 + .byte PAN , c_v+7 + .byte VOL , 78*mus_event0_mvl/mxv + .byte W06 + .byte W66 + .byte N06 , Gn2 , v112 + .byte W06 + .byte N24 , Gn1 + .byte W24 +mus_event0_2_B1: +mus_event0_2_000: + .byte N12 , Cn1 , v112 + .byte W12 + .byte N03 , Cn2 + .byte W12 + .byte Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N03 , Cn2 + .byte W12 + .byte N12 , Cn1 + .byte W12 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte PEND + .byte N12 , Cn1 + .byte W12 + .byte N03 , Cn2 + .byte W12 + .byte N12 , Cn1 + .byte W12 + .byte N03 , Cn2 + .byte W12 + .byte N12 , Cn1 + .byte W12 + .byte N03 , Cn2 + .byte W12 + .byte N12 , Cn1 + .byte W12 + .byte N03 , Cn2 + .byte W12 + .byte PATT + .word mus_event0_2_000 + .byte N12 , Cn1 , v112 + .byte W12 + .byte N03 , Cn2 + .byte W12 + .byte N12 , Cn1 + .byte W12 + .byte N03 , Cn2 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N03 , Gn2 , v124 + .byte W12 + .byte Gn1 , v104 + .byte W06 + .byte Bn1 , v112 + .byte W06 + .byte Fn2 , v104 + .byte W06 + .byte Gn2 , v112 + .byte W06 + .byte GOTO + .word mus_event0_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_event0_3: + .byte KEYSH , mus_event0_key+0 + .byte VOICE , 73 + .byte PAN , c_v-46 + .byte VOL , 39*mus_event0_mvl/mxv + .byte W06 + .byte N06 , Bn4 , v112 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W18 + .byte N24 , Fn4 + .byte W24 +mus_event0_3_B1: +mus_event0_3_000: + .byte W12 + .byte N09 , Cn4 , v112 + .byte W18 + .byte N03 + .byte W30 + .byte N09 , Cs4 + .byte W18 + .byte N03 + .byte W18 + .byte PEND + .byte W12 + .byte N09 , Dn4 + .byte W18 + .byte N03 + .byte W30 + .byte N09 , Cs4 + .byte W18 + .byte N03 + .byte W18 + .byte PATT + .word mus_event0_3_000 + .byte W12 + .byte N09 , Dn4 , v112 + .byte W18 + .byte N03 + .byte W30 + .byte Fn4 , v124 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v104 + .byte W12 + .byte N03 + .byte W06 + .byte Fn4 , v116 + .byte W06 + .byte GOTO + .word mus_event0_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_event0_4: + .byte KEYSH , mus_event0_key+0 + .byte VOICE , 87 + .byte PAN , c_v+0 + .byte VOL , 48*mus_event0_mvl/mxv + .byte LFOS , 44 + .byte XCMD , xIECV , 12 + .byte xIECV , 22 + .byte BENDR , 12 + .byte BEND , c_v+2 + .byte W06 + .byte W66 + .byte N06 , Gn2 , v112 + .byte W06 + .byte N24 , Gn1 + .byte W24 +mus_event0_4_B1: +mus_event0_4_000: + .byte N12 , Cn1 , v112 + .byte W12 + .byte N03 , Cn2 + .byte W12 + .byte Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N03 , Cn2 + .byte W12 + .byte N12 , Cn1 + .byte W12 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte PEND + .byte N12 , Cn1 + .byte W12 + .byte N03 , Cn2 + .byte W12 + .byte N12 , Cn1 + .byte W12 + .byte N03 , Cn2 + .byte W12 + .byte N12 , Cn1 + .byte W12 + .byte N03 , Cn2 + .byte W12 + .byte N12 , Cn1 + .byte W12 + .byte N03 , Cn2 + .byte W12 + .byte PATT + .word mus_event0_4_000 + .byte N12 , Cn1 , v112 + .byte W12 + .byte N03 , Cn2 + .byte W12 + .byte N12 , Cn1 + .byte W12 + .byte N03 , Cn2 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N03 , Gn2 , v124 + .byte W12 + .byte Gn1 , v104 + .byte W06 + .byte Bn1 , v112 + .byte W06 + .byte Fn2 , v104 + .byte W06 + .byte Gn2 , v112 + .byte W06 + .byte GOTO + .word mus_event0_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_event0_5: + .byte KEYSH , mus_event0_key+0 + .byte VOICE , 82 + .byte PAN , c_v+63 + .byte LFOS , 44 + .byte XCMD , xIECV , 12 + .byte xIECV , 22 + .byte BENDR , 12 + .byte VOL , 50*mus_event0_mvl/mxv + .byte W06 + .byte W66 + .byte N06 , Bn2 , v084 + .byte W06 + .byte N24 , Gn3 , v088 + .byte W24 +mus_event0_5_B1: +mus_event0_5_000: + .byte PAN , c_v-62 + .byte N03 , Gn3 , v096 + .byte W06 + .byte Ds3 , v048 + .byte W06 + .byte Cn3 + .byte W06 + .byte Gn2 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Gn3 , v096 + .byte W06 + .byte Ds3 , v048 + .byte W06 + .byte Cn3 + .byte W06 + .byte Gn2 + .byte W06 + .byte PAN , c_v-62 + .byte N03 , Gs3 , v096 + .byte W06 + .byte En3 , v048 + .byte W06 + .byte Cs3 + .byte W06 + .byte Gs2 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Gs3 , v096 + .byte W06 + .byte En3 , v048 + .byte W06 + .byte Cs3 + .byte W06 + .byte Gs2 + .byte W06 + .byte PEND + .byte PAN , c_v-62 + .byte N03 , An3 , v096 + .byte W06 + .byte Fn3 , v048 + .byte W06 + .byte Dn3 + .byte W06 + .byte An2 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , An3 , v096 + .byte W06 + .byte Fn3 , v048 + .byte W06 + .byte Dn3 + .byte W06 + .byte An2 + .byte W06 + .byte PAN , c_v-62 + .byte N03 , Gs3 , v096 + .byte W06 + .byte En3 , v048 + .byte W06 + .byte Cs3 + .byte W06 + .byte Gs2 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Gs3 , v096 + .byte W06 + .byte En3 , v048 + .byte W06 + .byte Cs3 + .byte W06 + .byte Gs2 + .byte W06 + .byte PATT + .word mus_event0_5_000 + .byte PAN , c_v-62 + .byte N03 , An3 , v096 + .byte W06 + .byte Fn3 , v048 + .byte W06 + .byte Dn3 + .byte W06 + .byte An2 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , An3 , v096 + .byte W06 + .byte Fn3 , v048 + .byte W06 + .byte Dn3 + .byte W06 + .byte An2 + .byte W06 + .byte PAN , c_v+0 + .byte N04 , As3 , v100 + .byte W08 + .byte Fn3 , v084 + .byte W08 + .byte Bn2 + .byte W08 + .byte N03 , Gn2 , v112 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte GOTO + .word mus_event0_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_event0_6: + .byte KEYSH , mus_event0_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 12 + .byte xIECV , 22 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 40*mus_event0_mvl/mxv + .byte W06 + .byte W66 + .byte N06 , Gn3 , v112 + .byte W06 + .byte N24 , Bn3 + .byte W24 +mus_event0_6_B1: +mus_event0_6_000: + .byte N12 , Ds3 , v112 + .byte W18 + .byte N06 + .byte W30 + .byte N12 , En3 + .byte W18 + .byte N06 + .byte W30 + .byte PEND + .byte N12 , Fn3 + .byte W18 + .byte N06 + .byte W30 + .byte N12 , En3 + .byte W18 + .byte N06 + .byte W30 + .byte PATT + .word mus_event0_6_000 + .byte N12 , Fn3 , v112 + .byte W18 + .byte N06 + .byte W42 + .byte N03 , Bn3 , v124 + .byte W06 + .byte Bn3 , v112 + .byte W06 + .byte Bn3 , v104 + .byte W12 + .byte N03 + .byte W06 + .byte Bn3 , v116 + .byte W06 + .byte GOTO + .word mus_event0_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_event0_7: + .byte KEYSH , mus_event0_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 62*mus_event0_mvl/mxv + .byte W06 + .byte N06 , En1 , v112 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v092 + .byte W12 + .byte En1 , v080 + .byte W12 + .byte En1 , v088 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte N24 , An2 + .byte W12 + .byte N06 , En1 + .byte W06 + .byte N06 + .byte W06 +mus_event0_7_B1: +mus_event0_7_000: + .byte N06 , Fs1 , v112 + .byte W06 + .byte Fs1 , v072 + .byte W06 + .byte Fs1 , v096 + .byte W06 + .byte Fs1 , v068 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v072 + .byte W06 + .byte Fs1 , v096 + .byte W06 + .byte Fs1 , v068 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v072 + .byte W06 + .byte N12 , As1 , v112 + .byte W12 + .byte N06 , Fs1 + .byte W06 + .byte Fs1 , v072 + .byte W06 + .byte Fs1 , v096 + .byte W06 + .byte Fs1 , v068 + .byte W06 + .byte PEND + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v072 + .byte W06 + .byte Fs1 , v096 + .byte W06 + .byte Fs1 , v068 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v072 + .byte W06 + .byte Fs1 , v096 + .byte W06 + .byte Fs1 , v068 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v072 + .byte W06 + .byte N12 , As1 , v112 + .byte W12 + .byte N06 , Fs1 + .byte W06 + .byte Fs1 , v072 + .byte W06 + .byte En1 , v127 + .byte W06 + .byte Fs1 , v068 + .byte W06 + .byte PATT + .word mus_event0_7_000 + .byte N06 , Fs1 , v112 + .byte W06 + .byte Fs1 , v072 + .byte W06 + .byte Fs1 , v096 + .byte W06 + .byte Fs1 , v068 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v072 + .byte W06 + .byte Fs1 , v096 + .byte W06 + .byte Fs1 , v068 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v072 + .byte W06 + .byte N12 , As1 , v096 + .byte W12 + .byte N06 , Fs1 , v112 + .byte W06 + .byte Fs1 , v108 + .byte W06 + .byte N12 , As1 , v112 + .byte W12 + .byte GOTO + .word mus_event0_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_event0: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_event0_pri @ Priority + .byte mus_event0_rev @ Reverb. + + .word mus_event0_grp + + .word mus_event0_1 + .word mus_event0_2 + .word mus_event0_3 + .word mus_event0_4 + .word mus_event0_5 + .word mus_event0_6 + .word mus_event0_7 + + .end diff --git a/sound/songs/mus_fanfa1.s b/sound/songs/mus_fanfa1.s new file mode 100644 index 0000000000..1448aec6b1 --- /dev/null +++ b/sound/songs/mus_fanfa1.s @@ -0,0 +1,179 @@ + .include "MPlayDef.s" + + .equ mus_fanfa1_grp, voicegroup_8677B28 + .equ mus_fanfa1_pri, 5 + .equ mus_fanfa1_rev, reverb_set+50 + .equ mus_fanfa1_mvl, 127 + .equ mus_fanfa1_key, 0 + .equ mus_fanfa1_tbs, 1 + .equ mus_fanfa1_exg, 0 + .equ mus_fanfa1_cmp, 1 + + .section .rodata + .global mus_fanfa1 + .align 2 + +@********************** Track 1 **********************@ + +mus_fanfa1_1: + .byte KEYSH , mus_fanfa1_key+0 + .byte TEMPO , 174*mus_fanfa1_tbs/2 + .byte VOICE , 46 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte VOL , 90*mus_fanfa1_mvl/mxv + .byte PAN , c_v+48 + .byte W08 + .byte N04 , Bn3 , v100 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N24 , Gs4 + .byte W10 + .byte MOD , 5 + .byte W54 + .byte FINE + +@********************** Track 2 **********************@ + +mus_fanfa1_2: + .byte KEYSH , mus_fanfa1_key+0 + .byte VOICE , 46 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte VOL , 90*mus_fanfa1_mvl/mxv + .byte W08 + .byte PAN , c_v-16 + .byte N04 , En4 , v100 + .byte W08 + .byte PAN , c_v+16 + .byte N04 + .byte W08 + .byte PAN , c_v-16 + .byte N04 + .byte W08 + .byte PAN , c_v+0 + .byte N24 , Bn4 + .byte W10 + .byte MOD , 5 + .byte W54 + .byte FINE + +@********************** Track 3 **********************@ + +mus_fanfa1_3: + .byte KEYSH , mus_fanfa1_key+0 + .byte VOICE , 46 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte VOL , 90*mus_fanfa1_mvl/mxv + .byte PAN , c_v-48 + .byte W08 + .byte N04 , Gs3 , v068 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N24 , En4 + .byte W10 + .byte MOD , 5 + .byte W54 + .byte FINE + +@********************** Track 4 **********************@ + +mus_fanfa1_4: + .byte KEYSH , mus_fanfa1_key+0 + .byte VOICE , 84 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte VOL , 90*mus_fanfa1_mvl/mxv + .byte W08 + .byte N04 , Bn3 , v048 + .byte W04 + .byte Bn3 , v020 + .byte W04 + .byte Bn3 , v048 + .byte W04 + .byte Bn3 , v020 + .byte W04 + .byte Bn3 , v048 + .byte W04 + .byte Bn3 , v020 + .byte W04 + .byte N24 , Gs4 , v048 + .byte W10 + .byte MOD , 5 + .byte W03 + .byte VOL , 71*mus_fanfa1_mvl/mxv + .byte W03 + .byte 48*mus_fanfa1_mvl/mxv + .byte W03 + .byte 25*mus_fanfa1_mvl/mxv + .byte W03 + .byte 10*mus_fanfa1_mvl/mxv + .byte W03 + .byte 0*mus_fanfa1_mvl/mxv + .byte W36 + .byte W03 + .byte FINE + +@********************** Track 5 **********************@ + +mus_fanfa1_5: + .byte KEYSH , mus_fanfa1_key+0 + .byte VOICE , 85 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte VOL , 90*mus_fanfa1_mvl/mxv + .byte W08 + .byte N04 , En4 , v048 + .byte W04 + .byte En4 , v020 + .byte W04 + .byte En4 , v048 + .byte W04 + .byte En4 , v020 + .byte W04 + .byte En4 , v048 + .byte W04 + .byte En4 , v020 + .byte W04 + .byte N24 , Bn4 , v048 + .byte W10 + .byte MOD , 5 + .byte W03 + .byte VOL , 71*mus_fanfa1_mvl/mxv + .byte W03 + .byte 48*mus_fanfa1_mvl/mxv + .byte W03 + .byte 25*mus_fanfa1_mvl/mxv + .byte W03 + .byte 10*mus_fanfa1_mvl/mxv + .byte W03 + .byte 0*mus_fanfa1_mvl/mxv + .byte W36 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +mus_fanfa1: + .byte 5 @ NumTrks + .byte 0 @ NumBlks + .byte mus_fanfa1_pri @ Priority + .byte mus_fanfa1_rev @ Reverb. + + .word mus_fanfa1_grp + + .word mus_fanfa1_1 + .word mus_fanfa1_2 + .word mus_fanfa1_3 + .word mus_fanfa1_4 + .word mus_fanfa1_5 + + .end diff --git a/sound/songs/mus_fanfa4.s b/sound/songs/mus_fanfa4.s new file mode 100644 index 0000000000..fb6f14d24b --- /dev/null +++ b/sound/songs/mus_fanfa4.s @@ -0,0 +1,283 @@ + .include "MPlayDef.s" + + .equ mus_fanfa4_grp, voicegroup_8677B28 + .equ mus_fanfa4_pri, 5 + .equ mus_fanfa4_rev, reverb_set+50 + .equ mus_fanfa4_mvl, 127 + .equ mus_fanfa4_key, 0 + .equ mus_fanfa4_tbs, 1 + .equ mus_fanfa4_exg, 0 + .equ mus_fanfa4_cmp, 1 + + .section .rodata + .global mus_fanfa4 + .align 2 + +@********************** Track 1 **********************@ + +mus_fanfa4_1: + .byte KEYSH , mus_fanfa4_key+0 + .byte W12 + .byte TEMPO , 190*mus_fanfa4_tbs/2 + .byte VOICE , 46 + .byte VOL , 90*mus_fanfa4_mvl/mxv + .byte PAN , c_v-24 + .byte N16 , Gs4 , v080 + .byte W08 + .byte MOD , 5 + .byte W08 + .byte 0 + .byte W08 + .byte N06 , Ds4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Ds4 + .byte W08 + .byte N08 , As4 + .byte W16 + .byte N08 + .byte W16 + .byte N08 + .byte W16 + .byte N48 , Gs4 + .byte W16 + .byte MOD , 5 + .byte W08 + .byte VOL , 82*mus_fanfa4_mvl/mxv + .byte W05 + .byte 72*mus_fanfa4_mvl/mxv + .byte W07 + .byte 41*mus_fanfa4_mvl/mxv + .byte W05 + .byte 14*mus_fanfa4_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte W48 + .byte FINE + +@********************** Track 2 **********************@ + +mus_fanfa4_2: + .byte KEYSH , mus_fanfa4_key+0 + .byte W12 + .byte VOICE , 46 + .byte VOL , 90*mus_fanfa4_mvl/mxv + .byte PAN , c_v+0 + .byte N16 , Cn5 , v104 + .byte W08 + .byte MOD , 5 + .byte W08 + .byte 0 + .byte W08 + .byte N06 + .byte W08 + .byte N06 + .byte W08 + .byte N06 + .byte W08 + .byte N08 , Cs5 + .byte W16 + .byte N08 + .byte W16 + .byte N08 + .byte W16 + .byte N48 , Cn5 + .byte W16 + .byte MOD , 5 + .byte W08 + .byte VOL , 82*mus_fanfa4_mvl/mxv + .byte W05 + .byte 72*mus_fanfa4_mvl/mxv + .byte W07 + .byte 41*mus_fanfa4_mvl/mxv + .byte W05 + .byte 14*mus_fanfa4_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte W48 + .byte FINE + +@********************** Track 3 **********************@ + +mus_fanfa4_3: + .byte KEYSH , mus_fanfa4_key+0 + .byte W12 + .byte VOICE , 58 + .byte VOL , 90*mus_fanfa4_mvl/mxv + .byte N16 , Gs1 , v120 + .byte W24 + .byte N06 + .byte W08 + .byte N06 + .byte W08 + .byte N06 + .byte W08 + .byte N08 , Fs1 + .byte W16 + .byte N08 + .byte W16 + .byte Gn1 + .byte W16 + .byte N48 , Gs1 + .byte W24 + .byte VOL , 82*mus_fanfa4_mvl/mxv + .byte W05 + .byte 72*mus_fanfa4_mvl/mxv + .byte W07 + .byte 41*mus_fanfa4_mvl/mxv + .byte W05 + .byte 14*mus_fanfa4_mvl/mxv + .byte W54 + .byte W01 + .byte FINE + +@********************** Track 4 **********************@ + +mus_fanfa4_4: + .byte KEYSH , mus_fanfa4_key+0 + .byte W12 + .byte VOICE , 82 + .byte VOL , 90*mus_fanfa4_mvl/mxv + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v-48 + .byte N16 , Cn4 , v036 + .byte W08 + .byte MOD , 5 + .byte W08 + .byte 0 + .byte W08 + .byte N06 , Gs3 + .byte W08 + .byte Cn4 + .byte W08 + .byte Gs3 + .byte W08 + .byte N08 , As3 + .byte W16 + .byte N08 + .byte W16 + .byte N08 + .byte W16 + .byte N48 , Gs3 + .byte W16 + .byte MOD , 5 + .byte W08 + .byte VOL , 82*mus_fanfa4_mvl/mxv + .byte W05 + .byte 72*mus_fanfa4_mvl/mxv + .byte W07 + .byte 41*mus_fanfa4_mvl/mxv + .byte W05 + .byte 14*mus_fanfa4_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte W48 + .byte FINE + +@********************** Track 5 **********************@ + +mus_fanfa4_5: + .byte KEYSH , mus_fanfa4_key+0 + .byte W12 + .byte VOICE , 83 + .byte VOL , 90*mus_fanfa4_mvl/mxv + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v+48 + .byte N16 , Gs3 , v036 + .byte W08 + .byte MOD , 5 + .byte W08 + .byte 0 + .byte W08 + .byte N06 , Ds3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Ds3 + .byte W08 + .byte N08 , Fs3 + .byte W16 + .byte N08 + .byte W16 + .byte N08 + .byte W16 + .byte N48 , Ds3 + .byte W16 + .byte MOD , 5 + .byte W08 + .byte VOL , 82*mus_fanfa4_mvl/mxv + .byte W05 + .byte 72*mus_fanfa4_mvl/mxv + .byte W07 + .byte 41*mus_fanfa4_mvl/mxv + .byte W05 + .byte 14*mus_fanfa4_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte W48 + .byte FINE + +@********************** Track 6 **********************@ + +mus_fanfa4_6: + .byte KEYSH , mus_fanfa4_key+0 + .byte W12 + .byte VOICE , 46 + .byte PAN , c_v+24 + .byte VOL , 90*mus_fanfa4_mvl/mxv + .byte N16 , Ds4 , v080 + .byte W08 + .byte MOD , 5 + .byte W08 + .byte 0 + .byte W08 + .byte N06 , Cn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Cn4 + .byte W08 + .byte N08 , Fs4 + .byte W16 + .byte N08 + .byte W16 + .byte N08 + .byte W16 + .byte N48 , Ds4 + .byte W16 + .byte MOD , 5 + .byte W08 + .byte VOL , 82*mus_fanfa4_mvl/mxv + .byte W05 + .byte 72*mus_fanfa4_mvl/mxv + .byte W07 + .byte 41*mus_fanfa4_mvl/mxv + .byte W05 + .byte 14*mus_fanfa4_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte W48 + .byte FINE + +@******************************************************@ + .align 2 + +mus_fanfa4: + .byte 6 @ NumTrks + .byte 0 @ NumBlks + .byte mus_fanfa4_pri @ Priority + .byte mus_fanfa4_rev @ Reverb. + + .word mus_fanfa4_grp + + .word mus_fanfa4_1 + .word mus_fanfa4_2 + .word mus_fanfa4_3 + .word mus_fanfa4_4 + .word mus_fanfa4_5 + .word mus_fanfa4_6 + + .end diff --git a/sound/songs/mus_fanfa5.s b/sound/songs/mus_fanfa5.s new file mode 100644 index 0000000000..b69b63bea5 --- /dev/null +++ b/sound/songs/mus_fanfa5.s @@ -0,0 +1,350 @@ + .include "MPlayDef.s" + + .equ mus_fanfa5_grp, voicegroup_8677B28 + .equ mus_fanfa5_pri, 5 + .equ mus_fanfa5_rev, reverb_set+50 + .equ mus_fanfa5_mvl, 127 + .equ mus_fanfa5_key, 0 + .equ mus_fanfa5_tbs, 1 + .equ mus_fanfa5_exg, 0 + .equ mus_fanfa5_cmp, 1 + + .section .rodata + .global mus_fanfa5 + .align 2 + +@********************** Track 1 **********************@ + +mus_fanfa5_1: + .byte KEYSH , mus_fanfa5_key+0 + .byte W12 + .byte TEMPO , 150*mus_fanfa5_tbs/2 + .byte VOICE , 56 + .byte PAN , c_v+18 + .byte VOL , 90*mus_fanfa5_mvl/mxv + .byte N22 , Ds4 , v104 + .byte W16 + .byte VOL , 68*mus_fanfa5_mvl/mxv + .byte W04 + .byte 36*mus_fanfa5_mvl/mxv + .byte W04 + .byte 90*mus_fanfa5_mvl/mxv + .byte N22 , Cn4 + .byte W16 + .byte VOL , 68*mus_fanfa5_mvl/mxv + .byte W04 + .byte 36*mus_fanfa5_mvl/mxv + .byte W04 + .byte 90*mus_fanfa5_mvl/mxv + .byte N16 , Gs3 + .byte W16 + .byte N06 , Ds3 + .byte W08 + .byte Cn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Cn4 + .byte W08 + .byte N04 , Fs4 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte As4 + .byte W08 + .byte N48 , Gs4 + .byte W16 + .byte MOD , 6 + .byte W32 + .byte 0 + .byte W96 + .byte FINE + +@********************** Track 2 **********************@ + +mus_fanfa5_2: + .byte KEYSH , mus_fanfa5_key+0 + .byte W12 + .byte VOICE , 56 + .byte PAN , c_v-16 + .byte VOL , 90*mus_fanfa5_mvl/mxv + .byte N22 , Cn5 , v104 + .byte W16 + .byte VOL , 68*mus_fanfa5_mvl/mxv + .byte W04 + .byte 36*mus_fanfa5_mvl/mxv + .byte W04 + .byte 90*mus_fanfa5_mvl/mxv + .byte N22 , Gs4 + .byte W16 + .byte VOL , 68*mus_fanfa5_mvl/mxv + .byte W04 + .byte 36*mus_fanfa5_mvl/mxv + .byte W04 + .byte 90*mus_fanfa5_mvl/mxv + .byte N40 , Ds4 + .byte W12 + .byte MOD , 6 + .byte W28 + .byte VOL , 68*mus_fanfa5_mvl/mxv + .byte MOD , 0 + .byte W04 + .byte VOL , 36*mus_fanfa5_mvl/mxv + .byte W04 + .byte 90*mus_fanfa5_mvl/mxv + .byte N04 , Cs5 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte As4 + .byte W08 + .byte N04 + .byte W08 + .byte Cs5 + .byte W08 + .byte N48 , Cn5 + .byte W16 + .byte MOD , 6 + .byte W32 + .byte 0 + .byte W96 + .byte FINE + +@********************** Track 3 **********************@ + +mus_fanfa5_3: + .byte KEYSH , mus_fanfa5_key+0 + .byte W12 + .byte VOICE , 88 + .byte VOL , 90*mus_fanfa5_mvl/mxv + .byte N12 , Ds1 , v112 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N08 , Cn1 + .byte W08 + .byte Ds1 + .byte W08 + .byte Gs1 + .byte W08 + .byte N16 , As1 + .byte W24 + .byte Cs2 + .byte W24 + .byte N40 , Cn2 + .byte W48 + .byte W96 + .byte FINE + +@********************** Track 4 **********************@ + +mus_fanfa5_4: + .byte KEYSH , mus_fanfa5_key+0 + .byte W12 + .byte VOICE , 82 + .byte PAN , c_v-48 + .byte VOL , 90*mus_fanfa5_mvl/mxv + .byte N08 , Gs4 , v040 + .byte W08 + .byte Ds4 + .byte W08 + .byte Cn4 + .byte W08 + .byte VOL , 90*mus_fanfa5_mvl/mxv + .byte N08 , Gs4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Gs3 + .byte W08 + .byte Cn4 + .byte W08 + .byte Gs3 + .byte W08 + .byte Ds3 + .byte W08 + .byte Cs3 + .byte W08 + .byte As2 + .byte W08 + .byte Fs2 + .byte W08 + .byte Cs2 + .byte W08 + .byte As2 + .byte W08 + .byte Cs3 + .byte W08 + .byte N48 , Ds3 + .byte W16 + .byte MOD , 6 + .byte W32 + .byte 0 + .byte W96 + .byte FINE + +@********************** Track 5 **********************@ + +mus_fanfa5_5: + .byte KEYSH , mus_fanfa5_key+0 + .byte W12 + .byte VOICE , 83 + .byte PAN , c_v+48 + .byte VOL , 90*mus_fanfa5_mvl/mxv + .byte W04 + .byte N08 , Gs4 , v040 + .byte W08 + .byte Ds4 + .byte W08 + .byte Cn4 + .byte W04 + .byte VOL , 90*mus_fanfa5_mvl/mxv + .byte W04 + .byte N08 , Gs4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Gs3 + .byte W08 + .byte Cn4 + .byte W08 + .byte Gs3 + .byte W08 + .byte Ds3 + .byte W04 + .byte W04 + .byte Cs3 + .byte W08 + .byte As2 + .byte W08 + .byte Fs2 + .byte W08 + .byte Cs2 + .byte W08 + .byte As2 + .byte W08 + .byte Cs3 + .byte W08 + .byte N44 , Ds3 + .byte W12 + .byte MOD , 6 + .byte W32 + .byte 0 + .byte W96 + .byte FINE + +@********************** Track 6 **********************@ + +mus_fanfa5_6: + .byte KEYSH , mus_fanfa5_key+0 + .byte W12 + .byte VOICE , 47 + .byte VOL , 90*mus_fanfa5_mvl/mxv + .byte W24 + .byte 90*mus_fanfa5_mvl/mxv + .byte W56 + .byte N08 , Cn2 , v127 + .byte W08 + .byte N08 + .byte W08 + .byte Fs2 + .byte W24 + .byte Cs2 + .byte W08 + .byte As1 , v112 + .byte W08 + .byte N08 + .byte W08 + .byte N12 , Cn2 , v127 + .byte W48 + .byte W96 + .byte FINE + +@********************** Track 7 **********************@ + +mus_fanfa5_7: + .byte KEYSH , mus_fanfa5_key+0 + .byte W12 + .byte VOICE , 0 + .byte VOL , 90*mus_fanfa5_mvl/mxv + .byte N04 , En1 , v112 + .byte N80 , An2 , v120 + .byte W24 + .byte VOL , 90*mus_fanfa5_mvl/mxv + .byte N04 , En1 , v112 + .byte W08 + .byte En1 , v092 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v092 + .byte W08 + .byte En1 , v112 + .byte W08 + .byte En1 , v092 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v092 + .byte W08 + .byte En1 , v112 + .byte W08 + .byte En1 , v092 + .byte W04 + .byte En1 , v112 + .byte W04 + .byte En1 , v092 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v112 + .byte W48 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +mus_fanfa5: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_fanfa5_pri @ Priority + .byte mus_fanfa5_rev @ Reverb. + + .word mus_fanfa5_grp + + .word mus_fanfa5_1 + .word mus_fanfa5_2 + .word mus_fanfa5_3 + .word mus_fanfa5_4 + .word mus_fanfa5_5 + .word mus_fanfa5_6 + .word mus_fanfa5_7 + + .end diff --git a/sound/songs/mus_field13.s b/sound/songs/mus_field13.s new file mode 100644 index 0000000000..5faad5ed76 --- /dev/null +++ b/sound/songs/mus_field13.s @@ -0,0 +1,778 @@ + .include "MPlayDef.s" + + .equ mus_field13_grp, voicegroup_pokemon_cry + .equ mus_field13_pri, 0 + .equ mus_field13_rev, reverb_set+50 + .equ mus_field13_mvl, 127 + .equ mus_field13_key, 0 + .equ mus_field13_tbs, 1 + .equ mus_field13_exg, 0 + .equ mus_field13_cmp, 1 + + .section .rodata + .global mus_field13 + .align 2 + +@********************** Track 1 **********************@ + +mus_field13_1: + .byte KEYSH , mus_field13_key+0 + .byte TEMPO , 130*mus_field13_tbs/2 + .byte VOICE , 56 + .byte VOL , 80*mus_field13_mvl/mxv + .byte W96 + .byte W96 +mus_field13_1_B1: + .byte W12 + .byte VOICE , 48 + .byte N11 , Fs2 , v080 + .byte W12 + .byte Bn2 + .byte W12 + .byte En3 + .byte W12 + .byte N44 , Ds3 + .byte W48 + .byte W12 + .byte N23 , En3 + .byte W24 + .byte Ds3 + .byte W24 + .byte Cs3 + .byte W24 + .byte N11 , Bn2 + .byte W12 + .byte N17 , Ds3 + .byte W18 + .byte N05 , Bn2 + .byte W06 + .byte N44 , Fs2 + .byte W48 + .byte Bn2 + .byte W24 + .byte W24 + .byte Bn3 + .byte W72 + .byte W12 + .byte N11 , Fs2 + .byte W12 + .byte Bn2 + .byte W12 + .byte En3 + .byte W12 + .byte N44 , Ds3 + .byte W48 + .byte W12 + .byte N23 , An2 + .byte W24 + .byte Cs3 + .byte W24 + .byte En3 + .byte W24 + .byte N11 , An3 + .byte W12 + .byte N17 , Fs3 + .byte W18 + .byte N05 , An3 + .byte W06 + .byte N32 , Bn3 + .byte W36 + .byte N11 , Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Bn3 + .byte W12 + .byte N23 , An3 + .byte W24 + .byte Fs3 + .byte W24 + .byte N11 , En3 + .byte W12 + .byte N23 , Ds3 + .byte W24 + .byte VOICE , 56 + .byte N05 , An2 , v104 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N23 , Cs3 + .byte W24 + .byte N05 , An2 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N23 , Cs3 + .byte W24 +mus_field13_1_000: + .byte N05 , Bn2 , v104 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N23 , Fs3 + .byte W24 + .byte PEND + .byte PATT + .word mus_field13_1_000 + .byte N05 , An2 , v104 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N23 , En3 + .byte W24 + .byte N05 , An2 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N23 , Gs3 + .byte W24 + .byte N05 , Bn2 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N23 , Ds4 + .byte W24 + .byte N05 , Bn2 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N23 , Fn3 + .byte W24 +mus_field13_1_001: + .byte N05 , Bn2 , v104 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W36 + .byte PEND + .byte PATT + .word mus_field13_1_001 + .byte GOTO + .word mus_field13_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_field13_2: + .byte KEYSH , mus_field13_key+0 + .byte VOICE , 56 + .byte VOL , 80*mus_field13_mvl/mxv + .byte N05 , Bn2 , v112 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W36 + .byte N05 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N23 , Fs3 + .byte W24 +mus_field13_2_B1: +mus_field13_2_000: + .byte N44 , Bn3 , v112 + .byte W60 + .byte N11 , Fs3 + .byte W12 + .byte N11 + .byte W12 + .byte Bn3 + .byte W12 + .byte PEND + .byte N23 , Cs4 + .byte W24 + .byte Bn3 + .byte W24 + .byte An3 + .byte W24 + .byte En3 + .byte W24 + .byte N92 , Fs3 + .byte W96 + .byte VOICE , 48 + .byte N68 , Ds3 , v092 + .byte W72 + .byte VOICE , 56 + .byte N23 , Fs3 , v112 + .byte W24 + .byte PATT + .word mus_field13_2_000 + .byte N23 , Cs4 , v112 + .byte W24 + .byte Bn3 + .byte W24 + .byte Cs4 + .byte W24 + .byte En4 + .byte W24 + .byte TIE , Ds4 + .byte W96 + .byte W92 + .byte W03 + .byte EOT + .byte W01 + .byte W24 + .byte VOICE , 48 + .byte N17 , An3 , v096 + .byte W18 + .byte N05 , En4 + .byte W06 + .byte N23 , An4 + .byte W24 + .byte Gs4 + .byte W24 +mus_field13_2_001: + .byte N32 , Cs4 , v096 + .byte W36 + .byte Ds4 + .byte W36 + .byte N23 , En4 + .byte W24 + .byte PEND + .byte N17 , Fs4 + .byte W18 + .byte N05 , En4 + .byte W06 + .byte N68 , Ds4 + .byte W72 + .byte N17 , Bn3 + .byte W18 + .byte N05 , Fs3 + .byte W06 + .byte N68 , Ds4 + .byte W72 + .byte W24 + .byte N17 , An3 + .byte W18 + .byte N05 , En4 + .byte W06 + .byte N23 , An4 + .byte W24 + .byte Gs4 + .byte W24 + .byte PATT + .word mus_field13_2_001 + .byte N17 , Fs4 , v096 + .byte W18 + .byte N05 , Ds4 + .byte W06 + .byte N68 , Bn4 + .byte W72 + .byte N17 + .byte W18 + .byte N05 , Fs4 + .byte W06 + .byte N68 , Ds5 + .byte W72 + .byte VOICE , 56 + .byte N05 , Fs3 , v112 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W36 + .byte N05 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N23 + .byte W24 + .byte GOTO + .word mus_field13_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_field13_3: + .byte KEYSH , mus_field13_key+0 + .byte VOICE , 38 + .byte VOL , 80*mus_field13_mvl/mxv + .byte N11 , Fs1 , v112 + .byte W48 + .byte N11 + .byte W48 +mus_field13_3_000: + .byte N11 , Fs1 , v112 + .byte W48 + .byte N11 + .byte W48 + .byte PEND +mus_field13_3_B1: +mus_field13_3_001: + .byte N11 , Fs1 , v112 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn1 + .byte W12 + .byte PEND + .byte An1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Gs1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte An1 + .byte W12 + .byte Fs1 + .byte W12 + .byte En1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Fs1 + .byte W12 + .byte PATT + .word mus_field13_3_001 + .byte PATT + .word mus_field13_3_001 + .byte N11 , An1 , v112 + .byte W12 + .byte Cs2 + .byte W12 + .byte Gs1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte An1 + .byte W12 + .byte Cs2 + .byte W12 + .byte An1 + .byte W12 + .byte PATT + .word mus_field13_3_001 +mus_field13_3_002: + .byte N11 , Bn1 , v112 + .byte W12 + .byte Ds2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Ds2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Ds2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Ds2 + .byte W12 + .byte PEND +mus_field13_3_003: + .byte N11 , An1 , v112 + .byte W12 + .byte Cs2 + .byte W12 + .byte An1 + .byte W12 + .byte Cs2 + .byte W12 + .byte An1 + .byte W12 + .byte Cs2 + .byte W12 + .byte An1 + .byte W12 + .byte Cs2 + .byte W12 + .byte PEND +mus_field13_3_004: + .byte N11 , An1 , v112 + .byte W12 + .byte Cs2 + .byte W12 + .byte An1 + .byte W12 + .byte Cs2 + .byte W12 + .byte An1 + .byte W12 + .byte Cs2 + .byte W12 + .byte En2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PEND + .byte PATT + .word mus_field13_3_002 + .byte N11 , Bn1 , v112 + .byte W12 + .byte Fs2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fs2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fs2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fs2 + .byte W12 + .byte PATT + .word mus_field13_3_003 + .byte PATT + .word mus_field13_3_004 + .byte PATT + .word mus_field13_3_002 + .byte PATT + .word mus_field13_3_001 + .byte PATT + .word mus_field13_3_000 + .byte PATT + .word mus_field13_3_000 + .byte GOTO + .word mus_field13_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_field13_4: + .byte KEYSH , mus_field13_key+0 + .byte VOICE , 0 + .byte VOL , 80*mus_field13_mvl/mxv + .byte N05 , En1 , v072 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 +mus_field13_4_000: + .byte N05 , En1 , v072 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N02 + .byte W03 + .byte N02 + .byte W03 + .byte N02 + .byte W03 + .byte N02 + .byte W03 + .byte N02 + .byte W03 + .byte N02 + .byte W03 + .byte N02 + .byte W03 + .byte N02 + .byte W03 + .byte PEND +mus_field13_4_B1: +mus_field13_4_001: + .byte N05 , En1 , v072 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W12 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte N05 + .byte W06 + .byte PEND + .byte PATT + .word mus_field13_4_001 + .byte PATT + .word mus_field13_4_001 + .byte PATT + .word mus_field13_4_000 + .byte PATT + .word mus_field13_4_001 + .byte PATT + .word mus_field13_4_001 + .byte PATT + .word mus_field13_4_001 + .byte PATT + .word mus_field13_4_000 + .byte PATT + .word mus_field13_4_001 + .byte PATT + .word mus_field13_4_001 + .byte PATT + .word mus_field13_4_001 + .byte PATT + .word mus_field13_4_001 + .byte PATT + .word mus_field13_4_001 + .byte PATT + .word mus_field13_4_001 + .byte PATT + .word mus_field13_4_001 + .byte PATT + .word mus_field13_4_001 + .byte PATT + .word mus_field13_4_001 + .byte PATT + .word mus_field13_4_000 + .byte GOTO + .word mus_field13_4_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_field13: + .byte 4 @ NumTrks + .byte 0 @ NumBlks + .byte mus_field13_pri @ Priority + .byte mus_field13_rev @ Reverb. + + .word mus_field13_grp + + .word mus_field13_1 + .word mus_field13_2 + .word mus_field13_3 + .word mus_field13_4 + + .end diff --git a/sound/songs/mus_finecity.s b/sound/songs/mus_finecity.s new file mode 100644 index 0000000000..df273cd8de --- /dev/null +++ b/sound/songs/mus_finecity.s @@ -0,0 +1,5380 @@ + .include "MPlayDef.s" + + .equ mus_finecity_grp, voicegroup_868D074 + .equ mus_finecity_pri, 0 + .equ mus_finecity_rev, reverb_set+50 + .equ mus_finecity_mvl, 127 + .equ mus_finecity_key, 0 + .equ mus_finecity_tbs, 1 + .equ mus_finecity_exg, 0 + .equ mus_finecity_cmp, 1 + + .section .rodata + .global mus_finecity + .align 2 + +@********************** Track 1 **********************@ + +mus_finecity_1: + .byte KEYSH , mus_finecity_key+0 + .byte TEMPO , 124*mus_finecity_tbs/2 + .byte VOICE , 127 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 41*mus_finecity_mvl/mxv + .byte W48 +mus_finecity_1_B1: +mus_finecity_1_000: + .byte W12 + .byte N03 , Gn5 , v064 + .byte W24 + .byte N03 + .byte W24 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte PEND + .byte PATT + .word mus_finecity_1_000 + .byte PATT + .word mus_finecity_1_000 + .byte PATT + .word mus_finecity_1_000 +mus_finecity_1_001: + .byte N03 , Gn5 , v112 + .byte W12 + .byte Gn5 , v076 + .byte W12 + .byte Gn5 , v116 + .byte W12 + .byte Gn5 , v112 + .byte W06 + .byte Gn5 , v080 + .byte W06 + .byte Gn5 , v112 + .byte W12 + .byte Gn5 , v076 + .byte W12 + .byte Gn5 , v072 + .byte W12 + .byte Gn5 , v112 + .byte W06 + .byte Gn5 , v080 + .byte W06 + .byte PEND + .byte PATT + .word mus_finecity_1_001 +mus_finecity_1_002: + .byte N03 , Gn5 , v112 + .byte W12 + .byte Gn5 , v076 + .byte W12 + .byte Gn5 , v116 + .byte W12 + .byte Gn5 , v112 + .byte W06 + .byte Gn5 , v080 + .byte W06 + .byte Gn5 , v112 + .byte W12 + .byte Gn5 , v076 + .byte W12 + .byte Gn5 , v072 + .byte W12 + .byte Gn5 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte PEND +mus_finecity_1_003: + .byte N03 , Gn5 , v112 + .byte W12 + .byte Gn5 , v076 + .byte W12 + .byte Gn5 , v116 + .byte W12 + .byte Gn5 , v112 + .byte W06 + .byte Gn5 , v080 + .byte W06 + .byte Gn5 , v112 + .byte W12 + .byte Gn5 , v076 + .byte W12 + .byte Gn5 , v072 + .byte W24 + .byte PEND + .byte PATT + .word mus_finecity_1_001 + .byte PATT + .word mus_finecity_1_001 + .byte PATT + .word mus_finecity_1_001 +mus_finecity_1_004: + .byte N03 , Gn5 , v112 + .byte W12 + .byte Gn5 , v076 + .byte W12 + .byte Gn5 , v116 + .byte W12 + .byte Gn5 , v112 + .byte W06 + .byte Gn5 , v080 + .byte W06 + .byte Gn5 , v112 + .byte W24 + .byte Gn5 , v072 + .byte W24 + .byte PEND + .byte PATT + .word mus_finecity_1_001 + .byte N03 , Gn5 , v112 + .byte W06 + .byte Gn5 , v092 + .byte W18 + .byte Gn5 , v116 + .byte W12 + .byte Gn5 , v112 + .byte W06 + .byte Gn5 , v080 + .byte W06 + .byte Gn5 , v112 + .byte W12 + .byte Gn5 , v076 + .byte W12 + .byte Gn5 , v072 + .byte W12 + .byte Gn5 , v112 + .byte W06 + .byte Gn5 , v080 + .byte W06 + .byte Gn5 , v112 + .byte W12 + .byte Gn5 , v076 + .byte W12 + .byte Gn5 , v116 + .byte W12 + .byte Gn5 , v112 + .byte W06 + .byte Gn5 , v080 + .byte W06 + .byte Gn5 , v112 + .byte W06 + .byte Gn5 , v088 + .byte W18 + .byte Gn5 , v072 + .byte W12 + .byte Gn5 , v112 + .byte W06 + .byte Gn5 , v080 + .byte W06 + .byte PATT + .word mus_finecity_1_004 + .byte PATT + .word mus_finecity_1_000 + .byte PATT + .word mus_finecity_1_000 + .byte PATT + .word mus_finecity_1_000 + .byte PATT + .word mus_finecity_1_000 + .byte PATT + .word mus_finecity_1_000 + .byte PATT + .word mus_finecity_1_000 + .byte PATT + .word mus_finecity_1_000 + .byte PATT + .word mus_finecity_1_000 + .byte PATT + .word mus_finecity_1_000 + .byte PATT + .word mus_finecity_1_000 + .byte PATT + .word mus_finecity_1_000 + .byte PATT + .word mus_finecity_1_000 + .byte PATT + .word mus_finecity_1_000 + .byte PATT + .word mus_finecity_1_000 + .byte PATT + .word mus_finecity_1_001 + .byte PATT + .word mus_finecity_1_001 + .byte PATT + .word mus_finecity_1_002 + .byte PATT + .word mus_finecity_1_003 + .byte PATT + .word mus_finecity_1_001 + .byte PATT + .word mus_finecity_1_001 + .byte PATT + .word mus_finecity_1_000 + .byte PATT + .word mus_finecity_1_000 + .byte PATT + .word mus_finecity_1_000 + .byte PATT + .word mus_finecity_1_000 + .byte PATT + .word mus_finecity_1_000 + .byte PATT + .word mus_finecity_1_000 + .byte GOTO + .word mus_finecity_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_finecity_2: + .byte KEYSH , mus_finecity_key+0 + .byte VOICE , 14 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 68*mus_finecity_mvl/mxv + .byte PAN , c_v+0 + .byte W48 +mus_finecity_2_B1: + .byte VOICE , 14 + .byte VOL , 68*mus_finecity_mvl/mxv + .byte N36 , Fs4 , v112 + .byte W24 + .byte N24 , Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte An3 + .byte W24 +mus_finecity_2_000: + .byte N24 , Fs4 , v112 + .byte W24 + .byte Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte An4 + .byte W24 + .byte PEND +mus_finecity_2_001: + .byte N24 , Bn4 , v112 + .byte W24 + .byte Gn4 + .byte W24 + .byte An4 + .byte W24 + .byte Fs4 + .byte W24 + .byte PEND + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte VOL , 52*mus_finecity_mvl/mxv + .byte W12 + .byte N12 , Gn4 + .byte W12 + .byte N24 , Fs4 + .byte W24 + .byte Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte VOICE , 17 + .byte PAN , c_v+0 + .byte VOL , 51*mus_finecity_mvl/mxv + .byte W36 + .byte N03 , Dn5 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Cs5 + .byte W12 + .byte Dn5 + .byte W12 + .byte N24 , En5 + .byte W12 + .byte W12 + .byte N06 , Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte N06 , Cs5 + .byte W12 + .byte N24 , An4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N36 , An4 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N06 , Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N12 , An4 + .byte W12 + .byte N06 , Bn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Cn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte N12 , An4 + .byte W12 + .byte N06 , Gn4 + .byte W24 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Gn4 + .byte W12 + .byte N24 , En4 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Gn4 + .byte W12 + .byte N12 , En5 + .byte W12 + .byte N06 , Dn5 + .byte W12 + .byte N12 , Cs5 + .byte W12 + .byte N06 , Bn4 + .byte W12 + .byte Cs5 + .byte W12 + .byte N36 , An4 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W12 + .byte N06 , Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N30 , An4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N24 , Gn4 + .byte W24 + .byte N06 , En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N96 , An4 + .byte W24 + .byte MOD , 5 + .byte W72 + .byte VOICE , 73 + .byte MOD , 0 + .byte W48 + .byte VOL , 46*mus_finecity_mvl/mxv + .byte N12 , Gn5 + .byte W12 + .byte N06 , Fs5 + .byte W12 + .byte En5 + .byte W12 + .byte N24 , Fs5 + .byte W12 + .byte MOD , 3 + .byte W12 + .byte 0 + .byte N06 , Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte N24 , En5 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N24 , Cs5 + .byte W24 + .byte N06 , En5 + .byte W12 + .byte N42 , Fs5 + .byte W12 + .byte MOD , 5 + .byte VOL , 46*mus_finecity_mvl/mxv + .byte W02 + .byte 44*mus_finecity_mvl/mxv + .byte W03 + .byte 41*mus_finecity_mvl/mxv + .byte W03 + .byte 39*mus_finecity_mvl/mxv + .byte W04 + .byte 39*mus_finecity_mvl/mxv + .byte W02 + .byte 36*mus_finecity_mvl/mxv + .byte W03 + .byte 34*mus_finecity_mvl/mxv + .byte W04 + .byte 31*mus_finecity_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 46*mus_finecity_mvl/mxv + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte Gn5 + .byte W12 + .byte An5 + .byte W12 + .byte N24 , Gn5 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , An5 + .byte W06 + .byte Gn5 + .byte W06 + .byte N24 , Fs5 + .byte W24 + .byte En5 + .byte W24 + .byte Fs5 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , Gn5 + .byte W18 + .byte N06 , Fs5 + .byte W18 + .byte N48 , En5 + .byte W24 + .byte MOD , 4 + .byte VOL , 46*mus_finecity_mvl/mxv + .byte W02 + .byte 43*mus_finecity_mvl/mxv + .byte W03 + .byte 41*mus_finecity_mvl/mxv + .byte W03 + .byte 39*mus_finecity_mvl/mxv + .byte W04 + .byte 37*mus_finecity_mvl/mxv + .byte W02 + .byte 36*mus_finecity_mvl/mxv + .byte W03 + .byte 34*mus_finecity_mvl/mxv + .byte W03 + .byte 31*mus_finecity_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 30*mus_finecity_mvl/mxv + .byte W02 + .byte 28*mus_finecity_mvl/mxv + .byte W03 + .byte 28*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W04 + .byte 46*mus_finecity_mvl/mxv + .byte N12 , Gn5 + .byte W18 + .byte N06 , Fs5 + .byte W18 + .byte N48 , En5 + .byte W12 + .byte MOD , 4 + .byte VOL , 46*mus_finecity_mvl/mxv + .byte W02 + .byte 44*mus_finecity_mvl/mxv + .byte W03 + .byte 41*mus_finecity_mvl/mxv + .byte W03 + .byte 39*mus_finecity_mvl/mxv + .byte W04 + .byte 37*mus_finecity_mvl/mxv + .byte W02 + .byte 35*mus_finecity_mvl/mxv + .byte W03 + .byte 31*mus_finecity_mvl/mxv + .byte W03 + .byte 30*mus_finecity_mvl/mxv + .byte W04 + .byte 28*mus_finecity_mvl/mxv + .byte W02 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 24*mus_finecity_mvl/mxv + .byte W03 + .byte 23*mus_finecity_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 46*mus_finecity_mvl/mxv + .byte N06 , Ds5 + .byte W06 + .byte N78 , En5 + .byte W06 + .byte W24 + .byte MOD , 6 + .byte VOL , 46*mus_finecity_mvl/mxv + .byte W02 + .byte 45*mus_finecity_mvl/mxv + .byte W03 + .byte 44*mus_finecity_mvl/mxv + .byte W03 + .byte 43*mus_finecity_mvl/mxv + .byte W04 + .byte 41*mus_finecity_mvl/mxv + .byte W05 + .byte 41*mus_finecity_mvl/mxv + .byte W03 + .byte 39*mus_finecity_mvl/mxv + .byte W06 + .byte 36*mus_finecity_mvl/mxv + .byte W03 + .byte 36*mus_finecity_mvl/mxv + .byte W03 + .byte 34*mus_finecity_mvl/mxv + .byte W04 + .byte 34*mus_finecity_mvl/mxv + .byte W02 + .byte 33*mus_finecity_mvl/mxv + .byte W03 + .byte 31*mus_finecity_mvl/mxv + .byte W03 + .byte 28*mus_finecity_mvl/mxv + .byte W04 + .byte 28*mus_finecity_mvl/mxv + .byte W02 + .byte 26*mus_finecity_mvl/mxv + .byte W06 + .byte 23*mus_finecity_mvl/mxv + .byte W04 + .byte 22*mus_finecity_mvl/mxv + .byte W02 + .byte 20*mus_finecity_mvl/mxv + .byte W03 + .byte 19*mus_finecity_mvl/mxv + .byte W03 + .byte 19*mus_finecity_mvl/mxv + .byte W04 + .byte VOICE , 14 + .byte MOD , 0 + .byte VOL , 63*mus_finecity_mvl/mxv + .byte PAN , c_v+11 + .byte N24 , An4 + .byte W24 + .byte Gn4 + .byte W24 + .byte Fs4 + .byte W24 + .byte Gn4 + .byte W24 + .byte VOICE , 14 + .byte VOL , 70*mus_finecity_mvl/mxv + .byte N24 , Fs4 + .byte W24 + .byte Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte An3 + .byte W24 + .byte PATT + .word mus_finecity_2_000 + .byte PATT + .word mus_finecity_2_001 + .byte VOICE , 48 + .byte VOL , 46*mus_finecity_mvl/mxv + .byte N24 , Gn3 , v112 + .byte W24 + .byte Fs3 + .byte W24 + .byte Dn3 + .byte W24 + .byte En3 + .byte W24 + .byte VOICE , 24 + .byte VOL , 55*mus_finecity_mvl/mxv + .byte N24 , Fs4 + .byte W24 + .byte Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte An3 + .byte W24 + .byte PATT + .word mus_finecity_2_000 + .byte PATT + .word mus_finecity_2_001 + .byte VOICE , 48 + .byte VOL , 48*mus_finecity_mvl/mxv + .byte N24 , Gn4 , v112 + .byte W24 + .byte Fs4 + .byte W24 + .byte Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte VOICE , 24 + .byte VOL , 57*mus_finecity_mvl/mxv + .byte N24 , Gn4 + .byte W24 + .byte Fs4 + .byte W24 + .byte Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte VOICE , 48 + .byte PAN , c_v+16 + .byte VOL , 48*mus_finecity_mvl/mxv + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte N24 , Fs3 + .byte W24 + .byte Dn3 + .byte W24 + .byte En3 + .byte W24 + .byte VOICE , 24 + .byte PAN , c_v+0 + .byte VOL , 48*mus_finecity_mvl/mxv + .byte W48 + .byte N12 , Fn4 + .byte W12 + .byte N06 , En4 + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte N06 , Gn4 + .byte W12 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , Cn5 + .byte W12 + .byte N24 , As4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , Cn5 + .byte W36 + .byte N36 , As4 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N24 , Gs4 + .byte W24 + .byte N06 , Gn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N72 , Bn4 + .byte W24 + .byte MOD , 6 + .byte W48 + .byte 0 + .byte W24 + .byte W48 + .byte N12 , Cn5 + .byte W12 + .byte N06 , Bn4 + .byte W12 + .byte N12 , Cn5 + .byte W12 + .byte N06 , Dn5 + .byte W12 + .byte N24 , En5 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , Dn5 + .byte W12 + .byte N24 , Cn5 + .byte W24 + .byte N06 , Gn4 + .byte W36 + .byte N12 , Cn5 + .byte W12 + .byte MOD , 4 + .byte N06 , Bn4 + .byte W12 + .byte MOD , 0 + .byte N06 , An4 + .byte W12 + .byte N24 , Bn4 + .byte W24 + .byte N06 , Cn5 + .byte W12 + .byte N24 , Gn4 + .byte W24 + .byte N12 , Fs4 + .byte W12 + .byte N06 , Fn4 + .byte W12 + .byte N12 , Fs4 + .byte W12 + .byte N06 , Gn4 + .byte W12 + .byte N12 , Gs4 + .byte W12 + .byte N06 , An4 + .byte W12 + .byte N12 , As4 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte VOL , 52*mus_finecity_mvl/mxv + .byte N24 , Gs4 + .byte W24 + .byte En4 + .byte W24 + .byte Fs4 + .byte W24 + .byte Bn3 + .byte W24 + .byte Gs4 + .byte W24 + .byte En4 + .byte W24 + .byte Fs4 + .byte W24 + .byte Bn4 + .byte W24 + .byte Cs5 + .byte W24 + .byte An4 + .byte W24 + .byte Bn4 + .byte W24 + .byte Gs4 + .byte W24 + .byte VOICE , 48 + .byte VOL , 46*mus_finecity_mvl/mxv + .byte W12 + .byte N12 , An3 + .byte W12 + .byte N24 , Gs3 + .byte W24 + .byte Dn3 + .byte W24 + .byte En3 + .byte W24 + .byte GOTO + .word mus_finecity_2_B1 + .byte VOL , 42*mus_finecity_mvl/mxv + .byte PAN , c_v+0 + .byte FINE + +@********************** Track 3 **********************@ + +mus_finecity_3: + .byte KEYSH , mus_finecity_key+0 + .byte VOICE , 24 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 35*mus_finecity_mvl/mxv + .byte PAN , c_v-16 + .byte W48 +mus_finecity_3_B1: + .byte VOICE , 24 + .byte PAN , c_v-16 + .byte VOL , 45*mus_finecity_mvl/mxv + .byte N06 , An3 , v112 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N06 , An4 , v112 + .byte W06 + .byte N03 , Cs4 , v060 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte PAN , c_v+22 + .byte N06 , An4 , v112 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N06 , An4 , v112 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W06 + .byte N06 , An4 , v112 + .byte W06 + .byte Gn4 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , Fs4 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N06 , An4 , v112 + .byte W06 + .byte N03 , Cs4 , v064 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte PAN , c_v+23 + .byte N06 , Bn4 , v112 + .byte W06 + .byte N03 , Dn4 , v060 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N06 , An4 , v112 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N06 , An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , Fs4 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W06 + .byte N06 , En4 , v112 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W06 + .byte N06 , Fs4 , v112 + .byte W06 + .byte N03 , An3 , v064 + .byte W06 + .byte N06 , En4 , v112 + .byte W06 + .byte N03 , An3 , v064 + .byte W06 + .byte PAN , c_v+21 + .byte N06 , Dn4 , v112 + .byte W06 + .byte N03 , An3 , v064 + .byte W06 + .byte N06 , Cs4 , v112 + .byte W06 + .byte N03 , An3 , v064 + .byte W06 + .byte N06 , Bn3 , v112 + .byte W06 + .byte N03 , An3 , v064 + .byte W06 + .byte N06 , Cs4 , v112 + .byte W06 + .byte N03 , An3 , v064 + .byte W06 + .byte PAN , c_v-16 + .byte W12 + .byte N06 , Gn3 , v112 + .byte W12 + .byte N24 , Fs3 + .byte W24 + .byte PAN , c_v-21 + .byte N06 , Gs2 , v076 + .byte W06 + .byte An2 , v080 + .byte W06 + .byte Cs3 , v088 + .byte W06 + .byte En3 , v096 + .byte W06 + .byte PAN , c_v+21 + .byte N06 , Cs3 , v076 + .byte W06 + .byte En3 , v080 + .byte W06 + .byte An3 , v088 + .byte W06 + .byte Cs4 , v096 + .byte W06 + .byte PAN , c_v-16 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 49*mus_finecity_mvl/mxv + .byte N06 , An3 , v112 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N06 , An4 , v112 + .byte W06 + .byte N03 , Cs4 , v060 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte PAN , c_v+20 + .byte N06 , An4 , v112 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N06 , An4 , v112 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W06 + .byte N06 , An4 , v112 + .byte W06 + .byte Gn4 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , Fs4 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N06 , An4 , v112 + .byte W06 + .byte N03 , Cs4 , v064 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte PAN , c_v+21 + .byte N06 , Bn4 , v112 + .byte W06 + .byte N03 , Dn4 , v060 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N06 , An4 , v112 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N06 , An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , Fs4 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W06 + .byte N06 , En4 , v112 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W06 + .byte N06 , Fs4 , v112 + .byte W06 + .byte N03 , An3 , v064 + .byte W06 + .byte N06 , En4 , v112 + .byte W06 + .byte N03 , An3 , v064 + .byte W06 + .byte PAN , c_v+20 + .byte N06 , Dn4 , v112 + .byte W06 + .byte N03 , An3 , v064 + .byte W06 + .byte N06 , Cs4 , v112 + .byte W06 + .byte N03 , An3 , v064 + .byte W06 + .byte N06 , Bn3 , v112 + .byte W06 + .byte N03 , An3 , v064 + .byte W06 + .byte N06 , Cs4 , v112 + .byte W06 + .byte N03 , An3 , v064 + .byte W06 + .byte PAN , c_v-16 + .byte N24 , Gn3 , v112 + .byte W24 + .byte Fs3 + .byte W24 + .byte N06 , Gs2 , v064 + .byte W06 + .byte An2 , v076 + .byte W06 + .byte Cs3 , v088 + .byte W06 + .byte En3 , v096 + .byte W06 + .byte PAN , c_v+20 + .byte N06 , Cs3 , v072 + .byte W06 + .byte En3 , v080 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte PAN , c_v-16 + .byte VOL , 49*mus_finecity_mvl/mxv + .byte N06 , An3 , v112 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N06 , An4 , v112 + .byte W06 + .byte N03 , Cs4 , v060 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N06 , An4 , v112 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N06 , An4 , v112 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W06 + .byte N06 , An4 , v112 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N06 , An4 , v112 + .byte W06 + .byte N03 , Cs4 , v064 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N06 , Bn4 , v112 + .byte W06 + .byte N03 , Dn4 , v060 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N06 , An4 , v112 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N06 , An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W06 + .byte N06 , En4 , v112 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W06 + .byte N06 , Fs4 , v112 + .byte W06 + .byte N03 , An3 , v064 + .byte W06 + .byte N06 , En4 , v112 + .byte W06 + .byte N03 , An3 , v064 + .byte W06 + .byte N06 , Dn4 , v112 + .byte W06 + .byte N03 , An3 , v064 + .byte W06 + .byte N06 , Cs4 , v112 + .byte W06 + .byte N03 , An3 , v064 + .byte W06 + .byte N06 , Bn3 , v112 + .byte W06 + .byte N03 , An3 , v064 + .byte W06 + .byte N06 , Cs4 , v112 + .byte W06 + .byte N03 , An3 , v064 + .byte W06 + .byte VOL , 35*mus_finecity_mvl/mxv + .byte N24 , Gn3 , v112 + .byte W24 + .byte Fs3 + .byte W24 + .byte Dn3 + .byte W24 + .byte En3 + .byte W24 + .byte VOICE , 45 + .byte N24 , Gn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte Dn3 + .byte W24 + .byte En3 + .byte W24 + .byte VOICE , 24 + .byte VOL , 52*mus_finecity_mvl/mxv + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte N24 , Fs3 + .byte W24 + .byte PAN , c_v-26 + .byte N06 , Bn2 , v072 + .byte W06 + .byte Dn3 , v076 + .byte W06 + .byte Gn3 , v080 + .byte W06 + .byte An3 + .byte W06 + .byte PAN , c_v+22 + .byte N06 , Gn3 , v068 + .byte W06 + .byte An3 , v076 + .byte W06 + .byte Dn4 , v080 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-16 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 73 + .byte N06 , Bn3 , v112 + .byte W06 + .byte N03 , En4 , v064 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte N06 , Bn4 , v112 + .byte W06 + .byte N03 , Ds4 , v060 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N06 , Bn4 , v112 + .byte W06 + .byte N03 , En4 , v064 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte N06 , Bn4 , v112 + .byte W06 + .byte N03 , En4 , v064 + .byte W06 + .byte N06 , Bn4 , v112 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N03 , En4 , v064 + .byte W06 + .byte Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte N06 , Bn4 , v112 + .byte W06 + .byte N03 , Ds4 , v064 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N06 , Cs5 , v112 + .byte W06 + .byte N03 , En4 , v060 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte N06 , Bn4 , v112 + .byte W06 + .byte N03 , En4 + .byte W06 + .byte N06 , Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N03 , En4 , v064 + .byte W06 + .byte N06 , Fs4 , v112 + .byte W06 + .byte N03 , En4 , v064 + .byte W06 + .byte N06 , Gs4 , v112 + .byte W06 + .byte N03 , Bn3 , v064 + .byte W06 + .byte N06 , Fs4 , v112 + .byte W06 + .byte N03 , Bn3 , v064 + .byte W06 + .byte N06 , En4 , v112 + .byte W06 + .byte N03 , Bn3 , v064 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte N03 , Bn3 , v064 + .byte W06 + .byte N06 , Cs4 , v112 + .byte W06 + .byte N03 , Bn3 , v064 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte N03 , Bn3 , v064 + .byte W06 + .byte VOICE , 24 + .byte VOL , 52*mus_finecity_mvl/mxv + .byte W12 + .byte N06 , An4 , v112 + .byte W12 + .byte N24 , Gs4 + .byte W24 + .byte N06 , Gs2 , v064 + .byte W06 + .byte An2 , v076 + .byte W06 + .byte Cs3 , v088 + .byte W06 + .byte En3 , v096 + .byte W06 + .byte PAN , c_v+20 + .byte N06 , Cs3 , v072 + .byte W06 + .byte En3 , v080 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte GOTO + .word mus_finecity_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_finecity_4: + .byte KEYSH , mus_finecity_key+0 + .byte VOICE , 45 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+16 + .byte VOL , 37*mus_finecity_mvl/mxv + .byte W48 +mus_finecity_4_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 17 + .byte W36 + .byte N03 , Bn4 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , As4 + .byte W12 + .byte Bn4 + .byte W12 + .byte N24 , Cs5 + .byte W12 + .byte W12 + .byte N06 , Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte N12 , An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N06 , An4 + .byte W12 + .byte N24 , En4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N36 , Cn4 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N06 , An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N12 , Bn3 + .byte W12 + .byte N06 , An3 + .byte W24 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Cn4 + .byte W12 + .byte N30 , Gn3 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Bn3 + .byte W12 + .byte N12 , Gn4 + .byte W12 + .byte N06 , Fs4 + .byte W12 + .byte N12 , En4 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte N36 , Cs4 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W12 + .byte N06 , As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N30 , Dn4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte N06 , Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte N48 , Cs4 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N24 , En4 + .byte W24 + .byte Gn4 + .byte W24 + .byte PAN , c_v+24 + .byte MOD , 0 + .byte VOL , 31*mus_finecity_mvl/mxv + .byte W48 + .byte N12 , En5 + .byte W12 + .byte N06 , Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 3 + .byte W12 + .byte 0 + .byte N06 , En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte N24 , Cs5 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N24 , Gn4 + .byte W24 + .byte N06 , An4 + .byte W12 + .byte N42 , Cn5 + .byte W12 + .byte MOD , 5 + .byte VOL , 28*mus_finecity_mvl/mxv + .byte W02 + .byte 27*mus_finecity_mvl/mxv + .byte W03 + .byte 25*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W04 + .byte 21*mus_finecity_mvl/mxv + .byte W02 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 13*mus_finecity_mvl/mxv + .byte W03 + .byte 12*mus_finecity_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 31*mus_finecity_mvl/mxv + .byte W12 + .byte N03 , Ds5 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte En5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N24 , En5 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte N24 , Ds5 + .byte W24 + .byte Bn4 + .byte W24 + .byte An4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte PAN , c_v-32 + .byte MOD , 0 + .byte VOL , 35*mus_finecity_mvl/mxv + .byte N06 , Cn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+24 + .byte N06 , Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte En5 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cs4 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+24 + .byte N06 , Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gn5 , v064 + .byte W06 + .byte N78 , An5 , v060 + .byte W06 + .byte W24 + .byte MOD , 6 + .byte VOL , 31*mus_finecity_mvl/mxv + .byte W05 + .byte 27*mus_finecity_mvl/mxv + .byte W07 + .byte 25*mus_finecity_mvl/mxv + .byte W05 + .byte 23*mus_finecity_mvl/mxv + .byte W07 + .byte 21*mus_finecity_mvl/mxv + .byte W05 + .byte 19*mus_finecity_mvl/mxv + .byte W07 + .byte 17*mus_finecity_mvl/mxv + .byte W05 + .byte 17*mus_finecity_mvl/mxv + .byte W07 + .byte 16*mus_finecity_mvl/mxv + .byte W05 + .byte 15*mus_finecity_mvl/mxv + .byte W07 + .byte 13*mus_finecity_mvl/mxv + .byte W05 + .byte 12*mus_finecity_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte VOL , 37*mus_finecity_mvl/mxv + .byte N06 , An5 , v112 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W18 + .byte Gn5 + .byte W06 + .byte An5 + .byte W12 + .byte N12 , En5 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_finecity_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_finecity_5: + .byte KEYSH , mus_finecity_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 44*mus_finecity_mvl/mxv + .byte W48 +mus_finecity_5_B1: +mus_finecity_5_000: + .byte N06 , En5 , v112 + .byte W24 + .byte En5 , v080 + .byte W24 + .byte En5 , v112 + .byte W24 + .byte En5 , v088 + .byte W24 + .byte PEND + .byte PATT + .word mus_finecity_5_000 + .byte PATT + .word mus_finecity_5_000 + .byte PATT + .word mus_finecity_5_000 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N12 , En5 , v112 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W60 + .byte En5 , v092 + .byte W24 + .byte En5 , v112 + .byte W12 + .byte W96 + .byte W12 + .byte En5 , v092 + .byte W84 + .byte W60 + .byte En5 , v096 + .byte W36 + .byte W60 + .byte N12 + .byte W24 + .byte En5 , v112 + .byte W12 + .byte PATT + .word mus_finecity_5_000 + .byte PATT + .word mus_finecity_5_000 + .byte PATT + .word mus_finecity_5_000 + .byte PATT + .word mus_finecity_5_000 + .byte PATT + .word mus_finecity_5_000 + .byte PATT + .word mus_finecity_5_000 + .byte PATT + .word mus_finecity_5_000 + .byte PATT + .word mus_finecity_5_000 + .byte PATT + .word mus_finecity_5_000 + .byte PATT + .word mus_finecity_5_000 + .byte PATT + .word mus_finecity_5_000 + .byte PATT + .word mus_finecity_5_000 + .byte PATT + .word mus_finecity_5_000 + .byte PATT + .word mus_finecity_5_000 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N12 , En5 , v112 + .byte W12 + .byte W96 + .byte W96 + .byte PATT + .word mus_finecity_5_000 + .byte PATT + .word mus_finecity_5_000 + .byte PATT + .word mus_finecity_5_000 + .byte PATT + .word mus_finecity_5_000 + .byte PATT + .word mus_finecity_5_000 + .byte PATT + .word mus_finecity_5_000 + .byte GOTO + .word mus_finecity_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_finecity_6: + .byte KEYSH , mus_finecity_key+0 + .byte VOICE , 83 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-63 + .byte VOL , 35*mus_finecity_mvl/mxv + .byte BEND , c_v+0 + .byte W48 +mus_finecity_6_B1: + .byte VOICE , 83 + .byte W06 + .byte N24 , Fs5 , v084 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Dn5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , En5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , An4 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Fs5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Dn5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , En5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , An5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Bn5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Gn5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , An5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N30 , Fs5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte W06 + .byte VOICE , 80 + .byte N12 , Gn4 , v112 + .byte W12 + .byte N24 , Fs4 + .byte W24 + .byte Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte VOICE , 80 + .byte BEND , c_v+0 + .byte N30 , Gn3 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Fs3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte BEND , c_v+0 + .byte N24 , Cs4 + .byte W24 + .byte N06 , An3 + .byte W12 + .byte N03 , Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte N24 , En3 + .byte W24 + .byte An3 + .byte W24 + .byte N36 + .byte W09 + .byte MOD , 3 + .byte W24 + .byte W03 + .byte N03 , Fs3 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N03 , An3 + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N36 , Fs3 + .byte W12 + .byte MOD , 3 + .byte W24 + .byte N06 , An3 + .byte W12 + .byte N03 , Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte MOD , 0 + .byte N12 , Ds3 + .byte W12 + .byte N24 , An3 + .byte W24 + .byte N06 , Bn3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N06 , Dn3 + .byte W12 + .byte MOD , 3 + .byte N03 , Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte MOD , 0 + .byte N03 , Gn3 + .byte N03 , Bn3 + .byte W12 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N06 + .byte W12 + .byte MOD , 3 + .byte N03 , Fs3 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte MOD , 0 + .byte N24 , An3 + .byte W24 + .byte N06 , Gn3 + .byte W12 + .byte MOD , 3 + .byte N03 , Fs3 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte MOD , 0 + .byte N03 , Cs4 + .byte W06 + .byte N03 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N24 , An3 + .byte W12 + .byte MOD , 3 + .byte W12 + .byte 0 + .byte N24 , Dn4 + .byte W24 + .byte MOD , 3 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N24 + .byte W24 + .byte MOD , 3 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N36 , Cs4 + .byte W24 + .byte MOD , 3 + .byte W12 + .byte N03 , An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte MOD , 0 + .byte N24 , En3 + .byte W24 + .byte An3 + .byte W24 + .byte N84 , Gn3 + .byte W24 + .byte MOD , 3 + .byte W60 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte MOD , 0 + .byte N48 , An3 + .byte W24 + .byte MOD , 3 + .byte W24 + .byte N24 , Cs4 + .byte W24 + .byte An3 + .byte W24 + .byte MOD , 0 + .byte N84 + .byte W24 + .byte MOD , 3 + .byte W60 + .byte N06 , Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte MOD , 0 + .byte N48 , Fs3 + .byte W24 + .byte MOD , 3 + .byte W24 + .byte N24 , En3 + .byte W24 + .byte Fs3 + .byte W24 +mus_finecity_6_000: + .byte MOD , 0 + .byte N96 , En4 , v112 + .byte W24 + .byte MOD , 3 + .byte W72 + .byte PEND + .byte PATT + .word mus_finecity_6_000 + .byte MOD , 0 + .byte N96 , Gn4 , v112 + .byte W24 + .byte MOD , 3 + .byte W48 + .byte 5 + .byte W24 + .byte VOICE , 83 + .byte MOD , 0 + .byte N06 , En3 + .byte W12 + .byte En3 , v036 + .byte W12 + .byte En3 , v112 + .byte W12 + .byte En3 , v036 + .byte W12 + .byte En3 , v112 + .byte W12 + .byte En3 , v036 + .byte W12 + .byte En3 , v112 + .byte W12 + .byte En3 , v036 + .byte W12 + .byte N24 , Fs4 , v112 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Dn4 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , En4 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , An3 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Fs4 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Dn4 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , En4 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , An4 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Bn4 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Gn4 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , An4 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Fs4 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte VOICE , 80 + .byte VOL , 35*mus_finecity_mvl/mxv + .byte N24 , Gn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte En3 + .byte W24 + .byte An3 + .byte W24 + .byte VOICE , 83 + .byte N24 , Fs5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Dn5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , En5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , An4 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Fs5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Dn5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , En5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , An5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Bn5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Gn5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , An5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Fs5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte VOICE , 80 + .byte VOL , 35*mus_finecity_mvl/mxv + .byte N24 , Gn3 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Fs3 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Dn3 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , An3 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Gn3 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Fs3 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Dn3 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , An3 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte W12 + .byte 29*mus_finecity_mvl/mxv + .byte N12 , Gn4 + .byte W03 + .byte VOL , 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Fs4 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Dn4 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , An4 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte W03 + .byte 26*mus_finecity_mvl/mxv + .byte W03 + .byte 22*mus_finecity_mvl/mxv + .byte W03 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte VOICE , 80 + .byte VOL , 26*mus_finecity_mvl/mxv + .byte N84 , Dn4 + .byte W84 + .byte N06 , Fn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N96 , Cn4 + .byte W96 + .byte N96 + .byte W96 + .byte VOICE , 83 + .byte N06 , Bn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte VOICE , 80 + .byte N84 , Dn4 + .byte W84 + .byte N06 , Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N96 , En4 + .byte W96 + .byte Cn4 + .byte W96 + .byte N96 + .byte W96 + .byte VOICE , 83 + .byte VOL , 35*mus_finecity_mvl/mxv + .byte N24 , Gs4 + .byte W12 + .byte VOL , 32*mus_finecity_mvl/mxv + .byte W02 + .byte 24*mus_finecity_mvl/mxv + .byte W01 + .byte 29*mus_finecity_mvl/mxv + .byte W02 + .byte 19*mus_finecity_mvl/mxv + .byte W01 + .byte 23*mus_finecity_mvl/mxv + .byte W02 + .byte 14*mus_finecity_mvl/mxv + .byte W01 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , En4 + .byte W12 + .byte VOL , 32*mus_finecity_mvl/mxv + .byte W02 + .byte 24*mus_finecity_mvl/mxv + .byte W01 + .byte 29*mus_finecity_mvl/mxv + .byte W02 + .byte 19*mus_finecity_mvl/mxv + .byte W01 + .byte 23*mus_finecity_mvl/mxv + .byte W02 + .byte 14*mus_finecity_mvl/mxv + .byte W01 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Fs4 + .byte W12 + .byte VOL , 32*mus_finecity_mvl/mxv + .byte W02 + .byte 24*mus_finecity_mvl/mxv + .byte W01 + .byte 29*mus_finecity_mvl/mxv + .byte W02 + .byte 19*mus_finecity_mvl/mxv + .byte W01 + .byte 23*mus_finecity_mvl/mxv + .byte W02 + .byte 14*mus_finecity_mvl/mxv + .byte W01 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Bn3 + .byte W12 + .byte VOL , 32*mus_finecity_mvl/mxv + .byte W02 + .byte 24*mus_finecity_mvl/mxv + .byte W01 + .byte 29*mus_finecity_mvl/mxv + .byte W02 + .byte 19*mus_finecity_mvl/mxv + .byte W01 + .byte 23*mus_finecity_mvl/mxv + .byte W02 + .byte 14*mus_finecity_mvl/mxv + .byte W01 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Gs4 + .byte W12 + .byte VOL , 32*mus_finecity_mvl/mxv + .byte W02 + .byte 24*mus_finecity_mvl/mxv + .byte W01 + .byte 29*mus_finecity_mvl/mxv + .byte W02 + .byte 19*mus_finecity_mvl/mxv + .byte W01 + .byte 23*mus_finecity_mvl/mxv + .byte W02 + .byte 14*mus_finecity_mvl/mxv + .byte W01 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , En4 + .byte W12 + .byte VOL , 32*mus_finecity_mvl/mxv + .byte W02 + .byte 24*mus_finecity_mvl/mxv + .byte W01 + .byte 29*mus_finecity_mvl/mxv + .byte W02 + .byte 19*mus_finecity_mvl/mxv + .byte W01 + .byte 23*mus_finecity_mvl/mxv + .byte W02 + .byte 14*mus_finecity_mvl/mxv + .byte W01 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Fs4 + .byte W12 + .byte VOL , 32*mus_finecity_mvl/mxv + .byte W02 + .byte 24*mus_finecity_mvl/mxv + .byte W01 + .byte 29*mus_finecity_mvl/mxv + .byte W02 + .byte 19*mus_finecity_mvl/mxv + .byte W01 + .byte 23*mus_finecity_mvl/mxv + .byte W02 + .byte 14*mus_finecity_mvl/mxv + .byte W01 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Bn4 + .byte W12 + .byte VOL , 32*mus_finecity_mvl/mxv + .byte W02 + .byte 24*mus_finecity_mvl/mxv + .byte W01 + .byte 29*mus_finecity_mvl/mxv + .byte W02 + .byte 19*mus_finecity_mvl/mxv + .byte W01 + .byte 23*mus_finecity_mvl/mxv + .byte W02 + .byte 14*mus_finecity_mvl/mxv + .byte W01 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Cs5 + .byte W12 + .byte VOL , 32*mus_finecity_mvl/mxv + .byte W02 + .byte 24*mus_finecity_mvl/mxv + .byte W01 + .byte 29*mus_finecity_mvl/mxv + .byte W02 + .byte 19*mus_finecity_mvl/mxv + .byte W01 + .byte 23*mus_finecity_mvl/mxv + .byte W02 + .byte 14*mus_finecity_mvl/mxv + .byte W01 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , An4 + .byte W12 + .byte VOL , 32*mus_finecity_mvl/mxv + .byte W02 + .byte 24*mus_finecity_mvl/mxv + .byte W01 + .byte 29*mus_finecity_mvl/mxv + .byte W02 + .byte 19*mus_finecity_mvl/mxv + .byte W01 + .byte 23*mus_finecity_mvl/mxv + .byte W02 + .byte 14*mus_finecity_mvl/mxv + .byte W01 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Bn4 + .byte W12 + .byte VOL , 32*mus_finecity_mvl/mxv + .byte W02 + .byte 24*mus_finecity_mvl/mxv + .byte W01 + .byte 29*mus_finecity_mvl/mxv + .byte W02 + .byte 19*mus_finecity_mvl/mxv + .byte W01 + .byte 23*mus_finecity_mvl/mxv + .byte W02 + .byte 14*mus_finecity_mvl/mxv + .byte W01 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Gs4 + .byte W12 + .byte VOL , 32*mus_finecity_mvl/mxv + .byte W02 + .byte 24*mus_finecity_mvl/mxv + .byte W01 + .byte 29*mus_finecity_mvl/mxv + .byte W02 + .byte 19*mus_finecity_mvl/mxv + .byte W01 + .byte 23*mus_finecity_mvl/mxv + .byte W02 + .byte 14*mus_finecity_mvl/mxv + .byte W01 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte W12 + .byte N12 , An4 + .byte W12 + .byte VOL , 35*mus_finecity_mvl/mxv + .byte N24 , Gs4 + .byte W12 + .byte VOL , 32*mus_finecity_mvl/mxv + .byte W02 + .byte 24*mus_finecity_mvl/mxv + .byte W01 + .byte 29*mus_finecity_mvl/mxv + .byte W02 + .byte 19*mus_finecity_mvl/mxv + .byte W01 + .byte 23*mus_finecity_mvl/mxv + .byte W02 + .byte 14*mus_finecity_mvl/mxv + .byte W01 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , Dn4 + .byte W12 + .byte VOL , 32*mus_finecity_mvl/mxv + .byte W02 + .byte 24*mus_finecity_mvl/mxv + .byte W01 + .byte 29*mus_finecity_mvl/mxv + .byte W02 + .byte 19*mus_finecity_mvl/mxv + .byte W01 + .byte 23*mus_finecity_mvl/mxv + .byte W02 + .byte 14*mus_finecity_mvl/mxv + .byte W01 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte 35*mus_finecity_mvl/mxv + .byte N24 , En4 + .byte W12 + .byte VOL , 32*mus_finecity_mvl/mxv + .byte W02 + .byte 24*mus_finecity_mvl/mxv + .byte W01 + .byte 29*mus_finecity_mvl/mxv + .byte W02 + .byte 19*mus_finecity_mvl/mxv + .byte W01 + .byte 23*mus_finecity_mvl/mxv + .byte W02 + .byte 14*mus_finecity_mvl/mxv + .byte W01 + .byte 17*mus_finecity_mvl/mxv + .byte W03 + .byte GOTO + .word mus_finecity_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_finecity_7: + .byte KEYSH , mus_finecity_key+0 + .byte VOICE , 39 + .byte LFOS , 44 + .byte XCMD , xIECV , 12 + .byte xIECV , 22 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 61*mus_finecity_mvl/mxv + .byte W48 +mus_finecity_7_B1: + .byte N06 , Dn2 , v112 + .byte W06 + .byte N12 , Dn2 , v036 + .byte W18 + .byte N06 , Dn2 , v112 + .byte W06 + .byte Dn2 , v036 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v036 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v036 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v036 + .byte W18 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v036 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v036 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte Fs1 + .byte W06 +mus_finecity_7_000: + .byte N30 , Gn1 , v112 + .byte W30 + .byte N06 , Gn1 , v036 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte N30 , Fs1 , v112 + .byte W30 + .byte N06 , Fs1 , v036 + .byte W06 + .byte Dn1 , v112 + .byte W06 + .byte Dn1 , v036 + .byte W06 + .byte PEND + .byte En2 , v112 + .byte W06 + .byte En2 , v036 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte N24 , En1 , v112 + .byte W24 + .byte Gn1 + .byte W24 + .byte An1 + .byte W24 +mus_finecity_7_001: + .byte N06 , En1 , v112 + .byte W06 + .byte En1 , v036 + .byte W30 + .byte N03 , En1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v036 + .byte W06 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v036 + .byte W06 + .byte PEND + .byte An1 , v112 + .byte W06 + .byte An1 , v036 + .byte W30 + .byte N03 , An1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte N06 , Gn1 + .byte W06 + .byte An1 + .byte W06 + .byte N12 , Gs1 , v096 + .byte W12 + .byte N06 , Fs1 , v112 + .byte W06 + .byte Fs1 , v036 + .byte W30 + .byte N03 , Fs1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte N24 , Fs1 , v112 + .byte W24 + .byte N06 , Ds1 + .byte W06 + .byte Ds1 , v036 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v036 + .byte W30 + .byte N03 , Fs1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds1 + .byte W06 + .byte Ds1 , v036 + .byte W06 + .byte N12 , Fs1 , v112 + .byte W12 + .byte N06 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N12 , Fn1 , v096 + .byte W12 + .byte N06 , En1 , v112 + .byte W06 + .byte En1 , v036 + .byte W30 + .byte N03 , En1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte N18 , Dn1 , v112 + .byte W18 + .byte N06 , Dn1 , v036 + .byte W06 + .byte Ds1 , v112 + .byte W06 + .byte Ds1 , v036 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v036 + .byte W30 + .byte N03 , En1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An1 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte N18 , An1 , v112 + .byte W18 + .byte N06 , An1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v036 + .byte W06 + .byte As1 , v112 + .byte W06 + .byte As1 , v036 + .byte W30 + .byte N03 , As1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte N12 , Dn2 , v112 + .byte W12 + .byte N06 , Dn2 , v036 + .byte W12 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v036 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte An1 , v036 + .byte W30 + .byte N03 , An1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte Gn1 , v036 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte An1 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte PATT + .word mus_finecity_7_001 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v036 + .byte W30 + .byte N03 , An1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte Gn1 , v036 + .byte W06 + .byte N18 , An1 , v112 + .byte W18 + .byte N06 , An1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v036 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v036 + .byte W30 + .byte N03 , Fs1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte N18 , Fs1 , v112 + .byte W18 + .byte N06 , Fs1 , v036 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v036 + .byte W30 + .byte N03 , Fs1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte N24 , Fs1 , v112 + .byte W24 + .byte N06 , Fn1 + .byte W06 + .byte Fn1 , v036 + .byte W06 + .byte Cn2 , v120 + .byte W12 + .byte N09 , Cn2 , v096 + .byte W12 + .byte N06 , Cn2 , v120 + .byte W12 + .byte N09 , Cn2 , v096 + .byte W12 + .byte N06 , Cn2 , v120 + .byte W12 + .byte N09 , Cn2 , v096 + .byte W12 + .byte N06 , Bn2 , v112 + .byte W06 + .byte Cn3 , v120 + .byte W06 + .byte N09 , Cn2 , v096 + .byte W12 + .byte N06 , Cs2 , v120 + .byte W12 + .byte N09 , Cs2 , v096 + .byte W12 + .byte N06 , Cs2 , v120 + .byte W12 + .byte N09 , Cs2 , v096 + .byte W12 + .byte N06 , Cs2 , v120 + .byte W12 + .byte N09 , Cs2 , v096 + .byte W12 + .byte N06 , Cn3 , v112 + .byte W06 + .byte Cs3 , v120 + .byte W06 + .byte N12 , Bn2 , v096 + .byte W12 + .byte N06 , An2 , v120 + .byte W12 + .byte N09 , An2 , v096 + .byte W12 + .byte N06 , An2 , v120 + .byte W12 + .byte N09 , An2 , v096 + .byte W12 + .byte N06 , An2 , v120 + .byte W12 + .byte N09 , An2 , v096 + .byte W12 + .byte N06 , An2 , v120 + .byte W12 + .byte N09 , An2 , v096 + .byte W12 + .byte N06 , An2 , v112 + .byte W06 + .byte An2 , v036 + .byte W18 + .byte An2 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn2 + .byte W12 + .byte N12 , An2 + .byte W12 + .byte N06 , Gn2 + .byte W06 + .byte An2 + .byte W06 + .byte N12 , En2 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Dn2 , v036 + .byte W18 + .byte Dn2 , v112 + .byte W06 + .byte Dn2 , v036 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v036 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v036 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v036 + .byte W18 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v036 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v036 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v036 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v036 + .byte W06 + .byte PATT + .word mus_finecity_7_000 + .byte N06 , Gs1 , v112 + .byte W06 + .byte An1 + .byte W06 + .byte En1 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte Ds1 , v112 + .byte W06 + .byte Ds1 , v036 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte An1 + .byte W06 + .byte N24 , Cs2 + .byte W24 + .byte N06 , Dn2 + .byte W06 + .byte Dn2 , v036 + .byte W18 + .byte Dn2 , v112 + .byte W06 + .byte Dn2 , v036 + .byte W06 + .byte En2 , v112 + .byte W06 + .byte En2 , v036 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v036 + .byte W06 + .byte N24 , Cs2 , v112 + .byte W24 + .byte N06 , An1 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v036 + .byte W18 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v036 + .byte W06 + .byte Dn2 , v112 + .byte W06 + .byte Dn2 , v036 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte N24 , An1 , v112 + .byte W24 + .byte N06 , Fs1 + .byte W06 + .byte Fs1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v036 + .byte W18 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v036 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v036 + .byte W06 + .byte N24 , Fs1 , v112 + .byte W24 + .byte N06 , Dn1 + .byte W06 + .byte Dn1 , v036 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte N24 , En1 , v112 + .byte W24 + .byte Gn1 + .byte W24 + .byte N12 , An1 + .byte W12 + .byte N06 , Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte An1 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte N24 , En1 , v112 + .byte W24 + .byte Gn1 + .byte W24 + .byte N18 , An1 + .byte W18 + .byte N06 , An1 , v036 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v036 + .byte W06 + .byte N24 , Gn1 , v112 + .byte W24 + .byte Gs1 + .byte W24 + .byte An1 + .byte W24 + .byte N06 , As1 + .byte W06 + .byte As1 , v036 + .byte W30 + .byte N03 , As1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn1 + .byte W06 + .byte Fn1 , v036 + .byte W06 + .byte N12 , Fn1 , v112 + .byte W12 + .byte N06 , As1 + .byte W06 + .byte As1 , v036 + .byte W06 + .byte Fn1 , v112 + .byte W06 + .byte Fn1 , v036 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte An1 , v036 + .byte W30 + .byte N03 , An1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte N12 , En1 , v112 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte An1 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte Gs1 , v036 + .byte W30 + .byte N03 , Gs1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds1 + .byte W06 + .byte Ds1 , v036 + .byte W06 + .byte N12 , Ds1 , v112 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte Gs1 , v036 + .byte W06 + .byte Ds1 , v112 + .byte W06 + .byte Ds1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v036 + .byte W30 + .byte N03 , Gn1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn1 + .byte W06 + .byte Dn1 , v036 + .byte W06 + .byte N12 , Dn1 , v112 + .byte W12 + .byte N06 , Gn1 + .byte W06 + .byte Gn1 , v036 + .byte W06 + .byte Dn1 , v112 + .byte W06 + .byte Dn1 , v036 + .byte W06 + .byte As1 , v112 + .byte W06 + .byte As1 , v036 + .byte W30 + .byte N03 , As1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn1 + .byte W06 + .byte Fn1 , v036 + .byte W06 + .byte N12 , Fn1 , v112 + .byte W12 + .byte N06 , As1 + .byte W06 + .byte As1 , v036 + .byte W18 + .byte Cn2 , v112 + .byte W06 + .byte Cn2 , v036 + .byte W30 + .byte N03 , Cn2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte Gn1 , v036 + .byte W06 + .byte N12 , Gn1 , v112 + .byte W12 + .byte N06 , Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , Gn1 + .byte W12 + .byte N06 , An1 , v120 + .byte W12 + .byte N09 , An1 , v096 + .byte W12 + .byte N06 , An1 , v120 + .byte W12 + .byte N09 , An1 , v096 + .byte W12 + .byte N06 , An1 , v120 + .byte W12 + .byte N09 , An1 , v096 + .byte W12 + .byte N06 , An2 , v120 + .byte W12 + .byte N09 , An1 , v096 + .byte W12 + .byte N06 , An1 , v120 + .byte W12 + .byte N09 , An1 , v096 + .byte W12 + .byte N06 , An1 , v120 + .byte W12 + .byte N09 , An1 , v096 + .byte W12 + .byte N06 , Dn2 , v120 + .byte W12 + .byte N12 , Dn2 , v096 + .byte W12 + .byte N06 , Dn3 , v120 + .byte W12 + .byte N12 , Cn3 , v096 + .byte W12 + .byte N30 , En2 , v112 + .byte W36 + .byte N06 + .byte W06 + .byte En2 , v036 + .byte W06 + .byte N30 , Ds2 , v112 + .byte W30 + .byte N06 , Ds2 , v036 + .byte W06 + .byte Ds2 , v112 + .byte W06 + .byte Ds2 , v036 + .byte W06 + .byte N30 , Cs2 , v112 + .byte W30 + .byte N06 , Cs2 , v036 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v036 + .byte W06 + .byte N30 , Bn1 , v112 + .byte W30 + .byte N06 , Bn1 , v036 + .byte W06 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v036 + .byte W06 + .byte N30 , An1 , v112 + .byte W30 + .byte N06 , An1 , v036 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte N30 , Gs1 , v112 + .byte W30 + .byte N06 , Gs1 , v036 + .byte W06 + .byte Gs1 , v112 + .byte W06 + .byte Gs1 , v036 + .byte W06 + .byte Fs2 , v112 + .byte W06 + .byte Fs2 , v036 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v036 + .byte W06 + .byte N24 , Fs1 , v112 + .byte W24 + .byte Gn1 + .byte W24 + .byte An1 + .byte W24 + .byte GOTO + .word mus_finecity_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_finecity_8: + .byte KEYSH , mus_finecity_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 70*mus_finecity_mvl/mxv + .byte N06 , Cn1 , v127 + .byte N42 , An2 , v060 + .byte W12 + .byte N06 , En1 , v127 + .byte W12 + .byte Cn1 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte En1 , v124 + .byte W06 + .byte N03 , Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 +mus_finecity_8_B1: + .byte VOL , 63*mus_finecity_mvl/mxv + .byte N06 , En1 , v112 + .byte N48 , An2 , v096 + .byte W24 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte En1 , v112 + .byte N24 , Gn2 , v080 + .byte W12 + .byte N06 , Cn1 , v127 + .byte W12 +mus_finecity_8_000: + .byte N06 , En1 , v112 + .byte N48 , An2 , v092 + .byte W24 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte En1 , v112 + .byte N24 , Gn2 , v080 + .byte W06 + .byte N06 , En1 , v112 + .byte W06 + .byte Cn1 , v127 + .byte W12 + .byte PEND +mus_finecity_8_001: + .byte N06 , En1 , v112 + .byte N48 , An2 , v096 + .byte W24 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte En1 , v112 + .byte N24 , Gn2 , v080 + .byte W12 + .byte N06 , Cn1 , v127 + .byte W12 + .byte PEND + .byte N06 + .byte N48 , An2 , v096 + .byte W12 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte En1 , v112 + .byte N24 , Gn2 , v080 + .byte W06 + .byte N06 , En1 , v112 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte N36 , An2 , v096 + .byte W24 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 + .byte W06 + .byte Cn1 , v084 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte En1 + .byte W24 +mus_finecity_8_002: + .byte N06 , Cn1 , v120 + .byte W24 + .byte En1 , v112 + .byte W12 + .byte Cn1 + .byte W06 + .byte Cn1 , v084 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte En1 + .byte W24 + .byte PEND + .byte PATT + .word mus_finecity_8_002 + .byte PATT + .word mus_finecity_8_002 + .byte PATT + .word mus_finecity_8_002 + .byte PATT + .word mus_finecity_8_002 + .byte PATT + .word mus_finecity_8_002 + .byte N06 , Cn1 , v120 + .byte W24 + .byte En1 , v112 + .byte W12 + .byte Cn1 + .byte W06 + .byte Cn1 , v084 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W06 + .byte N06 + .byte W06 + .byte En1 + .byte W12 + .byte Cn1 , v120 + .byte N48 , An2 , v080 + .byte W24 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 + .byte W06 + .byte Cn1 , v084 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte En1 + .byte W24 + .byte Cn1 , v124 + .byte W24 + .byte En1 , v112 + .byte W12 + .byte Cn1 + .byte W06 + .byte Cn1 , v084 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte En1 + .byte W24 + .byte Cn1 + .byte W24 + .byte En1 + .byte W12 + .byte Cn1 + .byte W06 + .byte Cn1 , v084 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte En1 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte En1 , v112 + .byte W12 + .byte Cn1 + .byte W06 + .byte Cn1 , v084 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte En1 + .byte W12 + .byte N06 + .byte W12 +mus_finecity_8_003: + .byte N06 , En1 , v120 + .byte W24 + .byte En1 , v112 + .byte W12 + .byte Cn1 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_finecity_8_003 + .byte N06 , En1 , v124 + .byte W24 + .byte En1 , v112 + .byte W12 + .byte Cn1 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn1 , v124 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 +mus_finecity_8_004: + .byte N06 , En1 , v112 + .byte N48 , An2 , v088 + .byte W24 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte En1 , v112 + .byte N24 , Gn2 , v080 + .byte W12 + .byte N06 , Cn1 , v127 + .byte W12 + .byte PEND + .byte PATT + .word mus_finecity_8_000 + .byte PATT + .word mus_finecity_8_001 +mus_finecity_8_005: + .byte N06 , En1 , v112 + .byte N48 , An2 , v092 + .byte W24 + .byte N06 , Cn1 , v127 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte En1 , v112 + .byte N24 , Gn2 , v080 + .byte W06 + .byte N06 , En1 , v112 + .byte W06 + .byte Cn1 , v127 + .byte W12 + .byte PEND + .byte PATT + .word mus_finecity_8_004 + .byte N06 , En1 , v112 + .byte N48 , An2 , v088 + .byte W24 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte N24 , Gn2 , v080 + .byte W06 + .byte N06 , En1 , v112 + .byte W06 + .byte Cn1 + .byte W12 + .byte PATT + .word mus_finecity_8_004 + .byte PATT + .word mus_finecity_8_005 + .byte N06 , En1 , v112 + .byte N48 , An2 , v088 + .byte W24 + .byte N06 , Cn1 , v127 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte En1 , v112 + .byte N24 , Gn2 , v080 + .byte W06 + .byte N06 , En1 , v112 + .byte W06 + .byte Cn1 , v127 + .byte W12 + .byte Cn1 , v120 + .byte N48 , An2 , v088 + .byte W12 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte N24 , An2 , v060 + .byte W06 + .byte N06 , En1 , v112 + .byte W06 + .byte Cn1 + .byte W12 +mus_finecity_8_006: + .byte N06 , Cn1 , v120 + .byte W18 + .byte N03 , Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte En1 + .byte W24 + .byte PEND + .byte Cn1 , v120 + .byte W18 + .byte N03 , Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte En1 , v092 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte En1 + .byte W06 + .byte Dn1 + .byte W18 + .byte Cn1 , v120 + .byte W18 + .byte N03 , Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 + .byte W06 + .byte Cn1 , v084 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte En1 + .byte W24 + .byte En1 , v120 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W06 + .byte Cn1 , v084 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word mus_finecity_8_006 + .byte N06 , Cn1 , v120 + .byte W18 + .byte N03 , Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W12 + .byte En1 + .byte W24 + .byte N06 + .byte W18 + .byte N03 , Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v127 + .byte W12 + .byte En1 , v112 + .byte W24 + .byte N06 + .byte W12 + .byte Cn1 , v127 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v127 + .byte W12 + .byte PATT + .word mus_finecity_8_004 + .byte N06 , En1 , v112 + .byte N48 , An2 , v088 + .byte W24 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte En1 , v112 + .byte N24 , Gn2 , v080 + .byte W06 + .byte N06 , En1 , v112 + .byte W06 + .byte Cn1 , v127 + .byte W12 + .byte En1 , v112 + .byte N48 , An2 , v092 + .byte W24 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte En1 , v112 + .byte N24 , Gn2 , v080 + .byte W12 + .byte N06 , Cn1 , v127 + .byte W12 + .byte Cn1 , v120 + .byte N48 , An2 , v092 + .byte W12 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte N24 , An2 , v056 + .byte W06 + .byte N06 , En1 , v112 + .byte W06 + .byte Cn1 + .byte W12 + .byte GOTO + .word mus_finecity_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_finecity_9: + .byte KEYSH , mus_finecity_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 18 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 35*mus_finecity_mvl/mxv + .byte W48 +mus_finecity_9_B1: +mus_finecity_9_000: + .byte VOICE , 6 + .byte VOL , 35*mus_finecity_mvl/mxv + .byte N06 , An4 , v112 + .byte W06 + .byte N03 , Dn5 , v064 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte N06 , An5 , v112 + .byte W06 + .byte N03 , Cs5 , v060 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte N06 , An5 , v112 + .byte W06 + .byte N03 , Dn5 , v064 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte N06 , An5 , v112 + .byte W06 + .byte N03 , Dn5 , v064 + .byte W06 + .byte N06 , An5 , v112 + .byte W06 + .byte Gn5 + .byte W06 + .byte PEND +mus_finecity_9_001: + .byte N06 , Fs5 , v112 + .byte W06 + .byte N03 , Dn5 , v064 + .byte W06 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte N06 , An5 , v112 + .byte W06 + .byte N03 , Cs5 , v064 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte N06 , Bn5 , v112 + .byte W06 + .byte N03 , Dn5 , v060 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte N06 , An5 , v112 + .byte W06 + .byte N03 , Dn5 + .byte W06 + .byte N06 , An5 + .byte W06 + .byte Gn5 + .byte W06 + .byte PEND +mus_finecity_9_002: + .byte N06 , Fs5 , v112 + .byte W06 + .byte N03 , Dn5 , v064 + .byte W06 + .byte N06 , En5 , v112 + .byte W06 + .byte N03 , Dn5 , v064 + .byte W06 + .byte N06 , Fs5 , v112 + .byte W06 + .byte N03 , An4 , v064 + .byte W06 + .byte N06 , En5 , v112 + .byte W06 + .byte N03 , An4 , v064 + .byte W06 + .byte N06 , Dn5 , v112 + .byte W06 + .byte N03 , An4 , v064 + .byte W06 + .byte N06 , Cs5 , v112 + .byte W06 + .byte N03 , An4 , v064 + .byte W06 + .byte N06 , Bn4 , v112 + .byte W06 + .byte N03 , An4 , v064 + .byte W06 + .byte N06 , Cs5 , v112 + .byte W06 + .byte N03 , An4 , v064 + .byte W06 + .byte PEND + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte VOL , 44*mus_finecity_mvl/mxv + .byte W12 + .byte N12 , Bn2 , v112 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte Bn2 + .byte W24 + .byte Cs3 + .byte W24 + .byte VOICE , 5 + .byte PAN , c_v+63 + .byte VOL , 35*mus_finecity_mvl/mxv + .byte N30 , Bn3 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , As3 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte En4 + .byte W24 + .byte N06 , Cs4 + .byte W12 + .byte N03 , Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N24 , An3 + .byte W24 + .byte Cs4 + .byte W24 + .byte N36 , Cn4 + .byte W09 + .byte MOD , 5 + .byte W24 + .byte W03 + .byte N03 , Bn3 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N03 , Cn4 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte N36 , Bn3 + .byte W12 + .byte MOD , 3 + .byte W24 + .byte N06 , Ds4 + .byte W12 + .byte N03 , Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte MOD , 0 + .byte N12 , Fs3 + .byte W12 + .byte N24 , Ds4 + .byte W24 + .byte N06 , Fs4 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte N06 , Gn3 + .byte W12 + .byte MOD , 4 + .byte N03 , Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte MOD , 0 + .byte N03 , Dn4 + .byte W12 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N06 , Bn3 + .byte W12 + .byte MOD , 4 + .byte N03 , As3 + .byte W06 + .byte N06 , Bn3 + .byte W06 + .byte MOD , 0 + .byte N24 , Cs4 + .byte W24 + .byte N06 , An3 + .byte W12 + .byte MOD , 4 + .byte N03 , Gs3 + .byte W06 + .byte N06 , An3 + .byte W06 + .byte MOD , 0 + .byte N03 , En4 + .byte W06 + .byte N03 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte N24 , Cs4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N24 , Fn4 + .byte W24 + .byte MOD , 5 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N24 , En4 + .byte W24 + .byte MOD , 4 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N36 + .byte W24 + .byte MOD , 3 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte N03 , En4 + .byte W06 + .byte MOD , 0 + .byte N24 , An3 + .byte W24 + .byte Cs4 + .byte W24 + .byte N84 , Bn3 + .byte W24 + .byte MOD , 4 + .byte W60 + .byte N06 , Dn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte MOD , 0 + .byte N48 , Cs4 + .byte W24 + .byte MOD , 4 + .byte W24 + .byte N24 , En4 + .byte W24 + .byte Cs4 + .byte W24 + .byte MOD , 0 + .byte N84 , Cn4 + .byte W24 + .byte MOD , 4 + .byte W60 + .byte N06 , Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte MOD , 0 + .byte N48 , Bn3 + .byte W24 + .byte MOD , 4 + .byte W24 + .byte N24 , Ds4 + .byte W24 + .byte Fs4 + .byte W24 +mus_finecity_9_003: + .byte MOD , 0 + .byte N96 , Gn4 , v112 + .byte W24 + .byte MOD , 3 + .byte W72 + .byte PEND + .byte PATT + .word mus_finecity_9_003 + .byte MOD , 0 + .byte N96 , An4 , v112 + .byte W24 + .byte MOD , 6 + .byte W72 + .byte 0 + .byte N06 + .byte W24 + .byte Gn4 + .byte W24 + .byte Fs4 + .byte W24 + .byte Gn4 + .byte W24 + .byte VOICE , 6 + .byte N06 , An4 + .byte W06 + .byte N03 , Dn5 , v064 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte N06 , An5 , v112 + .byte W06 + .byte N03 , Cs5 , v060 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte N06 , An5 , v112 + .byte W06 + .byte N03 , Dn5 , v064 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte N06 , An5 , v112 + .byte W06 + .byte N03 , Dn5 , v064 + .byte W06 + .byte N06 , An5 , v112 + .byte W06 + .byte Gn5 + .byte W06 + .byte PATT + .word mus_finecity_9_001 + .byte PATT + .word mus_finecity_9_002 + .byte VOICE , 81 + .byte VOL , 35*mus_finecity_mvl/mxv + .byte N24 , Bn2 , v112 + .byte W24 + .byte An2 + .byte W24 + .byte Bn2 + .byte W24 + .byte Cs3 + .byte W24 + .byte PATT + .word mus_finecity_9_000 + .byte PATT + .word mus_finecity_9_001 + .byte PATT + .word mus_finecity_9_002 + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte VOL , 26*mus_finecity_mvl/mxv + .byte N24 , Bn2 , v112 + .byte W24 + .byte An2 + .byte W24 + .byte Bn2 + .byte W24 + .byte En3 + .byte W24 + .byte Bn3 + .byte W24 + .byte An3 + .byte W24 + .byte Bn3 + .byte W24 + .byte En4 + .byte W24 + .byte W12 + .byte N12 , Bn3 + .byte W12 + .byte N24 , An3 + .byte W24 + .byte Bn3 + .byte W24 + .byte Cs4 + .byte W24 + .byte VOICE , 5 + .byte PAN , c_v+63 + .byte VOL , 26*mus_finecity_mvl/mxv + .byte N84 , Fn4 + .byte W84 + .byte N06 , Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N96 , En4 + .byte W96 + .byte Ds4 + .byte W96 + .byte N06 , Gn2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte N84 , Fn4 + .byte W84 + .byte N06 , Cn5 + .byte W06 + .byte An4 + .byte W06 + .byte N96 , Gn4 + .byte W96 + .byte En4 + .byte W96 + .byte N48 , Dn4 + .byte W48 + .byte Fs4 + .byte W48 + .byte VOICE , 6 + .byte VOL , 35*mus_finecity_mvl/mxv + .byte N06 , Bn4 + .byte W06 + .byte N03 , En5 , v064 + .byte W06 + .byte Ds5 + .byte W06 + .byte En5 + .byte W06 + .byte N06 , Bn5 , v112 + .byte W06 + .byte N03 , Ds5 , v060 + .byte W06 + .byte En5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N06 , Bn5 , v112 + .byte W06 + .byte N03 , En5 , v064 + .byte W06 + .byte Ds5 + .byte W06 + .byte En5 + .byte W06 + .byte N06 , Bn5 , v112 + .byte W06 + .byte N03 , En5 , v064 + .byte W06 + .byte N06 , Bn5 , v112 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte N03 , En5 , v064 + .byte W06 + .byte Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte N06 , Bn5 , v112 + .byte W06 + .byte N03 , Ds5 , v064 + .byte W06 + .byte En5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N06 , Cs6 , v112 + .byte W06 + .byte N03 , En5 , v060 + .byte W06 + .byte Ds5 + .byte W06 + .byte En5 + .byte W06 + .byte N06 , Bn5 , v112 + .byte W06 + .byte N03 , En5 + .byte W06 + .byte N06 , Bn5 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte N03 , En5 , v064 + .byte W06 + .byte N06 , Fs5 , v112 + .byte W06 + .byte N03 , En5 , v064 + .byte W06 + .byte N06 , Gs5 , v112 + .byte W06 + .byte N03 , Bn4 , v064 + .byte W06 + .byte N06 , Fs5 , v112 + .byte W06 + .byte N03 , Bn4 , v064 + .byte W06 + .byte N06 , En5 , v112 + .byte W06 + .byte N03 , Bn4 , v064 + .byte W06 + .byte N06 , Ds5 , v112 + .byte W06 + .byte N03 , Bn4 , v064 + .byte W06 + .byte N06 , Cs5 , v112 + .byte W06 + .byte N03 , Bn4 , v064 + .byte W06 + .byte N06 , Ds5 , v112 + .byte W06 + .byte N03 , Bn4 , v064 + .byte W06 + .byte VOICE , 81 + .byte VOL , 26*mus_finecity_mvl/mxv + .byte W12 + .byte N12 , Cs4 , v112 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte N24 + .byte W24 + .byte Cs4 + .byte W24 + .byte GOTO + .word mus_finecity_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_finecity_10: + .byte KEYSH , mus_finecity_key+0 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 44*mus_finecity_mvl/mxv + .byte W48 +mus_finecity_10_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte N48 , En3 , v112 + .byte W48 + .byte VOICE , 24 + .byte VOL , 40*mus_finecity_mvl/mxv + .byte N06 , En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Bn4 + .byte W12 + .byte En5 + .byte W12 + .byte VOICE , 48 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte N48 , Gn3 + .byte W48 + .byte VOICE , 24 + .byte VOL , 41*mus_finecity_mvl/mxv + .byte N06 , An4 + .byte W12 + .byte Cs5 + .byte W12 + .byte En5 + .byte W12 + .byte An5 + .byte W12 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte N06 , Gn5 + .byte W24 + .byte VOICE , 48 + .byte N24 , En3 + .byte W24 + .byte Cn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N36 , Ds3 + .byte W12 + .byte W24 + .byte N24 , Fs3 + .byte W24 + .byte Ds3 + .byte W48 + .byte N96 , Dn3 + .byte W96 + .byte N48 , Cs3 + .byte W48 + .byte Gn3 + .byte W48 + .byte N44 , An3 + .byte W48 + .byte N48 , Gn3 + .byte W48 + .byte VOL , 28*mus_finecity_mvl/mxv + .byte N48 , An3 , v104 + .byte W48 + .byte VOICE , 24 + .byte VOL , 44*mus_finecity_mvl/mxv + .byte N06 , Gn4 , v112 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte PAN , c_v-32 + .byte VOL , 31*mus_finecity_mvl/mxv + .byte N12 , Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte En4 + .byte W12 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N06 , En4 + .byte W12 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N06 , En4 + .byte W12 + .byte N12 , Fs4 + .byte W12 + .byte N24 , Cs4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N12 , An3 + .byte W12 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N12 , En3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N24 , An4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N06 , Gn4 + .byte W12 + .byte N24 , An4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N06 , Gn4 + .byte W12 + .byte N12 , An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte Bn3 + .byte W12 + .byte N24 , En4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N36 , Bn3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte N12 + .byte W12 + .byte MOD , 0 + .byte N12 , As3 + .byte W12 + .byte Bn3 + .byte W12 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N36 , En4 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte VOICE , 48 + .byte MOD , 0 + .byte VOL , 36*mus_finecity_mvl/mxv + .byte N36 , Bn3 + .byte W36 + .byte N06 , An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N24 , Cs4 + .byte W24 + .byte N12 , En4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte An3 + .byte W06 + .byte VOICE , 24 + .byte VOL , 42*mus_finecity_mvl/mxv + .byte N06 , En3 + .byte W06 + .byte Cs3 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , An4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte Cs5 + .byte W06 + .byte PAN , c_v+22 + .byte N06 , En5 + .byte W06 + .byte Cs5 + .byte W06 + .byte An4 + .byte W06 + .byte En4 + .byte W06 + .byte VOICE , 48 + .byte VOL , 46*mus_finecity_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 73 + .byte VOL , 29*mus_finecity_mvl/mxv + .byte PAN , c_v-32 + .byte BEND , c_v+1 + .byte W48 + .byte N12 , Fn4 + .byte W12 + .byte N06 , En4 + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte N06 , Gn4 + .byte W12 + .byte N24 , Dn5 + .byte W24 + .byte N06 , Cn5 + .byte W12 + .byte N24 , As4 + .byte W24 + .byte N06 , Cn5 + .byte W36 + .byte N36 , As4 + .byte W18 + .byte VOL , 22*mus_finecity_mvl/mxv + .byte W06 + .byte 17*mus_finecity_mvl/mxv + .byte W05 + .byte 13*mus_finecity_mvl/mxv + .byte W07 + .byte 26*mus_finecity_mvl/mxv + .byte N24 , Gs4 + .byte W24 + .byte N06 , Gn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N72 , Bn4 + .byte W24 + .byte VOL , 26*mus_finecity_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 22*mus_finecity_mvl/mxv + .byte W07 + .byte 21*mus_finecity_mvl/mxv + .byte W05 + .byte 17*mus_finecity_mvl/mxv + .byte W07 + .byte 13*mus_finecity_mvl/mxv + .byte W05 + .byte 11*mus_finecity_mvl/mxv + .byte W07 + .byte 8*mus_finecity_mvl/mxv + .byte W05 + .byte 4*mus_finecity_mvl/mxv + .byte W07 + .byte 29*mus_finecity_mvl/mxv + .byte MOD , 2 + .byte W24 + .byte W48 + .byte N12 , Cn5 + .byte W12 + .byte N06 , Bn4 + .byte W12 + .byte N12 , Cn5 + .byte W12 + .byte N06 , Dn5 + .byte W12 + .byte N24 , En5 + .byte W24 + .byte N06 , Dn5 + .byte W12 + .byte N24 , Cn5 + .byte W24 + .byte N06 , Gn4 + .byte W36 + .byte N12 , Cn5 + .byte W12 + .byte N06 , Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte N24 , Bn4 + .byte W24 + .byte N06 , Cn5 + .byte W12 + .byte N24 , Gn4 + .byte W24 + .byte N12 , Fs4 + .byte W12 + .byte N06 , Fn4 + .byte W12 + .byte N12 , Fs4 + .byte W12 + .byte N06 , Gn4 + .byte W12 + .byte N12 , Gs4 + .byte W12 + .byte N06 , An4 + .byte W12 + .byte N12 , As4 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte VOL , 46*mus_finecity_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_finecity_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_finecity: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_finecity_pri @ Priority + .byte mus_finecity_rev @ Reverb. + + .word mus_finecity_grp + + .word mus_finecity_1 + .word mus_finecity_2 + .word mus_finecity_3 + .word mus_finecity_4 + .word mus_finecity_5 + .word mus_finecity_6 + .word mus_finecity_7 + .word mus_finecity_8 + .word mus_finecity_9 + .word mus_finecity_10 + + .end diff --git a/sound/songs/mus_friendly.s b/sound/songs/mus_friendly.s new file mode 100644 index 0000000000..9e8782a0cd --- /dev/null +++ b/sound/songs/mus_friendly.s @@ -0,0 +1,3305 @@ + .include "MPlayDef.s" + + .equ mus_friendly_grp, voicegroup_86826D0 + .equ mus_friendly_pri, 0 + .equ mus_friendly_rev, reverb_set+50 + .equ mus_friendly_mvl, 127 + .equ mus_friendly_key, 0 + .equ mus_friendly_tbs, 1 + .equ mus_friendly_exg, 0 + .equ mus_friendly_cmp, 1 + + .section .rodata + .global mus_friendly + .align 2 + +@********************** Track 1 **********************@ + +mus_friendly_1: + .byte KEYSH , mus_friendly_key+0 + .byte TEMPO , 172*mus_friendly_tbs/2 + .byte VOICE , 1 + .byte LFOS , 44 + .byte VOL , 53*mus_friendly_mvl/mxv + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , Bn5 , v112 + .byte W12 + .byte N03 , An5 , v088 + .byte W03 + .byte Gn5 + .byte W03 + .byte Fn5 , v084 + .byte W03 + .byte En5 + .byte W03 + .byte Dn5 , v076 + .byte W03 + .byte Cn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte An4 + .byte W03 + .byte Gn4 , v072 + .byte W03 + .byte Fn4 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Cn4 , v068 + .byte W03 + .byte Bn3 + .byte W03 + .byte An3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fn3 + .byte W04 + .byte VOL , 79*mus_friendly_mvl/mxv + .byte W08 + .byte VOICE , 17 + .byte N04 , Fs3 , v112 + .byte W08 + .byte Gs3 + .byte W08 + .byte As3 + .byte W08 +mus_friendly_1_B1: + .byte VOICE , 17 + .byte VOL , 83*mus_friendly_mvl/mxv + .byte N08 , Cs4 , v120 + .byte W08 + .byte Cs4 , v032 + .byte W08 + .byte N04 , Fs3 , v112 + .byte W08 + .byte N08 , Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W08 + .byte N32 , Bn3 , v112 + .byte W24 + .byte MOD , 8 + .byte W08 + .byte 0 + .byte W08 + .byte N04 + .byte W08 + .byte Cs4 + .byte W08 + .byte N08 , Ds4 , v120 + .byte W16 + .byte Dn4 , v112 + .byte W08 + .byte Ds4 + .byte W16 + .byte N16 , En4 + .byte W16 + .byte N02 , Ds4 , v080 + .byte W02 + .byte Cs4 + .byte W02 + .byte Bn3 + .byte W02 + .byte As3 , v076 + .byte W02 + .byte An3 , v072 + .byte W02 + .byte Gn3 + .byte W02 + .byte Fn3 + .byte W04 + .byte N04 , Ds4 , v112 + .byte W08 + .byte En4 + .byte W08 + .byte N08 , Fs4 + .byte W08 + .byte Cs4 + .byte W08 + .byte Cs4 , v032 + .byte W08 + .byte N04 , Fs3 , v112 + .byte W08 + .byte N08 , Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W08 + .byte N32 , Bn3 , v112 + .byte W24 + .byte MOD , 8 + .byte W08 + .byte 0 + .byte W08 + .byte N04 + .byte W08 + .byte Cs4 + .byte W08 + .byte N08 , Ds4 + .byte W16 + .byte Dn4 + .byte W08 + .byte Ds4 + .byte W12 + .byte N04 , Gn4 , v068 + .byte W04 + .byte N16 , Gs4 , v112 + .byte W16 + .byte N02 , Gn4 , v084 + .byte W02 + .byte Fn4 + .byte W02 + .byte En4 , v080 + .byte W02 + .byte Dn4 , v076 + .byte W02 + .byte Cn4 + .byte W02 + .byte Bn3 , v072 + .byte W06 + .byte N04 , En4 , v112 + .byte W08 + .byte Ds4 + .byte W08 + .byte Cs4 + .byte W08 + .byte N08 , Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W08 + .byte N04 , Gs3 , v112 + .byte W08 + .byte N08 , En4 + .byte W08 + .byte En4 , v032 + .byte W08 + .byte N40 , Cs4 , v112 + .byte W32 + .byte MOD , 8 + .byte W08 + .byte 0 + .byte N02 , Bn3 , v080 + .byte W02 + .byte As3 , v076 + .byte W02 + .byte Gs3 , v072 + .byte W02 + .byte Fs3 , v064 + .byte W02 + .byte En3 , v056 + .byte W02 + .byte Ds3 + .byte W06 + .byte W24 + .byte N24 , Gs3 , v112 + .byte W24 + .byte As3 + .byte W24 + .byte Bn3 + .byte W24 + .byte N40 , Ds4 + .byte W40 + .byte MOD , 8 + .byte N04 , En4 + .byte W04 + .byte Ds4 + .byte W04 + .byte MOD , 0 + .byte N24 , Cs4 + .byte W24 + .byte N08 , Bn3 + .byte W08 + .byte As3 + .byte W08 + .byte Bn3 + .byte W08 + .byte N10 , Cs4 + .byte W10 + .byte N02 , Cn4 , v080 + .byte W02 + .byte Bn3 , v076 + .byte W02 + .byte An3 , v072 + .byte W02 + .byte Gn3 , v064 + .byte W02 + .byte Fn3 , v056 + .byte W02 + .byte En3 + .byte W04 + .byte VOL , 83*mus_friendly_mvl/mxv + .byte N02 , Cs3 , v076 + .byte W02 + .byte Ds3 + .byte W02 + .byte En3 , v080 + .byte W02 + .byte Fs3 + .byte W02 + .byte Gs3 + .byte W02 + .byte As3 , v084 + .byte W02 + .byte Bn3 + .byte W02 + .byte Cs4 , v088 + .byte W02 + .byte Ds4 + .byte W02 + .byte En4 + .byte W02 + .byte Fs4 , v092 + .byte W02 + .byte Gs4 + .byte W02 + .byte As4 + .byte W02 + .byte VOICE , 1 + .byte N02 , Bn4 + .byte W02 + .byte N04 , Cn5 , v096 + .byte W04 + .byte N16 , Bn4 + .byte W16 + .byte N08 , Fs4 , v112 + .byte W08 + .byte En4 + .byte W08 + .byte Ds4 + .byte W08 + .byte N20 , Cs4 + .byte W20 + .byte N04 , Dn4 + .byte W04 + .byte N16 , Ds4 + .byte W16 + .byte N32 , Bn3 + .byte W40 + .byte N04 + .byte W08 + .byte Cs4 + .byte W08 + .byte N08 , Ds4 + .byte W40 + .byte En4 + .byte W24 + .byte Ds4 + .byte W08 + .byte En4 + .byte W08 + .byte En4 , v032 + .byte W08 + .byte Fs4 , v112 + .byte W08 + .byte Cs4 + .byte N08 , Fs4 , v032 + .byte W08 + .byte Cs4 + .byte W08 + .byte Fs3 , v112 + .byte W08 + .byte Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W08 + .byte N32 , Bn3 , v112 + .byte W40 + .byte N04 + .byte W08 + .byte Cs4 + .byte W08 + .byte N08 , Ds4 + .byte W36 + .byte N04 , Gn4 + .byte W04 + .byte N08 , Gs4 + .byte W24 + .byte Fs4 + .byte W16 + .byte N04 , Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte N08 , Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W08 + .byte Gs3 , v112 + .byte W08 + .byte En4 + .byte W08 + .byte En4 , v032 + .byte W08 + .byte N56 , Cs4 , v112 + .byte W56 + .byte N08 , Cs4 , v032 + .byte W24 + .byte Gs3 , v088 + .byte W10 + .byte N06 , Gn3 + .byte W06 + .byte N04 , Gs3 + .byte W08 + .byte N08 , As3 , v096 + .byte W08 + .byte An3 + .byte W08 + .byte N04 , As3 + .byte W08 + .byte N08 , Bn3 , v112 + .byte W08 + .byte As3 + .byte W08 + .byte N04 , Bn3 + .byte W08 + .byte N40 , Ds4 + .byte W40 + .byte N04 , En4 + .byte W04 + .byte Ds4 + .byte W04 + .byte N24 , Cs4 + .byte W24 + .byte N08 , Bn3 + .byte W08 + .byte As3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cs4 + .byte W72 + .byte VOICE , 17 + .byte VOL , 79*mus_friendly_mvl/mxv + .byte N08 , Bn3 + .byte W08 + .byte Bn3 , v032 + .byte W08 + .byte Cs4 , v112 + .byte W08 + .byte Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W16 + .byte Ds4 , v112 + .byte W08 + .byte Ds4 , v032 + .byte W16 + .byte Ds4 , v112 + .byte W16 + .byte Dn4 + .byte W08 + .byte N04 , Ds4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N08 , As4 + .byte W08 + .byte W24 + .byte Gn4 + .byte W08 + .byte Gn4 , v032 + .byte W16 + .byte Ds4 , v112 + .byte W08 + .byte Ds4 , v032 + .byte W16 + .byte Cs4 , v112 + .byte W08 + .byte Cs4 , v032 + .byte W16 + .byte VOICE , 1 + .byte VOL , 78*mus_friendly_mvl/mxv + .byte N20 , Cs4 , v112 + .byte W20 + .byte N04 , Dn4 + .byte W04 + .byte N08 , Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W08 + .byte N24 , Bn3 , v112 + .byte W24 + .byte N08 , As3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Bn3 , v032 + .byte W08 + .byte N32 , Cs4 , v112 + .byte W08 + .byte W24 + .byte N08 , Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W08 + .byte N24 , Bn3 , v112 + .byte W24 + .byte N08 , As3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Bn3 , v032 + .byte W08 + .byte Cs4 , v112 + .byte W08 + .byte VOICE , 17 + .byte VOL , 79*mus_friendly_mvl/mxv + .byte N08 , Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W16 + .byte Ds4 , v112 + .byte W08 + .byte Ds4 , v032 + .byte W16 + .byte N16 , Ds4 , v112 + .byte W16 + .byte N08 , Dn4 + .byte W08 + .byte N04 , Ds4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N08 , As4 + .byte W08 + .byte As4 , v032 + .byte W24 + .byte Gn4 , v112 + .byte W08 + .byte Fs4 + .byte W08 + .byte N04 , Gn4 + .byte W08 + .byte N08 , Gs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte N04 , Gs4 + .byte W08 + .byte N08 , As4 + .byte W08 + .byte An4 + .byte W08 + .byte N04 , As4 + .byte W08 + .byte VOICE , 1 + .byte VOL , 80*mus_friendly_mvl/mxv + .byte N24 + .byte W24 + .byte N08 , Bn4 + .byte W08 + .byte Bn4 , v032 + .byte W08 + .byte Gs4 , v112 + .byte W08 + .byte Gs4 , v032 + .byte W16 + .byte Gn4 , v112 + .byte W08 + .byte Gs4 + .byte W08 + .byte Gs4 , v032 + .byte W08 + .byte N32 , As4 , v112 + .byte W08 + .byte W24 + .byte N08 , Bn4 + .byte W08 + .byte Bn4 , v032 + .byte W08 + .byte N24 , Gs4 , v112 + .byte W24 + .byte N08 , Cs5 + .byte W08 + .byte Bn4 + .byte W08 + .byte Bn4 , v032 + .byte W08 + .byte As4 , v112 + .byte W08 + .byte VOICE , 17 + .byte VOL , 43*mus_friendly_mvl/mxv + .byte N92 , Bn5 + .byte W04 + .byte VOL , 42*mus_friendly_mvl/mxv + .byte W03 + .byte 38*mus_friendly_mvl/mxv + .byte W04 + .byte 27*mus_friendly_mvl/mxv + .byte W04 + .byte 17*mus_friendly_mvl/mxv + .byte W04 + .byte 14*mus_friendly_mvl/mxv + .byte W04 + .byte 12*mus_friendly_mvl/mxv + .byte W04 + .byte 10*mus_friendly_mvl/mxv + .byte W12 + .byte 12*mus_friendly_mvl/mxv + .byte W04 + .byte 16*mus_friendly_mvl/mxv + .byte W04 + .byte 18*mus_friendly_mvl/mxv + .byte W04 + .byte 24*mus_friendly_mvl/mxv + .byte W04 + .byte 29*mus_friendly_mvl/mxv + .byte W04 + .byte 37*mus_friendly_mvl/mxv + .byte W04 + .byte 43*mus_friendly_mvl/mxv + .byte W01 + .byte 43*mus_friendly_mvl/mxv + .byte W08 + .byte MOD , 4 + .byte W20 + .byte N04 , As5 + .byte W04 + .byte MOD , 0 + .byte N72 , Bn5 + .byte W04 + .byte VOL , 42*mus_friendly_mvl/mxv + .byte W03 + .byte 38*mus_friendly_mvl/mxv + .byte W04 + .byte 27*mus_friendly_mvl/mxv + .byte W04 + .byte 17*mus_friendly_mvl/mxv + .byte W04 + .byte 14*mus_friendly_mvl/mxv + .byte W04 + .byte 12*mus_friendly_mvl/mxv + .byte W04 + .byte 10*mus_friendly_mvl/mxv + .byte W12 + .byte 12*mus_friendly_mvl/mxv + .byte W04 + .byte 16*mus_friendly_mvl/mxv + .byte W04 + .byte 18*mus_friendly_mvl/mxv + .byte W04 + .byte 24*mus_friendly_mvl/mxv + .byte W04 + .byte 29*mus_friendly_mvl/mxv + .byte W04 + .byte 37*mus_friendly_mvl/mxv + .byte W04 + .byte 43*mus_friendly_mvl/mxv + .byte W01 + .byte 43*mus_friendly_mvl/mxv + .byte W08 + .byte MOD , 4 + .byte N08 , Gs5 + .byte W08 + .byte As5 + .byte W08 + .byte Bn5 + .byte W08 + .byte MOD , 0 + .byte N72 , As5 + .byte W04 + .byte VOL , 42*mus_friendly_mvl/mxv + .byte W03 + .byte 38*mus_friendly_mvl/mxv + .byte W04 + .byte 27*mus_friendly_mvl/mxv + .byte W04 + .byte 17*mus_friendly_mvl/mxv + .byte W04 + .byte 14*mus_friendly_mvl/mxv + .byte W04 + .byte 12*mus_friendly_mvl/mxv + .byte W04 + .byte 10*mus_friendly_mvl/mxv + .byte W12 + .byte 12*mus_friendly_mvl/mxv + .byte W04 + .byte 16*mus_friendly_mvl/mxv + .byte W04 + .byte 18*mus_friendly_mvl/mxv + .byte W04 + .byte 24*mus_friendly_mvl/mxv + .byte W04 + .byte 29*mus_friendly_mvl/mxv + .byte W04 + .byte 37*mus_friendly_mvl/mxv + .byte W04 + .byte 43*mus_friendly_mvl/mxv + .byte W01 + .byte 43*mus_friendly_mvl/mxv + .byte W08 + .byte MOD , 4 + .byte N08 , Gs5 + .byte W08 + .byte N04 , As5 + .byte W08 + .byte Gs5 + .byte W08 + .byte MOD , 0 + .byte N24 , Fs5 + .byte W24 + .byte VOICE , 1 + .byte VOL , 75*mus_friendly_mvl/mxv + .byte N08 , En5 , v084 + .byte W08 + .byte Cs5 + .byte W08 + .byte Gs4 , v080 + .byte W08 + .byte As4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Fs4 , v076 + .byte W08 + .byte En4 + .byte W08 + .byte Gs3 , v084 + .byte W08 + .byte As3 , v096 + .byte W08 + .byte GOTO + .word mus_friendly_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_friendly_2: + .byte KEYSH , mus_friendly_key+0 + .byte VOICE , 87 + .byte PAN , c_v+0 + .byte XCMD , xIECV , 12 + .byte xIECL , 8 + .byte BENDR , 12 + .byte VOL , 29*mus_friendly_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte N04 , Fs3 , v112 + .byte W08 + .byte Gs3 + .byte W08 + .byte As3 + .byte W08 +mus_friendly_2_B1: + .byte N08 , Cs4 , v120 + .byte W08 + .byte Cs4 , v032 + .byte W08 + .byte N04 , Fs3 , v112 + .byte W08 + .byte N08 , Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W08 + .byte N32 , Bn3 , v112 + .byte W40 + .byte N04 + .byte W08 + .byte Cs4 + .byte W08 + .byte N08 , Ds4 , v120 + .byte W16 + .byte Dn4 , v112 + .byte W08 + .byte Ds4 + .byte W16 + .byte N16 , En4 + .byte W16 + .byte N02 , Ds4 , v080 + .byte W02 + .byte Cs4 + .byte W02 + .byte Bn3 + .byte W02 + .byte As3 , v076 + .byte W02 + .byte An3 , v072 + .byte W02 + .byte Gn3 + .byte W02 + .byte Fn3 + .byte W04 + .byte N04 , Ds4 , v112 + .byte W08 + .byte En4 + .byte W08 + .byte N08 , Fs4 + .byte W08 + .byte Cs4 + .byte W08 + .byte Cs4 , v032 + .byte W08 + .byte N04 , Fs3 , v112 + .byte W08 + .byte N08 , Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W08 + .byte N32 , Bn3 , v112 + .byte W40 + .byte N04 + .byte W08 + .byte Cs4 + .byte W08 + .byte N08 , Ds4 + .byte W16 + .byte Dn4 + .byte W08 + .byte Ds4 + .byte W12 + .byte N04 , Gn4 , v068 + .byte W04 + .byte N16 , Gs4 , v112 + .byte W16 + .byte N02 , Gn4 , v084 + .byte W02 + .byte Fn4 + .byte W02 + .byte En4 , v080 + .byte W02 + .byte Dn4 , v076 + .byte W02 + .byte Cn4 + .byte W02 + .byte Bn3 , v072 + .byte W06 + .byte N04 , En4 , v112 + .byte W08 + .byte Ds4 + .byte W08 + .byte Cs4 + .byte W08 + .byte N08 , Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W08 + .byte N04 , Gs3 , v112 + .byte W08 + .byte N08 , En4 + .byte W08 + .byte En4 , v032 + .byte W08 + .byte N40 , Cs4 , v112 + .byte W40 + .byte N02 , Bn3 , v080 + .byte W02 + .byte As3 , v076 + .byte W02 + .byte Gs3 , v072 + .byte W02 + .byte Fs3 , v064 + .byte W02 + .byte En3 , v056 + .byte W02 + .byte Ds3 + .byte W06 + .byte W24 + .byte N24 , Gs3 , v112 + .byte W24 + .byte As3 + .byte W24 + .byte Bn3 + .byte W24 +mus_friendly_2_000: + .byte N40 , Ds4 , v112 + .byte W40 + .byte N04 , En4 + .byte W04 + .byte Ds4 + .byte W04 + .byte N24 , Cs4 + .byte W24 + .byte N08 , Bn3 + .byte W08 + .byte As3 + .byte W08 + .byte Bn3 + .byte W08 + .byte PEND + .byte N10 , Cs4 + .byte W10 + .byte N02 , Cn4 , v080 + .byte W02 + .byte Bn3 , v076 + .byte W02 + .byte An3 , v072 + .byte W02 + .byte Gn3 , v064 + .byte W02 + .byte Fn3 , v056 + .byte W02 + .byte En3 + .byte W04 + .byte Cs3 , v076 + .byte W02 + .byte Ds3 + .byte W02 + .byte En3 , v080 + .byte W02 + .byte Fs3 + .byte W02 + .byte Gs3 + .byte W02 + .byte As3 , v084 + .byte W02 + .byte Bn3 + .byte W02 + .byte Cs4 , v088 + .byte W02 + .byte Ds4 + .byte W02 + .byte En4 + .byte W02 + .byte Fs4 , v092 + .byte W02 + .byte Gs4 + .byte W02 + .byte BEND , c_v+0 + .byte N02 , As4 + .byte W02 + .byte Bn4 + .byte W02 + .byte N04 , Cn5 , v096 + .byte W04 + .byte N16 , Bn4 + .byte W16 + .byte N08 , Fs4 , v112 + .byte W08 + .byte En4 + .byte W08 + .byte Ds4 + .byte W08 + .byte N20 , Cs4 + .byte W20 + .byte N04 , Dn4 + .byte W04 + .byte N16 , Ds4 + .byte W16 + .byte N32 , Bn3 + .byte W40 + .byte N04 + .byte W08 + .byte Cs4 + .byte W08 + .byte N08 , Ds4 + .byte W40 + .byte En4 + .byte W24 + .byte Ds4 + .byte W08 + .byte En4 + .byte W08 + .byte En4 , v032 + .byte W08 + .byte Fs4 , v112 + .byte W08 + .byte Cs4 + .byte N08 , Fs4 , v032 + .byte W08 + .byte Cs4 + .byte W08 + .byte Fs3 , v112 + .byte W08 + .byte Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W08 + .byte N32 , Bn3 , v112 + .byte W40 + .byte N04 + .byte W08 + .byte Cs4 + .byte W08 + .byte N08 , Ds4 + .byte W36 + .byte N04 , Gn4 + .byte W04 + .byte N08 , Gs4 + .byte W24 + .byte Fs4 + .byte W16 + .byte N04 , Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte N08 , Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W08 + .byte Gs3 , v112 + .byte W08 + .byte En4 + .byte W08 + .byte En4 , v032 + .byte W08 + .byte N56 , Cs4 , v112 + .byte W56 + .byte N08 , Cs4 , v032 + .byte W24 + .byte Gs3 , v088 + .byte W10 + .byte N06 , Gn3 + .byte W06 + .byte N04 , Gs3 + .byte W08 + .byte N08 , As3 , v096 + .byte W08 + .byte An3 + .byte W08 + .byte N04 , As3 + .byte W08 + .byte N08 , Bn3 , v112 + .byte W08 + .byte As3 + .byte W08 + .byte N04 , Bn3 + .byte W08 + .byte PATT + .word mus_friendly_2_000 + .byte N08 , Cs4 , v112 + .byte W72 + .byte Bn3 + .byte W08 + .byte Bn3 , v032 + .byte W08 + .byte Cs4 , v112 + .byte W08 + .byte Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W16 + .byte Ds4 , v112 + .byte W08 + .byte Ds4 , v032 + .byte W16 + .byte Ds4 , v112 + .byte W16 + .byte Dn4 + .byte W08 + .byte N04 , Ds4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N08 , As4 + .byte W08 + .byte W24 + .byte Gn4 + .byte W08 + .byte Gn4 , v032 + .byte W16 + .byte Ds4 , v112 + .byte W08 + .byte Ds4 , v032 + .byte W16 + .byte Cs4 , v112 + .byte W08 + .byte Cs4 , v032 + .byte W16 + .byte N20 , Cs4 , v112 + .byte W20 + .byte N04 , Dn4 + .byte W04 + .byte N08 , Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W08 + .byte N24 , Bn3 , v112 + .byte W24 + .byte N08 , As3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Bn3 , v032 + .byte W08 + .byte N32 , Cs4 , v112 + .byte W08 + .byte W24 + .byte N08 , Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W08 + .byte N24 , Bn3 , v112 + .byte W24 + .byte N08 , As3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Bn3 , v032 + .byte W08 + .byte Cs4 , v112 + .byte W08 + .byte Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W16 + .byte Ds4 , v112 + .byte W08 + .byte Ds4 , v032 + .byte W16 + .byte N16 , Ds4 , v112 + .byte W16 + .byte N08 , Dn4 + .byte W08 + .byte N04 , Ds4 + .byte W08 + .byte N08 , Dn4 + .byte W08 + .byte As4 + .byte W08 + .byte As4 , v032 + .byte W24 + .byte Gn4 , v112 + .byte W08 + .byte Fs4 + .byte W08 + .byte N04 , Gn4 + .byte W08 + .byte N08 , Gs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte N04 , Gs4 + .byte W08 + .byte N08 , As4 + .byte W08 + .byte An4 + .byte W08 + .byte N04 , As4 + .byte W08 + .byte N24 + .byte W24 + .byte N08 , Bn4 + .byte W08 + .byte Bn4 , v032 + .byte W08 + .byte Gs4 , v112 + .byte W08 + .byte Gs4 , v032 + .byte W16 + .byte Gn4 , v112 + .byte W08 + .byte Gs4 + .byte W08 + .byte Gs4 , v032 + .byte W08 + .byte N32 , As4 , v112 + .byte W08 + .byte W24 + .byte N08 , Bn4 + .byte W08 + .byte Bn4 , v032 + .byte W08 + .byte N24 , Gs4 , v112 + .byte W24 + .byte N08 , Cs5 + .byte W08 + .byte Bn4 + .byte W08 + .byte Bn4 , v032 + .byte W08 + .byte As4 , v112 + .byte W08 + .byte BEND , c_v+0 + .byte N92 , Bn5 + .byte W92 + .byte N04 , As5 + .byte W04 + .byte N72 , Bn5 + .byte W72 + .byte N08 , Gs5 + .byte W08 + .byte As5 + .byte W08 + .byte Bn5 + .byte W08 + .byte N72 , As5 + .byte W72 + .byte N08 , Gs5 + .byte W08 + .byte N04 , As5 + .byte W08 + .byte Gs5 + .byte W08 + .byte N24 , Fs5 + .byte W24 + .byte N08 , En6 + .byte W08 + .byte Cs6 + .byte W08 + .byte Gs5 + .byte W08 + .byte As5 + .byte W08 + .byte Gs5 + .byte W08 + .byte Fs5 + .byte W08 + .byte En5 + .byte W08 + .byte Gs4 + .byte W08 + .byte As4 + .byte W08 + .byte GOTO + .word mus_friendly_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_friendly_3: + .byte KEYSH , mus_friendly_key+0 + .byte VOICE , 35 + .byte VOL , 85*mus_friendly_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_friendly_3_B1: +mus_friendly_3_000: + .byte PAN , c_v+0 + .byte N08 , Bn0 , v127 + .byte W08 + .byte Bn0 , v032 + .byte W16 + .byte PAN , c_v-32 + .byte N08 , Ds3 , v048 + .byte W08 + .byte Ds3 , v016 + .byte W08 + .byte N04 , Bn2 , v048 + .byte W04 + .byte Bn2 , v016 + .byte W04 + .byte PAN , c_v+0 + .byte N08 , Bn0 , v120 + .byte W08 + .byte Bn0 , v032 + .byte W16 + .byte PAN , c_v-32 + .byte N04 , Ds3 , v048 + .byte W04 + .byte N08 , Ds3 , v016 + .byte W20 + .byte PEND + .byte PAN , c_v+0 + .byte N08 , Bn0 , v127 + .byte W08 + .byte Bn0 , v032 + .byte W08 + .byte N04 , Bn0 , v112 + .byte W04 + .byte Bn0 , v032 + .byte W04 + .byte PAN , c_v-32 + .byte N08 , Ds3 , v048 + .byte W08 + .byte Ds3 , v016 + .byte W08 + .byte N04 , Bn2 , v048 + .byte W04 + .byte Bn2 , v016 + .byte W04 + .byte PAN , c_v+0 + .byte N08 , Bn0 , v120 + .byte W08 + .byte Bn0 , v032 + .byte W16 + .byte PAN , c_v-32 + .byte N04 , Ds3 , v048 + .byte W04 + .byte N08 , Ds3 , v016 + .byte W20 + .byte PAN , c_v+0 + .byte N08 , Bn0 , v127 + .byte W08 + .byte Bn0 , v032 + .byte W16 + .byte PAN , c_v-32 + .byte N08 , Ds3 , v048 + .byte W08 + .byte Ds3 , v016 + .byte W08 + .byte N04 , Bn2 , v064 + .byte W04 + .byte Bn2 , v032 + .byte W04 + .byte PAN , c_v+0 + .byte N08 , Bn0 , v120 + .byte W08 + .byte Bn0 , v032 + .byte W16 + .byte PAN , c_v-32 + .byte N04 , Ds3 , v048 + .byte W04 + .byte N08 , Ds3 , v016 + .byte W20 + .byte PAN , c_v+0 + .byte N08 , Bn0 , v127 + .byte W08 + .byte Bn0 , v032 + .byte W08 + .byte N04 , Bn0 , v112 + .byte W04 + .byte Bn0 , v032 + .byte W04 + .byte PAN , c_v-32 + .byte N08 , Ds3 , v048 + .byte W08 + .byte Ds3 , v016 + .byte W08 + .byte N04 , Bn2 , v064 + .byte W04 + .byte Bn2 , v032 + .byte W04 + .byte PAN , c_v+0 + .byte N08 , Bn0 , v120 + .byte W08 + .byte Bn0 , v032 + .byte W16 + .byte PAN , c_v-32 + .byte N04 , Ds3 , v048 + .byte W04 + .byte N08 , Ds3 , v016 + .byte W20 + .byte PAN , c_v+0 + .byte N08 , En1 , v127 + .byte W08 + .byte En1 , v032 + .byte W16 + .byte PAN , c_v-32 + .byte N08 , Gs3 , v052 + .byte W08 + .byte Gs3 , v016 + .byte W08 + .byte N04 , Bn2 , v048 + .byte W04 + .byte Bn2 , v016 + .byte W04 + .byte PAN , c_v+0 + .byte N08 , En1 , v120 + .byte W08 + .byte En1 , v032 + .byte W16 + .byte PAN , c_v-32 + .byte N04 , Gs3 , v048 + .byte W04 + .byte Gs3 , v016 + .byte W04 + .byte En3 , v048 + .byte W04 + .byte En3 , v016 + .byte W04 + .byte Gs3 , v048 + .byte W04 + .byte Gs3 , v016 + .byte W04 + .byte PAN , c_v+0 + .byte N08 , Cs1 , v127 + .byte W08 + .byte Cs1 , v032 + .byte W08 + .byte N04 , Cs1 , v108 + .byte W04 + .byte Cs1 , v032 + .byte W04 + .byte PAN , c_v-32 + .byte N08 , En3 , v048 + .byte W08 + .byte En3 , v016 + .byte W08 + .byte N04 , Bn2 , v048 + .byte W04 + .byte Bn2 , v016 + .byte W04 + .byte PAN , c_v+0 + .byte N08 , Cs1 , v120 + .byte W08 + .byte Cs1 , v032 + .byte W16 + .byte PAN , c_v-32 + .byte N04 , En3 , v048 + .byte W04 + .byte N08 , En3 , v016 + .byte W20 +mus_friendly_3_001: + .byte PAN , c_v+0 + .byte N08 , Fs1 , v127 + .byte W08 + .byte Fs1 , v032 + .byte W16 + .byte PAN , c_v-32 + .byte N08 , Cs3 , v048 + .byte W08 + .byte Cs3 , v016 + .byte W08 + .byte N04 , Cs3 , v048 + .byte W04 + .byte Cs3 , v016 + .byte W04 + .byte PAN , c_v+0 + .byte N08 , Fs1 , v120 + .byte W08 + .byte Fs1 , v032 + .byte W16 + .byte PAN , c_v-32 + .byte N04 , Cs3 , v048 + .byte W04 + .byte N08 , Cs3 , v016 + .byte W20 + .byte PEND + .byte PAN , c_v+0 + .byte N08 , Fs1 , v127 + .byte W08 + .byte Fs1 , v032 + .byte W08 + .byte N04 , Fs1 , v100 + .byte W04 + .byte Fs1 , v032 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , As3 , v080 + .byte W04 + .byte As3 , v032 + .byte W04 + .byte Fs3 , v072 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte As3 , v080 + .byte W04 + .byte As3 , v032 + .byte W04 + .byte PAN , c_v+0 + .byte N08 , Fs1 , v120 + .byte W08 + .byte PAN , c_v-32 + .byte N08 , As3 , v084 + .byte W08 + .byte As3 , v032 + .byte W08 + .byte N04 , Bn3 , v084 + .byte W04 + .byte N08 , Bn3 , v032 + .byte W12 + .byte N04 , Cs4 , v084 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte PATT + .word mus_friendly_3_000 + .byte PAN , c_v+0 + .byte N08 , Bn0 , v127 + .byte W08 + .byte Bn0 , v032 + .byte W08 + .byte N04 , Bn0 , v116 + .byte W04 + .byte Bn0 , v032 + .byte W04 + .byte PAN , c_v-32 + .byte N08 , Ds3 , v052 + .byte W08 + .byte Ds3 , v016 + .byte W08 + .byte N04 , Bn2 , v048 + .byte W04 + .byte Bn2 , v016 + .byte W04 + .byte PAN , c_v+0 + .byte N08 , Bn0 , v120 + .byte W08 + .byte Bn0 , v032 + .byte W16 + .byte PAN , c_v-32 + .byte N04 , Ds3 , v048 + .byte W04 + .byte N08 , Ds3 , v016 + .byte W20 + .byte PATT + .word mus_friendly_3_000 + .byte PAN , c_v+0 + .byte N08 , Bn0 , v127 + .byte W08 + .byte Bn0 , v032 + .byte W08 + .byte N04 , Bn0 , v116 + .byte W04 + .byte Bn0 , v032 + .byte W04 + .byte PAN , c_v-32 + .byte N08 , Ds3 , v048 + .byte W08 + .byte Ds3 , v016 + .byte W08 + .byte N04 , Bn2 , v048 + .byte W04 + .byte Bn2 , v016 + .byte W04 + .byte PAN , c_v+0 + .byte N08 , Bn0 , v120 + .byte W08 + .byte Bn0 , v032 + .byte W16 + .byte PAN , c_v-32 + .byte N04 , Ds3 , v048 + .byte W04 + .byte N08 , Ds3 , v016 + .byte W20 + .byte PAN , c_v+0 + .byte N08 , En1 , v127 + .byte W08 + .byte En1 , v032 + .byte W16 + .byte PAN , c_v-32 + .byte N08 , Gs3 , v048 + .byte W08 + .byte Gs3 , v016 + .byte W08 + .byte N04 , Bn2 , v048 + .byte W04 + .byte Bn2 , v016 + .byte W04 + .byte PAN , c_v+0 + .byte N08 , En1 , v120 + .byte W08 + .byte En1 , v032 + .byte W16 + .byte PAN , c_v-32 + .byte N04 , Gs3 , v048 + .byte W04 + .byte Gs3 , v016 + .byte W04 + .byte En3 , v048 + .byte W04 + .byte En3 , v016 + .byte W04 + .byte Gs3 , v048 + .byte W04 + .byte Gs3 , v016 + .byte W04 + .byte PAN , c_v+0 + .byte N08 , Cs1 , v127 + .byte W08 + .byte Cs1 , v032 + .byte W08 + .byte N04 , Cs1 , v120 + .byte W04 + .byte Cs1 , v032 + .byte W04 + .byte PAN , c_v-32 + .byte N08 , En3 , v048 + .byte W08 + .byte En3 , v016 + .byte W08 + .byte N04 , Bn2 , v048 + .byte W04 + .byte Bn2 , v016 + .byte W04 + .byte PAN , c_v+0 + .byte N08 , Cs1 , v127 + .byte W08 + .byte Cs1 , v032 + .byte W16 + .byte PAN , c_v-32 + .byte N04 , En3 , v048 + .byte W04 + .byte N08 , En3 , v016 + .byte W20 + .byte PATT + .word mus_friendly_3_001 + .byte PAN , c_v+0 + .byte N08 , Fs1 , v127 + .byte W08 + .byte Fs1 , v032 + .byte W08 + .byte N04 , Fs1 , v096 + .byte W04 + .byte Fs1 , v032 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , As3 , v080 + .byte W04 + .byte As3 , v032 + .byte W04 + .byte Fs3 , v072 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte As3 , v076 + .byte W04 + .byte As3 , v032 + .byte W04 + .byte PAN , c_v+0 + .byte N08 , Fs1 , v120 + .byte W08 + .byte PAN , c_v-32 + .byte N08 , As3 , v080 + .byte W08 + .byte As3 , v032 + .byte W08 + .byte N04 , Bn3 , v080 + .byte W04 + .byte N08 , Bn3 , v032 + .byte W12 + .byte N04 , Cs4 , v080 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte PAN , c_v+0 + .byte N08 , Ds1 , v127 + .byte W08 + .byte Ds1 , v032 + .byte W16 + .byte Ds1 , v120 + .byte W08 + .byte Ds1 , v032 + .byte W16 + .byte N24 , As0 , v116 + .byte W24 + .byte N08 , As0 , v032 + .byte W16 + .byte Ds1 , v124 + .byte W08 + .byte Ds1 , v032 + .byte W16 + .byte Ds1 , v112 + .byte W08 + .byte Ds1 , v032 + .byte W16 + .byte Ds1 , v112 + .byte W08 + .byte Gn1 , v120 + .byte W08 + .byte Gn1 , v032 + .byte W08 + .byte Ds1 , v112 + .byte W08 + .byte Cs1 + .byte W08 + .byte Cs1 , v032 + .byte W08 + .byte As0 , v112 + .byte W08 + .byte N16 , Gs1 , v127 + .byte W16 + .byte N08 , Bn1 , v112 + .byte W08 + .byte Ds2 + .byte W08 + .byte Ds2 , v032 + .byte W08 + .byte N24 , Gn1 , v120 + .byte W24 + .byte N08 , Bn1 , v112 + .byte W08 + .byte Ds2 + .byte W08 + .byte Ds2 , v032 + .byte W16 + .byte N16 , Fs1 , v127 + .byte W16 + .byte N08 , Gs1 , v112 + .byte W08 + .byte Fs1 + .byte W08 + .byte Fs1 , v032 + .byte W08 + .byte N32 , Fn1 , v112 + .byte W32 + .byte N08 , Ds1 , v120 + .byte W08 + .byte Ds1 , v032 + .byte W08 + .byte Fs1 , v112 + .byte W08 + .byte Gn1 , v127 + .byte W08 + .byte Gn1 , v032 + .byte W16 + .byte Gn1 , v112 + .byte W08 + .byte Gn1 , v032 + .byte W16 + .byte N16 , Ds1 , v112 + .byte W16 + .byte N08 , As0 , v120 + .byte W08 + .byte Gn1 , v112 + .byte W08 + .byte Gn1 , v032 + .byte W08 + .byte Ds1 , v124 + .byte W08 + .byte Ds1 , v032 + .byte W16 + .byte As1 , v116 + .byte W08 + .byte As1 , v032 + .byte W16 + .byte As1 , v112 + .byte W08 + .byte Ds2 + .byte W08 + .byte Ds2 , v032 + .byte W08 + .byte As1 , v112 + .byte W08 + .byte Gn1 , v120 + .byte W08 + .byte Gn1 , v032 + .byte W08 + .byte Ds1 , v112 + .byte W08 + .byte N16 , Gs1 , v127 + .byte W16 + .byte N08 , Bn1 , v112 + .byte W08 + .byte Ds2 + .byte W08 + .byte Ds2 , v032 + .byte W08 + .byte N16 , Gn1 , v120 + .byte W16 + .byte N08 , Gn1 , v032 + .byte W08 + .byte Bn1 , v112 + .byte W08 + .byte N24 , Ds2 + .byte W24 + .byte N16 , Fs1 , v127 + .byte W16 + .byte N08 , Gs1 , v112 + .byte W08 + .byte Fs1 + .byte W08 + .byte Fs1 , v032 + .byte W08 + .byte N32 , Fn1 , v120 + .byte W32 + .byte N08 , Ds1 , v112 + .byte W08 + .byte Ds1 , v032 + .byte W08 + .byte Fn1 , v112 + .byte W08 + .byte En1 , v127 + .byte W08 + .byte En1 , v032 + .byte W08 + .byte N04 , Bn0 , v112 + .byte W04 + .byte Bn0 , v032 + .byte W04 + .byte N08 , En1 , v112 + .byte W08 + .byte En1 , v032 + .byte W08 + .byte N04 , Bn0 , v112 + .byte W04 + .byte Bn0 , v032 + .byte W04 + .byte N08 , En1 , v120 + .byte W08 + .byte En1 , v032 + .byte W08 + .byte N04 , Bn0 , v112 + .byte W04 + .byte Bn0 , v032 + .byte W04 + .byte N08 , En1 , v112 + .byte W08 + .byte En1 , v032 + .byte W08 + .byte N04 , Bn0 , v112 + .byte W04 + .byte Bn0 , v032 + .byte W04 + .byte N08 , Fn1 , v127 + .byte W08 + .byte Fn1 , v032 + .byte W08 + .byte N04 , Bn0 , v112 + .byte W04 + .byte Bn0 , v032 + .byte W04 + .byte N08 , Fn1 , v112 + .byte W08 + .byte Fn1 , v032 + .byte W08 + .byte N04 , Bn0 , v112 + .byte W04 + .byte Bn0 , v032 + .byte W04 + .byte N08 , Fn1 , v120 + .byte W08 + .byte Fn1 , v032 + .byte W08 + .byte N04 , Bn0 , v112 + .byte W04 + .byte Bn0 , v032 + .byte W04 + .byte N08 , Fn1 , v112 + .byte W08 + .byte Fn1 , v032 + .byte W08 + .byte N04 , Bn0 , v112 + .byte W04 + .byte Bn0 , v032 + .byte W04 + .byte N08 , Fs1 , v127 + .byte W08 + .byte Fs1 , v032 + .byte W08 + .byte N04 , Cs1 , v112 + .byte W04 + .byte Cs1 , v032 + .byte W04 + .byte N08 , Fs1 , v112 + .byte W08 + .byte Fs1 , v032 + .byte W08 + .byte N04 , Cs1 , v112 + .byte W04 + .byte Cs1 , v032 + .byte W04 + .byte N08 , Fs1 , v120 + .byte W08 + .byte Fs1 , v032 + .byte W08 + .byte N04 , Cs1 , v112 + .byte W04 + .byte Cs1 , v032 + .byte W04 + .byte N08 , Fs1 , v112 + .byte W08 + .byte Fs1 , v032 + .byte W08 + .byte N04 , Cs1 , v112 + .byte W04 + .byte Cs1 , v032 + .byte W04 + .byte N08 , Fs1 , v127 + .byte W08 + .byte Fs1 , v032 + .byte W08 + .byte N04 , Fs1 , v112 + .byte W04 + .byte Fs1 , v032 + .byte W04 + .byte N08 , En1 , v112 + .byte W08 + .byte En1 , v032 + .byte W08 + .byte N04 , Cs1 , v112 + .byte W04 + .byte Cs1 , v032 + .byte W04 + .byte N08 , As0 , v120 + .byte W08 + .byte As0 , v032 + .byte W08 + .byte N04 , Gs0 , v112 + .byte W04 + .byte Gs0 , v032 + .byte W04 + .byte N08 , Fs0 , v112 + .byte W08 + .byte Fs0 , v032 + .byte W08 + .byte As0 , v112 + .byte W08 + .byte GOTO + .word mus_friendly_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_friendly_4: + .byte KEYSH , mus_friendly_key+0 + .byte VOICE , 46 + .byte PAN , c_v+0 + .byte VOL , 43*mus_friendly_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_friendly_4_B1: + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N04 , Bn2 , v112 + .byte W08 + .byte En3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Bn3 + .byte W08 + .byte En4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Bn4 + .byte W08 + .byte En5 + .byte W08 + .byte Bn4 + .byte W08 + .byte Gs4 + .byte W08 + .byte En4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Fn4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Bn4 + .byte W08 + .byte Fn5 + .byte W08 + .byte Bn4 + .byte W08 + .byte Gs4 + .byte W08 + .byte En4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Bn4 + .byte W08 + .byte Cs5 + .byte W08 + .byte Fs5 + .byte W08 + .byte Cs5 + .byte W08 + .byte As4 + .byte W08 + .byte Cs5 + .byte W08 + .byte As4 + .byte W08 + .byte Fs4 + .byte W08 + .byte PAN , c_v+63 + .byte BEND , c_v+4 + .byte W24 + .byte N08 , En6 , v056 + .byte W08 + .byte Cs6 + .byte W08 + .byte Gs5 + .byte W08 + .byte As5 + .byte W08 + .byte Gs5 + .byte W08 + .byte Fs5 + .byte W08 + .byte En5 + .byte W08 + .byte Gs4 + .byte W08 + .byte As4 + .byte W08 + .byte GOTO + .word mus_friendly_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_friendly_5: + .byte KEYSH , mus_friendly_key+0 + .byte VOICE , 80 + .byte PAN , c_v-64 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 54*mus_friendly_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W40 + .byte XCMD , xIECV , 8 + .byte xIECL , 12 + .byte W56 + .byte W96 +mus_friendly_5_B1: + .byte W24 + .byte N08 , Fs3 , v112 + .byte W08 + .byte Fs3 , v032 + .byte W08 + .byte N04 , Ds3 , v112 + .byte W04 + .byte Ds3 , v032 + .byte W28 + .byte Fs3 , v112 + .byte W04 + .byte N08 , Fs3 , v032 + .byte W20 +mus_friendly_5_000: + .byte W24 + .byte N08 , Gn3 , v112 + .byte W08 + .byte Gn3 , v032 + .byte W08 + .byte N04 , Ds3 , v112 + .byte W04 + .byte Ds3 , v032 + .byte W28 + .byte Gn3 , v112 + .byte W04 + .byte Gn3 , v032 + .byte W20 + .byte PEND +mus_friendly_5_001: + .byte W24 + .byte N08 , Gs3 , v112 + .byte W08 + .byte Gs3 , v032 + .byte W08 + .byte N04 , Ds3 , v112 + .byte W04 + .byte Ds3 , v032 + .byte W28 + .byte Gs3 , v112 + .byte W04 + .byte Gs3 , v032 + .byte W20 + .byte PEND +mus_friendly_5_002: + .byte W24 + .byte N08 , An3 , v112 + .byte W08 + .byte An3 , v032 + .byte W08 + .byte N04 , Ds3 , v112 + .byte W04 + .byte Ds3 , v032 + .byte W28 + .byte An3 , v112 + .byte W04 + .byte An3 , v032 + .byte W20 + .byte PEND +mus_friendly_5_003: + .byte W24 + .byte N08 , Bn3 , v112 + .byte W08 + .byte Bn3 , v032 + .byte W08 + .byte N04 , Gs3 , v112 + .byte W04 + .byte Gs3 , v032 + .byte W28 + .byte Bn3 , v112 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte Gs3 , v112 + .byte W04 + .byte Gs3 , v032 + .byte W04 + .byte Bn3 , v112 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte PEND + .byte W24 + .byte N08 , Gs3 , v112 + .byte W08 + .byte N04 , Gs3 , v032 + .byte W08 + .byte En3 , v112 + .byte W04 + .byte En3 , v032 + .byte W28 + .byte Gs3 , v112 + .byte W04 + .byte Gs3 , v032 + .byte W20 + .byte W24 + .byte N08 , As3 , v112 + .byte W08 + .byte N04 , As3 , v032 + .byte W08 + .byte Fs3 , v112 + .byte W04 + .byte Fs3 , v032 + .byte W28 + .byte As3 , v112 + .byte W04 + .byte As3 , v032 + .byte W20 + .byte VOL , 54*mus_friendly_mvl/mxv + .byte W24 + .byte N04 , Cs4 , v112 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Bn3 , v112 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte Cs4 , v112 + .byte W04 + .byte Cs4 , v032 + .byte W12 + .byte N08 , Ds4 , v112 + .byte W08 + .byte N04 , Ds4 , v032 + .byte W08 + .byte En4 , v112 + .byte W04 + .byte En4 , v032 + .byte W12 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte VOL , 54*mus_friendly_mvl/mxv + .byte W24 + .byte N08 , Fs3 , v112 + .byte W08 + .byte Fs3 , v032 + .byte W08 + .byte N04 , Ds3 , v112 + .byte W04 + .byte Ds3 , v032 + .byte W28 + .byte Fs3 , v112 + .byte W04 + .byte N08 , Fs3 , v032 + .byte W20 + .byte PATT + .word mus_friendly_5_000 + .byte PATT + .word mus_friendly_5_001 + .byte PATT + .word mus_friendly_5_002 + .byte PATT + .word mus_friendly_5_003 + .byte W24 + .byte N08 , Gs3 , v112 + .byte W08 + .byte Gs3 , v032 + .byte W08 + .byte N04 , En3 , v112 + .byte W04 + .byte En3 , v032 + .byte W28 + .byte Gs3 , v112 + .byte W04 + .byte Gs3 , v032 + .byte W20 + .byte W24 + .byte N08 , As3 , v112 + .byte W08 + .byte As3 , v032 + .byte W08 + .byte N04 , Fs3 , v112 + .byte W04 + .byte Fs3 , v032 + .byte W28 + .byte As3 , v112 + .byte W04 + .byte As3 , v032 + .byte W20 + .byte W24 + .byte Cs4 , v112 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Bn3 , v112 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte Cs4 , v112 + .byte W04 + .byte Cs4 , v032 + .byte W12 + .byte N08 , Ds4 , v112 + .byte W08 + .byte Ds4 , v032 + .byte W08 + .byte N04 , En4 , v112 + .byte W04 + .byte En4 , v032 + .byte W12 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N08 , As3 , v112 + .byte W08 + .byte As3 , v032 + .byte W16 + .byte As3 , v112 + .byte W08 + .byte As3 , v032 + .byte W16 + .byte N16 , As3 , v112 + .byte W16 + .byte N08 , Fs3 + .byte W08 + .byte N04 , As3 + .byte W04 + .byte As3 , v032 + .byte W04 + .byte Gn3 , v112 + .byte W04 + .byte Gn3 , v032 + .byte W04 + .byte N08 , Ds4 , v112 + .byte W08 + .byte Ds4 , v032 + .byte W24 + .byte As3 , v112 + .byte W08 + .byte As3 , v032 + .byte W16 + .byte Gn3 , v112 + .byte W08 + .byte Gn3 , v032 + .byte W16 + .byte Ds3 , v112 + .byte W08 + .byte Ds3 , v032 + .byte W16 + .byte Gs3 , v112 + .byte W08 + .byte Gs3 , v032 + .byte W08 + .byte Gn3 , v112 + .byte W08 + .byte Gs3 + .byte W08 + .byte Gs3 , v032 + .byte W08 + .byte As3 , v112 + .byte W08 + .byte Bn3 + .byte W08 + .byte Bn3 , v032 + .byte W08 + .byte As3 , v112 + .byte W08 + .byte Bn3 + .byte W08 + .byte Bn3 , v032 + .byte W08 + .byte Cs4 , v112 + .byte W08 + .byte Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W08 + .byte Dn4 , v112 + .byte W08 + .byte Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W08 + .byte N24 , Gs4 , v112 + .byte W08 + .byte MOD , 7 + .byte W16 + .byte 0 + .byte N08 , Ds4 + .byte W08 + .byte Cs4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte As3 + .byte W08 + .byte As3 , v032 + .byte W16 + .byte As3 , v112 + .byte W08 + .byte As3 , v032 + .byte W16 + .byte N16 , As3 , v112 + .byte W16 + .byte N08 , Fs3 + .byte W08 + .byte N04 , As3 + .byte W04 + .byte As3 , v032 + .byte W04 + .byte Fs3 , v112 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte N08 , Ds4 , v112 + .byte W08 + .byte Ds4 , v032 + .byte W24 + .byte As3 , v112 + .byte W08 + .byte An3 + .byte W08 + .byte N04 , As3 + .byte W04 + .byte As3 , v032 + .byte W04 + .byte N08 , Bn3 , v112 + .byte W08 + .byte As3 + .byte W08 + .byte N04 , Bn3 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte N08 , Cs4 , v112 + .byte W08 + .byte Cn4 + .byte W08 + .byte N04 , Cs4 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte N24 , Cs4 , v112 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N08 , Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W08 + .byte Bn3 , v112 + .byte W08 + .byte Bn3 , v032 + .byte W16 + .byte As3 , v112 + .byte W08 + .byte Bn3 + .byte W08 + .byte Bn3 , v032 + .byte W08 + .byte N32 , Cs4 , v112 + .byte W08 + .byte W08 + .byte MOD , 8 + .byte W16 + .byte 0 + .byte N08 , Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W08 + .byte N24 , Bn3 , v112 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N08 , En4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Ds4 , v032 + .byte W08 + .byte Cs4 , v112 + .byte W08 + .byte BEND , c_v+1 + .byte N04 , Bn2 , v064 + .byte W08 + .byte En3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Bn3 + .byte W08 + .byte En4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Bn4 + .byte W08 + .byte En5 + .byte W08 + .byte Bn4 + .byte W08 + .byte Gs4 + .byte W08 + .byte En4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Fn4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Bn4 + .byte W08 + .byte Fn5 + .byte W08 + .byte Bn4 + .byte W08 + .byte Gs4 + .byte W08 + .byte En4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Bn4 + .byte W08 + .byte Cs5 + .byte W08 + .byte Fs5 + .byte W08 + .byte Cs5 + .byte W08 + .byte As4 + .byte W08 + .byte Cs5 + .byte W08 + .byte As4 + .byte W08 + .byte Fs4 + .byte W08 + .byte BEND , c_v+0 + .byte W24 + .byte N08 , En6 , v056 + .byte W08 + .byte Cs6 + .byte W08 + .byte Gs5 + .byte W08 + .byte As5 + .byte W08 + .byte Gs5 + .byte W08 + .byte Fs5 + .byte W08 + .byte En5 + .byte W08 + .byte Gs4 + .byte W08 + .byte As4 + .byte W08 + .byte GOTO + .word mus_friendly_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_friendly_6: + .byte KEYSH , mus_friendly_key+0 + .byte VOICE , 83 + .byte PAN , c_v+63 + .byte XCMD , xIECV , 12 + .byte xIECL , 8 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 32*mus_friendly_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_friendly_6_B1: +mus_friendly_6_000: + .byte W48 + .byte N08 , Ds5 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte Ds4 + .byte W08 + .byte Ds5 + .byte W08 + .byte Ds4 + .byte W08 + .byte PEND + .byte W96 + .byte PATT + .word mus_friendly_6_000 + .byte W96 + .byte W48 + .byte N08 , En5 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Ds5 + .byte W08 + .byte Cs5 + .byte W08 + .byte N48 , Bn4 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N24 , As4 + .byte W24 + .byte Gs4 + .byte W24 + .byte N40 , Fs4 + .byte W24 + .byte MOD , 4 + .byte W16 + .byte 0 + .byte N04 , Gs4 + .byte W04 + .byte An4 + .byte W04 + .byte N48 , Gs4 + .byte W24 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N08 , As4 + .byte W08 + .byte Bn4 + .byte W08 + .byte Cs5 + .byte W08 + .byte Ds5 + .byte W08 + .byte En5 + .byte W08 + .byte Fs5 + .byte W56 +mus_friendly_6_001: + .byte W48 + .byte N08 , Bn5 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte Bn4 + .byte W08 + .byte Bn5 + .byte W08 + .byte Bn4 + .byte W08 + .byte PEND + .byte W96 + .byte PATT + .word mus_friendly_6_001 + .byte W96 + .byte W48 + .byte N08 , En6 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Ds6 + .byte W08 + .byte Cs6 + .byte W08 + .byte N48 , Gs5 + .byte W24 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N24 , Bn5 , v108 + .byte W24 + .byte Gs5 , v112 + .byte W24 + .byte N40 , As5 + .byte W24 + .byte MOD , 4 + .byte W16 + .byte 0 + .byte N04 , Bn5 + .byte W04 + .byte As5 + .byte W04 + .byte N48 , Gs5 + .byte W24 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N08 , As5 + .byte W16 + .byte Bn5 + .byte W08 + .byte Cs6 + .byte W16 + .byte Ds6 + .byte W08 + .byte En6 + .byte W48 + .byte W96 + .byte N04 , Ds5 + .byte W08 + .byte Ds6 + .byte W08 + .byte Ds5 + .byte W08 + .byte Ds6 + .byte W16 + .byte Ds5 + .byte W08 + .byte Ds6 + .byte W16 + .byte Ds5 + .byte W08 + .byte Ds6 + .byte W16 + .byte Ds5 + .byte W08 + .byte W96 + .byte W96 + .byte W96 + .byte N08 + .byte W08 + .byte N04 , Ds6 + .byte W08 + .byte Ds5 + .byte W08 + .byte Ds6 + .byte W16 + .byte Ds5 + .byte W08 + .byte Ds6 + .byte W16 + .byte Ds5 + .byte W08 + .byte Ds6 + .byte W16 + .byte Ds5 + .byte W08 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_friendly_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_friendly_7: + .byte KEYSH , mus_friendly_key+0 + .byte VOICE , 1 + .byte PAN , c_v+63 + .byte VOL , 45*mus_friendly_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte N12 , Ds6 , v120 + .byte W09 + .byte PAN , c_v+62 + .byte W03 + .byte c_v+60 + .byte N03 , Bn5 , v108 + .byte W02 + .byte PAN , c_v+55 + .byte W01 + .byte N03 , An5 + .byte W02 + .byte PAN , c_v+52 + .byte W01 + .byte N03 , Gn5 , v100 + .byte W02 + .byte PAN , c_v+42 + .byte W01 + .byte N03 , Fn5 + .byte W03 + .byte PAN , c_v+35 + .byte N03 , En5 , v096 + .byte W02 + .byte PAN , c_v+32 + .byte W01 + .byte N03 , Dn5 + .byte W02 + .byte PAN , c_v+26 + .byte W01 + .byte N03 , Cn5 + .byte W02 + .byte PAN , c_v+21 + .byte W01 + .byte N03 , Bn4 + .byte W03 + .byte PAN , c_v+16 + .byte N03 , An4 + .byte W02 + .byte PAN , c_v+12 + .byte W01 + .byte N03 , Gn4 + .byte W02 + .byte PAN , c_v+0 + .byte W01 + .byte N03 , Fn4 , v092 + .byte W02 + .byte PAN , c_v-9 + .byte W01 + .byte N03 , En4 + .byte W03 + .byte PAN , c_v-11 + .byte N03 , Dn4 + .byte W02 + .byte PAN , c_v-18 + .byte W01 + .byte N03 , Cn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte An3 + .byte W03 + .byte Gn3 , v088 + .byte W03 + .byte Fn3 + .byte W03 + .byte En3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cn3 + .byte W03 + .byte Bn2 + .byte W21 +mus_friendly_7_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_friendly_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_friendly_8: + .byte KEYSH , mus_friendly_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 81*mus_friendly_mvl/mxv + .byte N04 , Cn1 , v112 + .byte N04 , Fs1 + .byte W08 + .byte Fs1 , v060 + .byte W08 + .byte Fs1 , v112 + .byte W08 + .byte En1 + .byte N04 , Fs2 + .byte W16 + .byte Fs1 , v068 + .byte W08 + .byte Cn1 , v112 + .byte N04 , Fs1 + .byte W16 + .byte Fs1 , v064 + .byte W08 + .byte En1 , v112 + .byte N04 , Fs2 + .byte W08 + .byte Fs1 , v064 + .byte W08 + .byte Cn1 , v112 + .byte N04 , Fs1 + .byte W08 + .byte Cn1 + .byte N04 , Fs1 + .byte W08 + .byte Fs1 , v060 + .byte W08 + .byte Cn1 , v112 + .byte N04 , Fs1 + .byte W08 + .byte En1 + .byte N04 , Fs2 + .byte W16 + .byte Cn1 + .byte N04 , Fs1 , v068 + .byte W08 + .byte Cn1 , v112 + .byte N04 , Fs1 + .byte W16 + .byte En1 , v080 + .byte N04 , Fs1 , v064 + .byte W08 + .byte En1 , v112 + .byte N04 , Fs2 + .byte W08 + .byte Fs1 , v064 + .byte W08 + .byte Cn1 , v112 + .byte N04 , Fs1 + .byte W08 + .byte Cn1 + .byte N04 , Fs1 + .byte W08 + .byte Fs1 , v060 + .byte W08 + .byte Fs1 , v112 + .byte W08 + .byte En1 + .byte N04 , Fs2 + .byte W16 + .byte Fs1 , v068 + .byte W08 + .byte Cn1 , v112 + .byte N04 , Fs1 + .byte W16 + .byte Fs1 , v064 + .byte W08 + .byte En1 , v112 + .byte N04 , Fs2 + .byte W08 + .byte Fs1 , v064 + .byte W08 + .byte Cn1 , v112 + .byte N04 , Fs1 + .byte W08 + .byte En1 + .byte N04 , Fs1 + .byte W08 + .byte Fs1 , v060 + .byte W08 + .byte En1 , v112 + .byte N04 , Fs1 + .byte W08 + .byte Cn1 + .byte N04 , Fs2 + .byte W08 + .byte Cn1 + .byte W08 + .byte En1 + .byte N04 , Fs1 , v068 + .byte W08 + .byte Cn1 + .byte N04 , Fs1 , v112 + .byte W16 + .byte En1 + .byte N04 , Fs1 , v064 + .byte W08 + .byte Cn1 , v112 + .byte N04 , Fs2 + .byte W08 + .byte Cn1 + .byte N04 , Fs1 , v064 + .byte W04 + .byte Cn1 , v080 + .byte W04 + .byte En1 , v112 + .byte N04 , Fs1 + .byte W08 +mus_friendly_8_B1: + .byte VOL , 73*mus_friendly_mvl/mxv + .byte N04 , Cn1 , v112 + .byte N48 , An2 + .byte W24 + .byte N04 , En1 + .byte W24 + .byte Cn1 + .byte N04 , Fs1 + .byte W16 + .byte Fs1 , v064 + .byte W08 + .byte En1 , v112 + .byte N04 , Fs2 + .byte W08 + .byte Fs1 , v064 + .byte W08 + .byte Cn1 , v112 + .byte N04 , Fs2 , v080 + .byte W08 +mus_friendly_8_000: + .byte N04 , Cn1 , v112 + .byte N04 , Fs1 + .byte W08 + .byte Fs1 , v060 + .byte W08 + .byte Cn1 , v112 + .byte N04 , Fs1 + .byte W08 + .byte En1 + .byte N04 , Fs1 + .byte W16 + .byte Fs1 , v068 + .byte W08 + .byte Cn1 , v112 + .byte N04 , Fs1 + .byte W16 + .byte Fs1 , v064 + .byte W08 + .byte En1 , v112 + .byte N04 , Fs2 + .byte W08 + .byte Fs1 , v064 + .byte W08 + .byte Cn1 , v112 + .byte N04 , Fs1 + .byte W08 + .byte PEND +mus_friendly_8_001: + .byte N04 , Cn1 , v112 + .byte N04 , Fs1 + .byte W08 + .byte Fs1 , v060 + .byte W08 + .byte Fs1 , v112 + .byte W08 + .byte En1 + .byte N04 , Fs1 + .byte W16 + .byte Fs1 , v068 + .byte W08 + .byte Cn1 , v112 + .byte N04 , Fs1 + .byte W16 + .byte Fs1 , v064 + .byte W08 + .byte En1 , v112 + .byte N04 , Fs2 + .byte W08 + .byte Fs1 , v064 + .byte W08 + .byte Cn1 , v112 + .byte N04 , Fs2 , v080 + .byte W08 + .byte PEND + .byte PATT + .word mus_friendly_8_000 + .byte PATT + .word mus_friendly_8_001 +mus_friendly_8_002: + .byte N04 , Cn1 , v112 + .byte N04 , Fs1 + .byte W08 + .byte Fs1 , v060 + .byte W08 + .byte Cn1 , v112 + .byte N04 , Fs1 + .byte W08 + .byte En1 + .byte N04 , Fs1 + .byte W16 + .byte Cn1 + .byte N04 , Fs1 , v068 + .byte W08 + .byte Cn1 , v112 + .byte N04 , Fs1 + .byte W16 + .byte Fs1 , v064 + .byte W08 + .byte En1 , v112 + .byte N04 , Fs2 + .byte W08 + .byte Fs1 , v064 + .byte W08 + .byte Cn1 , v112 + .byte N04 , Fs1 + .byte W08 + .byte PEND +mus_friendly_8_003: + .byte N04 , Cn1 , v112 + .byte N04 , Fs1 + .byte W08 + .byte Fs1 , v060 + .byte W08 + .byte Fs1 , v112 + .byte W08 + .byte En1 + .byte N48 , An2 + .byte W24 + .byte N04 , Cn1 + .byte W24 + .byte En1 + .byte N48 , An2 + .byte W16 + .byte N04 , Cn1 + .byte W08 + .byte PEND + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte En1 + .byte N48 , An2 + .byte W08 + .byte N04 , En1 + .byte W08 + .byte N04 + .byte W08 + .byte Cn1 + .byte W08 + .byte En1 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte Cn1 + .byte N48 , An2 + .byte W24 + .byte N04 , En1 + .byte W24 + .byte Cn1 + .byte N04 , Fs1 + .byte W16 + .byte Fs1 , v064 + .byte W08 + .byte En1 , v112 + .byte N04 , Fs2 + .byte W08 + .byte Fs1 , v064 + .byte W08 + .byte Cn1 , v112 + .byte N04 , Fs2 , v080 + .byte W08 + .byte PATT + .word mus_friendly_8_002 + .byte PATT + .word mus_friendly_8_001 + .byte PATT + .word mus_friendly_8_002 + .byte PATT + .word mus_friendly_8_001 + .byte PATT + .word mus_friendly_8_002 + .byte PATT + .word mus_friendly_8_003 + .byte N04 , Cn1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte En1 + .byte N48 , An2 + .byte W16 + .byte N04 , Cn1 + .byte W08 + .byte En1 + .byte W08 + .byte N04 + .byte W08 + .byte Cn1 + .byte W08 + .byte N04 + .byte N04 , Fs2 + .byte W08 + .byte En1 + .byte N04 , Fs2 , v064 + .byte W08 + .byte Cn1 , v112 + .byte N04 , Fs1 + .byte W08 + .byte En1 + .byte N04 , Fs2 + .byte W16 + .byte Cn1 + .byte N04 , Fs2 + .byte W08 + .byte En1 + .byte N24 , As1 + .byte W16 + .byte N04 , Cn1 + .byte W08 + .byte En1 + .byte W16 + .byte N04 + .byte W08 + .byte Cn1 + .byte N24 , As1 + .byte W24 + .byte N04 , Dn3 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte En3 + .byte W08 + .byte N48 , An2 , v112 + .byte N04 , Dn3 , v064 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte En3 + .byte W08 + .byte Fs2 , v112 + .byte W16 + .byte Fs2 , v064 + .byte W08 + .byte Fs2 , v080 + .byte W16 + .byte Fs2 , v112 + .byte W08 + .byte Fs2 , v064 + .byte W16 + .byte Fs2 , v112 + .byte W08 + .byte Fs2 , v080 + .byte W16 + .byte Fs2 , v112 + .byte W08 + .byte Fs2 , v080 + .byte W04 + .byte Fs2 , v072 + .byte W04 + .byte Fs2 , v092 + .byte W08 + .byte Fs2 , v108 + .byte W08 + .byte Fs2 , v112 + .byte W16 + .byte Fs2 , v080 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte Fs2 , v112 + .byte W16 + .byte Fs2 , v080 + .byte W08 + .byte En1 , v112 + .byte N04 , Fs2 + .byte W16 + .byte Cn1 + .byte N04 , Fs2 + .byte W08 + .byte En1 + .byte N24 , As1 + .byte W16 + .byte N04 , Cn1 + .byte W08 + .byte En1 + .byte W16 + .byte Cn1 + .byte W08 + .byte Fs2 + .byte W16 + .byte N04 + .byte W08 + .byte En1 + .byte W04 + .byte En1 , v080 + .byte W04 + .byte N04 + .byte W08 + .byte En1 , v072 + .byte W08 + .byte En1 , v112 + .byte N24 , As1 + .byte W16 + .byte N04 , En1 + .byte W08 + .byte N04 + .byte N48 , An2 + .byte W16 + .byte N04 , En1 + .byte W08 + .byte Cn1 + .byte W16 + .byte N04 + .byte W08 + .byte Fs2 + .byte W08 + .byte Fs2 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte Fs2 , v068 + .byte W16 + .byte Fs2 , v112 + .byte W08 + .byte Fs2 , v068 + .byte W16 + .byte Fs2 , v112 + .byte W08 + .byte Fs2 , v068 + .byte W16 + .byte Fs2 , v112 + .byte W08 + .byte Fs2 , v068 + .byte W16 + .byte Fs2 , v112 + .byte W08 + .byte Fs2 , v068 + .byte W16 + .byte Fs2 , v112 + .byte W08 + .byte Fs2 , v104 + .byte W04 + .byte Fs2 , v072 + .byte W04 + .byte Fs2 , v092 + .byte W08 + .byte Fs2 , v096 + .byte W08 + .byte Fs2 , v112 + .byte W16 + .byte N04 + .byte W08 +mus_friendly_8_004: + .byte N04 , Fs2 , v068 + .byte W16 + .byte Fs2 , v112 + .byte W08 + .byte Fs2 , v068 + .byte W16 + .byte Fs2 , v112 + .byte W08 + .byte Fs2 , v068 + .byte W16 + .byte Fs2 , v112 + .byte W08 + .byte Fs2 , v068 + .byte W16 + .byte Fs2 , v112 + .byte W08 + .byte PEND + .byte PATT + .word mus_friendly_8_004 + .byte PATT + .word mus_friendly_8_004 + .byte N04 , Cn1 , v112 + .byte W08 + .byte Fs2 + .byte W08 + .byte Cn1 + .byte W08 + .byte En1 + .byte W08 + .byte Fs2 + .byte W08 + .byte Cn1 + .byte W08 + .byte En1 , v068 + .byte W08 + .byte Fs2 , v112 + .byte W08 + .byte En1 + .byte W08 + .byte Cn1 + .byte W08 + .byte Fs2 + .byte W04 + .byte Cn1 , v080 + .byte W04 + .byte En1 , v112 + .byte W08 + .byte GOTO + .word mus_friendly_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_friendly: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_friendly_pri @ Priority + .byte mus_friendly_rev @ Reverb. + + .word mus_friendly_grp + + .word mus_friendly_1 + .word mus_friendly_2 + .word mus_friendly_3 + .word mus_friendly_4 + .word mus_friendly_5 + .word mus_friendly_6 + .word mus_friendly_7 + .word mus_friendly_8 + + .end diff --git a/sound/songs/mus_fune_kan.s b/sound/songs/mus_fune_kan.s new file mode 100644 index 0000000000..be94f9e14b --- /dev/null +++ b/sound/songs/mus_fune_kan.s @@ -0,0 +1,2764 @@ + .include "MPlayDef.s" + + .equ mus_fune_kan_grp, voicegroup_867A744 + .equ mus_fune_kan_pri, 0 + .equ mus_fune_kan_rev, reverb_set+50 + .equ mus_fune_kan_mvl, 127 + .equ mus_fune_kan_key, 0 + .equ mus_fune_kan_tbs, 1 + .equ mus_fune_kan_exg, 0 + .equ mus_fune_kan_cmp, 1 + + .section .rodata + .global mus_fune_kan + .align 2 + +@********************** Track 1 **********************@ + +mus_fune_kan_1: + .byte KEYSH , mus_fune_kan_key+0 + .byte TEMPO , 120*mus_fune_kan_tbs/2 + .byte VOICE , 0 + .byte LFOS , 35 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte PAN , c_v+0 + .byte N16 , Dn3 , v100 + .byte W16 + .byte Gn3 + .byte W16 + .byte An3 + .byte W16 + .byte Dn4 + .byte W16 + .byte En4 + .byte W16 + .byte Gn4 + .byte W16 + .byte Fs4 + .byte W16 + .byte En4 + .byte W16 + .byte Fs4 + .byte W16 + .byte TEMPO , 70*mus_fune_kan_tbs/2 + .byte N48 , An3 + .byte W32 + .byte TEMPO , 120*mus_fune_kan_tbs/2 + .byte W16 + .byte N16 , Dn3 + .byte W16 + .byte Gn3 + .byte W16 + .byte An3 + .byte W16 + .byte Dn4 + .byte W16 + .byte En4 + .byte W16 + .byte Gn4 + .byte W16 + .byte Fs4 + .byte W16 + .byte Gn4 + .byte W16 + .byte An4 + .byte W16 + .byte TEMPO , 70*mus_fune_kan_tbs/2 + .byte N32 , En4 + .byte W32 + .byte TEMPO , 120*mus_fune_kan_tbs/2 + .byte N08 , Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte TIE , Cs4 + .byte W96 + .byte W24 + .byte EOT + .byte TEMPO , 90*mus_fune_kan_tbs/2 + .byte N24 , An3 + .byte W24 + .byte Dn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte N12 , Dn4 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte Gn4 + .byte W24 +mus_fune_kan_1_B1: +mus_fune_kan_1_000: + .byte N08 , Fs4 , v100 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N12 , En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte Cs4 + .byte W24 + .byte PEND +mus_fune_kan_1_001: + .byte N12 , Dn4 , v100 + .byte W12 + .byte En4 + .byte W12 + .byte N24 , Fs4 + .byte W24 + .byte Gn4 + .byte W24 + .byte N12 , Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte PEND + .byte N24 , An4 + .byte W24 + .byte N12 , Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte N12 , Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte Gn4 + .byte W24 + .byte PATT + .word mus_fune_kan_1_000 + .byte PATT + .word mus_fune_kan_1_001 + .byte N24 , An4 , v100 + .byte W24 + .byte N12 , Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N48 , En4 + .byte W48 + .byte VOICE , 56 + .byte BEND , c_v+0 + .byte W12 + .byte c_v-18 + .byte N12 , Fs4 , v112 + .byte W04 + .byte BEND , c_v+0 + .byte W08 + .byte N12 , En4 , v088 + .byte W12 + .byte N09 , Fs4 , v100 + .byte W04 + .byte VOL , 68*mus_fune_kan_mvl/mxv + .byte W04 + .byte 49*mus_fune_kan_mvl/mxv + .byte W04 + .byte 80*mus_fune_kan_mvl/mxv + .byte BEND , c_v-8 + .byte N12 , Fs4 , v112 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte c_v-7 + .byte N12 , Gn4 , v088 + .byte W04 + .byte BEND , c_v+0 + .byte W08 + .byte N12 , Fs4 , v112 + .byte W12 + .byte BEND , c_v-5 + .byte N12 , Gn4 , v088 + .byte W04 + .byte BEND , c_v+0 + .byte W08 + .byte c_v-12 + .byte N12 , An4 , v112 + .byte W04 + .byte BEND , c_v-7 + .byte W04 + .byte c_v+0 + .byte W04 + .byte N12 , En4 , v100 + .byte W12 + .byte Cs4 , v084 + .byte W12 + .byte Bn3 , v076 + .byte W12 + .byte An3 , v088 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cs4 , v100 + .byte W12 + .byte N15 , En4 , v112 + .byte W04 + .byte VOL , 68*mus_fune_kan_mvl/mxv + .byte W04 + .byte 49*mus_fune_kan_mvl/mxv + .byte W01 + .byte BEND , c_v-12 + .byte W03 + .byte VOL , 36*mus_fune_kan_mvl/mxv + .byte BEND , c_v+12 + .byte W03 + .byte c_v+0 + .byte W09 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte BEND , c_v-18 + .byte N12 , Dn4 + .byte W04 + .byte BEND , c_v+0 + .byte W08 + .byte N12 , Cs4 , v088 + .byte W12 + .byte N09 , Dn4 , v112 + .byte W04 + .byte VOL , 68*mus_fune_kan_mvl/mxv + .byte W04 + .byte 49*mus_fune_kan_mvl/mxv + .byte W04 + .byte 80*mus_fune_kan_mvl/mxv + .byte BEND , c_v-7 + .byte N12 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte c_v-7 + .byte N12 , En4 + .byte W04 + .byte BEND , c_v+0 + .byte W08 + .byte N12 , Dn4 + .byte W12 + .byte BEND , c_v-5 + .byte N12 , En4 + .byte W04 + .byte BEND , c_v+0 + .byte W08 + .byte c_v-12 + .byte N12 , Fs4 + .byte W04 + .byte BEND , c_v-7 + .byte W04 + .byte c_v+0 + .byte W04 + .byte N12 , Cs4 , v100 + .byte W12 + .byte Bn3 , v084 + .byte W12 + .byte An3 , v072 + .byte W12 + .byte An3 , v088 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cs4 , v100 + .byte W12 + .byte N15 , En4 , v112 + .byte W04 + .byte VOL , 68*mus_fune_kan_mvl/mxv + .byte W04 + .byte 49*mus_fune_kan_mvl/mxv + .byte W01 + .byte BEND , c_v-12 + .byte W03 + .byte VOL , 36*mus_fune_kan_mvl/mxv + .byte BEND , c_v+12 + .byte W03 + .byte c_v+0 + .byte W09 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte BEND , c_v-18 + .byte N12 , Bn3 + .byte W04 + .byte BEND , c_v+0 + .byte W08 + .byte N12 , An3 , v100 + .byte W12 + .byte N09 , Bn3 , v112 + .byte W04 + .byte VOL , 68*mus_fune_kan_mvl/mxv + .byte W04 + .byte 49*mus_fune_kan_mvl/mxv + .byte W04 + .byte 80*mus_fune_kan_mvl/mxv + .byte BEND , c_v-7 + .byte N12 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte c_v-7 + .byte N12 , Cs4 + .byte W04 + .byte BEND , c_v+0 + .byte W08 + .byte N12 , Bn3 + .byte W12 + .byte BEND , c_v-7 + .byte N12 , Cs4 + .byte W04 + .byte BEND , c_v+0 + .byte W08 + .byte c_v-12 + .byte N12 , Dn4 + .byte W04 + .byte BEND , c_v-7 + .byte W04 + .byte c_v+0 + .byte W04 + .byte N12 , An3 , v100 + .byte W12 + .byte Fs3 , v084 + .byte W12 + .byte En3 , v072 + .byte W12 + .byte Dn3 , v088 + .byte W12 + .byte En3 , v092 + .byte W12 + .byte Fs3 , v100 + .byte W12 + .byte N15 , An3 , v112 + .byte W04 + .byte VOL , 68*mus_fune_kan_mvl/mxv + .byte W04 + .byte 49*mus_fune_kan_mvl/mxv + .byte W01 + .byte BEND , c_v-12 + .byte W03 + .byte VOL , 36*mus_fune_kan_mvl/mxv + .byte BEND , c_v+12 + .byte W03 + .byte c_v+0 + .byte W09 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte BEND , c_v-8 + .byte N12 , Bn3 + .byte W04 + .byte BEND , c_v+0 + .byte W08 + .byte N12 , An3 , v100 + .byte W12 + .byte N09 , Bn3 , v112 + .byte W12 + .byte N12 + .byte W12 + .byte Cs4 , v100 + .byte W12 + .byte Dn4 , v104 + .byte W12 + .byte BEND , c_v-5 + .byte N12 , En4 , v108 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N09 , Fs4 , v112 + .byte W12 + .byte BEND , c_v-7 + .byte N09 , Gn4 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N09 , Fs4 + .byte W12 + .byte N12 , En4 + .byte W12 + .byte BEND , c_v-12 + .byte N09 , An4 , v116 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N09 , Gn4 , v112 + .byte W12 + .byte Fs4 + .byte W12 + .byte N12 , En4 + .byte W12 + .byte N44 , Fs4 + .byte W18 + .byte MOD , 5 + .byte W06 + .byte VOL , 75*mus_fune_kan_mvl/mxv + .byte W06 + .byte 62*mus_fune_kan_mvl/mxv + .byte W03 + .byte 45*mus_fune_kan_mvl/mxv + .byte W03 + .byte 33*mus_fune_kan_mvl/mxv + .byte W03 + .byte 13*mus_fune_kan_mvl/mxv + .byte W03 + .byte 3*mus_fune_kan_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte W03 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte BEND , c_v-8 + .byte N08 , Gn4 + .byte W03 + .byte BEND , c_v+0 + .byte W05 + .byte N08 , En4 , v104 + .byte W08 + .byte Cs4 , v100 + .byte W08 + .byte An3 , v096 + .byte W08 + .byte En3 , v092 + .byte W08 + .byte Cs3 , v096 + .byte W08 + .byte Dn3 , v112 + .byte W08 + .byte En3 , v100 + .byte W08 + .byte Dn3 , v112 + .byte W08 + .byte BEND , c_v-16 + .byte N24 , Bn3 + .byte W03 + .byte BEND , c_v-5 + .byte W03 + .byte c_v+0 + .byte W09 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N44 , An3 + .byte W18 + .byte MOD , 5 + .byte W06 + .byte VOL , 75*mus_fune_kan_mvl/mxv + .byte W06 + .byte 62*mus_fune_kan_mvl/mxv + .byte W03 + .byte 45*mus_fune_kan_mvl/mxv + .byte W03 + .byte 33*mus_fune_kan_mvl/mxv + .byte W03 + .byte 13*mus_fune_kan_mvl/mxv + .byte W03 + .byte 3*mus_fune_kan_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte BEND , c_v-10 + .byte N44 , Bn3 + .byte W03 + .byte BEND , c_v+0 + .byte W15 + .byte MOD , 5 + .byte W06 + .byte VOL , 75*mus_fune_kan_mvl/mxv + .byte W06 + .byte 62*mus_fune_kan_mvl/mxv + .byte W03 + .byte 45*mus_fune_kan_mvl/mxv + .byte W03 + .byte 33*mus_fune_kan_mvl/mxv + .byte W03 + .byte 13*mus_fune_kan_mvl/mxv + .byte W03 + .byte 3*mus_fune_kan_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte N08 + .byte W08 + .byte Cs4 , v096 + .byte W08 + .byte Dn4 , v104 + .byte W08 + .byte En4 , v112 + .byte W08 + .byte Dn4 , v104 + .byte W08 + .byte Cs4 , v092 + .byte W08 + .byte N21 , Dn4 , v112 + .byte W06 + .byte MOD , 0 + .byte W03 + .byte 5 + .byte W06 + .byte VOL , 65*mus_fune_kan_mvl/mxv + .byte W03 + .byte 47*mus_fune_kan_mvl/mxv + .byte W03 + .byte 17*mus_fune_kan_mvl/mxv + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte BEND , c_v-7 + .byte N12 , En4 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N12 , Dn4 , v096 + .byte W12 + .byte N21 , Cs4 , v112 + .byte W09 + .byte MOD , 7 + .byte W03 + .byte VOL , 65*mus_fune_kan_mvl/mxv + .byte W03 + .byte 46*mus_fune_kan_mvl/mxv + .byte W03 + .byte 17*mus_fune_kan_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte N12 , Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte BEND , c_v-12 + .byte N09 , Dn4 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N06 , An3 + .byte W12 + .byte BEND , c_v-12 + .byte N09 , Dn4 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N06 , En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte BEND , c_v-8 + .byte N12 , Gn4 + .byte W03 + .byte BEND , c_v+0 + .byte W15 + .byte N12 , Fs4 + .byte W18 + .byte En4 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte 0 + .byte BEND , c_v-10 + .byte N21 , Fs4 + .byte W03 + .byte BEND , c_v+0 + .byte W04 + .byte MOD , 5 + .byte W05 + .byte VOL , 71*mus_fune_kan_mvl/mxv + .byte W03 + .byte 49*mus_fune_kan_mvl/mxv + .byte W03 + .byte 29*mus_fune_kan_mvl/mxv + .byte W03 + .byte 10*mus_fune_kan_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte N08 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N24 , En4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte BEND , c_v-8 + .byte N24 , Fs4 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte BEND , c_v-12 + .byte N08 , Bn4 + .byte W03 + .byte BEND , c_v+0 + .byte W05 + .byte N08 , Fs4 , v108 + .byte W08 + .byte Dn4 , v104 + .byte W08 + .byte Fs4 + .byte W08 + .byte Dn4 , v100 + .byte W08 + .byte Fs3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Bn3 + .byte W08 + .byte En4 + .byte W08 + .byte Bn3 , v104 + .byte W08 + .byte En4 + .byte W08 + .byte Gn4 , v108 + .byte W08 + .byte N28 , An4 , v092 + .byte W16 + .byte MOD , 5 + .byte W05 + .byte VOL , 69*mus_fune_kan_mvl/mxv + .byte W03 + .byte 45*mus_fune_kan_mvl/mxv + .byte W03 + .byte 21*mus_fune_kan_mvl/mxv + .byte W03 + .byte 11*mus_fune_kan_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte N08 , En4 , v104 + .byte W01 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte W07 + .byte BEND , c_v-5 + .byte N08 , Bn4 , v112 + .byte W04 + .byte BEND , c_v+0 + .byte W04 + .byte N44 , An4 + .byte W16 + .byte MOD , 5 + .byte W08 + .byte VOL , 75*mus_fune_kan_mvl/mxv + .byte W06 + .byte 62*mus_fune_kan_mvl/mxv + .byte W03 + .byte 45*mus_fune_kan_mvl/mxv + .byte W03 + .byte 33*mus_fune_kan_mvl/mxv + .byte W03 + .byte 13*mus_fune_kan_mvl/mxv + .byte W03 + .byte 3*mus_fune_kan_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte W04 + .byte VOICE , 0 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte N12 , Dn4 , v100 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte Gn4 + .byte W24 + .byte GOTO + .word mus_fune_kan_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_fune_kan_2: + .byte KEYSH , mus_fune_kan_key+0 + .byte VOICE , 0 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte PAN , c_v+8 + .byte N48 , An2 , v092 + .byte W48 + .byte An3 + .byte W48 + .byte N16 , Dn4 + .byte W16 + .byte Cs4 + .byte W16 + .byte Dn4 + .byte W16 + .byte N48 , En3 + .byte W48 + .byte An2 + .byte W48 + .byte An3 + .byte W48 + .byte N16 , Dn4 + .byte W16 + .byte En4 + .byte W16 + .byte Fs4 + .byte W16 + .byte N32 , An3 + .byte W48 + .byte PAN , c_v-8 + .byte N96 , An1 , v096 + .byte W96 + .byte VOICE , 46 + .byte PAN , c_v+0 + .byte N06 , An3 , v068 + .byte W07 + .byte Dn4 , v044 + .byte W07 + .byte Gn4 , v040 + .byte W07 + .byte Cs5 , v048 + .byte W07 + .byte En4 + .byte W08 + .byte An4 , v032 + .byte W07 + .byte Dn5 , v040 + .byte W07 + .byte Fs4 , v064 + .byte W07 + .byte Bn4 , v048 + .byte W07 + .byte En5 , v040 + .byte W08 + .byte An4 , v068 + .byte W07 + .byte Dn5 , v052 + .byte W07 + .byte Gn5 , v032 + .byte W07 + .byte Cs6 , v012 + .byte W03 + .byte VOICE , 0 + .byte W24 + .byte PAN , c_v+8 + .byte N48 , An3 , v092 + .byte W48 + .byte N24 , En4 + .byte W24 +mus_fune_kan_2_B1: +mus_fune_kan_2_000: + .byte N36 , Dn4 , v092 + .byte W48 + .byte N24 , Cs4 + .byte W24 + .byte An3 + .byte W24 + .byte PEND +mus_fune_kan_2_001: + .byte W24 + .byte N24 , An3 , v092 + .byte W24 + .byte N48 , Bn3 + .byte W48 + .byte PEND + .byte Dn4 + .byte W48 + .byte N24 , Cs4 + .byte W24 + .byte An3 + .byte W24 + .byte W24 + .byte N48 + .byte W48 + .byte N24 , En4 + .byte W24 + .byte PATT + .word mus_fune_kan_2_000 + .byte PATT + .word mus_fune_kan_2_001 + .byte N48 , Dn4 , v092 + .byte W48 + .byte Cs4 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v-16 + .byte N12 , Dn4 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte Gn4 + .byte W24 + .byte N08 , Fs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N12 , En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte Cs4 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte N24 , Fs4 + .byte W24 + .byte Gn4 + .byte W24 + .byte N12 , Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte N24 , An4 + .byte W24 + .byte N12 , Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte N12 , Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N12 , En3 + .byte W18 + .byte Fs3 + .byte W18 + .byte Gn3 + .byte W12 + .byte N08 , Fs3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Dn3 + .byte W08 + .byte En3 + .byte W08 + .byte Dn3 + .byte W08 + .byte N24 , En3 + .byte W24 + .byte Cs3 + .byte W24 + .byte N08 , Bn3 + .byte W08 + .byte Fs3 , v084 + .byte W08 + .byte Dn3 , v080 + .byte W08 + .byte Fs3 , v076 + .byte W08 + .byte Dn3 + .byte W08 + .byte Fs2 , v072 + .byte W08 + .byte Gn2 + .byte W08 + .byte Bn2 + .byte W08 + .byte En3 , v076 + .byte W08 + .byte Bn2 + .byte W08 + .byte En3 , v080 + .byte W08 + .byte Gn3 , v084 + .byte W08 + .byte N28 , An3 , v080 + .byte W32 + .byte N08 , Gn3 , v092 + .byte W08 + .byte Fs3 + .byte W08 + .byte N44 , En3 + .byte W48 + .byte W24 + .byte PAN , c_v+8 + .byte N48 , An3 + .byte W48 + .byte N24 , En4 + .byte W24 + .byte GOTO + .word mus_fune_kan_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_fune_kan_3: + .byte KEYSH , mus_fune_kan_key+0 + .byte VOICE , 0 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte PAN , c_v-8 + .byte N44 , Dn2 , v104 + .byte W80 + .byte N08 + .byte W16 + .byte N08 + .byte W48 + .byte N32 , Cs3 + .byte W32 + .byte N16 , Cs2 + .byte W16 + .byte N32 , Dn2 + .byte W32 + .byte N08 , An1 + .byte W16 + .byte N32 , Dn2 + .byte W32 + .byte N08 + .byte W08 + .byte An1 + .byte W08 + .byte N32 , Dn2 + .byte W32 + .byte N08 , An1 + .byte W16 + .byte N48 , Cs2 + .byte W48 + .byte VOICE , 46 + .byte PAN , c_v+0 + .byte N12 , An3 , v064 + .byte W09 + .byte Cs4 , v052 + .byte W10 + .byte En4 , v036 + .byte W09 + .byte Gn4 , v020 + .byte W10 + .byte Bn4 , v032 + .byte W10 + .byte An3 , v064 + .byte W09 + .byte Cs4 , v048 + .byte W10 + .byte En4 , v036 + .byte W09 + .byte Gn4 , v020 + .byte W10 + .byte Bn4 , v036 + .byte W10 + .byte PAN , c_v+16 + .byte W02 + .byte N06 , Bn3 , v064 + .byte W07 + .byte En4 , v036 + .byte W07 + .byte An4 + .byte W08 + .byte Cs4 , v068 + .byte W07 + .byte Fs4 , v044 + .byte W07 + .byte Bn4 , v032 + .byte W07 + .byte En5 , v044 + .byte W07 + .byte Gn4 , v060 + .byte W08 + .byte Cs5 , v040 + .byte W07 + .byte Fs5 , v048 + .byte W07 + .byte Bn4 , v064 + .byte W07 + .byte En5 , v044 + .byte W07 + .byte An5 , v024 + .byte W08 + .byte VOICE , 35 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte PAN , c_v-6 + .byte N44 , Dn1 , v120 + .byte W48 + .byte An1 + .byte W48 +mus_fune_kan_3_B1: + .byte N44 , Bn1 , v120 + .byte W48 + .byte An1 + .byte W48 +mus_fune_kan_3_000: + .byte N44 , Dn1 , v120 + .byte W48 + .byte En1 + .byte W48 + .byte PEND +mus_fune_kan_3_001: + .byte N44 , An1 , v120 + .byte W48 + .byte N21 + .byte W24 + .byte Cs1 + .byte W24 + .byte PEND + .byte N44 , Dn1 + .byte W48 + .byte An0 + .byte W48 + .byte Bn0 + .byte W48 + .byte Cs1 + .byte W48 + .byte PATT + .word mus_fune_kan_3_000 + .byte PATT + .word mus_fune_kan_3_001 + .byte N10 , Bn1 , v120 + .byte W24 + .byte N10 + .byte W24 + .byte N10 + .byte W24 + .byte N10 + .byte W24 + .byte An1 + .byte W24 + .byte Cs2 + .byte W24 + .byte En2 + .byte W24 + .byte An1 + .byte W24 + .byte Gn1 + .byte W24 + .byte N10 + .byte W24 + .byte N10 + .byte W24 + .byte N10 + .byte W24 + .byte Fs1 + .byte W24 + .byte An1 + .byte W24 + .byte Cs2 + .byte W24 + .byte Fs1 + .byte W24 + .byte N44 , Gn1 + .byte W48 + .byte N36 + .byte W36 + .byte N12 , Gn0 + .byte W12 + .byte N36 , Dn1 + .byte W36 + .byte N09 , An1 + .byte W12 + .byte N44 , Dn1 + .byte W48 + .byte N03 , En1 + .byte W06 + .byte N24 + .byte W24 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N36 + .byte W36 + .byte N06 , Bn1 + .byte W06 + .byte N03 + .byte W06 + .byte N36 , An1 + .byte W36 + .byte N03 , Fs1 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte N36 , An1 + .byte W36 + .byte N06 , An0 + .byte W06 + .byte Cs1 + .byte W06 + .byte N12 , Dn1 + .byte W36 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte An1 + .byte W18 + .byte N18 , An0 + .byte W18 + .byte N12 , An1 + .byte W12 + .byte Bn1 + .byte W36 + .byte N03 + .byte W06 + .byte N06 , Bn0 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N06 + .byte W12 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte An0 + .byte W06 + .byte N12 , Gn1 + .byte W36 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte En1 + .byte W18 + .byte N18 , En2 + .byte W18 + .byte N10 , En1 + .byte W12 + .byte N12 , An1 + .byte W36 + .byte N03 + .byte W06 + .byte N06 , An0 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N06 + .byte W12 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte An0 + .byte W06 + .byte N12 , Dn1 + .byte W36 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte Gn1 + .byte W06 + .byte Dn1 + .byte W12 + .byte N12 , As1 + .byte W12 + .byte N06 , Dn1 + .byte W06 + .byte Dn2 + .byte W06 + .byte Gn1 + .byte W06 + .byte N03 , Dn1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte N03 , Dn2 + .byte W06 + .byte N06 , Dn1 + .byte W06 + .byte N03 , Cs2 + .byte W06 + .byte N06 , Cs1 + .byte W12 + .byte N03 + .byte W12 + .byte N06 , Fs2 + .byte W12 + .byte As1 + .byte W06 + .byte N12 , Bn1 + .byte W18 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N06 , Bn0 + .byte W06 + .byte En2 + .byte W06 + .byte N03 + .byte W12 + .byte N09 , En1 + .byte W12 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An0 + .byte W12 + .byte N03 + .byte W12 + .byte N06 , Cs2 + .byte W12 + .byte Cs1 + .byte W06 + .byte VOICE , 35 + .byte N44 , Dn1 + .byte W48 + .byte An1 + .byte W48 + .byte GOTO + .word mus_fune_kan_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_fune_kan_4: + .byte KEYSH , mus_fune_kan_key+0 + .byte LFOS , 35 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 46 + .byte PAN , c_v+0 + .byte W04 + .byte N12 , Bn3 , v060 + .byte W10 + .byte Dn4 , v044 + .byte W10 + .byte Fs4 , v028 + .byte W09 + .byte An4 , v024 + .byte W10 + .byte Cs5 , v040 + .byte W09 + .byte Bn3 , v060 + .byte W10 + .byte Dn4 , v040 + .byte W10 + .byte Fs4 , v028 + .byte W09 + .byte An4 + .byte W10 + .byte Cs5 , v040 + .byte W05 + .byte PAN , c_v-16 + .byte W04 + .byte N06 , Cs4 , v052 + .byte W08 + .byte Fs4 , v028 + .byte W07 + .byte Bn4 , v044 + .byte W07 + .byte Dn4 , v064 + .byte W07 + .byte Gn4 , v036 + .byte W07 + .byte Cs5 + .byte W08 + .byte En4 , v068 + .byte W07 + .byte An4 , v056 + .byte W07 + .byte Dn5 , v032 + .byte W07 + .byte Gn5 , v056 + .byte W07 + .byte Cs5 + .byte W08 + .byte Fs5 , v036 + .byte W07 + .byte Bn5 , v020 + .byte W05 + .byte W96 +mus_fune_kan_4_B1: + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte N12 , Dn2 , v080 + .byte W12 + .byte An2 , v072 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Cs2 , v080 + .byte W12 + .byte An2 , v064 + .byte W12 + .byte Cs3 , v072 + .byte W12 + .byte En3 + .byte W12 + .byte Bn1 , v080 + .byte W12 + .byte Fs2 , v072 + .byte W12 + .byte Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte An1 , v080 + .byte W12 + .byte En2 , v072 + .byte W12 + .byte An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An1 , v080 + .byte W12 + .byte Fs2 , v072 + .byte W12 + .byte An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Bn1 , v080 + .byte W12 + .byte Gn2 , v072 + .byte W12 + .byte Bn2 + .byte W12 + .byte En3 + .byte W12 + .byte Dn2 , v080 + .byte W12 + .byte An2 , v072 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte En2 , v080 + .byte W12 + .byte An2 , v072 + .byte W12 + .byte Cs3 + .byte W12 + .byte En3 + .byte W12 + .byte VOICE , 46 + .byte PAN , c_v-22 + .byte N08 , Bn3 , v044 + .byte W08 + .byte Fs4 , v056 + .byte W08 + .byte Bn4 , v068 + .byte W08 + .byte Dn5 , v072 + .byte W08 + .byte Bn4 + .byte W08 + .byte Fs4 , v056 + .byte W08 + .byte Bn3 , v044 + .byte W08 + .byte Fs4 , v056 + .byte W08 + .byte Bn4 , v068 + .byte W08 + .byte Dn5 , v072 + .byte W08 + .byte Bn4 + .byte W08 + .byte Fs4 , v056 + .byte W08 + .byte An3 , v044 + .byte W08 + .byte En4 , v056 + .byte W08 + .byte An4 , v068 + .byte W08 + .byte Cs5 , v072 + .byte W08 + .byte An4 + .byte W08 + .byte En4 , v056 + .byte W08 + .byte An3 , v044 + .byte W08 + .byte Cs4 , v056 + .byte W08 + .byte En4 , v068 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte Cs5 + .byte W08 + .byte An4 , v056 + .byte W08 + .byte Gn3 , v044 + .byte W08 + .byte Dn4 , v056 + .byte W08 + .byte Gn4 , v068 + .byte W08 + .byte Bn4 , v072 + .byte W08 + .byte Gn4 + .byte W08 + .byte Dn4 , v056 + .byte W08 + .byte Gn3 , v044 + .byte W08 + .byte Dn4 , v056 + .byte W08 + .byte Gn4 , v068 + .byte W08 + .byte Bn4 , v072 + .byte W08 + .byte Gn4 + .byte W08 + .byte Dn4 , v056 + .byte W08 + .byte Fs3 , v072 + .byte W08 + .byte Cs4 + .byte W08 + .byte Fs4 + .byte W08 + .byte An4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Cs4 + .byte W08 + .byte Fs3 , v044 + .byte W08 + .byte An3 , v056 + .byte W08 + .byte Cs4 , v068 + .byte W08 + .byte Cs5 , v072 + .byte W08 + .byte An4 + .byte W08 + .byte Fs4 , v056 + .byte W08 + .byte Bn3 , v044 + .byte W08 + .byte Gn4 , v056 + .byte W08 + .byte Bn4 , v068 + .byte W08 + .byte Dn5 , v072 + .byte W08 + .byte Bn4 + .byte W08 + .byte Gn4 , v056 + .byte W08 + .byte N11 , Bn3 , v044 + .byte W08 + .byte N08 , Gn4 , v056 + .byte W08 + .byte Bn4 , v068 + .byte W08 + .byte Dn5 , v072 + .byte W08 + .byte Bn4 + .byte W08 + .byte Gn4 , v056 + .byte W08 + .byte An3 , v044 + .byte W08 + .byte Dn4 , v056 + .byte W08 + .byte An4 , v068 + .byte W08 + .byte Dn5 , v072 + .byte W08 + .byte An4 + .byte W08 + .byte Dn4 , v056 + .byte W08 + .byte An3 , v044 + .byte W08 + .byte Dn4 , v056 + .byte W08 + .byte Fs4 , v068 + .byte W08 + .byte Fs5 , v072 + .byte W08 + .byte Dn5 + .byte W08 + .byte An4 , v056 + .byte W08 + .byte Gn3 , v044 + .byte W08 + .byte En4 , v056 + .byte W08 + .byte Gn4 , v068 + .byte W08 + .byte Bn4 , v072 + .byte W08 + .byte Gn4 + .byte W08 + .byte En4 , v056 + .byte W08 + .byte Gn3 , v044 + .byte W08 + .byte En4 , v056 + .byte W08 + .byte Gn4 , v068 + .byte W08 + .byte Bn4 , v072 + .byte W08 + .byte Gn4 + .byte W08 + .byte En4 , v056 + .byte W08 + .byte En3 , v072 + .byte W08 + .byte Dn4 + .byte W08 + .byte En4 + .byte W08 + .byte An4 + .byte W08 + .byte En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte An3 , v044 + .byte W08 + .byte Cs4 , v056 + .byte W08 + .byte En4 , v068 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte Cs5 + .byte W08 + .byte An4 , v056 + .byte W08 + .byte W96 + .byte W96 + .byte VOICE , 81 + .byte W96 + .byte PAN , c_v-1 + .byte BEND , c_v-5 + .byte N21 , An2 , v048 + .byte W09 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W03 + .byte N09 , Gn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte N24 , En2 + .byte W09 + .byte MOD , 6 + .byte W12 + .byte BEND , c_v+0 + .byte W03 + .byte MOD , 0 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_fune_kan_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_fune_kan_5: + .byte KEYSH , mus_fune_kan_key+0 + .byte LFOS , 35 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_fune_kan_5_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte VOICE , 85 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte PAN , c_v-49 + .byte N24 , Cs3 , v032 + .byte W24 + .byte N48 , Dn3 , v040 + .byte W18 + .byte MOD , 4 + .byte W30 + .byte 0 + .byte N48 , En3 + .byte W18 + .byte MOD , 4 + .byte W30 + .byte 0 + .byte N48 , Dn3 + .byte W18 + .byte MOD , 4 + .byte W30 + .byte 0 + .byte N48 , Cs3 , v052 + .byte W18 + .byte MOD , 4 + .byte W30 + .byte VOICE , 80 + .byte MOD , 0 + .byte N06 , Fs3 , v040 + .byte W12 + .byte Bn2 + .byte W12 + .byte Fs3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Fs3 + .byte W12 + .byte Bn3 + .byte W12 + .byte En3 + .byte W12 + .byte An2 + .byte W12 + .byte En3 + .byte W12 + .byte An3 + .byte W12 + .byte En3 + .byte W12 + .byte An2 + .byte W12 + .byte En3 + .byte W12 + .byte An3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N42 , Gn3 + .byte W48 + .byte N12 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte N36 , Fs3 + .byte W36 + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N03 , En3 + .byte W06 + .byte N09 + .byte W24 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N09 + .byte W24 + .byte N12 , Bn3 , v052 + .byte W12 + .byte Cs4 + .byte W12 + .byte N48 , Dn4 + .byte W18 + .byte MOD , 4 + .byte W30 + .byte 0 + .byte N48 , En4 , v060 + .byte W18 + .byte MOD , 4 + .byte W30 + .byte VOICE , 85 + .byte MOD , 0 + .byte W12 + .byte N06 , Fs3 , v052 + .byte W18 + .byte Dn3 + .byte W12 + .byte Fs3 + .byte W06 + .byte N21 , En3 + .byte W12 + .byte VOL , 71*mus_fune_kan_mvl/mxv + .byte W03 + .byte 54*mus_fune_kan_mvl/mxv + .byte W03 + .byte 30*mus_fune_kan_mvl/mxv + .byte W03 + .byte 8*mus_fune_kan_mvl/mxv + .byte W03 + .byte 80*mus_fune_kan_mvl/mxv + .byte N24 , Cs3 + .byte W12 + .byte VOL , 71*mus_fune_kan_mvl/mxv + .byte W03 + .byte 54*mus_fune_kan_mvl/mxv + .byte W03 + .byte 30*mus_fune_kan_mvl/mxv + .byte W03 + .byte 8*mus_fune_kan_mvl/mxv + .byte W03 + .byte 80*mus_fune_kan_mvl/mxv + .byte N24 , Bn2 + .byte W12 + .byte VOL , 71*mus_fune_kan_mvl/mxv + .byte W03 + .byte 54*mus_fune_kan_mvl/mxv + .byte W03 + .byte 30*mus_fune_kan_mvl/mxv + .byte W03 + .byte 8*mus_fune_kan_mvl/mxv + .byte W09 + .byte 80*mus_fune_kan_mvl/mxv + .byte N06 , Fs3 + .byte W12 + .byte Dn3 + .byte W06 + .byte N24 , En3 + .byte W12 + .byte VOL , 71*mus_fune_kan_mvl/mxv + .byte W03 + .byte 54*mus_fune_kan_mvl/mxv + .byte W03 + .byte 30*mus_fune_kan_mvl/mxv + .byte W03 + .byte 8*mus_fune_kan_mvl/mxv + .byte W03 + .byte 80*mus_fune_kan_mvl/mxv + .byte N24 , An3 + .byte W12 + .byte VOL , 71*mus_fune_kan_mvl/mxv + .byte W03 + .byte 54*mus_fune_kan_mvl/mxv + .byte W03 + .byte 30*mus_fune_kan_mvl/mxv + .byte W03 + .byte 8*mus_fune_kan_mvl/mxv + .byte W03 + .byte 80*mus_fune_kan_mvl/mxv + .byte N48 , Gn3 + .byte W18 + .byte MOD , 4 + .byte W30 + .byte 0 + .byte N48 , Bn3 , v060 + .byte W18 + .byte MOD , 4 + .byte W30 + .byte VOICE , 83 + .byte MOD , 0 + .byte N08 , Dn5 , v040 + .byte W08 + .byte An4 + .byte W08 + .byte En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte An3 + .byte W08 + .byte En3 + .byte W08 + .byte N09 , An2 , v052 + .byte W09 + .byte En3 + .byte W10 + .byte An3 + .byte W09 + .byte En4 + .byte W10 + .byte An4 + .byte W10 + .byte VOICE , 85 + .byte N24 , An2 + .byte W12 + .byte VOL , 71*mus_fune_kan_mvl/mxv + .byte W03 + .byte 54*mus_fune_kan_mvl/mxv + .byte W03 + .byte 30*mus_fune_kan_mvl/mxv + .byte W03 + .byte 8*mus_fune_kan_mvl/mxv + .byte W03 + .byte 80*mus_fune_kan_mvl/mxv + .byte N18 , Dn3 + .byte W09 + .byte VOL , 52*mus_fune_kan_mvl/mxv + .byte W03 + .byte 36*mus_fune_kan_mvl/mxv + .byte W03 + .byte 15*mus_fune_kan_mvl/mxv + .byte W03 + .byte 80*mus_fune_kan_mvl/mxv + .byte N06 , Dn4 + .byte W06 + .byte N12 , En4 + .byte W18 + .byte Dn4 + .byte W18 + .byte Cs4 + .byte W12 + .byte N17 , Fs3 + .byte W09 + .byte VOL , 52*mus_fune_kan_mvl/mxv + .byte W03 + .byte 36*mus_fune_kan_mvl/mxv + .byte W03 + .byte 15*mus_fune_kan_mvl/mxv + .byte W01 + .byte N08 , Dn3 + .byte W02 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte W06 + .byte N08 , An2 + .byte W08 + .byte Bn2 + .byte W08 + .byte An2 + .byte W08 + .byte N24 , As3 + .byte W12 + .byte VOL , 71*mus_fune_kan_mvl/mxv + .byte W03 + .byte 54*mus_fune_kan_mvl/mxv + .byte W03 + .byte 30*mus_fune_kan_mvl/mxv + .byte W03 + .byte 8*mus_fune_kan_mvl/mxv + .byte W03 + .byte 80*mus_fune_kan_mvl/mxv + .byte N24 , Cs4 + .byte W12 + .byte VOL , 71*mus_fune_kan_mvl/mxv + .byte W03 + .byte 54*mus_fune_kan_mvl/mxv + .byte W03 + .byte 30*mus_fune_kan_mvl/mxv + .byte W03 + .byte 8*mus_fune_kan_mvl/mxv + .byte W03 + .byte 80*mus_fune_kan_mvl/mxv + .byte N12 , Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte N21 , Fs4 + .byte W12 + .byte VOL , 71*mus_fune_kan_mvl/mxv + .byte W03 + .byte 54*mus_fune_kan_mvl/mxv + .byte W03 + .byte 30*mus_fune_kan_mvl/mxv + .byte W03 + .byte 8*mus_fune_kan_mvl/mxv + .byte W03 + .byte 80*mus_fune_kan_mvl/mxv + .byte N21 , Gn4 + .byte W12 + .byte VOL , 71*mus_fune_kan_mvl/mxv + .byte W03 + .byte 54*mus_fune_kan_mvl/mxv + .byte W03 + .byte 30*mus_fune_kan_mvl/mxv + .byte W03 + .byte 8*mus_fune_kan_mvl/mxv + .byte W03 + .byte 80*mus_fune_kan_mvl/mxv + .byte N12 , Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte N48 , Dn4 + .byte W18 + .byte MOD , 4 + .byte W30 + .byte 0 + .byte N48 , Cs4 + .byte W06 + .byte VOL , 69*mus_fune_kan_mvl/mxv + .byte W09 + .byte 61*mus_fune_kan_mvl/mxv + .byte W03 + .byte MOD , 4 + .byte W06 + .byte VOL , 54*mus_fune_kan_mvl/mxv + .byte W06 + .byte 44*mus_fune_kan_mvl/mxv + .byte W06 + .byte 32*mus_fune_kan_mvl/mxv + .byte W06 + .byte 20*mus_fune_kan_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W96 + .byte GOTO + .word mus_fune_kan_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_fune_kan_6: + .byte KEYSH , mus_fune_kan_key+0 + .byte LFOS , 35 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_fune_kan_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte VOICE , 86 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte PAN , c_v+48 + .byte N24 , An2 , v032 + .byte W24 + .byte N12 , An2 , v040 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W06 + .byte MOD , 4 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 86 + .byte MOD , 0 + .byte N12 , Bn2 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W06 + .byte MOD , 4 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 86 + .byte MOD , 0 + .byte N12 , An2 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W06 + .byte MOD , 4 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 86 + .byte MOD , 0 + .byte N12 , An2 , v052 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W06 + .byte MOD , 4 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte MOD , 0 + .byte N06 , Dn3 , v040 + .byte W12 + .byte Fs2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fs2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Cs3 + .byte W12 + .byte En2 + .byte W12 + .byte Cs3 + .byte W12 + .byte En3 + .byte W12 + .byte Cs3 + .byte W12 + .byte En2 + .byte W12 + .byte Cs3 + .byte W12 + .byte En3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte Fs2 + .byte W12 + .byte An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Fs2 + .byte W12 + .byte An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte VOICE , 82 + .byte N12 , Dn3 + .byte W12 + .byte VOICE , 87 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N06 + .byte W12 + .byte VOICE , 82 + .byte N12 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte VOICE , 87 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte N12 , En3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N03 , Bn2 + .byte W06 + .byte N09 + .byte W24 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N09 + .byte W24 + .byte N12 , Fs3 , v052 + .byte W12 + .byte Gn3 + .byte W12 + .byte VOICE , 82 + .byte N12 , An3 + .byte W12 + .byte VOICE , 87 + .byte N12 + .byte W06 + .byte MOD , 4 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte MOD , 0 + .byte N12 , Cs4 , v060 + .byte W12 + .byte VOICE , 87 + .byte N12 + .byte W06 + .byte MOD , 4 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 86 + .byte MOD , 0 + .byte W12 + .byte N06 , Dn3 , v048 + .byte W18 + .byte An2 + .byte W12 + .byte Dn3 + .byte W06 + .byte N21 , Cs3 + .byte W12 + .byte VOL , 71*mus_fune_kan_mvl/mxv + .byte W03 + .byte 54*mus_fune_kan_mvl/mxv + .byte W03 + .byte 30*mus_fune_kan_mvl/mxv + .byte W03 + .byte 8*mus_fune_kan_mvl/mxv + .byte W03 + .byte 80*mus_fune_kan_mvl/mxv + .byte N24 , An2 + .byte W12 + .byte VOL , 71*mus_fune_kan_mvl/mxv + .byte W03 + .byte 54*mus_fune_kan_mvl/mxv + .byte W03 + .byte 30*mus_fune_kan_mvl/mxv + .byte W03 + .byte 8*mus_fune_kan_mvl/mxv + .byte W03 + .byte 80*mus_fune_kan_mvl/mxv + .byte N24 , Fs2 , v052 + .byte W12 + .byte VOL , 71*mus_fune_kan_mvl/mxv + .byte W03 + .byte 54*mus_fune_kan_mvl/mxv + .byte W03 + .byte 30*mus_fune_kan_mvl/mxv + .byte W03 + .byte 8*mus_fune_kan_mvl/mxv + .byte W09 + .byte 80*mus_fune_kan_mvl/mxv + .byte N06 , Dn3 , v048 + .byte W12 + .byte Bn2 + .byte W06 + .byte N24 , Cs3 + .byte W12 + .byte VOL , 71*mus_fune_kan_mvl/mxv + .byte W03 + .byte 54*mus_fune_kan_mvl/mxv + .byte W03 + .byte 30*mus_fune_kan_mvl/mxv + .byte W03 + .byte 8*mus_fune_kan_mvl/mxv + .byte W03 + .byte 80*mus_fune_kan_mvl/mxv + .byte N24 , En3 + .byte W12 + .byte VOL , 71*mus_fune_kan_mvl/mxv + .byte W03 + .byte 54*mus_fune_kan_mvl/mxv + .byte W03 + .byte 30*mus_fune_kan_mvl/mxv + .byte W03 + .byte 8*mus_fune_kan_mvl/mxv + .byte W03 + .byte VOICE , 86 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte N12 , Dn3 , v052 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W06 + .byte MOD , 4 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 86 + .byte MOD , 0 + .byte N12 , Gn3 , v060 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W06 + .byte MOD , 4 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 84 + .byte MOD , 0 + .byte BEND , c_v+4 + .byte W04 + .byte N08 , Dn5 , v032 + .byte W08 + .byte An4 + .byte W08 + .byte En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte An3 + .byte W08 + .byte En3 + .byte W08 + .byte BEND , c_v+0 + .byte N09 , Cs3 , v040 + .byte W10 + .byte Gn3 + .byte W10 + .byte Cs4 + .byte W09 + .byte Gn4 + .byte W10 + .byte N04 , Cs5 + .byte W05 + .byte VOICE , 86 + .byte N24 , Fs2 , v052 + .byte W12 + .byte VOL , 71*mus_fune_kan_mvl/mxv + .byte W03 + .byte 54*mus_fune_kan_mvl/mxv + .byte W03 + .byte 30*mus_fune_kan_mvl/mxv + .byte W03 + .byte 8*mus_fune_kan_mvl/mxv + .byte W03 + .byte 80*mus_fune_kan_mvl/mxv + .byte N18 , An2 + .byte W09 + .byte VOL , 52*mus_fune_kan_mvl/mxv + .byte W03 + .byte 36*mus_fune_kan_mvl/mxv + .byte W03 + .byte 15*mus_fune_kan_mvl/mxv + .byte W03 + .byte 80*mus_fune_kan_mvl/mxv + .byte N06 , An3 + .byte W06 + .byte N12 , As3 + .byte W18 + .byte An3 + .byte W18 + .byte Gn3 + .byte W12 + .byte N17 , Dn3 + .byte W09 + .byte VOL , 52*mus_fune_kan_mvl/mxv + .byte W03 + .byte 36*mus_fune_kan_mvl/mxv + .byte W03 + .byte 15*mus_fune_kan_mvl/mxv + .byte W01 + .byte N08 , An2 + .byte W02 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte W06 + .byte N08 , Fs2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Fs2 + .byte W08 + .byte N24 , Fs3 + .byte W12 + .byte VOL , 71*mus_fune_kan_mvl/mxv + .byte W03 + .byte 54*mus_fune_kan_mvl/mxv + .byte W03 + .byte 30*mus_fune_kan_mvl/mxv + .byte W03 + .byte 8*mus_fune_kan_mvl/mxv + .byte W03 + .byte 80*mus_fune_kan_mvl/mxv + .byte N24 , As3 + .byte W12 + .byte VOL , 71*mus_fune_kan_mvl/mxv + .byte W03 + .byte 54*mus_fune_kan_mvl/mxv + .byte W03 + .byte 30*mus_fune_kan_mvl/mxv + .byte W03 + .byte 8*mus_fune_kan_mvl/mxv + .byte W03 + .byte 80*mus_fune_kan_mvl/mxv + .byte N12 , Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte N21 , Dn4 + .byte W12 + .byte VOL , 71*mus_fune_kan_mvl/mxv + .byte W03 + .byte 54*mus_fune_kan_mvl/mxv + .byte W03 + .byte 30*mus_fune_kan_mvl/mxv + .byte W03 + .byte 8*mus_fune_kan_mvl/mxv + .byte W03 + .byte 80*mus_fune_kan_mvl/mxv + .byte N21 , En4 + .byte W12 + .byte VOL , 71*mus_fune_kan_mvl/mxv + .byte W03 + .byte 54*mus_fune_kan_mvl/mxv + .byte W03 + .byte 30*mus_fune_kan_mvl/mxv + .byte W03 + .byte 8*mus_fune_kan_mvl/mxv + .byte W03 + .byte 80*mus_fune_kan_mvl/mxv + .byte N12 , Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte VOICE , 86 + .byte N12 , An3 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W06 + .byte MOD , 4 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 86 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte VOL , 69*mus_fune_kan_mvl/mxv + .byte W06 + .byte VOICE , 88 + .byte N12 + .byte W03 + .byte VOL , 61*mus_fune_kan_mvl/mxv + .byte W03 + .byte MOD , 4 + .byte W06 + .byte VOL , 54*mus_fune_kan_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 44*mus_fune_kan_mvl/mxv + .byte W06 + .byte 32*mus_fune_kan_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 20*mus_fune_kan_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W96 + .byte GOTO + .word mus_fune_kan_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_fune_kan_7: + .byte KEYSH , mus_fune_kan_key+0 + .byte VOICE , 1 + .byte VOL , 80*mus_fune_kan_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_fune_kan_7_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_fune_kan_7_000: + .byte W24 + .byte N06 , Fs2 , v064 + .byte W06 + .byte Fs2 , v044 + .byte W06 + .byte Fs2 , v020 + .byte W06 + .byte Fs2 , v008 + .byte W30 + .byte Fs2 , v064 + .byte W06 + .byte Fs2 , v044 + .byte W06 + .byte Fs2 , v020 + .byte W06 + .byte Fs2 , v008 + .byte W06 + .byte PEND + .byte PATT + .word mus_fune_kan_7_000 + .byte N06 , Fs2 , v064 + .byte W06 + .byte Fs2 , v044 + .byte W06 + .byte Fs2 , v020 + .byte W06 + .byte Fs2 , v008 + .byte W78 + .byte Fs2 , v064 + .byte W06 + .byte Fs2 , v044 + .byte W06 + .byte Fs2 , v020 + .byte W06 + .byte Fs2 , v008 + .byte W06 + .byte Fs2 , v064 + .byte W06 + .byte Fs2 , v032 + .byte W06 + .byte Fs2 , v016 + .byte W06 + .byte Fs2 , v008 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte N03 , Fs2 , v052 + .byte W03 + .byte Fs2 , v056 + .byte W03 + .byte N06 , En1 , v127 + .byte W06 + .byte Fs2 , v044 + .byte W06 + .byte En1 , v127 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte En1 , v127 + .byte W06 + .byte Fs2 , v056 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte Fs1 , v060 + .byte W12 + .byte Fs2 , v064 + .byte W06 + .byte Fs2 , v032 + .byte W06 + .byte Fs1 , v060 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte En1 , v127 + .byte W12 + .byte As1 , v060 + .byte W06 + .byte Fs1 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte Fs1 , v060 + .byte W12 + .byte Fs2 , v064 + .byte W06 + .byte Fs2 , v032 + .byte W06 + .byte Fs1 , v060 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte En1 , v127 + .byte W12 + .byte Fs1 , v060 + .byte W06 + .byte As1 + .byte W06 + .byte Fs1 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Fs2 , v064 + .byte W06 + .byte Fs2 , v032 + .byte W06 + .byte Fs1 , v060 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte En1 , v127 + .byte W12 + .byte As1 , v060 + .byte W06 + .byte Fs1 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte Fs1 , v060 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte En1 , v127 + .byte W12 + .byte Fs1 , v060 + .byte W06 + .byte As1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte En1 , v127 + .byte W12 + .byte En1 , v100 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte Fs1 , v060 + .byte W12 + .byte En1 , v127 + .byte W12 + .byte Fs1 , v060 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte En1 , v127 + .byte W12 + .byte As1 , v060 + .byte W06 + .byte Fs1 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte Fs1 , v060 + .byte W12 + .byte En1 , v127 + .byte W12 + .byte Fs1 , v060 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte En1 , v127 + .byte W12 + .byte Fs1 , v060 + .byte W06 + .byte As1 + .byte W06 + .byte Fs1 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte En1 , v127 + .byte W12 + .byte Fs1 , v060 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte En1 , v127 + .byte W12 + .byte As1 , v060 + .byte W06 + .byte Fs1 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Fs1 , v060 + .byte W12 + .byte En1 , v127 + .byte W12 + .byte Fs1 , v060 + .byte W06 + .byte As1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte En1 , v127 + .byte W24 + .byte W96 + .byte GOTO + .word mus_fune_kan_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_fune_kan: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_fune_kan_pri @ Priority + .byte mus_fune_kan_rev @ Reverb. + + .word mus_fune_kan_grp + + .word mus_fune_kan_1 + .word mus_fune_kan_2 + .word mus_fune_kan_3 + .word mus_fune_kan_4 + .word mus_fune_kan_5 + .word mus_fune_kan_6 + .word mus_fune_kan_7 + + .end diff --git a/sound/songs/mus_gim.s b/sound/songs/mus_gim.s new file mode 100644 index 0000000000..6ff527d5cd --- /dev/null +++ b/sound/songs/mus_gim.s @@ -0,0 +1,1884 @@ + .include "MPlayDef.s" + + .equ mus_gim_grp, voicegroup_8677FF0 + .equ mus_gim_pri, 0 + .equ mus_gim_rev, reverb_set+50 + .equ mus_gim_mvl, 127 + .equ mus_gim_key, 0 + .equ mus_gim_tbs, 1 + .equ mus_gim_exg, 0 + .equ mus_gim_cmp, 1 + + .section .rodata + .global mus_gim + .align 2 + +@********************** Track 1 **********************@ + +mus_gim_1: + .byte KEYSH , mus_gim_key+0 +mus_gim_1_B1: + .byte TEMPO , 128*mus_gim_tbs/2 + .byte VOICE , 56 + .byte PAN , c_v+10 + .byte VOL , 80*mus_gim_mvl/mxv + .byte BEND , c_v+0 + .byte N30 , En4 , v108 + .byte W15 + .byte MOD , 6 + .byte W03 + .byte VOL , 70*mus_gim_mvl/mxv + .byte W03 + .byte 59*mus_gim_mvl/mxv + .byte W03 + .byte 46*mus_gim_mvl/mxv + .byte W03 + .byte 26*mus_gim_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_gim_mvl/mxv + .byte W06 + .byte 80*mus_gim_mvl/mxv + .byte N06 , Bn3 + .byte W06 + .byte En4 + .byte W06 + .byte N30 , Dn4 + .byte W15 + .byte MOD , 6 + .byte W03 + .byte VOL , 70*mus_gim_mvl/mxv + .byte W03 + .byte 59*mus_gim_mvl/mxv + .byte W03 + .byte 46*mus_gim_mvl/mxv + .byte W03 + .byte 26*mus_gim_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_gim_mvl/mxv + .byte W06 + .byte 80*mus_gim_mvl/mxv + .byte N06 , Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N66 , Cs4 + .byte W24 + .byte W03 + .byte MOD , 6 + .byte W24 + .byte W03 + .byte VOL , 70*mus_gim_mvl/mxv + .byte W03 + .byte 59*mus_gim_mvl/mxv + .byte W03 + .byte 46*mus_gim_mvl/mxv + .byte W03 + .byte 26*mus_gim_mvl/mxv + .byte W03 + .byte 0*mus_gim_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 80*mus_gim_mvl/mxv + .byte N24 , Ds4 + .byte W24 + .byte N66 , En4 + .byte W24 + .byte MOD , 6 + .byte W30 + .byte VOL , 70*mus_gim_mvl/mxv + .byte W03 + .byte 59*mus_gim_mvl/mxv + .byte W03 + .byte 46*mus_gim_mvl/mxv + .byte W03 + .byte 26*mus_gim_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_gim_mvl/mxv + .byte W06 + .byte 80*mus_gim_mvl/mxv + .byte N06 , Bn3 + .byte W06 + .byte N18 , En4 + .byte W18 + .byte N06 , Fs4 + .byte W18 + .byte Dn4 + .byte W06 + .byte N66 + .byte W18 + .byte MOD , 6 + .byte W36 + .byte VOL , 70*mus_gim_mvl/mxv + .byte W03 + .byte 59*mus_gim_mvl/mxv + .byte W03 + .byte 46*mus_gim_mvl/mxv + .byte W03 + .byte 26*mus_gim_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_gim_mvl/mxv + .byte W06 + .byte 80*mus_gim_mvl/mxv + .byte N66 , En4 + .byte W30 + .byte MOD , 6 + .byte W24 + .byte VOL , 70*mus_gim_mvl/mxv + .byte W03 + .byte 59*mus_gim_mvl/mxv + .byte W03 + .byte 46*mus_gim_mvl/mxv + .byte W03 + .byte 26*mus_gim_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_gim_mvl/mxv + .byte W06 + .byte 80*mus_gim_mvl/mxv + .byte N06 , Bn3 + .byte W06 + .byte N18 , En4 + .byte W18 + .byte N06 , Dn4 + .byte W12 + .byte N06 + .byte W06 + .byte En4 + .byte W06 + .byte N66 , Fs4 + .byte W24 + .byte W03 + .byte MOD , 6 + .byte W24 + .byte W03 + .byte VOL , 70*mus_gim_mvl/mxv + .byte W03 + .byte 59*mus_gim_mvl/mxv + .byte W03 + .byte 46*mus_gim_mvl/mxv + .byte W03 + .byte 26*mus_gim_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_gim_mvl/mxv + .byte W06 + .byte 80*mus_gim_mvl/mxv + .byte N66 , Gs4 + .byte W30 + .byte MOD , 6 + .byte W24 + .byte VOL , 70*mus_gim_mvl/mxv + .byte W03 + .byte 59*mus_gim_mvl/mxv + .byte W03 + .byte 46*mus_gim_mvl/mxv + .byte W03 + .byte 26*mus_gim_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_gim_mvl/mxv + .byte W06 + .byte 80*mus_gim_mvl/mxv + .byte N06 , Fs4 + .byte W06 + .byte N18 , Gs4 + .byte W18 + .byte N12 , An4 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Dn5 + .byte W18 + .byte N06 , An4 + .byte W06 + .byte N24 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N66 , Gs4 + .byte W24 + .byte MOD , 6 + .byte W30 + .byte VOL , 70*mus_gim_mvl/mxv + .byte W03 + .byte 59*mus_gim_mvl/mxv + .byte W03 + .byte 46*mus_gim_mvl/mxv + .byte W03 + .byte 26*mus_gim_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_gim_mvl/mxv + .byte W06 + .byte 80*mus_gim_mvl/mxv + .byte N06 , Fs4 + .byte W06 + .byte N18 , Gs4 + .byte W18 + .byte N12 , An4 + .byte W12 + .byte N06 , Fs4 + .byte W06 + .byte An4 + .byte W06 + .byte N48 , Dn5 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , Cs5 , v112 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte VOICE , 60 + .byte MOD , 0 + .byte N36 , Bn2 , v108 + .byte W36 + .byte En3 + .byte W36 + .byte N24 , Bn2 + .byte W24 + .byte Dn3 + .byte W24 + .byte Cs3 + .byte W24 + .byte Bn2 + .byte W24 + .byte An2 + .byte W24 + .byte N06 , Gs2 + .byte W12 + .byte N06 + .byte W06 + .byte An2 + .byte W06 + .byte N30 , Bn2 + .byte W36 + .byte N12 + .byte W12 + .byte N06 , En3 + .byte W06 + .byte N18 , Bn2 + .byte W18 + .byte N24 , Dn3 + .byte W24 + .byte Cn3 + .byte W24 + .byte Bn2 + .byte W24 + .byte An2 + .byte W24 + .byte VOICE , 48 + .byte N36 , Bn4 , v096 + .byte W36 + .byte En5 + .byte W36 + .byte N24 , Bn4 + .byte W24 + .byte Dn5 + .byte W24 + .byte Cs5 + .byte W24 + .byte Bn4 + .byte W24 + .byte An4 + .byte W24 + .byte N06 , Gs4 + .byte W12 + .byte N06 + .byte W06 + .byte An4 + .byte W06 + .byte N24 , Bn4 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Cs5 + .byte W06 + .byte N24 , Dn5 + .byte W24 + .byte N06 , En5 + .byte W12 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte N48 , Gs5 + .byte W48 + .byte N24 , Fs5 + .byte W24 + .byte GOTO + .word mus_gim_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_gim_2: + .byte VOL , 80*mus_gim_mvl/mxv + .byte KEYSH , mus_gim_key+0 +mus_gim_2_B1: + .byte VOICE , 87 + .byte N12 , En2 , v080 + .byte W12 + .byte N03 , En1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Bn1 + .byte W06 + .byte En2 + .byte W06 + .byte N12 , Dn2 + .byte W12 + .byte N03 , Dn1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Bn1 + .byte W06 + .byte Dn2 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte N03 , Cs1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte Cs2 + .byte W06 + .byte N09 , Bn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N21 + .byte W24 +mus_gim_2_000: + .byte N06 , En1 , v080 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N18 + .byte W18 + .byte PEND +mus_gim_2_001: + .byte N06 , Dn1 , v080 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N18 + .byte W18 + .byte PEND + .byte PATT + .word mus_gim_2_000 + .byte N06 , Dn1 , v080 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte An1 + .byte W12 + .byte Dn1 + .byte W06 + .byte N18 , Fs1 + .byte W18 + .byte PATT + .word mus_gim_2_000 + .byte PATT + .word mus_gim_2_001 + .byte PATT + .word mus_gim_2_000 + .byte N06 , Dn1 , v080 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte Fs1 + .byte W12 + .byte En1 + .byte W06 + .byte N18 , An1 + .byte W18 + .byte PATT + .word mus_gim_2_000 + .byte PATT + .word mus_gim_2_001 + .byte N06 , Cs1 , v080 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte En1 + .byte W06 + .byte N18 , Cs1 + .byte W18 + .byte N48 , Cn1 + .byte W48 + .byte Dn1 + .byte W48 + .byte N06 , En1 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W24 + .byte N24 + .byte W24 + .byte N06 , Dn1 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W24 + .byte N06 , Fs1 + .byte W06 + .byte N18 , An1 + .byte W18 + .byte N06 , Gs1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N21 + .byte W24 + .byte N06 , Fs1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N21 + .byte W24 + .byte N06 , En1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N21 + .byte W24 + .byte Ds1 + .byte W24 + .byte N06 , Fs1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Ds2 + .byte W06 + .byte GOTO + .word mus_gim_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_gim_3: + .byte KEYSH , mus_gim_key+0 +mus_gim_3_B1: + .byte VOICE , 85 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v+48 + .byte VOL , 80*mus_gim_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Gs3 , v064 + .byte W12 + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte Fs3 + .byte W12 + .byte N03 , Fs2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte En3 + .byte W12 + .byte N03 , En2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte VOICE , 81 + .byte VOL , 49*mus_gim_mvl/mxv + .byte N12 , Fs3 + .byte W06 + .byte VOL , 52*mus_gim_mvl/mxv + .byte W03 + .byte 54*mus_gim_mvl/mxv + .byte W03 + .byte VOICE , 88 + .byte VOL , 58*mus_gim_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 62*mus_gim_mvl/mxv + .byte W06 + .byte 66*mus_gim_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 71*mus_gim_mvl/mxv + .byte W03 + .byte 76*mus_gim_mvl/mxv + .byte W03 + .byte 80*mus_gim_mvl/mxv + .byte N12 + .byte W12 + .byte VOICE , 81 + .byte N12 , En3 , v052 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W12 + .byte MOD , 3 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 81 + .byte MOD , 0 + .byte N06 , Gs2 + .byte W12 + .byte En2 + .byte W12 + .byte N03 , Gs2 + .byte W06 + .byte N18 , Bn2 + .byte W18 +mus_gim_3_000: + .byte N12 , Dn3 , v052 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W12 + .byte MOD , 3 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 81 + .byte MOD , 0 + .byte N06 , Fs3 + .byte W12 + .byte N12 , An2 + .byte W12 + .byte N06 , Dn3 + .byte W06 + .byte N18 , Fs3 + .byte W18 + .byte PEND +mus_gim_3_001: + .byte N12 , En3 , v052 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W12 + .byte MOD , 3 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 81 + .byte MOD , 0 + .byte N06 , Gs2 + .byte W12 + .byte En2 + .byte W12 + .byte N03 , Gs2 + .byte W06 + .byte N18 , Bn2 + .byte W18 + .byte PEND + .byte PATT + .word mus_gim_3_000 + .byte PATT + .word mus_gim_3_001 + .byte N12 , Dn3 , v052 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W12 + .byte MOD , 3 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 81 + .byte MOD , 0 + .byte N12 , Fs3 + .byte W18 + .byte N06 , Dn3 + .byte W06 + .byte N24 + .byte W24 + .byte PATT + .word mus_gim_3_001 + .byte N12 , Dn3 , v052 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W12 + .byte MOD , 3 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 81 + .byte MOD , 0 + .byte N24 , Fs3 + .byte W24 + .byte An2 + .byte W24 + .byte BEND , c_v-4 + .byte W96 + .byte W96 + .byte W60 + .byte c_v+0 + .byte W12 + .byte VOICE , 85 + .byte PAN , c_v+0 + .byte N06 , Gs3 , v064 + .byte W06 + .byte N18 , En3 + .byte W18 + .byte N12 + .byte W03 + .byte VOL , 70*mus_gim_mvl/mxv + .byte W03 + .byte 49*mus_gim_mvl/mxv + .byte W05 + .byte 52*mus_gim_mvl/mxv + .byte W01 + .byte VOICE , 89 + .byte N12 + .byte W04 + .byte VOL , 56*mus_gim_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte W03 + .byte VOL , 59*mus_gim_mvl/mxv + .byte W03 + .byte N12 + .byte W02 + .byte VOL , 62*mus_gim_mvl/mxv + .byte W05 + .byte 66*mus_gim_mvl/mxv + .byte W05 + .byte 69*mus_gim_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 73*mus_gim_mvl/mxv + .byte W07 + .byte VOICE , 85 + .byte VOL , 80*mus_gim_mvl/mxv + .byte MOD , 0 + .byte N12 , Fs3 + .byte W03 + .byte VOL , 70*mus_gim_mvl/mxv + .byte W03 + .byte 49*mus_gim_mvl/mxv + .byte W05 + .byte 52*mus_gim_mvl/mxv + .byte W01 + .byte VOICE , 89 + .byte N12 + .byte W03 + .byte MOD , 6 + .byte W01 + .byte VOL , 56*mus_gim_mvl/mxv + .byte W05 + .byte 59*mus_gim_mvl/mxv + .byte W03 + .byte N12 + .byte W02 + .byte VOL , 62*mus_gim_mvl/mxv + .byte W05 + .byte 66*mus_gim_mvl/mxv + .byte W05 + .byte 69*mus_gim_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 73*mus_gim_mvl/mxv + .byte W07 + .byte VOICE , 85 + .byte VOL , 79*mus_gim_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v+47 + .byte N12 , Bn3 , v060 + .byte W12 + .byte N03 , Bn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , En3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W12 + .byte N06 + .byte W12 + .byte En3 + .byte W06 + .byte N18 , Gs3 + .byte W18 + .byte N12 , An3 + .byte W12 + .byte N03 , An2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Dn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W12 + .byte N06 + .byte W12 + .byte Fs3 + .byte W06 + .byte N18 , An3 + .byte W18 + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte BEND , c_v+5 + .byte N06 , Gs2 , v088 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte PAN , c_v+48 + .byte BEND , c_v-2 + .byte N06 , En5 , v052 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v+5 + .byte N06 , Fs2 , v088 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte PAN , c_v-47 + .byte BEND , c_v-2 + .byte N06 , Dn5 , v052 + .byte W06 + .byte Bn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v+5 + .byte N06 , En2 , v088 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte PAN , c_v+48 + .byte BEND , c_v-2 + .byte N06 , Bn4 , v052 + .byte W06 + .byte Gs4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v+5 + .byte N12 , Ds2 , v088 + .byte W30 + .byte PAN , c_v-47 + .byte BEND , c_v-2 + .byte N06 , Bn3 , v052 + .byte W06 + .byte Fs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte GOTO + .word mus_gim_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_gim_4: + .byte KEYSH , mus_gim_key+0 +mus_gim_4_B1: + .byte VOICE , 84 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v-48 + .byte VOL , 80*mus_gim_mvl/mxv + .byte N12 , Bn3 , v064 + .byte W12 + .byte N03 , Bn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte An3 + .byte W12 + .byte N03 , An2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte An3 + .byte W12 + .byte N03 , An2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte VOICE , 80 + .byte VOL , 49*mus_gim_mvl/mxv + .byte N48 , An3 + .byte W06 + .byte VOL , 52*mus_gim_mvl/mxv + .byte W03 + .byte MOD , 6 + .byte VOL , 54*mus_gim_mvl/mxv + .byte W03 + .byte 58*mus_gim_mvl/mxv + .byte W06 + .byte 62*mus_gim_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 66*mus_gim_mvl/mxv + .byte W06 + .byte 71*mus_gim_mvl/mxv + .byte W03 + .byte 76*mus_gim_mvl/mxv + .byte W03 + .byte MOD , 6 + .byte VOL , 80*mus_gim_mvl/mxv + .byte W12 +mus_gim_4_000: + .byte N48 , Gs3 , v052 + .byte W24 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N06 , Bn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte N03 , Bn2 + .byte W06 + .byte N18 , En3 + .byte W18 + .byte PEND +mus_gim_4_001: + .byte N48 , Fs3 , v052 + .byte W24 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N06 , An3 + .byte W12 + .byte N12 , Dn3 + .byte W12 + .byte N06 , Fs3 + .byte W06 + .byte N18 , An3 + .byte W18 + .byte PEND + .byte PATT + .word mus_gim_4_000 + .byte PATT + .word mus_gim_4_001 + .byte PATT + .word mus_gim_4_000 + .byte N48 , Fs3 , v052 + .byte W24 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N12 , An3 + .byte W18 + .byte N06 , Fs3 + .byte W06 + .byte N24 + .byte W24 + .byte PATT + .word mus_gim_4_000 + .byte N48 , Fs3 , v052 + .byte W24 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N24 , An3 + .byte W24 + .byte En3 + .byte W24 + .byte W96 + .byte W96 + .byte W72 + .byte VOICE , 84 + .byte PAN , c_v+0 + .byte N06 , Bn3 , v064 + .byte W06 + .byte N18 , Gs3 + .byte W18 + .byte N48 , Gn3 + .byte W03 + .byte VOL , 70*mus_gim_mvl/mxv + .byte W03 + .byte 49*mus_gim_mvl/mxv + .byte W05 + .byte 52*mus_gim_mvl/mxv + .byte W05 + .byte 56*mus_gim_mvl/mxv + .byte W05 + .byte 59*mus_gim_mvl/mxv + .byte W05 + .byte 62*mus_gim_mvl/mxv + .byte W05 + .byte 66*mus_gim_mvl/mxv + .byte W05 + .byte 69*mus_gim_mvl/mxv + .byte W05 + .byte 73*mus_gim_mvl/mxv + .byte W07 + .byte 80*mus_gim_mvl/mxv + .byte N48 , An3 + .byte W03 + .byte VOL , 70*mus_gim_mvl/mxv + .byte W03 + .byte 49*mus_gim_mvl/mxv + .byte W05 + .byte 52*mus_gim_mvl/mxv + .byte W05 + .byte 56*mus_gim_mvl/mxv + .byte W05 + .byte 59*mus_gim_mvl/mxv + .byte W05 + .byte 62*mus_gim_mvl/mxv + .byte W05 + .byte 66*mus_gim_mvl/mxv + .byte W05 + .byte 69*mus_gim_mvl/mxv + .byte W05 + .byte 73*mus_gim_mvl/mxv + .byte W07 + .byte VOICE , 84 + .byte PAN , c_v+0 + .byte VOL , 79*mus_gim_mvl/mxv + .byte N12 , En4 , v060 + .byte W12 + .byte N03 , En3 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-49 + .byte W06 + .byte c_v+0 + .byte N06 + .byte W06 + .byte PAN , c_v-49 + .byte W06 + .byte c_v+0 + .byte N06 , Bn3 + .byte W06 + .byte N18 , En4 + .byte W18 + .byte N12 , Dn4 + .byte W12 + .byte N03 , Dn3 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte PAN , c_v-48 + .byte W06 + .byte c_v+0 + .byte N06 + .byte W06 + .byte PAN , c_v-49 + .byte W06 + .byte c_v-1 + .byte N06 , An3 + .byte W06 + .byte N18 , Dn4 + .byte W18 + .byte VOICE , 80 + .byte N06 , En3 , v072 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , En5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+1 + .byte N06 , Dn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Bn2 + .byte W06 + .byte En3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte PAN , c_v-47 + .byte N06 , Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte En4 + .byte W06 + .byte Bn3 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Bn2 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Bn3 + .byte W06 + .byte Fs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Ds5 + .byte W06 + .byte GOTO + .word mus_gim_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_gim_5: + .byte VOL , 80*mus_gim_mvl/mxv + .byte KEYSH , mus_gim_key+0 +mus_gim_5_B1: + .byte PAN , c_v+15 + .byte W96 + .byte W96 + .byte VOICE , 56 + .byte W96 + .byte W96 + .byte W96 + .byte W42 + .byte N03 , Bn3 , v092 + .byte W03 + .byte Cs4 + .byte W03 + .byte N09 , Dn4 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte Dn4 + .byte W06 + .byte N18 , Cs4 + .byte W18 + .byte N48 , Bn3 + .byte W30 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N06 , En4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W06 + .byte N18 , En4 + .byte W18 + .byte N12 , Dn4 + .byte W18 + .byte N06 , An3 + .byte W06 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , An4 + .byte W18 + .byte N06 , Dn4 + .byte W06 + .byte N24 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N06 , Bn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte As3 + .byte W06 + .byte N18 , Bn3 + .byte W09 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N06 , En4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W06 + .byte N18 , En4 + .byte W09 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N12 , Fs4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N48 , An4 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte VOICE , 48 + .byte MOD , 0 + .byte N06 , Bn3 , v044 + .byte W12 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W12 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W12 + .byte Bn3 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte An3 + .byte W12 + .byte Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W12 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W12 + .byte An3 + .byte W06 + .byte N12 , Dn4 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte Gs3 + .byte W12 + .byte En4 , v048 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W12 + .byte N12 , En4 , v076 + .byte W12 + .byte N06 , Gs4 + .byte W06 + .byte N18 , Bn4 + .byte W18 + .byte N48 , Cn5 , v112 + .byte W03 + .byte VOL , 70*mus_gim_mvl/mxv + .byte W03 + .byte 49*mus_gim_mvl/mxv + .byte W05 + .byte 52*mus_gim_mvl/mxv + .byte W05 + .byte 56*mus_gim_mvl/mxv + .byte W05 + .byte 59*mus_gim_mvl/mxv + .byte W05 + .byte 62*mus_gim_mvl/mxv + .byte W05 + .byte 66*mus_gim_mvl/mxv + .byte W05 + .byte 69*mus_gim_mvl/mxv + .byte W05 + .byte 73*mus_gim_mvl/mxv + .byte W07 + .byte 80*mus_gim_mvl/mxv + .byte N48 , Dn5 + .byte W03 + .byte VOL , 70*mus_gim_mvl/mxv + .byte W03 + .byte 49*mus_gim_mvl/mxv + .byte W05 + .byte 52*mus_gim_mvl/mxv + .byte W05 + .byte 56*mus_gim_mvl/mxv + .byte W05 + .byte 59*mus_gim_mvl/mxv + .byte W05 + .byte 62*mus_gim_mvl/mxv + .byte W05 + .byte 66*mus_gim_mvl/mxv + .byte W05 + .byte 69*mus_gim_mvl/mxv + .byte W05 + .byte 73*mus_gim_mvl/mxv + .byte W07 + .byte 79*mus_gim_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_gim_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_gim_6: + .byte VOL , 80*mus_gim_mvl/mxv + .byte KEYSH , mus_gim_key+0 +mus_gim_6_B1: + .byte VOICE , 47 + .byte PAN , c_v-17 + .byte BEND , c_v+0 + .byte N12 , En2 , v116 + .byte W18 + .byte N06 , Bn1 + .byte W06 + .byte N12 , En2 , v127 + .byte W24 + .byte Dn2 , v116 + .byte W18 + .byte N06 , An1 + .byte W06 + .byte N12 , Dn2 , v127 + .byte W24 + .byte Cs2 , v116 + .byte W18 + .byte N06 , An1 + .byte W06 + .byte N12 , Cs2 , v127 + .byte W24 + .byte Cs2 , v116 + .byte W24 + .byte N06 , Ds2 , v127 + .byte W06 + .byte N18 + .byte W18 + .byte N12 , En2 + .byte W72 + .byte N06 , En2 , v088 + .byte W06 + .byte N12 , Bn1 + .byte W18 +mus_gim_6_000: + .byte N12 , Dn2 , v100 + .byte W48 + .byte N12 + .byte W24 + .byte N06 , Dn2 , v088 + .byte W06 + .byte N12 , An1 + .byte W18 + .byte PEND +mus_gim_6_001: + .byte N12 , En2 , v100 + .byte W72 + .byte N06 , En2 , v088 + .byte W06 + .byte N12 , Bn1 + .byte W18 + .byte PEND + .byte PATT + .word mus_gim_6_000 + .byte PATT + .word mus_gim_6_001 + .byte PATT + .word mus_gim_6_000 + .byte PATT + .word mus_gim_6_001 + .byte N12 , Dn2 , v100 + .byte W48 + .byte Dn2 , v088 + .byte W24 + .byte N06 + .byte W06 + .byte N12 , Cs2 + .byte W18 + .byte En2 , v127 + .byte W96 + .byte W96 + .byte W72 + .byte N06 , En2 , v112 + .byte W06 + .byte N12 , Bn1 + .byte W18 + .byte Cn2 , v127 + .byte W36 + .byte N06 , Cn2 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Dn2 + .byte W24 + .byte N06 , Dn2 , v127 + .byte W06 + .byte N18 + .byte W18 + .byte N12 , En2 + .byte W72 + .byte N06 , Bn1 , v076 + .byte W06 + .byte N12 , En2 , v100 + .byte W18 + .byte Dn2 + .byte W72 + .byte N06 , An1 , v076 + .byte W06 + .byte N12 , Dn2 , v100 + .byte W18 + .byte En2 + .byte W18 + .byte N06 , Bn1 + .byte W06 + .byte N12 , En2 , v112 + .byte W24 + .byte Dn2 , v100 + .byte W18 + .byte N06 , Bn1 + .byte W06 + .byte N12 , Dn2 , v112 + .byte W24 + .byte Bn1 , v100 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Bn1 , v112 + .byte W24 + .byte N06 , Dn2 + .byte W06 + .byte Bn1 , v064 + .byte W06 + .byte Dn2 , v072 + .byte W06 + .byte Bn1 , v080 + .byte W06 + .byte Dn2 , v092 + .byte W06 + .byte Bn1 , v100 + .byte W06 + .byte Dn2 , v108 + .byte W06 + .byte Bn1 , v116 + .byte W06 + .byte GOTO + .word mus_gim_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_gim_7: + .byte KEYSH , mus_gim_key+0 +mus_gim_7_B1: + .byte VOICE , 0 + .byte VOL , 80*mus_gim_mvl/mxv + .byte N06 , En1 , v112 + .byte N48 , Bn2 , v092 + .byte W12 + .byte N06 , En1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte N48 , Bn2 , v092 + .byte W12 + .byte N06 , En1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte N03 , En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte N48 , Bn2 , v092 + .byte W06 + .byte N06 , En1 , v080 + .byte W06 + .byte En1 , v100 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte En1 , v092 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte N03 , En1 , v112 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte N48 , Bn2 , v092 + .byte W18 + .byte N06 , En1 , v080 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v080 + .byte W12 + .byte En1 , v088 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte N03 , En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 +mus_gim_7_000: + .byte N06 , En1 , v112 + .byte W18 + .byte En1 , v080 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v080 + .byte W12 + .byte En1 , v088 + .byte W12 + .byte N03 , En1 , v112 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND +mus_gim_7_001: + .byte N06 , En1 , v112 + .byte W18 + .byte En1 , v080 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v080 + .byte W12 + .byte En1 , v088 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte N03 , En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND + .byte PATT + .word mus_gim_7_000 + .byte PATT + .word mus_gim_7_001 + .byte PATT + .word mus_gim_7_000 + .byte PATT + .word mus_gim_7_001 + .byte PATT + .word mus_gim_7_000 + .byte N48 , Bn2 , v092 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte N03 , En1 , v076 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte En1 , v052 + .byte W03 + .byte En1 , v056 + .byte W03 + .byte En1 , v060 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte En1 , v072 + .byte W03 + .byte En1 , v080 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v088 + .byte W03 + .byte En1 , v092 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v100 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte N06 , En1 , v112 + .byte N48 , Bn2 , v092 + .byte W12 + .byte N06 , En1 , v112 + .byte W24 + .byte En1 , v088 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W24 + .byte N03 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W24 + .byte En1 , v088 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte En1 , v096 + .byte W12 + .byte En1 , v112 + .byte N48 , Bn2 , v092 + .byte W12 + .byte N06 , En1 , v088 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte N48 , Bn2 , v092 + .byte W03 + .byte N03 , En1 , v084 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte En1 , v112 + .byte N48 , Bn2 , v092 + .byte W12 + .byte N06 , En1 , v108 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte N03 , En1 , v112 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte En1 , v052 + .byte W03 + .byte En1 , v056 + .byte W03 + .byte En1 , v060 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte En1 , v072 + .byte N24 , Bn2 , v092 + .byte W03 + .byte N03 , En1 , v080 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v088 + .byte W03 + .byte En1 , v092 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v100 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte GOTO + .word mus_gim_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_gim: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_gim_pri @ Priority + .byte mus_gim_rev @ Reverb. + + .word mus_gim_grp + + .word mus_gim_1 + .word mus_gim_2 + .word mus_gim_3 + .word mus_gim_4 + .word mus_gim_5 + .word mus_gim_6 + .word mus_gim_7 + + .end diff --git a/sound/songs/mus_girl_sup.s b/sound/songs/mus_girl_sup.s new file mode 100644 index 0000000000..6b9d074c72 --- /dev/null +++ b/sound/songs/mus_girl_sup.s @@ -0,0 +1,2588 @@ + .include "MPlayDef.s" + + .equ mus_girl_sup_grp, voicegroup_8686474 + .equ mus_girl_sup_pri, 0 + .equ mus_girl_sup_rev, reverb_set+50 + .equ mus_girl_sup_mvl, 127 + .equ mus_girl_sup_key, 0 + .equ mus_girl_sup_tbs, 1 + .equ mus_girl_sup_exg, 0 + .equ mus_girl_sup_cmp, 1 + + .section .rodata + .global mus_girl_sup + .align 2 + +@********************** Track 1 **********************@ + +mus_girl_sup_1: + .byte KEYSH , mus_girl_sup_key+0 + .byte TEMPO , 128*mus_girl_sup_tbs/2 + .byte VOICE , 17 + .byte PAN , c_v+0 + .byte VOL , 39*mus_girl_sup_mvl/mxv + .byte LFOS , 44 + .byte W96 + .byte W72 + .byte VOL , 43*mus_girl_sup_mvl/mxv + .byte W12 + .byte N06 , Cs5 , v112 + .byte W06 + .byte Ds5 + .byte W06 +mus_girl_sup_1_B1: + .byte VOL , 43*mus_girl_sup_mvl/mxv + .byte N06 , Fn5 , v112 + .byte W12 + .byte Fs5 + .byte W09 + .byte N03 , An5 , v088 + .byte W03 + .byte N06 , Gs5 , v112 + .byte W12 + .byte N24 + .byte W24 + .byte N12 , Fs5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N06 , Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N03 , En5 , v088 + .byte W03 + .byte N42 , Ds5 , v112 + .byte W42 + .byte N03 , En5 + .byte W03 + .byte N12 , Fn5 + .byte W12 + .byte N03 , En5 , v080 + .byte W03 + .byte Ds5 , v064 + .byte W03 + .byte Dn5 , v044 + .byte W03 + .byte Cs5 , v040 + .byte W03 + .byte As4 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Gs4 + .byte W12 + .byte Gs5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N12 , Fn5 + .byte W24 + .byte N06 , Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N24 , Ds5 + .byte W24 + .byte N06 , Fn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Gs5 + .byte W12 + .byte N03 , Cn6 , v088 + .byte W03 + .byte N15 , Cs6 , v112 + .byte W15 + .byte N03 , As5 , v088 + .byte W03 + .byte Gs5 , v068 + .byte W03 + .byte N06 , Fn5 , v112 + .byte W12 + .byte Fs5 + .byte W06 + .byte N18 , Fn5 + .byte W18 + .byte N30 , Ds5 + .byte W30 + .byte N06 , Gs4 + .byte W06 + .byte N03 , Bn4 , v056 + .byte W03 + .byte Cs5 , v072 + .byte W03 + .byte Ds5 , v080 + .byte W03 + .byte Fs5 , v084 + .byte W03 + .byte N24 , Gs5 , v112 + .byte W24 + .byte N06 , Fs5 + .byte W12 + .byte Gs5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W24 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte W12 + .byte Gs5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Fn5 + .byte W24 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N24 , Ds5 + .byte W12 + .byte VOICE , 73 + .byte W12 + .byte VOL , 18*mus_girl_sup_mvl/mxv + .byte N36 , Fn5 + .byte W02 + .byte VOL , 19*mus_girl_sup_mvl/mxv + .byte W03 + .byte 21*mus_girl_sup_mvl/mxv + .byte W03 + .byte 22*mus_girl_sup_mvl/mxv + .byte W04 + .byte 27*mus_girl_sup_mvl/mxv + .byte W02 + .byte 31*mus_girl_sup_mvl/mxv + .byte W03 + .byte 38*mus_girl_sup_mvl/mxv + .byte W03 + .byte 42*mus_girl_sup_mvl/mxv + .byte W04 + .byte 47*mus_girl_sup_mvl/mxv + .byte W02 + .byte 51*mus_girl_sup_mvl/mxv + .byte W03 + .byte 53*mus_girl_sup_mvl/mxv + .byte W07 + .byte 39*mus_girl_sup_mvl/mxv + .byte N06 , As4 + .byte W06 + .byte N06 + .byte W06 + .byte Cs5 + .byte W12 + .byte As4 + .byte W12 + .byte Cs5 + .byte W06 + .byte N18 , Ds5 + .byte W18 + .byte VOL , 18*mus_girl_sup_mvl/mxv + .byte N36 , Fn5 + .byte W02 + .byte VOL , 19*mus_girl_sup_mvl/mxv + .byte W03 + .byte 21*mus_girl_sup_mvl/mxv + .byte W03 + .byte 22*mus_girl_sup_mvl/mxv + .byte W04 + .byte 27*mus_girl_sup_mvl/mxv + .byte W02 + .byte 31*mus_girl_sup_mvl/mxv + .byte W03 + .byte 38*mus_girl_sup_mvl/mxv + .byte W03 + .byte 42*mus_girl_sup_mvl/mxv + .byte W04 + .byte 47*mus_girl_sup_mvl/mxv + .byte W02 + .byte 51*mus_girl_sup_mvl/mxv + .byte W03 + .byte 53*mus_girl_sup_mvl/mxv + .byte W13 + .byte 39*mus_girl_sup_mvl/mxv + .byte N06 , Gs4 + .byte W06 + .byte Cs5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Fs5 + .byte W06 + .byte N18 , Fn5 + .byte W18 + .byte N06 , Gs5 + .byte W06 + .byte N03 , Gn5 , v088 + .byte W03 + .byte Fs5 , v080 + .byte W03 + .byte Fn5 , v072 + .byte W03 + .byte En5 , v064 + .byte W03 + .byte Ds5 , v056 + .byte W30 + .byte N12 , Gs5 , v112 + .byte W12 + .byte N03 , Fs5 + .byte W12 + .byte N06 , Fn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte N30 , Bn4 + .byte W30 + .byte N06 , Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Fn5 + .byte W06 + .byte N12 , Gs5 + .byte W12 + .byte N06 , As5 + .byte W12 + .byte Gs5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N36 , Fn5 + .byte W36 + .byte N06 , En5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N24 , Cs5 + .byte W24 + .byte N18 , Ds5 + .byte W24 + .byte N06 , Fn5 + .byte W12 + .byte Ds5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N24 , Cs5 + .byte W24 + .byte N06 , Ds5 + .byte W06 + .byte N06 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N06 + .byte W06 + .byte Ds5 + .byte W06 + .byte N03 , Fn5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Gs5 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Fs5 , v072 + .byte W03 + .byte En5 , v064 + .byte W03 + .byte Ds5 , v056 + .byte W03 + .byte Cs5 + .byte W03 + .byte VOL , 29*mus_girl_sup_mvl/mxv + .byte W03 + .byte VOICE , 17 + .byte N03 , Gn5 , v076 + .byte W03 + .byte N12 , Gs5 + .byte W15 + .byte N03 , Gn5 + .byte W03 + .byte N15 , Gs5 + .byte W15 + .byte N03 , Gn5 + .byte W03 + .byte N09 , Gs5 + .byte W09 + .byte N03 , Cs6 + .byte W03 + .byte N24 , Cn6 + .byte W24 + .byte N06 , Bn5 + .byte W06 + .byte As5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Fs5 + .byte W06 + .byte N30 , Gs5 + .byte W24 + .byte VOICE , 17 + .byte W06 + .byte N03 , Fs5 , v052 + .byte W03 + .byte Fn5 + .byte W03 + .byte N06 , Cs5 , v112 + .byte W06 + .byte Ds5 + .byte W06 + .byte GOTO + .word mus_girl_sup_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_girl_sup_2: + .byte KEYSH , mus_girl_sup_key+0 + .byte VOICE , 126 + .byte VOL , 36*mus_girl_sup_mvl/mxv + .byte PAN , c_v+63 + .byte W60 + .byte N12 , Gn4 , v112 + .byte W36 +mus_girl_sup_2_000: + .byte W12 + .byte N12 , Gn4 , v064 + .byte W24 + .byte Gn4 , v080 + .byte W24 + .byte Gn4 , v112 + .byte W36 + .byte PEND +mus_girl_sup_2_B1: +mus_girl_sup_2_001: + .byte W24 + .byte N06 , Gn4 , v112 + .byte W60 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_girl_sup_2_001 + .byte PATT + .word mus_girl_sup_2_001 + .byte PATT + .word mus_girl_sup_2_001 + .byte PATT + .word mus_girl_sup_2_001 + .byte PATT + .word mus_girl_sup_2_001 + .byte PATT + .word mus_girl_sup_2_001 + .byte PATT + .word mus_girl_sup_2_001 +mus_girl_sup_2_002: + .byte W12 + .byte N06 , Gn4 , v112 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_girl_sup_2_002 + .byte PATT + .word mus_girl_sup_2_002 + .byte PATT + .word mus_girl_sup_2_002 + .byte PATT + .word mus_girl_sup_2_002 + .byte PATT + .word mus_girl_sup_2_002 + .byte W60 + .byte N12 , Gn4 , v112 + .byte W36 + .byte PATT + .word mus_girl_sup_2_000 + .byte GOTO + .word mus_girl_sup_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_girl_sup_3: + .byte KEYSH , mus_girl_sup_key+0 + .byte VOICE , 36 + .byte PAN , c_v+0 + .byte VOL , 78*mus_girl_sup_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte BEND , c_v+0 + .byte N03 , Ds2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte Ds1 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , Ds2 + .byte W06 + .byte BEND , c_v-10 + .byte W03 + .byte c_v-23 + .byte W03 + .byte c_v-40 + .byte W03 + .byte c_v-60 + .byte W09 + .byte c_v+0 + .byte N06 , Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds2 + .byte W12 + .byte Gs2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gs1 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N06 , Gs1 + .byte W12 + .byte N03 , Gs2 + .byte W06 + .byte Gs1 + .byte W06 + .byte N24 , Gs2 + .byte W03 + .byte BEND , c_v-5 + .byte W09 + .byte c_v+0 + .byte W12 + .byte N06 , Gs1 + .byte W12 + .byte BEND , c_v-4 + .byte N24 , Gs2 + .byte W06 + .byte BEND , c_v+0 + .byte W18 +mus_girl_sup_3_B1: + .byte N18 , Cs1 , v112 + .byte W18 + .byte N03 + .byte W06 + .byte Cn2 + .byte W06 + .byte N06 , Cs1 + .byte W12 + .byte N03 , Cn1 + .byte W06 + .byte N36 , Cs1 + .byte W06 + .byte BEND , c_v+14 + .byte W06 + .byte c_v+0 + .byte W24 + .byte N03 , Cn2 + .byte W06 + .byte N06 , Gs1 + .byte W06 + .byte N18 , Cs1 + .byte W18 + .byte N03 + .byte W06 + .byte Cs2 + .byte W06 + .byte N06 , Cs1 + .byte W18 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N03 , Bn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte N18 , Fs1 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Fs2 + .byte W12 + .byte Fs1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Fs2 + .byte W06 + .byte Cn2 + .byte W06 + .byte N06 , Fs1 + .byte W06 + .byte N12 , Gs1 + .byte W12 + .byte N03 , Gs2 + .byte W12 + .byte N12 , As1 + .byte W12 + .byte N03 , As2 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte N03 , Bn2 + .byte W12 + .byte N06 , Cn2 + .byte W06 + .byte N03 , Cn3 + .byte W06 + .byte As2 + .byte W06 + .byte N06 , Ds1 + .byte W06 + .byte N18 , Cs1 + .byte W18 + .byte N03 + .byte W06 + .byte N06 , Cn2 + .byte W06 + .byte Cs1 + .byte W12 + .byte N03 , Cn1 + .byte W06 + .byte N36 , Cs1 + .byte W06 + .byte BEND , c_v+16 + .byte W06 + .byte c_v+0 + .byte W24 + .byte N06 , Cn2 + .byte W06 + .byte Gs1 + .byte W06 + .byte N18 , Cs1 + .byte W18 + .byte N03 + .byte W06 + .byte N06 , Cs2 + .byte W06 + .byte Cs1 + .byte W18 + .byte N12 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte Bn1 + .byte W12 + .byte Gs1 + .byte W06 + .byte N18 , Fs1 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Fs2 + .byte W12 + .byte Fs1 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Fs2 + .byte W06 + .byte N06 , Fs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N12 , Gs1 + .byte W12 + .byte N03 , Gs2 + .byte W12 + .byte N12 , As1 + .byte W12 + .byte N03 , As2 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte N03 , Bn2 + .byte W12 + .byte N06 , Cn2 + .byte W06 + .byte N03 , Cn3 + .byte W06 + .byte N06 , Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte BEND , c_v+0 + .byte N12 , Fs1 + .byte W18 + .byte N03 + .byte W18 + .byte N06 , Cs1 , v092 + .byte W06 + .byte Fn1 + .byte W06 + .byte N03 , Fs2 , v112 + .byte W12 + .byte N03 + .byte W12 + .byte Cs2 + .byte W06 + .byte N12 , Fs1 + .byte W12 + .byte N06 , Fn1 + .byte W06 + .byte N12 , Fs1 + .byte W18 + .byte N03 + .byte W18 + .byte N06 , Cs1 + .byte W12 + .byte Fs1 + .byte W06 + .byte N03 , Fs2 + .byte W06 + .byte Fs1 + .byte W06 + .byte N06 + .byte W06 + .byte N18 , Fs2 + .byte W05 + .byte BEND , c_v-16 + .byte W03 + .byte c_v-32 + .byte W04 + .byte c_v-52 + .byte W02 + .byte c_v-63 + .byte W04 + .byte c_v+0 + .byte N06 , En1 + .byte W06 + .byte N12 , Fn1 + .byte W18 + .byte N03 + .byte W18 + .byte N06 , Cs1 , v092 + .byte W06 + .byte Ds1 , v112 + .byte W06 + .byte N03 , Cn2 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N12 , Gs1 + .byte W12 + .byte N06 , En1 + .byte W06 + .byte N12 , Fn1 + .byte W18 + .byte N03 + .byte W18 + .byte N06 , Bn0 + .byte W06 + .byte Ds1 + .byte W06 + .byte N12 , Fn1 + .byte W18 + .byte N03 + .byte W18 + .byte N12 , En1 + .byte W12 + .byte Ds1 + .byte W18 + .byte N03 + .byte W18 + .byte N06 , As0 + .byte W06 + .byte Cs1 + .byte W06 + .byte Ds1 + .byte W06 + .byte N03 , As1 + .byte W06 + .byte Fs1 + .byte W06 + .byte N06 , Ds1 + .byte W06 + .byte As0 + .byte W12 + .byte N12 , Dn1 + .byte W12 + .byte Ds1 + .byte W18 + .byte N03 + .byte W18 + .byte N06 , Gs0 + .byte W06 + .byte Cn1 + .byte W06 + .byte N12 , Ds1 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , Cn2 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N03 , Ds2 + .byte W06 + .byte N03 + .byte W06 + .byte Ds1 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , Ds2 + .byte W24 + .byte N06 , Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds2 + .byte W12 + .byte Gs2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gs1 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N06 , Gs1 + .byte W12 + .byte N03 , Gs2 + .byte W12 + .byte N24 + .byte W03 + .byte BEND , c_v-5 + .byte W09 + .byte c_v+0 + .byte W12 + .byte N06 , Gs1 + .byte W12 + .byte BEND , c_v-4 + .byte N24 , Gs2 + .byte W06 + .byte BEND , c_v+0 + .byte W18 + .byte GOTO + .word mus_girl_sup_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_girl_sup_4: + .byte KEYSH , mus_girl_sup_key+0 + .byte VOICE , 56 + .byte VOL , 70*mus_girl_sup_mvl/mxv + .byte PAN , c_v+0 + .byte LFOS , 44 + .byte N03 , Fn4 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Ds4 , v060 + .byte W03 + .byte Cs4 + .byte W03 + .byte Cn4 + .byte W03 + .byte As3 + .byte W06 + .byte En4 , v112 + .byte W03 + .byte N06 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte W12 + .byte Cs4 + .byte W24 + .byte Dn4 + .byte W24 + .byte Ds4 + .byte W12 + .byte Gs4 + .byte W06 + .byte N03 , Fs4 , v064 + .byte W03 + .byte Fn4 + .byte W03 + .byte Ds4 + .byte W12 +mus_girl_sup_4_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+32 + .byte VOL , 51*mus_girl_sup_mvl/mxv + .byte N03 , Fn4 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Ds4 , v064 + .byte W03 + .byte Cs4 + .byte W03 + .byte Cn4 + .byte W03 + .byte As3 + .byte W09 + .byte Fn4 , v112 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W06 + .byte N12 , Ds4 + .byte W18 + .byte VOL , 51*mus_girl_sup_mvl/mxv + .byte N03 , Fn4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Ds4 , v064 + .byte W03 + .byte Cs4 + .byte W03 + .byte Cn4 + .byte W03 + .byte As3 + .byte W09 + .byte Fn4 , v112 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Fs4 , v064 + .byte W03 + .byte Fn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Cs4 + .byte W09 + .byte N12 , Gs4 , v112 + .byte W12 + .byte N03 , Fs4 + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte N03 , Ds4 + .byte W12 + .byte VOL , 51*mus_girl_sup_mvl/mxv + .byte N06 , Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N12 , Gs4 + .byte W12 + .byte N06 , As4 + .byte W12 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N36 , Cs4 + .byte W36 + .byte N06 , Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N24 , As3 + .byte W24 + .byte N18 , Cn4 + .byte W18 + .byte N06 , Cs4 + .byte W06 + .byte N36 , Ds4 + .byte W36 + .byte N06 , Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N24 , As3 + .byte W24 + .byte N06 , Cs4 + .byte W12 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Ds4 , v060 + .byte W03 + .byte Cs4 + .byte W03 + .byte Cn4 + .byte W03 + .byte As3 + .byte W06 + .byte En4 , v112 + .byte W03 + .byte N06 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte W12 + .byte Cs4 + .byte W24 + .byte Dn4 + .byte W24 + .byte Ds4 + .byte W12 + .byte Gs4 + .byte W06 + .byte N03 , Fs4 , v080 + .byte W03 + .byte En4 , v072 + .byte W03 + .byte Ds4 , v056 + .byte W12 + .byte GOTO + .word mus_girl_sup_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_girl_sup_5: + .byte KEYSH , mus_girl_sup_key+0 + .byte VOICE , 56 + .byte VOL , 66*mus_girl_sup_mvl/mxv + .byte PAN , c_v-26 + .byte LFOS , 44 + .byte N03 , As3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Gs3 , v060 + .byte W03 + .byte Fs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Ds3 + .byte W06 + .byte An3 , v112 + .byte W03 + .byte N06 , As3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gs3 + .byte W12 + .byte W12 + .byte As3 + .byte W24 + .byte Bn3 + .byte W24 + .byte Cn4 + .byte W12 + .byte Ds4 + .byte W06 + .byte N03 , Cs4 , v052 + .byte W03 + .byte Cn4 + .byte W03 + .byte As3 + .byte W12 +mus_girl_sup_5_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_girl_sup_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_girl_sup_6: + .byte KEYSH , mus_girl_sup_key+0 + .byte VOICE , 127 + .byte VOL , 36*mus_girl_sup_mvl/mxv + .byte PAN , c_v+63 + .byte N03 , En4 , v112 + .byte W12 + .byte En4 , v064 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte En4 , v112 + .byte W06 + .byte En4 , v080 + .byte W18 + .byte En4 , v064 + .byte W12 + .byte N03 + .byte W12 +mus_girl_sup_6_000: + .byte N03 , En4 , v112 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v112 + .byte W06 + .byte En4 , v080 + .byte W42 + .byte PEND +mus_girl_sup_6_B1: +mus_girl_sup_6_001: + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W18 + .byte PEND + .byte PATT + .word mus_girl_sup_6_001 + .byte PATT + .word mus_girl_sup_6_001 + .byte PATT + .word mus_girl_sup_6_001 + .byte PATT + .word mus_girl_sup_6_001 + .byte PATT + .word mus_girl_sup_6_001 + .byte PATT + .word mus_girl_sup_6_001 + .byte PATT + .word mus_girl_sup_6_001 +mus_girl_sup_6_002: + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W12 + .byte N03 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W18 + .byte En4 , v060 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W18 + .byte PEND + .byte PATT + .word mus_girl_sup_6_002 + .byte PATT + .word mus_girl_sup_6_002 + .byte PATT + .word mus_girl_sup_6_002 + .byte PATT + .word mus_girl_sup_6_002 + .byte PATT + .word mus_girl_sup_6_002 + .byte N03 , En4 , v112 + .byte W12 + .byte En4 , v064 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte En4 , v112 + .byte W06 + .byte En4 , v080 + .byte W18 + .byte En4 , v064 + .byte W12 + .byte N03 + .byte W12 + .byte PATT + .word mus_girl_sup_6_000 + .byte GOTO + .word mus_girl_sup_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_girl_sup_7: + .byte KEYSH , mus_girl_sup_key+0 + .byte VOICE , 80 + .byte PAN , c_v-62 + .byte VOL , 39*mus_girl_sup_mvl/mxv + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte N03 , As2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte Ds2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As2 + .byte W24 + .byte Fs2 + .byte W12 + .byte As2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Cn3 + .byte W12 +mus_girl_sup_7_000: + .byte W12 + .byte N06 , Cs3 , v112 + .byte W24 + .byte Dn3 + .byte W24 + .byte Ds3 + .byte W12 + .byte Gs3 + .byte W24 + .byte PEND +mus_girl_sup_7_B1: + .byte N24 , Fn3 , v112 + .byte W30 + .byte N06 + .byte W12 + .byte Cs3 + .byte W06 + .byte N24 , Fn3 + .byte W48 +mus_girl_sup_7_001: + .byte N30 , Fn3 , v112 + .byte W30 + .byte N03 , Fs3 , v096 + .byte W03 + .byte Gn3 + .byte W03 + .byte N21 , Gs3 , v112 + .byte W21 + .byte N03 , Gn3 , v100 + .byte W03 + .byte N12 , Fs3 , v112 + .byte W12 + .byte Fn3 + .byte W12 + .byte N09 , Fs3 + .byte W09 + .byte N03 , Gs3 , v096 + .byte W03 + .byte PEND +mus_girl_sup_7_002: + .byte N24 , As3 , v112 + .byte W30 + .byte N06 , Fs3 + .byte W12 + .byte Fn3 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte N03 , Dn4 + .byte W03 + .byte N09 , Cs4 + .byte W09 + .byte N06 , Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gs3 + .byte W06 + .byte PEND + .byte N03 , Ds3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Gs2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte As2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte N04 , Gs3 + .byte W04 + .byte N02 , Ds3 + .byte W04 + .byte Cn3 + .byte W04 + .byte N06 , Gs2 + .byte W06 + .byte N03 , Ds3 + .byte W03 + .byte En3 + .byte W03 + .byte N24 , Fn3 + .byte W30 + .byte N06 + .byte W12 + .byte Cs3 + .byte W06 + .byte N24 , Fn3 + .byte W36 + .byte N06 , Gs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte PATT + .word mus_girl_sup_7_001 + .byte PATT + .word mus_girl_sup_7_002 + .byte N03 , Ds3 , v112 + .byte W06 + .byte Cn3 + .byte W06 + .byte Gs2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte As2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte N04 , Gs3 + .byte W04 + .byte N02 , Ds3 + .byte W04 + .byte Cn3 + .byte W04 + .byte N04 , Gs2 + .byte W04 + .byte N02 , Cn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte VOL , 27*mus_girl_sup_mvl/mxv + .byte BEND , c_v+4 + .byte N03 , Fn4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Ds4 , v064 + .byte W03 + .byte Cs4 + .byte W03 + .byte Cn4 + .byte W03 + .byte As3 + .byte W09 + .byte Fn4 , v112 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W06 + .byte N12 , Ds4 + .byte W18 + .byte VOL , 27*mus_girl_sup_mvl/mxv + .byte N03 , Fn4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Ds4 , v064 + .byte W03 + .byte Cs4 + .byte W03 + .byte Cn4 + .byte W03 + .byte As3 + .byte W09 + .byte Fn4 , v112 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Fs4 , v064 + .byte W03 + .byte Fn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Cs4 + .byte W09 + .byte N12 , Gs4 , v112 + .byte W12 + .byte N03 , Fs4 + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte N03 , Ds4 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N12 , Gs4 + .byte W12 + .byte N06 , As4 + .byte W12 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N36 , Cs4 + .byte W36 + .byte N06 , Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N24 , As3 + .byte W24 + .byte N18 , Cn4 + .byte W18 + .byte N06 , Cs4 + .byte W06 + .byte N36 , Ds4 + .byte W36 + .byte N06 , Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N24 , As3 + .byte W24 + .byte N06 , Cs4 + .byte W12 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte VOL , 39*mus_girl_sup_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , As2 + .byte W06 + .byte N03 + .byte W06 + .byte Ds2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As2 + .byte W24 + .byte Fs2 + .byte W12 + .byte As2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PATT + .word mus_girl_sup_7_000 + .byte GOTO + .word mus_girl_sup_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_girl_sup_8: + .byte KEYSH , mus_girl_sup_key+0 + .byte VOICE , 81 + .byte PAN , c_v+63 + .byte VOL , 39*mus_girl_sup_mvl/mxv + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte N03 , Fs3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte As2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs3 + .byte W24 + .byte As2 + .byte W12 + .byte Ds3 + .byte W12 + .byte As2 + .byte W12 + .byte Gs2 + .byte W12 + .byte W12 + .byte Gs3 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Cn4 + .byte W24 +mus_girl_sup_8_B1: +mus_girl_sup_8_000: + .byte N24 , Cs4 , v112 + .byte W30 + .byte N06 + .byte W12 + .byte Gs3 + .byte W06 + .byte N24 , Cs4 + .byte W36 + .byte N06 + .byte W06 + .byte Cn4 + .byte W06 + .byte PEND +mus_girl_sup_8_001: + .byte N30 , Bn3 , v112 + .byte W30 + .byte N03 , Cs4 , v096 + .byte W03 + .byte Dn4 + .byte W03 + .byte N21 , Ds4 , v112 + .byte W21 + .byte N03 , Dn4 , v100 + .byte W03 + .byte N09 , Cs4 , v112 + .byte W09 + .byte N03 , Cn4 , v096 + .byte W03 + .byte N09 , Bn3 , v112 + .byte W09 + .byte N03 , Cn4 , v100 + .byte W03 + .byte N09 , Cs4 , v112 + .byte W09 + .byte N03 , Ds4 , v096 + .byte W03 + .byte PEND +mus_girl_sup_8_002: + .byte N24 , Fs4 , v112 + .byte W30 + .byte N06 , Cs4 + .byte W12 + .byte As3 + .byte W06 + .byte N12 , Cs4 + .byte W12 + .byte N03 , Fs4 + .byte W03 + .byte N09 , Fn4 + .byte W09 + .byte N06 , En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte PEND + .byte N03 , Cn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N04 , Ds4 + .byte W04 + .byte N02 , Cn4 + .byte W04 + .byte Gs3 + .byte W04 + .byte N06 , Ds3 + .byte W06 + .byte N03 , Gs3 + .byte W03 + .byte Cn4 + .byte W03 + .byte PATT + .word mus_girl_sup_8_000 + .byte PATT + .word mus_girl_sup_8_001 + .byte PATT + .word mus_girl_sup_8_002 + .byte N03 , Cn4 , v112 + .byte W06 + .byte Gs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N04 , Ds4 + .byte W04 + .byte N02 , Cn4 + .byte W04 + .byte Gs3 + .byte W04 + .byte N04 , Ds3 + .byte W04 + .byte N02 , Gs3 + .byte W04 + .byte Cn4 + .byte W04 + .byte N03 , As3 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Gs3 , v064 + .byte W03 + .byte Fs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Ds3 + .byte W09 + .byte Gs3 , v112 + .byte W12 + .byte Fs3 + .byte W12 + .byte Fn3 + .byte W06 + .byte N12 , Fs3 + .byte W18 + .byte N03 , An3 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Gs3 , v064 + .byte W03 + .byte Fs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Ds3 + .byte W09 + .byte An3 , v112 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , As3 , v064 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Fn3 + .byte W09 + .byte N12 , Cn4 , v112 + .byte W12 + .byte N03 , As3 + .byte W12 + .byte N12 , Gs3 + .byte W12 + .byte N03 , Fs3 + .byte W12 + .byte N06 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte N06 , Gs4 + .byte W12 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N36 , Fs3 + .byte W36 + .byte N06 , Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N24 , Ds3 + .byte W24 + .byte N18 , Fn3 + .byte W18 + .byte N06 , Fs3 + .byte W06 + .byte N36 , As3 + .byte W36 + .byte N06 , Gs3 + .byte W06 + .byte As3 + .byte W06 + .byte N24 , Fs3 + .byte W24 + .byte N06 , Gs3 + .byte W12 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Gs3 , v060 + .byte W03 + .byte Fs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Ds3 + .byte W06 + .byte An3 , v112 + .byte W03 + .byte N06 , As3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gs3 + .byte W12 + .byte W12 + .byte As3 + .byte W24 + .byte Bn3 + .byte W24 + .byte Cn4 + .byte W12 + .byte Ds4 , v088 + .byte W06 + .byte N03 , Cs4 , v064 + .byte W03 + .byte Cn4 , v056 + .byte W03 + .byte As3 , v044 + .byte W12 + .byte GOTO + .word mus_girl_sup_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_girl_sup_9: + .byte KEYSH , mus_girl_sup_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 70*mus_girl_sup_mvl/mxv + .byte N06 , En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte En1 + .byte W24 + .byte N06 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte En1 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 +mus_girl_sup_9_000: + .byte N06 , Cn1 , v112 + .byte W12 + .byte En1 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte PEND +mus_girl_sup_9_B1: +mus_girl_sup_9_001: + .byte N06 , Cn1 , v112 + .byte W24 + .byte En1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte En1 + .byte W12 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte PEND + .byte PATT + .word mus_girl_sup_9_001 + .byte PATT + .word mus_girl_sup_9_001 + .byte N06 , Cn1 , v112 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W06 + .byte En1 + .byte W12 + .byte Cn1 + .byte W06 + .byte En1 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word mus_girl_sup_9_001 + .byte PATT + .word mus_girl_sup_9_001 + .byte PATT + .word mus_girl_sup_9_001 + .byte N06 , Cn1 , v112 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W06 + .byte En1 + .byte W12 + .byte Cn1 + .byte W06 + .byte En1 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N04 , Cn1 + .byte W04 + .byte En1 + .byte W04 + .byte N04 + .byte W04 +mus_girl_sup_9_002: + .byte N06 , Cn1 , v112 + .byte W18 + .byte Dn1 + .byte W18 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte PEND + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte PATT + .word mus_girl_sup_9_002 + .byte N06 , Cn1 , v112 + .byte W12 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W18 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W18 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W18 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W18 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W12 + .byte N06 + .byte W06 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte En1 + .byte W24 + .byte N06 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte En1 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word mus_girl_sup_9_000 + .byte GOTO + .word mus_girl_sup_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_girl_sup_10: + .byte KEYSH , mus_girl_sup_key+0 + .byte VOICE , 83 + .byte VOL , 29*mus_girl_sup_mvl/mxv + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte W96 + .byte W84 + .byte BEND , c_v+4 + .byte N06 , Cs5 , v112 + .byte W06 + .byte Ds5 + .byte W06 +mus_girl_sup_10_B1: + .byte N06 , Fn5 , v112 + .byte W12 + .byte Fs5 + .byte W09 + .byte N03 , An5 , v088 + .byte W03 + .byte N06 , Gs5 , v112 + .byte W12 + .byte N24 + .byte W24 + .byte N12 , Fs5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N06 , Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N03 , En5 , v088 + .byte W03 + .byte N42 , Ds5 , v112 + .byte W42 + .byte N03 , En5 + .byte W03 + .byte N12 , Fn5 + .byte W12 + .byte N03 , En5 , v080 + .byte W03 + .byte Ds5 , v064 + .byte W03 + .byte Dn5 , v044 + .byte W03 + .byte Cs5 , v040 + .byte W03 + .byte As4 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Gs4 + .byte W12 + .byte Gs5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N12 , Fn5 + .byte W24 + .byte N06 , Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N24 , Ds5 + .byte W24 + .byte N06 , Fn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Gs5 + .byte W12 + .byte N03 , Cn6 , v088 + .byte W03 + .byte N15 , Cs6 , v112 + .byte W15 + .byte N03 , As5 , v088 + .byte W03 + .byte Gs5 , v068 + .byte W03 + .byte N06 , Fn5 , v112 + .byte W12 + .byte Fs5 + .byte W06 + .byte N18 , Fn5 + .byte W18 + .byte N30 , Ds5 + .byte W30 + .byte N06 , Gs4 + .byte W06 + .byte N03 , Bn4 , v056 + .byte W03 + .byte Cs5 , v072 + .byte W03 + .byte Ds5 , v080 + .byte W03 + .byte Fs5 , v084 + .byte W03 + .byte N24 , Gs5 , v112 + .byte W24 + .byte N06 , Fs5 + .byte W12 + .byte Gs5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W24 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte W12 + .byte Gs5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Fn5 + .byte W24 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N24 , Ds5 + .byte W12 + .byte VOICE , 84 + .byte W12 + .byte N36 , Fn5 + .byte W36 + .byte N06 , As4 + .byte W06 + .byte N06 + .byte W06 + .byte Cs5 + .byte W12 + .byte As4 + .byte W12 + .byte Cs5 + .byte W06 + .byte N18 , Ds5 + .byte W18 + .byte N36 , Fn5 + .byte W42 + .byte N06 , Gs4 + .byte W06 + .byte Cs5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Fs5 + .byte W06 + .byte N18 , Fn5 + .byte W18 + .byte N06 , Gs5 + .byte W06 + .byte N03 , Gn5 , v088 + .byte W03 + .byte Fs5 , v080 + .byte W03 + .byte Fn5 , v072 + .byte W03 + .byte En5 , v064 + .byte W03 + .byte Ds5 , v056 + .byte W30 + .byte N12 , Gs5 , v112 + .byte W12 + .byte N03 , Fs5 + .byte W12 + .byte N06 , Fn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte N30 , Bn4 + .byte W30 + .byte N06 , Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Fn5 + .byte W06 + .byte N12 , Gs5 + .byte W12 + .byte N06 , As5 + .byte W12 + .byte Gs5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N36 , Fn5 + .byte W36 + .byte N06 , En5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N24 , Cs5 + .byte W24 + .byte N18 , Ds5 + .byte W24 + .byte N06 , Fn5 + .byte W12 + .byte Ds5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N24 , Cs5 + .byte W24 + .byte N06 , Ds5 + .byte W06 + .byte N06 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N06 + .byte W06 + .byte Ds5 + .byte W06 + .byte N03 , Fn5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Gs5 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Fs5 , v072 + .byte W03 + .byte En5 , v064 + .byte W03 + .byte Ds5 , v056 + .byte W03 + .byte Cs5 + .byte W06 + .byte Gn5 , v080 + .byte W03 + .byte N12 , Gs5 + .byte W15 + .byte N03 , Gn5 + .byte W03 + .byte N15 , Gs5 + .byte W15 + .byte N03 , Gn5 + .byte W03 + .byte N09 , Gs5 + .byte W09 + .byte N03 , Cs6 + .byte W03 + .byte N24 , Cn6 + .byte W24 + .byte N06 , Bn5 + .byte W06 + .byte As5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Fs5 + .byte W06 + .byte N30 , Gs5 + .byte W30 + .byte N03 , Fs5 , v060 + .byte W03 + .byte Fn5 , v048 + .byte W03 + .byte N06 , Cs5 , v112 + .byte W06 + .byte Ds5 + .byte W06 + .byte GOTO + .word mus_girl_sup_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_girl_sup: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_girl_sup_pri @ Priority + .byte mus_girl_sup_rev @ Reverb. + + .word mus_girl_sup_grp + + .word mus_girl_sup_1 + .word mus_girl_sup_2 + .word mus_girl_sup_3 + .word mus_girl_sup_4 + .word mus_girl_sup_5 + .word mus_girl_sup_6 + .word mus_girl_sup_7 + .word mus_girl_sup_8 + .word mus_girl_sup_9 + .word mus_girl_sup_10 + + .end diff --git a/sound/songs/mus_girleye.s b/sound/songs/mus_girleye.s new file mode 100644 index 0000000000..34fb6beca4 --- /dev/null +++ b/sound/songs/mus_girleye.s @@ -0,0 +1,1267 @@ + .include "MPlayDef.s" + + .equ mus_girleye_grp, voicegroup_8683648 + .equ mus_girleye_pri, 0 + .equ mus_girleye_rev, reverb_set+50 + .equ mus_girleye_mvl, 127 + .equ mus_girleye_key, 0 + .equ mus_girleye_tbs, 1 + .equ mus_girleye_exg, 0 + .equ mus_girleye_cmp, 1 + + .section .rodata + .global mus_girleye + .align 2 + +@********************** Track 1 **********************@ + +mus_girleye_1: + .byte KEYSH , mus_girleye_key+0 + .byte TEMPO , 90*mus_girleye_tbs/2 + .byte VOICE , 1 + .byte VOL , 63*mus_girleye_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Ds3 , v112 + .byte W06 + .byte N42 , Ds4 + .byte W42 + .byte PAN , c_v+0 + .byte N06 , Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte As3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N03 , Gn3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte As3 + .byte W03 + .byte Gs3 + .byte W03 + .byte As3 + .byte W03 + .byte Ds4 + .byte W03 +mus_girleye_1_B1: + .byte PAN , c_v-39 + .byte W06 + .byte N03 , Gs3 , v112 + .byte W03 + .byte An3 + .byte W03 + .byte N06 , As3 + .byte W06 + .byte As3 , v032 + .byte W12 + .byte As3 , v112 + .byte W06 + .byte As3 , v032 + .byte W18 + .byte As3 , v112 + .byte W06 + .byte As3 , v032 + .byte W06 + .byte Ds4 , v112 + .byte W06 + .byte As3 + .byte W06 + .byte Gs3 + .byte W06 + .byte As3 + .byte W06 + .byte Gs3 + .byte W06 + .byte W06 + .byte N03 , An3 + .byte W03 + .byte Gs3 + .byte W03 + .byte N06 , Gn3 + .byte W06 + .byte Gn3 , v032 + .byte W12 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W18 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte Ds4 , v112 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte W06 + .byte N03 , Fs3 + .byte W03 + .byte Gn3 + .byte W03 + .byte N06 , Gs3 + .byte W06 + .byte Gs3 , v032 + .byte W12 + .byte Gs3 , v112 + .byte W06 + .byte Gs3 , v032 + .byte W18 + .byte Gs3 , v112 + .byte W06 + .byte Gs3 , v032 + .byte W06 + .byte Gs3 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte W12 + .byte Ds4 + .byte W06 + .byte Ds4 , v032 + .byte W12 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v032 + .byte W06 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W06 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W06 + .byte As3 , v112 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte GOTO + .word mus_girleye_1_B1 + .byte W96 + .byte FINE + +@********************** Track 2 **********************@ + +mus_girleye_2: + .byte KEYSH , mus_girleye_key+0 + .byte VOICE , 73 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 45*mus_girleye_mvl/mxv + .byte BEND , c_v+0 + .byte W96 +mus_girleye_2_B1: + .byte N03 , Fs5 , v072 + .byte W03 + .byte Gn5 , v080 + .byte W03 + .byte Gs5 , v092 + .byte W03 + .byte An5 , v096 + .byte W03 + .byte N36 , As5 , v112 + .byte W03 + .byte VOL , 31*mus_girleye_mvl/mxv + .byte W02 + .byte 32*mus_girleye_mvl/mxv + .byte W03 + .byte 34*mus_girleye_mvl/mxv + .byte W04 + .byte MOD , 5 + .byte VOL , 36*mus_girleye_mvl/mxv + .byte W02 + .byte 38*mus_girleye_mvl/mxv + .byte W03 + .byte 40*mus_girleye_mvl/mxv + .byte W03 + .byte 45*mus_girleye_mvl/mxv + .byte W04 + .byte 52*mus_girleye_mvl/mxv + .byte W02 + .byte 56*mus_girleye_mvl/mxv + .byte W03 + .byte 53*mus_girleye_mvl/mxv + .byte W01 + .byte 59*mus_girleye_mvl/mxv + .byte W02 + .byte 54*mus_girleye_mvl/mxv + .byte W01 + .byte 63*mus_girleye_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 45*mus_girleye_mvl/mxv + .byte N06 , As5 , v032 + .byte W06 + .byte As5 , v112 + .byte W06 + .byte N03 , As5 , v032 + .byte W03 + .byte En6 , v112 + .byte W03 + .byte N06 , Ds6 + .byte W06 + .byte As5 + .byte W06 + .byte Gs5 + .byte W06 + .byte N03 , An5 , v084 + .byte W03 + .byte As5 + .byte W03 + .byte N06 , Gs5 , v112 + .byte W06 + .byte N48 , Gn5 + .byte W06 + .byte VOL , 29*mus_girleye_mvl/mxv + .byte W02 + .byte 30*mus_girleye_mvl/mxv + .byte W04 + .byte 31*mus_girleye_mvl/mxv + .byte W02 + .byte 31*mus_girleye_mvl/mxv + .byte W03 + .byte 34*mus_girleye_mvl/mxv + .byte W03 + .byte 35*mus_girleye_mvl/mxv + .byte W04 + .byte MOD , 5 + .byte VOL , 37*mus_girleye_mvl/mxv + .byte W02 + .byte 40*mus_girleye_mvl/mxv + .byte W03 + .byte 45*mus_girleye_mvl/mxv + .byte W03 + .byte 53*mus_girleye_mvl/mxv + .byte W04 + .byte 57*mus_girleye_mvl/mxv + .byte W02 + .byte 61*mus_girleye_mvl/mxv + .byte W03 + .byte 64*mus_girleye_mvl/mxv + .byte W03 + .byte 66*mus_girleye_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 45*mus_girleye_mvl/mxv + .byte N06 , Gn5 , v032 + .byte W06 + .byte Gn5 , v112 + .byte W06 + .byte N03 , Gn5 , v032 + .byte W03 + .byte En6 , v112 + .byte W03 + .byte N06 , Ds6 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N03 , Fs5 , v088 + .byte W03 + .byte Gn5 + .byte W03 + .byte N06 , Fn5 , v112 + .byte W06 + .byte W06 + .byte N03 , As5 + .byte W03 + .byte VOL , 43*mus_girleye_mvl/mxv + .byte N03 , Cn6 + .byte W03 + .byte VOL , 39*mus_girleye_mvl/mxv + .byte N36 , Cs6 + .byte W02 + .byte VOL , 36*mus_girleye_mvl/mxv + .byte W03 + .byte 34*mus_girleye_mvl/mxv + .byte W03 + .byte 29*mus_girleye_mvl/mxv + .byte W04 + .byte MOD , 5 + .byte VOL , 27*mus_girleye_mvl/mxv + .byte W02 + .byte 26*mus_girleye_mvl/mxv + .byte W07 + .byte 34*mus_girleye_mvl/mxv + .byte W03 + .byte 36*mus_girleye_mvl/mxv + .byte W03 + .byte 40*mus_girleye_mvl/mxv + .byte W03 + .byte 54*mus_girleye_mvl/mxv + .byte W02 + .byte 53*mus_girleye_mvl/mxv + .byte W01 + .byte 63*mus_girleye_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 45*mus_girleye_mvl/mxv + .byte N06 , Cs6 , v032 + .byte W06 + .byte Cs6 , v112 + .byte W06 + .byte Cs6 , v032 + .byte W06 + .byte Ds6 , v112 + .byte W06 + .byte Cs6 + .byte W06 + .byte Cs6 , v032 + .byte W06 + .byte Fn5 , v112 + .byte W06 + .byte N03 , As5 , v084 + .byte W03 + .byte Bn5 + .byte W03 + .byte VOL , 36*mus_girleye_mvl/mxv + .byte N36 , Cn6 , v112 + .byte W02 + .byte VOL , 37*mus_girleye_mvl/mxv + .byte W03 + .byte 40*mus_girleye_mvl/mxv + .byte W03 + .byte 44*mus_girleye_mvl/mxv + .byte W04 + .byte 47*mus_girleye_mvl/mxv + .byte W02 + .byte 49*mus_girleye_mvl/mxv + .byte W03 + .byte 53*mus_girleye_mvl/mxv + .byte W03 + .byte 56*mus_girleye_mvl/mxv + .byte W04 + .byte MOD , 7 + .byte VOL , 59*mus_girleye_mvl/mxv + .byte W02 + .byte 60*mus_girleye_mvl/mxv + .byte W03 + .byte 62*mus_girleye_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte VOL , 45*mus_girleye_mvl/mxv + .byte N06 , Cs6 + .byte W06 + .byte Cn6 + .byte W06 + .byte N09 , As5 + .byte W09 + .byte N03 , Dn6 , v084 + .byte W03 + .byte N06 , Ds6 , v112 + .byte W06 + .byte Cs6 + .byte W06 + .byte Cn6 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Gn5 + .byte W06 + .byte GOTO + .word mus_girleye_2_B1 + .byte W96 + .byte FINE + +@********************** Track 3 **********************@ + +mus_girleye_3: + .byte KEYSH , mus_girleye_key+0 + .byte VOICE , 35 + .byte PAN , c_v+0 + .byte VOL , 72*mus_girleye_mvl/mxv + .byte BENDR , 12 + .byte BEND , c_v+0 + .byte W72 + .byte c_v-7 + .byte N24 , Ds2 , v112 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte c_v-64 + .byte W12 +mus_girleye_3_B1: + .byte BEND , c_v+0 + .byte N06 , Gs1 , v112 + .byte W06 + .byte Gs1 , v032 + .byte W12 + .byte Gs1 , v112 + .byte W06 + .byte N18 , Ds2 + .byte W18 + .byte N03 , Gs1 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Ds2 + .byte W03 + .byte Ds2 , v032 + .byte W03 + .byte N12 , Gs1 , v112 + .byte W12 + .byte N06 , Ds2 + .byte W06 + .byte Ds2 , v032 + .byte W06 + .byte Gs1 , v112 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Gs1 , v032 + .byte W12 + .byte Gs1 , v112 + .byte W06 + .byte N18 , Ds2 + .byte W18 + .byte N03 , Gs1 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Ds2 + .byte W03 + .byte Ds2 , v032 + .byte W03 + .byte N12 , Gs1 , v112 + .byte W12 + .byte N06 , Ds2 + .byte W06 + .byte Gs1 + .byte W06 + .byte Ds2 + .byte W06 + .byte Dn2 + .byte W06 + .byte As1 + .byte W06 + .byte As1 , v032 + .byte W12 + .byte As1 , v112 + .byte W06 + .byte N18 , Fn2 + .byte W18 + .byte N03 , As1 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Fn2 + .byte W03 + .byte Fn2 , v032 + .byte W03 + .byte N12 , As1 , v112 + .byte W12 + .byte N06 + .byte W06 + .byte Gs1 + .byte W06 + .byte As1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Ds2 , v032 + .byte W12 + .byte Ds2 , v112 + .byte W06 + .byte N18 , As2 + .byte W18 + .byte N03 , Ds2 + .byte W06 + .byte N06 + .byte W08 + .byte N03 , As2 + .byte W04 + .byte N12 , As1 + .byte N03 , As2 , v032 + .byte W12 + .byte N06 , Ds2 , v112 + .byte W06 + .byte As1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte GOTO + .word mus_girleye_3_B1 + .byte W96 + .byte FINE + +@********************** Track 4 **********************@ + +mus_girleye_4: + .byte KEYSH , mus_girleye_key+0 + .byte VOICE , 1 + .byte PAN , c_v+0 + .byte VOL , 51*mus_girleye_mvl/mxv + .byte W24 + .byte N06 , Ds3 , v112 + .byte W06 + .byte Ds4 + .byte W06 + .byte Ds5 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cn3 + .byte W06 + .byte N03 , As2 + .byte W03 + .byte Gs2 + .byte W03 + .byte As2 + .byte W03 + .byte Cs3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Gn3 + .byte W03 +mus_girleye_4_B1: + .byte W48 + .byte VOICE , 1 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_girleye_4_B1 + .byte W96 + .byte FINE + +@********************** Track 5 **********************@ + +mus_girleye_5: + .byte KEYSH , mus_girleye_key+0 + .byte VOICE , 83 + .byte LFOS , 44 + .byte VOL , 27*mus_girleye_mvl/mxv + .byte PAN , c_v+63 + .byte W96 +mus_girleye_5_B1: + .byte N03 , Fs4 , v072 + .byte W03 + .byte Gn4 , v080 + .byte W03 + .byte Gs4 , v092 + .byte W03 + .byte An4 , v096 + .byte W03 + .byte N36 , As4 , v104 + .byte W24 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , As4 , v032 + .byte W06 + .byte As4 , v100 + .byte W06 + .byte N03 , As4 , v032 + .byte W03 + .byte En5 , v080 + .byte W03 + .byte N06 , Ds5 + .byte W06 + .byte As4 , v096 + .byte W06 + .byte Gs4 , v100 + .byte W06 + .byte N03 , An4 , v084 + .byte W03 + .byte As4 + .byte W03 + .byte N06 , Gs4 , v096 + .byte W06 + .byte N48 , Gn4 + .byte W36 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , Gn4 , v032 + .byte W06 + .byte Gn4 , v096 + .byte W06 + .byte N03 , Gn4 , v032 + .byte W03 + .byte En5 , v080 + .byte W03 + .byte N06 , Ds5 + .byte W06 + .byte Gn4 , v096 + .byte W06 + .byte Fn4 + .byte W06 + .byte N03 , Fs4 , v088 + .byte W03 + .byte Gn4 + .byte W03 + .byte N06 , Fn4 , v096 + .byte W06 + .byte W06 + .byte N03 , As4 , v092 + .byte W03 + .byte Cn5 + .byte W03 + .byte N36 , Cs5 , v096 + .byte W24 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , Cs5 , v032 + .byte W06 + .byte Cs5 , v096 + .byte W06 + .byte Cs5 , v032 + .byte W06 + .byte Ds5 , v080 + .byte W06 + .byte Cs5 , v096 + .byte W06 + .byte Cs5 , v032 + .byte W06 + .byte Fn4 , v096 + .byte W06 + .byte N03 , As4 , v084 + .byte W03 + .byte Bn4 + .byte W03 + .byte N36 , Cn5 , v096 + .byte W24 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , Cs5 , v100 + .byte W06 + .byte Cn5 , v096 + .byte W06 + .byte N09 , As4 + .byte W09 + .byte N03 , Dn5 , v080 + .byte W03 + .byte N06 , Ds5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cn5 , v096 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte GOTO + .word mus_girleye_5_B1 + .byte W96 + .byte FINE + +@********************** Track 6 **********************@ + +mus_girleye_6: + .byte KEYSH , mus_girleye_key+0 + .byte VOICE , 48 + .byte PAN , c_v+32 + .byte LFOS , 44 + .byte VOL , 36*mus_girleye_mvl/mxv + .byte N06 , Ds3 , v112 + .byte W06 + .byte VOL , 33*mus_girleye_mvl/mxv + .byte N66 , Ds5 + .byte W02 + .byte VOL , 26*mus_girleye_mvl/mxv + .byte W01 + .byte 29*mus_girleye_mvl/mxv + .byte W03 + .byte 24*mus_girleye_mvl/mxv + .byte W02 + .byte 21*mus_girleye_mvl/mxv + .byte W03 + .byte 19*mus_girleye_mvl/mxv + .byte W03 + .byte 13*mus_girleye_mvl/mxv + .byte W04 + .byte 13*mus_girleye_mvl/mxv + .byte W02 + .byte 15*mus_girleye_mvl/mxv + .byte W01 + .byte 15*mus_girleye_mvl/mxv + .byte W05 + .byte 17*mus_girleye_mvl/mxv + .byte W04 + .byte 18*mus_girleye_mvl/mxv + .byte W02 + .byte 19*mus_girleye_mvl/mxv + .byte W03 + .byte 21*mus_girleye_mvl/mxv + .byte W03 + .byte 24*mus_girleye_mvl/mxv + .byte W04 + .byte 26*mus_girleye_mvl/mxv + .byte W02 + .byte 27*mus_girleye_mvl/mxv + .byte W03 + .byte 30*mus_girleye_mvl/mxv + .byte W03 + .byte 31*mus_girleye_mvl/mxv + .byte W04 + .byte MOD , 5 + .byte VOL , 34*mus_girleye_mvl/mxv + .byte W02 + .byte 36*mus_girleye_mvl/mxv + .byte W10 + .byte MOD , 0 + .byte VOL , 36*mus_girleye_mvl/mxv + .byte N03 , Cs5 + .byte W03 + .byte Cn5 , v096 + .byte W03 + .byte As4 , v092 + .byte W03 + .byte Gs4 + .byte W03 + .byte Gn4 , v088 + .byte W03 + .byte Fn4 + .byte W03 + .byte Ds4 , v080 + .byte W03 + .byte Cs4 , v072 + .byte W03 +mus_girleye_6_B1: + .byte VOL , 36*mus_girleye_mvl/mxv + .byte N03 , As3 , v088 + .byte W03 + .byte Cn4 , v100 + .byte W03 + .byte Cs4 , v112 + .byte W03 + .byte Dn4 + .byte W03 + .byte VOL , 27*mus_girleye_mvl/mxv + .byte N48 , Ds4 + .byte W02 + .byte VOL , 24*mus_girleye_mvl/mxv + .byte W04 + .byte 21*mus_girleye_mvl/mxv + .byte W08 + .byte 22*mus_girleye_mvl/mxv + .byte W04 + .byte 24*mus_girleye_mvl/mxv + .byte W02 + .byte 25*mus_girleye_mvl/mxv + .byte W04 + .byte 28*mus_girleye_mvl/mxv + .byte MOD , 5 + .byte W02 + .byte VOL , 31*mus_girleye_mvl/mxv + .byte W04 + .byte 34*mus_girleye_mvl/mxv + .byte W02 + .byte 36*mus_girleye_mvl/mxv + .byte W16 + .byte MOD , 0 + .byte N06 , Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte As3 + .byte W06 + .byte Gs3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOL , 27*mus_girleye_mvl/mxv + .byte N60 , Cn4 + .byte W02 + .byte VOL , 24*mus_girleye_mvl/mxv + .byte W04 + .byte 21*mus_girleye_mvl/mxv + .byte W08 + .byte 22*mus_girleye_mvl/mxv + .byte W04 + .byte 24*mus_girleye_mvl/mxv + .byte W02 + .byte 25*mus_girleye_mvl/mxv + .byte W04 + .byte 28*mus_girleye_mvl/mxv + .byte W02 + .byte 31*mus_girleye_mvl/mxv + .byte W04 + .byte 34*mus_girleye_mvl/mxv + .byte W02 + .byte 36*mus_girleye_mvl/mxv + .byte W07 + .byte MOD , 5 + .byte W21 + .byte 0 + .byte N06 , As3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte VOL , 27*mus_girleye_mvl/mxv + .byte N60 , Cs4 + .byte W02 + .byte VOL , 24*mus_girleye_mvl/mxv + .byte W04 + .byte 21*mus_girleye_mvl/mxv + .byte W08 + .byte 22*mus_girleye_mvl/mxv + .byte W04 + .byte 24*mus_girleye_mvl/mxv + .byte W02 + .byte 25*mus_girleye_mvl/mxv + .byte W04 + .byte 28*mus_girleye_mvl/mxv + .byte W02 + .byte 31*mus_girleye_mvl/mxv + .byte W04 + .byte 34*mus_girleye_mvl/mxv + .byte W02 + .byte 36*mus_girleye_mvl/mxv + .byte W04 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N06 , Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N12 , Cs4 + .byte W12 + .byte N06 , Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N18 , An3 + .byte W18 + .byte N06 , Cn4 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte GOTO + .word mus_girleye_6_B1 + .byte W96 + .byte FINE + +@********************** Track 7 **********************@ + +mus_girleye_7: + .byte KEYSH , mus_girleye_key+0 + .byte VOICE , 1 + .byte VOL , 53*mus_girleye_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Ds5 , v120 + .byte W06 + .byte N66 , Ds6 , v127 + .byte W90 +mus_girleye_7_B1: + .byte VOICE , 82 + .byte W12 + .byte N06 , Cn3 , v112 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte W12 + .byte Bn2 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte W12 + .byte Cs3 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte W12 + .byte Gn3 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Ds3 + .byte N06 , Gn3 + .byte W06 + .byte N06 + .byte W06 + .byte As2 + .byte W12 + .byte N06 + .byte W06 + .byte GOTO + .word mus_girleye_7_B1 + .byte W96 + .byte FINE + +@********************** Track 8 **********************@ + +mus_girleye_8: + .byte KEYSH , mus_girleye_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 12 + .byte xIECL , 12 + .byte VOL , 28*mus_girleye_mvl/mxv + .byte PAN , c_v-63 + .byte N06 , Ds5 , v080 + .byte W06 + .byte VOL , 28*mus_girleye_mvl/mxv + .byte N66 , Ds6 , v108 + .byte W02 + .byte VOL , 26*mus_girleye_mvl/mxv + .byte W04 + .byte 24*mus_girleye_mvl/mxv + .byte W02 + .byte 23*mus_girleye_mvl/mxv + .byte W03 + .byte 22*mus_girleye_mvl/mxv + .byte W03 + .byte 22*mus_girleye_mvl/mxv + .byte W07 + .byte 24*mus_girleye_mvl/mxv + .byte W06 + .byte 26*mus_girleye_mvl/mxv + .byte W03 + .byte 27*mus_girleye_mvl/mxv + .byte W03 + .byte 29*mus_girleye_mvl/mxv + .byte W03 + .byte 32*mus_girleye_mvl/mxv + .byte W03 + .byte 34*mus_girleye_mvl/mxv + .byte W03 + .byte MOD , 5 + .byte VOL , 36*mus_girleye_mvl/mxv + .byte W05 + .byte 37*mus_girleye_mvl/mxv + .byte W03 + .byte 39*mus_girleye_mvl/mxv + .byte W04 + .byte 40*mus_girleye_mvl/mxv + .byte W02 + .byte 41*mus_girleye_mvl/mxv + .byte W03 + .byte 43*mus_girleye_mvl/mxv + .byte W03 + .byte 44*mus_girleye_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 36*mus_girleye_mvl/mxv + .byte W24 +mus_girleye_8_B1: + .byte VOL , 36*mus_girleye_mvl/mxv + .byte W12 + .byte N06 , Gn3 , v112 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte Ds3 + .byte W06 + .byte W12 + .byte Dn3 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte W12 + .byte Fn3 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte W12 + .byte As3 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte GOTO + .word mus_girleye_8_B1 + .byte W96 + .byte FINE + +@********************** Track 9 **********************@ + +mus_girleye_9: + .byte KEYSH , mus_girleye_key+0 + .byte VOICE , 127 + .byte PAN , c_v+0 + .byte VOL , 33*mus_girleye_mvl/mxv + .byte W48 + .byte N01 , An4 , v112 + .byte W06 + .byte An4 , v064 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte An4 , v112 + .byte W03 + .byte An4 , v072 + .byte W03 + .byte An4 , v080 + .byte W03 + .byte An4 , v064 + .byte W03 + .byte N01 + .byte W03 + .byte An4 , v076 + .byte W03 + .byte N01 + .byte W03 + .byte An4 , v112 + .byte W03 +mus_girleye_9_B1: +mus_girleye_9_000: + .byte N01 , An4 , v112 + .byte W06 + .byte An4 , v048 + .byte W06 + .byte An4 , v076 + .byte W06 + .byte An4 , v044 + .byte W06 + .byte N02 , Gs3 , v112 + .byte W03 + .byte N03 , Fn4 , v064 + .byte W03 + .byte N01 , An4 , v048 + .byte W06 + .byte An4 , v076 + .byte W06 + .byte An4 , v044 + .byte W06 + .byte An4 , v072 + .byte W06 + .byte An4 , v048 + .byte W06 + .byte An4 , v112 + .byte W06 + .byte An4 , v044 + .byte W06 + .byte An4 , v108 + .byte W06 + .byte An4 , v048 + .byte W06 + .byte An4 , v112 + .byte W03 + .byte An4 , v076 + .byte W03 + .byte An4 , v096 + .byte W03 + .byte An4 , v076 + .byte W03 + .byte PEND +mus_girleye_9_001: + .byte N01 , An4 , v112 + .byte W06 + .byte An4 , v048 + .byte W06 + .byte An4 , v076 + .byte W06 + .byte An4 , v044 + .byte W06 + .byte N02 , Gs3 , v112 + .byte W03 + .byte N03 , Fn4 , v064 + .byte W03 + .byte N01 , An4 , v048 + .byte W06 + .byte An4 , v076 + .byte W06 + .byte An4 , v044 + .byte W06 + .byte An4 , v072 + .byte W06 + .byte An4 , v048 + .byte W06 + .byte An4 , v112 + .byte W06 + .byte An4 , v044 + .byte W06 + .byte An4 , v112 + .byte W03 + .byte An4 , v068 + .byte W03 + .byte An4 , v088 + .byte W03 + .byte An4 , v064 + .byte W03 + .byte N01 + .byte W03 + .byte An4 , v076 + .byte W03 + .byte An4 , v088 + .byte W03 + .byte An4 , v112 + .byte W03 + .byte PEND + .byte PATT + .word mus_girleye_9_000 + .byte PATT + .word mus_girleye_9_001 + .byte GOTO + .word mus_girleye_9_B1 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +mus_girleye: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_girleye_pri @ Priority + .byte mus_girleye_rev @ Reverb. + + .word mus_girleye_grp + + .word mus_girleye_1 + .word mus_girleye_2 + .word mus_girleye_3 + .word mus_girleye_4 + .word mus_girleye_5 + .word mus_girleye_6 + .word mus_girleye_7 + .word mus_girleye_8 + .word mus_girleye_9 + + .end diff --git a/sound/songs/mus_gomachi0.s b/sound/songs/mus_gomachi0.s new file mode 100644 index 0000000000..89c51c7e22 --- /dev/null +++ b/sound/songs/mus_gomachi0.s @@ -0,0 +1,2085 @@ + .include "MPlayDef.s" + + .equ mus_gomachi0_grp, voicegroup_86806E4 + .equ mus_gomachi0_pri, 0 + .equ mus_gomachi0_rev, reverb_set+50 + .equ mus_gomachi0_mvl, 127 + .equ mus_gomachi0_key, 0 + .equ mus_gomachi0_tbs, 1 + .equ mus_gomachi0_exg, 0 + .equ mus_gomachi0_cmp, 1 + + .section .rodata + .global mus_gomachi0 + .align 2 + +@********************** Track 1 **********************@ + +mus_gomachi0_1: + .byte KEYSH , mus_gomachi0_key+0 + .byte TEMPO , 84*mus_gomachi0_tbs/2 + .byte VOICE , 0 + .byte VOL , 88*mus_gomachi0_mvl/mxv + .byte PAN , c_v+16 + .byte N06 , An3 , v080 + .byte W06 + .byte Dn4 , v092 + .byte W06 + .byte En4 , v104 + .byte W06 +mus_gomachi0_1_B1: + .byte N36 , Fs4 , v116 + .byte W36 + .byte N12 , Gn4 , v088 + .byte W12 + .byte N36 , En4 , v104 + .byte W36 + .byte N12 , Fs4 , v092 + .byte W12 + .byte N36 , Cs4 , v096 + .byte W36 + .byte N12 , Dn4 , v088 + .byte W12 + .byte Bn3 , v092 + .byte W12 + .byte N09 , Cs4 , v096 + .byte W09 + .byte N03 , Ds4 , v080 + .byte W03 + .byte N06 , Dn4 , v108 + .byte W06 + .byte Cs4 , v096 + .byte W06 + .byte Dn4 , v100 + .byte W06 + .byte En4 , v108 + .byte W06 + .byte N18 , Bn4 , v076 + .byte W18 + .byte N42 , Dn4 , v092 + .byte W66 + .byte N12 , Fs4 , v108 + .byte W12 + .byte En4 + .byte W12 + .byte N02 , Dn4 , v088 + .byte W02 + .byte En4 + .byte W02 + .byte N08 , Dn4 , v104 + .byte W08 + .byte N12 , Cs4 , v092 + .byte W12 + .byte Bn3 , v088 + .byte W12 + .byte N06 , Cs4 , v092 + .byte W12 + .byte Dn4 , v104 + .byte W12 + .byte En4 , v108 + .byte W12 + .byte Gn4 , v112 + .byte W06 + .byte Cs4 , v088 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W68 + .byte W01 + .byte N03 , Ds4 , v092 + .byte W03 + .byte N06 , Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte GOTO + .word mus_gomachi0_1_B1 + .byte W96 + .byte FINE + +@********************** Track 2 **********************@ + +mus_gomachi0_2: + .byte KEYSH , mus_gomachi0_key+0 + .byte VOICE , 48 + .byte VOL , 90*mus_gomachi0_mvl/mxv + .byte PAN , c_v+32 + .byte W18 +mus_gomachi0_2_B1: + .byte PAN , c_v+32 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte VOL , 27*mus_gomachi0_mvl/mxv + .byte N36 , En3 , v060 + .byte W02 + .byte VOL , 36*mus_gomachi0_mvl/mxv + .byte W04 + .byte 41*mus_gomachi0_mvl/mxv + .byte W02 + .byte 52*mus_gomachi0_mvl/mxv + .byte W03 + .byte 58*mus_gomachi0_mvl/mxv + .byte W03 + .byte 64*mus_gomachi0_mvl/mxv + .byte W04 + .byte 68*mus_gomachi0_mvl/mxv + .byte W02 + .byte 74*mus_gomachi0_mvl/mxv + .byte W03 + .byte 79*mus_gomachi0_mvl/mxv + .byte W03 + .byte 89*mus_gomachi0_mvl/mxv + .byte W01 + .byte 90*mus_gomachi0_mvl/mxv + .byte W03 + .byte 59*mus_gomachi0_mvl/mxv + .byte W06 + .byte N06 , An2 + .byte W03 + .byte VOL , 68*mus_gomachi0_mvl/mxv + .byte W03 + .byte N06 , Cs3 + .byte W06 + .byte VOL , 45*mus_gomachi0_mvl/mxv + .byte N36 , Dn3 , v064 + .byte W02 + .byte VOL , 48*mus_gomachi0_mvl/mxv + .byte W04 + .byte 51*mus_gomachi0_mvl/mxv + .byte W02 + .byte 52*mus_gomachi0_mvl/mxv + .byte W03 + .byte 56*mus_gomachi0_mvl/mxv + .byte W03 + .byte 62*mus_gomachi0_mvl/mxv + .byte W04 + .byte 64*mus_gomachi0_mvl/mxv + .byte W02 + .byte 67*mus_gomachi0_mvl/mxv + .byte W04 + .byte 68*mus_gomachi0_mvl/mxv + .byte W12 + .byte N12 , An2 + .byte W12 + .byte VOL , 45*mus_gomachi0_mvl/mxv + .byte N36 , En3 + .byte W02 + .byte VOL , 48*mus_gomachi0_mvl/mxv + .byte W04 + .byte 51*mus_gomachi0_mvl/mxv + .byte W02 + .byte 52*mus_gomachi0_mvl/mxv + .byte W03 + .byte 56*mus_gomachi0_mvl/mxv + .byte W03 + .byte 62*mus_gomachi0_mvl/mxv + .byte W04 + .byte 64*mus_gomachi0_mvl/mxv + .byte W02 + .byte 67*mus_gomachi0_mvl/mxv + .byte W04 + .byte 68*mus_gomachi0_mvl/mxv + .byte W12 + .byte N12 , Gn3 + .byte W12 + .byte VOL , 52*mus_gomachi0_mvl/mxv + .byte N24 , Fs3 + .byte W02 + .byte VOL , 55*mus_gomachi0_mvl/mxv + .byte W04 + .byte 60*mus_gomachi0_mvl/mxv + .byte W02 + .byte 66*mus_gomachi0_mvl/mxv + .byte W03 + .byte 68*mus_gomachi0_mvl/mxv + .byte W13 + .byte N06 , An3 + .byte W06 + .byte N03 , Gn3 + .byte W03 + .byte En3 + .byte W03 + .byte N36 , Dn3 + .byte W12 + .byte VOL , 65*mus_gomachi0_mvl/mxv + .byte W02 + .byte 59*mus_gomachi0_mvl/mxv + .byte W04 + .byte 56*mus_gomachi0_mvl/mxv + .byte W02 + .byte 53*mus_gomachi0_mvl/mxv + .byte W03 + .byte 50*mus_gomachi0_mvl/mxv + .byte W03 + .byte 48*mus_gomachi0_mvl/mxv + .byte W04 + .byte 44*mus_gomachi0_mvl/mxv + .byte W02 + .byte 39*mus_gomachi0_mvl/mxv + .byte W04 + .byte 68*mus_gomachi0_mvl/mxv + .byte N06 , Bn3 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte VOL , 45*mus_gomachi0_mvl/mxv + .byte N36 , Gn3 + .byte W02 + .byte VOL , 48*mus_gomachi0_mvl/mxv + .byte W04 + .byte 51*mus_gomachi0_mvl/mxv + .byte W02 + .byte 52*mus_gomachi0_mvl/mxv + .byte W03 + .byte 56*mus_gomachi0_mvl/mxv + .byte W03 + .byte 62*mus_gomachi0_mvl/mxv + .byte W04 + .byte 64*mus_gomachi0_mvl/mxv + .byte W02 + .byte 67*mus_gomachi0_mvl/mxv + .byte W04 + .byte 68*mus_gomachi0_mvl/mxv + .byte W12 + .byte N12 , Dn3 + .byte W12 + .byte VOL , 52*mus_gomachi0_mvl/mxv + .byte N24 , Cs3 + .byte W02 + .byte VOL , 55*mus_gomachi0_mvl/mxv + .byte W04 + .byte 60*mus_gomachi0_mvl/mxv + .byte W02 + .byte 66*mus_gomachi0_mvl/mxv + .byte W03 + .byte 68*mus_gomachi0_mvl/mxv + .byte W13 + .byte 52*mus_gomachi0_mvl/mxv + .byte N24 , Bn3 + .byte W02 + .byte VOL , 55*mus_gomachi0_mvl/mxv + .byte W04 + .byte 60*mus_gomachi0_mvl/mxv + .byte W02 + .byte 66*mus_gomachi0_mvl/mxv + .byte W03 + .byte 68*mus_gomachi0_mvl/mxv + .byte W13 + .byte N12 , Cs4 + .byte W12 + .byte N02 , Bn3 + .byte W02 + .byte Cs4 + .byte W02 + .byte N08 , Bn3 + .byte W08 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v+16 + .byte N06 , Gn4 , v084 + .byte W06 + .byte Fs4 , v092 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte VOL , 56*mus_gomachi0_mvl/mxv + .byte N36 , Bn4 + .byte W03 + .byte VOL , 67*mus_gomachi0_mvl/mxv + .byte W03 + .byte 73*mus_gomachi0_mvl/mxv + .byte W03 + .byte 79*mus_gomachi0_mvl/mxv + .byte W03 + .byte 90*mus_gomachi0_mvl/mxv + .byte W12 + .byte 85*mus_gomachi0_mvl/mxv + .byte W03 + .byte 82*mus_gomachi0_mvl/mxv + .byte W03 + .byte 79*mus_gomachi0_mvl/mxv + .byte W03 + .byte 73*mus_gomachi0_mvl/mxv + .byte W03 + .byte 90*mus_gomachi0_mvl/mxv + .byte N12 , Fs4 + .byte W12 + .byte N24 , En4 + .byte W12 + .byte VOL , 87*mus_gomachi0_mvl/mxv + .byte W03 + .byte 85*mus_gomachi0_mvl/mxv + .byte W03 + .byte 83*mus_gomachi0_mvl/mxv + .byte W03 + .byte 80*mus_gomachi0_mvl/mxv + .byte W03 + .byte 90*mus_gomachi0_mvl/mxv + .byte N12 , Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte VOL , 56*mus_gomachi0_mvl/mxv + .byte N36 , An4 + .byte W03 + .byte VOL , 67*mus_gomachi0_mvl/mxv + .byte W03 + .byte 73*mus_gomachi0_mvl/mxv + .byte W03 + .byte 79*mus_gomachi0_mvl/mxv + .byte W03 + .byte 90*mus_gomachi0_mvl/mxv + .byte W12 + .byte 87*mus_gomachi0_mvl/mxv + .byte W03 + .byte 86*mus_gomachi0_mvl/mxv + .byte W03 + .byte 83*mus_gomachi0_mvl/mxv + .byte W03 + .byte 82*mus_gomachi0_mvl/mxv + .byte W03 + .byte 90*mus_gomachi0_mvl/mxv + .byte N12 , Fs4 + .byte W12 + .byte N24 , Dn4 + .byte W12 + .byte VOL , 87*mus_gomachi0_mvl/mxv + .byte W03 + .byte 85*mus_gomachi0_mvl/mxv + .byte W03 + .byte 83*mus_gomachi0_mvl/mxv + .byte W03 + .byte 80*mus_gomachi0_mvl/mxv + .byte W03 + .byte 90*mus_gomachi0_mvl/mxv + .byte N12 , En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte VOL , 56*mus_gomachi0_mvl/mxv + .byte N48 , Gn4 + .byte W03 + .byte VOL , 67*mus_gomachi0_mvl/mxv + .byte W03 + .byte 73*mus_gomachi0_mvl/mxv + .byte W03 + .byte 79*mus_gomachi0_mvl/mxv + .byte W03 + .byte 90*mus_gomachi0_mvl/mxv + .byte W15 + .byte 87*mus_gomachi0_mvl/mxv + .byte W03 + .byte 85*mus_gomachi0_mvl/mxv + .byte W03 + .byte 82*mus_gomachi0_mvl/mxv + .byte W03 + .byte 79*mus_gomachi0_mvl/mxv + .byte W03 + .byte 76*mus_gomachi0_mvl/mxv + .byte W03 + .byte 75*mus_gomachi0_mvl/mxv + .byte W03 + .byte 74*mus_gomachi0_mvl/mxv + .byte W03 + .byte 90*mus_gomachi0_mvl/mxv + .byte N12 , An4 + .byte W12 + .byte N02 , Gn4 + .byte W02 + .byte An4 + .byte W02 + .byte N08 , Gn4 + .byte W08 + .byte N12 , Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte VOL , 56*mus_gomachi0_mvl/mxv + .byte N36 , Gn4 + .byte W03 + .byte VOL , 67*mus_gomachi0_mvl/mxv + .byte W03 + .byte 73*mus_gomachi0_mvl/mxv + .byte W03 + .byte 79*mus_gomachi0_mvl/mxv + .byte W03 + .byte 90*mus_gomachi0_mvl/mxv + .byte W12 + .byte 87*mus_gomachi0_mvl/mxv + .byte W03 + .byte 85*mus_gomachi0_mvl/mxv + .byte W03 + .byte 83*mus_gomachi0_mvl/mxv + .byte W03 + .byte 81*mus_gomachi0_mvl/mxv + .byte W03 + .byte 90*mus_gomachi0_mvl/mxv + .byte N12 , An4 + .byte W12 + .byte VOL , 56*mus_gomachi0_mvl/mxv + .byte N24 , Fs4 + .byte W03 + .byte VOL , 67*mus_gomachi0_mvl/mxv + .byte W03 + .byte 73*mus_gomachi0_mvl/mxv + .byte W03 + .byte 79*mus_gomachi0_mvl/mxv + .byte W03 + .byte 90*mus_gomachi0_mvl/mxv + .byte W18 + .byte N06 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte VOL , 56*mus_gomachi0_mvl/mxv + .byte N36 , Bn4 + .byte W03 + .byte VOL , 67*mus_gomachi0_mvl/mxv + .byte W03 + .byte 73*mus_gomachi0_mvl/mxv + .byte W03 + .byte 79*mus_gomachi0_mvl/mxv + .byte W03 + .byte 90*mus_gomachi0_mvl/mxv + .byte W12 + .byte 87*mus_gomachi0_mvl/mxv + .byte W03 + .byte 85*mus_gomachi0_mvl/mxv + .byte W03 + .byte 82*mus_gomachi0_mvl/mxv + .byte W03 + .byte 80*mus_gomachi0_mvl/mxv + .byte W03 + .byte 90*mus_gomachi0_mvl/mxv + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte Dn5 + .byte W12 + .byte En5 + .byte W12 + .byte N06 , Cs5 + .byte W06 + .byte VOL , 56*mus_gomachi0_mvl/mxv + .byte N42 , An4 + .byte W03 + .byte VOL , 67*mus_gomachi0_mvl/mxv + .byte W03 + .byte 73*mus_gomachi0_mvl/mxv + .byte W03 + .byte 79*mus_gomachi0_mvl/mxv + .byte W03 + .byte 90*mus_gomachi0_mvl/mxv + .byte W21 + .byte 87*mus_gomachi0_mvl/mxv + .byte W03 + .byte 84*mus_gomachi0_mvl/mxv + .byte W03 + .byte 82*mus_gomachi0_mvl/mxv + .byte W03 + .byte 79*mus_gomachi0_mvl/mxv + .byte N12 , Fs4 + .byte W12 + .byte VOL , 90*mus_gomachi0_mvl/mxv + .byte N12 , Bn4 + .byte W12 + .byte N02 , An4 + .byte W02 + .byte Bn4 + .byte W02 + .byte N08 , An4 + .byte W08 + .byte N12 , Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N18 + .byte W18 + .byte N06 , Gn4 + .byte W18 + .byte VOL , 56*mus_gomachi0_mvl/mxv + .byte N36 , Dn4 + .byte W03 + .byte VOL , 67*mus_gomachi0_mvl/mxv + .byte W03 + .byte 73*mus_gomachi0_mvl/mxv + .byte W03 + .byte 79*mus_gomachi0_mvl/mxv + .byte W03 + .byte 90*mus_gomachi0_mvl/mxv + .byte W12 + .byte 86*mus_gomachi0_mvl/mxv + .byte W03 + .byte 83*mus_gomachi0_mvl/mxv + .byte W03 + .byte 82*mus_gomachi0_mvl/mxv + .byte W03 + .byte 80*mus_gomachi0_mvl/mxv + .byte W03 + .byte 90*mus_gomachi0_mvl/mxv + .byte N12 , Bn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N18 , Fs4 + .byte W18 + .byte N06 , Gn4 + .byte W18 + .byte VOL , 56*mus_gomachi0_mvl/mxv + .byte N36 + .byte W03 + .byte VOL , 67*mus_gomachi0_mvl/mxv + .byte W03 + .byte 73*mus_gomachi0_mvl/mxv + .byte W03 + .byte 79*mus_gomachi0_mvl/mxv + .byte W03 + .byte 90*mus_gomachi0_mvl/mxv + .byte W09 + .byte 90*mus_gomachi0_mvl/mxv + .byte W02 + .byte 86*mus_gomachi0_mvl/mxv + .byte W03 + .byte 84*mus_gomachi0_mvl/mxv + .byte W04 + .byte 78*mus_gomachi0_mvl/mxv + .byte W02 + .byte 75*mus_gomachi0_mvl/mxv + .byte W04 + .byte 68*mus_gomachi0_mvl/mxv + .byte W09 + .byte 90*mus_gomachi0_mvl/mxv + .byte W15 + .byte GOTO + .word mus_gomachi0_2_B1 + .byte W96 + .byte FINE + +@********************** Track 3 **********************@ + +mus_gomachi0_3: + .byte KEYSH , mus_gomachi0_key+0 + .byte VOICE , 73 + .byte VOL , 90*mus_gomachi0_mvl/mxv + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte W18 +mus_gomachi0_3_B1: + .byte VOL , 90*mus_gomachi0_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W68 + .byte W01 + .byte N03 , Ds5 , v076 + .byte W03 + .byte VOL , 79*mus_gomachi0_mvl/mxv + .byte N06 , Dn5 , v096 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte En5 , v092 + .byte W06 + .byte VOL , 44*mus_gomachi0_mvl/mxv + .byte N03 , Fn5 , v060 + .byte W02 + .byte VOL , 48*mus_gomachi0_mvl/mxv + .byte W01 + .byte N32 , Fs5 , v096 + .byte W03 + .byte VOL , 49*mus_gomachi0_mvl/mxv + .byte W02 + .byte 53*mus_gomachi0_mvl/mxv + .byte W03 + .byte 58*mus_gomachi0_mvl/mxv + .byte W01 + .byte MOD , 6 + .byte W02 + .byte VOL , 65*mus_gomachi0_mvl/mxv + .byte W04 + .byte 73*mus_gomachi0_mvl/mxv + .byte W02 + .byte 84*mus_gomachi0_mvl/mxv + .byte W03 + .byte 90*mus_gomachi0_mvl/mxv + .byte W01 + .byte 79*mus_gomachi0_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte N09 , Gn5 + .byte W09 + .byte N03 , Fs5 , v100 + .byte W03 + .byte VOL , 44*mus_gomachi0_mvl/mxv + .byte N36 , En5 , v108 + .byte W02 + .byte VOL , 48*mus_gomachi0_mvl/mxv + .byte W04 + .byte 49*mus_gomachi0_mvl/mxv + .byte W02 + .byte 53*mus_gomachi0_mvl/mxv + .byte W03 + .byte 58*mus_gomachi0_mvl/mxv + .byte W01 + .byte MOD , 6 + .byte W02 + .byte VOL , 65*mus_gomachi0_mvl/mxv + .byte W04 + .byte 73*mus_gomachi0_mvl/mxv + .byte W02 + .byte 84*mus_gomachi0_mvl/mxv + .byte W03 + .byte 90*mus_gomachi0_mvl/mxv + .byte W01 + .byte 79*mus_gomachi0_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte N09 , Fs5 , v096 + .byte W09 + .byte N03 , Ds5 , v076 + .byte W03 + .byte N06 , Dn5 , v104 + .byte W06 + .byte Cs5 , v108 + .byte W06 + .byte Bn4 , v100 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte N03 , Cs5 , v088 + .byte W03 + .byte Cn5 , v084 + .byte W03 + .byte N18 , Bn4 , v108 + .byte W03 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N06 , As4 , v076 + .byte W06 + .byte Bn4 , v068 + .byte W06 + .byte Cs5 , v072 + .byte W06 + .byte Dn5 , v080 + .byte W06 + .byte En5 + .byte W06 + .byte Fs5 , v084 + .byte W06 + .byte Dn5 , v092 + .byte W06 + .byte VOL , 77*mus_gomachi0_mvl/mxv + .byte N15 , Bn5 , v064 + .byte W02 + .byte VOL , 82*mus_gomachi0_mvl/mxv + .byte W04 + .byte MOD , 7 + .byte VOL , 85*mus_gomachi0_mvl/mxv + .byte W02 + .byte 90*mus_gomachi0_mvl/mxv + .byte W07 + .byte N03 , Ds5 , v092 + .byte W03 + .byte MOD , 0 + .byte VOL , 84*mus_gomachi0_mvl/mxv + .byte N54 , Dn5 , v096 + .byte W03 + .byte VOL , 80*mus_gomachi0_mvl/mxv + .byte W02 + .byte 43*mus_gomachi0_mvl/mxv + .byte W01 + .byte 72*mus_gomachi0_mvl/mxv + .byte W02 + .byte 44*mus_gomachi0_mvl/mxv + .byte W01 + .byte MOD , 7 + .byte VOL , 60*mus_gomachi0_mvl/mxv + .byte W03 + .byte 58*mus_gomachi0_mvl/mxv + .byte W02 + .byte 56*mus_gomachi0_mvl/mxv + .byte W03 + .byte 55*mus_gomachi0_mvl/mxv + .byte W09 + .byte 53*mus_gomachi0_mvl/mxv + .byte W03 + .byte 55*mus_gomachi0_mvl/mxv + .byte W07 + .byte 56*mus_gomachi0_mvl/mxv + .byte W02 + .byte 58*mus_gomachi0_mvl/mxv + .byte W03 + .byte 60*mus_gomachi0_mvl/mxv + .byte W03 + .byte 72*mus_gomachi0_mvl/mxv + .byte W04 + .byte 75*mus_gomachi0_mvl/mxv + .byte W02 + .byte 76*mus_gomachi0_mvl/mxv + .byte W01 + .byte 80*mus_gomachi0_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W12 + .byte N12 , Fs5 , v100 + .byte W12 + .byte En5 + .byte W12 + .byte N02 , Dn5 , v096 + .byte W02 + .byte En5 + .byte W02 + .byte N08 , Dn5 , v084 + .byte W08 + .byte N12 , Cs5 , v092 + .byte W12 + .byte Bn4 , v096 + .byte W12 + .byte Cs5 , v092 + .byte W12 + .byte Dn5 + .byte W12 + .byte VOL , 45*mus_gomachi0_mvl/mxv + .byte N24 , En5 , v104 + .byte W02 + .byte VOL , 55*mus_gomachi0_mvl/mxv + .byte W04 + .byte 58*mus_gomachi0_mvl/mxv + .byte W02 + .byte 65*mus_gomachi0_mvl/mxv + .byte W03 + .byte 71*mus_gomachi0_mvl/mxv + .byte W01 + .byte MOD , 6 + .byte W02 + .byte VOL , 79*mus_gomachi0_mvl/mxv + .byte W04 + .byte 90*mus_gomachi0_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_gomachi0_3_B1 + .byte W96 + .byte FINE + +@********************** Track 4 **********************@ + +mus_gomachi0_4: + .byte KEYSH , mus_gomachi0_key+0 + .byte VOICE , 35 + .byte VOL , 90*mus_gomachi0_mvl/mxv + .byte PAN , c_v+0 + .byte W18 +mus_gomachi0_4_B1: + .byte VOL , 90*mus_gomachi0_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N06 , En1 , v127 + .byte W06 + .byte Fs1 + .byte W06 +mus_gomachi0_4_000: + .byte N12 , Gn1 , v127 + .byte W36 + .byte N06 , Dn1 + .byte W12 + .byte Cs2 + .byte W12 + .byte N12 + .byte W18 + .byte N06 , En1 + .byte W06 + .byte N12 , Gn1 + .byte W12 + .byte PEND + .byte Fs1 + .byte W36 + .byte N06 , Cs1 + .byte W12 + .byte Bn1 + .byte W12 + .byte N12 , An1 + .byte W18 + .byte N06 , Dn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Dn1 + .byte W06 + .byte N12 , Gn1 + .byte W36 + .byte N06 , Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte N18 + .byte W18 + .byte N06 , En1 + .byte W06 + .byte N12 , As1 + .byte W12 + .byte Bn1 + .byte W36 + .byte N06 , Fs1 + .byte W12 + .byte Dn2 + .byte W12 + .byte N12 , Cs2 + .byte W12 + .byte N06 , Dn1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N12 , Fs1 + .byte W12 + .byte PATT + .word mus_gomachi0_4_000 + .byte N12 , Fs1 , v127 + .byte W36 + .byte N06 , Cs1 + .byte W12 + .byte Bn1 + .byte W12 + .byte N12 , An1 + .byte W18 + .byte N06 , Fs1 + .byte W06 + .byte An1 + .byte W06 + .byte Cs1 , v112 + .byte W06 + .byte N18 , En1 , v127 + .byte W18 + .byte N06 , Bn1 + .byte W18 + .byte N12 , Dn2 , v096 + .byte W18 + .byte N06 , Gn2 , v127 + .byte W06 + .byte N12 , Dn2 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte N18 , An1 + .byte W18 + .byte N06 , Dn2 + .byte W18 + .byte N36 , En2 , v104 + .byte W12 + .byte VOL , 86*mus_gomachi0_mvl/mxv + .byte W02 + .byte 79*mus_gomachi0_mvl/mxv + .byte W04 + .byte 74*mus_gomachi0_mvl/mxv + .byte W02 + .byte 67*mus_gomachi0_mvl/mxv + .byte W03 + .byte 62*mus_gomachi0_mvl/mxv + .byte W03 + .byte 55*mus_gomachi0_mvl/mxv + .byte W04 + .byte 51*mus_gomachi0_mvl/mxv + .byte W02 + .byte 44*mus_gomachi0_mvl/mxv + .byte W04 + .byte 32*mus_gomachi0_mvl/mxv + .byte W24 + .byte GOTO + .word mus_gomachi0_4_B1 + .byte W96 + .byte FINE + +@********************** Track 5 **********************@ + +mus_gomachi0_5: + .byte KEYSH , mus_gomachi0_key+0 + .byte VOICE , 0 + .byte PAN , c_v+32 + .byte VOL , 52*mus_gomachi0_mvl/mxv + .byte W18 +mus_gomachi0_5_B1: + .byte VOICE , 0 + .byte PAN , c_v+32 + .byte VOL , 52*mus_gomachi0_mvl/mxv + .byte W12 + .byte N12 , Dn2 , v016 + .byte W12 + .byte An2 + .byte W12 + .byte Fs3 + .byte W12 + .byte An2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Fs3 + .byte W12 + .byte As2 + .byte W12 + .byte Fs3 + .byte W12 + .byte An2 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs2 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte Gn3 + .byte W12 + .byte En2 + .byte W60 + .byte VOL , 70*mus_gomachi0_mvl/mxv + .byte PAN , c_v-22 + .byte N12 , An1 + .byte W12 + .byte VOICE , 45 + .byte N12 , Fs4 , v088 + .byte W12 + .byte N06 , An4 + .byte W06 + .byte An4 , v028 + .byte W30 + .byte N12 , En4 , v088 + .byte W12 + .byte N06 , An4 + .byte W06 + .byte An4 , v028 + .byte W18 + .byte W12 + .byte N12 , Dn4 , v088 + .byte W12 + .byte N06 , An4 + .byte W06 + .byte An4 , v028 + .byte W06 + .byte Dn4 , v088 + .byte W06 + .byte Dn4 , v028 + .byte W06 + .byte N12 , Cs4 , v088 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Dn4 , v028 + .byte W06 + .byte An4 , v088 + .byte W06 + .byte An4 , v028 + .byte W06 + .byte Dn4 , v088 + .byte W06 + .byte Dn4 , v028 + .byte W06 + .byte W12 + .byte N12 , Fs4 , v088 + .byte W12 + .byte N06 , Bn4 + .byte W06 + .byte Bn4 , v028 + .byte W06 + .byte Fs4 , v088 + .byte W06 + .byte Fs4 , v028 + .byte W18 + .byte N12 , En4 , v088 + .byte W12 + .byte N06 , Bn4 + .byte W06 + .byte Bn4 , v028 + .byte W06 + .byte En4 , v088 + .byte W06 + .byte En4 , v028 + .byte W06 + .byte W12 + .byte Cs5 , v088 + .byte W06 + .byte Cs5 , v028 + .byte W18 + .byte An4 , v088 + .byte W06 + .byte An4 , v028 + .byte W18 + .byte Gn4 , v088 + .byte W06 + .byte Gn4 , v028 + .byte W30 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_gomachi0_5_B1 + .byte W96 + .byte FINE + +@********************** Track 6 **********************@ + +mus_gomachi0_6: + .byte KEYSH , mus_gomachi0_key+0 + .byte VOICE , 0 + .byte PAN , c_v-17 + .byte VOL , 82*mus_gomachi0_mvl/mxv + .byte W18 +mus_gomachi0_6_B1: + .byte N12 , Dn2 , v076 + .byte W12 + .byte An2 , v052 + .byte W12 + .byte Fs3 , v056 + .byte W12 + .byte An2 , v052 + .byte W12 + .byte Fs2 , v060 + .byte W12 + .byte Cs3 , v052 + .byte W12 + .byte An3 , v056 + .byte W12 + .byte Cs3 , v052 + .byte W12 + .byte Bn2 , v056 + .byte W12 + .byte Fs3 + .byte W12 + .byte As2 + .byte W12 + .byte Fs3 + .byte W12 + .byte An2 , v064 + .byte W12 + .byte Fs3 , v060 + .byte W12 + .byte Gs2 , v072 + .byte W12 + .byte Fs3 , v060 + .byte W12 + .byte Gn2 , v064 + .byte W12 + .byte Dn3 , v056 + .byte W12 + .byte Bn3 , v060 + .byte W12 + .byte Dn3 , v056 + .byte W12 + .byte En2 , v064 + .byte W12 + .byte Bn2 , v056 + .byte W12 + .byte Gs3 , v060 + .byte W12 + .byte Bn2 , v056 + .byte W12 + .byte An2 , v080 + .byte W12 + .byte Gn3 , v076 + .byte W12 + .byte En2 , v072 + .byte W12 + .byte Dn3 , v080 + .byte W12 + .byte N06 , An2 , v092 + .byte W12 + .byte Gn2 , v084 + .byte W12 + .byte En2 , v104 + .byte W12 + .byte N12 , An1 + .byte W12 + .byte Dn1 , v096 + .byte W12 + .byte An1 , v080 + .byte W12 + .byte Fs2 + .byte W12 + .byte An1 + .byte W12 + .byte Fs1 , v096 + .byte W12 + .byte Cs2 , v080 + .byte W12 + .byte An2 + .byte W12 + .byte Cs2 + .byte W12 + .byte Bn1 , v096 + .byte W12 + .byte Fs2 , v080 + .byte W12 + .byte As1 + .byte W12 + .byte Fs2 + .byte W12 + .byte An1 , v100 + .byte W12 + .byte Fs2 , v080 + .byte W12 + .byte Gs1 + .byte W12 + .byte Fs2 + .byte W12 + .byte Gn1 , v096 + .byte W12 + .byte Dn2 , v080 + .byte W12 + .byte Bn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte En1 , v096 + .byte W12 + .byte Bn1 , v080 + .byte W12 + .byte Gs2 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 , v096 + .byte W12 + .byte Gn2 , v080 + .byte W12 + .byte En1 + .byte W12 + .byte Dn2 + .byte W12 + .byte An2 , v096 + .byte W12 + .byte Gn2 + .byte W12 + .byte En2 , v088 + .byte W12 + .byte Cs2 , v076 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_gomachi0_6_B1 + .byte W96 + .byte FINE + +@********************** Track 7 **********************@ + +mus_gomachi0_7: + .byte KEYSH , mus_gomachi0_key+0 + .byte VOICE , 0 + .byte VOL , 68*mus_gomachi0_mvl/mxv + .byte PAN , c_v-6 + .byte XCMD , xIECV , 12 + .byte xIECL , 10 + .byte W18 +mus_gomachi0_7_B1: + .byte VOL , 0*mus_gomachi0_mvl/mxv + .byte PAN , c_v-16 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 0 + .byte VOL , 68*mus_gomachi0_mvl/mxv + .byte W36 + .byte N12 , Gn3 , v088 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cs4 , v084 + .byte W12 + .byte En4 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 5 + .byte PAN , c_v-64 + .byte VOL , 45*mus_gomachi0_mvl/mxv + .byte W96 +mus_gomachi0_7_000: + .byte N12 , Bn4 , v112 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Bn4 + .byte W24 + .byte Gn3 + .byte W12 + .byte En4 + .byte W12 + .byte Cs5 + .byte W12 + .byte PEND +mus_gomachi0_7_001: + .byte W12 + .byte N12 , Fs3 , v112 + .byte W12 + .byte Cs4 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte N02 , An4 + .byte W02 + .byte Bn4 + .byte W02 + .byte N08 , An4 + .byte W08 + .byte N12 , Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte PEND + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Gn4 + .byte W06 + .byte PAN , c_v-61 + .byte W06 + .byte N12 , An4 + .byte W12 + .byte N02 , Gn4 + .byte W02 + .byte An4 + .byte W02 + .byte N08 , Gn4 + .byte W08 + .byte N12 , Fs4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Fs4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Dn5 + .byte W12 + .byte Fs4 + .byte W12 + .byte Fs5 + .byte W12 + .byte Fs4 + .byte W12 + .byte PATT + .word mus_gomachi0_7_000 + .byte PATT + .word mus_gomachi0_7_001 + .byte N06 , En4 , v112 + .byte W06 + .byte Gn4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte VOL , 42*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte PAN , c_v+63 + .byte VOL , 38*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte VOL , 34*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte PAN , c_v-61 + .byte VOL , 28*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte VOL , 22*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte PAN , c_v+63 + .byte VOL , 17*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte VOL , 11*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte PAN , c_v-61 + .byte VOL , 6*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte VOL , 10*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte PAN , c_v+63 + .byte VOL , 17*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte VOL , 22*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte PAN , c_v-61 + .byte VOL , 28*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte VOL , 48*mus_gomachi0_mvl/mxv + .byte N06 , An4 + .byte W06 + .byte Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte Gn5 + .byte W06 + .byte VOL , 43*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte PAN , c_v+63 + .byte VOL , 36*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte VOL , 34*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte PAN , c_v-61 + .byte VOL , 28*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte VOL , 22*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte PAN , c_v+63 + .byte VOL , 17*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte VOL , 11*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte PAN , c_v-61 + .byte VOL , 8*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte VOL , 6*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte PAN , c_v+63 + .byte VOL , 5*mus_gomachi0_mvl/mxv + .byte N06 + .byte W06 + .byte VOL , 4*mus_gomachi0_mvl/mxv + .byte W06 + .byte PAN , c_v-61 + .byte VOL , 3*mus_gomachi0_mvl/mxv + .byte W06 + .byte GOTO + .word mus_gomachi0_7_B1 + .byte W96 + .byte FINE + +@********************** Track 8 **********************@ + +mus_gomachi0_8: + .byte KEYSH , mus_gomachi0_key+0 + .byte VOICE , 4 + .byte PAN , c_v+0 + .byte LFOS , 80 + .byte XCMD , xIECV , 10 + .byte xIECL , 6 + .byte VOL , 45*mus_gomachi0_mvl/mxv + .byte W18 +mus_gomachi0_8_B1: + .byte W96 + .byte W96 + .byte W96 + .byte BEND , c_v+0 + .byte W96 + .byte VOL , 30*mus_gomachi0_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Dn1 , v096 + .byte W12 + .byte An1 , v080 + .byte W12 + .byte Fs2 + .byte W12 + .byte An1 + .byte W12 + .byte Fs1 , v096 + .byte W12 + .byte Cs2 , v080 + .byte W12 + .byte An2 + .byte W12 + .byte Cs2 + .byte W12 + .byte Bn1 , v096 + .byte W12 + .byte Fs2 , v080 + .byte W12 + .byte As1 + .byte W12 + .byte Fs2 + .byte W12 + .byte An1 , v100 + .byte W12 + .byte Fs2 , v080 + .byte W12 + .byte Gs1 + .byte W12 + .byte Fs2 + .byte W12 + .byte Gn1 , v096 + .byte W12 + .byte Dn2 , v080 + .byte W12 + .byte Bn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte En1 , v096 + .byte W12 + .byte Bn1 , v080 + .byte W12 + .byte Gs2 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 , v096 + .byte W12 + .byte Gn2 , v080 + .byte W12 + .byte En1 + .byte W12 + .byte Dn2 + .byte W12 + .byte An2 , v096 + .byte W12 + .byte Gn2 + .byte W09 + .byte N03 , Gs5 , v080 + .byte W03 + .byte VOL , 45*mus_gomachi0_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte An5 + .byte W06 + .byte N36 , Bn5 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Fs5 + .byte W12 + .byte N24 , En5 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , Fs5 + .byte W12 + .byte Gn5 + .byte W12 + .byte N36 , An5 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Fs5 + .byte W12 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , En5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N48 , Gn5 + .byte W36 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , An5 + .byte W12 + .byte N02 , Gn5 + .byte W02 + .byte An5 + .byte W02 + .byte N08 , Gn5 + .byte W08 + .byte N12 , Fs5 + .byte W12 + .byte En5 + .byte W12 + .byte N36 , Gn5 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , An5 + .byte W12 + .byte N24 , Fs5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W06 + .byte N06 + .byte W06 + .byte Gn5 + .byte W06 + .byte An5 + .byte W06 + .byte N36 , Bn5 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cs6 + .byte W12 + .byte Dn6 + .byte W12 + .byte En6 + .byte W12 + .byte N06 , Cs6 + .byte W06 + .byte N42 , An5 + .byte W06 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , Fs5 + .byte W12 + .byte Bn5 + .byte W12 + .byte N02 , An5 + .byte W02 + .byte Bn5 + .byte W02 + .byte N08 , An5 + .byte W08 + .byte N12 , Gn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N18 + .byte W18 + .byte N06 , Gn5 + .byte W18 + .byte N36 , Dn5 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , Bn4 + .byte W12 + .byte Dn5 + .byte W12 + .byte N18 , Fs5 + .byte W18 + .byte N06 , Gn5 + .byte W18 + .byte N30 + .byte W24 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte W24 + .byte GOTO + .word mus_gomachi0_8_B1 + .byte W96 + .byte FINE + +@********************** Track 9 **********************@ + +mus_gomachi0_9: + .byte KEYSH , mus_gomachi0_key+0 + .byte VOICE , 0 + .byte VOL , 68*mus_gomachi0_mvl/mxv + .byte PAN , c_v-48 + .byte XCMD , xIECV , 12 + .byte xIECL , 8 + .byte W12 + .byte N06 , An3 , v004 + .byte W06 +mus_gomachi0_9_B1: + .byte VOICE , 0 + .byte PAN , c_v-48 + .byte N06 , Dn4 , v012 + .byte W06 + .byte En4 , v024 + .byte W06 + .byte N36 , Fs4 , v032 + .byte W36 + .byte N12 , Gn4 , v016 + .byte W12 + .byte N36 , En4 , v028 + .byte W36 + .byte N12 , Fs4 , v016 + .byte W12 + .byte N36 , Cs4 + .byte W36 + .byte N12 , Dn4 , v008 + .byte W12 + .byte Bn3 , v012 + .byte W12 + .byte N09 , Cs4 , v016 + .byte W12 + .byte N06 , Dn4 , v032 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 , v024 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte N18 , Bn4 , v020 + .byte W18 + .byte N42 , Dn4 , v016 + .byte W66 + .byte N12 , Fs4 , v032 + .byte W12 + .byte En4 + .byte W12 + .byte N02 , Dn4 , v016 + .byte W02 + .byte En4 + .byte W02 + .byte N08 , Dn4 , v032 + .byte W08 + .byte N12 , Cs4 + .byte W60 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 48 + .byte PAN , c_v+32 + .byte W72 + .byte N12 , Dn3 , v044 + .byte W12 + .byte En3 + .byte W12 + .byte VOL , 45*mus_gomachi0_mvl/mxv + .byte N36 , Dn4 , v032 + .byte W03 + .byte VOL , 56*mus_gomachi0_mvl/mxv + .byte W03 + .byte 60*mus_gomachi0_mvl/mxv + .byte W03 + .byte 67*mus_gomachi0_mvl/mxv + .byte W24 + .byte W03 + .byte N12 , Bn3 , v028 + .byte W12 + .byte VOL , 45*mus_gomachi0_mvl/mxv + .byte N24 , Gn3 + .byte W03 + .byte VOL , 56*mus_gomachi0_mvl/mxv + .byte W03 + .byte 60*mus_gomachi0_mvl/mxv + .byte W03 + .byte 67*mus_gomachi0_mvl/mxv + .byte W15 + .byte N12 , An3 + .byte W12 + .byte Cs4 + .byte W12 + .byte VOL , 45*mus_gomachi0_mvl/mxv + .byte N36 , En4 + .byte W03 + .byte VOL , 56*mus_gomachi0_mvl/mxv + .byte W03 + .byte 60*mus_gomachi0_mvl/mxv + .byte W03 + .byte 67*mus_gomachi0_mvl/mxv + .byte W24 + .byte W03 + .byte N12 , Cs4 + .byte W12 + .byte VOL , 45*mus_gomachi0_mvl/mxv + .byte N24 , Fs3 + .byte W03 + .byte VOL , 56*mus_gomachi0_mvl/mxv + .byte W03 + .byte 60*mus_gomachi0_mvl/mxv + .byte W03 + .byte 67*mus_gomachi0_mvl/mxv + .byte W15 + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte VOL , 45*mus_gomachi0_mvl/mxv + .byte N48 , Bn3 + .byte W03 + .byte VOL , 56*mus_gomachi0_mvl/mxv + .byte W03 + .byte 60*mus_gomachi0_mvl/mxv + .byte W03 + .byte 67*mus_gomachi0_mvl/mxv + .byte W36 + .byte W03 + .byte N12 , Cs4 + .byte W12 + .byte N02 , Bn3 + .byte W02 + .byte Cs4 + .byte W02 + .byte N08 , Bn3 + .byte W08 + .byte N12 , An3 + .byte W12 + .byte En3 + .byte W12 + .byte VOL , 45*mus_gomachi0_mvl/mxv + .byte N36 , Bn3 + .byte W03 + .byte VOL , 56*mus_gomachi0_mvl/mxv + .byte W03 + .byte 60*mus_gomachi0_mvl/mxv + .byte W03 + .byte 67*mus_gomachi0_mvl/mxv + .byte W24 + .byte W03 + .byte N12 , Fs3 + .byte W12 + .byte N24 , Dn4 + .byte W30 + .byte N06 , Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte An3 + .byte W06 + .byte VOL , 45*mus_gomachi0_mvl/mxv + .byte N36 , Dn4 + .byte W03 + .byte VOL , 56*mus_gomachi0_mvl/mxv + .byte W03 + .byte 60*mus_gomachi0_mvl/mxv + .byte W03 + .byte 67*mus_gomachi0_mvl/mxv + .byte W32 + .byte W01 + .byte N06 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N06 , En4 + .byte W06 + .byte N42 , Cs4 + .byte W06 + .byte VOL , 45*mus_gomachi0_mvl/mxv + .byte W03 + .byte 56*mus_gomachi0_mvl/mxv + .byte W03 + .byte 60*mus_gomachi0_mvl/mxv + .byte W03 + .byte 67*mus_gomachi0_mvl/mxv + .byte W24 + .byte W03 + .byte N12 , An3 + .byte W12 + .byte Fs4 + .byte W12 + .byte N02 , En4 + .byte W02 + .byte Fs4 + .byte W02 + .byte N08 , En4 + .byte W08 + .byte N12 , Bn3 + .byte W12 + .byte VOL , 45*mus_gomachi0_mvl/mxv + .byte N30 , An3 + .byte W03 + .byte VOL , 56*mus_gomachi0_mvl/mxv + .byte W03 + .byte 60*mus_gomachi0_mvl/mxv + .byte W03 + .byte 67*mus_gomachi0_mvl/mxv + .byte W03 + .byte W18 + .byte N06 , Bn3 + .byte W18 + .byte VOL , 45*mus_gomachi0_mvl/mxv + .byte N36 , Gn3 + .byte W03 + .byte VOL , 56*mus_gomachi0_mvl/mxv + .byte W03 + .byte 60*mus_gomachi0_mvl/mxv + .byte W03 + .byte 67*mus_gomachi0_mvl/mxv + .byte W24 + .byte W03 + .byte N12 , Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N18 , An3 + .byte W18 + .byte N06 , En4 + .byte W18 + .byte VOL , 45*mus_gomachi0_mvl/mxv + .byte N36 + .byte W03 + .byte VOL , 56*mus_gomachi0_mvl/mxv + .byte W03 + .byte 60*mus_gomachi0_mvl/mxv + .byte W03 + .byte 67*mus_gomachi0_mvl/mxv + .byte W48 + .byte W03 + .byte GOTO + .word mus_gomachi0_9_B1 + .byte W96 + .byte FINE + +@********************** Track 10 **********************@ + +mus_gomachi0_10: + .byte KEYSH , mus_gomachi0_key+0 + .byte VOICE , 80 + .byte PAN , c_v+0 + .byte XCMD , xIECV , 12 + .byte xIECL , 8 + .byte VOL , 45*mus_gomachi0_mvl/mxv + .byte W18 +mus_gomachi0_10_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte BEND , c_v+0 + .byte N12 , Gn1 , v127 + .byte W36 + .byte N06 , Dn1 + .byte W12 + .byte Cs2 + .byte W12 + .byte N12 + .byte W18 + .byte N06 , En1 + .byte W06 + .byte N12 , Gn1 + .byte W12 + .byte Fs1 + .byte W36 + .byte N06 , Cs1 + .byte W12 + .byte Bn1 + .byte W12 + .byte N12 , An1 + .byte W18 + .byte N06 , Dn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Dn1 + .byte W06 + .byte N12 , Gn1 + .byte W36 + .byte N06 , Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte N18 + .byte W18 + .byte N06 , En1 + .byte W06 + .byte N12 , As1 + .byte W12 + .byte Bn1 + .byte W36 + .byte N06 , Fs1 + .byte W12 + .byte Dn2 + .byte W12 + .byte N12 , Cs2 + .byte W12 + .byte N06 , Dn1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N12 , Fs1 + .byte W12 + .byte Gn1 + .byte W36 + .byte N06 , Dn1 + .byte W12 + .byte Cs2 + .byte W12 + .byte N12 + .byte W18 + .byte N06 , En1 + .byte W06 + .byte N12 , Gn1 + .byte W12 + .byte Fs1 + .byte W36 + .byte N06 , Cs1 + .byte W12 + .byte Bn1 + .byte W12 + .byte N12 , An1 + .byte W18 + .byte N06 , Fs1 + .byte W06 + .byte An1 + .byte W06 + .byte Cs1 , v112 + .byte W06 + .byte N18 , En1 , v127 + .byte W18 + .byte N06 , Bn1 + .byte W18 + .byte N12 , Dn2 , v096 + .byte W18 + .byte N06 , Gn2 , v127 + .byte W06 + .byte N12 , Dn2 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte N18 , An1 + .byte W18 + .byte N06 , Dn2 + .byte W18 + .byte N36 , En2 , v104 + .byte W60 + .byte GOTO + .word mus_gomachi0_10_B1 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +mus_gomachi0: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_gomachi0_pri @ Priority + .byte mus_gomachi0_rev @ Reverb. + + .word mus_gomachi0_grp + + .word mus_gomachi0_1 + .word mus_gomachi0_2 + .word mus_gomachi0_3 + .word mus_gomachi0_4 + .word mus_gomachi0_5 + .word mus_gomachi0_6 + .word mus_gomachi0_7 + .word mus_gomachi0_8 + .word mus_gomachi0_9 + .word mus_gomachi0_10 + + .end diff --git a/sound/songs/mus_gotown.s b/sound/songs/mus_gotown.s new file mode 100644 index 0000000000..11eb0e4525 --- /dev/null +++ b/sound/songs/mus_gotown.s @@ -0,0 +1,3337 @@ + .include "MPlayDef.s" + + .equ mus_gotown_grp, voicegroup_8680AB0 + .equ mus_gotown_pri, 0 + .equ mus_gotown_rev, reverb_set+50 + .equ mus_gotown_mvl, 127 + .equ mus_gotown_key, 0 + .equ mus_gotown_tbs, 1 + .equ mus_gotown_exg, 0 + .equ mus_gotown_cmp, 1 + + .section .rodata + .global mus_gotown + .align 2 + +@********************** Track 1 **********************@ + +mus_gotown_1: + .byte KEYSH , mus_gotown_key+0 + .byte TEMPO , 128*mus_gotown_tbs/2 + .byte VOICE , 6 + .byte PAN , c_v-64 + .byte XCMD , xIECV , 12 + .byte xIECL , 8 + .byte LFOS , 44 + .byte VOL , 42*mus_gotown_mvl/mxv + .byte W12 + .byte W72 +mus_gotown_1_B1: + .byte VOICE , 6 + .byte W18 + .byte N03 , As3 , v068 + .byte W03 + .byte Bn3 + .byte W03 + .byte N06 , Cn4 , v112 + .byte W12 + .byte N01 , Cn4 , v080 + .byte W12 + .byte N01 + .byte W12 + .byte N06 , As3 , v112 + .byte W12 + .byte N01 , As3 , v080 + .byte W12 + .byte N06 , An3 , v112 + .byte W12 +mus_gotown_1_000: + .byte N01 , An3 , v080 + .byte W12 + .byte N06 , An3 , v112 + .byte W12 + .byte N01 , An3 , v080 + .byte W12 + .byte N06 , Gn3 , v112 + .byte W12 + .byte An3 + .byte W12 + .byte N01 , An3 , v080 + .byte W12 + .byte N06 , As3 , v112 + .byte W12 + .byte N01 , As3 , v080 + .byte W12 + .byte PEND +mus_gotown_1_001: + .byte W12 + .byte N01 , As3 , v080 + .byte W03 + .byte N01 + .byte W03 + .byte N03 , Cn4 , v068 + .byte W03 + .byte Cs4 + .byte W03 + .byte N06 , Dn4 , v112 + .byte W12 + .byte N01 , Dn4 , v080 + .byte W12 + .byte N01 + .byte W12 + .byte N06 , Cn4 , v112 + .byte W12 + .byte N01 , Cn4 , v080 + .byte W12 + .byte N06 , Bn3 , v112 + .byte W12 + .byte PEND +mus_gotown_1_002: + .byte N01 , Bn3 , v080 + .byte W12 + .byte N06 , Bn3 , v112 + .byte W12 + .byte N01 , Bn3 , v080 + .byte W12 + .byte N06 , Gn3 , v112 + .byte W12 + .byte Bn3 + .byte W12 + .byte N01 , Bn3 , v080 + .byte W12 + .byte N06 , Cn4 , v112 + .byte W12 + .byte N01 , Cn4 , v080 + .byte W12 + .byte PEND +mus_gotown_1_003: + .byte W12 + .byte N01 , Cn4 , v080 + .byte W03 + .byte N01 + .byte W03 + .byte N03 , Cn4 , v068 + .byte W03 + .byte Cs4 + .byte W03 + .byte N06 , Dn4 , v112 + .byte W12 + .byte N01 , Dn4 , v080 + .byte W12 + .byte N01 + .byte W12 + .byte N06 , Cn4 , v112 + .byte W12 + .byte N01 , Cn4 , v080 + .byte W12 + .byte N06 , Bn3 , v112 + .byte W12 + .byte PEND + .byte N01 , Bn3 , v080 + .byte W12 + .byte N06 , Bn3 , v112 + .byte W12 + .byte N01 , Bn3 , v080 + .byte W12 + .byte N06 , Bn3 , v112 + .byte W12 + .byte Gs3 + .byte W12 + .byte N01 , Gs3 , v080 + .byte W12 + .byte N06 , Cn4 , v112 + .byte W12 + .byte N01 , Cn4 , v080 + .byte W12 + .byte VOICE , 3 + .byte VOL , 42*mus_gotown_mvl/mxv + .byte N36 , Fs3 , v112 + .byte W15 + .byte MOD , 9 + .byte W21 + .byte 2 + .byte N36 , Cn3 + .byte W12 + .byte MOD , 9 + .byte W24 + .byte 2 + .byte W12 + .byte N36 , As2 + .byte W12 + .byte MOD , 9 + .byte W24 + .byte 2 + .byte W48 + .byte N36 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte W09 + .byte 2 + .byte W03 + .byte VOL , 42*mus_gotown_mvl/mxv + .byte W03 + .byte VOICE , 6 + .byte W03 + .byte N03 , As3 , v068 + .byte W03 + .byte Bn3 + .byte W03 + .byte N06 , Cn4 , v112 + .byte W12 + .byte N01 , Cn4 , v080 + .byte W12 + .byte N01 + .byte W12 + .byte N06 , As3 , v112 + .byte W12 + .byte N01 , As3 , v080 + .byte W12 + .byte N06 , An3 , v112 + .byte W12 + .byte PATT + .word mus_gotown_1_000 + .byte PATT + .word mus_gotown_1_001 + .byte PATT + .word mus_gotown_1_002 + .byte PATT + .word mus_gotown_1_003 + .byte N01 , Bn3 , v080 + .byte W12 + .byte N06 , Bn3 , v112 + .byte W12 + .byte N01 , Bn3 , v080 + .byte W12 + .byte N06 , Bn3 , v112 + .byte W12 + .byte Cn4 + .byte W12 + .byte N01 , Cn4 , v080 + .byte W12 + .byte N06 , Cn4 , v112 + .byte W12 + .byte N01 , Cn4 , v080 + .byte W12 + .byte VOICE , 3 + .byte VOL , 42*mus_gotown_mvl/mxv + .byte N36 , Fn3 , v112 + .byte W12 + .byte MOD , 9 + .byte W21 + .byte 1 + .byte W03 + .byte N36 , Cn3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 1 + .byte W12 + .byte N36 , As2 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 1 + .byte W12 + .byte N36 , Ds3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 1 + .byte W24 + .byte VOICE , 6 + .byte VOL , 42*mus_gotown_mvl/mxv + .byte W24 + .byte N06 , Dn4 + .byte W12 + .byte N01 , Dn4 , v080 + .byte W12 + .byte N01 + .byte W12 + .byte N06 , Cn4 , v112 + .byte W12 + .byte N01 , Cn4 , v080 + .byte W12 + .byte N06 , Dn4 , v112 + .byte W12 + .byte N01 , Dn4 , v080 + .byte W12 + .byte N06 , Dn4 , v112 + .byte W12 + .byte Cn4 + .byte W12 + .byte N01 , Cn4 , v080 + .byte W12 + .byte N06 , Dn4 , v112 + .byte W12 + .byte N01 , Dn4 , v080 + .byte W12 + .byte N06 , Ds4 , v112 + .byte W12 + .byte N01 , Ds4 , v080 + .byte W12 +mus_gotown_1_004: + .byte N06 , Fn4 , v112 + .byte W12 + .byte N01 , Fn4 , v080 + .byte W12 + .byte N01 + .byte W12 + .byte N06 , Cn4 , v112 + .byte W12 + .byte N01 , Cn4 , v080 + .byte W12 + .byte N06 , Fn4 , v112 + .byte W12 + .byte Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte PEND + .byte VOICE , 3 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 1 + .byte N24 , Bn3 + .byte W09 + .byte MOD , 8 + .byte W12 + .byte 1 + .byte W03 + .byte N06 , Cn4 + .byte W12 + .byte MOD , 8 + .byte N06 , Bn3 + .byte W12 + .byte MOD , 1 + .byte N12 , Dn4 + .byte W12 + .byte MOD , 8 + .byte N03 , Cs4 , v064 + .byte W03 + .byte Bn3 , v056 + .byte W03 + .byte As3 , v048 + .byte W03 + .byte Gs3 , v040 + .byte W03 + .byte VOICE , 6 + .byte MOD , 1 + .byte W24 + .byte N06 , Ds4 , v112 + .byte W12 + .byte N01 , Ds4 , v080 + .byte W12 + .byte N01 + .byte W12 + .byte N06 , As3 , v112 + .byte W12 + .byte N01 , As3 , v080 + .byte W12 + .byte N06 , Ds4 , v112 + .byte W12 +mus_gotown_1_005: + .byte N01 , Ds4 , v080 + .byte W12 + .byte N06 , Ds4 , v112 + .byte W12 + .byte As3 + .byte W12 + .byte N01 , As3 , v080 + .byte W12 + .byte N06 , Ds4 , v112 + .byte W12 + .byte N01 , Ds4 , v080 + .byte W12 + .byte N06 , As3 , v112 + .byte W12 + .byte N01 , As3 , v080 + .byte W06 + .byte N06 , Bn3 , v112 + .byte W06 + .byte PEND + .byte VOICE , 3 + .byte VOL , 42*mus_gotown_mvl/mxv + .byte N06 , Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W24 + .byte N24 , An3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 1 + .byte W12 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 1 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 1 + .byte N24 , Gs3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 1 + .byte N12 , Gn3 + .byte W12 + .byte MOD , 8 + .byte N03 , Bn3 , v056 + .byte W03 + .byte Dn4 , v068 + .byte W03 + .byte Fn4 , v080 + .byte W03 + .byte Gn4 , v084 + .byte W03 + .byte VOICE , 6 + .byte MOD , 1 + .byte VOL , 42*mus_gotown_mvl/mxv + .byte W24 + .byte N06 , Dn4 , v112 + .byte W12 + .byte N01 , Dn4 , v080 + .byte W12 + .byte N01 + .byte W12 + .byte N06 , Cn4 , v112 + .byte W12 + .byte N01 , Cn4 , v080 + .byte W12 + .byte N06 , Dn4 , v112 + .byte W12 + .byte N01 , Dn4 , v080 + .byte W12 + .byte N06 , Dn4 , v112 + .byte W12 + .byte Cn4 + .byte W12 + .byte N01 , Cn4 , v080 + .byte W09 + .byte N03 , Cs4 , v068 + .byte W03 + .byte N06 , Dn4 , v112 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte PATT + .word mus_gotown_1_004 + .byte VOICE , 3 + .byte VOL , 42*mus_gotown_mvl/mxv + .byte N24 , Cn4 , v112 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 1 + .byte N24 , Bn3 + .byte W15 + .byte MOD , 8 + .byte W09 + .byte N06 , Cn4 + .byte W03 + .byte MOD , 1 + .byte W09 + .byte 8 + .byte N06 , Bn3 + .byte W12 + .byte MOD , 1 + .byte N12 , Dn4 + .byte W12 + .byte MOD , 8 + .byte N03 , Cs4 , v072 + .byte W03 + .byte Bn3 , v064 + .byte W03 + .byte As3 , v052 + .byte W03 + .byte Gs3 , v044 + .byte W03 + .byte VOICE , 6 + .byte MOD , 1 + .byte VOL , 42*mus_gotown_mvl/mxv + .byte W24 + .byte N06 , Ds4 , v112 + .byte W12 + .byte N01 , Ds4 , v080 + .byte W12 + .byte N01 + .byte W12 + .byte N06 , As3 , v112 + .byte W12 + .byte N01 , As3 , v080 + .byte W12 + .byte N06 , Ds4 , v112 + .byte W12 + .byte PATT + .word mus_gotown_1_005 + .byte N06 , Cn4 , v112 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte N01 , As3 , v080 + .byte W12 + .byte N06 , An3 , v112 + .byte W12 + .byte N01 , An3 , v080 + .byte W12 + .byte N06 , Fn3 , v112 + .byte W12 + .byte N01 , Fn3 , v080 + .byte W12 + .byte N06 , As3 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W60 + .byte GOTO + .word mus_gotown_1_B1 + .byte W96 + .byte FINE + +@********************** Track 2 **********************@ + +mus_gotown_2: + .byte KEYSH , mus_gotown_key+0 + .byte VOICE , 73 + .byte LFOS , 44 + .byte VOL , 82*mus_gotown_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , An3 , v112 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte N02 , An3 , v124 + .byte W02 + .byte As3 + .byte W02 + .byte N08 , An3 , v112 + .byte W08 + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W12 +mus_gotown_2_B1: + .byte VOL , 46*mus_gotown_mvl/mxv + .byte N48 , Fn3 , v112 + .byte W04 + .byte VOL , 49*mus_gotown_mvl/mxv + .byte W04 + .byte 52*mus_gotown_mvl/mxv + .byte W04 + .byte 54*mus_gotown_mvl/mxv + .byte W04 + .byte 61*mus_gotown_mvl/mxv + .byte W04 + .byte 67*mus_gotown_mvl/mxv + .byte W04 + .byte MOD , 5 + .byte VOL , 74*mus_gotown_mvl/mxv + .byte W04 + .byte 81*mus_gotown_mvl/mxv + .byte W04 + .byte 85*mus_gotown_mvl/mxv + .byte W16 + .byte MOD , 1 + .byte W12 + .byte N06 + .byte W12 + .byte N09 , Gn4 + .byte W09 + .byte N03 , Fs4 + .byte W03 + .byte N12 , Fn4 + .byte W12 + .byte W12 + .byte N12 + .byte W24 + .byte Ds4 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte As3 + .byte W12 + .byte N12 , Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte VOL , 46*mus_gotown_mvl/mxv + .byte N48 , Dn4 + .byte W04 + .byte VOL , 49*mus_gotown_mvl/mxv + .byte W04 + .byte 52*mus_gotown_mvl/mxv + .byte W04 + .byte 54*mus_gotown_mvl/mxv + .byte W04 + .byte 61*mus_gotown_mvl/mxv + .byte W04 + .byte 67*mus_gotown_mvl/mxv + .byte W04 + .byte MOD , 5 + .byte VOL , 74*mus_gotown_mvl/mxv + .byte W04 + .byte 81*mus_gotown_mvl/mxv + .byte W04 + .byte 85*mus_gotown_mvl/mxv + .byte W16 + .byte MOD , 1 + .byte W12 + .byte N12 , Ds4 + .byte W24 + .byte Dn4 + .byte W12 + .byte VOL , 44*mus_gotown_mvl/mxv + .byte N42 , Gn3 + .byte W04 + .byte VOL , 50*mus_gotown_mvl/mxv + .byte W04 + .byte 54*mus_gotown_mvl/mxv + .byte W04 + .byte 58*mus_gotown_mvl/mxv + .byte W04 + .byte 70*mus_gotown_mvl/mxv + .byte W04 + .byte 80*mus_gotown_mvl/mxv + .byte W04 + .byte MOD , 5 + .byte VOL , 84*mus_gotown_mvl/mxv + .byte W04 + .byte 85*mus_gotown_mvl/mxv + .byte W20 + .byte MOD , 1 + .byte W12 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte An3 + .byte W12 + .byte N32 , As3 + .byte W15 + .byte MOD , 5 + .byte W18 + .byte N03 , Bn3 + .byte W03 + .byte MOD , 1 + .byte N06 , Cn4 + .byte W06 + .byte As3 + .byte W06 + .byte N24 , An3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 1 + .byte W12 + .byte N12 , Gn3 + .byte W12 + .byte W09 + .byte N03 , Gs3 + .byte W03 + .byte N12 , An3 + .byte W24 + .byte N36 , Fn3 + .byte W18 + .byte MOD , 5 + .byte W18 + .byte 1 + .byte N03 , Gn3 , v068 + .byte W03 + .byte An3 + .byte W03 + .byte As3 + .byte W03 + .byte Cn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N06 , En4 , v112 + .byte W06 + .byte Fn4 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N03 , Fs4 + .byte W03 + .byte N21 , Fn4 + .byte W09 + .byte MOD , 5 + .byte W12 + .byte 1 + .byte N06 , As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 1 + .byte N06 , As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N12 , Gs4 + .byte W24 + .byte N02 , Fs4 + .byte W02 + .byte Gs4 + .byte W02 + .byte N08 , Fs4 + .byte W08 + .byte N12 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte VOICE , 48 + .byte PAN , c_v+28 + .byte VOL , 40*mus_gotown_mvl/mxv + .byte N21 , Cn4 + .byte W21 + .byte N03 , Cs4 + .byte W03 + .byte N09 , Dn4 + .byte W09 + .byte N03 , Bn3 + .byte W03 + .byte N48 , As3 + .byte W48 + .byte N06 , An3 + .byte W12 + .byte W06 + .byte N03 , Cn4 + .byte W03 + .byte As3 + .byte W03 + .byte N06 , An3 + .byte W24 + .byte Gn3 + .byte W12 + .byte An3 + .byte W24 + .byte N24 , As3 + .byte W24 + .byte Dn4 + .byte W24 + .byte N09 , Ds4 + .byte W09 + .byte N03 , Cs4 + .byte W03 + .byte N48 , Cn4 + .byte W48 + .byte N06 , Gn3 + .byte W12 + .byte N03 , Cn4 + .byte W03 + .byte N09 , As3 + .byte W09 + .byte N06 , An3 + .byte W12 + .byte As3 + .byte W12 + .byte N12 , Cn4 + .byte W24 + .byte N06 , Gn3 + .byte W12 + .byte N12 + .byte W12 + .byte An3 + .byte W12 + .byte N36 , As3 + .byte W36 + .byte N06 , Cn4 + .byte W06 + .byte As3 + .byte W06 + .byte N48 , An3 + .byte W48 + .byte Gn3 , v096 + .byte W48 + .byte N12 , Fs3 , v088 + .byte W12 + .byte Gs3 , v096 + .byte W12 + .byte As3 , v108 + .byte W12 + .byte Cn4 , v112 + .byte W12 + .byte PAN , c_v+0 + .byte N24 , Cs4 + .byte W24 + .byte VOL , 36*mus_gotown_mvl/mxv + .byte N06 , Ds4 + .byte W12 + .byte N36 , Cn4 + .byte W36 + .byte VOL , 42*mus_gotown_mvl/mxv + .byte N06 , As3 , v056 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte As4 + .byte W06 + .byte VOL , 47*mus_gotown_mvl/mxv + .byte N04 , Cn5 , v068 + .byte W04 + .byte As4 + .byte W05 + .byte An4 + .byte W05 + .byte As4 + .byte W05 + .byte Cn5 + .byte W05 + .byte VOL , 54*mus_gotown_mvl/mxv + .byte N04 , Dn5 , v076 + .byte W04 + .byte Cn5 + .byte W05 + .byte As4 + .byte W05 + .byte Cn5 + .byte W05 + .byte Dn5 + .byte W05 + .byte VOL , 60*mus_gotown_mvl/mxv + .byte N04 , Ds5 , v092 + .byte W04 + .byte Dn5 + .byte W05 + .byte Cn5 + .byte W05 + .byte Dn5 + .byte W05 + .byte Ds5 + .byte W05 + .byte VOL , 64*mus_gotown_mvl/mxv + .byte N04 , Fn5 , v100 + .byte W04 + .byte Ds5 + .byte W05 + .byte Dn5 + .byte W05 + .byte Ds5 + .byte W05 + .byte Fn5 + .byte W05 + .byte VOL , 69*mus_gotown_mvl/mxv + .byte N12 , Gn5 , v112 + .byte W12 + .byte N03 , Fn5 , v064 + .byte W03 + .byte Ds5 + .byte W03 + .byte Cs5 + .byte W03 + .byte Cn5 + .byte W03 + .byte N24 , Gn4 , v108 + .byte W24 + .byte N06 , Gn4 , v032 + .byte W12 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v032 + .byte W06 + .byte An4 , v112 + .byte W06 + .byte N03 , An4 , v032 + .byte W03 + .byte Cs5 , v080 + .byte W03 + .byte N12 , Cn5 , v112 + .byte W12 + .byte N06 , Cn5 , v032 + .byte W12 + .byte N12 , Cn5 , v112 + .byte W12 + .byte N06 , As4 + .byte W06 + .byte As4 , v032 + .byte W18 + .byte Dn5 , v112 + .byte W06 + .byte Dn5 , v032 + .byte W06 + .byte Cn5 , v112 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte N12 , Dn5 , v112 + .byte W12 + .byte Ds5 + .byte W12 + .byte N48 , Fn5 + .byte W15 + .byte VOL , 60*mus_gotown_mvl/mxv + .byte W02 + .byte 56*mus_gotown_mvl/mxv + .byte W03 + .byte 52*mus_gotown_mvl/mxv + .byte W04 + .byte 51*mus_gotown_mvl/mxv + .byte W02 + .byte 47*mus_gotown_mvl/mxv + .byte W03 + .byte 45*mus_gotown_mvl/mxv + .byte W03 + .byte 42*mus_gotown_mvl/mxv + .byte W04 + .byte 41*mus_gotown_mvl/mxv + .byte W02 + .byte 37*mus_gotown_mvl/mxv + .byte W03 + .byte 34*mus_gotown_mvl/mxv + .byte W03 + .byte 30*mus_gotown_mvl/mxv + .byte W04 + .byte 29*mus_gotown_mvl/mxv + .byte N06 , Fn5 , v032 + .byte W02 + .byte VOL , 26*mus_gotown_mvl/mxv + .byte W04 + .byte 68*mus_gotown_mvl/mxv + .byte W06 + .byte N06 , Ds5 , v112 + .byte W06 + .byte Ds5 , v032 + .byte W06 + .byte Ds5 , v112 + .byte W06 + .byte Ds5 , v032 + .byte W06 + .byte Fn5 , v112 + .byte W06 + .byte Fn5 , v032 + .byte W06 + .byte N24 , Gn5 , v112 + .byte W12 + .byte VOL , 60*mus_gotown_mvl/mxv + .byte W02 + .byte 55*mus_gotown_mvl/mxv + .byte W03 + .byte 50*mus_gotown_mvl/mxv + .byte W03 + .byte 46*mus_gotown_mvl/mxv + .byte W04 + .byte 62*mus_gotown_mvl/mxv + .byte N24 , Fn5 + .byte W12 + .byte VOL , 58*mus_gotown_mvl/mxv + .byte W02 + .byte 52*mus_gotown_mvl/mxv + .byte W03 + .byte 47*mus_gotown_mvl/mxv + .byte W03 + .byte 45*mus_gotown_mvl/mxv + .byte W04 + .byte 67*mus_gotown_mvl/mxv + .byte N06 , Cn5 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Bn4 , v112 + .byte W06 + .byte Bn4 , v032 + .byte W06 + .byte N12 , Cn5 , v112 + .byte W12 + .byte N06 , Dn5 + .byte W06 + .byte N03 , Cs5 , v064 + .byte W03 + .byte Dn5 , v072 + .byte W03 + .byte N36 , Ds5 , v112 + .byte W12 + .byte VOL , 58*mus_gotown_mvl/mxv + .byte W02 + .byte 55*mus_gotown_mvl/mxv + .byte W03 + .byte 50*mus_gotown_mvl/mxv + .byte W03 + .byte 45*mus_gotown_mvl/mxv + .byte W04 + .byte 42*mus_gotown_mvl/mxv + .byte W02 + .byte 37*mus_gotown_mvl/mxv + .byte W03 + .byte 34*mus_gotown_mvl/mxv + .byte W03 + .byte 31*mus_gotown_mvl/mxv + .byte W04 + .byte 67*mus_gotown_mvl/mxv + .byte N06 , As4 + .byte W06 + .byte As4 , v032 + .byte W18 + .byte As4 , v112 + .byte W06 + .byte As4 , v032 + .byte W06 + .byte Ds5 , v112 + .byte W06 + .byte Ds5 , v032 + .byte W06 + .byte As4 , v112 + .byte W06 + .byte As4 , v032 + .byte W06 + .byte As4 , v112 + .byte W06 + .byte As4 , v032 + .byte W06 + .byte As4 , v112 + .byte W06 + .byte As4 , v032 + .byte W06 + .byte N24 , An4 , v112 + .byte W24 + .byte N06 , An4 , v032 + .byte W12 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v032 + .byte W06 + .byte N12 , An4 , v112 + .byte W12 + .byte N06 , Gn4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte As4 , v112 + .byte W06 + .byte As4 , v032 + .byte W06 + .byte An4 , v112 + .byte W06 + .byte An4 , v032 + .byte W06 + .byte As4 , v112 + .byte W06 + .byte As4 , v032 + .byte W18 + .byte N24 , An4 , v112 + .byte W12 + .byte VOL , 60*mus_gotown_mvl/mxv + .byte W12 + .byte 64*mus_gotown_mvl/mxv + .byte N06 , Fn4 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte N96 , Dn5 , v112 + .byte W24 + .byte VOL , 61*mus_gotown_mvl/mxv + .byte W03 + .byte 57*mus_gotown_mvl/mxv + .byte W03 + .byte 53*mus_gotown_mvl/mxv + .byte W03 + .byte 50*mus_gotown_mvl/mxv + .byte W03 + .byte 46*mus_gotown_mvl/mxv + .byte W03 + .byte 42*mus_gotown_mvl/mxv + .byte W03 + .byte 37*mus_gotown_mvl/mxv + .byte W03 + .byte 33*mus_gotown_mvl/mxv + .byte W03 + .byte 26*mus_gotown_mvl/mxv + .byte W03 + .byte 24*mus_gotown_mvl/mxv + .byte W03 + .byte 21*mus_gotown_mvl/mxv + .byte W03 + .byte 22*mus_gotown_mvl/mxv + .byte W03 + .byte 24*mus_gotown_mvl/mxv + .byte W03 + .byte 26*mus_gotown_mvl/mxv + .byte W03 + .byte 28*mus_gotown_mvl/mxv + .byte W02 + .byte 36*mus_gotown_mvl/mxv + .byte W04 + .byte 37*mus_gotown_mvl/mxv + .byte W02 + .byte 40*mus_gotown_mvl/mxv + .byte W03 + .byte 42*mus_gotown_mvl/mxv + .byte W03 + .byte 46*mus_gotown_mvl/mxv + .byte W01 + .byte 48*mus_gotown_mvl/mxv + .byte W03 + .byte 55*mus_gotown_mvl/mxv + .byte W02 + .byte 51*mus_gotown_mvl/mxv + .byte W01 + .byte 60*mus_gotown_mvl/mxv + .byte W02 + .byte 55*mus_gotown_mvl/mxv + .byte W01 + .byte 64*mus_gotown_mvl/mxv + .byte W02 + .byte 58*mus_gotown_mvl/mxv + .byte W01 + .byte 71*mus_gotown_mvl/mxv + .byte W03 + .byte VOICE , 17 + .byte VOL , 53*mus_gotown_mvl/mxv + .byte N12 , Gn5 + .byte W12 + .byte N03 , Fn5 , v064 + .byte W03 + .byte Ds5 + .byte W03 + .byte Cs5 + .byte W03 + .byte Cn5 + .byte W03 + .byte N24 , As4 , v108 + .byte W36 + .byte N06 , As4 , v112 + .byte W12 + .byte Cn5 + .byte W12 + .byte Ds5 + .byte W12 + .byte W12 + .byte N06 + .byte W12 + .byte Dn5 + .byte W24 + .byte N24 , Ds5 + .byte W24 + .byte N12 , Fn5 + .byte W12 + .byte N06 , En5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N24 , Dn5 + .byte W36 + .byte N24 + .byte W24 + .byte N06 , Cs5 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Dn5 + .byte W12 + .byte Gn5 + .byte W12 + .byte N06 , Fn5 + .byte W24 + .byte N24 , Ds5 + .byte W24 + .byte N06 , Dn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte N06 , En5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N24 , Dn5 + .byte W24 + .byte N06 , As4 + .byte W36 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Cn5 + .byte W12 + .byte Ds5 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , Dn5 + .byte W24 + .byte Ds5 + .byte W24 + .byte N12 , Fn5 + .byte W12 + .byte N06 , En5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte Gn4 + .byte W24 + .byte An4 + .byte W24 + .byte Fn4 + .byte W12 + .byte W12 + .byte As4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte VOICE , 73 + .byte VOL , 78*mus_gotown_mvl/mxv + .byte N12 , As3 + .byte W12 + .byte N02 , An3 , v092 + .byte W02 + .byte As3 , v088 + .byte W02 + .byte N08 , An3 , v112 + .byte W08 + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte GOTO + .word mus_gotown_2_B1 + .byte W96 + .byte FINE + +@********************** Track 3 **********************@ + +mus_gotown_3: + .byte KEYSH , mus_gotown_key+0 + .byte VOICE , 4 + .byte LFOS , 44 + .byte PAN , c_v+63 + .byte VOL , 42*mus_gotown_mvl/mxv + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte N12 , An4 , v112 + .byte W12 + .byte As4 + .byte W12 + .byte Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte N02 , An4 , v124 + .byte W02 + .byte As4 + .byte W02 + .byte N08 , An4 , v112 + .byte W08 + .byte N12 , Gn4 + .byte W12 + .byte An4 + .byte W12 +mus_gotown_3_B1: + .byte VOICE , 4 + .byte MOD , 2 + .byte VOL , 22*mus_gotown_mvl/mxv + .byte N48 , Fn4 , v112 + .byte W04 + .byte VOL , 25*mus_gotown_mvl/mxv + .byte W04 + .byte 28*mus_gotown_mvl/mxv + .byte W04 + .byte 31*mus_gotown_mvl/mxv + .byte W04 + .byte 34*mus_gotown_mvl/mxv + .byte W04 + .byte 36*mus_gotown_mvl/mxv + .byte W04 + .byte 38*mus_gotown_mvl/mxv + .byte W04 + .byte 40*mus_gotown_mvl/mxv + .byte W04 + .byte 42*mus_gotown_mvl/mxv + .byte W01 + .byte MOD , 8 + .byte W15 + .byte 2 + .byte W12 + .byte N06 + .byte W12 + .byte N09 , Gn5 + .byte W09 + .byte N03 , Fs5 + .byte W03 + .byte N12 , Fn5 + .byte W12 + .byte W12 + .byte N12 + .byte W24 + .byte Ds5 + .byte W12 + .byte N06 , Dn5 + .byte W12 + .byte As4 + .byte W12 + .byte N12 , Cn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte VOL , 22*mus_gotown_mvl/mxv + .byte N48 , Dn5 + .byte W04 + .byte VOL , 25*mus_gotown_mvl/mxv + .byte W04 + .byte 28*mus_gotown_mvl/mxv + .byte W04 + .byte 31*mus_gotown_mvl/mxv + .byte W04 + .byte 34*mus_gotown_mvl/mxv + .byte W04 + .byte 36*mus_gotown_mvl/mxv + .byte W04 + .byte 38*mus_gotown_mvl/mxv + .byte W04 + .byte 40*mus_gotown_mvl/mxv + .byte W04 + .byte 42*mus_gotown_mvl/mxv + .byte W04 + .byte MOD , 8 + .byte W12 + .byte 2 + .byte W12 + .byte N12 , Ds5 + .byte W24 + .byte Dn5 + .byte W12 + .byte VOL , 22*mus_gotown_mvl/mxv + .byte N42 , Gn4 + .byte W04 + .byte VOL , 25*mus_gotown_mvl/mxv + .byte W04 + .byte 28*mus_gotown_mvl/mxv + .byte W04 + .byte 31*mus_gotown_mvl/mxv + .byte W04 + .byte 34*mus_gotown_mvl/mxv + .byte W04 + .byte 36*mus_gotown_mvl/mxv + .byte W04 + .byte MOD , 8 + .byte VOL , 38*mus_gotown_mvl/mxv + .byte W04 + .byte 40*mus_gotown_mvl/mxv + .byte W04 + .byte 42*mus_gotown_mvl/mxv + .byte W04 + .byte MOD , 2 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte An4 + .byte W12 + .byte N32 , As4 + .byte W18 + .byte MOD , 8 + .byte W12 + .byte 2 + .byte W03 + .byte N03 , Bn4 + .byte W03 + .byte N06 , Cn5 + .byte W06 + .byte As4 + .byte W06 + .byte N24 , An4 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte 2 + .byte W12 + .byte N12 , Gn4 + .byte W12 + .byte W09 + .byte N03 , Gs4 + .byte W03 + .byte N12 , An4 + .byte W24 + .byte N36 , Fn4 + .byte W21 + .byte MOD , 8 + .byte W15 + .byte 2 + .byte N03 , Gn4 , v068 + .byte W03 + .byte An4 + .byte W03 + .byte As4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Dn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte N06 , En5 , v112 + .byte W06 + .byte VOL , 42*mus_gotown_mvl/mxv + .byte N36 , Cs3 + .byte W15 + .byte MOD , 3 + .byte W21 + .byte N36 , Gs2 + .byte W03 + .byte MOD , 1 + .byte W09 + .byte 5 + .byte W24 + .byte 1 + .byte W12 + .byte N36 , Gn2 + .byte W12 + .byte W60 + .byte N24 , Fs2 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 1 + .byte N12 , Cs3 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N36 + .byte W15 + .byte MOD , 4 + .byte W21 + .byte 1 + .byte N36 , Gs2 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte VOICE , 4 + .byte PAN , c_v+63 + .byte MOD , 1 + .byte VOL , 74*mus_gotown_mvl/mxv + .byte W12 + .byte N24 , As3 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 4 + .byte W12 + .byte 1 + .byte N06 , Cn4 + .byte W12 + .byte VOL , 85*mus_gotown_mvl/mxv + .byte W12 + .byte PAN , c_v-63 + .byte N12 , An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte PAN , c_v+0 + .byte VOL , 74*mus_gotown_mvl/mxv + .byte N06 , Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte VOICE , 7 + .byte VOL , 42*mus_gotown_mvl/mxv + .byte PAN , c_v+63 + .byte N12 , Gn4 + .byte W12 + .byte N03 , Fn4 , v064 + .byte W03 + .byte Ds4 + .byte W03 + .byte Cs4 + .byte W03 + .byte Cn4 + .byte W03 + .byte N24 , Gn3 , v108 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 1 + .byte W12 + .byte N06 , Gn3 , v112 + .byte W12 + .byte An3 + .byte W09 + .byte N03 , Cs4 , v064 + .byte W03 + .byte N12 , Cn4 , v112 + .byte W12 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , As3 + .byte W24 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N48 , Fn4 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 1 + .byte W12 + .byte N06 , Ds4 + .byte W12 + .byte N06 + .byte W12 + .byte Fn4 + .byte W12 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 1 + .byte N24 , Fn4 + .byte W15 + .byte MOD , 4 + .byte W09 + .byte 1 + .byte N06 , Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte N12 , Cn4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Cs4 , v064 + .byte W03 + .byte Dn4 , v072 + .byte W03 + .byte N36 , Ds4 , v112 + .byte W15 + .byte MOD , 4 + .byte W18 + .byte 1 + .byte W03 + .byte N06 , As3 + .byte W24 + .byte N06 + .byte W12 + .byte Ds4 + .byte W12 + .byte As3 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , An3 + .byte W36 + .byte N06 , Gn3 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W24 + .byte N24 , An4 + .byte W24 + .byte N06 , Fn4 + .byte W12 + .byte N96 , Dn5 + .byte W48 + .byte MOD , 5 + .byte W48 + .byte VOICE , 10 + .byte MOD , 1 + .byte PAN , c_v+32 + .byte N12 , Gn5 + .byte W12 + .byte N03 , Fn5 , v064 + .byte W03 + .byte Ds5 + .byte W03 + .byte Cs5 + .byte W03 + .byte Cn5 + .byte W03 + .byte N24 , As4 , v108 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 1 + .byte N06 , As4 , v032 + .byte W12 + .byte As4 , v112 + .byte W06 + .byte As4 , v032 + .byte W06 + .byte Cn5 , v112 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Ds5 , v112 + .byte W06 + .byte Ds5 , v032 + .byte W06 + .byte W12 + .byte Ds5 , v112 + .byte W06 + .byte Ds5 , v032 + .byte W06 + .byte Dn5 , v112 + .byte W06 + .byte Dn5 , v032 + .byte W18 + .byte N24 , Ds5 , v112 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 1 + .byte N12 , Fn5 + .byte W12 + .byte N06 , En5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N24 , Dn5 + .byte W15 + .byte MOD , 4 + .byte W09 + .byte 1 + .byte N06 , Dn5 , v032 + .byte W12 + .byte N24 , Dn5 , v112 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 1 + .byte N06 , Cs5 + .byte W06 + .byte Cs5 , v032 + .byte W06 + .byte Cs5 , v112 + .byte W06 + .byte Cs5 , v032 + .byte W06 + .byte N12 , Dn5 , v112 + .byte W12 + .byte Gn5 + .byte W12 + .byte N06 , Fn5 + .byte W06 + .byte Fn5 , v032 + .byte W18 + .byte N24 , Ds5 , v112 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte N06 , Dn5 + .byte W03 + .byte MOD , 1 + .byte W03 + .byte N06 , Ds5 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte N06 , En5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N24 , Dn5 + .byte W24 + .byte N06 , As4 + .byte W06 + .byte As4 , v032 + .byte W30 + .byte As4 , v112 + .byte W06 + .byte As4 , v032 + .byte W06 + .byte As4 , v112 + .byte W06 + .byte As4 , v032 + .byte W06 + .byte Cn5 , v112 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Ds5 , v112 + .byte W06 + .byte Ds5 , v032 + .byte W06 + .byte Ds5 , v112 + .byte W06 + .byte Ds5 , v032 + .byte W06 + .byte N24 , Dn5 , v112 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 1 + .byte N24 , Ds5 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 1 + .byte N12 , Fn5 + .byte W12 + .byte N06 , En5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Dn5 , v032 + .byte W06 + .byte Cn5 , v112 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte As4 , v112 + .byte W06 + .byte As4 , v032 + .byte W06 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v032 + .byte W18 + .byte An4 , v112 + .byte W06 + .byte An4 , v032 + .byte W18 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte W12 + .byte As4 , v112 + .byte W06 + .byte As4 , v032 + .byte W06 + .byte As4 , v112 + .byte W06 + .byte As4 , v032 + .byte W06 + .byte As4 , v112 + .byte W06 + .byte As4 , v032 + .byte W06 + .byte VOICE , 4 + .byte VOL , 42*mus_gotown_mvl/mxv + .byte N12 , As4 , v112 + .byte W12 + .byte N02 , An4 , v092 + .byte W02 + .byte As4 , v088 + .byte W02 + .byte N08 , An4 , v112 + .byte W08 + .byte N12 , Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte GOTO + .word mus_gotown_3_B1 + .byte W96 + .byte FINE + +@********************** Track 4 **********************@ + +mus_gotown_4: + .byte KEYSH , mus_gotown_key+0 + .byte VOICE , 38 + .byte VOL , 85*mus_gotown_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte W12 + .byte W48 + .byte VOICE , 38 + .byte W12 + .byte N12 , An1 , v112 + .byte W12 +mus_gotown_4_B1: + .byte BEND , c_v+0 + .byte N24 , As1 , v127 + .byte W36 + .byte N06 + .byte W12 + .byte N24 , Fn1 + .byte W36 + .byte N06 + .byte W12 + .byte N24 , As1 + .byte W36 + .byte N06 + .byte W12 + .byte Fn1 + .byte W12 + .byte Fn2 + .byte W12 + .byte N24 , Fn1 + .byte W24 +mus_gotown_4_000: + .byte N24 , Cn2 , v127 + .byte W36 + .byte N06 + .byte W12 + .byte N24 , Gn1 + .byte W36 + .byte N06 + .byte W12 + .byte PEND + .byte N24 , Cn2 + .byte W36 + .byte N06 + .byte W12 + .byte Gn1 + .byte W12 + .byte Gn2 + .byte W12 + .byte N24 , Gn1 + .byte W24 + .byte Fn2 + .byte W36 + .byte N06 + .byte W12 + .byte N24 , Cn2 + .byte W36 + .byte N06 + .byte W12 + .byte N24 , Fn2 + .byte W36 + .byte N06 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte N18 , Ds2 , v112 + .byte W18 + .byte N06 , Fn1 , v127 + .byte W06 +mus_gotown_4_001: + .byte N36 , Fs2 , v127 + .byte W36 + .byte Cs2 + .byte W48 + .byte Cn2 + .byte W12 + .byte PEND + .byte W36 + .byte Bn1 + .byte W48 + .byte N03 , An1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , As1 , v127 + .byte W36 + .byte N06 + .byte W12 + .byte N24 , Fn2 + .byte W36 + .byte N06 , Fn1 + .byte W12 + .byte N24 , As1 + .byte W36 + .byte N06 + .byte W12 + .byte As2 + .byte W12 + .byte Fn2 + .byte W12 + .byte N12 , Fn1 + .byte W12 + .byte N03 , As1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Cn2 , v127 + .byte W36 + .byte N06 + .byte W12 + .byte N24 , Gn2 + .byte W36 + .byte N06 , Gn1 + .byte W12 + .byte N24 , Cn2 + .byte W36 + .byte N06 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N03 , Ds2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Fn2 , v127 + .byte W36 + .byte N06 + .byte W12 + .byte N24 + .byte W36 + .byte N06 + .byte W12 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Fn2 , v112 + .byte W24 + .byte Fn1 , v127 + .byte W12 + .byte N12 , Cn2 + .byte W12 + .byte N06 , Gs2 + .byte W12 + .byte N12 , Cn2 + .byte W12 + .byte N03 , Gs1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte PATT + .word mus_gotown_4_001 + .byte W36 + .byte N36 , Fn2 , v127 + .byte W48 + .byte N03 , Dn2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Ds2 , v127 + .byte W36 + .byte N06 + .byte W12 + .byte N24 , As1 + .byte W36 + .byte N06 + .byte W12 + .byte N24 , Ds2 + .byte W36 + .byte N06 + .byte W12 + .byte N12 , As1 + .byte W12 + .byte Ds2 , v112 + .byte W24 + .byte As1 , v127 + .byte W12 +mus_gotown_4_002: + .byte N24 , Dn2 , v127 + .byte W36 + .byte N06 + .byte W12 + .byte N24 , An1 + .byte W36 + .byte N06 + .byte W12 + .byte PEND + .byte N24 , Dn2 + .byte W36 + .byte N06 , Fn2 + .byte W12 + .byte Gs1 + .byte W12 + .byte N24 , Gs1 , v112 + .byte W24 + .byte N06 , Dn2 , v127 + .byte W12 + .byte N24 , Cn2 + .byte W36 + .byte N06 , Ds2 + .byte W12 + .byte N24 , Gn1 + .byte W36 + .byte N06 , Gs1 + .byte W12 + .byte N24 , An1 + .byte W36 + .byte N06 , Fn2 + .byte W12 + .byte N24 , Ds2 + .byte W36 + .byte N06 , An1 + .byte W12 + .byte N24 , As1 + .byte W36 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , As1 , v112 + .byte W24 + .byte N06 , Fn1 , v127 + .byte W12 + .byte N24 , Gs2 + .byte W36 + .byte N06 + .byte W12 + .byte N03 , Dn2 + .byte W06 + .byte Dn2 , v112 + .byte W06 + .byte N24 , Gn2 , v127 + .byte W24 + .byte N06 , Dn2 + .byte W12 + .byte N24 , Ds2 + .byte W36 + .byte N06 + .byte W12 + .byte N24 + .byte W36 + .byte N06 + .byte W12 + .byte N24 + .byte W36 + .byte N06 + .byte W12 + .byte As1 + .byte W12 + .byte N24 , Ds2 , v112 + .byte W24 + .byte N06 , As1 , v127 + .byte W12 + .byte PATT + .word mus_gotown_4_002 + .byte N24 , Dn2 , v127 + .byte W36 + .byte N06 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cn2 , v112 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte PATT + .word mus_gotown_4_000 + .byte N24 , Cn2 , v127 + .byte W36 + .byte N06 + .byte W12 + .byte N24 , Fs1 + .byte W36 + .byte N06 + .byte W12 + .byte N24 , As1 + .byte W36 + .byte N06 + .byte W12 + .byte N24 , Fn1 + .byte W36 + .byte N06 + .byte W12 + .byte BEND , c_v+0 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , Fn1 , v112 + .byte W03 + .byte BEND , c_v-7 + .byte W03 + .byte c_v-15 + .byte W03 + .byte c_v-25 + .byte W03 + .byte c_v-36 + .byte W03 + .byte c_v-42 + .byte W03 + .byte c_v-61 + .byte W06 + .byte GOTO + .word mus_gotown_4_B1 + .byte W96 + .byte FINE + +@********************** Track 5 **********************@ + +mus_gotown_5: + .byte KEYSH , mus_gotown_key+0 + .byte LFOS , 44 + .byte PAN , c_v-32 + .byte VOL , 73*mus_gotown_mvl/mxv + .byte W03 + .byte 74*mus_gotown_mvl/mxv + .byte W09 + .byte VOICE , 17 + .byte W72 +mus_gotown_5_B1: + .byte PAN , c_v-32 + .byte W24 + .byte VOL , 74*mus_gotown_mvl/mxv + .byte W72 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte 69*mus_gotown_mvl/mxv + .byte W48 + .byte N12 , Gs4 , v112 + .byte W12 + .byte N02 , Fs4 , v100 + .byte W02 + .byte Gs4 + .byte W02 + .byte N08 , Fs4 + .byte W08 + .byte N12 , Fn4 , v104 + .byte W12 + .byte Ds4 , v112 + .byte W12 + .byte N24 , Fn4 , v064 + .byte W24 + .byte N06 , Fn5 + .byte W06 + .byte N30 , Fn4 + .byte W18 + .byte MOD , 3 + .byte W12 + .byte 1 + .byte N06 , Fn5 , v084 + .byte W06 + .byte N18 , Fn4 , v088 + .byte W15 + .byte VOL , 74*mus_gotown_mvl/mxv + .byte W03 + .byte N06 , Fn5 , v096 + .byte W06 + .byte N18 , Fn4 , v108 + .byte W06 + .byte W12 + .byte N06 , Fn5 , v112 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte N12 , Fs3 + .byte W12 + .byte As3 + .byte W12 + .byte VOL , 64*mus_gotown_mvl/mxv + .byte N12 , Gs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte PAN , c_v-13 + .byte VOL , 66*mus_gotown_mvl/mxv + .byte N48 , Fn4 + .byte W04 + .byte VOL , 67*mus_gotown_mvl/mxv + .byte W04 + .byte 69*mus_gotown_mvl/mxv + .byte W04 + .byte 73*mus_gotown_mvl/mxv + .byte W04 + .byte 77*mus_gotown_mvl/mxv + .byte W04 + .byte 80*mus_gotown_mvl/mxv + .byte W04 + .byte MOD , 3 + .byte W24 + .byte 1 + .byte VOL , 78*mus_gotown_mvl/mxv + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Gn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte W12 + .byte N02 , Fn5 , v080 + .byte W02 + .byte Gn5 + .byte W02 + .byte N08 , Fn5 , v112 + .byte W20 + .byte N12 , Ds5 + .byte W12 + .byte N06 , Dn5 + .byte W12 + .byte As4 + .byte W12 + .byte N12 , Cn5 + .byte W12 + .byte N06 , Cs5 + .byte W06 + .byte N03 , Cn5 , v064 + .byte W03 + .byte Cs5 + .byte W03 + .byte VOL , 42*mus_gotown_mvl/mxv + .byte N48 , Dn5 , v112 + .byte W04 + .byte VOL , 45*mus_gotown_mvl/mxv + .byte W04 + .byte 46*mus_gotown_mvl/mxv + .byte W04 + .byte 49*mus_gotown_mvl/mxv + .byte W04 + .byte 52*mus_gotown_mvl/mxv + .byte W04 + .byte 56*mus_gotown_mvl/mxv + .byte W04 + .byte MOD , 3 + .byte VOL , 60*mus_gotown_mvl/mxv + .byte W04 + .byte 67*mus_gotown_mvl/mxv + .byte W04 + .byte 73*mus_gotown_mvl/mxv + .byte W04 + .byte 77*mus_gotown_mvl/mxv + .byte W04 + .byte 79*mus_gotown_mvl/mxv + .byte W08 + .byte MOD , 1 + .byte VOL , 74*mus_gotown_mvl/mxv + .byte W12 + .byte N12 , Ds5 + .byte W24 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte N06 , As4 + .byte W24 + .byte N12 , Gn4 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte An4 + .byte W12 + .byte VOL , 44*mus_gotown_mvl/mxv + .byte N36 , As4 + .byte W04 + .byte VOL , 49*mus_gotown_mvl/mxv + .byte W04 + .byte 62*mus_gotown_mvl/mxv + .byte W04 + .byte 67*mus_gotown_mvl/mxv + .byte W04 + .byte 68*mus_gotown_mvl/mxv + .byte W04 + .byte 72*mus_gotown_mvl/mxv + .byte W04 + .byte MOD , 3 + .byte VOL , 74*mus_gotown_mvl/mxv + .byte W12 + .byte MOD , 1 + .byte N06 , Cn5 + .byte W06 + .byte As4 + .byte W06 + .byte N24 , An4 + .byte W36 + .byte N06 , Gn4 + .byte W12 + .byte W12 + .byte An4 + .byte W24 + .byte Gn4 + .byte W12 + .byte N12 , Gs4 + .byte W12 + .byte N02 , Fs4 + .byte W02 + .byte Gs4 + .byte W02 + .byte N08 , Fs4 + .byte W08 + .byte N12 , Fn4 + .byte W12 + .byte N09 , Ds4 + .byte W09 + .byte N03 , En5 + .byte W03 + .byte VOL , 72*mus_gotown_mvl/mxv + .byte N06 , Fn5 + .byte W12 + .byte As4 , v104 + .byte W12 + .byte Cn5 + .byte W09 + .byte N03 , Fs5 , v064 + .byte W03 + .byte N21 , Fn5 , v100 + .byte W12 + .byte MOD , 3 + .byte W12 + .byte 1 + .byte N06 , As4 , v092 + .byte W12 + .byte Cn5 + .byte W12 + .byte N24 , Fn5 + .byte W12 + .byte MOD , 3 + .byte W12 + .byte 1 + .byte N06 , As4 , v104 + .byte W12 + .byte Cn5 , v108 + .byte W12 + .byte N36 , Fn5 + .byte W24 + .byte MOD , 3 + .byte W12 + .byte 1 + .byte N24 , Fs5 , v112 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_gotown_5_B1 + .byte W96 + .byte FINE + +@********************** Track 6 **********************@ + +mus_gotown_6: + .byte KEYSH , mus_gotown_key+0 + .byte VOICE , 1 + .byte XCMD , xIECV , 12 + .byte xIECV , 8 + .byte VOL , 36*mus_gotown_mvl/mxv + .byte PAN , c_v+0 + .byte W12 + .byte W72 +mus_gotown_6_B1: + .byte VOICE , 1 + .byte W18 + .byte N03 , Cn3 , v068 + .byte W03 + .byte Cs3 + .byte W03 + .byte N06 , Dn3 , v112 + .byte W12 + .byte N01 , Dn3 , v080 + .byte W12 + .byte N01 + .byte W12 + .byte N06 , Dn3 , v112 + .byte W12 + .byte N01 , Dn3 , v080 + .byte W12 + .byte N06 , Dn3 , v112 + .byte W12 +mus_gotown_6_000: + .byte N01 , Dn3 , v080 + .byte W12 + .byte N06 , Dn3 , v112 + .byte W12 + .byte N01 , Dn3 , v080 + .byte W12 + .byte N06 , Dn3 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N01 , Dn3 , v080 + .byte W12 + .byte N06 , Dn3 , v112 + .byte W12 + .byte N01 , Dn3 , v080 + .byte W12 + .byte PEND + .byte W12 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N03 , Cs3 , v088 + .byte W03 + .byte Dn3 + .byte W03 + .byte N06 , Ds3 , v112 + .byte W12 + .byte N01 , Ds3 , v080 + .byte W12 + .byte N01 + .byte W12 + .byte N06 , Ds3 , v112 + .byte W12 + .byte N01 , Ds3 , v080 + .byte W12 + .byte N06 , Ds3 , v112 + .byte W12 +mus_gotown_6_001: + .byte N01 , Ds3 , v080 + .byte W12 + .byte N06 , Ds3 , v112 + .byte W12 + .byte N01 , Ds3 , v080 + .byte W12 + .byte N06 , Ds3 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N01 , Ds3 , v080 + .byte W12 + .byte N06 , Ds3 , v112 + .byte W12 + .byte N01 , Ds3 , v080 + .byte W12 + .byte PEND +mus_gotown_6_002: + .byte W12 + .byte N01 , Ds3 , v080 + .byte W03 + .byte N01 + .byte W03 + .byte N03 , Cs3 + .byte W03 + .byte Dn3 + .byte W03 + .byte N06 , Ds3 , v112 + .byte W12 + .byte N01 , Ds3 , v080 + .byte W12 + .byte N01 + .byte W12 + .byte N06 , Ds3 , v112 + .byte W12 + .byte N01 , Ds3 , v080 + .byte W12 + .byte N06 , Ds3 , v112 + .byte W12 + .byte PEND + .byte PATT + .word mus_gotown_6_001 +mus_gotown_6_003: + .byte VOICE , 2 + .byte N36 , As2 , v112 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte N36 , Fn2 + .byte W03 + .byte MOD , 1 + .byte W09 + .byte 8 + .byte W24 + .byte W03 + .byte 1 + .byte W09 + .byte N36 , Ds2 + .byte W12 + .byte PEND + .byte MOD , 8 + .byte W24 + .byte W03 + .byte 1 + .byte W21 + .byte N36 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte N12 , Fs3 + .byte W03 + .byte MOD , 1 + .byte W09 + .byte W15 + .byte VOICE , 1 + .byte W03 + .byte N03 , Cn3 , v080 + .byte W03 + .byte Cs3 + .byte W03 + .byte N06 , Dn3 , v112 + .byte W12 + .byte N01 , Dn3 , v080 + .byte W12 + .byte N01 + .byte W12 + .byte N06 , Dn3 , v112 + .byte W12 + .byte N01 , Dn3 , v080 + .byte W12 + .byte N06 , Dn3 , v112 + .byte W12 + .byte PATT + .word mus_gotown_6_000 + .byte W12 + .byte N01 , Dn3 , v080 + .byte W03 + .byte N01 + .byte W03 + .byte N03 , Cs3 + .byte W03 + .byte Dn3 + .byte W03 + .byte N06 , Ds3 , v112 + .byte W12 + .byte N01 , Ds3 , v080 + .byte W12 + .byte N01 + .byte W12 + .byte N06 , Ds3 , v112 + .byte W12 + .byte N01 , Ds3 , v080 + .byte W12 + .byte N06 , Ds3 , v112 + .byte W12 + .byte PATT + .word mus_gotown_6_001 + .byte PATT + .word mus_gotown_6_002 + .byte PATT + .word mus_gotown_6_001 + .byte PATT + .word mus_gotown_6_003 + .byte MOD , 8 + .byte W24 + .byte W03 + .byte 1 + .byte W09 + .byte N36 , An2 , v112 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte W03 + .byte 1 + .byte W21 + .byte VOICE , 1 + .byte W24 + .byte N06 , Gn3 + .byte W12 + .byte N01 , Gn3 , v080 + .byte W12 + .byte N01 + .byte W12 + .byte N06 , Gn3 , v112 + .byte W12 + .byte N01 , Gn3 , v080 + .byte W12 + .byte N06 , Fs3 , v112 + .byte W12 +mus_gotown_6_004: + .byte N01 , Fs3 , v080 + .byte W12 + .byte N06 , Fs3 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N01 , Fs3 , v080 + .byte W12 + .byte N06 , Fs3 , v112 + .byte W12 + .byte N01 , Fs3 , v080 + .byte W12 + .byte N06 , Fs3 , v112 + .byte W12 + .byte N01 , Fs3 , v080 + .byte W12 + .byte PEND +mus_gotown_6_005: + .byte N06 , An3 , v112 + .byte W12 + .byte N01 , An3 , v080 + .byte W12 + .byte N01 + .byte W12 + .byte N06 , Fn3 , v112 + .byte W12 + .byte N01 , Fn3 , v080 + .byte W12 + .byte N06 , An3 , v112 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte PEND + .byte VOICE , 2 + .byte N24 , Gs3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 1 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 1 + .byte N06 , Gs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte MOD , 7 + .byte N12 , Gs3 + .byte W12 + .byte N03 , Fs3 , v064 + .byte W03 + .byte En3 , v056 + .byte W03 + .byte Ds3 , v048 + .byte W03 + .byte Cs3 , v040 + .byte W03 +mus_gotown_6_006: + .byte VOICE , 1 + .byte MOD , 1 + .byte W24 + .byte N06 , Gn3 , v112 + .byte W12 + .byte N01 , Gn3 , v080 + .byte W12 + .byte N01 + .byte W12 + .byte N06 , Gn3 , v112 + .byte W12 + .byte N01 , Gn3 , v080 + .byte W12 + .byte N06 , Fs3 , v112 + .byte W12 + .byte PEND + .byte PATT + .word mus_gotown_6_004 + .byte VOICE , 2 + .byte N06 , Fn3 , v112 + .byte W12 + .byte Dn3 + .byte W12 + .byte As2 + .byte W12 + .byte N06 + .byte W24 + .byte N24 , Fn2 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 1 + .byte N06 , As2 + .byte N06 , Fn3 + .byte W12 + .byte N24 , Gs3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 1 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 1 + .byte N24 , Dn3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 1 + .byte N12 , Bn2 + .byte W12 + .byte MOD , 8 + .byte N03 , Dn3 , v064 + .byte W03 + .byte Fn3 , v076 + .byte W03 + .byte Gn3 , v080 + .byte W03 + .byte Bn3 + .byte W03 + .byte PATT + .word mus_gotown_6_006 + .byte N01 , Fs3 , v080 + .byte W12 + .byte N06 , Fs3 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N01 , Fs3 , v080 + .byte W09 + .byte N03 , Fn3 , v068 + .byte W03 + .byte N06 , Fs3 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte PATT + .word mus_gotown_6_005 + .byte VOICE , 2 + .byte N24 , Gs3 , v112 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 1 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 1 + .byte N06 , Gs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte MOD , 8 + .byte N12 , Gs3 + .byte W12 + .byte N03 , Fs3 , v072 + .byte W03 + .byte En3 , v064 + .byte W03 + .byte Ds3 , v052 + .byte W03 + .byte Cs3 , v044 + .byte W03 + .byte PATT + .word mus_gotown_6_006 + .byte PATT + .word mus_gotown_6_004 + .byte N06 , Fn3 , v112 + .byte W12 + .byte Dn3 + .byte W12 + .byte As2 + .byte W12 + .byte N06 + .byte W12 + .byte N01 , As2 , v080 + .byte W12 + .byte N06 , Fn2 , v112 + .byte W12 + .byte N01 , Fn2 , v080 + .byte W12 + .byte N06 , As2 , v112 + .byte W12 + .byte N01 , As2 , v080 + .byte W12 + .byte N06 , Fn3 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W60 + .byte GOTO + .word mus_gotown_6_B1 + .byte W96 + .byte FINE + +@********************** Track 7 **********************@ + +mus_gotown_7: + .byte KEYSH , mus_gotown_key+0 + .byte VOICE , 127 + .byte PAN , c_v-62 + .byte VOL , 42*mus_gotown_mvl/mxv + .byte W12 + .byte W72 +mus_gotown_7_B1: +mus_gotown_7_000: + .byte N06 , An4 , v112 + .byte W12 + .byte An4 , v064 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte An4 , v112 + .byte W12 + .byte An4 , v064 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte PEND +mus_gotown_7_001: + .byte N06 , An4 , v112 + .byte W12 + .byte An4 , v064 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte An4 , v112 + .byte W12 + .byte An4 , v064 + .byte W12 + .byte An4 , v104 + .byte W12 + .byte An4 , v064 + .byte W12 + .byte PEND + .byte PATT + .word mus_gotown_7_000 + .byte PATT + .word mus_gotown_7_001 + .byte PATT + .word mus_gotown_7_000 + .byte PATT + .word mus_gotown_7_001 + .byte PATT + .word mus_gotown_7_000 + .byte PATT + .word mus_gotown_7_001 + .byte PATT + .word mus_gotown_7_000 + .byte PATT + .word mus_gotown_7_001 + .byte PATT + .word mus_gotown_7_000 + .byte PATT + .word mus_gotown_7_001 + .byte PATT + .word mus_gotown_7_000 + .byte PATT + .word mus_gotown_7_001 + .byte PATT + .word mus_gotown_7_000 + .byte PATT + .word mus_gotown_7_001 + .byte PATT + .word mus_gotown_7_000 + .byte PATT + .word mus_gotown_7_001 + .byte PATT + .word mus_gotown_7_000 + .byte PATT + .word mus_gotown_7_001 + .byte PATT + .word mus_gotown_7_000 + .byte PATT + .word mus_gotown_7_001 + .byte PATT + .word mus_gotown_7_000 + .byte PATT + .word mus_gotown_7_001 +mus_gotown_7_002: + .byte N06 , An4 , v112 + .byte W12 + .byte An4 , v064 + .byte W12 + .byte N03 , En4 , v112 + .byte W12 + .byte N06 , An4 , v064 + .byte W12 + .byte An4 , v112 + .byte W12 + .byte N03 , En4 + .byte W12 + .byte N06 , An4 , v064 + .byte W12 + .byte N03 , En4 , v112 + .byte W12 + .byte PEND +mus_gotown_7_003: + .byte N06 , An4 , v112 + .byte W12 + .byte N03 , En4 + .byte W12 + .byte N06 , An4 + .byte W12 + .byte N03 , En4 + .byte W12 + .byte N03 + .byte W12 + .byte N06 , An4 , v064 + .byte W12 + .byte N03 , En4 , v112 + .byte W12 + .byte N06 , An4 , v064 + .byte W12 + .byte PEND + .byte An4 , v112 + .byte W12 + .byte An4 , v064 + .byte W12 + .byte N03 , En4 , v112 + .byte W12 + .byte N06 , An4 , v064 + .byte W12 + .byte An4 , v112 + .byte W12 + .byte N03 , En4 + .byte W12 + .byte N06 , An4 , v064 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , En4 , v112 + .byte W12 + .byte N03 + .byte W12 + .byte N06 , An4 , v064 + .byte W12 + .byte N03 , En4 , v112 + .byte W12 + .byte N06 , An4 + .byte W12 + .byte An4 , v064 + .byte W24 + .byte N06 + .byte W12 + .byte PATT + .word mus_gotown_7_002 + .byte PATT + .word mus_gotown_7_003 + .byte PATT + .word mus_gotown_7_002 + .byte W12 + .byte N03 , En4 , v112 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N06 , An4 + .byte W12 + .byte N06 + .byte W12 + .byte N15 , En4 + .byte W24 + .byte GOTO + .word mus_gotown_7_B1 + .byte W96 + .byte FINE + +@********************** Track 8 **********************@ + +mus_gotown_8: + .byte KEYSH , mus_gotown_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 60*mus_gotown_mvl/mxv + .byte W12 + .byte W60 + .byte N06 , Fs1 , v100 + .byte W06 + .byte Fs1 , v080 + .byte W06 +mus_gotown_8_B1: +mus_gotown_8_000: + .byte N06 , En3 , v100 + .byte W12 + .byte Fs1 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fs1 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte N06 + .byte W12 + .byte PEND +mus_gotown_8_001: + .byte N06 , Fs1 , v100 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fs1 + .byte W06 + .byte Fs1 , v080 + .byte W06 + .byte PEND + .byte PATT + .word mus_gotown_8_000 + .byte PATT + .word mus_gotown_8_001 + .byte PATT + .word mus_gotown_8_000 + .byte PATT + .word mus_gotown_8_001 + .byte PATT + .word mus_gotown_8_000 + .byte PATT + .word mus_gotown_8_001 + .byte PATT + .word mus_gotown_8_000 + .byte PATT + .word mus_gotown_8_001 + .byte PATT + .word mus_gotown_8_000 + .byte PATT + .word mus_gotown_8_001 + .byte PATT + .word mus_gotown_8_000 + .byte PATT + .word mus_gotown_8_001 + .byte PATT + .word mus_gotown_8_000 + .byte PATT + .word mus_gotown_8_001 + .byte VOL , 64*mus_gotown_mvl/mxv + .byte N06 , Cn1 , v127 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 , v100 + .byte W12 + .byte N06 + .byte W12 + .byte En1 , v116 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 , v100 + .byte W12 + .byte N06 + .byte W12 + .byte En1 , v116 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 , v100 + .byte W12 + .byte N06 + .byte W12 + .byte En1 , v124 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 , v100 + .byte W06 + .byte N03 , Dn1 , v072 + .byte W03 + .byte Dn1 , v076 + .byte W03 + .byte N06 , Dn1 , v112 + .byte W12 + .byte Dn1 , v100 + .byte W12 + .byte Dn3 + .byte W12 + .byte En1 , v116 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte En1 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 , v100 + .byte W12 + .byte N06 + .byte W12 + .byte En1 , v120 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 , v100 + .byte W12 + .byte N06 + .byte W12 + .byte En1 , v116 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte En1 , v120 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 , v100 + .byte W12 + .byte Cn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v116 + .byte W12 + .byte N06 + .byte W12 + .byte En3 , v100 + .byte W12 +mus_gotown_8_002: + .byte N06 , Cn1 , v127 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte Fs2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte Fs2 , v100 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn1 + .byte W12 + .byte PEND + .byte Cn1 , v127 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte Fs2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte Fs2 , v100 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte Fs2 + .byte W12 + .byte En3 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte Fs2 , v100 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte Fs2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte Fs2 , v100 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fs2 , v112 + .byte W06 + .byte Cn1 + .byte W06 + .byte PATT + .word mus_gotown_8_002 + .byte N06 , Cn1 , v127 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte Fs2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte Fs2 , v100 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fs2 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte Fs2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte Fs2 , v100 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fs2 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte En3 , v100 + .byte W12 + .byte N06 + .byte W12 + .byte En1 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte N12 , As1 , v088 + .byte W12 + .byte GOTO + .word mus_gotown_8_B1 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +mus_gotown: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_gotown_pri @ Priority + .byte mus_gotown_rev @ Reverb. + + .word mus_gotown_grp + + .word mus_gotown_1 + .word mus_gotown_2 + .word mus_gotown_3 + .word mus_gotown_4 + .word mus_gotown_5 + .word mus_gotown_6 + .word mus_gotown_7 + .word mus_gotown_8 + + .end diff --git a/sound/songs/mus_granroad.s b/sound/songs/mus_granroad.s new file mode 100644 index 0000000000..2027ef7e0e --- /dev/null +++ b/sound/songs/mus_granroad.s @@ -0,0 +1,5437 @@ + .include "MPlayDef.s" + + .equ mus_granroad_grp, voicegroup_8681CB0 + .equ mus_granroad_pri, 0 + .equ mus_granroad_rev, reverb_set+50 + .equ mus_granroad_mvl, 127 + .equ mus_granroad_key, 0 + .equ mus_granroad_tbs, 1 + .equ mus_granroad_exg, 0 + .equ mus_granroad_cmp, 1 + + .section .rodata + .global mus_granroad + .align 2 + +@********************** Track 1 **********************@ + +mus_granroad_1: + .byte KEYSH , mus_granroad_key+0 + .byte TEMPO , 136*mus_granroad_tbs/2 + .byte VOICE , 58 + .byte LFOS , 44 + .byte VOL , 83*mus_granroad_mvl/mxv + .byte PAN , c_v+4 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 92*mus_granroad_mvl/mxv + .byte PAN , c_v+0 + .byte VOL , 80*mus_granroad_mvl/mxv + .byte XCMD , xIECV , 12 + .byte xIECL , 8 + .byte PAN , c_v+0 + .byte VOL , 74*mus_granroad_mvl/mxv + .byte W24 + .byte N24 , En1 , v127 + .byte W24 + .byte W96 + .byte W96 + .byte W12 + .byte VOICE , 56 + .byte PAN , c_v+32 + .byte W04 + .byte N04 , Fs4 , v096 + .byte W08 + .byte PAN , c_v+32 + .byte N72 , An4 + .byte W03 + .byte VOL , 84*mus_granroad_mvl/mxv + .byte W02 + .byte 75*mus_granroad_mvl/mxv + .byte W03 + .byte 72*mus_granroad_mvl/mxv + .byte W07 + .byte 60*mus_granroad_mvl/mxv + .byte W02 + .byte 65*mus_granroad_mvl/mxv + .byte W03 + .byte 69*mus_granroad_mvl/mxv + .byte W04 + .byte 72*mus_granroad_mvl/mxv + .byte MOD , 10 + .byte W02 + .byte VOL , 80*mus_granroad_mvl/mxv + .byte W03 + .byte 84*mus_granroad_mvl/mxv + .byte W03 + .byte 90*mus_granroad_mvl/mxv + .byte W04 + .byte 96*mus_granroad_mvl/mxv + .byte W12 + .byte 94*mus_granroad_mvl/mxv + .byte W04 + .byte 91*mus_granroad_mvl/mxv + .byte W04 + .byte 86*mus_granroad_mvl/mxv + .byte W04 + .byte 83*mus_granroad_mvl/mxv + .byte W04 + .byte 78*mus_granroad_mvl/mxv + .byte W04 + .byte 74*mus_granroad_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 69*mus_granroad_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W12 + .byte VOICE , 56 + .byte W04 + .byte VOL , 84*mus_granroad_mvl/mxv + .byte N04 , Fs4 + .byte W08 + .byte N72 , An4 + .byte W03 + .byte VOL , 84*mus_granroad_mvl/mxv + .byte W02 + .byte 75*mus_granroad_mvl/mxv + .byte W03 + .byte 72*mus_granroad_mvl/mxv + .byte W07 + .byte 60*mus_granroad_mvl/mxv + .byte W02 + .byte 65*mus_granroad_mvl/mxv + .byte W03 + .byte 69*mus_granroad_mvl/mxv + .byte W04 + .byte 72*mus_granroad_mvl/mxv + .byte MOD , 10 + .byte W02 + .byte VOL , 80*mus_granroad_mvl/mxv + .byte W03 + .byte 84*mus_granroad_mvl/mxv + .byte W03 + .byte 90*mus_granroad_mvl/mxv + .byte W04 + .byte 96*mus_granroad_mvl/mxv + .byte W12 + .byte 94*mus_granroad_mvl/mxv + .byte W04 + .byte 91*mus_granroad_mvl/mxv + .byte W04 + .byte 86*mus_granroad_mvl/mxv + .byte W04 + .byte 83*mus_granroad_mvl/mxv + .byte W04 + .byte 78*mus_granroad_mvl/mxv + .byte W04 + .byte 74*mus_granroad_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 48*mus_granroad_mvl/mxv + .byte W96 + .byte W96 +mus_granroad_1_B1: + .byte W96 + .byte W96 + .byte VOICE , 46 + .byte PAN , c_v-63 + .byte VOL , 65*mus_granroad_mvl/mxv + .byte N04 , En3 , v092 + .byte W04 + .byte En3 , v032 + .byte W04 + .byte An3 , v076 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , An3 , v032 + .byte W04 + .byte Cs4 , v080 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte PAN , c_v+0 + .byte N04 , En4 , v084 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte Gs4 , v080 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Gs4 , v032 + .byte W04 + .byte An4 , v076 + .byte W04 + .byte An4 , v032 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Bn4 , v064 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte An4 , v060 + .byte W04 + .byte PAN , c_v+47 + .byte N04 , An4 , v032 + .byte W04 + .byte Gs4 , v064 + .byte W04 + .byte Gs4 , v032 + .byte W04 + .byte PAN , c_v+28 + .byte N04 , Fs4 , v080 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte En4 , v088 + .byte W04 + .byte PAN , c_v+13 + .byte N04 , En4 , v032 + .byte W04 + .byte Dn4 , v092 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte PAN , c_v+0 + .byte VOL , 48*mus_granroad_mvl/mxv + .byte N04 , Cs4 , v084 + .byte W04 + .byte N20 , Cs4 , v032 + .byte W92 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 9 + .byte PAN , c_v+0 + .byte VOL , 33*mus_granroad_mvl/mxv + .byte N48 , En5 , v112 + .byte W24 + .byte PAN , c_v+63 + .byte W24 + .byte c_v+0 + .byte N48 , An4 + .byte W24 + .byte PAN , c_v-61 + .byte W24 + .byte c_v+0 + .byte N48 , Dn5 + .byte W24 + .byte PAN , c_v+63 + .byte W24 + .byte c_v+0 + .byte N24 , An4 + .byte W24 + .byte Bn4 + .byte W24 + .byte N48 , Dn5 + .byte W24 + .byte PAN , c_v+63 + .byte W24 + .byte c_v+0 + .byte N48 , En4 + .byte W24 + .byte PAN , c_v-61 + .byte W24 + .byte c_v+0 + .byte N48 , Cs5 + .byte W24 + .byte PAN , c_v+63 + .byte W24 + .byte c_v+0 + .byte N24 , An4 + .byte W24 + .byte VOL , 33*mus_granroad_mvl/mxv + .byte N72 , Bn4 + .byte W24 + .byte PAN , c_v-64 + .byte VOL , 30*mus_granroad_mvl/mxv + .byte W04 + .byte 28*mus_granroad_mvl/mxv + .byte W04 + .byte 27*mus_granroad_mvl/mxv + .byte W04 + .byte 24*mus_granroad_mvl/mxv + .byte W04 + .byte 23*mus_granroad_mvl/mxv + .byte W04 + .byte 21*mus_granroad_mvl/mxv + .byte W04 + .byte PAN , c_v+63 + .byte VOL , 20*mus_granroad_mvl/mxv + .byte W04 + .byte 19*mus_granroad_mvl/mxv + .byte W04 + .byte 17*mus_granroad_mvl/mxv + .byte W04 + .byte 16*mus_granroad_mvl/mxv + .byte W04 + .byte 15*mus_granroad_mvl/mxv + .byte W04 + .byte 14*mus_granroad_mvl/mxv + .byte W04 + .byte PAN , c_v+0 + .byte VOL , 12*mus_granroad_mvl/mxv + .byte W08 + .byte 9*mus_granroad_mvl/mxv + .byte W04 + .byte 8*mus_granroad_mvl/mxv + .byte W04 + .byte 7*mus_granroad_mvl/mxv + .byte W04 + .byte 6*mus_granroad_mvl/mxv + .byte W04 + .byte 42*mus_granroad_mvl/mxv + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 46 + .byte PAN , c_v-63 + .byte N04 , An3 , v060 + .byte W04 + .byte Dn4 , v064 + .byte W04 + .byte En4 , v080 + .byte W04 + .byte Dn4 + .byte W04 + .byte En4 + .byte W04 + .byte Bn4 + .byte W04 + .byte PAN , c_v-16 + .byte N04 , En4 , v084 + .byte W04 + .byte Bn4 , v088 + .byte W04 + .byte Dn5 , v084 + .byte W04 + .byte PAN , c_v+17 + .byte N04 , An4 , v080 + .byte W04 + .byte Bn4 + .byte W04 + .byte En5 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Bn5 , v056 + .byte W04 + .byte En5 , v068 + .byte W04 + .byte Dn5 , v080 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , An4 + .byte W04 + .byte En5 , v088 + .byte W04 + .byte Dn5 , v092 + .byte W04 + .byte PAN , c_v+0 + .byte N04 , An4 , v088 + .byte W04 + .byte Dn5 , v092 + .byte W04 + .byte Gs4 , v076 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , En4 , v080 + .byte W04 + .byte Gs4 + .byte W04 + .byte Dn4 , v072 + .byte W04 + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 56 + .byte VOL , 83*mus_granroad_mvl/mxv + .byte N08 , En3 , v112 + .byte W08 + .byte N04 , An3 + .byte W08 + .byte Cs4 + .byte W08 + .byte N08 , En4 + .byte W16 + .byte N04 , Dn4 + .byte W08 + .byte Cs4 + .byte W16 + .byte Bn3 + .byte W08 + .byte An3 + .byte W16 + .byte N08 , Cs4 + .byte W08 + .byte Gn3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Dn4 + .byte W08 + .byte Gn4 + .byte W16 + .byte N04 , Fs4 + .byte W08 + .byte En4 + .byte W16 + .byte Dn4 + .byte W08 + .byte Cs4 + .byte W16 + .byte En4 + .byte W08 + .byte Fs3 + .byte W08 + .byte An3 + .byte W08 + .byte Fs4 + .byte W08 + .byte N72 , An4 + .byte W03 + .byte VOL , 84*mus_granroad_mvl/mxv + .byte W02 + .byte 75*mus_granroad_mvl/mxv + .byte W03 + .byte 72*mus_granroad_mvl/mxv + .byte W07 + .byte 60*mus_granroad_mvl/mxv + .byte W02 + .byte 65*mus_granroad_mvl/mxv + .byte W03 + .byte 69*mus_granroad_mvl/mxv + .byte W04 + .byte 72*mus_granroad_mvl/mxv + .byte W02 + .byte 80*mus_granroad_mvl/mxv + .byte W03 + .byte 84*mus_granroad_mvl/mxv + .byte W03 + .byte MOD , 9 + .byte VOL , 90*mus_granroad_mvl/mxv + .byte W04 + .byte 96*mus_granroad_mvl/mxv + .byte W36 + .byte MOD , 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_granroad_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_granroad_2: + .byte KEYSH , mus_granroad_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte MOD , 2 + .byte PAN , c_v+0 + .byte VOL , 89*mus_granroad_mvl/mxv + .byte N04 , Ds3 , v068 + .byte W04 + .byte En3 , v072 + .byte W04 + .byte Fs3 , v076 + .byte W04 + .byte En3 + .byte W04 + .byte Fs3 , v080 + .byte W04 + .byte Gs3 , v084 + .byte W04 + .byte Fs3 , v088 + .byte W04 + .byte Gs3 , v092 + .byte W04 + .byte An3 , v096 + .byte W04 + .byte Gs3 , v100 + .byte W04 + .byte An3 , v104 + .byte W04 + .byte Bn3 , v108 + .byte W04 + .byte VOICE , 60 + .byte N32 , Cs4 , v112 + .byte W24 + .byte MOD , 9 + .byte W08 + .byte 2 + .byte N04 , En3 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W04 + .byte N08 , En3 , v032 + .byte W12 + .byte N24 , Cs4 , v112 + .byte W24 + .byte N08 , Cs4 , v032 + .byte W08 +mus_granroad_2_000: + .byte N24 , En4 , v112 + .byte W24 + .byte Dn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte En4 + .byte W24 + .byte PEND + .byte N32 , Dn4 + .byte W24 + .byte MOD , 8 + .byte W08 + .byte N08 , Dn4 , v032 + .byte W04 + .byte MOD , 2 + .byte W04 + .byte N04 , An3 , v112 + .byte W08 + .byte N48 + .byte W24 + .byte MOD , 9 + .byte W24 + .byte 2 + .byte N04 , Fn3 + .byte W04 + .byte N08 , Fn3 , v032 + .byte W12 + .byte N04 , Gn3 , v112 + .byte W04 + .byte Gn3 , v032 + .byte W04 + .byte N24 , An3 , v112 + .byte W24 + .byte N04 , Gn3 + .byte W04 + .byte N08 , Gn3 , v032 + .byte W12 + .byte N04 , An3 , v112 + .byte W04 + .byte An3 , v032 + .byte W04 + .byte N24 , Bn3 , v112 + .byte W24 + .byte N08 , Cs4 + .byte W08 + .byte N02 , En3 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N24 , Cs4 + .byte W24 + .byte N08 , Cs4 , v032 + .byte W08 + .byte N24 , En4 , v112 + .byte W24 + .byte Dn4 + .byte W24 + .byte N04 , Cs4 , v116 + .byte W16 + .byte N32 , En4 , v112 + .byte W32 + .byte N24 , Dn4 + .byte W24 + .byte N08 , Dn4 , v032 + .byte W16 + .byte N04 , An3 , v112 + .byte W04 + .byte An3 , v032 + .byte W04 + .byte N48 , An3 , v112 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte VOICE , 60 + .byte MOD , 2 + .byte N04 , Fn3 + .byte W04 + .byte Fn3 , v032 + .byte W04 + .byte Fn3 , v112 + .byte W04 + .byte Fn3 , v032 + .byte W04 + .byte Gn3 , v112 + .byte W04 + .byte Gn3 , v032 + .byte W04 + .byte N24 , An3 , v112 + .byte W24 + .byte N04 , Gn3 + .byte W04 + .byte Gn3 , v032 + .byte W04 + .byte Gn3 , v112 + .byte W04 + .byte Gn3 , v032 + .byte W04 + .byte An3 , v112 + .byte W04 + .byte An3 , v032 + .byte W04 + .byte VOL , 18*mus_granroad_mvl/mxv + .byte N88 , Bn3 , v072 + .byte W02 + .byte VOL , 19*mus_granroad_mvl/mxv + .byte W03 + .byte 20*mus_granroad_mvl/mxv + .byte W09 + .byte 21*mus_granroad_mvl/mxv + .byte W03 + .byte 22*mus_granroad_mvl/mxv + .byte W07 + .byte 23*mus_granroad_mvl/mxv + .byte W02 + .byte 24*mus_granroad_mvl/mxv + .byte W03 + .byte 25*mus_granroad_mvl/mxv + .byte W03 + .byte 26*mus_granroad_mvl/mxv + .byte W06 + .byte 27*mus_granroad_mvl/mxv + .byte W03 + .byte 28*mus_granroad_mvl/mxv + .byte W03 + .byte 29*mus_granroad_mvl/mxv + .byte W04 + .byte MOD , 7 + .byte VOL , 30*mus_granroad_mvl/mxv + .byte W05 + .byte 32*mus_granroad_mvl/mxv + .byte W09 + .byte 33*mus_granroad_mvl/mxv + .byte W03 + .byte 34*mus_granroad_mvl/mxv + .byte W03 + .byte 35*mus_granroad_mvl/mxv + .byte W20 + .byte N04 , An3 + .byte W04 + .byte An3 , v032 + .byte W04 + .byte MOD , 2 + .byte N04 , Fs3 , v072 + .byte W04 + .byte N08 , Fs3 , v032 + .byte W12 + .byte N04 , An3 , v072 + .byte W04 + .byte An3 , v032 + .byte W04 +mus_granroad_2_B1: + .byte VOL , 22*mus_granroad_mvl/mxv + .byte N48 , An3 , v072 + .byte W02 + .byte VOL , 24*mus_granroad_mvl/mxv + .byte W03 + .byte 25*mus_granroad_mvl/mxv + .byte W03 + .byte 28*mus_granroad_mvl/mxv + .byte W04 + .byte 29*mus_granroad_mvl/mxv + .byte W02 + .byte 30*mus_granroad_mvl/mxv + .byte W03 + .byte 31*mus_granroad_mvl/mxv + .byte W03 + .byte 32*mus_granroad_mvl/mxv + .byte W04 + .byte 33*mus_granroad_mvl/mxv + .byte W24 + .byte N24 , Fs3 + .byte W24 + .byte N08 , An3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Fs3 + .byte W08 + .byte VOL , 16*mus_granroad_mvl/mxv + .byte N64 , An3 + .byte W02 + .byte VOL , 17*mus_granroad_mvl/mxv + .byte W03 + .byte 19*mus_granroad_mvl/mxv + .byte W03 + .byte 21*mus_granroad_mvl/mxv + .byte W06 + .byte 22*mus_granroad_mvl/mxv + .byte W03 + .byte 23*mus_granroad_mvl/mxv + .byte W07 + .byte 24*mus_granroad_mvl/mxv + .byte W02 + .byte 26*mus_granroad_mvl/mxv + .byte W03 + .byte 27*mus_granroad_mvl/mxv + .byte W03 + .byte 28*mus_granroad_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte VOL , 30*mus_granroad_mvl/mxv + .byte W02 + .byte 32*mus_granroad_mvl/mxv + .byte W03 + .byte 34*mus_granroad_mvl/mxv + .byte W23 + .byte MOD , 0 + .byte N04 , Fs3 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte Dn3 , v072 + .byte W04 + .byte Dn3 , v032 + .byte W12 + .byte An3 , v072 + .byte W04 + .byte An3 , v032 + .byte W04 + .byte VOL , 19*mus_granroad_mvl/mxv + .byte N48 , Gs3 , v072 + .byte W02 + .byte VOL , 22*mus_granroad_mvl/mxv + .byte W03 + .byte 23*mus_granroad_mvl/mxv + .byte W03 + .byte 24*mus_granroad_mvl/mxv + .byte W04 + .byte 25*mus_granroad_mvl/mxv + .byte W02 + .byte 26*mus_granroad_mvl/mxv + .byte W03 + .byte 27*mus_granroad_mvl/mxv + .byte W03 + .byte 28*mus_granroad_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte VOL , 29*mus_granroad_mvl/mxv + .byte W02 + .byte 30*mus_granroad_mvl/mxv + .byte W03 + .byte 31*mus_granroad_mvl/mxv + .byte W03 + .byte 32*mus_granroad_mvl/mxv + .byte W06 + .byte 33*mus_granroad_mvl/mxv + .byte W10 + .byte MOD , 0 + .byte N48 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte VOL , 18*mus_granroad_mvl/mxv + .byte N64 , An3 + .byte W02 + .byte VOL , 19*mus_granroad_mvl/mxv + .byte W03 + .byte 20*mus_granroad_mvl/mxv + .byte W03 + .byte 22*mus_granroad_mvl/mxv + .byte W04 + .byte 23*mus_granroad_mvl/mxv + .byte W02 + .byte 25*mus_granroad_mvl/mxv + .byte W03 + .byte 27*mus_granroad_mvl/mxv + .byte W03 + .byte 28*mus_granroad_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte VOL , 29*mus_granroad_mvl/mxv + .byte W08 + .byte 31*mus_granroad_mvl/mxv + .byte W04 + .byte 32*mus_granroad_mvl/mxv + .byte W02 + .byte 33*mus_granroad_mvl/mxv + .byte W24 + .byte W02 + .byte MOD , 0 + .byte N04 , Fs3 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte En3 , v072 + .byte W04 + .byte N08 , En3 , v032 + .byte W12 + .byte N04 , An3 , v072 + .byte W04 + .byte An3 , v032 + .byte W04 + .byte VOL , 21*mus_granroad_mvl/mxv + .byte N48 , Fs3 , v072 + .byte W02 + .byte VOL , 23*mus_granroad_mvl/mxv + .byte W03 + .byte 25*mus_granroad_mvl/mxv + .byte W03 + .byte 26*mus_granroad_mvl/mxv + .byte W04 + .byte 28*mus_granroad_mvl/mxv + .byte W02 + .byte 31*mus_granroad_mvl/mxv + .byte W03 + .byte 32*mus_granroad_mvl/mxv + .byte W03 + .byte 35*mus_granroad_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , Dn3 + .byte W24 + .byte Bn2 + .byte W24 + .byte N08 , Bn2 , v032 + .byte W08 + .byte N04 , Fs3 , v080 + .byte W04 + .byte N08 , Fs3 , v032 + .byte W12 + .byte N04 , Fs3 , v080 + .byte W04 + .byte N08 , Fs3 , v032 + .byte W12 + .byte N04 , Fs3 , v080 + .byte W04 + .byte N08 , Fs3 , v032 + .byte W12 + .byte N04 , Fs3 , v080 + .byte W04 + .byte N08 , Fs3 , v032 + .byte W36 + .byte N48 , Gs3 , v088 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Bn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W08 + .byte N04 , Fs3 , v080 + .byte W04 + .byte N08 , Fs3 , v032 + .byte W12 + .byte N04 , Fs3 , v080 + .byte W04 + .byte N08 , Fs3 , v032 + .byte W12 + .byte N04 , Fs3 , v080 + .byte W04 + .byte N08 , Fs3 , v032 + .byte W12 + .byte N04 , Fs3 , v084 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte N08 , Dn3 , v084 + .byte W08 + .byte N16 , En3 + .byte W16 + .byte N04 , Fs3 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte N48 , Gs3 , v112 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , An3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N08 , An3 , v032 + .byte W96 + .byte W48 + .byte N04 , Ds3 , v112 + .byte W04 + .byte En3 + .byte W04 + .byte Fs3 + .byte W04 + .byte En3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gs3 + .byte W04 + .byte An3 + .byte W04 + .byte Gs3 + .byte W04 + .byte An3 + .byte W04 + .byte Bn3 + .byte W04 + .byte VOICE , 60 + .byte VOL , 46*mus_granroad_mvl/mxv + .byte N32 , Cn4 + .byte W24 + .byte MOD , 6 + .byte W08 + .byte 0 + .byte N04 , Ds3 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W04 + .byte N08 , Ds3 , v032 + .byte W12 + .byte N24 , Cn4 , v112 + .byte W24 + .byte N08 , Cn4 , v032 + .byte W08 + .byte N24 , Ds4 , v112 + .byte W24 + .byte Cs4 + .byte W24 + .byte Cn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte N32 , Fn4 + .byte W24 + .byte MOD , 6 + .byte W08 + .byte 0 + .byte N08 , Fn4 , v032 + .byte W08 + .byte N04 , Gs3 , v112 + .byte W08 + .byte N20 + .byte W20 + .byte N04 , Gs3 , v032 + .byte W04 + .byte Fn3 , v112 + .byte W04 + .byte N08 , Fn3 , v032 + .byte W12 + .byte N04 , Gs3 , v112 + .byte W04 + .byte Gs3 , v032 + .byte W04 + .byte N24 , Fs3 , v112 + .byte W24 + .byte Fn3 + .byte W24 + .byte Ds3 + .byte W24 + .byte Cs3 + .byte W24 + .byte N04 , Cn3 + .byte W04 + .byte N08 , Cn3 , v032 + .byte W12 + .byte N04 , Cs3 , v112 + .byte W04 + .byte Cs3 , v032 + .byte W04 + .byte N48 , Ds3 , v112 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N04 + .byte W04 + .byte N08 , Ds3 , v032 + .byte W12 + .byte N04 , Fn3 , v112 + .byte W04 + .byte Fn3 , v032 + .byte W04 + .byte N48 , Fs3 , v112 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N04 , Gs3 + .byte W04 + .byte Gs3 , v032 + .byte W04 + .byte As3 , v112 + .byte W04 + .byte As3 , v032 + .byte W04 + .byte N32 , Cn4 , v112 + .byte W32 + .byte PAN , c_v+29 + .byte N32 , Cs4 + .byte W24 + .byte MOD , 6 + .byte W08 + .byte 0 + .byte N04 , En3 + .byte W04 + .byte En3 , v032 + .byte W04 + .byte En3 , v112 + .byte W04 + .byte En3 , v032 + .byte W04 + .byte En3 , v112 + .byte W04 + .byte N08 , En3 , v032 + .byte W12 + .byte N24 , Cs4 , v112 + .byte W24 + .byte N08 , Cs4 , v032 + .byte W08 + .byte PATT + .word mus_granroad_2_000 + .byte N32 , Dn4 , v112 + .byte W24 + .byte MOD , 6 + .byte W08 + .byte N08 , Dn4 , v032 + .byte W04 + .byte MOD , 0 + .byte W04 + .byte N04 , An3 , v112 + .byte W04 + .byte An3 , v032 + .byte W04 + .byte N48 , An3 , v112 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte PAN , c_v+0 + .byte N24 , Gn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte En3 + .byte W24 + .byte Gn3 + .byte W24 + .byte N36 , Fn4 + .byte W36 + .byte N04 , Fn4 , v032 + .byte W04 + .byte N02 , Gs3 , v112 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N24 , Fn4 + .byte W24 + .byte N08 , Fn4 , v032 + .byte W08 + .byte N24 , En4 , v112 + .byte W24 + .byte Dn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte An3 + .byte W24 + .byte VOL , 51*mus_granroad_mvl/mxv + .byte N04 , Fs3 + .byte W04 + .byte N08 , Fs3 , v032 + .byte W12 + .byte N04 , Gn3 , v112 + .byte W04 + .byte Gn3 , v032 + .byte W04 + .byte N48 , An3 , v112 + .byte W48 + .byte N08 , An3 , v032 + .byte W24 + .byte N04 , Fn3 , v112 + .byte W04 + .byte Fn3 , v032 + .byte W04 + .byte Fn3 , v112 + .byte W04 + .byte Fn3 , v032 + .byte W04 + .byte Gn3 , v112 + .byte W04 + .byte Gn3 , v032 + .byte W04 + .byte N24 , An3 , v112 + .byte W24 + .byte N04 , Gn3 + .byte W04 + .byte Gn3 , v032 + .byte W04 + .byte Gn3 , v112 + .byte W04 + .byte Gn3 , v032 + .byte W04 + .byte An3 , v112 + .byte W04 + .byte An3 , v032 + .byte W04 + .byte VOL , 16*mus_granroad_mvl/mxv + .byte N88 , Bn3 , v112 + .byte W02 + .byte VOL , 17*mus_granroad_mvl/mxv + .byte W03 + .byte 18*mus_granroad_mvl/mxv + .byte W03 + .byte 22*mus_granroad_mvl/mxv + .byte W04 + .byte 24*mus_granroad_mvl/mxv + .byte W02 + .byte 26*mus_granroad_mvl/mxv + .byte W03 + .byte 27*mus_granroad_mvl/mxv + .byte W03 + .byte 27*mus_granroad_mvl/mxv + .byte W04 + .byte 29*mus_granroad_mvl/mxv + .byte W02 + .byte 30*mus_granroad_mvl/mxv + .byte W03 + .byte 30*mus_granroad_mvl/mxv + .byte W07 + .byte 32*mus_granroad_mvl/mxv + .byte W02 + .byte 33*mus_granroad_mvl/mxv + .byte W03 + .byte 34*mus_granroad_mvl/mxv + .byte W03 + .byte 35*mus_granroad_mvl/mxv + .byte W04 + .byte 36*mus_granroad_mvl/mxv + .byte W40 + .byte N04 , An3 , v088 + .byte W04 + .byte An3 , v032 + .byte W04 + .byte Fs3 , v088 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte Gs3 , v112 + .byte W04 + .byte Gs3 , v032 + .byte W04 + .byte An3 , v088 + .byte W04 + .byte An3 , v032 + .byte W04 + .byte GOTO + .word mus_granroad_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_granroad_3: + .byte KEYSH , mus_granroad_key+0 + .byte VOICE , 58 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 80*mus_granroad_mvl/mxv + .byte LFOS , 44 + .byte MOD , 2 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte VOL , 30*mus_granroad_mvl/mxv + .byte N16 , Gn4 , v120 + .byte W16 + .byte N04 , Fs4 + .byte W04 + .byte Fn4 + .byte W04 + .byte VOL , 11*mus_granroad_mvl/mxv + .byte N64 , En4 , v124 + .byte W05 + .byte VOL , 12*mus_granroad_mvl/mxv + .byte W03 + .byte 14*mus_granroad_mvl/mxv + .byte W04 + .byte 16*mus_granroad_mvl/mxv + .byte W02 + .byte 18*mus_granroad_mvl/mxv + .byte W03 + .byte 20*mus_granroad_mvl/mxv + .byte W03 + .byte 22*mus_granroad_mvl/mxv + .byte W04 + .byte 23*mus_granroad_mvl/mxv + .byte W02 + .byte 26*mus_granroad_mvl/mxv + .byte W03 + .byte 28*mus_granroad_mvl/mxv + .byte W03 + .byte 29*mus_granroad_mvl/mxv + .byte W16 + .byte MOD , 9 + .byte W16 + .byte 2 + .byte N04 , Dn4 , v120 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Cs4 , v120 + .byte W04 + .byte N08 , Cs4 , v032 + .byte W12 + .byte N04 , En4 , v120 + .byte W04 + .byte En4 , v032 + .byte W04 +mus_granroad_3_B1: + .byte VOL , 12*mus_granroad_mvl/mxv + .byte N48 , Dn4 , v124 + .byte W02 + .byte VOL , 14*mus_granroad_mvl/mxv + .byte W03 + .byte 18*mus_granroad_mvl/mxv + .byte W03 + .byte 21*mus_granroad_mvl/mxv + .byte W04 + .byte 22*mus_granroad_mvl/mxv + .byte W02 + .byte 25*mus_granroad_mvl/mxv + .byte W03 + .byte 27*mus_granroad_mvl/mxv + .byte W03 + .byte 28*mus_granroad_mvl/mxv + .byte W12 + .byte MOD , 8 + .byte W16 + .byte 2 + .byte N24 , An3 , v120 + .byte W24 + .byte N08 , Dn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte Bn3 + .byte W08 + .byte VOL , 12*mus_granroad_mvl/mxv + .byte N64 , Dn4 , v124 + .byte W02 + .byte VOL , 13*mus_granroad_mvl/mxv + .byte W03 + .byte 15*mus_granroad_mvl/mxv + .byte W03 + .byte 18*mus_granroad_mvl/mxv + .byte W04 + .byte 20*mus_granroad_mvl/mxv + .byte W02 + .byte 22*mus_granroad_mvl/mxv + .byte W03 + .byte 24*mus_granroad_mvl/mxv + .byte W03 + .byte 25*mus_granroad_mvl/mxv + .byte W06 + .byte 26*mus_granroad_mvl/mxv + .byte W03 + .byte 28*mus_granroad_mvl/mxv + .byte W11 + .byte MOD , 9 + .byte W24 + .byte 2 + .byte N04 , Cs4 , v120 + .byte W08 + .byte N08 , Bn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte N04 , Bn3 + .byte W08 + .byte VOL , 12*mus_granroad_mvl/mxv + .byte N48 , Cs4 , v124 + .byte W02 + .byte VOL , 16*mus_granroad_mvl/mxv + .byte W03 + .byte 18*mus_granroad_mvl/mxv + .byte W03 + .byte 19*mus_granroad_mvl/mxv + .byte W04 + .byte 20*mus_granroad_mvl/mxv + .byte W02 + .byte 21*mus_granroad_mvl/mxv + .byte W03 + .byte 23*mus_granroad_mvl/mxv + .byte W03 + .byte 25*mus_granroad_mvl/mxv + .byte W06 + .byte 26*mus_granroad_mvl/mxv + .byte W03 + .byte 27*mus_granroad_mvl/mxv + .byte W03 + .byte MOD , 8 + .byte VOL , 29*mus_granroad_mvl/mxv + .byte W16 + .byte MOD , 2 + .byte N16 , En4 , v120 + .byte W16 + .byte N08 , En4 , v032 + .byte W08 + .byte An3 , v120 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cn4 + .byte W08 + .byte VOL , 11*mus_granroad_mvl/mxv + .byte N64 , Cs4 , v124 + .byte W02 + .byte VOL , 12*mus_granroad_mvl/mxv + .byte W03 + .byte 15*mus_granroad_mvl/mxv + .byte W03 + .byte 16*mus_granroad_mvl/mxv + .byte W06 + .byte 18*mus_granroad_mvl/mxv + .byte W06 + .byte 19*mus_granroad_mvl/mxv + .byte W04 + .byte 20*mus_granroad_mvl/mxv + .byte W02 + .byte 21*mus_granroad_mvl/mxv + .byte W03 + .byte 24*mus_granroad_mvl/mxv + .byte W03 + .byte 25*mus_granroad_mvl/mxv + .byte W04 + .byte 27*mus_granroad_mvl/mxv + .byte W02 + .byte 28*mus_granroad_mvl/mxv + .byte W10 + .byte MOD , 9 + .byte W16 + .byte 2 + .byte N04 , Bn3 , v120 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte An3 , v120 + .byte W04 + .byte N08 , An3 , v032 + .byte W12 + .byte N04 , Cs4 , v120 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte VOL , 11*mus_granroad_mvl/mxv + .byte N48 , Bn3 , v120 + .byte W02 + .byte VOL , 15*mus_granroad_mvl/mxv + .byte W03 + .byte 19*mus_granroad_mvl/mxv + .byte W03 + .byte 20*mus_granroad_mvl/mxv + .byte W06 + .byte 22*mus_granroad_mvl/mxv + .byte W03 + .byte 23*mus_granroad_mvl/mxv + .byte W03 + .byte 24*mus_granroad_mvl/mxv + .byte W04 + .byte MOD , 9 + .byte VOL , 25*mus_granroad_mvl/mxv + .byte W02 + .byte 26*mus_granroad_mvl/mxv + .byte W03 + .byte 27*mus_granroad_mvl/mxv + .byte W07 + .byte 28*mus_granroad_mvl/mxv + .byte W12 + .byte MOD , 2 + .byte N24 , Fs3 + .byte W24 + .byte Gs3 + .byte W24 + .byte VOL , 34*mus_granroad_mvl/mxv + .byte N04 , Gs3 , v124 + .byte W08 + .byte An3 , v127 + .byte W04 + .byte N08 , An3 , v032 + .byte W12 + .byte N04 , An3 , v120 + .byte W04 + .byte N08 , An3 , v032 + .byte W12 + .byte N04 , An3 , v120 + .byte W04 + .byte N08 , An3 , v032 + .byte W12 + .byte N04 , An3 , v127 + .byte W04 + .byte N08 , An3 , v032 + .byte W04 + .byte Fs3 , v120 + .byte W08 + .byte N16 , Gs3 + .byte W16 + .byte N04 , An3 + .byte W04 + .byte An3 , v032 + .byte W04 + .byte VOL , 37*mus_granroad_mvl/mxv + .byte N72 , En4 , v120 + .byte W44 + .byte VOL , 37*mus_granroad_mvl/mxv + .byte W04 + .byte MOD , 9 + .byte VOL , 40*mus_granroad_mvl/mxv + .byte W04 + .byte 40*mus_granroad_mvl/mxv + .byte W04 + .byte 43*mus_granroad_mvl/mxv + .byte W04 + .byte 47*mus_granroad_mvl/mxv + .byte W04 + .byte 53*mus_granroad_mvl/mxv + .byte W04 + .byte 58*mus_granroad_mvl/mxv + .byte W04 + .byte VOICE , 56 + .byte VOL , 96*mus_granroad_mvl/mxv + .byte MOD , 2 + .byte N08 + .byte W08 + .byte Dn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte En4 + .byte W08 + .byte En4 , v032 + .byte W56 + .byte N04 , Dn4 , v120 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Cs4 , v120 + .byte W04 + .byte N08 , Cs4 , v032 + .byte W12 + .byte N04 , En4 , v120 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte N48 , Dn4 , v120 + .byte W24 + .byte MOD , 9 + .byte W24 + .byte 2 + .byte N24 , An3 + .byte W24 + .byte N08 , En3 + .byte W08 + .byte An3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Dn4 , v032 + .byte W56 + .byte N04 , Cs4 , v120 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Bn3 , v120 + .byte W04 + .byte Bn3 , v032 + .byte W12 + .byte Dn4 , v120 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte N48 , Cs4 , v120 + .byte W24 + .byte MOD , 9 + .byte W24 + .byte 2 + .byte N08 , En4 + .byte W08 + .byte N04 , En3 + .byte W04 + .byte En3 , v032 + .byte W04 + .byte An3 , v120 + .byte W04 + .byte An3 , v032 + .byte W04 + .byte N16 , Bn3 , v120 + .byte W16 + .byte N08 , Bn3 , v032 + .byte W08 + .byte N16 , An3 , v120 + .byte W16 + .byte Bn3 + .byte W16 + .byte Cs4 + .byte W16 + .byte N08 , Dn4 + .byte W08 + .byte En4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N04 , Gs4 + .byte W08 + .byte An4 + .byte W08 + .byte As4 + .byte W08 + .byte N32 , Bn4 + .byte W24 + .byte MOD , 9 + .byte W08 + .byte 2 + .byte N04 , As4 + .byte W04 + .byte An4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Gn4 + .byte W04 + .byte N24 , Fs4 + .byte W24 + .byte Gs4 + .byte W24 + .byte N04 , An4 + .byte W04 + .byte An4 , v032 + .byte W04 + .byte An4 , v120 + .byte W04 + .byte N08 , An4 , v032 + .byte W12 + .byte N04 , An4 , v120 + .byte W04 + .byte N08 , An4 , v032 + .byte W12 + .byte N04 , An4 , v120 + .byte W04 + .byte N08 , An4 , v032 + .byte W12 + .byte N04 , An4 , v120 + .byte W04 + .byte An4 , v032 + .byte W04 + .byte N08 , Fs4 , v120 + .byte W08 + .byte N16 , Gs4 + .byte W16 + .byte N04 , An4 + .byte W04 + .byte An4 , v032 + .byte W04 + .byte N48 , Bn4 , v120 + .byte W24 + .byte MOD , 10 + .byte W24 + .byte 2 + .byte N48 , Cn5 + .byte W24 + .byte MOD , 9 + .byte W24 + .byte 2 + .byte N04 , Cs5 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte Cs5 , v120 + .byte W04 + .byte N08 , Cs5 , v032 + .byte W12 + .byte N04 , Cs5 , v120 + .byte W04 + .byte N08 , Cs5 , v032 + .byte W12 + .byte N04 , Cs5 , v120 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte Dn5 , v120 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte Dn5 , v120 + .byte W04 + .byte N08 , Dn5 , v032 + .byte W12 + .byte N04 , Dn5 , v120 + .byte W04 + .byte N08 , Dn5 , v032 + .byte W12 + .byte N04 , Dn5 , v120 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte N96 , En3 , v120 + .byte W48 + .byte MOD , 10 + .byte W48 + .byte 2 + .byte W96 + .byte W96 + .byte N04 , Cs4 , v112 + .byte W16 + .byte Fn4 + .byte W08 + .byte N72 , Gs4 + .byte W03 + .byte VOL , 84*mus_granroad_mvl/mxv + .byte W02 + .byte 75*mus_granroad_mvl/mxv + .byte W03 + .byte 72*mus_granroad_mvl/mxv + .byte W07 + .byte 60*mus_granroad_mvl/mxv + .byte W02 + .byte 65*mus_granroad_mvl/mxv + .byte W03 + .byte 69*mus_granroad_mvl/mxv + .byte W04 + .byte 72*mus_granroad_mvl/mxv + .byte W02 + .byte 80*mus_granroad_mvl/mxv + .byte W03 + .byte 84*mus_granroad_mvl/mxv + .byte W03 + .byte 90*mus_granroad_mvl/mxv + .byte W04 + .byte 96*mus_granroad_mvl/mxv + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 58 + .byte VOL , 48*mus_granroad_mvl/mxv + .byte W48 + .byte N04 , Bn3 + .byte W16 + .byte Dn4 + .byte W08 + .byte TIE , Gn4 + .byte W08 + .byte VOL , 46*mus_granroad_mvl/mxv + .byte W04 + .byte 40*mus_granroad_mvl/mxv + .byte W04 + .byte 38*mus_granroad_mvl/mxv + .byte W04 + .byte 34*mus_granroad_mvl/mxv + .byte W04 + .byte 32*mus_granroad_mvl/mxv + .byte W04 + .byte 26*mus_granroad_mvl/mxv + .byte W04 + .byte 24*mus_granroad_mvl/mxv + .byte W04 + .byte 22*mus_granroad_mvl/mxv + .byte W04 + .byte 21*mus_granroad_mvl/mxv + .byte W04 + .byte 18*mus_granroad_mvl/mxv + .byte W08 + .byte 17*mus_granroad_mvl/mxv + .byte W12 + .byte 13*mus_granroad_mvl/mxv + .byte W16 + .byte 15*mus_granroad_mvl/mxv + .byte W40 + .byte 13*mus_granroad_mvl/mxv + .byte W12 + .byte 15*mus_granroad_mvl/mxv + .byte W04 + .byte 17*mus_granroad_mvl/mxv + .byte W04 + .byte 18*mus_granroad_mvl/mxv + .byte W04 + .byte 21*mus_granroad_mvl/mxv + .byte W04 + .byte 22*mus_granroad_mvl/mxv + .byte W04 + .byte 24*mus_granroad_mvl/mxv + .byte W04 + .byte 28*mus_granroad_mvl/mxv + .byte W04 + .byte 34*mus_granroad_mvl/mxv + .byte W04 + .byte 44*mus_granroad_mvl/mxv + .byte W04 + .byte 52*mus_granroad_mvl/mxv + .byte W16 + .byte EOT + .byte VOL , 36*mus_granroad_mvl/mxv + .byte N04 , Fs4 + .byte W04 + .byte Fn4 + .byte W04 + .byte N08 , En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte GOTO + .word mus_granroad_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_granroad_4: + .byte KEYSH , mus_granroad_key+0 + .byte VOICE , 48 + .byte PAN , c_v-8 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 60*mus_granroad_mvl/mxv + .byte N04 , Fs2 , v068 + .byte W04 + .byte Gs2 , v072 + .byte W04 + .byte An2 , v076 + .byte W04 + .byte Gs2 + .byte W04 + .byte An2 , v080 + .byte W04 + .byte Bn2 , v084 + .byte W04 + .byte An2 , v088 + .byte W04 + .byte Bn2 , v092 + .byte W04 + .byte Cs3 , v096 + .byte W04 + .byte Bn2 , v100 + .byte W04 + .byte Cs3 , v104 + .byte W04 + .byte Dn3 , v108 + .byte W04 + .byte PAN , c_v-25 + .byte N32 , En3 , v100 + .byte W32 + .byte N04 , An2 , v096 + .byte W04 + .byte An2 , v032 + .byte W04 + .byte An2 , v096 + .byte W04 + .byte An2 , v032 + .byte W04 + .byte An2 , v096 + .byte W04 + .byte N08 , An2 , v032 + .byte W12 + .byte N24 , En3 , v096 + .byte W24 + .byte N08 , En3 , v032 + .byte W08 + .byte N24 , Gn3 , v096 + .byte W24 + .byte Fs3 + .byte W24 + .byte En3 + .byte W24 + .byte N08 , Gn3 + .byte W08 + .byte Cs4 , v100 + .byte W08 + .byte An4 , v127 + .byte W08 + .byte VOL , 48*mus_granroad_mvl/mxv + .byte N08 , Dn4 , v100 + .byte W08 + .byte N04 , Cs4 , v080 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Cs4 , v080 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte VOL , 60*mus_granroad_mvl/mxv + .byte N08 , Dn4 , v112 + .byte W08 + .byte N04 , Cs4 , v080 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Cs4 , v080 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte VOL , 72*mus_granroad_mvl/mxv + .byte N08 , Dn4 , v112 + .byte W08 + .byte N04 , Cs4 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Cs4 , v112 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte VOL , 92*mus_granroad_mvl/mxv + .byte N08 , Dn4 , v112 + .byte W08 + .byte N04 , Cs4 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Cs4 , v112 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte VOL , 60*mus_granroad_mvl/mxv + .byte N04 , An2 , v092 + .byte W04 + .byte N08 , An2 , v032 + .byte W12 + .byte N04 , Dn3 , v104 + .byte W04 + .byte Dn3 , v032 + .byte W04 + .byte N24 , Fn3 , v104 + .byte W24 + .byte N04 , Bn2 , v100 + .byte W04 + .byte N08 , Bn2 , v032 + .byte W12 + .byte N04 , Dn3 , v096 + .byte W04 + .byte Dn3 , v032 + .byte W04 + .byte N24 , Gn3 , v096 + .byte W24 + .byte N08 , En3 + .byte W08 + .byte N02 , An2 + .byte W08 + .byte An2 , v100 + .byte W08 + .byte An2 , v096 + .byte W16 + .byte An2 , v104 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N24 , En3 , v112 + .byte W24 + .byte N08 , En3 , v032 + .byte W08 + .byte N24 , Gn3 , v112 + .byte W24 + .byte Fs3 + .byte W24 + .byte N04 , Cs3 + .byte W04 + .byte Bn2 + .byte W04 + .byte Cs3 + .byte W04 + .byte En3 + .byte W04 + .byte Cs3 + .byte W04 + .byte En3 + .byte W04 + .byte N08 , Gn3 + .byte W08 + .byte Cs4 , v127 + .byte W08 + .byte An4 + .byte W08 + .byte VOL , 48*mus_granroad_mvl/mxv + .byte N08 , Dn5 , v112 + .byte W08 + .byte N04 , Cs5 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte VOL , 60*mus_granroad_mvl/mxv + .byte N08 , Dn5 , v112 + .byte W08 + .byte N04 , Cs5 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte VOL , 77*mus_granroad_mvl/mxv + .byte N04 , Dn5 , v112 + .byte W04 + .byte Cs5 , v080 + .byte W04 + .byte Bn4 + .byte W04 + .byte An4 , v112 + .byte W04 + .byte Gn4 , v104 + .byte W04 + .byte Fn4 + .byte W04 + .byte VOL , 86*mus_granroad_mvl/mxv + .byte N04 , En4 , v100 + .byte W04 + .byte Dn4 , v096 + .byte W04 + .byte Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte An3 , v092 + .byte W04 + .byte Gn3 , v088 + .byte W04 + .byte VOL , 48*mus_granroad_mvl/mxv + .byte N04 , An2 , v092 + .byte W04 + .byte An2 , v032 + .byte W04 + .byte An2 , v096 + .byte W04 + .byte An2 , v032 + .byte W04 + .byte Dn3 , v096 + .byte W04 + .byte Dn3 , v032 + .byte W04 + .byte N24 , Fn3 , v100 + .byte W24 + .byte N04 , Bn2 , v096 + .byte W04 + .byte Bn2 , v032 + .byte W04 + .byte Bn2 , v096 + .byte W04 + .byte Bn2 , v032 + .byte W04 + .byte Dn3 , v088 + .byte W04 + .byte Dn3 , v032 + .byte W04 + .byte VOL , 24*mus_granroad_mvl/mxv + .byte N88 , Gn3 , v072 + .byte W02 + .byte VOL , 26*mus_granroad_mvl/mxv + .byte W03 + .byte 29*mus_granroad_mvl/mxv + .byte W03 + .byte 31*mus_granroad_mvl/mxv + .byte W04 + .byte 32*mus_granroad_mvl/mxv + .byte W02 + .byte 35*mus_granroad_mvl/mxv + .byte W03 + .byte 37*mus_granroad_mvl/mxv + .byte W03 + .byte 38*mus_granroad_mvl/mxv + .byte W04 + .byte 40*mus_granroad_mvl/mxv + .byte W02 + .byte 42*mus_granroad_mvl/mxv + .byte W03 + .byte 43*mus_granroad_mvl/mxv + .byte W03 + .byte 44*mus_granroad_mvl/mxv + .byte W04 + .byte 46*mus_granroad_mvl/mxv + .byte W02 + .byte 47*mus_granroad_mvl/mxv + .byte W48 + .byte W02 + .byte N08 , Gn3 , v032 + .byte W32 +mus_granroad_4_B1: + .byte VOL , 24*mus_granroad_mvl/mxv + .byte N48 , Fs3 , v064 + .byte W02 + .byte VOL , 26*mus_granroad_mvl/mxv + .byte W03 + .byte 28*mus_granroad_mvl/mxv + .byte W03 + .byte 30*mus_granroad_mvl/mxv + .byte W04 + .byte 31*mus_granroad_mvl/mxv + .byte W02 + .byte 32*mus_granroad_mvl/mxv + .byte W03 + .byte 34*mus_granroad_mvl/mxv + .byte W03 + .byte 36*mus_granroad_mvl/mxv + .byte W04 + .byte 38*mus_granroad_mvl/mxv + .byte W02 + .byte 39*mus_granroad_mvl/mxv + .byte W03 + .byte 41*mus_granroad_mvl/mxv + .byte W03 + .byte 45*mus_granroad_mvl/mxv + .byte W06 + .byte 47*mus_granroad_mvl/mxv + .byte W10 + .byte 28*mus_granroad_mvl/mxv + .byte N48 , Dn3 + .byte W02 + .byte VOL , 31*mus_granroad_mvl/mxv + .byte W03 + .byte 35*mus_granroad_mvl/mxv + .byte W03 + .byte 38*mus_granroad_mvl/mxv + .byte W04 + .byte 40*mus_granroad_mvl/mxv + .byte W02 + .byte 43*mus_granroad_mvl/mxv + .byte W03 + .byte 46*mus_granroad_mvl/mxv + .byte W30 + .byte W01 + .byte 30*mus_granroad_mvl/mxv + .byte N64 , Fs3 + .byte W02 + .byte VOL , 32*mus_granroad_mvl/mxv + .byte W03 + .byte 36*mus_granroad_mvl/mxv + .byte W03 + .byte 37*mus_granroad_mvl/mxv + .byte W04 + .byte 38*mus_granroad_mvl/mxv + .byte W02 + .byte 39*mus_granroad_mvl/mxv + .byte W03 + .byte 41*mus_granroad_mvl/mxv + .byte W03 + .byte 42*mus_granroad_mvl/mxv + .byte W04 + .byte 43*mus_granroad_mvl/mxv + .byte W02 + .byte 44*mus_granroad_mvl/mxv + .byte W03 + .byte 45*mus_granroad_mvl/mxv + .byte W03 + .byte 46*mus_granroad_mvl/mxv + .byte W32 + .byte N08 , Fs3 , v032 + .byte W32 + .byte VOL , 33*mus_granroad_mvl/mxv + .byte N48 , Cs3 , v064 + .byte W02 + .byte VOL , 35*mus_granroad_mvl/mxv + .byte W03 + .byte 37*mus_granroad_mvl/mxv + .byte W03 + .byte 40*mus_granroad_mvl/mxv + .byte W04 + .byte 43*mus_granroad_mvl/mxv + .byte W02 + .byte 46*mus_granroad_mvl/mxv + .byte W03 + .byte 47*mus_granroad_mvl/mxv + .byte W30 + .byte W01 + .byte 31*mus_granroad_mvl/mxv + .byte N48 , En3 , v072 + .byte W02 + .byte VOL , 34*mus_granroad_mvl/mxv + .byte W06 + .byte 35*mus_granroad_mvl/mxv + .byte W04 + .byte 37*mus_granroad_mvl/mxv + .byte W05 + .byte 38*mus_granroad_mvl/mxv + .byte W07 + .byte 39*mus_granroad_mvl/mxv + .byte W02 + .byte 40*mus_granroad_mvl/mxv + .byte W03 + .byte 41*mus_granroad_mvl/mxv + .byte W03 + .byte 43*mus_granroad_mvl/mxv + .byte W04 + .byte 45*mus_granroad_mvl/mxv + .byte W02 + .byte 46*mus_granroad_mvl/mxv + .byte W01 + .byte 48*mus_granroad_mvl/mxv + .byte W09 + .byte N68 + .byte W96 + .byte VOL , 36*mus_granroad_mvl/mxv + .byte N48 , Dn3 + .byte W02 + .byte VOL , 40*mus_granroad_mvl/mxv + .byte W03 + .byte 42*mus_granroad_mvl/mxv + .byte W03 + .byte 45*mus_granroad_mvl/mxv + .byte W04 + .byte 46*mus_granroad_mvl/mxv + .byte W02 + .byte 47*mus_granroad_mvl/mxv + .byte W32 + .byte W02 + .byte N24 , An2 , v064 + .byte W24 + .byte Fs2 + .byte W24 + .byte N08 , Fs2 , v032 + .byte W08 + .byte N04 , An2 , v072 + .byte W04 + .byte N08 , An2 , v032 + .byte W12 + .byte N04 , An2 , v072 + .byte W04 + .byte An2 , v032 + .byte W12 + .byte An2 , v080 + .byte W04 + .byte An2 , v032 + .byte W12 + .byte An2 , v084 + .byte W04 + .byte An2 , v032 + .byte W04 + .byte N08 , Dn3 , v076 + .byte W08 + .byte N16 , En3 , v072 + .byte W16 + .byte N04 , Fs3 , v080 + .byte W08 + .byte VOL , 39*mus_granroad_mvl/mxv + .byte N08 , Gs3 , v112 + .byte W08 + .byte Bn3 + .byte W08 + .byte Dn4 + .byte W08 + .byte N04 , Fs4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte Dn4 + .byte W04 + .byte En4 + .byte W04 + .byte Dn4 + .byte W04 + .byte En4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Fs3 + .byte W04 + .byte En3 + .byte W04 + .byte Dn3 + .byte W04 + .byte N08 , An3 + .byte W08 + .byte N04 , Bn3 + .byte W08 + .byte An3 + .byte W08 + .byte N08 , Gs3 + .byte W08 + .byte N04 , An3 + .byte W08 + .byte Gs3 + .byte W08 + .byte N08 , Fs3 + .byte W08 + .byte N04 , Gs3 + .byte W08 + .byte Fs3 + .byte W08 + .byte N08 , En3 + .byte W08 + .byte N04 , Fs3 + .byte W08 + .byte Gs3 + .byte W08 + .byte N08 , An3 + .byte W08 + .byte N04 , Dn3 + .byte W04 + .byte Dn3 , v032 + .byte W04 + .byte Fs3 , v112 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte N08 , An4 , v112 + .byte W08 + .byte N04 , Dn3 + .byte W04 + .byte Dn3 , v032 + .byte W04 + .byte Fs3 , v112 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte N08 , An3 , v112 + .byte W08 + .byte N04 , Dn3 + .byte W04 + .byte Dn3 , v032 + .byte W04 + .byte Fs3 , v112 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte N08 , An4 , v112 + .byte W08 + .byte N04 , Dn3 + .byte W04 + .byte Dn3 , v032 + .byte W04 + .byte An3 , v112 + .byte W04 + .byte An3 , v032 + .byte W04 + .byte N08 , Dn4 , v112 + .byte W08 + .byte N04 , En4 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte Dn4 , v112 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte N08 , Cs4 , v112 + .byte W08 + .byte N04 , Dn4 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Cs4 , v112 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte N08 , Bn3 , v112 + .byte W08 + .byte N04 , Cs4 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Bn3 , v112 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte N08 , En3 , v112 + .byte W08 + .byte N04 , An3 + .byte W04 + .byte An3 , v032 + .byte W04 + .byte Bn3 , v112 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte N08 , Cs4 , v112 + .byte W08 + .byte N04 , En3 + .byte W04 + .byte En3 , v032 + .byte W04 + .byte An3 , v112 + .byte W04 + .byte An3 , v032 + .byte W04 + .byte N08 , An4 , v112 + .byte W08 + .byte N04 , En3 + .byte W04 + .byte En3 , v032 + .byte W04 + .byte An3 , v112 + .byte W04 + .byte An3 , v032 + .byte W04 + .byte N08 , En4 , v112 + .byte W08 + .byte N04 , En3 + .byte W04 + .byte En3 , v032 + .byte W04 + .byte An3 , v112 + .byte W04 + .byte An3 , v032 + .byte W04 + .byte N08 , An4 , v112 + .byte W08 + .byte N04 , En3 + .byte W04 + .byte En3 , v032 + .byte W04 + .byte An3 , v112 + .byte W04 + .byte An3 , v032 + .byte W04 + .byte N16 , En3 , v112 + .byte W16 + .byte Fs3 + .byte W16 + .byte Gs3 + .byte W16 + .byte N08 , An3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N04 , En4 + .byte W08 + .byte Fn4 + .byte W08 + .byte N32 , Fs4 + .byte W32 + .byte N04 , Fn4 + .byte W04 + .byte En4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Dn4 + .byte W04 + .byte N24 , Cs4 + .byte W24 + .byte N08 , Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Bn3 + .byte W08 + .byte N04 + .byte W08 + .byte En4 + .byte W04 + .byte N08 , En4 , v032 + .byte W12 + .byte N04 , En4 , v112 + .byte W04 + .byte N08 , En4 , v032 + .byte W12 + .byte N04 , En4 , v112 + .byte W04 + .byte N08 , En4 , v032 + .byte W12 + .byte N04 , En4 , v112 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte N08 , Bn3 , v112 + .byte W08 + .byte N16 , Cs4 + .byte W16 + .byte N04 , Dn4 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte N08 , Gs4 , v112 + .byte W08 + .byte En4 + .byte W08 + .byte Bn3 + .byte W08 + .byte En4 + .byte W08 + .byte Gs4 + .byte W08 + .byte En4 + .byte W08 + .byte An4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte An4 + .byte W08 + .byte Fn4 + .byte W08 + .byte N04 , As4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Fs4 + .byte W04 + .byte As4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Fs4 + .byte W04 + .byte As4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte VOL , 47*mus_granroad_mvl/mxv + .byte W96 + .byte N32 , Ds3 + .byte W32 + .byte N04 , Gs2 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N24 , Ds3 + .byte W32 + .byte Fs3 + .byte W24 + .byte Fn3 + .byte W24 + .byte Ds3 + .byte W24 + .byte Fs3 + .byte W24 + .byte N32 , Gs3 + .byte W40 + .byte N04 , Cs3 + .byte W08 + .byte N20 + .byte W48 + .byte W24 + .byte N04 , Fn2 + .byte W16 + .byte Gs2 + .byte W08 + .byte N24 , Fs2 + .byte W24 + .byte As2 + .byte W24 + .byte N04 , Gs2 + .byte W16 + .byte As2 + .byte W08 + .byte N48 , Cn3 + .byte W48 + .byte N04 + .byte W16 + .byte Cs3 + .byte W08 + .byte N48 , Ds3 + .byte W48 + .byte N04 + .byte W08 + .byte Fn3 + .byte W08 + .byte N32 , Fs3 + .byte W08 + .byte N04 , Ds4 + .byte W08 + .byte Fn4 + .byte W08 + .byte N08 , Fs4 + .byte W08 + .byte An4 + .byte W08 + .byte N04 , An3 + .byte W16 + .byte An4 + .byte W16 + .byte N04 + .byte W08 + .byte N08 + .byte W08 + .byte N04 , An3 + .byte W16 + .byte An4 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Cs5 + .byte W08 + .byte N04 , En4 + .byte W16 + .byte Cs5 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Dn5 + .byte W08 + .byte N08 , En5 + .byte W08 + .byte N04 + .byte W08 + .byte Dn5 + .byte W08 + .byte Cs5 + .byte W08 + .byte N08 , Dn5 + .byte W08 + .byte N04 , Fs4 , v080 + .byte W08 + .byte Dn5 + .byte W08 + .byte Dn5 , v112 + .byte W16 + .byte Dn5 , v080 + .byte W08 + .byte N08 , Dn5 , v112 + .byte W08 + .byte N04 , Fs4 + .byte W16 + .byte Dn5 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Gn4 + .byte W08 + .byte N04 , Dn4 + .byte W08 + .byte Bn3 + .byte W08 + .byte N08 , Fs4 + .byte W08 + .byte N04 , Dn4 + .byte W08 + .byte Bn3 + .byte W08 + .byte N08 , En4 + .byte W08 + .byte N04 , Cn4 + .byte W08 + .byte Gn3 + .byte W08 + .byte N08 , Gn4 + .byte W08 + .byte N04 , En4 + .byte W08 + .byte Cn4 + .byte W08 + .byte N36 , Gs3 + .byte W40 + .byte N02 , Cs3 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N24 , Gs3 + .byte W32 + .byte Gn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte En3 + .byte W24 + .byte Cs3 + .byte W24 + .byte N08 , Dn5 + .byte W08 + .byte N04 , Cs5 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Dn5 , v112 + .byte W08 + .byte N04 , Cs5 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte Dn5 , v112 + .byte W04 + .byte Cs5 , v080 + .byte W04 + .byte Bn4 + .byte W04 + .byte An4 , v112 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte En4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte An3 + .byte W04 + .byte Gn3 + .byte W04 + .byte An2 + .byte W08 + .byte N04 + .byte W08 + .byte Dn3 + .byte W08 + .byte N24 , Fn3 + .byte W24 + .byte N04 , Bn2 + .byte W08 + .byte N04 + .byte W08 + .byte Dn3 + .byte W08 + .byte VOL , 25*mus_granroad_mvl/mxv + .byte N88 , Gn3 + .byte W02 + .byte VOL , 27*mus_granroad_mvl/mxv + .byte W03 + .byte 27*mus_granroad_mvl/mxv + .byte W03 + .byte 30*mus_granroad_mvl/mxv + .byte W06 + .byte 33*mus_granroad_mvl/mxv + .byte W03 + .byte 36*mus_granroad_mvl/mxv + .byte W07 + .byte 37*mus_granroad_mvl/mxv + .byte W02 + .byte 40*mus_granroad_mvl/mxv + .byte W03 + .byte 43*mus_granroad_mvl/mxv + .byte W09 + .byte 46*mus_granroad_mvl/mxv + .byte W03 + .byte 47*mus_granroad_mvl/mxv + .byte W03 + .byte 48*mus_granroad_mvl/mxv + .byte W06 + .byte 51*mus_granroad_mvl/mxv + .byte W03 + .byte 53*mus_granroad_mvl/mxv + .byte W03 + .byte 55*mus_granroad_mvl/mxv + .byte W64 + .byte GOTO + .word mus_granroad_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_granroad_5: + .byte KEYSH , mus_granroad_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 12 + .byte xIECV , 8 + .byte BENDR , 12 + .byte LFOS , 44 + .byte MOD , 2 + .byte XCMD , xIECV , 8 + .byte PAN , c_v-61 + .byte VOL , 36*mus_granroad_mvl/mxv + .byte BEND , c_v+0 + .byte N04 , Fs1 , v068 + .byte W04 + .byte Gs1 , v040 + .byte W04 + .byte An1 , v044 + .byte W04 + .byte Gs1 , v048 + .byte W04 + .byte An1 , v052 + .byte W04 + .byte Bn1 , v056 + .byte W04 + .byte An1 , v060 + .byte W04 + .byte Bn1 , v064 + .byte W04 + .byte Cs2 , v072 + .byte W04 + .byte Bn1 , v076 + .byte W04 + .byte Cs2 , v080 + .byte W04 + .byte Dn2 , v084 + .byte W04 + .byte VOICE , 81 + .byte N32 , Cs3 , v112 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte 0 + .byte W08 + .byte N02 , An2 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N32 , Cs3 + .byte W20 + .byte MOD , 12 + .byte W12 + .byte 0 + .byte N08 , En2 + .byte W08 + .byte Ds2 + .byte W08 + .byte N04 , En2 + .byte W08 + .byte N08 , An2 + .byte W08 + .byte Gs2 + .byte W08 + .byte N04 , An2 + .byte W08 + .byte N16 , En3 + .byte W16 + .byte N24 , An3 + .byte W08 + .byte MOD , 12 + .byte W16 + .byte 0 + .byte N08 , En3 + .byte W08 + .byte N24 , An2 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N08 , Dn3 + .byte W08 + .byte N04 , Cs3 + .byte W08 + .byte Dn3 + .byte W08 + .byte N08 , Fs3 + .byte W08 + .byte N04 , Fn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte N08 , An3 + .byte W08 + .byte N02 , Gs3 , v104 + .byte W02 + .byte Gn3 + .byte W02 + .byte Fs3 , v108 + .byte W02 + .byte Fn3 + .byte W02 + .byte En3 + .byte W02 + .byte Ds3 + .byte W02 + .byte Dn3 , v104 + .byte W02 + .byte Cs3 , v088 + .byte W02 + .byte MOD , 2 + .byte N24 , An3 , v112 + .byte W24 + .byte N08 , Dn4 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte Bn3 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N04 , Gn3 + .byte W08 + .byte N16 , Dn3 + .byte W16 + .byte N04 , Gn2 + .byte W08 + .byte N08 , Cs3 + .byte W08 + .byte N02 , An2 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N24 , Cs3 + .byte W08 + .byte MOD , 9 + .byte W16 + .byte N08 , Dn3 + .byte W08 + .byte MOD , 0 + .byte N08 , En3 , v096 + .byte W08 + .byte N02 , An2 + .byte W08 + .byte An2 , v100 + .byte W08 + .byte An2 , v096 + .byte W16 + .byte An2 , v104 + .byte W08 + .byte N04 + .byte W16 + .byte N24 , An3 , v112 + .byte W08 + .byte MOD , 11 + .byte W16 + .byte N08 , En3 + .byte W08 + .byte MOD , 0 + .byte N24 , Fs3 + .byte W40 + .byte N04 , Dn3 + .byte W08 + .byte N16 + .byte W16 + .byte N32 , Fs4 + .byte W08 + .byte MOD , 12 + .byte W24 + .byte VOICE , 83 + .byte MOD , 0 + .byte N32 , An2 + .byte W32 + .byte N04 , Fs2 + .byte W08 + .byte An2 + .byte W08 + .byte Dn2 + .byte W16 + .byte Gn2 + .byte W08 + .byte N16 , Bn2 + .byte W16 + .byte N04 , As2 + .byte W04 + .byte An2 + .byte W04 + .byte VOL , 40*mus_granroad_mvl/mxv + .byte N08 , An2 , v084 + .byte W08 + .byte Cs3 + .byte W08 + .byte An2 , v048 + .byte W08 + .byte Cs3 , v052 + .byte W08 + .byte An2 , v056 + .byte W08 + .byte Cs3 , v060 + .byte W08 + .byte An2 , v064 + .byte W08 + .byte Cs3 , v068 + .byte W08 + .byte An2 + .byte W08 + .byte Cs3 , v072 + .byte W08 + .byte Bn2 , v076 + .byte W08 + .byte Gs2 , v080 + .byte W08 +mus_granroad_5_B1: + .byte VOICE , 83 + .byte VOL , 40*mus_granroad_mvl/mxv + .byte PAN , c_v-64 + .byte N08 , Fs2 , v084 + .byte W08 + .byte An2 + .byte W08 + .byte Fs2 , v052 + .byte W08 + .byte An2 , v056 + .byte W08 + .byte Fs2 + .byte W08 + .byte An2 , v060 + .byte W08 + .byte Fs2 , v064 + .byte W08 + .byte An2 , v068 + .byte W08 + .byte Fs2 , v072 + .byte W08 + .byte Bn2 , v076 + .byte W08 + .byte An2 + .byte W08 + .byte Gs2 , v080 + .byte W08 + .byte Fs2 , v084 + .byte W08 + .byte An2 + .byte W08 + .byte Fs2 , v048 + .byte W08 + .byte An2 , v052 + .byte W08 + .byte Fs2 , v056 + .byte W08 + .byte An2 , v060 + .byte W08 + .byte Fs2 , v064 + .byte W08 + .byte An2 , v068 + .byte W08 + .byte Fs2 , v072 + .byte W08 + .byte Bn2 , v076 + .byte W08 + .byte An2 , v080 + .byte W08 + .byte Gs2 , v084 + .byte W08 + .byte VOICE , 5 + .byte MOD , 0 + .byte PAN , c_v+0 + .byte VOL , 45*mus_granroad_mvl/mxv + .byte BEND , c_v+1 + .byte N04 , En3 , v048 + .byte W04 + .byte En3 , v028 + .byte W04 + .byte An3 , v048 + .byte W04 + .byte An3 , v028 + .byte W04 + .byte Cs4 , v048 + .byte W04 + .byte Cs4 , v028 + .byte W04 + .byte En4 , v048 + .byte W04 + .byte En4 , v028 + .byte W04 + .byte Gs4 , v048 + .byte W04 + .byte Gs4 , v028 + .byte W04 + .byte An4 , v048 + .byte W04 + .byte An4 , v028 + .byte W04 + .byte Bn4 , v048 + .byte W04 + .byte Bn4 , v028 + .byte W04 + .byte An4 , v048 + .byte W04 + .byte An4 , v028 + .byte W04 + .byte Gs4 , v048 + .byte W04 + .byte Gs4 , v028 + .byte W04 + .byte Fs4 , v048 + .byte W04 + .byte Fs4 , v028 + .byte W04 + .byte En4 , v048 + .byte W04 + .byte En4 , v028 + .byte W04 + .byte Dn4 , v048 + .byte W04 + .byte Dn4 , v028 + .byte W04 + .byte VOICE , 83 + .byte VOL , 41*mus_granroad_mvl/mxv + .byte PAN , c_v-62 + .byte BEND , c_v+0 + .byte N08 , Cs2 , v084 + .byte W08 + .byte An2 + .byte W08 + .byte Cs2 , v048 + .byte W08 + .byte An2 , v052 + .byte W08 + .byte Cs2 , v056 + .byte W08 + .byte An2 , v060 + .byte W08 + .byte Cs2 , v064 + .byte W08 + .byte An2 , v068 + .byte W08 + .byte Cs2 + .byte W08 + .byte An2 , v072 + .byte W08 + .byte Gs2 , v076 + .byte W08 + .byte Fs2 , v080 + .byte W08 + .byte En2 , v084 + .byte W08 + .byte Bn2 + .byte W08 + .byte En2 , v048 + .byte W08 + .byte Bn2 , v052 + .byte W08 + .byte En2 , v056 + .byte W08 + .byte Bn2 , v060 + .byte W08 + .byte En2 , v064 + .byte W08 + .byte Bn2 , v068 + .byte W08 + .byte En2 , v072 + .byte W08 + .byte Bn2 + .byte W08 + .byte An2 , v076 + .byte W08 + .byte Gs2 , v084 + .byte W08 + .byte Dn2 + .byte W08 + .byte Bn2 + .byte W08 + .byte Dn2 , v048 + .byte W08 + .byte Bn2 , v052 + .byte W08 + .byte Dn2 , v056 + .byte W08 + .byte Bn2 , v060 + .byte W08 + .byte Dn2 , v064 + .byte W08 + .byte Bn2 , v068 + .byte W08 + .byte Dn2 , v072 + .byte W08 + .byte An2 + .byte W08 + .byte Gs2 , v076 + .byte W08 + .byte An2 , v080 + .byte W08 + .byte En2 , v084 + .byte W08 + .byte Bn2 + .byte W08 + .byte En2 , v048 + .byte W08 + .byte Bn2 , v052 + .byte W08 + .byte En2 , v056 + .byte W08 + .byte Bn2 , v060 + .byte W08 + .byte Gs2 , v064 + .byte W08 + .byte En3 , v068 + .byte W08 + .byte Gs2 + .byte W08 + .byte En3 , v072 + .byte W08 + .byte Dn3 , v076 + .byte W08 + .byte Bn2 , v080 + .byte W08 + .byte VOICE , 4 + .byte PAN , c_v+0 + .byte VOL , 21*mus_granroad_mvl/mxv + .byte MOD , 4 + .byte BEND , c_v+1 + .byte N48 , En6 , v112 + .byte W48 + .byte An5 + .byte W48 + .byte Dn6 + .byte W48 + .byte N24 , An5 + .byte W24 + .byte Bn5 + .byte W24 + .byte N48 , Dn6 + .byte W48 + .byte En5 + .byte W48 + .byte Cs6 + .byte W48 + .byte N24 , An5 + .byte W24 + .byte Bn5 + .byte W24 + .byte VOICE , 81 + .byte MOD , 0 + .byte PAN , c_v-61 + .byte VOL , 36*mus_granroad_mvl/mxv + .byte N16 , An2 + .byte W16 + .byte N02 , Gs2 + .byte W08 + .byte N04 , An2 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N16 + .byte W16 + .byte N04 + .byte W16 + .byte N02 + .byte W08 + .byte MOD , 0 + .byte N16 , Gs2 + .byte W16 + .byte N02 , Gn2 + .byte W08 + .byte N04 , Gs2 + .byte W16 + .byte N02 + .byte W16 + .byte N16 + .byte W16 + .byte N04 + .byte W16 + .byte N02 + .byte W08 + .byte Fs2 + .byte W08 + .byte Fn2 + .byte W16 + .byte N04 , Fs2 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Dn2 + .byte W08 + .byte N16 , En2 + .byte W16 + .byte N08 , Fs2 + .byte W08 + .byte N16 , Gs2 + .byte W16 + .byte N02 , En2 + .byte W08 + .byte N04 , Gs2 + .byte W16 + .byte N02 + .byte W08 + .byte N16 , An2 + .byte W16 + .byte N02 , Fn2 + .byte W08 + .byte N04 , An2 + .byte W16 + .byte N02 + .byte W08 + .byte N16 , As2 + .byte W16 + .byte N02 , Fs2 + .byte W08 + .byte N04 , As2 + .byte W08 + .byte Gs2 + .byte W08 + .byte N02 , As2 + .byte W08 + .byte N16 , Bn2 + .byte W16 + .byte N02 , Gn2 + .byte W08 + .byte N04 , Bn2 + .byte W08 + .byte Cs3 + .byte W08 + .byte N02 , Ds3 + .byte W08 + .byte VOICE , 5 + .byte PAN , c_v+0 + .byte VOL , 44*mus_granroad_mvl/mxv + .byte N04 , An3 , v064 + .byte W04 + .byte Dn4 + .byte W04 + .byte En4 + .byte W04 + .byte Dn4 + .byte W04 + .byte En4 + .byte W04 + .byte Bn4 + .byte W04 + .byte En4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte An4 + .byte W04 + .byte Bn4 + .byte W04 + .byte En5 + .byte W04 + .byte Bn5 + .byte W04 + .byte En5 + .byte W04 + .byte Dn5 + .byte W04 + .byte An4 + .byte W04 + .byte En5 + .byte W04 + .byte Dn5 + .byte W04 + .byte An4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Gs4 + .byte W04 + .byte En4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte VOL , 36*mus_granroad_mvl/mxv + .byte N32 , Cn3 , v112 + .byte W32 + .byte N02 , Ds2 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N24 , Cn3 + .byte W24 + .byte N04 , Ds2 + .byte W08 + .byte N24 , Fs3 + .byte W32 + .byte N02 , As2 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N24 , Fs3 + .byte W24 + .byte N04 , As2 + .byte W08 + .byte N32 , Fn3 + .byte W40 + .byte N04 , Gs2 + .byte W08 + .byte N20 + .byte W48 + .byte W96 + .byte W96 + .byte W72 + .byte VOICE , 5 + .byte MOD , 0 + .byte PAN , c_v+0 + .byte VOL , 36*mus_granroad_mvl/mxv + .byte N04 , Ds5 + .byte W08 + .byte Fn5 + .byte W08 + .byte N08 , Fs5 + .byte W08 + .byte N04 , An5 + .byte W08 + .byte An4 + .byte W16 + .byte An5 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte An4 + .byte W16 + .byte An5 + .byte W16 + .byte N04 + .byte W08 + .byte Gn5 + .byte W08 + .byte Cs5 + .byte W16 + .byte Gn5 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Cs5 + .byte W16 + .byte Gn5 + .byte W16 + .byte N04 + .byte W08 + .byte Fs5 + .byte W08 + .byte En5 + .byte W08 + .byte Ds5 + .byte W08 + .byte N72 , Dn5 + .byte W72 + .byte VOICE , 81 + .byte MOD , 2 + .byte PAN , c_v-62 + .byte VOL , 36*mus_granroad_mvl/mxv + .byte N48 , Fs3 + .byte W48 + .byte Gn3 + .byte W48 + .byte N36 , Fn3 + .byte W40 + .byte N02 , Gs2 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N24 , Fn3 + .byte W24 + .byte N08 , Ds3 + .byte W08 + .byte N24 , En3 + .byte W24 + .byte Dn3 + .byte W24 + .byte Cs3 + .byte W24 + .byte An2 + .byte W24 + .byte W96 + .byte VOICE , 81 + .byte VOL , 40*mus_granroad_mvl/mxv + .byte PAN , c_v-64 + .byte N08 , Fs2 , v084 + .byte W08 + .byte An2 + .byte W08 + .byte Fs2 , v052 + .byte W08 + .byte An2 , v056 + .byte W08 + .byte Fs2 + .byte W08 + .byte An2 , v060 + .byte W08 + .byte Gs2 , v064 + .byte W08 + .byte Bn2 , v068 + .byte W08 + .byte Gs2 , v072 + .byte W08 + .byte Bn2 , v076 + .byte W08 + .byte Gs2 + .byte W08 + .byte En2 , v080 + .byte W08 + .byte An2 , v084 + .byte W08 + .byte Cs3 + .byte W08 + .byte An2 , v048 + .byte W08 + .byte Cs3 , v052 + .byte W08 + .byte An2 , v056 + .byte W08 + .byte Cs3 , v060 + .byte W08 + .byte An2 , v064 + .byte W08 + .byte Cs3 , v068 + .byte W08 + .byte An2 + .byte W08 + .byte Cs3 , v072 + .byte W08 + .byte Bn2 , v076 + .byte W08 + .byte Gs2 , v080 + .byte W08 + .byte GOTO + .word mus_granroad_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_granroad_6: + .byte KEYSH , mus_granroad_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 12 + .byte xIECV , 8 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 36*mus_granroad_mvl/mxv + .byte BEND , c_v+0 + .byte N04 , Ds2 , v068 + .byte W04 + .byte En2 , v040 + .byte W04 + .byte Fs2 , v044 + .byte W04 + .byte En2 , v048 + .byte W04 + .byte Fs2 , v056 + .byte W04 + .byte Gs2 + .byte W04 + .byte Fs2 , v060 + .byte W04 + .byte Gs2 , v064 + .byte W04 + .byte An2 + .byte W04 + .byte Gs2 , v072 + .byte W04 + .byte An2 , v080 + .byte W04 + .byte Bn2 + .byte W04 + .byte N32 , An3 , v112 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte 0 + .byte W08 + .byte N02 , En3 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N32 , An3 + .byte W20 + .byte MOD , 12 + .byte W12 + .byte 0 + .byte N08 , An2 + .byte W08 + .byte Gs2 + .byte W08 + .byte N04 , An2 + .byte W08 + .byte N08 , Cs3 + .byte W08 + .byte Cn3 + .byte W08 + .byte N04 , Cs3 + .byte W08 + .byte N16 , Bn3 + .byte W16 + .byte N24 , Cs4 + .byte W08 + .byte MOD , 12 + .byte W16 + .byte 0 + .byte N08 , An3 + .byte W08 + .byte N24 , Fs3 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N08 , An3 + .byte W08 + .byte N04 , Gs3 + .byte W08 + .byte An3 + .byte W08 + .byte N08 , Dn4 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N08 , Fs4 + .byte W08 + .byte N02 , Fs4 , v104 + .byte W02 + .byte Fn4 + .byte W02 + .byte En4 , v108 + .byte W02 + .byte Ds4 + .byte W02 + .byte Dn4 + .byte W02 + .byte Cs4 + .byte W02 + .byte Cn4 , v104 + .byte W02 + .byte Bn3 , v084 + .byte W02 + .byte N24 , Dn4 , v112 + .byte W24 + .byte N08 , Fn4 + .byte W08 + .byte N04 , En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N16 , An3 + .byte W16 + .byte N04 , Bn3 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N04 , Dn3 + .byte W08 + .byte N08 , An3 + .byte W08 + .byte N02 , En3 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N24 , An3 + .byte W08 + .byte MOD , 9 + .byte W16 + .byte N08 , Bn3 + .byte W08 + .byte MOD , 0 + .byte N08 , Cs4 + .byte W08 + .byte N02 , En3 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N04 + .byte W16 + .byte N24 , En4 + .byte W08 + .byte MOD , 11 + .byte W16 + .byte N08 , Cs4 + .byte W08 + .byte MOD , 0 + .byte N24 , An3 + .byte W40 + .byte N04 , Fs3 + .byte W08 + .byte N16 + .byte W16 + .byte N32 , Dn4 + .byte W08 + .byte MOD , 13 + .byte W24 + .byte 0 + .byte N32 , Dn3 + .byte W32 + .byte N04 , Bn2 + .byte W08 + .byte Dn3 + .byte W08 + .byte Gn2 + .byte W16 + .byte Bn2 + .byte W08 + .byte N16 , Gn3 + .byte W16 + .byte N04 , Fs3 + .byte W04 + .byte Fn3 + .byte W04 + .byte VOL , 36*mus_granroad_mvl/mxv + .byte PAN , c_v+63 + .byte N08 , Cs3 , v084 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 , v048 + .byte W08 + .byte En3 , v052 + .byte W08 + .byte Cs3 , v056 + .byte W08 + .byte En3 , v060 + .byte W08 + .byte Cs3 , v064 + .byte W08 + .byte En3 , v068 + .byte W08 + .byte Cs3 + .byte W08 + .byte En3 , v072 + .byte W08 + .byte Dn3 , v076 + .byte W08 + .byte Bn2 , v080 + .byte W08 +mus_granroad_6_B1: + .byte VOICE , 80 + .byte VOL , 36*mus_granroad_mvl/mxv + .byte PAN , c_v+63 + .byte N08 , An2 , v084 + .byte W08 + .byte Dn3 + .byte W08 + .byte An2 , v052 + .byte W08 + .byte Dn3 , v056 + .byte W08 + .byte An2 + .byte W08 + .byte Dn3 , v060 + .byte W08 + .byte An2 , v064 + .byte W08 + .byte Dn3 , v068 + .byte W08 + .byte An2 , v072 + .byte W08 + .byte Dn3 , v076 + .byte W08 + .byte Cs3 + .byte W08 + .byte Bn2 , v080 + .byte W08 + .byte An2 , v084 + .byte W08 + .byte Dn3 + .byte W08 + .byte An2 , v048 + .byte W08 + .byte Dn3 , v052 + .byte W08 + .byte An2 , v056 + .byte W08 + .byte Dn3 , v060 + .byte W08 + .byte An2 , v064 + .byte W08 + .byte Dn3 , v068 + .byte W08 + .byte An2 , v072 + .byte W08 + .byte Dn3 , v076 + .byte W08 + .byte Cs3 , v080 + .byte W08 + .byte Bn2 , v084 + .byte W08 + .byte An2 + .byte W08 + .byte En3 + .byte W08 + .byte An2 , v048 + .byte W08 + .byte En3 , v052 + .byte W08 + .byte An2 , v056 + .byte W08 + .byte En3 , v060 + .byte W08 + .byte An2 , v064 + .byte W08 + .byte En3 , v068 + .byte W08 + .byte An2 + .byte W08 + .byte En3 , v072 + .byte W08 + .byte Dn3 , v076 + .byte W08 + .byte Bn2 , v080 + .byte W08 + .byte Fs2 , v084 + .byte W08 + .byte Cs3 + .byte W08 + .byte Fs2 , v048 + .byte W08 + .byte Cs3 , v052 + .byte W08 + .byte Fs2 , v056 + .byte W08 + .byte Cs3 , v060 + .byte W08 + .byte Fs2 , v064 + .byte W08 + .byte Cs3 , v068 + .byte W08 + .byte Fs2 + .byte W08 + .byte Cs3 , v072 + .byte W08 + .byte Bn2 , v076 + .byte W08 + .byte An2 , v080 + .byte W08 + .byte Gs2 , v084 + .byte W08 + .byte En3 + .byte W08 + .byte Gs2 , v048 + .byte W08 + .byte En3 , v052 + .byte W08 + .byte Gs2 , v056 + .byte W08 + .byte En3 , v060 + .byte W08 + .byte Gs2 , v064 + .byte W08 + .byte En3 , v068 + .byte W08 + .byte Gs2 , v072 + .byte W08 + .byte En3 + .byte W08 + .byte Dn3 , v076 + .byte W08 + .byte Bn2 , v084 + .byte W08 + .byte Fs2 + .byte W08 + .byte Dn3 + .byte W08 + .byte Fs2 , v048 + .byte W08 + .byte Dn3 , v052 + .byte W08 + .byte Fs2 , v056 + .byte W08 + .byte Dn3 , v060 + .byte W08 + .byte Fs2 , v064 + .byte W08 + .byte Dn3 , v068 + .byte W08 + .byte Fs2 , v072 + .byte W08 + .byte Dn3 + .byte W08 + .byte Cs3 , v076 + .byte W08 + .byte Dn3 , v080 + .byte W08 + .byte Gs2 , v084 + .byte W08 + .byte En3 + .byte W08 + .byte Gs2 , v048 + .byte W08 + .byte En3 , v052 + .byte W08 + .byte Gs2 , v056 + .byte W08 + .byte En3 , v060 + .byte W08 + .byte Bn2 , v064 + .byte W08 + .byte Gs3 , v068 + .byte W08 + .byte Bn2 + .byte W08 + .byte Gs3 , v072 + .byte W08 + .byte Fs3 , v076 + .byte W08 + .byte En3 , v080 + .byte W08 + .byte VOICE , 87 + .byte VOL , 24*mus_granroad_mvl/mxv + .byte PAN , c_v-63 + .byte N72 , Dn4 , v120 + .byte W08 + .byte VOL , 27*mus_granroad_mvl/mxv + .byte W04 + .byte 30*mus_granroad_mvl/mxv + .byte W04 + .byte 31*mus_granroad_mvl/mxv + .byte W04 + .byte 34*mus_granroad_mvl/mxv + .byte W04 + .byte 36*mus_granroad_mvl/mxv + .byte MOD , 8 + .byte W04 + .byte VOL , 37*mus_granroad_mvl/mxv + .byte W04 + .byte 40*mus_granroad_mvl/mxv + .byte W04 + .byte 43*mus_granroad_mvl/mxv + .byte W04 + .byte 46*mus_granroad_mvl/mxv + .byte W04 + .byte 48*mus_granroad_mvl/mxv + .byte W04 + .byte 51*mus_granroad_mvl/mxv + .byte W04 + .byte 55*mus_granroad_mvl/mxv + .byte W04 + .byte 56*mus_granroad_mvl/mxv + .byte W04 + .byte 58*mus_granroad_mvl/mxv + .byte W04 + .byte 60*mus_granroad_mvl/mxv + .byte W04 + .byte 64*mus_granroad_mvl/mxv + .byte W04 + .byte 36*mus_granroad_mvl/mxv + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N08 , En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Bn3 + .byte W08 + .byte VOL , 13*mus_granroad_mvl/mxv + .byte N48 , Dn4 + .byte W04 + .byte VOL , 16*mus_granroad_mvl/mxv + .byte W04 + .byte 20*mus_granroad_mvl/mxv + .byte W04 + .byte 23*mus_granroad_mvl/mxv + .byte W04 + .byte 24*mus_granroad_mvl/mxv + .byte W04 + .byte 27*mus_granroad_mvl/mxv + .byte W04 + .byte 30*mus_granroad_mvl/mxv + .byte MOD , 6 + .byte W04 + .byte VOL , 34*mus_granroad_mvl/mxv + .byte W04 + .byte 39*mus_granroad_mvl/mxv + .byte W04 + .byte 46*mus_granroad_mvl/mxv + .byte W04 + .byte 49*mus_granroad_mvl/mxv + .byte W04 + .byte 55*mus_granroad_mvl/mxv + .byte W04 + .byte 36*mus_granroad_mvl/mxv + .byte MOD , 0 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , En4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 24*mus_granroad_mvl/mxv + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N72 , Dn4 + .byte W04 + .byte VOL , 25*mus_granroad_mvl/mxv + .byte W04 + .byte 27*mus_granroad_mvl/mxv + .byte W04 + .byte 28*mus_granroad_mvl/mxv + .byte W04 + .byte 30*mus_granroad_mvl/mxv + .byte W04 + .byte 31*mus_granroad_mvl/mxv + .byte W04 + .byte 36*mus_granroad_mvl/mxv + .byte MOD , 8 + .byte W04 + .byte VOL , 37*mus_granroad_mvl/mxv + .byte W04 + .byte 41*mus_granroad_mvl/mxv + .byte W04 + .byte 45*mus_granroad_mvl/mxv + .byte W04 + .byte 48*mus_granroad_mvl/mxv + .byte W04 + .byte 49*mus_granroad_mvl/mxv + .byte W04 + .byte 52*mus_granroad_mvl/mxv + .byte W04 + .byte 55*mus_granroad_mvl/mxv + .byte W04 + .byte 58*mus_granroad_mvl/mxv + .byte W04 + .byte 60*mus_granroad_mvl/mxv + .byte W04 + .byte 61*mus_granroad_mvl/mxv + .byte W04 + .byte 64*mus_granroad_mvl/mxv + .byte W04 + .byte 36*mus_granroad_mvl/mxv + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N08 , En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Bn3 + .byte W08 + .byte VOL , 24*mus_granroad_mvl/mxv + .byte N48 , Cs4 + .byte W04 + .byte VOL , 27*mus_granroad_mvl/mxv + .byte W04 + .byte 30*mus_granroad_mvl/mxv + .byte W04 + .byte 30*mus_granroad_mvl/mxv + .byte W04 + .byte 33*mus_granroad_mvl/mxv + .byte W04 + .byte 37*mus_granroad_mvl/mxv + .byte W04 + .byte 40*mus_granroad_mvl/mxv + .byte MOD , 6 + .byte W04 + .byte VOL , 45*mus_granroad_mvl/mxv + .byte W04 + .byte 48*mus_granroad_mvl/mxv + .byte W04 + .byte 51*mus_granroad_mvl/mxv + .byte W04 + .byte 57*mus_granroad_mvl/mxv + .byte W04 + .byte 61*mus_granroad_mvl/mxv + .byte W04 + .byte 36*mus_granroad_mvl/mxv + .byte MOD , 0 + .byte N24 , En4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOICE , 80 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte VOL , 32*mus_granroad_mvl/mxv + .byte N16 , Cs3 , v112 + .byte W16 + .byte N02 , Cn3 + .byte W08 + .byte N04 , Cs3 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N16 + .byte W16 + .byte N04 + .byte W16 + .byte N02 + .byte W08 + .byte N16 , Bn2 + .byte W16 + .byte N02 , As2 + .byte W08 + .byte N04 , Bn2 + .byte W16 + .byte N02 + .byte W16 + .byte N16 + .byte W16 + .byte N04 + .byte W16 + .byte N02 + .byte W08 + .byte An2 + .byte W08 + .byte Gs2 + .byte W16 + .byte N04 , An2 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Fs2 + .byte W08 + .byte N16 , Gs2 + .byte W16 + .byte N08 , An2 + .byte W08 + .byte N16 , Bn2 + .byte W16 + .byte N02 , Gs2 + .byte W08 + .byte N04 , Bn2 + .byte W16 + .byte N02 + .byte W08 + .byte N16 , Cn3 + .byte W16 + .byte N02 , An2 + .byte W08 + .byte N04 , Cn3 + .byte W16 + .byte N02 + .byte W08 + .byte N16 , Cs3 + .byte W16 + .byte N02 , As2 + .byte W08 + .byte N04 , Cs3 + .byte W08 + .byte Cn3 + .byte W08 + .byte N02 , Cs3 + .byte W08 + .byte N16 , Dn3 + .byte W16 + .byte N02 , Bn2 + .byte W08 + .byte N04 , Dn3 + .byte W08 + .byte En3 + .byte W08 + .byte N02 , Fs3 + .byte W08 + .byte VOICE , 85 + .byte PAN , c_v+0 + .byte VOL , 71*mus_granroad_mvl/mxv + .byte N96 , En1 + .byte W24 + .byte MOD , 8 + .byte W72 + .byte 0 + .byte PAN , c_v+63 + .byte VOL , 36*mus_granroad_mvl/mxv + .byte N32 , Gs3 + .byte W32 + .byte N02 , Cn3 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N24 , Gs3 + .byte W24 + .byte N04 , Ds3 + .byte W08 + .byte N24 , Cn4 + .byte W32 + .byte N02 , Ds3 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N24 , Cn4 + .byte W24 + .byte N04 , Ds3 + .byte W08 + .byte N32 , Cs4 + .byte W40 + .byte N04 , Fn3 + .byte W08 + .byte N20 + .byte W48 + .byte PAN , c_v+0 + .byte VOL , 36*mus_granroad_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+63 + .byte N32 , En3 + .byte W32 + .byte N02 , An2 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N24 , En3 + .byte W24 + .byte N04 , Fs3 + .byte W08 + .byte N24 , Gn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte En3 + .byte W24 + .byte Gn3 + .byte W24 + .byte N32 , Fs3 + .byte W40 + .byte N04 , Dn3 + .byte W08 + .byte N48 + .byte W48 + .byte Bn3 + .byte W48 + .byte Cn4 + .byte W48 + .byte N36 , Cs4 + .byte W40 + .byte N02 , Fn3 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N24 , Cs4 + .byte W24 + .byte N08 , Bn3 + .byte W08 + .byte N24 , Cn4 + .byte W24 + .byte Bn3 + .byte W24 + .byte An3 + .byte W24 + .byte En3 + .byte W24 + .byte W96 + .byte VOL , 36*mus_granroad_mvl/mxv + .byte PAN , c_v+63 + .byte N08 , An2 , v084 + .byte W08 + .byte Dn3 + .byte W08 + .byte An2 , v052 + .byte W08 + .byte Dn3 , v056 + .byte W08 + .byte An2 + .byte W08 + .byte Dn3 , v060 + .byte W08 + .byte Bn2 , v064 + .byte W08 + .byte En3 , v068 + .byte W08 + .byte Bn2 , v072 + .byte W08 + .byte En3 , v076 + .byte W08 + .byte Dn3 + .byte W08 + .byte Bn2 , v080 + .byte W08 + .byte Cs3 , v084 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 , v048 + .byte W08 + .byte En3 , v052 + .byte W08 + .byte Cs3 , v056 + .byte W08 + .byte En3 , v060 + .byte W08 + .byte Cs3 , v064 + .byte W08 + .byte En3 , v068 + .byte W08 + .byte Cs3 + .byte W08 + .byte En3 , v072 + .byte W08 + .byte Dn3 , v076 + .byte W08 + .byte Bn2 , v080 + .byte W08 + .byte GOTO + .word mus_granroad_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_granroad_7: + .byte KEYSH , mus_granroad_key+0 + .byte VOICE , 0 + .byte VOL , 84*mus_granroad_mvl/mxv + .byte PAN , c_v+0 + .byte VOL , 71*mus_granroad_mvl/mxv + .byte W48 + .byte N24 , An2 , v092 + .byte W24 + .byte N04 , En1 , v088 + .byte W04 + .byte En1 , v044 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N08 + .byte W20 + .byte N04 , En1 , v127 + .byte W08 + .byte En1 , v088 + .byte W04 + .byte En1 , v044 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 +mus_granroad_7_000: + .byte N04 , En1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte PEND + .byte N04 + .byte W16 + .byte En1 , v127 + .byte W08 + .byte En1 , v088 + .byte W04 + .byte En1 , v044 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W52 + .byte N32 , An2 , v096 + .byte W32 + .byte N16 , An2 , v064 + .byte W16 + .byte N48 , An2 , v088 + .byte W48 + .byte N24 , An2 , v084 + .byte W24 + .byte N04 , En1 , v088 + .byte W04 + .byte En1 , v044 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W20 + .byte N24 , An2 , v092 + .byte W28 + .byte N04 , En1 , v044 + .byte W04 +mus_granroad_7_001: + .byte N04 , En1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N16 , An2 , v084 + .byte W16 + .byte N40 , An2 , v096 + .byte W40 + .byte N04 , En1 , v112 + .byte W08 + .byte PEND + .byte N40 , An2 , v088 + .byte W96 + .byte N48 , An2 , v112 + .byte W48 + .byte N24 , An2 , v080 + .byte W48 + .byte W96 +mus_granroad_7_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_granroad_7_002: + .byte N04 , En1 , v112 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte PEND + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte En1 , v108 + .byte W04 + .byte En1 , v084 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte PATT + .word mus_granroad_7_002 +mus_granroad_7_003: + .byte N04 , En1 , v112 + .byte W16 + .byte N04 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W24 + .byte En1 , v084 + .byte W04 + .byte N04 + .byte W04 + .byte PEND + .byte PATT + .word mus_granroad_7_002 + .byte PATT + .word mus_granroad_7_003 + .byte N04 , En1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte En1 , v108 + .byte W04 + .byte En1 , v084 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte En1 , v108 + .byte W04 + .byte En1 , v084 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte En1 , v108 + .byte W04 + .byte En1 , v084 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte PATT + .word mus_granroad_7_002 + .byte W96 + .byte W96 + .byte W96 + .byte N24 , An2 , v092 + .byte W24 + .byte N04 , En1 , v088 + .byte W04 + .byte En1 , v044 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N08 + .byte W20 + .byte N04 , En1 , v127 + .byte W08 + .byte En1 , v088 + .byte W04 + .byte N08 , En1 , v044 + .byte W08 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte PATT + .word mus_granroad_7_000 + .byte N04 , En1 , v112 + .byte W16 + .byte En1 , v127 + .byte W08 + .byte En1 , v088 + .byte W04 + .byte En1 , v044 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N08 + .byte W20 + .byte N04 , En1 , v127 + .byte W32 + .byte N32 , An2 , v092 + .byte W32 + .byte N16 , An2 , v072 + .byte W16 + .byte N48 , An2 , v096 + .byte W48 + .byte N24 , An2 , v092 + .byte W24 + .byte N04 , En1 , v088 + .byte W04 + .byte En1 , v044 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W20 + .byte En1 , v044 + .byte W04 + .byte En1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W04 + .byte En1 , v044 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte W96 + .byte W96 + .byte W96 + .byte N32 , An2 , v064 + .byte W32 + .byte N16 , An2 , v096 + .byte W16 + .byte N32 , An2 , v064 + .byte W32 + .byte N16 , An2 , v096 + .byte W16 + .byte N24 , An2 , v112 + .byte W24 + .byte N04 , En1 , v088 + .byte W04 + .byte En1 , v044 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N08 + .byte W20 + .byte N28 , An2 , v092 + .byte W28 + .byte N04 , En1 , v044 + .byte W04 + .byte PATT + .word mus_granroad_7_001 + .byte N40 , An2 , v088 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_granroad_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_granroad_8: + .byte KEYSH , mus_granroad_key+0 + .byte VOICE , 84 + .byte LFOS , 44 + .byte XCMD , xIECV , 21 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte XCMD , xIECV , 12 + .byte xIECL , 8 + .byte VOL , 60*mus_granroad_mvl/mxv + .byte W24 + .byte N16 , En1 , v112 + .byte W16 + .byte N08 , Gs1 + .byte W08 +mus_granroad_8_000: + .byte N24 , An1 , v112 + .byte W64 + .byte N32 + .byte W32 + .byte PEND +mus_granroad_8_001: + .byte N24 , Gn1 , v112 + .byte W64 + .byte N32 + .byte W32 + .byte PEND + .byte N24 , Fs1 + .byte W72 + .byte N24 + .byte W24 + .byte Fn1 + .byte W32 + .byte N08 + .byte W08 + .byte Fs1 + .byte W08 + .byte N24 , Gn1 + .byte W32 + .byte N08 + .byte W08 + .byte Gs1 + .byte W08 + .byte PATT + .word mus_granroad_8_000 + .byte PATT + .word mus_granroad_8_001 + .byte N24 , Fs1 , v112 + .byte W64 + .byte N32 + .byte W32 +mus_granroad_8_002: + .byte N04 , Fn1 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Gn1 + .byte W32 + .byte N08 + .byte W16 + .byte PEND +mus_granroad_8_003: + .byte N08 , Dn2 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Dn3 + .byte W16 + .byte N04 , Dn2 + .byte W08 + .byte N08 + .byte W16 + .byte N04 + .byte W08 + .byte Dn3 + .byte W08 + .byte N16 , Dn2 + .byte W16 + .byte PEND +mus_granroad_8_B1: + .byte VOICE , 84 + .byte VOL , 60*mus_granroad_mvl/mxv + .byte N08 , Dn2 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Dn3 + .byte W16 + .byte N04 , Dn2 + .byte W08 + .byte N08 + .byte W08 + .byte N04 , Dn3 + .byte W08 + .byte Dn2 + .byte W08 + .byte Dn3 + .byte W08 + .byte N16 , Dn2 + .byte W16 + .byte N08 , Bn1 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Bn2 + .byte W16 + .byte N04 , Bn1 + .byte W08 + .byte N08 + .byte W16 + .byte N04 + .byte W08 + .byte Bn2 + .byte W08 + .byte N16 , Bn1 + .byte W16 + .byte N08 , An1 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , An2 + .byte W16 + .byte N04 , An1 + .byte W08 + .byte N08 + .byte W16 + .byte N04 + .byte W08 + .byte An2 + .byte W08 + .byte N16 , An1 + .byte W16 + .byte N08 , Fs1 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Fs2 + .byte W16 + .byte N04 , Fs1 + .byte W08 + .byte N08 + .byte W16 + .byte N04 + .byte W08 + .byte Fs2 + .byte W08 + .byte N16 , Fs1 + .byte W16 + .byte N08 , En1 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , En2 + .byte W16 + .byte N04 , En1 + .byte W08 + .byte N08 + .byte W08 + .byte N04 , En2 + .byte W08 + .byte En1 + .byte W08 + .byte En2 + .byte W08 + .byte N16 , En1 + .byte W16 + .byte N08 , Dn2 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Dn3 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Dn2 + .byte W16 + .byte N04 + .byte W08 + .byte Dn3 + .byte W08 + .byte N16 , Dn2 + .byte W16 + .byte N08 , En2 + .byte W08 + .byte N04 , En3 + .byte W08 + .byte N08 , En2 + .byte W08 + .byte N04 , En3 + .byte W08 + .byte N08 , En2 + .byte W16 + .byte N08 + .byte W16 + .byte N04 + .byte W08 + .byte En3 + .byte W08 + .byte Dn3 + .byte W08 + .byte N08 , En2 + .byte W08 + .byte N04 , Dn3 + .byte W08 + .byte N08 , Dn2 + .byte W16 + .byte N08 + .byte W24 + .byte N04 , Dn3 + .byte W08 + .byte N08 , Dn2 + .byte W16 + .byte N08 + .byte W16 + .byte N04 + .byte W08 + .byte N08 + .byte W16 + .byte N04 + .byte W08 + .byte Dn3 + .byte W08 + .byte Dn2 + .byte W08 + .byte N04 + .byte W08 + .byte Dn3 + .byte W08 + .byte N12 , Dn2 + .byte W16 + .byte N08 + .byte W16 + .byte N04 + .byte W08 + .byte Bn2 + .byte W08 + .byte N08 , Bn1 + .byte W16 + .byte N08 + .byte W16 + .byte N04 + .byte W08 + .byte Bn2 + .byte W08 + .byte N08 , Bn1 + .byte W16 + .byte N08 + .byte W16 + .byte N04 , Bn2 + .byte W08 + .byte N08 , An1 + .byte W16 + .byte N04 + .byte W08 + .byte An2 + .byte W08 + .byte N12 , An1 + .byte W16 + .byte N04 , An2 + .byte W08 + .byte N12 , An1 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Fs1 + .byte W16 + .byte N04 + .byte W08 + .byte Fs2 + .byte W16 + .byte Fs1 + .byte W08 + .byte Fs2 + .byte W08 + .byte N08 , Fs1 + .byte W16 + .byte N08 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , En1 + .byte W16 + .byte N04 + .byte W08 + .byte En2 + .byte W16 + .byte En1 + .byte W08 + .byte N08 + .byte W16 + .byte N04 + .byte W08 + .byte En2 + .byte W08 + .byte N16 , En1 + .byte W16 + .byte PATT + .word mus_granroad_8_003 + .byte N08 , En2 , v112 + .byte W08 + .byte N04 , En3 + .byte W08 + .byte N08 , En2 + .byte W08 + .byte N04 , En3 + .byte W08 + .byte N08 , En2 + .byte W16 + .byte Fn2 + .byte W16 + .byte N04 + .byte W08 + .byte Fn3 + .byte W08 + .byte Ds3 + .byte W08 + .byte N08 , Fn2 + .byte W08 + .byte N04 , Fs2 + .byte W08 + .byte N04 + .byte W16 + .byte Fs3 + .byte W08 + .byte En3 + .byte W08 + .byte Fs2 + .byte W08 + .byte Gn2 + .byte W08 + .byte N04 + .byte W16 + .byte Gn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Gn2 + .byte W04 + .byte En1 + .byte W04 + .byte N96 , Bn2 + .byte W96 + .byte N24 , Gs1 + .byte W64 + .byte N24 + .byte W24 + .byte N08 , Gn1 + .byte W08 + .byte N24 , Fs1 + .byte W64 + .byte N24 + .byte W24 + .byte N08 , Cn2 + .byte W08 + .byte N24 , Cs2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N04 , Bn2 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W32 + .byte Cn3 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N24 , Cn2 + .byte W24 + .byte Cs2 + .byte W64 + .byte N24 + .byte W32 + .byte Gn1 + .byte W64 + .byte N24 + .byte W24 + .byte N08 , Fs1 + .byte W08 + .byte N24 + .byte W96 + .byte PATT + .word mus_granroad_8_002 + .byte PATT + .word mus_granroad_8_003 + .byte GOTO + .word mus_granroad_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_granroad_9: + .byte KEYSH , mus_granroad_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 90*mus_granroad_mvl/mxv + .byte PAN , c_v+0 + .byte W40 + .byte N04 , En1 , v127 + .byte W04 + .byte N04 + .byte W04 + .byte VOICE , 47 + .byte N12 , An1 + .byte W32 + .byte N04 , En2 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N24 , An1 + .byte W32 +mus_granroad_9_000: + .byte N16 , Gn1 , v127 + .byte W32 + .byte N08 , En2 + .byte W16 + .byte N08 + .byte W16 + .byte N24 , Gn1 + .byte W32 + .byte PEND + .byte N12 , Fs1 + .byte W40 + .byte N08 , Fs2 + .byte W08 + .byte N08 + .byte W16 + .byte Fs1 + .byte W08 + .byte N04 , An1 , v064 + .byte W04 + .byte An1 , v072 + .byte W04 + .byte An1 , v084 + .byte W04 + .byte An1 , v092 + .byte W04 + .byte An2 , v100 + .byte W04 + .byte An2 , v127 + .byte W04 + .byte N16 , Fn2 + .byte W32 + .byte N08 + .byte W08 + .byte N04 , Cn3 , v112 + .byte W04 + .byte N04 + .byte W04 + .byte N16 , Gn2 , v127 + .byte W32 + .byte N16 + .byte W16 + .byte N08 , An1 + .byte W08 + .byte N04 , En2 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N32 , An1 + .byte W32 + .byte PATT + .word mus_granroad_9_000 + .byte N16 , Fs1 , v127 + .byte W40 + .byte N04 , Fs2 + .byte W08 + .byte N04 + .byte W16 + .byte N08 , Fs1 + .byte W08 + .byte N04 , An1 , v064 + .byte W04 + .byte An1 , v072 + .byte W04 + .byte An1 , v084 + .byte W04 + .byte An1 , v092 + .byte W04 + .byte An2 , v127 + .byte W04 + .byte N04 + .byte W04 +mus_granroad_9_001: + .byte N04 , Fn2 , v127 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 , An1 + .byte W16 + .byte N04 + .byte W08 + .byte Gn2 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Bn1 + .byte W16 + .byte N08 + .byte W08 + .byte PEND + .byte N64 , Dn1 , v064 + .byte W96 +mus_granroad_9_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W24 + .byte N04 , En2 , v088 + .byte W08 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W08 + .byte N24 , An1 + .byte W48 +mus_granroad_9_002: + .byte W24 + .byte N16 , An2 , v088 + .byte W48 + .byte N16 + .byte W24 + .byte PEND + .byte W24 + .byte N04 , Fs2 + .byte W08 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W08 + .byte N24 , Bn1 + .byte W48 + .byte PATT + .word mus_granroad_9_002 + .byte W96 + .byte W96 + .byte W96 + .byte W08 + .byte N16 , En2 , v127 + .byte W16 + .byte N24 , En1 + .byte W32 + .byte N16 , Fn2 + .byte W16 + .byte N24 , Fn1 + .byte W24 + .byte Fs1 + .byte W40 + .byte N04 + .byte W08 + .byte N24 , Gn1 + .byte W40 + .byte N04 , Fn3 + .byte W04 + .byte N04 + .byte W04 + .byte N96 , En2 + .byte W96 + .byte N12 , Gs1 + .byte W32 + .byte N04 , Ds2 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N32 , Gs1 + .byte W32 + .byte N16 , Fs1 + .byte W32 + .byte N08 , Ds2 + .byte W16 + .byte N08 + .byte W16 + .byte N32 , Fs1 + .byte W32 + .byte N12 , Cs2 + .byte W40 + .byte N04 , Gs2 + .byte W08 + .byte N20 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte N12 , An1 + .byte W32 + .byte N16 , En2 + .byte W16 + .byte N08 + .byte W16 + .byte N32 , An1 + .byte W32 + .byte N16 , Gn1 + .byte W32 + .byte N04 , En2 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N32 , Gn1 + .byte W32 + .byte N12 , Fs1 + .byte W40 + .byte N08 , Fs2 + .byte W08 + .byte N08 + .byte W16 + .byte Fs1 + .byte W08 + .byte N04 , An1 , v072 + .byte W04 + .byte An1 , v080 + .byte W04 + .byte An1 , v092 + .byte W04 + .byte An1 , v104 + .byte W04 + .byte An2 , v116 + .byte W04 + .byte An2 , v127 + .byte W04 + .byte Bn2 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N24 , Bn1 + .byte W24 + .byte N04 , Cn3 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N24 , Cn2 + .byte W24 + .byte N36 , Cs2 + .byte W40 + .byte N04 , Gs2 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N32 , Cs2 + .byte W32 + .byte N16 , Gn1 + .byte W32 + .byte N08 , En2 + .byte W16 + .byte N08 + .byte W16 + .byte N32 , Gn1 + .byte W32 + .byte N16 , Fs1 + .byte W40 + .byte N04 , Fs2 + .byte W08 + .byte N04 + .byte W16 + .byte N32 , Fs1 + .byte W24 + .byte N04 , An2 + .byte W04 + .byte N04 + .byte W04 + .byte PATT + .word mus_granroad_9_001 + .byte N64 , Dn1 , v064 + .byte W96 + .byte GOTO + .word mus_granroad_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_granroad: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_granroad_pri @ Priority + .byte mus_granroad_rev @ Reverb. + + .word mus_granroad_grp + + .word mus_granroad_1 + .word mus_granroad_2 + .word mus_granroad_3 + .word mus_granroad_4 + .word mus_granroad_5 + .word mus_granroad_6 + .word mus_granroad_7 + .word mus_granroad_8 + .word mus_granroad_9 + + .end diff --git a/sound/songs/mus_hageshii.s b/sound/songs/mus_hageshii.s new file mode 100644 index 0000000000..c3f700e8d2 --- /dev/null +++ b/sound/songs/mus_hageshii.s @@ -0,0 +1,1607 @@ + .include "MPlayDef.s" + + .equ mus_hageshii_grp, voicegroup_8686A74 + .equ mus_hageshii_pri, 0 + .equ mus_hageshii_rev, reverb_set+50 + .equ mus_hageshii_mvl, 127 + .equ mus_hageshii_key, 0 + .equ mus_hageshii_tbs, 1 + .equ mus_hageshii_exg, 0 + .equ mus_hageshii_cmp, 1 + + .section .rodata + .global mus_hageshii + .align 2 + +@********************** Track 1 **********************@ + +mus_hageshii_1: + .byte KEYSH , mus_hageshii_key+0 + .byte TEMPO , 140*mus_hageshii_tbs/2 + .byte VOICE , 127 + .byte LFOS , 44 + .byte PAN , c_v+63 + .byte VOL , 50*mus_hageshii_mvl/mxv + .byte W24 +mus_hageshii_1_B1: +mus_hageshii_1_000: + .byte N12 , En4 , v112 + .byte W12 + .byte N06 , En4 , v060 + .byte W12 + .byte N12 , En4 , v112 + .byte W12 + .byte N06 , En4 , v060 + .byte W12 + .byte N12 , En4 , v112 + .byte W12 + .byte N06 , En4 , v060 + .byte W12 + .byte N12 , En4 , v112 + .byte W12 + .byte N06 , En4 , v064 + .byte W12 + .byte PEND +mus_hageshii_1_001: + .byte N12 , En4 , v112 + .byte W12 + .byte N06 , En4 , v060 + .byte W12 + .byte N12 , En4 , v112 + .byte W12 + .byte N06 , En4 , v060 + .byte W12 + .byte N12 , En4 , v112 + .byte W12 + .byte N06 , En4 , v060 + .byte W12 + .byte N12 , En4 , v112 + .byte W24 + .byte PEND + .byte PATT + .word mus_hageshii_1_000 +mus_hageshii_1_002: + .byte W72 + .byte N06 , En4 , v112 + .byte W06 + .byte N06 + .byte W18 + .byte PEND + .byte PATT + .word mus_hageshii_1_000 + .byte PATT + .word mus_hageshii_1_001 + .byte PATT + .word mus_hageshii_1_000 + .byte PATT + .word mus_hageshii_1_002 + .byte GOTO + .word mus_hageshii_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_hageshii_2: + .byte KEYSH , mus_hageshii_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte PAN , c_v+63 + .byte VOL , 67*mus_hageshii_mvl/mxv + .byte W24 +mus_hageshii_2_B1: + .byte W96 + .byte W84 + .byte N12 , Gn4 , v108 + .byte W12 + .byte W96 + .byte W84 + .byte Gn4 , v112 + .byte W12 + .byte W96 + .byte W84 + .byte Gn4 , v108 + .byte W12 + .byte W96 + .byte W84 + .byte Gn4 , v112 + .byte W12 + .byte GOTO + .word mus_hageshii_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_hageshii_3: + .byte KEYSH , mus_hageshii_key+0 + .byte VOICE , 38 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 78*mus_hageshii_mvl/mxv + .byte W24 +mus_hageshii_3_B1: + .byte BEND , c_v-2 + .byte N08 , Fn1 , v112 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N02 , Ds1 + .byte W06 + .byte BEND , c_v-14 + .byte N08 , Cn2 + .byte W03 + .byte BEND , c_v+0 + .byte W03 + .byte MOD , 11 + .byte W06 + .byte N02 , Ds1 + .byte W06 + .byte N08 , Fn1 + .byte W12 + .byte MOD , 2 + .byte N02 , Ds1 + .byte W06 + .byte N08 , Fn1 + .byte W12 + .byte N02 , Ds1 + .byte W06 + .byte BEND , c_v-21 + .byte N08 , Fn1 + .byte W03 + .byte BEND , c_v+14 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N06 , Fn0 + .byte W06 + .byte BEND , c_v-2 + .byte N08 , Fn1 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N02 , Ds1 + .byte W06 + .byte BEND , c_v+18 + .byte N08 , Cn2 + .byte W03 + .byte BEND , c_v+0 + .byte W03 + .byte MOD , 11 + .byte W06 + .byte N02 , Ds1 + .byte W06 + .byte N08 , Fn1 + .byte W12 + .byte MOD , 2 + .byte N02 , Ds1 + .byte W06 + .byte N08 , Fn1 + .byte W12 + .byte N02 , Ds1 + .byte W06 + .byte BEND , c_v+24 + .byte N08 , Fn1 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N06 , Fn0 + .byte W06 + .byte BEND , c_v-2 + .byte N08 , Fn1 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N02 , Ds1 + .byte W06 + .byte BEND , c_v-14 + .byte N08 , Cn1 + .byte W03 + .byte BEND , c_v+0 + .byte W03 + .byte MOD , 11 + .byte W06 + .byte N02 , Ds1 + .byte W06 + .byte N08 , Fn1 + .byte W12 + .byte MOD , 2 + .byte N02 , Ds1 + .byte W06 + .byte N08 , Fn1 + .byte W12 + .byte N02 , Ds1 + .byte W06 + .byte BEND , c_v-21 + .byte N08 , Fn1 + .byte W03 + .byte BEND , c_v+14 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N06 , Fn0 + .byte W06 + .byte BEND , c_v+0 + .byte N06 , Ds1 + .byte W06 + .byte Fn1 + .byte W12 + .byte Ds1 + .byte W06 + .byte Fn1 + .byte W12 + .byte Ds1 + .byte W06 + .byte Fn1 + .byte W12 + .byte Ds1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Ds1 + .byte W06 + .byte Fn1 + .byte W12 + .byte N12 , Gs1 + .byte W03 + .byte BEND , c_v-2 + .byte W02 + .byte c_v-22 + .byte W03 + .byte c_v-44 + .byte W04 + .byte c_v-2 + .byte N08 , Fs1 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N02 , En1 + .byte W06 + .byte BEND , c_v-14 + .byte N08 , Cs2 + .byte W03 + .byte BEND , c_v+0 + .byte W03 + .byte MOD , 11 + .byte W06 + .byte N02 , En1 + .byte W06 + .byte N08 , Fs1 + .byte W12 + .byte MOD , 2 + .byte N02 , En1 + .byte W06 + .byte N08 , Fs1 + .byte W12 + .byte N02 , En1 + .byte W06 + .byte BEND , c_v-21 + .byte N08 , Fs1 + .byte W03 + .byte BEND , c_v+14 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N03 , Cs1 + .byte W06 + .byte N06 , Fs0 + .byte W06 + .byte BEND , c_v-2 + .byte N08 , Fs1 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N02 , En1 + .byte W06 + .byte BEND , c_v+18 + .byte N08 , Cs2 + .byte W03 + .byte BEND , c_v+0 + .byte W03 + .byte MOD , 11 + .byte W06 + .byte N02 , En1 + .byte W06 + .byte N08 , Fs1 + .byte W12 + .byte MOD , 2 + .byte N02 , En1 + .byte W06 + .byte N08 , Fs1 + .byte W12 + .byte N02 , En1 + .byte W06 + .byte BEND , c_v+24 + .byte N08 , Fs1 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N03 , Cs1 + .byte W06 + .byte N06 , Fs0 + .byte W06 + .byte BEND , c_v-2 + .byte N08 , Fs1 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N02 , En1 + .byte W06 + .byte BEND , c_v-14 + .byte N08 , Cs1 + .byte W03 + .byte BEND , c_v+0 + .byte W03 + .byte MOD , 11 + .byte W06 + .byte N02 , En1 + .byte W06 + .byte N08 , Fs1 + .byte W12 + .byte MOD , 2 + .byte N02 , En1 + .byte W06 + .byte N08 , Fs1 + .byte W12 + .byte N02 , En1 + .byte W06 + .byte BEND , c_v-21 + .byte N08 , Fs1 + .byte W03 + .byte BEND , c_v+14 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N03 , Cs1 + .byte W06 + .byte N06 , Fs0 + .byte W06 + .byte BEND , c_v+0 + .byte N06 , En1 + .byte W06 + .byte Fs1 + .byte W12 + .byte En1 + .byte W06 + .byte Fs1 + .byte W12 + .byte En1 + .byte W06 + .byte Fs1 + .byte W12 + .byte En1 + .byte W06 + .byte Fs1 + .byte W06 + .byte En1 + .byte W06 + .byte Fs1 + .byte W12 + .byte N12 , An1 + .byte W03 + .byte BEND , c_v-2 + .byte W02 + .byte c_v-22 + .byte W03 + .byte c_v-44 + .byte W04 + .byte GOTO + .word mus_hageshii_3_B1 + .byte BEND , c_v+0 + .byte FINE + +@********************** Track 4 **********************@ + +mus_hageshii_4: + .byte KEYSH , mus_hageshii_key+0 + .byte VOICE , 56 + .byte LFOS , 70 + .byte VOL , 68*mus_hageshii_mvl/mxv + .byte PAN , c_v-30 + .byte W18 + .byte BENDR , 12 + .byte W06 +mus_hageshii_4_B1: + .byte VOL , 68*mus_hageshii_mvl/mxv + .byte BEND , c_v+0 + .byte N36 , Gs2 , v112 + .byte W18 + .byte BEND , c_v-18 + .byte W02 + .byte c_v-40 + .byte W04 + .byte MOD , 16 + .byte BEND , c_v-64 + .byte W12 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte W06 + .byte N09 , Cn2 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds2 + .byte W12 + .byte N03 , En2 + .byte W06 + .byte En2 , v072 + .byte W06 + .byte N06 , Fn2 , v112 + .byte W06 + .byte Gn2 + .byte W06 + .byte BEND , c_v-64 + .byte N36 , Gs2 + .byte W24 + .byte MOD , 16 + .byte BEND , c_v+0 + .byte W12 + .byte MOD , 0 + .byte W06 + .byte N09 , Cn2 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Ds2 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte En2 , v092 + .byte W06 + .byte N06 , Fn2 , v112 + .byte W06 + .byte Gn2 + .byte W06 + .byte BEND , c_v+0 + .byte N06 , Cn2 + .byte W06 + .byte N03 , Cn2 , v064 + .byte W06 + .byte Cn2 , v080 + .byte W06 + .byte Cn2 , v064 + .byte W06 + .byte BEND , c_v-16 + .byte N18 , Gs2 , v112 + .byte W03 + .byte BEND , c_v+0 + .byte W03 + .byte MOD , 16 + .byte W06 + .byte 0 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte N06 , Ds2 + .byte W12 + .byte N03 , En2 + .byte W06 + .byte En2 , v072 + .byte W06 + .byte N06 , Fn2 , v112 + .byte W06 + .byte Gn2 + .byte W06 + .byte BEND , c_v+0 + .byte N06 + .byte W06 + .byte Gs2 + .byte W12 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W12 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W12 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W12 + .byte VOL , 65*mus_hageshii_mvl/mxv + .byte N06 , Gn2 + .byte W02 + .byte VOL , 58*mus_hageshii_mvl/mxv + .byte W03 + .byte 51*mus_hageshii_mvl/mxv + .byte W01 + .byte N06 , Gs2 + .byte W02 + .byte VOL , 47*mus_hageshii_mvl/mxv + .byte W04 + .byte 40*mus_hageshii_mvl/mxv + .byte N12 , Fn2 + .byte W02 + .byte VOL , 25*mus_hageshii_mvl/mxv + .byte W03 + .byte 1*mus_hageshii_mvl/mxv + .byte W04 + .byte BEND , c_v-62 + .byte W03 + .byte VOL , 68*mus_hageshii_mvl/mxv + .byte BEND , c_v+0 + .byte N36 , An2 + .byte W18 + .byte BEND , c_v-18 + .byte W02 + .byte c_v-40 + .byte W04 + .byte MOD , 16 + .byte BEND , c_v-64 + .byte W12 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte W06 + .byte N09 , Cs2 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En2 + .byte W12 + .byte VOL , 68*mus_hageshii_mvl/mxv + .byte N03 , Fn2 + .byte W06 + .byte Fn2 , v072 + .byte W06 + .byte N06 , Fs2 , v112 + .byte W06 + .byte Gs2 + .byte W06 + .byte BEND , c_v-64 + .byte N36 , An2 + .byte W24 + .byte MOD , 16 + .byte BEND , c_v+0 + .byte W12 + .byte MOD , 0 + .byte W06 + .byte N09 , Cs2 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , En2 + .byte W12 + .byte N03 , Fs2 + .byte W06 + .byte Fn2 , v092 + .byte W06 + .byte N06 , Fs2 , v112 + .byte W06 + .byte Gs2 + .byte W06 + .byte BEND , c_v+0 + .byte N06 , Cs2 + .byte W06 + .byte N03 , Cs2 , v064 + .byte W06 + .byte Cs2 , v080 + .byte W06 + .byte Cs2 , v064 + .byte W06 + .byte BEND , c_v-16 + .byte N18 , An2 , v112 + .byte W03 + .byte BEND , c_v+0 + .byte W03 + .byte MOD , 16 + .byte W06 + .byte 0 + .byte W06 + .byte N03 , Fs2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte N06 , En2 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte Fn2 , v072 + .byte W06 + .byte N06 , Fs2 , v112 + .byte W06 + .byte Gs2 + .byte W06 + .byte BEND , c_v+0 + .byte N06 + .byte W06 + .byte An2 + .byte W12 + .byte Gs2 + .byte W06 + .byte An2 + .byte W12 + .byte Gs2 + .byte W06 + .byte An2 + .byte W12 + .byte Gs2 + .byte W06 + .byte An2 + .byte W12 + .byte VOL , 65*mus_hageshii_mvl/mxv + .byte N06 , Gs2 + .byte W02 + .byte VOL , 58*mus_hageshii_mvl/mxv + .byte W03 + .byte 51*mus_hageshii_mvl/mxv + .byte W01 + .byte N06 , An2 + .byte W02 + .byte VOL , 47*mus_hageshii_mvl/mxv + .byte W04 + .byte 40*mus_hageshii_mvl/mxv + .byte N12 , Fs2 + .byte W02 + .byte VOL , 25*mus_hageshii_mvl/mxv + .byte W03 + .byte 1*mus_hageshii_mvl/mxv + .byte W04 + .byte BEND , c_v-62 + .byte W03 + .byte GOTO + .word mus_hageshii_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_hageshii_5: + .byte KEYSH , mus_hageshii_key+0 + .byte VOICE , 83 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte PAN , c_v-62 + .byte VOL , 53*mus_hageshii_mvl/mxv + .byte BEND , c_v+0 + .byte W18 + .byte BENDR , 12 + .byte W06 +mus_hageshii_5_B1: + .byte BEND , c_v+0 + .byte N03 , Fn3 , v112 + .byte W06 + .byte Fn3 , v052 + .byte W06 + .byte Ds3 , v096 + .byte W06 + .byte Fn3 , v040 + .byte W06 + .byte Fn3 , v112 + .byte W12 + .byte Fn3 , v088 + .byte W06 + .byte Fn3 , v040 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v052 + .byte W06 + .byte Ds3 , v096 + .byte W06 + .byte Fn3 , v044 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v052 + .byte W06 + .byte Fn3 , v076 + .byte W06 + .byte Fn3 , v044 + .byte W06 + .byte N04 , Fn3 , v112 + .byte W04 + .byte N01 , Fn3 , v084 + .byte W04 + .byte N01 + .byte W04 + .byte N03 , Ds3 , v112 + .byte W06 + .byte Fn3 + .byte W06 + .byte N03 + .byte W12 + .byte Fn3 , v088 + .byte W06 + .byte Fn3 , v040 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v052 + .byte W06 + .byte Ds3 , v096 + .byte W06 + .byte Fn3 , v044 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v056 + .byte W06 + .byte Ds3 , v100 + .byte W06 + .byte Fn3 , v044 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v052 + .byte W06 + .byte Ds3 , v096 + .byte W06 + .byte Fn3 , v040 + .byte W06 + .byte Fn3 , v112 + .byte W12 + .byte Fn3 , v088 + .byte W06 + .byte Fn3 , v040 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v052 + .byte W06 + .byte Ds3 , v096 + .byte W06 + .byte Fn3 , v044 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v052 + .byte W06 + .byte Fn3 , v076 + .byte W06 + .byte Fn3 , v044 + .byte W06 + .byte N96 , Fn5 , v092 + .byte W03 + .byte BEND , c_v-2 + .byte W03 + .byte c_v-4 + .byte W09 + .byte c_v-5 + .byte W06 + .byte c_v-7 + .byte W09 + .byte c_v-8 + .byte W15 + .byte c_v-12 + .byte W09 + .byte c_v-13 + .byte W09 + .byte c_v-16 + .byte W06 + .byte c_v-16 + .byte W03 + .byte c_v-24 + .byte W06 + .byte c_v-26 + .byte W06 + .byte c_v-31 + .byte W06 + .byte c_v-39 + .byte W03 + .byte c_v-50 + .byte W03 + .byte c_v+0 + .byte N03 , Fs3 , v112 + .byte W06 + .byte Fs3 , v052 + .byte W06 + .byte En3 , v096 + .byte W06 + .byte Fs3 , v040 + .byte W06 + .byte Fs3 , v112 + .byte W12 + .byte Fs3 , v088 + .byte W06 + .byte Fs3 , v040 + .byte W06 + .byte Fs3 , v112 + .byte W06 + .byte Fs3 , v052 + .byte W06 + .byte En3 , v096 + .byte W06 + .byte Fs3 , v044 + .byte W06 + .byte Fs3 , v112 + .byte W06 + .byte Fs3 , v052 + .byte W06 + .byte Fs3 , v076 + .byte W06 + .byte Fs3 , v044 + .byte W06 + .byte N04 , Fs3 , v112 + .byte W04 + .byte N01 , Fs3 , v084 + .byte W04 + .byte N01 + .byte W04 + .byte N03 , En3 , v112 + .byte W06 + .byte Fs3 + .byte W06 + .byte N03 + .byte W12 + .byte Fs3 , v088 + .byte W06 + .byte Fs3 , v040 + .byte W06 + .byte Fs3 , v112 + .byte W06 + .byte Fs3 , v052 + .byte W06 + .byte En3 , v096 + .byte W06 + .byte Fs3 , v044 + .byte W06 + .byte Fs3 , v112 + .byte W06 + .byte Fs3 , v056 + .byte W06 + .byte En3 , v100 + .byte W06 + .byte Fs3 , v044 + .byte W06 + .byte Fs3 , v112 + .byte W06 + .byte Fs3 , v052 + .byte W06 + .byte En3 , v096 + .byte W06 + .byte Fs3 , v040 + .byte W06 + .byte Fs3 , v112 + .byte W12 + .byte Fs3 , v088 + .byte W06 + .byte Fs3 , v040 + .byte W06 + .byte Fs3 , v112 + .byte W06 + .byte Fs3 , v052 + .byte W06 + .byte En3 , v096 + .byte W06 + .byte Fs3 , v044 + .byte W06 + .byte Fs3 , v112 + .byte W06 + .byte Fs3 , v052 + .byte W06 + .byte Fs3 , v076 + .byte W06 + .byte Fs3 , v044 + .byte W06 + .byte N96 , Fs5 , v092 + .byte W03 + .byte BEND , c_v-2 + .byte W03 + .byte c_v-4 + .byte W09 + .byte c_v-5 + .byte W06 + .byte c_v-7 + .byte W09 + .byte c_v-8 + .byte W15 + .byte c_v-12 + .byte W09 + .byte c_v-13 + .byte W09 + .byte c_v-16 + .byte W06 + .byte c_v-16 + .byte W03 + .byte c_v-24 + .byte W06 + .byte c_v-26 + .byte W06 + .byte c_v-31 + .byte W06 + .byte c_v-39 + .byte W03 + .byte c_v-50 + .byte W03 + .byte GOTO + .word mus_hageshii_5_B1 + .byte BEND , c_v+0 + .byte FINE + +@********************** Track 6 **********************@ + +mus_hageshii_6: + .byte KEYSH , mus_hageshii_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte PAN , c_v+63 + .byte VOL , 37*mus_hageshii_mvl/mxv + .byte BENDR , 12 + .byte BEND , c_v+2 + .byte W24 +mus_hageshii_6_B1: + .byte BEND , c_v+2 + .byte N36 , Fn3 , v112 + .byte W18 + .byte BEND , c_v-18 + .byte W02 + .byte c_v-40 + .byte W04 + .byte MOD , 11 + .byte BEND , c_v-63 + .byte W12 + .byte c_v+1 + .byte W06 + .byte N09 , Gs2 + .byte W06 + .byte MOD , 2 + .byte BEND , c_v+2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As2 + .byte W12 + .byte N03 , Bn2 + .byte W06 + .byte Bn2 , v072 + .byte W06 + .byte N06 , Cn3 , v112 + .byte W06 + .byte Ds3 + .byte W06 + .byte BEND , c_v-64 + .byte N36 , Fn3 + .byte W24 + .byte BEND , c_v+2 + .byte W18 + .byte N09 , Gs2 + .byte W06 + .byte BEND , c_v+1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As2 + .byte W12 + .byte N03 , Cn3 + .byte W06 + .byte Bn2 , v092 + .byte W06 + .byte N06 , Cn3 , v112 + .byte W06 + .byte Ds3 + .byte W06 + .byte BEND , c_v+2 + .byte N06 , Fn2 + .byte W06 + .byte N03 , Fn2 , v064 + .byte W06 + .byte Fn2 , v092 + .byte W06 + .byte Fn2 , v064 + .byte W06 + .byte MOD , 11 + .byte BEND , c_v-14 + .byte N18 , Fn3 , v112 + .byte W03 + .byte BEND , c_v+2 + .byte W15 + .byte N03 , Cn3 + .byte W06 + .byte MOD , 2 + .byte N03 , Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N06 , As2 + .byte W12 + .byte N03 , Bn2 + .byte W06 + .byte Bn2 , v072 + .byte W06 + .byte N06 , Cn3 , v112 + .byte W06 + .byte Ds3 + .byte W06 + .byte BEND , c_v+2 + .byte N06 + .byte W06 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W06 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W06 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W06 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , Gs2 + .byte W06 + .byte BEND , c_v-64 + .byte W06 + .byte c_v+2 + .byte N36 , Fs3 + .byte W18 + .byte BEND , c_v-18 + .byte W02 + .byte c_v-40 + .byte W04 + .byte MOD , 11 + .byte BEND , c_v-63 + .byte W12 + .byte c_v+1 + .byte W06 + .byte N09 , An2 + .byte W06 + .byte MOD , 2 + .byte BEND , c_v+2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Bn2 + .byte W12 + .byte N03 , Cn3 + .byte W06 + .byte Cn3 , v072 + .byte W06 + .byte N06 , Cs3 , v112 + .byte W06 + .byte En3 + .byte W06 + .byte BEND , c_v-64 + .byte N36 , Fs3 + .byte W24 + .byte BEND , c_v+2 + .byte W18 + .byte N09 , An2 + .byte W06 + .byte BEND , c_v+1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Bn2 + .byte W12 + .byte N03 , Cs3 + .byte W06 + .byte Cn3 , v092 + .byte W06 + .byte N06 , Cs3 , v112 + .byte W06 + .byte En3 + .byte W06 + .byte BEND , c_v+2 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Fs2 , v064 + .byte W06 + .byte Fs2 , v092 + .byte W06 + .byte Fs2 , v064 + .byte W06 + .byte MOD , 11 + .byte BEND , c_v-14 + .byte N18 , Fs3 , v112 + .byte W03 + .byte BEND , c_v+2 + .byte W15 + .byte N03 , Cs3 + .byte W06 + .byte MOD , 2 + .byte N03 , Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte N06 , Bn2 + .byte W12 + .byte N03 , Cn3 + .byte W06 + .byte Cn3 , v072 + .byte W06 + .byte N06 , Cs3 , v112 + .byte W06 + .byte En3 + .byte W06 + .byte BEND , c_v+2 + .byte N06 + .byte W06 + .byte Fs3 + .byte W12 + .byte En3 + .byte W06 + .byte Fs3 + .byte W12 + .byte En3 + .byte W06 + .byte Fs3 + .byte W12 + .byte En3 + .byte W06 + .byte Fs3 + .byte W12 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N12 , An2 + .byte W06 + .byte BEND , c_v-64 + .byte W06 + .byte GOTO + .word mus_hageshii_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_hageshii_7: + .byte KEYSH , mus_hageshii_key+0 + .byte VOICE , 0 + .byte VOL , 76*mus_hageshii_mvl/mxv + .byte N04 , En1 , v112 + .byte N04 , Fs2 + .byte W04 + .byte En1 , v084 + .byte N04 , Fs2 , v052 + .byte W04 + .byte En1 , v084 + .byte N04 , Fs2 , v052 + .byte W04 + .byte N06 , Dn1 , v112 + .byte N06 , Fs2 , v076 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v044 + .byte W06 +mus_hageshii_7_B1: +mus_hageshii_7_000: + .byte N06 , Cn1 , v112 + .byte N06 , Fs2 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Fs2 , v076 + .byte W06 + .byte Fs2 , v044 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte N06 , Fs2 , v076 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v044 + .byte W06 + .byte Fs2 , v112 + .byte W06 + .byte Cn1 + .byte N06 , Fs2 , v048 + .byte W06 + .byte Cn1 , v084 + .byte N06 , Fs2 , v076 + .byte W06 + .byte Fs2 , v044 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 + .byte W06 + .byte Cn1 + .byte N06 , Fs2 , v048 + .byte W06 + .byte Cn1 , v072 + .byte N06 , Fs2 , v076 + .byte W06 + .byte Fs2 , v044 + .byte W06 + .byte PEND +mus_hageshii_7_001: + .byte N06 , Cn1 , v112 + .byte N06 , Fs2 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Fs2 , v076 + .byte W06 + .byte Fs2 , v044 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte N06 , Fs2 , v076 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v044 + .byte W06 + .byte Fs2 , v112 + .byte W06 + .byte Cn1 + .byte N06 , Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte N06 , Fs2 , v076 + .byte W06 + .byte Fs2 , v044 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Cn1 , v084 + .byte N06 , Fs2 , v076 + .byte W06 + .byte Fs2 , v044 + .byte W06 + .byte PEND +mus_hageshii_7_002: + .byte N06 , Cn1 , v112 + .byte N06 , Fs2 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Fs2 , v076 + .byte W06 + .byte Fs2 , v044 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Cn1 , v112 + .byte N06 , Fs2 , v076 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v044 + .byte W06 + .byte Fs2 , v112 + .byte W06 + .byte Cn1 + .byte N06 , Fs2 , v048 + .byte W06 + .byte Cn1 , v084 + .byte N06 , Fs2 , v076 + .byte W06 + .byte Fs2 , v044 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 + .byte W06 + .byte Cn1 + .byte N06 , Fs2 , v048 + .byte W06 + .byte Dn1 , v120 + .byte N06 , Fs2 , v076 + .byte W06 + .byte Fs2 , v044 + .byte W06 + .byte PEND +mus_hageshii_7_003: + .byte N06 , Cn1 , v112 + .byte W06 + .byte Dn1 + .byte N18 , An2 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte Dn1 + .byte N18 , An2 , v080 + .byte W12 + .byte N06 , Cn1 , v112 + .byte W06 + .byte Dn1 + .byte N18 , An2 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte Dn1 + .byte N12 , An2 , v080 + .byte W06 + .byte N06 , Cn1 + .byte W06 + .byte Fs1 , v112 + .byte N24 , An2 + .byte W06 + .byte N06 , Fs1 , v080 + .byte W06 + .byte N12 , As1 , v112 + .byte W12 + .byte PEND + .byte PATT + .word mus_hageshii_7_000 + .byte PATT + .word mus_hageshii_7_001 + .byte PATT + .word mus_hageshii_7_002 + .byte PATT + .word mus_hageshii_7_003 + .byte GOTO + .word mus_hageshii_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_hageshii_8: + .byte KEYSH , mus_hageshii_key+0 + .byte VOICE , 29 + .byte BENDR , 12 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte PAN , c_v+0 + .byte VOL , 70*mus_hageshii_mvl/mxv + .byte W24 +mus_hageshii_8_B1: + .byte BEND , c_v+0 + .byte N36 , Fn2 , v112 + .byte W18 + .byte BEND , c_v-18 + .byte W02 + .byte c_v-40 + .byte W04 + .byte MOD , 11 + .byte BEND , c_v-63 + .byte W12 + .byte c_v+0 + .byte W06 + .byte N09 , Gs1 + .byte W06 + .byte MOD , 2 + .byte BEND , c_v+0 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As1 + .byte W12 + .byte N03 , Bn1 + .byte W06 + .byte Bn1 , v072 + .byte W06 + .byte N06 , Cn2 , v112 + .byte W06 + .byte Ds2 + .byte W06 + .byte BEND , c_v-64 + .byte N36 , Fn2 + .byte W24 + .byte MOD , 11 + .byte BEND , c_v+0 + .byte W18 + .byte N09 , Gs1 + .byte W06 + .byte MOD , 2 + .byte BEND , c_v+0 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As1 + .byte W12 + .byte N03 , Cn2 + .byte W06 + .byte Bn1 , v092 + .byte W06 + .byte N06 , Cn2 , v112 + .byte W06 + .byte Ds2 + .byte W06 + .byte BEND , c_v+0 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Fn1 , v064 + .byte W06 + .byte Fn1 , v092 + .byte W06 + .byte Fn1 , v064 + .byte W06 + .byte MOD , 11 + .byte BEND , c_v-14 + .byte N18 , Fn2 , v112 + .byte W03 + .byte BEND , c_v+0 + .byte W15 + .byte N03 , Cn2 + .byte W06 + .byte MOD , 2 + .byte N03 , Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte N06 , As1 + .byte W12 + .byte N03 , Bn1 + .byte W06 + .byte Bn1 , v072 + .byte W06 + .byte N06 , Cn2 , v112 + .byte W06 + .byte Ds2 + .byte W06 + .byte BEND , c_v+0 + .byte N06 + .byte W06 + .byte Fn2 + .byte W12 + .byte Ds2 + .byte W06 + .byte Fn2 + .byte W12 + .byte Ds2 + .byte W06 + .byte Fn2 + .byte W12 + .byte Ds2 + .byte W06 + .byte Fn2 + .byte W12 + .byte Ds2 + .byte W06 + .byte Fn2 + .byte W06 + .byte N12 , Gs1 + .byte W06 + .byte BEND , c_v-64 + .byte W06 + .byte c_v+0 + .byte N36 , Fs2 + .byte W18 + .byte BEND , c_v-18 + .byte W02 + .byte c_v-40 + .byte W04 + .byte MOD , 11 + .byte BEND , c_v-63 + .byte W12 + .byte c_v+0 + .byte W06 + .byte N09 , An1 + .byte W06 + .byte MOD , 2 + .byte BEND , c_v+0 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Bn1 + .byte W12 + .byte N03 , Cn2 + .byte W06 + .byte Cn2 , v072 + .byte W06 + .byte N06 , Cs2 , v112 + .byte W06 + .byte En2 + .byte W06 + .byte BEND , c_v-64 + .byte N36 , Fs2 + .byte W24 + .byte MOD , 11 + .byte BEND , c_v+0 + .byte W18 + .byte N09 , An1 + .byte W06 + .byte MOD , 2 + .byte BEND , c_v+0 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Bn1 + .byte W12 + .byte N03 , Cs2 + .byte W06 + .byte Cn2 , v092 + .byte W06 + .byte N06 , Cs2 , v112 + .byte W06 + .byte En2 + .byte W06 + .byte BEND , c_v+0 + .byte N06 , Fs1 + .byte W06 + .byte N03 , Fs1 , v064 + .byte W06 + .byte Fs1 , v092 + .byte W06 + .byte Fs1 , v064 + .byte W06 + .byte MOD , 11 + .byte BEND , c_v-14 + .byte N18 , Fs2 , v112 + .byte W03 + .byte BEND , c_v+0 + .byte W15 + .byte N03 , Cs2 + .byte W06 + .byte MOD , 2 + .byte N03 , Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte N06 , Bn1 + .byte W12 + .byte N03 , Cn2 + .byte W06 + .byte Cn2 , v072 + .byte W06 + .byte N06 , Cs2 , v112 + .byte W06 + .byte En2 + .byte W06 + .byte BEND , c_v+0 + .byte N06 + .byte W06 + .byte Fs2 + .byte W12 + .byte En2 + .byte W06 + .byte Fs2 + .byte W12 + .byte En2 + .byte W06 + .byte Fs2 + .byte W12 + .byte En2 + .byte W06 + .byte Fs2 + .byte W12 + .byte En2 + .byte W06 + .byte Fs2 + .byte W06 + .byte N12 , An1 + .byte W06 + .byte BEND , c_v-64 + .byte W06 + .byte GOTO + .word mus_hageshii_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_hageshii: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_hageshii_pri @ Priority + .byte mus_hageshii_rev @ Reverb. + + .word mus_hageshii_grp + + .word mus_hageshii_1 + .word mus_hageshii_2 + .word mus_hageshii_3 + .word mus_hageshii_4 + .word mus_hageshii_5 + .word mus_hageshii_6 + .word mus_hageshii_7 + .word mus_hageshii_8 + + .end diff --git a/sound/songs/mus_hideri.s b/sound/songs/mus_hideri.s new file mode 100644 index 0000000000..6064d60702 --- /dev/null +++ b/sound/songs/mus_hideri.s @@ -0,0 +1,562 @@ + .include "MPlayDef.s" + + .equ mus_hideri_grp, voicegroup_8690A7C + .equ mus_hideri_pri, 0 + .equ mus_hideri_rev, reverb_set+50 + .equ mus_hideri_mvl, 127 + .equ mus_hideri_key, 0 + .equ mus_hideri_tbs, 1 + .equ mus_hideri_exg, 0 + .equ mus_hideri_cmp, 1 + + .section .rodata + .global mus_hideri + .align 2 + +@********************** Track 1 **********************@ + +mus_hideri_1: + .byte KEYSH , mus_hideri_key+0 +mus_hideri_1_B1: + .byte TEMPO , 78*mus_hideri_tbs/2 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-64 + .byte VOL , 39*mus_hideri_mvl/mxv + .byte BEND , c_v+2 + .byte N03 , Ds6 , v112 + .byte W12 + .byte Fs5 , v064 + .byte W12 + .byte An5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Ds6 + .byte W12 + .byte Fs5 + .byte W12 + .byte An5 + .byte W12 + .byte Fs5 + .byte W12 +mus_hideri_1_000: + .byte N03 , Ds6 , v096 + .byte W12 + .byte Fs5 , v064 + .byte W12 + .byte An5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Ds6 + .byte W12 + .byte Fs5 + .byte W12 + .byte An5 + .byte W12 + .byte Fs5 + .byte W12 + .byte PEND +mus_hideri_1_001: + .byte N03 , Fn6 , v096 + .byte W12 + .byte Gs5 , v064 + .byte W12 + .byte Bn5 + .byte W12 + .byte Gs5 + .byte W12 + .byte Fn6 + .byte W12 + .byte Gs5 + .byte W12 + .byte Bn5 + .byte W12 + .byte Gs5 + .byte W12 + .byte PEND + .byte PATT + .word mus_hideri_1_001 + .byte PATT + .word mus_hideri_1_000 + .byte PATT + .word mus_hideri_1_000 + .byte PATT + .word mus_hideri_1_001 + .byte PATT + .word mus_hideri_1_001 +mus_hideri_1_002: + .byte N03 , Ds6 , v096 + .byte W09 + .byte Ds6 , v064 + .byte W03 + .byte Fs5 + .byte W09 + .byte N03 + .byte W03 + .byte An5 + .byte W09 + .byte N03 + .byte W03 + .byte Fs5 + .byte W09 + .byte N03 + .byte W03 + .byte Ds6 + .byte W09 + .byte N03 + .byte W03 + .byte Fs5 + .byte W09 + .byte N03 + .byte W03 + .byte An5 + .byte W09 + .byte N03 + .byte W03 + .byte Fs5 + .byte W09 + .byte N03 + .byte W03 + .byte PEND + .byte PATT + .word mus_hideri_1_002 +mus_hideri_1_003: + .byte N03 , Fn6 , v096 + .byte W09 + .byte Fn6 , v064 + .byte W03 + .byte Gs5 + .byte W09 + .byte N03 + .byte W03 + .byte Bn5 + .byte W09 + .byte N03 + .byte W03 + .byte Gs5 + .byte W09 + .byte N03 + .byte W03 + .byte Fn6 + .byte W09 + .byte N03 + .byte W03 + .byte Gs5 + .byte W09 + .byte N03 + .byte W03 + .byte Bn5 + .byte W09 + .byte N03 + .byte W03 + .byte Gs5 + .byte W09 + .byte N03 + .byte W03 + .byte PEND + .byte PATT + .word mus_hideri_1_003 + .byte PATT + .word mus_hideri_1_002 + .byte PATT + .word mus_hideri_1_002 + .byte PATT + .word mus_hideri_1_003 + .byte PATT + .word mus_hideri_1_003 + .byte GOTO + .word mus_hideri_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_hideri_2: + .byte KEYSH , mus_hideri_key+0 +mus_hideri_2_B1: + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 39*mus_hideri_mvl/mxv + .byte N03 , Ds6 , v112 + .byte W12 + .byte Fs5 , v064 + .byte W12 + .byte An5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Ds6 + .byte W12 + .byte Fs5 + .byte W12 + .byte An5 + .byte W12 + .byte Fs5 + .byte W12 +mus_hideri_2_000: + .byte N03 , Ds6 , v096 + .byte W12 + .byte Fs5 , v064 + .byte W12 + .byte An5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Ds6 + .byte W12 + .byte Fs5 + .byte W12 + .byte An5 + .byte W12 + .byte Fs5 + .byte W12 + .byte PEND +mus_hideri_2_001: + .byte N03 , Fn6 , v096 + .byte W12 + .byte Gs5 , v064 + .byte W12 + .byte Bn5 + .byte W12 + .byte Gs5 + .byte W12 + .byte Fn6 + .byte W12 + .byte Gs5 + .byte W12 + .byte Bn5 + .byte W12 + .byte Gs5 + .byte W12 + .byte PEND + .byte PATT + .word mus_hideri_2_001 + .byte BEND , c_v-2 + .byte N03 , Ds6 , v096 + .byte W12 + .byte Fs5 , v064 + .byte W12 + .byte An5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Ds6 + .byte W12 + .byte Fs5 + .byte W12 + .byte An5 + .byte W12 + .byte Fs5 + .byte W12 + .byte PATT + .word mus_hideri_2_000 + .byte PATT + .word mus_hideri_2_001 + .byte PATT + .word mus_hideri_2_001 +mus_hideri_2_002: + .byte N03 , Ds6 , v096 + .byte W09 + .byte Ds6 , v064 + .byte W03 + .byte Fs5 + .byte W09 + .byte N03 + .byte W03 + .byte An5 + .byte W09 + .byte N03 + .byte W03 + .byte Fs5 + .byte W09 + .byte N03 + .byte W03 + .byte Ds6 + .byte W09 + .byte N03 + .byte W03 + .byte Fs5 + .byte W09 + .byte N03 + .byte W03 + .byte An5 + .byte W09 + .byte N03 + .byte W03 + .byte Fs5 + .byte W09 + .byte N03 + .byte W03 + .byte PEND + .byte PATT + .word mus_hideri_2_002 +mus_hideri_2_003: + .byte N03 , Fn6 , v096 + .byte W09 + .byte Fn6 , v064 + .byte W03 + .byte Gs5 + .byte W09 + .byte N03 + .byte W03 + .byte Bn5 + .byte W09 + .byte N03 + .byte W03 + .byte Gs5 + .byte W09 + .byte N03 + .byte W03 + .byte Fn6 + .byte W09 + .byte N03 + .byte W03 + .byte Gs5 + .byte W09 + .byte N03 + .byte W03 + .byte Bn5 + .byte W09 + .byte N03 + .byte W03 + .byte Gs5 + .byte W09 + .byte N03 + .byte W03 + .byte PEND + .byte PATT + .word mus_hideri_2_003 +mus_hideri_2_004: + .byte W02 + .byte N03 , Ds6 , v096 + .byte W09 + .byte Ds6 , v064 + .byte W03 + .byte Fs5 + .byte W09 + .byte N03 + .byte W03 + .byte An5 + .byte W09 + .byte N03 + .byte W03 + .byte Fs5 + .byte W09 + .byte N03 + .byte W03 + .byte Ds6 + .byte W09 + .byte N03 + .byte W03 + .byte Fs5 + .byte W09 + .byte N03 + .byte W03 + .byte An5 + .byte W09 + .byte N03 + .byte W03 + .byte Fs5 + .byte W09 + .byte N03 + .byte W01 + .byte PEND + .byte PATT + .word mus_hideri_2_004 + .byte W02 + .byte N03 , Fn6 , v096 + .byte W09 + .byte Fn6 , v064 + .byte W03 + .byte Gs5 + .byte W09 + .byte N03 + .byte W03 + .byte Bn5 + .byte W09 + .byte N03 + .byte W03 + .byte Gs5 + .byte W09 + .byte N03 + .byte W03 + .byte Fn6 + .byte W09 + .byte N03 + .byte W03 + .byte Gs5 + .byte W09 + .byte N03 + .byte W03 + .byte Bn5 + .byte W09 + .byte N03 + .byte W03 + .byte Gs5 + .byte W09 + .byte N03 + .byte W01 + .byte W02 + .byte Fn6 , v096 + .byte W09 + .byte Fn6 , v064 + .byte W03 + .byte Gs5 + .byte W09 + .byte N03 + .byte W03 + .byte Bn5 + .byte W09 + .byte N03 + .byte W03 + .byte Gs5 + .byte W09 + .byte N03 + .byte W03 + .byte Fn6 + .byte W09 + .byte N03 + .byte W03 + .byte Gs5 + .byte W09 + .byte N03 + .byte W03 + .byte Bn5 + .byte W09 + .byte N03 + .byte W03 + .byte Gs5 + .byte W10 + .byte GOTO + .word mus_hideri_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_hideri_3: + .byte KEYSH , mus_hideri_key+0 +mus_hideri_3_B1: + .byte VOICE , 82 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 50*mus_hideri_mvl/mxv + .byte N92 , Dn1 , v064 + .byte W48 + .byte MOD , 6 + .byte W24 + .byte 6 + .byte W20 + .byte N02 , Cn1 + .byte W02 + .byte Cs1 + .byte W02 +mus_hideri_3_000: + .byte MOD , 0 + .byte N92 , Dn1 , v064 + .byte W48 + .byte MOD , 6 + .byte W24 + .byte 6 + .byte W20 + .byte 0 + .byte N04 , Ds1 + .byte W04 + .byte PEND +mus_hideri_3_001: + .byte MOD , 0 + .byte N92 , En1 , v064 + .byte W48 + .byte MOD , 6 + .byte W24 + .byte 6 + .byte W20 + .byte 0 + .byte N02 , Fs1 + .byte W02 + .byte Fn1 + .byte W02 + .byte PEND +mus_hideri_3_002: + .byte MOD , 0 + .byte N44 , En1 , v064 + .byte W24 + .byte MOD , 6 + .byte W20 + .byte 0 + .byte N02 , Dn1 + .byte W02 + .byte Ds1 + .byte W02 + .byte MOD , 0 + .byte N48 , En1 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte PEND +mus_hideri_3_003: + .byte MOD , 0 + .byte N92 , Dn1 , v064 + .byte W48 + .byte MOD , 6 + .byte W24 + .byte 6 + .byte W20 + .byte N02 , Cn1 + .byte W02 + .byte Cs1 + .byte W02 + .byte PEND + .byte PATT + .word mus_hideri_3_000 + .byte PATT + .word mus_hideri_3_001 + .byte PATT + .word mus_hideri_3_002 + .byte PATT + .word mus_hideri_3_003 + .byte PATT + .word mus_hideri_3_000 + .byte PATT + .word mus_hideri_3_001 + .byte PATT + .word mus_hideri_3_002 + .byte PATT + .word mus_hideri_3_003 + .byte PATT + .word mus_hideri_3_000 + .byte PATT + .word mus_hideri_3_001 + .byte PATT + .word mus_hideri_3_002 + .byte GOTO + .word mus_hideri_3_B1 + .byte MOD , 0 + .byte FINE + +@******************************************************@ + .align 2 + +mus_hideri: + .byte 3 @ NumTrks + .byte 0 @ NumBlks + .byte mus_hideri_pri @ Priority + .byte mus_hideri_rev @ Reverb. + + .word mus_hideri_grp + + .word mus_hideri_1 + .word mus_hideri_2 + .word mus_hideri_3 + + .end diff --git a/sound/songs/mus_hightown.s b/sound/songs/mus_hightown.s new file mode 100644 index 0000000000..c926de0ce2 --- /dev/null +++ b/sound/songs/mus_hightown.s @@ -0,0 +1,2703 @@ + .include "MPlayDef.s" + + .equ mus_hightown_grp, voicegroup_868AC74 + .equ mus_hightown_pri, 0 + .equ mus_hightown_rev, reverb_set+50 + .equ mus_hightown_mvl, 127 + .equ mus_hightown_key, 0 + .equ mus_hightown_tbs, 1 + .equ mus_hightown_exg, 0 + .equ mus_hightown_cmp, 1 + + .section .rodata + .global mus_hightown + .align 2 + +@********************** Track 1 **********************@ + +mus_hightown_1: + .byte KEYSH , mus_hightown_key+0 +mus_hightown_1_B1: + .byte TEMPO , 94*mus_hightown_tbs/2 + .byte VOICE , 127 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 30*mus_hightown_mvl/mxv + .byte N02 , En5 , v112 + .byte W16 + .byte En5 , v072 + .byte W08 + .byte En5 , v084 + .byte W16 + .byte En5 , v072 + .byte W08 + .byte En5 , v112 + .byte W16 + .byte En5 , v072 + .byte W08 + .byte En5 , v088 + .byte W16 + .byte En5 , v072 + .byte W08 +mus_hightown_1_000: + .byte N02 , En5 , v112 + .byte W16 + .byte En5 , v072 + .byte W08 + .byte En5 , v084 + .byte W16 + .byte En5 , v072 + .byte W08 + .byte En5 , v112 + .byte W16 + .byte En5 , v072 + .byte W08 + .byte En5 , v088 + .byte W16 + .byte En5 , v072 + .byte W08 + .byte PEND + .byte PATT + .word mus_hightown_1_000 + .byte PATT + .word mus_hightown_1_000 + .byte PATT + .word mus_hightown_1_000 + .byte PATT + .word mus_hightown_1_000 + .byte N02 , En5 , v112 + .byte W16 + .byte En5 , v072 + .byte W08 + .byte En5 , v084 + .byte W16 + .byte En5 , v088 + .byte W08 + .byte En5 , v112 + .byte W16 + .byte En5 , v072 + .byte W08 + .byte En5 , v088 + .byte W16 + .byte En5 , v072 + .byte W08 + .byte PATT + .word mus_hightown_1_000 + .byte PATT + .word mus_hightown_1_000 + .byte PATT + .word mus_hightown_1_000 + .byte PAN , c_v+63 + .byte VOL , 28*mus_hightown_mvl/mxv + .byte N02 , En5 , v116 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte N02 + .byte W08 + .byte En5 , v124 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte En5 , v068 + .byte W08 + .byte En5 , v084 + .byte W08 + .byte En5 , v127 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte En5 , v124 + .byte W08 + .byte En5 , v084 + .byte W08 + .byte En5 , v092 + .byte W08 + .byte En5 , v116 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte N02 + .byte W08 + .byte En5 , v124 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte En5 , v068 + .byte W08 + .byte En5 , v088 + .byte W08 + .byte En5 , v124 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte En5 , v124 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte N08 , Gs5 , v096 + .byte W08 + .byte N02 , En5 , v116 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte N02 + .byte W08 + .byte En5 , v124 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte En5 , v068 + .byte W08 + .byte En5 , v084 + .byte W08 + .byte En5 , v127 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte En5 , v124 + .byte W08 + .byte En5 , v084 + .byte W08 + .byte En5 , v092 + .byte W08 + .byte En5 , v116 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte N02 + .byte W08 + .byte En5 , v124 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte En5 , v068 + .byte W08 + .byte En5 , v088 + .byte W08 + .byte En5 , v124 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte En5 , v124 + .byte W08 + .byte En5 , v072 + .byte W06 + .byte VOICE , 126 + .byte W02 + .byte N08 , Gs5 , v096 + .byte W08 +mus_hightown_1_001: + .byte VOICE , 127 + .byte N02 , En5 , v116 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte N02 + .byte W08 + .byte En5 , v124 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte En5 , v068 + .byte W08 + .byte En5 , v084 + .byte W08 + .byte En5 , v127 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte En5 , v124 + .byte W08 + .byte En5 , v084 + .byte W08 + .byte En5 , v092 + .byte W08 + .byte PEND +mus_hightown_1_002: + .byte N02 , En5 , v116 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte N02 + .byte W08 + .byte En5 , v124 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte En5 , v068 + .byte W08 + .byte En5 , v088 + .byte W08 + .byte En5 , v124 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte En5 , v124 + .byte W08 + .byte En5 , v072 + .byte W08 + .byte VOICE , 126 + .byte N08 , Gs5 , v096 + .byte W08 + .byte PEND + .byte PATT + .word mus_hightown_1_001 + .byte PATT + .word mus_hightown_1_002 + .byte PATT + .word mus_hightown_1_001 + .byte PATT + .word mus_hightown_1_002 + .byte PATT + .word mus_hightown_1_001 + .byte PATT + .word mus_hightown_1_002 + .byte PATT + .word mus_hightown_1_001 + .byte PATT + .word mus_hightown_1_002 + .byte PATT + .word mus_hightown_1_001 + .byte PATT + .word mus_hightown_1_002 + .byte GOTO + .word mus_hightown_1_B1 + .byte VOICE , 127 + .byte FINE + +@********************** Track 2 **********************@ + +mus_hightown_2: + .byte KEYSH , mus_hightown_key+0 +mus_hightown_2_B1: + .byte VOICE , 46 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 49*mus_hightown_mvl/mxv + .byte PAN , c_v-16 + .byte N04 , An4 , v112 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte An3 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte An3 + .byte W04 + .byte Gn3 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte An3 + .byte W04 + .byte Gn3 + .byte W04 + .byte En3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte An3 + .byte W04 + .byte Gn3 + .byte W04 + .byte En3 + .byte W04 + .byte Cs3 + .byte W04 + .byte An3 + .byte W04 + .byte Gn3 + .byte W04 + .byte En3 + .byte W04 + .byte Gn3 + .byte W04 + .byte An3 + .byte W04 + .byte Cs4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte An3 + .byte W04 + .byte Cs4 + .byte W04 + .byte En4 + .byte W04 + .byte Gn4 + .byte W04 + .byte An4 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte An3 + .byte W04 + .byte Cs4 + .byte W04 + .byte An3 + .byte W04 + .byte En3 + .byte W04 + .byte N40 , Dn4 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W24 + .byte VOICE , 73 + .byte W48 + .byte PAN , c_v+0 + .byte W16 + .byte N04 , Fs4 + .byte W04 + .byte An4 + .byte W04 + .byte N16 , En5 + .byte W08 + .byte MOD , 5 + .byte W08 + .byte 0 + .byte N04 , Dn5 + .byte W24 + .byte Fs4 + .byte W04 + .byte An4 + .byte W04 + .byte N16 , En5 + .byte W08 + .byte MOD , 5 + .byte W08 + .byte 0 + .byte N04 , Dn5 + .byte W24 + .byte Fs4 + .byte W04 + .byte As4 + .byte W04 + .byte N16 , En5 + .byte W08 + .byte MOD , 5 + .byte W08 + .byte 0 + .byte N04 , Dn5 + .byte W08 + .byte Cs5 + .byte W08 + .byte Dn5 + .byte W08 + .byte An4 + .byte W06 + .byte N02 , Gn5 , v080 + .byte W02 + .byte N24 , Fs5 , v112 + .byte W24 + .byte N16 , En5 + .byte W08 + .byte MOD , 5 + .byte W08 + .byte 0 + .byte N04 , Dn5 + .byte W08 + .byte N08 , Gn5 + .byte W08 + .byte Fs5 + .byte W08 + .byte En5 + .byte W08 + .byte N36 , Dn5 + .byte W12 + .byte MOD , 5 + .byte W04 + .byte VOL , 45*mus_hightown_mvl/mxv + .byte W04 + .byte 42*mus_hightown_mvl/mxv + .byte W04 + .byte 37*mus_hightown_mvl/mxv + .byte W04 + .byte 34*mus_hightown_mvl/mxv + .byte W04 + .byte 32*mus_hightown_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 49*mus_hightown_mvl/mxv + .byte W02 + .byte N02 , Bn4 , v080 + .byte W02 + .byte N08 , As4 , v112 + .byte W08 + .byte N04 , Fs5 + .byte W08 + .byte En5 + .byte W08 + .byte Dn5 + .byte W08 + .byte N48 , En5 + .byte W12 + .byte MOD , 5 + .byte VOL , 46*mus_hightown_mvl/mxv + .byte W04 + .byte 44*mus_hightown_mvl/mxv + .byte W04 + .byte 42*mus_hightown_mvl/mxv + .byte W04 + .byte 39*mus_hightown_mvl/mxv + .byte W04 + .byte 37*mus_hightown_mvl/mxv + .byte W04 + .byte 35*mus_hightown_mvl/mxv + .byte W04 + .byte 33*mus_hightown_mvl/mxv + .byte W04 + .byte 31*mus_hightown_mvl/mxv + .byte W04 + .byte 27*mus_hightown_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 49*mus_hightown_mvl/mxv + .byte W24 + .byte N04 , An5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Fs5 + .byte W04 + .byte En5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Ds5 + .byte W04 + .byte N16 , En5 + .byte W08 + .byte MOD , 5 + .byte W08 + .byte 0 + .byte N04 , Dn5 + .byte W08 + .byte An4 + .byte W08 + .byte Dn5 + .byte W08 + .byte Fs4 + .byte W04 + .byte An4 + .byte W04 + .byte N16 , En5 + .byte W08 + .byte MOD , 5 + .byte W08 + .byte 0 + .byte N04 , Dn5 + .byte W08 + .byte As4 + .byte W08 + .byte Dn5 + .byte W08 + .byte Fs4 + .byte W04 + .byte As4 + .byte W04 + .byte N16 , En5 + .byte W08 + .byte MOD , 5 + .byte W08 + .byte 0 + .byte N04 , Dn5 + .byte W08 + .byte Cs5 + .byte W08 + .byte Dn5 + .byte W08 + .byte An4 + .byte W08 + .byte N08 , Fs5 + .byte W08 + .byte N04 , Gn5 + .byte W08 + .byte An5 + .byte W08 + .byte Bn5 + .byte W08 + .byte An5 + .byte W08 + .byte Fs5 + .byte W08 + .byte N24 , Dn5 + .byte W24 + .byte N04 , Gn5 + .byte W04 + .byte Fs5 + .byte W04 + .byte En5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte N24 , Bn4 + .byte W24 + .byte N16 , Cs5 + .byte W16 + .byte N04 , Dn5 + .byte W06 + .byte N02 , Ds5 , v064 + .byte W02 + .byte N72 , Dn5 , v112 + .byte W24 + .byte MOD , 5 + .byte VOL , 46*mus_hightown_mvl/mxv + .byte W04 + .byte 44*mus_hightown_mvl/mxv + .byte W04 + .byte 41*mus_hightown_mvl/mxv + .byte W04 + .byte 38*mus_hightown_mvl/mxv + .byte W04 + .byte 37*mus_hightown_mvl/mxv + .byte W04 + .byte 35*mus_hightown_mvl/mxv + .byte W04 + .byte 33*mus_hightown_mvl/mxv + .byte W04 + .byte 31*mus_hightown_mvl/mxv + .byte W04 + .byte 28*mus_hightown_mvl/mxv + .byte W04 + .byte 26*mus_hightown_mvl/mxv + .byte W04 + .byte 23*mus_hightown_mvl/mxv + .byte W04 + .byte 22*mus_hightown_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 49*mus_hightown_mvl/mxv + .byte W24 + .byte GOTO + .word mus_hightown_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_hightown_3: + .byte KEYSH , mus_hightown_key+0 +mus_hightown_3_B1: + .byte VOICE , 17 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v-2 + .byte VOL , 49*mus_hightown_mvl/mxv + .byte N88 , An1 , v112 + .byte W88 + .byte N08 , En1 + .byte W08 + .byte N96 , An1 + .byte W96 + .byte VOICE , 35 + .byte VOL , 78*mus_hightown_mvl/mxv + .byte N12 , Dn2 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , An1 + .byte W08 + .byte N12 , Dn2 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , An1 + .byte W08 + .byte N12 , Dn2 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , An1 + .byte W08 + .byte N12 , Dn2 + .byte W16 + .byte N04 + .byte W08 + .byte N12 , Cs2 + .byte W16 + .byte N04 + .byte W08 +mus_hightown_3_000: + .byte N08 , Bn1 , v112 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Fs1 + .byte W08 + .byte Bn1 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , Fs1 + .byte W08 + .byte PEND + .byte Bn1 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Fs1 + .byte W08 + .byte Bn1 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , An1 + .byte W16 + .byte N08 + .byte W08 + .byte Gn1 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Dn1 , v088 + .byte W08 + .byte Gn1 , v112 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , Dn1 + .byte W08 +mus_hightown_3_001: + .byte N08 , Gn1 , v112 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Dn1 + .byte W08 + .byte Gn1 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , Dn1 + .byte W08 + .byte PEND +mus_hightown_3_002: + .byte N08 , An1 , v112 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , En1 + .byte W08 + .byte An1 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , En1 + .byte W08 + .byte PEND + .byte N04 , An1 + .byte W96 + .byte N12 , Dn2 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , An1 + .byte W08 + .byte N12 , Dn2 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , An1 + .byte W08 + .byte N12 , Dn2 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , An1 + .byte W08 + .byte N04 , Dn2 + .byte W08 + .byte N12 + .byte W16 + .byte Cs2 + .byte W16 + .byte N04 + .byte W08 + .byte PATT + .word mus_hightown_3_000 + .byte N08 , Bn1 , v112 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Fs1 + .byte W08 + .byte N04 , Bn1 + .byte W08 + .byte N12 + .byte W16 + .byte N08 , An1 + .byte W16 + .byte N08 + .byte W08 + .byte PATT + .word mus_hightown_3_001 + .byte PATT + .word mus_hightown_3_001 + .byte PATT + .word mus_hightown_3_002 + .byte N04 , An1 , v112 + .byte W96 +mus_hightown_3_003: + .byte N12 , Dn1 , v112 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , An0 + .byte W08 + .byte N12 , Dn1 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , An0 + .byte W08 + .byte PEND + .byte PATT + .word mus_hightown_3_003 + .byte N12 , Gn1 , v112 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , Dn1 + .byte W08 + .byte N12 , Gn1 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , Dn1 + .byte W08 + .byte N12 , An1 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , En1 + .byte W08 + .byte N12 , An1 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , En1 + .byte W08 + .byte PATT + .word mus_hightown_3_003 + .byte PATT + .word mus_hightown_3_003 + .byte N12 , Gn1 , v112 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , Dn1 + .byte W08 + .byte N12 , An1 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , En1 + .byte W08 + .byte N12 , Dn2 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , An1 + .byte W08 + .byte N12 , Dn1 + .byte W16 + .byte N04 + .byte W32 + .byte GOTO + .word mus_hightown_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_hightown_4: + .byte KEYSH , mus_hightown_key+0 +mus_hightown_4_B1: + .byte VOICE , 73 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 50*mus_hightown_mvl/mxv + .byte N24 , Cs4 , v112 + .byte W24 + .byte An3 + .byte W24 + .byte Gn3 + .byte W24 + .byte En3 + .byte W24 + .byte Cs3 + .byte W24 + .byte Dn3 + .byte W24 + .byte En3 + .byte W24 + .byte VOICE , 17 + .byte VOL , 65*mus_hightown_mvl/mxv + .byte N08 , An3 + .byte W08 + .byte Cs4 + .byte W08 + .byte En4 + .byte W08 + .byte VOICE , 17 + .byte VOL , 63*mus_hightown_mvl/mxv + .byte N40 , Gn4 + .byte W40 + .byte N04 , Fs4 + .byte W08 + .byte N24 + .byte W48 +mus_hightown_4_000: + .byte W32 + .byte N04 , En4 , v112 + .byte W08 + .byte Fs4 + .byte W08 + .byte An4 + .byte W08 + .byte N02 , Gn4 + .byte W02 + .byte An4 + .byte W02 + .byte N04 , Gn4 + .byte W04 + .byte Fs4 + .byte W08 + .byte En4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Cs4 + .byte W08 + .byte PEND + .byte N40 , En4 + .byte W40 + .byte N04 , Dn4 + .byte W08 + .byte N24 + .byte W48 + .byte W32 + .byte N04 , Bn3 + .byte W08 + .byte Cs4 + .byte W06 + .byte N02 , Gn4 , v060 + .byte W02 + .byte N04 , Fs4 , v112 + .byte W08 + .byte En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N36 , An4 + .byte W36 + .byte N02 , Bn4 , v048 + .byte W02 + .byte As4 , v060 + .byte W02 + .byte N04 , An4 , v088 + .byte W08 + .byte N24 , Gn4 , v112 + .byte W48 + .byte W32 + .byte N04 , Bn3 + .byte W08 + .byte Dn4 + .byte W08 + .byte Bn4 + .byte W08 + .byte N02 , An4 + .byte W02 + .byte Bn4 + .byte W02 + .byte N04 , An4 + .byte W04 + .byte Gn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Dn4 + .byte W08 + .byte VOL , 7*mus_hightown_mvl/mxv + .byte N96 , En4 + .byte W10 + .byte VOL , 9*mus_hightown_mvl/mxv + .byte W02 + .byte 9*mus_hightown_mvl/mxv + .byte W01 + .byte 11*mus_hightown_mvl/mxv + .byte W03 + .byte 15*mus_hightown_mvl/mxv + .byte W01 + .byte 17*mus_hightown_mvl/mxv + .byte W03 + .byte 21*mus_hightown_mvl/mxv + .byte W01 + .byte 22*mus_hightown_mvl/mxv + .byte W03 + .byte 26*mus_hightown_mvl/mxv + .byte W01 + .byte 28*mus_hightown_mvl/mxv + .byte W03 + .byte 32*mus_hightown_mvl/mxv + .byte W01 + .byte 35*mus_hightown_mvl/mxv + .byte W03 + .byte 36*mus_hightown_mvl/mxv + .byte W01 + .byte 39*mus_hightown_mvl/mxv + .byte W03 + .byte 43*mus_hightown_mvl/mxv + .byte W01 + .byte 44*mus_hightown_mvl/mxv + .byte W03 + .byte 46*mus_hightown_mvl/mxv + .byte W01 + .byte 48*mus_hightown_mvl/mxv + .byte W03 + .byte 50*mus_hightown_mvl/mxv + .byte W01 + .byte 52*mus_hightown_mvl/mxv + .byte W03 + .byte 54*mus_hightown_mvl/mxv + .byte W01 + .byte 56*mus_hightown_mvl/mxv + .byte W03 + .byte 58*mus_hightown_mvl/mxv + .byte W04 + .byte 60*mus_hightown_mvl/mxv + .byte W04 + .byte 61*mus_hightown_mvl/mxv + .byte W01 + .byte 63*mus_hightown_mvl/mxv + .byte W03 + .byte 63*mus_hightown_mvl/mxv + .byte W01 + .byte 65*mus_hightown_mvl/mxv + .byte W03 + .byte 65*mus_hightown_mvl/mxv + .byte W01 + .byte 66*mus_hightown_mvl/mxv + .byte W03 + .byte 68*mus_hightown_mvl/mxv + .byte W01 + .byte 68*mus_hightown_mvl/mxv + .byte W03 + .byte 71*mus_hightown_mvl/mxv + .byte W04 + .byte 73*mus_hightown_mvl/mxv + .byte W16 + .byte 68*mus_hightown_mvl/mxv + .byte N04 , An4 + .byte W24 + .byte VOICE , 46 + .byte W48 + .byte VOL , 78*mus_hightown_mvl/mxv + .byte N04 , Gn4 + .byte W08 + .byte An4 + .byte W08 + .byte En4 + .byte W08 + .byte N40 , Gn4 + .byte W24 + .byte MOD , 5 + .byte W16 + .byte 0 + .byte N04 , An4 + .byte W08 + .byte N24 , Fs4 + .byte W48 + .byte PATT + .word mus_hightown_4_000 + .byte N40 , En4 , v112 + .byte W24 + .byte MOD , 5 + .byte W16 + .byte 0 + .byte N04 , Dn4 + .byte W04 + .byte Cs4 + .byte W04 + .byte N24 , Dn4 + .byte W48 + .byte W32 + .byte N04 , Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N02 , En4 + .byte W02 + .byte Fs4 + .byte W02 + .byte N04 , En4 + .byte W04 + .byte Dn4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N40 , An4 + .byte W24 + .byte MOD , 5 + .byte W16 + .byte 0 + .byte N04 , Bn4 + .byte W08 + .byte N24 , Gn4 + .byte W48 + .byte W32 + .byte N04 , Bn3 + .byte W08 + .byte Dn4 + .byte W08 + .byte Bn4 + .byte W08 + .byte N02 , An4 + .byte W02 + .byte Bn4 + .byte W02 + .byte N04 , An4 + .byte W04 + .byte Gn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Dn4 + .byte W04 + .byte MOD , 5 + .byte W04 + .byte N88 , En4 + .byte W12 + .byte MOD , 0 + .byte W76 + .byte N04 , Fs4 + .byte W08 + .byte VOL , 40*mus_hightown_mvl/mxv + .byte N04 , Gn4 + .byte W24 + .byte VOICE , 48 + .byte W24 + .byte N04 , Cs3 + .byte W04 + .byte Bn2 + .byte W04 + .byte An2 + .byte W04 + .byte Bn2 + .byte W04 + .byte Cs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte En3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gn3 + .byte W04 +mus_hightown_4_001: + .byte N48 , An3 , v112 + .byte W48 + .byte As3 + .byte W48 + .byte PEND +mus_hightown_4_002: + .byte N48 , Bn3 , v112 + .byte W48 + .byte Cn4 + .byte W48 + .byte PEND + .byte N08 , Gn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte En3 + .byte W08 + .byte N24 , Bn2 + .byte W24 + .byte N48 , As2 + .byte W48 + .byte N08 , An2 + .byte W08 + .byte Dn3 + .byte W08 + .byte En3 + .byte W08 + .byte N64 , An3 + .byte W64 + .byte N08 , Gs3 + .byte W08 + .byte PATT + .word mus_hightown_4_001 + .byte PATT + .word mus_hightown_4_002 + .byte N48 , Gn4 , v112 + .byte W48 + .byte Gn3 + .byte W48 + .byte N16 , Fs3 + .byte W16 + .byte N04 , Gn3 + .byte W08 + .byte N02 , Fs3 + .byte W02 + .byte Gn3 + .byte W02 + .byte N12 , Fs3 + .byte W12 + .byte N04 , En3 + .byte W08 + .byte N24 , Fs3 + .byte W24 + .byte VOICE , 73 + .byte W16 + .byte N04 , Gn3 + .byte W04 + .byte An3 + .byte W04 + .byte GOTO + .word mus_hightown_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_hightown_5: + .byte KEYSH , mus_hightown_key+0 +mus_hightown_5_B1: + .byte VOICE , 73 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 58*mus_hightown_mvl/mxv + .byte PAN , c_v+14 + .byte N24 , An4 , v112 + .byte W24 + .byte Gn4 + .byte W24 + .byte En4 + .byte W24 + .byte Cs4 + .byte W24 + .byte An3 + .byte W24 + .byte Bn3 + .byte W24 + .byte N48 , Cs4 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 73 + .byte W88 + .byte N04 , En4 + .byte W04 + .byte Gn4 + .byte W04 + .byte GOTO + .word mus_hightown_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_hightown_6: + .byte KEYSH , mus_hightown_key+0 +mus_hightown_6_B1: + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 26*mus_hightown_mvl/mxv + .byte W96 + .byte W96 + .byte N32 , Dn3 , v112 + .byte W32 + .byte N04 , Cs3 + .byte W08 + .byte Dn3 + .byte W08 + .byte N24 , Fs3 + .byte W24 + .byte En3 + .byte W24 + .byte N48 , Dn3 + .byte W48 + .byte N24 , En3 + .byte W24 + .byte N16 , Fs3 + .byte W16 + .byte N04 , Cs3 + .byte W08 + .byte N24 , Dn3 + .byte W32 + .byte N04 , Cs3 + .byte W08 + .byte Dn3 + .byte W08 + .byte N24 , Fs3 + .byte W24 + .byte En3 + .byte W24 + .byte N32 , Dn3 + .byte W32 + .byte N04 , Cs3 + .byte W08 + .byte Dn3 + .byte W08 + .byte N24 , Bn2 + .byte W24 + .byte Cs3 + .byte W24 + .byte Gn3 + .byte W32 + .byte N04 , Dn3 + .byte W08 + .byte Gn3 , v088 + .byte W08 + .byte N24 , Bn2 , v112 + .byte W24 + .byte Cs3 + .byte W24 + .byte N32 , Dn3 + .byte W32 + .byte N04 , Bn2 + .byte W08 + .byte Dn3 + .byte W08 + .byte N40 , Gn2 + .byte W40 + .byte N04 , Bn2 + .byte W08 + .byte N96 , Cs3 + .byte W24 + .byte MOD , 4 + .byte W24 + .byte VOL , 23*mus_hightown_mvl/mxv + .byte W02 + .byte 25*mus_hightown_mvl/mxv + .byte W03 + .byte 26*mus_hightown_mvl/mxv + .byte W03 + .byte 28*mus_hightown_mvl/mxv + .byte W04 + .byte 29*mus_hightown_mvl/mxv + .byte W02 + .byte 32*mus_hightown_mvl/mxv + .byte W03 + .byte 33*mus_hightown_mvl/mxv + .byte W03 + .byte 35*mus_hightown_mvl/mxv + .byte W04 + .byte 36*mus_hightown_mvl/mxv + .byte W02 + .byte 38*mus_hightown_mvl/mxv + .byte W22 + .byte 29*mus_hightown_mvl/mxv + .byte MOD , 0 + .byte N04 , An3 + .byte W24 + .byte VOL , 39*mus_hightown_mvl/mxv + .byte W48 + .byte PAN , c_v-58 + .byte W24 + .byte VOICE , 84 + .byte VOL , 33*mus_hightown_mvl/mxv + .byte N08 , Fs3 , v120 + .byte W08 + .byte N02 , Fs3 , v104 + .byte W04 + .byte Fn3 , v080 + .byte W04 + .byte Fs3 + .byte W08 + .byte N04 , Fs3 , v112 + .byte W12 + .byte N02 , Fs3 , v104 + .byte W04 + .byte Fn3 , v080 + .byte W04 + .byte Fs3 + .byte W04 + .byte N08 , Fs3 , v120 + .byte W08 + .byte N02 , Fs3 , v104 + .byte W04 + .byte Fn3 , v080 + .byte W04 + .byte Fs3 + .byte W08 + .byte N04 , Fs3 , v112 + .byte W12 + .byte N02 , Fs3 , v104 + .byte W04 + .byte Fs3 , v080 + .byte W08 +mus_hightown_6_000: + .byte N08 , Fs3 , v120 + .byte W08 + .byte N02 , Fs3 , v104 + .byte W04 + .byte Fn3 , v080 + .byte W04 + .byte Fs3 + .byte W08 + .byte N04 , Fs3 , v112 + .byte W12 + .byte N02 , Fs3 , v104 + .byte W04 + .byte Fn3 , v080 + .byte W04 + .byte Fs3 + .byte W04 + .byte N08 , Fs3 , v120 + .byte W08 + .byte N02 , Fs3 , v104 + .byte W04 + .byte Fn3 , v080 + .byte W04 + .byte Fs3 + .byte W08 + .byte N04 , Fs3 , v112 + .byte W12 + .byte N02 , Fs3 , v104 + .byte W04 + .byte Fs3 , v080 + .byte W04 + .byte N02 + .byte W04 + .byte PEND +mus_hightown_6_001: + .byte N08 , Fs3 , v120 + .byte W08 + .byte N02 , Fs3 , v104 + .byte W04 + .byte Fn3 , v080 + .byte W04 + .byte Fs3 + .byte W08 + .byte N04 , Fs3 , v112 + .byte W12 + .byte N02 , Fs3 , v104 + .byte W04 + .byte Fn3 , v080 + .byte W04 + .byte Fs3 + .byte W04 + .byte N08 , Fs3 , v120 + .byte W08 + .byte N02 , Fs3 , v104 + .byte W04 + .byte Fn3 , v080 + .byte W04 + .byte Fs3 + .byte W08 + .byte N04 , Fs3 , v112 + .byte W12 + .byte N02 , Fs3 , v104 + .byte W04 + .byte Fs3 , v080 + .byte W08 + .byte PEND + .byte PATT + .word mus_hightown_6_000 + .byte PATT + .word mus_hightown_6_001 + .byte N08 , Fs3 , v120 + .byte W08 + .byte N02 , Fs3 , v104 + .byte W04 + .byte Fn3 , v080 + .byte W04 + .byte Fs3 + .byte W08 + .byte N04 , Fs3 , v112 + .byte W12 + .byte N02 , Fs3 , v104 + .byte W04 + .byte Fn3 , v080 + .byte W04 + .byte Fs3 + .byte W04 + .byte N08 , Fs3 , v120 + .byte W08 + .byte N02 , Fs3 , v104 + .byte W04 + .byte Fn3 , v080 + .byte W04 + .byte Fs3 + .byte W08 + .byte N04 , Fs3 , v112 + .byte W12 + .byte N02 , Fs3 , v104 + .byte W04 + .byte Fn3 , v080 + .byte W04 + .byte Fs3 + .byte W04 + .byte N08 , Gn3 , v120 + .byte W08 + .byte N02 , Gn3 , v104 + .byte W04 + .byte Fs3 , v080 + .byte W04 + .byte Gn3 + .byte W08 + .byte N04 , Gn3 , v112 + .byte W12 + .byte N02 , Gn3 , v104 + .byte W04 + .byte Fs3 , v080 + .byte W04 + .byte Gn3 + .byte W04 + .byte N08 , En3 , v120 + .byte W08 + .byte N02 , En3 , v104 + .byte W04 + .byte Ds3 , v080 + .byte W04 + .byte En3 + .byte W08 + .byte N04 , En3 , v112 + .byte W12 + .byte N02 , En3 , v104 + .byte W04 + .byte Ds3 , v080 + .byte W04 + .byte En3 + .byte W04 + .byte N04 , Gn3 , v112 + .byte W24 + .byte VOICE , 80 + .byte W24 + .byte N04 + .byte W04 + .byte Fs3 + .byte W04 + .byte En3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gn3 + .byte W04 + .byte An3 + .byte W04 + .byte Bn3 + .byte W04 + .byte An3 + .byte W04 + .byte Gn3 + .byte W04 + .byte An3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cs4 + .byte W04 + .byte TIE , Fs4 + .byte W96 + .byte W48 + .byte EOT + .byte N24 , An4 + .byte W24 + .byte N08 , Fs4 + .byte W08 + .byte En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N48 , Bn3 + .byte W48 + .byte As3 + .byte W48 + .byte Dn4 + .byte W48 + .byte N08 , Cs4 + .byte W08 + .byte En4 + .byte W08 + .byte An3 + .byte W08 + .byte N24 , Fn4 + .byte W24 + .byte TIE , Fs4 + .byte W96 + .byte W48 + .byte EOT + .byte N24 , An4 + .byte W24 + .byte N08 , Fs4 + .byte W08 + .byte En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N48 + .byte W48 + .byte N48 + .byte W48 + .byte N72 + .byte W96 + .byte GOTO + .word mus_hightown_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_hightown_7: + .byte KEYSH , mus_hightown_key+0 +mus_hightown_7_B1: + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-62 + .byte VOL , 32*mus_hightown_mvl/mxv + .byte BEND , c_v+0 + .byte TIE , En3 , v112 + .byte W96 + .byte W96 + .byte EOT + .byte VOL , 33*mus_hightown_mvl/mxv + .byte N32 , An2 + .byte W32 + .byte N04 , Gs2 + .byte W08 + .byte An2 + .byte W08 + .byte N24 , Fs2 + .byte W24 + .byte Gn2 + .byte W24 + .byte N48 , Fs2 + .byte W48 + .byte N24 , Gn2 + .byte W24 + .byte N16 , An2 + .byte W16 + .byte N04 , Fs2 + .byte W08 + .byte N24 , Gn2 + .byte W32 + .byte N04 , Fs2 + .byte W08 + .byte Gn2 + .byte W08 + .byte N24 , Dn3 + .byte W24 + .byte Cs3 + .byte W24 + .byte N32 , Fs2 + .byte W32 + .byte N04 , Fn2 + .byte W08 + .byte Fs2 + .byte W08 + .byte N24 , Dn2 + .byte W24 + .byte En2 + .byte W24 + .byte Dn3 + .byte W32 + .byte N04 , Bn2 + .byte W08 + .byte Dn3 , v088 + .byte W08 + .byte N24 , Gn2 , v112 + .byte W24 + .byte An2 + .byte W24 + .byte N32 , Bn2 + .byte W32 + .byte N04 , Gn2 + .byte W08 + .byte Bn2 + .byte W08 + .byte N40 , Dn2 + .byte W40 + .byte N04 , Gn2 + .byte W08 + .byte N96 , An2 + .byte W24 + .byte MOD , 4 + .byte W24 + .byte VOL , 26*mus_hightown_mvl/mxv + .byte W02 + .byte 27*mus_hightown_mvl/mxv + .byte W03 + .byte 29*mus_hightown_mvl/mxv + .byte W03 + .byte 31*mus_hightown_mvl/mxv + .byte W04 + .byte 32*mus_hightown_mvl/mxv + .byte W02 + .byte 33*mus_hightown_mvl/mxv + .byte W03 + .byte 36*mus_hightown_mvl/mxv + .byte W03 + .byte 38*mus_hightown_mvl/mxv + .byte W04 + .byte 38*mus_hightown_mvl/mxv + .byte W03 + .byte 39*mus_hightown_mvl/mxv + .byte W21 + .byte 29*mus_hightown_mvl/mxv + .byte MOD , 0 + .byte N04 , En3 + .byte W24 + .byte VOL , 39*mus_hightown_mvl/mxv + .byte W48 + .byte PAN , c_v+61 + .byte W24 + .byte VOICE , 83 + .byte VOL , 34*mus_hightown_mvl/mxv + .byte BEND , c_v+0 + .byte N08 , Dn4 , v120 + .byte W08 + .byte N02 , Dn4 , v104 + .byte W04 + .byte Cs4 , v080 + .byte W04 + .byte Dn4 + .byte W08 + .byte N04 , Dn4 , v112 + .byte W12 + .byte N02 , Dn4 , v104 + .byte W04 + .byte Cs4 , v080 + .byte W04 + .byte Dn4 + .byte W04 + .byte N08 , Dn4 , v120 + .byte W08 + .byte N02 , Dn4 , v104 + .byte W04 + .byte Cs4 , v080 + .byte W04 + .byte Dn4 + .byte W08 + .byte N04 , Dn4 , v112 + .byte W12 + .byte N02 , Dn4 , v104 + .byte W04 + .byte Dn4 , v080 + .byte W08 +mus_hightown_7_000: + .byte N08 , Dn4 , v120 + .byte W08 + .byte N02 , Dn4 , v104 + .byte W04 + .byte Cs4 , v080 + .byte W04 + .byte Dn4 + .byte W08 + .byte N04 , Dn4 , v112 + .byte W12 + .byte N02 , Dn4 , v104 + .byte W04 + .byte Cs4 , v080 + .byte W04 + .byte Dn4 + .byte W04 + .byte N08 , Dn4 , v120 + .byte W08 + .byte N02 , Dn4 , v104 + .byte W04 + .byte Cs4 , v080 + .byte W04 + .byte Dn4 + .byte W08 + .byte N04 , Cs4 , v112 + .byte W12 + .byte N02 , Cs4 , v104 + .byte W04 + .byte Cs4 , v080 + .byte W04 + .byte N02 + .byte W04 + .byte PEND +mus_hightown_7_001: + .byte N08 , Dn4 , v120 + .byte W08 + .byte N02 , Dn4 , v104 + .byte W04 + .byte Cs4 , v080 + .byte W04 + .byte Dn4 + .byte W08 + .byte N04 , Dn4 , v112 + .byte W12 + .byte N02 , Dn4 , v104 + .byte W04 + .byte Cs4 , v080 + .byte W04 + .byte Dn4 + .byte W04 + .byte N08 , Dn4 , v120 + .byte W08 + .byte N02 , Dn4 , v104 + .byte W04 + .byte Cs4 , v080 + .byte W04 + .byte Dn4 + .byte W08 + .byte N04 , Dn4 , v112 + .byte W12 + .byte N02 , Dn4 , v104 + .byte W04 + .byte Dn4 , v080 + .byte W08 + .byte PEND + .byte PATT + .word mus_hightown_7_000 + .byte PATT + .word mus_hightown_7_001 + .byte N08 , Dn4 , v120 + .byte W08 + .byte N02 , Dn4 , v104 + .byte W04 + .byte Cs4 , v080 + .byte W04 + .byte Dn4 + .byte W08 + .byte N04 , Dn4 , v112 + .byte W12 + .byte N02 , Dn4 , v104 + .byte W04 + .byte Cs4 , v080 + .byte W04 + .byte Dn4 + .byte W04 + .byte N08 , Dn4 , v120 + .byte W08 + .byte N02 , Dn4 , v104 + .byte W04 + .byte Cs4 , v080 + .byte W04 + .byte Dn4 + .byte W08 + .byte N04 , Dn4 , v112 + .byte W12 + .byte N02 , Dn4 , v104 + .byte W04 + .byte Cs4 , v080 + .byte W04 + .byte Dn4 + .byte W04 + .byte N08 , En4 , v120 + .byte W08 + .byte N02 , En4 , v104 + .byte W04 + .byte Ds4 , v080 + .byte W04 + .byte En4 + .byte W08 + .byte N04 , En4 , v112 + .byte W12 + .byte N02 , En4 , v104 + .byte W04 + .byte Ds4 , v080 + .byte W04 + .byte En4 + .byte W04 + .byte N08 , Cs4 , v120 + .byte W08 + .byte N02 , Cs4 , v104 + .byte W04 + .byte Cn4 , v080 + .byte W04 + .byte Cs4 + .byte W08 + .byte N04 , Cs4 , v112 + .byte W12 + .byte N02 , Cs4 , v104 + .byte W04 + .byte Cn4 , v080 + .byte W04 + .byte Cs4 + .byte W04 + .byte N04 , En4 , v112 + .byte W24 + .byte VOICE , 81 + .byte W24 + .byte N04 , Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte An3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte En4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gn4 + .byte W04 +mus_hightown_7_002: + .byte N48 , An4 , v112 + .byte W48 + .byte As4 + .byte W48 + .byte PEND +mus_hightown_7_003: + .byte N48 , Bn4 , v112 + .byte W48 + .byte Cn5 + .byte W48 + .byte PEND + .byte Gn4 + .byte W48 + .byte Dn4 + .byte W48 + .byte En4 + .byte W48 + .byte N08 , An4 + .byte W08 + .byte Bn4 + .byte W08 + .byte Gn4 + .byte W08 + .byte N24 , Gs4 + .byte W24 + .byte PATT + .word mus_hightown_7_002 + .byte PATT + .word mus_hightown_7_003 + .byte N48 , Bn4 , v112 + .byte W48 + .byte En4 + .byte W48 + .byte N72 , An4 + .byte W96 + .byte GOTO + .word mus_hightown_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_hightown_8: + .byte KEYSH , mus_hightown_key+0 +mus_hightown_8_B1: + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 78*mus_hightown_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte N04 , Dn1 , v112 + .byte W04 + .byte En1 + .byte W04 + .byte Cn1 + .byte W04 + .byte En1 + .byte W04 + .byte Cn1 + .byte W08 + .byte N04 + .byte W06 + .byte N02 , En1 + .byte W02 + .byte N08 , En1 , v124 + .byte W08 + .byte N04 , Cn1 , v112 + .byte W08 +mus_hightown_8_000: + .byte N04 , Cn1 , v112 + .byte W24 + .byte En1 + .byte W16 + .byte Cn1 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte En1 + .byte W24 + .byte PEND +mus_hightown_8_001: + .byte N04 , Cn1 , v112 + .byte W24 + .byte En1 + .byte W16 + .byte Cn1 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte En1 + .byte W16 + .byte Cn1 + .byte W08 + .byte PEND + .byte PATT + .word mus_hightown_8_000 + .byte N04 , Cn1 , v112 + .byte W24 + .byte En1 + .byte W16 + .byte Cn1 + .byte W08 + .byte N04 + .byte W08 + .byte En1 + .byte W08 + .byte Cn1 + .byte W08 + .byte Dn1 + .byte W16 + .byte En1 + .byte W08 + .byte PATT + .word mus_hightown_8_000 + .byte PATT + .word mus_hightown_8_001 + .byte PATT + .word mus_hightown_8_000 + .byte N04 , Cn1 , v112 + .byte W08 + .byte Dn1 + .byte W16 + .byte En1 + .byte W08 + .byte Cn1 , v076 + .byte W08 + .byte Cn1 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte Fs1 + .byte W08 + .byte Dn1 + .byte W08 + .byte En1 + .byte W08 + .byte Dn1 + .byte W04 + .byte N04 + .byte W04 + .byte Cn1 + .byte W08 + .byte PATT + .word mus_hightown_8_000 + .byte PATT + .word mus_hightown_8_001 + .byte PATT + .word mus_hightown_8_000 +mus_hightown_8_002: + .byte N04 , Cn1 , v112 + .byte W24 + .byte En1 + .byte W16 + .byte Cn1 + .byte W08 + .byte Dn1 + .byte W04 + .byte En1 + .byte W04 + .byte Cn1 + .byte W04 + .byte En1 + .byte W04 + .byte Cn1 + .byte W08 + .byte En1 , v080 + .byte W08 + .byte Cn1 , v096 + .byte W08 + .byte En1 , v120 + .byte W08 + .byte PEND + .byte PATT + .word mus_hightown_8_000 + .byte PATT + .word mus_hightown_8_001 + .byte PATT + .word mus_hightown_8_000 + .byte PATT + .word mus_hightown_8_002 + .byte GOTO + .word mus_hightown_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_hightown_9: + .byte KEYSH , mus_hightown_key+0 +mus_hightown_9_B1: + .byte VOICE , 82 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 31*mus_hightown_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte N88 , An1 , v112 + .byte W88 + .byte N08 , En1 + .byte W08 + .byte N96 , An1 + .byte W96 + .byte VOL , 35*mus_hightown_mvl/mxv + .byte N12 , Dn2 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , An1 + .byte W08 + .byte N12 , Dn2 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , An1 + .byte W08 + .byte N12 , Dn2 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , An1 + .byte W08 + .byte N12 , Dn2 + .byte W16 + .byte N04 + .byte W08 + .byte N12 , Cs2 + .byte W16 + .byte N04 + .byte W08 +mus_hightown_9_000: + .byte N08 , Bn1 , v112 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Fs1 + .byte W08 + .byte Bn1 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , Fs1 + .byte W08 + .byte PEND + .byte Bn1 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Fs1 + .byte W08 + .byte Bn1 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , An1 + .byte W16 + .byte N08 + .byte W08 + .byte Gn1 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Dn1 , v088 + .byte W08 + .byte Gn1 , v112 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , Dn1 + .byte W08 +mus_hightown_9_001: + .byte N08 , Gn1 , v112 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Dn1 + .byte W08 + .byte Gn1 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , Dn1 + .byte W08 + .byte PEND +mus_hightown_9_002: + .byte N08 , An1 , v112 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , En1 + .byte W08 + .byte An1 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , En1 + .byte W08 + .byte PEND + .byte N04 , An1 + .byte W96 + .byte VOL , 39*mus_hightown_mvl/mxv + .byte BEND , c_v+1 + .byte N12 , Dn2 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , An1 + .byte W08 + .byte N12 , Dn2 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , An1 + .byte W08 + .byte N12 , Dn2 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , An1 + .byte W08 + .byte N04 , Dn2 + .byte W08 + .byte N12 + .byte W16 + .byte Cs2 + .byte W16 + .byte N04 + .byte W08 + .byte PATT + .word mus_hightown_9_000 + .byte N08 , Bn1 , v112 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Fs1 + .byte W08 + .byte N04 , Bn1 + .byte W08 + .byte N12 + .byte W16 + .byte N08 , An1 + .byte W16 + .byte N08 + .byte W08 + .byte PATT + .word mus_hightown_9_001 + .byte PATT + .word mus_hightown_9_001 + .byte PATT + .word mus_hightown_9_002 + .byte N04 , An1 , v112 + .byte W96 +mus_hightown_9_003: + .byte N12 , Dn1 , v112 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , An0 + .byte W08 + .byte N12 , Dn1 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , An0 + .byte W08 + .byte PEND + .byte PATT + .word mus_hightown_9_003 + .byte N12 , Gn1 , v112 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , Dn1 + .byte W08 + .byte N12 , Gn1 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , Dn1 + .byte W08 + .byte N12 , An1 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , En1 + .byte W08 + .byte N12 , An1 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , En1 + .byte W08 + .byte PATT + .word mus_hightown_9_003 + .byte PATT + .word mus_hightown_9_003 + .byte N12 , Gn1 , v112 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , Dn1 + .byte W08 + .byte N12 , An1 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , En1 + .byte W08 + .byte N12 , Dn2 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , An1 + .byte W08 + .byte N12 , Dn1 + .byte W16 + .byte N04 + .byte W32 + .byte GOTO + .word mus_hightown_9_B1 + .byte BEND , c_v+0 + .byte FINE + +@********************** Track 10 **********************@ + +mus_hightown_10: + .byte KEYSH , mus_hightown_key+0 +mus_hightown_10_B1: + .byte VOICE , 73 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-23 + .byte VOL , 55*mus_hightown_mvl/mxv + .byte W96 + .byte W96 + .byte VOICE , 17 + .byte N40 , Bn3 , v112 + .byte W40 + .byte N04 , An3 + .byte W08 + .byte N24 + .byte W48 +mus_hightown_10_000: + .byte W32 + .byte N04 , Cs4 , v112 + .byte W08 + .byte Dn4 + .byte W08 + .byte En4 + .byte W08 + .byte N02 , Dn4 + .byte W02 + .byte En4 + .byte W02 + .byte N04 , Dn4 + .byte W04 + .byte Cs4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Fs3 + .byte W08 + .byte PEND + .byte N40 , Gn3 + .byte W40 + .byte N04 , Fs3 + .byte W08 + .byte N24 + .byte W48 + .byte W32 + .byte N04 , Dn3 + .byte W08 + .byte En3 + .byte W06 + .byte N02 , As3 , v060 + .byte W02 + .byte N04 , An3 , v112 + .byte W08 + .byte Gn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Dn3 + .byte W08 + .byte En3 + .byte W08 + .byte Fs3 + .byte W08 + .byte N36 , Dn4 + .byte W36 + .byte N02 , En4 , v048 + .byte W02 + .byte Ds4 , v060 + .byte W02 + .byte N04 , Dn4 , v088 + .byte W08 + .byte N24 , Bn3 , v112 + .byte W48 + .byte W32 + .byte N04 , Dn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Dn4 + .byte W08 + .byte N02 , Cs4 + .byte W02 + .byte Dn4 + .byte W02 + .byte N04 , Cn4 + .byte W04 + .byte Bn3 + .byte W08 + .byte An3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte VOL , 6*mus_hightown_mvl/mxv + .byte N96 + .byte W08 + .byte VOL , 1*mus_hightown_mvl/mxv + .byte W02 + .byte 2*mus_hightown_mvl/mxv + .byte W02 + .byte 4*mus_hightown_mvl/mxv + .byte W04 + .byte 6*mus_hightown_mvl/mxv + .byte W01 + .byte 7*mus_hightown_mvl/mxv + .byte W03 + .byte 9*mus_hightown_mvl/mxv + .byte W01 + .byte 11*mus_hightown_mvl/mxv + .byte W03 + .byte 13*mus_hightown_mvl/mxv + .byte W01 + .byte 15*mus_hightown_mvl/mxv + .byte W03 + .byte 17*mus_hightown_mvl/mxv + .byte W01 + .byte 19*mus_hightown_mvl/mxv + .byte W03 + .byte 21*mus_hightown_mvl/mxv + .byte W01 + .byte 22*mus_hightown_mvl/mxv + .byte W03 + .byte 23*mus_hightown_mvl/mxv + .byte W01 + .byte 24*mus_hightown_mvl/mxv + .byte W03 + .byte 27*mus_hightown_mvl/mxv + .byte W01 + .byte 28*mus_hightown_mvl/mxv + .byte W03 + .byte 30*mus_hightown_mvl/mxv + .byte W04 + .byte 33*mus_hightown_mvl/mxv + .byte W04 + .byte 36*mus_hightown_mvl/mxv + .byte W01 + .byte 38*mus_hightown_mvl/mxv + .byte W03 + .byte 39*mus_hightown_mvl/mxv + .byte W04 + .byte 41*mus_hightown_mvl/mxv + .byte W01 + .byte 43*mus_hightown_mvl/mxv + .byte W03 + .byte 44*mus_hightown_mvl/mxv + .byte W01 + .byte 46*mus_hightown_mvl/mxv + .byte W03 + .byte 46*mus_hightown_mvl/mxv + .byte W01 + .byte 47*mus_hightown_mvl/mxv + .byte W03 + .byte 49*mus_hightown_mvl/mxv + .byte W01 + .byte 50*mus_hightown_mvl/mxv + .byte W03 + .byte 52*mus_hightown_mvl/mxv + .byte W01 + .byte 56*mus_hightown_mvl/mxv + .byte W04 + .byte 58*mus_hightown_mvl/mxv + .byte W03 + .byte 60*mus_hightown_mvl/mxv + .byte W12 + .byte 54*mus_hightown_mvl/mxv + .byte N04 , Cs4 + .byte W24 + .byte VOICE , 24 + .byte W48 + .byte VOL , 48*mus_hightown_mvl/mxv + .byte N04 , Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte An3 + .byte W08 + .byte N40 , Bn3 + .byte W40 + .byte N04 , Cs4 + .byte W08 + .byte N24 , An3 + .byte W48 + .byte PATT + .word mus_hightown_10_000 + .byte N40 , Gn3 , v112 + .byte W40 + .byte N04 , Fs3 + .byte W04 + .byte Fn3 + .byte W04 + .byte N24 , Fs3 + .byte W48 + .byte W32 + .byte N04 , Dn3 + .byte W08 + .byte En3 + .byte W08 + .byte An3 + .byte W08 + .byte N02 , Gn3 + .byte W02 + .byte An3 + .byte W02 + .byte N04 , Gn3 + .byte W04 + .byte Fs3 + .byte W08 + .byte Dn3 + .byte W08 + .byte En3 + .byte W08 + .byte Fs3 + .byte W08 + .byte N40 , Dn4 + .byte W40 + .byte N04 , En4 + .byte W08 + .byte N24 , Bn3 + .byte W48 + .byte W32 + .byte N04 , Dn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Dn4 + .byte W08 + .byte N02 , Cs4 + .byte W02 + .byte Dn4 + .byte W02 + .byte N04 , Cs4 + .byte W04 + .byte Bn3 + .byte W08 + .byte An3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N88 + .byte W88 + .byte N04 , An3 + .byte W08 + .byte Bn3 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_hightown_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_hightown: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_hightown_pri @ Priority + .byte mus_hightown_rev @ Reverb. + + .word mus_hightown_grp + + .word mus_hightown_1 + .word mus_hightown_2 + .word mus_hightown_3 + .word mus_hightown_4 + .word mus_hightown_5 + .word mus_hightown_6 + .word mus_hightown_7 + .word mus_hightown_8 + .word mus_hightown_9 + .word mus_hightown_10 + + .end diff --git a/sound/songs/mus_hutago.s b/sound/songs/mus_hutago.s new file mode 100644 index 0000000000..77b195a2a7 --- /dev/null +++ b/sound/songs/mus_hutago.s @@ -0,0 +1,1009 @@ + .include "MPlayDef.s" + + .equ mus_hutago_grp, voicegroup_869287C + .equ mus_hutago_pri, 0 + .equ mus_hutago_rev, reverb_set+50 + .equ mus_hutago_mvl, 127 + .equ mus_hutago_key, 0 + .equ mus_hutago_tbs, 1 + .equ mus_hutago_exg, 0 + .equ mus_hutago_cmp, 1 + + .section .rodata + .global mus_hutago + .align 2 + +@********************** Track 1 **********************@ + +mus_hutago_1: + .byte KEYSH , mus_hutago_key+0 + .byte TEMPO , 134*mus_hutago_tbs/2 + .byte VOICE , 127 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 39*mus_hutago_mvl/mxv + .byte N03 , En5 , v112 + .byte W12 + .byte En5 , v060 + .byte W12 + .byte En5 , v112 + .byte W12 + .byte En5 , v060 + .byte W12 + .byte En5 , v112 + .byte W12 + .byte En5 , v064 + .byte W12 + .byte En5 , v112 + .byte W12 + .byte En5 , v064 + .byte W12 + .byte En5 , v112 + .byte W03 + .byte En5 , v072 + .byte W03 + .byte N03 + .byte W06 + .byte En5 , v112 + .byte W48 + .byte N03 + .byte W12 + .byte En5 , v068 + .byte W12 + .byte En5 , v112 + .byte W12 +mus_hutago_1_B1: + .byte N03 , En5 , v112 + .byte W12 + .byte En5 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W06 + .byte En5 , v088 + .byte W12 + .byte En5 , v072 + .byte W12 + .byte En5 , v096 + .byte W12 + .byte En5 , v064 + .byte W12 + .byte En5 , v096 + .byte W12 + .byte En5 , v064 + .byte W12 + .byte En5 , v112 + .byte W12 + .byte En5 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W06 + .byte En5 , v088 + .byte W24 + .byte En5 , v112 + .byte W12 + .byte En5 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W06 + .byte En5 , v088 + .byte W24 + .byte En5 , v112 + .byte W12 + .byte En5 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W06 + .byte En5 , v088 + .byte W12 + .byte En5 , v072 + .byte W12 + .byte En5 , v096 + .byte W12 + .byte En5 , v064 + .byte W12 + .byte En5 , v096 + .byte W24 + .byte En5 , v112 + .byte W12 + .byte En5 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W06 + .byte En5 , v088 + .byte W24 + .byte En5 , v112 + .byte W03 + .byte En5 , v088 + .byte W03 + .byte En5 , v084 + .byte W06 + .byte N03 + .byte W12 + .byte En5 , v112 + .byte W12 + .byte N03 + .byte W12 + .byte GOTO + .word mus_hutago_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_hutago_2: + .byte KEYSH , mus_hutago_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 39*mus_hutago_mvl/mxv + .byte W96 + .byte W24 + .byte N06 , Gn5 , v096 + .byte W72 +mus_hutago_2_B1: + .byte W96 + .byte W36 + .byte N06 , Gn5 , v080 + .byte W48 + .byte Gn5 , v096 + .byte W12 + .byte W84 + .byte Gn5 , v084 + .byte W12 + .byte W36 + .byte N06 + .byte W60 + .byte GOTO + .word mus_hutago_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_hutago_3: + .byte KEYSH , mus_hutago_key+0 + .byte VOICE , 38 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 75*mus_hutago_mvl/mxv + .byte BEND , c_v-2 + .byte W03 + .byte c_v+0 + .byte W92 + .byte W01 + .byte N54 , Dn1 , v112 + .byte W06 + .byte BEND , c_v+3 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+3 + .byte W06 + .byte c_v+0 + .byte W36 + .byte N06 , Cn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 + .byte W12 +mus_hutago_3_B1: + .byte N24 , Gn1 , v112 + .byte W06 + .byte BEND , c_v+3 + .byte W06 + .byte c_v+0 + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte N12 , Dn1 + .byte W12 + .byte N03 , Cn2 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte N12 , An1 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte N24 , Fn1 + .byte W06 + .byte BEND , c_v+3 + .byte W06 + .byte c_v+0 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte Fn1 + .byte W12 + .byte N36 , Dn1 + .byte W06 + .byte BEND , c_v+3 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+3 + .byte W06 + .byte c_v+0 + .byte W12 + .byte N06 , Fs1 + .byte W12 + .byte N24 , Bn1 + .byte W06 + .byte BEND , c_v+3 + .byte W06 + .byte c_v+0 + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte Bn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N36 , Dn1 + .byte W06 + .byte BEND , c_v+3 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+3 + .byte W06 + .byte c_v+0 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte N24 , Fn1 + .byte W06 + .byte BEND , c_v+3 + .byte W06 + .byte c_v+0 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte Ds1 + .byte W12 + .byte N24 , Dn1 + .byte W06 + .byte BEND , c_v+3 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+3 + .byte W06 + .byte c_v+0 + .byte N06 , Fs1 + .byte W12 + .byte An1 + .byte W12 + .byte GOTO + .word mus_hutago_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_hutago_4: + .byte KEYSH , mus_hutago_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte PAN , c_v-35 + .byte VOL , 46*mus_hutago_mvl/mxv + .byte N06 , An3 , v112 + .byte W24 + .byte Cn4 + .byte W24 + .byte Dn3 + .byte W24 + .byte Fs3 + .byte W12 + .byte N03 , Fs2 + .byte W03 + .byte An2 + .byte W03 + .byte Dn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte N60 , An3 + .byte W60 + .byte N06 , Bn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W06 + .byte N03 , An2 + .byte W03 + .byte Cn3 + .byte W03 +mus_hutago_4_B1: + .byte N06 , Dn3 , v112 + .byte W12 + .byte N03 , Dn3 , v068 + .byte W12 + .byte N06 , Dn3 , v112 + .byte W12 + .byte An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte En3 + .byte W06 + .byte N03 , An2 + .byte W03 + .byte Dn3 + .byte W03 + .byte N06 , Fs3 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte N03 , Fs3 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte N03 , Dn2 + .byte W03 + .byte Fs2 + .byte W03 + .byte N24 , Cn3 + .byte W12 + .byte BEND , c_v-5 + .byte W06 + .byte c_v+0 + .byte W06 + .byte N06 , Bn2 + .byte W12 + .byte Cn3 + .byte W06 + .byte N03 , Gn2 + .byte W03 + .byte Bn2 + .byte W03 + .byte N24 , Dn3 + .byte W12 + .byte BEND , c_v-5 + .byte W06 + .byte c_v+0 + .byte W06 + .byte N06 , Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte An2 + .byte W06 + .byte N03 , Cn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte N06 , Fs3 + .byte W24 + .byte N03 , An1 + .byte W03 + .byte Cn2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Fn2 + .byte W03 + .byte N24 , Fs2 + .byte W06 + .byte BEND , c_v-8 + .byte W06 + .byte c_v+3 + .byte W06 + .byte c_v+0 + .byte W06 + .byte GOTO + .word mus_hutago_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_hutago_5: + .byte KEYSH , mus_hutago_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte VOL , 55*mus_hutago_mvl/mxv + .byte W12 + .byte N03 , Cs5 , v112 + .byte W24 + .byte N03 + .byte W60 + .byte W96 +mus_hutago_5_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W36 + .byte N03 , Cs4 , v112 + .byte W24 + .byte Cs5 , v080 + .byte W36 + .byte GOTO + .word mus_hutago_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_hutago_6: + .byte KEYSH , mus_hutago_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 56*mus_hutago_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Dn4 , v112 + .byte W12 + .byte Dn5 + .byte W12 + .byte Dn4 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte N03 , Dn3 + .byte N06 , Gn4 + .byte W03 + .byte N03 , Fs3 + .byte W03 + .byte An3 + .byte W03 + .byte Cn4 + .byte W03 + .byte N60 , Dn4 + .byte W06 + .byte BEND , c_v+8 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+8 + .byte W06 + .byte c_v+0 + .byte W36 + .byte N06 , Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W06 + .byte N03 , Fs3 + .byte W03 + .byte An3 + .byte W03 +mus_hutago_6_B1: + .byte N24 , Bn3 , v112 + .byte W12 + .byte BEND , c_v-5 + .byte W06 + .byte c_v+0 + .byte W06 + .byte N06 , Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Bn3 + .byte W06 + .byte N03 , Fs3 + .byte W03 + .byte An3 + .byte W03 + .byte N36 , Cn4 + .byte W12 + .byte BEND , c_v-5 + .byte W06 + .byte c_v+0 + .byte W18 + .byte N06 , An3 + .byte W12 + .byte Fn3 + .byte W06 + .byte N03 , An2 + .byte W03 + .byte Dn3 + .byte W03 + .byte N24 , Fs3 + .byte W12 + .byte BEND , c_v-5 + .byte W06 + .byte c_v+0 + .byte W06 + .byte N06 , Gn3 + .byte W12 + .byte An3 + .byte W06 + .byte N03 , Dn3 + .byte W03 + .byte Gn3 + .byte W03 + .byte N24 , Bn3 + .byte W12 + .byte BEND , c_v-5 + .byte W06 + .byte c_v+0 + .byte W06 + .byte N06 , Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte Fs3 + .byte W06 + .byte N03 , An3 + .byte W03 + .byte Cn4 + .byte W03 + .byte N06 , Dn4 + .byte W24 + .byte N03 , Dn2 , v080 + .byte N06 , Dn5 + .byte W03 + .byte N03 , Fs2 , v112 + .byte W03 + .byte An2 + .byte W03 + .byte Cn3 + .byte W03 + .byte N24 , Dn3 + .byte W06 + .byte BEND , c_v-8 + .byte W06 + .byte c_v+3 + .byte W06 + .byte c_v+0 + .byte W06 + .byte GOTO + .word mus_hutago_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_hutago_7: + .byte KEYSH , mus_hutago_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte VOL , 40*mus_hutago_mvl/mxv + .byte PAN , c_v-62 + .byte W96 + .byte N03 , An3 , v112 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte En3 + .byte W06 + .byte N36 , Dn3 + .byte W72 +mus_hutago_7_B1: + .byte PAN , c_v+0 + .byte N03 , Dn3 , v112 + .byte W12 + .byte Gn3 + .byte W03 + .byte Fn3 , v064 + .byte W03 + .byte En3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Dn3 , v112 + .byte W12 + .byte Gn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Dn3 + .byte W12 +mus_hutago_7_000: + .byte N03 , Cn3 , v112 + .byte W12 + .byte Fn3 + .byte W03 + .byte En3 , v064 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Cn3 , v112 + .byte W12 + .byte Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fs2 + .byte W12 + .byte An2 + .byte W12 + .byte PEND + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W03 + .byte Fn3 , v064 + .byte W03 + .byte En3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Dn3 , v112 + .byte W12 + .byte Gn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte PATT + .word mus_hutago_7_000 + .byte GOTO + .word mus_hutago_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_hutago_8: + .byte KEYSH , mus_hutago_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte PAN , c_v+63 + .byte VOL , 40*mus_hutago_mvl/mxv + .byte W96 + .byte N03 , Fs4 , v112 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte N36 , An3 + .byte W72 +mus_hutago_8_B1: +mus_hutago_8_000: + .byte PAN , c_v+63 + .byte N03 , Gn3 , v112 + .byte W12 + .byte Dn4 + .byte W03 + .byte Bn3 , v064 + .byte W03 + .byte As3 + .byte W03 + .byte An3 + .byte W03 + .byte PAN , c_v-64 + .byte N03 , Gn3 , v112 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , As3 + .byte W12 + .byte Bn3 + .byte W12 + .byte PAN , c_v-63 + .byte N03 , As3 + .byte W12 + .byte Bn3 + .byte W12 + .byte PEND +mus_hutago_8_001: + .byte PAN , c_v+63 + .byte N03 , An3 , v112 + .byte W12 + .byte Cn4 + .byte W03 + .byte Bn3 , v064 + .byte W03 + .byte As3 + .byte W03 + .byte An3 + .byte W03 + .byte PAN , c_v-63 + .byte N03 , Fn3 , v112 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , Fs3 + .byte W12 + .byte An3 + .byte W12 + .byte PAN , c_v-63 + .byte N03 , Dn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte PEND + .byte PATT + .word mus_hutago_8_000 + .byte PATT + .word mus_hutago_8_001 + .byte GOTO + .word mus_hutago_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_hutago_9: + .byte KEYSH , mus_hutago_key+0 + .byte VOICE , 0 + .byte VOL , 58*mus_hutago_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , En3 , v112 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N06 + .byte W12 + .byte En3 + .byte W12 + .byte N06 + .byte W12 + .byte Dn3 + .byte W12 + .byte Dn3 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte Dn3 , v088 + .byte W06 + .byte N06 + .byte W06 + .byte Dn3 , v112 + .byte W72 +mus_hutago_9_B1: +mus_hutago_9_000: + .byte N06 , En3 , v112 + .byte W12 + .byte En3 , v072 + .byte W12 + .byte Dn3 , v112 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte En3 + .byte W12 + .byte En3 , v072 + .byte W12 + .byte Dn3 , v112 + .byte W36 + .byte N06 + .byte W36 + .byte PATT + .word mus_hutago_9_000 + .byte N06 , En3 , v112 + .byte W12 + .byte En3 , v072 + .byte W12 + .byte Dn3 , v112 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte GOTO + .word mus_hutago_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_hutago_10: + .byte KEYSH , mus_hutago_key+0 + .byte VOICE , 82 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte VOL , 27*mus_hutago_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+2 + .byte N06 , Dn4 , v112 + .byte W12 + .byte Dn5 + .byte W12 + .byte Dn4 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte N03 , Dn3 + .byte N06 , Gn4 + .byte W03 + .byte N03 , Fs3 + .byte W03 + .byte An3 + .byte W03 + .byte Cn4 + .byte W03 + .byte N60 , Dn4 + .byte W60 + .byte N06 , Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W06 + .byte N03 , Fs3 + .byte W03 + .byte An3 + .byte W03 +mus_hutago_10_B1: + .byte N06 , Bn3 , v112 + .byte W24 + .byte Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Bn3 + .byte W06 + .byte N03 , Fs3 + .byte W03 + .byte An3 + .byte W03 + .byte N18 , Cn4 + .byte W12 + .byte W24 + .byte N06 , An3 + .byte W12 + .byte Fn3 + .byte W06 + .byte N03 , An2 + .byte W03 + .byte Dn3 + .byte W03 + .byte N06 , Fs3 + .byte W24 + .byte Gn3 + .byte W12 + .byte An3 + .byte W06 + .byte N03 , Dn3 + .byte W03 + .byte Gn3 + .byte W03 + .byte N06 , Bn3 + .byte W24 + .byte Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte Fs3 + .byte W06 + .byte N03 , An3 + .byte W03 + .byte Cn4 + .byte W03 + .byte N06 , Dn4 + .byte W24 + .byte N03 , Dn2 + .byte N06 , Dn5 + .byte W03 + .byte N03 , Fs2 + .byte W03 + .byte An2 + .byte W03 + .byte Cn3 + .byte W03 + .byte N06 , Dn3 + .byte W24 + .byte GOTO + .word mus_hutago_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_hutago: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_hutago_pri @ Priority + .byte mus_hutago_rev @ Reverb. + + .word mus_hutago_grp + + .word mus_hutago_1 + .word mus_hutago_2 + .word mus_hutago_3 + .word mus_hutago_4 + .word mus_hutago_5 + .word mus_hutago_6 + .word mus_hutago_7 + .word mus_hutago_8 + .word mus_hutago_9 + .word mus_hutago_10 + + .end diff --git a/sound/songs/mus_inter_v.s b/sound/songs/mus_inter_v.s new file mode 100644 index 0000000000..f224906ad8 --- /dev/null +++ b/sound/songs/mus_inter_v.s @@ -0,0 +1,1067 @@ + .include "MPlayDef.s" + + .equ mus_inter_v_grp, voicegroup_869407C + .equ mus_inter_v_pri, 0 + .equ mus_inter_v_rev, reverb_set+50 + .equ mus_inter_v_mvl, 127 + .equ mus_inter_v_key, 0 + .equ mus_inter_v_tbs, 1 + .equ mus_inter_v_exg, 0 + .equ mus_inter_v_cmp, 1 + + .section .rodata + .global mus_inter_v + .align 2 + +@********************** Track 1 **********************@ + +mus_inter_v_1: + .byte KEYSH , mus_inter_v_key+0 + .byte TEMPO , 142*mus_inter_v_tbs/2 + .byte VOICE , 127 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 39*mus_inter_v_mvl/mxv + .byte PAN , c_v+0 + .byte W06 + .byte N03 , Gn5 , v112 + .byte W12 + .byte Gn5 , v064 + .byte W12 + .byte Gn5 , v092 + .byte W12 + .byte Gn5 , v060 + .byte W12 + .byte Gn5 , v112 + .byte W12 + .byte Gn5 , v060 + .byte W12 + .byte Gn5 , v092 + .byte W12 + .byte Gn5 , v064 + .byte W12 + .byte Gn5 , v112 + .byte W12 + .byte Gn5 , v064 + .byte W12 + .byte Gn5 , v092 + .byte W12 + .byte Gn5 , v116 + .byte W12 + .byte Gn5 , v112 + .byte W12 + .byte Gn5 , v060 + .byte W12 + .byte Gn5 , v092 + .byte W12 + .byte Gn5 , v064 + .byte W12 +mus_inter_v_1_B1: + .byte N03 , Gn5 , v112 + .byte W06 + .byte Gn5 , v064 + .byte W06 + .byte Gn5 , v080 + .byte W06 + .byte Gn5 , v064 + .byte W06 + .byte Gn5 , v080 + .byte W06 + .byte Gn5 , v112 + .byte W06 + .byte Gn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte Gn5 , v112 + .byte W03 + .byte Gn5 , v076 + .byte W03 + .byte Gn5 , v068 + .byte W06 + .byte Gn5 , v112 + .byte W06 + .byte Gn5 , v064 + .byte W06 + .byte Gn5 , v112 + .byte W06 + .byte Gn5 , v064 + .byte W18 + .byte Gn5 , v112 + .byte W03 + .byte Gn5 , v076 + .byte W03 + .byte Gn5 , v068 + .byte W06 + .byte Gn5 , v080 + .byte W06 + .byte Gn5 , v064 + .byte W06 + .byte Gn5 , v080 + .byte W06 + .byte Gn5 , v112 + .byte W06 + .byte Gn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte Gn5 , v112 + .byte W03 + .byte Gn5 , v076 + .byte W03 + .byte Gn5 , v068 + .byte W06 + .byte Gn5 , v112 + .byte W06 + .byte Gn5 , v064 + .byte W06 + .byte Gn5 , v112 + .byte W06 + .byte Gn5 , v064 + .byte W18 + .byte Gn5 , v112 + .byte W03 + .byte Gn5 , v076 + .byte W03 + .byte Gn5 , v068 + .byte W06 + .byte Gn5 , v080 + .byte W06 + .byte Gn5 , v064 + .byte W18 + .byte N03 + .byte W06 + .byte Gn5 , v112 + .byte W06 + .byte N03 + .byte W03 + .byte Gn5 , v076 + .byte W03 + .byte Gn5 , v068 + .byte W06 + .byte Gn5 , v112 + .byte W06 + .byte Gn5 , v064 + .byte W06 + .byte Gn5 , v112 + .byte W06 + .byte Gn5 , v064 + .byte W18 + .byte Gn5 , v112 + .byte W03 + .byte Gn5 , v076 + .byte W03 + .byte Gn5 , v068 + .byte W06 + .byte Gn5 , v080 + .byte W06 + .byte Gn5 , v064 + .byte W18 + .byte Gn5 , v112 + .byte W03 + .byte Gn5 , v076 + .byte W03 + .byte Gn5 , v068 + .byte W06 + .byte Gn5 , v080 + .byte W06 + .byte Gn5 , v064 + .byte W18 + .byte Gn5 , v112 + .byte W03 + .byte Gn5 , v076 + .byte W03 + .byte Gn5 , v068 + .byte W06 + .byte Gn5 , v112 + .byte W06 + .byte Gn5 , v096 + .byte W06 + .byte GOTO + .word mus_inter_v_1_B1 + .byte W96 + .byte FINE + +@********************** Track 2 **********************@ + +mus_inter_v_2: + .byte KEYSH , mus_inter_v_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+13 + .byte VOL , 62*mus_inter_v_mvl/mxv + .byte N03 , Ds4 , v112 + .byte W03 + .byte Cs4 + .byte W03 + .byte N18 , Bn3 + .byte W18 + .byte N06 , En4 + .byte W06 + .byte Fs4 + .byte W12 + .byte Bn4 + .byte W24 + .byte N06 + .byte W24 + .byte An4 + .byte W12 + .byte N18 , Gs4 + .byte W18 + .byte N06 , An4 + .byte W06 + .byte Gs4 + .byte W12 + .byte En4 + .byte W24 + .byte N36 , Fs4 + .byte W36 +mus_inter_v_2_B1: + .byte VOICE , 13 + .byte VOL , 27*mus_inter_v_mvl/mxv + .byte N03 , Bn5 , v112 + .byte W06 + .byte N06 , Bn5 , v064 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Bn5 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Bn5 , v064 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Bn5 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte Bn5 , v080 + .byte W06 + .byte Bn5 , v112 + .byte W06 + .byte Bn5 , v080 + .byte W06 +mus_inter_v_2_000: + .byte N03 , Bn5 , v112 + .byte W06 + .byte N06 , Bn5 , v064 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Bn5 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Bn5 , v064 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Bn5 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte Bn5 , v080 + .byte W06 + .byte Bn5 , v112 + .byte W06 + .byte Bn5 , v080 + .byte W06 + .byte PEND + .byte PATT + .word mus_inter_v_2_000 + .byte PATT + .word mus_inter_v_2_000 + .byte GOTO + .word mus_inter_v_2_B1 + .byte W96 + .byte FINE + +@********************** Track 3 **********************@ + +mus_inter_v_3: + .byte KEYSH , mus_inter_v_key+0 + .byte VOICE , 36 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 61*mus_inter_v_mvl/mxv + .byte W06 + .byte W96 + .byte W96 +mus_inter_v_3_B1: + .byte BEND , c_v+0 + .byte N18 , Bn0 , v112 + .byte W18 + .byte N03 , Bn1 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Bn0 + .byte W06 + .byte N03 , Bn1 + .byte W06 + .byte BEND , c_v-5 + .byte N24 , Bn0 + .byte W06 + .byte BEND , c_v+0 + .byte W30 + .byte N06 , An0 + .byte W06 + .byte As0 + .byte W06 +mus_inter_v_3_000: + .byte N15 , Bn0 , v112 + .byte W18 + .byte N03 + .byte W18 + .byte N06 , An0 + .byte W06 + .byte As0 + .byte W06 + .byte N15 , Bn0 + .byte W18 + .byte N03 + .byte W18 + .byte N06 , An0 + .byte W06 + .byte As0 + .byte W06 + .byte PEND + .byte N18 , Bn0 + .byte W18 + .byte N03 , Bn1 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N24 , Bn0 + .byte W36 + .byte N06 , An0 + .byte W06 + .byte As0 + .byte W06 + .byte PATT + .word mus_inter_v_3_000 + .byte GOTO + .word mus_inter_v_3_B1 + .byte W96 + .byte FINE + +@********************** Track 4 **********************@ + +mus_inter_v_4: + .byte KEYSH , mus_inter_v_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 60*mus_inter_v_mvl/mxv + .byte PAN , c_v-24 + .byte N03 , Gs3 , v112 + .byte W03 + .byte Fs3 + .byte W03 + .byte N18 , En3 + .byte W18 + .byte N06 , Gs3 + .byte W06 + .byte Bn3 + .byte W12 + .byte Dn4 + .byte W24 + .byte N06 + .byte W24 + .byte Cs4 + .byte W12 + .byte N18 , Bn3 + .byte W18 + .byte N06 , Cs4 + .byte W06 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W24 + .byte N36 , Dn4 + .byte W36 +mus_inter_v_4_B1: + .byte VOICE , 13 + .byte VOL , 27*mus_inter_v_mvl/mxv + .byte N03 , En5 , v112 + .byte W06 + .byte N06 , En5 , v064 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte En5 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , En5 , v064 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En5 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte En5 , v080 + .byte W06 + .byte En5 , v112 + .byte W06 + .byte En5 , v080 + .byte W06 +mus_inter_v_4_000: + .byte N03 , En5 , v112 + .byte W06 + .byte N06 , En5 , v064 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte En5 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , En5 , v064 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En5 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte En5 , v080 + .byte W06 + .byte En5 , v112 + .byte W06 + .byte En5 , v080 + .byte W06 + .byte PEND + .byte PATT + .word mus_inter_v_4_000 + .byte PATT + .word mus_inter_v_4_000 + .byte GOTO + .word mus_inter_v_4_B1 + .byte W96 + .byte FINE + +@********************** Track 5 **********************@ + +mus_inter_v_5: + .byte KEYSH , mus_inter_v_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 47*mus_inter_v_mvl/mxv + .byte PAN , c_v+0 + .byte W06 + .byte W96 + .byte W96 +mus_inter_v_5_B1: + .byte W84 + .byte N12 , En5 , v096 + .byte W12 + .byte W84 + .byte N12 + .byte W12 + .byte W24 + .byte N12 + .byte W60 + .byte N12 + .byte W12 + .byte W24 + .byte N12 + .byte W36 + .byte N12 + .byte W36 + .byte GOTO + .word mus_inter_v_5_B1 + .byte W96 + .byte FINE + +@********************** Track 6 **********************@ + +mus_inter_v_6: + .byte KEYSH , mus_inter_v_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 37*mus_inter_v_mvl/mxv + .byte PAN , c_v-61 + .byte N03 , Bn4 , v108 + .byte W03 + .byte Ds5 + .byte W03 + .byte Gs5 + .byte W06 + .byte Bn5 + .byte W06 + .byte En6 + .byte W06 + .byte Bn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Bn5 + .byte W06 + .byte En6 + .byte W06 + .byte Bn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Dn6 + .byte W06 + .byte Bn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Dn6 + .byte W06 + .byte Bn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Cs6 + .byte W06 + .byte Bn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Cs6 + .byte W06 + .byte Bn5 + .byte W06 + .byte En5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Bn5 + .byte W06 + .byte En6 + .byte W06 + .byte Fs5 + .byte W06 + .byte An5 + .byte W06 + .byte Cs6 + .byte W06 + .byte Fs6 + .byte W06 +mus_inter_v_6_B1: + .byte VOICE , 83 + .byte VOL , 37*mus_inter_v_mvl/mxv + .byte N84 , Bn2 , v112 + .byte W36 + .byte MOD , 5 + .byte VOL , 44*mus_inter_v_mvl/mxv + .byte W06 + .byte 33*mus_inter_v_mvl/mxv + .byte W05 + .byte 29*mus_inter_v_mvl/mxv + .byte W07 + .byte 26*mus_inter_v_mvl/mxv + .byte W05 + .byte 19*mus_inter_v_mvl/mxv + .byte W07 + .byte 15*mus_inter_v_mvl/mxv + .byte W05 + .byte 8*mus_inter_v_mvl/mxv + .byte W07 + .byte 4*mus_inter_v_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 37*mus_inter_v_mvl/mxv + .byte N06 , Fs2 + .byte W06 + .byte Bn2 + .byte W06 + .byte N96 , Fs2 + .byte W36 + .byte MOD , 5 + .byte VOL , 44*mus_inter_v_mvl/mxv + .byte W06 + .byte 33*mus_inter_v_mvl/mxv + .byte W05 + .byte 29*mus_inter_v_mvl/mxv + .byte W07 + .byte 23*mus_inter_v_mvl/mxv + .byte W05 + .byte 16*mus_inter_v_mvl/mxv + .byte W07 + .byte 12*mus_inter_v_mvl/mxv + .byte W05 + .byte 9*mus_inter_v_mvl/mxv + .byte W07 + .byte 4*mus_inter_v_mvl/mxv + .byte W05 + .byte 2*mus_inter_v_mvl/mxv + .byte W13 + .byte MOD , 0 + .byte VOL , 37*mus_inter_v_mvl/mxv + .byte N84 , Bn2 + .byte W36 + .byte MOD , 5 + .byte VOL , 44*mus_inter_v_mvl/mxv + .byte W06 + .byte 40*mus_inter_v_mvl/mxv + .byte W05 + .byte 33*mus_inter_v_mvl/mxv + .byte W07 + .byte 29*mus_inter_v_mvl/mxv + .byte W05 + .byte 25*mus_inter_v_mvl/mxv + .byte W07 + .byte 18*mus_inter_v_mvl/mxv + .byte W05 + .byte 9*mus_inter_v_mvl/mxv + .byte W07 + .byte 6*mus_inter_v_mvl/mxv + .byte W05 + .byte 4*mus_inter_v_mvl/mxv + .byte W01 + .byte MOD , 0 + .byte VOL , 37*mus_inter_v_mvl/mxv + .byte N06 , En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N96 , Fs3 + .byte W36 + .byte MOD , 5 + .byte VOL , 44*mus_inter_v_mvl/mxv + .byte W06 + .byte 34*mus_inter_v_mvl/mxv + .byte W05 + .byte 32*mus_inter_v_mvl/mxv + .byte W07 + .byte 27*mus_inter_v_mvl/mxv + .byte W05 + .byte 23*mus_inter_v_mvl/mxv + .byte W07 + .byte 20*mus_inter_v_mvl/mxv + .byte W05 + .byte 16*mus_inter_v_mvl/mxv + .byte W07 + .byte 12*mus_inter_v_mvl/mxv + .byte W05 + .byte 7*mus_inter_v_mvl/mxv + .byte W07 + .byte 4*mus_inter_v_mvl/mxv + .byte W06 + .byte GOTO + .word mus_inter_v_6_B1 + .byte MOD , 0 + .byte VOL , 37*mus_inter_v_mvl/mxv + .byte W96 + .byte FINE + +@********************** Track 7 **********************@ + +mus_inter_v_7: + .byte KEYSH , mus_inter_v_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 37*mus_inter_v_mvl/mxv + .byte PAN , c_v+63 + .byte N03 , Gs4 , v108 + .byte W03 + .byte Bn4 + .byte W03 + .byte En5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte En5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Cn5 + .byte W06 + .byte En5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte An5 + .byte W06 + .byte Cs6 + .byte W06 +mus_inter_v_7_B1: + .byte VOICE , 84 + .byte VOL , 37*mus_inter_v_mvl/mxv + .byte N84 , Fs3 , v112 + .byte W36 + .byte MOD , 5 + .byte VOL , 44*mus_inter_v_mvl/mxv + .byte W06 + .byte 33*mus_inter_v_mvl/mxv + .byte W05 + .byte 29*mus_inter_v_mvl/mxv + .byte W07 + .byte 26*mus_inter_v_mvl/mxv + .byte W05 + .byte 19*mus_inter_v_mvl/mxv + .byte W07 + .byte 15*mus_inter_v_mvl/mxv + .byte W05 + .byte 8*mus_inter_v_mvl/mxv + .byte W07 + .byte 4*mus_inter_v_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 37*mus_inter_v_mvl/mxv + .byte N06 , Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N96 , Bn2 + .byte W36 + .byte MOD , 5 + .byte VOL , 44*mus_inter_v_mvl/mxv + .byte W06 + .byte 33*mus_inter_v_mvl/mxv + .byte W05 + .byte 29*mus_inter_v_mvl/mxv + .byte W07 + .byte 23*mus_inter_v_mvl/mxv + .byte W05 + .byte 16*mus_inter_v_mvl/mxv + .byte W07 + .byte 12*mus_inter_v_mvl/mxv + .byte W05 + .byte 9*mus_inter_v_mvl/mxv + .byte W07 + .byte 4*mus_inter_v_mvl/mxv + .byte W05 + .byte 2*mus_inter_v_mvl/mxv + .byte W13 + .byte MOD , 0 + .byte VOL , 37*mus_inter_v_mvl/mxv + .byte N84 , Fs3 + .byte W36 + .byte MOD , 5 + .byte VOL , 44*mus_inter_v_mvl/mxv + .byte W06 + .byte 40*mus_inter_v_mvl/mxv + .byte W05 + .byte 33*mus_inter_v_mvl/mxv + .byte W07 + .byte 29*mus_inter_v_mvl/mxv + .byte W05 + .byte 25*mus_inter_v_mvl/mxv + .byte W07 + .byte 18*mus_inter_v_mvl/mxv + .byte W05 + .byte 9*mus_inter_v_mvl/mxv + .byte W07 + .byte 6*mus_inter_v_mvl/mxv + .byte W05 + .byte 4*mus_inter_v_mvl/mxv + .byte W01 + .byte MOD , 0 + .byte VOL , 37*mus_inter_v_mvl/mxv + .byte N06 , An3 + .byte W06 + .byte As3 + .byte W06 + .byte N96 , Bn3 + .byte W36 + .byte MOD , 5 + .byte VOL , 44*mus_inter_v_mvl/mxv + .byte W06 + .byte 34*mus_inter_v_mvl/mxv + .byte W05 + .byte 32*mus_inter_v_mvl/mxv + .byte W07 + .byte 27*mus_inter_v_mvl/mxv + .byte W05 + .byte 23*mus_inter_v_mvl/mxv + .byte W07 + .byte 20*mus_inter_v_mvl/mxv + .byte W05 + .byte 16*mus_inter_v_mvl/mxv + .byte W07 + .byte 12*mus_inter_v_mvl/mxv + .byte W05 + .byte 7*mus_inter_v_mvl/mxv + .byte W07 + .byte 4*mus_inter_v_mvl/mxv + .byte W06 + .byte GOTO + .word mus_inter_v_7_B1 + .byte MOD , 0 + .byte VOL , 37*mus_inter_v_mvl/mxv + .byte W96 + .byte FINE + +@********************** Track 8 **********************@ + +mus_inter_v_8: + .byte KEYSH , mus_inter_v_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 58*mus_inter_v_mvl/mxv + .byte W06 + .byte N06 , Cn1 , v112 + .byte N24 , An2 , v080 + .byte W18 + .byte N06 , Cn1 , v112 + .byte W18 + .byte N06 + .byte N24 , An2 , v068 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte N36 , An2 , v076 + .byte W12 + .byte N06 , Dn1 , v112 + .byte W12 + .byte Dn1 , v092 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v112 + .byte N24 , An2 , v072 + .byte W18 + .byte N06 , Cn1 , v112 + .byte W06 + .byte N06 + .byte W12 + .byte Dn1 , v116 + .byte N24 , An2 , v072 + .byte W12 + .byte N06 , Cn1 , v112 + .byte W12 + .byte Dn1 + .byte N36 , An2 , v072 + .byte W12 + .byte N06 , Dn1 , v112 + .byte W06 + .byte Dn1 , v072 + .byte W06 + .byte Dn1 , v092 + .byte W06 + .byte Dn1 , v064 + .byte W06 +mus_inter_v_8_B1: + .byte N48 , An2 , v092 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_inter_v_8_B1 + .byte W96 + .byte FINE + +@********************** Track 9 **********************@ + +mus_inter_v_9: + .byte KEYSH , mus_inter_v_key+0 + .byte VOICE , 82 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 60*mus_inter_v_mvl/mxv + .byte W06 + .byte N06 , En1 , v112 + .byte W18 + .byte N03 + .byte W06 + .byte N06 , En2 + .byte W12 + .byte En1 + .byte W06 + .byte Ds1 + .byte W06 + .byte N12 , Dn1 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N12 , Dn1 + .byte W12 + .byte N06 , Cs1 + .byte W18 + .byte N03 + .byte W06 + .byte N06 , Cs2 + .byte W12 + .byte N12 , Cs1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N12 , Cn2 + .byte W12 + .byte N06 , Dn1 + .byte W12 + .byte N12 , Dn2 + .byte W12 +mus_inter_v_9_B1: + .byte VOL , 27*mus_inter_v_mvl/mxv + .byte BEND , c_v+1 + .byte N18 , Bn1 , v112 + .byte W18 + .byte N03 , Bn2 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Bn1 + .byte W06 + .byte N03 , Bn2 + .byte W06 + .byte N24 , Bn1 + .byte W36 + .byte N06 , An1 + .byte W06 + .byte As1 + .byte W06 +mus_inter_v_9_000: + .byte N15 , Bn1 , v112 + .byte W18 + .byte N03 + .byte W18 + .byte N06 , An1 + .byte W06 + .byte As1 + .byte W06 + .byte N15 , Bn1 + .byte W18 + .byte N03 + .byte W18 + .byte N06 , An1 + .byte W06 + .byte As1 + .byte W06 + .byte PEND + .byte N18 , Bn1 + .byte W18 + .byte N03 , Bn2 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N24 , Bn1 + .byte W36 + .byte N06 , An1 + .byte W06 + .byte As1 + .byte W06 + .byte PATT + .word mus_inter_v_9_000 + .byte GOTO + .word mus_inter_v_9_B1 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +mus_inter_v: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_inter_v_pri @ Priority + .byte mus_inter_v_rev @ Reverb. + + .word mus_inter_v_grp + + .word mus_inter_v_1 + .word mus_inter_v_2 + .word mus_inter_v_3 + .word mus_inter_v_4 + .word mus_inter_v_5 + .word mus_inter_v_6 + .word mus_inter_v_7 + .word mus_inter_v_8 + .word mus_inter_v_9 + + .end diff --git a/sound/songs/mus_kachi1.s b/sound/songs/mus_kachi1.s new file mode 100644 index 0000000000..5eee09ed06 --- /dev/null +++ b/sound/songs/mus_kachi1.s @@ -0,0 +1,3186 @@ + .include "MPlayDef.s" + + .equ mus_kachi1_grp, voicegroup_8685448 + .equ mus_kachi1_pri, 0 + .equ mus_kachi1_rev, reverb_set+50 + .equ mus_kachi1_mvl, 127 + .equ mus_kachi1_key, 0 + .equ mus_kachi1_tbs, 1 + .equ mus_kachi1_exg, 0 + .equ mus_kachi1_cmp, 1 + + .section .rodata + .global mus_kachi1 + .align 2 + +@********************** Track 1 **********************@ + +mus_kachi1_1: + .byte KEYSH , mus_kachi1_key+0 + .byte TEMPO , 136*mus_kachi1_tbs/2 + .byte W08 + .byte VOICE , 56 + .byte PAN , c_v-16 + .byte VOL , 89*mus_kachi1_mvl/mxv + .byte N02 , Dn3 , v112 + .byte W02 + .byte Ds3 + .byte W02 + .byte En3 + .byte W02 + .byte Fn3 + .byte W02 + .byte N04 , Fs3 + .byte W04 + .byte Fs3 , v036 + .byte W04 + .byte N02 , Fs3 , v112 + .byte W02 + .byte N04 , Fs3 , v036 + .byte W06 + .byte N02 , Fs3 , v112 + .byte W02 + .byte N04 , Fs3 , v036 + .byte W06 + .byte N02 , Fs3 , v112 + .byte W02 + .byte N04 , Fs3 , v036 + .byte W06 + .byte N02 , Gn3 , v112 + .byte W02 + .byte N04 , Gn3 , v036 + .byte W06 + .byte N08 , An3 , v112 + .byte W08 + .byte VOL , 34*mus_kachi1_mvl/mxv + .byte N24 , Bn3 + .byte W02 + .byte VOL , 37*mus_kachi1_mvl/mxv + .byte W02 + .byte 40*mus_kachi1_mvl/mxv + .byte W02 + .byte 46*mus_kachi1_mvl/mxv + .byte W02 + .byte 49*mus_kachi1_mvl/mxv + .byte W02 + .byte 54*mus_kachi1_mvl/mxv + .byte W02 + .byte 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 67*mus_kachi1_mvl/mxv + .byte W02 + .byte 72*mus_kachi1_mvl/mxv + .byte W02 + .byte 78*mus_kachi1_mvl/mxv + .byte W02 + .byte 85*mus_kachi1_mvl/mxv + .byte W02 + .byte 91*mus_kachi1_mvl/mxv + .byte W02 + .byte 89*mus_kachi1_mvl/mxv + .byte PAN , c_v-32 + .byte N08 , Gn4 , v096 + .byte W08 + .byte N02 , Fs4 , v060 + .byte W02 + .byte Fn4 + .byte W02 + .byte VOICE , 17 + .byte N04 , Dn4 , v112 + .byte W02 + .byte PAN , c_v-16 + .byte W02 + .byte N04 , En4 + .byte W04 + .byte Fs4 + .byte W04 +mus_kachi1_1_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_kachi1_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_kachi1_2: + .byte KEYSH , mus_kachi1_key+0 + .byte W08 + .byte VOICE , 17 + .byte PAN , c_v+0 + .byte VOL , 85*mus_kachi1_mvl/mxv + .byte W08 + .byte W84 + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 59*mus_kachi1_mvl/mxv + .byte N08 , As3 , v096 + .byte W02 + .byte VOL , 69*mus_kachi1_mvl/mxv + .byte W02 + .byte 75*mus_kachi1_mvl/mxv + .byte W02 + .byte 81*mus_kachi1_mvl/mxv + .byte W02 +mus_kachi1_2_B1: + .byte VOL , 55*mus_kachi1_mvl/mxv + .byte PAN , c_v-16 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N04 , Bn3 , v096 + .byte W04 + .byte Bn3 , v036 + .byte W04 + .byte Dn3 , v064 + .byte W04 + .byte Dn3 , v036 + .byte W04 + .byte Gn3 , v064 + .byte W04 + .byte N02 , Gn3 , v036 + .byte W02 + .byte An3 , v096 + .byte W02 + .byte VOL , 29*mus_kachi1_mvl/mxv + .byte N24 , Bn3 + .byte W02 + .byte VOL , 32*mus_kachi1_mvl/mxv + .byte W02 + .byte 34*mus_kachi1_mvl/mxv + .byte W02 + .byte 38*mus_kachi1_mvl/mxv + .byte W02 + .byte 41*mus_kachi1_mvl/mxv + .byte W02 + .byte 44*mus_kachi1_mvl/mxv + .byte W02 + .byte 46*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 67*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N04 , En4 + .byte W04 + .byte En4 , v036 + .byte W04 + .byte En3 , v064 + .byte W04 + .byte En3 , v036 + .byte W04 + .byte An3 , v064 + .byte W04 + .byte N02 , An3 , v036 + .byte W02 + .byte Ds4 , v096 + .byte W02 + .byte VOL , 29*mus_kachi1_mvl/mxv + .byte N24 , En4 + .byte W02 + .byte VOL , 32*mus_kachi1_mvl/mxv + .byte W02 + .byte 34*mus_kachi1_mvl/mxv + .byte W02 + .byte 38*mus_kachi1_mvl/mxv + .byte W02 + .byte 41*mus_kachi1_mvl/mxv + .byte W02 + .byte 44*mus_kachi1_mvl/mxv + .byte W02 + .byte 46*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 67*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N04 , Dn4 + .byte W04 + .byte Dn4 , v036 + .byte W04 + .byte Bn3 , v064 + .byte W04 + .byte Bn3 , v036 + .byte W04 + .byte En4 , v064 + .byte W04 + .byte En4 , v036 + .byte W02 + .byte N02 , Gn4 , v096 + .byte W02 + .byte VOL , 29*mus_kachi1_mvl/mxv + .byte N24 , Fs4 + .byte W02 + .byte VOL , 32*mus_kachi1_mvl/mxv + .byte W02 + .byte 34*mus_kachi1_mvl/mxv + .byte W02 + .byte 38*mus_kachi1_mvl/mxv + .byte W02 + .byte 41*mus_kachi1_mvl/mxv + .byte W02 + .byte 44*mus_kachi1_mvl/mxv + .byte W02 + .byte 46*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 67*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N04 , Cn4 + .byte W04 + .byte Cn4 , v036 + .byte W04 + .byte Gn3 , v064 + .byte W04 + .byte Gn3 , v036 + .byte W04 + .byte Dn4 , v064 + .byte W04 + .byte Dn4 , v036 + .byte W02 + .byte N02 , Fn4 , v096 + .byte W02 + .byte VOL , 29*mus_kachi1_mvl/mxv + .byte N24 , En4 + .byte W02 + .byte VOL , 32*mus_kachi1_mvl/mxv + .byte W02 + .byte 34*mus_kachi1_mvl/mxv + .byte W02 + .byte 38*mus_kachi1_mvl/mxv + .byte W02 + .byte 41*mus_kachi1_mvl/mxv + .byte W02 + .byte 44*mus_kachi1_mvl/mxv + .byte W02 + .byte 46*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 67*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N04 , Bn3 + .byte W04 + .byte Bn3 , v036 + .byte W04 + .byte Dn3 , v064 + .byte W04 + .byte Dn3 , v036 + .byte W04 + .byte Gn3 , v064 + .byte W04 + .byte N02 , Gn3 , v036 + .byte W02 + .byte As3 , v096 + .byte W02 + .byte VOL , 29*mus_kachi1_mvl/mxv + .byte N24 , Bn3 + .byte W02 + .byte VOL , 32*mus_kachi1_mvl/mxv + .byte W02 + .byte 34*mus_kachi1_mvl/mxv + .byte W02 + .byte 38*mus_kachi1_mvl/mxv + .byte W02 + .byte 41*mus_kachi1_mvl/mxv + .byte W02 + .byte 44*mus_kachi1_mvl/mxv + .byte W02 + .byte 46*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 67*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N04 , En4 + .byte W04 + .byte En4 , v036 + .byte W04 + .byte En3 , v064 + .byte W04 + .byte En3 , v036 + .byte W04 + .byte An3 , v064 + .byte W04 + .byte N02 , An3 , v036 + .byte W02 + .byte Ds4 , v096 + .byte W02 + .byte VOL , 29*mus_kachi1_mvl/mxv + .byte N24 , En4 + .byte W02 + .byte VOL , 32*mus_kachi1_mvl/mxv + .byte W02 + .byte 34*mus_kachi1_mvl/mxv + .byte W02 + .byte 38*mus_kachi1_mvl/mxv + .byte W02 + .byte 41*mus_kachi1_mvl/mxv + .byte W02 + .byte 44*mus_kachi1_mvl/mxv + .byte W02 + .byte 46*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 67*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N04 , Dn4 + .byte W04 + .byte Dn4 , v036 + .byte W04 + .byte Bn3 , v096 + .byte W04 + .byte Bn3 , v036 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte N02 , En4 , v036 + .byte W02 + .byte Gn4 , v096 + .byte W02 + .byte VOL , 29*mus_kachi1_mvl/mxv + .byte N24 , Fs4 + .byte W02 + .byte VOL , 32*mus_kachi1_mvl/mxv + .byte W02 + .byte 34*mus_kachi1_mvl/mxv + .byte W02 + .byte 38*mus_kachi1_mvl/mxv + .byte W02 + .byte 41*mus_kachi1_mvl/mxv + .byte W02 + .byte 44*mus_kachi1_mvl/mxv + .byte W02 + .byte 46*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 67*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N04 , Gn4 + .byte W04 + .byte Gn4 , v036 + .byte W04 + .byte Dn4 , v096 + .byte W04 + .byte Dn4 , v036 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte N02 , En4 , v036 + .byte W02 + .byte Gn4 , v096 + .byte W02 + .byte VOL , 29*mus_kachi1_mvl/mxv + .byte N24 , Fs4 + .byte W02 + .byte VOL , 32*mus_kachi1_mvl/mxv + .byte W02 + .byte 34*mus_kachi1_mvl/mxv + .byte W02 + .byte 38*mus_kachi1_mvl/mxv + .byte W02 + .byte 41*mus_kachi1_mvl/mxv + .byte W02 + .byte 44*mus_kachi1_mvl/mxv + .byte W02 + .byte 46*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 67*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N04 , Bn3 + .byte W04 + .byte Bn3 , v036 + .byte W04 + .byte Dn3 , v064 + .byte W04 + .byte Dn3 , v036 + .byte W04 + .byte Gn3 , v064 + .byte W04 + .byte N02 , Gn3 , v036 + .byte W02 + .byte An3 , v096 + .byte W02 + .byte VOL , 29*mus_kachi1_mvl/mxv + .byte N24 , Bn3 + .byte W02 + .byte VOL , 32*mus_kachi1_mvl/mxv + .byte W02 + .byte 34*mus_kachi1_mvl/mxv + .byte W02 + .byte 38*mus_kachi1_mvl/mxv + .byte W02 + .byte 41*mus_kachi1_mvl/mxv + .byte W02 + .byte 44*mus_kachi1_mvl/mxv + .byte W02 + .byte 46*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 67*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N04 , En4 + .byte W04 + .byte En4 , v036 + .byte W04 + .byte En3 , v064 + .byte W04 + .byte En3 , v036 + .byte W04 + .byte An3 , v064 + .byte W04 + .byte N02 , An3 , v036 + .byte W02 + .byte Ds4 , v096 + .byte W02 + .byte VOL , 29*mus_kachi1_mvl/mxv + .byte N24 , En4 + .byte W02 + .byte VOL , 32*mus_kachi1_mvl/mxv + .byte W02 + .byte 34*mus_kachi1_mvl/mxv + .byte W02 + .byte 38*mus_kachi1_mvl/mxv + .byte W02 + .byte 41*mus_kachi1_mvl/mxv + .byte W02 + .byte 44*mus_kachi1_mvl/mxv + .byte W02 + .byte 46*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 67*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N04 , Dn4 + .byte W04 + .byte Dn4 , v036 + .byte W04 + .byte Fn3 , v064 + .byte W04 + .byte Fn3 , v036 + .byte W04 + .byte As3 , v064 + .byte W04 + .byte N02 , As3 , v036 + .byte W02 + .byte Ds4 , v096 + .byte W02 + .byte VOL , 29*mus_kachi1_mvl/mxv + .byte N24 , Dn4 + .byte W02 + .byte VOL , 32*mus_kachi1_mvl/mxv + .byte W02 + .byte 34*mus_kachi1_mvl/mxv + .byte W02 + .byte 38*mus_kachi1_mvl/mxv + .byte W02 + .byte 41*mus_kachi1_mvl/mxv + .byte W02 + .byte 44*mus_kachi1_mvl/mxv + .byte W02 + .byte 46*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 67*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N04 , En4 + .byte W04 + .byte En4 , v036 + .byte W04 + .byte Gn3 , v064 + .byte W04 + .byte Gn3 , v036 + .byte W04 + .byte Cn4 , v064 + .byte W04 + .byte N02 , Cn4 , v036 + .byte W02 + .byte Fn4 , v096 + .byte W02 + .byte VOL , 29*mus_kachi1_mvl/mxv + .byte N22 , En4 + .byte W02 + .byte VOL , 32*mus_kachi1_mvl/mxv + .byte W02 + .byte 34*mus_kachi1_mvl/mxv + .byte W02 + .byte 38*mus_kachi1_mvl/mxv + .byte W02 + .byte 41*mus_kachi1_mvl/mxv + .byte W02 + .byte 44*mus_kachi1_mvl/mxv + .byte W02 + .byte 46*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 67*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 23*mus_kachi1_mvl/mxv + .byte N02 , Ds4 + .byte W02 + .byte VOL , 23*mus_kachi1_mvl/mxv + .byte N44 , Dn4 + .byte W02 + .byte VOL , 24*mus_kachi1_mvl/mxv + .byte W02 + .byte 25*mus_kachi1_mvl/mxv + .byte W02 + .byte 26*mus_kachi1_mvl/mxv + .byte W02 + .byte 28*mus_kachi1_mvl/mxv + .byte W02 + .byte 29*mus_kachi1_mvl/mxv + .byte W04 + .byte 32*mus_kachi1_mvl/mxv + .byte W02 + .byte 34*mus_kachi1_mvl/mxv + .byte W02 + .byte 36*mus_kachi1_mvl/mxv + .byte W02 + .byte 40*mus_kachi1_mvl/mxv + .byte W02 + .byte 42*mus_kachi1_mvl/mxv + .byte W02 + .byte 46*mus_kachi1_mvl/mxv + .byte W02 + .byte 51*mus_kachi1_mvl/mxv + .byte W02 + .byte 54*mus_kachi1_mvl/mxv + .byte W02 + .byte 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W06 + .byte 46*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte VOL , 29*mus_kachi1_mvl/mxv + .byte N02 + .byte W02 + .byte VOL , 32*mus_kachi1_mvl/mxv + .byte W02 + .byte 34*mus_kachi1_mvl/mxv + .byte W02 + .byte 38*mus_kachi1_mvl/mxv + .byte W02 + .byte 41*mus_kachi1_mvl/mxv + .byte N02 + .byte W02 + .byte VOL , 44*mus_kachi1_mvl/mxv + .byte W02 + .byte 46*mus_kachi1_mvl/mxv + .byte N02 + .byte W02 + .byte VOL , 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte N02 + .byte W02 + .byte VOL , 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 67*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte 46*mus_kachi1_mvl/mxv + .byte N02 + .byte W08 + .byte N08 , Ds4 + .byte W08 + .byte N04 , Dn4 + .byte W08 + .byte VOL , 23*mus_kachi1_mvl/mxv + .byte N02 + .byte W02 + .byte VOL , 23*mus_kachi1_mvl/mxv + .byte N44 , Cs4 + .byte W02 + .byte VOL , 24*mus_kachi1_mvl/mxv + .byte W02 + .byte 25*mus_kachi1_mvl/mxv + .byte W02 + .byte 26*mus_kachi1_mvl/mxv + .byte W02 + .byte 28*mus_kachi1_mvl/mxv + .byte W02 + .byte 29*mus_kachi1_mvl/mxv + .byte W04 + .byte 32*mus_kachi1_mvl/mxv + .byte W02 + .byte 34*mus_kachi1_mvl/mxv + .byte W02 + .byte 36*mus_kachi1_mvl/mxv + .byte W02 + .byte 40*mus_kachi1_mvl/mxv + .byte W02 + .byte 42*mus_kachi1_mvl/mxv + .byte W02 + .byte 46*mus_kachi1_mvl/mxv + .byte W02 + .byte 51*mus_kachi1_mvl/mxv + .byte W02 + .byte 54*mus_kachi1_mvl/mxv + .byte W02 + .byte 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W06 + .byte 46*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte VOL , 29*mus_kachi1_mvl/mxv + .byte N24 , An3 + .byte W02 + .byte VOL , 32*mus_kachi1_mvl/mxv + .byte W02 + .byte 34*mus_kachi1_mvl/mxv + .byte W02 + .byte 38*mus_kachi1_mvl/mxv + .byte W02 + .byte 41*mus_kachi1_mvl/mxv + .byte W02 + .byte 44*mus_kachi1_mvl/mxv + .byte W02 + .byte 46*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 67*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N16 , Bn3 + .byte W16 + .byte N08 , An3 + .byte W08 + .byte GOTO + .word mus_kachi1_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_kachi1_3: + .byte KEYSH , mus_kachi1_key+0 + .byte W08 + .byte VOICE , 58 + .byte PAN , c_v+0 + .byte VOL , 91*mus_kachi1_mvl/mxv + .byte BEND , c_v+0 + .byte N02 , As1 , v112 + .byte W02 + .byte Bn1 + .byte W02 + .byte Cn2 + .byte W02 + .byte Cs2 + .byte W02 + .byte BEND , c_v+0 + .byte N04 , Dn2 + .byte W04 + .byte Dn2 , v036 + .byte W04 + .byte N02 , Dn2 , v112 + .byte W02 + .byte N04 , Dn2 , v036 + .byte W06 + .byte N02 , Dn2 , v112 + .byte W02 + .byte N04 , Dn2 , v036 + .byte W06 + .byte N02 , Dn2 , v112 + .byte W02 + .byte N04 , Dn2 , v036 + .byte W06 + .byte N02 , Cn2 , v112 + .byte W02 + .byte N04 , Cn2 , v036 + .byte W06 + .byte N08 , An1 , v112 + .byte W08 + .byte Gn1 + .byte W08 + .byte N02 , Fs1 + .byte W02 + .byte N04 , Fs1 , v036 + .byte W06 + .byte N08 , En1 , v112 + .byte W08 + .byte N16 , Dn1 + .byte W16 + .byte N04 , En1 + .byte W04 + .byte Fs1 + .byte W04 +mus_kachi1_3_B1: + .byte VOICE , 35 + .byte N04 , Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W04 + .byte N02 , Dn2 , v112 + .byte W02 + .byte N04 , Dn2 , v036 + .byte W06 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W04 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W04 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W04 + .byte N02 , Dn2 , v112 + .byte W02 + .byte N04 , Dn2 , v036 + .byte W06 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W04 + .byte N02 , Gn2 , v112 + .byte W02 + .byte N04 , Gn2 , v036 + .byte W06 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W04 + .byte N02 , Gn2 , v112 + .byte W02 + .byte N04 , Gn2 , v036 + .byte W06 + .byte N02 , Gn1 , v112 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W04 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W04 + .byte N02 , Fs1 , v112 + .byte W02 + .byte N04 , Fs1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W04 + .byte N02 , Dn2 , v112 + .byte W02 + .byte N04 , Dn2 , v036 + .byte W06 + .byte N02 , Gn2 , v112 + .byte W02 + .byte N04 , Gn2 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W04 + .byte N02 , En2 , v112 + .byte W02 + .byte N04 , En2 , v036 + .byte W06 + .byte N02 , An2 , v112 + .byte W02 + .byte N04 , An2 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W04 + .byte N02 , Fn2 , v112 + .byte W02 + .byte N04 , Fn2 , v036 + .byte W06 + .byte N02 , As2 , v112 + .byte W02 + .byte N04 , As2 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W04 + .byte N02 , Gn2 , v112 + .byte W02 + .byte N04 , Gn2 , v036 + .byte W06 + .byte N02 , Cn3 , v112 + .byte W02 + .byte N04 , Cn3 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W04 + .byte N02 , Gn2 , v112 + .byte W02 + .byte N04 , Gn2 , v036 + .byte W06 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte GOTO + .word mus_kachi1_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_kachi1_4: + .byte KEYSH , mus_kachi1_key+0 + .byte W08 + .byte VOICE , 56 + .byte LFOS , 44 + .byte PAN , c_v+16 + .byte VOL , 90*mus_kachi1_mvl/mxv + .byte N02 , As3 , v112 + .byte W02 + .byte Bn3 + .byte W02 + .byte Cn4 + .byte W02 + .byte Cs4 + .byte W02 + .byte N04 , Dn4 + .byte W04 + .byte Dn4 , v036 + .byte W04 + .byte N02 , Dn4 , v112 + .byte W02 + .byte N04 , Dn4 , v036 + .byte W06 + .byte N02 , Dn4 , v112 + .byte W02 + .byte N04 , Dn4 , v036 + .byte W06 + .byte N02 , Dn4 , v112 + .byte W02 + .byte N04 , Dn4 , v036 + .byte W06 + .byte En4 , v112 + .byte W04 + .byte En4 , v036 + .byte W04 + .byte N08 , Fs4 , v112 + .byte W08 + .byte VOL , 34*mus_kachi1_mvl/mxv + .byte N24 , Gn4 + .byte W02 + .byte VOL , 37*mus_kachi1_mvl/mxv + .byte W02 + .byte 40*mus_kachi1_mvl/mxv + .byte W02 + .byte 46*mus_kachi1_mvl/mxv + .byte W02 + .byte 49*mus_kachi1_mvl/mxv + .byte W02 + .byte 54*mus_kachi1_mvl/mxv + .byte W02 + .byte 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 67*mus_kachi1_mvl/mxv + .byte W02 + .byte VOICE , 56 + .byte VOL , 72*mus_kachi1_mvl/mxv + .byte W02 + .byte 78*mus_kachi1_mvl/mxv + .byte W02 + .byte 85*mus_kachi1_mvl/mxv + .byte W02 + .byte 91*mus_kachi1_mvl/mxv + .byte W02 + .byte PAN , c_v+32 + .byte VOL , 89*mus_kachi1_mvl/mxv + .byte N08 , Dn5 , v096 + .byte W08 + .byte PAN , c_v+0 + .byte N02 , Cs5 , v076 + .byte W02 + .byte PAN , c_v-24 + .byte N02 , Cn5 , v072 + .byte W02 + .byte PAN , c_v-32 + .byte N02 , Bn4 , v060 + .byte W02 + .byte An4 , v056 + .byte W02 + .byte Gn4 , v052 + .byte W02 + .byte Fs4 , v048 + .byte W02 + .byte En4 , v040 + .byte W02 + .byte Dn4 , v032 + .byte W02 +mus_kachi1_4_B1: + .byte VOICE , 17 + .byte PAN , c_v+16 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte N04 , Gn4 , v112 + .byte W04 + .byte Gn4 , v036 + .byte W04 + .byte Bn3 , v064 + .byte W04 + .byte Bn3 , v036 + .byte W04 + .byte Dn4 , v064 + .byte W04 + .byte N02 , Dn4 , v036 + .byte W02 + .byte Fs4 , v112 + .byte W02 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N24 , Gn4 + .byte W02 + .byte VOL , 50*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 56*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 64*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte 74*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte W02 + .byte 87*mus_kachi1_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte N04 , An4 + .byte W04 + .byte An4 , v036 + .byte W04 + .byte Cs4 , v064 + .byte W04 + .byte Cs4 , v036 + .byte W04 + .byte En4 , v064 + .byte W04 + .byte N02 , En4 , v036 + .byte W02 + .byte Gs4 , v112 + .byte W02 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N24 , An4 + .byte W02 + .byte VOL , 50*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 56*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 64*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte 74*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte W02 + .byte 87*mus_kachi1_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte N04 , Bn4 + .byte W04 + .byte Bn4 , v036 + .byte W04 + .byte Gn4 , v064 + .byte W04 + .byte Gn4 , v036 + .byte W04 + .byte Cn5 , v064 + .byte W04 + .byte N02 , Cn5 , v036 + .byte W02 + .byte Ds5 , v112 + .byte W02 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N24 , Dn5 + .byte W02 + .byte VOL , 50*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 56*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 64*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte 74*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte W02 + .byte 87*mus_kachi1_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte N04 , An4 + .byte W04 + .byte An4 , v036 + .byte W04 + .byte En4 , v064 + .byte W04 + .byte En4 , v036 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte N02 , Bn4 , v036 + .byte W02 + .byte Cs5 , v112 + .byte W02 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N24 , Cn5 + .byte W02 + .byte VOL , 50*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 56*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 64*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte 74*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte W02 + .byte 87*mus_kachi1_mvl/mxv + .byte W04 +mus_kachi1_4_000: + .byte MOD , 0 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte N04 , Gn4 , v112 + .byte W04 + .byte Gn4 , v036 + .byte W04 + .byte Bn3 , v064 + .byte W04 + .byte Bn3 , v036 + .byte W04 + .byte Dn4 , v064 + .byte W04 + .byte N02 , Dn4 , v036 + .byte W02 + .byte Fs4 , v112 + .byte W02 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N24 , Gn4 + .byte W02 + .byte VOL , 50*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 56*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 64*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte 74*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte W02 + .byte 87*mus_kachi1_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte N04 , An4 + .byte W04 + .byte An4 , v036 + .byte W04 + .byte Cs4 , v064 + .byte W04 + .byte Cs4 , v036 + .byte W04 + .byte En4 , v064 + .byte W04 + .byte N02 , En4 , v036 + .byte W02 + .byte Gs4 , v112 + .byte W02 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N24 , An4 + .byte W02 + .byte VOL , 50*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 56*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 64*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte 74*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte W02 + .byte 87*mus_kachi1_mvl/mxv + .byte W04 + .byte PEND + .byte MOD , 0 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte N04 , Bn4 + .byte W04 + .byte Bn4 , v036 + .byte W04 + .byte Gn4 , v064 + .byte W04 + .byte Gn4 , v036 + .byte W04 + .byte Cn5 , v064 + .byte W04 + .byte N02 , Cn5 , v036 + .byte W02 + .byte Ds5 , v112 + .byte W02 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N24 , Dn5 + .byte W02 + .byte VOL , 50*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 56*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 64*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte 74*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte W02 + .byte 87*mus_kachi1_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte N04 , Bn4 + .byte W04 + .byte Bn4 , v036 + .byte W04 + .byte Gn4 , v064 + .byte W04 + .byte Gn4 , v036 + .byte W04 + .byte Cn5 , v112 + .byte W04 + .byte N02 , Cn5 , v036 + .byte W02 + .byte Ds5 , v112 + .byte W02 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N24 , Dn5 + .byte W02 + .byte VOL , 50*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 56*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 64*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte 74*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte W02 + .byte 87*mus_kachi1_mvl/mxv + .byte W04 + .byte PATT + .word mus_kachi1_4_000 + .byte MOD , 0 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte N04 , As4 , v112 + .byte W04 + .byte As4 , v036 + .byte W04 + .byte Dn4 , v064 + .byte W04 + .byte Dn4 , v036 + .byte W04 + .byte Fn4 , v064 + .byte W04 + .byte N02 , Fn4 , v036 + .byte W02 + .byte Bn4 , v112 + .byte W02 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N24 , As4 + .byte W02 + .byte VOL , 50*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 56*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 64*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte 74*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte W02 + .byte 87*mus_kachi1_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte N04 , Cn5 + .byte W04 + .byte Cn5 , v036 + .byte W04 + .byte En4 , v064 + .byte W04 + .byte En4 , v036 + .byte W04 + .byte Gn4 , v064 + .byte W04 + .byte N02 , Gn4 , v036 + .byte W02 + .byte Cs5 , v112 + .byte W02 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N22 , Cn5 + .byte W02 + .byte VOL , 50*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 56*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 64*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte 74*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte W02 + .byte 87*mus_kachi1_mvl/mxv + .byte W02 + .byte N02 , Cn5 , v036 + .byte W02 + .byte MOD , 0 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N02 , Cn5 , v112 + .byte W02 + .byte N44 , Bn4 + .byte W04 + .byte VOL , 47*mus_kachi1_mvl/mxv + .byte W06 + .byte 49*mus_kachi1_mvl/mxv + .byte W02 + .byte 49*mus_kachi1_mvl/mxv + .byte W02 + .byte 51*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 55*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte 63*mus_kachi1_mvl/mxv + .byte W02 + .byte 64*mus_kachi1_mvl/mxv + .byte W02 + .byte 76*mus_kachi1_mvl/mxv + .byte W02 + .byte 85*mus_kachi1_mvl/mxv + .byte W02 + .byte 85*mus_kachi1_mvl/mxv + .byte W10 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte N02 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte As4 + .byte W02 + .byte N04 , Bn4 , v036 + .byte W06 + .byte N08 , Cn5 , v112 + .byte W08 + .byte N04 , Bn4 + .byte W04 + .byte Bn4 , v036 + .byte W04 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N02 , As4 , v112 + .byte W02 + .byte N44 , An4 + .byte W04 + .byte VOL , 47*mus_kachi1_mvl/mxv + .byte W02 + .byte 49*mus_kachi1_mvl/mxv + .byte W02 + .byte 50*mus_kachi1_mvl/mxv + .byte W02 + .byte 51*mus_kachi1_mvl/mxv + .byte W02 + .byte 54*mus_kachi1_mvl/mxv + .byte W02 + .byte 56*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 64*mus_kachi1_mvl/mxv + .byte W02 + .byte 65*mus_kachi1_mvl/mxv + .byte W02 + .byte 72*mus_kachi1_mvl/mxv + .byte W02 + .byte 76*mus_kachi1_mvl/mxv + .byte W02 + .byte 78*mus_kachi1_mvl/mxv + .byte W02 + .byte 81*mus_kachi1_mvl/mxv + .byte W02 + .byte 84*mus_kachi1_mvl/mxv + .byte W08 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte N24 , En4 + .byte W02 + .byte VOL , 50*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 56*mus_kachi1_mvl/mxv + .byte W02 + .byte 57*mus_kachi1_mvl/mxv + .byte W02 + .byte 60*mus_kachi1_mvl/mxv + .byte W02 + .byte 64*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 + .byte 74*mus_kachi1_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte W02 + .byte 87*mus_kachi1_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 81*mus_kachi1_mvl/mxv + .byte N04 , Bn3 , v064 + .byte W04 + .byte Cn4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte GOTO + .word mus_kachi1_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_kachi1_5: + .byte KEYSH , mus_kachi1_key+0 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte W08 + .byte VOICE , 75 + .byte PAN , c_v+0 + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte W08 + .byte PAN , c_v+0 + .byte LFOS , 36 + .byte W48 + .byte N24 , Gn3 , v112 + .byte W24 + .byte N08 , Dn3 + .byte W08 + .byte En3 + .byte W08 + .byte Fs3 + .byte W08 +mus_kachi1_5_B1: + .byte VOL , 46*mus_kachi1_mvl/mxv + .byte BEND , c_v-5 + .byte N04 , Gn4 , v112 + .byte W08 + .byte Bn3 , v064 + .byte W08 + .byte Dn4 + .byte W06 + .byte N02 , Fs4 , v112 + .byte W02 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N04 , An4 + .byte W08 + .byte Cs4 , v064 + .byte W08 + .byte En4 + .byte W06 + .byte N02 , Gs4 , v112 + .byte W02 + .byte N24 , An4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N04 , Bn4 + .byte W08 + .byte Gn4 , v064 + .byte W08 + .byte Cn5 + .byte W06 + .byte N02 , Ds5 , v112 + .byte W02 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N04 , An4 + .byte W08 + .byte En4 , v064 + .byte W08 + .byte Bn4 + .byte W06 + .byte N02 , Cs5 , v112 + .byte W02 + .byte N24 , Cn5 + .byte W12 + .byte MOD , 6 + .byte W12 +mus_kachi1_5_000: + .byte MOD , 0 + .byte N04 , Gn4 , v112 + .byte W08 + .byte Bn3 , v064 + .byte W08 + .byte Dn4 + .byte W06 + .byte N02 , Fs4 , v112 + .byte W02 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N04 , An4 + .byte W08 + .byte Cs4 , v064 + .byte W08 + .byte En4 + .byte W06 + .byte N02 , Gs4 , v112 + .byte W02 + .byte N24 , An4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte PEND + .byte 0 + .byte N04 , Bn4 + .byte W16 + .byte Cn5 + .byte W06 + .byte N02 , Ds5 + .byte W02 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N04 , Bn4 + .byte W16 + .byte Cn5 + .byte W06 + .byte N02 , Ds5 + .byte W02 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte PATT + .word mus_kachi1_5_000 + .byte MOD , 0 + .byte N04 , As4 , v112 + .byte W08 + .byte Dn4 , v064 + .byte W08 + .byte Fn4 + .byte W06 + .byte N02 , Bn4 , v112 + .byte W02 + .byte N24 , As4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N04 , Cn5 + .byte W08 + .byte En4 , v064 + .byte W08 + .byte Gn4 + .byte W06 + .byte N02 , Cs5 , v112 + .byte W02 + .byte N22 , Cn5 + .byte W12 + .byte LFOS , 46 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte BEND , c_v+0 + .byte N02 , As5 + .byte W02 + .byte N36 , Bn5 + .byte W32 + .byte W02 + .byte MOD , 8 + .byte W04 + .byte N02 , Gn5 , v060 + .byte W02 + .byte Fs5 + .byte W02 + .byte En5 + .byte W02 + .byte Ds5 + .byte W02 + .byte MOD , 0 + .byte N24 , Dn5 , v108 + .byte W24 + .byte N02 , As5 , v032 + .byte W02 + .byte N06 , Bn5 , v112 + .byte W06 + .byte N08 , Cn6 + .byte W08 + .byte N04 , Bn5 + .byte W08 + .byte N02 , As5 + .byte W02 + .byte N44 , An5 + .byte W32 + .byte W02 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , En5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N04 , Bn4 , v064 + .byte W04 + .byte Cn5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Dn5 + .byte W04 + .byte En5 + .byte W04 + .byte Fs5 + .byte W04 + .byte GOTO + .word mus_kachi1_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_kachi1_6: + .byte KEYSH , mus_kachi1_key+0 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte W08 + .byte VOICE , 83 + .byte PAN , c_v-62 + .byte VOL , 57*mus_kachi1_mvl/mxv + .byte N02 , As2 , v112 + .byte W02 + .byte Bn2 + .byte W02 + .byte Cn3 + .byte W02 + .byte Cs3 + .byte W02 + .byte LFOS , 41 + .byte N04 , Dn3 + .byte W04 + .byte Dn3 , v036 + .byte W04 + .byte N02 , Dn3 , v112 + .byte W02 + .byte N04 , Dn3 , v036 + .byte W06 + .byte N02 , Dn3 , v112 + .byte W02 + .byte N04 , Dn3 , v036 + .byte W06 + .byte N02 , Dn3 , v112 + .byte W02 + .byte N04 , Dn3 , v036 + .byte W06 + .byte N02 , Cn3 , v112 + .byte W02 + .byte N04 , Cn3 , v036 + .byte W06 + .byte N08 , An2 , v112 + .byte W08 + .byte VOL , 23*mus_kachi1_mvl/mxv + .byte N24 , Gn2 + .byte W02 + .byte VOL , 26*mus_kachi1_mvl/mxv + .byte W02 + .byte 27*mus_kachi1_mvl/mxv + .byte W02 + .byte 29*mus_kachi1_mvl/mxv + .byte W02 + .byte 34*mus_kachi1_mvl/mxv + .byte W02 + .byte 40*mus_kachi1_mvl/mxv + .byte W02 + .byte 44*mus_kachi1_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 59*mus_kachi1_mvl/mxv + .byte W02 + .byte 62*mus_kachi1_mvl/mxv + .byte W04 + .byte 15*mus_kachi1_mvl/mxv + .byte MOD , 0 + .byte N24 , Bn2 + .byte W04 + .byte VOL , 17*mus_kachi1_mvl/mxv + .byte W02 + .byte 21*mus_kachi1_mvl/mxv + .byte W02 + .byte 23*mus_kachi1_mvl/mxv + .byte W02 + .byte 27*mus_kachi1_mvl/mxv + .byte W02 + .byte 33*mus_kachi1_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 39*mus_kachi1_mvl/mxv + .byte W02 + .byte 44*mus_kachi1_mvl/mxv + .byte W02 + .byte 50*mus_kachi1_mvl/mxv + .byte W02 + .byte 61*mus_kachi1_mvl/mxv + .byte W02 + .byte 69*mus_kachi1_mvl/mxv + .byte W02 +mus_kachi1_6_B1: + .byte VOICE , 80 + .byte VOL , 31*mus_kachi1_mvl/mxv + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N02 , Bn3 , v096 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte Dn4 , v096 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Bn4 , v096 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Dn4 , v096 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Bn3 , v096 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte An4 , v096 + .byte W04 + .byte An4 , v032 + .byte W04 + .byte Cs5 , v096 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte An4 , v096 + .byte W04 + .byte An4 , v032 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte Dn4 , v096 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Bn4 , v096 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte Bn4 , v096 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Cn4 , v096 + .byte W04 + .byte Cn4 , v032 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Cn5 , v096 + .byte W04 + .byte Cn5 , v032 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte En4 , v032 + .byte W04 +mus_kachi1_6_000: + .byte N02 , Bn3 , v096 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte Dn4 , v096 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Bn4 , v096 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Dn4 , v096 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Bn3 , v096 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte An4 , v096 + .byte W04 + .byte An4 , v032 + .byte W04 + .byte Cs5 , v096 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte An4 , v096 + .byte W04 + .byte An4 , v032 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte PEND + .byte Dn5 , v096 + .byte W08 + .byte Bn4 + .byte W08 + .byte Gn4 + .byte W08 + .byte N04 , Bn3 , v064 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Cn5 + .byte W04 + .byte N02 , En5 , v096 + .byte W08 + .byte Cn5 + .byte W08 + .byte An4 + .byte W08 + .byte N04 , Cn5 , v064 + .byte W04 + .byte An4 + .byte W04 + .byte Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Cn4 + .byte W04 + .byte PATT + .word mus_kachi1_6_000 + .byte N02 , As3 , v096 + .byte W04 + .byte As3 , v032 + .byte W04 + .byte Dn4 , v096 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Fn4 , v096 + .byte W04 + .byte Fn4 , v032 + .byte W04 + .byte As4 , v096 + .byte W04 + .byte As4 , v032 + .byte W04 + .byte Fn4 , v096 + .byte W04 + .byte Fn4 , v032 + .byte W04 + .byte Dn4 , v096 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Cn4 , v096 + .byte W04 + .byte Cn4 , v032 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Cn5 , v096 + .byte W04 + .byte Cn5 , v032 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte PAN , c_v+0 + .byte BEND , c_v+4 + .byte N04 , Bn3 , v084 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Fs5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cs4 + .byte W04 + .byte En4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Cs5 + .byte W04 + .byte En5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Cs5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte GOTO + .word mus_kachi1_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_kachi1_7: + .byte KEYSH , mus_kachi1_key+0 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte W08 + .byte VOICE , 82 + .byte PAN , c_v+63 + .byte VOL , 57*mus_kachi1_mvl/mxv + .byte W02 + .byte N02 , Ds3 , v112 + .byte W02 + .byte En3 + .byte W02 + .byte Fn3 + .byte W02 + .byte LFOS , 41 + .byte N04 , Fs3 + .byte W04 + .byte Fs3 , v036 + .byte W04 + .byte N02 , Fs3 , v112 + .byte W02 + .byte N04 , Fs3 , v036 + .byte W06 + .byte N02 , Fs3 , v112 + .byte W02 + .byte N04 , Fs3 , v036 + .byte W06 + .byte N02 , Fs3 , v112 + .byte W02 + .byte N04 , Fs3 , v036 + .byte W06 + .byte N02 , Gn3 , v112 + .byte W02 + .byte N04 , Gn3 , v036 + .byte W06 + .byte An3 , v112 + .byte W04 + .byte An3 , v036 + .byte W04 + .byte VOL , 23*mus_kachi1_mvl/mxv + .byte N24 , Bn3 , v112 + .byte W02 + .byte VOL , 24*mus_kachi1_mvl/mxv + .byte W02 + .byte 29*mus_kachi1_mvl/mxv + .byte W04 + .byte 32*mus_kachi1_mvl/mxv + .byte W02 + .byte 37*mus_kachi1_mvl/mxv + .byte W02 + .byte 43*mus_kachi1_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 44*mus_kachi1_mvl/mxv + .byte W02 + .byte 52*mus_kachi1_mvl/mxv + .byte W02 + .byte 62*mus_kachi1_mvl/mxv + .byte W02 + .byte 65*mus_kachi1_mvl/mxv + .byte W04 + .byte 46*mus_kachi1_mvl/mxv + .byte MOD , 0 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 8 + .byte W12 +mus_kachi1_7_B1: + .byte VOICE , 81 + .byte VOL , 32*mus_kachi1_mvl/mxv + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N02 , Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Bn4 , v096 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte Gn5 , v096 + .byte W04 + .byte Gn5 , v032 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte Bn4 , v096 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte PAN , c_v+63 + .byte N02 , Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Cs5 , v096 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte En5 , v096 + .byte W04 + .byte En5 , v032 + .byte W04 + .byte An5 , v096 + .byte W04 + .byte An5 , v032 + .byte W04 + .byte En5 , v096 + .byte W04 + .byte En5 , v032 + .byte W04 + .byte Cs5 , v096 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte PAN , c_v-62 + .byte N02 , Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte Fs5 , v096 + .byte W04 + .byte Fs5 , v032 + .byte W04 + .byte Bn5 , v096 + .byte W04 + .byte Bn5 , v032 + .byte W04 + .byte Fs5 , v096 + .byte W04 + .byte Fs5 , v032 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte PAN , c_v+63 + .byte N02 , Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Cn5 , v096 + .byte W04 + .byte Cn5 , v032 + .byte W04 + .byte En5 , v096 + .byte W04 + .byte En5 , v032 + .byte W04 + .byte An5 , v096 + .byte W04 + .byte An5 , v032 + .byte W04 + .byte En5 , v096 + .byte W04 + .byte En5 , v032 + .byte W04 + .byte Cn5 , v096 + .byte W04 + .byte Cn5 , v032 + .byte W04 +mus_kachi1_7_000: + .byte PAN , c_v-63 + .byte N02 , Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Bn4 , v096 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte Gn5 , v096 + .byte W04 + .byte Gn5 , v032 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte Bn4 , v096 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte PAN , c_v+63 + .byte N02 , Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Cs5 , v096 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte En5 , v096 + .byte W04 + .byte En5 , v032 + .byte W04 + .byte An5 , v096 + .byte W04 + .byte An5 , v032 + .byte W04 + .byte En5 , v096 + .byte W04 + .byte En5 , v032 + .byte W04 + .byte Cs5 , v096 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte PEND + .byte PAN , c_v-63 + .byte N02 , Fs5 , v096 + .byte W08 + .byte Dn5 + .byte W08 + .byte Bn4 + .byte W08 + .byte N04 , Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Fs5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Gs5 + .byte W04 + .byte PAN , c_v+63 + .byte N02 , An5 + .byte W08 + .byte En5 + .byte W08 + .byte Cn5 + .byte W08 + .byte N04 , An5 + .byte W04 + .byte Fs5 + .byte W04 + .byte En5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Cn5 + .byte W04 + .byte An4 + .byte W04 + .byte PATT + .word mus_kachi1_7_000 + .byte PAN , c_v-63 + .byte N02 , Fn4 , v096 + .byte W04 + .byte Fn4 , v032 + .byte W04 + .byte As4 , v096 + .byte W04 + .byte As4 , v032 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte Fn5 , v096 + .byte W04 + .byte Fn5 , v032 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte As4 , v096 + .byte W04 + .byte As4 , v032 + .byte W04 + .byte PAN , c_v+63 + .byte N02 , Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Cn5 , v096 + .byte W04 + .byte Cn5 , v032 + .byte W04 + .byte En5 , v096 + .byte W04 + .byte En5 , v032 + .byte W04 + .byte Gn5 , v096 + .byte W04 + .byte Gn5 , v032 + .byte W04 + .byte En5 , v096 + .byte W04 + .byte En5 , v032 + .byte W04 + .byte Cn5 , v096 + .byte W04 + .byte Cn5 , v032 + .byte W04 + .byte PAN , c_v+0 + .byte N04 , Gn4 , v084 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Fs5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Bn5 + .byte W04 + .byte Dn6 + .byte W04 + .byte Bn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Fs5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Bn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Fs5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Gn5 + .byte W04 + .byte Fs5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Cs5 + .byte W04 + .byte En5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Bn5 + .byte W04 + .byte Cs6 + .byte W04 + .byte Bn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte En5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Bn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte En5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Gn5 + .byte W04 + .byte En5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte GOTO + .word mus_kachi1_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_kachi1_8: + .byte KEYSH , mus_kachi1_key+0 + .byte W08 + .byte VOICE , 0 + .byte VOL , 69*mus_kachi1_mvl/mxv + .byte PAN , c_v+0 + .byte N02 , Cn1 , v112 + .byte W02 + .byte En1 , v064 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte En1 , v112 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N06 , Cn1 + .byte W08 + .byte N02 + .byte W08 + .byte N04 , En1 + .byte W08 + .byte Dn1 + .byte W08 + .byte N24 , An2 + .byte W24 +mus_kachi1_8_B1: +mus_kachi1_8_000: + .byte N04 , Cn1 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte N04 , En1 , v112 + .byte W16 + .byte Cn1 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte N04 , En1 , v112 + .byte W08 + .byte Dn1 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte PEND + .byte N04 , Cn1 , v112 + .byte W08 + .byte En1 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte N04 , En1 , v112 + .byte W16 + .byte Cn1 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte N04 , Dn1 , v112 + .byte W08 + .byte Cn1 + .byte W08 + .byte N04 + .byte W08 + .byte PATT + .word mus_kachi1_8_000 + .byte N04 , Cn1 , v112 + .byte W08 + .byte En1 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte N04 , En1 , v112 + .byte W16 + .byte N02 , Cn1 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte N04 , Dn1 , v112 + .byte W08 + .byte Cn1 + .byte W08 + .byte N04 + .byte W08 + .byte PATT + .word mus_kachi1_8_000 + .byte N04 , Cn1 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte N04 , En1 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte Cn1 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte N04 , Dn1 , v112 + .byte W08 + .byte Cn1 + .byte W08 + .byte Dn1 + .byte W08 + .byte PATT + .word mus_kachi1_8_000 + .byte N04 , Cn1 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte N04 , En1 , v112 + .byte W16 + .byte Cn1 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte N04 , Dn1 , v112 + .byte W08 + .byte Cn1 + .byte W08 + .byte N04 + .byte W08 + .byte GOTO + .word mus_kachi1_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_kachi1_9: + .byte KEYSH , mus_kachi1_key+0 + .byte PAN , c_v+0 + .byte VOL , 42*mus_kachi1_mvl/mxv + .byte W08 + .byte VOICE , 127 + .byte W08 + .byte N04 , Gn4 , v112 + .byte W08 + .byte N02 , Gn4 , v080 + .byte W08 + .byte Gn4 , v084 + .byte W08 + .byte Cn5 , v096 + .byte W08 + .byte Cn5 , v080 + .byte W08 + .byte N02 + .byte W08 + .byte Dn4 , v112 + .byte W08 + .byte En3 + .byte W08 + .byte N02 + .byte W08 + .byte VOICE , 126 + .byte PAN , c_v+63 + .byte N24 , Cn5 , v120 + .byte W08 + .byte PAN , c_v-64 + .byte W16 +mus_kachi1_9_B1: + .byte VOICE , 127 + .byte PAN , c_v+0 + .byte N04 , Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte Cn5 + .byte W08 + .byte Gn5 + .byte W08 + .byte N04 + .byte W08 + .byte Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte Cn5 + .byte W08 + .byte Gn5 + .byte W08 + .byte N04 + .byte W08 +mus_kachi1_9_000: + .byte N04 , Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte Cn5 + .byte W08 + .byte Gn5 + .byte W08 + .byte N04 + .byte W08 + .byte Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte Cn5 + .byte W08 + .byte Gn5 + .byte W08 + .byte N04 + .byte W08 + .byte PEND + .byte PATT + .word mus_kachi1_9_000 + .byte N04 , Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte N02 , Gn5 , v112 + .byte W04 + .byte Gn5 , v064 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 , Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte N02 , Gn5 , v112 + .byte W04 + .byte Gn5 , v064 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte PATT + .word mus_kachi1_9_000 + .byte PATT + .word mus_kachi1_9_000 + .byte PATT + .word mus_kachi1_9_000 + .byte N04 , Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte Cn5 + .byte W08 + .byte Gn5 + .byte W08 + .byte N04 + .byte W08 + .byte Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte N02 , Gn5 , v112 + .byte W04 + .byte Gn5 , v064 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte GOTO + .word mus_kachi1_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_kachi1: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_kachi1_pri @ Priority + .byte mus_kachi1_rev @ Reverb. + + .word mus_kachi1_grp + + .word mus_kachi1_1 + .word mus_kachi1_2 + .word mus_kachi1_3 + .word mus_kachi1_4 + .word mus_kachi1_5 + .word mus_kachi1_6 + .word mus_kachi1_7 + .word mus_kachi1_8 + .word mus_kachi1_9 + + .end diff --git a/sound/songs/mus_kachi2.s b/sound/songs/mus_kachi2.s new file mode 100644 index 0000000000..84268ff101 --- /dev/null +++ b/sound/songs/mus_kachi2.s @@ -0,0 +1,1073 @@ + .include "MPlayDef.s" + + .equ mus_kachi2_grp, voicegroup_867AFB4 + .equ mus_kachi2_pri, 0 + .equ mus_kachi2_rev, reverb_set+50 + .equ mus_kachi2_mvl, 127 + .equ mus_kachi2_key, 0 + .equ mus_kachi2_tbs, 1 + .equ mus_kachi2_exg, 0 + .equ mus_kachi2_cmp, 1 + + .section .rodata + .global mus_kachi2 + .align 2 + +@********************** Track 1 **********************@ + +mus_kachi2_1: + .byte KEYSH , mus_kachi2_key+0 + .byte TEMPO , 140*mus_kachi2_tbs/2 + .byte W09 + .byte VOICE , 73 + .byte VOL , 80*mus_kachi2_mvl/mxv + .byte BENDR , 3 + .byte PAN , c_v-8 + .byte BEND , c_v+0 + .byte N06 , En4 , v112 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte N68 , Bn4 + .byte W06 + .byte VOL , 69*mus_kachi2_mvl/mxv + .byte W03 + .byte 60*mus_kachi2_mvl/mxv + .byte W03 + .byte 52*mus_kachi2_mvl/mxv + .byte W06 + .byte 45*mus_kachi2_mvl/mxv + .byte W06 + .byte 37*mus_kachi2_mvl/mxv + .byte W12 + .byte MOD , 5 + .byte W03 + .byte VOL , 44*mus_kachi2_mvl/mxv + .byte W06 + .byte 49*mus_kachi2_mvl/mxv + .byte W03 + .byte 56*mus_kachi2_mvl/mxv + .byte W03 + .byte 63*mus_kachi2_mvl/mxv + .byte W03 + .byte 70*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte W15 +mus_kachi2_1_B1: + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N06 , Bn4 , v112 + .byte W12 + .byte An4 + .byte W12 + .byte Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte Cs5 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Bn4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte An4 + .byte W12 + .byte Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte Cs5 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Bn4 + .byte W24 + .byte Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte As4 + .byte W06 +mus_kachi2_1_000: + .byte N06 , Cn5 , v112 + .byte W12 + .byte As4 + .byte W12 + .byte An4 + .byte W12 + .byte As4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte PEND + .byte Dn5 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Cn5 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte PATT + .word mus_kachi2_1_000 + .byte N06 , Dn5 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Cn5 + .byte W24 + .byte Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs4 + .byte W06 + .byte An4 + .byte W06 + .byte GOTO + .word mus_kachi2_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_kachi2_2: + .byte KEYSH , mus_kachi2_key+0 + .byte W09 + .byte VOICE , 56 + .byte VOL , 80*mus_kachi2_mvl/mxv + .byte PAN , c_v+10 + .byte N06 , Gs3 , v080 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte N68 , En4 , v100 + .byte W06 + .byte VOL , 69*mus_kachi2_mvl/mxv + .byte W03 + .byte 60*mus_kachi2_mvl/mxv + .byte W03 + .byte 52*mus_kachi2_mvl/mxv + .byte W06 + .byte 45*mus_kachi2_mvl/mxv + .byte W06 + .byte 37*mus_kachi2_mvl/mxv + .byte W12 + .byte MOD , 5 + .byte W03 + .byte VOL , 44*mus_kachi2_mvl/mxv + .byte W06 + .byte 49*mus_kachi2_mvl/mxv + .byte W03 + .byte 56*mus_kachi2_mvl/mxv + .byte W03 + .byte 63*mus_kachi2_mvl/mxv + .byte W03 + .byte 70*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte W15 +mus_kachi2_2_B1: + .byte VOICE , 56 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte W12 + .byte N06 , En3 , v092 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W36 + .byte VOICE , 47 + .byte PAN , c_v+10 + .byte N12 , An1 , v112 + .byte W12 + .byte Bn1 + .byte W48 + .byte VOICE , 56 + .byte PAN , c_v+0 + .byte W12 + .byte N06 , En3 , v092 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte VOICE , 47 + .byte PAN , c_v+10 + .byte N12 , An1 , v112 + .byte W24 + .byte Bn1 + .byte W48 +mus_kachi2_2_000: + .byte VOICE , 56 + .byte PAN , c_v+0 + .byte W12 + .byte N06 , Fn3 , v092 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte N06 + .byte W36 + .byte VOICE , 47 + .byte PAN , c_v+10 + .byte N12 , As1 , v112 + .byte W12 + .byte Cn2 + .byte W48 + .byte PATT + .word mus_kachi2_2_000 + .byte N06 , Fn3 , v092 + .byte W24 + .byte VOICE , 47 + .byte PAN , c_v+10 + .byte N12 , As1 , v112 + .byte W24 + .byte Cn2 + .byte W48 + .byte GOTO + .word mus_kachi2_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_kachi2_3: + .byte KEYSH , mus_kachi2_key+0 + .byte W09 + .byte VOICE , 58 + .byte VOL , 80*mus_kachi2_mvl/mxv + .byte W24 + .byte N21 , En1 , v127 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte N21 , Bn0 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte N21 , Gs0 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 +mus_kachi2_3_B1: + .byte VOL , 80*mus_kachi2_mvl/mxv + .byte N21 , En1 , v127 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte N21 , Bn0 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte N21 , En1 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte N21 , Bn0 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte N48 , An1 + .byte W06 + .byte VOL , 67*mus_kachi2_mvl/mxv + .byte W03 + .byte 58*mus_kachi2_mvl/mxv + .byte W06 + .byte 54*mus_kachi2_mvl/mxv + .byte W06 + .byte 57*mus_kachi2_mvl/mxv + .byte W06 + .byte 64*mus_kachi2_mvl/mxv + .byte W03 + .byte 69*mus_kachi2_mvl/mxv + .byte W03 + .byte 76*mus_kachi2_mvl/mxv + .byte W06 + .byte 80*mus_kachi2_mvl/mxv + .byte W09 + .byte 62*mus_kachi2_mvl/mxv + .byte N48 , Bn1 + .byte W06 + .byte VOL , 65*mus_kachi2_mvl/mxv + .byte W06 + .byte 67*mus_kachi2_mvl/mxv + .byte W06 + .byte 69*mus_kachi2_mvl/mxv + .byte W06 + .byte 73*mus_kachi2_mvl/mxv + .byte W09 + .byte 76*mus_kachi2_mvl/mxv + .byte W06 + .byte 80*mus_kachi2_mvl/mxv + .byte W09 + .byte N21 , En1 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte N21 , Bn0 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte N21 , En1 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte N21 , Bn0 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte N24 , An1 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W30 + .byte 80*mus_kachi2_mvl/mxv + .byte N21 , En1 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte N21 , Cn1 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte N21 , Fn1 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte N21 , Cn1 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte N21 , Fn1 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte N21 , Cn1 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte N48 , As1 + .byte W06 + .byte VOL , 67*mus_kachi2_mvl/mxv + .byte W03 + .byte 58*mus_kachi2_mvl/mxv + .byte W06 + .byte 54*mus_kachi2_mvl/mxv + .byte W06 + .byte 57*mus_kachi2_mvl/mxv + .byte W06 + .byte 64*mus_kachi2_mvl/mxv + .byte W03 + .byte 69*mus_kachi2_mvl/mxv + .byte W03 + .byte 76*mus_kachi2_mvl/mxv + .byte W06 + .byte 80*mus_kachi2_mvl/mxv + .byte W09 + .byte 62*mus_kachi2_mvl/mxv + .byte N48 , Cn2 + .byte W06 + .byte VOL , 65*mus_kachi2_mvl/mxv + .byte W06 + .byte 67*mus_kachi2_mvl/mxv + .byte W06 + .byte 69*mus_kachi2_mvl/mxv + .byte W06 + .byte 73*mus_kachi2_mvl/mxv + .byte W09 + .byte 76*mus_kachi2_mvl/mxv + .byte W06 + .byte 80*mus_kachi2_mvl/mxv + .byte W09 + .byte N21 , Fn1 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte N21 , Cn1 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte N21 , Fn1 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte N21 , Cn1 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte N24 , As1 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W30 + .byte 80*mus_kachi2_mvl/mxv + .byte N24 , Fn1 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte N24 , Bn0 + .byte W12 + .byte VOL , 73*mus_kachi2_mvl/mxv + .byte W03 + .byte 61*mus_kachi2_mvl/mxv + .byte W03 + .byte 37*mus_kachi2_mvl/mxv + .byte W03 + .byte 25*mus_kachi2_mvl/mxv + .byte W03 + .byte GOTO + .word mus_kachi2_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_kachi2_4: + .byte KEYSH , mus_kachi2_key+0 + .byte W09 + .byte VOICE , 82 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v-48 + .byte VOL , 80*mus_kachi2_mvl/mxv + .byte N06 , Bn2 , v052 + .byte W06 + .byte Cs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N72 , Gs3 + .byte W06 + .byte VOL , 69*mus_kachi2_mvl/mxv + .byte W03 + .byte 60*mus_kachi2_mvl/mxv + .byte W03 + .byte 52*mus_kachi2_mvl/mxv + .byte W06 + .byte 45*mus_kachi2_mvl/mxv + .byte W06 + .byte 37*mus_kachi2_mvl/mxv + .byte W15 + .byte 44*mus_kachi2_mvl/mxv + .byte W06 + .byte 49*mus_kachi2_mvl/mxv + .byte W03 + .byte 56*mus_kachi2_mvl/mxv + .byte W03 + .byte 63*mus_kachi2_mvl/mxv + .byte W03 + .byte 70*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte W15 +mus_kachi2_4_B1: + .byte PAN , c_v+0 + .byte W12 + .byte N06 , Bn2 , v060 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Cs3 + .byte W96 + .byte W12 + .byte Bn2 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Cs3 + .byte W96 +mus_kachi2_4_000: + .byte W12 + .byte N06 , Cn3 , v060 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte Dn3 + .byte W96 + .byte PATT + .word mus_kachi2_4_000 + .byte N06 , Dn3 , v060 + .byte W96 + .byte GOTO + .word mus_kachi2_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_kachi2_5: + .byte KEYSH , mus_kachi2_key+0 + .byte W09 + .byte VOICE , 80 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v+48 + .byte VOL , 80*mus_kachi2_mvl/mxv + .byte N06 , Gs2 , v052 + .byte W06 + .byte An2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Ds3 + .byte W06 + .byte N72 , En3 + .byte W06 + .byte VOL , 69*mus_kachi2_mvl/mxv + .byte W03 + .byte 60*mus_kachi2_mvl/mxv + .byte W03 + .byte 52*mus_kachi2_mvl/mxv + .byte W06 + .byte 45*mus_kachi2_mvl/mxv + .byte W06 + .byte 37*mus_kachi2_mvl/mxv + .byte W15 + .byte 44*mus_kachi2_mvl/mxv + .byte W06 + .byte 49*mus_kachi2_mvl/mxv + .byte W03 + .byte 56*mus_kachi2_mvl/mxv + .byte W03 + .byte 63*mus_kachi2_mvl/mxv + .byte W03 + .byte 70*mus_kachi2_mvl/mxv + .byte W03 + .byte 80*mus_kachi2_mvl/mxv + .byte W15 +mus_kachi2_5_B1: + .byte VOICE , 83 + .byte PAN , c_v+48 + .byte N03 , Bn5 , v032 + .byte W12 + .byte An5 + .byte W12 + .byte Gs5 + .byte W12 + .byte An5 + .byte W12 + .byte Bn5 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Cs6 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Bn5 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte An5 + .byte W12 + .byte Gs5 + .byte W12 + .byte An5 + .byte W12 + .byte Bn5 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Cs6 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Bn5 + .byte W48 +mus_kachi2_5_000: + .byte N03 , Cn6 , v032 + .byte W12 + .byte As5 + .byte W12 + .byte An5 + .byte W12 + .byte As5 + .byte W12 + .byte Cn6 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte PEND + .byte Dn6 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Cn6 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte PATT + .word mus_kachi2_5_000 + .byte N03 , Dn6 , v032 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Cn6 + .byte W48 + .byte GOTO + .word mus_kachi2_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_kachi2_6: + .byte KEYSH , mus_kachi2_key+0 + .byte W09 + .byte VOICE , 81 + .byte VOL , 80*mus_kachi2_mvl/mxv + .byte W36 + .byte N06 , Ds5 , v080 + .byte W06 + .byte Ds5 , v032 + .byte W06 + .byte BEND , c_v+2 + .byte N06 , En5 , v080 + .byte W12 + .byte En5 , v032 + .byte W12 + .byte En5 , v080 + .byte W12 + .byte En5 , v032 + .byte W12 +mus_kachi2_6_B1: + .byte MOD , 0 + .byte BEND , c_v+0 + .byte W96 + .byte N06 , An4 , v048 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Fs4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte W96 + .byte An4 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Gs4 + .byte W48 + .byte W96 + .byte As4 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Gn4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte W96 + .byte As4 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , An4 + .byte W48 + .byte GOTO + .word mus_kachi2_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_kachi2_7: + .byte KEYSH , mus_kachi2_key+0 + .byte W09 + .byte VOICE , 0 + .byte VOL , 80*mus_kachi2_mvl/mxv + .byte W24 + .byte N03 , En1 , v112 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v092 + .byte W06 + .byte En1 , v060 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v072 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v084 + .byte W06 +mus_kachi2_7_B1: +mus_kachi2_7_000: + .byte N06 , En1 , v076 + .byte W12 + .byte N06 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v064 + .byte W12 + .byte En1 , v076 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v076 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v064 + .byte W06 + .byte En1 + .byte W06 + .byte En1 , v076 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte PEND +mus_kachi2_7_001: + .byte N06 , En1 , v112 + .byte W24 + .byte Fs2 , v064 + .byte W24 + .byte N12 , Bn2 , v092 + .byte W24 + .byte N06 , En1 , v112 + .byte N03 , Fs2 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Fs2 , v040 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v052 + .byte W06 + .byte En1 , v088 + .byte N06 , Fs2 , v060 + .byte W06 + .byte PEND + .byte PATT + .word mus_kachi2_7_000 + .byte PATT + .word mus_kachi2_7_001 + .byte PATT + .word mus_kachi2_7_000 + .byte PATT + .word mus_kachi2_7_001 + .byte PATT + .word mus_kachi2_7_000 + .byte PATT + .word mus_kachi2_7_001 + .byte GOTO + .word mus_kachi2_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_kachi2: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_kachi2_pri @ Priority + .byte mus_kachi2_rev @ Reverb. + + .word mus_kachi2_grp + + .word mus_kachi2_1 + .word mus_kachi2_2 + .word mus_kachi2_3 + .word mus_kachi2_4 + .word mus_kachi2_5 + .word mus_kachi2_6 + .word mus_kachi2_7 + + .end diff --git a/sound/songs/mus_kachi22.s b/sound/songs/mus_kachi22.s new file mode 100644 index 0000000000..e3e28e6d0d --- /dev/null +++ b/sound/songs/mus_kachi22.s @@ -0,0 +1,882 @@ + .include "MPlayDef.s" + + .equ mus_kachi22_grp, voicegroup_867AFB4 + .equ mus_kachi22_pri, 0 + .equ mus_kachi22_rev, reverb_set+50 + .equ mus_kachi22_mvl, 127 + .equ mus_kachi22_key, 0 + .equ mus_kachi22_tbs, 1 + .equ mus_kachi22_exg, 0 + .equ mus_kachi22_cmp, 1 + + .section .rodata + .global mus_kachi22 + .align 2 + +@********************** Track 1 **********************@ + +mus_kachi22_1: + .byte KEYSH , mus_kachi22_key+0 + .byte TEMPO , 140*mus_kachi22_tbs/2 + .byte W12 +mus_kachi22_1_B1: + .byte VOICE , 73 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte VOL , 80*mus_kachi22_mvl/mxv + .byte N06 , Bn4 , v112 + .byte W12 + .byte An4 + .byte W12 + .byte Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte Cs5 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Bn4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte An4 + .byte W12 + .byte Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte Cs5 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Bn4 + .byte W24 + .byte Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte As4 + .byte W06 +mus_kachi22_1_000: + .byte N06 , Cn5 , v112 + .byte W12 + .byte As4 + .byte W12 + .byte An4 + .byte W12 + .byte As4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte PEND + .byte Dn5 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Cn5 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte PATT + .word mus_kachi22_1_000 + .byte N06 , Dn5 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Cn5 + .byte W24 + .byte Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs4 + .byte W06 + .byte An4 + .byte W06 + .byte GOTO + .word mus_kachi22_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_kachi22_2: + .byte KEYSH , mus_kachi22_key+0 + .byte W12 +mus_kachi22_2_B1: + .byte VOICE , 56 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte VOL , 80*mus_kachi22_mvl/mxv + .byte W12 + .byte N06 , En3 , v092 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W36 + .byte VOICE , 47 + .byte PAN , c_v+10 + .byte N12 , An1 , v112 + .byte W12 + .byte Bn1 + .byte W48 + .byte VOICE , 56 + .byte PAN , c_v+0 + .byte W12 + .byte N06 , En3 , v092 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte VOICE , 47 + .byte PAN , c_v+10 + .byte N12 , An1 , v112 + .byte W24 + .byte Bn1 + .byte W48 +mus_kachi22_2_000: + .byte VOICE , 56 + .byte PAN , c_v+0 + .byte W12 + .byte N06 , Fn3 , v092 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte N06 + .byte W36 + .byte VOICE , 47 + .byte PAN , c_v+10 + .byte N12 , As1 , v112 + .byte W12 + .byte Cn2 + .byte W48 + .byte PATT + .word mus_kachi22_2_000 + .byte N06 , Fn3 , v092 + .byte W24 + .byte VOICE , 47 + .byte PAN , c_v+10 + .byte N12 , As1 , v112 + .byte W24 + .byte Cn2 + .byte W48 + .byte GOTO + .word mus_kachi22_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_kachi22_3: + .byte KEYSH , mus_kachi22_key+0 + .byte W12 +mus_kachi22_3_B1: + .byte VOICE , 58 + .byte VOL , 80*mus_kachi22_mvl/mxv + .byte N21 , En1 , v127 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W03 + .byte 25*mus_kachi22_mvl/mxv + .byte W03 + .byte 80*mus_kachi22_mvl/mxv + .byte N21 , Bn0 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W03 + .byte 25*mus_kachi22_mvl/mxv + .byte W03 + .byte 80*mus_kachi22_mvl/mxv + .byte N21 , En1 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W03 + .byte 25*mus_kachi22_mvl/mxv + .byte W03 + .byte 80*mus_kachi22_mvl/mxv + .byte N21 , Bn0 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W03 + .byte 25*mus_kachi22_mvl/mxv + .byte W03 + .byte 80*mus_kachi22_mvl/mxv + .byte N48 , An1 + .byte W06 + .byte VOL , 67*mus_kachi22_mvl/mxv + .byte W03 + .byte 58*mus_kachi22_mvl/mxv + .byte W06 + .byte 54*mus_kachi22_mvl/mxv + .byte W06 + .byte 57*mus_kachi22_mvl/mxv + .byte W06 + .byte 64*mus_kachi22_mvl/mxv + .byte W03 + .byte 69*mus_kachi22_mvl/mxv + .byte W03 + .byte 76*mus_kachi22_mvl/mxv + .byte W06 + .byte 80*mus_kachi22_mvl/mxv + .byte W09 + .byte 62*mus_kachi22_mvl/mxv + .byte N48 , Bn1 + .byte W06 + .byte VOL , 65*mus_kachi22_mvl/mxv + .byte W06 + .byte 67*mus_kachi22_mvl/mxv + .byte W06 + .byte 69*mus_kachi22_mvl/mxv + .byte W06 + .byte 73*mus_kachi22_mvl/mxv + .byte W09 + .byte 76*mus_kachi22_mvl/mxv + .byte W06 + .byte 80*mus_kachi22_mvl/mxv + .byte W09 + .byte N21 , En1 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W03 + .byte 25*mus_kachi22_mvl/mxv + .byte W03 + .byte 80*mus_kachi22_mvl/mxv + .byte N21 , Bn0 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W03 + .byte 25*mus_kachi22_mvl/mxv + .byte W03 + .byte 80*mus_kachi22_mvl/mxv + .byte N21 , En1 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W03 + .byte 25*mus_kachi22_mvl/mxv + .byte W03 + .byte 80*mus_kachi22_mvl/mxv + .byte N21 , Bn0 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W03 + .byte 25*mus_kachi22_mvl/mxv + .byte W03 + .byte 80*mus_kachi22_mvl/mxv + .byte N24 , An1 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W30 + .byte 80*mus_kachi22_mvl/mxv + .byte N21 , En1 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W03 + .byte 25*mus_kachi22_mvl/mxv + .byte W03 + .byte 80*mus_kachi22_mvl/mxv + .byte N21 , Cn1 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W03 + .byte 25*mus_kachi22_mvl/mxv + .byte W03 + .byte 80*mus_kachi22_mvl/mxv + .byte N21 , Fn1 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W03 + .byte 25*mus_kachi22_mvl/mxv + .byte W03 + .byte 80*mus_kachi22_mvl/mxv + .byte N21 , Cn1 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W03 + .byte 25*mus_kachi22_mvl/mxv + .byte W03 + .byte 80*mus_kachi22_mvl/mxv + .byte N21 , Fn1 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W03 + .byte 25*mus_kachi22_mvl/mxv + .byte W03 + .byte 80*mus_kachi22_mvl/mxv + .byte N21 , Cn1 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W03 + .byte 25*mus_kachi22_mvl/mxv + .byte W03 + .byte 80*mus_kachi22_mvl/mxv + .byte N48 , As1 + .byte W06 + .byte VOL , 67*mus_kachi22_mvl/mxv + .byte W03 + .byte 58*mus_kachi22_mvl/mxv + .byte W06 + .byte 54*mus_kachi22_mvl/mxv + .byte W06 + .byte 57*mus_kachi22_mvl/mxv + .byte W06 + .byte 64*mus_kachi22_mvl/mxv + .byte W03 + .byte 69*mus_kachi22_mvl/mxv + .byte W03 + .byte 76*mus_kachi22_mvl/mxv + .byte W06 + .byte 80*mus_kachi22_mvl/mxv + .byte W09 + .byte 62*mus_kachi22_mvl/mxv + .byte N48 , Cn2 + .byte W06 + .byte VOL , 65*mus_kachi22_mvl/mxv + .byte W06 + .byte 67*mus_kachi22_mvl/mxv + .byte W06 + .byte 69*mus_kachi22_mvl/mxv + .byte W06 + .byte 73*mus_kachi22_mvl/mxv + .byte W09 + .byte 76*mus_kachi22_mvl/mxv + .byte W06 + .byte 80*mus_kachi22_mvl/mxv + .byte W09 + .byte N21 , Fn1 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W03 + .byte 25*mus_kachi22_mvl/mxv + .byte W03 + .byte 80*mus_kachi22_mvl/mxv + .byte N21 , Cn1 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W03 + .byte 25*mus_kachi22_mvl/mxv + .byte W03 + .byte 80*mus_kachi22_mvl/mxv + .byte N21 , Fn1 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W03 + .byte 25*mus_kachi22_mvl/mxv + .byte W03 + .byte 80*mus_kachi22_mvl/mxv + .byte N21 , Cn1 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W03 + .byte 25*mus_kachi22_mvl/mxv + .byte W03 + .byte 80*mus_kachi22_mvl/mxv + .byte N24 , As1 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W30 + .byte 80*mus_kachi22_mvl/mxv + .byte N24 , Fn1 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W03 + .byte 25*mus_kachi22_mvl/mxv + .byte W03 + .byte 80*mus_kachi22_mvl/mxv + .byte N24 , Bn0 + .byte W12 + .byte VOL , 73*mus_kachi22_mvl/mxv + .byte W03 + .byte 61*mus_kachi22_mvl/mxv + .byte W03 + .byte 37*mus_kachi22_mvl/mxv + .byte W03 + .byte 25*mus_kachi22_mvl/mxv + .byte W03 + .byte GOTO + .word mus_kachi22_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_kachi22_4: + .byte KEYSH , mus_kachi22_key+0 + .byte W12 +mus_kachi22_4_B1: + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte VOL , 80*mus_kachi22_mvl/mxv + .byte W12 + .byte N06 , Bn2 , v060 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Cs3 + .byte W96 + .byte W12 + .byte Bn2 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Cs3 + .byte W96 +mus_kachi22_4_000: + .byte W12 + .byte N06 , Cn3 , v060 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte Dn3 + .byte W96 + .byte PATT + .word mus_kachi22_4_000 + .byte N06 , Dn3 , v060 + .byte W96 + .byte GOTO + .word mus_kachi22_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_kachi22_5: + .byte KEYSH , mus_kachi22_key+0 + .byte W12 +mus_kachi22_5_B1: + .byte VOICE , 83 + .byte PAN , c_v+48 + .byte VOL , 80*mus_kachi22_mvl/mxv + .byte N03 , Bn5 , v032 + .byte W12 + .byte An5 + .byte W12 + .byte Gs5 + .byte W12 + .byte An5 + .byte W12 + .byte Bn5 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Cs6 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Bn5 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte An5 + .byte W12 + .byte Gs5 + .byte W12 + .byte An5 + .byte W12 + .byte Bn5 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Cs6 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Bn5 + .byte W48 +mus_kachi22_5_000: + .byte N03 , Cn6 , v032 + .byte W12 + .byte As5 + .byte W12 + .byte An5 + .byte W12 + .byte As5 + .byte W12 + .byte Cn6 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte PEND + .byte Dn6 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Cn6 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte PATT + .word mus_kachi22_5_000 + .byte N03 , Dn6 , v032 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Cn6 + .byte W48 + .byte GOTO + .word mus_kachi22_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_kachi22_6: + .byte KEYSH , mus_kachi22_key+0 + .byte W12 +mus_kachi22_6_B1: + .byte VOICE , 81 + .byte MOD , 0 + .byte VOL , 80*mus_kachi22_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte N06 , An4 , v048 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Fs4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte W96 + .byte An4 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Gs4 + .byte W48 + .byte W96 + .byte As4 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Gn4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte W96 + .byte As4 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , An4 + .byte W48 + .byte GOTO + .word mus_kachi22_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_kachi22_7: + .byte KEYSH , mus_kachi22_key+0 + .byte W12 +mus_kachi22_7_B1: + .byte VOICE , 0 + .byte VOL , 80*mus_kachi22_mvl/mxv + .byte N06 , En1 , v076 + .byte W12 + .byte N06 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v064 + .byte W12 + .byte En1 , v076 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v076 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v064 + .byte W06 + .byte En1 + .byte W06 + .byte En1 , v076 + .byte W06 + .byte En1 , v064 + .byte W06 +mus_kachi22_7_000: + .byte N06 , En1 , v112 + .byte W24 + .byte Fs2 , v064 + .byte W24 + .byte N12 , Bn2 , v092 + .byte W24 + .byte N06 , En1 , v112 + .byte N03 , Fs2 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Fs2 , v040 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v052 + .byte W06 + .byte En1 , v088 + .byte N06 , Fs2 , v060 + .byte W06 + .byte PEND +mus_kachi22_7_001: + .byte N06 , En1 , v076 + .byte W12 + .byte N06 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v064 + .byte W12 + .byte En1 , v076 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v076 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v064 + .byte W06 + .byte En1 + .byte W06 + .byte En1 , v076 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte PEND + .byte PATT + .word mus_kachi22_7_000 + .byte PATT + .word mus_kachi22_7_001 + .byte PATT + .word mus_kachi22_7_000 + .byte PATT + .word mus_kachi22_7_001 + .byte PATT + .word mus_kachi22_7_000 + .byte GOTO + .word mus_kachi22_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_kachi22: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_kachi22_pri @ Priority + .byte mus_kachi22_rev @ Reverb. + + .word mus_kachi22_grp + + .word mus_kachi22_1 + .word mus_kachi22_2 + .word mus_kachi22_3 + .word mus_kachi22_4 + .word mus_kachi22_5 + .word mus_kachi22_6 + .word mus_kachi22_7 + + .end diff --git a/sound/songs/mus_kachi3.s b/sound/songs/mus_kachi3.s new file mode 100644 index 0000000000..39b1e3e540 --- /dev/null +++ b/sound/songs/mus_kachi3.s @@ -0,0 +1,2951 @@ + .include "MPlayDef.s" + + .equ mus_kachi3_grp, voicegroup_867AB70 + .equ mus_kachi3_pri, 0 + .equ mus_kachi3_rev, reverb_set+50 + .equ mus_kachi3_mvl, 127 + .equ mus_kachi3_key, 0 + .equ mus_kachi3_tbs, 1 + .equ mus_kachi3_exg, 0 + .equ mus_kachi3_cmp, 1 + + .section .rodata + .global mus_kachi3 + .align 2 + +@********************** Track 1 **********************@ + +mus_kachi3_1: + .byte KEYSH , mus_kachi3_key+0 + .byte W09 + .byte TEMPO , 138*mus_kachi3_tbs/2 + .byte VOICE , 56 + .byte LFOS , 26 + .byte VOL , 80*mus_kachi3_mvl/mxv + .byte N32 , As3 , v112 + .byte W15 + .byte MOD , 3 + .byte W18 + .byte 0 + .byte W03 + .byte N03 , Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte N32 , Ds4 + .byte W15 + .byte MOD , 3 + .byte W18 + .byte 0 + .byte W03 + .byte N03 , As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte VOL , 69*mus_kachi3_mvl/mxv + .byte N36 , Gn4 + .byte W04 + .byte VOL , 65*mus_kachi3_mvl/mxv + .byte W08 + .byte 60*mus_kachi3_mvl/mxv + .byte W03 + .byte MOD , 3 + .byte W04 + .byte VOL , 52*mus_kachi3_mvl/mxv + .byte W07 + .byte 43*mus_kachi3_mvl/mxv + .byte W10 + .byte 80*mus_kachi3_mvl/mxv + .byte MOD , 0 + .byte N03 , Ds4 + .byte W06 + .byte Gn4 + .byte W06 + .byte VOL , 58*mus_kachi3_mvl/mxv + .byte N92 , As4 , v120 + .byte W09 + .byte VOL , 64*mus_kachi3_mvl/mxv + .byte W09 + .byte 68*mus_kachi3_mvl/mxv + .byte W06 + .byte 71*mus_kachi3_mvl/mxv + .byte MOD , 3 + .byte W06 + .byte VOL , 76*mus_kachi3_mvl/mxv + .byte W06 + .byte 80*mus_kachi3_mvl/mxv + .byte W24 + .byte W03 + .byte 75*mus_kachi3_mvl/mxv + .byte W06 + .byte 66*mus_kachi3_mvl/mxv + .byte W06 + .byte 56*mus_kachi3_mvl/mxv + .byte W03 + .byte 45*mus_kachi3_mvl/mxv + .byte W03 + .byte 28*mus_kachi3_mvl/mxv + .byte W03 + .byte 21*mus_kachi3_mvl/mxv + .byte W03 + .byte 17*mus_kachi3_mvl/mxv + .byte W03 + .byte 5*mus_kachi3_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 +mus_kachi3_1_000: + .byte VOICE , 73 + .byte VOL , 80*mus_kachi3_mvl/mxv + .byte N06 , Ds5 , v100 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W24 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte As4 + .byte W24 + .byte PEND +mus_kachi3_1_B1: + .byte N06 , Cn5 , v100 + .byte W12 + .byte As4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte As4 + .byte W24 + .byte N24 + .byte W09 + .byte MOD , 5 + .byte W15 + .byte 0 + .byte N06 , Ds5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W24 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte As4 + .byte W24 + .byte Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Ds4 + .byte W36 + .byte VOICE , 60 + .byte N06 , Cn4 , v112 + .byte W06 + .byte Dn4 + .byte W06 +mus_kachi3_1_001: + .byte N06 , Ds4 , v112 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W24 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 + .byte W24 + .byte PEND + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte As3 + .byte W24 + .byte N24 + .byte W24 + .byte PATT + .word mus_kachi3_1_001 + .byte N06 , Cn4 , v112 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W48 + .byte VOICE , 56 + .byte BEND , c_v-9 + .byte N36 , As3 + .byte W03 + .byte BEND , c_v+0 + .byte W15 + .byte MOD , 4 + .byte W18 + .byte 0 + .byte N06 , Gn3 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte BEND , c_v-9 + .byte TIE , Ds4 + .byte W03 + .byte BEND , c_v+0 + .byte W44 + .byte W01 +mus_kachi3_1_002: + .byte MOD , 4 + .byte W48 + .byte VOL , 71*mus_kachi3_mvl/mxv + .byte W06 + .byte 57*mus_kachi3_mvl/mxv + .byte W06 + .byte 47*mus_kachi3_mvl/mxv + .byte W06 + .byte 31*mus_kachi3_mvl/mxv + .byte W06 + .byte 18*mus_kachi3_mvl/mxv + .byte W06 + .byte 6*mus_kachi3_mvl/mxv + .byte W15 + .byte PEND + .byte EOT , Ds4 + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_kachi3_mvl/mxv + .byte N36 , Cn4 , v112 + .byte W18 + .byte MOD , 4 + .byte W18 + .byte 0 + .byte N06 , An3 + .byte W06 + .byte N03 , Cn4 + .byte W06 + .byte TIE , Fn4 + .byte W48 + .byte PATT + .word mus_kachi3_1_002 + .byte EOT , Fn4 + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_kachi3_mvl/mxv + .byte BEND , c_v-11 + .byte N36 , Gs3 , v112 + .byte W03 + .byte BEND , c_v+0 + .byte W15 + .byte MOD , 4 + .byte W18 + .byte 0 + .byte N06 , Fn3 + .byte W06 + .byte N03 , Gs3 + .byte W06 + .byte BEND , c_v-15 + .byte N92 , Dn4 + .byte W03 + .byte BEND , c_v-11 + .byte W03 + .byte c_v-5 + .byte W03 + .byte c_v+0 + .byte W24 + .byte W03 + .byte MOD , 4 + .byte W12 + .byte VOL , 71*mus_kachi3_mvl/mxv + .byte W06 + .byte 57*mus_kachi3_mvl/mxv + .byte W06 + .byte 47*mus_kachi3_mvl/mxv + .byte W06 + .byte 31*mus_kachi3_mvl/mxv + .byte W06 + .byte 18*mus_kachi3_mvl/mxv + .byte W06 + .byte 6*mus_kachi3_mvl/mxv + .byte W15 + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_kachi3_mvl/mxv + .byte BEND , c_v-20 + .byte N24 , Gn4 + .byte W03 + .byte BEND , c_v-7 + .byte W03 + .byte c_v+0 + .byte W06 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte VOL , 62*mus_kachi3_mvl/mxv + .byte MOD , 0 + .byte N80 , Ds4 + .byte W09 + .byte VOL , 65*mus_kachi3_mvl/mxv + .byte W09 + .byte 68*mus_kachi3_mvl/mxv + .byte W06 + .byte 71*mus_kachi3_mvl/mxv + .byte MOD , 4 + .byte W09 + .byte VOL , 76*mus_kachi3_mvl/mxv + .byte W12 + .byte 80*mus_kachi3_mvl/mxv + .byte W36 + .byte MOD , 0 + .byte W03 + .byte N12 , Cn4 + .byte W12 + .byte N92 , As3 + .byte W30 + .byte MOD , 4 + .byte W18 + .byte VOL , 71*mus_kachi3_mvl/mxv + .byte W06 + .byte 57*mus_kachi3_mvl/mxv + .byte W06 + .byte 47*mus_kachi3_mvl/mxv + .byte W06 + .byte 31*mus_kachi3_mvl/mxv + .byte W06 + .byte 18*mus_kachi3_mvl/mxv + .byte W06 + .byte 6*mus_kachi3_mvl/mxv + .byte W15 + .byte MOD , 0 + .byte W03 + .byte VOICE , 48 + .byte VOL , 80*mus_kachi3_mvl/mxv + .byte N36 , As4 , v096 + .byte W36 + .byte N06 , Gn4 + .byte W06 + .byte As4 + .byte W06 + .byte TIE , Ds5 + .byte W48 +mus_kachi3_1_003: + .byte W36 + .byte W03 + .byte VOL , 76*mus_kachi3_mvl/mxv + .byte W06 + .byte 72*mus_kachi3_mvl/mxv + .byte W09 + .byte 68*mus_kachi3_mvl/mxv + .byte W09 + .byte 62*mus_kachi3_mvl/mxv + .byte W06 + .byte 50*mus_kachi3_mvl/mxv + .byte W06 + .byte 40*mus_kachi3_mvl/mxv + .byte W06 + .byte 28*mus_kachi3_mvl/mxv + .byte W06 + .byte 16*mus_kachi3_mvl/mxv + .byte W03 + .byte PEND + .byte EOT , Ds5 + .byte VOL , 5*mus_kachi3_mvl/mxv + .byte W06 + .byte 80*mus_kachi3_mvl/mxv + .byte N36 , Cn5 , v096 + .byte W36 + .byte N06 , An4 + .byte W06 + .byte Cn5 + .byte W06 + .byte TIE , Fn5 + .byte W48 + .byte PATT + .word mus_kachi3_1_003 + .byte EOT , Fn5 + .byte VOL , 5*mus_kachi3_mvl/mxv + .byte W06 + .byte 80*mus_kachi3_mvl/mxv + .byte N36 , Gs4 , v096 + .byte W36 + .byte N06 , Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N90 , Dn5 + .byte W48 + .byte VOL , 76*mus_kachi3_mvl/mxv + .byte W06 + .byte 72*mus_kachi3_mvl/mxv + .byte W09 + .byte 68*mus_kachi3_mvl/mxv + .byte W09 + .byte 62*mus_kachi3_mvl/mxv + .byte W06 + .byte 50*mus_kachi3_mvl/mxv + .byte W06 + .byte 40*mus_kachi3_mvl/mxv + .byte W06 + .byte 28*mus_kachi3_mvl/mxv + .byte W06 + .byte 80*mus_kachi3_mvl/mxv + .byte N24 , As4 + .byte W24 + .byte Dn5 + .byte W24 + .byte N84 , Ds5 + .byte W84 + .byte N12 , Fn5 + .byte W12 + .byte N90 , Ds5 + .byte W48 + .byte VOL , 76*mus_kachi3_mvl/mxv + .byte W06 + .byte 72*mus_kachi3_mvl/mxv + .byte W09 + .byte 68*mus_kachi3_mvl/mxv + .byte W09 + .byte 62*mus_kachi3_mvl/mxv + .byte W06 + .byte 50*mus_kachi3_mvl/mxv + .byte W06 + .byte 40*mus_kachi3_mvl/mxv + .byte W06 + .byte 28*mus_kachi3_mvl/mxv + .byte W06 + .byte PATT + .word mus_kachi3_1_000 + .byte GOTO + .word mus_kachi3_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_kachi3_2: + .byte KEYSH , mus_kachi3_key+0 + .byte W09 + .byte VOICE , 56 + .byte LFOS , 26 + .byte VOL , 80*mus_kachi3_mvl/mxv + .byte PAN , c_v+16 + .byte N32 , Gn3 , v084 + .byte W15 + .byte MOD , 3 + .byte W18 + .byte 0 + .byte W03 + .byte N03 , Ds3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N32 , As3 + .byte W15 + .byte MOD , 3 + .byte W18 + .byte 0 + .byte W03 + .byte N03 , Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte VOL , 69*mus_kachi3_mvl/mxv + .byte N32 , Ds4 , v104 + .byte W04 + .byte VOL , 65*mus_kachi3_mvl/mxv + .byte W08 + .byte 60*mus_kachi3_mvl/mxv + .byte W03 + .byte MOD , 3 + .byte W04 + .byte VOL , 52*mus_kachi3_mvl/mxv + .byte W07 + .byte 43*mus_kachi3_mvl/mxv + .byte W10 + .byte 80*mus_kachi3_mvl/mxv + .byte MOD , 0 + .byte N03 , As3 , v092 + .byte W06 + .byte Ds4 + .byte W06 + .byte VOL , 58*mus_kachi3_mvl/mxv + .byte N92 , Fn4 , v104 + .byte W09 + .byte VOL , 64*mus_kachi3_mvl/mxv + .byte W09 + .byte 68*mus_kachi3_mvl/mxv + .byte W06 + .byte 71*mus_kachi3_mvl/mxv + .byte MOD , 3 + .byte W06 + .byte VOL , 76*mus_kachi3_mvl/mxv + .byte W06 + .byte 80*mus_kachi3_mvl/mxv + .byte W24 + .byte W03 + .byte 75*mus_kachi3_mvl/mxv + .byte W06 + .byte 66*mus_kachi3_mvl/mxv + .byte W06 + .byte 56*mus_kachi3_mvl/mxv + .byte W03 + .byte 45*mus_kachi3_mvl/mxv + .byte W03 + .byte 28*mus_kachi3_mvl/mxv + .byte W03 + .byte 21*mus_kachi3_mvl/mxv + .byte W03 + .byte 17*mus_kachi3_mvl/mxv + .byte W03 + .byte 5*mus_kachi3_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 +mus_kachi3_2_000: + .byte VOICE , 60 + .byte VOL , 80*mus_kachi3_mvl/mxv + .byte PAN , c_v+0 + .byte N09 , Ds3 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v+31 + .byte N06 , Ds4 , v060 + .byte W12 + .byte Gn4 , v072 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte N09 , Dn3 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v+32 + .byte N06 , Dn4 , v060 + .byte W12 + .byte Fn4 , v072 + .byte W24 + .byte PEND +mus_kachi3_2_B1: + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte N09 , Cn3 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v+31 + .byte N06 , Cn4 , v060 + .byte W12 + .byte Ds4 , v072 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte N09 , Dn3 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v+32 + .byte N06 , As3 , v060 + .byte W12 + .byte Dn4 , v072 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte N09 , Ds3 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v+31 + .byte N06 , Ds4 , v060 + .byte W12 + .byte Gn4 , v072 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte N09 , Dn3 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v+32 + .byte N06 , Dn4 , v060 + .byte W12 + .byte Fn4 , v072 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte N09 , Cn3 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v+31 + .byte N06 , Cn4 , v072 + .byte W12 + .byte Fn3 + .byte W12 + .byte N06 + .byte W12 + .byte Gn3 + .byte W48 + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte VOICE , 60 + .byte PAN , c_v+9 + .byte N06 , Gn3 , v100 + .byte W12 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W24 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W24 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte As2 + .byte W12 + .byte Gn2 + .byte W48 + .byte W48 + .byte VOICE , 56 + .byte PAN , c_v-32 + .byte N03 , As4 , v076 + .byte W18 + .byte N12 + .byte W12 + .byte N03 , Gs4 , v036 + .byte W03 + .byte Gn4 , v024 + .byte W03 + .byte Ds4 , v008 + .byte W12 + .byte VOICE , 60 + .byte VOL , 53*mus_kachi3_mvl/mxv + .byte PAN , c_v+16 + .byte N36 , Gn3 , v092 + .byte W06 + .byte VOL , 59*mus_kachi3_mvl/mxv + .byte W03 + .byte 68*mus_kachi3_mvl/mxv + .byte W03 + .byte 73*mus_kachi3_mvl/mxv + .byte W03 + .byte 77*mus_kachi3_mvl/mxv + .byte W03 + .byte 80*mus_kachi3_mvl/mxv + .byte W18 + .byte N06 , Ds3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N48 , As3 + .byte W18 + .byte VOL , 70*mus_kachi3_mvl/mxv + .byte W06 + .byte 63*mus_kachi3_mvl/mxv + .byte W06 + .byte 57*mus_kachi3_mvl/mxv + .byte W06 + .byte 63*mus_kachi3_mvl/mxv + .byte W06 + .byte 70*mus_kachi3_mvl/mxv + .byte W06 + .byte 80*mus_kachi3_mvl/mxv + .byte N44 , An3 + .byte W24 + .byte VOL , 74*mus_kachi3_mvl/mxv + .byte W06 + .byte 65*mus_kachi3_mvl/mxv + .byte W03 + .byte 51*mus_kachi3_mvl/mxv + .byte W03 + .byte 37*mus_kachi3_mvl/mxv + .byte W03 + .byte 25*mus_kachi3_mvl/mxv + .byte W03 + .byte 13*mus_kachi3_mvl/mxv + .byte W06 + .byte VOICE , 56 + .byte VOL , 80*mus_kachi3_mvl/mxv + .byte PAN , c_v-32 + .byte N03 , Cn5 , v076 + .byte W18 + .byte N12 + .byte W12 + .byte N03 , As4 , v036 + .byte W03 + .byte An4 , v024 + .byte W03 + .byte Fn4 , v008 + .byte W12 + .byte VOICE , 60 + .byte VOL , 53*mus_kachi3_mvl/mxv + .byte PAN , c_v+16 + .byte N36 , An3 , v092 + .byte W06 + .byte VOL , 59*mus_kachi3_mvl/mxv + .byte W03 + .byte 68*mus_kachi3_mvl/mxv + .byte W03 + .byte 73*mus_kachi3_mvl/mxv + .byte W03 + .byte 77*mus_kachi3_mvl/mxv + .byte W03 + .byte 80*mus_kachi3_mvl/mxv + .byte W18 + .byte N06 , Fn3 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N44 , Cn4 + .byte W24 + .byte VOL , 74*mus_kachi3_mvl/mxv + .byte W06 + .byte 65*mus_kachi3_mvl/mxv + .byte W03 + .byte 51*mus_kachi3_mvl/mxv + .byte W03 + .byte 37*mus_kachi3_mvl/mxv + .byte W03 + .byte 25*mus_kachi3_mvl/mxv + .byte W03 + .byte 13*mus_kachi3_mvl/mxv + .byte W06 + .byte 80*mus_kachi3_mvl/mxv + .byte W24 + .byte VOICE , 56 + .byte PAN , c_v-32 + .byte N12 , Fn4 , v064 + .byte W12 + .byte Gn4 + .byte W12 + .byte N03 , As4 , v076 + .byte W18 + .byte N12 + .byte W12 + .byte N03 , Gs4 , v036 + .byte W03 + .byte Fn4 , v024 + .byte W03 + .byte Dn4 , v008 + .byte W12 + .byte VOICE , 60 + .byte PAN , c_v+16 + .byte N36 , Fn3 , v092 + .byte W36 + .byte N06 , Dn3 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N44 , As3 + .byte W24 + .byte VOL , 74*mus_kachi3_mvl/mxv + .byte W06 + .byte 65*mus_kachi3_mvl/mxv + .byte W03 + .byte 51*mus_kachi3_mvl/mxv + .byte W03 + .byte 37*mus_kachi3_mvl/mxv + .byte W03 + .byte 25*mus_kachi3_mvl/mxv + .byte W03 + .byte 13*mus_kachi3_mvl/mxv + .byte W06 + .byte VOICE , 56 + .byte VOL , 80*mus_kachi3_mvl/mxv + .byte PAN , c_v-32 + .byte N03 , As3 , v076 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N03 , Gs3 , v032 + .byte W03 + .byte Ds3 , v020 + .byte W03 + .byte As2 , v012 + .byte W06 + .byte VOICE , 60 + .byte PAN , c_v+16 + .byte N03 , As2 , v092 + .byte W06 + .byte Fn3 + .byte W06 + .byte N32 , Gn3 + .byte W36 + .byte N12 , Ds3 + .byte W12 + .byte N44 , Dn3 + .byte W32 + .byte W01 + .byte VOL , 74*mus_kachi3_mvl/mxv + .byte W03 + .byte 62*mus_kachi3_mvl/mxv + .byte W03 + .byte 45*mus_kachi3_mvl/mxv + .byte W03 + .byte 25*mus_kachi3_mvl/mxv + .byte W03 + .byte 9*mus_kachi3_mvl/mxv + .byte W03 + .byte VOICE , 48 + .byte VOL , 80*mus_kachi3_mvl/mxv + .byte PAN , c_v+0 + .byte N08 , As2 , v112 + .byte W08 + .byte Fn3 + .byte W08 + .byte As3 + .byte W08 + .byte Dn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Gs4 + .byte W08 + .byte VOICE , 60 + .byte PAN , c_v+16 + .byte N96 , Gn3 , v080 + .byte W12 + .byte VOL , 77*mus_kachi3_mvl/mxv + .byte W12 + .byte 70*mus_kachi3_mvl/mxv + .byte W08 + .byte 64*mus_kachi3_mvl/mxv + .byte W08 + .byte 57*mus_kachi3_mvl/mxv + .byte W12 + .byte 50*mus_kachi3_mvl/mxv + .byte W12 + .byte 45*mus_kachi3_mvl/mxv + .byte W20 + .byte 40*mus_kachi3_mvl/mxv + .byte W12 + .byte 80*mus_kachi3_mvl/mxv + .byte N96 + .byte W08 + .byte VOL , 64*mus_kachi3_mvl/mxv + .byte W08 + .byte 44*mus_kachi3_mvl/mxv + .byte W12 + .byte 48*mus_kachi3_mvl/mxv + .byte W08 + .byte 53*mus_kachi3_mvl/mxv + .byte W12 + .byte 60*mus_kachi3_mvl/mxv + .byte W12 + .byte 68*mus_kachi3_mvl/mxv + .byte W08 + .byte 76*mus_kachi3_mvl/mxv + .byte W08 + .byte 80*mus_kachi3_mvl/mxv + .byte W20 + .byte N96 , An3 + .byte W12 + .byte VOL , 77*mus_kachi3_mvl/mxv + .byte W12 + .byte 70*mus_kachi3_mvl/mxv + .byte W08 + .byte 64*mus_kachi3_mvl/mxv + .byte W08 + .byte 57*mus_kachi3_mvl/mxv + .byte W12 + .byte 50*mus_kachi3_mvl/mxv + .byte W12 + .byte 45*mus_kachi3_mvl/mxv + .byte W20 + .byte 40*mus_kachi3_mvl/mxv + .byte W12 + .byte 80*mus_kachi3_mvl/mxv + .byte N96 + .byte W08 + .byte VOL , 64*mus_kachi3_mvl/mxv + .byte W08 + .byte 44*mus_kachi3_mvl/mxv + .byte W12 + .byte 48*mus_kachi3_mvl/mxv + .byte W08 + .byte 53*mus_kachi3_mvl/mxv + .byte W12 + .byte 60*mus_kachi3_mvl/mxv + .byte W12 + .byte 68*mus_kachi3_mvl/mxv + .byte W08 + .byte 76*mus_kachi3_mvl/mxv + .byte W08 + .byte 80*mus_kachi3_mvl/mxv + .byte W20 + .byte N96 , As3 + .byte W12 + .byte VOL , 77*mus_kachi3_mvl/mxv + .byte W12 + .byte 70*mus_kachi3_mvl/mxv + .byte W08 + .byte 64*mus_kachi3_mvl/mxv + .byte W08 + .byte 57*mus_kachi3_mvl/mxv + .byte W12 + .byte 50*mus_kachi3_mvl/mxv + .byte W12 + .byte 45*mus_kachi3_mvl/mxv + .byte W20 + .byte 40*mus_kachi3_mvl/mxv + .byte W09 + .byte 80*mus_kachi3_mvl/mxv + .byte W03 + .byte N96 , As3 , v092 + .byte W05 + .byte VOL , 64*mus_kachi3_mvl/mxv + .byte W08 + .byte 44*mus_kachi3_mvl/mxv + .byte W12 + .byte 48*mus_kachi3_mvl/mxv + .byte W08 + .byte 53*mus_kachi3_mvl/mxv + .byte W12 + .byte 60*mus_kachi3_mvl/mxv + .byte W12 + .byte 68*mus_kachi3_mvl/mxv + .byte W08 + .byte 76*mus_kachi3_mvl/mxv + .byte W08 + .byte 80*mus_kachi3_mvl/mxv + .byte W23 + .byte W96 + .byte W96 + .byte PATT + .word mus_kachi3_2_000 + .byte GOTO + .word mus_kachi3_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_kachi3_3: + .byte KEYSH , mus_kachi3_key+0 + .byte W09 + .byte VOICE , 90 + .byte VOL , 80*mus_kachi3_mvl/mxv + .byte N04 , Ds3 , v040 + .byte W04 + .byte Gn3 + .byte W05 + .byte As3 + .byte W05 + .byte Ds4 + .byte W05 + .byte Gn4 + .byte W05 + .byte Ds4 + .byte W04 + .byte Gn4 + .byte W05 + .byte As4 + .byte W05 + .byte Ds5 + .byte W05 + .byte Gn5 + .byte W05 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W05 + .byte As3 + .byte W05 + .byte Ds4 + .byte W05 + .byte Gn4 + .byte W05 + .byte Ds4 + .byte W04 + .byte Gn4 + .byte W05 + .byte As4 + .byte W05 + .byte Ds5 + .byte W05 + .byte Gn5 + .byte W05 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W05 + .byte As3 + .byte W05 + .byte Ds4 + .byte W05 + .byte Gn4 + .byte W05 + .byte Ds4 + .byte W04 + .byte Gn4 + .byte W05 + .byte As4 + .byte W05 + .byte Ds5 + .byte W05 + .byte Gn5 + .byte W05 + .byte Dn6 + .byte W04 + .byte As5 + .byte W05 + .byte Fn5 + .byte W05 + .byte Dn5 + .byte W05 + .byte As4 + .byte W05 + .byte Fn4 + .byte W04 + .byte Dn4 + .byte W05 + .byte As3 + .byte W05 + .byte Fn3 + .byte W05 + .byte Dn3 + .byte W05 + .byte As2 + .byte W04 + .byte Dn3 + .byte W05 + .byte Fn3 + .byte W05 + .byte As3 + .byte W05 + .byte Dn4 + .byte W05 + .byte Fn4 + .byte W04 + .byte As4 + .byte W05 + .byte Dn5 + .byte W05 + .byte Fn5 + .byte W05 + .byte As5 + .byte W05 + .byte VOICE , 81 + .byte N06 , Ds2 + .byte W48 + .byte Dn2 + .byte W48 +mus_kachi3_3_B1: + .byte N06 , Cn2 , v040 + .byte W48 + .byte As1 + .byte W48 +mus_kachi3_3_000: + .byte N06 , Ds2 , v040 + .byte W48 + .byte Dn2 + .byte W48 + .byte PEND + .byte Cn2 + .byte W24 + .byte Fn2 , v064 + .byte W12 + .byte Dn2 + .byte W12 + .byte Ds2 + .byte W48 +mus_kachi3_3_001: + .byte N06 , Ds1 , v080 + .byte W24 + .byte N06 + .byte W24 + .byte As1 + .byte W24 + .byte N06 + .byte W24 + .byte PEND + .byte Gs1 + .byte W24 + .byte N06 + .byte W24 + .byte As1 + .byte W24 + .byte N24 , Dn1 + .byte W24 + .byte PATT + .word mus_kachi3_3_001 + .byte N06 , Gs1 , v080 + .byte W12 + .byte As1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Ds2 + .byte W48 + .byte N12 , Ds1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte VOICE , 89 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte N12 + .byte W18 + .byte N18 , Ds2 + .byte W18 + .byte N12 , Gn1 + .byte W12 + .byte Fn1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte VOICE , 89 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte N18 , Cn2 + .byte W18 + .byte Fn1 + .byte W18 + .byte N12 , Cn2 + .byte W12 + .byte As1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte VOICE , 89 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , Fn1 + .byte W18 + .byte Ds1 + .byte W18 + .byte N12 , Dn1 + .byte W12 + .byte VOICE , 81 + .byte N12 , Ds1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N48 , As1 + .byte W48 + .byte N12 + .byte W18 + .byte Cn2 + .byte W18 + .byte Dn2 + .byte W12 + .byte TIE , Ds2 , v040 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , Fn2 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , As1 + .byte W96 + .byte W96 + .byte EOT + .byte VOICE , 89 + .byte N06 , Ds2 , v080 + .byte W12 + .byte VOICE , 81 + .byte N06 + .byte W24 + .byte VOICE , 89 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte N06 + .byte W18 + .byte N12 , Gs2 + .byte W18 + .byte N06 , Ds2 + .byte W12 + .byte VOICE , 89 + .byte N06 + .byte W12 + .byte VOICE , 81 + .byte N06 + .byte W24 + .byte VOICE , 89 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte N06 + .byte W18 + .byte N12 , Gn2 + .byte W18 + .byte N06 , Ds2 + .byte W12 + .byte PATT + .word mus_kachi3_3_000 + .byte GOTO + .word mus_kachi3_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_kachi3_4: + .byte VOL , 80*mus_kachi3_mvl/mxv + .byte KEYSH , mus_kachi3_key+0 + .byte N24 , Cn3 , v064 + .byte W09 + .byte VOICE , 84 + .byte VOL , 80*mus_kachi3_mvl/mxv + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte N32 , Ds2 , v080 + .byte W36 + .byte N06 + .byte W06 + .byte N12 , Ds2 , v028 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Ds2 , v080 + .byte W12 + .byte Ds2 , v028 + .byte W12 + .byte N06 , Ds2 , v080 + .byte W06 + .byte Ds2 , v028 + .byte W06 + .byte VOL , 69*mus_kachi3_mvl/mxv + .byte N48 , Ds2 , v080 + .byte W04 + .byte VOL , 65*mus_kachi3_mvl/mxv + .byte W08 + .byte 60*mus_kachi3_mvl/mxv + .byte W07 + .byte 52*mus_kachi3_mvl/mxv + .byte W07 + .byte 43*mus_kachi3_mvl/mxv + .byte W07 + .byte 37*mus_kachi3_mvl/mxv + .byte W10 + .byte 41*mus_kachi3_mvl/mxv + .byte W05 + .byte N96 , Dn2 + .byte W02 + .byte VOL , 45*mus_kachi3_mvl/mxv + .byte W07 + .byte 52*mus_kachi3_mvl/mxv + .byte W07 + .byte 59*mus_kachi3_mvl/mxv + .byte W08 + .byte 66*mus_kachi3_mvl/mxv + .byte W07 + .byte 74*mus_kachi3_mvl/mxv + .byte W07 + .byte 80*mus_kachi3_mvl/mxv + .byte W24 + .byte W01 + .byte 75*mus_kachi3_mvl/mxv + .byte W06 + .byte 66*mus_kachi3_mvl/mxv + .byte W06 + .byte 56*mus_kachi3_mvl/mxv + .byte W03 + .byte 45*mus_kachi3_mvl/mxv + .byte W03 + .byte 28*mus_kachi3_mvl/mxv + .byte W03 + .byte 21*mus_kachi3_mvl/mxv + .byte W03 + .byte 17*mus_kachi3_mvl/mxv + .byte W03 + .byte 5*mus_kachi3_mvl/mxv + .byte W06 + .byte W96 +mus_kachi3_4_B1: + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte W96 + .byte VOICE , 83 + .byte VOL , 80*mus_kachi3_mvl/mxv + .byte N06 , Ds6 , v032 + .byte W12 + .byte Dn6 + .byte W12 + .byte Cn6 + .byte W24 + .byte Dn6 + .byte W12 + .byte Cn6 + .byte W12 + .byte As5 + .byte W24 + .byte Cn6 + .byte W12 + .byte As5 + .byte W12 + .byte Gs5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Ds5 + .byte W48 + .byte VOICE , 80 + .byte N12 , Ds3 , v052 + .byte W06 + .byte VOL , 70*mus_kachi3_mvl/mxv + .byte W03 + .byte 59*mus_kachi3_mvl/mxv + .byte W15 + .byte 80*mus_kachi3_mvl/mxv + .byte N12 , As3 + .byte W06 + .byte VOL , 70*mus_kachi3_mvl/mxv + .byte W03 + .byte 59*mus_kachi3_mvl/mxv + .byte W15 + .byte 80*mus_kachi3_mvl/mxv + .byte N12 , Dn3 + .byte W06 + .byte VOL , 70*mus_kachi3_mvl/mxv + .byte W03 + .byte 59*mus_kachi3_mvl/mxv + .byte W15 + .byte 80*mus_kachi3_mvl/mxv + .byte N12 , As3 + .byte W06 + .byte VOL , 70*mus_kachi3_mvl/mxv + .byte W03 + .byte 59*mus_kachi3_mvl/mxv + .byte W15 + .byte 80*mus_kachi3_mvl/mxv + .byte N12 , Cn3 + .byte W06 + .byte VOL , 70*mus_kachi3_mvl/mxv + .byte W03 + .byte 59*mus_kachi3_mvl/mxv + .byte W15 + .byte 80*mus_kachi3_mvl/mxv + .byte N12 , Gs3 + .byte W06 + .byte VOL , 70*mus_kachi3_mvl/mxv + .byte W03 + .byte 59*mus_kachi3_mvl/mxv + .byte W15 + .byte 80*mus_kachi3_mvl/mxv + .byte N12 , As2 + .byte W06 + .byte VOL , 70*mus_kachi3_mvl/mxv + .byte W03 + .byte 59*mus_kachi3_mvl/mxv + .byte W15 + .byte N24 , Fn3 , v072 + .byte W06 + .byte VOL , 64*mus_kachi3_mvl/mxv + .byte W03 + .byte 66*mus_kachi3_mvl/mxv + .byte W03 + .byte 69*mus_kachi3_mvl/mxv + .byte W03 + .byte 75*mus_kachi3_mvl/mxv + .byte W03 + .byte 80*mus_kachi3_mvl/mxv + .byte W06 + .byte VOICE , 83 + .byte PAN , c_v-49 + .byte N06 , Ds5 , v040 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W24 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte As4 + .byte W24 + .byte Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Ds4 + .byte W48 + .byte VOICE , 84 + .byte PAN , c_v+0 + .byte N24 , As2 , v060 + .byte W15 + .byte VOL , 70*mus_kachi3_mvl/mxv + .byte W03 + .byte 51*mus_kachi3_mvl/mxv + .byte W03 + .byte 29*mus_kachi3_mvl/mxv + .byte W15 + .byte 80*mus_kachi3_mvl/mxv + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , Ds3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , As2 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , Gn3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , As2 + .byte W12 + .byte N24 , Cn3 + .byte W15 + .byte VOL , 70*mus_kachi3_mvl/mxv + .byte W03 + .byte 51*mus_kachi3_mvl/mxv + .byte W03 + .byte 29*mus_kachi3_mvl/mxv + .byte W15 + .byte 80*mus_kachi3_mvl/mxv + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , Fn3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , Cn3 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , An3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , Cn3 + .byte W12 + .byte N24 , Dn3 + .byte W15 + .byte VOL , 70*mus_kachi3_mvl/mxv + .byte W03 + .byte 51*mus_kachi3_mvl/mxv + .byte W03 + .byte 29*mus_kachi3_mvl/mxv + .byte W15 + .byte 80*mus_kachi3_mvl/mxv + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , Fn3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte N03 , As2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , As3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte BEND , c_v-13 + .byte N12 , As3 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N06 , Ds3 + .byte W12 + .byte N12 , As2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte As2 + .byte W12 + .byte Fn3 , v064 + .byte W18 + .byte Ds3 + .byte W18 + .byte Dn3 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 51*mus_kachi3_mvl/mxv + .byte N96 , Dn3 , v068 + .byte W12 + .byte VOL , 54*mus_kachi3_mvl/mxv + .byte W09 + .byte 58*mus_kachi3_mvl/mxv + .byte W09 + .byte 62*mus_kachi3_mvl/mxv + .byte W09 + .byte 65*mus_kachi3_mvl/mxv + .byte W09 + .byte 68*mus_kachi3_mvl/mxv + .byte W09 + .byte 71*mus_kachi3_mvl/mxv + .byte W12 + .byte 76*mus_kachi3_mvl/mxv + .byte W09 + .byte 80*mus_kachi3_mvl/mxv + .byte W18 + .byte N06 , Gs3 , v060 + .byte W12 + .byte N06 + .byte W12 + .byte Ds4 + .byte W12 + .byte N03 , Gs3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte VOICE , 83 + .byte N06 , Gs3 , v052 + .byte W06 + .byte As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte Ds5 + .byte W06 + .byte As5 + .byte W06 + .byte VOICE , 84 + .byte N06 , Gn3 , v060 + .byte W12 + .byte N06 + .byte W12 + .byte Ds4 + .byte W12 + .byte N03 , Gn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte VOICE , 83 + .byte N06 , Gn3 , v052 + .byte W06 + .byte As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn4 + .byte W06 + .byte As4 + .byte W06 + .byte Ds5 + .byte W06 + .byte XCMD , xIECV , 0 + .byte xIECL , 8 + .byte N06 , Gn5 + .byte W06 + .byte PAN , c_v+0 + .byte W96 + .byte GOTO + .word mus_kachi3_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_kachi3_5: + .byte KEYSH , mus_kachi3_key+0 + .byte W09 + .byte VOICE , 82 + .byte VOL , 80*mus_kachi3_mvl/mxv + .byte PAN , c_v-48 + .byte BEND , c_v+5 + .byte W04 + .byte N04 , Ds3 , v024 + .byte W05 + .byte Gn3 + .byte W05 + .byte As3 + .byte W05 + .byte Ds4 + .byte W05 + .byte Gn4 + .byte W04 + .byte Ds4 + .byte W05 + .byte Gn4 + .byte W05 + .byte As4 + .byte W05 + .byte Ds5 + .byte W05 + .byte Gn5 + .byte W04 + .byte Ds3 + .byte W05 + .byte Gn3 + .byte W05 + .byte As3 + .byte W05 + .byte Ds4 + .byte W05 + .byte Gn4 + .byte W04 + .byte Ds4 + .byte W05 + .byte Gn4 + .byte W05 + .byte As4 + .byte W05 + .byte Ds5 + .byte W05 + .byte Gn5 + .byte W04 + .byte Ds3 + .byte W05 + .byte Gn3 + .byte W05 + .byte As3 + .byte W05 + .byte Ds4 + .byte W05 + .byte Gn4 + .byte W04 + .byte Ds4 + .byte W05 + .byte Gn4 + .byte W05 + .byte As4 + .byte W05 + .byte Ds5 + .byte W05 + .byte Gn5 + .byte W04 + .byte Dn6 + .byte W05 + .byte As5 + .byte W05 + .byte Fn5 + .byte W05 + .byte Dn5 + .byte W05 + .byte As4 + .byte W04 + .byte Fn4 + .byte W05 + .byte Dn4 + .byte W05 + .byte As3 + .byte W05 + .byte Fn3 + .byte W05 + .byte Dn3 + .byte W04 + .byte As2 + .byte W05 + .byte Dn3 + .byte W05 + .byte Fn3 + .byte W05 + .byte As3 + .byte W05 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W05 + .byte As4 + .byte W05 + .byte Dn5 + .byte W05 + .byte Fn5 + .byte W05 + .byte As5 + .byte W06 + .byte BEND , c_v+0 + .byte W90 +mus_kachi3_5_B1: + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte xIECV , 8 + .byte xIECL , 8 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte N12 , As2 , v052 + .byte W06 + .byte VOL , 70*mus_kachi3_mvl/mxv + .byte W03 + .byte 59*mus_kachi3_mvl/mxv + .byte W15 + .byte 80*mus_kachi3_mvl/mxv + .byte N12 , Gn3 + .byte W06 + .byte VOL , 70*mus_kachi3_mvl/mxv + .byte W03 + .byte 59*mus_kachi3_mvl/mxv + .byte W15 + .byte 80*mus_kachi3_mvl/mxv + .byte N12 , As2 + .byte W06 + .byte VOL , 70*mus_kachi3_mvl/mxv + .byte W03 + .byte 59*mus_kachi3_mvl/mxv + .byte W15 + .byte 80*mus_kachi3_mvl/mxv + .byte N12 , Fn3 + .byte W06 + .byte VOL , 70*mus_kachi3_mvl/mxv + .byte W03 + .byte 59*mus_kachi3_mvl/mxv + .byte W15 + .byte 80*mus_kachi3_mvl/mxv + .byte N12 , Gs2 + .byte W06 + .byte VOL , 70*mus_kachi3_mvl/mxv + .byte W03 + .byte 59*mus_kachi3_mvl/mxv + .byte W15 + .byte 80*mus_kachi3_mvl/mxv + .byte N12 , Ds3 + .byte W06 + .byte VOL , 70*mus_kachi3_mvl/mxv + .byte W03 + .byte 59*mus_kachi3_mvl/mxv + .byte W15 + .byte 80*mus_kachi3_mvl/mxv + .byte N12 , Fn2 + .byte W06 + .byte VOL , 70*mus_kachi3_mvl/mxv + .byte W03 + .byte 59*mus_kachi3_mvl/mxv + .byte W15 + .byte N24 , Dn3 , v072 + .byte W06 + .byte VOL , 64*mus_kachi3_mvl/mxv + .byte W03 + .byte 66*mus_kachi3_mvl/mxv + .byte W03 + .byte 69*mus_kachi3_mvl/mxv + .byte W03 + .byte 75*mus_kachi3_mvl/mxv + .byte W03 + .byte 80*mus_kachi3_mvl/mxv + .byte W06 + .byte VOICE , 86 + .byte PAN , c_v+48 + .byte N06 , Gn4 , v040 + .byte W12 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W24 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W24 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W48 + .byte VOICE , 85 + .byte PAN , c_v+0 + .byte N24 , Gn2 , v060 + .byte W15 + .byte VOL , 70*mus_kachi3_mvl/mxv + .byte W03 + .byte 51*mus_kachi3_mvl/mxv + .byte W03 + .byte 29*mus_kachi3_mvl/mxv + .byte W15 + .byte 80*mus_kachi3_mvl/mxv + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , As2 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , Ds3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte N24 , An2 + .byte W15 + .byte VOL , 70*mus_kachi3_mvl/mxv + .byte W03 + .byte 51*mus_kachi3_mvl/mxv + .byte W03 + .byte 29*mus_kachi3_mvl/mxv + .byte W15 + .byte 80*mus_kachi3_mvl/mxv + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , Cn3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , An2 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , Fn3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , An2 + .byte W12 + .byte N24 , As2 + .byte W15 + .byte VOL , 70*mus_kachi3_mvl/mxv + .byte W03 + .byte 51*mus_kachi3_mvl/mxv + .byte W03 + .byte 29*mus_kachi3_mvl/mxv + .byte W15 + .byte 80*mus_kachi3_mvl/mxv + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , Dn3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , As2 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , Fn3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , As2 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte BEND , c_v-13 + .byte N12 , Gn3 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N06 , As2 + .byte W12 + .byte N12 , Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte Dn3 + .byte W12 + .byte As2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn2 + .byte W12 + .byte Dn3 , v064 + .byte W18 + .byte Cn3 + .byte W18 + .byte As2 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 51*mus_kachi3_mvl/mxv + .byte PAN , c_v+48 + .byte N12 , As2 , v068 + .byte W12 + .byte VOICE , 87 + .byte VOL , 54*mus_kachi3_mvl/mxv + .byte N12 + .byte W09 + .byte VOL , 58*mus_kachi3_mvl/mxv + .byte W03 + .byte N12 + .byte W06 + .byte VOL , 62*mus_kachi3_mvl/mxv + .byte W06 + .byte N12 + .byte W03 + .byte VOL , 65*mus_kachi3_mvl/mxv + .byte W09 + .byte 68*mus_kachi3_mvl/mxv + .byte N12 + .byte W09 + .byte VOL , 71*mus_kachi3_mvl/mxv + .byte W03 + .byte N12 + .byte W09 + .byte VOL , 76*mus_kachi3_mvl/mxv + .byte W03 + .byte N12 + .byte W06 + .byte VOL , 80*mus_kachi3_mvl/mxv + .byte W06 + .byte N12 + .byte W12 + .byte VOICE , 85 + .byte N06 , Ds3 , v060 + .byte W12 + .byte N06 + .byte W12 + .byte Gs3 + .byte W12 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As2 + .byte W06 + .byte VOICE , 86 + .byte N06 , Ds3 , v036 + .byte W06 + .byte Gs3 + .byte W06 + .byte As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte Ds5 + .byte W06 + .byte VOICE , 85 + .byte N06 , Ds3 , v060 + .byte W12 + .byte N06 + .byte W12 + .byte Gn3 + .byte W12 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As2 , v036 + .byte W06 + .byte VOICE , 86 + .byte N06 , Ds3 + .byte W06 + .byte Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn4 + .byte W06 + .byte As4 + .byte W06 + .byte XCMD , xIECV , 0 + .byte xIECL , 8 + .byte N06 , Ds5 + .byte W06 + .byte PAN , c_v+0 + .byte W96 + .byte GOTO + .word mus_kachi3_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_kachi3_6: + .byte KEYSH , mus_kachi3_key+0 + .byte W09 + .byte VOL , 80*mus_kachi3_mvl/mxv + .byte W48 + .byte BEND , c_v+2 + .byte W48 + .byte c_v+0 + .byte W96 + .byte W48 +mus_kachi3_6_000: + .byte VOICE , 60 + .byte PAN , c_v+9 + .byte N09 , As2 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v-32 + .byte N06 , As3 , v048 + .byte W12 + .byte Ds4 , v060 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v+9 + .byte N09 , As2 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v-32 + .byte N06 , As3 , v048 + .byte W12 + .byte Dn4 , v060 + .byte W24 + .byte PEND +mus_kachi3_6_B1: + .byte VOICE , 60 + .byte PAN , c_v+9 + .byte N09 , Gs2 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v-32 + .byte N06 , Gs3 , v048 + .byte W12 + .byte Cn4 , v060 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v+9 + .byte N09 , As2 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v-32 + .byte N06 , Fn3 , v068 + .byte W12 + .byte As3 , v060 + .byte W24 + .byte PATT + .word mus_kachi3_6_000 + .byte VOICE , 60 + .byte PAN , c_v+9 + .byte N09 , Gs2 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v-32 + .byte N06 , Gs3 , v060 + .byte W12 + .byte Dn3 + .byte W12 + .byte Dn3 , v064 + .byte W12 + .byte Ds3 , v060 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte VOICE , 56 + .byte PAN , c_v+32 + .byte N03 , Gn4 , v076 + .byte W18 + .byte N12 + .byte W12 + .byte N03 , Fn4 , v036 + .byte W03 + .byte Ds4 , v024 + .byte W03 + .byte As3 , v008 + .byte W12 + .byte W96 + .byte W36 + .byte PAN , c_v+0 + .byte N06 , Fn4 , v076 + .byte W06 + .byte N03 , An4 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W18 + .byte N12 + .byte W12 + .byte N03 , Gn4 , v036 + .byte W03 + .byte Fn4 , v024 + .byte W03 + .byte Cn4 , v008 + .byte W12 + .byte W96 + .byte W24 + .byte N12 , Dn4 , v064 + .byte W12 + .byte Ds4 + .byte W12 + .byte N03 , Fn4 , v076 + .byte W18 + .byte N12 + .byte W12 + .byte N03 , Dn4 , v036 + .byte W03 + .byte As3 , v024 + .byte W03 + .byte Fn3 , v008 + .byte W12 + .byte W96 + .byte W06 + .byte Gn3 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte N03 , Fn3 , v032 + .byte W03 + .byte As2 , v020 + .byte W03 + .byte Gn2 , v012 + .byte W66 + .byte W96 + .byte W96 + .byte VOICE , 48 + .byte PAN , c_v-16 + .byte N16 , Gn4 , v080 + .byte W16 + .byte Fn4 + .byte W16 + .byte Ds4 + .byte W16 + .byte Dn4 + .byte W16 + .byte Ds4 + .byte W16 + .byte As3 + .byte W16 + .byte N92 , Fn3 + .byte W36 + .byte W03 + .byte VOL , 76*mus_kachi3_mvl/mxv + .byte W06 + .byte 72*mus_kachi3_mvl/mxv + .byte W09 + .byte 68*mus_kachi3_mvl/mxv + .byte W09 + .byte 62*mus_kachi3_mvl/mxv + .byte W06 + .byte 50*mus_kachi3_mvl/mxv + .byte W06 + .byte 40*mus_kachi3_mvl/mxv + .byte W06 + .byte 28*mus_kachi3_mvl/mxv + .byte W06 + .byte 16*mus_kachi3_mvl/mxv + .byte W03 + .byte 5*mus_kachi3_mvl/mxv + .byte W06 + .byte 80*mus_kachi3_mvl/mxv + .byte N16 , Fn4 + .byte W16 + .byte Gn4 + .byte W16 + .byte Fn4 + .byte W16 + .byte Ds4 + .byte W16 + .byte Fn4 + .byte W16 + .byte Cn4 + .byte W16 + .byte N92 , Dn4 + .byte W36 + .byte W03 + .byte VOL , 76*mus_kachi3_mvl/mxv + .byte W06 + .byte 72*mus_kachi3_mvl/mxv + .byte W09 + .byte 68*mus_kachi3_mvl/mxv + .byte W09 + .byte 62*mus_kachi3_mvl/mxv + .byte W06 + .byte 50*mus_kachi3_mvl/mxv + .byte W06 + .byte 40*mus_kachi3_mvl/mxv + .byte W06 + .byte 28*mus_kachi3_mvl/mxv + .byte W06 + .byte 16*mus_kachi3_mvl/mxv + .byte W03 + .byte 5*mus_kachi3_mvl/mxv + .byte W06 + .byte 80*mus_kachi3_mvl/mxv + .byte W48 + .byte N24 + .byte W24 + .byte Fn4 + .byte W24 + .byte N84 , Gs4 + .byte W84 + .byte N12 + .byte W12 + .byte N90 , Gn4 + .byte W48 + .byte VOL , 76*mus_kachi3_mvl/mxv + .byte W06 + .byte 72*mus_kachi3_mvl/mxv + .byte W09 + .byte 68*mus_kachi3_mvl/mxv + .byte W09 + .byte 62*mus_kachi3_mvl/mxv + .byte W06 + .byte 50*mus_kachi3_mvl/mxv + .byte W06 + .byte 40*mus_kachi3_mvl/mxv + .byte W06 + .byte 28*mus_kachi3_mvl/mxv + .byte W06 + .byte VOICE , 60 + .byte VOL , 80*mus_kachi3_mvl/mxv + .byte PAN , c_v-1 + .byte N09 , As2 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v-32 + .byte N06 , As3 , v048 + .byte W12 + .byte Ds4 , v060 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v-1 + .byte N09 , As2 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v-32 + .byte N06 , As3 , v048 + .byte W12 + .byte Dn4 , v060 + .byte W24 + .byte GOTO + .word mus_kachi3_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_kachi3_7: + .byte KEYSH , mus_kachi3_key+0 + .byte W09 + .byte VOICE , 47 + .byte VOL , 80*mus_kachi3_mvl/mxv + .byte PAN , c_v-8 + .byte N12 , As1 , v120 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Ds2 + .byte W36 + .byte N06 , As1 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Ds2 + .byte W36 + .byte N06 , As1 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Fn2 + .byte W84 + .byte Dn2 + .byte W12 + .byte Ds2 + .byte W96 +mus_kachi3_7_B1: + .byte N12 , Cn2 , v120 + .byte W84 + .byte Dn2 + .byte W12 + .byte Ds2 + .byte W96 + .byte Cn2 + .byte W36 + .byte Dn2 + .byte W12 + .byte Ds2 + .byte W48 +mus_kachi3_7_000: + .byte N12 , Ds2 , v120 + .byte W24 + .byte As1 + .byte W24 + .byte Dn2 + .byte W24 + .byte As1 + .byte W24 + .byte PEND + .byte Cn2 + .byte W24 + .byte Gs1 + .byte W24 + .byte Dn2 + .byte W24 + .byte As1 + .byte W24 + .byte PATT + .word mus_kachi3_7_000 + .byte N12 , Cn2 , v120 + .byte W24 + .byte Gs1 + .byte W24 + .byte Ds2 + .byte W48 + .byte N12 + .byte W96 + .byte N06 , As1 , v108 + .byte W06 + .byte As1 , v092 + .byte W06 + .byte As1 , v108 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N12 , Ds2 + .byte W18 + .byte As1 + .byte W12 + .byte Cn2 , v120 + .byte W96 + .byte N06 , Cn2 , v108 + .byte W06 + .byte Cn2 , v092 + .byte W06 + .byte Cn2 , v108 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N12 , Fn2 + .byte W18 + .byte Cn2 + .byte W12 + .byte Dn2 , v120 + .byte W96 + .byte N06 , As1 , v108 + .byte W06 + .byte As1 , v092 + .byte W06 + .byte As1 , v108 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N12 , Fn2 + .byte W18 + .byte As1 + .byte W12 + .byte Ds2 , v120 + .byte W36 + .byte As1 + .byte W12 + .byte Ds2 + .byte W36 + .byte N12 + .byte W12 + .byte Fn2 + .byte W24 + .byte As1 + .byte W24 + .byte N12 + .byte W18 + .byte Cn2 + .byte W18 + .byte Dn2 + .byte W12 + .byte Ds2 + .byte W96 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte N96 , As2 , v092 + .byte W08 + .byte VOL , 64*mus_kachi3_mvl/mxv + .byte W08 + .byte 44*mus_kachi3_mvl/mxv + .byte W12 + .byte 48*mus_kachi3_mvl/mxv + .byte W08 + .byte 53*mus_kachi3_mvl/mxv + .byte W12 + .byte 60*mus_kachi3_mvl/mxv + .byte W12 + .byte 68*mus_kachi3_mvl/mxv + .byte W08 + .byte 76*mus_kachi3_mvl/mxv + .byte W08 + .byte 80*mus_kachi3_mvl/mxv + .byte W20 + .byte W96 + .byte N96 , Cn3 + .byte W08 + .byte VOL , 64*mus_kachi3_mvl/mxv + .byte W08 + .byte 44*mus_kachi3_mvl/mxv + .byte W12 + .byte 48*mus_kachi3_mvl/mxv + .byte W08 + .byte 53*mus_kachi3_mvl/mxv + .byte W12 + .byte 60*mus_kachi3_mvl/mxv + .byte W12 + .byte 68*mus_kachi3_mvl/mxv + .byte W08 + .byte 76*mus_kachi3_mvl/mxv + .byte W08 + .byte 80*mus_kachi3_mvl/mxv + .byte W20 + .byte W96 + .byte N96 , Fn3 , v100 + .byte W08 + .byte VOL , 64*mus_kachi3_mvl/mxv + .byte W08 + .byte 44*mus_kachi3_mvl/mxv + .byte W12 + .byte 48*mus_kachi3_mvl/mxv + .byte W08 + .byte 53*mus_kachi3_mvl/mxv + .byte W12 + .byte 60*mus_kachi3_mvl/mxv + .byte W12 + .byte 68*mus_kachi3_mvl/mxv + .byte W08 + .byte 76*mus_kachi3_mvl/mxv + .byte W08 + .byte 80*mus_kachi3_mvl/mxv + .byte W20 + .byte VOICE , 47 + .byte PAN , c_v-8 + .byte N12 , Ds2 , v120 + .byte W12 + .byte N12 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 + .byte W18 + .byte As1 + .byte W18 + .byte Ds2 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 + .byte W18 + .byte As1 + .byte W18 + .byte N12 + .byte W12 + .byte Ds2 + .byte W96 + .byte GOTO + .word mus_kachi3_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_kachi3_8: + .byte KEYSH , mus_kachi3_key+0 + .byte W09 + .byte VOICE , 0 + .byte VOL , 80*mus_kachi3_mvl/mxv + .byte N48 , Bn2 , v104 + .byte W48 + .byte N36 , Bn2 , v092 + .byte W36 + .byte N12 + .byte W12 + .byte N48 , Bn2 , v104 + .byte W48 + .byte N96 + .byte W96 + .byte W96 +mus_kachi3_8_B1: + .byte W96 + .byte W96 + .byte W72 + .byte N06 , En1 , v108 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte En1 , v112 + .byte N96 , Bn2 + .byte W12 + .byte N06 , En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v108 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v080 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W24 + .byte N03 + .byte W03 + .byte En1 , v092 + .byte W03 + .byte N06 , En1 , v076 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte En1 , v112 + .byte N48 , Bn2 + .byte W24 + .byte N06 , En1 , v127 + .byte W12 + .byte En1 , v080 + .byte W12 + .byte En1 , v112 + .byte W18 + .byte En1 , v080 + .byte W06 + .byte En1 , v127 + .byte W12 + .byte En1 , v080 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v080 + .byte W12 + .byte En1 , v127 + .byte W12 + .byte En1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W18 + .byte En1 , v080 + .byte W06 + .byte En1 , v127 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte En1 , v080 + .byte W06 +mus_kachi3_8_000: + .byte N06 , En1 , v112 + .byte W24 + .byte En1 , v127 + .byte W12 + .byte En1 , v080 + .byte W12 + .byte En1 , v112 + .byte W18 + .byte En1 , v080 + .byte W06 + .byte En1 , v127 + .byte W12 + .byte En1 , v080 + .byte W12 + .byte PEND + .byte En1 , v112 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v127 + .byte W12 + .byte En1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W18 + .byte En1 , v080 + .byte W06 + .byte En1 , v127 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte PATT + .word mus_kachi3_8_000 + .byte N06 , En1 , v112 + .byte W12 + .byte En1 , v080 + .byte W12 + .byte En1 , v127 + .byte W12 + .byte En1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W18 + .byte En1 , v080 + .byte W06 + .byte En1 , v127 + .byte W12 + .byte En1 , v084 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v056 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v068 + .byte W12 + .byte En1 , v080 + .byte W12 + .byte En1 , v096 + .byte W12 + .byte En1 , v104 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v127 + .byte W12 + .byte En1 , v084 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v084 + .byte W12 + .byte En1 , v088 + .byte W06 + .byte En1 , v052 + .byte W06 + .byte En1 , v092 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v104 + .byte W06 + .byte En1 , v076 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v088 + .byte W06 + .byte N96 , Bn2 , v112 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N48 + .byte W48 + .byte N06 , En1 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte En1 , v088 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte W96 + .byte GOTO + .word mus_kachi3_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_kachi3: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_kachi3_pri @ Priority + .byte mus_kachi3_rev @ Reverb. + + .word mus_kachi3_grp + + .word mus_kachi3_1 + .word mus_kachi3_2 + .word mus_kachi3_3 + .word mus_kachi3_4 + .word mus_kachi3_5 + .word mus_kachi3_6 + .word mus_kachi3_7 + .word mus_kachi3_8 + + .end diff --git a/sound/songs/mus_kachi4.s b/sound/songs/mus_kachi4.s new file mode 100644 index 0000000000..f911490e98 --- /dev/null +++ b/sound/songs/mus_kachi4.s @@ -0,0 +1,898 @@ + .include "MPlayDef.s" + + .equ mus_kachi4_grp, voicegroup_8689A74 + .equ mus_kachi4_pri, 0 + .equ mus_kachi4_rev, reverb_set+50 + .equ mus_kachi4_mvl, 127 + .equ mus_kachi4_key, 0 + .equ mus_kachi4_tbs, 1 + .equ mus_kachi4_exg, 0 + .equ mus_kachi4_cmp, 1 + + .section .rodata + .global mus_kachi4 + .align 2 + +@********************** Track 1 **********************@ + +mus_kachi4_1: + .byte KEYSH , mus_kachi4_key+0 + .byte TEMPO , 142*mus_kachi4_tbs/2 + .byte VOICE , 127 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 44*mus_kachi4_mvl/mxv + .byte W08 + .byte W08 + .byte W96 + .byte W96 +mus_kachi4_1_B1: + .byte VOICE , 127 + .byte N04 , En5 , v096 + .byte W12 + .byte En5 , v080 + .byte W06 + .byte N04 + .byte W06 + .byte VOICE , 126 + .byte N12 , Gn5 , v092 + .byte W12 + .byte VOICE , 127 + .byte N04 , En5 , v080 + .byte W06 + .byte N04 + .byte W06 + .byte En5 , v096 + .byte W12 + .byte En5 , v080 + .byte W06 + .byte N04 + .byte W06 + .byte VOICE , 126 + .byte N12 , Gn5 , v096 + .byte W12 + .byte N04 , En5 , v080 + .byte W04 + .byte VOICE , 127 + .byte W02 + .byte N04 + .byte W06 +mus_kachi4_1_000: + .byte N04 , En5 , v096 + .byte W12 + .byte En5 , v080 + .byte W06 + .byte N04 + .byte W06 + .byte VOICE , 126 + .byte N12 , Gn5 , v096 + .byte W12 + .byte VOICE , 127 + .byte N04 , En5 , v080 + .byte W06 + .byte N04 + .byte W06 + .byte En5 , v096 + .byte W04 + .byte En5 , v064 + .byte W04 + .byte N04 + .byte W04 + .byte En5 , v080 + .byte W06 + .byte N04 + .byte W06 + .byte VOICE , 126 + .byte N12 , Gn5 , v096 + .byte W12 + .byte N04 , En5 , v080 + .byte W04 + .byte VOICE , 127 + .byte W02 + .byte N04 + .byte W06 + .byte PEND + .byte En5 , v096 + .byte W12 + .byte En5 , v080 + .byte W06 + .byte N04 + .byte W06 + .byte VOICE , 126 + .byte N12 , Gn5 , v092 + .byte W12 + .byte VOICE , 127 + .byte N04 , En5 , v080 + .byte W06 + .byte N04 + .byte W06 + .byte En5 , v096 + .byte W12 + .byte En5 , v080 + .byte W06 + .byte N04 + .byte W06 + .byte VOICE , 126 + .byte N12 , Gn5 , v096 + .byte W12 + .byte N04 , En5 , v080 + .byte W04 + .byte VOICE , 127 + .byte W02 + .byte N04 + .byte W06 + .byte PATT + .word mus_kachi4_1_000 + .byte GOTO + .word mus_kachi4_1_B1 + .byte W96 + .byte FINE + +@********************** Track 2 **********************@ + +mus_kachi4_2: + .byte KEYSH , mus_kachi4_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 82*mus_kachi4_mvl/mxv + .byte PAN , c_v-13 + .byte W08 + .byte W08 + .byte W48 + .byte W02 + .byte N22 , Fn3 , v112 + .byte W22 + .byte N24 , As3 + .byte W24 + .byte N04 , Dn4 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Cn4 + .byte W08 + .byte N24 , Dn4 + .byte W24 + .byte Ds4 , v096 + .byte W24 +mus_kachi4_2_B1: + .byte VOICE , 24 + .byte VOL , 48*mus_kachi4_mvl/mxv + .byte W02 + .byte N44 , Fn4 , v112 + .byte W48 + .byte N04 , An4 + .byte W04 + .byte N08 , An4 , v036 + .byte W08 + .byte N04 , Gn4 , v112 + .byte W04 + .byte N08 , Gn4 , v036 + .byte W08 + .byte N04 , Fn4 , v112 + .byte W04 + .byte N08 , Fn4 , v036 + .byte W08 + .byte N04 , Gn4 , v112 + .byte W04 + .byte N08 , Gn4 , v036 + .byte W06 + .byte W02 + .byte N32 , Dn4 , v112 + .byte W32 + .byte W02 + .byte N04 , Gn4 + .byte W04 + .byte N08 , Gn4 , v036 + .byte W10 + .byte N24 , Bn4 , v112 + .byte W24 + .byte N04 , An4 + .byte W04 + .byte N08 , An4 , v036 + .byte W08 + .byte N04 , Gn4 , v112 + .byte W04 + .byte N08 , Gn4 , v036 + .byte W06 + .byte W02 + .byte N44 , Fn4 , v112 + .byte W48 + .byte N10 , An4 + .byte W12 + .byte N04 , Fn4 + .byte W04 + .byte An4 + .byte W04 + .byte Fn4 + .byte W04 + .byte N12 , Dn4 + .byte W12 + .byte N10 , Cn4 + .byte W10 + .byte W02 + .byte N04 , Bn3 + .byte W04 + .byte N08 , Bn3 , v036 + .byte W08 + .byte N04 , Gn3 , v112 + .byte W04 + .byte Gn3 , v036 + .byte W02 + .byte Bn3 , v112 + .byte W06 + .byte Dn4 + .byte W04 + .byte Dn4 , v036 + .byte W04 + .byte Bn3 , v112 + .byte W04 + .byte Bn3 , v036 + .byte W04 + .byte Dn4 , v112 + .byte W04 + .byte Dn4 , v036 + .byte W04 + .byte N22 , Gn4 , v112 + .byte W22 + .byte N04 , Fn4 + .byte W04 + .byte N08 , Fn4 , v036 + .byte W10 + .byte N04 , Dn4 , v112 + .byte W04 + .byte Dn4 , v036 + .byte W06 + .byte GOTO + .word mus_kachi4_2_B1 + .byte W96 + .byte FINE + +@********************** Track 3 **********************@ + +mus_kachi4_3: + .byte KEYSH , mus_kachi4_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 85*mus_kachi4_mvl/mxv + .byte PAN , c_v+14 + .byte W08 + .byte W08 + .byte N06 , Cn4 , v120 + .byte W12 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N48 , Fn4 + .byte W48 + .byte N24 , Fs4 + .byte W24 + .byte N04 , Gn4 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fn4 + .byte W08 + .byte N24 , Gn4 + .byte W24 + .byte Gs4 , v096 + .byte W24 +mus_kachi4_3_B1: + .byte VOICE , 24 + .byte VOL , 63*mus_kachi4_mvl/mxv + .byte N48 , An4 , v112 + .byte W48 + .byte N04 , Dn5 + .byte W04 + .byte N08 , Dn5 , v036 + .byte W08 + .byte N04 , Cn5 , v112 + .byte W04 + .byte N08 , Cn5 , v036 + .byte W08 + .byte N04 , Bn4 , v112 + .byte W04 + .byte N08 , Bn4 , v036 + .byte W08 + .byte N04 , Cn5 , v112 + .byte W04 + .byte N08 , Cn5 , v036 + .byte W08 + .byte N36 , Gn4 , v112 + .byte W36 + .byte N04 , Bn4 + .byte W04 + .byte N08 , Bn4 , v036 + .byte W08 + .byte N24 , Gn5 , v112 + .byte W24 + .byte N04 , Fn5 + .byte W04 + .byte N08 , Fn5 , v036 + .byte W08 + .byte N04 , En5 , v112 + .byte W04 + .byte N08 , En5 , v036 + .byte W08 + .byte N48 , An4 , v112 + .byte W48 + .byte N12 , Dn5 + .byte W12 + .byte N04 , Cn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Cn5 + .byte W04 + .byte N12 , Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte N04 , Gn4 + .byte W04 + .byte N08 , Gn4 , v036 + .byte W08 + .byte N04 , Dn4 , v112 + .byte W06 + .byte Gn4 + .byte W06 + .byte Bn4 + .byte W04 + .byte Bn4 , v036 + .byte W04 + .byte Gn4 , v112 + .byte W04 + .byte Gn4 , v036 + .byte W04 + .byte Bn4 , v112 + .byte W04 + .byte Bn4 , v036 + .byte W04 + .byte N24 , Dn5 , v112 + .byte W24 + .byte N04 , Cn5 + .byte W04 + .byte N08 , Cn5 , v036 + .byte W08 + .byte N04 , Bn4 , v112 + .byte W04 + .byte N08 , Bn4 , v036 + .byte W08 + .byte GOTO + .word mus_kachi4_3_B1 + .byte W96 + .byte FINE + +@********************** Track 4 **********************@ + +mus_kachi4_4: + .byte KEYSH , mus_kachi4_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 88*mus_kachi4_mvl/mxv + .byte W08 + .byte N02 , Fn2 , v108 + .byte W04 + .byte Fn2 , v092 + .byte W04 + .byte W02 + .byte N04 , Fn2 , v112 + .byte W36 + .byte W02 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn2 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fn2 + .byte W08 + .byte N24 , Gn2 + .byte W24 + .byte Fs1 + .byte W24 +mus_kachi4_4_B1: + .byte VOICE , 48 + .byte VOL , 35*mus_kachi4_mvl/mxv + .byte N72 , Cn3 , v112 + .byte W72 + .byte N08 , An2 + .byte W08 + .byte Cn3 + .byte W08 + .byte An2 + .byte W08 + .byte N72 , Bn2 + .byte W72 + .byte N08 , Gn2 + .byte W08 + .byte Bn2 + .byte W08 + .byte Dn2 + .byte W08 + .byte N72 , Fn2 + .byte W72 + .byte N08 , Dn2 + .byte W08 + .byte Gn2 + .byte W08 + .byte An2 + .byte W08 + .byte N72 , Bn2 + .byte W72 + .byte N08 , Gn2 + .byte W08 + .byte An2 + .byte W08 + .byte Bn2 + .byte W08 + .byte GOTO + .word mus_kachi4_4_B1 + .byte W96 + .byte FINE + +@********************** Track 5 **********************@ + +mus_kachi4_5: + .byte KEYSH , mus_kachi4_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 41*mus_kachi4_mvl/mxv + .byte PAN , c_v+63 + .byte W08 + .byte W08 + .byte N06 , Cn3 , v096 + .byte W12 + .byte An2 , v112 + .byte W06 + .byte Cn3 + .byte W06 + .byte N48 , Fn3 + .byte W48 + .byte N24 , As3 + .byte W24 + .byte N04 , Bn3 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte An3 + .byte W08 + .byte N24 , Bn3 + .byte W24 + .byte Cn4 + .byte W24 +mus_kachi4_5_B1: +mus_kachi4_5_000: + .byte W12 + .byte N04 , An3 , v112 + .byte W06 + .byte N04 + .byte W18 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte As3 + .byte W12 + .byte PEND +mus_kachi4_5_001: + .byte W12 + .byte N04 , Bn3 , v112 + .byte W06 + .byte N04 + .byte W18 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte As3 + .byte W12 + .byte PEND + .byte PATT + .word mus_kachi4_5_000 + .byte PATT + .word mus_kachi4_5_001 + .byte GOTO + .word mus_kachi4_5_B1 + .byte W96 + .byte FINE + +@********************** Track 6 **********************@ + +mus_kachi4_6: + .byte KEYSH , mus_kachi4_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-1 + .byte VOL , 58*mus_kachi4_mvl/mxv + .byte W02 + .byte 55*mus_kachi4_mvl/mxv + .byte W06 + .byte W08 + .byte N06 , Fn1 , v112 + .byte W12 + .byte Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte N48 , Fn1 + .byte W48 + .byte N24 , Fs1 + .byte W24 + .byte N04 , Gn1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N24 + .byte W24 + .byte Fs1 + .byte W24 +mus_kachi4_6_B1: +mus_kachi4_6_000: + .byte N04 , Fn1 , v112 + .byte W12 + .byte Fn2 + .byte W06 + .byte N04 + .byte W18 + .byte N04 + .byte W12 + .byte Fn1 + .byte W12 + .byte Fn2 + .byte W24 + .byte Fs2 + .byte W12 + .byte PEND + .byte Gn1 + .byte W12 + .byte Gn2 + .byte W06 + .byte N04 + .byte W18 + .byte N04 + .byte W12 + .byte Gn1 + .byte W12 + .byte Gn2 + .byte W24 + .byte N04 + .byte W12 + .byte PATT + .word mus_kachi4_6_000 + .byte N04 , Gn1 , v112 + .byte W12 + .byte Gn2 + .byte W06 + .byte N04 + .byte W18 + .byte N04 + .byte W12 + .byte Gn1 + .byte W12 + .byte Gn2 + .byte W24 + .byte Fs2 + .byte W12 + .byte GOTO + .word mus_kachi4_6_B1 + .byte W96 + .byte FINE + +@********************** Track 7 **********************@ + +mus_kachi4_7: + .byte KEYSH , mus_kachi4_key+0 + .byte VOICE , 0 + .byte VOL , 65*mus_kachi4_mvl/mxv + .byte W08 + .byte W08 + .byte N48 , An2 , v112 + .byte W96 + .byte W96 +mus_kachi4_7_B1: +mus_kachi4_7_000: + .byte N04 , Cn1 , v112 + .byte W24 + .byte Dn1 + .byte W36 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W24 + .byte PEND + .byte Cn1 + .byte W24 + .byte Dn1 + .byte W36 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte En1 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte PATT + .word mus_kachi4_7_000 + .byte N04 , Dn1 , v088 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N04 + .byte W12 + .byte N04 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 , v096 + .byte W12 + .byte GOTO + .word mus_kachi4_7_B1 + .byte W96 + .byte FINE + +@********************** Track 8 **********************@ + +mus_kachi4_8: + .byte KEYSH , mus_kachi4_key+0 + .byte VOICE , 83 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 41*mus_kachi4_mvl/mxv + .byte PAN , c_v-64 + .byte W08 + .byte W08 + .byte N06 , An4 , v112 + .byte W12 + .byte Fn4 + .byte W06 + .byte An4 + .byte W06 + .byte N48 , Cn5 + .byte W48 + .byte N24 , Fs5 + .byte W24 + .byte W96 +mus_kachi4_8_B1: +mus_kachi4_8_000: + .byte W12 + .byte N04 , Cn3 , v112 + .byte W06 + .byte N04 + .byte W18 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte Cs3 + .byte W12 + .byte PEND +mus_kachi4_8_001: + .byte W12 + .byte N04 , Dn3 , v112 + .byte W06 + .byte N04 + .byte W18 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte Cs3 + .byte W12 + .byte PEND + .byte PATT + .word mus_kachi4_8_000 + .byte PATT + .word mus_kachi4_8_001 + .byte GOTO + .word mus_kachi4_8_B1 + .byte W96 + .byte FINE + +@********************** Track 9 **********************@ + +mus_kachi4_9: + .byte KEYSH , mus_kachi4_key+0 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-1 + .byte VOL , 37*mus_kachi4_mvl/mxv + .byte W03 + .byte VOICE , 46 + .byte W05 + .byte W08 + .byte PAN , c_v-40 + .byte N04 , Fn4 , v112 + .byte W04 + .byte An4 + .byte W04 + .byte Cn5 + .byte W04 + .byte PAN , c_v-16 + .byte N04 , Fn5 + .byte W04 + .byte An5 + .byte W04 + .byte Cn6 + .byte W04 + .byte PAN , c_v+43 + .byte N04 , Fn6 + .byte W04 + .byte Cn6 + .byte W04 + .byte An5 + .byte W04 + .byte PAN , c_v+16 + .byte N04 , Fn5 + .byte W04 + .byte Cn5 + .byte W04 + .byte An4 + .byte W04 + .byte PAN , c_v-40 + .byte N04 , Fn4 + .byte W04 + .byte An4 + .byte W04 + .byte Cn5 + .byte W04 + .byte PAN , c_v-16 + .byte N04 , Fn5 + .byte W04 + .byte An5 + .byte W04 + .byte Cn6 + .byte W04 + .byte PAN , c_v+38 + .byte N04 , Fs6 + .byte W04 + .byte Cs6 + .byte W04 + .byte As5 + .byte W04 + .byte PAN , c_v-7 + .byte N04 , Fs5 + .byte W04 + .byte Cs5 + .byte W04 + .byte As4 + .byte W04 + .byte PAN , c_v-38 + .byte N04 , Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte PAN , c_v-24 + .byte N04 , Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte PAN , c_v-16 + .byte N04 , Dn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Bn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Bn5 + .byte W04 + .byte Dn6 + .byte W04 + .byte PAN , c_v+43 + .byte N04 , Gn6 + .byte W04 + .byte Dn6 + .byte W04 + .byte Bn5 + .byte W04 + .byte PAN , c_v+13 + .byte N04 , Dn6 + .byte W04 + .byte Bn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte PAN , c_v-8 + .byte N04 , Cn6 + .byte W04 + .byte Gs5 + .byte W04 + .byte Ds5 + .byte W04 + .byte PAN , c_v-23 + .byte N04 , Gs5 + .byte W04 + .byte Ds5 + .byte W04 + .byte Cn5 + .byte W04 +mus_kachi4_9_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_kachi4_9_B1 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +mus_kachi4: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_kachi4_pri @ Priority + .byte mus_kachi4_rev @ Reverb. + + .word mus_kachi4_grp + + .word mus_kachi4_1 + .word mus_kachi4_2 + .word mus_kachi4_3 + .word mus_kachi4_4 + .word mus_kachi4_5 + .word mus_kachi4_6 + .word mus_kachi4_7 + .word mus_kachi4_8 + .word mus_kachi4_9 + + .end diff --git a/sound/songs/mus_kachi5.s b/sound/songs/mus_kachi5.s new file mode 100644 index 0000000000..9b3dc6bede --- /dev/null +++ b/sound/songs/mus_kachi5.s @@ -0,0 +1,2335 @@ + .include "MPlayDef.s" + + .equ mus_kachi5_grp, voicegroup_867C184 + .equ mus_kachi5_pri, 0 + .equ mus_kachi5_rev, reverb_set+50 + .equ mus_kachi5_mvl, 127 + .equ mus_kachi5_key, 0 + .equ mus_kachi5_tbs, 1 + .equ mus_kachi5_exg, 0 + .equ mus_kachi5_cmp, 1 + + .section .rodata + .global mus_kachi5 + .align 2 + +@********************** Track 1 **********************@ + +mus_kachi5_1: + .byte KEYSH , mus_kachi5_key+0 + .byte TEMPO , 140*mus_kachi5_tbs/2 + .byte W12 + .byte VOICE , 56 + .byte VOL , 80*mus_kachi5_mvl/mxv + .byte N04 , Fn3 , v112 + .byte W08 + .byte Cn4 + .byte W08 + .byte As3 + .byte W08 + .byte BEND , c_v+0 + .byte N48 , Fn4 + .byte W20 + .byte MOD , 6 + .byte W28 + .byte 0 + .byte N24 , Cs4 + .byte W08 + .byte MOD , 6 + .byte W16 + .byte 0 + .byte N04 + .byte W08 + .byte Fn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte N48 , Gs4 + .byte W20 + .byte MOD , 6 + .byte W28 + .byte 0 + .byte N24 , Cn4 + .byte W08 + .byte MOD , 6 + .byte W16 + .byte 0 + .byte N04 , Ds4 + .byte W08 + .byte Gs4 + .byte W08 + .byte N08 , An4 + .byte W08 + .byte N96 , As4 + .byte W24 + .byte MOD , 6 + .byte W72 + .byte N12 + .byte W12 + .byte MOD , 0 + .byte W12 + .byte VOICE , 60 + .byte PAN , c_v-16 + .byte N04 , As2 , v096 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W48 +mus_kachi5_1_B1: + .byte VOICE , 56 + .byte PAN , c_v-1 + .byte N36 , Fn4 , v112 + .byte W16 + .byte MOD , 6 + .byte W20 + .byte 0 + .byte W04 + .byte N08 , Ds4 + .byte W08 + .byte N16 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W04 + .byte 0 + .byte N08 , Cn4 + .byte W08 + .byte N16 , As3 + .byte W16 + .byte N08 , Cn4 + .byte W08 + .byte N60 , Fn3 + .byte W20 + .byte MOD , 6 + .byte W24 + .byte VOL , 63*mus_kachi5_mvl/mxv + .byte W04 + .byte 53*mus_kachi5_mvl/mxv + .byte W04 + .byte 36*mus_kachi5_mvl/mxv + .byte W04 + .byte 16*mus_kachi5_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W04 + .byte VOL , 80*mus_kachi5_mvl/mxv + .byte N08 , An3 + .byte W08 + .byte N16 , Cn4 + .byte W08 + .byte MOD , 6 + .byte W08 + .byte 0 + .byte N08 , Dn4 + .byte W08 + .byte N36 , As3 + .byte W16 + .byte MOD , 6 + .byte W20 + .byte 0 + .byte W04 + .byte N08 , Gn4 + .byte W08 + .byte N16 , Fn4 + .byte W16 + .byte N08 , Ds4 + .byte W08 + .byte N16 , Dn4 + .byte W08 + .byte MOD , 6 + .byte W08 + .byte 0 + .byte N08 , Ds4 + .byte W08 + .byte N92 , Cn4 + .byte W24 + .byte MOD , 6 + .byte W28 + .byte VOL , 68*mus_kachi5_mvl/mxv + .byte W08 + .byte 60*mus_kachi5_mvl/mxv + .byte W08 + .byte 50*mus_kachi5_mvl/mxv + .byte W08 + .byte 39*mus_kachi5_mvl/mxv + .byte W08 + .byte 27*mus_kachi5_mvl/mxv + .byte W04 + .byte 13*mus_kachi5_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W04 + .byte VOL , 80*mus_kachi5_mvl/mxv + .byte N40 , Fn4 + .byte W16 + .byte MOD , 6 + .byte W20 + .byte 0 + .byte W04 + .byte N08 , Ds4 + .byte W08 + .byte N16 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W04 + .byte 0 + .byte N08 , Cn4 + .byte W08 + .byte N16 , As3 + .byte W16 + .byte BEND , c_v-16 + .byte N08 , Cn5 + .byte W02 + .byte BEND , c_v+0 + .byte W06 + .byte N60 , An4 + .byte W20 + .byte MOD , 6 + .byte W24 + .byte VOL , 63*mus_kachi5_mvl/mxv + .byte W04 + .byte 53*mus_kachi5_mvl/mxv + .byte W04 + .byte 36*mus_kachi5_mvl/mxv + .byte W04 + .byte 16*mus_kachi5_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W04 + .byte VOL , 80*mus_kachi5_mvl/mxv + .byte N08 + .byte W08 + .byte N16 , Gn4 + .byte W08 + .byte MOD , 6 + .byte W08 + .byte 0 + .byte N08 , Fs4 + .byte W08 + .byte N40 , Gn4 + .byte W16 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N08 , An4 + .byte W08 + .byte N16 , As4 + .byte W16 + .byte N08 , Gn4 + .byte W08 + .byte N16 , As4 + .byte W08 + .byte MOD , 6 + .byte W08 + .byte 0 + .byte BEND , c_v-16 + .byte N08 , Dn5 + .byte W02 + .byte BEND , c_v+0 + .byte W06 + .byte N56 , Cn5 + .byte W24 + .byte MOD , 6 + .byte W08 + .byte VOL , 70*mus_kachi5_mvl/mxv + .byte W08 + .byte 62*mus_kachi5_mvl/mxv + .byte W04 + .byte 52*mus_kachi5_mvl/mxv + .byte W04 + .byte 34*mus_kachi5_mvl/mxv + .byte W04 + .byte 13*mus_kachi5_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W04 + .byte VOICE , 60 + .byte W04 + .byte VOL , 80*mus_kachi5_mvl/mxv + .byte N08 , Fn2 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N08 , Ds3 + .byte W08 + .byte N40 , Dn3 + .byte W40 + .byte N08 , Ds3 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N08 , Ds3 + .byte W08 + .byte N16 , Dn3 + .byte W16 + .byte N08 , Cn3 + .byte W08 + .byte N48 , As2 + .byte W20 + .byte MOD , 6 + .byte W28 + .byte 0 + .byte W16 + .byte N08 + .byte W08 + .byte N16 , Dn3 + .byte W16 + .byte N08 , Fs3 + .byte W08 + .byte N40 , Gn3 + .byte W40 + .byte N08 , Fn3 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte N08 , Gn2 + .byte W08 + .byte N16 , Cn3 + .byte W16 + .byte N08 , Dn3 + .byte W08 + .byte N48 , Cn3 + .byte W24 + .byte VOL , 73*mus_kachi5_mvl/mxv + .byte MOD , 6 + .byte W08 + .byte VOL , 66*mus_kachi5_mvl/mxv + .byte W08 + .byte 53*mus_kachi5_mvl/mxv + .byte W04 + .byte 30*mus_kachi5_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W12 + .byte VOICE , 48 + .byte W04 + .byte VOL , 80*mus_kachi5_mvl/mxv + .byte N08 + .byte W08 + .byte N16 , Gn3 + .byte W16 + .byte N08 , An3 + .byte W08 + .byte N40 , As3 + .byte W40 + .byte N08 , Fn3 + .byte W08 + .byte N16 , Dn3 + .byte W16 + .byte N08 , Ds3 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N08 , As3 + .byte W08 + .byte N40 , Cn4 + .byte W40 + .byte N08 , Dn4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N08 , Dn4 + .byte W08 + .byte N16 , As3 + .byte W16 + .byte N08 , Fs3 + .byte W08 + .byte N48 , Fn3 + .byte W64 + .byte PAN , c_v+8 + .byte N08 , As3 + .byte W08 + .byte N16 , Gn3 + .byte W16 + .byte N08 , Fn3 + .byte W08 + .byte Cn3 + .byte W16 + .byte Dn3 + .byte W08 + .byte N24 , Ds3 + .byte W24 + .byte N08 , Fn3 + .byte W16 + .byte Gn3 + .byte W08 + .byte N24 , An3 + .byte W24 + .byte GOTO + .word mus_kachi5_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_kachi5_2: + .byte KEYSH , mus_kachi5_key+0 + .byte W12 + .byte VOICE , 56 + .byte VOL , 80*mus_kachi5_mvl/mxv + .byte N04 , Cn3 , v092 + .byte W08 + .byte An3 + .byte W08 + .byte Fn3 + .byte W08 + .byte PAN , c_v+8 + .byte N48 , An3 + .byte W20 + .byte MOD , 6 + .byte W28 + .byte 0 + .byte N24 , Fn3 + .byte W08 + .byte MOD , 6 + .byte W16 + .byte 0 + .byte N04 , Gs3 + .byte W08 + .byte Cs4 + .byte W08 + .byte As3 + .byte W08 + .byte N48 , Cn4 + .byte W20 + .byte MOD , 6 + .byte W28 + .byte 0 + .byte N24 , Ds3 + .byte W08 + .byte MOD , 6 + .byte W16 + .byte 0 + .byte N04 , Gs3 + .byte W08 + .byte Cn4 + .byte W08 + .byte N08 , Cs4 + .byte W08 + .byte N96 , Dn4 + .byte W24 + .byte MOD , 6 + .byte W72 + .byte N12 , Dn4 , v112 + .byte W12 + .byte MOD , 0 + .byte W12 + .byte VOICE , 60 + .byte PAN , c_v+16 + .byte N04 , Fn2 , v096 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W48 +mus_kachi5_2_B1: + .byte W96 + .byte VOICE , 73 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte N04 , Dn5 , v080 + .byte W04 + .byte Cs5 + .byte W04 + .byte Dn5 + .byte W16 + .byte N04 + .byte W04 + .byte Cs5 + .byte W04 + .byte Dn5 + .byte W08 + .byte Cs5 + .byte W08 + .byte Dn5 + .byte W16 + .byte VOICE , 56 + .byte PAN , c_v+8 + .byte N08 , Fn3 , v092 + .byte W08 + .byte N16 , Gn3 + .byte W08 + .byte MOD , 6 + .byte W08 + .byte 0 + .byte N08 , An3 + .byte W08 + .byte N36 , Gn3 + .byte W16 + .byte MOD , 6 + .byte W20 + .byte 0 + .byte W04 + .byte N08 , Ds4 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N08 , Cn4 + .byte W08 + .byte N16 , As3 + .byte W08 + .byte MOD , 6 + .byte W08 + .byte 0 + .byte N08 , Cn4 + .byte W08 + .byte N92 , An3 + .byte W24 + .byte MOD , 6 + .byte W28 + .byte VOL , 68*mus_kachi5_mvl/mxv + .byte W08 + .byte 60*mus_kachi5_mvl/mxv + .byte W08 + .byte 50*mus_kachi5_mvl/mxv + .byte W08 + .byte 39*mus_kachi5_mvl/mxv + .byte W08 + .byte 27*mus_kachi5_mvl/mxv + .byte W04 + .byte 13*mus_kachi5_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W04 + .byte VOL , 80*mus_kachi5_mvl/mxv + .byte W96 + .byte VOICE , 73 + .byte PAN , c_v+16 + .byte N04 , Dn5 , v080 + .byte W04 + .byte Cs5 + .byte W04 + .byte Dn5 + .byte W16 + .byte N04 + .byte W04 + .byte Cs5 + .byte W04 + .byte Dn5 + .byte W08 + .byte Cs5 + .byte W08 + .byte Dn5 + .byte W16 + .byte VOICE , 56 + .byte PAN , c_v+8 + .byte N08 , Cn4 , v092 + .byte W08 + .byte N16 , As3 + .byte W08 + .byte MOD , 6 + .byte W08 + .byte 0 + .byte N08 , An3 + .byte W08 + .byte N40 , As3 + .byte W16 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N08 , Cn4 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N08 , As3 + .byte W08 + .byte N16 , Dn4 + .byte W08 + .byte MOD , 6 + .byte W08 + .byte 0 + .byte N08 , Gn4 + .byte W08 + .byte N56 , Fn4 + .byte W24 + .byte MOD , 6 + .byte W08 + .byte VOL , 70*mus_kachi5_mvl/mxv + .byte W08 + .byte 62*mus_kachi5_mvl/mxv + .byte W04 + .byte 52*mus_kachi5_mvl/mxv + .byte W04 + .byte 34*mus_kachi5_mvl/mxv + .byte W04 + .byte 13*mus_kachi5_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W40 + .byte VOICE , 45 + .byte PAN , c_v-10 + .byte W16 + .byte VOL , 80*mus_kachi5_mvl/mxv + .byte N08 + .byte W08 + .byte As4 + .byte W40 + .byte Fn4 + .byte W08 + .byte As4 + .byte W24 + .byte W16 + .byte Fs4 + .byte W08 + .byte Dn5 + .byte W16 + .byte As4 + .byte W08 + .byte Dn5 + .byte W16 + .byte Cn5 + .byte W08 + .byte As4 + .byte W16 + .byte Fs4 + .byte W08 + .byte W16 + .byte As4 + .byte W08 + .byte Ds5 + .byte W40 + .byte As4 + .byte W08 + .byte Ds5 + .byte W24 + .byte W16 + .byte An4 + .byte W08 + .byte Cn5 + .byte W16 + .byte Fn4 + .byte W08 + .byte An4 + .byte W16 + .byte Gn4 + .byte W08 + .byte Fn4 + .byte W16 + .byte Cn4 + .byte W08 + .byte W48 + .byte VOICE , 60 + .byte VOL , 35*mus_kachi5_mvl/mxv + .byte N48 , Fn2 + .byte W08 + .byte VOL , 42*mus_kachi5_mvl/mxv + .byte W08 + .byte 55*mus_kachi5_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte W04 + .byte VOL , 66*mus_kachi5_mvl/mxv + .byte W08 + .byte 80*mus_kachi5_mvl/mxv + .byte W16 + .byte MOD , 0 + .byte N08 , Fs2 , v080 + .byte W08 + .byte As2 + .byte W08 + .byte Cn3 + .byte W08 + .byte Ds3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte N16 , As3 + .byte W16 + .byte N08 , Gs3 + .byte W08 + .byte N16 , Fs3 + .byte W16 + .byte N08 , Ds3 + .byte W08 + .byte N48 , Dn3 + .byte W16 + .byte MOD , 6 + .byte W04 + .byte VOL , 75*mus_kachi5_mvl/mxv + .byte W08 + .byte 72*mus_kachi5_mvl/mxv + .byte W08 + .byte 65*mus_kachi5_mvl/mxv + .byte W04 + .byte 47*mus_kachi5_mvl/mxv + .byte W04 + .byte 28*mus_kachi5_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W16 + .byte VOICE , 56 + .byte PAN , c_v+0 + .byte VOL , 80*mus_kachi5_mvl/mxv + .byte N08 , Dn4 , v112 + .byte W08 + .byte N16 , Cn4 + .byte W16 + .byte N08 , As3 + .byte W08 + .byte An3 + .byte W16 + .byte As3 + .byte W08 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte N08 + .byte W08 + .byte MOD , 0 + .byte W08 + .byte N08 , Dn4 + .byte W08 + .byte N24 , Ds4 + .byte W08 + .byte MOD , 6 + .byte W16 + .byte GOTO + .word mus_kachi5_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_kachi5_3: + .byte KEYSH , mus_kachi5_key+0 + .byte W12 + .byte BEND , c_v+1 + .byte W24 + .byte VOL , 80*mus_kachi5_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_kachi5_3_B1: + .byte VOICE , 48 + .byte PAN , c_v-10 + .byte N12 , Dn3 , v080 + .byte W24 + .byte N08 + .byte W16 + .byte N04 , As2 + .byte W08 + .byte N08 , Dn3 + .byte W16 + .byte N20 + .byte W24 + .byte N04 + .byte W08 + .byte N12 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Cn3 + .byte W08 + .byte N08 , Dn3 + .byte W16 + .byte N20 + .byte W24 + .byte N08 + .byte W08 + .byte N12 + .byte W24 + .byte N04 + .byte W08 + .byte Cn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte N08 + .byte W16 + .byte N20 + .byte W24 + .byte N08 , Ds3 + .byte W08 + .byte N12 , Fn3 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Gn3 , v092 + .byte W08 + .byte An3 + .byte W16 + .byte N24 , Gn3 + .byte W24 + .byte N08 , Fn3 + .byte W08 + .byte N12 , Dn3 , v080 + .byte W24 + .byte N08 + .byte W16 + .byte N04 , As2 + .byte W08 + .byte N08 , Dn3 + .byte W16 + .byte N20 + .byte W24 + .byte N04 + .byte W08 + .byte N12 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Cn3 + .byte W08 + .byte N08 , Dn3 + .byte W16 + .byte N20 , Fn3 + .byte W24 + .byte N08 , Fs3 + .byte W08 + .byte N12 , Gn3 + .byte W24 + .byte N04 + .byte W08 + .byte Fn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N08 + .byte W16 + .byte N20 + .byte W24 + .byte N08 + .byte W08 + .byte N12 , Fn3 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Gn3 , v092 + .byte W08 + .byte An3 + .byte W48 + .byte W96 + .byte VOICE , 56 + .byte PAN , c_v+7 + .byte N04 , Fs3 , v112 + .byte W08 + .byte Dn3 + .byte W08 + .byte Fs3 + .byte W24 + .byte N04 + .byte W04 + .byte Cs4 , v080 + .byte W04 + .byte N08 , Dn4 , v112 + .byte W16 + .byte As3 + .byte W08 + .byte Fs4 + .byte W08 + .byte N04 , Fn4 , v080 + .byte W04 + .byte Dn4 , v072 + .byte W04 + .byte As3 , v060 + .byte W04 + .byte Fs3 , v052 + .byte W04 + .byte VOICE , 14 + .byte W24 + .byte N24 , Gn4 , v076 + .byte W40 + .byte N08 , As3 , v068 + .byte W08 + .byte N24 , Ds4 , v076 + .byte W24 + .byte VOICE , 56 + .byte N04 , Fn3 , v112 + .byte W08 + .byte Ds3 + .byte W08 + .byte Fn3 + .byte W24 + .byte N04 + .byte W04 + .byte Bn3 , v080 + .byte W04 + .byte N08 , Cn4 , v112 + .byte W16 + .byte An3 + .byte W08 + .byte Fn4 + .byte W08 + .byte N04 , Ds4 , v080 + .byte W04 + .byte Cn4 , v072 + .byte W04 + .byte An3 , v060 + .byte W04 + .byte Fn3 , v052 + .byte W04 + .byte VOICE , 14 + .byte PAN , c_v-6 + .byte N36 , Fn4 , v100 + .byte W48 + .byte Dn4 + .byte W48 + .byte Ds4 + .byte W48 + .byte N12 , Fs4 + .byte W16 + .byte N08 , Ds4 , v080 + .byte W08 + .byte N24 , Fs4 , v100 + .byte W24 + .byte N36 , Fn4 + .byte W96 + .byte W96 + .byte GOTO + .word mus_kachi5_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_kachi5_4: + .byte KEYSH , mus_kachi5_key+0 + .byte W12 + .byte VOICE , 7 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte BEND , c_v-2 + .byte W24 + .byte VOL , 80*mus_kachi5_mvl/mxv + .byte PAN , c_v+0 + .byte N08 , An3 , v052 + .byte W04 + .byte Fn3 + .byte W04 + .byte Cn3 + .byte W04 + .byte An3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte An3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Cn3 + .byte W04 + .byte An3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gs3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Fn2 + .byte W04 + .byte Gs2 + .byte W04 + .byte Cs3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Gs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Gs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Gs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Gs2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Ds4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Dn5 + .byte W04 + .byte As4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte As3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Dn5 + .byte W04 + .byte As4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte As3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Fn2 + .byte W04 + .byte As2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Fn5 + .byte W04 + .byte As5 + .byte W04 + .byte Dn6 + .byte W08 + .byte Dn6 , v032 + .byte W16 + .byte VOICE , 83 + .byte PAN , c_v-48 + .byte N04 , As2 , v052 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte VOICE , 80 + .byte N12 + .byte W48 +mus_kachi5_4_B1: + .byte VOICE , 80 + .byte N12 , As2 , v052 + .byte W24 + .byte N08 + .byte W16 + .byte N04 , Fn2 + .byte W08 + .byte N08 , As2 + .byte W16 + .byte N20 + .byte W24 + .byte N04 + .byte W08 + .byte N12 , An2 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gn2 + .byte W08 + .byte N08 , An2 + .byte W16 + .byte N20 + .byte W24 + .byte N08 + .byte W08 + .byte N12 , As2 + .byte W24 + .byte N04 + .byte W08 + .byte An2 + .byte W08 + .byte As2 + .byte W08 + .byte N08 + .byte W16 + .byte N20 + .byte W24 + .byte N08 + .byte W08 + .byte N12 , Cn3 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Ds3 + .byte W08 + .byte Fn3 + .byte W16 + .byte N24 , Ds3 + .byte W24 + .byte N08 , Cn3 + .byte W08 + .byte N12 , As2 + .byte W24 + .byte N08 + .byte W16 + .byte N04 , Fn2 + .byte W08 + .byte N08 , As2 + .byte W16 + .byte N20 + .byte W24 + .byte N04 + .byte W08 + .byte N12 , An2 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gn2 + .byte W08 + .byte N08 , An2 + .byte W16 + .byte N20 , Dn3 + .byte W24 + .byte N08 + .byte W08 + .byte N12 + .byte W24 + .byte N04 + .byte W08 + .byte Cn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte N08 + .byte W16 + .byte N20 + .byte W24 + .byte N08 + .byte W08 + .byte N12 , Cn3 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Ds3 + .byte W08 + .byte Fn3 + .byte W16 + .byte VOICE , 12 + .byte PAN , c_v+0 + .byte N08 , Fn3 , v032 + .byte W08 + .byte N16 , Fn4 , v040 + .byte W16 + .byte N08 , Ds4 + .byte W08 + .byte N40 , Dn4 + .byte W40 + .byte N08 , Ds4 + .byte W08 + .byte N16 , Fn4 + .byte W16 + .byte N08 , Ds4 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N08 , Cn4 + .byte W08 + .byte N48 , As3 + .byte W64 + .byte N08 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N08 , Fs4 + .byte W08 + .byte N40 , Gn4 + .byte W40 + .byte N08 , Fn4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N08 , Gn3 + .byte W08 + .byte N16 , Cn4 + .byte W16 + .byte N08 , Dn4 + .byte W08 + .byte N48 , Cn4 + .byte W96 + .byte VOICE , 7 + .byte N08 , As5 , v052 + .byte W08 + .byte Fn5 + .byte W08 + .byte Dn5 + .byte W08 + .byte As4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Dn4 + .byte W08 + .byte As3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte As2 + .byte W08 + .byte As3 + .byte W08 + .byte As4 + .byte W08 + .byte Ds5 + .byte W08 + .byte As4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Ds4 + .byte W08 + .byte As3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Ds3 + .byte W08 + .byte As2 + .byte W08 + .byte Fs2 + .byte W08 + .byte Ds2 + .byte W08 + .byte Ds3 + .byte W08 + .byte Ds4 + .byte W08 + .byte As4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Dn4 + .byte W08 + .byte As3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte As2 + .byte W08 + .byte Fn3 + .byte W08 + .byte As3 + .byte W08 + .byte Fn4 + .byte W08 + .byte Fn5 + .byte W08 + .byte As5 + .byte W08 + .byte VOICE , 80 + .byte PAN , c_v-48 + .byte N08 , An2 + .byte W16 + .byte As2 + .byte W08 + .byte N24 , Cn3 + .byte W24 + .byte N08 + .byte W16 + .byte Dn3 + .byte W08 + .byte N24 , Ds3 + .byte W24 + .byte GOTO + .word mus_kachi5_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_kachi5_5: + .byte KEYSH , mus_kachi5_key+0 + .byte W12 + .byte VOICE , 8 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte VOL , 80*mus_kachi5_mvl/mxv + .byte W24 + .byte PAN , c_v+48 + .byte W08 + .byte N08 , An3 , v020 + .byte W04 + .byte Fn3 + .byte W04 + .byte Cn3 + .byte W04 + .byte An3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte An3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Cn3 + .byte W04 + .byte An3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gs3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Fn2 + .byte W04 + .byte Gs2 + .byte W04 + .byte Cs3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Gs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Gs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Gs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Gs2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Ds4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Dn5 + .byte W04 + .byte As4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte As3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Dn5 + .byte W04 + .byte As4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte As3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Fn2 + .byte W04 + .byte As2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Fn5 + .byte W04 + .byte As5 + .byte W20 + .byte VOICE , 84 + .byte N04 , Fn2 , v052 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte VOICE , 82 + .byte N12 + .byte W48 +mus_kachi5_5_B1: + .byte VOICE , 82 + .byte N12 , Fn2 , v052 + .byte W24 + .byte N08 + .byte W16 + .byte N04 , Dn2 + .byte W08 + .byte N08 , Fn2 + .byte W16 + .byte N20 + .byte W24 + .byte N04 + .byte W08 + .byte N12 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Ds2 + .byte W08 + .byte N08 , Fn2 + .byte W16 + .byte N20 + .byte W24 + .byte N08 + .byte W08 + .byte N12 , Gn2 + .byte W24 + .byte N04 + .byte W08 + .byte Fn2 + .byte W08 + .byte Gn2 + .byte W08 + .byte N08 + .byte W16 + .byte N20 + .byte W24 + .byte N08 + .byte W08 + .byte N12 , An2 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , As2 + .byte W08 + .byte Cn3 + .byte W16 + .byte N24 , As2 + .byte W24 + .byte N08 , An2 + .byte W08 + .byte N12 , Fn2 + .byte W24 + .byte N08 + .byte W16 + .byte N04 , Dn2 + .byte W08 + .byte N08 , Fn2 + .byte W16 + .byte N20 + .byte W24 + .byte N04 + .byte W08 + .byte N12 , Fs2 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fn2 + .byte W08 + .byte N08 , Fs2 + .byte W16 + .byte N20 , An2 + .byte W24 + .byte N08 + .byte W08 + .byte N12 , As2 + .byte W24 + .byte N04 + .byte W08 + .byte An2 + .byte W08 + .byte As2 + .byte W08 + .byte N08 + .byte W16 + .byte N20 + .byte W24 + .byte N08 + .byte W08 + .byte N12 , An2 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , As2 + .byte W08 + .byte Cn3 + .byte W48 + .byte W96 + .byte VOICE , 87 + .byte N04 , Dn3 , v060 + .byte W08 + .byte As2 + .byte W08 + .byte Dn3 + .byte W24 + .byte N04 + .byte W08 + .byte N08 , As3 + .byte W16 + .byte Fs3 + .byte W08 + .byte Dn4 + .byte W08 + .byte N04 , Cn4 , v032 + .byte W04 + .byte As3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte W96 + .byte Cn3 , v060 + .byte W08 + .byte An2 + .byte W08 + .byte Cn3 + .byte W24 + .byte N04 + .byte W08 + .byte N08 , An3 + .byte W16 + .byte Fn3 + .byte W08 + .byte Cn4 + .byte W08 + .byte N04 , An3 , v032 + .byte W04 + .byte Fn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cn3 + .byte W04 + .byte W08 + .byte VOICE , 8 + .byte N08 , As5 , v020 + .byte W08 + .byte Fn5 + .byte W08 + .byte Dn5 + .byte W08 + .byte As4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Dn4 + .byte W08 + .byte As3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte As2 + .byte W08 + .byte As3 + .byte W08 + .byte As4 + .byte W08 + .byte Ds5 + .byte W08 + .byte As4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Ds4 + .byte W08 + .byte As3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Ds3 + .byte W08 + .byte As2 + .byte W08 + .byte Fs2 + .byte W08 + .byte Ds2 + .byte W08 + .byte Ds3 + .byte W08 + .byte Ds4 + .byte W08 + .byte As4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Dn4 + .byte W08 + .byte As3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte As2 + .byte W08 + .byte Fn3 + .byte W08 + .byte As3 + .byte W08 + .byte Fn4 + .byte W08 + .byte Fn5 + .byte W08 + .byte VOICE , 82 + .byte N08 , Fn2 , v080 + .byte W16 + .byte Gn2 + .byte W08 + .byte N24 , An2 + .byte W24 + .byte N08 + .byte W16 + .byte As2 + .byte W08 + .byte N24 , Cn3 + .byte W24 + .byte GOTO + .word mus_kachi5_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_kachi5_6: + .byte KEYSH , mus_kachi5_key+0 + .byte W12 + .byte VOICE , 81 + .byte VOL , 80*mus_kachi5_mvl/mxv + .byte BEND , c_v+5 + .byte W24 + .byte N24 , Fn1 , v080 + .byte W24 + .byte Cn1 + .byte W24 + .byte Fn1 + .byte W24 + .byte Cs1 + .byte W24 + .byte Gs1 + .byte W24 + .byte Ds1 + .byte W24 + .byte Gs1 + .byte W24 + .byte Cn2 + .byte W24 + .byte As1 + .byte W24 + .byte Fn1 + .byte W24 + .byte As1 + .byte W24 + .byte Fn1 + .byte W24 + .byte N12 , As1 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W48 +mus_kachi5_6_B1: + .byte N12 , As1 , v080 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W16 + .byte N20 + .byte W24 + .byte N08 + .byte W08 + .byte N12 , An1 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W16 + .byte N20 + .byte W24 + .byte N08 + .byte W08 + .byte N12 , Gn1 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W16 + .byte N20 , As1 + .byte W24 + .byte N08 , Gn1 + .byte W08 + .byte N12 , Fn1 + .byte W24 + .byte N04 + .byte W08 + .byte Gn1 + .byte W08 + .byte N08 , An1 + .byte W08 + .byte Cn2 + .byte W16 + .byte N20 , Fn1 + .byte W24 + .byte N08 , An1 + .byte W08 + .byte N12 , As1 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N20 + .byte W24 + .byte N04 + .byte W08 + .byte N12 , Dn2 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N20 , An1 + .byte W24 + .byte N04 , Dn2 + .byte W08 + .byte N12 , Gn1 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N20 + .byte W24 + .byte N04 + .byte W08 + .byte N12 , Fn1 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N20 , Gn1 + .byte W24 + .byte N08 , An1 + .byte W08 + .byte N12 , As1 + .byte W24 + .byte Fn1 + .byte W24 + .byte N08 , As1 + .byte W16 + .byte N08 + .byte W08 + .byte N24 , Fn1 + .byte W24 + .byte N12 , As1 + .byte W24 + .byte Fs1 + .byte W24 + .byte N08 , As1 + .byte W16 + .byte N08 + .byte W08 + .byte N24 , Fs1 + .byte W24 + .byte N12 , Gn1 + .byte W24 + .byte Ds1 + .byte W24 + .byte N08 , Gn1 + .byte W16 + .byte N08 + .byte W08 + .byte N16 , Ds1 + .byte W16 + .byte N08 , Gn1 + .byte W08 + .byte N24 , Fn1 + .byte W24 + .byte Gn1 + .byte W24 + .byte An1 + .byte W24 + .byte Fn1 + .byte W24 + .byte N12 , As1 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N20 , Fn1 + .byte W24 + .byte N08 , Dn1 + .byte W08 + .byte N12 , Ds1 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N20 , Fs1 + .byte W24 + .byte N08 , Gs1 + .byte W08 + .byte N12 , As1 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N20 , Fn2 + .byte W24 + .byte N04 , As1 + .byte W08 + .byte N08 , Cn2 + .byte W16 + .byte As1 + .byte W08 + .byte N20 , An1 + .byte W24 + .byte N08 + .byte W16 + .byte Gn1 + .byte W08 + .byte N24 , Fn1 + .byte W24 + .byte GOTO + .word mus_kachi5_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_kachi5_7: + .byte KEYSH , mus_kachi5_key+0 + .byte W12 + .byte VOICE , 47 + .byte VOL , 80*mus_kachi5_mvl/mxv + .byte W24 + .byte PAN , c_v-9 + .byte N08 , Fn1 , v120 + .byte W08 + .byte Fn1 , v112 + .byte W08 + .byte Fn1 , v120 + .byte W08 + .byte N12 + .byte W16 + .byte N04 , Fn1 , v112 + .byte W04 + .byte N04 + .byte W04 + .byte N08 , Fn1 , v120 + .byte W08 + .byte Fn1 , v112 + .byte W08 + .byte Fn1 , v120 + .byte W08 + .byte N24 , Cs2 , v127 + .byte W24 + .byte N08 , Gs1 , v120 + .byte W08 + .byte Gs1 , v112 + .byte W08 + .byte Gs1 , v120 + .byte W08 + .byte N12 + .byte W16 + .byte N04 , Gs1 , v112 + .byte W04 + .byte N04 + .byte W04 + .byte N08 , Gs1 , v120 + .byte W08 + .byte Gs1 , v112 + .byte W08 + .byte Gs1 , v120 + .byte W08 + .byte N24 , Cn2 , v127 + .byte W24 + .byte N12 , As1 + .byte W12 + .byte Fn1 , v120 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 , v127 + .byte W24 + .byte N08 , As1 , v120 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N12 + .byte W48 +mus_kachi5_7_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 47 + .byte N12 , As1 , v120 + .byte W24 + .byte N05 , As1 , v100 + .byte W08 + .byte Fn1 + .byte W08 + .byte As1 + .byte W08 + .byte N12 , As1 , v120 + .byte W16 + .byte N14 , Fn1 , v100 + .byte W24 + .byte N05 , As1 , v120 + .byte W08 + .byte N12 + .byte W24 + .byte N05 , As1 , v100 + .byte W08 + .byte Fs1 + .byte W08 + .byte As1 + .byte W08 + .byte N12 , As1 , v120 + .byte W16 + .byte N14 , Fs1 , v100 + .byte W24 + .byte N05 , As1 , v120 + .byte W08 + .byte N12 , Gn1 + .byte W24 + .byte N05 , Gn1 , v100 + .byte W08 + .byte As1 + .byte W08 + .byte Gn1 + .byte W08 + .byte N06 , Gn1 , v120 + .byte W16 + .byte N17 , As1 , v100 + .byte W24 + .byte N05 , Gn1 , v120 + .byte W08 + .byte N12 , Fn1 + .byte W24 + .byte N05 , Fn1 , v100 + .byte W08 + .byte An1 + .byte W08 + .byte Fn1 + .byte W08 + .byte N12 , Fn1 , v120 + .byte W16 + .byte N14 , An1 , v100 + .byte W24 + .byte N05 , Fn1 , v120 + .byte W08 + .byte W96 + .byte W96 + .byte W96 + .byte N08 , Cn2 , v127 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N12 , An1 + .byte W24 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte Gn1 + .byte W08 + .byte N12 , Fn1 + .byte W24 + .byte GOTO + .word mus_kachi5_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_kachi5_8: + .byte VOL , 80*mus_kachi5_mvl/mxv + .byte KEYSH , mus_kachi5_key+0 + .byte W12 + .byte VOICE , 0 + .byte W24 + .byte BEND , c_v+0 + .byte N48 , Bn2 , v092 + .byte W72 + .byte N24 + .byte W24 + .byte N48 + .byte W72 + .byte N24 + .byte W24 + .byte N48 + .byte W96 + .byte N96 + .byte W72 + .byte N04 , En1 , v112 + .byte W08 + .byte En1 , v096 + .byte W08 + .byte En1 , v112 + .byte W08 +mus_kachi5_8_B1: +mus_kachi5_8_000: + .byte N04 , En1 , v112 + .byte N96 , Bn2 , v092 + .byte W16 + .byte N04 , En1 , v080 + .byte W08 + .byte En1 , v112 + .byte W08 + .byte En1 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte PEND +mus_kachi5_8_001: + .byte N04 , En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte PEND +mus_kachi5_8_002: + .byte N04 , En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte En1 , v112 + .byte W08 + .byte En1 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte PEND + .byte PATT + .word mus_kachi5_8_001 + .byte PATT + .word mus_kachi5_8_000 + .byte PATT + .word mus_kachi5_8_001 + .byte PATT + .word mus_kachi5_8_002 + .byte N04 , En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v112 + .byte W48 + .byte N96 , Bn2 , v092 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N04 , En1 , v112 + .byte N48 , Bn2 , v092 + .byte W24 + .byte N04 , En1 , v096 + .byte W08 + .byte En1 , v080 + .byte W08 + .byte En1 , v096 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte En1 , v096 + .byte W04 + .byte En1 , v080 + .byte W04 + .byte N04 + .byte W08 + .byte En1 , v096 + .byte W08 + .byte En1 , v112 + .byte W24 + .byte En1 , v096 + .byte W08 + .byte En1 , v080 + .byte W08 + .byte En1 , v096 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte En1 , v096 + .byte W04 + .byte En1 , v080 + .byte W04 + .byte N04 + .byte W08 + .byte En1 , v096 + .byte W08 + .byte En1 , v112 + .byte W24 + .byte En1 , v096 + .byte W08 + .byte En1 , v080 + .byte W08 + .byte En1 , v096 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte N08 , En1 , v112 + .byte W24 + .byte N48 , Bn2 , v092 + .byte W48 + .byte N48 + .byte W48 + .byte GOTO + .word mus_kachi5_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_kachi5: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_kachi5_pri @ Priority + .byte mus_kachi5_rev @ Reverb. + + .word mus_kachi5_grp + + .word mus_kachi5_1 + .word mus_kachi5_2 + .word mus_kachi5_3 + .word mus_kachi5_4 + .word mus_kachi5_5 + .word mus_kachi5_6 + .word mus_kachi5_7 + .word mus_kachi5_8 + + .end diff --git a/sound/songs/mus_kakkoii.s b/sound/songs/mus_kakkoii.s new file mode 100644 index 0000000000..400c1e8fd5 --- /dev/null +++ b/sound/songs/mus_kakkoii.s @@ -0,0 +1,2334 @@ + .include "MPlayDef.s" + + .equ mus_kakkoii_grp, voicegroup_8687074 + .equ mus_kakkoii_pri, 0 + .equ mus_kakkoii_rev, reverb_set+50 + .equ mus_kakkoii_mvl, 127 + .equ mus_kakkoii_key, 0 + .equ mus_kakkoii_tbs, 1 + .equ mus_kakkoii_exg, 0 + .equ mus_kakkoii_cmp, 1 + + .section .rodata + .global mus_kakkoii + .align 2 + +@********************** Track 1 **********************@ + +mus_kakkoii_1: + .byte KEYSH , mus_kakkoii_key+0 + .byte TEMPO , 140*mus_kakkoii_tbs/2 + .byte VOICE , 127 + .byte PAN , c_v+63 + .byte VOL , 43*mus_kakkoii_mvl/mxv + .byte W12 +mus_kakkoii_1_000: + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W18 + .byte En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W18 + .byte En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W18 + .byte En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W18 + .byte PEND + .byte PATT + .word mus_kakkoii_1_000 +mus_kakkoii_1_B1: +mus_kakkoii_1_001: + .byte N03 , En4 , v112 + .byte W12 + .byte En4 , v084 + .byte W06 + .byte En4 , v072 + .byte W06 + .byte En4 , v112 + .byte W12 + .byte En4 , v084 + .byte W06 + .byte En4 , v072 + .byte W06 + .byte En4 , v112 + .byte W12 + .byte En4 , v084 + .byte W06 + .byte En4 , v072 + .byte W06 + .byte En4 , v112 + .byte W12 + .byte En4 , v084 + .byte W06 + .byte En4 , v072 + .byte W06 + .byte PEND +mus_kakkoii_1_002: + .byte N02 , En4 , v112 + .byte W04 + .byte En4 , v088 + .byte W04 + .byte N02 + .byte W04 + .byte N03 + .byte W06 + .byte En4 , v072 + .byte W06 + .byte En4 , v112 + .byte W12 + .byte En4 , v084 + .byte W06 + .byte En4 , v072 + .byte W06 + .byte En4 , v112 + .byte W12 + .byte En4 , v084 + .byte W06 + .byte En4 , v072 + .byte W06 + .byte En4 , v112 + .byte W12 + .byte En4 , v084 + .byte W06 + .byte En4 , v072 + .byte W06 + .byte PEND + .byte PATT + .word mus_kakkoii_1_001 +mus_kakkoii_1_003: + .byte N02 , En4 , v112 + .byte W04 + .byte En4 , v088 + .byte W04 + .byte N02 + .byte W04 + .byte N03 + .byte W06 + .byte En4 , v072 + .byte W06 + .byte En4 , v112 + .byte W12 + .byte En4 , v084 + .byte W06 + .byte En4 , v072 + .byte W06 + .byte N02 , En4 , v112 + .byte W04 + .byte En4 , v088 + .byte W04 + .byte N02 + .byte W04 + .byte N03 + .byte W06 + .byte En4 , v072 + .byte W06 + .byte En4 , v112 + .byte W12 + .byte En4 , v084 + .byte W06 + .byte En4 , v072 + .byte W06 + .byte PEND + .byte PATT + .word mus_kakkoii_1_001 + .byte PATT + .word mus_kakkoii_1_002 + .byte PATT + .word mus_kakkoii_1_001 + .byte PATT + .word mus_kakkoii_1_003 + .byte PATT + .word mus_kakkoii_1_001 + .byte PATT + .word mus_kakkoii_1_002 + .byte PATT + .word mus_kakkoii_1_001 + .byte PATT + .word mus_kakkoii_1_003 + .byte PATT + .word mus_kakkoii_1_001 + .byte PATT + .word mus_kakkoii_1_002 + .byte PATT + .word mus_kakkoii_1_001 + .byte PATT + .word mus_kakkoii_1_003 + .byte GOTO + .word mus_kakkoii_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_kakkoii_2: + .byte KEYSH , mus_kakkoii_key+0 + .byte VOICE , 126 + .byte PAN , c_v+63 + .byte VOL , 43*mus_kakkoii_mvl/mxv + .byte W12 + .byte W36 + .byte N10 , Fn4 , v096 + .byte W24 + .byte N10 + .byte W24 + .byte N10 + .byte W12 + .byte W12 + .byte N10 + .byte W24 + .byte N10 + .byte W24 + .byte N10 + .byte W24 + .byte N10 + .byte W12 +mus_kakkoii_2_B1: + .byte W12 + .byte N10 , Fn4 , v096 + .byte W84 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_kakkoii_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_kakkoii_3: + .byte KEYSH , mus_kakkoii_key+0 + .byte VOICE , 36 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte BEND , c_v+0 + .byte W12 + .byte c_v+0 + .byte N18 , Cn1 , v120 + .byte W18 + .byte N06 + .byte W06 + .byte Cn1 , v032 + .byte W48 + .byte Cn1 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , As0 + .byte W12 + .byte N30 , An0 + .byte W12 + .byte BEND , c_v+16 + .byte W06 + .byte c_v+0 + .byte W12 + .byte N03 , As0 + .byte W03 + .byte N06 , As0 , v032 + .byte W09 + .byte An0 , v120 + .byte W06 + .byte N24 , Gs0 + .byte W24 + .byte N06 , As0 + .byte W06 + .byte Gs0 + .byte W06 + .byte BEND , c_v+17 + .byte N12 , As0 + .byte W06 + .byte BEND , c_v+4 + .byte W06 +mus_kakkoii_3_B1: +mus_kakkoii_3_000: + .byte BEND , c_v+0 + .byte N06 , Cn1 , v120 + .byte W06 + .byte Cn1 , v032 + .byte W06 + .byte N12 , Bn1 , v120 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N06 , Cn1 + .byte W06 + .byte N03 , Cn2 + .byte W03 + .byte N06 , Cn2 , v032 + .byte W09 + .byte Cn1 , v120 + .byte W06 + .byte N06 + .byte W12 + .byte N03 , Cn2 + .byte W03 + .byte N06 , Cn2 , v032 + .byte W09 + .byte As0 , v120 + .byte W06 + .byte As0 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W06 + .byte BEND , c_v+5 + .byte W06 + .byte PEND +mus_kakkoii_3_001: + .byte BEND , c_v+0 + .byte N06 , An0 , v120 + .byte W06 + .byte An0 , v032 + .byte W12 + .byte N03 , An0 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte An0 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte N06 , An0 + .byte W06 + .byte An0 , v032 + .byte W06 + .byte An1 , v120 + .byte W06 + .byte An1 , v032 + .byte W06 + .byte N03 , Gs0 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , As0 + .byte W06 + .byte N06 , Bn0 + .byte W06 + .byte PEND + .byte BEND , c_v+0 + .byte N06 , Cn1 + .byte W06 + .byte Cn1 , v032 + .byte W06 + .byte N12 , Bn1 , v120 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N06 , Cn1 + .byte W06 + .byte N03 , Cn2 + .byte W03 + .byte N06 , Cn2 , v032 + .byte W09 + .byte Cn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v032 + .byte W06 + .byte Cn2 , v120 + .byte W06 + .byte Cn2 , v032 + .byte W06 + .byte As0 , v120 + .byte W06 + .byte As0 , v032 + .byte W06 + .byte As1 , v120 + .byte W06 + .byte As1 , v032 + .byte W06 +mus_kakkoii_3_002: + .byte N06 , Fn0 , v120 + .byte W06 + .byte Fn0 , v032 + .byte W12 + .byte N03 , Fn0 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte Fn0 , v032 + .byte W06 + .byte N12 , Ds1 , v120 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte N04 , Gs0 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N06 , Gs1 + .byte W06 + .byte Fn1 + .byte W06 + .byte As0 + .byte W06 + .byte As0 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W06 + .byte BEND , c_v+6 + .byte W06 + .byte PEND + .byte PATT + .word mus_kakkoii_3_000 + .byte PATT + .word mus_kakkoii_3_001 + .byte BEND , c_v+0 + .byte N06 , Cn1 , v120 + .byte W06 + .byte Cn1 , v032 + .byte W06 + .byte N12 , Bn1 , v120 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N06 , Cn1 + .byte W06 + .byte N03 , Cn2 + .byte W03 + .byte N06 , Cn2 , v032 + .byte W09 + .byte Cn1 , v120 + .byte W06 + .byte N06 + .byte W12 + .byte Cn2 + .byte W06 + .byte Cn2 , v032 + .byte W06 + .byte As0 , v120 + .byte W06 + .byte As0 , v032 + .byte W06 + .byte As1 , v120 + .byte W06 + .byte As1 , v032 + .byte W06 + .byte PATT + .word mus_kakkoii_3_002 + .byte BEND , c_v+0 + .byte N06 , Dn1 , v120 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte N12 , Cs2 , v120 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N06 , Dn1 + .byte W06 + .byte N03 , Dn2 + .byte W03 + .byte N06 , Dn2 , v032 + .byte W09 + .byte Dn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte N03 , Dn2 , v120 + .byte W03 + .byte N06 , Dn2 , v032 + .byte W09 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v032 + .byte W06 + .byte N12 , Bn1 , v120 + .byte W06 + .byte BEND , c_v+5 + .byte W06 +mus_kakkoii_3_003: + .byte BEND , c_v+0 + .byte N06 , Bn0 , v120 + .byte W06 + .byte Bn0 , v032 + .byte W12 + .byte N03 , Bn0 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte Bn0 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte N06 , Bn0 + .byte W06 + .byte Bn0 , v032 + .byte W06 + .byte Bn1 , v120 + .byte W06 + .byte Bn1 , v032 + .byte W06 + .byte N03 , As0 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N06 , Cs1 + .byte W06 + .byte PEND +mus_kakkoii_3_004: + .byte BEND , c_v+0 + .byte N06 , Dn1 , v120 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte N12 , Cs2 , v120 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N06 , Dn1 + .byte W06 + .byte N03 , Dn2 + .byte W03 + .byte N06 , Dn2 , v032 + .byte W09 + .byte Dn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte Dn2 , v120 + .byte W06 + .byte Dn2 , v032 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v032 + .byte W06 + .byte Cn2 , v120 + .byte W06 + .byte Cn2 , v032 + .byte W06 + .byte PEND +mus_kakkoii_3_005: + .byte N06 , Gn0 , v120 + .byte W06 + .byte Gn0 , v032 + .byte W12 + .byte N03 , Gn0 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte Gn0 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte N04 , As0 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N06 , As1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cn1 , v032 + .byte W06 + .byte N12 , Bn1 , v120 + .byte W06 + .byte BEND , c_v+6 + .byte W06 + .byte PEND + .byte c_v+0 + .byte N06 , Dn1 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte N12 , Cs2 , v120 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N06 , Dn1 + .byte W06 + .byte N03 , Dn2 + .byte W03 + .byte N06 , Dn2 , v032 + .byte W09 + .byte Dn1 , v120 + .byte W06 + .byte N06 + .byte W12 + .byte N03 , Dn2 + .byte W03 + .byte N06 , Dn2 , v032 + .byte W09 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v032 + .byte W06 + .byte N12 , Bn1 , v120 + .byte W06 + .byte BEND , c_v+5 + .byte W06 + .byte PATT + .word mus_kakkoii_3_003 + .byte PATT + .word mus_kakkoii_3_004 + .byte PATT + .word mus_kakkoii_3_005 + .byte GOTO + .word mus_kakkoii_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_kakkoii_4: + .byte KEYSH , mus_kakkoii_key+0 + .byte VOICE , 56 + .byte PAN , c_v+12 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte N03 , Dn4 , v120 + .byte W12 + .byte N06 , Ds4 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W03 + .byte Cn4 + .byte W03 + .byte Bn3 , v048 + .byte W03 + .byte An3 + .byte W44 + .byte W01 + .byte Ds4 , v112 + .byte W12 + .byte Dn4 + .byte W06 + .byte N06 , Ds4 + .byte W18 + .byte Fn4 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N03 + .byte W06 + .byte Gs4 + .byte W03 + .byte N21 , Gn4 + .byte W21 + .byte N24 , Fn4 + .byte W24 +mus_kakkoii_4_B1: + .byte VOICE , 56 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte W12 + .byte N06 , Ds4 , v112 + .byte W12 + .byte Dn4 + .byte W06 + .byte N03 , Ds4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Fn4 + .byte W12 + .byte N06 , Ds4 + .byte W06 + .byte N03 , Dn4 + .byte W18 + .byte VOICE , 17 + .byte VOL , 55*mus_kakkoii_mvl/mxv + .byte N03 , Cn5 , v032 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v052 + .byte W06 + .byte Cn5 , v060 + .byte W06 + .byte Cn5 , v068 + .byte W06 + .byte Cn5 , v080 + .byte W06 + .byte Cn5 , v088 + .byte W06 + .byte Cn5 , v100 + .byte W06 + .byte Cn5 , v112 + .byte W06 + .byte N03 + .byte W03 + .byte Dn5 + .byte W03 + .byte Cn5 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Bn4 + .byte W12 + .byte VOICE , 56 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte W12 + .byte N06 , Ds4 + .byte W06 + .byte N03 , Cn4 + .byte W06 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte N06 , As4 + .byte W06 + .byte N03 , Cn5 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , As4 + .byte W12 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte VOICE , 17 + .byte VOL , 55*mus_kakkoii_mvl/mxv + .byte N06 , Fn4 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte N03 , As4 + .byte W06 + .byte N06 , Cn5 + .byte W06 + .byte N03 , Dn5 + .byte W06 + .byte N06 , Ds5 + .byte W06 + .byte N03 , Cn5 + .byte W06 + .byte N06 , Fn5 + .byte W06 + .byte N03 , Gn5 + .byte W06 + .byte N06 , Fn5 + .byte W06 + .byte N03 , Cn5 + .byte W06 + .byte N04 , Dn5 + .byte W04 + .byte As4 + .byte W04 + .byte Fn4 + .byte W04 + .byte VOICE , 56 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte N06 , Dn5 + .byte W06 + .byte N03 , Ds5 + .byte W06 + .byte VOICE , 56 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte W12 + .byte N06 , Ds4 + .byte W12 + .byte Dn4 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte N06 , Gn4 + .byte W06 + .byte N03 , Cn4 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 + .byte W12 + .byte N06 + .byte W06 + .byte As4 + .byte W12 + .byte Gn4 + .byte W06 + .byte N03 , An4 + .byte W06 + .byte VOICE , 17 + .byte VOL , 55*mus_kakkoii_mvl/mxv + .byte N06 , As4 + .byte W06 + .byte N03 , An4 + .byte W06 + .byte N06 , Gn4 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte N06 , An4 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Cn4 + .byte W06 + .byte N06 , Gn4 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N04 , Fn3 + .byte W04 + .byte An3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte An4 + .byte W04 + .byte Cn5 + .byte W04 + .byte VOICE , 56 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte W12 + .byte N06 , Ds5 + .byte W06 + .byte N03 , Dn5 , v084 + .byte W03 + .byte Cn5 , v068 + .byte W03 + .byte N06 , As4 , v112 + .byte W06 + .byte N03 , An4 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Cn4 + .byte W06 + .byte N06 , Gn4 + .byte W06 + .byte N03 , Cn4 + .byte W06 + .byte N06 , Bn3 + .byte W06 + .byte N03 , Cn4 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N03 , Cn4 + .byte W06 + .byte VOICE , 17 + .byte VOL , 55*mus_kakkoii_mvl/mxv + .byte N03 , Fn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Cn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte N06 , Fn5 + .byte W12 + .byte Ds5 + .byte W06 + .byte Fn5 + .byte W12 + .byte Ds5 + .byte W06 + .byte Fn5 + .byte W12 + .byte Gn5 + .byte W06 + .byte N03 , Fn5 , v080 + .byte W03 + .byte VOICE , 56 + .byte N03 , Ds5 , v068 + .byte W03 + .byte N06 , Dn4 , v112 + .byte W03 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte W03 + .byte N06 , En4 + .byte W06 + .byte VOICE , 56 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte W12 + .byte N06 , Fn4 + .byte W12 + .byte En4 + .byte W06 + .byte N03 , Fn4 + .byte W12 + .byte An4 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Gn4 + .byte W12 + .byte N06 , Fn4 + .byte W06 + .byte N03 , En4 + .byte W18 + .byte VOICE , 17 + .byte VOL , 55*mus_kakkoii_mvl/mxv + .byte N03 , Dn5 , v032 + .byte W06 + .byte Dn5 , v040 + .byte W06 + .byte Dn5 , v052 + .byte W06 + .byte Dn5 , v060 + .byte W06 + .byte Dn5 , v068 + .byte W06 + .byte Dn5 , v080 + .byte W06 + .byte Dn5 , v088 + .byte W06 + .byte Dn5 , v100 + .byte W06 + .byte Dn5 , v112 + .byte W06 + .byte N03 + .byte W03 + .byte En5 + .byte W03 + .byte Dn5 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte VOICE , 56 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte W12 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N06 , En4 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte N06 , Gn4 + .byte W06 + .byte N03 , An4 + .byte W06 + .byte N06 , Cn5 + .byte W06 + .byte N03 , Dn5 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Cn5 + .byte W12 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte VOICE , 17 + .byte VOL , 55*mus_kakkoii_mvl/mxv + .byte N06 , Gn4 + .byte W06 + .byte N03 , An4 + .byte W06 + .byte N06 , As4 + .byte W06 + .byte N03 , Cn5 + .byte W06 + .byte N06 , Dn5 + .byte W06 + .byte N03 , En5 + .byte W06 + .byte N06 , Fn5 + .byte W06 + .byte N03 , Dn5 + .byte W06 + .byte N06 , Gn5 + .byte W06 + .byte N03 , An5 + .byte W06 + .byte N06 , Gn5 + .byte W06 + .byte N03 , Dn5 + .byte W06 + .byte N04 , En5 + .byte W04 + .byte Cn5 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Gn3 + .byte W04 + .byte VOICE , 56 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte W12 + .byte N06 , Fn4 + .byte W12 + .byte En4 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte N06 , An4 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N03 + .byte W06 + .byte Dn5 + .byte W12 + .byte N06 + .byte W06 + .byte Cn5 + .byte W12 + .byte An4 + .byte W06 + .byte N03 , Bn4 + .byte W06 + .byte VOICE , 17 + .byte VOL , 55*mus_kakkoii_mvl/mxv + .byte N06 , Cn5 + .byte W06 + .byte N03 , Bn4 + .byte W06 + .byte N06 , An4 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte N06 , Bn4 + .byte W06 + .byte N03 , An4 + .byte W06 + .byte N06 , Gn4 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N06 , An4 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N04 , Gn3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte VOICE , 56 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte W12 + .byte N06 , Fn5 + .byte W06 + .byte N03 , En5 , v084 + .byte W03 + .byte Dn5 , v068 + .byte W03 + .byte N06 , Cn5 , v112 + .byte W06 + .byte N03 , Bn4 + .byte W06 + .byte N06 , Gn4 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N06 , An4 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N06 , Gn4 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte VOICE , 17 + .byte VOL , 55*mus_kakkoii_mvl/mxv + .byte N03 , Gn3 + .byte W03 + .byte As3 + .byte W03 + .byte Dn4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte As4 + .byte W03 + .byte Dn5 + .byte W03 + .byte Fn5 + .byte W03 + .byte N06 , Gn5 + .byte W12 + .byte Fn5 + .byte W06 + .byte Gn5 + .byte W12 + .byte Fn5 + .byte W06 + .byte Gn5 + .byte W12 + .byte An5 + .byte W06 + .byte N03 , Gn5 , v080 + .byte W03 + .byte Fn5 , v068 + .byte W03 + .byte En5 , v060 + .byte W03 + .byte Dn5 , v048 + .byte W09 + .byte GOTO + .word mus_kakkoii_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_kakkoii_5: + .byte KEYSH , mus_kakkoii_key+0 + .byte VOICE , 56 + .byte PAN , c_v-30 + .byte VOL , 75*mus_kakkoii_mvl/mxv + .byte N03 , Gn3 , v112 + .byte W12 + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte VOL , 60*mus_kakkoii_mvl/mxv + .byte N06 + .byte W06 + .byte N03 , Fn3 , v064 + .byte W03 + .byte Ds3 + .byte W03 + .byte Dn3 , v048 + .byte W03 + .byte Cn3 + .byte W44 + .byte W01 + .byte Gn3 , v112 + .byte W12 + .byte Fn3 + .byte W06 + .byte N06 , Gn3 + .byte W18 + .byte An3 + .byte W06 + .byte N03 , Cn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte An3 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W03 + .byte N21 , Gs3 + .byte W21 + .byte N24 , As3 + .byte W24 +mus_kakkoii_5_B1: + .byte VOICE , 56 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte W12 + .byte N06 , Gn3 , v112 + .byte W12 + .byte Fn3 + .byte W06 + .byte N03 , Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Gs3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte N03 , Fn3 + .byte W18 + .byte VOICE , 17 + .byte VOL , 55*mus_kakkoii_mvl/mxv + .byte N03 , Fn4 , v032 + .byte W06 + .byte Fn4 , v040 + .byte W06 + .byte Fn4 , v052 + .byte W06 + .byte Fn4 , v060 + .byte W06 + .byte Fn4 , v068 + .byte W06 + .byte Fn4 , v080 + .byte W06 + .byte Fn4 , v088 + .byte W06 + .byte Fn4 , v100 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte N03 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fn4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Gn4 + .byte W12 + .byte VOICE , 56 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N06 , Gs3 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Gn4 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Fn4 + .byte W12 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte VOICE , 17 + .byte VOL , 55*mus_kakkoii_mvl/mxv + .byte N06 , Cn4 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte N06 , Gn4 + .byte W06 + .byte N03 , Gs4 + .byte W06 + .byte N06 , As4 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte N06 , Cn5 + .byte W06 + .byte N03 , Dn5 + .byte W06 + .byte N06 , Cn5 + .byte W06 + .byte N03 , Gs4 + .byte W06 + .byte N02 , As4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte VOICE , 56 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte N06 , Fn4 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte VOICE , 56 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte Fn3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte Ds4 + .byte W12 + .byte N06 + .byte W06 + .byte Cn4 + .byte W12 + .byte Ds4 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte VOICE , 17 + .byte VOL , 55*mus_kakkoii_mvl/mxv + .byte N06 + .byte W06 + .byte N03 , Cn4 + .byte W06 + .byte N06 , An3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N06 , An3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte N03 , Cn3 + .byte W06 + .byte N04 + .byte W04 + .byte Fn3 + .byte W04 + .byte An3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte An4 + .byte W04 + .byte VOICE , 56 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte W12 + .byte N06 , Gn4 + .byte W06 + .byte N03 , Fs4 , v080 + .byte W03 + .byte Fn4 , v076 + .byte W15 + .byte N06 , Cn4 , v112 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte VOICE , 17 + .byte VOL , 55*mus_kakkoii_mvl/mxv + .byte N03 , Cn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Cn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Gs4 + .byte W03 + .byte N48 , Cn5 , v096 + .byte W48 + .byte N06 , Ds5 , v112 + .byte W06 + .byte N03 , Dn5 , v080 + .byte W03 + .byte Cn5 , v068 + .byte W03 + .byte VOICE , 56 + .byte N06 , An3 , v112 + .byte W03 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte W03 + .byte N06 , Cs4 + .byte W06 + .byte VOICE , 56 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte W12 + .byte N06 , An3 + .byte W12 + .byte Gn3 + .byte W06 + .byte N03 , An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , As3 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte N03 , Gn3 + .byte W18 + .byte VOICE , 17 + .byte VOL , 55*mus_kakkoii_mvl/mxv + .byte N03 , Gn4 , v032 + .byte W06 + .byte Gn4 , v040 + .byte W06 + .byte Gn4 , v052 + .byte W06 + .byte Gn4 , v060 + .byte W06 + .byte Gn4 , v068 + .byte W06 + .byte Gn4 , v080 + .byte W06 + .byte Gn4 , v088 + .byte W06 + .byte Gn4 , v100 + .byte W06 + .byte Gn4 , v112 + .byte W06 + .byte N03 + .byte W03 + .byte An4 + .byte W03 + .byte Gn4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , An4 + .byte W12 + .byte VOICE , 56 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte W12 + .byte N06 , An3 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N03 , Cn4 + .byte W06 + .byte N06 , Gn4 + .byte W06 + .byte N03 , An4 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Gn4 + .byte W12 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte VOICE , 17 + .byte VOL , 55*mus_kakkoii_mvl/mxv + .byte N06 , Dn4 + .byte W06 + .byte N03 , En4 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte N06 , An4 + .byte W06 + .byte N03 , As4 + .byte W06 + .byte N06 , Cn5 + .byte W06 + .byte N03 , An4 + .byte W06 + .byte N06 , Dn5 + .byte W06 + .byte N03 , En5 + .byte W06 + .byte N06 , Dn5 + .byte W06 + .byte N03 , As4 + .byte W06 + .byte N02 , Cn5 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Gn3 + .byte W04 + .byte En3 + .byte W04 + .byte VOICE , 56 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte W12 + .byte N06 , An3 + .byte W12 + .byte Gn3 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N03 + .byte W06 + .byte Fn4 + .byte W12 + .byte N06 + .byte W06 + .byte Dn4 + .byte W12 + .byte Fn4 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte VOICE , 17 + .byte VOL , 55*mus_kakkoii_mvl/mxv + .byte N06 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N06 , Bn3 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N06 , An3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N06 , Bn3 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte N03 , Dn3 + .byte W06 + .byte N04 + .byte W04 + .byte Gn3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte VOICE , 56 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte W12 + .byte N06 , An4 + .byte W06 + .byte N03 , Gs4 , v080 + .byte W03 + .byte Gn4 , v076 + .byte W15 + .byte N06 , Dn4 , v112 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N06 , Gs3 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte VOICE , 17 + .byte VOL , 55*mus_kakkoii_mvl/mxv + .byte N03 , Dn3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Gn3 + .byte W03 + .byte As3 + .byte W03 + .byte Dn4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte As4 + .byte W03 + .byte N48 , Dn5 , v096 + .byte W48 + .byte N06 , Fn5 , v112 + .byte W06 + .byte N03 , En5 , v080 + .byte W03 + .byte Dn5 , v068 + .byte W03 + .byte Cn5 , v060 + .byte W03 + .byte Bn4 , v048 + .byte W09 + .byte GOTO + .word mus_kakkoii_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_kakkoii_6: + .byte KEYSH , mus_kakkoii_key+0 + .byte VOICE , 17 + .byte PAN , c_v+0 + .byte VOL , 39*mus_kakkoii_mvl/mxv + .byte N03 , Cn5 , v076 + .byte W03 + .byte Dn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Gn5 + .byte W03 + .byte N72 , Cn6 + .byte W72 + .byte W03 + .byte N03 , Cs6 + .byte W03 + .byte Cn6 + .byte W03 + .byte Bn5 + .byte W03 + .byte N06 , As5 + .byte W06 + .byte N03 , Cn6 + .byte W03 + .byte As5 + .byte W03 + .byte N42 , An5 + .byte W42 + .byte N03 , As5 + .byte W03 + .byte An5 + .byte W03 + .byte N21 , Gs5 + .byte W21 + .byte N03 , An5 + .byte W03 + .byte N24 , As5 + .byte W24 +mus_kakkoii_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_kakkoii_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_kakkoii_7: + .byte KEYSH , mus_kakkoii_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte PAN , c_v-64 + .byte VOL , 39*mus_kakkoii_mvl/mxv + .byte W12 + .byte W96 + .byte W96 +mus_kakkoii_7_B1: +mus_kakkoii_7_000: + .byte N03 , Cn2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn2 + .byte W06 + .byte N03 , Ds2 + .byte W06 + .byte N06 , Fn2 + .byte W06 + .byte N03 , Gn2 + .byte W12 + .byte N06 + .byte W18 + .byte Cn3 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N06 , Bn2 + .byte W06 + .byte Cn3 + .byte W18 + .byte PEND +mus_kakkoii_7_001: + .byte N03 , An1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An2 + .byte W06 + .byte Fn2 + .byte W06 + .byte An2 + .byte W06 + .byte N03 , Cn3 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N06 , An2 + .byte W06 + .byte Cn3 + .byte W18 + .byte PEND + .byte PATT + .word mus_kakkoii_7_000 +mus_kakkoii_7_002: + .byte N03 , An1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An2 + .byte W06 + .byte Fn2 + .byte W06 + .byte An2 + .byte W06 + .byte N03 , Cn3 + .byte W12 + .byte N06 + .byte W06 + .byte Fn2 + .byte W06 + .byte Gn2 + .byte W12 + .byte N18 , As2 + .byte W18 + .byte N12 , Dn3 + .byte W12 + .byte PEND + .byte PATT + .word mus_kakkoii_7_000 + .byte PATT + .word mus_kakkoii_7_001 + .byte PATT + .word mus_kakkoii_7_000 + .byte PATT + .word mus_kakkoii_7_002 +mus_kakkoii_7_003: + .byte N03 , Dn2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An2 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N06 , Gn2 + .byte W06 + .byte N03 , An2 + .byte W12 + .byte N06 + .byte W18 + .byte Dn3 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , Cs3 + .byte W06 + .byte Dn3 + .byte W18 + .byte PEND +mus_kakkoii_7_004: + .byte N03 , Bn1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Bn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte N03 , Dn3 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N06 , Bn2 + .byte W06 + .byte Dn3 + .byte W18 + .byte PEND + .byte PATT + .word mus_kakkoii_7_003 +mus_kakkoii_7_005: + .byte N03 , Bn1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Bn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte N03 , Dn3 + .byte W12 + .byte N06 + .byte W06 + .byte Gn2 + .byte W06 + .byte An2 + .byte W12 + .byte N18 , Cn3 + .byte W18 + .byte N12 , En3 + .byte W12 + .byte PEND + .byte PATT + .word mus_kakkoii_7_003 + .byte PATT + .word mus_kakkoii_7_004 + .byte PATT + .word mus_kakkoii_7_003 + .byte PATT + .word mus_kakkoii_7_005 + .byte GOTO + .word mus_kakkoii_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_kakkoii_8: + .byte KEYSH , mus_kakkoii_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte PAN , c_v+63 + .byte VOL , 41*mus_kakkoii_mvl/mxv + .byte W12 + .byte W96 + .byte W96 +mus_kakkoii_8_B1: +mus_kakkoii_8_000: + .byte N03 , Gn2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte N03 , Cn3 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N03 , Ds3 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte Ds3 + .byte W18 + .byte PEND +mus_kakkoii_8_001: + .byte N03 , Fn2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N03 , Fn3 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N03 , Cn3 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte Fn3 + .byte W18 + .byte PEND + .byte PATT + .word mus_kakkoii_8_000 +mus_kakkoii_8_002: + .byte N03 , Fn2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N03 , Fn3 + .byte W12 + .byte N06 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W12 + .byte N18 , Gn3 + .byte W18 + .byte N12 , As3 + .byte W12 + .byte PEND + .byte PATT + .word mus_kakkoii_8_000 + .byte PATT + .word mus_kakkoii_8_001 + .byte PATT + .word mus_kakkoii_8_000 + .byte PATT + .word mus_kakkoii_8_002 +mus_kakkoii_8_003: + .byte N03 , An2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte N03 , Dn3 + .byte W06 + .byte N06 , En3 + .byte W06 + .byte N03 , Fn3 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N03 , An2 + .byte W06 + .byte N06 , En3 + .byte W06 + .byte Fn3 + .byte W18 + .byte PEND +mus_kakkoii_8_004: + .byte N03 , Gn2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N03 , Gn3 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N03 , Dn3 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte Gn3 + .byte W18 + .byte PEND + .byte PATT + .word mus_kakkoii_8_003 +mus_kakkoii_8_005: + .byte N03 , Gn2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N03 , Gn3 + .byte W12 + .byte N06 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W12 + .byte N18 , An3 + .byte W18 + .byte N12 , Cn4 + .byte W12 + .byte PEND + .byte PATT + .word mus_kakkoii_8_003 + .byte PATT + .word mus_kakkoii_8_004 + .byte PATT + .word mus_kakkoii_8_003 + .byte PATT + .word mus_kakkoii_8_005 + .byte GOTO + .word mus_kakkoii_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_kakkoii_9: + .byte KEYSH , mus_kakkoii_key+0 + .byte VOICE , 0 + .byte PAN , c_v-1 + .byte VOL , 86*mus_kakkoii_mvl/mxv + .byte N03 , Fs2 , v112 + .byte W06 + .byte Fs2 , v064 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W18 + .byte N06 + .byte W54 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte En1 + .byte W06 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N03 , En1 + .byte W03 + .byte En1 , v088 + .byte W09 + .byte N06 , Dn1 , v112 + .byte W12 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte En1 + .byte W06 +mus_kakkoii_9_B1: +mus_kakkoii_9_000: + .byte N06 , Cn1 , v112 + .byte W18 + .byte Cn1 , v096 + .byte W06 + .byte Cn1 , v112 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Dn1 + .byte W12 + .byte PEND +mus_kakkoii_9_001: + .byte N06 , Cn1 , v112 + .byte W18 + .byte Cn1 , v096 + .byte W06 + .byte Cn1 , v112 + .byte W24 + .byte N06 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte En1 + .byte W06 + .byte Dn1 + .byte W06 + .byte PEND +mus_kakkoii_9_002: + .byte N06 , Cn1 , v112 + .byte W18 + .byte Cn1 , v096 + .byte W06 + .byte Dn1 , v112 + .byte W24 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W12 + .byte En1 + .byte W06 + .byte PEND + .byte Cn1 + .byte W18 + .byte Cn1 , v096 + .byte W06 + .byte Cn1 , v112 + .byte W24 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N02 + .byte W04 + .byte N06 , Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte En1 + .byte W06 + .byte Dn1 + .byte W06 + .byte PATT + .word mus_kakkoii_9_000 + .byte PATT + .word mus_kakkoii_9_001 +mus_kakkoii_9_003: + .byte N06 , Cn1 , v112 + .byte W12 + .byte En1 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte Dn1 , v112 + .byte W24 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W12 + .byte En1 + .byte W06 + .byte PEND +mus_kakkoii_9_004: + .byte N06 , Cn1 , v112 + .byte W18 + .byte Cn1 , v096 + .byte W06 + .byte Cn1 , v112 + .byte W24 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N02 + .byte W04 + .byte N06 , Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte En1 + .byte W12 + .byte PEND + .byte PATT + .word mus_kakkoii_9_000 + .byte PATT + .word mus_kakkoii_9_001 + .byte PATT + .word mus_kakkoii_9_002 + .byte PATT + .word mus_kakkoii_9_004 + .byte PATT + .word mus_kakkoii_9_000 + .byte PATT + .word mus_kakkoii_9_001 + .byte PATT + .word mus_kakkoii_9_003 + .byte PATT + .word mus_kakkoii_9_004 + .byte GOTO + .word mus_kakkoii_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_kakkoii: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_kakkoii_pri @ Priority + .byte mus_kakkoii_rev @ Reverb. + + .word mus_kakkoii_grp + + .word mus_kakkoii_1 + .word mus_kakkoii_2 + .word mus_kakkoii_3 + .word mus_kakkoii_4 + .word mus_kakkoii_5 + .word mus_kakkoii_6 + .word mus_kakkoii_7 + .word mus_kakkoii_8 + .word mus_kakkoii_9 + + .end diff --git a/sound/songs/mus_karakuri.s b/sound/songs/mus_karakuri.s new file mode 100644 index 0000000000..e1a0791d7b --- /dev/null +++ b/sound/songs/mus_karakuri.s @@ -0,0 +1,2949 @@ + .include "MPlayDef.s" + + .equ mus_karakuri_grp, voicegroup_869227C + .equ mus_karakuri_pri, 0 + .equ mus_karakuri_rev, reverb_set+50 + .equ mus_karakuri_mvl, 127 + .equ mus_karakuri_key, 0 + .equ mus_karakuri_tbs, 1 + .equ mus_karakuri_exg, 0 + .equ mus_karakuri_cmp, 1 + + .section .rodata + .global mus_karakuri + .align 2 + +@********************** Track 1 **********************@ + +mus_karakuri_1: + .byte KEYSH , mus_karakuri_key+0 + .byte TEMPO , 136*mus_karakuri_tbs/2 + .byte VOICE , 127 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 40*mus_karakuri_mvl/mxv + .byte PAN , c_v+0 + .byte W96 +mus_karakuri_1_B1: +mus_karakuri_1_000: + .byte N03 , Gn5 , v112 + .byte W06 + .byte Gn5 , v052 + .byte W06 + .byte Gn5 , v068 + .byte W06 + .byte Gn5 , v052 + .byte W06 + .byte Gn5 , v076 + .byte W06 + .byte Gn5 , v056 + .byte W06 + .byte Gn5 , v072 + .byte W06 + .byte Gn5 , v052 + .byte W06 + .byte Gn5 , v112 + .byte W06 + .byte Gn5 , v052 + .byte W06 + .byte Gn5 , v068 + .byte W06 + .byte Gn5 , v052 + .byte W06 + .byte Gn5 , v076 + .byte W06 + .byte Gn5 , v056 + .byte W06 + .byte Gn5 , v072 + .byte W06 + .byte Gn5 , v052 + .byte W06 + .byte PEND + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte PATT + .word mus_karakuri_1_000 + .byte GOTO + .word mus_karakuri_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_karakuri_2: + .byte KEYSH , mus_karakuri_key+0 + .byte VOICE , 13 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 44*mus_karakuri_mvl/mxv + .byte N03 , As4 , v112 + .byte W03 + .byte Fs4 , v064 + .byte W03 + .byte As4 + .byte W03 + .byte Fs4 + .byte W03 + .byte As4 + .byte W03 + .byte Fs4 + .byte W03 + .byte As4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Bn4 , v112 + .byte W03 + .byte Gs4 , v064 + .byte W03 + .byte Bn4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Bn4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Bn4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Cn5 , v112 + .byte W03 + .byte An4 , v064 + .byte W03 + .byte Cn5 + .byte W03 + .byte An4 + .byte W03 + .byte Cn5 + .byte W03 + .byte An4 + .byte W03 + .byte Cn5 + .byte W03 + .byte An4 + .byte W03 + .byte Cs5 , v112 + .byte W03 + .byte As4 , v064 + .byte W03 + .byte Cs5 + .byte W03 + .byte As4 + .byte W03 + .byte Cs5 + .byte W03 + .byte As4 + .byte W03 + .byte Cs5 + .byte W03 + .byte As4 + .byte W03 +mus_karakuri_2_B1: + .byte VOICE , 13 + .byte VOL , 45*mus_karakuri_mvl/mxv + .byte N06 , As4 , v112 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 +mus_karakuri_2_000: + .byte N06 , As4 , v112 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte PEND + .byte Cs5 + .byte W24 + .byte Bn4 + .byte W24 + .byte N06 + .byte W24 + .byte As4 + .byte W12 + .byte Gs4 + .byte W12 + .byte VOICE , 24 + .byte VOL , 30*mus_karakuri_mvl/mxv + .byte N06 , Cs4 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte N06 , Cs6 + .byte W12 + .byte VOICE , 47 + .byte VOL , 45*mus_karakuri_mvl/mxv + .byte N06 , Cs3 + .byte W06 + .byte Cs4 + .byte W12 + .byte Cs3 + .byte W06 + .byte Cs2 + .byte W06 + .byte Cs2 , v096 + .byte W06 + .byte Cs3 , v112 + .byte W12 +mus_karakuri_2_001: + .byte VOICE , 13 + .byte N06 , Gs4 , v112 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte PEND +mus_karakuri_2_002: + .byte N06 , Gs4 , v112 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Fn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte PEND + .byte Cs5 + .byte W24 + .byte Bn4 + .byte W24 + .byte As4 + .byte W24 + .byte Gs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte VOICE , 17 + .byte VOL , 42*mus_karakuri_mvl/mxv + .byte N03 , As4 + .byte W03 + .byte Bn4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Cs5 + .byte W03 + .byte N24 , Fs5 + .byte W24 + .byte N03 , Cs5 , v080 + .byte W03 + .byte As4 + .byte W03 + .byte Fs4 , v112 + .byte W03 + .byte Cs4 + .byte W03 + .byte VOICE , 56 + .byte VOL , 45*mus_karakuri_mvl/mxv + .byte N03 , Fs4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Fs4 + .byte W06 + .byte N06 , As4 + .byte W06 + .byte N03 , Bn4 + .byte W06 + .byte N06 , Cs5 + .byte W06 + .byte N03 , Fs5 + .byte W06 + .byte VOICE , 13 + .byte N06 , As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte PATT + .word mus_karakuri_2_000 + .byte N06 , Cs5 , v112 + .byte W06 + .byte Fs4 + .byte W12 + .byte N06 + .byte W06 + .byte Bn4 + .byte W06 + .byte Fs4 + .byte W12 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte Cs5 + .byte W12 + .byte N06 + .byte W06 + .byte As5 + .byte W12 + .byte Gs5 + .byte W12 + .byte VOICE , 60 + .byte N03 , Fn5 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En5 + .byte W06 + .byte N03 , Fn5 + .byte W12 + .byte N06 , Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Cs5 + .byte W06 + .byte N03 , Fn5 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En5 + .byte W06 + .byte N03 , Fn5 + .byte W06 + .byte N06 , Gs5 + .byte W06 + .byte N03 , Gn5 , v092 + .byte W03 + .byte Fs5 , v084 + .byte W03 + .byte En5 , v072 + .byte W03 + .byte Dn5 , v064 + .byte W09 + .byte PATT + .word mus_karakuri_2_001 + .byte PATT + .word mus_karakuri_2_002 + .byte N06 , Cs5 , v112 + .byte W24 + .byte Bn4 + .byte W24 + .byte As4 + .byte W24 + .byte Gs4 + .byte W24 + .byte VOICE , 17 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W12 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte N03 , Fs4 + .byte W03 + .byte Gs4 + .byte W03 + .byte As4 + .byte W03 + .byte Bn4 + .byte W03 + .byte Cs5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Fs5 + .byte W03 + .byte VOICE , 21 + .byte VOL , 36*mus_karakuri_mvl/mxv + .byte N32 , Fs4 + .byte W36 + .byte N06 + .byte W06 + .byte Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W12 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N32 , Fs4 + .byte W36 + .byte N06 + .byte W06 + .byte Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W12 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W12 + .byte Cs4 + .byte W06 + .byte N32 , Ds4 + .byte W36 + .byte N06 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W12 + .byte Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W12 + .byte As3 + .byte W06 + .byte N24 , Cs4 + .byte W24 + .byte Dn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte En4 + .byte W24 + .byte N32 , Fs4 + .byte W36 + .byte N06 + .byte W06 + .byte Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W12 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W12 + .byte As4 + .byte W06 + .byte N24 , Cs5 + .byte W30 + .byte N06 , Ds5 + .byte W06 + .byte Cs5 + .byte W18 + .byte N18 , As4 + .byte W18 + .byte N24 , Gn4 + .byte W24 + .byte N06 , Bn4 + .byte W18 + .byte Gs4 + .byte W18 + .byte Bn4 + .byte W12 + .byte As4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte As4 + .byte W12 + .byte N06 + .byte W12 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W12 + .byte Fs4 + .byte W06 + .byte As4 + .byte W24 + .byte N06 + .byte W24 + .byte GOTO + .word mus_karakuri_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_karakuri_3: + .byte KEYSH , mus_karakuri_key+0 + .byte VOICE , 21 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 38*mus_karakuri_mvl/mxv + .byte N03 , As3 , v112 + .byte W03 + .byte Fs3 , v064 + .byte W03 + .byte As3 + .byte W03 + .byte Fs3 + .byte W03 + .byte As3 + .byte W03 + .byte Fs3 + .byte W03 + .byte As3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Bn3 , v112 + .byte W03 + .byte Gs3 , v064 + .byte W03 + .byte Bn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Bn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Bn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Cn4 , v112 + .byte W03 + .byte An3 , v064 + .byte W03 + .byte Cn4 + .byte W03 + .byte An3 + .byte W03 + .byte Cn4 + .byte W03 + .byte An3 + .byte W03 + .byte Cn4 + .byte W03 + .byte An3 + .byte W03 + .byte Cs4 , v112 + .byte W03 + .byte As3 , v064 + .byte W03 + .byte Cs4 + .byte W03 + .byte As3 + .byte W03 + .byte Cs4 + .byte W03 + .byte As3 + .byte W03 + .byte Cs4 + .byte W03 + .byte As3 + .byte W03 +mus_karakuri_3_B1: + .byte W48 + .byte VOICE , 56 + .byte N06 , Fs4 , v112 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte PAN , c_v+32 + .byte W48 + .byte N06 , Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cs5 + .byte W06 + .byte As4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte W96 + .byte W48 + .byte Cs3 + .byte W06 + .byte Cs4 + .byte W12 + .byte Cs3 + .byte W06 + .byte Gs2 + .byte W06 + .byte N06 + .byte W06 + .byte Cs3 + .byte W12 + .byte W54 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Cs5 + .byte W06 + .byte W48 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte Cs4 + .byte W24 + .byte Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte VOICE , 17 + .byte N03 , Fs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Gs4 + .byte W03 + .byte An4 + .byte W03 + .byte N24 , Cs5 + .byte W24 + .byte N03 , As4 , v080 + .byte W03 + .byte Fs4 + .byte W03 + .byte Cs4 , v112 + .byte W03 + .byte As3 + .byte W03 + .byte VOICE , 56 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An3 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte N03 , Fs4 + .byte W06 + .byte N06 , As4 + .byte W06 + .byte N03 , Cs5 + .byte W06 + .byte VOICE , 14 + .byte VOL , 30*mus_karakuri_mvl/mxv + .byte PAN , c_v-52 + .byte N48 , As3 + .byte W48 + .byte PAN , c_v+47 + .byte N48 , Fs3 + .byte W48 + .byte PAN , c_v-49 + .byte N48 , As3 + .byte W48 + .byte PAN , c_v+50 + .byte N48 , Fs3 + .byte W48 + .byte PAN , c_v-49 + .byte N48 , As3 + .byte W48 + .byte PAN , c_v+47 + .byte N48 , Cs4 + .byte W48 + .byte VOICE , 56 + .byte N03 , Cs5 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn5 + .byte W06 + .byte N03 , Cs5 + .byte W12 + .byte N06 , Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N03 , Cs5 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn5 + .byte W06 + .byte N03 , Cs5 + .byte W06 + .byte N06 , Fn5 + .byte W06 + .byte N03 , En5 , v092 + .byte W03 + .byte Ds5 , v084 + .byte W03 + .byte Cs5 , v072 + .byte W03 + .byte Bn4 , v064 + .byte W09 + .byte VOICE , 73 + .byte VOL , 25*mus_karakuri_mvl/mxv + .byte PAN , c_v-43 + .byte N06 , Cs5 , v112 + .byte W06 + .byte Ds5 + .byte W03 + .byte PAN , c_v-28 + .byte W03 + .byte N06 , Cs5 + .byte W03 + .byte PAN , c_v-16 + .byte W03 + .byte N06 , Ds5 + .byte W06 + .byte PAN , c_v+13 + .byte N06 , Cs5 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Ds5 + .byte W06 + .byte Cs5 + .byte W03 + .byte PAN , c_v+40 + .byte W03 + .byte N06 , Ds5 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte VOL , 28*mus_karakuri_mvl/mxv + .byte N06 , Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte VOL , 40*mus_karakuri_mvl/mxv + .byte N06 , Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte VOL , 35*mus_karakuri_mvl/mxv + .byte PAN , c_v+47 + .byte N06 , Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Cs5 + .byte W03 + .byte PAN , c_v+32 + .byte W03 + .byte N06 , Ds5 + .byte W06 + .byte VOL , 26*mus_karakuri_mvl/mxv + .byte PAN , c_v+10 + .byte N06 , Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , Cs5 + .byte W06 + .byte Ds5 + .byte W03 + .byte VOL , 31*mus_karakuri_mvl/mxv + .byte W03 + .byte PAN , c_v-34 + .byte N06 , Fn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte PAN , c_v-49 + .byte VOL , 39*mus_karakuri_mvl/mxv + .byte N06 , Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte Gs4 + .byte W06 + .byte VOICE , 47 + .byte PAN , c_v+47 + .byte VOL , 56*mus_karakuri_mvl/mxv + .byte N06 , Cs3 + .byte W12 + .byte PAN , c_v-43 + .byte N06 , Cs2 + .byte W12 + .byte PAN , c_v+47 + .byte N06 , Bn2 + .byte W12 + .byte PAN , c_v-43 + .byte N06 , Cs2 + .byte W12 + .byte PAN , c_v+47 + .byte N06 , As2 + .byte W12 + .byte PAN , c_v-43 + .byte N06 , Cs2 + .byte W12 + .byte PAN , c_v+47 + .byte N06 , Gs2 + .byte W12 + .byte PAN , c_v-43 + .byte N06 , Cs2 + .byte W12 + .byte VOICE , 17 + .byte PAN , c_v+0 + .byte VOL , 30*mus_karakuri_mvl/mxv + .byte W06 + .byte N06 , As3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N03 , Cs4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Gs4 + .byte W03 + .byte As4 + .byte W03 + .byte Bn4 + .byte W03 + .byte Cs5 + .byte W03 + .byte VOICE , 13 + .byte PAN , c_v-48 + .byte N06 , Ds4 + .byte W06 + .byte Fs4 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs4 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Ds5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N03 , Bn4 + .byte W03 + .byte N06 , Cs4 + .byte W03 + .byte W06 + .byte Fn4 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Fn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte As4 + .byte W06 + .byte N03 , Cs5 + .byte W03 + .byte N06 , Ds4 + .byte W03 + .byte PAN , c_v-48 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Ds5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N03 , Bn4 + .byte W03 + .byte N06 , As3 + .byte W03 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte As4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , As4 + .byte W06 + .byte Cn5 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Cs5 + .byte W06 + .byte As4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N03 , As4 + .byte W03 + .byte N06 , Ds4 + .byte W03 + .byte PAN , c_v-48 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Ds5 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Ds5 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Bn4 + .byte W06 + .byte Ds5 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Fs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Bn4 + .byte W06 + .byte N03 , Ds5 + .byte W03 + .byte N06 , Fs4 + .byte W03 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte En4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Ds5 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Ds5 + .byte W06 + .byte Cs5 + .byte W06 + .byte As4 + .byte W06 + .byte N03 , Gn4 + .byte W03 + .byte N06 , Bn3 + .byte W03 + .byte PAN , c_v-48 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Ds5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N03 , Bn4 + .byte W03 + .byte N06 , Ds4 + .byte W09 + .byte Fs4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Bn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Fn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte N03 , Cs5 + .byte W03 + .byte N06 , As4 + .byte W03 + .byte PAN , c_v-48 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte As4 + .byte W12 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W12 + .byte Fs4 + .byte W06 + .byte As4 + .byte W24 + .byte N06 + .byte W12 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte GOTO + .word mus_karakuri_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_karakuri_4: + .byte KEYSH , mus_karakuri_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-62 + .byte VOL , 32*mus_karakuri_mvl/mxv + .byte N24 , As3 , v112 + .byte W24 + .byte Bn3 + .byte W24 + .byte Cn4 + .byte W24 + .byte Cs4 + .byte W24 +mus_karakuri_4_B1: + .byte PAN , c_v-63 + .byte VOL , 33*mus_karakuri_mvl/mxv + .byte N03 , Fs3 , v112 + .byte W06 + .byte Fs3 , v096 + .byte W06 + .byte As2 , v112 + .byte W03 + .byte N06 , As2 , v080 + .byte W09 + .byte N03 , Fs3 , v112 + .byte W06 + .byte Fs3 , v096 + .byte W06 + .byte As2 , v112 + .byte W03 + .byte N06 , As2 , v080 + .byte W09 + .byte N03 , Fs3 , v112 + .byte W06 + .byte Fs3 , v096 + .byte W06 + .byte As2 , v112 + .byte W03 + .byte N06 , As2 , v080 + .byte W09 + .byte N03 , Fs3 , v112 + .byte W06 + .byte Fs3 , v092 + .byte W06 + .byte As2 , v112 + .byte W03 + .byte N06 , As2 , v080 + .byte W09 +mus_karakuri_4_000: + .byte N03 , Fs3 , v112 + .byte W06 + .byte Fs3 , v096 + .byte W06 + .byte As2 , v112 + .byte W03 + .byte N06 , As2 , v080 + .byte W09 + .byte N03 , Fs3 , v112 + .byte W06 + .byte Fs3 , v096 + .byte W06 + .byte As2 , v112 + .byte W03 + .byte N06 , As2 , v080 + .byte W09 + .byte N03 , Fs3 , v112 + .byte W06 + .byte Fs3 , v096 + .byte W06 + .byte As2 , v112 + .byte W03 + .byte N06 , As2 , v080 + .byte W09 + .byte N03 , Fs3 , v112 + .byte W06 + .byte Fs3 , v092 + .byte W06 + .byte As2 , v112 + .byte W03 + .byte N06 , As2 , v080 + .byte W09 + .byte PEND + .byte PATT + .word mus_karakuri_4_000 + .byte N06 , Gs3 , v112 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte N06 , Gs3 + .byte W06 + .byte N12 , Gs4 + .byte W12 + .byte N06 , Gs5 + .byte W15 + .byte Cs2 + .byte W03 + .byte Cs3 + .byte W09 + .byte Cs2 + .byte W09 + .byte N03 , Cs1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cs2 + .byte W12 + .byte W48 + .byte N03 , Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N06 , Gs4 + .byte W24 + .byte Fs4 + .byte W24 + .byte N06 + .byte W24 + .byte Gs4 + .byte W12 + .byte Cs4 + .byte W12 + .byte PATT + .word mus_karakuri_4_000 + .byte PATT + .word mus_karakuri_4_000 + .byte PATT + .word mus_karakuri_4_000 + .byte W96 + .byte N03 , Cs4 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Cs4 + .byte W12 + .byte N06 , Gs3 + .byte W06 + .byte As3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N03 , Cs4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Cs4 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , En4 , v092 + .byte W03 + .byte Ds4 , v084 + .byte W03 + .byte Cs4 , v072 + .byte W03 + .byte Bn3 , v064 + .byte W09 + .byte PATT + .word mus_karakuri_4_000 + .byte PATT + .word mus_karakuri_4_000 + .byte PATT + .word mus_karakuri_4_000 + .byte W96 + .byte PAN , c_v+0 + .byte VOL , 32*mus_karakuri_mvl/mxv + .byte BEND , c_v+2 + .byte N32 , Ds5 , v112 + .byte W36 + .byte N06 + .byte W06 + .byte Fn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Fs5 + .byte W12 + .byte Fn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Fs4 + .byte W06 + .byte As4 + .byte W06 + .byte N32 , Cs5 + .byte W36 + .byte N06 + .byte W06 + .byte Ds5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W12 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W12 + .byte Gs4 + .byte W06 + .byte N32 , Bn4 + .byte W36 + .byte N06 + .byte W06 + .byte Cs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Ds5 + .byte W12 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W12 + .byte Gs4 + .byte W06 + .byte N24 , As4 + .byte W24 + .byte Bn4 + .byte W24 + .byte Cn5 + .byte W24 + .byte Cs5 + .byte W24 + .byte PAN , c_v+0 + .byte N32 , Ds5 + .byte W36 + .byte N06 + .byte W06 + .byte Fn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Fs5 + .byte W12 + .byte Fn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Fn5 + .byte W12 + .byte Fs5 + .byte W06 + .byte N24 , As5 + .byte W30 + .byte N06 , Bn5 + .byte W06 + .byte As5 + .byte W18 + .byte N18 , Gn5 + .byte W18 + .byte N24 , Ds5 + .byte W24 + .byte N06 , Fs5 + .byte W18 + .byte Ds5 + .byte W18 + .byte Fs5 + .byte W12 + .byte Fn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte As5 + .byte W12 + .byte Gs5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N06 + .byte W12 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W12 + .byte Cs5 + .byte W06 + .byte Fs5 + .byte W24 + .byte N06 + .byte W24 + .byte GOTO + .word mus_karakuri_4_B1 + .byte BEND , c_v+0 + .byte FINE + +@********************** Track 5 **********************@ + +mus_karakuri_5: + .byte KEYSH , mus_karakuri_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 34*mus_karakuri_mvl/mxv + .byte N24 , Cs3 , v112 + .byte W24 + .byte Bn2 + .byte W24 + .byte Gs2 + .byte W24 + .byte Fn2 + .byte W24 +mus_karakuri_5_B1: + .byte PAN , c_v+63 + .byte VOL , 36*mus_karakuri_mvl/mxv + .byte N03 , Cs4 , v112 + .byte W06 + .byte Cs4 , v096 + .byte W06 + .byte N06 , Fs3 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v096 + .byte W06 + .byte N06 , Fs3 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v096 + .byte W06 + .byte N06 , Fs3 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v092 + .byte W06 + .byte N06 , Fs3 , v080 + .byte W06 + .byte N03 + .byte W06 +mus_karakuri_5_000: + .byte N03 , Cs4 , v112 + .byte W06 + .byte Cs4 , v096 + .byte W06 + .byte N06 , Fs3 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v096 + .byte W06 + .byte N06 , Fs3 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v096 + .byte W06 + .byte N06 , Fs3 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v092 + .byte W06 + .byte N06 , Fs3 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte PEND + .byte PATT + .word mus_karakuri_5_000 + .byte N06 , Cs4 , v112 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte N06 , Cs6 + .byte W12 + .byte Cs3 + .byte W06 + .byte Cs4 + .byte W12 + .byte Cs3 + .byte W06 + .byte N03 , Cs2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cs3 + .byte W12 + .byte W96 + .byte N03 , Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N06 , Cs5 + .byte W24 + .byte Bn4 + .byte W24 + .byte As4 + .byte W24 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte PATT + .word mus_karakuri_5_000 + .byte PATT + .word mus_karakuri_5_000 + .byte PATT + .word mus_karakuri_5_000 + .byte W96 + .byte N03 , Fn4 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En4 + .byte W06 + .byte N03 , Fn4 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En4 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte N03 , Gn4 , v092 + .byte W03 + .byte Fs4 , v084 + .byte W03 + .byte En4 , v072 + .byte W03 + .byte Dn4 , v064 + .byte W09 + .byte PATT + .word mus_karakuri_5_000 + .byte PATT + .word mus_karakuri_5_000 + .byte PATT + .word mus_karakuri_5_000 + .byte W96 + .byte PAN , c_v+0 + .byte VOL , 36*mus_karakuri_mvl/mxv + .byte N32 , Ds5 , v112 + .byte W36 + .byte N06 + .byte W06 + .byte Fn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Fs5 + .byte W12 + .byte Fn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Fs4 + .byte W06 + .byte As4 + .byte W06 + .byte N32 , Cs5 + .byte W36 + .byte N06 + .byte W06 + .byte Ds5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W12 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W12 + .byte Gs4 + .byte W06 + .byte N32 , Bn4 + .byte W36 + .byte N06 + .byte W06 + .byte Cs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Ds5 + .byte W12 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W12 + .byte Gs4 + .byte W06 + .byte N24 , As4 + .byte W24 + .byte Bn4 + .byte W24 + .byte Cn5 + .byte W24 + .byte Cs5 + .byte W24 + .byte PAN , c_v+0 + .byte N32 , Ds5 + .byte W36 + .byte N06 + .byte W06 + .byte Fn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Fs5 + .byte W12 + .byte Fn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Fn5 + .byte W18 + .byte N24 , As5 + .byte W30 + .byte N06 , Bn5 + .byte W06 + .byte As5 + .byte W18 + .byte N18 , Gn5 + .byte W18 + .byte N24 , Ds5 + .byte W24 + .byte N06 , Fs5 + .byte W18 + .byte Ds5 + .byte W18 + .byte Fs5 + .byte W12 + .byte Fn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte As5 + .byte W12 + .byte Gs5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N06 + .byte W12 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W12 + .byte Cs5 + .byte W06 + .byte Fs5 + .byte W24 + .byte N06 + .byte W24 + .byte GOTO + .word mus_karakuri_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_karakuri_6: + .byte KEYSH , mus_karakuri_key+0 + .byte VOICE , 0 + .byte VOL , 70*mus_karakuri_mvl/mxv + .byte PAN , c_v+0 + .byte W96 +mus_karakuri_6_B1: +mus_karakuri_6_000: + .byte N06 , Cn1 , v112 + .byte W06 + .byte Cn1 , v088 + .byte W12 + .byte Cn1 , v112 + .byte W06 + .byte Cn1 , v096 + .byte N06 , Dn3 , v112 + .byte W12 + .byte Cn1 , v100 + .byte W12 + .byte Cn1 , v112 + .byte W06 + .byte Cn1 , v088 + .byte W12 + .byte Cn1 , v112 + .byte W06 + .byte Dn3 + .byte W12 + .byte En3 + .byte W06 + .byte En3 , v092 + .byte W06 + .byte PEND + .byte PATT + .word mus_karakuri_6_000 + .byte PATT + .word mus_karakuri_6_000 + .byte PATT + .word mus_karakuri_6_000 + .byte PATT + .word mus_karakuri_6_000 + .byte PATT + .word mus_karakuri_6_000 + .byte PATT + .word mus_karakuri_6_000 + .byte PATT + .word mus_karakuri_6_000 + .byte PATT + .word mus_karakuri_6_000 + .byte PATT + .word mus_karakuri_6_000 + .byte PATT + .word mus_karakuri_6_000 + .byte PATT + .word mus_karakuri_6_000 + .byte PATT + .word mus_karakuri_6_000 + .byte PATT + .word mus_karakuri_6_000 + .byte PATT + .word mus_karakuri_6_000 + .byte PATT + .word mus_karakuri_6_000 + .byte PATT + .word mus_karakuri_6_000 + .byte PATT + .word mus_karakuri_6_000 + .byte PATT + .word mus_karakuri_6_000 + .byte PATT + .word mus_karakuri_6_000 + .byte PATT + .word mus_karakuri_6_000 + .byte PATT + .word mus_karakuri_6_000 + .byte PATT + .word mus_karakuri_6_000 + .byte N06 , Cn1 , v112 + .byte W12 + .byte Cn1 , v088 + .byte W12 + .byte Cn1 , v096 + .byte W06 + .byte Cn1 , v100 + .byte W12 + .byte Dn3 , v112 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cn1 , v088 + .byte W12 + .byte Cn1 , v112 + .byte W06 + .byte Dn3 + .byte W12 + .byte En3 + .byte W06 + .byte En3 , v092 + .byte W06 + .byte GOTO + .word mus_karakuri_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_karakuri_7: + .byte KEYSH , mus_karakuri_key+0 + .byte VOICE , 82 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 59*mus_karakuri_mvl/mxv + .byte BEND , c_v+0 + .byte N24 , Cs2 , v112 + .byte W24 + .byte Bn1 + .byte W24 + .byte Gs1 + .byte W24 + .byte Cs1 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte W12 +mus_karakuri_7_B1: +mus_karakuri_7_000: + .byte N03 , Fs1 , v112 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , As1 + .byte W12 + .byte N06 , Cs2 + .byte W12 + .byte N03 , Fs1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Ds2 + .byte W12 + .byte N06 , Cs2 + .byte W12 + .byte PEND + .byte PATT + .word mus_karakuri_7_000 + .byte PATT + .word mus_karakuri_7_000 +mus_karakuri_7_001: + .byte N03 , Cs1 , v112 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , As1 + .byte W12 + .byte N06 , Bn1 + .byte W12 + .byte N03 , Cs1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Ds2 + .byte W12 + .byte N06 , Cs2 + .byte W12 + .byte PEND + .byte PATT + .word mus_karakuri_7_001 + .byte PATT + .word mus_karakuri_7_001 + .byte N03 , Cs1 , v112 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Gs1 + .byte W12 + .byte N03 , Cs1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Bn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte N03 , Fs1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , As1 + .byte W12 + .byte N06 , Cs2 + .byte W12 + .byte N03 , Fs1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Fn2 + .byte W12 + .byte N06 , Fs2 + .byte W12 + .byte PATT + .word mus_karakuri_7_000 + .byte PATT + .word mus_karakuri_7_000 + .byte PATT + .word mus_karakuri_7_000 + .byte PATT + .word mus_karakuri_7_001 + .byte PATT + .word mus_karakuri_7_001 + .byte PATT + .word mus_karakuri_7_001 + .byte N03 , Cs1 , v112 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Gs1 + .byte W12 + .byte N03 , Cs1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , As1 + .byte W12 + .byte N06 , Gs1 + .byte W12 + .byte N03 , Fs1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , As1 + .byte W12 + .byte N06 , Cs2 + .byte W12 + .byte N03 , Fs1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Gs2 + .byte W12 + .byte N06 , Fs2 + .byte W12 +mus_karakuri_7_002: + .byte N03 , Bn1 , v112 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Ds2 + .byte W12 + .byte N06 , Fs2 + .byte W12 + .byte N03 , Bn1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , As2 + .byte W12 + .byte N06 , Fs2 + .byte W12 + .byte PEND + .byte N03 , Fs1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , As1 + .byte W12 + .byte N06 , Cs2 + .byte W12 + .byte N03 , Fs1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Fn2 + .byte W12 + .byte N06 , Cs2 + .byte W12 + .byte N03 , Fn1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Gs1 + .byte W12 + .byte N06 , Bn1 + .byte W12 + .byte N03 , Fn1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Fn2 + .byte W12 + .byte N06 , Bn1 + .byte W12 + .byte N12 , Fs1 + .byte W12 + .byte N03 , As1 + .byte W12 + .byte N06 , Fs1 + .byte W06 + .byte N12 , Bn1 + .byte W12 + .byte N03 , Fs1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte Cn2 + .byte W12 + .byte N03 , Fs1 + .byte W12 + .byte N06 , Cs2 + .byte W12 + .byte PATT + .word mus_karakuri_7_002 + .byte N03 , Fs1 , v112 + .byte W06 + .byte N06 , As1 + .byte W12 + .byte Cs2 + .byte W06 + .byte N03 , En1 + .byte W06 + .byte N06 , Gs1 + .byte W06 + .byte Bn1 + .byte W12 + .byte N03 , Ds1 + .byte W06 + .byte N06 , Gn1 + .byte W12 + .byte As1 + .byte W06 + .byte N12 , Ds2 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte N03 , Gs1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Bn1 + .byte W12 + .byte N06 , Ds2 + .byte W12 + .byte N03 , Gs1 + .byte W06 + .byte N06 , Ds2 + .byte W12 + .byte Bn1 + .byte W06 + .byte N12 , Fn2 + .byte W12 + .byte N06 , Bn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte N06 + .byte W12 + .byte Cs1 + .byte W06 + .byte Ds1 + .byte W12 + .byte Cs1 + .byte W06 + .byte Fs1 + .byte W24 + .byte N06 + .byte W24 + .byte GOTO + .word mus_karakuri_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_karakuri_8: + .byte KEYSH , mus_karakuri_key+0 + .byte VOICE , 13 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 39*mus_karakuri_mvl/mxv + .byte PAN , c_v+16 + .byte W96 +mus_karakuri_8_B1: + .byte VOICE , 56 + .byte PAN , c_v+16 + .byte W48 + .byte c_v-43 + .byte N06 , Cs4 , v112 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v+47 + .byte N06 , Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte W48 + .byte PAN , c_v+48 + .byte N06 , Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v-45 + .byte N06 , As4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte VOICE , 9 + .byte PAN , c_v-16 + .byte N06 , As4 + .byte W24 + .byte Gs4 + .byte W24 + .byte N06 + .byte W24 + .byte Fs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte W96 + .byte VOICE , 13 + .byte N06 , Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte En5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte En5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte En5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte En5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte En5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte En5 + .byte W06 + .byte Fn5 + .byte W06 + .byte PAN , c_v-38 + .byte N06 , Cs6 , v080 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte W96 + .byte VOL , 32*mus_karakuri_mvl/mxv + .byte N06 , As4 , v112 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte As4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte As4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte As4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs4 + .byte W12 + .byte N06 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs4 + .byte W12 + .byte N06 + .byte W06 + .byte As4 + .byte W06 + .byte Fs4 + .byte W12 + .byte N06 + .byte W06 + .byte Ds5 + .byte W12 + .byte Cs5 + .byte W12 + .byte VOICE , 56 + .byte VOL , 37*mus_karakuri_mvl/mxv + .byte N03 , Fn4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En4 + .byte W06 + .byte N03 , Fn4 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En4 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte N03 , Gn4 , v092 + .byte W03 + .byte Fs4 , v084 + .byte W03 + .byte En4 , v072 + .byte W03 + .byte Dn4 , v064 + .byte W09 + .byte VOICE , 13 + .byte VOL , 34*mus_karakuri_mvl/mxv + .byte N06 , Gs4 , v112 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOICE , 48 + .byte N06 , As4 + .byte W24 + .byte Gs4 + .byte W24 + .byte Fs4 + .byte W24 + .byte Fn4 + .byte W24 + .byte VOICE , 47 + .byte PAN , c_v+35 + .byte VOL , 56*mus_karakuri_mvl/mxv + .byte N06 , Fs3 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte PAN , c_v-33 + .byte N12 , Cs3 + .byte W12 + .byte PAN , c_v+34 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cs3 + .byte W12 + .byte PAN , c_v+34 + .byte N06 , Fs3 + .byte W12 + .byte PAN , c_v-33 + .byte N06 , Fs2 + .byte W06 + .byte PAN , c_v+40 + .byte N06 , Fs3 + .byte W06 + .byte VOICE , 13 + .byte VOL , 40*mus_karakuri_mvl/mxv + .byte W12 + .byte N06 , Ds6 , v092 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte Bn5 + .byte W12 + .byte Ds6 + .byte W18 + .byte N06 + .byte W12 + .byte W12 + .byte Cs6 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte Bn5 + .byte W12 + .byte Cs6 + .byte W18 + .byte N06 + .byte W12 + .byte W12 + .byte Bn5 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte Fs5 + .byte W12 + .byte Bn5 + .byte W18 + .byte N06 + .byte W12 + .byte W12 + .byte As5 + .byte W12 + .byte N06 + .byte W24 + .byte Bn5 + .byte W18 + .byte Cn6 + .byte W18 + .byte Cs6 + .byte W12 + .byte W12 + .byte Ds6 + .byte W12 + .byte N06 + .byte W24 + .byte Fs6 + .byte W06 + .byte Ds6 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte W12 + .byte Cs6 + .byte W24 + .byte Bn5 + .byte W12 + .byte As5 + .byte W18 + .byte N06 + .byte W18 + .byte Gn5 + .byte W12 + .byte Bn5 + .byte W12 + .byte N06 + .byte W12 + .byte Gs5 + .byte W06 + .byte Bn5 + .byte W12 + .byte Gs5 + .byte W06 + .byte Cs6 + .byte W12 + .byte N06 + .byte W12 + .byte Bn5 + .byte W06 + .byte Cs6 + .byte W06 + .byte Gs5 + .byte W12 + .byte As5 + .byte W06 + .byte Fs5 + .byte W06 + .byte As5 + .byte W12 + .byte Fs5 + .byte W06 + .byte Gs5 + .byte W12 + .byte Cs5 + .byte W06 + .byte As5 + .byte W24 + .byte N06 + .byte W12 + .byte Gn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte GOTO + .word mus_karakuri_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_karakuri: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_karakuri_pri @ Priority + .byte mus_karakuri_rev @ Reverb. + + .word mus_karakuri_grp + + .word mus_karakuri_1 + .word mus_karakuri_2 + .word mus_karakuri_3 + .word mus_karakuri_4 + .word mus_karakuri_5 + .word mus_karakuri_6 + .word mus_karakuri_7 + .word mus_karakuri_8 + + .end diff --git a/sound/songs/mus_kazanbai.s b/sound/songs/mus_kazanbai.s new file mode 100644 index 0000000000..acdb40247b --- /dev/null +++ b/sound/songs/mus_kazanbai.s @@ -0,0 +1,4007 @@ + .include "MPlayDef.s" + + .equ mus_kazanbai_grp, voicegroup_8687674 + .equ mus_kazanbai_pri, 0 + .equ mus_kazanbai_rev, reverb_set+50 + .equ mus_kazanbai_mvl, 127 + .equ mus_kazanbai_key, 0 + .equ mus_kazanbai_tbs, 1 + .equ mus_kazanbai_exg, 0 + .equ mus_kazanbai_cmp, 1 + + .section .rodata + .global mus_kazanbai + .align 2 + +@********************** Track 1 **********************@ + +mus_kazanbai_1: + .byte KEYSH , mus_kazanbai_key+0 + .byte TEMPO , 128*mus_kazanbai_tbs/2 + .byte VOICE , 127 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 44*mus_kazanbai_mvl/mxv + .byte PAN , c_v+63 + .byte W12 +mus_kazanbai_1_B1: +mus_kazanbai_1_000: + .byte N03 , En5 , v112 + .byte W06 + .byte En5 , v056 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte En5 , v112 + .byte W06 + .byte En5 , v056 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte PEND + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte PATT + .word mus_kazanbai_1_000 + .byte GOTO + .word mus_kazanbai_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_kazanbai_2: + .byte KEYSH , mus_kazanbai_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+3 + .byte VOL , 75*mus_kazanbai_mvl/mxv + .byte N06 , Fs3 , v112 + .byte W06 + .byte Bn3 + .byte W06 +mus_kazanbai_2_B1: +mus_kazanbai_2_000: + .byte VOICE , 24 + .byte N36 , Dn4 , v112 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte W02 + .byte N22 , Cs4 + .byte W22 + .byte N12 , An3 + .byte W12 + .byte PEND +mus_kazanbai_2_001: + .byte N24 , Bn3 , v112 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N36 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte PEND + .byte 0 + .byte N12 , Dn4 + .byte W12 + .byte N06 , Cs4 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 +mus_kazanbai_2_002: + .byte N60 , Gn3 , v112 + .byte W24 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N06 , Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte PEND +mus_kazanbai_2_003: + .byte N72 , An3 , v112 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte PEND +mus_kazanbai_2_004: + .byte MOD , 0 + .byte W48 + .byte VOICE , 60 + .byte W12 + .byte N06 , Dn3 , v112 + .byte W12 + .byte PEND + .byte VOICE , 60 + .byte TIE , An3 + .byte W24 + .byte VOL , 71*mus_kazanbai_mvl/mxv + .byte W02 + .byte 70*mus_kazanbai_mvl/mxv + .byte W03 + .byte 66*mus_kazanbai_mvl/mxv + .byte W03 + .byte 63*mus_kazanbai_mvl/mxv + .byte W04 + .byte 62*mus_kazanbai_mvl/mxv + .byte W02 + .byte 59*mus_kazanbai_mvl/mxv + .byte W03 + .byte 58*mus_kazanbai_mvl/mxv + .byte W03 + .byte 55*mus_kazanbai_mvl/mxv + .byte W04 + .byte 52*mus_kazanbai_mvl/mxv + .byte MOD , 3 + .byte W02 + .byte VOL , 50*mus_kazanbai_mvl/mxv + .byte W03 + .byte 48*mus_kazanbai_mvl/mxv + .byte W03 + .byte 46*mus_kazanbai_mvl/mxv + .byte W04 + .byte 44*mus_kazanbai_mvl/mxv + .byte W02 + .byte 40*mus_kazanbai_mvl/mxv + .byte W03 + .byte 37*mus_kazanbai_mvl/mxv + .byte W03 + .byte 35*mus_kazanbai_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte W02 + .byte VOL , 31*mus_kazanbai_mvl/mxv + .byte W03 + .byte 29*mus_kazanbai_mvl/mxv + .byte W03 + .byte 26*mus_kazanbai_mvl/mxv + .byte W04 + .byte 25*mus_kazanbai_mvl/mxv + .byte W02 + .byte 22*mus_kazanbai_mvl/mxv + .byte W03 + .byte 19*mus_kazanbai_mvl/mxv + .byte W03 + .byte 17*mus_kazanbai_mvl/mxv + .byte W04 + .byte 15*mus_kazanbai_mvl/mxv + .byte W02 + .byte 11*mus_kazanbai_mvl/mxv + .byte W03 + .byte 9*mus_kazanbai_mvl/mxv + .byte W03 + .byte 9*mus_kazanbai_mvl/mxv + .byte W04 + .byte 7*mus_kazanbai_mvl/mxv + .byte W02 + .byte 5*mus_kazanbai_mvl/mxv + .byte W03 + .byte 3*mus_kazanbai_mvl/mxv + .byte W03 + .byte 1*mus_kazanbai_mvl/mxv + .byte W04 + .byte EOT + .byte VOL , 1*mus_kazanbai_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte VOICE , 24 + .byte VOL , 74*mus_kazanbai_mvl/mxv + .byte N06 , En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PATT + .word mus_kazanbai_2_000 + .byte N24 , Gn4 , v112 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N06 , Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N12 , Dn4 + .byte W12 + .byte N06 , Cs4 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte Gn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte PATT + .word mus_kazanbai_2_003 + .byte PATT + .word mus_kazanbai_2_004 + .byte VOICE , 60 + .byte TIE , An3 , v112 + .byte W24 + .byte VOL , 71*mus_kazanbai_mvl/mxv + .byte W02 + .byte 70*mus_kazanbai_mvl/mxv + .byte W03 + .byte 66*mus_kazanbai_mvl/mxv + .byte W03 + .byte 63*mus_kazanbai_mvl/mxv + .byte W04 + .byte 62*mus_kazanbai_mvl/mxv + .byte W02 + .byte 59*mus_kazanbai_mvl/mxv + .byte W03 + .byte 58*mus_kazanbai_mvl/mxv + .byte W03 + .byte 55*mus_kazanbai_mvl/mxv + .byte W04 + .byte 52*mus_kazanbai_mvl/mxv + .byte W02 + .byte 50*mus_kazanbai_mvl/mxv + .byte W03 + .byte 48*mus_kazanbai_mvl/mxv + .byte W03 + .byte 46*mus_kazanbai_mvl/mxv + .byte W04 + .byte 44*mus_kazanbai_mvl/mxv + .byte W02 + .byte 40*mus_kazanbai_mvl/mxv + .byte W03 + .byte 37*mus_kazanbai_mvl/mxv + .byte W03 + .byte 35*mus_kazanbai_mvl/mxv + .byte W04 + .byte MOD , 7 + .byte W02 + .byte VOL , 31*mus_kazanbai_mvl/mxv + .byte W03 + .byte 29*mus_kazanbai_mvl/mxv + .byte W03 + .byte 26*mus_kazanbai_mvl/mxv + .byte W04 + .byte 25*mus_kazanbai_mvl/mxv + .byte W02 + .byte 22*mus_kazanbai_mvl/mxv + .byte W03 + .byte 19*mus_kazanbai_mvl/mxv + .byte W03 + .byte 17*mus_kazanbai_mvl/mxv + .byte W04 + .byte 15*mus_kazanbai_mvl/mxv + .byte W02 + .byte 11*mus_kazanbai_mvl/mxv + .byte W03 + .byte 9*mus_kazanbai_mvl/mxv + .byte W03 + .byte 9*mus_kazanbai_mvl/mxv + .byte W04 + .byte 7*mus_kazanbai_mvl/mxv + .byte W02 + .byte 5*mus_kazanbai_mvl/mxv + .byte W03 + .byte 3*mus_kazanbai_mvl/mxv + .byte W03 + .byte 1*mus_kazanbai_mvl/mxv + .byte W04 + .byte EOT + .byte VOL , 1*mus_kazanbai_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte VOICE , 24 + .byte VOL , 74*mus_kazanbai_mvl/mxv + .byte N06 + .byte W06 + .byte As3 + .byte W06 + .byte N24 , Bn3 + .byte W24 + .byte N06 , Cs4 + .byte W12 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Bn3 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte N06 , Dn4 + .byte W12 + .byte N24 , En4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N03 , Gn4 + .byte W03 + .byte N09 , Fs4 + .byte W09 + .byte N06 , Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N12 , Bn4 + .byte W12 + .byte N06 , Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , Cs4 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte N06 , Bn3 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte N06 , Dn4 + .byte W12 + .byte N03 , Fn4 + .byte W03 + .byte N21 , En4 + .byte W21 + .byte N06 , Cs4 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte N06 , En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N03 , Gn4 + .byte W03 + .byte N09 , Fs4 + .byte W09 + .byte N12 , Fn4 + .byte W12 + .byte N06 , Fs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N12 , As4 + .byte W12 + .byte N06 , Fs4 + .byte W12 + .byte N12 , En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte VOICE , 60 + .byte VOL , 48*mus_kazanbai_mvl/mxv + .byte N12 , Dn4 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte VOL , 48*mus_kazanbai_mvl/mxv + .byte N24 , Bn3 + .byte W24 + .byte N06 , Cs4 + .byte W09 + .byte N03 , Ds4 + .byte W03 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Bn3 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte N06 , Dn4 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte N06 , Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N03 , Gn4 + .byte W03 + .byte N09 , Fs4 + .byte W09 + .byte N06 , Fn4 + .byte W12 + .byte Fs4 + .byte W09 + .byte N03 , An4 , v080 + .byte W03 + .byte N12 , Gs4 , v112 + .byte W12 + .byte N06 , Fs4 + .byte W12 + .byte N12 , En4 + .byte W12 + .byte N18 , Bn3 + .byte W18 + .byte N06 , Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte N24 , Gn4 + .byte W24 + .byte N06 , An4 + .byte W12 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Fs4 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte N06 , Bn3 + .byte W12 + .byte N24 , Cs4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Dn4 + .byte W12 + .byte N03 , Fn4 + .byte W03 + .byte N06 , En4 + .byte W09 + .byte N12 + .byte W12 + .byte N06 , Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte N03 , Fs4 + .byte W03 + .byte N21 , Gn4 + .byte W21 + .byte N06 , Fs4 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte N06 , Fs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOICE , 73 + .byte N03 , Ds4 , v096 + .byte W03 + .byte N32 , Dn4 , v112 + .byte W09 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte W02 + .byte N22 , Cs4 + .byte W22 + .byte N12 , An3 + .byte W12 + .byte PATT + .word mus_kazanbai_2_001 + .byte MOD , 0 + .byte N03 , Ds4 , v096 + .byte W03 + .byte N09 , Dn4 , v112 + .byte W09 + .byte N06 , Cs4 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte PATT + .word mus_kazanbai_2_002 + .byte N72 , An3 , v112 + .byte W24 + .byte MOD , 6 + .byte W48 + .byte PATT + .word mus_kazanbai_2_004 + .byte VOICE , 60 + .byte N12 , An3 , v112 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte VOL , 71*mus_kazanbai_mvl/mxv + .byte N96 , An3 + .byte W02 + .byte VOL , 70*mus_kazanbai_mvl/mxv + .byte W03 + .byte 66*mus_kazanbai_mvl/mxv + .byte W03 + .byte 63*mus_kazanbai_mvl/mxv + .byte W04 + .byte 62*mus_kazanbai_mvl/mxv + .byte W02 + .byte 59*mus_kazanbai_mvl/mxv + .byte W03 + .byte 58*mus_kazanbai_mvl/mxv + .byte W03 + .byte 55*mus_kazanbai_mvl/mxv + .byte W04 + .byte 52*mus_kazanbai_mvl/mxv + .byte W02 + .byte 50*mus_kazanbai_mvl/mxv + .byte W03 + .byte 48*mus_kazanbai_mvl/mxv + .byte W03 + .byte 46*mus_kazanbai_mvl/mxv + .byte W04 + .byte 44*mus_kazanbai_mvl/mxv + .byte W02 + .byte 40*mus_kazanbai_mvl/mxv + .byte W03 + .byte 37*mus_kazanbai_mvl/mxv + .byte W03 + .byte 35*mus_kazanbai_mvl/mxv + .byte W04 + .byte MOD , 7 + .byte W02 + .byte VOL , 31*mus_kazanbai_mvl/mxv + .byte W03 + .byte 29*mus_kazanbai_mvl/mxv + .byte W03 + .byte 26*mus_kazanbai_mvl/mxv + .byte W04 + .byte 25*mus_kazanbai_mvl/mxv + .byte W02 + .byte 22*mus_kazanbai_mvl/mxv + .byte W03 + .byte 19*mus_kazanbai_mvl/mxv + .byte W03 + .byte 17*mus_kazanbai_mvl/mxv + .byte W04 + .byte 15*mus_kazanbai_mvl/mxv + .byte W02 + .byte 11*mus_kazanbai_mvl/mxv + .byte W03 + .byte 9*mus_kazanbai_mvl/mxv + .byte W03 + .byte 9*mus_kazanbai_mvl/mxv + .byte W04 + .byte 7*mus_kazanbai_mvl/mxv + .byte W02 + .byte 5*mus_kazanbai_mvl/mxv + .byte W03 + .byte 3*mus_kazanbai_mvl/mxv + .byte W03 + .byte 1*mus_kazanbai_mvl/mxv + .byte W04 + .byte 1*mus_kazanbai_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte VOICE , 73 + .byte VOL , 74*mus_kazanbai_mvl/mxv + .byte N06 , En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N03 , Cs4 , v092 + .byte W03 + .byte N32 , Dn4 , v112 + .byte W09 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte W02 + .byte N22 , Cs4 + .byte W22 + .byte N12 , An3 + .byte W12 + .byte N03 , Gs4 , v088 + .byte W03 + .byte N21 , Gn4 , v112 + .byte W21 + .byte N12 , Dn3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N06 , Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N03 , Cs4 , v096 + .byte W03 + .byte N09 , Dn4 , v112 + .byte W09 + .byte N06 , Cs4 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N03 , Gs4 , v092 + .byte W03 + .byte N09 , Gn4 , v112 + .byte W09 + .byte N12 , Dn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N03 , As3 , v096 + .byte W03 + .byte N68 , An3 , v112 + .byte W21 + .byte MOD , 7 + .byte W48 + .byte PATT + .word mus_kazanbai_2_004 + .byte VOICE , 60 + .byte N60 , An3 , v112 + .byte W24 + .byte VOL , 71*mus_kazanbai_mvl/mxv + .byte MOD , 5 + .byte W02 + .byte VOL , 70*mus_kazanbai_mvl/mxv + .byte W03 + .byte 66*mus_kazanbai_mvl/mxv + .byte W03 + .byte 63*mus_kazanbai_mvl/mxv + .byte W04 + .byte 62*mus_kazanbai_mvl/mxv + .byte W02 + .byte 59*mus_kazanbai_mvl/mxv + .byte W03 + .byte 58*mus_kazanbai_mvl/mxv + .byte W03 + .byte 55*mus_kazanbai_mvl/mxv + .byte W04 + .byte 50*mus_kazanbai_mvl/mxv + .byte W02 + .byte 46*mus_kazanbai_mvl/mxv + .byte W03 + .byte 42*mus_kazanbai_mvl/mxv + .byte W03 + .byte 36*mus_kazanbai_mvl/mxv + .byte W04 + .byte 74*mus_kazanbai_mvl/mxv + .byte MOD , 0 + .byte N06 , Dn3 + .byte W12 + .byte N48 , An3 + .byte W24 + .byte VOL , 74*mus_kazanbai_mvl/mxv + .byte MOD , 6 + .byte W02 + .byte VOL , 70*mus_kazanbai_mvl/mxv + .byte W03 + .byte 63*mus_kazanbai_mvl/mxv + .byte W03 + .byte 59*mus_kazanbai_mvl/mxv + .byte W04 + .byte 52*mus_kazanbai_mvl/mxv + .byte W02 + .byte 50*mus_kazanbai_mvl/mxv + .byte W03 + .byte 46*mus_kazanbai_mvl/mxv + .byte W03 + .byte 42*mus_kazanbai_mvl/mxv + .byte W04 + .byte 40*mus_kazanbai_mvl/mxv + .byte MOD , 0 + .byte W02 + .byte VOL , 31*mus_kazanbai_mvl/mxv + .byte W03 + .byte 29*mus_kazanbai_mvl/mxv + .byte W03 + .byte 25*mus_kazanbai_mvl/mxv + .byte W04 + .byte VOICE , 24 + .byte VOL , 74*mus_kazanbai_mvl/mxv + .byte N06 , Fs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte GOTO + .word mus_kazanbai_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_kazanbai_3: + .byte KEYSH , mus_kazanbai_key+0 + .byte VOICE , 24 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+28 + .byte VOL , 58*mus_kazanbai_mvl/mxv + .byte W12 +mus_kazanbai_3_B1: +mus_kazanbai_3_000: + .byte PAN , c_v+0 + .byte VOL , 74*mus_kazanbai_mvl/mxv + .byte N06 , Gn1 , v112 + .byte W06 + .byte Gn1 , v040 + .byte W06 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v040 + .byte W06 + .byte Fs2 , v112 + .byte W06 + .byte Fs2 , v040 + .byte W06 + .byte Gn2 , v112 + .byte W06 + .byte Gn2 , v040 + .byte W06 + .byte Bn2 , v112 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte Fs3 , v112 + .byte W06 + .byte Fs3 , v040 + .byte W06 + .byte PEND +mus_kazanbai_3_001: + .byte PAN , c_v+27 + .byte VOL , 59*mus_kazanbai_mvl/mxv + .byte N04 , An3 , v112 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Bn2 + .byte W04 + .byte PAN , c_v-28 + .byte N04 , An2 + .byte W04 + .byte Bn2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Fs2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Cs2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Bn1 + .byte W04 + .byte PEND + .byte PATT + .word mus_kazanbai_3_000 +mus_kazanbai_3_002: + .byte PAN , c_v+27 + .byte VOL , 59*mus_kazanbai_mvl/mxv + .byte N04 , An3 , v112 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Bn2 + .byte W04 + .byte PAN , c_v-27 + .byte N04 , An2 + .byte W04 + .byte Bn2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Fs2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Cs2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Bn1 + .byte W04 + .byte PEND +mus_kazanbai_3_003: + .byte PAN , c_v+0 + .byte VOL , 74*mus_kazanbai_mvl/mxv + .byte N06 , Dn1 , v112 + .byte W06 + .byte Dn1 , v040 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v040 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v040 + .byte W06 + .byte Dn2 , v112 + .byte W06 + .byte Dn2 , v040 + .byte W06 + .byte Fs2 , v112 + .byte W06 + .byte Fs2 , v040 + .byte W06 + .byte Cs3 , v112 + .byte W06 + .byte Cs3 , v040 + .byte W06 + .byte PEND +mus_kazanbai_3_004: + .byte PAN , c_v+28 + .byte VOL , 59*mus_kazanbai_mvl/mxv + .byte N04 , En3 , v112 + .byte W04 + .byte Fs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte An2 + .byte W04 + .byte Gs2 + .byte W04 + .byte An2 + .byte W04 + .byte Fs2 + .byte W04 + .byte PAN , c_v-27 + .byte N04 , En2 + .byte W04 + .byte Fs2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Cs2 + .byte W04 + .byte Dn2 + .byte W04 + .byte An1 + .byte W16 + .byte PEND + .byte PAN , c_v+0 + .byte W72 + .byte W72 +mus_kazanbai_3_005: + .byte VOL , 74*mus_kazanbai_mvl/mxv + .byte N06 , Gn1 , v112 + .byte W06 + .byte Gn1 , v040 + .byte W06 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v040 + .byte W06 + .byte Fs2 , v112 + .byte W06 + .byte Fs2 , v040 + .byte W06 + .byte Gn2 , v112 + .byte W06 + .byte Gn2 , v040 + .byte W06 + .byte Bn2 , v112 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte Fs3 , v112 + .byte W06 + .byte Fs3 , v040 + .byte W06 + .byte PEND +mus_kazanbai_3_006: + .byte PAN , c_v+29 + .byte VOL , 59*mus_kazanbai_mvl/mxv + .byte N04 , An3 , v112 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Bn2 + .byte W04 + .byte PAN , c_v-27 + .byte N04 , An2 + .byte W04 + .byte Bn2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Fs2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Cs2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Bn1 + .byte W04 + .byte PEND + .byte PATT + .word mus_kazanbai_3_000 +mus_kazanbai_3_007: + .byte PAN , c_v+28 + .byte VOL , 59*mus_kazanbai_mvl/mxv + .byte N04 , An3 , v112 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Bn2 + .byte W04 + .byte PAN , c_v-27 + .byte N04 , An2 + .byte W04 + .byte Bn2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Fs2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Cs2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Bn1 + .byte W04 + .byte PEND + .byte PATT + .word mus_kazanbai_3_003 +mus_kazanbai_3_008: + .byte PAN , c_v+28 + .byte VOL , 59*mus_kazanbai_mvl/mxv + .byte N04 , En3 , v112 + .byte W04 + .byte Fs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte An2 + .byte W04 + .byte Gs2 + .byte W04 + .byte An2 + .byte W04 + .byte Fs2 + .byte W04 + .byte PAN , c_v-28 + .byte N04 , En2 + .byte W04 + .byte Fs2 + .byte W04 + .byte Dn2 + .byte W04 + .byte Cs2 + .byte W04 + .byte Dn2 + .byte W04 + .byte An1 + .byte W16 + .byte PEND + .byte PAN , c_v+0 + .byte W72 + .byte W72 + .byte VOL , 78*mus_kazanbai_mvl/mxv + .byte N06 , Bn1 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Bn2 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N03 , Bn2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , Bn1 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Bn2 + .byte W06 +mus_kazanbai_3_009: + .byte N06 , Dn3 , v112 + .byte W06 + .byte N03 , As2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , As1 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , As2 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N03 , As2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte PEND +mus_kazanbai_3_010: + .byte N06 , An1 , v112 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , An2 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N03 , An2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , An1 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , An2 + .byte W06 + .byte PEND +mus_kazanbai_3_011: + .byte N06 , Dn3 , v112 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , Gs1 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte PEND + .byte N06 , Gn1 + .byte W06 + .byte N03 , Bn1 + .byte W06 + .byte N06 , Dn2 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N06 , Bn2 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N06 , Dn2 + .byte W06 + .byte N03 , Bn1 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte N03 , Bn1 + .byte W06 + .byte N06 , Dn2 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N06 , An2 + .byte W06 + .byte N03 , En2 + .byte W06 + .byte N06 , Cs2 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N06 , Cs2 + .byte W06 + .byte N03 , En2 + .byte W06 + .byte N06 , An2 + .byte W06 + .byte N03 , En2 + .byte W06 + .byte N06 , Cs2 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N06 , Fs1 + .byte W06 + .byte N03 , As1 + .byte W06 + .byte N06 , Cs2 + .byte W06 + .byte N03 , En2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , En2 + .byte W06 + .byte N06 , Cs2 + .byte W06 + .byte N03 , As1 + .byte W06 + .byte N06 , Fs1 + .byte W06 + .byte N03 , As1 + .byte W06 + .byte N06 , Cs2 + .byte W06 + .byte N03 , En2 + .byte W06 + .byte N06 , As2 + .byte W06 + .byte N03 , Fs2 + .byte W06 + .byte N06 , En2 + .byte W06 + .byte N03 , Cs2 + .byte W06 + .byte N06 , As1 + .byte W06 + .byte N03 , Cs2 + .byte W06 + .byte N06 , En2 + .byte W06 + .byte N03 , Fs2 + .byte W06 + .byte N06 , As2 + .byte W06 + .byte N03 , Fs2 + .byte W06 + .byte N06 , En2 + .byte W06 + .byte N03 , Cs2 + .byte W06 + .byte N06 , Bn1 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Bn2 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N03 , Bn2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , Bn1 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Bn2 + .byte W06 + .byte PATT + .word mus_kazanbai_3_009 + .byte PATT + .word mus_kazanbai_3_010 + .byte PATT + .word mus_kazanbai_3_011 + .byte N06 , Gn1 , v112 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Bn2 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N03 , Bn2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Bn2 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , Gs1 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N06 , Bn2 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Dn2 + .byte W06 +mus_kazanbai_3_012: + .byte N06 , An1 , v112 + .byte W06 + .byte N03 , En2 + .byte W06 + .byte N06 , An2 + .byte W06 + .byte N03 , Cs3 + .byte W06 + .byte N06 , En3 + .byte W06 + .byte N03 , Cs3 + .byte W06 + .byte N06 , An2 + .byte W06 + .byte N03 , En2 + .byte W06 + .byte N06 , An1 + .byte W06 + .byte N03 , En2 + .byte W06 + .byte N06 , An2 + .byte W06 + .byte N03 , Cs3 + .byte W06 + .byte PEND + .byte PATT + .word mus_kazanbai_3_012 + .byte PATT + .word mus_kazanbai_3_005 + .byte PATT + .word mus_kazanbai_3_001 + .byte PATT + .word mus_kazanbai_3_000 + .byte PATT + .word mus_kazanbai_3_002 + .byte PATT + .word mus_kazanbai_3_003 + .byte PATT + .word mus_kazanbai_3_004 + .byte PAN , c_v+0 + .byte W72 + .byte W72 + .byte PATT + .word mus_kazanbai_3_005 + .byte PATT + .word mus_kazanbai_3_006 + .byte PATT + .word mus_kazanbai_3_000 + .byte PATT + .word mus_kazanbai_3_007 + .byte PATT + .word mus_kazanbai_3_003 + .byte PATT + .word mus_kazanbai_3_008 + .byte PAN , c_v+0 + .byte W72 + .byte W72 + .byte GOTO + .word mus_kazanbai_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_kazanbai_4: + .byte KEYSH , mus_kazanbai_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 82*mus_kazanbai_mvl/mxv + .byte PAN , c_v+15 + .byte W12 +mus_kazanbai_4_B1: + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 +mus_kazanbai_4_000: + .byte W60 + .byte N03 , An2 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte PEND + .byte N12 , Dn2 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 +mus_kazanbai_4_001: + .byte W60 + .byte N03 , An1 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte PEND + .byte N15 , Dn2 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte PATT + .word mus_kazanbai_4_000 + .byte N12 , Dn2 , v120 + .byte W12 + .byte N06 , An2 + .byte W12 + .byte N12 , Dn2 + .byte W48 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte PATT + .word mus_kazanbai_4_001 + .byte N15 , Dn2 , v120 + .byte W60 + .byte N03 , An1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Dn2 + .byte W72 + .byte GOTO + .word mus_kazanbai_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_kazanbai_5: + .byte KEYSH , mus_kazanbai_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 42*mus_kazanbai_mvl/mxv + .byte PAN , c_v-53 + .byte W12 +mus_kazanbai_5_B1: +mus_kazanbai_5_000: + .byte N12 , Fs3 , v084 + .byte W12 + .byte N03 , Fs3 , v112 + .byte W06 + .byte Fs3 , v084 + .byte W06 + .byte N12 + .byte W12 + .byte N09 , Fs3 , v072 + .byte W12 + .byte N03 , Fs3 , v112 + .byte W06 + .byte Fs3 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte PEND +mus_kazanbai_5_001: + .byte N12 , Fs3 , v084 + .byte W12 + .byte N03 , Fs3 , v112 + .byte W06 + .byte Fs3 , v064 + .byte W06 + .byte Fs3 , v116 + .byte W06 + .byte Fs3 , v080 + .byte W06 + .byte N09 , Fs3 , v072 + .byte W12 + .byte N03 , Fs3 , v112 + .byte W06 + .byte Fs3 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_kazanbai_5_000 + .byte PATT + .word mus_kazanbai_5_001 +mus_kazanbai_5_002: + .byte N12 , Cs3 , v084 + .byte W12 + .byte N03 , Cs3 , v112 + .byte W06 + .byte Cs3 , v084 + .byte W06 + .byte N12 + .byte W12 + .byte N09 , Cs3 , v072 + .byte W12 + .byte N03 , Cs3 , v112 + .byte W06 + .byte Cs3 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte PEND +mus_kazanbai_5_003: + .byte N12 , Cs3 , v084 + .byte W12 + .byte N03 , Cs3 , v112 + .byte W06 + .byte Cs3 , v064 + .byte W06 + .byte Cs3 , v116 + .byte W06 + .byte Cs3 , v080 + .byte W06 + .byte N09 , Cs3 , v072 + .byte W12 + .byte N03 , Cs3 , v112 + .byte W06 + .byte Cs3 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_kazanbai_5_002 + .byte PATT + .word mus_kazanbai_5_003 + .byte PATT + .word mus_kazanbai_5_000 + .byte PATT + .word mus_kazanbai_5_001 + .byte PATT + .word mus_kazanbai_5_000 + .byte PATT + .word mus_kazanbai_5_001 + .byte PATT + .word mus_kazanbai_5_002 + .byte PATT + .word mus_kazanbai_5_003 + .byte PATT + .word mus_kazanbai_5_002 + .byte PATT + .word mus_kazanbai_5_003 +mus_kazanbai_5_004: + .byte N12 , Dn3 , v084 + .byte W12 + .byte N03 , Dn3 , v112 + .byte W06 + .byte Dn3 , v084 + .byte W06 + .byte N12 + .byte W12 + .byte N09 , Dn3 , v072 + .byte W12 + .byte N03 , Dn3 , v112 + .byte W06 + .byte Dn3 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte PEND +mus_kazanbai_5_005: + .byte N12 , Dn3 , v084 + .byte W12 + .byte N03 , Dn3 , v112 + .byte W06 + .byte Dn3 , v064 + .byte W06 + .byte Dn3 , v116 + .byte W06 + .byte Dn3 , v080 + .byte W06 + .byte N09 , Dn3 , v072 + .byte W12 + .byte N03 , Dn3 , v112 + .byte W06 + .byte Dn3 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_kazanbai_5_004 + .byte PATT + .word mus_kazanbai_5_005 +mus_kazanbai_5_006: + .byte N12 , Bn3 , v084 + .byte W12 + .byte N03 , Bn3 , v112 + .byte W06 + .byte Bn3 , v084 + .byte W06 + .byte N12 + .byte W12 + .byte N09 , Bn3 , v072 + .byte W12 + .byte N03 , Bn3 , v112 + .byte W06 + .byte Bn3 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte PEND + .byte Cs4 , v084 + .byte W12 + .byte N03 , Cs4 , v112 + .byte W06 + .byte Cs4 , v064 + .byte W06 + .byte Cs4 , v116 + .byte W06 + .byte Cs4 , v080 + .byte W06 + .byte N09 , Cs4 , v072 + .byte W12 + .byte N03 , Cs4 , v112 + .byte W06 + .byte Cs4 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte As3 , v084 + .byte W12 + .byte N03 , As3 , v112 + .byte W06 + .byte As3 , v084 + .byte W06 + .byte N12 + .byte W12 + .byte N09 , As3 , v072 + .byte W12 + .byte N03 , As3 , v112 + .byte W06 + .byte As3 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte Fs3 , v084 + .byte W12 + .byte N03 , Fs3 , v112 + .byte W06 + .byte Fs3 , v064 + .byte W06 + .byte Fs3 , v116 + .byte W06 + .byte Fs3 , v080 + .byte W06 + .byte N09 , As3 , v072 + .byte W12 + .byte N03 , As3 , v112 + .byte W06 + .byte As3 , v076 + .byte W06 + .byte N12 + .byte W12 +mus_kazanbai_5_007: + .byte N12 , Dn4 , v084 + .byte W12 + .byte N03 , Dn4 , v112 + .byte W06 + .byte Dn4 , v084 + .byte W06 + .byte N12 + .byte W12 + .byte N09 , Dn4 , v072 + .byte W12 + .byte N03 , Dn4 , v112 + .byte W06 + .byte Dn4 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte PEND +mus_kazanbai_5_008: + .byte N12 , Dn4 , v084 + .byte W12 + .byte N03 , Dn4 , v112 + .byte W06 + .byte Dn4 , v064 + .byte W06 + .byte Dn4 , v116 + .byte W06 + .byte Dn4 , v080 + .byte W06 + .byte N09 , Dn4 , v072 + .byte W12 + .byte N03 , Dn4 , v112 + .byte W06 + .byte Dn4 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_kazanbai_5_007 + .byte PATT + .word mus_kazanbai_5_008 + .byte PATT + .word mus_kazanbai_5_006 + .byte N12 , Gs3 , v084 + .byte W12 + .byte N03 , Gs3 , v112 + .byte W06 + .byte Gs3 , v064 + .byte W06 + .byte Gs3 , v116 + .byte W06 + .byte Gs3 , v080 + .byte W06 + .byte N09 , Gs3 , v072 + .byte W12 + .byte N03 , Gs3 , v112 + .byte W06 + .byte Gs3 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte An3 , v084 + .byte W12 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v084 + .byte W06 + .byte N12 + .byte W12 + .byte N09 , An3 , v072 + .byte W12 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte An3 , v084 + .byte W12 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v064 + .byte W06 + .byte An3 , v116 + .byte W06 + .byte An3 , v080 + .byte W06 + .byte N09 , Cs4 , v072 + .byte W12 + .byte N03 , Cs4 , v112 + .byte W06 + .byte Cs4 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte PATT + .word mus_kazanbai_5_000 + .byte PATT + .word mus_kazanbai_5_001 + .byte PATT + .word mus_kazanbai_5_000 + .byte PATT + .word mus_kazanbai_5_001 + .byte PATT + .word mus_kazanbai_5_002 + .byte PATT + .word mus_kazanbai_5_003 + .byte PATT + .word mus_kazanbai_5_002 + .byte PATT + .word mus_kazanbai_5_003 + .byte PATT + .word mus_kazanbai_5_000 + .byte PATT + .word mus_kazanbai_5_001 + .byte PATT + .word mus_kazanbai_5_000 + .byte PATT + .word mus_kazanbai_5_001 + .byte PATT + .word mus_kazanbai_5_002 + .byte PATT + .word mus_kazanbai_5_003 + .byte PATT + .word mus_kazanbai_5_002 + .byte PATT + .word mus_kazanbai_5_003 + .byte GOTO + .word mus_kazanbai_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_kazanbai_6: + .byte KEYSH , mus_kazanbai_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 42*mus_kazanbai_mvl/mxv + .byte PAN , c_v+63 + .byte W12 +mus_kazanbai_6_B1: +mus_kazanbai_6_000: + .byte N12 , Bn3 , v084 + .byte W12 + .byte N03 , Bn3 , v112 + .byte W06 + .byte Bn3 , v084 + .byte W06 + .byte N12 + .byte W12 + .byte N09 , Bn3 , v072 + .byte W12 + .byte N03 , Bn3 , v112 + .byte W06 + .byte Bn3 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte PEND +mus_kazanbai_6_001: + .byte N12 , Bn3 , v084 + .byte W12 + .byte N03 , Bn3 , v112 + .byte W06 + .byte Bn3 , v064 + .byte W06 + .byte Bn3 , v116 + .byte W06 + .byte Bn3 , v080 + .byte W06 + .byte N09 , Bn3 , v072 + .byte W12 + .byte N03 , Bn3 , v112 + .byte W06 + .byte Bn3 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_kazanbai_6_000 + .byte PATT + .word mus_kazanbai_6_001 +mus_kazanbai_6_002: + .byte N12 , Fs3 , v084 + .byte W12 + .byte N03 , Fs3 , v112 + .byte W06 + .byte Fs3 , v084 + .byte W06 + .byte N12 + .byte W12 + .byte N09 , Fs3 , v072 + .byte W12 + .byte N03 , Fs3 , v112 + .byte W06 + .byte Fs3 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte PEND +mus_kazanbai_6_003: + .byte N12 , Fs3 , v084 + .byte W12 + .byte N03 , Fs3 , v112 + .byte W06 + .byte Fs3 , v064 + .byte W06 + .byte Fs3 , v116 + .byte W06 + .byte Fs3 , v080 + .byte W06 + .byte N09 , Fs3 , v072 + .byte W12 + .byte N03 , Fs3 , v112 + .byte W06 + .byte Fs3 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_kazanbai_6_002 + .byte PATT + .word mus_kazanbai_6_003 + .byte PATT + .word mus_kazanbai_6_000 + .byte PATT + .word mus_kazanbai_6_001 + .byte PATT + .word mus_kazanbai_6_000 + .byte PATT + .word mus_kazanbai_6_001 + .byte PATT + .word mus_kazanbai_6_002 + .byte PATT + .word mus_kazanbai_6_003 + .byte PATT + .word mus_kazanbai_6_002 + .byte PATT + .word mus_kazanbai_6_003 + .byte N12 , An3 , v084 + .byte W12 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v084 + .byte W06 + .byte N12 + .byte W12 + .byte N09 , An3 , v072 + .byte W12 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte As3 , v084 + .byte W12 + .byte N03 , As3 , v112 + .byte W06 + .byte As3 , v064 + .byte W06 + .byte As3 , v116 + .byte W06 + .byte As3 , v080 + .byte W06 + .byte N09 , As3 , v072 + .byte W12 + .byte N03 , As3 , v112 + .byte W06 + .byte As3 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte PATT + .word mus_kazanbai_6_000 + .byte N12 , Cs4 , v084 + .byte W12 + .byte N03 , Cs4 , v112 + .byte W06 + .byte Cs4 , v064 + .byte W06 + .byte Cs4 , v116 + .byte W06 + .byte Cs4 , v080 + .byte W06 + .byte N09 , Dn4 , v072 + .byte W12 + .byte N03 , Dn4 , v112 + .byte W06 + .byte Dn4 , v076 + .byte W06 + .byte N12 + .byte W12 +mus_kazanbai_6_004: + .byte N12 , Fs4 , v084 + .byte W12 + .byte N03 , Fs4 , v112 + .byte W06 + .byte Fs4 , v084 + .byte W06 + .byte N12 + .byte W12 + .byte N09 , Fs4 , v072 + .byte W12 + .byte N03 , Fs4 , v112 + .byte W06 + .byte Fs4 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte PEND + .byte Gn4 , v084 + .byte W12 + .byte N03 , Gn4 , v112 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte Gn4 , v116 + .byte W06 + .byte Gn4 , v080 + .byte W06 + .byte N09 , Gn4 , v072 + .byte W12 + .byte N03 , Gn4 , v112 + .byte W06 + .byte Gn4 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte En4 , v084 + .byte W12 + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v084 + .byte W06 + .byte N12 + .byte W12 + .byte N09 , En4 , v072 + .byte W12 + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte Cs4 , v084 + .byte W12 + .byte N03 , Cs4 , v112 + .byte W06 + .byte Cs4 , v064 + .byte W06 + .byte Cs4 , v116 + .byte W06 + .byte Cs4 , v080 + .byte W06 + .byte N09 , Fs4 , v072 + .byte W12 + .byte N03 , Fs4 , v112 + .byte W06 + .byte Fs4 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte An4 , v084 + .byte W12 + .byte N03 , An4 , v112 + .byte W06 + .byte An4 , v084 + .byte W06 + .byte N12 + .byte W12 + .byte N09 , An4 , v072 + .byte W12 + .byte N03 , An4 , v112 + .byte W06 + .byte An4 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte As4 , v084 + .byte W12 + .byte N03 , As4 , v112 + .byte W06 + .byte As4 , v064 + .byte W06 + .byte As4 , v116 + .byte W06 + .byte As4 , v080 + .byte W06 + .byte N09 , As4 , v072 + .byte W12 + .byte N03 , As4 , v112 + .byte W06 + .byte As4 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte Bn4 , v084 + .byte W12 + .byte N03 , Bn4 , v112 + .byte W06 + .byte Bn4 , v084 + .byte W06 + .byte N12 + .byte W12 + .byte N09 , Bn4 , v072 + .byte W12 + .byte N03 , Bn4 , v112 + .byte W06 + .byte Bn4 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte Cs5 , v084 + .byte W12 + .byte N03 , Cs5 , v112 + .byte W06 + .byte Cs5 , v064 + .byte W06 + .byte Cs5 , v116 + .byte W06 + .byte Cs5 , v080 + .byte W06 + .byte N09 , Bn4 , v072 + .byte W12 + .byte N03 , Bn4 , v112 + .byte W06 + .byte Bn4 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte PATT + .word mus_kazanbai_6_004 + .byte N12 , Dn4 , v084 + .byte W12 + .byte N03 , Dn4 , v112 + .byte W06 + .byte Dn4 , v064 + .byte W06 + .byte Dn4 , v116 + .byte W06 + .byte Dn4 , v080 + .byte W06 + .byte N09 , Dn4 , v072 + .byte W12 + .byte N03 , Dn4 , v112 + .byte W06 + .byte Dn4 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte Cs4 , v084 + .byte W12 + .byte N03 , Cs4 , v112 + .byte W06 + .byte Cs4 , v084 + .byte W06 + .byte N12 + .byte W12 + .byte N09 , Cs4 , v072 + .byte W12 + .byte N03 , Cs4 , v112 + .byte W06 + .byte Cs4 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte En4 , v084 + .byte W12 + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte En4 , v116 + .byte W06 + .byte En4 , v080 + .byte W06 + .byte N09 , Gn4 , v072 + .byte W12 + .byte N03 , Gn4 , v112 + .byte W06 + .byte Gn4 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte PATT + .word mus_kazanbai_6_000 + .byte PATT + .word mus_kazanbai_6_001 + .byte PATT + .word mus_kazanbai_6_000 + .byte PATT + .word mus_kazanbai_6_001 + .byte PATT + .word mus_kazanbai_6_002 + .byte PATT + .word mus_kazanbai_6_003 + .byte PATT + .word mus_kazanbai_6_002 + .byte PATT + .word mus_kazanbai_6_003 + .byte PATT + .word mus_kazanbai_6_000 + .byte PATT + .word mus_kazanbai_6_001 + .byte PATT + .word mus_kazanbai_6_000 + .byte PATT + .word mus_kazanbai_6_001 + .byte PATT + .word mus_kazanbai_6_002 + .byte PATT + .word mus_kazanbai_6_003 + .byte PATT + .word mus_kazanbai_6_002 + .byte PATT + .word mus_kazanbai_6_003 + .byte GOTO + .word mus_kazanbai_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_kazanbai_7: + .byte KEYSH , mus_kazanbai_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 84*mus_kazanbai_mvl/mxv + .byte W12 +mus_kazanbai_7_B1: +mus_kazanbai_7_000: + .byte N06 , Cn1 , v127 + .byte W24 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v048 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte PEND + .byte Cn1 , v127 + .byte W24 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v040 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte Dn1 , v020 + .byte W06 + .byte Cn1 , v127 + .byte W18 + .byte Cn1 , v096 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v044 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W24 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v040 + .byte W06 + .byte Dn1 , v028 + .byte W06 + .byte Dn1 , v016 + .byte W06 +mus_kazanbai_7_001: + .byte N06 , Cn1 , v127 + .byte W24 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v048 + .byte W06 + .byte Dn1 , v036 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte PEND + .byte Cn1 , v127 + .byte W18 + .byte Cn1 , v092 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v040 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte Dn1 , v020 + .byte W06 + .byte Cn1 , v127 + .byte W24 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Dn1 , v048 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W18 + .byte Cn1 , v096 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v044 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v112 + .byte W06 + .byte Dn1 , v064 + .byte W06 +mus_kazanbai_7_002: + .byte N06 , Cn1 , v127 + .byte W24 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v036 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte PEND +mus_kazanbai_7_003: + .byte N06 , Cn1 , v127 + .byte W18 + .byte Cn1 , v096 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v044 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte Dn1 , v024 + .byte W06 + .byte PEND +mus_kazanbai_7_004: + .byte N06 , Cn1 , v127 + .byte W24 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v040 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte PEND + .byte PATT + .word mus_kazanbai_7_003 + .byte PATT + .word mus_kazanbai_7_002 + .byte N06 , Cn1 , v127 + .byte W24 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v040 + .byte W06 + .byte Dn1 , v028 + .byte W06 + .byte Dn1 , v024 + .byte W06 + .byte Cn1 , v127 + .byte W24 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v044 + .byte W06 + .byte Dn1 , v024 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W18 + .byte Cn1 , v096 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Cn1 , v127 + .byte W24 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Dn1 , v044 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W18 + .byte Cn1 , v096 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v044 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte Dn1 , v020 + .byte W06 +mus_kazanbai_7_005: + .byte N06 , Cn1 , v127 + .byte W24 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Dn1 , v048 + .byte W06 + .byte Dn1 , v036 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte PEND + .byte PATT + .word mus_kazanbai_7_003 +mus_kazanbai_7_006: + .byte N06 , Cn1 , v127 + .byte W24 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v040 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte PEND + .byte Cn1 , v127 + .byte W18 + .byte Cn1 , v092 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v044 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte Dn1 , v024 + .byte W06 +mus_kazanbai_7_007: + .byte N06 , Cn1 , v127 + .byte W24 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v044 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte PEND + .byte Cn1 , v127 + .byte W18 + .byte Cn1 , v096 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v056 + .byte W06 + .byte Dn1 , v044 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte Dn1 , v020 + .byte W06 + .byte PATT + .word mus_kazanbai_7_000 + .byte N06 , Cn1 , v127 + .byte W18 + .byte Cn1 , v092 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v040 + .byte W06 + .byte Cn1 , v112 + .byte N06 , Dn1 , v036 + .byte W06 + .byte Dn1 , v056 + .byte W06 + .byte Cn1 , v127 + .byte W18 + .byte Cn1 , v096 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v040 + .byte W06 + .byte Cn1 , v112 + .byte N06 , Dn1 , v036 + .byte W06 + .byte Dn1 , v056 + .byte W06 + .byte Cn1 , v127 + .byte W18 + .byte Cn1 , v096 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v040 + .byte W06 + .byte Cn1 , v112 + .byte N06 , Dn1 , v036 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Cn1 , v127 + .byte W18 + .byte Cn1 , v096 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v040 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte Dn1 , v024 + .byte W06 + .byte PATT + .word mus_kazanbai_7_004 + .byte N06 , Cn1 , v127 + .byte W18 + .byte Cn1 , v092 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v040 + .byte W06 + .byte Dn1 , v028 + .byte W06 + .byte Dn1 , v024 + .byte W06 + .byte PATT + .word mus_kazanbai_7_005 + .byte N06 , Cn1 , v127 + .byte W18 + .byte Cn1 , v096 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v056 + .byte W06 + .byte Dn1 , v048 + .byte W06 + .byte Dn1 , v112 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Cn1 , v127 + .byte W12 + .byte Dn1 , v112 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v044 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte Dn1 , v024 + .byte W06 + .byte Cn1 , v127 + .byte W18 + .byte Cn1 , v096 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v040 + .byte W06 + .byte Dn1 , v112 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Cn1 , v127 + .byte W24 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v056 + .byte W06 + .byte Dn1 , v048 + .byte W06 + .byte Dn1 , v040 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte PATT + .word mus_kazanbai_7_005 + .byte N06 , Cn1 , v127 + .byte W18 + .byte Cn1 , v064 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 + .byte W06 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v056 + .byte W06 + .byte Dn1 , v044 + .byte W06 + .byte Dn1 , v036 + .byte W06 + .byte Dn1 , v024 + .byte W06 + .byte Cn1 , v127 + .byte W12 + .byte Dn1 , v112 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Dn1 , v048 + .byte W06 + .byte Dn1 , v036 + .byte W06 + .byte Dn1 , v112 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Cn1 , v127 + .byte W18 + .byte Dn1 , v096 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v056 + .byte W06 + .byte Dn1 , v048 + .byte W06 + .byte Dn1 , v096 + .byte W06 + .byte Dn1 , v112 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte PATT + .word mus_kazanbai_7_007 + .byte N06 , Cn1 , v127 + .byte W18 + .byte Cn1 , v096 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 + .byte W06 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v036 + .byte W06 + .byte Dn1 , v112 + .byte W06 + .byte Dn1 , v024 + .byte W06 + .byte Cn1 , v127 + .byte W12 + .byte Dn1 , v112 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v048 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W18 + .byte Cn1 , v096 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v040 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word mus_kazanbai_7_006 + .byte N06 , Cn1 , v127 + .byte W12 + .byte Dn1 , v112 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v044 + .byte W06 + .byte Dn1 , v036 + .byte W06 + .byte Dn1 , v028 + .byte W06 + .byte PATT + .word mus_kazanbai_7_001 + .byte N06 , Cn1 , v127 + .byte W18 + .byte Cn1 , v096 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v044 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 , v116 + .byte W06 + .byte Dn1 , v056 + .byte W06 + .byte GOTO + .word mus_kazanbai_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_kazanbai_8: + .byte KEYSH , mus_kazanbai_key+0 + .byte VOICE , 82 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 36*mus_kazanbai_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Fs3 , v112 + .byte W02 + .byte BEND , c_v+2 + .byte W04 + .byte N06 , Bn3 + .byte W06 +mus_kazanbai_8_B1: +mus_kazanbai_8_000: + .byte N36 , Dn4 , v112 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte W02 + .byte N22 , Cs4 + .byte W22 + .byte N12 , An3 + .byte W12 + .byte PEND +mus_kazanbai_8_001: + .byte N24 , Bn3 , v112 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N36 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte PEND + .byte 0 + .byte N12 , Dn4 + .byte W12 + .byte N06 , Cs4 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 +mus_kazanbai_8_002: + .byte N60 , Gn3 , v112 + .byte W24 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N06 , Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte PEND + .byte W24 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte W72 + .byte W24 + .byte VOL , 11*mus_kazanbai_mvl/mxv + .byte W24 + .byte MOD , 3 + .byte W24 + .byte 6 + .byte W48 + .byte 0 + .byte W12 + .byte VOL , 36*mus_kazanbai_mvl/mxv + .byte N06 , En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PATT + .word mus_kazanbai_8_000 + .byte N24 , Gn4 , v112 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N06 , Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N12 , Dn4 + .byte W12 + .byte N06 , Cs4 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte Gn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte W72 + .byte W24 + .byte VOL , 13*mus_kazanbai_mvl/mxv + .byte W48 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte W12 + .byte VOL , 36*mus_kazanbai_mvl/mxv + .byte N06 , An3 + .byte W06 + .byte As3 + .byte W06 + .byte N24 , Bn3 + .byte W24 + .byte N06 , Cs4 + .byte W12 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Bn3 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte N06 , Dn4 + .byte W12 + .byte N24 , En4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N03 , Gn4 + .byte W03 + .byte N09 , Fs4 + .byte W09 + .byte N06 , Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N12 , Bn4 + .byte W12 + .byte N06 , Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , Cs4 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte N06 , Bn3 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte N06 , Dn4 + .byte W12 + .byte N03 , Fn4 + .byte W03 + .byte N21 , En4 + .byte W21 + .byte N06 , Cs4 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte N06 , En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N03 , Gn4 + .byte W03 + .byte N09 , Fs4 + .byte W09 + .byte N12 , Fn4 + .byte W12 + .byte N06 , Fs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N12 , As4 + .byte W12 + .byte N06 , Fs4 + .byte W12 + .byte N12 , En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte N24 , Bn3 + .byte W24 + .byte N06 , Cs4 + .byte W09 + .byte N03 , Ds4 + .byte W03 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Bn3 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte N06 , Dn4 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte N06 , Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N03 , Gn4 + .byte W03 + .byte N09 , Fs4 + .byte W09 + .byte N06 , Fn4 + .byte W12 + .byte Fs4 + .byte W09 + .byte N03 , An4 , v080 + .byte W03 + .byte N12 , Gs4 , v112 + .byte W12 + .byte N06 , Fs4 + .byte W12 + .byte N12 , En4 + .byte W12 + .byte N18 , Bn3 + .byte W18 + .byte N06 , Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte N24 , Gn4 + .byte W24 + .byte N06 , An4 + .byte W12 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Fs4 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte N06 , Bn3 + .byte W12 + .byte N24 , Cs4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Dn4 + .byte W12 + .byte N03 , Fn4 + .byte W03 + .byte N06 , En4 + .byte W09 + .byte N12 + .byte W12 + .byte N06 , Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte N03 , Fs4 + .byte W03 + .byte N21 , Gn4 + .byte W21 + .byte N06 , Fs4 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte N06 , Fs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N03 , Ds4 , v096 + .byte W03 + .byte N32 , Dn4 , v112 + .byte W09 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte W02 + .byte N22 , Cs4 + .byte W22 + .byte N12 , An3 + .byte W12 + .byte PATT + .word mus_kazanbai_8_001 + .byte MOD , 0 + .byte N03 , Ds4 , v096 + .byte W03 + .byte N09 , Dn4 , v112 + .byte W09 + .byte N06 , Cs4 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte PATT + .word mus_kazanbai_8_002 + .byte N72 , An3 , v112 + .byte W24 + .byte MOD , 6 + .byte W48 + .byte 0 + .byte W72 + .byte W24 + .byte VOL , 9*mus_kazanbai_mvl/mxv + .byte W48 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte W12 + .byte VOL , 36*mus_kazanbai_mvl/mxv + .byte N06 , En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N03 , Cs4 , v092 + .byte W03 + .byte N32 , Dn4 , v112 + .byte W09 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte W02 + .byte N22 , Cs4 + .byte W22 + .byte N12 , An3 + .byte W12 + .byte N03 , Gs4 , v088 + .byte W03 + .byte N21 , Gn4 , v112 + .byte W21 + .byte N12 , Dn3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N06 , Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N03 , Cs4 , v096 + .byte W03 + .byte N09 , Dn4 , v112 + .byte W09 + .byte N06 , Cs4 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N03 , Gs4 , v092 + .byte W03 + .byte N09 , Gn4 , v112 + .byte W09 + .byte N12 , Dn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N03 , As3 , v096 + .byte W03 + .byte N68 , An3 , v112 + .byte W21 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte W72 + .byte W24 + .byte VOL , 13*mus_kazanbai_mvl/mxv + .byte MOD , 5 + .byte W36 + .byte VOL , 42*mus_kazanbai_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte W24 + .byte VOL , 13*mus_kazanbai_mvl/mxv + .byte MOD , 6 + .byte W24 + .byte 0 + .byte W12 + .byte VOL , 36*mus_kazanbai_mvl/mxv + .byte N06 , Fs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte GOTO + .word mus_kazanbai_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_kazanbai_9: + .byte KEYSH , mus_kazanbai_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 44*mus_kazanbai_mvl/mxv + .byte PAN , c_v-19 + .byte N06 , Bn2 , v112 + .byte W06 + .byte Dn3 + .byte W06 +mus_kazanbai_9_B1: + .byte VOL , 46*mus_kazanbai_mvl/mxv + .byte N36 , Gn3 , v112 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte W03 + .byte N24 , Fs3 + .byte W24 + .byte N09 , Dn3 + .byte W09 +mus_kazanbai_9_000: + .byte N24 , Gn3 , v112 + .byte W24 + .byte W03 + .byte N09 , Gn2 + .byte W09 + .byte N36 , Bn2 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte PEND +mus_kazanbai_9_001: + .byte VOICE , 24 + .byte MOD , 0 + .byte N12 , Gn3 , v112 + .byte W15 + .byte N06 , Fs3 + .byte W12 + .byte N09 , Dn3 + .byte W09 + .byte N24 , Fs3 + .byte W24 + .byte W03 + .byte N09 , Gn2 + .byte W09 + .byte PEND +mus_kazanbai_9_002: + .byte N60 , Bn2 , v112 + .byte W24 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N06 , Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte PEND +mus_kazanbai_9_003: + .byte W03 + .byte N68 , Dn3 , v112 + .byte W21 + .byte MOD , 7 + .byte W48 + .byte PEND +mus_kazanbai_9_004: + .byte MOD , 0 + .byte W48 + .byte VOICE , 60 + .byte VOL , 57*mus_kazanbai_mvl/mxv + .byte W12 + .byte N06 , Gn2 , v112 + .byte W12 + .byte PEND + .byte TIE , En3 + .byte W24 + .byte VOL , 54*mus_kazanbai_mvl/mxv + .byte W02 + .byte 51*mus_kazanbai_mvl/mxv + .byte W03 + .byte 50*mus_kazanbai_mvl/mxv + .byte W03 + .byte 48*mus_kazanbai_mvl/mxv + .byte W04 + .byte 44*mus_kazanbai_mvl/mxv + .byte W05 + .byte 42*mus_kazanbai_mvl/mxv + .byte W03 + .byte 40*mus_kazanbai_mvl/mxv + .byte W04 + .byte MOD , 3 + .byte W02 + .byte VOL , 37*mus_kazanbai_mvl/mxv + .byte W03 + .byte 35*mus_kazanbai_mvl/mxv + .byte W07 + .byte 31*mus_kazanbai_mvl/mxv + .byte W02 + .byte 31*mus_kazanbai_mvl/mxv + .byte W03 + .byte 27*mus_kazanbai_mvl/mxv + .byte W03 + .byte 26*mus_kazanbai_mvl/mxv + .byte W04 + .byte 24*mus_kazanbai_mvl/mxv + .byte MOD , 6 + .byte W02 + .byte VOL , 22*mus_kazanbai_mvl/mxv + .byte W03 + .byte 21*mus_kazanbai_mvl/mxv + .byte W03 + .byte 19*mus_kazanbai_mvl/mxv + .byte W04 + .byte 18*mus_kazanbai_mvl/mxv + .byte W02 + .byte 15*mus_kazanbai_mvl/mxv + .byte W03 + .byte 15*mus_kazanbai_mvl/mxv + .byte W03 + .byte 11*mus_kazanbai_mvl/mxv + .byte W04 + .byte 10*mus_kazanbai_mvl/mxv + .byte W02 + .byte 9*mus_kazanbai_mvl/mxv + .byte W03 + .byte 7*mus_kazanbai_mvl/mxv + .byte W03 + .byte 5*mus_kazanbai_mvl/mxv + .byte W06 + .byte 3*mus_kazanbai_mvl/mxv + .byte W06 + .byte 1*mus_kazanbai_mvl/mxv + .byte W04 + .byte EOT + .byte MOD , 0 + .byte W12 + .byte VOICE , 24 + .byte VOL , 45*mus_kazanbai_mvl/mxv + .byte N06 , An3 + .byte W06 + .byte Gs3 + .byte W06 +mus_kazanbai_9_005: + .byte N36 , Gn3 , v112 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte W03 + .byte N24 , Fs3 + .byte W24 + .byte N09 , Dn3 + .byte W09 + .byte PEND +mus_kazanbai_9_006: + .byte N24 , Dn4 , v112 + .byte W24 + .byte W03 + .byte N09 , Gn2 + .byte W09 + .byte N24 , Bn2 + .byte W24 + .byte N06 , Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte PEND +mus_kazanbai_9_007: + .byte N12 , Gn3 , v112 + .byte W15 + .byte N06 , Fs3 + .byte W12 + .byte N09 , Dn3 + .byte W09 + .byte N24 , Fs3 + .byte W24 + .byte W03 + .byte N09 , Gn2 + .byte W09 + .byte PEND +mus_kazanbai_9_008: + .byte N12 , Dn4 , v112 + .byte W15 + .byte N09 , Gn3 + .byte W09 + .byte N12 , Dn3 + .byte W15 + .byte N09 , Fs3 + .byte W09 + .byte N12 , Gn2 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte PEND + .byte PATT + .word mus_kazanbai_9_003 + .byte PATT + .word mus_kazanbai_9_004 + .byte TIE , En3 , v112 + .byte W24 + .byte VOL , 54*mus_kazanbai_mvl/mxv + .byte W02 + .byte 51*mus_kazanbai_mvl/mxv + .byte W03 + .byte 50*mus_kazanbai_mvl/mxv + .byte W03 + .byte 48*mus_kazanbai_mvl/mxv + .byte W04 + .byte 44*mus_kazanbai_mvl/mxv + .byte W05 + .byte 42*mus_kazanbai_mvl/mxv + .byte W03 + .byte 40*mus_kazanbai_mvl/mxv + .byte W06 + .byte 37*mus_kazanbai_mvl/mxv + .byte W03 + .byte 35*mus_kazanbai_mvl/mxv + .byte W07 + .byte 31*mus_kazanbai_mvl/mxv + .byte W02 + .byte 31*mus_kazanbai_mvl/mxv + .byte W03 + .byte 27*mus_kazanbai_mvl/mxv + .byte W03 + .byte 26*mus_kazanbai_mvl/mxv + .byte W04 + .byte 24*mus_kazanbai_mvl/mxv + .byte MOD , 7 + .byte W02 + .byte VOL , 22*mus_kazanbai_mvl/mxv + .byte W03 + .byte 21*mus_kazanbai_mvl/mxv + .byte W03 + .byte 19*mus_kazanbai_mvl/mxv + .byte W04 + .byte 18*mus_kazanbai_mvl/mxv + .byte W02 + .byte 15*mus_kazanbai_mvl/mxv + .byte W03 + .byte 15*mus_kazanbai_mvl/mxv + .byte W03 + .byte 11*mus_kazanbai_mvl/mxv + .byte W04 + .byte 10*mus_kazanbai_mvl/mxv + .byte W02 + .byte 9*mus_kazanbai_mvl/mxv + .byte W03 + .byte 7*mus_kazanbai_mvl/mxv + .byte W03 + .byte 5*mus_kazanbai_mvl/mxv + .byte W06 + .byte 3*mus_kazanbai_mvl/mxv + .byte W06 + .byte 1*mus_kazanbai_mvl/mxv + .byte W04 + .byte EOT + .byte MOD , 0 + .byte W12 + .byte VOL , 68*mus_kazanbai_mvl/mxv + .byte W12 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W54 + .byte 36*mus_kazanbai_mvl/mxv + .byte W06 + .byte VOICE , 60 + .byte N06 , Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte PATT + .word mus_kazanbai_9_005 + .byte PATT + .word mus_kazanbai_9_000 + .byte PATT + .word mus_kazanbai_9_001 + .byte PATT + .word mus_kazanbai_9_002 + .byte W03 + .byte N68 , Dn3 , v112 + .byte W21 + .byte MOD , 6 + .byte W48 + .byte PATT + .word mus_kazanbai_9_004 + .byte N12 , En3 , v112 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte VOL , 54*mus_kazanbai_mvl/mxv + .byte N96 , En3 + .byte W02 + .byte VOL , 51*mus_kazanbai_mvl/mxv + .byte W03 + .byte 50*mus_kazanbai_mvl/mxv + .byte W03 + .byte 48*mus_kazanbai_mvl/mxv + .byte W04 + .byte 44*mus_kazanbai_mvl/mxv + .byte W05 + .byte 42*mus_kazanbai_mvl/mxv + .byte W03 + .byte 40*mus_kazanbai_mvl/mxv + .byte W06 + .byte 37*mus_kazanbai_mvl/mxv + .byte W03 + .byte 35*mus_kazanbai_mvl/mxv + .byte W07 + .byte 31*mus_kazanbai_mvl/mxv + .byte W02 + .byte 31*mus_kazanbai_mvl/mxv + .byte W03 + .byte 27*mus_kazanbai_mvl/mxv + .byte W03 + .byte 26*mus_kazanbai_mvl/mxv + .byte W04 + .byte 24*mus_kazanbai_mvl/mxv + .byte MOD , 7 + .byte W02 + .byte VOL , 22*mus_kazanbai_mvl/mxv + .byte W03 + .byte 21*mus_kazanbai_mvl/mxv + .byte W03 + .byte 19*mus_kazanbai_mvl/mxv + .byte W04 + .byte 18*mus_kazanbai_mvl/mxv + .byte W02 + .byte 15*mus_kazanbai_mvl/mxv + .byte W03 + .byte 15*mus_kazanbai_mvl/mxv + .byte W03 + .byte 11*mus_kazanbai_mvl/mxv + .byte W04 + .byte 10*mus_kazanbai_mvl/mxv + .byte W02 + .byte 9*mus_kazanbai_mvl/mxv + .byte W03 + .byte 7*mus_kazanbai_mvl/mxv + .byte W03 + .byte 5*mus_kazanbai_mvl/mxv + .byte W06 + .byte 3*mus_kazanbai_mvl/mxv + .byte W06 + .byte 1*mus_kazanbai_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W12 + .byte VOICE , 60 + .byte VOL , 38*mus_kazanbai_mvl/mxv + .byte N06 , An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte PATT + .word mus_kazanbai_9_005 + .byte PATT + .word mus_kazanbai_9_006 + .byte PATT + .word mus_kazanbai_9_007 + .byte PATT + .word mus_kazanbai_9_008 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N68 , Dn3 + .byte W21 + .byte MOD , 7 + .byte W48 + .byte PATT + .word mus_kazanbai_9_004 + .byte N60 , En3 , v112 + .byte W24 + .byte VOL , 54*mus_kazanbai_mvl/mxv + .byte MOD , 5 + .byte W02 + .byte VOL , 51*mus_kazanbai_mvl/mxv + .byte W03 + .byte 50*mus_kazanbai_mvl/mxv + .byte W03 + .byte 48*mus_kazanbai_mvl/mxv + .byte W04 + .byte 44*mus_kazanbai_mvl/mxv + .byte W05 + .byte 42*mus_kazanbai_mvl/mxv + .byte W03 + .byte 40*mus_kazanbai_mvl/mxv + .byte W06 + .byte 37*mus_kazanbai_mvl/mxv + .byte W03 + .byte 35*mus_kazanbai_mvl/mxv + .byte W07 + .byte 63*mus_kazanbai_mvl/mxv + .byte MOD , 0 + .byte N06 , Gn2 + .byte W12 + .byte N48 , En3 + .byte W21 + .byte VOL , 59*mus_kazanbai_mvl/mxv + .byte W03 + .byte 50*mus_kazanbai_mvl/mxv + .byte MOD , 6 + .byte W02 + .byte VOL , 46*mus_kazanbai_mvl/mxv + .byte W03 + .byte 36*mus_kazanbai_mvl/mxv + .byte W03 + .byte 34*mus_kazanbai_mvl/mxv + .byte W04 + .byte 27*mus_kazanbai_mvl/mxv + .byte W02 + .byte 23*mus_kazanbai_mvl/mxv + .byte W03 + .byte 19*mus_kazanbai_mvl/mxv + .byte W03 + .byte 17*mus_kazanbai_mvl/mxv + .byte W04 + .byte 15*mus_kazanbai_mvl/mxv + .byte MOD , 0 + .byte W05 + .byte VOL , 13*mus_kazanbai_mvl/mxv + .byte W07 + .byte VOICE , 24 + .byte VOL , 68*mus_kazanbai_mvl/mxv + .byte N06 , Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte GOTO + .word mus_kazanbai_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_kazanbai: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_kazanbai_pri @ Priority + .byte mus_kazanbai_rev @ Reverb. + + .word mus_kazanbai_grp + + .word mus_kazanbai_1 + .word mus_kazanbai_2 + .word mus_kazanbai_3 + .word mus_kazanbai_4 + .word mus_kazanbai_5 + .word mus_kazanbai_6 + .word mus_kazanbai_7 + .word mus_kazanbai_8 + .word mus_kazanbai_9 + + .end diff --git a/sound/songs/mus_m_boat.s b/sound/songs/mus_m_boat.s new file mode 100644 index 0000000000..807c1d2d4f --- /dev/null +++ b/sound/songs/mus_m_boat.s @@ -0,0 +1,2557 @@ + .include "MPlayDef.s" + + .equ mus_m_boat_grp, voicegroup_868C474 + .equ mus_m_boat_pri, 0 + .equ mus_m_boat_rev, reverb_set+50 + .equ mus_m_boat_mvl, 127 + .equ mus_m_boat_key, 0 + .equ mus_m_boat_tbs, 1 + .equ mus_m_boat_exg, 0 + .equ mus_m_boat_cmp, 1 + + .section .rodata + .global mus_m_boat + .align 2 + +@********************** Track 1 **********************@ + +mus_m_boat_1: + .byte KEYSH , mus_m_boat_key+0 + .byte TEMPO , 156*mus_m_boat_tbs/2 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte W12 + .byte VOL , 9*mus_m_boat_mvl/mxv + .byte TIE , Gn5 , v112 + .byte W96 + .byte VOL , 27*mus_m_boat_mvl/mxv + .byte W96 + .byte 43*mus_m_boat_mvl/mxv + .byte W48 + .byte EOT + .byte N08 , Gn4 + .byte W08 + .byte Gn4 , v088 + .byte W08 + .byte Gn4 , v072 + .byte W08 + .byte Gn4 , v056 + .byte W08 + .byte Gn4 , v036 + .byte W08 + .byte Gn4 , v028 + .byte W08 + .byte VOL , 31*mus_m_boat_mvl/mxv + .byte N09 , Cn4 , v084 + .byte W36 + .byte N03 , En3 , v064 + .byte W06 + .byte En3 , v076 + .byte W06 + .byte N06 , Cn4 , v096 + .byte W24 + .byte N09 , Cn5 , v127 + .byte W12 + .byte N12 , Gn5 , v112 + .byte W12 +mus_m_boat_1_B1: + .byte VOICE , 127 + .byte PAN , c_v+63 + .byte VOL , 35*mus_m_boat_mvl/mxv + .byte N03 , En5 , v112 + .byte W06 + .byte En5 , v060 + .byte W06 + .byte VOICE , 126 + .byte N12 , Gn5 , v112 + .byte W12 + .byte VOICE , 127 + .byte N03 , En5 + .byte W12 + .byte En5 , v064 + .byte W12 + .byte En5 , v112 + .byte W12 + .byte En5 , v068 + .byte W12 + .byte En5 , v112 + .byte W06 + .byte En5 , v072 + .byte W06 + .byte En5 , v100 + .byte W06 + .byte En5 , v064 + .byte W06 +mus_m_boat_1_000: + .byte N03 , En5 , v112 + .byte W06 + .byte En5 , v060 + .byte W06 + .byte VOICE , 126 + .byte N12 , Gn5 , v112 + .byte W12 + .byte VOICE , 127 + .byte N03 , En5 + .byte W12 + .byte En5 , v064 + .byte W12 + .byte En5 , v112 + .byte W12 + .byte En5 , v068 + .byte W12 + .byte En5 , v112 + .byte W06 + .byte En5 , v072 + .byte W06 + .byte VOICE , 126 + .byte N12 , Gn5 , v100 + .byte W12 + .byte PEND + .byte VOICE , 127 + .byte N03 , En5 , v112 + .byte W06 + .byte En5 , v060 + .byte W06 + .byte VOICE , 126 + .byte N12 , Gn5 , v112 + .byte W12 + .byte VOICE , 127 + .byte N03 , En5 + .byte W12 + .byte VOICE , 126 + .byte N12 , Gn5 , v104 + .byte W12 + .byte VOICE , 127 + .byte N03 , En5 , v112 + .byte W12 + .byte En5 , v068 + .byte W12 + .byte En5 , v112 + .byte W06 + .byte En5 , v072 + .byte W06 + .byte VOICE , 126 + .byte N12 , Gn5 , v100 + .byte W12 + .byte VOICE , 127 + .byte N03 , En5 , v112 + .byte W06 + .byte En5 , v060 + .byte W06 + .byte VOICE , 126 + .byte N12 , Gn5 , v112 + .byte W12 + .byte VOICE , 127 + .byte N03 , En5 + .byte W12 + .byte En5 , v064 + .byte W12 + .byte En5 , v112 + .byte W12 + .byte En5 , v068 + .byte W12 + .byte En5 , v112 + .byte W06 + .byte En5 , v072 + .byte W06 + .byte VOICE , 126 + .byte N12 , Gn5 , v100 + .byte W12 +mus_m_boat_1_001: + .byte VOICE , 127 + .byte N03 , En5 , v112 + .byte W06 + .byte En5 , v060 + .byte W06 + .byte VOICE , 126 + .byte N12 , Gn5 , v112 + .byte W12 + .byte VOICE , 127 + .byte N03 , En5 + .byte W12 + .byte En5 , v064 + .byte W12 + .byte En5 , v112 + .byte W12 + .byte En5 , v068 + .byte W12 + .byte En5 , v112 + .byte W06 + .byte En5 , v072 + .byte W06 + .byte En5 , v100 + .byte W06 + .byte En5 , v064 + .byte W06 + .byte PEND + .byte PATT + .word mus_m_boat_1_000 + .byte PATT + .word mus_m_boat_1_001 + .byte VOICE , 127 + .byte N03 , En5 , v112 + .byte W06 + .byte En5 , v060 + .byte W06 + .byte VOICE , 126 + .byte N12 , Gn5 , v112 + .byte W12 + .byte VOICE , 127 + .byte N03 , En5 + .byte W12 + .byte VOICE , 126 + .byte N12 , Gn5 + .byte W12 + .byte VOICE , 127 + .byte N03 , En5 + .byte W12 + .byte En5 , v068 + .byte W12 + .byte En5 , v112 + .byte W06 + .byte En5 , v072 + .byte W06 + .byte VOICE , 126 + .byte N12 , Gn5 , v108 + .byte W12 + .byte PATT + .word mus_m_boat_1_001 + .byte PATT + .word mus_m_boat_1_000 + .byte PATT + .word mus_m_boat_1_001 + .byte N03 , En5 , v112 + .byte W06 + .byte En5 , v060 + .byte W06 + .byte VOICE , 126 + .byte N12 , Gn5 , v112 + .byte W12 + .byte VOICE , 127 + .byte N03 , En5 + .byte W12 + .byte En5 , v064 + .byte W12 + .byte En5 , v112 + .byte W12 + .byte VOICE , 126 + .byte N12 , Gn5 + .byte W12 + .byte VOICE , 127 + .byte N03 , En5 + .byte W06 + .byte En5 , v072 + .byte W06 + .byte VOICE , 126 + .byte N12 , Gn5 , v100 + .byte W12 + .byte PATT + .word mus_m_boat_1_001 + .byte PATT + .word mus_m_boat_1_000 + .byte PATT + .word mus_m_boat_1_001 + .byte PATT + .word mus_m_boat_1_000 + .byte GOTO + .word mus_m_boat_1_B1 + .byte W96 + .byte FINE + +@********************** Track 2 **********************@ + +mus_m_boat_2: + .byte KEYSH , mus_m_boat_key+0 + .byte VOICE , 46 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+3 + .byte VOL , 69*mus_m_boat_mvl/mxv + .byte W12 + .byte N06 , Gs3 , v112 + .byte W06 + .byte Gs3 , v036 + .byte W06 + .byte Bn3 , v112 + .byte W06 + .byte Bn3 , v036 + .byte W06 + .byte Ds4 , v112 + .byte W06 + .byte Ds4 , v036 + .byte W06 + .byte Gs4 , v112 + .byte W06 + .byte Gs4 , v036 + .byte W54 + .byte As3 , v112 + .byte W06 + .byte As3 , v036 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v036 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v036 + .byte W06 + .byte As4 , v112 + .byte W12 + .byte N04 + .byte W04 + .byte As4 , v036 + .byte W04 + .byte Cs5 , v112 + .byte W04 + .byte Cs5 , v036 + .byte W04 + .byte As4 , v112 + .byte W04 + .byte As4 , v036 + .byte W04 + .byte Fn4 , v112 + .byte W04 + .byte Fn4 , v036 + .byte W04 + .byte As4 , v112 + .byte W04 + .byte As4 , v036 + .byte W04 + .byte Fn4 , v112 + .byte W04 + .byte Fn4 , v036 + .byte W04 + .byte N06 , Bn3 , v112 + .byte W06 + .byte Bn3 , v036 + .byte W06 + .byte Ds4 , v112 + .byte W06 + .byte Ds4 , v036 + .byte W06 + .byte Fs4 , v112 + .byte W06 + .byte Fs4 , v036 + .byte W06 + .byte Bn4 , v112 + .byte W06 + .byte Bn4 , v036 + .byte W06 + .byte N04 , Cn5 , v112 + .byte W04 + .byte Cn5 , v036 + .byte W04 + .byte Gs4 , v112 + .byte W04 + .byte Gs4 , v036 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v036 + .byte W04 + .byte Ds4 , v112 + .byte W04 + .byte Ds4 , v036 + .byte W04 + .byte Cn4 , v112 + .byte W04 + .byte Cn4 , v036 + .byte W04 + .byte Gs3 , v112 + .byte W04 + .byte Gs3 , v036 + .byte W04 + .byte N06 , Gs2 , v112 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 +mus_m_boat_2_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_m_boat_2_B1 + .byte W96 + .byte FINE + +@********************** Track 3 **********************@ + +mus_m_boat_3: + .byte KEYSH , mus_m_boat_key+0 + .byte VOICE , 35 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 86*mus_m_boat_mvl/mxv + .byte N03 , Cn1 , v112 + .byte W06 + .byte N03 + .byte W06 +mus_m_boat_3_000: + .byte N84 , Cs1 , v127 + .byte W84 + .byte N03 , Cn1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte PEND + .byte PATT + .word mus_m_boat_3_000 + .byte N36 , Cs1 , v127 + .byte W36 + .byte N03 , Gs0 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N18 + .byte W24 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Cs1 , v127 + .byte W12 + .byte N06 , Cs1 , v036 + .byte W12 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v036 + .byte W06 + .byte N02 , Cs1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cs2 + .byte W03 + .byte N06 , Cs2 , v036 + .byte W09 + .byte Cs1 , v112 + .byte W06 + .byte Cs1 , v036 + .byte W06 + .byte N03 , Cs2 , v112 + .byte W03 + .byte N06 , Cs2 , v036 + .byte W09 +mus_m_boat_3_B1: +mus_m_boat_3_001: + .byte N06 , Bn0 , v127 + .byte W06 + .byte Bn0 , v036 + .byte W06 + .byte N03 , Bn1 , v112 + .byte W03 + .byte N06 , Bn1 , v036 + .byte W09 + .byte Bn0 , v112 + .byte W06 + .byte Bn0 , v036 + .byte W06 + .byte N03 , Bn1 , v112 + .byte W03 + .byte N06 , Bn1 , v036 + .byte W09 + .byte N03 , Bn0 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte Bn1 + .byte W03 + .byte N06 , Bn1 , v036 + .byte W09 + .byte Bn0 , v112 + .byte W06 + .byte Bn0 , v036 + .byte W06 + .byte N03 , Bn1 , v112 + .byte W06 + .byte Fs1 + .byte W06 + .byte PEND +mus_m_boat_3_002: + .byte N06 , Cs1 , v127 + .byte W06 + .byte Cs1 , v036 + .byte W06 + .byte N03 , Cs2 , v112 + .byte W03 + .byte N06 , Cs2 , v036 + .byte W09 + .byte Gs1 , v112 + .byte W06 + .byte Gs1 , v036 + .byte W06 + .byte N03 , Cs2 , v112 + .byte W03 + .byte N06 , Cs2 , v036 + .byte W09 + .byte N03 , Cs1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte Cs2 + .byte W03 + .byte N06 , Cs2 , v036 + .byte W09 + .byte Gs1 , v112 + .byte W06 + .byte Gs1 , v036 + .byte W06 + .byte N03 , Cs2 , v112 + .byte W03 + .byte N06 , Cs2 , v036 + .byte W09 + .byte PEND +mus_m_boat_3_003: + .byte N06 , As0 , v127 + .byte W06 + .byte As0 , v036 + .byte W06 + .byte N03 , As1 , v112 + .byte W03 + .byte N06 , As1 , v036 + .byte W09 + .byte As0 , v112 + .byte W06 + .byte As0 , v036 + .byte W06 + .byte N03 , As1 , v112 + .byte W03 + .byte N06 , As1 , v036 + .byte W09 + .byte As0 , v112 + .byte W06 + .byte As0 , v036 + .byte W06 + .byte N03 , As1 , v112 + .byte W03 + .byte N06 , As1 , v036 + .byte W09 + .byte Fn1 , v112 + .byte W06 + .byte Fn1 , v036 + .byte W06 + .byte N03 , As1 , v112 + .byte W03 + .byte N06 , As1 , v036 + .byte W09 + .byte PEND +mus_m_boat_3_004: + .byte N06 , Ds1 , v127 + .byte W06 + .byte Ds1 , v036 + .byte W06 + .byte N03 , Ds2 , v112 + .byte W03 + .byte N06 , Ds2 , v036 + .byte W09 + .byte Cs1 , v112 + .byte W06 + .byte Cs1 , v036 + .byte W06 + .byte N03 , Cs2 , v112 + .byte W03 + .byte N06 , Cs2 , v036 + .byte W09 + .byte Bn0 , v112 + .byte W06 + .byte Bn0 , v036 + .byte W06 + .byte N03 , Bn1 , v112 + .byte W03 + .byte N06 , Bn1 , v036 + .byte W09 + .byte As0 , v112 + .byte W06 + .byte As0 , v036 + .byte W06 + .byte N03 , As1 , v112 + .byte W03 + .byte N06 , As1 , v036 + .byte W09 + .byte PEND +mus_m_boat_3_005: + .byte N06 , Gs0 , v127 + .byte W06 + .byte Gs0 , v036 + .byte W06 + .byte N03 , Gs1 , v112 + .byte W03 + .byte N06 , Gs1 , v036 + .byte W09 + .byte Ds1 , v112 + .byte W06 + .byte Ds1 , v036 + .byte W06 + .byte N03 , Gs1 , v112 + .byte W03 + .byte N06 , Gs1 , v036 + .byte W09 + .byte N03 , Gs0 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte Gs1 + .byte W03 + .byte N06 , Gs1 , v036 + .byte W09 + .byte Ds1 , v112 + .byte W06 + .byte Ds1 , v036 + .byte W06 + .byte N03 , Gs1 , v112 + .byte W03 + .byte N06 , Gs1 , v036 + .byte W09 + .byte PEND + .byte Cs1 , v127 + .byte W06 + .byte Cs1 , v036 + .byte W06 + .byte N03 , Cs2 , v112 + .byte W03 + .byte N06 , Cs2 , v036 + .byte W09 + .byte Gs1 , v112 + .byte W06 + .byte Gs1 , v036 + .byte W06 + .byte N03 , Cs2 , v112 + .byte W03 + .byte N06 , Cs2 , v036 + .byte W09 + .byte N03 , Cs1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte Cs2 + .byte W03 + .byte N06 , Cs2 , v036 + .byte W09 + .byte Cs1 , v112 + .byte W06 + .byte Cs1 , v036 + .byte W06 + .byte N03 , Cs2 , v112 + .byte W03 + .byte N06 , Cs2 , v036 + .byte W09 + .byte As0 , v127 + .byte W06 + .byte As0 , v036 + .byte W06 + .byte N03 , As1 , v112 + .byte W03 + .byte N06 , As1 , v036 + .byte W09 + .byte Fn1 , v112 + .byte W06 + .byte Fn1 , v036 + .byte W06 + .byte N03 , As1 , v112 + .byte W03 + .byte N06 , As1 , v036 + .byte W09 + .byte N03 , As0 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte As1 + .byte W03 + .byte N06 , As1 , v036 + .byte W09 + .byte Fn1 , v112 + .byte W06 + .byte Fn1 , v036 + .byte W06 + .byte N03 , As1 , v112 + .byte W03 + .byte N06 , As1 , v036 + .byte W09 + .byte Ds1 , v127 + .byte W06 + .byte Ds1 , v036 + .byte W06 + .byte N03 , Ds2 , v112 + .byte W03 + .byte N06 , Ds2 , v036 + .byte W09 + .byte Cs1 , v112 + .byte W06 + .byte Cs1 , v036 + .byte W06 + .byte N03 , Cs2 , v112 + .byte W03 + .byte N06 , Cs2 , v036 + .byte W09 + .byte N03 , Bn0 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte Bn1 + .byte W03 + .byte N06 , Bn1 , v036 + .byte W09 + .byte As0 , v112 + .byte W06 + .byte As0 , v036 + .byte W06 + .byte N03 , As1 , v112 + .byte W03 + .byte N06 , As1 , v036 + .byte W09 + .byte PATT + .word mus_m_boat_3_001 + .byte PATT + .word mus_m_boat_3_002 + .byte PATT + .word mus_m_boat_3_003 + .byte PATT + .word mus_m_boat_3_004 + .byte PATT + .word mus_m_boat_3_005 + .byte N06 , Gs0 , v127 + .byte W06 + .byte Gs0 , v036 + .byte W06 + .byte N03 , Gs1 , v112 + .byte W03 + .byte N06 , Gs1 , v036 + .byte W09 + .byte Ds1 , v112 + .byte W06 + .byte Ds1 , v036 + .byte W06 + .byte N03 , Gs1 , v112 + .byte W03 + .byte N06 , Gs1 , v036 + .byte W09 + .byte N03 , Gs0 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte Gs1 + .byte W03 + .byte N06 , Gs1 , v036 + .byte W09 + .byte Cn1 , v112 + .byte W06 + .byte Cn1 , v036 + .byte W06 + .byte N03 , Gs1 , v112 + .byte W03 + .byte N06 , Gs1 , v036 + .byte W09 + .byte PATT + .word mus_m_boat_3_002 + .byte N06 , Cs2 , v127 + .byte W06 + .byte Cs2 , v036 + .byte W18 + .byte N03 , Cs1 , v112 + .byte W03 + .byte N06 , Cs1 , v036 + .byte W21 + .byte N03 , Gs1 , v112 + .byte W03 + .byte N06 , Gs1 , v036 + .byte W21 + .byte Fn1 , v112 + .byte W06 + .byte Fn1 , v036 + .byte W12 + .byte As0 , v112 + .byte W06 + .byte GOTO + .word mus_m_boat_3_B1 + .byte W96 + .byte FINE + +@********************** Track 4 **********************@ + +mus_m_boat_4: + .byte KEYSH , mus_m_boat_key+0 + .byte VOICE , 17 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 32*mus_m_boat_mvl/mxv + .byte N03 , Gn4 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N84 , Gs4 + .byte W84 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N84 , As4 + .byte W84 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N36 , Bn4 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N36 , Cn5 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N32 , Cs5 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 + .byte W24 + .byte N06 , Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 + .byte W06 +mus_m_boat_4_B1: + .byte N36 , Ds5 , v112 + .byte W36 + .byte N12 , Fs4 + .byte W12 + .byte N06 , Bn4 + .byte W12 + .byte N36 , Ds5 + .byte W36 +mus_m_boat_4_000: + .byte N36 , Fn5 , v112 + .byte W36 + .byte N06 , Fs5 + .byte W12 + .byte N03 , Bn5 , v080 + .byte W03 + .byte N09 , As5 , v112 + .byte W09 + .byte N36 , Gs5 + .byte W36 + .byte PEND + .byte N96 , Cs5 + .byte W96 + .byte N36 , Ds5 + .byte W36 + .byte N12 , Fn5 + .byte W12 + .byte N03 , Gn5 , v072 + .byte W03 + .byte N09 , Fs5 , v112 + .byte W09 + .byte N36 , Ds5 + .byte W36 + .byte Bn4 + .byte W36 + .byte N12 , Ds4 + .byte W12 + .byte N06 , Fs4 + .byte W12 + .byte N36 , Bn4 + .byte W36 + .byte Cs5 + .byte W36 + .byte N06 , Ds5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N24 , Ds5 + .byte W24 + .byte N12 , Cs5 + .byte W12 + .byte N84 , As4 + .byte W84 + .byte N03 , Bn4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Cs5 + .byte W03 + .byte Dn5 + .byte W03 + .byte N36 , Ds5 + .byte W36 + .byte N12 , Cs5 + .byte W12 + .byte N06 , Bn4 + .byte W12 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W12 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte N03 , Cs5 + .byte W03 + .byte Dn5 + .byte W03 + .byte N30 , Ds5 + .byte W30 + .byte N12 , Fs4 + .byte W12 + .byte N06 , Bn4 + .byte W12 + .byte N36 , Ds5 + .byte W36 + .byte PATT + .word mus_m_boat_4_000 + .byte N36 , As5 , v112 + .byte W36 + .byte N06 , Fn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N24 , Gs5 + .byte W24 + .byte N12 , An5 + .byte W12 + .byte N24 , As5 , v096 + .byte W24 + .byte Gs5 , v092 + .byte W24 + .byte N12 , Gn5 , v088 + .byte W12 + .byte N06 , Gs5 + .byte W06 + .byte Gn5 , v080 + .byte W06 + .byte N24 , Ds5 , v088 + .byte W24 + .byte N36 , Bn5 , v096 + .byte W36 + .byte N12 , Gs5 + .byte W12 + .byte N06 , As5 + .byte W12 + .byte N36 , Bn5 , v112 + .byte W36 + .byte Cn6 , v096 + .byte W36 + .byte N06 , Gs5 , v112 + .byte W12 + .byte Ds6 , v092 + .byte W18 + .byte Cs6 , v088 + .byte W18 + .byte N12 , Cn6 + .byte W12 + .byte N32 , Cs6 , v092 + .byte W36 + .byte N03 , Cs6 , v088 + .byte W06 + .byte N03 + .byte W06 + .byte N32 , Cs6 , v096 + .byte W36 + .byte N03 + .byte W06 + .byte Cs6 , v092 + .byte W06 + .byte N06 , Cs6 , v112 + .byte W48 + .byte N06 + .byte W06 + .byte Bn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte Dn5 + .byte W12 + .byte GOTO + .word mus_m_boat_4_B1 + .byte W96 + .byte FINE + +@********************** Track 5 **********************@ + +mus_m_boat_5: + .byte KEYSH , mus_m_boat_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-22 + .byte VOL , 39*mus_m_boat_mvl/mxv + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_m_boat_5_B1: + .byte N02 , Fs3 , v112 + .byte W06 + .byte Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte N02 , Bn3 + .byte W06 + .byte N03 , Fs3 + .byte W06 + .byte N02 , Bn3 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N02 , Bn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N05 , Fn4 + .byte W06 + .byte N02 , Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte N05 , Ds4 + .byte W06 + .byte N02 , Gs3 + .byte W06 + .byte N05 , Fs4 + .byte W06 + .byte N02 , Gs3 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N02 , Gs3 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N02 , Gs3 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N02 , Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte Fn4 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte N02 , As3 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N02 , As3 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N02 , As3 + .byte W06 + .byte N03 , Fs3 + .byte W06 + .byte As3 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N06 , Bn3 + .byte W06 + .byte N03 , Fs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N03 , Fs3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Fs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs3 + .byte W06 + .byte N06 , Bn3 + .byte W06 + .byte N03 , Fs3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Fs3 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte N03 , Fs3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Fs3 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , Fs3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte N03 , Gs3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Gs3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte N03 , Gs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte N02 , Fs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N05 , Fs4 + .byte W06 + .byte N02 , Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte N02 , Bn3 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N02 , Bn3 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N02 , Bn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte N05 , Gs4 + .byte W06 + .byte N02 , Gs3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte N02 , Gs3 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N02 , Gs3 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N02 , Gs3 + .byte W06 + .byte N02 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte N05 , Gs4 + .byte W06 + .byte N02 , As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte Gs3 + .byte W06 + .byte As3 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte N02 , As3 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N02 , As3 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N02 , As3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte N06 , Gn4 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte Ds3 + .byte W06 + .byte As3 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N06 , Bn3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Fs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N06 , Bn4 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte Fs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N06 , As4 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte Fs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N06 , Cn5 + .byte W06 + .byte N03 , Cn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gs3 + .byte W54 + .byte GOTO + .word mus_m_boat_5_B1 + .byte W96 + .byte FINE + +@********************** Track 6 **********************@ + +mus_m_boat_6: + .byte KEYSH , mus_m_boat_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-61 + .byte VOL , 38*mus_m_boat_mvl/mxv + .byte W12 + .byte N96 , Bn2 , v112 + .byte W96 + .byte Cs3 + .byte W96 + .byte N48 , Ds3 + .byte W48 + .byte N48 + .byte W48 + .byte N32 , Gs3 + .byte W12 + .byte VOL , 35*mus_m_boat_mvl/mxv + .byte W05 + .byte 43*mus_m_boat_mvl/mxv + .byte W07 + .byte 48*mus_m_boat_mvl/mxv + .byte W12 + .byte N03 , Cs3 + .byte W06 + .byte N03 + .byte W06 + .byte N24 + .byte W06 + .byte VOL , 36*mus_m_boat_mvl/mxv + .byte W06 + .byte 43*mus_m_boat_mvl/mxv + .byte W05 + .byte 49*mus_m_boat_mvl/mxv + .byte W30 + .byte W01 +mus_m_boat_6_B1: + .byte VOL , 39*mus_m_boat_mvl/mxv + .byte N24 , Bn2 , v112 + .byte W24 + .byte Ds2 + .byte W24 + .byte Fs2 + .byte W24 + .byte Bn2 + .byte W24 + .byte N36 , Fn3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Cs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N36 , Gs3 + .byte W36 + .byte VOL , 35*mus_m_boat_mvl/mxv + .byte N24 + .byte W24 + .byte VOL , 49*mus_m_boat_mvl/mxv + .byte N24 , Fn3 + .byte W24 + .byte Ds3 + .byte W24 + .byte Cs3 + .byte W24 + .byte VOL , 39*mus_m_boat_mvl/mxv + .byte N36 , Bn2 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Fs2 + .byte W12 + .byte N24 , Ds3 + .byte W24 + .byte Fs3 + .byte W24 + .byte N36 , Ds3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Bn2 + .byte W12 + .byte VOL , 46*mus_m_boat_mvl/mxv + .byte N06 , Ds3 + .byte W12 + .byte Fn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Cs3 + .byte W12 + .byte Ds3 + .byte W06 + .byte Cs3 + .byte W06 + .byte VOL , 39*mus_m_boat_mvl/mxv + .byte N36 + .byte W12 + .byte MOD , 8 + .byte W21 + .byte N06 , Gs2 + .byte W03 + .byte MOD , 0 + .byte W12 + .byte N06 , Bn2 + .byte W12 + .byte N24 , Cs3 + .byte W24 + .byte N12 , Gs2 + .byte W12 + .byte N24 , Fn2 + .byte W24 + .byte VOL , 46*mus_m_boat_mvl/mxv + .byte N24 , Cs3 + .byte W24 + .byte Bn2 + .byte W24 + .byte As2 + .byte W24 + .byte VOL , 39*mus_m_boat_mvl/mxv + .byte N24 , Fs2 + .byte W24 + .byte As2 + .byte W24 + .byte Cs3 + .byte W24 + .byte VOL , 46*mus_m_boat_mvl/mxv + .byte N12 , Fs3 + .byte W12 + .byte N06 , Ds3 + .byte W06 + .byte As2 + .byte W06 + .byte VOL , 39*mus_m_boat_mvl/mxv + .byte N24 , Bn2 + .byte W24 + .byte Ds2 + .byte W24 + .byte Fs2 + .byte W24 + .byte Bn2 + .byte W24 + .byte VOL , 44*mus_m_boat_mvl/mxv + .byte N36 , Fn3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Cs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N36 , Gs3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N72 + .byte W24 + .byte MOD , 6 + .byte W48 + .byte 0 + .byte N12 , Fn3 + .byte W12 + .byte N06 , Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte VOL , 39*mus_m_boat_mvl/mxv + .byte N24 , Ds3 + .byte W24 + .byte As2 + .byte W24 + .byte Ds3 + .byte W24 + .byte VOL , 46*mus_m_boat_mvl/mxv + .byte N24 , As3 + .byte W24 + .byte VOL , 39*mus_m_boat_mvl/mxv + .byte N36 , Ds4 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N12 , Fs3 + .byte W12 + .byte N06 , Bn3 + .byte W12 + .byte VOL , 47*mus_m_boat_mvl/mxv + .byte N24 , Ds4 + .byte W24 + .byte VOL , 39*mus_m_boat_mvl/mxv + .byte N06 , Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N36 , Cn4 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Ds3 + .byte W12 + .byte VOL , 46*mus_m_boat_mvl/mxv + .byte N06 , Cn4 + .byte W18 + .byte As3 + .byte W18 + .byte N12 , Gs3 + .byte W12 + .byte VOL , 45*mus_m_boat_mvl/mxv + .byte N30 , Fn3 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N32 , Ds3 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOL , 39*mus_m_boat_mvl/mxv + .byte N06 , Cs3 + .byte W48 + .byte Gs2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W12 + .byte N12 , Dn3 + .byte W12 + .byte GOTO + .word mus_m_boat_6_B1 + .byte W96 + .byte FINE + +@********************** Track 7 **********************@ + +mus_m_boat_7: + .byte KEYSH , mus_m_boat_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 37*mus_m_boat_mvl/mxv + .byte W12 + .byte N96 , Ds3 , v112 + .byte W96 + .byte Fn3 + .byte W96 + .byte N48 , Fs3 + .byte W48 + .byte N48 + .byte W48 + .byte N32 , Cs3 + .byte W12 + .byte VOL , 35*mus_m_boat_mvl/mxv + .byte W05 + .byte 43*mus_m_boat_mvl/mxv + .byte W07 + .byte 48*mus_m_boat_mvl/mxv + .byte W12 + .byte N03 , Gs3 + .byte W06 + .byte N03 + .byte W06 + .byte N24 + .byte W06 + .byte VOL , 36*mus_m_boat_mvl/mxv + .byte W06 + .byte 43*mus_m_boat_mvl/mxv + .byte W05 + .byte 49*mus_m_boat_mvl/mxv + .byte W30 + .byte W01 +mus_m_boat_7_B1: + .byte VOL , 39*mus_m_boat_mvl/mxv + .byte N24 , Ds3 , v112 + .byte W24 + .byte Fs2 + .byte W24 + .byte Bn2 + .byte W24 + .byte Ds3 + .byte W24 + .byte N36 , Cs4 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte N36 , Bn3 + .byte W36 + .byte VOL , 35*mus_m_boat_mvl/mxv + .byte N24 , As3 + .byte W24 + .byte VOL , 48*mus_m_boat_mvl/mxv + .byte N24 , Gs3 + .byte W24 + .byte Fs3 + .byte W24 + .byte Fn3 + .byte W24 + .byte VOL , 39*mus_m_boat_mvl/mxv + .byte N36 , Ds3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Bn2 + .byte W12 + .byte N24 , Fs3 + .byte W24 + .byte As3 + .byte W24 + .byte N36 , Bn3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Fs3 + .byte W12 + .byte VOL , 46*mus_m_boat_mvl/mxv + .byte N06 , Bn3 + .byte W12 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W12 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte VOL , 39*mus_m_boat_mvl/mxv + .byte N36 , Gs3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N24 , Gs3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte N24 , Cs3 + .byte W24 + .byte VOL , 46*mus_m_boat_mvl/mxv + .byte N24 , Gs3 + .byte W24 + .byte Fs3 + .byte W24 + .byte Fn3 + .byte W24 + .byte VOL , 39*mus_m_boat_mvl/mxv + .byte N24 , Ds3 + .byte W24 + .byte Fs3 + .byte W24 + .byte As3 + .byte W24 + .byte VOL , 46*mus_m_boat_mvl/mxv + .byte N12 , Cs4 + .byte W12 + .byte N06 , As3 + .byte W06 + .byte Fs3 + .byte W06 + .byte VOL , 39*mus_m_boat_mvl/mxv + .byte N24 , Ds3 + .byte W24 + .byte Fs2 + .byte W24 + .byte Bn2 + .byte W24 + .byte Ds3 + .byte W24 + .byte VOL , 44*mus_m_boat_mvl/mxv + .byte N36 , Cs4 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte N36 , Bn3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N72 , Cs4 + .byte W24 + .byte MOD , 6 + .byte W48 + .byte 0 + .byte N12 , Bn3 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOL , 39*mus_m_boat_mvl/mxv + .byte N24 , As3 + .byte W24 + .byte Gn3 + .byte W24 + .byte As3 + .byte W24 + .byte VOL , 46*mus_m_boat_mvl/mxv + .byte N24 , Ds4 + .byte W24 + .byte VOL , 39*mus_m_boat_mvl/mxv + .byte N36 , Fs4 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N12 , Bn3 + .byte W12 + .byte N06 , Ds4 + .byte W12 + .byte VOL , 47*mus_m_boat_mvl/mxv + .byte N24 , Fs4 + .byte W24 + .byte VOL , 39*mus_m_boat_mvl/mxv + .byte N06 , Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N36 , Ds4 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Fs3 + .byte W12 + .byte VOL , 46*mus_m_boat_mvl/mxv + .byte N06 , Ds4 + .byte W18 + .byte Cs4 + .byte W18 + .byte N12 , Cn4 + .byte W12 + .byte VOL , 45*mus_m_boat_mvl/mxv + .byte N30 , Cs4 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N32 , Bn3 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOL , 39*mus_m_boat_mvl/mxv + .byte N06 , Cs4 + .byte W48 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W24 + .byte GOTO + .word mus_m_boat_7_B1 + .byte W96 + .byte FINE + +@********************** Track 8 **********************@ + +mus_m_boat_8: + .byte KEYSH , mus_m_boat_key+0 + .byte VOICE , 82 + .byte LFOS , 28 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 30*mus_m_boat_mvl/mxv + .byte BEND , c_v+1 + .byte N03 , Gn4 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N84 , Gs4 + .byte W48 + .byte MOD , 4 + .byte W36 + .byte 0 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N84 , As4 + .byte W48 + .byte MOD , 4 + .byte W36 + .byte 0 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N36 , Bn4 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N36 , Cn5 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N32 , Cs5 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 + .byte W06 +mus_m_boat_8_B1: + .byte N36 , Ds5 , v112 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , Fs4 + .byte W12 + .byte N06 , Bn4 + .byte W12 + .byte N36 , Ds5 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte W12 + .byte N36 , Fn5 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Fs5 + .byte W12 + .byte N03 , Bn5 , v080 + .byte W03 + .byte N09 , As5 , v112 + .byte W09 + .byte N36 , Gs5 + .byte W36 + .byte N96 , Cs5 + .byte W48 + .byte MOD , 5 + .byte W48 + .byte 0 + .byte N36 , Ds5 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , Fn5 + .byte W12 + .byte N03 , Gn5 , v072 + .byte W03 + .byte N09 , Fs5 , v112 + .byte W09 + .byte N36 , Ds5 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N36 , Bn4 + .byte W36 + .byte N12 , Ds4 + .byte W12 + .byte N06 , Fs4 + .byte W12 + .byte N36 , Bn4 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N36 , Cs5 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Ds5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N24 , Ds5 + .byte W24 + .byte N12 , Cs5 + .byte W12 + .byte N84 , As4 + .byte W48 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte N03 , Bn4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Cs5 + .byte W03 + .byte Dn5 + .byte W03 + .byte N36 , Ds5 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , Cs5 + .byte W12 + .byte N06 , Bn4 + .byte W12 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W12 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte N03 , Cs5 + .byte W03 + .byte Dn5 + .byte W03 + .byte N30 , Ds5 + .byte W18 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , Fs4 + .byte W12 + .byte N06 , Bn4 + .byte W12 + .byte N36 , Ds5 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N36 , Fn5 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Fs5 + .byte W12 + .byte N03 , Bn5 , v080 + .byte W03 + .byte N09 , As5 , v112 + .byte W09 + .byte N36 , Gs5 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N36 , As5 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Fn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N24 , Gs5 + .byte W24 + .byte N12 , An5 + .byte W12 + .byte N24 , As5 + .byte W24 + .byte Gs5 + .byte W24 + .byte N12 , Gn5 + .byte W12 + .byte N06 , Gs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte N24 , Ds5 + .byte W24 + .byte N36 , Bn5 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , Gs5 + .byte W12 + .byte N06 , As5 + .byte W12 + .byte N36 , Bn5 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N36 , Cn6 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Gs5 + .byte W12 + .byte Ds6 + .byte W18 + .byte Cs6 + .byte W18 + .byte N12 , Cn6 + .byte W12 + .byte N32 , Cs6 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N32 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W48 + .byte N06 + .byte W06 + .byte Bn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte Dn5 + .byte W12 + .byte GOTO + .word mus_m_boat_8_B1 + .byte W96 + .byte FINE + +@********************** Track 9 **********************@ + +mus_m_boat_9: + .byte KEYSH , mus_m_boat_key+0 + .byte VOICE , 73 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+19 + .byte VOL , 43*mus_m_boat_mvl/mxv + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte N32 , Fn3 , v112 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 + .byte W24 + .byte N06 , Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte As3 + .byte W06 +mus_m_boat_9_B1: +mus_m_boat_9_000: + .byte N36 , Bn3 , v112 + .byte W36 + .byte N12 , Ds3 + .byte W12 + .byte N06 , Fs3 + .byte W12 + .byte N36 , Bn3 + .byte W36 + .byte PEND +mus_m_boat_9_001: + .byte N36 , Cs4 , v112 + .byte W36 + .byte N06 , Ds4 + .byte W12 + .byte N03 , Gn4 + .byte W03 + .byte N09 , Fs4 + .byte W09 + .byte N36 , Fn4 + .byte W36 + .byte PEND + .byte N96 , As3 + .byte W96 + .byte N36 , Fs3 + .byte W36 + .byte N12 , Gs3 + .byte W12 + .byte N03 , Bn3 + .byte W03 + .byte N09 , As3 + .byte W09 + .byte N36 , Fs3 + .byte W36 + .byte Gs3 + .byte W36 + .byte N12 , Ds3 + .byte W12 + .byte N06 , Fs3 + .byte W12 + .byte N36 , Gs3 + .byte W36 + .byte Fn3 + .byte W36 + .byte N06 , Gs3 + .byte W12 + .byte As3 + .byte W09 + .byte N24 , Gs3 + .byte W24 + .byte W03 + .byte N12 , Fs3 + .byte W12 + .byte N72 , Fn3 + .byte W96 + .byte N36 , As3 + .byte W36 + .byte N12 , Gs3 + .byte W12 + .byte N06 , Fs3 + .byte W12 + .byte Gs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte PATT + .word mus_m_boat_9_000 + .byte PATT + .word mus_m_boat_9_001 + .byte N36 , Fn4 , v112 + .byte W36 + .byte N06 , Cs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N24 , Fn4 + .byte W24 + .byte N12 , Ds4 + .byte W12 + .byte N24 , Gn4 + .byte W24 + .byte Fn4 + .byte W24 + .byte N12 , Ds4 + .byte W12 + .byte N06 , Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N24 , Bn3 + .byte W24 + .byte N36 , Gs4 + .byte W36 + .byte N12 , Ds4 + .byte W12 + .byte N06 , Fn4 + .byte W12 + .byte N24 , Gs4 + .byte W24 + .byte N06 , Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N36 , Gs4 + .byte W36 + .byte N06 , Cn4 + .byte W12 + .byte Fs4 + .byte W18 + .byte Fn4 + .byte W18 + .byte N12 , Ds4 + .byte W12 + .byte N32 , Gs4 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N32 , Fs4 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn4 + .byte W48 + .byte Gs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fn4 + .byte W24 + .byte GOTO + .word mus_m_boat_9_B1 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +mus_m_boat: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_m_boat_pri @ Priority + .byte mus_m_boat_rev @ Reverb. + + .word mus_m_boat_grp + + .word mus_m_boat_1 + .word mus_m_boat_2 + .word mus_m_boat_3 + .word mus_m_boat_4 + .word mus_m_boat_5 + .word mus_m_boat_6 + .word mus_m_boat_7 + .word mus_m_boat_8 + .word mus_m_boat_9 + + .end diff --git a/sound/songs/mus_m_dungon.s b/sound/songs/mus_m_dungon.s new file mode 100644 index 0000000000..0e8a21a5e4 --- /dev/null +++ b/sound/songs/mus_m_dungon.s @@ -0,0 +1,2488 @@ + .include "MPlayDef.s" + + .equ mus_m_dungon_grp, voicegroup_868CA74 + .equ mus_m_dungon_pri, 0 + .equ mus_m_dungon_rev, reverb_set+50 + .equ mus_m_dungon_mvl, 127 + .equ mus_m_dungon_key, 0 + .equ mus_m_dungon_tbs, 1 + .equ mus_m_dungon_exg, 0 + .equ mus_m_dungon_cmp, 1 + + .section .rodata + .global mus_m_dungon + .align 2 + +@********************** Track 1 **********************@ + +mus_m_dungon_1: + .byte KEYSH , mus_m_dungon_key+0 +mus_m_dungon_1_B1: + .byte TEMPO , 90*mus_m_dungon_tbs/2 + .byte VOICE , 127 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 35*mus_m_dungon_mvl/mxv + .byte W24 + .byte PAN , c_v-62 + .byte N12 , Gn4 , v112 + .byte W12 + .byte Gn4 , v084 + .byte W12 + .byte Gn4 , v068 + .byte W12 + .byte Gn4 , v036 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn4 , v112 + .byte W12 + .byte Gn4 , v084 + .byte W12 +mus_m_dungon_1_000: + .byte N12 , Gn4 , v068 + .byte W12 + .byte Gn4 , v036 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Gn4 , v112 + .byte W12 + .byte Gn4 , v084 + .byte W12 + .byte Gn4 , v068 + .byte W12 + .byte Gn4 , v036 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn4 , v112 + .byte W12 + .byte Gn4 , v084 + .byte W12 + .byte PEND + .byte PATT + .word mus_m_dungon_1_000 + .byte PATT + .word mus_m_dungon_1_000 +mus_m_dungon_1_001: + .byte N12 , Gn4 , v068 + .byte W12 + .byte Gn4 , v036 + .byte W12 + .byte PAN , c_v-63 + .byte N06 , Gn4 , v112 + .byte W06 + .byte Gn4 , v092 + .byte W06 + .byte Gn4 , v068 + .byte W06 + .byte Gn4 , v036 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Gn4 , v112 + .byte W06 + .byte Gn4 , v092 + .byte W06 + .byte Gn4 , v068 + .byte W06 + .byte Gn4 , v036 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , Gn4 , v112 + .byte W06 + .byte Gn4 , v092 + .byte W06 + .byte Gn4 , v068 + .byte W06 + .byte Gn4 , v036 + .byte W06 + .byte PEND +mus_m_dungon_1_002: + .byte PAN , c_v+63 + .byte N06 , Gn4 , v112 + .byte W06 + .byte Gn4 , v092 + .byte W06 + .byte Gn4 , v068 + .byte W06 + .byte Gn4 , v036 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , Gn4 , v112 + .byte W06 + .byte Gn4 , v092 + .byte W06 + .byte Gn4 , v068 + .byte W06 + .byte Gn4 , v036 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Gn4 , v112 + .byte W06 + .byte Gn4 , v092 + .byte W06 + .byte Gn4 , v068 + .byte W06 + .byte Gn4 , v036 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , Gn4 , v112 + .byte W06 + .byte Gn4 , v092 + .byte W06 + .byte Gn4 , v068 + .byte W06 + .byte Gn4 , v036 + .byte W06 + .byte PEND + .byte PATT + .word mus_m_dungon_1_002 + .byte PATT + .word mus_m_dungon_1_002 + .byte PAN , c_v+63 + .byte N06 , Gn4 , v112 + .byte W06 + .byte Gn4 , v092 + .byte W06 + .byte Gn4 , v068 + .byte W06 + .byte Gn4 , v036 + .byte W06 + .byte PAN , c_v-62 + .byte N12 , Gn4 , v112 + .byte W12 + .byte Gn4 , v084 + .byte W12 + .byte Gn4 , v068 + .byte W12 + .byte Gn4 , v036 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn4 , v112 + .byte W12 + .byte Gn4 , v084 + .byte W12 + .byte PATT + .word mus_m_dungon_1_000 + .byte PATT + .word mus_m_dungon_1_000 + .byte PATT + .word mus_m_dungon_1_000 + .byte PATT + .word mus_m_dungon_1_001 + .byte PATT + .word mus_m_dungon_1_002 + .byte PATT + .word mus_m_dungon_1_002 + .byte PATT + .word mus_m_dungon_1_002 + .byte PAN , c_v+63 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_m_dungon_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_m_dungon_2: + .byte KEYSH , mus_m_dungon_key+0 +mus_m_dungon_2_B1: + .byte VOICE , 45 + .byte LFOS , 44 + .byte VOL , 68*mus_m_dungon_mvl/mxv + .byte PAN , c_v+0 + .byte W32 + .byte W01 + .byte N03 , Cn2 , v064 + .byte W03 + .byte N12 , Dn2 , v112 + .byte W12 + .byte Gs2 + .byte W12 + .byte Dn2 + .byte W21 + .byte N03 , Cn2 , v064 + .byte W03 + .byte N12 , Dn2 , v112 + .byte W12 +mus_m_dungon_2_000: + .byte N12 , Gs2 , v112 + .byte W12 + .byte Dn2 + .byte W21 + .byte N03 , Cn2 , v064 + .byte W03 + .byte N12 , Dn2 , v112 + .byte W12 + .byte Gs2 + .byte W12 + .byte Dn2 + .byte W21 + .byte N03 , Cn2 , v064 + .byte W03 + .byte N12 , Dn2 , v112 + .byte W12 + .byte PEND + .byte PATT + .word mus_m_dungon_2_000 + .byte PATT + .word mus_m_dungon_2_000 + .byte PATT + .word mus_m_dungon_2_000 + .byte PATT + .word mus_m_dungon_2_000 + .byte PATT + .word mus_m_dungon_2_000 + .byte PATT + .word mus_m_dungon_2_000 + .byte N12 , Gs2 , v112 + .byte W12 + .byte Dn2 + .byte W21 + .byte N03 , Ds2 , v064 + .byte W03 + .byte N12 , Fn2 , v112 + .byte W12 + .byte Bn2 + .byte W12 + .byte Fn2 + .byte W21 + .byte N03 , Ds2 , v064 + .byte W03 + .byte N12 , Fn2 , v112 + .byte W12 +mus_m_dungon_2_001: + .byte N12 , Bn2 , v112 + .byte W12 + .byte Fn2 + .byte W21 + .byte N03 , Ds2 , v064 + .byte W03 + .byte N12 , Fn2 , v112 + .byte W12 + .byte Bn2 + .byte W12 + .byte Fn2 + .byte W21 + .byte N03 , Ds2 , v064 + .byte W03 + .byte N12 , Fn2 , v112 + .byte W12 + .byte PEND + .byte PATT + .word mus_m_dungon_2_001 + .byte PATT + .word mus_m_dungon_2_001 + .byte PATT + .word mus_m_dungon_2_001 + .byte PATT + .word mus_m_dungon_2_001 + .byte PATT + .word mus_m_dungon_2_001 + .byte PATT + .word mus_m_dungon_2_001 + .byte N12 , Bn2 , v112 + .byte W12 + .byte Fn2 + .byte W12 + .byte VOICE , 60 + .byte W24 + .byte VOL , 49*mus_m_dungon_mvl/mxv + .byte W06 + .byte N03 , Fs3 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N84 , Fn3 + .byte W60 + .byte W24 + .byte N06 , Cn4 + .byte W06 + .byte An3 + .byte W12 + .byte Fs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs3 , v100 + .byte W06 + .byte An2 , v096 + .byte W06 + .byte Cn3 + .byte W06 + .byte Fs2 , v092 + .byte W06 + .byte An2 , v084 + .byte W06 + .byte Ds2 + .byte W06 + .byte Fs2 , v080 + .byte W06 + .byte N04 , An2 + .byte W04 + .byte Cn3 , v084 + .byte W04 + .byte Ds3 , v088 + .byte W04 + .byte An3 , v092 + .byte W04 + .byte Cn4 + .byte W04 + .byte N08 , Dn4 , v104 + .byte W76 + .byte GOTO + .word mus_m_dungon_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_m_dungon_3: + .byte KEYSH , mus_m_dungon_key+0 +mus_m_dungon_3_B1: + .byte VOICE , 24 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 88*mus_m_dungon_mvl/mxv + .byte W18 + .byte N03 , En1 , v124 + .byte W03 + .byte Fs1 + .byte W03 + .byte N42 , Gn1 + .byte W42 + .byte N03 , En1 + .byte W03 + .byte Fs1 + .byte W03 + .byte N42 , Gn1 + .byte W24 +mus_m_dungon_3_000: + .byte W18 + .byte N03 , En1 , v124 + .byte W03 + .byte Fs1 + .byte W03 + .byte N42 , Gn1 + .byte W42 + .byte N03 , En1 + .byte W03 + .byte Fs1 + .byte W03 + .byte N42 , Gn1 + .byte W24 + .byte PEND + .byte PATT + .word mus_m_dungon_3_000 + .byte PATT + .word mus_m_dungon_3_000 + .byte PATT + .word mus_m_dungon_3_000 + .byte PATT + .word mus_m_dungon_3_000 + .byte PATT + .word mus_m_dungon_3_000 + .byte PATT + .word mus_m_dungon_3_000 + .byte W18 + .byte N03 , En1 , v124 + .byte W03 + .byte Fs1 + .byte W03 + .byte N42 , As1 + .byte W42 + .byte N03 , Gn1 + .byte W03 + .byte An1 + .byte W03 + .byte N42 , As1 + .byte W24 +mus_m_dungon_3_001: + .byte W18 + .byte N03 , Gn1 , v124 + .byte W03 + .byte An1 + .byte W03 + .byte N42 , As1 + .byte W42 + .byte N03 , Gn1 + .byte W03 + .byte An1 + .byte W03 + .byte N42 , As1 + .byte W24 + .byte PEND + .byte PATT + .word mus_m_dungon_3_001 + .byte PATT + .word mus_m_dungon_3_001 + .byte PATT + .word mus_m_dungon_3_001 + .byte PATT + .word mus_m_dungon_3_001 + .byte PATT + .word mus_m_dungon_3_001 + .byte PATT + .word mus_m_dungon_3_001 + .byte W18 + .byte N03 , Gn1 , v124 + .byte W03 + .byte An1 + .byte W03 + .byte VOICE , 48 + .byte VOL , 41*mus_m_dungon_mvl/mxv + .byte W72 + .byte W48 + .byte N06 , As2 , v112 + .byte W06 + .byte Fn2 + .byte W06 + .byte As2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte As3 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Ds4 + .byte W12 + .byte Cn4 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Ds3 , v100 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cn3 , v092 + .byte W06 + .byte Ds3 + .byte W06 + .byte An2 , v088 + .byte W06 + .byte Cn3 + .byte W06 + .byte N04 , Ds3 , v084 + .byte W04 + .byte Fs3 , v088 + .byte W04 + .byte An3 , v092 + .byte W04 + .byte Ds4 , v096 + .byte W04 + .byte Fs4 , v100 + .byte W04 + .byte N08 , As4 , v112 + .byte W52 + .byte VOICE , 47 + .byte N24 , As0 + .byte W24 + .byte GOTO + .word mus_m_dungon_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_m_dungon_4: + .byte KEYSH , mus_m_dungon_key+0 +mus_m_dungon_4_B1: + .byte VOICE , 24 + .byte LFOS , 44 + .byte VOL , 55*mus_m_dungon_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v-8 + .byte W24 + .byte BEND , c_v-8 + .byte N12 , Gn3 , v112 + .byte W03 + .byte BEND , c_v+5 + .byte W03 + .byte c_v+0 + .byte W18 + .byte N12 , Ds3 + .byte W24 + .byte BEND , c_v-5 + .byte N12 , Gn3 + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte c_v+0 + .byte W18 + .byte N12 , Gs3 + .byte W24 + .byte Gn3 + .byte W24 + .byte Ds3 + .byte W24 + .byte BEND , c_v-9 + .byte N12 , Dn3 + .byte W03 + .byte BEND , c_v+5 + .byte W03 + .byte c_v+0 + .byte W18 + .byte N12 , Cn3 + .byte W24 + .byte Bn2 + .byte W24 + .byte Gn2 + .byte W24 + .byte Bn2 + .byte W24 + .byte Cn3 + .byte W24 + .byte Dn3 + .byte W24 + .byte Ds3 + .byte W24 + .byte Dn3 + .byte W24 + .byte BEND , c_v-7 + .byte N12 , Gs3 + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte c_v+0 + .byte W18 + .byte N06 , Gn3 + .byte W12 + .byte Gn3 , v096 + .byte W12 + .byte Ds3 , v112 + .byte W12 + .byte Ds3 , v096 + .byte W12 + .byte Gn3 , v112 + .byte W12 + .byte Gn3 , v096 + .byte W12 + .byte Gs3 , v112 + .byte W12 + .byte Gs3 , v096 + .byte W12 + .byte Gn3 , v112 + .byte W12 + .byte Gn3 , v096 + .byte W12 + .byte Ds3 , v112 + .byte W12 + .byte Ds3 , v096 + .byte W12 + .byte Dn3 , v112 + .byte W12 + .byte Dn3 , v096 + .byte W12 + .byte Cn3 , v112 + .byte W12 + .byte Cn3 , v096 + .byte W12 + .byte Bn2 , v112 + .byte W12 + .byte Bn2 , v096 + .byte W12 + .byte Gn2 , v112 + .byte W12 + .byte Gn2 , v096 + .byte W12 + .byte Bn2 , v112 + .byte W12 + .byte Bn2 , v096 + .byte W12 + .byte Cn3 , v112 + .byte W12 + .byte Cn3 , v096 + .byte W12 + .byte Dn3 , v112 + .byte W12 + .byte Dn3 , v096 + .byte W12 + .byte Ds3 , v112 + .byte W12 + .byte Ds3 , v096 + .byte W12 + .byte Dn3 , v112 + .byte W12 + .byte Dn3 , v096 + .byte W12 + .byte Gs3 , v112 + .byte W12 + .byte Gs3 , v096 + .byte W12 + .byte BEND , c_v-8 + .byte N12 , As3 , v112 + .byte W03 + .byte BEND , c_v+5 + .byte W03 + .byte c_v+0 + .byte W18 + .byte N12 , Fs3 + .byte W24 + .byte BEND , c_v-5 + .byte N12 , As3 + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte c_v+0 + .byte W18 + .byte N12 , Bn3 + .byte W24 + .byte As3 + .byte W24 + .byte Fs3 + .byte W24 + .byte BEND , c_v-9 + .byte N12 , Fn3 + .byte W03 + .byte BEND , c_v+5 + .byte W03 + .byte c_v+0 + .byte W18 + .byte N12 , Ds3 + .byte W24 + .byte Dn3 + .byte W24 + .byte As2 + .byte W24 + .byte Dn3 + .byte W24 + .byte Ds3 + .byte W24 + .byte Fn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte Fn3 + .byte W24 + .byte BEND , c_v-7 + .byte N12 , Bn3 + .byte W03 + .byte BEND , c_v+5 + .byte W03 + .byte c_v+0 + .byte W18 + .byte N06 , As3 + .byte W12 + .byte As3 , v096 + .byte W12 + .byte Fs3 , v112 + .byte W12 + .byte Fs3 , v096 + .byte W12 + .byte As3 , v112 + .byte W12 + .byte As3 , v096 + .byte W12 + .byte Bn3 , v112 + .byte W12 + .byte Bn3 , v096 + .byte W12 + .byte As3 , v112 + .byte W12 + .byte As3 , v096 + .byte W12 + .byte Fs3 , v112 + .byte W12 + .byte Fs3 , v096 + .byte W12 + .byte Fn3 , v112 + .byte W12 + .byte Fn3 , v096 + .byte W12 + .byte Ds3 , v112 + .byte W12 + .byte Ds3 , v096 + .byte W12 + .byte Dn3 , v112 + .byte W12 + .byte Dn3 , v096 + .byte W12 + .byte As2 , v112 + .byte W12 + .byte As2 , v096 + .byte W12 + .byte Dn3 , v112 + .byte W12 + .byte Dn3 , v096 + .byte W12 + .byte Ds3 , v112 + .byte W12 + .byte Ds3 , v096 + .byte W12 + .byte Fn3 , v112 + .byte W12 + .byte Fn3 , v096 + .byte W12 + .byte Fs3 , v112 + .byte W12 + .byte Fs3 , v096 + .byte W12 + .byte Fn3 , v112 + .byte W12 + .byte Fn3 , v096 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Bn3 , v112 + .byte W18 + .byte VOICE , 47 + .byte N03 , As1 + .byte W03 + .byte N03 + .byte W03 + .byte VOL , 70*mus_m_dungon_mvl/mxv + .byte N06 , As1 , v120 + .byte W12 + .byte As0 , v124 + .byte W60 + .byte W66 + .byte N03 , An2 , v112 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , As2 + .byte W12 + .byte As1 + .byte W12 + .byte As2 + .byte W06 + .byte N06 + .byte W06 + .byte As1 + .byte W84 + .byte N04 , As1 , v072 + .byte W04 + .byte As1 , v088 + .byte W04 + .byte As1 , v096 + .byte W04 + .byte Fn2 , v100 + .byte W04 + .byte Fn2 , v104 + .byte W04 + .byte N08 , As2 , v124 + .byte W52 + .byte N14 , As1 , v112 + .byte W24 + .byte GOTO + .word mus_m_dungon_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_m_dungon_5: + .byte KEYSH , mus_m_dungon_key+0 +mus_m_dungon_5_B1: + .byte VOICE , 24 + .byte LFOS , 44 + .byte PAN , c_v+23 + .byte BENDR , 12 + .byte VOL , 55*mus_m_dungon_mvl/mxv + .byte W24 + .byte 55*mus_m_dungon_mvl/mxv + .byte W12 + .byte N12 , Gn3 , v072 + .byte W24 + .byte Ds3 + .byte W24 + .byte Gn3 + .byte W12 + .byte W12 + .byte Gs3 + .byte W24 + .byte Gn3 + .byte W24 + .byte Ds3 + .byte W24 + .byte Dn3 + .byte W12 + .byte W12 + .byte Cn3 + .byte W24 + .byte Bn2 + .byte W24 + .byte Gn2 + .byte W24 + .byte Bn2 + .byte W12 + .byte W12 + .byte Cn3 + .byte W24 + .byte Dn3 + .byte W24 + .byte Ds3 + .byte W24 + .byte Dn3 + .byte W12 + .byte W12 + .byte Gs3 + .byte W18 + .byte N06 , Gn3 , v112 + .byte W12 + .byte Gn3 , v080 + .byte W12 + .byte Ds3 , v112 + .byte W12 + .byte Ds3 , v084 + .byte W12 + .byte Gn3 , v112 + .byte W12 + .byte Gn3 , v088 + .byte W06 + .byte W06 + .byte Gs3 , v112 + .byte W12 + .byte Gs3 , v084 + .byte W12 + .byte Gn3 , v112 + .byte W12 + .byte Gn3 , v084 + .byte W12 + .byte Ds3 , v112 + .byte W12 + .byte Ds3 , v084 + .byte W12 + .byte Dn3 , v112 + .byte W12 + .byte Dn3 , v080 + .byte W06 + .byte W06 + .byte Cn3 , v112 + .byte W12 + .byte Cn3 , v088 + .byte W12 + .byte Bn2 , v112 + .byte W12 + .byte Bn2 , v084 + .byte W12 + .byte Gn2 , v112 + .byte W12 + .byte Gn2 , v084 + .byte W12 + .byte Bn2 , v112 + .byte W12 + .byte Bn2 , v088 + .byte W06 + .byte W06 + .byte Cn3 , v112 + .byte W12 + .byte Cn3 , v088 + .byte W12 + .byte Dn3 , v112 + .byte W12 + .byte Dn3 , v084 + .byte W12 + .byte Ds3 , v112 + .byte W12 + .byte Ds3 , v080 + .byte W12 + .byte Dn3 , v112 + .byte W12 + .byte Dn3 , v084 + .byte W06 + .byte W06 + .byte Gs3 , v112 + .byte W12 + .byte Gs3 , v088 + .byte W18 + .byte N12 , As3 , v072 + .byte W24 + .byte Fs3 + .byte W24 + .byte As3 + .byte W12 + .byte W12 + .byte Bn3 + .byte W24 + .byte As3 + .byte W24 + .byte Fs3 + .byte W24 + .byte Fn3 + .byte W12 + .byte W12 + .byte Ds3 + .byte W24 + .byte Dn3 + .byte W24 + .byte As2 + .byte W24 + .byte Dn3 + .byte W12 + .byte W12 + .byte Ds3 + .byte W24 + .byte Fn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte Fn3 + .byte W12 + .byte W12 + .byte Bn3 + .byte W18 + .byte N06 , As3 , v112 + .byte W12 + .byte As3 , v080 + .byte W12 + .byte Fs3 , v112 + .byte W12 + .byte Fs3 , v084 + .byte W12 + .byte As3 , v112 + .byte W12 + .byte As3 , v088 + .byte W06 + .byte W06 + .byte Bn3 , v112 + .byte W12 + .byte Bn3 , v084 + .byte W12 + .byte As3 , v112 + .byte W12 + .byte As3 , v084 + .byte W12 + .byte Fs3 , v112 + .byte W12 + .byte Fs3 , v084 + .byte W12 + .byte Fn3 , v112 + .byte W12 + .byte Fn3 , v080 + .byte W06 + .byte W06 + .byte Ds3 , v112 + .byte W12 + .byte Ds3 , v088 + .byte W12 + .byte Dn3 , v112 + .byte W12 + .byte Dn3 , v084 + .byte W12 + .byte As2 , v112 + .byte W12 + .byte As2 , v084 + .byte W12 + .byte Dn3 , v112 + .byte W12 + .byte Dn3 , v088 + .byte W06 + .byte W06 + .byte Ds3 , v112 + .byte W12 + .byte Ds3 , v088 + .byte W12 + .byte Fn3 , v112 + .byte W12 + .byte Fn3 , v084 + .byte W12 + .byte Fs3 , v112 + .byte W12 + .byte Fs3 , v080 + .byte W12 + .byte Fn3 , v112 + .byte W12 + .byte Fn3 , v084 + .byte W06 + .byte W06 + .byte Bn3 , v112 + .byte W18 + .byte VOICE , 35 + .byte VOL , 88*mus_m_dungon_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , As1 + .byte W12 + .byte N84 , As0 + .byte W60 + .byte W24 + .byte BEND , c_v+0 + .byte N24 + .byte W03 + .byte BEND , c_v+4 + .byte W03 + .byte c_v+0 + .byte W18 + .byte N06 , Dn1 + .byte W06 + .byte As0 + .byte W06 + .byte An0 + .byte W06 + .byte As0 + .byte W06 + .byte Fn1 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cs1 + .byte W06 + .byte Dn1 + .byte W06 + .byte As1 + .byte W06 + .byte Fn1 + .byte W06 + .byte En1 + .byte W06 + .byte Fn1 + .byte W06 + .byte N72 , An0 + .byte W72 + .byte N04 + .byte W04 + .byte Cn1 + .byte W04 + .byte Ds1 + .byte W04 + .byte Fs1 + .byte W04 + .byte An1 + .byte W04 + .byte N08 , As1 + .byte W52 + .byte N06 , As0 + .byte W24 + .byte GOTO + .word mus_m_dungon_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_m_dungon_6: + .byte KEYSH , mus_m_dungon_key+0 +mus_m_dungon_6_B1: + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte VOL , 33*mus_m_dungon_mvl/mxv + .byte PAN , c_v-62 + .byte BENDR , 12 + .byte BEND , c_v-26 + .byte TIE , Dn2 , v112 + .byte W02 + .byte BEND , c_v-22 + .byte W03 + .byte c_v-18 + .byte W03 + .byte c_v-14 + .byte W04 + .byte c_v-13 + .byte W02 + .byte c_v-9 + .byte W03 + .byte c_v-5 + .byte W03 + .byte c_v-2 + .byte W04 + .byte c_v+0 + .byte W72 + .byte W24 + .byte c_v+0 + .byte W02 + .byte c_v-1 + .byte W03 + .byte c_v-3 + .byte W03 + .byte c_v-5 + .byte W04 + .byte c_v-5 + .byte W02 + .byte c_v-7 + .byte W03 + .byte c_v-9 + .byte W03 + .byte c_v-10 + .byte W04 + .byte c_v-12 + .byte W02 + .byte c_v-13 + .byte W03 + .byte c_v-14 + .byte W03 + .byte c_v-16 + .byte W04 + .byte c_v-18 + .byte W02 + .byte c_v-21 + .byte W03 + .byte c_v-24 + .byte W03 + .byte c_v-28 + .byte W04 + .byte c_v-31 + .byte W02 + .byte c_v-34 + .byte W03 + .byte c_v-35 + .byte W03 + .byte c_v-34 + .byte W04 + .byte c_v-32 + .byte W02 + .byte c_v-29 + .byte W03 + .byte c_v-26 + .byte W03 + .byte c_v-21 + .byte W04 + .byte c_v-18 + .byte W02 + .byte c_v-14 + .byte W03 + .byte c_v-12 + .byte W03 + .byte c_v-10 + .byte W04 + .byte c_v-7 + .byte W02 + .byte c_v-5 + .byte W03 + .byte c_v-3 + .byte W03 + .byte c_v+0 + .byte W76 + .byte W24 + .byte c_v-2 + .byte W02 + .byte c_v-4 + .byte W03 + .byte c_v-6 + .byte W03 + .byte c_v-10 + .byte W04 + .byte c_v-12 + .byte W02 + .byte c_v-16 + .byte W03 + .byte c_v-20 + .byte W03 + .byte c_v-24 + .byte W04 + .byte c_v-28 + .byte W02 + .byte c_v-32 + .byte W03 + .byte c_v-37 + .byte W03 + .byte c_v-41 + .byte W04 + .byte c_v-43 + .byte W02 + .byte c_v-45 + .byte W10 + .byte c_v-42 + .byte W02 + .byte c_v-37 + .byte W03 + .byte c_v-32 + .byte W03 + .byte c_v-27 + .byte W04 + .byte c_v-23 + .byte W02 + .byte c_v-16 + .byte W03 + .byte c_v-12 + .byte W03 + .byte c_v-5 + .byte W04 + .byte c_v+6 + .byte W02 + .byte c_v+14 + .byte W03 + .byte c_v+20 + .byte W03 + .byte c_v+26 + .byte W04 + .byte c_v+30 + .byte W02 + .byte c_v+36 + .byte W03 + .byte c_v+41 + .byte W03 + .byte c_v+43 + .byte W04 + .byte EOT + .byte BEND , c_v+0 + .byte TIE , Dn3 + .byte W06 + .byte BEND , c_v-6 + .byte W06 + .byte c_v+0 + .byte W60 + .byte W24 + .byte c_v-1 + .byte W02 + .byte c_v-3 + .byte W03 + .byte c_v-5 + .byte W03 + .byte c_v-8 + .byte W04 + .byte c_v-11 + .byte W02 + .byte c_v-15 + .byte W03 + .byte c_v-18 + .byte W03 + .byte c_v-22 + .byte W04 + .byte c_v-24 + .byte W02 + .byte c_v-31 + .byte W03 + .byte c_v-36 + .byte W03 + .byte c_v-40 + .byte W04 + .byte c_v-44 + .byte W02 + .byte c_v-46 + .byte W03 + .byte c_v-50 + .byte W03 + .byte c_v-53 + .byte W04 + .byte c_v-54 + .byte W02 + .byte c_v-52 + .byte W03 + .byte c_v-47 + .byte W03 + .byte c_v-42 + .byte W04 + .byte c_v-41 + .byte W02 + .byte c_v-36 + .byte W03 + .byte c_v-33 + .byte W03 + .byte c_v-30 + .byte W04 + .byte c_v-28 + .byte W02 + .byte c_v-24 + .byte W03 + .byte c_v-18 + .byte W03 + .byte c_v-13 + .byte W04 + .byte c_v-11 + .byte W02 + .byte c_v-5 + .byte W03 + .byte c_v-1 + .byte W03 + .byte c_v+0 + .byte W04 + .byte c_v+0 + .byte W48 + .byte c_v-6 + .byte W06 + .byte c_v+0 + .byte W18 + .byte W12 + .byte c_v-5 + .byte W06 + .byte c_v+0 + .byte W18 + .byte c_v-4 + .byte W06 + .byte c_v+0 + .byte W30 + .byte c_v-2 + .byte W02 + .byte c_v-3 + .byte W03 + .byte c_v-5 + .byte W03 + .byte c_v-7 + .byte W04 + .byte c_v-9 + .byte W02 + .byte c_v-11 + .byte W03 + .byte c_v-14 + .byte W03 + .byte c_v-19 + .byte W04 + .byte c_v-22 + .byte W02 + .byte c_v-28 + .byte W03 + .byte c_v-35 + .byte W03 + .byte c_v-41 + .byte W04 + .byte c_v-44 + .byte W02 + .byte c_v-46 + .byte W03 + .byte c_v-48 + .byte W07 + .byte EOT + .byte BEND , c_v+0 + .byte TIE , Fn2 + .byte W72 + .byte BEND , c_v+5 + .byte W24 + .byte c_v+0 + .byte W48 + .byte c_v-11 + .byte W24 + .byte W24 + .byte c_v+0 + .byte W72 +mus_m_dungon_6_000: + .byte BEND , c_v+5 + .byte W24 + .byte c_v+0 + .byte W24 + .byte c_v-11 + .byte W24 + .byte c_v+0 + .byte W24 + .byte PEND + .byte W24 + .byte EOT , Fn2 + .byte BEND , c_v+0 + .byte TIE , Fn3 , v112 + .byte W72 + .byte BEND , c_v+5 + .byte W24 + .byte c_v+0 + .byte W48 + .byte c_v-11 + .byte W06 + .byte c_v+0 + .byte W18 + .byte c_v-8 + .byte W06 + .byte c_v+0 + .byte W18 + .byte c_v+0 + .byte W72 + .byte PATT + .word mus_m_dungon_6_000 + .byte W24 + .byte EOT , Fn3 + .byte W30 + .byte N03 , Ds3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W03 + .byte Fn3 + .byte W03 + .byte Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte N06 , As2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N84 , Dn3 + .byte W60 + .byte W24 + .byte N06 , An3 + .byte W06 + .byte Fs3 + .byte W12 + .byte Ds3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs2 , v100 + .byte W06 + .byte An2 + .byte W06 + .byte Ds2 , v096 + .byte W06 + .byte Fs2 , v092 + .byte W06 + .byte Cn2 , v080 + .byte W06 + .byte Ds2 , v076 + .byte W06 + .byte N04 , Fs2 , v072 + .byte W04 + .byte An2 , v076 + .byte W04 + .byte Cn3 , v080 + .byte W04 + .byte Ds3 , v088 + .byte W04 + .byte Fs3 , v096 + .byte W04 + .byte N08 , An3 , v112 + .byte W76 + .byte GOTO + .word mus_m_dungon_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_m_dungon_7: + .byte KEYSH , mus_m_dungon_key+0 +mus_m_dungon_7_B1: + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte VOL , 33*mus_m_dungon_mvl/mxv + .byte PAN , c_v+63 + .byte BENDR , 12 + .byte BEND , c_v-26 + .byte TIE , Gn2 , v112 + .byte W02 + .byte BEND , c_v-22 + .byte W03 + .byte c_v-18 + .byte W03 + .byte c_v-14 + .byte W04 + .byte c_v-13 + .byte W02 + .byte c_v-9 + .byte W03 + .byte c_v-5 + .byte W03 + .byte c_v-2 + .byte W04 + .byte c_v+0 + .byte W72 + .byte W24 + .byte c_v+0 + .byte W02 + .byte c_v-1 + .byte W03 + .byte c_v-3 + .byte W03 + .byte c_v-5 + .byte W04 + .byte c_v-5 + .byte W02 + .byte c_v-7 + .byte W03 + .byte c_v-9 + .byte W03 + .byte c_v-10 + .byte W04 + .byte c_v-12 + .byte W02 + .byte c_v-13 + .byte W03 + .byte c_v-14 + .byte W03 + .byte c_v-16 + .byte W04 + .byte c_v-18 + .byte W02 + .byte c_v-21 + .byte W03 + .byte c_v-24 + .byte W03 + .byte c_v-28 + .byte W04 + .byte c_v-31 + .byte W02 + .byte c_v-34 + .byte W03 + .byte c_v-35 + .byte W03 + .byte c_v-34 + .byte W04 + .byte c_v-32 + .byte W02 + .byte c_v-29 + .byte W03 + .byte c_v-26 + .byte W03 + .byte c_v-21 + .byte W04 + .byte c_v-18 + .byte W02 + .byte c_v-14 + .byte W03 + .byte c_v-12 + .byte W03 + .byte c_v-10 + .byte W04 + .byte c_v-7 + .byte W02 + .byte c_v-5 + .byte W03 + .byte c_v-3 + .byte W03 + .byte c_v+0 + .byte W76 + .byte W24 + .byte c_v-2 + .byte W02 + .byte c_v-4 + .byte W03 + .byte c_v-6 + .byte W03 + .byte c_v-10 + .byte W04 + .byte c_v-12 + .byte W02 + .byte c_v-16 + .byte W03 + .byte c_v-20 + .byte W03 + .byte c_v-24 + .byte W04 + .byte c_v-28 + .byte W02 + .byte c_v-32 + .byte W03 + .byte c_v-37 + .byte W03 + .byte c_v-41 + .byte W04 + .byte c_v-43 + .byte W02 + .byte c_v-45 + .byte W10 + .byte c_v-42 + .byte W02 + .byte c_v-37 + .byte W03 + .byte c_v-32 + .byte W03 + .byte c_v-27 + .byte W04 + .byte c_v-23 + .byte W02 + .byte c_v-16 + .byte W03 + .byte c_v-12 + .byte W03 + .byte c_v-5 + .byte W04 + .byte c_v+6 + .byte W02 + .byte c_v+14 + .byte W03 + .byte c_v+20 + .byte W03 + .byte c_v+26 + .byte W04 + .byte c_v+30 + .byte W02 + .byte c_v+36 + .byte W03 + .byte c_v+41 + .byte W03 + .byte c_v+43 + .byte W04 + .byte EOT + .byte BEND , c_v+0 + .byte TIE , Gn3 + .byte W06 + .byte BEND , c_v-6 + .byte W06 + .byte c_v+0 + .byte W60 + .byte W24 + .byte c_v-1 + .byte W02 + .byte c_v-3 + .byte W03 + .byte c_v-5 + .byte W03 + .byte c_v-8 + .byte W04 + .byte c_v-11 + .byte W02 + .byte c_v-15 + .byte W03 + .byte c_v-18 + .byte W03 + .byte c_v-22 + .byte W04 + .byte c_v-24 + .byte W02 + .byte c_v-31 + .byte W03 + .byte c_v-36 + .byte W03 + .byte c_v-40 + .byte W04 + .byte c_v-44 + .byte W02 + .byte c_v-46 + .byte W03 + .byte c_v-50 + .byte W03 + .byte c_v-53 + .byte W04 + .byte c_v-54 + .byte W02 + .byte c_v-52 + .byte W03 + .byte c_v-47 + .byte W03 + .byte c_v-42 + .byte W04 + .byte c_v-41 + .byte W02 + .byte c_v-36 + .byte W03 + .byte c_v-33 + .byte W03 + .byte c_v-30 + .byte W04 + .byte c_v-28 + .byte W02 + .byte c_v-24 + .byte W03 + .byte c_v-18 + .byte W03 + .byte c_v-13 + .byte W04 + .byte c_v-11 + .byte W02 + .byte c_v-5 + .byte W03 + .byte c_v-1 + .byte W03 + .byte c_v+0 + .byte W04 + .byte c_v+0 + .byte W48 + .byte c_v-6 + .byte W06 + .byte c_v+0 + .byte W18 + .byte W12 + .byte c_v-5 + .byte W06 + .byte c_v+0 + .byte W18 + .byte c_v-4 + .byte W06 + .byte c_v+0 + .byte W30 + .byte c_v-2 + .byte W02 + .byte c_v-3 + .byte W03 + .byte c_v-5 + .byte W03 + .byte c_v-7 + .byte W04 + .byte c_v-9 + .byte W02 + .byte c_v-11 + .byte W03 + .byte c_v-14 + .byte W03 + .byte c_v-19 + .byte W04 + .byte c_v-22 + .byte W02 + .byte c_v-28 + .byte W03 + .byte c_v-35 + .byte W03 + .byte c_v-41 + .byte W04 + .byte c_v-44 + .byte W02 + .byte c_v-46 + .byte W03 + .byte c_v-48 + .byte W07 + .byte EOT + .byte BEND , c_v+0 + .byte TIE , As2 + .byte W72 + .byte BEND , c_v+5 + .byte W24 + .byte c_v+0 + .byte W48 + .byte c_v-6 + .byte W24 + .byte W24 + .byte c_v+0 + .byte W72 +mus_m_dungon_7_000: + .byte BEND , c_v+5 + .byte W24 + .byte c_v+0 + .byte W24 + .byte c_v-6 + .byte W24 + .byte c_v+0 + .byte W24 + .byte PEND + .byte W24 + .byte EOT , As2 + .byte BEND , c_v+0 + .byte TIE , As3 , v112 + .byte W72 + .byte BEND , c_v+5 + .byte W24 + .byte c_v+0 + .byte W48 + .byte c_v-6 + .byte W06 + .byte c_v+0 + .byte W18 + .byte c_v-8 + .byte W06 + .byte c_v+0 + .byte W18 + .byte c_v+0 + .byte W72 + .byte PATT + .word mus_m_dungon_7_000 + .byte W24 + .byte EOT , As3 + .byte W30 + .byte N03 , As3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W03 + .byte Bn3 + .byte W03 + .byte As3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N84 , Gs3 + .byte W60 + .byte W24 + .byte N06 , Ds4 + .byte W06 + .byte Cn4 + .byte W12 + .byte An3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte Cn3 , v100 + .byte W06 + .byte Ds3 + .byte W06 + .byte An2 , v096 + .byte W06 + .byte Cn3 , v092 + .byte W06 + .byte Fs2 , v080 + .byte W06 + .byte An2 , v076 + .byte W06 + .byte N04 , Cn3 , v072 + .byte W04 + .byte Ds3 , v076 + .byte W04 + .byte Fs3 , v080 + .byte W04 + .byte Cn4 , v088 + .byte W04 + .byte Ds4 , v096 + .byte W04 + .byte N08 , Fn4 , v112 + .byte W76 + .byte GOTO + .word mus_m_dungon_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_m_dungon_8: + .byte KEYSH , mus_m_dungon_key+0 +mus_m_dungon_8_B1: + .byte VOICE , 0 + .byte VOL , 65*mus_m_dungon_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W24 + .byte N48 , An2 , v112 + .byte W72 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_m_dungon_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_m_dungon_9: + .byte KEYSH , mus_m_dungon_key+0 +mus_m_dungon_9_B1: + .byte VOICE , 82 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte PAN , c_v+0 + .byte VOL , 43*mus_m_dungon_mvl/mxv + .byte BEND , c_v+2 + .byte W18 + .byte N03 , En1 , v112 + .byte W03 + .byte Fs1 + .byte W03 + .byte N42 , Gn1 + .byte W24 + .byte MOD , 24 + .byte W18 + .byte 0 + .byte N03 , En1 + .byte W03 + .byte Fs1 + .byte W03 + .byte N42 , Gn1 + .byte W24 +mus_m_dungon_9_000: + .byte MOD , 24 + .byte W18 + .byte 0 + .byte N03 , En1 , v112 + .byte W03 + .byte Fs1 + .byte W03 + .byte N42 , Gn1 + .byte W24 + .byte MOD , 24 + .byte W18 + .byte 0 + .byte N03 , En1 + .byte W03 + .byte Fs1 + .byte W03 + .byte N42 , Gn1 + .byte W24 + .byte PEND + .byte PATT + .word mus_m_dungon_9_000 + .byte PATT + .word mus_m_dungon_9_000 +mus_m_dungon_9_001: + .byte W18 + .byte N03 , En1 , v112 + .byte W03 + .byte Fs1 + .byte W03 + .byte N42 , Gn1 + .byte W42 + .byte N03 , En1 + .byte W03 + .byte Fs1 + .byte W03 + .byte N42 , Gn1 + .byte W24 + .byte PEND + .byte PATT + .word mus_m_dungon_9_001 + .byte PATT + .word mus_m_dungon_9_001 + .byte PATT + .word mus_m_dungon_9_001 + .byte W18 + .byte N03 , En1 , v112 + .byte W03 + .byte Fs1 + .byte W03 + .byte N42 , As1 + .byte W42 + .byte N03 , Gn1 + .byte W03 + .byte An1 + .byte W03 + .byte N42 , As1 + .byte W24 +mus_m_dungon_9_002: + .byte W18 + .byte N03 , Gn1 , v112 + .byte W03 + .byte An1 + .byte W03 + .byte N42 , As1 + .byte W42 + .byte N03 , Gn1 + .byte W03 + .byte An1 + .byte W03 + .byte N42 , As1 + .byte W24 + .byte PEND + .byte PATT + .word mus_m_dungon_9_002 + .byte PATT + .word mus_m_dungon_9_002 + .byte PATT + .word mus_m_dungon_9_002 + .byte PATT + .word mus_m_dungon_9_002 + .byte PATT + .word mus_m_dungon_9_002 + .byte PATT + .word mus_m_dungon_9_002 + .byte W18 + .byte N03 , Gn1 , v112 + .byte W03 + .byte An1 + .byte W72 + .byte W03 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_m_dungon_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_m_dungon_10: + .byte KEYSH , mus_m_dungon_key+0 +mus_m_dungon_10_B1: + .byte VOICE , 14 + .byte PAN , c_v+0 + .byte VOL , 70*mus_m_dungon_mvl/mxv + .byte W24 + .byte PAN , c_v-32 + .byte BEND , c_v+0 + .byte N48 , Gn2 , v112 + .byte W24 + .byte BEND , c_v-2 + .byte W02 + .byte c_v-5 + .byte W03 + .byte c_v-10 + .byte W03 + .byte c_v-15 + .byte W04 + .byte c_v-16 + .byte W02 + .byte c_v-21 + .byte W03 + .byte c_v-23 + .byte W07 + .byte PAN , c_v+32 + .byte BEND , c_v-5 + .byte N48 , Gn2 , v100 + .byte W24 + .byte BEND , c_v-7 + .byte W02 + .byte c_v-12 + .byte W03 + .byte c_v-17 + .byte W03 + .byte c_v-19 + .byte W04 + .byte c_v-22 + .byte W02 + .byte c_v-24 + .byte W03 + .byte c_v-27 + .byte W03 + .byte c_v-28 + .byte W04 + .byte PAN , c_v-32 + .byte BEND , c_v-9 + .byte N48 , Gn2 , v080 + .byte W24 + .byte BEND , c_v-12 + .byte W02 + .byte c_v-15 + .byte W03 + .byte c_v-20 + .byte W03 + .byte c_v-26 + .byte W04 + .byte c_v-28 + .byte W02 + .byte c_v-32 + .byte W03 + .byte c_v-37 + .byte W03 + .byte c_v-38 + .byte W04 + .byte c_v-14 + .byte N48 , Gn2 , v084 + .byte W24 + .byte W24 + .byte BEND , c_v-21 + .byte N48 , Gn2 , v048 + .byte W06 + .byte BEND , c_v-23 + .byte W06 + .byte c_v-25 + .byte W02 + .byte c_v-28 + .byte W03 + .byte c_v-30 + .byte W03 + .byte c_v-34 + .byte W04 + .byte c_v-36 + .byte W02 + .byte c_v-39 + .byte W03 + .byte c_v-41 + .byte W03 + .byte c_v-43 + .byte W04 + .byte c_v-46 + .byte W02 + .byte c_v-48 + .byte W03 + .byte c_v-51 + .byte W03 + .byte c_v-54 + .byte W04 + .byte c_v+0 + .byte W24 + .byte W24 + .byte PAN , c_v+32 + .byte W48 + .byte c_v-32 + .byte W24 + .byte W24 + .byte c_v-32 + .byte BEND , c_v+0 + .byte N48 , Gn3 , v112 + .byte W24 + .byte BEND , c_v-2 + .byte W02 + .byte c_v-5 + .byte W03 + .byte c_v-10 + .byte W03 + .byte c_v-15 + .byte W04 + .byte c_v-16 + .byte W02 + .byte c_v-21 + .byte W03 + .byte c_v-23 + .byte W07 + .byte PAN , c_v+32 + .byte BEND , c_v-5 + .byte N48 , Gn3 , v100 + .byte W24 + .byte BEND , c_v-7 + .byte W02 + .byte c_v-12 + .byte W03 + .byte c_v-17 + .byte W03 + .byte c_v-19 + .byte W04 + .byte c_v-22 + .byte W02 + .byte c_v-24 + .byte W03 + .byte c_v-27 + .byte W03 + .byte c_v-28 + .byte W04 + .byte PAN , c_v-32 + .byte BEND , c_v-9 + .byte N48 , Gn3 , v080 + .byte W24 + .byte BEND , c_v-12 + .byte W02 + .byte c_v-15 + .byte W03 + .byte c_v-20 + .byte W03 + .byte c_v-26 + .byte W04 + .byte c_v-28 + .byte W02 + .byte c_v-32 + .byte W03 + .byte c_v-37 + .byte W03 + .byte c_v-38 + .byte W04 + .byte PAN , c_v+32 + .byte BEND , c_v-14 + .byte N48 , Gn3 , v084 + .byte W24 + .byte W24 + .byte PAN , c_v-32 + .byte BEND , c_v-21 + .byte N48 , Gn3 , v048 + .byte W06 + .byte BEND , c_v-23 + .byte W06 + .byte c_v-25 + .byte W02 + .byte c_v-28 + .byte W03 + .byte c_v-30 + .byte W03 + .byte c_v-34 + .byte W04 + .byte c_v-36 + .byte W02 + .byte c_v-39 + .byte W03 + .byte c_v-41 + .byte W03 + .byte c_v-43 + .byte W04 + .byte c_v-46 + .byte W02 + .byte c_v-48 + .byte W03 + .byte c_v-51 + .byte W03 + .byte c_v-54 + .byte W04 + .byte c_v+0 + .byte W24 + .byte W24 + .byte N48 , Gn2 , v127 + .byte W24 + .byte BEND , c_v-2 + .byte W02 + .byte c_v-3 + .byte W03 + .byte c_v-5 + .byte W03 + .byte c_v-8 + .byte W04 + .byte c_v-9 + .byte W02 + .byte c_v-11 + .byte W03 + .byte c_v-12 + .byte W03 + .byte c_v-14 + .byte W04 + .byte PAN , c_v+32 + .byte BEND , c_v+0 + .byte N48 , Gn2 , v096 + .byte W21 + .byte BEND , c_v-5 + .byte W03 + .byte W02 + .byte c_v-10 + .byte W03 + .byte c_v-13 + .byte W03 + .byte c_v-18 + .byte W04 + .byte c_v-23 + .byte W02 + .byte c_v-28 + .byte W03 + .byte c_v-30 + .byte W03 + .byte c_v-35 + .byte W04 + .byte PAN , c_v-32 + .byte BEND , c_v+0 + .byte N24 , As2 , v112 + .byte W24 + .byte BEND , c_v-3 + .byte N24 , Fn2 + .byte W02 + .byte BEND , c_v-7 + .byte W03 + .byte c_v-9 + .byte W03 + .byte c_v-12 + .byte W04 + .byte c_v-17 + .byte W02 + .byte c_v-21 + .byte W03 + .byte c_v-23 + .byte W03 + .byte c_v-29 + .byte W04 + .byte PAN , c_v+31 + .byte BEND , c_v+0 + .byte N24 , As2 , v096 + .byte W24 + .byte BEND , c_v-3 + .byte N24 , Fn2 , v092 + .byte W02 + .byte BEND , c_v-7 + .byte W03 + .byte c_v-9 + .byte W03 + .byte c_v-12 + .byte W04 + .byte c_v-17 + .byte W02 + .byte c_v-21 + .byte W03 + .byte c_v-23 + .byte W03 + .byte c_v-29 + .byte W04 + .byte PAN , c_v-32 + .byte BEND , c_v+0 + .byte N24 , As2 , v080 + .byte W24 + .byte BEND , c_v-3 + .byte N24 , Fn2 + .byte W02 + .byte BEND , c_v-7 + .byte W03 + .byte c_v-9 + .byte W03 + .byte c_v-12 + .byte W04 + .byte c_v-17 + .byte W02 + .byte c_v-21 + .byte W03 + .byte c_v-23 + .byte W03 + .byte c_v-29 + .byte W04 + .byte PAN , c_v+31 + .byte BEND , c_v+0 + .byte N24 , As2 , v072 + .byte W24 + .byte BEND , c_v-3 + .byte N24 , Fn2 , v060 + .byte W02 + .byte BEND , c_v-7 + .byte W03 + .byte c_v-9 + .byte W03 + .byte c_v-12 + .byte W04 + .byte c_v-17 + .byte W02 + .byte c_v-21 + .byte W03 + .byte c_v-23 + .byte W03 + .byte c_v-29 + .byte W04 + .byte c_v+0 + .byte W72 + .byte W96 + .byte W24 + .byte N72 , As3 , v112 + .byte W06 + .byte BEND , c_v-32 + .byte W03 + .byte c_v+12 + .byte W03 + .byte c_v+0 + .byte W24 + .byte c_v-6 + .byte W02 + .byte c_v-8 + .byte W03 + .byte c_v-9 + .byte W03 + .byte c_v-16 + .byte W06 + .byte c_v-18 + .byte W03 + .byte c_v-24 + .byte W03 + .byte c_v-30 + .byte W04 + .byte c_v-34 + .byte W02 + .byte c_v-42 + .byte W03 + .byte c_v-44 + .byte W07 + .byte c_v+0 + .byte N48 , As2 + .byte W06 + .byte BEND , c_v-22 + .byte W03 + .byte c_v+18 + .byte W06 + .byte c_v+0 + .byte W32 + .byte W01 + .byte N48 , Fs3 + .byte W48 + .byte N24 , Ds3 + .byte W24 + .byte VOL , 61*mus_m_dungon_mvl/mxv + .byte N48 , As3 + .byte W48 + .byte BEND , c_v-4 + .byte N48 , Bn3 + .byte W02 + .byte BEND , c_v-6 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v-9 + .byte W06 + .byte c_v-11 + .byte W06 + .byte c_v-13 + .byte W04 + .byte c_v-15 + .byte W02 + .byte c_v-18 + .byte W03 + .byte c_v-24 + .byte W03 + .byte c_v-36 + .byte W04 + .byte c_v-42 + .byte W02 + .byte c_v-46 + .byte W10 + .byte c_v+0 + .byte N24 , Dn4 + .byte W24 + .byte As3 + .byte W24 + .byte Dn4 + .byte W24 + .byte N48 , As4 + .byte W06 + .byte VOL , 61*mus_m_dungon_mvl/mxv + .byte W06 + .byte 58*mus_m_dungon_mvl/mxv + .byte W05 + .byte 51*mus_m_dungon_mvl/mxv + .byte W07 + .byte 47*mus_m_dungon_mvl/mxv + .byte W05 + .byte 39*mus_m_dungon_mvl/mxv + .byte W07 + .byte 27*mus_m_dungon_mvl/mxv + .byte W05 + .byte 15*mus_m_dungon_mvl/mxv + .byte W07 + .byte 2*mus_m_dungon_mvl/mxv + .byte W24 + .byte 63*mus_m_dungon_mvl/mxv + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_m_dungon_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_m_dungon: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_m_dungon_pri @ Priority + .byte mus_m_dungon_rev @ Reverb. + + .word mus_m_dungon_grp + + .word mus_m_dungon_1 + .word mus_m_dungon_2 + .word mus_m_dungon_3 + .word mus_m_dungon_4 + .word mus_m_dungon_5 + .word mus_m_dungon_6 + .word mus_m_dungon_7 + .word mus_m_dungon_8 + .word mus_m_dungon_9 + .word mus_m_dungon_10 + + .end diff --git a/sound/songs/mus_maborosi.s b/sound/songs/mus_maborosi.s new file mode 100644 index 0000000000..645abfdbeb --- /dev/null +++ b/sound/songs/mus_maborosi.s @@ -0,0 +1,1421 @@ + .include "MPlayDef.s" + + .equ mus_maborosi_grp, voicegroup_868E67C + .equ mus_maborosi_pri, 0 + .equ mus_maborosi_rev, reverb_set+50 + .equ mus_maborosi_mvl, 127 + .equ mus_maborosi_key, 0 + .equ mus_maborosi_tbs, 1 + .equ mus_maborosi_exg, 0 + .equ mus_maborosi_cmp, 1 + + .section .rodata + .global mus_maborosi + .align 2 + +@********************** Track 1 **********************@ + +mus_maborosi_1: + .byte KEYSH , mus_maborosi_key+0 +mus_maborosi_1_B1: + .byte TEMPO , 140*mus_maborosi_tbs/2 + .byte VOICE , 46 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 100*mus_maborosi_mvl/mxv + .byte PAN , c_v+0 + .byte W72 + .byte W72 + .byte W72 + .byte W60 + .byte N06 , An2 , v064 + .byte W06 + .byte As2 + .byte W06 + .byte VOICE , 60 + .byte N60 , Bn2 , v080 + .byte W60 + .byte N06 , Cs3 + .byte W06 + .byte En3 + .byte W06 + .byte N60 , As3 + .byte W60 + .byte N06 , Gs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte TIE , Fn3 + .byte W72 + .byte W48 + .byte EOT + .byte N12 , Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N60 , Fs3 + .byte W60 + .byte N06 , An3 + .byte W06 + .byte As3 + .byte W06 + .byte N60 , Bn3 + .byte W60 + .byte N06 , Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte W06 + .byte N60 , As3 + .byte W60 + .byte N06 , Bn3 + .byte W06 + .byte N60 , Cn4 + .byte W60 + .byte N06 , Bn3 , v064 + .byte W06 + .byte As3 + .byte W06 + .byte N72 , Gs3 + .byte W72 + .byte N24 + .byte W24 + .byte Fs3 + .byte W24 + .byte Gs3 + .byte W24 + .byte W72 + .byte W72 + .byte VOICE , 14 + .byte N60 , Fs3 , v060 + .byte W60 + .byte N06 , Dn3 , v064 + .byte W12 + .byte N60 , Fs3 + .byte W60 + .byte N06 , Dn3 + .byte W12 + .byte N72 , As3 + .byte W72 + .byte VOICE , 73 + .byte N06 , Fn4 , v048 + .byte W12 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte As4 + .byte W06 + .byte N60 , Bn4 + .byte W60 + .byte N06 , Cn5 , v040 + .byte W06 + .byte Cs5 + .byte W06 + .byte N60 , Dn5 + .byte W60 + .byte N06 , Bn4 + .byte W12 + .byte N48 , Cs5 + .byte W48 + .byte N06 , Ds5 , v064 + .byte W12 + .byte Bn4 , v040 + .byte W06 + .byte As4 + .byte W06 + .byte N12 , Fs4 + .byte W12 + .byte N06 , Gs4 + .byte W12 + .byte N12 , As4 + .byte W12 + .byte N06 , Bn4 + .byte W12 + .byte N12 , As4 + .byte W12 + .byte N06 , Gs4 + .byte W12 + .byte N60 , Dn4 , v048 + .byte W60 + .byte N06 , Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N24 , Gs3 + .byte W24 + .byte As3 + .byte W24 + .byte Bn3 + .byte W24 + .byte N60 , Cn4 + .byte W60 + .byte N06 , Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N60 , Cn4 + .byte W60 + .byte VOICE , 60 + .byte N06 , An2 + .byte W06 + .byte As2 + .byte W06 + .byte GOTO + .word mus_maborosi_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_maborosi_2: + .byte KEYSH , mus_maborosi_key+0 +mus_maborosi_2_B1: + .byte VOICE , 46 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 84*mus_maborosi_mvl/mxv + .byte PAN , c_v-32 + .byte N06 , Bn2 , v064 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn4 + .byte W12 +mus_maborosi_2_000: + .byte PAN , c_v-16 + .byte N06 , Fs4 , v064 + .byte W12 + .byte Gs4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Dn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Gs5 + .byte W12 + .byte PEND +mus_maborosi_2_001: + .byte PAN , c_v+48 + .byte N06 , As5 , v064 + .byte W12 + .byte Fn5 + .byte W12 + .byte N06 + .byte W12 + .byte Ds5 + .byte W12 + .byte N06 + .byte W12 + .byte Cs5 + .byte W12 + .byte PEND + .byte PAN , c_v+24 + .byte N04 , As4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte As3 + .byte W08 + .byte PAN , c_v-48 + .byte N04 , Ds4 + .byte W08 + .byte As3 + .byte W08 + .byte Fs3 + .byte W08 + .byte PAN , c_v-32 + .byte N06 , Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte PATT + .word mus_maborosi_2_000 + .byte PATT + .word mus_maborosi_2_001 + .byte PAN , c_v+27 + .byte N04 , As4 , v064 + .byte W08 + .byte Fn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte As3 + .byte W08 + .byte PAN , c_v-48 + .byte N04 , Cn4 + .byte W08 + .byte As3 + .byte W08 + .byte Fn3 + .byte W08 + .byte PAN , c_v-32 + .byte N06 , Dn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte PAN , c_v-16 + .byte N06 , Gs4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Dn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Gs5 + .byte W12 + .byte Bn5 + .byte W12 + .byte PAN , c_v+48 + .byte N06 , Cs6 + .byte W12 + .byte Gs5 + .byte W12 + .byte N06 + .byte W12 + .byte Fn5 + .byte W12 + .byte N06 + .byte W12 + .byte Ds5 + .byte W12 + .byte PAN , c_v+32 + .byte N04 , Cn5 + .byte W08 + .byte As4 + .byte W08 + .byte Fn4 + .byte W08 + .byte As4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte PAN , c_v-48 + .byte N04 , Fn4 + .byte W08 + .byte Cn4 + .byte W04 + .byte VOICE , 47 + .byte PAN , c_v-32 + .byte N06 , Fs1 + .byte W06 + .byte Fs1 , v048 + .byte W06 + .byte PAN , c_v+34 + .byte VOL , 100*mus_maborosi_mvl/mxv + .byte N12 , Bn1 , v064 + .byte W60 + .byte PAN , c_v-32 + .byte N06 , Fs1 + .byte W06 + .byte Fs1 , v044 + .byte W06 + .byte PAN , c_v+31 + .byte N06 , Bn1 , v032 + .byte W12 + .byte N06 + .byte W12 + .byte Bn1 , v040 + .byte W12 + .byte Bn1 , v048 + .byte W12 + .byte Bn1 , v068 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Ds1 , v084 + .byte W06 + .byte Ds1 , v064 + .byte W06 + .byte PAN , c_v+31 + .byte N12 , As1 + .byte W60 + .byte PAN , c_v-32 + .byte N06 , Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v+31 + .byte N12 , Cn2 + .byte W24 + .byte PAN , c_v-33 + .byte N06 , Fs1 , v048 + .byte W12 + .byte PAN , c_v+30 + .byte N06 , Fs2 , v064 + .byte W12 + .byte PAN , c_v-33 + .byte N12 , Fs1 , v048 + .byte W12 + .byte N06 , Fs1 , v044 + .byte W12 + .byte VOICE , 73 + .byte PAN , c_v+0 + .byte N60 , Fs4 , v064 + .byte W60 + .byte N03 , Gs4 , v036 + .byte W03 + .byte An4 , v040 + .byte W03 + .byte Bn4 , v044 + .byte W03 + .byte Cs5 , v048 + .byte W03 + .byte VOL , 85*mus_maborosi_mvl/mxv + .byte N60 , Dn5 , v064 + .byte W60 + .byte N06 , Bn4 + .byte W12 + .byte N60 , Cs5 + .byte W60 + .byte N06 , Ds5 + .byte W06 + .byte Cs5 + .byte W06 + .byte As4 + .byte W06 + .byte Fn4 , v044 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Bn4 , v064 + .byte W06 + .byte Fn4 , v044 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Fn4 , v044 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte N60 , Dn5 , v064 + .byte W60 + .byte N06 , Ds5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N60 , Fs5 + .byte W60 + .byte N06 , Ds5 + .byte W12 + .byte N48 , Fn5 + .byte W48 + .byte N06 , Fs5 + .byte W12 + .byte Ds5 + .byte W06 + .byte Cs5 + .byte W06 + .byte N12 , As4 + .byte W12 + .byte N06 , Bn4 + .byte W12 + .byte N12 , Cn5 + .byte W12 + .byte N06 , Cs5 + .byte W12 + .byte N12 , Cn5 + .byte W12 + .byte N06 , Bn4 + .byte W12 +mus_maborosi_2_002: + .byte N60 , As4 , v064 + .byte W60 + .byte N06 , Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PEND + .byte N24 , Fn4 + .byte W24 + .byte Fs4 + .byte W24 + .byte Gs4 + .byte W24 + .byte PATT + .word mus_maborosi_2_002 + .byte N60 , Fn4 , v064 + .byte W72 + .byte GOTO + .word mus_maborosi_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_maborosi_3: + .byte KEYSH , mus_maborosi_key+0 +mus_maborosi_3_B1: + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 73*mus_maborosi_mvl/mxv + .byte PAN , c_v+18 + .byte N12 , Fs4 , v024 + .byte W12 + .byte Gs4 , v028 + .byte W12 + .byte Fs4 , v032 + .byte W12 + .byte Gs4 , v036 + .byte W12 + .byte Fs4 , v040 + .byte W12 + .byte Gs4 , v044 + .byte W12 +mus_maborosi_3_000: + .byte N12 , Fs4 , v048 + .byte W12 + .byte Gs4 , v052 + .byte W12 + .byte Fs4 , v056 + .byte W12 + .byte Gs4 , v060 + .byte W12 + .byte Fs4 , v064 + .byte W12 + .byte Gs4 , v068 + .byte W12 + .byte PEND +mus_maborosi_3_001: + .byte N12 , Fn4 , v072 + .byte W12 + .byte As4 , v068 + .byte W12 + .byte Fn4 , v064 + .byte W12 + .byte As4 , v060 + .byte W12 + .byte Fn4 , v056 + .byte W12 + .byte As4 , v048 + .byte W12 + .byte PEND +mus_maborosi_3_002: + .byte N12 , Fn4 , v044 + .byte W12 + .byte As4 , v040 + .byte W12 + .byte Fn4 , v036 + .byte W12 + .byte As4 , v028 + .byte W12 + .byte Fn4 , v024 + .byte W12 + .byte As4 , v020 + .byte W12 + .byte PEND +mus_maborosi_3_003: + .byte N12 , Fs4 , v024 + .byte W12 + .byte Gs4 , v028 + .byte W12 + .byte Fs4 , v032 + .byte W12 + .byte Gs4 , v036 + .byte W12 + .byte Fs4 , v040 + .byte W12 + .byte Gs4 , v044 + .byte W12 + .byte PEND + .byte PATT + .word mus_maborosi_3_000 + .byte N12 , Fn4 , v076 + .byte W12 + .byte As4 , v072 + .byte W12 + .byte Fn4 , v064 + .byte W12 + .byte As4 , v060 + .byte W12 + .byte Fn4 , v056 + .byte W12 + .byte As4 , v052 + .byte W12 + .byte Fn4 , v048 + .byte W12 + .byte As4 , v044 + .byte W12 + .byte Fn4 , v040 + .byte W12 + .byte As4 , v032 + .byte W12 + .byte Fn4 , v028 + .byte W12 + .byte As4 , v024 + .byte W12 + .byte PATT + .word mus_maborosi_3_003 + .byte PATT + .word mus_maborosi_3_000 +mus_maborosi_3_004: + .byte N12 , Fn4 , v072 + .byte W12 + .byte As4 , v068 + .byte W12 + .byte Fn4 , v064 + .byte W12 + .byte As4 , v060 + .byte W12 + .byte Fn4 , v056 + .byte W12 + .byte As4 , v052 + .byte W12 + .byte PEND + .byte Fn4 , v044 + .byte W12 + .byte As4 , v040 + .byte W12 + .byte Fn4 , v036 + .byte W12 + .byte As4 , v032 + .byte W12 + .byte Fn4 , v028 + .byte W12 + .byte As4 , v024 + .byte W12 + .byte PATT + .word mus_maborosi_3_003 + .byte PATT + .word mus_maborosi_3_000 + .byte PATT + .word mus_maborosi_3_004 + .byte N12 , Fn4 , v044 + .byte W12 + .byte As4 , v040 + .byte W12 + .byte Fn4 , v036 + .byte W12 + .byte As4 , v032 + .byte W12 + .byte Fn4 , v028 + .byte W12 + .byte As4 , v020 + .byte W12 + .byte PATT + .word mus_maborosi_3_003 + .byte PATT + .word mus_maborosi_3_000 + .byte PATT + .word mus_maborosi_3_004 + .byte N12 , Fn4 , v048 + .byte W12 + .byte As4 , v044 + .byte W12 + .byte Fn4 , v036 + .byte W12 + .byte As4 , v032 + .byte W12 + .byte Fn4 , v028 + .byte W12 + .byte As4 , v024 + .byte W12 + .byte PATT + .word mus_maborosi_3_003 + .byte PATT + .word mus_maborosi_3_000 + .byte N12 , Fn4 , v076 + .byte W12 + .byte As4 , v072 + .byte W12 + .byte Fn4 , v068 + .byte W12 + .byte As4 , v060 + .byte W12 + .byte Fn4 , v056 + .byte W12 + .byte As4 , v052 + .byte W12 + .byte Fn4 , v048 + .byte W12 + .byte As4 , v044 + .byte W12 + .byte Fn4 , v040 + .byte W12 + .byte As4 , v036 + .byte W12 + .byte Fn4 , v032 + .byte W12 + .byte As4 , v028 + .byte W12 + .byte PATT + .word mus_maborosi_3_003 + .byte PATT + .word mus_maborosi_3_000 + .byte PATT + .word mus_maborosi_3_001 + .byte PATT + .word mus_maborosi_3_002 + .byte GOTO + .word mus_maborosi_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_maborosi_4: + .byte KEYSH , mus_maborosi_key+0 +mus_maborosi_4_B1: + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 50*mus_maborosi_mvl/mxv + .byte PAN , c_v-62 + .byte TIE , Dn3 , v064 + .byte W72 + .byte W60 + .byte EOT + .byte N06 , Ds3 + .byte W06 + .byte En3 + .byte W06 +mus_maborosi_4_000: + .byte N60 , Fn3 , v064 + .byte W60 + .byte N06 , Ds3 + .byte W06 + .byte Cs3 + .byte W06 + .byte PEND +mus_maborosi_4_001: + .byte N60 , Cn3 , v064 + .byte W60 + .byte N06 , Bn2 + .byte W06 + .byte Cs3 + .byte W06 + .byte PEND + .byte TIE , Dn3 + .byte W72 + .byte W66 + .byte EOT + .byte N06 , Cs3 + .byte W06 +mus_maborosi_4_002: + .byte N60 , Cn3 , v064 + .byte W60 + .byte N06 , As2 + .byte W06 + .byte Gs2 + .byte W06 + .byte PEND +mus_maborosi_4_003: + .byte N66 , Fn2 , v064 + .byte W66 + .byte N06 , Fs2 + .byte W06 + .byte PEND + .byte TIE , Gn2 + .byte W72 + .byte W60 + .byte EOT + .byte N06 , Cs3 + .byte W06 + .byte Ds3 + .byte W06 +mus_maborosi_4_004: + .byte N60 , Fs3 , v064 + .byte W60 + .byte N06 , Gs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte PEND + .byte N72 , Fn3 + .byte W72 + .byte TIE , Dn3 + .byte W72 + .byte W60 + .byte EOT + .byte N06 , Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte PATT + .word mus_maborosi_4_000 + .byte PATT + .word mus_maborosi_4_001 + .byte TIE , Dn3 , v064 + .byte W72 + .byte W66 + .byte EOT + .byte N06 , Cs3 + .byte W06 + .byte PATT + .word mus_maborosi_4_002 + .byte PATT + .word mus_maborosi_4_003 + .byte TIE , Gn2 , v064 + .byte W72 + .byte W60 + .byte EOT + .byte N06 , Cs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte PATT + .word mus_maborosi_4_004 + .byte N72 , Fn3 , v064 + .byte W72 + .byte TIE , Dn3 + .byte W72 + .byte W60 + .byte EOT + .byte N06 , Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte PATT + .word mus_maborosi_4_000 + .byte PATT + .word mus_maborosi_4_001 + .byte GOTO + .word mus_maborosi_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_maborosi_5: + .byte KEYSH , mus_maborosi_key+0 +mus_maborosi_5_B1: + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 50*mus_maborosi_mvl/mxv + .byte PAN , c_v+63 + .byte TIE , Gs3 , v064 + .byte W72 + .byte W60 + .byte EOT + .byte N06 + .byte W06 + .byte An3 + .byte W06 + .byte TIE , As3 + .byte W72 + .byte W66 + .byte EOT + .byte N06 , An3 + .byte W06 +mus_maborosi_5_000: + .byte N60 , Gs3 , v064 + .byte W60 + .byte N06 , Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte PEND +mus_maborosi_5_001: + .byte N60 , Dn4 , v064 + .byte W60 + .byte N12 , Bn3 + .byte W12 + .byte PEND +mus_maborosi_5_002: + .byte N60 , Cs4 , v064 + .byte W60 + .byte N12 , As3 + .byte W12 + .byte PEND +mus_maborosi_5_003: + .byte N66 , Cn4 , v064 + .byte W66 + .byte N06 , Fn3 + .byte W06 + .byte PEND +mus_maborosi_5_004: + .byte N60 , Fs3 , v064 + .byte W60 + .byte N06 , Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte PEND + .byte PATT + .word mus_maborosi_5_001 +mus_maborosi_5_005: + .byte N60 , Cs4 , v064 + .byte W60 + .byte N06 , Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte PEND + .byte N72 , Cn4 + .byte W72 + .byte TIE , Gs3 + .byte W72 + .byte W60 + .byte EOT + .byte N06 + .byte W06 + .byte An3 + .byte W06 + .byte TIE , As3 + .byte W72 + .byte W66 + .byte EOT + .byte N06 , An3 + .byte W06 + .byte PATT + .word mus_maborosi_5_000 + .byte PATT + .word mus_maborosi_5_001 + .byte PATT + .word mus_maborosi_5_002 + .byte PATT + .word mus_maborosi_5_003 + .byte PATT + .word mus_maborosi_5_004 + .byte PATT + .word mus_maborosi_5_001 + .byte PATT + .word mus_maborosi_5_005 + .byte N72 , Cn4 , v064 + .byte W72 + .byte TIE , Gs3 + .byte W72 + .byte W60 + .byte EOT + .byte N06 + .byte W06 + .byte An3 + .byte W06 + .byte TIE , As3 + .byte W72 + .byte W66 + .byte EOT + .byte N06 , An3 + .byte W06 + .byte GOTO + .word mus_maborosi_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_maborosi_6: + .byte KEYSH , mus_maborosi_key+0 +mus_maborosi_6_B1: + .byte VOICE , 0 + .byte VOL , 93*mus_maborosi_mvl/mxv + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte N48 , An2 , v052 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte GOTO + .word mus_maborosi_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_maborosi_7: + .byte KEYSH , mus_maborosi_key+0 +mus_maborosi_7_B1: + .byte VOICE , 87 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 75*mus_maborosi_mvl/mxv + .byte BEND , c_v+0 + .byte N60 , Bn1 , v064 + .byte W60 + .byte N06 , Fs1 + .byte W12 +mus_maborosi_7_000: + .byte N24 , Bn1 , v064 + .byte W24 + .byte N06 + .byte W12 + .byte Fs1 + .byte W12 + .byte N03 , As1 + .byte W03 + .byte N09 , Bn1 + .byte W09 + .byte N06 , An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte PEND +mus_maborosi_7_001: + .byte N60 , Fs1 , v064 + .byte W60 + .byte N06 , Cn1 + .byte W12 + .byte PEND +mus_maborosi_7_002: + .byte N30 , Fs1 , v064 + .byte W36 + .byte N06 , Cn1 + .byte W12 + .byte N03 , Fn1 + .byte W03 + .byte N09 , Fs1 + .byte W09 + .byte N06 , Gs1 + .byte W06 + .byte As1 + .byte W06 + .byte PEND +mus_maborosi_7_003: + .byte N60 , Bn1 , v064 + .byte W60 + .byte N06 , Fs1 + .byte W06 + .byte Gs1 + .byte W06 + .byte PEND + .byte PATT + .word mus_maborosi_7_000 + .byte PATT + .word mus_maborosi_7_001 + .byte N24 , Fs1 , v064 + .byte W24 + .byte N06 + .byte W12 + .byte Cn1 + .byte W12 + .byte N03 , Fn1 + .byte W03 + .byte N09 , Fs1 + .byte W09 + .byte N06 , Dn1 + .byte W06 + .byte Fs1 + .byte W06 +mus_maborosi_7_004: + .byte N60 , Gn1 , v064 + .byte W60 + .byte N06 , Bn0 + .byte W12 + .byte PEND +mus_maborosi_7_005: + .byte N48 , Gn1 , v064 + .byte W48 + .byte N06 , Bn0 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte PEND +mus_maborosi_7_006: + .byte N48 , Fs1 , v064 + .byte W48 + .byte N06 , Cs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte PEND + .byte N36 , Fs1 + .byte W36 + .byte N06 , Cn1 + .byte W12 + .byte N12 , Fs1 + .byte W12 + .byte N06 , As1 + .byte W12 +mus_maborosi_7_007: + .byte N60 , Bn1 , v064 + .byte W60 + .byte N06 , Fs1 + .byte W12 + .byte PEND + .byte N24 , Bn1 + .byte W24 + .byte N06 + .byte W12 + .byte Fs1 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte PATT + .word mus_maborosi_7_001 + .byte N30 , Fs1 , v064 + .byte W36 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte As1 + .byte W06 + .byte PATT + .word mus_maborosi_7_003 + .byte N60 , Bn1 , v064 + .byte W60 + .byte N06 , An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte PATT + .word mus_maborosi_7_001 + .byte N24 , Fs1 , v064 + .byte W36 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte PATT + .word mus_maborosi_7_004 + .byte PATT + .word mus_maborosi_7_005 + .byte PATT + .word mus_maborosi_7_006 + .byte N36 , Fs1 , v064 + .byte W36 + .byte N06 , Cn1 + .byte W12 + .byte N12 , Fs1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte PATT + .word mus_maborosi_7_007 + .byte PATT + .word mus_maborosi_7_000 + .byte PATT + .word mus_maborosi_7_001 + .byte PATT + .word mus_maborosi_7_002 + .byte GOTO + .word mus_maborosi_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_maborosi_8: + .byte KEYSH , mus_maborosi_key+0 +mus_maborosi_8_B1: + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 100*mus_maborosi_mvl/mxv + .byte PAN , c_v-17 + .byte N12 , Bn3 , v024 + .byte W12 + .byte Dn4 , v028 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte Dn4 , v036 + .byte W12 + .byte Bn3 , v040 + .byte W12 + .byte Dn4 , v044 + .byte W12 +mus_maborosi_8_000: + .byte N12 , Bn3 , v048 + .byte W12 + .byte Dn4 , v052 + .byte W12 + .byte Bn3 , v056 + .byte W12 + .byte Dn4 , v060 + .byte W12 + .byte Bn3 , v064 + .byte W12 + .byte Dn4 , v068 + .byte W12 + .byte PEND +mus_maborosi_8_001: + .byte N12 , As3 , v072 + .byte W12 + .byte Cn4 , v068 + .byte W12 + .byte As3 , v064 + .byte W12 + .byte Cn4 , v060 + .byte W12 + .byte As3 , v056 + .byte W12 + .byte Cn4 , v048 + .byte W12 + .byte PEND +mus_maborosi_8_002: + .byte N12 , As3 , v044 + .byte W12 + .byte Cn4 , v040 + .byte W12 + .byte As3 , v036 + .byte W12 + .byte Cn4 , v028 + .byte W12 + .byte As3 , v024 + .byte W12 + .byte Cn4 , v020 + .byte W12 + .byte PEND +mus_maborosi_8_003: + .byte N12 , Bn3 , v032 + .byte W12 + .byte Dn4 , v068 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte Dn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte PEND +mus_maborosi_8_004: + .byte N12 , Bn3 , v052 + .byte W12 + .byte Dn4 , v064 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte Dn4 + .byte W12 + .byte Bn3 , v036 + .byte W12 + .byte Dn4 , v048 + .byte W12 + .byte PEND +mus_maborosi_8_005: + .byte N12 , As3 , v064 + .byte W12 + .byte Cs4 + .byte W12 + .byte As3 , v032 + .byte W12 + .byte Cs4 + .byte W12 + .byte As3 + .byte W12 + .byte Cs4 + .byte W12 + .byte PEND +mus_maborosi_8_006: + .byte N12 , As3 , v052 + .byte W12 + .byte Cn4 , v064 + .byte W12 + .byte As3 , v032 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 , v036 + .byte W12 + .byte Cn4 , v048 + .byte W12 + .byte PEND +mus_maborosi_8_007: + .byte N12 , Fs3 , v064 + .byte W12 + .byte Bn3 + .byte W12 + .byte Fs3 , v032 + .byte W12 + .byte Bn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Bn3 + .byte W12 + .byte PEND +mus_maborosi_8_008: + .byte N12 , Gn3 , v052 + .byte W12 + .byte Bn3 , v064 + .byte W12 + .byte Gn3 , v032 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gn3 , v036 + .byte W12 + .byte Bn3 , v048 + .byte W12 + .byte PEND + .byte PATT + .word mus_maborosi_8_005 + .byte PATT + .word mus_maborosi_8_006 +mus_maborosi_8_009: + .byte N12 , Bn3 , v024 + .byte W12 + .byte Dn4 , v028 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte Dn4 , v036 + .byte W12 + .byte Bn3 , v040 + .byte W12 + .byte Dn4 , v044 + .byte W12 + .byte PEND + .byte PATT + .word mus_maborosi_8_000 + .byte N12 , As3 , v076 + .byte W12 + .byte Cn4 , v072 + .byte W12 + .byte As3 , v068 + .byte W12 + .byte Cn4 , v060 + .byte W12 + .byte As3 , v056 + .byte W12 + .byte Cn4 , v052 + .byte W12 + .byte As3 , v044 + .byte W12 + .byte Cn4 , v040 + .byte W12 + .byte As3 , v036 + .byte W12 + .byte Cn4 , v032 + .byte W12 + .byte As3 , v024 + .byte W12 + .byte Cn4 , v020 + .byte W12 + .byte PATT + .word mus_maborosi_8_003 + .byte PATT + .word mus_maborosi_8_004 + .byte PATT + .word mus_maborosi_8_005 + .byte PATT + .word mus_maborosi_8_006 + .byte PATT + .word mus_maborosi_8_007 + .byte PATT + .word mus_maborosi_8_008 + .byte PATT + .word mus_maborosi_8_005 + .byte PATT + .word mus_maborosi_8_006 + .byte PATT + .word mus_maborosi_8_009 + .byte PATT + .word mus_maborosi_8_000 + .byte PATT + .word mus_maborosi_8_001 + .byte PATT + .word mus_maborosi_8_002 + .byte GOTO + .word mus_maborosi_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_maborosi: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_maborosi_pri @ Priority + .byte mus_maborosi_rev @ Reverb. + + .word mus_maborosi_grp + + .word mus_maborosi_1 + .word mus_maborosi_2 + .word mus_maborosi_3 + .word mus_maborosi_4 + .word mus_maborosi_5 + .word mus_maborosi_6 + .word mus_maborosi_7 + .word mus_maborosi_8 + + .end diff --git a/sound/songs/mus_machi_s2.s b/sound/songs/mus_machi_s2.s new file mode 100644 index 0000000000..13406e1314 --- /dev/null +++ b/sound/songs/mus_machi_s2.s @@ -0,0 +1,1913 @@ + .include "MPlayDef.s" + + .equ mus_machi_s2_grp, voicegroup_8678824 + .equ mus_machi_s2_pri, 0 + .equ mus_machi_s2_rev, reverb_set+50 + .equ mus_machi_s2_mvl, 127 + .equ mus_machi_s2_key, 0 + .equ mus_machi_s2_tbs, 1 + .equ mus_machi_s2_exg, 0 + .equ mus_machi_s2_cmp, 1 + + .section .rodata + .global mus_machi_s2 + .align 2 + +@********************** Track 1 **********************@ + +mus_machi_s2_1: + .byte KEYSH , mus_machi_s2_key+0 + .byte TEMPO , 126*mus_machi_s2_tbs/2 + .byte VOICE , 56 + .byte XCMD , xIECV , 13 + .byte xIECL , 10 + .byte LFOS , 40 + .byte VOL , 80*mus_machi_s2_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N12 , Ds4 , v088 + .byte W24 + .byte Fn4 + .byte W24 + .byte N18 , Gn4 + .byte W18 + .byte Gs4 + .byte W18 + .byte N12 , As4 + .byte W12 +mus_machi_s2_1_B1: + .byte VOICE , 56 + .byte VOL , 80*mus_machi_s2_mvl/mxv + .byte N12 , Gs4 , v088 + .byte W24 + .byte N06 + .byte W06 + .byte As4 + .byte W06 + .byte N12 , Gs4 + .byte W12 + .byte Gn4 + .byte W24 + .byte N06 + .byte W06 + .byte Gs4 + .byte W06 + .byte N12 , Gn4 + .byte W12 + .byte N42 , Fn4 + .byte W15 + .byte MOD , 5 + .byte W09 + .byte VOL , 70*mus_machi_s2_mvl/mxv + .byte W05 + .byte 55*mus_machi_s2_mvl/mxv + .byte W06 + .byte 30*mus_machi_s2_mvl/mxv + .byte W05 + .byte 6*mus_machi_s2_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte W18 + .byte VOL , 80*mus_machi_s2_mvl/mxv + .byte N12 , Gs4 + .byte W12 + .byte Cs5 + .byte W12 + .byte Cn5 + .byte W12 + .byte As4 + .byte W24 + .byte N06 + .byte W06 + .byte Cn5 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte Fn4 + .byte W24 + .byte N06 + .byte W06 + .byte Gn4 + .byte W06 + .byte N12 , Gs4 + .byte W12 + .byte N32 , Gn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 70*mus_machi_s2_mvl/mxv + .byte W06 + .byte 60*mus_machi_s2_mvl/mxv + .byte W03 + .byte 42*mus_machi_s2_mvl/mxv + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_machi_s2_mvl/mxv + .byte N06 , Fn4 + .byte W12 + .byte N36 , Ds4 + .byte W12 + .byte MOD , 5 + .byte W06 + .byte VOL , 70*mus_machi_s2_mvl/mxv + .byte W06 + .byte 59*mus_machi_s2_mvl/mxv + .byte W06 + .byte 50*mus_machi_s2_mvl/mxv + .byte W03 + .byte 34*mus_machi_s2_mvl/mxv + .byte W03 + .byte 11*mus_machi_s2_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte VOL , 80*mus_machi_s2_mvl/mxv + .byte N12 , Cn5 + .byte W24 + .byte N06 + .byte W06 + .byte Cs5 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte As4 + .byte W24 + .byte N06 + .byte W06 + .byte Cn5 + .byte W06 + .byte N12 , As4 + .byte W12 + .byte N42 , Gs4 + .byte W15 + .byte MOD , 5 + .byte W09 + .byte VOL , 70*mus_machi_s2_mvl/mxv + .byte W05 + .byte 55*mus_machi_s2_mvl/mxv + .byte W06 + .byte 30*mus_machi_s2_mvl/mxv + .byte W05 + .byte 6*mus_machi_s2_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte W18 + .byte VOL , 80*mus_machi_s2_mvl/mxv + .byte N12 , Fn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Cs5 + .byte W24 + .byte N06 + .byte W06 + .byte Ds5 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte Cn5 + .byte W24 + .byte N06 + .byte W06 + .byte Cs5 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte N32 , As4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte VOL , 70*mus_machi_s2_mvl/mxv + .byte W06 + .byte 60*mus_machi_s2_mvl/mxv + .byte W03 + .byte 42*mus_machi_s2_mvl/mxv + .byte W03 + .byte 80*mus_machi_s2_mvl/mxv + .byte MOD , 0 + .byte N06 , Cn5 + .byte W12 + .byte N36 , Cs5 + .byte W15 + .byte MOD , 4 + .byte W03 + .byte VOL , 71*mus_machi_s2_mvl/mxv + .byte W06 + .byte 59*mus_machi_s2_mvl/mxv + .byte W06 + .byte 48*mus_machi_s2_mvl/mxv + .byte W03 + .byte 42*mus_machi_s2_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 31*mus_machi_s2_mvl/mxv + .byte W12 + .byte VOICE , 1 + .byte VOL , 80*mus_machi_s2_mvl/mxv + .byte PAN , c_v-7 + .byte N18 , Gs3 , v092 + .byte W18 + .byte PAN , c_v+0 + .byte N12 , Ds2 , v100 + .byte W18 + .byte N24 , Gs2 + .byte W24 + .byte N12 , Cn4 , v092 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte PAN , c_v-7 + .byte N18 , Cn4 + .byte W18 + .byte PAN , c_v+0 + .byte N12 , Fn2 , v100 + .byte W18 + .byte N24 , An2 + .byte W24 + .byte N12 , An3 , v092 + .byte W12 + .byte Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte PAN , c_v-7 + .byte N18 , As3 + .byte W18 + .byte PAN , c_v+0 + .byte N12 , Fn2 , v100 + .byte W18 + .byte N24 , As2 + .byte W24 + .byte PAN , c_v-8 + .byte N12 , Fn3 , v092 + .byte W12 + .byte Gn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte As3 + .byte W24 + .byte Gs3 + .byte W24 + .byte Gn3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N12 , Ds3 + .byte W12 + .byte VOICE , 73 + .byte PAN , c_v+0 + .byte N54 , Ds5 , v112 + .byte W15 + .byte MOD , 4 + .byte W36 + .byte W03 + .byte 0 + .byte W06 + .byte N12 + .byte W12 + .byte Fn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N54 , Fn5 + .byte W18 + .byte MOD , 4 + .byte W36 + .byte 0 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N54 , Cs5 + .byte W18 + .byte MOD , 4 + .byte W36 + .byte 0 + .byte W06 + .byte N12 + .byte W12 + .byte Cn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte As4 + .byte W24 + .byte Cn5 + .byte W24 + .byte N18 , Cs5 + .byte W18 + .byte Cn5 + .byte W18 + .byte N12 , As4 + .byte W12 + .byte GOTO + .word mus_machi_s2_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_machi_s2_2: + .byte KEYSH , mus_machi_s2_key+0 + .byte VOICE , 35 + .byte VOL , 80*mus_machi_s2_mvl/mxv + .byte PAN , c_v+15 + .byte BEND , c_v+0 + .byte N18 , Gn1 , v127 + .byte W24 + .byte Gs1 + .byte W24 + .byte As1 + .byte W18 + .byte Gs1 + .byte W18 + .byte N12 , Gn1 + .byte W12 +mus_machi_s2_2_B1: +mus_machi_s2_2_000: + .byte N12 , Gs1 , v127 + .byte W24 + .byte N24 , Ds1 + .byte W24 + .byte N12 , Gn1 + .byte W24 + .byte N24 , Ds1 + .byte W24 + .byte PEND +mus_machi_s2_2_001: + .byte N24 , Fn1 , v127 + .byte W24 + .byte Gs1 + .byte W24 + .byte N06 , Cn2 + .byte W12 + .byte N12 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cn2 + .byte W12 + .byte PEND + .byte As1 + .byte W24 + .byte N24 , Fn1 + .byte W24 + .byte N12 , Cs2 + .byte W24 + .byte N24 , Gs1 + .byte W24 + .byte Gn1 + .byte W24 + .byte As1 + .byte W24 + .byte N06 , Ds2 + .byte W12 + .byte N12 , Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PATT + .word mus_machi_s2_2_000 + .byte PATT + .word mus_machi_s2_2_001 + .byte N12 , As1 , v127 + .byte W24 + .byte N24 , Fn1 + .byte W24 + .byte N12 , Gs1 + .byte W24 + .byte N24 , Fn1 + .byte W24 + .byte N92 , Ds1 + .byte W72 + .byte W03 + .byte VOL , 73*mus_machi_s2_mvl/mxv + .byte W06 + .byte 66*mus_machi_s2_mvl/mxv + .byte W03 + .byte 56*mus_machi_s2_mvl/mxv + .byte W03 + .byte 47*mus_machi_s2_mvl/mxv + .byte W03 + .byte 27*mus_machi_s2_mvl/mxv + .byte W06 + .byte 80*mus_machi_s2_mvl/mxv + .byte N12 , Gs1 + .byte W18 + .byte Cn2 + .byte W18 + .byte Ds2 + .byte W12 + .byte N48 , Gs1 + .byte W48 + .byte N12 , Fn1 + .byte W18 + .byte An1 + .byte W18 + .byte Cn2 + .byte W12 + .byte N48 , Fn1 + .byte W48 + .byte N12 , As1 + .byte W18 + .byte Fn1 + .byte W18 + .byte As1 + .byte W12 + .byte N48 , As0 + .byte W48 + .byte N18 + .byte W24 + .byte Cs1 + .byte W24 + .byte N12 , Ds1 + .byte W12 + .byte N24 , Fn1 + .byte W24 + .byte N12 , Gn1 + .byte W12 + .byte VOL , 80*mus_machi_s2_mvl/mxv + .byte N12 , Gs1 + .byte W18 + .byte N06 + .byte W12 + .byte Cn2 , v096 + .byte W06 + .byte Gs1 , v127 + .byte W06 + .byte Ds1 , v096 + .byte W06 + .byte N12 , Gs1 , v127 + .byte W12 + .byte Cn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gs1 + .byte W12 + .byte An1 + .byte W18 + .byte N06 + .byte W12 + .byte Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte Fn1 , v096 + .byte W06 + .byte N12 , An1 , v127 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W18 + .byte N06 , Fn2 + .byte W12 + .byte Fn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte N12 , As1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte N48 , Ds1 + .byte W48 + .byte N18 + .byte W18 + .byte Fn1 + .byte W18 + .byte N12 , Gn1 + .byte W12 + .byte GOTO + .word mus_machi_s2_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_machi_s2_3: + .byte KEYSH , mus_machi_s2_key+0 + .byte VOICE , 1 + .byte PAN , c_v-17 + .byte VOL , 80*mus_machi_s2_mvl/mxv + .byte W48 + .byte N18 , Ds2 , v084 + .byte W18 + .byte Fn2 + .byte W18 + .byte N12 , Gn2 , v100 + .byte W12 +mus_machi_s2_3_B1: + .byte N48 , Gs2 , v100 + .byte W48 + .byte Gn2 + .byte W48 + .byte N24 , Fn2 , v084 + .byte W24 + .byte Cn2 , v100 + .byte W24 + .byte N12 , Gs2 + .byte W12 + .byte Gs2 , v076 + .byte W12 + .byte Cs3 , v100 + .byte W12 + .byte Cn3 + .byte W12 + .byte N48 , As2 + .byte W48 + .byte Gs2 + .byte W48 + .byte N24 , Gn2 + .byte W24 + .byte Ds2 + .byte W24 + .byte N12 , As2 + .byte W12 + .byte N06 , Ds2 , v088 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte Cs2 + .byte W24 + .byte Ds2 + .byte W24 + .byte Gn2 , v100 + .byte W24 + .byte Gs2 + .byte W24 + .byte As2 + .byte W24 + .byte Cn3 + .byte W24 + .byte Ds3 + .byte W24 + .byte N18 , Cs3 + .byte W24 + .byte N06 + .byte W06 + .byte Ds3 + .byte W06 + .byte N12 , Cs3 + .byte W12 + .byte N18 , Cn3 + .byte W24 + .byte N06 + .byte W06 + .byte Cs3 + .byte W06 + .byte N12 , Cn3 + .byte W12 + .byte N36 , As2 + .byte W36 + .byte N12 , Gs2 + .byte W12 + .byte N24 , Gn2 + .byte W24 + .byte PAN , c_v-8 + .byte N12 , Cn4 , v120 + .byte W12 + .byte Cs4 + .byte W12 + .byte N54 , Ds4 + .byte W60 + .byte N12 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N54 , Fn4 + .byte W60 + .byte N12 , Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte N54 , Cs4 + .byte W60 + .byte N12 , As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W24 + .byte Cs4 + .byte W24 + .byte Cn4 + .byte W12 + .byte N24 , As3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Ds2 , v088 + .byte W18 + .byte N06 , Ds2 , v100 + .byte W18 + .byte N36 , Cn3 + .byte W36 + .byte N24 , Ds3 + .byte W24 + .byte N12 , Fn3 + .byte W18 + .byte N06 + .byte W18 + .byte N36 , Cn3 + .byte W36 + .byte N24 , An2 + .byte W24 + .byte N12 , As2 + .byte W18 + .byte N06 + .byte W18 + .byte N36 , Fn2 , v080 + .byte W36 + .byte N24 , Cs2 , v084 + .byte W24 + .byte N48 , Gs2 , v100 + .byte W24 + .byte VOL , 77*mus_machi_s2_mvl/mxv + .byte W05 + .byte 69*mus_machi_s2_mvl/mxv + .byte W07 + .byte 63*mus_machi_s2_mvl/mxv + .byte W05 + .byte 56*mus_machi_s2_mvl/mxv + .byte W07 + .byte 80*mus_machi_s2_mvl/mxv + .byte N18 , As2 + .byte W18 + .byte Gs2 + .byte W18 + .byte N12 , Gn2 + .byte W12 + .byte GOTO + .word mus_machi_s2_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_machi_s2_4: + .byte KEYSH , mus_machi_s2_key+0 + .byte LFOS , 40 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte VOL , 68*mus_machi_s2_mvl/mxv + .byte W48 + .byte VOICE , 25 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N06 , Gn2 , v060 + .byte W06 + .byte N09 , As2 + .byte W09 + .byte BEND , c_v+22 + .byte W03 + .byte c_v+0 + .byte N06 , Ds3 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte BEND , c_v+5 + .byte W06 + .byte c_v+0 + .byte N03 , As2 + .byte W06 + .byte N06 , Ds3 + .byte W06 +mus_machi_s2_4_B1: + .byte VOICE , 27 + .byte N42 , Ds2 , v060 + .byte W42 + .byte VOICE , 25 + .byte N03 , Ds3 + .byte W06 + .byte VOICE , 27 + .byte N42 , Ds2 + .byte W42 + .byte VOICE , 25 + .byte N03 , Ds3 + .byte W06 +mus_machi_s2_4_000: + .byte VOICE , 27 + .byte N24 , Fn2 , v060 + .byte W24 + .byte VOICE , 25 + .byte N06 , Gs3 , v076 + .byte W24 + .byte N06 + .byte W12 + .byte VOICE , 27 + .byte N12 , Cn3 , v060 + .byte W12 + .byte Gs2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PEND + .byte N42 + .byte W42 + .byte VOICE , 25 + .byte N03 , Fn3 + .byte W06 + .byte VOICE , 27 + .byte N42 , Fn2 + .byte W42 + .byte VOICE , 25 + .byte N03 , Fn3 + .byte W06 + .byte VOICE , 27 + .byte N24 , Gn2 + .byte W24 + .byte VOICE , 25 + .byte N06 , As3 + .byte W24 + .byte N06 + .byte W12 + .byte VOICE , 27 + .byte N12 , Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn2 + .byte W12 + .byte N36 , Ds2 + .byte W42 + .byte VOICE , 25 + .byte N03 , Ds3 + .byte W06 + .byte VOICE , 27 + .byte N42 , Ds2 + .byte W42 + .byte VOICE , 25 + .byte N03 , Ds3 + .byte W06 + .byte PATT + .word mus_machi_s2_4_000 + .byte N42 , Fn2 , v060 + .byte W42 + .byte VOICE , 25 + .byte N03 , Fn3 + .byte W18 + .byte VOICE , 27 + .byte N12 + .byte W24 + .byte Cn3 + .byte W12 + .byte N48 , Ds3 + .byte W48 + .byte N24 , As2 + .byte W24 + .byte Gn2 + .byte W24 + .byte VOICE , 25 + .byte N18 , Gs2 , v064 + .byte W18 + .byte N03 , Gs2 , v076 + .byte W18 + .byte N06 , Gs2 , v064 + .byte W12 + .byte N09 + .byte W12 + .byte N06 , Gs2 , v076 + .byte W12 + .byte N12 , Ds2 + .byte W09 + .byte BEND , c_v+16 + .byte W03 + .byte c_v+0 + .byte N06 , Gs2 , v060 + .byte W12 + .byte N18 , An2 , v064 + .byte W18 + .byte N03 , An2 , v076 + .byte W18 + .byte N06 , An2 , v064 + .byte W12 + .byte N09 + .byte W12 + .byte N06 , An2 , v076 + .byte W12 + .byte N12 , Fn2 + .byte W09 + .byte BEND , c_v+16 + .byte W03 + .byte c_v+0 + .byte N06 , An2 , v064 + .byte W12 + .byte N18 , As2 + .byte W18 + .byte N03 , As2 , v076 + .byte W18 + .byte N06 , Cs3 , v064 + .byte W12 + .byte N09 , As2 + .byte W12 + .byte N06 , As2 , v076 + .byte W12 + .byte N12 , Cn3 , v064 + .byte W09 + .byte BEND , c_v+16 + .byte W03 + .byte c_v+0 + .byte N06 , Cs3 + .byte W12 + .byte N18 , Ds3 + .byte W18 + .byte N03 , Ds3 , v076 + .byte W18 + .byte N06 , Ds3 , v064 + .byte W12 + .byte VOICE , 27 + .byte N12 , As2 + .byte W12 + .byte N24 , Gn2 + .byte W24 + .byte N12 , Ds2 + .byte W12 + .byte VOICE , 25 + .byte N06 , Cn3 + .byte W06 + .byte N03 , Cn3 , v076 + .byte W12 + .byte N03 + .byte W18 + .byte N06 , Cn3 , v064 + .byte W12 + .byte N03 + .byte W06 + .byte Cn3 , v076 + .byte W06 + .byte Ds3 + .byte W12 + .byte VOICE , 27 + .byte N18 , Ds2 , v064 + .byte W18 + .byte VOICE , 25 + .byte N06 , Cn3 + .byte W06 + .byte VOICE , 25 + .byte N06 , Cn3 , v068 + .byte W06 + .byte N03 , Cn3 , v076 + .byte W12 + .byte N03 + .byte W18 + .byte N06 , Cn3 , v064 + .byte W12 + .byte N03 , An2 + .byte W06 + .byte An2 , v076 + .byte W06 + .byte Cn3 + .byte W12 + .byte VOICE , 27 + .byte N18 , Fn2 , v064 + .byte W18 + .byte VOICE , 25 + .byte N06 , An2 + .byte W06 + .byte VOICE , 27 + .byte N30 , Fn2 + .byte W30 + .byte VOICE , 25 + .byte N06 , Fn3 , v076 + .byte W12 + .byte Cs3 , v064 + .byte W06 + .byte As2 + .byte W12 + .byte Fn3 , v076 + .byte W12 + .byte VOICE , 27 + .byte N12 , Fn2 , v064 + .byte W12 + .byte Cs3 , v076 + .byte W12 + .byte N48 , Ds3 , v064 + .byte W48 + .byte N18 , Gn3 + .byte W18 + .byte Fn3 + .byte W18 + .byte N12 , Ds3 + .byte W12 + .byte GOTO + .word mus_machi_s2_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_machi_s2_5: + .byte KEYSH , mus_machi_s2_key+0 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte W48 + .byte VOICE , 24 + .byte VOL , 72*mus_machi_s2_mvl/mxv + .byte PAN , c_v+48 + .byte BEND , c_v+0 + .byte N06 , As2 , v048 + .byte W06 + .byte N09 , Ds3 , v060 + .byte W09 + .byte BEND , c_v+22 + .byte W03 + .byte c_v+0 + .byte N06 , Gn3 , v048 + .byte W06 + .byte N03 , As2 , v060 + .byte W06 + .byte BEND , c_v+5 + .byte W06 + .byte c_v+0 + .byte N03 , Ds3 + .byte W06 + .byte N06 , Gn3 + .byte W06 +mus_machi_s2_5_B1: + .byte VOICE , 26 + .byte N12 , Gs2 , v064 + .byte W09 + .byte BEND , c_v+24 + .byte W03 + .byte VOICE , 24 + .byte BEND , c_v+0 + .byte N06 , Gs3 + .byte W12 + .byte Ds3 + .byte W06 + .byte VOICE , 26 + .byte BEND , c_v-26 + .byte N12 , Gs3 , v052 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte VOICE , 24 + .byte N03 , Gs3 , v064 + .byte W06 + .byte N06 , Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W06 + .byte VOICE , 26 + .byte BEND , c_v-24 + .byte N12 , Gn3 , v052 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte VOICE , 24 + .byte N03 , Gn3 , v064 + .byte W06 + .byte N06 , Gs2 , v076 + .byte W12 + .byte VOICE , 26 + .byte BEND , c_v-24 + .byte N12 , Fn3 , v060 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte VOICE , 24 + .byte N06 , Cn4 , v076 + .byte W06 + .byte Gs3 , v060 + .byte W12 + .byte Fn3 + .byte W06 + .byte Cn4 , v076 + .byte W12 + .byte VOICE , 26 + .byte N12 , Fn3 , v064 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gs2 + .byte W12 + .byte VOICE , 26 + .byte N12 , As2 + .byte W09 + .byte BEND , c_v+24 + .byte W03 + .byte VOICE , 24 + .byte BEND , c_v+0 + .byte N06 , As3 + .byte W12 + .byte Fn3 + .byte W06 + .byte VOICE , 26 + .byte BEND , c_v-23 + .byte N12 , As3 , v052 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte VOICE , 24 + .byte N03 , As3 , v064 + .byte W06 + .byte N06 , Fn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fn3 + .byte W06 + .byte VOICE , 26 + .byte BEND , c_v-23 + .byte N12 , Gs3 , v052 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte VOICE , 24 + .byte N03 , Gs3 , v064 + .byte W06 + .byte N06 , As2 , v080 + .byte W12 + .byte VOICE , 26 + .byte BEND , c_v-21 + .byte N12 , Ds3 , v064 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte VOICE , 24 + .byte N06 , Ds4 , v080 + .byte W06 + .byte As3 , v064 + .byte W12 + .byte Gn3 + .byte W06 + .byte Ds4 , v080 + .byte W12 + .byte VOICE , 26 + .byte N12 , As3 , v064 + .byte W12 + .byte Gn3 + .byte W12 + .byte As2 + .byte W12 + .byte VOICE , 26 + .byte N06 , Gs2 , v048 + .byte W06 + .byte Ds3 , v060 + .byte W06 + .byte VOICE , 24 + .byte N06 , Gs3 , v068 + .byte W12 + .byte Ds3 , v076 + .byte W06 + .byte VOICE , 26 + .byte BEND , c_v-23 + .byte N12 , Gs3 , v052 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte VOICE , 24 + .byte N03 , Gs3 , v068 + .byte W06 + .byte N06 , Ds3 , v044 + .byte W12 + .byte Gn3 , v064 + .byte W12 + .byte Ds3 , v076 + .byte W06 + .byte VOICE , 26 + .byte BEND , c_v-21 + .byte N12 , Gn3 , v052 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte VOICE , 24 + .byte N03 , Gn3 , v068 + .byte W06 + .byte N06 , Gs2 , v076 + .byte W12 + .byte VOICE , 26 + .byte N12 , Fn3 , v060 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte VOICE , 24 + .byte N06 , Cn4 , v076 + .byte W06 + .byte Gs3 , v060 + .byte W12 + .byte Fn3 + .byte W06 + .byte Cn4 , v076 + .byte W12 + .byte VOICE , 26 + .byte N12 , Fn3 , v064 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gs2 + .byte W12 + .byte VOICE , 24 + .byte N06 , As2 , v048 + .byte W06 + .byte Fn3 , v060 + .byte W06 + .byte As3 , v068 + .byte W12 + .byte Fn3 , v076 + .byte W06 + .byte VOICE , 26 + .byte BEND , c_v-23 + .byte N12 , As3 , v052 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte VOICE , 24 + .byte N03 , As3 , v068 + .byte W06 + .byte N06 , Fn3 , v052 + .byte W12 + .byte VOICE , 26 + .byte BEND , c_v-23 + .byte N12 , Gs3 , v064 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte VOICE , 24 + .byte N06 , Cn3 , v052 + .byte W12 + .byte VOICE , 26 + .byte N12 , Fn3 , v060 + .byte W09 + .byte BEND , c_v-20 + .byte W03 + .byte c_v+0 + .byte W03 + .byte N44 , As3 , v052 + .byte W03 + .byte BEND , c_v-17 + .byte W03 + .byte c_v+0 + .byte W36 + .byte W03 + .byte N24 , Ds3 , v048 + .byte W24 + .byte As2 + .byte W24 + .byte VOICE , 26 + .byte N18 , Ds3 , v064 + .byte W18 + .byte VOICE , 24 + .byte N03 , Ds3 , v076 + .byte W18 + .byte N06 , Ds3 , v064 + .byte W12 + .byte N09 + .byte W12 + .byte N06 , Ds3 , v076 + .byte W12 + .byte VOICE , 26 + .byte N12 , Gs2 + .byte W09 + .byte BEND , c_v+16 + .byte W03 + .byte VOICE , 24 + .byte BEND , c_v+0 + .byte N06 , Ds3 , v060 + .byte W12 + .byte VOICE , 26 + .byte N18 , Fn3 , v064 + .byte W18 + .byte VOICE , 24 + .byte N03 , Fn3 , v076 + .byte W18 + .byte N06 , Fn3 , v064 + .byte W12 + .byte N09 + .byte W12 + .byte N06 , Fn3 , v076 + .byte W12 + .byte VOICE , 26 + .byte N12 , Cn3 + .byte W09 + .byte BEND , c_v+16 + .byte W03 + .byte VOICE , 24 + .byte BEND , c_v+0 + .byte N06 , Fn3 , v064 + .byte W12 + .byte VOICE , 26 + .byte N18 , Cs3 + .byte W18 + .byte VOICE , 24 + .byte N03 , Cs3 , v076 + .byte W18 + .byte N06 , Fn3 , v064 + .byte W12 + .byte N09 , Cs3 + .byte W12 + .byte N06 , Cs3 , v076 + .byte W12 + .byte VOICE , 26 + .byte N12 , Ds3 , v064 + .byte W09 + .byte BEND , c_v+16 + .byte W03 + .byte VOICE , 24 + .byte BEND , c_v+0 + .byte N06 , Fn3 + .byte W12 + .byte VOICE , 26 + .byte N18 , Gs3 + .byte W18 + .byte VOICE , 24 + .byte N03 , Gs3 , v076 + .byte W18 + .byte N06 , Gs3 , v064 + .byte W12 + .byte VOICE , 26 + .byte N12 , Ds3 + .byte W12 + .byte N24 , Cs3 + .byte W24 + .byte N12 , As2 + .byte W12 + .byte VOICE , 24 + .byte N06 , Ds3 + .byte W06 + .byte N03 , Ds3 , v076 + .byte W12 + .byte N03 + .byte W18 + .byte N06 , Ds3 , v064 + .byte W12 + .byte N03 + .byte W06 + .byte Ds3 , v076 + .byte W06 + .byte Gs3 + .byte W12 + .byte N06 , Gs2 , v064 + .byte W06 + .byte Ds3 , v076 + .byte W06 + .byte Gs3 + .byte W06 + .byte Ds3 , v064 + .byte W06 + .byte Fn3 , v068 + .byte W06 + .byte N03 , Fn3 , v076 + .byte W12 + .byte N03 + .byte W18 + .byte N06 , Fn3 , v064 + .byte W12 + .byte N03 , Cn3 + .byte W06 + .byte Cn3 , v076 + .byte W06 + .byte Fn3 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte Cn3 , v064 + .byte W06 + .byte Fn3 , v076 + .byte W06 + .byte Cn3 , v064 + .byte W06 + .byte VOICE , 26 + .byte N12 , Cs3 + .byte W09 + .byte BEND , c_v+14 + .byte W03 + .byte VOICE , 24 + .byte BEND , c_v+0 + .byte N06 , Fn3 + .byte W06 + .byte N03 , Cs3 , v080 + .byte W06 + .byte N06 , Fn3 , v064 + .byte W06 + .byte As3 , v076 + .byte W12 + .byte Fn3 , v064 + .byte W06 + .byte Cs3 + .byte W12 + .byte As3 , v076 + .byte W12 + .byte VOICE , 26 + .byte N12 , As2 , v064 + .byte W09 + .byte BEND , c_v+23 + .byte W03 + .byte c_v+0 + .byte N12 , Fn3 , v076 + .byte W09 + .byte BEND , c_v-16 + .byte W03 + .byte c_v+0 + .byte W03 + .byte N44 , Gs3 , v064 + .byte W44 + .byte W01 + .byte N18 , As3 + .byte W18 + .byte Gs3 + .byte W18 + .byte N12 , Gn3 + .byte W12 + .byte GOTO + .word mus_machi_s2_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_machi_s2_6: + .byte KEYSH , mus_machi_s2_key+0 + .byte LFOS , 40 + .byte PAN , c_v+0 + .byte W96 +mus_machi_s2_6_B1: + .byte VOL , 80*mus_machi_s2_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 74 + .byte N42 , Gs4 , v040 + .byte W12 + .byte MOD , 4 + .byte W32 + .byte W01 + .byte 0 + .byte N03 , Dn5 + .byte W03 + .byte N42 , Ds5 + .byte W15 + .byte MOD , 4 + .byte W30 + .byte N03 , As4 + .byte W03 + .byte MOD , 0 + .byte N12 , Cn5 + .byte W24 + .byte N06 + .byte W06 + .byte As4 + .byte W12 + .byte Cn5 + .byte W06 + .byte N12 , Gs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Cn5 + .byte W12 + .byte As4 + .byte W24 + .byte N06 + .byte W06 + .byte Cn5 + .byte W06 + .byte N12 , As4 + .byte W12 + .byte Fn4 + .byte W24 + .byte N06 , Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte N12 , Gs4 + .byte W12 + .byte N32 + .byte W12 + .byte MOD , 4 + .byte W21 + .byte 0 + .byte W03 + .byte N06 + .byte W12 + .byte N36 , Gn4 + .byte W18 + .byte VOL , 71*mus_machi_s2_mvl/mxv + .byte W06 + .byte 59*mus_machi_s2_mvl/mxv + .byte W06 + .byte 48*mus_machi_s2_mvl/mxv + .byte W03 + .byte 42*mus_machi_s2_mvl/mxv + .byte W03 + .byte 31*mus_machi_s2_mvl/mxv + .byte W12 + .byte 80*mus_machi_s2_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 81 + .byte N36 , Ds2 , v064 + .byte W48 + .byte Gn2 + .byte W48 + .byte N32 , Gs2 + .byte W36 + .byte VOICE , 74 + .byte N54 , Cn5 , v040 + .byte W24 + .byte MOD , 4 + .byte W30 + .byte 0 + .byte W06 + .byte N12 + .byte W12 + .byte Cs5 + .byte W12 + .byte Ds5 + .byte W12 + .byte N24 , Cn5 + .byte W09 + .byte MOD , 4 + .byte W15 + .byte 0 + .byte N12 , An4 + .byte W12 + .byte As4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N54 , As4 + .byte W18 + .byte MOD , 4 + .byte W36 + .byte 0 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W24 + .byte Fn4 + .byte W24 + .byte N18 , Gn4 + .byte W18 + .byte Fn4 + .byte W18 + .byte N12 , Ds4 + .byte W12 + .byte GOTO + .word mus_machi_s2_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_machi_s2_7: + .byte KEYSH , mus_machi_s2_key+0 + .byte PAN , c_v-48 + .byte W96 +mus_machi_s2_7_B1: + .byte VOICE , 127 + .byte VOL , 75*mus_machi_s2_mvl/mxv + .byte N06 , Gs4 , v040 + .byte W12 + .byte N06 + .byte W12 + .byte N09 , Gs4 , v052 + .byte W12 + .byte N06 , Gs4 , v040 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N09 , Gs4 , v052 + .byte W12 + .byte N06 , Gs4 , v040 + .byte W06 + .byte N06 + .byte W06 +mus_machi_s2_7_000: + .byte N06 , Gs4 , v040 + .byte W12 + .byte N06 + .byte W12 + .byte N09 , Gs4 , v052 + .byte W12 + .byte N06 , Gs4 , v040 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N09 , Gs4 , v052 + .byte W12 + .byte N06 , Gs4 , v040 + .byte W06 + .byte N06 + .byte W06 + .byte PEND + .byte PATT + .word mus_machi_s2_7_000 + .byte PATT + .word mus_machi_s2_7_000 + .byte PATT + .word mus_machi_s2_7_000 + .byte PATT + .word mus_machi_s2_7_000 + .byte PATT + .word mus_machi_s2_7_000 +mus_machi_s2_7_001: + .byte VOICE , 126 + .byte N06 , Gn4 , v052 + .byte W96 + .byte PEND + .byte VOICE , 127 + .byte N06 , Gs4 , v040 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Gs4 , v052 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte Gs4 , v052 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Gs4 , v052 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 +mus_machi_s2_7_002: + .byte N06 , Gs4 , v040 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Gs4 , v052 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Gs4 , v052 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PEND +mus_machi_s2_7_003: + .byte N06 , Gs4 , v040 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Gs4 , v052 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte Gs4 , v052 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Gs4 , v052 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PEND + .byte PATT + .word mus_machi_s2_7_002 + .byte PATT + .word mus_machi_s2_7_003 + .byte PATT + .word mus_machi_s2_7_002 + .byte PATT + .word mus_machi_s2_7_003 + .byte PATT + .word mus_machi_s2_7_001 + .byte GOTO + .word mus_machi_s2_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_machi_s2_8: + .byte KEYSH , mus_machi_s2_key+0 + .byte VOICE , 0 + .byte VOL , 80*mus_machi_s2_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Cn1 , v112 + .byte W24 + .byte Dn1 , v116 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W12 + .byte Dn1 , v092 + .byte W06 + .byte Dn1 , v116 + .byte W06 +mus_machi_s2_8_B1: +mus_machi_s2_8_000: + .byte N06 , Cn1 , v112 + .byte W12 + .byte Dn3 , v056 + .byte W12 + .byte Dn1 , v116 + .byte W12 + .byte Dn3 , v056 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn3 , v056 + .byte W12 + .byte Dn1 , v116 + .byte W12 + .byte Dn3 , v056 + .byte W06 + .byte En3 + .byte W06 + .byte PEND +mus_machi_s2_8_001: + .byte N06 , Cn1 , v112 + .byte W12 + .byte Dn3 , v056 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn3 , v056 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn3 , v056 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn3 , v056 + .byte W12 + .byte Dn1 , v116 + .byte W12 + .byte Dn3 , v056 + .byte W06 + .byte En3 + .byte W06 + .byte PEND + .byte PATT + .word mus_machi_s2_8_000 + .byte PATT + .word mus_machi_s2_8_001 + .byte PATT + .word mus_machi_s2_8_000 + .byte PATT + .word mus_machi_s2_8_001 + .byte N06 , Cn1 , v112 + .byte W12 + .byte Dn3 , v056 + .byte W12 + .byte Dn1 , v116 + .byte W12 + .byte Dn3 , v056 + .byte W06 + .byte En3 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn3 , v056 + .byte W12 + .byte Dn1 , v116 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte N06 + .byte W84 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte Fs2 , v072 + .byte W24 + .byte Cn1 , v112 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Fs2 , v072 + .byte W12 + .byte N06 + .byte W24 + .byte Cn1 , v112 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Fs2 , v072 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W24 + .byte Cn1 , v112 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Dn1 , v116 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 +mus_machi_s2_8_002: + .byte N06 , Cn1 , v112 + .byte W12 + .byte Dn3 , v056 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 , v116 + .byte W06 + .byte Dn3 , v056 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn3 , v056 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn3 , v056 + .byte W12 + .byte Dn1 , v116 + .byte W12 + .byte Dn3 , v056 + .byte W06 + .byte En3 + .byte W06 + .byte PEND + .byte PATT + .word mus_machi_s2_8_002 + .byte N06 , Cn1 , v112 + .byte W12 + .byte Dn3 , v056 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 , v116 + .byte W06 + .byte Dn3 , v056 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn3 , v056 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn3 , v056 + .byte W12 + .byte Dn1 , v116 + .byte W06 + .byte Dn3 , v056 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte En3 , v056 + .byte W06 + .byte Cn1 , v112 + .byte W48 + .byte Dn1 , v116 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 , v116 + .byte W12 + .byte Dn1 , v092 + .byte W06 + .byte Dn1 , v116 + .byte W06 + .byte GOTO + .word mus_machi_s2_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_machi_s2: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_machi_s2_pri @ Priority + .byte mus_machi_s2_rev @ Reverb. + + .word mus_machi_s2_grp + + .word mus_machi_s2_1 + .word mus_machi_s2_2 + .word mus_machi_s2_3 + .word mus_machi_s2_4 + .word mus_machi_s2_5 + .word mus_machi_s2_6 + .word mus_machi_s2_7 + .word mus_machi_s2_8 + + .end diff --git a/sound/songs/mus_machi_s3.s b/sound/songs/mus_machi_s3.s new file mode 100644 index 0000000000..fae3ba7e5d --- /dev/null +++ b/sound/songs/mus_machi_s3.s @@ -0,0 +1,1768 @@ + .include "MPlayDef.s" + + .equ mus_machi_s3_grp, voicegroup_867CB44 + .equ mus_machi_s3_pri, 0 + .equ mus_machi_s3_rev, reverb_set+50 + .equ mus_machi_s3_mvl, 127 + .equ mus_machi_s3_key, 0 + .equ mus_machi_s3_tbs, 1 + .equ mus_machi_s3_exg, 0 + .equ mus_machi_s3_cmp, 1 + + .section .rodata + .global mus_machi_s3 + .align 2 + +@********************** Track 1 **********************@ + +mus_machi_s3_1: + .byte KEYSH , mus_machi_s3_key+0 + .byte TEMPO , 128*mus_machi_s3_tbs/2 + .byte VOICE , 73 + .byte VOL , 80*mus_machi_s3_mvl/mxv + .byte LFOS , 36 + .byte PAN , c_v-5 + .byte N08 , Fn4 , v112 + .byte W16 + .byte En4 + .byte W08 + .byte Cn4 + .byte W16 + .byte As3 + .byte W08 + .byte An3 + .byte W16 + .byte Gn3 + .byte W08 + .byte An3 + .byte W16 + .byte As3 + .byte W08 + .byte N72 , Cn4 + .byte W24 + .byte VOL , 75*mus_machi_s3_mvl/mxv + .byte MOD , 7 + .byte W08 + .byte VOL , 70*mus_machi_s3_mvl/mxv + .byte W08 + .byte 63*mus_machi_s3_mvl/mxv + .byte W08 + .byte 55*mus_machi_s3_mvl/mxv + .byte W08 + .byte 45*mus_machi_s3_mvl/mxv + .byte W04 + .byte 36*mus_machi_s3_mvl/mxv + .byte W04 + .byte 26*mus_machi_s3_mvl/mxv + .byte W04 + .byte 13*mus_machi_s3_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W24 +mus_machi_s3_1_B1: +mus_machi_s3_1_000: + .byte VOL , 80*mus_machi_s3_mvl/mxv + .byte N08 , Fn3 , v112 + .byte W16 + .byte An3 + .byte W08 + .byte As3 + .byte W16 + .byte N16 , Cn4 + .byte W08 + .byte VOL , 68*mus_machi_s3_mvl/mxv + .byte W04 + .byte 49*mus_machi_s3_mvl/mxv + .byte W12 + .byte 80*mus_machi_s3_mvl/mxv + .byte N08 , Dn4 + .byte W08 + .byte En4 + .byte W16 + .byte Fn4 + .byte W08 + .byte PEND +mus_machi_s3_1_001: + .byte N32 , Gn4 , v112 + .byte W16 + .byte MOD , 7 + .byte W16 + .byte 0 + .byte W08 + .byte N44 , Fn4 + .byte W20 + .byte VOL , 72*mus_machi_s3_mvl/mxv + .byte MOD , 7 + .byte W04 + .byte VOL , 62*mus_machi_s3_mvl/mxv + .byte W04 + .byte 52*mus_machi_s3_mvl/mxv + .byte W04 + .byte 39*mus_machi_s3_mvl/mxv + .byte W04 + .byte 24*mus_machi_s3_mvl/mxv + .byte W04 + .byte 8*mus_machi_s3_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W12 + .byte PEND + .byte VOL , 80*mus_machi_s3_mvl/mxv + .byte N32 , Gn4 + .byte W16 + .byte MOD , 7 + .byte W16 + .byte 0 + .byte W08 + .byte N20 , Fn4 + .byte W08 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte W04 + .byte N08 , Cs4 + .byte W08 + .byte Ds4 + .byte W16 + .byte Cs4 + .byte W08 + .byte N84 , Cn4 + .byte W24 + .byte VOL , 75*mus_machi_s3_mvl/mxv + .byte W12 + .byte MOD , 7 + .byte W04 + .byte VOL , 70*mus_machi_s3_mvl/mxv + .byte W12 + .byte 63*mus_machi_s3_mvl/mxv + .byte W08 + .byte 55*mus_machi_s3_mvl/mxv + .byte W08 + .byte 45*mus_machi_s3_mvl/mxv + .byte W04 + .byte 36*mus_machi_s3_mvl/mxv + .byte W04 + .byte 26*mus_machi_s3_mvl/mxv + .byte W04 + .byte 13*mus_machi_s3_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W12 + .byte VOL , 80*mus_machi_s3_mvl/mxv + .byte N08 , As3 + .byte W16 + .byte An3 + .byte W08 + .byte As3 + .byte W16 + .byte N16 , Gn3 + .byte W08 + .byte VOL , 68*mus_machi_s3_mvl/mxv + .byte W04 + .byte 49*mus_machi_s3_mvl/mxv + .byte W12 + .byte 80*mus_machi_s3_mvl/mxv + .byte N08 + .byte W08 + .byte An3 + .byte W16 + .byte As3 + .byte W08 + .byte Cn4 + .byte W16 + .byte N08 + .byte W08 + .byte An3 + .byte W16 + .byte N44 , Cn4 + .byte W16 + .byte MOD , 7 + .byte W04 + .byte VOL , 72*mus_machi_s3_mvl/mxv + .byte W04 + .byte 62*mus_machi_s3_mvl/mxv + .byte W04 + .byte 52*mus_machi_s3_mvl/mxv + .byte W04 + .byte 39*mus_machi_s3_mvl/mxv + .byte W04 + .byte 24*mus_machi_s3_mvl/mxv + .byte W04 + .byte 8*mus_machi_s3_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W12 + .byte VOL , 80*mus_machi_s3_mvl/mxv + .byte N08 , Dn4 + .byte W16 + .byte Cn4 + .byte W08 + .byte Dn4 + .byte W16 + .byte N16 , As3 + .byte W08 + .byte VOL , 68*mus_machi_s3_mvl/mxv + .byte MOD , 7 + .byte W04 + .byte VOL , 49*mus_machi_s3_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W08 + .byte VOL , 80*mus_machi_s3_mvl/mxv + .byte N08 , Fn4 + .byte W08 + .byte Gn4 + .byte W16 + .byte Fn4 + .byte W08 + .byte N84 , En4 + .byte W24 + .byte VOL , 75*mus_machi_s3_mvl/mxv + .byte W12 + .byte MOD , 7 + .byte W04 + .byte VOL , 70*mus_machi_s3_mvl/mxv + .byte W12 + .byte 63*mus_machi_s3_mvl/mxv + .byte W08 + .byte 55*mus_machi_s3_mvl/mxv + .byte W08 + .byte 45*mus_machi_s3_mvl/mxv + .byte W04 + .byte 36*mus_machi_s3_mvl/mxv + .byte W04 + .byte 26*mus_machi_s3_mvl/mxv + .byte W04 + .byte 13*mus_machi_s3_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W12 + .byte PATT + .word mus_machi_s3_1_000 + .byte PATT + .word mus_machi_s3_1_001 + .byte VOL , 80*mus_machi_s3_mvl/mxv + .byte N36 , Gn4 , v112 + .byte W16 + .byte MOD , 7 + .byte W16 + .byte 0 + .byte W08 + .byte N16 , Fn4 + .byte W08 + .byte VOL , 68*mus_machi_s3_mvl/mxv + .byte MOD , 7 + .byte W04 + .byte VOL , 49*mus_machi_s3_mvl/mxv + .byte W08 + .byte MOD , 0 + .byte W04 + .byte VOL , 80*mus_machi_s3_mvl/mxv + .byte N08 , En4 + .byte W08 + .byte N16 , Fn4 + .byte W16 + .byte N08 , Gn4 + .byte W08 + .byte N84 , An4 + .byte W36 + .byte MOD , 7 + .byte W24 + .byte VOL , 72*mus_machi_s3_mvl/mxv + .byte W04 + .byte 62*mus_machi_s3_mvl/mxv + .byte W04 + .byte 52*mus_machi_s3_mvl/mxv + .byte W04 + .byte 39*mus_machi_s3_mvl/mxv + .byte W04 + .byte 24*mus_machi_s3_mvl/mxv + .byte W04 + .byte 8*mus_machi_s3_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W12 + .byte VOL , 80*mus_machi_s3_mvl/mxv + .byte N08 , As4 + .byte W16 + .byte An4 + .byte W08 + .byte As4 + .byte W16 + .byte N16 , Dn4 + .byte W08 + .byte VOL , 68*mus_machi_s3_mvl/mxv + .byte MOD , 7 + .byte W04 + .byte VOL , 49*mus_machi_s3_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W08 + .byte VOL , 80*mus_machi_s3_mvl/mxv + .byte N08 , Gn4 + .byte W08 + .byte N16 , An4 + .byte W08 + .byte MOD , 7 + .byte W08 + .byte 0 + .byte N08 , As4 + .byte W08 + .byte An4 + .byte W24 + .byte Gn4 + .byte W24 + .byte N16 , Fn4 + .byte W08 + .byte VOL , 68*mus_machi_s3_mvl/mxv + .byte MOD , 7 + .byte W04 + .byte VOL , 49*mus_machi_s3_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W08 + .byte VOL , 80*mus_machi_s3_mvl/mxv + .byte N08 , An3 + .byte W16 + .byte As3 + .byte W08 + .byte N68 , Cn4 + .byte W36 + .byte MOD , 7 + .byte W32 + .byte 0 + .byte W04 + .byte N08 + .byte W16 + .byte Dn4 + .byte W08 + .byte N84 , En4 + .byte W36 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte W12 + .byte GOTO + .word mus_machi_s3_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_machi_s3_2: + .byte VOL , 80*mus_machi_s3_mvl/mxv + .byte KEYSH , mus_machi_s3_key+0 + .byte VOICE , 35 + .byte PAN , c_v+7 + .byte N04 , Fn1 , v100 + .byte W08 + .byte N04 + .byte W16 + .byte Cn2 + .byte W16 + .byte Fn1 + .byte W08 + .byte N16 + .byte W40 + .byte N04 + .byte W08 + .byte N36 + .byte W40 + .byte N04 + .byte W08 + .byte N08 , Cn1 + .byte W16 + .byte N08 + .byte W08 + .byte N16 , Dn1 + .byte W16 + .byte N08 , En1 + .byte W08 +mus_machi_s3_2_B1: + .byte N36 , Fn1 , v100 + .byte W40 + .byte N08 + .byte W48 + .byte N08 + .byte W08 + .byte N04 , As1 + .byte W08 + .byte N04 + .byte W16 + .byte Dn2 + .byte W16 + .byte As1 + .byte W08 + .byte N16 + .byte W40 + .byte N08 , Fn1 + .byte W08 + .byte N36 , As1 + .byte W40 + .byte N08 + .byte W48 + .byte N08 + .byte W08 + .byte N04 , Fn1 + .byte W08 + .byte N04 + .byte W16 + .byte N08 , Fn2 + .byte W16 + .byte N04 , Fn1 + .byte W08 + .byte N16 + .byte W40 + .byte N08 , An1 + .byte W08 + .byte Gn1 + .byte W24 + .byte N08 + .byte W08 + .byte Dn1 + .byte W08 + .byte Fn1 + .byte W08 + .byte Gn1 + .byte W24 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , An1 + .byte W24 + .byte N08 + .byte W08 + .byte En1 + .byte W08 + .byte Gn1 + .byte W08 + .byte An1 + .byte W24 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , As1 + .byte W24 + .byte N08 + .byte W08 + .byte Fn1 + .byte W08 + .byte Gn1 + .byte W08 + .byte As1 + .byte W16 + .byte Dn2 + .byte W08 + .byte N16 , Cn2 + .byte W16 + .byte N08 , As1 + .byte W08 + .byte N12 , Cn2 + .byte W16 + .byte N08 + .byte W24 + .byte N08 + .byte W08 + .byte Cn1 + .byte W08 + .byte Dn1 + .byte W08 + .byte En1 + .byte W08 + .byte Gn1 + .byte W08 + .byte An1 + .byte W08 + .byte As1 + .byte W08 + .byte VOICE , 35 + .byte N36 , Fn1 + .byte W40 + .byte N08 + .byte W48 + .byte N08 + .byte W08 + .byte N04 , As1 + .byte W08 + .byte N04 + .byte W16 + .byte Dn2 + .byte W16 + .byte As1 + .byte W08 + .byte N08 + .byte W16 + .byte N08 + .byte W08 + .byte N16 , An1 + .byte W16 + .byte N08 , Fn1 + .byte W08 + .byte N36 , As1 + .byte W40 + .byte N08 + .byte W24 + .byte N04 + .byte W08 + .byte N16 , An1 + .byte W16 + .byte N04 , Gn1 + .byte W08 + .byte Fn1 + .byte W08 + .byte N04 + .byte W16 + .byte N08 , Fn2 + .byte W16 + .byte N04 , Fn1 + .byte W08 + .byte N08 + .byte W16 + .byte N04 + .byte W08 + .byte N16 , Gn1 + .byte W16 + .byte N08 , An1 + .byte W08 + .byte Gn1 + .byte W16 + .byte N08 + .byte W08 + .byte N16 , Gn2 + .byte W16 + .byte Gn1 + .byte W24 + .byte N04 + .byte W08 + .byte N16 , Dn2 + .byte W16 + .byte N08 , As1 + .byte W08 + .byte N24 , Dn2 + .byte W24 + .byte En2 + .byte W24 + .byte Fn2 + .byte W24 + .byte N04 + .byte W16 + .byte Fn1 + .byte W08 + .byte N36 , Cn2 + .byte W40 + .byte N08 + .byte W24 + .byte N08 + .byte W24 + .byte N04 + .byte W08 + .byte N36 + .byte W40 + .byte N08 + .byte W24 + .byte Cn1 + .byte W08 + .byte N16 , Dn1 + .byte W16 + .byte N08 , En1 + .byte W08 + .byte GOTO + .word mus_machi_s3_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_machi_s3_3: + .byte KEYSH , mus_machi_s3_key+0 + .byte VOL , 80*mus_machi_s3_mvl/mxv + .byte W96 + .byte PAN , c_v-8 + .byte W64 + .byte VOICE , 1 + .byte N08 , Cn2 , v088 + .byte W08 + .byte N16 , Dn2 + .byte W16 + .byte N08 , En2 + .byte W08 +mus_machi_s3_3_B1: +mus_machi_s3_3_000: + .byte N16 , Fn2 , v088 + .byte W16 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N04 + .byte W08 + .byte PEND +mus_machi_s3_3_001: + .byte N04 , As2 , v088 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N04 + .byte W08 + .byte PEND +mus_machi_s3_3_002: + .byte N16 , As2 , v088 + .byte W16 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N08 , As2 , v096 + .byte W08 + .byte N16 , Cn3 + .byte W16 + .byte N08 , As2 + .byte W08 + .byte PEND +mus_machi_s3_3_003: + .byte N16 , An2 , v088 + .byte W16 + .byte N04 , Fn2 + .byte W24 + .byte N04 + .byte W24 + .byte N04 + .byte W08 + .byte N16 , Gn2 + .byte W16 + .byte N04 , An2 + .byte W08 + .byte PEND + .byte N08 , As2 + .byte W16 + .byte An2 + .byte W08 + .byte As2 + .byte W16 + .byte N24 , Gn2 + .byte W24 + .byte N08 , Dn3 , v096 + .byte W08 + .byte N16 , Cn3 + .byte W16 + .byte N08 , As2 + .byte W08 + .byte Cn3 , v088 + .byte W16 + .byte N08 + .byte W08 + .byte An2 + .byte W16 + .byte N24 , Cn3 + .byte W24 + .byte N08 , As2 + .byte W08 + .byte N16 , An2 + .byte W16 + .byte N08 , Gn2 + .byte W08 + .byte Fn2 + .byte W16 + .byte Gn2 + .byte W08 + .byte As2 + .byte W16 + .byte N16 , Dn3 + .byte W24 + .byte N08 + .byte W08 + .byte En3 + .byte W16 + .byte Dn3 + .byte W08 + .byte N12 , Cn3 + .byte W16 + .byte N08 + .byte W24 + .byte N08 + .byte W08 + .byte As3 , v096 + .byte W08 + .byte An3 + .byte W08 + .byte Gn3 + .byte W08 + .byte En3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte PATT + .word mus_machi_s3_3_000 + .byte PATT + .word mus_machi_s3_3_001 + .byte PATT + .word mus_machi_s3_3_002 + .byte PATT + .word mus_machi_s3_3_003 + .byte N08 , As2 , v088 + .byte W16 + .byte An2 + .byte W08 + .byte As2 + .byte W16 + .byte N16 , Dn3 + .byte W24 + .byte N08 , Gn2 + .byte W08 + .byte N16 , An2 + .byte W16 + .byte N08 , As2 + .byte W08 + .byte An2 + .byte W16 + .byte As2 + .byte W08 + .byte Cn3 + .byte W16 + .byte En3 + .byte W08 + .byte N16 , Dn3 + .byte W48 + .byte Cn3 + .byte W16 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N04 + .byte W08 + .byte N16 + .byte W16 + .byte N04 + .byte W24 + .byte N04 + .byte W24 + .byte N08 , Cn2 + .byte W08 + .byte N16 , Dn2 + .byte W16 + .byte N08 , En2 + .byte W08 + .byte GOTO + .word mus_machi_s3_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_machi_s3_4: + .byte KEYSH , mus_machi_s3_key+0 + .byte VOL , 80*mus_machi_s3_mvl/mxv + .byte XCMD , xIECV , 13 + .byte xIECL , 10 + .byte PAN , c_v+48 + .byte W96 + .byte W64 + .byte VOICE , 7 + .byte N04 , Gn2 , v052 + .byte W08 + .byte N16 , An2 + .byte W16 + .byte N04 , As2 + .byte W08 +mus_machi_s3_4_B1: +mus_machi_s3_4_000: + .byte N24 , Cn3 , v052 + .byte W24 + .byte N04 , Fn3 + .byte W16 + .byte Cn3 + .byte W24 + .byte N04 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N04 , Cn3 + .byte W08 + .byte PEND +mus_machi_s3_4_001: + .byte N04 , Fn3 , v052 + .byte W08 + .byte N04 + .byte W16 + .byte As3 + .byte W16 + .byte Fn3 + .byte W24 + .byte N04 + .byte W08 + .byte N16 , As3 + .byte W16 + .byte N04 , Fn3 + .byte W08 + .byte PEND +mus_machi_s3_4_002: + .byte N24 , Cs4 , v052 + .byte W24 + .byte N04 , Fn3 + .byte W16 + .byte N20 , Cn4 + .byte W24 + .byte N32 , As3 + .byte W32 + .byte PEND +mus_machi_s3_4_003: + .byte N04 , Fn3 , v052 + .byte W08 + .byte N04 + .byte W16 + .byte An3 + .byte W16 + .byte Fn3 + .byte W24 + .byte N04 + .byte W08 + .byte N16 , An3 + .byte W16 + .byte N04 , Fn3 + .byte W08 + .byte PEND + .byte Dn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte As3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte An3 + .byte W08 + .byte N24 , As3 + .byte W48 + .byte N04 , En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte An3 + .byte W08 + .byte En3 + .byte W08 + .byte As3 + .byte W08 + .byte N24 , Cn4 + .byte W48 + .byte N04 , As3 , v044 + .byte W08 + .byte Fn3 + .byte W08 + .byte As3 + .byte W08 + .byte Fn3 + .byte W16 + .byte N16 , As2 + .byte W24 + .byte N04 , Dn4 + .byte W08 + .byte En4 + .byte W16 + .byte Dn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte As3 + .byte W08 + .byte Cn4 + .byte W08 + .byte As3 + .byte W16 + .byte Cn4 + .byte W08 + .byte N08 , En3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte An2 + .byte W08 + .byte Gn2 + .byte W08 + .byte PATT + .word mus_machi_s3_4_000 + .byte PATT + .word mus_machi_s3_4_001 + .byte PATT + .word mus_machi_s3_4_002 + .byte PATT + .word mus_machi_s3_4_003 + .byte N08 , Gn4 , v052 + .byte W16 + .byte Fn4 + .byte W08 + .byte Gn4 + .byte W16 + .byte N16 , As3 + .byte W56 + .byte N08 , Fn4 + .byte W16 + .byte N04 , An3 + .byte W08 + .byte N08 , En4 + .byte W16 + .byte N04 , Gn3 + .byte W08 + .byte N16 , Dn4 + .byte W48 + .byte N04 , Fn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Gn3 + .byte W08 + .byte N04 + .byte W08 + .byte Cn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N24 , Cn4 + .byte W48 + .byte N04 , En4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Gn3 + .byte W08 + .byte N04 + .byte W08 + .byte Cn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N16 , Cn4 + .byte W16 + .byte N04 , Gn2 + .byte W08 + .byte N16 , An2 + .byte W16 + .byte N04 , As2 + .byte W08 + .byte GOTO + .word mus_machi_s3_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_machi_s3_5: + .byte KEYSH , mus_machi_s3_key+0 + .byte VOL , 80*mus_machi_s3_mvl/mxv + .byte XCMD , xIECV , 13 + .byte xIECL , 10 + .byte PAN , c_v-1 + .byte W96 + .byte W64 + .byte VOICE , 8 + .byte N04 , En2 , v052 + .byte W08 + .byte N16 , Fn2 + .byte W16 + .byte N04 , Gn2 + .byte W08 +mus_machi_s3_5_B1: +mus_machi_s3_5_000: + .byte N24 , An2 , v052 + .byte W24 + .byte N04 , Cn3 + .byte W16 + .byte An2 + .byte W24 + .byte N04 + .byte W08 + .byte N16 , Cn3 + .byte W16 + .byte N04 , An2 + .byte W08 + .byte PEND +mus_machi_s3_5_001: + .byte N04 , Dn3 , v052 + .byte W08 + .byte N04 + .byte W16 + .byte Fn3 + .byte W16 + .byte Dn3 + .byte W24 + .byte N04 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N04 , Dn3 + .byte W08 + .byte PEND +mus_machi_s3_5_002: + .byte N24 , As3 , v052 + .byte W24 + .byte N04 , Cs3 + .byte W16 + .byte N20 , An3 + .byte W24 + .byte N32 , Fn3 + .byte W32 + .byte PEND +mus_machi_s3_5_003: + .byte N04 , Cn3 , v052 + .byte W08 + .byte N04 + .byte W16 + .byte Fn3 + .byte W16 + .byte Cn3 + .byte W24 + .byte N04 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N04 , Cn3 + .byte W08 + .byte PEND + .byte As3 + .byte W08 + .byte An3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte As2 + .byte W08 + .byte Fn3 + .byte W08 + .byte N24 , Gn3 + .byte W48 + .byte N04 , Cn4 + .byte W08 + .byte As3 + .byte W08 + .byte An3 + .byte W08 + .byte En3 + .byte W08 + .byte Cn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N24 , An3 + .byte W48 + .byte N04 , Fn3 , v044 + .byte W08 + .byte Dn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Dn3 + .byte W16 + .byte N16 , Fn2 + .byte W24 + .byte N04 , As3 + .byte W08 + .byte Cn4 + .byte W16 + .byte As3 + .byte W08 + .byte Gn3 + .byte W16 + .byte N04 + .byte W08 + .byte En3 + .byte W16 + .byte Gn3 + .byte W08 + .byte N08 , Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte An2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte En2 + .byte W08 + .byte PATT + .word mus_machi_s3_5_000 + .byte PATT + .word mus_machi_s3_5_001 + .byte PATT + .word mus_machi_s3_5_002 + .byte PATT + .word mus_machi_s3_5_003 + .byte N08 , Dn4 , v052 + .byte W16 + .byte Cn4 + .byte W08 + .byte Dn4 + .byte W16 + .byte N16 , Gn3 + .byte W56 + .byte N08 , Dn4 + .byte W16 + .byte N04 , Fn3 + .byte W08 + .byte N08 , Cn4 + .byte W16 + .byte N04 , En3 + .byte W08 + .byte N16 , An3 + .byte W48 + .byte N04 , Cn4 + .byte W08 + .byte Gn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte N04 + .byte W08 + .byte Gn2 + .byte W08 + .byte Fn3 + .byte W08 + .byte N24 , Gn3 + .byte W48 + .byte N04 , Cn4 + .byte W08 + .byte Gn3 + .byte W08 + .byte En3 + .byte W08 + .byte N04 + .byte W08 + .byte Gn2 + .byte W08 + .byte En3 + .byte W08 + .byte N16 , Gn3 + .byte W16 + .byte N04 , En2 + .byte W08 + .byte N16 , Fn2 + .byte W16 + .byte N04 , Gn2 + .byte W08 + .byte GOTO + .word mus_machi_s3_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_machi_s3_6: + .byte KEYSH , mus_machi_s3_key+0 + .byte LFOS , 36 + .byte VOL , 80*mus_machi_s3_mvl/mxv + .byte W96 + .byte W96 +mus_machi_s3_6_B1: + .byte VOICE , 74 + .byte W96 + .byte W96 + .byte N32 , Cs5 , v048 + .byte W16 + .byte MOD , 7 + .byte W16 + .byte 0 + .byte W08 + .byte N20 , Cn5 + .byte W08 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte W04 + .byte N08 , As4 + .byte W08 + .byte Cn5 + .byte W16 + .byte As4 + .byte W08 + .byte N84 , An4 + .byte W36 + .byte MOD , 7 + .byte W12 + .byte VOL , 60*mus_machi_s3_mvl/mxv + .byte W24 + .byte 40*mus_machi_s3_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte W12 + .byte VOICE , 81 + .byte VOL , 80*mus_machi_s3_mvl/mxv + .byte N08 , As2 + .byte W16 + .byte An2 + .byte W08 + .byte As2 + .byte W16 + .byte N16 , Gn2 + .byte W24 + .byte N08 + .byte W08 + .byte An2 + .byte W16 + .byte As2 + .byte W08 + .byte Cn3 + .byte W16 + .byte N08 + .byte W08 + .byte An2 + .byte W16 + .byte N32 , Cn3 + .byte W24 + .byte VOL , 60*mus_machi_s3_mvl/mxv + .byte W32 + .byte VOICE , 74 + .byte VOL , 80*mus_machi_s3_mvl/mxv + .byte N08 , As4 + .byte W16 + .byte An4 + .byte W08 + .byte As4 + .byte W16 + .byte N16 , Fn4 + .byte W08 + .byte MOD , 7 + .byte W08 + .byte 0 + .byte W08 + .byte N08 , Dn5 + .byte W08 + .byte En5 + .byte W16 + .byte Dn5 + .byte W08 +mus_machi_s3_6_000: + .byte N84 , Cn5 , v048 + .byte W36 + .byte MOD , 7 + .byte W12 + .byte VOL , 60*mus_machi_s3_mvl/mxv + .byte W24 + .byte 40*mus_machi_s3_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte W12 + .byte PEND + .byte VOL , 80*mus_machi_s3_mvl/mxv + .byte W96 + .byte W96 + .byte N36 , As4 + .byte W16 + .byte MOD , 7 + .byte W16 + .byte 0 + .byte W08 + .byte N16 , An4 + .byte W08 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte W04 + .byte N08 , Gn4 + .byte W08 + .byte N16 , An4 + .byte W16 + .byte N08 , As4 + .byte W08 + .byte PATT + .word mus_machi_s3_6_000 + .byte VOICE , 81 + .byte VOL , 80*mus_machi_s3_mvl/mxv + .byte N08 , As3 , v052 + .byte W16 + .byte An3 + .byte W08 + .byte As3 + .byte W16 + .byte N16 , Dn3 + .byte W24 + .byte N08 , Gn3 + .byte W08 + .byte N16 , An3 + .byte W16 + .byte N08 , As3 + .byte W08 + .byte An3 + .byte W24 + .byte Gn3 + .byte W24 + .byte N16 , Fn3 + .byte W24 + .byte VOICE , 74 + .byte N08 , Dn4 + .byte W16 + .byte En4 + .byte W08 + .byte N68 , Fn4 + .byte W36 + .byte MOD , 7 + .byte W32 + .byte 0 + .byte W04 + .byte N08 + .byte W16 + .byte N08 + .byte W08 + .byte N84 , Gn4 + .byte W36 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte W12 + .byte GOTO + .word mus_machi_s3_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_machi_s3_7: + .byte KEYSH , mus_machi_s3_key+0 + .byte VOICE , 127 + .byte VOL , 75*mus_machi_s3_mvl/mxv + .byte PAN , c_v-32 + .byte N08 , Gs4 , v052 + .byte W24 + .byte VOICE , 126 + .byte N10 , Gs4 , v040 + .byte W16 + .byte VOICE , 127 + .byte N08 + .byte W08 + .byte Gs4 , v052 + .byte W48 + .byte N08 + .byte W24 + .byte VOICE , 126 + .byte N10 , Gs4 , v040 + .byte W16 + .byte VOICE , 127 + .byte N08 + .byte W08 + .byte Gs4 , v052 + .byte W24 + .byte VOICE , 126 + .byte N10 , Gs4 , v040 + .byte W16 + .byte VOICE , 127 + .byte N08 + .byte W08 +mus_machi_s3_7_B1: + .byte VOICE , 125 + .byte N08 , Gs4 , v040 + .byte W08 + .byte Gs4 , v020 + .byte W08 + .byte Gs4 , v040 + .byte W08 + .byte Fs4 , v052 + .byte W08 + .byte Gs4 , v020 + .byte W08 + .byte Gs4 , v040 + .byte W08 + .byte N08 + .byte W08 + .byte Gs4 , v020 + .byte W08 + .byte Gs4 , v040 + .byte W08 + .byte Fs4 , v052 + .byte W08 + .byte Gs4 , v020 + .byte W08 + .byte Gs4 , v040 + .byte W08 +mus_machi_s3_7_000: + .byte N08 , Gs4 , v040 + .byte W08 + .byte Gs4 , v020 + .byte W08 + .byte Gs4 , v040 + .byte W08 + .byte Fs4 , v052 + .byte W08 + .byte Gs4 , v020 + .byte W08 + .byte Gs4 , v040 + .byte W08 + .byte N08 + .byte W08 + .byte Gs4 , v020 + .byte W08 + .byte Gs4 , v040 + .byte W08 + .byte Fs4 , v052 + .byte W08 + .byte Gs4 , v020 + .byte W08 + .byte Gs4 , v040 + .byte W08 + .byte PEND + .byte PATT + .word mus_machi_s3_7_000 + .byte PATT + .word mus_machi_s3_7_000 + .byte PATT + .word mus_machi_s3_7_000 + .byte PATT + .word mus_machi_s3_7_000 + .byte PATT + .word mus_machi_s3_7_000 + .byte PATT + .word mus_machi_s3_7_000 + .byte VOICE , 127 + .byte N08 , Gs4 , v052 + .byte W24 + .byte N08 + .byte W16 + .byte Gs4 , v040 + .byte W08 + .byte Gs4 , v052 + .byte W24 + .byte N08 + .byte W16 + .byte Gs4 , v040 + .byte W08 +mus_machi_s3_7_001: + .byte N08 , Gs4 , v052 + .byte W08 + .byte Gs4 , v040 + .byte W08 + .byte Gs4 , v052 + .byte W08 + .byte N08 + .byte W16 + .byte Gs4 , v040 + .byte W08 + .byte Gs4 , v052 + .byte W16 + .byte N08 + .byte W08 + .byte VOICE , 126 + .byte N08 , Gs4 , v040 + .byte W16 + .byte VOICE , 127 + .byte N08 + .byte W08 + .byte PEND +mus_machi_s3_7_002: + .byte N08 , Gs4 , v052 + .byte W24 + .byte N08 + .byte W16 + .byte Gs4 , v040 + .byte W08 + .byte Gs4 , v052 + .byte W24 + .byte N08 + .byte W16 + .byte Gs4 , v040 + .byte W08 + .byte PEND + .byte PATT + .word mus_machi_s3_7_001 + .byte N08 , Gs4 , v052 + .byte W08 + .byte Gs4 , v040 + .byte W08 + .byte Gs4 , v052 + .byte W08 + .byte VOICE , 126 + .byte N08 , Gs4 , v040 + .byte W16 + .byte VOICE , 127 + .byte N08 + .byte W08 + .byte Gs4 , v052 + .byte W16 + .byte Gs4 , v040 + .byte W08 + .byte VOICE , 126 + .byte N08 + .byte W16 + .byte VOICE , 127 + .byte N08 + .byte W08 + .byte VOICE , 126 + .byte N08 + .byte W16 + .byte VOICE , 127 + .byte N08 + .byte W08 + .byte Gs4 , v052 + .byte W16 + .byte Gs4 , v040 + .byte W08 + .byte VOICE , 126 + .byte N08 + .byte W16 + .byte VOICE , 127 + .byte N08 , Gs4 , v052 + .byte W24 + .byte Gs4 , v040 + .byte W08 + .byte PATT + .word mus_machi_s3_7_002 + .byte N08 , Gs4 , v052 + .byte W08 + .byte Gs4 , v040 + .byte W08 + .byte Gs4 , v052 + .byte W08 + .byte N08 + .byte W16 + .byte Gs4 , v040 + .byte W08 + .byte Gs4 , v052 + .byte W16 + .byte Gs4 , v040 + .byte W08 + .byte Gs4 , v052 + .byte W16 + .byte Gs4 , v040 + .byte W08 + .byte GOTO + .word mus_machi_s3_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_machi_s3_8: + .byte VOL , 80*mus_machi_s3_mvl/mxv + .byte KEYSH , mus_machi_s3_key+0 + .byte VOICE , 0 + .byte N08 , Cn1 , v116 + .byte W08 + .byte N04 , Dn3 , v064 + .byte W16 + .byte En3 + .byte W16 + .byte N04 + .byte W08 + .byte Dn3 + .byte W16 + .byte N08 , Cn1 , v116 + .byte W08 + .byte En1 + .byte N04 , En3 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte Dn3 + .byte W08 + .byte N08 , Cn1 , v116 + .byte W08 + .byte N04 , Dn3 , v064 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte En3 + .byte W08 + .byte Dn3 + .byte W16 + .byte N08 , Cn1 , v116 + .byte W08 + .byte En1 + .byte N04 , Dn3 , v064 + .byte W08 + .byte En3 + .byte W08 + .byte N08 , En1 , v116 + .byte N04 , Dn3 , v064 + .byte W08 +mus_machi_s3_8_B1: +mus_machi_s3_8_000: + .byte N08 , Cn1 , v116 + .byte W08 + .byte N04 , Dn3 , v064 + .byte W16 + .byte En3 + .byte W16 + .byte N04 + .byte W08 + .byte Dn3 + .byte W16 + .byte N08 , Cn1 , v116 + .byte W08 + .byte En1 + .byte N04 , En3 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte Dn3 + .byte W08 + .byte PEND +mus_machi_s3_8_001: + .byte N08 , Cn1 , v116 + .byte W08 + .byte N04 , Dn3 , v064 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte En3 + .byte W08 + .byte Dn3 + .byte W16 + .byte N08 , Cn1 , v116 + .byte W08 + .byte En1 + .byte N04 , Dn3 , v064 + .byte W08 + .byte En3 + .byte W08 + .byte Dn3 + .byte W08 + .byte PEND + .byte PATT + .word mus_machi_s3_8_000 + .byte PATT + .word mus_machi_s3_8_001 +mus_machi_s3_8_002: + .byte N08 , Cn1 , v116 + .byte W16 + .byte N04 , Dn3 , v064 + .byte W08 + .byte En3 + .byte W16 + .byte N08 , Cn1 , v116 + .byte W08 + .byte N08 + .byte W16 + .byte N04 , Dn3 , v064 + .byte W08 + .byte N08 , En1 , v116 + .byte W08 + .byte N04 , En3 , v064 + .byte W08 + .byte Dn3 + .byte W08 + .byte PEND + .byte PATT + .word mus_machi_s3_8_002 + .byte PATT + .word mus_machi_s3_8_002 + .byte PATT + .word mus_machi_s3_8_002 +mus_machi_s3_8_003: + .byte N08 , Cn1 , v116 + .byte W16 + .byte N04 , Dn3 , v064 + .byte W08 + .byte N08 , En1 , v116 + .byte W08 + .byte N04 , En3 , v064 + .byte W08 + .byte N08 , Cn1 , v116 + .byte W08 + .byte N08 + .byte W16 + .byte N04 , Dn3 , v064 + .byte W08 + .byte N08 , En1 , v116 + .byte W16 + .byte N04 , Dn3 , v064 + .byte W04 + .byte N04 + .byte W04 + .byte PEND +mus_machi_s3_8_004: + .byte N08 , Cn1 , v116 + .byte W16 + .byte N04 , Dn3 , v064 + .byte W08 + .byte N08 , En1 , v116 + .byte W08 + .byte N04 , En3 , v064 + .byte W08 + .byte N08 , Cn1 , v116 + .byte W08 + .byte N08 + .byte W16 + .byte N04 , Dn3 , v064 + .byte W08 + .byte N08 , En1 , v116 + .byte W16 + .byte Cn1 + .byte W08 + .byte PEND + .byte PATT + .word mus_machi_s3_8_003 + .byte PATT + .word mus_machi_s3_8_004 + .byte N08 , En1 , v116 + .byte W16 + .byte N08 + .byte W08 + .byte Cn1 + .byte W16 + .byte En1 + .byte W24 + .byte Cn1 + .byte W08 + .byte En1 + .byte W16 + .byte Cn1 + .byte W08 + .byte N08 + .byte W24 + .byte En1 + .byte W16 + .byte Cn1 + .byte W08 + .byte N08 + .byte W24 + .byte En1 + .byte W24 + .byte PATT + .word mus_machi_s3_8_003 + .byte PATT + .word mus_machi_s3_8_004 + .byte GOTO + .word mus_machi_s3_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_machi_s3: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_machi_s3_pri @ Priority + .byte mus_machi_s3_rev @ Reverb. + + .word mus_machi_s3_grp + + .word mus_machi_s3_1 + .word mus_machi_s3_2 + .word mus_machi_s3_3 + .word mus_machi_s3_4 + .word mus_machi_s3_5 + .word mus_machi_s3_6 + .word mus_machi_s3_7 + .word mus_machi_s3_8 + + .end diff --git a/sound/songs/mus_machi_s4.s b/sound/songs/mus_machi_s4.s new file mode 100644 index 0000000000..48687a1e75 --- /dev/null +++ b/sound/songs/mus_machi_s4.s @@ -0,0 +1,1858 @@ + .include "MPlayDef.s" + + .equ mus_machi_s4_grp, voicegroup_86799C4 + .equ mus_machi_s4_pri, 0 + .equ mus_machi_s4_rev, reverb_set+50 + .equ mus_machi_s4_mvl, 127 + .equ mus_machi_s4_key, 0 + .equ mus_machi_s4_tbs, 1 + .equ mus_machi_s4_exg, 1 + .equ mus_machi_s4_cmp, 1 + + .section .rodata + .global mus_machi_s4 + .align 2 + +@********************** Track 1 **********************@ + +mus_machi_s4_1: + .byte KEYSH , mus_machi_s4_key+0 +mus_machi_s4_1_B1: + .byte TEMPO , 100*mus_machi_s4_tbs/2 + .byte VOICE , 73 + .byte LFOS , 44 + .byte VOL , 80*mus_machi_s4_mvl/mxv + .byte PAN , c_v+0 + .byte N36 , As4 , v108 + .byte W15 + .byte MOD , 6 + .byte W21 + .byte 0 + .byte N12 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N32 , As3 , v108, gtp1 + .byte W15 + .byte MOD , 6 + .byte W03 + .byte VOL , 76*mus_machi_s4_mvl/mxv + .byte W06 + .byte 62*mus_machi_s4_mvl/mxv + .byte W05 + .byte 42*mus_machi_s4_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_machi_s4_mvl/mxv + .byte N06 , Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte N09 , As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte As3 + .byte W12 + .byte N96 , Cn4 + .byte W24 + .byte VOL , 77*mus_machi_s4_mvl/mxv + .byte MOD , 6 + .byte W05 + .byte VOL , 69*mus_machi_s4_mvl/mxv + .byte W07 + .byte 65*mus_machi_s4_mvl/mxv + .byte W05 + .byte 58*mus_machi_s4_mvl/mxv + .byte W07 + .byte 53*mus_machi_s4_mvl/mxv + .byte W05 + .byte 47*mus_machi_s4_mvl/mxv + .byte W07 + .byte 39*mus_machi_s4_mvl/mxv + .byte W05 + .byte 32*mus_machi_s4_mvl/mxv + .byte W07 + .byte 26*mus_machi_s4_mvl/mxv + .byte W05 + .byte 19*mus_machi_s4_mvl/mxv + .byte W07 + .byte 14*mus_machi_s4_mvl/mxv + .byte W05 + .byte 3*mus_machi_s4_mvl/mxv + .byte W07 + .byte VOICE , 45 + .byte VOL , 80*mus_machi_s4_mvl/mxv + .byte MOD , 0 + .byte N06 , An4 , v072 + .byte W36 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Cn4 + .byte W12 + .byte VOICE , 73 + .byte N36 , As4 , v108 + .byte W15 + .byte MOD , 6 + .byte W21 + .byte 0 + .byte N12 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N32 , As3 , v108, gtp1 + .byte W15 + .byte MOD , 6 + .byte W03 + .byte VOL , 76*mus_machi_s4_mvl/mxv + .byte W06 + .byte 62*mus_machi_s4_mvl/mxv + .byte W05 + .byte 42*mus_machi_s4_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_machi_s4_mvl/mxv + .byte N06 , Gn4 + .byte W06 + .byte As4 + .byte W06 + .byte N12 , An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Ds5 + .byte W12 + .byte N96 , Dn5 + .byte W24 + .byte VOL , 77*mus_machi_s4_mvl/mxv + .byte MOD , 6 + .byte W05 + .byte VOL , 69*mus_machi_s4_mvl/mxv + .byte W07 + .byte 65*mus_machi_s4_mvl/mxv + .byte W05 + .byte 58*mus_machi_s4_mvl/mxv + .byte W07 + .byte 53*mus_machi_s4_mvl/mxv + .byte W05 + .byte 47*mus_machi_s4_mvl/mxv + .byte W07 + .byte 39*mus_machi_s4_mvl/mxv + .byte W05 + .byte 32*mus_machi_s4_mvl/mxv + .byte W07 + .byte 26*mus_machi_s4_mvl/mxv + .byte W05 + .byte 19*mus_machi_s4_mvl/mxv + .byte W07 + .byte 14*mus_machi_s4_mvl/mxv + .byte W05 + .byte 3*mus_machi_s4_mvl/mxv + .byte W07 + .byte VOICE , 45 + .byte MOD , 0 + .byte VOL , 80*mus_machi_s4_mvl/mxv + .byte N06 , Gn4 , v072 + .byte W36 + .byte Ds4 + .byte W12 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte An4 + .byte W06 + .byte VOICE , 73 + .byte N32 , Dn5 , v108, gtp1 + .byte W12 + .byte MOD , 6 + .byte W21 + .byte 0 + .byte W03 + .byte N06 , As4 + .byte W06 + .byte Cn5 + .byte W06 + .byte N09 , Dn5 + .byte W12 + .byte As5 + .byte W12 + .byte An5 + .byte W12 + .byte Gn5 + .byte W12 + .byte N32 , Fn5 , v108, gtp1 + .byte W12 + .byte MOD , 6 + .byte W21 + .byte 0 + .byte W03 + .byte N12 , Gn5 + .byte W12 + .byte N48 , Dn5 + .byte W15 + .byte MOD , 6 + .byte W03 + .byte VOL , 80*mus_machi_s4_mvl/mxv + .byte W06 + .byte 70*mus_machi_s4_mvl/mxv + .byte W05 + .byte 50*mus_machi_s4_mvl/mxv + .byte W07 + .byte 34*mus_machi_s4_mvl/mxv + .byte W05 + .byte 17*mus_machi_s4_mvl/mxv + .byte W07 + .byte 80*mus_machi_s4_mvl/mxv + .byte MOD , 0 + .byte N32 , Ds5 , v108, gtp1 + .byte W12 + .byte MOD , 6 + .byte W21 + .byte 0 + .byte W03 + .byte N06 , Cn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte N09 , Ds5 + .byte W12 + .byte Fn5 + .byte W12 + .byte Gn5 + .byte W12 + .byte N12 , Gn4 + .byte W12 + .byte N32 , As4 , v108, gtp1 + .byte W12 + .byte MOD , 6 + .byte W21 + .byte 0 + .byte W03 + .byte N12 , Cn5 + .byte W12 + .byte N48 , An4 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte VOL , 74*mus_machi_s4_mvl/mxv + .byte W05 + .byte 63*mus_machi_s4_mvl/mxv + .byte W07 + .byte 51*mus_machi_s4_mvl/mxv + .byte W05 + .byte 34*mus_machi_s4_mvl/mxv + .byte W07 + .byte 80*mus_machi_s4_mvl/mxv + .byte MOD , 0 + .byte N32 , As4 , v108, gtp1 + .byte W15 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte W03 + .byte N06 , Ds5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Gn5 + .byte W12 + .byte An5 + .byte W12 + .byte As5 + .byte W12 + .byte N12 , As4 + .byte W12 + .byte MOD , 0 + .byte N32 , Cs5 , v108, gtp1 + .byte W15 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte W03 + .byte N06 , Ds5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Fs5 + .byte W12 + .byte Gs5 + .byte W12 + .byte As5 + .byte W12 + .byte N12 , As4 + .byte W12 + .byte N36 , Cn5 + .byte W15 + .byte MOD , 6 + .byte W21 + .byte 0 + .byte N12 , Dn5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Cn5 + .byte W12 + .byte N08 , As5 + .byte W08 + .byte An5 + .byte W08 + .byte As5 + .byte W08 + .byte N90 , An5 + .byte W18 + .byte MOD , 6 + .byte W06 + .byte VOL , 80*mus_machi_s4_mvl/mxv + .byte W05 + .byte 78*mus_machi_s4_mvl/mxv + .byte W07 + .byte 75*mus_machi_s4_mvl/mxv + .byte W05 + .byte 70*mus_machi_s4_mvl/mxv + .byte W07 + .byte 68*mus_machi_s4_mvl/mxv + .byte W05 + .byte 63*mus_machi_s4_mvl/mxv + .byte W07 + .byte 56*mus_machi_s4_mvl/mxv + .byte W05 + .byte 50*mus_machi_s4_mvl/mxv + .byte W07 + .byte 43*mus_machi_s4_mvl/mxv + .byte W05 + .byte 36*mus_machi_s4_mvl/mxv + .byte W07 + .byte 26*mus_machi_s4_mvl/mxv + .byte W05 + .byte 15*mus_machi_s4_mvl/mxv + .byte W01 + .byte MOD , 0 + .byte W06 + .byte GOTO + .word mus_machi_s4_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_machi_s4_2: + .byte KEYSH , mus_machi_s4_key+0 +mus_machi_s4_2_B1: + .byte VOICE , 60 + .byte PAN , c_v-12 + .byte W96 + .byte W48 + .byte VOL , 37*mus_machi_s4_mvl/mxv + .byte N48 , Fn2 , v076 + .byte W05 + .byte VOL , 43*mus_machi_s4_mvl/mxv + .byte W07 + .byte 49*mus_machi_s4_mvl/mxv + .byte W05 + .byte 57*mus_machi_s4_mvl/mxv + .byte W07 + .byte 63*mus_machi_s4_mvl/mxv + .byte W05 + .byte 70*mus_machi_s4_mvl/mxv + .byte W07 + .byte 78*mus_machi_s4_mvl/mxv + .byte W05 + .byte 80*mus_machi_s4_mvl/mxv + .byte W07 + .byte N36 , Fn3 + .byte W36 + .byte N12 , Ds3 , v084 + .byte W12 + .byte Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte As2 + .byte W12 + .byte N96 , Cn3 + .byte W24 + .byte VOL , 80*mus_machi_s4_mvl/mxv + .byte W05 + .byte 78*mus_machi_s4_mvl/mxv + .byte W07 + .byte 76*mus_machi_s4_mvl/mxv + .byte W05 + .byte 71*mus_machi_s4_mvl/mxv + .byte W07 + .byte 68*mus_machi_s4_mvl/mxv + .byte W05 + .byte 59*mus_machi_s4_mvl/mxv + .byte W07 + .byte 52*mus_machi_s4_mvl/mxv + .byte W05 + .byte 43*mus_machi_s4_mvl/mxv + .byte W07 + .byte 32*mus_machi_s4_mvl/mxv + .byte W05 + .byte 22*mus_machi_s4_mvl/mxv + .byte W07 + .byte 9*mus_machi_s4_mvl/mxv + .byte W05 + .byte 1*mus_machi_s4_mvl/mxv + .byte W07 + .byte W96 + .byte W48 + .byte 37*mus_machi_s4_mvl/mxv + .byte N48 , Cn3 , v076 + .byte W05 + .byte VOL , 43*mus_machi_s4_mvl/mxv + .byte W07 + .byte 49*mus_machi_s4_mvl/mxv + .byte W05 + .byte 57*mus_machi_s4_mvl/mxv + .byte W07 + .byte 63*mus_machi_s4_mvl/mxv + .byte W05 + .byte 70*mus_machi_s4_mvl/mxv + .byte W07 + .byte 78*mus_machi_s4_mvl/mxv + .byte W05 + .byte 80*mus_machi_s4_mvl/mxv + .byte W07 + .byte N36 , Dn3 , v084 + .byte W36 + .byte N12 , As2 + .byte W12 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N44 , Cn3 , v084, gtp1 + .byte W18 + .byte VOL , 75*mus_machi_s4_mvl/mxv + .byte W06 + .byte 60*mus_machi_s4_mvl/mxv + .byte W05 + .byte 38*mus_machi_s4_mvl/mxv + .byte W07 + .byte 23*mus_machi_s4_mvl/mxv + .byte W12 + .byte 80*mus_machi_s4_mvl/mxv + .byte N48 , Ds3 + .byte W12 + .byte VOL , 74*mus_machi_s4_mvl/mxv + .byte W02 + .byte 64*mus_machi_s4_mvl/mxv + .byte W03 + .byte 53*mus_machi_s4_mvl/mxv + .byte W03 + .byte 46*mus_machi_s4_mvl/mxv + .byte W04 + .byte 47*mus_machi_s4_mvl/mxv + .byte W02 + .byte 49*mus_machi_s4_mvl/mxv + .byte W03 + .byte 53*mus_machi_s4_mvl/mxv + .byte W03 + .byte 59*mus_machi_s4_mvl/mxv + .byte W04 + .byte 63*mus_machi_s4_mvl/mxv + .byte W02 + .byte 76*mus_machi_s4_mvl/mxv + .byte W03 + .byte 80*mus_machi_s4_mvl/mxv + .byte W07 + .byte VOICE , 60 + .byte N48 , Fn2 , v076 + .byte W06 + .byte VOL , 76*mus_machi_s4_mvl/mxv + .byte W06 + .byte 69*mus_machi_s4_mvl/mxv + .byte W05 + .byte 60*mus_machi_s4_mvl/mxv + .byte W07 + .byte 59*mus_machi_s4_mvl/mxv + .byte W06 + .byte 68*mus_machi_s4_mvl/mxv + .byte W06 + .byte 76*mus_machi_s4_mvl/mxv + .byte W05 + .byte 80*mus_machi_s4_mvl/mxv + .byte W07 + .byte N48 , Gn2 + .byte W06 + .byte VOL , 76*mus_machi_s4_mvl/mxv + .byte W06 + .byte 68*mus_machi_s4_mvl/mxv + .byte W05 + .byte 64*mus_machi_s4_mvl/mxv + .byte W13 + .byte 74*mus_machi_s4_mvl/mxv + .byte W06 + .byte 80*mus_machi_s4_mvl/mxv + .byte W12 + .byte N36 , An2 + .byte W06 + .byte VOL , 68*mus_machi_s4_mvl/mxv + .byte W06 + .byte 71*mus_machi_s4_mvl/mxv + .byte W05 + .byte 80*mus_machi_s4_mvl/mxv + .byte W19 + .byte N12 , Gn2 + .byte W12 + .byte N24 , Fn2 + .byte W24 + .byte Dn2 + .byte W24 + .byte Gn2 + .byte W12 + .byte VOL , 68*mus_machi_s4_mvl/mxv + .byte W03 + .byte 45*mus_machi_s4_mvl/mxv + .byte W03 + .byte 28*mus_machi_s4_mvl/mxv + .byte W03 + .byte 13*mus_machi_s4_mvl/mxv + .byte W15 + .byte 80*mus_machi_s4_mvl/mxv + .byte N12 , Ds2 + .byte W12 + .byte N21 , Gn2 + .byte W12 + .byte VOL , 68*mus_machi_s4_mvl/mxv + .byte W03 + .byte 45*mus_machi_s4_mvl/mxv + .byte W03 + .byte 28*mus_machi_s4_mvl/mxv + .byte W03 + .byte 13*mus_machi_s4_mvl/mxv + .byte W03 + .byte 80*mus_machi_s4_mvl/mxv + .byte N12 + .byte W12 + .byte Fn2 + .byte W12 + .byte Gn2 + .byte W18 + .byte An2 + .byte W18 + .byte As2 + .byte W12 + .byte N44 , Cn3 , v076, gtp1 + .byte W12 + .byte VOL , 76*mus_machi_s4_mvl/mxv + .byte W05 + .byte 65*mus_machi_s4_mvl/mxv + .byte W07 + .byte 52*mus_machi_s4_mvl/mxv + .byte W05 + .byte 39*mus_machi_s4_mvl/mxv + .byte W07 + .byte 30*mus_machi_s4_mvl/mxv + .byte W05 + .byte 18*mus_machi_s4_mvl/mxv + .byte W07 + .byte 80*mus_machi_s4_mvl/mxv + .byte N32 , As2 , v088, gtp1 + .byte W36 + .byte N12 + .byte W12 + .byte N44 , Ds3 , v088, gtp1 + .byte W18 + .byte VOL , 69*mus_machi_s4_mvl/mxv + .byte W06 + .byte 62*mus_machi_s4_mvl/mxv + .byte W05 + .byte 50*mus_machi_s4_mvl/mxv + .byte W07 + .byte 34*mus_machi_s4_mvl/mxv + .byte W05 + .byte 18*mus_machi_s4_mvl/mxv + .byte W07 + .byte 80*mus_machi_s4_mvl/mxv + .byte N32 , As2 , v088, gtp1 + .byte W36 + .byte N12 + .byte W12 + .byte N48 , Fs3 + .byte W18 + .byte VOL , 69*mus_machi_s4_mvl/mxv + .byte W06 + .byte 62*mus_machi_s4_mvl/mxv + .byte W05 + .byte 50*mus_machi_s4_mvl/mxv + .byte W07 + .byte 34*mus_machi_s4_mvl/mxv + .byte W05 + .byte 18*mus_machi_s4_mvl/mxv + .byte W07 + .byte 80*mus_machi_s4_mvl/mxv + .byte N48 , Cn3 + .byte W48 + .byte As2 + .byte W48 + .byte N36 , An2 + .byte W36 + .byte N12 , As2 + .byte W12 + .byte N44 , Cn3 + .byte W24 + .byte VOL , 75*mus_machi_s4_mvl/mxv + .byte W05 + .byte 58*mus_machi_s4_mvl/mxv + .byte W07 + .byte 37*mus_machi_s4_mvl/mxv + .byte W05 + .byte 24*mus_machi_s4_mvl/mxv + .byte W07 + .byte GOTO + .word mus_machi_s4_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_machi_s4_3: + .byte KEYSH , mus_machi_s4_key+0 +mus_machi_s4_3_B1: + .byte VOICE , 58 + .byte VOL , 80*mus_machi_s4_mvl/mxv + .byte N24 , As1 , v127 + .byte W12 + .byte VOL , 68*mus_machi_s4_mvl/mxv + .byte W03 + .byte 45*mus_machi_s4_mvl/mxv + .byte W03 + .byte 28*mus_machi_s4_mvl/mxv + .byte W03 + .byte 13*mus_machi_s4_mvl/mxv + .byte W24 + .byte W03 + .byte 80*mus_machi_s4_mvl/mxv + .byte N24 , An1 + .byte W12 + .byte VOL , 68*mus_machi_s4_mvl/mxv + .byte W03 + .byte 45*mus_machi_s4_mvl/mxv + .byte W03 + .byte 28*mus_machi_s4_mvl/mxv + .byte W03 + .byte 13*mus_machi_s4_mvl/mxv + .byte W24 + .byte W03 +mus_machi_s4_3_000: + .byte VOL , 80*mus_machi_s4_mvl/mxv + .byte N24 , Gn1 , v127 + .byte W12 + .byte VOL , 68*mus_machi_s4_mvl/mxv + .byte W03 + .byte 45*mus_machi_s4_mvl/mxv + .byte W03 + .byte 28*mus_machi_s4_mvl/mxv + .byte W03 + .byte 13*mus_machi_s4_mvl/mxv + .byte W24 + .byte W03 + .byte 80*mus_machi_s4_mvl/mxv + .byte N24 , Fn1 + .byte W12 + .byte VOL , 68*mus_machi_s4_mvl/mxv + .byte W03 + .byte 45*mus_machi_s4_mvl/mxv + .byte W03 + .byte 28*mus_machi_s4_mvl/mxv + .byte W03 + .byte 13*mus_machi_s4_mvl/mxv + .byte W24 + .byte W03 + .byte PEND + .byte 80*mus_machi_s4_mvl/mxv + .byte N24 + .byte W12 + .byte VOL , 68*mus_machi_s4_mvl/mxv + .byte W03 + .byte 45*mus_machi_s4_mvl/mxv + .byte W03 + .byte 28*mus_machi_s4_mvl/mxv + .byte W03 + .byte 13*mus_machi_s4_mvl/mxv + .byte W24 + .byte W03 + .byte 80*mus_machi_s4_mvl/mxv + .byte N24 + .byte W12 + .byte VOL , 68*mus_machi_s4_mvl/mxv + .byte W03 + .byte 45*mus_machi_s4_mvl/mxv + .byte W03 + .byte 28*mus_machi_s4_mvl/mxv + .byte W03 + .byte 13*mus_machi_s4_mvl/mxv + .byte W24 + .byte W03 + .byte 80*mus_machi_s4_mvl/mxv + .byte N24 , Cn2 + .byte W12 + .byte VOL , 68*mus_machi_s4_mvl/mxv + .byte W03 + .byte 45*mus_machi_s4_mvl/mxv + .byte W03 + .byte 28*mus_machi_s4_mvl/mxv + .byte W03 + .byte 13*mus_machi_s4_mvl/mxv + .byte W15 + .byte 80*mus_machi_s4_mvl/mxv + .byte N12 + .byte W12 + .byte N24 , Fn1 + .byte W12 + .byte VOL , 68*mus_machi_s4_mvl/mxv + .byte W03 + .byte 45*mus_machi_s4_mvl/mxv + .byte W03 + .byte 28*mus_machi_s4_mvl/mxv + .byte W03 + .byte 13*mus_machi_s4_mvl/mxv + .byte W24 + .byte W03 + .byte 80*mus_machi_s4_mvl/mxv + .byte N24 , As1 + .byte W12 + .byte VOL , 68*mus_machi_s4_mvl/mxv + .byte W03 + .byte 45*mus_machi_s4_mvl/mxv + .byte W03 + .byte 28*mus_machi_s4_mvl/mxv + .byte W03 + .byte 13*mus_machi_s4_mvl/mxv + .byte W24 + .byte W03 + .byte 80*mus_machi_s4_mvl/mxv + .byte N24 , An1 + .byte W12 + .byte VOL , 68*mus_machi_s4_mvl/mxv + .byte W03 + .byte 45*mus_machi_s4_mvl/mxv + .byte W03 + .byte 28*mus_machi_s4_mvl/mxv + .byte W03 + .byte 13*mus_machi_s4_mvl/mxv + .byte W24 + .byte W03 + .byte PATT + .word mus_machi_s4_3_000 + .byte VOL , 80*mus_machi_s4_mvl/mxv + .byte N24 , As1 , v127 + .byte W12 + .byte VOL , 68*mus_machi_s4_mvl/mxv + .byte W03 + .byte 45*mus_machi_s4_mvl/mxv + .byte W03 + .byte 28*mus_machi_s4_mvl/mxv + .byte W03 + .byte 13*mus_machi_s4_mvl/mxv + .byte W24 + .byte W03 + .byte 80*mus_machi_s4_mvl/mxv + .byte N24 , Bn1 + .byte W12 + .byte VOL , 68*mus_machi_s4_mvl/mxv + .byte W03 + .byte 45*mus_machi_s4_mvl/mxv + .byte W03 + .byte 28*mus_machi_s4_mvl/mxv + .byte W03 + .byte 13*mus_machi_s4_mvl/mxv + .byte W24 + .byte W03 + .byte 80*mus_machi_s4_mvl/mxv + .byte N24 , Cn2 + .byte W12 + .byte VOL , 68*mus_machi_s4_mvl/mxv + .byte W03 + .byte 45*mus_machi_s4_mvl/mxv + .byte W03 + .byte 28*mus_machi_s4_mvl/mxv + .byte W03 + .byte 13*mus_machi_s4_mvl/mxv + .byte W15 + .byte 80*mus_machi_s4_mvl/mxv + .byte N12 + .byte W12 + .byte N48 , Fn1 + .byte W12 + .byte VOL , 74*mus_machi_s4_mvl/mxv + .byte W02 + .byte 64*mus_machi_s4_mvl/mxv + .byte W03 + .byte 53*mus_machi_s4_mvl/mxv + .byte W03 + .byte 46*mus_machi_s4_mvl/mxv + .byte W04 + .byte 47*mus_machi_s4_mvl/mxv + .byte W02 + .byte 49*mus_machi_s4_mvl/mxv + .byte W03 + .byte 53*mus_machi_s4_mvl/mxv + .byte W03 + .byte 59*mus_machi_s4_mvl/mxv + .byte W04 + .byte 63*mus_machi_s4_mvl/mxv + .byte W02 + .byte 76*mus_machi_s4_mvl/mxv + .byte W03 + .byte 80*mus_machi_s4_mvl/mxv + .byte W07 + .byte N24 , As1 + .byte W12 + .byte VOL , 68*mus_machi_s4_mvl/mxv + .byte W03 + .byte 45*mus_machi_s4_mvl/mxv + .byte W03 + .byte 28*mus_machi_s4_mvl/mxv + .byte W03 + .byte 13*mus_machi_s4_mvl/mxv + .byte W15 + .byte 80*mus_machi_s4_mvl/mxv + .byte N12 , Fn1 + .byte W12 + .byte N44 , Gn1 , v127, gtp1 + .byte W18 + .byte VOL , 69*mus_machi_s4_mvl/mxv + .byte W06 + .byte 54*mus_machi_s4_mvl/mxv + .byte W05 + .byte 37*mus_machi_s4_mvl/mxv + .byte W07 + .byte 19*mus_machi_s4_mvl/mxv + .byte W05 + .byte 7*mus_machi_s4_mvl/mxv + .byte W07 + .byte 80*mus_machi_s4_mvl/mxv + .byte N24 , Fn1 + .byte W12 + .byte VOL , 68*mus_machi_s4_mvl/mxv + .byte W03 + .byte 45*mus_machi_s4_mvl/mxv + .byte W03 + .byte 28*mus_machi_s4_mvl/mxv + .byte W03 + .byte 13*mus_machi_s4_mvl/mxv + .byte W15 + .byte 80*mus_machi_s4_mvl/mxv + .byte N12 , Cn1 + .byte W12 + .byte N24 , As1 + .byte W24 + .byte Gn1 + .byte W24 + .byte Cn2 + .byte W12 + .byte VOL , 68*mus_machi_s4_mvl/mxv + .byte W03 + .byte 45*mus_machi_s4_mvl/mxv + .byte W03 + .byte 28*mus_machi_s4_mvl/mxv + .byte W03 + .byte 13*mus_machi_s4_mvl/mxv + .byte W15 + .byte 80*mus_machi_s4_mvl/mxv + .byte N12 , Gn1 + .byte W12 + .byte N24 , Ds2 + .byte W12 + .byte VOL , 68*mus_machi_s4_mvl/mxv + .byte W03 + .byte 45*mus_machi_s4_mvl/mxv + .byte W03 + .byte 28*mus_machi_s4_mvl/mxv + .byte W03 + .byte 13*mus_machi_s4_mvl/mxv + .byte W15 + .byte 80*mus_machi_s4_mvl/mxv + .byte N12 , Gn1 + .byte W12 + .byte N32 , As1 , v127, gtp1 + .byte W12 + .byte VOL , 71*mus_machi_s4_mvl/mxv + .byte W02 + .byte 65*mus_machi_s4_mvl/mxv + .byte W03 + .byte 58*mus_machi_s4_mvl/mxv + .byte W03 + .byte 55*mus_machi_s4_mvl/mxv + .byte W01 + .byte 62*mus_machi_s4_mvl/mxv + .byte W03 + .byte 66*mus_machi_s4_mvl/mxv + .byte W02 + .byte 80*mus_machi_s4_mvl/mxv + .byte W10 + .byte N12 , Cn2 + .byte W12 + .byte An1 + .byte W18 + .byte Gn1 + .byte W18 + .byte Fn1 + .byte W12 + .byte N32 , Ds1 , v127, gtp1 + .byte W36 + .byte N12 + .byte W12 + .byte N44 , As1 , v127, gtp1 + .byte W18 + .byte VOL , 69*mus_machi_s4_mvl/mxv + .byte W06 + .byte 62*mus_machi_s4_mvl/mxv + .byte W05 + .byte 50*mus_machi_s4_mvl/mxv + .byte W07 + .byte 34*mus_machi_s4_mvl/mxv + .byte W05 + .byte 18*mus_machi_s4_mvl/mxv + .byte W07 + .byte 80*mus_machi_s4_mvl/mxv + .byte N32 , Fs1 , v127, gtp1 + .byte W36 + .byte N12 + .byte W12 + .byte N44 , Cs1 , v127, gtp1 + .byte W18 + .byte VOL , 69*mus_machi_s4_mvl/mxv + .byte W06 + .byte 62*mus_machi_s4_mvl/mxv + .byte W05 + .byte 50*mus_machi_s4_mvl/mxv + .byte W07 + .byte 34*mus_machi_s4_mvl/mxv + .byte W05 + .byte 18*mus_machi_s4_mvl/mxv + .byte W07 + .byte 80*mus_machi_s4_mvl/mxv + .byte N48 , Fn1 + .byte W24 + .byte VOL , 75*mus_machi_s4_mvl/mxv + .byte W05 + .byte 58*mus_machi_s4_mvl/mxv + .byte W07 + .byte 37*mus_machi_s4_mvl/mxv + .byte W05 + .byte 24*mus_machi_s4_mvl/mxv + .byte W07 + .byte 80*mus_machi_s4_mvl/mxv + .byte N48 , As1 + .byte W24 + .byte VOL , 75*mus_machi_s4_mvl/mxv + .byte W05 + .byte 58*mus_machi_s4_mvl/mxv + .byte W07 + .byte 37*mus_machi_s4_mvl/mxv + .byte W05 + .byte 24*mus_machi_s4_mvl/mxv + .byte W07 + .byte 80*mus_machi_s4_mvl/mxv + .byte N30 , Fn1 + .byte W15 + .byte VOL , 69*mus_machi_s4_mvl/mxv + .byte W02 + .byte 56*mus_machi_s4_mvl/mxv + .byte W03 + .byte 36*mus_machi_s4_mvl/mxv + .byte W04 + .byte 25*mus_machi_s4_mvl/mxv + .byte W12 + .byte 80*mus_machi_s4_mvl/mxv + .byte N12 + .byte W12 + .byte N44 , An1 , v127, gtp1 + .byte W24 + .byte VOL , 75*mus_machi_s4_mvl/mxv + .byte W05 + .byte 58*mus_machi_s4_mvl/mxv + .byte W07 + .byte 37*mus_machi_s4_mvl/mxv + .byte W05 + .byte 24*mus_machi_s4_mvl/mxv + .byte W07 + .byte GOTO + .word mus_machi_s4_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_machi_s4_4: + .byte KEYSH , mus_machi_s4_key+0 +mus_machi_s4_4_B1: + .byte PAN , c_v+0 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte W24 + .byte VOICE , 4 + .byte VOL , 80*mus_machi_s4_mvl/mxv + .byte N06 , As3 , v048 + .byte W48 + .byte An3 + .byte W24 +mus_machi_s4_4_000: + .byte W24 + .byte N06 , Gn3 , v048 + .byte W48 + .byte Fn3 + .byte W24 + .byte PEND + .byte W24 + .byte An3 + .byte W48 + .byte As3 + .byte W24 + .byte W24 + .byte An3 + .byte W48 + .byte N06 + .byte W24 + .byte W24 + .byte As3 + .byte W48 + .byte An3 + .byte W24 + .byte PATT + .word mus_machi_s4_4_000 + .byte W24 + .byte N06 , As3 , v048 + .byte W48 + .byte Bn3 + .byte W24 + .byte W24 + .byte Cn4 + .byte W24 + .byte VOICE , 80 + .byte PAN , c_v-48 + .byte N48 , An3 + .byte W06 + .byte VOL , 74*mus_machi_s4_mvl/mxv + .byte W06 + .byte 60*mus_machi_s4_mvl/mxv + .byte W06 + .byte 53*mus_machi_s4_mvl/mxv + .byte W06 + .byte 63*mus_machi_s4_mvl/mxv + .byte W05 + .byte 75*mus_machi_s4_mvl/mxv + .byte W07 + .byte 80*mus_machi_s4_mvl/mxv + .byte W12 + .byte N06 , As3 , v044 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N48 , An3 + .byte W24 + .byte VOL , 75*mus_machi_s4_mvl/mxv + .byte W06 + .byte 65*mus_machi_s4_mvl/mxv + .byte W06 + .byte 51*mus_machi_s4_mvl/mxv + .byte W06 + .byte 29*mus_machi_s4_mvl/mxv + .byte W06 + .byte 80*mus_machi_s4_mvl/mxv + .byte N06 , Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N48 , As3 + .byte W24 + .byte VOL , 75*mus_machi_s4_mvl/mxv + .byte W06 + .byte 65*mus_machi_s4_mvl/mxv + .byte W06 + .byte 51*mus_machi_s4_mvl/mxv + .byte W06 + .byte 29*mus_machi_s4_mvl/mxv + .byte W06 + .byte 80*mus_machi_s4_mvl/mxv + .byte N12 , An3 , v048 + .byte W18 + .byte Gn3 , v044 + .byte W18 + .byte Fn3 + .byte W12 + .byte VOICE , 6 + .byte N06 , Ds3 , v040 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 , v048 + .byte W06 + .byte Ds4 + .byte W06 + .byte As4 , v032 + .byte W06 + .byte Ds4 , v024 + .byte W06 + .byte As4 , v020 + .byte W06 + .byte Ds4 , v016 + .byte W06 + .byte As4 , v012 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs3 , v040 + .byte W06 + .byte Gs3 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte As4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 , v048 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs5 , v032 + .byte W06 + .byte Fs4 , v024 + .byte W06 + .byte Cs5 , v020 + .byte W06 + .byte Fs4 , v016 + .byte W06 + .byte Cs5 , v012 + .byte W06 + .byte Fs4 + .byte W06 + .byte VOICE , 4 + .byte N06 , As4 , v048 + .byte W12 + .byte Fn4 + .byte W12 + .byte As4 + .byte W12 + .byte Fn4 + .byte W12 + .byte As4 + .byte W12 + .byte Fn4 + .byte W12 + .byte As4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte An4 + .byte W12 + .byte Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte N48 , An4 + .byte W06 + .byte VOL , 80*mus_machi_s4_mvl/mxv + .byte W06 + .byte 71*mus_machi_s4_mvl/mxv + .byte W05 + .byte 62*mus_machi_s4_mvl/mxv + .byte W07 + .byte 55*mus_machi_s4_mvl/mxv + .byte W05 + .byte 43*mus_machi_s4_mvl/mxv + .byte W07 + .byte 30*mus_machi_s4_mvl/mxv + .byte W05 + .byte 15*mus_machi_s4_mvl/mxv + .byte W07 + .byte GOTO + .word mus_machi_s4_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_machi_s4_5: + .byte KEYSH , mus_machi_s4_key+0 +mus_machi_s4_5_B1: + .byte PAN , c_v+0 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte BEND , c_v+0 + .byte W24 + .byte VOICE , 5 + .byte VOL , 80*mus_machi_s4_mvl/mxv + .byte N06 , Fn3 , v048 + .byte W48 + .byte N06 + .byte W24 +mus_machi_s4_5_000: + .byte W24 + .byte N06 , Dn3 , v048 + .byte W48 + .byte Cn3 + .byte W24 + .byte PEND +mus_machi_s4_5_001: + .byte W24 + .byte N06 , Fn3 , v048 + .byte W48 + .byte N06 + .byte W24 + .byte PEND + .byte PATT + .word mus_machi_s4_5_001 + .byte PATT + .word mus_machi_s4_5_001 + .byte PATT + .word mus_machi_s4_5_000 + .byte PATT + .word mus_machi_s4_5_001 + .byte W24 + .byte N06 , Gn3 , v048 + .byte W24 + .byte VOICE , 82 + .byte PAN , c_v+50 + .byte N12 , Fn3 + .byte W06 + .byte VOL , 74*mus_machi_s4_mvl/mxv + .byte W06 + .byte VOICE , 83 + .byte VOL , 60*mus_machi_s4_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 53*mus_machi_s4_mvl/mxv + .byte W06 + .byte 63*mus_machi_s4_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 75*mus_machi_s4_mvl/mxv + .byte W07 + .byte 80*mus_machi_s4_mvl/mxv + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte N06 , Fn3 , v044 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N12 , Fn3 + .byte W12 + .byte VOICE , 83 + .byte N12 , Fn3 , v048 + .byte W12 + .byte VOL , 75*mus_machi_s4_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 65*mus_machi_s4_mvl/mxv + .byte W06 + .byte 51*mus_machi_s4_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 29*mus_machi_s4_mvl/mxv + .byte W06 + .byte 80*mus_machi_s4_mvl/mxv + .byte BEND , c_v-5 + .byte W03 + .byte VOICE , 82 + .byte N06 , Fn3 , v044 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N03 , Bn4 + .byte W03 + .byte BEND , c_v+0 + .byte N06 , Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N12 , Gn3 + .byte W12 + .byte VOICE , 83 + .byte N12 , Gn3 , v048 + .byte W12 + .byte VOL , 75*mus_machi_s4_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 65*mus_machi_s4_mvl/mxv + .byte W06 + .byte 51*mus_machi_s4_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 29*mus_machi_s4_mvl/mxv + .byte W06 + .byte VOICE , 82 + .byte VOL , 80*mus_machi_s4_mvl/mxv + .byte N12 , Fn3 , v044 + .byte W18 + .byte Ds3 + .byte W18 + .byte Dn3 + .byte W12 + .byte VOICE , 7 + .byte BEND , c_v-5 + .byte W03 + .byte N06 , Ds3 , v040 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 , v048 + .byte W06 + .byte Ds4 + .byte W06 + .byte As4 , v032 + .byte W06 + .byte Ds4 , v024 + .byte W06 + .byte As4 , v020 + .byte W06 + .byte Ds4 , v016 + .byte W06 + .byte As4 , v012 + .byte W06 + .byte Ds4 + .byte W03 + .byte W03 + .byte Fs3 , v040 + .byte W06 + .byte Gs3 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte As4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 , v048 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs5 , v032 + .byte W06 + .byte Fs4 , v024 + .byte W06 + .byte Cs5 , v020 + .byte W06 + .byte Fs4 , v016 + .byte W06 + .byte Cs5 , v012 + .byte W06 + .byte N03 , Fs4 , v016 + .byte W03 + .byte VOICE , 5 + .byte BEND , c_v+0 + .byte N06 , Fn4 , v048 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N12 , Fn4 + .byte W06 + .byte VOL , 80*mus_machi_s4_mvl/mxv + .byte W06 + .byte VOICE , 84 + .byte VOL , 71*mus_machi_s4_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 62*mus_machi_s4_mvl/mxv + .byte W07 + .byte 55*mus_machi_s4_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 43*mus_machi_s4_mvl/mxv + .byte W07 + .byte 30*mus_machi_s4_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 15*mus_machi_s4_mvl/mxv + .byte W07 + .byte GOTO + .word mus_machi_s4_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_machi_s4_6: + .byte KEYSH , mus_machi_s4_key+0 +mus_machi_s4_6_B1: + .byte VOICE , 48 + .byte VOL , 80*mus_machi_s4_mvl/mxv + .byte PAN , c_v+10 + .byte N06 , As3 , v072 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte As3 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cn4 + .byte W06 + .byte An3 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W12 + .byte Fn4 + .byte W12 + .byte As4 + .byte W12 + .byte As3 + .byte W12 + .byte As4 + .byte W12 + .byte Gn4 + .byte W12 + .byte As4 + .byte W12 + .byte As3 + .byte W12 + .byte An4 + .byte W12 + .byte Fn4 + .byte W12 + .byte An4 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , As4 , v080 + .byte W24 + .byte Bn4 + .byte W24 + .byte N06 , Cn5 , v072 + .byte W12 + .byte Gn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Ds4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N32 , Gn4 , v072, gtp1 + .byte W36 + .byte N12 , An4 + .byte W12 + .byte N44 , Fn4 , v072, gtp1 + .byte W24 + .byte VOL , 74*mus_machi_s4_mvl/mxv + .byte W05 + .byte 63*mus_machi_s4_mvl/mxv + .byte W07 + .byte 51*mus_machi_s4_mvl/mxv + .byte W05 + .byte 34*mus_machi_s4_mvl/mxv + .byte W07 + .byte 80*mus_machi_s4_mvl/mxv + .byte W96 + .byte W48 + .byte N48 , As3 , v096 + .byte W06 + .byte VOL , 61*mus_machi_s4_mvl/mxv + .byte W06 + .byte 51*mus_machi_s4_mvl/mxv + .byte W05 + .byte 56*mus_machi_s4_mvl/mxv + .byte W07 + .byte 62*mus_machi_s4_mvl/mxv + .byte W05 + .byte 66*mus_machi_s4_mvl/mxv + .byte W07 + .byte 75*mus_machi_s4_mvl/mxv + .byte W05 + .byte 80*mus_machi_s4_mvl/mxv + .byte W07 + .byte N48 , Cn4 + .byte W48 + .byte As3 + .byte W48 + .byte N36 , An3 + .byte W36 + .byte N12 , As3 + .byte W12 + .byte N44 , Cn4 + .byte W24 + .byte VOL , 75*mus_machi_s4_mvl/mxv + .byte W05 + .byte 58*mus_machi_s4_mvl/mxv + .byte W07 + .byte 37*mus_machi_s4_mvl/mxv + .byte W05 + .byte 24*mus_machi_s4_mvl/mxv + .byte W07 + .byte GOTO + .word mus_machi_s4_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_machi_s4_7: + .byte KEYSH , mus_machi_s4_key+0 +mus_machi_s4_7_B1: + .byte VOICE , 81 + .byte VOL , 80*mus_machi_s4_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N32 , Cn3 , v048, gtp1 + .byte W36 + .byte N12 + .byte W12 + .byte N24 , Dn3 + .byte W24 + .byte Fn3 + .byte W24 + .byte N09 , Ds3 + .byte W36 + .byte Cn3 + .byte W12 + .byte Ds3 + .byte W36 + .byte Bn2 + .byte W12 + .byte As2 + .byte W18 + .byte Cn3 + .byte W18 + .byte Dn3 + .byte W12 + .byte N32 , Cn3 , v048, gtp1 + .byte W48 + .byte W96 + .byte W48 + .byte N48 , Cs3 + .byte W48 + .byte N36 , Fn3 , v048, gtp3 + .byte W48 + .byte Fn3 , v048, gtp3 + .byte W48 + .byte N36 + .byte W36 + .byte N12 , Gn3 + .byte W12 + .byte N36 , An3 + .byte W48 + .byte GOTO + .word mus_machi_s4_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_machi_s4: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_machi_s4_pri @ Priority + .byte mus_machi_s4_rev @ Reverb. + + .word mus_machi_s4_grp + + .word mus_machi_s4_1 + .word mus_machi_s4_2 + .word mus_machi_s4_3 + .word mus_machi_s4_4 + .word mus_machi_s4_5 + .word mus_machi_s4_6 + .word mus_machi_s4_7 + + .end diff --git a/sound/songs/mus_machupi.s b/sound/songs/mus_machupi.s new file mode 100644 index 0000000000..e5601081c6 --- /dev/null +++ b/sound/songs/mus_machupi.s @@ -0,0 +1,5949 @@ + .include "MPlayDef.s" + + .equ mus_machupi_grp, voicegroup_868D674 + .equ mus_machupi_pri, 0 + .equ mus_machupi_rev, reverb_set+50 + .equ mus_machupi_mvl, 127 + .equ mus_machupi_key, 0 + .equ mus_machupi_tbs, 1 + .equ mus_machupi_exg, 0 + .equ mus_machupi_cmp, 1 + + .section .rodata + .global mus_machupi + .align 2 + +@********************** Track 1 **********************@ + +mus_machupi_1: + .byte KEYSH , mus_machupi_key+0 + .byte TEMPO , 102*mus_machupi_tbs/2 + .byte VOICE , 73 + .byte LFOS , 44 + .byte VOL , 57*mus_machupi_mvl/mxv + .byte PAN , c_v-4 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte c_v-32 + .byte N03 , Cn5 , v112 + .byte W03 + .byte Cn5 , v032 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v032 + .byte W03 + .byte Gs4 , v112 + .byte W03 + .byte Gs4 , v032 + .byte W03 + .byte Cn5 , v112 + .byte W03 + .byte Cn5 , v032 + .byte W03 + .byte As4 , v112 + .byte W03 + .byte As4 , v032 + .byte W03 + .byte Dn4 , v112 + .byte W03 + .byte Dn4 , v032 + .byte W03 + .byte Fn4 , v112 + .byte W03 + .byte Fn4 , v032 + .byte W03 + .byte As4 , v112 + .byte W03 + .byte As4 , v032 + .byte W03 + .byte N01 , Fn4 , v112 + .byte W04 + .byte N02 , Dn4 + .byte W04 + .byte As3 , v084 + .byte W04 + .byte N01 , Fn3 , v080 + .byte W04 + .byte As3 , v084 + .byte W04 + .byte N02 , Dn4 , v088 + .byte W04 + .byte N01 , As4 , v112 + .byte W04 + .byte N02 , Fn4 , v092 + .byte W04 + .byte Dn4 , v088 + .byte W04 + .byte N01 , As3 + .byte W04 + .byte N02 , Dn4 , v092 + .byte W04 + .byte Fn4 , v112 + .byte W04 + .byte PAN , c_v-2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_machupi_1_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 73 + .byte VOL , 69*mus_machupi_mvl/mxv + .byte PAN , c_v+24 + .byte W72 + .byte N03 , Gn3 , v044 + .byte W03 + .byte Gs3 , v048 + .byte W03 + .byte An3 , v060 + .byte W03 + .byte As3 , v072 + .byte W03 + .byte Bn3 , v080 + .byte W03 + .byte Cn4 , v092 + .byte W03 + .byte Cs4 , v104 + .byte W03 + .byte Dn4 , v112 + .byte W03 + .byte N04 , Ds4 + .byte W08 + .byte En4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N04 + .byte W08 + .byte En4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N24 , Ds4 + .byte W24 + .byte N36 , Dn4 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Cs4 + .byte W03 + .byte Cn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte As3 + .byte W03 + .byte N48 , An3 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N04 , Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte En4 + .byte W08 + .byte N04 + .byte W08 + .byte Dn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte An3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cn4 + .byte W08 + .byte N24 , Cs4 + .byte W24 + .byte N36 , Cn4 + .byte W24 + .byte MOD , 7 + .byte W12 + .byte 1 + .byte N03 , Bn3 + .byte W03 + .byte Cn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte Dn4 + .byte W03 + .byte MOD , 0 + .byte N48 , Ds4 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte VOICE , 60 + .byte MOD , 0 + .byte VOL , 42*mus_machupi_mvl/mxv + .byte PAN , c_v+25 + .byte N04 , As2 + .byte W08 + .byte N04 + .byte W08 + .byte An2 + .byte W08 + .byte Ds3 + .byte W08 + .byte N04 + .byte W08 + .byte Dn3 + .byte W08 + .byte N21 , Fs3 + .byte W21 + .byte N03 , Gn3 + .byte W03 + .byte N15 , Gs3 + .byte W15 + .byte N03 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W06 + .byte N06 , En3 + .byte W12 + .byte Fn3 + .byte W06 + .byte N18 , Dn3 + .byte W18 + .byte N03 , Ds3 , v080 + .byte W03 + .byte En3 , v088 + .byte W03 + .byte N24 , Fn3 , v112 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N04 , Gs2 + .byte W08 + .byte N04 + .byte W08 + .byte Gn2 + .byte W08 + .byte Cs3 + .byte W08 + .byte N04 + .byte W08 + .byte Cn3 + .byte W08 + .byte N21 , En3 + .byte W21 + .byte N03 , Fn3 + .byte W03 + .byte N15 , Fs3 + .byte W15 + .byte N03 + .byte W03 + .byte Fn3 + .byte W03 + .byte En3 + .byte W03 + .byte N24 , Ds3 + .byte W30 + .byte N06 , Dn3 + .byte W12 + .byte N03 , En3 + .byte W03 + .byte Fn3 + .byte W03 + .byte N18 , Fs3 + .byte W18 + .byte N03 , Fn3 , v080 + .byte W03 + .byte En3 + .byte W03 + .byte N24 , Ds3 , v112 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W96 + .byte VOICE , 47 + .byte W72 + .byte N01 , As2 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N10 , As1 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_machupi_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_machupi_2: + .byte KEYSH , mus_machupi_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 28*mus_machupi_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte VOICE , 126 + .byte N06 , Gs4 , v084 + .byte W06 + .byte VOICE , 127 + .byte N03 , Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte VOICE , 126 + .byte N06 , Gs4 , v096 + .byte W06 + .byte VOICE , 127 + .byte N03 , Fn4 , v064 + .byte W06 + .byte VOICE , 126 + .byte N06 , Gs4 , v096 + .byte W06 + .byte VOICE , 127 + .byte N03 , Fn4 , v088 + .byte W03 + .byte Fn4 , v076 + .byte W03 + .byte Fn4 , v120 + .byte W03 + .byte Fn4 , v080 + .byte W03 + .byte Fn4 , v088 + .byte W03 + .byte Fn4 , v076 + .byte W03 +mus_machupi_2_000: + .byte N03 , Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte VOICE , 126 + .byte N06 , Gs4 , v084 + .byte W06 + .byte VOICE , 127 + .byte N03 , Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte VOICE , 126 + .byte N06 , Gs4 , v104 + .byte W06 + .byte VOICE , 127 + .byte N03 , Fn4 , v064 + .byte W06 + .byte Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte VOICE , 126 + .byte N06 , Gs4 , v120 + .byte W06 + .byte VOICE , 127 + .byte N03 , Fn4 , v064 + .byte W06 + .byte PEND + .byte VOICE , 127 + .byte N03 , Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte VOICE , 126 + .byte N06 , Gs4 , v084 + .byte W06 + .byte VOICE , 127 + .byte N03 , Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte VOICE , 126 + .byte N06 , Gs4 , v096 + .byte W06 + .byte VOICE , 127 + .byte N03 , Fn4 , v064 + .byte W06 + .byte Fn4 , v124 + .byte W03 + .byte Fn4 , v080 + .byte W03 + .byte Fn4 , v088 + .byte W03 + .byte Fn4 , v076 + .byte W03 + .byte Fn4 , v120 + .byte W03 + .byte Fn4 , v080 + .byte W03 + .byte Fn4 , v088 + .byte W03 + .byte Fn4 , v076 + .byte W03 + .byte PATT + .word mus_machupi_2_000 + .byte N03 , Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte VOICE , 126 + .byte N03 , Fn4 , v064 + .byte W06 + .byte VOICE , 127 + .byte N06 , Gs4 , v084 + .byte W06 + .byte N03 , Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v084 + .byte W06 + .byte VOICE , 126 + .byte N03 , Fn4 , v064 + .byte W06 + .byte VOICE , 127 + .byte N06 , Gs4 , v096 + .byte W06 + .byte N03 , Fn4 , v064 + .byte W06 + .byte Fn4 , v124 + .byte W03 + .byte Fn4 , v080 + .byte W03 + .byte Fn4 , v088 + .byte W03 + .byte Fn4 , v076 + .byte W03 + .byte Fn4 , v120 + .byte W03 + .byte Fn4 , v080 + .byte W03 + .byte Fn4 , v088 + .byte W03 + .byte Fn4 , v076 + .byte W03 +mus_machupi_2_001: + .byte PAN , c_v-63 + .byte N03 , Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte PEND +mus_machupi_2_002: + .byte N03 , Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v124 + .byte W03 + .byte Fn4 , v080 + .byte W03 + .byte Fn4 , v088 + .byte W03 + .byte Fn4 , v076 + .byte W03 + .byte Fn4 , v120 + .byte W03 + .byte Fn4 , v080 + .byte W03 + .byte Fn4 , v088 + .byte W03 + .byte Fn4 , v076 + .byte W03 + .byte PEND +mus_machupi_2_003: + .byte N03 , Fn4 , v096 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte PEND + .byte PATT + .word mus_machupi_2_002 +mus_machupi_2_B1: +mus_machupi_2_004: + .byte N03 , Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v084 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte Fn4 , v120 + .byte W06 + .byte Fn4 , v064 + .byte W06 + .byte PEND + .byte PATT + .word mus_machupi_2_002 + .byte PATT + .word mus_machupi_2_003 + .byte PATT + .word mus_machupi_2_002 + .byte PATT + .word mus_machupi_2_004 + .byte PATT + .word mus_machupi_2_002 + .byte PATT + .word mus_machupi_2_003 + .byte PATT + .word mus_machupi_2_002 + .byte PAN , c_v+0 + .byte N01 , Fn4 , v112 + .byte W08 + .byte Fn4 , v080 + .byte W08 + .byte N01 + .byte W08 + .byte Fn4 , v112 + .byte W08 + .byte Fn4 , v080 + .byte W08 + .byte N01 + .byte W56 +mus_machupi_2_005: + .byte N01 , Fn4 , v112 + .byte W08 + .byte Fn4 , v080 + .byte W08 + .byte N01 + .byte W08 + .byte Fn4 , v112 + .byte W08 + .byte Fn4 , v080 + .byte W08 + .byte N01 + .byte W56 + .byte PEND + .byte PATT + .word mus_machupi_2_005 + .byte W96 + .byte VOL , 40*mus_machupi_mvl/mxv + .byte N03 , Fn4 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v076 + .byte W06 + .byte Fn4 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v076 + .byte W06 + .byte Fn4 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v076 + .byte W06 + .byte Fn4 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v076 + .byte W06 +mus_machupi_2_006: + .byte N03 , Fn4 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v076 + .byte W06 + .byte Fn4 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v076 + .byte W06 + .byte Fn4 , v104 + .byte W03 + .byte Fn4 , v072 + .byte W03 + .byte Fn4 , v084 + .byte W03 + .byte Fn4 , v060 + .byte W03 + .byte Fn4 , v080 + .byte W06 + .byte Fn4 , v076 + .byte W06 + .byte Fn4 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v076 + .byte W06 + .byte PEND + .byte Fn4 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v076 + .byte W06 + .byte Fn4 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v076 + .byte W06 + .byte Fn4 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v076 + .byte W06 + .byte Fn4 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v076 + .byte W06 + .byte PATT + .word mus_machupi_2_006 + .byte W96 + .byte W96 + .byte PATT + .word mus_machupi_2_001 + .byte PATT + .word mus_machupi_2_002 + .byte PATT + .word mus_machupi_2_004 + .byte PATT + .word mus_machupi_2_002 + .byte PATT + .word mus_machupi_2_004 + .byte PATT + .word mus_machupi_2_002 + .byte PATT + .word mus_machupi_2_004 + .byte PATT + .word mus_machupi_2_002 + .byte GOTO + .word mus_machupi_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_machupi_3: + .byte KEYSH , mus_machupi_key+0 + .byte VOICE , 38 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 80*mus_machupi_mvl/mxv + .byte PAN , c_v+19 + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W90 + .byte N06 , Ds1 , v120 + .byte W06 + .byte N24 , As1 + .byte W12 + .byte MOD , 8 + .byte BEND , c_v+2 + .byte W06 + .byte c_v+0 + .byte W06 + .byte MOD , 0 + .byte N06 , Ds1 + .byte W06 + .byte N03 , Ds1 , v036 + .byte W12 + .byte Dn1 , v120 + .byte W03 + .byte Dn1 , v036 + .byte W03 + .byte N06 , Ds1 , v120 + .byte W06 + .byte N03 , Ds1 , v036 + .byte W36 + .byte N06 , As1 , v120 + .byte W06 + .byte BEND , c_v+0 + .byte N24 , Bn1 + .byte W12 + .byte MOD , 8 + .byte BEND , c_v+2 + .byte W06 + .byte c_v+0 + .byte W06 + .byte MOD , 0 + .byte N06 , En1 + .byte W06 + .byte N03 , En1 , v036 + .byte W12 + .byte Ds1 , v120 + .byte W03 + .byte Ds1 , v036 + .byte W03 + .byte N06 , En1 , v120 + .byte W42 + .byte Ds1 + .byte W06 + .byte N18 , As1 + .byte W18 + .byte N06 , Ds1 + .byte W06 + .byte As0 + .byte W12 + .byte N03 + .byte W12 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Dn1 + .byte W12 + .byte N03 , Ds1 + .byte W06 + .byte N09 + .byte W12 + .byte N03 , Dn1 + .byte W06 + .byte N06 , As0 + .byte W12 + .byte N09 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , Dn1 + .byte W06 + .byte An1 + .byte W06 + .byte BEND , c_v+0 + .byte N24 , As1 + .byte W06 + .byte BEND , c_v+3 + .byte W06 + .byte MOD , 8 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte W06 +mus_machupi_3_B1: + .byte MOD , 0 + .byte VOL , 76*mus_machupi_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Ds1 , v120 + .byte W18 + .byte N06 , As1 + .byte W18 + .byte Ds2 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte N18 , Ds1 + .byte W06 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N06 , Fs1 + .byte W12 + .byte As1 + .byte W06 + .byte En2 + .byte W06 + .byte N12 , En1 + .byte W18 + .byte N06 , Bn1 + .byte W18 + .byte En2 + .byte W12 + .byte N03 , Bn1 + .byte W06 + .byte En2 + .byte W06 + .byte Bn1 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte Bn1 + .byte W12 + .byte En2 + .byte W12 +mus_machupi_3_000: + .byte N06 , Ds1 , v120 + .byte W18 + .byte As1 + .byte W18 + .byte Ds2 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte N18 , Ds1 + .byte W06 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N06 , Fs1 + .byte W12 + .byte As1 + .byte W12 + .byte PEND + .byte Ds1 + .byte W18 + .byte As1 + .byte W18 + .byte Ds2 + .byte W12 + .byte N03 , Gs2 + .byte W06 + .byte N18 , En1 + .byte W06 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N06 , Bn1 + .byte W06 + .byte En2 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte BEND , c_v+0 + .byte N12 , Ds1 + .byte W18 + .byte N06 , As1 + .byte W18 + .byte Ds2 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte N18 , Ds1 + .byte W06 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N06 , Fs1 + .byte W12 + .byte As1 + .byte W06 + .byte En2 + .byte W06 + .byte N12 , En1 + .byte W18 + .byte N06 , Bn1 + .byte W18 + .byte En2 + .byte W12 + .byte Bn1 + .byte W06 + .byte N03 , En2 + .byte W06 + .byte Bn1 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte Bn1 + .byte W06 + .byte En2 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte PATT + .word mus_machupi_3_000 + .byte N06 , Ds1 , v120 + .byte W18 + .byte As1 + .byte W18 + .byte Ds2 + .byte W12 + .byte N03 , Gs2 + .byte W06 + .byte N06 , En1 + .byte W12 + .byte N03 , Cs1 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Cs1 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte BEND , c_v+0 + .byte N48 , Bn0 + .byte W36 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte W24 + .byte BEND , c_v+0 + .byte N24 , Cs1 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v-6 + .byte W06 + .byte c_v+0 + .byte N48 , As0 + .byte W36 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte W18 + .byte N06 , Fn1 + .byte W06 + .byte N24 , As1 + .byte W12 + .byte BEND , c_v-3 + .byte W12 + .byte c_v+0 + .byte N48 , An0 + .byte W36 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte W24 + .byte BEND , c_v+0 + .byte N24 , Bn0 + .byte W06 + .byte BEND , c_v+9 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v-6 + .byte W06 + .byte c_v+0 + .byte N40 , Gs0 + .byte W40 + .byte N04 , Ds1 + .byte W08 + .byte N24 , Gs1 + .byte W24 + .byte N12 , Ds2 + .byte W03 + .byte BEND , c_v+7 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N06 , Cn2 + .byte W06 + .byte Ds1 + .byte W06 + .byte N18 , Bn0 + .byte W18 + .byte N06 , Ds1 + .byte W18 + .byte Fs1 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte N18 , Bn0 + .byte W06 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N06 , Ds1 + .byte W12 + .byte N12 , Bn0 + .byte W12 + .byte N18 , As0 + .byte W18 + .byte N06 , Dn1 + .byte W18 + .byte Fn1 + .byte W12 + .byte As0 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte Dn1 + .byte W06 + .byte N06 , As0 + .byte W06 + .byte An1 + .byte W03 + .byte BEND , c_v+7 + .byte W03 + .byte c_v+0 + .byte N03 , Fn1 + .byte W06 + .byte N12 , As0 + .byte W12 + .byte N06 , An0 + .byte W18 + .byte Cs1 + .byte W18 + .byte En1 + .byte W12 + .byte N03 , Gs1 + .byte W06 + .byte N18 , An0 + .byte W06 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N12 , Cs1 + .byte W03 + .byte BEND , c_v+7 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N12 , An0 + .byte W12 + .byte N06 , Gs0 + .byte W18 + .byte Cn1 + .byte W18 + .byte Ds1 + .byte W12 + .byte N03 , Gn1 + .byte W06 + .byte N18 , Gs0 + .byte W06 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N06 , Cn1 + .byte W12 + .byte N12 , Gs0 + .byte W12 + .byte W96 + .byte W96 +mus_machupi_3_001: + .byte BEND , c_v+0 + .byte W12 + .byte c_v+2 + .byte W06 + .byte c_v+0 + .byte W78 + .byte PEND + .byte PATT + .word mus_machupi_3_001 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_machupi_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_machupi_4: + .byte KEYSH , mus_machupi_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 35*mus_machupi_mvl/mxv + .byte PAN , c_v-32 + .byte BEND , c_v+0 + .byte W96 + .byte VOL , 25*mus_machupi_mvl/mxv + .byte N06 , Dn3 , v112 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn4 + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte c_v+0 + .byte N03 , Ds3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte VOL , 33*mus_machupi_mvl/mxv + .byte N06 , Cn3 + .byte W06 + .byte N03 , Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn4 + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte c_v+0 + .byte N03 , Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte VOL , 44*mus_machupi_mvl/mxv + .byte N06 , As2 + .byte W06 + .byte N03 , Bn2 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte N03 , Bn2 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N03 , Bn2 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte N03 , Bn2 + .byte W06 + .byte N06 , Fs3 + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte c_v+0 + .byte N03 , Ds4 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N03 , Fs3 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte VOL , 48*mus_machupi_mvl/mxv + .byte N06 , Gs3 + .byte W06 + .byte N03 , Cn3 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte N03 , Gs3 + .byte W06 + .byte VOL , 53*mus_machupi_mvl/mxv + .byte N06 , Fn3 + .byte W06 + .byte N03 , As2 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte VOL , 57*mus_machupi_mvl/mxv + .byte N04 , Dn3 + .byte W04 + .byte N02 , As2 + .byte W04 + .byte Gs2 + .byte W04 + .byte N04 , Fn2 + .byte W04 + .byte Gs2 + .byte W04 + .byte N02 , As2 + .byte W04 + .byte VOL , 60*mus_machupi_mvl/mxv + .byte N04 , Fn3 + .byte W04 + .byte N02 , Dn3 + .byte W02 + .byte BEND , c_v+0 + .byte W02 + .byte N02 , As2 + .byte W04 + .byte VOL , 60*mus_machupi_mvl/mxv + .byte N03 , Fn2 + .byte W03 + .byte As2 + .byte W03 + .byte Dn3 + .byte W03 + .byte Fn3 + .byte W03 + .byte VOL , 53*mus_machupi_mvl/mxv + .byte PAN , c_v+27 + .byte N09 , As3 , v127 + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , Ds3 , v112 + .byte W03 + .byte N03 , Ds3 , v028 + .byte W03 + .byte N01 , Ds3 , v112 + .byte W03 + .byte N03 , Ds3 , v024 + .byte W03 + .byte N01 , Ds3 , v048 + .byte W06 + .byte Ds3 , v120 + .byte W06 + .byte Ds3 , v112 + .byte W06 + .byte Ds3 , v052 + .byte W06 + .byte Ds3 , v048 + .byte W06 + .byte N04 , En3 , v120 + .byte W06 + .byte N01 , Ds3 , v092 + .byte W03 + .byte Dn3 , v088 + .byte W06 + .byte N03 , Cs3 , v096 + .byte W03 + .byte N09 , Ds3 , v124 + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , As2 , v120 + .byte N01 , Fs3 + .byte W06 + .byte Cs3 , v112 + .byte N01 , As3 + .byte W03 + .byte N03 , Dn3 + .byte N03 , As3 + .byte W03 + .byte N09 , Bn3 , v127 + .byte W03 + .byte BEND , c_v+1 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , En3 , v112 + .byte W03 + .byte N03 , En3 , v028 + .byte W03 + .byte N01 , En3 , v112 + .byte W03 + .byte N03 , En3 , v024 + .byte W03 + .byte N01 , En3 , v048 + .byte W06 + .byte En3 , v120 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v052 + .byte W06 + .byte En3 , v048 + .byte W06 + .byte N04 , Fs3 , v120 + .byte W06 + .byte N01 , Fn3 , v092 + .byte W03 + .byte En3 , v088 + .byte W09 + .byte N04 , Cs4 , v127 + .byte W06 + .byte N01 , Cs4 , v088 + .byte W03 + .byte N03 , Cs4 , v040 + .byte W03 + .byte N01 , Bn3 , v124 + .byte W03 + .byte N03 , Bn3 , v044 + .byte W03 + .byte N01 , Bn3 , v088 + .byte W06 +mus_machupi_4_000: + .byte N09 , As3 , v127 + .byte W03 + .byte BEND , c_v+3 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , Ds3 , v112 + .byte W03 + .byte N03 , Ds3 , v028 + .byte W03 + .byte N01 , Ds3 , v112 + .byte W03 + .byte N03 , Ds3 , v024 + .byte W03 + .byte N01 , Ds3 , v048 + .byte W06 + .byte Ds3 , v120 + .byte W06 + .byte Ds3 , v112 + .byte W06 + .byte Ds3 , v052 + .byte W06 + .byte Ds3 , v120 + .byte W03 + .byte N03 , Ds3 , v048 + .byte W03 + .byte N04 , Gs3 , v112 + .byte W06 + .byte N01 , Fs3 , v124 + .byte W03 + .byte En3 , v120 + .byte W06 + .byte N03 , Cn3 , v096 + .byte W03 + .byte N09 , Cs3 , v124 + .byte W03 + .byte BEND , c_v+1 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , Dn3 , v120 + .byte W06 + .byte Dn3 , v112 + .byte W03 + .byte N03 + .byte W03 + .byte PEND +mus_machupi_4_001: + .byte N09 , Ds3 , v127 + .byte W03 + .byte BEND , c_v+1 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , Ds3 , v112 + .byte W03 + .byte N03 , Ds3 , v028 + .byte W03 + .byte N01 , Ds3 , v112 + .byte W03 + .byte N03 , Ds3 , v024 + .byte W03 + .byte N01 , Ds3 , v048 + .byte W06 + .byte Ds3 , v120 + .byte W06 + .byte Ds3 , v112 + .byte W06 + .byte Ds3 , v052 + .byte W06 + .byte Ds3 , v120 + .byte W06 + .byte N06 , Ds3 , v124 + .byte W06 + .byte N01 , Ds3 , v096 + .byte W06 + .byte Ds3 , v120 + .byte W03 + .byte N03 , Ds3 , v096 + .byte W03 + .byte N09 , En3 , v124 + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N04 , Dn3 , v127 + .byte W06 + .byte N03 , En3 , v060 + .byte W03 + .byte An3 , v112 + .byte W03 + .byte PEND +mus_machupi_4_B1: +mus_machupi_4_002: + .byte N09 , As3 , v127 + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , Ds3 , v112 + .byte W03 + .byte N03 , Ds3 , v028 + .byte W03 + .byte N01 , Ds3 , v112 + .byte W03 + .byte N03 , Ds3 , v024 + .byte W03 + .byte N01 , Ds3 , v048 + .byte W06 + .byte Ds3 , v120 + .byte W06 + .byte Ds3 , v112 + .byte W06 + .byte Ds3 , v052 + .byte W06 + .byte Ds3 , v048 + .byte W06 + .byte N04 , En3 , v120 + .byte W06 + .byte N01 , Ds3 , v092 + .byte W03 + .byte Dn3 , v088 + .byte W06 + .byte N03 , Cs3 , v096 + .byte W03 + .byte N09 , Ds3 , v124 + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , As2 , v120 + .byte N01 , Fs3 + .byte W06 + .byte Cs3 , v112 + .byte N01 , As3 + .byte W03 + .byte N03 , Dn3 + .byte N03 , As3 + .byte W03 + .byte PEND + .byte N09 , Bn3 , v127 + .byte W03 + .byte BEND , c_v+1 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , En3 , v112 + .byte W03 + .byte N03 , En3 , v028 + .byte W03 + .byte N01 , En3 , v112 + .byte W03 + .byte N03 , En3 , v024 + .byte W03 + .byte N01 , En3 , v048 + .byte W06 + .byte En3 , v120 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v052 + .byte W06 + .byte En3 , v048 + .byte W06 + .byte N04 , Fs3 , v120 + .byte W06 + .byte N01 , Fn3 , v092 + .byte W03 + .byte En3 , v088 + .byte W09 + .byte N04 , En3 , v127 + .byte N04 , Cs4 + .byte W06 + .byte N01 , En3 , v088 + .byte N01 , Cs4 + .byte W03 + .byte N03 , Cs4 , v040 + .byte W03 + .byte N01 , Cs3 , v124 + .byte N01 , Bn3 + .byte W03 + .byte N03 , Bn3 , v044 + .byte W03 + .byte N01 , Cs3 , v088 + .byte N01 , Bn3 + .byte W06 + .byte PATT + .word mus_machupi_4_000 + .byte PATT + .word mus_machupi_4_001 + .byte PATT + .word mus_machupi_4_002 + .byte N09 , Bn3 , v127 + .byte W03 + .byte BEND , c_v+1 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , En3 , v112 + .byte W03 + .byte N03 , En3 , v028 + .byte W03 + .byte N01 , En3 , v112 + .byte W03 + .byte N03 , En3 , v024 + .byte W03 + .byte N01 , En3 , v048 + .byte W06 + .byte En3 , v120 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v052 + .byte W06 + .byte En3 , v048 + .byte W06 + .byte N04 , Ds3 , v120 + .byte W06 + .byte N01 , En3 , v092 + .byte W03 + .byte Fn3 , v088 + .byte W09 + .byte N04 , Cs4 , v127 + .byte W06 + .byte N01 , Cs4 , v088 + .byte W03 + .byte N03 , Cs4 , v040 + .byte W03 + .byte N01 , Bn3 , v124 + .byte W03 + .byte N03 , Bn3 , v044 + .byte W03 + .byte N01 , Bn3 , v088 + .byte W06 + .byte N09 , As3 , v127 + .byte W03 + .byte BEND , c_v+3 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , Ds3 , v112 + .byte W03 + .byte N03 , Ds3 , v028 + .byte W03 + .byte N01 , Ds3 , v112 + .byte W03 + .byte N03 , Ds3 , v024 + .byte W03 + .byte N01 , Ds3 , v048 + .byte W06 + .byte Ds3 , v120 + .byte W06 + .byte Ds3 , v112 + .byte W06 + .byte Ds3 , v052 + .byte W06 + .byte Ds3 , v120 + .byte W06 + .byte N04 , Gs3 , v112 + .byte W06 + .byte N01 , Fs3 , v124 + .byte W03 + .byte En3 , v120 + .byte W06 + .byte N03 , Cn3 , v096 + .byte W03 + .byte N09 , Cs3 , v124 + .byte W03 + .byte BEND , c_v+1 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , Dn3 , v120 + .byte W06 + .byte Dn3 , v112 + .byte W03 + .byte N03 + .byte W03 + .byte PATT + .word mus_machupi_4_001 + .byte N06 , Bn3 , v127 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N03 , Dn3 , v112 + .byte W06 + .byte Fn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte N06 , As3 + .byte W06 + .byte N01 , As2 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N01 , As2 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , As3 + .byte W12 + .byte Bn3 + .byte W06 + .byte N01 , Bn2 + .byte W06 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N06 , Bn3 + .byte W06 + .byte N01 , Bn2 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , Bn3 + .byte W12 + .byte As3 + .byte W06 + .byte N01 , As2 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N01 , As2 + .byte W06 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N06 , As3 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte BEND , c_v+4 + .byte N08 , As3 + .byte W04 + .byte BEND , c_v+0 + .byte W08 + .byte N04 , Gs3 + .byte W04 + .byte N02 , Fs3 , v068 + .byte W04 + .byte Fn3 , v112 + .byte W04 + .byte N04 , Dn3 + .byte W04 + .byte N02 , Bn2 , v076 + .byte W04 + .byte As2 , v112 + .byte W04 + .byte PAN , c_v+27 + .byte N09 , As3 , v127 + .byte W12 + .byte N01 , Ds3 , v112 + .byte W03 + .byte N03 , Ds3 , v028 + .byte W03 + .byte N01 , Ds3 , v112 + .byte W03 + .byte N03 , Ds3 , v024 + .byte W03 + .byte N01 , Ds3 , v048 + .byte W06 + .byte Ds3 , v120 + .byte W06 + .byte Ds3 , v112 + .byte W06 + .byte Ds3 , v052 + .byte W06 + .byte Ds3 , v048 + .byte W06 + .byte N04 , En3 , v120 + .byte W06 + .byte N01 , Ds3 , v092 + .byte W03 + .byte Dn3 , v088 + .byte W06 + .byte N03 , Cs3 , v096 + .byte W03 + .byte N09 , Ds3 , v124 + .byte W12 + .byte N01 , As2 , v120 + .byte N01 , Fs3 + .byte W06 + .byte Cs3 , v112 + .byte N01 , As3 + .byte W03 + .byte N03 , Dn3 + .byte N03 , As3 + .byte W03 +mus_machupi_4_003: + .byte N09 , Bn3 , v127 + .byte W12 + .byte N01 , En3 , v112 + .byte W03 + .byte N03 , En3 , v028 + .byte W03 + .byte N01 , En3 , v112 + .byte W03 + .byte N03 , En3 , v024 + .byte W03 + .byte N01 , En3 , v048 + .byte W06 + .byte En3 , v120 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v052 + .byte W06 + .byte En3 , v048 + .byte W06 + .byte N04 , Fs3 , v120 + .byte W06 + .byte N01 , Fn3 , v092 + .byte W03 + .byte En3 , v088 + .byte W09 + .byte N04 , Cs4 , v127 + .byte W06 + .byte N01 , Cs4 , v088 + .byte W03 + .byte N03 , Cs4 , v040 + .byte W03 + .byte N01 , Bn3 , v124 + .byte W03 + .byte N03 , Bn3 , v044 + .byte W03 + .byte N01 , Bn3 , v088 + .byte W06 + .byte PEND + .byte N09 , As3 , v127 + .byte W03 + .byte BEND , c_v+3 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , Ds3 , v112 + .byte W03 + .byte N03 , Ds3 , v028 + .byte W03 + .byte N01 , Ds3 , v112 + .byte W03 + .byte N03 , Ds3 , v024 + .byte W03 + .byte N01 , Ds3 , v048 + .byte W06 + .byte Ds3 , v120 + .byte W06 + .byte Ds3 , v112 + .byte W06 + .byte Ds3 , v052 + .byte W06 + .byte Ds3 , v120 + .byte W03 + .byte N03 , Ds3 , v048 + .byte W03 + .byte N04 , Gs3 , v112 + .byte W06 + .byte N01 , Fs3 , v124 + .byte W03 + .byte En3 , v120 + .byte W06 + .byte N03 , Cn3 , v096 + .byte W03 + .byte N09 , Cs3 , v124 + .byte W03 + .byte BEND , c_v+1 + .byte W09 + .byte N01 , Dn3 , v120 + .byte W06 + .byte Dn3 , v112 + .byte W03 + .byte N03 + .byte W03 + .byte PATT + .word mus_machupi_4_001 + .byte N09 , As3 , v127 + .byte W12 + .byte N01 , Ds3 , v112 + .byte W03 + .byte N03 , Ds3 , v028 + .byte W03 + .byte N01 , Ds3 , v112 + .byte W03 + .byte N03 , Ds3 , v024 + .byte W03 + .byte N01 , Ds3 , v048 + .byte W06 + .byte Ds3 , v120 + .byte W06 + .byte Ds3 , v112 + .byte W06 + .byte Ds3 , v052 + .byte W06 + .byte Ds3 , v048 + .byte W06 + .byte N04 , En3 , v120 + .byte W06 + .byte N01 , Ds3 , v092 + .byte W03 + .byte Dn3 , v088 + .byte W06 + .byte N03 , Cs3 , v096 + .byte W03 + .byte N09 , Ds3 , v124 + .byte W12 + .byte N01 , As2 , v120 + .byte N01 , Fs3 + .byte W06 + .byte Cs3 , v112 + .byte N01 , As3 + .byte W03 + .byte N03 , Dn3 + .byte N03 , As3 + .byte W03 + .byte PATT + .word mus_machupi_4_003 + .byte N06 , Ds3 , v127 + .byte N09 , As3 + .byte W12 + .byte N01 , Ds3 , v112 + .byte W03 + .byte N03 , Ds3 , v028 + .byte W03 + .byte N01 , Ds3 , v112 + .byte W03 + .byte N03 , Ds3 , v024 + .byte W03 + .byte N01 , Ds3 , v048 + .byte W06 + .byte Ds3 , v120 + .byte W06 + .byte Ds3 , v112 + .byte W06 + .byte Ds3 , v052 + .byte W06 + .byte Ds3 , v120 + .byte W03 + .byte N03 , Ds3 , v048 + .byte W03 + .byte N04 , Gs3 , v112 + .byte W06 + .byte N01 , Fs3 , v124 + .byte W03 + .byte En3 , v120 + .byte W06 + .byte N03 , Cn3 , v096 + .byte W03 + .byte N09 , Cs3 , v124 + .byte W12 + .byte N01 , Dn3 , v120 + .byte W06 + .byte Dn3 , v112 + .byte W03 + .byte N03 + .byte W03 + .byte N09 , Ds3 , v127 + .byte W12 + .byte N01 , Ds3 , v112 + .byte W03 + .byte N03 , Ds3 , v028 + .byte W03 + .byte N01 , Ds3 , v112 + .byte W03 + .byte N03 , Ds3 , v024 + .byte W03 + .byte N01 , Ds3 , v048 + .byte W06 + .byte Ds3 , v120 + .byte W06 + .byte Ds3 , v112 + .byte W06 + .byte Ds3 , v052 + .byte W06 + .byte Ds3 , v120 + .byte W06 + .byte N06 , Ds3 , v124 + .byte W06 + .byte N01 , Ds3 , v096 + .byte W06 + .byte Ds3 , v120 + .byte W03 + .byte N03 , Ds3 , v096 + .byte W03 + .byte N09 , En3 , v124 + .byte W12 + .byte N04 , Dn3 , v127 + .byte W06 + .byte N03 , En3 , v060 + .byte W03 + .byte An3 , v112 + .byte W03 + .byte GOTO + .word mus_machupi_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_machupi_5: + .byte KEYSH , mus_machupi_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte VOL , 60*mus_machupi_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v-25 + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W90 + .byte N03 , As1 , v112 + .byte W03 + .byte Ds2 + .byte W03 + .byte PAN , c_v-16 + .byte VOL , 53*mus_machupi_mvl/mxv + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , Fs2 + .byte W06 + .byte N01 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Fs2 , v120 + .byte W06 + .byte Fs2 , v112 + .byte W06 + .byte Fs2 , v052 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte N04 , Gn2 , v120 + .byte W06 + .byte N01 , Fs2 , v092 + .byte W06 + .byte Fn2 , v088 + .byte W03 + .byte N03 , Ds2 , v096 + .byte W03 + .byte N09 , Fs2 , v124 + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte c_v+0 + .byte W18 + .byte N06 , Ds3 , v127 + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , Gs2 , v112 + .byte W06 + .byte N01 + .byte W06 + .byte Gs2 , v048 + .byte W06 + .byte Gs2 , v120 + .byte W06 + .byte Gs2 , v112 + .byte W06 + .byte Gs2 , v052 + .byte W06 + .byte Gs2 , v048 + .byte W06 + .byte N04 , As2 , v120 + .byte W06 + .byte N01 , An2 , v092 + .byte W06 + .byte Gs2 , v088 + .byte W06 + .byte N04 , En3 , v127 + .byte W06 + .byte N01 , En3 , v088 + .byte W06 + .byte Cs3 , v124 + .byte W06 + .byte Cs3 , v088 + .byte W06 +mus_machupi_5_000: + .byte N06 , Ds3 , v127 + .byte W03 + .byte BEND , c_v+3 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , Fs2 , v112 + .byte W06 + .byte N01 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Fs2 , v120 + .byte W06 + .byte Fs2 , v112 + .byte W06 + .byte Fs2 , v052 + .byte W06 + .byte Fs2 , v120 + .byte W06 + .byte N04 , As2 , v112 + .byte W06 + .byte N01 , Gs2 , v124 + .byte W06 + .byte Fs2 , v120 + .byte W03 + .byte N03 , Ds2 , v096 + .byte W03 + .byte N09 , En2 , v124 + .byte W03 + .byte BEND , c_v+1 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , Fn2 , v120 + .byte W06 + .byte Fn2 , v112 + .byte W03 + .byte N03 + .byte W03 + .byte PEND +mus_machupi_5_001: + .byte N06 , Fs2 , v127 + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , Fs2 , v112 + .byte W06 + .byte N01 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Fs2 , v120 + .byte W06 + .byte Fs2 , v112 + .byte W06 + .byte Fs2 , v052 + .byte W06 + .byte Gs2 , v120 + .byte W06 + .byte N06 , Gs2 , v124 + .byte W06 + .byte N01 , Gs2 , v096 + .byte W06 + .byte Gs2 , v120 + .byte W03 + .byte N03 , Fn2 , v096 + .byte W03 + .byte N09 , Gs2 , v124 + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N04 , Gs2 , v127 + .byte W06 + .byte N03 , Gs2 , v060 + .byte W06 + .byte PEND +mus_machupi_5_B1: +mus_machupi_5_002: + .byte N06 , Ds3 , v127 + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , Fs2 , v112 + .byte W06 + .byte N01 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Fs2 , v120 + .byte W06 + .byte Fs2 , v112 + .byte W06 + .byte Fs2 , v052 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte N04 , Gn2 , v120 + .byte W06 + .byte N01 , Fs2 , v092 + .byte W06 + .byte Fn2 , v088 + .byte W03 + .byte N03 , Ds2 , v096 + .byte W03 + .byte N09 , Fs2 , v124 + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte c_v+0 + .byte W18 + .byte PEND + .byte N06 , Ds3 , v127 + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , Gs2 , v112 + .byte W06 + .byte N01 + .byte W06 + .byte Gs2 , v048 + .byte W06 + .byte Gs2 , v120 + .byte W06 + .byte Gs2 , v112 + .byte W06 + .byte Gs2 , v052 + .byte W06 + .byte Gs2 , v048 + .byte W06 + .byte N04 , As2 , v120 + .byte W06 + .byte N01 , An2 , v092 + .byte W06 + .byte Gs2 , v088 + .byte W30 + .byte PATT + .word mus_machupi_5_000 + .byte PATT + .word mus_machupi_5_001 + .byte PATT + .word mus_machupi_5_002 + .byte N06 , Ds3 , v127 + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , Gs2 , v112 + .byte W06 + .byte N01 + .byte W06 + .byte Gs2 , v048 + .byte W06 + .byte Gs2 , v120 + .byte W06 + .byte Gs2 , v112 + .byte W06 + .byte Gs2 , v052 + .byte W06 + .byte Gs2 , v048 + .byte W06 + .byte N04 , Gn2 , v120 + .byte W06 + .byte N01 , Gs2 , v092 + .byte W06 + .byte An2 , v088 + .byte W06 + .byte N04 , En3 , v127 + .byte W06 + .byte N01 , En3 , v088 + .byte W06 + .byte Cs3 , v124 + .byte W06 + .byte Cs3 , v088 + .byte W06 + .byte N06 , Ds3 , v127 + .byte W03 + .byte BEND , c_v+3 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , Fs2 , v112 + .byte W06 + .byte N01 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Fs2 , v120 + .byte W06 + .byte Fs2 , v112 + .byte W06 + .byte Fs2 , v052 + .byte W06 + .byte Fs2 , v120 + .byte W06 + .byte N04 , As2 , v112 + .byte W06 + .byte N01 , Gs2 , v124 + .byte W06 + .byte Gn2 , v120 + .byte W03 + .byte N03 , Ds2 , v096 + .byte W03 + .byte N09 , En2 , v124 + .byte W03 + .byte BEND , c_v+1 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , Fn2 , v120 + .byte W06 + .byte Fn2 , v112 + .byte W03 + .byte N03 + .byte W03 + .byte PATT + .word mus_machupi_5_001 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , Dn3 , v112 + .byte W06 + .byte N01 , Dn2 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N01 , Dn2 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , Dn3 + .byte W12 + .byte Ds3 + .byte W06 + .byte N01 , Ds2 + .byte W06 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N06 , Ds3 + .byte W06 + .byte N01 , Ds2 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , Ds3 + .byte W12 + .byte Dn3 + .byte W06 + .byte N01 , Dn2 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N01 , Dn2 + .byte W06 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N06 , Dn3 + .byte W12 + .byte N12 , Fn3 + .byte W12 + .byte BEND , c_v+4 + .byte N08 , Dn3 + .byte W04 + .byte BEND , c_v+0 + .byte W08 + .byte N04 , As2 + .byte W06 + .byte N02 , Gs2 , v068 + .byte W02 + .byte Fs2 , v112 + .byte W04 + .byte N04 , Fn2 + .byte W06 + .byte N02 , Ds2 , v076 + .byte W02 + .byte Dn2 , v112 + .byte W04 +mus_machupi_5_003: + .byte N06 , Ds3 , v127 + .byte W12 + .byte N01 , Fs2 , v112 + .byte W06 + .byte N01 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Fs2 , v120 + .byte W06 + .byte Fs2 , v112 + .byte W06 + .byte Fs2 , v052 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte N04 , Gn2 , v120 + .byte W06 + .byte N01 , Fs2 , v092 + .byte W06 + .byte Fn2 , v088 + .byte W03 + .byte N03 , Ds2 , v096 + .byte W03 + .byte N09 , Fs2 , v124 + .byte W24 + .byte PEND +mus_machupi_5_004: + .byte N06 , Ds3 , v127 + .byte W12 + .byte N01 , Gs2 , v112 + .byte W06 + .byte N01 + .byte W06 + .byte Gs2 , v048 + .byte W06 + .byte Gs2 , v120 + .byte W06 + .byte Gs2 , v112 + .byte W06 + .byte Gs2 , v052 + .byte W06 + .byte Gs2 , v048 + .byte W06 + .byte N04 , As2 , v120 + .byte W06 + .byte N01 , An2 , v092 + .byte W06 + .byte Gs2 , v088 + .byte W06 + .byte N04 , En3 , v127 + .byte W06 + .byte N01 , En3 , v088 + .byte W06 + .byte Cs3 , v124 + .byte W06 + .byte Cs3 , v088 + .byte W06 + .byte PEND + .byte N06 , Ds3 , v127 + .byte W03 + .byte BEND , c_v+3 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N01 , Fs2 , v112 + .byte W06 + .byte N01 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Fs2 , v120 + .byte W06 + .byte Fs2 , v112 + .byte W06 + .byte Fs2 , v052 + .byte W06 + .byte Fs2 , v120 + .byte W06 + .byte N04 , As2 , v112 + .byte W06 + .byte N01 , Gs2 , v124 + .byte W06 + .byte Fs2 , v120 + .byte W03 + .byte N03 , Ds2 , v096 + .byte W03 + .byte N09 , En2 , v124 + .byte W03 + .byte BEND , c_v+1 + .byte W09 + .byte N01 , Fn2 , v120 + .byte W06 + .byte Fn2 , v112 + .byte W03 + .byte N03 + .byte W03 + .byte PATT + .word mus_machupi_5_001 + .byte PATT + .word mus_machupi_5_003 + .byte PATT + .word mus_machupi_5_004 + .byte W12 + .byte N01 , Fs2 , v112 + .byte W06 + .byte N01 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Fs2 , v120 + .byte W06 + .byte Fs2 , v112 + .byte W06 + .byte Fs2 , v052 + .byte W06 + .byte Fs2 , v120 + .byte W06 + .byte N04 , As2 , v112 + .byte W06 + .byte N01 , Gs2 , v124 + .byte W06 + .byte Fs2 , v120 + .byte W03 + .byte N03 , Ds2 , v096 + .byte W03 + .byte N09 , En2 , v124 + .byte W12 + .byte N01 , Fn2 , v120 + .byte W06 + .byte Fn2 , v112 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Fs2 , v127 + .byte W12 + .byte N01 , Fs2 , v112 + .byte W06 + .byte N01 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte Fs2 , v120 + .byte W06 + .byte Fs2 , v112 + .byte W06 + .byte Fs2 , v052 + .byte W06 + .byte Gs2 , v120 + .byte W06 + .byte N06 , Gs2 , v124 + .byte W06 + .byte N01 , Gs2 , v096 + .byte W06 + .byte Gs2 , v120 + .byte W03 + .byte N03 , Fn2 , v096 + .byte W03 + .byte N09 , Gs2 , v124 + .byte W12 + .byte N04 , Gs2 , v127 + .byte W06 + .byte N03 , Gs2 , v060 + .byte W06 + .byte GOTO + .word mus_machupi_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_machupi_6: + .byte KEYSH , mus_machupi_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+16 + .byte VOL , 40*mus_machupi_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte VOL , 25*mus_machupi_mvl/mxv + .byte N06 , Dn4 , v112 + .byte W06 + .byte N03 , Ds4 + .byte W03 + .byte Ds4 , v032 + .byte W03 + .byte Gn4 , v112 + .byte W03 + .byte Gn4 , v032 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v032 + .byte W03 + .byte Dn5 , v112 + .byte W03 + .byte Dn5 , v032 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v032 + .byte W03 + .byte Gn4 , v112 + .byte W03 + .byte Gn4 , v032 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v032 + .byte W03 + .byte Dn5 , v112 + .byte W03 + .byte Dn5 , v032 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v032 + .byte W03 + .byte Gn4 , v112 + .byte W03 + .byte Gn4 , v032 + .byte W03 + .byte As4 , v112 + .byte W03 + .byte As4 , v032 + .byte W03 + .byte Gn5 , v112 + .byte W03 + .byte Gn5 , v032 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v032 + .byte W03 + .byte Gn4 , v112 + .byte W03 + .byte Gn4 , v032 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v032 + .byte W03 + .byte VOL , 33*mus_machupi_mvl/mxv + .byte N06 , Cn4 , v112 + .byte W06 + .byte N03 , Cs4 + .byte W06 + .byte Fn4 + .byte W03 + .byte Fn4 , v032 + .byte W03 + .byte Cs4 , v112 + .byte W03 + .byte Cs4 , v032 + .byte W03 + .byte Cn5 , v112 + .byte W03 + .byte Cn5 , v032 + .byte W03 + .byte Cs4 , v112 + .byte W03 + .byte Cs4 , v032 + .byte W03 + .byte Fn4 , v112 + .byte W03 + .byte Fn4 , v032 + .byte W03 + .byte Cs4 , v112 + .byte W03 + .byte Cs4 , v032 + .byte W03 + .byte Cn5 , v112 + .byte W03 + .byte Cn5 , v032 + .byte W03 + .byte Cs4 , v112 + .byte W03 + .byte Cs4 , v032 + .byte W03 + .byte Fn4 , v112 + .byte W03 + .byte Fn4 , v032 + .byte W03 + .byte Gs4 , v112 + .byte W03 + .byte Gs4 , v032 + .byte W03 + .byte Fn5 , v112 + .byte W03 + .byte Fn5 , v032 + .byte W03 + .byte Cs4 , v112 + .byte W03 + .byte Cs4 , v032 + .byte W03 + .byte Fn4 , v112 + .byte W03 + .byte Fn4 , v032 + .byte W03 + .byte Cs4 , v112 + .byte W03 + .byte Cs4 , v032 + .byte W03 + .byte VOL , 44*mus_machupi_mvl/mxv + .byte N06 , As3 , v112 + .byte W06 + .byte N03 , Bn3 + .byte W03 + .byte Bn3 , v032 + .byte W03 + .byte N06 , Ds4 , v112 + .byte W06 + .byte N03 , Bn3 + .byte W03 + .byte Bn3 , v032 + .byte W03 + .byte N06 , As4 , v112 + .byte W06 + .byte N03 , Bn3 + .byte W03 + .byte Bn3 , v032 + .byte W03 + .byte N06 , Ds4 , v112 + .byte W06 + .byte N03 , Bn3 + .byte W03 + .byte Bn3 , v032 + .byte W03 + .byte N06 , Fs4 , v112 + .byte W06 + .byte N03 , Ds5 + .byte W03 + .byte Ds5 , v032 + .byte W03 + .byte N06 , As4 , v112 + .byte W06 + .byte Fs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N03 , Fs4 + .byte W03 + .byte Fs4 , v032 + .byte W03 + .byte N06 , As4 , v112 + .byte W06 + .byte N03 , Ds5 + .byte W03 + .byte Ds5 , v032 + .byte W03 + .byte VOL , 48*mus_machupi_mvl/mxv + .byte N06 , Cn5 , v112 + .byte W06 + .byte N03 , Ds4 + .byte W03 + .byte Ds4 , v032 + .byte W03 + .byte N06 , Gs4 , v112 + .byte W06 + .byte N03 , Cn5 + .byte W03 + .byte Cn5 , v032 + .byte W03 + .byte VOL , 53*mus_machupi_mvl/mxv + .byte N06 , As4 , v112 + .byte W06 + .byte N03 , Dn4 + .byte W03 + .byte Dn4 , v032 + .byte W03 + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , As4 + .byte W03 + .byte As4 , v032 + .byte W03 + .byte VOL , 57*mus_machupi_mvl/mxv + .byte N04 , Fn4 , v112 + .byte W04 + .byte N02 , Dn4 + .byte W04 + .byte As3 + .byte W04 + .byte N04 , Fn3 + .byte W04 + .byte As3 + .byte W04 + .byte N02 , Dn4 + .byte W04 + .byte VOL , 60*mus_machupi_mvl/mxv + .byte N04 , As4 + .byte W04 + .byte N02 , Fn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte N04 , As3 + .byte W04 + .byte N02 , Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte VOL , 70*mus_machupi_mvl/mxv + .byte N06 , As4 , v088 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_machupi_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 24 + .byte PAN , c_v+0 + .byte VOL , 31*mus_machupi_mvl/mxv + .byte W06 + .byte N03 , Bn2 , v112 + .byte W03 + .byte Bn2 , v060 + .byte W03 + .byte Ds3 , v112 + .byte W03 + .byte Ds3 , v060 + .byte W03 + .byte Bn2 , v112 + .byte W03 + .byte Bn2 , v060 + .byte W03 + .byte PAN , c_v-63 + .byte N03 , Ds4 , v112 + .byte W03 + .byte Ds4 , v060 + .byte W03 + .byte Bn2 , v112 + .byte W03 + .byte Bn2 , v060 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , Ds3 , v112 + .byte W03 + .byte Ds3 , v060 + .byte W03 + .byte Fs3 , v112 + .byte W03 + .byte Fs3 , v060 + .byte W03 + .byte PAN , c_v+63 + .byte N03 , As3 , v112 + .byte W03 + .byte As3 , v060 + .byte N03 , Ds4 , v112 + .byte W03 + .byte Fs3 + .byte N03 , Ds4 , v060 + .byte W03 + .byte Fs3 + .byte W03 + .byte Ds3 , v112 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , Ds3 , v060 + .byte W03 + .byte As3 , v112 + .byte W03 + .byte As3 , v060 + .byte W03 + .byte PAN , c_v-63 + .byte N03 , Ds4 , v112 + .byte W03 + .byte Ds4 , v060 + .byte W03 + .byte Bn2 , v112 + .byte W03 + .byte Bn2 , v060 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , Ds3 , v112 + .byte W03 + .byte Ds3 , v060 + .byte W03 + .byte Bn2 , v112 + .byte W03 + .byte Bn2 , v060 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , Dn4 , v112 + .byte W03 + .byte Dn4 , v060 + .byte W03 + .byte As2 , v112 + .byte W03 + .byte As2 , v060 + .byte W03 + .byte Dn3 , v112 + .byte W03 + .byte Dn3 , v060 + .byte W03 + .byte As2 , v112 + .byte W03 + .byte As2 , v060 + .byte W03 + .byte PAN , c_v+63 + .byte N03 , Dn4 , v112 + .byte W03 + .byte Dn4 , v060 + .byte W03 + .byte As2 , v112 + .byte W03 + .byte As2 , v060 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , Dn3 , v112 + .byte W03 + .byte Dn3 , v060 + .byte W03 + .byte Fn3 , v112 + .byte W03 + .byte Fn3 , v060 + .byte W03 + .byte PAN , c_v-62 + .byte N03 , An3 , v112 + .byte W03 + .byte An3 , v060 + .byte N03 , Dn4 , v112 + .byte W03 + .byte Fn3 + .byte N03 , Dn4 , v060 + .byte W03 + .byte Fn3 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , Dn3 , v112 + .byte W03 + .byte Dn3 , v060 + .byte W03 + .byte An3 , v112 + .byte W03 + .byte An3 , v060 + .byte W03 + .byte PAN , c_v+63 + .byte N03 , Dn4 , v112 + .byte W03 + .byte Dn4 , v060 + .byte W03 + .byte As2 , v112 + .byte W03 + .byte As2 , v060 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , Dn3 , v112 + .byte W03 + .byte Dn3 , v060 + .byte W03 + .byte As2 , v112 + .byte W03 + .byte As2 , v060 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , Cs4 , v112 + .byte W03 + .byte Cs4 , v060 + .byte W03 + .byte An2 , v112 + .byte W03 + .byte An2 , v060 + .byte W03 + .byte Cs3 , v112 + .byte W03 + .byte Cs3 , v060 + .byte W03 + .byte An2 , v112 + .byte W03 + .byte An2 , v060 + .byte W03 + .byte PAN , c_v-63 + .byte N03 , Cs4 , v112 + .byte W03 + .byte Cs4 , v060 + .byte W03 + .byte An2 , v112 + .byte W03 + .byte An2 , v060 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , Cs3 , v112 + .byte W03 + .byte Cs3 , v060 + .byte W03 + .byte En3 , v112 + .byte W03 + .byte En3 , v060 + .byte W03 + .byte PAN , c_v+63 + .byte N03 , Gs3 , v112 + .byte W03 + .byte Gs3 , v060 + .byte N03 , Cs4 , v112 + .byte W03 + .byte En3 + .byte N03 , Cs4 , v060 + .byte W03 + .byte En3 + .byte W03 + .byte Cs3 , v112 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , Cs3 , v060 + .byte W03 + .byte Gs3 , v112 + .byte W03 + .byte Gs3 , v060 + .byte W03 + .byte PAN , c_v-63 + .byte N03 , Cs4 , v112 + .byte W03 + .byte Cs4 , v060 + .byte W03 + .byte An2 , v112 + .byte W03 + .byte An2 , v060 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , Cs3 , v112 + .byte W03 + .byte Cs3 , v060 + .byte W03 + .byte An2 , v112 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , Cn4 + .byte W03 + .byte Cn4 , v060 + .byte W03 + .byte Gs2 , v112 + .byte W03 + .byte Gs2 , v060 + .byte W03 + .byte Cn3 , v112 + .byte W03 + .byte Cn3 , v060 + .byte W03 + .byte Gs2 , v112 + .byte W03 + .byte Gs2 , v060 + .byte W03 + .byte PAN , c_v+63 + .byte N03 , Cn4 , v112 + .byte W03 + .byte Cn4 , v060 + .byte W03 + .byte Gs2 , v112 + .byte W03 + .byte Gs2 , v060 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , Cn3 , v112 + .byte W03 + .byte Cn3 , v060 + .byte W03 + .byte Dn3 , v112 + .byte W03 + .byte Dn3 , v060 + .byte W03 + .byte PAN , c_v-62 + .byte N03 , Ds3 , v112 + .byte W03 + .byte Ds3 , v060 + .byte W03 + .byte Dn3 , v112 + .byte W03 + .byte Dn3 , v060 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , Ds3 , v112 + .byte W03 + .byte Ds3 , v060 + .byte W03 + .byte Gs3 , v112 + .byte W03 + .byte Gs3 , v060 + .byte W03 + .byte PAN , c_v+63 + .byte N03 , Gn3 , v112 + .byte W03 + .byte Gn3 , v060 + .byte W03 + .byte Gs3 , v112 + .byte W03 + .byte Gs3 , v060 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , Cn4 , v112 + .byte W03 + .byte Cn4 , v060 + .byte W03 + .byte Bn3 , v112 + .byte W03 + .byte Bn3 , v060 + .byte W03 + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte VOL , 57*mus_machupi_mvl/mxv + .byte N04 , Ds4 , v112 + .byte W08 + .byte En4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N04 + .byte W08 + .byte En4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 2 + .byte W12 + .byte 0 + .byte N24 , Dn4 + .byte W30 + .byte N06 , Cs4 + .byte W12 + .byte Dn4 + .byte W06 + .byte N24 , An3 + .byte W24 + .byte Cn4 + .byte W12 + .byte MOD , 3 + .byte W12 + .byte 0 + .byte N04 , Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte En4 + .byte W08 + .byte N04 + .byte W08 + .byte Dn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte An3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cn4 + .byte W08 + .byte N24 , Cs4 + .byte W24 + .byte Cn4 + .byte W30 + .byte N06 , Bn3 + .byte W12 + .byte N03 , Cs4 , v076 + .byte W03 + .byte Dn4 + .byte W03 + .byte N24 , Ds4 , v112 + .byte W24 + .byte Fs4 + .byte W24 + .byte MOD , 0 + .byte N04 , Fn4 + .byte W18 + .byte N04 + .byte W18 + .byte N04 + .byte W12 + .byte Fs4 + .byte W18 + .byte N04 + .byte W18 + .byte N04 + .byte W12 + .byte Fn4 + .byte W18 + .byte N04 + .byte W18 + .byte N04 + .byte W12 + .byte As4 + .byte W24 + .byte VOICE , 24 + .byte W12 + .byte N06 , Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte VOICE , 24 + .byte VOL , 78*mus_machupi_mvl/mxv + .byte BEND , c_v+0 + .byte N48 , As3 + .byte W06 + .byte BEND , c_v-7 + .byte W06 + .byte c_v+0 + .byte W24 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , As3 , v036 + .byte W12 + .byte As3 , v112 + .byte W06 + .byte Bn3 + .byte W06 + .byte N12 , As3 + .byte W03 + .byte BEND , c_v+6 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N06 , Gs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N36 , En3 + .byte W03 + .byte BEND , c_v-2 + .byte W06 + .byte c_v+0 + .byte W09 + .byte MOD , 4 + .byte BEND , c_v-5 + .byte W06 + .byte c_v+0 + .byte W06 + .byte MOD , 0 + .byte W06 + .byte N06 , En3 , v036 + .byte W30 + .byte N04 , Gs2 , v112 + .byte W04 + .byte N02 , Bn2 , v084 + .byte W04 + .byte En3 + .byte W04 + .byte N04 , Bn2 , v116 + .byte W04 + .byte N02 , En3 , v092 + .byte W04 + .byte Gs3 + .byte W04 + .byte N12 , As3 , v112 + .byte W06 + .byte BEND , c_v-7 + .byte W06 + .byte c_v+0 + .byte N03 , As2 + .byte W06 + .byte N03 + .byte W06 + .byte N04 , Ds2 + .byte W04 + .byte N02 , Fs2 , v084 + .byte W04 + .byte As2 + .byte W04 + .byte N04 , Ds3 , v116 + .byte W04 + .byte N02 , Fs3 , v092 + .byte W04 + .byte As3 + .byte W04 + .byte N06 , Cs4 , v112 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N06 , Gs3 + .byte W06 + .byte N03 , En3 + .byte W06 + .byte Bn2 + .byte W03 + .byte Cs3 + .byte W03 + .byte Bn2 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N48 , As3 + .byte W06 + .byte BEND , c_v-7 + .byte W06 + .byte c_v+0 + .byte W24 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , As3 , v036 + .byte W44 + .byte W01 + .byte N03 , An3 , v112 + .byte W03 + .byte N06 , As3 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N03 , Ds3 + .byte W03 + .byte An3 + .byte W03 + .byte N06 , As3 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W03 + .byte Dn3 + .byte W03 + .byte Ds3 + .byte W06 + .byte N06 , An3 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Bn3 + .byte W06 + .byte N03 , En3 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte N03 , En3 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte N03 , En3 + .byte W03 + .byte As3 + .byte W03 + .byte N06 , Bn3 + .byte W06 + .byte En3 + .byte W06 + .byte En4 + .byte W06 + .byte N03 , Ds4 + .byte W03 + .byte Cs4 + .byte W03 + .byte N06 , Bn3 + .byte W06 + .byte N03 , Gs3 + .byte W03 + .byte En3 + .byte W03 + .byte N06 , Gs2 + .byte W06 + .byte N03 , Bn2 + .byte W03 + .byte En3 + .byte W03 + .byte N06 , Bn2 + .byte W06 + .byte N03 , En3 + .byte W03 + .byte Gs3 + .byte W03 + .byte As3 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Gs3 + .byte W06 + .byte N03 , Fs3 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N03 , Fs3 + .byte W03 + .byte En3 + .byte W06 + .byte Cn3 + .byte W03 + .byte N09 , Cs3 + .byte W12 + .byte N03 , Dn3 + .byte W06 + .byte Dn3 , v084 + .byte W06 + .byte N09 , Ds2 , v127 + .byte W12 + .byte N01 , Ds2 , v112 + .byte W03 + .byte N03 , Ds2 , v028 + .byte W03 + .byte N01 , Ds2 , v112 + .byte W03 + .byte N03 , Ds2 , v024 + .byte W03 + .byte N01 , Ds2 , v048 + .byte W06 + .byte Ds2 , v120 + .byte W06 + .byte Ds2 , v112 + .byte W06 + .byte Ds2 , v052 + .byte W06 + .byte Ds2 , v120 + .byte W06 + .byte N06 , Ds2 , v124 + .byte W06 + .byte N01 , Ds2 , v096 + .byte W06 + .byte Ds2 , v120 + .byte W03 + .byte N03 , Ds2 , v096 + .byte W03 + .byte N09 , En2 , v124 + .byte W12 + .byte N06 , Dn2 , v112 + .byte W06 + .byte Dn2 , v036 + .byte W06 + .byte GOTO + .word mus_machupi_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_machupi_7: + .byte KEYSH , mus_machupi_key+0 + .byte VOICE , 80 + .byte LFOS , 50 + .byte XCMD , xIECV , 24 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-63 + .byte VOL , 15*mus_machupi_mvl/mxv + .byte BEND , c_v+0 + .byte W78 + .byte N06 , Cn3 , v080 + .byte W06 + .byte Cs3 , v092 + .byte W06 + .byte Dn3 , v100 + .byte W06 + .byte VOL , 15*mus_machupi_mvl/mxv + .byte N96 , Ds3 + .byte W24 + .byte VOL , 16*mus_machupi_mvl/mxv + .byte W24 + .byte MOD , 3 + .byte VOL , 17*mus_machupi_mvl/mxv + .byte W24 + .byte MOD , 8 + .byte VOL , 20*mus_machupi_mvl/mxv + .byte W18 + .byte BEND , c_v-5 + .byte W06 + .byte MOD , 0 + .byte VOL , 23*mus_machupi_mvl/mxv + .byte BEND , c_v+0 + .byte N96 , Cs3 , v112 + .byte W24 + .byte VOL , 26*mus_machupi_mvl/mxv + .byte W24 + .byte MOD , 3 + .byte VOL , 28*mus_machupi_mvl/mxv + .byte W24 + .byte MOD , 8 + .byte VOL , 30*mus_machupi_mvl/mxv + .byte W18 + .byte BEND , c_v-5 + .byte W06 + .byte MOD , 0 + .byte VOL , 33*mus_machupi_mvl/mxv + .byte BEND , c_v+0 + .byte N96 , Bn2 + .byte W12 + .byte VOL , 34*mus_machupi_mvl/mxv + .byte W12 + .byte 36*mus_machupi_mvl/mxv + .byte W15 + .byte 38*mus_machupi_mvl/mxv + .byte W09 + .byte MOD , 3 + .byte VOL , 39*mus_machupi_mvl/mxv + .byte W12 + .byte 40*mus_machupi_mvl/mxv + .byte W12 + .byte MOD , 8 + .byte VOL , 44*mus_machupi_mvl/mxv + .byte W12 + .byte 45*mus_machupi_mvl/mxv + .byte W06 + .byte BEND , c_v-21 + .byte W06 + .byte VOL , 49*mus_machupi_mvl/mxv + .byte MOD , 0 + .byte VOL , 49*mus_machupi_mvl/mxv + .byte BEND , c_v+0 + .byte N24 , Fn2 + .byte W24 + .byte VOL , 54*mus_machupi_mvl/mxv + .byte MOD , 6 + .byte N24 + .byte W24 + .byte VOL , 57*mus_machupi_mvl/mxv + .byte MOD , 1 + .byte N24 , As1 + .byte W24 + .byte VOL , 48*mus_machupi_mvl/mxv + .byte N24 , Dn2 + .byte W02 + .byte VOL , 50*mus_machupi_mvl/mxv + .byte W03 + .byte 53*mus_machupi_mvl/mxv + .byte W03 + .byte 59*mus_machupi_mvl/mxv + .byte W04 + .byte 64*mus_machupi_mvl/mxv + .byte W02 + .byte 68*mus_machupi_mvl/mxv + .byte W03 + .byte 73*mus_machupi_mvl/mxv + .byte W03 + .byte 77*mus_machupi_mvl/mxv + .byte W04 + .byte PAN , c_v+0 + .byte VOL , 40*mus_machupi_mvl/mxv + .byte W96 + .byte W96 + .byte PAN , c_v+63 + .byte BEND , c_v+0 + .byte N06 , Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N03 , Ds4 + .byte W03 + .byte En4 + .byte W03 + .byte N48 , Ds4 + .byte W24 + .byte MOD , 8 + .byte W24 + .byte 1 + .byte N03 , Dn4 , v056 + .byte W03 + .byte Cs4 + .byte W03 + .byte Cn4 , v052 + .byte W03 + .byte Bn3 + .byte W15 + .byte PAN , c_v+0 + .byte BEND , c_v+2 + .byte W72 + .byte VOL , 35*mus_machupi_mvl/mxv + .byte PAN , c_v-63 + .byte N06 , Dn4 , v112 + .byte W06 + .byte Ds4 + .byte W06 + .byte N03 , En4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N06 , Dn4 + .byte W06 +mus_machupi_7_B1: + .byte VOL , 35*mus_machupi_mvl/mxv + .byte PAN , c_v-63 + .byte BEND , c_v+2 + .byte N06 , Ds5 , v112 + .byte W06 + .byte N03 , Dn5 + .byte W06 + .byte N06 , An4 + .byte W06 + .byte N03 , As4 + .byte W06 + .byte N06 , Bn4 + .byte W06 + .byte N03 , As4 + .byte W06 + .byte N06 , Bn4 + .byte W06 + .byte N03 , As4 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte N03 , Fs4 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte N03 , Fs4 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , Fs4 + .byte W06 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte En4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N06 , As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W36 + .byte Gs4 + .byte W06 + .byte Cs5 + .byte W06 + .byte N03 , Bn4 + .byte W06 + .byte N06 , Cs5 + .byte W06 + .byte N03 , Bn4 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte N03 , Gs4 + .byte W06 +mus_machupi_7_000: + .byte N06 , As4 , v112 + .byte W48 + .byte Gs4 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte N06 , Bn3 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N06 , Cs5 + .byte W06 + .byte N03 , Bn4 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Fs4 + .byte W06 + .byte PEND + .byte PAN , c_v+63 + .byte N06 , As4 + .byte W06 + .byte BEND , c_v+0 + .byte N06 , Ds2 + .byte W06 + .byte Bn2 + .byte W06 + .byte N03 , Ds3 + .byte W03 + .byte En3 + .byte W03 + .byte N48 , Ds3 + .byte W24 + .byte MOD , 8 + .byte W24 + .byte 1 + .byte N03 , Dn3 + .byte W03 + .byte Cs3 , v080 + .byte W03 + .byte Cn3 , v056 + .byte W03 + .byte Bn2 , v052 + .byte W03 + .byte BEND , c_v+2 + .byte N06 , En4 , v112 + .byte W06 + .byte Dn4 + .byte W06 + .byte PAN , c_v-62 + .byte N06 , Ds5 + .byte W06 + .byte N03 , Dn5 + .byte W06 + .byte N06 , An4 + .byte W06 + .byte N03 , As4 + .byte W06 + .byte N06 , Bn4 + .byte W06 + .byte N03 , As4 + .byte W06 + .byte Fs5 + .byte W03 + .byte Bn4 + .byte W03 + .byte As4 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte N03 , Fs4 + .byte W06 + .byte Gs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fs4 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , Fs4 + .byte W06 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte En4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N06 , As4 + .byte W06 + .byte N03 , Bn4 + .byte W06 + .byte N06 , Cs5 + .byte W06 + .byte N03 , Bn4 + .byte W06 + .byte N06 , Gs4 + .byte W36 + .byte Cs5 + .byte W06 + .byte N03 , Bn4 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte N03 , Bn4 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte N03 , Gs4 + .byte W06 + .byte PATT + .word mus_machupi_7_000 + .byte PAN , c_v+63 + .byte BEND , c_v+0 + .byte N06 , As4 , v112 + .byte W06 + .byte N03 , Bn3 + .byte W03 + .byte Cn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte En4 + .byte W03 + .byte N12 , Ds4 + .byte W12 + .byte N03 , Dn4 + .byte W03 + .byte N54 , Ds4 + .byte W32 + .byte W01 + .byte MOD , 8 + .byte W21 + .byte 1 + .byte W03 + .byte VOL , 40*mus_machupi_mvl/mxv + .byte PAN , c_v-62 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte c_v-62 + .byte VOL , 23*mus_machupi_mvl/mxv + .byte N03 , Ds5 + .byte W06 + .byte Bn3 + .byte W03 + .byte Bn3 , v060 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v060 + .byte W03 + .byte Bn3 , v112 + .byte W03 + .byte Bn3 , v060 + .byte W03 + .byte Ds5 , v112 + .byte W03 + .byte Ds5 , v060 + .byte W03 + .byte Bn3 , v112 + .byte W03 + .byte Bn3 , v060 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v060 + .byte W03 + .byte Fs4 , v112 + .byte W03 + .byte Fs4 , v060 + .byte W03 + .byte As4 , v112 + .byte W03 + .byte As4 , v060 + .byte N03 , Ds5 , v112 + .byte W03 + .byte Fs4 + .byte N03 , Ds5 , v060 + .byte W03 + .byte Fs4 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v060 + .byte W03 + .byte As4 , v112 + .byte W03 + .byte As4 , v060 + .byte W03 + .byte Ds5 , v112 + .byte W03 + .byte Ds5 , v060 + .byte W03 + .byte Bn3 , v112 + .byte W03 + .byte Bn3 , v060 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v060 + .byte W03 + .byte Bn3 , v112 + .byte W03 + .byte Bn3 , v060 + .byte W03 + .byte Dn5 , v112 + .byte W03 + .byte Dn5 , v060 + .byte W03 + .byte As3 , v112 + .byte W03 + .byte As3 , v060 + .byte W03 + .byte Dn4 , v112 + .byte W03 + .byte Dn4 , v060 + .byte W03 + .byte As3 , v112 + .byte W03 + .byte As3 , v060 + .byte W03 + .byte Dn5 , v112 + .byte W03 + .byte Dn5 , v060 + .byte W03 + .byte As3 , v112 + .byte W03 + .byte As3 , v060 + .byte W03 + .byte Dn4 , v112 + .byte W03 + .byte Dn4 , v060 + .byte W03 + .byte Fn4 , v112 + .byte W03 + .byte Fn4 , v060 + .byte W03 + .byte An4 , v112 + .byte W03 + .byte An4 , v060 + .byte N03 , Dn5 , v112 + .byte W03 + .byte Fn4 + .byte N03 , Dn5 , v060 + .byte W03 + .byte Fn4 + .byte W03 + .byte Dn4 , v112 + .byte W03 + .byte Dn4 , v060 + .byte W03 + .byte An4 , v112 + .byte W03 + .byte An4 , v060 + .byte W03 + .byte Dn5 , v112 + .byte W03 + .byte Dn5 , v060 + .byte W03 + .byte As3 , v112 + .byte W03 + .byte As3 , v060 + .byte W03 + .byte Dn4 , v112 + .byte W03 + .byte Dn4 , v060 + .byte W03 + .byte As3 , v112 + .byte W03 + .byte As3 , v060 + .byte W03 + .byte Cs5 , v112 + .byte W03 + .byte Cs5 , v060 + .byte W03 + .byte An3 , v112 + .byte W03 + .byte An3 , v060 + .byte W03 + .byte Cs4 , v112 + .byte W03 + .byte Cs4 , v060 + .byte W03 + .byte An3 , v112 + .byte W03 + .byte An3 , v060 + .byte W03 + .byte Cs5 , v112 + .byte W03 + .byte Cs5 , v060 + .byte W03 + .byte An3 , v112 + .byte W03 + .byte An3 , v060 + .byte W03 + .byte Cs4 , v112 + .byte W03 + .byte Cs4 , v060 + .byte W03 + .byte En4 , v112 + .byte W03 + .byte En4 , v060 + .byte W03 + .byte Gs4 , v112 + .byte W03 + .byte Gs4 , v060 + .byte N03 , Cs5 , v112 + .byte W03 + .byte En4 + .byte N03 , Cs5 , v060 + .byte W03 + .byte En4 + .byte W03 + .byte Cs4 , v112 + .byte W03 + .byte Cs4 , v060 + .byte W03 + .byte Gs4 , v112 + .byte W03 + .byte Gs4 , v060 + .byte W03 + .byte Cs5 , v112 + .byte W03 + .byte Cs5 , v060 + .byte W03 + .byte An3 , v112 + .byte W03 + .byte An3 , v060 + .byte W03 + .byte Cs4 , v112 + .byte W03 + .byte Cs4 , v060 + .byte W03 + .byte An3 , v112 + .byte W03 + .byte An3 , v060 + .byte W03 + .byte Cn5 , v112 + .byte W03 + .byte Cn5 , v060 + .byte W03 + .byte Gs3 , v112 + .byte W03 + .byte Gs3 , v060 + .byte W03 + .byte Cn4 , v112 + .byte W03 + .byte Cn4 , v060 + .byte W03 + .byte Gs3 , v112 + .byte W03 + .byte Gs3 , v060 + .byte W03 + .byte Cn5 , v112 + .byte W03 + .byte Cn5 , v060 + .byte W03 + .byte Gs3 , v112 + .byte W03 + .byte Gs3 , v060 + .byte W03 + .byte Cn4 , v112 + .byte W03 + .byte Cn4 , v060 + .byte W03 + .byte Dn4 , v112 + .byte W03 + .byte Dn4 , v060 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v060 + .byte W03 + .byte Dn4 , v112 + .byte W03 + .byte Dn4 , v060 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v060 + .byte W03 + .byte Gs4 , v112 + .byte W03 + .byte Gs4 , v060 + .byte W03 + .byte Gn4 , v112 + .byte W03 + .byte Gn4 , v060 + .byte W03 + .byte Gs4 , v112 + .byte W03 + .byte Gs4 , v060 + .byte W03 + .byte Cn5 , v112 + .byte W03 + .byte Cn5 , v060 + .byte W03 + .byte Bn4 , v112 + .byte W03 + .byte Bn4 , v060 + .byte W03 + .byte W96 + .byte W96 + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+63 + .byte W06 + .byte BEND , c_v+0 + .byte N06 , Ds2 , v112 + .byte W06 + .byte Bn2 + .byte W06 + .byte N03 , Ds3 + .byte W03 + .byte En3 + .byte W03 + .byte N48 , Ds3 + .byte W24 + .byte MOD , 8 + .byte W24 + .byte 1 + .byte N03 , Dn3 + .byte W03 + .byte Cs3 , v080 + .byte W03 + .byte Cn3 , v056 + .byte W03 + .byte Bn2 , v052 + .byte W15 + .byte PAN , c_v-61 + .byte W96 + .byte GOTO + .word mus_machupi_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_machupi_8: + .byte KEYSH , mus_machupi_key+0 + .byte VOICE , 81 + .byte LFOS , 50 + .byte XCMD , xIECV , 24 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 15*mus_machupi_mvl/mxv + .byte W78 + .byte N06 , As3 , v080 + .byte W06 + .byte An3 , v092 + .byte W06 + .byte Gs3 , v100 + .byte W06 + .byte VOL , 15*mus_machupi_mvl/mxv + .byte N96 , Gn3 + .byte W24 + .byte VOL , 16*mus_machupi_mvl/mxv + .byte W24 + .byte 17*mus_machupi_mvl/mxv + .byte W24 + .byte 20*mus_machupi_mvl/mxv + .byte W18 + .byte BEND , c_v-5 + .byte W06 + .byte VOL , 23*mus_machupi_mvl/mxv + .byte BEND , c_v+0 + .byte N96 , Fn3 , v112 + .byte W24 + .byte VOL , 26*mus_machupi_mvl/mxv + .byte W24 + .byte 28*mus_machupi_mvl/mxv + .byte W24 + .byte 30*mus_machupi_mvl/mxv + .byte W18 + .byte BEND , c_v-5 + .byte W06 + .byte VOL , 33*mus_machupi_mvl/mxv + .byte BEND , c_v+0 + .byte N96 , Ds3 + .byte W12 + .byte VOL , 34*mus_machupi_mvl/mxv + .byte W12 + .byte 36*mus_machupi_mvl/mxv + .byte W15 + .byte 38*mus_machupi_mvl/mxv + .byte W09 + .byte 39*mus_machupi_mvl/mxv + .byte W12 + .byte 40*mus_machupi_mvl/mxv + .byte W12 + .byte 44*mus_machupi_mvl/mxv + .byte W12 + .byte 45*mus_machupi_mvl/mxv + .byte W06 + .byte BEND , c_v-21 + .byte W06 + .byte VOL , 49*mus_machupi_mvl/mxv + .byte BEND , c_v+0 + .byte N24 , Gs2 + .byte W24 + .byte VOL , 55*mus_machupi_mvl/mxv + .byte N24 , As2 + .byte W24 + .byte VOL , 59*mus_machupi_mvl/mxv + .byte N24 , Fn2 + .byte W24 + .byte VOL , 48*mus_machupi_mvl/mxv + .byte N24 , Gs2 + .byte W02 + .byte VOL , 50*mus_machupi_mvl/mxv + .byte W03 + .byte 53*mus_machupi_mvl/mxv + .byte W03 + .byte 59*mus_machupi_mvl/mxv + .byte W04 + .byte 64*mus_machupi_mvl/mxv + .byte W02 + .byte 68*mus_machupi_mvl/mxv + .byte W03 + .byte 73*mus_machupi_mvl/mxv + .byte W03 + .byte 77*mus_machupi_mvl/mxv + .byte W04 + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte VOL , 39*mus_machupi_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N03 , En4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N06 , Dn4 + .byte W06 +mus_machupi_8_B1: + .byte VOICE , 81 + .byte VOL , 40*mus_machupi_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N06 , Ds5 , v112 + .byte W06 + .byte N03 , Dn5 + .byte W06 + .byte N06 , An4 + .byte W06 + .byte N03 , As4 + .byte W06 + .byte N06 , Bn4 + .byte W06 + .byte N03 , As4 + .byte W06 + .byte N06 , Bn4 + .byte W06 + .byte N03 , As4 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte N03 , Fs4 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte N03 , Fs4 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , Fs4 + .byte W06 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte En4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N06 , As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W36 + .byte Gs4 + .byte W06 + .byte Cs5 + .byte W06 + .byte N03 , Bn4 + .byte W06 + .byte N06 , Cs5 + .byte W06 + .byte N03 , Bn4 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte N03 , Gs4 + .byte W06 +mus_machupi_8_000: + .byte N06 , As4 , v112 + .byte W48 + .byte Gs4 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte N06 , Bn3 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N06 , Cs5 + .byte W06 + .byte N03 , Bn4 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Fs4 + .byte W06 + .byte PEND + .byte N06 , As4 + .byte W72 + .byte N03 , Cn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N06 , En4 + .byte W06 + .byte VOICE , 83 + .byte N06 , Dn4 + .byte W06 + .byte Ds5 + .byte W06 + .byte N03 , Dn5 + .byte W06 + .byte N06 , An4 + .byte W06 + .byte N03 , As4 + .byte W06 + .byte N06 , Bn4 + .byte W06 + .byte N03 , As4 + .byte W06 + .byte Fs5 , v064 + .byte W03 + .byte Bn4 , v112 + .byte W03 + .byte As4 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte N03 , Fs4 + .byte W06 + .byte Gs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fs4 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , Fs4 + .byte W06 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte En4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N06 , As4 + .byte W06 + .byte N03 , Bn4 + .byte W06 + .byte N06 , Cs5 + .byte W06 + .byte N03 , Bn4 + .byte W06 + .byte N06 , Gs4 + .byte W36 + .byte Cs5 + .byte W06 + .byte N03 , Bn4 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte N03 , Bn4 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte N03 , Gs4 + .byte W06 + .byte PATT + .word mus_machupi_8_000 + .byte N06 , As4 , v112 + .byte W96 + .byte VOICE , 81 + .byte VOL , 40*mus_machupi_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+63 + .byte VOL , 26*mus_machupi_mvl/mxv + .byte N03 , Ds4 + .byte W03 + .byte Ds4 , v060 + .byte W03 + .byte Bn2 , v112 + .byte W03 + .byte Bn2 , v060 + .byte W03 + .byte Ds3 , v112 + .byte W03 + .byte Ds3 , v060 + .byte W03 + .byte Bn2 , v112 + .byte W03 + .byte Bn2 , v060 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v060 + .byte W03 + .byte Bn2 , v112 + .byte W03 + .byte Bn2 , v060 + .byte W03 + .byte Ds3 , v112 + .byte W03 + .byte Ds3 , v060 + .byte W03 + .byte Fs3 , v112 + .byte W03 + .byte Fs3 , v060 + .byte W03 + .byte As3 , v112 + .byte W03 + .byte As3 , v060 + .byte N03 , Ds4 , v112 + .byte W03 + .byte Fs3 + .byte N03 , Ds4 , v060 + .byte W03 + .byte Fs3 + .byte W03 + .byte Ds3 , v112 + .byte W03 + .byte Ds3 , v060 + .byte W03 + .byte As3 , v112 + .byte W03 + .byte As3 , v060 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v060 + .byte W03 + .byte Bn2 , v112 + .byte W03 + .byte Bn2 , v060 + .byte W03 + .byte Ds3 , v112 + .byte W03 + .byte Ds3 , v060 + .byte W03 + .byte Bn2 , v112 + .byte W03 + .byte Bn2 , v060 + .byte W03 + .byte Dn4 , v112 + .byte W03 + .byte Dn4 , v060 + .byte W03 + .byte As2 , v112 + .byte W03 + .byte As2 , v060 + .byte W03 + .byte Dn3 , v112 + .byte W03 + .byte Dn3 , v060 + .byte W03 + .byte As2 , v112 + .byte W03 + .byte As2 , v060 + .byte W03 + .byte Dn4 , v112 + .byte W03 + .byte Dn4 , v060 + .byte W03 + .byte As2 , v112 + .byte W03 + .byte As2 , v060 + .byte W03 + .byte Dn3 , v112 + .byte W03 + .byte Dn3 , v060 + .byte W03 + .byte Fn3 , v112 + .byte W03 + .byte Fn3 , v060 + .byte W03 + .byte An3 , v112 + .byte W03 + .byte An3 , v060 + .byte N03 , Dn4 , v112 + .byte W03 + .byte Fn3 + .byte N03 , Dn4 , v060 + .byte W03 + .byte Fn3 + .byte W03 + .byte Dn3 , v112 + .byte W03 + .byte Dn3 , v060 + .byte W03 + .byte An3 , v112 + .byte W03 + .byte An3 , v060 + .byte W03 + .byte Dn4 , v112 + .byte W03 + .byte Dn4 , v060 + .byte W03 + .byte As2 , v112 + .byte W03 + .byte As2 , v060 + .byte W03 + .byte Dn3 , v112 + .byte W03 + .byte Dn3 , v060 + .byte W03 + .byte As2 , v112 + .byte W03 + .byte As2 , v060 + .byte W03 + .byte Cs4 , v112 + .byte W03 + .byte Cs4 , v060 + .byte W03 + .byte An2 , v112 + .byte W03 + .byte An2 , v060 + .byte W03 + .byte Cs3 , v112 + .byte W03 + .byte Cs3 , v060 + .byte W03 + .byte An2 , v112 + .byte W03 + .byte An2 , v060 + .byte W03 + .byte Cs4 , v112 + .byte W03 + .byte Cs4 , v060 + .byte W03 + .byte An2 , v112 + .byte W03 + .byte An2 , v060 + .byte W03 + .byte Cs3 , v112 + .byte W03 + .byte Cs3 , v060 + .byte W03 + .byte En3 , v112 + .byte W03 + .byte En3 , v060 + .byte W03 + .byte Gs3 , v112 + .byte W03 + .byte Gs3 , v060 + .byte N03 , Cs4 , v112 + .byte W03 + .byte En3 + .byte N03 , Cs4 , v060 + .byte W03 + .byte En3 + .byte W03 + .byte Cs3 , v112 + .byte W03 + .byte Cs3 , v060 + .byte W03 + .byte Gs3 , v112 + .byte W03 + .byte Gs3 , v060 + .byte W03 + .byte Cs4 , v112 + .byte W03 + .byte Cs4 , v060 + .byte W03 + .byte An2 , v112 + .byte W03 + .byte An2 , v060 + .byte W03 + .byte Cs3 , v112 + .byte W03 + .byte Cs3 , v060 + .byte W03 + .byte An2 , v112 + .byte W03 + .byte An2 , v060 + .byte W03 + .byte Cn4 , v112 + .byte W03 + .byte Cn4 , v060 + .byte W03 + .byte Gs2 , v112 + .byte W03 + .byte Gs2 , v060 + .byte W03 + .byte Cn3 , v112 + .byte W03 + .byte Cn3 , v060 + .byte W03 + .byte Gs2 , v112 + .byte W03 + .byte Gs2 , v060 + .byte W03 + .byte Cn4 , v112 + .byte W03 + .byte Cn4 , v060 + .byte W03 + .byte Gs2 , v112 + .byte W03 + .byte Gs2 , v060 + .byte W03 + .byte Cn3 , v112 + .byte W03 + .byte Cn3 , v060 + .byte W03 + .byte Dn3 , v112 + .byte W03 + .byte Dn3 , v060 + .byte W03 + .byte Ds3 , v112 + .byte W03 + .byte Ds3 , v060 + .byte W03 + .byte Dn3 , v112 + .byte W03 + .byte Dn3 , v060 + .byte W03 + .byte Ds3 , v112 + .byte W03 + .byte Ds3 , v060 + .byte W03 + .byte Gs3 , v112 + .byte W03 + .byte Gs3 , v060 + .byte W03 + .byte Gn3 , v112 + .byte W03 + .byte Gn3 , v060 + .byte W03 + .byte Gs3 , v112 + .byte W03 + .byte Gs3 , v060 + .byte W03 + .byte Cn4 , v112 + .byte W03 + .byte Cn4 , v060 + .byte W03 + .byte Bn3 , v112 + .byte W03 + .byte Bn3 , v060 + .byte W03 + .byte W96 + .byte W72 + .byte PAN , c_v-61 + .byte BEND , c_v+2 + .byte W12 + .byte N06 , Bn2 , v112 + .byte W06 + .byte As2 + .byte W06 + .byte N48 , As3 + .byte W48 + .byte N06 , As3 , v036 + .byte W12 + .byte As3 , v112 + .byte W06 + .byte Bn3 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte N06 , Gs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N36 , En3 + .byte W36 + .byte N06 , En3 , v036 + .byte W30 + .byte N04 , Gs2 , v112 + .byte W04 + .byte N02 , Bn2 , v084 + .byte W04 + .byte En3 + .byte W04 + .byte N04 , Bn2 , v116 + .byte W04 + .byte N02 , En3 , v092 + .byte W04 + .byte Gs3 + .byte W04 + .byte N12 , As3 , v112 + .byte W12 + .byte N03 , As2 + .byte W06 + .byte N03 + .byte W06 + .byte N04 , Ds2 + .byte W04 + .byte N02 , Fs2 , v084 + .byte W04 + .byte As2 + .byte W04 + .byte N04 , Ds3 , v116 + .byte W04 + .byte N02 , Fs3 , v092 + .byte W04 + .byte As3 + .byte W04 + .byte N06 , Cs4 , v112 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N06 , Gs3 + .byte W06 + .byte N03 , En3 + .byte W06 + .byte Bn2 + .byte W03 + .byte Cs3 + .byte W03 + .byte Bn2 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N48 , As3 + .byte W48 + .byte N06 , As3 , v036 + .byte W44 + .byte W01 + .byte N03 , An3 , v112 + .byte W03 + .byte N06 , As3 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N03 , Ds3 + .byte W03 + .byte An3 + .byte W03 + .byte N06 , As3 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W03 + .byte Dn3 + .byte W03 + .byte Ds3 + .byte W06 + .byte N06 , An3 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Bn3 + .byte W06 + .byte N03 , En3 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte N03 , En3 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte N03 , En3 + .byte W03 + .byte As3 + .byte W03 + .byte N06 , Bn3 + .byte W06 + .byte En3 + .byte W06 + .byte En4 + .byte W06 + .byte N03 , Ds4 + .byte W03 + .byte Cs4 + .byte W03 + .byte N06 , Bn3 + .byte W06 + .byte N03 , Gs3 + .byte W03 + .byte En3 + .byte W03 + .byte N06 , Gs2 + .byte W06 + .byte N03 , Bn2 + .byte W03 + .byte En3 + .byte W03 + .byte N06 , Bn2 + .byte W06 + .byte N03 , En3 + .byte W03 + .byte Gs3 + .byte W03 + .byte As3 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Gs3 + .byte W06 + .byte N03 , Fs3 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N03 , Fs3 + .byte W03 + .byte En3 + .byte W06 + .byte Cn3 + .byte W03 + .byte N09 , Cs3 + .byte W12 + .byte N03 , Dn3 + .byte W06 + .byte Dn3 , v084 + .byte W06 + .byte N09 , Ds2 , v127 + .byte W12 + .byte N01 , Ds2 , v112 + .byte W03 + .byte N03 , Ds2 , v028 + .byte W03 + .byte N01 , Ds2 , v112 + .byte W03 + .byte N03 , Ds2 , v024 + .byte W03 + .byte N01 , Ds2 , v048 + .byte W06 + .byte Ds2 , v120 + .byte W06 + .byte Ds2 , v112 + .byte W06 + .byte Ds2 , v052 + .byte W06 + .byte Ds2 , v120 + .byte W06 + .byte N06 , Ds2 , v124 + .byte W06 + .byte N01 , Ds2 , v096 + .byte W06 + .byte Ds2 , v120 + .byte W03 + .byte N03 , Ds2 , v096 + .byte W03 + .byte N09 , En2 , v124 + .byte W12 + .byte N06 , Dn2 , v112 + .byte W06 + .byte Dn2 , v036 + .byte W06 + .byte GOTO + .word mus_machupi_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_machupi_9: + .byte KEYSH , mus_machupi_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 60*mus_machupi_mvl/mxv + .byte N06 , Cn1 , v112 + .byte W48 + .byte N06 + .byte W24 + .byte Dn1 , v092 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v036 + .byte W06 + .byte Cn1 , v112 + .byte W24 + .byte Dn1 + .byte W06 + .byte Dn1 , v072 + .byte W06 + .byte Dn1 , v056 + .byte W06 + .byte Dn1 , v048 + .byte W42 + .byte Cn1 , v112 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte Dn1 , v072 + .byte W06 + .byte Dn1 , v056 + .byte W06 + .byte Dn1 , v048 + .byte W06 + .byte Cn1 , v112 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 +mus_machupi_9_000: + .byte N06 , Cn1 , v112 + .byte W18 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte Dn1 , v072 + .byte W06 + .byte Dn1 , v056 + .byte W06 + .byte Dn1 , v048 + .byte W18 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 + .byte W06 + .byte Dn1 , v072 + .byte W06 + .byte Dn1 , v056 + .byte W06 + .byte Dn1 , v048 + .byte W06 + .byte PEND + .byte PATT + .word mus_machupi_9_000 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N03 , Cn1 , v096 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W12 + .byte En3 + .byte W06 + .byte En3 , v096 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N03 , Cn1 , v096 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Cn1 + .byte W12 + .byte Dn3 + .byte W06 + .byte N03 , Cn1 , v096 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte N03 , Dn3 + .byte W03 + .byte N03 + .byte W03 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , En3 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn3 + .byte W06 + .byte Cn1 , v072 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn1 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W06 + .byte N06 , Cn1 + .byte W06 + .byte En3 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn1 + .byte W12 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn1 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N06 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W12 + .byte En3 + .byte W06 + .byte N03 , Dn3 , v108 + .byte W03 + .byte Dn3 , v064 + .byte W03 + .byte Dn3 , v080 + .byte W03 + .byte Dn3 , v068 + .byte W03 + .byte Dn3 , v096 + .byte W03 + .byte Dn3 , v072 + .byte W03 + .byte Dn3 , v120 + .byte W03 + .byte Dn3 , v096 + .byte W03 +mus_machupi_9_B1: +mus_machupi_9_001: + .byte N06 , Cn1 , v112 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N03 , Cn1 , v096 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W12 + .byte En3 + .byte W06 + .byte En3 , v096 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 + .byte Dn3 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte PEND + .byte Cn1 , v112 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N03 , Cn1 , v096 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W12 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn1 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N03 , Cn1 , v096 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W12 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn1 + .byte W12 + .byte Dn3 + .byte W06 + .byte Cn1 , v072 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte N06 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W06 + .byte N06 , Cn1 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N06 + .byte W06 +mus_machupi_9_002: + .byte N06 , Dn3 , v112 + .byte W12 + .byte En3 + .byte W06 + .byte Dn3 + .byte W18 + .byte N06 + .byte W12 + .byte En3 + .byte W06 + .byte Dn3 + .byte W12 + .byte En3 + .byte W06 + .byte N03 , Dn3 , v108 + .byte W03 + .byte Dn3 , v064 + .byte W03 + .byte Dn3 , v080 + .byte W03 + .byte Dn3 , v068 + .byte W03 + .byte Dn3 , v096 + .byte W03 + .byte Dn3 , v072 + .byte W03 + .byte Dn3 , v120 + .byte W06 + .byte PEND + .byte N06 , Cn1 , v112 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N03 , Cn1 , v096 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W12 + .byte En3 + .byte W06 + .byte En3 , v096 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte Cn1 , v080 + .byte W06 +mus_machupi_9_003: + .byte N06 , Cn1 , v112 + .byte W12 + .byte Dn3 + .byte W06 + .byte N03 , Cn1 , v096 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W12 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Cn1 + .byte W12 + .byte Dn3 + .byte W06 + .byte N03 , Cn1 , v096 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W12 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PEND + .byte Cn1 + .byte W12 + .byte Dn3 + .byte W06 + .byte Cn1 , v072 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn1 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W06 + .byte N06 , Cn1 + .byte W06 + .byte En3 + .byte W06 + .byte N06 + .byte W06 + .byte Dn3 + .byte W06 + .byte PATT + .word mus_machupi_9_002 + .byte N48 , An2 , v112 + .byte W48 + .byte N04 , En1 + .byte W08 + .byte En1 , v076 + .byte W08 + .byte En1 , v060 + .byte W08 + .byte En1 , v036 + .byte W08 + .byte En1 , v024 + .byte W08 + .byte En1 , v004 + .byte W08 + .byte W48 + .byte En1 , v112 + .byte W08 + .byte En1 , v076 + .byte W08 + .byte En1 , v060 + .byte W08 + .byte N03 , En1 , v112 + .byte W03 + .byte En1 , v056 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte W48 + .byte N04 , En1 , v112 + .byte W08 + .byte En1 , v076 + .byte W08 + .byte En1 , v060 + .byte W08 + .byte En1 , v036 + .byte W08 + .byte En1 , v024 + .byte W08 + .byte En1 , v004 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte En1 , v112 + .byte W08 + .byte En1 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W08 + .byte En1 , v076 + .byte W08 + .byte En1 , v060 + .byte W08 + .byte N03 , En1 , v112 + .byte W03 + .byte En1 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , En1 , v112 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , En1 + .byte W06 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Cn1 + .byte W06 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 + .byte En1 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , En1 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Cn1 + .byte W12 + .byte N24 , An2 + .byte W48 + .byte PATT + .word mus_machupi_9_001 + .byte PATT + .word mus_machupi_9_003 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N03 , Cn1 , v096 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W12 + .byte En3 + .byte W06 + .byte Dn3 , v096 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , Dn3 + .byte W03 + .byte N03 + .byte W03 + .byte N06 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn3 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Cn1 , v096 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W12 + .byte En3 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 + .byte Dn3 + .byte W06 + .byte N03 , Cn1 , v096 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W12 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PATT + .word mus_machupi_9_001 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N03 , Cn1 , v096 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W12 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Cn1 + .byte W12 + .byte Dn3 + .byte W06 + .byte N03 , Cn1 , v096 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W12 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PATT + .word mus_machupi_9_001 + .byte N06 , Cn1 , v112 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte N03 , Cn1 , v096 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W12 + .byte En3 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 + .byte Dn3 + .byte W06 + .byte N03 , Cn1 , v096 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W12 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte GOTO + .word mus_machupi_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_machupi_10: + .byte KEYSH , mus_machupi_key+0 + .byte VOICE , 82 + .byte LFOS , 44 + .byte XCMD , xIECV , 24 + .byte xIECV , 16 + .byte PAN , c_v+0 + .byte VOL , 29*mus_machupi_mvl/mxv + .byte BENDR , 12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte MOD , 1 + .byte N06 , As3 , v112 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte N03 , As4 + .byte W03 + .byte Bn4 + .byte W03 + .byte N48 , As4 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte 1 + .byte N03 , An4 , v056 + .byte W03 + .byte Gs4 + .byte W03 + .byte Gn4 , v052 + .byte W03 + .byte Fs4 + .byte W15 + .byte W96 +mus_machupi_10_B1: + .byte W96 + .byte W96 + .byte W96 + .byte MOD , 1 + .byte N06 , As2 , v112 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte N03 , As3 + .byte W03 + .byte Bn3 + .byte W03 + .byte N48 , As3 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte 1 + .byte N03 , An3 + .byte W03 + .byte Gs3 , v064 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fs3 , v048 + .byte W15 + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fs4 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Fs4 + .byte W06 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En4 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , En4 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte N03 , Gs4 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte N03 , Gs4 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , En4 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , En4 + .byte W06 + .byte N06 , Bn3 + .byte W06 + .byte N03 , Cs4 + .byte W06 + .byte N06 , Bn3 + .byte W06 + .byte N03 , Cs4 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte N03 , Gs3 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte N03 , Gs3 + .byte W06 + .byte N36 , Fn4 + .byte W24 + .byte MOD , 13 + .byte W12 + .byte 1 + .byte W06 + .byte N03 , Fs4 + .byte W06 + .byte N12 , Dn4 + .byte W18 + .byte N03 , Fn4 + .byte W06 + .byte N12 , Gs4 + .byte W18 + .byte N03 , As4 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Fs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Gs4 + .byte W03 + .byte An4 + .byte W03 + .byte As4 + .byte W03 + .byte Bn4 + .byte W03 + .byte N12 , As4 + .byte W12 + .byte N03 , An4 + .byte W03 + .byte N54 , As4 + .byte W32 + .byte W01 + .byte MOD , 13 + .byte W21 + .byte 1 + .byte W03 + .byte N04 , Fs3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Bn3 + .byte W08 + .byte N04 + .byte W08 + .byte Gs3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Ds3 + .byte W08 + .byte En3 + .byte W08 + .byte Fn3 + .byte W08 + .byte N24 , Fs3 + .byte W24 + .byte N36 , Fn3 + .byte W24 + .byte MOD , 7 + .byte W12 + .byte 1 + .byte N03 , Fs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte En3 + .byte W03 + .byte Ds3 + .byte W03 + .byte N48 , Dn3 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte 1 + .byte N04 , En3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N04 + .byte W08 + .byte Fn3 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Ds3 + .byte W08 + .byte N24 , En3 + .byte W24 + .byte N36 , Ds3 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 1 + .byte N03 , En3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Gn3 + .byte W03 + .byte N48 , Gs3 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte 1 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , As2 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte N03 , As3 + .byte W03 + .byte Bn3 + .byte W03 + .byte N48 , As3 + .byte W24 + .byte MOD , 11 + .byte W24 + .byte 1 + .byte N03 , An3 + .byte W03 + .byte Gs3 , v064 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fs3 , v048 + .byte W15 + .byte W96 + .byte GOTO + .word mus_machupi_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_machupi: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_machupi_pri @ Priority + .byte mus_machupi_rev @ Reverb. + + .word mus_machupi_grp + + .word mus_machupi_1 + .word mus_machupi_2 + .word mus_machupi_3 + .word mus_machupi_4 + .word mus_machupi_5 + .word mus_machupi_6 + .word mus_machupi_7 + .word mus_machupi_8 + .word mus_machupi_9 + .word mus_machupi_10 + + .end diff --git a/sound/songs/mus_me_asa.s b/sound/songs/mus_me_asa.s new file mode 100644 index 0000000000..c96547aba1 --- /dev/null +++ b/sound/songs/mus_me_asa.s @@ -0,0 +1,150 @@ + .include "MPlayDef.s" + + .equ mus_me_asa_grp, voicegroup_8677B28 + .equ mus_me_asa_pri, 5 + .equ mus_me_asa_rev, reverb_set+50 + .equ mus_me_asa_mvl, 127 + .equ mus_me_asa_key, 0 + .equ mus_me_asa_tbs, 1 + .equ mus_me_asa_exg, 0 + .equ mus_me_asa_cmp, 1 + + .section .rodata + .global mus_me_asa + .align 2 + +@********************** Track 1 **********************@ + +mus_me_asa_1: + .byte KEYSH , mus_me_asa_key+0 + .byte TEMPO , 132*mus_me_asa_tbs/2 + .byte VOICE , 46 + .byte VOL , 90*mus_me_asa_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , Bn4 , v112 + .byte W12 + .byte N06 , Bn4 , v052 + .byte W12 + .byte N12 , Bn4 , v112 + .byte W12 + .byte N06 , Bn4 , v052 + .byte W12 + .byte N12 , Bn4 , v112 + .byte W12 + .byte Gs4 + .byte W12 + .byte En5 + .byte W12 + .byte N06 , En5 , v052 + .byte W12 + .byte W24 + .byte FINE + +@********************** Track 2 **********************@ + +mus_me_asa_2: + .byte KEYSH , mus_me_asa_key+0 + .byte VOICE , 46 + .byte VOL , 90*mus_me_asa_mvl/mxv + .byte PAN , c_v+48 + .byte N06 , En4 , v080 + .byte W12 + .byte En4 , v020 + .byte W12 + .byte En4 , v080 + .byte W12 + .byte En4 , v020 + .byte W12 + .byte En4 , v080 + .byte W12 + .byte En4 , v020 + .byte W12 + .byte Bn4 , v080 + .byte W12 + .byte Bn4 , v020 + .byte W12 + .byte W24 + .byte FINE + +@********************** Track 3 **********************@ + +mus_me_asa_3: + .byte KEYSH , mus_me_asa_key+0 + .byte VOICE , 46 + .byte VOL , 90*mus_me_asa_mvl/mxv + .byte PAN , c_v-47 + .byte W12 + .byte N06 , Gs3 , v080 + .byte W12 + .byte Gs3 , v024 + .byte W12 + .byte Gs3 , v080 + .byte W12 + .byte Gs3 , v024 + .byte W12 + .byte Gs3 , v080 + .byte W12 + .byte En3 + .byte W12 + .byte En3 , v024 + .byte W12 + .byte W24 + .byte FINE + +@********************** Track 4 **********************@ + +mus_me_asa_4: + .byte VOL , 90*mus_me_asa_mvl/mxv + .byte KEYSH , mus_me_asa_key+0 + .byte VOICE , 100 + .byte PAN , c_v+0 + .byte W12 + .byte N03 , En5 , v080 + .byte W06 + .byte PAN , c_v-48 + .byte N03 , En5 , v024 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , En5 , v080 + .byte W06 + .byte PAN , c_v+48 + .byte N03 , En5 , v024 + .byte W06 + .byte VOICE , 101 + .byte PAN , c_v+0 + .byte N03 , En4 , v080 + .byte W06 + .byte PAN , c_v-48 + .byte N03 , En4 , v024 + .byte W30 + .byte VOICE , 100 + .byte PAN , c_v+0 + .byte N03 , En5 , v080 + .byte W06 + .byte PAN , c_v+48 + .byte N03 , En5 , v024 + .byte W18 + .byte PAN , c_v+0 + .byte N03 , En5 , v072 + .byte W06 + .byte En5 , v028 + .byte W18 + .byte FINE + +@******************************************************@ + .align 2 + +mus_me_asa: + .byte 4 @ NumTrks + .byte 0 @ NumBlks + .byte mus_me_asa_pri @ Priority + .byte mus_me_asa_rev @ Reverb. + + .word mus_me_asa_grp + + .word mus_me_asa_1 + .word mus_me_asa_2 + .word mus_me_asa_3 + .word mus_me_asa_4 + + .end diff --git a/sound/songs/mus_me_b_big.s b/sound/songs/mus_me_b_big.s new file mode 100644 index 0000000000..dbb64fdd44 --- /dev/null +++ b/sound/songs/mus_me_b_big.s @@ -0,0 +1,442 @@ + .include "MPlayDef.s" + + .equ mus_me_b_big_grp, voicegroup_8677B28 + .equ mus_me_b_big_pri, 5 + .equ mus_me_b_big_rev, reverb_set+50 + .equ mus_me_b_big_mvl, 127 + .equ mus_me_b_big_key, 0 + .equ mus_me_b_big_tbs, 1 + .equ mus_me_b_big_exg, 0 + .equ mus_me_b_big_cmp, 1 + + .section .rodata + .global mus_me_b_big + .align 2 + +@********************** Track 1 **********************@ + +mus_me_b_big_1: + .byte KEYSH , mus_me_b_big_key+0 + .byte W12 + .byte VOICE , 48 + .byte VOL , 90*mus_me_b_big_mvl/mxv + .byte PAN , c_v+0 + .byte N08 , Gn3 , v040 + .byte W08 + .byte Bn3 , v052 + .byte W08 + .byte Dn4 , v060 + .byte W08 + .byte TEMPO , 144*mus_me_b_big_tbs/2 + .byte VOICE , 56 + .byte N04 , Gn3 , v116 + .byte W08 + .byte Bn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N44 , Dn4 + .byte W24 + .byte MOD , 6 + .byte W04 + .byte VOL , 88*mus_me_b_big_mvl/mxv + .byte W04 + .byte 81*mus_me_b_big_mvl/mxv + .byte W04 + .byte 68*mus_me_b_big_mvl/mxv + .byte W04 + .byte 49*mus_me_b_big_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W04 + .byte VOL , 90*mus_me_b_big_mvl/mxv + .byte N05 , Bn3 + .byte W08 + .byte Dn4 + .byte W08 + .byte Gn4 + .byte W08 + .byte N04 , En4 + .byte W08 + .byte Cn5 + .byte W08 + .byte Gn4 + .byte W08 + .byte N48 , Bn4 + .byte W03 + .byte VOL , 82*mus_me_b_big_mvl/mxv + .byte W03 + .byte 79*mus_me_b_big_mvl/mxv + .byte W03 + .byte 68*mus_me_b_big_mvl/mxv + .byte W06 + .byte 72*mus_me_b_big_mvl/mxv + .byte W01 + .byte MOD , 6 + .byte W05 + .byte VOL , 76*mus_me_b_big_mvl/mxv + .byte W06 + .byte 82*mus_me_b_big_mvl/mxv + .byte W06 + .byte 85*mus_me_b_big_mvl/mxv + .byte W06 + .byte 90*mus_me_b_big_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte N12 + .byte W48 + .byte FINE + +@********************** Track 2 **********************@ + +mus_me_b_big_2: + .byte KEYSH , mus_me_b_big_key+0 + .byte W12 + .byte VOICE , 48 + .byte VOL , 90*mus_me_b_big_mvl/mxv + .byte PAN , c_v+10 + .byte W04 + .byte N08 , An3 , v044 + .byte W08 + .byte Cn4 , v056 + .byte W08 + .byte N04 , Fs4 , v064 + .byte W04 + .byte N08 , Gn4 , v060 + .byte W08 + .byte Bn4 + .byte W08 + .byte Gn4 + .byte W08 + .byte W24 + .byte N08 + .byte W08 + .byte Bn4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Bn4 + .byte W08 + .byte Cn5 + .byte W08 + .byte Gn5 + .byte W08 + .byte En5 + .byte W08 + .byte N48 , Gn5 + .byte W03 + .byte VOL , 82*mus_me_b_big_mvl/mxv + .byte W03 + .byte 79*mus_me_b_big_mvl/mxv + .byte W03 + .byte 68*mus_me_b_big_mvl/mxv + .byte W06 + .byte 72*mus_me_b_big_mvl/mxv + .byte W06 + .byte 76*mus_me_b_big_mvl/mxv + .byte W06 + .byte 82*mus_me_b_big_mvl/mxv + .byte W06 + .byte 85*mus_me_b_big_mvl/mxv + .byte W06 + .byte 90*mus_me_b_big_mvl/mxv + .byte W09 + .byte N12 + .byte W48 + .byte FINE + +@********************** Track 3 **********************@ + +mus_me_b_big_3: + .byte KEYSH , mus_me_b_big_key+0 + .byte W12 + .byte W24 + .byte VOICE , 47 + .byte VOL , 90*mus_me_b_big_mvl/mxv + .byte PAN , c_v+0 + .byte N08 , Gn2 , v127 + .byte W08 + .byte N16 , Bn1 + .byte W16 + .byte N24 , Dn2 + .byte W40 + .byte N08 , Gn2 + .byte W08 + .byte N24 , Dn2 + .byte W24 + .byte N04 , Cn2 + .byte W04 + .byte N04 + .byte W04 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N04 , Gn2 + .byte W04 + .byte Dn2 , v092 + .byte W04 + .byte Dn2 , v096 + .byte W04 + .byte N04 + .byte W04 + .byte Dn2 , v100 + .byte W04 + .byte Dn2 , v104 + .byte W04 + .byte Dn2 , v108 + .byte W04 + .byte Dn2 , v112 + .byte W04 + .byte Dn2 , v116 + .byte W04 + .byte N04 + .byte W04 + .byte Dn2 , v120 + .byte W04 + .byte Dn2 , v124 + .byte W04 + .byte N24 , Gn2 , v127 + .byte W48 + .byte FINE + +@********************** Track 4 **********************@ + +mus_me_b_big_4: + .byte KEYSH , mus_me_b_big_key+0 + .byte W12 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte W24 + .byte VOICE , 82 + .byte VOL , 90*mus_me_b_big_mvl/mxv + .byte PAN , c_v-48 + .byte N04 , Dn3 , v052 + .byte W08 + .byte Gn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte N68 , Bn3 + .byte W24 + .byte MOD , 6 + .byte W04 + .byte VOL , 87*mus_me_b_big_mvl/mxv + .byte W08 + .byte 75*mus_me_b_big_mvl/mxv + .byte W09 + .byte 64*mus_me_b_big_mvl/mxv + .byte W06 + .byte 54*mus_me_b_big_mvl/mxv + .byte W06 + .byte 43*mus_me_b_big_mvl/mxv + .byte W06 + .byte 27*mus_me_b_big_mvl/mxv + .byte W03 + .byte 9*mus_me_b_big_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte W04 + .byte VOL , 90*mus_me_b_big_mvl/mxv + .byte N04 , Gn3 + .byte W08 + .byte En4 + .byte W08 + .byte Cn4 + .byte W08 + .byte N48 , Dn4 + .byte W16 + .byte MOD , 6 + .byte W32 + .byte 0 + .byte N12 + .byte W48 + .byte FINE + +@********************** Track 5 **********************@ + +mus_me_b_big_5: + .byte KEYSH , mus_me_b_big_key+0 + .byte W12 + .byte XCMD , xIECV , 10 + .byte W24 + .byte VOICE , 83 + .byte VOL , 90*mus_me_b_big_mvl/mxv + .byte PAN , c_v+47 + .byte BEND , c_v+0 + .byte N04 , Bn2 , v052 + .byte W08 + .byte Dn3 + .byte W08 + .byte Bn2 + .byte W08 + .byte N68 , Gn3 + .byte W24 + .byte MOD , 6 + .byte W04 + .byte VOL , 87*mus_me_b_big_mvl/mxv + .byte W08 + .byte 75*mus_me_b_big_mvl/mxv + .byte W09 + .byte 64*mus_me_b_big_mvl/mxv + .byte W06 + .byte 54*mus_me_b_big_mvl/mxv + .byte W06 + .byte 43*mus_me_b_big_mvl/mxv + .byte W06 + .byte 27*mus_me_b_big_mvl/mxv + .byte W03 + .byte 9*mus_me_b_big_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte W04 + .byte VOL , 90*mus_me_b_big_mvl/mxv + .byte N04 , En3 + .byte W08 + .byte Cn4 + .byte W08 + .byte Gn3 + .byte W08 + .byte N48 , Bn3 + .byte W16 + .byte MOD , 6 + .byte W32 + .byte 0 + .byte N12 + .byte W48 + .byte FINE + +@********************** Track 6 **********************@ + +mus_me_b_big_6: + .byte KEYSH , mus_me_b_big_key+0 + .byte W12 + .byte W24 + .byte VOICE , 88 + .byte VOL , 90*mus_me_b_big_mvl/mxv + .byte W24 + .byte N24 , Gn1 , v080 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N16 + .byte W16 + .byte Bn1 + .byte W16 + .byte Cn2 + .byte W16 + .byte Bn1 + .byte W16 + .byte An1 + .byte W16 + .byte N08 , Gn1 + .byte W08 + .byte N04 , Dn1 + .byte W04 + .byte Fs1 + .byte W04 + .byte N12 , Gn1 + .byte W48 + .byte FINE + +@********************** Track 7 **********************@ + +mus_me_b_big_7: + .byte KEYSH , mus_me_b_big_key+0 + .byte W12 + .byte W24 + .byte VOICE , 0 + .byte VOL , 90*mus_me_b_big_mvl/mxv + .byte N04 , En1 , v112 + .byte W04 + .byte En1 , v076 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v080 + .byte W04 + .byte En1 , v084 + .byte W04 + .byte En1 , v088 + .byte W04 + .byte En1 , v112 + .byte N72 , Bn2 , v092 + .byte W16 + .byte N04 , En1 , v112 + .byte W08 + .byte N04 + .byte W04 + .byte En1 , v068 + .byte W04 + .byte En1 , v088 + .byte W04 + .byte En1 , v108 + .byte W04 + .byte En1 , v112 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte En1 , v120 + .byte W16 + .byte En1 , v092 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v112 + .byte N48 , Bn2 , v092 + .byte W04 + .byte N04 , En1 , v076 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v080 + .byte W04 + .byte En1 , v084 + .byte W04 + .byte En1 , v088 + .byte W04 + .byte En1 , v092 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v096 + .byte W04 + .byte En1 , v100 + .byte W04 + .byte En1 , v104 + .byte W04 + .byte En1 , v108 + .byte W04 + .byte En1 , v120 + .byte N24 , Bn2 , v092 + .byte W48 + .byte FINE + +@******************************************************@ + .align 2 + +mus_me_b_big: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_me_b_big_pri @ Priority + .byte mus_me_b_big_rev @ Reverb. + + .word mus_me_b_big_grp + + .word mus_me_b_big_1 + .word mus_me_b_big_2 + .word mus_me_b_big_3 + .word mus_me_b_big_4 + .word mus_me_b_big_5 + .word mus_me_b_big_6 + .word mus_me_b_big_7 + + .end diff --git a/sound/songs/mus_me_b_small.s b/sound/songs/mus_me_b_small.s new file mode 100644 index 0000000000..7b7bbc6190 --- /dev/null +++ b/sound/songs/mus_me_b_small.s @@ -0,0 +1,257 @@ + .include "MPlayDef.s" + + .equ mus_me_b_small_grp, voicegroup_8677B28 + .equ mus_me_b_small_pri, 5 + .equ mus_me_b_small_rev, reverb_set+50 + .equ mus_me_b_small_mvl, 127 + .equ mus_me_b_small_key, 0 + .equ mus_me_b_small_tbs, 1 + .equ mus_me_b_small_exg, 0 + .equ mus_me_b_small_cmp, 1 + + .section .rodata + .global mus_me_b_small + .align 2 + +@********************** Track 1 **********************@ + +mus_me_b_small_1: + .byte KEYSH , mus_me_b_small_key+0 + .byte TEMPO , 144*mus_me_b_small_tbs/2 + .byte W09 + .byte VOICE , 56 + .byte VOL , 90*mus_me_b_small_mvl/mxv + .byte PAN , c_v+6 + .byte N03 , Cs3 , v084 + .byte W03 + .byte Fn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Gs3 + .byte W03 + .byte An3 + .byte W03 + .byte N06 , As3 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs3 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Cs4 + .byte W03 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N06 , En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N12 , Fs4 + .byte W24 + .byte W24 + .byte FINE + +@********************** Track 2 **********************@ + +mus_me_b_small_2: + .byte KEYSH , mus_me_b_small_key+0 + .byte W24 + .byte VOICE , 60 + .byte VOL , 90*mus_me_b_small_mvl/mxv + .byte PAN , c_v-16 + .byte N24 , Fs2 , v080 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte Bn3 + .byte W12 + .byte As3 + .byte W24 + .byte W24 + .byte FINE + +@********************** Track 3 **********************@ + +mus_me_b_small_3: + .byte KEYSH , mus_me_b_small_key+0 + .byte W24 + .byte VOICE , 47 + .byte VOL , 90*mus_me_b_small_mvl/mxv + .byte PAN , c_v-4 + .byte W48 + .byte N03 , Ds2 , v120 + .byte W03 + .byte Ds2 , v092 + .byte W03 + .byte Ds2 , v096 + .byte W03 + .byte Ds2 , v100 + .byte W03 + .byte N06 , Ds2 , v108 + .byte W06 + .byte Ds2 , v116 + .byte W06 + .byte N24 , Fs2 , v120 + .byte W24 + .byte W24 + .byte FINE + +@********************** Track 4 **********************@ + +mus_me_b_small_4: + .byte KEYSH , mus_me_b_small_key+0 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte W24 + .byte VOICE , 90 + .byte VOL , 90*mus_me_b_small_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , Fs5 , v040 + .byte W12 + .byte Cs5 + .byte W06 + .byte N03 + .byte W06 + .byte Fs5 + .byte W12 + .byte Cs5 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte En5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Fs5 + .byte W24 + .byte W24 + .byte FINE + +@********************** Track 5 **********************@ + +mus_me_b_small_5: + .byte KEYSH , mus_me_b_small_key+0 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte BEND , c_v+0 + .byte W24 + .byte VOICE , 83 + .byte VOL , 90*mus_me_b_small_mvl/mxv + .byte PAN , c_v+48 + .byte N06 , Fs3 , v052 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cs3 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Fs4 + .byte W03 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N06 , Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte N12 , As4 + .byte W24 + .byte W24 + .byte FINE + +@********************** Track 6 **********************@ + +mus_me_b_small_6: + .byte KEYSH , mus_me_b_small_key+0 + .byte W24 + .byte VOICE , 88 + .byte VOL , 90*mus_me_b_small_mvl/mxv + .byte N12 , Fs1 , v080 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , En1 + .byte W06 + .byte Fn1 + .byte W06 + .byte N12 , Fs1 + .byte W24 + .byte W24 + .byte FINE + +@********************** Track 7 **********************@ + +mus_me_b_small_7: + .byte KEYSH , mus_me_b_small_key+0 + .byte W24 + .byte VOICE , 0 + .byte VOL , 90*mus_me_b_small_mvl/mxv + .byte N06 , En1 , v100 + .byte N72 , Bn2 , v092 + .byte W24 + .byte N06 , En1 , v100 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En1 , v112 + .byte W03 + .byte En1 , v080 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v092 + .byte W03 + .byte N06 , En1 , v096 + .byte W06 + .byte En1 , v108 + .byte W06 + .byte N09 , En1 , v100 + .byte N24 , Bn2 , v092 + .byte W24 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +mus_me_b_small: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_me_b_small_pri @ Priority + .byte mus_me_b_small_rev @ Reverb. + + .word mus_me_b_small_grp + + .word mus_me_b_small_1 + .word mus_me_b_small_2 + .word mus_me_b_small_3 + .word mus_me_b_small_4 + .word mus_me_b_small_5 + .word mus_me_b_small_6 + .word mus_me_b_small_7 + + .end diff --git a/sound/songs/mus_me_bachi.s b/sound/songs/mus_me_bachi.s new file mode 100644 index 0000000000..ca7ec34aeb --- /dev/null +++ b/sound/songs/mus_me_bachi.s @@ -0,0 +1,544 @@ + .include "MPlayDef.s" + + .equ mus_me_bachi_grp, voicegroup_8677B28 + .equ mus_me_bachi_pri, 5 + .equ mus_me_bachi_rev, reverb_set+50 + .equ mus_me_bachi_mvl, 127 + .equ mus_me_bachi_key, 0 + .equ mus_me_bachi_tbs, 1 + .equ mus_me_bachi_exg, 0 + .equ mus_me_bachi_cmp, 1 + + .section .rodata + .global mus_me_bachi + .align 2 + +@********************** Track 1 **********************@ + +mus_me_bachi_1: + .byte KEYSH , mus_me_bachi_key+0 + .byte W12 + .byte TEMPO , 144*mus_me_bachi_tbs/2 + .byte VOICE , 82 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 90*mus_me_bachi_mvl/mxv + .byte PAN , c_v+47 + .byte N09 , Fn4 , v060 + .byte W18 + .byte N03 , Dn4 + .byte W06 + .byte N24 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte VOICE , 80 + .byte MOD , 0 + .byte PAN , c_v+0 + .byte N06 , Fn3 , v072 + .byte W06 + .byte As2 , v060 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Dn3 , v072 + .byte W06 + .byte Fn3 , v060 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte VOICE , 82 + .byte PAN , c_v+47 + .byte N09 , Gn4 , v056 + .byte W18 + .byte N03 , En4 , v060 + .byte W06 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOICE , 80 + .byte MOD , 0 + .byte PAN , c_v+0 + .byte N06 , Gn3 , v072 + .byte W06 + .byte Cn3 , v060 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 , v072 + .byte W06 + .byte Gn3 , v060 + .byte W06 + .byte Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte VOICE , 82 + .byte PAN , c_v-47 + .byte N48 , An4 + .byte W05 + .byte VOL , 76*mus_me_bachi_mvl/mxv + .byte W04 + .byte 65*mus_me_bachi_mvl/mxv + .byte W05 + .byte 68*mus_me_bachi_mvl/mxv + .byte W01 + .byte MOD , 6 + .byte W04 + .byte VOL , 71*mus_me_bachi_mvl/mxv + .byte W05 + .byte 75*mus_me_bachi_mvl/mxv + .byte W05 + .byte 77*mus_me_bachi_mvl/mxv + .byte W04 + .byte MOD , 8 + .byte W01 + .byte VOL , 80*mus_me_bachi_mvl/mxv + .byte W05 + .byte 84*mus_me_bachi_mvl/mxv + .byte W05 + .byte 87*mus_me_bachi_mvl/mxv + .byte W04 + .byte 90*mus_me_bachi_mvl/mxv + .byte MOD , 0 + .byte N09 + .byte W48 + .byte FINE + +@********************** Track 2 **********************@ + +mus_me_bachi_2: + .byte KEYSH , mus_me_bachi_key+0 + .byte W12 + .byte VOICE , 56 + .byte VOL , 90*mus_me_bachi_mvl/mxv + .byte PAN , c_v+11 + .byte N09 , As4 , v116 + .byte W18 + .byte N03 , Fn4 + .byte W06 + .byte N44 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte VOL , 78*mus_me_bachi_mvl/mxv + .byte W05 + .byte 63*mus_me_bachi_mvl/mxv + .byte W05 + .byte 38*mus_me_bachi_mvl/mxv + .byte W05 + .byte 14*mus_me_bachi_mvl/mxv + .byte W03 + .byte 0*mus_me_bachi_mvl/mxv + .byte W03 + .byte 90*mus_me_bachi_mvl/mxv + .byte MOD , 0 + .byte N03 , An4 , v100 + .byte W03 + .byte N06 , As4 , v116 + .byte W12 + .byte Bn4 + .byte W12 + .byte N09 , Cn5 + .byte W18 + .byte N03 , Gn4 + .byte W06 + .byte N44 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 78*mus_me_bachi_mvl/mxv + .byte W05 + .byte 63*mus_me_bachi_mvl/mxv + .byte W05 + .byte 38*mus_me_bachi_mvl/mxv + .byte W05 + .byte 14*mus_me_bachi_mvl/mxv + .byte W03 + .byte 0*mus_me_bachi_mvl/mxv + .byte W03 + .byte 90*mus_me_bachi_mvl/mxv + .byte MOD , 0 + .byte N03 , Bn4 , v100 + .byte W03 + .byte N24 , Cn5 , v116 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N48 , Dn5 + .byte W05 + .byte VOL , 76*mus_me_bachi_mvl/mxv + .byte W04 + .byte 65*mus_me_bachi_mvl/mxv + .byte W05 + .byte 68*mus_me_bachi_mvl/mxv + .byte W01 + .byte MOD , 6 + .byte W04 + .byte VOL , 71*mus_me_bachi_mvl/mxv + .byte W05 + .byte 75*mus_me_bachi_mvl/mxv + .byte W05 + .byte 77*mus_me_bachi_mvl/mxv + .byte W04 + .byte MOD , 8 + .byte W01 + .byte VOL , 80*mus_me_bachi_mvl/mxv + .byte W05 + .byte 84*mus_me_bachi_mvl/mxv + .byte W05 + .byte 87*mus_me_bachi_mvl/mxv + .byte W04 + .byte 90*mus_me_bachi_mvl/mxv + .byte MOD , 0 + .byte N09 + .byte W48 + .byte FINE + +@********************** Track 3 **********************@ + +mus_me_bachi_3: + .byte KEYSH , mus_me_bachi_key+0 + .byte W12 + .byte VOICE , 88 + .byte VOL , 90*mus_me_bachi_mvl/mxv + .byte N09 , As1 , v080 + .byte W18 + .byte N03 + .byte W06 + .byte N24 + .byte W24 + .byte N18 , Dn2 + .byte W18 + .byte Cn2 + .byte W18 + .byte N12 , As1 + .byte W12 + .byte N09 , Cn2 + .byte W18 + .byte N03 + .byte W06 + .byte N24 + .byte W24 + .byte N18 , En2 + .byte W18 + .byte Dn2 + .byte W18 + .byte N12 , Cn2 + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte An1 + .byte W12 + .byte Dn2 + .byte W12 + .byte An1 + .byte W12 + .byte N09 , Dn2 + .byte W48 + .byte FINE + +@********************** Track 4 **********************@ + +mus_me_bachi_4: + .byte KEYSH , mus_me_bachi_key+0 + .byte W12 + .byte VOICE , 47 + .byte VOL , 90*mus_me_bachi_mvl/mxv + .byte PAN , c_v-13 + .byte N06 , As1 , v127 + .byte W36 + .byte As1 , v100 + .byte W06 + .byte Fn1 + .byte W06 + .byte As1 , v127 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W36 + .byte Cn2 , v100 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cn2 , v127 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Dn2 + .byte W12 + .byte An1 + .byte W12 + .byte Dn2 + .byte W12 + .byte An1 + .byte W12 + .byte Dn2 + .byte W48 + .byte FINE + +@********************** Track 5 **********************@ + +mus_me_bachi_5: + .byte KEYSH , mus_me_bachi_key+0 + .byte W12 + .byte VOICE , 83 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 90*mus_me_bachi_mvl/mxv + .byte PAN , c_v-48 + .byte BEND , c_v+0 + .byte N09 , Dn4 , v060 + .byte W18 + .byte N03 , As3 + .byte W06 + .byte N24 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte W06 + .byte VOICE , 81 + .byte PAN , c_v+48 + .byte BEND , c_v-2 + .byte N06 , Fn3 , v052 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , As2 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Dn3 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Fn3 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Dn3 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Fn3 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , As3 + .byte W06 + .byte VOICE , 83 + .byte PAN , c_v-48 + .byte BEND , c_v+0 + .byte N09 , En4 , v060 + .byte W18 + .byte N03 , Cn4 + .byte W06 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W06 + .byte VOICE , 81 + .byte PAN , c_v+48 + .byte BEND , c_v-2 + .byte N06 , Gn3 , v052 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Cn3 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , En3 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Gn3 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , En3 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Gn3 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Cn4 + .byte W06 + .byte VOICE , 83 + .byte BEND , c_v+0 + .byte N48 , Fs4 , v060 + .byte W05 + .byte VOL , 76*mus_me_bachi_mvl/mxv + .byte W04 + .byte 65*mus_me_bachi_mvl/mxv + .byte W05 + .byte 68*mus_me_bachi_mvl/mxv + .byte W01 + .byte MOD , 6 + .byte W04 + .byte VOL , 71*mus_me_bachi_mvl/mxv + .byte W05 + .byte 75*mus_me_bachi_mvl/mxv + .byte W05 + .byte 77*mus_me_bachi_mvl/mxv + .byte W04 + .byte MOD , 8 + .byte W01 + .byte VOL , 80*mus_me_bachi_mvl/mxv + .byte W05 + .byte 84*mus_me_bachi_mvl/mxv + .byte W05 + .byte 87*mus_me_bachi_mvl/mxv + .byte W04 + .byte 90*mus_me_bachi_mvl/mxv + .byte MOD , 0 + .byte N09 + .byte W48 + .byte FINE + +@********************** Track 6 **********************@ + +mus_me_bachi_6: + .byte KEYSH , mus_me_bachi_key+0 + .byte W12 + .byte VOICE , 56 + .byte VOL , 90*mus_me_bachi_mvl/mxv + .byte PAN , c_v+0 + .byte W68 + .byte W01 + .byte N03 , En4 , v080 + .byte W03 + .byte N06 , Fn4 , v100 + .byte W12 + .byte Gn4 + .byte W12 + .byte W68 + .byte W01 + .byte N03 , Fs4 , v080 + .byte W03 + .byte N24 , Gn4 , v100 + .byte W24 + .byte W96 + .byte FINE + +@********************** Track 7 **********************@ + +mus_me_bachi_7: + .byte KEYSH , mus_me_bachi_key+0 + .byte W12 + .byte VOICE , 0 + .byte VOL , 90*mus_me_bachi_mvl/mxv + .byte N06 , En1 , v096 + .byte N24 , Bn2 , v100 + .byte W18 + .byte N06 , En1 , v096 + .byte W06 + .byte En1 , v120 + .byte W12 + .byte N03 , En1 , v100 + .byte W03 + .byte N03 + .byte W03 + .byte N06 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N03 , En1 , v084 + .byte W03 + .byte En1 , v080 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v096 + .byte N24 , Bn2 , v100 + .byte W18 + .byte N06 , En1 , v096 + .byte W06 + .byte En1 , v120 + .byte W12 + .byte N03 , En1 , v100 + .byte W03 + .byte N03 + .byte W03 + .byte N06 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N03 , En1 , v084 + .byte W03 + .byte En1 , v080 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v096 + .byte N24 , Bn2 , v100 + .byte W18 + .byte N06 , En1 , v096 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v120 + .byte N24 , Bn2 , v100 + .byte W48 + .byte FINE + +@******************************************************@ + .align 2 + +mus_me_bachi: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_me_bachi_pri @ Priority + .byte mus_me_bachi_rev @ Reverb. + + .word mus_me_bachi_grp + + .word mus_me_bachi_1 + .word mus_me_bachi_2 + .word mus_me_bachi_3 + .word mus_me_bachi_4 + .word mus_me_bachi_5 + .word mus_me_bachi_6 + .word mus_me_bachi_7 + + .end diff --git a/sound/songs/mus_me_kinomi.s b/sound/songs/mus_me_kinomi.s new file mode 100644 index 0000000000..05186bf835 --- /dev/null +++ b/sound/songs/mus_me_kinomi.s @@ -0,0 +1,167 @@ + .include "MPlayDef.s" + + .equ mus_me_kinomi_grp, voicegroup_8677B28 + .equ mus_me_kinomi_pri, 5 + .equ mus_me_kinomi_rev, reverb_set+50 + .equ mus_me_kinomi_mvl, 127 + .equ mus_me_kinomi_key, 0 + .equ mus_me_kinomi_tbs, 1 + .equ mus_me_kinomi_exg, 0 + .equ mus_me_kinomi_cmp, 1 + + .section .rodata + .global mus_me_kinomi + .align 2 + +@********************** Track 1 **********************@ + +mus_me_kinomi_1: + .byte KEYSH , mus_me_kinomi_key+0 + .byte W12 + .byte TEMPO , 140*mus_me_kinomi_tbs/2 + .byte VOICE , 13 + .byte PAN , c_v-10 + .byte VOL , 90*mus_me_kinomi_mvl/mxv + .byte N04 , Fn4 , v092 + .byte W04 + .byte Fn4 , v080 + .byte W04 + .byte N04 + .byte W04 + .byte Cn4 , v092 + .byte W04 + .byte Cn4 , v080 + .byte W04 + .byte N04 + .byte W04 + .byte Cn5 , v092 + .byte W08 + .byte Dn5 + .byte W08 + .byte Cn5 + .byte W08 + .byte Fn5 + .byte W04 + .byte Fn5 , v080 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W36 + .byte FINE + +@********************** Track 2 **********************@ + +mus_me_kinomi_2: + .byte KEYSH , mus_me_kinomi_key+0 + .byte W12 + .byte VOICE , 13 + .byte PAN , c_v+31 + .byte VOL , 90*mus_me_kinomi_mvl/mxv + .byte W24 + .byte N04 , Gn4 , v092 + .byte W08 + .byte As4 + .byte W08 + .byte Gn4 + .byte W08 + .byte N16 , An4 + .byte W48 + .byte FINE + +@********************** Track 3 **********************@ + +mus_me_kinomi_3: + .byte KEYSH , mus_me_kinomi_key+0 + .byte W12 + .byte VOICE , 1 + .byte VOL , 90*mus_me_kinomi_mvl/mxv + .byte PAN , c_v-32 + .byte N24 , Fn3 , v080 + .byte W24 + .byte N04 , Gn3 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N16 , Fn3 + .byte W48 + .byte FINE + +@********************** Track 4 **********************@ + +mus_me_kinomi_4: + .byte KEYSH , mus_me_kinomi_key+0 + .byte W12 + .byte VOICE , 1 + .byte VOL , 90*mus_me_kinomi_mvl/mxv + .byte PAN , c_v+0 + .byte N24 , An2 , v080 + .byte W24 + .byte N04 , As2 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N16 , An2 + .byte W48 + .byte FINE + +@********************** Track 5 **********************@ + +mus_me_kinomi_5: + .byte KEYSH , mus_me_kinomi_key+0 + .byte W12 + .byte VOICE , 100 + .byte VOL , 90*mus_me_kinomi_mvl/mxv + .byte PAN , c_v+0 + .byte N04 , Cn5 , v060 + .byte W08 + .byte PAN , c_v-49 + .byte N04 , Cn5 , v020 + .byte W16 + .byte VOICE , 101 + .byte PAN , c_v-1 + .byte N04 , As3 , v060 + .byte W08 + .byte Gn3 + .byte W08 + .byte PAN , c_v+50 + .byte N04 , Gn3 , v020 + .byte W08 + .byte VOICE , 100 + .byte PAN , c_v+0 + .byte N04 , An3 , v060 + .byte W08 + .byte PAN , c_v-48 + .byte N04 , An3 , v020 + .byte W16 + .byte VOICE , 101 + .byte PAN , c_v+0 + .byte N04 , An3 , v060 + .byte W08 + .byte PAN , c_v+50 + .byte N04 , An3 , v020 + .byte W16 + .byte FINE + +@******************************************************@ + .align 2 + +mus_me_kinomi: + .byte 5 @ NumTrks + .byte 0 @ NumBlks + .byte mus_me_kinomi_pri @ Priority + .byte mus_me_kinomi_rev @ Reverb. + + .word mus_me_kinomi_grp + + .word mus_me_kinomi_1 + .word mus_me_kinomi_2 + .word mus_me_kinomi_3 + .word mus_me_kinomi_4 + .word mus_me_kinomi_5 + + .end diff --git a/sound/songs/mus_me_pointget.s b/sound/songs/mus_me_pointget.s new file mode 100644 index 0000000000..ee4b0ab1ba --- /dev/null +++ b/sound/songs/mus_me_pointget.s @@ -0,0 +1,591 @@ + .include "MPlayDef.s" + + .equ mus_me_pointget_grp, voicegroup_869557C + .equ mus_me_pointget_pri, 5 + .equ mus_me_pointget_rev, reverb_set+50 + .equ mus_me_pointget_mvl, 127 + .equ mus_me_pointget_key, 0 + .equ mus_me_pointget_tbs, 1 + .equ mus_me_pointget_exg, 0 + .equ mus_me_pointget_cmp, 1 + + .section .rodata + .global mus_me_pointget + .align 2 + +@********************** Track 1 **********************@ + +mus_me_pointget_1: + .byte KEYSH , mus_me_pointget_key+0 + .byte TEMPO , 122*mus_me_pointget_tbs/2 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 90*mus_me_pointget_mvl/mxv + .byte PAN , c_v-16 + .byte W12 + .byte N04 , Bn3 , v100 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Bn4 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte En4 + .byte W08 + .byte Bn4 + .byte W08 + .byte Ds5 + .byte W08 + .byte Bn4 + .byte W08 + .byte Ds5 + .byte W08 + .byte TEMPO , 118*mus_me_pointget_tbs/2 + .byte MOD , 4 + .byte N32 , En5 + .byte W12 + .byte VOL , 79*mus_me_pointget_mvl/mxv + .byte W03 + .byte TEMPO , 114*mus_me_pointget_tbs/2 + .byte W09 + .byte MOD , 0 + .byte VOL , 68*mus_me_pointget_mvl/mxv + .byte W06 + .byte 56*mus_me_pointget_mvl/mxv + .byte W06 + .byte TEMPO , 106*mus_me_pointget_tbs/2 + .byte 90*mus_me_pointget_mvl/mxv + .byte N02 , En4 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte MOD , 4 + .byte N06 + .byte W24 + .byte FINE + +@********************** Track 2 **********************@ + +mus_me_pointget_2: + .byte KEYSH , mus_me_pointget_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 45*mus_me_pointget_mvl/mxv + .byte W12 + .byte W12 + .byte PAN , c_v-32 + .byte N04 , Bn4 , v100 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , Bn3 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , En4 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , Fs4 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , En4 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , Fs4 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Bn4 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , En4 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Fs4 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , Bn4 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Fs5 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , Ds5 + .byte W08 + .byte MOD , 4 + .byte PAN , c_v-32 + .byte N04 , Bn4 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , En4 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Fs4 + .byte W08 + .byte MOD , 0 + .byte PAN , c_v+32 + .byte N04 , Bn4 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , An4 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , Fs4 + .byte W08 + .byte MOD , 3 + .byte PAN , c_v-32 + .byte W24 + .byte FINE + +@********************** Track 3 **********************@ + +mus_me_pointget_3: + .byte KEYSH , mus_me_pointget_key+0 + .byte VOICE , 87 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 71*mus_me_pointget_mvl/mxv + .byte PAN , c_v+0 + .byte W12 + .byte N02 , Fs1 , v100 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N48 , Bn1 + .byte W12 + .byte VOL , 61*mus_me_pointget_mvl/mxv + .byte MOD , 8 + .byte W12 + .byte VOL , 52*mus_me_pointget_mvl/mxv + .byte W12 + .byte 42*mus_me_pointget_mvl/mxv + .byte W12 + .byte 71*mus_me_pointget_mvl/mxv + .byte MOD , 1 + .byte N24 , An1 + .byte W12 + .byte VOL , 60*mus_me_pointget_mvl/mxv + .byte MOD , 8 + .byte W12 + .byte VOL , 71*mus_me_pointget_mvl/mxv + .byte MOD , 1 + .byte N24 , Fs1 + .byte W12 + .byte VOL , 60*mus_me_pointget_mvl/mxv + .byte MOD , 8 + .byte W12 + .byte VOL , 71*mus_me_pointget_mvl/mxv + .byte MOD , 1 + .byte N36 , En1 + .byte W12 + .byte VOL , 60*mus_me_pointget_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 50*mus_me_pointget_mvl/mxv + .byte W12 + .byte 71*mus_me_pointget_mvl/mxv + .byte MOD , 1 + .byte N02 , Gs1 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N06 , En1 + .byte W24 + .byte FINE + +@********************** Track 4 **********************@ + +mus_me_pointget_4: + .byte KEYSH , mus_me_pointget_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+48 + .byte VOL , 68*mus_me_pointget_mvl/mxv + .byte W12 + .byte N04 , En3 , v100 + .byte W04 + .byte Fs3 + .byte W04 + .byte Bn3 + .byte W04 + .byte En4 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte Bn3 + .byte W08 + .byte En4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Fs4 + .byte W08 + .byte MOD , 4 + .byte N32 , Bn4 + .byte W12 + .byte VOL , 56*mus_me_pointget_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 45*mus_me_pointget_mvl/mxv + .byte W06 + .byte 34*mus_me_pointget_mvl/mxv + .byte W06 + .byte 66*mus_me_pointget_mvl/mxv + .byte N02 , Bn3 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte MOD , 4 + .byte N06 + .byte W24 + .byte FINE + +@********************** Track 5 **********************@ + +mus_me_pointget_5: + .byte KEYSH , mus_me_pointget_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 79*mus_me_pointget_mvl/mxv + .byte PAN , c_v+0 + .byte W12 + .byte N02 , Bn1 , v100 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte W96 + .byte N32 , En2 + .byte W36 + .byte N02 , Gs2 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N06 , En1 + .byte W24 + .byte FINE + +@********************** Track 6 **********************@ + +mus_me_pointget_6: + .byte KEYSH , mus_me_pointget_key+0 + .byte VOICE , 83 + .byte LFOS , 51 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 45*mus_me_pointget_mvl/mxv + .byte PAN , c_v-62 + .byte W12 + .byte W12 + .byte N04 , Fs3 , v088 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N24 , An3 + .byte W12 + .byte MOD , 6 + .byte VOL , 22*mus_me_pointget_mvl/mxv + .byte W12 + .byte MOD , 1 + .byte VOL , 45*mus_me_pointget_mvl/mxv + .byte N24 , Fs3 , v084 + .byte W12 + .byte MOD , 6 + .byte VOL , 22*mus_me_pointget_mvl/mxv + .byte W12 + .byte MOD , 1 + .byte VOL , 45*mus_me_pointget_mvl/mxv + .byte N32 , Gs2 , v088 + .byte W12 + .byte VOL , 34*mus_me_pointget_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_me_pointget_mvl/mxv + .byte W06 + .byte 11*mus_me_pointget_mvl/mxv + .byte W06 + .byte 45*mus_me_pointget_mvl/mxv + .byte MOD , 1 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N06 , Gs2 , v100 + .byte W24 + .byte FINE + +@********************** Track 7 **********************@ + +mus_me_pointget_7: + .byte KEYSH , mus_me_pointget_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 34*mus_me_pointget_mvl/mxv + .byte BEND , c_v+0 + .byte W12 + .byte N04 , Bn3 , v100 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Bn3 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N24 , Cs4 + .byte W08 + .byte VOL , 28*mus_me_pointget_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte VOL , 25*mus_me_pointget_mvl/mxv + .byte W04 + .byte 21*mus_me_pointget_mvl/mxv + .byte W04 + .byte 15*mus_me_pointget_mvl/mxv + .byte W04 + .byte MOD , 1 + .byte VOL , 34*mus_me_pointget_mvl/mxv + .byte N24 , Bn3 , v096 + .byte W08 + .byte VOL , 30*mus_me_pointget_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte VOL , 26*mus_me_pointget_mvl/mxv + .byte W04 + .byte 21*mus_me_pointget_mvl/mxv + .byte W04 + .byte 14*mus_me_pointget_mvl/mxv + .byte W04 + .byte MOD , 1 + .byte VOL , 34*mus_me_pointget_mvl/mxv + .byte N32 , En3 , v100 + .byte W12 + .byte VOL , 22*mus_me_pointget_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 17*mus_me_pointget_mvl/mxv + .byte W06 + .byte 11*mus_me_pointget_mvl/mxv + .byte W06 + .byte 6*mus_me_pointget_mvl/mxv + .byte W06 + .byte 34*mus_me_pointget_mvl/mxv + .byte MOD , 1 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N06 + .byte W24 + .byte FINE + +@********************** Track 8 **********************@ + +mus_me_pointget_8: + .byte KEYSH , mus_me_pointget_key+0 + .byte VOICE , 1 + .byte PAN , c_v+0 + .byte VOL , 86*mus_me_pointget_mvl/mxv + .byte W12 + .byte W12 + .byte N48 , An2 , v100 + .byte W48 + .byte N24 , En2 + .byte W24 + .byte Cs2 + .byte W24 + .byte W48 + .byte N06 + .byte W24 + .byte FINE + +@********************** Track 9 **********************@ + +mus_me_pointget_9: + .byte KEYSH , mus_me_pointget_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 45*mus_me_pointget_mvl/mxv + .byte W12 + .byte N01 , An3 , v064 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte An3 , v096 + .byte W12 + .byte An3 , v064 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte An3 , v080 + .byte W08 + .byte N01 + .byte W08 + .byte N02 , Cn5 + .byte W04 + .byte N01 , An3 , v048 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte An3 , v064 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N02 , Cn5 , v080 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +mus_me_pointget: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_me_pointget_pri @ Priority + .byte mus_me_pointget_rev @ Reverb. + + .word mus_me_pointget_grp + + .word mus_me_pointget_1 + .word mus_me_pointget_2 + .word mus_me_pointget_3 + .word mus_me_pointget_4 + .word mus_me_pointget_5 + .word mus_me_pointget_6 + .word mus_me_pointget_7 + .word mus_me_pointget_8 + .word mus_me_pointget_9 + + .end diff --git a/sound/songs/mus_me_rg_photo.s b/sound/songs/mus_me_rg_photo.s new file mode 100644 index 0000000000..fae5679b29 --- /dev/null +++ b/sound/songs/mus_me_rg_photo.s @@ -0,0 +1,258 @@ + .include "MPlayDef.s" + + .equ mus_me_rg_photo_grp, voicegroup_86B0FF0 + .equ mus_me_rg_photo_pri, 5 + .equ mus_me_rg_photo_rev, reverb_set+50 + .equ mus_me_rg_photo_mvl, 127 + .equ mus_me_rg_photo_key, 0 + .equ mus_me_rg_photo_tbs, 1 + .equ mus_me_rg_photo_exg, 0 + .equ mus_me_rg_photo_cmp, 1 + + .section .rodata + .global mus_me_rg_photo + .align 2 + +@********************** Track 1 **********************@ + +mus_me_rg_photo_1: + .byte KEYSH , mus_me_rg_photo_key+0 + .byte TEMPO , 192*mus_me_rg_photo_tbs/2 + .byte VOICE , 1 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v+0 + .byte VOL , 81*mus_me_rg_photo_mvl/mxv + .byte BEND , c_v+2 + .byte N03 , Ds4 , v068 + .byte W03 + .byte Dn4 , v032 + .byte W03 + .byte Fn4 , v068 + .byte W03 + .byte Ds4 , v032 + .byte W03 + .byte Gn4 , v068 + .byte W03 + .byte Fn4 , v032 + .byte W03 + .byte As4 , v068 + .byte W03 + .byte Gn4 , v032 + .byte W03 + .byte Ds5 , v068 + .byte W03 + .byte As4 , v032 + .byte W03 + .byte Fn5 , v068 + .byte W03 + .byte Dn5 , v032 + .byte W03 + .byte Gn5 , v068 + .byte W03 + .byte Ds5 , v032 + .byte W03 + .byte As5 , v068 + .byte W03 + .byte Gn5 , v032 + .byte W03 + .byte Ds6 , v068 + .byte W03 + .byte As5 , v056 + .byte W03 + .byte Ds6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte Ds6 , v028 + .byte W03 + .byte As5 , v024 + .byte W03 + .byte Ds6 , v016 + .byte W03 + .byte As5 , v008 + .byte W03 + .byte VOL , 0*mus_me_rg_photo_mvl/mxv + .byte W24 + .byte 0*mus_me_rg_photo_mvl/mxv + .byte FINE + +@********************** Track 2 **********************@ + +mus_me_rg_photo_2: + .byte KEYSH , mus_me_rg_photo_key+0 + .byte VOICE , 5 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v-32 + .byte VOL , 67*mus_me_rg_photo_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , Gn4 , v068 + .byte W03 + .byte Dn4 , v032 + .byte W03 + .byte Gn4 , v068 + .byte W03 + .byte Ds4 , v032 + .byte W03 + .byte Gn4 , v068 + .byte W03 + .byte Fn4 , v032 + .byte W03 + .byte As4 , v068 + .byte W03 + .byte Gn4 , v032 + .byte W03 + .byte Ds5 , v068 + .byte W03 + .byte As4 , v032 + .byte W03 + .byte Fn5 , v068 + .byte W03 + .byte Dn5 , v032 + .byte W03 + .byte Gn5 , v068 + .byte W03 + .byte Ds5 , v032 + .byte W03 + .byte As5 , v068 + .byte W03 + .byte Gn5 , v032 + .byte W03 + .byte Ds6 , v068 + .byte W03 + .byte As5 , v056 + .byte W03 + .byte Ds6 , v048 + .byte W03 + .byte As5 , v040 + .byte W03 + .byte Ds6 , v028 + .byte W03 + .byte As5 , v024 + .byte W03 + .byte Ds6 , v016 + .byte W03 + .byte As5 , v008 + .byte W03 + .byte VOL , 1*mus_me_rg_photo_mvl/mxv + .byte W24 + .byte FINE + +@********************** Track 3 **********************@ + +mus_me_rg_photo_3: + .byte KEYSH , mus_me_rg_photo_key+0 + .byte VOICE , 4 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v+32 + .byte VOL , 59*mus_me_rg_photo_mvl/mxv + .byte N03 , Ds3 , v068 + .byte W03 + .byte Dn3 , v032 + .byte W03 + .byte Fn3 , v068 + .byte W03 + .byte Ds3 , v032 + .byte W03 + .byte Gn3 , v068 + .byte W03 + .byte Fn3 , v032 + .byte W03 + .byte As3 , v068 + .byte W03 + .byte Gn3 , v032 + .byte W03 + .byte Ds4 , v068 + .byte W03 + .byte As3 , v032 + .byte W03 + .byte Fn4 , v068 + .byte W03 + .byte Dn4 , v032 + .byte W03 + .byte Gn4 , v068 + .byte W03 + .byte Ds4 , v032 + .byte W03 + .byte As4 , v068 + .byte W03 + .byte Gn4 , v032 + .byte W03 + .byte Ds5 , v068 + .byte W03 + .byte As4 , v056 + .byte W03 + .byte Ds5 , v048 + .byte W03 + .byte As4 , v040 + .byte W03 + .byte Ds5 , v028 + .byte W03 + .byte As4 , v024 + .byte W03 + .byte Ds5 , v016 + .byte W03 + .byte As4 , v008 + .byte W03 + .byte VOL , 1*mus_me_rg_photo_mvl/mxv + .byte W24 + .byte 0*mus_me_rg_photo_mvl/mxv + .byte FINE + +@********************** Track 4 **********************@ + +mus_me_rg_photo_4: + .byte KEYSH , mus_me_rg_photo_key+0 + .byte VOICE , 127 + .byte PAN , c_v+0 + .byte VOL , 63*mus_me_rg_photo_mvl/mxv + .byte BEND , c_v+0 + .byte N01 , Cn5 , v112 + .byte W02 + .byte An5 + .byte W14 + .byte N03 , Gs5 , v120 + .byte W08 + .byte W24 + .byte W24 + .byte W24 + .byte FINE + +@********************** Track 5 **********************@ + +mus_me_rg_photo_5: + .byte KEYSH , mus_me_rg_photo_key+0 + .byte VOICE , 126 + .byte PAN , c_v+0 + .byte VOL , 100*mus_me_rg_photo_mvl/mxv + .byte N02 , Cs3 , v127 + .byte W10 + .byte N01 , Bn3 , v116 + .byte W06 + .byte N02 , En4 , v127 + .byte W08 + .byte W24 + .byte W24 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +mus_me_rg_photo: + .byte 5 @ NumTrks + .byte 0 @ NumBlks + .byte mus_me_rg_photo_pri @ Priority + .byte mus_me_rg_photo_rev @ Reverb. + + .word mus_me_rg_photo_grp + + .word mus_me_rg_photo_1 + .word mus_me_rg_photo_2 + .word mus_me_rg_photo_3 + .word mus_me_rg_photo_4 + .word mus_me_rg_photo_5 + + .end diff --git a/sound/songs/mus_me_shinka.s b/sound/songs/mus_me_shinka.s new file mode 100644 index 0000000000..67a9a10ef8 --- /dev/null +++ b/sound/songs/mus_me_shinka.s @@ -0,0 +1,94 @@ + .include "MPlayDef.s" + + .equ mus_me_shinka_grp, voicegroup_867B3A4 + .equ mus_me_shinka_pri, 0 + .equ mus_me_shinka_rev, reverb_set+50 + .equ mus_me_shinka_mvl, 127 + .equ mus_me_shinka_key, 0 + .equ mus_me_shinka_tbs, 1 + .equ mus_me_shinka_exg, 0 + .equ mus_me_shinka_cmp, 1 + + .section .rodata + .global mus_me_shinka + .align 2 + +@********************** Track 1 **********************@ + +mus_me_shinka_1: + .byte KEYSH , mus_me_shinka_key+0 + .byte TEMPO , 120*mus_me_shinka_tbs/2 + .byte VOICE , 47 + .byte VOL , 80*mus_me_shinka_mvl/mxv + .byte PAN , c_v-8 + .byte N24 , Dn2 , v127 + .byte W48 + .byte FINE + +@********************** Track 2 **********************@ + +mus_me_shinka_2: + .byte KEYSH , mus_me_shinka_key+0 + .byte VOICE , 80 + .byte VOL , 80*mus_me_shinka_mvl/mxv + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v+0 + .byte N06 , Gn4 , v080 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Dn4 + .byte W30 + .byte FINE + +@********************** Track 3 **********************@ + +mus_me_shinka_3: + .byte KEYSH , mus_me_shinka_key+0 + .byte VOICE , 82 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte VOL , 80*mus_me_shinka_mvl/mxv + .byte BEND , c_v+2 + .byte W06 + .byte N06 , Gn4 , v032 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Dn4 + .byte W24 + .byte FINE + +@********************** Track 4 **********************@ + +mus_me_shinka_4: + .byte KEYSH , mus_me_shinka_key+0 + .byte VOICE , 0 + .byte VOL , 80*mus_me_shinka_mvl/mxv + .byte PAN , c_v+23 + .byte N48 , Bn2 , v100 + .byte W48 + .byte FINE + +@******************************************************@ + .align 2 + +mus_me_shinka: + .byte 4 @ NumTrks + .byte 0 @ NumBlks + .byte mus_me_shinka_pri @ Priority + .byte mus_me_shinka_rev @ Reverb. + + .word mus_me_shinka_grp + + .word mus_me_shinka_1 + .word mus_me_shinka_2 + .word mus_me_shinka_3 + .word mus_me_shinka_4 + + .end diff --git a/sound/songs/mus_me_symbolget.s b/sound/songs/mus_me_symbolget.s new file mode 100644 index 0000000000..cc548a8d7a --- /dev/null +++ b/sound/songs/mus_me_symbolget.s @@ -0,0 +1,741 @@ + .include "MPlayDef.s" + + .equ mus_me_symbolget_grp, voicegroup_869557C + .equ mus_me_symbolget_pri, 5 + .equ mus_me_symbolget_rev, reverb_set+50 + .equ mus_me_symbolget_mvl, 127 + .equ mus_me_symbolget_key, 0 + .equ mus_me_symbolget_tbs, 1 + .equ mus_me_symbolget_exg, 0 + .equ mus_me_symbolget_cmp, 1 + + .section .rodata + .global mus_me_symbolget + .align 2 + +@********************** Track 1 **********************@ + +mus_me_symbolget_1: + .byte KEYSH , mus_me_symbolget_key+0 + .byte TEMPO , 122*mus_me_symbolget_tbs/2 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 100*mus_me_symbolget_mvl/mxv + .byte PAN , c_v-7 + .byte W12 + .byte N04 , Cn4 , v096 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Cn5 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte Fn4 + .byte W08 + .byte Cn5 + .byte W08 + .byte En5 + .byte W08 + .byte Cn5 + .byte W08 + .byte En5 + .byte W08 + .byte MOD , 4 + .byte N32 , Fn5 + .byte W12 + .byte VOL , 88*mus_me_symbolget_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 75*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 62*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 100*mus_me_symbolget_mvl/mxv + .byte N02 , Fn4 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte TEMPO , 116*mus_me_symbolget_tbs/2 + .byte MOD , 4 + .byte N48 + .byte W12 + .byte VOL , 88*mus_me_symbolget_mvl/mxv + .byte W12 + .byte TEMPO , 108*mus_me_symbolget_tbs/2 + .byte MOD , 0 + .byte VOL , 75*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 62*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 50*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 37*mus_me_symbolget_mvl/mxv + .byte W06 + .byte TEMPO , 90*mus_me_symbolget_tbs/2 + .byte 88*mus_me_symbolget_mvl/mxv + .byte N06 + .byte W24 + .byte FINE + +@********************** Track 2 **********************@ + +mus_me_symbolget_2: + .byte KEYSH , mus_me_symbolget_key+0 + .byte VOICE , 14 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 50*mus_me_symbolget_mvl/mxv + .byte W12 + .byte W12 + .byte PAN , c_v-32 + .byte N08 , Cn5 , v100 + .byte W08 + .byte PAN , c_v+32 + .byte N08 , Cn4 + .byte W08 + .byte PAN , c_v-32 + .byte N08 , Fn4 + .byte W08 + .byte PAN , c_v+32 + .byte N08 , Gn4 + .byte W08 + .byte PAN , c_v-32 + .byte N08 , Fn4 + .byte W08 + .byte PAN , c_v+32 + .byte N08 , Gn4 + .byte W08 + .byte PAN , c_v-32 + .byte N08 , Cn5 + .byte W08 + .byte PAN , c_v+32 + .byte N08 , Fn4 + .byte W08 + .byte PAN , c_v-32 + .byte N08 , Gn4 + .byte W08 + .byte PAN , c_v+32 + .byte N08 , Cn5 + .byte W08 + .byte PAN , c_v-32 + .byte N08 , Gn5 + .byte W08 + .byte PAN , c_v+32 + .byte N08 , En5 + .byte W08 + .byte MOD , 4 + .byte PAN , c_v-32 + .byte N08 , Cn5 + .byte W08 + .byte PAN , c_v+32 + .byte N08 , Fn4 + .byte W08 + .byte PAN , c_v-32 + .byte N08 , Gn4 + .byte W08 + .byte MOD , 0 + .byte PAN , c_v+32 + .byte N08 , Cn5 + .byte W08 + .byte PAN , c_v-32 + .byte N08 , As4 + .byte W08 + .byte PAN , c_v+32 + .byte N08 , Gn4 + .byte W08 + .byte MOD , 3 + .byte PAN , c_v-32 + .byte N08 , Fn4 + .byte W08 + .byte PAN , c_v+32 + .byte N08 , An3 + .byte W08 + .byte PAN , c_v-32 + .byte N08 , Cn4 + .byte W08 + .byte MOD , 0 + .byte PAN , c_v+32 + .byte N08 , Fn4 , v092 + .byte W08 + .byte PAN , c_v-32 + .byte N08 , Gn4 , v088 + .byte W08 + .byte PAN , c_v+32 + .byte N08 , Fn4 + .byte W08 + .byte PAN , c_v-16 + .byte N08 , An4 , v100 + .byte W24 + .byte FINE + +@********************** Track 3 **********************@ + +mus_me_symbolget_3: + .byte KEYSH , mus_me_symbolget_key+0 + .byte VOICE , 87 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 79*mus_me_symbolget_mvl/mxv + .byte PAN , c_v+0 + .byte W12 + .byte N02 , Gn1 , v100 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N48 , Cn2 + .byte W12 + .byte VOL , 68*mus_me_symbolget_mvl/mxv + .byte MOD , 8 + .byte W12 + .byte VOL , 58*mus_me_symbolget_mvl/mxv + .byte W12 + .byte 47*mus_me_symbolget_mvl/mxv + .byte W12 + .byte 79*mus_me_symbolget_mvl/mxv + .byte MOD , 1 + .byte N24 , As1 + .byte W12 + .byte VOL , 66*mus_me_symbolget_mvl/mxv + .byte MOD , 8 + .byte W12 + .byte VOL , 79*mus_me_symbolget_mvl/mxv + .byte MOD , 1 + .byte N24 , Gn1 + .byte W12 + .byte VOL , 66*mus_me_symbolget_mvl/mxv + .byte MOD , 8 + .byte W12 + .byte VOL , 79*mus_me_symbolget_mvl/mxv + .byte MOD , 1 + .byte N36 , Fn1 + .byte W12 + .byte VOL , 66*mus_me_symbolget_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 55*mus_me_symbolget_mvl/mxv + .byte W12 + .byte 79*mus_me_symbolget_mvl/mxv + .byte MOD , 1 + .byte N02 , An1 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N48 , Fn1 + .byte W12 + .byte VOL , 62*mus_me_symbolget_mvl/mxv + .byte MOD , 8 + .byte W12 + .byte VOL , 50*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 37*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 25*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 12*mus_me_symbolget_mvl/mxv + .byte W06 + .byte MOD , 1 + .byte N06 + .byte W24 + .byte FINE + +@********************** Track 4 **********************@ + +mus_me_symbolget_4: + .byte KEYSH , mus_me_symbolget_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 75*mus_me_symbolget_mvl/mxv + .byte PAN , c_v+16 + .byte W12 + .byte N04 , Fn3 , v064 + .byte W04 + .byte Gn3 + .byte W04 + .byte Cn4 + .byte W04 + .byte N12 , Fn4 + .byte W12 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte Cn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Gn4 + .byte W08 + .byte En4 + .byte W08 + .byte Gn4 + .byte W08 + .byte MOD , 4 + .byte N32 , Cn5 + .byte W12 + .byte VOL , 62*mus_me_symbolget_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 50*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 37*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 74*mus_me_symbolget_mvl/mxv + .byte N02 , Cn4 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte MOD , 4 + .byte N48 + .byte W12 + .byte VOL , 62*mus_me_symbolget_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 50*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 37*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 25*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 12*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 75*mus_me_symbolget_mvl/mxv + .byte N06 + .byte W24 + .byte FINE + +@********************** Track 5 **********************@ + +mus_me_symbolget_5: + .byte KEYSH , mus_me_symbolget_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 88*mus_me_symbolget_mvl/mxv + .byte PAN , c_v+0 + .byte W12 + .byte N02 , Cn2 , v100 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte W96 + .byte N32 , Fn2 + .byte W36 + .byte N02 , An2 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 , Fn2 + .byte W36 + .byte N02 , An1 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N10 , Fn1 + .byte W04 + .byte VOL , 75*mus_me_symbolget_mvl/mxv + .byte W04 + .byte 62*mus_me_symbolget_mvl/mxv + .byte W04 + .byte 38*mus_me_symbolget_mvl/mxv + .byte W04 + .byte 25*mus_me_symbolget_mvl/mxv + .byte W04 + .byte 12*mus_me_symbolget_mvl/mxv + .byte W04 + .byte 0*mus_me_symbolget_mvl/mxv + .byte FINE + +@********************** Track 6 **********************@ + +mus_me_symbolget_6: + .byte KEYSH , mus_me_symbolget_key+0 + .byte VOICE , 83 + .byte LFOS , 51 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 50*mus_me_symbolget_mvl/mxv + .byte PAN , c_v-62 + .byte W12 + .byte W12 + .byte N04 , Gn3 , v088 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N24 , As3 + .byte W12 + .byte MOD , 6 + .byte VOL , 25*mus_me_symbolget_mvl/mxv + .byte W12 + .byte MOD , 1 + .byte VOL , 50*mus_me_symbolget_mvl/mxv + .byte N24 , Gn3 , v084 + .byte W12 + .byte MOD , 6 + .byte VOL , 25*mus_me_symbolget_mvl/mxv + .byte W12 + .byte MOD , 1 + .byte VOL , 50*mus_me_symbolget_mvl/mxv + .byte N32 , An2 , v088 + .byte W12 + .byte VOL , 37*mus_me_symbolget_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 25*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 12*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 50*mus_me_symbolget_mvl/mxv + .byte MOD , 1 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N48 , An2 , v100 + .byte W12 + .byte VOL , 37*mus_me_symbolget_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 25*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 12*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 8*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 2*mus_me_symbolget_mvl/mxv + .byte W12 + .byte 37*mus_me_symbolget_mvl/mxv + .byte MOD , 1 + .byte N06 , Fn3 + .byte W24 + .byte FINE + +@********************** Track 7 **********************@ + +mus_me_symbolget_7: + .byte KEYSH , mus_me_symbolget_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 37*mus_me_symbolget_mvl/mxv + .byte BEND , c_v+0 + .byte W12 + .byte N04 , Cn4 , v100 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Cn4 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N24 , Dn4 + .byte W08 + .byte VOL , 31*mus_me_symbolget_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte VOL , 28*mus_me_symbolget_mvl/mxv + .byte W04 + .byte 24*mus_me_symbolget_mvl/mxv + .byte W04 + .byte 17*mus_me_symbolget_mvl/mxv + .byte W04 + .byte MOD , 1 + .byte VOL , 37*mus_me_symbolget_mvl/mxv + .byte N24 , Cn4 , v096 + .byte W08 + .byte VOL , 33*mus_me_symbolget_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte VOL , 29*mus_me_symbolget_mvl/mxv + .byte W04 + .byte 23*mus_me_symbolget_mvl/mxv + .byte W04 + .byte 15*mus_me_symbolget_mvl/mxv + .byte W04 + .byte MOD , 1 + .byte VOL , 37*mus_me_symbolget_mvl/mxv + .byte N32 , Fn3 , v100 + .byte W12 + .byte VOL , 25*mus_me_symbolget_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 18*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 12*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 7*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 37*mus_me_symbolget_mvl/mxv + .byte MOD , 1 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N48 + .byte W12 + .byte VOL , 25*mus_me_symbolget_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 18*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 12*mus_me_symbolget_mvl/mxv + .byte W06 + .byte 7*mus_me_symbolget_mvl/mxv + .byte W09 + .byte 4*mus_me_symbolget_mvl/mxv + .byte W09 + .byte 37*mus_me_symbolget_mvl/mxv + .byte MOD , 1 + .byte N06 , Cn4 + .byte W24 + .byte FINE + +@********************** Track 8 **********************@ + +mus_me_symbolget_8: + .byte KEYSH , mus_me_symbolget_key+0 + .byte VOICE , 1 + .byte PAN , c_v+0 + .byte VOL , 96*mus_me_symbolget_mvl/mxv + .byte W12 + .byte W12 + .byte N48 , An2 , v100 + .byte W48 + .byte N24 , En2 + .byte W24 + .byte Cs2 + .byte W24 + .byte W96 + .byte N06 , Gn2 + .byte W24 + .byte FINE + +@********************** Track 9 **********************@ + +mus_me_symbolget_9: + .byte KEYSH , mus_me_symbolget_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 50*mus_me_symbolget_mvl/mxv + .byte W12 + .byte N01 , Cn5 , v064 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v064 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte Cn5 , v080 + .byte W08 + .byte N01 + .byte W08 + .byte N02 + .byte W04 + .byte N01 , Cn5 , v048 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte Cn5 , v064 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N02 , Cn5 , v080 + .byte W04 + .byte N01 , Cn5 , v048 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W02 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N04 , Gn5 , v064 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +mus_me_symbolget: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_me_symbolget_pri @ Priority + .byte mus_me_symbolget_rev @ Reverb. + + .word mus_me_symbolget_grp + + .word mus_me_symbolget_1 + .word mus_me_symbolget_2 + .word mus_me_symbolget_3 + .word mus_me_symbolget_4 + .word mus_me_symbolget_5 + .word mus_me_symbolget_6 + .word mus_me_symbolget_7 + .word mus_me_symbolget_8 + .word mus_me_symbolget_9 + + .end diff --git a/sound/songs/mus_me_tama.s b/sound/songs/mus_me_tama.s new file mode 100644 index 0000000000..0fded0c87a --- /dev/null +++ b/sound/songs/mus_me_tama.s @@ -0,0 +1,683 @@ + .include "MPlayDef.s" + + .equ mus_me_tama_grp, voicegroup_8677B28 + .equ mus_me_tama_pri, 5 + .equ mus_me_tama_rev, reverb_set+50 + .equ mus_me_tama_mvl, 127 + .equ mus_me_tama_key, 0 + .equ mus_me_tama_tbs, 1 + .equ mus_me_tama_exg, 0 + .equ mus_me_tama_cmp, 1 + + .section .rodata + .global mus_me_tama + .align 2 + +@********************** Track 1 **********************@ + +mus_me_tama_1: + .byte KEYSH , mus_me_tama_key+0 + .byte W12 + .byte TEMPO , 140*mus_me_tama_tbs/2 + .byte VOICE , 48 + .byte PAN , c_v-10 + .byte VOL , 90*mus_me_tama_mvl/mxv + .byte N04 , Cn3 , v076 + .byte W08 + .byte En3 + .byte W08 + .byte Gn3 , v084 + .byte W08 + .byte Bn3 , v076 + .byte W08 + .byte Dn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte TIE , Gs4 , v080 + .byte W96 + .byte W24 + .byte VOL , 77*mus_me_tama_mvl/mxv + .byte W08 + .byte 70*mus_me_tama_mvl/mxv + .byte W04 + .byte 60*mus_me_tama_mvl/mxv + .byte W04 + .byte 46*mus_me_tama_mvl/mxv + .byte W04 + .byte EOT + .byte W04 + .byte VOL , 90*mus_me_tama_mvl/mxv + .byte N04 , An3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gs4 + .byte W04 + .byte An4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Cn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte En5 + .byte W04 + .byte N48 , Fn5 + .byte W48 + .byte N16 , Cs5 + .byte W16 + .byte Ds5 + .byte W16 + .byte Fn5 + .byte W16 + .byte N48 , Gs5 + .byte W48 + .byte N16 , Fn5 + .byte W16 + .byte Ds5 + .byte W16 + .byte Cs5 + .byte W16 + .byte N96 , Cn5 , v088 + .byte W96 + .byte N84 , Cn4 + .byte W44 + .byte VOL , 86*mus_me_tama_mvl/mxv + .byte W08 + .byte 80*mus_me_tama_mvl/mxv + .byte W08 + .byte 74*mus_me_tama_mvl/mxv + .byte W08 + .byte 65*mus_me_tama_mvl/mxv + .byte W08 + .byte 50*mus_me_tama_mvl/mxv + .byte W04 + .byte 32*mus_me_tama_mvl/mxv + .byte W16 + .byte FINE + +@********************** Track 2 **********************@ + +mus_me_tama_2: + .byte KEYSH , mus_me_tama_key+0 + .byte W12 + .byte VOICE , 48 + .byte VOL , 90*mus_me_tama_mvl/mxv + .byte PAN , c_v-10 + .byte W04 + .byte N04 , Dn3 , v076 + .byte W08 + .byte Fs3 + .byte W08 + .byte An3 , v088 + .byte W08 + .byte Cn4 , v076 + .byte W08 + .byte En4 + .byte W08 + .byte Gn4 + .byte W04 + .byte VOICE , 60 + .byte PAN , c_v+10 + .byte N96 , Cn4 , v088 + .byte W96 + .byte N08 , En4 + .byte W08 + .byte Cn4 + .byte W08 + .byte An3 + .byte W08 + .byte En4 + .byte W08 + .byte Cn4 + .byte W08 + .byte An3 + .byte W08 + .byte N24 , En3 + .byte W24 + .byte Cn3 + .byte W24 + .byte N96 , Fn4 + .byte W96 + .byte N08 , Gs4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte N16 + .byte W16 + .byte Cn4 + .byte W16 + .byte As3 + .byte W16 + .byte En3 , v076 + .byte W16 + .byte Gn3 , v080 + .byte W16 + .byte As3 + .byte W16 + .byte Cn4 , v084 + .byte W16 + .byte En4 , v088 + .byte W16 + .byte Gn4 , v092 + .byte W16 + .byte N84 , As4 , v100 + .byte W44 + .byte VOL , 86*mus_me_tama_mvl/mxv + .byte W08 + .byte 80*mus_me_tama_mvl/mxv + .byte W08 + .byte 74*mus_me_tama_mvl/mxv + .byte W08 + .byte 65*mus_me_tama_mvl/mxv + .byte W08 + .byte 50*mus_me_tama_mvl/mxv + .byte W04 + .byte 32*mus_me_tama_mvl/mxv + .byte W16 + .byte FINE + +@********************** Track 3 **********************@ + +mus_me_tama_3: + .byte KEYSH , mus_me_tama_key+0 + .byte W12 + .byte W48 + .byte VOICE , 85 + .byte VOL , 90*mus_me_tama_mvl/mxv + .byte PAN , c_v+0 + .byte N04 , An5 , v040 + .byte W08 + .byte PAN , c_v-48 + .byte N04 + .byte W08 + .byte PAN , c_v+48 + .byte N04 + .byte W08 + .byte PAN , c_v+0 + .byte N04 , As5 + .byte W08 + .byte PAN , c_v-48 + .byte N04 , An5 + .byte W08 + .byte PAN , c_v+48 + .byte N04 + .byte W08 + .byte PAN , c_v+0 + .byte N04 + .byte W08 + .byte PAN , c_v-48 + .byte N04 + .byte W08 + .byte PAN , c_v+48 + .byte N04 + .byte W08 + .byte PAN , c_v+0 + .byte N04 , As5 + .byte W08 + .byte PAN , c_v-48 + .byte N04 , An5 + .byte W08 + .byte PAN , c_v+48 + .byte N04 + .byte W08 + .byte PAN , c_v+0 + .byte N04 + .byte W08 + .byte PAN , c_v-48 + .byte N04 + .byte W08 + .byte PAN , c_v+48 + .byte N04 + .byte W08 + .byte PAN , c_v+0 + .byte N04 , As5 + .byte W08 + .byte PAN , c_v-48 + .byte N04 , An5 + .byte W08 + .byte PAN , c_v+48 + .byte N04 + .byte W08 + .byte PAN , c_v+0 + .byte N04 + .byte W08 + .byte PAN , c_v-48 + .byte N04 + .byte W08 + .byte PAN , c_v+48 + .byte N04 + .byte W08 + .byte PAN , c_v+0 + .byte N04 , As5 + .byte W08 + .byte PAN , c_v-48 + .byte N04 , An5 + .byte W08 + .byte PAN , c_v+48 + .byte N04 + .byte W08 +mus_me_tama_3_000: + .byte PAN , c_v+0 + .byte N04 , As5 , v040 + .byte W08 + .byte PAN , c_v-48 + .byte N04 + .byte W08 + .byte PAN , c_v+48 + .byte N04 + .byte W08 + .byte PAN , c_v+0 + .byte N04 , Cn6 + .byte W08 + .byte PAN , c_v-48 + .byte N04 , As5 + .byte W08 + .byte PAN , c_v+48 + .byte N04 + .byte W08 + .byte PAN , c_v+0 + .byte N04 + .byte W08 + .byte PAN , c_v-48 + .byte N04 + .byte W08 + .byte PAN , c_v+48 + .byte N04 + .byte W08 + .byte PAN , c_v+0 + .byte N04 , Cn6 + .byte W08 + .byte PAN , c_v-48 + .byte N04 , As5 + .byte W08 + .byte PAN , c_v+48 + .byte N04 + .byte W08 + .byte PEND + .byte PATT + .word mus_me_tama_3_000 + .byte VOICE , 83 + .byte PAN , c_v-48 + .byte N16 , Gn3 , v060 + .byte W16 + .byte As3 + .byte W16 + .byte Cn4 + .byte W16 + .byte En4 + .byte W16 + .byte Gn4 + .byte W16 + .byte As4 + .byte W16 + .byte N84 , Cn5 + .byte W44 + .byte VOL , 86*mus_me_tama_mvl/mxv + .byte W08 + .byte 80*mus_me_tama_mvl/mxv + .byte W08 + .byte 74*mus_me_tama_mvl/mxv + .byte W08 + .byte 65*mus_me_tama_mvl/mxv + .byte W08 + .byte 50*mus_me_tama_mvl/mxv + .byte W04 + .byte 32*mus_me_tama_mvl/mxv + .byte W16 + .byte FINE + +@********************** Track 4 **********************@ + +mus_me_tama_4: + .byte KEYSH , mus_me_tama_key+0 + .byte XCMD , xIECV , 10 + .byte xIECL , 13 + .byte W12 + .byte W48 + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte VOL , 90*mus_me_tama_mvl/mxv + .byte N96 , En3 , v052 + .byte W96 + .byte N08 , Cn4 + .byte W08 + .byte An3 + .byte W08 + .byte En3 + .byte W08 + .byte Cn4 + .byte W08 + .byte An3 + .byte W08 + .byte En3 + .byte W08 + .byte N24 , Cn3 + .byte W24 + .byte An2 + .byte W24 + .byte N96 , Cs4 + .byte W96 + .byte N08 , Fn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte As3 + .byte W08 + .byte Fn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte As3 + .byte W08 + .byte N16 + .byte W16 + .byte Gs3 + .byte W16 + .byte Fs3 + .byte W16 + .byte PAN , c_v+48 + .byte N16 , Cn3 , v060 + .byte W16 + .byte En3 + .byte W16 + .byte Gn3 + .byte W16 + .byte As3 + .byte W16 + .byte Cn4 + .byte W16 + .byte En4 + .byte W16 + .byte N84 , Gn4 + .byte W44 + .byte VOL , 86*mus_me_tama_mvl/mxv + .byte W08 + .byte 80*mus_me_tama_mvl/mxv + .byte W08 + .byte 74*mus_me_tama_mvl/mxv + .byte W08 + .byte 65*mus_me_tama_mvl/mxv + .byte W08 + .byte 50*mus_me_tama_mvl/mxv + .byte W04 + .byte 32*mus_me_tama_mvl/mxv + .byte W16 + .byte FINE + +@********************** Track 5 **********************@ + +mus_me_tama_5: + .byte KEYSH , mus_me_tama_key+0 + .byte XCMD , xIECV , 10 + .byte xIECL , 13 + .byte W12 + .byte W48 + .byte VOICE , 47 + .byte PAN , c_v+0 + .byte VOL , 90*mus_me_tama_mvl/mxv + .byte N04 , An1 , v112 + .byte W04 + .byte N04 + .byte W04 + .byte PAN , c_v+31 + .byte N16 + .byte W16 + .byte PAN , c_v-33 + .byte N12 + .byte W32 + .byte PAN , c_v+31 + .byte N04 , En2 + .byte W08 + .byte PAN , c_v-32 + .byte N04 + .byte W08 + .byte PAN , c_v+0 + .byte N24 , An1 + .byte W24 + .byte BEND , c_v-5 + .byte N08 , En2 + .byte W08 + .byte N16 , An1 + .byte W16 + .byte N08 , En2 + .byte W08 + .byte N16 , An1 + .byte W16 + .byte PAN , c_v+32 + .byte N08 , En2 + .byte W08 + .byte PAN , c_v-33 + .byte N08 , An1 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , En2 + .byte W04 + .byte N04 + .byte W04 + .byte PAN , c_v-33 + .byte N08 , An1 + .byte W08 + .byte PAN , c_v-1 + .byte N04 , En2 + .byte W04 + .byte En2 , v092 + .byte W04 + .byte En2 , v100 + .byte W04 + .byte En2 , v112 + .byte W04 + .byte As1 + .byte W04 + .byte N04 + .byte W04 + .byte PAN , c_v+31 + .byte N16 + .byte W16 + .byte PAN , c_v-33 + .byte N12 + .byte W32 + .byte PAN , c_v+31 + .byte N04 , Fn2 + .byte W08 + .byte PAN , c_v-32 + .byte N04 + .byte W08 + .byte PAN , c_v+0 + .byte N24 , As1 + .byte W24 + .byte N08 , Fn2 + .byte W08 + .byte PAN , c_v+31 + .byte N16 , As1 + .byte W16 + .byte PAN , c_v-33 + .byte N08 , Fn2 + .byte W08 + .byte N16 , As1 + .byte W16 + .byte N08 , Fn2 + .byte W08 + .byte PAN , c_v+31 + .byte N08 , As1 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Fn2 + .byte W04 + .byte N04 + .byte W04 + .byte PAN , c_v+0 + .byte N08 , As1 + .byte W08 + .byte N04 , Fn2 + .byte W04 + .byte Fn2 , v092 + .byte W04 + .byte Fn2 , v100 + .byte W04 + .byte Fn2 , v112 + .byte W04 + .byte Cn2 + .byte W04 + .byte N04 + .byte W04 + .byte N16 + .byte W16 + .byte N12 , En2 + .byte W16 + .byte PAN , c_v+32 + .byte N04 , As1 + .byte W08 + .byte PAN , c_v-33 + .byte N04 + .byte W08 + .byte PAN , c_v+0 + .byte N04 , Cn2 + .byte W04 + .byte Cn2 , v084 + .byte W04 + .byte Cn2 , v088 + .byte W04 + .byte Cn2 , v092 + .byte W04 + .byte N04 + .byte W04 + .byte Cn2 , v096 + .byte W04 + .byte Cn2 , v100 + .byte W04 + .byte N04 + .byte W04 + .byte Cn2 , v104 + .byte W04 + .byte Cn2 , v108 + .byte W04 + .byte N48 , Cn2 , v112 + .byte W96 + .byte FINE + +@********************** Track 6 **********************@ + +mus_me_tama_6: + .byte KEYSH , mus_me_tama_key+0 + .byte W12 + .byte W48 + .byte VOICE , 88 + .byte VOL , 90*mus_me_tama_mvl/mxv + .byte N68 , An1 , v072 + .byte W72 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N96 + .byte W96 + .byte N68 , As1 + .byte W72 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N96 + .byte W96 + .byte Cn2 + .byte W96 + .byte N48 , Cn1 , v080 + .byte W96 + .byte FINE + +@********************** Track 7 **********************@ + +mus_me_tama_7: + .byte KEYSH , mus_me_tama_key+0 + .byte W12 + .byte W48 + .byte VOICE , 0 + .byte VOL , 90*mus_me_tama_mvl/mxv + .byte N88 , An2 , v092 + .byte W88 + .byte N08 + .byte W08 + .byte N72 + .byte W72 + .byte N24 + .byte W24 + .byte N88 + .byte W88 + .byte N08 + .byte W08 + .byte N48 + .byte W48 + .byte N32 + .byte W32 + .byte N16 + .byte W16 + .byte N56 + .byte W56 + .byte VOL , 28*mus_me_tama_mvl/mxv + .byte N40 , Cn3 , v064 + .byte W04 + .byte VOL , 36*mus_me_tama_mvl/mxv + .byte W04 + .byte 43*mus_me_tama_mvl/mxv + .byte W04 + .byte 47*mus_me_tama_mvl/mxv + .byte W04 + .byte 53*mus_me_tama_mvl/mxv + .byte W04 + .byte 57*mus_me_tama_mvl/mxv + .byte W04 + .byte 63*mus_me_tama_mvl/mxv + .byte W04 + .byte 75*mus_me_tama_mvl/mxv + .byte W04 + .byte 84*mus_me_tama_mvl/mxv + .byte W04 + .byte 90*mus_me_tama_mvl/mxv + .byte W04 + .byte N72 , An2 , v092 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +mus_me_tama: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_me_tama_pri @ Priority + .byte mus_me_tama_rev @ Reverb. + + .word mus_me_tama_grp + + .word mus_me_tama_1 + .word mus_me_tama_2 + .word mus_me_tama_3 + .word mus_me_tama_4 + .word mus_me_tama_5 + .word mus_me_tama_6 + .word mus_me_tama_7 + + .end diff --git a/sound/songs/mus_me_tore_eye.s b/sound/songs/mus_me_tore_eye.s new file mode 100644 index 0000000000..74a3a30dc9 --- /dev/null +++ b/sound/songs/mus_me_tore_eye.s @@ -0,0 +1,215 @@ + .include "MPlayDef.s" + + .equ mus_me_tore_eye_grp, voicegroup_869608C + .equ mus_me_tore_eye_pri, 5 + .equ mus_me_tore_eye_rev, reverb_set+50 + .equ mus_me_tore_eye_mvl, 127 + .equ mus_me_tore_eye_key, 0 + .equ mus_me_tore_eye_tbs, 1 + .equ mus_me_tore_eye_exg, 0 + .equ mus_me_tore_eye_cmp, 1 + + .section .rodata + .global mus_me_tore_eye + .align 2 + +@********************** Track 1 **********************@ + +mus_me_tore_eye_1: + .byte KEYSH , mus_me_tore_eye_key+0 + .byte TEMPO , 96*mus_me_tore_eye_tbs/2 + .byte VOICE , 13 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 90*mus_me_tore_eye_mvl/mxv + .byte PAN , c_v-16 + .byte W12 + .byte N02 , Fs5 , v100 + .byte W02 + .byte Gn5 + .byte W02 + .byte Gs5 + .byte W02 + .byte N04 , An5 + .byte W06 + .byte W02 + .byte N01 , Dn6 + .byte W04 + .byte N04 , An5 + .byte W04 + .byte N02 , Dn6 + .byte W04 + .byte En6 + .byte W04 + .byte N04 , Fs6 + .byte W04 + .byte Fs6 , v052 + .byte W02 + .byte W02 + .byte Fs6 , v016 + .byte W22 + .byte FINE + +@********************** Track 2 **********************@ + +mus_me_tore_eye_2: + .byte KEYSH , mus_me_tore_eye_key+0 + .byte VOICE , 82 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 45*mus_me_tore_eye_mvl/mxv + .byte W12 + .byte N02 , An3 , v100 + .byte W02 + .byte Fs3 + .byte W02 + .byte En3 + .byte W02 + .byte Dn3 + .byte W06 + .byte W02 + .byte N01 , An2 + .byte W04 + .byte N02 , Fs2 + .byte W04 + .byte Dn2 + .byte W02 + .byte MOD , 8 + .byte W02 + .byte N02 + .byte W04 + .byte Dn2 , v096 + .byte W04 + .byte Dn2 , v032 + .byte W02 + .byte W24 + .byte MOD , 1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_me_tore_eye_3: + .byte KEYSH , mus_me_tore_eye_key+0 + .byte VOICE , 81 + .byte LFOS , 51 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 34*mus_me_tore_eye_mvl/mxv + .byte MOD , 4 + .byte PAN , c_v-62 + .byte W12 + .byte N02 , Cs4 , v100 + .byte W02 + .byte Dn4 + .byte W02 + .byte Ds4 + .byte W02 + .byte N04 , Gn4 + .byte W06 + .byte W02 + .byte N01 , An4 + .byte W04 + .byte N04 , Fs4 + .byte W04 + .byte N02 , Dn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte N04 , An4 , v096 + .byte W04 + .byte An4 , v052 + .byte W02 + .byte W02 + .byte An4 , v016 + .byte W22 + .byte FINE + +@********************** Track 4 **********************@ + +mus_me_tore_eye_4: + .byte KEYSH , mus_me_tore_eye_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 34*mus_me_tore_eye_mvl/mxv + .byte MOD , 2 + .byte PAN , c_v+63 + .byte BEND , c_v+0 + .byte W12 + .byte N02 , Fs4 , v100 + .byte W02 + .byte Gn4 + .byte W02 + .byte Gs4 + .byte W02 + .byte N04 , An4 + .byte W06 + .byte W02 + .byte N01 , Dn5 + .byte W04 + .byte N04 , An4 + .byte W04 + .byte N02 , Dn5 + .byte W04 + .byte En5 + .byte W04 + .byte N04 , Fs5 + .byte W04 + .byte Fs5 , v052 + .byte W02 + .byte W02 + .byte Fs5 , v016 + .byte W22 + .byte FINE + +@********************** Track 5 **********************@ + +mus_me_tore_eye_5: + .byte KEYSH , mus_me_tore_eye_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 86*mus_me_tore_eye_mvl/mxv + .byte W12 + .byte W06 + .byte N04 , En3 , v100 + .byte W06 + .byte W02 + .byte N02 , Dn3 + .byte W04 + .byte N04 , Bn4 , v048 + .byte W04 + .byte Gs2 , v060 + .byte W04 + .byte Gs2 , v040 + .byte W04 + .byte Fs2 , v068 + .byte W04 + .byte N02 , Fs2 , v044 + .byte W02 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +mus_me_tore_eye: + .byte 5 @ NumTrks + .byte 0 @ NumBlks + .byte mus_me_tore_eye_pri @ Priority + .byte mus_me_tore_eye_rev @ Reverb. + + .word mus_me_tore_eye_grp + + .word mus_me_tore_eye_1 + .word mus_me_tore_eye_2 + .word mus_me_tore_eye_3 + .word mus_me_tore_eye_4 + .word mus_me_tore_eye_5 + + .end diff --git a/sound/songs/mus_me_wasure.s b/sound/songs/mus_me_wasure.s new file mode 100644 index 0000000000..460034875f --- /dev/null +++ b/sound/songs/mus_me_wasure.s @@ -0,0 +1,200 @@ + .include "MPlayDef.s" + + .equ mus_me_wasure_grp, voicegroup_8677B28 + .equ mus_me_wasure_pri, 5 + .equ mus_me_wasure_rev, reverb_set+50 + .equ mus_me_wasure_mvl, 127 + .equ mus_me_wasure_key, 0 + .equ mus_me_wasure_tbs, 1 + .equ mus_me_wasure_exg, 0 + .equ mus_me_wasure_cmp, 1 + + .section .rodata + .global mus_me_wasure + .align 2 + +@********************** Track 1 **********************@ + +mus_me_wasure_1: + .byte KEYSH , mus_me_wasure_key+0 + .byte TEMPO , 150*mus_me_wasure_tbs/2 + .byte W12 + .byte VOICE , 13 + .byte VOL , 90*mus_me_wasure_mvl/mxv + .byte N06 , En3 , v068 + .byte W06 + .byte Bn3 + .byte W06 + .byte En4 + .byte W06 + .byte Bn4 + .byte W06 + .byte N12 , Ds5 , v088 + .byte W09 + .byte Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte N06 , En5 + .byte W12 + .byte N12 + .byte W24 + .byte W03 + .byte W24 + .byte FINE + +@********************** Track 2 **********************@ + +mus_me_wasure_2: + .byte KEYSH , mus_me_wasure_key+0 + .byte W12 + .byte VOICE , 13 + .byte VOL , 90*mus_me_wasure_mvl/mxv + .byte W03 + .byte N06 , Gs3 , v068 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Cs5 + .byte W03 + .byte W03 + .byte N12 , En5 , v088 + .byte W09 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte En4 + .byte W12 + .byte N06 , En5 + .byte W12 + .byte N12 + .byte W24 + .byte W24 + .byte FINE + +@********************** Track 3 **********************@ + +mus_me_wasure_3: + .byte KEYSH , mus_me_wasure_key+0 + .byte W12 + .byte BEND , c_v+1 + .byte W24 + .byte VOICE , 13 + .byte VOL , 90*mus_me_wasure_mvl/mxv + .byte PAN , c_v-48 + .byte W12 + .byte N12 , En5 , v012 + .byte W09 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte En4 + .byte W12 + .byte N06 , En5 + .byte W12 + .byte N12 + .byte W15 + .byte W24 + .byte FINE + +@********************** Track 4 **********************@ + +mus_me_wasure_4: + .byte KEYSH , mus_me_wasure_key+0 + .byte W12 + .byte BEND , c_v-2 + .byte W24 + .byte VOICE , 13 + .byte VOL , 90*mus_me_wasure_mvl/mxv + .byte PAN , c_v+48 + .byte W24 + .byte N12 , En5 , v012 + .byte W09 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte En4 + .byte W12 + .byte N06 , En5 + .byte W12 + .byte N12 + .byte W03 + .byte W24 + .byte FINE + +@********************** Track 5 **********************@ + +mus_me_wasure_5: + .byte KEYSH , mus_me_wasure_key+0 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte W12 + .byte VOICE , 84 + .byte VOL , 90*mus_me_wasure_mvl/mxv + .byte W21 + .byte N12 , En2 , v072 + .byte W03 + .byte W56 + .byte W01 + .byte En3 + .byte W12 + .byte En4 + .byte W24 + .byte W03 + .byte W24 + .byte FINE + +@********************** Track 6 **********************@ + +mus_me_wasure_6: + .byte KEYSH , mus_me_wasure_key+0 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte W12 + .byte VOICE , 85 + .byte VOL , 90*mus_me_wasure_mvl/mxv + .byte BEND , c_v+8 + .byte W24 + .byte N12 , En2 , v052 + .byte W60 + .byte En3 + .byte W12 + .byte En4 + .byte W24 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +mus_me_wasure: + .byte 6 @ NumTrks + .byte 0 @ NumBlks + .byte mus_me_wasure_pri @ Priority + .byte mus_me_wasure_rev @ Reverb. + + .word mus_me_wasure_grp + + .word mus_me_wasure_1 + .word mus_me_wasure_2 + .word mus_me_wasure_3 + .word mus_me_wasure_4 + .word mus_me_wasure_5 + .word mus_me_wasure_6 + + .end diff --git a/sound/songs/mus_me_waza.s b/sound/songs/mus_me_waza.s new file mode 100644 index 0000000000..700bf7826b --- /dev/null +++ b/sound/songs/mus_me_waza.s @@ -0,0 +1,327 @@ + .include "MPlayDef.s" + + .equ mus_me_waza_grp, voicegroup_8677B28 + .equ mus_me_waza_pri, 5 + .equ mus_me_waza_rev, reverb_set+50 + .equ mus_me_waza_mvl, 127 + .equ mus_me_waza_key, 0 + .equ mus_me_waza_tbs, 1 + .equ mus_me_waza_exg, 0 + .equ mus_me_waza_cmp, 1 + + .section .rodata + .global mus_me_waza + .align 2 + +@********************** Track 1 **********************@ + +mus_me_waza_1: + .byte KEYSH , mus_me_waza_key+0 + .byte W12 + .byte TEMPO , 140*mus_me_waza_tbs/2 + .byte VOICE , 73 + .byte PAN , c_v-47 + .byte VOL , 90*mus_me_waza_mvl/mxv + .byte N06 , Dn4 , v096 + .byte W12 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N30 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte W06 + .byte N06 , Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte N48 , Fs4 + .byte W18 + .byte MOD , 6 + .byte W06 + .byte W24 + .byte W24 + .byte FINE + +@********************** Track 2 **********************@ + +mus_me_waza_2: + .byte KEYSH , mus_me_waza_key+0 + .byte W12 + .byte VOICE , 73 + .byte PAN , c_v+0 + .byte VOL , 90*mus_me_waza_mvl/mxv + .byte N06 , Gn4 , v116 + .byte W12 + .byte Dn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N30 , Bn4 + .byte W12 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte W06 + .byte N06 , An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N48 , Dn5 + .byte W18 + .byte MOD , 6 + .byte W06 + .byte W24 + .byte W24 + .byte FINE + +@********************** Track 3 **********************@ + +mus_me_waza_3: + .byte KEYSH , mus_me_waza_key+0 + .byte W12 + .byte VOICE , 58 + .byte VOL , 90*mus_me_waza_mvl/mxv + .byte N12 , Gn1 , v120 + .byte W24 + .byte N12 + .byte W24 + .byte Fn1 + .byte W24 + .byte N12 + .byte W24 + .byte N48 , Dn1 + .byte W24 + .byte W24 + .byte W24 + .byte FINE + +@********************** Track 4 **********************@ + +mus_me_waza_4: + .byte KEYSH , mus_me_waza_key+0 + .byte W12 + .byte VOICE , 82 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v+0 + .byte VOL , 90*mus_me_waza_mvl/mxv + .byte N12 , Dn3 , v056 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , Gn2 , v068 + .byte W06 + .byte Bn2 + .byte W06 + .byte N12 , Fn3 , v056 + .byte W24 + .byte N24 + .byte W03 + .byte VOL , 79*mus_me_waza_mvl/mxv + .byte W03 + .byte 76*mus_me_waza_mvl/mxv + .byte W02 + .byte 79*mus_me_waza_mvl/mxv + .byte W04 + .byte 80*mus_me_waza_mvl/mxv + .byte W02 + .byte 83*mus_me_waza_mvl/mxv + .byte W03 + .byte 86*mus_me_waza_mvl/mxv + .byte W03 + .byte 90*mus_me_waza_mvl/mxv + .byte W04 + .byte N06 , An2 , v048 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte N08 , Dn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte An4 + .byte W08 + .byte N06 , Dn5 + .byte W24 + .byte FINE + +@********************** Track 5 **********************@ + +mus_me_waza_5: + .byte KEYSH , mus_me_waza_key+0 + .byte W12 + .byte VOICE , 83 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v+48 + .byte VOL , 90*mus_me_waza_mvl/mxv + .byte N12 , Bn2 , v048 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , Dn2 , v056 + .byte W06 + .byte Gn2 + .byte W06 + .byte N12 , Cn3 , v048 + .byte W24 + .byte N24 + .byte W03 + .byte VOL , 79*mus_me_waza_mvl/mxv + .byte W03 + .byte 76*mus_me_waza_mvl/mxv + .byte W02 + .byte 79*mus_me_waza_mvl/mxv + .byte W04 + .byte 80*mus_me_waza_mvl/mxv + .byte W02 + .byte 83*mus_me_waza_mvl/mxv + .byte W03 + .byte 86*mus_me_waza_mvl/mxv + .byte W03 + .byte 90*mus_me_waza_mvl/mxv + .byte W04 + .byte BEND , c_v-2 + .byte W02 + .byte N06 , An2 , v024 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W04 + .byte W02 + .byte N08 , Dn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte An4 + .byte W06 + .byte W02 + .byte N06 , Dn5 + .byte W22 + .byte FINE + +@********************** Track 6 **********************@ + +mus_me_waza_6: + .byte KEYSH , mus_me_waza_key+0 + .byte W12 + .byte VOICE , 87 + .byte VOL , 90*mus_me_waza_mvl/mxv + .byte PAN , c_v+48 + .byte N12 , Gn2 , v048 + .byte W24 + .byte N12 + .byte W24 + .byte Fn2 + .byte W24 + .byte N12 + .byte W24 + .byte N36 , Dn2 + .byte W24 + .byte W12 + .byte N12 , Dn2 , v024 + .byte W12 + .byte W24 + .byte FINE + +@********************** Track 7 **********************@ + +mus_me_waza_7: + .byte KEYSH , mus_me_waza_key+0 + .byte W12 + .byte VOICE , 0 + .byte VOL , 90*mus_me_waza_mvl/mxv + .byte N04 , En1 , v100 + .byte W12 + .byte N04 + .byte W04 + .byte En1 , v068 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v100 + .byte W12 + .byte N04 + .byte W04 + .byte En1 , v072 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v100 + .byte W12 + .byte N04 + .byte W04 + .byte En1 , v072 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v100 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W04 + .byte En1 , v040 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v044 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v072 + .byte W04 + .byte En1 , v048 + .byte W04 + .byte En1 , v056 + .byte W04 + .byte En1 , v060 + .byte W04 + .byte En1 , v064 + .byte W04 + .byte N05 , En1 , v068 + .byte W04 + .byte W02 + .byte En1 , v104 + .byte W22 + .byte FINE + +@******************************************************@ + .align 2 + +mus_me_waza: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_me_waza_pri @ Priority + .byte mus_me_waza_rev @ Reverb. + + .word mus_me_waza_grp + + .word mus_me_waza_1 + .word mus_me_waza_2 + .word mus_me_waza_3 + .word mus_me_waza_4 + .word mus_me_waza_5 + .word mus_me_waza_6 + .word mus_me_waza_7 + + .end diff --git a/sound/songs/mus_me_zannen.s b/sound/songs/mus_me_zannen.s new file mode 100644 index 0000000000..270f89d792 --- /dev/null +++ b/sound/songs/mus_me_zannen.s @@ -0,0 +1,221 @@ + .include "MPlayDef.s" + + .equ mus_me_zannen_grp, voicegroup_8677B28 + .equ mus_me_zannen_pri, 5 + .equ mus_me_zannen_rev, reverb_set+50 + .equ mus_me_zannen_mvl, 127 + .equ mus_me_zannen_key, 0 + .equ mus_me_zannen_tbs, 1 + .equ mus_me_zannen_exg, 0 + .equ mus_me_zannen_cmp, 1 + + .section .rodata + .global mus_me_zannen + .align 2 + +@********************** Track 1 **********************@ + +mus_me_zannen_1: + .byte KEYSH , mus_me_zannen_key+0 + .byte TEMPO , 180*mus_me_zannen_tbs/2 + .byte VOL , 90*mus_me_zannen_mvl/mxv + .byte W09 + .byte VOICE , 73 + .byte PAN , c_v+1 + .byte N06 , Dn3 , v088 + .byte W06 + .byte Dn4 + .byte W09 + .byte N03 , As4 + .byte W03 + .byte N09 , Bn4 + .byte W09 + .byte Bn3 + .byte W12 + .byte N03 , Gs4 + .byte W03 + .byte N09 , An4 + .byte W09 + .byte An3 + .byte W12 + .byte N03 , Fn4 + .byte W03 + .byte N09 , Fs4 + .byte W09 + .byte Fs3 + .byte W12 + .byte N03 , Cs4 + .byte W03 + .byte N60 , Dn4 + .byte W09 + .byte MOD , 32 + .byte W21 + .byte VOL , 85*mus_me_zannen_mvl/mxv + .byte W06 + .byte 79*mus_me_zannen_mvl/mxv + .byte W06 + .byte 73*mus_me_zannen_mvl/mxv + .byte W03 + .byte W03 + .byte 62*mus_me_zannen_mvl/mxv + .byte W03 + .byte 45*mus_me_zannen_mvl/mxv + .byte W03 + .byte 31*mus_me_zannen_mvl/mxv + .byte W03 + .byte 14*mus_me_zannen_mvl/mxv + .byte W12 + .byte FINE + +@********************** Track 2 **********************@ + +mus_me_zannen_2: + .byte KEYSH , mus_me_zannen_key+0 + .byte VOL , 90*mus_me_zannen_mvl/mxv + .byte W09 + .byte VOICE , 73 + .byte PAN , c_v+20 + .byte W03 + .byte N06 , An3 , v088 + .byte W06 + .byte An4 + .byte W06 + .byte W03 + .byte N09 + .byte W09 + .byte An3 + .byte W12 + .byte W03 + .byte Gn4 + .byte W09 + .byte Gn3 + .byte W15 + .byte En4 + .byte W09 + .byte En3 + .byte W12 + .byte N60 , An3 + .byte W12 + .byte MOD , 32 + .byte W21 + .byte VOL , 85*mus_me_zannen_mvl/mxv + .byte W06 + .byte 79*mus_me_zannen_mvl/mxv + .byte W06 + .byte 73*mus_me_zannen_mvl/mxv + .byte W03 + .byte W03 + .byte 62*mus_me_zannen_mvl/mxv + .byte W03 + .byte 45*mus_me_zannen_mvl/mxv + .byte W03 + .byte 31*mus_me_zannen_mvl/mxv + .byte W03 + .byte 14*mus_me_zannen_mvl/mxv + .byte W12 + .byte FINE + +@********************** Track 3 **********************@ + +mus_me_zannen_3: + .byte KEYSH , mus_me_zannen_key+0 + .byte W24 + .byte VOICE , 2 + .byte VOL , 90*mus_me_zannen_mvl/mxv + .byte N09 , Dn2 , v112 + .byte W12 + .byte Bn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte N60 , Dn2 + .byte W32 + .byte W01 + .byte VOL , 85*mus_me_zannen_mvl/mxv + .byte W06 + .byte 79*mus_me_zannen_mvl/mxv + .byte W06 + .byte 73*mus_me_zannen_mvl/mxv + .byte W03 + .byte W03 + .byte 62*mus_me_zannen_mvl/mxv + .byte W03 + .byte 45*mus_me_zannen_mvl/mxv + .byte W03 + .byte 31*mus_me_zannen_mvl/mxv + .byte W03 + .byte 14*mus_me_zannen_mvl/mxv + .byte W12 + .byte FINE + +@********************** Track 4 **********************@ + +mus_me_zannen_4: + .byte KEYSH , mus_me_zannen_key+0 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte W24 + .byte VOICE , 90 + .byte VOL , 90*mus_me_zannen_mvl/mxv + .byte PAN , c_v-48 + .byte W03 + .byte N06 , Bn5 , v052 + .byte W21 + .byte W03 + .byte An5 + .byte W24 + .byte Fs5 + .byte W24 + .byte Dn5 + .byte W44 + .byte W01 + .byte W24 + .byte FINE + +@********************** Track 5 **********************@ + +mus_me_zannen_5: + .byte KEYSH , mus_me_zannen_key+0 + .byte W24 + .byte VOICE , 0 + .byte VOL , 90*mus_me_zannen_mvl/mxv + .byte W03 + .byte N03 , En3 , v064 + .byte W21 + .byte W03 + .byte Dn3 + .byte W24 + .byte En3 + .byte W21 + .byte N03 + .byte W03 + .byte Dn3 + .byte W44 + .byte W01 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +mus_me_zannen: + .byte 5 @ NumTrks + .byte 0 @ NumBlks + .byte mus_me_zannen_pri @ Priority + .byte mus_me_zannen_rev @ Reverb. + + .word mus_me_zannen_grp + + .word mus_me_zannen_1 + .word mus_me_zannen_2 + .word mus_me_zannen_3 + .word mus_me_zannen_4 + .word mus_me_zannen_5 + + .end diff --git a/sound/songs/mus_mgm0.s b/sound/songs/mus_mgm0.s new file mode 100644 index 0000000000..50893b8b3c --- /dev/null +++ b/sound/songs/mus_mgm0.s @@ -0,0 +1,2187 @@ + .include "MPlayDef.s" + + .equ mus_mgm0_grp, voicegroup_868F87C + .equ mus_mgm0_pri, 0 + .equ mus_mgm0_rev, reverb_set+50 + .equ mus_mgm0_mvl, 127 + .equ mus_mgm0_key, 0 + .equ mus_mgm0_tbs, 1 + .equ mus_mgm0_exg, 0 + .equ mus_mgm0_cmp, 1 + + .section .rodata + .global mus_mgm0 + .align 2 + +@********************** Track 1 **********************@ + +mus_mgm0_1: + .byte KEYSH , mus_mgm0_key+0 + .byte TEMPO , 148*mus_mgm0_tbs/2 + .byte VOICE , 127 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 52*mus_mgm0_mvl/mxv + .byte N03 , Fs5 , v112 + .byte W06 + .byte Fs5 , v060 + .byte W06 +mus_mgm0_1_B1: + .byte VOICE , 127 + .byte N03 , Fs5 , v112 + .byte W06 + .byte Fs5 , v052 + .byte W06 + .byte Fs5 , v092 + .byte W06 + .byte Fs5 , v052 + .byte W06 + .byte Fs5 , v108 + .byte W12 + .byte Fs5 , v096 + .byte W12 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v084 + .byte W06 + .byte VOICE , 126 + .byte N12 , An5 , v080 + .byte W12 + .byte VOICE , 127 + .byte N03 , Fs5 , v112 + .byte W12 + .byte VOICE , 126 + .byte N12 , An5 + .byte W12 + .byte VOICE , 127 + .byte N03 , Fs5 + .byte W12 + .byte Fs5 , v084 + .byte W06 + .byte Fs5 , v048 + .byte W06 + .byte VOICE , 126 + .byte N12 , An5 , v096 + .byte W12 + .byte VOICE , 127 + .byte N03 , Fs5 , v072 + .byte W06 + .byte Fs5 , v048 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v048 + .byte W06 + .byte Fs5 , v084 + .byte W06 + .byte Fs5 , v048 + .byte W06 + .byte VOICE , 126 + .byte N12 , An5 , v080 + .byte W12 + .byte VOICE , 127 + .byte N03 , Fs5 , v072 + .byte W06 + .byte Fs5 , v048 + .byte W06 + .byte Fs5 , v112 + .byte W12 + .byte Fs5 , v084 + .byte W06 + .byte Fs5 , v048 + .byte W06 + .byte VOICE , 126 + .byte N12 , An5 , v080 + .byte W12 + .byte VOICE , 127 + .byte N03 , Fs5 , v072 + .byte W06 + .byte Fs5 , v048 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v048 + .byte W06 + .byte Fs5 , v084 + .byte W06 + .byte Fs5 , v048 + .byte W06 + .byte VOICE , 126 + .byte N12 , An5 , v112 + .byte W12 + .byte VOICE , 127 + .byte N03 , Fs5 , v072 + .byte W06 + .byte Fs5 , v048 + .byte W06 + .byte Fs5 , v112 + .byte W12 + .byte Fs5 , v084 + .byte W06 + .byte Fs5 , v048 + .byte W06 + .byte VOICE , 126 + .byte N12 , An5 , v096 + .byte W12 + .byte VOICE , 127 + .byte N03 , Fs5 , v072 + .byte W06 + .byte Fs5 , v048 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v048 + .byte W06 + .byte Fs5 , v084 + .byte W06 + .byte Fs5 , v048 + .byte W06 + .byte VOICE , 126 + .byte N12 , An5 , v080 + .byte W12 + .byte VOICE , 127 + .byte N03 , Fs5 , v072 + .byte W06 + .byte Fs5 , v048 + .byte W06 + .byte Fs5 , v112 + .byte W12 + .byte Fs5 , v084 + .byte W06 + .byte Fs5 , v048 + .byte W06 + .byte VOICE , 126 + .byte N12 , An5 , v080 + .byte W12 + .byte VOICE , 127 + .byte N03 , Fs5 , v072 + .byte W06 + .byte Fs5 , v048 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v048 + .byte W06 + .byte Fs5 , v084 + .byte W06 + .byte Fs5 , v048 + .byte W06 + .byte VOICE , 126 + .byte N12 , An5 , v104 + .byte W12 + .byte VOICE , 127 + .byte N03 , Fs5 , v072 + .byte W06 + .byte Fs5 , v048 + .byte W06 + .byte Fs5 , v112 + .byte W12 + .byte Fs5 , v068 + .byte W06 + .byte Fs5 , v044 + .byte W06 + .byte Fs5 , v088 + .byte W12 + .byte Fs5 , v068 + .byte W06 + .byte Fs5 , v044 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte Fs5 , v088 + .byte W06 + .byte Fs5 , v064 + .byte W06 + .byte Fs5 , v088 + .byte W12 + .byte Fs5 , v084 + .byte W06 + .byte Fs5 , v044 + .byte W06 +mus_mgm0_1_000: + .byte N03 , Fs5 , v112 + .byte W12 + .byte Fs5 , v068 + .byte W06 + .byte Fs5 , v044 + .byte W06 + .byte Fs5 , v088 + .byte W12 + .byte Fs5 , v068 + .byte W06 + .byte Fs5 , v044 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte Fs5 , v088 + .byte W06 + .byte Fs5 , v064 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v088 + .byte W06 + .byte VOICE , 126 + .byte N12 , An5 , v084 + .byte W12 + .byte PEND + .byte VOICE , 127 + .byte N03 , Fs5 , v112 + .byte W12 + .byte Fs5 , v068 + .byte W06 + .byte Fs5 , v044 + .byte W06 + .byte Fs5 , v088 + .byte W12 + .byte Fs5 , v068 + .byte W06 + .byte Fs5 , v044 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte Fs5 , v088 + .byte W06 + .byte Fs5 , v064 + .byte W06 + .byte Fs5 , v088 + .byte W12 + .byte Fs5 , v084 + .byte W06 + .byte Fs5 , v044 + .byte W06 + .byte PATT + .word mus_mgm0_1_000 + .byte VOICE , 127 + .byte N03 , Fs5 , v112 + .byte W06 + .byte Fs5 , v080 + .byte W30 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v080 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v044 + .byte W06 + .byte Fs5 , v060 + .byte W06 + .byte Fs5 , v044 + .byte W06 + .byte Fs5 , v112 + .byte W12 + .byte VOICE , 126 + .byte N12 , An5 + .byte W12 + .byte VOICE , 127 + .byte N03 , Fs5 + .byte W06 + .byte Fs5 , v080 + .byte W30 + .byte VOICE , 126 + .byte N12 , An5 , v112 + .byte W12 + .byte VOICE , 127 + .byte N03 , Fs5 + .byte W06 + .byte Fs5 , v044 + .byte W06 + .byte Fs5 , v072 + .byte W06 + .byte Fs5 , v044 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v052 + .byte W06 + .byte VOICE , 126 + .byte N12 , An5 , v092 + .byte W12 + .byte VOICE , 127 + .byte N03 , Fs5 , v112 + .byte W06 + .byte Fs5 , v080 + .byte W06 + .byte VOICE , 126 + .byte N12 , An5 , v112 + .byte W12 + .byte VOICE , 127 + .byte N03 , Fs5 + .byte W06 + .byte Fs5 , v056 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v080 + .byte W06 + .byte Fs5 , v112 + .byte W06 + .byte Fs5 , v044 + .byte W06 + .byte Fs5 , v060 + .byte W06 + .byte Fs5 , v044 + .byte W06 + .byte Fs5 , v112 + .byte W12 + .byte VOICE , 126 + .byte N12 , An5 + .byte W12 + .byte VOICE , 127 + .byte N03 , Fs5 + .byte W06 + .byte Fs5 , v080 + .byte W06 + .byte VOICE , 126 + .byte N12 , An5 , v112 + .byte W12 + .byte VOICE , 127 + .byte N03 , Fs5 + .byte W08 + .byte N01 , Fs5 , v064 + .byte W08 + .byte Fs5 , v088 + .byte W16 + .byte Fs5 , v112 + .byte W08 + .byte N01 + .byte W08 + .byte N03 + .byte W06 + .byte Fs5 , v072 + .byte W06 + .byte VOICE , 126 + .byte N12 , An5 , v096 + .byte W12 + .byte GOTO + .word mus_mgm0_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_mgm0_2: + .byte KEYSH , mus_mgm0_key+0 + .byte VOICE , 60 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 54*mus_mgm0_mvl/mxv + .byte N06 , Dn5 , v112 + .byte W06 + .byte En5 + .byte W06 +mus_mgm0_2_B1: + .byte N06 , Fn5 , v112 + .byte W06 + .byte N03 , En5 + .byte W06 + .byte N06 , Ds5 + .byte W06 + .byte N03 , Dn5 + .byte W06 + .byte Cs5 + .byte W12 + .byte N12 , Cn5 + .byte W12 + .byte N03 , Bn4 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , An4 + .byte W12 + .byte N03 , Bn4 + .byte W12 + .byte N12 , Cs5 + .byte W12 + .byte N06 , Dn5 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N06 , An4 + .byte W06 + .byte N03 , Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte N03 , Bn4 + .byte W24 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Dn5 + .byte W84 + .byte N06 , Fn5 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte N06 , An4 + .byte W06 + .byte N03 , Gs4 + .byte W12 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte N03 , Dn5 + .byte W24 + .byte Gn4 + .byte W12 + .byte Dn5 + .byte W12 + .byte Gn5 + .byte W84 + .byte VOICE , 60 + .byte VOL , 48*mus_mgm0_mvl/mxv + .byte N48 , An3 + .byte W48 + .byte Bn3 + .byte W48 + .byte Cn4 + .byte W48 + .byte Bn3 + .byte W48 + .byte VOL , 52*mus_mgm0_mvl/mxv + .byte N48 , Dn4 + .byte W48 + .byte En4 + .byte W48 + .byte VOL , 56*mus_mgm0_mvl/mxv + .byte N48 , Fn4 + .byte W48 + .byte Gn4 + .byte W48 +mus_mgm0_2_000: + .byte N06 , An4 , v112 + .byte W06 + .byte N03 + .byte W30 + .byte N03 + .byte W06 + .byte N03 + .byte W54 + .byte PEND + .byte N03 + .byte W06 + .byte N03 + .byte W30 + .byte VOL , 46*mus_mgm0_mvl/mxv + .byte N24 , Gs4 + .byte W24 + .byte Gn4 + .byte W24 + .byte N12 , Fs4 + .byte W12 + .byte PATT + .word mus_mgm0_2_000 + .byte N03 , An4 , v112 + .byte W06 + .byte N03 + .byte W24 + .byte W02 + .byte N04 + .byte W08 + .byte As4 + .byte W16 + .byte N04 + .byte W08 + .byte Bn4 + .byte W08 + .byte N03 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte GOTO + .word mus_mgm0_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_mgm0_3: + .byte KEYSH , mus_mgm0_key+0 + .byte VOICE , 38 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 72*mus_mgm0_mvl/mxv + .byte W12 +mus_mgm0_3_B1: + .byte BEND , c_v+0 + .byte N06 , An1 , v127 + .byte W12 + .byte N03 , An1 , v112 + .byte W12 + .byte N06 , An1 , v127 + .byte W12 + .byte N03 , An1 , v112 + .byte W12 + .byte N06 , An0 , v127 + .byte W12 + .byte N03 , An0 , v112 + .byte W12 + .byte N06 , An0 , v127 + .byte W06 + .byte N03 , Cs1 , v112 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte BEND , c_v+0 + .byte N06 , Fn1 , v127 + .byte W06 + .byte N03 , Dn1 , v080 + .byte W06 + .byte Dn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Dn1 , v080 + .byte W12 + .byte N06 , An0 + .byte W12 + .byte BEND , c_v-5 + .byte N09 , Dn1 , v127 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N03 , Dn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Cs1 , v112 + .byte W06 + .byte Fn1 , v096 + .byte W12 + .byte N24 , Dn1 , v127 + .byte W06 + .byte BEND , c_v+8 + .byte W06 + .byte c_v+0 + .byte W36 + .byte N06 , En2 , v084 + .byte W06 + .byte N03 , Fn2 , v112 + .byte W06 + .byte N06 , Cs2 , v080 + .byte W06 + .byte N03 , Dn2 , v112 + .byte W06 + .byte N06 , Gs1 , v084 + .byte W06 + .byte N03 , An1 , v112 + .byte W06 + .byte N06 , Fn1 , v084 + .byte W06 + .byte N03 , Gn1 , v112 + .byte W06 + .byte N06 , Fn1 , v127 + .byte W06 + .byte N03 , Dn1 , v080 + .byte W06 + .byte Dn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Dn1 , v080 + .byte W12 + .byte N06 , An0 + .byte W12 + .byte Cs1 , v127 + .byte W06 + .byte N03 , Dn1 , v080 + .byte W06 + .byte Dn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Cs1 , v112 + .byte W06 + .byte Fn1 , v080 + .byte W12 + .byte N24 , Dn1 , v127 + .byte W06 + .byte BEND , c_v+8 + .byte W06 + .byte c_v+0 + .byte W36 + .byte N06 , Gn1 , v096 + .byte W06 + .byte Dn1 , v084 + .byte W06 + .byte N03 , Gn1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte Gs1 + .byte W12 + .byte VOL , 54*mus_mgm0_mvl/mxv + .byte BEND , c_v+0 + .byte N18 , Dn1 , v127 + .byte W18 + .byte N06 , An1 , v096 + .byte W06 + .byte N12 , Gs1 , v112 + .byte W06 + .byte BEND , c_v-6 + .byte W06 + .byte c_v+0 + .byte N09 , Gs1 , v108 + .byte W06 + .byte BEND , c_v+5 + .byte W06 + .byte c_v+0 + .byte N15 , Dn1 , v127 + .byte W18 + .byte N06 , An1 , v096 + .byte W06 + .byte N12 , Gs1 , v112 + .byte W06 + .byte BEND , c_v-6 + .byte W06 + .byte c_v+0 + .byte N09 , Gs1 , v108 + .byte W06 + .byte BEND , c_v+5 + .byte W06 + .byte VOL , 58*mus_mgm0_mvl/mxv + .byte BEND , c_v+0 + .byte N18 , Dn1 , v127 + .byte W18 + .byte N06 , An1 , v096 + .byte W06 + .byte N12 , Gs1 , v112 + .byte W06 + .byte BEND , c_v-6 + .byte W06 + .byte c_v+0 + .byte N09 , Gs1 , v108 + .byte W06 + .byte BEND , c_v+5 + .byte W06 + .byte c_v+0 + .byte N15 , Dn1 , v127 + .byte W18 + .byte N06 , An1 , v096 + .byte W06 + .byte N12 , Gs1 , v112 + .byte W06 + .byte BEND , c_v-6 + .byte W06 + .byte c_v+0 + .byte N09 , Gs1 , v108 + .byte W06 + .byte BEND , c_v+5 + .byte W06 + .byte VOL , 62*mus_mgm0_mvl/mxv + .byte BEND , c_v+0 + .byte N18 , Dn1 , v127 + .byte W18 + .byte N06 , An1 , v096 + .byte W06 + .byte N12 , Gs1 , v112 + .byte W06 + .byte BEND , c_v-6 + .byte W06 + .byte c_v+0 + .byte N09 , Gs1 , v108 + .byte W06 + .byte BEND , c_v+5 + .byte W06 + .byte c_v+0 + .byte N15 , Dn1 , v127 + .byte W18 + .byte N06 , An1 , v096 + .byte W06 + .byte N12 , Gs1 , v112 + .byte W06 + .byte BEND , c_v-6 + .byte W06 + .byte c_v+0 + .byte N09 , Gs1 , v108 + .byte W06 + .byte BEND , c_v+5 + .byte W06 + .byte VOL , 72*mus_mgm0_mvl/mxv + .byte BEND , c_v+0 + .byte N18 , Dn1 , v127 + .byte W18 + .byte N06 , An1 , v096 + .byte W06 + .byte N12 , Gs1 , v112 + .byte W06 + .byte BEND , c_v-6 + .byte W06 + .byte c_v+0 + .byte N09 , Gs1 , v108 + .byte W06 + .byte BEND , c_v+5 + .byte W06 + .byte c_v+0 + .byte N15 , Dn1 , v127 + .byte W18 + .byte N06 , An1 , v096 + .byte W06 + .byte N12 , Gs1 , v112 + .byte W06 + .byte BEND , c_v-6 + .byte W06 + .byte c_v+0 + .byte N09 , Gs1 , v108 + .byte W06 + .byte BEND , c_v+5 + .byte W06 + .byte c_v+0 + .byte N03 , Fs1 , v127 + .byte W06 + .byte Fs1 , v112 + .byte W30 + .byte Fs1 , v127 + .byte W06 + .byte Fs1 , v112 + .byte W54 +mus_mgm0_3_000: + .byte N03 , Fs1 , v127 + .byte W06 + .byte Fs1 , v112 + .byte W90 + .byte PEND + .byte Fs1 , v127 + .byte W06 + .byte Fs1 , v112 + .byte W30 + .byte Fs1 , v127 + .byte W06 + .byte Fs1 , v112 + .byte W54 + .byte PATT + .word mus_mgm0_3_000 + .byte GOTO + .word mus_mgm0_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_mgm0_4: + .byte KEYSH , mus_mgm0_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 63*mus_mgm0_mvl/mxv + .byte PAN , c_v-21 + .byte W12 +mus_mgm0_4_B1: + .byte N03 , Fn2 , v112 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W06 + .byte An2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn2 + .byte W12 + .byte An1 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An1 + .byte W12 + .byte Fn2 + .byte W12 + .byte An1 + .byte W12 + .byte Fn2 + .byte W24 + .byte Dn2 + .byte W36 + .byte Dn3 + .byte W12 + .byte Fn2 + .byte W12 + .byte N03 , Dn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Gn3 + .byte W24 + .byte N03 , Gn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N03 , Bn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn3 + .byte W12 + .byte Dn3 + .byte W24 + .byte An1 + .byte W36 + .byte Dn2 + .byte W12 + .byte An1 + .byte W12 + .byte N03 , Dn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Gn3 + .byte W24 + .byte N03 , Gn2 + .byte W06 + .byte N03 + .byte W06 + .byte Bn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn3 + .byte W12 + .byte N03 , Bn3 + .byte W12 + .byte Gn3 + .byte W06 + .byte N03 + .byte W06 + .byte VOL , 36*mus_mgm0_mvl/mxv + .byte N03 , Dn3 + .byte W18 + .byte N03 + .byte W18 + .byte N03 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W18 + .byte N03 + .byte W18 + .byte N03 + .byte W12 + .byte VOL , 42*mus_mgm0_mvl/mxv + .byte N03 + .byte W18 + .byte N03 + .byte W18 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W18 + .byte N03 + .byte W12 + .byte VOL , 51*mus_mgm0_mvl/mxv + .byte N03 + .byte W18 + .byte N03 + .byte W18 + .byte N03 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W18 + .byte N03 + .byte W18 + .byte N03 + .byte W12 + .byte VOL , 60*mus_mgm0_mvl/mxv + .byte N03 + .byte W18 + .byte N03 + .byte W18 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W18 + .byte N03 + .byte W12 + .byte VOL , 64*mus_mgm0_mvl/mxv + .byte W48 + .byte N06 , An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte An3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn2 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte W96 + .byte W48 + .byte N06 , An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte An3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn2 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte W96 + .byte GOTO + .word mus_mgm0_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_mgm0_5: + .byte KEYSH , mus_mgm0_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 57*mus_mgm0_mvl/mxv + .byte PAN , c_v+31 + .byte W12 +mus_mgm0_5_B1: + .byte W96 + .byte W96 + .byte W48 + .byte N12 , Bn2 , v112 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte N03 , Bn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn2 + .byte W12 + .byte Dn2 + .byte W96 + .byte W48 + .byte N03 , Bn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn2 + .byte W12 + .byte N03 , Bn2 + .byte W12 + .byte Gn2 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 47 + .byte VOL , 36*mus_mgm0_mvl/mxv + .byte N06 , Dn2 + .byte W18 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte Cn2 + .byte W06 + .byte N06 , Dn2 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte VOL , 44*mus_mgm0_mvl/mxv + .byte N06 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Fn2 + .byte W12 + .byte Dn2 + .byte W18 + .byte N06 + .byte W12 + .byte VOL , 51*mus_mgm0_mvl/mxv + .byte N06 + .byte W18 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte Cn2 + .byte W06 + .byte N06 , Dn2 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte VOL , 58*mus_mgm0_mvl/mxv + .byte N06 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Fn2 + .byte W12 + .byte Dn2 + .byte W18 + .byte N06 + .byte W12 +mus_mgm0_5_000: + .byte N06 , Fs2 , v112 + .byte W06 + .byte N03 + .byte W30 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An2 + .byte W06 + .byte Dn3 + .byte W06 + .byte An2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn1 + .byte W12 + .byte N12 , Dn3 + .byte W12 + .byte PEND +mus_mgm0_5_001: + .byte N03 , Fs2 , v112 + .byte W06 + .byte N03 + .byte W90 + .byte PEND + .byte PATT + .word mus_mgm0_5_000 + .byte PATT + .word mus_mgm0_5_001 + .byte GOTO + .word mus_mgm0_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_mgm0_6: + .byte KEYSH , mus_mgm0_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-58 + .byte VOL , 36*mus_mgm0_mvl/mxv + .byte N06 , Dn3 , v112 + .byte W06 + .byte An2 + .byte W06 +mus_mgm0_6_B1: + .byte BEND , c_v+0 + .byte N06 , An2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte An3 + .byte W12 + .byte N09 , Cn3 + .byte W12 + .byte N03 , Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N12 , Cn3 + .byte W12 + .byte N03 , Dn3 + .byte W12 + .byte N12 , En3 + .byte W12 +mus_mgm0_6_000: + .byte VOL , 6*mus_mgm0_mvl/mxv + .byte N96 , Fn4 , v112 + .byte W05 + .byte VOL , 8*mus_mgm0_mvl/mxv + .byte W07 + .byte 9*mus_mgm0_mvl/mxv + .byte W02 + .byte 10*mus_mgm0_mvl/mxv + .byte W06 + .byte 13*mus_mgm0_mvl/mxv + .byte W04 + .byte 13*mus_mgm0_mvl/mxv + .byte W02 + .byte 15*mus_mgm0_mvl/mxv + .byte W03 + .byte 17*mus_mgm0_mvl/mxv + .byte W03 + .byte 18*mus_mgm0_mvl/mxv + .byte W04 + .byte 19*mus_mgm0_mvl/mxv + .byte W02 + .byte 20*mus_mgm0_mvl/mxv + .byte W03 + .byte 22*mus_mgm0_mvl/mxv + .byte W03 + .byte 24*mus_mgm0_mvl/mxv + .byte W04 + .byte 24*mus_mgm0_mvl/mxv + .byte W02 + .byte 28*mus_mgm0_mvl/mxv + .byte W03 + .byte 32*mus_mgm0_mvl/mxv + .byte W07 + .byte 34*mus_mgm0_mvl/mxv + .byte W02 + .byte 37*mus_mgm0_mvl/mxv + .byte W03 + .byte 38*mus_mgm0_mvl/mxv + .byte W03 + .byte 40*mus_mgm0_mvl/mxv + .byte W04 + .byte 42*mus_mgm0_mvl/mxv + .byte W02 + .byte 44*mus_mgm0_mvl/mxv + .byte W03 + .byte 47*mus_mgm0_mvl/mxv + .byte W03 + .byte 49*mus_mgm0_mvl/mxv + .byte W04 + .byte 51*mus_mgm0_mvl/mxv + .byte W02 + .byte 53*mus_mgm0_mvl/mxv + .byte W03 + .byte 54*mus_mgm0_mvl/mxv + .byte W03 + .byte 56*mus_mgm0_mvl/mxv + .byte W04 + .byte PEND + .byte 36*mus_mgm0_mvl/mxv + .byte N03 , Gn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Dn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte N03 , Gn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte N06 , En4 + .byte W12 + .byte Dn4 + .byte W06 + .byte N03 , En4 + .byte W03 + .byte Dn4 + .byte W03 + .byte N06 , An3 + .byte W12 + .byte PATT + .word mus_mgm0_6_000 + .byte VOL , 36*mus_mgm0_mvl/mxv + .byte N03 , Gn4 , v112 + .byte W12 + .byte Dn4 + .byte W12 + .byte Gn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte An4 + .byte W06 + .byte N06 , Dn5 + .byte W06 + .byte N03 , En5 + .byte W03 + .byte Dn5 + .byte W03 + .byte N06 , Bn4 + .byte W12 + .byte Gn4 + .byte W06 + .byte N03 , An4 + .byte W03 + .byte Gn4 + .byte W03 + .byte N06 , Dn4 + .byte W12 + .byte BEND , c_v+2 + .byte N03 , Dn5 , v092 + .byte W12 + .byte Fn5 + .byte W18 + .byte N03 + .byte W06 + .byte An4 + .byte W12 + .byte Dn5 + .byte W12 + .byte Fn5 + .byte W18 + .byte N03 + .byte W06 + .byte An4 + .byte W12 +mus_mgm0_6_001: + .byte N03 , Dn5 , v092 + .byte W12 + .byte Fn5 + .byte W18 + .byte N03 + .byte W06 + .byte An4 + .byte W12 + .byte Fn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Dn5 + .byte W12 + .byte Fn5 + .byte W06 + .byte An4 + .byte W12 + .byte PEND + .byte Dn5 + .byte W12 + .byte Fn5 + .byte W18 + .byte N03 + .byte W06 + .byte An4 + .byte W12 + .byte Dn5 + .byte W12 + .byte Fn5 + .byte W18 + .byte N03 + .byte W06 + .byte An4 + .byte W12 + .byte PATT + .word mus_mgm0_6_001 +mus_mgm0_6_002: + .byte N06 , Fs2 , v112 + .byte W06 + .byte N03 + .byte W30 + .byte N03 + .byte W06 + .byte N03 + .byte W54 + .byte PEND + .byte N03 + .byte W06 + .byte N03 + .byte W30 + .byte N06 , Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Gs2 + .byte W42 + .byte PATT + .word mus_mgm0_6_002 + .byte N03 , Fs2 , v112 + .byte W06 + .byte N03 + .byte W24 + .byte W02 + .byte N04 , Fn3 + .byte W08 + .byte Fs3 + .byte W16 + .byte N04 + .byte W08 + .byte Gn3 + .byte W08 + .byte N03 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte GOTO + .word mus_mgm0_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_mgm0_7: + .byte KEYSH , mus_mgm0_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 36*mus_mgm0_mvl/mxv + .byte N06 , Dn4 , v112 + .byte W06 + .byte En4 + .byte W06 +mus_mgm0_7_B1: + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , En4 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte Cs4 + .byte W12 + .byte N12 , Cn4 + .byte W12 + .byte N03 , Bn3 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , An3 + .byte W12 + .byte N03 , Bn3 + .byte W12 + .byte N12 , Cs4 + .byte W12 + .byte VOL , 6*mus_mgm0_mvl/mxv + .byte N96 , An4 + .byte W05 + .byte VOL , 8*mus_mgm0_mvl/mxv + .byte W07 + .byte 9*mus_mgm0_mvl/mxv + .byte W02 + .byte 10*mus_mgm0_mvl/mxv + .byte W06 + .byte 13*mus_mgm0_mvl/mxv + .byte W04 + .byte 13*mus_mgm0_mvl/mxv + .byte W02 + .byte 15*mus_mgm0_mvl/mxv + .byte W03 + .byte 17*mus_mgm0_mvl/mxv + .byte W03 + .byte 18*mus_mgm0_mvl/mxv + .byte W04 + .byte 19*mus_mgm0_mvl/mxv + .byte W02 + .byte 20*mus_mgm0_mvl/mxv + .byte W03 + .byte 22*mus_mgm0_mvl/mxv + .byte W03 + .byte 24*mus_mgm0_mvl/mxv + .byte W04 + .byte 24*mus_mgm0_mvl/mxv + .byte W02 + .byte 28*mus_mgm0_mvl/mxv + .byte W03 + .byte 32*mus_mgm0_mvl/mxv + .byte W07 + .byte 34*mus_mgm0_mvl/mxv + .byte W02 + .byte 37*mus_mgm0_mvl/mxv + .byte W03 + .byte 38*mus_mgm0_mvl/mxv + .byte W03 + .byte 40*mus_mgm0_mvl/mxv + .byte W04 + .byte 42*mus_mgm0_mvl/mxv + .byte W02 + .byte 44*mus_mgm0_mvl/mxv + .byte W03 + .byte 47*mus_mgm0_mvl/mxv + .byte W03 + .byte 49*mus_mgm0_mvl/mxv + .byte W04 + .byte 51*mus_mgm0_mvl/mxv + .byte W02 + .byte 53*mus_mgm0_mvl/mxv + .byte W03 + .byte 54*mus_mgm0_mvl/mxv + .byte W03 + .byte 56*mus_mgm0_mvl/mxv + .byte W04 + .byte 35*mus_mgm0_mvl/mxv + .byte N03 , Bn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Gn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte An4 + .byte W06 + .byte N06 , Bn4 + .byte W06 + .byte N03 , Cn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte N06 , An4 + .byte W12 + .byte Gn4 + .byte W06 + .byte N03 , An4 + .byte W03 + .byte Gn4 + .byte W03 + .byte N06 , Dn4 + .byte W12 + .byte VOL , 6*mus_mgm0_mvl/mxv + .byte N96 , Cn5 + .byte W05 + .byte VOL , 8*mus_mgm0_mvl/mxv + .byte W07 + .byte 9*mus_mgm0_mvl/mxv + .byte W02 + .byte 10*mus_mgm0_mvl/mxv + .byte W06 + .byte 13*mus_mgm0_mvl/mxv + .byte W04 + .byte 13*mus_mgm0_mvl/mxv + .byte W02 + .byte 15*mus_mgm0_mvl/mxv + .byte W03 + .byte 17*mus_mgm0_mvl/mxv + .byte W03 + .byte 18*mus_mgm0_mvl/mxv + .byte W04 + .byte 19*mus_mgm0_mvl/mxv + .byte W02 + .byte 20*mus_mgm0_mvl/mxv + .byte W03 + .byte 22*mus_mgm0_mvl/mxv + .byte W03 + .byte 24*mus_mgm0_mvl/mxv + .byte W04 + .byte 24*mus_mgm0_mvl/mxv + .byte W02 + .byte 28*mus_mgm0_mvl/mxv + .byte W03 + .byte 32*mus_mgm0_mvl/mxv + .byte W07 + .byte 34*mus_mgm0_mvl/mxv + .byte W02 + .byte 37*mus_mgm0_mvl/mxv + .byte W03 + .byte 38*mus_mgm0_mvl/mxv + .byte W03 + .byte 40*mus_mgm0_mvl/mxv + .byte W04 + .byte 42*mus_mgm0_mvl/mxv + .byte W02 + .byte 44*mus_mgm0_mvl/mxv + .byte W03 + .byte 47*mus_mgm0_mvl/mxv + .byte W03 + .byte 49*mus_mgm0_mvl/mxv + .byte W04 + .byte 51*mus_mgm0_mvl/mxv + .byte W02 + .byte 53*mus_mgm0_mvl/mxv + .byte W03 + .byte 54*mus_mgm0_mvl/mxv + .byte W03 + .byte 56*mus_mgm0_mvl/mxv + .byte W04 + .byte 35*mus_mgm0_mvl/mxv + .byte N03 , Dn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte An4 + .byte W06 + .byte Dn5 + .byte W06 + .byte N06 , Fn5 + .byte W06 + .byte N03 , Gn5 + .byte W03 + .byte Fn5 + .byte W03 + .byte N06 , Dn5 + .byte W12 + .byte Bn4 + .byte W06 + .byte N03 , Cn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte N06 , Gn4 + .byte W12 +mus_mgm0_7_000: + .byte N03 , Dn5 , v092 + .byte W12 + .byte Fn5 + .byte W18 + .byte N03 + .byte W06 + .byte An4 + .byte W12 + .byte Dn5 + .byte W12 + .byte Fn5 + .byte W18 + .byte N03 + .byte W06 + .byte An4 + .byte W12 + .byte PEND +mus_mgm0_7_001: + .byte N03 , Dn5 , v092 + .byte W12 + .byte Fn5 + .byte W18 + .byte N03 + .byte W06 + .byte An4 + .byte W12 + .byte Fn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Dn5 + .byte W12 + .byte Fn5 + .byte W06 + .byte An4 + .byte W12 + .byte PEND + .byte PATT + .word mus_mgm0_7_000 + .byte PATT + .word mus_mgm0_7_001 +mus_mgm0_7_002: + .byte N06 , En4 , v112 + .byte W06 + .byte N03 + .byte W30 + .byte N03 + .byte W06 + .byte N03 + .byte W54 + .byte PEND + .byte N03 + .byte W06 + .byte N03 + .byte W30 + .byte N06 , Gs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Gn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Fs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte PATT + .word mus_mgm0_7_002 + .byte N03 , En4 , v112 + .byte W06 + .byte N03 + .byte W24 + .byte W02 + .byte N04 , An4 + .byte W08 + .byte As4 + .byte W16 + .byte N04 + .byte W08 + .byte Bn4 + .byte W08 + .byte N03 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte GOTO + .word mus_mgm0_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_mgm0_8: + .byte KEYSH , mus_mgm0_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 56*mus_mgm0_mvl/mxv + .byte W12 +mus_mgm0_8_B1: + .byte W96 + .byte W96 + .byte W24 + .byte N48 , An2 , v092 + .byte W72 + .byte W96 + .byte W24 + .byte N48 + .byte W72 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_mgm0_8_000: + .byte W24 + .byte N06 , Cn1 , v112 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte PEND + .byte W24 + .byte Cn1 , v084 + .byte W24 + .byte Cn1 , v112 + .byte W24 + .byte N06 + .byte W24 + .byte PATT + .word mus_mgm0_8_000 + .byte W24 + .byte N06 , Cn1 , v112 + .byte W24 + .byte Cn1 , v060 + .byte W24 + .byte Cn1 , v112 + .byte W24 + .byte GOTO + .word mus_mgm0_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_mgm0_9: + .byte KEYSH , mus_mgm0_key+0 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 34*mus_mgm0_mvl/mxv + .byte W12 +mus_mgm0_9_B1: + .byte W96 + .byte W96 + .byte VOICE , 83 + .byte VOL , 41*mus_mgm0_mvl/mxv + .byte BEND , c_v+0 + .byte W24 + .byte N03 , Gn2 , v112 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte N06 , Bn3 + .byte W06 + .byte N03 , Cn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte N06 , An3 + .byte W12 + .byte Gn3 + .byte W06 + .byte N03 , An3 + .byte W03 + .byte Gn3 + .byte W03 + .byte N06 , Dn3 + .byte W12 + .byte W96 + .byte W24 + .byte N03 + .byte W06 + .byte Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N03 , Gn4 + .byte W03 + .byte Fn4 + .byte W03 + .byte N06 , Dn4 + .byte W12 + .byte Bn3 + .byte W06 + .byte N03 , Cn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte N06 , Gn3 + .byte W12 + .byte VOICE , 29 + .byte VOL , 36*mus_mgm0_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Dn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte BEND , c_v+0 + .byte N24 , Fn3 + .byte W06 + .byte BEND , c_v-5 + .byte W06 + .byte c_v+0 + .byte W12 + .byte N18 , Dn3 + .byte W18 + .byte N06 , Cs3 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte BEND , c_v+0 + .byte N24 , Gn3 + .byte W06 + .byte BEND , c_v-5 + .byte W06 + .byte c_v+0 + .byte W12 + .byte N18 , Dn3 + .byte W18 + .byte N06 , Cs3 + .byte W12 + .byte VOL , 36*mus_mgm0_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Dn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte BEND , c_v+0 + .byte N24 , Fn3 + .byte W06 + .byte BEND , c_v-5 + .byte W06 + .byte c_v+0 + .byte W12 + .byte N18 , Dn3 + .byte W18 + .byte N06 , Cs3 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte VOL , 36*mus_mgm0_mvl/mxv + .byte N06 , As2 + .byte W06 + .byte N03 + .byte W30 + .byte N03 + .byte W06 + .byte N03 + .byte W54 + .byte N03 + .byte W06 + .byte N03 + .byte W30 + .byte N06 , Bn0 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N36 , Bn1 + .byte W12 + .byte BEND , c_v-2 + .byte W02 + .byte c_v-8 + .byte W03 + .byte c_v-11 + .byte W03 + .byte c_v-18 + .byte W04 + .byte c_v-22 + .byte W02 + .byte c_v-31 + .byte W03 + .byte c_v-35 + .byte W03 + .byte c_v-42 + .byte W04 + .byte c_v+0 + .byte N06 , As2 + .byte W06 + .byte N03 + .byte W30 + .byte N03 + .byte W06 + .byte N03 + .byte W54 + .byte W24 + .byte N72 , As1 + .byte W12 + .byte BEND , c_v+0 + .byte W05 + .byte c_v-3 + .byte W03 + .byte c_v-4 + .byte W04 + .byte c_v-7 + .byte W02 + .byte c_v-10 + .byte W03 + .byte c_v-14 + .byte W03 + .byte c_v-15 + .byte W04 + .byte c_v-16 + .byte W02 + .byte c_v-20 + .byte W03 + .byte c_v-23 + .byte W03 + .byte c_v-27 + .byte W04 + .byte c_v-28 + .byte W02 + .byte c_v-32 + .byte W03 + .byte c_v-36 + .byte W03 + .byte c_v-40 + .byte W04 + .byte c_v-43 + .byte W02 + .byte c_v-50 + .byte W03 + .byte c_v-52 + .byte W03 + .byte c_v-54 + .byte W04 + .byte GOTO + .word mus_mgm0_9_B1 + .byte BEND , c_v+0 + .byte FINE + +@********************** Track 10 **********************@ + +mus_mgm0_10: + .byte KEYSH , mus_mgm0_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-18 + .byte VOL , 46*mus_mgm0_mvl/mxv + .byte N06 , An4 , v112 + .byte W06 + .byte Bn4 + .byte W06 +mus_mgm0_10_B1: + .byte N03 , Cn5 , v112 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W12 + .byte N12 , An4 + .byte W12 + .byte N03 , Gn4 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte N03 , Gn4 + .byte W12 + .byte N12 , An4 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte N03 , En4 + .byte W24 + .byte An3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Gn4 + .byte W84 + .byte N06 , Dn5 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Cs4 + .byte W12 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte N03 , Gn4 + .byte W24 + .byte Dn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Dn5 + .byte W84 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_mgm0_10_000: + .byte N06 , As3 , v112 + .byte W06 + .byte N03 + .byte W30 + .byte N03 + .byte W06 + .byte N03 + .byte W54 + .byte PEND + .byte VOL , 45*mus_mgm0_mvl/mxv + .byte N03 + .byte W06 + .byte N03 + .byte W30 + .byte N24 , Cs4 + .byte W24 + .byte Cn4 + .byte W24 + .byte N12 , Bn3 + .byte W12 + .byte PATT + .word mus_mgm0_10_000 + .byte N03 , As3 , v112 + .byte W06 + .byte N03 + .byte W24 + .byte W02 + .byte N04 , Fn4 + .byte W08 + .byte Fs4 + .byte W16 + .byte N04 + .byte W08 + .byte Gn4 + .byte W08 + .byte N03 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte GOTO + .word mus_mgm0_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_mgm0: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_mgm0_pri @ Priority + .byte mus_mgm0_rev @ Reverb. + + .word mus_mgm0_grp + + .word mus_mgm0_1 + .word mus_mgm0_2 + .word mus_mgm0_3 + .word mus_mgm0_4 + .word mus_mgm0_5 + .word mus_mgm0_6 + .word mus_mgm0_7 + .word mus_mgm0_8 + .word mus_mgm0_9 + .word mus_mgm0_10 + + .end diff --git a/sound/songs/mus_minamo.s b/sound/songs/mus_minamo.s new file mode 100644 index 0000000000..501605750a --- /dev/null +++ b/sound/songs/mus_minamo.s @@ -0,0 +1,2959 @@ + .include "MPlayDef.s" + + .equ mus_minamo_grp, voicegroup_8683C48 + .equ mus_minamo_pri, 0 + .equ mus_minamo_rev, reverb_set+50 + .equ mus_minamo_mvl, 127 + .equ mus_minamo_key, 0 + .equ mus_minamo_tbs, 1 + .equ mus_minamo_exg, 0 + .equ mus_minamo_cmp, 1 + + .section .rodata + .global mus_minamo + .align 2 + +@********************** Track 1 **********************@ + +mus_minamo_1: + .byte KEYSH , mus_minamo_key+0 +mus_minamo_1_B1: + .byte TEMPO , 80*mus_minamo_tbs/2 + .byte VOICE , 45 + .byte LFOS , 44 + .byte PAN , c_v-44 + .byte VOL , 58*mus_minamo_mvl/mxv + .byte W24 + .byte TEMPO , 92*mus_minamo_tbs/2 + .byte W72 + .byte W48 + .byte TEMPO , 80*mus_minamo_tbs/2 + .byte W36 + .byte TEMPO , 92*mus_minamo_tbs/2 + .byte W12 + .byte W96 + .byte W48 + .byte N03 , En3 , v112 + .byte W03 + .byte En3 , v036 + .byte W03 + .byte Ds3 , v112 + .byte W03 + .byte Ds3 , v036 + .byte W03 + .byte En3 , v112 + .byte W03 + .byte En3 , v036 + .byte W03 + .byte Bn3 , v112 + .byte W03 + .byte Bn3 , v036 + .byte W03 + .byte En4 , v112 + .byte W03 + .byte N06 , En4 , v036 + .byte W21 + .byte W24 + .byte N03 , En3 , v112 + .byte W03 + .byte En3 , v036 + .byte W03 + .byte Ds3 , v112 + .byte W03 + .byte Ds3 , v036 + .byte W03 + .byte En3 , v112 + .byte W03 + .byte En3 , v036 + .byte W03 + .byte Bn3 , v112 + .byte W03 + .byte Bn3 , v036 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte N06 , Ds4 , v036 + .byte W21 + .byte VOICE , 73 + .byte W12 + .byte N06 , As4 , v112 + .byte W06 + .byte N03 , Fs4 + .byte W03 + .byte Fs4 , v036 + .byte W03 + .byte Fs4 , v112 + .byte W03 + .byte Fs4 , v036 + .byte W03 + .byte En4 , v112 + .byte W03 + .byte En4 , v036 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v036 + .byte W03 + .byte Cs4 , v112 + .byte W03 + .byte N06 , Cs4 , v036 + .byte W15 + .byte Gs3 , v112 + .byte W06 + .byte Cn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gs4 + .byte W06 + .byte N03 , En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N06 , Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N15 , Ds4 + .byte W15 + .byte N06 , Ds4 , v036 + .byte W09 + .byte Gs4 , v112 + .byte W06 + .byte Gn4 + .byte W06 + .byte N03 , An4 + .byte W03 + .byte N21 , Gs4 + .byte W09 + .byte MOD , 7 + .byte W12 + .byte N06 , Fs4 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N06 , En4 + .byte W06 + .byte En4 , v036 + .byte W24 + .byte Gn4 , v112 + .byte W06 + .byte Fs4 + .byte W06 + .byte N03 , Gs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte N06 , En4 + .byte W06 + .byte N03 , Ds4 + .byte W03 + .byte En4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N06 , Cs4 + .byte W03 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte N06 , As3 , v036 + .byte W24 + .byte N12 , Fs3 , v112 + .byte W12 + .byte Gs3 + .byte W12 + .byte N06 , As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N03 , En4 + .byte W03 + .byte N44 , Ds4 + .byte W21 + .byte VOL , 52*mus_minamo_mvl/mxv + .byte MOD , 7 + .byte W02 + .byte VOL , 48*mus_minamo_mvl/mxv + .byte W03 + .byte 42*mus_minamo_mvl/mxv + .byte W03 + .byte 40*mus_minamo_mvl/mxv + .byte W04 + .byte 36*mus_minamo_mvl/mxv + .byte W02 + .byte 34*mus_minamo_mvl/mxv + .byte W03 + .byte 31*mus_minamo_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte N06 , Ds4 , v036 + .byte W24 + .byte W96 + .byte W48 + .byte TEMPO , 76*mus_minamo_tbs/2 + .byte VOICE , 46 + .byte VOL , 53*mus_minamo_mvl/mxv + .byte N12 , Cs3 , v112 + .byte W12 + .byte Ds3 + .byte W12 + .byte En3 + .byte W09 + .byte TEMPO , 86*mus_minamo_tbs/2 + .byte W03 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N06 , Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte TEMPO , 92*mus_minamo_tbs/2 + .byte VOL , 56*mus_minamo_mvl/mxv + .byte N02 , Fs3 + .byte W02 + .byte As3 + .byte W02 + .byte Cs4 + .byte W02 + .byte En4 + .byte W02 + .byte Fs4 + .byte W02 + .byte As4 + .byte W02 + .byte N12 , Cs5 + .byte W12 + .byte VOICE , 73 + .byte N06 , Cs5 , v036 + .byte W06 + .byte Bn3 , v112 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte As3 + .byte W06 + .byte N03 , Fs3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W03 + .byte En3 + .byte W03 + .byte VOICE , 73 + .byte N06 , Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W03 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte Ds4 + .byte W06 + .byte N03 , Fs4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W03 + .byte Fn4 + .byte W03 + .byte Fs4 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte Cn4 , v036 + .byte W06 + .byte Ds4 , v112 + .byte W06 + .byte Ds4 , v036 + .byte W06 + .byte Gs3 , v112 + .byte W06 + .byte Gs3 , v036 + .byte W06 + .byte Bn3 , v112 + .byte W06 + .byte Bn3 , v036 + .byte W06 + .byte Gs3 , v112 + .byte W06 + .byte Gs3 , v036 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte Ds3 + .byte W06 + .byte N12 , Cs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N06 , Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cs4 , v036 + .byte W12 + .byte Ds4 , v112 + .byte W06 + .byte En4 + .byte W06 + .byte En4 , v036 + .byte W06 + .byte N03 , Fn5 , v112 + .byte W03 + .byte N06 , Fn5 , v036 + .byte W09 + .byte N03 , Fn5 , v112 + .byte W03 + .byte N06 , Fn5 , v036 + .byte W09 + .byte VOICE , 48 + .byte VOL , 42*mus_minamo_mvl/mxv + .byte W09 + .byte N03 , Cn3 , v112 + .byte W03 + .byte N06 , Bn2 + .byte W06 + .byte N03 , As2 + .byte W06 + .byte Bn2 + .byte W03 + .byte Bn2 , v036 + .byte W03 + .byte Ds3 , v112 + .byte W03 + .byte Ds3 , v036 + .byte W03 + .byte N06 , Gs3 , v112 + .byte W06 + .byte Gs3 , v036 + .byte W06 + .byte N24 , Fs3 , v112 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N06 , Fs3 , v036 + .byte W09 + .byte N03 , Bn2 , v112 + .byte W03 + .byte N06 , As2 + .byte W06 + .byte N03 , An2 + .byte W06 + .byte As2 + .byte W03 + .byte As2 , v036 + .byte W03 + .byte Ds3 , v112 + .byte W03 + .byte Ds3 , v036 + .byte W03 + .byte N06 , Fs3 , v112 + .byte W06 + .byte Fs3 , v036 + .byte W06 + .byte N24 , En3 , v112 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N06 , En3 , v036 + .byte W09 + .byte N03 , An2 , v112 + .byte W03 + .byte N06 , Gs2 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte Gs2 + .byte W03 + .byte Gs2 , v036 + .byte W03 + .byte Cs3 , v112 + .byte W03 + .byte Cs3 , v036 + .byte W03 + .byte N06 , En3 , v112 + .byte W06 + .byte Fs3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Cs3 + .byte W06 + .byte N03 + .byte W03 + .byte Dn3 + .byte W03 + .byte TEMPO , 88*mus_minamo_tbs/2 + .byte N30 , Ds3 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte TEMPO , 86*mus_minamo_tbs/2 + .byte 0 + .byte W06 + .byte N06 , Ds3 , v036 + .byte W06 + .byte TEMPO , 74*mus_minamo_tbs/2 + .byte N12 , Fs3 , v112 + .byte W12 + .byte N03 , En3 + .byte W03 + .byte Ds3 + .byte W03 + .byte En3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Gs3 + .byte W03 + .byte As3 + .byte W03 + .byte TEMPO , 92*mus_minamo_tbs/2 + .byte VOICE , 60 + .byte N36 , Bn3 + .byte W24 + .byte W03 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N06 , Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte N12 , As4 + .byte W12 + .byte N06 , Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte N03 , Cn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte N06 , Cn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn4 + .byte W06 + .byte N30 , Gs4 + .byte W18 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte W03 + .byte N06 , En4 + .byte W06 + .byte N03 , Cs4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N06 , Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Bn3 , v036 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte En4 + .byte W06 + .byte TEMPO , 90*mus_minamo_tbs/2 + .byte N12 , Gn4 + .byte W12 + .byte N03 , En4 + .byte W03 + .byte Gn4 + .byte W03 + .byte N06 , En4 + .byte W06 + .byte N12 , Dn4 + .byte W12 + .byte TEMPO , 74*mus_minamo_tbs/2 + .byte Cn4 + .byte W12 + .byte TEMPO , 68*mus_minamo_tbs/2 + .byte Bn3 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte GOTO + .word mus_minamo_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_minamo_2: + .byte KEYSH , mus_minamo_key+0 +mus_minamo_2_B1: + .byte VOICE , 48 + .byte VOL , 85*mus_minamo_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , Bn1 , v112 + .byte W12 + .byte N03 , Fs2 + .byte W03 + .byte Fs2 , v036 + .byte W03 + .byte Fn2 , v112 + .byte W03 + .byte Fn2 , v036 + .byte W03 + .byte N12 , Fs2 , v112 + .byte W12 + .byte Fs1 + .byte W12 + .byte N03 , Fs2 + .byte W03 + .byte N06 , Fs2 , v036 + .byte W09 + .byte N03 , Fs2 , v112 + .byte W03 + .byte N06 , Fs2 , v036 + .byte W09 + .byte N12 , Bn1 , v112 + .byte W12 + .byte N03 , Fs2 + .byte W03 + .byte N06 , Fs2 , v036 + .byte W09 + .byte N03 , Fs2 , v112 + .byte W03 + .byte N06 , Fs2 , v036 + .byte W09 + .byte N12 , Fs1 , v112 + .byte W12 + .byte N03 , Fs2 + .byte W03 + .byte N06 , Fs2 , v036 + .byte W09 + .byte N03 , Fs2 , v112 + .byte W03 + .byte N06 , Fs2 , v036 + .byte W09 + .byte N12 , Bn1 , v112 + .byte W12 + .byte N03 , Fs2 + .byte W03 + .byte Fs2 , v036 + .byte W03 + .byte Fn2 , v112 + .byte W03 + .byte Fn2 , v036 + .byte W03 + .byte N12 , Fs2 , v112 + .byte W12 + .byte Fs1 + .byte W12 + .byte N03 , Fs2 + .byte W03 + .byte N06 , Fs2 , v036 + .byte W09 + .byte N03 , Fs2 , v112 + .byte W03 + .byte N06 , Fs2 , v036 + .byte W09 + .byte N12 , Bn1 , v112 + .byte W12 + .byte N03 , Fs2 + .byte W03 + .byte N06 , Fs2 , v036 + .byte W09 + .byte N03 , Fs2 , v112 + .byte W03 + .byte N06 , Fs2 , v036 + .byte W09 + .byte N12 , Fs1 , v112 + .byte W12 + .byte N03 , Fs2 + .byte W03 + .byte Fs2 , v036 + .byte W03 + .byte Fn2 , v112 + .byte W03 + .byte Fn2 , v036 + .byte W03 + .byte N12 , Fs2 , v112 + .byte W12 + .byte En2 + .byte W12 + .byte N03 , Bn2 + .byte W03 + .byte Bn2 , v036 + .byte W03 + .byte As2 , v112 + .byte W03 + .byte As2 , v036 + .byte W03 + .byte N06 , Bn2 , v112 + .byte W06 + .byte Bn2 , v036 + .byte W06 + .byte N12 , Bn1 , v112 + .byte W12 + .byte N03 , Bn2 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte N03 , Bn2 , v112 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte N12 , En2 , v112 + .byte W12 + .byte N03 , Bn2 + .byte W03 + .byte Bn2 , v036 + .byte W03 + .byte As2 , v112 + .byte W03 + .byte As2 , v036 + .byte W03 + .byte N12 , Bn2 , v112 + .byte W12 + .byte Bn1 + .byte W12 + .byte N03 , Bn2 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte N03 , Bn2 , v112 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte N12 , Ds2 , v112 + .byte W12 + .byte N03 , Cs3 + .byte W03 + .byte Cs3 , v036 + .byte W03 + .byte Cn3 , v112 + .byte W03 + .byte Cn3 , v036 + .byte W03 + .byte N12 , Cs3 , v112 + .byte W12 + .byte As1 + .byte W12 + .byte N03 , Cs3 + .byte W03 + .byte N06 , Cs3 , v036 + .byte W09 + .byte N03 , Cs3 , v112 + .byte W03 + .byte N06 , Cs3 , v036 + .byte W09 + .byte N12 , Gs2 , v112 + .byte W12 + .byte N03 , Ds3 + .byte W03 + .byte Ds3 , v036 + .byte W03 + .byte Dn3 , v112 + .byte W03 + .byte Dn3 , v036 + .byte W03 + .byte N12 , Ds3 , v112 + .byte W12 + .byte Ds2 + .byte W12 + .byte N03 , Ds3 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W09 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W09 + .byte N12 , En2 , v112 + .byte W12 + .byte N03 , Bn2 + .byte W03 + .byte Bn2 , v036 + .byte W03 + .byte As2 , v112 + .byte W03 + .byte As2 , v036 + .byte W03 + .byte N12 , Bn2 , v112 + .byte W12 + .byte Bn1 + .byte W12 + .byte N03 , Bn2 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte N03 , Bn2 , v112 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte N12 , En2 , v112 + .byte W12 + .byte N03 , Bn2 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte N03 , Bn2 , v112 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte N12 , Bn1 , v112 + .byte W12 + .byte N03 , Bn2 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte N03 , Bn2 , v112 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte N12 , Ds2 , v112 + .byte W12 + .byte N03 , Cs3 + .byte W03 + .byte N06 , Cs3 , v036 + .byte W09 + .byte N03 , Cs3 , v112 + .byte W03 + .byte N06 , Cs3 , v036 + .byte W09 + .byte N12 , As1 , v112 + .byte W12 + .byte N03 , Cs3 + .byte W03 + .byte N06 , Cs3 , v036 + .byte W09 + .byte N03 , Cs3 , v112 + .byte W03 + .byte N06 , Cs3 , v036 + .byte W09 + .byte N12 , Bn1 , v112 + .byte W12 + .byte N03 , Fs2 + .byte W03 + .byte N06 , Fs2 , v036 + .byte W09 + .byte N03 , Fs2 , v112 + .byte W03 + .byte N06 , Fs2 , v036 + .byte W09 + .byte N12 , Bn1 , v112 + .byte W12 + .byte N03 , Fn2 + .byte W03 + .byte N06 , Fn2 , v036 + .byte W09 + .byte N03 , Fn2 , v112 + .byte W03 + .byte N06 , Fn2 , v036 + .byte W09 + .byte N12 , Bn1 , v112 + .byte W12 + .byte N03 , Fs2 + .byte W03 + .byte N06 , Fs2 , v036 + .byte W09 + .byte N03 , Fs2 , v112 + .byte W03 + .byte N06 , Fs2 , v036 + .byte W09 + .byte N12 , Ds2 , v112 + .byte W12 + .byte N03 , As2 + .byte W03 + .byte N06 , As2 , v036 + .byte W09 + .byte N03 , As2 , v112 + .byte W03 + .byte N06 , As2 , v036 + .byte W09 + .byte N12 , Gs2 , v112 + .byte W12 + .byte N03 , Ds3 + .byte W03 + .byte Ds3 , v036 + .byte W03 + .byte Dn3 , v112 + .byte W03 + .byte Dn3 , v036 + .byte W03 + .byte Ds3 , v112 + .byte W03 + .byte Ds3 , v036 + .byte W03 + .byte Fs3 , v112 + .byte W03 + .byte Fs3 , v036 + .byte W03 + .byte N12 , Cs2 , v112 + .byte W12 + .byte N03 , Bn2 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte N03 , Bn2 , v112 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte N12 , Cs2 , v112 + .byte W12 + .byte N03 , Gs2 + .byte W03 + .byte N06 , Gs2 , v036 + .byte W09 + .byte N03 , Gs2 , v112 + .byte W03 + .byte N06 , Gs2 , v036 + .byte W09 + .byte N12 , Cs2 , v112 + .byte W12 +mus_minamo_2_000: + .byte N03 , Gs2 , v112 + .byte W03 + .byte N06 , Gs2 , v036 + .byte W09 + .byte N03 , Gs2 , v112 + .byte W03 + .byte N06 , Gs2 , v036 + .byte W09 + .byte N12 , Fs2 , v112 + .byte W12 + .byte N03 , Cs3 + .byte W03 + .byte N06 , Cs3 , v036 + .byte W09 + .byte N03 , Cs3 , v112 + .byte W03 + .byte N06 , Cs3 , v036 + .byte W09 + .byte N12 , Fs2 , v112 + .byte W12 + .byte N03 , Cs3 + .byte W03 + .byte N06 , Cs3 , v036 + .byte W09 + .byte N03 , Cs3 , v112 + .byte W03 + .byte N06 , Cs3 , v036 + .byte W09 + .byte PEND + .byte N12 , Bn1 , v112 + .byte W12 + .byte N03 , Fs2 + .byte W03 + .byte N06 , Fs2 , v036 + .byte W09 + .byte N03 , Fs2 , v112 + .byte W03 + .byte N06 , Fs2 , v036 + .byte W09 + .byte N12 , Ds2 , v112 + .byte W12 + .byte N03 , As2 + .byte W03 + .byte N06 , As2 , v036 + .byte W09 + .byte N03 , As2 , v112 + .byte W03 + .byte N06 , As2 , v036 + .byte W09 + .byte N12 , Gs2 , v112 + .byte W12 + .byte N03 , Ds3 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W09 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W09 + .byte N12 , Cs2 , v112 + .byte W12 + .byte N03 , Bn2 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte N03 , Bn2 , v112 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte N12 , Cs2 , v112 + .byte W12 + .byte N03 , Gs2 + .byte W03 + .byte N06 , Gs2 , v036 + .byte W09 + .byte N03 , Gs2 , v112 + .byte W03 + .byte N06 , Gs2 , v036 + .byte W09 + .byte N12 , Cs2 , v112 + .byte W12 + .byte PATT + .word mus_minamo_2_000 + .byte VOICE , 58 + .byte N12 , En1 , v112 + .byte W12 + .byte N03 , Bn2 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte N03 , Bn2 , v112 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte N12 , En1 , v112 + .byte W12 + .byte N03 , As2 + .byte W03 + .byte As2 , v036 + .byte W03 + .byte N06 , An2 , v112 + .byte W06 + .byte As2 + .byte W06 + .byte Ds3 + .byte W06 + .byte N12 , Ds1 + .byte W12 + .byte N03 , As2 + .byte W03 + .byte N06 , As2 , v036 + .byte W09 + .byte N03 , As2 , v112 + .byte W03 + .byte N06 , As2 , v036 + .byte W09 + .byte N12 , Ds1 , v112 + .byte W12 + .byte N03 , An2 + .byte W06 + .byte N06 , Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte En3 + .byte W06 + .byte N12 , Cs1 + .byte W12 + .byte N03 , Gs2 + .byte W03 + .byte N06 , Gs2 , v036 + .byte W09 + .byte N03 , Gs2 , v112 + .byte W03 + .byte N06 , Gs2 , v036 + .byte W09 + .byte N12 , Cs1 , v112 + .byte W12 + .byte N03 , Fs2 + .byte W03 + .byte Fs2 , v036 + .byte W03 + .byte N06 , Fn2 , v112 + .byte W06 + .byte Fs2 + .byte W06 + .byte Ds3 + .byte W06 + .byte N12 , Bn0 + .byte W12 + .byte N03 , Fs2 + .byte W03 + .byte N06 , Fs2 , v036 + .byte W09 + .byte N03 , Fs2 , v112 + .byte W03 + .byte N06 , Fs2 , v036 + .byte W09 + .byte N12 , Cn1 , v112 + .byte W12 + .byte N03 , Fs2 + .byte W03 + .byte Fs2 , v036 + .byte W03 + .byte N06 , Fn2 , v112 + .byte W06 + .byte Fs2 + .byte W06 + .byte Ds3 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte N03 , Bn2 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte N03 , Bn2 , v112 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte N12 , En1 , v112 + .byte W12 + .byte N03 , As2 + .byte W03 + .byte As2 , v036 + .byte W03 + .byte N06 , An2 , v112 + .byte W06 + .byte As2 + .byte W06 + .byte Ds3 + .byte W06 + .byte N12 , Ds1 + .byte W12 + .byte N03 , As2 + .byte W03 + .byte N06 , As2 , v036 + .byte W09 + .byte N03 , As2 , v112 + .byte W03 + .byte N06 , As2 , v036 + .byte W09 + .byte N12 , Ds1 , v112 + .byte W12 + .byte N03 , An2 + .byte W03 + .byte An2 , v036 + .byte W03 + .byte N06 , Gs2 , v112 + .byte W06 + .byte An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N12 , Cs1 + .byte W12 + .byte N03 , Gs2 + .byte W03 + .byte N06 , Gs2 , v036 + .byte W09 + .byte N03 , Gs2 , v112 + .byte W03 + .byte N06 , Gs2 , v036 + .byte W09 + .byte N12 , Cs1 , v112 + .byte W12 + .byte N03 , Gn2 + .byte W03 + .byte Gn2 , v036 + .byte W03 + .byte N06 , Fs2 , v112 + .byte W06 + .byte Gn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N03 , Gn2 + .byte W03 + .byte N06 , Gn2 , v036 + .byte W09 + .byte N03 , Gn2 , v112 + .byte W03 + .byte N06 , Gn2 , v036 + .byte W09 + .byte N12 , Cn1 , v112 + .byte W12 + .byte VOICE , 48 + .byte N06 , En1 + .byte W06 + .byte Gn1 , v120 + .byte W06 + .byte Cn2 + .byte W06 + .byte An1 , v124 + .byte W06 + .byte GOTO + .word mus_minamo_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_minamo_3: + .byte KEYSH , mus_minamo_key+0 +mus_minamo_3_B1: + .byte VOICE , 45 + .byte PAN , c_v+44 + .byte VOL , 56*mus_minamo_mvl/mxv + .byte W09 + .byte N03 , Gn3 , v064 + .byte W03 + .byte Fs3 , v112 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte N06 , Fs3 , v032 + .byte W12 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W09 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W21 + .byte N03 , As3 , v112 + .byte W03 + .byte N06 , As3 , v032 + .byte W09 + .byte N03 , As3 , v112 + .byte W03 + .byte N06 , As3 , v032 + .byte W21 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W09 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W18 + .byte N03 , Gn3 , v064 + .byte W03 + .byte Fs3 , v112 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte N06 , Fs3 , v032 + .byte W12 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W09 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W21 + .byte N03 , As3 , v112 + .byte W03 + .byte N06 , As3 , v032 + .byte W09 + .byte N03 , As3 , v112 + .byte W03 + .byte N06 , As3 , v032 + .byte W21 + .byte N03 , Gs3 , v112 + .byte W03 + .byte Gs3 , v032 + .byte W03 + .byte Gn3 , v112 + .byte W03 + .byte Gn3 , v032 + .byte W03 + .byte N12 , Gs3 , v112 + .byte W12 + .byte N06 , Gs3 , v032 + .byte W09 + .byte N03 , An3 , v064 + .byte W03 + .byte Gs3 , v112 + .byte W03 + .byte Gs3 , v032 + .byte W03 + .byte Gn3 , v112 + .byte W03 + .byte Gn3 , v032 + .byte W03 + .byte N12 , Gs3 , v112 + .byte W12 + .byte N06 , Gs3 , v032 + .byte W12 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W09 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W18 + .byte N03 , Gs3 , v064 + .byte W03 + .byte Gn3 , v112 + .byte W03 + .byte Gn3 , v032 + .byte W03 + .byte Fs3 , v112 + .byte W03 + .byte Fs3 , v032 + .byte W03 +mus_minamo_3_000: + .byte N12 , Gn3 , v112 + .byte W12 + .byte N06 , Gn3 , v032 + .byte W12 + .byte N03 , Gn3 , v112 + .byte W03 + .byte N06 , Gn3 , v032 + .byte W09 + .byte N03 , Gn3 , v112 + .byte W03 + .byte N06 , Gn3 , v032 + .byte W18 + .byte N03 , Gn3 , v064 + .byte W03 + .byte Fs3 , v112 + .byte W03 + .byte Fs3 , v032 + .byte W03 + .byte Fn3 , v112 + .byte W03 + .byte Fn3 , v032 + .byte W03 + .byte N12 , Fs3 , v112 + .byte W12 + .byte N06 , Fs3 , v032 + .byte W12 + .byte PEND + .byte N03 , Fs3 , v112 + .byte W03 + .byte N06 , Fs3 , v032 + .byte W09 + .byte N03 , Fs3 , v112 + .byte W03 + .byte N06 , Fs3 , v032 + .byte W18 + .byte N03 , Cs4 , v064 + .byte W03 + .byte Cn4 , v112 + .byte W03 + .byte Cn4 , v032 + .byte W03 + .byte Bn3 , v112 + .byte W03 + .byte Bn3 , v032 + .byte W03 + .byte N12 , Cn4 , v112 + .byte W12 + .byte N06 , Cn4 , v032 + .byte W12 + .byte N03 , Cn4 , v112 + .byte W03 + .byte N06 , Cn4 , v032 + .byte W09 + .byte N03 , Cn4 , v112 + .byte W03 + .byte N06 , Cn4 , v032 + .byte W09 + .byte VOICE , 48 + .byte VOL , 42*mus_minamo_mvl/mxv + .byte W09 + .byte N03 , An3 , v064 + .byte W03 + .byte Gs3 , v112 + .byte W03 + .byte Gs3 , v032 + .byte W03 + .byte Gn3 , v112 + .byte W03 + .byte Gn3 , v032 + .byte W03 + .byte N12 , Gs3 , v112 + .byte W12 + .byte N06 , Gs3 , v032 + .byte W12 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W09 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W18 + .byte N03 , Gs3 , v064 + .byte W03 + .byte Gn3 , v112 + .byte W03 + .byte Gn3 , v032 + .byte W03 + .byte Fs3 , v112 + .byte W03 + .byte Fs3 , v032 + .byte W03 + .byte PATT + .word mus_minamo_3_000 + .byte N03 , Fs3 , v112 + .byte W03 + .byte N06 , Fs3 , v032 + .byte W09 + .byte N03 , Fs3 , v112 + .byte W03 + .byte N06 , Fs3 , v032 + .byte W18 + .byte N03 , Bn3 , v064 + .byte W03 + .byte As3 , v112 + .byte W03 + .byte As3 , v032 + .byte W03 + .byte An3 , v112 + .byte W03 + .byte An3 , v032 + .byte W03 + .byte N12 , As3 , v112 + .byte W12 + .byte N06 , As3 , v032 + .byte W12 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W09 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W09 + .byte VOICE , 45 + .byte VOL , 56*mus_minamo_mvl/mxv + .byte W09 + .byte N03 , Gn3 , v064 + .byte W03 + .byte Fs3 , v112 + .byte W03 + .byte Fs3 , v032 + .byte W03 + .byte Fn3 , v112 + .byte W03 + .byte Fn3 , v032 + .byte W03 + .byte Fs3 , v112 + .byte W03 + .byte N06 , Fs3 , v032 + .byte W21 + .byte N03 , Fs3 , v112 + .byte W03 + .byte N06 , Fs3 , v032 + .byte W09 + .byte N03 , Fs3 , v112 + .byte W03 + .byte N06 , Fs3 , v032 + .byte W21 + .byte N03 , Cn4 , v112 + .byte W03 + .byte Cn4 , v032 + .byte W03 + .byte Bn3 , v112 + .byte W03 + .byte Bn3 , v032 + .byte W03 + .byte Cn4 , v112 + .byte W03 + .byte Cn4 , v032 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte N06 , Ds4 , v032 + .byte W15 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W09 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W09 + .byte VOICE , 48 + .byte N12 , En3 , v112 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N12 + .byte W12 + .byte As3 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte En4 , v032 + .byte W12 + .byte N03 , Fn4 , v112 + .byte W03 + .byte En4 + .byte W03 + .byte N06 , Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N03 , Bn3 + .byte W03 + .byte Cs4 + .byte W03 + .byte Bn3 + .byte W03 + .byte As3 + .byte W03 + .byte VOICE , 48 + .byte N06 , As3 , v032 + .byte W09 + .byte N03 , Gn3 , v064 + .byte W03 + .byte Fs3 , v112 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte N06 , Fs3 , v032 + .byte W12 + .byte N03 , Fs3 , v112 + .byte W03 + .byte N06 , Fs3 , v032 + .byte W09 + .byte N03 , Fs3 , v112 + .byte W03 + .byte N06 , Fs3 , v032 + .byte W21 + .byte N03 , Cn4 , v112 + .byte W03 + .byte N06 , Cn4 , v032 + .byte W09 + .byte N03 , Cn4 , v112 + .byte W03 + .byte N06 , Cn4 , v032 + .byte W21 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W09 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W09 + .byte N12 , En3 , v112 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N12 + .byte W12 + .byte As3 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte En4 , v032 + .byte W12 + .byte Bn4 , v112 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cs5 , v032 + .byte W06 + .byte VOICE , 45 + .byte N03 , Fs5 , v112 + .byte W03 + .byte N06 , Fs5 , v032 + .byte W09 + .byte N03 , Fs5 , v112 + .byte W03 + .byte N06 , Fs5 , v032 + .byte W09 + .byte W12 + .byte N03 , Ds4 , v112 + .byte W03 + .byte N06 , Ds4 , v032 + .byte W09 + .byte N03 , Ds4 , v112 + .byte W03 + .byte N06 , Ds4 , v032 + .byte W21 + .byte N03 , Cs4 , v112 + .byte W03 + .byte Cs4 , v032 + .byte W03 + .byte N06 , Cn4 , v112 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs4 , v032 + .byte W12 + .byte N03 , Cs4 , v112 + .byte W03 + .byte N06 , Cs4 , v032 + .byte W09 + .byte N03 , Cs4 , v112 + .byte W03 + .byte N06 , Cs4 , v032 + .byte W21 + .byte N03 , Bn3 , v112 + .byte W03 + .byte Bn3 , v032 + .byte W03 + .byte N06 , As3 , v112 + .byte W06 + .byte Bn3 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fs4 , v032 + .byte W12 + .byte N03 , Bn3 , v112 + .byte W03 + .byte N06 , Bn3 , v032 + .byte W09 + .byte N03 , Bn3 , v112 + .byte W03 + .byte N06 , Bn3 , v032 + .byte W21 + .byte N03 , As3 , v112 + .byte W06 + .byte N06 , An3 + .byte W06 + .byte As3 + .byte W06 + .byte En4 + .byte W06 + .byte En4 , v032 + .byte W12 + .byte N03 , As3 , v112 + .byte W03 + .byte N06 , As3 , v032 + .byte W09 + .byte N03 , As3 , v112 + .byte W03 + .byte N06 , As3 , v032 + .byte W21 + .byte N03 , An3 , v112 + .byte W03 + .byte An3 , v032 + .byte W03 + .byte N06 , Gs3 , v112 + .byte W06 + .byte An3 + .byte W06 + .byte Ds4 + .byte W06 + .byte VOICE , 48 + .byte N06 , Ds4 , v032 + .byte W12 + .byte N03 , Ds4 , v112 + .byte W03 + .byte N06 , Ds4 , v032 + .byte W09 + .byte N03 , Ds4 , v112 + .byte W03 + .byte N06 , Ds4 , v032 + .byte W21 + .byte N03 , Cs4 , v112 + .byte W03 + .byte Cs4 , v032 + .byte W03 + .byte N06 , Cn4 , v112 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs4 , v032 + .byte W12 + .byte N03 , Cs4 , v112 + .byte W03 + .byte N06 , Cs4 , v032 + .byte W09 + .byte N03 , Cs4 , v112 + .byte W03 + .byte N06 , Cs4 , v032 + .byte W21 + .byte N03 , Cn4 , v112 + .byte W03 + .byte Cn4 , v032 + .byte W03 + .byte N06 , Bn3 , v112 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fs4 , v032 + .byte W12 + .byte N03 , Bn3 , v112 + .byte W03 + .byte N06 , Bn3 , v032 + .byte W09 + .byte N03 , Bn3 , v112 + .byte W03 + .byte N06 , Bn3 , v032 + .byte W21 + .byte N03 , As3 , v112 + .byte W03 + .byte As3 , v032 + .byte W03 + .byte N06 , An3 , v112 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cs4 , v032 + .byte W12 + .byte N03 , Bn3 , v112 + .byte W03 + .byte N06 , Bn3 , v032 + .byte W09 + .byte N03 , Bn3 , v112 + .byte W03 + .byte N06 , Bn3 , v032 + .byte W21 + .byte N03 , Bn3 , v112 + .byte W03 + .byte N06 , Bn3 , v032 + .byte W09 + .byte N03 , Bn3 , v112 + .byte W03 + .byte N06 , Bn3 , v032 + .byte W09 + .byte GOTO + .word mus_minamo_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_minamo_4: + .byte KEYSH , mus_minamo_key+0 +mus_minamo_4_B1: + .byte VOICE , 48 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 8*mus_minamo_mvl/mxv + .byte TIE , Fs4 , v112 + .byte W02 + .byte VOL , 9*mus_minamo_mvl/mxv + .byte W12 + .byte 10*mus_minamo_mvl/mxv + .byte W03 + .byte 14*mus_minamo_mvl/mxv + .byte W07 + .byte 18*mus_minamo_mvl/mxv + .byte W05 + .byte 20*mus_minamo_mvl/mxv + .byte W03 + .byte 21*mus_minamo_mvl/mxv + .byte W04 + .byte 23*mus_minamo_mvl/mxv + .byte W02 + .byte 24*mus_minamo_mvl/mxv + .byte W03 + .byte 26*mus_minamo_mvl/mxv + .byte W03 + .byte 29*mus_minamo_mvl/mxv + .byte W04 + .byte 30*mus_minamo_mvl/mxv + .byte W02 + .byte 32*mus_minamo_mvl/mxv + .byte W03 + .byte 34*mus_minamo_mvl/mxv + .byte W07 + .byte 35*mus_minamo_mvl/mxv + .byte W02 + .byte 36*mus_minamo_mvl/mxv + .byte W03 + .byte 38*mus_minamo_mvl/mxv + .byte W03 + .byte 41*mus_minamo_mvl/mxv + .byte W04 + .byte 42*mus_minamo_mvl/mxv + .byte W02 + .byte 44*mus_minamo_mvl/mxv + .byte W03 + .byte 48*mus_minamo_mvl/mxv + .byte W03 + .byte 51*mus_minamo_mvl/mxv + .byte W04 + .byte 52*mus_minamo_mvl/mxv + .byte W02 + .byte 56*mus_minamo_mvl/mxv + .byte W03 + .byte 58*mus_minamo_mvl/mxv + .byte W03 + .byte 59*mus_minamo_mvl/mxv + .byte W04 + .byte W02 + .byte 62*mus_minamo_mvl/mxv + .byte W04 + .byte 62*mus_minamo_mvl/mxv + .byte W02 + .byte 59*mus_minamo_mvl/mxv + .byte W04 + .byte 58*mus_minamo_mvl/mxv + .byte W02 + .byte 54*mus_minamo_mvl/mxv + .byte W03 + .byte 51*mus_minamo_mvl/mxv + .byte W03 + .byte 49*mus_minamo_mvl/mxv + .byte W04 + .byte 48*mus_minamo_mvl/mxv + .byte W02 + .byte 44*mus_minamo_mvl/mxv + .byte W03 + .byte 41*mus_minamo_mvl/mxv + .byte W01 + .byte EOT + .byte N06 , En4 + .byte W02 + .byte VOL , 40*mus_minamo_mvl/mxv + .byte W04 + .byte 38*mus_minamo_mvl/mxv + .byte N06 , Ds4 + .byte W02 + .byte VOL , 35*mus_minamo_mvl/mxv + .byte W03 + .byte 34*mus_minamo_mvl/mxv + .byte W01 + .byte N06 , En4 + .byte W02 + .byte VOL , 32*mus_minamo_mvl/mxv + .byte W04 + .byte 29*mus_minamo_mvl/mxv + .byte TIE , Fs4 + .byte W02 + .byte VOL , 24*mus_minamo_mvl/mxv + .byte W03 + .byte 23*mus_minamo_mvl/mxv + .byte W09 + .byte 21*mus_minamo_mvl/mxv + .byte W03 + .byte 20*mus_minamo_mvl/mxv + .byte W03 + .byte 21*mus_minamo_mvl/mxv + .byte W06 + .byte 20*mus_minamo_mvl/mxv + .byte W15 + .byte 26*mus_minamo_mvl/mxv + .byte W03 + .byte 29*mus_minamo_mvl/mxv + .byte W04 + .byte 30*mus_minamo_mvl/mxv + .byte W02 + .byte 32*mus_minamo_mvl/mxv + .byte W03 + .byte 34*mus_minamo_mvl/mxv + .byte W07 + .byte 35*mus_minamo_mvl/mxv + .byte W02 + .byte 36*mus_minamo_mvl/mxv + .byte W03 + .byte 38*mus_minamo_mvl/mxv + .byte W03 + .byte 41*mus_minamo_mvl/mxv + .byte W04 + .byte 42*mus_minamo_mvl/mxv + .byte W02 + .byte 44*mus_minamo_mvl/mxv + .byte W03 + .byte 48*mus_minamo_mvl/mxv + .byte W03 + .byte 51*mus_minamo_mvl/mxv + .byte W04 + .byte 52*mus_minamo_mvl/mxv + .byte W02 + .byte 56*mus_minamo_mvl/mxv + .byte W03 + .byte 58*mus_minamo_mvl/mxv + .byte W03 + .byte 59*mus_minamo_mvl/mxv + .byte W06 + .byte 62*mus_minamo_mvl/mxv + .byte W04 + .byte 62*mus_minamo_mvl/mxv + .byte W02 + .byte 59*mus_minamo_mvl/mxv + .byte W01 + .byte 68*mus_minamo_mvl/mxv + .byte W03 + .byte EOT + .byte N06 , Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Bn3 + .byte W06 + .byte N15 , Ds4 + .byte W15 + .byte N03 , Gn4 , v064 + .byte W03 + .byte N06 , Fs4 , v112 + .byte W06 + .byte Cs4 + .byte W06 + .byte N03 , Cn4 , v076 + .byte W03 + .byte Bn3 , v064 + .byte W03 + .byte N06 , Bn3 , v036 + .byte W24 + .byte N03 , As3 , v112 + .byte W06 + .byte N06 , Bn3 + .byte W06 + .byte N15 , Ds4 + .byte W15 + .byte N03 , Gn4 , v064 + .byte W03 + .byte N06 , Fs4 , v112 + .byte W06 + .byte Cs4 + .byte W06 + .byte N03 , Cn4 , v076 + .byte W03 + .byte Bn3 , v064 + .byte W03 + .byte N06 , Bn3 , v036 + .byte W24 + .byte N03 , Bn3 , v112 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte N24 , As3 + .byte W24 + .byte N03 , Cs4 + .byte W03 + .byte Ds4 + .byte W03 + .byte En4 + .byte W03 + .byte VOL , 61*mus_minamo_mvl/mxv + .byte N03 , Fn4 + .byte W03 + .byte VOL , 62*mus_minamo_mvl/mxv + .byte N24 , Fs4 + .byte W02 + .byte VOL , 63*mus_minamo_mvl/mxv + .byte W01 + .byte 68*mus_minamo_mvl/mxv + .byte W09 + .byte W12 + .byte N03 , En4 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte VOL , 34*mus_minamo_mvl/mxv + .byte N48 , Ds4 + .byte W02 + .byte VOL , 39*mus_minamo_mvl/mxv + .byte W03 + .byte 44*mus_minamo_mvl/mxv + .byte W03 + .byte 50*mus_minamo_mvl/mxv + .byte W04 + .byte 53*mus_minamo_mvl/mxv + .byte W02 + .byte 57*mus_minamo_mvl/mxv + .byte W03 + .byte 61*mus_minamo_mvl/mxv + .byte W01 + .byte 68*mus_minamo_mvl/mxv + .byte W30 + .byte N03 , Fs4 + .byte W06 + .byte N06 , En4 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Bn3 + .byte W06 + .byte N15 , Ds4 + .byte W15 + .byte N03 , Gn4 , v064 + .byte W03 + .byte N06 , Fs4 , v112 + .byte W06 + .byte Cs4 + .byte W06 + .byte N03 , Cn4 , v076 + .byte W03 + .byte Bn3 , v064 + .byte W03 + .byte N06 , Bn3 , v036 + .byte W24 + .byte As3 , v112 + .byte W06 + .byte Bn3 + .byte W06 + .byte N15 , Ds4 + .byte W15 + .byte N03 , Gn4 , v064 + .byte W03 + .byte N06 , Fs4 , v112 + .byte W06 + .byte Cs4 + .byte W06 + .byte N03 , Cn4 , v076 + .byte W03 + .byte Bn3 , v064 + .byte W03 + .byte N06 , Bn3 , v036 + .byte W24 + .byte Bn3 , v112 + .byte W06 + .byte Cs4 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte N06 , As3 , v036 + .byte W24 + .byte N12 , Fs3 , v112 + .byte W12 + .byte Gs3 + .byte W12 + .byte N06 , As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N48 , Ds4 + .byte W48 + .byte N06 , Ds4 , v036 + .byte W24 + .byte VOICE , 45 + .byte VOL , 76*mus_minamo_mvl/mxv + .byte N06 , Ds4 , v112 + .byte W06 + .byte Ds4 , v036 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v036 + .byte W06 + .byte Fs4 , v112 + .byte W06 + .byte Fs4 , v036 + .byte W06 + .byte Cs5 , v104 + .byte W06 + .byte Cs5 , v036 + .byte W06 + .byte As4 , v104 + .byte W06 + .byte As4 , v036 + .byte W06 + .byte Gs4 , v112 + .byte W06 + .byte Gs4 , v036 + .byte W06 + .byte Fs4 , v112 + .byte W06 + .byte Fs4 , v036 + .byte W06 + .byte Gs4 , v112 + .byte W06 + .byte Gs4 , v036 + .byte W06 + .byte Ds4 , v112 + .byte W06 + .byte Ds4 , v036 + .byte W06 + .byte Fs4 , v112 + .byte W06 + .byte Fs4 , v036 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte En4 , v036 + .byte W06 + .byte VOICE , 48 + .byte VOL , 65*mus_minamo_mvl/mxv + .byte N12 , Cs4 , v112 + .byte W12 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N06 , Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cs5 , v036 + .byte W12 + .byte Bn4 , v112 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte N03 , Fs4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte N06 , Ds4 + .byte W06 + .byte Bn3 + .byte W06 + .byte En4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Fs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cs5 , v036 + .byte W06 + .byte As4 , v112 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Gs3 + .byte W06 + .byte N12 , Cs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N06 , Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cs5 , v036 + .byte W12 + .byte Ds5 , v112 + .byte W06 + .byte En5 + .byte W06 + .byte En5 , v036 + .byte W06 + .byte N03 , Fs4 , v112 + .byte W03 + .byte N06 , Fs4 , v036 + .byte W09 + .byte N03 , Fs4 , v112 + .byte W03 + .byte Fs4 , v036 + .byte W03 + .byte Fn4 , v112 + .byte W03 + .byte Fs4 + .byte W03 + .byte N30 , Gs4 + .byte W30 + .byte N06 , Bn3 + .byte W06 + .byte N30 , As3 + .byte W30 + .byte N06 , Gs4 + .byte W06 + .byte N30 , Fs4 + .byte W24 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N36 , Bn3 + .byte W36 + .byte N30 , En4 + .byte W30 + .byte N06 , Bn3 + .byte W06 + .byte N03 , As3 + .byte W03 + .byte Bn3 + .byte W03 + .byte N06 , As3 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N36 , Fs4 + .byte W36 + .byte N03 , An3 + .byte W03 + .byte Gs3 + .byte W03 + .byte An3 + .byte W03 + .byte Bn3 + .byte W03 + .byte Cs4 + .byte W03 + .byte Bn3 + .byte W03 + .byte Cs4 + .byte W03 + .byte Ds4 + .byte W03 + .byte En4 + .byte W03 + .byte Ds4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte N36 , Gs4 + .byte W36 + .byte N06 , As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte N06 , Gs4 + .byte W06 + .byte Gs5 + .byte W06 + .byte N12 , Fs5 + .byte W12 + .byte N06 , En5 + .byte W06 + .byte Ds5 + .byte W06 + .byte En5 + .byte W06 + .byte Fs5 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte N03 , An4 + .byte W03 + .byte Bn4 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Ds5 + .byte W06 + .byte N30 , En5 + .byte W30 + .byte N06 , Bn4 + .byte W06 + .byte N03 , As4 + .byte W03 + .byte Bn4 + .byte W03 + .byte N06 , As4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs4 , v036 + .byte W06 + .byte As4 , v112 + .byte W06 + .byte As4 , v036 + .byte W06 + .byte N48 , Bn4 , v112 + .byte W48 + .byte N12 , An4 + .byte W12 + .byte En4 + .byte W12 + .byte GOTO + .word mus_minamo_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_minamo_5: + .byte KEYSH , mus_minamo_key+0 +mus_minamo_5_B1: + .byte VOICE , 82 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 32*mus_minamo_mvl/mxv + .byte W96 + .byte W96 + .byte W96 +mus_minamo_5_000: + .byte W09 + .byte N03 , Cn3 , v112 + .byte W03 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte N06 , Bn2 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fs3 , v036 + .byte W06 + .byte N24 , En3 , v112 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N06 , En3 , v036 + .byte W09 + .byte N03 , Cn3 , v112 + .byte W03 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte PEND + .byte N06 , Bn2 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fs3 , v036 + .byte W06 + .byte N24 , En3 , v112 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N06 , En3 , v036 + .byte W48 + .byte W96 + .byte PATT + .word mus_minamo_5_000 + .byte N06 , Bn2 , v112 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fs3 , v036 + .byte W06 + .byte N24 , En3 , v112 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N06 , En3 , v036 + .byte W36 + .byte N12 , As2 , v112 + .byte W12 + .byte Bn2 + .byte W12 + .byte N06 , Cs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N48 , Fs3 + .byte W24 + .byte MOD , 9 + .byte W24 + .byte 0 + .byte N06 , Fs3 , v036 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N36 , Bn2 , v112 + .byte W24 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N06 , Cs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N18 , En3 + .byte W18 + .byte N06 , Bn3 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte N06 , Gs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte As3 + .byte W06 + .byte N12 , Ds3 + .byte W12 + .byte N03 , Cn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte N06 , Cn3 + .byte W06 + .byte Gs2 + .byte W06 + .byte Gn3 + .byte W06 + .byte N30 , Gs3 + .byte W15 + .byte MOD , 9 + .byte W15 + .byte 0 + .byte N06 , En3 + .byte W06 + .byte N03 , Cs3 + .byte W03 + .byte Ds3 + .byte W03 + .byte N06 , Cs3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Bn2 , v036 + .byte W06 + .byte Cs3 , v112 + .byte W06 + .byte En3 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte N03 , En3 + .byte W03 + .byte Gn3 + .byte W03 + .byte N06 , En3 + .byte W06 + .byte N12 , Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte Gn2 + .byte W06 + .byte GOTO + .word mus_minamo_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_minamo_6: + .byte KEYSH , mus_minamo_key+0 +mus_minamo_6_B1: + .byte VOICE , 45 + .byte PAN , c_v-33 + .byte VOL , 66*mus_minamo_mvl/mxv + .byte W12 + .byte N03 , Ds3 , v112 + .byte W03 + .byte Ds3 , v036 + .byte W03 + .byte Dn3 , v112 + .byte W03 + .byte Dn3 , v036 + .byte W03 + .byte N12 , Ds3 , v112 + .byte W12 + .byte N06 , Ds3 , v036 + .byte W12 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W09 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W21 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W09 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W21 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W09 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W21 + .byte N03 , Ds3 , v112 + .byte W03 + .byte Ds3 , v036 + .byte W03 + .byte Dn3 , v112 + .byte W03 + .byte Dn3 , v036 + .byte W03 + .byte N12 , Ds3 , v112 + .byte W12 + .byte N06 , Ds3 , v036 + .byte W12 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W09 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W21 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W09 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W21 + .byte N03 , Ds3 , v112 + .byte W06 + .byte Dn3 + .byte W06 + .byte N12 , Ds3 + .byte W12 + .byte VOICE , 80 + .byte PAN , c_v+0 + .byte VOL , 42*mus_minamo_mvl/mxv + .byte W12 + .byte N03 , En3 + .byte W03 + .byte En3 , v036 + .byte W03 + .byte Ds3 , v112 + .byte W03 + .byte Ds3 , v036 + .byte W03 + .byte N12 , En3 , v112 + .byte W12 + .byte N06 , En3 , v036 + .byte W12 + .byte N03 , En3 , v112 + .byte W03 + .byte N06 , En3 , v036 + .byte W09 + .byte N03 , En3 , v112 + .byte W03 + .byte N06 , En3 , v036 + .byte W21 + .byte N03 , En3 , v112 + .byte W03 + .byte En3 , v036 + .byte W03 + .byte Ds3 , v112 + .byte W03 + .byte Ds3 , v036 + .byte W03 +mus_minamo_6_000: + .byte N12 , En3 , v112 + .byte W12 + .byte N06 , En3 , v036 + .byte W12 + .byte N03 , En3 , v112 + .byte W03 + .byte N06 , En3 , v036 + .byte W09 + .byte N03 , En3 , v112 + .byte W03 + .byte N06 , En3 , v036 + .byte W21 + .byte N03 , Ds3 , v112 + .byte W03 + .byte Ds3 , v036 + .byte W03 + .byte Dn3 , v112 + .byte W03 + .byte Dn3 , v036 + .byte W03 + .byte N12 , Ds3 , v112 + .byte W12 + .byte N06 , Ds3 , v036 + .byte W12 + .byte PEND + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W09 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W21 + .byte N03 , Gs3 , v112 + .byte W03 + .byte Gs3 , v036 + .byte W03 + .byte Gn3 , v112 + .byte W03 + .byte Gn3 , v036 + .byte W03 + .byte N12 , Gs3 , v112 + .byte W12 + .byte N06 , Gs3 , v036 + .byte W12 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v036 + .byte W09 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v036 + .byte W09 + .byte W12 + .byte N03 , En3 , v112 + .byte W03 + .byte En3 , v036 + .byte W03 + .byte Ds3 , v112 + .byte W03 + .byte Ds3 , v036 + .byte W03 + .byte N12 , En3 , v112 + .byte W12 + .byte N06 , En3 , v036 + .byte W12 + .byte N03 , En3 , v112 + .byte W03 + .byte N06 , En3 , v036 + .byte W09 + .byte N03 , En3 , v112 + .byte W03 + .byte N06 , En3 , v036 + .byte W21 + .byte N03 , En3 , v112 + .byte W03 + .byte En3 , v036 + .byte W03 + .byte Ds3 , v112 + .byte W03 + .byte Ds3 , v036 + .byte W03 + .byte PATT + .word mus_minamo_6_000 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W09 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W21 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W09 + .byte N12 , Ds3 , v112 + .byte W12 + .byte N06 , Ds3 , v036 + .byte W12 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W09 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W09 + .byte W12 + .byte N03 , Ds3 , v112 + .byte W03 + .byte Ds3 , v036 + .byte W03 + .byte Dn3 , v112 + .byte W03 + .byte Dn3 , v036 + .byte W03 + .byte Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W21 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W09 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W21 + .byte N03 , Gs3 , v112 + .byte W03 + .byte Gs3 , v036 + .byte W03 + .byte Gn3 , v112 + .byte W03 + .byte Gn3 , v036 + .byte W03 + .byte Gs3 , v112 + .byte W03 + .byte Gs3 , v036 + .byte W03 + .byte Bn3 , v112 + .byte W03 + .byte N06 , Bn3 , v036 + .byte W15 + .byte N03 , En3 , v112 + .byte W03 + .byte N06 , En3 , v036 + .byte W09 + .byte N03 , En3 , v112 + .byte W03 + .byte N06 , En3 , v036 + .byte W21 + .byte N03 , Cs3 , v112 + .byte W03 + .byte N06 , Cs3 , v036 + .byte W09 + .byte N03 , Cs3 , v112 + .byte W03 + .byte N06 , Cs3 , v036 + .byte W21 + .byte N03 , Fn3 , v112 + .byte W03 + .byte N06 , Fn3 , v036 + .byte W09 + .byte N03 , Fn3 , v112 + .byte W03 + .byte N06 , Fn3 , v036 + .byte W80 + .byte W01 + .byte W12 + .byte N03 , Ds3 , v112 + .byte W03 + .byte Ds3 , v036 + .byte W03 + .byte Dn3 , v112 + .byte W03 + .byte Dn3 , v036 + .byte W03 + .byte N12 , Ds3 , v112 + .byte W12 + .byte N06 , Ds3 , v036 + .byte W12 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W09 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W21 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v036 + .byte W09 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v036 + .byte W21 + .byte N03 , En3 , v112 + .byte W03 + .byte N06 , En3 , v036 + .byte W09 + .byte N03 , En3 , v112 + .byte W03 + .byte N06 , En3 , v036 + .byte W56 + .byte W01 + .byte W96 + .byte W12 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v036 + .byte W09 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v036 + .byte W21 + .byte N03 , Gs3 , v112 + .byte W03 + .byte Gs3 , v036 + .byte W03 + .byte N06 , Gn3 , v112 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cs4 , v036 + .byte W12 + .byte N03 , Fs3 , v112 + .byte W03 + .byte N06 , Fs3 , v036 + .byte W09 +mus_minamo_6_001: + .byte N03 , Fs3 , v112 + .byte W03 + .byte N06 , Fs3 , v036 + .byte W21 + .byte N03 , Fs3 , v112 + .byte W03 + .byte Fs3 , v036 + .byte W03 + .byte N06 , Fn3 , v112 + .byte W06 + .byte Fs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Bn3 , v036 + .byte W12 + .byte N03 , En3 , v112 + .byte W03 + .byte N06 , En3 , v036 + .byte W09 + .byte N03 , En3 , v112 + .byte W03 + .byte N06 , En3 , v036 + .byte W21 + .byte PEND + .byte N03 , En3 , v112 + .byte W03 + .byte En3 , v036 + .byte W03 + .byte N06 , Ds3 , v112 + .byte W06 + .byte En3 + .byte W06 + .byte As3 + .byte W06 + .byte As3 , v036 + .byte W12 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W09 + .byte N03 , Ds3 , v112 + .byte W03 + .byte N06 , Ds3 , v036 + .byte W21 + .byte N03 , Ds3 , v112 + .byte W03 + .byte Ds3 , v036 + .byte W03 + .byte N06 , Dn3 , v112 + .byte W06 + .byte Ds3 + .byte W06 + .byte An3 + .byte W06 + .byte An3 , v036 + .byte W12 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v036 + .byte W09 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v036 + .byte W21 + .byte N03 , Gs3 , v112 + .byte W03 + .byte Gs3 , v036 + .byte W03 + .byte N06 , Gn3 , v112 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cs4 , v036 + .byte W12 + .byte N03 , Fs3 , v112 + .byte W03 + .byte N06 , Fs3 , v036 + .byte W09 + .byte PATT + .word mus_minamo_6_001 + .byte N03 , En3 , v112 + .byte W03 + .byte En3 , v036 + .byte W03 + .byte N06 , Ds3 , v112 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gn3 , v036 + .byte W12 + .byte N03 , En3 , v112 + .byte W03 + .byte N06 , En3 , v036 + .byte W09 + .byte N03 , En3 , v112 + .byte W03 + .byte N06 , En3 , v036 + .byte W21 + .byte N03 , En3 , v112 + .byte W03 + .byte N06 , En3 , v036 + .byte W09 + .byte N03 , En3 , v112 + .byte W03 + .byte N06 , En3 , v036 + .byte W09 + .byte GOTO + .word mus_minamo_6_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_minamo: + .byte 6 @ NumTrks + .byte 0 @ NumBlks + .byte mus_minamo_pri @ Priority + .byte mus_minamo_rev @ Reverb. + + .word mus_minamo_grp + + .word mus_minamo_1 + .word mus_minamo_2 + .word mus_minamo_3 + .word mus_minamo_4 + .word mus_minamo_5 + .word mus_minamo_6 + + .end diff --git a/sound/songs/mus_mishiro.s b/sound/songs/mus_mishiro.s new file mode 100644 index 0000000000..1754b34bed --- /dev/null +++ b/sound/songs/mus_mishiro.s @@ -0,0 +1,3177 @@ + .include "MPlayDef.s" + + .equ mus_mishiro_grp, voicegroup_8682CD0 + .equ mus_mishiro_pri, 0 + .equ mus_mishiro_rev, reverb_set+50 + .equ mus_mishiro_mvl, 127 + .equ mus_mishiro_key, 0 + .equ mus_mishiro_tbs, 1 + .equ mus_mishiro_exg, 0 + .equ mus_mishiro_cmp, 1 + + .section .rodata + .global mus_mishiro + .align 2 + +@********************** Track 1 **********************@ + +mus_mishiro_1: + .byte KEYSH , mus_mishiro_key+0 + .byte TEMPO , 108*mus_mishiro_tbs/2 + .byte VOICE , 48 + .byte LFOS , 44 + .byte PAN , c_v+4 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-16 + .byte LFOS , 44 + .byte VOL , 37*mus_mishiro_mvl/mxv + .byte W12 + .byte W24 +mus_mishiro_1_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N03 , Bn3 , v096 + .byte W03 + .byte N32 , Cn4 , v108 + .byte W21 + .byte MOD , 3 + .byte VOL , 36*mus_mishiro_mvl/mxv + .byte W03 + .byte 34*mus_mishiro_mvl/mxv + .byte W03 + .byte 32*mus_mishiro_mvl/mxv + .byte W03 + .byte 29*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 37*mus_mishiro_mvl/mxv + .byte N12 , As3 , v104 + .byte W12 + .byte Cn4 , v112 + .byte W12 + .byte As3 , v096 + .byte W12 + .byte Cn4 , v108 + .byte W12 + .byte Dn4 + .byte W12 + .byte W12 + .byte N03 , Fn4 , v100 + .byte W03 + .byte N21 , En4 , v112 + .byte W09 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Fn4 , v096 + .byte W12 + .byte Cs4 , v112 + .byte W12 + .byte An3 , v096 + .byte W12 + .byte Cs4 , v112 + .byte W12 + .byte En4 , v096 + .byte W12 + .byte Fn4 , v112 + .byte W12 + .byte Fn4 , v036 + .byte W12 + .byte Gn4 , v112 + .byte W12 + .byte Gn4 , v036 + .byte W12 + .byte An4 , v112 + .byte W12 + .byte An4 , v036 + .byte W12 + .byte Fn4 , v100 + .byte W12 + .byte Cs4 , v092 + .byte W12 + .byte An3 , v112 + .byte W12 + .byte Gs3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N03 , En4 + .byte W03 + .byte N21 , Fn4 + .byte W09 + .byte MOD , 3 + .byte W12 + .byte 0 + .byte N12 , An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N48 , As3 + .byte W24 + .byte VOL , 37*mus_mishiro_mvl/mxv + .byte W03 + .byte 34*mus_mishiro_mvl/mxv + .byte W03 + .byte 32*mus_mishiro_mvl/mxv + .byte W03 + .byte 29*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 4 + .byte VOL , 27*mus_mishiro_mvl/mxv + .byte W03 + .byte 27*mus_mishiro_mvl/mxv + .byte W03 + .byte 25*mus_mishiro_mvl/mxv + .byte W03 + .byte 22*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 37*mus_mishiro_mvl/mxv + .byte N12 , Dn4 + .byte W12 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte Fn4 + .byte W12 + .byte N48 , As3 + .byte W24 + .byte VOL , 36*mus_mishiro_mvl/mxv + .byte W03 + .byte 34*mus_mishiro_mvl/mxv + .byte W03 + .byte 32*mus_mishiro_mvl/mxv + .byte W03 + .byte 29*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 6 + .byte VOL , 27*mus_mishiro_mvl/mxv + .byte W03 + .byte 25*mus_mishiro_mvl/mxv + .byte W03 + .byte 25*mus_mishiro_mvl/mxv + .byte W03 + .byte 22*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 37*mus_mishiro_mvl/mxv + .byte N03 , En4 + .byte W03 + .byte N09 , Fn4 + .byte W09 + .byte N06 , Dn4 + .byte W12 + .byte N12 + .byte W12 + .byte Fn4 + .byte W12 + .byte N72 , Gn3 + .byte W24 + .byte VOL , 36*mus_mishiro_mvl/mxv + .byte W02 + .byte 34*mus_mishiro_mvl/mxv + .byte W03 + .byte 33*mus_mishiro_mvl/mxv + .byte W03 + .byte 32*mus_mishiro_mvl/mxv + .byte W04 + .byte 31*mus_mishiro_mvl/mxv + .byte W02 + .byte 29*mus_mishiro_mvl/mxv + .byte W06 + .byte 27*mus_mishiro_mvl/mxv + .byte W06 + .byte 26*mus_mishiro_mvl/mxv + .byte W03 + .byte 25*mus_mishiro_mvl/mxv + .byte W07 + .byte MOD , 4 + .byte VOL , 24*mus_mishiro_mvl/mxv + .byte W02 + .byte 22*mus_mishiro_mvl/mxv + .byte W06 + .byte 22*mus_mishiro_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 37*mus_mishiro_mvl/mxv + .byte N12 + .byte W12 + .byte Fn3 + .byte W12 + .byte N36 , En3 + .byte W24 + .byte MOD , 4 + .byte VOL , 36*mus_mishiro_mvl/mxv + .byte W03 + .byte 34*mus_mishiro_mvl/mxv + .byte W03 + .byte 32*mus_mishiro_mvl/mxv + .byte W03 + .byte 29*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 37*mus_mishiro_mvl/mxv + .byte N12 , Dn3 + .byte W12 + .byte Cn3 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_mishiro_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_mishiro_2: + .byte KEYSH , mus_mishiro_key+0 + .byte VOICE , 73 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte LFOS , 44 + .byte MOD , 0 + .byte VOL , 44*mus_mishiro_mvl/mxv + .byte N12 , Cn4 , v112 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 +mus_mishiro_2_B1: + .byte VOICE , 73 + .byte N03 , Gs4 , v112 + .byte W03 + .byte N32 , An4 + .byte W21 + .byte MOD , 6 + .byte VOL , 41*mus_mishiro_mvl/mxv + .byte W02 + .byte 37*mus_mishiro_mvl/mxv + .byte W03 + .byte 35*mus_mishiro_mvl/mxv + .byte W04 + .byte 32*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 44*mus_mishiro_mvl/mxv + .byte N12 , Gn4 , v084 + .byte W12 + .byte N11 , An4 , v092 + .byte W12 + .byte Gn4 , v088 + .byte W12 + .byte An4 + .byte W12 + .byte As4 , v092 + .byte W12 + .byte N36 , Cn5 , v112 + .byte W24 + .byte MOD , 6 + .byte VOL , 41*mus_mishiro_mvl/mxv + .byte W02 + .byte 37*mus_mishiro_mvl/mxv + .byte W03 + .byte 30*mus_mishiro_mvl/mxv + .byte W03 + .byte 23*mus_mishiro_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 44*mus_mishiro_mvl/mxv + .byte N12 , Dn5 + .byte W12 + .byte An4 , v100 + .byte W24 + .byte An4 , v096 + .byte W12 + .byte Cs5 , v100 + .byte W12 + .byte Dn5 , v112 + .byte W12 + .byte Dn5 , v036 + .byte W12 + .byte N24 , En5 , v100 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N12 , Dn5 , v092 + .byte W12 + .byte MOD , 7 + .byte N12 , Dn5 , v036 + .byte W12 + .byte MOD , 0 + .byte N12 , An4 , v100 + .byte W12 + .byte Gn4 , v096 + .byte W12 + .byte Fn4 , v112 + .byte W12 + .byte En4 , v096 + .byte W12 + .byte Fn4 , v100 + .byte W12 + .byte An4 , v112 + .byte W12 + .byte N03 , Cs5 , v104 + .byte W03 + .byte N21 , Dn5 , v112 + .byte W12 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N12 , Dn4 , v096 + .byte W12 + .byte En4 , v104 + .byte W12 + .byte N48 , Fn4 , v112 + .byte W24 + .byte MOD , 7 + .byte VOL , 44*mus_mishiro_mvl/mxv + .byte W02 + .byte 40*mus_mishiro_mvl/mxv + .byte W03 + .byte 37*mus_mishiro_mvl/mxv + .byte W03 + .byte 36*mus_mishiro_mvl/mxv + .byte W04 + .byte 34*mus_mishiro_mvl/mxv + .byte W02 + .byte 31*mus_mishiro_mvl/mxv + .byte W03 + .byte 28*mus_mishiro_mvl/mxv + .byte W03 + .byte 25*mus_mishiro_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 44*mus_mishiro_mvl/mxv + .byte N12 , Cn5 + .byte W12 + .byte N06 , As4 , v100 + .byte W06 + .byte As4 , v036 + .byte W06 + .byte N12 , As4 , v112 + .byte W12 + .byte An4 , v100 + .byte W12 + .byte N48 , Fn4 , v104 + .byte W24 + .byte MOD , 7 + .byte VOL , 44*mus_mishiro_mvl/mxv + .byte W02 + .byte 40*mus_mishiro_mvl/mxv + .byte W03 + .byte 37*mus_mishiro_mvl/mxv + .byte W03 + .byte 36*mus_mishiro_mvl/mxv + .byte W04 + .byte 34*mus_mishiro_mvl/mxv + .byte W02 + .byte 31*mus_mishiro_mvl/mxv + .byte W03 + .byte 28*mus_mishiro_mvl/mxv + .byte W03 + .byte 25*mus_mishiro_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 44*mus_mishiro_mvl/mxv + .byte N03 , Cs5 , v092 + .byte W03 + .byte N09 , Dn5 , v096 + .byte W09 + .byte N06 , An4 + .byte W06 + .byte An4 , v032 + .byte W06 + .byte N12 , An4 , v096 + .byte W12 + .byte Gn4 + .byte W12 + .byte N72 , Fn4 + .byte W24 + .byte VOL , 42*mus_mishiro_mvl/mxv + .byte MOD , 7 + .byte W02 + .byte VOL , 40*mus_mishiro_mvl/mxv + .byte W03 + .byte 40*mus_mishiro_mvl/mxv + .byte W03 + .byte 38*mus_mishiro_mvl/mxv + .byte W04 + .byte 37*mus_mishiro_mvl/mxv + .byte W05 + .byte 36*mus_mishiro_mvl/mxv + .byte W03 + .byte 35*mus_mishiro_mvl/mxv + .byte W04 + .byte 34*mus_mishiro_mvl/mxv + .byte W02 + .byte 33*mus_mishiro_mvl/mxv + .byte W03 + .byte 31*mus_mishiro_mvl/mxv + .byte W03 + .byte 29*mus_mishiro_mvl/mxv + .byte W06 + .byte 29*mus_mishiro_mvl/mxv + .byte W03 + .byte 28*mus_mishiro_mvl/mxv + .byte W04 + .byte 24*mus_mishiro_mvl/mxv + .byte W03 + .byte 43*mus_mishiro_mvl/mxv + .byte MOD , 0 + .byte N12 , En4 , v100 + .byte W12 + .byte Dn4 + .byte W12 + .byte N36 , En4 , v112 + .byte W24 + .byte MOD , 6 + .byte VOL , 40*mus_mishiro_mvl/mxv + .byte W02 + .byte 34*mus_mishiro_mvl/mxv + .byte W03 + .byte 28*mus_mishiro_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte VOL , 44*mus_mishiro_mvl/mxv + .byte N12 , Fn4 , v100 + .byte W12 + .byte Gn4 , v112 + .byte W12 + .byte VOICE , 48 + .byte VOL , 41*mus_mishiro_mvl/mxv + .byte N12 , Cn4 , v096 + .byte W12 + .byte Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte N03 , Gs4 , v104 + .byte W03 + .byte N32 , An4 , v112 + .byte W21 + .byte MOD , 3 + .byte VOL , 39*mus_mishiro_mvl/mxv + .byte W02 + .byte 35*mus_mishiro_mvl/mxv + .byte W01 + .byte 37*mus_mishiro_mvl/mxv + .byte W02 + .byte 30*mus_mishiro_mvl/mxv + .byte W01 + .byte 34*mus_mishiro_mvl/mxv + .byte W02 + .byte 25*mus_mishiro_mvl/mxv + .byte W01 + .byte 31*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 40*mus_mishiro_mvl/mxv + .byte N12 , Gn4 , v104 + .byte W12 + .byte An4 , v112 + .byte W12 + .byte Gn4 , v096 + .byte W12 + .byte An4 , v108 + .byte W12 + .byte As4 + .byte W12 + .byte W12 + .byte N03 , Cs5 , v100 + .byte W03 + .byte N21 , Cn5 , v112 + .byte W09 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Dn5 , v096 + .byte W12 + .byte An4 , v112 + .byte W12 + .byte Gn4 , v096 + .byte W12 + .byte An4 , v112 + .byte W12 + .byte Cs5 , v096 + .byte W12 + .byte Dn5 , v112 + .byte W12 + .byte Dn5 , v036 + .byte W12 + .byte En5 , v112 + .byte W12 + .byte En5 , v036 + .byte W12 + .byte Fn5 , v112 + .byte W12 + .byte Fn5 , v036 + .byte W12 + .byte An4 , v100 + .byte W12 + .byte Gn4 , v092 + .byte W12 + .byte Fn4 , v112 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte An4 + .byte W12 + .byte N03 , Cs5 + .byte W03 + .byte N21 , Dn5 + .byte W09 + .byte MOD , 3 + .byte W12 + .byte 0 + .byte N12 , Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte N48 , Fn4 + .byte W24 + .byte VOL , 40*mus_mishiro_mvl/mxv + .byte W02 + .byte 37*mus_mishiro_mvl/mxv + .byte W03 + .byte 36*mus_mishiro_mvl/mxv + .byte W03 + .byte 33*mus_mishiro_mvl/mxv + .byte W04 + .byte MOD , 4 + .byte VOL , 31*mus_mishiro_mvl/mxv + .byte W02 + .byte 26*mus_mishiro_mvl/mxv + .byte W03 + .byte 24*mus_mishiro_mvl/mxv + .byte W03 + .byte 18*mus_mishiro_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 40*mus_mishiro_mvl/mxv + .byte N12 , Cn5 + .byte W12 + .byte N06 , As4 + .byte W06 + .byte As4 , v032 + .byte W06 + .byte N12 , As4 , v112 + .byte W12 + .byte An4 + .byte W12 + .byte N48 , Fn4 + .byte W24 + .byte VOL , 40*mus_mishiro_mvl/mxv + .byte W02 + .byte 37*mus_mishiro_mvl/mxv + .byte W03 + .byte 36*mus_mishiro_mvl/mxv + .byte W03 + .byte 33*mus_mishiro_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte VOL , 31*mus_mishiro_mvl/mxv + .byte W02 + .byte 26*mus_mishiro_mvl/mxv + .byte W03 + .byte 24*mus_mishiro_mvl/mxv + .byte W03 + .byte 18*mus_mishiro_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 40*mus_mishiro_mvl/mxv + .byte N03 , Cs5 + .byte W03 + .byte N09 , Dn5 + .byte W09 + .byte N06 , An4 + .byte W06 + .byte An4 , v032 + .byte W06 + .byte N12 , An4 , v112 + .byte W12 + .byte Gn4 + .byte W12 + .byte N72 , Fn4 + .byte W24 + .byte VOL , 39*mus_mishiro_mvl/mxv + .byte W02 + .byte 37*mus_mishiro_mvl/mxv + .byte W06 + .byte 34*mus_mishiro_mvl/mxv + .byte W04 + .byte 33*mus_mishiro_mvl/mxv + .byte W02 + .byte 32*mus_mishiro_mvl/mxv + .byte W03 + .byte 31*mus_mishiro_mvl/mxv + .byte W03 + .byte 29*mus_mishiro_mvl/mxv + .byte W06 + .byte 27*mus_mishiro_mvl/mxv + .byte W03 + .byte 26*mus_mishiro_mvl/mxv + .byte W03 + .byte 25*mus_mishiro_mvl/mxv + .byte W04 + .byte MOD , 4 + .byte W02 + .byte VOL , 24*mus_mishiro_mvl/mxv + .byte W03 + .byte 22*mus_mishiro_mvl/mxv + .byte W04 + .byte 20*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 40*mus_mishiro_mvl/mxv + .byte N12 , En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N36 , Gn4 + .byte W24 + .byte MOD , 4 + .byte VOL , 37*mus_mishiro_mvl/mxv + .byte W03 + .byte 36*mus_mishiro_mvl/mxv + .byte W03 + .byte 34*mus_mishiro_mvl/mxv + .byte W03 + .byte 32*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 40*mus_mishiro_mvl/mxv + .byte N12 , An4 + .byte W12 + .byte As4 + .byte W12 + .byte As4 , v032 + .byte W12 + .byte VOICE , 73 + .byte VOL , 46*mus_mishiro_mvl/mxv + .byte N12 , An4 , v112 + .byte W12 + .byte As4 + .byte W12 + .byte N48 , Cn5 + .byte W24 + .byte MOD , 7 + .byte VOL , 41*mus_mishiro_mvl/mxv + .byte W02 + .byte 39*mus_mishiro_mvl/mxv + .byte W03 + .byte 37*mus_mishiro_mvl/mxv + .byte W03 + .byte 34*mus_mishiro_mvl/mxv + .byte W04 + .byte 33*mus_mishiro_mvl/mxv + .byte W02 + .byte 29*mus_mishiro_mvl/mxv + .byte W03 + .byte 27*mus_mishiro_mvl/mxv + .byte W03 + .byte 25*mus_mishiro_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 45*mus_mishiro_mvl/mxv + .byte N12 , Cs5 + .byte W12 + .byte As4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N06 , Fn4 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Dn4 , v032 + .byte W12 + .byte Fn4 , v112 + .byte W12 + .byte An4 + .byte W12 + .byte N48 , Gn4 + .byte W24 + .byte MOD , 7 + .byte VOL , 42*mus_mishiro_mvl/mxv + .byte W02 + .byte 40*mus_mishiro_mvl/mxv + .byte W03 + .byte 37*mus_mishiro_mvl/mxv + .byte W03 + .byte 35*mus_mishiro_mvl/mxv + .byte W04 + .byte 33*mus_mishiro_mvl/mxv + .byte W02 + .byte 31*mus_mishiro_mvl/mxv + .byte W03 + .byte 29*mus_mishiro_mvl/mxv + .byte W03 + .byte 25*mus_mishiro_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte N12 , Gn4 , v032 + .byte W12 + .byte VOL , 45*mus_mishiro_mvl/mxv + .byte N03 , En4 , v112 + .byte W03 + .byte N09 , Fn4 + .byte W09 + .byte N12 , Dn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N06 , En4 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte N24 , En4 , v112 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Gn4 , v032 + .byte W12 + .byte VOICE , 48 + .byte N12 , An4 , v112 + .byte W12 + .byte As4 + .byte W12 + .byte N48 , Cn5 + .byte W24 + .byte MOD , 4 + .byte VOL , 42*mus_mishiro_mvl/mxv + .byte W02 + .byte 40*mus_mishiro_mvl/mxv + .byte W03 + .byte 39*mus_mishiro_mvl/mxv + .byte W03 + .byte 37*mus_mishiro_mvl/mxv + .byte W04 + .byte 35*mus_mishiro_mvl/mxv + .byte W02 + .byte 32*mus_mishiro_mvl/mxv + .byte W03 + .byte 30*mus_mishiro_mvl/mxv + .byte W03 + .byte 28*mus_mishiro_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 25*mus_mishiro_mvl/mxv + .byte N12 , Cn5 , v032 + .byte W12 + .byte VOL , 45*mus_mishiro_mvl/mxv + .byte N12 , An4 , v112 + .byte W12 + .byte Cs5 + .byte W12 + .byte En5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Fn5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Dn5 , v032 + .byte W12 + .byte Fn5 , v112 + .byte W12 + .byte An5 + .byte W12 + .byte N48 , Gn5 + .byte W24 + .byte VOL , 42*mus_mishiro_mvl/mxv + .byte MOD , 4 + .byte W02 + .byte VOL , 38*mus_mishiro_mvl/mxv + .byte W03 + .byte 35*mus_mishiro_mvl/mxv + .byte W03 + .byte 31*mus_mishiro_mvl/mxv + .byte W04 + .byte 28*mus_mishiro_mvl/mxv + .byte W02 + .byte 25*mus_mishiro_mvl/mxv + .byte W03 + .byte 24*mus_mishiro_mvl/mxv + .byte W03 + .byte 22*mus_mishiro_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 22*mus_mishiro_mvl/mxv + .byte N12 , Gn5 , v032 + .byte W12 + .byte VOL , 44*mus_mishiro_mvl/mxv + .byte N03 , En5 , v112 + .byte W03 + .byte N09 , Fn5 + .byte W09 + .byte N12 , Dn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N06 , En5 + .byte W06 + .byte En5 , v032 + .byte W06 + .byte N24 , En5 , v112 + .byte W24 + .byte N12 , Fn5 + .byte W12 + .byte N24 , Gn5 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte VOICE , 73 + .byte MOD , 0 + .byte VOL , 47*mus_mishiro_mvl/mxv + .byte N12 , As4 + .byte W12 + .byte Gn4 + .byte W12 + .byte GOTO + .word mus_mishiro_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_mishiro_3: + .byte KEYSH , mus_mishiro_key+0 + .byte VOICE , 35 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte LFOS , 44 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N06 , Cn1 , v127 + .byte W12 + .byte N24 , En1 , v112 + .byte W24 +mus_mishiro_3_B1: + .byte N24 , Fn1 , v120 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , Fn1 , v028 + .byte W12 + .byte N06 , Fn1 , v108 + .byte W06 + .byte Fn1 , v028 + .byte W06 + .byte Cn2 , v088 + .byte W06 + .byte N05 , Cn2 , v028 + .byte W06 + .byte N17 , Fn1 , v100 + .byte W18 + .byte N05 , Fn1 , v028 + .byte W06 + .byte N06 , Gn1 , v100 + .byte W06 + .byte N05 , Gn1 , v028 + .byte W06 + .byte N24 , An1 , v120 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , An1 , v028 + .byte W12 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v028 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v028 + .byte W06 + .byte N18 , An1 , v120 + .byte W24 + .byte N06 , Gn1 , v112 + .byte W12 + .byte N24 , Dn1 , v124 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , Dn1 , v028 + .byte W12 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v028 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v028 + .byte W06 + .byte N18 , An1 , v120 + .byte W18 + .byte N06 , An1 , v028 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte N24 , Cn1 , v124 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , Cn1 , v028 + .byte W12 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v028 + .byte W06 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v028 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte An1 , v112 + .byte W12 + .byte Gn1 + .byte W12 + .byte N24 , Fn1 , v124 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , Fn1 , v028 + .byte W12 + .byte N06 , As0 , v112 + .byte W06 + .byte As0 , v028 + .byte W06 + .byte As1 , v112 + .byte W06 + .byte As1 , v028 + .byte W06 + .byte N18 , As1 , v120 + .byte W18 + .byte N06 , As1 , v028 + .byte W06 + .byte Dn2 , v112 + .byte W06 + .byte Dn2 , v028 + .byte W06 + .byte N24 , Gn1 , v124 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , Gn1 , v028 + .byte W12 + .byte N06 , Dn1 , v112 + .byte W06 + .byte Dn1 , v028 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte N18 , Gn1 , v120 + .byte W18 + .byte N06 , Gn1 , v028 + .byte W06 + .byte Dn2 , v112 + .byte W06 + .byte Dn2 , v028 + .byte W06 + .byte N24 , Cn2 , v120 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , Cn2 , v028 + .byte W12 + .byte N06 , Cn2 , v112 + .byte W06 + .byte Cn2 , v028 + .byte W06 + .byte Gn2 , v112 + .byte W06 + .byte Gn2 , v028 + .byte W06 + .byte N12 , Cn2 , v116 + .byte W12 + .byte As1 , v112 + .byte W12 + .byte Gn1 + .byte W12 + .byte N24 , En1 , v124 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , En1 , v028 + .byte W12 + .byte N06 , En1 , v112 + .byte W06 + .byte En1 , v028 + .byte W06 + .byte Cn1 , v116 + .byte W06 + .byte Cn1 , v028 + .byte W06 + .byte N12 , Cn2 , v104 + .byte W12 + .byte N06 , Cn3 , v084 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , As1 , v112 + .byte W12 + .byte N24 , Fn1 , v124 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , Fn1 , v028 + .byte W12 + .byte N06 , Fn1 , v112 + .byte W06 + .byte Fn1 , v028 + .byte W06 + .byte Cn2 , v112 + .byte W06 + .byte Cn2 , v028 + .byte W06 + .byte N18 , Fn1 , v120 + .byte W18 + .byte N06 , Fn1 , v028 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte N24 , An1 , v124 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , An1 , v028 + .byte W12 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v028 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v028 + .byte W06 + .byte N18 , An1 , v120 + .byte W18 + .byte N06 , An1 , v028 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte N24 , Dn1 , v124 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , Dn1 , v028 + .byte W12 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v028 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v028 + .byte W06 + .byte N18 , An1 , v120 + .byte W24 + .byte N06 , Gn1 , v112 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte N24 , Cn1 , v127 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , Cn1 , v028 + .byte W12 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v028 + .byte W06 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v028 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte En1 + .byte W12 + .byte N24 , Fn1 , v127 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , Fn1 , v028 + .byte W12 + .byte N06 , As0 , v112 + .byte W06 + .byte As0 , v028 + .byte W06 + .byte As1 , v112 + .byte W06 + .byte As1 , v028 + .byte W06 + .byte N18 , As1 , v120 + .byte W18 + .byte N06 , As1 , v028 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v028 + .byte W06 + .byte N24 , Gn1 , v127 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , Gn1 , v028 + .byte W12 + .byte N06 , Gn1 , v112 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte Dn2 , v112 + .byte W06 + .byte Dn2 , v028 + .byte W06 + .byte N18 , Gn1 , v120 + .byte W18 + .byte N06 , Gn1 , v028 + .byte W06 + .byte As1 , v112 + .byte W06 + .byte As1 , v028 + .byte W06 + .byte N24 , Cn2 , v127 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , Cn2 , v028 + .byte W12 + .byte N06 , Cn2 , v112 + .byte W06 + .byte Cn2 , v028 + .byte W06 + .byte Gn2 , v112 + .byte W06 + .byte Gn2 , v028 + .byte W06 + .byte N12 , Cn2 , v120 + .byte W12 + .byte As1 , v112 + .byte W12 + .byte Gn1 + .byte W12 + .byte N24 , En1 , v127 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , En1 , v028 + .byte W12 + .byte N06 , En1 , v112 + .byte W06 + .byte En1 , v028 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Cn1 , v028 + .byte W06 + .byte N12 , Cn2 , v120 + .byte W12 + .byte N06 , Cn3 , v088 + .byte W06 + .byte Cn3 , v028 + .byte W06 + .byte N12 , As1 , v112 + .byte W12 + .byte N24 , Cn2 , v127 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , Cn2 , v028 + .byte W12 + .byte N06 , Cn2 , v112 + .byte W06 + .byte Cn2 , v028 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v028 + .byte W06 + .byte N18 , Cs2 , v120 + .byte W18 + .byte N06 , Cs2 , v028 + .byte W06 + .byte As1 , v112 + .byte W06 + .byte As1 , v028 + .byte W06 + .byte N24 , An1 , v127 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , An1 , v028 + .byte W12 + .byte N06 , Dn2 , v112 + .byte W06 + .byte Dn2 , v028 + .byte W06 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v028 + .byte W06 + .byte N18 , Fn1 , v120 + .byte W18 + .byte N06 , Fn1 , v028 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte An1 , v028 + .byte W06 + .byte N24 , As1 , v127 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , As1 , v028 + .byte W12 + .byte N06 , Gn1 , v112 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v028 + .byte W06 + .byte N18 , Gn1 , v120 + .byte W18 + .byte N06 , Gn1 , v028 + .byte W06 + .byte Dn2 , v112 + .byte W06 + .byte Dn2 , v028 + .byte W06 + .byte N24 , Cn2 , v127 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , Cn2 , v028 + .byte W12 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v028 + .byte W06 + .byte As1 , v112 + .byte W06 + .byte As1 , v028 + .byte W06 + .byte N18 , As1 , v120 + .byte W18 + .byte N06 , As1 , v028 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte N24 , An1 , v127 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , An1 , v028 + .byte W12 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v028 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v028 + .byte W06 + .byte N18 , An1 , v120 + .byte W18 + .byte N06 , An1 , v028 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v028 + .byte W06 + .byte N24 , Fn1 , v127 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , Fn1 , v028 + .byte W12 + .byte N06 , Dn2 , v112 + .byte W06 + .byte Dn2 , v028 + .byte W06 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v028 + .byte W06 + .byte N18 , Bn1 , v120 + .byte W18 + .byte N06 , Bn1 , v028 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte N24 , As1 , v127 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , As1 , v028 + .byte W12 + .byte N06 , Gn1 , v112 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v028 + .byte W06 + .byte N18 , Bn1 , v120 + .byte W18 + .byte N06 , Bn1 , v028 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte N24 , Cn2 , v127 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 88*mus_mishiro_mvl/mxv + .byte W03 + .byte 75*mus_mishiro_mvl/mxv + .byte W03 + .byte 62*mus_mishiro_mvl/mxv + .byte W03 + .byte 50*mus_mishiro_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 100*mus_mishiro_mvl/mxv + .byte N12 , Cn2 , v028 + .byte W12 + .byte N06 , Fn2 , v112 + .byte W06 + .byte Fn2 , v028 + .byte W06 + .byte Cn2 , v112 + .byte W06 + .byte Cn2 , v028 + .byte W06 + .byte N18 , Cn2 , v120 + .byte W18 + .byte N06 , Cn2 , v028 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte GOTO + .word mus_mishiro_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_mishiro_4: + .byte KEYSH , mus_mishiro_key+0 + .byte VOICE , 45 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+32 + .byte VOL , 62*mus_mishiro_mvl/mxv + .byte W12 + .byte W24 +mus_mishiro_4_B1: + .byte VOICE , 45 + .byte W24 + .byte N06 , Fn3 , v112 + .byte W06 + .byte N12 , Fn3 , v040 + .byte W42 + .byte N06 , Fn3 , v112 + .byte W06 + .byte N11 , Fn3 , v040 + .byte W18 + .byte W24 + .byte N06 , An3 , v112 + .byte W06 + .byte N12 , An3 , v040 + .byte W42 + .byte N06 , En3 , v112 + .byte W06 + .byte N12 , En3 , v040 + .byte W06 + .byte N06 , Cs3 , v112 + .byte W06 + .byte N12 , Cs3 , v040 + .byte W06 + .byte W24 + .byte N06 , Dn4 , v112 + .byte W06 + .byte N12 , Dn4 , v040 + .byte W42 + .byte N06 , Cs4 , v112 + .byte W06 + .byte N12 , Cs4 , v040 + .byte W18 + .byte W24 + .byte N06 , Cn4 , v112 + .byte W06 + .byte N12 , Cn4 , v040 + .byte W42 + .byte N06 , Fn3 , v112 + .byte W06 + .byte N12 , Fn3 , v040 + .byte W06 + .byte N06 , Dn3 , v112 + .byte W06 + .byte N12 , Dn3 , v040 + .byte W06 +mus_mishiro_4_000: + .byte W24 + .byte N06 , As3 , v112 + .byte W06 + .byte N12 , As3 , v040 + .byte W42 + .byte N06 , As3 , v112 + .byte W06 + .byte N12 , As3 , v040 + .byte W18 + .byte PEND + .byte PATT + .word mus_mishiro_4_000 + .byte W24 + .byte N06 , Cn4 , v112 + .byte W06 + .byte N12 , Cn4 , v040 + .byte W42 + .byte N06 , Cn4 , v112 + .byte W06 + .byte N12 , Cn4 , v040 + .byte W18 + .byte PATT + .word mus_mishiro_4_000 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W60 + .byte VOICE , 0 + .byte VOL , 50*mus_mishiro_mvl/mxv + .byte W36 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_mishiro_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_mishiro_5: + .byte KEYSH , mus_mishiro_key+0 + .byte VOICE , 1 + .byte PAN , c_v+0 + .byte LFOS , 44 + .byte VOL , 50*mus_mishiro_mvl/mxv + .byte W12 + .byte W24 +mus_mishiro_5_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte N12 , An5 , v112 + .byte W12 + .byte As5 + .byte W12 + .byte N48 , Cn6 + .byte W48 + .byte N12 , Cs6 + .byte W12 + .byte As5 + .byte W12 + .byte An5 + .byte W12 + .byte Gn5 + .byte W12 + .byte N06 , Fn5 + .byte W06 + .byte Fn5 , v036 + .byte W06 + .byte N24 , Fn5 , v112 + .byte W24 + .byte N12 , En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Dn5 , v036 + .byte W12 + .byte Fn5 , v112 + .byte W12 + .byte An5 + .byte W12 + .byte N48 , Gn5 + .byte W48 + .byte N12 , Gn5 , v036 + .byte W12 + .byte N03 , En5 , v112 + .byte W03 + .byte N09 , Fn5 + .byte W09 + .byte N12 , Dn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N06 , En5 + .byte W06 + .byte En5 , v036 + .byte W06 + .byte N24 , En5 , v112 + .byte W24 + .byte N12 , Fn5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Gn5 , v036 + .byte W12 + .byte An5 , v112 + .byte W12 + .byte As5 + .byte W12 + .byte N48 , Cn6 + .byte W48 + .byte N12 , Cn6 , v036 + .byte W12 + .byte An5 , v112 + .byte W12 + .byte Cs6 + .byte W12 + .byte En6 + .byte W12 + .byte Gn6 + .byte W12 + .byte Fn6 + .byte W12 + .byte En6 + .byte W12 + .byte Fn6 + .byte W12 + .byte Dn6 + .byte W12 + .byte Dn6 , v032 + .byte W12 + .byte Fn6 , v112 + .byte W12 + .byte An6 + .byte W12 + .byte N48 , Gn6 + .byte W48 + .byte N12 , Gn6 , v036 + .byte W12 + .byte N03 , En6 , v112 + .byte W03 + .byte N09 , Fn6 + .byte W09 + .byte N12 , Dn6 + .byte W12 + .byte Fn6 + .byte W12 + .byte N06 , En6 + .byte W06 + .byte En6 , v032 + .byte W06 + .byte N24 , En6 , v112 + .byte W24 + .byte N12 , Fn6 + .byte W12 + .byte N24 , Gn6 + .byte W24 + .byte N12 , As5 + .byte W12 + .byte Gn5 + .byte W12 + .byte GOTO + .word mus_mishiro_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_mishiro_6: + .byte KEYSH , mus_mishiro_key+0 + .byte VOICE , 45 + .byte PAN , c_v-8 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v-32 + .byte VOL , 68*mus_mishiro_mvl/mxv + .byte W12 + .byte W24 +mus_mishiro_6_B1: + .byte VOICE , 45 + .byte N06 , Fn2 , v112 + .byte W06 + .byte Fn2 , v040 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v040 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v040 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v040 + .byte W06 + .byte Fn2 , v112 + .byte W06 + .byte Fn2 , v040 + .byte W06 + .byte N05 , Cn3 , v112 + .byte W06 + .byte N06 , Cn3 , v040 + .byte W06 + .byte N05 , An3 , v112 + .byte W06 + .byte N06 , An3 , v040 + .byte W06 + .byte N05 , Cn3 , v112 + .byte W06 + .byte N06 , Cn3 , v040 + .byte W06 + .byte N05 , An2 , v112 + .byte W06 + .byte N06 , An2 , v040 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v040 + .byte W06 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v040 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v040 + .byte W06 + .byte Gn2 , v112 + .byte W06 + .byte Gn2 , v040 + .byte W06 + .byte Cs3 , v112 + .byte W06 + .byte Cs3 , v040 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v040 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v040 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v040 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v040 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v040 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v040 + .byte W06 + .byte Cs3 , v112 + .byte W06 + .byte Cs3 , v040 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v040 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v040 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v040 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v040 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v040 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v040 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v040 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v040 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v040 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v040 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v040 + .byte W06 + .byte As2 , v112 + .byte W06 + .byte As2 , v040 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v040 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v040 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v040 + .byte W06 + .byte As2 , v112 + .byte W06 + .byte As2 , v040 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v040 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v040 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v040 + .byte W06 + .byte Gn2 , v112 + .byte W06 + .byte Gn2 , v040 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v040 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v040 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v040 + .byte W06 + .byte Gn2 , v112 + .byte W06 + .byte Gn2 , v040 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v040 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v040 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v040 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v040 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v040 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v040 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v040 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v040 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v040 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v040 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v040 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v040 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v040 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v040 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v040 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v040 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v040 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v040 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v040 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W60 + .byte VOICE , 48 + .byte W36 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_mishiro_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_mishiro_7: + .byte KEYSH , mus_mishiro_key+0 + .byte VOICE , 4 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte XCMD , xIECV , 12 + .byte xIECV , 8 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 37*mus_mishiro_mvl/mxv + .byte N12 , Cn4 , v064 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 +mus_mishiro_7_B1: + .byte VOICE , 4 + .byte PAN , c_v+0 + .byte VOL , 37*mus_mishiro_mvl/mxv + .byte BEND , c_v+1 + .byte N03 , Gs4 , v064 + .byte W03 + .byte N32 , An4 + .byte W21 + .byte MOD , 6 + .byte VOL , 34*mus_mishiro_mvl/mxv + .byte W02 + .byte 24*mus_mishiro_mvl/mxv + .byte W03 + .byte 18*mus_mishiro_mvl/mxv + .byte W03 + .byte 12*mus_mishiro_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 37*mus_mishiro_mvl/mxv + .byte N12 , Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte As4 + .byte W12 + .byte N36 , Cn5 + .byte W24 + .byte MOD , 6 + .byte VOL , 32*mus_mishiro_mvl/mxv + .byte W02 + .byte 25*mus_mishiro_mvl/mxv + .byte W03 + .byte 18*mus_mishiro_mvl/mxv + .byte W03 + .byte 15*mus_mishiro_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 37*mus_mishiro_mvl/mxv + .byte N12 , Dn5 + .byte W12 + .byte An4 + .byte W24 + .byte N12 + .byte W12 + .byte Cs5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Dn5 , v024 + .byte W12 + .byte N24 , En5 , v064 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N12 , Dn5 + .byte W12 + .byte MOD , 7 + .byte N12 , Dn5 , v024 + .byte W12 + .byte MOD , 0 + .byte N12 , An4 , v064 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte An4 + .byte W12 + .byte N03 , Cs5 + .byte W03 + .byte N21 , Dn5 + .byte W12 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N12 , Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte N48 , Fn4 + .byte W24 + .byte MOD , 7 + .byte VOL , 37*mus_mishiro_mvl/mxv + .byte W02 + .byte 32*mus_mishiro_mvl/mxv + .byte W03 + .byte 27*mus_mishiro_mvl/mxv + .byte W03 + .byte 25*mus_mishiro_mvl/mxv + .byte W04 + .byte 22*mus_mishiro_mvl/mxv + .byte W02 + .byte 18*mus_mishiro_mvl/mxv + .byte W03 + .byte 16*mus_mishiro_mvl/mxv + .byte W03 + .byte 15*mus_mishiro_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 37*mus_mishiro_mvl/mxv + .byte N12 , Cn5 + .byte W12 + .byte N06 , As4 + .byte W06 + .byte As4 , v024 + .byte W06 + .byte N12 , As4 , v064 + .byte W12 + .byte An4 + .byte W12 + .byte N48 , Fn4 + .byte W24 + .byte MOD , 7 + .byte VOL , 37*mus_mishiro_mvl/mxv + .byte W02 + .byte 36*mus_mishiro_mvl/mxv + .byte W03 + .byte 33*mus_mishiro_mvl/mxv + .byte W03 + .byte 30*mus_mishiro_mvl/mxv + .byte W04 + .byte 27*mus_mishiro_mvl/mxv + .byte W02 + .byte 22*mus_mishiro_mvl/mxv + .byte W03 + .byte 18*mus_mishiro_mvl/mxv + .byte W03 + .byte 16*mus_mishiro_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 37*mus_mishiro_mvl/mxv + .byte N03 , Cs5 + .byte W03 + .byte N09 , Dn5 + .byte W09 + .byte N06 , An4 + .byte W06 + .byte An4 , v024 + .byte W06 + .byte N12 , An4 , v064 + .byte W12 + .byte Gn4 + .byte W12 + .byte N72 , Fn4 + .byte W24 + .byte MOD , 7 + .byte VOL , 37*mus_mishiro_mvl/mxv + .byte W02 + .byte 36*mus_mishiro_mvl/mxv + .byte W03 + .byte 35*mus_mishiro_mvl/mxv + .byte W03 + .byte 33*mus_mishiro_mvl/mxv + .byte W04 + .byte 31*mus_mishiro_mvl/mxv + .byte W02 + .byte 29*mus_mishiro_mvl/mxv + .byte W03 + .byte 28*mus_mishiro_mvl/mxv + .byte W03 + .byte 25*mus_mishiro_mvl/mxv + .byte W06 + .byte 23*mus_mishiro_mvl/mxv + .byte W03 + .byte 22*mus_mishiro_mvl/mxv + .byte W03 + .byte 22*mus_mishiro_mvl/mxv + .byte W04 + .byte 20*mus_mishiro_mvl/mxv + .byte W05 + .byte 19*mus_mishiro_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte VOL , 37*mus_mishiro_mvl/mxv + .byte N12 , En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N36 , En4 + .byte W24 + .byte MOD , 6 + .byte VOL , 35*mus_mishiro_mvl/mxv + .byte W02 + .byte 29*mus_mishiro_mvl/mxv + .byte W03 + .byte 23*mus_mishiro_mvl/mxv + .byte W03 + .byte 22*mus_mishiro_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 37*mus_mishiro_mvl/mxv + .byte N12 , Fn4 + .byte W12 + .byte Gn4 + .byte W48 + .byte VOICE , 6 + .byte PAN , c_v-61 + .byte VOL , 44*mus_mishiro_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Fn2 , v112 + .byte W06 + .byte Fn2 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte Fn2 , v112 + .byte W06 + .byte Fn2 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W06 + .byte An2 , v112 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte Gn2 , v112 + .byte W06 + .byte Gn2 , v032 + .byte W06 + .byte Cs3 , v112 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Cs3 , v112 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte As2 , v112 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte As2 , v112 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte Gn2 , v112 + .byte W06 + .byte Gn2 , v032 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte Gn2 , v112 + .byte W06 + .byte Gn2 , v032 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte An2 , v112 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte An2 , v112 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v032 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v032 + .byte W06 +mus_mishiro_7_000: + .byte N06 , Dn3 , v112 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Bn2 , v112 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte PEND + .byte As2 , v112 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte Gn2 , v112 + .byte W06 + .byte Gn2 , v032 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte As3 , v112 + .byte W06 + .byte As3 , v032 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte An2 , v112 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte An2 , v112 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v032 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte PATT + .word mus_mishiro_7_000 + .byte N06 , As2 , v112 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte Bn2 , v112 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v032 + .byte W06 + .byte GOTO + .word mus_mishiro_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_mishiro_8: + .byte KEYSH , mus_mishiro_key+0 + .byte VOICE , 5 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte XCMD , xIECV , 12 + .byte xIECV , 8 + .byte LFOS , 44 + .byte VOL , 50*mus_mishiro_mvl/mxv + .byte W12 + .byte W24 +mus_mishiro_8_B1: + .byte VOICE , 5 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte 7 + .byte VOL , 44*mus_mishiro_mvl/mxv + .byte W24 + .byte N06 , Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte Fn2 , v112 + .byte W06 + .byte Fn2 , v032 + .byte W30 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte W24 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W42 + .byte En3 , v112 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte Cs3 , v112 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte W24 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W42 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v032 + .byte W18 + .byte W24 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W42 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v032 + .byte W06 +mus_mishiro_8_000: + .byte W24 + .byte N06 , As3 , v112 + .byte W06 + .byte As3 , v032 + .byte W42 + .byte As3 , v112 + .byte W06 + .byte As3 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte PEND + .byte PATT + .word mus_mishiro_8_000 +mus_mishiro_8_001: + .byte W24 + .byte N06 , Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W42 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W18 + .byte PEND + .byte W24 + .byte As3 , v112 + .byte W06 + .byte As3 , v032 + .byte W42 + .byte As3 , v112 + .byte W06 + .byte As3 , v032 + .byte W18 + .byte W24 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W42 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W18 +mus_mishiro_8_002: + .byte W24 + .byte N06 , Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W42 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W18 + .byte PEND + .byte W24 + .byte As3 , v112 + .byte W06 + .byte As3 , v032 + .byte W42 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W18 + .byte W24 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W42 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W18 + .byte W24 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W42 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W18 + .byte PATT + .word mus_mishiro_8_002 + .byte W24 + .byte N06 , As3 , v112 + .byte W06 + .byte As3 , v032 + .byte W42 + .byte Bn3 , v112 + .byte W06 + .byte Bn3 , v032 + .byte W18 + .byte PATT + .word mus_mishiro_8_001 + .byte GOTO + .word mus_mishiro_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_mishiro_9: + .byte KEYSH , mus_mishiro_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 42*mus_mishiro_mvl/mxv + .byte W12 + .byte W24 +mus_mishiro_9_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_mishiro_9_000: + .byte N06 , Fs2 , v084 + .byte W12 + .byte Fs2 , v064 + .byte W12 + .byte Fs2 , v112 + .byte W12 + .byte Fs2 , v068 + .byte W12 + .byte Fs2 , v084 + .byte W12 + .byte Fs2 , v064 + .byte W12 + .byte Fs2 , v112 + .byte W12 + .byte Fs2 , v068 + .byte W12 + .byte PEND + .byte PATT + .word mus_mishiro_9_000 + .byte PATT + .word mus_mishiro_9_000 + .byte PATT + .word mus_mishiro_9_000 + .byte PATT + .word mus_mishiro_9_000 + .byte PATT + .word mus_mishiro_9_000 + .byte PATT + .word mus_mishiro_9_000 + .byte PATT + .word mus_mishiro_9_000 + .byte PATT + .word mus_mishiro_9_000 + .byte PATT + .word mus_mishiro_9_000 + .byte PATT + .word mus_mishiro_9_000 + .byte PATT + .word mus_mishiro_9_000 + .byte PATT + .word mus_mishiro_9_000 + .byte PATT + .word mus_mishiro_9_000 + .byte PATT + .word mus_mishiro_9_000 + .byte PATT + .word mus_mishiro_9_000 + .byte GOTO + .word mus_mishiro_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_mishiro: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_mishiro_pri @ Priority + .byte mus_mishiro_rev @ Reverb. + + .word mus_mishiro_grp + + .word mus_mishiro_1 + .word mus_mishiro_2 + .word mus_mishiro_3 + .word mus_mishiro_4 + .word mus_mishiro_5 + .word mus_mishiro_6 + .word mus_mishiro_7 + .word mus_mishiro_8 + .word mus_mishiro_9 + + .end diff --git a/sound/songs/mus_naminori.s b/sound/songs/mus_naminori.s new file mode 100644 index 0000000000..1ebf2a551f --- /dev/null +++ b/sound/songs/mus_naminori.s @@ -0,0 +1,3005 @@ + .include "MPlayDef.s" + + .equ mus_naminori_grp, voicegroup_8678F80 + .equ mus_naminori_pri, 0 + .equ mus_naminori_rev, reverb_set+50 + .equ mus_naminori_mvl, 127 + .equ mus_naminori_key, 0 + .equ mus_naminori_tbs, 1 + .equ mus_naminori_exg, 0 + .equ mus_naminori_cmp, 1 + + .section .rodata + .global mus_naminori + .align 2 + +@********************** Track 1 **********************@ + +mus_naminori_1: + .byte KEYSH , mus_naminori_key+0 + .byte TEMPO , 82*mus_naminori_tbs/2 + .byte VOICE , 48 + .byte LFOS , 40 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Cs4 , v104 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 +mus_naminori_1_B1: + .byte VOICE , 48 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N18 , Fn4 , v104 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W12 + .byte N18 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W12 + .byte N18 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W12 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N18 , Fn4 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W12 + .byte N18 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W12 + .byte N18 , Fs4 + .byte W18 + .byte N06 , As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte VOICE , 73 + .byte N15 , Gs4 , v112 + .byte W06 + .byte MOD , 5 + .byte W09 + .byte 0 + .byte W03 + .byte N06 + .byte W06 + .byte Fs4 + .byte W12 + .byte N18 , Fn4 + .byte W18 + .byte N06 , Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N15 , Gs4 + .byte W09 + .byte MOD , 5 + .byte W06 + .byte 0 + .byte W03 + .byte N06 + .byte W06 + .byte As4 + .byte W12 + .byte N18 , Gs4 + .byte W09 + .byte MOD , 5 + .byte W09 + .byte 0 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N18 , Fs4 + .byte W06 + .byte MOD , 5 + .byte W09 + .byte 0 + .byte W03 + .byte N06 , Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N18 , Fs4 + .byte W06 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , As4 + .byte W06 + .byte Cn5 + .byte W06 + .byte As4 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte Cs5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Cs5 + .byte W12 + .byte TIE , Fn5 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte W05 + .byte 70*mus_naminori_mvl/mxv + .byte W07 + .byte 64*mus_naminori_mvl/mxv + .byte W05 + .byte 57*mus_naminori_mvl/mxv + .byte W07 + .byte 52*mus_naminori_mvl/mxv + .byte W05 + .byte 45*mus_naminori_mvl/mxv + .byte W07 + .byte 37*mus_naminori_mvl/mxv + .byte W05 + .byte 25*mus_naminori_mvl/mxv + .byte W07 + .byte 18*mus_naminori_mvl/mxv + .byte W05 + .byte 7*mus_naminori_mvl/mxv + .byte W07 + .byte EOT + .byte VOL , 1*mus_naminori_mvl/mxv + .byte MOD , 0 + .byte W36 + .byte VOICE , 73 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N06 , As4 , v072 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W12 + .byte As4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N12 , Fs5 + .byte W12 + .byte Fn5 + .byte W12 + .byte Ds5 + .byte W12 + .byte N32 , Cs5 + .byte W12 + .byte VOL , 73*mus_naminori_mvl/mxv + .byte MOD , 5 + .byte W05 + .byte VOL , 61*mus_naminori_mvl/mxv + .byte W07 + .byte 40*mus_naminori_mvl/mxv + .byte W05 + .byte 29*mus_naminori_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W03 + .byte VOICE , 60 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N18 , Cn3 , v116 + .byte W18 + .byte N06 , Gs2 + .byte W06 + .byte As2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N18 , Ds3 + .byte W18 + .byte N06 , Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N60 , Fn3 + .byte W30 + .byte VOL , 71*mus_naminori_mvl/mxv + .byte W06 + .byte 61*mus_naminori_mvl/mxv + .byte W05 + .byte 52*mus_naminori_mvl/mxv + .byte W07 + .byte 42*mus_naminori_mvl/mxv + .byte W05 + .byte 31*mus_naminori_mvl/mxv + .byte W07 + .byte 21*mus_naminori_mvl/mxv + .byte W05 + .byte 11*mus_naminori_mvl/mxv + .byte W07 + .byte 80*mus_naminori_mvl/mxv + .byte N18 + .byte W18 + .byte N06 , Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N18 , Gs3 + .byte W18 + .byte N06 , Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N60 , Fs3 + .byte W30 + .byte VOL , 71*mus_naminori_mvl/mxv + .byte W06 + .byte 61*mus_naminori_mvl/mxv + .byte W05 + .byte 52*mus_naminori_mvl/mxv + .byte W07 + .byte 42*mus_naminori_mvl/mxv + .byte W05 + .byte 31*mus_naminori_mvl/mxv + .byte W07 + .byte 21*mus_naminori_mvl/mxv + .byte W05 + .byte 11*mus_naminori_mvl/mxv + .byte W07 + .byte VOICE , 73 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N15 , As4 , v112 + .byte W06 + .byte MOD , 5 + .byte W09 + .byte 0 + .byte W03 + .byte N06 + .byte W06 + .byte Cn5 + .byte W06 + .byte As4 + .byte W06 + .byte N15 , Gs4 + .byte W06 + .byte MOD , 5 + .byte W09 + .byte 0 + .byte W03 + .byte N06 , Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N15 , Fs4 + .byte W06 + .byte MOD , 5 + .byte W09 + .byte 0 + .byte W03 + .byte N06 , Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte 0 + .byte N15 , As4 + .byte W06 + .byte MOD , 5 + .byte W09 + .byte 0 + .byte W03 + .byte N06 + .byte W06 + .byte Cn5 + .byte W06 + .byte As4 + .byte W06 + .byte N15 , Gs4 + .byte W06 + .byte MOD , 5 + .byte W09 + .byte 0 + .byte W03 + .byte N06 , Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N12 , As4 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte 0 + .byte N12 , Cn5 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte 0 + .byte N12 , Cs5 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte 0 + .byte N36 , Cn5 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOICE , 48 + .byte W12 + .byte MOD , 0 + .byte N18 , Fn4 , v104 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W12 + .byte N18 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W12 +mus_naminori_1_000: + .byte N18 , Fn4 , v104 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N12 , Cs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte PEND + .byte N18 , As4 + .byte W18 + .byte N06 , An4 + .byte W06 + .byte As4 + .byte W06 + .byte Cn5 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Cs5 + .byte W12 + .byte N18 , Cn5 + .byte W18 + .byte N06 , As4 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte N30 , Gs4 + .byte W12 + .byte VOL , 73*mus_naminori_mvl/mxv + .byte W06 + .byte 66*mus_naminori_mvl/mxv + .byte W06 + .byte 53*mus_naminori_mvl/mxv + .byte W06 + .byte 36*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N18 , Fn4 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W12 + .byte N18 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W12 + .byte PATT + .word mus_naminori_1_000 + .byte N18 , As4 , v104 + .byte W18 + .byte N06 , An4 + .byte W06 + .byte As4 + .byte W06 + .byte Cn5 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N18 , Ds5 + .byte W18 + .byte N06 , Fn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte As4 + .byte W06 + .byte N32 , Cn5 + .byte W12 + .byte VOL , 73*mus_naminori_mvl/mxv + .byte W06 + .byte 66*mus_naminori_mvl/mxv + .byte W06 + .byte 53*mus_naminori_mvl/mxv + .byte W06 + .byte 36*mus_naminori_mvl/mxv + .byte W06 + .byte VOICE , 73 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N54 , Cs5 , v120 + .byte W21 + .byte MOD , 5 + .byte W32 + .byte W01 + .byte 0 + .byte N06 , Ds5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N54 , Cs5 + .byte W21 + .byte MOD , 5 + .byte W32 + .byte W01 + .byte 0 + .byte N06 , Ds5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Fn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N32 , Fn5 + .byte W12 + .byte VOL , 73*mus_naminori_mvl/mxv + .byte W03 + .byte MOD , 5 + .byte W03 + .byte VOL , 59*mus_naminori_mvl/mxv + .byte W06 + .byte 44*mus_naminori_mvl/mxv + .byte W06 + .byte 29*mus_naminori_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N32 , Cs5 + .byte W09 + .byte MOD , 5 + .byte W09 + .byte VOL , 70*mus_naminori_mvl/mxv + .byte W06 + .byte 49*mus_naminori_mvl/mxv + .byte W06 + .byte 27*mus_naminori_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 + .byte GOTO + .word mus_naminori_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_naminori_2: + .byte KEYSH , mus_naminori_key+0 + .byte W36 +mus_naminori_2_B1: + .byte VOICE , 58 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte PAN , c_v+0 + .byte N24 , Cs1 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N36 , Bn0 + .byte W36 + .byte N24 , As0 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , An0 + .byte W24 + .byte N12 , Fs0 + .byte W12 + .byte N24 , Cs1 + .byte W24 + .byte N06 + .byte W12 + .byte N36 , Bn0 + .byte W36 + .byte VOL , 77*mus_naminori_mvl/mxv + .byte N32 , As0 + .byte W05 + .byte VOL , 74*mus_naminori_mvl/mxv + .byte W07 + .byte 68*mus_naminori_mvl/mxv + .byte W05 + .byte 56*mus_naminori_mvl/mxv + .byte W07 + .byte 47*mus_naminori_mvl/mxv + .byte W06 + .byte 33*mus_naminori_mvl/mxv + .byte W06 + .byte 43*mus_naminori_mvl/mxv + .byte N36 , Fs0 + .byte W05 + .byte VOL , 53*mus_naminori_mvl/mxv + .byte W07 + .byte 65*mus_naminori_mvl/mxv + .byte W05 + .byte 80*mus_naminori_mvl/mxv + .byte W19 +mus_naminori_2_000: + .byte N24 , Cs1 , v127 + .byte W24 + .byte N06 , Gs0 + .byte W12 + .byte N36 , Cs1 + .byte W36 + .byte PEND +mus_naminori_2_001: + .byte N24 , Bn0 , v127 + .byte W24 + .byte N06 , Gs0 + .byte W12 + .byte N36 , Bn0 + .byte W36 + .byte PEND + .byte N24 , As0 + .byte W24 + .byte N06 , Fs0 + .byte W12 + .byte N12 , As0 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte N24 , An1 + .byte W24 + .byte N12 , Gs1 + .byte W12 + .byte N24 , Fs1 + .byte W24 + .byte N12 , Cs1 + .byte W12 + .byte PATT + .word mus_naminori_2_000 + .byte PATT + .word mus_naminori_2_001 + .byte N24 , As0 , v127 + .byte W24 + .byte N06 , Fs0 + .byte W12 + .byte N24 , As0 + .byte W24 + .byte N12 , Gs0 + .byte W12 + .byte Fs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte N18 , Cs1 + .byte W18 + .byte N06 , Cs2 + .byte W06 + .byte Cn2 + .byte W06 + .byte As1 + .byte W06 + .byte N48 , Gs1 + .byte W24 + .byte VOL , 69*mus_naminori_mvl/mxv + .byte W05 + .byte 58*mus_naminori_mvl/mxv + .byte W07 + .byte 42*mus_naminori_mvl/mxv + .byte W05 + .byte 31*mus_naminori_mvl/mxv + .byte W07 + .byte 25*mus_naminori_mvl/mxv + .byte W12 + .byte 80*mus_naminori_mvl/mxv + .byte N12 + .byte W12 + .byte N32 , Cs2 + .byte W12 + .byte VOL , 76*mus_naminori_mvl/mxv + .byte W05 + .byte 58*mus_naminori_mvl/mxv + .byte W07 + .byte 38*mus_naminori_mvl/mxv + .byte W05 + .byte 29*mus_naminori_mvl/mxv + .byte W07 + .byte 80*mus_naminori_mvl/mxv + .byte N12 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte N48 , Dn2 + .byte W24 + .byte VOL , 69*mus_naminori_mvl/mxv + .byte W05 + .byte 58*mus_naminori_mvl/mxv + .byte W07 + .byte 42*mus_naminori_mvl/mxv + .byte W05 + .byte 31*mus_naminori_mvl/mxv + .byte W07 + .byte 25*mus_naminori_mvl/mxv + .byte W12 + .byte 80*mus_naminori_mvl/mxv + .byte N12 , Gs1 + .byte W12 + .byte N66 , Ds2 + .byte W30 + .byte VOL , 70*mus_naminori_mvl/mxv + .byte W06 + .byte 62*mus_naminori_mvl/mxv + .byte W05 + .byte 55*mus_naminori_mvl/mxv + .byte W07 + .byte 41*mus_naminori_mvl/mxv + .byte W05 + .byte 35*mus_naminori_mvl/mxv + .byte W07 + .byte 25*mus_naminori_mvl/mxv + .byte W05 + .byte 15*mus_naminori_mvl/mxv + .byte W07 +mus_naminori_2_002: + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N32 , Fs2 , v112 + .byte W18 + .byte VOL , 66*mus_naminori_mvl/mxv + .byte W06 + .byte 49*mus_naminori_mvl/mxv + .byte W06 + .byte 25*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N32 , Fn2 + .byte W18 + .byte VOL , 66*mus_naminori_mvl/mxv + .byte W06 + .byte 49*mus_naminori_mvl/mxv + .byte W06 + .byte 25*mus_naminori_mvl/mxv + .byte W06 + .byte PEND + .byte 80*mus_naminori_mvl/mxv + .byte N32 , Ds2 + .byte W18 + .byte VOL , 66*mus_naminori_mvl/mxv + .byte W06 + .byte 49*mus_naminori_mvl/mxv + .byte W06 + .byte 25*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N32 , Cs2 + .byte W18 + .byte VOL , 66*mus_naminori_mvl/mxv + .byte W06 + .byte 49*mus_naminori_mvl/mxv + .byte W06 + .byte 25*mus_naminori_mvl/mxv + .byte W06 + .byte PATT + .word mus_naminori_2_002 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N32 , Ds2 , v112 + .byte W36 + .byte N12 , Gs0 , v127 + .byte W12 + .byte As0 + .byte W12 + .byte Cn1 + .byte W12 +mus_naminori_2_003: + .byte N24 , Cs1 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N36 + .byte W36 + .byte PEND + .byte PATT + .word mus_naminori_2_003 + .byte N24 , As0 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N36 + .byte W36 + .byte N24 , Gs0 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte As0 + .byte W12 + .byte Cn1 + .byte W12 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N24 , Cs1 + .byte W09 + .byte VOL , 61*mus_naminori_mvl/mxv + .byte W03 + .byte 47*mus_naminori_mvl/mxv + .byte W03 + .byte 37*mus_naminori_mvl/mxv + .byte W03 + .byte 25*mus_naminori_mvl/mxv + .byte W03 + .byte 11*mus_naminori_mvl/mxv + .byte W15 + .byte 80*mus_naminori_mvl/mxv + .byte N24 , Gs0 + .byte W09 + .byte VOL , 61*mus_naminori_mvl/mxv + .byte W03 + .byte 47*mus_naminori_mvl/mxv + .byte W03 + .byte 37*mus_naminori_mvl/mxv + .byte W03 + .byte 25*mus_naminori_mvl/mxv + .byte W03 + .byte 11*mus_naminori_mvl/mxv + .byte W15 + .byte 80*mus_naminori_mvl/mxv + .byte N21 , Cs1 + .byte W09 + .byte VOL , 61*mus_naminori_mvl/mxv + .byte W03 + .byte 47*mus_naminori_mvl/mxv + .byte W03 + .byte 37*mus_naminori_mvl/mxv + .byte W03 + .byte 25*mus_naminori_mvl/mxv + .byte W03 + .byte 11*mus_naminori_mvl/mxv + .byte W03 + .byte 80*mus_naminori_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 67*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N24 , An0 + .byte W09 + .byte VOL , 61*mus_naminori_mvl/mxv + .byte W03 + .byte 47*mus_naminori_mvl/mxv + .byte W03 + .byte 37*mus_naminori_mvl/mxv + .byte W03 + .byte 25*mus_naminori_mvl/mxv + .byte W03 + .byte 11*mus_naminori_mvl/mxv + .byte W15 + .byte 80*mus_naminori_mvl/mxv + .byte N24 , As0 + .byte W09 + .byte VOL , 61*mus_naminori_mvl/mxv + .byte W03 + .byte 47*mus_naminori_mvl/mxv + .byte W03 + .byte 37*mus_naminori_mvl/mxv + .byte W03 + .byte 25*mus_naminori_mvl/mxv + .byte W03 + .byte 11*mus_naminori_mvl/mxv + .byte W15 + .byte 80*mus_naminori_mvl/mxv + .byte N36 , Fn0 + .byte W06 + .byte VOL , 70*mus_naminori_mvl/mxv + .byte W06 + .byte 52*mus_naminori_mvl/mxv + .byte W06 + .byte 61*mus_naminori_mvl/mxv + .byte W06 + .byte 73*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte W06 + .byte N21 , Fn1 + .byte W09 + .byte VOL , 61*mus_naminori_mvl/mxv + .byte W03 + .byte 47*mus_naminori_mvl/mxv + .byte W03 + .byte 37*mus_naminori_mvl/mxv + .byte W03 + .byte 25*mus_naminori_mvl/mxv + .byte W03 + .byte 11*mus_naminori_mvl/mxv + .byte W03 + .byte 80*mus_naminori_mvl/mxv + .byte N12 + .byte W12 + .byte Gs1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte N21 , Fs1 + .byte W09 + .byte VOL , 61*mus_naminori_mvl/mxv + .byte W03 + .byte 47*mus_naminori_mvl/mxv + .byte W03 + .byte 37*mus_naminori_mvl/mxv + .byte W03 + .byte 25*mus_naminori_mvl/mxv + .byte W03 + .byte 11*mus_naminori_mvl/mxv + .byte W03 + .byte 80*mus_naminori_mvl/mxv + .byte N09 + .byte W12 + .byte N36 + .byte W36 + .byte N21 , Cs1 + .byte W09 + .byte VOL , 61*mus_naminori_mvl/mxv + .byte W03 + .byte 47*mus_naminori_mvl/mxv + .byte W03 + .byte 37*mus_naminori_mvl/mxv + .byte W03 + .byte 25*mus_naminori_mvl/mxv + .byte W03 + .byte 11*mus_naminori_mvl/mxv + .byte W03 + .byte 80*mus_naminori_mvl/mxv + .byte N09 + .byte W12 + .byte N36 + .byte W36 + .byte N32 , Fs1 + .byte W06 + .byte VOL , 71*mus_naminori_mvl/mxv + .byte W06 + .byte 63*mus_naminori_mvl/mxv + .byte W05 + .byte 46*mus_naminori_mvl/mxv + .byte W07 + .byte 36*mus_naminori_mvl/mxv + .byte W12 + .byte 80*mus_naminori_mvl/mxv + .byte N12 + .byte W12 + .byte Gs1 + .byte W12 + .byte An1 + .byte W12 + .byte N32 , Gs1 + .byte W12 + .byte VOL , 73*mus_naminori_mvl/mxv + .byte W06 + .byte 59*mus_naminori_mvl/mxv + .byte W06 + .byte 44*mus_naminori_mvl/mxv + .byte W06 + .byte 29*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N32 , Cs1 + .byte W18 + .byte VOL , 70*mus_naminori_mvl/mxv + .byte W06 + .byte 49*mus_naminori_mvl/mxv + .byte W06 + .byte 27*mus_naminori_mvl/mxv + .byte W06 + .byte GOTO + .word mus_naminori_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_naminori_3: + .byte KEYSH , mus_naminori_key+0 + .byte W36 +mus_naminori_3_B1: + .byte PAN , c_v+0 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte W72 + .byte W48 + .byte VOICE , 48 + .byte VOL , 56*mus_naminori_mvl/mxv + .byte PAN , c_v+16 + .byte N24 , An4 , v072 + .byte W02 + .byte VOL , 60*mus_naminori_mvl/mxv + .byte W03 + .byte 65*mus_naminori_mvl/mxv + .byte W03 + .byte 68*mus_naminori_mvl/mxv + .byte W04 + .byte 71*mus_naminori_mvl/mxv + .byte W02 + .byte 77*mus_naminori_mvl/mxv + .byte W03 + .byte 80*mus_naminori_mvl/mxv + .byte W07 + .byte 51*mus_naminori_mvl/mxv + .byte N36 , Cs5 , v064 + .byte W02 + .byte VOL , 54*mus_naminori_mvl/mxv + .byte W03 + .byte 56*mus_naminori_mvl/mxv + .byte W03 + .byte 59*mus_naminori_mvl/mxv + .byte W04 + .byte 62*mus_naminori_mvl/mxv + .byte W02 + .byte 66*mus_naminori_mvl/mxv + .byte W03 + .byte 70*mus_naminori_mvl/mxv + .byte W03 + .byte 77*mus_naminori_mvl/mxv + .byte W04 + .byte 80*mus_naminori_mvl/mxv + .byte W12 + .byte 57*mus_naminori_mvl/mxv + .byte N36 , Bn4 + .byte W02 + .byte VOL , 59*mus_naminori_mvl/mxv + .byte W03 + .byte 62*mus_naminori_mvl/mxv + .byte W03 + .byte 64*mus_naminori_mvl/mxv + .byte W04 + .byte 65*mus_naminori_mvl/mxv + .byte W02 + .byte 70*mus_naminori_mvl/mxv + .byte W03 + .byte 76*mus_naminori_mvl/mxv + .byte W03 + .byte 80*mus_naminori_mvl/mxv + .byte W16 + .byte 77*mus_naminori_mvl/mxv + .byte N36 , As4 + .byte W05 + .byte VOL , 74*mus_naminori_mvl/mxv + .byte W07 + .byte 68*mus_naminori_mvl/mxv + .byte W05 + .byte 56*mus_naminori_mvl/mxv + .byte W07 + .byte 47*mus_naminori_mvl/mxv + .byte W06 + .byte 33*mus_naminori_mvl/mxv + .byte W06 + .byte 17*mus_naminori_mvl/mxv + .byte W36 + .byte VOICE , 45 + .byte VOL , 78*mus_naminori_mvl/mxv + .byte W12 + .byte N06 , Cs4 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W12 + .byte N06 + .byte W12 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte VOICE , 48 + .byte N12 , Cs3 , v092 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fs3 + .byte W12 + .byte An3 + .byte W12 + .byte Ds4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gs4 , v104 + .byte W18 + .byte N06 + .byte W06 + .byte Fs4 + .byte W12 + .byte N18 , Fn4 + .byte W18 + .byte N06 , Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N15 , Gs4 + .byte W18 + .byte N06 + .byte W06 + .byte As4 + .byte W12 + .byte N18 , Gs4 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N18 , Fs4 + .byte W18 + .byte N06 , Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N18 , Fs4 + .byte W18 + .byte N06 , Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N12 , An4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N32 , Fn4 + .byte W12 + .byte VOL , 73*mus_naminori_mvl/mxv + .byte W05 + .byte 61*mus_naminori_mvl/mxv + .byte W07 + .byte 40*mus_naminori_mvl/mxv + .byte W05 + .byte 29*mus_naminori_mvl/mxv + .byte W07 + .byte VOICE , 45 + .byte W12 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N06 , Gs3 , v064 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W12 + .byte VOICE , 45 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte W12 + .byte As3 + .byte W12 + .byte N06 + .byte W12 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W12 + .byte W72 + .byte W72 + .byte VOICE , 60 + .byte VOL , 54*mus_naminori_mvl/mxv + .byte N36 , Fs3 , v072 + .byte W06 + .byte VOL , 60*mus_naminori_mvl/mxv + .byte W06 + .byte 71*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte W18 + .byte N36 , Fn3 , v076 + .byte W36 + .byte Ds3 , v080 + .byte W36 + .byte N12 , Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte W72 + .byte W72 + .byte W72 + .byte VOL , 45*mus_naminori_mvl/mxv + .byte N24 , Cn3 + .byte W06 + .byte VOL , 50*mus_naminori_mvl/mxv + .byte W03 + .byte 68*mus_naminori_mvl/mxv + .byte W03 + .byte 80*mus_naminori_mvl/mxv + .byte W12 + .byte N12 , Ds3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N06 + .byte W12 + .byte N32 + .byte W21 + .byte VOL , 69*mus_naminori_mvl/mxv + .byte W03 + .byte 61*mus_naminori_mvl/mxv + .byte W03 + .byte 41*mus_naminori_mvl/mxv + .byte W03 + .byte 27*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N24 + .byte W24 + .byte N06 , Fs3 + .byte W12 + .byte N12 , Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Cs3 + .byte W12 + .byte N18 , Cs4 + .byte W18 + .byte N06 , Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte N06 , As3 + .byte W12 + .byte N32 , Gs3 + .byte W18 + .byte VOL , 69*mus_naminori_mvl/mxv + .byte W06 + .byte 60*mus_naminori_mvl/mxv + .byte W06 + .byte 40*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N36 , As2 , v076 + .byte W36 + .byte Cn3 + .byte W36 + .byte N32 , Cs3 + .byte W18 + .byte VOL , 74*mus_naminori_mvl/mxv + .byte W06 + .byte 54*mus_naminori_mvl/mxv + .byte W06 + .byte 33*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N12 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N32 , Fs3 + .byte W06 + .byte VOL , 71*mus_naminori_mvl/mxv + .byte W06 + .byte 63*mus_naminori_mvl/mxv + .byte W05 + .byte 46*mus_naminori_mvl/mxv + .byte W07 + .byte 40*mus_naminori_mvl/mxv + .byte W05 + .byte 33*mus_naminori_mvl/mxv + .byte W07 + .byte 80*mus_naminori_mvl/mxv + .byte N12 , Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N30 , Fn3 + .byte W06 + .byte VOL , 70*mus_naminori_mvl/mxv + .byte W06 + .byte 57*mus_naminori_mvl/mxv + .byte W06 + .byte 37*mus_naminori_mvl/mxv + .byte W18 + .byte VOICE , 48 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Cs4 , v104 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte GOTO + .word mus_naminori_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_naminori_4: + .byte KEYSH , mus_naminori_key+0 + .byte W36 +mus_naminori_4_B1: + .byte VOICE , 83 + .byte PAN , c_v-48 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N24 , Gs3 , v060 + .byte W24 + .byte N06 , Cs4 + .byte W12 + .byte N36 , Fn3 + .byte W36 + .byte N24 , Fs3 + .byte W24 + .byte N06 , As3 + .byte W12 + .byte N24 , Cs3 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte N24 , Gs3 + .byte W24 + .byte N06 , Cs4 + .byte W12 + .byte N36 , Fn3 + .byte W36 + .byte VOL , 77*mus_naminori_mvl/mxv + .byte N32 , Fs3 + .byte W05 + .byte VOL , 74*mus_naminori_mvl/mxv + .byte W07 + .byte 68*mus_naminori_mvl/mxv + .byte W05 + .byte 56*mus_naminori_mvl/mxv + .byte W07 + .byte 47*mus_naminori_mvl/mxv + .byte W06 + .byte 33*mus_naminori_mvl/mxv + .byte W06 + .byte VOICE , 80 + .byte PAN , c_v+0 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N12 , Fs3 , v040 + .byte W12 + .byte Gs3 + .byte W12 + .byte An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte N24 , Gs3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte N12 , Bn2 + .byte W12 + .byte N24 , Gs3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N06 , Cs3 + .byte W12 + .byte N12 , As2 + .byte W12 + .byte N24 , Fs3 + .byte W24 + .byte N12 , Gs3 + .byte W12 + .byte An3 + .byte W12 + .byte N06 , Gs3 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte VOICE , 1 + .byte N06 , Fs2 , v048 + .byte W06 + .byte An2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fn4 , v040 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte As4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte Fs3 + .byte W06 + .byte VOICE , 80 + .byte N12 , An3 , v048 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N32 , Fn3 + .byte W12 + .byte VOL , 73*mus_naminori_mvl/mxv + .byte W05 + .byte 61*mus_naminori_mvl/mxv + .byte W07 + .byte 40*mus_naminori_mvl/mxv + .byte W05 + .byte 29*mus_naminori_mvl/mxv + .byte W07 + .byte VOICE , 88 + .byte PAN , c_v-48 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N36 , Ds4 , v036 + .byte W12 + .byte VOL , 67*mus_naminori_mvl/mxv + .byte W06 + .byte 54*mus_naminori_mvl/mxv + .byte W06 + .byte 26*mus_naminori_mvl/mxv + .byte W06 + .byte 11*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N36 , Gs4 + .byte W12 + .byte VOL , 67*mus_naminori_mvl/mxv + .byte W06 + .byte 54*mus_naminori_mvl/mxv + .byte W06 + .byte 26*mus_naminori_mvl/mxv + .byte W06 + .byte 11*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N24 , Cs4 + .byte W12 + .byte VOL , 70*mus_naminori_mvl/mxv + .byte W06 + .byte 54*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N06 , Fn4 + .byte W12 + .byte N36 , Gs4 + .byte W12 + .byte VOL , 71*mus_naminori_mvl/mxv + .byte W06 + .byte 54*mus_naminori_mvl/mxv + .byte W06 + .byte 26*mus_naminori_mvl/mxv + .byte W06 + .byte 11*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N36 , Dn4 + .byte W12 + .byte VOL , 67*mus_naminori_mvl/mxv + .byte W06 + .byte 54*mus_naminori_mvl/mxv + .byte W06 + .byte 26*mus_naminori_mvl/mxv + .byte W06 + .byte 11*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N36 , Fn4 + .byte W12 + .byte VOL , 67*mus_naminori_mvl/mxv + .byte W06 + .byte 54*mus_naminori_mvl/mxv + .byte W06 + .byte 26*mus_naminori_mvl/mxv + .byte W06 + .byte 11*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N24 , Ds4 + .byte W12 + .byte VOL , 70*mus_naminori_mvl/mxv + .byte W06 + .byte 54*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N06 , Fs4 + .byte W12 + .byte N36 , As4 + .byte W12 + .byte VOL , 71*mus_naminori_mvl/mxv + .byte W06 + .byte 54*mus_naminori_mvl/mxv + .byte W06 + .byte 26*mus_naminori_mvl/mxv + .byte W06 + .byte 11*mus_naminori_mvl/mxv + .byte W06 + .byte VOICE , 45 + .byte PAN , c_v+0 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N12 , Fs3 , v064 + .byte W12 + .byte Cs4 + .byte W12 + .byte N06 , Fs4 + .byte W06 + .byte As4 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N06 , Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N12 , Ds3 + .byte W12 + .byte As3 + .byte W12 + .byte N06 , Ds4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N12 , Cs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte Fn3 + .byte W06 + .byte VOICE , 80 + .byte PAN , c_v-48 + .byte N36 , Cs4 , v032 + .byte W36 + .byte Cn4 + .byte W36 + .byte As3 + .byte W36 + .byte N12 , Cn3 , v060 + .byte W12 + .byte Cs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N06 , Cs4 + .byte W12 + .byte Gs3 + .byte W12 + .byte N12 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte N06 , Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte N12 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , As3 + .byte W12 + .byte N06 , Cs4 + .byte W12 + .byte As3 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Cs4 + .byte W12 + .byte Fn3 + .byte W12 + .byte N12 , Gs3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte VOICE , 83 + .byte N24 , Cs3 + .byte W24 + .byte N06 + .byte W12 + .byte N32 + .byte W18 + .byte VOL , 69*mus_naminori_mvl/mxv + .byte W06 + .byte 60*mus_naminori_mvl/mxv + .byte W06 + .byte 40*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N24 + .byte W24 + .byte N06 + .byte W12 + .byte N32 + .byte W18 + .byte VOL , 69*mus_naminori_mvl/mxv + .byte W06 + .byte 60*mus_naminori_mvl/mxv + .byte W06 + .byte 40*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N24 , Fn3 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , Gs3 + .byte W24 + .byte N06 , Fs3 + .byte W12 + .byte N32 , Fn3 + .byte W18 + .byte VOL , 69*mus_naminori_mvl/mxv + .byte W06 + .byte 60*mus_naminori_mvl/mxv + .byte W06 + .byte 40*mus_naminori_mvl/mxv + .byte W06 + .byte VOICE , 80 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N12 , Fs3 , v048 + .byte W12 + .byte N06 , Cs4 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Fs3 + .byte W12 + .byte N06 , Cs4 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Gs3 + .byte W12 + .byte N06 , Cs4 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Gs3 + .byte W12 + .byte N06 , Cs4 + .byte W12 + .byte N06 + .byte W12 + .byte N32 + .byte W06 + .byte VOL , 71*mus_naminori_mvl/mxv + .byte W06 + .byte 63*mus_naminori_mvl/mxv + .byte W05 + .byte 46*mus_naminori_mvl/mxv + .byte W07 + .byte 40*mus_naminori_mvl/mxv + .byte W05 + .byte 33*mus_naminori_mvl/mxv + .byte W07 + .byte 49*mus_naminori_mvl/mxv + .byte N36 , Cs3 , v060 + .byte W06 + .byte VOL , 55*mus_naminori_mvl/mxv + .byte W06 + .byte 62*mus_naminori_mvl/mxv + .byte W05 + .byte 75*mus_naminori_mvl/mxv + .byte W07 + .byte 80*mus_naminori_mvl/mxv + .byte W12 + .byte N32 , Cs4 + .byte W12 + .byte VOL , 73*mus_naminori_mvl/mxv + .byte W06 + .byte 59*mus_naminori_mvl/mxv + .byte W06 + .byte 44*mus_naminori_mvl/mxv + .byte W06 + .byte 29*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N32 , Fn3 + .byte W18 + .byte VOL , 70*mus_naminori_mvl/mxv + .byte W06 + .byte 49*mus_naminori_mvl/mxv + .byte W06 + .byte 27*mus_naminori_mvl/mxv + .byte W06 + .byte GOTO + .word mus_naminori_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_naminori_5: + .byte KEYSH , mus_naminori_key+0 + .byte W36 +mus_naminori_5_B1: + .byte VOICE , 84 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte PAN , c_v+48 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte N24 , Fn3 , v060 + .byte W24 + .byte N06 , Gs3 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte VOICE , 87 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 84 + .byte N24 + .byte W24 + .byte N06 , Fs3 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N12 , Fs3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N06 , Gs3 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte VOICE , 87 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 84 + .byte VOL , 77*mus_naminori_mvl/mxv + .byte N32 + .byte W05 + .byte VOL , 74*mus_naminori_mvl/mxv + .byte W07 + .byte 68*mus_naminori_mvl/mxv + .byte W05 + .byte 56*mus_naminori_mvl/mxv + .byte W07 + .byte 47*mus_naminori_mvl/mxv + .byte W06 + .byte 33*mus_naminori_mvl/mxv + .byte W06 + .byte VOICE , 82 + .byte VOL , 17*mus_naminori_mvl/mxv + .byte W03 + .byte 80*mus_naminori_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-2 + .byte N12 , Fs3 , v024 + .byte W12 + .byte Gs3 + .byte W12 + .byte An3 + .byte W09 + .byte W03 + .byte Gs3 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte N24 , Gs3 + .byte W24 + .byte N12 , Fn3 + .byte W09 + .byte W03 + .byte Gs3 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte N12 , Bn2 + .byte W12 + .byte N24 , Gs3 + .byte W24 + .byte N12 , Fn3 + .byte W09 + .byte W03 + .byte Fs3 + .byte W12 + .byte N06 , Cs3 + .byte W12 + .byte N12 , As2 + .byte W12 + .byte N24 , Fs3 + .byte W24 + .byte N12 , Gs3 + .byte W09 + .byte W03 + .byte An3 + .byte W12 + .byte N06 , Gs3 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte VOICE , 2 + .byte N06 , Fs2 , v032 + .byte W06 + .byte An2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W03 + .byte W03 + .byte Fn4 , v028 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs3 + .byte W03 + .byte W03 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn2 + .byte W03 + .byte W03 + .byte As2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte As4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte Fs3 + .byte W03 + .byte W03 + .byte VOICE , 82 + .byte N12 , An3 , v032 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N32 , Fn3 + .byte W12 + .byte VOL , 73*mus_naminori_mvl/mxv + .byte W05 + .byte 61*mus_naminori_mvl/mxv + .byte W07 + .byte 40*mus_naminori_mvl/mxv + .byte W05 + .byte 29*mus_naminori_mvl/mxv + .byte W04 + .byte VOICE , 89 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte PAN , c_v+48 + .byte BEND , c_v+0 + .byte N12 , Gs3 , v036 + .byte W12 + .byte VOICE , 90 + .byte VOL , 67*mus_naminori_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 54*mus_naminori_mvl/mxv + .byte W06 + .byte 26*mus_naminori_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 11*mus_naminori_mvl/mxv + .byte W06 + .byte VOICE , 89 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N12 , Ds4 + .byte W12 + .byte VOICE , 90 + .byte VOL , 67*mus_naminori_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 54*mus_naminori_mvl/mxv + .byte W06 + .byte 26*mus_naminori_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 11*mus_naminori_mvl/mxv + .byte W06 + .byte VOICE , 89 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N24 , Gs3 + .byte W12 + .byte VOL , 70*mus_naminori_mvl/mxv + .byte W06 + .byte 54*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N06 , Cs4 + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte VOICE , 90 + .byte VOL , 71*mus_naminori_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 54*mus_naminori_mvl/mxv + .byte W06 + .byte 26*mus_naminori_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 11*mus_naminori_mvl/mxv + .byte W06 + .byte VOICE , 89 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N12 , Gs3 + .byte W12 + .byte VOICE , 90 + .byte VOL , 67*mus_naminori_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 54*mus_naminori_mvl/mxv + .byte W06 + .byte 26*mus_naminori_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 11*mus_naminori_mvl/mxv + .byte W06 + .byte VOICE , 89 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N12 , Dn4 + .byte W12 + .byte VOICE , 90 + .byte VOL , 67*mus_naminori_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 54*mus_naminori_mvl/mxv + .byte W06 + .byte 26*mus_naminori_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 11*mus_naminori_mvl/mxv + .byte W06 + .byte VOICE , 89 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N24 , As3 + .byte W12 + .byte VOL , 70*mus_naminori_mvl/mxv + .byte W06 + .byte 54*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N06 , Ds4 + .byte W12 + .byte N12 , Fs4 + .byte W12 + .byte VOICE , 90 + .byte VOL , 71*mus_naminori_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 54*mus_naminori_mvl/mxv + .byte W06 + .byte 26*mus_naminori_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 11*mus_naminori_mvl/mxv + .byte W06 + .byte BEND , c_v-4 + .byte W72 + .byte W72 + .byte VOICE , 82 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N12 , As3 , v032 + .byte W12 + .byte VOICE , 86 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte N12 , Gs3 + .byte W12 + .byte VOICE , 86 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte N12 , Fs3 + .byte W12 + .byte VOICE , 86 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte BEND , c_v+0 + .byte N12 , Gs2 , v060 + .byte W12 + .byte As2 + .byte W12 + .byte Cn3 + .byte W12 +mus_naminori_5_000: + .byte N12 , Cs3 , v060 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte N12 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte PEND + .byte PATT + .word mus_naminori_5_000 + .byte N12 , Fn3 , v060 + .byte W12 + .byte N06 , As3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , As3 + .byte W12 + .byte Cs3 + .byte W12 + .byte N12 , Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 + .byte W12 + .byte VOICE , 84 + .byte N24 , Gs2 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 86 + .byte N12 + .byte W06 + .byte VOL , 69*mus_naminori_mvl/mxv + .byte W06 + .byte 60*mus_naminori_mvl/mxv + .byte N09 + .byte W06 + .byte VOL , 40*mus_naminori_mvl/mxv + .byte W06 + .byte VOICE , 84 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N24 , An2 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 86 + .byte N12 + .byte W06 + .byte VOL , 69*mus_naminori_mvl/mxv + .byte W06 + .byte 60*mus_naminori_mvl/mxv + .byte N09 + .byte W06 + .byte VOL , 40*mus_naminori_mvl/mxv + .byte W06 + .byte VOICE , 84 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N24 , Cs3 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , As2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte N24 , Ds3 + .byte W24 + .byte N06 , Cs3 + .byte W12 + .byte N12 , Cn3 + .byte W12 + .byte VOICE , 86 + .byte N12 + .byte W06 + .byte VOL , 69*mus_naminori_mvl/mxv + .byte W06 + .byte 60*mus_naminori_mvl/mxv + .byte N09 + .byte W06 + .byte VOL , 40*mus_naminori_mvl/mxv + .byte W06 + .byte VOICE , 82 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N12 , Cs3 , v048 + .byte W12 + .byte N06 , As3 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte N06 , As3 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Fn3 + .byte W12 + .byte N06 , Gs3 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Fn3 + .byte W12 + .byte N06 , Gs3 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , An3 + .byte W06 + .byte VOL , 71*mus_naminori_mvl/mxv + .byte W06 + .byte VOICE , 86 + .byte VOL , 63*mus_naminori_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 46*mus_naminori_mvl/mxv + .byte W07 + .byte 40*mus_naminori_mvl/mxv + .byte N09 + .byte W05 + .byte VOL , 33*mus_naminori_mvl/mxv + .byte W07 + .byte VOICE , 82 + .byte VOL , 49*mus_naminori_mvl/mxv + .byte N12 , An2 , v060 + .byte W06 + .byte VOL , 55*mus_naminori_mvl/mxv + .byte W06 + .byte VOICE , 86 + .byte VOL , 62*mus_naminori_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 75*mus_naminori_mvl/mxv + .byte W07 + .byte 80*mus_naminori_mvl/mxv + .byte N12 + .byte W12 + .byte VOICE , 82 + .byte N12 , Gs3 + .byte W12 + .byte VOICE , 86 + .byte VOL , 73*mus_naminori_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 59*mus_naminori_mvl/mxv + .byte W06 + .byte 44*mus_naminori_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 29*mus_naminori_mvl/mxv + .byte W06 + .byte VOICE , 82 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte N12 , Cs3 , v056 + .byte W12 + .byte VOICE , 86 + .byte N12 , Cs3 , v060 + .byte W06 + .byte VOL , 70*mus_naminori_mvl/mxv + .byte W06 + .byte 49*mus_naminori_mvl/mxv + .byte N09 + .byte W06 + .byte VOL , 27*mus_naminori_mvl/mxv + .byte W06 + .byte GOTO + .word mus_naminori_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_naminori_6: + .byte KEYSH , mus_naminori_key+0 + .byte LFOS , 40 + .byte W36 +mus_naminori_6_B1: + .byte VOICE , 46 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte PAN , c_v-16 + .byte N06 , Cs4 , v088 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte An4 + .byte W06 + .byte Fs4 + .byte W06 + .byte An4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N03 , Fs3 + .byte W03 + .byte As3 + .byte W03 + .byte Cs4 , v092 + .byte W03 + .byte Fs4 + .byte W03 + .byte N06 , Cs5 , v096 + .byte W24 + .byte Ds5 , v088 + .byte W06 + .byte Ds5 , v056 + .byte W06 + .byte Fn5 , v088 + .byte W06 + .byte Fn5 , v056 + .byte W06 + .byte Fs5 , v088 + .byte W06 + .byte Fs5 , v056 + .byte W06 + .byte W36 + .byte Cs4 , v088 + .byte W06 + .byte Cs4 , v056 + .byte W06 + .byte Gs4 , v088 + .byte W06 + .byte Gs4 , v056 + .byte W06 + .byte Cs5 , v088 + .byte W06 + .byte Cs5 , v056 + .byte W06 + .byte W36 + .byte Bn3 , v088 + .byte W06 + .byte Bn3 , v056 + .byte W06 + .byte Gs4 , v088 + .byte W06 + .byte Gs4 , v056 + .byte W06 + .byte Bn4 , v088 + .byte W06 + .byte Bn4 , v056 + .byte W06 + .byte W36 + .byte As3 , v088 + .byte W06 + .byte As3 , v056 + .byte W06 + .byte Fs4 , v088 + .byte W06 + .byte Fs4 , v056 + .byte W06 + .byte As4 , v088 + .byte W06 + .byte As4 , v056 + .byte W06 + .byte VOICE , 48 + .byte VOL , 54*mus_naminori_mvl/mxv + .byte N36 , Fs2 , v064 + .byte W05 + .byte VOL , 58*mus_naminori_mvl/mxv + .byte W07 + .byte 65*mus_naminori_mvl/mxv + .byte W05 + .byte 77*mus_naminori_mvl/mxv + .byte W07 + .byte 80*mus_naminori_mvl/mxv + .byte W12 + .byte 54*mus_naminori_mvl/mxv + .byte N36 , An2 + .byte W05 + .byte VOL , 58*mus_naminori_mvl/mxv + .byte W07 + .byte 65*mus_naminori_mvl/mxv + .byte W05 + .byte 77*mus_naminori_mvl/mxv + .byte W07 + .byte 80*mus_naminori_mvl/mxv + .byte W12 + .byte N72 , Gs2 + .byte W30 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte W06 + .byte 70*mus_naminori_mvl/mxv + .byte W05 + .byte 66*mus_naminori_mvl/mxv + .byte W07 + .byte 57*mus_naminori_mvl/mxv + .byte W05 + .byte 45*mus_naminori_mvl/mxv + .byte W07 + .byte 35*mus_naminori_mvl/mxv + .byte W05 + .byte 22*mus_naminori_mvl/mxv + .byte W07 + .byte W36 + .byte 50*mus_naminori_mvl/mxv + .byte N36 + .byte W06 + .byte VOL , 58*mus_naminori_mvl/mxv + .byte W06 + .byte 60*mus_naminori_mvl/mxv + .byte W05 + .byte 65*mus_naminori_mvl/mxv + .byte W07 + .byte 71*mus_naminori_mvl/mxv + .byte W05 + .byte 80*mus_naminori_mvl/mxv + .byte W07 + .byte N24 , As2 + .byte W24 + .byte N12 , Gs2 + .byte W12 + .byte N18 , Fs2 + .byte W18 + .byte N06 , Cs3 , v072 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N32 , Cs3 + .byte W12 + .byte VOL , 73*mus_naminori_mvl/mxv + .byte W05 + .byte 61*mus_naminori_mvl/mxv + .byte W07 + .byte 40*mus_naminori_mvl/mxv + .byte W05 + .byte 29*mus_naminori_mvl/mxv + .byte W07 + .byte W72 + .byte VOICE , 73 + .byte VOL , 80*mus_naminori_mvl/mxv + .byte PAN , c_v+8 + .byte N18 , Cs5 , v060 + .byte W09 + .byte MOD , 8 + .byte W09 + .byte 0 + .byte N06 , Gs4 , v068 + .byte W06 + .byte As4 + .byte W06 + .byte Cn5 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte N06 , Gs5 + .byte W06 + .byte Gs5 , v024 + .byte W06 + .byte Fn5 , v068 + .byte W06 + .byte Fn5 , v024 + .byte W06 + .byte W72 + .byte N18 , Ds5 , v060 + .byte W09 + .byte MOD , 8 + .byte W09 + .byte 0 + .byte N06 , As4 , v068 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte N12 , Ds5 + .byte W12 + .byte N06 , As5 + .byte W06 + .byte As5 , v024 + .byte W06 + .byte Fs5 , v068 + .byte W06 + .byte Fs5 , v024 + .byte W06 + .byte W72 + .byte W72 + .byte W36 + .byte VOICE , 48 + .byte VOL , 34*mus_naminori_mvl/mxv + .byte PAN , c_v-17 + .byte N36 , Gs3 , v076 + .byte W06 + .byte VOL , 47*mus_naminori_mvl/mxv + .byte W06 + .byte 56*mus_naminori_mvl/mxv + .byte W06 + .byte 63*mus_naminori_mvl/mxv + .byte W06 + .byte 71*mus_naminori_mvl/mxv + .byte W06 + .byte 76*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N36 , As3 + .byte W36 + .byte N12 , Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte VOICE , 46 + .byte N06 , Gs2 , v092 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gs2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs4 + .byte W06 +mus_naminori_6_000: + .byte N06 , An2 , v092 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte An2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte An4 + .byte W06 + .byte PEND +mus_naminori_6_001: + .byte N06 , As2 , v092 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte As2 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte As4 + .byte W06 + .byte PEND + .byte Cn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Ds5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gs2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gs2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte PATT + .word mus_naminori_6_000 + .byte PATT + .word mus_naminori_6_001 + .byte N06 , Cn3 , v092 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte VOICE , 48 + .byte N06 , Fs3 , v052 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte N03 , Fs4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Fs4 + .byte W06 + .byte N06 , Cs5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N03 , Cs4 + .byte W03 + .byte Cn4 + .byte W03 + .byte Cs4 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N32 , Fs4 , v064 + .byte W06 + .byte VOL , 71*mus_naminori_mvl/mxv + .byte W06 + .byte 63*mus_naminori_mvl/mxv + .byte W05 + .byte 46*mus_naminori_mvl/mxv + .byte W07 + .byte 40*mus_naminori_mvl/mxv + .byte W05 + .byte 33*mus_naminori_mvl/mxv + .byte W07 + .byte 80*mus_naminori_mvl/mxv + .byte N12 , Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N32 , Fn4 + .byte W12 + .byte VOL , 73*mus_naminori_mvl/mxv + .byte W06 + .byte 59*mus_naminori_mvl/mxv + .byte W06 + .byte 44*mus_naminori_mvl/mxv + .byte W06 + .byte 29*mus_naminori_mvl/mxv + .byte W06 + .byte 80*mus_naminori_mvl/mxv + .byte N32 , Gs2 + .byte W18 + .byte VOL , 70*mus_naminori_mvl/mxv + .byte W06 + .byte 49*mus_naminori_mvl/mxv + .byte W06 + .byte 27*mus_naminori_mvl/mxv + .byte W06 + .byte GOTO + .word mus_naminori_6_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_naminori: + .byte 6 @ NumTrks + .byte 0 @ NumBlks + .byte mus_naminori_pri @ Priority + .byte mus_naminori_rev @ Reverb. + + .word mus_naminori_grp + + .word mus_naminori_1 + .word mus_naminori_2 + .word mus_naminori_3 + .word mus_naminori_4 + .word mus_naminori_5 + .word mus_naminori_6 + + .end diff --git a/sound/songs/mus_nextroad.s b/sound/songs/mus_nextroad.s new file mode 100644 index 0000000000..e8b35dae69 --- /dev/null +++ b/sound/songs/mus_nextroad.s @@ -0,0 +1,3679 @@ + .include "MPlayDef.s" + + .equ mus_nextroad_grp, voicegroup_86816B0 + .equ mus_nextroad_pri, 0 + .equ mus_nextroad_rev, reverb_set+50 + .equ mus_nextroad_mvl, 127 + .equ mus_nextroad_key, 0 + .equ mus_nextroad_tbs, 1 + .equ mus_nextroad_exg, 0 + .equ mus_nextroad_cmp, 1 + + .section .rodata + .global mus_nextroad + .align 2 + +@********************** Track 1 **********************@ + +mus_nextroad_1: + .byte KEYSH , mus_nextroad_key+0 + .byte TEMPO , 128*mus_nextroad_tbs/2 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte VOL , 62*mus_nextroad_mvl/mxv + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte W96 + .byte W96 +mus_nextroad_1_B1: + .byte TEMPO , 128*mus_nextroad_tbs/2 + .byte VOL , 32*mus_nextroad_mvl/mxv + .byte PAN , c_v+30 + .byte BEND , c_v+0 + .byte W24 + .byte VOICE , 60 + .byte W24 + .byte N08 , Ds4 , v112 + .byte W04 + .byte LFOS , 44 + .byte W04 + .byte N08 , Ds4 , v032 + .byte W08 + .byte N04 , Cn4 , v112 + .byte W04 + .byte Cn4 , v032 + .byte W04 + .byte As4 , v112 + .byte W04 + .byte N08 , As4 , v032 + .byte W12 + .byte N20 , Gs4 , v112 + .byte W08 + .byte W12 + .byte N04 , Gn4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Gn4 + .byte W04 + .byte N08 , Fn4 + .byte W08 + .byte Fn4 , v032 + .byte W08 + .byte Ds4 , v112 + .byte W08 + .byte Cs4 + .byte W08 + .byte Cs4 , v032 + .byte W08 + .byte Cn4 , v112 + .byte W08 + .byte N04 , Gs3 + .byte W04 + .byte N08 , Gs3 , v032 + .byte W12 + .byte N04 , As3 , v112 + .byte W04 + .byte As3 , v032 + .byte W04 + .byte N48 , Cn4 , v112 + .byte W24 + .byte MOD , 8 + .byte VOL , 30*mus_nextroad_mvl/mxv + .byte W04 + .byte 28*mus_nextroad_mvl/mxv + .byte W04 + .byte 27*mus_nextroad_mvl/mxv + .byte W04 + .byte 22*mus_nextroad_mvl/mxv + .byte W04 + .byte 17*mus_nextroad_mvl/mxv + .byte W04 + .byte 12*mus_nextroad_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte N08 , Cn4 , v032 + .byte W12 + .byte VOL , 33*mus_nextroad_mvl/mxv + .byte W36 + .byte VOICE , 56 + .byte VOL , 61*mus_nextroad_mvl/mxv + .byte W48 + .byte PAN , c_v+42 + .byte W08 + .byte N04 , Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Gn4 , v112 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Gs4 , v112 + .byte W04 + .byte Gs4 , v032 + .byte W44 + .byte PAN , c_v-20 + .byte N08 , Ds4 , v112 + .byte W08 + .byte Ds4 , v032 + .byte W08 + .byte N04 , Cn4 , v112 + .byte W04 + .byte Cn4 , v032 + .byte W04 + .byte Ds5 , v112 + .byte W04 + .byte Ds5 , v032 + .byte W12 + .byte N20 , Cs5 , v112 + .byte W08 + .byte W12 + .byte N04 , Cn5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Cn5 + .byte W04 + .byte As4 + .byte W04 + .byte N08 , As4 , v032 + .byte W12 + .byte N04 , Gs4 , v112 + .byte W04 + .byte Gs4 , v032 + .byte W04 + .byte N48 , Fs4 , v112 + .byte W24 + .byte MOD , 8 + .byte VOL , 58*mus_nextroad_mvl/mxv + .byte W04 + .byte 54*mus_nextroad_mvl/mxv + .byte W04 + .byte 49*mus_nextroad_mvl/mxv + .byte W04 + .byte 46*mus_nextroad_mvl/mxv + .byte W04 + .byte 42*mus_nextroad_mvl/mxv + .byte W04 + .byte 40*mus_nextroad_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 61*mus_nextroad_mvl/mxv + .byte N08 , Fs4 , v032 + .byte W24 + .byte N04 , Fn4 , v112 + .byte W04 + .byte N08 , Fn4 , v032 + .byte W12 + .byte N04 , Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N48 , Gs4 , v112 + .byte W24 + .byte MOD , 8 + .byte VOL , 58*mus_nextroad_mvl/mxv + .byte W04 + .byte 51*mus_nextroad_mvl/mxv + .byte W04 + .byte 46*mus_nextroad_mvl/mxv + .byte W04 + .byte 42*mus_nextroad_mvl/mxv + .byte W04 + .byte 38*mus_nextroad_mvl/mxv + .byte W04 + .byte 36*mus_nextroad_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte N48 , As4 + .byte W04 + .byte VOL , 25*mus_nextroad_mvl/mxv + .byte W04 + .byte 40*mus_nextroad_mvl/mxv + .byte W04 + .byte 45*mus_nextroad_mvl/mxv + .byte W04 + .byte 52*mus_nextroad_mvl/mxv + .byte W04 + .byte 56*mus_nextroad_mvl/mxv + .byte W04 + .byte 61*mus_nextroad_mvl/mxv + .byte MOD , 8 + .byte W04 + .byte VOL , 65*mus_nextroad_mvl/mxv + .byte W04 + .byte 61*mus_nextroad_mvl/mxv + .byte W16 + .byte MOD , 0 + .byte N08 , As4 , v032 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 85 + .byte W96 + .byte VOL , 35*mus_nextroad_mvl/mxv + .byte PAN , c_v-58 + .byte BEND , c_v+1 + .byte W02 + .byte N04 , Gs3 , v112 + .byte W02 + .byte PAN , c_v-57 + .byte W02 + .byte N04 , Cs4 + .byte W04 + .byte Fn4 + .byte W02 + .byte PAN , c_v-55 + .byte W02 + .byte N04 , Cs4 + .byte W02 + .byte PAN , c_v-49 + .byte W02 + .byte N04 , Fn4 + .byte W02 + .byte PAN , c_v-47 + .byte W02 + .byte N04 , Gs4 + .byte W02 + .byte PAN , c_v-41 + .byte W02 + .byte N04 , Fn4 + .byte W02 + .byte PAN , c_v-38 + .byte W02 + .byte N04 , Gs4 + .byte W02 + .byte PAN , c_v-32 + .byte W02 + .byte N04 , Cs5 + .byte W02 + .byte PAN , c_v-28 + .byte W02 + .byte N04 , Gs4 + .byte W02 + .byte PAN , c_v-18 + .byte W02 + .byte N04 , Cs5 + .byte W02 + .byte PAN , c_v-11 + .byte W02 + .byte N04 , Fn5 + .byte W02 + .byte PAN , c_v-3 + .byte W02 + .byte N04 , Cs5 + .byte W02 + .byte PAN , c_v+3 + .byte W02 + .byte N04 , Fn5 + .byte W02 + .byte PAN , c_v+11 + .byte W02 + .byte N04 , Gs5 + .byte W02 + .byte PAN , c_v+19 + .byte W02 + .byte N04 , Fn5 + .byte W02 + .byte PAN , c_v+26 + .byte W02 + .byte N04 , Gs5 + .byte W02 + .byte PAN , c_v+32 + .byte W02 + .byte N04 , Cs6 + .byte W02 + .byte PAN , c_v+40 + .byte W02 + .byte N04 , Gs5 + .byte W02 + .byte PAN , c_v+49 + .byte W02 + .byte N04 , Cs6 + .byte W02 + .byte PAN , c_v+61 + .byte W02 + .byte N04 , Fn6 + .byte W02 + .byte PAN , c_v+63 + .byte W02 + .byte N04 , Cs6 + .byte W04 + .byte Fn6 + .byte W04 + .byte Gs6 + .byte W02 + .byte VOL , 24*mus_nextroad_mvl/mxv + .byte PAN , c_v+58 + .byte W02 + .byte N04 , As6 + .byte W02 + .byte PAN , c_v+40 + .byte W02 + .byte N04 , Gn6 + .byte W02 + .byte PAN , c_v+16 + .byte W02 + .byte N04 , Ds6 + .byte W02 + .byte PAN , c_v+2 + .byte W02 + .byte N04 , Gn6 + .byte W02 + .byte PAN , c_v-9 + .byte W02 + .byte N04 , Ds6 + .byte W02 + .byte PAN , c_v-16 + .byte W02 + .byte N04 , As5 + .byte W02 + .byte PAN , c_v-23 + .byte W02 + .byte N04 , Ds6 + .byte W02 + .byte PAN , c_v-29 + .byte W02 + .byte N04 , As5 + .byte W02 + .byte PAN , c_v-32 + .byte W02 + .byte N04 , Gn5 + .byte W02 + .byte PAN , c_v-35 + .byte W02 + .byte N04 , As5 + .byte W02 + .byte PAN , c_v-38 + .byte W02 + .byte N04 , Gn5 + .byte W02 + .byte PAN , c_v-42 + .byte W02 + .byte N04 , Ds5 + .byte W02 + .byte PAN , c_v-45 + .byte W02 + .byte N04 , Gn5 + .byte W02 + .byte PAN , c_v-48 + .byte W02 + .byte N04 , Ds5 + .byte W02 + .byte PAN , c_v-50 + .byte W02 + .byte N04 , As4 + .byte W02 + .byte PAN , c_v-53 + .byte W02 + .byte N04 , Ds5 + .byte W02 + .byte PAN , c_v-56 + .byte W02 + .byte N04 , As4 + .byte W04 + .byte Gn4 + .byte W02 + .byte PAN , c_v-57 + .byte W02 + .byte N04 , As4 + .byte W02 + .byte PAN , c_v-59 + .byte W02 + .byte N04 , Gn4 + .byte W02 + .byte PAN , c_v-61 + .byte W02 + .byte N04 , Ds4 + .byte W02 + .byte PAN , c_v-63 + .byte W02 + .byte N04 , Gn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte As3 + .byte W02 + .byte W02 + .byte Fn2 + .byte W04 + .byte An2 + .byte W04 + .byte Cn3 + .byte W02 + .byte PAN , c_v-31 + .byte W02 + .byte N04 , Ds3 + .byte W02 + .byte PAN , c_v+1 + .byte W02 + .byte N04 , Fn3 + .byte W04 + .byte An3 + .byte W02 + .byte PAN , c_v+63 + .byte W02 + .byte N04 , Cn4 + .byte W04 + .byte An3 + .byte W02 + .byte PAN , c_v+16 + .byte W02 + .byte N04 , Fn3 + .byte W02 + .byte PAN , c_v+0 + .byte W02 + .byte N04 , Ds3 + .byte W02 + .byte PAN , c_v-63 + .byte W02 + .byte N04 , Cn3 + .byte W04 + .byte An2 + .byte W02 + .byte TEMPO , 122*mus_nextroad_tbs/2 + .byte VOL , 18*mus_nextroad_mvl/mxv + .byte W02 + .byte N04 , Fn2 + .byte W04 + .byte An2 + .byte W04 + .byte Cn3 + .byte W02 + .byte PAN , c_v-31 + .byte W02 + .byte N04 , Ds3 + .byte W02 + .byte PAN , c_v+1 + .byte W02 + .byte N04 , Fn3 + .byte W04 + .byte An3 + .byte W02 + .byte PAN , c_v+63 + .byte W02 + .byte N04 , Cn4 + .byte W04 + .byte An3 + .byte W02 + .byte PAN , c_v+16 + .byte W02 + .byte N04 , Fn3 + .byte W02 + .byte PAN , c_v+0 + .byte W02 + .byte N04 , Ds3 + .byte W02 + .byte PAN , c_v-63 + .byte W02 + .byte N04 , Cn3 + .byte W04 + .byte An2 + .byte W02 + .byte TEMPO , 120*mus_nextroad_tbs/2 + .byte VOL , 11*mus_nextroad_mvl/mxv + .byte W02 + .byte N04 , Fn2 + .byte W04 + .byte An2 + .byte W04 + .byte Cn3 + .byte W02 + .byte PAN , c_v-31 + .byte W02 + .byte N04 , Ds3 + .byte W02 + .byte PAN , c_v+1 + .byte W02 + .byte N04 , Fn3 + .byte W04 + .byte An3 + .byte W02 + .byte PAN , c_v+63 + .byte W02 + .byte N04 , Cn4 + .byte W04 + .byte An3 + .byte W02 + .byte PAN , c_v+16 + .byte W02 + .byte N04 , Fn3 + .byte W02 + .byte PAN , c_v+0 + .byte W02 + .byte N04 , Ds3 + .byte W02 + .byte PAN , c_v-63 + .byte W02 + .byte N04 , Cn3 + .byte W04 + .byte An2 + .byte W04 + .byte Ds2 + .byte W04 + .byte Gn2 + .byte W02 + .byte PAN , c_v-57 + .byte W02 + .byte N04 , As2 + .byte W02 + .byte PAN , c_v-48 + .byte W02 + .byte N04 , Cs3 + .byte W02 + .byte PAN , c_v-8 + .byte W02 + .byte N04 , Ds3 + .byte W02 + .byte PAN , c_v+20 + .byte W02 + .byte N04 , Gn3 + .byte W02 + .byte PAN , c_v+43 + .byte W02 + .byte N04 , As3 + .byte W02 + .byte PAN , c_v+61 + .byte W02 + .byte N04 , Cs4 + .byte W02 + .byte PAN , c_v+63 + .byte W02 + .byte N04 , Ds4 + .byte W04 + .byte Gn4 + .byte W04 + .byte As4 + .byte W06 + .byte GOTO + .word mus_nextroad_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_nextroad_2: + .byte KEYSH , mus_nextroad_key+0 + .byte VOICE , 56 + .byte PAN , c_v-48 + .byte LFOS , 44 + .byte VOL , 73*mus_nextroad_mvl/mxv + .byte XCMD , xIECV , 20 + .byte xIECL , 14 + .byte W96 + .byte W72 + .byte VOL , 44*mus_nextroad_mvl/mxv + .byte W16 + .byte N04 , Gs3 , v080 + .byte W04 + .byte As3 + .byte W04 +mus_nextroad_2_B1: + .byte VOICE , 83 + .byte PAN , c_v-48 + .byte MOD , 3 + .byte VOL , 44*mus_nextroad_mvl/mxv + .byte N04 , Cn4 , v080 + .byte W24 + .byte N04 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte Bn3 + .byte W08 + .byte As3 + .byte W24 + .byte N04 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cn4 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte Bn3 + .byte W08 + .byte As3 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W32 + .byte Cs4 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fs3 + .byte W08 + .byte En4 + .byte W08 + .byte Gs4 + .byte W24 + .byte N04 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fs4 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte Gn4 + .byte W08 + .byte Cn5 + .byte W24 + .byte N04 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte Bn4 + .byte W08 + .byte VOICE , 56 + .byte W96 + .byte MOD , 2 + .byte VOL , 73*mus_nextroad_mvl/mxv + .byte W72 + .byte N08 , Fn5 , v112 + .byte W08 + .byte PAN , c_v+52 + .byte N02 , Ds5 , v084 + .byte W02 + .byte PAN , c_v+32 + .byte N02 , Cs5 , v076 + .byte W02 + .byte PAN , c_v+23 + .byte N02 , Cn5 , v064 + .byte W02 + .byte PAN , c_v+11 + .byte N02 , As4 , v060 + .byte W02 + .byte PAN , c_v-20 + .byte N02 , Gs4 , v052 + .byte W02 + .byte PAN , c_v-32 + .byte N02 , Fs4 , v044 + .byte W02 + .byte PAN , c_v-37 + .byte N02 , Fn4 , v036 + .byte W02 + .byte PAN , c_v-56 + .byte N02 , Ds4 , v032 + .byte W02 + .byte W96 +mus_nextroad_2_000: + .byte W72 + .byte VOICE , 56 + .byte N08 , Gn5 , v112 + .byte W08 + .byte PAN , c_v+52 + .byte N02 , Fs5 , v084 + .byte W02 + .byte PAN , c_v+32 + .byte N02 , Fn5 , v076 + .byte W02 + .byte PAN , c_v+23 + .byte N02 , Ds5 , v064 + .byte W02 + .byte PAN , c_v+11 + .byte N02 , Cs5 , v060 + .byte W02 + .byte PAN , c_v-20 + .byte N02 , Cn5 , v052 + .byte W02 + .byte PAN , c_v-32 + .byte N02 , As4 , v044 + .byte W02 + .byte PAN , c_v-37 + .byte N02 , Gs4 , v036 + .byte W02 + .byte PAN , c_v-56 + .byte N02 , Fs4 , v032 + .byte W02 + .byte PEND + .byte W96 + .byte W96 + .byte PATT + .word mus_nextroad_2_000 + .byte W96 + .byte W96 + .byte VOICE , 60 + .byte VOL , 30*mus_nextroad_mvl/mxv + .byte PAN , c_v+47 + .byte W96 + .byte W72 + .byte N24 , Bn3 , v112 + .byte W24 + .byte N72 , Cn4 + .byte W72 + .byte N24 , As3 + .byte W24 + .byte N40 , An3 + .byte W40 + .byte N04 , Cs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte N48 , Ds3 + .byte W48 + .byte GOTO + .word mus_nextroad_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_nextroad_3: + .byte KEYSH , mus_nextroad_key+0 + .byte VOICE , 58 + .byte PAN , c_v+0 + .byte VOL , 85*mus_nextroad_mvl/mxv + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte BEND , c_v+0 + .byte W96 + .byte W72 + .byte c_v+0 + .byte N24 , Ds1 , v112 + .byte W12 + .byte BEND , c_v+4 + .byte W04 + .byte c_v+22 + .byte W04 + .byte c_v+41 + .byte W04 +mus_nextroad_3_B1: + .byte VOICE , 80 + .byte PAN , c_v+0 + .byte VOL , 78*mus_nextroad_mvl/mxv + .byte BEND , c_v+0 + .byte N08 , Gs1 , v112 + .byte W48 + .byte Ds1 + .byte W48 + .byte Fs1 + .byte W48 + .byte Cs1 + .byte W40 + .byte N04 , Ds1 , v072 + .byte W04 + .byte N04 + .byte W04 +mus_nextroad_3_000: + .byte N08 , Gs1 , v112 + .byte W48 + .byte Ds1 + .byte W48 + .byte PEND + .byte Fs1 + .byte W24 + .byte Cs1 + .byte W32 + .byte N04 , Ds1 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gn1 + .byte W08 + .byte PATT + .word mus_nextroad_3_000 + .byte N08 , Fs1 , v112 + .byte W48 + .byte Cs1 + .byte W48 + .byte Fn1 + .byte W48 + .byte VOL , 44*mus_nextroad_mvl/mxv + .byte N48 , Cs1 + .byte W02 + .byte VOL , 46*mus_nextroad_mvl/mxv + .byte W03 + .byte 51*mus_nextroad_mvl/mxv + .byte W03 + .byte 54*mus_nextroad_mvl/mxv + .byte W04 + .byte 55*mus_nextroad_mvl/mxv + .byte W02 + .byte 58*mus_nextroad_mvl/mxv + .byte W03 + .byte 61*mus_nextroad_mvl/mxv + .byte W03 + .byte 64*mus_nextroad_mvl/mxv + .byte W04 + .byte 66*mus_nextroad_mvl/mxv + .byte W02 + .byte 68*mus_nextroad_mvl/mxv + .byte W03 + .byte 73*mus_nextroad_mvl/mxv + .byte W03 + .byte 78*mus_nextroad_mvl/mxv + .byte W04 + .byte 81*mus_nextroad_mvl/mxv + .byte W02 + .byte 85*mus_nextroad_mvl/mxv + .byte W03 + .byte 88*mus_nextroad_mvl/mxv + .byte W03 + .byte 91*mus_nextroad_mvl/mxv + .byte W04 + .byte 61*mus_nextroad_mvl/mxv + .byte N08 , Fs1 + .byte W24 + .byte Cs1 + .byte W24 + .byte Ds1 + .byte W16 + .byte N04 + .byte W08 + .byte N24 , Gn1 + .byte W24 + .byte VOICE , 38 + .byte VOL , 97*mus_nextroad_mvl/mxv + .byte N08 , Cs1 + .byte W16 + .byte N04 + .byte W08 + .byte Gs0 + .byte W08 + .byte As0 + .byte W08 + .byte Cn1 + .byte W08 + .byte N08 , Cs1 + .byte W16 + .byte VOICE , 56 + .byte W08 + .byte VOL , 74*mus_nextroad_mvl/mxv + .byte N08 , Cn5 + .byte W10 + .byte VOICE , 38 + .byte W06 + .byte VOL , 97*mus_nextroad_mvl/mxv + .byte N08 , Cn2 + .byte W08 + .byte PAN , c_v+0 + .byte N08 , Ds1 + .byte W16 + .byte N04 + .byte W32 + .byte N08 + .byte W16 + .byte N04 , Ds2 + .byte W08 + .byte N08 , Cs1 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Cn1 + .byte W16 + .byte N04 + .byte W08 + .byte Gn0 + .byte W08 + .byte An0 + .byte W08 + .byte Bn0 + .byte W08 + .byte N08 , Cn1 + .byte W24 + .byte VOICE , 56 + .byte VOL , 74*mus_nextroad_mvl/mxv + .byte N08 , Ds5 + .byte W10 + .byte VOICE , 38 + .byte W06 + .byte VOL , 97*mus_nextroad_mvl/mxv + .byte N08 , Cn2 + .byte W08 + .byte Fn1 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , En1 + .byte W08 + .byte Ds1 + .byte W16 + .byte N04 , Ds2 + .byte W08 + .byte As0 + .byte W08 + .byte Cn1 + .byte W08 + .byte Dn1 + .byte W08 + .byte N08 , Cs1 + .byte W16 + .byte N04 + .byte W08 + .byte Gs0 + .byte W08 + .byte As0 + .byte W08 + .byte Cn1 + .byte W08 + .byte N08 , Cs1 + .byte W40 + .byte Cn2 + .byte W08 + .byte Ds1 + .byte W16 + .byte N04 + .byte W32 + .byte N08 + .byte W16 + .byte N04 + .byte W04 + .byte VOICE , 56 + .byte W04 + .byte VOL , 73*mus_nextroad_mvl/mxv + .byte N08 , Ds5 + .byte W10 + .byte VOICE , 38 + .byte W02 + .byte VOL , 97*mus_nextroad_mvl/mxv + .byte W04 + .byte N08 , As1 + .byte W08 + .byte Cn1 + .byte W16 + .byte N04 + .byte W08 + .byte Gn0 + .byte W08 + .byte An0 + .byte W08 + .byte Bn0 + .byte W08 + .byte N08 , Cn1 + .byte W40 + .byte Cn2 + .byte W08 + .byte Fn1 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , En1 + .byte W08 + .byte Ds1 + .byte W16 + .byte N04 , Ds2 + .byte W08 + .byte N08 , Dn1 + .byte W16 + .byte N04 + .byte W08 + .byte N16 , Cs1 + .byte W96 + .byte Ds1 + .byte W96 + .byte N72 , Fn1 + .byte W96 + .byte W72 + .byte N24 , Ds1 + .byte W24 + .byte GOTO + .word mus_nextroad_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_nextroad_4: + .byte KEYSH , mus_nextroad_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte MOD , 1 + .byte VOL , 97*mus_nextroad_mvl/mxv + .byte PAN , c_v+8 + .byte BEND , c_v+0 + .byte W96 + .byte W88 + .byte N04 , Cn3 , v124 + .byte W04 + .byte Cs3 + .byte W04 +mus_nextroad_4_B1: + .byte PAN , c_v+3 + .byte N08 , Ds3 , v124 + .byte W03 + .byte PAN , c_v+0 + .byte W05 + .byte N08 , Ds3 , v032 + .byte W08 + .byte N04 , Cn3 , v124 + .byte W04 + .byte Cn3 , v032 + .byte W04 + .byte As3 , v124 + .byte W04 + .byte N08 , As3 , v032 + .byte W12 + .byte N20 , Gs3 , v124 + .byte W20 + .byte N04 , Gn3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte N08 , Fn3 , v032 + .byte W12 + .byte N04 , Ds3 , v124 + .byte W04 + .byte Ds3 , v032 + .byte W04 + .byte N48 , Cs3 , v124 + .byte W24 + .byte MOD , 8 + .byte VOL , 95*mus_nextroad_mvl/mxv + .byte W04 + .byte 84*mus_nextroad_mvl/mxv + .byte W04 + .byte 73*mus_nextroad_mvl/mxv + .byte W04 + .byte 63*mus_nextroad_mvl/mxv + .byte W04 + .byte 51*mus_nextroad_mvl/mxv + .byte W04 + .byte 45*mus_nextroad_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 45*mus_nextroad_mvl/mxv + .byte N08 , Cs3 , v032 + .byte W12 + .byte VOL , 97*mus_nextroad_mvl/mxv + .byte W12 + .byte N04 , Cn3 , v124 + .byte W04 + .byte N08 , Cn3 , v032 + .byte W12 + .byte N04 , Cs3 , v124 + .byte W04 + .byte Cs3 , v032 + .byte W04 + .byte N48 , Ds3 , v124 + .byte W24 + .byte MOD , 8 + .byte VOL , 95*mus_nextroad_mvl/mxv + .byte W04 + .byte 84*mus_nextroad_mvl/mxv + .byte W04 + .byte 73*mus_nextroad_mvl/mxv + .byte W04 + .byte 63*mus_nextroad_mvl/mxv + .byte W04 + .byte 51*mus_nextroad_mvl/mxv + .byte W04 + .byte 45*mus_nextroad_mvl/mxv + .byte W04 + .byte VOICE , 60 + .byte MOD , 0 + .byte VOL , 38*mus_nextroad_mvl/mxv + .byte N08 , Ds3 , v032 + .byte W04 + .byte VOL , 36*mus_nextroad_mvl/mxv + .byte W08 + .byte 97*mus_nextroad_mvl/mxv + .byte W04 + .byte N04 , Cn4 , v124 + .byte W04 + .byte Cs4 + .byte W04 + .byte Ds4 + .byte W04 + .byte N08 , Ds4 , v032 + .byte W12 + .byte N04 , Cn4 , v124 + .byte W04 + .byte Cs4 + .byte W04 + .byte N52 , Ds4 + .byte W24 + .byte MOD , 8 + .byte VOL , 95*mus_nextroad_mvl/mxv + .byte W04 + .byte 84*mus_nextroad_mvl/mxv + .byte W04 + .byte 73*mus_nextroad_mvl/mxv + .byte W04 + .byte 63*mus_nextroad_mvl/mxv + .byte W04 + .byte 51*mus_nextroad_mvl/mxv + .byte W04 + .byte 45*mus_nextroad_mvl/mxv + .byte W04 + .byte MOD , 1 + .byte VOL , 38*mus_nextroad_mvl/mxv + .byte W04 + .byte N04 , Ds4 , v032 + .byte W04 + .byte VOL , 97*mus_nextroad_mvl/mxv + .byte N04 , Fs3 , v124 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte Fs3 , v124 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte Fs3 , v124 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte Cs3 , v124 + .byte W04 + .byte Cs3 , v032 + .byte W04 + .byte Gn3 , v124 + .byte W04 + .byte Gn3 , v032 + .byte W04 + .byte PAN , c_v+0 + .byte N08 , Ds3 , v124 + .byte W08 + .byte N04 , Ds3 , v032 + .byte W08 + .byte Cn3 , v124 + .byte W04 + .byte Cn3 , v032 + .byte W04 + .byte Ds4 , v124 + .byte W04 + .byte Ds4 , v032 + .byte W12 + .byte N20 , Cs4 , v124 + .byte W20 + .byte N04 , Cn4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Cn4 + .byte W04 + .byte As3 + .byte W04 + .byte N08 , As3 , v032 + .byte W12 + .byte N04 , Gs3 , v124 + .byte W04 + .byte Gs3 , v032 + .byte W04 + .byte N48 , Fs3 , v124 + .byte W24 + .byte MOD , 8 + .byte VOL , 97*mus_nextroad_mvl/mxv + .byte W04 + .byte 89*mus_nextroad_mvl/mxv + .byte W04 + .byte 82*mus_nextroad_mvl/mxv + .byte W04 + .byte 75*mus_nextroad_mvl/mxv + .byte W04 + .byte 70*mus_nextroad_mvl/mxv + .byte W04 + .byte 63*mus_nextroad_mvl/mxv + .byte W04 + .byte MOD , 1 + .byte N08 , Fs3 , v032 + .byte W08 + .byte VOL , 97*mus_nextroad_mvl/mxv + .byte W16 + .byte N04 , Fn3 , v124 + .byte W04 + .byte N08 , Fn3 , v032 + .byte W12 + .byte N04 , Fs3 , v124 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte N72 , Gs3 , v124 + .byte W08 + .byte VOL , 80*mus_nextroad_mvl/mxv + .byte W04 + .byte 72*mus_nextroad_mvl/mxv + .byte W04 + .byte 64*mus_nextroad_mvl/mxv + .byte W04 + .byte 54*mus_nextroad_mvl/mxv + .byte W04 + .byte 44*mus_nextroad_mvl/mxv + .byte W04 + .byte 38*mus_nextroad_mvl/mxv + .byte W04 + .byte 35*mus_nextroad_mvl/mxv + .byte W04 + .byte 38*mus_nextroad_mvl/mxv + .byte W04 + .byte 42*mus_nextroad_mvl/mxv + .byte W04 + .byte 48*mus_nextroad_mvl/mxv + .byte W04 + .byte 53*mus_nextroad_mvl/mxv + .byte W04 + .byte 64*mus_nextroad_mvl/mxv + .byte W04 + .byte 71*mus_nextroad_mvl/mxv + .byte W04 + .byte 76*mus_nextroad_mvl/mxv + .byte W04 + .byte 84*mus_nextroad_mvl/mxv + .byte W04 + .byte 88*mus_nextroad_mvl/mxv + .byte W04 + .byte 95*mus_nextroad_mvl/mxv + .byte MOD , 8 + .byte N04 , Cs4 + .byte W04 + .byte VOL , 97*mus_nextroad_mvl/mxv + .byte N08 , Cs4 , v032 + .byte W04 + .byte VOL , 97*mus_nextroad_mvl/mxv + .byte W08 + .byte N04 , Ds4 , v124 + .byte W04 + .byte Ds4 , v032 + .byte W04 + .byte MOD , 1 + .byte N32 , En4 , v124 + .byte W04 + .byte VOL , 93*mus_nextroad_mvl/mxv + .byte W04 + .byte 89*mus_nextroad_mvl/mxv + .byte W04 + .byte 80*mus_nextroad_mvl/mxv + .byte W04 + .byte MOD , 9 + .byte W04 + .byte VOL , 74*mus_nextroad_mvl/mxv + .byte W04 + .byte 70*mus_nextroad_mvl/mxv + .byte W04 + .byte 67*mus_nextroad_mvl/mxv + .byte W04 + .byte 62*mus_nextroad_mvl/mxv + .byte MOD , 0 + .byte N04 , Fs4 , v112 + .byte W04 + .byte VOL , 56*mus_nextroad_mvl/mxv + .byte W04 + .byte 51*mus_nextroad_mvl/mxv + .byte N04 , En4 + .byte W04 + .byte VOL , 34*mus_nextroad_mvl/mxv + .byte W04 + .byte VOICE , 56 + .byte VOL , 97*mus_nextroad_mvl/mxv + .byte PAN , c_v+0 + .byte N24 , Ds4 + .byte W04 + .byte VOL , 76*mus_nextroad_mvl/mxv + .byte W01 + .byte 70*mus_nextroad_mvl/mxv + .byte W03 + .byte 61*mus_nextroad_mvl/mxv + .byte W01 + .byte 56*mus_nextroad_mvl/mxv + .byte W03 + .byte 50*mus_nextroad_mvl/mxv + .byte W01 + .byte 45*mus_nextroad_mvl/mxv + .byte W03 + .byte 41*mus_nextroad_mvl/mxv + .byte MOD , 8 + .byte W01 + .byte VOL , 36*mus_nextroad_mvl/mxv + .byte W03 + .byte 35*mus_nextroad_mvl/mxv + .byte W01 + .byte 38*mus_nextroad_mvl/mxv + .byte W03 + .byte 42*mus_nextroad_mvl/mxv + .byte MOD , 0 + .byte N24 , Ds5 , v124 + .byte W01 + .byte VOL , 45*mus_nextroad_mvl/mxv + .byte W03 + .byte 54*mus_nextroad_mvl/mxv + .byte W01 + .byte 58*mus_nextroad_mvl/mxv + .byte W03 + .byte 62*mus_nextroad_mvl/mxv + .byte W01 + .byte 66*mus_nextroad_mvl/mxv + .byte W03 + .byte 72*mus_nextroad_mvl/mxv + .byte W01 + .byte 76*mus_nextroad_mvl/mxv + .byte W03 + .byte MOD , 10 + .byte VOL , 87*mus_nextroad_mvl/mxv + .byte W01 + .byte 97*mus_nextroad_mvl/mxv + .byte W07 + .byte MOD , 1 + .byte VOL , 90*mus_nextroad_mvl/mxv + .byte PAN , c_v+0 + .byte N16 , Cn5 + .byte W16 + .byte N04 , Cs5 + .byte W08 + .byte Ds5 + .byte W04 + .byte N08 , Ds5 , v032 + .byte W12 + .byte N24 , Cs5 , v124 + .byte W16 + .byte MOD , 8 + .byte W08 + .byte 1 + .byte N04 , Cn5 + .byte W04 + .byte Cn5 , v032 + .byte W04 + .byte As4 , v124 + .byte W04 + .byte As4 , v032 + .byte W04 + .byte Cn5 , v124 + .byte W04 + .byte Cn5 , v032 + .byte W04 + .byte Gs4 , v124 + .byte W04 + .byte Gs4 , v032 + .byte W04 + .byte N48 , As4 , v124 + .byte W24 + .byte MOD , 10 + .byte W24 + .byte 1 + .byte N08 , As4 , v032 + .byte W48 + .byte N16 , Gn4 , v124 + .byte W16 + .byte N04 , Gs4 + .byte W04 + .byte Gs4 , v032 + .byte W04 + .byte As4 , v124 + .byte W04 + .byte As4 , v032 + .byte W12 + .byte N24 , Ds5 , v124 + .byte W08 + .byte MOD , 6 + .byte W16 + .byte 1 + .byte N04 , Cs5 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte Cn5 , v124 + .byte W04 + .byte Cn5 , v032 + .byte W04 + .byte Cs5 , v124 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte Gn4 , v124 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte N16 , As4 , v124 + .byte W16 + .byte N04 , Cn5 + .byte W04 + .byte As4 + .byte W04 + .byte N24 , An4 + .byte W24 + .byte As4 + .byte W24 + .byte Cn5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 1 + .byte N48 , Gs4 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 1 + .byte N16 , Fn4 + .byte W16 + .byte N08 , Gn4 + .byte W08 + .byte Gn4 , v032 + .byte W16 + .byte N04 , Gs4 , v124 + .byte W04 + .byte Gs4 , v032 + .byte W04 + .byte N24 , Gs4 , v124 + .byte W08 + .byte MOD , 8 + .byte W16 + .byte 1 + .byte N16 , Gn4 + .byte W16 + .byte N04 , Fn4 + .byte W04 + .byte Fn4 , v032 + .byte W04 + .byte N16 , Fn4 , v124 + .byte W16 + .byte N08 , Gs4 + .byte W08 + .byte Gs4 , v032 + .byte W08 + .byte Gn4 , v124 + .byte W08 + .byte Gn4 , v032 + .byte W08 + .byte N40 , Fn4 , v124 + .byte W24 + .byte MOD , 8 + .byte W16 + .byte 1 + .byte N32 , Ds4 + .byte W16 + .byte MOD , 8 + .byte W16 + .byte 1 + .byte N20 , Cn4 + .byte W20 + .byte N04 , Bn4 + .byte W04 + .byte TIE , Cn5 + .byte W24 + .byte MOD , 2 + .byte W24 + .byte 6 + .byte W24 + .byte 10 + .byte W24 + .byte 1 + .byte W16 + .byte EOT + .byte N08 , As4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Gs4 , v032 + .byte W08 + .byte N24 , Gs4 , v124 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 1 + .byte N08 , Gn4 + .byte W08 + .byte N24 , Fn4 + .byte W24 + .byte N08 , Gn4 + .byte W08 + .byte Gn4 , v032 + .byte W08 + .byte Gs4 , v124 + .byte W08 + .byte As4 + .byte W08 + .byte As4 , v032 + .byte W08 + .byte N24 , As4 , v124 + .byte W08 + .byte MOD , 8 + .byte W16 + .byte 1 + .byte N08 , Gs4 + .byte W08 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 1 + .byte N72 , An4 + .byte W48 + .byte MOD , 8 + .byte W24 + .byte 1 + .byte N24 , Gn4 + .byte W24 + .byte N48 , Fn4 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 1 + .byte N04 , Ds4 + .byte W04 + .byte VOL , 97*mus_nextroad_mvl/mxv + .byte N04 , Fn4 + .byte W04 + .byte VOL , 83*mus_nextroad_mvl/mxv + .byte N04 , Ds4 + .byte W04 + .byte VOL , 69*mus_nextroad_mvl/mxv + .byte N04 , Fn4 + .byte W04 + .byte VOL , 63*mus_nextroad_mvl/mxv + .byte N04 , Ds4 + .byte W04 + .byte VOL , 53*mus_nextroad_mvl/mxv + .byte N04 , Fn4 + .byte W04 + .byte VOL , 47*mus_nextroad_mvl/mxv + .byte N04 , Ds4 + .byte W04 + .byte VOL , 38*mus_nextroad_mvl/mxv + .byte N04 , Fn4 + .byte W04 + .byte VOL , 29*mus_nextroad_mvl/mxv + .byte N04 , Ds4 + .byte W04 + .byte Fn4 + .byte W04 + .byte VOL , 97*mus_nextroad_mvl/mxv + .byte N04 , Cn2 + .byte W04 + .byte Cs3 + .byte W04 + .byte GOTO + .word mus_nextroad_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_nextroad_5: + .byte KEYSH , mus_nextroad_key+0 + .byte VOICE , 47 + .byte VOL , 97*mus_nextroad_mvl/mxv + .byte PAN , c_v-23 + .byte W96 +mus_nextroad_5_000: + .byte W88 + .byte N04 , Cn2 , v112 + .byte W04 + .byte N04 + .byte W04 + .byte PEND +mus_nextroad_5_B1: + .byte N08 , Ds2 , v112 + .byte W48 + .byte N16 , Gs1 + .byte W48 + .byte N08 , Cs2 + .byte W48 + .byte N16 , Fs1 + .byte W40 + .byte N04 , Cs2 , v080 + .byte W04 + .byte N04 + .byte W04 + .byte N08 , Ds2 , v112 + .byte W48 + .byte N16 , Gs1 + .byte W40 + .byte N04 , Fs2 , v080 + .byte W04 + .byte Gn2 + .byte W04 + .byte N12 , Gs2 , v104 + .byte W24 + .byte Ds2 , v112 + .byte W24 + .byte Fs2 + .byte W24 + .byte Cs2 + .byte W16 + .byte N04 , Gs1 , v080 + .byte W04 + .byte N04 + .byte W04 + .byte N08 , Ds2 , v112 + .byte W40 + .byte N04 , Gs1 + .byte W08 + .byte N16 + .byte W48 + .byte N12 , Fs2 + .byte W24 + .byte As1 + .byte W16 + .byte N08 , Fs1 + .byte W08 + .byte N12 , Cs2 + .byte W24 + .byte N08 , Fs1 + .byte W24 + .byte N10 , Gs2 + .byte W48 + .byte N04 , Gs1 , v024 + .byte W04 + .byte Gs1 , v032 + .byte W04 + .byte Gs1 , v040 + .byte W04 + .byte Gs1 , v048 + .byte W04 + .byte Gs1 , v056 + .byte W04 + .byte Gs1 , v064 + .byte W04 + .byte Gs1 , v072 + .byte W04 + .byte Gs1 , v080 + .byte W04 + .byte Gs1 , v088 + .byte W04 + .byte Gs1 , v096 + .byte W04 + .byte Gs1 , v104 + .byte W04 + .byte Gs1 , v112 + .byte W04 + .byte N08 , Cs2 + .byte W16 + .byte N08 + .byte W16 + .byte N08 + .byte W16 + .byte Ds2 , v116 + .byte W16 + .byte N08 + .byte W08 + .byte N04 , Gn2 , v120 + .byte W04 + .byte Gn2 , v112 + .byte W04 + .byte N08 , Ds2 , v116 + .byte W08 + .byte Ds2 , v112 + .byte W08 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W88 + .byte N04 , Cn3 + .byte W04 + .byte N04 + .byte W04 + .byte N16 , Cs2 + .byte W64 + .byte N08 + .byte W32 + .byte N24 , Ds2 + .byte W64 + .byte N08 , Ds2 , v020 + .byte W08 + .byte N04 , Ds2 , v036 + .byte W04 + .byte Ds2 , v048 + .byte W04 + .byte Ds2 , v064 + .byte W04 + .byte Ds2 , v072 + .byte W04 + .byte Ds2 , v092 + .byte W04 + .byte Ds2 , v096 + .byte W04 + .byte N16 , Fn2 , v112 + .byte W96 + .byte PATT + .word mus_nextroad_5_000 + .byte GOTO + .word mus_nextroad_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_nextroad_6: + .byte KEYSH , mus_nextroad_key+0 + .byte VOICE , 48 + .byte PAN , c_v-39 + .byte VOL , 48*mus_nextroad_mvl/mxv + .byte LFOS , 44 + .byte W96 + .byte W96 +mus_nextroad_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+40 + .byte N04 , Cs3 , v112 + .byte W04 + .byte PAN , c_v+8 + .byte N04 , En3 + .byte W04 + .byte PAN , c_v-16 + .byte N04 , Gs3 + .byte W04 + .byte PAN , c_v-33 + .byte N04 , En3 + .byte W04 + .byte PAN , c_v-39 + .byte N04 , Gs3 + .byte W04 + .byte PAN , c_v-40 + .byte N04 , Cs4 + .byte W04 + .byte PAN , c_v-37 + .byte N04 , Gs3 + .byte W04 + .byte PAN , c_v-30 + .byte N04 , Cs4 + .byte W04 + .byte PAN , c_v-17 + .byte N04 , En4 + .byte W04 + .byte PAN , c_v-12 + .byte N04 , Cs4 + .byte W04 + .byte PAN , c_v-5 + .byte N04 , En4 + .byte W04 + .byte PAN , c_v+0 + .byte N04 , Gs4 + .byte W04 + .byte PAN , c_v+6 + .byte N04 , Gn5 + .byte W04 + .byte Ds5 + .byte W04 + .byte PAN , c_v+11 + .byte N04 , As4 + .byte W04 + .byte PAN , c_v+13 + .byte N04 , Ds5 + .byte W04 + .byte PAN , c_v+16 + .byte N04 , As4 + .byte W04 + .byte PAN , c_v+20 + .byte N04 , Gn4 + .byte W04 + .byte PAN , c_v+24 + .byte N04 , As4 + .byte W04 + .byte PAN , c_v+27 + .byte N04 , Gn4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Ds4 + .byte W04 + .byte PAN , c_v+36 + .byte N04 , Gn4 + .byte W04 + .byte PAN , c_v+40 + .byte N04 , Ds4 + .byte W04 + .byte As3 + .byte W04 + .byte PAN , c_v-54 + .byte W48 + .byte N04 , Cn4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Ds5 + .byte W32 + .byte PAN , c_v+60 + .byte N04 , As4 + .byte W01 + .byte PAN , c_v+58 + .byte W03 + .byte c_v+50 + .byte N04 , Cn5 + .byte W04 + .byte As4 + .byte W01 + .byte PAN , c_v+19 + .byte W03 + .byte N04 , Gs4 + .byte W04 + .byte As4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fn4 + .byte W01 + .byte PAN , c_v+6 + .byte W03 + .byte N04 , Gn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte PAN , c_v-4 + .byte N04 , Ds4 + .byte W04 + .byte Fn4 + .byte W04 + .byte PAN , c_v-12 + .byte N04 , Ds4 + .byte W04 + .byte Cs4 + .byte W01 + .byte PAN , c_v-19 + .byte W03 + .byte N04 , Ds4 + .byte W04 + .byte PAN , c_v-23 + .byte N04 , Cs4 + .byte W04 + .byte Cn4 + .byte W01 + .byte PAN , c_v-24 + .byte W03 + .byte N04 , Cs4 + .byte W01 + .byte PAN , c_v-26 + .byte W03 + .byte c_v-28 + .byte N04 , Cn4 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , As3 + .byte W01 + .byte PAN , c_v-37 + .byte W03 + .byte c_v-40 + .byte N04 , Cn4 + .byte W01 + .byte PAN , c_v-43 + .byte W03 + .byte c_v-44 + .byte N04 , As3 + .byte W04 + .byte N40 + .byte W40 + .byte N04 , An3 + .byte W08 + .byte As3 + .byte W08 + .byte Fn4 + .byte W08 + .byte Gn4 + .byte W32 + .byte W96 + .byte W48 + .byte Cn5 + .byte W08 + .byte Cs5 + .byte W08 + .byte Ds5 + .byte W08 + .byte N04 + .byte W08 + .byte Cs5 + .byte W08 + .byte Gs4 + .byte W08 + .byte N24 , Ds4 + .byte W24 + .byte N16 , Cs4 + .byte W16 + .byte N04 , Cn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte As4 + .byte W08 + .byte Cs5 + .byte W32 + .byte W96 + .byte PAN , c_v+60 + .byte N04 , Ds5 + .byte W01 + .byte PAN , c_v+58 + .byte W03 + .byte c_v+50 + .byte N04 , Cn5 + .byte W04 + .byte An4 + .byte W01 + .byte PAN , c_v+19 + .byte W03 + .byte N04 , Cn5 + .byte W04 + .byte An4 + .byte W04 + .byte Fn4 + .byte W04 + .byte An4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Fn4 + .byte W01 + .byte PAN , c_v+6 + .byte W03 + .byte N04 , Ds4 + .byte W04 + .byte Cn4 + .byte W04 + .byte PAN , c_v-4 + .byte N04 , Ds4 + .byte W04 + .byte Cn4 + .byte W04 + .byte PAN , c_v-12 + .byte N04 , An3 + .byte W04 + .byte Cn4 + .byte W01 + .byte PAN , c_v-19 + .byte W03 + .byte N04 , An3 + .byte W04 + .byte PAN , c_v-23 + .byte N04 , Fn3 + .byte W04 + .byte An3 + .byte W01 + .byte PAN , c_v-24 + .byte W03 + .byte N04 , Fn3 + .byte W01 + .byte PAN , c_v-26 + .byte W03 + .byte c_v-28 + .byte N04 , Ds3 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , Fn3 + .byte W01 + .byte PAN , c_v-37 + .byte W03 + .byte c_v-40 + .byte N04 , Ds3 + .byte W01 + .byte PAN , c_v-43 + .byte W03 + .byte c_v-44 + .byte N04 , Cn3 + .byte W04 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_nextroad_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_nextroad_7: + .byte KEYSH , mus_nextroad_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte PAN , c_v-63 + .byte VOL , 61*mus_nextroad_mvl/mxv + .byte XCMD , xIECV , 14 + .byte xIECL , 12 + .byte BENDR , 12 + .byte W96 + .byte MOD , 0 + .byte W72 + .byte VOL , 36*mus_nextroad_mvl/mxv + .byte W24 +mus_nextroad_7_B1: + .byte VOICE , 85 + .byte PAN , c_v-63 + .byte VOL , 36*mus_nextroad_mvl/mxv + .byte N04 , Ds3 , v112 + .byte W24 + .byte Ds3 , v096 + .byte W32 + .byte Ds3 , v112 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Cs3 + .byte W24 + .byte N04 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte Dn3 + .byte W08 + .byte Ds3 + .byte W16 + .byte Ds3 , v096 + .byte W08 + .byte N04 + .byte W32 + .byte Ds3 , v112 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte Dn3 + .byte W08 + .byte Cs3 + .byte W16 + .byte Cs3 , v096 + .byte W08 + .byte N04 + .byte W32 + .byte As2 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gn2 + .byte W08 + .byte Cs3 + .byte W08 + .byte Ds4 + .byte W24 + .byte N04 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Cs4 + .byte W16 + .byte Cs4 , v096 + .byte W08 + .byte N04 + .byte W32 + .byte Cs4 , v112 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fn3 + .byte W24 + .byte Fn3 , v096 + .byte W32 + .byte Fn3 , v112 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte VOL , 65*mus_nextroad_mvl/mxv + .byte N32 , En4 + .byte W24 + .byte MOD , 12 + .byte W08 + .byte N04 , Fs4 + .byte W08 + .byte En4 + .byte W08 + .byte MOD , 0 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 14 + .byte W12 + .byte 0 + .byte N24 , Ds5 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte VOICE , 84 + .byte MOD , 0 + .byte VOL , 40*mus_nextroad_mvl/mxv + .byte N64 , Gs2 + .byte W24 + .byte MOD , 8 + .byte W24 + .byte 14 + .byte W12 + .byte 0 + .byte W04 + .byte N04 , Gn2 + .byte W08 + .byte N08 , Gs2 + .byte W08 + .byte Cn3 + .byte W08 + .byte Ds3 + .byte W08 + .byte N64 , As2 + .byte W24 + .byte MOD , 8 + .byte W24 + .byte 14 + .byte W16 + .byte 3 + .byte N04 , An2 + .byte W08 + .byte N08 , As2 + .byte W08 + .byte Fn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N64 , Cn3 + .byte W24 + .byte MOD , 8 + .byte W24 + .byte 14 + .byte W16 + .byte 3 + .byte N04 , Bn2 + .byte W08 + .byte N08 , Cn3 + .byte W08 + .byte En3 + .byte W08 + .byte Gn3 + .byte W08 + .byte As3 + .byte W08 + .byte N04 , Fn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte N08 , Gs3 + .byte W08 + .byte N04 , En3 + .byte W08 + .byte Cn3 + .byte W08 + .byte N08 , Gn3 + .byte W08 + .byte N04 , Ds3 + .byte W08 + .byte Cn3 + .byte W08 + .byte N08 , Gs3 + .byte W08 + .byte N04 , Dn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte N64 , Gs3 + .byte W24 + .byte MOD , 8 + .byte W24 + .byte 16 + .byte W16 + .byte 3 + .byte N04 , Gn3 + .byte W08 + .byte N08 , Ds4 + .byte W08 + .byte Cs4 + .byte W08 + .byte Gs3 + .byte W08 + .byte N64 , As3 + .byte W24 + .byte MOD , 8 + .byte W24 + .byte 14 + .byte W16 + .byte 3 + .byte N04 , An3 + .byte W08 + .byte N08 , Gn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte As3 + .byte W08 + .byte N64 , Cn4 + .byte W24 + .byte MOD , 8 + .byte W24 + .byte 14 + .byte W16 + .byte 3 + .byte N04 , Bn3 + .byte W08 + .byte N08 , Cn4 + .byte W08 + .byte En4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte An3 + .byte W08 + .byte Fn3 + .byte W08 + .byte An3 + .byte W08 + .byte N48 , Cn4 + .byte W24 + .byte MOD , 14 + .byte W24 + .byte VOICE , 87 + .byte MOD , 3 + .byte VOL , 36*mus_nextroad_mvl/mxv + .byte PAN , c_v-58 + .byte N04 , Gs3 + .byte W04 + .byte PAN , c_v-57 + .byte N04 , Cs4 + .byte W04 + .byte Fn4 + .byte W04 + .byte PAN , c_v-55 + .byte N04 , Cs4 + .byte W04 + .byte PAN , c_v-49 + .byte N04 , Fn4 + .byte W04 + .byte PAN , c_v-47 + .byte N04 , Gs4 + .byte W04 + .byte PAN , c_v-41 + .byte N04 , Fn4 + .byte W04 + .byte PAN , c_v-38 + .byte N04 , Gs4 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , Cs5 + .byte W04 + .byte PAN , c_v-28 + .byte N04 , Gs4 + .byte W04 + .byte PAN , c_v-18 + .byte N04 , Cs5 + .byte W04 + .byte PAN , c_v-11 + .byte N04 , Fn5 + .byte W04 + .byte PAN , c_v-3 + .byte N04 , Cs5 + .byte W04 + .byte PAN , c_v+3 + .byte N04 , Fn5 + .byte W04 + .byte PAN , c_v+11 + .byte N04 , Gs5 + .byte W04 + .byte PAN , c_v+19 + .byte N04 , Fn5 + .byte W04 + .byte PAN , c_v+26 + .byte N04 , Gs5 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Cs6 + .byte W04 + .byte PAN , c_v+40 + .byte N04 , Gs5 + .byte W04 + .byte PAN , c_v+49 + .byte N04 , Cs6 + .byte W04 + .byte PAN , c_v+61 + .byte N04 , Fn6 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Cs6 + .byte W04 + .byte Fn6 + .byte W04 + .byte Gs6 + .byte W04 + .byte PAN , c_v+58 + .byte VOL , 28*mus_nextroad_mvl/mxv + .byte N04 , As6 + .byte W04 + .byte PAN , c_v+40 + .byte N04 , Gn6 + .byte W04 + .byte PAN , c_v+16 + .byte N04 , Ds6 + .byte W04 + .byte PAN , c_v+2 + .byte N04 , Gn6 + .byte W04 + .byte PAN , c_v-9 + .byte N04 , Ds6 + .byte W04 + .byte PAN , c_v-16 + .byte N04 , As5 + .byte W04 + .byte PAN , c_v-23 + .byte N04 , Ds6 + .byte W04 + .byte PAN , c_v-29 + .byte N04 , As5 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , Gn5 + .byte W04 + .byte PAN , c_v-35 + .byte N04 , As5 + .byte W04 + .byte PAN , c_v-38 + .byte N04 , Gn5 + .byte W04 + .byte PAN , c_v-42 + .byte N04 , Ds5 + .byte W04 + .byte PAN , c_v-45 + .byte N04 , Gn5 + .byte W04 + .byte PAN , c_v-48 + .byte N04 , Ds5 + .byte W04 + .byte PAN , c_v-50 + .byte N04 , As4 + .byte W04 + .byte PAN , c_v-53 + .byte N04 , Ds5 + .byte W04 + .byte PAN , c_v-56 + .byte N04 , As4 + .byte W04 + .byte Gn4 + .byte W04 + .byte PAN , c_v-57 + .byte N04 , As4 + .byte W04 + .byte PAN , c_v-59 + .byte N04 , Gn4 + .byte W04 + .byte PAN , c_v-61 + .byte N04 , Ds4 + .byte W04 + .byte PAN , c_v-63 + .byte N04 , Gn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte As3 + .byte W04 + .byte Fn2 + .byte W04 + .byte An2 + .byte W04 + .byte Cn3 + .byte W04 + .byte PAN , c_v-31 + .byte N04 , Ds3 + .byte W04 + .byte PAN , c_v+1 + .byte N04 , Fn3 + .byte W04 + .byte An3 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Cn4 + .byte W04 + .byte An3 + .byte W04 + .byte PAN , c_v+16 + .byte N04 , Fn3 + .byte W04 + .byte PAN , c_v+0 + .byte N04 , Ds3 + .byte W04 + .byte PAN , c_v-63 + .byte N04 , Cn3 + .byte W04 + .byte An2 + .byte W04 + .byte VOL , 21*mus_nextroad_mvl/mxv + .byte N04 , Fn2 + .byte W04 + .byte An2 + .byte W04 + .byte Cn3 + .byte W04 + .byte PAN , c_v-31 + .byte N04 , Ds3 + .byte W04 + .byte PAN , c_v+1 + .byte N04 , Fn3 + .byte W04 + .byte An3 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Cn4 + .byte W04 + .byte An3 + .byte W04 + .byte PAN , c_v+16 + .byte N04 , Fn3 + .byte W04 + .byte PAN , c_v+0 + .byte N04 , Ds3 + .byte W04 + .byte PAN , c_v-63 + .byte N04 , Cn3 + .byte W04 + .byte An2 + .byte W04 + .byte VOL , 15*mus_nextroad_mvl/mxv + .byte N04 , Fn2 + .byte W04 + .byte An2 + .byte W04 + .byte Cn3 + .byte W04 + .byte PAN , c_v-31 + .byte N04 , Ds3 + .byte W04 + .byte PAN , c_v+1 + .byte N04 , Fn3 + .byte W04 + .byte An3 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Cn4 + .byte W04 + .byte An3 + .byte W04 + .byte PAN , c_v+16 + .byte N04 , Fn3 + .byte W04 + .byte PAN , c_v+0 + .byte N04 , Ds3 + .byte W04 + .byte PAN , c_v-63 + .byte N04 , Cn3 + .byte W04 + .byte An2 + .byte W04 + .byte Ds2 + .byte W04 + .byte Gn2 + .byte W04 + .byte PAN , c_v-57 + .byte N04 , As2 + .byte W04 + .byte PAN , c_v-48 + .byte N04 , Cs3 + .byte W04 + .byte PAN , c_v-8 + .byte N04 , Ds3 + .byte W04 + .byte PAN , c_v+20 + .byte N04 , Gn3 + .byte W04 + .byte PAN , c_v+43 + .byte N04 , As3 + .byte W04 + .byte PAN , c_v+61 + .byte N04 , Cs4 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Ds4 + .byte W04 + .byte Gn4 + .byte W04 + .byte As4 + .byte W04 + .byte Cs5 + .byte W04 + .byte GOTO + .word mus_nextroad_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_nextroad_8: + .byte KEYSH , mus_nextroad_key+0 + .byte VOICE , 81 + .byte VOL , 48*mus_nextroad_mvl/mxv + .byte PAN , c_v-64 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte W96 + .byte W96 +mus_nextroad_8_B1: + .byte VOICE , 81 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+0 + .byte N48 , As2 , v112 + .byte W24 + .byte MOD , 8 + .byte W24 + .byte 2 + .byte N04 , Ds3 + .byte W04 + .byte As2 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte Ds4 + .byte W04 + .byte As3 + .byte W04 + .byte Gn4 + .byte W04 + .byte MOD , 4 + .byte PAN , c_v+63 + .byte N16 , Ds3 + .byte W16 + .byte N04 , Cs2 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N04 , Cs2 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte N04 , Cs2 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N04 , Cs2 + .byte W08 +mus_nextroad_8_000: + .byte N16 , Fn3 , v112 + .byte W16 + .byte N04 , Ds2 + .byte W08 + .byte N16 , Gn3 + .byte W16 + .byte N04 , Ds2 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N04 , Ds2 + .byte W08 + .byte N16 , Gn3 + .byte W16 + .byte N04 , Ds2 + .byte W08 + .byte PEND + .byte PATT + .word mus_nextroad_8_000 + .byte N16 , As3 , v112 + .byte W16 + .byte N04 , Gs2 + .byte W08 + .byte N16 , Gs3 + .byte W16 + .byte N04 , Gs2 + .byte W08 + .byte N16 , Gn3 + .byte W16 + .byte N04 , Gs2 + .byte W08 + .byte N16 , Gs3 + .byte W16 + .byte N04 , Gs2 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte N04 , Cs2 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N04 , Cs2 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte N04 , Cs2 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N04 , Cs2 + .byte W08 + .byte PATT + .word mus_nextroad_8_000 + .byte PATT + .word mus_nextroad_8_000 + .byte N36 , An3 , v112 + .byte W24 + .byte MOD , 8 + .byte W12 + .byte N04 , Fn3 + .byte W04 + .byte An3 + .byte W04 + .byte Cn4 + .byte W04 + .byte MOD , 4 + .byte N04 , Fn4 + .byte W04 + .byte Cn4 + .byte W04 + .byte An3 + .byte W04 + .byte Cn4 + .byte W04 + .byte An3 + .byte W04 + .byte Fn3 + .byte W04 + .byte PAN , c_v+0 + .byte N04 , An3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Cn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Cn3 + .byte W04 + .byte An2 + .byte W04 + .byte Gs2 + .byte W04 + .byte Cs3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Cs3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Gs3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Cs5 + .byte W04 + .byte Gs4 + .byte W04 + .byte Cs5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Gs5 + .byte W04 + .byte VOL , 38*mus_nextroad_mvl/mxv + .byte N04 , As5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Ds5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Ds5 + .byte W04 + .byte As4 + .byte W04 + .byte Ds5 + .byte W04 + .byte As4 + .byte W04 + .byte Gn4 + .byte W04 + .byte As4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte As3 + .byte W04 + .byte Ds4 + .byte W04 + .byte As3 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte As2 + .byte W04 + .byte Fn2 + .byte W04 + .byte An2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Fn3 + .byte W04 + .byte An3 + .byte W04 + .byte Cn4 + .byte W04 + .byte An3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cn3 + .byte W04 + .byte An2 + .byte W04 + .byte VOL , 30*mus_nextroad_mvl/mxv + .byte N04 , Fn2 + .byte W04 + .byte An2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Fn3 + .byte W04 + .byte An3 + .byte W04 + .byte Cn4 + .byte W04 + .byte An3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cn3 + .byte W04 + .byte An2 + .byte W04 + .byte VOL , 22*mus_nextroad_mvl/mxv + .byte N04 , Fn2 + .byte W04 + .byte An2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Fn3 + .byte W04 + .byte An3 + .byte W04 + .byte Cn4 + .byte W04 + .byte An3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cn3 + .byte W04 + .byte An2 + .byte W04 + .byte Ds2 + .byte W04 + .byte Gn2 + .byte W04 + .byte As2 + .byte W04 + .byte Cs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Gn4 + .byte W04 + .byte As4 + .byte W04 + .byte Cs5 + .byte W04 + .byte GOTO + .word mus_nextroad_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_nextroad_9: + .byte KEYSH , mus_nextroad_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 61*mus_nextroad_mvl/mxv + .byte N04 , En1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W04 + .byte En1 , v052 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v112 + .byte W16 + .byte En1 , v096 + .byte W16 + .byte En1 , v112 + .byte W04 + .byte W12 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte En1 , v096 + .byte W08 + .byte En1 , v112 + .byte W04 + .byte En1 , v052 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 +mus_nextroad_9_B1: +mus_nextroad_9_000: + .byte N04 , En1 , v112 + .byte W16 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte En1 , v088 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v096 + .byte W08 + .byte En1 , v112 + .byte W04 + .byte En1 , v052 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte PEND + .byte PATT + .word mus_nextroad_9_000 + .byte PATT + .word mus_nextroad_9_000 + .byte PATT + .word mus_nextroad_9_000 + .byte PATT + .word mus_nextroad_9_000 + .byte PATT + .word mus_nextroad_9_000 + .byte PATT + .word mus_nextroad_9_000 + .byte W48 + .byte N04 , En1 , v112 + .byte W16 + .byte En1 , v096 + .byte W08 + .byte En1 , v112 + .byte W04 + .byte En1 , v052 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte VOL , 97*mus_nextroad_mvl/mxv + .byte N04 , Cn1 , v076 + .byte N48 , An2 , v108 + .byte W08 + .byte N08 , Fs1 , v112 + .byte W08 + .byte N04 , Cn1 + .byte W08 + .byte Dn1 , v127 + .byte W16 + .byte Cn1 , v112 + .byte W08 + .byte Cn1 , v127 + .byte W08 + .byte N08 , Fs1 , v112 + .byte W08 + .byte N04 , Cn1 + .byte W08 + .byte Dn1 , v127 + .byte W16 + .byte Cn1 , v112 + .byte W08 +mus_nextroad_9_001: + .byte N04 , Cn1 , v127 + .byte W08 + .byte N08 , Fs1 , v112 + .byte W08 + .byte N04 , Cn1 + .byte W08 + .byte Dn1 , v127 + .byte W16 + .byte Cn1 , v112 + .byte W08 + .byte Cn1 , v127 + .byte W08 + .byte Dn1 , v112 + .byte W08 + .byte Cn1 + .byte W08 + .byte Dn1 , v127 + .byte W16 + .byte Dn1 , v112 + .byte W08 + .byte PEND +mus_nextroad_9_002: + .byte N04 , Cn1 , v127 + .byte W08 + .byte N08 , Fs1 , v112 + .byte W08 + .byte N04 , Cn1 + .byte W08 + .byte Dn1 , v127 + .byte W16 + .byte Cn1 , v112 + .byte W08 + .byte Cn1 , v127 + .byte W08 + .byte N08 , Fs1 , v112 + .byte W08 + .byte N04 , Cn1 + .byte W08 + .byte Dn1 , v127 + .byte W16 + .byte Cn1 , v112 + .byte W08 + .byte PEND + .byte Cn1 , v127 + .byte W08 + .byte N08 , Fs1 , v112 + .byte W08 + .byte N04 , Cn1 + .byte W08 + .byte Dn1 , v127 + .byte W16 + .byte Cn1 , v112 + .byte W08 + .byte Cn1 , v127 + .byte W08 + .byte Dn1 , v112 + .byte W08 + .byte Cn1 + .byte W08 + .byte Dn1 , v127 + .byte W04 + .byte Dn1 , v112 + .byte W04 + .byte Cn1 + .byte W08 + .byte N04 + .byte W08 + .byte Cn1 , v127 + .byte N48 , An2 , v108 + .byte W08 + .byte N08 , Fs1 , v112 + .byte W08 + .byte N04 , Cn1 + .byte W08 + .byte Dn1 , v127 + .byte W16 + .byte Cn1 , v112 + .byte W08 + .byte Cn1 , v127 + .byte W08 + .byte N08 , Fs1 , v112 + .byte W08 + .byte N04 , Cn1 + .byte W08 + .byte Dn1 , v127 + .byte W16 + .byte Cn1 , v112 + .byte W08 + .byte PATT + .word mus_nextroad_9_001 + .byte PATT + .word mus_nextroad_9_002 + .byte N04 , Cn1 , v127 + .byte W08 + .byte N08 , Fs1 , v112 + .byte W08 + .byte N04 , Cn1 + .byte W08 + .byte Dn1 , v127 + .byte W16 + .byte Cn1 , v112 + .byte W08 + .byte Cn1 , v127 + .byte W08 + .byte Dn1 , v112 + .byte N08 , Fs1 + .byte W08 + .byte N04 , Cn1 + .byte W08 + .byte Dn1 , v127 + .byte W04 + .byte Dn1 , v112 + .byte W04 + .byte Cn1 + .byte W08 + .byte N04 + .byte W08 + .byte VOL , 62*mus_nextroad_mvl/mxv + .byte N04 , En1 + .byte N48 , An2 + .byte W16 + .byte N04 , En1 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W04 + .byte En1 , v052 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte N48 , An2 + .byte W12 + .byte N04 , En1 + .byte W12 + .byte N04 + .byte W04 + .byte En1 , v052 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v112 + .byte W12 + .byte N04 + .byte W12 + .byte N04 + .byte W04 + .byte En1 , v052 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W04 + .byte En1 , v052 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte GOTO + .word mus_nextroad_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_nextroad_10: + .byte KEYSH , mus_nextroad_key+0 + .byte VOICE , 127 + .byte PAN , c_v-64 + .byte VOL , 32*mus_nextroad_mvl/mxv + .byte N01 , An3 , v112 + .byte W16 + .byte N01 + .byte W08 + .byte N01 + .byte W04 + .byte An3 , v080 + .byte W04 + .byte N01 + .byte W04 + .byte PAN , c_v+0 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte PAN , c_v+63 + .byte N01 , An3 , v112 + .byte W16 + .byte An3 , v096 + .byte W16 + .byte An3 , v112 + .byte W16 + .byte N01 + .byte W16 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W16 + .byte An3 , v096 + .byte W08 + .byte An3 , v112 + .byte W04 + .byte An3 , v080 + .byte W04 + .byte N01 + .byte W04 + .byte PAN , c_v+0 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 +mus_nextroad_10_B1: + .byte VOICE , 127 + .byte PAN , c_v-63 + .byte VOL , 32*mus_nextroad_mvl/mxv + .byte N01 , An3 , v112 + .byte W16 + .byte N01 + .byte W16 + .byte N01 + .byte W08 + .byte An3 , v088 + .byte W08 + .byte An3 , v112 + .byte W16 + .byte An3 , v096 + .byte W08 + .byte An3 , v112 + .byte W04 + .byte An3 , v080 + .byte W04 + .byte N01 + .byte W04 + .byte PAN , c_v+0 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 +mus_nextroad_10_000: + .byte PAN , c_v+63 + .byte N01 , An3 , v112 + .byte W16 + .byte N01 + .byte W16 + .byte N01 + .byte W08 + .byte An3 , v088 + .byte W08 + .byte An3 , v112 + .byte W16 + .byte An3 , v096 + .byte W08 + .byte An3 , v112 + .byte W04 + .byte An3 , v080 + .byte W04 + .byte N01 + .byte W04 + .byte PAN , c_v+0 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte PEND +mus_nextroad_10_001: + .byte PAN , c_v-63 + .byte N01 , An3 , v112 + .byte W16 + .byte N01 + .byte W16 + .byte N01 + .byte W08 + .byte An3 , v088 + .byte W08 + .byte An3 , v112 + .byte W16 + .byte An3 , v096 + .byte W08 + .byte An3 , v112 + .byte W04 + .byte An3 , v080 + .byte W04 + .byte N01 + .byte W04 + .byte PAN , c_v+0 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte PEND + .byte PATT + .word mus_nextroad_10_000 + .byte PATT + .word mus_nextroad_10_001 + .byte PATT + .word mus_nextroad_10_000 + .byte PATT + .word mus_nextroad_10_001 + .byte PAN , c_v+63 + .byte VOL , 41*mus_nextroad_mvl/mxv + .byte N01 , An3 , v112 + .byte W16 + .byte N01 + .byte W16 + .byte N01 + .byte W08 + .byte An3 , v088 + .byte W08 + .byte An3 , v112 + .byte W16 + .byte An3 , v096 + .byte W08 + .byte An3 , v112 + .byte W04 + .byte An3 , v080 + .byte W04 + .byte N01 + .byte W04 + .byte PAN , c_v+0 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte PAN , c_v-64 + .byte VOL , 48*mus_nextroad_mvl/mxv + .byte N01 , An5 , v124 + .byte W08 + .byte An5 , v080 + .byte W08 + .byte N01 + .byte W08 + .byte An5 , v112 + .byte W08 + .byte An5 , v080 + .byte W08 + .byte N01 + .byte W08 + .byte An5 , v112 + .byte W08 + .byte An5 , v080 + .byte W08 + .byte N01 + .byte W08 + .byte An5 , v112 + .byte W08 + .byte An5 , v080 + .byte W08 + .byte N01 + .byte W08 +mus_nextroad_10_002: + .byte N01 , An5 , v124 + .byte W08 + .byte An5 , v080 + .byte W08 + .byte N01 + .byte W08 + .byte An5 , v112 + .byte W08 + .byte An5 , v080 + .byte W08 + .byte N01 + .byte W08 + .byte An5 , v112 + .byte W08 + .byte An5 , v080 + .byte W08 + .byte N01 + .byte W08 + .byte An5 , v112 + .byte W08 + .byte An5 , v080 + .byte W08 + .byte N01 + .byte W08 + .byte PEND + .byte PATT + .word mus_nextroad_10_002 + .byte PATT + .word mus_nextroad_10_002 + .byte PATT + .word mus_nextroad_10_002 + .byte PATT + .word mus_nextroad_10_002 + .byte PATT + .word mus_nextroad_10_002 + .byte PATT + .word mus_nextroad_10_002 + .byte PAN , c_v-63 + .byte VOL , 36*mus_nextroad_mvl/mxv + .byte N01 , An3 , v112 + .byte W16 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W16 + .byte N01 + .byte W08 + .byte N01 + .byte W04 + .byte An3 , v080 + .byte W04 + .byte N01 + .byte W04 + .byte PAN , c_v+0 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte PAN , c_v+63 + .byte N01 , An3 , v112 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W16 + .byte N01 + .byte W08 + .byte N01 + .byte W16 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W12 + .byte N01 + .byte W12 + .byte N01 + .byte W04 + .byte An3 , v080 + .byte W04 + .byte N01 + .byte W04 + .byte PAN , c_v+0 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte PAN , c_v-64 + .byte N01 , An3 , v112 + .byte W12 + .byte N01 + .byte W12 + .byte N01 + .byte W04 + .byte An3 , v080 + .byte W04 + .byte N01 + .byte W04 + .byte PAN , c_v+0 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte PAN , c_v+63 + .byte N01 , An3 , v112 + .byte W16 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W08 + .byte N01 + .byte W16 + .byte N01 + .byte W08 + .byte N01 + .byte W04 + .byte An3 , v080 + .byte W04 + .byte N01 + .byte W04 + .byte PAN , c_v+0 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte GOTO + .word mus_nextroad_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_nextroad: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_nextroad_pri @ Priority + .byte mus_nextroad_rev @ Reverb. + + .word mus_nextroad_grp + + .word mus_nextroad_1 + .word mus_nextroad_2 + .word mus_nextroad_3 + .word mus_nextroad_4 + .word mus_nextroad_5 + .word mus_nextroad_6 + .word mus_nextroad_7 + .word mus_nextroad_8 + .word mus_nextroad_9 + .word mus_nextroad_10 + + .end diff --git a/sound/songs/mus_nibi.s b/sound/songs/mus_nibi.s new file mode 100644 index 0000000000..4cae95f39a --- /dev/null +++ b/sound/songs/mus_nibi.s @@ -0,0 +1,1079 @@ + .include "MPlayDef.s" + + .equ mus_nibi_grp, voicegroup_pokemon_cry + .equ mus_nibi_pri, 0 + .equ mus_nibi_rev, reverb_set+50 + .equ mus_nibi_mvl, 127 + .equ mus_nibi_key, 0 + .equ mus_nibi_tbs, 1 + .equ mus_nibi_exg, 0 + .equ mus_nibi_cmp, 1 + + .section .rodata + .global mus_nibi + .align 2 + +@********************** Track 1 **********************@ + +mus_nibi_1: + .byte KEYSH , mus_nibi_key+0 + .byte TEMPO , 128*mus_nibi_tbs/2 + .byte VOICE , 1 + .byte VOL , 80*mus_nibi_mvl/mxv + .byte N06 , En3 , v112 + .byte W24 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N06 + .byte W12 + .byte N24 + .byte W36 + .byte N12 , Cn4 + .byte W24 + .byte Gn3 + .byte W24 + .byte N06 , En3 + .byte W12 + .byte N06 + .byte W24 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N06 , Fn3 + .byte W12 + .byte W24 + .byte N48 + .byte W72 +mus_nibi_1_B1: +mus_nibi_1_000: + .byte N06 , Gn3 , v112 + .byte W24 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N06 + .byte W12 + .byte PEND +mus_nibi_1_001: + .byte N24 , As3 , v112 + .byte W36 + .byte N12 , Gn3 + .byte W24 + .byte As3 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte PEND +mus_nibi_1_002: + .byte N06 , An3 , v112 + .byte W24 + .byte N12 , Fn3 + .byte W36 + .byte N12 + .byte W24 + .byte Cn4 + .byte W12 + .byte PEND +mus_nibi_1_003: + .byte W12 + .byte N12 , An3 , v112 + .byte W24 + .byte N06 , Fn3 + .byte W12 + .byte N24 + .byte W36 + .byte N06 , An3 + .byte W12 + .byte PEND +mus_nibi_1_004: + .byte N06 , Cn4 , v112 + .byte W24 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte N24 , Fn3 + .byte W36 + .byte N06 , Bn3 , v080 + .byte W12 + .byte Dn4 , v088 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte N06 , Bn3 + .byte W12 +mus_nibi_1_005: + .byte N06 , Gn3 , v112 + .byte W24 + .byte N12 , En3 + .byte W36 + .byte N12 + .byte W24 + .byte N06 , Fn3 + .byte W12 + .byte PEND + .byte W24 + .byte N48 + .byte W72 + .byte PATT + .word mus_nibi_1_000 + .byte PATT + .word mus_nibi_1_001 + .byte PATT + .word mus_nibi_1_002 + .byte PATT + .word mus_nibi_1_003 + .byte PATT + .word mus_nibi_1_004 + .byte N24 , Fn3 , v112 + .byte W36 + .byte N06 , Bn3 , v072 + .byte W12 + .byte Dn4 , v076 + .byte W12 + .byte N24 , Cn4 , v080 + .byte W24 + .byte N06 , Bn3 , v112 + .byte W12 + .byte PATT + .word mus_nibi_1_005 + .byte W24 + .byte N48 , Fn3 , v112 + .byte W48 + .byte N24 , As3 + .byte W24 +mus_nibi_1_006: + .byte N12 , An3 , v112 + .byte W12 + .byte Cn3 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte An3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PEND + .byte W12 + .byte N12 , An3 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N12 , An4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N06 , En3 + .byte W12 + .byte Gn3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte En4 + .byte W12 + .byte N24 , En5 + .byte W24 + .byte Ds5 + .byte W24 + .byte N36 , Fn3 + .byte W36 + .byte N48 , An3 + .byte W48 + .byte N12 , Dn4 + .byte W12 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , An3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte N24 , Dn3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte N06 , Cn3 + .byte W12 + .byte En3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte N06 , En3 + .byte W12 + .byte Gn3 + .byte W12 + .byte W12 + .byte N12 , En3 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte N12 , Cs4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PATT + .word mus_nibi_1_006 + .byte W12 + .byte N12 , An3 , v112 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N12 , Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N06 , En3 + .byte W12 + .byte Gn3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte W12 + .byte N12 , Dn4 + .byte W24 + .byte As3 + .byte W24 + .byte Gn3 + .byte W24 + .byte En3 + .byte W12 + .byte N36 , Fn3 + .byte W36 + .byte N06 , An3 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte N12 , En4 + .byte W12 + .byte N36 , Fn4 + .byte W12 + .byte W24 + .byte N12 , Dn4 + .byte W24 + .byte Fn3 + .byte W12 + .byte Dn4 + .byte W24 + .byte N36 , En4 + .byte W12 + .byte W24 + .byte N24 , Cn4 + .byte W24 + .byte Gn3 + .byte W24 + .byte En3 + .byte W24 + .byte N06 , Fn3 + .byte W24 + .byte N48 + .byte W48 + .byte N24 , Gs3 + .byte W24 + .byte GOTO + .word mus_nibi_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_nibi_2: + .byte KEYSH , mus_nibi_key+0 + .byte VOICE , 1 + .byte VOL , 80*mus_nibi_mvl/mxv + .byte N24 , Cn2 , v112 + .byte W36 + .byte N06 , Gn2 + .byte W12 + .byte N24 + .byte W48 + .byte Cn2 + .byte W36 + .byte N06 , Gn2 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , Bn2 + .byte W24 + .byte N06 , Gn2 + .byte W12 +mus_nibi_2_000: + .byte N24 , Cn2 , v112 + .byte W36 + .byte N06 , Gn2 + .byte W12 + .byte N24 + .byte W36 + .byte N06 , Dn2 + .byte W12 + .byte PEND + .byte W24 + .byte N48 + .byte W72 +mus_nibi_2_B1: +mus_nibi_2_001: + .byte N24 , Cn2 , v112 + .byte W36 + .byte N06 , Gn2 + .byte W12 + .byte N24 + .byte W48 + .byte PEND +mus_nibi_2_002: + .byte N24 , Cs2 , v112 + .byte W36 + .byte N06 , Gn2 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , As2 + .byte W24 + .byte N06 , Gn2 + .byte W12 + .byte PEND +mus_nibi_2_003: + .byte N24 , Dn2 , v112 + .byte W36 + .byte N06 , An2 + .byte W12 + .byte N24 + .byte W48 + .byte PEND +mus_nibi_2_004: + .byte N24 , Dn2 , v112 + .byte W36 + .byte N06 , An2 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , Cn3 + .byte W24 + .byte N06 , An2 + .byte W12 + .byte PEND +mus_nibi_2_005: + .byte N24 , Fn2 , v112 + .byte W36 + .byte N06 , Cn3 + .byte W12 + .byte N24 + .byte W48 + .byte PEND +mus_nibi_2_006: + .byte N24 , Gn2 , v112 + .byte W36 + .byte N06 , Dn3 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N06 , Dn3 + .byte W12 + .byte PEND + .byte PATT + .word mus_nibi_2_000 + .byte W24 + .byte N48 , Dn2 , v112 + .byte W72 + .byte PATT + .word mus_nibi_2_001 + .byte PATT + .word mus_nibi_2_002 + .byte PATT + .word mus_nibi_2_003 + .byte PATT + .word mus_nibi_2_004 + .byte PATT + .word mus_nibi_2_005 + .byte PATT + .word mus_nibi_2_006 + .byte PATT + .word mus_nibi_2_000 + .byte W24 + .byte N48 , Dn2 , v112 + .byte W48 + .byte N24 , En2 + .byte W24 +mus_nibi_2_007: + .byte N24 , Fn2 , v112 + .byte W36 + .byte N06 , Cn3 + .byte W12 + .byte N24 + .byte W24 + .byte N12 , Ds2 + .byte W12 + .byte En2 + .byte W12 + .byte PEND + .byte N24 , Fn2 + .byte W36 + .byte N06 , Cn3 + .byte W12 + .byte Fn2 + .byte W12 + .byte N24 , Cn3 + .byte W24 + .byte N12 , An2 + .byte W12 +mus_nibi_2_008: + .byte N24 , En2 , v112 + .byte W36 + .byte N06 , Bn2 + .byte W12 + .byte N24 + .byte W24 + .byte N12 , Dn2 + .byte W12 + .byte Ds2 + .byte W12 + .byte PEND + .byte W12 + .byte En2 + .byte W24 + .byte N06 , Bn2 + .byte W12 + .byte N24 + .byte W24 + .byte As2 + .byte W24 +mus_nibi_2_009: + .byte N24 , Dn2 , v112 + .byte W36 + .byte N06 , An2 + .byte W12 + .byte N24 + .byte W24 + .byte N12 , Cn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PEND + .byte N24 , Dn2 + .byte W36 + .byte N06 , An2 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte N24 , Fn2 + .byte W24 + .byte Cn2 + .byte W36 + .byte N06 , Gn2 + .byte W12 + .byte N24 + .byte W24 + .byte N12 , As1 + .byte W12 + .byte Bn1 + .byte W12 + .byte W12 + .byte Cs2 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte As2 + .byte W12 + .byte Gn2 + .byte W12 + .byte En2 + .byte W12 + .byte PATT + .word mus_nibi_2_007 + .byte N24 , Fn2 , v112 + .byte W36 + .byte N06 , An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N12 , Fn2 + .byte W12 + .byte PATT + .word mus_nibi_2_008 + .byte W12 + .byte N12 , En2 , v112 + .byte W24 + .byte Gn2 + .byte W24 + .byte As2 + .byte W24 + .byte Cs2 + .byte W12 + .byte PATT + .word mus_nibi_2_009 + .byte N24 , Dn2 , v112 + .byte W36 + .byte N06 , Gs2 + .byte W12 + .byte N24 + .byte W36 + .byte N06 , Fn2 + .byte W12 + .byte N24 , Cn2 + .byte W36 + .byte N06 , Gn2 + .byte W12 + .byte N24 + .byte W36 + .byte N06 , Cn2 + .byte W12 + .byte Dn2 + .byte W24 + .byte N48 + .byte W48 + .byte N24 , Gn1 + .byte W24 + .byte GOTO + .word mus_nibi_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_nibi_3: + .byte KEYSH , mus_nibi_key+0 + .byte VOICE , 1 + .byte VOL , 80*mus_nibi_mvl/mxv + .byte N06 , Gn3 , v112 + .byte W24 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N06 + .byte W12 + .byte N24 + .byte W36 + .byte N12 , En4 + .byte W24 + .byte Bn3 + .byte W24 + .byte N06 , Gn3 + .byte W12 + .byte N06 + .byte W24 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N06 , Cn4 + .byte W12 +mus_nibi_3_000: + .byte W24 + .byte N48 , Cn4 , v112 + .byte W48 + .byte N12 , En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte PEND +mus_nibi_3_B1: +mus_nibi_3_001: + .byte N12 , Gn4 , v112 + .byte W24 + .byte Fn4 + .byte W24 + .byte En4 + .byte W48 + .byte PEND +mus_nibi_3_002: + .byte W12 + .byte N12 , En4 , v112 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W24 + .byte N12 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte PEND +mus_nibi_3_003: + .byte N12 , Fn4 , v112 + .byte W12 + .byte Dn4 + .byte W12 + .byte An3 + .byte W36 + .byte N12 + .byte W24 + .byte Fn4 + .byte W12 + .byte PEND +mus_nibi_3_004: + .byte W12 + .byte N12 , Cn4 , v112 + .byte W24 + .byte N06 , An3 + .byte W12 + .byte N24 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte PEND +mus_nibi_3_005: + .byte N12 , Fn4 , v112 + .byte W24 + .byte En4 + .byte W24 + .byte Dn4 + .byte W48 + .byte PEND +mus_nibi_3_006: + .byte W12 + .byte N12 , Dn4 , v112 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W24 + .byte N12 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte PEND +mus_nibi_3_007: + .byte N12 , En4 , v112 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W36 + .byte N12 + .byte W24 + .byte N06 , Cn4 + .byte W12 + .byte PEND + .byte PATT + .word mus_nibi_3_000 + .byte PATT + .word mus_nibi_3_001 + .byte PATT + .word mus_nibi_3_002 + .byte PATT + .word mus_nibi_3_003 + .byte PATT + .word mus_nibi_3_004 + .byte PATT + .word mus_nibi_3_005 + .byte PATT + .word mus_nibi_3_006 + .byte PATT + .word mus_nibi_3_007 + .byte W24 + .byte N48 , Cn4 , v112 + .byte W48 + .byte N24 , Dn4 + .byte W24 + .byte N72 , An4 + .byte W72 + .byte N24 , Fn4 + .byte W24 + .byte N48 , Cn5 + .byte W48 + .byte N12 , Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte N72 , Gn4 + .byte W72 + .byte N24 , En4 + .byte W24 + .byte N48 , Gn4 + .byte W48 + .byte N24 + .byte W24 + .byte Fs4 + .byte W24 + .byte N60 , Dn4 + .byte W60 + .byte N12 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte Dn4 + .byte W24 + .byte Fn4 + .byte W24 + .byte N72 , En4 + .byte W72 + .byte N24 , Cn4 + .byte W24 + .byte Gn4 + .byte W48 + .byte N48 , As4 + .byte W48 + .byte N72 , An4 + .byte W72 + .byte N12 , Bn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Dn5 + .byte W24 + .byte Cn5 + .byte W24 + .byte Bn4 + .byte W24 + .byte An4 + .byte W24 + .byte N60 , Gn4 + .byte W60 + .byte N12 + .byte W12 + .byte An4 + .byte W12 + .byte As4 + .byte W12 + .byte W12 + .byte An4 + .byte W24 + .byte Gn4 + .byte W24 + .byte En4 + .byte W24 + .byte N72 , Fn4 + .byte W12 + .byte W60 + .byte N12 + .byte W12 + .byte Gn4 + .byte W12 + .byte N36 , Gs4 + .byte W12 + .byte W24 + .byte N12 , Gn4 + .byte W24 + .byte Fn4 + .byte W12 + .byte Gs4 + .byte W24 + .byte N84 , Gn4 + .byte W12 + .byte W96 + .byte N06 , Cn4 + .byte W24 + .byte N48 + .byte W48 + .byte N24 , Dn4 + .byte W24 + .byte GOTO + .word mus_nibi_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_nibi_4: + .byte KEYSH , mus_nibi_key+0 + .byte VOICE , 0 + .byte VOL , 80*mus_nibi_mvl/mxv + .byte N12 , Fs2 , v056 + .byte W12 + .byte N12 + .byte W12 + .byte En1 , v084 + .byte W12 + .byte N24 , Fs2 , v056 + .byte W24 + .byte N12 , En1 , v084 + .byte W12 + .byte Fs2 , v056 + .byte W12 + .byte As1 , v084 + .byte W12 +mus_nibi_4_000: + .byte N12 , Fs2 , v056 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , En1 , v084 + .byte W24 + .byte N12 , Fs2 , v056 + .byte W12 + .byte En1 , v084 + .byte W12 + .byte Fs2 , v056 + .byte W12 + .byte As1 , v084 + .byte W12 + .byte PEND +mus_nibi_4_001: + .byte N12 , Fs2 , v056 + .byte W12 + .byte N12 + .byte W12 + .byte En1 , v084 + .byte W12 + .byte N24 , Fs2 , v056 + .byte W24 + .byte N12 , En1 , v084 + .byte W12 + .byte Fs2 , v056 + .byte W12 + .byte As1 , v084 + .byte W12 + .byte PEND +mus_nibi_4_002: + .byte N12 , Fs2 , v056 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , As1 , v084 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N12 + .byte W12 + .byte Cn1 + .byte W12 + .byte N12 + .byte W12 + .byte PEND +mus_nibi_4_B1: + .byte PATT + .word mus_nibi_4_001 + .byte PATT + .word mus_nibi_4_000 + .byte PATT + .word mus_nibi_4_001 + .byte PATT + .word mus_nibi_4_000 + .byte PATT + .word mus_nibi_4_001 + .byte PATT + .word mus_nibi_4_000 + .byte PATT + .word mus_nibi_4_001 + .byte PATT + .word mus_nibi_4_002 + .byte PATT + .word mus_nibi_4_001 + .byte PATT + .word mus_nibi_4_000 + .byte N12 , Fs2 , v056 + .byte W12 + .byte N12 + .byte W12 + .byte En1 , v084 + .byte W12 + .byte Fs2 , v056 + .byte W24 + .byte En1 , v084 + .byte W12 + .byte Fs2 , v056 + .byte W12 + .byte As1 , v084 + .byte W12 + .byte PATT + .word mus_nibi_4_000 + .byte PATT + .word mus_nibi_4_001 + .byte PATT + .word mus_nibi_4_000 + .byte N12 , Fs2 , v056 + .byte W12 + .byte N12 + .byte W12 + .byte En1 , v084 + .byte W12 + .byte N18 , Fs2 , v056 + .byte W24 + .byte N12 , En1 , v084 + .byte W12 + .byte Fs2 , v056 + .byte W12 + .byte As1 , v084 + .byte W12 + .byte PATT + .word mus_nibi_4_002 +mus_nibi_4_003: + .byte N12 , Cn1 , v084 + .byte W12 + .byte As1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N12 + .byte W12 + .byte As1 + .byte W12 + .byte N24 , En1 + .byte W24 + .byte PEND +mus_nibi_4_004: + .byte N12 , Cn1 , v084 + .byte W12 + .byte As1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N12 + .byte W12 + .byte As1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_nibi_4_003 +mus_nibi_4_005: + .byte N12 , Cn1 , v084 + .byte W12 + .byte As1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N12 + .byte W12 + .byte En1 , v072 + .byte W12 + .byte En1 , v084 + .byte W12 + .byte As1 + .byte W12 + .byte PEND + .byte PATT + .word mus_nibi_4_003 + .byte PATT + .word mus_nibi_4_004 + .byte PATT + .word mus_nibi_4_003 + .byte PATT + .word mus_nibi_4_004 + .byte PATT + .word mus_nibi_4_003 + .byte PATT + .word mus_nibi_4_004 + .byte N12 , Cn1 , v084 + .byte W12 + .byte As1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N12 + .byte W12 + .byte As1 + .byte W12 + .byte En1 + .byte W24 + .byte PATT + .word mus_nibi_4_005 + .byte PATT + .word mus_nibi_4_003 + .byte PATT + .word mus_nibi_4_004 + .byte PATT + .word mus_nibi_4_003 + .byte PATT + .word mus_nibi_4_004 + .byte GOTO + .word mus_nibi_4_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_nibi: + .byte 4 @ NumTrks + .byte 0 @ NumBlks + .byte mus_nibi_pri @ Priority + .byte mus_nibi_rev @ Reverb. + + .word mus_nibi_grp + + .word mus_nibi_1 + .word mus_nibi_2 + .word mus_nibi_3 + .word mus_nibi_4 + + .end diff --git a/sound/songs/mus_odamaki.s b/sound/songs/mus_odamaki.s new file mode 100644 index 0000000000..7e373d8516 --- /dev/null +++ b/sound/songs/mus_odamaki.s @@ -0,0 +1,1314 @@ + .include "MPlayDef.s" + + .equ mus_odamaki_grp, voicegroup_867D144 + .equ mus_odamaki_pri, 0 + .equ mus_odamaki_rev, reverb_set+50 + .equ mus_odamaki_mvl, 127 + .equ mus_odamaki_key, 0 + .equ mus_odamaki_tbs, 1 + .equ mus_odamaki_exg, 0 + .equ mus_odamaki_cmp, 1 + + .section .rodata + .global mus_odamaki + .align 2 + +@********************** Track 1 **********************@ + +mus_odamaki_1: + .byte KEYSH , mus_odamaki_key+0 +mus_odamaki_1_B1: + .byte TEMPO , 100*mus_odamaki_tbs/2 + .byte VOICE , 48 + .byte VOL , 80*mus_odamaki_mvl/mxv + .byte LFOS , 48 + .byte PAN , c_v-3 + .byte W09 + .byte N03 , Cs5 , v084 + .byte W03 + .byte N12 , Dn5 + .byte W12 + .byte N18 , Cs5 + .byte W18 + .byte N06 , Bn4 + .byte W06 + .byte N12 , An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fs4 + .byte W24 + .byte Dn5 + .byte W24 + .byte N36 , An4 + .byte W15 + .byte MOD , 5 + .byte W03 + .byte VOL , 73*mus_odamaki_mvl/mxv + .byte W06 + .byte 64*mus_odamaki_mvl/mxv + .byte W06 + .byte 45*mus_odamaki_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W12 + .byte VOL , 80*mus_odamaki_mvl/mxv + .byte W09 + .byte N03 , Gs4 + .byte W03 + .byte N12 , An4 + .byte W12 + .byte N18 , Gn4 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Bn4 + .byte W12 + .byte As4 + .byte W12 + .byte N18 , Bn4 + .byte W18 + .byte N06 , Dn5 + .byte W06 + .byte N36 , Cs5 + .byte W15 + .byte MOD , 5 + .byte W03 + .byte VOL , 73*mus_odamaki_mvl/mxv + .byte W06 + .byte 64*mus_odamaki_mvl/mxv + .byte W06 + .byte 45*mus_odamaki_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W12 + .byte VOICE , 73 + .byte VOL , 80*mus_odamaki_mvl/mxv + .byte N12 , Dn5 , v100 + .byte W18 + .byte N18 + .byte W18 + .byte N12 , Cs5 + .byte W12 + .byte N09 , Bn4 + .byte W12 + .byte N09 + .byte W12 + .byte N21 , Dn5 + .byte W09 + .byte VOL , 71*mus_odamaki_mvl/mxv + .byte MOD , 7 + .byte W03 + .byte VOL , 62*mus_odamaki_mvl/mxv + .byte W03 + .byte 45*mus_odamaki_mvl/mxv + .byte W03 + .byte 28*mus_odamaki_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 + .byte VOL , 80*mus_odamaki_mvl/mxv + .byte W96 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte N12 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N18 , En5 + .byte W18 + .byte N24 , Dn5 + .byte W06 + .byte MOD , 7 + .byte W09 + .byte VOL , 71*mus_odamaki_mvl/mxv + .byte W03 + .byte 62*mus_odamaki_mvl/mxv + .byte W03 + .byte 45*mus_odamaki_mvl/mxv + .byte W03 + .byte 28*mus_odamaki_mvl/mxv + .byte MOD , 0 + .byte W06 + .byte VOL , 80*mus_odamaki_mvl/mxv + .byte W72 + .byte VOICE , 48 + .byte W09 + .byte N03 , Fn4 , v084 + .byte W03 + .byte N12 , Fs4 + .byte W12 + .byte N18 , Gn4 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N18 , Gn4 + .byte W18 + .byte N06 , Bn4 + .byte W06 + .byte N42 , Dn5 + .byte W15 + .byte MOD , 5 + .byte W09 + .byte VOL , 71*mus_odamaki_mvl/mxv + .byte W03 + .byte 62*mus_odamaki_mvl/mxv + .byte W03 + .byte 45*mus_odamaki_mvl/mxv + .byte W03 + .byte 28*mus_odamaki_mvl/mxv + .byte W03 + .byte 20*mus_odamaki_mvl/mxv + .byte MOD , 0 + .byte W03 + .byte VOL , 11*mus_odamaki_mvl/mxv + .byte W09 + .byte 80*mus_odamaki_mvl/mxv + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte N18 , En4 + .byte W18 + .byte N06 , Dn4 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W24 + .byte An4 + .byte W24 + .byte N24 , Dn4 + .byte W09 + .byte VOL , 71*mus_odamaki_mvl/mxv + .byte W03 + .byte 62*mus_odamaki_mvl/mxv + .byte MOD , 5 + .byte W03 + .byte VOL , 45*mus_odamaki_mvl/mxv + .byte W03 + .byte 28*mus_odamaki_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W24 + .byte GOTO + .word mus_odamaki_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_odamaki_2: + .byte VOL , 80*mus_odamaki_mvl/mxv + .byte KEYSH , mus_odamaki_key+0 +mus_odamaki_2_B1: + .byte VOICE , 35 + .byte PAN , c_v+0 + .byte N12 , Dn2 , v116 + .byte W36 + .byte N03 , An1 + .byte W06 + .byte N06 + .byte W06 + .byte N18 , Dn2 + .byte W18 + .byte N06 , An1 + .byte W18 + .byte N12 , Dn2 + .byte W12 + .byte Bn1 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N12 , An1 + .byte W18 + .byte N03 + .byte W18 + .byte N12 + .byte W12 + .byte Dn2 + .byte W36 + .byte N03 , An1 + .byte W06 + .byte N06 + .byte W06 + .byte N18 , Dn2 + .byte W18 + .byte N06 , As1 + .byte W18 + .byte N12 , Dn2 + .byte W12 + .byte Gn1 + .byte W18 + .byte N06 + .byte W18 + .byte Bn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N18 , An1 + .byte W18 + .byte N06 , Bn1 + .byte W18 + .byte N12 , Cs2 + .byte W12 + .byte Bn1 + .byte W36 + .byte N03 , Fs1 + .byte W06 + .byte N06 , An1 + .byte W06 + .byte N18 , Bn1 + .byte W18 + .byte Dn2 + .byte W18 + .byte N12 , Dn1 + .byte W12 + .byte N32 , An1 + .byte W36 + .byte N03 , Fs1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An1 + .byte W12 + .byte N09 , En2 + .byte W12 + .byte Fs2 + .byte W12 + .byte N06 , Cs2 + .byte W06 + .byte Fs1 + .byte W06 + .byte N12 , Gn1 + .byte W36 + .byte N03 , Dn1 + .byte W06 + .byte N06 , Fs1 + .byte W06 + .byte N18 , Gn1 + .byte W18 + .byte As1 + .byte W18 + .byte N12 , Gn1 + .byte W12 + .byte N32 , Dn1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs1 + .byte W12 + .byte N09 , Bn1 + .byte W12 + .byte Cs2 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte Cs1 + .byte W06 + .byte N12 , Dn1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W18 + .byte N06 + .byte W18 + .byte N12 + .byte W12 + .byte N24 , Gn1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W18 + .byte N06 , An1 + .byte W18 + .byte N12 , Gn1 + .byte W12 + .byte N24 , An1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 + .byte W36 + .byte N12 , Cs1 + .byte W12 + .byte Dn1 + .byte W36 + .byte N06 + .byte W06 + .byte An1 + .byte W06 + .byte N12 , Dn1 + .byte W36 + .byte N06 , An1 + .byte W06 + .byte Cs2 + .byte W06 + .byte GOTO + .word mus_odamaki_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_odamaki_3: + .byte KEYSH , mus_odamaki_key+0 +mus_odamaki_3_B1: + .byte VOICE , 73 + .byte LFOS , 48 + .byte VOL , 80*mus_odamaki_mvl/mxv + .byte PAN , c_v+18 + .byte W24 + .byte N03 , An5 , v068 + .byte W03 + .byte Gs5 + .byte W03 + .byte An5 + .byte W03 + .byte Gs5 + .byte W03 + .byte N06 , An5 + .byte W36 + .byte N03 + .byte W03 + .byte Gs5 + .byte W03 + .byte An5 + .byte W03 + .byte Gs5 + .byte W03 + .byte N06 , An5 + .byte W12 + .byte N12 , Dn5 + .byte W24 + .byte Fs5 + .byte W24 + .byte N36 , En5 + .byte W15 + .byte MOD , 7 + .byte W03 + .byte VOL , 73*mus_odamaki_mvl/mxv + .byte W06 + .byte 64*mus_odamaki_mvl/mxv + .byte W06 + .byte 45*mus_odamaki_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W12 + .byte VOL , 80*mus_odamaki_mvl/mxv + .byte W24 + .byte N03 , Fs5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Fn5 + .byte W03 + .byte N06 , Fs5 + .byte W36 + .byte N03 + .byte W03 + .byte Fn5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Fn5 + .byte W03 + .byte N06 , Fs5 + .byte W12 + .byte N12 , Gn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N18 , Gn5 + .byte W18 + .byte N06 , Bn5 + .byte W06 + .byte N36 , An5 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte VOL , 73*mus_odamaki_mvl/mxv + .byte W06 + .byte 64*mus_odamaki_mvl/mxv + .byte W06 + .byte 45*mus_odamaki_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W12 + .byte VOICE , 73 + .byte VOL , 80*mus_odamaki_mvl/mxv + .byte N12 , Fs4 , v076 + .byte W18 + .byte N18 + .byte W18 + .byte N12 , En4 + .byte W12 + .byte N09 , Dn4 + .byte W12 + .byte N09 + .byte W12 + .byte N21 , Fs4 + .byte W09 + .byte VOL , 71*mus_odamaki_mvl/mxv + .byte MOD , 7 + .byte W03 + .byte VOL , 62*mus_odamaki_mvl/mxv + .byte W03 + .byte 45*mus_odamaki_mvl/mxv + .byte W03 + .byte 28*mus_odamaki_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 + .byte VOICE , 48 + .byte VOL , 80*mus_odamaki_mvl/mxv + .byte N12 , Cs4 , v080 + .byte W18 + .byte N18 + .byte W18 + .byte N12 , Bn3 + .byte W12 + .byte N09 , An3 + .byte W12 + .byte N09 + .byte W12 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte 0 + .byte W12 + .byte VOICE , 73 + .byte N09 , Gn4 , v076 + .byte W12 + .byte N09 + .byte W12 + .byte N12 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte N18 , Bn4 + .byte W18 + .byte N06 , An4 + .byte W06 + .byte VOICE , 48 + .byte MOD , 7 + .byte N09 , An3 , v080 + .byte W12 + .byte N09 + .byte W06 + .byte MOD , 0 + .byte W06 + .byte N12 , Bn3 + .byte W18 + .byte N06 , Cs4 + .byte W06 + .byte N09 , Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte N15 , Fs4 + .byte W06 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , Cs4 + .byte W06 + .byte VOICE , 73 + .byte W24 + .byte N03 , Fs5 , v068 + .byte W03 + .byte Fn5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Fn5 + .byte W03 + .byte N06 , Fs5 + .byte W36 + .byte N03 + .byte W03 + .byte Fn5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Fn5 + .byte W03 + .byte N06 , Fs5 + .byte W12 + .byte N12 , Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte N18 , Dn5 + .byte W18 + .byte N06 , Fs5 + .byte W06 + .byte N42 , Gn5 + .byte W15 + .byte MOD , 7 + .byte W09 + .byte VOL , 71*mus_odamaki_mvl/mxv + .byte W03 + .byte 62*mus_odamaki_mvl/mxv + .byte W03 + .byte 45*mus_odamaki_mvl/mxv + .byte W03 + .byte 28*mus_odamaki_mvl/mxv + .byte W03 + .byte 20*mus_odamaki_mvl/mxv + .byte W03 + .byte 11*mus_odamaki_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W06 + .byte VOL , 80*mus_odamaki_mvl/mxv + .byte W12 + .byte N03 , An5 + .byte W03 + .byte Gs5 + .byte W03 + .byte An5 + .byte W03 + .byte Gs5 + .byte W03 + .byte N06 , An5 + .byte W24 + .byte Cs5 + .byte W06 + .byte En5 + .byte W06 + .byte N03 , An5 + .byte W03 + .byte Gs5 + .byte W03 + .byte An5 + .byte W03 + .byte Gs5 + .byte W03 + .byte N06 , An5 + .byte W24 + .byte N12 , An4 , v076 + .byte W24 + .byte Dn5 + .byte W24 + .byte N24 , Fs4 + .byte W09 + .byte VOL , 71*mus_odamaki_mvl/mxv + .byte W03 + .byte 62*mus_odamaki_mvl/mxv + .byte MOD , 5 + .byte W03 + .byte VOL , 45*mus_odamaki_mvl/mxv + .byte W03 + .byte 28*mus_odamaki_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W24 + .byte GOTO + .word mus_odamaki_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_odamaki_4: + .byte KEYSH , mus_odamaki_key+0 +mus_odamaki_4_B1: + .byte VOICE , 60 + .byte VOL , 80*mus_odamaki_mvl/mxv + .byte PAN , c_v+5 + .byte N12 , An3 , v080 + .byte W36 + .byte N03 , Dn3 + .byte W06 + .byte N06 + .byte W06 + .byte N18 , An3 + .byte W18 + .byte Dn3 + .byte W18 + .byte N12 , En3 + .byte W12 + .byte Fs3 + .byte W24 + .byte Bn3 + .byte W24 + .byte VOL , 80*mus_odamaki_mvl/mxv + .byte N21 , En3 + .byte W12 + .byte VOL , 74*mus_odamaki_mvl/mxv + .byte W03 + .byte 52*mus_odamaki_mvl/mxv + .byte W03 + .byte 23*mus_odamaki_mvl/mxv + .byte W06 + .byte 80*mus_odamaki_mvl/mxv + .byte N12 , Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte VOL , 80*mus_odamaki_mvl/mxv + .byte N12 , An3 + .byte W36 + .byte N03 , Fs3 + .byte W06 + .byte N06 , An3 + .byte W06 + .byte N18 , As3 + .byte W18 + .byte Fs3 + .byte W18 + .byte N12 , As3 + .byte W12 + .byte Dn3 + .byte W24 + .byte Gn3 + .byte W24 + .byte N21 , An2 + .byte W12 + .byte VOL , 74*mus_odamaki_mvl/mxv + .byte W03 + .byte 52*mus_odamaki_mvl/mxv + .byte W03 + .byte 23*mus_odamaki_mvl/mxv + .byte W06 + .byte 80*mus_odamaki_mvl/mxv + .byte N12 , Dn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Bn2 + .byte W18 + .byte N18 , Cs3 + .byte W18 + .byte N12 , Dn3 + .byte W12 + .byte N09 , Fs3 + .byte W12 + .byte N09 + .byte W12 + .byte N21 , Bn3 + .byte W09 + .byte VOL , 71*mus_odamaki_mvl/mxv + .byte W03 + .byte 62*mus_odamaki_mvl/mxv + .byte W03 + .byte 45*mus_odamaki_mvl/mxv + .byte W03 + .byte 28*mus_odamaki_mvl/mxv + .byte W06 + .byte VOICE , 46 + .byte VOL , 80*mus_odamaki_mvl/mxv + .byte PAN , c_v-12 + .byte N06 , An3 , v076 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte Fs4 + .byte W06 + .byte An4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Fs5 + .byte W06 + .byte An5 + .byte W06 + .byte En5 + .byte W06 + .byte Cs5 + .byte W06 + .byte An4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte Fs3 + .byte W06 + .byte VOICE , 60 + .byte PAN , c_v+6 + .byte N12 , Bn2 , v080 + .byte W18 + .byte N18 , Cs3 + .byte W18 + .byte N12 , Dn3 + .byte W12 + .byte N09 , As3 + .byte W12 + .byte An3 + .byte W12 + .byte N18 , Gn3 + .byte W24 + .byte VOICE , 46 + .byte PAN , c_v-12 + .byte N06 , An3 , v076 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte An4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte En5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte En3 + .byte W06 + .byte VOICE , 60 + .byte PAN , c_v+5 + .byte N12 , An3 , v080 + .byte W36 + .byte N03 , Dn3 + .byte W06 + .byte N06 + .byte W06 + .byte N18 , As3 + .byte W18 + .byte Dn3 + .byte W18 + .byte N12 , Fs3 + .byte W12 + .byte Gn3 + .byte W24 + .byte Dn3 + .byte W18 + .byte N06 , Gn2 + .byte W06 + .byte N12 , Bn2 + .byte W18 + .byte Gn3 + .byte W18 + .byte Dn3 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte N12 , Dn3 + .byte W18 + .byte N06 + .byte W06 + .byte N09 , Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte N15 , En3 + .byte W18 + .byte N06 , An2 + .byte W06 + .byte N12 , Dn3 + .byte W36 + .byte N03 , Fs2 , v064 + .byte W03 + .byte An2 + .byte W03 + .byte Bn2 + .byte W03 + .byte Cs3 + .byte W03 + .byte N12 , Dn3 , v080 + .byte W48 + .byte GOTO + .word mus_odamaki_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_odamaki_5: + .byte KEYSH , mus_odamaki_key+0 +mus_odamaki_5_B1: + .byte VOICE , 80 + .byte VOL , 80*mus_odamaki_mvl/mxv + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v-48 + .byte N06 , An3 , v052 + .byte W12 + .byte Fs3 + .byte W12 + .byte N15 , An3 + .byte W18 + .byte N03 , Dn3 + .byte W06 + .byte N06 , An3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N15 , An3 + .byte W18 + .byte N03 , Dn3 + .byte W06 + .byte N36 + .byte W18 + .byte VOL , 67*mus_odamaki_mvl/mxv + .byte W06 + .byte 54*mus_odamaki_mvl/mxv + .byte W06 + .byte 27*mus_odamaki_mvl/mxv + .byte W18 + .byte 80*mus_odamaki_mvl/mxv + .byte N21 , Cs3 + .byte W12 + .byte VOL , 74*mus_odamaki_mvl/mxv + .byte W03 + .byte 52*mus_odamaki_mvl/mxv + .byte W03 + .byte 23*mus_odamaki_mvl/mxv + .byte W06 + .byte 80*mus_odamaki_mvl/mxv + .byte N12 , En3 + .byte W12 + .byte Gn3 + .byte W12 +mus_odamaki_5_000: + .byte N06 , An3 , v052 + .byte W12 + .byte Fs3 + .byte W12 + .byte N15 , An3 + .byte W18 + .byte N03 , Dn3 + .byte W06 + .byte N06 , As3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N15 , As3 + .byte W18 + .byte N03 , Dn3 + .byte W06 + .byte PEND + .byte N12 , Dn4 + .byte W24 + .byte Gn4 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte N21 , En4 + .byte W12 + .byte VOL , 74*mus_odamaki_mvl/mxv + .byte W03 + .byte 52*mus_odamaki_mvl/mxv + .byte W03 + .byte 23*mus_odamaki_mvl/mxv + .byte W06 + .byte 80*mus_odamaki_mvl/mxv + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fs3 + .byte W96 + .byte En3 + .byte W18 + .byte N03 + .byte W06 + .byte N12 , Fs3 + .byte W18 + .byte N03 , Cs3 + .byte W06 + .byte N12 , En3 + .byte W18 + .byte N03 , Cs3 + .byte W06 + .byte N12 + .byte W18 + .byte N06 , An2 + .byte W06 + .byte N12 , Gn3 + .byte W96 + .byte Fs3 + .byte W18 + .byte N03 + .byte W06 + .byte N12 , En3 + .byte W18 + .byte N03 , Cs3 + .byte W06 + .byte N12 , Dn3 + .byte W18 + .byte N03 , Bn2 + .byte W06 + .byte N12 , Cs3 + .byte W18 + .byte N06 , En3 + .byte W06 + .byte PATT + .word mus_odamaki_5_000 + .byte N06 , Bn3 , v052 + .byte W12 + .byte Gn3 + .byte W12 + .byte N15 , Bn3 + .byte W18 + .byte N03 , Gn3 + .byte W06 + .byte N09 + .byte W12 + .byte Dn4 + .byte W12 + .byte Gn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte An3 + .byte W12 + .byte N06 , Dn5 + .byte W18 + .byte An3 + .byte W06 + .byte N09 , Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte N06 , Cs5 + .byte W18 + .byte An3 + .byte W06 + .byte N12 , Dn4 + .byte W48 + .byte N12 + .byte W48 + .byte GOTO + .word mus_odamaki_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_odamaki_6: + .byte KEYSH , mus_odamaki_key+0 +mus_odamaki_6_B1: + .byte VOICE , 82 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte VOL , 80*mus_odamaki_mvl/mxv + .byte PAN , c_v+48 + .byte N06 , Fs3 , v052 + .byte W12 + .byte Dn3 + .byte W12 + .byte N15 , Fs3 + .byte W18 + .byte N03 , An2 + .byte W06 + .byte N06 , Fs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N15 , Fs3 + .byte W18 + .byte N03 , An2 + .byte W06 + .byte N36 , Bn2 + .byte W18 + .byte VOL , 67*mus_odamaki_mvl/mxv + .byte W06 + .byte 54*mus_odamaki_mvl/mxv + .byte W06 + .byte 27*mus_odamaki_mvl/mxv + .byte W18 + .byte 80*mus_odamaki_mvl/mxv + .byte N21 , An2 + .byte W12 + .byte VOL , 74*mus_odamaki_mvl/mxv + .byte W03 + .byte 52*mus_odamaki_mvl/mxv + .byte W03 + .byte 23*mus_odamaki_mvl/mxv + .byte W06 + .byte 80*mus_odamaki_mvl/mxv + .byte N12 , Cs3 + .byte W12 + .byte En3 + .byte W12 + .byte N06 , Fs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N15 , Fs3 + .byte W18 + .byte N03 , An2 + .byte W06 + .byte N06 , Fs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N15 , Fs3 + .byte W18 + .byte N03 , An2 + .byte W06 + .byte N12 , Bn3 + .byte W24 + .byte Dn4 + .byte W18 + .byte N06 + .byte W06 + .byte N21 , Cs4 + .byte W12 + .byte VOL , 74*mus_odamaki_mvl/mxv + .byte W03 + .byte 52*mus_odamaki_mvl/mxv + .byte W03 + .byte 23*mus_odamaki_mvl/mxv + .byte W06 + .byte 80*mus_odamaki_mvl/mxv + .byte N12 , Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W96 + .byte Cs3 + .byte W18 + .byte N03 + .byte W06 + .byte N12 + .byte W18 + .byte N03 , An2 + .byte W06 + .byte N12 , Cs3 + .byte W18 + .byte N03 , An2 + .byte W06 + .byte N12 + .byte W18 + .byte N06 , Fs2 + .byte W06 + .byte N12 , Dn3 + .byte W96 + .byte N12 + .byte W18 + .byte N03 + .byte W06 + .byte N12 , Cs3 + .byte W18 + .byte N03 , Gn2 + .byte W06 + .byte N12 , Bn2 + .byte W18 + .byte N03 , Fs2 + .byte W06 + .byte N12 , An2 + .byte W18 + .byte N06 , Cs3 + .byte W06 + .byte Fs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N15 , Fs3 + .byte W18 + .byte N03 , An2 + .byte W06 + .byte N06 , Fs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N15 , Fs3 + .byte W18 + .byte N03 , As2 + .byte W06 + .byte N06 , Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N15 , Gn3 + .byte W18 + .byte N03 , Dn3 + .byte W12 + .byte N09 , Bn3 + .byte W12 + .byte Gn4 + .byte W12 + .byte Dn5 + .byte W12 + .byte N06 , Gn4 + .byte W06 + .byte N09 , An3 + .byte W12 + .byte En3 + .byte W12 + .byte N06 , An4 + .byte W18 + .byte En3 + .byte W06 + .byte N09 , An3 + .byte W12 + .byte En3 + .byte W12 + .byte N06 , An4 + .byte W18 + .byte En3 + .byte W06 + .byte N12 , An3 + .byte W48 + .byte N12 + .byte W48 + .byte GOTO + .word mus_odamaki_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_odamaki_7: + .byte VOL , 80*mus_odamaki_mvl/mxv + .byte KEYSH , mus_odamaki_key+0 +mus_odamaki_7_B1: + .byte VOICE , 0 + .byte W24 + .byte N06 , Fs2 , v064 + .byte W48 + .byte N06 + .byte W24 +mus_odamaki_7_000: + .byte W24 + .byte N06 , Fs2 , v064 + .byte W48 + .byte N06 + .byte W24 + .byte PEND + .byte PATT + .word mus_odamaki_7_000 + .byte PATT + .word mus_odamaki_7_000 + .byte W96 +mus_odamaki_7_001: + .byte W24 + .byte N06 , Fs2 , v064 + .byte W36 + .byte N03 , Fs2 , v036 + .byte W03 + .byte Fs2 , v044 + .byte W03 + .byte Fs2 , v048 + .byte W03 + .byte Fs2 , v056 + .byte W03 + .byte N06 , Fs2 , v064 + .byte W06 + .byte Fs2 , v036 + .byte W06 + .byte Fs2 , v024 + .byte W06 + .byte Fs2 , v016 + .byte W06 + .byte PEND + .byte W96 + .byte PATT + .word mus_odamaki_7_001 + .byte PATT + .word mus_odamaki_7_000 + .byte PATT + .word mus_odamaki_7_000 + .byte PATT + .word mus_odamaki_7_000 + .byte W12 + .byte N06 , Fs2 , v044 + .byte W06 + .byte N06 + .byte W06 + .byte Fs2 , v064 + .byte W48 + .byte N06 + .byte W24 + .byte GOTO + .word mus_odamaki_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_odamaki: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_odamaki_pri @ Priority + .byte mus_odamaki_rev @ Reverb. + + .word mus_odamaki_grp + + .word mus_odamaki_1 + .word mus_odamaki_2 + .word mus_odamaki_3 + .word mus_odamaki_4 + .word mus_odamaki_5 + .word mus_odamaki_6 + .word mus_odamaki_7 + + .end diff --git a/sound/songs/mus_ooame.s b/sound/songs/mus_ooame.s new file mode 100644 index 0000000000..e2f0712d27 --- /dev/null +++ b/sound/songs/mus_ooame.s @@ -0,0 +1,1117 @@ + .include "MPlayDef.s" + + .equ mus_ooame_grp, voicegroup_869047C + .equ mus_ooame_pri, 0 + .equ mus_ooame_rev, reverb_set+50 + .equ mus_ooame_mvl, 127 + .equ mus_ooame_key, 0 + .equ mus_ooame_tbs, 1 + .equ mus_ooame_exg, 0 + .equ mus_ooame_cmp, 1 + + .section .rodata + .global mus_ooame + .align 2 + +@********************** Track 1 **********************@ + +mus_ooame_1: + .byte KEYSH , mus_ooame_key+0 + .byte TEMPO , 108*mus_ooame_tbs/2 + .byte VOICE , 73 + .byte LFOS , 44 + .byte BENDR , 12 + .byte W24 +mus_ooame_1_B1: +mus_ooame_1_000: + .byte PAN , c_v+0 + .byte VOL , 10*mus_ooame_mvl/mxv + .byte TIE , As3 , v112 + .byte W48 + .byte VOL , 10*mus_ooame_mvl/mxv + .byte W32 + .byte 11*mus_ooame_mvl/mxv + .byte W04 + .byte 12*mus_ooame_mvl/mxv + .byte W04 + .byte 13*mus_ooame_mvl/mxv + .byte W04 + .byte 14*mus_ooame_mvl/mxv + .byte W04 + .byte PEND + .byte 15*mus_ooame_mvl/mxv + .byte W08 + .byte 17*mus_ooame_mvl/mxv + .byte W04 + .byte 18*mus_ooame_mvl/mxv + .byte W04 + .byte 21*mus_ooame_mvl/mxv + .byte W04 + .byte 25*mus_ooame_mvl/mxv + .byte W04 + .byte 26*mus_ooame_mvl/mxv + .byte W04 + .byte 29*mus_ooame_mvl/mxv + .byte W04 + .byte 31*mus_ooame_mvl/mxv + .byte W04 + .byte 32*mus_ooame_mvl/mxv + .byte W04 + .byte 35*mus_ooame_mvl/mxv + .byte W04 + .byte 39*mus_ooame_mvl/mxv + .byte W04 + .byte 41*mus_ooame_mvl/mxv + .byte MOD , 5 + .byte W48 + .byte EOT + .byte MOD , 0 + .byte TIE , Bn3 + .byte W96 + .byte MOD , 9 + .byte W12 + .byte VOL , 40*mus_ooame_mvl/mxv + .byte W04 + .byte 38*mus_ooame_mvl/mxv + .byte W04 + .byte 36*mus_ooame_mvl/mxv + .byte W04 + .byte 34*mus_ooame_mvl/mxv + .byte W04 + .byte 31*mus_ooame_mvl/mxv + .byte W08 + .byte 28*mus_ooame_mvl/mxv + .byte W04 + .byte 26*mus_ooame_mvl/mxv + .byte W04 + .byte 24*mus_ooame_mvl/mxv + .byte W04 + .byte 22*mus_ooame_mvl/mxv + .byte W04 + .byte 20*mus_ooame_mvl/mxv + .byte W04 + .byte 18*mus_ooame_mvl/mxv + .byte W04 + .byte 16*mus_ooame_mvl/mxv + .byte W04 + .byte 14*mus_ooame_mvl/mxv + .byte W04 + .byte 12*mus_ooame_mvl/mxv + .byte W04 + .byte 10*mus_ooame_mvl/mxv + .byte W24 + .byte EOT + .byte PAN , c_v+0 + .byte VOL , 10*mus_ooame_mvl/mxv + .byte MOD , 0 + .byte TIE , As3 + .byte W48 + .byte VOL , 10*mus_ooame_mvl/mxv + .byte W32 + .byte 11*mus_ooame_mvl/mxv + .byte W04 + .byte 12*mus_ooame_mvl/mxv + .byte W04 + .byte 13*mus_ooame_mvl/mxv + .byte W04 + .byte 14*mus_ooame_mvl/mxv + .byte W04 +mus_ooame_1_001: + .byte VOL , 15*mus_ooame_mvl/mxv + .byte W08 + .byte 17*mus_ooame_mvl/mxv + .byte W04 + .byte 18*mus_ooame_mvl/mxv + .byte W04 + .byte 21*mus_ooame_mvl/mxv + .byte W04 + .byte 25*mus_ooame_mvl/mxv + .byte W04 + .byte 26*mus_ooame_mvl/mxv + .byte W04 + .byte 29*mus_ooame_mvl/mxv + .byte W04 + .byte 31*mus_ooame_mvl/mxv + .byte W04 + .byte 32*mus_ooame_mvl/mxv + .byte W04 + .byte 35*mus_ooame_mvl/mxv + .byte W04 + .byte 39*mus_ooame_mvl/mxv + .byte W04 + .byte 41*mus_ooame_mvl/mxv + .byte W48 + .byte PEND + .byte EOT , As3 + .byte TIE , Bn3 , v112 + .byte W96 +mus_ooame_1_002: + .byte W12 + .byte VOL , 40*mus_ooame_mvl/mxv + .byte W04 + .byte 38*mus_ooame_mvl/mxv + .byte W04 + .byte 36*mus_ooame_mvl/mxv + .byte W04 + .byte 34*mus_ooame_mvl/mxv + .byte W04 + .byte 31*mus_ooame_mvl/mxv + .byte W08 + .byte 28*mus_ooame_mvl/mxv + .byte W04 + .byte 26*mus_ooame_mvl/mxv + .byte W04 + .byte 24*mus_ooame_mvl/mxv + .byte W04 + .byte 22*mus_ooame_mvl/mxv + .byte W04 + .byte 20*mus_ooame_mvl/mxv + .byte W04 + .byte 18*mus_ooame_mvl/mxv + .byte W04 + .byte 16*mus_ooame_mvl/mxv + .byte W04 + .byte 14*mus_ooame_mvl/mxv + .byte W04 + .byte 12*mus_ooame_mvl/mxv + .byte W04 + .byte 10*mus_ooame_mvl/mxv + .byte W24 + .byte PEND + .byte EOT , Bn3 + .byte PATT + .word mus_ooame_1_000 + .byte PATT + .word mus_ooame_1_001 + .byte EOT , As3 + .byte TIE , Bn3 , v112 + .byte W96 + .byte PATT + .word mus_ooame_1_002 + .byte EOT , Bn3 + .byte PATT + .word mus_ooame_1_000 + .byte PATT + .word mus_ooame_1_001 + .byte EOT , As3 + .byte TIE , Bn3 , v112 + .byte W96 + .byte PATT + .word mus_ooame_1_002 + .byte EOT , Bn3 + .byte GOTO + .word mus_ooame_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_ooame_2: + .byte KEYSH , mus_ooame_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 45*mus_ooame_mvl/mxv + .byte W24 +mus_ooame_2_B1: +mus_ooame_2_000: + .byte N02 , Gn5 , v112 + .byte W08 + .byte Gn5 , v072 + .byte W08 + .byte Gn5 , v076 + .byte W08 + .byte Gn5 , v112 + .byte W08 + .byte Gn5 , v072 + .byte W08 + .byte Gn5 , v076 + .byte W08 + .byte Gn5 , v112 + .byte W08 + .byte Gn5 , v072 + .byte W08 + .byte Gn5 , v076 + .byte W08 + .byte Gn5 , v112 + .byte W08 + .byte Gn5 , v072 + .byte W08 + .byte Gn5 , v076 + .byte W08 + .byte PEND + .byte PATT + .word mus_ooame_2_000 + .byte PATT + .word mus_ooame_2_000 + .byte PATT + .word mus_ooame_2_000 + .byte PATT + .word mus_ooame_2_000 + .byte PATT + .word mus_ooame_2_000 + .byte PATT + .word mus_ooame_2_000 + .byte PATT + .word mus_ooame_2_000 + .byte PATT + .word mus_ooame_2_000 + .byte PATT + .word mus_ooame_2_000 + .byte PATT + .word mus_ooame_2_000 + .byte PATT + .word mus_ooame_2_000 + .byte PATT + .word mus_ooame_2_000 + .byte PATT + .word mus_ooame_2_000 + .byte PATT + .word mus_ooame_2_000 + .byte PATT + .word mus_ooame_2_000 + .byte GOTO + .word mus_ooame_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_ooame_3: + .byte KEYSH , mus_ooame_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-63 + .byte VOL , 42*mus_ooame_mvl/mxv + .byte N24 , An1 , v112 + .byte W04 + .byte VOL , 47*mus_ooame_mvl/mxv + .byte W04 + .byte 53*mus_ooame_mvl/mxv + .byte W04 + .byte MOD , 8 + .byte VOL , 61*mus_ooame_mvl/mxv + .byte W04 + .byte 71*mus_ooame_mvl/mxv + .byte W08 +mus_ooame_3_B1: + .byte VOL , 60*mus_ooame_mvl/mxv + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N08 , Dn1 , v112 + .byte W08 + .byte N04 , Ds1 , v076 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Dn1 , v112 + .byte W08 + .byte N04 , Ds1 , v076 + .byte W08 + .byte N04 + .byte W08 + .byte N12 , Ds1 , v112 + .byte W16 + .byte N04 + .byte W16 + .byte N08 , Ds2 + .byte W08 + .byte N04 , Dn1 + .byte W08 +mus_ooame_3_000: + .byte N08 , Ds1 , v112 + .byte W08 + .byte N04 , Ds1 , v056 + .byte W08 + .byte N04 + .byte W08 + .byte Dn1 , v112 + .byte W08 + .byte Ds1 , v064 + .byte W08 + .byte Ds1 , v100 + .byte W08 + .byte Dn1 , v112 + .byte W08 + .byte N02 , Ds1 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N08 , Dn1 + .byte W08 + .byte N04 , Ds1 + .byte W08 + .byte N04 + .byte W08 + .byte PEND +mus_ooame_3_001: + .byte N08 , Ds1 , v112 + .byte W08 + .byte N04 , En1 , v076 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Ds1 , v112 + .byte W08 + .byte N04 , En1 , v076 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , En1 , v112 + .byte W16 + .byte N04 + .byte W16 + .byte N08 , En2 + .byte W08 + .byte N04 , En1 + .byte W08 + .byte PEND + .byte N08 + .byte W08 + .byte N04 , En1 , v056 + .byte W08 + .byte N04 + .byte W08 + .byte Ds1 , v112 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte En1 , v100 + .byte W08 + .byte Ds1 , v112 + .byte W08 + .byte N02 , En1 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte PAN , c_v-62 + .byte VOL , 42*mus_ooame_mvl/mxv + .byte N24 + .byte W04 + .byte VOL , 47*mus_ooame_mvl/mxv + .byte W04 + .byte 53*mus_ooame_mvl/mxv + .byte W04 + .byte MOD , 13 + .byte VOL , 61*mus_ooame_mvl/mxv + .byte W04 + .byte 71*mus_ooame_mvl/mxv + .byte W08 + .byte 60*mus_ooame_mvl/mxv + .byte PAN , c_v+0 + .byte MOD , 2 + .byte N08 , Dn1 + .byte W08 + .byte N04 , Ds1 , v076 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Dn1 , v112 + .byte W08 + .byte N04 , Ds1 , v076 + .byte W08 + .byte N04 + .byte W08 + .byte N12 , Ds1 , v112 + .byte W16 + .byte N04 + .byte W16 + .byte N08 , Ds2 + .byte W08 + .byte N04 , Dn1 + .byte W08 + .byte PATT + .word mus_ooame_3_000 + .byte PATT + .word mus_ooame_3_001 +mus_ooame_3_002: + .byte N08 , En1 , v112 + .byte W08 + .byte N04 , En1 , v056 + .byte W08 + .byte N04 + .byte W08 + .byte Ds1 , v112 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte En1 , v100 + .byte W08 + .byte Ds1 , v112 + .byte W08 + .byte N02 , En1 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte PAN , c_v-62 + .byte VOL , 42*mus_ooame_mvl/mxv + .byte N24 + .byte W04 + .byte VOL , 47*mus_ooame_mvl/mxv + .byte W04 + .byte 53*mus_ooame_mvl/mxv + .byte W04 + .byte 61*mus_ooame_mvl/mxv + .byte W04 + .byte 71*mus_ooame_mvl/mxv + .byte W08 + .byte PEND +mus_ooame_3_003: + .byte VOL , 60*mus_ooame_mvl/mxv + .byte PAN , c_v+0 + .byte N08 , Dn1 , v112 + .byte W08 + .byte N04 , Ds1 , v076 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Dn1 , v112 + .byte W08 + .byte N04 , Ds1 , v076 + .byte W08 + .byte N04 + .byte W08 + .byte N12 , Ds1 , v112 + .byte W16 + .byte N04 + .byte W16 + .byte N08 , Ds2 + .byte W08 + .byte N04 , Dn1 + .byte W08 + .byte PEND + .byte PATT + .word mus_ooame_3_000 + .byte PATT + .word mus_ooame_3_001 + .byte PATT + .word mus_ooame_3_002 + .byte PATT + .word mus_ooame_3_003 + .byte PATT + .word mus_ooame_3_000 + .byte PATT + .word mus_ooame_3_001 + .byte PATT + .word mus_ooame_3_002 + .byte GOTO + .word mus_ooame_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_ooame_4: + .byte KEYSH , mus_ooame_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 40*mus_ooame_mvl/mxv + .byte PAN , c_v+63 + .byte N24 , En1 , v112 + .byte W04 + .byte VOL , 42*mus_ooame_mvl/mxv + .byte W04 + .byte 47*mus_ooame_mvl/mxv + .byte W04 + .byte MOD , 8 + .byte VOL , 53*mus_ooame_mvl/mxv + .byte W04 + .byte 61*mus_ooame_mvl/mxv + .byte W04 + .byte 71*mus_ooame_mvl/mxv + .byte W04 +mus_ooame_4_B1: + .byte PAN , c_v+0 + .byte VOL , 10*mus_ooame_mvl/mxv + .byte MOD , 0 + .byte TIE , Ds3 , v112 + .byte W48 + .byte VOL , 13*mus_ooame_mvl/mxv + .byte W48 +mus_ooame_4_000: + .byte VOL , 20*mus_ooame_mvl/mxv + .byte W24 + .byte 30*mus_ooame_mvl/mxv + .byte W24 + .byte 40*mus_ooame_mvl/mxv + .byte W12 + .byte 51*mus_ooame_mvl/mxv + .byte W12 + .byte 60*mus_ooame_mvl/mxv + .byte W12 + .byte 73*mus_ooame_mvl/mxv + .byte W12 + .byte PEND + .byte EOT , Ds3 + .byte VOL , 40*mus_ooame_mvl/mxv + .byte TIE , Ds3 , v112 + .byte W48 + .byte MOD , 3 + .byte W12 + .byte VOL , 36*mus_ooame_mvl/mxv + .byte W12 + .byte 31*mus_ooame_mvl/mxv + .byte W12 + .byte 27*mus_ooame_mvl/mxv + .byte W12 + .byte 23*mus_ooame_mvl/mxv + .byte MOD , 5 + .byte W12 + .byte VOL , 19*mus_ooame_mvl/mxv + .byte W12 + .byte 15*mus_ooame_mvl/mxv + .byte MOD , 9 + .byte W12 + .byte VOL , 11*mus_ooame_mvl/mxv + .byte W12 + .byte 10*mus_ooame_mvl/mxv + .byte W12 + .byte 10*mus_ooame_mvl/mxv + .byte W12 + .byte EOT + .byte PAN , c_v+63 + .byte VOL , 27*mus_ooame_mvl/mxv + .byte MOD , 2 + .byte N24 , Bn1 + .byte W04 + .byte VOL , 42*mus_ooame_mvl/mxv + .byte W04 + .byte 47*mus_ooame_mvl/mxv + .byte W04 + .byte MOD , 13 + .byte VOL , 53*mus_ooame_mvl/mxv + .byte W04 + .byte 61*mus_ooame_mvl/mxv + .byte W04 + .byte 71*mus_ooame_mvl/mxv + .byte W04 + .byte PAN , c_v+0 + .byte VOL , 10*mus_ooame_mvl/mxv + .byte MOD , 2 + .byte TIE , Ds3 + .byte W48 + .byte VOL , 13*mus_ooame_mvl/mxv + .byte W48 + .byte PATT + .word mus_ooame_4_000 + .byte EOT , Ds3 +mus_ooame_4_001: + .byte VOL , 40*mus_ooame_mvl/mxv + .byte TIE , Ds3 , v112 + .byte W60 + .byte VOL , 36*mus_ooame_mvl/mxv + .byte W12 + .byte 31*mus_ooame_mvl/mxv + .byte W12 + .byte 27*mus_ooame_mvl/mxv + .byte W12 + .byte PEND +mus_ooame_4_002: + .byte VOL , 23*mus_ooame_mvl/mxv + .byte W12 + .byte 19*mus_ooame_mvl/mxv + .byte W12 + .byte 15*mus_ooame_mvl/mxv + .byte W12 + .byte 11*mus_ooame_mvl/mxv + .byte W12 + .byte 10*mus_ooame_mvl/mxv + .byte W12 + .byte 10*mus_ooame_mvl/mxv + .byte W12 + .byte PEND + .byte EOT , Ds3 + .byte PAN , c_v+63 + .byte VOL , 27*mus_ooame_mvl/mxv + .byte N24 , Bn1 , v112 + .byte W04 + .byte VOL , 42*mus_ooame_mvl/mxv + .byte W04 + .byte 47*mus_ooame_mvl/mxv + .byte W04 + .byte 53*mus_ooame_mvl/mxv + .byte W04 + .byte 61*mus_ooame_mvl/mxv + .byte W04 + .byte 71*mus_ooame_mvl/mxv + .byte W04 +mus_ooame_4_003: + .byte PAN , c_v+0 + .byte VOL , 10*mus_ooame_mvl/mxv + .byte TIE , Ds3 , v112 + .byte W48 + .byte VOL , 13*mus_ooame_mvl/mxv + .byte W48 + .byte PEND + .byte PATT + .word mus_ooame_4_000 + .byte EOT , Ds3 + .byte PATT + .word mus_ooame_4_001 + .byte PATT + .word mus_ooame_4_002 + .byte EOT , Ds3 + .byte PAN , c_v+63 + .byte VOL , 27*mus_ooame_mvl/mxv + .byte N24 , Bn1 , v112 + .byte W04 + .byte VOL , 42*mus_ooame_mvl/mxv + .byte W04 + .byte 47*mus_ooame_mvl/mxv + .byte W04 + .byte 53*mus_ooame_mvl/mxv + .byte W04 + .byte 61*mus_ooame_mvl/mxv + .byte W04 + .byte 71*mus_ooame_mvl/mxv + .byte W04 + .byte PATT + .word mus_ooame_4_003 + .byte PATT + .word mus_ooame_4_000 + .byte EOT , Ds3 + .byte PATT + .word mus_ooame_4_001 + .byte PATT + .word mus_ooame_4_002 + .byte EOT , Ds3 + .byte PAN , c_v+63 + .byte VOL , 27*mus_ooame_mvl/mxv + .byte N24 , Bn1 , v112 + .byte W04 + .byte VOL , 42*mus_ooame_mvl/mxv + .byte W04 + .byte 47*mus_ooame_mvl/mxv + .byte W04 + .byte 53*mus_ooame_mvl/mxv + .byte W04 + .byte 61*mus_ooame_mvl/mxv + .byte W04 + .byte 71*mus_ooame_mvl/mxv + .byte W04 + .byte GOTO + .word mus_ooame_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_ooame_5: + .byte KEYSH , mus_ooame_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte MOD , 64 + .byte VOL , 80*mus_ooame_mvl/mxv + .byte W24 +mus_ooame_5_B1: +mus_ooame_5_000: + .byte N04 , Cn1 , v127 + .byte W24 + .byte Cn1 , v112 + .byte W24 + .byte N04 + .byte W16 + .byte N04 + .byte W24 + .byte Cn1 , v088 + .byte W08 + .byte PEND +mus_ooame_5_001: + .byte N04 , Cn1 , v127 + .byte W24 + .byte Cn1 , v112 + .byte W24 + .byte N04 + .byte W16 + .byte N04 + .byte W16 + .byte Dn1 , v127 + .byte W08 + .byte Cn1 , v088 + .byte W08 + .byte PEND + .byte PATT + .word mus_ooame_5_001 + .byte PATT + .word mus_ooame_5_001 + .byte PATT + .word mus_ooame_5_000 + .byte PATT + .word mus_ooame_5_001 + .byte PATT + .word mus_ooame_5_001 + .byte PATT + .word mus_ooame_5_001 + .byte PATT + .word mus_ooame_5_000 + .byte PATT + .word mus_ooame_5_001 + .byte PATT + .word mus_ooame_5_001 + .byte PATT + .word mus_ooame_5_001 + .byte PATT + .word mus_ooame_5_000 + .byte PATT + .word mus_ooame_5_001 + .byte PATT + .word mus_ooame_5_001 + .byte PATT + .word mus_ooame_5_001 + .byte GOTO + .word mus_ooame_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_ooame_6: + .byte KEYSH , mus_ooame_key+0 + .byte VOICE , 82 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 40*mus_ooame_mvl/mxv + .byte BEND , c_v+1 + .byte N24 , An1 , v112 + .byte W12 + .byte MOD , 8 + .byte W12 +mus_ooame_6_B1: + .byte VOICE , 82 + .byte MOD , 0 + .byte N08 , Dn1 , v112 + .byte W08 + .byte N04 , Ds1 , v076 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Dn1 , v112 + .byte W08 + .byte N04 , Ds1 , v076 + .byte W08 + .byte N04 + .byte W08 + .byte N12 , Ds1 , v112 + .byte W16 + .byte N04 + .byte W16 + .byte N08 , Ds2 + .byte W08 + .byte N04 , Dn1 + .byte W08 +mus_ooame_6_000: + .byte N08 , Ds1 , v112 + .byte W08 + .byte N04 , Ds1 , v056 + .byte W08 + .byte N04 + .byte W08 + .byte Dn1 , v112 + .byte W08 + .byte Ds1 , v064 + .byte W08 + .byte Ds1 , v100 + .byte W08 + .byte Dn1 , v112 + .byte W08 + .byte N02 , Ds1 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N08 , Dn1 + .byte W08 + .byte N04 , Ds1 + .byte W08 + .byte N04 + .byte W08 + .byte PEND +mus_ooame_6_001: + .byte N08 , Ds1 , v112 + .byte W08 + .byte N04 , En1 , v076 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Ds1 , v112 + .byte W08 + .byte N04 , En1 , v076 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , En1 , v112 + .byte W16 + .byte N04 + .byte W16 + .byte N08 , En2 + .byte W08 + .byte N04 , En1 + .byte W08 + .byte PEND + .byte N08 + .byte W08 + .byte N04 , En1 , v056 + .byte W08 + .byte N04 + .byte W08 + .byte Ds1 , v112 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte En1 , v100 + .byte W08 + .byte Ds1 , v112 + .byte W08 + .byte N02 , En1 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N24 + .byte W12 + .byte MOD , 13 + .byte W12 + .byte VOICE , 84 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N16 , As4 + .byte W16 + .byte N04 , Cs5 + .byte W08 + .byte Cn5 + .byte W16 + .byte An4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Fs5 + .byte W16 + .byte An4 + .byte W08 + .byte As4 + .byte W08 + .byte N40 , Ds4 + .byte W12 + .byte MOD , 7 + .byte W28 + .byte 0 + .byte N04 , Dn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gs4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N08 , Bn4 + .byte W08 + .byte N04 , As4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N08 , Gs4 + .byte W08 + .byte N04 , Bn4 + .byte W08 + .byte As4 + .byte W08 + .byte Fs5 + .byte W08 + .byte Gs5 + .byte W16 + .byte Fs4 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N42 , Ds4 + .byte W12 + .byte MOD , 7 + .byte W30 + .byte 0 + .byte N04 , Dn4 + .byte W04 + .byte Ds4 + .byte W02 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gs4 + .byte W14 + .byte MOD , 7 + .byte W10 + .byte 0 + .byte BEND , c_v+2 + .byte N08 , Dn1 + .byte W08 + .byte N04 , Ds1 , v076 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Dn1 , v112 + .byte W08 + .byte N04 , Ds1 , v076 + .byte W08 + .byte N04 + .byte W08 + .byte N12 , Ds1 , v112 + .byte W16 + .byte N04 + .byte W16 + .byte N08 , Ds2 + .byte W08 + .byte N04 , Dn1 + .byte W08 + .byte PATT + .word mus_ooame_6_000 + .byte PATT + .word mus_ooame_6_001 + .byte N08 , En1 , v112 + .byte W08 + .byte N04 , En1 , v056 + .byte W08 + .byte N04 + .byte W08 + .byte Ds1 , v112 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte En1 , v100 + .byte W08 + .byte Ds1 , v112 + .byte W08 + .byte N02 , En1 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N24 + .byte W24 + .byte VOICE , 83 + .byte BEND , c_v+0 + .byte N16 , As3 + .byte W16 + .byte N04 , Cs4 + .byte W08 + .byte Cn4 + .byte W16 + .byte An3 + .byte W08 + .byte Ds3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Fs4 + .byte W16 + .byte An3 + .byte W08 + .byte As3 + .byte W08 + .byte N40 , Ds3 + .byte W12 + .byte MOD , 7 + .byte W28 + .byte 0 + .byte N04 , Dn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte N24 , Fs3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gs3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N08 , Bn3 + .byte W08 + .byte N04 , As3 + .byte W08 + .byte Fs3 + .byte W08 + .byte N08 , Gs3 + .byte W08 + .byte N04 , Bn3 + .byte W08 + .byte As3 + .byte W08 + .byte Fs4 + .byte W08 + .byte Gs4 + .byte W16 + .byte Fs3 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N42 , Ds3 + .byte W12 + .byte MOD , 7 + .byte W30 + .byte 0 + .byte N04 , Dn3 + .byte W04 + .byte Ds3 + .byte W02 + .byte N24 , Fs3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gs3 + .byte W14 + .byte MOD , 7 + .byte W10 + .byte GOTO + .word mus_ooame_6_B1 + .byte MOD , 0 + .byte FINE + +@******************************************************@ + .align 2 + +mus_ooame: + .byte 6 @ NumTrks + .byte 0 @ NumBlks + .byte mus_ooame_pri @ Priority + .byte mus_ooame_rev @ Reverb. + + .word mus_ooame_grp + + .word mus_ooame_1 + .word mus_ooame_2 + .word mus_ooame_3 + .word mus_ooame_4 + .word mus_ooame_5 + .word mus_ooame_6 + + .end diff --git a/sound/songs/mus_p_school.s b/sound/songs/mus_p_school.s new file mode 100644 index 0000000000..59a89878f6 --- /dev/null +++ b/sound/songs/mus_p_school.s @@ -0,0 +1,712 @@ + .include "MPlayDef.s" + + .equ mus_p_school_grp, voicegroup_868DC74 + .equ mus_p_school_pri, 0 + .equ mus_p_school_rev, reverb_set+50 + .equ mus_p_school_mvl, 127 + .equ mus_p_school_key, 0 + .equ mus_p_school_tbs, 1 + .equ mus_p_school_exg, 0 + .equ mus_p_school_cmp, 1 + + .section .rodata + .global mus_p_school + .align 2 + +@********************** Track 1 **********************@ + +mus_p_school_1: + .byte KEYSH , mus_p_school_key+0 +mus_p_school_1_B1: + .byte TEMPO , 116*mus_p_school_tbs/2 + .byte VOICE , 1 + .byte LFOS , 44 + .byte VOL , 87*mus_p_school_mvl/mxv + .byte PAN , c_v+4 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 96*mus_p_school_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N06 , En3 , v064 + .byte W12 + .byte W60 + .byte Gn3 + .byte W24 + .byte N06 + .byte W12 + .byte W12 + .byte An3 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N18 , En3 + .byte W24 + .byte GOTO + .word mus_p_school_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_p_school_2: + .byte VOL , 100*mus_p_school_mvl/mxv + .byte KEYSH , mus_p_school_key+0 +mus_p_school_2_B1: + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte W96 + .byte W84 + .byte N06 , Fs4 , v064 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N24 , An4 + .byte W24 + .byte N06 , Dn5 + .byte W12 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N24 , Gn4 + .byte W24 + .byte N06 , Cs5 + .byte W12 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Dn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte Gn4 + .byte W24 + .byte Bn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W03 + .byte Bn4 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N24 , An4 + .byte W24 + .byte N06 , Dn5 + .byte W12 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W03 + .byte An4 + .byte W03 + .byte N06 , Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N24 , Gn4 + .byte W24 + .byte N06 , Cs5 + .byte W12 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W03 + .byte Gn4 + .byte W03 + .byte N06 , Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cs5 + .byte W12 + .byte Dn5 + .byte W12 + .byte En5 + .byte W12 + .byte Bn4 + .byte W12 + .byte N06 + .byte W06 + .byte Dn5 + .byte W06 + .byte N03 , Cs5 + .byte W03 + .byte Dn5 + .byte W03 + .byte N06 , Bn4 + .byte W06 + .byte Cs5 + .byte W12 + .byte Dn5 + .byte W12 + .byte En5 + .byte W24 + .byte W12 + .byte N12 , Bn4 + .byte W12 + .byte N06 , Cs5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gs4 + .byte W12 + .byte An4 + .byte W24 + .byte Bn4 + .byte W12 + .byte En4 + .byte W06 + .byte Bn4 + .byte W06 + .byte N48 , Cs5 + .byte W36 + .byte N06 , En3 + .byte W12 + .byte W12 + .byte N12 , Bn4 + .byte W12 + .byte N06 , Cs5 + .byte W12 + .byte Dn5 + .byte W12 + .byte En5 + .byte W12 + .byte Gn3 + .byte N06 , Bn4 + .byte W12 + .byte Cs5 + .byte W12 + .byte Gn3 + .byte N06 , Dn5 + .byte W12 + .byte Cs5 + .byte W24 + .byte Bn4 + .byte W12 + .byte N03 , Cs5 + .byte W03 + .byte Dn5 + .byte W03 + .byte N06 , Bn4 + .byte W06 + .byte N48 , An4 + .byte W48 + .byte W12 + .byte N12 , Bn4 + .byte W12 + .byte N06 , Cs5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte N03 , Bn4 + .byte W03 + .byte Cs5 + .byte W03 + .byte N06 , Bn4 + .byte W06 + .byte An4 + .byte W12 + .byte Gs4 + .byte W12 + .byte An4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte An4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte N48 , En5 + .byte W48 + .byte W12 + .byte N12 , Bn4 + .byte W12 + .byte N06 , Cs5 + .byte W12 + .byte Dn5 + .byte W12 + .byte En5 + .byte W12 + .byte N03 , Dn5 + .byte W03 + .byte En5 + .byte W03 + .byte N06 , Dn5 + .byte W06 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cs5 + .byte W12 + .byte An4 + .byte W12 + .byte N06 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte N18 , En5 + .byte W24 + .byte GOTO + .word mus_p_school_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_p_school_3: + .byte VOL , 100*mus_p_school_mvl/mxv + .byte KEYSH , mus_p_school_key+0 +mus_p_school_3_B1: + .byte VOICE , 1 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte N06 , Dn2 , v064 + .byte W12 + .byte An2 + .byte W12 + .byte An1 + .byte W12 + .byte An2 + .byte W12 + .byte Bn1 + .byte W12 + .byte An2 + .byte W12 + .byte Cs2 + .byte W12 + .byte An2 + .byte W12 +mus_p_school_3_000: + .byte N06 , Dn2 , v064 + .byte W12 + .byte An2 + .byte W12 + .byte An1 + .byte W12 + .byte An2 + .byte W12 + .byte Bn1 + .byte W12 + .byte An2 + .byte W12 + .byte Cs2 + .byte W12 + .byte An2 + .byte W12 + .byte PEND + .byte PATT + .word mus_p_school_3_000 +mus_p_school_3_001: + .byte N06 , En2 , v064 + .byte W12 + .byte Bn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An1 + .byte W12 + .byte Cs3 + .byte W12 + .byte PEND +mus_p_school_3_002: + .byte N06 , Bn1 , v064 + .byte W12 + .byte Bn2 + .byte W12 + .byte As1 + .byte W12 + .byte Bn2 + .byte W12 + .byte An1 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gs1 + .byte W12 + .byte Bn2 + .byte W12 + .byte PEND +mus_p_school_3_003: + .byte N06 , Gn1 , v064 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Bn2 + .byte W12 + .byte An1 + .byte W12 + .byte Cs3 + .byte W12 + .byte An1 + .byte W12 + .byte Cs3 + .byte W12 + .byte PEND + .byte PATT + .word mus_p_school_3_000 + .byte PATT + .word mus_p_school_3_001 + .byte PATT + .word mus_p_school_3_002 + .byte PATT + .word mus_p_school_3_003 +mus_p_school_3_004: + .byte N06 , Gn2 , v064 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn2 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn2 + .byte W12 + .byte Bn3 + .byte W12 + .byte PEND +mus_p_school_3_005: + .byte N06 , An2 , v064 + .byte W12 + .byte En3 + .byte W12 + .byte En2 + .byte W12 + .byte En3 + .byte W12 + .byte An2 + .byte W12 + .byte En3 + .byte W12 + .byte An2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PEND +mus_p_school_3_006: + .byte N06 , Gn2 , v064 + .byte W12 + .byte Gn3 + .byte W12 + .byte En2 + .byte W12 + .byte Gn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PEND + .byte An2 + .byte W12 + .byte An3 + .byte W12 + .byte En2 + .byte W12 + .byte An3 + .byte W12 + .byte An2 + .byte W12 + .byte An3 + .byte W12 + .byte En2 + .byte W12 + .byte An3 + .byte W12 + .byte PATT + .word mus_p_school_3_004 + .byte PATT + .word mus_p_school_3_005 + .byte PATT + .word mus_p_school_3_006 + .byte N06 , An2 , v064 + .byte W24 + .byte En2 + .byte W24 + .byte An2 + .byte W24 + .byte N12 , An1 + .byte W12 + .byte Cs2 + .byte W12 + .byte GOTO + .word mus_p_school_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_p_school_4: + .byte VOL , 100*mus_p_school_mvl/mxv + .byte KEYSH , mus_p_school_key+0 +mus_p_school_4_B1: + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte W12 + .byte N06 , Fs3 , v064 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 +mus_p_school_4_000: + .byte W12 + .byte N06 , Fs3 , v064 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte PATT + .word mus_p_school_4_000 +mus_p_school_4_001: + .byte W12 + .byte N06 , Gn3 , v064 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte PATT + .word mus_p_school_4_000 +mus_p_school_4_002: + .byte W12 + .byte N06 , Gn3 , v064 + .byte W24 + .byte N06 + .byte W24 + .byte An3 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte PATT + .word mus_p_school_4_000 + .byte PATT + .word mus_p_school_4_001 + .byte PATT + .word mus_p_school_4_000 + .byte PATT + .word mus_p_school_4_002 +mus_p_school_4_003: + .byte W12 + .byte N06 , Dn4 , v064 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND +mus_p_school_4_004: + .byte W12 + .byte N06 , Cs4 , v064 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND +mus_p_school_4_005: + .byte W12 + .byte N06 , Bn3 , v064 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte PATT + .word mus_p_school_4_004 + .byte PATT + .word mus_p_school_4_003 + .byte PATT + .word mus_p_school_4_004 + .byte PATT + .word mus_p_school_4_005 + .byte W12 + .byte N06 , Cs4 , v064 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N18 , An3 + .byte W24 + .byte GOTO + .word mus_p_school_4_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_p_school: + .byte 4 @ NumTrks + .byte 0 @ NumBlks + .byte mus_p_school_pri @ Priority + .byte mus_p_school_rev @ Reverb. + + .word mus_p_school_grp + + .word mus_p_school_1 + .word mus_p_school_2 + .word mus_p_school_3 + .word mus_p_school_4 + + .end diff --git a/sound/songs/mus_pcc.s b/sound/songs/mus_pcc.s new file mode 100644 index 0000000000..b64a8e22be --- /dev/null +++ b/sound/songs/mus_pcc.s @@ -0,0 +1,604 @@ + .include "MPlayDef.s" + + .equ mus_pcc_grp, voicegroup_pokemon_cry + .equ mus_pcc_pri, 0 + .equ mus_pcc_rev, reverb_set+50 + .equ mus_pcc_mvl, 127 + .equ mus_pcc_key, 0 + .equ mus_pcc_tbs, 1 + .equ mus_pcc_exg, 0 + .equ mus_pcc_cmp, 1 + + .section .rodata + .global mus_pcc + .align 2 + +@********************** Track 1 **********************@ + +mus_pcc_1: + .byte KEYSH , mus_pcc_key+0 + .byte TEMPO , 120*mus_pcc_tbs/2 + .byte VOICE , 1 + .byte VOL , 80*mus_pcc_mvl/mxv + .byte N12 , En3 , v076 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N12 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Bn3 + .byte W24 +mus_pcc_1_B1: +mus_pcc_1_000: + .byte N11 , En3 , v076 + .byte W12 + .byte Cn3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N12 , Gn3 + .byte W12 + .byte N11 , Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PEND +mus_pcc_1_001: + .byte N11 , An3 , v076 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PEND + .byte N11 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte N12 , Gn3 + .byte W12 + .byte N11 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PATT + .word mus_pcc_1_000 + .byte PATT + .word mus_pcc_1_001 + .byte N11 , Gn3 , v076 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N23 , Bn3 + .byte W24 + .byte N11 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N23 , Cn3 + .byte W24 + .byte N11 , Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N12 , En3 + .byte W12 + .byte N11 , Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte N23 , Dn3 + .byte W24 + .byte N11 , Bn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte N44 , Gn3 + .byte W48 + .byte N11 , Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte N23 , An3 + .byte W24 + .byte N11 , Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte N23 , Bn3 + .byte W24 + .byte N11 , An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte N23 , Gn3 + .byte W24 + .byte N11 , Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte GOTO + .word mus_pcc_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_pcc_2: + .byte KEYSH , mus_pcc_key+0 + .byte VOICE , 32 + .byte VOL , 80*mus_pcc_mvl/mxv + .byte W60 + .byte N12 , Gn1 , v112 + .byte W12 + .byte An1 + .byte W12 + .byte Bn1 + .byte W12 +mus_pcc_2_B1: +mus_pcc_2_000: + .byte N11 , Cn2 , v112 + .byte W12 + .byte En2 + .byte W12 + .byte Gn1 + .byte W12 + .byte En2 + .byte W12 + .byte Cn2 + .byte W12 + .byte En2 + .byte W12 + .byte Fn2 + .byte W12 + .byte En2 + .byte W12 + .byte PEND +mus_pcc_2_001: + .byte N11 , Dn2 , v112 + .byte W12 + .byte Gn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Gn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Gn2 + .byte W12 + .byte PEND +mus_pcc_2_002: + .byte N11 , Dn2 , v112 + .byte W12 + .byte Gn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Gn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PEND + .byte En2 + .byte W12 + .byte Gn2 + .byte W12 + .byte En2 + .byte W12 + .byte Gn2 + .byte W12 + .byte En2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Gn2 + .byte W12 + .byte PATT + .word mus_pcc_2_000 + .byte PATT + .word mus_pcc_2_001 + .byte PATT + .word mus_pcc_2_002 + .byte N11 , Cn2 , v112 + .byte W12 + .byte En2 + .byte W12 + .byte Gn1 + .byte W12 + .byte En2 + .byte W12 + .byte Cn2 + .byte W12 + .byte An2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Fn2 + .byte W12 +mus_pcc_2_003: + .byte N11 , En2 , v112 + .byte W12 + .byte Gn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte En2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PEND +mus_pcc_2_004: + .byte N11 , Fn2 , v112 + .byte W12 + .byte An2 + .byte W12 + .byte Cn2 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte Cn2 + .byte W12 + .byte An2 + .byte W12 + .byte PEND +mus_pcc_2_005: + .byte N11 , Dn2 , v112 + .byte W12 + .byte Fn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_pcc_2_003 + .byte PATT + .word mus_pcc_2_003 + .byte PATT + .word mus_pcc_2_004 + .byte PATT + .word mus_pcc_2_005 + .byte N11 , En2 , v112 + .byte W12 + .byte Gn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte En2 + .byte W12 + .byte Fn2 + .byte W12 + .byte En2 + .byte W12 + .byte Dn2 + .byte W12 + .byte GOTO + .word mus_pcc_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_pcc_3: + .byte KEYSH , mus_pcc_key+0 + .byte VOICE , 48 + .byte VOL , 80*mus_pcc_mvl/mxv + .byte N12 , Gn3 , v092 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte N12 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , Dn4 + .byte W24 +mus_pcc_3_B1: +mus_pcc_3_000: + .byte N11 , Cn4 , v092 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N23 , Gn4 + .byte W24 + .byte Fn4 + .byte W24 + .byte N11 , En4 + .byte W12 + .byte PEND +mus_pcc_3_001: + .byte N11 , Dn4 , v092 + .byte W12 + .byte N32 , Bn3 + .byte W36 + .byte VOICE , 1 + .byte N11 , Gn5 , v100 + .byte W12 + .byte N12 , Dn5 + .byte W12 + .byte N23 , Dn6 + .byte W24 + .byte PEND +mus_pcc_3_002: + .byte VOICE , 48 + .byte N11 , Bn3 , v092 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte N23 , En4 + .byte W24 + .byte Dn4 + .byte W24 + .byte N11 , Bn3 + .byte W12 + .byte PEND + .byte Cn4 + .byte W12 + .byte N32 , En4 + .byte W36 + .byte N11 , En3 + .byte W12 + .byte N12 , Fn3 + .byte W12 + .byte N11 , Dn3 + .byte W12 + .byte N12 , En3 + .byte W12 + .byte PATT + .word mus_pcc_3_000 + .byte PATT + .word mus_pcc_3_001 + .byte PATT + .word mus_pcc_3_002 + .byte N44 , Cn4 , v092 + .byte W48 + .byte N11 , Gn3 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte N11 , Bn3 + .byte W12 + .byte N12 , Dn4 + .byte W12 +mus_pcc_3_003: + .byte N44 , En4 , v092 + .byte W48 + .byte Gn4 + .byte W48 + .byte PEND + .byte N11 , Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte N44 , Dn4 + .byte W48 + .byte Bn3 + .byte W48 + .byte Dn4 + .byte W48 +mus_pcc_3_004: + .byte N11 , En4 , v092 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N44 , Cn4 + .byte W48 + .byte PEND + .byte PATT + .word mus_pcc_3_003 + .byte N11 , Fn4 , v092 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N44 , An4 + .byte W48 + .byte N23 , Gn4 + .byte W24 + .byte N11 , Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte N44 , Fn4 + .byte W48 + .byte PATT + .word mus_pcc_3_004 + .byte GOTO + .word mus_pcc_3_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_pcc: + .byte 3 @ NumTrks + .byte 0 @ NumBlks + .byte mus_pcc_pri @ Priority + .byte mus_pcc_rev @ Reverb. + + .word mus_pcc_grp + + .word mus_pcc_1 + .word mus_pcc_2 + .word mus_pcc_3 + + .end diff --git a/sound/songs/mus_pokecen.s b/sound/songs/mus_pokecen.s new file mode 100644 index 0000000000..6511b3850b --- /dev/null +++ b/sound/songs/mus_pokecen.s @@ -0,0 +1,2331 @@ + .include "MPlayDef.s" + + .equ mus_pokecen_grp, voicegroup_86810B0 + .equ mus_pokecen_pri, 0 + .equ mus_pokecen_rev, reverb_set+50 + .equ mus_pokecen_mvl, 127 + .equ mus_pokecen_key, 0 + .equ mus_pokecen_tbs, 1 + .equ mus_pokecen_exg, 0 + .equ mus_pokecen_cmp, 1 + + .section .rodata + .global mus_pokecen + .align 2 + +@********************** Track 1 **********************@ + +mus_pokecen_1: + .byte KEYSH , mus_pokecen_key+0 + .byte TEMPO , 104*mus_pokecen_tbs/2 + .byte VOICE , 2 + .byte PAN , c_v+0 + .byte VOL , 29*mus_pokecen_mvl/mxv + .byte W96 +mus_pokecen_1_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N12 , An3 , v112 + .byte W12 + .byte Fs3 + .byte W12 + .byte An3 + .byte W12 + .byte En3 + .byte W12 + .byte N24 , Dn3 + .byte W24 + .byte N12 , Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , Gs3 + .byte W24 + .byte N12 , Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte Gs3 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cs3 , v100 + .byte W12 + .byte En3 , v096 + .byte W12 + .byte An2 + .byte W12 + .byte Gs2 + .byte W12 + .byte GOTO + .word mus_pokecen_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_pokecen_2: + .byte KEYSH , mus_pokecen_key+0 + .byte VOICE , 73 + .byte VOL , 3*mus_pokecen_mvl/mxv + .byte LFOS , 44 + .byte MOD , 1 + .byte PAN , c_v-7 + .byte N72 , En3 , v120 + .byte W03 + .byte VOL , 8*mus_pokecen_mvl/mxv + .byte W02 + .byte 9*mus_pokecen_mvl/mxv + .byte W07 + .byte 10*mus_pokecen_mvl/mxv + .byte W02 + .byte 10*mus_pokecen_mvl/mxv + .byte W03 + .byte 11*mus_pokecen_mvl/mxv + .byte W03 + .byte 14*mus_pokecen_mvl/mxv + .byte W04 + .byte 15*mus_pokecen_mvl/mxv + .byte W02 + .byte 16*mus_pokecen_mvl/mxv + .byte W03 + .byte 17*mus_pokecen_mvl/mxv + .byte W03 + .byte 19*mus_pokecen_mvl/mxv + .byte W04 + .byte 21*mus_pokecen_mvl/mxv + .byte W02 + .byte 22*mus_pokecen_mvl/mxv + .byte W03 + .byte 23*mus_pokecen_mvl/mxv + .byte W03 + .byte 26*mus_pokecen_mvl/mxv + .byte W04 + .byte 28*mus_pokecen_mvl/mxv + .byte W02 + .byte 34*mus_pokecen_mvl/mxv + .byte W03 + .byte 41*mus_pokecen_mvl/mxv + .byte W03 + .byte 44*mus_pokecen_mvl/mxv + .byte W01 + .byte 52*mus_pokecen_mvl/mxv + .byte W03 + .byte 60*mus_pokecen_mvl/mxv + .byte W02 + .byte 62*mus_pokecen_mvl/mxv + .byte W01 + .byte 73*mus_pokecen_mvl/mxv + .byte W02 + .byte 70*mus_pokecen_mvl/mxv + .byte W01 + .byte 80*mus_pokecen_mvl/mxv + .byte W02 + .byte 76*mus_pokecen_mvl/mxv + .byte W01 + .byte 86*mus_pokecen_mvl/mxv + .byte W03 + .byte 78*mus_pokecen_mvl/mxv + .byte N02 , Gs3 , v112 + .byte W02 + .byte An3 + .byte W02 + .byte N08 , Gs3 + .byte W09 + .byte N06 , Fs3 + .byte W05 + .byte Gs3 + .byte W06 +mus_pokecen_2_B1: + .byte VOL , 92*mus_pokecen_mvl/mxv + .byte W32 + .byte W01 + .byte N03 , Ds4 , v072 + .byte W03 + .byte N06 , En4 , v112 + .byte W12 + .byte En4 , v016 + .byte W12 + .byte En4 , v108 + .byte W12 + .byte N02 , Dn4 , v112 + .byte W02 + .byte En4 + .byte W02 + .byte N08 , Dn4 + .byte W09 + .byte N06 , Cs4 + .byte W05 + .byte An3 + .byte W06 + .byte Bn3 + .byte W12 + .byte N12 , Gs3 , v092 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte 1 + .byte N12 , Gs3 , v016 + .byte W48 + .byte N06 , Fs3 , v112 + .byte W12 + .byte Gn3 + .byte W12 + .byte W32 + .byte W01 + .byte N03 , Cn4 , v068 + .byte W03 + .byte N06 , Cs4 , v112 + .byte W12 + .byte Cs4 , v016 + .byte W12 + .byte Bn3 , v112 + .byte W12 + .byte Bn3 , v016 + .byte W12 + .byte Gs3 , v112 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Cs4 + .byte W06 + .byte MOD , 5 + .byte W18 + .byte 1 + .byte N06 , En3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W09 + .byte N03 , As3 , v076 + .byte W03 + .byte N06 , An3 , v112 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte VOL , 92*mus_pokecen_mvl/mxv + .byte W32 + .byte W01 + .byte N03 , Ds5 , v072 + .byte W03 + .byte N06 , En5 , v112 + .byte W12 + .byte En5 , v016 + .byte W12 + .byte Dn5 , v092 + .byte W12 + .byte Dn5 , v016 + .byte W12 + .byte Cs5 , v092 + .byte W12 + .byte Bn4 , v112 + .byte W12 + .byte N12 , Gs4 , v092 + .byte W12 + .byte MOD , 1 + .byte N12 , Gs4 , v016 + .byte W48 + .byte N02 , Bn4 , v112 + .byte W02 + .byte Cs5 + .byte W02 + .byte N08 , Bn4 + .byte W09 + .byte N06 , As4 + .byte W05 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W24 + .byte N06 + .byte W09 + .byte N03 , Cn5 , v068 + .byte W03 + .byte N06 , Cs5 , v112 + .byte W12 + .byte Cs5 , v016 + .byte W12 + .byte Bn4 , v112 + .byte W12 + .byte Bn4 , v016 + .byte W12 + .byte Gs4 , v112 + .byte W12 + .byte N24 , An3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte N03 , Gs3 , v064 + .byte W03 + .byte An3 + .byte W03 + .byte As3 + .byte W03 + .byte Bn3 + .byte W03 + .byte Cn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte MOD , 1 + .byte N24 , En4 , v088 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte N03 , Fn4 , v064 + .byte W03 + .byte Fs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Gs4 + .byte W03 + .byte An4 , v068 + .byte W03 + .byte As4 , v076 + .byte W03 + .byte Bn4 , v080 + .byte W03 + .byte Cn5 , v092 + .byte W03 + .byte MOD , 1 + .byte VOL , 69*mus_pokecen_mvl/mxv + .byte PAN , c_v-2 + .byte N48 , Cs5 , v112 + .byte W36 + .byte MOD , 7 + .byte W12 + .byte 2 + .byte N36 , En5 + .byte W24 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte N12 , Dn5 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W18 + .byte N06 , Gs4 + .byte W06 + .byte N02 , Cs5 + .byte W02 + .byte Dn5 + .byte W02 + .byte N08 , Cs5 + .byte W09 + .byte N06 , Bn4 + .byte W05 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte En4 + .byte W12 + .byte N06 + .byte W06 + .byte Bn4 + .byte W06 + .byte En4 + .byte W12 + .byte N06 + .byte W06 + .byte Dn5 + .byte W06 + .byte An4 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Dn5 + .byte W12 + .byte N09 , Gs4 + .byte W09 + .byte N03 , Cn5 + .byte W03 + .byte N12 , Cs5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte N06 , An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N02 , En5 + .byte W02 + .byte Fs5 + .byte W02 + .byte N08 , En5 + .byte W09 + .byte N06 , Cs5 + .byte W05 + .byte Bn4 + .byte W06 + .byte VOL , 69*mus_pokecen_mvl/mxv + .byte W06 + .byte N06 , En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Gs5 + .byte W06 + .byte VOL , 60*mus_pokecen_mvl/mxv + .byte N06 , An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte VOL , 81*mus_pokecen_mvl/mxv + .byte N03 , Ds5 , v096 + .byte W03 + .byte N21 , En5 + .byte W09 + .byte MOD , 6 + .byte W12 + .byte 1 + .byte N12 , Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte N48 , Dn5 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte 1 + .byte N12 , Cs5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte VOL , 23*mus_pokecen_mvl/mxv + .byte N24 , An4 + .byte W03 + .byte VOL , 28*mus_pokecen_mvl/mxv + .byte W03 + .byte 32*mus_pokecen_mvl/mxv + .byte W03 + .byte 40*mus_pokecen_mvl/mxv + .byte W03 + .byte 47*mus_pokecen_mvl/mxv + .byte MOD , 6 + .byte W03 + .byte VOL , 57*mus_pokecen_mvl/mxv + .byte W03 + .byte 69*mus_pokecen_mvl/mxv + .byte W03 + .byte 77*mus_pokecen_mvl/mxv + .byte W03 + .byte MOD , 1 + .byte N02 , Gs4 + .byte W02 + .byte An4 + .byte W02 + .byte N08 , Gs4 + .byte W09 + .byte N06 , Fs4 + .byte W05 + .byte Gs4 + .byte W06 + .byte GOTO + .word mus_pokecen_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_pokecen_3: + .byte KEYSH , mus_pokecen_key+0 + .byte VOICE , 45 + .byte PAN , c_v-32 + .byte VOL , 79*mus_pokecen_mvl/mxv + .byte XCMD , xIECV , 12 + .byte xIECL , 8 + .byte LFOS , 44 + .byte W96 +mus_pokecen_3_B1: + .byte N06 , An3 , v092 + .byte W06 + .byte En3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 , v112 + .byte W12 + .byte Cs4 , v020 + .byte W60 + .byte W12 + .byte Dn4 , v112 + .byte W12 + .byte Dn4 , v016 + .byte W12 + .byte Bn3 , v112 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W06 + .byte Bn2 + .byte W30 + .byte Gs3 , v092 + .byte W06 + .byte Bn2 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 , v112 + .byte W12 + .byte Gs3 , v016 + .byte W60 + .byte VOL , 75*mus_pokecen_mvl/mxv + .byte W12 + .byte N06 , En4 , v112 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte Gs4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W12 + .byte Gs4 + .byte W12 + .byte VOL , 67*mus_pokecen_mvl/mxv + .byte N06 , An3 , v092 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte Gs3 , v092 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W12 + .byte An4 , v016 + .byte W12 + .byte En5 , v100 + .byte W12 + .byte En5 , v016 + .byte W12 + .byte An4 , v112 + .byte W12 + .byte W12 + .byte Gs4 + .byte W12 + .byte Gs4 , v016 + .byte W12 + .byte En4 , v112 + .byte W12 + .byte Dn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gs3 , v092 + .byte W06 + .byte Bn2 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 , v112 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gs4 + .byte W12 + .byte Gs4 , v016 + .byte W12 + .byte Dn5 , v112 + .byte W12 + .byte Dn5 , v016 + .byte W12 + .byte Bn4 , v112 + .byte W12 + .byte An4 + .byte W12 + .byte An4 , v016 + .byte W84 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_pokecen_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_pokecen_4: + .byte KEYSH , mus_pokecen_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte VOL , 82*mus_pokecen_mvl/mxv + .byte PAN , c_v-32 + .byte W96 +mus_pokecen_4_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte N06 , Cs3 , v056 + .byte W06 + .byte Bn2 + .byte W06 + .byte An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N03 , Dn3 , v048 + .byte W03 + .byte N32 , Cs3 , v056 + .byte W21 + .byte VOL , 78*mus_pokecen_mvl/mxv + .byte W02 + .byte 70*mus_pokecen_mvl/mxv + .byte W03 + .byte 62*mus_pokecen_mvl/mxv + .byte W03 + .byte 60*mus_pokecen_mvl/mxv + .byte W04 + .byte 82*mus_pokecen_mvl/mxv + .byte N12 , En2 + .byte W12 + .byte An2 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte N36 , Dn3 + .byte W24 + .byte VOL , 78*mus_pokecen_mvl/mxv + .byte W02 + .byte 70*mus_pokecen_mvl/mxv + .byte W03 + .byte 62*mus_pokecen_mvl/mxv + .byte W03 + .byte 60*mus_pokecen_mvl/mxv + .byte W04 + .byte 82*mus_pokecen_mvl/mxv + .byte N12 , Bn2 + .byte W12 + .byte N02 , Gs2 + .byte W02 + .byte An2 + .byte W02 + .byte N08 , Gs2 + .byte W09 + .byte N06 , Gn2 + .byte W05 + .byte Gs2 + .byte W06 + .byte N12 , Ds2 + .byte W12 + .byte En2 + .byte W12 + .byte N03 , Cn3 , v048 + .byte W03 + .byte N32 , Bn2 , v056 + .byte W21 + .byte VOL , 78*mus_pokecen_mvl/mxv + .byte W02 + .byte 70*mus_pokecen_mvl/mxv + .byte W03 + .byte 62*mus_pokecen_mvl/mxv + .byte W03 + .byte 60*mus_pokecen_mvl/mxv + .byte W04 + .byte 82*mus_pokecen_mvl/mxv + .byte N12 , Gs2 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 , v060 + .byte W12 + .byte Fs3 , v064 + .byte W12 + .byte Gs3 , v068 + .byte W12 + .byte PAN , c_v-44 + .byte VOL , 57*mus_pokecen_mvl/mxv + .byte N06 , Dn4 , v064 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOL , 49*mus_pokecen_mvl/mxv + .byte N06 , Cs4 , v096 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte Fs3 + .byte W06 + .byte En3 + .byte W06 + .byte Cs4 , v096 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte Fs3 + .byte W06 + .byte En3 + .byte W06 + .byte En4 , v096 + .byte W06 + .byte Gs3 , v064 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte En4 , v096 + .byte W06 + .byte Gs3 , v064 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte An3 , v064 + .byte W06 + .byte En4 , v096 + .byte W06 + .byte An3 , v064 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte Fs3 , v064 + .byte W06 + .byte Cs4 , v096 + .byte W06 + .byte Fs3 , v064 + .byte W06 + .byte Bn3 , v096 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte Fs3 + .byte W06 + .byte En3 + .byte W06 + .byte Gs3 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte En3 + .byte W06 + .byte Bn3 , v096 + .byte W06 + .byte Dn3 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Bn3 , v096 + .byte W06 + .byte Dn3 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte An3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cs4 , v096 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte Cs4 , v096 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte Bn3 , v096 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte An3 , v096 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 , v096 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte Fs3 + .byte W06 + .byte En3 + .byte W06 + .byte Cs4 , v096 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte Fs3 + .byte W06 + .byte En3 + .byte W06 + .byte En4 , v096 + .byte W06 + .byte Gs3 , v064 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte En4 , v096 + .byte W06 + .byte Gs3 , v064 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte An3 , v064 + .byte W06 + .byte Cs4 , v096 + .byte W06 + .byte An3 , v064 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte Fs3 , v064 + .byte W06 + .byte En4 , v096 + .byte W06 + .byte Fs3 , v064 + .byte W06 + .byte Fs4 , v096 + .byte W06 + .byte An3 , v064 + .byte W06 + .byte Bn3 + .byte W06 + .byte An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte An3 + .byte W06 + .byte Fs4 , v096 + .byte W06 + .byte An3 , v064 + .byte W06 + .byte En4 , v096 + .byte W06 + .byte Dn3 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte Dn3 , v064 + .byte W06 + .byte Cs4 , v096 + .byte W06 + .byte Dn3 , v064 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte An3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cs4 , v096 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte Cs4 , v096 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte Bn3 , v096 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte An3 , v096 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte VOL , 81*mus_pokecen_mvl/mxv + .byte N06 , An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte GOTO + .word mus_pokecen_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_pokecen_5: + .byte KEYSH , mus_pokecen_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte LFOS , 44 + .byte VOL , 92*mus_pokecen_mvl/mxv + .byte MOD , 2 + .byte XCMD , xIECV , 12 + .byte xIECL , 8 + .byte N03 , Cs5 , v068 + .byte W06 + .byte Cs5 , v016 + .byte W06 + .byte En5 , v068 + .byte W06 + .byte En5 , v016 + .byte W06 + .byte An4 , v068 + .byte W06 + .byte An4 , v020 + .byte W06 + .byte Gs4 , v068 + .byte W06 + .byte Gs4 , v016 + .byte W06 + .byte Fs4 , v068 + .byte W06 + .byte Fs4 , v016 + .byte W06 + .byte Gs4 , v068 + .byte W06 + .byte Gs4 , v016 + .byte W06 + .byte An4 , v068 + .byte W06 + .byte An4 , v016 + .byte W06 + .byte Bn4 , v068 + .byte W06 + .byte Bn4 , v016 + .byte W06 +mus_pokecen_5_B1: + .byte W96 + .byte VOICE , 4 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 46*mus_pokecen_mvl/mxv + .byte N48 , En3 , v076 + .byte W48 + .byte N24 , An3 , v088 + .byte W24 + .byte N04 , Dn3 , v112 + .byte W04 + .byte En3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Gs3 + .byte W04 + .byte An3 + .byte W04 + .byte Bn3 + .byte W04 + .byte PAN , c_v+63 + .byte N48 , Cs4 + .byte W24 + .byte MOD , 10 + .byte W24 + .byte 2 + .byte N36 , En4 + .byte W24 + .byte MOD , 10 + .byte W12 + .byte 2 + .byte N06 , Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N12 , Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Bn3 + .byte W18 + .byte N06 , Gs3 + .byte W06 + .byte N02 , Cs4 + .byte W02 + .byte Dn4 + .byte W02 + .byte N08 , Cs4 + .byte W09 + .byte N06 , Bn3 + .byte W05 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N12 , Bn3 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N02 , En4 + .byte W02 + .byte Fs4 + .byte W02 + .byte N08 , En4 + .byte W09 + .byte N06 , Cs4 + .byte W05 + .byte Bn3 + .byte W06 + .byte N48 , Cs4 + .byte W24 + .byte MOD , 11 + .byte W24 + .byte 2 + .byte N48 , En4 + .byte W24 + .byte MOD , 11 + .byte W24 + .byte 2 + .byte N06 , Dn4 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fs3 + .byte W06 + .byte En4 + .byte W06 + .byte An3 + .byte W06 + .byte Fs4 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte An3 + .byte W06 + .byte Fs4 + .byte W06 + .byte An3 + .byte W06 + .byte N03 , Gn4 + .byte W03 + .byte N21 , Gs4 + .byte W09 + .byte MOD , 8 + .byte W12 + .byte 2 + .byte N12 , Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte VOL , 34*mus_pokecen_mvl/mxv + .byte N24 , An4 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 2 + .byte N24 , Gs4 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 2 + .byte N12 , En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N24 , Cs4 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 2 + .byte W24 + .byte GOTO + .word mus_pokecen_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_pokecen_6: + .byte KEYSH , mus_pokecen_key+0 + .byte VOICE , 3 + .byte PAN , c_v-63 + .byte VOL , 69*mus_pokecen_mvl/mxv + .byte N03 , En4 , v096 + .byte W06 + .byte En4 , v016 + .byte W06 + .byte An4 , v080 + .byte W06 + .byte An4 , v016 + .byte W06 + .byte Cs4 , v064 + .byte W06 + .byte Cs4 , v020 + .byte W06 + .byte Bn3 , v064 + .byte W06 + .byte Bn3 , v016 + .byte W06 + .byte An3 , v064 + .byte W06 + .byte An3 , v016 + .byte W06 + .byte Bn3 , v064 + .byte W06 + .byte Bn3 , v016 + .byte W06 + .byte Cs4 , v072 + .byte W06 + .byte Cs4 , v016 + .byte W06 + .byte En4 , v080 + .byte W06 + .byte En4 , v016 + .byte W06 +mus_pokecen_6_B1: + .byte VOL , 69*mus_pokecen_mvl/mxv + .byte N06 , An4 , v068 + .byte W06 + .byte En4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte Cs5 + .byte W06 + .byte VOICE , 6 + .byte PAN , c_v+63 + .byte W03 + .byte N03 , Ds5 + .byte W03 + .byte N06 , En5 + .byte W12 + .byte En5 , v016 + .byte W12 + .byte En5 , v064 + .byte W12 + .byte N02 , Dn5 , v068 + .byte W02 + .byte En5 + .byte W02 + .byte N08 , Dn5 + .byte W09 + .byte N06 , Cs5 + .byte W05 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte PAN , c_v-63 + .byte W03 + .byte VOICE , 3 + .byte W03 + .byte N06 , Dn5 + .byte W12 + .byte Dn5 , v016 + .byte W12 + .byte Bn4 , v068 + .byte W12 + .byte Gs4 + .byte W12 + .byte En4 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOICE , 6 + .byte PAN , c_v+63 + .byte N06 , Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte VOICE , 3 + .byte PAN , c_v-63 + .byte N06 , Gs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte VOICE , 6 + .byte PAN , c_v+63 + .byte W03 + .byte N03 , Cn5 + .byte W03 + .byte N06 , Cs5 + .byte W12 + .byte Cs5 , v016 + .byte W12 + .byte Bn4 , v068 + .byte W12 + .byte Bn4 , v016 + .byte W12 + .byte Gs4 , v068 + .byte W12 + .byte An4 + .byte W12 + .byte VOICE , 3 + .byte PAN , c_v+0 + .byte N24 , Cs5 + .byte W36 + .byte VOL , 57*mus_pokecen_mvl/mxv + .byte W21 + .byte N03 , As4 , v096 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte VOL , 44*mus_pokecen_mvl/mxv + .byte N06 , An3 + .byte W06 + .byte En3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W09 + .byte N03 , Ds4 + .byte W03 + .byte N06 , En4 + .byte W12 + .byte En4 , v016 + .byte W12 + .byte Dn4 , v096 + .byte W12 + .byte Dn4 , v016 + .byte W12 + .byte Cs4 , v096 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Dn4 , v016 + .byte W12 + .byte Bn3 , v096 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte En3 + .byte W12 + .byte Gs3 + .byte W06 + .byte Bn2 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W09 + .byte N03 , Cn4 + .byte W03 + .byte N06 , Cs4 + .byte W12 + .byte Cs4 , v016 + .byte W12 + .byte Bn3 , v096 + .byte W12 + .byte Bn3 , v016 + .byte W12 + .byte Gs3 , v096 + .byte W12 + .byte N12 , An3 , v112 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte An3 , v096 + .byte W12 + .byte Bn3 , v112 + .byte W12 + .byte N04 , Cs4 , v080 + .byte W04 + .byte Dn4 , v084 + .byte W04 + .byte En4 , v092 + .byte W04 + .byte Fs4 , v096 + .byte W04 + .byte Gs4 , v100 + .byte W04 + .byte An4 , v108 + .byte W04 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_pokecen_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_pokecen_7: + .byte KEYSH , mus_pokecen_key+0 + .byte VOICE , 5 + .byte VOL , 92*mus_pokecen_mvl/mxv + .byte XCMD , xIECV , 9 + .byte xIECL , 8 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte W96 +mus_pokecen_7_B1: +mus_pokecen_7_000: + .byte N06 , An1 , v127 + .byte W06 + .byte An1 , v036 + .byte W30 + .byte N03 , An1 , v127 + .byte W06 + .byte En1 + .byte W18 + .byte N06 , En2 + .byte W06 + .byte En2 , v036 + .byte W18 + .byte An1 , v127 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte PEND +mus_pokecen_7_001: + .byte N06 , Bn1 , v127 + .byte W06 + .byte Bn1 , v036 + .byte W30 + .byte N03 , Bn1 , v127 + .byte W06 + .byte En1 + .byte W18 + .byte N06 , Dn2 + .byte W06 + .byte Dn2 , v036 + .byte W18 + .byte En1 , v127 + .byte W06 + .byte Fs1 + .byte W06 + .byte PEND + .byte Bn1 + .byte W06 + .byte Bn1 , v036 + .byte W30 + .byte N03 , Bn1 , v127 + .byte W06 + .byte Gs1 + .byte W18 + .byte N06 , Dn2 + .byte W06 + .byte Dn2 , v036 + .byte W18 + .byte Gs1 , v127 + .byte W06 + .byte Gs1 , v036 + .byte W06 + .byte An1 , v127 + .byte W06 + .byte An1 , v036 + .byte W30 + .byte N03 , An1 , v127 + .byte W06 + .byte En1 + .byte W06 + .byte An1 + .byte W06 + .byte En1 + .byte W06 + .byte N06 , Cs2 + .byte W06 + .byte Cs2 , v036 + .byte W18 + .byte Cs2 , v127 + .byte W06 + .byte Cs2 , v036 + .byte W06 + .byte PATT + .word mus_pokecen_7_000 + .byte PATT + .word mus_pokecen_7_001 + .byte N06 , Bn1 , v127 + .byte W06 + .byte Bn1 , v036 + .byte W30 + .byte N03 , Bn1 , v127 + .byte W06 + .byte Gs1 + .byte W18 + .byte N06 , Dn2 + .byte W06 + .byte Dn2 , v036 + .byte W18 + .byte Dn2 , v127 + .byte W06 + .byte Dn2 , v036 + .byte W06 + .byte An1 , v127 + .byte W06 + .byte An1 , v036 + .byte W30 + .byte N03 , An1 , v127 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte En1 + .byte W06 + .byte N06 , En2 + .byte W06 + .byte En2 , v036 + .byte W18 + .byte En2 , v127 + .byte W06 + .byte Gs1 + .byte W06 + .byte N24 , An1 + .byte W06 + .byte VOL , 87*mus_pokecen_mvl/mxv + .byte W03 + .byte 81*mus_pokecen_mvl/mxv + .byte W03 + .byte 75*mus_pokecen_mvl/mxv + .byte MOD , 8 + .byte W03 + .byte VOL , 68*mus_pokecen_mvl/mxv + .byte W03 + .byte 63*mus_pokecen_mvl/mxv + .byte W03 + .byte 57*mus_pokecen_mvl/mxv + .byte W03 + .byte 52*mus_pokecen_mvl/mxv + .byte MOD , 0 + .byte N06 , An1 , v036 + .byte W09 + .byte VOL , 92*mus_pokecen_mvl/mxv + .byte W03 + .byte N03 , En1 , v127 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Cs2 + .byte W06 + .byte VOL , 87*mus_pokecen_mvl/mxv + .byte W03 + .byte 81*mus_pokecen_mvl/mxv + .byte W03 + .byte 75*mus_pokecen_mvl/mxv + .byte MOD , 8 + .byte W03 + .byte VOL , 68*mus_pokecen_mvl/mxv + .byte W03 + .byte 63*mus_pokecen_mvl/mxv + .byte W03 + .byte 57*mus_pokecen_mvl/mxv + .byte W03 + .byte 52*mus_pokecen_mvl/mxv + .byte MOD , 0 + .byte N06 , Cs2 , v036 + .byte W09 + .byte VOL , 92*mus_pokecen_mvl/mxv + .byte W03 + .byte N06 , An1 , v127 + .byte W12 + .byte N24 , Dn2 + .byte W06 + .byte VOL , 87*mus_pokecen_mvl/mxv + .byte W03 + .byte 81*mus_pokecen_mvl/mxv + .byte W03 + .byte 75*mus_pokecen_mvl/mxv + .byte MOD , 8 + .byte W03 + .byte VOL , 68*mus_pokecen_mvl/mxv + .byte W03 + .byte 63*mus_pokecen_mvl/mxv + .byte W03 + .byte 57*mus_pokecen_mvl/mxv + .byte W03 + .byte 52*mus_pokecen_mvl/mxv + .byte MOD , 0 + .byte N06 , Dn2 , v036 + .byte W09 + .byte VOL , 92*mus_pokecen_mvl/mxv + .byte W03 + .byte N03 , An1 , v127 + .byte W06 + .byte Dn2 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte N03 , En2 + .byte W12 + .byte N06 , En1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Fs1 , v036 + .byte W06 + .byte Gn1 , v127 + .byte W06 + .byte Gn1 , v036 + .byte W06 + .byte N24 , Gs1 , v127 + .byte W06 + .byte VOL , 87*mus_pokecen_mvl/mxv + .byte W03 + .byte 81*mus_pokecen_mvl/mxv + .byte W03 + .byte 75*mus_pokecen_mvl/mxv + .byte MOD , 8 + .byte W03 + .byte VOL , 68*mus_pokecen_mvl/mxv + .byte W03 + .byte 63*mus_pokecen_mvl/mxv + .byte W03 + .byte 57*mus_pokecen_mvl/mxv + .byte W03 + .byte 52*mus_pokecen_mvl/mxv + .byte MOD , 0 + .byte N06 , Gs1 , v036 + .byte W09 + .byte VOL , 92*mus_pokecen_mvl/mxv + .byte W03 + .byte N03 , En1 , v127 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Bn1 + .byte W06 + .byte VOL , 87*mus_pokecen_mvl/mxv + .byte W03 + .byte 81*mus_pokecen_mvl/mxv + .byte W03 + .byte 75*mus_pokecen_mvl/mxv + .byte MOD , 8 + .byte W03 + .byte VOL , 68*mus_pokecen_mvl/mxv + .byte W03 + .byte 63*mus_pokecen_mvl/mxv + .byte W03 + .byte 57*mus_pokecen_mvl/mxv + .byte W03 + .byte 92*mus_pokecen_mvl/mxv + .byte MOD , 0 + .byte N24 , Gs1 + .byte W06 + .byte VOL , 87*mus_pokecen_mvl/mxv + .byte W03 + .byte 81*mus_pokecen_mvl/mxv + .byte W03 + .byte 75*mus_pokecen_mvl/mxv + .byte MOD , 8 + .byte W03 + .byte VOL , 68*mus_pokecen_mvl/mxv + .byte W03 + .byte 63*mus_pokecen_mvl/mxv + .byte W03 + .byte 57*mus_pokecen_mvl/mxv + .byte W03 + .byte 92*mus_pokecen_mvl/mxv + .byte MOD , 0 + .byte N24 , An1 + .byte W06 + .byte VOL , 87*mus_pokecen_mvl/mxv + .byte W03 + .byte 81*mus_pokecen_mvl/mxv + .byte W03 + .byte 75*mus_pokecen_mvl/mxv + .byte MOD , 8 + .byte W03 + .byte VOL , 68*mus_pokecen_mvl/mxv + .byte W03 + .byte 63*mus_pokecen_mvl/mxv + .byte W03 + .byte 57*mus_pokecen_mvl/mxv + .byte W03 + .byte 52*mus_pokecen_mvl/mxv + .byte MOD , 0 + .byte N06 , An1 , v036 + .byte W09 + .byte VOL , 92*mus_pokecen_mvl/mxv + .byte W03 + .byte N03 , An1 , v127 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cs2 + .byte W06 + .byte N03 , En2 + .byte W12 + .byte N06 , En1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Fs1 , v036 + .byte W06 + .byte Gs1 , v127 + .byte W06 + .byte Gs1 , v036 + .byte W06 + .byte N24 , An1 , v127 + .byte W06 + .byte VOL , 87*mus_pokecen_mvl/mxv + .byte W03 + .byte 81*mus_pokecen_mvl/mxv + .byte W03 + .byte 75*mus_pokecen_mvl/mxv + .byte MOD , 8 + .byte W03 + .byte VOL , 68*mus_pokecen_mvl/mxv + .byte W03 + .byte 63*mus_pokecen_mvl/mxv + .byte W03 + .byte 57*mus_pokecen_mvl/mxv + .byte W03 + .byte 52*mus_pokecen_mvl/mxv + .byte MOD , 0 + .byte N06 , An1 , v036 + .byte W09 + .byte VOL , 92*mus_pokecen_mvl/mxv + .byte W03 + .byte N03 , En1 , v127 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Cs2 + .byte W06 + .byte VOL , 87*mus_pokecen_mvl/mxv + .byte W03 + .byte 81*mus_pokecen_mvl/mxv + .byte W03 + .byte 75*mus_pokecen_mvl/mxv + .byte MOD , 8 + .byte W03 + .byte VOL , 68*mus_pokecen_mvl/mxv + .byte W03 + .byte 63*mus_pokecen_mvl/mxv + .byte W03 + .byte 57*mus_pokecen_mvl/mxv + .byte W03 + .byte 52*mus_pokecen_mvl/mxv + .byte MOD , 0 + .byte N06 , Cs2 , v036 + .byte W09 + .byte VOL , 92*mus_pokecen_mvl/mxv + .byte W03 + .byte N03 , An1 , v127 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Bn1 + .byte W06 + .byte VOL , 87*mus_pokecen_mvl/mxv + .byte W03 + .byte 81*mus_pokecen_mvl/mxv + .byte W03 + .byte 75*mus_pokecen_mvl/mxv + .byte MOD , 8 + .byte W03 + .byte VOL , 68*mus_pokecen_mvl/mxv + .byte W03 + .byte 63*mus_pokecen_mvl/mxv + .byte W03 + .byte 57*mus_pokecen_mvl/mxv + .byte W03 + .byte 52*mus_pokecen_mvl/mxv + .byte MOD , 0 + .byte N06 , Bn1 , v036 + .byte W09 + .byte VOL , 92*mus_pokecen_mvl/mxv + .byte W03 + .byte N06 , En1 , v127 + .byte W12 + .byte Dn1 + .byte W06 + .byte N03 , Dn2 + .byte W12 + .byte N06 , Dn1 + .byte W06 + .byte Fs1 + .byte W12 + .byte An1 + .byte W12 + .byte N24 , Gs1 + .byte W06 + .byte VOL , 87*mus_pokecen_mvl/mxv + .byte W03 + .byte 81*mus_pokecen_mvl/mxv + .byte W03 + .byte 75*mus_pokecen_mvl/mxv + .byte MOD , 8 + .byte W03 + .byte VOL , 68*mus_pokecen_mvl/mxv + .byte W03 + .byte 63*mus_pokecen_mvl/mxv + .byte W03 + .byte 57*mus_pokecen_mvl/mxv + .byte W03 + .byte 52*mus_pokecen_mvl/mxv + .byte MOD , 0 + .byte N06 , Gs1 , v036 + .byte W09 + .byte VOL , 92*mus_pokecen_mvl/mxv + .byte W03 + .byte N06 , En1 , v127 + .byte W12 + .byte N24 , Bn1 + .byte W06 + .byte VOL , 87*mus_pokecen_mvl/mxv + .byte W03 + .byte 81*mus_pokecen_mvl/mxv + .byte W03 + .byte 75*mus_pokecen_mvl/mxv + .byte MOD , 8 + .byte W03 + .byte VOL , 68*mus_pokecen_mvl/mxv + .byte W03 + .byte 63*mus_pokecen_mvl/mxv + .byte W03 + .byte 57*mus_pokecen_mvl/mxv + .byte W03 + .byte 92*mus_pokecen_mvl/mxv + .byte MOD , 0 + .byte N24 , Gs1 + .byte W06 + .byte VOL , 87*mus_pokecen_mvl/mxv + .byte W03 + .byte 81*mus_pokecen_mvl/mxv + .byte W03 + .byte 75*mus_pokecen_mvl/mxv + .byte MOD , 8 + .byte W03 + .byte VOL , 68*mus_pokecen_mvl/mxv + .byte W03 + .byte 63*mus_pokecen_mvl/mxv + .byte W03 + .byte 57*mus_pokecen_mvl/mxv + .byte W03 + .byte 92*mus_pokecen_mvl/mxv + .byte MOD , 0 + .byte N12 , An1 + .byte W06 + .byte VOL , 87*mus_pokecen_mvl/mxv + .byte W03 + .byte 81*mus_pokecen_mvl/mxv + .byte W03 + .byte 75*mus_pokecen_mvl/mxv + .byte N06 , An1 , v036 + .byte W03 + .byte VOL , 68*mus_pokecen_mvl/mxv + .byte W03 + .byte 63*mus_pokecen_mvl/mxv + .byte W03 + .byte 57*mus_pokecen_mvl/mxv + .byte W03 + .byte 52*mus_pokecen_mvl/mxv + .byte W09 + .byte 92*mus_pokecen_mvl/mxv + .byte W03 + .byte N03 , An1 , v127 + .byte W06 + .byte En1 + .byte W06 + .byte N06 , Cs2 + .byte W06 + .byte N03 , En2 + .byte W12 + .byte N06 , En1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Fs1 , v036 + .byte W06 + .byte Gs1 , v127 + .byte W06 + .byte Gs1 , v036 + .byte W06 + .byte GOTO + .word mus_pokecen_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_pokecen_8: + .byte KEYSH , mus_pokecen_key+0 + .byte VOICE , 45 + .byte VOL , 75*mus_pokecen_mvl/mxv + .byte W96 +mus_pokecen_8_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W12 + .byte N06 , Gs3 , v112 + .byte W12 + .byte An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte Bn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_pokecen_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_pokecen_9: + .byte KEYSH , mus_pokecen_key+0 + .byte VOICE , 127 + .byte PAN , c_v+0 + .byte VOL , 37*mus_pokecen_mvl/mxv + .byte N12 , Gs4 , v112 + .byte W12 + .byte N01 , Gn4 , v080 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte N12 , Gs4 , v112 + .byte W12 + .byte N01 , Gn4 , v080 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte Gn4 , v088 + .byte W04 + .byte Gn4 , v064 + .byte W04 + .byte N01 + .byte W04 + .byte N12 , Gs4 , v112 + .byte W12 + .byte N01 , Gn4 , v088 + .byte W04 + .byte Gn4 , v064 + .byte W04 + .byte N01 + .byte W04 + .byte Fn3 , v096 + .byte W06 + .byte Gs4 , v112 + .byte W06 +mus_pokecen_9_B1: +mus_pokecen_9_000: + .byte N01 , Gn4 , v112 + .byte W06 + .byte Gn4 , v072 + .byte W06 + .byte Gn4 , v088 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte N12 , Gs4 , v112 + .byte W12 + .byte N01 , Gn4 , v084 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte Gn4 , v084 + .byte W12 + .byte N12 , Gs4 , v112 + .byte W12 + .byte N01 , Gn4 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte Gn4 , v080 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte PEND + .byte PATT + .word mus_pokecen_9_000 + .byte PATT + .word mus_pokecen_9_000 + .byte N01 , Gn4 , v112 + .byte W06 + .byte Gn4 , v072 + .byte W06 + .byte Gn4 , v088 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte N12 , Gs4 , v112 + .byte W12 + .byte N01 , Gn4 , v084 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte Gn4 , v088 + .byte W04 + .byte Gn4 , v064 + .byte W04 + .byte N01 + .byte W04 + .byte N12 , Gs4 , v112 + .byte W12 + .byte N01 , Gn4 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte N12 , Gs4 , v112 + .byte W12 + .byte PATT + .word mus_pokecen_9_000 + .byte N01 , Gn4 , v112 + .byte W06 + .byte Gn4 , v072 + .byte W06 + .byte Gn4 , v088 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte N12 , Gs4 , v112 + .byte W12 + .byte N01 , Gn4 , v084 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte Gn4 , v088 + .byte W04 + .byte Gn4 , v064 + .byte W04 + .byte N01 + .byte W04 + .byte N12 , Gs4 , v112 + .byte W12 + .byte N12 + .byte W12 + .byte N01 , Gn4 , v084 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte PATT + .word mus_pokecen_9_000 + .byte N01 , Gn4 , v112 + .byte W06 + .byte Gn4 , v072 + .byte W06 + .byte Gn4 , v088 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte N12 , Gs4 , v112 + .byte W12 + .byte N01 , Gn4 , v084 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte Gn4 , v084 + .byte W12 + .byte N12 , Gs4 , v112 + .byte W12 + .byte N01 , Gn4 , v088 + .byte W04 + .byte Gn4 , v064 + .byte W04 + .byte N01 + .byte W04 + .byte N06 , Gs4 , v112 + .byte W06 + .byte N06 + .byte W06 +mus_pokecen_9_001: + .byte N01 , Gn4 , v112 + .byte W06 + .byte Gn4 , v072 + .byte W06 + .byte Gn4 , v088 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte N12 , Gs4 , v112 + .byte W12 + .byte N01 , Gn4 , v088 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte Gn4 , v084 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte N12 , Gs4 , v112 + .byte W12 + .byte N01 , Gn4 , v084 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte N12 , Gs4 , v112 + .byte W12 + .byte PEND + .byte PATT + .word mus_pokecen_9_001 + .byte PATT + .word mus_pokecen_9_001 + .byte PATT + .word mus_pokecen_9_001 + .byte PATT + .word mus_pokecen_9_001 + .byte PATT + .word mus_pokecen_9_001 + .byte N12 , Gs4 , v112 + .byte W36 + .byte N01 , Gn4 , v088 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte Gn4 , v088 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte Gn4 , v084 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte N12 , Gs4 , v112 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W48 + .byte N12 + .byte W12 + .byte N01 , Gn4 , v084 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte N12 , Gs4 , v112 + .byte W12 + .byte N01 , Gn4 , v080 + .byte W06 + .byte Gn4 , v064 + .byte W06 + .byte GOTO + .word mus_pokecen_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_pokecen: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_pokecen_pri @ Priority + .byte mus_pokecen_rev @ Reverb. + + .word mus_pokecen_grp + + .word mus_pokecen_1 + .word mus_pokecen_2 + .word mus_pokecen_3 + .word mus_pokecen_4 + .word mus_pokecen_5 + .word mus_pokecen_6 + .word mus_pokecen_7 + .word mus_pokecen_8 + .word mus_pokecen_9 + + .end diff --git a/sound/songs/mus_pyramid.s b/sound/songs/mus_pyramid.s new file mode 100644 index 0000000000..bf3041662d --- /dev/null +++ b/sound/songs/mus_pyramid.s @@ -0,0 +1,6154 @@ + .include "MPlayDef.s" + + .equ mus_pyramid_grp, voicegroup_8696470 + .equ mus_pyramid_pri, 0 + .equ mus_pyramid_rev, reverb_set+50 + .equ mus_pyramid_mvl, 127 + .equ mus_pyramid_key, 0 + .equ mus_pyramid_tbs, 1 + .equ mus_pyramid_exg, 0 + .equ mus_pyramid_cmp, 1 + + .section .rodata + .global mus_pyramid + .align 2 + +@********************** Track 1 **********************@ + +mus_pyramid_1: + .byte KEYSH , mus_pyramid_key+0 + .byte TEMPO , 106*mus_pyramid_tbs/2 + .byte VOICE , 46 + .byte LFOS , 44 + .byte PAN , c_v+4 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 39*mus_pyramid_mvl/mxv + .byte W24 + .byte W96 + .byte W48 + .byte N03 , Fn4 , v112 + .byte W03 + .byte Fs4 + .byte W03 + .byte An4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Fs5 + .byte W03 + .byte An5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Cs5 + .byte W03 + .byte Bn4 + .byte W03 + .byte An4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte W96 + .byte VOL , 55*mus_pyramid_mvl/mxv + .byte N03 , An3 , v084 + .byte W03 + .byte Cn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte An4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Cn5 + .byte W03 + .byte An4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Cn4 + .byte W03 + .byte Ds5 + .byte W03 + .byte Cn5 + .byte W03 + .byte An4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Cn4 + .byte W03 + .byte An3 + .byte W03 + .byte Cn5 + .byte W03 + .byte An4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Cn4 + .byte W03 + .byte An3 + .byte W03 + .byte Fs3 + .byte W03 +mus_pyramid_1_000: + .byte N03 , Ds3 , v084 + .byte W03 + .byte Cn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte An3 + .byte W03 + .byte Cn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte An4 + .byte W03 + .byte Cn5 + .byte W03 + .byte An4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Cn4 + .byte W03 + .byte An3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Ds5 , v112 + .byte W03 + .byte Cn5 + .byte W03 + .byte An4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Cn4 + .byte W03 + .byte An3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Cn3 + .byte W03 + .byte PEND +mus_pyramid_1_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 33*mus_pyramid_mvl/mxv + .byte N03 , An4 , v084 + .byte W03 + .byte Cn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Fs5 + .byte W03 + .byte An5 + .byte W03 + .byte Cn6 + .byte W03 + .byte Ds6 + .byte W03 + .byte Fn6 + .byte W03 + .byte Ds6 + .byte W03 + .byte Cn6 + .byte W03 + .byte An5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Cn5 + .byte W03 + .byte Ds6 + .byte W03 + .byte Cn6 + .byte W03 + .byte An5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Cn5 + .byte W03 + .byte An4 + .byte W03 + .byte Cn6 + .byte W03 + .byte An5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Cn5 + .byte W03 + .byte An4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Cn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte An4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Fs5 + .byte W03 + .byte An5 + .byte W03 + .byte Cn6 + .byte W03 + .byte An5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Cn5 + .byte W03 + .byte An4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Ds6 , v112 + .byte W03 + .byte Cn6 + .byte W03 + .byte An5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Cn5 + .byte W03 + .byte An4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Cn4 + .byte W03 + .byte VOL , 50*mus_pyramid_mvl/mxv + .byte N03 , An3 , v084 + .byte W03 + .byte Cn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte An4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Cn5 + .byte W03 + .byte An4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Cn4 + .byte W03 + .byte Ds5 + .byte W03 + .byte Cn5 + .byte W03 + .byte An4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Cn4 + .byte W03 + .byte An3 + .byte W03 + .byte Cn5 + .byte W03 + .byte An4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Cn4 + .byte W03 + .byte An3 + .byte W03 + .byte Fs3 + .byte W03 + .byte PATT + .word mus_pyramid_1_000 + .byte GOTO + .word mus_pyramid_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_pyramid_2: + .byte KEYSH , mus_pyramid_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N06 , Cn3 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , As2 + .byte W12 + .byte N24 , Fs2 + .byte W24 + .byte N06 , Cn3 + .byte W12 + .byte N48 , Fs3 + .byte W48 + .byte N06 , Ds3 + .byte W06 + .byte Bn2 + .byte W06 + .byte N48 , As2 + .byte W48 + .byte N24 , Bn2 + .byte W24 + .byte Cn3 + .byte W24 + .byte N03 , Fn4 + .byte W06 + .byte N03 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W30 + .byte VOL , 21*mus_pyramid_mvl/mxv + .byte N12 , Fn3 + .byte W03 + .byte VOL , 29*mus_pyramid_mvl/mxv + .byte W03 + .byte 39*mus_pyramid_mvl/mxv + .byte W02 + .byte 40*mus_pyramid_mvl/mxv + .byte W01 + .byte 46*mus_pyramid_mvl/mxv + .byte W03 + .byte 42*mus_pyramid_mvl/mxv + .byte N24 , Fn4 + .byte W03 + .byte VOL , 22*mus_pyramid_mvl/mxv + .byte W01 + .byte 24*mus_pyramid_mvl/mxv + .byte W02 + .byte 28*mus_pyramid_mvl/mxv + .byte W01 + .byte 30*mus_pyramid_mvl/mxv + .byte W01 + .byte 35*mus_pyramid_mvl/mxv + .byte W01 + .byte 42*mus_pyramid_mvl/mxv + .byte W01 + .byte 45*mus_pyramid_mvl/mxv + .byte W02 + .byte 49*mus_pyramid_mvl/mxv + .byte W01 + .byte 53*mus_pyramid_mvl/mxv + .byte W01 + .byte 56*mus_pyramid_mvl/mxv + .byte W01 + .byte 59*mus_pyramid_mvl/mxv + .byte W01 + .byte 64*mus_pyramid_mvl/mxv + .byte W02 + .byte 69*mus_pyramid_mvl/mxv + .byte W01 + .byte 70*mus_pyramid_mvl/mxv + .byte W05 + .byte 42*mus_pyramid_mvl/mxv + .byte PAN , c_v-32 + .byte W96 + .byte W96 +mus_pyramid_2_B1: + .byte VOL , 33*mus_pyramid_mvl/mxv + .byte PAN , c_v-32 + .byte N24 , Cn3 , v112 + .byte W12 + .byte VOL , 21*mus_pyramid_mvl/mxv + .byte W12 + .byte 33*mus_pyramid_mvl/mxv + .byte N24 , Ds3 + .byte W12 + .byte VOL , 21*mus_pyramid_mvl/mxv + .byte W12 + .byte 33*mus_pyramid_mvl/mxv + .byte N24 , Fn3 + .byte W12 + .byte VOL , 21*mus_pyramid_mvl/mxv + .byte W12 + .byte 33*mus_pyramid_mvl/mxv + .byte N24 , Fs3 + .byte W12 + .byte VOL , 21*mus_pyramid_mvl/mxv + .byte W12 + .byte N12 , Fn3 + .byte W12 + .byte VOL , 33*mus_pyramid_mvl/mxv + .byte N24 , An3 + .byte W12 + .byte VOL , 21*mus_pyramid_mvl/mxv + .byte W12 + .byte 33*mus_pyramid_mvl/mxv + .byte N03 , Fs3 + .byte W03 + .byte An3 + .byte W03 + .byte N06 , Fs3 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte N03 , Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte N06 , Ds3 + .byte W06 + .byte N12 , Cs3 + .byte W12 + .byte Cn3 + .byte W12 + .byte An2 + .byte W12 + .byte N36 , Fn3 + .byte W12 + .byte VOL , 24*mus_pyramid_mvl/mxv + .byte W24 + .byte 33*mus_pyramid_mvl/mxv + .byte N12 , Cn3 + .byte W12 + .byte N24 , An3 + .byte W12 + .byte VOL , 23*mus_pyramid_mvl/mxv + .byte W12 + .byte 33*mus_pyramid_mvl/mxv + .byte N03 , En3 + .byte W03 + .byte Fs3 + .byte W03 + .byte N06 , En3 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte N32 , Cn4 + .byte W12 + .byte VOL , 23*mus_pyramid_mvl/mxv + .byte W24 + .byte 33*mus_pyramid_mvl/mxv + .byte N12 , Ds4 + .byte W12 + .byte N03 , Cs4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N06 , Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte An3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Ds3 + .byte W06 +mus_pyramid_2_000: + .byte VOL , 33*mus_pyramid_mvl/mxv + .byte N24 , Cn3 , v112 + .byte W12 + .byte VOL , 21*mus_pyramid_mvl/mxv + .byte W12 + .byte 33*mus_pyramid_mvl/mxv + .byte N24 , Ds3 + .byte W12 + .byte VOL , 21*mus_pyramid_mvl/mxv + .byte W12 + .byte 33*mus_pyramid_mvl/mxv + .byte N24 , Fn3 + .byte W12 + .byte VOL , 21*mus_pyramid_mvl/mxv + .byte W12 + .byte 33*mus_pyramid_mvl/mxv + .byte N24 , Fs3 + .byte W12 + .byte VOL , 21*mus_pyramid_mvl/mxv + .byte W12 + .byte PEND + .byte 33*mus_pyramid_mvl/mxv + .byte N24 , An3 + .byte W12 + .byte VOL , 21*mus_pyramid_mvl/mxv + .byte W12 + .byte 33*mus_pyramid_mvl/mxv + .byte N24 , Fs3 + .byte W12 + .byte VOL , 21*mus_pyramid_mvl/mxv + .byte W12 + .byte 33*mus_pyramid_mvl/mxv + .byte N24 , Fn3 + .byte W12 + .byte VOL , 21*mus_pyramid_mvl/mxv + .byte W12 + .byte 33*mus_pyramid_mvl/mxv + .byte N24 , Ds3 + .byte W12 + .byte VOL , 21*mus_pyramid_mvl/mxv + .byte W12 + .byte PATT + .word mus_pyramid_2_000 + .byte VOL , 33*mus_pyramid_mvl/mxv + .byte N24 , Fn3 , v112 + .byte W12 + .byte VOL , 21*mus_pyramid_mvl/mxv + .byte W12 + .byte 33*mus_pyramid_mvl/mxv + .byte N22 , Ds3 + .byte W12 + .byte VOL , 21*mus_pyramid_mvl/mxv + .byte W12 + .byte 33*mus_pyramid_mvl/mxv + .byte N24 , Cn3 + .byte W12 + .byte VOL , 21*mus_pyramid_mvl/mxv + .byte W12 + .byte 33*mus_pyramid_mvl/mxv + .byte N24 , An2 + .byte W12 + .byte VOL , 21*mus_pyramid_mvl/mxv + .byte W12 + .byte 13*mus_pyramid_mvl/mxv + .byte N96 , Gn2 , v108 + .byte W12 + .byte VOL , 14*mus_pyramid_mvl/mxv + .byte W02 + .byte 19*mus_pyramid_mvl/mxv + .byte W03 + .byte 21*mus_pyramid_mvl/mxv + .byte W03 + .byte 24*mus_pyramid_mvl/mxv + .byte W01 + .byte PAN , c_v-46 + .byte W02 + .byte VOL , 26*mus_pyramid_mvl/mxv + .byte W03 + .byte 29*mus_pyramid_mvl/mxv + .byte W03 + .byte 31*mus_pyramid_mvl/mxv + .byte PAN , c_v-43 + .byte W03 + .byte VOL , 35*mus_pyramid_mvl/mxv + .byte PAN , c_v-36 + .byte W03 + .byte VOL , 37*mus_pyramid_mvl/mxv + .byte PAN , c_v-33 + .byte W03 + .byte VOL , 39*mus_pyramid_mvl/mxv + .byte PAN , c_v-29 + .byte W03 + .byte VOL , 40*mus_pyramid_mvl/mxv + .byte PAN , c_v-20 + .byte W03 + .byte VOL , 46*mus_pyramid_mvl/mxv + .byte PAN , c_v-13 + .byte W03 + .byte VOL , 49*mus_pyramid_mvl/mxv + .byte PAN , c_v-10 + .byte W03 + .byte VOL , 52*mus_pyramid_mvl/mxv + .byte PAN , c_v+3 + .byte W03 + .byte VOL , 55*mus_pyramid_mvl/mxv + .byte PAN , c_v+10 + .byte W03 + .byte VOL , 59*mus_pyramid_mvl/mxv + .byte PAN , c_v+19 + .byte W03 + .byte VOL , 63*mus_pyramid_mvl/mxv + .byte PAN , c_v+34 + .byte W03 + .byte VOL , 67*mus_pyramid_mvl/mxv + .byte PAN , c_v+41 + .byte W03 + .byte VOL , 74*mus_pyramid_mvl/mxv + .byte PAN , c_v+43 + .byte W03 + .byte VOL , 77*mus_pyramid_mvl/mxv + .byte W03 + .byte 79*mus_pyramid_mvl/mxv + .byte W24 + .byte W01 + .byte 21*mus_pyramid_mvl/mxv + .byte PAN , c_v+50 + .byte N48 , Cn3 , v064 + .byte W02 + .byte VOL , 25*mus_pyramid_mvl/mxv + .byte W01 + .byte PAN , c_v+44 + .byte W02 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte PAN , c_v+34 + .byte W03 + .byte VOL , 32*mus_pyramid_mvl/mxv + .byte PAN , c_v+28 + .byte W03 + .byte VOL , 36*mus_pyramid_mvl/mxv + .byte PAN , c_v+25 + .byte W03 + .byte VOL , 41*mus_pyramid_mvl/mxv + .byte PAN , c_v+21 + .byte W03 + .byte VOL , 47*mus_pyramid_mvl/mxv + .byte PAN , c_v+12 + .byte W03 + .byte VOL , 54*mus_pyramid_mvl/mxv + .byte PAN , c_v+4 + .byte W03 + .byte VOL , 57*mus_pyramid_mvl/mxv + .byte PAN , c_v-4 + .byte W03 + .byte VOL , 64*mus_pyramid_mvl/mxv + .byte PAN , c_v-16 + .byte W03 + .byte VOL , 67*mus_pyramid_mvl/mxv + .byte PAN , c_v-26 + .byte W03 + .byte VOL , 74*mus_pyramid_mvl/mxv + .byte PAN , c_v-36 + .byte W03 + .byte VOL , 79*mus_pyramid_mvl/mxv + .byte PAN , c_v-39 + .byte W13 + .byte VOL , 21*mus_pyramid_mvl/mxv + .byte PAN , c_v-37 + .byte N48 , Fn3 + .byte W02 + .byte VOL , 25*mus_pyramid_mvl/mxv + .byte PAN , c_v-29 + .byte W03 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte PAN , c_v-23 + .byte W03 + .byte VOL , 32*mus_pyramid_mvl/mxv + .byte PAN , c_v-10 + .byte W03 + .byte VOL , 36*mus_pyramid_mvl/mxv + .byte PAN , c_v-7 + .byte W03 + .byte VOL , 41*mus_pyramid_mvl/mxv + .byte PAN , c_v+3 + .byte W03 + .byte VOL , 47*mus_pyramid_mvl/mxv + .byte PAN , c_v+12 + .byte W03 + .byte VOL , 54*mus_pyramid_mvl/mxv + .byte PAN , c_v+21 + .byte W03 + .byte VOL , 57*mus_pyramid_mvl/mxv + .byte PAN , c_v+35 + .byte W03 + .byte VOL , 64*mus_pyramid_mvl/mxv + .byte PAN , c_v+47 + .byte W03 + .byte VOL , 67*mus_pyramid_mvl/mxv + .byte W03 + .byte 74*mus_pyramid_mvl/mxv + .byte W03 + .byte 79*mus_pyramid_mvl/mxv + .byte W13 + .byte VOICE , 60 + .byte VOL , 41*mus_pyramid_mvl/mxv + .byte PAN , c_v-32 + .byte W48 + .byte N06 , Ds3 , v112 + .byte W12 + .byte As2 + .byte W12 + .byte N24 , As3 + .byte W12 + .byte MOD , 8 + .byte VOL , 27*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 40*mus_pyramid_mvl/mxv + .byte N06 , Gn3 + .byte W12 + .byte N36 , An3 + .byte W12 + .byte MOD , 7 + .byte VOL , 27*mus_pyramid_mvl/mxv + .byte W24 + .byte VOICE , 48 + .byte VOL , 33*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v-40 + .byte N06 , Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte PAN , c_v-23 + .byte N06 , En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte PAN , c_v-7 + .byte N06 , Gn4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , An4 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , As4 + .byte W06 + .byte PAN , c_v+28 + .byte N06 , Cn5 + .byte W06 + .byte PAN , c_v-32 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 48 + .byte N24 , Fn4 + .byte W12 + .byte VOL , 19*mus_pyramid_mvl/mxv + .byte W12 + .byte 33*mus_pyramid_mvl/mxv + .byte N24 , En4 + .byte W12 + .byte VOL , 19*mus_pyramid_mvl/mxv + .byte W12 + .byte 33*mus_pyramid_mvl/mxv + .byte N24 , Cs4 + .byte W12 + .byte VOL , 19*mus_pyramid_mvl/mxv + .byte W12 + .byte 33*mus_pyramid_mvl/mxv + .byte N24 , As3 + .byte W12 + .byte VOL , 19*mus_pyramid_mvl/mxv + .byte W12 + .byte 38*mus_pyramid_mvl/mxv + .byte N03 , Fn5 , v084 + .byte W03 + .byte Fn5 , v016 + .byte W03 + .byte Ds5 , v080 + .byte W03 + .byte Ds5 , v016 + .byte W03 + .byte Cn5 , v076 + .byte W03 + .byte Cn5 , v016 + .byte W03 + .byte An4 , v072 + .byte W03 + .byte An4 , v016 + .byte W03 + .byte Bn4 , v068 + .byte W03 + .byte Bn4 , v016 + .byte W03 + .byte An4 , v040 + .byte W03 + .byte An4 , v016 + .byte W03 + .byte Fn4 , v040 + .byte W03 + .byte Fn4 , v016 + .byte W03 + .byte Ds4 , v040 + .byte W03 + .byte Ds4 , v016 + .byte W03 + .byte Fn4 , v040 + .byte W03 + .byte Fn4 , v016 + .byte W03 + .byte Bn4 , v044 + .byte W03 + .byte Bn4 , v016 + .byte W03 + .byte An4 , v044 + .byte W03 + .byte An4 , v016 + .byte W03 + .byte Ds5 , v044 + .byte W03 + .byte Ds5 , v016 + .byte W03 + .byte Bn4 , v044 + .byte W03 + .byte Bn4 , v016 + .byte W03 + .byte Fn5 , v064 + .byte W03 + .byte Fn5 , v016 + .byte W03 + .byte Ds5 , v088 + .byte W03 + .byte Ds5 , v016 + .byte W03 + .byte An5 , v112 + .byte W03 + .byte An5 , v016 + .byte W03 + .byte Gs5 , v088 + .byte W03 + .byte Gs5 , v016 + .byte W03 + .byte Fn5 , v080 + .byte W03 + .byte Fn5 , v016 + .byte W03 + .byte Dn5 , v072 + .byte W03 + .byte Dn5 , v016 + .byte W03 + .byte Bn4 , v064 + .byte W03 + .byte Bn4 , v016 + .byte W03 + .byte Dn5 , v056 + .byte W03 + .byte Dn5 , v016 + .byte W03 + .byte Bn4 , v048 + .byte W03 + .byte Bn4 , v016 + .byte W03 + .byte Gs4 , v052 + .byte W03 + .byte Gs4 , v016 + .byte W03 + .byte Fn4 , v052 + .byte W03 + .byte Fn4 , v016 + .byte W03 + .byte Gs4 , v052 + .byte W03 + .byte Gs4 , v016 + .byte W03 + .byte Dn5 , v056 + .byte W03 + .byte Dn5 , v016 + .byte W03 + .byte Bn4 , v056 + .byte W03 + .byte Bn4 , v016 + .byte W03 + .byte Fn5 , v056 + .byte W03 + .byte Fn5 , v016 + .byte W03 + .byte Dn5 , v060 + .byte W03 + .byte Dn5 , v016 + .byte W03 + .byte Gs5 , v072 + .byte W03 + .byte Gs5 , v016 + .byte W03 + .byte Fn5 , v088 + .byte W03 + .byte Fn5 , v016 + .byte W03 + .byte Bn5 , v104 + .byte W03 + .byte Bn5 , v016 + .byte W03 + .byte An5 , v088 + .byte W03 + .byte An5 , v016 + .byte W03 + .byte Fs5 , v084 + .byte W03 + .byte Fs5 , v016 + .byte W03 + .byte Ds5 , v080 + .byte W03 + .byte Ds5 , v016 + .byte W03 + .byte Cn5 , v072 + .byte W03 + .byte Cn5 , v016 + .byte W03 + .byte Ds5 , v068 + .byte W03 + .byte Ds5 , v016 + .byte W03 + .byte Cn5 , v044 + .byte W03 + .byte Cn5 , v016 + .byte W03 + .byte An4 , v044 + .byte W03 + .byte An4 , v016 + .byte W03 + .byte Fs4 , v048 + .byte W03 + .byte Fs4 , v016 + .byte W03 + .byte An4 , v048 + .byte W03 + .byte An4 , v016 + .byte W03 + .byte Ds5 , v048 + .byte W03 + .byte Ds5 , v016 + .byte W03 + .byte Cn5 , v048 + .byte W03 + .byte Cn5 , v016 + .byte W03 + .byte Fs5 , v048 + .byte W03 + .byte Fs5 , v016 + .byte W03 + .byte Ds5 , v052 + .byte W03 + .byte Ds5 , v016 + .byte W03 + .byte An5 , v076 + .byte W03 + .byte An5 , v016 + .byte W03 + .byte Fs5 , v088 + .byte W03 + .byte Fs5 , v016 + .byte W03 + .byte Cn6 , v096 + .byte W03 + .byte Cn6 , v016 + .byte W03 + .byte Bn5 , v076 + .byte W03 + .byte Bn5 , v016 + .byte W03 + .byte Gs5 , v068 + .byte W03 + .byte Gs5 , v016 + .byte W03 + .byte Fn5 , v056 + .byte W03 + .byte Fn5 , v016 + .byte W03 + .byte Dn5 , v048 + .byte W03 + .byte Dn5 , v016 + .byte W03 + .byte Fn5 , v044 + .byte W03 + .byte Fn5 , v016 + .byte W03 + .byte Dn5 , v048 + .byte W03 + .byte Dn5 , v016 + .byte W03 + .byte Bn4 , v052 + .byte W03 + .byte Bn4 , v016 + .byte W03 + .byte Gs4 , v052 + .byte W03 + .byte Gs4 , v016 + .byte W03 + .byte Bn4 , v056 + .byte W03 + .byte Bn4 , v016 + .byte W03 + .byte Fn5 , v060 + .byte W03 + .byte Fn5 , v016 + .byte W03 + .byte Dn5 , v060 + .byte W03 + .byte Dn5 , v016 + .byte W03 + .byte Gs5 , v064 + .byte W03 + .byte Gs5 , v016 + .byte W03 + .byte Fn5 , v076 + .byte W03 + .byte Fn5 , v016 + .byte W03 + .byte Bn5 , v088 + .byte W03 + .byte Bn5 , v016 + .byte W03 + .byte Gs5 , v096 + .byte W03 + .byte Gs5 , v016 + .byte W03 + .byte Dn6 , v108 + .byte W03 + .byte Dn6 , v016 + .byte W03 + .byte N24 , Fn4 , v064 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , Ds4 , v080 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Bn3 , v112 + .byte W24 + .byte VOL , 13*mus_pyramid_mvl/mxv + .byte PAN , c_v-48 + .byte N24 , An3 + .byte W01 + .byte VOL , 14*mus_pyramid_mvl/mxv + .byte W01 + .byte 19*mus_pyramid_mvl/mxv + .byte W01 + .byte 22*mus_pyramid_mvl/mxv + .byte W01 + .byte 28*mus_pyramid_mvl/mxv + .byte W02 + .byte 33*mus_pyramid_mvl/mxv + .byte W01 + .byte 35*mus_pyramid_mvl/mxv + .byte W01 + .byte 39*mus_pyramid_mvl/mxv + .byte W01 + .byte 44*mus_pyramid_mvl/mxv + .byte W01 + .byte 49*mus_pyramid_mvl/mxv + .byte W02 + .byte 52*mus_pyramid_mvl/mxv + .byte W01 + .byte 56*mus_pyramid_mvl/mxv + .byte W02 + .byte 61*mus_pyramid_mvl/mxv + .byte W09 + .byte PAN , c_v-32 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_pyramid_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_pyramid_3: + .byte KEYSH , mus_pyramid_key+0 + .byte VOICE , 87 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+2 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte N03 , Fn2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Cn2 + .byte W12 + .byte N24 , As1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte Bn1 + .byte W12 + .byte Cn2 + .byte W24 + .byte N12 + .byte W24 + .byte Bn1 + .byte W24 + .byte As1 + .byte W24 + .byte MOD , 0 + .byte N03 , An1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Fn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N03 , An1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Bn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N06 , An1 + .byte W12 + .byte N12 , Fn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte VOL , 70*mus_pyramid_mvl/mxv + .byte N12 , An1 + .byte W12 + .byte An2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte N06 , Fn1 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , Fs1 + .byte W12 +mus_pyramid_3_000: + .byte N06 , Fn1 , v112 + .byte W24 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 , Fn1 + .byte W12 + .byte N12 , Fs1 + .byte W12 + .byte PEND +mus_pyramid_3_B1: +mus_pyramid_3_001: + .byte N06 , Fn1 , v112 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , Fs1 + .byte W12 + .byte PEND + .byte PATT + .word mus_pyramid_3_000 + .byte N06 , Fn1 , v112 + .byte W24 + .byte N06 + .byte W12 + .byte Fn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte Fn1 + .byte W24 + .byte N06 + .byte W12 + .byte Fs2 + .byte W06 + .byte Cn2 + .byte W06 + .byte Fn1 + .byte W24 + .byte N06 + .byte W12 + .byte An2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fn1 + .byte W06 + .byte Fn2 + .byte W06 + .byte N12 , Cn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N06 , Fs2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte An2 + .byte W12 + .byte Fn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte Fn1 + .byte W12 + .byte Cn3 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fn1 + .byte W12 + .byte N12 , Ds2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte N12 , Fs2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N06 , Fn2 + .byte W12 + .byte Ds2 + .byte W06 + .byte Fs1 + .byte W06 + .byte Fn1 + .byte W12 + .byte An2 + .byte W06 + .byte Fs2 + .byte W06 + .byte N03 , Ds2 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N06 , Fs2 + .byte W06 + .byte N03 , An2 + .byte W03 + .byte Fs2 + .byte W03 + .byte N12 , Ds2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N06 , Fn1 + .byte W12 + .byte Fs2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Fn1 + .byte W12 + .byte An2 + .byte W06 + .byte Fn2 + .byte W06 + .byte N03 , Cn3 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Fs1 + .byte W12 + .byte N12 , An1 + .byte W12 + .byte N06 , Fn1 + .byte W12 + .byte N12 , Fn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N03 + .byte W02 + .byte An2 + .byte W02 + .byte N06 , Fn2 + .byte W08 + .byte N12 , Cn2 + .byte W12 + .byte N06 , Fn2 + .byte W12 + .byte N21 , An2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte W12 + .byte N06 , Ds2 + .byte W06 + .byte N06 + .byte W06 +mus_pyramid_3_002: + .byte N12 , Ds2 , v112 + .byte W12 + .byte N84 , Ds1 + .byte W48 + .byte MOD , 6 + .byte W36 + .byte PEND + .byte 0 + .byte W84 + .byte N12 , Fs1 + .byte N06 , Ds2 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word mus_pyramid_3_002 + .byte MOD , 0 + .byte W48 + .byte N24 , Cn2 , v112 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N18 , Fn1 + .byte W09 + .byte MOD , 10 + .byte W09 + .byte 0 + .byte N06 , An1 + .byte W06 +mus_pyramid_3_003: + .byte N06 , As1 , v112 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn2 + .byte W06 + .byte Dn2 + .byte W06 + .byte PEND + .byte Fn1 + .byte W06 + .byte N03 , Cn2 + .byte W12 + .byte N06 , Fn1 + .byte W12 + .byte Fn2 + .byte W18 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte N03 , Fn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte PATT + .word mus_pyramid_3_003 + .byte N06 , Fn1 , v112 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N06 , Cn2 + .byte W18 + .byte Gn2 + .byte W12 + .byte Cn2 + .byte W06 + .byte An2 + .byte W06 + .byte N03 , As2 + .byte W06 + .byte N06 , Fn2 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte PATT + .word mus_pyramid_3_003 + .byte N03 , Fn1 , v112 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Ds2 + .byte W18 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte N03 , Fn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte As1 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte N24 , Fn1 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , En1 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , As1 + .byte W06 + .byte Cs2 + .byte W06 + .byte N24 , En2 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Gn2 + .byte W12 + .byte VOICE , 84 + .byte VOL , 70*mus_pyramid_mvl/mxv + .byte N06 , Fn1 , v084 + .byte W06 + .byte An1 , v080 + .byte W06 + .byte Gs1 , v076 + .byte W06 + .byte Gn1 , v072 + .byte W06 + .byte Cn2 , v068 + .byte W06 + .byte Bn1 , v052 + .byte W06 + .byte As1 + .byte W06 + .byte En2 , v056 + .byte W06 + .byte Ds2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fs2 , v060 + .byte W06 + .byte Fn2 + .byte W06 + .byte En2 , v076 + .byte W06 + .byte Ds2 , v084 + .byte W06 + .byte En2 , v092 + .byte W06 + .byte Fn1 , v088 + .byte W06 + .byte An1 , v080 + .byte W06 + .byte Gs1 , v072 + .byte W06 + .byte Gn1 , v064 + .byte W06 + .byte Cn2 , v056 + .byte W06 + .byte Bn1 + .byte W06 + .byte As1 + .byte W06 + .byte En2 , v060 + .byte W06 + .byte Ds2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Fn2 , v072 + .byte W06 + .byte En2 , v076 + .byte W06 + .byte Ds2 , v084 + .byte W06 + .byte En2 , v096 + .byte W06 + .byte Fn1 , v088 + .byte W06 + .byte An1 , v084 + .byte W06 + .byte Gs1 , v080 + .byte W06 + .byte Gn1 , v072 + .byte W06 + .byte Cn2 , v068 + .byte W06 + .byte Bn1 , v044 + .byte W06 + .byte As1 + .byte W06 + .byte En2 , v048 + .byte W06 + .byte Ds2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Fn2 , v052 + .byte W06 + .byte Gs2 , v072 + .byte W06 + .byte Gn2 , v084 + .byte W06 + .byte Fs2 , v092 + .byte W06 + .byte Fn1 , v076 + .byte W06 + .byte An1 , v068 + .byte W06 + .byte Gs1 , v056 + .byte W06 + .byte Gn1 , v048 + .byte W06 + .byte Cn2 , v044 + .byte W06 + .byte Bn1 , v048 + .byte W06 + .byte As1 , v052 + .byte W06 + .byte En2 + .byte W06 + .byte Ds2 , v056 + .byte W06 + .byte Dn2 , v060 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fs2 , v064 + .byte W06 + .byte Fn2 , v076 + .byte W06 + .byte En2 , v088 + .byte W06 + .byte Cs2 , v096 + .byte W06 + .byte As1 , v108 + .byte W06 + .byte VOICE , 87 + .byte MOD , 0 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte N06 , An1 , v112 + .byte W12 + .byte N12 , Fn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N06 , Ds1 + .byte W12 + .byte N12 , Bn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N02 , An1 + .byte W06 + .byte N02 + .byte W06 + .byte N12 , Fn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N24 , An2 + .byte W18 + .byte MOD , 8 + .byte W06 + .byte VOICE , 87 + .byte MOD , 0 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte N06 , Fn1 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , Fs1 + .byte W12 + .byte PATT + .word mus_pyramid_3_000 + .byte PATT + .word mus_pyramid_3_001 + .byte N06 , Fn1 , v112 + .byte W24 + .byte Ds2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte Fs1 + .byte W06 + .byte N03 , Fn1 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 , Fn1 + .byte W12 + .byte N12 , Fs1 + .byte W12 + .byte GOTO + .word mus_pyramid_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_pyramid_4: + .byte KEYSH , mus_pyramid_key+0 + .byte VOICE , 60 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte PAN , c_v+21 + .byte N06 , Fn3 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cn3 + .byte W12 + .byte N24 , As2 + .byte W12 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N06 , Fs3 + .byte W12 + .byte N60 , As3 + .byte W12 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W48 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N48 , Fs3 + .byte W12 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W36 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N03 , Cs3 + .byte W03 + .byte En3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte An3 + .byte W03 + .byte Cn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte En4 + .byte W03 + .byte Bn4 + .byte W03 + .byte An4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Cs4 + .byte W03 + .byte Bn3 + .byte W03 + .byte An3 + .byte W03 + .byte Bn3 + .byte W06 + .byte N03 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W30 + .byte VOL , 18*mus_pyramid_mvl/mxv + .byte N12 , Bn2 + .byte W03 + .byte VOL , 29*mus_pyramid_mvl/mxv + .byte W03 + .byte 37*mus_pyramid_mvl/mxv + .byte W03 + .byte 52*mus_pyramid_mvl/mxv + .byte W03 + .byte 42*mus_pyramid_mvl/mxv + .byte N24 , Bn3 + .byte W03 + .byte VOL , 14*mus_pyramid_mvl/mxv + .byte W01 + .byte 17*mus_pyramid_mvl/mxv + .byte W02 + .byte 19*mus_pyramid_mvl/mxv + .byte W01 + .byte 22*mus_pyramid_mvl/mxv + .byte W01 + .byte 24*mus_pyramid_mvl/mxv + .byte W01 + .byte 28*mus_pyramid_mvl/mxv + .byte W01 + .byte 29*mus_pyramid_mvl/mxv + .byte W02 + .byte 32*mus_pyramid_mvl/mxv + .byte W01 + .byte 37*mus_pyramid_mvl/mxv + .byte W01 + .byte 46*mus_pyramid_mvl/mxv + .byte W01 + .byte 53*mus_pyramid_mvl/mxv + .byte W01 + .byte 59*mus_pyramid_mvl/mxv + .byte W08 + .byte 42*mus_pyramid_mvl/mxv + .byte PAN , c_v+32 + .byte W96 + .byte W96 +mus_pyramid_4_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte VOICE , 17 + .byte W24 + .byte PAN , c_v+17 + .byte N36 , Cn6 , v112 + .byte W12 + .byte MOD , 7 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N01 , As5 + .byte W01 + .byte An5 + .byte W01 + .byte Gn5 + .byte W01 + .byte Fn5 + .byte W01 + .byte En5 + .byte W02 + .byte N06 , Ds5 + .byte W06 + .byte N09 , Cn5 + .byte W09 + .byte N01 , Cs5 + .byte W01 + .byte Dn5 + .byte W02 + .byte N12 , Ds5 + .byte W12 + .byte N08 , As5 + .byte W08 + .byte N01 , Gs5 + .byte W01 + .byte Gn5 + .byte W01 + .byte Fs5 + .byte W02 + .byte N12 , Fn5 + .byte W12 + .byte N06 , Fn4 + .byte N12 , Cn5 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte N06 + .byte N01 , Cs5 + .byte W01 + .byte Dn5 + .byte W01 + .byte N19 , Ds5 + .byte W01 + .byte N06 , Gs4 + .byte W03 + .byte Fn4 + .byte W06 + .byte MOD , 7 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W09 + .byte N01 , En5 + .byte W01 + .byte Fn5 + .byte W02 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N12 , Fs5 + .byte W12 + .byte N03 , Ds5 + .byte W03 + .byte N01 , Fn5 + .byte N01 , Fs5 + .byte W01 + .byte En5 + .byte W02 + .byte N06 , Ds5 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte N06 , Ds5 + .byte W06 + .byte N03 , Fs5 + .byte W03 + .byte N01 , Fn5 + .byte W01 + .byte En5 + .byte W02 + .byte Dn5 + .byte W01 + .byte Cs5 + .byte W01 + .byte N09 , Cn5 + .byte W10 + .byte N12 , As4 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N12 , Cn5 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N12 , Ds5 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N12 , Cn5 + .byte W06 + .byte MOD , 6 + .byte W04 + .byte N08 , Fs5 + .byte W02 + .byte MOD , 0 + .byte W07 + .byte N01 , Fn5 + .byte W01 + .byte Ds5 + .byte W04 + .byte N12 , Cn5 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N12 , Ds5 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N12 , Fs5 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N24 , Ds5 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N24 , Cn5 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N12 , An4 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N12 , Cn5 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N02 , Fs4 + .byte W02 + .byte Gs4 + .byte W02 + .byte N07 , Fs4 + .byte W08 + .byte N12 , Ds4 + .byte W12 + .byte VOICE , 24 + .byte PAN , c_v+32 + .byte W24 + .byte N06 , Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte N24 , Gn4 + .byte W06 + .byte MOD , 7 + .byte W06 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N18 , Ds4 + .byte W06 + .byte MOD , 7 + .byte W03 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N06 , Gn4 + .byte W06 + .byte Fn4 + .byte W12 + .byte N36 , An4 + .byte W12 + .byte MOD , 7 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N06 , Fn4 + .byte W12 + .byte N36 , Ds5 + .byte W12 + .byte MOD , 7 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte N06 , Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte N18 , Gn4 + .byte W06 + .byte MOD , 7 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N06 , Ds4 + .byte W06 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N06 , An3 + .byte W12 + .byte N36 , Cn4 + .byte W12 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte MOD , 7 + .byte W24 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N06 , Fn4 + .byte W12 + .byte N36 , An4 + .byte W12 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 61*mus_pyramid_mvl/mxv + .byte N06 , Fn3 , v096 + .byte W18 + .byte N03 , Dn3 + .byte W06 + .byte N36 + .byte W12 + .byte MOD , 8 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 61*mus_pyramid_mvl/mxv + .byte W12 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 7 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 61*mus_pyramid_mvl/mxv + .byte N06 , Fn3 , v080 + .byte W06 + .byte Gn3 + .byte W12 + .byte N18 , An3 + .byte W06 + .byte MOD , 7 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte N06 , An2 + .byte W03 + .byte VOL , 61*mus_pyramid_mvl/mxv + .byte W03 + .byte N06 , As2 + .byte W06 + .byte N12 , Cn3 + .byte W12 + .byte N06 , Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N12 , An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N06 , Fn3 + .byte W18 + .byte N03 , Dn3 + .byte W06 + .byte N36 , As3 + .byte W12 + .byte MOD , 7 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 61*mus_pyramid_mvl/mxv + .byte W12 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 7 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 61*mus_pyramid_mvl/mxv + .byte N06 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte An3 + .byte W06 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 7 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 61*mus_pyramid_mvl/mxv + .byte N06 , An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte Cn4 + .byte W12 + .byte N06 , Gs3 + .byte W18 + .byte N03 , Fn3 + .byte W06 + .byte N36 , Gs3 + .byte W12 + .byte MOD , 7 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 61*mus_pyramid_mvl/mxv + .byte W12 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 7 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 61*mus_pyramid_mvl/mxv + .byte N06 + .byte W06 + .byte Gn3 + .byte W12 + .byte N18 , Gs3 + .byte W06 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , Gs2 + .byte W06 + .byte As2 + .byte W06 + .byte N12 , Cn3 + .byte W12 + .byte N06 , Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N06 , Fn3 + .byte W18 + .byte N03 , Cs3 + .byte W06 + .byte N36 + .byte W12 + .byte MOD , 7 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 61*mus_pyramid_mvl/mxv + .byte W12 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 7 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 61*mus_pyramid_mvl/mxv + .byte N24 + .byte W12 + .byte MOD , 7 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 61*mus_pyramid_mvl/mxv + .byte N24 , Cs3 + .byte W12 + .byte MOD , 8 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 61*mus_pyramid_mvl/mxv + .byte N24 , As2 + .byte W12 + .byte MOD , 7 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 61*mus_pyramid_mvl/mxv + .byte N24 , En2 + .byte W12 + .byte MOD , 7 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte VOICE , 24 + .byte MOD , 0 + .byte VOL , 61*mus_pyramid_mvl/mxv + .byte N03 , An4 , v084 + .byte W03 + .byte An4 , v016 + .byte W03 + .byte Ds4 , v080 + .byte W03 + .byte Ds4 , v016 + .byte W03 + .byte Fn4 , v076 + .byte W03 + .byte Fn4 , v016 + .byte W03 + .byte Bn3 , v072 + .byte W03 + .byte Bn3 , v016 + .byte W03 + .byte Ds4 , v068 + .byte W03 + .byte Ds4 , v016 + .byte W03 + .byte An3 , v040 + .byte W03 + .byte An3 , v016 + .byte W03 + .byte Bn3 , v040 + .byte W03 + .byte Bn3 , v016 + .byte W03 + .byte Fn3 , v040 + .byte W03 + .byte Fn3 , v016 + .byte W03 + .byte Ds3 , v040 + .byte W03 + .byte Ds3 , v016 + .byte W03 + .byte Bn3 , v044 + .byte W03 + .byte Bn3 , v016 + .byte W03 + .byte An3 , v044 + .byte W03 + .byte An3 , v016 + .byte W03 + .byte Fn3 , v044 + .byte W03 + .byte Fn3 , v016 + .byte W03 + .byte Ds4 , v044 + .byte W03 + .byte Ds4 , v016 + .byte W03 + .byte An3 , v064 + .byte W03 + .byte An3 , v016 + .byte W03 + .byte Fn4 , v088 + .byte W03 + .byte Fn4 , v016 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v016 + .byte W03 + .byte Bn4 , v088 + .byte W03 + .byte Bn4 , v016 + .byte W03 + .byte Fn4 , v080 + .byte W03 + .byte Fn4 , v016 + .byte W03 + .byte Gs4 , v072 + .byte W03 + .byte Gs4 , v016 + .byte W03 + .byte Dn4 , v064 + .byte W03 + .byte Dn4 , v016 + .byte W03 + .byte Fn4 , v056 + .byte W03 + .byte Fn4 , v016 + .byte W03 + .byte Bn3 , v048 + .byte W03 + .byte Bn3 , v016 + .byte W03 + .byte Dn4 , v052 + .byte W03 + .byte Dn4 , v016 + .byte W03 + .byte Gs3 , v052 + .byte W03 + .byte Gs3 , v016 + .byte W03 + .byte Fn3 , v052 + .byte W03 + .byte Fn3 , v016 + .byte W03 + .byte Dn4 , v056 + .byte W03 + .byte Dn4 , v016 + .byte W03 + .byte Gs3 , v056 + .byte W03 + .byte Gs3 , v016 + .byte W03 + .byte Fn3 , v056 + .byte W03 + .byte Fn3 , v016 + .byte W03 + .byte Fn4 , v060 + .byte W03 + .byte Fn4 , v016 + .byte W03 + .byte Bn3 , v072 + .byte W03 + .byte Bn3 , v016 + .byte W03 + .byte Gs4 , v088 + .byte W03 + .byte Gs4 , v016 + .byte W03 + .byte Dn4 , v104 + .byte W03 + .byte Dn4 , v016 + .byte W03 + .byte Cn5 , v088 + .byte W03 + .byte Cn5 , v016 + .byte W03 + .byte Fs4 , v084 + .byte W03 + .byte Fs4 , v016 + .byte W03 + .byte An4 , v080 + .byte W03 + .byte An4 , v016 + .byte W03 + .byte Ds4 , v072 + .byte W03 + .byte Ds4 , v016 + .byte W03 + .byte Fs4 , v068 + .byte W03 + .byte Fs4 , v016 + .byte W03 + .byte Cn4 , v044 + .byte W03 + .byte Cn4 , v016 + .byte W03 + .byte Ds4 , v044 + .byte W03 + .byte Ds4 , v016 + .byte W03 + .byte An3 , v048 + .byte W03 + .byte An3 , v016 + .byte W03 + .byte Fs3 , v048 + .byte W03 + .byte Fs3 , v016 + .byte W03 + .byte Ds4 , v048 + .byte W03 + .byte Ds4 , v016 + .byte W03 + .byte An3 , v048 + .byte W03 + .byte An3 , v016 + .byte W03 + .byte Fs3 , v048 + .byte W03 + .byte Fs3 , v016 + .byte W03 + .byte Fs4 , v052 + .byte W03 + .byte Fs4 , v016 + .byte W03 + .byte Cn4 , v076 + .byte W03 + .byte Cn4 , v016 + .byte W03 + .byte An4 , v088 + .byte W03 + .byte An4 , v016 + .byte W03 + .byte Ds4 , v096 + .byte W03 + .byte Ds4 , v016 + .byte W03 + .byte Dn5 , v076 + .byte W03 + .byte Dn5 , v016 + .byte W03 + .byte Gs4 , v068 + .byte W03 + .byte Gs4 , v016 + .byte W03 + .byte Bn4 , v056 + .byte W03 + .byte Bn4 , v016 + .byte W03 + .byte Fn4 , v048 + .byte W03 + .byte Fn4 , v016 + .byte W03 + .byte Gs4 , v044 + .byte W03 + .byte Gs4 , v016 + .byte W03 + .byte Dn4 , v048 + .byte W03 + .byte Dn4 , v016 + .byte W03 + .byte Fn4 , v052 + .byte W03 + .byte Fn4 , v016 + .byte W03 + .byte Bn3 , v052 + .byte W03 + .byte Bn3 , v016 + .byte W03 + .byte Gs3 , v056 + .byte W03 + .byte Gs3 , v016 + .byte W03 + .byte Fn4 , v060 + .byte W03 + .byte Fn4 , v016 + .byte W03 + .byte Bn3 , v060 + .byte W03 + .byte Bn3 , v016 + .byte W03 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v016 + .byte W03 + .byte Gs4 , v076 + .byte W03 + .byte Gs4 , v016 + .byte W03 + .byte Dn4 , v088 + .byte W03 + .byte Dn4 , v016 + .byte W03 + .byte Bn4 , v096 + .byte W03 + .byte Bn4 , v016 + .byte W03 + .byte Fn4 , v108 + .byte W03 + .byte Fn4 , v016 + .byte W03 + .byte VOICE , 60 + .byte PAN , c_v-16 + .byte N24 , Bn3 , v064 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , An3 , v080 + .byte W24 + .byte PAN , c_v-16 + .byte N24 , Fn3 , v112 + .byte W24 + .byte VOL , 13*mus_pyramid_mvl/mxv + .byte PAN , c_v+21 + .byte N24 , Ds3 + .byte W01 + .byte VOL , 14*mus_pyramid_mvl/mxv + .byte W01 + .byte 19*mus_pyramid_mvl/mxv + .byte W01 + .byte 22*mus_pyramid_mvl/mxv + .byte W01 + .byte 28*mus_pyramid_mvl/mxv + .byte W02 + .byte 33*mus_pyramid_mvl/mxv + .byte W01 + .byte 35*mus_pyramid_mvl/mxv + .byte W01 + .byte 39*mus_pyramid_mvl/mxv + .byte W01 + .byte 44*mus_pyramid_mvl/mxv + .byte W01 + .byte 49*mus_pyramid_mvl/mxv + .byte W02 + .byte 52*mus_pyramid_mvl/mxv + .byte W01 + .byte 56*mus_pyramid_mvl/mxv + .byte W11 + .byte VOICE , 24 + .byte PAN , c_v+32 + .byte N48 , Gs3 , v080 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte 61*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte W48 + .byte BEND , c_v+0 + .byte N48 + .byte W06 + .byte BEND , c_v-6 + .byte W06 + .byte MOD , 7 + .byte BEND , c_v+0 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte 61*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte W48 + .byte W96 + .byte W96 + .byte GOTO + .word mus_pyramid_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_pyramid_5: + .byte KEYSH , mus_pyramid_key+0 + .byte VOICE , 14 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-15 + .byte W24 + .byte W96 + .byte W96 + .byte W84 + .byte N12 , An3 , v112 + .byte W12 + .byte N48 , Fn4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte W36 + .byte N12 , Cn4 + .byte W12 + .byte N48 , Fn4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte W48 +mus_pyramid_5_B1: + .byte VOICE , 14 + .byte W24 + .byte N24 , As4 , v112 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte N24 , An4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte N24 , Fs4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte N12 , Fn4 + .byte W12 + .byte N36 , An4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte N13 , Fn4 + .byte W12 + .byte N36 , Cn5 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte N48 , Cn4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte N48 , An3 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte N48 , Fn4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte N12 , An4 + .byte W12 + .byte N36 , Fn5 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 24 + .byte W96 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte PAN , c_v-41 + .byte N12 , Cn5 + .byte W06 + .byte MOD , 8 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N03 , As4 + .byte W03 + .byte Cn5 + .byte W03 + .byte As4 + .byte W06 + .byte PAN , c_v-23 + .byte N12 , An4 + .byte W06 + .byte MOD , 8 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N12 , Fs4 + .byte W06 + .byte MOD , 8 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte PAN , c_v+13 + .byte N12 , Fn4 + .byte W06 + .byte MOD , 8 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N12 , Ds4 + .byte W06 + .byte MOD , 8 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte PAN , c_v+33 + .byte N06 , As3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs4 + .byte W06 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte PAN , c_v-14 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 24 + .byte PAN , c_v-7 + .byte N48 , Fn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte W48 + .byte BEND , c_v+0 + .byte N48 + .byte W06 + .byte BEND , c_v-6 + .byte W06 + .byte MOD , 7 + .byte BEND , c_v+0 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte W36 + .byte N12 , Cn3 + .byte W12 + .byte VOICE , 14 + .byte N48 , Fn3 + .byte W24 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte 56*mus_pyramid_mvl/mxv + .byte W36 + .byte N12 , Fn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte N48 , Fn3 + .byte W24 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte GOTO + .word mus_pyramid_5_B1 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte FINE + +@********************** Track 6 **********************@ + +mus_pyramid_6: + .byte KEYSH , mus_pyramid_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte PAN , c_v+32 + .byte N06 , Fn2 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Cn2 , v064 + .byte W03 + .byte Cn2 , v092 + .byte W03 + .byte Cn2 , v112 + .byte W03 + .byte Cn2 , v127 + .byte W03 + .byte N24 , As1 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte N24 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte N24 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte N12 , As2 + .byte W12 + .byte Fs2 , v112 + .byte W12 + .byte N24 , Cn2 , v127 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte N24 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte N24 , Bn1 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte N24 , As1 + .byte W24 + .byte N06 , Fn3 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Bn1 + .byte W12 + .byte N06 , Fn3 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Bn2 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Bn1 + .byte W12 + .byte Fn2 + .byte W12 + .byte Bn1 + .byte W12 +mus_pyramid_6_000: + .byte N12 , Fn2 , v112 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte Fs2 + .byte W12 + .byte PEND +mus_pyramid_6_001: + .byte N12 , Fn2 , v112 + .byte W24 + .byte N12 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cn2 + .byte W12 + .byte N12 + .byte W12 + .byte Fn2 + .byte W12 + .byte PEND +mus_pyramid_6_B1: + .byte PATT + .word mus_pyramid_6_000 + .byte N12 , Fn2 , v112 + .byte W24 + .byte N12 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte PATT + .word mus_pyramid_6_000 + .byte N12 , Fn2 , v112 + .byte W24 + .byte N12 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cn2 + .byte W12 + .byte N12 + .byte W12 + .byte Fn1 + .byte W12 + .byte PATT + .word mus_pyramid_6_000 + .byte PATT + .word mus_pyramid_6_001 + .byte PATT + .word mus_pyramid_6_000 + .byte N12 , Fn2 , v112 + .byte W24 + .byte N12 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cn2 + .byte W24 + .byte N06 , Ds2 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N84 , Gn1 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte 35*mus_pyramid_mvl/mxv + .byte W12 + .byte 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 21*mus_pyramid_mvl/mxv + .byte W12 + .byte 14*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte W84 + .byte N06 , Ds2 + .byte W06 + .byte N06 + .byte W06 + .byte N12 + .byte W12 + .byte N84 , Gn1 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte 33*mus_pyramid_mvl/mxv + .byte W12 + .byte 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 22*mus_pyramid_mvl/mxv + .byte W12 + .byte 14*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte W96 + .byte VOICE , 30 + .byte PAN , c_v-24 + .byte VOL , 50*mus_pyramid_mvl/mxv + .byte N06 , As2 , v064 + .byte W06 + .byte N12 , As2 , v020 + .byte W18 + .byte N06 , As2 , v064 + .byte W06 + .byte N12 , As2 , v020 + .byte W18 + .byte N06 , As2 , v064 + .byte W06 + .byte N12 , As2 , v024 + .byte W18 + .byte N03 , As2 , v064 + .byte W03 + .byte As2 , v024 + .byte W03 + .byte As2 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Fn3 , v020 + .byte W06 + .byte Dn3 , v064 + .byte W06 + .byte Fn2 + .byte W06 + .byte N03 , Cn3 + .byte W03 + .byte N06 , Cn3 , v020 + .byte W09 + .byte Fn2 , v064 + .byte W06 + .byte Fn2 , v024 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte N12 , Fn3 , v020 + .byte W12 + .byte N06 , En3 , v064 + .byte W06 + .byte Fn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N03 , Fn2 + .byte W03 + .byte Fn2 , v020 + .byte W03 + .byte Fn2 , v064 + .byte W03 + .byte Fn2 , v020 + .byte W03 + .byte N06 , Fn3 , v064 + .byte W06 + .byte Cn3 + .byte W06 + .byte As2 + .byte W06 + .byte N12 , As2 , v020 + .byte W18 + .byte N06 , As2 , v064 + .byte W06 + .byte N12 , As2 , v020 + .byte W18 + .byte N06 , As2 , v064 + .byte W06 + .byte N12 , As2 , v020 + .byte W18 + .byte N03 , As2 , v064 + .byte W03 + .byte As2 , v024 + .byte W03 + .byte As2 , v064 + .byte W03 + .byte As2 , v024 + .byte W03 + .byte N06 , Fn3 , v064 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn2 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N06 , Cn3 + .byte W06 + .byte N12 , Cn3 , v024 + .byte W12 + .byte N06 , Gn3 , v064 + .byte W06 + .byte Gn3 , v024 + .byte W06 + .byte Cn3 , v064 + .byte W06 + .byte An3 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte As2 + .byte W06 + .byte N12 , As2 , v024 + .byte W18 + .byte N06 , As2 , v064 + .byte W06 + .byte N12 , As2 , v024 + .byte W18 + .byte N06 , As2 , v064 + .byte W06 + .byte N12 , As2 , v024 + .byte W18 + .byte N03 , As2 , v064 + .byte W03 + .byte As2 , v020 + .byte W03 + .byte As2 , v064 + .byte W03 + .byte As2 , v020 + .byte W03 + .byte N06 , Fn3 , v064 + .byte W06 + .byte Dn3 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N06 + .byte W06 + .byte Fn2 , v028 + .byte W06 + .byte Fn2 , v064 + .byte W06 + .byte Fn2 , v020 + .byte W06 + .byte Ds3 , v064 + .byte W06 + .byte N12 , Ds3 , v020 + .byte W12 + .byte N06 , En3 , v064 + .byte W06 + .byte Fn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N03 , Fn2 + .byte W03 + .byte Fn2 , v020 + .byte W03 + .byte Fn2 , v064 + .byte W03 + .byte Fn2 , v020 + .byte W03 + .byte N06 , Fn3 , v064 + .byte W06 + .byte Cn3 + .byte W06 + .byte As2 + .byte W06 + .byte N12 , As2 , v024 + .byte W18 + .byte N06 , As2 , v064 + .byte W06 + .byte N12 , As2 , v024 + .byte W18 + .byte N06 , As2 , v064 + .byte W06 + .byte N12 , As2 , v020 + .byte W18 + .byte N03 , As2 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte N24 , Fn1 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , En1 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , As1 , v048 + .byte W06 + .byte Cs2 + .byte W06 + .byte N24 , En2 + .byte W12 + .byte PAN , c_v-33 + .byte MOD , 6 + .byte W12 + .byte PAN , c_v-23 + .byte MOD , 0 + .byte N12 , Gn2 + .byte W12 + .byte VOICE , 47 + .byte PAN , c_v+32 + .byte VOL , 55*mus_pyramid_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N12 , An2 , v112 + .byte W12 + .byte Bn1 + .byte W12 + .byte N06 , Fn3 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Bn2 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Bn1 + .byte W12 + .byte N06 , Bn2 + .byte W06 + .byte N18 , Fn2 + .byte W18 + .byte W96 + .byte W96 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W36 + .byte N06 , Fn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte N12 , Fn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Cn3 + .byte W24 + .byte N06 , Fn2 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cn2 + .byte W12 + .byte N12 + .byte W12 + .byte Fn2 + .byte W12 + .byte GOTO + .word mus_pyramid_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_pyramid_7: + .byte KEYSH , mus_pyramid_key+0 + .byte VOICE , 85 + .byte LFOS , 51 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte W24 + .byte c_v+1 + .byte W24 + .byte N06 , As3 , v112 + .byte W12 + .byte N48 , Ds4 + .byte W12 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte MOD , 11 + .byte W36 + .byte 0 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte N06 , En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N48 , Fs4 + .byte W12 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte MOD , 11 + .byte W36 + .byte 0 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte N24 , Gn4 + .byte W12 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte MOD , 8 + .byte W12 + .byte 0 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte N24 , Gs4 + .byte W12 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte MOD , 8 + .byte W12 + .byte 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N03 , An4 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte N03 , An4 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Bn1 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte VOL , 23*mus_pyramid_mvl/mxv + .byte N12 , An3 + .byte W02 + .byte VOL , 34*mus_pyramid_mvl/mxv + .byte W04 + .byte 42*mus_pyramid_mvl/mxv + .byte W06 + .byte N24 , An4 + .byte W03 + .byte VOL , 16*mus_pyramid_mvl/mxv + .byte W01 + .byte 18*mus_pyramid_mvl/mxv + .byte W02 + .byte 22*mus_pyramid_mvl/mxv + .byte W01 + .byte 23*mus_pyramid_mvl/mxv + .byte W01 + .byte 27*mus_pyramid_mvl/mxv + .byte W01 + .byte 29*mus_pyramid_mvl/mxv + .byte W01 + .byte 32*mus_pyramid_mvl/mxv + .byte W02 + .byte 36*mus_pyramid_mvl/mxv + .byte W01 + .byte 39*mus_pyramid_mvl/mxv + .byte W01 + .byte 42*mus_pyramid_mvl/mxv + .byte W01 + .byte 56*mus_pyramid_mvl/mxv + .byte W09 + .byte 42*mus_pyramid_mvl/mxv + .byte N06 , Fn2 + .byte W96 + .byte W72 + .byte VOICE , 85 + .byte N06 , Ds3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cn4 + .byte W06 +mus_pyramid_7_B1: + .byte N60 , Ds4 , v112 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W48 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N03 , Cs4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N06 , Cs4 + .byte W06 + .byte N10 , Cn4 + .byte W10 + .byte N01 , Bn3 , v080 + .byte W02 + .byte N12 , As3 , v112 + .byte W12 + .byte N32 , An3 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W21 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N01 , As3 , v080 + .byte W01 + .byte Bn3 + .byte W02 + .byte N12 , Cn4 , v112 + .byte W12 + .byte N03 , Fs3 + .byte W03 + .byte N01 , Gs3 , v080 + .byte N01 , An3 + .byte W01 + .byte Gn3 + .byte W02 + .byte N06 , Fs3 , v112 + .byte W06 + .byte N36 , Fn3 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N12 , Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N08 , An3 + .byte W08 + .byte N01 , Gs3 , v080 + .byte W01 + .byte Gn3 + .byte W01 + .byte Fs3 + .byte W02 + .byte N12 , Fn3 , v112 + .byte W12 + .byte N08 , Cn4 + .byte W08 + .byte N01 , As3 , v080 + .byte W01 + .byte An3 + .byte W01 + .byte Fs3 + .byte W02 + .byte N12 , Fn3 , v112 + .byte W12 + .byte N03 , Fs3 + .byte W03 + .byte N01 , Gs3 , v080 + .byte N01 , An3 + .byte W01 + .byte Gn3 + .byte W02 + .byte N06 , Fs3 , v112 + .byte W06 + .byte N36 , Fn3 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N03 , Cn4 + .byte W03 + .byte N01 , Gs3 , v080 + .byte N01 , An3 + .byte W01 + .byte Gn3 + .byte W02 + .byte N06 , Fs3 , v112 + .byte W06 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W09 + .byte BEND , c_v+1 + .byte W01 + .byte c_v+1 + .byte W02 + .byte VOICE , 80 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N03 , Ds4 + .byte W03 + .byte Fs4 + .byte W03 + .byte An4 + .byte W03 + .byte Cs5 + .byte W03 + .byte N54 , Ds5 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W24 + .byte W01 + .byte 14*mus_pyramid_mvl/mxv + .byte W17 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N01 , Cs5 , v080 + .byte W01 + .byte Cn5 + .byte W01 + .byte As4 + .byte W01 + .byte Gs4 + .byte W01 + .byte Gn4 + .byte W02 + .byte N12 , Fs4 , v112 + .byte W12 + .byte N08 , Ds5 + .byte W08 + .byte N01 , Cs5 , v080 + .byte W01 + .byte Cn5 + .byte W01 + .byte Bn4 + .byte W02 + .byte N12 , As4 , v112 + .byte W12 + .byte N32 , An4 + .byte W10 + .byte MOD , 6 + .byte W02 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 14*mus_pyramid_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N01 , As4 , v080 + .byte W01 + .byte Bn4 + .byte W02 + .byte N12 , Cn5 , v112 + .byte W12 + .byte N03 , Fs4 + .byte W03 + .byte N01 , Gs4 , v080 + .byte N01 , An4 + .byte W01 + .byte Gn4 + .byte W02 + .byte N06 , Fs4 , v112 + .byte W06 + .byte N36 , Fn4 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W13 + .byte 14*mus_pyramid_mvl/mxv + .byte W11 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N12 , Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N07 , Cn5 + .byte W07 + .byte N01 , As4 , v080 + .byte W01 + .byte An4 + .byte W01 + .byte Gn4 + .byte W01 + .byte Fs4 + .byte W02 + .byte N12 , Fn4 , v112 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gs4 + .byte W12 + .byte N03 , Fs4 + .byte W03 + .byte N01 , Gs4 , v080 + .byte N01 , An4 + .byte W01 + .byte Gn4 + .byte W02 + .byte N06 , Fs4 , v112 + .byte W06 + .byte N36 , Fn4 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 14*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N03 , Cn5 + .byte W03 + .byte N01 , Gs4 , v080 + .byte N01 , An4 + .byte W01 + .byte Gn4 + .byte W02 + .byte N06 , Fs4 , v112 + .byte W06 + .byte N36 , Fn4 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W13 + .byte 14*mus_pyramid_mvl/mxv + .byte W11 + .byte VOICE , 80 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte BEND , c_v+1 + .byte W24 + .byte N06 , Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N18 , Cs4 + .byte W12 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W06 + .byte 42*mus_pyramid_mvl/mxv + .byte N06 , Ds4 + .byte W06 + .byte Cs4 + .byte W12 + .byte N03 + .byte W03 + .byte N24 , Cn4 + .byte W09 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W09 + .byte 14*mus_pyramid_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N03 , Ds4 + .byte W03 + .byte Cs4 + .byte W03 + .byte N48 , Cn4 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 14*mus_pyramid_mvl/mxv + .byte W24 + .byte VOICE , 85 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte N06 , Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N18 , Ds4 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N06 , Cs4 + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte N84 , Fn4 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W48 + .byte 14*mus_pyramid_mvl/mxv + .byte W12 + .byte 9*mus_pyramid_mvl/mxv + .byte W12 + .byte VOICE , 80 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N06 , Dn4 + .byte W18 + .byte N03 , Fn3 + .byte W06 + .byte N36 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N06 , An3 + .byte W06 + .byte As3 + .byte W12 + .byte N54 , Cn4 + .byte W18 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W24 + .byte W01 + .byte 14*mus_pyramid_mvl/mxv + .byte W11 + .byte 42*mus_pyramid_mvl/mxv + .byte N24 , Ds4 + .byte W12 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 42*mus_pyramid_mvl/mxv + .byte N06 , Dn4 + .byte W18 + .byte N03 , Fn3 + .byte W06 + .byte N36 , Dn4 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 14*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte N24 , En4 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N06 , Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W12 + .byte N48 , Cn4 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W36 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N24 , Fn4 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte VOICE , 83 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N06 , Cs4 + .byte W18 + .byte N03 , As3 + .byte W06 + .byte N36 , Cs4 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N06 , Gs3 + .byte W06 + .byte As3 + .byte W12 + .byte N54 , Cn4 + .byte W18 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 14*mus_pyramid_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N24 , Ds4 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N06 , Cs4 + .byte W18 + .byte N03 , Fn3 + .byte W06 + .byte N36 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 14*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte VOICE , 80 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N36 , Gs3 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 14*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte N06 , As3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N48 , Gn3 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 14*mus_pyramid_mvl/mxv + .byte W24 + .byte VOICE , 83 + .byte MOD , 0 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W96 + .byte BEND , c_v+63 + .byte N96 , Dn4 , v048 + .byte W02 + .byte BEND , c_v+58 + .byte W03 + .byte c_v+56 + .byte W03 + .byte c_v+51 + .byte W03 + .byte c_v+47 + .byte W03 + .byte c_v+42 + .byte W03 + .byte c_v+39 + .byte W03 + .byte c_v+35 + .byte W03 + .byte c_v+31 + .byte W03 + .byte c_v+23 + .byte W03 + .byte c_v+18 + .byte W03 + .byte c_v+13 + .byte W03 + .byte c_v+9 + .byte W03 + .byte c_v+4 + .byte W03 + .byte c_v+1 + .byte W03 + .byte c_v-1 + .byte W01 + .byte c_v+0 + .byte W02 + .byte c_v-2 + .byte W04 + .byte c_v-4 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v-14 + .byte W03 + .byte c_v-16 + .byte W03 + .byte c_v-20 + .byte W03 + .byte c_v-24 + .byte W03 + .byte c_v-29 + .byte W03 + .byte c_v-33 + .byte W03 + .byte c_v-37 + .byte W03 + .byte c_v-41 + .byte W03 + .byte c_v-45 + .byte W03 + .byte c_v-48 + .byte W03 + .byte c_v-52 + .byte W03 + .byte c_v-56 + .byte W03 + .byte c_v-59 + .byte W03 + .byte VOICE , 80 + .byte BEND , c_v+63 + .byte N96 , Cs3 + .byte W02 + .byte BEND , c_v+58 + .byte W03 + .byte c_v+56 + .byte W03 + .byte c_v+51 + .byte W03 + .byte c_v+47 + .byte W03 + .byte c_v+42 + .byte W03 + .byte c_v+39 + .byte W03 + .byte c_v+35 + .byte W03 + .byte c_v+31 + .byte W03 + .byte c_v+23 + .byte W03 + .byte c_v+18 + .byte W03 + .byte c_v+13 + .byte W03 + .byte c_v+9 + .byte W03 + .byte c_v+4 + .byte W03 + .byte c_v+1 + .byte W03 + .byte c_v-1 + .byte W01 + .byte c_v+0 + .byte W02 + .byte c_v-2 + .byte W04 + .byte c_v-4 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v-14 + .byte W03 + .byte c_v-16 + .byte W03 + .byte c_v-20 + .byte W03 + .byte c_v-24 + .byte W03 + .byte c_v-29 + .byte W03 + .byte c_v-33 + .byte W03 + .byte c_v-37 + .byte W03 + .byte c_v-41 + .byte W03 + .byte c_v-45 + .byte W03 + .byte c_v-48 + .byte W03 + .byte c_v-52 + .byte W03 + .byte c_v-56 + .byte W03 + .byte c_v-59 + .byte W03 + .byte W24 + .byte c_v+1 + .byte W24 + .byte PAN , c_v-64 + .byte N03 , Dn4 , v044 + .byte W03 + .byte Fn4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Bn4 + .byte W03 + .byte Dn5 + .byte W03 + .byte Fn5 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , Gs5 + .byte W03 + .byte Bn5 + .byte W03 + .byte PAN , c_v+63 + .byte N03 , Dn6 + .byte W03 + .byte Bn5 + .byte W03 + .byte Gs5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Dn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , Gs4 + .byte W03 + .byte Fn4 + .byte W03 + .byte VOICE , 85 + .byte MOD , 0 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte N06 , An1 , v112 + .byte W12 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Ds1 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte N02 , An1 + .byte W06 + .byte N02 + .byte W06 + .byte N12 , Fn2 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte W96 + .byte W72 + .byte N06 , Ds3 , v064 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fs3 + .byte W06 + .byte W96 + .byte W72 + .byte Ds3 , v112 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cn4 + .byte W06 + .byte GOTO + .word mus_pyramid_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_pyramid_8: + .byte KEYSH , mus_pyramid_key+0 + .byte VOICE , 86 + .byte LFOS , 50 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte BEND , c_v+0 + .byte W24 + .byte W24 + .byte N06 , As3 , v112 + .byte W12 + .byte N48 , Ds4 + .byte W12 + .byte MOD , 7 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N06 , En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N48 , Fs4 + .byte W12 + .byte MOD , 7 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte 28*mus_pyramid_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte N24 , Gn4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 4 + .byte W06 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W06 + .byte 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N24 , Gs4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 4 + .byte W06 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W06 + .byte 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N03 , An4 , v096 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Fn1 , v112 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N02 , An4 , v096 + .byte W06 + .byte N02 + .byte W06 + .byte N12 , Bn1 , v108 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N06 , An1 , v112 + .byte W12 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte N12 , An3 , v096 + .byte W02 + .byte VOL , 37*mus_pyramid_mvl/mxv + .byte W04 + .byte MOD , 8 + .byte VOL , 47*mus_pyramid_mvl/mxv + .byte W02 + .byte 56*mus_pyramid_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte N24 , An4 , v112 + .byte W04 + .byte VOL , 16*mus_pyramid_mvl/mxv + .byte W02 + .byte 20*mus_pyramid_mvl/mxv + .byte W01 + .byte 23*mus_pyramid_mvl/mxv + .byte W01 + .byte 28*mus_pyramid_mvl/mxv + .byte W01 + .byte 33*mus_pyramid_mvl/mxv + .byte W01 + .byte 37*mus_pyramid_mvl/mxv + .byte W02 + .byte 45*mus_pyramid_mvl/mxv + .byte W01 + .byte 48*mus_pyramid_mvl/mxv + .byte W01 + .byte 52*mus_pyramid_mvl/mxv + .byte W01 + .byte 58*mus_pyramid_mvl/mxv + .byte W01 + .byte 63*mus_pyramid_mvl/mxv + .byte W02 + .byte MOD , 8 + .byte VOL , 70*mus_pyramid_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W96 + .byte W72 + .byte VOICE , 86 + .byte N06 , Ds3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cn4 + .byte W06 +mus_pyramid_8_B1: + .byte N60 , Ds4 , v112 + .byte W12 + .byte MOD , 6 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte W03 + .byte 28*mus_pyramid_mvl/mxv + .byte W21 + .byte MOD , 0 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte N03 , Cs4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N06 , Cs4 + .byte W06 + .byte N10 , Cn4 + .byte W10 + .byte N01 , Bn3 , v080 + .byte W02 + .byte N12 , As3 , v112 + .byte W12 + .byte N32 , An3 + .byte W12 + .byte MOD , 6 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte 28*mus_pyramid_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte N01 , As3 , v080 + .byte W01 + .byte Bn3 + .byte W02 + .byte N12 , Cn4 , v112 + .byte W12 + .byte N03 , Fs3 + .byte W03 + .byte N01 , Gs3 , v080 + .byte N01 , An3 + .byte W01 + .byte Gn3 + .byte W02 + .byte N06 , Fs3 , v112 + .byte W06 + .byte N36 , Fn3 + .byte W12 + .byte MOD , 6 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte 28*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte N12 , Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N08 , An3 + .byte W08 + .byte N01 , Gs3 , v080 + .byte W01 + .byte Gn3 + .byte W01 + .byte Fs3 + .byte W02 + .byte N12 , Fn3 , v112 + .byte W12 + .byte N08 , Cn4 + .byte W08 + .byte N01 , As3 , v080 + .byte W01 + .byte An3 + .byte W01 + .byte Fs3 + .byte W02 + .byte N12 , Fn3 , v112 + .byte W12 + .byte N03 , Fs3 + .byte W03 + .byte N01 , Gs3 , v080 + .byte N01 , An3 + .byte W01 + .byte Gn3 + .byte W02 + .byte N06 , Fs3 , v112 + .byte W06 + .byte N36 , Fn3 + .byte W12 + .byte MOD , 6 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte 28*mus_pyramid_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte N03 , Cn4 + .byte W03 + .byte N01 , Gs3 , v080 + .byte N01 , An3 + .byte W01 + .byte Gn3 + .byte W02 + .byte N06 , Fs3 , v112 + .byte W06 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 6 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte VOICE , 81 + .byte MOD , 0 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte N03 , Ds4 + .byte W03 + .byte Fs4 + .byte W03 + .byte An4 + .byte W03 + .byte Cs5 + .byte W03 + .byte N54 , Ds5 + .byte W12 + .byte MOD , 6 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte 28*mus_pyramid_mvl/mxv + .byte W18 + .byte MOD , 0 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte N01 , Cs5 , v080 + .byte W01 + .byte Cn5 + .byte W01 + .byte As4 + .byte W01 + .byte Gs4 + .byte W01 + .byte Gn4 + .byte W02 + .byte N12 , Fs4 , v112 + .byte W12 + .byte N08 , Ds5 + .byte W08 + .byte N01 , Cs5 , v080 + .byte W01 + .byte Cn5 + .byte W01 + .byte Bn4 + .byte W02 + .byte N12 , As4 , v112 + .byte W12 + .byte N32 , An4 + .byte W10 + .byte MOD , 6 + .byte W02 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte 28*mus_pyramid_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte N01 , As4 , v080 + .byte W01 + .byte Bn4 + .byte W02 + .byte N12 , Cn5 , v112 + .byte W12 + .byte N03 , Fs4 + .byte W03 + .byte N01 , Gs4 , v080 + .byte N01 , An4 + .byte W01 + .byte Gn4 + .byte W02 + .byte N06 , Fs4 , v112 + .byte W06 + .byte N36 , Fn4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N12 , Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N07 , Cn5 + .byte W07 + .byte N01 , As4 , v080 + .byte W01 + .byte An4 + .byte W01 + .byte Gn4 + .byte W01 + .byte Fs4 + .byte W02 + .byte N12 , Fn4 , v112 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gs4 + .byte W12 + .byte N03 , Fs4 + .byte W03 + .byte N01 , Gs4 , v080 + .byte N01 , An4 + .byte W01 + .byte Gn4 + .byte W02 + .byte N06 , Fs4 , v112 + .byte W06 + .byte N36 , Fn4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W13 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W11 + .byte 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N03 , Cn5 + .byte W03 + .byte N01 , Gs4 , v080 + .byte N01 , An4 + .byte W01 + .byte Gn4 + .byte W02 + .byte N06 , Fs4 , v112 + .byte W06 + .byte N36 , Fn4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte VOICE , 81 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte N06 , Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , Ds4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N18 , Cs4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W06 + .byte 56*mus_pyramid_mvl/mxv + .byte N06 , Ds4 + .byte W06 + .byte Cs4 + .byte W12 + .byte N03 + .byte W03 + .byte N24 , Cn4 + .byte W09 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W09 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W09 + .byte 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N03 , Ds4 + .byte W03 + .byte Cs4 + .byte W03 + .byte N48 , Cn4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W24 + .byte VOICE , 86 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte N06 , Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N18 , Ds4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N06 , Cs4 + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte N84 , Fn4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W48 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 14*mus_pyramid_mvl/mxv + .byte W12 + .byte VOICE , 81 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N06 , Dn4 + .byte W18 + .byte N03 , Fn3 + .byte W06 + .byte N36 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte 0 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte W12 + .byte N24 , Gn3 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N06 , An3 + .byte W06 + .byte As3 + .byte W12 + .byte N54 , Cn4 + .byte W18 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W24 + .byte W01 + .byte 28*mus_pyramid_mvl/mxv + .byte W11 + .byte 56*mus_pyramid_mvl/mxv + .byte N24 , Ds4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte W12 + .byte VOICE , 82 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte N06 , Dn4 + .byte W18 + .byte N03 , Fn3 + .byte W06 + .byte N36 , Dn4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte N24 , En4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N06 , Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte N48 , Cn4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W24 + .byte 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N24 , Fn4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOICE , 81 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N06 , Cs4 + .byte W18 + .byte N03 , As3 + .byte W06 + .byte N36 , Cs4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W24 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte N24 , Gn3 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N06 , Gs3 + .byte W06 + .byte As3 + .byte W12 + .byte N54 , Cn4 + .byte W18 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W24 + .byte 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N24 , Ds4 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N06 , Cs4 + .byte W18 + .byte N03 , Fn3 + .byte W06 + .byte N36 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte N24 , Gn3 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOICE , 81 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N36 , Gs3 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W12 + .byte 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N06 , As3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N48 , Gn3 + .byte W12 + .byte VOL , 42*mus_pyramid_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 28*mus_pyramid_mvl/mxv + .byte W24 + .byte VOICE , 82 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte W96 + .byte BEND , c_v+63 + .byte N96 , Bn4 , v048 + .byte W02 + .byte BEND , c_v+58 + .byte W03 + .byte c_v+56 + .byte W03 + .byte c_v+51 + .byte W03 + .byte c_v+47 + .byte W03 + .byte c_v+42 + .byte W03 + .byte c_v+39 + .byte W03 + .byte c_v+35 + .byte W03 + .byte c_v+31 + .byte W03 + .byte c_v+23 + .byte W03 + .byte c_v+18 + .byte W03 + .byte c_v+13 + .byte W03 + .byte c_v+9 + .byte W03 + .byte c_v+4 + .byte W03 + .byte c_v+1 + .byte W03 + .byte c_v-1 + .byte W03 + .byte c_v-2 + .byte W04 + .byte c_v-4 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v-14 + .byte W03 + .byte c_v-16 + .byte W03 + .byte c_v-20 + .byte W03 + .byte c_v-24 + .byte W03 + .byte c_v-29 + .byte W03 + .byte c_v-33 + .byte W03 + .byte c_v-37 + .byte W03 + .byte c_v-41 + .byte W03 + .byte c_v-45 + .byte W03 + .byte c_v-48 + .byte W03 + .byte c_v-52 + .byte W03 + .byte c_v-56 + .byte W03 + .byte c_v-59 + .byte W03 + .byte VOICE , 81 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte BEND , c_v+63 + .byte N96 , As3 + .byte W02 + .byte BEND , c_v+58 + .byte W03 + .byte c_v+56 + .byte W03 + .byte c_v+51 + .byte W03 + .byte c_v+47 + .byte W03 + .byte c_v+42 + .byte W03 + .byte c_v+39 + .byte W03 + .byte c_v+35 + .byte W03 + .byte c_v+31 + .byte W03 + .byte c_v+23 + .byte W03 + .byte c_v+18 + .byte W03 + .byte c_v+13 + .byte W03 + .byte c_v+9 + .byte W03 + .byte c_v+4 + .byte W03 + .byte c_v+1 + .byte W03 + .byte c_v-1 + .byte W03 + .byte c_v-2 + .byte W04 + .byte c_v-4 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v-14 + .byte W03 + .byte c_v-16 + .byte W03 + .byte c_v-20 + .byte W03 + .byte c_v-24 + .byte W03 + .byte c_v-29 + .byte W03 + .byte c_v-33 + .byte W03 + .byte c_v-37 + .byte W03 + .byte c_v-41 + .byte W03 + .byte c_v-45 + .byte W03 + .byte c_v-48 + .byte W03 + .byte c_v-52 + .byte W03 + .byte c_v-56 + .byte W03 + .byte c_v-59 + .byte W03 + .byte W24 + .byte c_v+0 + .byte W24 + .byte PAN , c_v-64 + .byte N03 , Gs4 , v044 + .byte W03 + .byte Bn4 + .byte W03 + .byte Dn5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Gs5 + .byte W03 + .byte Bn5 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , Dn6 + .byte W03 + .byte Fn6 + .byte W03 + .byte PAN , c_v+63 + .byte N03 , Gs6 + .byte W03 + .byte Fn6 + .byte W03 + .byte Dn6 + .byte W03 + .byte Bn5 + .byte W03 + .byte Gs5 + .byte W03 + .byte Fn5 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , Dn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte VOICE , 86 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte MOD , 0 + .byte N48 , An4 , v064 + .byte W18 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte W18 + .byte 8 + .byte W06 + .byte 0 + .byte N24 , As4 , v112 + .byte W18 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , Bn4 + .byte W12 + .byte Cn5 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte BEND , c_v+1 + .byte N06 , Fn1 , v060 + .byte W06 + .byte Fn1 , v024 + .byte W18 + .byte Fn1 , v060 + .byte W06 + .byte Fn1 , v024 + .byte W18 + .byte Fn1 , v060 + .byte W06 + .byte Fn1 , v024 + .byte W18 + .byte Fn1 , v060 + .byte W06 + .byte Fn1 , v024 + .byte W06 + .byte N12 , Fs1 , v060 + .byte W12 + .byte N06 , Fn1 + .byte W06 + .byte Fn1 , v024 + .byte W18 + .byte Fn1 , v060 + .byte W06 + .byte Fn1 , v024 + .byte W18 + .byte N03 , Fn1 , v060 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte BEND , c_v+0 + .byte N06 , Ds3 , v064 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fs3 + .byte W06 + .byte BEND , c_v+1 + .byte N06 , Fn1 , v060 + .byte W06 + .byte Fn1 , v024 + .byte W18 + .byte Fn1 , v060 + .byte W06 + .byte Fn1 , v024 + .byte W18 + .byte Fn1 , v060 + .byte W06 + .byte Fn1 , v024 + .byte W18 + .byte Fn1 , v060 + .byte W06 + .byte Fn1 , v024 + .byte W06 + .byte N12 , Fs1 , v060 + .byte W12 + .byte N06 , Fn1 + .byte W06 + .byte Fn1 , v024 + .byte W18 + .byte Ds2 , v060 + .byte W06 + .byte Fn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte Fs1 + .byte W06 + .byte N03 , Fn1 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte BEND , c_v+0 + .byte N06 , Ds3 , v112 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cn4 + .byte W06 + .byte GOTO + .word mus_pyramid_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_pyramid_9: + .byte KEYSH , mus_pyramid_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 65*mus_pyramid_mvl/mxv + .byte W24 + .byte N24 , An2 , v072 + .byte W96 + .byte W96 + .byte Gn2 , v080 + .byte W36 + .byte En2 + .byte W24 + .byte N12 , Bn2 , v084 + .byte W12 + .byte Cn3 + .byte W24 + .byte N48 , An2 + .byte W60 + .byte N18 , Fn2 , v044 + .byte W18 + .byte N06 , Fn2 , v048 + .byte W09 + .byte N03 , Gs2 + .byte W03 + .byte Gs2 , v036 + .byte W03 + .byte N03 + .byte W03 +mus_pyramid_9_000: + .byte N06 , Gs2 , v064 + .byte W12 + .byte Fs2 , v080 + .byte W12 + .byte Gs2 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte Fs2 , v080 + .byte W12 + .byte Gs2 , v064 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fs2 , v080 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte Gs2 + .byte W06 + .byte En3 + .byte W06 + .byte Fs2 , v080 + .byte W12 + .byte PEND +mus_pyramid_9_B1: +mus_pyramid_9_001: + .byte N06 , Gs2 , v064 + .byte W12 + .byte Fs2 , v080 + .byte W12 + .byte Gs2 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte Fs2 , v080 + .byte W12 + .byte Gs2 , v064 + .byte W12 + .byte Fs2 , v080 + .byte W12 + .byte Gs2 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte Fs2 , v080 + .byte W12 + .byte PEND + .byte PATT + .word mus_pyramid_9_000 + .byte PATT + .word mus_pyramid_9_001 + .byte N06 , Gs2 , v064 + .byte W12 + .byte Fs2 , v080 + .byte W12 + .byte Gs2 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte Fs2 , v080 + .byte W12 + .byte Gs2 , v064 + .byte W06 + .byte Dn3 + .byte W06 + .byte N03 , Fs2 , v080 + .byte W06 + .byte Fs2 , v064 + .byte W06 + .byte N12 , Gn2 , v088 + .byte W12 + .byte N06 , Fs2 , v080 + .byte W06 + .byte N03 , Gs2 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte PATT + .word mus_pyramid_9_001 + .byte PATT + .word mus_pyramid_9_000 + .byte N06 , Gs2 , v064 + .byte W12 + .byte Fs2 , v080 + .byte W12 + .byte Gs2 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte Fs2 , v080 + .byte W12 + .byte Gs2 , v064 + .byte W12 + .byte Fs2 , v080 + .byte W12 + .byte Gs2 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte Fs2 , v080 + .byte W06 + .byte N03 , Gs2 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Gs2 , v064 + .byte W12 + .byte Fs2 , v080 + .byte W12 + .byte Gs2 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte Fs2 , v080 + .byte W12 + .byte Gs2 , v064 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fs2 , v080 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte N12 , Gn2 , v092 + .byte W12 + .byte N06 , Fs2 , v080 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N36 , Gn2 + .byte W84 + .byte W12 + .byte N18 , Fn2 , v032 + .byte W18 + .byte Fn2 , v040 + .byte W18 + .byte Fn2 , v032 + .byte W18 + .byte N06 , Fn2 , v040 + .byte W06 + .byte Dn2 , v076 + .byte W06 + .byte Bn1 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N36 , En2 + .byte W84 + .byte N18 , Cn1 , v096 + .byte N12 , Fn2 , v044 + .byte W12 + .byte N18 , Fn2 , v032 + .byte W06 + .byte N06 , Cn1 , v056 + .byte W06 + .byte N18 , Cn1 , v076 + .byte W06 + .byte Fn2 , v044 + .byte W12 + .byte N06 , Cn1 , v056 + .byte W06 + .byte N18 , Cn1 , v076 + .byte N18 , Fn2 , v032 + .byte W18 + .byte N06 , Cn1 , v056 + .byte N06 , Fn2 , v044 + .byte W06 + .byte Cn1 , v076 + .byte N15 , Gn2 + .byte W06 + .byte N06 , Dn2 , v080 + .byte W06 + .byte Cn1 + .byte W03 + .byte N03 , Gs2 , v048 + .byte W03 + .byte N06 , Fn1 , v080 + .byte N03 , Gs2 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , En1 , v112 + .byte N06 , Gs2 , v064 + .byte W06 + .byte Gs2 , v048 + .byte W06 + .byte N12 , En1 + .byte N06 , Fs2 , v064 + .byte W12 + .byte N12 , En1 , v104 + .byte N06 , Gs2 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte En1 , v048 + .byte N06 , Fs2 , v064 + .byte W06 + .byte En1 , v048 + .byte N03 , Gs2 + .byte W06 + .byte N12 , En1 , v096 + .byte N06 , Gs2 , v064 + .byte W12 + .byte N12 , En1 , v048 + .byte N06 , Fs2 , v064 + .byte W06 + .byte N03 , Gs2 , v048 + .byte W06 + .byte N12 , En1 , v060 + .byte N06 , Gs2 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte N03 , En1 , v112 + .byte N06 , Fs2 , v064 + .byte W03 + .byte N03 , En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , En1 , v112 + .byte N06 , Gs2 , v064 + .byte W06 + .byte Gs2 , v048 + .byte W06 + .byte N03 , En1 , v096 + .byte N06 , Fs2 , v064 + .byte W03 + .byte N03 , En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v048 + .byte N06 , Gs2 , v064 + .byte W06 + .byte En1 , v104 + .byte N06 , En3 , v064 + .byte W06 + .byte En1 , v040 + .byte N06 , Fs2 , v064 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v096 + .byte N06 , Gs2 , v064 + .byte W06 + .byte N03 , En1 , v072 + .byte N06 , Dn3 , v064 + .byte W03 + .byte N03 , En1 , v028 + .byte W03 + .byte En1 , v072 + .byte N06 , Fs2 , v064 + .byte W03 + .byte N03 , En1 , v032 + .byte W03 + .byte N03 + .byte N06 , En3 , v064 + .byte W03 + .byte N03 , En1 , v032 + .byte W03 + .byte N12 , En1 , v112 + .byte N06 , Gs2 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v064 + .byte W06 + .byte En1 , v088 + .byte W06 + .byte N12 , En1 , v112 + .byte N06 , Gs2 , v064 + .byte W06 + .byte Gs2 , v048 + .byte W06 + .byte N12 , En1 + .byte N06 , Fs2 , v064 + .byte W12 + .byte N12 , En1 , v104 + .byte N06 , Gs2 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte En1 , v048 + .byte N06 , Fs2 , v064 + .byte W06 + .byte En1 , v048 + .byte N06 , Gs2 + .byte W06 + .byte N12 , En1 , v096 + .byte N06 , Gs2 , v064 + .byte W12 + .byte N12 , En1 , v048 + .byte N06 , Fs2 , v064 + .byte W06 + .byte Gs2 , v048 + .byte W06 + .byte N12 , En1 , v060 + .byte N06 , Gs2 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte N03 , En1 , v112 + .byte N06 , Fs2 , v064 + .byte W03 + .byte N03 , En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , En1 , v112 + .byte N06 , Gs2 , v064 + .byte W06 + .byte N03 , Gs2 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v096 + .byte N06 , Fs2 , v064 + .byte W03 + .byte N03 , En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v048 + .byte N06 , Gs2 , v064 + .byte W06 + .byte En1 , v104 + .byte N06 , En3 , v064 + .byte W06 + .byte En1 , v040 + .byte N06 , Fs2 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , Gs2 , v048 + .byte W06 + .byte En1 , v096 + .byte N06 , Gs2 , v064 + .byte W06 + .byte N03 , En1 , v072 + .byte N06 , Dn3 , v064 + .byte W03 + .byte N03 , En1 , v028 + .byte W03 + .byte En1 , v072 + .byte N03 , Fs2 , v064 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte N03 + .byte N03 , Fs2 , v044 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte N12 , En1 , v112 + .byte N06 , Fs2 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v064 + .byte W06 + .byte En1 , v088 + .byte N06 , Fs2 , v064 + .byte W06 + .byte N12 , En1 , v112 + .byte N06 , Gs2 , v064 + .byte W06 + .byte Gs2 , v048 + .byte W06 + .byte N12 , En1 + .byte N06 , Fs2 , v064 + .byte W12 + .byte N12 , En1 , v104 + .byte N06 , Gs2 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte En1 , v048 + .byte N06 , Fs2 , v064 + .byte W06 + .byte En1 , v048 + .byte N06 , Gs2 + .byte W06 + .byte N12 , En1 , v096 + .byte N06 , Gs2 , v064 + .byte W06 + .byte Dn3 + .byte W06 + .byte N12 , En1 , v048 + .byte N06 , Fs2 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte N12 , En1 , v060 + .byte N06 , Gs2 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte N03 , En1 , v112 + .byte N06 , Fs2 , v064 + .byte W03 + .byte N03 , En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , En1 , v112 + .byte N06 , Gs2 , v064 + .byte W06 + .byte N03 , Gs2 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v096 + .byte N06 , Fs2 , v064 + .byte W03 + .byte N03 , En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v048 + .byte N06 , Gs2 , v064 + .byte W06 + .byte En1 , v104 + .byte N06 , En3 , v064 + .byte W06 + .byte En1 , v040 + .byte N06 , Fs2 , v064 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v096 + .byte N06 , Gs2 , v064 + .byte W06 + .byte N03 , En1 , v072 + .byte W03 + .byte En1 , v028 + .byte W03 + .byte En1 , v072 + .byte N06 , Fs2 , v064 + .byte W03 + .byte N03 , En1 , v032 + .byte W03 + .byte N03 + .byte N06 , Gs2 , v048 + .byte W03 + .byte N03 , En1 , v032 + .byte W03 + .byte N12 , En1 , v112 + .byte N06 , Gs2 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v064 + .byte W06 + .byte En1 , v088 + .byte W06 + .byte N12 , En1 , v112 + .byte N06 , Gs2 , v064 + .byte W12 + .byte N12 , En1 , v048 + .byte N06 , Fs2 , v064 + .byte W06 + .byte N03 , Gs2 , v048 + .byte W06 + .byte N12 , En1 , v112 + .byte N06 , Gs2 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte En1 , v048 + .byte N06 , Fs2 , v064 + .byte W06 + .byte En1 , v048 + .byte W06 + .byte N12 , En1 , v108 + .byte N06 , Gs2 , v064 + .byte W06 + .byte Dn3 + .byte W06 + .byte N12 , En1 , v048 + .byte N03 , Fs2 , v064 + .byte W06 + .byte Fs2 , v044 + .byte W06 + .byte N12 , En1 , v112 + .byte N06 , Fs2 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte N03 , En1 , v100 + .byte N06 , Fs2 , v064 + .byte W03 + .byte N03 , En1 , v048 + .byte W03 + .byte N03 + .byte N06 , Fs2 , v064 + .byte W03 + .byte N03 , En1 , v048 + .byte W03 + .byte N12 , En1 , v100 + .byte W12 + .byte En1 , v048 + .byte W12 + .byte En1 , v092 + .byte W12 + .byte N06 , En1 , v048 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte En1 , v052 + .byte W06 + .byte En1 , v120 + .byte W06 + .byte En1 , v052 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte N03 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte En1 , v092 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte En1 , v088 + .byte W03 + .byte En1 , v092 + .byte W03 + .byte N12 , En1 , v112 + .byte N03 , Gs4 , v036 + .byte W06 + .byte Gs4 , v016 + .byte W06 + .byte En1 , v112 + .byte N12 , An4 , v032 + .byte W03 + .byte N03 , En1 , v040 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v052 + .byte N03 , An4 , v032 + .byte W06 + .byte N06 , En1 , v120 + .byte N03 , An4 , v016 + .byte W06 + .byte N06 , En1 , v040 + .byte N12 , Gs4 , v032 + .byte W06 + .byte N06 , En1 , v112 + .byte W06 + .byte N12 + .byte N03 , Gs4 , v032 + .byte W06 + .byte Gs4 , v016 + .byte W06 + .byte N12 , En1 , v104 + .byte N03 , An4 , v032 + .byte W06 + .byte An4 , v016 + .byte W06 + .byte En1 , v112 + .byte N03 , An4 , v032 + .byte W03 + .byte En1 + .byte W03 + .byte En1 , v096 + .byte N03 , An4 , v016 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte En1 , v080 + .byte N12 , Gs4 , v032 + .byte W03 + .byte N03 , En1 , v056 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte En1 , v080 + .byte W03 + .byte En1 , v112 + .byte N03 , Gs4 , v032 + .byte W03 + .byte En1 , v036 + .byte N03 , Gs4 , v016 + .byte W03 + .byte En1 , v036 + .byte N03 , Gs4 , v016 + .byte W03 + .byte En1 , v036 + .byte N03 , Gs4 , v016 + .byte W03 + .byte N12 , En1 , v104 + .byte N03 , An4 , v032 + .byte W06 + .byte An4 , v016 + .byte W06 + .byte N06 , En1 , v048 + .byte N03 , An4 , v032 + .byte W06 + .byte N06 , En1 , v112 + .byte N03 , An4 , v016 + .byte W06 + .byte N06 , En1 , v044 + .byte N12 , Gs4 , v032 + .byte W06 + .byte N06 , En1 , v112 + .byte W06 + .byte N03 , En1 , v104 + .byte N03 , Gs4 , v032 + .byte W03 + .byte En1 , v056 + .byte W03 + .byte En1 , v048 + .byte N03 , Gs4 , v016 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte N03 + .byte N03 , An4 , v032 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte N03 + .byte N03 , An4 , v016 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte En1 , v112 + .byte N03 , An4 , v032 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte En1 , v104 + .byte N03 , An4 , v016 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte N03 + .byte N12 , Gs4 , v032 + .byte W03 + .byte N03 , En1 , v056 + .byte W03 + .byte En1 , v076 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte N12 , En1 , v112 + .byte N03 , Gs4 , v032 + .byte W06 + .byte Gs4 , v016 + .byte W06 + .byte En1 , v112 + .byte N12 , An4 , v032 + .byte W03 + .byte N03 , En1 , v040 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v052 + .byte N03 , An4 , v032 + .byte W06 + .byte N06 , En1 , v120 + .byte N03 , An4 , v016 + .byte W06 + .byte N06 , En1 , v040 + .byte N12 , Gs4 , v032 + .byte W06 + .byte N06 , En1 , v112 + .byte W06 + .byte N12 + .byte N03 , Gs4 , v032 + .byte W06 + .byte Gs4 , v020 + .byte W06 + .byte N12 , En1 , v104 + .byte N03 , An4 , v032 + .byte W06 + .byte An4 , v016 + .byte W06 + .byte En1 , v112 + .byte N03 , An4 , v032 + .byte W03 + .byte En1 + .byte W03 + .byte En1 , v092 + .byte N03 , An4 , v016 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte En1 , v108 + .byte N12 , Gs4 , v032 + .byte W03 + .byte N03 , En1 , v052 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v080 + .byte W03 + .byte En1 , v096 + .byte N03 , Gs4 , v032 + .byte W03 + .byte En1 , v036 + .byte N03 , Gs4 , v016 + .byte W03 + .byte En1 , v036 + .byte N03 , Gs4 , v016 + .byte W03 + .byte En1 , v036 + .byte N03 , Gs4 , v016 + .byte W03 + .byte N12 , En1 , v104 + .byte N03 , An4 , v032 + .byte W06 + .byte An4 , v016 + .byte W06 + .byte N06 , En1 , v048 + .byte N03 , An4 , v032 + .byte W06 + .byte N06 , En1 , v112 + .byte N03 , An4 , v016 + .byte W06 + .byte N06 , En1 , v044 + .byte N12 , Gs4 , v032 + .byte W06 + .byte N06 , En1 , v112 + .byte W06 + .byte N12 , En1 , v096 + .byte N03 , Gs4 , v032 + .byte W06 + .byte Gs4 , v016 + .byte W06 + .byte En1 , v112 + .byte N03 , An4 , v032 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte N03 + .byte N03 , An4 , v016 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte En1 , v112 + .byte N03 , An4 , v032 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte En1 , v088 + .byte N03 , An4 , v016 + .byte W03 + .byte En1 , v044 + .byte W03 + .byte En1 , v052 + .byte N12 , Gs4 , v032 + .byte W03 + .byte N03 , En1 , v060 + .byte W03 + .byte En1 , v072 + .byte W03 + .byte En1 , v080 + .byte W03 + .byte N24 , Gn2 + .byte W36 + .byte En2 + .byte W24 + .byte N18 , Bn2 , v084 + .byte W18 + .byte Cn3 + .byte W18 + .byte W96 + .byte W96 + .byte W84 + .byte W03 + .byte N03 , Gs2 , v048 + .byte W03 + .byte Gs2 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Gs2 , v064 + .byte W12 + .byte Fs2 + .byte W12 + .byte Gs2 + .byte W06 + .byte En3 + .byte W06 + .byte Fs2 + .byte W12 + .byte Gs2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fs2 + .byte W06 + .byte En3 + .byte W06 + .byte Gs2 + .byte W06 + .byte En3 + .byte W06 + .byte Fs2 + .byte W12 + .byte GOTO + .word mus_pyramid_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_pyramid_10: + .byte KEYSH , mus_pyramid_key+0 + .byte VOICE , 127 + .byte PAN , c_v+0 + .byte VOL , 56*mus_pyramid_mvl/mxv + .byte W24 + .byte W96 + .byte W96 + .byte W96 +mus_pyramid_10_000: + .byte N03 , En4 , v064 + .byte W03 + .byte N01 , En4 , v032 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N06 , En4 , v048 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte En4 , v048 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte N01 , En4 , v064 + .byte W03 + .byte En4 , v032 + .byte W03 + .byte N01 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En4 , v048 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte N01 , En4 , v064 + .byte W03 + .byte En4 , v032 + .byte W03 + .byte N01 + .byte W03 + .byte N03 + .byte W03 + .byte En4 , v064 + .byte W03 + .byte N01 , En4 , v032 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N06 , En4 , v048 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte PEND +mus_pyramid_10_001: + .byte N06 , En4 , v064 + .byte W06 + .byte N02 , En4 , v032 + .byte W06 + .byte N03 , En4 , v048 + .byte W03 + .byte N01 , En4 , v032 + .byte W03 + .byte N01 + .byte W03 + .byte N03 + .byte W03 + .byte En4 , v064 + .byte W03 + .byte N01 , En4 , v032 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N06 , En4 , v048 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte N03 , En4 , v064 + .byte W03 + .byte N01 , En4 , v032 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N06 , En4 , v048 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte En4 , v048 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte N03 , En4 , v064 + .byte W03 + .byte N01 , En4 , v032 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PEND +mus_pyramid_10_B1: + .byte PATT + .word mus_pyramid_10_000 + .byte PATT + .word mus_pyramid_10_001 + .byte PATT + .word mus_pyramid_10_000 + .byte PATT + .word mus_pyramid_10_001 + .byte PATT + .word mus_pyramid_10_000 + .byte PATT + .word mus_pyramid_10_001 + .byte PATT + .word mus_pyramid_10_000 + .byte PATT + .word mus_pyramid_10_001 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_pyramid_10_000 + .byte PATT + .word mus_pyramid_10_001 + .byte PATT + .word mus_pyramid_10_000 + .byte PATT + .word mus_pyramid_10_001 + .byte PATT + .word mus_pyramid_10_000 + .byte PATT + .word mus_pyramid_10_001 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_pyramid_10_000 + .byte PATT + .word mus_pyramid_10_001 + .byte GOTO + .word mus_pyramid_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_pyramid: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_pyramid_pri @ Priority + .byte mus_pyramid_rev @ Reverb. + + .word mus_pyramid_grp + + .word mus_pyramid_1 + .word mus_pyramid_2 + .word mus_pyramid_3 + .word mus_pyramid_4 + .word mus_pyramid_5 + .word mus_pyramid_6 + .word mus_pyramid_7 + .word mus_pyramid_8 + .word mus_pyramid_9 + .word mus_pyramid_10 + + .end diff --git a/sound/songs/mus_pyramid_top.s b/sound/songs/mus_pyramid_top.s new file mode 100644 index 0000000000..a78e8ff1b5 --- /dev/null +++ b/sound/songs/mus_pyramid_top.s @@ -0,0 +1,851 @@ + .include "MPlayDef.s" + + .equ mus_pyramid_top_grp, voicegroup_8696A70 + .equ mus_pyramid_top_pri, 0 + .equ mus_pyramid_top_rev, reverb_set+50 + .equ mus_pyramid_top_mvl, 127 + .equ mus_pyramid_top_key, 0 + .equ mus_pyramid_top_tbs, 1 + .equ mus_pyramid_top_exg, 0 + .equ mus_pyramid_top_cmp, 1 + + .section .rodata + .global mus_pyramid_top + .align 2 + +@********************** Track 1 **********************@ + +mus_pyramid_top_1: + .byte KEYSH , mus_pyramid_top_key+0 +mus_pyramid_top_1_B1: + .byte TEMPO , 90*mus_pyramid_top_tbs/2 + .byte VOICE , 46 + .byte VOL , 76*mus_pyramid_top_mvl/mxv + .byte PAN , c_v-48 + .byte N06 , Cn3 , v048 + .byte W06 + .byte Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Bn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Gn5 + .byte W06 + .byte En5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Cn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Fn5 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Gs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Fn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Cn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Bn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Gn5 + .byte W06 + .byte En5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Cn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Fs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte As4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , As3 + .byte W06 + .byte Fs3 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte GOTO + .word mus_pyramid_top_1_B1 + .byte W96 + .byte FINE + +@********************** Track 2 **********************@ + +mus_pyramid_top_2: + .byte KEYSH , mus_pyramid_top_key+0 +mus_pyramid_top_2_B1: + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 25*mus_pyramid_top_mvl/mxv + .byte TIE , Cn3 , v040 + .byte W02 + .byte VOL , 26*mus_pyramid_top_mvl/mxv + .byte W06 + .byte 25*mus_pyramid_top_mvl/mxv + .byte W10 + .byte 27*mus_pyramid_top_mvl/mxv + .byte W02 + .byte 28*mus_pyramid_top_mvl/mxv + .byte W04 + .byte 29*mus_pyramid_top_mvl/mxv + .byte W02 + .byte 30*mus_pyramid_top_mvl/mxv + .byte W04 + .byte 31*mus_pyramid_top_mvl/mxv + .byte W02 + .byte 32*mus_pyramid_top_mvl/mxv + .byte W06 + .byte 35*mus_pyramid_top_mvl/mxv + .byte W04 + .byte 37*mus_pyramid_top_mvl/mxv + .byte W02 + .byte 41*mus_pyramid_top_mvl/mxv + .byte W04 + .byte 44*mus_pyramid_top_mvl/mxv + .byte W02 + .byte 45*mus_pyramid_top_mvl/mxv + .byte W04 + .byte 49*mus_pyramid_top_mvl/mxv + .byte W02 + .byte 51*mus_pyramid_top_mvl/mxv + .byte W04 + .byte 55*mus_pyramid_top_mvl/mxv + .byte W02 + .byte 61*mus_pyramid_top_mvl/mxv + .byte W04 + .byte 66*mus_pyramid_top_mvl/mxv + .byte W02 + .byte 69*mus_pyramid_top_mvl/mxv + .byte W04 + .byte 70*mus_pyramid_top_mvl/mxv + .byte W02 + .byte 74*mus_pyramid_top_mvl/mxv + .byte W04 + .byte 75*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 76*mus_pyramid_top_mvl/mxv + .byte W02 + .byte 77*mus_pyramid_top_mvl/mxv + .byte W04 +mus_pyramid_top_2_000: + .byte VOL , 25*mus_pyramid_top_mvl/mxv + .byte W02 + .byte 26*mus_pyramid_top_mvl/mxv + .byte W06 + .byte 25*mus_pyramid_top_mvl/mxv + .byte W10 + .byte 27*mus_pyramid_top_mvl/mxv + .byte W02 + .byte 28*mus_pyramid_top_mvl/mxv + .byte W04 + .byte 29*mus_pyramid_top_mvl/mxv + .byte W02 + .byte 30*mus_pyramid_top_mvl/mxv + .byte W04 + .byte 31*mus_pyramid_top_mvl/mxv + .byte W02 + .byte 32*mus_pyramid_top_mvl/mxv + .byte W06 + .byte 35*mus_pyramid_top_mvl/mxv + .byte W04 + .byte 37*mus_pyramid_top_mvl/mxv + .byte W02 + .byte 41*mus_pyramid_top_mvl/mxv + .byte W04 + .byte 44*mus_pyramid_top_mvl/mxv + .byte W02 + .byte 45*mus_pyramid_top_mvl/mxv + .byte W04 + .byte 49*mus_pyramid_top_mvl/mxv + .byte W02 + .byte 51*mus_pyramid_top_mvl/mxv + .byte W04 + .byte 55*mus_pyramid_top_mvl/mxv + .byte W02 + .byte 61*mus_pyramid_top_mvl/mxv + .byte W04 + .byte 66*mus_pyramid_top_mvl/mxv + .byte W02 + .byte 69*mus_pyramid_top_mvl/mxv + .byte W04 + .byte 70*mus_pyramid_top_mvl/mxv + .byte W02 + .byte 74*mus_pyramid_top_mvl/mxv + .byte W04 + .byte 75*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 76*mus_pyramid_top_mvl/mxv + .byte W02 + .byte 77*mus_pyramid_top_mvl/mxv + .byte W04 + .byte PEND + .byte PATT + .word mus_pyramid_top_2_000 + .byte PATT + .word mus_pyramid_top_2_000 + .byte EOT , Cn3 + .byte GOTO + .word mus_pyramid_top_2_B1 + .byte W96 + .byte FINE + +@********************** Track 3 **********************@ + +mus_pyramid_top_3: + .byte KEYSH , mus_pyramid_top_key+0 +mus_pyramid_top_3_B1: + .byte VOICE , 5 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 37*mus_pyramid_top_mvl/mxv + .byte N06 , Cn1 , v068 + .byte W18 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N12 , Cn3 , v032 + .byte W12 +mus_pyramid_top_3_000: + .byte N06 , Cn1 , v068 + .byte W18 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N12 , Cn3 , v032 + .byte W12 + .byte PEND + .byte PATT + .word mus_pyramid_top_3_000 + .byte PATT + .word mus_pyramid_top_3_000 + .byte GOTO + .word mus_pyramid_top_3_B1 + .byte W96 + .byte FINE + +@********************** Track 4 **********************@ + +mus_pyramid_top_4: + .byte KEYSH , mus_pyramid_top_key+0 +mus_pyramid_top_4_B1: + .byte VOICE , 53 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 50*mus_pyramid_top_mvl/mxv + .byte N96 , En3 , v044 + .byte W12 + .byte VOL , 37*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 32*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 25*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 18*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 12*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 7*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 3*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 50*mus_pyramid_top_mvl/mxv + .byte N96 , Fn3 + .byte W12 + .byte VOL , 37*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 32*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 25*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 18*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 12*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 7*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 3*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 50*mus_pyramid_top_mvl/mxv + .byte N96 , En3 + .byte W12 + .byte VOL , 37*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 32*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 25*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 18*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 12*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 7*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 3*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 50*mus_pyramid_top_mvl/mxv + .byte N96 , Ds3 + .byte W12 + .byte VOL , 37*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 32*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 25*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 18*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 12*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 7*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 3*mus_pyramid_top_mvl/mxv + .byte W12 + .byte GOTO + .word mus_pyramid_top_4_B1 + .byte VOL , 0*mus_pyramid_top_mvl/mxv + .byte W96 + .byte FINE + +@********************** Track 5 **********************@ + +mus_pyramid_top_5: + .byte KEYSH , mus_pyramid_top_key+0 +mus_pyramid_top_5_B1: + .byte VOICE , 14 + .byte PAN , c_v-32 + .byte VOL , 75*mus_pyramid_top_mvl/mxv + .byte N18 , As4 , v020 + .byte W18 + .byte N42 , En4 , v048 + .byte W18 + .byte VOL , 62*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 50*mus_pyramid_top_mvl/mxv + .byte W06 + .byte 37*mus_pyramid_top_mvl/mxv + .byte W06 + .byte PAN , c_v+23 + .byte N24 , Cn4 + .byte W12 + .byte VOL , 31*mus_pyramid_top_mvl/mxv + .byte W06 + .byte 25*mus_pyramid_top_mvl/mxv + .byte W06 + .byte PAN , c_v-32 + .byte VOL , 50*mus_pyramid_top_mvl/mxv + .byte N30 , Cn5 + .byte W12 + .byte VOL , 75*mus_pyramid_top_mvl/mxv + .byte W06 + .byte 37*mus_pyramid_top_mvl/mxv + .byte W06 + .byte 25*mus_pyramid_top_mvl/mxv + .byte W06 + .byte PAN , c_v+32 + .byte N42 , Fn4 + .byte W18 + .byte VOL , 62*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 50*mus_pyramid_top_mvl/mxv + .byte W06 + .byte 37*mus_pyramid_top_mvl/mxv + .byte W06 + .byte PAN , c_v-24 + .byte N24 , Cn4 + .byte W12 + .byte VOL , 31*mus_pyramid_top_mvl/mxv + .byte W06 + .byte 25*mus_pyramid_top_mvl/mxv + .byte W06 + .byte PAN , c_v+32 + .byte VOL , 50*mus_pyramid_top_mvl/mxv + .byte N30 , Cn5 + .byte W12 + .byte PAN , c_v-32 + .byte VOL , 75*mus_pyramid_top_mvl/mxv + .byte W06 + .byte 37*mus_pyramid_top_mvl/mxv + .byte W06 + .byte 25*mus_pyramid_top_mvl/mxv + .byte W06 + .byte 62*mus_pyramid_top_mvl/mxv + .byte N36 , En4 + .byte W18 + .byte VOL , 50*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 38*mus_pyramid_top_mvl/mxv + .byte W06 + .byte 37*mus_pyramid_top_mvl/mxv + .byte N30 , Cn4 + .byte W06 + .byte PAN , c_v+23 + .byte W12 + .byte VOL , 31*mus_pyramid_top_mvl/mxv + .byte W06 + .byte 25*mus_pyramid_top_mvl/mxv + .byte W06 + .byte PAN , c_v-32 + .byte VOL , 50*mus_pyramid_top_mvl/mxv + .byte N30 , Cn5 + .byte W12 + .byte W06 + .byte VOL , 37*mus_pyramid_top_mvl/mxv + .byte W06 + .byte 62*mus_pyramid_top_mvl/mxv + .byte W06 + .byte PAN , c_v+32 + .byte N30 , Ds4 + .byte W18 + .byte VOL , 50*mus_pyramid_top_mvl/mxv + .byte W12 + .byte 38*mus_pyramid_top_mvl/mxv + .byte N24 , Cn4 + .byte W06 + .byte VOL , 37*mus_pyramid_top_mvl/mxv + .byte W06 + .byte PAN , c_v-24 + .byte W12 + .byte VOL , 31*mus_pyramid_top_mvl/mxv + .byte N24 , As4 + .byte W06 + .byte VOL , 25*mus_pyramid_top_mvl/mxv + .byte W06 + .byte PAN , c_v+32 + .byte VOL , 50*mus_pyramid_top_mvl/mxv + .byte W12 + .byte GOTO + .word mus_pyramid_top_5_B1 + .byte W96 + .byte FINE + +@********************** Track 6 **********************@ + +mus_pyramid_top_6: + .byte KEYSH , mus_pyramid_top_key+0 +mus_pyramid_top_6_B1: + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 25*mus_pyramid_top_mvl/mxv + .byte N06 , Cn3 , v048 + .byte W06 + .byte Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte Gn5 + .byte W06 + .byte En5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte Gn5 + .byte W06 + .byte En5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs4 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte As4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte GOTO + .word mus_pyramid_top_6_B1 + .byte W96 + .byte FINE + +@********************** Track 7 **********************@ + +mus_pyramid_top_7: + .byte KEYSH , mus_pyramid_top_key+0 +mus_pyramid_top_7_B1: + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 25*mus_pyramid_top_mvl/mxv + .byte BEND , c_v+1 + .byte N06 , Cn4 , v048 + .byte W06 + .byte Cn5 + .byte W06 + .byte En5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Dn6 + .byte W06 + .byte En6 + .byte W06 + .byte Gn6 + .byte W06 + .byte En6 + .byte W06 + .byte Cn6 + .byte W06 + .byte Gn5 + .byte W06 + .byte En5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte En5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Cn6 + .byte W06 + .byte Ds6 + .byte W06 + .byte Fn6 + .byte W06 + .byte Gs6 + .byte W06 + .byte Fn6 + .byte W06 + .byte Ds6 + .byte W06 + .byte Cn6 + .byte W06 + .byte Gs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte En5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Dn6 + .byte W06 + .byte En6 + .byte W06 + .byte Gn6 + .byte W06 + .byte En6 + .byte W06 + .byte Cn6 + .byte W06 + .byte Gn5 + .byte W06 + .byte En5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Fs5 + .byte W06 + .byte As5 + .byte W06 + .byte Cs6 + .byte W06 + .byte Ds6 + .byte W06 + .byte Fs6 + .byte W06 + .byte Ds6 + .byte W06 + .byte As5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte As4 + .byte W06 + .byte Fs4 + .byte W06 + .byte As4 + .byte W06 + .byte Ds5 + .byte W06 + .byte GOTO + .word mus_pyramid_top_7_B1 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +mus_pyramid_top: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_pyramid_top_pri @ Priority + .byte mus_pyramid_top_rev @ Reverb. + + .word mus_pyramid_top_grp + + .word mus_pyramid_top_1 + .word mus_pyramid_top_2 + .word mus_pyramid_top_3 + .word mus_pyramid_top_4 + .word mus_pyramid_top_5 + .word mus_pyramid_top_6 + .word mus_pyramid_top_7 + + .end diff --git a/sound/songs/mus_rainbow.s b/sound/songs/mus_rainbow.s new file mode 100644 index 0000000000..1dffd415a1 --- /dev/null +++ b/sound/songs/mus_rainbow.s @@ -0,0 +1,2827 @@ + .include "MPlayDef.s" + + .equ mus_rainbow_grp, voicegroup_8688E74 + .equ mus_rainbow_pri, 0 + .equ mus_rainbow_rev, reverb_set+50 + .equ mus_rainbow_mvl, 127 + .equ mus_rainbow_key, 0 + .equ mus_rainbow_tbs, 1 + .equ mus_rainbow_exg, 0 + .equ mus_rainbow_cmp, 1 + + .section .rodata + .global mus_rainbow + .align 2 + +@********************** Track 1 **********************@ + +mus_rainbow_1: + .byte KEYSH , mus_rainbow_key+0 + .byte TEMPO , 128*mus_rainbow_tbs/2 + .byte VOICE , 24 + .byte LFOS , 44 + .byte PAN , c_v+30 + .byte VOL , 59*mus_rainbow_mvl/mxv + .byte N04 , Gn2 , v112 + .byte W04 + .byte As2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Fn3 + .byte W04 + .byte N08 , Gn3 + .byte W08 + .byte N04 , As3 + .byte W08 + .byte Gn3 + .byte W08 + .byte As3 + .byte W08 + .byte Gn3 + .byte W08 + .byte As3 + .byte W08 + .byte N08 , Gn3 + .byte W08 + .byte N04 , As3 + .byte W08 + .byte Gn3 + .byte W08 + .byte As3 + .byte W08 + .byte Gn3 + .byte W08 + .byte As3 + .byte W08 + .byte N04 + .byte W08 + .byte Gn3 + .byte W08 + .byte As3 + .byte W08 + .byte Gn3 + .byte W08 + .byte As3 + .byte W08 + .byte Gn3 + .byte W08 + .byte As3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N08 + .byte W08 + .byte Ds3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte N08 , Cn3 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte N08 , Cn3 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte N08 , Cn3 + .byte W08 + .byte N04 , An2 + .byte W08 + .byte Cn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte N40 , Ds3 + .byte W40 + .byte N08 , En3 + .byte W08 + .byte N24 , Fn3 + .byte W24 + .byte Fn2 + .byte W24 +mus_rainbow_1_B1: + .byte N20 , As2 , v112 + .byte W24 + .byte N24 , Fn2 + .byte W24 + .byte Dn3 + .byte W24 + .byte N16 , As2 + .byte W16 + .byte N32 , Cn3 + .byte W08 + .byte W24 + .byte N24 , An2 + .byte W24 + .byte Ds3 + .byte W24 + .byte N16 , Cn3 + .byte W16 + .byte N08 , Cs3 + .byte W08 + .byte N24 , Dn3 + .byte W24 + .byte As2 + .byte W24 + .byte N16 , Fn3 + .byte W16 + .byte N04 , En3 , v080 + .byte W04 + .byte Ds3 + .byte W04 + .byte N24 , Dn3 , v112 + .byte W24 + .byte N16 , Ds3 + .byte W16 + .byte N04 , Cn3 + .byte W08 + .byte N16 , Dn3 + .byte W16 + .byte N04 , Bn2 + .byte W08 + .byte N16 , Cn3 + .byte W16 + .byte N04 , Gn2 + .byte W08 + .byte N16 , Dn3 + .byte W16 + .byte N04 , Bn2 + .byte W08 + .byte N24 , Ds3 + .byte W24 + .byte As2 + .byte W24 + .byte Fs3 + .byte W24 + .byte Ds3 + .byte W24 + .byte Dn3 + .byte W24 + .byte N04 , As2 + .byte W16 + .byte N08 , Dn3 + .byte W08 + .byte N24 , Fn3 + .byte W24 + .byte Dn3 + .byte W24 + .byte En3 + .byte W24 + .byte Cn3 + .byte W24 + .byte N16 , As2 + .byte W16 + .byte N20 , En3 + .byte W24 + .byte N04 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N32 , Fn3 + .byte W32 + .byte N24 , Ds3 + .byte W24 + .byte N72 , As2 + .byte W80 + .byte N04 , Dn3 + .byte W08 + .byte As2 + .byte W08 + .byte N40 , Cn3 + .byte W40 + .byte N04 , Fn2 + .byte W08 + .byte N24 + .byte W24 + .byte An2 + .byte W24 + .byte N72 , Dn3 + .byte W72 + .byte N04 , As2 + .byte W08 + .byte Fn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte N40 , Bn2 + .byte W40 + .byte N04 , Gn2 + .byte W08 + .byte N16 + .byte W16 + .byte N04 , Fn2 + .byte W08 + .byte N16 , Ds2 + .byte W16 + .byte N04 , Dn2 + .byte W08 + .byte N48 , Ds2 + .byte W48 + .byte N24 , Fs2 + .byte W24 + .byte As2 + .byte W24 + .byte Dn3 + .byte W24 + .byte N04 , Fn3 + .byte W16 + .byte N24 , As2 + .byte W24 + .byte N04 , Cn3 + .byte W08 + .byte N24 , Dn3 + .byte W24 + .byte N40 , En3 + .byte W40 + .byte N04 , Cn3 + .byte W08 + .byte N20 + .byte W24 + .byte N04 + .byte W08 + .byte Gn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte N04 , Cn3 + .byte W08 + .byte Ds3 + .byte W16 + .byte N32 , Fn2 + .byte W32 + .byte N04 , Cn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte An3 + .byte W04 + .byte N64 , As3 + .byte W64 + .byte N04 , Gs3 + .byte W24 + .byte Fs3 + .byte W08 + .byte N16 , Gs3 + .byte W16 + .byte N04 , As3 + .byte W04 + .byte Gs3 + .byte W04 + .byte N24 , Fs3 + .byte W24 + .byte Fn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte N16 , Gs3 + .byte W16 + .byte N24 , Cn3 + .byte W24 + .byte N56 , Cn4 + .byte W56 + .byte N08 , Gs4 + .byte W08 + .byte N04 , As4 + .byte W08 + .byte Fn4 + .byte W08 + .byte N08 , Fs4 + .byte W08 + .byte N04 , Gs4 + .byte W08 + .byte Ds4 + .byte W08 + .byte N08 , Fn4 + .byte W08 + .byte N04 , Fs4 + .byte W08 + .byte Cs4 + .byte W08 + .byte N08 , Gs3 + .byte W08 + .byte N04 , As3 + .byte W08 + .byte Cs4 + .byte W08 + .byte N64 , As3 + .byte W64 + .byte N04 + .byte W24 + .byte N04 + .byte W08 + .byte N24 + .byte W24 + .byte Fs3 + .byte W24 + .byte N16 , An3 + .byte W16 + .byte N04 , Gs3 + .byte W08 + .byte N16 , An3 + .byte W16 + .byte N04 , Cs4 + .byte W08 + .byte N16 , Gs3 + .byte W16 + .byte N04 , Fs3 + .byte W24 + .byte Fn3 + .byte W04 + .byte Fs3 + .byte W04 + .byte N48 , Gs3 + .byte W48 + .byte N24 , Cn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte Ds3 + .byte W24 + .byte Bn2 + .byte W24 + .byte N32 , As3 + .byte W32 + .byte N04 , Bn3 + .byte W08 + .byte As3 + .byte W08 + .byte N16 , Fs3 + .byte W16 + .byte N24 , As3 + .byte W24 + .byte N04 , Fs3 + .byte W08 + .byte N16 , An3 + .byte W16 + .byte N04 , Bn3 + .byte W04 + .byte An3 + .byte W04 + .byte Fs3 + .byte W24 + .byte N16 , Ds3 + .byte W16 + .byte N24 , Fs3 + .byte W24 + .byte N08 , Ds3 + .byte W08 + .byte N32 , Cn4 + .byte W32 + .byte N04 , Cs4 + .byte W08 + .byte Cn4 + .byte W08 + .byte N16 , Gs3 + .byte W16 + .byte N24 , Cn4 + .byte W24 + .byte N04 , Bn3 + .byte W08 + .byte N16 , As3 + .byte W16 + .byte N04 , Cn4 + .byte W04 + .byte As3 + .byte W04 + .byte N24 , Gs3 + .byte W24 + .byte As3 + .byte W24 + .byte Cn4 + .byte W24 + .byte N16 , As3 + .byte W16 + .byte N04 , Gs3 + .byte W24 + .byte N56 , Fs3 + .byte W56 + .byte N16 , An3 + .byte W16 + .byte N04 , Gs3 + .byte W24 + .byte N08 , Fs3 + .byte W24 + .byte N04 + .byte W08 + .byte N12 , An3 + .byte W12 + .byte N04 , As3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cn4 + .byte W04 + .byte N48 , Cs4 + .byte W48 + .byte Cn4 + .byte W48 + .byte As3 + .byte W48 + .byte Cn4 + .byte W48 + .byte GOTO + .word mus_rainbow_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rainbow_2: + .byte KEYSH , mus_rainbow_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 81*mus_rainbow_mvl/mxv + .byte N04 , Fn3 , v112 + .byte W04 + .byte Gn3 + .byte W04 + .byte An3 + .byte W04 + .byte As3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Cs4 + .byte W04 + .byte TIE , Dn4 + .byte W96 + .byte W40 + .byte EOT + .byte N24 , Cn4 + .byte W24 + .byte N08 , As3 + .byte W08 + .byte Gn3 + .byte W08 + .byte As3 + .byte W08 + .byte Ds3 + .byte W08 + .byte N48 , An3 + .byte W48 + .byte As3 + .byte W48 + .byte Bn3 + .byte W48 + .byte Cn4 + .byte W48 +mus_rainbow_2_B1: +mus_rainbow_2_000: + .byte N16 , Dn4 , v112 + .byte W16 + .byte N04 , Ds4 + .byte W08 + .byte Fn4 + .byte W16 + .byte N24 + .byte W24 + .byte N04 , Ds4 + .byte W08 + .byte Dn4 + .byte W16 + .byte TIE , Cn4 + .byte W08 + .byte PEND + .byte W96 + .byte EOT +mus_rainbow_2_001: + .byte N16 , Dn4 , v112 + .byte W16 + .byte N04 , Ds4 + .byte W08 + .byte Fn4 + .byte W16 + .byte N24 , As4 + .byte W24 + .byte N04 , Fn4 + .byte W08 + .byte Ds4 + .byte W16 + .byte Dn4 + .byte W08 + .byte PEND +mus_rainbow_2_002: + .byte N16 , Cn4 , v112 + .byte W16 + .byte N04 , Dn4 + .byte W04 + .byte Cn4 + .byte W04 + .byte N24 , Bn3 + .byte W24 + .byte Cn4 + .byte W24 + .byte Dn4 + .byte W24 + .byte PEND +mus_rainbow_2_003: + .byte N48 , As3 , v112 + .byte W48 + .byte N24 , Cn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte PEND + .byte Dn4 + .byte W24 + .byte N04 , Fn4 + .byte W16 + .byte N24 , As3 + .byte W24 + .byte N04 , An3 + .byte W08 + .byte N16 , As3 + .byte W16 + .byte N04 , Bn3 + .byte W08 + .byte N64 , Cn4 + .byte W64 + .byte N20 , As3 + .byte W32 + .byte N16 + .byte W16 + .byte N04 , An3 + .byte W08 + .byte As3 + .byte W16 + .byte N56 , Cn4 + .byte W56 + .byte PATT + .word mus_rainbow_2_000 + .byte W96 + .byte EOT , Cn4 + .byte PATT + .word mus_rainbow_2_001 + .byte PATT + .word mus_rainbow_2_002 + .byte PATT + .word mus_rainbow_2_003 + .byte N24 , Dn4 , v112 + .byte W24 + .byte N04 , Fn4 + .byte W16 + .byte N24 , As4 + .byte W24 + .byte N04 , Gn4 + .byte W08 + .byte N16 , Fn4 + .byte W16 + .byte N04 , Dn4 + .byte W08 + .byte N64 , As3 + .byte W64 + .byte N20 , Cn4 + .byte W32 + .byte N16 , As3 + .byte W16 + .byte N04 , Gs3 + .byte W08 + .byte Fs3 + .byte W16 + .byte N32 , Fn3 + .byte W32 + .byte N04 , Gn3 + .byte W04 + .byte An3 + .byte W04 + .byte As3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte N64 , Fn4 + .byte W64 + .byte N04 , Ds4 + .byte W24 + .byte Cs4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N04 , Fn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte N24 , Cs4 + .byte W24 + .byte Cn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte N16 , Ds4 + .byte W16 + .byte N04 , Gs3 + .byte W24 + .byte N56 , Gs4 + .byte W56 + .byte W72 + .byte N04 , Gs3 + .byte W08 + .byte As3 + .byte W08 + .byte Cs4 + .byte W08 + .byte N64 , Fn4 + .byte W64 + .byte N04 , Fs4 + .byte W24 + .byte Fn4 + .byte W08 + .byte N24 , Fs4 + .byte W24 + .byte Fn4 + .byte W24 + .byte N16 , Fs4 + .byte W16 + .byte N04 , Fn4 + .byte W08 + .byte N16 , Fs4 + .byte W16 + .byte N04 , Gs4 + .byte W08 + .byte N16 , Fn4 + .byte W16 + .byte N04 , Ds4 + .byte W24 + .byte Cs4 + .byte W04 + .byte Ds4 + .byte W04 + .byte N48 , Fn4 + .byte W48 + .byte N24 , Gs3 + .byte W24 + .byte As3 + .byte W24 + .byte Cs4 + .byte W24 + .byte Ds4 + .byte W24 + .byte N64 , Fn4 + .byte W64 + .byte N24 , Ds4 + .byte W24 + .byte N04 , Cs4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N04 , Fn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Cs4 + .byte W24 + .byte N24 , Cn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte N60 , Gs4 + .byte W64 + .byte N04 , Fs4 + .byte W24 + .byte Fn4 + .byte W08 + .byte N16 , Fs4 + .byte W16 + .byte N04 , Gs4 + .byte W04 + .byte Fs4 + .byte W04 + .byte N24 , Fn4 + .byte W24 + .byte Fs4 + .byte W24 + .byte Gs4 + .byte W24 + .byte N72 , As4 + .byte W72 + .byte N04 , Fs4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Fs4 + .byte W08 + .byte N16 , Fn4 + .byte W16 + .byte N04 , Ds4 + .byte W24 + .byte N08 , Cs4 + .byte W24 + .byte N04 , Cn4 + .byte W08 + .byte N12 , Cs4 + .byte W12 + .byte N04 , Ds4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte TIE , Gs4 + .byte W96 + .byte W96 + .byte EOT + .byte GOTO + .word mus_rainbow_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rainbow_3: + .byte KEYSH , mus_rainbow_key+0 + .byte VOICE , 35 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 86*mus_rainbow_mvl/mxv + .byte PAN , c_v+0 + .byte W24 + .byte N04 , Cn1 , v096 + .byte W16 + .byte Cn1 , v088 + .byte W08 + .byte Cn2 , v112 + .byte W16 + .byte Cn1 , v084 + .byte W08 + .byte Cn1 , v096 + .byte W16 + .byte Cn1 , v088 + .byte W08 + .byte Cn1 , v112 + .byte W08 + .byte Gn1 + .byte W08 + .byte Cn2 , v084 + .byte W08 + .byte Cn1 , v096 + .byte W16 + .byte Cn1 , v088 + .byte W08 + .byte Cn2 , v112 + .byte W16 + .byte Cn1 , v084 + .byte W08 + .byte Cn1 , v096 + .byte W16 + .byte Cn1 , v088 + .byte W08 + .byte Cn1 , v112 + .byte W08 + .byte Dn1 + .byte W08 + .byte En1 , v084 + .byte W08 + .byte Fn1 , v096 + .byte W08 + .byte Fn2 , v112 + .byte W08 + .byte Fn1 , v088 + .byte W08 + .byte N16 , Fn2 , v112 + .byte W16 + .byte N04 , Fn1 , v084 + .byte W08 + .byte N12 , Fn1 , v096 + .byte W16 + .byte N04 , Fn1 , v088 + .byte W08 + .byte Fn1 , v112 + .byte W08 + .byte Cn2 + .byte W08 + .byte Fn2 , v084 + .byte W08 + .byte Fn1 , v096 + .byte W08 + .byte Fn2 , v112 + .byte W08 + .byte Fn1 , v088 + .byte W08 + .byte N16 , Fn2 , v112 + .byte W16 + .byte N04 , Fn1 , v084 + .byte W08 + .byte Fn1 , v096 + .byte W16 + .byte Fn1 , v088 + .byte W08 + .byte Fn1 , v112 + .byte W08 + .byte Gn1 + .byte W08 + .byte An1 , v084 + .byte W08 +mus_rainbow_3_B1: + .byte N04 , As1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte As2 + .byte W08 + .byte As1 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 +mus_rainbow_3_000: + .byte N04 , An1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte An2 + .byte W08 + .byte An1 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte As1 + .byte W08 + .byte An1 + .byte W08 + .byte PEND +mus_rainbow_3_001: + .byte N04 , Gs1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gs2 + .byte W08 + .byte Gs1 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte PEND +mus_rainbow_3_002: + .byte N04 , Gn1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gn2 + .byte W08 + .byte Gn1 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gs1 + .byte W08 + .byte Gn1 + .byte W08 + .byte PEND +mus_rainbow_3_003: + .byte N04 , Fs1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fs2 + .byte W08 + .byte Fs1 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte PEND +mus_rainbow_3_004: + .byte N04 , Fn1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fn2 + .byte W08 + .byte Fn1 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte PEND +mus_rainbow_3_005: + .byte N04 , En1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte En2 + .byte W08 + .byte En1 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fn1 + .byte W08 + .byte En1 + .byte W08 + .byte PEND + .byte Ds1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Ds2 + .byte W08 + .byte Ds1 + .byte W08 + .byte Fn1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gn1 + .byte W08 + .byte An1 + .byte W08 + .byte As1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte As2 + .byte W08 + .byte As1 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte As2 + .byte W08 + .byte As1 + .byte W08 + .byte PATT + .word mus_rainbow_3_000 + .byte PATT + .word mus_rainbow_3_001 + .byte PATT + .word mus_rainbow_3_002 + .byte N04 , Fs1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fs2 + .byte W08 + .byte Fs1 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fs2 + .byte W08 + .byte Fs1 + .byte W08 + .byte PATT + .word mus_rainbow_3_004 + .byte PATT + .word mus_rainbow_3_005 + .byte N04 , Ds1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Ds2 + .byte W08 + .byte En1 + .byte W08 + .byte Fn1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Cn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte PATT + .word mus_rainbow_3_003 + .byte N04 , Fs1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fs2 + .byte W08 + .byte Fs1 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gn1 + .byte W08 + .byte Fs1 + .byte W08 + .byte PATT + .word mus_rainbow_3_004 + .byte N04 , Fn1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fn2 + .byte W08 + .byte Fn1 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fs1 + .byte W08 + .byte Fn1 + .byte W08 + .byte Ds1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Ds2 + .byte W08 + .byte Ds1 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Ds2 + .byte W08 + .byte Ds1 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Dn1 + .byte W08 + .byte Cs1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Cs2 + .byte W08 + .byte Cs1 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Cn1 + .byte W08 + .byte As0 + .byte W08 + .byte Gs0 + .byte W08 + .byte Gs1 + .byte W08 + .byte Gs0 + .byte W08 + .byte N12 , Gs1 + .byte W16 + .byte N04 + .byte W08 + .byte Bn0 + .byte W08 + .byte Bn1 + .byte W08 + .byte Bn0 + .byte W08 + .byte N04 + .byte W08 + .byte Fs1 + .byte W08 + .byte Bn1 + .byte W08 + .byte Fs1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fs2 + .byte W08 + .byte Fs1 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gs1 + .byte W08 + .byte As1 + .byte W08 + .byte Bn1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Bn2 + .byte W08 + .byte Bn1 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte As1 + .byte W08 + .byte Gs1 + .byte W08 + .byte Fn1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fn2 + .byte W08 + .byte Fn1 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fs1 + .byte W08 + .byte Gs1 + .byte W08 + .byte As1 + .byte W16 + .byte N04 + .byte W08 + .byte Gs1 + .byte W16 + .byte N04 + .byte W08 + .byte Fs1 + .byte W16 + .byte N04 + .byte W08 + .byte Fn1 + .byte W16 + .byte N04 + .byte W08 + .byte Ds1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Ds2 + .byte W08 + .byte Ds1 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fn1 + .byte W08 + .byte Fs1 + .byte W08 + .byte Bn1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Bn2 + .byte W08 + .byte Bn1 + .byte W08 + .byte Fs1 + .byte W16 + .byte N04 + .byte W08 + .byte Fn1 + .byte W08 + .byte Fs1 + .byte W08 + .byte Gn1 + .byte W08 + .byte Gs1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Cs2 + .byte W08 + .byte Ds2 + .byte W08 + .byte Gs1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gs2 + .byte W08 + .byte Gs1 + .byte W08 + .byte Gs0 + .byte W08 + .byte Gs1 + .byte W08 + .byte Gs0 + .byte W08 + .byte N12 , Gs1 + .byte W16 + .byte N04 + .byte W08 + .byte Gs0 + .byte W08 + .byte Gs1 + .byte W08 + .byte Gs0 + .byte W08 + .byte Gs1 + .byte W08 + .byte As1 + .byte W08 + .byte Cn2 + .byte W08 + .byte GOTO + .word mus_rainbow_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rainbow_4: + .byte KEYSH , mus_rainbow_key+0 + .byte VOICE , 14 + .byte LFOS , 44 + .byte PAN , c_v-20 + .byte VOL , 68*mus_rainbow_mvl/mxv + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rainbow_4_B1: + .byte VOL , 68*mus_rainbow_mvl/mxv + .byte W96 + .byte W24 + .byte N24 , Fn3 , v112 + .byte W24 + .byte An3 + .byte W24 + .byte Fn4 + .byte W24 + .byte N48 , Dn4 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W24 + .byte N24 , Gn3 + .byte W24 + .byte N16 , Cn4 + .byte W16 + .byte N24 , Gn4 , v108 + .byte W24 + .byte N06 , Cn4 , v080 + .byte W08 + .byte N24 , Ds4 , v104 + .byte W24 + .byte As3 , v112 + .byte W24 + .byte Fn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte N96 , As4 + .byte W24 + .byte VOL , 67*mus_rainbow_mvl/mxv + .byte W01 + .byte 67*mus_rainbow_mvl/mxv + .byte W03 + .byte 65*mus_rainbow_mvl/mxv + .byte W01 + .byte 64*mus_rainbow_mvl/mxv + .byte W03 + .byte 62*mus_rainbow_mvl/mxv + .byte W01 + .byte 60*mus_rainbow_mvl/mxv + .byte W03 + .byte 60*mus_rainbow_mvl/mxv + .byte W01 + .byte 57*mus_rainbow_mvl/mxv + .byte W03 + .byte 56*mus_rainbow_mvl/mxv + .byte W01 + .byte 54*mus_rainbow_mvl/mxv + .byte W03 + .byte 51*mus_rainbow_mvl/mxv + .byte W01 + .byte 50*mus_rainbow_mvl/mxv + .byte W03 + .byte 48*mus_rainbow_mvl/mxv + .byte W04 + .byte 43*mus_rainbow_mvl/mxv + .byte W01 + .byte 42*mus_rainbow_mvl/mxv + .byte W03 + .byte 41*mus_rainbow_mvl/mxv + .byte W01 + .byte 39*mus_rainbow_mvl/mxv + .byte W03 + .byte 37*mus_rainbow_mvl/mxv + .byte W01 + .byte 35*mus_rainbow_mvl/mxv + .byte W03 + .byte 34*mus_rainbow_mvl/mxv + .byte W01 + .byte 32*mus_rainbow_mvl/mxv + .byte W03 + .byte 29*mus_rainbow_mvl/mxv + .byte W01 + .byte 29*mus_rainbow_mvl/mxv + .byte W03 + .byte 27*mus_rainbow_mvl/mxv + .byte W01 + .byte 25*mus_rainbow_mvl/mxv + .byte W03 + .byte 23*mus_rainbow_mvl/mxv + .byte W01 + .byte 20*mus_rainbow_mvl/mxv + .byte W03 + .byte 19*mus_rainbow_mvl/mxv + .byte W01 + .byte 16*mus_rainbow_mvl/mxv + .byte W03 + .byte 12*mus_rainbow_mvl/mxv + .byte W01 + .byte 10*mus_rainbow_mvl/mxv + .byte W03 + .byte 6*mus_rainbow_mvl/mxv + .byte W01 + .byte 6*mus_rainbow_mvl/mxv + .byte W03 + .byte 3*mus_rainbow_mvl/mxv + .byte W04 + .byte VOICE , 56 + .byte W24 + .byte VOL , 68*mus_rainbow_mvl/mxv + .byte N08 , An3 + .byte W08 + .byte Fn3 + .byte W08 + .byte An3 + .byte W08 + .byte Cn4 + .byte W08 + .byte An3 + .byte W08 + .byte Cn4 + .byte W08 + .byte N16 , Fn4 + .byte W16 + .byte N04 , En4 , v080 + .byte W04 + .byte Ds4 , v076 + .byte W04 + .byte N96 , Dn4 , v112 + .byte W24 + .byte VOL , 67*mus_rainbow_mvl/mxv + .byte W01 + .byte 64*mus_rainbow_mvl/mxv + .byte W04 + .byte 63*mus_rainbow_mvl/mxv + .byte W03 + .byte 60*mus_rainbow_mvl/mxv + .byte W01 + .byte 60*mus_rainbow_mvl/mxv + .byte W03 + .byte 57*mus_rainbow_mvl/mxv + .byte W01 + .byte 56*mus_rainbow_mvl/mxv + .byte W03 + .byte 53*mus_rainbow_mvl/mxv + .byte W01 + .byte 51*mus_rainbow_mvl/mxv + .byte W03 + .byte 48*mus_rainbow_mvl/mxv + .byte W04 + .byte 43*mus_rainbow_mvl/mxv + .byte W01 + .byte 41*mus_rainbow_mvl/mxv + .byte W03 + .byte 38*mus_rainbow_mvl/mxv + .byte W01 + .byte 35*mus_rainbow_mvl/mxv + .byte W03 + .byte 35*mus_rainbow_mvl/mxv + .byte W01 + .byte 32*mus_rainbow_mvl/mxv + .byte W03 + .byte 31*mus_rainbow_mvl/mxv + .byte W01 + .byte 29*mus_rainbow_mvl/mxv + .byte W03 + .byte 26*mus_rainbow_mvl/mxv + .byte W01 + .byte 24*mus_rainbow_mvl/mxv + .byte W03 + .byte 20*mus_rainbow_mvl/mxv + .byte W01 + .byte 19*mus_rainbow_mvl/mxv + .byte W03 + .byte 16*mus_rainbow_mvl/mxv + .byte W01 + .byte 14*mus_rainbow_mvl/mxv + .byte W03 + .byte 12*mus_rainbow_mvl/mxv + .byte W01 + .byte 10*mus_rainbow_mvl/mxv + .byte W03 + .byte 9*mus_rainbow_mvl/mxv + .byte W01 + .byte 8*mus_rainbow_mvl/mxv + .byte W03 + .byte 6*mus_rainbow_mvl/mxv + .byte W01 + .byte 6*mus_rainbow_mvl/mxv + .byte W03 + .byte 3*mus_rainbow_mvl/mxv + .byte W05 + .byte 2*mus_rainbow_mvl/mxv + .byte W03 + .byte 68*mus_rainbow_mvl/mxv + .byte N24 , Ds4 + .byte W24 + .byte Dn4 + .byte W24 + .byte Cn4 + .byte W24 + .byte Dn4 + .byte W24 + .byte N48 , Ds4 + .byte W72 + .byte N04 , Cn4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte N24 , Dn4 + .byte W24 + .byte N04 , Cn4 + .byte W16 + .byte N24 , Dn4 + .byte W24 + .byte N04 , Fn4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N04 , As3 + .byte W08 + .byte W24 + .byte N24 , Gn3 + .byte W24 + .byte N16 , Cn4 + .byte W16 + .byte N24 , Gn4 + .byte W24 + .byte N08 , Cn4 , v088 + .byte W08 + .byte N16 , Fs4 , v112 + .byte W16 + .byte N04 , Fn4 , v064 + .byte W04 + .byte En4 + .byte W04 + .byte N24 , Ds4 , v112 + .byte W24 + .byte N16 , Fn4 + .byte W16 + .byte N04 , Ds4 , v072 + .byte W04 + .byte Dn4 , v064 + .byte W04 + .byte N24 , Cn4 , v112 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 14 + .byte N24 , Gs4 + .byte W24 + .byte Fs4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte Gs3 + .byte W24 + .byte As3 + .byte W24 + .byte Cs4 + .byte W24 + .byte Ds4 + .byte W24 +mus_rainbow_4_000: + .byte N48 , Fn4 , v112 + .byte W48 + .byte Cs4 + .byte W48 + .byte PEND + .byte Ds4 + .byte W48 + .byte N44 , Cn4 + .byte W48 + .byte N48 , Gs4 + .byte W48 + .byte Fn4 + .byte W48 + .byte Fs4 + .byte W48 + .byte Dn4 + .byte W48 + .byte W72 + .byte N04 , Fs3 + .byte W08 + .byte As3 + .byte W08 + .byte Cs4 + .byte W08 + .byte PATT + .word mus_rainbow_4_000 + .byte N48 , Cs5 , v112 + .byte W12 + .byte VOL , 67*mus_rainbow_mvl/mxv + .byte W01 + .byte 65*mus_rainbow_mvl/mxv + .byte W03 + .byte 64*mus_rainbow_mvl/mxv + .byte W01 + .byte 63*mus_rainbow_mvl/mxv + .byte W03 + .byte 60*mus_rainbow_mvl/mxv + .byte W01 + .byte 60*mus_rainbow_mvl/mxv + .byte W03 + .byte 57*mus_rainbow_mvl/mxv + .byte W01 + .byte 56*mus_rainbow_mvl/mxv + .byte W03 + .byte 54*mus_rainbow_mvl/mxv + .byte W04 + .byte 51*mus_rainbow_mvl/mxv + .byte W04 + .byte 48*mus_rainbow_mvl/mxv + .byte W01 + .byte 45*mus_rainbow_mvl/mxv + .byte W03 + .byte 41*mus_rainbow_mvl/mxv + .byte W01 + .byte 38*mus_rainbow_mvl/mxv + .byte W03 + .byte 35*mus_rainbow_mvl/mxv + .byte W01 + .byte 31*mus_rainbow_mvl/mxv + .byte W03 + .byte 68*mus_rainbow_mvl/mxv + .byte N48 , Cn5 + .byte W12 + .byte VOL , 67*mus_rainbow_mvl/mxv + .byte W01 + .byte 65*mus_rainbow_mvl/mxv + .byte W03 + .byte 64*mus_rainbow_mvl/mxv + .byte W01 + .byte 63*mus_rainbow_mvl/mxv + .byte W03 + .byte 60*mus_rainbow_mvl/mxv + .byte W01 + .byte 60*mus_rainbow_mvl/mxv + .byte W03 + .byte 57*mus_rainbow_mvl/mxv + .byte W01 + .byte 56*mus_rainbow_mvl/mxv + .byte W03 + .byte 54*mus_rainbow_mvl/mxv + .byte W04 + .byte 51*mus_rainbow_mvl/mxv + .byte W04 + .byte 48*mus_rainbow_mvl/mxv + .byte W01 + .byte 45*mus_rainbow_mvl/mxv + .byte W03 + .byte 41*mus_rainbow_mvl/mxv + .byte W01 + .byte 38*mus_rainbow_mvl/mxv + .byte W03 + .byte 35*mus_rainbow_mvl/mxv + .byte W01 + .byte 31*mus_rainbow_mvl/mxv + .byte W03 + .byte 68*mus_rainbow_mvl/mxv + .byte N48 , As4 + .byte W12 + .byte VOL , 67*mus_rainbow_mvl/mxv + .byte W01 + .byte 65*mus_rainbow_mvl/mxv + .byte W03 + .byte 64*mus_rainbow_mvl/mxv + .byte W01 + .byte 63*mus_rainbow_mvl/mxv + .byte W03 + .byte 60*mus_rainbow_mvl/mxv + .byte W01 + .byte 60*mus_rainbow_mvl/mxv + .byte W03 + .byte 57*mus_rainbow_mvl/mxv + .byte W01 + .byte 56*mus_rainbow_mvl/mxv + .byte W03 + .byte 54*mus_rainbow_mvl/mxv + .byte W04 + .byte 51*mus_rainbow_mvl/mxv + .byte W04 + .byte 48*mus_rainbow_mvl/mxv + .byte W01 + .byte 45*mus_rainbow_mvl/mxv + .byte W03 + .byte 41*mus_rainbow_mvl/mxv + .byte W01 + .byte 38*mus_rainbow_mvl/mxv + .byte W03 + .byte 35*mus_rainbow_mvl/mxv + .byte W01 + .byte 31*mus_rainbow_mvl/mxv + .byte W03 + .byte 68*mus_rainbow_mvl/mxv + .byte N48 , Cn5 + .byte W12 + .byte VOL , 67*mus_rainbow_mvl/mxv + .byte W01 + .byte 65*mus_rainbow_mvl/mxv + .byte W03 + .byte 64*mus_rainbow_mvl/mxv + .byte W01 + .byte 63*mus_rainbow_mvl/mxv + .byte W03 + .byte 60*mus_rainbow_mvl/mxv + .byte W01 + .byte 60*mus_rainbow_mvl/mxv + .byte W03 + .byte 57*mus_rainbow_mvl/mxv + .byte W01 + .byte 56*mus_rainbow_mvl/mxv + .byte W03 + .byte 54*mus_rainbow_mvl/mxv + .byte W04 + .byte 51*mus_rainbow_mvl/mxv + .byte W04 + .byte 48*mus_rainbow_mvl/mxv + .byte W01 + .byte 45*mus_rainbow_mvl/mxv + .byte W03 + .byte 41*mus_rainbow_mvl/mxv + .byte W01 + .byte 38*mus_rainbow_mvl/mxv + .byte W03 + .byte 35*mus_rainbow_mvl/mxv + .byte W01 + .byte 31*mus_rainbow_mvl/mxv + .byte W03 + .byte GOTO + .word mus_rainbow_4_B1 + .byte VOL , 68*mus_rainbow_mvl/mxv + .byte FINE + +@********************** Track 5 **********************@ + +mus_rainbow_5: + .byte KEYSH , mus_rainbow_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte PAN , c_v-63 + .byte VOL , 37*mus_rainbow_mvl/mxv + .byte W24 + .byte TIE , Ds3 , v112 + .byte W96 + .byte W96 + .byte EOT +mus_rainbow_5_000: + .byte N48 , Cn3 , v112 + .byte W48 + .byte N48 + .byte W48 + .byte PEND + .byte PATT + .word mus_rainbow_5_000 +mus_rainbow_5_B1: + .byte N16 , Fn3 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N24 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte TIE + .byte W08 + .byte W96 + .byte EOT +mus_rainbow_5_001: + .byte N16 , Fn3 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N24 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte PEND +mus_rainbow_5_002: + .byte N16 , Fn3 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte Dn3 + .byte W24 + .byte Bn2 + .byte W24 + .byte PEND + .byte N48 , Ds3 + .byte W48 + .byte N24 , Fn3 + .byte W24 + .byte Ds3 + .byte W24 + .byte Fn3 + .byte W24 + .byte N04 + .byte W16 + .byte N24 , Dn3 + .byte W24 + .byte N04 + .byte W08 + .byte N16 + .byte W16 + .byte N04 , Cs3 + .byte W08 + .byte N64 , Cn3 + .byte W64 + .byte N20 + .byte W24 + .byte N04 + .byte W08 + .byte N16 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N32 + .byte W32 + .byte N24 , An2 + .byte W24 + .byte N16 , Fn3 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N24 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N80 + .byte W08 + .byte W72 + .byte N08 + .byte W08 + .byte N04 , Gn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte PATT + .word mus_rainbow_5_001 + .byte PATT + .word mus_rainbow_5_002 + .byte N48 , Ds3 , v112 + .byte W48 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte Fn3 + .byte W24 + .byte N04 + .byte W16 + .byte N56 + .byte W56 + .byte N48 , Cn3 + .byte W48 + .byte N36 , Gn3 + .byte W40 + .byte N04 , Cn3 + .byte W08 + .byte N16 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N32 , An2 + .byte W32 + .byte N24 , Fn3 + .byte W24 +mus_rainbow_5_003: + .byte N64 , Fs3 , v112 + .byte W64 + .byte N04 + .byte W24 + .byte N04 + .byte W08 + .byte PEND + .byte N16 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N16 , Fn3 + .byte W16 + .byte N04 , Cn3 + .byte W24 + .byte N56 , Gs3 + .byte W56 + .byte W96 + .byte PATT + .word mus_rainbow_5_003 + .byte N24 , Fs3 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte N16 , An3 + .byte W16 + .byte N04 , Fs3 + .byte W08 + .byte N16 , An3 + .byte W16 + .byte N04 , Fs3 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N04 + .byte W32 + .byte N48 + .byte W48 + .byte N24 , Ds3 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte Fs3 + .byte W24 + .byte N48 + .byte W48 + .byte N48 + .byte W48 + .byte N16 + .byte W24 + .byte N04 , Ds3 + .byte N04 , Fs3 + .byte W24 + .byte N24 + .byte W24 + .byte Ds3 + .byte W24 + .byte N60 , Fn3 + .byte W64 + .byte N04 + .byte W24 + .byte N04 + .byte W08 + .byte N16 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N16 , Fs3 + .byte W16 + .byte N04 + .byte W24 + .byte N56 , Ds3 + .byte W56 + .byte N16 , Fs3 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , Ds3 + .byte W24 + .byte N04 + .byte W08 + .byte N24 + .byte W24 + .byte N48 , Gs3 + .byte W48 + .byte TIE + .byte W48 + .byte W96 + .byte EOT + .byte GOTO + .word mus_rainbow_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rainbow_6: + .byte KEYSH , mus_rainbow_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte PAN , c_v+63 + .byte VOL , 37*mus_rainbow_mvl/mxv + .byte W24 + .byte TIE , As3 , v112 + .byte W96 + .byte W96 + .byte EOT + .byte N48 , Gn3 + .byte W48 + .byte N48 + .byte W48 + .byte N48 + .byte W48 + .byte An3 + .byte W48 +mus_rainbow_6_B1: + .byte N16 , As3 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N24 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte TIE , An3 + .byte W08 + .byte W96 + .byte EOT +mus_rainbow_6_000: + .byte N16 , Gs3 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N24 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte An3 + .byte W08 + .byte PEND + .byte N16 , Gn3 + .byte W24 + .byte N24 + .byte W24 + .byte Fn3 + .byte W24 + .byte N24 + .byte W24 + .byte N48 , Fs3 + .byte W48 + .byte N24 , Gs3 + .byte W24 + .byte Fs3 + .byte W24 + .byte As3 + .byte W24 + .byte N04 + .byte W16 + .byte N24 , Fn3 + .byte W24 + .byte N04 + .byte W08 + .byte N16 + .byte W16 + .byte N04 , Fs3 + .byte W08 + .byte N64 , Gn3 + .byte W64 + .byte N20 + .byte W24 + .byte N04 + .byte W08 + .byte N16 , Fs3 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N32 , An3 + .byte W32 + .byte N24 , Fn3 + .byte W24 + .byte N16 , As3 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N24 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N80 , An3 + .byte W08 + .byte W72 + .byte N08 + .byte W08 + .byte N04 , As3 + .byte W08 + .byte An3 + .byte W08 + .byte PATT + .word mus_rainbow_6_000 + .byte N16 , Gn3 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte Fn3 + .byte W24 + .byte Gn3 + .byte W24 + .byte N48 , Fs3 + .byte W48 + .byte N24 , Gs3 + .byte W24 + .byte As3 + .byte W24 + .byte N24 + .byte W24 + .byte N04 + .byte W16 + .byte N56 + .byte W56 + .byte N48 , Gn3 + .byte W48 + .byte N36 , Cn4 + .byte W40 + .byte N04 , Gn3 + .byte W08 + .byte N16 , Fs3 + .byte W16 + .byte N04 + .byte W08 + .byte Ds3 + .byte W16 + .byte N32 , Cn3 + .byte W32 + .byte N24 , An3 + .byte W24 +mus_rainbow_6_001: + .byte N64 , Cs4 , v112 + .byte W64 + .byte N04 + .byte W24 + .byte As3 + .byte W08 + .byte PEND + .byte N16 + .byte W24 + .byte N24 + .byte W24 + .byte An3 + .byte W24 + .byte N24 + .byte W24 + .byte N16 , Cn4 + .byte W16 + .byte N04 , Ds3 + .byte W24 + .byte N56 , Ds4 + .byte W56 + .byte W96 + .byte PATT + .word mus_rainbow_6_001 + .byte N24 , Cs4 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte N16 + .byte W16 + .byte N04 + .byte W08 + .byte N16 + .byte W16 + .byte N04 + .byte W08 + .byte N16 , Cn4 + .byte W16 + .byte N04 + .byte W32 + .byte N48 + .byte W48 + .byte N24 , Fs3 + .byte W24 + .byte Gs3 + .byte W24 + .byte An3 + .byte W24 + .byte Bn3 + .byte W24 + .byte N48 , Cs4 + .byte W48 + .byte As3 + .byte W48 + .byte N16 , Cs4 + .byte W20 + .byte N04 + .byte W04 + .byte An3 + .byte W24 + .byte N24 + .byte W24 + .byte Fs3 + .byte W24 + .byte N60 , Ds4 + .byte W64 + .byte N04 + .byte W24 + .byte N04 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N04 , Bn3 + .byte W04 + .byte Dn4 + .byte W04 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N16 , Cs4 + .byte W16 + .byte N04 + .byte W24 + .byte N56 , As3 + .byte W56 + .byte N16 , Cs4 + .byte W16 + .byte N04 + .byte W24 + .byte N08 , An3 + .byte W24 + .byte N04 + .byte W08 + .byte N24 + .byte W24 + .byte TIE , Ds4 + .byte W96 + .byte W96 + .byte EOT + .byte GOTO + .word mus_rainbow_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rainbow_7: + .byte KEYSH , mus_rainbow_key+0 + .byte VOICE , 127 + .byte PAN , c_v+0 + .byte VOL , 54*mus_rainbow_mvl/mxv + .byte W24 +mus_rainbow_7_000: + .byte N01 , En5 , v112 + .byte W08 + .byte En5 , v064 + .byte W08 + .byte N01 + .byte W08 + .byte En5 , v120 + .byte W08 + .byte En5 , v096 + .byte W08 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W08 + .byte En5 , v064 + .byte W04 + .byte En5 , v072 + .byte W04 + .byte En5 , v064 + .byte W08 + .byte En5 , v120 + .byte W08 + .byte En5 , v096 + .byte W08 + .byte En5 , v064 + .byte W08 + .byte PEND +mus_rainbow_7_001: + .byte N01 , En5 , v112 + .byte W08 + .byte En5 , v064 + .byte W08 + .byte N01 + .byte W08 + .byte En5 , v120 + .byte W08 + .byte En5 , v096 + .byte W08 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W08 + .byte En5 , v064 + .byte W08 + .byte N01 + .byte W08 + .byte En5 , v120 + .byte W08 + .byte En5 , v096 + .byte W08 + .byte En5 , v064 + .byte W08 + .byte PEND + .byte PATT + .word mus_rainbow_7_000 + .byte N01 , En5 , v112 + .byte W08 + .byte En5 , v064 + .byte W08 + .byte N01 + .byte W08 + .byte En5 , v120 + .byte W08 + .byte En5 , v096 + .byte W08 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W08 + .byte En5 , v064 + .byte W08 + .byte N01 + .byte W08 + .byte En5 , v120 + .byte W08 + .byte En5 , v096 + .byte W04 + .byte En5 , v072 + .byte W04 + .byte En5 , v064 + .byte W08 +mus_rainbow_7_B1: + .byte PATT + .word mus_rainbow_7_000 + .byte PATT + .word mus_rainbow_7_001 + .byte PATT + .word mus_rainbow_7_000 + .byte PATT + .word mus_rainbow_7_001 + .byte PATT + .word mus_rainbow_7_000 + .byte PATT + .word mus_rainbow_7_001 + .byte PATT + .word mus_rainbow_7_000 + .byte N01 , En5 , v112 + .byte W08 + .byte En5 , v064 + .byte W08 + .byte N01 + .byte W08 + .byte En5 , v120 + .byte W08 + .byte En5 , v096 + .byte W08 + .byte En5 , v064 + .byte W08 + .byte En5 , v112 + .byte W08 + .byte En5 , v064 + .byte W08 + .byte N01 + .byte W08 + .byte N03 , En5 , v120 + .byte W08 + .byte N01 , En5 , v096 + .byte W08 + .byte En5 , v064 + .byte W08 + .byte PATT + .word mus_rainbow_7_000 + .byte PATT + .word mus_rainbow_7_001 + .byte PATT + .word mus_rainbow_7_000 + .byte PATT + .word mus_rainbow_7_001 + .byte PATT + .word mus_rainbow_7_000 + .byte PATT + .word mus_rainbow_7_001 + .byte PATT + .word mus_rainbow_7_000 + .byte PATT + .word mus_rainbow_7_001 + .byte PATT + .word mus_rainbow_7_000 + .byte PATT + .word mus_rainbow_7_001 + .byte PATT + .word mus_rainbow_7_000 + .byte PATT + .word mus_rainbow_7_001 + .byte PATT + .word mus_rainbow_7_000 + .byte PATT + .word mus_rainbow_7_001 + .byte PATT + .word mus_rainbow_7_000 + .byte PATT + .word mus_rainbow_7_001 + .byte PATT + .word mus_rainbow_7_000 + .byte PATT + .word mus_rainbow_7_001 + .byte PATT + .word mus_rainbow_7_000 + .byte PATT + .word mus_rainbow_7_001 + .byte PATT + .word mus_rainbow_7_000 + .byte PATT + .word mus_rainbow_7_001 + .byte PATT + .word mus_rainbow_7_000 + .byte PATT + .word mus_rainbow_7_001 + .byte GOTO + .word mus_rainbow_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rainbow_8: + .byte KEYSH , mus_rainbow_key+0 + .byte VOICE , 83 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte PAN , c_v+0 + .byte VOL , 45*mus_rainbow_mvl/mxv + .byte W24 + .byte BEND , c_v+2 + .byte TIE , Dn4 , v112 + .byte W96 + .byte W40 + .byte EOT + .byte N24 , Cn4 + .byte W24 + .byte N08 , As3 + .byte W08 + .byte N16 , Gn3 + .byte W16 + .byte N08 , Ds3 + .byte W08 + .byte N48 , An3 + .byte W48 + .byte As3 + .byte W48 + .byte Bn3 + .byte W48 + .byte BEND , c_v+0 + .byte N48 , Cn4 + .byte N08 , Ds4 + .byte W08 + .byte N04 , En4 + .byte W08 + .byte Fn4 + .byte W08 + .byte N04 + .byte W08 + .byte En4 + .byte W08 + .byte N08 , Ds4 + .byte W08 +mus_rainbow_8_B1: + .byte BEND , c_v+2 + .byte N16 , Dn4 , v112 + .byte W16 + .byte N04 , Ds4 + .byte W08 + .byte Fn4 + .byte W16 + .byte N24 + .byte W24 + .byte N04 , Ds4 + .byte W08 + .byte Dn4 + .byte W16 + .byte TIE , Cn4 + .byte W08 + .byte W96 + .byte EOT +mus_rainbow_8_000: + .byte N16 , Dn4 , v112 + .byte W16 + .byte N04 , Ds4 + .byte W08 + .byte Fn4 + .byte W16 + .byte N24 , As4 + .byte W24 + .byte N04 , Fn4 + .byte W08 + .byte Ds4 + .byte W16 + .byte Dn4 + .byte W08 + .byte PEND +mus_rainbow_8_001: + .byte N16 , Cn4 , v112 + .byte W16 + .byte N04 , Dn4 + .byte W04 + .byte Cn4 + .byte W04 + .byte N24 , Bn3 + .byte W24 + .byte Cn4 + .byte W24 + .byte Dn4 + .byte W24 + .byte PEND +mus_rainbow_8_002: + .byte N48 , As3 , v112 + .byte W48 + .byte N24 , Cn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte PEND + .byte Dn4 + .byte W24 + .byte N04 , Fn4 + .byte W16 + .byte N24 , As3 + .byte W24 + .byte N04 , An3 + .byte W08 + .byte N16 , As3 + .byte W16 + .byte N04 , Bn3 + .byte W08 + .byte N64 , Cn4 + .byte W64 + .byte N20 , As3 + .byte W32 + .byte N16 + .byte W16 + .byte N04 , An3 + .byte W08 + .byte As3 + .byte W16 + .byte N56 , Cn4 + .byte W56 + .byte N16 , Dn4 + .byte W16 + .byte N04 , Ds4 + .byte W08 + .byte Fn4 + .byte W16 + .byte N24 + .byte W24 + .byte N04 , Ds4 + .byte W08 + .byte Dn4 + .byte W16 + .byte TIE , Cn4 + .byte W08 + .byte W96 + .byte EOT + .byte PATT + .word mus_rainbow_8_000 + .byte PATT + .word mus_rainbow_8_001 + .byte PATT + .word mus_rainbow_8_002 + .byte N24 , Dn4 , v112 + .byte W24 + .byte N04 , Fn4 + .byte W16 + .byte N24 , As4 + .byte W24 + .byte N04 , Gn4 + .byte W08 + .byte N16 , Fn4 + .byte W16 + .byte N04 , Dn4 + .byte W08 + .byte N64 , As3 + .byte W64 + .byte N20 , Cn4 + .byte W32 + .byte N16 , As3 + .byte W16 + .byte N04 , Gs3 + .byte W08 + .byte Fs3 + .byte W16 + .byte N56 , Fn3 + .byte W56 + .byte N64 , Fn4 + .byte W64 + .byte N04 , Ds4 + .byte W24 + .byte Cs4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N04 , Fn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte N24 , Cs4 + .byte W24 + .byte Cn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte N16 , Ds4 + .byte W16 + .byte N04 , Gs3 + .byte W24 + .byte N56 , Gs4 + .byte W56 + .byte W72 + .byte N04 , Gs3 + .byte W08 + .byte As3 + .byte W08 + .byte Cs4 + .byte W08 + .byte N64 , Fn4 + .byte W64 + .byte N04 , Fs4 + .byte W24 + .byte Fn4 + .byte W08 + .byte N24 , Fs4 + .byte W24 + .byte Fn4 + .byte W24 + .byte N16 , Fs4 + .byte W16 + .byte N04 , Fn4 + .byte W08 + .byte N16 , Fs4 + .byte W16 + .byte N04 , Gs4 + .byte W08 + .byte N16 , Fn4 + .byte W16 + .byte N04 , Ds4 + .byte W24 + .byte Cs4 + .byte W04 + .byte Ds4 + .byte W04 + .byte N48 , Fn4 + .byte W48 + .byte N24 , Gs3 + .byte W24 + .byte As3 + .byte W24 + .byte Cs4 + .byte W24 + .byte Ds4 + .byte W24 + .byte N64 , Fn4 + .byte W64 + .byte N24 , Ds4 + .byte W24 + .byte N04 , Cs4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N04 , Fn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Cs4 + .byte W24 + .byte N24 , Cn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte N60 , Gs4 + .byte W64 + .byte N04 , Fs4 + .byte W24 + .byte Fn4 + .byte W08 + .byte N16 , Fs4 + .byte W16 + .byte N04 , Gs4 + .byte W04 + .byte Fs4 + .byte W04 + .byte N24 , Fn4 + .byte W24 + .byte Fs4 + .byte W24 + .byte Gs4 + .byte W24 + .byte N16 , Fn4 + .byte W16 + .byte N04 , Ds4 + .byte W24 + .byte N56 , Cs4 + .byte W56 + .byte N16 , Fn4 + .byte W16 + .byte N04 , Ds4 + .byte W24 + .byte N08 , Cs4 + .byte W24 + .byte N04 , Cn4 + .byte W08 + .byte N24 , Cs4 + .byte W24 + .byte TIE , Gs4 + .byte W96 + .byte W96 + .byte EOT + .byte GOTO + .word mus_rainbow_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rainbow: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rainbow_pri @ Priority + .byte mus_rainbow_rev @ Reverb. + + .word mus_rainbow_grp + + .word mus_rainbow_1 + .word mus_rainbow_2 + .word mus_rainbow_3 + .word mus_rainbow_4 + .word mus_rainbow_5 + .word mus_rainbow_6 + .word mus_rainbow_7 + .word mus_rainbow_8 + + .end diff --git a/sound/songs/mus_rekkuu_kourin.s b/sound/songs/mus_rekkuu_kourin.s new file mode 100644 index 0000000000..d3176f6b6b --- /dev/null +++ b/sound/songs/mus_rekkuu_kourin.s @@ -0,0 +1,859 @@ + .include "MPlayDef.s" + + .equ mus_rekkuu_kourin_grp, voicegroup_8697670 + .equ mus_rekkuu_kourin_pri, 0 + .equ mus_rekkuu_kourin_rev, reverb_set+50 + .equ mus_rekkuu_kourin_mvl, 127 + .equ mus_rekkuu_kourin_key, 0 + .equ mus_rekkuu_kourin_tbs, 1 + .equ mus_rekkuu_kourin_exg, 0 + .equ mus_rekkuu_kourin_cmp, 1 + + .section .rodata + .global mus_rekkuu_kourin + .align 2 + +@********************** Track 1 **********************@ + +mus_rekkuu_kourin_1: + .byte KEYSH , mus_rekkuu_kourin_key+0 + .byte TEMPO , 120*mus_rekkuu_kourin_tbs/2 + .byte VOICE , 19 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 79*mus_rekkuu_kourin_mvl/mxv + .byte PAN , c_v-32 + .byte TIE , Dn4 , v100 + .byte W60 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte W96 + .byte W96 + .byte W84 + .byte EOT + .byte W12 + .byte TIE + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte EOT + .byte TIE + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 77*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 75*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 72*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 70*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 68*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 65*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 63*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 60*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 59*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 56*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 55*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 53*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 48*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 47*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 43*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 38*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 38*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 36*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 31*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 30*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 27*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 25*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 22*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 18*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 16*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 13*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 9*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 8*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 6*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 1*mus_rekkuu_kourin_mvl/mxv + .byte W10 + .byte EOT + .byte FINE + +@********************** Track 2 **********************@ + +mus_rekkuu_kourin_2: + .byte KEYSH , mus_rekkuu_kourin_key+0 + .byte VOICE , 19 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+36 + .byte VOL , 79*mus_rekkuu_kourin_mvl/mxv + .byte N96 , Dn3 , v100 + .byte W96 + .byte TIE + .byte W96 + .byte W96 + .byte EOT + .byte N84 + .byte W96 + .byte N96 + .byte W96 + .byte TIE + .byte W96 + .byte W96 + .byte EOT + .byte N96 + .byte W96 + .byte N96 + .byte W96 + .byte TIE + .byte W96 + .byte W96 + .byte EOT + .byte TIE + .byte W96 + .byte VOL , 77*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 75*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 72*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 70*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 68*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 65*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 63*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 60*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 59*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 56*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 55*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 53*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 48*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 47*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 43*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 38*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 38*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 36*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 31*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 30*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 27*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 25*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 22*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 18*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 16*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 13*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 9*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 8*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 6*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 1*mus_rekkuu_kourin_mvl/mxv + .byte W10 + .byte EOT + .byte FINE + +@********************** Track 3 **********************@ + +mus_rekkuu_kourin_3: + .byte KEYSH , mus_rekkuu_kourin_key+0 + .byte VOICE , 20 + .byte BENDR , 12 + .byte LFOS , 38 + .byte PAN , c_v+6 + .byte VOL , 90*mus_rekkuu_kourin_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N12 , Dn3 , v096 + .byte W12 + .byte N84 , En3 + .byte W12 + .byte VOL , 79*mus_rekkuu_kourin_mvl/mxv + .byte MOD , 1 + .byte W72 + .byte VOL , 90*mus_rekkuu_kourin_mvl/mxv + .byte MOD , 0 + .byte N12 , Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte TIE , En3 + .byte W12 + .byte VOL , 79*mus_rekkuu_kourin_mvl/mxv + .byte MOD , 1 + .byte W12 + .byte W96 + .byte EOT + .byte VOL , 90*mus_rekkuu_kourin_mvl/mxv + .byte MOD , 0 + .byte N12 , Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , An3 + .byte W12 + .byte VOL , 79*mus_rekkuu_kourin_mvl/mxv + .byte MOD , 1 + .byte W12 + .byte N12 + .byte W12 + .byte VOL , 90*mus_rekkuu_kourin_mvl/mxv + .byte MOD , 0 + .byte N12 , As3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte TIE , En3 + .byte W12 + .byte VOL , 79*mus_rekkuu_kourin_mvl/mxv + .byte MOD , 1 + .byte W12 + .byte W96 + .byte EOT + .byte MOD , 0 + .byte VOL , 90*mus_rekkuu_kourin_mvl/mxv + .byte N12 , Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte TIE , Dn3 + .byte W12 + .byte VOL , 79*mus_rekkuu_kourin_mvl/mxv + .byte MOD , 1 + .byte W12 + .byte VOL , 77*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 75*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 72*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 70*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 68*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 65*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 63*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 60*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 59*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 56*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 55*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 53*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 48*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 47*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 43*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 38*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 38*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 36*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 31*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 30*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 27*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 25*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 22*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 18*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 16*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 13*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 9*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 8*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 6*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 1*mus_rekkuu_kourin_mvl/mxv + .byte W10 + .byte EOT + .byte MOD , 0 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rekkuu_kourin_4: + .byte KEYSH , mus_rekkuu_kourin_key+0 + .byte VOICE , 19 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+16 + .byte VOL , 90*mus_rekkuu_kourin_mvl/mxv + .byte N96 , Gn2 , v120 + .byte W12 + .byte VOL , 79*mus_rekkuu_kourin_mvl/mxv + .byte W48 + .byte MOD , 5 + .byte W36 +mus_rekkuu_kourin_4_000: + .byte MOD , 0 + .byte VOL , 90*mus_rekkuu_kourin_mvl/mxv + .byte N96 , An2 , v120 + .byte W12 + .byte VOL , 79*mus_rekkuu_kourin_mvl/mxv + .byte W84 + .byte PEND + .byte 90*mus_rekkuu_kourin_mvl/mxv + .byte N96 , As2 + .byte W12 + .byte VOL , 79*mus_rekkuu_kourin_mvl/mxv + .byte W48 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte VOL , 90*mus_rekkuu_kourin_mvl/mxv + .byte N84 , Gn2 + .byte W12 + .byte VOL , 79*mus_rekkuu_kourin_mvl/mxv + .byte W36 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte W12 +mus_rekkuu_kourin_4_001: + .byte VOL , 90*mus_rekkuu_kourin_mvl/mxv + .byte N96 , Gn2 , v120 + .byte W12 + .byte VOL , 79*mus_rekkuu_kourin_mvl/mxv + .byte W48 + .byte MOD , 5 + .byte W36 + .byte PEND + .byte PATT + .word mus_rekkuu_kourin_4_000 + .byte PATT + .word mus_rekkuu_kourin_4_001 + .byte MOD , 0 + .byte VOL , 90*mus_rekkuu_kourin_mvl/mxv + .byte N96 , An2 , v120 + .byte W12 + .byte VOL , 79*mus_rekkuu_kourin_mvl/mxv + .byte W48 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte VOL , 90*mus_rekkuu_kourin_mvl/mxv + .byte N96 , Gn2 + .byte W12 + .byte VOL , 79*mus_rekkuu_kourin_mvl/mxv + .byte W84 + .byte 90*mus_rekkuu_kourin_mvl/mxv + .byte N96 , An2 + .byte W12 + .byte VOL , 79*mus_rekkuu_kourin_mvl/mxv + .byte W48 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte VOL , 90*mus_rekkuu_kourin_mvl/mxv + .byte N96 , Gn2 + .byte W12 + .byte VOL , 79*mus_rekkuu_kourin_mvl/mxv + .byte W48 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte VOL , 90*mus_rekkuu_kourin_mvl/mxv + .byte TIE , Dn2 + .byte W12 + .byte VOL , 79*mus_rekkuu_kourin_mvl/mxv + .byte W48 + .byte MOD , 5 + .byte W36 + .byte VOL , 77*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 75*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 72*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 70*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 68*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 65*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 63*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 60*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 59*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 56*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 55*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 53*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 48*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 47*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 43*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 38*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 38*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 36*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 31*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 30*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 27*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 25*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 22*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 18*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 16*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 13*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 9*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 8*mus_rekkuu_kourin_mvl/mxv + .byte W04 + .byte 6*mus_rekkuu_kourin_mvl/mxv + .byte W02 + .byte 1*mus_rekkuu_kourin_mvl/mxv + .byte W10 + .byte EOT + .byte FINE + +@********************** Track 5 **********************@ + +mus_rekkuu_kourin_5: + .byte KEYSH , mus_rekkuu_kourin_key+0 + .byte VOICE , 80 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 55*mus_rekkuu_kourin_mvl/mxv + .byte BEND , c_v+1 + .byte N09 , Dn1 , v064 + .byte W12 + .byte PAN , c_v-62 + .byte N09 , Dn1 , v052 + .byte W12 + .byte PAN , c_v+63 + .byte N09 , Dn1 , v064 + .byte W12 + .byte PAN , c_v+0 + .byte N09 , Dn1 , v052 + .byte W12 + .byte Dn1 , v064 + .byte W12 + .byte PAN , c_v+63 + .byte N09 , Dn1 , v052 + .byte W12 + .byte PAN , c_v-62 + .byte N09 , Dn1 , v064 + .byte W12 + .byte PAN , c_v+0 + .byte N09 , Dn1 , v052 + .byte W12 +mus_rekkuu_kourin_5_000: + .byte PAN , c_v+0 + .byte N09 , Dn1 , v064 + .byte W12 + .byte PAN , c_v-62 + .byte N09 , Dn1 , v052 + .byte W12 + .byte PAN , c_v+63 + .byte N09 , Dn1 , v064 + .byte W12 + .byte PAN , c_v+0 + .byte N09 , Dn1 , v052 + .byte W12 + .byte Dn1 , v064 + .byte W12 + .byte PAN , c_v+63 + .byte N09 , Dn1 , v052 + .byte W12 + .byte PAN , c_v-62 + .byte N09 , Dn1 , v064 + .byte W12 + .byte PAN , c_v+0 + .byte N09 , Dn1 , v052 + .byte W12 + .byte PEND + .byte PATT + .word mus_rekkuu_kourin_5_000 + .byte PAN , c_v+0 + .byte N09 , Dn1 , v064 + .byte W12 + .byte PAN , c_v-62 + .byte N09 , Dn1 , v052 + .byte W12 + .byte PAN , c_v+63 + .byte N09 , Dn1 , v064 + .byte W12 + .byte PAN , c_v+0 + .byte N09 , Dn1 , v052 + .byte W12 + .byte Dn1 , v064 + .byte W12 + .byte PAN , c_v+63 + .byte N09 , Dn1 , v052 + .byte W12 + .byte PAN , c_v-62 + .byte N09 , Dn1 , v064 + .byte W12 + .byte PAN , c_v+0 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_rekkuu_kourin_5_000 + .byte PATT + .word mus_rekkuu_kourin_5_000 + .byte PATT + .word mus_rekkuu_kourin_5_000 + .byte PAN , c_v+0 + .byte N09 , Dn1 , v064 + .byte W12 + .byte PAN , c_v-62 + .byte N09 , Dn1 , v052 + .byte W12 + .byte PAN , c_v+63 + .byte N09 , Dn1 , v064 + .byte W12 + .byte PAN , c_v+0 + .byte N09 , Dn1 , v052 + .byte W12 + .byte Dn1 , v064 + .byte W12 + .byte PAN , c_v+63 + .byte N09 , Dn1 , v052 + .byte W12 + .byte PAN , c_v-62 + .byte N21 , Dn1 , v064 + .byte W12 + .byte PAN , c_v+0 + .byte W12 + .byte W96 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rekkuu_kourin_6: + .byte KEYSH , mus_rekkuu_kourin_key+0 + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 79*mus_rekkuu_kourin_mvl/mxv + .byte N09 , Dn1 , v064 + .byte W12 + .byte Dn1 , v052 + .byte W12 + .byte Dn1 , v064 + .byte W12 + .byte Dn1 , v052 + .byte W12 + .byte Dn1 , v064 + .byte W12 + .byte Dn1 , v052 + .byte W12 + .byte Dn1 , v064 + .byte W12 + .byte Dn1 , v052 + .byte W12 +mus_rekkuu_kourin_6_000: + .byte N09 , Dn1 , v064 + .byte W12 + .byte Dn1 , v052 + .byte W12 + .byte Dn1 , v064 + .byte W12 + .byte Dn1 , v052 + .byte W12 + .byte Dn1 , v064 + .byte W12 + .byte Dn1 , v052 + .byte W12 + .byte Dn1 , v064 + .byte W12 + .byte Dn1 , v052 + .byte W12 + .byte PEND + .byte PATT + .word mus_rekkuu_kourin_6_000 + .byte N09 , Dn1 , v064 + .byte W12 + .byte Dn1 , v052 + .byte W12 + .byte Dn1 , v064 + .byte W12 + .byte Dn1 , v052 + .byte W12 + .byte Dn1 , v064 + .byte W12 + .byte Dn1 , v052 + .byte W12 + .byte Dn1 , v064 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_rekkuu_kourin_6_000 + .byte PATT + .word mus_rekkuu_kourin_6_000 + .byte PATT + .word mus_rekkuu_kourin_6_000 + .byte N09 , Dn1 , v064 + .byte W12 + .byte Dn1 , v052 + .byte W12 + .byte Dn1 , v064 + .byte W12 + .byte Dn1 , v052 + .byte W12 + .byte Dn1 , v064 + .byte W12 + .byte Dn1 , v052 + .byte W12 + .byte N21 , Dn1 , v064 + .byte W24 + .byte W96 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rekkuu_kourin_7: + .byte KEYSH , mus_rekkuu_kourin_key+0 + .byte VOICE , 82 + .byte VOL , 56*mus_rekkuu_kourin_mvl/mxv + .byte PAN , c_v+0 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BEND , c_v+0 + .byte TIE , Dn3 , v100 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte EOT + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte N84 , En4 + .byte W84 +mus_rekkuu_kourin_7_000: + .byte N12 , Fn4 , v100 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte TIE , En4 + .byte W24 + .byte PEND + .byte W96 + .byte EOT + .byte N12 , Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N24 , An4 + .byte W24 + .byte N12 + .byte W12 + .byte As4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte PATT + .word mus_rekkuu_kourin_7_000 + .byte W96 + .byte EOT , En4 + .byte N12 , Fn4 , v100 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte N48 , Dn4 + .byte W12 + .byte VOL , 45*mus_rekkuu_kourin_mvl/mxv + .byte W12 + .byte 34*mus_rekkuu_kourin_mvl/mxv + .byte W12 + .byte 22*mus_rekkuu_kourin_mvl/mxv + .byte W12 + .byte 11*mus_rekkuu_kourin_mvl/mxv + .byte W24 + .byte 1*mus_rekkuu_kourin_mvl/mxv + .byte W48 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rekkuu_kourin: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rekkuu_kourin_pri @ Priority + .byte mus_rekkuu_kourin_rev @ Reverb. + + .word mus_rekkuu_kourin_grp + + .word mus_rekkuu_kourin_1 + .word mus_rekkuu_kourin_2 + .word mus_rekkuu_kourin_3 + .word mus_rekkuu_kourin_4 + .word mus_rekkuu_kourin_5 + .word mus_rekkuu_kourin_6 + .word mus_rekkuu_kourin_7 + + .end diff --git a/sound/songs/mus_rg_ajito.s b/sound/songs/mus_rg_ajito.s new file mode 100644 index 0000000000..7339ee6b05 --- /dev/null +++ b/sound/songs/mus_rg_ajito.s @@ -0,0 +1,5214 @@ + .include "MPlayDef.s" + + .equ mus_rg_ajito_grp, voicegroup_86A1BB8 + .equ mus_rg_ajito_pri, 0 + .equ mus_rg_ajito_rev, reverb_set+50 + .equ mus_rg_ajito_mvl, 127 + .equ mus_rg_ajito_key, 0 + .equ mus_rg_ajito_tbs, 1 + .equ mus_rg_ajito_exg, 0 + .equ mus_rg_ajito_cmp, 1 + + .section .rodata + .global mus_rg_ajito + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_ajito_1: + .byte KEYSH , mus_rg_ajito_key+0 + .byte TEMPO , 130*mus_rg_ajito_tbs/2 + .byte VOICE , 80 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-64 + .byte VOL , 11*mus_rg_ajito_mvl/mxv + .byte W48 + .byte 11*mus_rg_ajito_mvl/mxv + .byte N48 , Fs4 , v127 + .byte W03 + .byte VOL , 16*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 22*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 28*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 34*mus_rg_ajito_mvl/mxv + .byte MOD , 6 + .byte W03 + .byte VOL , 38*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 51*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 61*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 68*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 73*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 79*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 85*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 90*mus_rg_ajito_mvl/mxv + .byte W06 +mus_rg_ajito_1_B1: + .byte MOD , 0 + .byte VOL , 29*mus_rg_ajito_mvl/mxv + .byte PAN , c_v-64 + .byte BEND , c_v+1 + .byte N06 , En3 , v127 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W12 + .byte As3 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W12 + .byte As3 + .byte W06 +mus_rg_ajito_1_000: + .byte PAN , c_v-64 + .byte N06 , En3 , v127 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W12 + .byte As3 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W12 + .byte As3 + .byte W06 + .byte PEND + .byte PAN , c_v-64 + .byte VOL , 32*mus_rg_ajito_mvl/mxv + .byte N06 , En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W12 + .byte As3 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W12 + .byte As3 + .byte W06 + .byte PAN , c_v-64 + .byte VOL , 35*mus_rg_ajito_mvl/mxv + .byte N06 , En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W12 + .byte As3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 2 + .byte N06 , En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte PAN , c_v-64 + .byte VOL , 29*mus_rg_ajito_mvl/mxv + .byte MOD , 0 + .byte N06 , En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W12 + .byte As3 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W12 + .byte As3 + .byte W06 + .byte PATT + .word mus_rg_ajito_1_000 + .byte PAN , c_v-64 + .byte MOD , 2 + .byte VOL , 31*mus_rg_ajito_mvl/mxv + .byte N06 , En3 , v127 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W12 + .byte As3 + .byte W06 + .byte PAN , c_v+63 + .byte VOL , 34*mus_rg_ajito_mvl/mxv + .byte N06 , En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W12 + .byte As3 + .byte W06 + .byte PAN , c_v-64 + .byte VOL , 37*mus_rg_ajito_mvl/mxv + .byte N06 , En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W12 + .byte As3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 3 + .byte VOL , 41*mus_rg_ajito_mvl/mxv + .byte N06 , En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W12 + .byte As3 + .byte W06 + .byte PAN , c_v-64 + .byte VOL , 56*mus_rg_ajito_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N12 , En4 + .byte W12 + .byte En4 , v048 + .byte W12 + .byte VOL , 44*mus_rg_ajito_mvl/mxv + .byte W12 + .byte N06 , En1 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 + .byte W12 + .byte VOL , 56*mus_rg_ajito_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte PAN , c_v+63 + .byte VOL , 56*mus_rg_ajito_mvl/mxv + .byte N12 , En5 , v096 + .byte W12 + .byte En5 , v036 + .byte W12 + .byte VOL , 44*mus_rg_ajito_mvl/mxv + .byte W12 + .byte N06 , En1 , v127 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 + .byte W12 + .byte VOL , 56*mus_rg_ajito_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte PAN , c_v-64 + .byte VOL , 56*mus_rg_ajito_mvl/mxv + .byte N12 , En4 + .byte W12 + .byte En4 , v048 + .byte W12 + .byte VOL , 44*mus_rg_ajito_mvl/mxv + .byte W12 + .byte N06 , En1 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 + .byte W12 + .byte VOL , 56*mus_rg_ajito_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Bn3 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte PAN , c_v-64 + .byte VOL , 38*mus_rg_ajito_mvl/mxv + .byte N24 , Gn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Fs3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N24 , En3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Ds3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte PAN , c_v-64 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N06 , En3 , v064 + .byte W06 + .byte N06 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte En3 , v092 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , As3 + .byte W06 + .byte En3 + .byte W06 + .byte Bn3 + .byte W06 + .byte En3 , v096 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cn4 , v112 + .byte W06 + .byte N18 , Bn3 + .byte W09 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte BEND , c_v+1 + .byte N06 , En3 , v064 + .byte W06 + .byte N06 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte En3 , v096 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , As3 + .byte W06 + .byte En3 + .byte W06 + .byte Bn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Cn4 , v112 + .byte W06 + .byte N18 + .byte W09 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte BEND , c_v+2 + .byte N06 , En3 , v064 + .byte W06 + .byte N06 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , As3 , v096 + .byte W06 + .byte En3 + .byte W06 + .byte Bn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cn4 , v112 + .byte W06 + .byte N18 , Cs4 + .byte W09 + .byte MOD , 6 + .byte W09 + .byte PAN , c_v-64 + .byte VOL , 34*mus_rg_ajito_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N24 , Gn3 , v127 + .byte W12 + .byte VOL , 22*mus_rg_ajito_mvl/mxv + .byte W12 + .byte 34*mus_rg_ajito_mvl/mxv + .byte N24 , Fs3 + .byte W12 + .byte VOL , 22*mus_rg_ajito_mvl/mxv + .byte W12 + .byte PAN , c_v+63 + .byte VOL , 34*mus_rg_ajito_mvl/mxv + .byte N24 , En3 + .byte W12 + .byte VOL , 22*mus_rg_ajito_mvl/mxv + .byte W12 + .byte 34*mus_rg_ajito_mvl/mxv + .byte N24 , Ds3 + .byte W12 + .byte VOL , 22*mus_rg_ajito_mvl/mxv + .byte W12 + .byte 34*mus_rg_ajito_mvl/mxv + .byte N24 , En3 + .byte W12 + .byte VOL , 22*mus_rg_ajito_mvl/mxv + .byte W12 + .byte 34*mus_rg_ajito_mvl/mxv + .byte N24 , Ds3 + .byte W12 + .byte VOL , 22*mus_rg_ajito_mvl/mxv + .byte W12 + .byte PAN , c_v-64 + .byte VOL , 34*mus_rg_ajito_mvl/mxv + .byte N24 , Cn3 + .byte W12 + .byte VOL , 22*mus_rg_ajito_mvl/mxv + .byte W12 + .byte 34*mus_rg_ajito_mvl/mxv + .byte N24 , Bn2 + .byte W12 + .byte VOL , 22*mus_rg_ajito_mvl/mxv + .byte W12 + .byte 45*mus_rg_ajito_mvl/mxv + .byte BEND , c_v+1 + .byte N06 , Bn2 , v056 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte As2 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte As2 + .byte W06 + .byte PAN , c_v+62 + .byte N06 , Cn3 , v064 + .byte W06 + .byte Bn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Bn2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Cs3 , v080 + .byte W06 + .byte Cn3 + .byte W06 + .byte An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cn3 + .byte W06 + .byte An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Dn3 , v092 + .byte W06 + .byte Cs3 + .byte W06 + .byte As2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte As2 + .byte W06 + .byte Cs3 + .byte W06 + .byte PAN , c_v-64 + .byte VOL , 34*mus_rg_ajito_mvl/mxv + .byte BEND , c_v+1 + .byte N06 , En1 , v120 + .byte W06 + .byte Gn1 + .byte W06 + .byte En1 + .byte W06 + .byte Ds1 + .byte W54 + .byte PAN , c_v+63 + .byte W12 + .byte N06 , En1 , v127 + .byte W12 + .byte N06 + .byte W06 + .byte Gn1 + .byte W06 + .byte En1 + .byte W06 + .byte Ds1 + .byte W54 + .byte PAN , c_v-64 + .byte W24 + .byte N06 , En1 + .byte W06 + .byte Gn1 + .byte W06 + .byte En1 + .byte W06 + .byte Ds1 + .byte W54 + .byte PAN , c_v+63 + .byte W24 + .byte N06 , En1 + .byte W06 + .byte Gn1 + .byte W06 + .byte En1 + .byte W06 + .byte Ds1 + .byte W78 + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v-64 + .byte VOL , 34*mus_rg_ajito_mvl/mxv + .byte N12 , Gn2 , v096 + .byte W12 + .byte N24 , As2 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N12 , Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N24 , Cs3 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N12 , Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v-64 + .byte N24 , Cs3 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N12 , Gn2 + .byte W12 + .byte N24 , An2 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N12 , Fs2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N24 , As2 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N12 , Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N24 , Cs3 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N12 , Gn2 + .byte W12 + .byte As2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte N12 + .byte W12 + .byte MOD , 0 + .byte N12 , Gn2 + .byte W12 + .byte PAN , c_v-64 + .byte N24 , Bn2 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N12 , Gn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , Fs2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , Gn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , Ds2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 68*mus_rg_ajito_mvl/mxv + .byte MOD , 0 + .byte N03 , Bn3 , v127 + .byte W06 + .byte N06 + .byte W06 + .byte VOL , 45*mus_rg_ajito_mvl/mxv + .byte N06 , Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , As3 + .byte W06 + .byte En3 + .byte W06 + .byte Bn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+63 + .byte VOL , 56*mus_rg_ajito_mvl/mxv + .byte N06 , Cn4 + .byte W06 + .byte N18 , Bn3 + .byte W18 + .byte VOL , 45*mus_rg_ajito_mvl/mxv + .byte N06 , En3 + .byte W06 + .byte N06 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , As3 + .byte W06 + .byte En3 + .byte W06 + .byte Bn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-64 + .byte VOL , 56*mus_rg_ajito_mvl/mxv + .byte N06 , Cn4 + .byte W06 + .byte N18 + .byte W18 + .byte VOL , 45*mus_rg_ajito_mvl/mxv + .byte N06 , En3 + .byte W06 + .byte N06 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , As3 + .byte W06 + .byte En3 + .byte W06 + .byte Bn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+63 + .byte VOL , 56*mus_rg_ajito_mvl/mxv + .byte N06 , Cn4 + .byte W06 + .byte N18 , Cs4 + .byte W18 + .byte PAN , c_v-64 + .byte VOL , 44*mus_rg_ajito_mvl/mxv + .byte N48 , Fs3 + .byte W48 + .byte PAN , c_v+63 + .byte N48 , Ds3 + .byte W48 + .byte PAN , c_v-64 + .byte VOL , 32*mus_rg_ajito_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , En3 , v064 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W12 + .byte As3 , v092 + .byte W06 + .byte PAN , c_v+63 + .byte BEND , c_v+0 + .byte N06 , En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs1 , v120 + .byte W06 + .byte As3 , v104 + .byte W06 + .byte PAN , c_v-64 + .byte BEND , c_v+1 + .byte N06 , En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W12 + .byte As3 , v112 + .byte W06 + .byte PAN , c_v+63 + .byte BEND , c_v+2 + .byte N06 , En3 , v127 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W12 + .byte As3 + .byte W06 + .byte BEND , c_v+2 + .byte N06 , En3 , v120 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W12 + .byte As3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs1 + .byte W06 + .byte As3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte En4 + .byte W06 + .byte As3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte N03 , Dn4 + .byte W03 + .byte Bn3 , v116 + .byte W03 + .byte As3 + .byte W03 + .byte An3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Gn3 + .byte W03 + .byte N06 , Fs3 , v120 + .byte W06 + .byte GOTO + .word mus_rg_ajito_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_ajito_2: + .byte KEYSH , mus_rg_ajito_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 11*mus_rg_ajito_mvl/mxv + .byte BEND , c_v+2 + .byte N48 , Gs4 , v127 + .byte W03 + .byte VOL , 16*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 22*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 28*mus_rg_ajito_mvl/mxv + .byte MOD , 6 + .byte W03 + .byte VOL , 34*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 38*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 51*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 61*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 68*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 73*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 79*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 85*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 90*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 11*mus_rg_ajito_mvl/mxv + .byte MOD , 0 + .byte N48 , Dn5 + .byte W03 + .byte VOL , 16*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 22*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 28*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 34*mus_rg_ajito_mvl/mxv + .byte MOD , 6 + .byte W03 + .byte VOL , 38*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 51*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 61*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 68*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 73*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 79*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 85*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 90*mus_rg_ajito_mvl/mxv + .byte W06 +mus_rg_ajito_2_B1: + .byte MOD , 0 + .byte VOL , 45*mus_rg_ajito_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , En1 , v127 + .byte W06 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W18 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W18 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte VOL , 51*mus_rg_ajito_mvl/mxv + .byte N06 , En1 + .byte W06 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W18 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W18 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte VOL , 55*mus_rg_ajito_mvl/mxv + .byte N06 , En1 + .byte W06 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W18 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W18 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte VOL , 56*mus_rg_ajito_mvl/mxv + .byte N06 , En1 + .byte W06 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W18 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte VOL , 65*mus_rg_ajito_mvl/mxv + .byte N06 , En1 + .byte W06 + .byte N06 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Ds1 + .byte W06 + .byte VOL , 45*mus_rg_ajito_mvl/mxv + .byte N06 , En1 + .byte W06 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W18 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W18 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte VOL , 53*mus_rg_ajito_mvl/mxv + .byte N06 , En1 + .byte W06 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W18 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W18 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte VOL , 56*mus_rg_ajito_mvl/mxv + .byte N06 , En1 + .byte W06 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W18 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte VOL , 65*mus_rg_ajito_mvl/mxv + .byte N06 , En1 + .byte W06 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W18 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte VOL , 56*mus_rg_ajito_mvl/mxv + .byte N06 , En1 + .byte W06 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W18 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W18 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte VOL , 45*mus_rg_ajito_mvl/mxv + .byte BEND , c_v+0 + .byte W12 + .byte N06 , En2 + .byte W06 + .byte N06 + .byte W18 + .byte En1 + .byte W24 + .byte N06 + .byte W24 + .byte N24 , Cn3 + .byte W12 + .byte W12 + .byte N06 , En2 + .byte W06 + .byte N06 + .byte W18 + .byte En1 + .byte W24 + .byte N06 + .byte W24 + .byte N24 , Cs3 + .byte W12 + .byte W12 + .byte N06 , En2 + .byte W06 + .byte N06 + .byte W18 + .byte En1 + .byte W24 + .byte N06 + .byte W24 + .byte N24 , Ds3 + .byte W12 + .byte W12 + .byte En4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , En2 + .byte W06 + .byte N06 + .byte W66 + .byte N24 , Fs3 + .byte W12 + .byte W12 + .byte N06 , En2 + .byte W06 + .byte N06 + .byte W66 + .byte N24 , Gn3 + .byte W12 + .byte W12 + .byte N06 , En2 + .byte W06 + .byte N06 + .byte W66 + .byte N24 , As3 + .byte W12 + .byte VOL , 34*mus_rg_ajito_mvl/mxv + .byte BEND , c_v+1 + .byte W12 + .byte N24 , En4 + .byte W12 + .byte VOL , 22*mus_rg_ajito_mvl/mxv + .byte W12 + .byte 34*mus_rg_ajito_mvl/mxv + .byte N24 , Ds4 + .byte W12 + .byte VOL , 22*mus_rg_ajito_mvl/mxv + .byte W12 + .byte 34*mus_rg_ajito_mvl/mxv + .byte N24 , Cn4 + .byte W12 + .byte VOL , 22*mus_rg_ajito_mvl/mxv + .byte W12 + .byte 34*mus_rg_ajito_mvl/mxv + .byte N24 , Bn3 + .byte W12 + .byte VOL , 22*mus_rg_ajito_mvl/mxv + .byte W12 + .byte 34*mus_rg_ajito_mvl/mxv + .byte N24 , Cn4 + .byte W12 + .byte VOL , 22*mus_rg_ajito_mvl/mxv + .byte W12 + .byte 34*mus_rg_ajito_mvl/mxv + .byte N24 , Bn3 + .byte W12 + .byte VOL , 22*mus_rg_ajito_mvl/mxv + .byte W12 + .byte 34*mus_rg_ajito_mvl/mxv + .byte N03 , Gn3 , v112 + .byte W03 + .byte An3 , v100 + .byte W03 + .byte N18 , Gn3 , v120 + .byte W06 + .byte VOL , 22*mus_rg_ajito_mvl/mxv + .byte W12 + .byte 34*mus_rg_ajito_mvl/mxv + .byte N12 , Fs3 , v127 + .byte W12 + .byte BEND , c_v+1 + .byte N48 , En3 , v060 + .byte W32 + .byte W01 + .byte BEND , c_v+2 + .byte W15 + .byte c_v+1 + .byte N48 , Fn3 , v056 + .byte W32 + .byte W01 + .byte BEND , c_v+2 + .byte W15 + .byte c_v+1 + .byte N48 , Fs3 , v092 + .byte W32 + .byte W01 + .byte BEND , c_v+2 + .byte W15 + .byte VOL , 56*mus_rg_ajito_mvl/mxv + .byte BEND , c_v+1 + .byte N48 , Gn3 , v127 + .byte W32 + .byte W01 + .byte BEND , c_v+2 + .byte W15 + .byte VOL , 45*mus_rg_ajito_mvl/mxv + .byte BEND , c_v+1 + .byte N06 , En1 + .byte W06 + .byte Gn1 + .byte W06 + .byte En1 + .byte W06 + .byte Ds1 + .byte W66 + .byte En1 + .byte W12 +mus_rg_ajito_2_000: + .byte N06 , En1 , v127 + .byte W06 + .byte Gn1 + .byte W06 + .byte En1 + .byte W06 + .byte Ds1 + .byte W78 + .byte PEND + .byte PATT + .word mus_rg_ajito_2_000 + .byte BEND , c_v+0 + .byte N06 , En1 , v127 + .byte W06 + .byte Gn1 + .byte W06 + .byte En1 + .byte W06 + .byte Ds1 + .byte W78 + .byte VOICE , 83 + .byte VOL , 22*mus_rg_ajito_mvl/mxv + .byte BEND , c_v+1 + .byte W12 + .byte N36 , En3 + .byte W36 + .byte Gn3 + .byte W36 + .byte N24 , En3 + .byte W12 +mus_rg_ajito_2_001: + .byte W12 + .byte N36 , An3 , v127 + .byte W36 + .byte Cn4 + .byte W36 + .byte N24 , Bn3 + .byte W12 + .byte PEND +mus_rg_ajito_2_002: + .byte W12 + .byte N36 , Gn3 , v127 + .byte W36 + .byte As3 + .byte W36 + .byte N24 , Fs3 + .byte W12 + .byte PEND + .byte W12 + .byte N36 , En3 + .byte W36 + .byte Fs3 + .byte W36 + .byte N24 , Ds3 + .byte W12 + .byte W12 + .byte N36 , En3 + .byte W36 + .byte Gn3 + .byte W36 + .byte N24 , En3 + .byte W12 + .byte PATT + .word mus_rg_ajito_2_001 + .byte PATT + .word mus_rg_ajito_2_002 + .byte W12 + .byte N36 , En3 , v127 + .byte W36 + .byte Fs3 + .byte W36 + .byte N12 , Ds3 + .byte W12 + .byte VOICE , 81 + .byte BEND , c_v+0 + .byte W12 + .byte N06 , En2 + .byte W06 + .byte N06 + .byte W06 + .byte En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W18 + .byte N24 , Fs3 + .byte W12 + .byte W12 + .byte N06 , En2 + .byte W06 + .byte N06 + .byte W06 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W18 + .byte N24 , Gn3 + .byte W12 + .byte W12 + .byte N06 , En2 + .byte W06 + .byte N06 + .byte W06 + .byte En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte N24 , As3 + .byte W24 + .byte N48 , Bn3 + .byte W48 + .byte Ds4 + .byte W48 + .byte BEND , c_v+0 + .byte N06 , En2 + .byte W06 + .byte En2 , v092 + .byte W06 + .byte Bn2 , v127 + .byte W06 + .byte Cn3 , v088 + .byte W18 + .byte Cn3 , v127 + .byte W06 + .byte Bn2 , v088 + .byte W06 + .byte VOL , 34*mus_rg_ajito_mvl/mxv + .byte BEND , c_v+1 + .byte N06 , En2 , v127 + .byte W06 + .byte En2 , v088 + .byte W06 + .byte Bn2 , v127 + .byte W06 + .byte Cn3 , v084 + .byte W18 + .byte Cn3 , v127 + .byte W06 + .byte Bn2 , v084 + .byte W06 + .byte VOL , 39*mus_rg_ajito_mvl/mxv + .byte BEND , c_v+1 + .byte N06 , En2 , v127 + .byte W06 + .byte En2 , v088 + .byte W06 + .byte Bn2 , v127 + .byte W06 + .byte Cn3 , v084 + .byte W18 + .byte Cn3 , v127 + .byte W06 + .byte Bn2 , v084 + .byte W06 + .byte VOL , 45*mus_rg_ajito_mvl/mxv + .byte BEND , c_v+2 + .byte N06 , En2 , v127 + .byte W06 + .byte En2 , v084 + .byte W06 + .byte Bn2 , v127 + .byte W06 + .byte Cn3 , v084 + .byte W18 + .byte Cn3 , v127 + .byte W06 + .byte Bn2 , v084 + .byte W06 + .byte En2 , v127 + .byte W06 + .byte En2 , v092 + .byte W06 + .byte Bn2 , v127 + .byte W06 + .byte Cn3 , v088 + .byte W18 + .byte Cn3 , v127 + .byte W06 + .byte Bn2 , v088 + .byte W06 + .byte VOL , 51*mus_rg_ajito_mvl/mxv + .byte N06 , En2 , v127 + .byte W06 + .byte En2 , v088 + .byte W06 + .byte Bn2 , v127 + .byte W06 + .byte Cn3 , v084 + .byte W18 + .byte Cn3 , v127 + .byte W06 + .byte Bn2 , v084 + .byte W06 + .byte VOL , 56*mus_rg_ajito_mvl/mxv + .byte N06 , En2 , v127 + .byte W06 + .byte En2 , v088 + .byte W06 + .byte Bn2 , v127 + .byte W06 + .byte Cn3 , v084 + .byte W18 + .byte Cn3 , v127 + .byte W06 + .byte Bn2 , v084 + .byte W06 + .byte En2 , v127 + .byte W06 + .byte En2 , v084 + .byte W06 + .byte Bn2 , v127 + .byte W06 + .byte Cn3 , v084 + .byte W18 + .byte Cn3 , v116 + .byte W06 + .byte Bn2 , v084 + .byte W06 + .byte GOTO + .word mus_rg_ajito_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_ajito_3: + .byte KEYSH , mus_rg_ajito_key+0 + .byte VOICE , 92 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 45*mus_rg_ajito_mvl/mxv + .byte PAN , c_v+0 + .byte W84 + .byte N06 , Dn3 , v127 + .byte W06 + .byte Ds3 + .byte W06 +mus_rg_ajito_3_B1: + .byte VOICE , 92 + .byte VOL , 51*mus_rg_ajito_mvl/mxv + .byte N24 , En4 , v127 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N24 , As4 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 9 + .byte W12 +mus_rg_ajito_3_000: + .byte MOD , 0 + .byte N24 , Cs5 , v127 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N24 , Gs4 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte PEND +mus_rg_ajito_3_001: + .byte MOD , 0 + .byte N24 , As4 , v127 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N24 , En4 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N24 , An4 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte PEND +mus_rg_ajito_3_002: + .byte MOD , 0 + .byte N24 , Gs4 , v127 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N24 , En4 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte PEND + .byte 0 + .byte N24 , En4 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N24 , As4 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte PATT + .word mus_rg_ajito_3_000 + .byte PATT + .word mus_rg_ajito_3_001 + .byte PATT + .word mus_rg_ajito_3_002 + .byte VOICE , 87 + .byte MOD , 0 + .byte VOL , 45*mus_rg_ajito_mvl/mxv + .byte N06 , En3 , v127 + .byte W06 + .byte En3 , v120 + .byte W30 + .byte En2 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Fs3 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v064 + .byte W30 + .byte En2 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Gn3 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte W36 + .byte N06 , En2 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , An3 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte VOL , 44*mus_rg_ajito_mvl/mxv + .byte MOD , 0 + .byte N24 , Bn3 + .byte W24 + .byte As3 + .byte W24 + .byte Gn3 + .byte W24 + .byte Fs3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte W36 + .byte N06 , En3 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Fs3 + .byte W24 +mus_rg_ajito_3_003: + .byte W36 + .byte N06 , En3 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte PEND +mus_rg_ajito_3_004: + .byte W36 + .byte N06 , En3 , v127 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N24 , As3 + .byte W24 + .byte PEND + .byte VOL , 34*mus_rg_ajito_mvl/mxv + .byte N24 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , As3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Fs3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Fs3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , En3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Ds3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En2 + .byte W06 + .byte Ds2 + .byte W78 +mus_rg_ajito_3_005: + .byte N06 , En2 , v127 + .byte W06 + .byte Gn2 + .byte W06 + .byte En2 + .byte W06 + .byte Ds2 + .byte W78 + .byte PEND + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En2 + .byte W06 + .byte Ds2 + .byte W66 + .byte En2 + .byte W12 + .byte PATT + .word mus_rg_ajito_3_005 + .byte PATT + .word mus_rg_ajito_3_005 + .byte N06 , En2 , v127 + .byte W06 + .byte Gn2 + .byte W06 + .byte En2 + .byte W06 + .byte Ds2 + .byte W54 + .byte VOICE , 92 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Ds2 + .byte W06 +mus_rg_ajito_3_006: + .byte N24 , En2 , v127 + .byte W24 + .byte Bn2 + .byte W24 + .byte As2 + .byte W24 + .byte Dn3 + .byte W24 + .byte PEND +mus_rg_ajito_3_007: + .byte N24 , Cs3 , v127 + .byte W24 + .byte Gs2 + .byte W24 + .byte Gn2 + .byte W24 + .byte Bn2 + .byte W24 + .byte PEND +mus_rg_ajito_3_008: + .byte N24 , As2 , v127 + .byte W24 + .byte En2 + .byte W24 + .byte Ds2 + .byte W24 + .byte An2 + .byte W24 + .byte PEND +mus_rg_ajito_3_009: + .byte N24 , Gs2 , v127 + .byte W24 + .byte En2 + .byte W24 + .byte Fs2 + .byte W24 + .byte Ds2 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_ajito_3_006 + .byte PATT + .word mus_rg_ajito_3_007 + .byte PATT + .word mus_rg_ajito_3_008 + .byte PATT + .word mus_rg_ajito_3_009 + .byte VOICE , 87 + .byte N12 , En2 , v127 + .byte W36 + .byte N06 , En3 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Fs3 + .byte W24 + .byte PATT + .word mus_rg_ajito_3_003 + .byte PATT + .word mus_rg_ajito_3_004 + .byte N48 , Bn3 , v127 + .byte W12 + .byte MOD , 8 + .byte W36 + .byte 0 + .byte N36 , Fs3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 , v120 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte VOICE , 92 + .byte W36 + .byte N06 , Dn3 , v127 + .byte W06 + .byte Ds3 + .byte W06 + .byte GOTO + .word mus_rg_ajito_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_ajito_4: + .byte KEYSH , mus_rg_ajito_key+0 + .byte VOICE , 48 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 11*mus_rg_ajito_mvl/mxv + .byte PAN , c_v-48 + .byte N48 , Gs2 , v096 + .byte W06 + .byte PAN , c_v-40 + .byte VOL , 17*mus_rg_ajito_mvl/mxv + .byte W06 + .byte PAN , c_v-32 + .byte VOL , 25*mus_rg_ajito_mvl/mxv + .byte W06 + .byte PAN , c_v-22 + .byte VOL , 34*mus_rg_ajito_mvl/mxv + .byte W06 + .byte PAN , c_v-16 + .byte VOL , 41*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 47*mus_rg_ajito_mvl/mxv + .byte W06 + .byte PAN , c_v+16 + .byte VOL , 52*mus_rg_ajito_mvl/mxv + .byte W06 + .byte PAN , c_v+32 + .byte VOL , 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 22*mus_rg_ajito_mvl/mxv + .byte PAN , c_v+0 + .byte N48 , Dn2 , v100 + .byte W06 + .byte VOL , 34*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 68*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 79*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 89*mus_rg_ajito_mvl/mxv + .byte W12 +mus_rg_ajito_4_B1: + .byte VOL , 60*mus_rg_ajito_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte VOICE , 38 + .byte W96 + .byte W96 + .byte W48 + .byte PAN , c_v-32 + .byte N06 , En1 , v127 + .byte W06 + .byte N06 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Fn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Ds1 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte PAN , c_v-32 + .byte VOL , 64*mus_rg_ajito_mvl/mxv + .byte N06 , En1 , v112 + .byte W06 + .byte En1 , v120 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte PAN , c_v+32 + .byte W12 + .byte N06 , Cn2 , v127 + .byte W06 + .byte Bn1 + .byte W06 + .byte PAN , c_v+0 + .byte VOL , 60*mus_rg_ajito_mvl/mxv + .byte BEND , c_v+0 + .byte W12 + .byte N06 , En2 , v120 + .byte W06 + .byte N03 + .byte W18 + .byte N06 , En1 + .byte W24 + .byte N06 + .byte W24 + .byte N24 , Cn2 + .byte W06 + .byte BEND , c_v+8 + .byte W06 + .byte MOD , 11 + .byte BEND , c_v+0 + .byte W12 + .byte MOD , 0 + .byte N06 , En2 + .byte W06 + .byte N03 + .byte W18 + .byte N06 , En1 + .byte W24 + .byte N06 + .byte W24 + .byte N24 , Cs2 + .byte W06 + .byte BEND , c_v+8 + .byte W06 + .byte MOD , 11 + .byte BEND , c_v+0 + .byte W12 + .byte MOD , 0 + .byte N06 , En2 + .byte W06 + .byte N03 + .byte W18 + .byte N06 , En1 + .byte W24 + .byte N06 + .byte W36 + .byte W96 + .byte BEND , c_v+0 + .byte N03 + .byte W06 + .byte N06 + .byte W66 + .byte N24 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte MOD , 11 + .byte BEND , c_v+0 + .byte W12 + .byte MOD , 0 + .byte N03 + .byte W06 + .byte N06 + .byte W66 + .byte N24 , Gn1 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte MOD , 11 + .byte BEND , c_v+0 + .byte W12 + .byte MOD , 0 + .byte N03 , En1 + .byte W06 + .byte N06 + .byte W66 + .byte N24 , Bn1 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte MOD , 11 + .byte BEND , c_v+0 + .byte W03 + .byte c_v-13 + .byte W03 + .byte c_v-34 + .byte W03 + .byte c_v-63 + .byte W03 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte N06 , En1 , v076 + .byte W06 + .byte Gn1 + .byte W06 + .byte En1 + .byte W06 + .byte Ds1 + .byte W66 + .byte Gn1 , v120 + .byte W06 + .byte Fs1 + .byte W06 +mus_rg_ajito_4_000: + .byte N06 , En1 , v127 + .byte W06 + .byte Gn1 + .byte W06 + .byte En1 + .byte W06 + .byte Ds1 + .byte W78 + .byte PEND + .byte VOL , 45*mus_rg_ajito_mvl/mxv + .byte N06 , En1 + .byte W06 + .byte Gn1 + .byte W06 + .byte En1 + .byte W06 + .byte Ds1 + .byte W66 + .byte En1 + .byte W12 + .byte PATT + .word mus_rg_ajito_4_000 + .byte PATT + .word mus_rg_ajito_4_000 + .byte PATT + .word mus_rg_ajito_4_000 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 120 + .byte VOL , 5*mus_rg_ajito_mvl/mxv + .byte PAN , c_v-48 + .byte TIE , Cn5 , v120 + .byte W24 + .byte VOL , 8*mus_rg_ajito_mvl/mxv + .byte PAN , c_v+48 + .byte W24 + .byte VOL , 11*mus_rg_ajito_mvl/mxv + .byte PAN , c_v-48 + .byte W24 + .byte c_v+48 + .byte W12 + .byte c_v-48 + .byte W12 + .byte c_v+0 + .byte W12 + .byte c_v-48 + .byte W12 + .byte c_v+48 + .byte W12 + .byte c_v+0 + .byte W12 + .byte VOL , 12*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 21*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 29*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 34*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 39*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 44*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 48*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 52*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 61*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 68*mus_rg_ajito_mvl/mxv + .byte W03 + .byte EOT + .byte VOICE , 38 + .byte VOL , 45*mus_rg_ajito_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , En1 , v127 + .byte W06 + .byte En1 , v092 + .byte W06 + .byte Bn1 , v127 + .byte W06 + .byte Cn2 , v088 + .byte W18 + .byte Cn2 , v127 + .byte W06 + .byte Bn1 , v088 + .byte W06 + .byte VOL , 52*mus_rg_ajito_mvl/mxv + .byte N06 , En1 , v127 + .byte W06 + .byte En1 , v088 + .byte W06 + .byte Bn1 , v127 + .byte W06 + .byte Cn2 , v084 + .byte W18 + .byte Cn2 , v127 + .byte W06 + .byte Bn1 , v084 + .byte W06 + .byte VOL , 56*mus_rg_ajito_mvl/mxv + .byte N06 , En1 , v127 + .byte W06 + .byte En1 , v088 + .byte W06 + .byte Bn1 , v127 + .byte W06 + .byte Cn2 , v084 + .byte W18 + .byte Cn2 , v127 + .byte W06 + .byte Bn1 , v084 + .byte W06 + .byte VOL , 60*mus_rg_ajito_mvl/mxv + .byte N06 , En1 , v127 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte Bn1 , v127 + .byte W06 + .byte Cn2 , v084 + .byte W18 + .byte Cn2 , v127 + .byte W06 + .byte Bn1 , v084 + .byte W06 + .byte VOL , 45*mus_rg_ajito_mvl/mxv + .byte N06 , En1 , v127 + .byte W06 + .byte En1 , v092 + .byte W06 + .byte Bn1 , v127 + .byte W06 + .byte Cn2 , v088 + .byte W18 + .byte Cn2 , v127 + .byte W06 + .byte Bn1 , v088 + .byte W06 + .byte VOL , 52*mus_rg_ajito_mvl/mxv + .byte N06 , En1 , v127 + .byte W06 + .byte En1 , v088 + .byte W06 + .byte Bn1 , v127 + .byte W06 + .byte Cn2 , v084 + .byte W18 + .byte Cn2 , v127 + .byte W06 + .byte Bn1 , v084 + .byte W06 + .byte VOL , 57*mus_rg_ajito_mvl/mxv + .byte N06 , En1 , v127 + .byte W06 + .byte En1 , v088 + .byte W06 + .byte Bn1 , v127 + .byte W06 + .byte Cn2 , v084 + .byte W18 + .byte Cn2 , v127 + .byte W06 + .byte Bn1 , v084 + .byte W06 + .byte VOL , 61*mus_rg_ajito_mvl/mxv + .byte N06 , En1 , v127 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte Bn1 , v127 + .byte W06 + .byte Cn2 , v084 + .byte W18 + .byte Cn2 , v120 + .byte W06 + .byte Bn1 , v084 + .byte W06 + .byte GOTO + .word mus_rg_ajito_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_ajito_5: + .byte KEYSH , mus_rg_ajito_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 7*mus_rg_ajito_mvl/mxv + .byte PAN , c_v-32 + .byte N48 , Gs3 , v080 + .byte W06 + .byte VOL , 7*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 11*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 13*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 16*mus_rg_ajito_mvl/mxv + .byte PAN , c_v+16 + .byte W09 + .byte VOL , 18*mus_rg_ajito_mvl/mxv + .byte W03 + .byte PAN , c_v+32 + .byte W03 + .byte VOL , 21*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 24*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 7*mus_rg_ajito_mvl/mxv + .byte N48 , Fs4 + .byte W06 + .byte VOL , 7*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 11*mus_rg_ajito_mvl/mxv + .byte PAN , c_v+48 + .byte W06 + .byte VOL , 13*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 16*mus_rg_ajito_mvl/mxv + .byte W09 + .byte 18*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 21*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 24*mus_rg_ajito_mvl/mxv + .byte W06 +mus_rg_ajito_5_B1: + .byte W96 + .byte VOICE , 14 + .byte VOL , 45*mus_rg_ajito_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_ajito_5_000: + .byte PAN , c_v+0 + .byte N24 , En4 , v127 + .byte W24 + .byte PAN , c_v-64 + .byte N24 , En4 , v056 + .byte W24 + .byte PAN , c_v+63 + .byte N24 , En4 , v044 + .byte W24 + .byte PAN , c_v-64 + .byte N24 , En4 , v024 + .byte W24 + .byte PEND + .byte PAN , c_v+0 + .byte N24 , En5 , v127 + .byte W24 + .byte PAN , c_v+63 + .byte N24 , En5 , v056 + .byte W24 + .byte PAN , c_v-64 + .byte N24 , En5 , v044 + .byte W24 + .byte PAN , c_v+63 + .byte N24 , En5 , v024 + .byte W24 + .byte PATT + .word mus_rg_ajito_5_000 + .byte PAN , c_v-32 + .byte VOL , 45*mus_rg_ajito_mvl/mxv + .byte W12 + .byte N24 , En5 , v127 + .byte W12 + .byte PAN , c_v+32 + .byte W12 + .byte N24 , Ds5 + .byte W12 + .byte PAN , c_v-32 + .byte W12 + .byte N24 , Cn5 + .byte W12 + .byte PAN , c_v+32 + .byte W12 + .byte N12 , Bn4 + .byte W12 + .byte VOICE , 24 + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte N06 , En4 , v064 + .byte W06 + .byte N06 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte En4 , v092 + .byte W06 + .byte As4 + .byte W06 + .byte En4 + .byte W06 + .byte Bn4 + .byte W06 + .byte En4 , v096 + .byte W06 + .byte Cn5 , v127 + .byte W06 + .byte N18 , Bn4 + .byte W06 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N06 , En4 , v064 + .byte W06 + .byte N06 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte En4 , v096 + .byte W06 + .byte As4 + .byte W06 + .byte En4 + .byte W06 + .byte Bn4 + .byte W06 + .byte En4 + .byte W06 + .byte Cn5 , v127 + .byte W06 + .byte N18 + .byte W06 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N06 , En4 , v064 + .byte W06 + .byte N06 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte En4 + .byte W06 + .byte As4 , v096 + .byte W06 + .byte En4 + .byte W06 + .byte Bn4 + .byte W06 + .byte En4 + .byte W06 + .byte Cn5 , v127 + .byte W06 + .byte N18 , Cs5 + .byte W06 + .byte MOD , 8 + .byte W12 + .byte VOICE , 17 + .byte MOD , 0 + .byte VOL , 48*mus_rg_ajito_mvl/mxv + .byte W09 + .byte N03 , Ds5 , v096 + .byte W03 + .byte N24 , En5 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Ds5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Cn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Cn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N03 , Gn4 , v112 + .byte W03 + .byte An4 , v100 + .byte W03 + .byte N18 , Gn4 , v120 + .byte W06 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Fs4 , v127 + .byte W12 + .byte VOICE , 24 + .byte VOL , 34*mus_rg_ajito_mvl/mxv + .byte PAN , c_v+32 + .byte N06 , Bn4 , v056 + .byte W06 + .byte As4 + .byte W06 + .byte Gn4 + .byte W06 + .byte As4 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte Gn4 + .byte W06 + .byte As4 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Cn5 , v064 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Cs5 , v088 + .byte W06 + .byte Cn5 + .byte W06 + .byte An4 + .byte W06 + .byte Cn5 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cs5 + .byte W06 + .byte Cn5 + .byte W06 + .byte An4 + .byte W06 + .byte Cn5 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Dn5 , v112 + .byte W06 + .byte Cs5 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte VOICE , 1 + .byte W12 + .byte N06 , Dn4 , v127 + .byte W06 + .byte Ds4 + .byte W06 +mus_rg_ajito_5_001: + .byte PAN , c_v+0 + .byte N12 , En4 , v127 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En4 , v040 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , Bn4 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn4 , v040 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , As4 , v127 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , As4 , v040 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , Dn5 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn5 , v040 + .byte W12 + .byte PEND +mus_rg_ajito_5_002: + .byte PAN , c_v+0 + .byte N12 , Cs5 , v127 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cs5 , v040 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , Gs4 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gs4 , v040 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Gn4 , v127 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gn4 , v040 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , Bn4 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn4 , v040 + .byte W12 + .byte PEND +mus_rg_ajito_5_003: + .byte PAN , c_v+0 + .byte N12 , As4 , v127 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , As4 , v040 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , En4 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En4 , v040 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Ds4 , v127 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Ds4 , v040 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , An4 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An4 , v040 + .byte W12 + .byte PEND +mus_rg_ajito_5_004: + .byte PAN , c_v+0 + .byte N12 , Gs4 , v127 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gs4 , v040 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , En4 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En4 , v040 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Fs4 , v127 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Fs4 , v040 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , Ds4 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Ds4 , v040 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_ajito_5_001 + .byte PATT + .word mus_rg_ajito_5_002 + .byte PATT + .word mus_rg_ajito_5_003 + .byte PATT + .word mus_rg_ajito_5_004 + .byte VOICE , 56 + .byte PAN , c_v+0 + .byte VOL , 79*mus_rg_ajito_mvl/mxv + .byte N03 , En4 , v127 + .byte W06 + .byte N06 , En4 , v120 + .byte W18 + .byte En4 , v127 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W18 + .byte N24 , Fs3 + .byte W12 + .byte VOL , 63*mus_rg_ajito_mvl/mxv + .byte MOD , 5 + .byte W12 + .byte 0 + .byte W12 + .byte VOICE , 60 + .byte N06 , Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W18 + .byte N24 , Gn3 + .byte W12 + .byte VOL , 79*mus_rg_ajito_mvl/mxv + .byte MOD , 9 + .byte W12 + .byte 0 + .byte W12 + .byte VOICE , 56 + .byte N06 , En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte As3 + .byte W06 + .byte N18 , Cs4 , v120 + .byte W18 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Fs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En4 + .byte W06 + .byte N03 , Dn4 , v076 + .byte W03 + .byte Cn4 + .byte W03 + .byte As3 + .byte W84 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_ajito_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_ajito_6: + .byte KEYSH , mus_rg_ajito_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 9*mus_rg_ajito_mvl/mxv + .byte N48 , Gs4 , v112 + .byte W06 + .byte VOL , 14*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 19*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 24*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 32*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 44*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 55*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 64*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 70*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 77*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 9*mus_rg_ajito_mvl/mxv + .byte N48 , Dn5 + .byte W06 + .byte VOL , 14*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 19*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 24*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 32*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 44*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 55*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 64*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 70*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 77*mus_rg_ajito_mvl/mxv + .byte W03 +mus_rg_ajito_6_B1: + .byte VOICE , 48 + .byte PAN , c_v+32 + .byte VOL , 40*mus_rg_ajito_mvl/mxv + .byte N06 , En2 , v127 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W12 + .byte As2 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W12 + .byte As2 + .byte W06 +mus_rg_ajito_6_000: + .byte PAN , c_v+32 + .byte N06 , En2 , v127 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W12 + .byte As2 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W12 + .byte As2 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_ajito_6_000 + .byte PAN , c_v+32 + .byte N06 , En2 , v127 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W12 + .byte As2 + .byte W06 + .byte PAN , c_v-32 + .byte VOL , 45*mus_rg_ajito_mvl/mxv + .byte N06 , En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte VOL , 49*mus_rg_ajito_mvl/mxv + .byte N06 , Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte VOL , 54*mus_rg_ajito_mvl/mxv + .byte N06 , An2 + .byte W06 + .byte As2 + .byte W06 + .byte PAN , c_v+32 + .byte VOL , 41*mus_rg_ajito_mvl/mxv + .byte N06 , En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W12 + .byte As2 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W12 + .byte As2 + .byte W06 + .byte PATT + .word mus_rg_ajito_6_000 + .byte PATT + .word mus_rg_ajito_6_000 + .byte PAN , c_v+32 + .byte N06 , En2 , v127 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W12 + .byte As2 + .byte W06 + .byte PAN , c_v-32 + .byte VOL , 45*mus_rg_ajito_mvl/mxv + .byte N06 , En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte VOL , 51*mus_rg_ajito_mvl/mxv + .byte N06 , Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte VOL , 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte N06 , As2 + .byte W06 + .byte VOL , 33*mus_rg_ajito_mvl/mxv + .byte PAN , c_v-1 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 22*mus_rg_ajito_mvl/mxv + .byte N96 , Bn2 , v120 + .byte W60 + .byte VOL , 34*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 44*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 68*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 79*mus_rg_ajito_mvl/mxv + .byte W18 + .byte 22*mus_rg_ajito_mvl/mxv + .byte N96 , En2 + .byte W60 + .byte VOL , 34*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 44*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 68*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 79*mus_rg_ajito_mvl/mxv + .byte W18 + .byte 22*mus_rg_ajito_mvl/mxv + .byte N96 , Cs3 + .byte W60 + .byte VOL , 34*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 44*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 68*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 79*mus_rg_ajito_mvl/mxv + .byte W18 + .byte 22*mus_rg_ajito_mvl/mxv + .byte W96 + .byte W96 + .byte VOICE , 30 + .byte VOL , 22*mus_rg_ajito_mvl/mxv + .byte PAN , c_v+0 + .byte N48 , En3 , v064 + .byte W06 + .byte VOL , 25*mus_rg_ajito_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte W03 + .byte VOL , 29*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 36*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 55*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 60*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 63*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 68*mus_rg_ajito_mvl/mxv + .byte W12 + .byte 22*mus_rg_ajito_mvl/mxv + .byte MOD , 0 + .byte N48 , Fn3 , v080 + .byte W06 + .byte VOL , 25*mus_rg_ajito_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte W03 + .byte VOL , 29*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 36*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 55*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 60*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 63*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 68*mus_rg_ajito_mvl/mxv + .byte W12 + .byte 22*mus_rg_ajito_mvl/mxv + .byte MOD , 0 + .byte N48 , Fs3 , v092 + .byte W06 + .byte VOL , 25*mus_rg_ajito_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte W03 + .byte VOL , 29*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 36*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 55*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 60*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 63*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 68*mus_rg_ajito_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 35*mus_rg_ajito_mvl/mxv + .byte N48 , Gn3 , v127 + .byte W06 + .byte VOL , 38*mus_rg_ajito_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte W03 + .byte VOL , 42*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 50*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 58*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 63*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 69*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 72*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 77*mus_rg_ajito_mvl/mxv + .byte W12 + .byte 68*mus_rg_ajito_mvl/mxv + .byte MOD , 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 17 + .byte VOL , 68*mus_rg_ajito_mvl/mxv + .byte W12 + .byte N36 , En3 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte VOL , 62*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 68*mus_rg_ajito_mvl/mxv + .byte N36 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte VOL , 62*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 68*mus_rg_ajito_mvl/mxv + .byte N24 , En3 + .byte W12 + .byte W12 + .byte N36 , An3 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte VOL , 62*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 68*mus_rg_ajito_mvl/mxv + .byte N36 , Cn4 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte VOL , 62*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 68*mus_rg_ajito_mvl/mxv + .byte N24 , Bn3 + .byte W12 + .byte W12 + .byte N36 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte VOL , 62*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 68*mus_rg_ajito_mvl/mxv + .byte N36 , As3 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte VOL , 62*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 68*mus_rg_ajito_mvl/mxv + .byte N24 , Fs3 + .byte W12 + .byte W12 + .byte N36 , En3 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte VOL , 62*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 68*mus_rg_ajito_mvl/mxv + .byte MOD , 0 + .byte N36 , Fs3 + .byte W18 + .byte VOL , 62*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 68*mus_rg_ajito_mvl/mxv + .byte N24 , Ds3 + .byte W12 + .byte VOL , 68*mus_rg_ajito_mvl/mxv + .byte W12 + .byte VOICE , 29 + .byte N36 , En3 , v032 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte VOL , 62*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 68*mus_rg_ajito_mvl/mxv + .byte N36 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte VOL , 62*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 68*mus_rg_ajito_mvl/mxv + .byte N24 , En3 + .byte W12 + .byte W12 + .byte N36 , An3 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte VOL , 62*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 68*mus_rg_ajito_mvl/mxv + .byte N36 , Cn4 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte VOL , 62*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 68*mus_rg_ajito_mvl/mxv + .byte N24 , Bn3 + .byte W12 + .byte W12 + .byte N36 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte VOL , 62*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 68*mus_rg_ajito_mvl/mxv + .byte N36 , As3 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte VOL , 62*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 68*mus_rg_ajito_mvl/mxv + .byte N24 , Fs3 + .byte W12 + .byte W12 + .byte N36 , En3 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte VOL , 62*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 68*mus_rg_ajito_mvl/mxv + .byte MOD , 0 + .byte N36 , Fs3 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte VOL , 62*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 45*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 68*mus_rg_ajito_mvl/mxv + .byte MOD , 0 + .byte N12 , Ds3 + .byte W12 + .byte VOICE , 48 + .byte PAN , c_v+32 + .byte VOL , 49*mus_rg_ajito_mvl/mxv + .byte N06 , En3 , v127 + .byte W06 + .byte N06 + .byte W06 + .byte VOL , 38*mus_rg_ajito_mvl/mxv + .byte PAN , c_v-33 + .byte N06 , Fn2 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Gn2 + .byte W06 + .byte En2 + .byte W06 + .byte An2 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , As2 + .byte W06 + .byte En2 + .byte W06 + .byte Bn2 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v+31 + .byte N06 , Cn3 + .byte W06 + .byte N18 , Bn2 + .byte W18 + .byte PAN , c_v-32 + .byte N06 , En2 + .byte W06 + .byte N06 + .byte W06 + .byte Fn2 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Gn2 + .byte W06 + .byte En2 + .byte W06 + .byte An2 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , As2 + .byte W06 + .byte En2 + .byte W06 + .byte Bn2 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v+31 + .byte N06 , Cn3 + .byte W06 + .byte N18 + .byte W18 + .byte PAN , c_v-32 + .byte N06 , En2 + .byte W06 + .byte N06 + .byte W06 + .byte Fn2 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Gn2 + .byte W06 + .byte En2 + .byte W06 + .byte An2 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , As2 + .byte W06 + .byte En2 + .byte W06 + .byte Bn2 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v+31 + .byte N06 , Cn3 + .byte W06 + .byte N18 , Cs3 + .byte W18 + .byte W96 + .byte PAN , c_v+32 + .byte VOL , 38*mus_rg_ajito_mvl/mxv + .byte W48 + .byte PAN , c_v-32 + .byte N06 , En2 , v072 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W12 + .byte As2 , v092 + .byte W06 + .byte PAN , c_v+32 + .byte VOL , 43*mus_rg_ajito_mvl/mxv + .byte N06 , En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W12 + .byte As2 , v127 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W12 + .byte As2 + .byte W06 + .byte PAN , c_v+32 + .byte VOL , 46*mus_rg_ajito_mvl/mxv + .byte BEND , c_v-1 + .byte N06 , En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W12 + .byte As2 + .byte W06 + .byte PAN , c_v-32 + .byte BEND , c_v-2 + .byte N06 , En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W12 + .byte As2 + .byte W06 + .byte PAN , c_v+32 + .byte VOL , 51*mus_rg_ajito_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , En2 , v120 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte En3 + .byte W06 + .byte As2 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , En2 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte N03 , Dn3 + .byte W03 + .byte Bn2 , v116 + .byte W03 + .byte As2 + .byte W03 + .byte An2 + .byte W03 + .byte Gs2 + .byte W03 + .byte Gn2 + .byte W03 + .byte N06 , Fs2 , v120 + .byte W06 + .byte GOTO + .word mus_rg_ajito_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_ajito_7: + .byte KEYSH , mus_rg_ajito_key+0 + .byte VOICE , 78 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+18 + .byte VOL , 8*mus_rg_ajito_mvl/mxv + .byte W03 + .byte PAN , c_v+15 + .byte W92 + .byte W01 +mus_rg_ajito_7_B1: + .byte VOICE , 78 + .byte VOL , 11*mus_rg_ajito_mvl/mxv + .byte N15 , En3 , v127 + .byte W12 + .byte MOD , 7 + .byte W03 + .byte N03 , Gn3 , v096 + .byte W03 + .byte An3 + .byte W03 + .byte As3 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v-17 + .byte N24 , Bn3 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte PAN , c_v+15 + .byte N18 , As3 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte N03 , Bn3 , v096 + .byte W03 + .byte Cs4 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v-17 + .byte N24 , Dn4 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte PAN , c_v+15 + .byte N18 , Cs4 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte N03 , Bn3 , v096 + .byte W03 + .byte An3 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v-17 + .byte N24 , Gs3 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte PAN , c_v+15 + .byte N18 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte N03 , An3 , v096 + .byte W03 + .byte As3 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v-17 + .byte N24 , Bn3 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte PAN , c_v+15 + .byte N15 , As3 + .byte W12 + .byte MOD , 7 + .byte W03 + .byte N03 , An3 , v096 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v-17 + .byte N24 , En3 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte PAN , c_v+15 + .byte N15 , Ds3 + .byte W12 + .byte MOD , 7 + .byte W03 + .byte N03 , En3 , v096 + .byte W03 + .byte Fs3 + .byte W03 + .byte Gs3 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v-17 + .byte N24 , An3 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte PAN , c_v+15 + .byte N18 , Gs3 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte N03 , Fs3 , v096 + .byte W03 + .byte Fn3 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v-17 + .byte N21 , En3 , v127 + .byte W12 + .byte MOD , 7 + .byte W09 + .byte N03 , Fn3 , v096 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v+15 + .byte N18 , Fs3 , v127 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte N03 , Fn3 , v096 + .byte W03 + .byte En3 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v-17 + .byte N24 , Ds3 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 11*mus_rg_ajito_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v+15 + .byte N15 , En4 + .byte W12 + .byte MOD , 7 + .byte W03 + .byte N03 , Gn4 , v096 + .byte W03 + .byte An4 + .byte W03 + .byte As4 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v-17 + .byte N24 , Bn4 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte PAN , c_v+15 + .byte N18 , As4 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte N03 , Bn4 , v096 + .byte W03 + .byte Cs5 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v-17 + .byte N24 , Dn5 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte PAN , c_v+15 + .byte N18 , Cs5 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte N03 , Bn4 , v096 + .byte W03 + .byte An4 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v-17 + .byte N24 , Gs4 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte PAN , c_v+15 + .byte N18 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte N03 , An4 , v096 + .byte W03 + .byte As4 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v-17 + .byte N24 , Bn4 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte PAN , c_v+15 + .byte N15 , As4 + .byte W12 + .byte MOD , 7 + .byte W03 + .byte N03 , An4 , v096 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v-17 + .byte N24 , En4 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte PAN , c_v+15 + .byte N15 , Ds4 + .byte W12 + .byte MOD , 7 + .byte W03 + .byte N03 , En4 , v096 + .byte W03 + .byte Fs4 + .byte W03 + .byte Gs4 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v-17 + .byte N24 , An4 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte PAN , c_v+15 + .byte N18 , Gs4 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte N03 , Fs4 , v096 + .byte W03 + .byte Fn4 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v-17 + .byte N21 , En4 , v127 + .byte W12 + .byte MOD , 7 + .byte W09 + .byte N03 , Fn4 , v096 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v+15 + .byte N18 , Fs4 , v127 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W03 + .byte En4 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v-17 + .byte N24 , Ds4 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte PAN , c_v+15 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 48 + .byte VOL , 22*mus_rg_ajito_mvl/mxv + .byte PAN , c_v+32 + .byte VOL , 22*mus_rg_ajito_mvl/mxv + .byte N96 , En2 , v120 + .byte W60 + .byte VOL , 34*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 44*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 68*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 79*mus_rg_ajito_mvl/mxv + .byte W18 + .byte 22*mus_rg_ajito_mvl/mxv + .byte N96 , Cn3 + .byte W60 + .byte VOL , 34*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 44*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 68*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 79*mus_rg_ajito_mvl/mxv + .byte W18 + .byte 22*mus_rg_ajito_mvl/mxv + .byte N96 , En2 + .byte W60 + .byte VOL , 34*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 44*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 56*mus_rg_ajito_mvl/mxv + .byte W06 + .byte 68*mus_rg_ajito_mvl/mxv + .byte W03 + .byte 79*mus_rg_ajito_mvl/mxv + .byte W18 + .byte 22*mus_rg_ajito_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 24 + .byte VOL , 34*mus_rg_ajito_mvl/mxv + .byte N12 , Gn4 , v127 + .byte W12 + .byte N24 , As4 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N12 , Gn4 + .byte W12 + .byte N24 , Cs5 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N12 , Gn4 + .byte W12 + .byte As4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N24 , Cs5 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N12 , Gn4 + .byte W12 + .byte N24 , An4 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N12 , Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N24 , As4 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N12 , Gn4 + .byte W12 + .byte N24 , Cs5 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N12 , Gn4 + .byte W12 + .byte As4 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte N12 + .byte W12 + .byte MOD , 0 + .byte N12 , Gn4 + .byte W12 + .byte N24 , Bn4 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N12 , Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_ajito_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_ajito_8: + .byte KEYSH , mus_rg_ajito_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 65*mus_rg_ajito_mvl/mxv + .byte W48 + .byte N48 , Cn3 , v104 + .byte W36 + .byte N03 , En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 +mus_rg_ajito_8_B1: + .byte N06 , En1 , v120 + .byte N48 , Cs2 + .byte W24 + .byte N06 , En1 , v088 + .byte W12 + .byte N03 , En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v120 + .byte W24 + .byte En1 , v088 + .byte W12 + .byte N03 , En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 +mus_rg_ajito_8_000: + .byte N06 , En1 , v120 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v072 + .byte W06 + .byte En1 , v120 + .byte W06 + .byte N03 , En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v120 + .byte W24 + .byte En1 , v088 + .byte W12 + .byte N03 , En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND +mus_rg_ajito_8_001: + .byte N06 , En1 , v120 + .byte W24 + .byte En1 , v088 + .byte W12 + .byte N03 , En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v120 + .byte W24 + .byte En1 , v088 + .byte W12 + .byte N03 , En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND + .byte N06 , En1 , v120 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v072 + .byte W06 + .byte En1 , v120 + .byte W06 + .byte N03 , En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn2 , v120 + .byte W06 + .byte Cn2 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte An1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte En1 + .byte N48 , Bn2 + .byte W24 + .byte N06 , En1 , v088 + .byte W12 + .byte N03 , En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v120 + .byte W24 + .byte En1 , v088 + .byte W12 + .byte N03 , En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PATT + .word mus_rg_ajito_8_000 + .byte PATT + .word mus_rg_ajito_8_001 + .byte N06 , En1 , v120 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v072 + .byte W06 + .byte En1 , v120 + .byte W06 + .byte N03 , En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N48 , Cn3 , v096 + .byte W48 + .byte N06 , Cn1 , v120 + .byte N48 , An2 + .byte W06 + .byte N06 , Cn1 + .byte W06 + .byte N24 , Cs1 + .byte W24 + .byte Cn1 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte N48 , En2 + .byte W06 + .byte N06 , Cn1 + .byte W06 + .byte N24 , Cs1 + .byte W24 + .byte Cn1 + .byte W24 + .byte N12 + .byte W12 + .byte N03 , Dn2 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte N12 , Dn1 + .byte N48 , Gn2 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cs1 + .byte W12 + .byte N24 , Cn1 + .byte W24 + .byte N12 + .byte W12 + .byte N03 , Cn2 + .byte W03 + .byte An1 + .byte W03 + .byte N06 , Cn1 + .byte W06 + .byte N03 , Gn1 + .byte W03 + .byte Fn1 + .byte W03 + .byte N06 , Cn1 + .byte W06 + .byte N12 , Dn1 + .byte N48 , Bn2 + .byte W12 + .byte N24 , Cn1 + .byte W24 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte N06 + .byte N06 , Gs4 , v044 + .byte W06 + .byte Dn3 , v088 + .byte N06 , An4 , v016 + .byte W06 + .byte En1 , v127 + .byte N12 , As4 , v052 + .byte W12 + .byte N06 , Cn1 , v120 + .byte N06 , Gs4 , v044 + .byte W06 + .byte Cn1 , v088 + .byte N06 , An4 , v016 + .byte W06 + .byte Dn3 , v096 + .byte N12 , As4 , v052 + .byte W12 + .byte N06 , Cn1 , v120 + .byte N06 , Gs4 , v044 + .byte W06 + .byte En1 , v127 + .byte N06 , An4 , v016 + .byte W06 + .byte N12 , As4 , v052 + .byte W06 + .byte N06 , Dn3 , v088 + .byte W06 + .byte Cn1 , v120 + .byte N06 , Gs4 , v044 + .byte W06 + .byte Dn3 , v088 + .byte N06 , An4 , v016 + .byte W06 + .byte En1 , v127 + .byte N12 , As4 , v052 + .byte W06 + .byte N06 , Dn3 , v088 + .byte W06 + .byte N03 , Dn3 , v120 + .byte N06 , Gs4 , v044 + .byte W03 + .byte N03 , Dn3 , v084 + .byte W03 + .byte Dn3 , v088 + .byte N06 , An4 , v016 + .byte W03 + .byte N03 , Dn3 , v064 + .byte W03 + .byte N06 , Cn1 , v104 + .byte N06 , Gs4 , v044 + .byte W06 + .byte Dn3 , v112 + .byte N06 , An4 , v016 + .byte W06 + .byte Cn1 , v120 + .byte N06 , Gs4 , v044 + .byte W06 + .byte Cn1 , v100 + .byte N06 , An4 , v016 + .byte W06 + .byte En1 , v127 + .byte N12 , As4 , v052 + .byte W06 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Cn1 , v120 + .byte N06 , Gs4 , v044 + .byte W06 + .byte Dn3 , v076 + .byte N06 , An4 , v016 + .byte W06 + .byte Cn1 , v064 + .byte N12 , As4 , v052 + .byte W06 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Cn1 , v120 + .byte N06 , Gs4 , v044 + .byte W06 + .byte Cn1 , v076 + .byte N06 , An4 , v016 + .byte W06 + .byte Cs1 , v120 + .byte N12 , As4 , v052 + .byte W12 + .byte Dn1 , v096 + .byte N48 , Cs2 , v120 + .byte W12 + .byte N12 , Dn1 , v048 + .byte W12 + .byte Dn1 , v028 + .byte W12 + .byte Dn1 , v016 + .byte W48 + .byte N06 , Cn1 , v120 + .byte W06 + .byte Cn1 , v076 + .byte W06 + .byte N48 , Cn1 , v120 + .byte N48 , An2 + .byte W48 + .byte Cn3 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte En2 , v064 + .byte W96 + .byte W72 + .byte N60 , Cn3 , v052 + .byte W24 + .byte W12 + .byte VOL , 55*mus_rg_ajito_mvl/mxv + .byte W84 + .byte 65*mus_rg_ajito_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , Cn1 , v100 + .byte N06 , En2 + .byte W06 + .byte Cn1 , v120 + .byte N42 , En2 , v127 + .byte W18 + .byte N06 , Dn2 , v120 + .byte W06 + .byte Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte N24 , En2 , v127 + .byte W12 + .byte N06 , Cs1 , v120 + .byte W06 + .byte Cs1 , v088 + .byte W06 + .byte Cn1 , v120 + .byte N06 , En2 , v096 + .byte W06 + .byte Cn1 , v120 + .byte N42 , En2 , v127 + .byte W06 + .byte N06 , Dn1 , v120 + .byte W06 + .byte Fn1 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cs1 , v076 + .byte W06 + .byte N06 + .byte W06 + .byte Dn2 , v120 + .byte W06 + .byte Bn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte N24 , En2 , v127 + .byte W06 + .byte N06 , Cn1 , v120 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cs1 + .byte W06 + .byte Dn1 + .byte N06 , En2 , v068 + .byte W06 + .byte Dn1 , v120 + .byte N42 , En2 , v127 + .byte W06 + .byte N03 , Dn2 , v120 + .byte W03 + .byte Bn1 + .byte W03 + .byte N06 , Cn1 + .byte W06 + .byte Cs1 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Cn2 + .byte W03 + .byte Gn1 + .byte W03 + .byte N06 , Cn1 + .byte W06 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Gn1 + .byte W03 + .byte Fn1 + .byte W03 + .byte N06 , Cn1 + .byte W06 + .byte N06 + .byte N24 , En2 , v127 + .byte W06 + .byte N06 , Cn1 , v088 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v088 + .byte W06 + .byte N24 , Dn1 , v120 + .byte N48 , Bn2 , v127 + .byte W24 + .byte N03 , Dn2 , v120 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Bn1 + .byte W06 + .byte N03 , An1 + .byte W03 + .byte Fn1 + .byte W03 + .byte N06 , Cn1 + .byte W06 + .byte N24 , Dn1 + .byte N48 , Cs2 , v127 + .byte W24 + .byte N06 , Cn1 , v120 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cs1 + .byte W06 + .byte N06 + .byte W06 +mus_rg_ajito_8_002: + .byte N06 , Cn1 , v120 + .byte N48 , An2 + .byte W18 + .byte N06 , Cs1 + .byte W06 + .byte Cn1 + .byte W18 + .byte Cs1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v120 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte PEND + .byte N06 + .byte W06 + .byte N03 , Dn2 + .byte W03 + .byte An1 + .byte W03 + .byte N06 , Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte N48 , En2 + .byte W18 + .byte N06 , Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , En1 , v064 + .byte W03 + .byte En1 , v056 + .byte W03 + .byte N06 , Dn1 , v120 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Cs1 + .byte W06 + .byte Cn1 + .byte W06 + .byte PATT + .word mus_rg_ajito_8_002 + .byte N06 , Cn1 , v120 + .byte W06 + .byte N03 , Dn2 + .byte W03 + .byte An1 + .byte W03 + .byte N06 , Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte N36 , En2 + .byte W18 + .byte N06 , Cn1 + .byte W06 + .byte Dn1 + .byte W06 + .byte N03 , En1 , v064 + .byte W03 + .byte En1 , v056 + .byte W03 + .byte N06 , Dn1 , v120 + .byte N36 , Cn3 + .byte W06 + .byte N06 , Cn1 + .byte W06 + .byte Cs1 , v112 + .byte W06 + .byte Cs1 , v120 + .byte W06 + .byte N12 , Fn1 , v124 + .byte W12 + .byte GOTO + .word mus_rg_ajito_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_ajito_9: + .byte KEYSH , mus_rg_ajito_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 68*mus_rg_ajito_mvl/mxv + .byte W84 + .byte N06 , Cn4 , v064 + .byte W06 + .byte N06 + .byte W06 +mus_rg_ajito_9_B1: + .byte VOL , 56*mus_rg_ajito_mvl/mxv + .byte N03 , Cn4 , v064 + .byte W24 + .byte N06 + .byte W24 + .byte N03 + .byte W24 + .byte N06 + .byte W24 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W18 + .byte N03 + .byte W24 + .byte N06 + .byte W24 +mus_rg_ajito_9_000: + .byte N03 , Cn4 , v064 + .byte W24 + .byte N06 + .byte W24 + .byte N03 + .byte W24 + .byte N06 + .byte W24 + .byte PEND + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W18 + .byte N03 + .byte W24 + .byte N06 + .byte W12 + .byte N03 + .byte W12 + .byte PATT + .word mus_rg_ajito_9_000 + .byte PATT + .word mus_rg_ajito_9_000 + .byte PATT + .word mus_rg_ajito_9_000 + .byte PATT + .word mus_rg_ajito_9_000 +mus_rg_ajito_9_001: + .byte N06 , Cn4 , v064 + .byte W06 + .byte N06 + .byte W66 + .byte N06 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_ajito_9_001 + .byte PATT + .word mus_rg_ajito_9_001 + .byte N06 , Cn4 , v064 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 +mus_rg_ajito_9_002: + .byte N03 , Cn4 , v064 + .byte W06 + .byte N03 + .byte W66 + .byte N03 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_ajito_9_002 + .byte PATT + .word mus_rg_ajito_9_002 + .byte VOL , 56*mus_rg_ajito_mvl/mxv + .byte N01 , Cn5 , v096 + .byte W06 + .byte Cn5 , v048 + .byte W18 + .byte Cn5 , v096 + .byte W06 + .byte Cn5 , v048 + .byte W18 + .byte Cn5 , v096 + .byte W06 + .byte Cn5 , v048 + .byte W18 + .byte Cn5 , v096 + .byte W06 + .byte Cn5 , v048 + .byte W18 + .byte Cn5 , v096 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v096 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v096 + .byte W06 + .byte Cn5 , v048 + .byte W18 + .byte Cn5 , v096 + .byte W06 + .byte Cn5 , v048 + .byte W18 + .byte Cn5 , v096 + .byte W06 + .byte Cn5 , v048 + .byte W18 + .byte VOL , 68*mus_rg_ajito_mvl/mxv + .byte N06 , Cn4 , v064 + .byte W96 + .byte W96 + .byte VOL , 34*mus_rg_ajito_mvl/mxv + .byte N84 , Cn4 , v092 + .byte W90 + .byte N03 , Cn4 , v060 + .byte W06 + .byte PAN , c_v-64 + .byte N21 , Cn4 , v092 + .byte W24 + .byte PAN , c_v+63 + .byte N21 , Cn4 , v080 + .byte W24 + .byte PAN , c_v+0 + .byte N06 , Cn4 , v060 + .byte W12 + .byte Cn4 , v092 + .byte W06 + .byte N03 , Cn4 , v048 + .byte W06 + .byte PAN , c_v-64 + .byte N84 , Cn4 , v092 + .byte W24 + .byte PAN , c_v+0 + .byte W72 + .byte N03 , Cn4 , v084 + .byte W09 + .byte Cn4 , v056 + .byte W09 + .byte N09 , Cn4 , v044 + .byte W06 + .byte VOL , 68*mus_rg_ajito_mvl/mxv + .byte W12 + .byte PAN , c_v-64 + .byte W06 + .byte N03 , Cn4 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Cn5 , v024 + .byte W24 + .byte PAN , c_v+0 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , Cn4 , v064 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte VOL , 44*mus_rg_ajito_mvl/mxv + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v088 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v088 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v088 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v060 + .byte W06 + .byte Cn5 , v120 + .byte W18 +mus_rg_ajito_9_003: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v088 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v088 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v088 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v060 + .byte W06 + .byte Cn5 , v120 + .byte W18 + .byte PEND + .byte PATT + .word mus_rg_ajito_9_003 + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v088 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v088 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v088 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v060 + .byte W06 + .byte Cn5 , v080 + .byte W18 + .byte GOTO + .word mus_rg_ajito_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_rg_ajito_10: + .byte KEYSH , mus_rg_ajito_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 56*mus_rg_ajito_mvl/mxv + .byte PAN , c_v+0 + .byte W96 +mus_rg_ajito_10_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W12 + .byte N12 , Gn5 , v060 + .byte W24 + .byte N12 + .byte W24 + .byte Gn5 , v056 + .byte W24 + .byte Gn5 , v060 + .byte W12 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte Gn5 , v056 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte Gn5 , v120 + .byte W12 + .byte W84 + .byte N12 + .byte W12 + .byte W84 + .byte N12 + .byte W12 + .byte W84 + .byte Gn5 , v080 + .byte W12 + .byte GOTO + .word mus_rg_ajito_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_ajito: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_ajito_pri @ Priority + .byte mus_rg_ajito_rev @ Reverb. + + .word mus_rg_ajito_grp + + .word mus_rg_ajito_1 + .word mus_rg_ajito_2 + .word mus_rg_ajito_3 + .word mus_rg_ajito_4 + .word mus_rg_ajito_5 + .word mus_rg_ajito_6 + .word mus_rg_ajito_7 + .word mus_rg_ajito_8 + .word mus_rg_ajito_9 + .word mus_rg_ajito_10 + + .end diff --git a/sound/songs/mus_rg_annai.s b/sound/songs/mus_rg_annai.s new file mode 100644 index 0000000000..f0477c4f09 --- /dev/null +++ b/sound/songs/mus_rg_annai.s @@ -0,0 +1,1048 @@ + .include "MPlayDef.s" + + .equ mus_rg_annai_grp, voicegroup_86A0FB8 + .equ mus_rg_annai_pri, 0 + .equ mus_rg_annai_rev, reverb_set+50 + .equ mus_rg_annai_mvl, 127 + .equ mus_rg_annai_key, 0 + .equ mus_rg_annai_tbs, 1 + .equ mus_rg_annai_exg, 0 + .equ mus_rg_annai_cmp, 1 + + .section .rodata + .global mus_rg_annai + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_annai_1: + .byte KEYSH , mus_rg_annai_key+0 + .byte TEMPO , 146*mus_rg_annai_tbs/2 + .byte VOICE , 24 + .byte PAN , c_v+32 + .byte VOL , 45*mus_rg_annai_mvl/mxv + .byte N06 , Bn3 , v127 + .byte W12 + .byte An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N24 , Bn2 + .byte W24 + .byte N06 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte N60 , Bn3 + .byte W48 +mus_rg_annai_1_000: + .byte W12 + .byte N03 , En3 , v127 + .byte W12 + .byte N03 + .byte W36 + .byte Fs3 + .byte W12 + .byte N03 + .byte W24 + .byte PEND +mus_rg_annai_1_001: + .byte W12 + .byte N03 , En3 , v127 + .byte W12 + .byte N03 + .byte W36 + .byte Dn3 + .byte W12 + .byte N03 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_annai_1_000 +mus_rg_annai_1_002: + .byte W12 + .byte N03 , En3 , v127 + .byte W24 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte PEND +mus_rg_annai_1_B1: + .byte PATT + .word mus_rg_annai_1_000 + .byte PATT + .word mus_rg_annai_1_001 + .byte PATT + .word mus_rg_annai_1_000 + .byte PATT + .word mus_rg_annai_1_002 + .byte GOTO + .word mus_rg_annai_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_annai_2: + .byte KEYSH , mus_rg_annai_key+0 + .byte VOICE , 2 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 63*mus_rg_annai_mvl/mxv + .byte N06 , En6 , v127 + .byte W12 + .byte Dn6 + .byte W12 + .byte Cs6 + .byte W12 + .byte Dn6 + .byte W12 + .byte Cs6 + .byte W12 + .byte Bn5 + .byte W12 + .byte An5 + .byte W12 + .byte Gs5 + .byte W12 + .byte En5 + .byte W24 + .byte N06 + .byte W06 + .byte Gs5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Ds6 + .byte W06 + .byte En6 + .byte W48 + .byte An5 + .byte W12 + .byte Cs6 + .byte W12 + .byte En6 + .byte W24 + .byte Dn6 + .byte W12 + .byte Fs6 + .byte W12 + .byte An6 + .byte W24 + .byte An5 + .byte W12 + .byte Cs6 + .byte W12 + .byte En6 + .byte W24 + .byte Dn6 + .byte W12 + .byte Cs6 + .byte W12 + .byte Bn5 + .byte W24 + .byte An5 + .byte W12 + .byte Cs6 + .byte W12 + .byte En6 + .byte W24 + .byte Dn6 + .byte W12 + .byte Fs6 + .byte W12 + .byte An6 + .byte W12 + .byte N06 + .byte W12 + .byte Gs6 + .byte W12 + .byte En6 + .byte W12 + .byte Fs6 + .byte W12 + .byte Gs6 + .byte W12 + .byte An6 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 +mus_rg_annai_2_B1: +mus_rg_annai_2_000: + .byte N12 , An5 , v127 + .byte W12 + .byte Cs6 + .byte W12 + .byte N18 , En6 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Dn6 + .byte W12 + .byte Fs6 + .byte W12 + .byte N18 , An6 + .byte W18 + .byte N06 + .byte W06 + .byte PEND + .byte N12 , An5 + .byte W12 + .byte Cs6 + .byte W12 + .byte N24 , En6 + .byte W24 + .byte N06 , Dn6 + .byte W06 + .byte Cs6 + .byte W06 + .byte Cn6 + .byte W06 + .byte Bn5 + .byte W06 + .byte N18 + .byte W18 + .byte N06 , Gs5 + .byte W06 + .byte PATT + .word mus_rg_annai_2_000 + .byte N12 , Gs6 , v127 + .byte W12 + .byte N06 , En6 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Fs6 + .byte W12 + .byte N06 + .byte W06 + .byte Gs6 + .byte W06 + .byte N12 , An6 + .byte W12 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte GOTO + .word mus_rg_annai_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_annai_3: + .byte KEYSH , mus_rg_annai_key+0 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 39*mus_rg_annai_mvl/mxv + .byte W96 + .byte N06 , En3 , v127 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W48 +mus_rg_annai_3_000: + .byte W12 + .byte N06 , An3 , v127 + .byte W12 + .byte N06 + .byte W36 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte PEND + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W36 + .byte Gs3 + .byte W12 + .byte N06 + .byte W24 + .byte PATT + .word mus_rg_annai_3_000 + .byte W12 + .byte N06 , Bn3 , v127 + .byte W24 + .byte Gs3 + .byte W24 + .byte An3 + .byte W12 + .byte N06 + .byte W24 +mus_rg_annai_3_B1: + .byte N03 , Cs5 , v096 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W24 + .byte Fs5 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W24 + .byte En5 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W24 + .byte Bn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte N03 + .byte W24 + .byte Cs5 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W24 + .byte Fs5 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gs4 + .byte W24 + .byte An4 + .byte W12 + .byte N03 + .byte W24 + .byte GOTO + .word mus_rg_annai_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_annai_4: + .byte KEYSH , mus_rg_annai_key+0 + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 68*mus_rg_annai_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , En1 , v120 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N24 + .byte W24 + .byte N03 , En1 , v056 + .byte W03 + .byte Gs1 + .byte W03 + .byte Bn1 + .byte W03 + .byte Dn2 + .byte W03 + .byte En2 + .byte W03 + .byte Gs2 + .byte W03 + .byte Bn2 + .byte W03 + .byte Ds3 + .byte W03 + .byte N24 , En3 , v084 + .byte W24 + .byte N03 , Ds3 , v060 + .byte W03 + .byte Bn2 + .byte W03 + .byte Gs2 + .byte W03 + .byte En2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Bn1 + .byte W03 + .byte Gs1 + .byte W03 + .byte Fs1 + .byte W03 + .byte N12 , An1 , v120 + .byte W48 + .byte En1 + .byte W36 + .byte N12 + .byte W12 + .byte An1 + .byte W72 + .byte N24 , Gs1 + .byte W24 + .byte N12 , An1 + .byte W48 + .byte Dn2 + .byte W24 + .byte N06 , An1 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte Gs1 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte An1 + .byte W12 + .byte An2 + .byte W12 + .byte An1 + .byte W12 + .byte N12 , Bn1 + .byte W12 +mus_rg_annai_4_B1: + .byte N06 , Cs2 , v120 + .byte W12 + .byte An1 + .byte W24 + .byte N06 + .byte W12 + .byte An2 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N06 , Gs1 + .byte W12 + .byte An1 + .byte W12 + .byte Cs2 + .byte W12 + .byte An1 + .byte W24 + .byte N06 + .byte W24 + .byte En1 + .byte W24 + .byte N06 + .byte W12 + .byte W12 + .byte N12 , Cs2 + .byte W24 + .byte An1 + .byte W24 + .byte Fs2 + .byte W24 + .byte An1 + .byte W12 + .byte W12 + .byte En2 + .byte W24 + .byte Gs1 + .byte W12 + .byte Cs2 + .byte W24 + .byte An1 + .byte W24 + .byte GOTO + .word mus_rg_annai_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_annai_5: + .byte KEYSH , mus_rg_annai_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+62 + .byte VOL , 32*mus_rg_annai_mvl/mxv + .byte N06 , En4 , v127 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N03 , En3 + .byte W24 + .byte N03 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W48 + .byte An3 + .byte W12 + .byte Cs4 + .byte W12 + .byte En4 + .byte W24 + .byte Dn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte An4 + .byte W24 + .byte An3 + .byte W12 + .byte Cs4 + .byte W12 + .byte En4 + .byte W24 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Bn3 + .byte W24 + .byte An3 + .byte W12 + .byte Cs4 + .byte W12 + .byte En4 + .byte W24 + .byte Dn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W12 + .byte Gs4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 +mus_rg_annai_5_B1: +mus_rg_annai_5_000: + .byte N03 , An3 , v127 + .byte W12 + .byte Cs4 + .byte W12 + .byte En4 + .byte W18 + .byte N03 + .byte W06 + .byte Dn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte An4 + .byte W18 + .byte N03 + .byte W06 + .byte PEND + .byte An3 + .byte W12 + .byte Cs4 + .byte W12 + .byte En4 + .byte W24 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N03 + .byte W18 + .byte Gs3 + .byte W06 + .byte PATT + .word mus_rg_annai_5_000 + .byte N03 , Gs4 , v127 + .byte W12 + .byte En4 + .byte W06 + .byte N03 + .byte W06 + .byte Fs4 + .byte W12 + .byte N03 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte GOTO + .word mus_rg_annai_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_annai_6: + .byte KEYSH , mus_rg_annai_key+0 + .byte VOICE , 92 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 45*mus_rg_annai_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte N06 , En3 , v127 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W48 +mus_rg_annai_6_000: + .byte W12 + .byte N06 , An3 , v127 + .byte W12 + .byte N06 + .byte W36 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte PEND + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W36 + .byte Gs3 + .byte W12 + .byte N06 + .byte W24 + .byte PATT + .word mus_rg_annai_6_000 + .byte W12 + .byte N06 , Bn3 , v127 + .byte W24 + .byte Gs3 + .byte W24 + .byte An3 + .byte W12 + .byte N06 + .byte W24 +mus_rg_annai_6_B1: + .byte N03 , Cs5 , v096 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W24 + .byte Fs5 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W24 + .byte En5 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W24 + .byte Bn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte N03 + .byte W24 + .byte Cs5 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W24 + .byte Fs5 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gs4 + .byte W24 + .byte An4 + .byte W12 + .byte N03 + .byte W24 + .byte GOTO + .word mus_rg_annai_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_annai_7: + .byte KEYSH , mus_rg_annai_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 61*mus_rg_annai_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N03 , En1 , v127 + .byte W03 + .byte En1 , v080 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 +mus_rg_annai_7_B1: + .byte N12 , En1 , v127 + .byte W12 + .byte N18 + .byte W18 + .byte N06 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , En1 , v127 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , En1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N18 , En1 , v127 + .byte W18 + .byte N03 , En1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , En1 , v127 + .byte W12 + .byte N18 + .byte W18 + .byte N06 + .byte W06 + .byte N03 , En1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v127 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N18 , En1 , v127 + .byte W18 + .byte N06 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N03 , En1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v127 + .byte W06 + .byte N03 , En1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v127 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , En1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v127 + .byte W06 + .byte N06 + .byte W06 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , En1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N18 , En1 , v127 + .byte W18 + .byte N03 , En1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , En1 , v127 + .byte W12 + .byte N12 + .byte W12 + .byte N03 , En1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte GOTO + .word mus_rg_annai_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_annai_8: + .byte KEYSH , mus_rg_annai_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 34*mus_rg_annai_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N03 , Cn5 , v127 + .byte W03 + .byte Cn5 , v080 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 +mus_rg_annai_8_B1: + .byte N12 , Cn5 , v127 + .byte W12 + .byte N18 + .byte W18 + .byte N06 + .byte W06 + .byte Cn5 , v096 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cn5 , v127 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Cn5 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N18 , Cn5 , v127 + .byte W18 + .byte N03 , Cn5 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Cn5 , v127 + .byte W12 + .byte N18 + .byte W18 + .byte N06 + .byte W06 + .byte N03 , Cn5 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Cn5 , v127 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Cn5 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N18 , Cn5 , v127 + .byte W18 + .byte N06 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N03 , Cn5 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Cn5 , v127 + .byte W06 + .byte N03 , Cn5 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Cn5 , v127 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Cn5 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Cn5 , v127 + .byte W06 + .byte N06 + .byte W06 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Cn5 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N18 , Cn5 , v127 + .byte W18 + .byte N03 , Cn5 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Cn5 , v127 + .byte W12 + .byte N12 + .byte W12 + .byte N03 , Cn5 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte GOTO + .word mus_rg_annai_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_annai: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_annai_pri @ Priority + .byte mus_rg_annai_rev @ Reverb. + + .word mus_rg_annai_grp + + .word mus_rg_annai_1 + .word mus_rg_annai_2 + .word mus_rg_annai_3 + .word mus_rg_annai_4 + .word mus_rg_annai_5 + .word mus_rg_annai_6 + .word mus_rg_annai_7 + .word mus_rg_annai_8 + + .end diff --git a/sound/songs/mus_rg_champ_r.s b/sound/songs/mus_rg_champ_r.s new file mode 100644 index 0000000000..26f3ceb81f --- /dev/null +++ b/sound/songs/mus_rg_champ_r.s @@ -0,0 +1,2159 @@ + .include "MPlayDef.s" + + .equ mus_rg_champ_r_grp, voicegroup_86A8860 + .equ mus_rg_champ_r_pri, 0 + .equ mus_rg_champ_r_rev, reverb_set+50 + .equ mus_rg_champ_r_mvl, 127 + .equ mus_rg_champ_r_key, 0 + .equ mus_rg_champ_r_tbs, 1 + .equ mus_rg_champ_r_exg, 0 + .equ mus_rg_champ_r_cmp, 1 + + .section .rodata + .global mus_rg_champ_r + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_champ_r_1: + .byte KEYSH , mus_rg_champ_r_key+0 + .byte TEMPO , 136*mus_rg_champ_r_tbs/2 + .byte VOICE , 87 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 68*mus_rg_champ_r_mvl/mxv + .byte PAN , c_v+0 + .byte N24 , En1 , v127 + .byte W09 + .byte MOD , 14 + .byte W15 + .byte 0 + .byte VOL , 56*mus_rg_champ_r_mvl/mxv + .byte N24 , An1 , v064 + .byte W48 + .byte En2 + .byte W48 + .byte N24 + .byte W48 + .byte N09 + .byte W24 + .byte VOL , 68*mus_rg_champ_r_mvl/mxv + .byte N24 , Fn1 + .byte W09 + .byte MOD , 6 + .byte W15 +mus_rg_champ_r_1_B1: + .byte VOICE , 87 + .byte VOL , 45*mus_rg_champ_r_mvl/mxv + .byte MOD , 0 + .byte N06 , En2 , v127 + .byte W06 + .byte N15 , En2 , v032 + .byte W18 + .byte N06 , En2 , v127 + .byte W06 + .byte N15 , En2 , v032 + .byte W18 + .byte N06 , En2 , v127 + .byte W06 + .byte N15 , En2 , v032 + .byte W18 + .byte N06 , En2 , v127 + .byte W06 + .byte N15 , En2 , v032 + .byte W18 +mus_rg_champ_r_1_000: + .byte N06 , En2 , v127 + .byte W06 + .byte N15 , En2 , v032 + .byte W18 + .byte N06 , En2 , v127 + .byte W06 + .byte N15 , En2 , v032 + .byte W18 + .byte N06 , En2 , v127 + .byte W06 + .byte N15 , En2 , v032 + .byte W18 + .byte VOL , 56*mus_rg_champ_r_mvl/mxv + .byte N24 , An2 , v127 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte PEND +mus_rg_champ_r_1_001: + .byte VOL , 45*mus_rg_champ_r_mvl/mxv + .byte MOD , 0 + .byte N06 , En2 , v127 + .byte W06 + .byte N15 , En2 , v032 + .byte W18 + .byte N06 , En2 , v127 + .byte W06 + .byte N15 , En2 , v032 + .byte W18 + .byte N06 , En2 , v127 + .byte W06 + .byte N15 , En2 , v032 + .byte W18 + .byte N06 , En2 , v127 + .byte W06 + .byte N15 , En2 , v032 + .byte W18 + .byte PEND + .byte N06 , En2 , v127 + .byte W06 + .byte N15 , En2 , v032 + .byte W18 + .byte N06 , En2 , v127 + .byte W06 + .byte N15 , En2 , v032 + .byte W18 + .byte N06 , En2 , v127 + .byte W06 + .byte N15 , En2 , v032 + .byte W18 + .byte VOL , 56*mus_rg_champ_r_mvl/mxv + .byte N24 , As2 , v127 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte PATT + .word mus_rg_champ_r_1_001 + .byte PATT + .word mus_rg_champ_r_1_000 + .byte PATT + .word mus_rg_champ_r_1_001 + .byte N06 , En2 , v127 + .byte W06 + .byte N15 , En2 , v032 + .byte W18 + .byte N06 , En2 , v127 + .byte W06 + .byte N15 , En2 , v032 + .byte W18 + .byte N06 , En2 , v127 + .byte W06 + .byte N15 , En2 , v032 + .byte W18 + .byte VOL , 56*mus_rg_champ_r_mvl/mxv + .byte N24 , Fn2 , v127 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte PATT + .word mus_rg_champ_r_1_001 + .byte PATT + .word mus_rg_champ_r_1_000 + .byte VOICE , 92 + .byte VOL , 45*mus_rg_champ_r_mvl/mxv + .byte MOD , 0 + .byte TIE , An2 , v120 + .byte W12 + .byte MOD , 7 + .byte W84 + .byte W72 + .byte EOT + .byte MOD , 0 + .byte N24 , As2 , v127 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte TIE , An2 , v120 + .byte W12 + .byte MOD , 7 + .byte W84 + .byte W72 + .byte EOT + .byte MOD , 0 + .byte N12 , Cn3 , v127 + .byte W12 + .byte Dn3 + .byte W12 + .byte N48 , En3 + .byte W12 + .byte MOD , 8 + .byte W36 + .byte 0 + .byte N48 , En2 + .byte W12 + .byte MOD , 8 + .byte W36 + .byte 0 + .byte VOL , 45*mus_rg_champ_r_mvl/mxv + .byte N48 , Cn3 + .byte W12 + .byte MOD , 8 + .byte W36 + .byte 0 + .byte VOL , 68*mus_rg_champ_r_mvl/mxv + .byte N48 , Fn2 + .byte W12 + .byte MOD , 8 + .byte W36 + .byte GOTO + .word mus_rg_champ_r_1_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_champ_r_2: + .byte KEYSH , mus_rg_champ_r_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 79*mus_rg_champ_r_mvl/mxv + .byte BEND , c_v+1 + .byte N22 , En2 , v080 + .byte W24 + .byte VOICE , 80 + .byte VOL , 38*mus_rg_champ_r_mvl/mxv + .byte N24 , An2 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte N21 , An2 , v020 + .byte W12 + .byte MOD , 0 + .byte W12 + .byte N24 , An2 , v080 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte N21 , An2 , v020 + .byte W12 + .byte MOD , 0 + .byte W12 + .byte N24 , An2 , v080 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte N21 , An2 , v020 + .byte W12 + .byte MOD , 0 + .byte W12 + .byte N09 , An2 , v080 + .byte W09 + .byte N12 , An2 , v020 + .byte W15 + .byte N24 , As2 , v080 + .byte W09 + .byte VOL , 45*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 56*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte VOL , 68*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 79*mus_rg_champ_r_mvl/mxv + .byte W06 +mus_rg_champ_r_2_B1: +mus_rg_champ_r_2_000: + .byte MOD , 0 + .byte VOL , 36*mus_rg_champ_r_mvl/mxv + .byte N06 , An2 , v096 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte MOD , 0 + .byte N06 , An2 , v064 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte MOD , 0 + .byte N06 , An2 , v096 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte MOD , 0 + .byte N06 , An2 , v064 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte PEND +mus_rg_champ_r_2_001: + .byte MOD , 0 + .byte N06 , An2 , v096 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte MOD , 0 + .byte N06 , An2 , v064 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte MOD , 0 + .byte N06 , An2 , v096 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte N24 , En3 , v080 + .byte W09 + .byte VOL , 45*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 56*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte VOL , 68*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 79*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_champ_r_2_000 + .byte MOD , 0 + .byte N06 , An2 , v096 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte MOD , 0 + .byte N06 , An2 , v064 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte MOD , 0 + .byte N06 , An2 , v096 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte N24 , Fn3 , v080 + .byte W09 + .byte VOL , 45*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 56*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte VOL , 68*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 79*mus_rg_champ_r_mvl/mxv + .byte W06 +mus_rg_champ_r_2_002: + .byte MOD , 0 + .byte VOL , 38*mus_rg_champ_r_mvl/mxv + .byte N06 , An2 , v096 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte MOD , 0 + .byte N06 , An2 , v064 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte MOD , 0 + .byte N06 , An2 , v096 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte MOD , 0 + .byte N06 , An2 , v064 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte PEND + .byte PATT + .word mus_rg_champ_r_2_001 + .byte PATT + .word mus_rg_champ_r_2_002 + .byte MOD , 0 + .byte N06 , An2 , v096 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte MOD , 0 + .byte N06 , An2 , v064 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte MOD , 0 + .byte N06 , An2 , v096 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte N24 , Gs2 , v080 + .byte W09 + .byte VOL , 45*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 56*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte VOL , 68*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 79*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte PATT + .word mus_rg_champ_r_2_002 + .byte PATT + .word mus_rg_champ_r_2_001 + .byte MOD , 0 + .byte VOL , 38*mus_rg_champ_r_mvl/mxv + .byte N06 , An2 , v096 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte MOD , 0 + .byte N06 , An2 , v064 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte MOD , 0 + .byte N06 , An2 , v096 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte MOD , 0 + .byte N06 , An2 , v064 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte MOD , 0 + .byte N06 , An2 , v096 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte MOD , 0 + .byte N06 , An2 , v064 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte MOD , 0 + .byte N06 , An2 , v092 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte N24 , Fn3 , v080 + .byte W09 + .byte VOL , 45*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 56*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte VOL , 68*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 79*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 38*mus_rg_champ_r_mvl/mxv + .byte N06 , An2 , v096 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte MOD , 0 + .byte N06 , An2 , v064 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte MOD , 0 + .byte N06 , An2 , v096 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte MOD , 0 + .byte N06 , An2 , v060 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte MOD , 0 + .byte N06 , An2 , v092 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte MOD , 0 + .byte N06 , An2 , v064 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte MOD , 0 + .byte N06 , An2 , v096 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte Fn3 , v060 + .byte W12 + .byte Fn3 , v064 + .byte W12 + .byte N48 , En3 , v076 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte VOL , 56*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 68*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 79*mus_rg_champ_r_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 38*mus_rg_champ_r_mvl/mxv + .byte N48 , An2 , v072 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 56*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 68*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 79*mus_rg_champ_r_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 38*mus_rg_champ_r_mvl/mxv + .byte N48 , Fn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 56*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 68*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 79*mus_rg_champ_r_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 38*mus_rg_champ_r_mvl/mxv + .byte N48 , As2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 56*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 68*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 79*mus_rg_champ_r_mvl/mxv + .byte W12 + .byte GOTO + .word mus_rg_champ_r_2_B1 + .byte MOD , 0 + .byte VOL , 34*mus_rg_champ_r_mvl/mxv + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_champ_r_3: + .byte KEYSH , mus_rg_champ_r_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 45*mus_rg_champ_r_mvl/mxv + .byte PAN , c_v-64 + .byte BEND , c_v+0 + .byte W24 + .byte VOL , 38*mus_rg_champ_r_mvl/mxv + .byte N24 , An2 , v127 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte N21 , An2 , v020 + .byte W12 + .byte MOD , 0 + .byte W12 + .byte N24 , An2 , v096 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte N21 , An2 , v020 + .byte W12 + .byte MOD , 0 + .byte W12 + .byte N24 , An2 , v096 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte N21 , An2 , v020 + .byte W12 + .byte MOD , 0 + .byte W12 + .byte N09 , An2 , v096 + .byte W09 + .byte N12 , An2 , v020 + .byte W15 + .byte N24 , As2 , v092 + .byte W09 + .byte VOL , 45*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 56*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte VOL , 68*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 79*mus_rg_champ_r_mvl/mxv + .byte W06 +mus_rg_champ_r_3_B1: +mus_rg_champ_r_3_000: + .byte MOD , 0 + .byte VOL , 38*mus_rg_champ_r_mvl/mxv + .byte N06 , An2 , v127 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte N06 , An2 , v064 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte N06 , An2 , v096 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte N06 , An2 , v064 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte PEND +mus_rg_champ_r_3_001: + .byte N06 , An2 , v096 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte N06 , An2 , v064 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte N06 , An2 , v096 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte N24 , En3 , v080 + .byte W06 + .byte MOD , 7 + .byte W03 + .byte VOL , 45*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 56*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 68*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 79*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_champ_r_3_000 + .byte N06 , An2 , v096 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte N06 , An2 , v064 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte N06 , An2 , v096 + .byte W06 + .byte N15 , An2 , v028 + .byte W06 + .byte MOD , 0 + .byte W12 + .byte N24 , Fn3 , v080 + .byte W06 + .byte MOD , 7 + .byte W03 + .byte VOL , 45*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 56*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 68*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 79*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte PATT + .word mus_rg_champ_r_3_000 + .byte PATT + .word mus_rg_champ_r_3_001 + .byte PATT + .word mus_rg_champ_r_3_000 + .byte N06 , An2 , v096 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte N06 , An2 , v064 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte N06 , An2 , v096 + .byte W06 + .byte N15 , An2 , v028 + .byte W18 + .byte N24 , Cs3 , v080 + .byte W06 + .byte MOD , 7 + .byte W03 + .byte VOL , 45*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 56*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 68*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 79*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte PATT + .word mus_rg_champ_r_3_000 + .byte PATT + .word mus_rg_champ_r_3_001 + .byte MOD , 0 + .byte VOL , 38*mus_rg_champ_r_mvl/mxv + .byte N06 , An2 , v127 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte An2 , v064 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte An2 , v096 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte An2 , v064 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte An2 , v096 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte An2 , v064 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte An2 , v092 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte N24 , En3 , v080 + .byte W06 + .byte MOD , 7 + .byte W03 + .byte VOL , 45*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 56*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 68*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 79*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 38*mus_rg_champ_r_mvl/mxv + .byte N06 , An2 , v127 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte An2 , v064 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte An2 , v096 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte An2 , v060 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte An2 , v092 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte An2 , v064 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte An2 , v096 + .byte W12 + .byte An2 , v028 + .byte W12 + .byte Gn3 , v060 + .byte W12 + .byte Gs3 , v064 + .byte W12 + .byte N48 , An3 , v076 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 64*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 73*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 82*mus_rg_champ_r_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 38*mus_rg_champ_r_mvl/mxv + .byte N48 , An2 , v072 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 64*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 73*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 82*mus_rg_champ_r_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 38*mus_rg_champ_r_mvl/mxv + .byte N48 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 64*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 73*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 82*mus_rg_champ_r_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 38*mus_rg_champ_r_mvl/mxv + .byte N48 , As3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 64*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 73*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 82*mus_rg_champ_r_mvl/mxv + .byte W12 + .byte GOTO + .word mus_rg_champ_r_3_B1 + .byte MOD , 0 + .byte VOL , 38*mus_rg_champ_r_mvl/mxv + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_champ_r_4: + .byte KEYSH , mus_rg_champ_r_key+0 + .byte VOICE , 58 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 90*mus_rg_champ_r_mvl/mxv + .byte PAN , c_v+16 + .byte N24 , En2 , v092 + .byte W24 + .byte An1 , v096 + .byte W06 + .byte VOL , 79*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte MOD , 8 + .byte VOL , 67*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 56*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 45*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W18 + .byte VOL , 90*mus_rg_champ_r_mvl/mxv + .byte N24 , An1 , v064 + .byte W06 + .byte VOL , 79*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte MOD , 8 + .byte VOL , 68*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 56*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 45*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W18 + .byte VOL , 90*mus_rg_champ_r_mvl/mxv + .byte N24 + .byte W06 + .byte VOL , 79*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte MOD , 8 + .byte VOL , 68*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 56*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 45*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W18 + .byte VOL , 90*mus_rg_champ_r_mvl/mxv + .byte N09 , An1 , v096 + .byte W24 + .byte VOL , 33*mus_rg_champ_r_mvl/mxv + .byte N24 , Fn1 + .byte W03 + .byte VOL , 38*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte MOD , 8 + .byte VOL , 50*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 61*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 67*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 90*mus_rg_champ_r_mvl/mxv + .byte W09 +mus_rg_champ_r_4_B1: + .byte VOL , 90*mus_rg_champ_r_mvl/mxv + .byte MOD , 0 + .byte W96 +mus_rg_champ_r_4_000: + .byte W72 + .byte VOL , 21*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 27*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 34*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 45*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 79*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 90*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte PEND + .byte 90*mus_rg_champ_r_mvl/mxv + .byte W96 + .byte PATT + .word mus_rg_champ_r_4_000 + .byte VOL , 90*mus_rg_champ_r_mvl/mxv + .byte W96 + .byte PATT + .word mus_rg_champ_r_4_000 + .byte VOL , 90*mus_rg_champ_r_mvl/mxv + .byte W96 + .byte PATT + .word mus_rg_champ_r_4_000 + .byte VOL , 90*mus_rg_champ_r_mvl/mxv + .byte W96 + .byte PATT + .word mus_rg_champ_r_4_000 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_champ_r_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_champ_r_5: + .byte KEYSH , mus_rg_champ_r_key+0 + .byte VOICE , 14 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 90*mus_rg_champ_r_mvl/mxv + .byte PAN , c_v-32 + .byte N24 , En3 , v120 + .byte W24 +mus_rg_champ_r_5_000: + .byte VOICE , 14 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_champ_r_mvl/mxv + .byte N96 , An3 , v120 + .byte W24 + .byte VOL , 79*mus_rg_champ_r_mvl/mxv + .byte W12 + .byte 68*mus_rg_champ_r_mvl/mxv + .byte W12 + .byte 56*mus_rg_champ_r_mvl/mxv + .byte W12 + .byte 45*mus_rg_champ_r_mvl/mxv + .byte W12 + .byte 34*mus_rg_champ_r_mvl/mxv + .byte W12 + .byte 22*mus_rg_champ_r_mvl/mxv + .byte W12 + .byte PEND + .byte W48 + .byte 90*mus_rg_champ_r_mvl/mxv + .byte W24 + .byte PAN , c_v-33 + .byte N24 , As2 + .byte W24 +mus_rg_champ_r_5_B1: + .byte PATT + .word mus_rg_champ_r_5_000 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte VOICE , 60 + .byte VOL , 45*mus_rg_champ_r_mvl/mxv + .byte W12 + .byte N03 , Cn3 , v076 + .byte W03 + .byte Cs3 , v084 + .byte W03 + .byte Dn3 , v096 + .byte W03 + .byte Ds3 , v104 + .byte W03 + .byte VOL , 56*mus_rg_champ_r_mvl/mxv + .byte TIE , En3 , v120 + .byte W12 + .byte VOL , 45*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 38*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 34*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 27*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 22*mus_rg_champ_r_mvl/mxv + .byte W60 + .byte W03 + .byte W48 + .byte 34*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 45*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 56*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 68*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte EOT + .byte VOL , 56*mus_rg_champ_r_mvl/mxv + .byte N18 , Cn3 + .byte W18 + .byte VOL , 56*mus_rg_champ_r_mvl/mxv + .byte N03 , Dn3 + .byte W03 + .byte En3 + .byte W03 + .byte VOL , 56*mus_rg_champ_r_mvl/mxv + .byte TIE , Fn3 + .byte W12 + .byte VOL , 45*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 38*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 34*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 27*mus_rg_champ_r_mvl/mxv + .byte W03 + .byte 22*mus_rg_champ_r_mvl/mxv + .byte W60 + .byte W03 + .byte W48 + .byte 34*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 45*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 56*mus_rg_champ_r_mvl/mxv + .byte W12 + .byte EOT + .byte VOL , 68*mus_rg_champ_r_mvl/mxv + .byte N06 , Gn4 , v064 + .byte W12 + .byte Gs4 , v080 + .byte W12 + .byte VOICE , 14 + .byte VOL , 68*mus_rg_champ_r_mvl/mxv + .byte PAN , c_v-32 + .byte N12 , An4 , v096 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An3 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte PAN , c_v-32 + .byte N48 , An4 + .byte W24 + .byte VOL , 56*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 45*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 34*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 22*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 68*mus_rg_champ_r_mvl/mxv + .byte PAN , c_v+32 + .byte N12 , Gn4 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , An3 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte PAN , c_v+32 + .byte N48 , As4 + .byte W24 + .byte VOL , 56*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 45*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 34*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 22*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte GOTO + .word mus_rg_champ_r_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_champ_r_6: + .byte KEYSH , mus_rg_champ_r_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 90*mus_rg_champ_r_mvl/mxv + .byte PAN , c_v-26 + .byte N24 , En1 , v127 + .byte W24 + .byte N18 , An1 , v120 + .byte W96 + .byte W72 + .byte N15 , Fn1 + .byte W24 +mus_rg_champ_r_6_B1: +mus_rg_champ_r_6_000: + .byte N09 , An1 , v127 + .byte W24 + .byte An1 , v064 + .byte W24 + .byte An1 , v096 + .byte W24 + .byte An1 , v064 + .byte W24 + .byte PEND + .byte An1 , v127 + .byte W24 + .byte An1 , v064 + .byte W24 + .byte An1 , v096 + .byte W24 + .byte An1 , v064 + .byte W12 + .byte N03 , En1 , v112 + .byte W06 + .byte En1 , v096 + .byte W06 +mus_rg_champ_r_6_001: + .byte N09 , An1 , v120 + .byte W24 + .byte An1 , v064 + .byte W24 + .byte An1 , v096 + .byte W24 + .byte An1 , v064 + .byte W24 + .byte PEND +mus_rg_champ_r_6_002: + .byte N09 , An1 , v127 + .byte W24 + .byte An1 , v064 + .byte W24 + .byte An1 , v096 + .byte W24 + .byte N03 , As1 , v084 + .byte W03 + .byte As1 , v092 + .byte W03 + .byte As1 , v100 + .byte W03 + .byte As1 , v104 + .byte W03 + .byte As1 , v108 + .byte W03 + .byte As1 , v112 + .byte W03 + .byte As1 , v116 + .byte W03 + .byte As1 , v124 + .byte W03 + .byte PEND + .byte N09 , An1 , v127 + .byte W24 + .byte An1 , v064 + .byte W24 + .byte An1 , v096 + .byte W24 + .byte An1 , v064 + .byte W12 + .byte N06 , En1 , v096 + .byte W06 + .byte En1 , v076 + .byte W06 + .byte N09 , An1 , v127 + .byte W12 + .byte N06 , En1 , v096 + .byte W06 + .byte En1 , v072 + .byte W06 + .byte N09 , An1 , v120 + .byte W12 + .byte N06 , En1 , v096 + .byte W06 + .byte En1 , v072 + .byte W06 + .byte N09 , An1 , v096 + .byte W24 + .byte An1 , v064 + .byte W12 + .byte N03 , En1 , v120 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte PATT + .word mus_rg_champ_r_6_001 + .byte PATT + .word mus_rg_champ_r_6_002 + .byte PATT + .word mus_rg_champ_r_6_000 + .byte N09 , An1 , v127 + .byte W24 + .byte An1 , v064 + .byte W24 + .byte An1 , v096 + .byte W24 + .byte An1 , v064 + .byte W12 + .byte N03 , En1 , v120 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte PATT + .word mus_rg_champ_r_6_001 + .byte PATT + .word mus_rg_champ_r_6_002 + .byte PATT + .word mus_rg_champ_r_6_000 + .byte N09 , An1 , v127 + .byte W24 + .byte An1 , v064 + .byte W24 + .byte An1 , v096 + .byte W24 + .byte An1 , v064 + .byte W12 + .byte N03 , En1 , v120 + .byte N06 , En2 + .byte W06 + .byte N03 , En1 , v096 + .byte N06 , En2 , v120 + .byte W06 + .byte VOL , 90*mus_rg_champ_r_mvl/mxv + .byte PAN , c_v+32 + .byte N48 , An2 + .byte W12 + .byte VOL , 79*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 68*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 56*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 45*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 34*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 22*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 90*mus_rg_champ_r_mvl/mxv + .byte PAN , c_v-44 + .byte N48 , An1 , v127 + .byte W48 + .byte VOL , 90*mus_rg_champ_r_mvl/mxv + .byte PAN , c_v+32 + .byte N48 , Fn2 , v120 + .byte W12 + .byte VOL , 79*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 68*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 56*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 45*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 34*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 22*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 90*mus_rg_champ_r_mvl/mxv + .byte PAN , c_v-42 + .byte N24 , As1 , v127 + .byte W24 + .byte PAN , c_v-26 + .byte N03 , As1 , v112 + .byte W03 + .byte As1 , v092 + .byte W03 + .byte As1 , v100 + .byte W03 + .byte As1 , v104 + .byte W03 + .byte As1 , v108 + .byte W03 + .byte As1 , v112 + .byte W03 + .byte As1 , v116 + .byte W03 + .byte As1 , v124 + .byte W03 + .byte GOTO + .word mus_rg_champ_r_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_champ_r_7: + .byte KEYSH , mus_rg_champ_r_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 45*mus_rg_champ_r_mvl/mxv + .byte W24 + .byte W96 + .byte W72 + .byte 71*mus_rg_champ_r_mvl/mxv + .byte N24 , As2 , v112 + .byte W24 +mus_rg_champ_r_7_B1: + .byte VOICE , 48 + .byte MOD , 1 + .byte VOL , 45*mus_rg_champ_r_mvl/mxv + .byte N09 , An3 , v104 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte An3 , v024 + .byte W12 + .byte An3 , v096 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte An3 , v024 + .byte W12 + .byte An3 , v096 + .byte W12 + .byte An3 , v024 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v096 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte N24 , En4 , v104 + .byte W06 + .byte VOL , 51*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 60*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 71*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 44*mus_rg_champ_r_mvl/mxv + .byte N09 , An3 , v108 + .byte W12 + .byte An3 , v024 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v096 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v060 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v092 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v060 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v096 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte N24 , Fn4 , v104 + .byte W06 + .byte VOL , 51*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 60*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 71*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 45*mus_rg_champ_r_mvl/mxv + .byte N09 , An3 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v096 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte An3 , v032 + .byte W12 + .byte An3 , v096 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v096 + .byte W12 + .byte An3 , v024 + .byte W12 + .byte An3 , v096 + .byte W12 + .byte An3 , v032 + .byte W12 + .byte N24 , En4 , v104 + .byte W06 + .byte VOL , 51*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 60*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 71*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 45*mus_rg_champ_r_mvl/mxv + .byte N09 , An3 + .byte W12 + .byte An3 , v032 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v096 + .byte W12 + .byte An3 , v032 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v096 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v096 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte N24 , Cs4 , v104 + .byte W06 + .byte VOL , 51*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 60*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 71*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 45*mus_rg_champ_r_mvl/mxv + .byte N09 , An3 + .byte W12 + .byte An3 , v032 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v096 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v096 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v096 + .byte W12 + .byte An3 , v024 + .byte W12 + .byte N12 , En4 , v096 + .byte W12 + .byte N03 , Cn3 , v064 + .byte W03 + .byte Cs3 + .byte W03 + .byte Dn3 , v068 + .byte W03 + .byte Ds3 + .byte W03 + .byte VOL , 45*mus_rg_champ_r_mvl/mxv + .byte PAN , c_v-32 + .byte N09 , En3 , v064 + .byte W12 + .byte En3 , v052 + .byte W12 + .byte PAN , c_v+32 + .byte N09 , En3 , v064 + .byte W12 + .byte En3 , v052 + .byte W12 + .byte PAN , c_v-32 + .byte N09 , En3 , v064 + .byte W12 + .byte En3 , v052 + .byte W12 + .byte PAN , c_v+32 + .byte N09 , En3 , v064 + .byte W12 + .byte En3 , v052 + .byte W12 + .byte PAN , c_v-32 + .byte N09 , En3 , v064 + .byte W12 + .byte En3 , v052 + .byte W12 + .byte PAN , c_v+32 + .byte N09 , En3 , v064 + .byte W12 + .byte En3 , v052 + .byte W12 + .byte PAN , c_v-32 + .byte N09 , En3 , v064 + .byte W12 + .byte En3 , v052 + .byte W12 + .byte PAN , c_v+32 + .byte N24 , Cn3 , v064 + .byte W06 + .byte VOL , 51*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 60*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 71*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte PAN , c_v-32 + .byte VOL , 44*mus_rg_champ_r_mvl/mxv + .byte N09 , Fn3 , v068 + .byte W12 + .byte Fn3 , v052 + .byte W12 + .byte PAN , c_v+32 + .byte N09 , Fn3 , v064 + .byte W12 + .byte Fn3 , v052 + .byte W12 + .byte PAN , c_v-32 + .byte N09 , Fn3 , v064 + .byte W12 + .byte Fn3 , v052 + .byte W12 + .byte PAN , c_v+32 + .byte N09 , Fn3 , v064 + .byte W12 + .byte Fn3 , v052 + .byte W12 + .byte PAN , c_v-32 + .byte N09 , Fn3 , v064 + .byte W12 + .byte Fn3 , v056 + .byte W12 + .byte PAN , c_v+32 + .byte N09 , Fn3 , v064 + .byte W12 + .byte Fn3 , v052 + .byte W12 + .byte PAN , c_v-32 + .byte N09 , Fn3 , v064 + .byte W12 + .byte Fn3 , v060 + .byte W12 + .byte VOICE , 60 + .byte VOL , 60*mus_rg_champ_r_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , Gn4 , v096 + .byte W12 + .byte Gs4 , v104 + .byte W12 + .byte PAN , c_v-14 + .byte N48 , An4 , v112 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 56*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 44*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 33*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 22*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 62*mus_rg_champ_r_mvl/mxv + .byte N48 , An3 , v096 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 56*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 45*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 35*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 21*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 60*mus_rg_champ_r_mvl/mxv + .byte N48 , Gn4 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 56*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 44*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 34*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 21*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 60*mus_rg_champ_r_mvl/mxv + .byte N48 , As4 , v112 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 56*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 44*mus_rg_champ_r_mvl/mxv + .byte W06 + .byte 34*mus_rg_champ_r_mvl/mxv + .byte W12 + .byte GOTO + .word mus_rg_champ_r_7_B1 + .byte VOL , 22*mus_rg_champ_r_mvl/mxv + .byte MOD , 0 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_champ_r_8: + .byte KEYSH , mus_rg_champ_r_key+0 + .byte VOICE , 0 + .byte VOL , 59*mus_rg_champ_r_mvl/mxv + .byte W24 + .byte N48 , An2 , v120 + .byte W48 + .byte Fs1 , v100 + .byte W48 + .byte N48 + .byte W48 + .byte N24 + .byte W24 + .byte N03 + .byte W03 + .byte Fs1 , v032 + .byte W03 + .byte Fs1 , v040 + .byte W03 + .byte Fs1 , v052 + .byte W03 + .byte Fs1 , v064 + .byte W03 + .byte Fs1 , v068 + .byte W03 + .byte Fs1 , v088 + .byte W03 + .byte Fs1 , v104 + .byte W03 +mus_rg_champ_r_8_B1: + .byte N12 , Fs1 , v112 + .byte W12 + .byte Fs1 , v048 + .byte W12 + .byte Fs1 , v104 + .byte W12 + .byte N06 , Fs1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Fs1 , v096 + .byte W12 + .byte Fs1 , v048 + .byte W12 + .byte Fs1 , v060 + .byte W12 + .byte N03 , Fs1 , v112 + .byte W03 + .byte Fs1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Fs1 , v112 + .byte W12 + .byte N03 , Fs1 , v096 + .byte W03 + .byte Fs1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Fs1 , v048 + .byte W06 + .byte Fs1 , v104 + .byte W06 + .byte Fs1 , v040 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v096 + .byte W06 + .byte N03 , Fs1 , v072 + .byte W03 + .byte Fs1 , v028 + .byte W03 + .byte Fs1 , v072 + .byte W03 + .byte Fs1 , v032 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Fs1 , v112 + .byte W12 + .byte N06 + .byte W06 + .byte Fs1 , v088 + .byte W06 + .byte N12 , Fs1 , v112 + .byte W12 + .byte Fs1 , v048 + .byte W12 + .byte Fs1 , v112 + .byte W12 + .byte N06 , Fs1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Fs1 , v108 + .byte W12 + .byte Fs1 , v048 + .byte W12 + .byte Fs1 , v112 + .byte W12 + .byte N03 , Fs1 , v100 + .byte W03 + .byte Fs1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Fs1 , v100 + .byte W12 + .byte Fs1 , v048 + .byte W12 + .byte Fs1 , v092 + .byte W12 + .byte N06 , Fs1 , v048 + .byte W06 + .byte Fs1 , v096 + .byte W06 + .byte Fs1 , v052 + .byte W06 + .byte Fs1 , v120 + .byte W06 + .byte Fs1 , v052 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte N03 + .byte W03 + .byte Fs1 , v032 + .byte W03 + .byte Fs1 , v092 + .byte W03 + .byte Fs1 , v032 + .byte W03 + .byte Fs1 , v064 + .byte W03 + .byte Fs1 , v068 + .byte W03 + .byte Fs1 , v088 + .byte W03 + .byte Fs1 , v092 + .byte W03 + .byte N12 , Fs1 , v108 + .byte W12 + .byte Fs1 , v048 + .byte W12 + .byte Fs1 , v108 + .byte W12 + .byte N06 , Fs1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Fs1 , v104 + .byte W12 + .byte Fs1 , v048 + .byte W12 + .byte Fs1 , v060 + .byte W12 + .byte N03 , Fs1 , v112 + .byte W03 + .byte Fs1 , v048 + .byte W03 + .byte Fs1 , v104 + .byte W03 + .byte Fs1 , v048 + .byte W03 + .byte N12 , Fs1 , v112 + .byte N24 , Cs2 , v064 + .byte W12 + .byte N06 , Fs1 , v108 + .byte W06 + .byte Fs1 , v104 + .byte W06 + .byte Fs1 , v048 + .byte N21 , En2 , v064 + .byte W06 + .byte N06 , Fs1 , v108 + .byte W06 + .byte Fs1 , v048 + .byte W06 + .byte Fs1 , v108 + .byte W06 + .byte N12 , Fs1 , v064 + .byte N24 , Bn2 , v120 + .byte W12 + .byte N06 , Fs1 , v048 + .byte W06 + .byte Fs1 , v052 + .byte W06 + .byte N12 , Fs1 , v112 + .byte W12 + .byte N06 + .byte W06 + .byte Fs1 , v048 + .byte W06 + .byte N12 , Fs1 , v104 + .byte W12 + .byte N03 , Fs1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Fs1 , v088 + .byte W12 + .byte N03 , Fs1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Fs1 , v100 + .byte W12 + .byte N03 , Fs1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Fs1 , v124 + .byte W12 + .byte N06 , Fs1 , v112 + .byte W06 + .byte Fs1 , v064 + .byte W06 + .byte N12 , Fs1 , v112 + .byte W12 + .byte Fs1 , v048 + .byte W12 + .byte Fs1 , v112 + .byte W12 + .byte N06 , Fs1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Fs1 , v112 + .byte W12 + .byte Fs1 , v048 + .byte W12 + .byte Fs1 , v060 + .byte W12 + .byte N03 , Fs1 , v112 + .byte W03 + .byte Fs1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Fs1 , v112 + .byte W12 + .byte Fs1 , v048 + .byte W12 + .byte Fs1 , v112 + .byte W12 + .byte Fs1 , v048 + .byte W12 + .byte Fs1 , v112 + .byte W12 + .byte Fs1 , v048 + .byte W12 + .byte Fs1 , v116 + .byte W12 + .byte N06 , Fs1 , v112 + .byte W06 + .byte Fs1 , v064 + .byte W06 + .byte N12 , Fs1 , v112 + .byte W12 + .byte Fs1 , v048 + .byte W12 + .byte Fs1 , v104 + .byte W12 + .byte Fs1 , v048 + .byte W12 + .byte Fs1 , v108 + .byte W12 + .byte Fs1 , v048 + .byte W12 + .byte Fs1 , v112 + .byte W12 + .byte N06 , Fs1 , v080 + .byte W06 + .byte Fs1 , v064 + .byte W06 + .byte N12 , Fs1 , v112 + .byte W12 + .byte N03 + .byte W03 + .byte Fs1 , v040 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Fs1 , v052 + .byte W06 + .byte Fs1 , v120 + .byte W06 + .byte Fs1 , v040 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte N12 + .byte W12 + .byte Fs1 , v104 + .byte W12 + .byte N03 , Fs1 , v112 + .byte W03 + .byte Fs1 , v032 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte Fs1 , v108 + .byte W03 + .byte Fs1 , v032 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte Fs1 , v112 + .byte W03 + .byte Fs1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Fs1 , v104 + .byte W12 + .byte N06 , Fs1 , v048 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v044 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte N12 , Fs1 , v096 + .byte W12 + .byte N03 , Fs1 , v112 + .byte W03 + .byte Fs1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte Fs1 , v112 + .byte W03 + .byte Fs1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte Fs1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Fs1 , v112 + .byte W12 + .byte Fs1 , v048 + .byte W12 + .byte Fs1 , v108 + .byte W12 + .byte N06 , Fs1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Fs1 , v112 + .byte W12 + .byte Fs1 , v048 + .byte W12 + .byte Fs1 , v096 + .byte W12 + .byte N03 , Fs1 , v112 + .byte W03 + .byte Fs1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Fs1 , v116 + .byte W12 + .byte Fs1 , v048 + .byte W12 + .byte Fs1 , v112 + .byte W12 + .byte Fs1 , v048 + .byte W12 + .byte Fs1 , v104 + .byte W12 + .byte Fs1 , v048 + .byte W12 + .byte N03 , Fs1 , v028 + .byte W03 + .byte Fs1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte Fs1 , v056 + .byte W03 + .byte Fs1 , v064 + .byte W03 + .byte Fs1 , v068 + .byte W03 + .byte Fs1 , v088 + .byte W03 + .byte Fs1 , v092 + .byte W03 + .byte N36 , An2 , v120 + .byte W36 + .byte N06 , Dn2 , v127 + .byte W06 + .byte Dn2 , v120 + .byte W06 + .byte N12 , Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte N48 , Cs2 + .byte W48 + .byte N03 , Fs1 , v127 + .byte W03 + .byte Fs1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte Fs1 , v052 + .byte W03 + .byte Fs1 , v056 + .byte W03 + .byte N03 + .byte W03 + .byte Fs1 , v060 + .byte W03 + .byte Fs1 , v064 + .byte W03 + .byte Fs1 , v068 + .byte W03 + .byte Fs1 , v072 + .byte W03 + .byte Fs1 , v076 + .byte W03 + .byte Fs1 , v080 + .byte W03 + .byte Fs1 , v104 + .byte W03 + .byte Fs1 , v112 + .byte W03 + .byte Fs1 , v124 + .byte W03 + .byte GOTO + .word mus_rg_champ_r_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_champ_r: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_champ_r_pri @ Priority + .byte mus_rg_champ_r_rev @ Reverb. + + .word mus_rg_champ_r_grp + + .word mus_rg_champ_r_1 + .word mus_rg_champ_r_2 + .word mus_rg_champ_r_3 + .word mus_rg_champ_r_4 + .word mus_rg_champ_r_5 + .word mus_rg_champ_r_6 + .word mus_rg_champ_r_7 + .word mus_rg_champ_r_8 + + .end diff --git a/sound/songs/mus_rg_cycling.s b/sound/songs/mus_rg_cycling.s new file mode 100644 index 0000000000..499dddebdc --- /dev/null +++ b/sound/songs/mus_rg_cycling.s @@ -0,0 +1,2317 @@ + .include "MPlayDef.s" + + .equ mus_rg_cycling_grp, voicegroup_86A4204 + .equ mus_rg_cycling_pri, 0 + .equ mus_rg_cycling_rev, reverb_set+50 + .equ mus_rg_cycling_mvl, 127 + .equ mus_rg_cycling_key, 0 + .equ mus_rg_cycling_tbs, 1 + .equ mus_rg_cycling_exg, 0 + .equ mus_rg_cycling_cmp, 1 + + .section .rodata + .global mus_rg_cycling + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_cycling_1: + .byte KEYSH , mus_rg_cycling_key+0 + .byte TEMPO , 134*mus_rg_cycling_tbs/2 + .byte VOICE , 21 + .byte PAN , c_v+24 + .byte LFOS , 50 + .byte BENDR , 12 + .byte VOL , 52*mus_rg_cycling_mvl/mxv + .byte N12 , Cn3 , v127 + .byte W12 +mus_rg_cycling_1_B1: + .byte VOL , 52*mus_rg_cycling_mvl/mxv + .byte N24 , Fn3 , v127 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N12 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , As3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , En3 + .byte W12 + .byte N24 , As3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Gn3 + .byte W12 + .byte N12 , En3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte N60 , As3 + .byte W09 + .byte MOD , 6 + .byte W48 + .byte W03 + .byte 0 + .byte N12 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte N60 , Cn4 + .byte W12 + .byte MOD , 6 + .byte W48 + .byte 0 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte N36 , As3 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N06 + .byte W06 + .byte An3 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte As3 + .byte W06 + .byte N36 , Cn4 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N36 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N12 , Dn4 + .byte W12 + .byte As3 + .byte W12 + .byte N36 , Cn4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N12 + .byte W12 + .byte N24 , As3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 + .byte W12 + .byte En3 + .byte W12 + .byte N06 , Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte N12 , Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Dn3 + .byte W12 + .byte N06 , En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , En3 + .byte W12 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , En3 + .byte W12 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N36 , As3 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , Cn4 + .byte W24 + .byte N06 , As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte MOD , 6 + .byte N24 , As3 + .byte W12 + .byte MOD , 0 + .byte W12 + .byte N36 , An3 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N12 , As3 + .byte W12 + .byte An3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , Dn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , En3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , An3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , As3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte VOL , 52*mus_rg_cycling_mvl/mxv + .byte N96 , Cn4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte VOL , 44*mus_rg_cycling_mvl/mxv + .byte W15 + .byte 38*mus_rg_cycling_mvl/mxv + .byte W09 + .byte 34*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 26*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 20*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 11*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 52*mus_rg_cycling_mvl/mxv + .byte N24 + .byte W24 + .byte VOL , 44*mus_rg_cycling_mvl/mxv + .byte N72 + .byte W15 + .byte VOL , 38*mus_rg_cycling_mvl/mxv + .byte W09 + .byte 34*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 26*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 20*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 11*mus_rg_cycling_mvl/mxv + .byte W12 + .byte GOTO + .word mus_rg_cycling_1_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_cycling_2: + .byte KEYSH , mus_rg_cycling_key+0 + .byte VOICE , 1 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_cycling_mvl/mxv + .byte LFOS , 36 + .byte BENDR , 12 + .byte BEND , c_v+0 + .byte N12 , Fn4 , v100 + .byte W12 +mus_rg_cycling_2_B1: + .byte VOICE , 1 + .byte VOL , 90*mus_rg_cycling_mvl/mxv + .byte N24 , An4 , v076 + .byte W09 + .byte MOD , 5 + .byte W03 + .byte VOL , 79*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 68*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 90*mus_rg_cycling_mvl/mxv + .byte MOD , 0 + .byte N24 , As4 , v084 + .byte W09 + .byte MOD , 5 + .byte W03 + .byte VOL , 79*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 68*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 90*mus_rg_cycling_mvl/mxv + .byte MOD , 0 + .byte N24 , Cn5 , v088 + .byte W09 + .byte MOD , 5 + .byte W03 + .byte VOL , 79*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 68*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 90*mus_rg_cycling_mvl/mxv + .byte MOD , 0 + .byte N24 , Fn5 , v064 + .byte W09 + .byte MOD , 5 + .byte W03 + .byte VOL , 79*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 68*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 90*mus_rg_cycling_mvl/mxv + .byte MOD , 0 + .byte N36 , En5 , v076 + .byte W12 + .byte VOL , 79*mus_rg_cycling_mvl/mxv + .byte MOD , 5 + .byte W06 + .byte VOL , 68*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 56*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 90*mus_rg_cycling_mvl/mxv + .byte MOD , 0 + .byte N06 , Dn5 , v080 + .byte W06 + .byte En5 , v084 + .byte W06 + .byte VOL , 90*mus_rg_cycling_mvl/mxv + .byte N60 , Dn5 , v092 + .byte W12 + .byte VOL , 79*mus_rg_cycling_mvl/mxv + .byte MOD , 5 + .byte W06 + .byte VOL , 68*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 56*mus_rg_cycling_mvl/mxv + .byte W24 + .byte 90*mus_rg_cycling_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte N12 , As4 , v100 + .byte W12 + .byte Cn5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Gn5 , v064 + .byte W12 + .byte Fn5 + .byte W12 + .byte En5 , v072 + .byte W12 + .byte N06 , Dn5 , v084 + .byte W06 + .byte En5 , v080 + .byte W06 + .byte VOL , 90*mus_rg_cycling_mvl/mxv + .byte MOD , 0 + .byte N36 , Fn5 , v072 + .byte W12 + .byte VOL , 79*mus_rg_cycling_mvl/mxv + .byte MOD , 5 + .byte W06 + .byte VOL , 68*mus_rg_cycling_mvl/mxv + .byte W18 + .byte MOD , 0 + .byte N12 , Dn5 , v100 + .byte W12 + .byte VOL , 90*mus_rg_cycling_mvl/mxv + .byte MOD , 0 + .byte N24 , Cn5 + .byte W09 + .byte MOD , 5 + .byte W03 + .byte VOL , 79*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 68*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 90*mus_rg_cycling_mvl/mxv + .byte MOD , 0 + .byte N32 , Ds5 + .byte W09 + .byte VOL , 79*mus_rg_cycling_mvl/mxv + .byte MOD , 5 + .byte W06 + .byte VOL , 68*mus_rg_cycling_mvl/mxv + .byte W09 + .byte 56*mus_rg_cycling_mvl/mxv + .byte MOD , 0 + .byte W09 + .byte VOICE , 73 + .byte VOL , 90*mus_rg_cycling_mvl/mxv + .byte N03 , En5 , v064 + .byte W03 + .byte N12 , Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N60 , Dn5 + .byte W12 + .byte MOD , 6 + .byte W06 + .byte VOL , 85*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 79*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 74*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 68*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 61*mus_rg_cycling_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 56*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 51*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 90*mus_rg_cycling_mvl/mxv + .byte N12 , Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N03 , Cs5 + .byte W03 + .byte N56 , Cn5 + .byte W09 + .byte MOD , 6 + .byte W06 + .byte VOL , 85*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 79*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 74*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 68*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 61*mus_rg_cycling_mvl/mxv + .byte W06 + .byte VOICE , 21 + .byte MOD , 0 + .byte VOL , 56*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 51*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 90*mus_rg_cycling_mvl/mxv + .byte N24 , Fn4 , v112 + .byte W24 + .byte N12 , An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N48 , Gn4 + .byte W48 + .byte N06 + .byte W06 + .byte Fn4 + .byte W06 + .byte N96 , En4 + .byte W96 + .byte VOICE , 1 + .byte VOL , 79*mus_rg_cycling_mvl/mxv + .byte N36 , As4 + .byte W12 + .byte MOD , 5 + .byte W06 + .byte VOL , 74*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 68*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 79*mus_rg_cycling_mvl/mxv + .byte MOD , 0 + .byte N12 + .byte W12 + .byte Cn5 + .byte W12 + .byte N03 , As4 + .byte W03 + .byte Cn5 , v076 + .byte W03 + .byte N06 , As4 , v064 + .byte W06 + .byte N12 , An4 , v112 + .byte W12 + .byte Gn4 + .byte W12 + .byte VOL , 79*mus_rg_cycling_mvl/mxv + .byte N36 , An4 , v108 + .byte W12 + .byte MOD , 5 + .byte W06 + .byte VOL , 74*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 68*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 79*mus_rg_cycling_mvl/mxv + .byte MOD , 0 + .byte N12 , An4 , v100 + .byte W12 + .byte As4 , v112 + .byte W12 + .byte An4 , v100 + .byte W12 + .byte Gn4 , v104 + .byte W12 + .byte Fn4 , v100 + .byte W12 + .byte As4 , v112 + .byte W12 + .byte An4 , v100 + .byte W12 + .byte Gn4 , v104 + .byte W12 + .byte As4 , v096 + .byte W12 + .byte N24 , Cn5 , v104 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , Dn5 , v100 + .byte W12 + .byte As4 + .byte W12 + .byte An4 , v112 + .byte W12 + .byte N24 , Cn5 , v104 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , As4 , v100 + .byte W12 + .byte N36 , An4 , v104 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte VOICE , 17 + .byte MOD , 0 + .byte VOL , 85*mus_rg_cycling_mvl/mxv + .byte N03 , As4 , v096 + .byte W03 + .byte Cn5 , v100 + .byte W03 + .byte Dn5 , v104 + .byte W03 + .byte En5 , v112 + .byte W03 + .byte N12 , Fn5 , v127 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N24 , En5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Cn5 + .byte W12 + .byte N24 , Ds5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Dn5 + .byte W12 + .byte N18 , Cn5 + .byte W18 + .byte N03 , As4 , v120 + .byte W03 + .byte Cn5 , v084 + .byte W03 + .byte N12 , As4 , v080 + .byte W12 + .byte An4 , v127 + .byte W12 + .byte N16 , Dn5 + .byte W16 + .byte Cn5 + .byte W16 + .byte As4 + .byte W16 + .byte En5 + .byte W16 + .byte Dn5 + .byte W16 + .byte Cn5 + .byte W16 + .byte Fn5 + .byte W16 + .byte En5 + .byte W16 + .byte Dn5 + .byte W16 + .byte Gn5 + .byte W16 + .byte An5 + .byte W16 + .byte Fn5 + .byte W16 + .byte N72 , Gn5 + .byte W09 + .byte MOD , 7 + .byte W60 + .byte W03 + .byte 0 + .byte N24 , Fn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N96 , En5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W12 + .byte 6 + .byte W60 + .byte GOTO + .word mus_rg_cycling_2_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_cycling_3: + .byte KEYSH , mus_rg_cycling_key+0 + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte LFOS , 50 + .byte BENDR , 12 + .byte VOL , 49*mus_rg_cycling_mvl/mxv + .byte W12 +mus_rg_cycling_3_B1: + .byte N12 , Fn1 , v127 + .byte W12 + .byte N06 , An1 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , Fn1 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N12 , Cn2 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte Dn2 + .byte W12 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte As1 + .byte W12 + .byte Dn2 + .byte W06 + .byte N03 , Cn2 , v068 + .byte W03 + .byte As1 + .byte W03 + .byte N06 , An1 , v127 + .byte W12 + .byte N12 , Gs1 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte As1 + .byte W12 + .byte N12 , Dn1 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte Gn1 + .byte W12 + .byte As1 + .byte W12 + .byte N12 , An1 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte An1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Cn2 + .byte W12 + .byte An1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N12 , As1 + .byte W12 + .byte N06 , Cn2 + .byte W12 + .byte As1 + .byte W12 + .byte Dn2 + .byte W12 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte As1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte N06 , Cn2 + .byte W12 + .byte An1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Cn2 + .byte W12 + .byte An1 + .byte W12 + .byte As1 + .byte W12 + .byte N12 , Cn2 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte N12 , Dn1 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte N12 , Fn1 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte N12 , Cn2 + .byte W12 + .byte N03 , Fn1 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte As1 + .byte W06 + .byte An1 , v120 + .byte W06 + .byte N12 , Gn1 , v127 + .byte W12 + .byte N03 , En1 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte En1 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N12 , An1 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte As1 + .byte W12 + .byte N14 , Dn1 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte Gn1 + .byte W12 + .byte As1 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte An1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Cn2 , v127 + .byte W12 + .byte An1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N12 , Fn2 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte As1 + .byte W12 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , As1 , v127 + .byte W12 + .byte N06 + .byte W12 + .byte An1 + .byte W12 + .byte N12 , Gn2 + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte An1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W06 + .byte An1 , v120 + .byte W06 + .byte N12 , Cn1 , v127 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte Fn2 + .byte W06 + .byte Cn2 , v120 + .byte W06 + .byte N12 , Fn1 , v127 + .byte W12 + .byte N06 , Gn1 + .byte W06 + .byte An1 , v120 + .byte W06 + .byte As1 , v127 + .byte W12 + .byte Dn2 + .byte W12 + .byte Fn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte As1 + .byte W12 + .byte Dn2 + .byte W06 + .byte N03 , As1 , v120 + .byte W03 + .byte Gn1 + .byte W03 + .byte N06 , Fn1 , v127 + .byte W12 + .byte As1 + .byte W06 + .byte Bn1 , v120 + .byte W06 + .byte Cn2 , v127 + .byte W12 + .byte Ds2 + .byte W12 + .byte An1 + .byte W12 + .byte Ds2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Ds2 + .byte W06 + .byte N03 , Dn2 , v120 + .byte W03 + .byte Cn2 + .byte W03 + .byte N06 , An1 , v127 + .byte W12 + .byte Dn2 , v120 + .byte W06 + .byte Cn2 , v127 + .byte W06 + .byte As1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N12 , As1 , v120 + .byte W12 + .byte N06 , Dn2 , v127 + .byte W12 + .byte Cn2 + .byte W12 + .byte An1 + .byte W12 + .byte N12 , Cn2 , v120 + .byte W12 + .byte N06 , En2 , v127 + .byte W12 + .byte Dn2 + .byte W12 + .byte As1 + .byte W12 + .byte N12 , Dn2 , v120 + .byte W12 + .byte N06 , Fn2 , v127 + .byte W12 + .byte En2 + .byte W12 + .byte Dn2 + .byte W12 + .byte As2 , v120 + .byte W06 + .byte Fn2 + .byte W06 + .byte As1 , v127 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte En2 + .byte W12 + .byte Cn2 + .byte W12 + .byte En2 + .byte W12 + .byte As1 + .byte W12 + .byte Dn2 + .byte W12 + .byte En1 + .byte W12 + .byte As1 + .byte W12 + .byte GOTO + .word mus_rg_cycling_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_cycling_4: + .byte KEYSH , mus_rg_cycling_key+0 + .byte PAN , c_v+28 + .byte VOL , 47*mus_rg_cycling_mvl/mxv + .byte LFOS , 50 + .byte BENDR , 12 + .byte W12 +mus_rg_cycling_4_B1: + .byte VOL , 47*mus_rg_cycling_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 56 + .byte PAN , c_v-32 + .byte VOL , 68*mus_rg_cycling_mvl/mxv + .byte N08 , Fn3 , v120 + .byte W08 + .byte N04 , Dn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte N24 , As3 + .byte W12 + .byte MOD , 6 + .byte VOL , 56*mus_rg_cycling_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 68*mus_rg_cycling_mvl/mxv + .byte PAN , c_v+32 + .byte N08 , Gn3 + .byte W08 + .byte N04 , En3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 6 + .byte VOL , 56*mus_rg_cycling_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 68*mus_rg_cycling_mvl/mxv + .byte PAN , c_v-33 + .byte N08 , Dn4 + .byte W08 + .byte N04 , As3 + .byte W08 + .byte Dn4 + .byte W08 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 6 + .byte VOL , 56*mus_rg_cycling_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 68*mus_rg_cycling_mvl/mxv + .byte PAN , c_v+32 + .byte N06 , Gn4 + .byte W06 + .byte N03 , Fn4 , v084 + .byte W03 + .byte En4 + .byte W03 + .byte MOD , 6 + .byte N03 , Dn4 , v072 + .byte W12 + .byte MOD , 0 + .byte PAN , c_v-32 + .byte N04 , Gn3 , v120 + .byte W08 + .byte N08 , En3 + .byte W08 + .byte Gn3 + .byte W08 + .byte PAN , c_v-32 + .byte N72 , Cn4 + .byte W09 + .byte MOD , 7 + .byte W03 + .byte VOL , 56*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 50*mus_rg_cycling_mvl/mxv + .byte W15 + .byte 45*mus_rg_cycling_mvl/mxv + .byte W09 + .byte 39*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 34*mus_rg_cycling_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 68*mus_rg_cycling_mvl/mxv + .byte N06 , Fn4 + .byte W12 + .byte Cn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N96 , Gn4 + .byte W12 + .byte MOD , 6 + .byte VOL , 56*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 51*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 45*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 39*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 34*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 28*mus_rg_cycling_mvl/mxv + .byte W24 + .byte GOTO + .word mus_rg_cycling_4_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_cycling_5: + .byte KEYSH , mus_rg_cycling_key+0 + .byte VOICE , 83 + .byte PAN , c_v+0 + .byte LFOS , 50 + .byte BENDR , 12 + .byte VOL , 45*mus_rg_cycling_mvl/mxv + .byte N12 , Fn4 , v100 + .byte W12 +mus_rg_cycling_5_B1: + .byte VOICE , 83 + .byte VOL , 45*mus_rg_cycling_mvl/mxv + .byte BEND , c_v+0 + .byte N24 , An4 , v100 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N24 , As4 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N24 , Cn5 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N24 , Fn5 , v080 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N36 , En5 , v076 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 , Dn5 , v104 + .byte W06 + .byte En5 , v088 + .byte W06 + .byte N60 , Dn5 , v104 + .byte W12 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte W12 + .byte N12 , As4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Gn5 , v080 + .byte W12 + .byte Fn5 , v076 + .byte W12 + .byte En5 , v080 + .byte W12 + .byte N06 , Dn5 , v100 + .byte W06 + .byte En5 , v080 + .byte W06 + .byte MOD , 0 + .byte N36 , Fn5 , v100 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N12 , Dn5 + .byte W12 + .byte MOD , 0 + .byte N24 , Cn5 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N32 , Ds5 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte W09 + .byte N03 , En5 , v064 + .byte W03 + .byte N12 , Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N60 , Dn5 + .byte W12 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte W12 + .byte N12 , Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N03 , Cs5 + .byte W03 + .byte N56 , Cn5 , v056 + .byte W09 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte W12 + .byte N24 , Fn5 , v127 + .byte W24 + .byte N12 , An5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Fn5 + .byte W12 + .byte Gn5 + .byte W12 + .byte As4 , v120 + .byte W12 + .byte Cn5 + .byte W12 + .byte N48 , Gn5 + .byte W48 + .byte N06 , Gn5 , v127 + .byte W06 + .byte Fn5 + .byte W06 + .byte N96 , En5 + .byte W96 + .byte N36 , As4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N12 + .byte W12 + .byte Cn5 + .byte W12 + .byte N03 , As4 + .byte W03 + .byte Cn5 , v084 + .byte W03 + .byte N06 , As4 , v076 + .byte W06 + .byte N12 , An4 , v127 + .byte W12 + .byte Gn4 + .byte W12 + .byte N36 , An4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N12 + .byte W12 + .byte As4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte As4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte As4 + .byte W12 + .byte N24 , Cn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Dn5 + .byte W12 + .byte As4 + .byte W12 + .byte An4 + .byte W12 + .byte N24 , Cn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , As4 + .byte W12 + .byte N36 , An4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N03 , As4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Dn5 + .byte W03 + .byte En5 + .byte W03 + .byte N12 , Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N24 , En5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Cn5 + .byte W12 + .byte N24 , Ds5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Dn5 + .byte W12 + .byte N18 , Cn5 + .byte W18 + .byte N03 , As4 , v120 + .byte W03 + .byte Cn5 , v084 + .byte W03 + .byte N12 , As4 , v080 + .byte W12 + .byte An4 , v127 + .byte W12 + .byte VOICE , 85 + .byte VOL , 45*mus_rg_cycling_mvl/mxv + .byte BEND , c_v+0 + .byte N08 , As2 , v120 + .byte W08 + .byte N04 , Fn2 + .byte W08 + .byte As2 + .byte W08 + .byte N24 , Dn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W36 + .byte 6 + .byte W12 + .byte 0 + .byte N08 , Dn4 + .byte W08 + .byte N04 , As3 + .byte W08 + .byte Dn4 + .byte W08 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W12 + .byte 6 + .byte W12 + .byte 0 + .byte W24 + .byte N72 , Gn3 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 38*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 34*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 28*mus_rg_cycling_mvl/mxv + .byte W15 + .byte 22*mus_rg_cycling_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 17*mus_rg_cycling_mvl/mxv + .byte N06 , Fn4 + .byte W12 + .byte VOL , 11*mus_rg_cycling_mvl/mxv + .byte N06 , Cn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte VOL , 45*mus_rg_cycling_mvl/mxv + .byte N96 , Gn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 38*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 34*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 28*mus_rg_cycling_mvl/mxv + .byte W15 + .byte 22*mus_rg_cycling_mvl/mxv + .byte W09 + .byte 17*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 11*mus_rg_cycling_mvl/mxv + .byte W12 + .byte GOTO + .word mus_rg_cycling_5_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_cycling_6: + .byte KEYSH , mus_rg_cycling_key+0 + .byte VOICE , 80 + .byte PAN , c_v+63 + .byte VOL , 28*mus_rg_cycling_mvl/mxv + .byte LFOS , 50 + .byte BENDR , 12 + .byte W12 +mus_rg_cycling_6_B1: + .byte VOL , 45*mus_rg_cycling_mvl/mxv + .byte W12 + .byte N04 , An2 , v120 + .byte W06 + .byte N01 + .byte W18 + .byte N12 + .byte W24 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N04 , Gn2 + .byte W06 + .byte N01 + .byte W06 + .byte W12 + .byte N04 , As2 + .byte W06 + .byte N01 + .byte W18 + .byte N10 + .byte W24 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N02 + .byte W06 + .byte N01 + .byte W06 + .byte W12 + .byte N02 + .byte W06 + .byte N01 + .byte W18 + .byte N08 + .byte W24 + .byte N04 , Fn3 + .byte W06 + .byte N01 + .byte W18 + .byte N04 , Cn3 + .byte W06 + .byte N01 + .byte W06 + .byte W12 + .byte N04 , An2 + .byte W06 + .byte N01 + .byte W18 + .byte N10 + .byte W24 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N04 , Cn3 + .byte W06 + .byte N01 + .byte W06 + .byte VOICE , 84 + .byte VOL , 45*mus_rg_cycling_mvl/mxv + .byte N03 , An1 + .byte W03 + .byte As1 + .byte W03 + .byte Cn2 + .byte W03 + .byte Cs2 + .byte W03 + .byte N60 , Dn2 + .byte W60 + .byte N24 , Fn2 + .byte W24 + .byte N06 , En2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N60 , Cn2 + .byte W60 + .byte N24 , Ds2 + .byte W24 + .byte N06 , Dn2 + .byte W06 + .byte En2 + .byte W06 + .byte N36 , Fn2 + .byte W36 + .byte N12 , Cn2 + .byte W12 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte Dn2 + .byte W06 + .byte N12 , En2 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte En2 + .byte W06 + .byte VOL , 45*mus_rg_cycling_mvl/mxv + .byte N07 , Cn3 + .byte W12 + .byte N10 , Gn2 , v064 + .byte W12 + .byte As2 + .byte W12 + .byte N01 , Cn3 , v120 + .byte W03 + .byte N09 + .byte W09 + .byte N06 , Dn3 , v064 + .byte W12 + .byte N10 , Gn2 + .byte W12 + .byte N12 , As2 , v120 + .byte W12 + .byte N10 , Cn3 , v088 + .byte W12 + .byte N09 , Cn3 , v120 + .byte W12 + .byte N10 , Cn3 , v064 + .byte W12 + .byte N06 + .byte W12 + .byte N01 , Cn3 , v127 + .byte W03 + .byte N06 + .byte W09 + .byte N10 , Cn3 , v060 + .byte W12 + .byte Cn3 , v088 + .byte W12 + .byte N09 , Cn3 , v120 + .byte W12 + .byte N10 , Cn3 , v088 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn2 , v120 + .byte W36 + .byte N12 + .byte W12 + .byte N09 + .byte W12 + .byte An2 + .byte W12 + .byte As2 + .byte W12 + .byte Cn3 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Fn2 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N12 , Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte As2 + .byte W12 + .byte Dn3 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte Fn2 + .byte W24 + .byte N36 , Dn3 + .byte W36 + .byte N24 , Fn3 + .byte W24 + .byte N06 , En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N24 , Dn3 + .byte W24 + .byte N36 , Cn3 + .byte W36 + .byte N12 , Ds3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N06 , As2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N12 , As2 + .byte W12 + .byte An2 + .byte W12 + .byte W48 + .byte N08 , Cn3 + .byte W08 + .byte N04 , Gn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte N24 , En3 + .byte W24 + .byte W48 + .byte N06 , Cn4 + .byte W06 + .byte N03 , As3 , v088 + .byte W03 + .byte An3 , v084 + .byte W03 + .byte Gn3 , v080 + .byte W12 + .byte N04 , Cn3 , v120 + .byte W08 + .byte N08 , Bn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte W72 + .byte N06 , As3 + .byte W12 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte N96 , Cn4 + .byte W24 + .byte VOL , 34*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 29*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 22*mus_rg_cycling_mvl/mxv + .byte W09 + .byte 15*mus_rg_cycling_mvl/mxv + .byte W15 + .byte 11*mus_rg_cycling_mvl/mxv + .byte W09 + .byte 6*mus_rg_cycling_mvl/mxv + .byte W15 + .byte GOTO + .word mus_rg_cycling_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_cycling_7: + .byte KEYSH , mus_rg_cycling_key+0 + .byte PAN , c_v-64 + .byte VOL , 28*mus_rg_cycling_mvl/mxv + .byte LFOS , 50 + .byte BENDR , 12 + .byte W12 +mus_rg_cycling_7_B1: + .byte VOICE , 13 + .byte VOL , 28*mus_rg_cycling_mvl/mxv + .byte W12 + .byte N04 , Fn3 , v120 + .byte W06 + .byte N01 + .byte W18 + .byte N12 + .byte W24 + .byte N04 , En3 + .byte W06 + .byte N01 + .byte W06 + .byte N04 , Dn3 + .byte W06 + .byte N01 + .byte W06 + .byte N04 , En3 + .byte W06 + .byte N01 + .byte W06 + .byte W12 + .byte N04 + .byte W06 + .byte N01 + .byte W18 + .byte N10 , Dn3 + .byte W24 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N04 , Gn3 + .byte W06 + .byte N01 + .byte W06 + .byte N02 , Fn3 + .byte W06 + .byte N01 + .byte W06 + .byte W12 + .byte N02 , En3 + .byte W06 + .byte N01 + .byte W18 + .byte N08 + .byte W24 + .byte N04 , As3 + .byte W06 + .byte N01 + .byte W18 + .byte N04 , En3 + .byte W06 + .byte N01 + .byte W06 + .byte W12 + .byte N04 , Fn3 + .byte W06 + .byte N01 + .byte W18 + .byte N10 + .byte W24 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N04 , Ds3 + .byte W06 + .byte N01 + .byte W03 + .byte VOICE , 48 + .byte W03 + .byte N03 , En2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Gn2 + .byte W03 + .byte An2 + .byte W03 + .byte VOL , 26*mus_rg_cycling_mvl/mxv + .byte N60 , As2 + .byte W60 + .byte N24 , Dn3 + .byte W24 + .byte N06 , Cn3 + .byte W06 + .byte As2 + .byte W06 + .byte N60 , An2 + .byte W60 + .byte N24 , Cn3 + .byte W24 + .byte N06 , As2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N36 , Dn3 + .byte W36 + .byte N06 , En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte VOICE , 24 + .byte VOL , 41*mus_rg_cycling_mvl/mxv + .byte N09 , Fn3 + .byte W12 + .byte N06 , Fn3 , v064 + .byte W12 + .byte N06 + .byte W12 + .byte N01 , Fn3 , v120 + .byte W03 + .byte N09 + .byte W09 + .byte N06 , Fn3 , v064 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N06 , Fs3 , v120 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte N09 , En3 , v120 + .byte W12 + .byte N06 , En3 , v064 + .byte W12 + .byte N06 + .byte W12 + .byte N01 , En3 , v120 + .byte W03 + .byte N06 + .byte W09 + .byte En3 , v060 + .byte W09 + .byte VOL , 33*mus_rg_cycling_mvl/mxv + .byte W03 + .byte N03 , En3 , v096 + .byte W03 + .byte VOICE , 17 + .byte N03 , Fn3 + .byte W03 + .byte Gn3 + .byte W03 + .byte An3 + .byte W03 + .byte As3 + .byte W03 + .byte Cn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte An4 + .byte W03 + .byte As4 + .byte W03 + .byte N60 , Dn5 , v120 + .byte W12 + .byte MOD , 4 + .byte W48 + .byte 0 + .byte N03 , Ds5 , v080 + .byte W03 + .byte En5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Fs5 + .byte W03 + .byte N12 , As5 , v120 + .byte W12 + .byte En5 + .byte W12 + .byte Cn5 + .byte W12 + .byte N06 , An4 + .byte W06 + .byte As4 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte N06 , An4 + .byte W06 + .byte As4 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte N24 , An5 , v108 + .byte W24 + .byte N03 , Gs5 , v120 + .byte W03 + .byte Gn5 + .byte W03 + .byte Fn5 + .byte W03 + .byte En5 + .byte W03 + .byte N32 , Dn5 , v088 + .byte W32 + .byte W01 + .byte N03 , Ds5 , v120 + .byte W03 + .byte N36 , En5 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N24 , Fn5 + .byte W24 + .byte N12 , An5 + .byte W12 + .byte N03 , Gn5 , v112 + .byte W03 + .byte An5 , v088 + .byte W03 + .byte N06 , Gn5 , v072 + .byte W06 + .byte N12 , Fn5 , v120 + .byte W12 + .byte En5 + .byte W12 + .byte N06 + .byte W06 + .byte Fn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte An4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte An4 + .byte W12 + .byte VOICE , 80 + .byte N06 , Dn4 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte As4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte As3 + .byte W06 + .byte As4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte As4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte An4 + .byte W06 + .byte Fn4 + .byte W06 + .byte An4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte An3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N08 , Fn3 + .byte W08 + .byte N04 , Dn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte N24 , As3 + .byte W72 + .byte N08 , Gn3 + .byte W08 + .byte N04 , Dn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N24 , As3 + .byte W24 + .byte N06 , En3 + .byte W06 + .byte N03 , Dn3 , v064 + .byte W03 + .byte Cn3 + .byte W03 + .byte As2 + .byte W12 + .byte N04 , Gn3 , v120 + .byte W08 + .byte N08 , En3 + .byte W08 + .byte Gn3 + .byte W08 + .byte W72 + .byte N06 , Cn5 + .byte W12 + .byte Gn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte N96 , En5 + .byte W48 + .byte VOL , 22*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 17*mus_rg_cycling_mvl/mxv + .byte W06 + .byte 11*mus_rg_cycling_mvl/mxv + .byte W12 + .byte 6*mus_rg_cycling_mvl/mxv + .byte W24 + .byte GOTO + .word mus_rg_cycling_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_cycling_8: + .byte KEYSH , mus_rg_cycling_key+0 + .byte PAN , c_v+0 + .byte VOL , 39*mus_rg_cycling_mvl/mxv + .byte W12 +mus_rg_cycling_8_B1: + .byte VOICE , 0 + .byte W12 + .byte N12 , Gs4 , v052 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W18 + .byte VOL , 41*mus_rg_cycling_mvl/mxv + .byte W06 + .byte N12 + .byte W12 +mus_rg_cycling_8_000: + .byte W12 + .byte N12 , Gs4 , v052 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PEND +mus_rg_cycling_8_001: + .byte W12 + .byte N12 , Gs4 , v052 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte PEND +mus_rg_cycling_8_002: + .byte W12 + .byte N12 , Gs4 , v052 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_cycling_8_000 + .byte PATT + .word mus_rg_cycling_8_000 + .byte PATT + .word mus_rg_cycling_8_001 + .byte PATT + .word mus_rg_cycling_8_001 + .byte PATT + .word mus_rg_cycling_8_001 + .byte PATT + .word mus_rg_cycling_8_001 + .byte PATT + .word mus_rg_cycling_8_000 + .byte PATT + .word mus_rg_cycling_8_001 + .byte PATT + .word mus_rg_cycling_8_002 + .byte PATT + .word mus_rg_cycling_8_001 + .byte PATT + .word mus_rg_cycling_8_000 + .byte PATT + .word mus_rg_cycling_8_001 + .byte PATT + .word mus_rg_cycling_8_001 + .byte PATT + .word mus_rg_cycling_8_001 + .byte PATT + .word mus_rg_cycling_8_001 + .byte GOTO + .word mus_rg_cycling_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_cycling: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_cycling_pri @ Priority + .byte mus_rg_cycling_rev @ Reverb. + + .word mus_rg_cycling_grp + + .word mus_rg_cycling_1 + .word mus_rg_cycling_2 + .word mus_rg_cycling_3 + .word mus_rg_cycling_4 + .word mus_rg_cycling_5 + .word mus_rg_cycling_6 + .word mus_rg_cycling_7 + .word mus_rg_cycling_8 + + .end diff --git a/sound/songs/mus_rg_demo.s b/sound/songs/mus_rg_demo.s new file mode 100644 index 0000000000..1ca6ea57d3 --- /dev/null +++ b/sound/songs/mus_rg_demo.s @@ -0,0 +1,1856 @@ + .include "MPlayDef.s" + + .equ mus_rg_demo_grp, voicegroup_86A29D4 + .equ mus_rg_demo_pri, 0 + .equ mus_rg_demo_rev, reverb_set+50 + .equ mus_rg_demo_mvl, 127 + .equ mus_rg_demo_key, 0 + .equ mus_rg_demo_tbs, 1 + .equ mus_rg_demo_exg, 0 + .equ mus_rg_demo_cmp, 1 + + .section .rodata + .global mus_rg_demo + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_demo_1: + .byte KEYSH , mus_rg_demo_key+0 + .byte TEMPO , 188*mus_rg_demo_tbs/2 + .byte VOICE , 87 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte VOL , 56*mus_rg_demo_mvl/mxv + .byte BEND , c_v+1 + .byte W48 + .byte N03 , An1 , v127 + .byte W12 + .byte N03 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , An1 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N03 , An1 , v127 + .byte W12 + .byte N03 + .byte W12 + .byte N06 , Ds2 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , An1 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N03 , An1 , v127 + .byte W12 + .byte N03 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , An1 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N03 , An1 , v127 + .byte W12 + .byte N09 + .byte W12 + .byte N18 , As1 + .byte W06 + .byte MOD , 5 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte MOD , 0 + .byte N03 , An1 + .byte W12 + .byte N03 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , As1 , v120 + .byte W06 + .byte An1 + .byte W06 + .byte MOD , 0 + .byte N03 , An1 , v127 + .byte W12 + .byte N15 + .byte W12 + .byte N06 , Gn2 + .byte W06 + .byte MOD , 5 + .byte W18 + .byte VOICE , 86 + .byte MOD , 0 + .byte VOL , 79*mus_rg_demo_mvl/mxv + .byte N48 , An1 + .byte W06 + .byte MOD , 8 + .byte W42 + .byte 0 + .byte N48 , Dn1 + .byte W06 + .byte MOD , 8 + .byte W42 + .byte 0 + .byte N48 , Gs1 + .byte W06 + .byte MOD , 8 + .byte W42 + .byte 0 + .byte VOL , 77*mus_rg_demo_mvl/mxv + .byte N24 , Cn1 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N24 , Cs1 , v120 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte VOICE , 87 + .byte MOD , 0 + .byte VOL , 68*mus_rg_demo_mvl/mxv + .byte N03 , An1 , v127 + .byte W12 + .byte N03 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , An1 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N03 , An1 , v127 + .byte W12 + .byte N03 + .byte W12 + .byte N06 , Ds2 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , An1 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N03 , An1 , v127 + .byte W12 + .byte N03 + .byte W12 + .byte N06 , Fn2 + .byte W06 + .byte MOD , 5 + .byte W18 + .byte 0 + .byte N03 , An1 + .byte W12 + .byte N03 + .byte W06 + .byte An1 , v120 + .byte W06 + .byte N24 , Gn2 , v127 + .byte W06 + .byte MOD , 5 + .byte W18 + .byte VOL , 22*mus_rg_demo_mvl/mxv + .byte MOD , 0 + .byte N96 , Fs3 + .byte W12 + .byte MOD , 5 + .byte W60 + .byte VOL , 45*mus_rg_demo_mvl/mxv + .byte W24 + .byte 55*mus_rg_demo_mvl/mxv + .byte MOD , 0 + .byte N03 , Dn4 + .byte W96 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_demo_2: + .byte KEYSH , mus_rg_demo_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 56*mus_rg_demo_mvl/mxv + .byte W48 + .byte N03 , Dn2 , v127 + .byte W12 + .byte VOICE , 83 + .byte N03 , Dn2 , v100 + .byte W12 + .byte VOICE , 80 + .byte N12 , An2 , v127 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , Dn2 , v100 + .byte W06 + .byte MOD , 15 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N03 , Dn2 , v127 + .byte W12 + .byte VOICE , 83 + .byte N03 , Dn2 , v100 + .byte W12 + .byte VOICE , 80 + .byte N12 , As2 , v127 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , Dn2 , v100 + .byte W06 + .byte MOD , 15 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N03 , Dn2 , v127 + .byte W12 + .byte VOICE , 83 + .byte N03 , Dn2 , v100 + .byte W12 + .byte VOICE , 80 + .byte N12 , An2 , v127 + .byte W06 + .byte MOD , 5 + .byte W12 + .byte 16 + .byte W06 + .byte 0 + .byte N03 , Dn2 + .byte W12 + .byte VOICE , 83 + .byte N09 , Dn2 , v100 + .byte W12 + .byte VOICE , 80 + .byte N12 , Cs2 , v127 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N06 , Fn2 , v092 + .byte W06 + .byte MOD , 15 + .byte N06 , En2 , v088 + .byte W06 + .byte MOD , 0 + .byte N03 , Dn2 , v127 + .byte W12 + .byte VOICE , 83 + .byte N03 , Dn2 , v096 + .byte W12 + .byte VOICE , 80 + .byte N12 , An2 , v127 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , Dn2 , v100 + .byte W06 + .byte MOD , 15 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N03 , Dn2 , v127 + .byte W12 + .byte VOICE , 83 + .byte N12 , Dn2 , v100 + .byte W12 + .byte VOICE , 80 + .byte N06 , Cs3 , v127 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , An2 , v088 + .byte W06 + .byte MOD , 15 + .byte N03 , Cs3 , v092 + .byte W06 + .byte VOICE , 80 + .byte MOD , 0 + .byte N48 , Dn4 , v096 + .byte W48 + .byte VOICE , 85 + .byte N48 , Dn3 , v092 + .byte W06 + .byte MOD , 5 + .byte W42 + .byte VOICE , 80 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N48 , Cn4 + .byte W48 + .byte VOICE , 85 + .byte VOL , 25*mus_rg_demo_mvl/mxv + .byte N48 , Cn3 , v120 + .byte W02 + .byte VOL , 27*mus_rg_demo_mvl/mxv + .byte W03 + .byte 31*mus_rg_demo_mvl/mxv + .byte W01 + .byte MOD , 5 + .byte W02 + .byte VOL , 36*mus_rg_demo_mvl/mxv + .byte W04 + .byte 41*mus_rg_demo_mvl/mxv + .byte W02 + .byte 45*mus_rg_demo_mvl/mxv + .byte W03 + .byte 50*mus_rg_demo_mvl/mxv + .byte W03 + .byte 57*mus_rg_demo_mvl/mxv + .byte W04 + .byte 64*mus_rg_demo_mvl/mxv + .byte W02 + .byte 72*mus_rg_demo_mvl/mxv + .byte W03 + .byte 75*mus_rg_demo_mvl/mxv + .byte W03 + .byte 77*mus_rg_demo_mvl/mxv + .byte W16 + .byte VOICE , 80 + .byte MOD , 0 + .byte VOL , 56*mus_rg_demo_mvl/mxv + .byte N03 , Dn3 , v127 + .byte W12 + .byte VOICE , 83 + .byte N03 , Dn3 , v100 + .byte W12 + .byte VOICE , 80 + .byte N12 , An3 , v127 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , Gn3 , v064 + .byte W03 + .byte Fn3 + .byte W03 + .byte En3 + .byte W03 + .byte Ds3 + .byte W03 + .byte MOD , 0 + .byte N03 , Dn3 , v127 + .byte W12 + .byte VOICE , 83 + .byte N03 , Dn3 , v100 + .byte W12 + .byte VOICE , 80 + .byte N12 , As3 , v127 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , Dn3 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N03 , Dn3 , v127 + .byte W12 + .byte VOICE , 83 + .byte N03 , Dn3 , v100 + .byte W12 + .byte VOICE , 80 + .byte N12 , Cn4 , v127 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , Dn3 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N03 , Dn3 , v127 + .byte W12 + .byte VOICE , 83 + .byte N03 , Dn3 , v104 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 80 + .byte N12 , Cs4 , v127 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , An3 , v072 + .byte W03 + .byte As3 , v080 + .byte W03 + .byte Cn4 , v092 + .byte W03 + .byte Cs4 , v096 + .byte W03 + .byte VOICE , 88 + .byte MOD , 0 + .byte VOL , 22*mus_rg_demo_mvl/mxv + .byte N96 , Dn4 , v127 + .byte W12 + .byte MOD , 5 + .byte VOL , 24*mus_rg_demo_mvl/mxv + .byte W06 + .byte 29*mus_rg_demo_mvl/mxv + .byte W06 + .byte 33*mus_rg_demo_mvl/mxv + .byte W06 + .byte 36*mus_rg_demo_mvl/mxv + .byte W09 + .byte 41*mus_rg_demo_mvl/mxv + .byte W06 + .byte 51*mus_rg_demo_mvl/mxv + .byte W03 + .byte 60*mus_rg_demo_mvl/mxv + .byte W06 + .byte 72*mus_rg_demo_mvl/mxv + .byte W09 + .byte 79*mus_rg_demo_mvl/mxv + .byte W32 + .byte W01 + .byte MOD , 0 + .byte PAN , c_v+0 + .byte VOL , 68*mus_rg_demo_mvl/mxv + .byte N03 , Dn5 + .byte W96 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_demo_3: + .byte KEYSH , mus_rg_demo_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-63 + .byte VOL , 56*mus_rg_demo_mvl/mxv + .byte BEND , c_v+1 + .byte W48 + .byte N03 , Dn2 , v127 + .byte W12 + .byte Dn2 , v100 + .byte W12 + .byte VOICE , 84 + .byte N12 , An2 , v127 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , Dn2 , v100 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte MOD , 0 + .byte N03 , Dn2 , v127 + .byte W12 + .byte Dn2 , v100 + .byte W12 + .byte VOICE , 84 + .byte N12 , An2 , v127 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , Dn2 , v100 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte MOD , 0 + .byte N03 , Dn2 , v127 + .byte W12 + .byte Dn2 , v100 + .byte W12 + .byte VOICE , 84 + .byte N12 , An2 , v127 + .byte W06 + .byte MOD , 5 + .byte W18 + .byte VOICE , 81 + .byte MOD , 0 + .byte N03 , Dn2 + .byte W12 + .byte N09 , Dn2 , v100 + .byte W12 + .byte VOICE , 84 + .byte N12 , Fs2 , v127 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N06 , Fn2 , v092 + .byte W06 + .byte En2 , v088 + .byte W06 + .byte VOICE , 81 + .byte MOD , 0 + .byte N03 , Dn2 , v127 + .byte W12 + .byte Dn2 , v096 + .byte W12 + .byte VOICE , 84 + .byte N12 , An2 , v127 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , Dn2 , v100 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte MOD , 0 + .byte N03 , Dn2 , v127 + .byte W12 + .byte N12 , Dn2 , v100 + .byte W12 + .byte VOICE , 84 + .byte N06 , As2 , v127 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , Fn2 , v080 + .byte W06 + .byte Gs2 + .byte W06 + .byte VOICE , 81 + .byte MOD , 0 + .byte VOL , 21*mus_rg_demo_mvl/mxv + .byte N48 , An3 , v100 + .byte W06 + .byte MOD , 5 + .byte VOL , 34*mus_rg_demo_mvl/mxv + .byte W06 + .byte 41*mus_rg_demo_mvl/mxv + .byte W06 + .byte 51*mus_rg_demo_mvl/mxv + .byte W06 + .byte 56*mus_rg_demo_mvl/mxv + .byte W24 + .byte VOICE , 82 + .byte MOD , 0 + .byte VOL , 21*mus_rg_demo_mvl/mxv + .byte N48 , Dn3 , v096 + .byte W06 + .byte MOD , 5 + .byte VOL , 34*mus_rg_demo_mvl/mxv + .byte W06 + .byte 41*mus_rg_demo_mvl/mxv + .byte W06 + .byte 51*mus_rg_demo_mvl/mxv + .byte W06 + .byte 56*mus_rg_demo_mvl/mxv + .byte W24 + .byte VOICE , 81 + .byte MOD , 0 + .byte VOL , 21*mus_rg_demo_mvl/mxv + .byte N48 , Gs3 + .byte W06 + .byte MOD , 5 + .byte VOL , 34*mus_rg_demo_mvl/mxv + .byte W06 + .byte 41*mus_rg_demo_mvl/mxv + .byte W06 + .byte 51*mus_rg_demo_mvl/mxv + .byte W06 + .byte 56*mus_rg_demo_mvl/mxv + .byte W24 + .byte VOICE , 82 + .byte MOD , 0 + .byte VOL , 21*mus_rg_demo_mvl/mxv + .byte N48 , Dn3 , v127 + .byte W06 + .byte MOD , 5 + .byte VOL , 34*mus_rg_demo_mvl/mxv + .byte W06 + .byte 41*mus_rg_demo_mvl/mxv + .byte W06 + .byte 51*mus_rg_demo_mvl/mxv + .byte W06 + .byte 68*mus_rg_demo_mvl/mxv + .byte W24 + .byte VOICE , 81 + .byte MOD , 0 + .byte VOL , 56*mus_rg_demo_mvl/mxv + .byte BEND , c_v+1 + .byte N03 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte VOICE , 84 + .byte N12 , An3 , v127 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , Dn3 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte MOD , 0 + .byte N03 , Dn3 , v127 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte VOICE , 84 + .byte N12 , As3 , v127 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , Dn3 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte MOD , 0 + .byte N03 , Dn3 , v127 + .byte W12 + .byte Dn3 , v100 + .byte W12 + .byte VOICE , 84 + .byte N12 , Cn4 , v127 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , Dn3 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte MOD , 0 + .byte N03 , Dn3 , v127 + .byte W12 + .byte Dn3 , v104 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 84 + .byte N12 , As3 , v127 + .byte W06 + .byte MOD , 5 + .byte W06 + .byte N03 , En4 , v056 + .byte W03 + .byte Fn4 , v060 + .byte W03 + .byte Fs4 , v068 + .byte W03 + .byte Gn4 , v072 + .byte W03 + .byte VOICE , 89 + .byte MOD , 0 + .byte VOL , 34*mus_rg_demo_mvl/mxv + .byte N96 , An4 , v127 + .byte W09 + .byte VOL , 40*mus_rg_demo_mvl/mxv + .byte W03 + .byte MOD , 5 + .byte W12 + .byte VOL , 47*mus_rg_demo_mvl/mxv + .byte W12 + .byte 52*mus_rg_demo_mvl/mxv + .byte W12 + .byte 58*mus_rg_demo_mvl/mxv + .byte W09 + .byte 69*mus_rg_demo_mvl/mxv + .byte W15 + .byte 79*mus_rg_demo_mvl/mxv + .byte W24 + .byte VOICE , 81 + .byte MOD , 0 + .byte VOL , 68*mus_rg_demo_mvl/mxv + .byte N03 , Dn3 + .byte W96 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_demo_4: + .byte KEYSH , mus_rg_demo_key+0 + .byte VOICE , 38 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_demo_mvl/mxv + .byte W48 + .byte N12 , Dn2 , v127 + .byte W12 + .byte N03 , An2 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 7 + .byte W06 + .byte N03 , An2 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N12 , Dn2 , v127 + .byte W12 + .byte N03 , As2 + .byte W12 + .byte N12 , An2 + .byte W06 + .byte MOD , 7 + .byte W06 + .byte N03 , An2 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N12 , Dn2 , v127 + .byte W12 + .byte N03 , An2 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 7 + .byte W06 + .byte N03 , An2 , v120 + .byte W12 + .byte MOD , 0 + .byte N12 , Dn2 , v127 + .byte W12 + .byte En2 + .byte W12 + .byte N18 , Cs3 + .byte W06 + .byte MOD , 7 + .byte W12 + .byte N06 , As2 , v120 + .byte W06 + .byte MOD , 0 + .byte N12 , Dn2 , v127 + .byte W12 + .byte N03 , An2 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 7 + .byte W06 + .byte N03 , An2 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N12 , Dn2 , v127 + .byte W12 + .byte Cs3 + .byte W12 + .byte As2 + .byte W06 + .byte MOD , 7 + .byte W06 + .byte N12 , Cs3 , v088 + .byte W12 + .byte MOD , 0 + .byte VOL , 72*mus_rg_demo_mvl/mxv + .byte N48 , An2 , v127 + .byte W06 + .byte MOD , 7 + .byte W42 + .byte 0 + .byte VOL , 89*mus_rg_demo_mvl/mxv + .byte N48 , Dn2 + .byte W06 + .byte MOD , 7 + .byte W42 + .byte 0 + .byte VOL , 72*mus_rg_demo_mvl/mxv + .byte N48 , Gs2 + .byte W06 + .byte MOD , 7 + .byte W42 + .byte 0 + .byte VOL , 90*mus_rg_demo_mvl/mxv + .byte N24 , Cn2 + .byte W06 + .byte MOD , 7 + .byte W42 + .byte 0 + .byte VOL , 90*mus_rg_demo_mvl/mxv + .byte N12 , Dn2 + .byte W12 + .byte N03 , An2 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 7 + .byte W06 + .byte N06 , An2 , v120 + .byte W06 + .byte Fn2 + .byte W06 + .byte MOD , 0 + .byte N12 , Dn2 , v127 + .byte W12 + .byte N03 , As2 + .byte W12 + .byte N12 , An2 + .byte W06 + .byte MOD , 7 + .byte W06 + .byte N03 , An2 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N12 , Dn2 , v127 + .byte W12 + .byte N03 , Cn3 + .byte W12 + .byte N12 , As2 + .byte W06 + .byte MOD , 7 + .byte W06 + .byte N03 , As2 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N12 , Dn2 , v127 + .byte W12 + .byte Cn3 + .byte W12 + .byte As2 + .byte W06 + .byte MOD , 7 + .byte W06 + .byte N06 , En3 , v100 + .byte W06 + .byte Fn3 , v108 + .byte W06 + .byte MOD , 0 + .byte N96 , Fs3 , v127 + .byte W12 + .byte MOD , 7 + .byte W84 + .byte 0 + .byte N06 , Dn2 + .byte W96 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_demo_5: + .byte KEYSH , mus_rg_demo_key+0 + .byte VOICE , 29 + .byte LFOS , 54 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 65*mus_rg_demo_mvl/mxv + .byte W48 + .byte MOD , 0 + .byte N03 , Dn3 , v127 + .byte W12 + .byte N09 , Dn3 , v100 + .byte W12 + .byte N12 , An3 , v104 + .byte W12 + .byte MOD , 14 + .byte N03 , Dn3 , v120 + .byte W06 + .byte Dn3 , v104 + .byte W06 + .byte MOD , 0 + .byte N03 , Dn3 , v127 + .byte W12 + .byte N09 , Dn3 , v100 + .byte W12 + .byte N12 , As3 , v108 + .byte W12 + .byte MOD , 14 + .byte W06 + .byte N03 , Dn3 , v096 + .byte W06 + .byte MOD , 0 + .byte N03 , Dn3 , v127 + .byte W12 + .byte N09 , Dn3 , v100 + .byte W12 + .byte N12 , An3 , v108 + .byte W12 + .byte MOD , 14 + .byte N03 , Dn3 , v120 + .byte W06 + .byte Dn3 , v092 + .byte W06 + .byte MOD , 0 + .byte N03 , Dn3 , v127 + .byte W12 + .byte N12 , Dn3 , v100 + .byte W12 + .byte Fs3 , v108 + .byte W12 + .byte N06 , Fn3 , v092 + .byte W06 + .byte En3 , v088 + .byte W06 + .byte N03 , Dn3 , v127 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W12 + .byte N12 , An3 , v112 + .byte W12 + .byte MOD , 14 + .byte N03 , Dn3 , v120 + .byte W06 + .byte Dn3 , v092 + .byte W06 + .byte MOD , 0 + .byte N03 , Dn3 , v127 + .byte W12 + .byte N06 , Dn3 , v100 + .byte W12 + .byte N12 , Cs4 , v112 + .byte W12 + .byte N06 , An3 , v088 + .byte W06 + .byte Cs4 , v092 + .byte W06 + .byte VOICE , 30 + .byte VOL , 56*mus_rg_demo_mvl/mxv + .byte PAN , c_v+32 + .byte N48 , Dn4 , v108 + .byte W12 + .byte MOD , 8 + .byte W06 + .byte PAN , c_v+0 + .byte W06 + .byte c_v-16 + .byte W06 + .byte c_v-32 + .byte W18 + .byte MOD , 0 + .byte N48 , Dn3 , v100 + .byte W12 + .byte MOD , 8 + .byte W06 + .byte PAN , c_v+0 + .byte W06 + .byte c_v+16 + .byte W06 + .byte c_v+32 + .byte W18 + .byte MOD , 0 + .byte N48 , Cn4 , v104 + .byte W12 + .byte MOD , 8 + .byte W06 + .byte PAN , c_v+0 + .byte W06 + .byte c_v-16 + .byte W06 + .byte c_v-32 + .byte W18 + .byte MOD , 0 + .byte VOL , 28*mus_rg_demo_mvl/mxv + .byte N48 , Cn3 , v096 + .byte W02 + .byte VOL , 32*mus_rg_demo_mvl/mxv + .byte W01 + .byte PAN , c_v-27 + .byte W02 + .byte c_v-20 + .byte VOL , 35*mus_rg_demo_mvl/mxv + .byte W03 + .byte PAN , c_v-14 + .byte VOL , 38*mus_rg_demo_mvl/mxv + .byte W04 + .byte MOD , 8 + .byte PAN , c_v-10 + .byte VOL , 41*mus_rg_demo_mvl/mxv + .byte W02 + .byte PAN , c_v-5 + .byte VOL , 47*mus_rg_demo_mvl/mxv + .byte W03 + .byte PAN , c_v+5 + .byte VOL , 54*mus_rg_demo_mvl/mxv + .byte W03 + .byte PAN , c_v+10 + .byte VOL , 59*mus_rg_demo_mvl/mxv + .byte W04 + .byte PAN , c_v+15 + .byte W02 + .byte c_v+19 + .byte W22 + .byte VOICE , 62 + .byte MOD , 0 + .byte PAN , c_v+0 + .byte VOL , 62*mus_rg_demo_mvl/mxv + .byte N03 , Dn4 , v127 + .byte W12 + .byte N09 , Dn4 , v100 + .byte W12 + .byte N12 , An4 , v127 + .byte W06 + .byte MOD , 15 + .byte W06 + .byte 0 + .byte N03 , Dn4 , v120 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte Dn4 , v127 + .byte W12 + .byte N06 , Dn4 , v100 + .byte W12 + .byte N12 , As4 , v127 + .byte W06 + .byte MOD , 15 + .byte W06 + .byte 0 + .byte N03 , Dn4 , v120 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte Dn4 , v127 + .byte W12 + .byte N06 , Dn4 , v100 + .byte W12 + .byte MOD , 0 + .byte N24 , Cn5 , v127 + .byte W06 + .byte MOD , 10 + .byte W18 + .byte 0 + .byte N03 , Dn4 + .byte W12 + .byte Dn4 , v120 + .byte W06 + .byte Dn4 , v088 + .byte W06 + .byte N12 , Cs5 , v127 + .byte W06 + .byte MOD , 15 + .byte W06 + .byte VOICE , 62 + .byte MOD , 0 + .byte N03 , An4 , v072 + .byte W03 + .byte As4 , v080 + .byte W03 + .byte Cn5 , v092 + .byte W03 + .byte Cs5 , v096 + .byte W03 + .byte VOL , 20*mus_rg_demo_mvl/mxv + .byte N96 , Dn5 , v127 + .byte W06 + .byte VOL , 24*mus_rg_demo_mvl/mxv + .byte W09 + .byte 33*mus_rg_demo_mvl/mxv + .byte W06 + .byte 37*mus_rg_demo_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W03 + .byte VOL , 43*mus_rg_demo_mvl/mxv + .byte W09 + .byte 49*mus_rg_demo_mvl/mxv + .byte W06 + .byte 56*mus_rg_demo_mvl/mxv + .byte W09 + .byte 68*mus_rg_demo_mvl/mxv + .byte W06 + .byte 75*mus_rg_demo_mvl/mxv + .byte W06 + .byte 79*mus_rg_demo_mvl/mxv + .byte W32 + .byte W01 + .byte VOICE , 1 + .byte MOD , 0 + .byte N03 , Dn5 , v100 + .byte W96 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_demo_6: + .byte KEYSH , mus_rg_demo_key+0 + .byte VOICE , 62 + .byte PAN , c_v-8 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 62*mus_rg_demo_mvl/mxv + .byte W48 + .byte PAN , c_v-48 + .byte N24 , Dn2 , v120 + .byte W24 + .byte PAN , c_v+0 + .byte N24 , Dn3 , v124 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Dn2 , v120 + .byte W24 + .byte PAN , c_v+0 + .byte N24 , Ds3 , v124 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Dn2 , v120 + .byte W24 + .byte PAN , c_v+0 + .byte N24 , Dn3 , v127 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Dn2 , v120 + .byte W24 + .byte PAN , c_v+0 + .byte N24 , As2 , v127 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Dn2 , v120 + .byte W24 + .byte PAN , c_v+0 + .byte N24 , Dn3 , v127 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Dn2 , v120 + .byte W24 + .byte PAN , c_v-1 + .byte N24 , Gn3 , v124 + .byte W24 + .byte PAN , c_v-48 + .byte VOL , 56*mus_rg_demo_mvl/mxv + .byte N12 , Dn3 , v120 + .byte W12 + .byte N03 , En3 , v088 + .byte W03 + .byte Gn3 , v092 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , An3 , v100 + .byte W03 + .byte Cn4 + .byte W03 + .byte PAN , c_v+48 + .byte N24 , Dn4 , v108 + .byte W24 + .byte N48 , Dn2 + .byte W48 + .byte N12 , Cn3 , v112 + .byte W12 + .byte N03 , En3 , v080 + .byte W03 + .byte Gn3 , v088 + .byte W03 + .byte An3 , v092 + .byte W03 + .byte Bn3 , v100 + .byte W03 + .byte PAN , c_v-48 + .byte N24 , Cn4 , v108 + .byte W24 + .byte VOL , 29*mus_rg_demo_mvl/mxv + .byte N48 , Cn2 , v127 + .byte W02 + .byte VOL , 34*mus_rg_demo_mvl/mxv + .byte W03 + .byte 38*mus_rg_demo_mvl/mxv + .byte W01 + .byte PAN , c_v-32 + .byte W02 + .byte VOL , 44*mus_rg_demo_mvl/mxv + .byte W04 + .byte 52*mus_rg_demo_mvl/mxv + .byte PAN , c_v-16 + .byte W02 + .byte VOL , 52*mus_rg_demo_mvl/mxv + .byte W01 + .byte 59*mus_rg_demo_mvl/mxv + .byte W02 + .byte 58*mus_rg_demo_mvl/mxv + .byte W01 + .byte 65*mus_rg_demo_mvl/mxv + .byte PAN , c_v+16 + .byte W02 + .byte VOL , 59*mus_rg_demo_mvl/mxv + .byte W01 + .byte 70*mus_rg_demo_mvl/mxv + .byte W03 + .byte PAN , c_v+34 + .byte W06 + .byte c_v+41 + .byte W18 + .byte VOICE , 62 + .byte VOL , 59*mus_rg_demo_mvl/mxv + .byte N24 , Dn2 , v120 + .byte W24 + .byte PAN , c_v-1 + .byte N24 , Dn4 , v104 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Dn2 , v120 + .byte W24 + .byte PAN , c_v-1 + .byte N24 , Ds4 , v104 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Dn2 , v120 + .byte W24 + .byte PAN , c_v+0 + .byte N24 , Fn4 , v104 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Dn2 , v120 + .byte W24 + .byte PAN , c_v-1 + .byte N24 , Gn4 , v100 + .byte W24 + .byte PAN , c_v+0 + .byte VOL , 29*mus_rg_demo_mvl/mxv + .byte N96 , Dn3 , v120 + .byte W06 + .byte VOL , 34*mus_rg_demo_mvl/mxv + .byte W06 + .byte 37*mus_rg_demo_mvl/mxv + .byte W06 + .byte 41*mus_rg_demo_mvl/mxv + .byte W06 + .byte 45*mus_rg_demo_mvl/mxv + .byte W06 + .byte 48*mus_rg_demo_mvl/mxv + .byte W06 + .byte 51*mus_rg_demo_mvl/mxv + .byte W06 + .byte 55*mus_rg_demo_mvl/mxv + .byte W06 + .byte 56*mus_rg_demo_mvl/mxv + .byte W06 + .byte 62*mus_rg_demo_mvl/mxv + .byte W06 + .byte 65*mus_rg_demo_mvl/mxv + .byte W06 + .byte 70*mus_rg_demo_mvl/mxv + .byte W09 + .byte 73*mus_rg_demo_mvl/mxv + .byte W06 + .byte 77*mus_rg_demo_mvl/mxv + .byte W06 + .byte 78*mus_rg_demo_mvl/mxv + .byte W09 + .byte 79*mus_rg_demo_mvl/mxv + .byte N03 , Dn5 , v108 + .byte W96 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_demo_7: + .byte KEYSH , mus_rg_demo_key+0 + .byte VOICE , 0 + .byte PAN , c_v-64 + .byte VOL , 11*mus_rg_demo_mvl/mxv + .byte N03 , En1 , v112 + .byte W03 + .byte PAN , c_v+63 + .byte VOL , 17*mus_rg_demo_mvl/mxv + .byte N03 + .byte W03 + .byte PAN , c_v-64 + .byte VOL , 22*mus_rg_demo_mvl/mxv + .byte N03 + .byte W03 + .byte PAN , c_v+63 + .byte VOL , 27*mus_rg_demo_mvl/mxv + .byte N03 + .byte W03 + .byte PAN , c_v-64 + .byte VOL , 34*mus_rg_demo_mvl/mxv + .byte N03 + .byte W03 + .byte PAN , c_v+63 + .byte VOL , 38*mus_rg_demo_mvl/mxv + .byte N03 + .byte W03 + .byte PAN , c_v-64 + .byte VOL , 45*mus_rg_demo_mvl/mxv + .byte N03 + .byte W03 + .byte PAN , c_v+63 + .byte VOL , 49*mus_rg_demo_mvl/mxv + .byte N03 + .byte W03 + .byte PAN , c_v-64 + .byte VOL , 56*mus_rg_demo_mvl/mxv + .byte N03 + .byte W03 + .byte PAN , c_v+63 + .byte VOL , 62*mus_rg_demo_mvl/mxv + .byte N03 + .byte W03 + .byte PAN , c_v-64 + .byte VOL , 68*mus_rg_demo_mvl/mxv + .byte N03 + .byte W03 + .byte PAN , c_v+63 + .byte VOL , 73*mus_rg_demo_mvl/mxv + .byte N03 + .byte W03 + .byte PAN , c_v-64 + .byte VOL , 79*mus_rg_demo_mvl/mxv + .byte N03 + .byte W03 + .byte PAN , c_v+63 + .byte VOL , 85*mus_rg_demo_mvl/mxv + .byte N03 + .byte W03 + .byte PAN , c_v-64 + .byte VOL , 90*mus_rg_demo_mvl/mxv + .byte N03 + .byte W03 + .byte PAN , c_v+63 + .byte N03 + .byte W03 + .byte VOL , 90*mus_rg_demo_mvl/mxv + .byte PAN , c_v+0 + .byte N09 , Fn1 , v127 + .byte N24 , An2 , v112 + .byte W12 + .byte N06 , Cn1 , v127 + .byte W12 + .byte N12 , Dn1 , v100 + .byte N48 , En2 , v112 + .byte W18 + .byte N03 , En1 , v096 + .byte W03 + .byte En1 , v100 + .byte W03 + .byte N06 , En1 , v127 + .byte W12 + .byte Cn1 + .byte W12 + .byte N12 , Dn1 , v100 + .byte N24 , Cs2 , v112 + .byte W12 + .byte N03 , En1 , v100 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte N48 , Gn2 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N12 , Dn1 , v088 + .byte W12 + .byte N06 , Cn1 , v096 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte Fn1 , v112 + .byte W12 + .byte Dn1 , v127 + .byte N24 , An2 + .byte W12 + .byte N06 , Cn1 , v112 + .byte N06 , Dn1 , v072 + .byte W06 + .byte N03 , Dn1 , v108 + .byte W06 + .byte N10 , Cn1 , v112 + .byte N24 , Cs2 , v108 + .byte W12 + .byte N06 , Cn1 , v112 + .byte W12 + .byte N12 , Dn1 , v124 + .byte W12 + .byte N06 , Cn1 , v112 + .byte W12 + .byte N12 , Dn1 + .byte N24 , Gn2 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N12 , Dn1 + .byte N24 , Bn2 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N04 , Cn1 , v127 + .byte N04 , Bn1 , v112 + .byte W16 + .byte Cn1 , v084 + .byte N08 , Fn1 , v127 + .byte W08 + .byte N04 , Cn1 + .byte N04 , Dn2 , v112 + .byte W08 + .byte Cn1 , v080 + .byte N04 , Bn1 , v112 + .byte W04 + .byte Cn1 , v076 + .byte N04 , An1 , v084 + .byte W04 + .byte Cn1 , v100 + .byte N08 , Fn1 , v127 + .byte W08 + .byte N04 , Cn1 , v112 + .byte N15 , En2 , v127 + .byte W16 + .byte N24 , Dn1 + .byte W08 + .byte N08 , Cn1 + .byte W16 + .byte Cn1 , v112 + .byte W08 + .byte Dn1 , v127 + .byte N16 , Cs2 + .byte W08 + .byte N04 , Cn1 , v112 + .byte W08 + .byte N08 + .byte N04 , An1 + .byte W04 + .byte An1 , v084 + .byte W04 + .byte N08 , Cn1 , v127 + .byte N04 , Cn2 , v104 + .byte W08 + .byte An1 + .byte W04 + .byte Gn1 , v120 + .byte W04 + .byte Cn1 , v127 + .byte N04 , Fn1 + .byte W04 + .byte Fn1 , v120 + .byte W04 + .byte VOL , 90*mus_rg_demo_mvl/mxv + .byte N08 , Cn1 , v127 + .byte N04 , Cn2 , v104 + .byte W08 + .byte An1 + .byte W04 + .byte Gn1 , v100 + .byte W04 + .byte LFOS , 44 + .byte BENDR , 12 + .byte N04 , Cn1 , v120 + .byte N04 , Fn1 , v127 + .byte W04 + .byte Fn1 , v120 + .byte W04 + .byte N08 , Cn1 , v112 + .byte N16 , Dn1 , v127 + .byte N24 , Bn2 + .byte W16 + .byte N04 , Cn1 + .byte N04 , Dn1 , v100 + .byte W08 + .byte N06 , Cn1 , v127 + .byte N96 , Cs2 , v120 + .byte W12 + .byte N06 , Cn1 , v112 + .byte W12 + .byte N12 , Dn1 , v127 + .byte W12 + .byte N06 , Cn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 , v127 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Dn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N48 , En2 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N12 , Dn1 , v127 + .byte W12 + .byte N06 , Cn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v127 + .byte N12 , Gn2 + .byte W12 + .byte N06 , Cn1 + .byte N12 , Cs2 , v108 + .byte W12 + .byte N06 , Dn1 , v120 + .byte N24 , An2 + .byte W06 + .byte N06 , Dn1 + .byte W06 + .byte Cn1 + .byte N06 , Dn1 , v127 + .byte W06 + .byte N06 + .byte W06 + .byte VOL , 45*mus_rg_demo_mvl/mxv + .byte N06 , Dn1 , v120 + .byte N96 , Cn3 , v104 + .byte W06 + .byte VOL , 53*mus_rg_demo_mvl/mxv + .byte W06 + .byte 59*mus_rg_demo_mvl/mxv + .byte W03 + .byte 66*mus_rg_demo_mvl/mxv + .byte W03 + .byte 75*mus_rg_demo_mvl/mxv + .byte W03 + .byte 78*mus_rg_demo_mvl/mxv + .byte W03 + .byte 82*mus_rg_demo_mvl/mxv + .byte W03 + .byte 85*mus_rg_demo_mvl/mxv + .byte W03 + .byte 90*mus_rg_demo_mvl/mxv + .byte W42 + .byte N03 , Dn2 , v120 + .byte W03 + .byte Cn2 + .byte W03 + .byte An1 + .byte W03 + .byte Fs1 + .byte W03 + .byte Fn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn1 + .byte W96 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_demo_8: + .byte KEYSH , mus_rg_demo_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 68*mus_rg_demo_mvl/mxv + .byte N03 , Gn4 , v127 + .byte W03 + .byte Gn4 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PAN , c_v+0 + .byte N12 , Gn4 , v127 + .byte W12 + .byte N12 + .byte W12 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte Gn4 , v112 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Gn4 , v127 + .byte W12 + .byte N12 + .byte W12 + .byte N24 + .byte W24 +mus_rg_demo_8_000: + .byte N12 , Gn4 , v127 + .byte W12 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte Gn4 , v112 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND + .byte N12 , Gn4 , v127 + .byte W12 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N03 + .byte W03 + .byte Gn4 , v112 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N48 , Gn4 , v127 + .byte W48 + .byte N48 + .byte W48 + .byte N48 + .byte W48 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte Gn4 , v112 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PATT + .word mus_rg_demo_8_000 + .byte N12 , Gn4 , v127 + .byte W12 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte VOICE , 125 + .byte BEND , c_v-64 + .byte TIE , Cn4 , v112 + .byte W03 + .byte BEND , c_v-64 + .byte W06 + .byte c_v-62 + .byte W03 + .byte c_v-59 + .byte W03 + .byte c_v-57 + .byte W06 + .byte c_v-53 + .byte W03 + .byte c_v-49 + .byte W06 + .byte c_v-47 + .byte W03 + .byte c_v-43 + .byte W03 + .byte c_v-39 + .byte W06 + .byte c_v-36 + .byte W03 + .byte c_v-31 + .byte W06 + .byte c_v-25 + .byte W03 + .byte c_v-19 + .byte W03 + .byte c_v-14 + .byte W03 + .byte c_v-9 + .byte W03 + .byte c_v-6 + .byte W03 + .byte c_v-1 + .byte W03 + .byte c_v+3 + .byte W03 + .byte c_v+12 + .byte W03 + .byte c_v+20 + .byte W03 + .byte c_v+28 + .byte W03 + .byte c_v+37 + .byte W03 + .byte c_v+43 + .byte W03 + .byte c_v+53 + .byte W03 + .byte c_v+57 + .byte W03 + .byte c_v+63 + .byte W03 + .byte VOL , 66*mus_rg_demo_mvl/mxv + .byte W02 + .byte 63*mus_rg_demo_mvl/mxv + .byte W03 + .byte 60*mus_rg_demo_mvl/mxv + .byte W03 + .byte 56*mus_rg_demo_mvl/mxv + .byte W04 + .byte EOT + .byte VOL , 55*mus_rg_demo_mvl/mxv + .byte W02 + .byte 53*mus_rg_demo_mvl/mxv + .byte W03 + .byte 50*mus_rg_demo_mvl/mxv + .byte W03 + .byte 48*mus_rg_demo_mvl/mxv + .byte W04 + .byte 47*mus_rg_demo_mvl/mxv + .byte W02 + .byte 45*mus_rg_demo_mvl/mxv + .byte W03 + .byte 42*mus_rg_demo_mvl/mxv + .byte W03 + .byte 40*mus_rg_demo_mvl/mxv + .byte W04 + .byte 39*mus_rg_demo_mvl/mxv + .byte W02 + .byte 36*mus_rg_demo_mvl/mxv + .byte W03 + .byte 31*mus_rg_demo_mvl/mxv + .byte W03 + .byte 31*mus_rg_demo_mvl/mxv + .byte W04 + .byte 29*mus_rg_demo_mvl/mxv + .byte W02 + .byte 26*mus_rg_demo_mvl/mxv + .byte W03 + .byte 25*mus_rg_demo_mvl/mxv + .byte W03 + .byte 21*mus_rg_demo_mvl/mxv + .byte W04 + .byte 21*mus_rg_demo_mvl/mxv + .byte W02 + .byte 19*mus_rg_demo_mvl/mxv + .byte W03 + .byte 17*mus_rg_demo_mvl/mxv + .byte W03 + .byte 15*mus_rg_demo_mvl/mxv + .byte W04 + .byte 13*mus_rg_demo_mvl/mxv + .byte W02 + .byte 12*mus_rg_demo_mvl/mxv + .byte W03 + .byte 9*mus_rg_demo_mvl/mxv + .byte W03 + .byte 7*mus_rg_demo_mvl/mxv + .byte W04 + .byte 2*mus_rg_demo_mvl/mxv + .byte W02 + .byte 0*mus_rg_demo_mvl/mxv + .byte W10 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_demo: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_demo_pri @ Priority + .byte mus_rg_demo_rev @ Reverb. + + .word mus_rg_demo_grp + + .word mus_rg_demo_1 + .word mus_rg_demo_2 + .word mus_rg_demo_3 + .word mus_rg_demo_4 + .word mus_rg_demo_5 + .word mus_rg_demo_6 + .word mus_rg_demo_7 + .word mus_rg_demo_8 + + .end diff --git a/sound/songs/mus_rg_dendou.s b/sound/songs/mus_rg_dendou.s new file mode 100644 index 0000000000..4ca64d8dfd --- /dev/null +++ b/sound/songs/mus_rg_dendou.s @@ -0,0 +1,1941 @@ + .include "MPlayDef.s" + + .equ mus_rg_dendou_grp, voicegroup_86A57F4 + .equ mus_rg_dendou_pri, 0 + .equ mus_rg_dendou_rev, reverb_set+50 + .equ mus_rg_dendou_mvl, 127 + .equ mus_rg_dendou_key, 0 + .equ mus_rg_dendou_tbs, 1 + .equ mus_rg_dendou_exg, 0 + .equ mus_rg_dendou_cmp, 1 + + .section .rodata + .global mus_rg_dendou + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_dendou_1: + .byte KEYSH , mus_rg_dendou_key+0 + .byte TEMPO , 152*mus_rg_dendou_tbs/2 + .byte VOICE , 17 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 51*mus_rg_dendou_mvl/mxv + .byte W96 +mus_rg_dendou_1_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte N06 , Dn4 , v127 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N96 , Cn5 + .byte W96 + .byte En5 + .byte W96 + .byte Fs5 + .byte W96 + .byte Fn5 + .byte W96 + .byte Cn5 + .byte W96 + .byte En5 + .byte W96 + .byte Fs5 + .byte W96 + .byte N72 , Fn5 + .byte W72 + .byte N06 , Bn4 , v120 + .byte W06 + .byte Dn5 + .byte W06 + .byte Gn5 + .byte W06 + .byte An5 + .byte W06 + .byte N92 , Bn5 , v127 + .byte W92 + .byte W01 + .byte N03 , As5 , v120 + .byte W03 + .byte N90 , An5 , v127 + .byte W90 + .byte N03 , As5 , v120 + .byte W03 + .byte Bn5 + .byte W03 + .byte N90 , Cn6 , v127 + .byte W90 + .byte N03 , Cs6 , v120 + .byte W03 + .byte Dn6 + .byte W03 + .byte N36 , Ds6 , v127 + .byte W36 + .byte N32 , Dn6 , v120 + .byte W32 + .byte W01 + .byte N03 , Cs6 , v108 + .byte W03 + .byte N24 , Cn6 , v120 + .byte W24 + .byte W96 + .byte GOTO + .word mus_rg_dendou_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_dendou_2: + .byte KEYSH , mus_rg_dendou_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 79*mus_rg_dendou_mvl/mxv + .byte W84 + .byte N06 , Fn3 , v064 + .byte W06 + .byte Fs3 , v096 + .byte W06 +mus_rg_dendou_2_B1: + .byte VOL , 79*mus_rg_dendou_mvl/mxv + .byte N12 , Gn3 , v127 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N30 , An3 + .byte W12 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N03 , Dn4 , v088 + .byte W06 + .byte N12 , Dn3 , v120 + .byte W12 + .byte N06 , En3 , v092 + .byte W06 + .byte N03 , Fs3 , v108 + .byte W06 + .byte N12 , Gn3 , v127 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N03 , Gn4 , v092 + .byte W06 + .byte N06 , An3 , v127 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , An3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , An3 , v120 + .byte W12 + .byte Dn3 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte N03 , Dn4 , v088 + .byte W06 + .byte N12 , Fn3 , v127 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , As3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , An3 + .byte W12 + .byte N03 , Fn3 + .byte W06 + .byte Fn3 , v092 + .byte W06 + .byte N06 , En3 + .byte W06 + .byte Fn3 , v127 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N60 , An3 + .byte W12 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte N12 , Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N54 , An3 + .byte W12 + .byte MOD , 7 + .byte W42 + .byte N03 , Gn4 , v072 + .byte W06 + .byte MOD , 0 + .byte N12 , Fn3 , v127 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , As3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , An3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Fn3 + .byte W12 + .byte Gn4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Dn4 , v120 + .byte W06 + .byte N12 , Gn4 , v127 + .byte W12 + .byte N60 , An4 + .byte W12 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte N12 , Gn4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Dn4 , v120 + .byte W06 + .byte N12 , Gn4 , v127 + .byte W12 + .byte N24 , Cn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , An4 + .byte W12 + .byte MOD , 0 + .byte N12 , Gn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N60 , An4 + .byte W12 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte N12 , Fn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N24 , As4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , An4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N60 , An4 + .byte W60 + .byte N12 , Gn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N24 , Cn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , An4 + .byte W12 + .byte MOD , 0 + .byte N12 , Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N60 , An4 + .byte W12 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte N03 , Gn4 , v044 + .byte W12 + .byte Gn4 , v056 + .byte W12 + .byte Gn4 , v064 + .byte W12 + .byte Gn4 , v127 + .byte W12 + .byte MOD , 7 + .byte N24 + .byte W12 + .byte MOD , 0 + .byte W12 + .byte 7 + .byte N24 , An4 + .byte W12 + .byte MOD , 0 + .byte W12 + .byte N03 , Dn4 , v120 + .byte W12 + .byte N12 + .byte W12 + .byte N03 , Bn4 + .byte W06 + .byte N06 , Dn4 + .byte W18 + .byte Cs4 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte N03 + .byte W18 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fs3 , v120 + .byte W06 + .byte GOTO + .word mus_rg_dendou_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_dendou_3: + .byte KEYSH , mus_rg_dendou_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-64 + .byte VOL , 50*mus_rg_dendou_mvl/mxv + .byte MOD , 1 + .byte BEND , c_v+0 + .byte W24 + .byte PAN , c_v+63 + .byte W24 + .byte c_v-64 + .byte W24 + .byte c_v+63 + .byte W24 +mus_rg_dendou_3_B1: +mus_rg_dendou_3_000: + .byte PAN , c_v-64 + .byte N12 , Dn2 , v127 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_dendou_3_000 + .byte PATT + .word mus_rg_dendou_3_000 + .byte PATT + .word mus_rg_dendou_3_000 + .byte PATT + .word mus_rg_dendou_3_000 + .byte PATT + .word mus_rg_dendou_3_000 + .byte PATT + .word mus_rg_dendou_3_000 + .byte PATT + .word mus_rg_dendou_3_000 + .byte PATT + .word mus_rg_dendou_3_000 + .byte PATT + .word mus_rg_dendou_3_000 + .byte PATT + .word mus_rg_dendou_3_000 + .byte PATT + .word mus_rg_dendou_3_000 + .byte PAN , c_v-64 + .byte N12 , Dn2 , v127 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Fn2 + .byte W12 + .byte Dn2 , v120 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn2 , v127 + .byte W12 + .byte Bn2 , v120 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn3 , v127 + .byte W12 + .byte Bn2 , v120 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn2 , v127 + .byte W12 + .byte Fn2 , v120 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cn3 , v127 + .byte W12 + .byte Gn2 , v120 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte Cn3 , v127 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En3 + .byte W12 + .byte Cn3 , v120 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn2 , v127 + .byte W12 + .byte N06 , En2 , v120 + .byte W06 + .byte Bn2 + .byte W06 + .byte PAN , c_v-64 + .byte N03 , Cn3 , v127 + .byte W06 + .byte Cn3 , v052 + .byte W06 + .byte Gn2 , v127 + .byte W06 + .byte Gn2 , v048 + .byte W06 + .byte Cn3 , v120 + .byte W06 + .byte Cn3 , v048 + .byte W06 + .byte Ds3 , v120 + .byte W06 + .byte Ds3 , v048 + .byte W06 + .byte N12 , Fs3 , v120 + .byte W12 + .byte Dn3 + .byte W12 + .byte N06 , Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte An2 + .byte W06 + .byte Fs2 + .byte W06 + .byte W96 + .byte GOTO + .word mus_rg_dendou_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_dendou_4: + .byte KEYSH , mus_rg_dendou_key+0 + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 68*mus_rg_dendou_mvl/mxv + .byte W72 + .byte BEND , c_v+63 + .byte N24 , Dn2 , v120 + .byte W03 + .byte BEND , c_v+48 + .byte W03 + .byte c_v+32 + .byte W03 + .byte c_v+16 + .byte W03 + .byte c_v+0 + .byte W03 + .byte c_v-16 + .byte W03 + .byte c_v-64 + .byte W06 +mus_rg_dendou_4_B1: + .byte BEND , c_v+0 + .byte N09 , Gn1 , v124 + .byte W18 + .byte N03 , Gn1 , v116 + .byte W06 + .byte N06 , Gn1 , v120 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Dn1 + .byte W06 + .byte N03 + .byte W06 + .byte Gn1 + .byte W06 + .byte Dn1 , v096 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 +mus_rg_dendou_4_000: + .byte N09 , Gn1 , v124 + .byte W18 + .byte N03 , Gn1 , v116 + .byte W06 + .byte N06 , Gn1 , v120 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte PEND +mus_rg_dendou_4_001: + .byte N09 , Gn1 , v124 + .byte W18 + .byte N03 , Gn1 , v116 + .byte W06 + .byte N06 , Gn1 , v120 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Dn1 + .byte W06 + .byte N03 + .byte W06 + .byte Gn1 + .byte W06 + .byte Dn1 , v096 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_dendou_4_000 + .byte N03 , Gn1 , v124 + .byte W18 + .byte Gn1 , v116 + .byte W06 + .byte N06 , Gn1 , v120 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Dn1 + .byte W06 + .byte N03 + .byte W06 + .byte Gn1 + .byte W06 + .byte Dn1 , v096 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte PATT + .word mus_rg_dendou_4_000 + .byte PATT + .word mus_rg_dendou_4_001 + .byte N09 , Gn1 , v124 + .byte W18 + .byte N03 , Gn1 , v116 + .byte W06 + .byte N06 , Gn1 , v120 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N09 , Gn1 , v124 + .byte W18 + .byte N03 , An2 , v116 + .byte W06 + .byte N12 , An2 , v120 + .byte W18 + .byte N03 , Gn1 + .byte W06 + .byte N06 + .byte W12 + .byte Dn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn2 + .byte W06 + .byte N03 , Dn1 , v096 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte N09 , Gn1 , v124 + .byte W18 + .byte N03 , Gn2 , v116 + .byte W06 + .byte N12 , Gn2 , v120 + .byte W18 + .byte N03 , Gn1 + .byte W06 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N12 , Fn2 + .byte W12 + .byte N06 , Gn2 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N09 , Gn1 , v124 + .byte W18 + .byte N03 , An2 , v116 + .byte W06 + .byte N12 , An2 , v120 + .byte W18 + .byte N03 , Gn1 + .byte W06 + .byte N06 + .byte W12 + .byte Dn1 + .byte W06 + .byte N03 + .byte W06 + .byte Gn1 + .byte W06 + .byte Dn1 , v096 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte N09 , Gn1 , v124 + .byte W18 + .byte N03 , An2 , v116 + .byte W06 + .byte N12 , An2 , v120 + .byte W18 + .byte N03 , Gn1 + .byte W06 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N06 , Gn2 + .byte W06 + .byte N03 , An2 + .byte W06 + .byte N06 , Fn2 + .byte W06 + .byte N03 , Dn2 + .byte W03 + .byte Cn2 + .byte W03 + .byte N24 , Gn1 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Gn1 , v084 + .byte W12 + .byte Gn1 , v060 + .byte W12 + .byte Gn1 , v040 + .byte W12 + .byte N24 , Fn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Fn1 , v084 + .byte W12 + .byte Fn1 , v060 + .byte W12 + .byte Fn1 , v040 + .byte W12 + .byte N24 , En1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte En1 , v084 + .byte W12 + .byte En1 , v060 + .byte W12 + .byte En1 , v040 + .byte W12 + .byte BEND , c_v+0 + .byte N06 , Ds1 , v052 + .byte W12 + .byte Ds1 , v056 + .byte W12 + .byte Ds1 , v096 + .byte W12 + .byte Ds1 , v120 + .byte W12 + .byte N24 , Dn1 + .byte W24 + .byte N06 , Dn2 + .byte W12 + .byte N06 + .byte W12 + .byte N09 , Gn1 , v124 + .byte W18 + .byte N03 , Gn1 , v116 + .byte W06 + .byte N06 , Gn1 , v120 + .byte W18 + .byte N03 + .byte W06 + .byte BEND , c_v+63 + .byte N24 , Dn3 + .byte W03 + .byte BEND , c_v+48 + .byte W03 + .byte c_v+32 + .byte W03 + .byte c_v+16 + .byte W03 + .byte c_v+0 + .byte W03 + .byte c_v-16 + .byte W03 + .byte c_v-64 + .byte W06 + .byte c_v+63 + .byte N24 , Dn2 , v127 + .byte W03 + .byte BEND , c_v+48 + .byte W03 + .byte c_v+32 + .byte W03 + .byte c_v+16 + .byte W03 + .byte c_v+0 + .byte W03 + .byte c_v-16 + .byte W03 + .byte c_v-64 + .byte W06 + .byte GOTO + .word mus_rg_dendou_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_dendou_5: + .byte KEYSH , mus_rg_dendou_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+32 + .byte VOL , 62*mus_rg_dendou_mvl/mxv + .byte W84 + .byte N06 , Gn2 , v064 + .byte W06 + .byte An2 , v096 + .byte W06 +mus_rg_dendou_5_B1: + .byte VOL , 56*mus_rg_dendou_mvl/mxv + .byte N12 , Bn2 , v120 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte N30 , Dn3 + .byte W12 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N03 , Gn3 , v088 + .byte W06 + .byte N12 , Gn2 , v120 + .byte W12 + .byte N06 , Bn2 , v092 + .byte W06 + .byte N03 , Cn3 , v108 + .byte W06 + .byte N12 , Dn3 , v120 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte N24 , En3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Dn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N03 , An3 , v092 + .byte W06 + .byte N06 , Bn2 , v120 + .byte W06 + .byte N12 , Dn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Fs3 + .byte W24 + .byte N06 , Fn3 + .byte W06 + .byte N03 , An3 , v088 + .byte W06 + .byte N12 , Cn3 , v120 + .byte W12 + .byte Gn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , En3 + .byte W12 + .byte N03 , Cn3 + .byte W06 + .byte Cn3 , v092 + .byte W06 + .byte N06 , Bn2 + .byte W06 + .byte Cn3 , v120 + .byte W06 + .byte N18 , Dn4 + .byte W18 + .byte N06 , Gn3 + .byte W06 + .byte N03 , Dn4 + .byte W12 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte Cn4 , v096 + .byte W03 + .byte Cs4 + .byte W03 + .byte N12 , Dn4 , v120 + .byte W12 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N18 + .byte W18 + .byte N06 , Gn3 + .byte W06 + .byte N03 , Dn4 + .byte W12 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte N03 , Dn4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte N03 , Cn4 , v096 + .byte W03 + .byte Cs4 , v092 + .byte W03 + .byte N12 , Dn4 , v120 + .byte W18 + .byte N03 + .byte W06 + .byte N12 , Dn3 + .byte W18 + .byte N03 , Cn4 , v096 + .byte W03 + .byte Cs4 + .byte W03 + .byte N12 , Dn4 , v120 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N06 , Cs4 , v100 + .byte W06 + .byte N03 , Dn4 , v072 + .byte W06 + .byte N06 , Fn3 , v120 + .byte W06 + .byte N18 , Dn4 + .byte W30 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte VOL , 53*mus_rg_dendou_mvl/mxv + .byte N12 , An3 + .byte W18 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte Dn4 + .byte W24 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Bn3 + .byte W18 + .byte N03 + .byte W06 + .byte N12 , Gn3 + .byte W18 + .byte N03 + .byte W06 + .byte N12 , An3 + .byte W18 + .byte N03 + .byte W06 + .byte N06 , Dn4 + .byte W06 + .byte N03 , En4 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N12 , Cn4 + .byte W18 + .byte N03 + .byte W06 + .byte N12 , An3 + .byte W18 + .byte N03 + .byte W06 + .byte N12 , En4 + .byte W18 + .byte N03 + .byte W06 + .byte N12 , An3 + .byte W18 + .byte N03 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte N15 , Gn3 + .byte W24 + .byte N06 , Fs3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte VOL , 60*mus_rg_dendou_mvl/mxv + .byte N12 , Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte N60 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte N12 , Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte En4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N60 , En4 + .byte W12 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte N03 , Ds4 , v044 + .byte W12 + .byte Gn3 , v056 + .byte W12 + .byte Ds4 , v064 + .byte W12 + .byte Cn4 , v120 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N03 , Bn3 + .byte W12 + .byte N12 + .byte W12 + .byte N03 , Gn4 + .byte W06 + .byte N06 , An3 + .byte W18 + .byte As3 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N03 + .byte W18 + .byte N06 , Gn2 , v096 + .byte W06 + .byte An2 , v120 + .byte W06 + .byte GOTO + .word mus_rg_dendou_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_dendou_6: + .byte KEYSH , mus_rg_dendou_key+0 + .byte VOICE , 92 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 34*mus_rg_dendou_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte W84 + .byte N06 , Fn3 , v064 + .byte W06 + .byte Fs3 , v096 + .byte W06 +mus_rg_dendou_6_B1: + .byte N12 , Gn3 , v127 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N30 , An3 + .byte W30 + .byte N03 , Dn4 , v088 + .byte W06 + .byte N12 , Dn3 , v120 + .byte W12 + .byte N06 , En3 , v092 + .byte W06 + .byte N03 , Fs3 , v108 + .byte W06 + .byte N12 , Gn3 , v127 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte Bn3 + .byte W24 + .byte N03 , Gn4 , v092 + .byte W06 + .byte N06 , An3 , v127 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , An3 + .byte W24 + .byte N12 , An3 , v120 + .byte W12 + .byte Dn3 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte N03 , Dn4 , v088 + .byte W06 + .byte N12 , Fn3 , v127 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , As3 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte N03 , Fn3 + .byte W06 + .byte Fn3 , v092 + .byte W06 + .byte N06 , En3 + .byte W06 + .byte Fn3 , v127 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N60 , An3 + .byte W60 + .byte N12 , Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte Bn3 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N54 , An3 + .byte W60 + .byte N12 , Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , As3 + .byte W24 + .byte An3 + .byte W24 + .byte N06 , Fn3 + .byte W06 + .byte N03 , Fn4 , v084 + .byte W03 + .byte Fs4 , v096 + .byte W03 + .byte N12 , Gn4 , v127 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Dn4 , v120 + .byte W06 + .byte N12 , Gn4 , v127 + .byte W12 + .byte N60 , An4 + .byte W60 + .byte N12 , Gn4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Dn4 , v120 + .byte W06 + .byte N12 , Gn4 , v127 + .byte W12 + .byte N24 , Cn5 + .byte W24 + .byte Bn4 + .byte W24 + .byte N12 , An4 + .byte W12 +mus_rg_dendou_6_000: + .byte N12 , Gn4 , v127 + .byte W12 + .byte Dn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N60 , An4 + .byte W60 + .byte PEND + .byte N12 , Fn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N24 , As4 + .byte W24 + .byte An4 + .byte W24 + .byte N12 , Fn4 + .byte W12 + .byte PATT + .word mus_rg_dendou_6_000 + .byte N12 , Gn4 , v127 + .byte W12 + .byte Dn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N24 , Cn5 + .byte W24 + .byte Bn4 + .byte W24 + .byte N12 , An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N60 , An4 + .byte W60 + .byte N03 , Gn4 , v044 + .byte W12 + .byte Ds4 , v056 + .byte W12 + .byte Gn4 , v064 + .byte W12 + .byte Gn4 , v127 + .byte W09 + .byte N24 + .byte W24 + .byte W03 + .byte An4 + .byte W24 + .byte N03 , Dn4 , v120 + .byte W12 + .byte N12 + .byte W12 + .byte N03 , Bn4 + .byte W06 + .byte N06 , Dn4 + .byte W18 + .byte Cs4 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte N03 + .byte W18 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fs3 , v120 + .byte W06 + .byte GOTO + .word mus_rg_dendou_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_dendou_7: + .byte KEYSH , mus_rg_dendou_key+0 + .byte VOICE , 0 + .byte VOL , 73*mus_rg_dendou_mvl/mxv + .byte N06 , Cn2 , v120 + .byte N48 , Cs2 + .byte W06 + .byte N06 , Dn2 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte An1 + .byte W06 + .byte Cn2 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , Fn1 + .byte N24 , An2 + .byte W03 + .byte N03 , Fn1 + .byte W03 + .byte N06 , Gn1 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte En1 + .byte N24 , Gn2 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cn1 + .byte N06 , Fn1 + .byte W06 +mus_rg_dendou_7_B1: + .byte N18 , Cn1 , v120 + .byte N48 , Bn2 + .byte W18 + .byte N03 , Cn1 + .byte W06 + .byte N18 + .byte W18 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N09 + .byte W12 + .byte N06 + .byte W06 + .byte N18 + .byte W18 +mus_rg_dendou_7_000: + .byte N18 , Cn1 , v120 + .byte W18 + .byte N03 + .byte W06 + .byte N18 + .byte W18 + .byte N03 + .byte W06 + .byte N18 + .byte W18 + .byte N03 + .byte W06 + .byte N18 + .byte W18 + .byte N03 + .byte W06 + .byte PEND +mus_rg_dendou_7_001: + .byte N18 , Cn1 , v120 + .byte W18 + .byte N03 + .byte W06 + .byte N18 + .byte W18 + .byte N03 + .byte W06 + .byte N18 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N18 + .byte W18 + .byte PEND + .byte N18 + .byte W18 + .byte N03 + .byte W06 + .byte N18 + .byte W18 + .byte N03 + .byte W06 + .byte N06 , Cs1 + .byte W06 + .byte N06 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cs1 + .byte W06 + .byte N03 , Cs1 , v064 + .byte W03 + .byte Cs1 , v056 + .byte W03 + .byte N06 , Cs1 , v088 + .byte W06 + .byte Cs1 , v104 + .byte W06 + .byte PATT + .word mus_rg_dendou_7_001 + .byte PATT + .word mus_rg_dendou_7_000 + .byte PATT + .word mus_rg_dendou_7_001 + .byte PATT + .word mus_rg_dendou_7_000 + .byte N18 , Cn1 , v120 + .byte W18 + .byte N03 + .byte W06 + .byte N18 + .byte W18 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N15 + .byte W18 + .byte PATT + .word mus_rg_dendou_7_000 + .byte PATT + .word mus_rg_dendou_7_001 + .byte N06 , Dn2 , v120 + .byte W06 + .byte En1 + .byte W06 + .byte Dn2 + .byte W06 + .byte Cn1 + .byte W06 + .byte An1 + .byte N06 , Bn1 + .byte W06 + .byte En1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , Gn1 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cs1 + .byte W06 + .byte N03 , Fn1 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Cn1 + .byte W06 + .byte N36 + .byte N48 , Cs2 + .byte W36 + .byte N12 , Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cs1 , v064 + .byte W12 + .byte Cs1 , v040 + .byte W12 + .byte Cs1 , v016 + .byte W12 + .byte Cs1 , v120 + .byte W12 + .byte N24 , Cn1 + .byte W24 + .byte N12 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cs1 , v064 + .byte W12 + .byte Cs1 , v040 + .byte W12 + .byte Cs1 , v016 + .byte W12 + .byte N06 , Dn2 , v120 + .byte W06 + .byte N03 , Bn1 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W18 + .byte N12 , Cs1 + .byte N48 , An2 + .byte W12 + .byte N12 , Cs1 , v064 + .byte W12 + .byte Cs1 , v040 + .byte W12 + .byte N06 , Cn1 , v120 + .byte N12 , Cs1 , v016 + .byte W06 + .byte N06 , Cn1 , v120 + .byte W06 + .byte N12 , Cs1 , v032 + .byte W12 + .byte Cs1 , v052 + .byte W12 + .byte Cs1 , v064 + .byte W12 + .byte Cs1 , v120 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte Cs1 + .byte W06 + .byte Cs1 , v060 + .byte W06 + .byte Gn1 , v120 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn2 + .byte N48 , Cs2 + .byte N48 , Gn2 + .byte W06 + .byte N06 , Dn2 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte An1 + .byte W06 + .byte Cn2 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , Fn1 + .byte N48 , Bn2 + .byte W03 + .byte N03 , Fn1 + .byte W03 + .byte N06 , Gn1 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , En1 + .byte W03 + .byte N03 + .byte W03 + .byte N06 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cn1 + .byte N06 , Fn1 + .byte W06 + .byte GOTO + .word mus_rg_dendou_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_dendou_8: + .byte KEYSH , mus_rg_dendou_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 56*mus_rg_dendou_mvl/mxv + .byte W96 +mus_rg_dendou_8_B1: +mus_rg_dendou_8_000: + .byte N01 , Cn5 , v120 + .byte W24 + .byte N01 + .byte W06 + .byte Cn5 , v056 + .byte W18 + .byte Cn5 , v120 + .byte W24 + .byte N01 + .byte W06 + .byte Cn5 , v056 + .byte W18 + .byte PEND + .byte PATT + .word mus_rg_dendou_8_000 + .byte PATT + .word mus_rg_dendou_8_000 + .byte N01 , Cn5 , v120 + .byte W24 + .byte N01 + .byte W06 + .byte Cn5 , v056 + .byte W18 + .byte Cn5 , v120 + .byte W24 + .byte N01 + .byte W06 + .byte Cn5 , v080 + .byte W18 + .byte PATT + .word mus_rg_dendou_8_000 + .byte PATT + .word mus_rg_dendou_8_000 + .byte PATT + .word mus_rg_dendou_8_000 + .byte PATT + .word mus_rg_dendou_8_000 + .byte PATT + .word mus_rg_dendou_8_000 + .byte PATT + .word mus_rg_dendou_8_000 + .byte PATT + .word mus_rg_dendou_8_000 + .byte PATT + .word mus_rg_dendou_8_000 + .byte N03 , Cn5 , v120 + .byte W24 + .byte N03 + .byte W06 + .byte Cn5 , v056 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v120 + .byte W24 + .byte N03 + .byte W06 + .byte Cn5 , v056 + .byte W18 + .byte Cn5 , v120 + .byte W24 + .byte N03 + .byte W06 + .byte Cn5 , v056 + .byte W18 + .byte Cn5 , v120 + .byte W24 + .byte N03 + .byte W03 + .byte Cn5 , v056 + .byte W03 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W06 + .byte Cn5 , v056 + .byte W06 + .byte Cn5 , v120 + .byte W24 + .byte N03 + .byte W06 + .byte Cn5 , v056 + .byte W18 + .byte Cn5 , v120 + .byte W24 + .byte N03 + .byte W06 + .byte Cn5 , v056 + .byte W18 + .byte Cn5 , v052 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v120 + .byte W36 + .byte N03 + .byte W06 + .byte Cn5 , v056 + .byte W18 + .byte W96 + .byte GOTO + .word mus_rg_dendou_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_dendou_9: + .byte KEYSH , mus_rg_dendou_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 45*mus_rg_dendou_mvl/mxv + .byte W96 +mus_rg_dendou_9_B1: +mus_rg_dendou_9_000: + .byte W12 + .byte N12 , Gn5 , v120 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_dendou_9_000 + .byte PATT + .word mus_rg_dendou_9_000 + .byte W12 + .byte N12 , Gn5 , v120 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte Gn5 , v108 + .byte W12 + .byte PATT + .word mus_rg_dendou_9_000 + .byte PATT + .word mus_rg_dendou_9_000 + .byte PATT + .word mus_rg_dendou_9_000 + .byte PATT + .word mus_rg_dendou_9_000 + .byte PATT + .word mus_rg_dendou_9_000 + .byte PATT + .word mus_rg_dendou_9_000 + .byte PATT + .word mus_rg_dendou_9_000 + .byte PATT + .word mus_rg_dendou_9_000 + .byte W84 + .byte N12 , Gn5 , v120 + .byte W12 + .byte W96 + .byte W96 + .byte W48 + .byte N24 + .byte W48 + .byte W96 + .byte GOTO + .word mus_rg_dendou_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_dendou: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_dendou_pri @ Priority + .byte mus_rg_dendou_rev @ Reverb. + + .word mus_rg_dendou_grp + + .word mus_rg_dendou_1 + .word mus_rg_dendou_2 + .word mus_rg_dendou_3 + .word mus_rg_dendou_4 + .word mus_rg_dendou_5 + .word mus_rg_dendou_6 + .word mus_rg_dendou_7 + .word mus_rg_dendou_8 + .word mus_rg_dendou_9 + + .end diff --git a/sound/songs/mus_rg_deoeye.s b/sound/songs/mus_rg_deoeye.s new file mode 100644 index 0000000000..5dd7ec2988 --- /dev/null +++ b/sound/songs/mus_rg_deoeye.s @@ -0,0 +1,1552 @@ + .include "MPlayDef.s" + + .equ mus_rg_deoeye_grp, voicegroup_86B2244 + .equ mus_rg_deoeye_pri, 0 + .equ mus_rg_deoeye_rev, reverb_set+50 + .equ mus_rg_deoeye_mvl, 127 + .equ mus_rg_deoeye_key, 0 + .equ mus_rg_deoeye_tbs, 1 + .equ mus_rg_deoeye_exg, 0 + .equ mus_rg_deoeye_cmp, 1 + + .section .rodata + .global mus_rg_deoeye + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_deoeye_1: + .byte KEYSH , mus_rg_deoeye_key+0 +mus_rg_deoeye_1_B1: + .byte TEMPO , 128*mus_rg_deoeye_tbs/2 + .byte VOICE , 38 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 45*mus_rg_deoeye_mvl/mxv + .byte PAN , c_v+0 + .byte MOD , 2 + .byte N06 , En1 , v120 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 +mus_rg_deoeye_1_000: + .byte PAN , c_v+0 + .byte N06 , En1 , v120 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_deoeye_1_000 + .byte PATT + .word mus_rg_deoeye_1_000 +mus_rg_deoeye_1_001: + .byte PAN , c_v+0 + .byte N06 , Ds1 , v120 + .byte W12 + .byte Ds1 , v064 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_deoeye_1_001 + .byte PATT + .word mus_rg_deoeye_1_001 + .byte PATT + .word mus_rg_deoeye_1_001 + .byte GOTO + .word mus_rg_deoeye_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_deoeye_2: + .byte KEYSH , mus_rg_deoeye_key+0 +mus_rg_deoeye_2_B1: + .byte VOICE , 80 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 76*mus_rg_deoeye_mvl/mxv + .byte BEND , c_v+1 + .byte N06 , En1 , v120 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v+2 + .byte N06 , En1 , v120 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v+3 + .byte N06 , En1 , v120 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v-3 + .byte N06 , En1 , v120 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , En1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En1 , v020 + .byte W06 +mus_rg_deoeye_2_000: + .byte PAN , c_v+0 + .byte BEND , c_v+2 + .byte N06 , Ds1 , v120 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds1 , v064 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds1 , v064 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds1 , v064 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PEND + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte N06 , Ds1 , v120 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds1 , v064 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds1 , v064 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds1 , v064 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PATT + .word mus_rg_deoeye_2_000 + .byte PAN , c_v+0 + .byte BEND , c_v-2 + .byte N06 , Ds1 , v120 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds1 , v064 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds1 , v064 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds1 , v064 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds1 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Ds1 , v020 + .byte W06 + .byte GOTO + .word mus_rg_deoeye_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_deoeye_3: + .byte KEYSH , mus_rg_deoeye_key+0 +mus_rg_deoeye_3_B1: + .byte VOICE , 81 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-62 + .byte VOL , 56*mus_rg_deoeye_mvl/mxv + .byte N01 , Fs4 , v064 + .byte W02 + .byte Fs4 , v020 + .byte W04 + .byte Gs4 , v064 + .byte W02 + .byte Gs4 , v020 + .byte W04 + .byte PAN , c_v+63 + .byte W04 + .byte N01 , En5 , v064 + .byte W03 + .byte En5 , v020 + .byte W02 + .byte Fs5 , v064 + .byte W03 + .byte PAN , c_v-61 + .byte N01 , Fs5 , v020 + .byte W02 + .byte PAN , c_v-62 + .byte W08 + .byte N01 , Dn5 , v064 + .byte W02 + .byte PAN , c_v+63 + .byte W01 + .byte N01 , Cn5 + .byte N01 , Dn5 , v020 + .byte W02 + .byte Cn5 + .byte W09 + .byte PAN , c_v-62 + .byte N01 , Fs3 , v064 + .byte W02 + .byte Fs3 , v020 + .byte W01 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W06 + .byte PAN , c_v+63 + .byte W04 + .byte N01 , Bn4 , v064 + .byte W03 + .byte Bn4 , v020 + .byte W01 + .byte Dn5 , v064 + .byte W02 + .byte Dn5 , v020 + .byte W02 + .byte PAN , c_v-62 + .byte W09 + .byte N01 , Fs5 , v064 + .byte W03 + .byte PAN , c_v+63 + .byte N01 , Fs5 , v020 + .byte W06 + .byte Cs5 , v064 + .byte W02 + .byte Cs5 , v020 + .byte W04 +mus_rg_deoeye_3_000: + .byte PAN , c_v-62 + .byte W02 + .byte N01 , Cs4 , v064 + .byte W02 + .byte As3 + .byte N01 , Cs4 , v020 + .byte W03 + .byte As3 + .byte W05 + .byte PAN , c_v+63 + .byte N01 , Fs3 , v064 + .byte W02 + .byte Fs3 , v020 + .byte W01 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W06 + .byte PAN , c_v-61 + .byte W02 + .byte c_v-62 + .byte W01 + .byte N01 , Dn5 , v064 + .byte W03 + .byte Cn5 + .byte N01 , Dn5 , v020 + .byte W02 + .byte Cn5 + .byte W04 + .byte PAN , c_v+63 + .byte N01 , Fs4 , v064 + .byte W02 + .byte Fs4 , v020 + .byte W01 + .byte Cn4 , v064 + .byte W03 + .byte Cn4 , v020 + .byte W01 + .byte Gn3 , v064 + .byte W02 + .byte Gn3 , v020 + .byte W03 + .byte PAN , c_v-62 + .byte W06 + .byte N01 , Gn4 , v064 + .byte W02 + .byte Gn4 , v020 + .byte N01 , An4 , v064 + .byte W02 + .byte An4 , v020 + .byte W02 + .byte PAN , c_v+63 + .byte W03 + .byte N01 , Fs4 , v064 + .byte W02 + .byte Fs4 , v020 + .byte W04 + .byte Gs4 , v064 + .byte W02 + .byte Gs4 , v020 + .byte W01 + .byte PAN , c_v-62 + .byte W07 + .byte N01 , En5 , v064 + .byte W03 + .byte En5 , v020 + .byte W02 + .byte PAN , c_v+63 + .byte N01 , Fs5 , v064 + .byte W03 + .byte Fs5 , v020 + .byte W09 + .byte PEND + .byte PAN , c_v-62 + .byte W01 + .byte N01 , Dn5 , v064 + .byte W03 + .byte Cn5 + .byte N01 , Dn5 , v020 + .byte W02 + .byte Cn5 + .byte W06 + .byte PAN , c_v+63 + .byte W03 + .byte N01 , Fs3 , v064 + .byte W02 + .byte Fs3 , v020 + .byte W01 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W03 + .byte PAN , c_v-61 + .byte W02 + .byte c_v-62 + .byte W05 + .byte N01 , Bn4 , v064 + .byte W03 + .byte Bn4 , v020 + .byte W01 + .byte Dn5 , v064 + .byte W01 + .byte PAN , c_v+63 + .byte W01 + .byte N01 , Dn5 , v020 + .byte W11 + .byte PAN , c_v-62 + .byte N01 , Fs5 , v064 + .byte W03 + .byte Fs5 , v020 + .byte W06 + .byte Cs5 , v064 + .byte W02 + .byte Cs5 , v020 + .byte W01 + .byte PAN , c_v+63 + .byte W05 + .byte N01 , Cs4 , v064 + .byte W02 + .byte As3 + .byte N01 , Cs4 , v020 + .byte W03 + .byte As3 + .byte W02 + .byte PAN , c_v-62 + .byte W03 + .byte N01 , Fs3 , v064 + .byte W02 + .byte Fs3 , v020 + .byte W01 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W03 + .byte PAN , c_v+63 + .byte W06 + .byte N01 , Dn5 , v064 + .byte W03 + .byte Cn5 + .byte N01 , Dn5 , v020 + .byte W02 + .byte Cn5 + .byte W01 + .byte PAN , c_v-62 + .byte W03 + .byte N01 , Fs4 , v064 + .byte W02 + .byte Fs4 , v020 + .byte W01 + .byte Cn4 , v064 + .byte W03 + .byte Cn4 , v020 + .byte W01 + .byte Gn3 , v064 + .byte W02 + .byte PAN , c_v+63 + .byte N01 , Gn3 , v020 + .byte W09 + .byte Gn4 , v064 + .byte W02 + .byte Gn4 , v020 + .byte N01 , An4 , v064 + .byte W01 + .byte PAN , c_v-61 + .byte W01 + .byte N01 , An4 , v020 + .byte W01 + .byte PAN , c_v-62 + .byte W07 + .byte N01 , Fs4 , v064 + .byte W02 + .byte Fs4 , v020 + .byte W01 + .byte PAN , c_v+63 + .byte W03 + .byte N01 , Gs4 , v064 + .byte W02 + .byte Gs4 , v020 + .byte W07 + .byte PAN , c_v-62 + .byte W01 + .byte N01 , En5 , v064 + .byte W03 + .byte En5 , v020 + .byte W02 + .byte Fs5 , v064 + .byte W03 + .byte Fs5 , v020 + .byte W03 + .byte PAN , c_v+63 + .byte W07 + .byte N01 , Dn5 , v064 + .byte W03 + .byte Cn5 + .byte N01 , Dn5 , v020 + .byte W02 + .byte PAN , c_v-62 + .byte N01 , Cn5 + .byte W09 + .byte Fs3 , v064 + .byte W02 + .byte Fs3 , v020 + .byte W01 + .byte PAN , c_v+63 + .byte N01 , Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W09 + .byte PAN , c_v-62 + .byte W01 + .byte N01 , Bn4 , v064 + .byte W03 + .byte Bn4 , v020 + .byte W01 + .byte Dn5 , v064 + .byte W02 + .byte Dn5 , v020 + .byte W05 + .byte PAN , c_v+63 + .byte W06 + .byte N01 , Fs5 , v064 + .byte W03 + .byte Fs5 , v020 + .byte W03 + .byte PAN , c_v-61 + .byte W02 + .byte c_v-62 + .byte W01 + .byte N01 , Cs5 , v064 + .byte W02 + .byte Cs5 , v020 + .byte W06 + .byte Cs4 , v064 + .byte W01 + .byte PAN , c_v+63 + .byte W01 + .byte N01 , As3 + .byte N01 , Cs4 , v020 + .byte W03 + .byte As3 + .byte W05 + .byte Fs3 , v064 + .byte W02 + .byte Fs3 , v020 + .byte W01 + .byte PAN , c_v-62 + .byte N01 , Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W09 + .byte PAN , c_v+63 + .byte N01 , Dn5 , v064 + .byte W03 + .byte Cn5 + .byte N01 , Dn5 , v020 + .byte W02 + .byte Cn5 + .byte W04 + .byte Fs4 , v064 + .byte W02 + .byte Fs4 , v020 + .byte W01 + .byte PAN , c_v-62 + .byte N01 , Cn4 , v064 + .byte W03 + .byte Cn4 , v020 + .byte W01 + .byte Gn3 , v064 + .byte W02 + .byte Gn3 , v020 + .byte W06 + .byte PAN , c_v+63 + .byte W03 + .byte N01 , Gn4 , v064 + .byte W02 + .byte Gn4 , v020 + .byte N01 , An4 , v064 + .byte W02 + .byte An4 , v020 + .byte W05 + .byte PAN , c_v-62 + .byte N01 , Fs4 , v064 + .byte W02 + .byte Fs4 , v020 + .byte W04 + .byte Gs4 , v064 + .byte W02 + .byte Gs4 , v020 + .byte W04 + .byte PAN , c_v+63 + .byte W04 + .byte N01 , En5 , v064 + .byte W03 + .byte En5 , v020 + .byte W02 + .byte Fs5 , v064 + .byte W03 + .byte PAN , c_v-61 + .byte N01 , Fs5 , v020 + .byte W02 + .byte PAN , c_v-62 + .byte W08 + .byte N01 , Dn5 , v064 + .byte W02 + .byte PAN , c_v+63 + .byte W01 + .byte N01 , Cn5 + .byte N01 , Dn5 , v020 + .byte W02 + .byte Cn5 + .byte W09 + .byte PAN , c_v-62 + .byte N01 , Fs3 , v064 + .byte W02 + .byte Fs3 , v020 + .byte W01 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W06 + .byte PAN , c_v+63 + .byte W04 + .byte N01 , Bn4 , v064 + .byte W03 + .byte Bn4 , v020 + .byte W01 + .byte Dn5 , v064 + .byte W02 + .byte Dn5 , v020 + .byte W02 + .byte PAN , c_v-62 + .byte W09 + .byte N01 , Fs5 , v064 + .byte W03 + .byte PAN , c_v+63 + .byte N01 , Fs5 , v020 + .byte W06 + .byte Cs5 , v064 + .byte W02 + .byte Cs5 , v020 + .byte W04 + .byte PATT + .word mus_rg_deoeye_3_000 + .byte PAN , c_v-62 + .byte W01 + .byte N01 , Dn5 , v064 + .byte W03 + .byte Cn5 + .byte N01 , Dn5 , v020 + .byte W02 + .byte Cn5 + .byte W06 + .byte PAN , c_v+63 + .byte W03 + .byte N01 , Fs3 , v064 + .byte W02 + .byte Fs3 , v020 + .byte W01 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W03 + .byte PAN , c_v-61 + .byte W02 + .byte c_v-62 + .byte W05 + .byte N01 , Bn4 , v064 + .byte W03 + .byte Bn4 , v020 + .byte W01 + .byte Dn5 , v064 + .byte W01 + .byte PAN , c_v+63 + .byte W01 + .byte N01 , Dn5 , v020 + .byte W11 + .byte PAN , c_v-62 + .byte N01 , Fs5 , v064 + .byte W03 + .byte Fs5 , v020 + .byte W06 + .byte Cs5 , v064 + .byte W02 + .byte Cs5 , v020 + .byte W01 + .byte PAN , c_v+63 + .byte W05 + .byte N01 , Cs4 , v064 + .byte W02 + .byte As3 + .byte N01 , Cs4 , v020 + .byte W03 + .byte As3 + .byte W02 + .byte PAN , c_v-62 + .byte W03 + .byte N01 , Fs3 , v064 + .byte W02 + .byte Fs3 , v020 + .byte W01 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W03 + .byte PAN , c_v+63 + .byte W06 + .byte N01 , Dn5 , v064 + .byte W03 + .byte Cn5 + .byte N01 , Dn5 , v020 + .byte W03 + .byte GOTO + .word mus_rg_deoeye_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_deoeye_4: + .byte KEYSH , mus_rg_deoeye_key+0 +mus_rg_deoeye_4_B1: + .byte VOICE , 85 + .byte BENDR , 12 + .byte LFOS , 44 + .byte MOD , 0 + .byte PAN , c_v-32 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 29*mus_rg_deoeye_mvl/mxv + .byte BEND , c_v+0 + .byte TIE , En2 , v120 + .byte W12 + .byte PAN , c_v-16 + .byte W12 + .byte c_v+0 + .byte W12 + .byte c_v+16 + .byte W12 + .byte c_v+32 + .byte W12 + .byte c_v+16 + .byte W12 + .byte c_v+0 + .byte BEND , c_v-1 + .byte W12 + .byte PAN , c_v-16 + .byte W12 + .byte c_v-32 + .byte BEND , c_v-2 + .byte W12 + .byte PAN , c_v-16 + .byte W12 + .byte c_v+0 + .byte BEND , c_v-5 + .byte W12 + .byte PAN , c_v+16 + .byte W12 + .byte c_v+32 + .byte BEND , c_v-7 + .byte W12 + .byte PAN , c_v+16 + .byte W12 + .byte c_v+0 + .byte BEND , c_v-6 + .byte W12 + .byte PAN , c_v-16 + .byte W12 + .byte c_v-32 + .byte BEND , c_v-5 + .byte W12 + .byte PAN , c_v-16 + .byte W12 + .byte c_v+0 + .byte BEND , c_v-4 + .byte W12 + .byte PAN , c_v+16 + .byte W12 + .byte c_v+32 + .byte BEND , c_v-2 + .byte W12 + .byte PAN , c_v+16 + .byte W12 + .byte c_v+0 + .byte BEND , c_v+0 + .byte W12 + .byte PAN , c_v-16 + .byte W12 + .byte c_v-32 + .byte W12 + .byte c_v-16 + .byte W12 + .byte c_v+0 + .byte W12 + .byte c_v+16 + .byte W12 + .byte c_v+32 + .byte BEND , c_v+2 + .byte W12 + .byte PAN , c_v+16 + .byte W12 + .byte c_v+0 + .byte BEND , c_v+4 + .byte W12 + .byte PAN , c_v-16 + .byte W12 + .byte c_v-32 + .byte BEND , c_v+5 + .byte W12 + .byte PAN , c_v-16 + .byte W12 + .byte c_v+0 + .byte BEND , c_v+7 + .byte W12 + .byte PAN , c_v+16 + .byte W12 + .byte c_v+32 + .byte BEND , c_v+10 + .byte W12 + .byte PAN , c_v+16 + .byte W12 + .byte c_v+0 + .byte BEND , c_v+9 + .byte W12 + .byte PAN , c_v-16 + .byte W12 + .byte c_v-32 + .byte BEND , c_v+7 + .byte W12 + .byte PAN , c_v-16 + .byte W12 + .byte c_v+0 + .byte BEND , c_v+6 + .byte W12 + .byte PAN , c_v+16 + .byte W12 + .byte c_v+32 + .byte BEND , c_v+4 + .byte W12 + .byte PAN , c_v+16 + .byte W12 + .byte c_v+0 + .byte BEND , c_v+1 + .byte W12 + .byte PAN , c_v-16 + .byte W12 + .byte MOD , 2 + .byte PAN , c_v-32 + .byte BEND , c_v+0 + .byte W12 + .byte PAN , c_v-16 + .byte W12 + .byte c_v+0 + .byte W12 + .byte c_v+16 + .byte W12 + .byte MOD , 4 + .byte PAN , c_v+32 + .byte W12 + .byte c_v+16 + .byte W12 + .byte c_v+0 + .byte W12 + .byte c_v-16 + .byte W12 + .byte MOD , 7 + .byte PAN , c_v-32 + .byte W12 + .byte c_v-16 + .byte W12 + .byte c_v+0 + .byte W12 + .byte c_v+16 + .byte W12 + .byte MOD , 9 + .byte PAN , c_v+32 + .byte W12 + .byte c_v+16 + .byte W12 + .byte c_v+0 + .byte W12 + .byte c_v-16 + .byte W12 + .byte EOT + .byte GOTO + .word mus_rg_deoeye_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_deoeye_5: + .byte KEYSH , mus_rg_deoeye_key+0 +mus_rg_deoeye_5_B1: + .byte VOICE , 31 + .byte LFOS , 44 + .byte BENDR , 12 + .byte W96 + .byte W96 + .byte W72 + .byte BEND , c_v+0 + .byte W06 + .byte VOL , 24*mus_rg_deoeye_mvl/mxv + .byte W12 + .byte TIE , As3 , v080 + .byte W06 + .byte W24 + .byte PAN , c_v-16 + .byte W24 + .byte c_v-32 + .byte W01 + .byte BEND , c_v-5 + .byte W01 + .byte c_v-6 + .byte W01 + .byte c_v-11 + .byte W02 + .byte c_v-14 + .byte W02 + .byte c_v-18 + .byte W01 + .byte c_v-22 + .byte W01 + .byte c_v-24 + .byte W01 + .byte c_v-26 + .byte W02 + .byte c_v-32 + .byte W02 + .byte c_v-35 + .byte W01 + .byte c_v-40 + .byte W02 + .byte c_v-44 + .byte W02 + .byte c_v-47 + .byte W01 + .byte c_v-48 + .byte W01 + .byte c_v-51 + .byte W01 + .byte c_v-54 + .byte W02 + .byte PAN , c_v-48 + .byte BEND , c_v-56 + .byte W02 + .byte c_v-58 + .byte W01 + .byte c_v-59 + .byte W02 + .byte c_v-60 + .byte W02 + .byte c_v-62 + .byte W03 + .byte c_v-63 + .byte W14 + .byte PAN , c_v-64 + .byte W01 + .byte BEND , c_v-63 + .byte W02 + .byte c_v-62 + .byte W02 + .byte c_v-58 + .byte W03 + .byte c_v-54 + .byte W01 + .byte c_v-51 + .byte W01 + .byte c_v-46 + .byte W02 + .byte c_v-38 + .byte W03 + .byte c_v-34 + .byte W01 + .byte c_v-31 + .byte W01 + .byte c_v-24 + .byte W02 + .byte c_v-19 + .byte W01 + .byte c_v-11 + .byte W01 + .byte c_v-5 + .byte W01 + .byte c_v+7 + .byte W02 + .byte PAN , c_v-48 + .byte BEND , c_v+26 + .byte W02 + .byte c_v+37 + .byte W01 + .byte c_v+49 + .byte W02 + .byte c_v+53 + .byte W01 + .byte PAN , c_v-33 + .byte W01 + .byte BEND , c_v+59 + .byte W01 + .byte c_v+63 + .byte W04 + .byte PAN , c_v-16 + .byte W06 + .byte c_v+16 + .byte W06 + .byte c_v+31 + .byte W06 + .byte c_v+48 + .byte W06 + .byte c_v+63 + .byte W19 + .byte BEND , c_v+63 + .byte W01 + .byte c_v+62 + .byte W01 + .byte c_v+61 + .byte W01 + .byte c_v+59 + .byte W02 + .byte PAN , c_v+48 + .byte BEND , c_v+58 + .byte W03 + .byte c_v+56 + .byte W01 + .byte c_v+53 + .byte W03 + .byte c_v+52 + .byte W01 + .byte c_v+50 + .byte W02 + .byte c_v+42 + .byte W02 + .byte PAN , c_v+32 + .byte W02 + .byte BEND , c_v+40 + .byte W01 + .byte c_v+39 + .byte W02 + .byte c_v+37 + .byte W03 + .byte c_v+34 + .byte W02 + .byte c_v+32 + .byte W02 + .byte PAN , c_v+16 + .byte BEND , c_v+29 + .byte W02 + .byte c_v+28 + .byte W01 + .byte c_v+25 + .byte W02 + .byte c_v+22 + .byte W02 + .byte c_v+20 + .byte W01 + .byte c_v+18 + .byte W01 + .byte c_v+17 + .byte W01 + .byte c_v+14 + .byte W02 + .byte PAN , c_v-1 + .byte BEND , c_v+10 + .byte W02 + .byte c_v+8 + .byte W01 + .byte c_v+5 + .byte W01 + .byte c_v+4 + .byte W01 + .byte c_v+1 + .byte W03 + .byte c_v-2 + .byte W01 + .byte c_v-3 + .byte W01 + .byte c_v-6 + .byte W02 + .byte c_v-14 + .byte W03 + .byte c_v-19 + .byte W01 + .byte c_v-20 + .byte W01 + .byte c_v-24 + .byte W02 + .byte c_v-26 + .byte W01 + .byte c_v-30 + .byte W01 + .byte c_v-32 + .byte W01 + .byte c_v-35 + .byte W02 + .byte c_v-43 + .byte W02 + .byte c_v-44 + .byte W01 + .byte c_v-48 + .byte W01 + .byte c_v-51 + .byte W01 + .byte c_v-58 + .byte W02 + .byte c_v-60 + .byte W18 + .byte c_v-63 + .byte W01 + .byte c_v-62 + .byte W01 + .byte c_v-58 + .byte W02 + .byte c_v-55 + .byte W02 + .byte c_v-52 + .byte W01 + .byte c_v-51 + .byte W01 + .byte c_v-48 + .byte W01 + .byte c_v-46 + .byte W02 + .byte c_v-37 + .byte W02 + .byte c_v-35 + .byte W01 + .byte c_v-26 + .byte W01 + .byte c_v-16 + .byte W01 + .byte c_v+0 + .byte W07 + .byte EOT + .byte VOL , 65*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte PAN , c_v+63 + .byte W09 + .byte N01 , Gs4 + .byte W04 + .byte Gs4 , v032 + .byte W05 + .byte PAN , c_v-64 + .byte N01 , Gs4 , v080 + .byte W04 + .byte Gs4 , v032 + .byte W20 + .byte N02 , Cs5 , v088 + .byte W04 + .byte Cs5 , v032 + .byte W14 + .byte PAN , c_v+63 + .byte W09 + .byte N02 , En4 , v080 + .byte W04 + .byte En4 , v032 + .byte W17 + .byte PAN , c_v-1 + .byte W09 + .byte N02 , Gn4 , v084 + .byte W04 + .byte Gn4 , v032 + .byte W32 + .byte W03 + .byte PAN , c_v-64 + .byte N02 , Dn5 , v080 + .byte W04 + .byte Dn5 , v032 + .byte W20 + .byte PAN , c_v+63 + .byte W12 + .byte N02 , Gs4 , v084 + .byte W04 + .byte Gs4 , v032 + .byte W08 + .byte GOTO + .word mus_rg_deoeye_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_deoeye_6: + .byte KEYSH , mus_rg_deoeye_key+0 +mus_rg_deoeye_6_B1: + .byte VOICE , 14 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 79*mus_rg_deoeye_mvl/mxv + .byte N48 , Fn3 , v127 + .byte W24 + .byte VOL , 56*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 45*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 34*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 22*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 79*mus_rg_deoeye_mvl/mxv + .byte N48 , Gn3 + .byte W24 + .byte VOL , 56*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 45*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 34*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 22*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 79*mus_rg_deoeye_mvl/mxv + .byte N96 , Cn3 + .byte W24 + .byte VOL , 62*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 55*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 50*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 45*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 39*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 34*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 29*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 24*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 18*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 13*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 8*mus_rg_deoeye_mvl/mxv + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_deoeye_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_deoeye_7: + .byte KEYSH , mus_rg_deoeye_key+0 +mus_rg_deoeye_7_B1: + .byte VOICE , 14 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 56*mus_rg_deoeye_mvl/mxv + .byte BEND , c_v+1 + .byte W24 + .byte PAN , c_v-48 + .byte N48 , Fn3 , v064 + .byte W24 + .byte VOL , 34*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 28*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 22*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 16*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte PAN , c_v+48 + .byte VOL , 56*mus_rg_deoeye_mvl/mxv + .byte N48 , Gn3 + .byte W24 + .byte VOL , 34*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 28*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 22*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 16*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte PAN , c_v-48 + .byte VOL , 56*mus_rg_deoeye_mvl/mxv + .byte N96 , Cn3 + .byte W48 + .byte VOL , 38*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 34*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 29*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 22*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 17*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 11*mus_rg_deoeye_mvl/mxv + .byte W06 + .byte 5*mus_rg_deoeye_mvl/mxv + .byte W12 + .byte 0*mus_rg_deoeye_mvl/mxv + .byte W72 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_deoeye_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_deoeye: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_deoeye_pri @ Priority + .byte mus_rg_deoeye_rev @ Reverb. + + .word mus_rg_deoeye_grp + + .word mus_rg_deoeye_1 + .word mus_rg_deoeye_2 + .word mus_rg_deoeye_3 + .word mus_rg_deoeye_4 + .word mus_rg_deoeye_5 + .word mus_rg_deoeye_6 + .word mus_rg_deoeye_7 + + .end diff --git a/sound/songs/mus_rg_ending.s b/sound/songs/mus_rg_ending.s new file mode 100644 index 0000000000..219d304df9 --- /dev/null +++ b/sound/songs/mus_rg_ending.s @@ -0,0 +1,12780 @@ + .include "MPlayDef.s" + + .equ mus_rg_ending_grp, voicegroup_86A6DE4 + .equ mus_rg_ending_pri, 0 + .equ mus_rg_ending_rev, reverb_set+50 + .equ mus_rg_ending_mvl, 127 + .equ mus_rg_ending_key, 0 + .equ mus_rg_ending_tbs, 1 + .equ mus_rg_ending_exg, 0 + .equ mus_rg_ending_cmp, 1 + + .section .rodata + .global mus_rg_ending + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_ending_1: + .byte KEYSH , mus_rg_ending_key+0 + .byte TEMPO , 94*mus_rg_ending_tbs/2 + .byte VOICE , 73 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+31 + .byte BEND , c_v+0 + .byte N36 , An4 , v080 + .byte W09 + .byte MOD , 7 + .byte W03 + .byte VOL , 56*mus_rg_ending_mvl/mxv + .byte W06 + .byte 51*mus_rg_ending_mvl/mxv + .byte W06 + .byte TEMPO , 76*mus_rg_ending_tbs/2 + .byte 45*mus_rg_ending_mvl/mxv + .byte W06 + .byte 38*mus_rg_ending_mvl/mxv + .byte W06 + .byte 68*mus_rg_ending_mvl/mxv + .byte MOD , 0 + .byte N06 , En4 + .byte W06 + .byte An4 + .byte W06 + .byte TEMPO , 94*mus_rg_ending_tbs/2 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte N36 , Gn4 + .byte W09 + .byte MOD , 7 + .byte W03 + .byte VOL , 56*mus_rg_ending_mvl/mxv + .byte W06 + .byte 51*mus_rg_ending_mvl/mxv + .byte W06 + .byte TEMPO , 76*mus_rg_ending_tbs/2 + .byte 45*mus_rg_ending_mvl/mxv + .byte W06 + .byte 38*mus_rg_ending_mvl/mxv + .byte W06 + .byte 68*mus_rg_ending_mvl/mxv + .byte MOD , 0 + .byte N06 , Dn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte TEMPO , 94*mus_rg_ending_tbs/2 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte N36 , Fs4 + .byte W09 + .byte MOD , 7 + .byte W03 + .byte VOL , 56*mus_rg_ending_mvl/mxv + .byte W06 + .byte 51*mus_rg_ending_mvl/mxv + .byte W06 + .byte TEMPO , 76*mus_rg_ending_tbs/2 + .byte 45*mus_rg_ending_mvl/mxv + .byte W06 + .byte 38*mus_rg_ending_mvl/mxv + .byte W06 + .byte 68*mus_rg_ending_mvl/mxv + .byte MOD , 0 + .byte N06 , Dn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte TEMPO , 94*mus_rg_ending_tbs/2 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte N48 , En4 + .byte W09 + .byte MOD , 7 + .byte W03 + .byte VOL , 56*mus_rg_ending_mvl/mxv + .byte W06 + .byte 51*mus_rg_ending_mvl/mxv + .byte W06 + .byte 45*mus_rg_ending_mvl/mxv + .byte W06 + .byte 38*mus_rg_ending_mvl/mxv + .byte W06 + .byte 34*mus_rg_ending_mvl/mxv + .byte W06 + .byte 26*mus_rg_ending_mvl/mxv + .byte W06 + .byte TEMPO , 94*mus_rg_ending_tbs/2 + .byte 68*mus_rg_ending_mvl/mxv + .byte MOD , 0 + .byte W96 + .byte W96 + .byte TEMPO , 110*mus_rg_ending_tbs/2 + .byte W48 + .byte TEMPO , 98*mus_rg_ending_tbs/2 + .byte W24 + .byte TEMPO , 76*mus_rg_ending_tbs/2 + .byte W24 + .byte TEMPO , 98*mus_rg_ending_tbs/2 + .byte W24 + .byte TEMPO , 76*mus_rg_ending_tbs/2 + .byte W24 + .byte TEMPO , 98*mus_rg_ending_tbs/2 + .byte W24 + .byte TEMPO , 76*mus_rg_ending_tbs/2 + .byte W24 + .byte TEMPO , 98*mus_rg_ending_tbs/2 + .byte W48 + .byte W96 + .byte W72 + .byte VOICE , 47 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte PAN , c_v+32 + .byte TIE , En1 , v120 + .byte W24 + .byte W24 + .byte VOL , 88*mus_rg_ending_mvl/mxv + .byte W24 + .byte W02 + .byte 87*mus_rg_ending_mvl/mxv + .byte W03 + .byte 85*mus_rg_ending_mvl/mxv + .byte W09 + .byte 82*mus_rg_ending_mvl/mxv + .byte W03 + .byte 82*mus_rg_ending_mvl/mxv + .byte W03 + .byte 78*mus_rg_ending_mvl/mxv + .byte W04 + .byte 77*mus_rg_ending_mvl/mxv + .byte W02 + .byte 75*mus_rg_ending_mvl/mxv + .byte W03 + .byte 72*mus_rg_ending_mvl/mxv + .byte W03 + .byte 69*mus_rg_ending_mvl/mxv + .byte W04 + .byte 67*mus_rg_ending_mvl/mxv + .byte W02 + .byte 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 58*mus_rg_ending_mvl/mxv + .byte W07 + .byte EOT + .byte TEMPO , 128*mus_rg_ending_tbs/2 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte N12 , En2 , v127 + .byte W12 + .byte PAN , c_v-46 + .byte N12 , En1 + .byte W12 + .byte PAN , c_v+31 + .byte N12 , En2 + .byte W12 + .byte PAN , c_v-44 + .byte N12 , En1 + .byte W12 + .byte PAN , c_v+31 + .byte N12 , En2 + .byte W12 + .byte PAN , c_v-46 + .byte N12 , En1 + .byte W12 + .byte PAN , c_v+31 + .byte N12 , En2 + .byte W12 + .byte PAN , c_v-44 + .byte N12 , En1 + .byte W12 + .byte PAN , c_v+31 + .byte N36 , An1 + .byte W36 + .byte PAN , c_v-33 + .byte N06 , An2 + .byte W06 + .byte An2 , v120 + .byte W06 + .byte PAN , c_v+32 + .byte N36 , Gn1 , v127 + .byte W36 + .byte PAN , c_v-33 + .byte N06 , Gn2 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v+31 + .byte N36 , Fs1 + .byte W36 + .byte PAN , c_v-32 + .byte N06 , An2 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v+31 + .byte N24 , Dn2 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , An1 + .byte W24 + .byte An2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte TEMPO , 112*mus_rg_ending_tbs/2 + .byte W24 + .byte TEMPO , 112*mus_rg_ending_tbs/2 + .byte W21 + .byte TEMPO , 106*mus_rg_ending_tbs/2 + .byte W24 + .byte W03 + .byte TEMPO , 96*mus_rg_ending_tbs/2 + .byte W24 + .byte W24 + .byte TEMPO , 90*mus_rg_ending_tbs/2 + .byte W24 + .byte TEMPO , 74*mus_rg_ending_tbs/2 + .byte VOICE , 47 + .byte W24 + .byte TEMPO , 128*mus_rg_ending_tbs/2 + .byte PAN , c_v+31 + .byte N06 , En2 , v120 + .byte W06 + .byte En2 , v088 + .byte W06 + .byte TEMPO , 128*mus_rg_ending_tbs/2 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte TEMPO , 130*mus_rg_ending_tbs/2 + .byte PAN , c_v-32 + .byte N24 , An1 , v120 + .byte W48 + .byte PAN , c_v+32 + .byte W12 + .byte N12 , An2 , v124 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , An1 + .byte W24 + .byte N24 , Gn1 , v120 + .byte W60 + .byte N12 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Gn2 , v124 + .byte W06 + .byte Gn2 , v116 + .byte W06 + .byte PAN , c_v-32 + .byte N12 , Gn1 , v124 + .byte W12 + .byte N24 , An1 , v120 + .byte W48 + .byte PAN , c_v+31 + .byte W12 + .byte N12 , An2 , v124 + .byte W12 + .byte PAN , c_v-30 + .byte N12 , An1 + .byte W24 + .byte N24 , An1 , v120 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , An2 , v124 + .byte W06 + .byte An2 , v116 + .byte W06 + .byte PAN , c_v-30 + .byte N06 , An1 , v124 + .byte W06 + .byte N06 + .byte W06 + .byte N24 , An1 , v120 + .byte W36 + .byte N12 , An1 , v124 + .byte W24 + .byte An1 , v116 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , An2 , v124 + .byte W06 + .byte An2 , v108 + .byte W06 + .byte PAN , c_v-32 + .byte N12 , Gs1 , v124 + .byte W12 + .byte N24 , Gn1 , v120 + .byte W36 + .byte N12 , Gn1 , v124 + .byte W24 + .byte Gn1 , v120 + .byte W12 + .byte PAN , c_v+31 + .byte N06 , Gn2 , v124 + .byte W06 + .byte Gn2 , v116 + .byte W06 + .byte PAN , c_v-32 + .byte N12 , As1 , v124 + .byte W12 + .byte N24 , An1 , v120 + .byte W36 + .byte N12 , An1 , v124 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , An1 + .byte W12 + .byte Gs1 + .byte W12 + .byte TEMPO , 122*mus_rg_ending_tbs/2 + .byte N08 , An1 , v120 + .byte W08 + .byte En1 , v108 + .byte W08 + .byte An1 , v104 + .byte W08 + .byte TEMPO , 116*mus_rg_ending_tbs/2 + .byte PAN , c_v+32 + .byte N08 , Cs2 , v120 + .byte W08 + .byte An1 , v104 + .byte W08 + .byte Cs2 + .byte W08 + .byte TEMPO , 102*mus_rg_ending_tbs/2 + .byte PAN , c_v-30 + .byte N08 , En2 , v120 + .byte W08 + .byte Cs2 , v104 + .byte W04 + .byte TEMPO , 90*mus_rg_ending_tbs/2 + .byte W04 + .byte En2 + .byte W08 + .byte TEMPO , 84*mus_rg_ending_tbs/2 + .byte PAN , c_v+32 + .byte N24 , En1 , v112 + .byte W09 + .byte VOL , 80*mus_rg_ending_mvl/mxv + .byte W03 + .byte 69*mus_rg_ending_mvl/mxv + .byte W03 + .byte 55*mus_rg_ending_mvl/mxv + .byte W03 + .byte 45*mus_rg_ending_mvl/mxv + .byte W03 + .byte 34*mus_rg_ending_mvl/mxv + .byte W03 + .byte TEMPO , 104*mus_rg_ending_tbs/2 + .byte 90*mus_rg_ending_mvl/mxv + .byte W48 + .byte TEMPO , 114*mus_rg_ending_tbs/2 + .byte W24 + .byte TEMPO , 124*mus_rg_ending_tbs/2 + .byte W24 + .byte TEMPO , 130*mus_rg_ending_tbs/2 + .byte W96 + .byte W96 + .byte VOICE , 60 + .byte W48 + .byte TEMPO , 118*mus_rg_ending_tbs/2 + .byte N36 , Gn3 , v044 + .byte W24 + .byte TEMPO , 108*mus_rg_ending_tbs/2 + .byte W12 + .byte N06 , Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte TEMPO , 104*mus_rg_ending_tbs/2 + .byte N32 , Dn3 + .byte W32 + .byte W01 + .byte N15 , Bn2 + .byte W15 + .byte TEMPO , 114*mus_rg_ending_tbs/2 + .byte N48 , Gn3 + .byte W21 + .byte VOL , 86*mus_rg_ending_mvl/mxv + .byte W03 + .byte TEMPO , 124*mus_rg_ending_tbs/2 + .byte PAN , c_v+16 + .byte VOL , 83*mus_rg_ending_mvl/mxv + .byte W02 + .byte PAN , c_v+9 + .byte VOL , 79*mus_rg_ending_mvl/mxv + .byte W03 + .byte PAN , c_v+4 + .byte VOL , 75*mus_rg_ending_mvl/mxv + .byte W03 + .byte PAN , c_v-1 + .byte VOL , 72*mus_rg_ending_mvl/mxv + .byte W04 + .byte PAN , c_v-6 + .byte VOL , 70*mus_rg_ending_mvl/mxv + .byte W02 + .byte PAN , c_v-11 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte W03 + .byte PAN , c_v-16 + .byte VOL , 65*mus_rg_ending_mvl/mxv + .byte W03 + .byte 65*mus_rg_ending_mvl/mxv + .byte W04 + .byte TEMPO , 130*mus_rg_ending_tbs/2 + .byte PAN , c_v+32 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte W96 + .byte W96 + .byte W72 + .byte TEMPO , 102*mus_rg_ending_tbs/2 + .byte W24 + .byte TEMPO , 130*mus_rg_ending_tbs/2 + .byte W96 + .byte W24 + .byte TEMPO , 114*mus_rg_ending_tbs/2 + .byte W24 + .byte TEMPO , 108*mus_rg_ending_tbs/2 + .byte W24 + .byte TEMPO , 96*mus_rg_ending_tbs/2 + .byte VOICE , 47 + .byte W24 + .byte TEMPO , 130*mus_rg_ending_tbs/2 + .byte PAN , c_v+31 + .byte VOL , 77*mus_rg_ending_mvl/mxv + .byte N12 , An1 , v096 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , En1 + .byte W24 + .byte PAN , c_v+31 + .byte N12 , An1 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , En1 + .byte W24 +mus_rg_ending_1_000: + .byte PAN , c_v+31 + .byte N12 , An1 , v096 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , En1 + .byte W24 + .byte PAN , c_v+31 + .byte N12 , An1 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , En1 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_ending_1_000 + .byte PATT + .word mus_rg_ending_1_000 + .byte PATT + .word mus_rg_ending_1_000 + .byte PAN , c_v+31 + .byte N12 , An1 , v096 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , En1 + .byte W24 + .byte PAN , c_v+31 + .byte VOL , 79*mus_rg_ending_mvl/mxv + .byte N06 , En3 , v108 + .byte W06 + .byte En3 , v088 + .byte W06 + .byte PAN , c_v-24 + .byte N12 , En2 , v120 + .byte W12 + .byte PAN , c_v+31 + .byte N06 , Cn3 , v104 + .byte W06 + .byte Cn3 , v088 + .byte W06 + .byte PAN , c_v-24 + .byte N12 , Cn2 , v120 + .byte W12 + .byte PAN , c_v+31 + .byte VOL , 77*mus_rg_ending_mvl/mxv + .byte N12 , An1 , v096 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , En1 + .byte W24 + .byte PAN , c_v+31 + .byte N12 , An1 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , En1 + .byte W24 + .byte PATT + .word mus_rg_ending_1_000 + .byte PATT + .word mus_rg_ending_1_000 + .byte PAN , c_v+31 + .byte N12 , An1 , v096 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , En1 + .byte W24 + .byte PAN , c_v+31 + .byte VOL , 79*mus_rg_ending_mvl/mxv + .byte N06 , En3 , v108 + .byte W06 + .byte En3 , v088 + .byte W06 + .byte PAN , c_v-19 + .byte N12 , En2 , v116 + .byte W12 + .byte PAN , c_v+31 + .byte N06 , Cn3 , v108 + .byte W06 + .byte Cn3 , v088 + .byte W06 + .byte PAN , c_v-22 + .byte N12 , Cn2 , v120 + .byte W12 + .byte PAN , c_v+31 + .byte VOL , 77*mus_rg_ending_mvl/mxv + .byte N06 , An2 + .byte W06 + .byte N05 + .byte W06 + .byte N24 , An1 + .byte W03 + .byte PAN , c_v-32 + .byte W21 + .byte c_v+32 + .byte N06 , An1 , v127 + .byte W24 + .byte PAN , c_v-32 + .byte N06 + .byte W36 + .byte PAN , c_v+31 + .byte N06 , An2 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte N24 , An1 + .byte W03 + .byte PAN , c_v-32 + .byte W21 + .byte c_v+32 + .byte N06 , An1 , v127 + .byte W24 + .byte PAN , c_v-32 + .byte N06 + .byte W36 + .byte PAN , c_v+31 + .byte N05 , An2 , v120 + .byte W06 + .byte N05 + .byte W06 + .byte N24 , An1 + .byte W03 + .byte PAN , c_v-32 + .byte W21 + .byte c_v+32 + .byte N06 , An1 , v127 + .byte W24 + .byte PAN , c_v-32 + .byte N06 + .byte W36 + .byte VOICE , 48 + .byte PAN , c_v+40 + .byte N24 , Cn4 , v044 + .byte W24 + .byte Bn3 + .byte W24 + .byte An3 + .byte W24 + .byte Gs3 + .byte W24 + .byte TEMPO , 116*mus_rg_ending_tbs/2 + .byte An3 + .byte W24 + .byte TEMPO , 102*mus_rg_ending_tbs/2 + .byte Gs3 + .byte W24 + .byte TEMPO , 90*mus_rg_ending_tbs/2 + .byte Fn3 + .byte W24 + .byte TEMPO , 76*mus_rg_ending_tbs/2 + .byte En3 + .byte W24 + .byte TEMPO , 76*mus_rg_ending_tbs/2 + .byte W96 + .byte TEMPO , 100*mus_rg_ending_tbs/2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 1 + .byte PAN , c_v-42 + .byte N48 , Cn3 , v064 + .byte W48 + .byte N24 , Gn3 + .byte W24 + .byte Cs3 + .byte W24 + .byte N48 , Fn3 + .byte W60 + .byte N36 , Cn3 + .byte W36 + .byte N48 , Fn3 + .byte W60 + .byte N24 , Bn2 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N48 , En3 + .byte W60 + .byte N24 , Bn2 + .byte W24 + .byte N12 , An2 + .byte W12 + .byte N48 , Bn2 + .byte W60 + .byte N24 , Fn3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte N48 , An2 + .byte W60 + .byte N24 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N24 , Cn3 + .byte W24 + .byte Bn2 + .byte W24 + .byte An2 + .byte W24 + .byte Cn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N36 , Bn2 + .byte W36 + .byte N24 , An2 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte N48 , Bn2 + .byte W48 + .byte N24 , Gn3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte VOL , 55*mus_rg_ending_mvl/mxv + .byte N24 , Dn3 + .byte W24 + .byte Bn2 + .byte W24 + .byte An2 + .byte W24 + .byte N12 , Gs2 + .byte W12 + .byte Bn2 + .byte W12 + .byte N96 , Cs3 + .byte W96 + .byte W48 + .byte TEMPO , 84*mus_rg_ending_tbs/2 + .byte W24 + .byte TEMPO , 70*mus_rg_ending_tbs/2 + .byte W24 + .byte TEMPO , 96*mus_rg_ending_tbs/2 + .byte W96 + .byte TEMPO , 98*mus_rg_ending_tbs/2 + .byte W96 + .byte TEMPO , 108*mus_rg_ending_tbs/2 + .byte W96 + .byte TEMPO , 122*mus_rg_ending_tbs/2 + .byte W96 + .byte TEMPO , 128*mus_rg_ending_tbs/2 + .byte W96 + .byte TEMPO , 130*mus_rg_ending_tbs/2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 47 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte PAN , c_v-32 + .byte N96 , Dn1 , v108 + .byte W96 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N96 , En1 + .byte W96 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte N06 , En2 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , En1 + .byte W24 + .byte N12 + .byte W12 + .byte Fn1 + .byte W36 + .byte N12 + .byte W12 + .byte N06 , Fn2 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cn2 + .byte W12 + .byte N06 , Fn2 + .byte W12 + .byte N12 , Cn2 + .byte W12 + .byte Cn2 , v120 + .byte W24 + .byte An1 + .byte W24 + .byte Cs2 + .byte W24 + .byte An1 + .byte W24 + .byte N03 , Bn1 , v127 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte Gn2 + .byte W12 + .byte N24 , Gn1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Dn1 + .byte W24 + .byte N12 , Gn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn1 + .byte W24 + .byte N12 + .byte W12 +mus_rg_ending_1_001: + .byte N24 , An1 , v127 + .byte W24 + .byte En1 + .byte W24 + .byte An1 + .byte W24 + .byte En1 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_ending_1_001 + .byte N24 , An1 , v127 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W36 + .byte N24 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte Gs1 + .byte W12 + .byte N48 , Gn1 + .byte W84 + .byte N06 , Dn2 + .byte W12 + .byte N48 , Gn1 + .byte W72 + .byte PAN , c_v+32 + .byte W12 + .byte N06 , An2 , v108 + .byte W06 + .byte An2 , v100 + .byte W06 + .byte N24 , En2 , v127 + .byte W24 + .byte PAN , c_v-36 + .byte N24 , An1 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , En2 + .byte W24 + .byte PAN , c_v-36 + .byte N24 , An1 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , En2 + .byte W24 + .byte PAN , c_v-34 + .byte N24 , An1 + .byte W24 + .byte PAN , c_v+33 + .byte N24 , En2 + .byte W24 + .byte PAN , c_v-35 + .byte W12 + .byte c_v+33 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v-35 + .byte N24 , Gn1 + .byte W36 + .byte PAN , c_v+34 + .byte N06 , Gn2 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte PAN , c_v-34 + .byte N12 , Gn1 + .byte W24 + .byte N12 + .byte W12 + .byte N36 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte PAN , c_v+31 + .byte N24 , An1 + .byte W24 + .byte PAN , c_v-40 + .byte N24 , En1 + .byte W24 + .byte PAN , c_v+31 + .byte N24 , An1 + .byte W24 + .byte PAN , c_v-40 + .byte N24 , En1 + .byte W24 + .byte PAN , c_v+31 + .byte N24 , An1 + .byte W24 + .byte PAN , c_v-40 + .byte N24 , En1 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , An1 + .byte W12 + .byte PAN , c_v-40 + .byte N12 , En1 + .byte W12 + .byte PAN , c_v+31 + .byte N12 , An1 + .byte W12 + .byte En1 + .byte W03 + .byte PAN , c_v-40 + .byte W09 + .byte c_v+34 + .byte N06 , En2 + .byte W12 + .byte PAN , c_v-40 + .byte N12 , An1 + .byte W24 + .byte PAN , c_v+31 + .byte N06 , An2 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v-38 + .byte N32 , An1 + .byte W12 + .byte VOL , 79*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte W03 + .byte 55*mus_rg_ending_mvl/mxv + .byte W03 + .byte 45*mus_rg_ending_mvl/mxv + .byte W03 + .byte 34*mus_rg_ending_mvl/mxv + .byte W03 + .byte 22*mus_rg_ending_mvl/mxv + .byte W03 + .byte 11*mus_rg_ending_mvl/mxv + .byte W03 + .byte 0*mus_rg_ending_mvl/mxv + .byte W15 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_ending_2: + .byte KEYSH , mus_rg_ending_key+0 + .byte VOICE , 2 + .byte PAN , c_v+0 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte LFOS , 44 + .byte BENDR , 12 + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte VOICE , 68 + .byte PAN , c_v+32 + .byte N36 , Cs4 , v052 + .byte W15 + .byte VOL , 64*mus_rg_ending_mvl/mxv + .byte W02 + .byte 56*mus_rg_ending_mvl/mxv + .byte W03 + .byte 51*mus_rg_ending_mvl/mxv + .byte W04 + .byte 45*mus_rg_ending_mvl/mxv + .byte W02 + .byte 37*mus_rg_ending_mvl/mxv + .byte W03 + .byte 30*mus_rg_ending_mvl/mxv + .byte W03 + .byte 29*mus_rg_ending_mvl/mxv + .byte W01 + .byte 26*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte N06 , An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N36 , Bn3 + .byte W15 + .byte VOL , 64*mus_rg_ending_mvl/mxv + .byte W02 + .byte 56*mus_rg_ending_mvl/mxv + .byte W03 + .byte 51*mus_rg_ending_mvl/mxv + .byte W04 + .byte 45*mus_rg_ending_mvl/mxv + .byte W02 + .byte 37*mus_rg_ending_mvl/mxv + .byte W03 + .byte 30*mus_rg_ending_mvl/mxv + .byte W03 + .byte 29*mus_rg_ending_mvl/mxv + .byte W01 + .byte 26*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte N06 , Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N36 , An3 + .byte W15 + .byte VOL , 64*mus_rg_ending_mvl/mxv + .byte W02 + .byte 56*mus_rg_ending_mvl/mxv + .byte W03 + .byte 51*mus_rg_ending_mvl/mxv + .byte W04 + .byte 45*mus_rg_ending_mvl/mxv + .byte W02 + .byte 37*mus_rg_ending_mvl/mxv + .byte W03 + .byte 30*mus_rg_ending_mvl/mxv + .byte W03 + .byte 29*mus_rg_ending_mvl/mxv + .byte W01 + .byte 26*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte N06 , En3 + .byte W06 + .byte An3 + .byte W06 + .byte TIE , Bn3 + .byte W48 + .byte W84 + .byte VOL , 55*mus_rg_ending_mvl/mxv + .byte W12 + .byte 45*mus_rg_ending_mvl/mxv + .byte W12 + .byte 33*mus_rg_ending_mvl/mxv + .byte W12 + .byte 22*mus_rg_ending_mvl/mxv + .byte W09 + .byte 14*mus_rg_ending_mvl/mxv + .byte W15 + .byte 9*mus_rg_ending_mvl/mxv + .byte W24 + .byte EOT + .byte VOL , 0*mus_rg_ending_mvl/mxv + .byte W24 + .byte 89*mus_rg_ending_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte VOICE , 56 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte N36 , An4 , v112 + .byte W36 + .byte N06 , En4 + .byte W06 + .byte An4 + .byte W06 + .byte N36 , Gn4 + .byte W36 + .byte N06 , Dn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N72 , Fs4 + .byte W72 + .byte N12 , Gs4 + .byte W12 + .byte N06 , En4 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , An4 , v084 + .byte W12 + .byte An3 , v076 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte N21 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v+16 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 , v112 + .byte W06 + .byte VOICE , 56 + .byte N36 , Cs4 , v127 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 + .byte W06 + .byte Dn4 + .byte W06 + .byte N24 , En4 + .byte W24 + .byte Cs4 + .byte W24 +mus_rg_ending_2_000: + .byte N24 , Gn4 , v127 + .byte W24 + .byte Fs4 + .byte W24 + .byte En4 + .byte W24 + .byte Dn4 + .byte W24 + .byte PEND + .byte N36 , Cs4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N03 , An3 + .byte W12 + .byte N48 , En4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 77*mus_rg_ending_mvl/mxv + .byte W02 + .byte 71*mus_rg_ending_mvl/mxv + .byte W03 + .byte 66*mus_rg_ending_mvl/mxv + .byte W03 + .byte 59*mus_rg_ending_mvl/mxv + .byte W04 + .byte 52*mus_rg_ending_mvl/mxv + .byte W02 + .byte 48*mus_rg_ending_mvl/mxv + .byte W03 + .byte 42*mus_rg_ending_mvl/mxv + .byte W03 + .byte 39*mus_rg_ending_mvl/mxv + .byte W04 + .byte VOICE , 60 + .byte MOD , 0 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte PAN , c_v+0 + .byte N36 , An3 , v072 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N03 , En3 + .byte W12 + .byte N48 , Cs4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 84*mus_rg_ending_mvl/mxv + .byte W02 + .byte 76*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte W03 + .byte 59*mus_rg_ending_mvl/mxv + .byte W04 + .byte 52*mus_rg_ending_mvl/mxv + .byte W02 + .byte 48*mus_rg_ending_mvl/mxv + .byte W03 + .byte 43*mus_rg_ending_mvl/mxv + .byte W03 + .byte 38*mus_rg_ending_mvl/mxv + .byte W04 + .byte VOICE , 56 + .byte VOL , 89*mus_rg_ending_mvl/mxv + .byte PAN , c_v+16 + .byte N36 , Cs4 , v127 + .byte W36 + .byte MOD , 0 + .byte N06 + .byte W06 + .byte Dn4 + .byte W06 + .byte N24 , En4 + .byte W24 + .byte Cs4 + .byte W24 + .byte PATT + .word mus_rg_ending_2_000 + .byte N36 , Cs4 , v127 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N03 , An3 + .byte W12 + .byte N48 , En4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 77*mus_rg_ending_mvl/mxv + .byte W02 + .byte 70*mus_rg_ending_mvl/mxv + .byte W03 + .byte 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 58*mus_rg_ending_mvl/mxv + .byte W04 + .byte 50*mus_rg_ending_mvl/mxv + .byte W02 + .byte 43*mus_rg_ending_mvl/mxv + .byte W03 + .byte 41*mus_rg_ending_mvl/mxv + .byte W03 + .byte 38*mus_rg_ending_mvl/mxv + .byte W04 + .byte VOICE , 60 + .byte MOD , 0 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte PAN , c_v+0 + .byte N36 , An3 , v072 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N03 , En3 + .byte W12 + .byte N06 , Cs4 + .byte W12 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N24 , En4 + .byte W24 + .byte VOICE , 56 + .byte PAN , c_v+16 + .byte N36 , Dn4 , v127 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N03 , Bn3 + .byte W12 + .byte N48 , Gn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 82*mus_rg_ending_mvl/mxv + .byte W02 + .byte 76*mus_rg_ending_mvl/mxv + .byte W03 + .byte 70*mus_rg_ending_mvl/mxv + .byte W03 + .byte 66*mus_rg_ending_mvl/mxv + .byte W04 + .byte 62*mus_rg_ending_mvl/mxv + .byte W02 + .byte 55*mus_rg_ending_mvl/mxv + .byte W03 + .byte 48*mus_rg_ending_mvl/mxv + .byte W03 + .byte 43*mus_rg_ending_mvl/mxv + .byte W04 + .byte VOICE , 60 + .byte MOD , 0 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte PAN , c_v+0 + .byte N36 , Gn3 , v076 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N03 , Dn3 + .byte W12 + .byte N48 , Bn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 84*mus_rg_ending_mvl/mxv + .byte W02 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 71*mus_rg_ending_mvl/mxv + .byte W03 + .byte 66*mus_rg_ending_mvl/mxv + .byte W04 + .byte 63*mus_rg_ending_mvl/mxv + .byte W02 + .byte 56*mus_rg_ending_mvl/mxv + .byte W03 + .byte 48*mus_rg_ending_mvl/mxv + .byte W03 + .byte 45*mus_rg_ending_mvl/mxv + .byte W04 + .byte VOICE , 56 + .byte MOD , 0 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte PAN , c_v+16 + .byte N72 , Cs4 , v127 + .byte W15 + .byte MOD , 6 + .byte W56 + .byte W01 + .byte 0 + .byte N24 , Dn4 + .byte W24 + .byte N96 , En4 + .byte W12 + .byte MOD , 6 + .byte W36 + .byte VOL , 86*mus_rg_ending_mvl/mxv + .byte W02 + .byte 79*mus_rg_ending_mvl/mxv + .byte W03 + .byte 76*mus_rg_ending_mvl/mxv + .byte W03 + .byte 72*mus_rg_ending_mvl/mxv + .byte W04 + .byte 70*mus_rg_ending_mvl/mxv + .byte W02 + .byte 65*mus_rg_ending_mvl/mxv + .byte W03 + .byte 62*mus_rg_ending_mvl/mxv + .byte W03 + .byte 59*mus_rg_ending_mvl/mxv + .byte W06 + .byte 56*mus_rg_ending_mvl/mxv + .byte W03 + .byte 53*mus_rg_ending_mvl/mxv + .byte W03 + .byte 52*mus_rg_ending_mvl/mxv + .byte W04 + .byte 48*mus_rg_ending_mvl/mxv + .byte W02 + .byte 45*mus_rg_ending_mvl/mxv + .byte W03 + .byte 41*mus_rg_ending_mvl/mxv + .byte W03 + .byte 38*mus_rg_ending_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte N36 , Dn4 , v112 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N03 , Bn3 + .byte W12 + .byte N48 , Gn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 87*mus_rg_ending_mvl/mxv + .byte W02 + .byte 84*mus_rg_ending_mvl/mxv + .byte W03 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 72*mus_rg_ending_mvl/mxv + .byte W04 + .byte 68*mus_rg_ending_mvl/mxv + .byte W02 + .byte 62*mus_rg_ending_mvl/mxv + .byte W03 + .byte 56*mus_rg_ending_mvl/mxv + .byte W03 + .byte 50*mus_rg_ending_mvl/mxv + .byte W04 + .byte VOICE , 60 + .byte MOD , 0 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte PAN , c_v+0 + .byte N36 , Gn3 , v076 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N03 , Dn3 + .byte W12 + .byte N48 , Bn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 86*mus_rg_ending_mvl/mxv + .byte W02 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 70*mus_rg_ending_mvl/mxv + .byte W03 + .byte 60*mus_rg_ending_mvl/mxv + .byte W04 + .byte 58*mus_rg_ending_mvl/mxv + .byte W02 + .byte 50*mus_rg_ending_mvl/mxv + .byte W03 + .byte 45*mus_rg_ending_mvl/mxv + .byte W07 + .byte VOICE , 56 + .byte MOD , 0 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte PAN , c_v+16 + .byte N80 , En4 , v127 + .byte W12 + .byte MOD , 5 + .byte W36 + .byte VOL , 84*mus_rg_ending_mvl/mxv + .byte W02 + .byte 79*mus_rg_ending_mvl/mxv + .byte W03 + .byte 76*mus_rg_ending_mvl/mxv + .byte W03 + .byte 71*mus_rg_ending_mvl/mxv + .byte W04 + .byte 66*mus_rg_ending_mvl/mxv + .byte W02 + .byte 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 59*mus_rg_ending_mvl/mxv + .byte W03 + .byte 56*mus_rg_ending_mvl/mxv + .byte W04 + .byte 55*mus_rg_ending_mvl/mxv + .byte W02 + .byte 53*mus_rg_ending_mvl/mxv + .byte W03 + .byte 50*mus_rg_ending_mvl/mxv + .byte W03 + .byte 47*mus_rg_ending_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte N06 + .byte W06 + .byte Gs4 + .byte W06 + .byte N96 , An4 + .byte W12 + .byte MOD , 5 + .byte W36 + .byte VOL , 87*mus_rg_ending_mvl/mxv + .byte W02 + .byte 86*mus_rg_ending_mvl/mxv + .byte W03 + .byte 79*mus_rg_ending_mvl/mxv + .byte W03 + .byte 76*mus_rg_ending_mvl/mxv + .byte W04 + .byte 70*mus_rg_ending_mvl/mxv + .byte W02 + .byte 66*mus_rg_ending_mvl/mxv + .byte W03 + .byte 62*mus_rg_ending_mvl/mxv + .byte W03 + .byte 58*mus_rg_ending_mvl/mxv + .byte W04 + .byte 56*mus_rg_ending_mvl/mxv + .byte W02 + .byte 50*mus_rg_ending_mvl/mxv + .byte W03 + .byte 48*mus_rg_ending_mvl/mxv + .byte W03 + .byte 43*mus_rg_ending_mvl/mxv + .byte W04 + .byte 41*mus_rg_ending_mvl/mxv + .byte W02 + .byte 38*mus_rg_ending_mvl/mxv + .byte W03 + .byte 35*mus_rg_ending_mvl/mxv + .byte W03 + .byte 34*mus_rg_ending_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte N12 , Gn4 , v112 + .byte W24 + .byte Fs4 + .byte W24 + .byte En4 + .byte W24 + .byte Dn4 + .byte W24 + .byte N66 , Cs4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 80*mus_rg_ending_mvl/mxv + .byte W02 + .byte 75*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte W03 + .byte 60*mus_rg_ending_mvl/mxv + .byte W04 + .byte 58*mus_rg_ending_mvl/mxv + .byte W02 + .byte 53*mus_rg_ending_mvl/mxv + .byte W03 + .byte 47*mus_rg_ending_mvl/mxv + .byte W03 + .byte 40*mus_rg_ending_mvl/mxv + .byte W04 + .byte 38*mus_rg_ending_mvl/mxv + .byte W02 + .byte 33*mus_rg_ending_mvl/mxv + .byte W03 + .byte 30*mus_rg_ending_mvl/mxv + .byte W03 + .byte 24*mus_rg_ending_mvl/mxv + .byte W04 + .byte 21*mus_rg_ending_mvl/mxv + .byte W02 + .byte 19*mus_rg_ending_mvl/mxv + .byte W10 + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte N06 , Cs4 , v072 + .byte W06 + .byte Bn3 , v096 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N12 , Cs4 + .byte W18 + .byte N06 , An3 + .byte W06 + .byte N12 , Cs4 + .byte W12 + .byte N06 + .byte W06 + .byte Dn4 + .byte W06 + .byte N24 , En4 + .byte W24 + .byte Cs4 + .byte W24 +mus_rg_ending_2_001: + .byte N24 , Gn4 , v096 + .byte W24 + .byte N21 , Fs4 + .byte W21 + .byte N03 , Fn4 , v064 + .byte W03 + .byte N21 , En4 , v096 + .byte W21 + .byte N03 , Ds4 , v064 + .byte W03 + .byte N24 , Dn4 , v096 + .byte W24 + .byte PEND +mus_rg_ending_2_002: + .byte N36 , Cs4 , v096 + .byte W21 + .byte VOL , 86*mus_rg_ending_mvl/mxv + .byte W03 + .byte 82*mus_rg_ending_mvl/mxv + .byte W02 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 74*mus_rg_ending_mvl/mxv + .byte W03 + .byte 70*mus_rg_ending_mvl/mxv + .byte W04 + .byte 90*mus_rg_ending_mvl/mxv + .byte N03 , An3 + .byte W12 + .byte N48 , En4 + .byte W18 + .byte VOL , 88*mus_rg_ending_mvl/mxv + .byte W02 + .byte 83*mus_rg_ending_mvl/mxv + .byte W04 + .byte 81*mus_rg_ending_mvl/mxv + .byte W02 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 73*mus_rg_ending_mvl/mxv + .byte W03 + .byte 69*mus_rg_ending_mvl/mxv + .byte W04 + .byte 67*mus_rg_ending_mvl/mxv + .byte W02 + .byte 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 61*mus_rg_ending_mvl/mxv + .byte W03 + .byte 60*mus_rg_ending_mvl/mxv + .byte W04 + .byte PEND +mus_rg_ending_2_003: + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte N36 , An3 , v096 + .byte W21 + .byte VOL , 86*mus_rg_ending_mvl/mxv + .byte W03 + .byte 82*mus_rg_ending_mvl/mxv + .byte W02 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 74*mus_rg_ending_mvl/mxv + .byte W03 + .byte 70*mus_rg_ending_mvl/mxv + .byte W04 + .byte 90*mus_rg_ending_mvl/mxv + .byte N03 , En3 + .byte W12 + .byte N48 , Cs4 + .byte W18 + .byte VOL , 88*mus_rg_ending_mvl/mxv + .byte W02 + .byte 83*mus_rg_ending_mvl/mxv + .byte W04 + .byte 81*mus_rg_ending_mvl/mxv + .byte W02 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 73*mus_rg_ending_mvl/mxv + .byte W03 + .byte 69*mus_rg_ending_mvl/mxv + .byte W04 + .byte 67*mus_rg_ending_mvl/mxv + .byte W02 + .byte 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 61*mus_rg_ending_mvl/mxv + .byte W03 + .byte 60*mus_rg_ending_mvl/mxv + .byte W04 + .byte PEND + .byte 90*mus_rg_ending_mvl/mxv + .byte N06 + .byte W06 + .byte Bn3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W12 + .byte N06 + .byte W06 + .byte Dn4 + .byte W06 + .byte N24 , En4 + .byte W24 + .byte Cs4 + .byte W24 + .byte PATT + .word mus_rg_ending_2_001 + .byte PATT + .word mus_rg_ending_2_002 + .byte PATT + .word mus_rg_ending_2_003 + .byte VOICE , 60 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte N36 , Dn4 , v056 + .byte W21 + .byte VOL , 86*mus_rg_ending_mvl/mxv + .byte W03 + .byte 82*mus_rg_ending_mvl/mxv + .byte W02 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 74*mus_rg_ending_mvl/mxv + .byte W03 + .byte 70*mus_rg_ending_mvl/mxv + .byte W04 + .byte 90*mus_rg_ending_mvl/mxv + .byte N06 , Bn3 + .byte W12 + .byte N48 , Gn4 + .byte W18 + .byte VOL , 88*mus_rg_ending_mvl/mxv + .byte W02 + .byte 83*mus_rg_ending_mvl/mxv + .byte W04 + .byte 81*mus_rg_ending_mvl/mxv + .byte W02 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 73*mus_rg_ending_mvl/mxv + .byte W03 + .byte 69*mus_rg_ending_mvl/mxv + .byte W04 + .byte 67*mus_rg_ending_mvl/mxv + .byte W02 + .byte 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 61*mus_rg_ending_mvl/mxv + .byte W03 + .byte 60*mus_rg_ending_mvl/mxv + .byte W04 + .byte VOICE , 48 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte N36 , Gn3 + .byte W21 + .byte VOL , 86*mus_rg_ending_mvl/mxv + .byte W03 + .byte 82*mus_rg_ending_mvl/mxv + .byte W02 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 74*mus_rg_ending_mvl/mxv + .byte W03 + .byte 70*mus_rg_ending_mvl/mxv + .byte W04 + .byte 90*mus_rg_ending_mvl/mxv + .byte N06 , Dn3 + .byte W12 + .byte N48 , Bn3 + .byte W18 + .byte VOL , 88*mus_rg_ending_mvl/mxv + .byte W02 + .byte 83*mus_rg_ending_mvl/mxv + .byte W04 + .byte 81*mus_rg_ending_mvl/mxv + .byte W02 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 73*mus_rg_ending_mvl/mxv + .byte W03 + .byte 69*mus_rg_ending_mvl/mxv + .byte W04 + .byte 67*mus_rg_ending_mvl/mxv + .byte W02 + .byte 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 61*mus_rg_ending_mvl/mxv + .byte W03 + .byte 60*mus_rg_ending_mvl/mxv + .byte W04 + .byte 62*mus_rg_ending_mvl/mxv + .byte N72 , Cs4 + .byte W02 + .byte VOL , 64*mus_rg_ending_mvl/mxv + .byte W03 + .byte 67*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte W04 + .byte 70*mus_rg_ending_mvl/mxv + .byte W02 + .byte 72*mus_rg_ending_mvl/mxv + .byte W03 + .byte 75*mus_rg_ending_mvl/mxv + .byte W03 + .byte 76*mus_rg_ending_mvl/mxv + .byte W04 + .byte 77*mus_rg_ending_mvl/mxv + .byte W02 + .byte 82*mus_rg_ending_mvl/mxv + .byte W03 + .byte 87*mus_rg_ending_mvl/mxv + .byte W03 + .byte 90*mus_rg_ending_mvl/mxv + .byte W40 + .byte N24 , Dn4 + .byte W24 + .byte N96 , En4 + .byte W42 + .byte VOL , 86*mus_rg_ending_mvl/mxv + .byte W02 + .byte 82*mus_rg_ending_mvl/mxv + .byte W04 + .byte 82*mus_rg_ending_mvl/mxv + .byte W02 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 75*mus_rg_ending_mvl/mxv + .byte W03 + .byte 72*mus_rg_ending_mvl/mxv + .byte W04 + .byte 70*mus_rg_ending_mvl/mxv + .byte W02 + .byte 68*mus_rg_ending_mvl/mxv + .byte W03 + .byte 66*mus_rg_ending_mvl/mxv + .byte W03 + .byte 62*mus_rg_ending_mvl/mxv + .byte W04 + .byte 60*mus_rg_ending_mvl/mxv + .byte W02 + .byte 59*mus_rg_ending_mvl/mxv + .byte W03 + .byte 55*mus_rg_ending_mvl/mxv + .byte W03 + .byte 53*mus_rg_ending_mvl/mxv + .byte W04 + .byte 51*mus_rg_ending_mvl/mxv + .byte W02 + .byte 49*mus_rg_ending_mvl/mxv + .byte W03 + .byte 48*mus_rg_ending_mvl/mxv + .byte W07 + .byte VOICE , 60 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte N36 , Dn4 , v044 + .byte W21 + .byte VOL , 86*mus_rg_ending_mvl/mxv + .byte W03 + .byte 82*mus_rg_ending_mvl/mxv + .byte W02 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 74*mus_rg_ending_mvl/mxv + .byte W03 + .byte 70*mus_rg_ending_mvl/mxv + .byte W04 + .byte 90*mus_rg_ending_mvl/mxv + .byte N06 , Bn3 + .byte W12 + .byte N48 , Gn4 + .byte W18 + .byte VOL , 88*mus_rg_ending_mvl/mxv + .byte W02 + .byte 83*mus_rg_ending_mvl/mxv + .byte W04 + .byte 81*mus_rg_ending_mvl/mxv + .byte W02 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 73*mus_rg_ending_mvl/mxv + .byte W03 + .byte 69*mus_rg_ending_mvl/mxv + .byte W04 + .byte 67*mus_rg_ending_mvl/mxv + .byte W02 + .byte 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 61*mus_rg_ending_mvl/mxv + .byte W03 + .byte 60*mus_rg_ending_mvl/mxv + .byte W04 + .byte VOICE , 48 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte N36 , Gn3 , v056 + .byte W21 + .byte VOL , 86*mus_rg_ending_mvl/mxv + .byte W03 + .byte 82*mus_rg_ending_mvl/mxv + .byte W02 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 74*mus_rg_ending_mvl/mxv + .byte W03 + .byte 70*mus_rg_ending_mvl/mxv + .byte W04 + .byte 90*mus_rg_ending_mvl/mxv + .byte N12 , Dn3 + .byte W12 + .byte N48 , Bn3 + .byte W18 + .byte VOL , 88*mus_rg_ending_mvl/mxv + .byte W02 + .byte 83*mus_rg_ending_mvl/mxv + .byte W04 + .byte 81*mus_rg_ending_mvl/mxv + .byte W02 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 73*mus_rg_ending_mvl/mxv + .byte W03 + .byte 69*mus_rg_ending_mvl/mxv + .byte W04 + .byte 67*mus_rg_ending_mvl/mxv + .byte W02 + .byte 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 61*mus_rg_ending_mvl/mxv + .byte W03 + .byte 60*mus_rg_ending_mvl/mxv + .byte W04 + .byte 56*mus_rg_ending_mvl/mxv + .byte N80 , En4 + .byte W02 + .byte VOL , 60*mus_rg_ending_mvl/mxv + .byte W03 + .byte 60*mus_rg_ending_mvl/mxv + .byte W03 + .byte 62*mus_rg_ending_mvl/mxv + .byte W04 + .byte 63*mus_rg_ending_mvl/mxv + .byte W02 + .byte 65*mus_rg_ending_mvl/mxv + .byte W03 + .byte 67*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte W04 + .byte 70*mus_rg_ending_mvl/mxv + .byte W02 + .byte 72*mus_rg_ending_mvl/mxv + .byte W03 + .byte 75*mus_rg_ending_mvl/mxv + .byte W03 + .byte 77*mus_rg_ending_mvl/mxv + .byte W04 + .byte 79*mus_rg_ending_mvl/mxv + .byte W02 + .byte 83*mus_rg_ending_mvl/mxv + .byte W03 + .byte 84*mus_rg_ending_mvl/mxv + .byte W03 + .byte 89*mus_rg_ending_mvl/mxv + .byte W04 + .byte 90*mus_rg_ending_mvl/mxv + .byte W36 + .byte N06 + .byte W06 + .byte Gs4 + .byte W06 + .byte N96 , An4 + .byte W48 + .byte VOL , 86*mus_rg_ending_mvl/mxv + .byte W02 + .byte 84*mus_rg_ending_mvl/mxv + .byte W03 + .byte 82*mus_rg_ending_mvl/mxv + .byte W03 + .byte 79*mus_rg_ending_mvl/mxv + .byte W04 + .byte 78*mus_rg_ending_mvl/mxv + .byte W02 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 75*mus_rg_ending_mvl/mxv + .byte W03 + .byte 73*mus_rg_ending_mvl/mxv + .byte W04 + .byte 71*mus_rg_ending_mvl/mxv + .byte W02 + .byte 70*mus_rg_ending_mvl/mxv + .byte W03 + .byte 69*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte W06 + .byte 67*mus_rg_ending_mvl/mxv + .byte W03 + .byte 66*mus_rg_ending_mvl/mxv + .byte W07 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte N12 , Gn4 , v060 + .byte W24 + .byte Fs4 + .byte W24 + .byte En4 + .byte W24 + .byte Dn4 + .byte W24 + .byte N24 , Cs4 + .byte W24 + .byte Bn3 , v072 + .byte W24 + .byte An3 , v080 + .byte W24 + .byte Gs3 , v076 + .byte W24 + .byte VOICE , 56 + .byte PAN , c_v-34 + .byte N06 , An3 , v096 + .byte W24 + .byte N15 , Gs3 + .byte W24 + .byte N06 , An3 + .byte W24 + .byte N24 , En3 + .byte W24 +mus_rg_ending_2_004: + .byte W12 + .byte N06 , An3 , v096 + .byte W24 + .byte N12 , Gs3 + .byte W24 + .byte N06 , An3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte PEND +mus_rg_ending_2_005: + .byte N06 , An3 , v096 + .byte W24 + .byte N15 , Gs3 + .byte W24 + .byte N06 , An3 + .byte W24 + .byte N24 , En3 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_ending_2_004 + .byte PATT + .word mus_rg_ending_2_005 + .byte PATT + .word mus_rg_ending_2_004 + .byte PATT + .word mus_rg_ending_2_005 + .byte PATT + .word mus_rg_ending_2_004 + .byte PATT + .word mus_rg_ending_2_005 + .byte PATT + .word mus_rg_ending_2_004 + .byte W12 + .byte N06 , An2 , v127 + .byte W06 + .byte N06 + .byte W18 + .byte An1 + .byte W24 + .byte N06 + .byte W24 + .byte N24 , Fn3 + .byte W12 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte N06 + .byte W18 + .byte An1 + .byte W24 + .byte N06 + .byte W24 + .byte N24 , Fs3 + .byte W12 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte N06 + .byte W18 + .byte An1 + .byte W24 + .byte N06 + .byte W24 + .byte N24 , Gs3 + .byte W12 + .byte W12 + .byte VOICE , 48 + .byte N24 , An4 , v080 + .byte W24 + .byte Gs4 + .byte W24 + .byte Fn4 + .byte W24 + .byte En4 + .byte W12 + .byte W12 + .byte Fn4 + .byte W24 + .byte En4 + .byte W24 + .byte Cn4 + .byte W24 + .byte N12 , Bn3 + .byte W12 + .byte VOL , 18*mus_rg_ending_mvl/mxv + .byte N48 , Cn4 , v044 + .byte W02 + .byte VOL , 21*mus_rg_ending_mvl/mxv + .byte W03 + .byte 26*mus_rg_ending_mvl/mxv + .byte W03 + .byte 31*mus_rg_ending_mvl/mxv + .byte W04 + .byte 36*mus_rg_ending_mvl/mxv + .byte W02 + .byte 42*mus_rg_ending_mvl/mxv + .byte W03 + .byte 50*mus_rg_ending_mvl/mxv + .byte W03 + .byte 59*mus_rg_ending_mvl/mxv + .byte W04 + .byte 65*mus_rg_ending_mvl/mxv + .byte W02 + .byte 76*mus_rg_ending_mvl/mxv + .byte W03 + .byte 82*mus_rg_ending_mvl/mxv + .byte W03 + .byte 89*mus_rg_ending_mvl/mxv + .byte W16 + .byte 18*mus_rg_ending_mvl/mxv + .byte N48 , Dn4 + .byte W02 + .byte VOL , 21*mus_rg_ending_mvl/mxv + .byte W03 + .byte 26*mus_rg_ending_mvl/mxv + .byte W03 + .byte 31*mus_rg_ending_mvl/mxv + .byte W04 + .byte 36*mus_rg_ending_mvl/mxv + .byte W02 + .byte 42*mus_rg_ending_mvl/mxv + .byte W03 + .byte 50*mus_rg_ending_mvl/mxv + .byte W03 + .byte 59*mus_rg_ending_mvl/mxv + .byte W04 + .byte 65*mus_rg_ending_mvl/mxv + .byte W02 + .byte 76*mus_rg_ending_mvl/mxv + .byte W03 + .byte 82*mus_rg_ending_mvl/mxv + .byte W03 + .byte 89*mus_rg_ending_mvl/mxv + .byte W16 + .byte VOICE , 1 + .byte PAN , c_v+0 + .byte VOL , 52*mus_rg_ending_mvl/mxv + .byte N96 , En4 , v124 + .byte W96 + .byte W12 + .byte N12 + .byte W12 + .byte Fn4 + .byte W12 + .byte N21 , Gn4 + .byte W21 + .byte N03 , Gs4 , v076 + .byte W03 + .byte N12 , Gn4 , v124 + .byte W12 + .byte N08 + .byte W08 + .byte Fn4 + .byte W08 + .byte En4 + .byte W08 + .byte N12 , Fn4 + .byte W12 + .byte N84 , Dn4 , v096 + .byte W84 + .byte W24 + .byte N24 , Fn3 , v080 + .byte W24 + .byte En3 + .byte W24 + .byte An3 + .byte W24 + .byte N96 , Dn4 , v124 + .byte W96 + .byte W12 + .byte N12 + .byte W12 + .byte En4 + .byte W12 + .byte N21 , Fn4 + .byte W21 + .byte N03 , Fs4 , v080 + .byte W03 + .byte N12 , Fn4 , v124 + .byte W12 + .byte N08 + .byte W08 + .byte En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N12 , En4 + .byte W12 + .byte N84 , Gn4 + .byte W84 + .byte VOICE , 48 + .byte VOL , 45*mus_rg_ending_mvl/mxv + .byte W24 + .byte N24 , Cn4 , v112 + .byte W24 + .byte Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte VOL , 24*mus_rg_ending_mvl/mxv + .byte N72 , An4 + .byte W02 + .byte VOL , 26*mus_rg_ending_mvl/mxv + .byte W03 + .byte 29*mus_rg_ending_mvl/mxv + .byte W03 + .byte 34*mus_rg_ending_mvl/mxv + .byte W04 + .byte 39*mus_rg_ending_mvl/mxv + .byte W02 + .byte 43*mus_rg_ending_mvl/mxv + .byte W01 + .byte 45*mus_rg_ending_mvl/mxv + .byte W56 + .byte W01 + .byte N24 , Fn4 + .byte W24 + .byte N36 , Cn5 + .byte W36 + .byte N09 , Bn4 + .byte W09 + .byte N03 , Ds5 , v080 + .byte W03 + .byte N12 , Dn5 , v112 + .byte W12 + .byte Cn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte N09 , An4 + .byte W09 + .byte N03 , As4 , v060 + .byte W03 + .byte N24 , An4 , v112 + .byte W24 + .byte VOL , 26*mus_rg_ending_mvl/mxv + .byte N60 , Gn4 + .byte W02 + .byte VOL , 29*mus_rg_ending_mvl/mxv + .byte W03 + .byte 34*mus_rg_ending_mvl/mxv + .byte W03 + .byte 36*mus_rg_ending_mvl/mxv + .byte W04 + .byte 39*mus_rg_ending_mvl/mxv + .byte W02 + .byte 43*mus_rg_ending_mvl/mxv + .byte W03 + .byte 45*mus_rg_ending_mvl/mxv + .byte W42 + .byte W01 + .byte N12 , En4 + .byte W12 + .byte VOL , 24*mus_rg_ending_mvl/mxv + .byte N72 , Gn4 + .byte W02 + .byte VOL , 27*mus_rg_ending_mvl/mxv + .byte W03 + .byte 31*mus_rg_ending_mvl/mxv + .byte W03 + .byte 34*mus_rg_ending_mvl/mxv + .byte W04 + .byte 35*mus_rg_ending_mvl/mxv + .byte W02 + .byte 39*mus_rg_ending_mvl/mxv + .byte W03 + .byte 42*mus_rg_ending_mvl/mxv + .byte W03 + .byte 47*mus_rg_ending_mvl/mxv + .byte W01 + .byte 45*mus_rg_ending_mvl/mxv + .byte W48 + .byte W03 + .byte N24 , Fs4 + .byte W24 + .byte VOL , 22*mus_rg_ending_mvl/mxv + .byte N72 , Fn4 + .byte W02 + .byte VOL , 24*mus_rg_ending_mvl/mxv + .byte W03 + .byte 27*mus_rg_ending_mvl/mxv + .byte W03 + .byte 31*mus_rg_ending_mvl/mxv + .byte W04 + .byte 32*mus_rg_ending_mvl/mxv + .byte W02 + .byte 36*mus_rg_ending_mvl/mxv + .byte W03 + .byte 41*mus_rg_ending_mvl/mxv + .byte W03 + .byte 43*mus_rg_ending_mvl/mxv + .byte W04 + .byte 45*mus_rg_ending_mvl/mxv + .byte W48 + .byte N12 , En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte Cn4 + .byte W24 + .byte Bn3 + .byte W24 + .byte Dn4 + .byte W24 + .byte N12 , En4 + .byte W12 + .byte Gn3 + .byte W12 + .byte VOL , 22*mus_rg_ending_mvl/mxv + .byte N60 , En4 + .byte W02 + .byte VOL , 26*mus_rg_ending_mvl/mxv + .byte W06 + .byte 31*mus_rg_ending_mvl/mxv + .byte W04 + .byte 35*mus_rg_ending_mvl/mxv + .byte W02 + .byte 39*mus_rg_ending_mvl/mxv + .byte W03 + .byte 43*mus_rg_ending_mvl/mxv + .byte W01 + .byte 45*mus_rg_ending_mvl/mxv + .byte W42 + .byte N12 , Fn4 + .byte W12 + .byte VOL , 14*mus_rg_ending_mvl/mxv + .byte TIE , Gn4 + .byte W03 + .byte VOL , 17*mus_rg_ending_mvl/mxv + .byte W02 + .byte 18*mus_rg_ending_mvl/mxv + .byte W03 + .byte 19*mus_rg_ending_mvl/mxv + .byte W09 + .byte 22*mus_rg_ending_mvl/mxv + .byte W03 + .byte 26*mus_rg_ending_mvl/mxv + .byte W04 + .byte 29*mus_rg_ending_mvl/mxv + .byte W05 + .byte 31*mus_rg_ending_mvl/mxv + .byte W03 + .byte 32*mus_rg_ending_mvl/mxv + .byte W04 + .byte 34*mus_rg_ending_mvl/mxv + .byte W05 + .byte 36*mus_rg_ending_mvl/mxv + .byte W03 + .byte 38*mus_rg_ending_mvl/mxv + .byte W06 + .byte 39*mus_rg_ending_mvl/mxv + .byte W03 + .byte 42*mus_rg_ending_mvl/mxv + .byte W03 + .byte 43*mus_rg_ending_mvl/mxv + .byte W04 + .byte 45*mus_rg_ending_mvl/mxv + .byte W36 + .byte W42 + .byte 45*mus_rg_ending_mvl/mxv + .byte W02 + .byte 43*mus_rg_ending_mvl/mxv + .byte W04 + .byte 42*mus_rg_ending_mvl/mxv + .byte W02 + .byte 38*mus_rg_ending_mvl/mxv + .byte W03 + .byte 35*mus_rg_ending_mvl/mxv + .byte W03 + .byte 32*mus_rg_ending_mvl/mxv + .byte W04 + .byte 31*mus_rg_ending_mvl/mxv + .byte W02 + .byte 29*mus_rg_ending_mvl/mxv + .byte W03 + .byte 27*mus_rg_ending_mvl/mxv + .byte W03 + .byte 24*mus_rg_ending_mvl/mxv + .byte W04 + .byte 22*mus_rg_ending_mvl/mxv + .byte W02 + .byte 21*mus_rg_ending_mvl/mxv + .byte W06 + .byte 19*mus_rg_ending_mvl/mxv + .byte W04 + .byte 18*mus_rg_ending_mvl/mxv + .byte W05 + .byte 17*mus_rg_ending_mvl/mxv + .byte W03 + .byte 15*mus_rg_ending_mvl/mxv + .byte W04 + .byte EOT + .byte TIE , An4 + .byte W05 + .byte VOL , 11*mus_rg_ending_mvl/mxv + .byte W03 + .byte 12*mus_rg_ending_mvl/mxv + .byte W06 + .byte 14*mus_rg_ending_mvl/mxv + .byte W10 + .byte 15*mus_rg_ending_mvl/mxv + .byte W02 + .byte 18*mus_rg_ending_mvl/mxv + .byte W06 + .byte 21*mus_rg_ending_mvl/mxv + .byte W04 + .byte 24*mus_rg_ending_mvl/mxv + .byte W05 + .byte 26*mus_rg_ending_mvl/mxv + .byte W03 + .byte 29*mus_rg_ending_mvl/mxv + .byte W06 + .byte 31*mus_rg_ending_mvl/mxv + .byte W03 + .byte 34*mus_rg_ending_mvl/mxv + .byte W03 + .byte 35*mus_rg_ending_mvl/mxv + .byte W04 + .byte 36*mus_rg_ending_mvl/mxv + .byte W02 + .byte 38*mus_rg_ending_mvl/mxv + .byte W03 + .byte 39*mus_rg_ending_mvl/mxv + .byte W03 + .byte 41*mus_rg_ending_mvl/mxv + .byte W04 + .byte 42*mus_rg_ending_mvl/mxv + .byte W02 + .byte 43*mus_rg_ending_mvl/mxv + .byte W22 + .byte W36 + .byte W03 + .byte 43*mus_rg_ending_mvl/mxv + .byte W11 + .byte 41*mus_rg_ending_mvl/mxv + .byte W03 + .byte 38*mus_rg_ending_mvl/mxv + .byte W03 + .byte 35*mus_rg_ending_mvl/mxv + .byte W04 + .byte 31*mus_rg_ending_mvl/mxv + .byte W02 + .byte 27*mus_rg_ending_mvl/mxv + .byte W03 + .byte 26*mus_rg_ending_mvl/mxv + .byte W03 + .byte 22*mus_rg_ending_mvl/mxv + .byte W04 + .byte 21*mus_rg_ending_mvl/mxv + .byte W02 + .byte 18*mus_rg_ending_mvl/mxv + .byte W03 + .byte 17*mus_rg_ending_mvl/mxv + .byte W09 + .byte 15*mus_rg_ending_mvl/mxv + .byte W07 + .byte EOT + .byte W03 + .byte PAN , c_v+0 + .byte VOL , 72*mus_rg_ending_mvl/mxv + .byte N24 , Gn4 , v028 + .byte W24 + .byte Fs4 , v032 + .byte W24 + .byte En4 , v036 + .byte W24 + .byte Dn4 , v044 + .byte W24 + .byte VOL , 18*mus_rg_ending_mvl/mxv + .byte PAN , c_v-17 + .byte N96 , Cs4 , v068 + .byte W05 + .byte VOL , 21*mus_rg_ending_mvl/mxv + .byte W07 + .byte 22*mus_rg_ending_mvl/mxv + .byte W02 + .byte 27*mus_rg_ending_mvl/mxv + .byte W03 + .byte 31*mus_rg_ending_mvl/mxv + .byte W03 + .byte 34*mus_rg_ending_mvl/mxv + .byte W04 + .byte 35*mus_rg_ending_mvl/mxv + .byte W02 + .byte 39*mus_rg_ending_mvl/mxv + .byte W03 + .byte 41*mus_rg_ending_mvl/mxv + .byte W03 + .byte 43*mus_rg_ending_mvl/mxv + .byte W04 + .byte 45*mus_rg_ending_mvl/mxv + .byte W02 + .byte 50*mus_rg_ending_mvl/mxv + .byte W03 + .byte 53*mus_rg_ending_mvl/mxv + .byte W03 + .byte 56*mus_rg_ending_mvl/mxv + .byte W04 + .byte 58*mus_rg_ending_mvl/mxv + .byte W02 + .byte 62*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte W03 + .byte 70*mus_rg_ending_mvl/mxv + .byte W04 + .byte 71*mus_rg_ending_mvl/mxv + .byte W02 + .byte 76*mus_rg_ending_mvl/mxv + .byte W03 + .byte 77*mus_rg_ending_mvl/mxv + .byte W30 + .byte W01 + .byte 14*mus_rg_ending_mvl/mxv + .byte N96 , An3 , v072 + .byte W02 + .byte VOL , 17*mus_rg_ending_mvl/mxv + .byte W03 + .byte 18*mus_rg_ending_mvl/mxv + .byte W03 + .byte 21*mus_rg_ending_mvl/mxv + .byte W04 + .byte 22*mus_rg_ending_mvl/mxv + .byte W02 + .byte 26*mus_rg_ending_mvl/mxv + .byte W03 + .byte 27*mus_rg_ending_mvl/mxv + .byte W03 + .byte 29*mus_rg_ending_mvl/mxv + .byte W04 + .byte 32*mus_rg_ending_mvl/mxv + .byte W02 + .byte 35*mus_rg_ending_mvl/mxv + .byte W03 + .byte 38*mus_rg_ending_mvl/mxv + .byte W03 + .byte 41*mus_rg_ending_mvl/mxv + .byte W04 + .byte 43*mus_rg_ending_mvl/mxv + .byte W02 + .byte 47*mus_rg_ending_mvl/mxv + .byte W03 + .byte 52*mus_rg_ending_mvl/mxv + .byte W03 + .byte 53*mus_rg_ending_mvl/mxv + .byte W04 + .byte 56*mus_rg_ending_mvl/mxv + .byte W02 + .byte 60*mus_rg_ending_mvl/mxv + .byte W03 + .byte 65*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte W04 + .byte 70*mus_rg_ending_mvl/mxv + .byte W02 + .byte 76*mus_rg_ending_mvl/mxv + .byte W32 + .byte W02 + .byte 24*mus_rg_ending_mvl/mxv + .byte PAN , c_v+0 + .byte N96 , En3 + .byte W02 + .byte VOL , 27*mus_rg_ending_mvl/mxv + .byte W06 + .byte 31*mus_rg_ending_mvl/mxv + .byte W06 + .byte 34*mus_rg_ending_mvl/mxv + .byte W12 + .byte 36*mus_rg_ending_mvl/mxv + .byte W03 + .byte 38*mus_rg_ending_mvl/mxv + .byte W03 + .byte 42*mus_rg_ending_mvl/mxv + .byte W04 + .byte 43*mus_rg_ending_mvl/mxv + .byte W02 + .byte 48*mus_rg_ending_mvl/mxv + .byte W03 + .byte 52*mus_rg_ending_mvl/mxv + .byte W03 + .byte 56*mus_rg_ending_mvl/mxv + .byte W04 + .byte 59*mus_rg_ending_mvl/mxv + .byte W02 + .byte 62*mus_rg_ending_mvl/mxv + .byte W03 + .byte 66*mus_rg_ending_mvl/mxv + .byte W03 + .byte 71*mus_rg_ending_mvl/mxv + .byte W04 + .byte 75*mus_rg_ending_mvl/mxv + .byte W36 + .byte N48 , Dn3 + .byte W48 + .byte VOL , 47*mus_rg_ending_mvl/mxv + .byte N36 , Gn3 + .byte W02 + .byte VOL , 53*mus_rg_ending_mvl/mxv + .byte W03 + .byte 59*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte W04 + .byte 71*mus_rg_ending_mvl/mxv + .byte W03 + .byte 74*mus_rg_ending_mvl/mxv + .byte W21 + .byte N06 , Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N48 , En3 + .byte W48 + .byte VOL , 48*mus_rg_ending_mvl/mxv + .byte N36 , Gn3 + .byte W02 + .byte VOL , 55*mus_rg_ending_mvl/mxv + .byte W03 + .byte 62*mus_rg_ending_mvl/mxv + .byte W04 + .byte 65*mus_rg_ending_mvl/mxv + .byte W03 + .byte 69*mus_rg_ending_mvl/mxv + .byte W03 + .byte 73*mus_rg_ending_mvl/mxv + .byte W21 + .byte N06 , Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N96 , En3 + .byte W96 + .byte VOL , 55*mus_rg_ending_mvl/mxv + .byte N96 , Dn3 + .byte W02 + .byte VOL , 56*mus_rg_ending_mvl/mxv + .byte W03 + .byte 58*mus_rg_ending_mvl/mxv + .byte W03 + .byte 60*mus_rg_ending_mvl/mxv + .byte W04 + .byte 64*mus_rg_ending_mvl/mxv + .byte W02 + .byte 66*mus_rg_ending_mvl/mxv + .byte W03 + .byte 71*mus_rg_ending_mvl/mxv + .byte W03 + .byte 77*mus_rg_ending_mvl/mxv + .byte W04 + .byte 77*mus_rg_ending_mvl/mxv + .byte W02 + .byte 84*mus_rg_ending_mvl/mxv + .byte W03 + .byte 87*mus_rg_ending_mvl/mxv + .byte W66 + .byte W01 + .byte 71*mus_rg_ending_mvl/mxv + .byte N48 , Bn2 + .byte W02 + .byte VOL , 74*mus_rg_ending_mvl/mxv + .byte W03 + .byte 75*mus_rg_ending_mvl/mxv + .byte W03 + .byte 79*mus_rg_ending_mvl/mxv + .byte W04 + .byte 84*mus_rg_ending_mvl/mxv + .byte W02 + .byte 88*mus_rg_ending_mvl/mxv + .byte W03 + .byte 90*mus_rg_ending_mvl/mxv + .byte W30 + .byte W01 + .byte N36 , Fs3 + .byte W36 + .byte N06 , Dn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N48 , En3 + .byte W48 + .byte N36 , Bn3 + .byte W36 + .byte N06 , Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N96 , Cs4 + .byte W48 + .byte VOL , 86*mus_rg_ending_mvl/mxv + .byte W02 + .byte 83*mus_rg_ending_mvl/mxv + .byte W03 + .byte 81*mus_rg_ending_mvl/mxv + .byte W03 + .byte 77*mus_rg_ending_mvl/mxv + .byte W04 + .byte 76*mus_rg_ending_mvl/mxv + .byte W02 + .byte 74*mus_rg_ending_mvl/mxv + .byte W03 + .byte 73*mus_rg_ending_mvl/mxv + .byte W03 + .byte 72*mus_rg_ending_mvl/mxv + .byte W04 + .byte 70*mus_rg_ending_mvl/mxv + .byte W02 + .byte 69*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte W03 + .byte 67*mus_rg_ending_mvl/mxv + .byte W04 + .byte 65*mus_rg_ending_mvl/mxv + .byte W02 + .byte 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 61*mus_rg_ending_mvl/mxv + .byte W07 + .byte 90*mus_rg_ending_mvl/mxv + .byte N96 , Dn4 + .byte W36 + .byte W03 + .byte VOL , 87*mus_rg_ending_mvl/mxv + .byte W02 + .byte 86*mus_rg_ending_mvl/mxv + .byte W03 + .byte 85*mus_rg_ending_mvl/mxv + .byte W04 + .byte 81*mus_rg_ending_mvl/mxv + .byte W08 + .byte 78*mus_rg_ending_mvl/mxv + .byte W06 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 75*mus_rg_ending_mvl/mxv + .byte W03 + .byte 74*mus_rg_ending_mvl/mxv + .byte W04 + .byte 73*mus_rg_ending_mvl/mxv + .byte W02 + .byte 70*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte W04 + .byte 65*mus_rg_ending_mvl/mxv + .byte W02 + .byte 64*mus_rg_ending_mvl/mxv + .byte W03 + .byte 62*mus_rg_ending_mvl/mxv + .byte W03 + .byte 60*mus_rg_ending_mvl/mxv + .byte W04 + .byte 90*mus_rg_ending_mvl/mxv + .byte N48 , Bn3 + .byte W24 + .byte VOL , 83*mus_rg_ending_mvl/mxv + .byte W02 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 76*mus_rg_ending_mvl/mxv + .byte W03 + .byte 73*mus_rg_ending_mvl/mxv + .byte W04 + .byte 72*mus_rg_ending_mvl/mxv + .byte W02 + .byte 69*mus_rg_ending_mvl/mxv + .byte W03 + .byte 67*mus_rg_ending_mvl/mxv + .byte W03 + .byte 65*mus_rg_ending_mvl/mxv + .byte W04 + .byte 90*mus_rg_ending_mvl/mxv + .byte N36 , Dn4 + .byte W12 + .byte VOL , 87*mus_rg_ending_mvl/mxv + .byte W02 + .byte 85*mus_rg_ending_mvl/mxv + .byte W03 + .byte 82*mus_rg_ending_mvl/mxv + .byte W03 + .byte 78*mus_rg_ending_mvl/mxv + .byte W04 + .byte 75*mus_rg_ending_mvl/mxv + .byte W02 + .byte 71*mus_rg_ending_mvl/mxv + .byte W03 + .byte 69*mus_rg_ending_mvl/mxv + .byte W07 + .byte 90*mus_rg_ending_mvl/mxv + .byte N06 , Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N72 , Cs4 + .byte W24 + .byte VOL , 84*mus_rg_ending_mvl/mxv + .byte W02 + .byte 82*mus_rg_ending_mvl/mxv + .byte W03 + .byte 78*mus_rg_ending_mvl/mxv + .byte W03 + .byte 73*mus_rg_ending_mvl/mxv + .byte W06 + .byte 68*mus_rg_ending_mvl/mxv + .byte W03 + .byte 65*mus_rg_ending_mvl/mxv + .byte W03 + .byte 62*mus_rg_ending_mvl/mxv + .byte W04 + .byte 60*mus_rg_ending_mvl/mxv + .byte W02 + .byte 59*mus_rg_ending_mvl/mxv + .byte W03 + .byte 55*mus_rg_ending_mvl/mxv + .byte W03 + .byte 54*mus_rg_ending_mvl/mxv + .byte W16 + .byte 90*mus_rg_ending_mvl/mxv + .byte N24 , Bn3 + .byte W24 + .byte N96 , An3 , v096 + .byte W24 + .byte VOL , 86*mus_rg_ending_mvl/mxv + .byte W02 + .byte 84*mus_rg_ending_mvl/mxv + .byte W03 + .byte 82*mus_rg_ending_mvl/mxv + .byte W03 + .byte 81*mus_rg_ending_mvl/mxv + .byte W04 + .byte 77*mus_rg_ending_mvl/mxv + .byte W02 + .byte 75*mus_rg_ending_mvl/mxv + .byte W03 + .byte 73*mus_rg_ending_mvl/mxv + .byte W03 + .byte 72*mus_rg_ending_mvl/mxv + .byte W04 + .byte 70*mus_rg_ending_mvl/mxv + .byte W02 + .byte 68*mus_rg_ending_mvl/mxv + .byte W03 + .byte 66*mus_rg_ending_mvl/mxv + .byte W03 + .byte 65*mus_rg_ending_mvl/mxv + .byte W06 + .byte 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 62*mus_rg_ending_mvl/mxv + .byte W03 + .byte 60*mus_rg_ending_mvl/mxv + .byte W04 + .byte 60*mus_rg_ending_mvl/mxv + .byte W02 + .byte 58*mus_rg_ending_mvl/mxv + .byte W03 + .byte 55*mus_rg_ending_mvl/mxv + .byte W03 + .byte 54*mus_rg_ending_mvl/mxv + .byte W04 + .byte 53*mus_rg_ending_mvl/mxv + .byte W02 + .byte 53*mus_rg_ending_mvl/mxv + .byte W03 + .byte 52*mus_rg_ending_mvl/mxv + .byte W07 + .byte N72 , Fs3 , v100 + .byte W03 + .byte VOL , 56*mus_rg_ending_mvl/mxv + .byte W02 + .byte 60*mus_rg_ending_mvl/mxv + .byte W03 + .byte 61*mus_rg_ending_mvl/mxv + .byte W04 + .byte 63*mus_rg_ending_mvl/mxv + .byte W02 + .byte 65*mus_rg_ending_mvl/mxv + .byte W03 + .byte 67*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte W04 + .byte 70*mus_rg_ending_mvl/mxv + .byte W02 + .byte 72*mus_rg_ending_mvl/mxv + .byte W03 + .byte 74*mus_rg_ending_mvl/mxv + .byte W03 + .byte 77*mus_rg_ending_mvl/mxv + .byte W04 + .byte 79*mus_rg_ending_mvl/mxv + .byte W02 + .byte 84*mus_rg_ending_mvl/mxv + .byte W03 + .byte 90*mus_rg_ending_mvl/mxv + .byte W30 + .byte W01 + .byte N24 , Gs3 + .byte W24 + .byte VOL , 64*mus_rg_ending_mvl/mxv + .byte N48 , An3 + .byte W02 + .byte VOL , 67*mus_rg_ending_mvl/mxv + .byte W03 + .byte 70*mus_rg_ending_mvl/mxv + .byte W03 + .byte 74*mus_rg_ending_mvl/mxv + .byte W04 + .byte 76*mus_rg_ending_mvl/mxv + .byte W02 + .byte 81*mus_rg_ending_mvl/mxv + .byte W03 + .byte 86*mus_rg_ending_mvl/mxv + .byte W03 + .byte 89*mus_rg_ending_mvl/mxv + .byte W28 + .byte 64*mus_rg_ending_mvl/mxv + .byte N48 , Fs3 + .byte W02 + .byte VOL , 67*mus_rg_ending_mvl/mxv + .byte W03 + .byte 70*mus_rg_ending_mvl/mxv + .byte W03 + .byte 74*mus_rg_ending_mvl/mxv + .byte W04 + .byte 76*mus_rg_ending_mvl/mxv + .byte W02 + .byte 81*mus_rg_ending_mvl/mxv + .byte W03 + .byte 86*mus_rg_ending_mvl/mxv + .byte W03 + .byte 89*mus_rg_ending_mvl/mxv + .byte W28 + .byte 59*mus_rg_ending_mvl/mxv + .byte N72 , Gs3 + .byte W02 + .byte VOL , 62*mus_rg_ending_mvl/mxv + .byte W03 + .byte 64*mus_rg_ending_mvl/mxv + .byte W03 + .byte 66*mus_rg_ending_mvl/mxv + .byte W04 + .byte 68*mus_rg_ending_mvl/mxv + .byte W02 + .byte 70*mus_rg_ending_mvl/mxv + .byte W03 + .byte 72*mus_rg_ending_mvl/mxv + .byte W03 + .byte 75*mus_rg_ending_mvl/mxv + .byte W04 + .byte 77*mus_rg_ending_mvl/mxv + .byte W02 + .byte 78*mus_rg_ending_mvl/mxv + .byte W03 + .byte 82*mus_rg_ending_mvl/mxv + .byte W03 + .byte 85*mus_rg_ending_mvl/mxv + .byte W04 + .byte 88*mus_rg_ending_mvl/mxv + .byte W02 + .byte 90*mus_rg_ending_mvl/mxv + .byte W32 + .byte W02 + .byte N24 , An3 + .byte W24 + .byte VOL , 64*mus_rg_ending_mvl/mxv + .byte N48 , Bn3 + .byte W02 + .byte VOL , 67*mus_rg_ending_mvl/mxv + .byte W03 + .byte 70*mus_rg_ending_mvl/mxv + .byte W03 + .byte 74*mus_rg_ending_mvl/mxv + .byte W04 + .byte 76*mus_rg_ending_mvl/mxv + .byte W02 + .byte 81*mus_rg_ending_mvl/mxv + .byte W03 + .byte 86*mus_rg_ending_mvl/mxv + .byte W03 + .byte 89*mus_rg_ending_mvl/mxv + .byte W28 + .byte 64*mus_rg_ending_mvl/mxv + .byte N48 , Gs3 + .byte W02 + .byte VOL , 67*mus_rg_ending_mvl/mxv + .byte W03 + .byte 70*mus_rg_ending_mvl/mxv + .byte W03 + .byte 74*mus_rg_ending_mvl/mxv + .byte W04 + .byte 76*mus_rg_ending_mvl/mxv + .byte W02 + .byte 81*mus_rg_ending_mvl/mxv + .byte W03 + .byte 86*mus_rg_ending_mvl/mxv + .byte W03 + .byte 89*mus_rg_ending_mvl/mxv + .byte W28 + .byte 59*mus_rg_ending_mvl/mxv + .byte N72 , An3 + .byte W02 + .byte VOL , 62*mus_rg_ending_mvl/mxv + .byte W03 + .byte 64*mus_rg_ending_mvl/mxv + .byte W03 + .byte 66*mus_rg_ending_mvl/mxv + .byte W04 + .byte 68*mus_rg_ending_mvl/mxv + .byte W02 + .byte 70*mus_rg_ending_mvl/mxv + .byte W03 + .byte 72*mus_rg_ending_mvl/mxv + .byte W03 + .byte 75*mus_rg_ending_mvl/mxv + .byte W04 + .byte 77*mus_rg_ending_mvl/mxv + .byte W02 + .byte 78*mus_rg_ending_mvl/mxv + .byte W03 + .byte 82*mus_rg_ending_mvl/mxv + .byte W03 + .byte 85*mus_rg_ending_mvl/mxv + .byte W04 + .byte 88*mus_rg_ending_mvl/mxv + .byte W02 + .byte 90*mus_rg_ending_mvl/mxv + .byte W32 + .byte W02 + .byte N24 , Bn3 + .byte W24 + .byte VOL , 64*mus_rg_ending_mvl/mxv + .byte N48 , Cn4 + .byte W02 + .byte VOL , 67*mus_rg_ending_mvl/mxv + .byte W03 + .byte 70*mus_rg_ending_mvl/mxv + .byte W03 + .byte 74*mus_rg_ending_mvl/mxv + .byte W04 + .byte 76*mus_rg_ending_mvl/mxv + .byte W02 + .byte 81*mus_rg_ending_mvl/mxv + .byte W03 + .byte 86*mus_rg_ending_mvl/mxv + .byte W03 + .byte 89*mus_rg_ending_mvl/mxv + .byte W28 + .byte 64*mus_rg_ending_mvl/mxv + .byte N48 , An3 + .byte W02 + .byte VOL , 67*mus_rg_ending_mvl/mxv + .byte W03 + .byte 70*mus_rg_ending_mvl/mxv + .byte W03 + .byte 74*mus_rg_ending_mvl/mxv + .byte W04 + .byte 76*mus_rg_ending_mvl/mxv + .byte W02 + .byte 81*mus_rg_ending_mvl/mxv + .byte W03 + .byte 86*mus_rg_ending_mvl/mxv + .byte W03 + .byte 89*mus_rg_ending_mvl/mxv + .byte W28 + .byte 59*mus_rg_ending_mvl/mxv + .byte N72 , Bn3 + .byte W02 + .byte VOL , 62*mus_rg_ending_mvl/mxv + .byte W03 + .byte 64*mus_rg_ending_mvl/mxv + .byte W03 + .byte 66*mus_rg_ending_mvl/mxv + .byte W04 + .byte 68*mus_rg_ending_mvl/mxv + .byte W02 + .byte 70*mus_rg_ending_mvl/mxv + .byte W03 + .byte 72*mus_rg_ending_mvl/mxv + .byte W03 + .byte 75*mus_rg_ending_mvl/mxv + .byte W04 + .byte 77*mus_rg_ending_mvl/mxv + .byte W02 + .byte 78*mus_rg_ending_mvl/mxv + .byte W03 + .byte 82*mus_rg_ending_mvl/mxv + .byte W03 + .byte 85*mus_rg_ending_mvl/mxv + .byte W04 + .byte 88*mus_rg_ending_mvl/mxv + .byte W02 + .byte 90*mus_rg_ending_mvl/mxv + .byte W32 + .byte W02 + .byte N24 , Cn4 + .byte W24 + .byte VOL , 64*mus_rg_ending_mvl/mxv + .byte N48 , Dn4 + .byte W02 + .byte VOL , 67*mus_rg_ending_mvl/mxv + .byte W03 + .byte 70*mus_rg_ending_mvl/mxv + .byte W03 + .byte 74*mus_rg_ending_mvl/mxv + .byte W04 + .byte 76*mus_rg_ending_mvl/mxv + .byte W02 + .byte 81*mus_rg_ending_mvl/mxv + .byte W03 + .byte 86*mus_rg_ending_mvl/mxv + .byte W03 + .byte 89*mus_rg_ending_mvl/mxv + .byte W28 + .byte 64*mus_rg_ending_mvl/mxv + .byte N48 , Bn3 + .byte W02 + .byte VOL , 67*mus_rg_ending_mvl/mxv + .byte W03 + .byte 70*mus_rg_ending_mvl/mxv + .byte W03 + .byte 74*mus_rg_ending_mvl/mxv + .byte W04 + .byte 76*mus_rg_ending_mvl/mxv + .byte W02 + .byte 81*mus_rg_ending_mvl/mxv + .byte W03 + .byte 86*mus_rg_ending_mvl/mxv + .byte W03 + .byte 89*mus_rg_ending_mvl/mxv + .byte W28 + .byte 51*mus_rg_ending_mvl/mxv + .byte TIE , Cs4 + .byte W02 + .byte VOL , 52*mus_rg_ending_mvl/mxv + .byte W03 + .byte 54*mus_rg_ending_mvl/mxv + .byte W03 + .byte 55*mus_rg_ending_mvl/mxv + .byte W04 + .byte 55*mus_rg_ending_mvl/mxv + .byte W02 + .byte 56*mus_rg_ending_mvl/mxv + .byte W03 + .byte 59*mus_rg_ending_mvl/mxv + .byte W03 + .byte 62*mus_rg_ending_mvl/mxv + .byte W04 + .byte 63*mus_rg_ending_mvl/mxv + .byte W02 + .byte 64*mus_rg_ending_mvl/mxv + .byte W03 + .byte 66*mus_rg_ending_mvl/mxv + .byte W03 + .byte 67*mus_rg_ending_mvl/mxv + .byte W04 + .byte 68*mus_rg_ending_mvl/mxv + .byte W02 + .byte 70*mus_rg_ending_mvl/mxv + .byte W03 + .byte 74*mus_rg_ending_mvl/mxv + .byte W03 + .byte 76*mus_rg_ending_mvl/mxv + .byte W04 + .byte 77*mus_rg_ending_mvl/mxv + .byte W02 + .byte 82*mus_rg_ending_mvl/mxv + .byte W03 + .byte 89*mus_rg_ending_mvl/mxv + .byte W03 + .byte 90*mus_rg_ending_mvl/mxv + .byte W40 + .byte W32 + .byte W01 + .byte 89*mus_rg_ending_mvl/mxv + .byte W03 + .byte 88*mus_rg_ending_mvl/mxv + .byte W02 + .byte 86*mus_rg_ending_mvl/mxv + .byte W03 + .byte 83*mus_rg_ending_mvl/mxv + .byte W03 + .byte 81*mus_rg_ending_mvl/mxv + .byte W04 + .byte 79*mus_rg_ending_mvl/mxv + .byte W02 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 75*mus_rg_ending_mvl/mxv + .byte W03 + .byte 75*mus_rg_ending_mvl/mxv + .byte W04 + .byte 73*mus_rg_ending_mvl/mxv + .byte W02 + .byte 72*mus_rg_ending_mvl/mxv + .byte W03 + .byte 70*mus_rg_ending_mvl/mxv + .byte W03 + .byte 69*mus_rg_ending_mvl/mxv + .byte W04 + .byte 68*mus_rg_ending_mvl/mxv + .byte W02 + .byte 68*mus_rg_ending_mvl/mxv + .byte W03 + .byte 67*mus_rg_ending_mvl/mxv + .byte W03 + .byte 65*mus_rg_ending_mvl/mxv + .byte W06 + .byte 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 61*mus_rg_ending_mvl/mxv + .byte W07 + .byte EOT + .byte TIE , An3 + .byte W03 + .byte VOL , 65*mus_rg_ending_mvl/mxv + .byte W02 + .byte 66*mus_rg_ending_mvl/mxv + .byte W03 + .byte 67*mus_rg_ending_mvl/mxv + .byte W06 + .byte 68*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte W03 + .byte 69*mus_rg_ending_mvl/mxv + .byte W04 + .byte 70*mus_rg_ending_mvl/mxv + .byte W02 + .byte 70*mus_rg_ending_mvl/mxv + .byte W03 + .byte 71*mus_rg_ending_mvl/mxv + .byte W03 + .byte 72*mus_rg_ending_mvl/mxv + .byte W04 + .byte 73*mus_rg_ending_mvl/mxv + .byte W02 + .byte 74*mus_rg_ending_mvl/mxv + .byte W03 + .byte 75*mus_rg_ending_mvl/mxv + .byte W03 + .byte 76*mus_rg_ending_mvl/mxv + .byte W06 + .byte 78*mus_rg_ending_mvl/mxv + .byte W03 + .byte 81*mus_rg_ending_mvl/mxv + .byte W03 + .byte 82*mus_rg_ending_mvl/mxv + .byte W04 + .byte 84*mus_rg_ending_mvl/mxv + .byte W02 + .byte 87*mus_rg_ending_mvl/mxv + .byte W03 + .byte 90*mus_rg_ending_mvl/mxv + .byte W30 + .byte W01 + .byte W36 + .byte W03 + .byte 87*mus_rg_ending_mvl/mxv + .byte W02 + .byte 86*mus_rg_ending_mvl/mxv + .byte W03 + .byte 84*mus_rg_ending_mvl/mxv + .byte W04 + .byte 82*mus_rg_ending_mvl/mxv + .byte W02 + .byte 79*mus_rg_ending_mvl/mxv + .byte W03 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 77*mus_rg_ending_mvl/mxv + .byte W04 + .byte 75*mus_rg_ending_mvl/mxv + .byte W02 + .byte 73*mus_rg_ending_mvl/mxv + .byte W03 + .byte 71*mus_rg_ending_mvl/mxv + .byte W03 + .byte 70*mus_rg_ending_mvl/mxv + .byte W04 + .byte 68*mus_rg_ending_mvl/mxv + .byte W02 + .byte 67*mus_rg_ending_mvl/mxv + .byte W03 + .byte 65*mus_rg_ending_mvl/mxv + .byte W03 + .byte 63*mus_rg_ending_mvl/mxv + .byte W04 + .byte 62*mus_rg_ending_mvl/mxv + .byte W02 + .byte 58*mus_rg_ending_mvl/mxv + .byte W03 + .byte 55*mus_rg_ending_mvl/mxv + .byte W03 + .byte 54*mus_rg_ending_mvl/mxv + .byte W04 + .byte EOT + .byte VOICE , 48 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte N36 , Gn3 + .byte W36 + .byte N03 , Bn3 + .byte W12 + .byte N48 , Dn4 + .byte W48 + .byte N36 , Bn3 + .byte W36 + .byte N03 , Dn4 + .byte W12 + .byte N36 , Gn4 + .byte W36 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N48 , En4 + .byte W18 + .byte VOL , 87*mus_rg_ending_mvl/mxv + .byte W02 + .byte 82*mus_rg_ending_mvl/mxv + .byte W04 + .byte 81*mus_rg_ending_mvl/mxv + .byte W02 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 75*mus_rg_ending_mvl/mxv + .byte W03 + .byte 72*mus_rg_ending_mvl/mxv + .byte W04 + .byte 70*mus_rg_ending_mvl/mxv + .byte W02 + .byte 68*mus_rg_ending_mvl/mxv + .byte W03 + .byte 66*mus_rg_ending_mvl/mxv + .byte W03 + .byte 64*mus_rg_ending_mvl/mxv + .byte W04 + .byte VOICE , 60 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte N36 , Gn3 + .byte W36 + .byte N06 , Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N48 , En3 + .byte W24 + .byte VOL , 82*mus_rg_ending_mvl/mxv + .byte W02 + .byte 79*mus_rg_ending_mvl/mxv + .byte W03 + .byte 74*mus_rg_ending_mvl/mxv + .byte W03 + .byte 72*mus_rg_ending_mvl/mxv + .byte W04 + .byte 68*mus_rg_ending_mvl/mxv + .byte W02 + .byte 66*mus_rg_ending_mvl/mxv + .byte W03 + .byte 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 62*mus_rg_ending_mvl/mxv + .byte W04 + .byte 90*mus_rg_ending_mvl/mxv + .byte N24 , Cs3 + .byte W24 + .byte En3 + .byte W24 + .byte VOICE , 56 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte N36 , Gn3 , v120 + .byte W36 + .byte N03 , Bn3 + .byte W12 + .byte N48 , Dn4 + .byte W12 + .byte MOD , 8 + .byte W06 + .byte VOL , 85*mus_rg_ending_mvl/mxv + .byte W06 + .byte 79*mus_rg_ending_mvl/mxv + .byte W06 + .byte 72*mus_rg_ending_mvl/mxv + .byte W06 + .byte 68*mus_rg_ending_mvl/mxv + .byte W06 + .byte 56*mus_rg_ending_mvl/mxv + .byte W06 + .byte 90*mus_rg_ending_mvl/mxv + .byte MOD , 0 + .byte N36 , Bn3 + .byte W36 + .byte N03 , Dn4 + .byte W12 + .byte N48 , Gn4 + .byte W12 + .byte MOD , 8 + .byte W06 + .byte VOL , 86*mus_rg_ending_mvl/mxv + .byte W06 + .byte 79*mus_rg_ending_mvl/mxv + .byte W06 + .byte 73*mus_rg_ending_mvl/mxv + .byte W06 + .byte 68*mus_rg_ending_mvl/mxv + .byte W06 + .byte 60*mus_rg_ending_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte TIE , An4 + .byte W09 + .byte VOL , 51*mus_rg_ending_mvl/mxv + .byte W24 + .byte W03 + .byte 51*mus_rg_ending_mvl/mxv + .byte W02 + .byte 51*mus_rg_ending_mvl/mxv + .byte W03 + .byte 53*mus_rg_ending_mvl/mxv + .byte W03 + .byte 53*mus_rg_ending_mvl/mxv + .byte W04 + .byte 55*mus_rg_ending_mvl/mxv + .byte W02 + .byte 55*mus_rg_ending_mvl/mxv + .byte W03 + .byte 58*mus_rg_ending_mvl/mxv + .byte W03 + .byte 60*mus_rg_ending_mvl/mxv + .byte W04 + .byte 60*mus_rg_ending_mvl/mxv + .byte W02 + .byte 62*mus_rg_ending_mvl/mxv + .byte W03 + .byte 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 64*mus_rg_ending_mvl/mxv + .byte W06 + .byte 65*mus_rg_ending_mvl/mxv + .byte W03 + .byte 67*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte W02 + .byte VOL , 69*mus_rg_ending_mvl/mxv + .byte W06 + .byte 70*mus_rg_ending_mvl/mxv + .byte W04 + .byte 71*mus_rg_ending_mvl/mxv + .byte W02 + .byte 72*mus_rg_ending_mvl/mxv + .byte W03 + .byte 73*mus_rg_ending_mvl/mxv + .byte W07 + .byte 75*mus_rg_ending_mvl/mxv + .byte W02 + .byte 76*mus_rg_ending_mvl/mxv + .byte W03 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 78*mus_rg_ending_mvl/mxv + .byte W04 + .byte 79*mus_rg_ending_mvl/mxv + .byte W02 + .byte 82*mus_rg_ending_mvl/mxv + .byte W03 + .byte 84*mus_rg_ending_mvl/mxv + .byte W03 + .byte 85*mus_rg_ending_mvl/mxv + .byte W04 + .byte 86*mus_rg_ending_mvl/mxv + .byte W02 + .byte 89*mus_rg_ending_mvl/mxv + .byte W03 + .byte 90*mus_rg_ending_mvl/mxv + .byte W54 + .byte W01 + .byte EOT + .byte MOD , 0 + .byte N09 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W48 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_ending_3: + .byte KEYSH , mus_rg_ending_key+0 + .byte VOICE , 48 + .byte VOL , 56*mus_rg_ending_mvl/mxv + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-28 + .byte W96 + .byte W96 + .byte TIE , Bn2 , v092 + .byte W96 + .byte VOL , 51*mus_rg_ending_mvl/mxv + .byte W12 + .byte 45*mus_rg_ending_mvl/mxv + .byte W12 + .byte 39*mus_rg_ending_mvl/mxv + .byte W12 + .byte 34*mus_rg_ending_mvl/mxv + .byte W12 + .byte 26*mus_rg_ending_mvl/mxv + .byte W12 + .byte 22*mus_rg_ending_mvl/mxv + .byte W06 + .byte 17*mus_rg_ending_mvl/mxv + .byte W06 + .byte 11*mus_rg_ending_mvl/mxv + .byte W06 + .byte 6*mus_rg_ending_mvl/mxv + .byte W06 + .byte EOT + .byte W12 + .byte W48 + .byte PAN , c_v-32 + .byte VOL , 50*mus_rg_ending_mvl/mxv + .byte N08 , Cs4 , v064 + .byte W08 + .byte An3 + .byte W08 + .byte Cs4 + .byte W08 + .byte N08 + .byte W08 + .byte An3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Bn3 + .byte W08 + .byte N08 + .byte W08 + .byte Gn3 + .byte W08 + .byte Bn3 + .byte W08 + .byte An3 + .byte W08 + .byte Fs3 + .byte W08 + .byte An3 + .byte W08 + .byte N08 + .byte W08 + .byte En3 + .byte W08 + .byte An3 + .byte W08 + .byte Bn3 + .byte W08 + .byte En3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Dn4 + .byte W08 + .byte En4 + .byte W08 + .byte N03 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 , v048 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 , v032 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 , v020 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 , v008 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W24 + .byte W03 + .byte W96 + .byte PAN , c_v-33 + .byte N92 , Bn3 , v088 + .byte W96 + .byte VOICE , 48 + .byte VOL , 70*mus_rg_ending_mvl/mxv + .byte N32 , Cs3 , v120 + .byte W36 + .byte N06 , An2 , v072 + .byte W06 + .byte Cs3 , v127 + .byte W06 + .byte N36 , Dn3 + .byte W36 + .byte N06 , Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte N36 , Fs3 + .byte W36 + .byte N06 , Dn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N24 , An3 + .byte W24 + .byte N12 , Gs3 + .byte W12 + .byte N06 , En3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W96 + .byte W72 + .byte VOICE , 92 + .byte PAN , c_v+0 + .byte VOL , 45*mus_rg_ending_mvl/mxv + .byte W24 + .byte BEND , c_v+1 + .byte N36 , Cs4 , v072 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 + .byte W06 + .byte Dn4 + .byte W06 + .byte N24 , En4 + .byte W24 + .byte Cs4 + .byte W24 +mus_rg_ending_3_000: + .byte N24 , Gn4 , v072 + .byte W24 + .byte Fs4 + .byte W24 + .byte En4 + .byte W24 + .byte Dn4 + .byte W24 + .byte PEND +mus_rg_ending_3_001: + .byte N36 , Cs4 , v072 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 , An3 + .byte W12 + .byte N48 , En4 + .byte W12 + .byte MOD , 6 + .byte W36 + .byte PEND + .byte 0 + .byte N36 , An3 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 , En3 + .byte W12 + .byte N48 , Cs4 + .byte W12 + .byte MOD , 5 + .byte W36 + .byte N36 + .byte W36 + .byte MOD , 0 + .byte N06 + .byte W06 + .byte Dn4 + .byte W06 + .byte N24 , En4 + .byte W24 + .byte Cs4 + .byte W24 + .byte PATT + .word mus_rg_ending_3_000 + .byte PATT + .word mus_rg_ending_3_001 + .byte MOD , 0 + .byte N36 , An3 , v072 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 , En3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N24 , En4 + .byte W24 + .byte N36 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 , Bn3 + .byte W12 + .byte N48 , Gn4 + .byte W12 + .byte MOD , 6 + .byte W36 +mus_rg_ending_3_002: + .byte MOD , 0 + .byte N36 , Gn3 , v072 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 , Dn3 + .byte W12 + .byte N48 , Bn3 + .byte W12 + .byte MOD , 6 + .byte W36 + .byte PEND + .byte 0 + .byte N72 , Cs4 + .byte W15 + .byte MOD , 6 + .byte W56 + .byte W01 + .byte 0 + .byte N24 , Dn4 + .byte W24 + .byte N96 , En4 + .byte W12 + .byte MOD , 6 + .byte W84 + .byte 0 + .byte N36 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N03 , Bn3 + .byte W12 + .byte N48 , Gn4 + .byte W12 + .byte MOD , 6 + .byte W36 + .byte PATT + .word mus_rg_ending_3_002 + .byte MOD , 0 + .byte N80 , En4 , v072 + .byte W12 + .byte MOD , 5 + .byte W72 + .byte 0 + .byte N06 + .byte W06 + .byte Gs4 + .byte W06 + .byte N96 , An4 + .byte W12 + .byte MOD , 5 + .byte W84 + .byte 0 + .byte N12 , Gn4 + .byte W24 + .byte Fs4 + .byte W24 + .byte En4 + .byte W24 + .byte Dn4 + .byte W24 + .byte N66 , Cs4 + .byte W12 + .byte MOD , 6 + .byte W60 + .byte 0 + .byte W24 + .byte VOICE , 13 + .byte PAN , c_v+31 + .byte VOL , 50*mus_rg_ending_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , En4 , v064 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte En4 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte En4 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte Cs5 + .byte W06 + .byte An4 + .byte W06 + .byte En4 + .byte W06 + .byte Cs4 + .byte W06 +mus_rg_ending_3_003: + .byte N06 , Dn4 , v064 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte PEND +mus_rg_ending_3_004: + .byte N06 , En4 , v064 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte En4 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte En4 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte Cs5 + .byte W06 + .byte An4 + .byte W06 + .byte En4 + .byte W06 + .byte Cs4 + .byte W06 + .byte PEND +mus_rg_ending_3_005: + .byte N06 , En4 , v064 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte En4 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte En4 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte En4 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_ending_3_004 + .byte PATT + .word mus_rg_ending_3_003 + .byte PATT + .word mus_rg_ending_3_004 + .byte PATT + .word mus_rg_ending_3_005 + .byte VOICE , 46 + .byte PAN , c_v-32 + .byte VOL , 56*mus_rg_ending_mvl/mxv + .byte N04 , Gn2 , v092 + .byte W04 + .byte Bn2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Bn2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte PAN , c_v-16 + .byte N04 , Bn4 + .byte W04 + .byte Dn5 + .byte W02 + .byte PAN , c_v+16 + .byte W02 + .byte N04 , Fs5 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Gn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Bn2 + .byte W04 + .byte PAN , c_v-16 + .byte N04 , Dn3 + .byte W04 + .byte Bn2 + .byte W02 + .byte PAN , c_v-32 + .byte W02 + .byte N04 , Gn2 + .byte W04 + .byte An2 + .byte W04 + .byte Cs3 + .byte W04 + .byte En3 + .byte W04 + .byte Cs3 + .byte W04 + .byte En3 + .byte W04 + .byte An3 + .byte W04 + .byte En3 + .byte W04 + .byte An3 + .byte W04 + .byte Cs4 + .byte W04 + .byte An3 + .byte W04 + .byte Cs4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte En4 + .byte W04 + .byte An4 + .byte W04 + .byte En4 + .byte W04 + .byte An4 + .byte W04 + .byte Cs5 + .byte W04 + .byte An4 + .byte W04 + .byte Cs5 + .byte W04 + .byte En5 + .byte W04 + .byte PAN , c_v-16 + .byte N04 , Cs5 + .byte W04 + .byte En5 + .byte W02 + .byte PAN , c_v+16 + .byte W02 + .byte N04 , Gs5 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , An5 + .byte W04 + .byte En5 + .byte W04 + .byte Cs5 + .byte W04 + .byte En5 + .byte W04 + .byte Cs5 + .byte W04 + .byte An4 + .byte W04 + .byte Cs5 + .byte W04 + .byte An4 + .byte W04 + .byte En4 + .byte W04 + .byte An4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte An3 + .byte W04 + .byte Cs4 + .byte W04 + .byte An3 + .byte W04 + .byte En3 + .byte W04 + .byte An3 + .byte W04 + .byte En3 + .byte W04 + .byte Cs3 + .byte W04 + .byte PAN , c_v+16 + .byte N04 , En3 + .byte W04 + .byte Cs3 + .byte W02 + .byte PAN , c_v-16 + .byte W02 + .byte N04 , An2 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , Gn2 + .byte W04 + .byte Bn2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Bn2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte PAN , c_v-16 + .byte N04 , Bn4 + .byte W04 + .byte Dn5 + .byte W02 + .byte PAN , c_v+16 + .byte W02 + .byte N04 , Fs5 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Gn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Bn2 + .byte W04 + .byte PAN , c_v+16 + .byte N04 , Dn3 + .byte W04 + .byte Bn2 + .byte W02 + .byte PAN , c_v-16 + .byte W02 + .byte N04 , Gn2 + .byte W04 + .byte PAN , c_v-32 + .byte N24 , An4 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Gs4 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Fs4 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , En4 + .byte W24 + .byte PAN , c_v-44 + .byte N03 , An2 + .byte W03 + .byte Bn2 + .byte W03 + .byte Cs3 + .byte W03 + .byte PAN , c_v-29 + .byte N03 , En3 + .byte W03 + .byte PAN , c_v-19 + .byte N03 , Fs3 + .byte W03 + .byte PAN , c_v+19 + .byte N03 , Gs3 + .byte W03 + .byte An3 + .byte W03 + .byte PAN , c_v+34 + .byte N03 , Bn3 + .byte W03 + .byte PAN , c_v+44 + .byte N03 , Cs4 + .byte W03 + .byte Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , Gs4 + .byte W03 + .byte An4 + .byte W03 + .byte As4 + .byte W03 + .byte Cn5 + .byte W03 + .byte PAN , c_v-48 + .byte N24 , Cs5 + .byte W24 + .byte An4 + .byte W24 + .byte VOICE , 60 + .byte N24 , Gn2 + .byte W24 + .byte An2 + .byte W24 + .byte Bn2 + .byte W24 + .byte Dn3 + .byte W24 + .byte VOICE , 48 + .byte PAN , c_v-32 + .byte N12 , En2 , v080 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En2 + .byte W12 + .byte Gn2 + .byte W12 + .byte En2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , En2 + .byte W12 + .byte Gs2 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , An3 + .byte W06 + .byte N06 + .byte W30 + .byte An2 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte N06 , An3 + .byte W06 + .byte N06 + .byte W30 + .byte An2 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte W36 + .byte N06 , An2 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte PAN , c_v+0 + .byte N24 , En4 + .byte W24 + .byte Ds4 + .byte W24 + .byte Cn4 + .byte W24 + .byte Bn3 + .byte W24 + .byte Cn4 + .byte W24 + .byte Bn3 + .byte W24 + .byte An3 + .byte W24 + .byte Gs3 + .byte W24 + .byte VOICE , 1 + .byte PAN , c_v+26 + .byte N48 , Cn4 + .byte W48 + .byte Dn4 , v092 + .byte W48 + .byte PAN , c_v-32 + .byte N96 , Gn3 , v080 + .byte W96 + .byte W12 + .byte N12 + .byte W12 + .byte An3 + .byte W12 + .byte N21 , Bn3 + .byte W21 + .byte N03 , Cn4 , v060 + .byte W03 + .byte N12 , Bn3 , v080 + .byte W12 + .byte N08 + .byte W08 + .byte An3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N12 , An3 + .byte W12 + .byte N84 , Fn3 + .byte W84 + .byte W24 + .byte N24 , An2 + .byte W24 + .byte Gn2 + .byte W24 + .byte En3 + .byte W24 + .byte N96 , Fn3 + .byte W96 + .byte W12 + .byte N12 + .byte W12 + .byte Gn3 + .byte W12 + .byte N21 , An3 + .byte W21 + .byte N03 , As3 , v056 + .byte W03 + .byte N12 , An3 , v080 + .byte W12 + .byte N08 + .byte W08 + .byte Gn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte N12 , Gn3 + .byte W12 + .byte N72 , Cn4 + .byte W72 + .byte N03 , Gn2 , v048 + .byte W03 + .byte An2 + .byte W03 + .byte Cn3 , v060 + .byte W03 + .byte Dn3 + .byte W03 + .byte VOICE , 46 + .byte PAN , c_v+40 + .byte VOL , 60*mus_rg_ending_mvl/mxv + .byte N48 , En3 , v068 + .byte W48 + .byte N24 , Bn3 , v064 + .byte W24 + .byte As3 + .byte W24 + .byte En4 + .byte W24 + .byte Dn4 + .byte W24 + .byte Cn4 + .byte W24 + .byte Bn3 + .byte W24 + .byte Gn4 + .byte W24 + .byte Bn3 + .byte W24 + .byte Fn4 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte N24 , An3 + .byte W24 + .byte Bn3 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte Bn3 + .byte W12 + .byte N24 , Gn4 + .byte W24 + .byte Dn4 + .byte W24 + .byte N12 , Bn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte N36 , Fn3 , v080 + .byte W36 + .byte N12 , En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte N24 , Fn3 , v064 + .byte W24 + .byte En3 + .byte W24 + .byte Gn3 + .byte W24 + .byte An3 + .byte W24 + .byte N12 , Bn3 + .byte W12 + .byte En3 + .byte W12 + .byte N60 , Bn3 + .byte W60 + .byte N12 , An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte En3 + .byte W12 + .byte Bn3 + .byte W12 + .byte N36 , Dn4 + .byte W36 + .byte N24 , Cn4 + .byte W24 + .byte Gn3 + .byte W24 + .byte An3 + .byte W24 + .byte Bn3 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte N03 , Cs3 , v052 + .byte W03 + .byte En3 , v060 + .byte W03 + .byte An3 , v064 + .byte W03 + .byte Cs4 , v072 + .byte W03 + .byte N96 , En4 , v084 + .byte W96 + .byte W96 + .byte VOICE , 46 + .byte PAN , c_v+26 + .byte N24 , Gn3 , v080 + .byte W24 + .byte An3 + .byte W24 + .byte Bn3 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte N03 , An3 , v064 + .byte W03 + .byte Bn3 + .byte W03 + .byte PAN , c_v-16 + .byte N03 , Cs4 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , Dn4 + .byte W03 + .byte N24 , En4 , v080 + .byte W48 + .byte PAN , c_v+29 + .byte N24 , Dn4 , v064 + .byte W48 + .byte PAN , c_v-32 + .byte N24 , Cs4 + .byte W48 + .byte PAN , c_v+32 + .byte N24 , Bn3 , v080 + .byte W48 + .byte VOICE , 48 + .byte PAN , c_v-32 + .byte VOL , 24*mus_rg_ending_mvl/mxv + .byte N08 , Cs3 , v056 + .byte W05 + .byte VOL , 26*mus_rg_ending_mvl/mxv + .byte W03 + .byte N08 , An2 + .byte W04 + .byte VOL , 27*mus_rg_ending_mvl/mxv + .byte W02 + .byte 31*mus_rg_ending_mvl/mxv + .byte W02 + .byte N08 , Cs3 + .byte W01 + .byte VOL , 32*mus_rg_ending_mvl/mxv + .byte W07 + .byte 35*mus_rg_ending_mvl/mxv + .byte N08 , An2 + .byte W02 + .byte VOL , 38*mus_rg_ending_mvl/mxv + .byte W03 + .byte 39*mus_rg_ending_mvl/mxv + .byte W03 + .byte 42*mus_rg_ending_mvl/mxv + .byte N08 , Cs3 + .byte W04 + .byte VOL , 43*mus_rg_ending_mvl/mxv + .byte W02 + .byte 48*mus_rg_ending_mvl/mxv + .byte W02 + .byte N08 , An2 + .byte W01 + .byte VOL , 50*mus_rg_ending_mvl/mxv + .byte W03 + .byte 53*mus_rg_ending_mvl/mxv + .byte W04 + .byte 55*mus_rg_ending_mvl/mxv + .byte N08 , Cs3 + .byte W02 + .byte VOL , 56*mus_rg_ending_mvl/mxv + .byte W06 + .byte N08 , An2 + .byte W08 + .byte Cs3 + .byte W08 + .byte An2 + .byte W08 + .byte Cs3 + .byte W08 + .byte An2 + .byte W08 +mus_rg_ending_3_006: + .byte N08 , Bn2 , v056 + .byte W08 + .byte Gn2 + .byte W08 + .byte Bn2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Bn2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Bn2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Bn2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Bn2 + .byte W08 + .byte Gn2 + .byte W08 + .byte PEND +mus_rg_ending_3_007: + .byte N08 , Cs3 , v056 + .byte W08 + .byte An2 + .byte W08 + .byte Cs3 + .byte W08 + .byte An2 + .byte W08 + .byte Cs3 + .byte W08 + .byte An2 + .byte W08 + .byte Cs3 + .byte W08 + .byte An2 + .byte W08 + .byte Cs3 + .byte W08 + .byte An2 + .byte W08 + .byte Cs3 + .byte W08 + .byte An2 + .byte W08 + .byte PEND + .byte PATT + .word mus_rg_ending_3_007 + .byte PATT + .word mus_rg_ending_3_006 + .byte PATT + .word mus_rg_ending_3_006 + .byte PATT + .word mus_rg_ending_3_007 + .byte PATT + .word mus_rg_ending_3_007 + .byte PATT + .word mus_rg_ending_3_006 + .byte PATT + .word mus_rg_ending_3_006 + .byte PATT + .word mus_rg_ending_3_007 + .byte PATT + .word mus_rg_ending_3_007 + .byte VOICE , 46 + .byte N06 , Fs2 , v120 + .byte W06 + .byte An2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , An4 + .byte W06 + .byte PAN , c_v+44 + .byte N06 , Dn5 + .byte W48 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte N03 , Dn5 , v088 + .byte W03 + .byte Cs5 , v064 + .byte W03 + .byte Bn4 + .byte W03 + .byte An4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 + .byte W03 + .byte PAN , c_v-36 + .byte N03 , Cs5 , v088 + .byte W03 + .byte Bn4 , v064 + .byte W03 + .byte An4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , Bn4 , v088 + .byte W03 + .byte An4 , v064 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte Bn3 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , An4 , v088 + .byte W03 + .byte Gn4 , v064 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte Bn3 + .byte W06 + .byte PAN , c_v-38 + .byte N06 , Gs2 , v120 + .byte W06 + .byte Bn2 + .byte W06 + .byte En3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , En4 + .byte W06 + .byte PAN , c_v+40 + .byte N06 , Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte En5 + .byte W48 + .byte VOL , 73*mus_rg_ending_mvl/mxv + .byte PAN , c_v+38 + .byte N03 , En5 , v088 + .byte W03 + .byte Dn5 , v064 + .byte W03 + .byte Cs5 + .byte W03 + .byte Bn4 + .byte W03 + .byte An4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte PAN , c_v-38 + .byte N03 , Dn5 , v088 + .byte W03 + .byte Cs5 , v064 + .byte W03 + .byte Bn4 + .byte W03 + .byte An4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , Cs5 , v088 + .byte W03 + .byte Bn4 , v064 + .byte W03 + .byte An4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte PAN , c_v-33 + .byte N03 , Bn4 , v088 + .byte W03 + .byte An4 , v064 + .byte W03 + .byte Gs4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Cs4 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , Fn5 , v088 + .byte W03 + .byte En5 , v064 + .byte W03 + .byte Dn5 + .byte W03 + .byte Cn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte An4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fn4 + .byte W03 + .byte PAN , c_v-33 + .byte N03 , En5 , v088 + .byte W03 + .byte Dn5 , v064 + .byte W03 + .byte Cn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte An4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fn4 + .byte W03 + .byte En4 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , Dn5 , v088 + .byte W03 + .byte Cn5 , v064 + .byte W03 + .byte Bn4 + .byte W03 + .byte An4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fn4 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 + .byte N03 , Dn5 + .byte W03 + .byte PAN , c_v-33 + .byte N03 , Cn5 , v088 + .byte W03 + .byte Bn4 , v064 + .byte W03 + .byte An4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fn4 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Cn4 + .byte W03 + .byte PAN , c_v-38 + .byte N06 , Cn3 , v120 + .byte W06 + .byte Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , An4 + .byte W06 + .byte PAN , c_v+40 + .byte N06 , Cn5 + .byte W06 + .byte Fn5 , v092 + .byte W06 + .byte N48 , An5 , v088 + .byte W48 + .byte PAN , c_v-33 + .byte N03 , Gn3 , v120 + .byte W03 + .byte An3 + .byte W03 + .byte Bn3 + .byte W03 + .byte Cn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte An4 + .byte W03 + .byte Bn4 + .byte W03 + .byte PAN , c_v+16 + .byte N03 , Cn5 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , Dn5 + .byte W03 + .byte PAN , c_v+40 + .byte N03 , En5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Gn5 + .byte W03 + .byte An5 + .byte W03 + .byte Bn5 + .byte W03 + .byte An5 + .byte W03 + .byte Gn5 + .byte W03 + .byte Fn5 + .byte W03 + .byte En5 + .byte W03 + .byte PAN , c_v-16 + .byte N03 , Dn5 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , Cn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte PAN , c_v-40 + .byte N03 , An4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fn4 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Cn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte An3 + .byte W03 + .byte PAN , c_v-32 + .byte N06 , Dn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v+15 + .byte N06 , Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte PAN , c_v+23 + .byte N06 , Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte PAN , c_v+40 + .byte N06 , Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte PAN , c_v+48 + .byte N03 , En3 , v104 + .byte W03 + .byte An3 + .byte W03 + .byte Cs4 + .byte W03 + .byte En4 + .byte W03 + .byte An4 + .byte W12 + .byte PAN , c_v-48 + .byte N03 , An2 + .byte W03 + .byte En3 + .byte W03 + .byte An3 + .byte W03 + .byte Cs4 + .byte W03 + .byte En4 + .byte W12 + .byte PAN , c_v+47 + .byte N03 , En2 + .byte W03 + .byte An2 + .byte W03 + .byte En3 + .byte W03 + .byte An3 + .byte W03 + .byte Cs4 + .byte W12 + .byte PAN , c_v-48 + .byte N03 , An2 + .byte W03 + .byte En3 + .byte W03 + .byte An3 + .byte W03 + .byte Cs4 + .byte W03 + .byte En4 + .byte W12 + .byte PAN , c_v+48 + .byte N03 , En3 + .byte W03 + .byte An3 + .byte W03 + .byte Cs4 + .byte W03 + .byte En4 + .byte W03 + .byte An4 + .byte W12 + .byte PAN , c_v-48 + .byte N03 , An2 + .byte W03 + .byte En3 + .byte W03 + .byte An3 + .byte W03 + .byte Cs4 + .byte W03 + .byte En4 + .byte W12 + .byte PAN , c_v+47 + .byte N03 , En3 + .byte W03 + .byte An3 + .byte W03 + .byte Cs4 + .byte W03 + .byte En4 + .byte W03 + .byte An4 + .byte W12 + .byte PAN , c_v-48 + .byte N03 , Cs3 + .byte W03 + .byte En3 + .byte W03 + .byte An3 + .byte W03 + .byte Cs4 + .byte W03 + .byte En4 + .byte W03 + .byte An4 + .byte W03 + .byte Cs5 + .byte W03 + .byte En5 + .byte W03 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 73 + .byte W48 + .byte N08 , En4 , v088 + .byte W08 + .byte Fs4 + .byte W08 + .byte N04 , Gn4 + .byte W08 + .byte N08 + .byte W08 + .byte Fs4 + .byte W08 + .byte En4 + .byte W08 + .byte Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte N72 , En4 + .byte W72 + .byte VOICE , 81 + .byte VOL , 45*mus_rg_ending_mvl/mxv + .byte PAN , c_v-64 + .byte N36 , Dn4 , v064 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N03 , Bn3 + .byte W12 + .byte N48 , Gn4 + .byte W12 + .byte MOD , 6 + .byte W36 + .byte N36 + .byte W36 + .byte MOD , 0 + .byte N03 , Dn4 + .byte W12 + .byte N48 , Bn4 + .byte W12 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte TIE , En4 + .byte W12 + .byte MOD , 6 + .byte W84 + .byte W96 + .byte EOT + .byte MOD , 0 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W48 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_ending_4: + .byte KEYSH , mus_rg_ending_key+0 + .byte VOICE , 58 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W48 + .byte TIE , En1 , v120 + .byte W48 + .byte W24 + .byte VOL , 76*mus_rg_ending_mvl/mxv + .byte W06 + .byte 68*mus_rg_ending_mvl/mxv + .byte W09 + .byte 58*mus_rg_ending_mvl/mxv + .byte W09 + .byte 45*mus_rg_ending_mvl/mxv + .byte W06 + .byte 39*mus_rg_ending_mvl/mxv + .byte W06 + .byte 34*mus_rg_ending_mvl/mxv + .byte W06 + .byte 22*mus_rg_ending_mvl/mxv + .byte W06 + .byte 21*mus_rg_ending_mvl/mxv + .byte W06 + .byte 12*mus_rg_ending_mvl/mxv + .byte W06 + .byte EOT + .byte VOL , 5*mus_rg_ending_mvl/mxv + .byte W06 + .byte 0*mus_rg_ending_mvl/mxv + .byte W06 + .byte W48 + .byte 90*mus_rg_ending_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte 90*mus_rg_ending_mvl/mxv + .byte PAN , c_v-24 + .byte TIE + .byte W24 + .byte W24 + .byte VOL , 87*mus_rg_ending_mvl/mxv + .byte W02 + .byte 82*mus_rg_ending_mvl/mxv + .byte W03 + .byte 82*mus_rg_ending_mvl/mxv + .byte W03 + .byte 79*mus_rg_ending_mvl/mxv + .byte W04 + .byte 78*mus_rg_ending_mvl/mxv + .byte W02 + .byte 75*mus_rg_ending_mvl/mxv + .byte W03 + .byte 72*mus_rg_ending_mvl/mxv + .byte W03 + .byte 70*mus_rg_ending_mvl/mxv + .byte W04 + .byte 69*mus_rg_ending_mvl/mxv + .byte W02 + .byte 68*mus_rg_ending_mvl/mxv + .byte W03 + .byte 65*mus_rg_ending_mvl/mxv + .byte W03 + .byte 63*mus_rg_ending_mvl/mxv + .byte W04 + .byte 62*mus_rg_ending_mvl/mxv + .byte W02 + .byte 61*mus_rg_ending_mvl/mxv + .byte W03 + .byte 60*mus_rg_ending_mvl/mxv + .byte W03 + .byte 59*mus_rg_ending_mvl/mxv + .byte W04 + .byte 58*mus_rg_ending_mvl/mxv + .byte W08 + .byte 55*mus_rg_ending_mvl/mxv + .byte W06 + .byte 53*mus_rg_ending_mvl/mxv + .byte W10 + .byte EOT + .byte VOL , 82*mus_rg_ending_mvl/mxv + .byte PAN , c_v-6 + .byte N12 , En2 , v127 + .byte W12 + .byte Bn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Gs1 + .byte W12 + .byte N36 , An1 + .byte W36 + .byte N06 + .byte W06 + .byte Cs2 + .byte W06 + .byte N36 , Gn1 + .byte W36 + .byte N06 , En1 + .byte W06 + .byte Cs1 + .byte W06 + .byte N36 , Fs1 + .byte W36 + .byte N06 , Dn1 + .byte W06 + .byte En1 + .byte W06 + .byte N24 , Fs1 + .byte W24 + .byte En1 + .byte W24 + .byte N12 , An2 + .byte W12 + .byte N21 , An1 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte N12 , Gs1 + .byte W12 + .byte N09 , An1 + .byte W12 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte Gn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte N36 , En1 + .byte W36 + .byte N12 , Cs1 + .byte W12 + .byte N24 , En1 + .byte W24 + .byte An1 + .byte W24 + .byte Gn1 + .byte W24 + .byte Dn1 + .byte W24 + .byte Gn1 + .byte W24 + .byte Gs1 + .byte W24 + .byte N36 , An1 + .byte W36 + .byte N12 , En1 + .byte W12 + .byte N24 , An1 + .byte W24 + .byte N12 , En2 + .byte W12 + .byte Cs2 + .byte W12 + .byte VOICE , 60 + .byte N36 , Cs3 , v056 + .byte W36 + .byte N06 , An2 + .byte W12 + .byte N36 , En3 + .byte W36 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte VOICE , 58 + .byte N36 , An1 , v127 + .byte W36 + .byte N12 , En1 + .byte W12 + .byte N24 , An1 + .byte W24 + .byte N12 , Cs2 + .byte W12 + .byte En1 + .byte W12 + .byte N24 , Gn1 + .byte W24 + .byte An1 + .byte W24 + .byte Bn1 + .byte W24 + .byte Dn2 + .byte W24 + .byte N36 , An1 + .byte W36 + .byte N12 , En1 + .byte W12 + .byte N48 , Cs1 + .byte W48 + .byte VOICE , 60 + .byte N36 , Cs3 , v056 + .byte W36 + .byte N12 , An2 + .byte W12 + .byte N06 , En3 + .byte W12 + .byte Cs3 + .byte W06 + .byte En3 + .byte W06 + .byte N24 , An3 + .byte W24 + .byte VOICE , 58 + .byte N36 , Gn1 , v127 + .byte W36 + .byte N12 , En1 + .byte W12 + .byte N48 , Dn2 + .byte W48 + .byte N36 , Bn1 + .byte W36 + .byte N06 , Gn1 + .byte W12 + .byte N48 , Dn2 + .byte W48 + .byte N36 , An1 + .byte W36 + .byte N12 , En2 + .byte W12 + .byte N24 , Cs2 + .byte W24 + .byte N12 , Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte N24 , An1 + .byte W24 + .byte Bn1 + .byte W24 + .byte Cs2 + .byte W24 + .byte N06 , Bn1 + .byte W06 + .byte Cs2 + .byte W06 + .byte Bn1 + .byte W06 + .byte An1 + .byte W06 + .byte N36 , Gn1 + .byte W36 + .byte N12 , Dn1 + .byte W12 + .byte N24 , Gn1 + .byte W24 + .byte N12 , Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte N36 , Bn1 , v072 + .byte W36 + .byte N06 , Gn1 + .byte W12 + .byte N24 , Bn1 + .byte W24 + .byte N12 , Dn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte N24 , Cs2 , v127 + .byte W24 + .byte Bn1 + .byte W24 + .byte An1 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte N24 , En2 + .byte W24 + .byte Dn2 + .byte W24 + .byte Cs2 + .byte W24 + .byte N12 , Bn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N24 , En1 + .byte W24 + .byte Fs1 + .byte W24 + .byte Gn1 + .byte W24 + .byte Dn1 + .byte W24 + .byte W96 + .byte VOICE , 81 + .byte N12 , An1 , v076 + .byte W60 + .byte N12 + .byte W12 + .byte En1 + .byte W24 + .byte Gn1 + .byte W60 + .byte Bn1 + .byte W12 + .byte N03 , Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Bn1 + .byte W12 + .byte An1 + .byte W60 + .byte N12 + .byte W12 + .byte En1 + .byte W24 + .byte An1 + .byte W36 + .byte N12 + .byte W24 + .byte Cs2 + .byte W12 + .byte N03 , En2 + .byte W06 + .byte N03 + .byte W06 + .byte Cs2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , An1 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N03 , An2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Gs1 + .byte W12 + .byte Gn1 + .byte W36 + .byte N12 + .byte W24 + .byte Bn1 + .byte W12 + .byte N03 , Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , As1 + .byte W12 + .byte An1 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte En1 + .byte W12 + .byte Gs1 + .byte W12 + .byte N08 , An1 , v064 + .byte W48 + .byte N24 , Cs2 , v076 + .byte W24 + .byte N12 , En2 , v072 + .byte W12 + .byte N06 , Ds2 + .byte W06 + .byte Dn2 + .byte W06 + .byte VOICE , 58 + .byte W96 + .byte W96 + .byte 73 + .byte N06 , Cs5 , v044 + .byte W06 + .byte Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte Fs5 + .byte W06 + .byte N12 , En5 + .byte W12 + .byte N04 + .byte W04 + .byte Dn5 + .byte W04 + .byte Cs5 + .byte W04 + .byte N12 , Bn4 + .byte W12 + .byte N04 + .byte W04 + .byte As4 + .byte W04 + .byte An4 + .byte W04 + .byte N12 , Gs4 + .byte W12 + .byte N04 + .byte W04 + .byte Fs4 + .byte W04 + .byte Fn4 + .byte W04 + .byte N96 , En4 + .byte W36 + .byte MOD , 8 + .byte W12 + .byte VOL , 81*mus_rg_ending_mvl/mxv + .byte W02 + .byte 78*mus_rg_ending_mvl/mxv + .byte W03 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 76*mus_rg_ending_mvl/mxv + .byte W04 + .byte 75*mus_rg_ending_mvl/mxv + .byte W02 + .byte 72*mus_rg_ending_mvl/mxv + .byte W03 + .byte 70*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte W04 + .byte 68*mus_rg_ending_mvl/mxv + .byte W02 + .byte 65*mus_rg_ending_mvl/mxv + .byte W06 + .byte 63*mus_rg_ending_mvl/mxv + .byte W04 + .byte 61*mus_rg_ending_mvl/mxv + .byte W02 + .byte 60*mus_rg_ending_mvl/mxv + .byte W10 + .byte 82*mus_rg_ending_mvl/mxv + .byte MOD , 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 81 + .byte VOL , 73*mus_rg_ending_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Gn1 , v072 + .byte W12 + .byte N06 + .byte W36 + .byte N06 + .byte W12 + .byte N24 + .byte W24 + .byte N12 , Gs1 + .byte W12 + .byte N48 , An1 + .byte W48 + .byte N06 , En1 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , Bn1 + .byte W24 + .byte VOL , 73*mus_rg_ending_mvl/mxv + .byte N06 , Cn2 + .byte W24 + .byte N24 , Bn1 + .byte W24 + .byte N06 , Cn2 + .byte W24 + .byte N24 , Gs1 + .byte W24 +mus_rg_ending_4_000: + .byte N06 , Cn2 , v072 + .byte W24 + .byte N24 , Bn1 + .byte W24 + .byte N06 , Cn2 + .byte W24 + .byte N24 , Gs1 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_ending_4_000 + .byte PATT + .word mus_rg_ending_4_000 + .byte PATT + .word mus_rg_ending_4_000 + .byte PATT + .word mus_rg_ending_4_000 + .byte PATT + .word mus_rg_ending_4_000 + .byte PATT + .word mus_rg_ending_4_000 + .byte PATT + .word mus_rg_ending_4_000 + .byte PATT + .word mus_rg_ending_4_000 + .byte W12 + .byte N06 , An2 , v072 + .byte W06 + .byte N03 + .byte W18 + .byte N06 , An1 + .byte W24 + .byte N06 + .byte W24 + .byte N24 , Fn2 + .byte W12 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte N03 + .byte W18 + .byte N06 , An1 + .byte W24 + .byte N06 + .byte W24 + .byte N24 , Fs2 + .byte W12 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte N03 + .byte W18 + .byte N06 , An1 + .byte W24 + .byte N06 + .byte W36 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 48 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte PAN , c_v+15 + .byte N24 , Cn1 , v056 + .byte W09 + .byte VOL , 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 56*mus_rg_ending_mvl/mxv + .byte W03 + .byte 51*mus_rg_ending_mvl/mxv + .byte W03 + .byte 34*mus_rg_ending_mvl/mxv + .byte W03 + .byte 22*mus_rg_ending_mvl/mxv + .byte W15 + .byte 68*mus_rg_ending_mvl/mxv + .byte W60 +mus_rg_ending_4_001: + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte N24 , Cn1 , v056 + .byte W09 + .byte VOL , 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 56*mus_rg_ending_mvl/mxv + .byte W03 + .byte 51*mus_rg_ending_mvl/mxv + .byte W03 + .byte 34*mus_rg_ending_mvl/mxv + .byte W03 + .byte 22*mus_rg_ending_mvl/mxv + .byte W15 + .byte 68*mus_rg_ending_mvl/mxv + .byte W60 + .byte PEND +mus_rg_ending_4_002: + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte N24 , Dn1 , v056 + .byte W09 + .byte VOL , 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 56*mus_rg_ending_mvl/mxv + .byte W03 + .byte 51*mus_rg_ending_mvl/mxv + .byte W03 + .byte 34*mus_rg_ending_mvl/mxv + .byte W03 + .byte 22*mus_rg_ending_mvl/mxv + .byte W15 + .byte 68*mus_rg_ending_mvl/mxv + .byte W60 + .byte PEND + .byte PATT + .word mus_rg_ending_4_002 +mus_rg_ending_4_003: + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte N24 , Gn1 , v056 + .byte W09 + .byte VOL , 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 56*mus_rg_ending_mvl/mxv + .byte W03 + .byte 51*mus_rg_ending_mvl/mxv + .byte W03 + .byte 34*mus_rg_ending_mvl/mxv + .byte W03 + .byte 22*mus_rg_ending_mvl/mxv + .byte W15 + .byte 68*mus_rg_ending_mvl/mxv + .byte W60 + .byte PEND + .byte PATT + .word mus_rg_ending_4_003 + .byte PATT + .word mus_rg_ending_4_001 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte N48 , Cn1 , v052 + .byte W09 + .byte VOL , 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 56*mus_rg_ending_mvl/mxv + .byte W03 + .byte 51*mus_rg_ending_mvl/mxv + .byte W03 + .byte 34*mus_rg_ending_mvl/mxv + .byte W03 + .byte 22*mus_rg_ending_mvl/mxv + .byte W15 + .byte 68*mus_rg_ending_mvl/mxv + .byte W12 + .byte N24 , Dn1 + .byte W24 + .byte En1 + .byte W24 +mus_rg_ending_4_004: + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte N24 , Fn1 , v056 + .byte W09 + .byte VOL , 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 56*mus_rg_ending_mvl/mxv + .byte W03 + .byte 51*mus_rg_ending_mvl/mxv + .byte W03 + .byte 34*mus_rg_ending_mvl/mxv + .byte W03 + .byte 22*mus_rg_ending_mvl/mxv + .byte W15 + .byte 68*mus_rg_ending_mvl/mxv + .byte W60 + .byte PEND + .byte PATT + .word mus_rg_ending_4_004 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte N24 , En1 , v056 + .byte W09 + .byte VOL , 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 56*mus_rg_ending_mvl/mxv + .byte W03 + .byte 51*mus_rg_ending_mvl/mxv + .byte W03 + .byte 34*mus_rg_ending_mvl/mxv + .byte W03 + .byte 22*mus_rg_ending_mvl/mxv + .byte W15 + .byte 68*mus_rg_ending_mvl/mxv + .byte W60 + .byte 68*mus_rg_ending_mvl/mxv + .byte N24 + .byte W09 + .byte VOL , 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 56*mus_rg_ending_mvl/mxv + .byte W03 + .byte 51*mus_rg_ending_mvl/mxv + .byte W03 + .byte 34*mus_rg_ending_mvl/mxv + .byte W03 + .byte 22*mus_rg_ending_mvl/mxv + .byte W15 + .byte 68*mus_rg_ending_mvl/mxv + .byte W12 + .byte 68*mus_rg_ending_mvl/mxv + .byte N24 + .byte W09 + .byte VOL , 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 56*mus_rg_ending_mvl/mxv + .byte W03 + .byte 51*mus_rg_ending_mvl/mxv + .byte W03 + .byte 34*mus_rg_ending_mvl/mxv + .byte W03 + .byte 22*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte N24 , Ds1 + .byte W09 + .byte VOL , 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 56*mus_rg_ending_mvl/mxv + .byte W03 + .byte 51*mus_rg_ending_mvl/mxv + .byte W03 + .byte 34*mus_rg_ending_mvl/mxv + .byte W03 + .byte 22*mus_rg_ending_mvl/mxv + .byte W03 + .byte PATT + .word mus_rg_ending_4_002 + .byte PATT + .word mus_rg_ending_4_002 + .byte PATT + .word mus_rg_ending_4_001 + .byte PATT + .word mus_rg_ending_4_001 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 81 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte PAN , c_v+0 + .byte N24 , Gn1 , v080 + .byte W48 + .byte N24 + .byte W48 + .byte N24 + .byte W48 + .byte N24 + .byte W24 + .byte Gs1 + .byte W24 + .byte N36 , An1 + .byte W36 + .byte N12 , En1 + .byte W12 + .byte N36 , An1 + .byte W36 + .byte N12 , Bn1 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte N06 + .byte W24 + .byte N12 , Gs1 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , Cs2 + .byte W24 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N12 , Bn1 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N24 , Bn1 + .byte W24 + .byte N06 , Gn1 + .byte W12 + .byte N06 + .byte W24 + .byte N12 , Dn1 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , Gs1 + .byte W24 + .byte N06 , An1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte Gs1 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte N06 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte Fs1 + .byte W12 + .byte VOICE , 81 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte N96 , Dn1 + .byte W96 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N09 + .byte W24 + .byte N12 + .byte W12 + .byte N96 , En1 + .byte W96 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N09 + .byte W24 + .byte N09 + .byte W12 + .byte N12 , Fn1 + .byte W36 + .byte N12 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Fn2 + .byte W12 + .byte N12 , Fn1 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte An1 + .byte W24 + .byte W03 + .byte N21 , Fn2 + .byte W21 + .byte N24 , Cn2 + .byte W24 + .byte N03 , Bn1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Dn1 + .byte W24 + .byte N12 + .byte W12 + .byte Dn2 + .byte W12 + .byte N06 , Gn1 + .byte W24 + .byte N12 + .byte W12 +mus_rg_ending_4_005: + .byte N24 , An1 , v080 + .byte W24 + .byte En1 + .byte W24 + .byte An1 + .byte W24 + .byte En1 + .byte W24 + .byte PEND + .byte An1 + .byte W24 + .byte En1 + .byte W24 + .byte An1 + .byte W24 + .byte N12 , Cs2 + .byte W12 + .byte Bn1 + .byte W12 + .byte N24 , An1 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte En1 + .byte W12 + .byte N24 , An1 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte Gs1 + .byte W12 + .byte N36 , Gn1 , v076 + .byte W36 + .byte N12 , Fs1 , v080 + .byte W12 + .byte N36 , Dn1 + .byte W36 + .byte N06 , Dn2 , v076 + .byte W12 + .byte N36 , Gn1 + .byte W36 + .byte N12 , Dn1 , v080 + .byte W12 + .byte N36 , Bn1 + .byte W36 + .byte N06 , An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte PATT + .word mus_rg_ending_4_005 + .byte N24 , An1 , v080 + .byte W24 + .byte En1 + .byte W24 + .byte An1 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N06 , En2 + .byte W12 + .byte N24 , Gn1 + .byte W36 + .byte N06 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Dn1 + .byte W24 + .byte N12 + .byte W12 + .byte N36 , Gn1 + .byte W36 + .byte N06 , Dn1 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N24 , Gs1 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte PATT + .word mus_rg_ending_4_005 + .byte N24 , An1 , v096 + .byte W24 + .byte En1 + .byte W24 + .byte N12 , An1 + .byte W12 + .byte En1 + .byte W12 + .byte An1 + .byte W12 + .byte En1 + .byte W12 + .byte N06 , An1 , v092 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W48 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_ending_5: + .byte KEYSH , mus_rg_ending_key+0 + .byte VOICE , 46 + .byte VOL , 87*mus_rg_ending_mvl/mxv + .byte PAN , c_v-48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte W96 + .byte W96 + .byte N03 , En3 , v052 + .byte W03 + .byte Bn2 + .byte W03 + .byte En3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Bn3 + .byte W03 + .byte PAN , c_v+16 + .byte N03 , En4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Bn4 + .byte W03 + .byte PAN , c_v+47 + .byte N03 , En5 + .byte W03 + .byte Bn4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Bn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W03 + .byte PAN , c_v-48 + .byte N03 , Gs4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Bn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W03 + .byte En3 + .byte W03 + .byte Bn2 + .byte W03 + .byte PAN , c_v+47 + .byte N03 , Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Bn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W03 + .byte En3 + .byte W03 + .byte Bn2 + .byte W03 + .byte N24 , Gs2 + .byte W03 + .byte VOL , 83*mus_rg_ending_mvl/mxv + .byte W02 + .byte 65*mus_rg_ending_mvl/mxv + .byte W01 + .byte 68*mus_rg_ending_mvl/mxv + .byte W02 + .byte 59*mus_rg_ending_mvl/mxv + .byte W03 + .byte 52*mus_rg_ending_mvl/mxv + .byte W04 + .byte 45*mus_rg_ending_mvl/mxv + .byte W02 + .byte 34*mus_rg_ending_mvl/mxv + .byte W03 + .byte 27*mus_rg_ending_mvl/mxv + .byte W03 + .byte 18*mus_rg_ending_mvl/mxv + .byte W76 + .byte 90*mus_rg_ending_mvl/mxv + .byte W48 + .byte VOICE , 9 + .byte PAN , c_v-16 + .byte N36 , An5 , v040 + .byte W12 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte W06 + .byte 56*mus_rg_ending_mvl/mxv + .byte W06 + .byte 45*mus_rg_ending_mvl/mxv + .byte W06 + .byte 34*mus_rg_ending_mvl/mxv + .byte W06 + .byte 90*mus_rg_ending_mvl/mxv + .byte N06 , En5 + .byte W06 + .byte An5 + .byte W06 + .byte PAN , c_v+16 + .byte N36 , Gn5 + .byte W12 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte W06 + .byte 56*mus_rg_ending_mvl/mxv + .byte W06 + .byte 45*mus_rg_ending_mvl/mxv + .byte W06 + .byte 34*mus_rg_ending_mvl/mxv + .byte W06 + .byte 90*mus_rg_ending_mvl/mxv + .byte N06 , Dn5 + .byte W06 + .byte Gn5 + .byte W06 + .byte PAN , c_v-16 + .byte N36 , Fs5 + .byte W12 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte W06 + .byte 56*mus_rg_ending_mvl/mxv + .byte W06 + .byte 45*mus_rg_ending_mvl/mxv + .byte W06 + .byte 34*mus_rg_ending_mvl/mxv + .byte W06 + .byte 90*mus_rg_ending_mvl/mxv + .byte N06 , Dn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte PAN , c_v+16 + .byte N48 , En5 + .byte W12 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte W06 + .byte 56*mus_rg_ending_mvl/mxv + .byte W06 + .byte 45*mus_rg_ending_mvl/mxv + .byte W06 + .byte 34*mus_rg_ending_mvl/mxv + .byte W06 + .byte 22*mus_rg_ending_mvl/mxv + .byte W06 + .byte 10*mus_rg_ending_mvl/mxv + .byte W06 + .byte 2*mus_rg_ending_mvl/mxv + .byte W96 + .byte 90*mus_rg_ending_mvl/mxv + .byte W72 + .byte VOICE , 46 + .byte W24 + .byte PAN , c_v-32 + .byte N03 , En4 , v108 + .byte W03 + .byte Dn4 , v092 + .byte W03 + .byte Bn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W03 + .byte En3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Bn2 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , Fs4 , v108 + .byte W03 + .byte En4 , v092 + .byte W03 + .byte Dn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W03 + .byte En3 + .byte W03 + .byte Dn3 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , Gs4 , v108 + .byte W03 + .byte Fs4 , v088 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W03 + .byte En3 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , Bn4 , v108 + .byte W03 + .byte Gs4 , v088 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , En5 , v108 + .byte W03 + .byte Dn5 , v092 + .byte W03 + .byte Bn4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , Dn5 , v108 + .byte W03 + .byte Bn4 , v092 + .byte W03 + .byte Gs4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , Bn4 , v104 + .byte W03 + .byte Gs4 , v088 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , Gs4 , v104 + .byte W03 + .byte Fs4 , v088 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W03 + .byte En3 + .byte W03 + .byte W96 + .byte W96 + .byte VOICE , 56 + .byte PAN , c_v+12 + .byte N12 , An5 , v080 + .byte W12 + .byte An4 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte N21 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N12 + .byte W36 + .byte PAN , c_v-32 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 46 + .byte N06 , En2 , v072 + .byte W06 + .byte An2 + .byte W06 + .byte Cs3 + .byte W06 + .byte En3 + .byte W06 + .byte An2 + .byte W06 + .byte Cs3 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs3 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N03 , An4 + .byte W03 + .byte En4 + .byte W03 + .byte Cs4 + .byte W03 + .byte Bn3 + .byte W03 + .byte An3 + .byte W03 + .byte En3 + .byte W03 + .byte Cs3 + .byte W03 + .byte An2 + .byte W03 + .byte VOICE , 56 + .byte PAN , c_v-16 + .byte VOL , 71*mus_rg_ending_mvl/mxv + .byte N06 , An4 , v112 + .byte W12 + .byte N12 , An3 + .byte W48 + .byte En3 , v120 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 +mus_rg_ending_5_000: + .byte N06 , Gn4 , v120 + .byte W12 + .byte N12 , Gn3 + .byte W48 + .byte En4 + .byte W12 + .byte N03 , An4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte PEND +mus_rg_ending_5_001: + .byte N06 , En4 , v120 + .byte W12 + .byte N12 , En3 + .byte W84 + .byte PEND + .byte N06 , En4 + .byte W12 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W12 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte N03 , Cs5 + .byte W06 + .byte Cs5 , v116 + .byte W06 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte An4 , v112 + .byte W12 + .byte N12 , An3 + .byte W24 + .byte An3 , v120 + .byte W24 + .byte En3 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte PATT + .word mus_rg_ending_5_000 + .byte PATT + .word mus_rg_ending_5_001 + .byte N08 , An3 , v120 + .byte W08 + .byte En3 + .byte W08 + .byte An3 + .byte W08 + .byte Cs4 + .byte W08 + .byte An3 + .byte W08 + .byte Cs4 + .byte W08 + .byte N36 , En4 + .byte W36 + .byte N06 , Dn4 , v088 + .byte W06 + .byte Cs4 + .byte W06 + .byte VOICE , 46 + .byte PAN , c_v+32 + .byte VOL , 64*mus_rg_ending_mvl/mxv + .byte BEND , c_v+1 + .byte W06 + .byte N04 , Gn2 , v032 + .byte W04 + .byte Bn2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Bn2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W02 +mus_rg_ending_5_002: + .byte PAN , c_v-32 + .byte W02 + .byte N04 , Fs5 , v032 + .byte W04 + .byte Gn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Bn2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Bn2 + .byte W02 + .byte PEND + .byte PAN , c_v+31 + .byte W02 + .byte N04 , Gn2 + .byte W04 + .byte An2 + .byte W04 + .byte Cs3 + .byte W04 + .byte En3 + .byte W04 + .byte Cs3 + .byte W04 + .byte En3 + .byte W04 + .byte An3 + .byte W04 + .byte En3 + .byte W04 + .byte An3 + .byte W04 + .byte Cs4 + .byte W04 + .byte An3 + .byte W04 + .byte Cs4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte En4 + .byte W04 + .byte An4 + .byte W04 + .byte En4 + .byte W04 + .byte An4 + .byte W04 + .byte Cs5 + .byte W04 + .byte An4 + .byte W04 + .byte Cs5 + .byte W04 + .byte En5 + .byte W04 + .byte Cs5 + .byte W04 + .byte En5 + .byte W02 + .byte PAN , c_v-33 + .byte W02 + .byte N04 , Gs5 + .byte W04 + .byte An5 + .byte W04 + .byte En5 + .byte W04 + .byte Cs5 + .byte W04 + .byte En5 + .byte W04 + .byte Cs5 + .byte W04 + .byte An4 + .byte W04 + .byte Cs5 + .byte W04 + .byte An4 + .byte W04 + .byte En4 + .byte W04 + .byte An4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte An3 + .byte W04 + .byte Cs4 + .byte W04 + .byte An3 + .byte W04 + .byte En3 + .byte W04 + .byte An3 + .byte W04 + .byte En3 + .byte W04 + .byte Cs3 + .byte W04 + .byte En3 + .byte W04 + .byte Cs3 + .byte W02 + .byte PAN , c_v+32 + .byte W02 + .byte N04 , An2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Bn2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Bn2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W02 + .byte PATT + .word mus_rg_ending_5_002 + .byte PAN , c_v+32 + .byte W02 + .byte N04 , Gn2 , v032 + .byte W04 + .byte N24 , An4 + .byte W18 + .byte PAN , c_v-32 + .byte W06 + .byte N24 , Gs4 + .byte W18 + .byte PAN , c_v+31 + .byte W06 + .byte N24 , Fs4 + .byte W18 + .byte PAN , c_v-32 + .byte W06 + .byte N24 , En4 + .byte W18 + .byte PAN , c_v+32 + .byte W06 + .byte N03 , An2 + .byte W03 + .byte Bn2 + .byte W03 + .byte Cs3 + .byte W03 + .byte En3 + .byte W03 + .byte PAN , c_v-16 + .byte N03 , Fs3 + .byte W03 + .byte Gs3 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , An3 + .byte W03 + .byte Bn3 + .byte W03 + .byte Cs4 + .byte W03 + .byte Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Gs4 + .byte W03 + .byte An4 + .byte W03 + .byte As4 + .byte W03 + .byte Cn5 + .byte W03 + .byte N24 , Cs5 + .byte W24 + .byte N18 , An4 + .byte W18 + .byte VOICE , 46 + .byte PAN , c_v-32 + .byte VOL , 65*mus_rg_ending_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Bn4 , v088 + .byte W12 + .byte Dn4 + .byte W12 + .byte An4 + .byte W12 + .byte Dn4 , v072 + .byte W12 + .byte Bn4 , v088 + .byte W12 + .byte Dn4 , v072 + .byte W12 + .byte Dn5 , v088 + .byte W12 + .byte Dn4 , v072 + .byte W12 + .byte VOICE , 47 + .byte PAN , c_v+35 + .byte N24 , An2 , v112 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Gn2 + .byte W24 + .byte PAN , c_v+36 + .byte N24 , Fn2 + .byte W24 + .byte PAN , c_v-32 + .byte VOL , 81*mus_rg_ending_mvl/mxv + .byte N06 , En2 , v100 + .byte W06 + .byte N05 , En2 , v108 + .byte W06 + .byte En2 , v112 + .byte W06 + .byte En2 , v127 + .byte W06 + .byte VOL , 65*mus_rg_ending_mvl/mxv + .byte W96 + .byte W96 + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte N06 , An3 , v080 + .byte W06 + .byte N03 , En3 , v052 + .byte W06 + .byte N06 , An3 , v080 + .byte W06 + .byte N03 , En3 , v048 + .byte W06 + .byte N06 , En4 , v080 + .byte W06 + .byte N03 , Cn4 , v048 + .byte W06 + .byte N06 , En4 , v080 + .byte W06 + .byte N03 , Cn4 , v048 + .byte W06 + .byte N06 , Ds4 , v080 + .byte W06 + .byte N03 , Cn4 , v048 + .byte W06 + .byte N06 , Ds4 , v080 + .byte W06 + .byte N03 , Cn4 , v048 + .byte W06 + .byte N06 , Gn4 , v080 + .byte W06 + .byte N03 , Ds4 , v048 + .byte W06 + .byte N06 , Gn4 , v080 + .byte W06 + .byte N03 , Ds4 , v048 + .byte W06 + .byte N06 , Fs4 , v080 + .byte W06 + .byte N03 , Cn4 , v048 + .byte W06 + .byte N06 , Fs4 , v080 + .byte W06 + .byte N03 , Cn4 , v048 + .byte W06 + .byte N06 , Cs4 , v080 + .byte W06 + .byte N03 , An3 , v048 + .byte W06 + .byte N06 , Cs4 , v080 + .byte W06 + .byte N03 , An3 , v048 + .byte W06 + .byte N06 , Cn4 , v080 + .byte W06 + .byte N03 , En3 , v048 + .byte W06 + .byte N06 , Cn4 , v080 + .byte W06 + .byte N03 , En3 , v048 + .byte W06 + .byte N06 , En4 , v080 + .byte W06 + .byte N03 , An3 , v048 + .byte W06 + .byte N06 , En4 , v080 + .byte W06 + .byte N03 , An3 , v048 + .byte W06 + .byte N06 , Ds4 , v080 + .byte W06 + .byte N03 , An3 , v048 + .byte W06 + .byte N06 , Ds4 , v080 + .byte W06 + .byte N03 , An3 , v048 + .byte W06 + .byte N06 , An3 , v080 + .byte W06 + .byte N03 , En3 , v048 + .byte W06 + .byte N06 , An3 , v080 + .byte W06 + .byte N03 , En3 , v048 + .byte W06 + .byte N06 , Gs3 , v080 + .byte W06 + .byte N03 , Dn3 , v048 + .byte W06 + .byte N06 , Gs3 , v080 + .byte W06 + .byte N03 , Dn3 , v048 + .byte W06 + .byte N06 , Dn4 , v080 + .byte W06 + .byte N03 , An3 , v048 + .byte W06 + .byte N06 , Dn4 , v080 + .byte W06 + .byte N03 , An3 , v048 + .byte W06 + .byte VOL , 71*mus_rg_ending_mvl/mxv + .byte N06 , Cs4 , v080 + .byte W06 + .byte N03 , An3 , v048 + .byte W06 + .byte N06 , Cs4 , v080 + .byte W06 + .byte N03 , An3 , v048 + .byte W06 + .byte N06 , An3 , v080 + .byte W06 + .byte N03 , En3 , v048 + .byte W06 + .byte N06 , An3 , v080 + .byte W06 + .byte N03 , En3 , v048 + .byte W06 + .byte VOL , 75*mus_rg_ending_mvl/mxv + .byte N06 , Bn3 , v080 + .byte W06 + .byte N03 , En3 , v048 + .byte W06 + .byte N06 , Bn3 , v080 + .byte W06 + .byte N03 , En3 , v048 + .byte W06 + .byte N06 , Gs3 , v080 + .byte W06 + .byte N03 , Cn3 , v048 + .byte W06 + .byte N06 , Gs3 , v080 + .byte W06 + .byte N03 , Cn3 , v048 + .byte W06 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte N06 , An4 , v080 + .byte W06 + .byte N03 , En4 , v048 + .byte W06 + .byte N06 , An4 , v080 + .byte W06 + .byte N03 , En4 , v048 + .byte W06 + .byte N06 , En5 , v080 + .byte W06 + .byte N03 , Cn5 , v048 + .byte W06 + .byte N06 , En5 , v080 + .byte W06 + .byte N03 , Cn5 , v048 + .byte W06 + .byte N06 , Ds5 , v080 + .byte W06 + .byte N03 , Cn5 , v048 + .byte W06 + .byte N06 , Ds5 , v080 + .byte W06 + .byte N03 , Cn5 , v048 + .byte W06 + .byte N06 , Gn5 , v080 + .byte W06 + .byte N03 , Ds5 , v048 + .byte W06 + .byte N06 , Gn5 , v080 + .byte W06 + .byte N03 , Ds5 , v048 + .byte W06 + .byte N06 , Fs5 , v080 + .byte W06 + .byte N03 , Cn5 , v044 + .byte W06 + .byte N06 , Fs5 , v080 + .byte W06 + .byte N03 , Cn5 , v044 + .byte W06 + .byte N06 , Cs5 , v080 + .byte W06 + .byte N03 , An4 , v048 + .byte W06 + .byte N06 , Cs5 , v080 + .byte W06 + .byte N03 , An4 , v048 + .byte W06 + .byte N06 , Cn5 , v080 + .byte W06 + .byte N03 , En4 , v048 + .byte W06 + .byte N06 , Cn5 , v080 + .byte W06 + .byte N03 , En4 , v048 + .byte W06 + .byte N06 , En5 , v080 + .byte W06 + .byte N03 , An4 , v048 + .byte W06 + .byte N06 , En5 , v080 + .byte W06 + .byte N03 , An4 , v048 + .byte W06 + .byte N06 , Ds5 , v080 + .byte W06 + .byte N03 , An4 , v048 + .byte W06 + .byte N06 , Ds5 , v080 + .byte W06 + .byte N03 , An4 , v048 + .byte W06 + .byte N06 , An4 , v080 + .byte W06 + .byte N03 , En4 , v048 + .byte W06 + .byte N06 , An4 , v080 + .byte W06 + .byte N03 , En4 , v048 + .byte W06 + .byte N06 , Gs4 , v080 + .byte W06 + .byte N03 , Dn4 , v048 + .byte W06 + .byte N06 , Gs4 , v080 + .byte W06 + .byte N03 , Dn4 , v048 + .byte W06 + .byte N06 , Dn5 , v080 + .byte W06 + .byte N03 , An4 , v048 + .byte W06 + .byte N06 , Dn5 , v080 + .byte W06 + .byte N03 , An4 , v048 + .byte W06 + .byte VOL , 72*mus_rg_ending_mvl/mxv + .byte N06 , Cs5 , v080 + .byte W06 + .byte N03 , An4 , v048 + .byte W06 + .byte N06 , Cs5 , v080 + .byte W06 + .byte N03 , An4 , v048 + .byte W06 + .byte N06 , An4 , v080 + .byte W06 + .byte N03 , En4 , v048 + .byte W06 + .byte N06 , An4 , v080 + .byte W06 + .byte N03 , En4 , v048 + .byte W06 + .byte VOL , 75*mus_rg_ending_mvl/mxv + .byte N06 , Bn4 , v080 + .byte W06 + .byte N03 , En4 , v048 + .byte W06 + .byte N06 , Bn4 , v080 + .byte W06 + .byte N03 , En4 , v048 + .byte W06 + .byte N06 , Gs4 , v080 + .byte W06 + .byte N03 , Cn4 , v048 + .byte W06 + .byte N06 , Gs4 , v080 + .byte W06 + .byte N03 , Cn4 , v048 + .byte W06 + .byte VOICE , 14 + .byte VOL , 65*mus_rg_ending_mvl/mxv + .byte N24 , An4 , v080 + .byte W24 + .byte An4 , v040 + .byte W24 + .byte An4 , v028 + .byte W24 + .byte An4 , v016 + .byte W24 + .byte An5 , v080 + .byte W24 + .byte An5 , v040 + .byte W24 + .byte An5 , v028 + .byte W24 + .byte An5 , v016 + .byte W24 + .byte An4 , v080 + .byte W24 + .byte An4 , v040 + .byte W24 + .byte An4 , v028 + .byte W24 + .byte An4 , v016 + .byte W24 + .byte N12 , En5 , v072 + .byte W12 + .byte N24 , An5 , v080 + .byte W24 + .byte Gs5 + .byte W24 + .byte Fn5 + .byte W24 + .byte En5 + .byte W12 + .byte W12 + .byte Fn5 + .byte W24 + .byte En5 + .byte W24 + .byte Cn5 + .byte W24 + .byte N12 , Bn4 + .byte W12 + .byte VOICE , 1 + .byte VOL , 25*mus_rg_ending_mvl/mxv + .byte W12 + .byte N36 , Cn4 , v020 + .byte W48 + .byte Dn4 + .byte W36 + .byte VOICE , 1 + .byte PAN , c_v-48 + .byte VOL , 28*mus_rg_ending_mvl/mxv + .byte BEND , c_v+1 + .byte W12 + .byte N96 , En4 , v044 + .byte W84 + .byte W12 + .byte PAN , c_v+48 + .byte W12 + .byte N12 + .byte W12 + .byte Fn4 + .byte W12 + .byte N21 , Gn4 + .byte W21 + .byte N03 , Gs4 + .byte W03 + .byte N12 , Gn4 + .byte W12 + .byte N08 + .byte W08 + .byte Fn4 + .byte W04 + .byte W04 + .byte En4 + .byte W08 + .byte N12 , Fn4 + .byte W12 + .byte PAN , c_v-48 + .byte N84 , Dn4 + .byte W72 + .byte W12 + .byte PAN , c_v+48 + .byte W24 + .byte N24 , Fn3 + .byte W24 + .byte En3 + .byte W24 + .byte An3 + .byte W12 + .byte W12 + .byte PAN , c_v-48 + .byte N96 , Dn4 + .byte W84 + .byte W12 + .byte PAN , c_v+48 + .byte W12 + .byte N12 + .byte W12 + .byte En4 + .byte W12 + .byte N21 , Fn4 + .byte W21 + .byte N03 , Fs4 + .byte W03 + .byte N12 , Fn4 + .byte W12 + .byte N08 + .byte W08 + .byte En4 + .byte W04 + .byte PAN , c_v-37 + .byte W04 + .byte N08 , Dn4 + .byte W08 + .byte N12 , En4 + .byte W12 + .byte N72 , Gn4 + .byte W72 + .byte VOICE , 46 + .byte VOL , 79*mus_rg_ending_mvl/mxv + .byte BEND , c_v+0 + .byte W48 + .byte N03 , Gn3 , v052 + .byte W03 + .byte Bn3 + .byte W03 + .byte Cn4 + .byte W03 + .byte En4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Bn4 + .byte W03 + .byte PAN , c_v-16 + .byte N03 , Cn5 + .byte W03 + .byte En5 + .byte W03 + .byte PAN , c_v+33 + .byte N03 , Gn5 + .byte W03 + .byte En5 + .byte W03 + .byte Cn5 + .byte W03 + .byte Gn4 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , En4 + .byte W03 + .byte Cn4 + .byte W03 + .byte Gn3 + .byte W03 + .byte En3 + .byte W03 + .byte W96 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte 90*mus_rg_ending_mvl/mxv + .byte PAN , c_v-37 + .byte W72 + .byte VOICE , 56 + .byte W12 + .byte N06 , En4 , v096 + .byte W06 + .byte Fs4 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W36 + .byte N06 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W12 + .byte N12 + .byte W12 + .byte Bn4 + .byte W12 + .byte N06 , Gn4 + .byte W12 + .byte N06 + .byte W36 + .byte N06 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W12 + .byte N12 + .byte W12 + .byte Bn4 + .byte W12 + .byte N03 , An4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N09 , En4 + .byte W12 + .byte N06 , An4 + .byte W06 + .byte N03 , Gs4 + .byte W06 + .byte N06 , An4 + .byte W12 + .byte N12 + .byte W12 + .byte Gs4 + .byte W12 + .byte N06 , An4 + .byte W12 + .byte N06 + .byte W36 + .byte En4 + .byte W12 + .byte N06 + .byte W36 + .byte Fs3 , v108 + .byte W12 + .byte Dn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W12 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte N48 , Dn4 + .byte W48 + .byte VOICE , 60 + .byte PAN , c_v+22 + .byte N36 , Dn3 , v072 + .byte W36 + .byte N12 , Cs3 + .byte W12 + .byte N36 , Bn2 + .byte W36 + .byte N12 , An2 + .byte W12 + .byte VOICE , 56 + .byte PAN , c_v-33 + .byte N06 , Gs3 , v116 + .byte W12 + .byte En3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N08 , Bn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Bn3 + .byte W08 + .byte N48 , En4 + .byte W48 + .byte VOICE , 60 + .byte PAN , c_v+22 + .byte N24 , En3 , v072 + .byte W24 + .byte Dn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte En3 + .byte W24 + .byte VOICE , 56 + .byte PAN , c_v-32 + .byte N08 , An3 , v124 + .byte W08 + .byte Fn3 + .byte W08 + .byte An3 + .byte W08 + .byte Cn4 + .byte W08 + .byte An3 + .byte W08 + .byte Cn4 + .byte W08 + .byte N48 , Fn4 + .byte W48 + .byte VOICE , 60 + .byte PAN , c_v+22 + .byte N03 , Fn4 , v072 + .byte W06 + .byte N03 + .byte W06 + .byte N18 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte Gn4 + .byte W06 + .byte N24 , An4 + .byte W24 + .byte VOL , 50*mus_rg_ending_mvl/mxv + .byte N60 , Gn4 + .byte W02 + .byte VOL , 52*mus_rg_ending_mvl/mxv + .byte W01 + .byte 58*mus_rg_ending_mvl/mxv + .byte W02 + .byte 55*mus_rg_ending_mvl/mxv + .byte W01 + .byte 70*mus_rg_ending_mvl/mxv + .byte W02 + .byte 58*mus_rg_ending_mvl/mxv + .byte W01 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 90*mus_rg_ending_mvl/mxv + .byte W48 + .byte N24 , Dn4 + .byte W24 + .byte N12 , Bn3 + .byte W12 + .byte N48 , Gn4 + .byte W36 + .byte VOL , 86*mus_rg_ending_mvl/mxv + .byte W02 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 66*mus_rg_ending_mvl/mxv + .byte W03 + .byte 60*mus_rg_ending_mvl/mxv + .byte W04 + .byte 90*mus_rg_ending_mvl/mxv + .byte N06 , Gn4 , v076 + .byte W18 + .byte An4 + .byte W06 + .byte N24 , Bn4 + .byte W24 + .byte VOICE , 73 + .byte PAN , c_v+14 + .byte N12 , En5 , v080 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte An5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Gs5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N36 , En5 + .byte W09 + .byte MOD , 8 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte W02 + .byte 86*mus_rg_ending_mvl/mxv + .byte W03 + .byte 82*mus_rg_ending_mvl/mxv + .byte W03 + .byte 77*mus_rg_ending_mvl/mxv + .byte W03 + .byte 72*mus_rg_ending_mvl/mxv + .byte W03 + .byte 66*mus_rg_ending_mvl/mxv + .byte W03 + .byte 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 58*mus_rg_ending_mvl/mxv + .byte W03 + .byte 56*mus_rg_ending_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte N12 , Cs5 + .byte W12 + .byte N24 , An4 + .byte W24 + .byte N03 , Bn4 + .byte W03 + .byte Cs5 + .byte W03 + .byte En5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Gs5 + .byte W03 + .byte An5 + .byte W03 + .byte Bn5 + .byte W03 + .byte Cs6 + .byte W03 + .byte N06 , An5 + .byte W06 + .byte Bn5 + .byte W06 + .byte An5 + .byte W06 + .byte Bn5 + .byte W06 + .byte N72 , An5 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte VOL , 78*mus_rg_ending_mvl/mxv + .byte W03 + .byte 72*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte W03 + .byte 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 61*mus_rg_ending_mvl/mxv + .byte W03 + .byte 53*mus_rg_ending_mvl/mxv + .byte W03 + .byte 45*mus_rg_ending_mvl/mxv + .byte W03 + .byte 38*mus_rg_ending_mvl/mxv + .byte W03 + .byte 31*mus_rg_ending_mvl/mxv + .byte W03 + .byte 24*mus_rg_ending_mvl/mxv + .byte W03 + .byte 14*mus_rg_ending_mvl/mxv + .byte W03 + .byte 7*mus_rg_ending_mvl/mxv + .byte W03 + .byte VOICE , 56 + .byte MOD , 0 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte PAN , c_v+34 + .byte N03 , An3 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte PAN , c_v+16 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 56 + .byte N03 , En4 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W18 + .byte Fs4 + .byte W06 + .byte N24 , Gn4 + .byte W24 + .byte W96 + .byte W96 + .byte N03 , An4 , v096 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte PAN , c_v+29 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte PAN , c_v+40 + .byte N03 , Cs4 , v076 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W48 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_ending_6: + .byte KEYSH , mus_rg_ending_key+0 + .byte VOICE , 68 + .byte PAN , c_v+0 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte BEND , c_v+0 + .byte N36 , An3 , v064 + .byte W09 + .byte MOD , 6 + .byte W03 + .byte VOL , 56*mus_rg_ending_mvl/mxv + .byte W06 + .byte 49*mus_rg_ending_mvl/mxv + .byte W06 + .byte 45*mus_rg_ending_mvl/mxv + .byte W06 + .byte 38*mus_rg_ending_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte N06 , En3 + .byte W06 + .byte An3 + .byte W06 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte N36 , Gn3 + .byte W09 + .byte MOD , 6 + .byte W03 + .byte VOL , 56*mus_rg_ending_mvl/mxv + .byte W06 + .byte 49*mus_rg_ending_mvl/mxv + .byte W06 + .byte 45*mus_rg_ending_mvl/mxv + .byte W06 + .byte 38*mus_rg_ending_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte N06 , Dn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte N36 , Fs3 + .byte W09 + .byte MOD , 6 + .byte W03 + .byte VOL , 56*mus_rg_ending_mvl/mxv + .byte W06 + .byte 49*mus_rg_ending_mvl/mxv + .byte W06 + .byte 45*mus_rg_ending_mvl/mxv + .byte W06 + .byte 38*mus_rg_ending_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte N06 , Dn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte N48 , En3 + .byte W09 + .byte MOD , 6 + .byte W03 + .byte VOL , 56*mus_rg_ending_mvl/mxv + .byte W06 + .byte 49*mus_rg_ending_mvl/mxv + .byte W06 + .byte 45*mus_rg_ending_mvl/mxv + .byte W06 + .byte 38*mus_rg_ending_mvl/mxv + .byte W06 + .byte 31*mus_rg_ending_mvl/mxv + .byte W06 + .byte 26*mus_rg_ending_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte N03 + .byte W03 + .byte Fs3 , v048 + .byte W03 + .byte En3 , v064 + .byte W03 + .byte Fs3 , v044 + .byte W03 + .byte En3 , v064 + .byte W03 + .byte Fs3 , v040 + .byte W03 + .byte En3 , v064 + .byte W03 + .byte Fs3 , v040 + .byte W03 + .byte En3 , v064 + .byte W03 + .byte Fs3 , v048 + .byte W03 + .byte En3 , v064 + .byte W03 + .byte Fs3 , v044 + .byte W03 + .byte En3 , v064 + .byte W03 + .byte Fs3 , v040 + .byte W03 + .byte En3 , v064 + .byte W03 + .byte Fs3 , v040 + .byte W03 + .byte En3 , v064 + .byte W03 + .byte Fs3 , v048 + .byte W03 + .byte En3 , v064 + .byte W03 + .byte Fs3 , v044 + .byte W03 + .byte En3 , v064 + .byte W03 + .byte Fs3 , v040 + .byte W03 + .byte En3 , v064 + .byte W03 + .byte Fs3 , v040 + .byte W03 + .byte En3 , v064 + .byte W03 + .byte Fs3 , v048 + .byte W03 + .byte En3 , v064 + .byte W03 + .byte Fs3 , v044 + .byte W03 + .byte En3 , v064 + .byte W03 + .byte Fs3 , v040 + .byte W03 + .byte En3 , v064 + .byte W03 + .byte Fs3 , v040 + .byte W03 + .byte En3 , v032 + .byte W03 + .byte Fs3 + .byte W03 + .byte En3 + .byte W03 + .byte Fs3 + .byte W03 + .byte En3 + .byte W03 + .byte Fs3 + .byte W03 + .byte En3 + .byte W03 + .byte Fs3 + .byte W03 + .byte En3 , v020 + .byte W03 + .byte Fs3 + .byte W03 + .byte En3 + .byte W03 + .byte Fs3 + .byte W03 + .byte En3 + .byte W03 + .byte Fs3 + .byte W03 + .byte En3 + .byte W03 + .byte Fs3 + .byte W48 + .byte W03 + .byte W48 + .byte VOICE , 73 + .byte VOL , 86*mus_rg_ending_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , As4 , v064 + .byte W03 + .byte N32 , An4 + .byte W15 + .byte VOL , 79*mus_rg_ending_mvl/mxv + .byte W06 + .byte 68*mus_rg_ending_mvl/mxv + .byte W06 + .byte 56*mus_rg_ending_mvl/mxv + .byte W06 + .byte 86*mus_rg_ending_mvl/mxv + .byte N06 , En4 + .byte W06 + .byte An4 + .byte W06 + .byte VOL , 86*mus_rg_ending_mvl/mxv + .byte N36 , Gn4 + .byte W18 + .byte VOL , 79*mus_rg_ending_mvl/mxv + .byte W06 + .byte 68*mus_rg_ending_mvl/mxv + .byte W06 + .byte 56*mus_rg_ending_mvl/mxv + .byte W06 + .byte 86*mus_rg_ending_mvl/mxv + .byte N06 , Dn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte VOL , 86*mus_rg_ending_mvl/mxv + .byte N36 , Fs4 + .byte W18 + .byte VOL , 79*mus_rg_ending_mvl/mxv + .byte W06 + .byte 68*mus_rg_ending_mvl/mxv + .byte W06 + .byte 55*mus_rg_ending_mvl/mxv + .byte W06 + .byte 86*mus_rg_ending_mvl/mxv + .byte N06 , Dn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte TIE , Gs4 + .byte W48 + .byte W84 + .byte VOL , 77*mus_rg_ending_mvl/mxv + .byte W12 + .byte 68*mus_rg_ending_mvl/mxv + .byte W12 + .byte 54*mus_rg_ending_mvl/mxv + .byte W12 + .byte 45*mus_rg_ending_mvl/mxv + .byte W12 + .byte 35*mus_rg_ending_mvl/mxv + .byte W12 + .byte 22*mus_rg_ending_mvl/mxv + .byte W12 + .byte 13*mus_rg_ending_mvl/mxv + .byte W12 + .byte EOT + .byte VOL , 0*mus_rg_ending_mvl/mxv + .byte W24 + .byte VOICE , 48 + .byte VOL , 89*mus_rg_ending_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , Bn2 , v072 + .byte W03 + .byte Dn3 + .byte W03 + .byte En3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Dn3 + .byte W03 + .byte En3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Gs3 + .byte W03 + .byte En3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Bn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Bn3 + .byte W03 + .byte Dn4 + .byte W03 + .byte Gs3 + .byte W03 + .byte Bn3 + .byte W03 + .byte Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte Bn3 + .byte W03 + .byte Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Bn4 + .byte W03 + .byte En4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Bn4 + .byte W03 + .byte Dn5 + .byte W03 + .byte N96 , En5 + .byte W96 + .byte PAN , c_v-42 + .byte N36 , En4 , v064 + .byte W36 + .byte N06 , An3 + .byte W06 + .byte En4 + .byte W06 + .byte N36 , Dn4 + .byte W36 + .byte N06 , Gn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N36 + .byte W36 + .byte N06 , Fs3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N24 + .byte W24 + .byte N12 , En4 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte Cs4 + .byte W12 + .byte N03 , En3 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N21 + .byte W24 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N12 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte VOICE , 48 + .byte VOL , 74*mus_rg_ending_mvl/mxv + .byte N24 , An3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte An3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N06 , Cs3 , v072 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N12 , En3 , v064 + .byte W12 + .byte N06 , Cs3 + .byte W12 + .byte N18 , An3 + .byte W18 + .byte N03 , Gs3 , v072 + .byte W03 + .byte Fs3 + .byte W03 + .byte N24 , Cs3 , v064 + .byte W24 + .byte En3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N06 , Cs3 + .byte W12 + .byte N12 , En3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N06 , Gn3 , v072 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 , v064 + .byte W06 + .byte Fs3 , v072 + .byte W06 + .byte N24 , En3 , v064 + .byte W24 + .byte N06 , An3 + .byte W06 + .byte Gs3 , v072 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 , v064 + .byte W06 + .byte N24 , An3 + .byte W24 + .byte N12 , Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte N06 , Cs4 , v072 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 , v064 + .byte W06 + .byte Bn3 , v072 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N12 , Gn3 , v064 + .byte W12 + .byte An3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cs3 , v072 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N12 , An3 , v064 + .byte W12 + .byte N06 , En3 + .byte W12 + .byte N24 , An3 + .byte W24 + .byte N12 , Cs4 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte N24 , En3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N06 , Cs3 + .byte W12 + .byte N12 , En3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte N12 , Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 +mus_rg_ending_6_000: + .byte N24 , Dn3 , v064 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N06 , En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PEND + .byte N36 , En3 + .byte W36 + .byte N12 , An3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte En3 + .byte W06 + .byte N24 , Gn3 + .byte W24 + .byte An3 + .byte W24 + .byte Bn3 + .byte W24 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte N24 , Gn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte N12 , Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte PATT + .word mus_rg_ending_6_000 + .byte N36 , An3 , v064 + .byte W36 + .byte N12 , Bn3 + .byte W12 + .byte N24 , An3 + .byte W24 + .byte Gs3 + .byte W24 + .byte An3 + .byte W24 + .byte Bn3 + .byte W24 + .byte Cs4 + .byte W24 + .byte N06 , En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 +mus_rg_ending_6_001: + .byte N12 , Bn3 , v064 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte PEND + .byte N36 , Gn3 + .byte W36 + .byte N06 , Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N48 , En3 + .byte W48 + .byte VOICE , 48 + .byte N12 , En3 , v068 + .byte W18 + .byte N06 , Cs3 + .byte W06 + .byte N12 , En3 + .byte W18 + .byte N06 , An3 + .byte W06 + .byte N24 , Gn3 + .byte W24 + .byte En3 + .byte W24 + .byte N18 , En4 + .byte W18 + .byte N03 , Ds4 + .byte W03 + .byte Dn4 + .byte W03 + .byte N24 , Cs4 + .byte W24 + .byte N18 , Gn3 + .byte W18 + .byte N03 , Fs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte N24 , En3 + .byte W24 +mus_rg_ending_6_002: + .byte N36 , An3 , v068 + .byte W36 + .byte N06 , En3 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte N06 , Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte PEND +mus_rg_ending_6_003: + .byte N36 , En3 , v072 + .byte W36 + .byte N06 , Cs3 + .byte W12 + .byte N48 , An3 + .byte W48 + .byte PEND + .byte N06 , En3 , v068 + .byte W06 + .byte Dn3 , v064 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 , v068 + .byte W06 + .byte En3 + .byte W12 + .byte En3 , v064 + .byte W06 + .byte An3 , v068 + .byte W06 + .byte N24 , Gn3 + .byte W24 + .byte En3 + .byte W24 + .byte N18 , An3 + .byte W18 + .byte N03 , Gs3 + .byte W03 + .byte Fs3 + .byte W03 + .byte N24 , En3 + .byte W24 + .byte N18 , Cs4 + .byte W18 + .byte N03 + .byte W03 + .byte Cn4 + .byte W03 + .byte N24 , Bn3 + .byte W24 + .byte PATT + .word mus_rg_ending_6_002 + .byte PATT + .word mus_rg_ending_6_003 + .byte VOICE , 48 + .byte N36 , Bn3 , v064 + .byte W36 + .byte N12 , Gn3 + .byte W12 + .byte N48 , Dn4 + .byte W48 + .byte N36 , Bn2 , v052 + .byte W36 + .byte N06 , Gn2 + .byte W12 + .byte N48 , Dn3 + .byte W48 + .byte VOICE , 73 + .byte W96 + .byte 48 + .byte PAN , c_v-51 + .byte N06 , An4 , v036 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte N12 , Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte VOICE , 48 + .byte N36 , Gn3 , v032 + .byte W32 + .byte W01 + .byte N15 , Dn3 + .byte W15 + .byte N48 , Bn3 + .byte W24 + .byte VOL , 67*mus_rg_ending_mvl/mxv + .byte W02 + .byte 65*mus_rg_ending_mvl/mxv + .byte W03 + .byte 64*mus_rg_ending_mvl/mxv + .byte W03 + .byte 62*mus_rg_ending_mvl/mxv + .byte W04 + .byte 60*mus_rg_ending_mvl/mxv + .byte W02 + .byte 60*mus_rg_ending_mvl/mxv + .byte W03 + .byte 56*mus_rg_ending_mvl/mxv + .byte W03 + .byte 53*mus_rg_ending_mvl/mxv + .byte W04 + .byte 74*mus_rg_ending_mvl/mxv + .byte N36 , Dn4 + .byte W36 + .byte N12 , Bn3 + .byte W12 + .byte N48 , Gn4 + .byte W24 + .byte VOL , 70*mus_rg_ending_mvl/mxv + .byte W02 + .byte 68*mus_rg_ending_mvl/mxv + .byte W03 + .byte 66*mus_rg_ending_mvl/mxv + .byte W03 + .byte 62*mus_rg_ending_mvl/mxv + .byte W04 + .byte 60*mus_rg_ending_mvl/mxv + .byte W02 + .byte 58*mus_rg_ending_mvl/mxv + .byte W03 + .byte 54*mus_rg_ending_mvl/mxv + .byte W03 + .byte 53*mus_rg_ending_mvl/mxv + .byte W04 + .byte 74*mus_rg_ending_mvl/mxv + .byte N36 , An3 , v056 + .byte W36 + .byte N06 , Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N18 , Bn3 + .byte W18 + .byte N03 , As3 + .byte W03 + .byte An3 + .byte W03 + .byte N09 , Gs3 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N36 , Cs4 + .byte W36 + .byte N06 , Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N24 , An3 + .byte W24 + .byte En3 + .byte W24 + .byte PATT + .word mus_rg_ending_6_001 + .byte N24 , En3 , v064 + .byte W24 + .byte Dn3 , v072 + .byte W24 + .byte Cn3 , v064 + .byte W24 + .byte Bn2 + .byte W24 + .byte PAN , c_v+6 + .byte N06 , En3 , v084 + .byte W24 + .byte N15 , Dn3 + .byte W24 + .byte N06 , En3 + .byte W24 + .byte N24 , Bn2 + .byte W24 +mus_rg_ending_6_004: + .byte W12 + .byte N06 , En3 , v084 + .byte W24 + .byte N12 , Dn3 + .byte W24 + .byte N06 , En3 + .byte W24 + .byte N12 , Bn2 + .byte W12 + .byte PEND +mus_rg_ending_6_005: + .byte N06 , En3 , v084 + .byte W24 + .byte N15 , Dn3 + .byte W24 + .byte N06 , En3 + .byte W24 + .byte N24 , Bn2 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_ending_6_004 + .byte PATT + .word mus_rg_ending_6_005 + .byte PATT + .word mus_rg_ending_6_004 + .byte PATT + .word mus_rg_ending_6_005 + .byte PATT + .word mus_rg_ending_6_004 + .byte PATT + .word mus_rg_ending_6_005 + .byte PATT + .word mus_rg_ending_6_004 + .byte PAN , c_v+21 + .byte N12 , An4 , v112 + .byte W72 + .byte N06 , Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N12 , An4 , v104 + .byte W72 + .byte N06 , Dn4 , v112 + .byte W06 + .byte Cn4 + .byte W06 + .byte An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , An4 + .byte W72 + .byte N06 , En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte W96 + .byte PAN , c_v+32 + .byte W96 + .byte W96 + .byte c_v-34 + .byte N12 , Cn2 , v064 + .byte W12 + .byte N06 , Gn2 + .byte W06 + .byte Gn2 , v032 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte En3 , v028 + .byte W06 + .byte N12 , Gn2 , v064 + .byte W12 + .byte N06 , Dn3 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte Gn2 , v064 + .byte W06 + .byte Gn2 , v032 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Gn2 , v064 + .byte W12 + .byte Cn2 + .byte W12 + .byte N06 , Gn2 + .byte W06 + .byte Gn2 , v032 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Gn2 , v064 + .byte W12 + .byte N06 , Dn3 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte Gn2 , v064 + .byte W06 + .byte Gn2 , v028 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Gn2 , v064 + .byte W12 + .byte Dn2 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , An2 , v064 + .byte W12 + .byte N06 , En3 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte An2 , v064 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , An2 , v064 + .byte W12 + .byte Dn2 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , An2 , v064 + .byte W12 + .byte Cs2 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , An2 , v064 + .byte W12 + .byte Gn1 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Dn2 , v032 + .byte W06 + .byte Bn2 , v064 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte N12 , Dn2 , v064 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte Dn2 , v064 + .byte W06 + .byte Dn2 , v032 + .byte W06 + .byte Bn2 , v064 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte N12 , Dn2 , v064 + .byte W12 + .byte Gn1 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Dn2 , v032 + .byte W06 + .byte Bn2 , v064 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte N12 , Dn2 , v064 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte An2 , v028 + .byte W06 + .byte Dn2 , v064 + .byte W06 + .byte Dn2 , v032 + .byte W06 + .byte Bn2 , v064 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte N12 , Dn2 , v064 + .byte W12 + .byte Cn2 + .byte W12 + .byte N06 , Gn2 + .byte W06 + .byte Gn2 , v028 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Gn2 , v064 + .byte W12 + .byte N06 , Dn3 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte Gn2 , v064 + .byte W06 + .byte Gn2 , v032 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Gn2 , v064 + .byte W12 + .byte VOL , 75*mus_rg_ending_mvl/mxv + .byte N48 , Cn2 + .byte W48 + .byte N24 , Bn1 + .byte W24 + .byte As1 + .byte W24 + .byte N12 , Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte An2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte Fn1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Gn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Gn2 + .byte W12 + .byte An2 + .byte W12 + .byte Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Gn2 + .byte W12 + .byte An2 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Gn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Fn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte An2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte En2 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Fn2 + .byte W12 + .byte En2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte N48 , En2 + .byte W48 + .byte N12 , Dn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte N48 , En2 + .byte W48 + .byte N12 , Fn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte En1 + .byte W12 + .byte Gs1 + .byte W12 + .byte An1 + .byte W12 + .byte En2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte VOL , 22*mus_rg_ending_mvl/mxv + .byte N96 , An3 + .byte W02 + .byte VOL , 24*mus_rg_ending_mvl/mxv + .byte W03 + .byte 26*mus_rg_ending_mvl/mxv + .byte W03 + .byte 29*mus_rg_ending_mvl/mxv + .byte W04 + .byte 32*mus_rg_ending_mvl/mxv + .byte W02 + .byte 34*mus_rg_ending_mvl/mxv + .byte W03 + .byte 36*mus_rg_ending_mvl/mxv + .byte W03 + .byte 39*mus_rg_ending_mvl/mxv + .byte W04 + .byte 41*mus_rg_ending_mvl/mxv + .byte W02 + .byte 43*mus_rg_ending_mvl/mxv + .byte W03 + .byte 45*mus_rg_ending_mvl/mxv + .byte W03 + .byte 48*mus_rg_ending_mvl/mxv + .byte W04 + .byte 50*mus_rg_ending_mvl/mxv + .byte W02 + .byte 55*mus_rg_ending_mvl/mxv + .byte W06 + .byte 60*mus_rg_ending_mvl/mxv + .byte W06 + .byte 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 66*mus_rg_ending_mvl/mxv + .byte W03 + .byte 72*mus_rg_ending_mvl/mxv + .byte W40 + .byte N12 , Bn3 , v036 + .byte W12 + .byte An3 , v044 + .byte W12 + .byte Gn3 , v048 + .byte W12 + .byte Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte VOL , 35*mus_rg_ending_mvl/mxv + .byte PAN , c_v-10 + .byte N48 , Gn3 , v052 + .byte W02 + .byte VOL , 36*mus_rg_ending_mvl/mxv + .byte W03 + .byte 38*mus_rg_ending_mvl/mxv + .byte W03 + .byte 41*mus_rg_ending_mvl/mxv + .byte W04 + .byte 42*mus_rg_ending_mvl/mxv + .byte W05 + .byte 45*mus_rg_ending_mvl/mxv + .byte W03 + .byte 50*mus_rg_ending_mvl/mxv + .byte W04 + .byte 52*mus_rg_ending_mvl/mxv + .byte W02 + .byte 55*mus_rg_ending_mvl/mxv + .byte W03 + .byte 60*mus_rg_ending_mvl/mxv + .byte W03 + .byte 66*mus_rg_ending_mvl/mxv + .byte W04 + .byte 70*mus_rg_ending_mvl/mxv + .byte W12 + .byte 35*mus_rg_ending_mvl/mxv + .byte N48 , Fs3 , v056 + .byte W02 + .byte VOL , 36*mus_rg_ending_mvl/mxv + .byte W03 + .byte 38*mus_rg_ending_mvl/mxv + .byte W03 + .byte 41*mus_rg_ending_mvl/mxv + .byte W04 + .byte 42*mus_rg_ending_mvl/mxv + .byte W05 + .byte 45*mus_rg_ending_mvl/mxv + .byte W03 + .byte 50*mus_rg_ending_mvl/mxv + .byte W04 + .byte 52*mus_rg_ending_mvl/mxv + .byte W02 + .byte 55*mus_rg_ending_mvl/mxv + .byte W03 + .byte 60*mus_rg_ending_mvl/mxv + .byte W03 + .byte 66*mus_rg_ending_mvl/mxv + .byte W04 + .byte 70*mus_rg_ending_mvl/mxv + .byte W12 + .byte 35*mus_rg_ending_mvl/mxv + .byte N48 , En3 , v048 + .byte W02 + .byte VOL , 36*mus_rg_ending_mvl/mxv + .byte W03 + .byte 38*mus_rg_ending_mvl/mxv + .byte W03 + .byte 41*mus_rg_ending_mvl/mxv + .byte W04 + .byte 42*mus_rg_ending_mvl/mxv + .byte W05 + .byte 45*mus_rg_ending_mvl/mxv + .byte W03 + .byte 50*mus_rg_ending_mvl/mxv + .byte W04 + .byte 52*mus_rg_ending_mvl/mxv + .byte W02 + .byte 55*mus_rg_ending_mvl/mxv + .byte W03 + .byte 60*mus_rg_ending_mvl/mxv + .byte W03 + .byte 66*mus_rg_ending_mvl/mxv + .byte W04 + .byte 70*mus_rg_ending_mvl/mxv + .byte W12 + .byte 35*mus_rg_ending_mvl/mxv + .byte N48 , Dn3 , v052 + .byte W02 + .byte VOL , 36*mus_rg_ending_mvl/mxv + .byte W03 + .byte 38*mus_rg_ending_mvl/mxv + .byte W03 + .byte 41*mus_rg_ending_mvl/mxv + .byte W04 + .byte 42*mus_rg_ending_mvl/mxv + .byte W05 + .byte 45*mus_rg_ending_mvl/mxv + .byte W03 + .byte 50*mus_rg_ending_mvl/mxv + .byte W04 + .byte 52*mus_rg_ending_mvl/mxv + .byte W02 + .byte 55*mus_rg_ending_mvl/mxv + .byte W03 + .byte 60*mus_rg_ending_mvl/mxv + .byte W03 + .byte 66*mus_rg_ending_mvl/mxv + .byte W04 + .byte 70*mus_rg_ending_mvl/mxv + .byte W12 + .byte PAN , c_v+0 + .byte N96 , En3 , v064 + .byte W03 + .byte VOL , 27*mus_rg_ending_mvl/mxv + .byte W02 + .byte 29*mus_rg_ending_mvl/mxv + .byte W07 + .byte 31*mus_rg_ending_mvl/mxv + .byte W08 + .byte 32*mus_rg_ending_mvl/mxv + .byte W04 + .byte 34*mus_rg_ending_mvl/mxv + .byte W02 + .byte 35*mus_rg_ending_mvl/mxv + .byte W03 + .byte 38*mus_rg_ending_mvl/mxv + .byte W03 + .byte 39*mus_rg_ending_mvl/mxv + .byte W04 + .byte 42*mus_rg_ending_mvl/mxv + .byte W02 + .byte 45*mus_rg_ending_mvl/mxv + .byte W03 + .byte 47*mus_rg_ending_mvl/mxv + .byte W03 + .byte 50*mus_rg_ending_mvl/mxv + .byte W04 + .byte 52*mus_rg_ending_mvl/mxv + .byte W02 + .byte 55*mus_rg_ending_mvl/mxv + .byte W03 + .byte 58*mus_rg_ending_mvl/mxv + .byte W03 + .byte 59*mus_rg_ending_mvl/mxv + .byte W04 + .byte 62*mus_rg_ending_mvl/mxv + .byte W02 + .byte 63*mus_rg_ending_mvl/mxv + .byte W03 + .byte 66*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte W28 + .byte 36*mus_rg_ending_mvl/mxv + .byte N48 , Dn3 + .byte W02 + .byte VOL , 45*mus_rg_ending_mvl/mxv + .byte W03 + .byte 52*mus_rg_ending_mvl/mxv + .byte W03 + .byte 56*mus_rg_ending_mvl/mxv + .byte W04 + .byte 63*mus_rg_ending_mvl/mxv + .byte W02 + .byte 68*mus_rg_ending_mvl/mxv + .byte W32 + .byte W02 + .byte N36 , Gn3 + .byte W36 + .byte N06 , Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte VOL , 27*mus_rg_ending_mvl/mxv + .byte N48 , En3 + .byte W02 + .byte VOL , 29*mus_rg_ending_mvl/mxv + .byte W03 + .byte 34*mus_rg_ending_mvl/mxv + .byte W03 + .byte 38*mus_rg_ending_mvl/mxv + .byte W04 + .byte 41*mus_rg_ending_mvl/mxv + .byte W02 + .byte 43*mus_rg_ending_mvl/mxv + .byte W03 + .byte 48*mus_rg_ending_mvl/mxv + .byte W03 + .byte 50*mus_rg_ending_mvl/mxv + .byte W04 + .byte 54*mus_rg_ending_mvl/mxv + .byte W02 + .byte 59*mus_rg_ending_mvl/mxv + .byte W03 + .byte 61*mus_rg_ending_mvl/mxv + .byte W03 + .byte 65*mus_rg_ending_mvl/mxv + .byte W04 + .byte 68*mus_rg_ending_mvl/mxv + .byte W12 + .byte PAN , c_v-7 + .byte N36 + .byte W24 + .byte PAN , c_v-20 + .byte W12 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte VOL , 31*mus_rg_ending_mvl/mxv + .byte PAN , c_v-32 + .byte N96 , Cs3 + .byte W02 + .byte VOL , 38*mus_rg_ending_mvl/mxv + .byte W03 + .byte 41*mus_rg_ending_mvl/mxv + .byte W03 + .byte 45*mus_rg_ending_mvl/mxv + .byte W04 + .byte 50*mus_rg_ending_mvl/mxv + .byte W02 + .byte 54*mus_rg_ending_mvl/mxv + .byte W03 + .byte 59*mus_rg_ending_mvl/mxv + .byte W03 + .byte 63*mus_rg_ending_mvl/mxv + .byte W04 + .byte 68*mus_rg_ending_mvl/mxv + .byte W72 + .byte 43*mus_rg_ending_mvl/mxv + .byte N96 , Bn2 + .byte W02 + .byte VOL , 44*mus_rg_ending_mvl/mxv + .byte W03 + .byte 47*mus_rg_ending_mvl/mxv + .byte W03 + .byte 51*mus_rg_ending_mvl/mxv + .byte W04 + .byte 51*mus_rg_ending_mvl/mxv + .byte W02 + .byte 56*mus_rg_ending_mvl/mxv + .byte W03 + .byte 60*mus_rg_ending_mvl/mxv + .byte W03 + .byte 62*mus_rg_ending_mvl/mxv + .byte W04 + .byte 64*mus_rg_ending_mvl/mxv + .byte W02 + .byte 65*mus_rg_ending_mvl/mxv + .byte W03 + .byte 68*mus_rg_ending_mvl/mxv + .byte W03 + .byte 69*mus_rg_ending_mvl/mxv + .byte W64 + .byte N48 , Gn2 + .byte W48 + .byte N36 , Dn3 + .byte W36 + .byte N06 , Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte N48 , Cs3 + .byte W48 + .byte N36 , En3 + .byte W36 + .byte N06 , Cs3 + .byte W06 + .byte En3 + .byte W06 + .byte N96 , An3 + .byte W96 + .byte N36 , Gn3 + .byte W36 + .byte N24 , Dn3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte N48 , Gn3 + .byte W48 + .byte N24 , Fs3 + .byte W24 + .byte Gs3 + .byte W24 + .byte N48 , An3 + .byte W48 + .byte Fs3 + .byte W48 + .byte En3 + .byte W48 + .byte Cs3 + .byte W48 + .byte Dn3 + .byte W48 + .byte Cs3 + .byte W48 + .byte Bn2 + .byte W48 + .byte Dn3 + .byte W48 + .byte En3 + .byte W48 + .byte Dn3 + .byte W48 + .byte Fs3 + .byte W48 + .byte En3 + .byte W48 + .byte Dn3 + .byte W48 + .byte En3 + .byte W48 + .byte Dn3 + .byte W48 + .byte Cn3 + .byte W48 + .byte Gn3 + .byte W48 + .byte Fn3 + .byte W48 + .byte En3 + .byte W48 + .byte Dn3 + .byte W48 + .byte N36 , Cs3 + .byte W36 + .byte N36 + .byte W36 + .byte N24 , Dn3 + .byte W24 + .byte N48 , En3 + .byte W48 + .byte N36 , Gn3 + .byte W36 + .byte N06 , Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N72 , En3 + .byte W72 + .byte N24 , Dn3 + .byte W24 + .byte N96 , Cs3 + .byte W96 + .byte N36 , Bn2 + .byte W36 + .byte N06 , Dn3 , v088 + .byte W12 + .byte N48 , Gn3 + .byte W48 + .byte N36 , Dn3 + .byte W36 + .byte N06 , Gn3 + .byte W12 + .byte N36 , Bn3 + .byte W36 + .byte N06 , As3 + .byte W06 + .byte An3 + .byte W06 + .byte N24 , En3 , v064 + .byte W24 + .byte Dn3 + .byte W24 + .byte Cs3 + .byte W24 + .byte Dn3 + .byte W24 + .byte Cs3 + .byte W24 + .byte N24 + .byte W24 + .byte En3 + .byte W48 + .byte VOICE , 60 + .byte N36 , Dn3 + .byte W36 + .byte N06 , Bn2 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte Dn3 + .byte W24 + .byte Gn3 + .byte W24 + .byte An3 + .byte W24 + .byte Bn3 + .byte W24 + .byte VOL , 45*mus_rg_ending_mvl/mxv + .byte TIE , Cs4 , v072 + .byte W24 + .byte VOL , 51*mus_rg_ending_mvl/mxv + .byte W24 + .byte 56*mus_rg_ending_mvl/mxv + .byte W24 + .byte 62*mus_rg_ending_mvl/mxv + .byte W24 + .byte 68*mus_rg_ending_mvl/mxv + .byte W24 + .byte 74*mus_rg_ending_mvl/mxv + .byte W24 + .byte 79*mus_rg_ending_mvl/mxv + .byte W24 + .byte 88*mus_rg_ending_mvl/mxv + .byte W24 + .byte EOT + .byte VOL , 88*mus_rg_ending_mvl/mxv + .byte N06 , An3 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N09 + .byte W48 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_ending_7: + .byte KEYSH , mus_rg_ending_key+0 + .byte VOICE , 2 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte PAN , c_v-64 + .byte N03 , En3 , v012 + .byte W03 + .byte Bn2 + .byte W03 + .byte En3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Bn3 + .byte W03 + .byte En4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Bn4 + .byte W03 + .byte PAN , c_v+63 + .byte N03 , En5 + .byte W03 + .byte Bn4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Bn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W03 + .byte PAN , c_v-64 + .byte N03 , Gs4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Bn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W03 + .byte En3 + .byte W03 + .byte Bn2 + .byte W03 + .byte PAN , c_v+63 + .byte N03 , Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Bn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W03 + .byte En3 + .byte W03 + .byte Bn2 + .byte W03 + .byte Gs2 + .byte W03 + .byte BEND , c_v+0 + .byte W96 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 80 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte N36 , An3 , v064 + .byte W36 + .byte N06 , En3 + .byte W06 + .byte An3 + .byte W06 + .byte N36 , Bn3 + .byte W36 + .byte N06 , En3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N36 , Dn4 + .byte W36 + .byte N06 , Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N24 , Fs4 + .byte W24 + .byte N12 , Gs4 + .byte W12 + .byte N06 , En4 + .byte W06 + .byte Gs4 + .byte W06 + .byte VOL , 76*mus_rg_ending_mvl/mxv + .byte N12 , An4 + .byte W12 + .byte An3 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte N21 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N12 + .byte W36 + .byte PAN , c_v-64 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte N12 , En2 + .byte W12 + .byte An2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte En2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En2 + .byte W12 + .byte An2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn2 + .byte W12 + .byte En2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En2 + .byte W12 + .byte N06 , An2 + .byte W12 + .byte N12 , En2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte En2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En2 + .byte W12 + .byte An2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte En2 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gn2 + .byte W12 + .byte Fs2 + .byte W12 +mus_rg_ending_7_000: + .byte N12 , En2 , v064 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte En2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En2 + .byte W12 + .byte An2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte PEND + .byte Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En2 + .byte W12 + .byte An2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte En2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En2 + .byte W12 + .byte An2 + .byte W12 + .byte PATT + .word mus_rg_ending_7_000 + .byte N12 , Gn2 , v064 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn2 + .byte W12 +mus_rg_ending_7_001: + .byte PAN , c_v-64 + .byte N12 , Gn2 , v064 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PEND + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte PATT + .word mus_rg_ending_7_001 + .byte N12 , Gn2 , v064 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v-64 + .byte N24 , Gn2 + .byte W24 + .byte An2 + .byte W24 + .byte PAN , c_v+63 + .byte N24 , Bn2 + .byte W24 + .byte Dn3 + .byte W24 + .byte N12 , En2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En2 + .byte W12 + .byte An2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte En2 + .byte W12 + .byte An2 + .byte W12 + .byte VOICE , 80 + .byte VOL , 75*mus_rg_ending_mvl/mxv + .byte N06 , En2 , v072 + .byte W06 + .byte Cs2 + .byte W06 + .byte En2 + .byte W06 + .byte An2 , v064 + .byte W06 + .byte Cs3 + .byte W12 + .byte En3 + .byte W12 + .byte En2 + .byte W06 + .byte Cs2 + .byte W06 + .byte En2 + .byte W12 + .byte N24 , Cs3 + .byte W24 +mus_rg_ending_7_002: + .byte N06 , Gn2 , v072 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn2 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte N06 , Dn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte PEND +mus_rg_ending_7_003: + .byte N06 , En2 , v072 + .byte W06 + .byte Cs2 + .byte W06 + .byte En2 + .byte W06 + .byte An2 + .byte W06 + .byte Cs3 + .byte W12 + .byte En3 + .byte W12 + .byte En2 + .byte W06 + .byte Cs2 + .byte W06 + .byte En2 + .byte W06 + .byte An2 + .byte W06 + .byte N12 , Cs3 + .byte W12 + .byte N06 , Bn2 + .byte W06 + .byte An2 + .byte W06 + .byte PEND + .byte En2 + .byte W06 + .byte Cs2 + .byte W06 + .byte En2 + .byte W06 + .byte An2 + .byte W06 + .byte An3 + .byte W12 + .byte An2 + .byte W12 + .byte N06 + .byte W06 + .byte En2 + .byte W06 + .byte An2 + .byte W06 + .byte Cs3 + .byte W06 + .byte An2 + .byte W06 + .byte En2 + .byte W06 + .byte An2 + .byte W06 + .byte Cs3 + .byte W06 + .byte En2 + .byte W06 + .byte Cs2 + .byte W06 + .byte En2 + .byte W06 + .byte An2 , v064 + .byte W06 + .byte Cs3 + .byte W12 + .byte En3 + .byte W12 + .byte En2 + .byte W06 + .byte Cs2 + .byte W06 + .byte En2 + .byte W12 + .byte N24 , Cs3 + .byte W24 + .byte PATT + .word mus_rg_ending_7_002 + .byte PATT + .word mus_rg_ending_7_003 + .byte N08 , En2 , v072 + .byte W08 + .byte Cs2 + .byte W08 + .byte En2 + .byte W08 + .byte An2 + .byte W08 + .byte En2 + .byte W08 + .byte An2 + .byte W08 + .byte N36 , En3 + .byte W36 + .byte N06 , Dn3 , v052 + .byte W06 + .byte Cs3 + .byte W06 + .byte W96 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 82 + .byte PAN , c_v+63 + .byte VOL , 25*mus_rg_ending_mvl/mxv + .byte N06 , An1 , v127 + .byte W06 + .byte Gs1 + .byte W06 + .byte En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Cn2 + .byte W06 + .byte Cs2 + .byte W12 + .byte Ds2 + .byte W06 + .byte VOL , 36*mus_rg_ending_mvl/mxv + .byte N06 , An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cn2 + .byte W06 + .byte Cs2 + .byte W12 + .byte Ds2 + .byte W06 + .byte VOL , 43*mus_rg_ending_mvl/mxv + .byte N06 , An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Cn2 + .byte W06 + .byte Cs2 + .byte W12 + .byte Ds2 + .byte W06 + .byte VOL , 49*mus_rg_ending_mvl/mxv + .byte N06 , An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 +mus_rg_ending_7_004: + .byte N06 , An1 , v127 + .byte W06 + .byte Gs1 + .byte W06 + .byte En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Cn2 + .byte W06 + .byte Cs2 + .byte W12 + .byte Ds2 + .byte W06 + .byte An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cn2 + .byte W06 + .byte Cs2 + .byte W12 + .byte Ds2 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_ending_7_004 + .byte PATT + .word mus_rg_ending_7_004 + .byte VOL , 56*mus_rg_ending_mvl/mxv + .byte N06 , An1 , v127 + .byte W06 + .byte Gs1 + .byte W06 + .byte En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Cn2 + .byte W06 + .byte Cs2 + .byte W12 + .byte Ds2 + .byte W06 + .byte VOL , 68*mus_rg_ending_mvl/mxv + .byte N06 , An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte VOL , 49*mus_rg_ending_mvl/mxv + .byte N06 , An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Cn2 + .byte W06 + .byte Cs2 + .byte W12 + .byte Ds2 + .byte W06 + .byte An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cn2 + .byte W06 + .byte Cs2 + .byte W12 + .byte Ds2 + .byte W06 + .byte PATT + .word mus_rg_ending_7_004 + .byte VOL , 55*mus_rg_ending_mvl/mxv + .byte N06 , An1 , v127 + .byte W06 + .byte Gs1 + .byte W06 + .byte En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Cn2 + .byte W06 + .byte Cs2 + .byte W12 + .byte Ds2 + .byte W06 + .byte VOL , 63*mus_rg_ending_mvl/mxv + .byte N06 , An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cn2 + .byte W06 + .byte Cs2 + .byte W12 + .byte Ds2 + .byte W06 + .byte VOL , 67*mus_rg_ending_mvl/mxv + .byte N06 , An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Cn2 + .byte W06 + .byte Cs2 + .byte W12 + .byte Ds2 + .byte W06 + .byte VOL , 75*mus_rg_ending_mvl/mxv + .byte N06 , An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte VOL , 50*mus_rg_ending_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W92 + .byte W01 + .byte BEND , c_v+1 + .byte W03 + .byte VOL , 28*mus_rg_ending_mvl/mxv + .byte PAN , c_v+0 + .byte W24 + .byte N24 , Cn4 , v072 + .byte W24 + .byte Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte VOL , 9*mus_rg_ending_mvl/mxv + .byte N72 , An4 + .byte W02 + .byte VOL , 14*mus_rg_ending_mvl/mxv + .byte W03 + .byte 18*mus_rg_ending_mvl/mxv + .byte W03 + .byte 21*mus_rg_ending_mvl/mxv + .byte W04 + .byte 24*mus_rg_ending_mvl/mxv + .byte W02 + .byte 28*mus_rg_ending_mvl/mxv + .byte W56 + .byte W02 + .byte N24 , Fn4 + .byte W24 + .byte N36 , Cn5 + .byte W36 + .byte N09 , Bn4 + .byte W09 + .byte N03 , Ds5 + .byte W03 + .byte N12 , Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte N09 , An4 + .byte W09 + .byte N03 , As4 + .byte W03 + .byte N24 , An4 + .byte W24 + .byte VOL , 9*mus_rg_ending_mvl/mxv + .byte N60 , Gn4 + .byte W02 + .byte VOL , 14*mus_rg_ending_mvl/mxv + .byte W03 + .byte 18*mus_rg_ending_mvl/mxv + .byte W03 + .byte 21*mus_rg_ending_mvl/mxv + .byte W04 + .byte 24*mus_rg_ending_mvl/mxv + .byte W02 + .byte 28*mus_rg_ending_mvl/mxv + .byte W44 + .byte W02 + .byte N12 , En4 + .byte W12 + .byte VOL , 9*mus_rg_ending_mvl/mxv + .byte N72 , Gn4 + .byte W02 + .byte VOL , 14*mus_rg_ending_mvl/mxv + .byte W03 + .byte 18*mus_rg_ending_mvl/mxv + .byte W03 + .byte 21*mus_rg_ending_mvl/mxv + .byte W04 + .byte 24*mus_rg_ending_mvl/mxv + .byte W02 + .byte 28*mus_rg_ending_mvl/mxv + .byte W56 + .byte W02 + .byte N24 , Fs4 + .byte W24 + .byte VOL , 9*mus_rg_ending_mvl/mxv + .byte N72 , Fn4 + .byte W02 + .byte VOL , 14*mus_rg_ending_mvl/mxv + .byte W03 + .byte 18*mus_rg_ending_mvl/mxv + .byte W03 + .byte 21*mus_rg_ending_mvl/mxv + .byte W04 + .byte 24*mus_rg_ending_mvl/mxv + .byte W02 + .byte 28*mus_rg_ending_mvl/mxv + .byte W56 + .byte W02 + .byte N12 , En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte Cn4 + .byte W24 + .byte Bn3 + .byte W24 + .byte Dn4 + .byte W24 + .byte N12 , En4 + .byte W12 + .byte Gn3 + .byte W12 + .byte VOL , 9*mus_rg_ending_mvl/mxv + .byte N60 , En4 + .byte W02 + .byte VOL , 14*mus_rg_ending_mvl/mxv + .byte W03 + .byte 18*mus_rg_ending_mvl/mxv + .byte W03 + .byte 21*mus_rg_ending_mvl/mxv + .byte W04 + .byte 24*mus_rg_ending_mvl/mxv + .byte W02 + .byte 28*mus_rg_ending_mvl/mxv + .byte W44 + .byte W02 + .byte N12 , Fn4 + .byte W12 + .byte VOL , 9*mus_rg_ending_mvl/mxv + .byte TIE , Gn4 + .byte W05 + .byte VOL , 9*mus_rg_ending_mvl/mxv + .byte W03 + .byte 10*mus_rg_ending_mvl/mxv + .byte W06 + .byte 11*mus_rg_ending_mvl/mxv + .byte W03 + .byte 13*mus_rg_ending_mvl/mxv + .byte W03 + .byte 14*mus_rg_ending_mvl/mxv + .byte W04 + .byte 14*mus_rg_ending_mvl/mxv + .byte W02 + .byte 15*mus_rg_ending_mvl/mxv + .byte W03 + .byte 17*mus_rg_ending_mvl/mxv + .byte W03 + .byte 18*mus_rg_ending_mvl/mxv + .byte W04 + .byte 19*mus_rg_ending_mvl/mxv + .byte W02 + .byte 20*mus_rg_ending_mvl/mxv + .byte W03 + .byte 21*mus_rg_ending_mvl/mxv + .byte W03 + .byte 21*mus_rg_ending_mvl/mxv + .byte W04 + .byte 22*mus_rg_ending_mvl/mxv + .byte W05 + .byte 24*mus_rg_ending_mvl/mxv + .byte W03 + .byte 26*mus_rg_ending_mvl/mxv + .byte W04 + .byte 28*mus_rg_ending_mvl/mxv + .byte W36 + .byte W48 + .byte 26*mus_rg_ending_mvl/mxv + .byte W02 + .byte 24*mus_rg_ending_mvl/mxv + .byte W03 + .byte 23*mus_rg_ending_mvl/mxv + .byte W03 + .byte 21*mus_rg_ending_mvl/mxv + .byte W04 + .byte 20*mus_rg_ending_mvl/mxv + .byte W02 + .byte 19*mus_rg_ending_mvl/mxv + .byte W03 + .byte 17*mus_rg_ending_mvl/mxv + .byte W03 + .byte 17*mus_rg_ending_mvl/mxv + .byte W04 + .byte 14*mus_rg_ending_mvl/mxv + .byte W02 + .byte 11*mus_rg_ending_mvl/mxv + .byte W03 + .byte 9*mus_rg_ending_mvl/mxv + .byte W03 + .byte 9*mus_rg_ending_mvl/mxv + .byte W16 + .byte EOT + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 49*mus_rg_ending_mvl/mxv + .byte PAN , c_v+63 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_ending_7_005: + .byte PAN , c_v-64 + .byte W36 + .byte c_v+63 + .byte W36 + .byte c_v-64 + .byte W24 + .byte PEND +mus_rg_ending_7_006: + .byte W12 + .byte PAN , c_v+63 + .byte W36 + .byte c_v-64 + .byte W36 + .byte c_v+63 + .byte W12 + .byte PEND +mus_rg_ending_7_007: + .byte W24 + .byte PAN , c_v-64 + .byte W36 + .byte c_v+63 + .byte W36 + .byte PEND + .byte c_v-64 + .byte VOL , 49*mus_rg_ending_mvl/mxv + .byte W36 + .byte PAN , c_v+63 + .byte W36 + .byte VOICE , 80 + .byte PAN , c_v-64 + .byte W18 + .byte N06 , Cs4 , v080 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+63 + .byte N06 + .byte W36 + .byte PAN , c_v-64 + .byte N06 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fs4 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-64 + .byte W24 + .byte N06 + .byte W06 + .byte Cs4 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Dn4 + .byte W12 + .byte N12 + .byte W12 + .byte Gn4 + .byte W12 + .byte PAN , c_v-64 + .byte N03 , En4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte PAN , c_v+63 + .byte N09 , Bn3 + .byte W12 + .byte N06 , En4 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte N06 , En4 + .byte W12 + .byte PAN , c_v-64 + .byte N12 + .byte W12 + .byte Ds4 + .byte W12 + .byte N06 , En4 + .byte W12 + .byte PAN , c_v+63 + .byte N06 + .byte W36 + .byte Bn3 + .byte W12 + .byte N06 + .byte W24 + .byte PAN , c_v+63 + .byte W12 + .byte PATT + .word mus_rg_ending_7_007 + .byte PATT + .word mus_rg_ending_7_005 + .byte PATT + .word mus_rg_ending_7_006 + .byte PATT + .word mus_rg_ending_7_007 + .byte PATT + .word mus_rg_ending_7_005 + .byte N12 , Fn2 , v076 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En2 + .byte W12 + .byte Dn2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gn2 + .byte W12 + .byte Bn2 + .byte W12 +mus_rg_ending_7_008: + .byte PAN , c_v-64 + .byte N24 , En2 , v076 + .byte W24 + .byte An2 + .byte W24 + .byte PAN , c_v+63 + .byte N24 , En2 + .byte W24 + .byte An2 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_ending_7_008 + .byte PAN , c_v-64 + .byte N12 , En2 , v076 + .byte W12 + .byte An2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte En2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En2 + .byte W12 + .byte An2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte En2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En2 + .byte W12 + .byte An2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte N36 , Dn3 + .byte W36 + .byte PAN , c_v-64 + .byte N03 , Gn3 + .byte W12 + .byte PAN , c_v-64 + .byte N48 , Bn3 + .byte W48 + .byte N36 , Gn3 + .byte W36 + .byte PAN , c_v+63 + .byte N03 , Bn3 + .byte W12 + .byte N36 , Dn4 + .byte W36 + .byte N06 , Cs4 + .byte W03 + .byte PAN , c_v-64 + .byte W03 + .byte N06 , Bn3 + .byte W06 + .byte N48 , An3 + .byte W48 + .byte N36 , Bn2 + .byte W36 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W06 + .byte Gn2 + .byte W06 + .byte N48 , An2 + .byte W48 + .byte PAN , c_v-64 + .byte N24 , Cs3 + .byte W24 + .byte W03 + .byte En3 + .byte W21 + .byte PAN , c_v+63 + .byte N36 , Bn2 + .byte W36 + .byte PAN , c_v-64 + .byte N03 , Dn3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte PAN , c_v+63 + .byte N24 , Bn3 + .byte W24 + .byte Dn3 + .byte W36 + .byte PAN , c_v-64 + .byte N03 , Gn3 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N06 , An2 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte PAN , c_v+63 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte PAN , c_v-64 + .byte N06 , An2 , v084 + .byte W12 + .byte N06 + .byte W24 + .byte PAN , c_v+63 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-64 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PAN , c_v+63 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v-64 + .byte N09 + .byte W48 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_ending_8: + .byte KEYSH , mus_rg_ending_key+0 + .byte VOICE , 81 + .byte VOL , 56*mus_rg_ending_mvl/mxv + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-64 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte c_v-64 + .byte N36 , Cs4 , v064 + .byte W36 + .byte N06 , An3 + .byte W06 + .byte Cs4 + .byte W54 + .byte W96 + .byte N12 , An2 , v072 + .byte W12 + .byte N21 , An1 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte N12 , Gs1 + .byte W12 + .byte N09 , An1 + .byte W12 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte Gn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte VOL , 58*mus_rg_ending_mvl/mxv + .byte N12 , An1 , v120 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W36 +mus_rg_ending_8_000: + .byte N12 , Gn1 , v120 + .byte W36 + .byte N12 + .byte W24 + .byte N24 + .byte W24 + .byte N12 , Gs1 + .byte W12 + .byte PEND + .byte An1 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W36 +mus_rg_ending_8_001: + .byte N12 , An1 , v120 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte En2 + .byte W12 + .byte En1 + .byte W12 + .byte PEND +mus_rg_ending_8_002: + .byte N12 , An1 , v120 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte Gs1 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_ending_8_000 + .byte PATT + .word mus_rg_ending_8_002 + .byte PATT + .word mus_rg_ending_8_001 +mus_rg_ending_8_003: + .byte N12 , Gn1 , v120 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte PEND + .byte Gn1 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte Gs1 + .byte W12 + .byte An1 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte En1 + .byte W12 + .byte Gs1 + .byte W12 + .byte An1 + .byte W36 + .byte N12 + .byte W24 + .byte En1 + .byte W24 + .byte N12 + .byte W12 + .byte PATT + .word mus_rg_ending_8_001 + .byte PATT + .word mus_rg_ending_8_003 + .byte N12 , En1 , v120 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte Cs2 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte Gs1 + .byte W12 + .byte N24 , Gn1 + .byte W24 + .byte An1 + .byte W24 + .byte Bn1 + .byte W24 + .byte Dn2 + .byte W24 + .byte W96 + .byte VOICE , 87 + .byte PAN , c_v-64 + .byte VOL , 42*mus_rg_ending_mvl/mxv + .byte N06 , En4 + .byte W12 + .byte N12 , En3 + .byte W48 + .byte Cs3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 +mus_rg_ending_8_004: + .byte N06 , Dn4 , v120 + .byte W12 + .byte N12 , Dn3 + .byte W48 + .byte Bn3 + .byte W12 + .byte N03 , Dn4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Bn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte PEND +mus_rg_ending_8_005: + .byte N06 , An3 , v120 + .byte W12 + .byte N12 , Cs3 + .byte W84 + .byte PEND + .byte N06 , An3 + .byte W12 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W12 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N03 , An4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte En4 + .byte W12 + .byte N12 , En3 + .byte W24 + .byte N12 + .byte W24 + .byte Cs3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte PATT + .word mus_rg_ending_8_004 + .byte PATT + .word mus_rg_ending_8_005 + .byte N08 , Cs3 , v120 + .byte W08 + .byte An2 + .byte W08 + .byte Cs3 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 + .byte W08 + .byte En3 + .byte W08 + .byte N36 , An3 + .byte W36 + .byte N06 , Gs3 , v052 + .byte W06 + .byte Gn3 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 87 + .byte PAN , c_v+0 + .byte W96 + .byte N24 , An3 , v084 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , En4 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Ds4 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Gn4 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Fs4 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Cs4 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Cn4 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , En4 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Ds4 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , An3 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Gs3 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Dn4 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Cs4 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , An3 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Bn3 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Gs3 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , An4 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , En5 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Ds5 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Gn5 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Fs5 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Cs5 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Cn5 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , En5 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Ds5 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , An4 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Gs4 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Dn5 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Cs5 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , An4 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Bn4 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N24 , Gs4 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v-64 + .byte W96 + .byte VOICE , 87 + .byte VOL , 90*mus_rg_ending_mvl/mxv + .byte N03 , An3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte Bn3 + .byte W06 + .byte N24 , Dn4 + .byte W24 + .byte BEND , c_v+1 + .byte N36 , Gn3 , v040 + .byte W36 + .byte N03 , Bn3 + .byte W12 + .byte N48 , Dn4 + .byte W48 + .byte N36 , Bn3 + .byte W36 + .byte N03 , Dn4 + .byte W12 + .byte N48 , Gn4 + .byte W48 + .byte N96 , An4 + .byte W96 + .byte BEND , c_v+0 + .byte N96 , An4 , v064 + .byte W96 + .byte BEND , c_v+0 + .byte W96 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_ending_9: + .byte KEYSH , mus_rg_ending_key+0 + .byte VOICE , 0 + .byte VOL , 77*mus_rg_ending_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte 79*mus_rg_ending_mvl/mxv + .byte W12 + .byte N21 , Dn1 , v112 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte N03 + .byte W03 + .byte Dn1 , v056 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N09 , Dn1 , v112 + .byte W12 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte N03 + .byte W03 + .byte Dn1 , v056 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 +mus_rg_ending_9_000: + .byte N06 , Dn1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , Dn1 , v116 + .byte W03 + .byte Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND +mus_rg_ending_9_001: + .byte N06 , Dn1 , v120 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Dn1 , v120 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Dn1 , v120 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W03 + .byte Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_ending_9_000 + .byte PATT + .word mus_rg_ending_9_000 + .byte PATT + .word mus_rg_ending_9_000 + .byte PATT + .word mus_rg_ending_9_001 + .byte N06 , Dn1 , v120 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Dn1 , v120 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , Dn1 , v116 + .byte W03 + .byte Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PATT + .word mus_rg_ending_9_000 + .byte N03 , Dn1 , v116 + .byte W03 + .byte Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v120 + .byte W06 + .byte N03 , Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , Dn1 , v116 + .byte W03 + .byte Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W06 +mus_rg_ending_9_002: + .byte N06 , Dn1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Dn1 , v120 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte PEND +mus_rg_ending_9_003: + .byte N03 , Dn1 , v116 + .byte W03 + .byte Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v120 + .byte W24 + .byte N06 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Dn1 , v120 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W03 + .byte Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND + .byte Dn1 , v116 + .byte W03 + .byte Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v120 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N03 , Dn1 , v116 + .byte W03 + .byte Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte Dn1 , v116 + .byte W03 + .byte Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , Dn1 , v116 + .byte W03 + .byte Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W06 + .byte PATT + .word mus_rg_ending_9_002 + .byte PATT + .word mus_rg_ending_9_003 + .byte N03 , Dn1 , v116 + .byte W03 + .byte Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v120 + .byte W12 + .byte N03 , Dn1 , v116 + .byte W03 + .byte Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N03 , Dn1 , v116 + .byte W03 + .byte Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N48 , Cs2 , v120 + .byte W48 + .byte An2 + .byte W48 + .byte En2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , Dn1 , v100 + .byte W12 + .byte N06 + .byte W36 + .byte N06 + .byte W12 + .byte N06 + .byte W36 + .byte N03 + .byte W03 + .byte Dn1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte Dn1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v100 + .byte W12 + .byte N06 + .byte W36 + .byte N12 , Dn1 , v112 + .byte W12 + .byte Dn1 , v048 + .byte W12 + .byte Dn1 , v104 + .byte W12 + .byte N06 , Dn1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Dn1 , v096 + .byte W12 + .byte Dn1 , v048 + .byte W12 + .byte Dn1 , v060 + .byte W12 + .byte N03 , Dn1 , v112 + .byte W03 + .byte Dn1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte VOL , 83*mus_rg_ending_mvl/mxv + .byte N12 , Dn1 , v112 + .byte W12 + .byte N03 , Dn1 , v096 + .byte W03 + .byte Dn1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v048 + .byte W06 + .byte Dn1 , v104 + .byte W06 + .byte Dn1 , v040 + .byte W06 + .byte Dn1 , v112 + .byte W06 + .byte Dn1 , v096 + .byte W06 + .byte N03 , Dn1 , v072 + .byte W03 + .byte Dn1 , v028 + .byte W03 + .byte Dn1 , v072 + .byte W03 + .byte Dn1 , v032 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Dn1 , v112 + .byte W12 + .byte N06 + .byte W06 + .byte Dn1 , v088 + .byte W06 + .byte VOL , 87*mus_rg_ending_mvl/mxv + .byte N12 , Dn1 , v112 + .byte W12 + .byte Dn1 , v048 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte N06 , Dn1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Dn1 , v108 + .byte W12 + .byte Dn1 , v048 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte N03 , Dn1 , v100 + .byte W03 + .byte Dn1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Dn1 , v100 + .byte W12 + .byte Dn1 , v048 + .byte W12 + .byte Dn1 , v092 + .byte W12 + .byte N06 , Dn1 , v048 + .byte W06 + .byte Dn1 , v096 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v120 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte Dn1 , v112 + .byte W06 + .byte N03 + .byte W03 + .byte Dn1 , v032 + .byte W03 + .byte Dn1 , v092 + .byte W03 + .byte Dn1 , v032 + .byte W03 + .byte Dn1 , v064 + .byte W03 + .byte Dn1 , v068 + .byte W03 + .byte Dn1 , v088 + .byte W03 + .byte Dn1 , v092 + .byte W03 + .byte N12 , Dn1 , v108 + .byte W12 + .byte Dn1 , v048 + .byte W12 + .byte Dn1 , v108 + .byte W12 + .byte N06 , Dn1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Dn1 , v104 + .byte W12 + .byte Dn1 , v048 + .byte W12 + .byte Dn1 , v060 + .byte W12 + .byte N03 , Dn1 , v112 + .byte W03 + .byte Dn1 , v048 + .byte W03 + .byte Dn1 , v104 + .byte W03 + .byte Dn1 , v048 + .byte W03 +mus_rg_ending_9_004: + .byte N12 , Dn1 , v112 + .byte W12 + .byte N06 , Dn1 , v108 + .byte W06 + .byte Dn1 , v104 + .byte W06 + .byte Dn1 , v048 + .byte W06 + .byte Dn1 , v108 + .byte W06 + .byte Dn1 , v048 + .byte W06 + .byte Dn1 , v108 + .byte W06 + .byte N12 , Dn1 , v064 + .byte W12 + .byte N06 , Dn1 , v048 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte N12 , Dn1 , v112 + .byte W12 + .byte N06 + .byte W06 + .byte Dn1 , v048 + .byte W06 + .byte PEND +mus_rg_ending_9_005: + .byte N12 , Dn1 , v104 + .byte W12 + .byte N03 , Dn1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Dn1 , v088 + .byte W12 + .byte N03 , Dn1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Dn1 , v100 + .byte W12 + .byte N03 , Dn1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Dn1 , v124 + .byte W12 + .byte N06 , Dn1 , v112 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte PEND + .byte N12 , Dn1 , v112 + .byte W12 + .byte Dn1 , v048 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte N06 , Dn1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Dn1 , v112 + .byte W12 + .byte Dn1 , v048 + .byte W12 + .byte Dn1 , v060 + .byte W12 + .byte N03 , Dn1 , v112 + .byte W03 + .byte Dn1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PATT + .word mus_rg_ending_9_004 + .byte PATT + .word mus_rg_ending_9_005 + .byte VOL , 79*mus_rg_ending_mvl/mxv + .byte N48 , An2 , v120 + .byte W96 + .byte En2 + .byte W96 + .byte Gn2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , Dn1 , v112 + .byte W12 + .byte N06 + .byte W24 + .byte N03 , Dn1 , v076 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v120 + .byte W12 + .byte Dn1 , v116 + .byte W12 + .byte N03 + .byte W03 + .byte Dn1 , v076 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v108 + .byte W06 + .byte Dn1 , v096 + .byte W06 + .byte Dn1 , v108 + .byte W24 + .byte N03 + .byte W03 + .byte Dn1 , v076 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v104 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte N03 + .byte W03 + .byte Dn1 , v076 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v112 + .byte W12 + .byte N06 + .byte W24 + .byte N03 , Dn1 , v076 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , Dn1 , v104 + .byte W03 + .byte Dn1 , v076 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v112 + .byte W06 + .byte Dn1 , v108 + .byte W06 + .byte Dn1 , v112 + .byte W24 + .byte N03 + .byte W03 + .byte Dn1 , v076 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W03 + .byte Dn1 , v076 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v112 + .byte W12 + .byte N06 + .byte W24 + .byte N03 , Dn1 , v076 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W03 + .byte Dn1 , v076 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N48 , An2 , v080 + .byte W48 + .byte Cs2 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , Dn1 , v112 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Dn1 , v112 + .byte W24 + .byte N03 , Dn1 , v076 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , Dn1 , v104 + .byte W03 + .byte Dn1 , v076 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v112 + .byte W12 + .byte N06 + .byte W18 + .byte Dn1 , v104 + .byte W12 + .byte Dn1 , v080 + .byte W06 + .byte Dn1 , v112 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Dn1 , v112 + .byte W12 + .byte N03 , Dn1 , v104 + .byte W03 + .byte Dn1 , v076 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N48 , Cs2 , v120 + .byte W96 + .byte An2 + .byte W96 + .byte W96 + .byte W96 + .byte An2 , v080 + .byte W96 + .byte Cs2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_ending: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_ending_pri @ Priority + .byte mus_rg_ending_rev @ Reverb. + + .word mus_rg_ending_grp + + .word mus_rg_ending_1 + .word mus_rg_ending_2 + .word mus_rg_ending_3 + .word mus_rg_ending_4 + .word mus_rg_ending_5 + .word mus_rg_ending_6 + .word mus_rg_ending_7 + .word mus_rg_ending_8 + .word mus_rg_ending_9 + + .end diff --git a/sound/songs/mus_rg_exeye.s b/sound/songs/mus_rg_exeye.s new file mode 100644 index 0000000000..7a6c8d77a7 --- /dev/null +++ b/sound/songs/mus_rg_exeye.s @@ -0,0 +1,789 @@ + .include "MPlayDef.s" + + .equ mus_rg_exeye_grp, voicegroup_86A51F4 + .equ mus_rg_exeye_pri, 0 + .equ mus_rg_exeye_rev, reverb_set+50 + .equ mus_rg_exeye_mvl, 127 + .equ mus_rg_exeye_key, 0 + .equ mus_rg_exeye_tbs, 1 + .equ mus_rg_exeye_exg, 0 + .equ mus_rg_exeye_cmp, 1 + + .section .rodata + .global mus_rg_exeye + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_exeye_1: + .byte KEYSH , mus_rg_exeye_key+0 + .byte TEMPO , 164*mus_rg_exeye_tbs/2 + .byte VOICE , 48 + .byte VOL , 53*mus_rg_exeye_mvl/mxv + .byte PAN , c_v+32 + .byte N06 , Cs3 , v092 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , Dn3 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , Ds3 + .byte W06 + .byte PAN , c_v-43 + .byte N06 , En3 + .byte W06 + .byte PAN , c_v-43 + .byte N72 , Fn3 , v104 + .byte W02 + .byte PAN , c_v-36 + .byte W03 + .byte c_v-32 + .byte W01 + .byte VOL , 19*mus_rg_exeye_mvl/mxv + .byte W02 + .byte PAN , c_v-19 + .byte W04 + .byte c_v-17 + .byte W02 + .byte c_v-11 + .byte W03 + .byte c_v-6 + .byte W03 + .byte c_v+3 + .byte W04 + .byte VOL , 32*mus_rg_exeye_mvl/mxv + .byte PAN , c_v+6 + .byte W02 + .byte c_v+14 + .byte W03 + .byte c_v+20 + .byte W01 + .byte VOL , 38*mus_rg_exeye_mvl/mxv + .byte W02 + .byte PAN , c_v+26 + .byte W04 + .byte MOD , 5 + .byte VOL , 46*mus_rg_exeye_mvl/mxv + .byte PAN , c_v+30 + .byte W06 + .byte VOL , 53*mus_rg_exeye_mvl/mxv + .byte W06 + .byte 60*mus_rg_exeye_mvl/mxv + .byte W06 + .byte 66*mus_rg_exeye_mvl/mxv + .byte W06 + .byte 73*mus_rg_exeye_mvl/mxv + .byte W12 + .byte VOICE , 48 + .byte MOD , 0 + .byte PAN , c_v+28 + .byte VOL , 41*mus_rg_exeye_mvl/mxv + .byte W96 +mus_rg_exeye_1_B1: + .byte N21 , Bn3 , v127 + .byte W21 + .byte N03 , As3 , v120 + .byte W03 + .byte N24 , An3 , v127 + .byte W24 + .byte N12 , Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N03 , Fn3 , v088 + .byte W03 + .byte En3 , v092 + .byte W03 + .byte Ds3 + .byte W03 + .byte Dn3 + .byte W03 + .byte N36 , Cs3 , v127 + .byte W36 + .byte N12 , Bn2 + .byte W12 + .byte Cs3 , v120 + .byte W12 + .byte En3 , v127 + .byte W12 + .byte N48 , Gn3 + .byte W48 + .byte Dn4 + .byte W48 + .byte Fs3 + .byte W48 + .byte Cs4 + .byte W48 + .byte GOTO + .word mus_rg_exeye_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_exeye_2: + .byte KEYSH , mus_rg_exeye_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 79*mus_rg_exeye_mvl/mxv + .byte N06 , En4 , v127 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N72 , Bn3 + .byte W36 + .byte MOD , 5 + .byte W18 + .byte VOL , 89*mus_rg_exeye_mvl/mxv + .byte W18 + .byte VOICE , 48 + .byte MOD , 0 + .byte VOL , 48*mus_rg_exeye_mvl/mxv + .byte W96 +mus_rg_exeye_2_B1: + .byte MOD , 1 + .byte N36 , En4 , v127 + .byte W36 + .byte Ds4 + .byte W36 + .byte N24 , Cs4 + .byte W24 + .byte N12 , Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte N03 , Gs3 , v108 + .byte W03 + .byte An3 , v076 + .byte W03 + .byte N06 , Gs3 , v120 + .byte W06 + .byte N12 , Fs3 , v127 + .byte W12 + .byte Gs3 + .byte W12 + .byte An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte N96 , Fn4 + .byte W48 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte N96 , En4 + .byte W48 + .byte MOD , 7 + .byte W48 + .byte GOTO + .word mus_rg_exeye_2_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_exeye_3: + .byte KEYSH , mus_rg_exeye_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 45*mus_rg_exeye_mvl/mxv + .byte W36 + .byte N12 , Bn2 , v080 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , En2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , En2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , En2 + .byte W12 + .byte Bn2 + .byte W12 + .byte En2 + .byte W12 + .byte Bn2 + .byte W12 +mus_rg_exeye_3_B1: + .byte PAN , c_v-62 + .byte N12 , En2 , v080 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , En2 + .byte W12 + .byte N06 , Bn2 + .byte W06 + .byte N03 , Gs2 + .byte W03 + .byte Fs2 + .byte W03 + .byte PAN , c_v+63 + .byte N12 , En2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Fs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Fs2 + .byte W12 + .byte N06 , Cs3 + .byte W06 + .byte N03 , Bn2 + .byte W03 + .byte Gs2 + .byte W03 + .byte PAN , c_v+63 + .byte N12 , Fs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Gn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Gn2 + .byte W12 + .byte N06 , Dn3 + .byte W06 + .byte N03 , Bn2 + .byte W03 + .byte An2 + .byte W03 + .byte PAN , c_v+63 + .byte N12 , Gn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Fs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fs2 + .byte W12 + .byte N06 , Cs3 + .byte W06 + .byte An2 + .byte W06 + .byte PAN , c_v-62 + .byte N12 , Fs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fs2 + .byte W12 + .byte Ds2 + .byte W12 + .byte GOTO + .word mus_rg_exeye_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_exeye_4: + .byte KEYSH , mus_rg_exeye_key+0 + .byte VOICE , 35 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_exeye_mvl/mxv + .byte N06 , Bn1 , v120 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N06 , Bn1 + .byte W06 + .byte En1 + .byte W06 + .byte N48 , Bn1 + .byte W06 + .byte VOL , 45*mus_rg_exeye_mvl/mxv + .byte W03 + .byte MOD , 8 + .byte W15 + .byte VOL , 79*mus_rg_exeye_mvl/mxv + .byte W12 + .byte 90*mus_rg_exeye_mvl/mxv + .byte W12 + .byte 90*mus_rg_exeye_mvl/mxv + .byte MOD , 0 + .byte N03 + .byte W06 + .byte Fn1 + .byte W06 + .byte N12 , Ds1 + .byte W12 + .byte VOL , 77*mus_rg_exeye_mvl/mxv + .byte N12 , En1 , v127 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 +mus_rg_exeye_4_B1: + .byte BEND , c_v+0 + .byte N12 , En1 , v127 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte N06 , Bn1 + .byte W06 + .byte N03 , Cs2 , v120 + .byte W03 + .byte Ds2 + .byte W03 + .byte N12 , En2 , v127 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Fs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Fs1 + .byte W12 + .byte N06 , Cs2 + .byte W06 + .byte N03 , Ds2 , v120 + .byte W03 + .byte Fn2 + .byte W03 + .byte N12 , Fs2 , v127 + .byte W12 + .byte Cs2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte N03 , En2 , v120 + .byte W03 + .byte Fs2 + .byte W03 + .byte N12 , Gn2 , v127 + .byte W12 + .byte Dn2 + .byte W12 + .byte Fs1 + .byte W12 + .byte Fs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte N06 , Fs1 + .byte W06 + .byte Cn2 , v120 + .byte W06 + .byte N12 , Cs2 , v127 + .byte W12 + .byte N03 , Fs1 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Fs1 , v127 + .byte W12 + .byte Cs2 + .byte W12 + .byte GOTO + .word mus_rg_exeye_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_exeye_5: + .byte KEYSH , mus_rg_exeye_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 56*mus_rg_exeye_mvl/mxv + .byte BEND , c_v+2 + .byte N06 , En4 , v127 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N72 , Bn3 + .byte W36 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte N12 , En3 + .byte W12 + .byte Bn3 + .byte W12 + .byte En3 + .byte W12 + .byte Bn3 + .byte W12 + .byte En3 + .byte W12 + .byte Bn3 + .byte W12 + .byte En3 + .byte W12 + .byte Bn3 + .byte W12 +mus_rg_exeye_5_B1: + .byte MOD , 1 + .byte N36 , En5 , v127 + .byte W36 + .byte Ds5 + .byte W36 + .byte N24 , Cs5 + .byte W24 + .byte N12 , Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte N03 , Gs4 , v120 + .byte W03 + .byte An4 , v032 + .byte W03 + .byte N06 , Gs4 + .byte W06 + .byte N12 , Fs4 , v127 + .byte W12 + .byte Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cs5 + .byte W12 + .byte N96 , Fn5 + .byte W48 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte N96 , En5 + .byte W48 + .byte MOD , 7 + .byte W48 + .byte GOTO + .word mus_rg_exeye_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_exeye_6: + .byte KEYSH , mus_rg_exeye_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 79*mus_rg_exeye_mvl/mxv + .byte N06 , Dn2 , v120 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Dn1 + .byte N24 , Cs2 , v080 + .byte W24 + .byte N06 , Cn1 , v120 + .byte N48 , Cn3 , v080 + .byte W12 + .byte N06 , Dn1 , v120 + .byte W18 + .byte Cn1 + .byte W06 + .byte N06 + .byte W12 + .byte Cn1 , v096 + .byte N48 , En2 , v072 + .byte W18 + .byte N06 , Cn1 , v096 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 +mus_rg_exeye_6_B1: + .byte N06 , Cn1 , v096 + .byte W18 + .byte N06 + .byte W18 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N03 + .byte W30 + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte Dn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W18 + .byte Dn1 + .byte W18 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W24 + .byte GOTO + .word mus_rg_exeye_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_exeye_7: + .byte KEYSH , mus_rg_exeye_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 38*mus_rg_exeye_mvl/mxv + .byte W96 + .byte N06 , Cn5 , v096 + .byte W12 + .byte N03 , Cn5 , v044 + .byte W12 + .byte N06 , Cn5 , v096 + .byte W12 + .byte N03 , Cn5 , v044 + .byte W12 + .byte N06 , Cn5 , v096 + .byte W12 + .byte N03 , Cn5 , v044 + .byte W12 + .byte Cn5 , v096 + .byte W03 + .byte Cn5 , v044 + .byte W03 + .byte N03 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v044 + .byte W06 +mus_rg_exeye_7_B1: + .byte N06 , Cn5 , v108 + .byte W12 + .byte N03 , Cn5 , v052 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v056 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte N06 , Cn5 , v112 + .byte W12 + .byte N03 , Cn5 , v060 + .byte W12 + .byte Cn5 , v040 + .byte W12 + .byte N06 , Cn5 , v096 + .byte W12 + .byte N03 , Cn5 , v048 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte N06 , Cn5 , v108 + .byte W12 + .byte N03 , Cn5 , v092 + .byte W12 + .byte Cn5 , v052 + .byte W12 + .byte N06 , Cn5 , v108 + .byte W12 + .byte N03 , Cn5 , v048 + .byte W12 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte N06 , Cn5 , v100 + .byte W12 + .byte N03 , Cn5 , v084 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte N06 , Cn5 , v096 + .byte W12 + .byte N03 , Cn5 , v048 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte N06 , Cn5 , v108 + .byte W12 + .byte N03 , Cn5 , v088 + .byte W06 + .byte Cn5 , v044 + .byte W03 + .byte VOICE , 126 + .byte W03 + .byte N12 , Gn5 , v104 + .byte W12 + .byte GOTO + .word mus_rg_exeye_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_exeye: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_exeye_pri @ Priority + .byte mus_rg_exeye_rev @ Reverb. + + .word mus_rg_exeye_grp + + .word mus_rg_exeye_1 + .word mus_rg_exeye_2 + .word mus_rg_exeye_3 + .word mus_rg_exeye_4 + .word mus_rg_exeye_5 + .word mus_rg_exeye_6 + .word mus_rg_exeye_7 + + .end diff --git a/sound/songs/mus_rg_fan2.s b/sound/songs/mus_rg_fan2.s new file mode 100644 index 0000000000..fcd8e4b976 --- /dev/null +++ b/sound/songs/mus_rg_fan2.s @@ -0,0 +1,373 @@ + .include "MPlayDef.s" + + .equ mus_rg_fan2_grp, voicegroup_86AFEC8 + .equ mus_rg_fan2_pri, 5 + .equ mus_rg_fan2_rev, reverb_set+50 + .equ mus_rg_fan2_mvl, 127 + .equ mus_rg_fan2_key, 0 + .equ mus_rg_fan2_tbs, 1 + .equ mus_rg_fan2_exg, 0 + .equ mus_rg_fan2_cmp, 1 + + .section .rodata + .global mus_rg_fan2 + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_fan2_1: + .byte KEYSH , mus_rg_fan2_key+0 + .byte TEMPO , 64*mus_rg_fan2_tbs/2 + .byte VOICE , 80 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 50*mus_rg_fan2_mvl/mxv + .byte W12 + .byte TEMPO , 74*mus_rg_fan2_tbs/2 + .byte N02 , An3 , v127 + .byte W02 + .byte An3 , v064 + .byte W03 + .byte An3 , v127 + .byte W02 + .byte An3 , v068 + .byte W03 + .byte Gn3 , v127 + .byte W02 + .byte Gn3 , v064 + .byte W03 + .byte Gn3 , v127 + .byte W02 + .byte Gn3 , v064 + .byte W03 + .byte Fn3 , v127 + .byte W02 + .byte Fn3 , v064 + .byte W02 + .byte W01 + .byte En3 , v127 + .byte W02 + .byte En3 , v064 + .byte W03 + .byte Fn3 , v127 + .byte W02 + .byte Fn3 , v064 + .byte W03 + .byte An3 , v127 + .byte W01 + .byte W01 + .byte An3 , v064 + .byte W03 + .byte N05 , Cn4 , v127 + .byte W05 + .byte N04 , Cn4 , v064 + .byte W03 + .byte W02 + .byte N05 , En4 , v127 + .byte W05 + .byte N04 , En4 , v064 + .byte W05 + .byte Fn3 , v127 + .byte W05 + .byte Fn3 , v064 + .byte W04 + .byte N02 , Fn3 , v044 + .byte W03 + .byte W12 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_fan2_2: + .byte KEYSH , mus_rg_fan2_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 40*mus_rg_fan2_mvl/mxv + .byte PAN , c_v-64 + .byte BEND , c_v+1 + .byte W09 + .byte PAN , c_v+62 + .byte W03 + .byte N05 , Fn5 , v080 + .byte W04 + .byte PAN , c_v-64 + .byte W01 + .byte N02 , En5 + .byte W05 + .byte N05 , Dn5 + .byte W02 + .byte W03 + .byte N02 , Cn5 + .byte W05 + .byte N05 , As4 + .byte W04 + .byte W01 + .byte Cn5 + .byte W01 + .byte PAN , c_v+63 + .byte W04 + .byte N05 , Dn5 + .byte W05 + .byte En5 + .byte W01 + .byte PAN , c_v-64 + .byte W04 + .byte N10 , Fn5 + .byte W08 + .byte PAN , c_v+63 + .byte W02 + .byte N10 , Gn5 + .byte W10 + .byte N09 , Fn5 , v064 + .byte W09 + .byte N02 , Fn5 , v028 + .byte W03 + .byte W12 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_fan2_3: + .byte KEYSH , mus_rg_fan2_key+0 + .byte VOICE , 87 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 44*mus_rg_fan2_mvl/mxv + .byte W12 + .byte N02 , Cn5 , v127 + .byte W05 + .byte N05 , Fn4 + .byte W05 + .byte N02 , Cn5 + .byte W02 + .byte W03 + .byte As4 + .byte W05 + .byte An4 + .byte W04 + .byte W01 + .byte Gn4 + .byte W05 + .byte Fn4 + .byte W05 + .byte En4 + .byte W01 + .byte W12 + .byte W02 + .byte Cn5 + .byte W10 + .byte N05 , Fn4 + .byte W12 + .byte W12 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_fan2_4: + .byte KEYSH , mus_rg_fan2_key+0 + .byte VOICE , 13 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v-32 + .byte VOL , 51*mus_rg_fan2_mvl/mxv + .byte W03 + .byte PAN , c_v+32 + .byte W05 + .byte c_v-32 + .byte W04 + .byte N02 , Cn5 , v120 + .byte W01 + .byte PAN , c_v+32 + .byte W04 + .byte N02 , Fn5 + .byte W02 + .byte PAN , c_v-32 + .byte W03 + .byte N02 , An4 + .byte W02 + .byte PAN , c_v+32 + .byte W03 + .byte N02 , Cn5 + .byte W02 + .byte PAN , c_v-32 + .byte W03 + .byte N02 , Fn4 + .byte W01 + .byte PAN , c_v+32 + .byte W03 + .byte W01 + .byte N02 , An4 + .byte W01 + .byte PAN , c_v-33 + .byte W04 + .byte N02 , Cn4 + .byte W05 + .byte PAN , c_v-1 + .byte N02 , Fn4 , v112 + .byte W01 + .byte W04 + .byte An4 , v120 + .byte W08 + .byte W02 + .byte Cn5 + .byte W10 + .byte Fn5 + .byte W02 + .byte Fn5 , v064 + .byte W03 + .byte Fn5 , v036 + .byte W03 + .byte Fn5 , v024 + .byte W04 + .byte W12 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_fan2_5: + .byte KEYSH , mus_rg_fan2_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 44*mus_rg_fan2_mvl/mxv + .byte BEND , c_v+1 + .byte W12 + .byte N05 , Fn5 , v080 + .byte W05 + .byte N02 , En5 + .byte W05 + .byte N05 , Dn5 + .byte W02 + .byte W03 + .byte N02 , Cn5 + .byte W05 + .byte N05 , As4 + .byte W04 + .byte W01 + .byte Cn5 + .byte W05 + .byte Dn5 + .byte W05 + .byte En5 + .byte W01 + .byte W04 + .byte Fn5 + .byte W08 + .byte W02 + .byte Gn5 + .byte W10 + .byte N09 , Fn5 + .byte W09 + .byte N02 , Fn5 , v044 + .byte W03 + .byte Fn5 , v024 + .byte W12 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_fan2_6: + .byte KEYSH , mus_rg_fan2_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+16 + .byte VOL , 65*mus_rg_fan2_mvl/mxv + .byte W12 + .byte N05 , Fn5 , v127 + .byte W05 + .byte N02 , En5 + .byte W05 + .byte N05 , Dn5 + .byte W02 + .byte W03 + .byte N02 , Cn5 + .byte W05 + .byte N05 , As4 + .byte W04 + .byte W01 + .byte Cn5 + .byte W05 + .byte Dn5 + .byte W05 + .byte En5 + .byte W01 + .byte W04 + .byte Fn5 + .byte W08 + .byte W02 + .byte Gn5 + .byte W10 + .byte N09 , Fn5 + .byte W09 + .byte N02 , Fn5 , v064 + .byte W03 + .byte Fn5 , v028 + .byte W12 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_fan2_7: + .byte KEYSH , mus_rg_fan2_key+0 + .byte VOICE , 0 + .byte VOL , 70*mus_rg_fan2_mvl/mxv + .byte PAN , c_v+0 + .byte W12 + .byte N04 , Fs2 , v084 + .byte W04 + .byte Fs2 , v064 + .byte W05 + .byte Fs2 , v084 + .byte W03 + .byte W02 + .byte Fs2 , v064 + .byte W05 + .byte Fs2 , v080 + .byte W05 + .byte Fs2 , v064 + .byte W04 + .byte PAN , c_v+48 + .byte N04 , Fs2 , v072 + .byte W05 + .byte N02 , Fs2 , v044 + .byte W03 + .byte W02 + .byte PAN , c_v+0 + .byte W02 + .byte N09 , Bn4 + .byte W08 + .byte PAN , c_v-48 + .byte W02 + .byte N09 , Bn4 , v072 + .byte W10 + .byte N12 , Bn4 , v044 + .byte W12 + .byte W12 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_fan2: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_fan2_pri @ Priority + .byte mus_rg_fan2_rev @ Reverb. + + .word mus_rg_fan2_grp + + .word mus_rg_fan2_1 + .word mus_rg_fan2_2 + .word mus_rg_fan2_3 + .word mus_rg_fan2_4 + .word mus_rg_fan2_5 + .word mus_rg_fan2_6 + .word mus_rg_fan2_7 + + .end diff --git a/sound/songs/mus_rg_fan5.s b/sound/songs/mus_rg_fan5.s new file mode 100644 index 0000000000..d9119f3a4a --- /dev/null +++ b/sound/songs/mus_rg_fan5.s @@ -0,0 +1,416 @@ + .include "MPlayDef.s" + + .equ mus_rg_fan5_grp, voicegroup_86B07B0 + .equ mus_rg_fan5_pri, 5 + .equ mus_rg_fan5_rev, reverb_set+50 + .equ mus_rg_fan5_mvl, 127 + .equ mus_rg_fan5_key, 0 + .equ mus_rg_fan5_tbs, 1 + .equ mus_rg_fan5_exg, 0 + .equ mus_rg_fan5_cmp, 1 + + .section .rodata + .global mus_rg_fan5 + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_fan5_1: + .byte KEYSH , mus_rg_fan5_key+0 + .byte TEMPO , 44*mus_rg_fan5_tbs/2 + .byte VOICE , 80 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 51*mus_rg_fan5_mvl/mxv + .byte PAN , c_v+0 + .byte W06 + .byte TEMPO , 72*mus_rg_fan5_tbs/2 + .byte c_v-64 + .byte N10 , As3 , v080 + .byte W06 + .byte W03 + .byte PAN , c_v+63 + .byte W01 + .byte N03 , Cn4 + .byte W02 + .byte W03 + .byte N01 + .byte W02 + .byte N01 + .byte W01 + .byte W01 + .byte PAN , c_v-64 + .byte W01 + .byte N10 , Ds4 + .byte W04 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Fn4 + .byte W05 + .byte N01 + .byte W01 + .byte W01 + .byte MOD , 7 + .byte N01 + .byte W02 + .byte PAN , c_v-64 + .byte W01 + .byte N16 , As4 + .byte W02 + .byte MOD , 5 + .byte W02 + .byte VOL , 46*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 43*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 37*mus_rg_fan5_mvl/mxv + .byte MOD , 3 + .byte W02 + .byte VOL , 34*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 30*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 24*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 19*mus_rg_fan5_mvl/mxv + .byte MOD , 0 + .byte W01 + .byte VOL , 12*mus_rg_fan5_mvl/mxv + .byte W02 + .byte 8*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 4*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 0*mus_rg_fan5_mvl/mxv + .byte W04 + .byte W06 + .byte MOD , 0 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_fan5_2: + .byte KEYSH , mus_rg_fan5_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 76*mus_rg_fan5_mvl/mxv + .byte W06 + .byte N03 , Gn4 , v072 + .byte W05 + .byte N01 + .byte W01 + .byte W01 + .byte N01 + .byte W03 + .byte N10 , Ds4 + .byte W02 + .byte W06 + .byte W02 + .byte N03 , Gs4 + .byte W04 + .byte W01 + .byte N01 + .byte W02 + .byte N01 + .byte W03 + .byte N03 , As4 + .byte W05 + .byte N01 + .byte W01 + .byte W01 + .byte N01 + .byte W03 + .byte VOL , 64*mus_rg_fan5_mvl/mxv + .byte N16 , Ds5 + .byte W02 + .byte VOL , 55*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 53*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 48*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 44*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 40*mus_rg_fan5_mvl/mxv + .byte W02 + .byte 33*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 30*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 24*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 22*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 16*mus_rg_fan5_mvl/mxv + .byte W02 + .byte 15*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 11*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 8*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 0*mus_rg_fan5_mvl/mxv + .byte W03 + .byte W06 + .byte MOD , 0 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_fan5_3: + .byte KEYSH , mus_rg_fan5_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 77*mus_rg_fan5_mvl/mxv + .byte PAN , c_v-16 + .byte W06 + .byte N10 , Ds2 , v088 + .byte W06 + .byte W04 + .byte Gs2 + .byte W02 + .byte W06 + .byte W02 + .byte PAN , c_v+16 + .byte N10 , Gn2 + .byte W04 + .byte W06 + .byte Fn2 + .byte W06 + .byte W01 + .byte MOD , 7 + .byte W01 + .byte VOL , 69*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 60*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 51*mus_rg_fan5_mvl/mxv + .byte PAN , c_v-16 + .byte N13 , Ds2 , v100 + .byte W02 + .byte VOL , 46*mus_rg_fan5_mvl/mxv + .byte MOD , 5 + .byte W01 + .byte VOL , 38*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 33*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 31*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 28*mus_rg_fan5_mvl/mxv + .byte MOD , 4 + .byte W02 + .byte VOL , 24*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 22*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 18*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 12*mus_rg_fan5_mvl/mxv + .byte MOD , 2 + .byte W01 + .byte VOL , 8*mus_rg_fan5_mvl/mxv + .byte W02 + .byte 0*mus_rg_fan5_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte W04 + .byte W06 + .byte 0 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_fan5_4: + .byte KEYSH , mus_rg_fan5_key+0 + .byte VOICE , 13 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 62*mus_rg_fan5_mvl/mxv + .byte W06 + .byte N03 , Gn3 , v127 + .byte W03 + .byte PAN , c_v+32 + .byte W02 + .byte N01 + .byte W01 + .byte W01 + .byte N01 + .byte W03 + .byte N10 , Ds3 + .byte W02 + .byte W01 + .byte PAN , c_v-32 + .byte W05 + .byte W02 + .byte N03 , Gs3 + .byte W04 + .byte PAN , c_v-32 + .byte W01 + .byte N01 + .byte W02 + .byte N01 + .byte W03 + .byte N03 , As3 + .byte W03 + .byte PAN , c_v+32 + .byte W02 + .byte N01 + .byte W01 + .byte W01 + .byte N01 + .byte W03 + .byte N13 , Ds4 + .byte W02 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_fan5_5: + .byte KEYSH , mus_rg_fan5_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 70*mus_rg_fan5_mvl/mxv + .byte BEND , c_v+1 + .byte W06 + .byte PAN , c_v-32 + .byte N03 , Gn4 , v127 + .byte W05 + .byte N01 + .byte W01 + .byte W01 + .byte N01 + .byte W02 + .byte PAN , c_v+24 + .byte W01 + .byte N10 , Ds4 + .byte W02 + .byte MOD , 4 + .byte W06 + .byte W02 + .byte 0 + .byte PAN , c_v-32 + .byte N03 , Gs4 + .byte W04 + .byte W01 + .byte N01 + .byte W02 + .byte N01 + .byte W03 + .byte PAN , c_v+22 + .byte N03 , As4 + .byte W05 + .byte N01 + .byte W01 + .byte W01 + .byte N01 + .byte W02 + .byte PAN , c_v+32 + .byte W01 + .byte N13 + .byte W02 + .byte W03 + .byte VOL , 57*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 44*mus_rg_fan5_mvl/mxv + .byte W02 + .byte 36*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 25*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 12*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 4*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 1*mus_rg_fan5_mvl/mxv + .byte W02 + .byte W06 + .byte W06 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_fan5_6: + .byte KEYSH , mus_rg_fan5_key+0 + .byte VOICE , 0 + .byte PAN , c_v-48 + .byte VOL , 56*mus_rg_fan5_mvl/mxv + .byte W06 + .byte N03 , Fs2 , v096 + .byte W03 + .byte PAN , c_v+48 + .byte W02 + .byte N01 + .byte W01 + .byte W01 + .byte N01 + .byte W03 + .byte N10 , Bn4 , v052 + .byte W02 + .byte W01 + .byte PAN , c_v-48 + .byte W05 + .byte W02 + .byte N03 , Fs2 , v092 + .byte W04 + .byte PAN , c_v+50 + .byte W01 + .byte N01 + .byte W02 + .byte N01 + .byte W03 + .byte N03 + .byte W03 + .byte PAN , c_v-48 + .byte W02 + .byte N01 , Fs2 , v096 + .byte W01 + .byte W01 + .byte N01 + .byte W03 + .byte N14 , Bn4 , v056 + .byte W02 + .byte W06 + .byte W01 + .byte VOL , 44*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 35*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 28*mus_rg_fan5_mvl/mxv + .byte W01 + .byte 8*mus_rg_fan5_mvl/mxv + .byte W02 + .byte 0*mus_rg_fan5_mvl/mxv + .byte W06 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_fan5: + .byte 6 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_fan5_pri @ Priority + .byte mus_rg_fan5_rev @ Reverb. + + .word mus_rg_fan5_grp + + .word mus_rg_fan5_1 + .word mus_rg_fan5_2 + .word mus_rg_fan5_3 + .word mus_rg_fan5_4 + .word mus_rg_fan5_5 + .word mus_rg_fan5_6 + + .end diff --git a/sound/songs/mus_rg_fan6.s b/sound/songs/mus_rg_fan6.s new file mode 100644 index 0000000000..4378393fb7 --- /dev/null +++ b/sound/songs/mus_rg_fan6.s @@ -0,0 +1,602 @@ + .include "MPlayDef.s" + + .equ mus_rg_fan6_grp, voicegroup_86B0BD0 + .equ mus_rg_fan6_pri, 5 + .equ mus_rg_fan6_rev, reverb_set+50 + .equ mus_rg_fan6_mvl, 127 + .equ mus_rg_fan6_key, 0 + .equ mus_rg_fan6_tbs, 1 + .equ mus_rg_fan6_exg, 0 + .equ mus_rg_fan6_cmp, 1 + + .section .rodata + .global mus_rg_fan6 + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_fan6_1: + .byte KEYSH , mus_rg_fan6_key+0 + .byte TEMPO , 64*mus_rg_fan6_tbs/2 + .byte VOICE , 60 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 59*mus_rg_fan6_mvl/mxv + .byte PAN , c_v-48 + .byte BEND , c_v+1 + .byte W12 + .byte TEMPO , 136*mus_rg_fan6_tbs/2 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v040 + .byte W06 + .byte Fs3 , v096 + .byte W06 + .byte Fs3 , v040 + .byte W06 + .byte Gs3 , v096 + .byte W06 + .byte Gs3 , v040 + .byte W06 + .byte N03 , Gs3 , v096 + .byte W03 + .byte Gs3 , v040 + .byte W03 + .byte Gs3 , v096 + .byte W03 + .byte Gs3 , v040 + .byte W03 + .byte N06 , Bn3 , v096 + .byte W06 + .byte Bn3 , v040 + .byte W06 + .byte Cs4 , v096 + .byte W06 + .byte Cs4 , v040 + .byte W06 + .byte Ds4 , v096 + .byte W06 + .byte Bn3 , v040 + .byte W06 + .byte N03 , Ds4 , v096 + .byte W03 + .byte Ds4 , v040 + .byte W03 + .byte Ds4 , v096 + .byte W03 + .byte Ds4 , v040 + .byte W03 + .byte VOL , 25*mus_rg_fan6_mvl/mxv + .byte N48 , En4 , v096 + .byte W06 + .byte VOL , 29*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 31*mus_rg_fan6_mvl/mxv + .byte W03 + .byte MOD , 5 + .byte VOL , 34*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 38*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 41*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 44*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 50*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 55*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 64*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 71*mus_rg_fan6_mvl/mxv + .byte W15 + .byte MOD , 0 + .byte N06 , En4 , v040 + .byte W24 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_fan6_2: + .byte KEYSH , mus_rg_fan6_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 94*mus_rg_fan6_mvl/mxv + .byte PAN , c_v-18 + .byte BEND , c_v+0 + .byte W12 + .byte N06 , Gs4 , v127 + .byte W03 + .byte MOD , 6 + .byte W03 + .byte 0 + .byte N06 , Gs4 , v052 + .byte W06 + .byte N03 , Gs4 , v120 + .byte W03 + .byte Gs4 , v052 + .byte W03 + .byte Gs4 , v120 + .byte W03 + .byte Gs4 , v052 + .byte W03 + .byte N06 , En4 , v127 + .byte W03 + .byte MOD , 6 + .byte W03 + .byte 0 + .byte N06 , En4 , v052 + .byte W06 + .byte N03 , En4 , v120 + .byte W03 + .byte En4 , v052 + .byte W03 + .byte En4 , v120 + .byte W03 + .byte En4 , v052 + .byte W03 + .byte N06 , Bn4 , v127 + .byte W03 + .byte MOD , 6 + .byte W03 + .byte 0 + .byte N06 , Bn4 , v052 + .byte W06 + .byte N03 , Bn4 , v120 + .byte W03 + .byte Bn4 , v052 + .byte W03 + .byte Bn4 , v120 + .byte W03 + .byte Bn4 , v052 + .byte W03 + .byte N06 , An4 , v127 + .byte W03 + .byte MOD , 6 + .byte W03 + .byte 0 + .byte N06 , An4 , v052 + .byte W06 + .byte N03 , An4 , v120 + .byte W03 + .byte An4 , v052 + .byte W03 + .byte An4 , v120 + .byte W03 + .byte An4 , v052 + .byte W03 + .byte VOL , 31*mus_rg_fan6_mvl/mxv + .byte BEND , c_v+0 + .byte N48 , Gs4 , v127 + .byte W03 + .byte VOL , 34*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 38*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 43*mus_rg_fan6_mvl/mxv + .byte W03 + .byte MOD , 6 + .byte VOL , 49*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 56*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 67*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 74*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 82*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 91*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 94*mus_rg_fan6_mvl/mxv + .byte W18 + .byte N06 , Gs4 , v048 + .byte W09 + .byte MOD , 0 + .byte W15 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_fan6_3: + .byte KEYSH , mus_rg_fan6_key+0 + .byte VOICE , 87 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 47*mus_rg_fan6_mvl/mxv + .byte PAN , c_v+63 + .byte W12 + .byte BEND , c_v+0 + .byte N24 , Bn3 , v120 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N24 , Cs4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , An4 + .byte W12 + .byte N03 , Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte VOL , 28*mus_rg_fan6_mvl/mxv + .byte BEND , c_v+0 + .byte N48 , Gs4 + .byte W12 + .byte MOD , 4 + .byte VOL , 38*mus_rg_fan6_mvl/mxv + .byte W12 + .byte 47*mus_rg_fan6_mvl/mxv + .byte W12 + .byte 59*mus_rg_fan6_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte W24 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_fan6_4: + .byte KEYSH , mus_rg_fan6_key+0 + .byte VOICE , 80 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 94*mus_rg_fan6_mvl/mxv + .byte W12 + .byte BEND , c_v+0 + .byte N09 , Bn1 , v096 + .byte W12 + .byte N03 , En2 + .byte W06 + .byte Bn1 + .byte W06 + .byte N24 , An1 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N06 , Gs1 + .byte W12 + .byte N03 , Bn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte N09 , Fs1 + .byte W06 + .byte BEND , c_v+6 + .byte W03 + .byte c_v+0 + .byte W03 + .byte N03 + .byte W06 + .byte Ds1 + .byte W06 + .byte VOL , 28*mus_rg_fan6_mvl/mxv + .byte N48 , En1 , v127 + .byte W03 + .byte VOL , 31*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 32*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 35*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 40*mus_rg_fan6_mvl/mxv + .byte MOD , 6 + .byte W03 + .byte VOL , 48*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 53*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 62*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 66*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 70*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 77*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 88*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 94*mus_rg_fan6_mvl/mxv + .byte W14 + .byte MOD , 0 + .byte W22 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_fan6_5: + .byte KEYSH , mus_rg_fan6_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 71*mus_rg_fan6_mvl/mxv + .byte W12 + .byte N06 , Bn3 , v127 + .byte W06 + .byte MOD , 4 + .byte N06 , Bn3 , v052 + .byte W06 + .byte N03 , Bn3 , v120 + .byte W03 + .byte Bn3 , v052 + .byte W03 + .byte Bn3 , v120 + .byte W03 + .byte Bn3 , v052 + .byte W03 + .byte MOD , 0 + .byte N06 , Gs3 , v127 + .byte W06 + .byte MOD , 4 + .byte N06 , Gs3 , v052 + .byte W06 + .byte N03 , Gs3 , v120 + .byte W03 + .byte Gs3 , v052 + .byte W03 + .byte Gs3 , v120 + .byte W03 + .byte Gs3 , v052 + .byte W03 + .byte MOD , 0 + .byte N06 , En4 , v127 + .byte W06 + .byte MOD , 4 + .byte N06 , En4 , v052 + .byte W06 + .byte N03 , En4 , v120 + .byte W03 + .byte En4 , v052 + .byte W03 + .byte En4 , v120 + .byte W03 + .byte En4 , v052 + .byte W03 + .byte MOD , 0 + .byte N06 , Bn3 , v127 + .byte W06 + .byte Bn3 , v052 + .byte W06 + .byte N03 , Bn3 , v120 + .byte W03 + .byte Bn3 , v052 + .byte W03 + .byte Bn3 , v120 + .byte W03 + .byte Bn3 , v052 + .byte W03 + .byte VOL , 19*mus_rg_fan6_mvl/mxv + .byte N48 , En4 , v127 + .byte W03 + .byte VOL , 22*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 25*mus_rg_fan6_mvl/mxv + .byte W03 + .byte MOD , 4 + .byte VOL , 26*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 28*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 34*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 40*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 46*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 51*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 59*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 68*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 82*mus_rg_fan6_mvl/mxv + .byte W15 + .byte MOD , 0 + .byte N06 , En4 , v040 + .byte W24 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_fan6_6: + .byte KEYSH , mus_rg_fan6_key+0 + .byte VOICE , 2 + .byte PAN , c_v+32 + .byte VOL , 65*mus_rg_fan6_mvl/mxv + .byte BEND , c_v+0 + .byte W12 + .byte N06 , Gs3 , v127 + .byte W06 + .byte Gs3 , v052 + .byte W06 + .byte N03 , Gs3 , v120 + .byte W03 + .byte Gs3 , v052 + .byte W03 + .byte Gs3 , v120 + .byte W03 + .byte Gs3 , v052 + .byte W03 + .byte N06 , En3 , v127 + .byte W06 + .byte En3 , v052 + .byte W06 + .byte N03 , En3 , v120 + .byte W03 + .byte En3 , v052 + .byte W03 + .byte En3 , v120 + .byte W03 + .byte En3 , v052 + .byte W03 + .byte N06 , Bn3 , v127 + .byte W06 + .byte Bn3 , v052 + .byte W06 + .byte N03 , Bn3 , v120 + .byte W03 + .byte Bn3 , v052 + .byte W03 + .byte Bn3 , v120 + .byte W03 + .byte Bn3 , v052 + .byte W03 + .byte N06 , An3 , v127 + .byte W06 + .byte An3 , v052 + .byte W06 + .byte N03 , An3 , v120 + .byte W03 + .byte An3 , v052 + .byte W03 + .byte An3 , v120 + .byte W03 + .byte An3 , v052 + .byte W03 + .byte N48 , Gs3 , v127 + .byte W72 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_fan6_7: + .byte KEYSH , mus_rg_fan6_key+0 + .byte VOICE , 0 + .byte VOL , 82*mus_rg_fan6_mvl/mxv + .byte PAN , c_v+0 + .byte W12 + .byte N12 , Cn1 , v127 + .byte W12 + .byte N06 , Cn1 , v096 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Dn1 , v092 + .byte W18 + .byte N06 , Cn1 , v076 + .byte W06 + .byte N12 , Cn1 , v096 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte VOL , 94*mus_rg_fan6_mvl/mxv + .byte N06 , Dn2 , v088 + .byte W06 + .byte N05 , An1 , v104 + .byte W06 + .byte N06 , Gn1 , v112 + .byte W06 + .byte Fn1 + .byte W06 + .byte VOL , 71*mus_rg_fan6_mvl/mxv + .byte N06 , En1 , v120 + .byte N42 , An2 + .byte W06 + .byte N03 , En1 , v064 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte VOL , 74*mus_rg_fan6_mvl/mxv + .byte N03 , En1 , v064 + .byte W03 + .byte VOL , 81*mus_rg_fan6_mvl/mxv + .byte N03 , En1 , v048 + .byte W03 + .byte VOL , 82*mus_rg_fan6_mvl/mxv + .byte N03 , En1 , v088 + .byte W03 + .byte VOL , 86*mus_rg_fan6_mvl/mxv + .byte N03 , En1 , v056 + .byte W03 + .byte VOL , 88*mus_rg_fan6_mvl/mxv + .byte N03 , En1 , v088 + .byte W03 + .byte VOL , 92*mus_rg_fan6_mvl/mxv + .byte N03 , En1 , v060 + .byte W03 + .byte En1 , v104 + .byte N03 , Cn2 + .byte W03 + .byte En1 , v072 + .byte N03 , An1 , v092 + .byte W03 + .byte VOL , 82*mus_rg_fan6_mvl/mxv + .byte N06 , En1 , v064 + .byte N06 , Fn1 , v112 + .byte N24 , Cs2 , v080 + .byte W06 + .byte VOL , 71*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 65*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 59*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 47*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 41*mus_rg_fan6_mvl/mxv + .byte W03 + .byte 35*mus_rg_fan6_mvl/mxv + .byte W03 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_fan6_8: + .byte KEYSH , mus_rg_fan6_key+0 + .byte VOICE , 1 + .byte VOL , 71*mus_rg_fan6_mvl/mxv + .byte W12 + .byte W72 + .byte PAN , c_v-32 + .byte N12 , Bn4 , v052 + .byte W12 + .byte PAN , c_v+32 + .byte N36 , Bn4 , v080 + .byte W12 + .byte W72 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_fan6: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_fan6_pri @ Priority + .byte mus_rg_fan6_rev @ Reverb. + + .word mus_rg_fan6_grp + + .word mus_rg_fan6_1 + .word mus_rg_fan6_2 + .word mus_rg_fan6_3 + .word mus_rg_fan6_4 + .word mus_rg_fan6_5 + .word mus_rg_fan6_6 + .word mus_rg_fan6_7 + .word mus_rg_fan6_8 + + .end diff --git a/sound/songs/mus_rg_get_yasei.s b/sound/songs/mus_rg_get_yasei.s new file mode 100644 index 0000000000..5eed3db78d --- /dev/null +++ b/sound/songs/mus_rg_get_yasei.s @@ -0,0 +1,882 @@ + .include "MPlayDef.s" + + .equ mus_rg_get_yasei_grp, voicegroup_86AE338 + .equ mus_rg_get_yasei_pri, 0 + .equ mus_rg_get_yasei_rev, reverb_set+50 + .equ mus_rg_get_yasei_mvl, 127 + .equ mus_rg_get_yasei_key, 0 + .equ mus_rg_get_yasei_tbs, 1 + .equ mus_rg_get_yasei_exg, 0 + .equ mus_rg_get_yasei_cmp, 1 + + .section .rodata + .global mus_rg_get_yasei + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_get_yasei_1: + .byte KEYSH , mus_rg_get_yasei_key+0 + .byte TEMPO , 140*mus_rg_get_yasei_tbs/2 + .byte W12 +mus_rg_get_yasei_1_B1: + .byte VOICE , 73 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte VOL , 100*mus_rg_get_yasei_mvl/mxv + .byte N06 , Bn4 , v112 + .byte W12 + .byte An4 + .byte W12 + .byte Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte Cs5 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Bn4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte An4 + .byte W12 + .byte Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte Cs5 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Bn4 + .byte W24 + .byte Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte As4 + .byte W06 +mus_rg_get_yasei_1_000: + .byte N06 , Cn5 , v112 + .byte W12 + .byte As4 + .byte W12 + .byte An4 + .byte W12 + .byte As4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte PEND + .byte Dn5 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Cn5 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte PATT + .word mus_rg_get_yasei_1_000 + .byte N06 , Dn5 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Cn5 + .byte W24 + .byte Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs4 + .byte W06 + .byte An4 + .byte W06 + .byte GOTO + .word mus_rg_get_yasei_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_get_yasei_2: + .byte KEYSH , mus_rg_get_yasei_key+0 + .byte W12 +mus_rg_get_yasei_2_B1: + .byte VOICE , 56 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte VOL , 100*mus_rg_get_yasei_mvl/mxv + .byte W12 + .byte N06 , En3 , v092 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W36 + .byte VOICE , 47 + .byte PAN , c_v+10 + .byte N12 , An1 , v112 + .byte W12 + .byte Bn1 + .byte W48 + .byte VOICE , 56 + .byte PAN , c_v+0 + .byte W12 + .byte N06 , En3 , v092 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte VOICE , 47 + .byte PAN , c_v+10 + .byte N12 , An1 , v112 + .byte W24 + .byte Bn1 + .byte W48 +mus_rg_get_yasei_2_000: + .byte VOICE , 56 + .byte PAN , c_v+0 + .byte W12 + .byte N06 , Fn3 , v092 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte N06 + .byte W36 + .byte VOICE , 47 + .byte PAN , c_v+10 + .byte N12 , As1 , v112 + .byte W12 + .byte Cn2 + .byte W48 + .byte PATT + .word mus_rg_get_yasei_2_000 + .byte N06 , Fn3 , v092 + .byte W24 + .byte VOICE , 47 + .byte PAN , c_v+10 + .byte N12 , As1 , v112 + .byte W24 + .byte Cn2 + .byte W48 + .byte GOTO + .word mus_rg_get_yasei_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_get_yasei_3: + .byte KEYSH , mus_rg_get_yasei_key+0 + .byte W12 +mus_rg_get_yasei_3_B1: + .byte VOICE , 58 + .byte VOL , 100*mus_rg_get_yasei_mvl/mxv + .byte N21 , En1 , v127 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 31*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte N21 , Bn0 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 31*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte N21 , En1 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 31*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte N21 , Bn0 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 31*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte N48 , An1 + .byte W06 + .byte VOL , 84*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 73*mus_rg_get_yasei_mvl/mxv + .byte W06 + .byte 67*mus_rg_get_yasei_mvl/mxv + .byte W06 + .byte 72*mus_rg_get_yasei_mvl/mxv + .byte W06 + .byte 80*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 86*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 96*mus_rg_get_yasei_mvl/mxv + .byte W06 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte W09 + .byte 77*mus_rg_get_yasei_mvl/mxv + .byte N48 , Bn1 + .byte W06 + .byte VOL , 81*mus_rg_get_yasei_mvl/mxv + .byte W06 + .byte 84*mus_rg_get_yasei_mvl/mxv + .byte W06 + .byte 87*mus_rg_get_yasei_mvl/mxv + .byte W06 + .byte 91*mus_rg_get_yasei_mvl/mxv + .byte W09 + .byte 96*mus_rg_get_yasei_mvl/mxv + .byte W06 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte W09 + .byte N21 , En1 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 31*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte N21 , Bn0 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 31*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte N21 , En1 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 31*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte N21 , Bn0 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 31*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte N24 , An1 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W30 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte N21 , En1 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 31*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte N21 , Cn1 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 31*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte N21 , Fn1 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 31*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte N21 , Cn1 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 31*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte N21 , Fn1 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 31*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte N21 , Cn1 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 31*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte N48 , As1 + .byte W06 + .byte VOL , 84*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 73*mus_rg_get_yasei_mvl/mxv + .byte W06 + .byte 67*mus_rg_get_yasei_mvl/mxv + .byte W06 + .byte 72*mus_rg_get_yasei_mvl/mxv + .byte W06 + .byte 80*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 86*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 96*mus_rg_get_yasei_mvl/mxv + .byte W06 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte W09 + .byte 77*mus_rg_get_yasei_mvl/mxv + .byte N48 , Cn2 + .byte W06 + .byte VOL , 81*mus_rg_get_yasei_mvl/mxv + .byte W06 + .byte 84*mus_rg_get_yasei_mvl/mxv + .byte W06 + .byte 87*mus_rg_get_yasei_mvl/mxv + .byte W06 + .byte 91*mus_rg_get_yasei_mvl/mxv + .byte W09 + .byte 96*mus_rg_get_yasei_mvl/mxv + .byte W06 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte W09 + .byte N21 , Fn1 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 31*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte N21 , Cn1 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 31*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte N21 , Fn1 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 31*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte N21 , Cn1 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 31*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte N24 , As1 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W30 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte N24 , Fn1 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 31*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 100*mus_rg_get_yasei_mvl/mxv + .byte N24 , Bn0 + .byte W12 + .byte VOL , 92*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 76*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 46*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte 31*mus_rg_get_yasei_mvl/mxv + .byte W03 + .byte GOTO + .word mus_rg_get_yasei_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_get_yasei_4: + .byte KEYSH , mus_rg_get_yasei_key+0 + .byte W12 +mus_rg_get_yasei_4_B1: + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte VOL , 100*mus_rg_get_yasei_mvl/mxv + .byte W12 + .byte N06 , Bn2 , v060 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Cs3 + .byte W96 + .byte W12 + .byte Bn2 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Cs3 + .byte W96 +mus_rg_get_yasei_4_000: + .byte W12 + .byte N06 , Cn3 , v060 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte Dn3 + .byte W96 + .byte PATT + .word mus_rg_get_yasei_4_000 + .byte N06 , Dn3 , v060 + .byte W96 + .byte GOTO + .word mus_rg_get_yasei_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_get_yasei_5: + .byte KEYSH , mus_rg_get_yasei_key+0 + .byte W12 +mus_rg_get_yasei_5_B1: + .byte VOICE , 83 + .byte PAN , c_v+48 + .byte VOL , 100*mus_rg_get_yasei_mvl/mxv + .byte N03 , Bn5 , v032 + .byte W12 + .byte An5 + .byte W12 + .byte Gs5 + .byte W12 + .byte An5 + .byte W12 + .byte Bn5 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Cs6 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Bn5 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte An5 + .byte W12 + .byte Gs5 + .byte W12 + .byte An5 + .byte W12 + .byte Bn5 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Cs6 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Bn5 + .byte W48 +mus_rg_get_yasei_5_000: + .byte N03 , Cn6 , v032 + .byte W12 + .byte As5 + .byte W12 + .byte An5 + .byte W12 + .byte As5 + .byte W12 + .byte Cn6 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte PEND + .byte Dn6 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Cn6 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte PATT + .word mus_rg_get_yasei_5_000 + .byte N03 , Dn6 , v032 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Cn6 + .byte W48 + .byte GOTO + .word mus_rg_get_yasei_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_get_yasei_6: + .byte KEYSH , mus_rg_get_yasei_key+0 + .byte W12 +mus_rg_get_yasei_6_B1: + .byte VOICE , 81 + .byte MOD , 0 + .byte VOL , 100*mus_rg_get_yasei_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte N06 , An4 , v048 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Fs4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte W96 + .byte An4 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Gs4 + .byte W48 + .byte W96 + .byte As4 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Gn4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte W96 + .byte As4 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , An4 + .byte W48 + .byte GOTO + .word mus_rg_get_yasei_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_get_yasei_7: + .byte KEYSH , mus_rg_get_yasei_key+0 + .byte W12 +mus_rg_get_yasei_7_B1: + .byte VOICE , 0 + .byte VOL , 100*mus_rg_get_yasei_mvl/mxv + .byte N06 , En1 , v076 + .byte W12 + .byte N06 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v064 + .byte W12 + .byte En1 , v076 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v076 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v064 + .byte W06 + .byte En1 + .byte W06 + .byte En1 , v076 + .byte W06 + .byte En1 , v064 + .byte W06 +mus_rg_get_yasei_7_000: + .byte N06 , En1 , v112 + .byte W24 + .byte Fs2 , v064 + .byte W24 + .byte N12 , Bn2 , v092 + .byte W24 + .byte N06 , En1 , v112 + .byte N03 , Fs2 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Fs2 , v040 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v052 + .byte W06 + .byte En1 , v088 + .byte N06 , Fs2 , v060 + .byte W06 + .byte PEND +mus_rg_get_yasei_7_001: + .byte N06 , En1 , v076 + .byte W12 + .byte N06 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v064 + .byte W12 + .byte En1 , v076 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v076 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v064 + .byte W06 + .byte En1 + .byte W06 + .byte En1 , v076 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_get_yasei_7_000 + .byte PATT + .word mus_rg_get_yasei_7_001 + .byte PATT + .word mus_rg_get_yasei_7_000 + .byte PATT + .word mus_rg_get_yasei_7_001 + .byte PATT + .word mus_rg_get_yasei_7_000 + .byte GOTO + .word mus_rg_get_yasei_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_get_yasei: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_get_yasei_pri @ Priority + .byte mus_rg_get_yasei_rev @ Reverb. + + .word mus_rg_get_yasei_grp + + .word mus_rg_get_yasei_1 + .word mus_rg_get_yasei_2 + .word mus_rg_get_yasei_3 + .word mus_rg_get_yasei_4 + .word mus_rg_get_yasei_5 + .word mus_rg_get_yasei_6 + .word mus_rg_get_yasei_7 + + .end diff --git a/sound/songs/mus_rg_guren.s b/sound/songs/mus_rg_guren.s new file mode 100644 index 0000000000..1d0f592704 --- /dev/null +++ b/sound/songs/mus_rg_guren.s @@ -0,0 +1,2710 @@ + .include "MPlayDef.s" + + .equ mus_rg_guren_grp, voicegroup_86A35D4 + .equ mus_rg_guren_pri, 0 + .equ mus_rg_guren_rev, reverb_set+50 + .equ mus_rg_guren_mvl, 127 + .equ mus_rg_guren_key, 0 + .equ mus_rg_guren_tbs, 1 + .equ mus_rg_guren_exg, 0 + .equ mus_rg_guren_cmp, 1 + + .section .rodata + .global mus_rg_guren + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_guren_1: + .byte KEYSH , mus_rg_guren_key+0 + .byte TEMPO , 120*mus_rg_guren_tbs/2 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 28*mus_rg_guren_mvl/mxv + .byte N03 , Dn3 , v104 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Gn3 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , En3 + .byte W06 + .byte N03 , Fs3 + .byte W03 + .byte En3 + .byte W03 + .byte N06 , An2 + .byte W12 + .byte N12 , Fs2 + .byte W12 +mus_rg_guren_1_B1: + .byte W24 + .byte N24 , Dn3 , v104 + .byte W24 + .byte N36 , En3 + .byte W12 + .byte VOL , 22*mus_rg_guren_mvl/mxv + .byte W12 + .byte 17*mus_rg_guren_mvl/mxv + .byte W12 + .byte 28*mus_rg_guren_mvl/mxv + .byte N06 , An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N24 , Bn2 + .byte W24 + .byte Bn3 + .byte W24 + .byte N36 , Cn4 + .byte W12 + .byte VOL , 22*mus_rg_guren_mvl/mxv + .byte W12 + .byte 19*mus_rg_guren_mvl/mxv + .byte W12 + .byte 28*mus_rg_guren_mvl/mxv + .byte N12 , An3 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte Gn3 + .byte W24 + .byte N18 , Fs3 + .byte W18 + .byte N06 , En3 + .byte W06 + .byte N12 , Dn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N24 + .byte W24 + .byte Fs3 + .byte W24 + .byte En3 + .byte W24 + .byte Dn3 + .byte W24 + .byte En3 + .byte W24 + .byte N36 , Fs3 + .byte W12 + .byte VOL , 22*mus_rg_guren_mvl/mxv + .byte W12 + .byte 19*mus_rg_guren_mvl/mxv + .byte W12 + .byte 28*mus_rg_guren_mvl/mxv + .byte N12 , An3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte Bn3 + .byte W24 + .byte N36 , Cn4 + .byte W12 + .byte VOL , 22*mus_rg_guren_mvl/mxv + .byte W12 + .byte 19*mus_rg_guren_mvl/mxv + .byte W12 + .byte 28*mus_rg_guren_mvl/mxv + .byte N12 , An3 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte Gn3 + .byte W24 + .byte N18 , Fs3 + .byte W18 + .byte N06 , En3 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte VOICE , 24 + .byte VOL , 45*mus_rg_guren_mvl/mxv + .byte N06 , Dn5 , v108 + .byte W06 + .byte En5 + .byte W06 + .byte N24 , Dn5 + .byte W24 + .byte PAN , c_v+32 + .byte N06 + .byte W06 + .byte En5 + .byte W06 + .byte N24 , Dn5 + .byte W24 + .byte VOICE , 48 + .byte PAN , c_v-32 + .byte VOL , 28*mus_rg_guren_mvl/mxv + .byte N36 , Bn3 , v104 + .byte W12 + .byte VOL , 22*mus_rg_guren_mvl/mxv + .byte W12 + .byte 19*mus_rg_guren_mvl/mxv + .byte W12 + .byte 28*mus_rg_guren_mvl/mxv + .byte N12 , Gn3 + .byte W12 + .byte N48 , Dn3 + .byte W12 + .byte VOL , 22*mus_rg_guren_mvl/mxv + .byte W24 + .byte 17*mus_rg_guren_mvl/mxv + .byte W12 + .byte 28*mus_rg_guren_mvl/mxv + .byte N36 , Cn4 + .byte W12 + .byte VOL , 22*mus_rg_guren_mvl/mxv + .byte W12 + .byte 19*mus_rg_guren_mvl/mxv + .byte W12 + .byte 28*mus_rg_guren_mvl/mxv + .byte N12 , An3 + .byte W12 + .byte N48 , En3 + .byte W12 + .byte VOL , 22*mus_rg_guren_mvl/mxv + .byte W12 + .byte 19*mus_rg_guren_mvl/mxv + .byte W12 + .byte 17*mus_rg_guren_mvl/mxv + .byte W12 + .byte 28*mus_rg_guren_mvl/mxv + .byte N36 , Fs4 + .byte W12 + .byte VOL , 22*mus_rg_guren_mvl/mxv + .byte W12 + .byte 18*mus_rg_guren_mvl/mxv + .byte W12 + .byte 28*mus_rg_guren_mvl/mxv + .byte N12 , Dn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N48 , Gn3 + .byte W48 + .byte N24 , Fs3 + .byte W24 + .byte En3 + .byte W24 + .byte N36 , Bn3 + .byte W12 + .byte VOL , 22*mus_rg_guren_mvl/mxv + .byte W12 + .byte 18*mus_rg_guren_mvl/mxv + .byte W12 + .byte 28*mus_rg_guren_mvl/mxv + .byte N12 , Gn3 + .byte W12 + .byte N48 , Dn3 + .byte W12 + .byte VOL , 22*mus_rg_guren_mvl/mxv + .byte W24 + .byte 17*mus_rg_guren_mvl/mxv + .byte W12 + .byte 28*mus_rg_guren_mvl/mxv + .byte N36 , Cn4 + .byte W12 + .byte VOL , 22*mus_rg_guren_mvl/mxv + .byte W12 + .byte 18*mus_rg_guren_mvl/mxv + .byte W12 + .byte 28*mus_rg_guren_mvl/mxv + .byte N12 , An3 + .byte W12 + .byte N48 , Fs3 + .byte W12 + .byte VOL , 22*mus_rg_guren_mvl/mxv + .byte W12 + .byte 19*mus_rg_guren_mvl/mxv + .byte W12 + .byte 17*mus_rg_guren_mvl/mxv + .byte W12 + .byte 28*mus_rg_guren_mvl/mxv + .byte N36 , En4 + .byte W12 + .byte VOL , 22*mus_rg_guren_mvl/mxv + .byte W12 + .byte 18*mus_rg_guren_mvl/mxv + .byte W12 + .byte 28*mus_rg_guren_mvl/mxv + .byte N12 , Dn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N48 , Gn3 + .byte W12 + .byte VOL , 22*mus_rg_guren_mvl/mxv + .byte W12 + .byte 19*mus_rg_guren_mvl/mxv + .byte W12 + .byte 17*mus_rg_guren_mvl/mxv + .byte W12 + .byte 28*mus_rg_guren_mvl/mxv + .byte N24 , Fs3 + .byte W24 + .byte En3 + .byte W24 + .byte N03 , Dn3 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Gn3 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , En3 + .byte W06 + .byte N03 , Fs3 + .byte W03 + .byte En3 + .byte W03 + .byte N06 , An2 + .byte W12 + .byte N12 , Fs2 + .byte W12 + .byte GOTO + .word mus_rg_guren_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_guren_2: + .byte KEYSH , mus_rg_guren_key+0 + .byte VOICE , 17 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_guren_mvl/mxv + .byte N03 , Gn4 , v096 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , Bn4 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , An4 + .byte W06 + .byte N03 , Bn4 , v076 + .byte W03 + .byte An4 + .byte W03 + .byte N06 , Dn4 , v096 + .byte W12 + .byte N12 , Fs4 + .byte W12 +mus_rg_guren_2_B1: + .byte N36 , Gn4 , v096 + .byte W12 + .byte MOD , 7 + .byte VOL , 79*mus_rg_guren_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 90*mus_rg_guren_mvl/mxv + .byte N06 , An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte N36 , Cn5 + .byte W12 + .byte MOD , 7 + .byte VOL , 79*mus_rg_guren_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 90*mus_rg_guren_mvl/mxv + .byte N06 , Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N36 , An5 + .byte W12 + .byte MOD , 7 + .byte VOL , 79*mus_rg_guren_mvl/mxv + .byte W12 + .byte 73*mus_rg_guren_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_guren_mvl/mxv + .byte N06 , Gn5 + .byte W06 + .byte Fs5 + .byte W06 +mus_rg_guren_2_000: + .byte N24 , En5 , v096 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N18 , Cn5 + .byte W18 + .byte N06 , Bn4 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte N06 , Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte PEND + .byte N24 , Dn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N48 , Bn4 + .byte W12 + .byte MOD , 7 + .byte VOL , 79*mus_rg_guren_mvl/mxv + .byte W12 + .byte 73*mus_rg_guren_mvl/mxv + .byte W12 + .byte 68*mus_rg_guren_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 89*mus_rg_guren_mvl/mxv + .byte N24 , An4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N36 , Gn4 + .byte W12 + .byte MOD , 7 + .byte VOL , 79*mus_rg_guren_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 90*mus_rg_guren_mvl/mxv + .byte N06 , An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte N18 , Cn5 + .byte W18 + .byte N06 , Bn4 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte N06 , Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N36 , An5 + .byte W12 + .byte MOD , 7 + .byte VOL , 79*mus_rg_guren_mvl/mxv + .byte W12 + .byte 72*mus_rg_guren_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_guren_mvl/mxv + .byte N06 , Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte PATT + .word mus_rg_guren_2_000 + .byte N24 , Dn5 , v096 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Cn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , An4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOICE , 48 + .byte MOD , 0 + .byte N36 , Dn4 , v064 + .byte W12 + .byte MOD , 7 + .byte VOL , 79*mus_rg_guren_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 90*mus_rg_guren_mvl/mxv + .byte N12 , Bn3 + .byte W12 + .byte N48 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N36 , En4 + .byte W12 + .byte MOD , 7 + .byte VOL , 79*mus_rg_guren_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 90*mus_rg_guren_mvl/mxv + .byte N12 , Cn4 + .byte W12 + .byte N48 , An3 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N36 , An4 + .byte W12 + .byte MOD , 7 + .byte VOL , 79*mus_rg_guren_mvl/mxv + .byte W12 + .byte 71*mus_rg_guren_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_guren_mvl/mxv + .byte N12 , Fs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Bn3 + .byte W12 + .byte N24 , An3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOICE , 24 + .byte MOD , 0 + .byte N06 , Bn4 , v056 + .byte W06 + .byte Cn5 , v060 + .byte W06 + .byte MOD , 0 + .byte N36 , Dn5 , v064 + .byte W12 + .byte MOD , 7 + .byte VOL , 79*mus_rg_guren_mvl/mxv + .byte W12 + .byte 69*mus_rg_guren_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_guren_mvl/mxv + .byte N12 , Bn4 + .byte W12 + .byte N18 , Gn4 + .byte W18 + .byte N03 , An4 , v048 + .byte W03 + .byte Gn4 , v052 + .byte W03 + .byte N12 , Fs4 , v064 + .byte W12 + .byte Gn4 + .byte W12 + .byte N36 , En5 + .byte W12 + .byte MOD , 7 + .byte VOL , 79*mus_rg_guren_mvl/mxv + .byte W12 + .byte 70*mus_rg_guren_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_guren_mvl/mxv + .byte N12 , Cn5 + .byte W12 + .byte An4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte N36 , An5 + .byte W12 + .byte MOD , 7 + .byte VOL , 79*mus_rg_guren_mvl/mxv + .byte W12 + .byte 70*mus_rg_guren_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_guren_mvl/mxv + .byte N12 , Fs5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte En5 + .byte W12 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N18 , Dn5 + .byte W18 + .byte N06 , Fs5 + .byte W06 + .byte N12 , En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte VOICE , 17 + .byte N03 , Gn4 , v096 + .byte W12 + .byte MOD , 7 + .byte N24 + .byte W12 + .byte MOD , 0 + .byte W12 + .byte N06 , Bn4 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , An4 + .byte W06 + .byte N03 , Bn4 , v060 + .byte W03 + .byte An4 , v064 + .byte W03 + .byte N06 , Dn4 , v092 + .byte W12 + .byte N12 , Fs4 + .byte W12 + .byte GOTO + .word mus_rg_guren_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_guren_3: + .byte KEYSH , mus_rg_guren_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+39 + .byte VOL , 40*mus_rg_guren_mvl/mxv + .byte N03 , Bn2 , v120 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Dn3 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Cn3 + .byte W12 + .byte En2 + .byte W12 + .byte N12 , Dn2 + .byte W12 +mus_rg_guren_3_B1: +mus_rg_guren_3_000: + .byte N06 , Gn3 , v127 + .byte W18 + .byte N01 + .byte W03 + .byte An3 + .byte W03 + .byte N12 , Bn3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte N01 , Gn4 + .byte W06 + .byte N12 , An3 + .byte W12 + .byte N03 , Gs3 + .byte W06 + .byte Bn3 + .byte W03 + .byte N01 + .byte W03 + .byte N12 , Cn4 + .byte W12 + .byte N06 , Fs3 + .byte W12 + .byte PEND + .byte Gn3 + .byte W06 + .byte N01 , Dn4 + .byte W12 + .byte N01 + .byte W06 + .byte N12 , Bn3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An3 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Cn4 + .byte W12 + .byte N06 , Fs3 + .byte W06 + .byte N01 , Dn4 + .byte W06 + .byte N06 , Gn3 + .byte W18 + .byte N01 + .byte W03 + .byte An3 + .byte W03 + .byte N12 , Bn3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte N01 , Gn4 + .byte W06 + .byte N12 , An3 + .byte W12 + .byte N03 , Gs3 + .byte W06 + .byte Bn3 + .byte W03 + .byte N01 + .byte W03 + .byte N12 , Cn4 + .byte W12 + .byte N06 , Fs3 + .byte W06 + .byte N01 , Dn4 + .byte W06 + .byte N06 , Gn3 + .byte W18 + .byte N01 + .byte W03 + .byte An3 + .byte W03 + .byte N12 , Bn3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte N03 + .byte W06 + .byte An3 + .byte W06 + .byte N01 , Fs4 + .byte W12 + .byte N01 + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte N03 , Gs3 , v120 + .byte W06 + .byte PATT + .word mus_rg_guren_3_000 + .byte N06 , Gn3 , v127 + .byte W06 + .byte N01 , Dn4 + .byte W12 + .byte N01 + .byte W06 + .byte N12 , Bn3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An3 + .byte W12 + .byte N06 + .byte W06 + .byte N01 , Gn3 + .byte W03 + .byte An3 + .byte W03 + .byte N12 , Cn4 + .byte W12 + .byte N06 , Fs3 + .byte W06 + .byte N01 , Dn4 + .byte W06 + .byte N06 , Gn3 + .byte W24 + .byte N12 , Bn3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte N01 , Gn4 + .byte W06 + .byte N12 , An3 + .byte W12 + .byte N03 , Gs3 + .byte W06 + .byte Bn3 + .byte W03 + .byte N01 + .byte W03 + .byte N12 , Cn4 + .byte W12 + .byte N06 , Fs3 + .byte W06 + .byte N01 , Dn4 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte N01 , Dn4 + .byte W12 + .byte Gn3 + .byte W06 + .byte N24 , Bn3 + .byte W24 + .byte N03 , An3 + .byte W12 + .byte N12 + .byte W12 + .byte N03 , En4 + .byte W06 + .byte N01 , En4 , v100 + .byte W06 + .byte N03 , En4 , v127 + .byte W06 + .byte N01 , En4 , v100 + .byte W06 + .byte N06 , Bn3 , v127 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte Cn4 + .byte W12 + .byte N06 , Bn3 + .byte W12 + .byte Gn3 + .byte W24 + .byte N12 , En4 + .byte W12 + .byte N06 , Cn4 + .byte W06 + .byte N01 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte En4 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte An3 + .byte W24 + .byte N12 , An4 + .byte W12 + .byte N06 , Fs4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn4 + .byte W12 + .byte N09 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Cn4 + .byte W12 +mus_rg_guren_3_001: + .byte N06 , Bn3 , v127 + .byte W12 + .byte Gn3 , v120 + .byte W06 + .byte N03 , An3 + .byte W03 + .byte As3 + .byte W03 + .byte N12 , Dn4 , v127 + .byte W12 + .byte N06 , Cn4 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , Bn3 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte N12 , As3 + .byte W12 + .byte PEND + .byte N06 , Bn3 + .byte W18 + .byte N03 + .byte W03 + .byte Cn4 + .byte W03 + .byte N12 , Dn4 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N01 , Gn4 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N01 , An3 + .byte W06 + .byte N06 , Gn3 + .byte W18 + .byte N03 , Cn4 , v120 + .byte W03 + .byte Dn4 + .byte W03 + .byte N12 , En4 , v127 + .byte W12 + .byte N06 , Cn4 + .byte W06 + .byte N01 + .byte W06 + .byte N06 + .byte W06 + .byte N01 , En4 + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte An3 + .byte W18 + .byte N03 , Fs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte N12 , An4 + .byte W12 + .byte N06 , Fs4 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , Dn4 + .byte W12 + .byte N09 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte PATT + .word mus_rg_guren_3_001 + .byte N03 , Bn2 , v120 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Dn3 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Cn3 + .byte W12 + .byte En2 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte GOTO + .word mus_rg_guren_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_guren_4: + .byte KEYSH , mus_rg_guren_key+0 + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 58*mus_rg_guren_mvl/mxv + .byte N06 , Gn1 , v120 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , An1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Dn2 + .byte W24 + .byte N24 , An1 + .byte W24 +mus_rg_guren_4_B1: + .byte N24 , Dn2 , v120 + .byte W24 + .byte Bn1 + .byte W24 + .byte N12 , Cn2 + .byte W12 + .byte N03 , Bn1 + .byte W12 + .byte N24 , An1 + .byte W24 + .byte N06 , Bn1 + .byte W24 + .byte N24 , Dn1 + .byte W24 + .byte N06 , Fs1 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte En2 + .byte W06 + .byte N12 , Cn2 + .byte W12 + .byte N24 , Bn1 + .byte W24 + .byte Dn2 + .byte W24 + .byte N06 , Fs1 + .byte W12 + .byte N24 + .byte W24 + .byte N12 , An1 + .byte W12 + .byte N24 , Bn1 + .byte W24 + .byte Dn2 + .byte W24 + .byte N06 , Fs1 + .byte W12 + .byte N12 + .byte W12 + .byte Cn2 + .byte W12 + .byte An1 + .byte W12 + .byte N24 , Dn2 + .byte W24 + .byte Bn1 + .byte W24 + .byte N06 , Fs1 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Cn2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte N24 , Bn1 + .byte W24 + .byte Gn1 + .byte W24 + .byte N06 , Dn1 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte N12 , Fs1 + .byte W12 + .byte N24 , Bn1 + .byte W24 + .byte Dn2 + .byte W24 + .byte N06 , Fs1 + .byte W12 + .byte N24 , Dn1 + .byte W24 + .byte N06 , Dn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , Bn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N06 , Fs1 + .byte W12 + .byte N12 + .byte W12 + .byte An1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn1 + .byte W24 + .byte N12 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Gn1 + .byte W24 + .byte N12 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , En2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte Fs2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn1 + .byte W24 + .byte N12 + .byte W24 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W24 + .byte N12 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Bn1 + .byte W24 + .byte N12 , Gn1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte Cn2 + .byte W12 + .byte An1 + .byte W12 + .byte Gn1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte Fs2 + .byte W12 + .byte En2 + .byte W12 + .byte Gn1 + .byte W24 + .byte N12 + .byte W24 + .byte N06 , Dn1 + .byte W06 + .byte Dn2 + .byte W06 + .byte N12 , An1 + .byte W12 + .byte N06 , Dn1 + .byte W12 + .byte N12 , An1 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , An1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Dn2 + .byte W24 + .byte N24 , An1 + .byte W24 + .byte GOTO + .word mus_rg_guren_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_guren_5: + .byte KEYSH , mus_rg_guren_key+0 + .byte VOICE , 92 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 19*mus_rg_guren_mvl/mxv + .byte BEND , c_v+1 + .byte N03 , Gn4 , v120 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , Bn4 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , An4 , v096 + .byte W06 + .byte N03 , Bn4 , v084 + .byte W03 + .byte An4 , v120 + .byte W03 + .byte N06 , Dn4 + .byte W12 + .byte N12 , Fs4 + .byte W12 +mus_rg_guren_5_B1: + .byte N36 , Gn4 , v127 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N06 , An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte N36 , Cn5 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N06 , Dn5 + .byte W06 + .byte En5 + .byte W06 +mus_rg_guren_5_000: + .byte N24 , Dn5 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N36 , An5 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N06 , Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte PEND +mus_rg_guren_5_001: + .byte N24 , En5 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N18 , Cn5 + .byte W18 + .byte N06 , Bn4 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte N06 , Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte PEND + .byte N24 , Dn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N48 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N24 , An4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N36 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N06 , An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte N18 , Cn5 + .byte W18 + .byte N06 , Bn4 , v120 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte N06 , Dn5 , v127 + .byte W06 + .byte En5 + .byte W06 + .byte PATT + .word mus_rg_guren_5_000 + .byte PATT + .word mus_rg_guren_5_001 + .byte N24 , Dn5 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Cn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , An4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N36 , Dn5 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N12 , Bn4 + .byte W12 + .byte N48 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N36 , En5 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N12 , Cn5 + .byte W12 + .byte N48 , An4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N36 , An5 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N12 , Fs5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Bn4 + .byte W12 + .byte N24 , An4 , v120 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte N06 , Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte MOD , 0 + .byte N36 , Dn5 , v127 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N12 , Bn4 + .byte W12 + .byte N18 , Gn4 + .byte W18 + .byte N03 , An4 , v084 + .byte W03 + .byte Gn4 , v068 + .byte W03 + .byte N12 , Fs4 , v120 + .byte W12 + .byte Gn4 + .byte W12 + .byte N36 , En5 , v127 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N12 , Cn5 + .byte W12 + .byte An4 + .byte W12 + .byte Gs4 , v120 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte N36 , An5 , v127 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N12 , Fs5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte En5 + .byte W12 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N18 , Dn5 + .byte W18 + .byte N06 , Fs5 , v120 + .byte W06 + .byte N12 , En5 , v127 + .byte W12 + .byte Dn5 , v120 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 , v127 + .byte W12 + .byte N03 , Gn4 , v120 + .byte W12 + .byte MOD , 7 + .byte N24 + .byte W12 + .byte MOD , 0 + .byte W12 + .byte N06 , Bn4 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , An4 , v096 + .byte W06 + .byte N03 , Bn4 , v084 + .byte W03 + .byte An4 , v120 + .byte W03 + .byte N06 , Dn4 + .byte W12 + .byte N12 , Fs4 + .byte W12 + .byte GOTO + .word mus_rg_guren_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_guren_6: + .byte KEYSH , mus_rg_guren_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 46*mus_rg_guren_mvl/mxv + .byte N03 , Gn2 , v120 + .byte W12 + .byte N18 , Dn2 + .byte W24 + .byte N06 , Bn2 + .byte W12 + .byte N12 , Gn2 + .byte W12 + .byte N06 , Fs2 + .byte W12 + .byte En2 + .byte W12 + .byte N12 , Dn2 + .byte W12 +mus_rg_guren_6_B1: + .byte N06 , Bn2 , v127 + .byte W18 + .byte N01 + .byte W03 + .byte Cn3 + .byte W03 + .byte N12 , Dn3 + .byte W12 + .byte N06 , Bn2 + .byte W06 + .byte N01 , Bn3 + .byte W24 + .byte N03 , Dn3 , v092 + .byte W03 + .byte N01 , Dn3 , v072 + .byte W03 + .byte N12 , En3 , v120 + .byte W12 + .byte N06 , Cn3 + .byte W12 + .byte Bn2 + .byte W06 + .byte N01 , Gn3 , v127 + .byte W12 + .byte N01 + .byte W03 + .byte N15 , Dn3 , v120 + .byte W15 + .byte N06 , Bn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn3 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , En3 + .byte W12 + .byte N06 , Cn3 + .byte W06 + .byte N01 , Fs3 , v127 + .byte W06 + .byte N06 , Bn2 + .byte W18 + .byte N01 + .byte W03 + .byte Cn3 + .byte W03 + .byte N12 , Dn3 + .byte W12 + .byte N06 , Bn2 + .byte W06 + .byte N01 , Bn3 + .byte W24 + .byte N03 , Dn3 , v092 + .byte W03 + .byte N01 , Dn3 , v072 + .byte W03 + .byte N12 , En3 , v120 + .byte W12 + .byte N06 , Cn3 + .byte W06 + .byte N01 , Gn3 , v072 + .byte W06 + .byte N06 , Bn2 , v120 + .byte W18 + .byte N01 , Bn2 , v127 + .byte W03 + .byte Cn3 + .byte W03 + .byte N12 , Dn3 , v120 + .byte W12 + .byte N06 , Bn2 + .byte W06 + .byte N03 + .byte W06 + .byte N01 , Dn3 + .byte W06 + .byte Cn4 + .byte W12 + .byte N01 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte N06 , Dn3 + .byte W06 + .byte N03 , Cn3 + .byte W06 + .byte N06 , Bn2 , v127 + .byte W18 + .byte N01 , An2 + .byte W03 + .byte Cn3 + .byte W03 + .byte N12 , Dn3 + .byte W12 + .byte N06 , Bn2 + .byte W06 + .byte N01 , Bn3 + .byte W24 + .byte N03 , Dn3 , v092 + .byte W03 + .byte N01 , Dn3 , v072 + .byte W03 + .byte N12 , En3 , v120 + .byte W12 + .byte N06 , Cn3 + .byte W12 + .byte Bn2 + .byte W06 + .byte N01 , Gn3 , v127 + .byte W12 + .byte N01 + .byte W03 + .byte N15 , Dn3 , v120 + .byte W15 + .byte N06 , Bn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn3 + .byte W12 + .byte N06 + .byte W06 + .byte N01 , An2 , v127 + .byte W03 + .byte Cn3 + .byte W03 + .byte N12 , En3 , v120 + .byte W12 + .byte N06 , Cn3 + .byte W06 + .byte N01 , Fs3 , v127 + .byte W06 + .byte N06 , Bn2 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N06 , Bn2 + .byte W06 + .byte N01 , Bn3 + .byte W24 + .byte N03 , Dn3 , v092 + .byte W03 + .byte N01 , Dn3 , v072 + .byte W03 + .byte N12 , En3 , v120 + .byte W12 + .byte N06 , Cn3 + .byte W06 + .byte N01 , Gn3 , v072 + .byte W06 + .byte N06 , Dn3 , v120 + .byte W06 + .byte N01 , Gn3 , v127 + .byte W12 + .byte Dn3 + .byte W06 + .byte N24 , Gn3 , v120 + .byte W24 + .byte N03 , Fs3 + .byte W12 + .byte N12 + .byte W12 + .byte N01 , Bn3 , v127 + .byte W06 + .byte Bn3 , v100 + .byte W06 + .byte Bn3 , v127 + .byte W06 + .byte Bn3 , v100 + .byte W06 + .byte N06 , Dn3 , v120 + .byte W24 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte Gn3 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte N06 + .byte W24 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N01 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte Gn3 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte N06 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte N06 , Cn4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An3 + .byte W12 + .byte N09 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Fs3 + .byte W12 +mus_rg_guren_6_000: + .byte N06 , Dn3 , v120 + .byte W12 + .byte Bn2 + .byte W06 + .byte N03 , Dn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte N12 , Gn3 + .byte W12 + .byte N06 , Dn3 + .byte W06 + .byte N01 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Cn3 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte PEND + .byte N06 , Dn3 + .byte W18 + .byte N03 , Bn2 + .byte W03 + .byte Cn3 + .byte W03 + .byte N12 , Dn3 + .byte W12 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Fs3 + .byte W06 + .byte N01 , Dn4 + .byte W06 + .byte N03 , Dn3 + .byte W06 + .byte N01 + .byte W06 + .byte N06 + .byte W18 + .byte N03 + .byte W03 + .byte Fs3 + .byte W03 + .byte N12 , Gn3 + .byte W12 + .byte N06 + .byte W06 + .byte N01 + .byte W06 + .byte N06 + .byte W06 + .byte N01 , Cn4 + .byte W06 + .byte N12 , Dn3 + .byte W12 + .byte An3 + .byte W12 + .byte N06 , En3 + .byte W12 + .byte Dn3 + .byte W18 + .byte N03 , Bn3 + .byte W03 + .byte Cn4 + .byte W03 + .byte N12 , Dn4 + .byte W12 + .byte N06 , Cn4 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , An3 + .byte W12 + .byte N09 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Fs3 + .byte W12 + .byte PATT + .word mus_rg_guren_6_000 + .byte N03 , Gn2 , v120 + .byte W12 + .byte N18 , Dn2 + .byte W24 + .byte N06 , Bn2 + .byte W12 + .byte N12 , Gn2 + .byte W12 + .byte N06 , Fs2 + .byte W12 + .byte En2 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte GOTO + .word mus_rg_guren_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_guren_7: + .byte KEYSH , mus_rg_guren_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 66*mus_rg_guren_mvl/mxv + .byte N12 , Cn1 , v120 + .byte N48 , An2 + .byte W12 + .byte N06 , En1 , v072 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N12 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte N06 , Cs1 + .byte W06 + .byte Cs1 , v084 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 +mus_rg_guren_7_B1: + .byte N12 , Cn1 , v120 + .byte N48 , Cs2 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte Cs1 , v096 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N18 , Cs1 , v120 + .byte W18 + .byte N06 , Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte N12 + .byte W12 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte Cs1 , v096 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N18 , Cs1 , v120 + .byte W18 + .byte N06 , Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte Cs1 , v092 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Cs1 , v120 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 , En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En1 , v056 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte Cs1 , v096 + .byte W06 + .byte Dn2 , v120 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Cs1 + .byte W06 + .byte Cn1 + .byte N06 , Cs1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte Cs1 , v096 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N18 , Cs1 , v120 + .byte W18 + .byte N06 , Cn1 + .byte W06 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte En1 , v056 + .byte W03 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte Cs1 , v096 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N18 , Cs1 , v120 + .byte W18 + .byte N06 , Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte Cs1 , v092 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , En1 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Cs1 , v120 + .byte W06 + .byte Cn1 + .byte W12 + .byte En1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Fn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn2 + .byte W06 + .byte Fn1 + .byte W06 + .byte An1 + .byte W06 + .byte Cs1 + .byte W06 + .byte N06 + .byte W06 +mus_rg_guren_7_000: + .byte N24 , Cn1 , v120 + .byte N03 , An4 , v036 + .byte W12 + .byte N12 , As4 , v016 + .byte W12 + .byte N24 , Cn1 , v120 + .byte N03 , An4 , v036 + .byte W12 + .byte N12 , As4 , v016 + .byte W12 + .byte N24 , Cn1 , v120 + .byte N03 , An4 , v036 + .byte W12 + .byte N12 , As4 , v016 + .byte W12 + .byte N24 , Cn1 , v120 + .byte N03 , An4 , v036 + .byte W12 + .byte N12 , As4 , v016 + .byte W12 + .byte PEND + .byte N24 , Cn1 , v120 + .byte N03 , An4 , v036 + .byte W12 + .byte N12 , As4 , v016 + .byte W12 + .byte N24 , Cn1 , v120 + .byte N03 , An4 , v036 + .byte W12 + .byte N12 , As4 , v016 + .byte W12 + .byte N24 , Cn1 , v120 + .byte N03 , An4 , v036 + .byte W12 + .byte N12 , As4 , v016 + .byte W12 + .byte Cn1 , v120 + .byte N03 , An4 , v036 + .byte W12 + .byte N12 , Cn1 , v120 + .byte N12 , As4 , v016 + .byte W12 + .byte PATT + .word mus_rg_guren_7_000 + .byte N24 , Cn1 , v120 + .byte N03 , An4 , v036 + .byte W12 + .byte N12 , As4 , v016 + .byte W12 + .byte N24 , Cn1 , v120 + .byte N03 , An4 , v036 + .byte W12 + .byte N12 , As4 , v016 + .byte W12 + .byte N24 , Cn1 , v120 + .byte N03 , An4 , v036 + .byte W03 + .byte An4 , v012 + .byte W03 + .byte An4 , v020 + .byte W06 + .byte N12 , As4 , v032 + .byte W12 + .byte Cs1 , v120 + .byte N03 , An4 , v036 + .byte W12 + .byte N12 , Cn1 , v120 + .byte N12 , As4 , v016 + .byte W12 + .byte N24 , Cn1 , v120 + .byte W24 + .byte N12 , Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N24 + .byte W24 + .byte Cs1 + .byte W24 + .byte N06 , Cn1 + .byte W06 + .byte En1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N18 , Cs1 + .byte W18 + .byte N06 , Cs1 , v084 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , Cs1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Cs1 , v120 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N06 + .byte W06 + .byte Fn1 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cs1 + .byte W12 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte N12 + .byte N48 , An2 + .byte W12 + .byte N06 , En1 , v072 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N12 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte N06 , Cs1 + .byte W06 + .byte Cs1 , v084 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte GOTO + .word mus_rg_guren_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_guren_8: + .byte KEYSH , mus_rg_guren_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 49*mus_rg_guren_mvl/mxv + .byte N02 , Cn5 , v120 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v120 + .byte W24 + .byte N02 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v044 + .byte W18 +mus_rg_guren_8_B1: + .byte N02 , Cn5 , v112 + .byte W06 + .byte Cn5 , v052 + .byte W06 + .byte Cn5 , v060 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v040 + .byte W12 + .byte Cn5 , v112 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte N01 , Cn5 , v084 + .byte W03 + .byte Cn5 , v048 + .byte W03 + .byte N01 + .byte W06 + .byte N02 , Cn5 , v064 + .byte W06 + .byte Cn5 , v052 + .byte W06 +mus_rg_guren_8_000: + .byte N02 , Cn5 , v112 + .byte W12 + .byte Cn5 , v036 + .byte W12 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v040 + .byte W12 + .byte Cn5 , v112 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v084 + .byte W24 + .byte PEND + .byte Cn5 , v112 + .byte W12 + .byte Cn5 , v036 + .byte W12 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v040 + .byte W12 + .byte Cn5 , v112 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte N01 , Cn5 , v084 + .byte W03 + .byte Cn5 , v052 + .byte W03 + .byte Cn5 , v048 + .byte W06 + .byte N02 , Cn5 , v064 + .byte W06 + .byte Cn5 , v052 + .byte W06 + .byte Cn5 , v112 + .byte W06 + .byte Cn5 , v064 + .byte W18 + .byte Cn5 , v112 + .byte W06 + .byte Cn5 , v064 + .byte W18 + .byte Cn5 , v112 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v056 + .byte W18 + .byte Cn5 , v112 + .byte W12 + .byte Cn5 , v036 + .byte W12 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v040 + .byte W12 + .byte Cn5 , v112 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte N01 , Cn5 , v084 + .byte W03 + .byte Cn5 , v052 + .byte W03 + .byte N01 + .byte W06 + .byte N02 , Cn5 , v064 + .byte W06 + .byte Cn5 , v052 + .byte W06 + .byte PATT + .word mus_rg_guren_8_000 + .byte N02 , Cn5 , v112 + .byte W12 + .byte Cn5 , v036 + .byte W12 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v040 + .byte W12 + .byte Cn5 , v112 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte N01 , Cn5 , v084 + .byte W03 + .byte Cn5 , v048 + .byte W03 + .byte N01 + .byte W06 + .byte N02 , Cn5 , v064 + .byte W06 + .byte Cn5 , v052 + .byte W06 + .byte Cn5 , v112 + .byte W12 + .byte Cn5 , v036 + .byte W12 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v040 + .byte W12 + .byte Cn5 , v112 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v056 + .byte W18 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v044 + .byte W18 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v052 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v052 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v052 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v052 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v052 + .byte W06 + .byte N02 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v052 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v044 + .byte W18 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v052 + .byte W06 + .byte N02 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W24 + .byte Cn5 , v112 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v052 + .byte W06 + .byte N02 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v044 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v044 + .byte W18 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v120 + .byte W24 + .byte N02 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v044 + .byte W18 + .byte GOTO + .word mus_rg_guren_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_guren_9: + .byte KEYSH , mus_rg_guren_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 49*mus_rg_guren_mvl/mxv + .byte W36 + .byte N12 , Gn5 , v096 + .byte W48 + .byte N12 + .byte W12 +mus_rg_guren_9_B1: + .byte W96 + .byte W84 + .byte N12 , Gn5 , v120 + .byte W12 + .byte W96 + .byte W12 + .byte Gn5 , v072 + .byte W24 + .byte N12 + .byte W48 + .byte Gn5 , v120 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte Cs5 , v096 + .byte W12 + .byte W96 + .byte W96 + .byte W12 + .byte Gn5 + .byte W72 + .byte N12 + .byte W12 + .byte W60 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte W36 + .byte N12 + .byte W48 + .byte N12 + .byte W12 + .byte GOTO + .word mus_rg_guren_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_guren: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_guren_pri @ Priority + .byte mus_rg_guren_rev @ Reverb. + + .word mus_rg_guren_grp + + .word mus_rg_guren_1 + .word mus_rg_guren_2 + .word mus_rg_guren_3 + .word mus_rg_guren_4 + .word mus_rg_guren_5 + .word mus_rg_guren_6 + .word mus_rg_guren_7 + .word mus_rg_guren_8 + .word mus_rg_guren_9 + + .end diff --git a/sound/songs/mus_rg_gym.s b/sound/songs/mus_rg_gym.s new file mode 100644 index 0000000000..5e6c95aa18 --- /dev/null +++ b/sound/songs/mus_rg_gym.s @@ -0,0 +1,1884 @@ + .include "MPlayDef.s" + + .equ mus_rg_gym_grp, voicegroup_86A21B8 + .equ mus_rg_gym_pri, 0 + .equ mus_rg_gym_rev, reverb_set+50 + .equ mus_rg_gym_mvl, 127 + .equ mus_rg_gym_key, 0 + .equ mus_rg_gym_tbs, 1 + .equ mus_rg_gym_exg, 0 + .equ mus_rg_gym_cmp, 1 + + .section .rodata + .global mus_rg_gym + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_gym_1: + .byte KEYSH , mus_rg_gym_key+0 +mus_rg_gym_1_B1: + .byte TEMPO , 128*mus_rg_gym_tbs/2 + .byte VOICE , 56 + .byte PAN , c_v+10 + .byte VOL , 90*mus_rg_gym_mvl/mxv + .byte BEND , c_v+0 + .byte N30 , En4 , v108 + .byte W15 + .byte MOD , 6 + .byte W03 + .byte VOL , 79*mus_rg_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_gym_mvl/mxv + .byte W03 + .byte 52*mus_rg_gym_mvl/mxv + .byte W03 + .byte 29*mus_rg_gym_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_rg_gym_mvl/mxv + .byte W06 + .byte 90*mus_rg_gym_mvl/mxv + .byte N06 , Bn3 + .byte W06 + .byte En4 + .byte W06 + .byte N30 , Dn4 + .byte W15 + .byte MOD , 6 + .byte W03 + .byte VOL , 79*mus_rg_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_gym_mvl/mxv + .byte W03 + .byte 52*mus_rg_gym_mvl/mxv + .byte W03 + .byte 29*mus_rg_gym_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_rg_gym_mvl/mxv + .byte W06 + .byte 90*mus_rg_gym_mvl/mxv + .byte N06 , Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N66 , Cs4 + .byte W24 + .byte W03 + .byte MOD , 6 + .byte W24 + .byte W03 + .byte VOL , 79*mus_rg_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_gym_mvl/mxv + .byte W03 + .byte 52*mus_rg_gym_mvl/mxv + .byte W03 + .byte 29*mus_rg_gym_mvl/mxv + .byte W03 + .byte 0*mus_rg_gym_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 90*mus_rg_gym_mvl/mxv + .byte N24 , Ds4 + .byte W24 + .byte N66 , En4 + .byte W24 + .byte MOD , 6 + .byte W30 + .byte VOL , 79*mus_rg_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_gym_mvl/mxv + .byte W03 + .byte 52*mus_rg_gym_mvl/mxv + .byte W03 + .byte 29*mus_rg_gym_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_rg_gym_mvl/mxv + .byte W06 + .byte 90*mus_rg_gym_mvl/mxv + .byte N06 , Bn3 + .byte W06 + .byte N18 , En4 + .byte W18 + .byte N06 , Fs4 + .byte W18 + .byte Dn4 + .byte W06 + .byte N66 + .byte W18 + .byte MOD , 6 + .byte W36 + .byte VOL , 79*mus_rg_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_gym_mvl/mxv + .byte W03 + .byte 52*mus_rg_gym_mvl/mxv + .byte W03 + .byte 29*mus_rg_gym_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_rg_gym_mvl/mxv + .byte W06 + .byte 90*mus_rg_gym_mvl/mxv + .byte N66 , En4 + .byte W30 + .byte MOD , 6 + .byte W24 + .byte VOL , 79*mus_rg_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_gym_mvl/mxv + .byte W03 + .byte 52*mus_rg_gym_mvl/mxv + .byte W03 + .byte 29*mus_rg_gym_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_rg_gym_mvl/mxv + .byte W06 + .byte 90*mus_rg_gym_mvl/mxv + .byte N06 , Bn3 + .byte W06 + .byte N18 , En4 + .byte W18 + .byte N06 , Dn4 + .byte W12 + .byte N06 + .byte W06 + .byte En4 + .byte W06 + .byte N66 , Fs4 + .byte W24 + .byte W03 + .byte MOD , 6 + .byte W24 + .byte W03 + .byte VOL , 79*mus_rg_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_gym_mvl/mxv + .byte W03 + .byte 52*mus_rg_gym_mvl/mxv + .byte W03 + .byte 29*mus_rg_gym_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_rg_gym_mvl/mxv + .byte W06 + .byte 90*mus_rg_gym_mvl/mxv + .byte N66 , Gs4 + .byte W30 + .byte MOD , 6 + .byte W24 + .byte VOL , 79*mus_rg_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_gym_mvl/mxv + .byte W03 + .byte 52*mus_rg_gym_mvl/mxv + .byte W03 + .byte 29*mus_rg_gym_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_rg_gym_mvl/mxv + .byte W06 + .byte 90*mus_rg_gym_mvl/mxv + .byte N06 , Fs4 + .byte W06 + .byte N18 , Gs4 + .byte W18 + .byte N12 , An4 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Dn5 + .byte W18 + .byte N06 , An4 + .byte W06 + .byte N24 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N66 , Gs4 + .byte W24 + .byte MOD , 6 + .byte W30 + .byte VOL , 79*mus_rg_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_gym_mvl/mxv + .byte W03 + .byte 52*mus_rg_gym_mvl/mxv + .byte W03 + .byte 29*mus_rg_gym_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_rg_gym_mvl/mxv + .byte W06 + .byte 90*mus_rg_gym_mvl/mxv + .byte N06 , Fs4 + .byte W06 + .byte N18 , Gs4 + .byte W18 + .byte N12 , An4 + .byte W12 + .byte N06 , Fs4 + .byte W06 + .byte An4 + .byte W06 + .byte N48 , Dn5 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , Cs5 , v112 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte VOICE , 60 + .byte MOD , 0 + .byte N36 , Bn2 , v108 + .byte W36 + .byte En3 + .byte W36 + .byte N24 , Bn2 + .byte W24 + .byte Dn3 + .byte W24 + .byte Cs3 + .byte W24 + .byte Bn2 + .byte W24 + .byte An2 + .byte W24 + .byte N06 , Gs2 + .byte W12 + .byte N06 + .byte W06 + .byte An2 + .byte W06 + .byte N30 , Bn2 + .byte W36 + .byte N12 + .byte W12 + .byte N06 , En3 + .byte W06 + .byte N18 , Bn2 + .byte W18 + .byte N24 , Dn3 + .byte W24 + .byte Cn3 + .byte W24 + .byte Bn2 + .byte W24 + .byte An2 + .byte W24 + .byte VOICE , 48 + .byte N36 , Bn4 , v096 + .byte W36 + .byte En5 + .byte W36 + .byte N24 , Bn4 + .byte W24 + .byte Dn5 + .byte W24 + .byte Cs5 + .byte W24 + .byte Bn4 + .byte W24 + .byte An4 + .byte W24 + .byte N06 , Gs4 + .byte W12 + .byte N06 + .byte W06 + .byte An4 + .byte W06 + .byte N24 , Bn4 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Cs5 + .byte W06 + .byte N24 , Dn5 + .byte W24 + .byte N06 , En5 + .byte W12 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte N48 , Gs5 + .byte W48 + .byte N24 , Fs5 + .byte W24 + .byte GOTO + .word mus_rg_gym_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_gym_2: + .byte VOL , 90*mus_rg_gym_mvl/mxv + .byte KEYSH , mus_rg_gym_key+0 +mus_rg_gym_2_B1: + .byte VOICE , 87 + .byte N12 , En2 , v080 + .byte W12 + .byte N03 , En1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Bn1 + .byte W06 + .byte En2 + .byte W06 + .byte N12 , Dn2 + .byte W12 + .byte N03 , Dn1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Bn1 + .byte W06 + .byte Dn2 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte N03 , Cs1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte Cs2 + .byte W06 + .byte N09 , Bn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N21 + .byte W24 +mus_rg_gym_2_000: + .byte N06 , En1 , v080 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N18 + .byte W18 + .byte PEND +mus_rg_gym_2_001: + .byte N06 , Dn1 , v080 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N18 + .byte W18 + .byte PEND + .byte PATT + .word mus_rg_gym_2_000 + .byte N06 , Dn1 , v080 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte An1 + .byte W12 + .byte Dn1 + .byte W06 + .byte N18 , Fs1 + .byte W18 + .byte PATT + .word mus_rg_gym_2_000 + .byte PATT + .word mus_rg_gym_2_001 + .byte PATT + .word mus_rg_gym_2_000 + .byte N06 , Dn1 , v080 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte Fs1 + .byte W12 + .byte En1 + .byte W06 + .byte N18 , An1 + .byte W18 + .byte PATT + .word mus_rg_gym_2_000 + .byte PATT + .word mus_rg_gym_2_001 + .byte N06 , Cs1 , v080 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte En1 + .byte W06 + .byte N18 , Cs1 + .byte W18 + .byte N48 , Cn1 + .byte W48 + .byte Dn1 + .byte W48 + .byte N06 , En1 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W24 + .byte N24 + .byte W24 + .byte N06 , Dn1 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W24 + .byte N06 , Fs1 + .byte W06 + .byte N18 , An1 + .byte W18 + .byte N06 , Gs1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N21 + .byte W24 + .byte N06 , Fs1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N21 + .byte W24 + .byte N06 , En1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N21 + .byte W24 + .byte Ds1 + .byte W24 + .byte N06 , Fs1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Ds2 + .byte W06 + .byte GOTO + .word mus_rg_gym_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_gym_3: + .byte KEYSH , mus_rg_gym_key+0 +mus_rg_gym_3_B1: + .byte VOICE , 85 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v+48 + .byte VOL , 90*mus_rg_gym_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Gs3 , v064 + .byte W12 + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte Fs3 + .byte W12 + .byte N03 , Fs2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte En3 + .byte W12 + .byte N03 , En2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte VOICE , 81 + .byte VOL , 55*mus_rg_gym_mvl/mxv + .byte N12 , Fs3 + .byte W06 + .byte VOL , 59*mus_rg_gym_mvl/mxv + .byte W03 + .byte 61*mus_rg_gym_mvl/mxv + .byte W03 + .byte VOICE , 88 + .byte VOL , 65*mus_rg_gym_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 70*mus_rg_gym_mvl/mxv + .byte W06 + .byte 75*mus_rg_gym_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 80*mus_rg_gym_mvl/mxv + .byte W03 + .byte 86*mus_rg_gym_mvl/mxv + .byte W03 + .byte 90*mus_rg_gym_mvl/mxv + .byte N12 + .byte W12 + .byte VOICE , 81 + .byte N12 , En3 , v052 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W12 + .byte MOD , 3 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 81 + .byte MOD , 0 + .byte N06 , Gs2 + .byte W12 + .byte En2 + .byte W12 + .byte N03 , Gs2 + .byte W06 + .byte N18 , Bn2 + .byte W18 +mus_rg_gym_3_000: + .byte N12 , Dn3 , v052 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W12 + .byte MOD , 3 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 81 + .byte MOD , 0 + .byte N06 , Fs3 + .byte W12 + .byte N12 , An2 + .byte W12 + .byte N06 , Dn3 + .byte W06 + .byte N18 , Fs3 + .byte W18 + .byte PEND +mus_rg_gym_3_001: + .byte N12 , En3 , v052 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W12 + .byte MOD , 3 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 81 + .byte MOD , 0 + .byte N06 , Gs2 + .byte W12 + .byte En2 + .byte W12 + .byte N03 , Gs2 + .byte W06 + .byte N18 , Bn2 + .byte W18 + .byte PEND + .byte PATT + .word mus_rg_gym_3_000 + .byte PATT + .word mus_rg_gym_3_001 + .byte N12 , Dn3 , v052 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W12 + .byte MOD , 3 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 81 + .byte MOD , 0 + .byte N12 , Fs3 + .byte W18 + .byte N06 , Dn3 + .byte W06 + .byte N24 + .byte W24 + .byte PATT + .word mus_rg_gym_3_001 + .byte N12 , Dn3 , v052 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W12 + .byte MOD , 3 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 81 + .byte MOD , 0 + .byte N24 , Fs3 + .byte W24 + .byte An2 + .byte W24 + .byte BEND , c_v-4 + .byte W96 + .byte W96 + .byte W60 + .byte c_v+0 + .byte W12 + .byte VOICE , 85 + .byte PAN , c_v+0 + .byte N06 , Gs3 , v064 + .byte W06 + .byte N18 , En3 + .byte W18 + .byte N12 + .byte W03 + .byte VOL , 79*mus_rg_gym_mvl/mxv + .byte W03 + .byte 55*mus_rg_gym_mvl/mxv + .byte W05 + .byte 59*mus_rg_gym_mvl/mxv + .byte W01 + .byte VOICE , 89 + .byte N12 + .byte W04 + .byte VOL , 63*mus_rg_gym_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte W03 + .byte VOL , 67*mus_rg_gym_mvl/mxv + .byte W03 + .byte N12 + .byte W02 + .byte VOL , 70*mus_rg_gym_mvl/mxv + .byte W05 + .byte 74*mus_rg_gym_mvl/mxv + .byte W05 + .byte 78*mus_rg_gym_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 82*mus_rg_gym_mvl/mxv + .byte W07 + .byte VOICE , 85 + .byte VOL , 90*mus_rg_gym_mvl/mxv + .byte MOD , 0 + .byte N12 , Fs3 + .byte W03 + .byte VOL , 79*mus_rg_gym_mvl/mxv + .byte W03 + .byte 55*mus_rg_gym_mvl/mxv + .byte W05 + .byte 59*mus_rg_gym_mvl/mxv + .byte W01 + .byte VOICE , 89 + .byte N12 + .byte W03 + .byte MOD , 6 + .byte W01 + .byte VOL , 63*mus_rg_gym_mvl/mxv + .byte W05 + .byte 67*mus_rg_gym_mvl/mxv + .byte W03 + .byte N12 + .byte W02 + .byte VOL , 70*mus_rg_gym_mvl/mxv + .byte W05 + .byte 74*mus_rg_gym_mvl/mxv + .byte W05 + .byte 78*mus_rg_gym_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 82*mus_rg_gym_mvl/mxv + .byte W07 + .byte VOICE , 85 + .byte VOL , 89*mus_rg_gym_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v+47 + .byte N12 , Bn3 , v060 + .byte W12 + .byte N03 , Bn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , En3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W12 + .byte N06 + .byte W12 + .byte En3 + .byte W06 + .byte N18 , Gs3 + .byte W18 + .byte N12 , An3 + .byte W12 + .byte N03 , An2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Dn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W12 + .byte N06 + .byte W12 + .byte Fs3 + .byte W06 + .byte N18 , An3 + .byte W18 + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte BEND , c_v+5 + .byte N06 , Gs2 , v088 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte PAN , c_v+48 + .byte BEND , c_v-2 + .byte N06 , En5 , v052 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v+5 + .byte N06 , Fs2 , v088 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte PAN , c_v-47 + .byte BEND , c_v-2 + .byte N06 , Dn5 , v052 + .byte W06 + .byte Bn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v+5 + .byte N06 , En2 , v088 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte PAN , c_v+48 + .byte BEND , c_v-2 + .byte N06 , Bn4 , v052 + .byte W06 + .byte Gs4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v+5 + .byte N12 , Ds2 , v088 + .byte W30 + .byte PAN , c_v-47 + .byte BEND , c_v-2 + .byte N06 , Bn3 , v052 + .byte W06 + .byte Fs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte GOTO + .word mus_rg_gym_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_gym_4: + .byte KEYSH , mus_rg_gym_key+0 +mus_rg_gym_4_B1: + .byte VOICE , 84 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v-48 + .byte VOL , 90*mus_rg_gym_mvl/mxv + .byte N12 , Bn3 , v064 + .byte W12 + .byte N03 , Bn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte An3 + .byte W12 + .byte N03 , An2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte An3 + .byte W12 + .byte N03 , An2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte VOICE , 80 + .byte VOL , 55*mus_rg_gym_mvl/mxv + .byte N48 , An3 + .byte W06 + .byte VOL , 59*mus_rg_gym_mvl/mxv + .byte W03 + .byte MOD , 6 + .byte VOL , 61*mus_rg_gym_mvl/mxv + .byte W03 + .byte 65*mus_rg_gym_mvl/mxv + .byte W06 + .byte 70*mus_rg_gym_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 75*mus_rg_gym_mvl/mxv + .byte W06 + .byte 80*mus_rg_gym_mvl/mxv + .byte W03 + .byte 86*mus_rg_gym_mvl/mxv + .byte W03 + .byte MOD , 6 + .byte VOL , 90*mus_rg_gym_mvl/mxv + .byte W12 +mus_rg_gym_4_000: + .byte N48 , Gs3 , v052 + .byte W24 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N06 , Bn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte N03 , Bn2 + .byte W06 + .byte N18 , En3 + .byte W18 + .byte PEND +mus_rg_gym_4_001: + .byte N48 , Fs3 , v052 + .byte W24 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N06 , An3 + .byte W12 + .byte N12 , Dn3 + .byte W12 + .byte N06 , Fs3 + .byte W06 + .byte N18 , An3 + .byte W18 + .byte PEND + .byte PATT + .word mus_rg_gym_4_000 + .byte PATT + .word mus_rg_gym_4_001 + .byte PATT + .word mus_rg_gym_4_000 + .byte N48 , Fs3 , v052 + .byte W24 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N12 , An3 + .byte W18 + .byte N06 , Fs3 + .byte W06 + .byte N24 + .byte W24 + .byte PATT + .word mus_rg_gym_4_000 + .byte N48 , Fs3 , v052 + .byte W24 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N24 , An3 + .byte W24 + .byte En3 + .byte W24 + .byte W96 + .byte W96 + .byte W72 + .byte VOICE , 84 + .byte PAN , c_v+0 + .byte N06 , Bn3 , v064 + .byte W06 + .byte N18 , Gs3 + .byte W18 + .byte N48 , Gn3 + .byte W03 + .byte VOL , 79*mus_rg_gym_mvl/mxv + .byte W03 + .byte 55*mus_rg_gym_mvl/mxv + .byte W05 + .byte 59*mus_rg_gym_mvl/mxv + .byte W05 + .byte 63*mus_rg_gym_mvl/mxv + .byte W05 + .byte 67*mus_rg_gym_mvl/mxv + .byte W05 + .byte 70*mus_rg_gym_mvl/mxv + .byte W05 + .byte 74*mus_rg_gym_mvl/mxv + .byte W05 + .byte 78*mus_rg_gym_mvl/mxv + .byte W05 + .byte 82*mus_rg_gym_mvl/mxv + .byte W07 + .byte 90*mus_rg_gym_mvl/mxv + .byte N48 , An3 + .byte W03 + .byte VOL , 79*mus_rg_gym_mvl/mxv + .byte W03 + .byte 55*mus_rg_gym_mvl/mxv + .byte W05 + .byte 59*mus_rg_gym_mvl/mxv + .byte W05 + .byte 63*mus_rg_gym_mvl/mxv + .byte W05 + .byte 67*mus_rg_gym_mvl/mxv + .byte W05 + .byte 70*mus_rg_gym_mvl/mxv + .byte W05 + .byte 74*mus_rg_gym_mvl/mxv + .byte W05 + .byte 78*mus_rg_gym_mvl/mxv + .byte W05 + .byte 82*mus_rg_gym_mvl/mxv + .byte W07 + .byte VOICE , 84 + .byte PAN , c_v+0 + .byte VOL , 89*mus_rg_gym_mvl/mxv + .byte N12 , En4 , v060 + .byte W12 + .byte N03 , En3 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-49 + .byte W06 + .byte c_v+0 + .byte N06 + .byte W06 + .byte PAN , c_v-49 + .byte W06 + .byte c_v+0 + .byte N06 , Bn3 + .byte W06 + .byte N18 , En4 + .byte W18 + .byte N12 , Dn4 + .byte W12 + .byte N03 , Dn3 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte PAN , c_v-48 + .byte W06 + .byte c_v+0 + .byte N06 + .byte W06 + .byte PAN , c_v-49 + .byte W06 + .byte c_v-1 + .byte N06 , An3 + .byte W06 + .byte N18 , Dn4 + .byte W18 + .byte VOICE , 80 + .byte N06 , En3 , v072 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , En5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+1 + .byte N06 , Dn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Bn2 + .byte W06 + .byte En3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte PAN , c_v-47 + .byte N06 , Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte En4 + .byte W06 + .byte Bn3 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Bn2 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Bn3 + .byte W06 + .byte Fs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Ds5 + .byte W06 + .byte GOTO + .word mus_rg_gym_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_gym_5: + .byte VOL , 90*mus_rg_gym_mvl/mxv + .byte KEYSH , mus_rg_gym_key+0 +mus_rg_gym_5_B1: + .byte PAN , c_v+15 + .byte W96 + .byte W96 + .byte VOICE , 56 + .byte W96 + .byte W96 + .byte W96 + .byte W42 + .byte N03 , Bn3 , v092 + .byte W03 + .byte Cs4 + .byte W03 + .byte N09 , Dn4 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte Dn4 + .byte W06 + .byte N18 , Cs4 + .byte W18 + .byte N48 , Bn3 + .byte W30 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N06 , En4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W06 + .byte N18 , En4 + .byte W18 + .byte N12 , Dn4 + .byte W18 + .byte N06 , An3 + .byte W06 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , An4 + .byte W18 + .byte N06 , Dn4 + .byte W06 + .byte N24 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N06 , Bn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte As3 + .byte W06 + .byte N18 , Bn3 + .byte W09 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N06 , En4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W06 + .byte N18 , En4 + .byte W09 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N12 , Fs4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N48 , An4 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte VOICE , 48 + .byte MOD , 0 + .byte N06 , Bn3 , v044 + .byte W12 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W12 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W12 + .byte Bn3 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte An3 + .byte W12 + .byte Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W12 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W12 + .byte An3 + .byte W06 + .byte N12 , Dn4 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte Gs3 + .byte W12 + .byte En4 , v048 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W12 + .byte N12 , En4 , v076 + .byte W12 + .byte N06 , Gs4 + .byte W06 + .byte N18 , Bn4 + .byte W18 + .byte N48 , Cn5 , v112 + .byte W03 + .byte VOL , 79*mus_rg_gym_mvl/mxv + .byte W03 + .byte 55*mus_rg_gym_mvl/mxv + .byte W05 + .byte 59*mus_rg_gym_mvl/mxv + .byte W05 + .byte 63*mus_rg_gym_mvl/mxv + .byte W05 + .byte 67*mus_rg_gym_mvl/mxv + .byte W05 + .byte 70*mus_rg_gym_mvl/mxv + .byte W05 + .byte 74*mus_rg_gym_mvl/mxv + .byte W05 + .byte 78*mus_rg_gym_mvl/mxv + .byte W05 + .byte 82*mus_rg_gym_mvl/mxv + .byte W07 + .byte 90*mus_rg_gym_mvl/mxv + .byte N48 , Dn5 + .byte W03 + .byte VOL , 79*mus_rg_gym_mvl/mxv + .byte W03 + .byte 55*mus_rg_gym_mvl/mxv + .byte W05 + .byte 59*mus_rg_gym_mvl/mxv + .byte W05 + .byte 63*mus_rg_gym_mvl/mxv + .byte W05 + .byte 67*mus_rg_gym_mvl/mxv + .byte W05 + .byte 70*mus_rg_gym_mvl/mxv + .byte W05 + .byte 74*mus_rg_gym_mvl/mxv + .byte W05 + .byte 78*mus_rg_gym_mvl/mxv + .byte W05 + .byte 82*mus_rg_gym_mvl/mxv + .byte W07 + .byte 89*mus_rg_gym_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_gym_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_gym_6: + .byte VOL , 90*mus_rg_gym_mvl/mxv + .byte KEYSH , mus_rg_gym_key+0 +mus_rg_gym_6_B1: + .byte VOICE , 47 + .byte PAN , c_v-17 + .byte BEND , c_v+0 + .byte N12 , En2 , v116 + .byte W18 + .byte N06 , Bn1 + .byte W06 + .byte N12 , En2 , v127 + .byte W24 + .byte Dn2 , v116 + .byte W18 + .byte N06 , An1 + .byte W06 + .byte N12 , Dn2 , v127 + .byte W24 + .byte Cs2 , v116 + .byte W18 + .byte N06 , An1 + .byte W06 + .byte N12 , Cs2 , v127 + .byte W24 + .byte Cs2 , v116 + .byte W24 + .byte N06 , Ds2 , v127 + .byte W06 + .byte N18 + .byte W18 + .byte N12 , En2 + .byte W72 + .byte N06 , En2 , v088 + .byte W06 + .byte N12 , Bn1 + .byte W18 +mus_rg_gym_6_000: + .byte N12 , Dn2 , v100 + .byte W48 + .byte N12 + .byte W24 + .byte N06 , Dn2 , v088 + .byte W06 + .byte N12 , An1 + .byte W18 + .byte PEND +mus_rg_gym_6_001: + .byte N12 , En2 , v100 + .byte W72 + .byte N06 , En2 , v088 + .byte W06 + .byte N12 , Bn1 + .byte W18 + .byte PEND + .byte PATT + .word mus_rg_gym_6_000 + .byte PATT + .word mus_rg_gym_6_001 + .byte PATT + .word mus_rg_gym_6_000 + .byte PATT + .word mus_rg_gym_6_001 + .byte N12 , Dn2 , v100 + .byte W48 + .byte Dn2 , v088 + .byte W24 + .byte N06 + .byte W06 + .byte N12 , Cs2 + .byte W18 + .byte En2 , v127 + .byte W96 + .byte W96 + .byte W72 + .byte N06 , En2 , v112 + .byte W06 + .byte N12 , Bn1 + .byte W18 + .byte Cn2 , v127 + .byte W36 + .byte N06 , Cn2 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Dn2 + .byte W24 + .byte N06 , Dn2 , v127 + .byte W06 + .byte N18 + .byte W18 + .byte N12 , En2 + .byte W72 + .byte N06 , Bn1 , v076 + .byte W06 + .byte N12 , En2 , v100 + .byte W18 + .byte Dn2 + .byte W72 + .byte N06 , An1 , v076 + .byte W06 + .byte N12 , Dn2 , v100 + .byte W18 + .byte En2 + .byte W18 + .byte N06 , Bn1 + .byte W06 + .byte N12 , En2 , v112 + .byte W24 + .byte Dn2 , v100 + .byte W18 + .byte N06 , Bn1 + .byte W06 + .byte N12 , Dn2 , v112 + .byte W24 + .byte Bn1 , v100 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Bn1 , v112 + .byte W24 + .byte N06 , Dn2 + .byte W06 + .byte Bn1 , v064 + .byte W06 + .byte Dn2 , v072 + .byte W06 + .byte Bn1 , v080 + .byte W06 + .byte Dn2 , v092 + .byte W06 + .byte Bn1 , v100 + .byte W06 + .byte Dn2 , v108 + .byte W06 + .byte Bn1 , v116 + .byte W06 + .byte GOTO + .word mus_rg_gym_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_gym_7: + .byte KEYSH , mus_rg_gym_key+0 +mus_rg_gym_7_B1: + .byte VOICE , 0 + .byte VOL , 90*mus_rg_gym_mvl/mxv + .byte N06 , En1 , v112 + .byte N48 , Bn2 , v092 + .byte W12 + .byte N06 , En1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte N48 , Bn2 , v092 + .byte W12 + .byte N06 , En1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte N03 , En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte N48 , Bn2 , v092 + .byte W06 + .byte N06 , En1 , v080 + .byte W06 + .byte En1 , v100 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte En1 , v092 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte N03 , En1 , v112 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte N48 , Bn2 , v092 + .byte W18 + .byte N06 , En1 , v080 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v080 + .byte W12 + .byte En1 , v088 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte N03 , En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 +mus_rg_gym_7_000: + .byte N06 , En1 , v112 + .byte W18 + .byte En1 , v080 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v080 + .byte W12 + .byte En1 , v088 + .byte W12 + .byte N03 , En1 , v112 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND +mus_rg_gym_7_001: + .byte N06 , En1 , v112 + .byte W18 + .byte En1 , v080 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v080 + .byte W12 + .byte En1 , v088 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte N03 , En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_gym_7_000 + .byte PATT + .word mus_rg_gym_7_001 + .byte PATT + .word mus_rg_gym_7_000 + .byte PATT + .word mus_rg_gym_7_001 + .byte PATT + .word mus_rg_gym_7_000 + .byte N48 , Bn2 , v092 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte N03 , En1 , v076 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte En1 , v052 + .byte W03 + .byte En1 , v056 + .byte W03 + .byte En1 , v060 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte En1 , v072 + .byte W03 + .byte En1 , v080 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v088 + .byte W03 + .byte En1 , v092 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v100 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte N06 , En1 , v112 + .byte N48 , Bn2 , v092 + .byte W12 + .byte N06 , En1 , v112 + .byte W24 + .byte En1 , v088 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W24 + .byte N03 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W24 + .byte En1 , v088 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte En1 , v096 + .byte W12 + .byte En1 , v112 + .byte N48 , Bn2 , v092 + .byte W12 + .byte N06 , En1 , v088 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte N48 , Bn2 , v092 + .byte W03 + .byte N03 , En1 , v084 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte En1 , v112 + .byte N48 , Bn2 , v092 + .byte W12 + .byte N06 , En1 , v108 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte N03 , En1 , v112 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte En1 , v052 + .byte W03 + .byte En1 , v056 + .byte W03 + .byte En1 , v060 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte En1 , v072 + .byte N24 , Bn2 , v092 + .byte W03 + .byte N03 , En1 , v080 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v088 + .byte W03 + .byte En1 , v092 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v100 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte GOTO + .word mus_rg_gym_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_gym: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_gym_pri @ Priority + .byte mus_rg_gym_rev @ Reverb. + + .word mus_rg_gym_grp + + .word mus_rg_gym_1 + .word mus_rg_gym_2 + .word mus_rg_gym_3 + .word mus_rg_gym_4 + .word mus_rg_gym_5 + .word mus_rg_gym_6 + .word mus_rg_gym_7 + + .end diff --git a/sound/songs/mus_rg_hanada.s b/sound/songs/mus_rg_hanada.s new file mode 100644 index 0000000000..e28f619c87 --- /dev/null +++ b/sound/songs/mus_rg_hanada.s @@ -0,0 +1,1827 @@ + .include "MPlayDef.s" + + .equ mus_rg_hanada_grp, voicegroup_86AD138 + .equ mus_rg_hanada_pri, 0 + .equ mus_rg_hanada_rev, reverb_set+50 + .equ mus_rg_hanada_mvl, 127 + .equ mus_rg_hanada_key, 0 + .equ mus_rg_hanada_tbs, 1 + .equ mus_rg_hanada_exg, 0 + .equ mus_rg_hanada_cmp, 1 + + .section .rodata + .global mus_rg_hanada + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_hanada_1: + .byte KEYSH , mus_rg_hanada_key+0 + .byte TEMPO , 120*mus_rg_hanada_tbs/2 + .byte VOICE , 17 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_hanada_mvl/mxv + .byte N12 , Fn5 , v084 + .byte W12 + .byte N03 , En5 + .byte W12 + .byte N12 , Dn5 + .byte W12 + .byte N03 , Cn5 + .byte W12 + .byte N12 , As4 + .byte W12 + .byte N03 , Cn5 + .byte W12 + .byte N12 , Dn5 + .byte W12 + .byte N03 , En5 + .byte W12 +mus_rg_hanada_1_B1: + .byte N36 , Fn5 , v084 + .byte W09 + .byte MOD , 6 + .byte W24 + .byte W03 + .byte 0 + .byte N06 + .byte W06 + .byte Cn5 + .byte W06 + .byte N12 , Dn5 + .byte W12 + .byte En5 + .byte W12 + .byte N06 , Fn5 + .byte W06 + .byte Gn5 + .byte W06 + .byte An5 + .byte W06 + .byte As5 + .byte W06 + .byte N36 , An5 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte N06 , As5 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N06 , An5 + .byte W06 + .byte N84 , Gn5 + .byte W12 + .byte VOL , 79*mus_rg_hanada_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 68*mus_rg_hanada_mvl/mxv + .byte W12 + .byte 56*mus_rg_hanada_mvl/mxv + .byte W12 + .byte 45*mus_rg_hanada_mvl/mxv + .byte W12 + .byte 34*mus_rg_hanada_mvl/mxv + .byte W12 + .byte 22*mus_rg_hanada_mvl/mxv + .byte W12 + .byte 90*mus_rg_hanada_mvl/mxv + .byte MOD , 0 + .byte N06 , Fn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte N12 , Dn5 + .byte W12 + .byte En5 + .byte W12 + .byte N06 , Fn5 + .byte W06 + .byte Gn5 + .byte W06 + .byte An5 + .byte W06 + .byte As5 + .byte W06 + .byte N36 , An5 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte N06 , Gn5 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N06 , An5 + .byte W06 + .byte N84 , Cn6 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_hanada_mvl/mxv + .byte W12 + .byte 68*mus_rg_hanada_mvl/mxv + .byte W12 + .byte 56*mus_rg_hanada_mvl/mxv + .byte W12 + .byte 45*mus_rg_hanada_mvl/mxv + .byte W12 + .byte 34*mus_rg_hanada_mvl/mxv + .byte W12 + .byte VOICE , 24 + .byte MOD , 0 + .byte VOL , 64*mus_rg_hanada_mvl/mxv + .byte N06 , Fn4 , v127 + .byte W06 + .byte Cn4 + .byte W06 + .byte N03 , Dn4 + .byte W12 + .byte N12 , En4 + .byte W12 + .byte N06 , Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte N36 , An4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte N06 , As4 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte N48 , Gn4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte W03 + .byte 0 + .byte W09 + .byte N03 , An3 , v112 + .byte W06 + .byte An3 , v092 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v096 + .byte W06 + .byte An3 , v108 + .byte W12 + .byte N06 , Fn4 , v127 + .byte W06 + .byte Cn4 + .byte W06 + .byte N03 , Dn4 + .byte W12 + .byte N12 , En4 + .byte W12 + .byte N06 , Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte N36 , An4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte N06 , Fn4 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte N48 , Cn5 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N06 , Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , An4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Cn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte N06 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N12 , An4 + .byte W12 + .byte N06 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N48 , Cn5 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Fn3 + .byte W12 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte N24 , Cn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , An3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , As3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N48 , Cn4 + .byte W12 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte N48 + .byte W12 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte N24 , An3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , En4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , En4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOICE , 17 + .byte VOL , 90*mus_rg_hanada_mvl/mxv + .byte MOD , 0 + .byte N06 , Fn5 , v084 + .byte W12 + .byte N03 , En5 + .byte W03 + .byte Fn5 , v068 + .byte W03 + .byte N06 , En5 + .byte W06 + .byte Dn5 , v084 + .byte W12 + .byte N12 , En5 + .byte W12 + .byte GOTO + .word mus_rg_hanada_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_hanada_2: + .byte KEYSH , mus_rg_hanada_key+0 + .byte VOICE , 21 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+32 + .byte VOL , 47*mus_rg_hanada_mvl/mxv + .byte W48 + .byte N12 , Fn4 , v127 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 +mus_rg_hanada_2_B1: + .byte N12 , Cn4 , v127 + .byte W96 + .byte N24 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte N06 , En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N48 , An3 + .byte W12 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte N48 , Fn3 + .byte W12 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte N12 , Cn4 + .byte W12 + .byte As3 , v120 + .byte W12 + .byte An3 , v127 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N36 , Cn4 , v120 + .byte W12 + .byte VOL , 34*mus_rg_hanada_mvl/mxv + .byte MOD , 5 + .byte W12 + .byte VOL , 23*mus_rg_hanada_mvl/mxv + .byte W12 + .byte 11*mus_rg_hanada_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte VOL , 47*mus_rg_hanada_mvl/mxv + .byte W48 + .byte N24 , Dn4 , v127 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Cn4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Fn3 , v112 + .byte W06 + .byte Fn3 , v096 + .byte W06 + .byte Fn3 , v108 + .byte W06 + .byte Fn3 , v096 + .byte W06 + .byte Fn3 , v112 + .byte W24 + .byte N48 , An3 , v127 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , As3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W24 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W24 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , En4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Fn3 + .byte W36 + .byte Gn3 + .byte W36 + .byte As3 + .byte W24 + .byte Cn4 + .byte W96 + .byte W96 + .byte W96 + .byte N96 , Fn3 + .byte W12 + .byte MOD , 6 + .byte W84 + .byte 0 + .byte N48 , Gn3 + .byte W12 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte N24 , An3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte GOTO + .word mus_rg_hanada_2_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_hanada_3: + .byte KEYSH , mus_rg_hanada_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 24*mus_rg_hanada_mvl/mxv + .byte W96 +mus_rg_hanada_3_B1: + .byte PAN , c_v-64 + .byte VOL , 24*mus_rg_hanada_mvl/mxv + .byte N12 , Fn3 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N01 , An3 + .byte W12 + .byte N12 , Fn3 + .byte W12 + .byte PAN , c_v-64 + .byte N01 , An3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Fn3 + .byte W12 + .byte PAN , c_v+63 + .byte N01 , An3 + .byte W12 + .byte N12 , Fn3 + .byte W12 + .byte PAN , c_v-64 + .byte N01 , An3 + .byte W12 +mus_rg_hanada_3_000: + .byte N12 , Gn3 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , As3 + .byte W12 + .byte N12 , Gn3 + .byte W12 + .byte PAN , c_v-64 + .byte N03 , As3 + .byte W12 + .byte N12 , Cn4 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , As3 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte PAN , c_v-64 + .byte N03 , Gn3 + .byte W12 + .byte PEND +mus_rg_hanada_3_001: + .byte N12 , Fn3 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , An3 + .byte W12 + .byte N12 , Fn3 + .byte W12 + .byte PAN , c_v-64 + .byte N03 , An3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Fn3 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , An3 + .byte W12 + .byte N12 , Fn3 + .byte W12 + .byte PAN , c_v-64 + .byte N03 , An3 + .byte W12 + .byte PEND + .byte N12 , Fn3 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , An3 + .byte W12 + .byte N12 , Gn3 + .byte W12 + .byte PAN , c_v-64 + .byte N03 , As3 + .byte W12 + .byte N12 , Cn4 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , As3 + .byte W12 + .byte N12 , Gn3 + .byte W12 + .byte PAN , c_v-64 + .byte N03 , En3 + .byte W12 + .byte PATT + .word mus_rg_hanada_3_001 + .byte PATT + .word mus_rg_hanada_3_000 + .byte VOL , 22*mus_rg_hanada_mvl/mxv + .byte N12 , Fn3 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , An3 + .byte W12 + .byte N12 , Fn3 + .byte W12 + .byte PAN , c_v-64 + .byte N03 , An3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Fn3 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , An3 + .byte W12 + .byte N12 , Fn3 + .byte W12 + .byte PAN , c_v-64 + .byte N03 , An3 + .byte W12 + .byte PATT + .word mus_rg_hanada_3_000 + .byte N12 , Fn3 , v127 + .byte W12 + .byte N03 , An3 + .byte W12 + .byte N12 , Fn3 + .byte W24 + .byte PAN , c_v+63 + .byte N24 + .byte W24 + .byte An3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte N03 , As3 + .byte W12 + .byte N12 , Gn3 + .byte W24 + .byte PAN , c_v-64 + .byte N24 + .byte W24 + .byte As3 + .byte W24 + .byte N12 , Dn3 + .byte W36 + .byte PAN , c_v+63 + .byte N12 , Fn3 + .byte W36 + .byte PAN , c_v-64 + .byte N12 , An3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W60 + .byte PAN , c_v+63 + .byte N12 , As3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Fn3 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , An3 + .byte W12 + .byte N12 , Fn3 + .byte W12 + .byte PAN , c_v-64 + .byte N03 , An3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Fn3 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , An3 + .byte W12 + .byte N12 , Fn3 + .byte W12 + .byte PAN , c_v-64 + .byte N03 , An3 + .byte W12 + .byte PATT + .word mus_rg_hanada_3_000 + .byte PATT + .word mus_rg_hanada_3_001 + .byte PATT + .word mus_rg_hanada_3_000 + .byte GOTO + .word mus_rg_hanada_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_hanada_4: + .byte KEYSH , mus_rg_hanada_key+0 + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 48*mus_rg_hanada_mvl/mxv + .byte W96 +mus_rg_hanada_4_B1: + .byte VOICE , 81 + .byte N06 , Fn1 , v120 + .byte W42 + .byte N03 + .byte W06 + .byte N06 + .byte W36 + .byte N12 , En1 + .byte W12 + .byte N06 , Gn1 + .byte W42 + .byte N03 , Cn1 + .byte W06 + .byte Cn2 + .byte W12 + .byte N12 , Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 , Fn1 + .byte W42 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , An1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N03 , En1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Gn1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N12 + .byte W12 + .byte N03 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte N06 , Fn1 + .byte W42 + .byte N03 + .byte W06 + .byte N06 + .byte W36 + .byte N12 , En1 + .byte W12 + .byte N06 , Gn1 + .byte W42 + .byte N03 , Cn1 + .byte W06 + .byte Cn2 + .byte W12 + .byte N12 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 , Dn1 + .byte W18 + .byte N03 , Fn1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W36 + .byte As1 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N12 + .byte W12 + .byte BEND , c_v+0 + .byte N24 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte W12 + .byte N06 , Fn2 + .byte W12 + .byte An1 + .byte W12 + .byte N12 , Fn1 + .byte W24 + .byte N24 + .byte W24 + .byte An1 + .byte W06 + .byte BEND , c_v+5 + .byte W06 + .byte c_v+0 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte As1 + .byte W12 + .byte N12 , Gn1 + .byte W24 + .byte N03 + .byte W12 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn2 + .byte W36 + .byte As1 + .byte W36 + .byte Gn1 + .byte W24 + .byte N18 , Cn1 + .byte W18 + .byte N03 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N36 + .byte W12 + .byte VOL , 34*mus_rg_hanada_mvl/mxv + .byte W06 + .byte 22*mus_rg_hanada_mvl/mxv + .byte W06 + .byte 17*mus_rg_hanada_mvl/mxv + .byte W06 + .byte 11*mus_rg_hanada_mvl/mxv + .byte W06 + .byte VOICE , 82 + .byte VOL , 48*mus_rg_hanada_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+1 + .byte N48 , Fn5 , v048 + .byte W12 + .byte VOL , 34*mus_rg_hanada_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 22*mus_rg_hanada_mvl/mxv + .byte W12 + .byte 11*mus_rg_hanada_mvl/mxv + .byte W06 + .byte 4*mus_rg_hanada_mvl/mxv + .byte W06 + .byte 48*mus_rg_hanada_mvl/mxv + .byte MOD , 0 + .byte N24 , Cn5 + .byte W12 + .byte VOL , 34*mus_rg_hanada_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 48*mus_rg_hanada_mvl/mxv + .byte MOD , 0 + .byte N24 , Gn5 + .byte W12 + .byte VOL , 33*mus_rg_hanada_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 48*mus_rg_hanada_mvl/mxv + .byte MOD , 0 + .byte N24 , An5 + .byte W12 + .byte VOL , 33*mus_rg_hanada_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 48*mus_rg_hanada_mvl/mxv + .byte MOD , 0 + .byte N24 , As5 + .byte W12 + .byte VOL , 33*mus_rg_hanada_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 48*mus_rg_hanada_mvl/mxv + .byte MOD , 0 + .byte N48 , Cn6 + .byte W12 + .byte VOL , 33*mus_rg_hanada_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 22*mus_rg_hanada_mvl/mxv + .byte W12 + .byte 11*mus_rg_hanada_mvl/mxv + .byte W06 + .byte 4*mus_rg_hanada_mvl/mxv + .byte W06 + .byte 48*mus_rg_hanada_mvl/mxv + .byte MOD , 0 + .byte N48 + .byte W12 + .byte VOL , 33*mus_rg_hanada_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 21*mus_rg_hanada_mvl/mxv + .byte W12 + .byte 11*mus_rg_hanada_mvl/mxv + .byte W06 + .byte 4*mus_rg_hanada_mvl/mxv + .byte W06 + .byte 48*mus_rg_hanada_mvl/mxv + .byte MOD , 0 + .byte N24 , An5 + .byte W12 + .byte VOL , 33*mus_rg_hanada_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 48*mus_rg_hanada_mvl/mxv + .byte MOD , 0 + .byte N24 , En6 + .byte W12 + .byte VOL , 33*mus_rg_hanada_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 48*mus_rg_hanada_mvl/mxv + .byte MOD , 0 + .byte N24 , Dn6 + .byte W12 + .byte VOL , 33*mus_rg_hanada_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 48*mus_rg_hanada_mvl/mxv + .byte MOD , 0 + .byte N24 , En6 + .byte W12 + .byte VOL , 33*mus_rg_hanada_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 47*mus_rg_hanada_mvl/mxv + .byte MOD , 0 + .byte N06 , Fn5 + .byte W12 + .byte N03 , En5 + .byte W03 + .byte Fn5 + .byte W03 + .byte N06 , En5 + .byte W06 + .byte Dn5 + .byte W12 + .byte N12 , En5 + .byte W12 + .byte GOTO + .word mus_rg_hanada_4_B1 + .byte BEND , c_v+0 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_hanada_5: + .byte KEYSH , mus_rg_hanada_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-30 + .byte VOL , 42*mus_rg_hanada_mvl/mxv + .byte W72 + .byte N12 , Dn4 , v120 + .byte W12 + .byte N03 , En4 + .byte W12 +mus_rg_hanada_5_B1: +mus_rg_hanada_5_000: + .byte N06 , Fn4 , v120 + .byte W06 + .byte N03 , En4 , v092 + .byte W03 + .byte Dn4 , v076 + .byte W03 + .byte Cn4 , v064 + .byte W03 + .byte As3 , v052 + .byte W03 + .byte An3 , v048 + .byte W03 + .byte Gn3 , v044 + .byte W72 + .byte W03 + .byte PEND + .byte Cn4 , v120 + .byte W18 + .byte Dn4 + .byte W18 + .byte En4 + .byte W12 + .byte N03 + .byte W06 + .byte Cn4 + .byte W18 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte PATT + .word mus_rg_hanada_5_000 + .byte N03 , Fn4 , v120 + .byte W18 + .byte N03 + .byte W18 + .byte N03 + .byte W18 + .byte N03 + .byte W06 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte PATT + .word mus_rg_hanada_5_000 + .byte VOL , 21*mus_rg_hanada_mvl/mxv + .byte N24 , Dn4 , v120 + .byte W06 + .byte VOL , 31*mus_rg_hanada_mvl/mxv + .byte W06 + .byte 38*mus_rg_hanada_mvl/mxv + .byte W06 + .byte 45*mus_rg_hanada_mvl/mxv + .byte W06 + .byte N03 , Cn4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte N03 , En4 + .byte W06 + .byte VOL , 21*mus_rg_hanada_mvl/mxv + .byte N24 , Dn4 + .byte W06 + .byte VOL , 33*mus_rg_hanada_mvl/mxv + .byte W06 + .byte 38*mus_rg_hanada_mvl/mxv + .byte W06 + .byte 45*mus_rg_hanada_mvl/mxv + .byte W06 + .byte N24 , Cn4 + .byte W06 + .byte VOL , 34*mus_rg_hanada_mvl/mxv + .byte W06 + .byte 22*mus_rg_hanada_mvl/mxv + .byte W06 + .byte 10*mus_rg_hanada_mvl/mxv + .byte W06 + .byte 43*mus_rg_hanada_mvl/mxv + .byte N03 , Fn4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En4 , v092 + .byte W03 + .byte Dn4 , v076 + .byte W03 + .byte Cn4 , v064 + .byte W03 + .byte As3 , v052 + .byte W03 + .byte An3 , v048 + .byte W03 + .byte Gn3 , v044 + .byte W48 + .byte W03 + .byte Fn4 , v120 + .byte W18 + .byte En4 + .byte W18 + .byte Fn4 + .byte W18 + .byte Gn4 + .byte W18 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N06 , An4 + .byte W06 + .byte N03 , Gs4 , v092 + .byte W03 + .byte Fs4 , v076 + .byte W03 + .byte En4 , v064 + .byte W03 + .byte Dn4 , v052 + .byte W03 + .byte Cs4 , v048 + .byte W03 + .byte Bn3 , v044 + .byte W72 + .byte W03 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_hanada_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_hanada_6: + .byte KEYSH , mus_rg_hanada_key+0 + .byte VOICE , 84 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 41*mus_rg_hanada_mvl/mxv + .byte PAN , c_v+0 + .byte W72 + .byte N12 , As3 , v120 + .byte W12 + .byte N03 , Gn3 + .byte W12 +mus_rg_hanada_6_B1: +mus_rg_hanada_6_000: + .byte N06 , An3 , v120 + .byte W06 + .byte N03 , Gn3 , v096 + .byte W03 + .byte Fn3 , v076 + .byte W03 + .byte En3 , v064 + .byte W03 + .byte Dn3 , v060 + .byte W03 + .byte Cn3 , v052 + .byte W03 + .byte As2 , v048 + .byte W72 + .byte W03 + .byte PEND + .byte Fn3 , v120 + .byte W18 + .byte Gn3 + .byte W18 + .byte An3 + .byte W12 + .byte N03 + .byte W06 + .byte Fn3 + .byte W18 + .byte Gn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte PATT + .word mus_rg_hanada_6_000 + .byte N03 , Cn4 , v120 + .byte W18 + .byte N03 + .byte W18 + .byte N03 + .byte W18 + .byte N03 + .byte W06 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte PATT + .word mus_rg_hanada_6_000 + .byte N24 , Fn3 , v120 + .byte W24 + .byte N03 , En3 + .byte W12 + .byte N06 , Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N24 , Fn3 + .byte W24 + .byte En3 + .byte W24 + .byte N03 , Cn4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , As3 , v096 + .byte W03 + .byte Gs3 , v076 + .byte W03 + .byte Gn3 , v064 + .byte W03 + .byte Fn3 , v060 + .byte W03 + .byte Ds3 , v052 + .byte W03 + .byte Cs3 , v048 + .byte W48 + .byte W03 + .byte Cn4 , v120 + .byte W18 + .byte Bn3 + .byte W18 + .byte Cn4 + .byte W18 + .byte Dn4 + .byte W18 + .byte Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N06 , Fn4 + .byte W06 + .byte N03 , En4 , v096 + .byte W03 + .byte Dn4 , v076 + .byte W03 + .byte Cn4 , v064 + .byte W03 + .byte As3 , v060 + .byte W03 + .byte An3 , v052 + .byte W03 + .byte Gn3 , v048 + .byte W72 + .byte W03 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_hanada_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_hanada_7: + .byte KEYSH , mus_rg_hanada_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 50*mus_rg_hanada_mvl/mxv + .byte W42 + .byte N03 , En1 , v100 + .byte W03 + .byte En1 , v088 + .byte W03 + .byte N06 , En1 , v120 + .byte W12 + .byte Dn2 + .byte W12 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Fn1 , v112 + .byte W12 +mus_rg_hanada_7_B1: +mus_rg_hanada_7_000: + .byte N06 , Cn1 , v120 + .byte W24 + .byte Cs1 , v100 + .byte W18 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v124 + .byte W24 + .byte Cs1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte PEND +mus_rg_hanada_7_001: + .byte N06 , Cn1 , v120 + .byte W24 + .byte Cs1 , v100 + .byte W18 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v124 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte PEND +mus_rg_hanada_7_002: + .byte N06 , Cn1 , v120 + .byte W24 + .byte Cs1 , v100 + .byte W18 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v124 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v100 + .byte W24 + .byte PEND + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v112 + .byte W12 + .byte N03 , Cs1 , v100 + .byte W03 + .byte Cs1 , v092 + .byte W03 + .byte N06 , Cs1 , v120 + .byte W06 + .byte Cn1 + .byte W12 + .byte Cs1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 + .byte W06 + .byte N06 + .byte W06 + .byte Fn1 , v112 + .byte W12 + .byte PATT + .word mus_rg_hanada_7_000 + .byte PATT + .word mus_rg_hanada_7_001 + .byte N06 , Cn1 , v120 + .byte W06 + .byte Cs1 , v100 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v100 + .byte W18 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v124 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v100 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v100 + .byte W18 + .byte Cn1 , v120 + .byte W06 + .byte Cs1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v100 + .byte W06 + .byte Cs1 , v092 + .byte W06 + .byte Fn1 , v108 + .byte W12 + .byte Cs1 , v120 + .byte W12 + .byte An1 + .byte W12 + .byte Fn1 , v112 + .byte W18 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v124 + .byte W24 + .byte Cs1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W12 + .byte En1 + .byte W12 + .byte Cs1 , v100 + .byte W18 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v124 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W18 + .byte Cs1 , v100 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v100 + .byte W24 + .byte N06 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte Cs1 , v100 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Cs1 , v100 + .byte W06 + .byte PATT + .word mus_rg_hanada_7_002 + .byte N06 , En3 , v096 + .byte N03 , Gs4 , v080 + .byte W12 + .byte N06 , Gs2 , v076 + .byte N03 , Gs4 , v044 + .byte W12 + .byte N06 , Dn3 , v120 + .byte N24 , An4 , v088 + .byte W24 + .byte N06 , En3 , v096 + .byte N03 , Gs4 , v080 + .byte W12 + .byte N06 , Gs2 , v076 + .byte N03 , Gs4 , v044 + .byte W12 + .byte N06 , Dn3 , v120 + .byte N12 , An4 , v088 + .byte W12 + .byte N03 , An4 , v032 + .byte W12 + .byte N06 , En3 , v096 + .byte N03 , Gs4 , v080 + .byte W12 + .byte N06 , Gs2 , v076 + .byte N03 , Gs4 , v044 + .byte W12 + .byte N06 , Dn3 , v120 + .byte N24 , An4 , v088 + .byte W12 + .byte N06 , Gs2 , v076 + .byte W12 + .byte En3 , v096 + .byte N03 , Gs4 , v080 + .byte W12 + .byte N06 , Gs2 , v076 + .byte N03 , Gs4 , v044 + .byte W12 + .byte N06 , Dn3 , v120 + .byte N12 , An4 , v088 + .byte W12 + .byte N03 , An4 , v032 + .byte W12 + .byte N06 , En3 , v096 + .byte N03 , Gs4 , v080 + .byte W12 + .byte N06 , Gs2 , v076 + .byte N03 , Gs4 , v044 + .byte W12 + .byte N06 , Dn3 , v120 + .byte N12 , An4 , v088 + .byte W12 + .byte N06 , Gs2 , v076 + .byte N03 , An4 , v032 + .byte W12 + .byte N06 , En3 , v096 + .byte N03 , Gs4 , v080 + .byte W12 + .byte N06 , Gs2 , v076 + .byte N03 , Gs4 , v044 + .byte W12 + .byte N06 , Dn3 , v120 + .byte N12 , An4 , v088 + .byte W12 + .byte N03 , An4 , v032 + .byte W12 + .byte N06 , En3 , v096 + .byte N03 , Gs4 , v080 + .byte W12 + .byte N06 , Gs2 , v076 + .byte N03 , Gs4 , v044 + .byte W12 + .byte N06 , Dn3 , v120 + .byte N24 , An4 , v088 + .byte W24 + .byte N06 , Dn2 , v120 + .byte W12 + .byte Fn1 , v112 + .byte W12 + .byte En1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte GOTO + .word mus_rg_hanada_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_hanada_8: + .byte KEYSH , mus_rg_hanada_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 39*mus_rg_hanada_mvl/mxv + .byte W48 + .byte N03 , Cn5 , v092 + .byte W24 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v092 + .byte W18 +mus_rg_hanada_8_B1: +mus_rg_hanada_8_000: + .byte N03 , Cn5 , v092 + .byte W24 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_hanada_8_000 + .byte PATT + .word mus_rg_hanada_8_000 + .byte N03 , Cn5 , v092 + .byte W24 + .byte Cn5 , v120 + .byte W24 + .byte Cn5 , v092 + .byte W24 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte PATT + .word mus_rg_hanada_8_000 + .byte PATT + .word mus_rg_hanada_8_000 + .byte PATT + .word mus_rg_hanada_8_000 + .byte PATT + .word mus_rg_hanada_8_000 + .byte PATT + .word mus_rg_hanada_8_000 + .byte PATT + .word mus_rg_hanada_8_000 + .byte PATT + .word mus_rg_hanada_8_000 + .byte W24 + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 +mus_rg_hanada_8_001: + .byte N03 , Cn5 , v048 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_hanada_8_001 + .byte PATT + .word mus_rg_hanada_8_001 + .byte N03 , Cn5 , v048 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v092 + .byte W24 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte GOTO + .word mus_rg_hanada_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_hanada_9: + .byte KEYSH , mus_rg_hanada_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 25*mus_rg_hanada_mvl/mxv + .byte W60 + .byte N12 , Gn5 , v120 + .byte W24 + .byte N12 + .byte W12 +mus_rg_hanada_9_B1: + .byte W12 + .byte N12 , Gn5 , v120 + .byte W84 + .byte W12 + .byte N12 + .byte W84 + .byte W12 + .byte N12 + .byte W84 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W36 + .byte W12 + .byte N12 + .byte W84 + .byte W12 + .byte N12 + .byte W84 + .byte W12 + .byte N12 + .byte W84 + .byte W12 + .byte N12 + .byte W84 + .byte W12 + .byte N12 + .byte W84 + .byte W12 + .byte N12 + .byte W84 + .byte W12 + .byte N12 + .byte W84 + .byte N24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W60 + .byte N12 + .byte W36 + .byte GOTO + .word mus_rg_hanada_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_hanada: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_hanada_pri @ Priority + .byte mus_rg_hanada_rev @ Reverb. + + .word mus_rg_hanada_grp + + .word mus_rg_hanada_1 + .word mus_rg_hanada_2 + .word mus_rg_hanada_3 + .word mus_rg_hanada_4 + .word mus_rg_hanada_5 + .word mus_rg_hanada_6 + .word mus_rg_hanada_7 + .word mus_rg_hanada_8 + .word mus_rg_hanada_9 + + .end diff --git a/sound/songs/mus_rg_jump.s b/sound/songs/mus_rg_jump.s new file mode 100644 index 0000000000..f3445b2eff --- /dev/null +++ b/sound/songs/mus_rg_jump.s @@ -0,0 +1,2745 @@ + .include "MPlayDef.s" + + .equ mus_rg_jump_grp, voicegroup_86A15B8 + .equ mus_rg_jump_pri, 0 + .equ mus_rg_jump_rev, reverb_set+50 + .equ mus_rg_jump_mvl, 127 + .equ mus_rg_jump_key, 0 + .equ mus_rg_jump_tbs, 1 + .equ mus_rg_jump_exg, 0 + .equ mus_rg_jump_cmp, 1 + + .section .rodata + .global mus_rg_jump + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_jump_1: + .byte KEYSH , mus_rg_jump_key+0 + .byte TEMPO , 138*mus_rg_jump_tbs/2 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 63*mus_rg_jump_mvl/mxv + .byte PAN , c_v+48 + .byte N06 , Bn2 , v096 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 +mus_rg_jump_1_B1: + .byte VOL , 63*mus_rg_jump_mvl/mxv + .byte N36 , Bn3 , v080 + .byte W12 + .byte VOL , 56*mus_rg_jump_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_jump_mvl/mxv + .byte N12 , As3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W96 + .byte N24 , Ds3 , v072 + .byte W24 + .byte As2 + .byte W24 + .byte Fs3 + .byte W24 + .byte Cs3 + .byte W12 + .byte MOD , 3 + .byte W12 +mus_rg_jump_1_000: + .byte MOD , 0 + .byte N12 , Bn3 , v072 + .byte W12 + .byte N48 , As3 + .byte W12 + .byte MOD , 3 + .byte W12 + .byte VOL , 56*mus_rg_jump_mvl/mxv + .byte W12 + .byte 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_jump_mvl/mxv + .byte N12 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte PEND +mus_rg_jump_1_001: + .byte MOD , 0 + .byte N36 , As3 , v072 + .byte W12 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N12 , Fs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte PEND + .byte MOD , 0 + .byte N48 , Gs3 + .byte W24 + .byte VOL , 56*mus_rg_jump_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_jump_mvl/mxv + .byte N48 , Fn3 + .byte W24 + .byte VOL , 56*mus_rg_jump_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_jump_mvl/mxv + .byte N24 + .byte W24 + .byte Cs3 + .byte W24 + .byte Gs3 + .byte W24 + .byte Fn3 + .byte W24 + .byte MOD , 0 + .byte N12 , Cs4 + .byte W12 + .byte N48 , Bn3 + .byte W12 + .byte VOL , 56*mus_rg_jump_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 51*mus_rg_jump_mvl/mxv + .byte W12 + .byte 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_jump_mvl/mxv + .byte N12 , Fs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte MOD , 0 + .byte N36 , Fn4 + .byte W15 + .byte MOD , 3 + .byte W21 + .byte 0 + .byte N12 , Ds4 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte An3 + .byte W12 + .byte MOD , 0 + .byte N12 , As3 + .byte W12 + .byte N06 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte N48 , Gs3 + .byte W12 + .byte VOL , 56*mus_rg_jump_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 50*mus_rg_jump_mvl/mxv + .byte W12 + .byte 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte VOICE , 17 + .byte MOD , 0 + .byte VOL , 63*mus_rg_jump_mvl/mxv + .byte N24 , Ds3 + .byte W24 + .byte As2 + .byte W24 + .byte Fs3 + .byte W24 + .byte Cs3 + .byte W24 + .byte PATT + .word mus_rg_jump_1_000 + .byte PATT + .word mus_rg_jump_1_001 + .byte MOD , 0 + .byte N48 , Gs3 , v072 + .byte W24 + .byte VOL , 56*mus_rg_jump_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_jump_mvl/mxv + .byte N24 , Fn3 + .byte W24 + .byte Ds3 + .byte W24 + .byte MOD , 0 + .byte N24 , Fn3 + .byte W24 + .byte Cs3 + .byte W24 + .byte Gs3 + .byte W24 + .byte Fn3 + .byte W24 + .byte MOD , 0 + .byte N12 , Cs4 + .byte W12 + .byte N48 , Bn3 + .byte W12 + .byte MOD , 3 + .byte W12 + .byte VOL , 56*mus_rg_jump_mvl/mxv + .byte W12 + .byte 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_jump_mvl/mxv + .byte N12 , Gs3 + .byte W12 + .byte As3 + .byte W12 + .byte Bn3 + .byte W12 + .byte MOD , 0 + .byte N24 , Cs4 + .byte W24 + .byte Bn3 + .byte W24 + .byte N12 , Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N24 , Fs3 + .byte W24 + .byte Cs3 + .byte W24 + .byte N12 , Fs3 + .byte W12 + .byte VOICE , 24 + .byte N24 + .byte W24 + .byte N24 + .byte W12 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte En3 + .byte W12 + .byte N60 , Fn3 + .byte W12 + .byte VOL , 56*mus_rg_jump_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 49*mus_rg_jump_mvl/mxv + .byte W12 + .byte 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 34*mus_rg_jump_mvl/mxv + .byte W12 + .byte 63*mus_rg_jump_mvl/mxv + .byte N12 , Cs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N48 , Fs3 + .byte W12 + .byte VOL , 56*mus_rg_jump_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 50*mus_rg_jump_mvl/mxv + .byte W12 + .byte 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_jump_mvl/mxv + .byte N24 , Fn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte Gs3 + .byte W24 + .byte Fn3 + .byte W24 + .byte N18 , Fs3 + .byte W18 + .byte N06 , Fn3 + .byte W06 + .byte N12 , Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N60 , Fs3 + .byte W12 + .byte VOL , 56*mus_rg_jump_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 49*mus_rg_jump_mvl/mxv + .byte W12 + .byte 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte 63*mus_rg_jump_mvl/mxv + .byte W12 + .byte N12 , Cs3 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte N12 , Ds3 + .byte W12 + .byte En3 + .byte W12 + .byte N60 , Fn3 + .byte W12 + .byte VOL , 56*mus_rg_jump_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 49*mus_rg_jump_mvl/mxv + .byte W12 + .byte 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte 63*mus_rg_jump_mvl/mxv + .byte W12 + .byte N12 , Cs3 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte N12 , Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N48 , Fs3 + .byte W12 + .byte VOL , 56*mus_rg_jump_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 49*mus_rg_jump_mvl/mxv + .byte W12 + .byte 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_jump_mvl/mxv + .byte N24 , Fn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte Gs3 + .byte W24 + .byte Bn3 + .byte W24 + .byte N12 , As3 + .byte W12 + .byte N06 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte N48 , As3 + .byte W12 + .byte VOL , 56*mus_rg_jump_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 49*mus_rg_jump_mvl/mxv + .byte W12 + .byte 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte GOTO + .word mus_rg_jump_1_B1 + .byte MOD , 0 + .byte VOL , 63*mus_rg_jump_mvl/mxv + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_jump_2: + .byte KEYSH , mus_rg_jump_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 90*mus_rg_jump_mvl/mxv + .byte N06 , Fs3 , v120 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 +mus_rg_jump_2_B1: + .byte VOICE , 24 + .byte VOL , 90*mus_rg_jump_mvl/mxv + .byte N36 , Ds4 , v127 + .byte W12 + .byte VOL , 79*mus_rg_jump_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 68*mus_rg_jump_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_jump_mvl/mxv + .byte N12 , Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W60 + .byte N06 , Cs3 , v120 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , Fs3 , v127 + .byte W24 + .byte Cs3 + .byte W24 + .byte As3 + .byte W24 + .byte Fs3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , Ds4 + .byte W12 + .byte N84 , Cs4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_jump_mvl/mxv + .byte W12 + .byte 68*mus_rg_jump_mvl/mxv + .byte W12 + .byte 56*mus_rg_jump_mvl/mxv + .byte W12 + .byte 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte 34*mus_rg_jump_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_jump_mvl/mxv + .byte N36 , Fs4 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N12 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte MOD , 0 + .byte N96 , Bn3 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_jump_mvl/mxv + .byte W12 + .byte 68*mus_rg_jump_mvl/mxv + .byte W12 + .byte 56*mus_rg_jump_mvl/mxv + .byte W12 + .byte 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte 34*mus_rg_jump_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_jump_mvl/mxv + .byte N24 , Gs3 + .byte W24 + .byte Fn3 + .byte W24 + .byte Bn3 + .byte W24 + .byte Gs3 + .byte W24 + .byte MOD , 0 + .byte N12 , Fn4 + .byte W12 + .byte N84 , Ds4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_jump_mvl/mxv + .byte W12 + .byte 68*mus_rg_jump_mvl/mxv + .byte W12 + .byte 56*mus_rg_jump_mvl/mxv + .byte W12 + .byte 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte 34*mus_rg_jump_mvl/mxv + .byte W12 + .byte 90*mus_rg_jump_mvl/mxv + .byte MOD , 0 + .byte N36 , Gs4 + .byte W12 + .byte VOL , 79*mus_rg_jump_mvl/mxv + .byte W03 + .byte MOD , 5 + .byte W09 + .byte VOL , 68*mus_rg_jump_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_jump_mvl/mxv + .byte N12 , Fs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte MOD , 0 + .byte N96 , Cs4 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_jump_mvl/mxv + .byte W12 + .byte 68*mus_rg_jump_mvl/mxv + .byte W12 + .byte 56*mus_rg_jump_mvl/mxv + .byte W12 + .byte 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte 34*mus_rg_jump_mvl/mxv + .byte W12 + .byte VOICE , 17 + .byte VOL , 90*mus_rg_jump_mvl/mxv + .byte MOD , 0 + .byte N24 , Fs4 , v112 + .byte W24 + .byte Cs4 + .byte W24 + .byte As4 + .byte W24 + .byte Fs4 + .byte W24 + .byte MOD , 0 + .byte N12 , Ds5 + .byte W12 + .byte N84 , Cs5 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_jump_mvl/mxv + .byte W12 + .byte 68*mus_rg_jump_mvl/mxv + .byte W12 + .byte 56*mus_rg_jump_mvl/mxv + .byte W12 + .byte 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte 34*mus_rg_jump_mvl/mxv + .byte W12 + .byte 90*mus_rg_jump_mvl/mxv + .byte MOD , 0 + .byte N36 , Fs5 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N12 , Fn5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte As4 + .byte W12 + .byte MOD , 0 + .byte N96 , Bn4 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_jump_mvl/mxv + .byte W12 + .byte 68*mus_rg_jump_mvl/mxv + .byte W12 + .byte 56*mus_rg_jump_mvl/mxv + .byte W12 + .byte 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte 34*mus_rg_jump_mvl/mxv + .byte W12 + .byte 90*mus_rg_jump_mvl/mxv + .byte MOD , 0 + .byte N24 , Gs4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Bn4 + .byte W24 + .byte Gs4 + .byte W24 + .byte MOD , 0 + .byte N12 , Fn5 + .byte W12 + .byte N84 , Ds5 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_jump_mvl/mxv + .byte W12 + .byte 68*mus_rg_jump_mvl/mxv + .byte W12 + .byte 56*mus_rg_jump_mvl/mxv + .byte W12 + .byte 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte 34*mus_rg_jump_mvl/mxv + .byte W12 + .byte 90*mus_rg_jump_mvl/mxv + .byte MOD , 0 + .byte N36 , Gs5 + .byte W12 + .byte VOL , 79*mus_rg_jump_mvl/mxv + .byte W03 + .byte MOD , 5 + .byte W09 + .byte VOL , 68*mus_rg_jump_mvl/mxv + .byte W12 + .byte 90*mus_rg_jump_mvl/mxv + .byte MOD , 0 + .byte N12 , Fs5 + .byte W12 + .byte Fn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Gs5 + .byte W12 + .byte As5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N06 + .byte W06 + .byte Fn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N12 , Fs5 + .byte W12 + .byte VOICE , 24 + .byte N12 , Cs4 , v127 + .byte W12 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte N60 , Fn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 68*mus_rg_jump_mvl/mxv + .byte W12 + .byte 56*mus_rg_jump_mvl/mxv + .byte W12 + .byte 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_jump_mvl/mxv + .byte N12 , Cs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte VOL , 90*mus_rg_jump_mvl/mxv + .byte N60 , Fs4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_jump_mvl/mxv + .byte W12 + .byte 68*mus_rg_jump_mvl/mxv + .byte W12 + .byte 56*mus_rg_jump_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_jump_mvl/mxv + .byte N12 , Cs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N24 , Gs4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte Bn4 + .byte W24 + .byte N18 , As4 , v120 + .byte W18 + .byte N06 , Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte N03 , Bn4 , v092 + .byte W03 + .byte As4 , v080 + .byte W03 + .byte N12 , Gs4 , v127 + .byte W12 + .byte Fs4 + .byte W12 + .byte VOICE , 17 + .byte N12 , Cs5 , v112 + .byte W12 + .byte Ds5 + .byte W12 + .byte En5 + .byte W12 + .byte N60 , Fn5 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_jump_mvl/mxv + .byte W12 + .byte 68*mus_rg_jump_mvl/mxv + .byte W12 + .byte 56*mus_rg_jump_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_jump_mvl/mxv + .byte N12 , Cs5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Fn5 + .byte W12 + .byte VOL , 90*mus_rg_jump_mvl/mxv + .byte N60 , Fs5 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_jump_mvl/mxv + .byte W12 + .byte 68*mus_rg_jump_mvl/mxv + .byte W12 + .byte 56*mus_rg_jump_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_jump_mvl/mxv + .byte N12 , Cs5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N24 , Gs5 + .byte W24 + .byte Fn5 + .byte W24 + .byte Bn5 + .byte W24 + .byte Gs5 + .byte W24 + .byte N96 , Cs6 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_jump_mvl/mxv + .byte W12 + .byte 68*mus_rg_jump_mvl/mxv + .byte W12 + .byte 56*mus_rg_jump_mvl/mxv + .byte W12 + .byte 45*mus_rg_jump_mvl/mxv + .byte W12 + .byte 34*mus_rg_jump_mvl/mxv + .byte W12 + .byte 22*mus_rg_jump_mvl/mxv + .byte W12 + .byte GOTO + .word mus_rg_jump_2_B1 + .byte MOD , 0 + .byte VOL , 90*mus_rg_jump_mvl/mxv + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_jump_3: + .byte KEYSH , mus_rg_jump_key+0 + .byte VOICE , 87 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-64 + .byte VOL , 44*mus_rg_jump_mvl/mxv + .byte N06 , Ds2 , v120 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 +mus_rg_jump_3_B1: + .byte N36 , Ds3 , v127 + .byte W36 + .byte N12 , Cs3 , v120 + .byte W12 + .byte N06 , Gs2 + .byte W12 + .byte As2 , v127 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte N12 , Cs3 + .byte W48 + .byte VOICE , 80 + .byte W12 + .byte N06 , Cs2 + .byte W12 + .byte Ds2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v-64 + .byte VOL , 28*mus_rg_jump_mvl/mxv + .byte N06 , Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , As2 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , As2 + .byte W12 +mus_rg_jump_3_000: + .byte PAN , c_v-64 + .byte N06 , Fs2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , As2 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cs2 + .byte W12 + .byte Ds2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fn2 + .byte W12 + .byte PEND +mus_rg_jump_3_001: + .byte PAN , c_v-64 + .byte N06 , Fs2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cs3 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cs3 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cs3 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cs3 + .byte W12 + .byte PEND +mus_rg_jump_3_002: + .byte PAN , c_v-64 + .byte N06 , Fn2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Bn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Bn2 + .byte W12 + .byte PEND +mus_rg_jump_3_003: + .byte PAN , c_v-64 + .byte N06 , Fn2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gs2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gs2 + .byte W12 + .byte PEND + .byte PAN , c_v-64 + .byte N06 , Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gs2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cs2 + .byte W12 + .byte Ds2 , v120 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fn2 + .byte W12 +mus_rg_jump_3_004: + .byte PAN , c_v-64 + .byte N06 , Gs2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Bn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Bn2 + .byte W12 + .byte PEND + .byte PAN , c_v-64 + .byte N06 , Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Bn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gs2 + .byte W12 +mus_rg_jump_3_005: + .byte PAN , c_v-64 + .byte N06 , Fs2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , As2 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , As2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_jump_3_000 + .byte PATT + .word mus_rg_jump_3_001 + .byte PATT + .word mus_rg_jump_3_002 + .byte PAN , c_v-64 + .byte N06 , Fn2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gs2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Ds2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gs2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cs2 + .byte W12 + .byte Ds2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cs3 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cs3 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cs3 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 , Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 , Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 + .byte W24 + .byte PAN , c_v-64 + .byte N06 , Cs3 + .byte W12 + .byte PATT + .word mus_rg_jump_3_003 + .byte PATT + .word mus_rg_jump_3_005 + .byte PATT + .word mus_rg_jump_3_004 + .byte PAN , c_v-64 + .byte N06 , Fs2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , As2 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fs2 + .byte W12 + .byte PATT + .word mus_rg_jump_3_003 + .byte PATT + .word mus_rg_jump_3_005 + .byte PATT + .word mus_rg_jump_3_004 + .byte PATT + .word mus_rg_jump_3_000 + .byte GOTO + .word mus_rg_jump_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_jump_4: + .byte KEYSH , mus_rg_jump_key+0 + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 56*mus_rg_jump_mvl/mxv + .byte W24 +mus_rg_jump_4_B1: + .byte N36 , Ds2 , v120 + .byte W36 + .byte N12 , Cs2 + .byte W12 + .byte N06 , Bn1 + .byte W12 + .byte As1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte N12 , Cs1 + .byte W60 + .byte N06 , Bn1 + .byte W12 + .byte As1 + .byte W12 + .byte Gs1 + .byte W12 +mus_rg_jump_4_000: + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , As2 , v096 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , As2 , v096 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , As2 , v096 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , As2 , v096 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte PEND + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , As2 , v096 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Bn2 , v096 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte N12 , As1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , As2 , v096 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v100 + .byte W06 + .byte Cs3 , v032 + .byte W06 +mus_rg_jump_4_001: + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Gs3 , v096 + .byte W06 + .byte Gs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte PEND + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Bn1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Bn1 , v120 + .byte W12 + .byte N06 , Bn2 , v096 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte PATT + .word mus_rg_jump_4_000 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , As1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , As2 , v096 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte PATT + .word mus_rg_jump_4_001 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Bn1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Bn1 , v120 + .byte W12 + .byte N06 , Bn3 , v088 + .byte W06 + .byte Bn3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , As2 , v096 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Bn1 , v120 + .byte W12 + .byte As1 + .byte W12 + .byte Gs1 + .byte W12 + .byte N06 , Gs3 , v096 + .byte W06 + .byte Gs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , As1 , v120 + .byte W12 + .byte N06 , As3 , v096 + .byte W06 + .byte As3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , As1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Bn3 , v096 + .byte W06 + .byte Bn3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , As3 , v096 + .byte W06 + .byte As3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Cs4 , v072 + .byte W06 + .byte Cs4 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Bn2 , v096 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Gs3 , v096 + .byte W06 + .byte Gs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Ds1 , v120 + .byte W12 + .byte N06 , Bn3 , v096 + .byte W06 + .byte Bn3 , v032 + .byte W06 + .byte N12 , En1 , v120 + .byte W12 + .byte N06 , Gs3 , v096 + .byte W06 + .byte Gs3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , As3 , v096 + .byte W06 + .byte As3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Gs3 , v096 + .byte W06 + .byte Gs3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte GOTO + .word mus_rg_jump_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_jump_5: + .byte KEYSH , mus_rg_jump_key+0 + .byte VOICE , 73 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 35*mus_rg_jump_mvl/mxv + .byte W24 +mus_rg_jump_5_B1: + .byte VOICE , 73 + .byte W96 + .byte W12 + .byte N06 , Cs5 , v127 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cn5 + .byte W06 + .byte N03 , Cs5 + .byte W03 + .byte Ds5 , v120 + .byte W03 + .byte Cs5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Cs5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Cs5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Cs5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Cs5 , v096 + .byte W03 + .byte Ds5 , v076 + .byte W03 + .byte Cs5 , v068 + .byte W03 + .byte Ds5 , v060 + .byte W03 + .byte Cs5 + .byte W03 + .byte Ds5 , v032 + .byte W03 + .byte W96 + .byte VOL , 34*mus_rg_jump_mvl/mxv + .byte N06 , Cs5 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte As4 + .byte W12 + .byte Gs4 + .byte W12 + .byte W96 + .byte W12 + .byte N06 , Cs6 + .byte W06 + .byte Cn6 + .byte W06 + .byte Cs6 + .byte W12 + .byte N06 + .byte W06 + .byte Cn6 + .byte W06 + .byte N03 , Cs6 + .byte W03 + .byte Dn6 , v060 + .byte W03 + .byte Cs6 , v120 + .byte W03 + .byte Dn6 , v064 + .byte W03 + .byte Cs6 , v120 + .byte W03 + .byte Dn6 , v060 + .byte W03 + .byte Cs6 , v120 + .byte W03 + .byte Dn6 , v060 + .byte W03 + .byte Cs6 , v092 + .byte W03 + .byte Dn6 , v040 + .byte W03 + .byte Cs6 , v064 + .byte W03 + .byte Dn6 , v028 + .byte W03 + .byte Cs6 , v064 + .byte W03 + .byte Dn6 , v028 + .byte W03 + .byte Cs6 , v060 + .byte W03 + .byte Dn6 , v032 + .byte W03 + .byte W96 + .byte N06 , As5 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte Gs5 + .byte W06 + .byte Fs5 + .byte W12 + .byte N06 + .byte W06 + .byte Fn5 + .byte W06 + .byte Ds5 + .byte W12 + .byte N06 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte W96 + .byte VOICE , 73 + .byte N06 , Cs6 + .byte W12 + .byte N06 + .byte W06 + .byte Cn6 + .byte W06 + .byte Cs6 + .byte W06 + .byte Cn6 + .byte W06 + .byte Cs6 + .byte W06 + .byte Ds6 + .byte W06 + .byte N12 , Cs6 + .byte W12 + .byte Bn5 + .byte W12 + .byte As5 + .byte W12 + .byte Gs5 + .byte W12 + .byte W96 + .byte VOICE , 14 + .byte VOL , 40*mus_rg_jump_mvl/mxv + .byte W24 + .byte N24 , Fn5 + .byte W24 + .byte Ds5 + .byte W24 + .byte Cs5 + .byte W24 + .byte W96 + .byte W24 + .byte Fs5 + .byte W24 + .byte Fn5 + .byte W24 + .byte Ds5 + .byte W24 + .byte Gs5 + .byte W96 + .byte W24 + .byte Fn5 + .byte W24 + .byte Ds5 + .byte W24 + .byte Fn5 + .byte W24 + .byte Gs5 + .byte W48 + .byte Cs5 + .byte W48 + .byte VOICE , 14 + .byte N24 , Fs5 + .byte W24 + .byte Cs5 + .byte W24 + .byte Fs5 + .byte W48 + .byte VOICE , 73 + .byte VOL , 34*mus_rg_jump_mvl/mxv + .byte N03 , Gn5 + .byte W03 + .byte N09 , Fs5 + .byte W09 + .byte N12 , Fn5 + .byte W12 + .byte N06 , Ds5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte Fn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte N06 , As5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte N24 , Bn4 + .byte W24 + .byte Gs4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Ds5 + .byte W24 + .byte N06 , Fs5 + .byte W12 + .byte N06 + .byte W06 + .byte Fn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N03 , Fs5 + .byte W03 + .byte Gs5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Gs5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Gs5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Gs5 + .byte W03 + .byte Fs5 , v096 + .byte W03 + .byte Gs5 , v076 + .byte W03 + .byte Fs5 , v088 + .byte W03 + .byte Gs5 , v064 + .byte W03 + .byte Fs5 + .byte W03 + .byte Gs5 , v048 + .byte W03 + .byte Fs5 , v056 + .byte W03 + .byte Gs5 , v032 + .byte W03 + .byte VOICE , 14 + .byte VOL , 43*mus_rg_jump_mvl/mxv + .byte N24 , Fn5 , v120 + .byte W48 + .byte Cs5 + .byte W48 + .byte VOL , 48*mus_rg_jump_mvl/mxv + .byte N24 , Fs5 + .byte W48 + .byte Cs5 + .byte W48 + .byte Gs4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Bn4 + .byte W24 + .byte Gs4 + .byte W24 + .byte Cs5 + .byte W96 + .byte GOTO + .word mus_rg_jump_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_jump_6: + .byte KEYSH , mus_rg_jump_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 44*mus_rg_jump_mvl/mxv + .byte W24 +mus_rg_jump_6_B1: + .byte PAN , c_v+32 + .byte N12 , Ds2 , v120 + .byte W24 + .byte PAN , c_v-32 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte Gs1 , v080 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Gs2 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Cs3 + .byte W12 + .byte N24 , Cs2 + .byte W96 + .byte Fs1 + .byte W96 + .byte PAN , c_v+32 + .byte W24 + .byte N12 , Cs2 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , As1 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Gs1 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Fs1 + .byte W96 + .byte PAN , c_v+32 + .byte N12 , Gs2 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Cs2 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Gs2 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Cs2 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Gs1 + .byte W96 + .byte W96 + .byte Cs2 + .byte W96 + .byte N24 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Gs1 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Cs2 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Gs1 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Fs1 + .byte W72 + .byte PAN , c_v-32 + .byte N12 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Cs2 + .byte W96 + .byte N24 + .byte W48 + .byte PAN , c_v-32 + .byte N24 , Fs1 + .byte W48 + .byte PAN , c_v+32 + .byte N06 + .byte N24 , Bn1 + .byte W96 + .byte W96 + .byte PAN , c_v-32 + .byte N24 + .byte W96 + .byte W96 + .byte PAN , c_v+32 + .byte N24 , Fs2 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Cs2 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Fs2 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte N12 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Cs2 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Fs2 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Cs2 + .byte W24 + .byte W48 + .byte N12 + .byte W48 + .byte W48 + .byte Fs1 + .byte W48 + .byte W48 + .byte PAN , c_v+32 + .byte N12 , Gs2 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Cs2 + .byte W24 + .byte W96 + .byte GOTO + .word mus_rg_jump_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_jump_7: + .byte KEYSH , mus_rg_jump_key+0 + .byte VOICE , 0 + .byte VOL , 74*mus_rg_jump_mvl/mxv + .byte W24 +mus_rg_jump_7_B1: + .byte N48 , Cs2 , v120 + .byte W48 + .byte An2 + .byte W48 + .byte Gn2 + .byte W96 + .byte An2 + .byte W96 + .byte W96 + .byte Cs2 + .byte W96 + .byte N12 + .byte W96 + .byte N48 , An2 + .byte W96 + .byte W96 + .byte N48 + .byte W96 + .byte W96 + .byte Gn2 + .byte W96 + .byte N24 , An2 + .byte W96 + .byte Gn2 + .byte W48 + .byte Cs2 + .byte W48 + .byte Bn2 + .byte W96 + .byte N48 , Cs2 + .byte W96 + .byte N24 , An2 + .byte W96 + .byte N48 , Bn2 + .byte W48 + .byte Cs2 + .byte W48 + .byte W72 + .byte N24 , An2 + .byte W24 + .byte N48 , Cs2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte An2 + .byte W96 + .byte Cs2 + .byte W96 + .byte Bn2 + .byte W96 + .byte Cs2 + .byte W96 + .byte GOTO + .word mus_rg_jump_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_jump_8: + .byte KEYSH , mus_rg_jump_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 41*mus_rg_jump_mvl/mxv + .byte W24 +mus_rg_jump_8_B1: + .byte N01 , Gn3 , v120 + .byte W36 + .byte N01 + .byte W03 + .byte Gn3 , v064 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W12 + .byte N01 + .byte W03 + .byte Gn3 , v064 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W06 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v120 + .byte W60 + .byte Gn3 , v064 + .byte W12 + .byte N01 + .byte W12 + .byte Gn3 , v120 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 +mus_rg_jump_8_000: + .byte N01 , Gn3 , v120 + .byte W06 + .byte Gn3 , v048 + .byte W06 + .byte Gn3 , v112 + .byte W12 + .byte Gn3 , v048 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v052 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W12 + .byte PEND +mus_rg_jump_8_001: + .byte N01 , Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v044 + .byte W03 + .byte Gn3 , v100 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_jump_8_000 +mus_rg_jump_8_002: + .byte N01 , Gn3 , v120 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W06 + .byte Gn3 , v040 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte N01 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_jump_8_000 + .byte N01 , Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v040 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PATT + .word mus_rg_jump_8_000 + .byte PATT + .word mus_rg_jump_8_002 +mus_rg_jump_8_003: + .byte N01 , Gn3 , v120 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W06 + .byte Gn3 , v048 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v064 + .byte W12 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte PEND +mus_rg_jump_8_004: + .byte N01 , Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v108 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v064 + .byte W12 + .byte PEND +mus_rg_jump_8_005: + .byte N01 , Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte Gn3 , v108 + .byte W12 + .byte Gn3 , v084 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte PEND + .byte N01 + .byte W12 + .byte Gn3 , v048 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v108 + .byte W06 + .byte Gn3 , v120 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PATT + .word mus_rg_jump_8_000 + .byte PATT + .word mus_rg_jump_8_002 + .byte PATT + .word mus_rg_jump_8_000 + .byte N01 , Gn3 , v120 + .byte W12 + .byte N01 + .byte W12 + .byte N01 + .byte W06 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v096 + .byte W06 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PATT + .word mus_rg_jump_8_000 + .byte PATT + .word mus_rg_jump_8_001 + .byte PATT + .word mus_rg_jump_8_000 + .byte PATT + .word mus_rg_jump_8_002 + .byte PATT + .word mus_rg_jump_8_002 + .byte PATT + .word mus_rg_jump_8_003 + .byte PATT + .word mus_rg_jump_8_004 + .byte PATT + .word mus_rg_jump_8_005 + .byte GOTO + .word mus_rg_jump_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_jump: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_jump_pri @ Priority + .byte mus_rg_jump_rev @ Reverb. + + .word mus_rg_jump_grp + + .word mus_rg_jump_1 + .word mus_rg_jump_2 + .word mus_rg_jump_3 + .word mus_rg_jump_4 + .word mus_rg_jump_5 + .word mus_rg_jump_6 + .word mus_rg_jump_7 + .word mus_rg_jump_8 + + .end diff --git a/sound/songs/mus_rg_kaihuku.s b/sound/songs/mus_rg_kaihuku.s new file mode 100644 index 0000000000..115e5368ec --- /dev/null +++ b/sound/songs/mus_rg_kaihuku.s @@ -0,0 +1,69 @@ + .include "MPlayDef.s" + + .equ mus_rg_kaihuku_grp, voicegroup_86A41D4 + .equ mus_rg_kaihuku_pri, 0 + .equ mus_rg_kaihuku_rev, reverb_set+50 + .equ mus_rg_kaihuku_mvl, 127 + .equ mus_rg_kaihuku_key, 0 + .equ mus_rg_kaihuku_tbs, 1 + .equ mus_rg_kaihuku_exg, 0 + .equ mus_rg_kaihuku_cmp, 1 + + .section .rodata + .global mus_rg_kaihuku + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_kaihuku_1: + .byte VOL , 90*mus_rg_kaihuku_mvl/mxv + .byte KEYSH , mus_rg_kaihuku_key+0 + .byte TEMPO , 146*mus_rg_kaihuku_tbs/2 + .byte VOICE , 2 + .byte N24 , Bn4 , v064 + .byte W24 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte Gs4 + .byte W12 + .byte N48 , En5 + .byte W24 + .byte W24 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_kaihuku_2: + .byte VOL , 90*mus_rg_kaihuku_mvl/mxv + .byte KEYSH , mus_rg_kaihuku_key+0 + .byte VOICE , 3 + .byte N12 , En2 , v092 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte Gs2 + .byte W12 + .byte N36 , En2 + .byte W24 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_kaihuku: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_kaihuku_pri @ Priority + .byte mus_rg_kaihuku_rev @ Reverb. + + .word mus_rg_kaihuku_grp + + .word mus_rg_kaihuku_1 + .word mus_rg_kaihuku_2 + + .end diff --git a/sound/songs/mus_rg_kenkyu.s b/sound/songs/mus_rg_kenkyu.s new file mode 100644 index 0000000000..223fc86f7f --- /dev/null +++ b/sound/songs/mus_rg_kenkyu.s @@ -0,0 +1,1270 @@ + .include "MPlayDef.s" + + .equ mus_rg_kenkyu_grp, voicegroup_86AAABC + .equ mus_rg_kenkyu_pri, 0 + .equ mus_rg_kenkyu_rev, reverb_set+50 + .equ mus_rg_kenkyu_mvl, 127 + .equ mus_rg_kenkyu_key, 0 + .equ mus_rg_kenkyu_tbs, 1 + .equ mus_rg_kenkyu_exg, 0 + .equ mus_rg_kenkyu_cmp, 1 + + .section .rodata + .global mus_rg_kenkyu + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_kenkyu_1: + .byte KEYSH , mus_rg_kenkyu_key+0 + .byte TEMPO , 120*mus_rg_kenkyu_tbs/2 + .byte VOICE , 48 + .byte VOL , 39*mus_rg_kenkyu_mvl/mxv + .byte PAN , c_v-21 + .byte N06 , An2 , v127 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 +mus_rg_kenkyu_1_B1: + .byte N24 , Bn3 , v127 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N12 , Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N06 , Bn3 + .byte W24 + .byte N36 , Fs3 + .byte W36 + .byte N03 , Dn3 , v120 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte N12 , Dn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N12 , Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte N12 , Bn2 + .byte W12 + .byte En3 + .byte W12 + .byte N06 , Fs3 + .byte W24 + .byte N36 , Dn3 + .byte W36 + .byte N03 , Fs3 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N24 , Fs3 , v127 + .byte W24 + .byte N36 , Gn3 + .byte W36 + .byte N06 , Dn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N48 , Cn4 + .byte W48 + .byte N36 , Bn3 + .byte W36 + .byte N06 , Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N48 , Dn4 + .byte W48 + .byte N24 , Cn4 + .byte W24 + .byte Bn3 + .byte W24 + .byte An3 + .byte W24 + .byte Gn3 + .byte W24 + .byte N06 , Fs3 + .byte W24 + .byte N24 , Dn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte N06 , As3 , v120 + .byte W12 + .byte GOTO + .word mus_rg_kenkyu_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_kenkyu_2: + .byte KEYSH , mus_rg_kenkyu_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 75*mus_rg_kenkyu_mvl/mxv + .byte N06 , Fs3 , v127 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte MOD , 0 + .byte N06 , Fs4 + .byte W06 +mus_rg_kenkyu_2_B1: + .byte N36 , Gn4 , v116 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 62*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 75*mus_rg_kenkyu_mvl/mxv + .byte MOD , 0 + .byte N06 , Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte N36 , Dn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 62*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 75*mus_rg_kenkyu_mvl/mxv + .byte MOD , 0 + .byte N06 , Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W24 + .byte N48 , Dn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 62*mus_rg_kenkyu_mvl/mxv + .byte W24 + .byte 75*mus_rg_kenkyu_mvl/mxv + .byte MOD , 0 + .byte N24 + .byte W24 + .byte N36 , En4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 62*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 75*mus_rg_kenkyu_mvl/mxv + .byte MOD , 0 + .byte N06 , Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte N36 , Bn3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 62*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 75*mus_rg_kenkyu_mvl/mxv + .byte MOD , 0 + .byte N06 , An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W24 + .byte N48 , Bn3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 62*mus_rg_kenkyu_mvl/mxv + .byte W24 + .byte 75*mus_rg_kenkyu_mvl/mxv + .byte MOD , 0 + .byte N24 + .byte W24 + .byte N36 , Cn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 62*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 75*mus_rg_kenkyu_mvl/mxv + .byte MOD , 0 + .byte N06 , Gn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N48 , En4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 62*mus_rg_kenkyu_mvl/mxv + .byte W24 + .byte 75*mus_rg_kenkyu_mvl/mxv + .byte MOD , 0 + .byte N36 , Dn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 62*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 75*mus_rg_kenkyu_mvl/mxv + .byte MOD , 0 + .byte N06 , Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N48 , Gn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 62*mus_rg_kenkyu_mvl/mxv + .byte W24 + .byte 75*mus_rg_kenkyu_mvl/mxv + .byte MOD , 0 + .byte N24 , Fs4 + .byte W12 + .byte VOL , 62*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 75*mus_rg_kenkyu_mvl/mxv + .byte N12 , Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N24 , En4 + .byte W12 + .byte VOL , 62*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 75*mus_rg_kenkyu_mvl/mxv + .byte N12 , Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte An3 + .byte W12 + .byte N12 , Bn3 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte N06 , En4 + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte N06 , Fs4 + .byte W12 + .byte GOTO + .word mus_rg_kenkyu_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_kenkyu_3: + .byte KEYSH , mus_rg_kenkyu_key+0 + .byte VOICE , 35 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+11 + .byte VOL , 73*mus_rg_kenkyu_mvl/mxv + .byte N06 , Gn1 , v120 + .byte W06 + .byte Dn2 + .byte W06 + .byte Gn2 , v127 + .byte W06 + .byte Fs2 , v120 + .byte W06 + .byte En2 , v127 + .byte W06 + .byte Dn2 , v120 + .byte W06 + .byte Cn2 , v127 + .byte W06 + .byte Bn1 , v120 + .byte W06 +mus_rg_kenkyu_3_B1: + .byte N12 , Gn1 , v127 + .byte W12 + .byte N03 , Dn2 + .byte W12 + .byte N12 , Cs2 , v120 + .byte W12 + .byte N03 , Dn2 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte N03 , Dn2 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte N03 , Fs2 + .byte W12 + .byte N12 , Dn2 , v120 + .byte W12 + .byte N03 , Fs2 , v127 + .byte W12 + .byte Bn1 , v120 + .byte W06 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N06 , Fs2 , v127 + .byte W06 + .byte N12 , Dn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte N03 , Bn1 + .byte W12 + .byte N12 , As1 , v120 + .byte W12 + .byte N03 , Bn1 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N03 , Bn1 + .byte W12 + .byte N12 , Fs1 + .byte W12 + .byte N03 , Dn2 + .byte W12 + .byte N12 , Bn1 , v120 + .byte W12 + .byte N03 , Dn2 , v127 + .byte W12 + .byte Fs1 , v120 + .byte W06 + .byte N06 , Dn1 + .byte W06 + .byte N03 , Dn2 , v127 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Dn2 , v120 + .byte W06 + .byte N06 , Bn1 + .byte W06 + .byte N03 , Dn2 , v127 + .byte W06 + .byte N06 , Fs2 , v120 + .byte W06 + .byte N12 , Cn2 , v127 + .byte W12 + .byte N03 , En2 + .byte W24 + .byte N03 + .byte W18 + .byte Cn2 , v120 + .byte W06 + .byte N06 , Gn1 , v127 + .byte W06 + .byte N03 , Gn2 , v120 + .byte W06 + .byte N12 , Cn2 , v127 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte N03 , Gn2 + .byte W24 + .byte N03 + .byte W24 + .byte N03 + .byte W06 + .byte N06 , Dn2 , v120 + .byte W06 + .byte N03 , Bn1 , v127 + .byte W06 + .byte N06 , Gn1 , v120 + .byte W06 + .byte N03 , Bn1 , v127 + .byte W06 + .byte N06 , Gn2 , v120 + .byte W06 + .byte N12 , An1 , v127 + .byte W12 + .byte N03 , Fs2 + .byte W12 + .byte N12 , Fn2 , v120 + .byte W12 + .byte N03 , Fs2 , v127 + .byte W12 + .byte N12 , Cn2 + .byte W12 + .byte N03 , En2 + .byte W12 + .byte N12 , Dn2 , v120 + .byte W12 + .byte N03 , An1 , v127 + .byte W12 + .byte N06 , Dn2 + .byte W24 + .byte N12 , Fs2 + .byte W12 + .byte N03 , Dn2 , v120 + .byte W12 + .byte N12 , En2 , v127 + .byte W12 + .byte N03 , Cn2 , v120 + .byte W12 + .byte N12 , Dn2 , v127 + .byte W12 + .byte N03 , An1 , v120 + .byte W12 + .byte GOTO + .word mus_rg_kenkyu_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_kenkyu_4: + .byte KEYSH , mus_rg_kenkyu_key+0 + .byte VOICE , 14 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 50*mus_rg_kenkyu_mvl/mxv + .byte PAN , c_v-32 + .byte W48 +mus_rg_kenkyu_4_B1: + .byte PAN , c_v-32 + .byte VOL , 50*mus_rg_kenkyu_mvl/mxv + .byte N24 , Gn4 , v096 + .byte W12 + .byte VOL , 30*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte PAN , c_v+32 + .byte VOL , 20*mus_rg_kenkyu_mvl/mxv + .byte N24 + .byte W12 + .byte VOL , 10*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 50*mus_rg_kenkyu_mvl/mxv + .byte N24 , Dn4 + .byte W12 + .byte VOL , 30*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte PAN , c_v-32 + .byte VOL , 20*mus_rg_kenkyu_mvl/mxv + .byte N12 + .byte W12 + .byte PAN , c_v+32 + .byte VOL , 50*mus_rg_kenkyu_mvl/mxv + .byte N06 , Cs4 , v064 + .byte W06 + .byte Dn4 + .byte W06 + .byte VOL , 50*mus_rg_kenkyu_mvl/mxv + .byte N24 , En4 , v096 + .byte W12 + .byte VOL , 30*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte PAN , c_v-32 + .byte VOL , 20*mus_rg_kenkyu_mvl/mxv + .byte N24 + .byte W12 + .byte VOL , 10*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 50*mus_rg_kenkyu_mvl/mxv + .byte N24 , Dn4 + .byte W12 + .byte VOL , 30*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte PAN , c_v+32 + .byte VOL , 20*mus_rg_kenkyu_mvl/mxv + .byte N24 + .byte W12 + .byte VOL , 10*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 50*mus_rg_kenkyu_mvl/mxv + .byte PAN , c_v-32 + .byte N24 , En4 + .byte W12 + .byte VOL , 30*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 20*mus_rg_kenkyu_mvl/mxv + .byte PAN , c_v+32 + .byte N24 + .byte W12 + .byte VOL , 10*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 50*mus_rg_kenkyu_mvl/mxv + .byte N24 , Bn3 + .byte W12 + .byte VOL , 30*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 20*mus_rg_kenkyu_mvl/mxv + .byte PAN , c_v-32 + .byte N12 + .byte W12 + .byte VOL , 50*mus_rg_kenkyu_mvl/mxv + .byte PAN , c_v+32 + .byte N06 , An3 , v064 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOL , 50*mus_rg_kenkyu_mvl/mxv + .byte N24 , Cn4 , v096 + .byte W12 + .byte VOL , 30*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 20*mus_rg_kenkyu_mvl/mxv + .byte PAN , c_v-32 + .byte N24 + .byte W12 + .byte VOL , 10*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 50*mus_rg_kenkyu_mvl/mxv + .byte N24 , Bn3 + .byte W12 + .byte VOL , 30*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 20*mus_rg_kenkyu_mvl/mxv + .byte PAN , c_v+32 + .byte N24 + .byte W12 + .byte VOL , 10*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 50*mus_rg_kenkyu_mvl/mxv + .byte PAN , c_v-32 + .byte N24 , Cn4 + .byte W12 + .byte VOL , 30*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 20*mus_rg_kenkyu_mvl/mxv + .byte PAN , c_v+32 + .byte N24 + .byte W12 + .byte VOL , 10*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 50*mus_rg_kenkyu_mvl/mxv + .byte N24 , En4 + .byte W12 + .byte VOL , 30*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 20*mus_rg_kenkyu_mvl/mxv + .byte PAN , c_v-32 + .byte N24 + .byte W12 + .byte VOL , 10*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 50*mus_rg_kenkyu_mvl/mxv + .byte N24 , Dn4 + .byte W12 + .byte VOL , 30*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 20*mus_rg_kenkyu_mvl/mxv + .byte PAN , c_v+32 + .byte N24 + .byte W12 + .byte VOL , 10*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 50*mus_rg_kenkyu_mvl/mxv + .byte N24 , Gn4 + .byte W12 + .byte VOL , 30*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 20*mus_rg_kenkyu_mvl/mxv + .byte PAN , c_v-32 + .byte N24 + .byte W12 + .byte VOL , 10*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 50*mus_rg_kenkyu_mvl/mxv + .byte PAN , c_v-32 + .byte N24 , Fs4 + .byte W12 + .byte VOL , 30*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 50*mus_rg_kenkyu_mvl/mxv + .byte PAN , c_v+32 + .byte N24 , Gn4 + .byte W12 + .byte VOL , 30*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 50*mus_rg_kenkyu_mvl/mxv + .byte PAN , c_v-32 + .byte N24 , En4 + .byte W12 + .byte VOL , 30*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 50*mus_rg_kenkyu_mvl/mxv + .byte PAN , c_v+32 + .byte N24 , Fs4 + .byte W12 + .byte VOL , 30*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte PAN , c_v-32 + .byte VOL , 50*mus_rg_kenkyu_mvl/mxv + .byte N24 , Dn4 + .byte W12 + .byte VOL , 30*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 20*mus_rg_kenkyu_mvl/mxv + .byte PAN , c_v+32 + .byte N24 , Dn4 , v120 + .byte W12 + .byte VOL , 10*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte 50*mus_rg_kenkyu_mvl/mxv + .byte N24 , Fs4 , v096 + .byte W12 + .byte VOL , 30*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte PAN , c_v-32 + .byte VOL , 20*mus_rg_kenkyu_mvl/mxv + .byte N24 , Fs4 , v120 + .byte W12 + .byte VOL , 10*mus_rg_kenkyu_mvl/mxv + .byte W12 + .byte GOTO + .word mus_rg_kenkyu_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_kenkyu_5: + .byte KEYSH , mus_rg_kenkyu_key+0 + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte VOL , 24*mus_rg_kenkyu_mvl/mxv + .byte N06 , Dn3 , v120 + .byte W06 + .byte Dn2 + .byte W06 + .byte En2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte An2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cn3 + .byte W06 +mus_rg_kenkyu_5_B1: + .byte PAN , c_v-64 + .byte N01 , Dn3 , v120 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Bn2 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Cn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Cs3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Dn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Fs3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Dn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Bn2 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Cn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Cs3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Dn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Fs3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , As3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Bn3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Fs3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Dn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Bn2 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Cn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Dn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Bn2 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Cn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Cs3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Dn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Fs3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Bn2 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Cn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Dn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Fs3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , An3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Fs3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Dn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Fs3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Dn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Fs3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Dn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Bn2 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Cn3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Bn2 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , An2 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Gn2 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , An2 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Bn2 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Cn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Dn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Cs3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Cn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Bn2 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Gn2 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Cn3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Cn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Gn2 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , En2 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Bn2 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Cn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Bn2 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Fs3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Dn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Bn2 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Fs3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Bn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , An3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Fs3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Dn3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Cn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Dn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Fs3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , An3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Fs3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Dn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Cn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Dn3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Fs3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , An3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Dn3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Cn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Bn2 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Dn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , An2 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Cn3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Dn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Fs3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , An3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Fs3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Dn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Cs3 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Dn3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , An2 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Fs2 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Dn2 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Fs2 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , An2 + .byte W06 + .byte PAN , c_v+0 + .byte N01 , Cs3 + .byte W06 + .byte GOTO + .word mus_rg_kenkyu_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_kenkyu_6: + .byte KEYSH , mus_rg_kenkyu_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 25*mus_rg_kenkyu_mvl/mxv + .byte BEND , c_v+1 + .byte N06 , Gn1 , v120 + .byte W06 + .byte Dn2 + .byte W06 + .byte Gn2 , v127 + .byte W06 + .byte Fs2 , v120 + .byte W06 + .byte En2 , v127 + .byte W06 + .byte Dn2 , v120 + .byte W06 + .byte Cn2 , v127 + .byte W06 + .byte Bn1 , v120 + .byte W06 +mus_rg_kenkyu_6_B1: + .byte N12 , Gn1 , v127 + .byte W12 + .byte N03 , Dn2 + .byte W12 + .byte N12 , Cs2 , v120 + .byte W12 + .byte N03 , Dn2 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte N03 , Dn2 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte N03 , Fs2 + .byte W12 + .byte N12 , Dn2 , v120 + .byte W12 + .byte N03 , Fs2 , v127 + .byte W12 + .byte Bn1 , v120 + .byte W06 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N06 , Fs2 , v127 + .byte W06 + .byte N12 , Dn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte N03 , Bn1 + .byte W12 + .byte N12 , As1 , v120 + .byte W12 + .byte N03 , Bn1 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N03 , Bn1 + .byte W12 + .byte N12 , Fs1 + .byte W12 + .byte N03 , Dn2 + .byte W12 + .byte N12 , Bn1 , v120 + .byte W12 + .byte N03 , Dn2 , v127 + .byte W12 + .byte Fs1 , v120 + .byte W06 + .byte N06 , Dn1 + .byte W06 + .byte N03 , Dn2 , v127 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Dn2 , v120 + .byte W06 + .byte N06 , Bn1 + .byte W06 + .byte N03 , Dn2 , v127 + .byte W06 + .byte N06 , Fs2 , v120 + .byte W06 + .byte N12 , Cn2 , v127 + .byte W12 + .byte N03 , En2 + .byte W24 + .byte N03 + .byte W18 + .byte Cn2 , v120 + .byte W06 + .byte N06 , Gn1 , v127 + .byte W06 + .byte N03 , Gn2 , v120 + .byte W06 + .byte N12 , Cn2 , v127 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte N03 , Gn2 + .byte W24 + .byte N03 + .byte W24 + .byte N03 + .byte W06 + .byte N06 , Dn2 , v120 + .byte W06 + .byte N03 , Bn1 , v127 + .byte W06 + .byte N06 , Gn1 , v120 + .byte W06 + .byte N03 , Bn1 , v127 + .byte W06 + .byte N06 , Gn2 , v120 + .byte W06 + .byte N12 , An1 , v127 + .byte W12 + .byte N03 , Fs2 + .byte W12 + .byte N12 , Fn2 , v120 + .byte W12 + .byte N03 , Fs2 , v127 + .byte W12 + .byte N12 , Cn2 + .byte W12 + .byte N03 , En2 + .byte W12 + .byte N12 , Dn2 , v120 + .byte W12 + .byte N03 , An1 , v127 + .byte W12 + .byte N06 , Dn2 + .byte W24 + .byte N12 , Fs2 + .byte W12 + .byte N03 , Dn2 , v120 + .byte W12 + .byte N12 , En2 , v127 + .byte W12 + .byte N03 , Cn2 , v120 + .byte W12 + .byte N12 , Dn2 , v127 + .byte W12 + .byte N03 , An1 , v120 + .byte W12 + .byte GOTO + .word mus_rg_kenkyu_6_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_kenkyu: + .byte 6 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_kenkyu_pri @ Priority + .byte mus_rg_kenkyu_rev @ Reverb. + + .word mus_rg_kenkyu_grp + + .word mus_rg_kenkyu_1 + .word mus_rg_kenkyu_2 + .word mus_rg_kenkyu_3 + .word mus_rg_kenkyu_4 + .word mus_rg_kenkyu_5 + .word mus_rg_kenkyu_6 + + .end diff --git a/sound/songs/mus_rg_kinomikui.s b/sound/songs/mus_rg_kinomikui.s new file mode 100644 index 0000000000..c7ef2f6716 --- /dev/null +++ b/sound/songs/mus_rg_kinomikui.s @@ -0,0 +1,2699 @@ + .include "MPlayDef.s" + + .equ mus_rg_kinomikui_grp, voicegroup_86A15B8 + .equ mus_rg_kinomikui_pri, 0 + .equ mus_rg_kinomikui_rev, reverb_set+50 + .equ mus_rg_kinomikui_mvl, 127 + .equ mus_rg_kinomikui_key, 0 + .equ mus_rg_kinomikui_tbs, 1 + .equ mus_rg_kinomikui_exg, 0 + .equ mus_rg_kinomikui_cmp, 1 + + .section .rodata + .global mus_rg_kinomikui + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_kinomikui_1: + .byte KEYSH , mus_rg_kinomikui_key+0 + .byte TEMPO , 148*mus_rg_kinomikui_tbs/2 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+32 + .byte VOL , 63*mus_rg_kinomikui_mvl/mxv + .byte N06 , Bn2 , v096 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 +mus_rg_kinomikui_1_B1: + .byte VOL , 63*mus_rg_kinomikui_mvl/mxv + .byte N36 , Bn3 , v080 + .byte W12 + .byte MOD , 7 + .byte VOL , 56*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 50*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_kinomikui_mvl/mxv + .byte N12 , As3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W96 + .byte N24 , Ds3 , v072 + .byte W24 + .byte As2 + .byte W24 + .byte Fs3 + .byte W24 + .byte Cs3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Bn3 + .byte W12 + .byte N48 , As3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 56*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 49*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_kinomikui_mvl/mxv + .byte N12 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cs4 + .byte W12 +mus_rg_kinomikui_1_000: + .byte MOD , 0 + .byte N36 , As3 , v072 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N12 , Fs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte PEND + .byte MOD , 0 + .byte N48 , Gs3 + .byte W24 + .byte MOD , 7 + .byte VOL , 56*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 51*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_kinomikui_mvl/mxv + .byte N48 , Fn3 + .byte W24 + .byte MOD , 7 + .byte VOL , 56*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 51*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_kinomikui_mvl/mxv + .byte N24 + .byte W24 + .byte Cs3 + .byte W24 + .byte Gs3 + .byte W24 + .byte Fn3 + .byte W24 + .byte MOD , 0 + .byte N12 , Cs4 + .byte W12 + .byte N48 , Bn3 + .byte W12 + .byte MOD , 7 + .byte VOL , 56*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 51*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 45*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_kinomikui_mvl/mxv + .byte N12 , Fs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte MOD , 0 + .byte N36 , Fn4 + .byte W15 + .byte MOD , 7 + .byte W21 + .byte 0 + .byte N12 , Ds4 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte An3 + .byte W12 + .byte MOD , 0 + .byte N12 , As3 + .byte W12 + .byte N06 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte N48 , Gs3 + .byte W12 + .byte MOD , 7 + .byte VOL , 56*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 50*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 45*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_kinomikui_mvl/mxv + .byte N24 , Ds3 + .byte W24 + .byte As2 + .byte W24 + .byte Fs3 + .byte W24 + .byte Cs3 + .byte W24 + .byte MOD , 0 + .byte N12 , Bn3 + .byte W12 + .byte N48 , As3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 56*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 48*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_kinomikui_mvl/mxv + .byte N12 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte PATT + .word mus_rg_kinomikui_1_000 + .byte MOD , 0 + .byte N48 , Gs3 , v072 + .byte W24 + .byte MOD , 7 + .byte VOL , 56*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 48*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_kinomikui_mvl/mxv + .byte N24 , Fn3 + .byte W24 + .byte Ds3 + .byte W24 + .byte MOD , 0 + .byte N24 , Fn3 + .byte W24 + .byte Cs3 + .byte W24 + .byte Gs3 + .byte W24 + .byte Fn3 + .byte W24 + .byte MOD , 0 + .byte N12 , Cs4 + .byte W12 + .byte N48 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 56*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 50*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_kinomikui_mvl/mxv + .byte N12 , Gs3 + .byte W12 + .byte As3 + .byte W12 + .byte Bn3 + .byte W12 + .byte MOD , 0 + .byte N24 , Cs4 + .byte W24 + .byte Bn3 + .byte W24 + .byte N12 , Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N24 , Fs3 + .byte W24 + .byte Cs3 + .byte W24 + .byte N12 , Fs3 + .byte W12 + .byte N24 + .byte W24 + .byte N24 + .byte W12 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte En3 + .byte W12 + .byte N60 , Fn3 + .byte W12 + .byte MOD , 7 + .byte VOL , 56*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 49*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 44*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 38*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 63*mus_rg_kinomikui_mvl/mxv + .byte N12 , Cs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N48 , Fs3 + .byte W12 + .byte MOD , 7 + .byte VOL , 56*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 50*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 45*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_kinomikui_mvl/mxv + .byte N24 , Fn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte Gs3 + .byte W24 + .byte Fn3 + .byte W24 + .byte N18 , Fs3 + .byte W18 + .byte N06 , Fn3 + .byte W06 + .byte N12 , Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N60 , Fs3 + .byte W12 + .byte MOD , 7 + .byte VOL , 56*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 49*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 45*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 63*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte N12 , Cs3 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte N12 , Ds3 + .byte W12 + .byte En3 + .byte W12 + .byte N60 , Fn3 + .byte W12 + .byte MOD , 7 + .byte VOL , 56*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 49*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 45*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 63*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte N12 , Cs3 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte N12 , Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N48 , Fs3 + .byte W12 + .byte MOD , 7 + .byte VOL , 56*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 49*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 45*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_kinomikui_mvl/mxv + .byte N24 , Fn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte Gs3 + .byte W24 + .byte Bn3 + .byte W24 + .byte N12 , As3 + .byte W12 + .byte N06 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte N48 , As3 + .byte W12 + .byte MOD , 7 + .byte VOL , 56*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 49*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 45*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte GOTO + .word mus_rg_kinomikui_1_B1 + .byte MOD , 0 + .byte VOL , 63*mus_rg_kinomikui_mvl/mxv + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_kinomikui_2: + .byte KEYSH , mus_rg_kinomikui_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 90*mus_rg_kinomikui_mvl/mxv + .byte N06 , Fs3 , v120 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 +mus_rg_kinomikui_2_B1: + .byte VOL , 90*mus_rg_kinomikui_mvl/mxv + .byte N36 , Ds4 , v127 + .byte W12 + .byte MOD , 7 + .byte VOL , 79*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 68*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_kinomikui_mvl/mxv + .byte N12 , Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W60 + .byte N06 , Cs3 , v120 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , Fs3 , v127 + .byte W24 + .byte Cs3 + .byte W24 + .byte As3 + .byte W24 + .byte Fs3 + .byte W12 + .byte MOD , 7 + .byte W12 +mus_rg_kinomikui_2_000: + .byte MOD , 0 + .byte N12 , Ds4 , v127 + .byte W12 + .byte N84 , Cs4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 85*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 79*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 72*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 68*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 62*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte PEND + .byte MOD , 0 + .byte VOL , 90*mus_rg_kinomikui_mvl/mxv + .byte N36 , Fs4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N12 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte As3 + .byte W12 +mus_rg_kinomikui_2_001: + .byte MOD , 0 + .byte N96 , Bn3 , v127 + .byte W24 + .byte MOD , 7 + .byte W12 + .byte VOL , 85*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 79*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 72*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 68*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 62*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte PEND + .byte MOD , 0 + .byte VOL , 90*mus_rg_kinomikui_mvl/mxv + .byte N24 , Gs3 + .byte W24 + .byte Fn3 + .byte W24 + .byte Bn3 + .byte W24 + .byte Gs3 + .byte W24 +mus_rg_kinomikui_2_002: + .byte MOD , 0 + .byte N12 , Fn4 , v127 + .byte W12 + .byte N84 , Ds4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 85*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 79*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 72*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 68*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 62*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte PEND + .byte 90*mus_rg_kinomikui_mvl/mxv + .byte MOD , 0 + .byte N36 , Gs4 + .byte W12 + .byte VOL , 79*mus_rg_kinomikui_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W09 + .byte VOL , 68*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_kinomikui_mvl/mxv + .byte N12 , Fs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte MOD , 0 + .byte N96 , Cs4 + .byte W24 + .byte MOD , 7 + .byte W12 + .byte VOL , 85*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 79*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 72*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 68*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 62*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 90*mus_rg_kinomikui_mvl/mxv + .byte MOD , 0 + .byte N24 , Fs3 + .byte W24 + .byte Cs3 + .byte W24 + .byte As3 + .byte W24 + .byte Fs3 + .byte W24 + .byte PATT + .word mus_rg_kinomikui_2_000 + .byte VOL , 90*mus_rg_kinomikui_mvl/mxv + .byte MOD , 0 + .byte N36 , Fs4 , v127 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N12 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte PATT + .word mus_rg_kinomikui_2_001 + .byte VOL , 90*mus_rg_kinomikui_mvl/mxv + .byte MOD , 0 + .byte N24 , Gs3 , v127 + .byte W24 + .byte Fn3 + .byte W24 + .byte Bn3 + .byte W24 + .byte Gs3 + .byte W24 + .byte PATT + .word mus_rg_kinomikui_2_002 + .byte VOL , 90*mus_rg_kinomikui_mvl/mxv + .byte MOD , 0 + .byte N36 , Gs4 , v127 + .byte W12 + .byte VOL , 79*mus_rg_kinomikui_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W09 + .byte VOL , 68*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 90*mus_rg_kinomikui_mvl/mxv + .byte MOD , 0 + .byte N12 , Fs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gs4 + .byte W12 + .byte As4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N06 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N12 , Fs4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte N60 , Fn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 83*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 79*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 73*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 68*mus_rg_kinomikui_mvl/mxv + .byte MOD , 0 + .byte N12 , Cs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Fn4 + .byte W12 +mus_rg_kinomikui_2_003: + .byte VOL , 90*mus_rg_kinomikui_mvl/mxv + .byte N60 , Fs4 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 83*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 79*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 73*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_kinomikui_mvl/mxv + .byte N12 , Cs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte PEND + .byte N24 , Gs4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte Bn4 + .byte W24 + .byte N18 , As4 , v120 + .byte W18 + .byte N06 , Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte N03 , Bn4 , v092 + .byte W03 + .byte As4 , v080 + .byte W03 + .byte N12 , Gs4 , v127 + .byte W12 + .byte Fs4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte N60 , Fn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 83*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 79*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 73*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 68*mus_rg_kinomikui_mvl/mxv + .byte N12 , Cs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte PATT + .word mus_rg_kinomikui_2_003 + .byte N24 , Gs4 , v127 + .byte W24 + .byte Fn4 + .byte W24 + .byte Bn4 + .byte W24 + .byte Gs4 + .byte W24 + .byte N96 , Cs5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 83*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 79*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 72*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 68*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 61*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte 56*mus_rg_kinomikui_mvl/mxv + .byte W12 + .byte GOTO + .word mus_rg_kinomikui_2_B1 + .byte MOD , 0 + .byte VOL , 90*mus_rg_kinomikui_mvl/mxv + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_kinomikui_3: + .byte KEYSH , mus_rg_kinomikui_key+0 + .byte VOICE , 87 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-64 + .byte VOL , 44*mus_rg_kinomikui_mvl/mxv + .byte N06 , Ds2 , v120 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 +mus_rg_kinomikui_3_B1: + .byte N36 , Ds3 , v127 + .byte W36 + .byte N12 , Cs3 , v120 + .byte W12 + .byte N06 , Gs2 + .byte W12 + .byte As2 , v127 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte N12 , Cs3 + .byte W48 + .byte VOICE , 80 + .byte W12 + .byte N06 , Cs2 + .byte W12 + .byte Ds2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v-64 + .byte VOL , 28*mus_rg_kinomikui_mvl/mxv + .byte N06 , Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , As2 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , As2 + .byte W12 +mus_rg_kinomikui_3_000: + .byte PAN , c_v-64 + .byte N06 , Fs2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , As2 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cs2 + .byte W12 + .byte Ds2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fn2 + .byte W12 + .byte PEND +mus_rg_kinomikui_3_001: + .byte PAN , c_v-64 + .byte N06 , Fs2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cs3 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cs3 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cs3 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cs3 + .byte W12 + .byte PEND +mus_rg_kinomikui_3_002: + .byte PAN , c_v-64 + .byte N06 , Fn2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Bn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Bn2 + .byte W12 + .byte PEND +mus_rg_kinomikui_3_003: + .byte PAN , c_v-64 + .byte N06 , Fn2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gs2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gs2 + .byte W12 + .byte PEND + .byte PAN , c_v-64 + .byte N06 , Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gs2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cs2 + .byte W12 + .byte Ds2 , v120 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fn2 + .byte W12 +mus_rg_kinomikui_3_004: + .byte PAN , c_v-64 + .byte N06 , Gs2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Bn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Bn2 + .byte W12 + .byte PEND + .byte PAN , c_v-64 + .byte N06 , Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Bn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gs2 + .byte W12 +mus_rg_kinomikui_3_005: + .byte PAN , c_v-64 + .byte N06 , Fs2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , As2 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , As2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_kinomikui_3_000 + .byte PATT + .word mus_rg_kinomikui_3_001 + .byte PATT + .word mus_rg_kinomikui_3_002 + .byte PAN , c_v-64 + .byte N06 , Fn2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gs2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Ds2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gs2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cs2 + .byte W12 + .byte Ds2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cs3 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cs3 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cs3 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 , Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 , Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 + .byte W24 + .byte PAN , c_v-64 + .byte N06 , Cs3 + .byte W12 + .byte PATT + .word mus_rg_kinomikui_3_003 + .byte PATT + .word mus_rg_kinomikui_3_005 + .byte PATT + .word mus_rg_kinomikui_3_004 + .byte PAN , c_v-64 + .byte N06 , Fs2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , As2 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fs2 + .byte W12 + .byte PATT + .word mus_rg_kinomikui_3_003 + .byte PATT + .word mus_rg_kinomikui_3_005 + .byte PATT + .word mus_rg_kinomikui_3_004 + .byte PATT + .word mus_rg_kinomikui_3_000 + .byte GOTO + .word mus_rg_kinomikui_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_kinomikui_4: + .byte KEYSH , mus_rg_kinomikui_key+0 + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 56*mus_rg_kinomikui_mvl/mxv + .byte W24 +mus_rg_kinomikui_4_B1: + .byte N36 , Ds2 , v120 + .byte W36 + .byte N12 , Cs2 + .byte W12 + .byte N06 , Bn1 + .byte W12 + .byte As1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte N12 , Cs1 + .byte W60 + .byte N06 , Bn1 + .byte W12 + .byte As1 + .byte W12 + .byte Gs1 + .byte W12 +mus_rg_kinomikui_4_000: + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , As2 , v096 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , As2 , v096 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , As2 , v096 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , As2 , v096 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte PEND + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , As2 , v096 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Bn2 , v096 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte N12 , As1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , As2 , v096 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v100 + .byte W06 + .byte Cs3 , v032 + .byte W06 +mus_rg_kinomikui_4_001: + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Gs3 , v096 + .byte W06 + .byte Gs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte PEND + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Bn1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Bn1 , v120 + .byte W12 + .byte N06 , Bn2 , v096 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte PATT + .word mus_rg_kinomikui_4_000 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , As1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , As2 , v096 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte PATT + .word mus_rg_kinomikui_4_001 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Bn1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Bn1 , v120 + .byte W12 + .byte N06 , Bn3 , v088 + .byte W06 + .byte Bn3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , As2 , v096 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Bn1 , v120 + .byte W12 + .byte As1 + .byte W12 + .byte Gs1 + .byte W12 + .byte N06 , Gs3 , v096 + .byte W06 + .byte Gs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , As1 , v120 + .byte W12 + .byte N06 , As3 , v096 + .byte W06 + .byte As3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , As1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Bn3 , v096 + .byte W06 + .byte Bn3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , As3 , v096 + .byte W06 + .byte As3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Cs4 , v072 + .byte W06 + .byte Cs4 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Bn2 , v096 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Gs3 , v096 + .byte W06 + .byte Gs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Ds1 , v120 + .byte W12 + .byte N06 , Bn3 , v096 + .byte W06 + .byte Bn3 , v032 + .byte W06 + .byte N12 , En1 , v120 + .byte W12 + .byte N06 , Gs3 , v096 + .byte W06 + .byte Gs3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , As3 , v096 + .byte W06 + .byte As3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Gs3 , v096 + .byte W06 + .byte Gs3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Cs1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte GOTO + .word mus_rg_kinomikui_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_kinomikui_5: + .byte KEYSH , mus_rg_kinomikui_key+0 + .byte VOICE , 73 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 50*mus_rg_kinomikui_mvl/mxv + .byte W24 +mus_rg_kinomikui_5_B1: + .byte VOICE , 73 + .byte W96 + .byte W12 + .byte N06 , Cs5 , v127 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cn5 + .byte W06 + .byte N03 , Cs5 + .byte W03 + .byte Ds5 , v120 + .byte W03 + .byte Cs5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Cs5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Cs5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Cs5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Cs5 , v096 + .byte W03 + .byte Ds5 , v076 + .byte W03 + .byte Cs5 , v068 + .byte W03 + .byte Ds5 , v060 + .byte W03 + .byte Cs5 + .byte W03 + .byte Ds5 , v032 + .byte W03 + .byte W96 + .byte VOL , 40*mus_rg_kinomikui_mvl/mxv + .byte N06 , Cs5 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte As4 + .byte W12 + .byte Gs4 + .byte W12 + .byte W96 + .byte W12 + .byte N06 , Cs6 + .byte W06 + .byte Cn6 + .byte W06 + .byte Cs6 + .byte W12 + .byte N06 + .byte W06 + .byte Cn6 + .byte W06 + .byte N03 , Cs6 + .byte W03 + .byte Dn6 , v060 + .byte W03 + .byte Cs6 , v120 + .byte W03 + .byte Dn6 , v064 + .byte W03 + .byte Cs6 , v120 + .byte W03 + .byte Dn6 , v060 + .byte W03 + .byte Cs6 , v120 + .byte W03 + .byte Dn6 , v060 + .byte W03 + .byte Cs6 , v092 + .byte W03 + .byte Dn6 , v040 + .byte W03 + .byte Cs6 , v064 + .byte W03 + .byte Dn6 , v028 + .byte W03 + .byte Cs6 , v064 + .byte W03 + .byte Dn6 , v028 + .byte W03 + .byte Cs6 , v060 + .byte W03 + .byte Dn6 , v032 + .byte W03 + .byte W96 + .byte N06 , As5 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte Gs5 + .byte W06 + .byte Fs5 + .byte W12 + .byte N06 + .byte W06 + .byte Fn5 + .byte W06 + .byte Ds5 + .byte W12 + .byte N06 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte W96 + .byte VOICE , 73 + .byte N06 , Cs6 + .byte W12 + .byte N06 + .byte W06 + .byte Cn6 + .byte W06 + .byte Cs6 + .byte W06 + .byte Cn6 + .byte W06 + .byte Cs6 + .byte W06 + .byte Ds6 + .byte W06 + .byte N12 , Cs6 + .byte W12 + .byte Bn5 + .byte W12 + .byte As5 + .byte W12 + .byte Gs5 + .byte W12 + .byte W96 + .byte VOICE , 14 + .byte VOL , 50*mus_rg_kinomikui_mvl/mxv + .byte W24 + .byte N24 , Fn5 + .byte W24 + .byte Ds5 + .byte W24 + .byte Cs5 + .byte W24 + .byte W96 + .byte W24 + .byte Fs5 + .byte W24 + .byte Fn5 + .byte W24 + .byte Ds5 + .byte W24 + .byte Gs5 + .byte W96 + .byte W24 + .byte Fn5 + .byte W24 + .byte Ds5 + .byte W24 + .byte Fn5 + .byte W24 + .byte Gs5 + .byte W48 + .byte Cs5 + .byte W48 + .byte VOICE , 14 + .byte N24 , Fs5 + .byte W24 + .byte Cs5 + .byte W24 + .byte Fs5 + .byte W48 + .byte VOICE , 73 + .byte VOL , 38*mus_rg_kinomikui_mvl/mxv + .byte N03 , Gn5 + .byte W03 + .byte N09 , Fs5 + .byte W09 + .byte N12 , Fn5 + .byte W12 + .byte N06 , Ds5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte Fn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte N06 , As5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte N24 , Bn4 + .byte W24 + .byte Gs4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Ds5 + .byte W24 + .byte N06 , Fs5 + .byte W12 + .byte N06 + .byte W06 + .byte Fn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N03 , Fs5 + .byte W03 + .byte Gs5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Gs5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Gs5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Gs5 + .byte W03 + .byte Fs5 , v096 + .byte W03 + .byte Gs5 , v076 + .byte W03 + .byte Fs5 , v088 + .byte W03 + .byte Gs5 , v064 + .byte W03 + .byte Fs5 + .byte W03 + .byte Gs5 , v048 + .byte W03 + .byte Fs5 , v056 + .byte W03 + .byte Gs5 , v032 + .byte W03 + .byte VOICE , 14 + .byte N24 , Fn5 , v120 + .byte W48 + .byte Cs5 + .byte W48 + .byte VOL , 48*mus_rg_kinomikui_mvl/mxv + .byte N24 , Fs5 + .byte W48 + .byte Cs5 + .byte W48 + .byte Gs5 + .byte W24 + .byte Fn5 + .byte W24 + .byte Bn5 + .byte W24 + .byte Gs5 + .byte W24 + .byte Cs6 + .byte W96 + .byte GOTO + .word mus_rg_kinomikui_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_kinomikui_6: + .byte KEYSH , mus_rg_kinomikui_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 49*mus_rg_kinomikui_mvl/mxv + .byte PAN , c_v+32 + .byte W24 +mus_rg_kinomikui_6_B1: + .byte N12 , Ds2 , v120 + .byte W24 + .byte PAN , c_v-32 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte Gs1 , v080 + .byte W06 + .byte N12 , Gs1 , v120 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Gs2 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Cs3 + .byte W12 + .byte N24 , Cs2 + .byte W96 + .byte Fs1 + .byte W96 + .byte PAN , c_v+32 + .byte W24 + .byte N12 , Cs2 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , As1 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Gs1 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Fs1 + .byte W96 + .byte PAN , c_v+32 + .byte N12 , Gs2 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Cs2 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Gs2 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Cs2 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Gs1 + .byte W96 + .byte W96 + .byte Cs2 + .byte W96 + .byte N24 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Gs1 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Cs2 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Gs1 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Fs1 + .byte W72 + .byte PAN , c_v-32 + .byte N12 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Cs2 + .byte W96 + .byte N24 + .byte W48 + .byte PAN , c_v-32 + .byte N24 , Fs1 + .byte W48 + .byte PAN , c_v+32 + .byte N24 , Bn1 + .byte W96 + .byte W96 + .byte PAN , c_v-32 + .byte N24 + .byte W96 + .byte W96 + .byte PAN , c_v+32 + .byte N24 , Fs2 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Cs2 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Fs2 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte N12 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Cs2 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Fs2 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Cs2 + .byte W24 + .byte W48 + .byte N12 + .byte W48 + .byte W48 + .byte Fs1 + .byte W48 + .byte W48 + .byte PAN , c_v+32 + .byte N12 , Gs2 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Cs2 + .byte W24 + .byte W96 + .byte GOTO + .word mus_rg_kinomikui_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_kinomikui_7: + .byte KEYSH , mus_rg_kinomikui_key+0 + .byte VOICE , 0 + .byte VOL , 74*mus_rg_kinomikui_mvl/mxv + .byte W24 +mus_rg_kinomikui_7_B1: + .byte N48 , Cs2 , v120 + .byte W48 + .byte An2 + .byte W48 + .byte Gn2 + .byte W96 + .byte An2 + .byte W96 + .byte W96 + .byte Cs2 + .byte W96 + .byte N12 + .byte W96 + .byte N48 , An2 + .byte W96 + .byte W96 + .byte N48 + .byte W96 + .byte W96 + .byte Gn2 + .byte W96 + .byte N24 , An2 + .byte W96 + .byte Gn2 + .byte W48 + .byte Cs2 + .byte W48 + .byte Bn2 + .byte W96 + .byte N48 , Cs2 + .byte W96 + .byte N24 , An2 + .byte W96 + .byte N48 , Bn2 + .byte W48 + .byte Cs2 + .byte W48 + .byte W72 + .byte N24 , An2 + .byte W24 + .byte N48 , Cs2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte An2 + .byte W96 + .byte Cs2 + .byte W96 + .byte Bn2 + .byte W96 + .byte Cs2 + .byte W96 + .byte GOTO + .word mus_rg_kinomikui_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_kinomikui_8: + .byte KEYSH , mus_rg_kinomikui_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 41*mus_rg_kinomikui_mvl/mxv + .byte W24 +mus_rg_kinomikui_8_B1: + .byte N01 , Gn3 , v120 + .byte W36 + .byte N01 + .byte W03 + .byte Gn3 , v064 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W12 + .byte N01 + .byte W03 + .byte Gn3 , v064 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W06 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v120 + .byte W60 + .byte Gn3 , v064 + .byte W12 + .byte N01 + .byte W12 + .byte Gn3 , v120 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 +mus_rg_kinomikui_8_000: + .byte N01 , Gn3 , v120 + .byte W06 + .byte Gn3 , v048 + .byte W06 + .byte Gn3 , v112 + .byte W12 + .byte Gn3 , v048 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v052 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W12 + .byte PEND +mus_rg_kinomikui_8_001: + .byte N01 , Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v044 + .byte W03 + .byte Gn3 , v100 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_kinomikui_8_000 +mus_rg_kinomikui_8_002: + .byte N01 , Gn3 , v120 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W06 + .byte Gn3 , v040 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte N01 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_kinomikui_8_000 + .byte N01 , Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v040 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PATT + .word mus_rg_kinomikui_8_000 + .byte PATT + .word mus_rg_kinomikui_8_002 +mus_rg_kinomikui_8_003: + .byte N01 , Gn3 , v120 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W06 + .byte Gn3 , v048 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v064 + .byte W12 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte PEND +mus_rg_kinomikui_8_004: + .byte N01 , Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v108 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v064 + .byte W12 + .byte PEND +mus_rg_kinomikui_8_005: + .byte N01 , Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte Gn3 , v108 + .byte W12 + .byte Gn3 , v084 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte PEND + .byte N01 + .byte W12 + .byte Gn3 , v048 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v108 + .byte W06 + .byte Gn3 , v120 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PATT + .word mus_rg_kinomikui_8_000 + .byte PATT + .word mus_rg_kinomikui_8_002 + .byte PATT + .word mus_rg_kinomikui_8_000 + .byte N01 , Gn3 , v120 + .byte W12 + .byte N01 + .byte W12 + .byte N01 + .byte W06 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v096 + .byte W06 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PATT + .word mus_rg_kinomikui_8_000 + .byte PATT + .word mus_rg_kinomikui_8_001 + .byte PATT + .word mus_rg_kinomikui_8_000 + .byte PATT + .word mus_rg_kinomikui_8_002 + .byte PATT + .word mus_rg_kinomikui_8_002 + .byte PATT + .word mus_rg_kinomikui_8_003 + .byte PATT + .word mus_rg_kinomikui_8_004 + .byte PATT + .word mus_rg_kinomikui_8_005 + .byte GOTO + .word mus_rg_kinomikui_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_kinomikui: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_kinomikui_pri @ Priority + .byte mus_rg_kinomikui_rev @ Reverb. + + .word mus_rg_kinomikui_grp + + .word mus_rg_kinomikui_1 + .word mus_rg_kinomikui_2 + .word mus_rg_kinomikui_3 + .word mus_rg_kinomikui_4 + .word mus_rg_kinomikui_5 + .word mus_rg_kinomikui_6 + .word mus_rg_kinomikui_7 + .word mus_rg_kinomikui_8 + + .end diff --git a/sound/songs/mus_rg_kuchiba.s b/sound/songs/mus_rg_kuchiba.s new file mode 100644 index 0000000000..7e5c3f5264 --- /dev/null +++ b/sound/songs/mus_rg_kuchiba.s @@ -0,0 +1,2537 @@ + .include "MPlayDef.s" + + .equ mus_rg_kuchiba_grp, voicegroup_86AEB6C + .equ mus_rg_kuchiba_pri, 0 + .equ mus_rg_kuchiba_rev, reverb_set+50 + .equ mus_rg_kuchiba_mvl, 127 + .equ mus_rg_kuchiba_key, 0 + .equ mus_rg_kuchiba_tbs, 1 + .equ mus_rg_kuchiba_exg, 0 + .equ mus_rg_kuchiba_cmp, 1 + + .section .rodata + .global mus_rg_kuchiba + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_kuchiba_1: + .byte KEYSH , mus_rg_kuchiba_key+0 +mus_rg_kuchiba_1_B1: + .byte TEMPO , 116*mus_rg_kuchiba_tbs/2 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 34*mus_rg_kuchiba_mvl/mxv + .byte N24 , An3 , v127 + .byte W24 + .byte PAN , c_v-16 + .byte N06 , Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N12 , An3 + .byte W12 + .byte PAN , c_v+32 + .byte N24 , Dn4 + .byte W24 + .byte PAN , c_v+16 + .byte N12 , En4 + .byte W12 + .byte Dn4 + .byte W12 +mus_rg_kuchiba_1_000: + .byte PAN , c_v-32 + .byte N12 , Cs4 , v127 + .byte W12 + .byte Bn3 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte PAN , c_v+32 + .byte N24 , Dn4 + .byte W24 + .byte PAN , c_v+16 + .byte N06 , Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N12 , Dn4 + .byte W12 + .byte PEND + .byte PAN , c_v-32 + .byte N24 , An3 + .byte W24 + .byte PAN , c_v-16 + .byte N12 , Fs3 + .byte W12 + .byte An3 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Fs3 + .byte W06 + .byte Dn3 , v120 + .byte W06 + .byte Gn3 , v127 + .byte W06 + .byte Dn3 , v120 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , An3 , v127 + .byte W06 + .byte Fs3 , v120 + .byte W06 + .byte Bn3 , v127 + .byte W06 + .byte As3 , v120 + .byte W06 + .byte PAN , c_v-32 + .byte N24 , An3 , v127 + .byte W24 + .byte PAN , c_v-16 + .byte N06 , Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N12 , An3 + .byte W12 + .byte PAN , c_v+32 + .byte N24 , Dn4 + .byte W24 + .byte PAN , c_v+16 + .byte N12 , En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte PATT + .word mus_rg_kuchiba_1_000 + .byte PAN , c_v-32 + .byte N24 , An3 , v127 + .byte W24 + .byte PAN , c_v-16 + .byte N06 , Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N12 , An3 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Bn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte PAN , c_v+32 + .byte N24 , Bn3 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , An3 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Bn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Cs4 + .byte W12 + .byte En4 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Dn4 + .byte W12 + .byte Fs4 + .byte W12 +mus_rg_kuchiba_1_001: + .byte PAN , c_v-32 + .byte N12 , Gn4 , v127 + .byte W12 + .byte Fs4 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Fs4 + .byte W12 + .byte An4 + .byte W12 + .byte PEND + .byte PAN , c_v-32 + .byte N12 , Dn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Cs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 + .byte W12 + .byte En4 + .byte W12 + .byte PAN , c_v+16 + .byte N06 , Dn1 , v120 + .byte N12 , Cs4 , v127 + .byte W12 + .byte Dn4 + .byte W12 +mus_rg_kuchiba_1_002: + .byte PAN , c_v-32 + .byte N12 , En4 , v127 + .byte W12 + .byte Dn4 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Cs4 + .byte W12 + .byte En4 + .byte W12 + .byte PEND + .byte PAN , c_v-32 + .byte N06 , Bn3 + .byte W12 + .byte N12 , Cs4 + .byte W12 + .byte PAN , c_v-16 + .byte N06 , Bn3 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Cs4 + .byte W12 + .byte N12 , En4 + .byte W12 + .byte PAN , c_v+16 + .byte N06 , Dn4 + .byte W12 + .byte N12 , Fs4 + .byte W12 + .byte PATT + .word mus_rg_kuchiba_1_001 + .byte PAN , c_v-32 + .byte N12 , Dn4 , v127 + .byte W12 + .byte Gn4 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Cs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 + .byte W12 + .byte En4 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte PATT + .word mus_rg_kuchiba_1_002 + .byte VOICE , 24 + .byte PAN , c_v+40 + .byte VOL , 43*mus_rg_kuchiba_mvl/mxv + .byte N06 , Cs4 , v120 + .byte W06 + .byte N03 , Cs4 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cs4 , v120 + .byte W06 + .byte N01 , Cs4 , v052 + .byte W06 + .byte N03 , Gn4 , v084 + .byte W06 + .byte Bn3 + .byte N01 , Cs4 + .byte W03 + .byte N03 , Cn4 , v088 + .byte W03 + .byte N06 , Cs4 , v120 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte Bn3 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Cs4 + .byte W12 + .byte W06 + .byte N03 , Gs3 , v084 + .byte W03 + .byte Bn3 , v088 + .byte W03 + .byte Cs4 , v120 + .byte W12 + .byte N03 + .byte W06 + .byte N01 , An4 , v116 + .byte W06 + .byte N06 , Cs4 , v052 + .byte W06 + .byte N03 , Gs3 , v072 + .byte N03 , Cs4 + .byte W03 + .byte Bn3 , v080 + .byte W03 + .byte Cs4 , v120 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N01 , En4 , v068 + .byte W03 + .byte Gs4 + .byte W03 + .byte N03 , An4 , v096 + .byte W06 + .byte N06 , An3 , v084 + .byte W12 + .byte GOTO + .word mus_rg_kuchiba_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_kuchiba_2: + .byte KEYSH , mus_rg_kuchiba_key+0 +mus_rg_kuchiba_2_B1: + .byte VOICE , 73 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 78*mus_rg_kuchiba_mvl/mxv + .byte N48 , Dn4 , v100 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte VOL , 56*mus_rg_kuchiba_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 78*mus_rg_kuchiba_mvl/mxv + .byte N24 , Gn4 + .byte W24 + .byte Fs4 + .byte W24 + .byte N36 , En4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 56*mus_rg_kuchiba_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 78*mus_rg_kuchiba_mvl/mxv + .byte N06 , Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte N48 , Fs4 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte VOL , 56*mus_rg_kuchiba_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 78*mus_rg_kuchiba_mvl/mxv + .byte N48 , Dn4 + .byte W12 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte N24 , Gn4 + .byte W24 + .byte Fs4 + .byte W24 + .byte N36 , En4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 56*mus_rg_kuchiba_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 78*mus_rg_kuchiba_mvl/mxv + .byte N06 , Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte N48 , Dn4 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte VOL , 56*mus_rg_kuchiba_mvl/mxv + .byte W12 + .byte VOICE , 4 + .byte VOL , 81*mus_rg_kuchiba_mvl/mxv + .byte MOD , 0 + .byte N48 , Dn5 , v108 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 68*mus_rg_kuchiba_mvl/mxv + .byte W12 + .byte 56*mus_rg_kuchiba_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 81*mus_rg_kuchiba_mvl/mxv + .byte N24 , Gn5 , v076 + .byte W24 + .byte Fs5 + .byte W24 + .byte N36 , En5 , v108 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 68*mus_rg_kuchiba_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 81*mus_rg_kuchiba_mvl/mxv + .byte N06 , Dn5 , v088 + .byte W06 + .byte En5 + .byte W06 + .byte N48 , Fs5 , v084 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 68*mus_rg_kuchiba_mvl/mxv + .byte W12 + .byte 56*mus_rg_kuchiba_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 81*mus_rg_kuchiba_mvl/mxv + .byte N48 , Dn5 , v108 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 68*mus_rg_kuchiba_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 81*mus_rg_kuchiba_mvl/mxv + .byte N24 , Gn5 , v088 + .byte W24 + .byte Fs5 + .byte W24 + .byte N36 , En5 , v108 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 68*mus_rg_kuchiba_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 81*mus_rg_kuchiba_mvl/mxv + .byte N06 , Fs5 , v084 + .byte W06 + .byte En5 , v080 + .byte W06 + .byte N48 , Dn5 , v088 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 68*mus_rg_kuchiba_mvl/mxv + .byte W12 + .byte 56*mus_rg_kuchiba_mvl/mxv + .byte W12 + .byte VOICE , 17 + .byte MOD , 0 + .byte VOL , 90*mus_rg_kuchiba_mvl/mxv + .byte N24 , En4 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , An4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N48 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , En5 , v096 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N24 , Dn5 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Cs5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , An4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N48 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , An4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte VOICE , 24 + .byte MOD , 0 + .byte VOL , 79*mus_rg_kuchiba_mvl/mxv + .byte N06 , En4 + .byte W12 + .byte N12 , En4 , v120 + .byte W12 + .byte N06 , Fs4 , v127 + .byte W12 + .byte N12 , Fs4 , v120 + .byte W12 + .byte N06 , Gn4 , v127 + .byte W06 + .byte En4 , v092 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 , v120 + .byte W06 + .byte An4 , v127 + .byte W12 + .byte N12 , An4 , v120 + .byte W12 + .byte N48 , Bn4 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 68*mus_rg_kuchiba_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 79*mus_rg_kuchiba_mvl/mxv + .byte N48 , En5 , v096 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 68*mus_rg_kuchiba_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 79*mus_rg_kuchiba_mvl/mxv + .byte N12 , Dn5 , v127 + .byte W12 + .byte N06 , Gn4 , v120 + .byte W12 + .byte N24 , Cs5 , v127 + .byte W24 + .byte N06 , Bn4 + .byte W12 + .byte En5 , v120 + .byte W12 + .byte N03 , Bn4 + .byte W03 + .byte Cs5 , v096 + .byte W03 + .byte N06 , Bn4 , v088 + .byte W06 + .byte N12 , An4 , v120 + .byte W12 + .byte N36 , Bn4 , v127 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 68*mus_rg_kuchiba_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 79*mus_rg_kuchiba_mvl/mxv + .byte N06 , Cs5 , v120 + .byte W06 + .byte Bn4 + .byte W06 + .byte N48 , An4 , v127 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 68*mus_rg_kuchiba_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 87*mus_rg_kuchiba_mvl/mxv + .byte N96 , An3 , v120 + .byte W12 + .byte MOD , 5 + .byte W84 + .byte 0 + .byte W24 + .byte VOICE , 73 + .byte VOL , 70*mus_rg_kuchiba_mvl/mxv + .byte W24 + .byte 22*mus_rg_kuchiba_mvl/mxv + .byte N24 + .byte W03 + .byte VOL , 29*mus_rg_kuchiba_mvl/mxv + .byte W06 + .byte 41*mus_rg_kuchiba_mvl/mxv + .byte W03 + .byte 52*mus_rg_kuchiba_mvl/mxv + .byte W03 + .byte 63*mus_rg_kuchiba_mvl/mxv + .byte W03 + .byte 76*mus_rg_kuchiba_mvl/mxv + .byte W06 + .byte N03 , Cs4 + .byte W03 + .byte Dn4 , v088 + .byte W03 + .byte N06 , Cs4 , v120 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte GOTO + .word mus_rg_kuchiba_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_kuchiba_3: + .byte KEYSH , mus_rg_kuchiba_key+0 +mus_rg_kuchiba_3_B1: + .byte VOICE , 80 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-63 + .byte VOL , 44*mus_rg_kuchiba_mvl/mxv + .byte MOD , 3 + .byte N12 , Dn3 , v127 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v-64 + .byte N03 , Bn2 + .byte W03 + .byte Cs3 , v120 + .byte W03 + .byte N06 , Bn2 + .byte W06 + .byte N12 , An2 , v127 + .byte W12 +mus_rg_kuchiba_3_000: + .byte N12 , Dn3 , v127 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte PEND + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Fs2 + .byte W06 + .byte En2 , v120 + .byte W06 + .byte An2 , v127 + .byte W06 + .byte Gs2 , v120 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Dn3 , v127 + .byte W06 + .byte Cs3 , v120 + .byte W06 + .byte Fs3 , v127 + .byte W06 + .byte En3 , v120 + .byte W06 + .byte PATT + .word mus_rg_kuchiba_3_000 + .byte N12 , Cs3 , v127 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Fs3 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte En3 , v127 + .byte W06 + .byte Fs3 , v120 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Dn3 , v127 + .byte W06 + .byte En3 , v120 + .byte W06 + .byte An2 , v127 + .byte W06 + .byte Bn2 , v120 + .byte W06 + .byte N12 , Dn3 , v127 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn3 + .byte W12 + .byte N06 , En3 , v120 + .byte W06 + .byte Fs3 , v127 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , An3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn2 + .byte W06 + .byte An2 , v120 + .byte W06 + .byte Dn3 , v127 + .byte W06 + .byte Cs3 , v120 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , En3 , v127 + .byte W06 + .byte Dn3 , v120 + .byte W06 + .byte Fs3 , v127 + .byte W06 + .byte En3 , v120 + .byte W06 + .byte N12 , An3 , v127 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , Bn2 + .byte W03 + .byte Cs3 , v120 + .byte W03 + .byte N06 , Bn2 + .byte W06 + .byte An2 , v127 + .byte W06 + .byte As2 , v120 + .byte W06 + .byte N12 , Cs3 , v127 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-64 + .byte N03 , Cs3 + .byte W03 + .byte Dn3 , v120 + .byte W03 + .byte N06 , Cs3 + .byte W06 + .byte N12 , Bn2 , v127 + .byte W12 + .byte N12 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En3 + .byte W12 + .byte An2 + .byte W12 + .byte Gn3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En3 , v120 + .byte W12 + .byte An2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En3 + .byte W12 + .byte Dn3 , v120 + .byte W12 + .byte PAN , c_v-64 + .byte N03 , Cs3 , v127 + .byte W03 + .byte Dn3 , v120 + .byte W03 + .byte N06 , Cs3 + .byte W06 + .byte N12 , Bn2 , v127 + .byte W12 + .byte N12 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En3 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W06 + .byte Gs2 , v120 + .byte W06 + .byte An2 , v127 + .byte W06 + .byte Bn2 , v120 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , Cs3 , v127 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N03 , Gn2 + .byte W03 + .byte An2 , v120 + .byte W03 + .byte N06 , Gn2 + .byte W06 + .byte N12 , En2 , v127 + .byte W12 + .byte An2 , v120 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , An2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte En2 + .byte W12 + .byte An2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , An2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , An2 + .byte W12 + .byte En2 , v024 + .byte W12 + .byte GOTO + .word mus_rg_kuchiba_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_kuchiba_4: + .byte KEYSH , mus_rg_kuchiba_key+0 +mus_rg_kuchiba_4_B1: + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v-1 + .byte VOL , 49*mus_rg_kuchiba_mvl/mxv + .byte N12 , Dn1 , v120 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte W12 + .byte N12 , Cs1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte W12 + .byte N12 , Dn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , Dn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N06 , Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte An1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N12 , Dn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , Cs1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , An1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N06 , Gs1 + .byte W06 + .byte An1 + .byte W06 + .byte N12 , En1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte W12 + .byte N12 , Dn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , Dn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N06 , An1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte An1 + .byte W06 + .byte N12 , Dn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N03 , Fs1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Dn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , An1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N03 , Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte N09 , Dn1 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N06 + .byte W06 + .byte Ds1 + .byte W06 + .byte N12 , En1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , Fs1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , Gn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , Gs1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N03 , An1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , En1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , Bn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , An1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N06 , Dn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn2 + .byte W12 + .byte N03 , Dn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte An1 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Dn1 + .byte W12 + .byte N06 , Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte An1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N12 , Dn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , Cs2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , Bn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , Gn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , An1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , Gn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , Fs1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , En1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N06 , An1 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte En1 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte W12 + .byte N06 , Dn1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cs2 + .byte W12 + .byte N24 , En1 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , Bn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , En2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , En1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N06 , Gn1 + .byte W12 + .byte N09 + .byte W12 + .byte N06 , Fs1 + .byte W12 + .byte N09 + .byte W12 + .byte N06 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte En1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Bn1 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N06 , Bn1 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte W12 + .byte N03 , En1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An1 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N06 , Cs1 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N12 , Cs1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N03 , En1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En2 + .byte W06 + .byte N03 , Bn1 + .byte W06 + .byte N06 , En1 + .byte N03 , An1 + .byte W12 + .byte N06 + .byte W06 + .byte Gn1 + .byte W06 + .byte En1 + .byte W12 + .byte N12 , An1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , Gn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , En1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N18 , Gn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte En1 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N06 , Gn1 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N12 , Bn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N06 , Gn1 + .byte W12 + .byte N09 + .byte W12 + .byte N06 , Fs1 + .byte W12 + .byte N09 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte N09 + .byte W12 + .byte N06 , Dn1 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte N24 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N06 + .byte W06 + .byte N03 , An2 + .byte W06 + .byte An1 + .byte W06 + .byte N03 + .byte W03 + .byte N06 , En1 + .byte W09 + .byte Gn1 + .byte W06 + .byte N12 , Gs1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N12 , An1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N03 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N24 , Cs1 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , En1 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Gn1 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte GOTO + .word mus_rg_kuchiba_4_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_kuchiba_5: + .byte KEYSH , mus_rg_kuchiba_key+0 +mus_rg_kuchiba_5_B1: + .byte VOICE , 92 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 34*mus_rg_kuchiba_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte N48 , Dn4 , v127 + .byte W12 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte N24 , Gn4 + .byte W24 + .byte Fs4 + .byte W24 +mus_rg_kuchiba_5_000: + .byte N36 , En4 , v127 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N06 , Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte N48 , Fs4 + .byte W12 + .byte MOD , 5 + .byte W36 + .byte PEND +mus_rg_kuchiba_5_001: + .byte MOD , 0 + .byte N48 , Dn4 , v127 + .byte W12 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte N24 , Gn4 + .byte W24 + .byte Fs4 + .byte W24 + .byte PEND +mus_rg_kuchiba_5_002: + .byte N36 , En4 , v127 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N06 , Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte N48 , Dn4 + .byte W12 + .byte MOD , 5 + .byte W36 + .byte PEND + .byte N48 + .byte W48 + .byte MOD , 0 + .byte N24 , Gn4 + .byte W24 + .byte Fs4 + .byte W24 + .byte PATT + .word mus_rg_kuchiba_5_000 + .byte PATT + .word mus_rg_kuchiba_5_001 + .byte PATT + .word mus_rg_kuchiba_5_002 + .byte MOD , 0 + .byte N24 , En4 , v127 + .byte W24 + .byte Fs4 + .byte W24 + .byte Gn4 + .byte W24 + .byte An4 + .byte W24 + .byte N48 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , En5 , v080 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N24 , Dn5 , v127 + .byte W24 + .byte Cs5 + .byte W24 + .byte Bn4 + .byte W24 + .byte An4 + .byte W24 + .byte N48 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , An4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N06 , En4 + .byte W12 + .byte N12 , En4 , v120 + .byte W12 + .byte N06 , Fs4 , v127 + .byte W12 + .byte N12 , Fs4 , v120 + .byte W12 + .byte N06 , Gn4 , v127 + .byte W06 + .byte En4 , v092 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 , v120 + .byte W06 + .byte An4 , v127 + .byte W12 + .byte N12 , An4 , v120 + .byte W12 + .byte N48 , Bn4 , v127 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , En5 , v084 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N12 , Dn5 , v127 + .byte W24 + .byte N24 , Cs5 + .byte W24 + .byte Bn4 + .byte W48 + .byte N36 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N06 , Cs5 , v120 + .byte W06 + .byte Bn4 + .byte W06 + .byte N48 , An4 , v127 + .byte W12 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte W12 + .byte 5 + .byte W84 + .byte 0 + .byte W96 + .byte GOTO + .word mus_rg_kuchiba_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_kuchiba_6: + .byte KEYSH , mus_rg_kuchiba_key+0 +mus_rg_kuchiba_6_B1: + .byte VOICE , 24 + .byte VOL , 41*mus_rg_kuchiba_mvl/mxv + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-30 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 42*mus_rg_kuchiba_mvl/mxv + .byte N06 , En3 , v120 + .byte W06 + .byte N03 , En3 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En3 , v120 + .byte W06 + .byte N01 , En3 , v052 + .byte W06 + .byte N03 , En4 , v084 + .byte W06 + .byte Cs3 + .byte N01 , En3 + .byte W03 + .byte N03 , Ds3 , v088 + .byte W03 + .byte En3 , v120 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte Dn3 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , En3 + .byte W12 + .byte W06 + .byte N03 , Bn2 , v084 + .byte W03 + .byte Dn3 , v088 + .byte W03 + .byte En3 , v120 + .byte W12 + .byte N03 + .byte W06 + .byte N01 , En4 , v116 + .byte W06 + .byte N06 , En3 , v052 + .byte W06 + .byte N03 , Bn2 , v072 + .byte N03 , En3 + .byte W03 + .byte Dn3 , v080 + .byte W03 + .byte En3 , v120 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N04 , An3 , v068 + .byte W03 + .byte N01 , En4 + .byte W03 + .byte N03 , Gn4 , v096 + .byte W06 + .byte N06 , Gn3 , v084 + .byte W12 + .byte GOTO + .word mus_rg_kuchiba_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_kuchiba_7: + .byte KEYSH , mus_rg_kuchiba_key+0 +mus_rg_kuchiba_7_B1: + .byte VOICE , 0 + .byte VOL , 72*mus_rg_kuchiba_mvl/mxv + .byte PAN , c_v-1 + .byte N06 , En1 , v100 + .byte N48 , Gn2 , v120 + .byte W12 + .byte N06 , En1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v100 + .byte W12 + .byte En1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En1 , v076 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W06 + .byte N06 , En1 , v100 + .byte W06 + .byte En1 , v048 + .byte W06 + .byte En1 , v100 + .byte W12 + .byte En1 , v048 + .byte W06 + .byte N06 + .byte W06 +mus_rg_kuchiba_7_000: + .byte N06 , En1 , v100 + .byte W12 + .byte En1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v100 + .byte W12 + .byte En1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En1 , v076 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W06 + .byte N06 , En1 , v100 + .byte W06 + .byte En1 , v048 + .byte W06 + .byte En1 , v100 + .byte W12 + .byte En1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte PEND + .byte En1 , v100 + .byte W12 + .byte En1 , v048 + .byte W12 + .byte En1 , v100 + .byte W12 + .byte En1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En1 , v076 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W06 + .byte N06 , En1 , v100 + .byte W06 + .byte En1 , v048 + .byte W06 + .byte En1 , v100 + .byte W12 + .byte En1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word mus_rg_kuchiba_7_000 + .byte PATT + .word mus_rg_kuchiba_7_000 + .byte PATT + .word mus_rg_kuchiba_7_000 + .byte N06 , En1 , v100 + .byte W12 + .byte En1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v100 + .byte W12 + .byte En1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En1 , v076 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v100 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte En1 , v100 + .byte W12 + .byte En1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v104 + .byte W06 + .byte En1 , v076 + .byte W06 + .byte En1 , v092 + .byte W12 + .byte En1 , v100 + .byte W12 + .byte En1 , v096 + .byte W06 + .byte En1 , v056 + .byte W06 + .byte N03 , En1 , v076 + .byte N06 , Dn2 , v120 + .byte W03 + .byte N03 , En1 , v068 + .byte W03 + .byte N03 + .byte N06 , Dn2 , v120 + .byte W06 + .byte En1 , v100 + .byte N06 , An1 , v120 + .byte W06 + .byte En1 , v048 + .byte N06 , Gn1 , v120 + .byte W06 + .byte En1 , v100 + .byte N06 , Fn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N06 , En1 , v064 + .byte W06 + .byte Cn1 , v120 + .byte N06 , En1 , v048 + .byte W06 + .byte VOL , 67*mus_rg_kuchiba_mvl/mxv + .byte N06 , Cn1 , v120 + .byte N48 , Gn2 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte Cn1 + .byte W24 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N48 , Bn2 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N03 , Dn2 + .byte W03 + .byte Cn2 + .byte W03 + .byte N06 , An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte Cn1 , v084 + .byte W12 + .byte En1 , v120 + .byte W12 + .byte N03 , Bn0 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte En1 + .byte W24 + .byte Cn1 + .byte W12 + .byte Dn2 , v084 + .byte W06 + .byte N03 , Gn1 , v120 + .byte W03 + .byte Fn1 + .byte W03 + .byte N06 , Cn1 + .byte W12 + .byte Bn1 + .byte W06 + .byte N03 , Gn1 + .byte W03 + .byte Fn1 + .byte W03 + .byte N06 , Cn1 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cn1 , v088 + .byte W06 + .byte Dn1 , v092 + .byte W06 + .byte Dn1 , v112 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 , v084 + .byte W12 + .byte En1 , v120 + .byte W12 + .byte N03 , Bn0 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte En1 + .byte W12 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte N48 , An2 + .byte W06 + .byte N06 , Cn1 , v096 + .byte W06 + .byte En1 , v076 + .byte W12 + .byte En1 , v120 + .byte W12 + .byte N03 , Bn0 + .byte W06 + .byte N03 + .byte W12 + .byte N06 , En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W18 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte En1 + .byte W18 + .byte Cn1 + .byte W06 + .byte En1 + .byte W18 + .byte N06 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte An1 + .byte W06 + .byte N06 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N06 + .byte W06 + .byte Fn1 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte En1 + .byte W06 + .byte Cn1 + .byte W12 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W12 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte N06 , En1 , v100 + .byte W12 + .byte En1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v120 + .byte N06 , En1 , v100 + .byte W12 + .byte En1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v120 + .byte N06 , En1 , v100 + .byte W06 + .byte Bn0 , v080 + .byte N06 , En1 , v076 + .byte W06 + .byte Cn1 + .byte N06 , En1 , v120 + .byte W12 + .byte Cn1 + .byte N06 , En1 , v100 + .byte W12 + .byte En1 , v096 + .byte W06 + .byte En1 , v048 + .byte W06 + .byte Cn1 , v120 + .byte N06 , En1 , v100 + .byte W06 + .byte En1 , v120 + .byte W06 + .byte Cn1 + .byte N03 , En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v096 + .byte W06 + .byte Cn1 , v120 + .byte N03 , En1 , v100 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v048 + .byte W06 + .byte N06 , En1 , v096 + .byte W06 + .byte En1 , v060 + .byte W06 + .byte Cn1 , v120 + .byte N06 , En1 , v096 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N06 , En1 + .byte W12 + .byte En1 , v024 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte GOTO + .word mus_rg_kuchiba_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_kuchiba_8: + .byte KEYSH , mus_rg_kuchiba_key+0 +mus_rg_kuchiba_8_B1: + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 43*mus_rg_kuchiba_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N02 , Cn5 , v120 + .byte W06 + .byte Cn5 , v056 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v056 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v056 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v056 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v056 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v056 + .byte W06 +mus_rg_kuchiba_8_000: + .byte N02 , Cn5 , v120 + .byte W12 + .byte N02 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte N02 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v056 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v056 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v044 + .byte W18 + .byte PEND + .byte PATT + .word mus_rg_kuchiba_8_000 + .byte N02 , Cn5 , v120 + .byte W12 + .byte N02 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte N02 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v056 + .byte W18 + .byte Cn5 , v120 + .byte W12 + .byte N02 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v024 + .byte W18 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v036 + .byte W18 + .byte Cn5 , v088 + .byte W06 + .byte Cn5 , v056 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v072 + .byte W18 +mus_rg_kuchiba_8_001: + .byte N02 , Cn5 , v120 + .byte W12 + .byte Cn5 , v056 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v048 + .byte W06 + .byte N02 + .byte W06 + .byte Cn5 , v096 + .byte W12 + .byte PEND + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v056 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v096 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v056 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v044 + .byte W18 + .byte PATT + .word mus_rg_kuchiba_8_001 + .byte PATT + .word mus_rg_kuchiba_8_001 + .byte N02 , Cn5 , v120 + .byte W12 + .byte Cn5 , v056 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v104 + .byte W06 + .byte Cn5 , v024 + .byte W06 + .byte Cn5 , v096 + .byte W06 + .byte GOTO + .word mus_rg_kuchiba_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_kuchiba_9: + .byte KEYSH , mus_rg_kuchiba_key+0 +mus_rg_kuchiba_9_B1: + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 43*mus_rg_kuchiba_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W12 + .byte N12 , Gn5 , v096 + .byte W48 + .byte N12 + .byte W36 + .byte W84 + .byte N12 + .byte W12 + .byte W84 + .byte N12 + .byte W12 + .byte W60 + .byte N12 + .byte W36 + .byte W12 + .byte Gn5 , v052 + .byte W24 + .byte Gn5 , v068 + .byte W24 + .byte Gn5 , v080 + .byte W24 + .byte Gn5 , v104 + .byte W12 + .byte W96 + .byte W84 + .byte Gn5 , v120 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_kuchiba_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_kuchiba: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_kuchiba_pri @ Priority + .byte mus_rg_kuchiba_rev @ Reverb. + + .word mus_rg_kuchiba_grp + + .word mus_rg_kuchiba_1 + .word mus_rg_kuchiba_2 + .word mus_rg_kuchiba_3 + .word mus_rg_kuchiba_4 + .word mus_rg_kuchiba_5 + .word mus_rg_kuchiba_6 + .word mus_rg_kuchiba_7 + .word mus_rg_kuchiba_8 + .word mus_rg_kuchiba_9 + + .end diff --git a/sound/songs/mus_rg_load01.s b/sound/songs/mus_rg_load01.s new file mode 100644 index 0000000000..63a2e52494 --- /dev/null +++ b/sound/songs/mus_rg_load01.s @@ -0,0 +1,2024 @@ + .include "MPlayDef.s" + + .equ mus_rg_load01_grp, voicegroup_86A7240 + .equ mus_rg_load01_pri, 0 + .equ mus_rg_load01_rev, reverb_set+50 + .equ mus_rg_load01_mvl, 127 + .equ mus_rg_load01_key, 0 + .equ mus_rg_load01_tbs, 1 + .equ mus_rg_load01_exg, 0 + .equ mus_rg_load01_cmp, 1 + + .section .rodata + .global mus_rg_load01 + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_load01_1: + .byte KEYSH , mus_rg_load01_key+0 + .byte TEMPO , 116*mus_rg_load01_tbs/2 + .byte VOICE , 1 + .byte PAN , c_v+41 + .byte VOL , 44*mus_rg_load01_mvl/mxv + .byte W12 +mus_rg_load01_1_B1: + .byte MOD , 0 + .byte W12 + .byte N03 , Dn4 , v127 + .byte W12 + .byte N03 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Dn4 , v064 + .byte W12 + .byte PAN , c_v+40 + .byte W12 + .byte N03 , Dn4 , v127 + .byte W12 + .byte N03 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Dn4 , v064 + .byte W12 + .byte PAN , c_v+40 + .byte W12 + .byte N03 , Dn4 , v127 + .byte W12 + .byte N03 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An3 , v064 + .byte W12 + .byte PAN , c_v+40 + .byte W12 + .byte N03 , Cs4 , v127 + .byte W12 + .byte N03 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cs4 , v064 + .byte W12 + .byte PAN , c_v+40 + .byte W12 + .byte N03 , Cs4 , v127 + .byte W12 + .byte N03 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cs4 , v064 + .byte W12 + .byte PAN , c_v+40 + .byte N03 , An3 , v127 + .byte W12 + .byte Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cs4 , v064 + .byte W12 + .byte PAN , c_v+40 + .byte N03 , An3 , v127 + .byte W12 + .byte N03 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An3 , v064 + .byte W12 + .byte PAN , c_v+40 + .byte W12 + .byte N03 , Dn4 , v127 + .byte W12 + .byte N03 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Dn4 , v064 + .byte W12 + .byte PAN , c_v+40 + .byte W12 + .byte N03 , Dn4 , v127 + .byte W12 + .byte N03 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Dn4 , v064 + .byte W12 + .byte PAN , c_v+40 + .byte W12 + .byte N03 , Dn4 , v127 + .byte W12 + .byte N03 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte N03 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An3 , v064 + .byte W12 + .byte PAN , c_v+40 + .byte W12 + .byte N03 , Cs4 , v127 + .byte W12 + .byte N03 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cs4 , v064 + .byte W12 + .byte PAN , c_v+40 + .byte W12 + .byte N03 , An3 , v127 + .byte W12 + .byte En4 + .byte W12 + .byte An3 + .byte W12 + .byte Gn4 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn4 , v064 + .byte W12 + .byte PAN , c_v+40 + .byte N03 , En4 , v127 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , En4 , v064 + .byte W12 + .byte PAN , c_v+40 + .byte N03 , Fs4 , v127 + .byte W12 + .byte An3 + .byte W12 + .byte N03 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An3 , v064 + .byte W12 + .byte PAN , c_v+40 + .byte W12 + .byte N03 , An3 , v127 + .byte W12 + .byte Fs3 + .byte W12 + .byte An3 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An3 , v064 + .byte W12 + .byte PAN , c_v+40 + .byte N03 , Bn3 , v127 + .byte W12 + .byte Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte W12 + .byte An3 + .byte W12 + .byte Fs3 + .byte W12 + .byte An3 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An3 , v064 + .byte W12 + .byte PAN , c_v+40 + .byte N03 , Gn3 , v127 + .byte W12 + .byte En3 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cs3 , v064 + .byte W12 + .byte PAN , c_v+40 + .byte N03 , An3 , v127 + .byte W12 + .byte Dn4 + .byte W12 + .byte An3 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An3 , v064 + .byte W12 + .byte PAN , c_v+40 + .byte N03 , Bn3 , v127 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Bn3 , v064 + .byte W12 + .byte PAN , c_v+40 + .byte N03 , Dn4 , v127 + .byte W12 + .byte En4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte An3 + .byte W12 + .byte N03 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An3 , v064 + .byte W12 + .byte GOTO + .word mus_rg_load01_1_B1 + .byte PAN , c_v+40 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_load01_2: + .byte KEYSH , mus_rg_load01_key+0 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 56*mus_rg_load01_mvl/mxv + .byte N06 , Dn4 , v127 + .byte W06 + .byte En4 + .byte W06 +mus_rg_load01_2_B1: +mus_rg_load01_2_000: + .byte N12 , Fs4 , v127 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte N12 , Fs4 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte PEND +mus_rg_load01_2_001: + .byte N12 , Fs4 , v127 + .byte W12 + .byte N12 + .byte W12 + .byte N18 , Gn4 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte N36 , En4 + .byte W36 + .byte N06 , Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte PEND + .byte N12 , En4 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte N06 + .byte W06 + .byte Fs4 + .byte W06 + .byte N24 , Dn4 + .byte W24 + .byte N12 , Fs4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte PATT + .word mus_rg_load01_2_000 + .byte PATT + .word mus_rg_load01_2_001 + .byte N12 , En4 , v127 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte N24 , Bn4 + .byte W24 + .byte N03 , Bn3 + .byte W03 + .byte Cs4 + .byte W03 + .byte N06 , Bn3 + .byte W06 + .byte N18 , An3 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte N36 , Dn4 + .byte W36 + .byte N06 , Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N12 , An4 + .byte W12 + .byte N12 + .byte W12 + .byte Fs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cs5 + .byte W12 + .byte An4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N18 , Dn4 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte N36 , En4 + .byte W36 + .byte N06 , Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N12 , An4 + .byte W12 + .byte N12 + .byte W12 + .byte Fs4 + .byte W12 + .byte An4 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte N18 , Bn4 + .byte W18 + .byte N06 , Gn4 + .byte W06 + .byte N12 , An4 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Dn4 + .byte W12 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte En4 + .byte W06 + .byte GOTO + .word mus_rg_load01_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_load01_3: + .byte KEYSH , mus_rg_load01_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+3 + .byte VOL , 79*mus_rg_load01_mvl/mxv + .byte W12 +mus_rg_load01_3_B1: +mus_rg_load01_3_000: + .byte VOL , 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N15 , Dn2 , v112 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte VOL , 62*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N15 , Cs2 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte VOL , 62*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N15 , Bn1 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte VOL , 62*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N15 , An1 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte VOL , 62*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte PEND +mus_rg_load01_3_001: + .byte VOL , 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N15 , Dn2 , v112 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte VOL , 62*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N15 , An1 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte VOL , 62*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N15 , Bn1 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte VOL , 62*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N15 , An1 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte VOL , 62*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte PEND + .byte 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N15 , Cs2 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte VOL , 62*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N15 , An1 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte VOL , 62*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N15 , Bn1 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte VOL , 62*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N15 , Cn2 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte VOL , 62*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 +mus_rg_load01_3_002: + .byte VOL , 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N15 , Cs2 , v112 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte VOL , 62*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N15 , An1 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte VOL , 62*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N15 , Dn2 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte VOL , 62*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N15 , An1 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte VOL , 62*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_load01_3_000 + .byte PATT + .word mus_rg_load01_3_001 + .byte VOL , 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N15 , Cs2 , v112 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte VOL , 62*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N15 , An1 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte VOL , 62*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N15 , Bn1 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte VOL , 62*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N15 , An1 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte VOL , 62*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte PATT + .word mus_rg_load01_3_002 +mus_rg_load01_3_003: + .byte VOL , 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N36 , Dn2 , v112 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte W03 + .byte 62*mus_rg_load01_mvl/mxv + .byte MOD , 13 + .byte W03 + .byte VOL , 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte 34*mus_rg_load01_mvl/mxv + .byte W03 + .byte 29*mus_rg_load01_mvl/mxv + .byte W03 + .byte 22*mus_rg_load01_mvl/mxv + .byte W03 + .byte 17*mus_rg_load01_mvl/mxv + .byte W03 + .byte 11*mus_rg_load01_mvl/mxv + .byte W03 + .byte 6*mus_rg_load01_mvl/mxv + .byte W03 + .byte 3*mus_rg_load01_mvl/mxv + .byte W03 + .byte 0*mus_rg_load01_mvl/mxv + .byte W03 + .byte 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N36 , Gn1 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte W03 + .byte 62*mus_rg_load01_mvl/mxv + .byte MOD , 13 + .byte W03 + .byte VOL , 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte 34*mus_rg_load01_mvl/mxv + .byte W03 + .byte 29*mus_rg_load01_mvl/mxv + .byte W03 + .byte 22*mus_rg_load01_mvl/mxv + .byte W03 + .byte 17*mus_rg_load01_mvl/mxv + .byte W03 + .byte 11*mus_rg_load01_mvl/mxv + .byte W03 + .byte 6*mus_rg_load01_mvl/mxv + .byte W03 + .byte 3*mus_rg_load01_mvl/mxv + .byte W03 + .byte 0*mus_rg_load01_mvl/mxv + .byte W03 + .byte PEND + .byte 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N36 , An1 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte W03 + .byte 62*mus_rg_load01_mvl/mxv + .byte MOD , 13 + .byte W03 + .byte VOL , 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte 34*mus_rg_load01_mvl/mxv + .byte W03 + .byte 29*mus_rg_load01_mvl/mxv + .byte W03 + .byte 22*mus_rg_load01_mvl/mxv + .byte W03 + .byte 17*mus_rg_load01_mvl/mxv + .byte W03 + .byte 11*mus_rg_load01_mvl/mxv + .byte W03 + .byte 6*mus_rg_load01_mvl/mxv + .byte W03 + .byte 3*mus_rg_load01_mvl/mxv + .byte W03 + .byte 0*mus_rg_load01_mvl/mxv + .byte W03 + .byte 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N36 , Cs2 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte W03 + .byte 62*mus_rg_load01_mvl/mxv + .byte MOD , 13 + .byte W03 + .byte VOL , 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte 34*mus_rg_load01_mvl/mxv + .byte W03 + .byte 29*mus_rg_load01_mvl/mxv + .byte W03 + .byte 22*mus_rg_load01_mvl/mxv + .byte W03 + .byte 17*mus_rg_load01_mvl/mxv + .byte W03 + .byte 11*mus_rg_load01_mvl/mxv + .byte W03 + .byte 6*mus_rg_load01_mvl/mxv + .byte W03 + .byte 3*mus_rg_load01_mvl/mxv + .byte W03 + .byte 0*mus_rg_load01_mvl/mxv + .byte W03 + .byte PATT + .word mus_rg_load01_3_003 + .byte VOL , 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N36 , An1 , v112 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte W03 + .byte 62*mus_rg_load01_mvl/mxv + .byte MOD , 13 + .byte W03 + .byte VOL , 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte 34*mus_rg_load01_mvl/mxv + .byte W03 + .byte 29*mus_rg_load01_mvl/mxv + .byte W03 + .byte 22*mus_rg_load01_mvl/mxv + .byte W03 + .byte 17*mus_rg_load01_mvl/mxv + .byte W03 + .byte 11*mus_rg_load01_mvl/mxv + .byte W03 + .byte 6*mus_rg_load01_mvl/mxv + .byte W03 + .byte 3*mus_rg_load01_mvl/mxv + .byte W03 + .byte 0*mus_rg_load01_mvl/mxv + .byte W03 + .byte 79*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N24 , Dn2 + .byte W03 + .byte VOL , 73*mus_rg_load01_mvl/mxv + .byte W03 + .byte 68*mus_rg_load01_mvl/mxv + .byte W03 + .byte 62*mus_rg_load01_mvl/mxv + .byte MOD , 13 + .byte W03 + .byte VOL , 56*mus_rg_load01_mvl/mxv + .byte W03 + .byte 51*mus_rg_load01_mvl/mxv + .byte W03 + .byte 45*mus_rg_load01_mvl/mxv + .byte W03 + .byte 38*mus_rg_load01_mvl/mxv + .byte W03 + .byte 34*mus_rg_load01_mvl/mxv + .byte W03 + .byte 29*mus_rg_load01_mvl/mxv + .byte W03 + .byte 22*mus_rg_load01_mvl/mxv + .byte W03 + .byte 17*mus_rg_load01_mvl/mxv + .byte W03 + .byte 11*mus_rg_load01_mvl/mxv + .byte W03 + .byte 6*mus_rg_load01_mvl/mxv + .byte W03 + .byte 3*mus_rg_load01_mvl/mxv + .byte W03 + .byte 0*mus_rg_load01_mvl/mxv + .byte W03 + .byte GOTO + .word mus_rg_load01_3_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_load01_4: + .byte KEYSH , mus_rg_load01_key+0 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 28*mus_rg_load01_mvl/mxv + .byte N03 , Dn3 , v127 + .byte W06 + .byte En3 + .byte W06 +mus_rg_load01_4_B1: + .byte BEND , c_v+0 + .byte N03 , Fs3 , v127 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W12 + .byte N03 + .byte W12 + .byte N09 , Gn3 + .byte W03 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte W06 + .byte N03 , Fs3 + .byte W06 + .byte N24 , En3 + .byte W06 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte W06 + .byte N03 , Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W12 + .byte N03 + .byte W12 + .byte Fs3 + .byte W06 + .byte En3 + .byte W06 + .byte N03 + .byte W06 + .byte Fs3 + .byte W06 + .byte N15 , Dn3 + .byte W03 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte W06 + .byte N09 , Fs3 + .byte W03 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N03 , Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W12 + .byte N03 + .byte W12 + .byte N09 , Gn3 + .byte W18 + .byte N03 , Fs3 + .byte W06 + .byte N24 , En3 + .byte W09 + .byte MOD , 6 + .byte W24 + .byte W03 + .byte 0 + .byte N03 , Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte N15 , Bn3 , v108 + .byte W06 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte W06 + .byte N03 , Bn2 , v127 + .byte W03 + .byte Cs3 + .byte W03 + .byte Bn2 + .byte W06 + .byte N06 , An2 + .byte W06 + .byte Cs3 + .byte W06 + .byte N21 , Dn3 + .byte W06 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte W12 + .byte N03 , Fs3 , v096 + .byte W06 + .byte Gn3 , v104 + .byte W06 + .byte N06 , An3 , v100 + .byte W12 + .byte N09 , An3 , v096 + .byte W03 + .byte MOD , 4 + .byte W09 + .byte 0 + .byte N03 , Fs3 , v104 + .byte W12 + .byte Dn3 , v127 + .byte W12 + .byte N06 , Dn4 , v080 + .byte W12 + .byte N03 , Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte N09 , Cs4 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N03 , An3 , v112 + .byte W12 + .byte Fs3 + .byte W12 + .byte N09 , Dn3 , v127 + .byte W18 + .byte N03 , Fs3 + .byte W06 + .byte N21 , En3 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte W12 + .byte N03 , Fs3 , v100 + .byte W06 + .byte Gn3 + .byte W06 + .byte N06 , An3 , v104 + .byte W12 + .byte N03 , An3 , v100 + .byte W12 + .byte Fs3 , v104 + .byte W12 + .byte An3 + .byte W12 + .byte N06 , Dn4 , v092 + .byte W12 + .byte N03 , Cs4 + .byte W12 + .byte N09 , Bn3 + .byte W03 + .byte MOD , 7 + .byte W06 + .byte 0 + .byte W09 + .byte N03 , Gn3 + .byte W06 + .byte N09 , An3 , v108 + .byte W12 + .byte N03 , Dn4 , v084 + .byte W12 + .byte N09 , Cs4 + .byte W12 + .byte N03 , En4 + .byte W12 + .byte N15 , Dn4 , v076 + .byte W06 + .byte MOD , 4 + .byte W18 + .byte VOICE , 78 + .byte MOD , 0 + .byte W12 + .byte N03 , Dn3 , v127 + .byte W06 + .byte En3 + .byte W06 + .byte GOTO + .word mus_rg_load01_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_load01_5: + .byte KEYSH , mus_rg_load01_key+0 + .byte VOICE , 83 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 38*mus_rg_load01_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , Dn4 , v127 + .byte W06 + .byte En4 + .byte W06 +mus_rg_load01_5_B1: +mus_rg_load01_5_000: + .byte N03 , Fs4 , v127 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte PEND + .byte Fs4 + .byte W12 + .byte N03 + .byte W12 + .byte N09 , Gn4 + .byte W03 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte W06 + .byte N03 , Fs4 + .byte W06 + .byte N24 , En4 + .byte W06 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte W06 + .byte N03 , Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W12 + .byte N03 + .byte W12 + .byte Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte N03 + .byte W06 + .byte Fs4 + .byte W06 + .byte N15 , Dn4 + .byte W03 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte W06 + .byte N09 , Fs4 + .byte W03 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N03 , Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte PATT + .word mus_rg_load01_5_000 + .byte N03 , Fs4 , v127 + .byte W12 + .byte N03 + .byte W12 + .byte N09 , Gn4 + .byte W18 + .byte N03 , Fs4 + .byte W06 + .byte N24 , En4 + .byte W09 + .byte MOD , 6 + .byte W24 + .byte W03 + .byte 0 + .byte N03 , Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte N15 , Bn4 + .byte W06 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte W06 + .byte N03 , Bn3 + .byte W03 + .byte Cs4 + .byte W03 + .byte Bn3 + .byte W06 + .byte N06 , An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N21 , Dn4 + .byte W06 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte W12 + .byte N03 , Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N06 , An4 + .byte W12 + .byte N09 + .byte W03 + .byte MOD , 4 + .byte W09 + .byte 0 + .byte N03 , Fs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N06 , Dn5 , v092 + .byte W12 + .byte N03 , Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte N09 , Cs5 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N03 , An4 , v112 + .byte W12 + .byte Fs4 + .byte W12 + .byte N09 , Dn4 , v127 + .byte W18 + .byte N03 , Fs4 + .byte W06 + .byte N21 , En4 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte W12 + .byte N03 , Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N06 , An4 + .byte W12 + .byte N03 + .byte W12 + .byte Fs4 + .byte W12 + .byte An4 + .byte W12 + .byte N06 , Dn5 , v092 + .byte W12 + .byte N03 , Cs5 + .byte W12 + .byte N09 , Bn4 + .byte W03 + .byte MOD , 7 + .byte W06 + .byte 0 + .byte W09 + .byte N03 , Gn4 + .byte W06 + .byte N09 , An4 , v127 + .byte W12 + .byte N03 , Dn5 , v084 + .byte W12 + .byte N09 , Cs5 + .byte W12 + .byte N03 , En5 + .byte W12 + .byte N15 , Dn5 , v076 + .byte W06 + .byte MOD , 4 + .byte W18 + .byte 0 + .byte W12 + .byte N03 , Dn4 , v127 + .byte W06 + .byte En4 + .byte W06 + .byte GOTO + .word mus_rg_load01_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_load01_6: + .byte KEYSH , mus_rg_load01_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-52 + .byte VOL , 45*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte W12 +mus_rg_load01_6_B1: + .byte PAN , c_v-63 + .byte W12 + .byte N06 , Fs3 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 , Fs3 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte VOL , 13*mus_rg_load01_mvl/mxv + .byte PAN , c_v+0 + .byte N24 , Fs3 + .byte W03 + .byte VOL , 21*mus_rg_load01_mvl/mxv + .byte W03 + .byte 29*mus_rg_load01_mvl/mxv + .byte W03 + .byte 36*mus_rg_load01_mvl/mxv + .byte W03 + .byte 43*mus_rg_load01_mvl/mxv + .byte MOD , 6 + .byte W03 + .byte VOL , 48*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W06 + .byte PAN , c_v-64 + .byte VOL , 45*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N06 , Gn3 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Fs3 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , En3 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Fs3 + .byte W06 + .byte PAN , c_v+0 + .byte N24 , En3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Cs3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte W12 + .byte N06 , En3 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 , Cs3 + .byte W12 + .byte PAN , c_v-63 + .byte W12 + .byte N06 , En3 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 , Cs3 + .byte W12 + .byte VOL , 13*mus_rg_load01_mvl/mxv + .byte PAN , c_v+0 + .byte N24 , En3 + .byte W03 + .byte VOL , 21*mus_rg_load01_mvl/mxv + .byte W03 + .byte 29*mus_rg_load01_mvl/mxv + .byte W03 + .byte 36*mus_rg_load01_mvl/mxv + .byte W03 + .byte 43*mus_rg_load01_mvl/mxv + .byte MOD , 6 + .byte W03 + .byte VOL , 48*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W06 + .byte PAN , c_v-64 + .byte VOL , 45*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N06 , Fs3 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En3 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Dn3 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cs3 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Dn3 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Fs3 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An3 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn3 , v112 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , As3 , v096 + .byte W06 + .byte PAN , c_v+0 + .byte VOL , 45*mus_rg_load01_mvl/mxv + .byte N84 , An3 + .byte W12 + .byte VOL , 39*mus_rg_load01_mvl/mxv + .byte MOD , 6 + .byte W03 + .byte VOL , 34*mus_rg_load01_mvl/mxv + .byte W03 + .byte 31*mus_rg_load01_mvl/mxv + .byte W03 + .byte 28*mus_rg_load01_mvl/mxv + .byte W03 + .byte 24*mus_rg_load01_mvl/mxv + .byte W24 + .byte W03 + .byte 29*mus_rg_load01_mvl/mxv + .byte W03 + .byte 36*mus_rg_load01_mvl/mxv + .byte W03 + .byte 41*mus_rg_load01_mvl/mxv + .byte W03 + .byte 43*mus_rg_load01_mvl/mxv + .byte W03 + .byte 48*mus_rg_load01_mvl/mxv + .byte W03 + .byte 53*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W15 + .byte 45*mus_rg_load01_mvl/mxv + .byte PAN , c_v-64 + .byte MOD , 0 + .byte N06 , Fs3 , v127 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Gn3 + .byte W06 + .byte VOL , 13*mus_rg_load01_mvl/mxv + .byte PAN , c_v+0 + .byte N24 , An3 + .byte W03 + .byte VOL , 21*mus_rg_load01_mvl/mxv + .byte W03 + .byte 29*mus_rg_load01_mvl/mxv + .byte W03 + .byte 36*mus_rg_load01_mvl/mxv + .byte W03 + .byte 43*mus_rg_load01_mvl/mxv + .byte MOD , 6 + .byte W03 + .byte VOL , 48*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W06 + .byte 45*mus_rg_load01_mvl/mxv + .byte PAN , c_v-64 + .byte MOD , 0 + .byte N06 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Gn3 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Fs3 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Dn3 + .byte W06 + .byte PAN , c_v+0 + .byte N24 , En3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Cs3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 13*mus_rg_load01_mvl/mxv + .byte MOD , 0 + .byte N36 , En3 + .byte W03 + .byte VOL , 21*mus_rg_load01_mvl/mxv + .byte W03 + .byte 29*mus_rg_load01_mvl/mxv + .byte W03 + .byte 36*mus_rg_load01_mvl/mxv + .byte W03 + .byte 43*mus_rg_load01_mvl/mxv + .byte MOD , 6 + .byte W03 + .byte VOL , 48*mus_rg_load01_mvl/mxv + .byte W03 + .byte 56*mus_rg_load01_mvl/mxv + .byte W06 + .byte 45*mus_rg_load01_mvl/mxv + .byte W12 + .byte PAN , c_v-64 + .byte MOD , 0 + .byte N06 , Dn3 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En3 + .byte W06 + .byte PAN , c_v+0 + .byte N24 , An3 , v096 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , An2 , v127 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N06 , Cs3 + .byte W24 + .byte PAN , c_v-64 + .byte N06 , An3 , v096 + .byte W24 + .byte PAN , c_v-64 + .byte N06 , Dn3 , v127 + .byte W24 + .byte PAN , c_v+0 + .byte N06 , Dn4 , v100 + .byte W24 + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_load01_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_load01_7: + .byte KEYSH , mus_rg_load01_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 34*mus_rg_load01_mvl/mxv + .byte W12 +mus_rg_load01_7_B1: +mus_rg_load01_7_000: + .byte W12 + .byte N12 , Ds1 , v100 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte PEND +mus_rg_load01_7_001: + .byte W12 + .byte N12 , Ds1 , v100 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_load01_7_000 + .byte W12 + .byte N12 , Ds1 , v100 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte PATT + .word mus_rg_load01_7_000 + .byte PATT + .word mus_rg_load01_7_001 + .byte PATT + .word mus_rg_load01_7_000 + .byte PATT + .word mus_rg_load01_7_001 + .byte W12 + .byte N12 , Ds1 , v096 + .byte W12 + .byte Ds1 , v100 + .byte W36 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 +mus_rg_load01_7_002: + .byte W12 + .byte N12 , Ds1 , v100 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_load01_7_002 + .byte W12 + .byte N12 , Ds1 , v100 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte GOTO + .word mus_rg_load01_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_load01_8: + .byte KEYSH , mus_rg_load01_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 26*mus_rg_load01_mvl/mxv + .byte W12 +mus_rg_load01_8_B1: + .byte W96 +mus_rg_load01_8_000: + .byte W60 + .byte N06 , En5 , v112 + .byte W12 + .byte N06 + .byte W24 + .byte PEND + .byte W96 +mus_rg_load01_8_001: + .byte W60 + .byte N06 , En5 , v112 + .byte W12 + .byte N04 + .byte W24 + .byte PEND + .byte W96 + .byte PATT + .word mus_rg_load01_8_000 + .byte W96 + .byte PATT + .word mus_rg_load01_8_001 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_load01_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_load01: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_load01_pri @ Priority + .byte mus_rg_load01_rev @ Reverb. + + .word mus_rg_load01_grp + + .word mus_rg_load01_1 + .word mus_rg_load01_2 + .word mus_rg_load01_3 + .word mus_rg_load01_4 + .word mus_rg_load01_5 + .word mus_rg_load01_6 + .word mus_rg_load01_7 + .word mus_rg_load01_8 + + .end diff --git a/sound/songs/mus_rg_load02.s b/sound/songs/mus_rg_load02.s new file mode 100644 index 0000000000..c5152bcb80 --- /dev/null +++ b/sound/songs/mus_rg_load02.s @@ -0,0 +1,2644 @@ + .include "MPlayDef.s" + + .equ mus_rg_load02_grp, voicegroup_86A7C60 + .equ mus_rg_load02_pri, 0 + .equ mus_rg_load02_rev, reverb_set+50 + .equ mus_rg_load02_mvl, 127 + .equ mus_rg_load02_key, 0 + .equ mus_rg_load02_tbs, 1 + .equ mus_rg_load02_exg, 0 + .equ mus_rg_load02_cmp, 1 + + .section .rodata + .global mus_rg_load02 + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_load02_1: + .byte KEYSH , mus_rg_load02_key+0 + .byte TEMPO , 124*mus_rg_load02_tbs/2 + .byte VOICE , 17 + .byte PAN , c_v-20 + .byte VOL , 46*mus_rg_load02_mvl/mxv + .byte N06 , En4 , v124 + .byte W06 + .byte Fs4 + .byte W06 + .byte VOL , 36*mus_rg_load02_mvl/mxv + .byte N36 , Gn4 + .byte W12 + .byte VOL , 50*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 56*mus_rg_load02_mvl/mxv + .byte W06 + .byte 65*mus_rg_load02_mvl/mxv + .byte W06 + .byte 73*mus_rg_load02_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 47*mus_rg_load02_mvl/mxv + .byte N06 , Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte VOL , 43*mus_rg_load02_mvl/mxv + .byte N06 , En4 + .byte W96 + .byte W48 + .byte PAN , c_v-26 + .byte N03 , Bn2 , v076 + .byte W03 + .byte Cn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte En3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Gn3 + .byte W03 + .byte An3 + .byte W03 + .byte Bn3 + .byte W03 + .byte PAN , c_v+13 + .byte N03 , Gn3 + .byte W03 + .byte An3 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , Bn3 + .byte W03 + .byte Cn4 + .byte W03 + .byte PAN , c_v+48 + .byte N03 , Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Gn4 + .byte W03 +mus_rg_load02_1_B1: + .byte VOL , 34*mus_rg_load02_mvl/mxv + .byte PAN , c_v+26 + .byte N36 , En4 , v120 + .byte W12 + .byte VOL , 46*mus_rg_load02_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 50*mus_rg_load02_mvl/mxv + .byte W06 + .byte 54*mus_rg_load02_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 43*mus_rg_load02_mvl/mxv + .byte N06 , Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , En4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Gn4 + .byte W12 + .byte N24 , Cn4 , v112 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Dn4 , v120 + .byte W06 + .byte En4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N06 , An4 + .byte W06 + .byte Gn4 , v112 + .byte W06 + .byte N12 , An4 , v120 + .byte W12 + .byte N03 , Bn4 + .byte W03 + .byte N32 , As4 + .byte W09 + .byte VOL , 39*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 33*mus_rg_load02_mvl/mxv + .byte W12 + .byte 49*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N06 , An4 + .byte W06 + .byte N03 , As4 , v112 + .byte W06 + .byte VOL , 51*mus_rg_load02_mvl/mxv + .byte N48 , Fn4 , v120 + .byte W12 + .byte VOL , 39*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 34*mus_rg_load02_mvl/mxv + .byte W12 + .byte 26*mus_rg_load02_mvl/mxv + .byte W12 + .byte VOICE , 24 + .byte MOD , 0 + .byte PAN , c_v-32 + .byte VOL , 43*mus_rg_load02_mvl/mxv + .byte N48 , Dn5 + .byte W12 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte N36 , Fn5 + .byte W12 + .byte MOD , 6 + .byte W21 + .byte VOICE , 17 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v+24 + .byte N03 , Cn4 , v112 + .byte W03 + .byte Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte Fn4 + .byte W03 + .byte VOL , 34*mus_rg_load02_mvl/mxv + .byte N36 , En4 , v120 + .byte W12 + .byte MOD , 6 + .byte VOL , 46*mus_rg_load02_mvl/mxv + .byte W12 + .byte 49*mus_rg_load02_mvl/mxv + .byte W06 + .byte 54*mus_rg_load02_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 43*mus_rg_load02_mvl/mxv + .byte N06 , Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , En4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Gn4 + .byte W12 + .byte N12 , Cn4 , v112 + .byte W12 + .byte Gn4 + .byte W12 + .byte N06 , Dn4 , v120 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte N12 , Gn4 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Gn4 , v120 + .byte W06 + .byte An4 , v112 + .byte W06 + .byte N36 , As4 , v120 + .byte W12 + .byte VOL , 39*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 33*mus_rg_load02_mvl/mxv + .byte W12 + .byte 49*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N06 , An4 , v112 + .byte W06 + .byte N03 , As4 + .byte W06 + .byte VOL , 51*mus_rg_load02_mvl/mxv + .byte N48 , Dn5 , v120 + .byte W12 + .byte VOL , 39*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 34*mus_rg_load02_mvl/mxv + .byte W12 + .byte 26*mus_rg_load02_mvl/mxv + .byte W12 + .byte VOICE , 24 + .byte MOD , 0 + .byte PAN , c_v-32 + .byte VOL , 43*mus_rg_load02_mvl/mxv + .byte N36 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Cn5 , v112 + .byte W06 + .byte N03 , Dn5 + .byte W06 + .byte N12 , Fn5 , v120 + .byte W12 + .byte N24 , As4 , v112 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOICE , 17 + .byte MOD , 0 + .byte PAN , c_v+26 + .byte N06 , Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , En4 , v120 + .byte W12 + .byte Ds4 , v112 + .byte W12 + .byte En4 , v120 + .byte W12 + .byte Fn4 + .byte W12 + .byte VOL , 33*mus_rg_load02_mvl/mxv + .byte N24 , Gn4 + .byte W09 + .byte VOL , 43*mus_rg_load02_mvl/mxv + .byte W03 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Bn4 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte VOL , 31*mus_rg_load02_mvl/mxv + .byte N36 , Bn4 + .byte W12 + .byte VOL , 41*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 48*mus_rg_load02_mvl/mxv + .byte W06 + .byte 50*mus_rg_load02_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 43*mus_rg_load02_mvl/mxv + .byte N06 + .byte W12 + .byte Bn4 , v112 + .byte W06 + .byte As4 , v120 + .byte W06 + .byte N15 , An4 + .byte W16 + .byte N16 , Fn4 + .byte W16 + .byte Cn4 + .byte W16 + .byte VOL , 34*mus_rg_load02_mvl/mxv + .byte N24 , An4 + .byte W09 + .byte VOL , 43*mus_rg_load02_mvl/mxv + .byte W03 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Bn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte VOICE , 24 + .byte PAN , c_v-32 + .byte N36 , Fn5 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 , En5 , v112 + .byte W06 + .byte N03 , Fn5 + .byte W06 + .byte N12 , Dn5 , v120 + .byte W12 + .byte Bn4 , v112 + .byte W12 + .byte MOD , 6 + .byte N12 , Gn5 + .byte W12 + .byte VOICE , 17 + .byte MOD , 0 + .byte PAN , c_v+26 + .byte N12 , Fs4 + .byte W12 + .byte An4 , v120 + .byte W12 + .byte MOD , 6 + .byte N12 , Gn4 + .byte W12 + .byte MOD , 0 + .byte N12 , An4 + .byte W12 + .byte N24 , En4 + .byte W12 + .byte VOL , 43*mus_rg_load02_mvl/mxv + .byte W12 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Cn5 + .byte W12 + .byte Dn5 + .byte W12 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N48 , Bn5 + .byte W12 + .byte MOD , 6 + .byte VOL , 40*mus_rg_load02_mvl/mxv + .byte W12 + .byte 34*mus_rg_load02_mvl/mxv + .byte W12 + .byte 28*mus_rg_load02_mvl/mxv + .byte W06 + .byte 22*mus_rg_load02_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 43*mus_rg_load02_mvl/mxv + .byte N06 , An5 , v112 + .byte W06 + .byte Gn5 , v120 + .byte W06 + .byte MOD , 6 + .byte N16 , An5 + .byte W12 + .byte MOD , 0 + .byte W04 + .byte N16 , Gn5 + .byte W08 + .byte MOD , 6 + .byte W08 + .byte N16 , Fn5 + .byte W04 + .byte MOD , 0 + .byte W12 + .byte 6 + .byte N24 , An4 + .byte W24 + .byte MOD , 0 + .byte N12 , Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte N36 , Fn4 + .byte W12 + .byte VOL , 37*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 27*mus_rg_load02_mvl/mxv + .byte W06 + .byte 16*mus_rg_load02_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 43*mus_rg_load02_mvl/mxv + .byte N06 , Dn4 , v112 + .byte W06 + .byte N03 , Fn4 + .byte W06 + .byte N12 , Gn4 , v120 + .byte W12 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Gn4 , v088 + .byte W03 + .byte Fn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte GOTO + .word mus_rg_load02_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_load02_2: + .byte KEYSH , mus_rg_load02_key+0 + .byte VOICE , 17 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 56*mus_rg_load02_mvl/mxv + .byte PAN , c_v+27 + .byte BEND , c_v+0 + .byte N06 , Gn4 , v127 + .byte W06 + .byte As4 + .byte W06 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte N36 , Bn4 + .byte W12 + .byte VOL , 52*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 60*mus_rg_load02_mvl/mxv + .byte W06 + .byte 73*mus_rg_load02_mvl/mxv + .byte W06 + .byte 83*mus_rg_load02_mvl/mxv + .byte W06 + .byte 56*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N06 , An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W96 + .byte W48 + .byte PAN , c_v-22 + .byte N03 , Gn4 , v076 + .byte W03 + .byte An4 + .byte W03 + .byte Bn4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Dn5 + .byte W03 + .byte En5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Gn5 + .byte W03 + .byte PAN , c_v+15 + .byte N03 , Dn5 + .byte W03 + .byte En5 + .byte W03 + .byte PAN , c_v+29 + .byte N03 , Fn5 + .byte W03 + .byte Gn5 + .byte W03 + .byte PAN , c_v+47 + .byte N03 , An5 + .byte W03 + .byte Bn5 + .byte W03 + .byte Cn6 + .byte W03 + .byte Dn6 + .byte W03 +mus_rg_load02_2_B1: + .byte VOL , 42*mus_rg_load02_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , Cs6 , v096 + .byte W03 + .byte N32 , Cn6 , v120 + .byte W09 + .byte VOL , 56*mus_rg_load02_mvl/mxv + .byte W12 + .byte MOD , 6 + .byte VOL , 62*mus_rg_load02_mvl/mxv + .byte W06 + .byte 69*mus_rg_load02_mvl/mxv + .byte W06 + .byte 56*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N06 , Gn5 + .byte W06 + .byte Cn6 + .byte W06 + .byte VOL , 42*mus_rg_load02_mvl/mxv + .byte N48 , En6 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte VOL , 56*mus_rg_load02_mvl/mxv + .byte W06 + .byte 62*mus_rg_load02_mvl/mxv + .byte W06 + .byte 69*mus_rg_load02_mvl/mxv + .byte W18 + .byte 56*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte N12 , Gn5 + .byte W12 + .byte Cn6 + .byte W12 + .byte Gn6 + .byte W12 + .byte Fn6 + .byte W12 + .byte En6 + .byte W12 + .byte Dn6 + .byte W12 + .byte Cn6 + .byte W12 + .byte N03 , Ds6 + .byte W03 + .byte N44 , Dn6 + .byte W09 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 34*mus_rg_load02_mvl/mxv + .byte W12 + .byte 22*mus_rg_load02_mvl/mxv + .byte W06 + .byte 11*mus_rg_load02_mvl/mxv + .byte W06 + .byte 56*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N48 , Fn6 + .byte W12 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 34*mus_rg_load02_mvl/mxv + .byte W12 + .byte 22*mus_rg_load02_mvl/mxv + .byte W06 + .byte 11*mus_rg_load02_mvl/mxv + .byte W06 + .byte VOICE , 24 + .byte VOL , 56*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v+16 + .byte N48 , As5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte W24 + .byte 56*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N36 , An5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte W12 + .byte VOICE , 17 + .byte MOD , 0 + .byte PAN , c_v+0 + .byte N03 , Gn5 , v108 + .byte W03 + .byte As5 + .byte W03 + .byte Cn6 + .byte W03 + .byte Dn6 + .byte W03 + .byte VOL , 31*mus_rg_load02_mvl/mxv + .byte N36 , Cn6 + .byte W12 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 56*mus_rg_load02_mvl/mxv + .byte W06 + .byte 68*mus_rg_load02_mvl/mxv + .byte W12 + .byte 45*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N06 , Gn5 , v120 + .byte W06 + .byte Cn6 + .byte W06 + .byte VOL , 42*mus_rg_load02_mvl/mxv + .byte N54 , En6 + .byte W12 + .byte MOD , 6 + .byte W06 + .byte VOL , 56*mus_rg_load02_mvl/mxv + .byte W06 + .byte 63*mus_rg_load02_mvl/mxv + .byte W06 + .byte 69*mus_rg_load02_mvl/mxv + .byte W18 + .byte 56*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte N12 , Gn5 + .byte W12 + .byte Cn6 + .byte W12 + .byte Gn6 + .byte W12 + .byte Fn6 + .byte W12 + .byte N03 , En6 + .byte W03 + .byte Fn6 , v112 + .byte W03 + .byte N06 , En6 + .byte W06 + .byte N12 , Dn6 , v120 + .byte W12 + .byte Cn6 + .byte W12 + .byte N36 , Dn6 + .byte W12 + .byte MOD , 6 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte W12 + .byte 34*mus_rg_load02_mvl/mxv + .byte W06 + .byte 22*mus_rg_load02_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 56*mus_rg_load02_mvl/mxv + .byte N06 , As5 , v112 + .byte W06 + .byte N03 , Dn6 + .byte W06 + .byte N48 , Fn6 , v120 + .byte W12 + .byte MOD , 6 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte W12 + .byte 34*mus_rg_load02_mvl/mxv + .byte W12 + .byte 22*mus_rg_load02_mvl/mxv + .byte W06 + .byte 11*mus_rg_load02_mvl/mxv + .byte W06 + .byte VOICE , 24 + .byte MOD , 0 + .byte VOL , 56*mus_rg_load02_mvl/mxv + .byte PAN , c_v+16 + .byte N36 , As5 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , An5 , v112 + .byte W06 + .byte N03 , As5 + .byte W06 + .byte N12 , Dn6 , v120 + .byte W12 + .byte N24 , Fn6 , v112 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOICE , 17 + .byte MOD , 0 + .byte PAN , c_v+0 + .byte N06 , Cn6 , v120 + .byte W06 + .byte Dn6 + .byte W06 + .byte N12 , En6 + .byte W12 + .byte Dn6 + .byte W12 + .byte En6 + .byte W12 + .byte VOL , 34*mus_rg_load02_mvl/mxv + .byte N48 , Cn6 + .byte W12 + .byte VOL , 39*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 47*mus_rg_load02_mvl/mxv + .byte W06 + .byte 56*mus_rg_load02_mvl/mxv + .byte W06 + .byte 62*mus_rg_load02_mvl/mxv + .byte W06 + .byte 68*mus_rg_load02_mvl/mxv + .byte W12 + .byte 56*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N06 , Bn5 + .byte W06 + .byte Cn6 + .byte W06 + .byte N12 , Dn6 + .byte W12 + .byte N24 , Gn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 34*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N48 , Gn6 + .byte W12 + .byte VOL , 47*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W09 + .byte VOL , 56*mus_rg_load02_mvl/mxv + .byte W09 + .byte 68*mus_rg_load02_mvl/mxv + .byte W06 + .byte 56*mus_rg_load02_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte N06 , Fs6 , v108 + .byte W06 + .byte N03 , Fn6 , v084 + .byte W03 + .byte N06 , En6 + .byte W03 + .byte N16 , Fn6 , v120 + .byte W16 + .byte En6 + .byte W16 + .byte Cn6 + .byte W16 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte N48 + .byte W12 + .byte VOL , 34*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte W06 + .byte 56*mus_rg_load02_mvl/mxv + .byte W06 + .byte 62*mus_rg_load02_mvl/mxv + .byte W03 + .byte 68*mus_rg_load02_mvl/mxv + .byte W09 + .byte VOICE , 24 + .byte VOL , 56*mus_rg_load02_mvl/mxv + .byte PAN , c_v+16 + .byte MOD , 0 + .byte N36 , An5 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 , Gn5 , v112 + .byte W06 + .byte N03 , An5 + .byte W06 + .byte N12 , Bn5 , v120 + .byte W12 + .byte N24 , Dn6 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOICE , 17 + .byte MOD , 0 + .byte PAN , c_v+0 + .byte N06 , Cn6 + .byte W06 + .byte Dn6 + .byte W06 + .byte N12 , En6 + .byte W12 + .byte Dn6 + .byte W12 + .byte En6 + .byte W12 + .byte VOL , 31*mus_rg_load02_mvl/mxv + .byte N48 , Cn6 + .byte W12 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 51*mus_rg_load02_mvl/mxv + .byte W06 + .byte 56*mus_rg_load02_mvl/mxv + .byte W06 + .byte 62*mus_rg_load02_mvl/mxv + .byte W06 + .byte 68*mus_rg_load02_mvl/mxv + .byte W12 + .byte 56*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N06 , Bn5 , v108 + .byte W06 + .byte Cn6 + .byte W06 + .byte MOD , 0 + .byte N12 , Dn6 , v120 + .byte W12 + .byte N24 , Gn5 + .byte W24 + .byte VOL , 34*mus_rg_load02_mvl/mxv + .byte N48 , Gn6 + .byte W12 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 49*mus_rg_load02_mvl/mxv + .byte W06 + .byte 55*mus_rg_load02_mvl/mxv + .byte W06 + .byte 59*mus_rg_load02_mvl/mxv + .byte W06 + .byte 65*mus_rg_load02_mvl/mxv + .byte W12 + .byte 56*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N06 , Fn6 + .byte W06 + .byte En6 + .byte W06 + .byte N16 , Fn6 + .byte W16 + .byte En6 + .byte W16 + .byte Cn6 + .byte W16 + .byte VOL , 29*mus_rg_load02_mvl/mxv + .byte N48 + .byte W12 + .byte VOL , 39*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 47*mus_rg_load02_mvl/mxv + .byte W06 + .byte 58*mus_rg_load02_mvl/mxv + .byte W06 + .byte 62*mus_rg_load02_mvl/mxv + .byte W12 + .byte 56*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N36 + .byte W12 + .byte VOL , 34*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 28*mus_rg_load02_mvl/mxv + .byte W06 + .byte 22*mus_rg_load02_mvl/mxv + .byte W06 + .byte 56*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N06 , Bn5 + .byte W06 + .byte N03 , Cn6 + .byte W06 + .byte N12 , Dn6 + .byte W12 + .byte N24 , Gn6 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N03 , Fn6 , v088 + .byte W03 + .byte Dn6 + .byte W03 + .byte Bn5 + .byte W03 + .byte Gn5 + .byte W03 + .byte GOTO + .word mus_rg_load02_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_load02_3: + .byte KEYSH , mus_rg_load02_key+0 + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 59*mus_rg_load02_mvl/mxv + .byte N06 , Gn1 , v127 + .byte W06 + .byte As1 + .byte W06 + .byte N24 , Bn1 + .byte W24 + .byte An1 + .byte W24 + .byte N03 , Gn1 + .byte W12 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , En1 + .byte W12 + .byte N21 , Gn1 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W24 +mus_rg_load02_3_B1: +mus_rg_load02_3_000: + .byte N06 , En1 , v127 + .byte W12 + .byte N24 , Gn1 + .byte W24 + .byte N03 , En1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , Gn1 + .byte W24 + .byte PEND + .byte N03 , En1 + .byte W12 + .byte N24 , Gn1 + .byte W24 + .byte N03 , En1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte An1 + .byte W12 +mus_rg_load02_3_001: + .byte N06 , Fn1 , v127 + .byte W12 + .byte N24 , As1 + .byte W24 + .byte N03 , Fn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , As1 + .byte W24 + .byte PEND + .byte N06 , Fn1 + .byte W12 + .byte N24 , As1 + .byte W24 + .byte N03 , Fn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte PATT + .word mus_rg_load02_3_000 + .byte N06 , En1 , v127 + .byte W12 + .byte N24 , Gn1 + .byte W24 + .byte N03 , En1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte An1 + .byte W12 + .byte PATT + .word mus_rg_load02_3_001 + .byte N06 , Fn1 , v127 + .byte W12 + .byte N24 , As1 + .byte W24 + .byte N03 , Fn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , As1 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N06 , Gn1 + .byte W12 + .byte N24 , Dn2 + .byte W24 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte Cs2 , v120 + .byte W12 + .byte N06 , Fn1 , v127 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N03 , Fn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N06 , Fn1 + .byte W12 + .byte N24 , An1 + .byte W24 + .byte N03 , Fn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , An1 + .byte W12 + .byte Bn1 , v120 + .byte W12 + .byte N06 , An1 , v127 + .byte W12 + .byte N24 , En2 + .byte W24 + .byte N03 , An1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , En2 + .byte W12 + .byte Ds2 , v120 + .byte W12 + .byte N06 , Gn1 , v127 + .byte W12 + .byte N24 , Dn2 + .byte W24 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Cn2 + .byte W12 + .byte N06 , Gn1 , v120 + .byte W06 + .byte Fs1 + .byte W06 + .byte Fn1 , v127 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N03 , Fn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte Gn1 , v120 + .byte W12 + .byte N06 , Dn1 , v127 + .byte W12 + .byte N18 , Fn1 + .byte W24 + .byte N03 , Dn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Gn1 + .byte W12 + .byte N06 + .byte W12 + .byte Gn2 + .byte W06 + .byte Fn2 , v120 + .byte W06 + .byte N12 , Gn1 + .byte W12 + .byte GOTO + .word mus_rg_load02_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_load02_4: + .byte KEYSH , mus_rg_load02_key+0 + .byte VOICE , 92 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte N06 , Gn5 , v127 + .byte W06 + .byte As5 + .byte W06 + .byte N36 , Bn5 + .byte W12 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W24 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N06 , An5 + .byte W06 + .byte Bn5 + .byte W06 + .byte VOICE , 82 + .byte N06 , Cn6 + .byte W12 + .byte N21 , Gn3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , En3 + .byte W12 + .byte N21 , Gn3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 +mus_rg_load02_4_B1: + .byte VOICE , 92 + .byte MOD , 0 + .byte N03 , Cs3 , v120 + .byte W03 + .byte N32 , Cn3 , v127 + .byte W09 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte W24 + .byte 45*mus_rg_load02_mvl/mxv + .byte N06 , Gn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N48 , En3 + .byte W12 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte W36 + .byte W12 + .byte 45*mus_rg_load02_mvl/mxv + .byte N12 , Gn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N03 , Ds3 , v088 + .byte W03 + .byte N44 , Dn3 , v127 + .byte W09 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte W36 + .byte 45*mus_rg_load02_mvl/mxv + .byte N48 , Fn3 + .byte W12 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte W36 + .byte VOICE , 84 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte N48 , As2 + .byte W12 + .byte MOD , 8 + .byte W36 + .byte 0 + .byte N36 , An2 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte VOICE , 92 + .byte MOD , 0 + .byte N03 , Gn2 , v120 + .byte W03 + .byte As2 + .byte W03 + .byte Cn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte N36 , Cn3 , v127 + .byte W12 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W24 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N06 , Gn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N54 , En3 + .byte W12 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W36 + .byte 0 + .byte W12 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte N12 , Gn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N03 , En3 + .byte W03 + .byte Fn3 , v120 + .byte W03 + .byte N06 , En3 + .byte W06 + .byte N12 , Dn3 , v127 + .byte W12 + .byte Cn3 + .byte W12 + .byte N36 , Dn3 + .byte W12 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W24 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N06 , As2 , v120 + .byte W06 + .byte N03 , Dn3 + .byte W06 + .byte N48 , Fn3 , v127 + .byte W12 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W36 + .byte VOICE , 84 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N36 , As2 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , An2 , v120 + .byte W06 + .byte N03 , As2 + .byte W06 + .byte N12 , Dn3 , v127 + .byte W12 + .byte N24 , Fn3 , v120 + .byte W12 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOICE , 92 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N06 , Cn3 , v127 + .byte W06 + .byte Dn3 + .byte W06 +mus_rg_load02_4_000: + .byte N12 , En3 , v127 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte N48 , Cn3 + .byte W12 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W36 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N06 , Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte PEND + .byte N12 , Dn3 + .byte W12 + .byte N24 , Gn2 + .byte W12 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N48 , Gn3 + .byte W12 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W24 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte N06 , Fs3 , v104 + .byte W06 + .byte N03 , Fn3 , v068 + .byte W03 + .byte En3 + .byte W03 +mus_rg_load02_4_001: + .byte N16 , Fn3 , v127 + .byte W16 + .byte En3 + .byte W16 + .byte Cn3 + .byte W16 + .byte N48 + .byte W12 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W36 + .byte PEND + .byte VOICE , 84 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N36 , An2 + .byte W12 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W24 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N06 , Gn2 , v120 + .byte W06 + .byte N03 , An2 + .byte W06 + .byte N12 , Bn2 , v127 + .byte W12 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte N24 , Dn3 , v120 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOICE , 92 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N06 , Cn3 , v127 + .byte W06 + .byte Dn3 + .byte W06 + .byte PATT + .word mus_rg_load02_4_000 + .byte MOD , 0 + .byte N12 , Dn3 , v127 + .byte W12 + .byte N24 , Gn2 + .byte W12 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte W12 + .byte 45*mus_rg_load02_mvl/mxv + .byte N48 , Gn3 + .byte W12 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W36 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N06 , Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte PATT + .word mus_rg_load02_4_001 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N36 , Cn3 , v127 + .byte W12 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W24 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N06 , Bn2 , v120 + .byte W06 + .byte N03 , Cn3 + .byte W06 + .byte N12 , Dn3 , v127 + .byte W12 + .byte N24 , Gn3 , v120 + .byte W12 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte MOD , 5 + .byte W12 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte MOD , 0 + .byte N03 , Fn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Bn2 + .byte W03 + .byte Gn2 + .byte W03 + .byte GOTO + .word mus_rg_load02_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_load02_5: + .byte KEYSH , mus_rg_load02_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 68*mus_rg_load02_mvl/mxv + .byte N06 , Dn2 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte N24 , Bn1 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Gn1 , v116 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Bn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte N09 , Cn3 + .byte W72 + .byte N12 , Gn1 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Cn3 , v056 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Cn2 , v127 + .byte W96 +mus_rg_load02_5_B1: + .byte VOICE , 60 + .byte PAN , c_v-21 + .byte N36 , Gn2 , v060 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 , En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte N24 , Gn2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Cn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N36 , Gn3 + .byte W15 + .byte MOD , 6 + .byte W21 + .byte 0 + .byte N12 , Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte N06 , Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte VOICE , 47 + .byte PAN , c_v-39 + .byte N12 , As2 , v120 + .byte W36 + .byte N03 , As2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Fn2 + .byte W48 + .byte PAN , c_v+32 + .byte N12 , Fn2 , v120 + .byte W36 + .byte N03 , Fn2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v-39 + .byte N12 , Dn3 , v120 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v-20 + .byte N06 , En3 , v064 + .byte W06 + .byte Fn3 + .byte W06 + .byte N36 , Gn3 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte N06 , En3 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N06 , Dn3 + .byte W06 + .byte N24 , Cn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Dn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N36 , En3 + .byte W09 + .byte MOD , 6 + .byte W24 + .byte W03 + .byte 0 + .byte N03 , Fn3 + .byte W03 + .byte Gn3 + .byte W03 + .byte An3 + .byte W03 + .byte Bn3 + .byte W03 + .byte N36 , Cn4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 , As3 + .byte W06 + .byte An3 + .byte W06 + .byte N18 , Gn3 + .byte W18 + .byte Fn3 + .byte W18 + .byte N12 , En3 + .byte W12 + .byte N18 , Dn3 + .byte W18 + .byte Fn3 + .byte W18 + .byte N06 , As3 , v056 + .byte W06 + .byte Cn4 , v060 + .byte W06 + .byte N36 , Dn4 , v056 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 , Cn4 + .byte W06 + .byte An3 , v064 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte N24 , Fn3 + .byte W06 + .byte VOL , 60*mus_rg_load02_mvl/mxv + .byte W06 + .byte 53*mus_rg_load02_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte W06 + .byte VOICE , 48 + .byte MOD , 0 + .byte N03 , Cn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte En3 + .byte W03 + .byte Fn3 + .byte W03 + .byte VOL , 56*mus_rg_load02_mvl/mxv + .byte N18 , Gn3 + .byte W18 + .byte Fn3 + .byte W18 + .byte N12 , Gn3 + .byte W12 + .byte N18 , Cn4 + .byte W18 + .byte Bn3 + .byte W18 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , Dn3 + .byte W24 + .byte Dn4 , v056 + .byte W24 + .byte Cn4 + .byte W24 + .byte N12 , Bn3 + .byte W12 + .byte Cn4 + .byte W15 + .byte N18 , An3 , v064 + .byte W18 + .byte N15 , Fn3 , v056 + .byte W15 + .byte N36 , Fn4 + .byte W36 + .byte N06 , En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte VOL , 66*mus_rg_load02_mvl/mxv + .byte N36 , Cn4 + .byte W36 + .byte VOICE , 47 + .byte PAN , c_v-43 + .byte N06 , An2 , v108 + .byte W06 + .byte An2 , v084 + .byte W06 + .byte N12 , An2 , v096 + .byte W12 + .byte PAN , c_v+35 + .byte N12 , Dn3 + .byte W12 + .byte PAN , c_v-40 + .byte N24 , Gn2 , v104 + .byte W24 + .byte VOICE , 48 + .byte VOL , 56*mus_rg_load02_mvl/mxv + .byte N18 , En4 , v048 + .byte W18 + .byte Dn4 + .byte W18 + .byte N12 , En4 + .byte W12 + .byte N36 , Cn4 + .byte W36 + .byte N12 , Bn3 + .byte W12 + .byte N18 , Dn4 + .byte W18 + .byte Gn4 + .byte W18 + .byte N12 , An4 + .byte W12 + .byte N18 , Bn4 + .byte W18 + .byte Cn5 + .byte W18 + .byte N12 , Dn5 + .byte W12 + .byte N18 , Cn5 + .byte W18 + .byte N15 , Bn4 + .byte W15 + .byte Cn5 + .byte W15 + .byte N24 , Fn4 + .byte W24 + .byte N12 , An4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N18 , Bn3 + .byte W18 + .byte Cn4 + .byte W18 + .byte N06 , Dn4 + .byte W06 + .byte N03 + .byte W03 + .byte En4 + .byte W03 + .byte N24 , Fn4 + .byte W24 + .byte VOICE , 47 + .byte PAN , c_v+32 + .byte N06 , Dn3 , v104 + .byte W06 + .byte Dn3 , v092 + .byte W06 + .byte PAN , c_v-40 + .byte N12 , Gn2 + .byte W12 + .byte GOTO + .word mus_rg_load02_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_load02_6: + .byte KEYSH , mus_rg_load02_key+0 + .byte VOICE , 14 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 45*mus_rg_load02_mvl/mxv + .byte PAN , c_v+0 + .byte W12 + .byte W48 + .byte W96 + .byte W96 +mus_rg_load02_6_B1: + .byte W72 + .byte PAN , c_v-11 + .byte N06 , Cn5 , v120 + .byte W12 + .byte PAN , c_v-38 + .byte N06 , Gn4 + .byte W12 + .byte PAN , c_v+38 + .byte N06 , En5 , v108 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte PAN , c_v-10 + .byte N06 , Cn5 , v120 + .byte W06 + .byte PAN , c_v-41 + .byte N06 , Gn4 + .byte W06 + .byte En4 + .byte W12 + .byte PAN , c_v+37 + .byte N06 , En5 , v108 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_load02_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_load02_7: + .byte KEYSH , mus_rg_load02_key+0 + .byte VOICE , 87 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 34*mus_rg_load02_mvl/mxv + .byte PAN , c_v-64 + .byte N06 , Gn3 , v120 + .byte W06 + .byte Fn3 + .byte W06 + .byte VOL , 22*mus_rg_load02_mvl/mxv + .byte N36 , Dn3 + .byte W09 + .byte MOD , 6 + .byte VOL , 34*mus_rg_load02_mvl/mxv + .byte W09 + .byte 45*mus_rg_load02_mvl/mxv + .byte W06 + .byte 56*mus_rg_load02_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 34*mus_rg_load02_mvl/mxv + .byte N06 , Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte VOICE , 80 + .byte PAN , c_v-64 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Cn4 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Dn4 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Cn4 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Dn4 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Cn4 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Dn4 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Cn4 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Cn4 + .byte W06 +mus_rg_load02_7_000: + .byte PAN , c_v-64 + .byte N01 , Gn3 , v120 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Cn4 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Dn4 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Cn4 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Dn4 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Cn4 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , En3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Dn4 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Cn4 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Gn3 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Cn4 + .byte W06 + .byte PEND +mus_rg_load02_7_B1: + .byte PATT + .word mus_rg_load02_7_000 + .byte PATT + .word mus_rg_load02_7_000 + .byte PATT + .word mus_rg_load02_7_000 + .byte PATT + .word mus_rg_load02_7_000 + .byte PATT + .word mus_rg_load02_7_000 + .byte PATT + .word mus_rg_load02_7_000 + .byte PATT + .word mus_rg_load02_7_000 + .byte PATT + .word mus_rg_load02_7_000 + .byte PATT + .word mus_rg_load02_7_000 + .byte PATT + .word mus_rg_load02_7_000 +mus_rg_load02_7_001: + .byte N01 , Gn3 , v120 + .byte W01 + .byte PAN , c_v-64 + .byte W05 + .byte N01 , Cn4 + .byte W01 + .byte PAN , c_v+63 + .byte W05 + .byte N01 , Dn4 + .byte W01 + .byte PAN , c_v-64 + .byte W05 + .byte N01 , Gn3 + .byte W01 + .byte PAN , c_v+63 + .byte W05 + .byte N01 , En3 + .byte W01 + .byte PAN , c_v-64 + .byte W05 + .byte N01 , Cn4 + .byte W01 + .byte PAN , c_v+63 + .byte W05 + .byte N01 , Gn3 + .byte W01 + .byte PAN , c_v-64 + .byte W05 + .byte N01 , Dn4 + .byte W01 + .byte PAN , c_v+63 + .byte W05 + .byte N01 , Cn4 + .byte W01 + .byte PAN , c_v-64 + .byte W05 + .byte N01 , Gn3 + .byte W01 + .byte PAN , c_v+63 + .byte W05 + .byte N01 , En3 + .byte W01 + .byte PAN , c_v-64 + .byte W05 + .byte N01 , Gn3 + .byte W01 + .byte PAN , c_v+63 + .byte W05 + .byte N01 , Dn4 + .byte W01 + .byte PAN , c_v-64 + .byte W05 + .byte N01 , Cn4 + .byte W01 + .byte PAN , c_v+63 + .byte W05 + .byte N01 , Gn3 + .byte W01 + .byte PAN , c_v-64 + .byte W05 + .byte N01 , Cn4 + .byte W01 + .byte PAN , c_v+63 + .byte W05 + .byte PEND + .byte PATT + .word mus_rg_load02_7_001 + .byte PATT + .word mus_rg_load02_7_001 + .byte PATT + .word mus_rg_load02_7_001 + .byte PATT + .word mus_rg_load02_7_001 + .byte PATT + .word mus_rg_load02_7_001 + .byte GOTO + .word mus_rg_load02_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_load02_8: + .byte KEYSH , mus_rg_load02_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 56*mus_rg_load02_mvl/mxv + .byte W12 + .byte PAN , c_v+42 + .byte N48 , Cn3 , v120 + .byte W24 + .byte PAN , c_v+32 + .byte W06 + .byte c_v+16 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v-32 + .byte W06 + .byte c_v+0 + .byte N48 , Gn2 , v127 + .byte W96 + .byte W48 + .byte PAN , c_v-42 + .byte N48 , Cn3 , v120 + .byte W24 + .byte PAN , c_v-32 + .byte W06 + .byte c_v-16 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+32 + .byte W06 +mus_rg_load02_8_B1: + .byte PAN , c_v+0 + .byte N48 , Cs2 , v120 + .byte W96 + .byte W96 +mus_rg_load02_8_000: + .byte W48 + .byte PAN , c_v+42 + .byte N48 , Cn3 , v120 + .byte W24 + .byte PAN , c_v+32 + .byte W06 + .byte c_v+16 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v-32 + .byte W06 + .byte PEND + .byte c_v+0 + .byte N48 , Gn2 + .byte W48 + .byte N24 , Bn2 + .byte W24 + .byte Cn3 + .byte W24 + .byte W96 + .byte W96 + .byte PATT + .word mus_rg_load02_8_000 + .byte PAN , c_v+0 + .byte N48 , Gn2 , v120 + .byte W96 + .byte VOL , 15*mus_rg_load02_mvl/mxv + .byte PAN , c_v-4 + .byte N03 , Gs4 , v072 + .byte W06 + .byte Gs4 , v048 + .byte W06 + .byte VOL , 21*mus_rg_load02_mvl/mxv + .byte N12 , As4 , v080 + .byte W12 + .byte VOL , 27*mus_rg_load02_mvl/mxv + .byte N03 , Gs4 , v072 + .byte W06 + .byte Gs4 , v048 + .byte W06 + .byte N12 , As4 , v080 + .byte W12 + .byte VOL , 31*mus_rg_load02_mvl/mxv + .byte N03 , Gs4 , v072 + .byte W06 + .byte Gs4 , v048 + .byte W06 + .byte N12 , As4 , v080 + .byte W12 + .byte VOL , 36*mus_rg_load02_mvl/mxv + .byte N03 , Gs4 , v076 + .byte W06 + .byte Gs4 , v044 + .byte W06 + .byte Gs4 , v088 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte VOL , 38*mus_rg_load02_mvl/mxv + .byte N03 , Gs4 , v072 + .byte W06 + .byte Gs4 , v048 + .byte W06 + .byte N12 , As4 , v080 + .byte W12 + .byte N03 , Gs4 , v072 + .byte W06 + .byte Gs4 , v048 + .byte W06 + .byte N12 , As4 , v080 + .byte W12 + .byte N03 , Gs4 + .byte W06 + .byte Gs4 , v052 + .byte W06 + .byte Gs4 , v092 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte Gs4 , v072 + .byte W06 + .byte Gs4 , v048 + .byte W06 + .byte N12 , As4 , v080 + .byte W12 + .byte N03 , Gs4 , v072 + .byte W06 + .byte Gs4 , v048 + .byte W06 + .byte N12 , As4 , v080 + .byte W12 + .byte N03 , Gs4 , v072 + .byte W06 + .byte Gs4 , v048 + .byte W06 + .byte N12 , As4 , v080 + .byte W12 + .byte N03 , Gs4 , v072 + .byte W06 + .byte Gs4 , v048 + .byte W06 + .byte N12 , As4 , v080 + .byte W12 + .byte N03 , Gs4 , v076 + .byte W06 + .byte Gs4 , v044 + .byte W06 + .byte Gs4 , v088 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte Gs4 , v072 + .byte W06 + .byte Gs4 , v048 + .byte W06 + .byte N12 , As4 , v080 + .byte W12 + .byte N03 , Gs4 , v072 + .byte W06 + .byte Gs4 , v048 + .byte W06 + .byte N12 , As4 , v080 + .byte W12 + .byte N03 , Gs4 , v072 + .byte W06 + .byte Gs4 , v048 + .byte W06 + .byte Gs4 , v080 + .byte W06 + .byte Gs4 , v072 + .byte W06 + .byte Gs4 , v080 + .byte W06 + .byte Gs4 , v052 + .byte W06 + .byte Gs4 , v092 + .byte W03 + .byte Gs4 , v048 + .byte W03 + .byte N03 + .byte W06 +mus_rg_load02_8_001: + .byte N03 , Gs4 , v072 + .byte W06 + .byte Gs4 , v048 + .byte W06 + .byte N12 , As4 , v080 + .byte W12 + .byte N03 , Gs4 , v072 + .byte W06 + .byte Gs4 , v048 + .byte W06 + .byte N12 , As4 , v080 + .byte W12 + .byte N03 , Gs4 , v076 + .byte W06 + .byte Gs4 , v044 + .byte W06 + .byte Gs4 , v088 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte Gs4 , v072 + .byte W06 + .byte Gs4 , v048 + .byte W06 + .byte N12 , As4 , v080 + .byte W12 + .byte PEND + .byte N03 , Gs4 , v072 + .byte W06 + .byte Gs4 , v048 + .byte W06 + .byte N12 , As4 , v080 + .byte W12 + .byte N03 , Gs4 , v072 + .byte W06 + .byte Gs4 , v048 + .byte W06 + .byte N12 , As4 , v080 + .byte W12 + .byte N03 , Gs4 , v072 + .byte W06 + .byte Gs4 , v048 + .byte W06 + .byte N12 , As4 , v080 + .byte W12 + .byte N03 , Gs4 , v072 + .byte W06 + .byte Gs4 , v048 + .byte W06 + .byte N12 , As4 , v080 + .byte W12 + .byte PATT + .word mus_rg_load02_8_001 + .byte N03 , Gs4 , v072 + .byte W06 + .byte Gs4 , v048 + .byte W06 + .byte N12 , As4 , v080 + .byte W12 + .byte N03 , Gs4 , v072 + .byte W06 + .byte Gs4 , v048 + .byte W06 + .byte N12 , As4 , v080 + .byte W12 + .byte PAN , c_v-42 + .byte VOL , 60*mus_rg_load02_mvl/mxv + .byte N48 , Cn3 , v120 + .byte W24 + .byte PAN , c_v-32 + .byte W06 + .byte c_v-16 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+32 + .byte W06 + .byte GOTO + .word mus_rg_load02_8_B1 + .byte PAN , c_v+0 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_load02_9: + .byte KEYSH , mus_rg_load02_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 56*mus_rg_load02_mvl/mxv + .byte N01 , Cn5 , v127 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W24 + .byte Cn5 , v096 + .byte W03 + .byte Cn5 , v064 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 +mus_rg_load02_9_000: + .byte N01 , Cn5 , v127 + .byte W12 + .byte Gn5 , v064 + .byte W06 + .byte Gn5 , v044 + .byte W06 + .byte Gn5 , v080 + .byte W12 + .byte Cn5 , v127 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W12 + .byte N01 + .byte W12 + .byte Cn5 , v112 + .byte W03 + .byte Cn5 , v080 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PEND + .byte Cn5 , v127 + .byte W12 + .byte Gn5 , v064 + .byte W06 + .byte Gn5 , v044 + .byte W06 + .byte Gn5 , v080 + .byte W12 + .byte Cn5 , v127 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W12 + .byte N01 + .byte W12 + .byte N01 + .byte W12 + .byte Cn5 , v112 + .byte W03 + .byte Cn5 , v080 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 +mus_rg_load02_9_B1: + .byte PATT + .word mus_rg_load02_9_000 +mus_rg_load02_9_001: + .byte N01 , Cn5 , v127 + .byte W12 + .byte Gn5 , v064 + .byte W06 + .byte Gn5 , v044 + .byte W06 + .byte Gn5 , v080 + .byte W12 + .byte Cn5 , v127 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W12 + .byte N01 + .byte W24 + .byte Cn5 , v112 + .byte W03 + .byte Cn5 , v080 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PEND + .byte Cn5 , v127 + .byte W12 + .byte Gn5 , v064 + .byte W06 + .byte Gn5 , v044 + .byte W06 + .byte Gn5 , v080 + .byte W12 + .byte Cn5 , v127 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W12 + .byte N01 + .byte W30 + .byte Cn5 , v112 + .byte W03 + .byte Cn5 , v084 + .byte W03 + .byte PATT + .word mus_rg_load02_9_000 + .byte PATT + .word mus_rg_load02_9_001 +mus_rg_load02_9_002: + .byte N01 , Cn5 , v127 + .byte W12 + .byte Gn5 , v064 + .byte W06 + .byte Gn5 , v044 + .byte W06 + .byte Gn5 , v080 + .byte W12 + .byte Cn5 , v127 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W12 + .byte N01 + .byte W30 + .byte Cn5 , v112 + .byte W03 + .byte Cn5 , v080 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_load02_9_001 + .byte PATT + .word mus_rg_load02_9_000 + .byte PATT + .word mus_rg_load02_9_002 + .byte PATT + .word mus_rg_load02_9_001 + .byte PATT + .word mus_rg_load02_9_001 + .byte PATT + .word mus_rg_load02_9_000 + .byte PATT + .word mus_rg_load02_9_002 + .byte PATT + .word mus_rg_load02_9_001 + .byte PATT + .word mus_rg_load02_9_001 + .byte PATT + .word mus_rg_load02_9_000 + .byte GOTO + .word mus_rg_load02_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_load02: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_load02_pri @ Priority + .byte mus_rg_load02_rev @ Reverb. + + .word mus_rg_load02_grp + + .word mus_rg_load02_1 + .word mus_rg_load02_2 + .word mus_rg_load02_3 + .word mus_rg_load02_4 + .word mus_rg_load02_5 + .word mus_rg_load02_6 + .word mus_rg_load02_7 + .word mus_rg_load02_8 + .word mus_rg_load02_9 + + .end diff --git a/sound/songs/mus_rg_load03.s b/sound/songs/mus_rg_load03.s new file mode 100644 index 0000000000..1d80922f1c --- /dev/null +++ b/sound/songs/mus_rg_load03.s @@ -0,0 +1,2569 @@ + .include "MPlayDef.s" + + .equ mus_rg_load03_grp, voicegroup_86A8260 + .equ mus_rg_load03_pri, 0 + .equ mus_rg_load03_rev, reverb_set+50 + .equ mus_rg_load03_mvl, 127 + .equ mus_rg_load03_key, 0 + .equ mus_rg_load03_tbs, 1 + .equ mus_rg_load03_exg, 0 + .equ mus_rg_load03_cmp, 1 + + .section .rodata + .global mus_rg_load03 + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_load03_1: + .byte KEYSH , mus_rg_load03_key+0 + .byte TEMPO , 124*mus_rg_load03_tbs/2 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 36*mus_rg_load03_mvl/mxv + .byte N09 , An2 , v127 + .byte W18 + .byte N03 , Fn2 , v120 + .byte W06 + .byte N24 , Cn3 , v096 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , As2 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , An2 + .byte W24 + .byte VOICE , 60 + .byte N09 , Gn2 , v127 + .byte W18 + .byte N03 , Cn2 , v120 + .byte W06 + .byte N24 , An2 , v096 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Cn3 + .byte W24 + .byte VOICE , 48 + .byte PAN , c_v-32 + .byte N06 , Cn3 , v127 + .byte W06 + .byte Fn3 , v096 + .byte W06 + .byte Gn3 + .byte W06 + .byte Cn4 + .byte W06 +mus_rg_load03_1_B1: + .byte PAN , c_v-32 + .byte N36 , Cn4 , v127 + .byte W36 + .byte N06 , Fn3 , v096 + .byte W12 + .byte N24 + .byte W24 + .byte Fn4 , v127 + .byte W24 + .byte Ds4 , v100 + .byte W24 + .byte Dn4 , v096 + .byte W24 + .byte Cn4 + .byte W24 + .byte As3 + .byte W24 + .byte N06 , An3 , v127 + .byte W18 + .byte Fn3 , v096 + .byte W06 + .byte N72 , Gn3 , v108 + .byte W72 + .byte VOL , 47*mus_rg_load03_mvl/mxv + .byte PAN , c_v-43 + .byte N09 , Fn2 , v127 + .byte W18 + .byte N03 , Dn2 , v120 + .byte W06 + .byte N24 , Fn2 + .byte W24 + .byte N06 , Gn2 , v127 + .byte W12 + .byte En2 , v124 + .byte W06 + .byte N03 , Gn2 , v112 + .byte W03 + .byte An2 , v108 + .byte W03 + .byte N24 , As2 , v124 + .byte W12 + .byte VOL , 34*mus_rg_load03_mvl/mxv + .byte W06 + .byte 24*mus_rg_load03_mvl/mxv + .byte W06 + .byte PAN , c_v-32 + .byte VOL , 36*mus_rg_load03_mvl/mxv + .byte N36 , Cn4 , v127 + .byte W36 + .byte N03 , Fn3 + .byte W06 + .byte Fn3 , v120 + .byte W06 + .byte N24 , Fn3 , v127 + .byte W24 + .byte Fn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte Dn4 + .byte W24 + .byte Cn4 + .byte W24 + .byte Dn4 + .byte W24 + .byte N18 , Fn4 + .byte W18 + .byte N06 , En4 + .byte W06 + .byte N72 , Fn4 + .byte W72 + .byte N18 , Cn4 + .byte W18 + .byte N06 , As3 + .byte W06 + .byte N48 , An3 + .byte W48 + .byte N24 , Fn4 + .byte W24 + .byte N12 , Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N03 , En4 , v120 + .byte W03 + .byte N09 , Ds4 , v127 + .byte W09 + .byte N12 , As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N03 , En3 , v120 + .byte W03 + .byte N09 , Ds3 , v127 + .byte W09 + .byte N12 , Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte N03 , Fs4 , v120 + .byte W03 + .byte N09 , Fn4 , v127 + .byte W09 + .byte N12 , Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N16 , As3 + .byte W16 + .byte An3 + .byte W16 + .byte Gn3 + .byte W16 + .byte Fn4 + .byte W16 + .byte En4 + .byte W16 + .byte Dn4 + .byte W16 + .byte N16 + .byte W16 + .byte Cn4 + .byte W16 + .byte As3 + .byte W16 + .byte Cn4 + .byte W16 + .byte Dn4 + .byte W16 + .byte En4 + .byte W16 + .byte N12 , Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte N16 , Cn4 + .byte W16 + .byte Dn4 + .byte W16 + .byte En4 + .byte W16 + .byte N12 , Fn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Gn3 + .byte W12 + .byte GOTO + .word mus_rg_load03_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_load03_2: + .byte KEYSH , mus_rg_load03_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_load03_mvl/mxv + .byte N09 , Fn3 , v108 + .byte W18 + .byte N03 , Gn3 + .byte W06 + .byte N72 , Fn3 + .byte W15 + .byte MOD , 6 + .byte W03 + .byte VOL , 79*mus_rg_load03_mvl/mxv + .byte W06 + .byte 68*mus_rg_load03_mvl/mxv + .byte W06 + .byte 56*mus_rg_load03_mvl/mxv + .byte W06 + .byte 45*mus_rg_load03_mvl/mxv + .byte W06 + .byte 34*mus_rg_load03_mvl/mxv + .byte W06 + .byte 21*mus_rg_load03_mvl/mxv + .byte W06 + .byte 11*mus_rg_load03_mvl/mxv + .byte W06 + .byte 5*mus_rg_load03_mvl/mxv + .byte W12 + .byte VOICE , 60 + .byte VOL , 90*mus_rg_load03_mvl/mxv + .byte MOD , 0 + .byte N09 , Cn3 + .byte W18 + .byte N03 , Cs3 + .byte W06 + .byte N48 , Cn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 79*mus_rg_load03_mvl/mxv + .byte W06 + .byte 68*mus_rg_load03_mvl/mxv + .byte W06 + .byte 56*mus_rg_load03_mvl/mxv + .byte W06 + .byte 45*mus_rg_load03_mvl/mxv + .byte W06 + .byte VOICE , 56 + .byte VOL , 90*mus_rg_load03_mvl/mxv + .byte MOD , 0 + .byte N06 , Fn3 , v127 + .byte W06 + .byte Gn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte En4 + .byte W06 +mus_rg_load03_2_B1: + .byte VOL , 90*mus_rg_load03_mvl/mxv + .byte N36 , Fn4 , v127 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N06 , Cn4 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N24 , Cn5 + .byte W24 + .byte As4 + .byte W24 + .byte An4 + .byte W24 + .byte Gn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W18 + .byte Fn4 + .byte W06 + .byte N72 , Cn4 , v120 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 79*mus_rg_load03_mvl/mxv + .byte W06 + .byte 72*mus_rg_load03_mvl/mxv + .byte W06 + .byte 68*mus_rg_load03_mvl/mxv + .byte W06 + .byte 63*mus_rg_load03_mvl/mxv + .byte W06 + .byte 56*mus_rg_load03_mvl/mxv + .byte W06 + .byte 50*mus_rg_load03_mvl/mxv + .byte W06 + .byte 45*mus_rg_load03_mvl/mxv + .byte W12 + .byte VOICE , 60 + .byte MOD , 0 + .byte VOL , 90*mus_rg_load03_mvl/mxv + .byte N09 , Cn3 , v127 + .byte W18 + .byte N03 , Cs3 , v100 + .byte W06 + .byte N24 , Cn3 , v112 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte PAN , c_v+16 + .byte N06 , En3 , v096 + .byte W12 + .byte Cn3 + .byte W06 + .byte N03 , En3 , v080 + .byte W03 + .byte Fn3 + .byte W03 + .byte MOD , 0 + .byte N24 , Gn3 , v096 + .byte W06 + .byte MOD , 7 + .byte W03 + .byte VOL , 79*mus_rg_load03_mvl/mxv + .byte W03 + .byte 72*mus_rg_load03_mvl/mxv + .byte W03 + .byte 66*mus_rg_load03_mvl/mxv + .byte W03 + .byte 58*mus_rg_load03_mvl/mxv + .byte W03 + .byte 45*mus_rg_load03_mvl/mxv + .byte W03 + .byte VOICE , 48 + .byte MOD , 0 + .byte VOL , 90*mus_rg_load03_mvl/mxv + .byte PAN , c_v+0 + .byte N36 , Fn4 , v088 + .byte W12 + .byte MOD , 6 + .byte W06 + .byte VOL , 86*mus_rg_load03_mvl/mxv + .byte W06 + .byte 79*mus_rg_load03_mvl/mxv + .byte W06 + .byte 74*mus_rg_load03_mvl/mxv + .byte W06 + .byte 90*mus_rg_load03_mvl/mxv + .byte N06 , Cn4 , v084 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N03 + .byte W06 + .byte N06 , Fn4 , v064 + .byte W12 + .byte Cn4 , v092 + .byte W06 + .byte N03 , Fn4 , v052 + .byte W03 + .byte An4 , v088 + .byte W03 + .byte N24 , Cn5 + .byte W24 + .byte As4 + .byte W24 + .byte An4 + .byte W24 + .byte Gn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , As4 + .byte W06 + .byte Dn5 , v068 + .byte W06 + .byte Cn5 + .byte W06 + .byte As4 + .byte W06 + .byte N18 , Cn5 , v096 + .byte W18 + .byte N06 , As4 , v076 + .byte W06 + .byte TIE , An4 , v084 + .byte W12 + .byte MOD , 6 + .byte VOL , 79*mus_rg_load03_mvl/mxv + .byte W06 + .byte 68*mus_rg_load03_mvl/mxv + .byte W06 + .byte 56*mus_rg_load03_mvl/mxv + .byte W06 + .byte 45*mus_rg_load03_mvl/mxv + .byte W09 + .byte 34*mus_rg_load03_mvl/mxv + .byte W09 + .byte 22*mus_rg_load03_mvl/mxv + .byte W06 + .byte 17*mus_rg_load03_mvl/mxv + .byte W06 + .byte 11*mus_rg_load03_mvl/mxv + .byte W12 + .byte W54 + .byte 15*mus_rg_load03_mvl/mxv + .byte W06 + .byte 22*mus_rg_load03_mvl/mxv + .byte W06 + .byte 34*mus_rg_load03_mvl/mxv + .byte W06 + .byte 45*mus_rg_load03_mvl/mxv + .byte W03 + .byte 52*mus_rg_load03_mvl/mxv + .byte W03 + .byte 61*mus_rg_load03_mvl/mxv + .byte W03 + .byte 71*mus_rg_load03_mvl/mxv + .byte W03 + .byte 79*mus_rg_load03_mvl/mxv + .byte W12 + .byte EOT + .byte MOD , 0 + .byte VOL , 90*mus_rg_load03_mvl/mxv + .byte N16 , As4 , v092 + .byte W16 + .byte An4 + .byte W16 + .byte Gn4 + .byte W16 + .byte N03 , Gs4 , v072 + .byte W03 + .byte N44 , Gn4 , v092 + .byte W09 + .byte MOD , 6 + .byte VOL , 79*mus_rg_load03_mvl/mxv + .byte W12 + .byte 68*mus_rg_load03_mvl/mxv + .byte W12 + .byte 56*mus_rg_load03_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_load03_mvl/mxv + .byte W72 + .byte VOICE , 73 + .byte N24 , Gn5 , v080 + .byte W24 + .byte VOL , 90*mus_rg_load03_mvl/mxv + .byte N16 , An5 , v072 + .byte W16 + .byte Gn5 + .byte W16 + .byte N13 , Fn5 + .byte W16 + .byte N03 , Fs5 , v060 + .byte W03 + .byte N44 , Fn5 , v076 + .byte W09 + .byte MOD , 6 + .byte VOL , 79*mus_rg_load03_mvl/mxv + .byte W12 + .byte 68*mus_rg_load03_mvl/mxv + .byte W12 + .byte 56*mus_rg_load03_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_load03_mvl/mxv + .byte W72 + .byte VOICE , 56 + .byte N24 , Fn4 , v127 + .byte W24 + .byte N16 , Gn4 + .byte W16 + .byte En4 + .byte W16 + .byte Cn4 + .byte W16 + .byte TIE , Cn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 79*mus_rg_load03_mvl/mxv + .byte W06 + .byte 68*mus_rg_load03_mvl/mxv + .byte W06 + .byte 56*mus_rg_load03_mvl/mxv + .byte W06 + .byte 45*mus_rg_load03_mvl/mxv + .byte W06 + .byte 34*mus_rg_load03_mvl/mxv + .byte W06 + .byte 22*mus_rg_load03_mvl/mxv + .byte W18 + .byte 34*mus_rg_load03_mvl/mxv + .byte W06 + .byte 45*mus_rg_load03_mvl/mxv + .byte W06 + .byte 56*mus_rg_load03_mvl/mxv + .byte W06 + .byte 68*mus_rg_load03_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 90*mus_rg_load03_mvl/mxv + .byte N48 , As4 + .byte W01 + .byte EOT , Cn5 + .byte W11 + .byte MOD , 6 + .byte W12 + .byte VOL , 79*mus_rg_load03_mvl/mxv + .byte W06 + .byte 73*mus_rg_load03_mvl/mxv + .byte W06 + .byte 68*mus_rg_load03_mvl/mxv + .byte W06 + .byte 62*mus_rg_load03_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 90*mus_rg_load03_mvl/mxv + .byte N06 , An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte TIE , Fn4 , v120 + .byte W24 + .byte MOD , 6 + .byte VOL , 79*mus_rg_load03_mvl/mxv + .byte W06 + .byte 72*mus_rg_load03_mvl/mxv + .byte W06 + .byte 68*mus_rg_load03_mvl/mxv + .byte W06 + .byte 61*mus_rg_load03_mvl/mxv + .byte W06 + .byte 56*mus_rg_load03_mvl/mxv + .byte W06 + .byte 50*mus_rg_load03_mvl/mxv + .byte W06 + .byte 45*mus_rg_load03_mvl/mxv + .byte W06 + .byte 38*mus_rg_load03_mvl/mxv + .byte W06 + .byte 34*mus_rg_load03_mvl/mxv + .byte W06 + .byte 27*mus_rg_load03_mvl/mxv + .byte W06 + .byte 22*mus_rg_load03_mvl/mxv + .byte W06 + .byte 15*mus_rg_load03_mvl/mxv + .byte W09 + .byte 11*mus_rg_load03_mvl/mxv + .byte W36 + .byte W03 + .byte 22*mus_rg_load03_mvl/mxv + .byte W06 + .byte 34*mus_rg_load03_mvl/mxv + .byte W06 + .byte 45*mus_rg_load03_mvl/mxv + .byte W06 + .byte 56*mus_rg_load03_mvl/mxv + .byte W06 + .byte 68*mus_rg_load03_mvl/mxv + .byte W06 + .byte 79*mus_rg_load03_mvl/mxv + .byte W12 + .byte EOT + .byte GOTO + .word mus_rg_load03_2_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_load03_3: + .byte KEYSH , mus_rg_load03_key+0 + .byte VOICE , 14 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-1 + .byte VOL , 68*mus_rg_load03_mvl/mxv + .byte W96 + .byte W96 +mus_rg_load03_3_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v-32 + .byte N48 , Ds5 , v072 + .byte W48 + .byte PAN , c_v+44 + .byte N48 , As4 + .byte W48 + .byte W96 + .byte PAN , c_v+32 + .byte N48 , Fn5 + .byte W48 + .byte PAN , c_v-32 + .byte N48 , Cn5 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_load03_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_load03_4: + .byte KEYSH , mus_rg_load03_key+0 + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 49*mus_rg_load03_mvl/mxv + .byte N06 , Fn1 , v127 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Fn1 , v127 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Fn1 , v127 + .byte W12 + .byte N12 , En1 , v120 + .byte W12 +mus_rg_load03_4_B1: + .byte N06 , Fn1 , v127 + .byte W12 + .byte N24 , Cn1 , v120 + .byte W24 + .byte N06 , Fn1 , v127 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Gn1 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W24 + .byte N06 , As1 + .byte W06 + .byte As1 , v120 + .byte W06 + .byte An1 , v127 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , Fn1 + .byte W24 + .byte Cn2 + .byte W12 + .byte N06 , Fn1 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , Cn1 + .byte W24 + .byte N06 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte N36 , Fn1 , v127 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , Cn2 + .byte W24 + .byte N06 , Fn1 + .byte W12 + .byte Gn1 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte As1 + .byte W12 + .byte Cn2 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , Fn1 + .byte W24 + .byte N06 , Cn2 + .byte W06 + .byte N03 , Bn1 , v120 + .byte W03 + .byte As1 + .byte W03 + .byte N06 , Fn1 , v127 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , Cn1 + .byte W24 + .byte An1 + .byte W12 + .byte N06 , Gn1 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N12 , Dn1 + .byte W12 + .byte N06 , Ds1 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N12 , Ds2 + .byte W12 + .byte N06 , Fn1 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N12 , Gs1 + .byte W12 + .byte N06 , An1 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Gn1 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , Cn1 + .byte W24 + .byte Bn1 + .byte W12 + .byte N06 , Cn2 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , En1 + .byte W24 + .byte Gs1 + .byte W12 + .byte N06 , An1 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , Fn1 + .byte W24 + .byte En2 + .byte W12 + .byte N06 , Fn2 + .byte W24 + .byte Fn1 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cn2 + .byte W12 + .byte N03 , Fn1 + .byte W03 + .byte Fn1 , v120 + .byte W03 + .byte N06 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cn1 , v127 + .byte W12 + .byte GOTO + .word mus_rg_load03_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_load03_5: + .byte KEYSH , mus_rg_load03_key+0 + .byte VOICE , 46 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 34*mus_rg_load03_mvl/mxv + .byte W96 + .byte W96 +mus_rg_load03_5_B1: + .byte W96 + .byte W96 + .byte VOICE , 46 + .byte VOL , 45*mus_rg_load03_mvl/mxv + .byte W24 + .byte PAN , c_v-32 + .byte N03 , Fn4 , v120 + .byte W03 + .byte Gn4 + .byte W03 + .byte An4 + .byte W03 + .byte As4 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , Cn5 + .byte W03 + .byte Dn5 + .byte W03 + .byte En5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Gn4 + .byte W03 + .byte An4 + .byte W03 + .byte As4 + .byte W03 + .byte Cn5 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , Dn5 + .byte W03 + .byte En5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Gn5 + .byte W03 + .byte An4 + .byte W03 + .byte As4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Dn5 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , En5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Gn5 + .byte W03 + .byte An5 + .byte W03 + .byte As4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Dn5 + .byte W03 + .byte En5 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , Fn5 + .byte W03 + .byte Gn5 + .byte W03 + .byte An5 + .byte W03 + .byte As5 + .byte W03 + .byte N24 , Cn6 + .byte W72 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 60 + .byte W48 + .byte PAN , c_v+0 + .byte N06 , An3 + .byte W12 + .byte Fn3 + .byte W06 + .byte N03 , An3 + .byte W03 + .byte As3 + .byte W03 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 6 + .byte VOL , 35*mus_rg_load03_mvl/mxv + .byte W06 + .byte 22*mus_rg_load03_mvl/mxv + .byte W06 + .byte VOICE , 56 + .byte PAN , c_v+32 + .byte VOL , 45*mus_rg_load03_mvl/mxv + .byte MOD , 0 + .byte N03 , As3 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte PAN , c_v-32 + .byte N24 , Ds4 + .byte W06 + .byte MOD , 5 + .byte W18 + .byte VOICE , 60 + .byte MOD , 0 + .byte PAN , c_v+31 + .byte N16 , Gn3 , v100 + .byte W16 + .byte Fn3 + .byte W16 + .byte Gn3 + .byte W16 + .byte N48 , As3 + .byte W12 + .byte VOL , 34*mus_rg_load03_mvl/mxv + .byte W03 + .byte MOD , 6 + .byte W03 + .byte VOL , 28*mus_rg_load03_mvl/mxv + .byte W06 + .byte 22*mus_rg_load03_mvl/mxv + .byte W06 + .byte 16*mus_rg_load03_mvl/mxv + .byte W06 + .byte 11*mus_rg_load03_mvl/mxv + .byte W12 + .byte VOICE , 56 + .byte MOD , 0 + .byte PAN , c_v-32 + .byte VOL , 51*mus_rg_load03_mvl/mxv + .byte N03 , An3 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte PAN , c_v+31 + .byte N24 , Fn4 + .byte W06 + .byte MOD , 5 + .byte W18 + .byte VOICE , 60 + .byte MOD , 0 + .byte PAN , c_v+31 + .byte VOL , 45*mus_rg_load03_mvl/mxv + .byte N03 , Fs3 , v092 + .byte W03 + .byte N13 , Fn3 , v100 + .byte W13 + .byte N16 , En3 + .byte W16 + .byte Fn3 + .byte W16 + .byte N48 , An3 + .byte W12 + .byte VOL , 34*mus_rg_load03_mvl/mxv + .byte W03 + .byte MOD , 6 + .byte W03 + .byte VOL , 28*mus_rg_load03_mvl/mxv + .byte W06 + .byte 22*mus_rg_load03_mvl/mxv + .byte W06 + .byte 16*mus_rg_load03_mvl/mxv + .byte W06 + .byte 11*mus_rg_load03_mvl/mxv + .byte W12 + .byte VOICE , 56 + .byte MOD , 0 + .byte PAN , c_v-33 + .byte VOL , 51*mus_rg_load03_mvl/mxv + .byte N03 , En3 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W21 + .byte N03 + .byte W06 + .byte Gn3 + .byte W09 + .byte VOICE , 60 + .byte PAN , c_v+31 + .byte VOL , 45*mus_rg_load03_mvl/mxv + .byte N16 , Cn4 , v100 + .byte W16 + .byte As3 + .byte W16 + .byte Gn3 + .byte W16 + .byte VOICE , 60 + .byte N16 + .byte W16 + .byte Fn3 + .byte W16 + .byte En3 + .byte W16 + .byte N48 , Gn4 + .byte W12 + .byte VOL , 34*mus_rg_load03_mvl/mxv + .byte W03 + .byte MOD , 6 + .byte W03 + .byte VOL , 28*mus_rg_load03_mvl/mxv + .byte W06 + .byte 22*mus_rg_load03_mvl/mxv + .byte W06 + .byte 16*mus_rg_load03_mvl/mxv + .byte W06 + .byte 11*mus_rg_load03_mvl/mxv + .byte W12 + .byte 45*mus_rg_load03_mvl/mxv + .byte MOD , 0 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_load03_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_load03_6: + .byte KEYSH , mus_rg_load03_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-33 + .byte VOL , 68*mus_rg_load03_mvl/mxv + .byte W96 + .byte W72 + .byte PAN , c_v+32 + .byte N06 , Fn1 , v127 + .byte W06 + .byte PAN , c_v-32 + .byte N06 + .byte W06 + .byte PAN , c_v+32 + .byte N06 + .byte W06 + .byte PAN , c_v-32 + .byte N06 + .byte W06 +mus_rg_load03_6_B1: + .byte PAN , c_v+32 + .byte N12 , Fn2 , v127 + .byte W12 + .byte PAN , c_v-39 + .byte N24 , Cn2 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte PAN , c_v+32 + .byte N24 , Fn2 + .byte W24 + .byte PAN , c_v-42 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v+32 + .byte VOL , 79*mus_rg_load03_mvl/mxv + .byte N24 , Gn2 + .byte W60 + .byte PAN , c_v-39 + .byte N24 , Gn1 , v120 + .byte W24 + .byte N06 , As1 , v127 + .byte W06 + .byte N06 + .byte W06 + .byte VOICE , 47 + .byte PAN , c_v+32 + .byte N18 , Fn2 + .byte W48 + .byte PAN , c_v-32 + .byte N06 , Fn2 , v120 + .byte W12 + .byte N24 , Cn2 + .byte W36 + .byte PAN , c_v+32 + .byte W48 + .byte VOICE , 47 + .byte N12 , Fn2 , v127 + .byte W12 + .byte PAN , c_v-40 + .byte N24 , Fn1 + .byte W24 + .byte N06 , Cn2 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v+32 + .byte N24 , Fn2 + .byte W36 + .byte PAN , c_v-40 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Fn2 + .byte W12 + .byte PAN , c_v-40 + .byte N06 , Cn2 + .byte W06 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PAN , c_v+32 + .byte N24 , Fn2 + .byte W24 + .byte PAN , c_v-40 + .byte N24 , Gn1 + .byte W60 + .byte N24 + .byte W24 + .byte N06 , Cn2 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v+32 + .byte N15 , Fn2 + .byte W12 + .byte PAN , c_v-40 + .byte N06 , Cn2 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v+32 + .byte N24 , Fn2 + .byte W36 + .byte PAN , c_v-39 + .byte N24 , Fn1 + .byte W24 + .byte N06 + .byte W06 + .byte N03 , Cn2 + .byte W03 + .byte N03 + .byte W03 + .byte PAN , c_v+32 + .byte N24 , Fn2 + .byte W48 + .byte PAN , c_v-32 + .byte N06 , Cn2 , v120 + .byte W12 + .byte N24 , Fn1 + .byte W36 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N06 , An1 , v127 + .byte W12 + .byte PAN , c_v-32 + .byte N24 , Fn1 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v+32 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Fn1 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Cn2 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v-32 + .byte N12 , Cn1 + .byte W12 + .byte GOTO + .word mus_rg_load03_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_load03_7: + .byte KEYSH , mus_rg_load03_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-64 + .byte VOL , 45*mus_rg_load03_mvl/mxv + .byte BEND , c_v+1 + .byte W36 + .byte MOD , 6 + .byte W12 + .byte VOL , 29*mus_rg_load03_mvl/mxv + .byte W06 + .byte 26*mus_rg_load03_mvl/mxv + .byte W06 + .byte 22*mus_rg_load03_mvl/mxv + .byte W06 + .byte 18*mus_rg_load03_mvl/mxv + .byte W06 + .byte 16*mus_rg_load03_mvl/mxv + .byte W06 + .byte 11*mus_rg_load03_mvl/mxv + .byte W06 + .byte 7*mus_rg_load03_mvl/mxv + .byte W06 + .byte 3*mus_rg_load03_mvl/mxv + .byte W06 + .byte PAN , c_v+63 + .byte VOL , 45*mus_rg_load03_mvl/mxv + .byte MOD , 0 + .byte N09 , Cn2 , v080 + .byte W18 + .byte N03 , Cs2 + .byte W06 + .byte N48 , Cn2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 28*mus_rg_load03_mvl/mxv + .byte W06 + .byte 22*mus_rg_load03_mvl/mxv + .byte W06 + .byte 17*mus_rg_load03_mvl/mxv + .byte W06 + .byte 11*mus_rg_load03_mvl/mxv + .byte W06 + .byte 45*mus_rg_load03_mvl/mxv + .byte PAN , c_v-62 + .byte MOD , 0 + .byte N06 , Fn2 , v127 + .byte W06 + .byte Gn2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cn3 + .byte W06 + .byte En3 + .byte W06 +mus_rg_load03_7_B1: + .byte VOICE , 80 + .byte PAN , c_v-64 + .byte VOL , 45*mus_rg_load03_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , An1 , v120 + .byte W06 + .byte Cn2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , An1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Fn2 + .byte W06 + .byte An2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , An1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Fn2 + .byte W06 + .byte An2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cn3 + .byte W06 + .byte As2 + .byte W06 + .byte An2 + .byte W06 + .byte Gs2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W12 + .byte Ds2 + .byte W06 + .byte Gn2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Gn2 + .byte W06 + .byte As2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Ds3 + .byte W12 + .byte N03 , As2 + .byte W03 + .byte Dn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte PAN , c_v+63 + .byte N06 , Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N18 , An3 + .byte W18 + .byte N06 , Cn4 + .byte W06 + .byte N48 , Fn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 34*mus_rg_load03_mvl/mxv + .byte W06 + .byte 28*mus_rg_load03_mvl/mxv + .byte W06 + .byte 22*mus_rg_load03_mvl/mxv + .byte W06 + .byte 16*mus_rg_load03_mvl/mxv + .byte W06 + .byte PAN , c_v-64 + .byte VOL , 45*mus_rg_load03_mvl/mxv + .byte MOD , 0 + .byte N06 , Gn3 + .byte W12 + .byte N03 , Cn3 + .byte W03 + .byte Fn3 + .byte W03 + .byte N06 , Gn3 + .byte W06 + .byte N48 , An3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 39*mus_rg_load03_mvl/mxv + .byte W06 + .byte 34*mus_rg_load03_mvl/mxv + .byte W06 + .byte 27*mus_rg_load03_mvl/mxv + .byte W06 + .byte 22*mus_rg_load03_mvl/mxv + .byte W06 + .byte PAN , c_v+63 + .byte VOL , 45*mus_rg_load03_mvl/mxv + .byte MOD , 0 + .byte N06 , En3 , v092 + .byte W12 + .byte Cn3 + .byte W06 + .byte N03 , En3 , v072 + .byte W03 + .byte Fn3 + .byte W03 + .byte N24 , Gn3 , v096 + .byte W06 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N06 , An2 , v120 + .byte W06 + .byte Cn2 + .byte W06 + .byte Fn2 + .byte W06 + .byte An1 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Cn2 + .byte W09 + .byte An1 + .byte W09 + .byte Fn1 + .byte W06 + .byte N03 , Cn2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Gn2 + .byte W03 + .byte An2 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , As2 + .byte W03 + .byte Cn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte En3 + .byte W03 + .byte PAN , c_v+63 + .byte N03 , Fn3 + .byte W03 + .byte En3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cn3 + .byte W03 + .byte As2 + .byte W03 + .byte An2 + .byte W03 + .byte Gn2 + .byte W03 + .byte Fs2 + .byte W03 + .byte PAN , c_v-64 + .byte N24 , Gn2 + .byte W24 + .byte PAN , c_v+63 + .byte N24 , An2 + .byte W24 + .byte PAN , c_v-64 + .byte N24 , As2 + .byte W24 + .byte PAN , c_v+63 + .byte N06 , Ds3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte PAN , c_v-64 + .byte N18 , Fn2 + .byte W18 + .byte N06 , An2 + .byte W06 + .byte N48 , Cn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 39*mus_rg_load03_mvl/mxv + .byte W06 + .byte 34*mus_rg_load03_mvl/mxv + .byte W06 + .byte 27*mus_rg_load03_mvl/mxv + .byte W06 + .byte 22*mus_rg_load03_mvl/mxv + .byte W06 + .byte PAN , c_v+63 + .byte VOL , 45*mus_rg_load03_mvl/mxv + .byte MOD , 0 + .byte N06 , An2 + .byte W12 + .byte Fn2 + .byte W06 + .byte N03 , An2 + .byte W03 + .byte Cn3 + .byte W03 + .byte N48 , Fn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 39*mus_rg_load03_mvl/mxv + .byte W06 + .byte 34*mus_rg_load03_mvl/mxv + .byte W06 + .byte 27*mus_rg_load03_mvl/mxv + .byte W06 + .byte 22*mus_rg_load03_mvl/mxv + .byte W06 + .byte PAN , c_v-64 + .byte VOL , 45*mus_rg_load03_mvl/mxv + .byte MOD , 0 + .byte N06 , An3 + .byte W12 + .byte Fn3 + .byte W06 + .byte N03 , An3 + .byte W03 + .byte As3 + .byte W03 + .byte N24 , Cn4 + .byte W24 + .byte VOICE , 83 + .byte N06 , As1 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Gn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , As1 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Ds3 + .byte W06 + .byte As2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Gn2 + .byte W06 + .byte As2 + .byte W06 + .byte As1 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Gn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , As1 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Ds2 + .byte W06 + .byte As2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cn3 + .byte W06 + .byte As2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte An1 + .byte W06 + .byte Cn2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Fn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Fn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , An1 + .byte W06 + .byte Cn2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , An2 + .byte W06 + .byte Cn2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , An1 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Cn3 + .byte W06 + .byte An2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cn2 + .byte W06 + .byte Fn2 + .byte W06 + .byte An1 + .byte W06 + .byte Cn2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Fn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Fn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Fn2 + .byte W06 + .byte An2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cn3 + .byte W06 + .byte An2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Cn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Fn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , An2 + .byte W06 + .byte Fn2 + .byte W06 + .byte En2 + .byte W06 + .byte Cn2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , En2 + .byte W06 + .byte Cn2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En2 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , En2 + .byte W06 + .byte Cn2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , En2 + .byte W06 + .byte Cn2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En2 + .byte W06 + .byte Cn3 + .byte W06 + .byte En2 + .byte W06 + .byte Cn2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , En2 + .byte W06 + .byte As2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En3 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Gn2 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En2 + .byte W06 + .byte Dn2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Cn2 + .byte W06 + .byte As1 + .byte W06 + .byte An1 + .byte W06 + .byte Fn1 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , An1 + .byte W06 + .byte Cn2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , An1 + .byte W06 + .byte Fn1 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , An1 + .byte W06 + .byte Fn2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , An1 + .byte W06 + .byte Fn1 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , An1 + .byte W06 + .byte Cn2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , An1 + .byte W06 + .byte Fn1 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , An1 + .byte W06 + .byte Fn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Cn2 + .byte W06 + .byte Fn2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cn2 + .byte W06 + .byte An1 + .byte W03 + .byte Cn2 + .byte W03 + .byte PAN , c_v-64 + .byte W06 + .byte N06 , An2 + .byte W06 + .byte VOICE , 80 + .byte PAN , c_v+63 + .byte N03 , Cn3 + .byte W03 + .byte As2 + .byte W03 + .byte An2 + .byte W03 + .byte Gn2 + .byte W03 + .byte PAN , c_v-64 + .byte N03 , Fn2 + .byte W03 + .byte En2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Cn2 + .byte W03 + .byte PAN , c_v+63 + .byte N03 , As2 + .byte W03 + .byte An2 + .byte W03 + .byte Gn2 + .byte W03 + .byte Fn2 + .byte W03 + .byte PAN , c_v-64 + .byte N03 , En2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Cn2 + .byte W03 + .byte As1 + .byte W03 + .byte GOTO + .word mus_rg_load03_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_load03_8: + .byte KEYSH , mus_rg_load03_key+0 + .byte VOICE , 92 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 29*mus_rg_load03_mvl/mxv + .byte W36 + .byte MOD , 5 + .byte W60 + .byte 0 + .byte N09 , Fn2 , v120 + .byte W18 + .byte N03 , Gn2 + .byte W06 + .byte N48 , Fn2 + .byte W12 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte W24 +mus_rg_load03_8_B1: + .byte N36 , An4 , v120 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N12 , Fn4 + .byte W12 + .byte N24 + .byte W24 + .byte Fn5 + .byte W24 + .byte Ds5 + .byte W24 + .byte Dn5 + .byte W24 + .byte Cn5 + .byte W24 + .byte N06 , Ds4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N18 , Fn4 + .byte W18 + .byte N06 , As3 + .byte W06 + .byte N72 , Cn4 + .byte W12 + .byte MOD , 5 + .byte W60 + .byte 0 + .byte N09 , Bn2 + .byte W18 + .byte N03 , Cn3 + .byte W03 + .byte N36 , Bn2 + .byte W15 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N06 , An2 + .byte W06 + .byte Gn2 + .byte W06 + .byte N24 , Dn2 + .byte W24 + .byte N36 , An4 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N06 , Fn4 + .byte W06 + .byte N06 + .byte W06 + .byte An4 + .byte W12 + .byte Fn4 + .byte W06 + .byte N03 , An4 + .byte W03 + .byte Cn5 + .byte W03 + .byte N24 , Fn5 + .byte W24 + .byte Ds5 + .byte W24 + .byte Dn5 + .byte W24 + .byte Cn5 + .byte W24 + .byte N06 , Fn4 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W03 + .byte Fn4 + .byte W09 + .byte N18 , An4 + .byte W18 + .byte N06 , Gn4 + .byte W06 + .byte N30 , Fn4 + .byte W30 + .byte N03 , Gn4 + .byte W03 + .byte An4 + .byte W03 + .byte As4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Dn5 + .byte W03 + .byte En5 + .byte W03 + .byte N96 , Fn5 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte W72 + .byte 0 + .byte N06 , Ds5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N16 , Gn4 , v127 + .byte W16 + .byte Fn4 + .byte W16 + .byte Ds4 + .byte W16 + .byte N03 , En4 , v080 + .byte W03 + .byte N44 , Ds4 , v120 + .byte W09 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte W72 + .byte N24 , As3 + .byte W24 + .byte N16 , Cn4 , v127 + .byte W16 + .byte As3 + .byte W16 + .byte N13 , An3 + .byte W16 + .byte N03 , As3 , v076 + .byte W03 + .byte N44 , An3 , v120 + .byte W09 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte W72 + .byte N24 , An4 + .byte W24 + .byte N16 , As4 , v127 + .byte W16 + .byte Gn4 + .byte W16 + .byte En4 + .byte W16 + .byte TIE , En5 + .byte W12 + .byte MOD , 5 + .byte W36 + .byte W48 + .byte 0 + .byte N48 , Dn5 + .byte W01 + .byte EOT , En5 + .byte W11 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte N06 , Cn5 + .byte W06 + .byte En5 + .byte W06 + .byte N24 , Fn5 , v120 + .byte W24 + .byte N06 , En5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N42 , Cn5 + .byte W12 + .byte MOD , 5 + .byte W30 + .byte N03 , Dn5 + .byte W03 + .byte En5 + .byte W03 + .byte MOD , 0 + .byte N44 , Fn5 + .byte W12 + .byte MOD , 5 + .byte W32 + .byte W01 + .byte N03 , Fs5 + .byte W03 + .byte MOD , 0 + .byte N48 , Gn5 + .byte W12 + .byte MOD , 5 + .byte W36 + .byte GOTO + .word mus_rg_load03_8_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_load03_9: + .byte KEYSH , mus_rg_load03_key+0 + .byte VOICE , 0 + .byte VOL , 70*mus_rg_load03_mvl/mxv + .byte PAN , c_v+0 + .byte W96 +mus_rg_load03_9_000: + .byte W48 + .byte PAN , c_v+32 + .byte N48 , Cn3 , v120 + .byte W06 + .byte PAN , c_v+24 + .byte W06 + .byte c_v+16 + .byte W12 + .byte c_v-16 + .byte W06 + .byte c_v-24 + .byte W06 + .byte c_v-32 + .byte W12 + .byte PEND +mus_rg_load03_9_B1: + .byte PAN , c_v+0 + .byte VOL , 79*mus_rg_load03_mvl/mxv + .byte N48 , Gn2 , v127 + .byte W48 + .byte VOL , 70*mus_rg_load03_mvl/mxv + .byte W24 + .byte N24 , Cs2 , v120 + .byte W24 + .byte N48 , Bn2 + .byte W96 + .byte W96 + .byte W96 + .byte Gn2 + .byte W72 + .byte N24 , Cs2 + .byte W24 + .byte N48 , Bn2 + .byte W96 + .byte W48 + .byte PAN , c_v-32 + .byte N48 , Cn3 + .byte W06 + .byte PAN , c_v-24 + .byte W06 + .byte c_v-16 + .byte W12 + .byte c_v+16 + .byte W06 + .byte c_v+24 + .byte W06 + .byte c_v+32 + .byte W12 + .byte c_v+0 + .byte N48 , Cs2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_rg_load03_9_000 + .byte GOTO + .word mus_rg_load03_9_B1 + .byte PAN , c_v+1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_rg_load03_10: + .byte KEYSH , mus_rg_load03_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 45*mus_rg_load03_mvl/mxv + .byte W96 + .byte W72 + .byte 49*mus_rg_load03_mvl/mxv + .byte N01 , An3 , v112 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 +mus_rg_load03_10_B1: + .byte VOL , 39*mus_rg_load03_mvl/mxv + .byte N12 , Gn3 , v127 + .byte W24 + .byte N01 , An3 , v096 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , Gn3 , v127 + .byte W12 + .byte N06 + .byte W12 + .byte N01 , An3 , v096 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 +mus_rg_load03_10_000: + .byte N06 , Gn3 , v127 + .byte W24 + .byte N01 , An3 , v096 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , Gn3 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte PEND +mus_rg_load03_10_001: + .byte N06 , Gn3 , v127 + .byte W24 + .byte N01 , An3 , v096 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , Gn3 , v127 + .byte W12 + .byte N06 + .byte W12 + .byte N07 , An3 , v096 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte PEND +mus_rg_load03_10_002: + .byte N06 , Gn3 , v127 + .byte W24 + .byte N01 , An3 , v096 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , Gn3 , v127 + .byte W12 + .byte N06 + .byte W12 + .byte N01 , An3 , v096 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_load03_10_002 + .byte PATT + .word mus_rg_load03_10_000 + .byte PATT + .word mus_rg_load03_10_001 + .byte PATT + .word mus_rg_load03_10_002 + .byte PATT + .word mus_rg_load03_10_002 + .byte PATT + .word mus_rg_load03_10_000 + .byte PATT + .word mus_rg_load03_10_001 + .byte N06 , Gn3 , v127 + .byte W24 + .byte N01 , An3 , v096 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , Gn3 , v127 + .byte W12 + .byte N06 + .byte W12 + .byte N01 , An3 , v096 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte An3 , v127 + .byte W06 + .byte PATT + .word mus_rg_load03_10_002 + .byte PATT + .word mus_rg_load03_10_000 + .byte PATT + .word mus_rg_load03_10_001 + .byte N06 , Gn3 , v127 + .byte W24 + .byte N01 , An3 , v096 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , Gn3 , v127 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte GOTO + .word mus_rg_load03_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_load03: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_load03_pri @ Priority + .byte mus_rg_load03_rev @ Reverb. + + .word mus_rg_load03_grp + + .word mus_rg_load03_1 + .word mus_rg_load03_2 + .word mus_rg_load03_3 + .word mus_rg_load03_4 + .word mus_rg_load03_5 + .word mus_rg_load03_6 + .word mus_rg_load03_7 + .word mus_rg_load03_8 + .word mus_rg_load03_9 + .word mus_rg_load03_10 + + .end diff --git a/sound/songs/mus_rg_masara.s b/sound/songs/mus_rg_masara.s new file mode 100644 index 0000000000..7c3ac4a41f --- /dev/null +++ b/sound/songs/mus_rg_masara.s @@ -0,0 +1,1622 @@ + .include "MPlayDef.s" + + .equ mus_rg_masara_grp, voicegroup_86AA4BC + .equ mus_rg_masara_pri, 0 + .equ mus_rg_masara_rev, reverb_set+50 + .equ mus_rg_masara_mvl, 127 + .equ mus_rg_masara_key, 0 + .equ mus_rg_masara_tbs, 1 + .equ mus_rg_masara_exg, 0 + .equ mus_rg_masara_cmp, 1 + + .section .rodata + .global mus_rg_masara + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_masara_1: + .byte KEYSH , mus_rg_masara_key+0 +mus_rg_masara_1_B1: + .byte TEMPO , 88*mus_rg_masara_tbs/2 + .byte VOICE , 5 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+32 + .byte MOD , 0 + .byte VOL , 25*mus_rg_masara_mvl/mxv + .byte N24 , Cs3 , v108 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Dn3 + .byte W12 + .byte N24 , En3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , An3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N24 , Cs3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Gs2 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , Fs3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Dn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte W12 + .byte N12 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte N24 , Dn3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte N24 , Cs3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Dn3 + .byte W12 + .byte N24 , En3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , An3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte BEND , c_v+0 + .byte N24 , Cs3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , An2 + .byte W12 + .byte N24 , En3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 + .byte W12 + .byte An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte BEND , c_v+0 + .byte N24 , An3 + .byte W06 + .byte BEND , c_v+1 + .byte W06 + .byte MOD , 4 + .byte BEND , c_v+0 + .byte W12 + .byte MOD , 0 + .byte N12 , En3 + .byte W12 + .byte N24 , Dn3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Bn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte N24 , Dn3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Bn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Gs2 + .byte W12 + .byte An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte Fs2 + .byte W12 + .byte An2 + .byte W12 + .byte En3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte An3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Cs3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte Fs2 + .byte W12 + .byte An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte En3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Fs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gs2 + .byte W12 + .byte En2 + .byte W12 + .byte Gs2 + .byte W12 + .byte Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte Fs2 + .byte W12 + .byte An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte GOTO + .word mus_rg_masara_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_masara_2: + .byte KEYSH , mus_rg_masara_key+0 +mus_rg_masara_2_B1: + .byte VOICE , 80 + .byte PAN , c_v+0 + .byte LFOS , 44 + .byte BENDR , 12 + .byte MOD , 0 + .byte VOL , 88*mus_rg_masara_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , En5 , v040 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte An5 , v024 + .byte W12 + .byte Fs5 , v040 + .byte W12 + .byte Gs5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N36 , En5 , v028 + .byte W12 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N12 , Cs5 , v040 + .byte W12 + .byte An4 + .byte W12 + .byte N12 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cs5 + .byte W12 + .byte N60 , Dn5 + .byte W15 + .byte MOD , 4 + .byte W44 + .byte W01 + .byte 0 + .byte N12 , Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte N36 , Cs5 + .byte W12 + .byte MOD , 3 + .byte W24 + .byte N06 , Dn5 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N06 , Cs5 + .byte W06 + .byte N48 , Bn4 + .byte W09 + .byte MOD , 4 + .byte W36 + .byte W03 + .byte 0 + .byte N12 , En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte En5 + .byte W12 + .byte An5 , v024 + .byte W12 + .byte Gs5 , v040 + .byte W12 + .byte Gs5 , v028 + .byte W12 + .byte An5 , v032 + .byte W12 + .byte N36 , Fs5 , v040 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N12 , En5 + .byte W12 + .byte N48 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N12 , Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte N60 , An4 + .byte W12 + .byte MOD , 5 + .byte W48 + .byte VOICE , 83 + .byte MOD , 0 + .byte N12 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cs5 + .byte W12 + .byte LFOS , 50 + .byte N48 , Dn5 + .byte W12 + .byte MOD , 5 + .byte VOL , 88*mus_rg_masara_mvl/mxv + .byte W12 + .byte 76*mus_rg_masara_mvl/mxv + .byte W06 + .byte 62*mus_rg_masara_mvl/mxv + .byte W06 + .byte 45*mus_rg_masara_mvl/mxv + .byte W06 + .byte 25*mus_rg_masara_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 100*mus_rg_masara_mvl/mxv + .byte N36 , En5 , v032 + .byte W12 + .byte MOD , 5 + .byte VOL , 88*mus_rg_masara_mvl/mxv + .byte W12 + .byte 76*mus_rg_masara_mvl/mxv + .byte W06 + .byte 62*mus_rg_masara_mvl/mxv + .byte W06 + .byte 100*mus_rg_masara_mvl/mxv + .byte N12 , Dn5 , v040 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte N48 , Cs5 + .byte W12 + .byte MOD , 5 + .byte VOL , 88*mus_rg_masara_mvl/mxv + .byte W12 + .byte 76*mus_rg_masara_mvl/mxv + .byte W06 + .byte 62*mus_rg_masara_mvl/mxv + .byte W06 + .byte 45*mus_rg_masara_mvl/mxv + .byte W06 + .byte 25*mus_rg_masara_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 100*mus_rg_masara_mvl/mxv + .byte W12 + .byte N03 , As4 , v016 + .byte W03 + .byte N09 , An4 , v040 + .byte W09 + .byte N12 , Bn4 + .byte W12 + .byte Cs5 + .byte W12 + .byte N06 , Dn5 + .byte W21 + .byte N03 , Cs5 , v016 + .byte W03 + .byte N24 , Dn5 , v040 + .byte W12 + .byte VOL , 88*mus_rg_masara_mvl/mxv + .byte W12 + .byte 100*mus_rg_masara_mvl/mxv + .byte N36 , En5 , v032 + .byte W12 + .byte MOD , 5 + .byte W03 + .byte VOL , 88*mus_rg_masara_mvl/mxv + .byte W09 + .byte 79*mus_rg_masara_mvl/mxv + .byte W06 + .byte 66*mus_rg_masara_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 100*mus_rg_masara_mvl/mxv + .byte N06 , Dn5 , v040 + .byte W06 + .byte En5 , v028 + .byte W06 + .byte N48 , Cs5 , v040 + .byte W12 + .byte MOD , 5 + .byte VOL , 88*mus_rg_masara_mvl/mxv + .byte W12 + .byte 81*mus_rg_masara_mvl/mxv + .byte W06 + .byte 62*mus_rg_masara_mvl/mxv + .byte W06 + .byte 46*mus_rg_masara_mvl/mxv + .byte W06 + .byte 32*mus_rg_masara_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W06 + .byte VOL , 100*mus_rg_masara_mvl/mxv + .byte W06 + .byte N12 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte N48 , Bn4 + .byte W12 + .byte MOD , 5 + .byte VOL , 88*mus_rg_masara_mvl/mxv + .byte W12 + .byte 84*mus_rg_masara_mvl/mxv + .byte W06 + .byte 64*mus_rg_masara_mvl/mxv + .byte W06 + .byte 50*mus_rg_masara_mvl/mxv + .byte W06 + .byte 33*mus_rg_masara_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 100*mus_rg_masara_mvl/mxv + .byte N24 , Fs4 + .byte W12 + .byte VOL , 88*mus_rg_masara_mvl/mxv + .byte W12 + .byte 100*mus_rg_masara_mvl/mxv + .byte N18 , Cs5 + .byte W12 + .byte VOL , 88*mus_rg_masara_mvl/mxv + .byte W06 + .byte N06 , Cn5 , v024 + .byte W06 + .byte VOL , 100*mus_rg_masara_mvl/mxv + .byte N48 , Bn4 , v040 + .byte W12 + .byte MOD , 4 + .byte VOL , 88*mus_rg_masara_mvl/mxv + .byte W12 + .byte 81*mus_rg_masara_mvl/mxv + .byte W06 + .byte 62*mus_rg_masara_mvl/mxv + .byte W06 + .byte 45*mus_rg_masara_mvl/mxv + .byte W06 + .byte 33*mus_rg_masara_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 100*mus_rg_masara_mvl/mxv + .byte N24 , An4 + .byte W24 + .byte Fs4 + .byte W24 + .byte N48 , Gs4 + .byte W12 + .byte MOD , 4 + .byte W03 + .byte VOL , 88*mus_rg_masara_mvl/mxv + .byte W09 + .byte 81*mus_rg_masara_mvl/mxv + .byte W06 + .byte 62*mus_rg_masara_mvl/mxv + .byte W06 + .byte 44*mus_rg_masara_mvl/mxv + .byte W06 + .byte 27*mus_rg_masara_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 100*mus_rg_masara_mvl/mxv + .byte N24 , An4 + .byte W12 + .byte VOL , 83*mus_rg_masara_mvl/mxv + .byte W12 + .byte 100*mus_rg_masara_mvl/mxv + .byte N24 , Cs5 + .byte W09 + .byte VOL , 88*mus_rg_masara_mvl/mxv + .byte W06 + .byte 63*mus_rg_masara_mvl/mxv + .byte W09 + .byte 50*mus_rg_masara_mvl/mxv + .byte N42 + .byte W12 + .byte MOD , 5 + .byte W06 + .byte VOL , 68*mus_rg_masara_mvl/mxv + .byte W06 + .byte 86*mus_rg_masara_mvl/mxv + .byte W09 + .byte 100*mus_rg_masara_mvl/mxv + .byte W09 + .byte N06 , Cn5 , v016 + .byte W06 + .byte MOD , 0 + .byte VOL , 100*mus_rg_masara_mvl/mxv + .byte N36 , Bn4 , v028 + .byte W12 + .byte VOL , 88*mus_rg_masara_mvl/mxv + .byte W03 + .byte MOD , 4 + .byte W03 + .byte 5 + .byte W06 + .byte VOL , 73*mus_rg_masara_mvl/mxv + .byte W06 + .byte 43*mus_rg_masara_mvl/mxv + .byte W06 + .byte VOICE , 80 + .byte MOD , 0 + .byte N06 , Cs5 , v012 + .byte W03 + .byte VOL , 99*mus_rg_masara_mvl/mxv + .byte W03 + .byte N06 , Dn5 , v016 + .byte W06 + .byte GOTO + .word mus_rg_masara_2_B1 + .byte MOD , 0 + .byte VOL , 100*mus_rg_masara_mvl/mxv + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_masara_3: + .byte KEYSH , mus_rg_masara_key+0 +mus_rg_masara_3_B1: + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-40 + .byte VOL , 40*mus_rg_masara_mvl/mxv + .byte N36 , An3 , v127 + .byte W36 + .byte Fs3 + .byte W36 + .byte N24 , Gs3 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte N03 , An3 , v112 + .byte W12 + .byte N12 , Gs3 + .byte W12 + .byte N06 , Bn3 + .byte W12 + .byte N12 , Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N24 , Fs3 + .byte W24 + .byte N06 , Bn3 + .byte W12 + .byte N12 , An3 + .byte W36 + .byte Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte Fs3 + .byte W24 + .byte An3 + .byte W24 + .byte Gs3 + .byte W24 + .byte En3 + .byte W24 + .byte N12 , Cs3 + .byte W12 + .byte En3 + .byte W12 + .byte Fs3 + .byte W12 + .byte An3 + .byte W12 + .byte En3 + .byte W12 + .byte Bn2 + .byte W12 + .byte An2 + .byte W06 + .byte BEND , c_v-6 + .byte W06 + .byte c_v+0 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , En3 + .byte W12 + .byte N06 , Cs3 + .byte W06 + .byte Gs3 + .byte W12 + .byte En3 + .byte W06 + .byte N12 , Cs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte N24 , An3 + .byte W24 + .byte Bn3 + .byte W24 + .byte Dn4 + .byte W24 + .byte N12 , Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte N36 , Dn3 + .byte W36 + .byte N12 , Bn2 + .byte W12 + .byte N24 , Cs3 + .byte W24 + .byte En3 + .byte W24 + .byte N12 , Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte N06 , Fs3 + .byte W12 + .byte N12 , An2 + .byte W12 + .byte En2 + .byte W12 + .byte Bn2 + .byte W12 + .byte N06 , Gs3 + .byte W12 + .byte N12 , Bn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte N12 , An2 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte N12 , An2 + .byte W12 + .byte N06 , Fs3 + .byte W12 + .byte N12 , An2 + .byte W12 + .byte Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte N06 , Fs3 + .byte W12 + .byte N12 , An2 + .byte W12 + .byte Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte N12 , An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte N12 , An2 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte N12 , An2 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte N12 , An2 + .byte W12 + .byte Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte N06 , Fs3 + .byte W12 + .byte N12 , An2 + .byte W12 + .byte N06 , Bn3 + .byte W12 + .byte N12 , Fs2 + .byte W12 + .byte N06 , Fs3 + .byte W12 + .byte Bn3 + .byte W12 + .byte N12 , Ds2 + .byte W12 + .byte An2 + .byte W12 + .byte N06 , Fs3 + .byte W12 + .byte N12 , An2 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte N12 , Bn2 + .byte W12 + .byte N06 , Bn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N12 , En2 + .byte W12 + .byte Gs2 + .byte W12 + .byte N06 , En3 + .byte W12 + .byte N12 , An2 + .byte W12 + .byte Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte N06 , En3 + .byte W12 + .byte Bn3 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An2 + .byte W06 + .byte Dn4 + .byte W06 + .byte En3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte En3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte GOTO + .word mus_rg_masara_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_masara_4: + .byte KEYSH , mus_rg_masara_key+0 +mus_rg_masara_4_B1: + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte MOD , 0 + .byte PAN , c_v-5 + .byte VOL , 50*mus_rg_masara_mvl/mxv + .byte N24 , An1 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte W12 + .byte N12 , An1 , v096 + .byte W12 + .byte N24 , Dn2 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N12 , Bn1 , v096 + .byte W12 + .byte Cn2 + .byte W12 + .byte N24 , Cs2 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte W12 + .byte N12 , Gs1 , v096 + .byte W12 + .byte Fs2 , v108 + .byte W12 + .byte Cs2 , v096 + .byte W12 + .byte Fs1 + .byte W12 + .byte An1 + .byte W12 + .byte N24 , Dn2 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte En2 , v096 + .byte W12 + .byte Gs2 + .byte W12 + .byte N24 , En1 + .byte W24 + .byte An1 , v112 + .byte W24 + .byte Dn2 , v096 + .byte W24 + .byte BEND , c_v+0 + .byte N24 , En2 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , En1 , v092 + .byte W03 + .byte BEND , c_v-3 + .byte W03 + .byte c_v+0 + .byte W06 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , An1 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte W12 + .byte N12 , En1 , v096 + .byte W12 + .byte N24 , Dn2 , v112 + .byte W24 + .byte N12 , Cs2 , v096 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 , v112 + .byte W36 + .byte Gs1 , v096 + .byte W12 + .byte Cs2 , v112 + .byte W12 + .byte Gs2 , v096 + .byte W12 + .byte En2 , v112 + .byte W12 + .byte Bn1 , v096 + .byte W12 + .byte N24 , Dn2 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , Bn1 , v096 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , En1 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , Gs1 , v096 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N72 , An1 , v112 + .byte W12 + .byte MOD , 11 + .byte W60 + .byte 0 + .byte N24 , Cs2 , v096 + .byte W24 + .byte N48 , Dn1 , v112 + .byte W12 + .byte MOD , 11 + .byte W36 + .byte 0 + .byte N36 , En1 + .byte W12 + .byte MOD , 11 + .byte W24 + .byte 0 + .byte N12 , Gs1 , v096 + .byte W12 + .byte N48 , An1 , v112 + .byte W12 + .byte MOD , 11 + .byte W36 + .byte 0 + .byte N24 , Fs1 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , Cs1 , v096 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N48 , Dn1 , v112 + .byte W12 + .byte MOD , 11 + .byte W36 + .byte 0 + .byte N36 , Fn1 + .byte W36 + .byte N12 , An1 , v096 + .byte W12 + .byte N24 , Fs1 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , Fn1 , v096 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , En1 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , Ds1 , v096 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , Dn1 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte W12 + .byte N12 , Dn1 , v096 + .byte W12 + .byte MOD , 11 + .byte N12 , Dn1 , v112 + .byte W12 + .byte MOD , 0 + .byte W24 + .byte N12 , An1 , v096 + .byte W12 + .byte BEND , c_v+0 + .byte N12 , Ds1 , v112 + .byte W36 + .byte Ds1 , v096 + .byte W12 + .byte Ds1 , v112 + .byte W12 + .byte An1 , v096 + .byte W24 + .byte Fs1 + .byte W12 + .byte BEND , c_v+0 + .byte N12 , En1 , v112 + .byte W36 + .byte En1 , v096 + .byte W12 + .byte En1 , v112 + .byte W36 + .byte En1 , v096 + .byte W12 + .byte W12 + .byte En1 , v112 + .byte W24 + .byte En1 , v096 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v096 + .byte W24 + .byte En1 , v112 + .byte W12 + .byte GOTO + .word mus_rg_masara_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_masara_5: + .byte KEYSH , mus_rg_masara_key+0 +mus_rg_masara_5_B1: + .byte VOICE , 4 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 40*mus_rg_masara_mvl/mxv + .byte PAN , c_v-21 + .byte N36 , Cs3 , v112 + .byte W36 + .byte Dn3 + .byte W36 + .byte N12 , En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte N03 , En3 + .byte W24 + .byte N06 , Gs3 + .byte W12 + .byte N12 , Fs3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N06 , Dn3 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Bn2 + .byte W24 + .byte N24 + .byte W24 + .byte An2 + .byte W24 + .byte N24 + .byte W24 + .byte Bn2 + .byte W24 + .byte Dn3 + .byte W24 + .byte N36 , An2 + .byte W36 + .byte N12 , Gs2 + .byte W12 + .byte N24 , Fs2 + .byte W24 + .byte N12 , An2 + .byte W12 + .byte En2 + .byte W12 + .byte N12 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Gs2 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Dn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte Gs3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte N36 , An2 + .byte W36 + .byte N12 , En2 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N24 + .byte W24 + .byte W24 + .byte N06 , Dn3 + .byte W48 + .byte En3 + .byte W24 + .byte W24 + .byte Fs3 + .byte W24 + .byte N06 + .byte W24 + .byte Cs3 + .byte W24 + .byte W24 + .byte Dn3 + .byte W48 + .byte N06 + .byte W24 + .byte W24 + .byte Fn3 + .byte W24 + .byte En3 + .byte W24 + .byte Ds3 + .byte W24 + .byte W24 + .byte Dn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte Dn3 + .byte W12 + .byte An3 + .byte W12 + .byte W24 + .byte Ds3 + .byte W24 + .byte Fs3 + .byte W24 + .byte An3 + .byte W12 + .byte Ds3 + .byte W12 + .byte W24 + .byte Bn2 + .byte W48 + .byte Dn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte W24 + .byte Dn3 + .byte W24 + .byte Gs3 + .byte W12 + .byte Dn3 + .byte W24 + .byte En3 + .byte W12 + .byte GOTO + .word mus_rg_masara_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_masara_6: + .byte KEYSH , mus_rg_masara_key+0 +mus_rg_masara_6_B1: + .byte VOICE , 4 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte VOL , 37*mus_rg_masara_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , En5 , v120 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte An5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Gs5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N36 , En5 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N12 , Cs5 + .byte W12 + .byte An4 + .byte W12 + .byte N12 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cs5 + .byte W12 + .byte N60 , Dn5 + .byte W15 + .byte MOD , 6 + .byte W44 + .byte W01 + .byte 0 + .byte N12 , Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte N36 , Cs5 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte N06 , Dn5 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N06 , Cs5 + .byte W06 + .byte N48 , Bn4 + .byte W09 + .byte MOD , 6 + .byte W36 + .byte W03 + .byte 0 + .byte N12 , En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte En5 + .byte W12 + .byte An5 + .byte W12 + .byte Gs5 + .byte W12 + .byte N12 + .byte W12 + .byte An5 + .byte W12 + .byte N36 , Fs5 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N12 , En5 + .byte W12 + .byte N48 + .byte W12 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte N12 , Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte N60 , An4 + .byte W12 + .byte MOD , 6 + .byte W48 + .byte VOICE , 48 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N12 , An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte N48 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W03 + .byte VOL , 31*mus_rg_masara_mvl/mxv + .byte W09 + .byte 25*mus_rg_masara_mvl/mxv + .byte W09 + .byte 18*mus_rg_masara_mvl/mxv + .byte W06 + .byte 11*mus_rg_masara_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 37*mus_rg_masara_mvl/mxv + .byte N36 , En4 + .byte W12 + .byte MOD , 6 + .byte VOL , 31*mus_rg_masara_mvl/mxv + .byte W06 + .byte 25*mus_rg_masara_mvl/mxv + .byte W06 + .byte 18*mus_rg_masara_mvl/mxv + .byte W06 + .byte 12*mus_rg_masara_mvl/mxv + .byte W06 + .byte 37*mus_rg_masara_mvl/mxv + .byte N12 , Dn4 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte N48 , Cs4 + .byte W12 + .byte MOD , 6 + .byte VOL , 32*mus_rg_masara_mvl/mxv + .byte W12 + .byte 25*mus_rg_masara_mvl/mxv + .byte W06 + .byte 19*mus_rg_masara_mvl/mxv + .byte W06 + .byte 12*mus_rg_masara_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte W06 + .byte VOL , 37*mus_rg_masara_mvl/mxv + .byte W06 + .byte N03 , As3 , v064 + .byte W03 + .byte N09 , An3 , v120 + .byte W09 + .byte N12 , Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte N06 , Dn4 + .byte W21 + .byte N03 , Cs4 , v072 + .byte W03 + .byte N24 , Dn4 , v120 + .byte W24 + .byte N36 , En4 + .byte W12 + .byte MOD , 6 + .byte VOL , 31*mus_rg_masara_mvl/mxv + .byte W12 + .byte 25*mus_rg_masara_mvl/mxv + .byte W09 + .byte 37*mus_rg_masara_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte N06 , Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte N48 , Cs4 + .byte W12 + .byte MOD , 6 + .byte VOL , 32*mus_rg_masara_mvl/mxv + .byte W12 + .byte 25*mus_rg_masara_mvl/mxv + .byte W09 + .byte 18*mus_rg_masara_mvl/mxv + .byte W06 + .byte 12*mus_rg_masara_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 37*mus_rg_masara_mvl/mxv + .byte W12 + .byte N12 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte N48 , Bn3 + .byte W09 + .byte VOL , 31*mus_rg_masara_mvl/mxv + .byte W03 + .byte MOD , 6 + .byte W03 + .byte VOL , 25*mus_rg_masara_mvl/mxv + .byte W09 + .byte 18*mus_rg_masara_mvl/mxv + .byte W06 + .byte 12*mus_rg_masara_mvl/mxv + .byte W06 + .byte 7*mus_rg_masara_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 37*mus_rg_masara_mvl/mxv + .byte N24 , Fs3 + .byte W24 + .byte N18 , Cs4 + .byte W18 + .byte N06 , Cn4 , v088 + .byte W06 + .byte N48 , Bn3 , v120 + .byte W12 + .byte MOD , 4 + .byte VOL , 31*mus_rg_masara_mvl/mxv + .byte W12 + .byte 25*mus_rg_masara_mvl/mxv + .byte W09 + .byte 18*mus_rg_masara_mvl/mxv + .byte W06 + .byte 11*mus_rg_masara_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 37*mus_rg_masara_mvl/mxv + .byte N24 , An3 + .byte W24 + .byte Fs3 + .byte W24 + .byte N48 , Gs3 + .byte W12 + .byte MOD , 6 + .byte VOL , 29*mus_rg_masara_mvl/mxv + .byte W12 + .byte 25*mus_rg_masara_mvl/mxv + .byte W09 + .byte 18*mus_rg_masara_mvl/mxv + .byte W09 + .byte 12*mus_rg_masara_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 37*mus_rg_masara_mvl/mxv + .byte N24 , An3 + .byte W24 + .byte VOL , 37*mus_rg_masara_mvl/mxv + .byte N24 , Cs4 + .byte W12 + .byte VOL , 31*mus_rg_masara_mvl/mxv + .byte W06 + .byte 24*mus_rg_masara_mvl/mxv + .byte W06 + .byte 18*mus_rg_masara_mvl/mxv + .byte MOD , 5 + .byte N42 + .byte W09 + .byte VOL , 21*mus_rg_masara_mvl/mxv + .byte W09 + .byte 25*mus_rg_masara_mvl/mxv + .byte W06 + .byte 37*mus_rg_masara_mvl/mxv + .byte W18 + .byte MOD , 0 + .byte N06 , Cn4 , v088 + .byte W06 + .byte MOD , 0 + .byte N36 , Bn3 , v104 + .byte W09 + .byte VOL , 29*mus_rg_masara_mvl/mxv + .byte W06 + .byte MOD , 6 + .byte VOL , 22*mus_rg_masara_mvl/mxv + .byte W06 + .byte 15*mus_rg_masara_mvl/mxv + .byte W06 + .byte 10*mus_rg_masara_mvl/mxv + .byte W09 + .byte VOICE , 4 + .byte VOL , 33*mus_rg_masara_mvl/mxv + .byte MOD , 0 + .byte N06 , Cs5 , v068 + .byte W06 + .byte Dn5 , v080 + .byte W06 + .byte GOTO + .word mus_rg_masara_6_B1 + .byte MOD , 0 + .byte VOL , 37*mus_rg_masara_mvl/mxv + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_masara: + .byte 6 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_masara_pri @ Priority + .byte mus_rg_masara_rev @ Reverb. + + .word mus_rg_masara_grp + + .word mus_rg_masara_1 + .word mus_rg_masara_2 + .word mus_rg_masara_3 + .word mus_rg_masara_4 + .word mus_rg_masara_5 + .word mus_rg_masara_6 + + .end diff --git a/sound/songs/mus_rg_naminori.s b/sound/songs/mus_rg_naminori.s new file mode 100644 index 0000000000..0685320ff4 --- /dev/null +++ b/sound/songs/mus_rg_naminori.s @@ -0,0 +1,1697 @@ + .include "MPlayDef.s" + + .equ mus_rg_naminori_grp, voicegroup_86ABF38 + .equ mus_rg_naminori_pri, 0 + .equ mus_rg_naminori_rev, reverb_set+50 + .equ mus_rg_naminori_mvl, 127 + .equ mus_rg_naminori_key, 0 + .equ mus_rg_naminori_tbs, 1 + .equ mus_rg_naminori_exg, 0 + .equ mus_rg_naminori_cmp, 1 + + .section .rodata + .global mus_rg_naminori + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_naminori_1: + .byte KEYSH , mus_rg_naminori_key+0 + .byte TEMPO , 100*mus_rg_naminori_tbs/2 + .byte VOICE , 4 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+32 + .byte VOL , 38*mus_rg_naminori_mvl/mxv + .byte W36 + .byte N12 , An2 , v127 + .byte W12 + .byte N18 , Gs2 + .byte W18 + .byte N06 , Fs2 + .byte W06 + .byte N36 , En2 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N12 , Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N24 , Gs3 + .byte W12 +mus_rg_naminori_1_B1: + .byte VOICE , 4 + .byte VOL , 34*mus_rg_naminori_mvl/mxv + .byte W12 + .byte N06 , En3 , v127 + .byte W12 + .byte N12 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte N12 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte W12 + .byte N06 + .byte W12 + .byte N12 + .byte W24 + .byte N06 , Fs3 + .byte W18 + .byte Cn3 + .byte W06 + .byte N12 , An2 , v120 + .byte W12 + .byte N06 , En3 , v127 + .byte W12 + .byte N12 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 24 + .byte VOL , 27*mus_rg_naminori_mvl/mxv + .byte W12 + .byte N12 , An4 , v096 + .byte W12 + .byte PAN , c_v-32 + .byte N24 , An4 , v064 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , Gs4 , v096 + .byte W12 + .byte PAN , c_v+32 + .byte N24 , Gs4 , v060 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , Fs4 , v096 + .byte W12 + .byte PAN , c_v-32 + .byte N24 , Fs4 , v064 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , En4 , v096 + .byte W12 + .byte PAN , c_v+32 + .byte N24 , En4 , v064 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOICE , 4 + .byte MOD , 0 + .byte VOL , 34*mus_rg_naminori_mvl/mxv + .byte N12 , En3 , v127 + .byte W12 + .byte N06 + .byte W24 + .byte N18 , Fs3 + .byte W18 + .byte N06 , Gs3 + .byte W06 + .byte N12 , An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte N36 , Cs4 + .byte W36 + .byte VOICE , 48 + .byte VOL , 21*mus_rg_naminori_mvl/mxv + .byte N12 , Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , An4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gs4 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte VOL , 21*mus_rg_naminori_mvl/mxv + .byte N12 , Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , An4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gs4 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An4 + .byte W12 + .byte Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte En4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Bn4 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Cs5 + .byte W12 + .byte N18 , Bn4 + .byte W18 + .byte PAN , c_v-32 + .byte N06 , Cs5 , v120 + .byte W06 + .byte N36 , En5 , v127 + .byte W12 + .byte VOL , 18*mus_rg_naminori_mvl/mxv + .byte W09 + .byte 13*mus_rg_naminori_mvl/mxv + .byte W09 + .byte 8*mus_rg_naminori_mvl/mxv + .byte W06 + .byte GOTO + .word mus_rg_naminori_1_B1 + .byte W72 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_naminori_2: + .byte KEYSH , mus_rg_naminori_key+0 + .byte VOICE , 73 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 71*mus_rg_naminori_mvl/mxv + .byte N12 , An3 , v127 + .byte W12 + .byte N18 , Gs3 + .byte W18 + .byte N06 , Fs3 + .byte W06 + .byte MOD , 6 + .byte N36 , En3 + .byte W12 + .byte VOL , 68*mus_rg_naminori_mvl/mxv + .byte W06 + .byte 56*mus_rg_naminori_mvl/mxv + .byte W06 + .byte 44*mus_rg_naminori_mvl/mxv + .byte W06 + .byte 34*mus_rg_naminori_mvl/mxv + .byte W06 + .byte 70*mus_rg_naminori_mvl/mxv + .byte MOD , 0 + .byte N36 , Gs3 + .byte W12 + .byte VOL , 68*mus_rg_naminori_mvl/mxv + .byte W06 + .byte 56*mus_rg_naminori_mvl/mxv + .byte W06 + .byte 44*mus_rg_naminori_mvl/mxv + .byte W06 + .byte 34*mus_rg_naminori_mvl/mxv + .byte W06 + .byte 68*mus_rg_naminori_mvl/mxv + .byte N12 , En4 , v104 + .byte W12 + .byte Dn4 , v096 + .byte W12 + .byte Bn3 , v092 + .byte W12 +mus_rg_naminori_2_B1: + .byte VOICE , 4 + .byte VOL , 67*mus_rg_naminori_mvl/mxv + .byte N36 , En5 , v072 + .byte W12 + .byte MOD , 8 + .byte VOL , 56*mus_rg_naminori_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 66*mus_rg_naminori_mvl/mxv + .byte N30 , Cs5 , v084 + .byte W12 + .byte MOD , 7 + .byte VOL , 56*mus_rg_naminori_mvl/mxv + .byte W18 + .byte MOD , 0 + .byte VOL , 67*mus_rg_naminori_mvl/mxv + .byte N06 , En5 + .byte W06 + .byte VOL , 67*mus_rg_naminori_mvl/mxv + .byte N36 , Dn5 + .byte W12 + .byte MOD , 7 + .byte VOL , 56*mus_rg_naminori_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 67*mus_rg_naminori_mvl/mxv + .byte N36 , Bn4 + .byte W12 + .byte MOD , 7 + .byte VOL , 56*mus_rg_naminori_mvl/mxv + .byte W24 + .byte VOICE , 5 + .byte MOD , 0 + .byte VOL , 67*mus_rg_naminori_mvl/mxv + .byte N36 , Dn4 , v088 + .byte W12 + .byte MOD , 8 + .byte VOL , 56*mus_rg_naminori_mvl/mxv + .byte W12 + .byte 45*mus_rg_naminori_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 66*mus_rg_naminori_mvl/mxv + .byte N12 , Bn3 , v100 + .byte W12 + .byte N18 , Fs4 + .byte W18 + .byte N06 , Dn4 + .byte W06 + .byte VOL , 67*mus_rg_naminori_mvl/mxv + .byte N36 , En4 , v084 + .byte W12 + .byte MOD , 8 + .byte VOL , 56*mus_rg_naminori_mvl/mxv + .byte W12 + .byte 45*mus_rg_naminori_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 67*mus_rg_naminori_mvl/mxv + .byte N36 , Cs4 , v100 + .byte W12 + .byte MOD , 8 + .byte VOL , 56*mus_rg_naminori_mvl/mxv + .byte W12 + .byte 45*mus_rg_naminori_mvl/mxv + .byte W12 + .byte VOICE , 4 + .byte VOL , 65*mus_rg_naminori_mvl/mxv + .byte MOD , 0 + .byte VOL , 67*mus_rg_naminori_mvl/mxv + .byte N36 , En5 , v084 + .byte W12 + .byte MOD , 8 + .byte VOL , 56*mus_rg_naminori_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 67*mus_rg_naminori_mvl/mxv + .byte N30 , Cs5 + .byte W12 + .byte VOL , 56*mus_rg_naminori_mvl/mxv + .byte W18 + .byte 67*mus_rg_naminori_mvl/mxv + .byte N06 , En5 + .byte W06 + .byte VOL , 67*mus_rg_naminori_mvl/mxv + .byte N36 , Fs5 + .byte W12 + .byte MOD , 8 + .byte VOL , 56*mus_rg_naminori_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 67*mus_rg_naminori_mvl/mxv + .byte N36 , Dn5 + .byte W12 + .byte MOD , 8 + .byte VOL , 56*mus_rg_naminori_mvl/mxv + .byte W24 + .byte VOICE , 5 + .byte VOL , 56*mus_rg_naminori_mvl/mxv + .byte MOD , 0 + .byte VOL , 67*mus_rg_naminori_mvl/mxv + .byte N36 , Fs4 + .byte W12 + .byte MOD , 8 + .byte VOL , 56*mus_rg_naminori_mvl/mxv + .byte W12 + .byte 45*mus_rg_naminori_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 66*mus_rg_naminori_mvl/mxv + .byte N12 , En4 , v104 + .byte W12 + .byte N18 , Fs4 + .byte W18 + .byte N06 , En4 + .byte W06 + .byte VOL , 67*mus_rg_naminori_mvl/mxv + .byte N36 , An4 , v088 + .byte W12 + .byte MOD , 8 + .byte VOL , 56*mus_rg_naminori_mvl/mxv + .byte W12 + .byte 45*mus_rg_naminori_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 67*mus_rg_naminori_mvl/mxv + .byte N36 , An4 , v104 + .byte W12 + .byte MOD , 8 + .byte VOL , 56*mus_rg_naminori_mvl/mxv + .byte W12 + .byte 45*mus_rg_naminori_mvl/mxv + .byte W12 + .byte VOICE , 73 + .byte VOL , 60*mus_rg_naminori_mvl/mxv + .byte MOD , 0 + .byte VOL , 66*mus_rg_naminori_mvl/mxv + .byte N03 , Cn6 , v052 + .byte W03 + .byte N09 , Bn5 , v080 + .byte W09 + .byte N18 , An5 + .byte W18 + .byte N06 , Dn5 + .byte W06 + .byte VOL , 67*mus_rg_naminori_mvl/mxv + .byte N36 , Fs5 + .byte W12 + .byte MOD , 8 + .byte VOL , 56*mus_rg_naminori_mvl/mxv + .byte W12 + .byte 45*mus_rg_naminori_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 66*mus_rg_naminori_mvl/mxv + .byte N12 , En5 + .byte W12 + .byte N18 , Fs5 + .byte W18 + .byte N06 , En5 + .byte W06 + .byte VOL , 67*mus_rg_naminori_mvl/mxv + .byte N36 , Cs5 + .byte W12 + .byte MOD , 8 + .byte VOL , 56*mus_rg_naminori_mvl/mxv + .byte W12 + .byte 45*mus_rg_naminori_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 66*mus_rg_naminori_mvl/mxv + .byte N12 , Dn5 + .byte W12 + .byte N18 , Cs5 + .byte W18 + .byte N06 , Bn4 + .byte W06 + .byte VOL , 67*mus_rg_naminori_mvl/mxv + .byte N36 , Fs5 + .byte W12 + .byte MOD , 8 + .byte VOL , 56*mus_rg_naminori_mvl/mxv + .byte W12 + .byte 45*mus_rg_naminori_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 66*mus_rg_naminori_mvl/mxv + .byte N12 , En5 + .byte W12 + .byte N18 , Ds5 + .byte W18 + .byte N06 , En5 + .byte W06 + .byte N36 , An5 + .byte W12 + .byte MOD , 8 + .byte VOL , 56*mus_rg_naminori_mvl/mxv + .byte W12 + .byte 45*mus_rg_naminori_mvl/mxv + .byte W12 + .byte VOICE , 48 + .byte VOL , 42*mus_rg_naminori_mvl/mxv + .byte MOD , 0 + .byte N12 , Bn4 , v127 + .byte W12 + .byte N18 , An4 + .byte W18 + .byte N06 , Dn4 + .byte W06 + .byte N36 , Fs4 + .byte W36 + .byte N12 , En4 + .byte W12 + .byte N18 , Fs4 + .byte W18 + .byte N06 , Gs4 + .byte W06 + .byte N36 , An4 + .byte W36 + .byte N12 , Gs4 + .byte W12 + .byte N18 , Fs4 + .byte W18 + .byte N06 , En4 + .byte W06 + .byte N36 , Gs4 + .byte W36 + .byte N12 , An4 + .byte W12 + .byte N18 , Gs4 + .byte W18 + .byte N06 , An4 + .byte W06 + .byte N36 , Cs5 + .byte W36 + .byte GOTO + .word mus_rg_naminori_2_B1 + .byte W72 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_naminori_3: + .byte KEYSH , mus_rg_naminori_key+0 + .byte VOICE , 4 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 34*mus_rg_naminori_mvl/mxv + .byte W72 + .byte PAN , c_v+0 + .byte VOL , 61*mus_rg_naminori_mvl/mxv + .byte N36 , En4 , v127 + .byte W09 + .byte MOD , 6 + .byte W24 + .byte W03 + .byte VOL , 34*mus_rg_naminori_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v-32 + .byte N12 , En3 , v072 + .byte W12 + .byte Fs3 , v076 + .byte W12 + .byte Gs3 , v072 + .byte W12 +mus_rg_naminori_3_B1: + .byte N12 , An2 , v127 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte N12 + .byte W12 + .byte En3 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte N12 + .byte W12 + .byte Bn2 + .byte W12 + .byte N06 , Gs3 + .byte W12 + .byte N12 + .byte W12 + .byte En3 + .byte W12 + .byte N06 , Gs3 + .byte W12 + .byte N12 + .byte W12 + .byte Bn2 + .byte W12 + .byte N06 , Gs3 + .byte W12 + .byte N12 + .byte W12 + .byte En3 + .byte W12 + .byte N06 , Gs3 + .byte W18 + .byte En3 + .byte W06 + .byte N12 , Cs3 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte N12 + .byte W12 + .byte En3 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte N12 + .byte W12 +mus_rg_naminori_3_000: + .byte N12 , Cs3 , v127 + .byte W12 + .byte An3 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , En3 + .byte W12 + .byte An3 + .byte W12 + .byte N06 + .byte W12 + .byte PEND + .byte N12 , Bn2 + .byte W12 + .byte Gs3 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , En3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Bn2 + .byte W12 + .byte Gs3 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , En3 + .byte W12 + .byte N18 , Gs3 + .byte W18 + .byte N06 , En3 + .byte W06 + .byte PATT + .word mus_rg_naminori_3_000 +mus_rg_naminori_3_001: + .byte N12 , Dn3 , v127 + .byte W12 + .byte Fs3 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , An2 + .byte W12 + .byte Fs3 + .byte W12 + .byte N06 + .byte W12 + .byte PEND +mus_rg_naminori_3_002: + .byte N12 , En3 , v127 + .byte W12 + .byte An3 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte An3 + .byte W12 + .byte N06 + .byte W12 + .byte PEND +mus_rg_naminori_3_003: + .byte N12 , En3 , v127 + .byte W12 + .byte Gs3 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Bn2 + .byte W12 + .byte Gs3 + .byte W12 + .byte N06 + .byte W12 + .byte PEND + .byte N12 , En3 + .byte W12 + .byte An3 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , An2 + .byte W12 + .byte An3 + .byte W12 + .byte N06 + .byte W12 + .byte PATT + .word mus_rg_naminori_3_001 + .byte PATT + .word mus_rg_naminori_3_002 + .byte PATT + .word mus_rg_naminori_3_003 + .byte N12 , En3 , v127 + .byte W12 + .byte An3 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte N12 , En3 + .byte W12 + .byte GOTO + .word mus_rg_naminori_3_B1 + .byte W72 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_naminori_4: + .byte KEYSH , mus_rg_naminori_key+0 + .byte VOICE , 80 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 45*mus_rg_naminori_mvl/mxv + .byte W72 + .byte W36 + .byte N12 , En1 , v080 + .byte W12 + .byte Fs1 , v092 + .byte W12 + .byte Gs1 , v096 + .byte W12 +mus_rg_naminori_4_B1: + .byte N12 , An1 , v096 + .byte W36 + .byte En1 + .byte W12 + .byte N03 , Fn1 , v068 + .byte W03 + .byte Fs1 + .byte W03 + .byte Gs1 + .byte W03 + .byte An1 + .byte W03 + .byte N12 , As1 , v100 + .byte W12 + .byte Bn1 + .byte W36 + .byte En1 + .byte W24 + .byte As1 + .byte W12 +mus_rg_naminori_4_000: + .byte N12 , Bn1 , v100 + .byte W36 + .byte En1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte PEND + .byte Cs2 + .byte W36 + .byte An1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Fs1 + .byte W12 + .byte En1 + .byte W36 + .byte Cs2 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte Gs1 + .byte W36 + .byte En1 + .byte W12 + .byte En2 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte PATT + .word mus_rg_naminori_4_000 + .byte N12 , Cs2 , v100 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Fs1 + .byte W12 + .byte N06 , Fn1 + .byte W06 + .byte En1 + .byte W06 + .byte N12 , Dn1 + .byte W12 + .byte N18 , An1 + .byte W18 + .byte N03 , Fs1 , v064 + .byte W03 + .byte En1 + .byte W03 + .byte N12 , Dn1 , v096 + .byte W24 + .byte N12 + .byte W12 + .byte An1 + .byte W36 + .byte N12 + .byte W12 + .byte N18 , Gs1 + .byte W18 + .byte N06 , Fs1 + .byte W06 + .byte N12 , En1 + .byte W36 + .byte Gs1 + .byte W12 + .byte N18 , Bn1 + .byte W18 + .byte N06 , Dn2 + .byte W06 + .byte N15 , Cs2 + .byte W36 + .byte N12 , An1 + .byte W12 + .byte En1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte N18 , Dn2 + .byte W18 + .byte N03 , Cs2 , v064 + .byte W03 + .byte Gs1 + .byte W03 + .byte N12 , Fs1 , v096 + .byte W12 + .byte N18 , En1 + .byte W18 + .byte N06 , Fs1 + .byte W06 + .byte N12 , An1 + .byte W12 + .byte N18 , En1 + .byte W18 + .byte N06 , Gs1 + .byte W06 + .byte N12 , An1 + .byte W12 + .byte N18 , En2 + .byte W18 + .byte N06 , An1 + .byte W06 + .byte N12 , Gs1 + .byte W12 + .byte Fs2 + .byte W12 + .byte En2 + .byte W12 + .byte Dn2 + .byte W12 + .byte N18 , Cs2 + .byte W18 + .byte N06 , Gs1 + .byte W06 + .byte N12 , An1 + .byte W36 + .byte N30 , En1 + .byte W30 + .byte N06 , Gs1 + .byte W06 + .byte GOTO + .word mus_rg_naminori_4_B1 + .byte W72 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_naminori_5: + .byte KEYSH , mus_rg_naminori_key+0 + .byte VOICE , 46 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 30*mus_rg_naminori_mvl/mxv + .byte N06 , En3 , v120 + .byte W06 + .byte An3 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , En3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , En4 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , En3 + .byte W06 + .byte Cs3 + .byte W06 + .byte PAN , c_v-48 + .byte N03 , Gs3 + .byte W03 + .byte An3 + .byte W03 + .byte Bn3 + .byte W03 + .byte Cs4 + .byte W03 + .byte PAN , c_v-43 + .byte N03 , Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Gs4 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , An4 + .byte W03 + .byte Bn4 + .byte W03 + .byte PAN , c_v+16 + .byte N03 , Cs5 + .byte W03 + .byte PAN , c_v+28 + .byte N03 , Dn5 + .byte W03 + .byte PAN , c_v+32 + .byte N36 , En5 + .byte W36 +mus_rg_naminori_5_B1: + .byte PAN , c_v+32 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte c_v+48 + .byte VOL , 41*mus_rg_naminori_mvl/mxv + .byte N06 , Dn4 , v120 + .byte W06 + .byte An3 + .byte W06 + .byte PAN , c_v-48 + .byte N12 , Fs4 + .byte W12 + .byte N03 , Bn3 + .byte W03 + .byte Cs4 + .byte W03 + .byte Dn4 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte PAN , c_v+48 + .byte N03 , An4 + .byte W03 + .byte Bn4 + .byte W03 + .byte Cs5 + .byte W03 + .byte N24 , Dn5 + .byte W24 + .byte PAN , c_v-48 + .byte N06 , An4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte PAN , c_v+48 + .byte N18 , Cs5 + .byte W18 + .byte N03 , Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Gs4 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , An4 + .byte W03 + .byte Bn4 + .byte W03 + .byte PAN , c_v-48 + .byte N03 , Cs5 + .byte W03 + .byte Dn5 + .byte W03 + .byte N12 , En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte PAN , c_v-33 + .byte N12 , Bn4 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An4 + .byte W12 + .byte PAN , c_v+48 + .byte N06 , Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , An4 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte N03 , Cs4 + .byte W03 + .byte Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Gs4 + .byte W03 + .byte An4 + .byte W03 + .byte Bn4 + .byte W03 + .byte Cs5 + .byte W03 + .byte Dn5 + .byte W03 + .byte En5 + .byte W03 + .byte PAN , c_v+16 + .byte N03 , Fs5 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , Gs5 + .byte W03 + .byte PAN , c_v+48 + .byte N12 , An5 + .byte W12 + .byte GOTO + .word mus_rg_naminori_5_B1 + .byte W72 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_naminori_6: + .byte KEYSH , mus_rg_naminori_key+0 + .byte VOICE , 73 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 45*mus_rg_naminori_mvl/mxv + .byte PAN , c_v+16 + .byte N12 , An4 , v076 + .byte W12 + .byte N18 , Gs4 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte N36 , En4 + .byte W12 + .byte MOD , 6 + .byte VOL , 33*mus_rg_naminori_mvl/mxv + .byte W06 + .byte 26*mus_rg_naminori_mvl/mxv + .byte W06 + .byte 21*mus_rg_naminori_mvl/mxv + .byte W06 + .byte 11*mus_rg_naminori_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 34*mus_rg_naminori_mvl/mxv + .byte W48 + .byte VOICE , 92 + .byte PAN , c_v+0 + .byte W24 +mus_rg_naminori_6_B1: + .byte VOL , 34*mus_rg_naminori_mvl/mxv + .byte BEND , c_v+0 + .byte N36 , En4 , v084 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N30 , Cs4 + .byte W12 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N06 , En4 + .byte W06 + .byte N36 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Dn3 , v127 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N12 , Bn2 + .byte W12 + .byte N18 , Fs3 + .byte W18 + .byte N06 , Dn3 + .byte W06 + .byte N36 , En3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N36 , Cs3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N36 , En4 , v084 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N30 , Cs4 + .byte W30 + .byte N06 , En4 + .byte W06 + .byte N36 , Fs4 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N36 , Dn4 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N36 , Fs3 , v127 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N12 , En3 + .byte W12 + .byte N18 , Fs3 + .byte W18 + .byte N06 , En3 + .byte W06 + .byte N36 , An3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N36 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N03 , Cn4 , v080 + .byte W03 + .byte N09 , Bn3 , v127 + .byte W09 + .byte N18 , An3 + .byte W18 + .byte N06 , Dn3 + .byte W06 + .byte N36 , Fs3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N12 , En3 + .byte W12 + .byte N18 , Fs3 + .byte W18 + .byte N06 , En3 + .byte W06 + .byte N36 , Cs3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N12 , Dn3 + .byte W12 + .byte N18 , Cs3 + .byte W18 + .byte N06 , Bn2 + .byte W06 + .byte N36 , Fs3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N12 , En3 + .byte W12 + .byte N18 , Ds3 + .byte W18 + .byte N06 , En3 + .byte W06 + .byte N36 , An3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte VOICE , 92 + .byte MOD , 0 + .byte BEND , c_v+1 + .byte N12 , Bn4 + .byte W12 + .byte N18 , An4 + .byte W18 + .byte N06 , Dn4 + .byte W06 + .byte N36 , Fs4 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N12 , En4 + .byte W12 + .byte N18 , Fs4 + .byte W18 + .byte N06 , Gs4 + .byte W06 + .byte N36 , An4 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N12 , Gs4 + .byte W12 + .byte N18 , Fs4 + .byte W18 + .byte N06 , En4 + .byte W06 + .byte N36 , Gs4 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N12 , An4 + .byte W12 + .byte N18 , Gs4 + .byte W18 + .byte N06 , An4 + .byte W06 + .byte N36 , Cs5 + .byte W12 + .byte MOD , 5 + .byte VOL , 28*mus_rg_naminori_mvl/mxv + .byte W12 + .byte 22*mus_rg_naminori_mvl/mxv + .byte W06 + .byte 15*mus_rg_naminori_mvl/mxv + .byte W06 + .byte GOTO + .word mus_rg_naminori_6_B1 + .byte MOD , 0 + .byte W72 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_naminori_7: + .byte KEYSH , mus_rg_naminori_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 11*mus_rg_naminori_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , An4 , v120 + .byte W12 + .byte N18 , Gs4 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte N36 , En4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte VOL , 11*mus_rg_naminori_mvl/mxv + .byte N36 , Bn3 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N12 , En3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W12 +mus_rg_naminori_7_B1: + .byte VOL , 11*mus_rg_naminori_mvl/mxv + .byte PAN , c_v-64 + .byte N36 , An3 , v120 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte PAN , c_v+63 + .byte N30 , En3 + .byte W12 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N06 , An3 + .byte W06 + .byte PAN , c_v-64 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte N06 , As3 + .byte W06 + .byte An3 + .byte W06 + .byte MOD , 0 + .byte PAN , c_v+63 + .byte N36 , Gs3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte PAN , c_v-64 + .byte N36 , Bn3 + .byte W36 + .byte PAN , c_v+63 + .byte N12 , Fs3 + .byte W12 + .byte N18 , Dn4 + .byte W18 + .byte N06 , Bn3 + .byte W06 + .byte PAN , c_v-64 + .byte N24 , Cs4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte N06 , Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte MOD , 0 + .byte PAN , c_v+63 + .byte N36 , An3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte PAN , c_v-64 + .byte N36 + .byte W36 + .byte MOD , 0 + .byte PAN , c_v+63 + .byte N30 , En3 + .byte W12 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N06 , An3 + .byte W06 + .byte PAN , c_v-64 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte N06 , As3 + .byte W06 + .byte An3 + .byte W06 + .byte MOD , 0 + .byte PAN , c_v+63 + .byte N36 , Fs3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte PAN , c_v-64 + .byte N36 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte PAN , c_v+63 + .byte N12 , Fs3 + .byte W12 + .byte N18 , Gs3 + .byte W18 + .byte N06 , En3 + .byte W06 + .byte PAN , c_v-64 + .byte N24 , Cs4 + .byte W24 + .byte N06 , Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte PAN , c_v+63 + .byte N36 , An3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte VOICE , 12 + .byte MOD , 0 + .byte PAN , c_v-64 + .byte VOL , 24*mus_rg_naminori_mvl/mxv + .byte N01 , Dn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , An3 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , An3 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Fs3 + .byte W06 + .byte Dn4 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , An3 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , En3 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , An3 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , An4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Gs4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Bn3 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Gs3 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , En3 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , An4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , An3 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , En3 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-64 + .byte N01 , Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+63 + .byte N01 , An4 + .byte W06 + .byte En4 + .byte W06 + .byte VOICE , 81 + .byte PAN , c_v-64 + .byte VOL , 25*mus_rg_naminori_mvl/mxv + .byte N12 , Dn4 + .byte W12 + .byte N18 , Cs4 + .byte W09 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N06 , Fs3 + .byte W06 + .byte PAN , c_v+63 + .byte N24 , An3 + .byte W12 + .byte MOD , 6 + .byte VOL , 19*mus_rg_naminori_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 25*mus_rg_naminori_mvl/mxv + .byte N12 , Dn4 + .byte W12 + .byte PAN , c_v-64 + .byte N03 , As3 + .byte W03 + .byte N09 , An3 + .byte W09 + .byte N18 , Gs3 + .byte W18 + .byte N06 , An3 + .byte W06 + .byte PAN , c_v+63 + .byte N24 , Cs4 + .byte W12 + .byte MOD , 6 + .byte VOL , 19*mus_rg_naminori_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 25*mus_rg_naminori_mvl/mxv + .byte N12 , En4 + .byte W12 + .byte PAN , c_v-64 + .byte N03 , An3 + .byte W03 + .byte N09 , Gs3 + .byte W09 + .byte N18 , Fs3 + .byte W18 + .byte N06 , En3 + .byte W06 + .byte PAN , c_v+63 + .byte N24 , Gs3 + .byte W12 + .byte MOD , 6 + .byte VOL , 19*mus_rg_naminori_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 25*mus_rg_naminori_mvl/mxv + .byte N12 , Dn4 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En4 + .byte W12 + .byte N18 , Ds4 + .byte W18 + .byte N06 , En4 + .byte W06 + .byte PAN , c_v+63 + .byte N36 , An4 + .byte W12 + .byte MOD , 6 + .byte W06 + .byte VOL , 21*mus_rg_naminori_mvl/mxv + .byte W06 + .byte 16*mus_rg_naminori_mvl/mxv + .byte W06 + .byte 10*mus_rg_naminori_mvl/mxv + .byte W06 + .byte GOTO + .word mus_rg_naminori_7_B1 + .byte MOD , 0 + .byte W72 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_naminori: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_naminori_pri @ Priority + .byte mus_rg_naminori_rev @ Reverb. + + .word mus_rg_naminori_grp + + .word mus_rg_naminori_1 + .word mus_rg_naminori_2 + .word mus_rg_naminori_3 + .word mus_rg_naminori_4 + .word mus_rg_naminori_5 + .word mus_rg_naminori_6 + .word mus_rg_naminori_7 + + .end diff --git a/sound/songs/mus_rg_nana123.s b/sound/songs/mus_rg_nana123.s new file mode 100644 index 0000000000..2136b30578 --- /dev/null +++ b/sound/songs/mus_rg_nana123.s @@ -0,0 +1,2701 @@ + .include "MPlayDef.s" + + .equ mus_rg_nana123_grp, voicegroup_86AF16C + .equ mus_rg_nana123_pri, 0 + .equ mus_rg_nana123_rev, reverb_set+50 + .equ mus_rg_nana123_mvl, 127 + .equ mus_rg_nana123_key, 0 + .equ mus_rg_nana123_tbs, 1 + .equ mus_rg_nana123_exg, 0 + .equ mus_rg_nana123_cmp, 1 + + .section .rodata + .global mus_rg_nana123 + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_nana123_1: + .byte KEYSH , mus_rg_nana123_key+0 + .byte TEMPO , 126*mus_rg_nana123_tbs/2 + .byte VOICE , 80 + .byte VOL , 42*mus_rg_nana123_mvl/mxv + .byte PAN , c_v-61 + .byte W24 +mus_rg_nana123_1_B1: + .byte VOICE , 80 + .byte VOL , 36*mus_rg_nana123_mvl/mxv + .byte N03 , As3 , v120 + .byte W03 + .byte N21 , An3 , v127 + .byte W21 + .byte N24 , Gn3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte N12 + .byte W12 + .byte N03 , Gn3 + .byte W03 + .byte An3 , v120 + .byte W03 + .byte N06 , Gn3 + .byte W06 + .byte N12 , En3 , v127 + .byte W12 + .byte Fn3 + .byte W12 + .byte N12 + .byte W12 + .byte En3 + .byte W12 + .byte N24 , Dn3 + .byte W24 + .byte En3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N03 , Fs3 , v120 + .byte W03 + .byte N21 , Fn3 , v127 + .byte W21 + .byte N24 , Dn3 , v120 + .byte W24 + .byte N03 , Cs3 + .byte W03 + .byte N32 , Cn3 , v127 + .byte W32 + .byte W01 + .byte N12 , Dn3 + .byte W12 + .byte N18 + .byte W18 + .byte N06 , Cs3 , v120 + .byte W06 + .byte N24 , Cn3 , v127 + .byte W24 + .byte N03 , Gs3 , v120 + .byte W03 + .byte N09 , Gn3 , v127 + .byte W09 + .byte N24 , En3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte Dn3 + .byte W24 + .byte N03 , Cs3 , v120 + .byte W03 + .byte N21 , Cn3 , v127 + .byte W21 + .byte N12 , Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N03 , Fn3 , v120 + .byte W03 + .byte N21 , En3 , v127 + .byte W21 + .byte N12 , Cn3 , v120 + .byte W12 + .byte Fn3 , v127 + .byte W12 + .byte N24 , Cn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N24 , As2 + .byte W24 + .byte Cn3 + .byte W12 + .byte W12 + .byte N12 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte N03 , As3 , v120 + .byte W03 + .byte N09 , An3 , v127 + .byte W09 + .byte N12 , Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte N24 , Dn3 + .byte W24 + .byte En3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte N03 , Ds3 , v120 + .byte W03 + .byte N09 , En3 , v127 + .byte W09 + .byte N12 , Dn3 + .byte W12 + .byte N12 + .byte W12 + .byte Fn3 + .byte W12 + .byte N12 + .byte W12 + .byte En3 , v120 + .byte W12 + .byte Dn3 , v127 + .byte W12 + .byte As2 + .byte W12 + .byte N36 , Cn3 + .byte W36 + .byte N12 , Dn3 + .byte W12 + .byte N03 , Ds3 , v120 + .byte W03 + .byte N09 , Dn3 , v127 + .byte W09 + .byte N12 , Cn3 + .byte W12 + .byte N24 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte Dn3 + .byte W24 + .byte Cn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte N12 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , Dn3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte VOICE , 25 + .byte PAN , c_v-46 + .byte VOL , 45*mus_rg_nana123_mvl/mxv + .byte N06 , An4 , v120 + .byte W12 + .byte As3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N24 , An4 + .byte W24 + .byte N06 , As3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N12 , An4 + .byte W12 + .byte N06 + .byte W12 + .byte As4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N03 , Fn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte N06 , Fn4 + .byte W06 + .byte Dn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N18 , En5 + .byte W18 + .byte N03 , Ds5 , v072 + .byte W03 + .byte Dn5 , v068 + .byte W03 + .byte N24 , Cn5 , v120 + .byte W24 + .byte N06 , Fs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte An4 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte N03 , As4 + .byte W03 + .byte Cn5 + .byte W03 + .byte N06 , As4 + .byte W06 + .byte An4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N12 , Fn4 + .byte W24 + .byte As4 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte N06 , Gn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte N12 , Gn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N06 , As4 + .byte W12 + .byte N03 , An4 + .byte W03 + .byte As4 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte An3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N24 , Fs4 + .byte W24 + .byte N06 , An4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N12 , Ds5 + .byte W12 + .byte N06 , Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte N03 , An4 + .byte W03 + .byte As4 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte Fs4 + .byte W12 + .byte An4 + .byte W12 + .byte As3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N24 , An4 + .byte W24 + .byte N06 , As3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N12 , An4 + .byte W12 + .byte N06 , As4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte As4 + .byte W12 + .byte N12 , Cn5 + .byte W12 + .byte N06 , As4 + .byte W12 + .byte N03 , An4 + .byte W03 + .byte As4 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , Gn4 + .byte W24 + .byte N12 , En5 + .byte W12 + .byte N06 , En4 + .byte W12 + .byte N12 , Gn4 + .byte W12 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte An4 + .byte W12 + .byte N12 , Cn5 + .byte W12 + .byte N06 , As4 + .byte W12 + .byte N03 , An4 + .byte W03 + .byte As4 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte Fs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte As3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N24 , As4 + .byte W24 + .byte N12 , Dn5 + .byte W12 + .byte N06 , Fn4 + .byte W12 + .byte As4 + .byte W12 + .byte N12 , Gn4 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte N24 , Gn4 + .byte W24 + .byte N12 , As4 + .byte W12 + .byte En4 + .byte W12 + .byte N06 , Cs4 + .byte W12 + .byte En4 + .byte W12 + .byte As3 + .byte W12 + .byte Cs4 + .byte W12 + .byte N12 , En4 + .byte W24 + .byte Gn4 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte N12 , As4 + .byte W12 + .byte An4 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N12 , As4 + .byte W12 + .byte N06 , An4 + .byte W12 + .byte As4 + .byte W12 + .byte N03 , An4 + .byte W03 + .byte As4 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte Gn4 + .byte W12 + .byte GOTO + .word mus_rg_nana123_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_nana123_2: + .byte KEYSH , mus_rg_nana123_key+0 + .byte VOICE , 24 + .byte PAN , c_v+0 + .byte VOL , 60*mus_rg_nana123_mvl/mxv + .byte MOD , 0 + .byte LFOS , 44 + .byte BENDR , 12 + .byte W12 + .byte N06 , An4 , v120 + .byte W06 + .byte As4 + .byte W06 +mus_rg_nana123_2_B1: + .byte VOICE , 24 + .byte VOL , 60*mus_rg_nana123_mvl/mxv + .byte N24 , Cn5 , v127 + .byte W24 + .byte As4 + .byte W24 + .byte N60 , An4 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte VOL , 52*mus_rg_nana123_mvl/mxv + .byte W12 + .byte W12 + .byte MOD , 0 + .byte VOL , 60*mus_rg_nana123_mvl/mxv + .byte N12 + .byte W12 + .byte As4 + .byte W12 + .byte N24 , Cn5 + .byte W24 + .byte N12 + .byte W12 + .byte As4 + .byte W12 + .byte An4 + .byte W12 + .byte As4 + .byte W12 + .byte N60 , Gn4 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte VOL , 56*mus_rg_nana123_mvl/mxv + .byte W24 + .byte VOICE , 1 + .byte VOL , 62*mus_rg_nana123_mvl/mxv + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Fn5 , v096 + .byte W12 + .byte N03 , Cn5 + .byte W06 + .byte N06 , Fn5 , v044 + .byte W06 + .byte PAN , c_v+0 + .byte N36 , En5 , v096 + .byte W36 + .byte N03 , Cn5 , v088 + .byte W06 + .byte N06 , En5 , v040 + .byte W06 + .byte N24 , Fn5 , v096 + .byte W24 + .byte Gn5 + .byte W24 + .byte VOICE , 24 + .byte PAN , c_v+0 + .byte VOL , 60*mus_rg_nana123_mvl/mxv + .byte N24 , As4 , v127 + .byte W24 + .byte An4 + .byte W24 + .byte N60 , Gn4 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte VOL , 52*mus_rg_nana123_mvl/mxv + .byte W12 + .byte W12 + .byte MOD , 0 + .byte VOL , 60*mus_rg_nana123_mvl/mxv + .byte N12 + .byte W12 + .byte An4 + .byte W12 + .byte N24 , As4 + .byte W24 + .byte N12 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte N36 , Fn4 + .byte W21 + .byte MOD , 5 + .byte W15 + .byte VOICE , 1 + .byte PAN , c_v+28 + .byte VOL , 78*mus_rg_nana123_mvl/mxv + .byte MOD , 0 + .byte N24 , Dn3 + .byte W24 + .byte En3 + .byte W24 + .byte N36 , Fn3 + .byte W36 + .byte Gn3 + .byte W36 + .byte N12 , An3 + .byte W12 + .byte VOICE , 17 + .byte PAN , c_v-2 + .byte VOL , 83*mus_rg_nana123_mvl/mxv + .byte N06 , An4 , v096 + .byte W06 + .byte As4 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte N03 , Fn4 + .byte W12 + .byte N12 , As4 + .byte W12 + .byte N03 , Gn4 + .byte W12 + .byte Gs4 + .byte W03 + .byte N09 , An4 + .byte W09 + .byte An4 , v092 + .byte W24 + .byte Cn4 , v096 + .byte W12 + .byte W12 + .byte N03 , Gs4 , v120 + .byte W03 + .byte N09 , An4 , v096 + .byte W09 + .byte N12 , As4 + .byte W12 + .byte Cn5 + .byte W24 + .byte N12 + .byte W12 + .byte N03 , As4 + .byte W03 + .byte Cn5 + .byte W03 + .byte N06 , As4 + .byte W06 + .byte N12 , An4 + .byte W12 + .byte As4 + .byte W12 + .byte Gn4 + .byte W44 + .byte W01 + .byte VOICE , 1 + .byte W03 + .byte PAN , c_v+0 + .byte VOL , 60*mus_rg_nana123_mvl/mxv + .byte N12 , Gn5 + .byte W12 + .byte Fn5 , v104 + .byte W12 + .byte N03 , Cn5 , v080 + .byte W06 + .byte N06 , Fn5 , v036 + .byte W06 + .byte PAN , c_v+0 + .byte VOL , 62*mus_rg_nana123_mvl/mxv + .byte N12 , En5 , v104 + .byte W12 + .byte N24 , Cn5 , v100 + .byte W24 + .byte N03 , Gn4 , v080 + .byte W06 + .byte N06 , Cn5 , v036 + .byte W06 + .byte N12 , Fn5 , v104 + .byte W12 + .byte N03 , Cn4 , v084 + .byte N03 , Cn5 + .byte W06 + .byte N06 , Fn5 , v036 + .byte W06 + .byte N12 , Gn5 , v104 + .byte W06 + .byte VOL , 56*mus_rg_nana123_mvl/mxv + .byte W06 + .byte VOICE , 17 + .byte PAN , c_v+0 + .byte VOL , 82*mus_rg_nana123_mvl/mxv + .byte N06 , Gn4 , v096 + .byte W06 + .byte An4 + .byte W06 + .byte VOICE , 17 + .byte PAN , c_v+0 + .byte VOL , 84*mus_rg_nana123_mvl/mxv + .byte N12 , As4 + .byte W12 + .byte N03 , En4 + .byte W12 + .byte N12 , An4 + .byte W12 + .byte N03 , Fn4 + .byte W12 + .byte Fs4 + .byte W03 + .byte N09 , Gn4 + .byte W09 + .byte N06 , Gn4 , v120 + .byte W24 + .byte Cn5 , v096 + .byte W12 + .byte W12 + .byte N12 , Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte As4 + .byte W24 + .byte N12 + .byte W12 + .byte N03 , An4 + .byte W03 + .byte As4 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte N12 , Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Fn4 + .byte W84 + .byte VOICE , 48 + .byte PAN , c_v+22 + .byte VOL , 63*mus_rg_nana123_mvl/mxv + .byte N12 , Fn3 + .byte W12 + .byte N06 , Cn3 + .byte W12 + .byte N12 , Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N06 , Cn3 , v120 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte N06 , An3 , v096 + .byte W06 + .byte As3 , v120 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte PAN , c_v-7 + .byte VOL , 74*mus_rg_nana123_mvl/mxv + .byte N72 , Dn4 , v108 + .byte W12 + .byte VOL , 63*mus_rg_nana123_mvl/mxv + .byte W48 + .byte 52*mus_rg_nana123_mvl/mxv + .byte W12 + .byte 74*mus_rg_nana123_mvl/mxv + .byte N24 , As3 + .byte W24 + .byte N48 , Fn4 + .byte W12 + .byte VOL , 63*mus_rg_nana123_mvl/mxv + .byte W36 + .byte 74*mus_rg_nana123_mvl/mxv + .byte N12 , Gn4 + .byte W12 + .byte N06 , Fn4 + .byte W12 + .byte N03 , En4 + .byte W03 + .byte Fn4 + .byte W03 + .byte N06 , En4 + .byte W06 + .byte N12 , Dn4 + .byte W12 + .byte N66 , Cn4 + .byte W12 + .byte VOL , 63*mus_rg_nana123_mvl/mxv + .byte W36 + .byte 52*mus_rg_nana123_mvl/mxv + .byte W18 + .byte 74*mus_rg_nana123_mvl/mxv + .byte N03 , Bn3 , v088 + .byte W03 + .byte As3 , v092 + .byte W03 + .byte N24 , An3 , v108 + .byte W24 + .byte N96 , Cn4 + .byte W12 + .byte VOL , 63*mus_rg_nana123_mvl/mxv + .byte W60 + .byte 52*mus_rg_nana123_mvl/mxv + .byte W24 + .byte 74*mus_rg_nana123_mvl/mxv + .byte N48 , Gn3 + .byte W12 + .byte VOL , 63*mus_rg_nana123_mvl/mxv + .byte W36 + .byte 74*mus_rg_nana123_mvl/mxv + .byte W12 + .byte N12 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte As3 + .byte W24 + .byte An3 + .byte W24 + .byte Gn3 + .byte W24 + .byte N66 , An3 + .byte W12 + .byte VOL , 63*mus_rg_nana123_mvl/mxv + .byte W36 + .byte 52*mus_rg_nana123_mvl/mxv + .byte W18 + .byte 74*mus_rg_nana123_mvl/mxv + .byte N03 , Gs3 , v092 + .byte W03 + .byte Gn3 + .byte W03 + .byte N24 , Fs3 , v108 + .byte W24 + .byte N90 , Cn4 + .byte W12 + .byte VOL , 63*mus_rg_nana123_mvl/mxv + .byte W60 + .byte 52*mus_rg_nana123_mvl/mxv + .byte W18 + .byte 74*mus_rg_nana123_mvl/mxv + .byte N03 , Fn4 , v052 + .byte W03 + .byte Ds4 + .byte W03 + .byte N72 , Dn4 , v108 + .byte W12 + .byte VOL , 63*mus_rg_nana123_mvl/mxv + .byte W48 + .byte 52*mus_rg_nana123_mvl/mxv + .byte W12 + .byte 74*mus_rg_nana123_mvl/mxv + .byte N12 , En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N06 , As3 , v084 + .byte W12 + .byte N12 , Fn4 , v108 + .byte W12 + .byte N06 , As3 , v084 + .byte W12 + .byte N12 , En4 , v108 + .byte W12 + .byte N06 , As3 , v084 + .byte W12 + .byte N12 , Dn4 , v108 + .byte W12 + .byte N06 , As3 , v084 + .byte W12 + .byte N72 , Cn4 , v108 + .byte W12 + .byte VOL , 63*mus_rg_nana123_mvl/mxv + .byte W48 + .byte 52*mus_rg_nana123_mvl/mxv + .byte W12 + .byte 74*mus_rg_nana123_mvl/mxv + .byte N12 , Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte Cn4 + .byte W24 + .byte As3 + .byte W24 + .byte An3 + .byte W24 + .byte N72 , As3 + .byte W12 + .byte VOL , 63*mus_rg_nana123_mvl/mxv + .byte W48 + .byte 52*mus_rg_nana123_mvl/mxv + .byte W12 + .byte 74*mus_rg_nana123_mvl/mxv + .byte N12 , Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte N24 + .byte W24 + .byte Cn4 + .byte W24 + .byte As3 + .byte W24 + .byte Gn3 + .byte W24 + .byte N48 , As3 + .byte W12 + .byte VOL , 63*mus_rg_nana123_mvl/mxv + .byte W36 + .byte 74*mus_rg_nana123_mvl/mxv + .byte N48 , Cs4 + .byte W12 + .byte VOL , 63*mus_rg_nana123_mvl/mxv + .byte W36 + .byte 74*mus_rg_nana123_mvl/mxv + .byte N84 , Cn4 + .byte W12 + .byte VOL , 63*mus_rg_nana123_mvl/mxv + .byte W48 + .byte 52*mus_rg_nana123_mvl/mxv + .byte W24 + .byte VOICE , 24 + .byte VOL , 78*mus_rg_nana123_mvl/mxv + .byte W09 + .byte N03 , As4 + .byte W03 + .byte GOTO + .word mus_rg_nana123_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_nana123_3: + .byte KEYSH , mus_rg_nana123_key+0 + .byte VOICE , 4 + .byte PAN , c_v+38 + .byte VOL , 31*mus_rg_nana123_mvl/mxv + .byte W24 +mus_rg_nana123_3_B1: + .byte VOICE , 4 + .byte PAN , c_v+38 + .byte VOL , 31*mus_rg_nana123_mvl/mxv + .byte W12 + .byte N09 , Fn3 , v127 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W24 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn3 , v120 + .byte W12 + .byte Gn3 , v127 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W24 + .byte N09 + .byte W12 + .byte N03 , An3 + .byte W03 + .byte As3 , v120 + .byte W03 + .byte N06 , An3 + .byte W06 + .byte N09 , Gn3 , v127 + .byte W12 + .byte Cn4 , v120 + .byte W12 + .byte Gn3 , v127 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W24 + .byte N09 + .byte W12 + .byte N03 , An3 + .byte W03 + .byte As3 , v120 + .byte W03 + .byte N06 , An3 + .byte W06 + .byte N09 , Gn3 , v127 + .byte W12 + .byte En3 + .byte W12 + .byte N09 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W24 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 , v120 + .byte W12 + .byte En3 , v127 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 , v120 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 , v127 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W24 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W24 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W24 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn4 , v120 + .byte W12 + .byte Fn3 , v127 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W24 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Dn4 , v120 + .byte W12 + .byte As3 , v127 + .byte W12 + .byte N03 , An3 + .byte W03 + .byte As3 , v120 + .byte W03 + .byte N06 , An3 + .byte W06 + .byte N09 , Gn3 , v127 + .byte W12 + .byte W12 + .byte N09 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 , v120 + .byte W12 + .byte As3 , v127 + .byte W12 + .byte An3 , v120 + .byte W12 + .byte Gn3 , v127 + .byte W12 + .byte En3 + .byte W12 + .byte N09 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte En4 , v120 + .byte W12 + .byte En3 , v127 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 , v120 + .byte W12 + .byte En3 , v127 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 , v120 + .byte W12 + .byte As3 , v127 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte VOICE , 83 + .byte PAN , c_v-13 + .byte VOL , 82*mus_rg_nana123_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_nana123_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_nana123_4: + .byte KEYSH , mus_rg_nana123_key+0 + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 58*mus_rg_nana123_mvl/mxv + .byte W12 + .byte N12 , En1 , v120 + .byte W12 +mus_rg_nana123_4_B1: +mus_rg_nana123_4_000: + .byte N24 , Fn1 , v120 + .byte W36 + .byte N03 + .byte W48 + .byte N12 , En1 + .byte W12 + .byte PEND + .byte N24 , Fn1 + .byte W36 + .byte N03 + .byte W24 + .byte Cn2 + .byte W12 + .byte N12 , Fn2 + .byte W12 + .byte An1 + .byte W12 +mus_rg_nana123_4_001: + .byte N24 , As1 , v120 + .byte W36 + .byte N03 , Gn1 + .byte W24 + .byte En1 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte N03 , Cs2 + .byte W12 + .byte PEND + .byte N24 , Cn2 + .byte W36 + .byte N06 , Gn1 + .byte W24 + .byte N12 , Fn1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 +mus_rg_nana123_4_002: + .byte N24 , Gn1 , v120 + .byte W36 + .byte N03 + .byte W24 + .byte Cn1 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte PEND + .byte Gn1 + .byte W36 + .byte N03 , En1 + .byte W24 + .byte N12 , Cn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N03 , En2 + .byte W12 + .byte N24 , Fn2 + .byte W36 + .byte N03 , Fn1 + .byte W48 + .byte N12 , Cn1 + .byte W12 + .byte N24 , Fn1 + .byte W36 + .byte N03 + .byte W24 + .byte Cn2 + .byte W12 + .byte N12 , Fn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte PATT + .word mus_rg_nana123_4_000 + .byte N24 , Fn1 , v120 + .byte W36 + .byte N03 + .byte W24 + .byte Cn2 + .byte W12 + .byte N12 , Fn2 + .byte W12 + .byte N03 , An1 + .byte W12 + .byte PATT + .word mus_rg_nana123_4_001 + .byte N24 , Cn2 , v120 + .byte W36 + .byte N03 , En1 + .byte W24 + .byte N12 , Fn1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PATT + .word mus_rg_nana123_4_002 + .byte N24 , Gn1 , v120 + .byte W36 + .byte N03 , En1 + .byte W24 + .byte N12 , Cn1 + .byte W12 + .byte N03 , Cn2 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N24 , Fn1 + .byte W36 + .byte N03 + .byte W48 + .byte N12 , Cn1 + .byte W12 + .byte N24 , Fn2 + .byte W36 + .byte N03 , Cn2 + .byte W24 + .byte N12 , Fn1 + .byte W12 + .byte An1 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v+5 + .byte VOL , 58*mus_rg_nana123_mvl/mxv + .byte N24 , As1 + .byte W36 + .byte N03 + .byte W36 + .byte Fn2 + .byte W12 + .byte N12 , An1 + .byte W12 + .byte N24 , As1 + .byte W36 + .byte N03 , Gn1 + .byte W12 + .byte En2 + .byte W12 + .byte N24 + .byte W24 + .byte N03 , Dn2 + .byte W12 + .byte N24 , An1 + .byte W36 + .byte N03 , En1 + .byte W12 + .byte An1 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N03 , Cs2 + .byte W12 + .byte N24 , Dn2 + .byte W36 + .byte N03 , Cn2 + .byte W12 + .byte As1 + .byte W12 + .byte N24 , An1 + .byte W24 + .byte N12 , Fs1 + .byte W12 + .byte N24 , Gn1 + .byte W36 + .byte N03 , Dn1 + .byte W12 + .byte As1 + .byte W12 + .byte N24 , Dn2 + .byte W24 + .byte N03 , Cs2 + .byte W12 + .byte N24 , Cn2 + .byte W36 + .byte N03 , Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N24 , En2 + .byte W24 + .byte N12 , Ds2 + .byte W12 + .byte N24 , Dn2 + .byte W36 + .byte N03 , Fs1 + .byte W12 + .byte An1 + .byte W12 + .byte N24 , Dn2 + .byte W24 + .byte N03 , An1 + .byte W12 + .byte N24 , Fs1 + .byte W24 + .byte Ds1 + .byte W24 + .byte Cn2 + .byte W24 + .byte N12 , As1 + .byte W12 + .byte An1 + .byte W12 + .byte N24 , As1 + .byte W36 + .byte N03 + .byte W12 + .byte Fn1 + .byte W12 + .byte N24 + .byte W24 + .byte N03 , An1 + .byte W12 + .byte N24 , As1 + .byte W36 + .byte N03 + .byte W24 + .byte N12 , Gn1 + .byte W12 + .byte N03 , En2 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N24 , An1 + .byte W36 + .byte N03 + .byte W12 + .byte N24 , En1 + .byte W36 + .byte N03 + .byte W12 + .byte N24 , Dn1 + .byte W36 + .byte N03 + .byte W12 + .byte Fs1 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N03 , Bn1 + .byte W12 + .byte N24 , As1 + .byte W36 + .byte N03 + .byte W12 + .byte N24 , Fn1 + .byte W36 + .byte N03 + .byte W12 + .byte N24 , En1 + .byte W36 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N24 , Cs1 + .byte W24 + .byte N03 , Gn1 + .byte W12 + .byte N24 , En1 + .byte W36 + .byte N03 + .byte W12 + .byte Gn1 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N03 , As1 + .byte W12 + .byte N24 , An1 + .byte W36 + .byte N03 + .byte W12 + .byte Fn1 + .byte W12 + .byte N24 + .byte W36 + .byte GOTO + .word mus_rg_nana123_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_nana123_5: + .byte KEYSH , mus_rg_nana123_key+0 + .byte VOICE , 24 + .byte VOL , 84*mus_rg_nana123_mvl/mxv + .byte PAN , c_v-16 + .byte MOD , 0 + .byte LFOS , 44 + .byte BENDR , 12 + .byte W24 +mus_rg_nana123_5_B1: + .byte VOICE , 24 + .byte VOL , 57*mus_rg_nana123_mvl/mxv + .byte PAN , c_v-23 + .byte N12 , An4 , v120 + .byte W12 + .byte N06 , Cn4 , v056 + .byte W12 + .byte N12 , Gn4 , v120 + .byte W12 + .byte N06 , Cn4 , v056 + .byte W12 + .byte N12 , Fn4 , v120 + .byte W12 + .byte N09 , Cn4 , v060 + .byte W12 + .byte PAN , c_v+30 + .byte N12 , Fn4 , v064 + .byte W12 + .byte N06 , Cn4 , v052 + .byte W12 + .byte Fn4 , v040 + .byte W12 + .byte N12 , Fn4 , v120 + .byte W12 + .byte PAN , c_v-22 + .byte N12 , Gn4 + .byte W12 + .byte N24 , An4 + .byte W24 + .byte N12 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N60 , En4 + .byte W36 + .byte MOD , 5 + .byte W24 + .byte VOICE , 1 + .byte MOD , 0 + .byte N12 , Fn4 , v127 + .byte W12 + .byte N03 , Cn4 , v100 + .byte W06 + .byte N06 , Fn4 , v044 + .byte W06 + .byte N36 , En4 , v127 + .byte W36 + .byte N03 , Cn4 , v088 + .byte W06 + .byte N06 , En4 , v040 + .byte W06 + .byte N24 , Fn4 , v127 + .byte W24 + .byte Gn4 + .byte W24 + .byte VOICE , 24 + .byte N12 , Gn4 , v120 + .byte W12 + .byte N03 , Cn4 , v072 + .byte W12 + .byte N12 , Fn4 , v120 + .byte W12 + .byte N03 , Cn4 , v076 + .byte W12 + .byte N12 , En4 , v120 + .byte W12 + .byte N03 , Cn4 , v072 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En4 , v064 + .byte W12 + .byte N03 , Cn4 , v056 + .byte W12 + .byte PAN , c_v-22 + .byte N12 , Cn5 , v088 + .byte W12 + .byte N03 , Cn4 , v064 + .byte N12 , En4 , v120 + .byte W12 + .byte Fn4 + .byte W12 + .byte N24 , Gn4 + .byte W24 + .byte N12 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N36 , Cn4 + .byte W21 + .byte MOD , 5 + .byte W15 + .byte VOICE , 1 + .byte VOL , 81*mus_rg_nana123_mvl/mxv + .byte MOD , 0 + .byte N24 , An2 , v127 + .byte W24 + .byte As2 + .byte W24 + .byte N36 , Cn3 + .byte W36 + .byte En3 + .byte W36 + .byte N12 , Fn3 + .byte W12 + .byte VOICE , 17 + .byte VOL , 63*mus_rg_nana123_mvl/mxv + .byte N06 , Cn4 , v096 + .byte W06 + .byte En4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte N03 , Cn4 , v064 + .byte W12 + .byte N12 , Dn4 , v096 + .byte W12 + .byte N03 , Cn4 , v064 + .byte W12 + .byte Bn3 + .byte W03 + .byte N09 , Cn4 , v096 + .byte W09 + .byte N09 + .byte W24 + .byte Fn3 + .byte W12 + .byte W12 + .byte N03 , Bn3 + .byte W03 + .byte N09 , Cn4 + .byte W09 + .byte N12 , Dn4 + .byte W12 + .byte Fn4 + .byte W24 + .byte N12 + .byte W12 + .byte N03 , Dn4 + .byte W03 + .byte Fn4 + .byte W03 + .byte N06 , Dn4 + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte As3 + .byte W48 + .byte VOICE , 1 + .byte VOL , 56*mus_rg_nana123_mvl/mxv + .byte N12 , Gn4 , v100 + .byte W12 + .byte Fn4 , v096 + .byte W12 + .byte N03 , Cn4 , v080 + .byte W06 + .byte N06 , Fn4 , v036 + .byte W06 + .byte N12 , En4 , v108 + .byte W12 + .byte N24 , Cn4 , v096 + .byte W24 + .byte N03 , Gn3 , v080 + .byte W06 + .byte N06 , Cn4 , v036 + .byte W06 + .byte N12 , Fn4 , v108 + .byte W18 + .byte N06 , Fn4 , v036 + .byte W06 + .byte N12 , Gn4 , v108 + .byte W06 + .byte VOL , 50*mus_rg_nana123_mvl/mxv + .byte W06 + .byte 63*mus_rg_nana123_mvl/mxv + .byte W03 + .byte VOICE , 17 + .byte N06 , Cn4 , v096 + .byte W03 + .byte Dn4 + .byte W06 + .byte VOL , 63*mus_rg_nana123_mvl/mxv + .byte N12 , En4 + .byte W12 + .byte N03 , As3 , v064 + .byte W12 + .byte N12 , Dn4 , v096 + .byte W12 + .byte N03 , As3 , v072 + .byte W12 + .byte Bn3 + .byte W03 + .byte N09 , Cn4 , v096 + .byte W09 + .byte N06 + .byte W24 + .byte Gn4 , v080 + .byte W12 + .byte W12 + .byte N12 , Cn4 , v092 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W24 + .byte N12 + .byte W12 + .byte N03 , Dn4 , v064 + .byte W03 + .byte En4 + .byte W03 + .byte N06 , Dn4 , v092 + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cn4 + .byte W84 + .byte VOICE , 48 + .byte VOL , 54*mus_rg_nana123_mvl/mxv + .byte N36 , An2 , v096 + .byte W36 + .byte As2 + .byte W36 + .byte N06 , Cn3 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cs3 , v120 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte VOL , 38*mus_rg_nana123_mvl/mxv + .byte PAN , c_v+23 + .byte N72 , As2 + .byte W72 + .byte N24 , Fn2 + .byte W24 + .byte N48 , Dn2 + .byte W48 + .byte N12 , Dn3 + .byte W12 + .byte N06 , As2 + .byte W12 + .byte N03 , An2 + .byte W03 + .byte As2 + .byte W03 + .byte N06 , An2 + .byte W06 + .byte N12 , Gn2 + .byte W12 + .byte N36 , En2 + .byte W36 + .byte N03 , Cn2 + .byte W12 + .byte N18 , En2 + .byte W18 + .byte N03 , Fn2 + .byte W03 + .byte Fs2 + .byte W03 + .byte N24 , Gn2 + .byte W24 + .byte N48 , Fs2 + .byte W48 + .byte N12 , As2 + .byte W12 + .byte An2 + .byte W12 + .byte N03 , Fs2 + .byte W03 + .byte Gn2 + .byte W03 + .byte N06 , Fs2 + .byte W06 + .byte N12 , Ds2 + .byte W12 + .byte N36 , Dn2 + .byte W36 + .byte N12 , As1 + .byte W12 + .byte N24 , Dn2 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte N24 , En2 + .byte W24 + .byte Cn2 + .byte W24 + .byte An1 + .byte W24 + .byte N12 , Cn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte N36 , Dn2 + .byte W36 + .byte N12 , An1 + .byte W12 + .byte N48 , Dn2 + .byte W48 + .byte N24 , Fs1 + .byte W24 + .byte An1 + .byte W24 + .byte Cn2 + .byte W24 + .byte Ds2 + .byte W24 + .byte VOL , 42*mus_rg_nana123_mvl/mxv + .byte N72 , Fn2 + .byte W72 + .byte N12 , Gn2 + .byte W12 + .byte An2 + .byte W12 + .byte N24 , As2 + .byte W24 + .byte Cn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N36 , Cn3 + .byte W36 + .byte N12 , En2 + .byte W12 + .byte An2 + .byte W09 + .byte N24 , En3 + .byte W24 + .byte W03 + .byte N06 , Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte N24 , Fs2 + .byte W24 + .byte An2 + .byte W24 + .byte Cn3 + .byte W24 + .byte N12 , As2 + .byte W12 + .byte An2 + .byte W12 + .byte N36 , As2 + .byte W36 + .byte N06 , Dn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte N24 , Dn3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte N24 , As2 + .byte W24 + .byte Cn3 + .byte W24 + .byte Cs3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N24 , Cs3 + .byte W24 + .byte N12 , As2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Gn2 + .byte W12 + .byte N06 , En2 + .byte W12 + .byte N12 , Cn3 + .byte W12 + .byte En3 + .byte W12 + .byte N36 , Fn3 + .byte W36 + .byte N12 , Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N36 , Gn3 + .byte W12 + .byte VOL , 31*mus_rg_nana123_mvl/mxv + .byte W06 + .byte 27*mus_rg_nana123_mvl/mxv + .byte W06 + .byte 20*mus_rg_nana123_mvl/mxv + .byte W12 + .byte GOTO + .word mus_rg_nana123_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_nana123_6: + .byte KEYSH , mus_rg_nana123_key+0 + .byte VOICE , 92 + .byte LFOS , 50 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 37*mus_rg_nana123_mvl/mxv + .byte BEND , c_v+1 + .byte W24 +mus_rg_nana123_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte N06 , An4 , v096 + .byte W06 + .byte As4 , v120 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte N72 , Dn5 , v108 + .byte W12 + .byte VOL , 31*mus_rg_nana123_mvl/mxv + .byte MOD , 4 + .byte W36 + .byte VOL , 21*mus_rg_nana123_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nana123_mvl/mxv + .byte N24 , As4 + .byte W24 + .byte N48 , Fn5 + .byte W12 + .byte VOL , 31*mus_rg_nana123_mvl/mxv + .byte MOD , 4 + .byte W36 + .byte 0 + .byte VOL , 36*mus_rg_nana123_mvl/mxv + .byte N12 , Gn5 + .byte W12 + .byte N06 , Fn5 + .byte W12 + .byte N03 , En5 + .byte W03 + .byte Fn5 + .byte W03 + .byte N06 , En5 + .byte W06 + .byte N12 , Dn5 + .byte W12 + .byte N66 , Cn5 + .byte W12 + .byte VOL , 31*mus_rg_nana123_mvl/mxv + .byte MOD , 4 + .byte W36 + .byte VOL , 21*mus_rg_nana123_mvl/mxv + .byte W18 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nana123_mvl/mxv + .byte N03 , Bn4 , v088 + .byte W03 + .byte As4 , v092 + .byte W03 + .byte N24 , An4 , v108 + .byte W24 + .byte N96 , Cn5 + .byte W12 + .byte VOL , 31*mus_rg_nana123_mvl/mxv + .byte W03 + .byte MOD , 4 + .byte W56 + .byte W01 + .byte VOL , 21*mus_rg_nana123_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nana123_mvl/mxv + .byte N48 , Gn4 + .byte W12 + .byte VOL , 31*mus_rg_nana123_mvl/mxv + .byte MOD , 4 + .byte W36 + .byte 0 + .byte VOL , 36*mus_rg_nana123_mvl/mxv + .byte W12 + .byte N12 + .byte W12 + .byte An4 + .byte W12 + .byte As4 + .byte W12 + .byte N24 , Cn5 + .byte W24 + .byte As4 + .byte W24 + .byte An4 + .byte W24 + .byte Gn4 + .byte W24 + .byte N66 , An4 + .byte W12 + .byte VOL , 31*mus_rg_nana123_mvl/mxv + .byte MOD , 4 + .byte W36 + .byte VOL , 21*mus_rg_nana123_mvl/mxv + .byte W18 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nana123_mvl/mxv + .byte N03 , Gs4 , v092 + .byte W03 + .byte Gn4 + .byte W03 + .byte N24 , Fs4 , v108 + .byte W24 + .byte MOD , 4 + .byte N90 , Cn5 + .byte W12 + .byte VOL , 31*mus_rg_nana123_mvl/mxv + .byte W48 + .byte 21*mus_rg_nana123_mvl/mxv + .byte W30 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nana123_mvl/mxv + .byte N03 , Fn5 , v052 + .byte W03 + .byte Ds5 + .byte W03 + .byte N72 , Dn5 , v108 + .byte W12 + .byte VOL , 31*mus_rg_nana123_mvl/mxv + .byte MOD , 4 + .byte W36 + .byte VOL , 21*mus_rg_nana123_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nana123_mvl/mxv + .byte N12 , En5 + .byte W12 + .byte Fn5 + .byte W12 + .byte Gn5 + .byte W12 + .byte N06 , As4 , v084 + .byte W12 + .byte N12 , Fn5 , v108 + .byte W12 + .byte N06 , As4 , v080 + .byte W12 + .byte N12 , En5 , v108 + .byte W12 + .byte N06 , As4 , v084 + .byte W12 + .byte N12 , Dn5 , v096 + .byte W12 + .byte N06 , As4 , v072 + .byte W12 + .byte N72 , Cn5 , v108 + .byte W12 + .byte VOL , 31*mus_rg_nana123_mvl/mxv + .byte MOD , 4 + .byte W36 + .byte VOL , 21*mus_rg_nana123_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nana123_mvl/mxv + .byte N12 , Dn5 + .byte W12 + .byte En5 + .byte W12 + .byte N24 , Dn5 + .byte W24 + .byte Cn5 + .byte W24 + .byte As4 + .byte W24 + .byte An4 + .byte W24 + .byte N72 , As4 + .byte W12 + .byte VOL , 31*mus_rg_nana123_mvl/mxv + .byte MOD , 4 + .byte W36 + .byte VOL , 21*mus_rg_nana123_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nana123_mvl/mxv + .byte N12 , Cn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte N24 + .byte W24 + .byte Cn5 + .byte W24 + .byte As4 + .byte W24 + .byte Gn4 + .byte W24 + .byte N48 , As4 + .byte W12 + .byte VOL , 31*mus_rg_nana123_mvl/mxv + .byte MOD , 4 + .byte W24 + .byte W03 + .byte VOL , 21*mus_rg_nana123_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nana123_mvl/mxv + .byte N48 , Cs5 + .byte W12 + .byte VOL , 31*mus_rg_nana123_mvl/mxv + .byte W03 + .byte MOD , 4 + .byte W24 + .byte VOL , 21*mus_rg_nana123_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nana123_mvl/mxv + .byte N84 , Cn5 + .byte W12 + .byte VOL , 31*mus_rg_nana123_mvl/mxv + .byte MOD , 4 + .byte W36 + .byte VOL , 21*mus_rg_nana123_mvl/mxv + .byte W24 + .byte 10*mus_rg_nana123_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nana123_mvl/mxv + .byte W12 + .byte GOTO + .word mus_rg_nana123_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_nana123_7: + .byte KEYSH , mus_rg_nana123_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 82*mus_rg_nana123_mvl/mxv + .byte N06 , Cn1 , v120 + .byte W12 + .byte N12 , En1 + .byte W12 +mus_rg_nana123_7_B1: + .byte VOL , 67*mus_rg_nana123_mvl/mxv + .byte N06 , Cn1 , v120 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W12 +mus_rg_nana123_7_000: + .byte N06 , Cn1 , v120 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nana123_7_000 +mus_rg_nana123_7_001: + .byte N06 , Cn1 , v120 + .byte W36 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nana123_7_000 + .byte PATT + .word mus_rg_nana123_7_000 + .byte PATT + .word mus_rg_nana123_7_000 + .byte N06 , Cn1 , v120 + .byte W36 + .byte N06 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte PATT + .word mus_rg_nana123_7_000 + .byte PATT + .word mus_rg_nana123_7_000 + .byte PATT + .word mus_rg_nana123_7_000 + .byte PATT + .word mus_rg_nana123_7_001 + .byte PATT + .word mus_rg_nana123_7_000 + .byte PATT + .word mus_rg_nana123_7_000 + .byte PATT + .word mus_rg_nana123_7_000 + .byte N06 , Cn1 , v120 + .byte W36 + .byte N06 + .byte W12 + .byte Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N06 , Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte Gn1 + .byte W12 +mus_rg_nana123_7_002: + .byte N06 , Cn1 , v120 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W24 + .byte N12 , En1 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_nana123_7_002 + .byte PATT + .word mus_rg_nana123_7_002 + .byte N06 , Cn1 , v120 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W10 + .byte N01 , En1 , v096 + .byte W02 + .byte N09 , En1 , v120 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Fn1 , v104 + .byte W12 + .byte PATT + .word mus_rg_nana123_7_002 + .byte PATT + .word mus_rg_nana123_7_002 + .byte PATT + .word mus_rg_nana123_7_002 + .byte N06 , Cn1 , v120 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W10 + .byte N01 , En1 , v096 + .byte W02 + .byte N09 , En1 , v120 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte N06 , Gn1 + .byte W12 + .byte Cn1 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte PATT + .word mus_rg_nana123_7_002 + .byte N06 , Cn1 , v120 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W10 + .byte N01 , En1 , v096 + .byte W02 + .byte N09 , En1 , v120 + .byte W12 + .byte N12 + .byte W24 + .byte PATT + .word mus_rg_nana123_7_002 + .byte N06 , Cn1 , v120 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , En1 + .byte W24 + .byte PATT + .word mus_rg_nana123_7_002 + .byte N06 , Cn1 , v120 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W10 + .byte N01 , En1 , v096 + .byte W02 + .byte N09 , En1 , v120 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte N06 , Fn1 + .byte W12 + .byte GOTO + .word mus_rg_nana123_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_nana123_8: + .byte KEYSH , mus_rg_nana123_key+0 + .byte VOICE , 127 + .byte PAN , c_v+0 + .byte VOL , 31*mus_rg_nana123_mvl/mxv + .byte N01 , Cn5 , v080 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W18 +mus_rg_nana123_8_B1: +mus_rg_nana123_8_000: + .byte N01 , Cn5 , v120 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte N01 + .byte W24 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nana123_8_000 + .byte PATT + .word mus_rg_nana123_8_000 + .byte PATT + .word mus_rg_nana123_8_000 + .byte PATT + .word mus_rg_nana123_8_000 + .byte PATT + .word mus_rg_nana123_8_000 + .byte PATT + .word mus_rg_nana123_8_000 + .byte PATT + .word mus_rg_nana123_8_000 + .byte PATT + .word mus_rg_nana123_8_000 + .byte PATT + .word mus_rg_nana123_8_000 + .byte PATT + .word mus_rg_nana123_8_000 + .byte PATT + .word mus_rg_nana123_8_000 + .byte PATT + .word mus_rg_nana123_8_000 + .byte PATT + .word mus_rg_nana123_8_000 + .byte PATT + .word mus_rg_nana123_8_000 + .byte PATT + .word mus_rg_nana123_8_000 +mus_rg_nana123_8_001: + .byte N01 , Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte PEND +mus_rg_nana123_8_002: + .byte N01 , Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v088 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_nana123_8_001 + .byte PATT + .word mus_rg_nana123_8_002 + .byte PATT + .word mus_rg_nana123_8_001 + .byte PATT + .word mus_rg_nana123_8_002 + .byte PATT + .word mus_rg_nana123_8_001 + .byte PATT + .word mus_rg_nana123_8_002 + .byte PATT + .word mus_rg_nana123_8_001 + .byte PATT + .word mus_rg_nana123_8_002 + .byte PATT + .word mus_rg_nana123_8_001 + .byte PATT + .word mus_rg_nana123_8_002 + .byte PATT + .word mus_rg_nana123_8_001 + .byte PATT + .word mus_rg_nana123_8_002 + .byte PATT + .word mus_rg_nana123_8_001 + .byte PATT + .word mus_rg_nana123_8_002 + .byte GOTO + .word mus_rg_nana123_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_nana123_9: + .byte KEYSH , mus_rg_nana123_key+0 + .byte VOICE , 126 + .byte PAN , c_v+0 + .byte VOL , 38*mus_rg_nana123_mvl/mxv + .byte W12 + .byte N12 , Gn5 , v080 + .byte W12 +mus_rg_nana123_9_B1: + .byte W60 + .byte N12 , Gn5 , v120 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W96 + .byte W84 + .byte Gn5 , v108 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte GOTO + .word mus_rg_nana123_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_nana123: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_nana123_pri @ Priority + .byte mus_rg_nana123_rev @ Reverb. + + .word mus_rg_nana123_grp + + .word mus_rg_nana123_1 + .word mus_rg_nana123_2 + .word mus_rg_nana123_3 + .word mus_rg_nana123_4 + .word mus_rg_nana123_5 + .word mus_rg_nana123_6 + .word mus_rg_nana123_7 + .word mus_rg_nana123_8 + .word mus_rg_nana123_9 + + .end diff --git a/sound/songs/mus_rg_nana45.s b/sound/songs/mus_rg_nana45.s new file mode 100644 index 0000000000..b86d5f80cb --- /dev/null +++ b/sound/songs/mus_rg_nana45.s @@ -0,0 +1,2887 @@ + .include "MPlayDef.s" + + .equ mus_rg_nana45_grp, voicegroup_86B384C + .equ mus_rg_nana45_pri, 0 + .equ mus_rg_nana45_rev, reverb_set+50 + .equ mus_rg_nana45_mvl, 127 + .equ mus_rg_nana45_key, 0 + .equ mus_rg_nana45_tbs, 1 + .equ mus_rg_nana45_exg, 0 + .equ mus_rg_nana45_cmp, 1 + + .section .rodata + .global mus_rg_nana45 + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_nana45_1: + .byte KEYSH , mus_rg_nana45_key+0 + .byte TEMPO , 120*mus_rg_nana45_tbs/2 + .byte VOICE , 81 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 84*mus_rg_nana45_mvl/mxv + .byte N06 , En1 , v080 + .byte W06 + .byte Gs1 + .byte W06 +mus_rg_nana45_1_000: + .byte N06 , An1 , v080 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , En1 + .byte W24 + .byte PEND + .byte N06 , An1 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , En2 + .byte W24 +mus_rg_nana45_1_B1: + .byte PATT + .word mus_rg_nana45_1_000 +mus_rg_nana45_1_001: + .byte N06 , Cs2 , v080 + .byte W36 + .byte N06 + .byte W12 + .byte Gs1 + .byte W12 + .byte N24 , Cs2 + .byte W24 + .byte N12 , Fn2 + .byte W12 + .byte PEND +mus_rg_nana45_1_002: + .byte N06 , Fs2 , v076 + .byte W12 + .byte An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte N24 , Fn2 + .byte W24 + .byte N06 , An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte N24 , En2 + .byte W12 + .byte PEND + .byte W12 + .byte N06 , Fs2 + .byte W12 + .byte En2 + .byte W12 + .byte N24 , Ds2 + .byte W24 + .byte N11 , Dn2 , v072 + .byte W12 + .byte An2 + .byte W12 + .byte N05 , Fs2 + .byte W12 +mus_rg_nana45_1_003: + .byte N06 , Dn2 , v080 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , An1 + .byte W24 + .byte PEND +mus_rg_nana45_1_004: + .byte N06 , Ds2 , v080 + .byte W36 + .byte N06 + .byte W24 + .byte N24 , An1 + .byte W24 + .byte N06 , Ds2 + .byte W12 + .byte PEND +mus_rg_nana45_1_005: + .byte N06 , En2 , v080 + .byte W36 + .byte N06 + .byte W12 + .byte Bn1 + .byte W12 + .byte N24 , An1 + .byte W24 + .byte N06 , En2 + .byte W12 + .byte PEND + .byte N06 + .byte W36 + .byte N06 + .byte W12 + .byte Gs1 + .byte W12 + .byte N24 , En2 + .byte W24 + .byte N12 , Bn1 + .byte W12 + .byte PATT + .word mus_rg_nana45_1_000 + .byte PATT + .word mus_rg_nana45_1_001 + .byte PATT + .word mus_rg_nana45_1_002 + .byte W12 + .byte N06 , Fs2 , v076 + .byte W12 + .byte En2 + .byte W12 + .byte N36 , Ds2 + .byte W60 + .byte PATT + .word mus_rg_nana45_1_003 + .byte PATT + .word mus_rg_nana45_1_004 + .byte PATT + .word mus_rg_nana45_1_005 + .byte N06 , En2 , v080 + .byte W36 + .byte N06 + .byte W12 + .byte Gs1 + .byte W12 + .byte N12 , En2 + .byte W24 + .byte Dn2 + .byte W12 + .byte N06 , Cs2 , v076 + .byte W12 + .byte N06 + .byte W12 + .byte Cs2 , v080 + .byte W12 + .byte Cs2 , v088 + .byte W12 + .byte Cs2 , v092 + .byte W12 + .byte Cs2 , v096 + .byte W12 + .byte Cs2 , v104 + .byte W12 + .byte N06 + .byte W12 + .byte Fs1 , v080 + .byte W12 + .byte An1 + .byte W12 + .byte N12 , Cs2 + .byte W12 + .byte N24 , Fn1 + .byte W24 + .byte N06 , An1 + .byte W24 + .byte Cs2 + .byte W12 + .byte Cs2 , v076 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Cs2 , v084 + .byte W12 + .byte Cs2 , v092 + .byte W12 + .byte Cs2 , v096 + .byte W12 + .byte Cs2 , v100 + .byte W12 + .byte Cs2 , v104 + .byte W12 + .byte N12 , Fs1 , v080 + .byte W12 + .byte N06 , Cs2 + .byte W12 + .byte Fs2 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte N06 , Bn1 + .byte W24 + .byte N12 , Ds2 + .byte W12 + .byte N06 , Dn1 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , An1 + .byte W24 + .byte N06 , Cs1 + .byte W06 + .byte Dn1 + .byte W06 + .byte Ds1 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , An1 + .byte W24 + .byte N06 , Dn1 + .byte W06 + .byte Ds1 + .byte W06 + .byte En1 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , Bn1 + .byte W24 + .byte N06 , Dn1 + .byte W06 + .byte Ds1 + .byte W06 + .byte En1 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , Bn1 + .byte W24 + .byte N06 , Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte GOTO + .word mus_rg_nana45_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_nana45_2: + .byte KEYSH , mus_rg_nana45_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+37 + .byte VOL , 64*mus_rg_nana45_mvl/mxv + .byte W12 + .byte N06 , Cs3 , v080 + .byte W12 + .byte Cs3 , v048 + .byte W12 + .byte Cs3 , v032 + .byte W12 + .byte Cs3 , v080 + .byte W12 + .byte Cs3 , v044 + .byte W12 + .byte Cs3 , v032 + .byte W12 + .byte Cs3 , v020 + .byte W12 + .byte N06 + .byte W12 + .byte Cs3 , v080 + .byte W12 + .byte Cs3 , v048 + .byte W12 + .byte Cs3 , v032 + .byte W12 + .byte Cs3 , v080 + .byte W12 + .byte Cs3 , v048 + .byte W12 + .byte Cs3 , v032 + .byte W12 + .byte N23 , An3 , v072 + .byte W24 +mus_rg_nana45_2_B1: + .byte VOICE , 24 + .byte PAN , c_v+37 + .byte VOL , 64*mus_rg_nana45_mvl/mxv + .byte N06 , Bn3 , v080 + .byte W12 + .byte Bn3 , v044 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte An3 , v080 + .byte W12 + .byte An3 , v048 + .byte W12 + .byte An3 , v032 + .byte W12 + .byte Cs4 , v076 + .byte W12 + .byte Cs4 , v052 + .byte W12 + .byte Fs4 , v080 + .byte W12 + .byte Fs4 , v048 + .byte W12 + .byte Fs4 , v032 + .byte W12 + .byte En4 , v080 + .byte W12 + .byte En4 , v044 + .byte W12 + .byte En4 , v032 + .byte W12 + .byte Fn4 , v080 + .byte W12 + .byte Fn4 , v048 + .byte W12 + .byte Gs3 , v080 + .byte W12 + .byte Gs3 , v044 + .byte W12 + .byte Gs3 , v032 + .byte W12 + .byte An3 , v080 + .byte W12 + .byte An3 , v044 + .byte W12 + .byte An3 , v032 + .byte W12 + .byte An3 , v020 + .byte W12 + .byte N06 + .byte W12 + .byte Bn3 , v080 + .byte W12 + .byte Bn3 , v044 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte An3 , v080 + .byte W12 + .byte An3 , v048 + .byte W12 + .byte An3 , v032 + .byte W12 + .byte An3 , v080 + .byte W12 + .byte An3 , v048 + .byte W12 + .byte Cs4 , v084 + .byte W12 + .byte Cs4 , v048 + .byte W12 + .byte Cs4 , v032 + .byte W12 + .byte Dn4 , v080 + .byte W12 + .byte Dn4 , v048 + .byte W12 + .byte Dn4 , v032 + .byte W12 + .byte Dn4 , v020 + .byte W12 + .byte N06 + .byte W12 + .byte Cs4 , v080 + .byte W12 + .byte Cs4 , v048 + .byte W12 + .byte Cs4 , v032 + .byte W12 + .byte Bn3 , v080 + .byte W12 + .byte Bn3 , v048 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte An3 , v080 + .byte W12 + .byte An3 , v048 + .byte W12 + .byte Gs3 , v080 + .byte W12 + .byte Gs3 , v048 + .byte W12 + .byte Gs3 , v032 + .byte W12 + .byte Fs3 , v080 + .byte W12 + .byte Fs3 , v048 + .byte W12 + .byte Fs3 , v032 + .byte W12 + .byte An3 , v080 + .byte W12 + .byte An3 , v044 + .byte W12 + .byte N12 , En3 , v080 + .byte W12 + .byte N06 , Fs3 + .byte W24 + .byte N24 , Gs3 + .byte W24 + .byte N03 , Ds4 + .byte W03 + .byte N09 , En4 + .byte W09 + .byte N12 , Dn4 + .byte W12 + .byte N06 , Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cs4 , v052 + .byte W12 + .byte Cs4 , v032 + .byte W12 + .byte Bn3 , v080 + .byte W12 + .byte Bn3 , v052 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte Cs4 , v080 + .byte W12 + .byte Cs4 , v052 + .byte W12 + .byte Fs4 , v080 + .byte W12 + .byte Fs4 , v032 + .byte W12 + .byte N06 + .byte W12 + .byte Fn4 , v080 + .byte W12 + .byte Fn4 , v044 + .byte W12 + .byte Fn4 , v032 + .byte W12 + .byte Gs4 , v080 + .byte W12 + .byte Gs4 , v020 + .byte W12 + .byte Gs3 , v080 + .byte W12 + .byte Gs3 , v048 + .byte W12 + .byte Gs3 , v032 + .byte W12 + .byte An3 , v080 + .byte W12 + .byte An3 , v044 + .byte W12 + .byte An3 , v032 + .byte W12 + .byte An3 , v020 + .byte W12 + .byte N06 + .byte W12 + .byte Bn3 , v080 + .byte W12 + .byte Bn3 , v048 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte An3 , v080 + .byte W12 + .byte An3 , v044 + .byte W12 + .byte An3 , v032 + .byte W12 + .byte An3 , v020 + .byte W24 + .byte Cs4 , v080 + .byte W12 + .byte Cs4 , v044 + .byte W12 + .byte Cs4 , v032 + .byte W12 + .byte Dn4 , v080 + .byte W12 + .byte Dn4 , v048 + .byte W12 + .byte Dn4 , v032 + .byte W12 + .byte Dn4 , v020 + .byte W12 + .byte N06 + .byte W12 + .byte Cs4 , v080 + .byte W12 + .byte Cs4 , v044 + .byte W12 + .byte Cs4 , v032 + .byte W12 + .byte Bn3 , v080 + .byte W12 + .byte Bn3 , v044 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte Gs3 , v080 + .byte W12 + .byte Gs3 , v044 + .byte W12 + .byte Gs3 , v032 + .byte W12 + .byte Fs3 , v080 + .byte W12 + .byte Fs3 , v044 + .byte W12 + .byte Fs3 , v032 + .byte W12 + .byte An3 , v080 + .byte W12 + .byte An3 , v040 + .byte W12 + .byte VOICE , 17 + .byte PAN , c_v+16 + .byte VOL , 58*mus_rg_nana45_mvl/mxv + .byte N12 , Bn3 , v080 + .byte W12 + .byte Gs3 + .byte W21 + .byte N03 , Gn4 + .byte W03 + .byte N36 , Gs4 + .byte W36 + .byte N12 , Fs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte VOICE , 24 + .byte PAN , c_v+42 + .byte VOL , 64*mus_rg_nana45_mvl/mxv + .byte N06 , En4 , v084 + .byte W12 + .byte En4 , v044 + .byte W12 + .byte En4 , v080 + .byte W12 + .byte En4 , v060 + .byte W12 + .byte Fn4 , v092 + .byte W12 + .byte Fn4 , v064 + .byte W12 + .byte Fn4 , v100 + .byte W12 + .byte Fn4 , v076 + .byte W12 + .byte VOICE , 17 + .byte PAN , c_v+16 + .byte VOL , 56*mus_rg_nana45_mvl/mxv + .byte N12 , Fs4 , v064 + .byte W12 + .byte N06 , An4 , v080 + .byte W12 + .byte Gs4 + .byte W12 + .byte N24 , Fn4 + .byte W60 + .byte VOICE , 24 + .byte PAN , c_v+44 + .byte VOL , 64*mus_rg_nana45_mvl/mxv + .byte N06 , En4 + .byte W12 + .byte En4 , v044 + .byte W12 + .byte En4 , v088 + .byte W12 + .byte En4 , v052 + .byte W12 + .byte Fn4 , v096 + .byte W12 + .byte Fn4 , v064 + .byte W12 + .byte Fn4 , v108 + .byte W12 + .byte Fn4 , v080 + .byte W12 + .byte VOICE , 17 + .byte PAN , c_v+16 + .byte VOL , 60*mus_rg_nana45_mvl/mxv + .byte N03 , Gs4 + .byte W03 + .byte N09 , An4 + .byte W09 + .byte N06 , Cs5 + .byte W12 + .byte An4 + .byte W12 + .byte N12 , Ds4 + .byte W12 + .byte N06 , Fs4 + .byte W12 + .byte N24 , Ds4 + .byte W24 + .byte N06 , Fs4 + .byte W12 + .byte VOICE , 24 + .byte PAN , c_v+43 + .byte VOL , 64*mus_rg_nana45_mvl/mxv + .byte N12 , An4 + .byte W12 + .byte Fs4 + .byte W12 + .byte PAN , c_v-23 + .byte N12 , Dn4 + .byte W12 + .byte PAN , c_v-38 + .byte N24 , An3 + .byte W24 + .byte N12 , Dn4 + .byte W24 + .byte Fs4 + .byte W12 + .byte An4 + .byte W12 + .byte Fs4 + .byte W12 + .byte PAN , c_v+26 + .byte N12 , Ds4 + .byte W12 + .byte PAN , c_v+46 + .byte N24 , An3 + .byte W24 + .byte N12 , Ds4 + .byte W24 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte PAN , c_v+37 + .byte N12 , An4 + .byte W12 + .byte PAN , c_v+22 + .byte N12 , En4 + .byte W12 + .byte Bn3 + .byte W03 + .byte PAN , c_v-18 + .byte W09 + .byte c_v-33 + .byte N12 , An3 + .byte W09 + .byte PAN , c_v-46 + .byte W03 + .byte N12 , En3 + .byte W12 + .byte N11 , En4 + .byte W12 + .byte An3 + .byte W12 + .byte VOICE , 48 + .byte VOL , 23*mus_rg_nana45_mvl/mxv + .byte PAN , c_v+45 + .byte N84 , En4 , v056 + .byte W05 + .byte VOL , 26*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 27*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 29*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 31*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 31*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 35*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 37*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 39*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 41*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 42*mus_rg_nana45_mvl/mxv + .byte W01 + .byte PAN , c_v+36 + .byte W03 + .byte VOL , 46*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 47*mus_rg_nana45_mvl/mxv + .byte W01 + .byte PAN , c_v+32 + .byte W02 + .byte VOL , 48*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 52*mus_rg_nana45_mvl/mxv + .byte W01 + .byte PAN , c_v+18 + .byte W03 + .byte VOL , 54*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 58*mus_rg_nana45_mvl/mxv + .byte W01 + .byte PAN , c_v+7 + .byte W02 + .byte VOL , 60*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 61*mus_rg_nana45_mvl/mxv + .byte W01 + .byte PAN , c_v-10 + .byte W03 + .byte VOL , 64*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 69*mus_rg_nana45_mvl/mxv + .byte W01 + .byte PAN , c_v-24 + .byte W02 + .byte VOL , 72*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 74*mus_rg_nana45_mvl/mxv + .byte W01 + .byte PAN , c_v-37 + .byte W06 + .byte c_v-48 + .byte W21 + .byte GOTO + .word mus_rg_nana45_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_nana45_3: + .byte KEYSH , mus_rg_nana45_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+16 + .byte VOL , 84*mus_rg_nana45_mvl/mxv + .byte W06 + .byte N06 , As3 , v036 + .byte W06 + .byte Bn3 , v104 + .byte W12 + .byte Bn3 , v076 + .byte W12 + .byte Bn3 , v056 + .byte W12 + .byte An3 , v104 + .byte W12 + .byte An3 , v076 + .byte W12 + .byte An3 , v052 + .byte W12 + .byte An3 , v040 + .byte W12 + .byte An3 , v024 + .byte W12 + .byte Gs3 , v104 + .byte W12 + .byte Gs3 , v072 + .byte W12 + .byte Gs3 , v056 + .byte W12 + .byte An3 , v108 + .byte W12 + .byte An3 , v072 + .byte W12 + .byte An3 , v052 + .byte W12 + .byte N21 , Cs4 , v104 + .byte W21 + .byte VOICE , 17 + .byte N03 , Gs4 , v116 + .byte W03 +mus_rg_nana45_3_B1: + .byte VOL , 84*mus_rg_nana45_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v-10 + .byte N12 , An4 , v116 + .byte W12 + .byte N06 , En4 + .byte W12 + .byte Gs4 + .byte W12 + .byte N24 , An4 + .byte W24 + .byte Bn4 + .byte W24 + .byte N06 , Cs5 + .byte W09 + .byte N03 , Ds5 + .byte W03 + .byte N36 , En5 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N06 , Cs5 + .byte W24 + .byte N24 , Bn4 + .byte W24 + .byte N12 , Cs5 + .byte W12 + .byte TIE , An4 + .byte W56 + .byte W01 + .byte MOD , 5 + .byte W36 + .byte W03 +mus_rg_nana45_3_000: + .byte W12 + .byte VOL , 78*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 72*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 66*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 61*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 58*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 52*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 49*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 43*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 42*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 38*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 36*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 33*mus_rg_nana45_mvl/mxv + .byte W01 + .byte 31*mus_rg_nana45_mvl/mxv + .byte W03 + .byte PEND + .byte EOT , An4 + .byte MOD , 0 + .byte W24 + .byte VOICE , 24 + .byte VOL , 74*mus_rg_nana45_mvl/mxv + .byte N12 , Fs4 , v108 + .byte W12 + .byte N06 , An4 + .byte W09 + .byte N03 , Cs5 + .byte W03 + .byte N48 , Dn5 + .byte W12 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte W12 + .byte N12 + .byte W12 + .byte Cs5 + .byte W12 + .byte N06 , Bn4 + .byte W09 + .byte N03 , Gs4 + .byte W03 + .byte N36 , An4 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte N06 , Gs4 + .byte W12 + .byte MOD , 0 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , An4 + .byte W09 + .byte N03 , As4 + .byte W03 + .byte N72 , Bn4 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte W03 + .byte VOL , 70*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 68*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 61*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 56*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 50*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 46*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 41*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 37*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 31*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 25*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 17*mus_rg_nana45_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 74*mus_rg_nana45_mvl/mxv + .byte N24 , An4 + .byte W24 + .byte N12 , Gs4 + .byte W12 + .byte N06 , An4 + .byte W24 + .byte N32 , Bn4 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W20 + .byte VOICE , 17 + .byte W01 + .byte VOL , 84*mus_rg_nana45_mvl/mxv + .byte N03 , Gs4 , v116 + .byte W03 + .byte N12 , An4 + .byte W12 + .byte N06 , En4 + .byte W12 + .byte Gs4 + .byte W12 + .byte N24 , An4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Cs5 + .byte W09 + .byte N03 , Ds5 + .byte W03 + .byte N24 , En5 + .byte W24 + .byte N06 , Cs5 + .byte W12 + .byte N23 , Fn5 , v104 + .byte W24 + .byte N05 , Cs5 , v112 + .byte W12 + .byte N12 , Bn4 , v116 + .byte W12 + .byte N06 , Cs5 + .byte W09 + .byte N03 , Gs4 + .byte W03 + .byte TIE , An4 + .byte W72 + .byte MOD , 5 + .byte W24 + .byte PATT + .word mus_rg_nana45_3_000 + .byte EOT , An4 + .byte MOD , 0 + .byte W24 + .byte VOICE , 24 + .byte VOL , 84*mus_rg_nana45_mvl/mxv + .byte N12 , Fs4 , v108 + .byte W12 + .byte N06 , An4 + .byte W12 + .byte N48 , Dn5 + .byte W12 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte W12 + .byte N12 + .byte W12 + .byte Cs5 + .byte W12 + .byte N06 , Bn4 + .byte W12 + .byte N36 , An4 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N12 , Gs4 + .byte W24 + .byte N24 + .byte W24 + .byte N06 , An4 + .byte W09 + .byte N03 , As4 + .byte W03 + .byte N84 , Bn4 + .byte W12 + .byte MOD , 5 + .byte W36 + .byte VOL , 83*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 73*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 66*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 62*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 59*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 56*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 52*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 48*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 40*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 33*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 21*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 11*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 84*mus_rg_nana45_mvl/mxv + .byte MOD , 0 + .byte N12 , An4 + .byte W12 + .byte VOICE , 17 + .byte N12 , Gs4 + .byte W12 + .byte En4 + .byte W21 + .byte N03 , Ds5 + .byte W03 + .byte N36 , En5 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N12 , Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte N03 , As4 + .byte W03 + .byte N09 , Bn4 + .byte W09 + .byte N12 , An4 + .byte W12 + .byte N06 , Gs4 + .byte W12 + .byte N12 , En5 + .byte W24 + .byte N24 , Dn5 + .byte W24 + .byte N12 , Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte N06 , Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte N24 , An4 + .byte W60 + .byte N03 , As4 + .byte W03 + .byte N09 , Bn4 + .byte W09 + .byte N12 , An4 + .byte W12 + .byte N06 , Gs4 + .byte W12 + .byte N12 , En5 + .byte W24 + .byte N24 , Fn5 + .byte W24 + .byte N12 , Gs5 + .byte W12 + .byte N03 , Gn5 + .byte W03 + .byte N09 , Gs5 + .byte W09 + .byte N06 , An5 + .byte W12 + .byte Gs5 + .byte W12 + .byte N24 , Cs5 + .byte W24 + .byte Bn4 + .byte W24 + .byte N06 , An4 + .byte W12 + .byte N12 , Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte N24 , Cs5 + .byte W24 + .byte N12 , Bn4 + .byte W24 + .byte An4 + .byte W12 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte N24 , Cs5 + .byte W24 + .byte N12 , Fs5 + .byte W24 + .byte Gs5 + .byte W12 + .byte N72 , En5 + .byte W12 + .byte MOD , 5 + .byte W36 + .byte VOL , 73*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 68*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 63*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 59*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 56*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 48*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 39*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 29*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 83*mus_rg_nana45_mvl/mxv + .byte MOD , 0 + .byte N24 , Bn4 + .byte W24 + .byte VOL , 33*mus_rg_nana45_mvl/mxv + .byte N84 , Gs4 , v124 + .byte W02 + .byte VOL , 35*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 36*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 40*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 41*mus_rg_nana45_mvl/mxv + .byte MOD , 5 + .byte W02 + .byte VOL , 44*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 48*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 52*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 55*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 58*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 61*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 63*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 68*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 71*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 74*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 78*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 82*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 84*mus_rg_nana45_mvl/mxv + .byte W30 + .byte W01 + .byte VOICE , 17 + .byte W03 + .byte N06 , En4 , v108 + .byte W06 + .byte Gs4 + .byte W06 + .byte GOTO + .word mus_rg_nana45_3_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_nana45_4: + .byte KEYSH , mus_rg_nana45_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-36 + .byte VOL , 46*mus_rg_nana45_mvl/mxv + .byte W12 + .byte N56 , Bn2 , v072 + .byte W60 + .byte N23 , Cs3 + .byte W24 + .byte N11 , En2 + .byte W12 + .byte N32 , Bn2 + .byte W36 + .byte An2 + .byte W36 + .byte N23 , Cs3 + .byte W24 +mus_rg_nana45_4_B1: + .byte VOL , 46*mus_rg_nana45_mvl/mxv + .byte N32 , An2 , v072 + .byte W36 + .byte N23 , Gs2 + .byte W24 + .byte An2 + .byte W24 + .byte N11 , Bn2 + .byte W12 + .byte N32 , Cs3 + .byte W36 + .byte N11 , En2 + .byte W12 + .byte N32 , Bn2 + .byte W36 + .byte N11 , Cs3 + .byte W12 + .byte N05 , Fs3 , v064 + .byte W12 + .byte An3 + .byte W12 + .byte Cs4 + .byte W12 + .byte N23 , Fn3 + .byte W24 + .byte N05 , An3 + .byte W12 + .byte Cs4 + .byte W12 + .byte N23 , En3 + .byte W12 + .byte W12 + .byte N05 , Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte N23 , Ds3 + .byte W24 + .byte N11 , Dn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte N05 , Dn3 + .byte W12 + .byte N32 , An3 , v056 + .byte W36 + .byte N23 , Fs3 + .byte W24 + .byte N11 , An3 + .byte W12 + .byte N23 , Dn3 + .byte W24 + .byte N32 , Bn3 + .byte W36 + .byte N23 , Gs3 + .byte W24 + .byte N11 , Fs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 , v072 + .byte W12 + .byte N32 , Gs2 + .byte W36 + .byte N23 , An2 + .byte W24 + .byte Bn2 + .byte W24 + .byte N11 , Gs3 , v056 + .byte W12 + .byte Bn3 + .byte W12 + .byte N05 , Cs4 + .byte W24 + .byte N32 , Dn4 + .byte W36 + .byte W03 + .byte N08 , En3 + .byte W09 + .byte N11 , Gs3 + .byte W12 + .byte N32 , An2 , v072 + .byte W36 + .byte N23 , Gs2 + .byte W24 + .byte An2 + .byte W24 + .byte N11 , Bn2 + .byte W12 + .byte N32 , Cs3 + .byte W36 + .byte N11 , Fn2 + .byte W12 + .byte N32 , Bn2 + .byte W36 + .byte N11 , Cs3 + .byte W12 + .byte N05 , Fs3 + .byte W12 + .byte An3 + .byte W12 + .byte Cs4 + .byte W12 + .byte N23 , Fn3 + .byte W24 + .byte N05 , An3 + .byte W12 + .byte Cs4 + .byte W12 + .byte N23 , En3 + .byte W12 + .byte W12 + .byte N05 , Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte N23 , Ds3 + .byte W24 + .byte N11 , Dn3 + .byte W36 + .byte N32 , An2 + .byte W36 + .byte N23 , Gs2 + .byte W24 + .byte An2 + .byte W24 + .byte N11 , Dn3 + .byte W12 + .byte N32 , Bn2 + .byte W36 + .byte N23 , Gs2 + .byte W24 + .byte An2 + .byte W24 + .byte N11 , As2 + .byte W12 + .byte N68 , Bn2 + .byte W96 + .byte VOL , 66*mus_rg_nana45_mvl/mxv + .byte N44 , Gs2 + .byte W06 + .byte PAN , c_v-33 + .byte W02 + .byte c_v-26 + .byte W04 + .byte c_v-19 + .byte W02 + .byte c_v-8 + .byte W03 + .byte c_v+4 + .byte W03 + .byte c_v+16 + .byte W04 + .byte c_v+24 + .byte W02 + .byte c_v+32 + .byte W03 + .byte c_v+36 + .byte W01 + .byte c_v+39 + .byte W18 + .byte c_v-35 + .byte N44 , Bn2 + .byte W02 + .byte PAN , c_v-32 + .byte W03 + .byte c_v-26 + .byte W03 + .byte c_v-19 + .byte W04 + .byte c_v-14 + .byte W02 + .byte c_v-3 + .byte W03 + .byte c_v+4 + .byte W03 + .byte c_v+16 + .byte W04 + .byte VOL , 73*mus_rg_nana45_mvl/mxv + .byte PAN , c_v+37 + .byte W24 + .byte VOL , 18*mus_rg_nana45_mvl/mxv + .byte PAN , c_v-36 + .byte N44 , En3 + .byte W02 + .byte VOL , 21*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 23*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 27*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 33*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 37*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 44*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 48*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 52*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 54*mus_rg_nana45_mvl/mxv + .byte W01 + .byte 59*mus_rg_nana45_mvl/mxv + .byte W21 + .byte 17*mus_rg_nana45_mvl/mxv + .byte N44 , Fn3 + .byte W02 + .byte VOL , 21*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 23*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 27*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 30*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 34*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 41*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 48*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 51*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 59*mus_rg_nana45_mvl/mxv + .byte W22 + .byte 43*mus_rg_nana45_mvl/mxv + .byte N32 , Fs3 , v084 + .byte W36 + .byte PAN , c_v-16 + .byte N23 , Cs3 , v072 + .byte W24 + .byte PAN , c_v+32 + .byte N23 , Bn2 + .byte W24 + .byte PAN , c_v+47 + .byte N11 , An2 + .byte W12 + .byte VOL , 18*mus_rg_nana45_mvl/mxv + .byte PAN , c_v-37 + .byte N44 , En3 + .byte W02 + .byte VOL , 21*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 23*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 27*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 33*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 37*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 44*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 48*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 52*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 54*mus_rg_nana45_mvl/mxv + .byte W22 + .byte 17*mus_rg_nana45_mvl/mxv + .byte N32 , Fn3 + .byte W02 + .byte VOL , 21*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 23*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 27*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 30*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 34*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 41*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 48*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 51*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 59*mus_rg_nana45_mvl/mxv + .byte W10 + .byte N11 , Gs3 + .byte W12 + .byte VOL , 47*mus_rg_nana45_mvl/mxv + .byte N11 , An2 + .byte W12 + .byte Gs2 + .byte W12 + .byte Fs2 + .byte W12 + .byte N23 , An2 + .byte W24 + .byte Bn2 + .byte W24 + .byte N11 , Cs3 + .byte W12 + .byte N32 , An2 + .byte W36 + .byte N23 , Gs2 + .byte W24 + .byte N11 , An2 + .byte W24 + .byte Cs3 + .byte W12 + .byte N32 , An2 + .byte W36 + .byte N23 , Bn2 + .byte W24 + .byte N11 , Cs3 + .byte W24 + .byte En3 + .byte W12 + .byte VOL , 50*mus_rg_nana45_mvl/mxv + .byte N68 , Gs2 + .byte W48 + .byte VOL , 44*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 42*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 38*mus_rg_nana45_mvl/mxv + .byte W01 + .byte 39*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 37*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 34*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 31*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 29*mus_rg_nana45_mvl/mxv + .byte W07 + .byte 50*mus_rg_nana45_mvl/mxv + .byte N11 , Fs2 + .byte W12 + .byte Fn2 + .byte W12 + .byte VOL , 27*mus_rg_nana45_mvl/mxv + .byte N80 , En2 + .byte W02 + .byte VOL , 31*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 33*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 36*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 38*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 40*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 44*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 50*mus_rg_nana45_mvl/mxv + .byte W06 + .byte 52*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 56*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 59*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 60*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 62*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 66*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 68*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 72*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 73*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 78*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 81*mus_rg_nana45_mvl/mxv + .byte W40 + .byte GOTO + .word mus_rg_nana45_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_nana45_5: + .byte KEYSH , mus_rg_nana45_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 39*mus_rg_nana45_mvl/mxv + .byte W12 + .byte W96 + .byte W96 +mus_rg_nana45_5_B1: + .byte VOL , 39*mus_rg_nana45_mvl/mxv + .byte N06 , En3 , v080 + .byte W12 + .byte En3 , v044 + .byte W12 + .byte En3 , v032 + .byte W12 + .byte En3 , v080 + .byte W12 + .byte En3 , v044 + .byte W12 + .byte En3 , v032 + .byte W12 + .byte An3 , v076 + .byte W12 + .byte An3 , v052 + .byte W12 + .byte Bn3 , v080 + .byte W12 + .byte Bn3 , v044 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte Bn3 , v080 + .byte W12 + .byte Bn3 , v044 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte Cs4 , v076 + .byte W12 + .byte Cs4 , v044 + .byte W12 + .byte Cs3 , v080 + .byte W12 + .byte Cs3 , v040 + .byte W12 + .byte Cs3 , v032 + .byte W12 + .byte Cs3 , v080 + .byte W12 + .byte Cs3 , v044 + .byte W12 + .byte Cs3 , v032 + .byte W12 + .byte Cs3 , v020 + .byte W12 + .byte N06 + .byte W12 + .byte Cs3 , v080 + .byte W12 + .byte Cs3 , v040 + .byte W12 + .byte Cs3 , v032 + .byte W12 + .byte Cs3 , v080 + .byte W12 + .byte Cs3 , v040 + .byte W12 + .byte Cs3 , v032 + .byte W12 + .byte Cs3 , v080 + .byte W12 + .byte Cs3 , v048 + .byte W12 + .byte Fs3 , v084 + .byte W12 + .byte Fs3 , v044 + .byte W12 + .byte Fs3 , v032 + .byte W12 + .byte Fs3 , v080 + .byte W12 + .byte Fs3 , v040 + .byte W12 + .byte Fs3 , v032 + .byte W12 + .byte Fs3 , v020 + .byte W12 + .byte N06 + .byte W12 + .byte Fs3 , v080 + .byte W12 + .byte Fs3 , v044 + .byte W12 + .byte Fs3 , v032 + .byte W12 + .byte Fs3 , v080 + .byte W12 + .byte Fs3 , v044 + .byte W12 + .byte Fs3 , v032 + .byte W12 + .byte Dn3 , v080 + .byte W12 + .byte Dn3 , v028 + .byte W12 + .byte Bn2 , v080 + .byte W12 + .byte Bn2 , v044 + .byte W12 + .byte Bn2 , v032 + .byte W12 + .byte An2 , v080 + .byte W12 + .byte An2 , v044 + .byte W12 + .byte An2 , v032 + .byte W12 + .byte En3 , v080 + .byte W12 + .byte En3 , v040 + .byte W12 + .byte N11 , Bn2 , v072 + .byte W12 + .byte N05 , Cs3 + .byte W24 + .byte N23 , En3 + .byte W24 + .byte N02 , As3 + .byte W03 + .byte N08 , Bn3 + .byte W09 + .byte N11 , Gs3 + .byte W12 + .byte N05 , En3 + .byte W12 + .byte N06 , En3 , v080 + .byte W12 + .byte En3 , v052 + .byte W12 + .byte En3 , v032 + .byte W12 + .byte Dn3 , v080 + .byte W12 + .byte Dn3 , v052 + .byte W12 + .byte Dn3 , v032 + .byte W12 + .byte En3 , v080 + .byte W12 + .byte En3 , v048 + .byte W12 + .byte Cs4 , v080 + .byte W12 + .byte Cs4 , v032 + .byte W12 + .byte N06 + .byte W12 + .byte Gs3 , v080 + .byte W12 + .byte Gs3 , v048 + .byte W12 + .byte Gs3 , v032 + .byte W12 + .byte Cs4 , v080 + .byte W12 + .byte Cs4 , v040 + .byte W12 + .byte Fs3 , v080 + .byte W12 + .byte Fs3 , v032 + .byte W12 + .byte N06 + .byte W12 + .byte Fn3 , v080 + .byte W12 + .byte Fn3 , v032 + .byte W12 + .byte N06 + .byte W12 + .byte Fn3 , v028 + .byte W12 + .byte Fn3 , v020 + .byte W12 + .byte En3 , v080 + .byte W12 + .byte En3 , v048 + .byte W12 + .byte En3 , v032 + .byte W12 + .byte Ds3 , v080 + .byte W12 + .byte Ds3 , v044 + .byte W12 + .byte Ds3 , v032 + .byte W12 + .byte Ds3 , v020 + .byte W24 + .byte Fs3 , v080 + .byte W12 + .byte Fs3 , v048 + .byte W12 + .byte Fs3 , v032 + .byte W12 + .byte Fs3 , v080 + .byte W12 + .byte Fs3 , v048 + .byte W12 + .byte Fs3 , v032 + .byte W12 + .byte Fs3 , v020 + .byte W12 + .byte N06 + .byte W12 + .byte Fs3 , v080 + .byte W12 + .byte Fs3 , v032 + .byte W12 + .byte N06 + .byte W12 + .byte Fs3 , v080 + .byte W12 + .byte Fs3 , v048 + .byte W12 + .byte Fs3 , v032 + .byte W12 + .byte Fs3 , v072 + .byte W12 + .byte Fs3 , v028 + .byte W12 + .byte En3 , v080 + .byte W12 + .byte En3 , v044 + .byte W12 + .byte En3 , v032 + .byte W12 + .byte Bn2 , v080 + .byte W12 + .byte Bn2 , v048 + .byte W12 + .byte Bn2 , v032 + .byte W12 + .byte Dn3 , v080 + .byte W12 + .byte Dn3 , v044 + .byte W12 + .byte N12 , En3 , v080 + .byte W12 + .byte Bn2 + .byte W21 + .byte N03 , As3 + .byte W03 + .byte N36 , Bn3 + .byte W36 + .byte N12 , An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N06 , Bn3 , v084 + .byte W12 + .byte Bn3 , v044 + .byte W12 + .byte Bn3 , v080 + .byte W12 + .byte Bn3 , v060 + .byte W12 + .byte Bn3 , v092 + .byte W12 + .byte Bn3 , v064 + .byte W12 + .byte Bn3 , v100 + .byte W12 + .byte Bn3 , v076 + .byte W12 + .byte N12 , Fs3 , v064 + .byte W12 + .byte N06 , An3 , v080 + .byte W12 + .byte Cs4 + .byte W12 + .byte N24 , An3 + .byte W60 + .byte N06 , Bn3 + .byte W12 + .byte Bn3 , v044 + .byte W12 + .byte Bn3 , v088 + .byte W12 + .byte Bn3 , v052 + .byte W12 + .byte Gs3 , v096 + .byte W12 + .byte Gs3 , v064 + .byte W12 + .byte Gs3 , v108 + .byte W12 + .byte Gs3 , v080 + .byte W12 + .byte N03 , Gn3 , v108 + .byte W03 + .byte N09 , Gs3 + .byte W09 + .byte N06 , An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N24 , Cs3 + .byte W24 + .byte Bn2 + .byte W24 + .byte N06 , An2 + .byte W12 + .byte N12 , Dn4 , v080 + .byte W12 + .byte An3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N24 , Dn3 + .byte W24 + .byte N12 , Fs3 + .byte W24 + .byte An3 + .byte W12 + .byte Ds4 + .byte W12 + .byte An3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N24 , Ds3 + .byte W24 + .byte N12 , Fs3 + .byte W24 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte En3 + .byte W12 + .byte Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte N11 , An3 , v072 + .byte W12 + .byte En3 + .byte W12 + .byte VOL , 10*mus_rg_nana45_mvl/mxv + .byte N84 , Gs3 , v080 + .byte W05 + .byte VOL , 14*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 15*mus_rg_nana45_mvl/mxv + .byte W06 + .byte 16*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 19*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 21*mus_rg_nana45_mvl/mxv + .byte W06 + .byte 25*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 27*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 29*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 31*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 33*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 35*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 37*mus_rg_nana45_mvl/mxv + .byte W06 + .byte 39*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 42*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 43*mus_rg_nana45_mvl/mxv + .byte W04 + .byte 46*mus_rg_nana45_mvl/mxv + .byte W02 + .byte 48*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 52*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 54*mus_rg_nana45_mvl/mxv + .byte W28 + .byte GOTO + .word mus_rg_nana45_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_nana45_6: + .byte KEYSH , mus_rg_nana45_key+0 + .byte VOICE , 92 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 31*mus_rg_nana45_mvl/mxv + .byte BEND , c_v+1 + .byte W06 + .byte N06 , As3 , v036 + .byte W06 + .byte Bn3 , v096 + .byte W12 + .byte Bn3 , v064 + .byte W12 + .byte Bn3 , v044 + .byte W12 + .byte An3 , v096 + .byte W12 + .byte An3 , v056 + .byte W12 + .byte An3 , v044 + .byte W12 + .byte An3 , v028 + .byte W12 + .byte An3 , v016 + .byte W12 + .byte Gs3 , v096 + .byte W12 + .byte Gs3 , v056 + .byte W12 + .byte Gs3 , v040 + .byte W12 + .byte An3 , v096 + .byte W12 + .byte An3 , v056 + .byte W12 + .byte An3 , v040 + .byte W12 + .byte N21 , Cs4 , v096 + .byte W21 + .byte N02 , Gs4 , v072 + .byte W03 +mus_rg_nana45_6_B1: +mus_rg_nana45_6_000: + .byte N12 , An4 , v116 + .byte W12 + .byte N06 , En4 + .byte W12 + .byte Gs4 + .byte W12 + .byte N24 , An4 + .byte W24 + .byte Bn4 + .byte W24 + .byte N06 , Cs5 + .byte W09 + .byte N03 , Ds5 + .byte W03 + .byte PEND + .byte N36 , En5 + .byte W36 + .byte N06 , Cs5 + .byte W24 + .byte N24 , Bn4 + .byte W24 + .byte N12 , Cs5 + .byte W12 + .byte TIE , An4 + .byte W48 + .byte BEND , c_v+0 + .byte W12 + .byte c_v+0 + .byte W12 + .byte c_v+0 + .byte W12 + .byte VOL , 21*mus_rg_nana45_mvl/mxv + .byte W12 + .byte 10*mus_rg_nana45_mvl/mxv + .byte W48 + .byte EOT + .byte W24 + .byte VOL , 31*mus_rg_nana45_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Fs4 , v108 + .byte W12 + .byte N06 , An4 + .byte W09 + .byte N03 , Cs5 + .byte W03 + .byte N48 , Dn5 + .byte W60 + .byte N12 + .byte W12 + .byte Cs5 + .byte W12 + .byte N06 , Bn4 + .byte W09 + .byte N03 , Gs4 + .byte W03 + .byte N36 , An4 + .byte W36 + .byte N06 , Gs4 + .byte W24 + .byte N24 + .byte W24 + .byte N06 , An4 + .byte W09 + .byte N03 , As4 + .byte W03 + .byte N72 , Bn4 + .byte W36 + .byte W03 + .byte VOL , 21*mus_rg_nana45_mvl/mxv + .byte W09 + .byte 10*mus_rg_nana45_mvl/mxv + .byte W24 + .byte 31*mus_rg_nana45_mvl/mxv + .byte N24 , An4 + .byte W24 + .byte N12 , Gs4 + .byte W12 + .byte N06 , An4 + .byte W24 + .byte N32 , Bn4 + .byte W56 + .byte W01 + .byte N03 , Gs4 , v116 + .byte W03 + .byte PATT + .word mus_rg_nana45_6_000 + .byte N24 , En5 , v116 + .byte W24 + .byte N05 , Cs5 , v112 + .byte W12 + .byte N24 , Fn5 , v116 + .byte W24 + .byte N06 , Cs5 + .byte W12 + .byte N11 , Bn4 , v112 + .byte W12 + .byte N06 , Cs5 , v116 + .byte W09 + .byte N03 , Gs4 + .byte W03 + .byte TIE , An4 + .byte W48 + .byte BEND , c_v+0 + .byte W12 + .byte c_v+0 + .byte W12 + .byte c_v+0 + .byte W12 + .byte VOL , 21*mus_rg_nana45_mvl/mxv + .byte W06 + .byte 15*mus_rg_nana45_mvl/mxv + .byte W06 + .byte 10*mus_rg_nana45_mvl/mxv + .byte W48 + .byte EOT + .byte W24 + .byte VOL , 31*mus_rg_nana45_mvl/mxv + .byte N12 , Fs4 , v108 + .byte W12 + .byte N06 , An4 + .byte W12 + .byte N48 , Dn5 + .byte W60 + .byte N12 + .byte W12 + .byte Cs5 + .byte W12 + .byte N06 , Bn4 + .byte W12 + .byte N36 , An4 + .byte W36 + .byte N12 , Gs4 + .byte W24 + .byte N24 + .byte W24 + .byte N06 , An4 + .byte W09 + .byte N03 , As4 + .byte W03 + .byte N72 , Bn4 + .byte W36 + .byte VOL , 26*mus_rg_nana45_mvl/mxv + .byte W06 + .byte 15*mus_rg_nana45_mvl/mxv + .byte W06 + .byte 10*mus_rg_nana45_mvl/mxv + .byte W24 + .byte 31*mus_rg_nana45_mvl/mxv + .byte W12 + .byte N12 , An4 + .byte W12 + .byte Gs4 + .byte W12 + .byte En4 + .byte W21 + .byte N03 , Ds5 + .byte W03 + .byte N36 , En5 + .byte W36 + .byte N12 , Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte N03 , As4 + .byte W03 + .byte N09 , Bn4 + .byte W09 + .byte N12 , An4 + .byte W12 + .byte N06 , Gs4 + .byte W12 + .byte N12 , En5 + .byte W24 + .byte N24 , Dn5 + .byte W24 + .byte N12 , Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte N06 , Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte N24 , An4 + .byte W60 + .byte N03 , As4 + .byte W03 + .byte N09 , Bn4 + .byte W09 + .byte N12 , An4 + .byte W12 + .byte N06 , Gs4 + .byte W12 + .byte N12 , En5 + .byte W24 + .byte N24 , Fn5 + .byte W24 + .byte N12 , Gs5 + .byte W12 + .byte N03 , Gn5 + .byte W03 + .byte N09 , Gs5 + .byte W09 + .byte N06 , An5 + .byte W12 + .byte Gs5 + .byte W12 + .byte N24 , Cs5 + .byte W24 + .byte Bn4 + .byte W24 + .byte N06 , An4 + .byte W12 + .byte N12 , Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte N24 , Cs5 + .byte W24 + .byte N12 , Bn4 + .byte W24 + .byte An4 + .byte W12 + .byte Cs5 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte N24 , Cs5 + .byte W24 + .byte N12 , Fs5 + .byte W24 + .byte Gs5 + .byte W12 + .byte N72 , En5 + .byte W42 + .byte VOL , 21*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 15*mus_rg_nana45_mvl/mxv + .byte W03 + .byte 10*mus_rg_nana45_mvl/mxv + .byte W24 + .byte 31*mus_rg_nana45_mvl/mxv + .byte N24 , Bn4 + .byte W24 + .byte VOL , 10*mus_rg_nana45_mvl/mxv + .byte N84 , Gs4 + .byte W48 + .byte VOL , 21*mus_rg_nana45_mvl/mxv + .byte W24 + .byte 31*mus_rg_nana45_mvl/mxv + .byte W12 + .byte N06 , En4 + .byte W06 + .byte Gs4 + .byte W06 + .byte GOTO + .word mus_rg_nana45_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_nana45_7: + .byte KEYSH , mus_rg_nana45_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 74*mus_rg_nana45_mvl/mxv + .byte N05 , Cn1 , v120 + .byte W12 +mus_rg_nana45_7_000: + .byte N06 , Cn1 , v127 + .byte W24 + .byte Cs1 , v108 + .byte W12 + .byte Cn1 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 + .byte W24 + .byte PEND + .byte Cn1 , v127 + .byte W24 + .byte Cs1 , v108 + .byte W12 + .byte Cn1 + .byte W12 + .byte N05 , Cs1 , v112 + .byte W06 + .byte Cs1 , v088 + .byte W06 + .byte N12 , Fn1 , v108 + .byte W12 + .byte N06 , Cs1 + .byte W12 + .byte N05 , Dn1 , v084 + .byte W12 +mus_rg_nana45_7_B1: + .byte PATT + .word mus_rg_nana45_7_000 +mus_rg_nana45_7_001: + .byte N06 , Cn1 , v127 + .byte W24 + .byte Cs1 , v108 + .byte W12 + .byte Cn1 + .byte W12 + .byte N05 , Cn1 , v120 + .byte W12 + .byte N06 , Cn1 , v108 + .byte W12 + .byte Cs1 + .byte W12 + .byte N11 , Fn1 , v120 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nana45_7_000 + .byte N06 , Cn1 , v127 + .byte W24 + .byte Cs1 , v108 + .byte W12 + .byte Cn1 + .byte W12 + .byte N05 , Cn1 , v120 + .byte W12 + .byte N06 , Cn1 , v108 + .byte W12 + .byte Cs1 + .byte W12 + .byte N05 , Cn1 , v120 + .byte W12 + .byte PATT + .word mus_rg_nana45_7_000 + .byte PATT + .word mus_rg_nana45_7_000 + .byte PATT + .word mus_rg_nana45_7_000 + .byte N06 , Cn1 , v127 + .byte W24 + .byte Cs1 , v108 + .byte W12 + .byte Cn1 + .byte W12 + .byte N05 , Cn1 , v120 + .byte W12 + .byte N06 , Cn1 , v108 + .byte W12 + .byte Cs1 + .byte W06 + .byte N05 , Cs1 , v096 + .byte W06 + .byte N11 , Gn1 , v120 + .byte W12 + .byte PATT + .word mus_rg_nana45_7_000 + .byte PATT + .word mus_rg_nana45_7_001 + .byte PATT + .word mus_rg_nana45_7_000 + .byte N06 , Cn1 , v127 + .byte W12 + .byte N05 , Cn1 , v120 + .byte W12 + .byte N06 , Cs1 , v108 + .byte W12 + .byte Cn1 + .byte W12 + .byte N05 , Cs1 , v120 + .byte W06 + .byte Cs1 , v084 + .byte W06 + .byte N06 , Cn1 , v108 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte N11 , Fn1 , v104 + .byte W12 + .byte PATT + .word mus_rg_nana45_7_000 + .byte PATT + .word mus_rg_nana45_7_001 + .byte PATT + .word mus_rg_nana45_7_000 + .byte N06 , Cn1 , v127 + .byte W24 + .byte Cs1 , v108 + .byte W12 + .byte Cn1 + .byte W12 + .byte N05 , Cn1 , v120 + .byte W12 + .byte N06 , Cn1 , v108 + .byte W12 + .byte Dn2 + .byte W06 + .byte N05 , Dn2 , v120 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte N06 , Cn1 , v127 + .byte W24 + .byte Cs1 , v108 + .byte W12 + .byte Cn1 + .byte W12 + .byte N05 , Cn1 , v120 + .byte W12 + .byte N06 , Cn1 , v108 + .byte W06 + .byte N03 , Cs1 , v056 + .byte W03 + .byte Cs1 , v052 + .byte W03 + .byte N06 , Cs1 , v108 + .byte W12 + .byte Cs1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte N05 , Cn1 , v120 + .byte W12 + .byte N06 , Cs1 , v108 + .byte W12 + .byte Cn1 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 + .byte W06 + .byte N05 , Cs1 , v120 + .byte W06 + .byte N11 , Fn1 + .byte W12 + .byte N06 , Cn1 , v127 + .byte W24 + .byte Cs1 , v108 + .byte W12 + .byte Cn1 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 + .byte W12 + .byte N05 , Dn1 , v100 + .byte W12 + .byte N06 , Cn1 , v127 + .byte W12 + .byte N05 , Cn1 , v120 + .byte W12 + .byte N06 , Cs1 , v108 + .byte W12 + .byte Cn1 + .byte W12 + .byte N05 , Cn1 , v120 + .byte W12 + .byte N06 , Cn1 , v108 + .byte W12 + .byte Cs1 + .byte W12 + .byte N11 , Fn1 , v120 + .byte W12 + .byte PATT + .word mus_rg_nana45_7_000 + .byte N06 , Cn1 , v127 + .byte W12 + .byte N05 , Cn1 , v120 + .byte W12 + .byte N06 , Cs1 , v108 + .byte W12 + .byte Cn1 + .byte W12 + .byte N05 , Cn1 , v120 + .byte W12 + .byte N06 , Cn1 , v108 + .byte W12 + .byte Cs1 + .byte W12 + .byte N11 , Gn1 , v120 + .byte W12 + .byte PATT + .word mus_rg_nana45_7_000 + .byte N06 , Cn1 , v127 + .byte W12 + .byte N05 , Cn1 , v120 + .byte W06 + .byte N03 , Cs1 , v064 + .byte W03 + .byte Cs1 , v056 + .byte W03 + .byte N06 , Cs1 , v108 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Cn1 , v112 + .byte W18 + .byte Cn1 , v108 + .byte W06 + .byte Cs1 + .byte W06 + .byte N05 , Cs1 , v080 + .byte W06 + .byte Fn1 , v120 + .byte W06 + .byte Dn1 , v068 + .byte W06 + .byte GOTO + .word mus_rg_nana45_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_nana45_8: + .byte KEYSH , mus_rg_nana45_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 42*mus_rg_nana45_mvl/mxv + .byte W12 + .byte N01 , Cn5 , v120 + .byte W42 + .byte N02 , Cn5 , v108 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W30 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N01 , Cn5 , v120 + .byte W24 + .byte Cn5 , v064 + .byte W18 + .byte N02 , Cn5 , v108 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W18 + .byte N01 , Cn5 , v120 + .byte W24 +mus_rg_nana45_8_B1: + .byte N01 , Cn5 , v120 + .byte W24 + .byte Cn5 , v064 + .byte W18 + .byte N02 , Cn5 , v108 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W18 + .byte N01 , Cn5 , v120 + .byte W12 + .byte N02 , Cn5 , v108 + .byte W06 + .byte N02 + .byte W06 +mus_rg_nana45_8_000: + .byte N01 , Cn5 , v120 + .byte W24 + .byte Cn5 , v064 + .byte W18 + .byte N02 , Cn5 , v108 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W42 + .byte PEND +mus_rg_nana45_8_001: + .byte N01 , Cn5 , v120 + .byte W24 + .byte Cn5 , v064 + .byte W18 + .byte N02 , Cn5 , v108 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W30 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_nana45_8_000 + .byte PATT + .word mus_rg_nana45_8_001 + .byte N01 , Cn5 , v120 + .byte W42 + .byte N02 , Cn5 , v108 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W42 + .byte PATT + .word mus_rg_nana45_8_001 + .byte PATT + .word mus_rg_nana45_8_000 + .byte PATT + .word mus_rg_nana45_8_001 + .byte PATT + .word mus_rg_nana45_8_000 + .byte PATT + .word mus_rg_nana45_8_001 + .byte PATT + .word mus_rg_nana45_8_000 + .byte PATT + .word mus_rg_nana45_8_001 + .byte PATT + .word mus_rg_nana45_8_000 + .byte PATT + .word mus_rg_nana45_8_001 + .byte PATT + .word mus_rg_nana45_8_000 + .byte PATT + .word mus_rg_nana45_8_001 + .byte PATT + .word mus_rg_nana45_8_000 + .byte PATT + .word mus_rg_nana45_8_001 + .byte N01 , Cn5 , v120 + .byte W24 + .byte Cn5 , v064 + .byte W18 + .byte N02 , Cn5 , v108 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W18 + .byte N01 , Cn5 , v064 + .byte W24 + .byte Cn5 , v120 + .byte W24 + .byte Cn5 , v064 + .byte W18 + .byte N02 , Cn5 , v108 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W18 + .byte N01 , Cn5 , v064 + .byte W12 + .byte N02 , Cn5 , v108 + .byte W06 + .byte N02 + .byte W06 + .byte W42 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W18 + .byte N01 , Cn5 , v064 + .byte W06 + .byte Cn5 , v068 + .byte W18 + .byte PATT + .word mus_rg_nana45_8_001 + .byte N01 , Cn5 , v120 + .byte W24 + .byte Cn5 , v064 + .byte W18 + .byte N02 , Cn5 , v108 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W18 + .byte N01 , Cn5 , v064 + .byte W06 + .byte N01 + .byte W18 + .byte GOTO + .word mus_rg_nana45_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_nana45_9: + .byte KEYSH , mus_rg_nana45_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 42*mus_rg_nana45_mvl/mxv + .byte W12 + .byte W12 + .byte N12 , Gn5 , v108 + .byte W84 +mus_rg_nana45_9_000: + .byte W12 + .byte N12 , Gn5 , v108 + .byte W72 + .byte N12 + .byte W12 + .byte PEND +mus_rg_nana45_9_B1: + .byte W12 + .byte N12 , Gn5 , v108 + .byte W84 + .byte PATT + .word mus_rg_nana45_9_000 + .byte W12 + .byte N12 , Gn5 , v108 + .byte W84 + .byte PATT + .word mus_rg_nana45_9_000 + .byte W12 + .byte N12 , Gn5 , v108 + .byte W84 + .byte PATT + .word mus_rg_nana45_9_000 + .byte W12 + .byte N12 , Gn5 , v108 + .byte W84 + .byte PATT + .word mus_rg_nana45_9_000 + .byte W12 + .byte N12 , Gn5 , v108 + .byte W84 + .byte PATT + .word mus_rg_nana45_9_000 + .byte W12 + .byte N12 , Gn5 , v108 + .byte W84 + .byte PATT + .word mus_rg_nana45_9_000 + .byte W12 + .byte N12 , Gn5 , v108 + .byte W84 + .byte PATT + .word mus_rg_nana45_9_000 + .byte W12 + .byte N12 , Gn5 , v108 + .byte W84 + .byte PATT + .word mus_rg_nana45_9_000 +mus_rg_nana45_9_001: + .byte W12 + .byte N12 , Gn5 , v108 + .byte W48 + .byte N12 + .byte W36 + .byte PEND + .byte PATT + .word mus_rg_nana45_9_000 + .byte PATT + .word mus_rg_nana45_9_001 + .byte PATT + .word mus_rg_nana45_9_000 + .byte W12 + .byte N12 , Gn5 , v108 + .byte W84 + .byte PATT + .word mus_rg_nana45_9_000 + .byte W12 + .byte N12 , Gn5 , v108 + .byte W84 + .byte PATT + .word mus_rg_nana45_9_000 + .byte GOTO + .word mus_rg_nana45_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_nana45: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_nana45_pri @ Priority + .byte mus_rg_nana45_rev @ Reverb. + + .word mus_rg_nana45_grp + + .word mus_rg_nana45_1 + .word mus_rg_nana45_2 + .word mus_rg_nana45_3 + .word mus_rg_nana45_4 + .word mus_rg_nana45_5 + .word mus_rg_nana45_6 + .word mus_rg_nana45_7 + .word mus_rg_nana45_8 + .word mus_rg_nana45_9 + + .end diff --git a/sound/songs/mus_rg_nana67.s b/sound/songs/mus_rg_nana67.s new file mode 100644 index 0000000000..3565f045f0 --- /dev/null +++ b/sound/songs/mus_rg_nana67.s @@ -0,0 +1,2918 @@ + .include "MPlayDef.s" + + .equ mus_rg_nana67_grp, voicegroup_86B3E4C + .equ mus_rg_nana67_pri, 0 + .equ mus_rg_nana67_rev, reverb_set+50 + .equ mus_rg_nana67_mvl, 127 + .equ mus_rg_nana67_key, 0 + .equ mus_rg_nana67_tbs, 1 + .equ mus_rg_nana67_exg, 0 + .equ mus_rg_nana67_cmp, 1 + + .section .rodata + .global mus_rg_nana67 + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_nana67_1: + .byte KEYSH , mus_rg_nana67_key+0 + .byte TEMPO , 116*mus_rg_nana67_tbs/2 + .byte VOICE , 81 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 63*mus_rg_nana67_mvl/mxv + .byte W96 + .byte N06 , As1 , v092 + .byte W06 + .byte Gn1 + .byte W06 + .byte Ds1 + .byte W06 + .byte Gn1 + .byte W06 + .byte As1 + .byte W12 + .byte N24 , Ds2 , v096 + .byte W24 + .byte N12 , Fn2 , v092 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Fn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Fn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N12 + .byte W12 + .byte Dn2 + .byte W12 + .byte N06 , As1 + .byte W06 + .byte Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte N03 , Ds1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte En1 , v096 + .byte W12 + .byte N03 , En1 , v092 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte N06 + .byte W06 + .byte En2 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte N03 , Fn1 , v096 + .byte W06 + .byte N06 , An2 , v092 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Cn2 , v096 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N06 , Gs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte N12 , Fn2 + .byte W12 + .byte An1 + .byte W12 +mus_rg_nana67_1_B1: + .byte N03 , As1 , v096 + .byte W06 + .byte N18 , As1 , v092 + .byte W30 + .byte N06 , As1 , v096 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N12 , Fn2 + .byte W12 + .byte N06 , Fn1 + .byte W12 + .byte N12 , Cn2 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N12 , Gn2 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte N03 , Fn1 + .byte W06 + .byte N18 , Fn1 , v092 + .byte W30 + .byte N06 , Fn1 , v096 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fn1 , v092 + .byte W06 + .byte An1 + .byte W06 + .byte Cn2 , v096 + .byte W06 + .byte Ds2 , v092 + .byte W06 + .byte N03 , As1 , v096 + .byte W06 + .byte N18 , As1 , v092 + .byte W30 + .byte N06 , As1 , v096 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N24 , As2 + .byte W24 + .byte N06 , Gn2 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Fs2 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Fn2 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , Cn2 , v092 + .byte W06 + .byte N18 + .byte W30 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn2 , v096 + .byte W12 + .byte Cn2 , v092 + .byte W06 + .byte N03 , As1 + .byte W03 + .byte Gn1 + .byte W03 + .byte N24 , En1 + .byte W24 + .byte N03 , Ds1 , v096 + .byte W06 + .byte N18 , Ds1 , v092 + .byte W30 + .byte N06 , Ds1 , v096 + .byte W06 + .byte N06 + .byte W06 + .byte Fn1 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Cn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte N18 , As1 , v092 + .byte W30 + .byte N06 , As1 , v096 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N24 , Gs1 + .byte W24 +mus_rg_nana67_1_000: + .byte N06 , Fs1 , v096 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Gs1 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Ds2 + .byte W12 + .byte Gs1 + .byte W12 + .byte PEND +mus_rg_nana67_1_001: + .byte N06 , Fn1 , v096 + .byte W36 + .byte As1 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N24 , An1 + .byte W24 + .byte N06 , Gs1 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nana67_1_000 + .byte PATT + .word mus_rg_nana67_1_001 + .byte N06 , Ds1 , v096 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N12 , As1 + .byte W12 + .byte N06 , Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte En1 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N12 , Cn2 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Cn2 + .byte W12 + .byte N06 , Fn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N36 , Fn1 + .byte W36 + .byte N06 , Fs1 + .byte W06 + .byte Gs1 + .byte W06 + .byte N24 , An1 + .byte W24 + .byte N12 , Cn2 + .byte W12 + .byte Bn1 , v092 + .byte W12 + .byte GOTO + .word mus_rg_nana67_1_B1 + .byte W96 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_nana67_2: + .byte KEYSH , mus_rg_nana67_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+32 + .byte VOL , 46*mus_rg_nana67_mvl/mxv + .byte W96 + .byte N06 , Ds2 , v112 + .byte W06 + .byte Gn2 + .byte W06 + .byte As2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Gn3 + .byte W12 + .byte N24 , An3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Fn2 + .byte W06 + .byte An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Fn3 + .byte W12 + .byte N24 , Dn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte N06 , Cn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Gn2 + .byte W06 + .byte As2 + .byte W06 + .byte Gn3 + .byte W12 + .byte N24 , As2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Cn3 + .byte W06 + .byte En3 + .byte W06 + .byte Cn3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte N24 , As2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W12 + .byte N36 , Fn3 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte W24 +mus_rg_nana67_2_B1: + .byte W12 + .byte N06 , As2 , v112 + .byte W06 + .byte Cn3 + .byte W06 + .byte N12 , Dn3 + .byte W12 + .byte N06 + .byte W06 + .byte Ds3 + .byte W06 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , An3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W12 + .byte N06 , Cn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N12 , An3 + .byte W12 + .byte N06 + .byte W06 + .byte Cn4 + .byte W06 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N24 , Dn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Ds3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , En3 + .byte W12 + .byte N06 + .byte W12 + .byte Fn3 + .byte W12 + .byte N12 , Fs3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte N03 , Dn3 + .byte W06 + .byte As2 + .byte W06 + .byte Dn3 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte N06 + .byte W06 + .byte An3 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Dn3 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte Cn2 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte As2 + .byte W06 + .byte Cn3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte N18 , En4 + .byte W12 + .byte MOD , 6 + .byte W06 + .byte VOICE , 24 + .byte MOD , 0 + .byte N03 , Gn4 , v064 + .byte W03 + .byte As4 + .byte W03 + .byte MOD , 0 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W96 + .byte VOICE , 24 + .byte N03 , Ds3 , v120 + .byte W06 + .byte As2 , v112 + .byte W06 + .byte Gn2 + .byte W06 + .byte Ds3 , v120 + .byte W06 + .byte As2 , v112 + .byte W06 + .byte Gn2 + .byte W06 + .byte As2 + .byte W06 + .byte Ds3 + .byte W06 + .byte N24 , Dn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W24 + .byte W12 + .byte N06 , Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte N04 , As3 + .byte W04 + .byte Cn4 + .byte W04 + .byte As3 + .byte W04 + .byte N12 , Gs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte MOD , 6 + .byte N12 + .byte W12 + .byte MOD , 0 + .byte N06 , Cn3 + .byte W12 + .byte N12 , Fn3 + .byte W12 + .byte N24 , Cs3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Ds3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Fn3 + .byte W12 + .byte N06 , As3 + .byte W12 + .byte N06 + .byte W06 + .byte Cn4 + .byte W06 + .byte N12 , Cs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N04 , Cs4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Cs4 + .byte W04 + .byte N12 , Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte N12 , Gs3 + .byte W12 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Cs4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Cn4 + .byte W12 + .byte N06 , Gn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn4 + .byte W12 + .byte N06 + .byte W06 + .byte An4 + .byte W06 + .byte N24 , As4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W24 + .byte N06 , Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte As3 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W12 + .byte N06 + .byte W06 + .byte An4 + .byte W06 + .byte N24 , As4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W24 + .byte N06 , Cn4 + .byte W06 + .byte As3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte As3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte As3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte An4 + .byte W06 + .byte Cn5 + .byte W06 + .byte N36 , Cn4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 , Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte N24 , An3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W24 + .byte GOTO + .word mus_rg_nana67_2_B1 + .byte W96 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_nana67_3: + .byte KEYSH , mus_rg_nana67_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-3 + .byte VOL , 84*mus_rg_nana67_mvl/mxv + .byte W96 + .byte N06 , Gn3 , v116 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte N12 , Cn4 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , An3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte N36 , Cn4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Ds4 + .byte W06 +mus_rg_nana67_3_B1: + .byte N24 , Fn4 , v116 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W12 + .byte N06 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N84 , Ds4 + .byte W12 + .byte MOD , 6 + .byte W72 + .byte 0 + .byte N06 , Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W12 + .byte N06 + .byte W06 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N72 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W60 + .byte 0 + .byte W12 + .byte N06 , As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W12 + .byte N06 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte N12 , As3 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N18 , As4 + .byte W36 + .byte N06 , Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte Ds4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Ds3 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N72 , As3 + .byte W12 + .byte MOD , 6 + .byte W60 + .byte 0 + .byte W24 + .byte VOICE , 24 + .byte W12 + .byte N06 + .byte W06 + .byte Cn4 + .byte W06 + .byte N12 , Cs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N04 , Cs4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Cs4 + .byte W04 + .byte N12 , Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte N12 , Gs3 + .byte W12 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Cs4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Cn4 + .byte W12 + .byte W12 + .byte N06 , Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N12 , As4 + .byte W12 + .byte Cs5 + .byte W12 + .byte Cn5 + .byte W12 + .byte N04 , As4 + .byte W04 + .byte Cn5 + .byte W04 + .byte As4 + .byte W04 + .byte N12 , Gs4 + .byte W12 + .byte N06 , Fs4 + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N24 , Ds5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Fn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N72 , Fn5 + .byte W12 + .byte MOD , 6 + .byte W60 + .byte 0 + .byte W12 + .byte N06 , Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N72 , Fn5 + .byte W12 + .byte MOD , 6 + .byte W60 + .byte 0 + .byte W12 + .byte N06 , An4 + .byte W06 + .byte As4 + .byte W06 + .byte N72 , Cn5 + .byte W12 + .byte MOD , 6 + .byte W60 + .byte 0 + .byte W24 + .byte N36 , An4 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 , Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte GOTO + .word mus_rg_nana67_3_B1 + .byte W96 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_nana67_4: + .byte KEYSH , mus_rg_nana67_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 42*mus_rg_nana67_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_nana67_4_B1: + .byte VOICE , 48 + .byte VOL , 52*mus_rg_nana67_mvl/mxv + .byte PAN , c_v-32 + .byte N06 , As2 , v080 + .byte W06 + .byte As2 , v048 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , As2 , v080 + .byte W06 + .byte As2 , v048 + .byte W06 + .byte An2 , v080 + .byte W06 + .byte An2 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , An2 , v080 + .byte W06 + .byte An2 , v048 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , Cn3 , v080 + .byte W06 + .byte Cn3 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cn3 , v080 + .byte W06 + .byte Cn3 , v048 + .byte W06 + .byte As2 , v080 + .byte W06 + .byte As2 , v048 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , As2 , v080 + .byte W06 + .byte As2 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cn3 , v080 + .byte W06 + .byte Cn3 , v048 + .byte W06 + .byte PAN , c_v+15 + .byte N06 , Cn3 , v080 + .byte W06 + .byte Cn3 , v048 + .byte W06 + .byte Bn2 , v080 + .byte W06 + .byte Bn2 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Bn2 , v080 + .byte W06 + .byte Bn2 , v048 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , Dn3 , v080 + .byte W06 + .byte Dn3 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Dn3 , v080 + .byte W06 + .byte Dn3 , v048 + .byte W06 + .byte Cn3 , v080 + .byte W06 + .byte Cn3 , v048 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , Cn3 , v080 + .byte W06 + .byte Cn3 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Ds3 , v080 + .byte W06 + .byte Ds3 , v048 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , Ds3 , v080 + .byte W06 + .byte Ds3 , v048 + .byte W06 + .byte Dn3 , v080 + .byte W06 + .byte Dn3 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Dn3 , v080 + .byte W06 + .byte Dn3 , v048 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , Fn3 , v060 + .byte W06 + .byte Fn3 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Fn3 , v060 + .byte W06 + .byte Fn3 , v048 + .byte W06 + .byte Ds3 , v080 + .byte W06 + .byte Ds3 , v048 + .byte W06 + .byte PAN , c_v+15 + .byte N06 , Ds3 , v080 + .byte W06 + .byte Ds3 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , As2 , v080 + .byte W06 + .byte As2 , v048 + .byte W06 + .byte PAN , c_v+15 + .byte N06 , As2 , v080 + .byte W06 + .byte As2 , v048 + .byte W06 + .byte An2 , v080 + .byte W06 + .byte An2 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , An2 , v080 + .byte W06 + .byte An2 , v048 + .byte W06 + .byte PAN , c_v+15 + .byte N06 , Gn2 , v080 + .byte W06 + .byte Gn2 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Gn2 , v080 + .byte W06 + .byte Gn2 , v048 + .byte W06 + .byte As2 , v080 + .byte W06 + .byte As2 , v048 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , As2 , v080 + .byte W06 + .byte As2 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Gn2 , v080 + .byte W06 + .byte Gn2 , v048 + .byte W06 + .byte PAN , c_v+15 + .byte N06 , Gn2 , v080 + .byte W06 + .byte Gn2 , v048 + .byte W06 + .byte Fs2 , v080 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Fs2 , v080 + .byte W06 + .byte Fs2 , v048 + .byte W06 + .byte PAN , c_v+15 + .byte N06 , An2 , v080 + .byte W06 + .byte An2 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , An2 , v080 + .byte W06 + .byte An2 , v048 + .byte W06 + .byte Gn2 , v080 + .byte W06 + .byte Gn2 , v048 + .byte W06 + .byte PAN , c_v+15 + .byte N06 , Gn2 , v080 + .byte W06 + .byte Gn2 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , As2 , v080 + .byte W06 + .byte As2 , v048 + .byte W06 + .byte PAN , c_v+15 + .byte N06 , As2 , v080 + .byte W06 + .byte As2 , v048 + .byte W06 + .byte An2 , v080 + .byte W06 + .byte An2 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , An2 , v080 + .byte W06 + .byte An2 , v048 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , Cn3 , v080 + .byte W06 + .byte Cn3 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cn3 , v080 + .byte W06 + .byte Cn3 , v048 + .byte W06 + .byte Dn3 , v080 + .byte W06 + .byte Dn3 , v048 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , Dn3 , v080 + .byte W06 + .byte Dn3 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Ds3 , v080 + .byte W06 + .byte Ds3 , v048 + .byte W06 + .byte PAN , c_v+15 + .byte N06 , Ds3 , v080 + .byte W06 + .byte Ds3 , v048 + .byte W06 + .byte As2 , v080 + .byte W06 + .byte As2 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , As2 , v080 + .byte W06 + .byte As2 , v048 + .byte W06 + .byte PAN , c_v+15 + .byte N06 , An2 , v080 + .byte W06 + .byte An2 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , An2 , v080 + .byte W06 + .byte An2 , v048 + .byte W06 + .byte Cn3 , v080 + .byte W06 + .byte Cn3 , v048 + .byte W06 + .byte PAN , c_v+15 + .byte N06 , Cn3 , v080 + .byte W06 + .byte Cn3 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , As2 , v080 + .byte W06 + .byte As2 , v048 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , As2 , v080 + .byte W06 + .byte As2 , v048 + .byte W06 + .byte As2 , v080 + .byte W06 + .byte As2 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , An2 , v080 + .byte W06 + .byte As2 + .byte W06 + .byte PAN , c_v+15 + .byte N06 , Dn2 + .byte W06 + .byte Dn2 , v048 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Dn2 , v080 + .byte W06 + .byte Dn2 , v048 + .byte W06 + .byte Fn2 , v080 + .byte W06 + .byte Fn2 , v048 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , Fn2 , v080 + .byte W06 + .byte Fn2 , v048 + .byte W06 + .byte VOICE , 17 + .byte PAN , c_v-32 + .byte VOL , 39*mus_rg_nana67_mvl/mxv + .byte N06 , Fs4 , v080 + .byte W12 + .byte N03 , Cs4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Gs4 + .byte W03 + .byte N12 , As4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte N04 , Cn5 , v088 + .byte W04 + .byte Cs5 + .byte W04 + .byte Cn5 + .byte W04 + .byte N06 , As4 , v080 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gs4 + .byte W12 + .byte N03 , Fn4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte N24 , Fn5 + .byte W24 + .byte N06 , As4 + .byte W12 + .byte N03 , An4 + .byte W03 + .byte As4 + .byte W03 + .byte Cs5 + .byte W03 + .byte Fn5 + .byte W03 + .byte N24 , As5 + .byte W24 + .byte N36 , Gs5 + .byte W36 + .byte N24 , Fs5 + .byte W24 + .byte Ds5 + .byte W24 + .byte N06 , Cs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N36 , As5 + .byte W36 + .byte N24 , Gs5 + .byte W24 + .byte Fn5 + .byte W24 + .byte N06 , Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N36 , Fn5 + .byte W36 + .byte Gn5 + .byte W36 + .byte N12 , As4 + .byte W12 + .byte N06 , Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N36 , Fn5 + .byte W36 + .byte Gn5 + .byte W36 + .byte N12 , As4 + .byte W12 + .byte N06 , An4 + .byte W06 + .byte As4 + .byte W06 + .byte N36 , Cn5 + .byte W36 + .byte An5 + .byte W60 + .byte W96 + .byte GOTO + .word mus_rg_nana67_4_B1 + .byte W96 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_nana67_5: + .byte KEYSH , mus_rg_nana67_key+0 + .byte VOICE , 82 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-64 + .byte VOL , 46*mus_rg_nana67_mvl/mxv + .byte W96 + .byte N06 , Ds3 , v080 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , Ds3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Gn3 + .byte W12 + .byte N06 , Ds3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , Gn2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Dn3 + .byte W12 + .byte N06 , As2 + .byte W06 + .byte Cn3 + .byte W06 + .byte An2 + .byte W06 + .byte As2 + .byte W06 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , En2 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte An2 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte Cn3 + .byte W24 + .byte N24 , An3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte VOICE , 80 + .byte N06 , As3 + .byte W06 + .byte Cn4 + .byte W06 +mus_rg_nana67_5_B1: + .byte N24 , Dn4 , v080 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W12 + .byte 0 + .byte N06 + .byte W06 + .byte Fn4 + .byte W06 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N30 , Cn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W06 + .byte N03 , Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Ds4 + .byte W06 + .byte Cn4 + .byte W06 + .byte N12 , An3 + .byte W12 + .byte N06 , Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N24 , An3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , An3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , As3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Cs4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N18 , Dn4 + .byte W18 + .byte N03 , Cn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte N12 , As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N06 , As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , As3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N18 , Dn4 , v092 + .byte W12 + .byte MOD , 6 + .byte W06 + .byte N03 , Dn4 , v080 + .byte W03 + .byte Fn4 + .byte W03 + .byte MOD , 0 + .byte N18 , Gn4 + .byte W12 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N03 , En4 + .byte W03 + .byte Cn4 + .byte W03 + .byte VOICE , 82 + .byte N12 , As3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte N06 + .byte W06 + .byte As2 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte As2 + .byte W06 + .byte Ds3 + .byte W06 + .byte An3 + .byte W06 + .byte N36 , Fn3 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 , Ds3 + .byte W06 + .byte Cn3 + .byte W06 + .byte N18 , Dn3 + .byte W18 + .byte N03 , Cn3 + .byte W03 + .byte An2 + .byte W03 + .byte N24 , As2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Fs2 + .byte W06 + .byte As2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte As2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gs2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Ds2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Ds2 + .byte W06 + .byte Gn2 + .byte W06 + .byte As2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte As2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte As3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte As4 + .byte W06 + .byte Cn5 + .byte W06 + .byte N36 , Cs5 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N36 , Cn5 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N12 , An4 + .byte W12 + .byte N06 , Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte N18 , As4 + .byte W18 + .byte N06 , Cn5 + .byte W06 + .byte N36 , Cs5 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N12 , Cn5 + .byte W12 + .byte An4 + .byte W12 + .byte N06 , As4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N72 , Fn4 + .byte W12 + .byte MOD , 6 + .byte W60 + .byte 0 + .byte W24 + .byte N36 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 + .byte W06 + .byte Gn4 + .byte W06 + .byte N18 , An4 + .byte W18 + .byte N03 , Gn4 + .byte W03 + .byte Fn4 + .byte W03 + .byte N12 , Cn4 + .byte W12 + .byte VOICE , 80 + .byte N06 , As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte GOTO + .word mus_rg_nana67_5_B1 + .byte W96 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_nana67_6: + .byte KEYSH , mus_rg_nana67_key+0 + .byte VOICE , 92 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 42*mus_rg_nana67_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte N06 , Gn3 , v040 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte N12 , As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte N36 , Cn4 + .byte W48 + .byte N06 , Dn4 + .byte W06 + .byte Ds4 + .byte W06 +mus_rg_nana67_6_B1: + .byte N24 , Fn4 , v040 + .byte W36 + .byte N06 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N84 , Ds4 + .byte W84 + .byte N06 , Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N24 , Ds4 + .byte W36 + .byte N06 + .byte W06 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N72 , Dn4 + .byte W84 + .byte N06 , As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N24 , Dn4 + .byte W36 + .byte N06 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte N12 , As3 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte Gn4 + .byte W24 + .byte N18 , As4 + .byte W36 + .byte N06 , Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte Ds4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Ds3 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N72 , As3 + .byte W96 + .byte W12 + .byte N06 + .byte W06 + .byte Cn4 + .byte W06 + .byte N12 , Cs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N04 , Cs4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Cs4 + .byte W04 + .byte N12 , Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte N12 , Gs3 + .byte W12 + .byte N24 , Ds4 + .byte W24 + .byte Cs4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte W12 + .byte N06 , Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N12 , As4 + .byte W12 + .byte Cs5 + .byte W12 + .byte Cn5 + .byte W12 + .byte N04 , As4 + .byte W04 + .byte Cn5 + .byte W04 + .byte As4 + .byte W04 + .byte N12 , Gs4 + .byte W12 + .byte N06 , Fs4 + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N24 , Ds5 + .byte W24 + .byte Fn5 + .byte W24 + .byte N06 , Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N72 , Fn5 + .byte W84 + .byte N06 , Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N72 , Fn5 + .byte W84 + .byte N06 , An4 + .byte W06 + .byte As4 + .byte W06 + .byte N72 , Cn5 + .byte W96 + .byte N36 , An4 + .byte W36 + .byte N06 , Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N24 , Fn4 + .byte W36 + .byte N06 , Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte GOTO + .word mus_rg_nana67_6_B1 + .byte W96 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_nana67_7: + .byte KEYSH , mus_rg_nana67_key+0 + .byte VOICE , 0 + .byte VOL , 74*mus_rg_nana67_mvl/mxv + .byte N12 , Cn1 , v112 + .byte W12 + .byte N06 , Cs1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cs1 + .byte W12 + .byte N24 + .byte W24 + .byte Cn3 , v080 + .byte W24 + .byte VOL , 63*mus_rg_nana67_mvl/mxv + .byte N06 , Cs1 , v112 + .byte N48 , Gn2 , v096 + .byte W06 + .byte N06 , Cs1 , v112 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 + .byte W72 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 + .byte N48 , Bn2 , v104 + .byte W72 + .byte N06 , Cs1 , v112 + .byte W06 + .byte N03 , Dn2 + .byte W03 + .byte N02 , Bn1 + .byte W03 + .byte Gn1 + .byte W03 + .byte Fn1 + .byte W03 + .byte N06 , Cn1 + .byte W06 + .byte Cs1 + .byte N44 , An2 + .byte W12 + .byte N05 , Cn1 , v124 + .byte W12 + .byte Cn1 , v112 + .byte W06 + .byte N05 + .byte W18 + .byte Cs1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N05 + .byte W06 + .byte N06 , Cs1 + .byte W06 + .byte Cn1 , v092 + .byte W06 + .byte Dn2 , v112 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cs1 + .byte W12 + .byte N05 + .byte N36 , Cs2 + .byte W12 + .byte N05 , Dn2 + .byte W06 + .byte N05 + .byte W06 + .byte Bn1 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte N06 , Cs1 + .byte W06 + .byte N05 , Cn1 + .byte W06 +mus_rg_nana67_7_B1: +mus_rg_nana67_7_000: + .byte N06 , Cn1 , v112 + .byte W06 + .byte N06 + .byte W30 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PEND + .byte N06 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte Fn2 , v064 + .byte W12 + .byte Cs1 , v112 + .byte W06 + .byte Fn2 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W30 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W30 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte Fn2 , v064 + .byte W12 + .byte Cs1 , v112 + .byte W06 + .byte Fn2 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W12 +mus_rg_nana67_7_001: + .byte N06 , Cn1 , v112 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nana67_7_000 + .byte PATT + .word mus_rg_nana67_7_000 + .byte PATT + .word mus_rg_nana67_7_000 + .byte PATT + .word mus_rg_nana67_7_001 + .byte PATT + .word mus_rg_nana67_7_001 + .byte PATT + .word mus_rg_nana67_7_001 + .byte PATT + .word mus_rg_nana67_7_001 + .byte PATT + .word mus_rg_nana67_7_001 + .byte PATT + .word mus_rg_nana67_7_001 + .byte PATT + .word mus_rg_nana67_7_001 + .byte PATT + .word mus_rg_nana67_7_001 + .byte GOTO + .word mus_rg_nana67_7_B1 + .byte W96 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_nana67_8: + .byte KEYSH , mus_rg_nana67_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 49*mus_rg_nana67_mvl/mxv + .byte W96 + .byte N01 , Cn5 , v112 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v112 + .byte W12 + .byte Cn5 , v052 + .byte W12 + .byte Cn5 , v112 + .byte W06 + .byte N01 + .byte W18 + .byte N01 + .byte W06 + .byte Cn5 , v068 + .byte W06 + .byte Cn5 , v092 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v112 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v112 + .byte W12 + .byte Cn5 , v052 + .byte W12 + .byte Cn5 , v112 + .byte W06 + .byte Cn5 , v068 + .byte W03 + .byte Cn5 , v060 + .byte W15 + .byte Cn5 , v112 + .byte W06 + .byte Cn5 , v068 + .byte W06 + .byte Cn5 , v092 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v112 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v112 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v112 + .byte W06 + .byte N01 + .byte W18 + .byte N01 + .byte W06 + .byte Cn5 , v068 + .byte W06 + .byte Cn5 , v092 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v112 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v112 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v084 + .byte W24 +mus_rg_nana67_8_B1: +mus_rg_nana67_8_000: + .byte N01 , Cn5 , v112 + .byte W12 + .byte N01 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v112 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte PEND + .byte Cn5 , v112 + .byte W12 + .byte N01 + .byte W06 + .byte Cn5 , v068 + .byte W03 + .byte Cn5 , v060 + .byte W15 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W18 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte PATT + .word mus_rg_nana67_8_000 + .byte N01 , Cn5 , v112 + .byte W12 + .byte N01 + .byte W06 + .byte Cn5 , v068 + .byte W03 + .byte Cn5 , v060 + .byte W15 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W18 + .byte PATT + .word mus_rg_nana67_8_000 + .byte N01 , Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v112 + .byte W12 + .byte N01 + .byte W06 + .byte Cn5 , v068 + .byte W03 + .byte Cn5 , v060 + .byte W15 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte PATT + .word mus_rg_nana67_8_000 + .byte N01 , Cn5 , v112 + .byte W12 + .byte N01 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v112 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v060 + .byte W12 +mus_rg_nana67_8_001: + .byte N01 , Cn5 , v112 + .byte W12 + .byte N01 + .byte W06 + .byte Cn5 , v068 + .byte W03 + .byte Cn5 , v060 + .byte W15 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v112 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte PEND + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W18 + .byte N01 + .byte W06 + .byte Cn5 , v048 + .byte W18 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v096 + .byte W06 + .byte Cn5 , v048 + .byte W18 + .byte PATT + .word mus_rg_nana67_8_001 + .byte N01 , Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W18 + .byte N01 + .byte W06 + .byte Cn5 , v048 + .byte W18 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W18 + .byte Cn5 , v096 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v112 + .byte W12 + .byte N01 + .byte W06 + .byte Cn5 , v068 + .byte W03 + .byte Cn5 , v060 + .byte W03 + .byte Cn5 , v072 + .byte W24 + .byte Cn5 , v112 + .byte W12 + .byte N01 + .byte W06 + .byte Cn5 , v068 + .byte W03 + .byte Cn5 , v060 + .byte W03 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v112 + .byte W12 + .byte N01 + .byte W06 + .byte Cn5 , v068 + .byte W03 + .byte Cn5 , v060 + .byte W03 + .byte Cn5 , v072 + .byte W24 + .byte Cn5 , v112 + .byte W06 + .byte Cn5 , v056 + .byte W18 + .byte Cn5 , v112 + .byte W12 + .byte N01 + .byte W06 + .byte Cn5 , v068 + .byte W03 + .byte Cn5 , v060 + .byte W03 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte W12 + .byte N01 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W18 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v064 + .byte W18 + .byte N01 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte GOTO + .word mus_rg_nana67_8_B1 + .byte W96 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_nana67_9: + .byte KEYSH , mus_rg_nana67_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 42*mus_rg_nana67_mvl/mxv + .byte W72 + .byte N24 , Gn5 , v112 + .byte W24 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W84 + .byte N11 + .byte W12 +mus_rg_nana67_9_B1: + .byte W96 + .byte W24 + .byte N12 , Gn5 , v080 + .byte W48 + .byte N12 + .byte W24 + .byte W96 + .byte W24 + .byte N12 + .byte W60 + .byte N12 + .byte W12 + .byte W96 + .byte W72 + .byte N12 + .byte W24 + .byte W96 + .byte W96 + .byte W24 + .byte N12 + .byte W72 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte W24 + .byte N12 + .byte W72 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte W60 + .byte N11 , Gn5 , v112 + .byte W36 + .byte W60 + .byte N11 + .byte W24 + .byte N11 + .byte W12 + .byte W96 + .byte N12 , Gn5 , v080 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte GOTO + .word mus_rg_nana67_9_B1 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_nana67: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_nana67_pri @ Priority + .byte mus_rg_nana67_rev @ Reverb. + + .word mus_rg_nana67_grp + + .word mus_rg_nana67_1 + .word mus_rg_nana67_2 + .word mus_rg_nana67_3 + .word mus_rg_nana67_4 + .word mus_rg_nana67_5 + .word mus_rg_nana67_6 + .word mus_rg_nana67_7 + .word mus_rg_nana67_8 + .word mus_rg_nana67_9 + + .end diff --git a/sound/songs/mus_rg_nanadungeon.s b/sound/songs/mus_rg_nanadungeon.s new file mode 100644 index 0000000000..deda383d38 --- /dev/null +++ b/sound/songs/mus_rg_nanadungeon.s @@ -0,0 +1,3699 @@ + .include "MPlayDef.s" + + .equ mus_rg_nanadungeon_grp, voicegroup_86A63F4 + .equ mus_rg_nanadungeon_pri, 0 + .equ mus_rg_nanadungeon_rev, reverb_set+50 + .equ mus_rg_nanadungeon_mvl, 127 + .equ mus_rg_nanadungeon_key, 0 + .equ mus_rg_nanadungeon_tbs, 1 + .equ mus_rg_nanadungeon_exg, 0 + .equ mus_rg_nanadungeon_cmp, 1 + + .section .rodata + .global mus_rg_nanadungeon + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_nanadungeon_1: + .byte KEYSH , mus_rg_nanadungeon_key+0 +mus_rg_nanadungeon_1_B1: + .byte TEMPO , 110*mus_rg_nanadungeon_tbs/2 + .byte VOICE , 1 + .byte PAN , c_v+16 + .byte VOL , 65*mus_rg_nanadungeon_mvl/mxv + .byte BEND , c_v+1 + .byte N12 , Bn2 , v088 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 +mus_rg_nanadungeon_1_000: + .byte N12 , Bn2 , v088 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nanadungeon_1_000 + .byte N12 , Bn2 , v088 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte En3 + .byte W12 +mus_rg_nanadungeon_1_001: + .byte N12 , En3 , v088 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte En3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte En3 + .byte W12 + .byte Gs3 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nanadungeon_1_001 + .byte PATT + .word mus_rg_nanadungeon_1_001 + .byte PATT + .word mus_rg_nanadungeon_1_001 + .byte PATT + .word mus_rg_nanadungeon_1_000 + .byte PATT + .word mus_rg_nanadungeon_1_000 + .byte PATT + .word mus_rg_nanadungeon_1_000 + .byte PATT + .word mus_rg_nanadungeon_1_000 + .byte N12 , Fn4 , v088 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte En4 + .byte W12 + .byte N12 + .byte W12 + .byte Ds4 + .byte W12 + .byte N12 + .byte W12 + .byte W12 + .byte N12 + .byte W12 + .byte Dn4 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte TEMPO , 112*mus_rg_nanadungeon_tbs/2 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte TEMPO , 98*mus_rg_nanadungeon_tbs/2 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte TEMPO , 90*mus_rg_nanadungeon_tbs/2 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte TEMPO , 82*mus_rg_nanadungeon_tbs/2 + .byte Gs1 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte TEMPO , 78*mus_rg_nanadungeon_tbs/2 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte TEMPO , 74*mus_rg_nanadungeon_tbs/2 + .byte Fs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte TEMPO , 66*mus_rg_nanadungeon_tbs/2 + .byte Fn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte TEMPO , 12*mus_rg_nanadungeon_tbs/2 + .byte Cn2 + .byte W06 + .byte TEMPO , 110*mus_rg_nanadungeon_tbs/2 + .byte N12 , Dn4 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte Ds4 + .byte W12 + .byte N12 + .byte W12 + .byte En4 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte Fn4 + .byte W12 + .byte N12 + .byte W12 +mus_rg_nanadungeon_1_002: + .byte N12 , Ds3 , v088 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nanadungeon_1_002 + .byte PATT + .word mus_rg_nanadungeon_1_002 + .byte PATT + .word mus_rg_nanadungeon_1_002 +mus_rg_nanadungeon_1_003: + .byte N12 , An2 , v088 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nanadungeon_1_003 + .byte PATT + .word mus_rg_nanadungeon_1_003 + .byte N12 , Cs3 , v088 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 +mus_rg_nanadungeon_1_004: + .byte N12 , Gs3 , v088 + .byte W12 + .byte En3 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nanadungeon_1_004 + .byte N12 , Gs3 , v088 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte W96 + .byte W48 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N36 , Cs3 + .byte W12 + .byte W24 + .byte N12 , Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N36 , Cs3 + .byte W36 + .byte N12 , Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N36 , Cs3 + .byte W36 + .byte N12 , Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N36 , Cs3 + .byte W36 + .byte N12 , Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 , v064 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 , v080 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 , v096 + .byte W12 + .byte Ds3 + .byte W12 + .byte GOTO + .word mus_rg_nanadungeon_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_nanadungeon_2: + .byte KEYSH , mus_rg_nanadungeon_key+0 +mus_rg_nanadungeon_2_B1: + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 73*mus_rg_nanadungeon_mvl/mxv + .byte N12 , Ds4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , Ds4 , v016 + .byte W12 + .byte PAN , c_v-64 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Cs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , Cs4 , v016 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Bn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , Cs4 , v016 + .byte W12 + .byte PAN , c_v-64 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Bn3 , v096 + .byte W12 + .byte Cs4 + .byte W12 +mus_rg_nanadungeon_2_000: + .byte MOD , 0 + .byte N12 , Ds4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , Cs4 , v016 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Bn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , As3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PEND +mus_rg_nanadungeon_2_001: + .byte MOD , 0 + .byte N12 , Bn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , Bn3 , v016 + .byte W12 + .byte PAN , c_v-64 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Cs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , Cs4 , v016 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte PAN , c_v-63 + .byte N12 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cs4 , v012 + .byte W12 + .byte PEND + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Gs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , Gs4 , v016 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Fs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , Fs4 , v016 + .byte W12 + .byte PAN , c_v-63 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , En4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Fs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn5 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Fs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , Fs4 , v016 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , En4 , v096 + .byte W12 + .byte Fs4 + .byte W12 + .byte MOD , 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn5 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Fs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , Fs4 , v016 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , En4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , En4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , En4 , v016 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Fs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , Fs4 , v016 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , En4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , En4 , v016 + .byte W12 + .byte VOICE , 24 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Ds4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , Ds4 , v016 + .byte W12 + .byte PAN , c_v-64 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Cs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , Cs4 , v016 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Bn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , Cs4 , v016 + .byte W12 + .byte PAN , c_v-64 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Bn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PATT + .word mus_rg_nanadungeon_2_000 + .byte PATT + .word mus_rg_nanadungeon_2_001 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Gs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , Gs4 , v016 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Gs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , An4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , As4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , As4 , v028 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , As4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Bn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-16 + .byte MOD , 0 + .byte N12 , En3 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , En3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte N12 , Bn2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Bn2 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-16 + .byte MOD , 0 + .byte N12 , Ds3 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Ds3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte N12 , As2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , As2 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-16 + .byte MOD , 0 + .byte N12 , Dn3 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Dn3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte N12 , An2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , An2 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-16 + .byte MOD , 0 + .byte N12 , Cs3 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Cs3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte N12 , Gs2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Gs2 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-16 + .byte MOD , 0 + .byte N12 , Cn3 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Cn3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte N12 , Gn2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Gn2 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-16 + .byte MOD , 0 + .byte N12 , Bn2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Bn2 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte N12 , Fs2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Fs2 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-16 + .byte MOD , 0 + .byte N12 , As2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , As2 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte N12 , Fn2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Fn2 , v016 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , An2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , An2 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte N12 , En2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , En2 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 1 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Bn4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Bn4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Bn4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , As4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , An4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-62 + .byte MOD , 0 + .byte N12 , An4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , An4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 24 + .byte MOD , 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Cs4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Bn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Bn3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , As3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Bn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Cs4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Bn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Cs4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Bn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Ds4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-64 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Gn4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Gn4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 1 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Gn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Gn3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Fn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Fn3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , En3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Fn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , An3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , An3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Gn3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Fn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , An3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , An3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Gn3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , An3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , An3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Cs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Cs4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 24 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Gn4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Gn4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Gn4 , v020 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Gn4 , v012 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Gn4 , v008 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Fn4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Fn4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Fn4 , v012 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , En4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Fn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , An4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs5 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , An4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Gn4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , An4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs5 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , An4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Gn4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , An4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , An4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Cs5 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Cs5 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 1 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Fs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Fs4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Fs4 , v008 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , En4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , En4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Ds4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , En4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn5 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Fs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Fs4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , En4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Fs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn5 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Fs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Fs4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Gs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Gs4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Cn5 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Cn5 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 24 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Ds3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Cs3 , v024 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 1 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Ds3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Cs3 , v024 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , En2 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs2 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , En3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , En4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn4 + .byte W06 + .byte MOD , 3 + .byte W03 + .byte VOICE , 24 + .byte W03 + .byte MOD , 0 + .byte N12 , En4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 1 + .byte MOD , 0 + .byte N12 , En4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 24 + .byte MOD , 0 + .byte N12 , En4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 1 + .byte MOD , 0 + .byte N12 , En4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 24 + .byte MOD , 0 + .byte N12 , En4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W03 + .byte VOICE , 1 + .byte W03 + .byte MOD , 0 + .byte N12 , Bn2 , v032 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Bn2 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Bn2 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Bn2 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn3 + .byte W06 + .byte MOD , 3 + .byte W06 +mus_rg_nanadungeon_2_002: + .byte MOD , 0 + .byte N12 , Bn2 , v032 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PEND +mus_rg_nanadungeon_2_003: + .byte MOD , 0 + .byte N12 , Ds3 , v032 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PEND + .byte 0 + .byte N12 , Gn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PATT + .word mus_rg_nanadungeon_2_002 + .byte PATT + .word mus_rg_nanadungeon_2_003 + .byte GOTO + .word mus_rg_nanadungeon_2_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_nanadungeon_3: + .byte KEYSH , mus_rg_nanadungeon_key+0 +mus_rg_nanadungeon_3_B1: + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-34 + .byte VOL , 65*mus_rg_nanadungeon_mvl/mxv + .byte BEND , c_v+1 + .byte W24 + .byte N12 , Bn2 , v020 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 +mus_rg_nanadungeon_3_000: + .byte N12 , Bn2 , v020 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nanadungeon_3_000 + .byte PATT + .word mus_rg_nanadungeon_3_000 + .byte N12 , Ds3 , v020 + .byte W12 + .byte En3 + .byte W12 + .byte N12 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte En3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 +mus_rg_nanadungeon_3_001: + .byte N12 , En3 , v020 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte En3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nanadungeon_3_001 + .byte PATT + .word mus_rg_nanadungeon_3_001 + .byte N12 , En3 , v020 + .byte W12 + .byte Gs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PATT + .word mus_rg_nanadungeon_3_000 + .byte PATT + .word mus_rg_nanadungeon_3_000 + .byte PATT + .word mus_rg_nanadungeon_3_000 + .byte N12 , Bn2 , v020 + .byte W12 + .byte Ds3 + .byte W84 + .byte W96 + .byte N06 , Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Gs1 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Fs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Fn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W54 + .byte W96 + .byte W48 + .byte N12 , Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn3 + .byte W12 +mus_rg_nanadungeon_3_002: + .byte N12 , Ds3 , v020 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn3 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nanadungeon_3_002 + .byte PATT + .word mus_rg_nanadungeon_3_002 + .byte N12 , Ds3 , v020 + .byte W12 + .byte Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cs3 + .byte W12 +mus_rg_nanadungeon_3_003: + .byte N12 , An2 , v020 + .byte W12 + .byte Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nanadungeon_3_003 + .byte N12 , An2 , v020 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 +mus_rg_nanadungeon_3_004: + .byte N12 , An3 , v020 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nanadungeon_3_004 + .byte N12 , Cs4 , v020 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 +mus_rg_nanadungeon_3_005: + .byte N12 , En3 , v020 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nanadungeon_3_005 + .byte N12 , En3 , v020 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W84 + .byte W72 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N36 , Cs3 + .byte W36 + .byte N12 , Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N36 , Cs3 + .byte W12 + .byte W24 + .byte N12 , Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N36 , Cs3 + .byte W36 + .byte N12 , Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N36 , Cs3 + .byte W36 + .byte N12 , Ds3 + .byte W12 + .byte Bn2 , v016 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte GOTO + .word mus_rg_nanadungeon_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_nanadungeon_4: + .byte KEYSH , mus_rg_nanadungeon_key+0 +mus_rg_nanadungeon_4_B1: + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 45*mus_rg_nanadungeon_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 90*mus_rg_nanadungeon_mvl/mxv + .byte W72 + .byte PAN , c_v-32 + .byte N03 , Bn1 , v092 + .byte W03 + .byte Cn2 + .byte W03 + .byte Cs2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte En2 + .byte W09 + .byte PAN , c_v+32 + .byte N03 , Cn2 + .byte W03 + .byte Cs2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte En2 + .byte W03 + .byte Fn2 + .byte W80 + .byte W01 + .byte VOL , 79*mus_rg_nanadungeon_mvl/mxv + .byte W48 + .byte 79*mus_rg_nanadungeon_mvl/mxv + .byte PAN , c_v+21 + .byte N24 , En2 + .byte W12 + .byte VOL , 45*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 79*mus_rg_nanadungeon_mvl/mxv + .byte PAN , c_v-16 + .byte N24 , Bn1 , v080 + .byte W12 + .byte VOL , 44*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 79*mus_rg_nanadungeon_mvl/mxv + .byte PAN , c_v+22 + .byte N24 , Ds2 , v092 + .byte W12 + .byte VOL , 45*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 79*mus_rg_nanadungeon_mvl/mxv + .byte PAN , c_v-16 + .byte N24 , As1 , v080 + .byte W12 + .byte VOL , 44*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 79*mus_rg_nanadungeon_mvl/mxv + .byte PAN , c_v+22 + .byte N24 , Dn2 , v092 + .byte W12 + .byte VOL , 45*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 79*mus_rg_nanadungeon_mvl/mxv + .byte PAN , c_v-16 + .byte N24 , An1 , v080 + .byte W12 + .byte VOL , 44*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 79*mus_rg_nanadungeon_mvl/mxv + .byte PAN , c_v+23 + .byte N24 , Cs2 , v092 + .byte W12 + .byte VOL , 45*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 79*mus_rg_nanadungeon_mvl/mxv + .byte PAN , c_v-16 + .byte N24 , Gs1 , v080 + .byte W12 + .byte VOL , 44*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 79*mus_rg_nanadungeon_mvl/mxv + .byte PAN , c_v+22 + .byte N24 , Cn2 , v092 + .byte W12 + .byte VOL , 45*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 79*mus_rg_nanadungeon_mvl/mxv + .byte PAN , c_v-16 + .byte N24 , Gn1 , v080 + .byte W12 + .byte VOL , 44*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 79*mus_rg_nanadungeon_mvl/mxv + .byte PAN , c_v+21 + .byte N24 , Bn1 , v092 + .byte W12 + .byte VOL , 45*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 79*mus_rg_nanadungeon_mvl/mxv + .byte PAN , c_v-16 + .byte N24 , Fs1 , v080 + .byte W12 + .byte VOL , 44*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 79*mus_rg_nanadungeon_mvl/mxv + .byte PAN , c_v+22 + .byte N24 , As1 , v092 + .byte W12 + .byte VOL , 45*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 79*mus_rg_nanadungeon_mvl/mxv + .byte PAN , c_v-16 + .byte N24 , Fn1 , v080 + .byte W12 + .byte VOL , 44*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 79*mus_rg_nanadungeon_mvl/mxv + .byte PAN , c_v+22 + .byte N24 , An1 , v092 + .byte W12 + .byte VOL , 45*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 79*mus_rg_nanadungeon_mvl/mxv + .byte PAN , c_v-16 + .byte N48 , En1 , v080 + .byte W12 + .byte VOL , 44*mus_rg_nanadungeon_mvl/mxv + .byte W06 + .byte 29*mus_rg_nanadungeon_mvl/mxv + .byte W03 + .byte 19*mus_rg_nanadungeon_mvl/mxv + .byte W03 + .byte 10*mus_rg_nanadungeon_mvl/mxv + .byte W03 + .byte 8*mus_rg_nanadungeon_mvl/mxv + .byte W03 + .byte 5*mus_rg_nanadungeon_mvl/mxv + .byte W03 + .byte 3*mus_rg_nanadungeon_mvl/mxv + .byte W03 + .byte 1*mus_rg_nanadungeon_mvl/mxv + .byte W03 + .byte 1*mus_rg_nanadungeon_mvl/mxv + .byte W09 + .byte 0*mus_rg_nanadungeon_mvl/mxv + .byte W24 + .byte W72 + .byte PAN , c_v+32 + .byte VOL , 90*mus_rg_nanadungeon_mvl/mxv + .byte N03 , Fn2 , v092 + .byte W03 + .byte En2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Cs2 + .byte W03 + .byte Cn2 + .byte W09 + .byte PAN , c_v-32 + .byte N03 , En2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Cs2 + .byte W03 + .byte Cn2 + .byte W03 + .byte Bn1 + .byte W09 + .byte VOL , 45*mus_rg_nanadungeon_mvl/mxv + .byte W72 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W12 + .byte W12 + .byte W12 + .byte W12 + .byte W12 + .byte GOTO + .word mus_rg_nanadungeon_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_nanadungeon_5: + .byte KEYSH , mus_rg_nanadungeon_key+0 +mus_rg_nanadungeon_5_B1: + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-64 + .byte VOL , 34*mus_rg_nanadungeon_mvl/mxv + .byte BEND , c_v-18 + .byte TIE , Gn3 , v040 + .byte W03 + .byte BEND , c_v-10 + .byte W03 + .byte c_v-6 + .byte W03 + .byte c_v-2 + .byte W03 + .byte c_v+0 + .byte W36 + .byte MOD , 3 + .byte W36 + .byte BEND , c_v-5 + .byte W06 + .byte c_v+0 + .byte W06 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte W48 + .byte MOD , 3 + .byte W36 + .byte BEND , c_v-5 + .byte W06 + .byte c_v+0 + .byte W06 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte W03 + .byte c_v+2 + .byte W06 + .byte c_v+0 + .byte W36 + .byte W03 + .byte MOD , 3 + .byte W12 + .byte BEND , c_v+3 + .byte W06 + .byte c_v+0 + .byte W30 + .byte MOD , 0 + .byte W48 + .byte 3 + .byte BEND , c_v+0 + .byte W03 + .byte c_v+2 + .byte W03 + .byte c_v+5 + .byte W03 + .byte c_v+7 + .byte W03 + .byte c_v+8 + .byte W03 + .byte c_v+10 + .byte W03 + .byte c_v+11 + .byte W03 + .byte c_v+13 + .byte W03 + .byte c_v+16 + .byte W03 + .byte c_v+18 + .byte W03 + .byte c_v+20 + .byte W03 + .byte c_v+21 + .byte W03 + .byte c_v+22 + .byte W03 + .byte c_v+23 + .byte W03 + .byte c_v+25 + .byte W03 + .byte c_v+26 + .byte W03 + .byte MOD , 0 + .byte BEND , c_v+26 + .byte W48 + .byte MOD , 3 + .byte W42 + .byte BEND , c_v+24 + .byte W06 + .byte MOD , 0 + .byte BEND , c_v+26 + .byte W42 + .byte c_v+28 + .byte W06 + .byte MOD , 3 + .byte BEND , c_v+26 + .byte W48 + .byte MOD , 0 + .byte W48 + .byte 3 + .byte W36 + .byte BEND , c_v+24 + .byte W06 + .byte c_v+26 + .byte W06 + .byte MOD , 0 + .byte W48 + .byte W03 + .byte BEND , c_v+24 + .byte W03 + .byte c_v+22 + .byte W03 + .byte c_v+21 + .byte W03 + .byte c_v+19 + .byte W03 + .byte c_v+18 + .byte W03 + .byte c_v+17 + .byte W03 + .byte c_v+16 + .byte W03 + .byte c_v+16 + .byte W03 + .byte c_v+14 + .byte W03 + .byte c_v+11 + .byte W03 + .byte c_v+9 + .byte W03 + .byte c_v+7 + .byte W03 + .byte c_v+5 + .byte W03 + .byte c_v+4 + .byte W03 + .byte c_v+2 + .byte W03 + .byte c_v-1 + .byte W03 + .byte c_v+0 + .byte W09 + .byte MOD , 4 + .byte W48 + .byte BEND , c_v-4 + .byte W06 + .byte c_v+0 + .byte W30 + .byte W36 + .byte W03 + .byte c_v+4 + .byte W09 + .byte c_v+0 + .byte W48 + .byte W32 + .byte W01 + .byte c_v+2 + .byte W06 + .byte c_v+0 + .byte W56 + .byte W01 + .byte W36 + .byte c_v-4 + .byte W12 + .byte c_v+0 + .byte W48 + .byte EOT + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N03 , Fn4 , v032 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte En4 + .byte W12 + .byte N03 + .byte W12 + .byte Ds4 + .byte W12 + .byte N03 + .byte W12 + .byte W12 + .byte N03 + .byte W12 + .byte Dn4 + .byte W12 + .byte N03 + .byte W60 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 4*mus_rg_nanadungeon_mvl/mxv + .byte W48 + .byte 4*mus_rg_nanadungeon_mvl/mxv + .byte BEND , c_v-16 + .byte TIE , Ds3 , v052 + .byte W03 + .byte VOL , 7*mus_rg_nanadungeon_mvl/mxv + .byte W03 + .byte BEND , c_v-15 + .byte W03 + .byte VOL , 11*mus_rg_nanadungeon_mvl/mxv + .byte W03 + .byte MOD , 5 + .byte VOL , 15*mus_rg_nanadungeon_mvl/mxv + .byte BEND , c_v-13 + .byte W06 + .byte VOL , 17*mus_rg_nanadungeon_mvl/mxv + .byte BEND , c_v-12 + .byte W06 + .byte VOL , 21*mus_rg_nanadungeon_mvl/mxv + .byte BEND , c_v-9 + .byte W06 + .byte VOL , 24*mus_rg_nanadungeon_mvl/mxv + .byte BEND , c_v-7 + .byte W03 + .byte VOL , 28*mus_rg_nanadungeon_mvl/mxv + .byte W03 + .byte BEND , c_v-6 + .byte W06 + .byte VOL , 31*mus_rg_nanadungeon_mvl/mxv + .byte BEND , c_v-3 + .byte W06 + .byte VOL , 34*mus_rg_nanadungeon_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte c_v-2 + .byte W06 + .byte c_v-2 + .byte W06 + .byte c_v-3 + .byte W06 + .byte c_v-5 + .byte W06 + .byte c_v-5 + .byte W12 + .byte c_v-7 + .byte W06 + .byte c_v-8 + .byte W03 + .byte c_v-9 + .byte W03 + .byte c_v-11 + .byte W96 + .byte W96 + .byte W96 + .byte W30 + .byte c_v-9 + .byte W06 + .byte c_v-6 + .byte W06 + .byte c_v-4 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+3 + .byte W06 + .byte c_v+6 + .byte W06 + .byte c_v+8 + .byte W06 + .byte c_v+10 + .byte W24 + .byte MOD , 4 + .byte W96 + .byte W96 + .byte 7 + .byte W84 + .byte BEND , c_v+8 + .byte W12 + .byte W12 + .byte c_v+6 + .byte W12 + .byte MOD , 0 + .byte BEND , c_v+5 + .byte W12 + .byte MOD , 4 + .byte W60 + .byte W96 + .byte W96 + .byte W32 + .byte W01 + .byte VOL , 27*mus_rg_nanadungeon_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 16*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 10*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 5*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte EOT + .byte VOL , 0*mus_rg_nanadungeon_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte W92 + .byte W01 + .byte VOL , 32*mus_rg_nanadungeon_mvl/mxv + .byte W03 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte BEND , c_v+1 + .byte W12 + .byte N12 , Bn3 , v024 + .byte W12 + .byte Ds4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Ds4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Ds4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Ds4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Ds4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Ds4 + .byte W12 + .byte GOTO + .word mus_rg_nanadungeon_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_nanadungeon_6: + .byte KEYSH , mus_rg_nanadungeon_key+0 +mus_rg_nanadungeon_6_B1: + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 34*mus_rg_nanadungeon_mvl/mxv + .byte BEND , c_v+0 + .byte TIE , Ds4 , v040 + .byte W48 + .byte MOD , 3 + .byte W36 + .byte BEND , c_v+1 + .byte W12 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte W06 + .byte c_v-3 + .byte W06 + .byte c_v+0 + .byte W36 + .byte MOD , 3 + .byte W48 + .byte 0 + .byte W36 + .byte BEND , c_v+2 + .byte W12 + .byte MOD , 3 + .byte BEND , c_v+0 + .byte W48 + .byte MOD , 0 + .byte W36 + .byte BEND , c_v-3 + .byte W12 + .byte MOD , 3 + .byte BEND , c_v+0 + .byte W03 + .byte c_v+2 + .byte W03 + .byte c_v+5 + .byte W03 + .byte c_v+7 + .byte W03 + .byte c_v+8 + .byte W03 + .byte c_v+10 + .byte W03 + .byte c_v+11 + .byte W03 + .byte c_v+13 + .byte W03 + .byte c_v+16 + .byte W03 + .byte c_v+18 + .byte W03 + .byte c_v+20 + .byte W03 + .byte c_v+21 + .byte W03 + .byte c_v+22 + .byte W03 + .byte c_v+23 + .byte W03 + .byte c_v+25 + .byte W03 + .byte c_v+26 + .byte W03 + .byte MOD , 0 + .byte BEND , c_v+26 + .byte W48 + .byte MOD , 3 + .byte W36 + .byte BEND , c_v+23 + .byte W06 + .byte c_v+26 + .byte W06 + .byte MOD , 0 + .byte W36 + .byte BEND , c_v+27 + .byte W06 + .byte c_v+26 + .byte W06 + .byte MOD , 3 + .byte W48 + .byte 0 + .byte W48 + .byte 3 + .byte W36 + .byte BEND , c_v+23 + .byte W12 + .byte MOD , 0 + .byte BEND , c_v+26 + .byte W48 + .byte W03 + .byte c_v+24 + .byte W03 + .byte c_v+22 + .byte W03 + .byte c_v+21 + .byte W03 + .byte c_v+19 + .byte W03 + .byte c_v+18 + .byte W03 + .byte c_v+17 + .byte W03 + .byte c_v+16 + .byte W03 + .byte c_v+16 + .byte W03 + .byte c_v+14 + .byte W03 + .byte c_v+11 + .byte W03 + .byte c_v+9 + .byte W03 + .byte c_v+7 + .byte W03 + .byte c_v+5 + .byte W03 + .byte c_v+4 + .byte W03 + .byte c_v+2 + .byte W03 + .byte c_v-1 + .byte W03 + .byte c_v+0 + .byte W09 + .byte MOD , 4 + .byte W21 + .byte BEND , c_v+3 + .byte W06 + .byte c_v+0 + .byte W48 + .byte W03 + .byte c_v-3 + .byte W06 + .byte c_v+0 + .byte W60 + .byte c_v+3 + .byte W06 + .byte c_v+0 + .byte W30 + .byte W60 + .byte c_v-6 + .byte W06 + .byte c_v+0 + .byte W30 + .byte W12 + .byte c_v+4 + .byte W06 + .byte c_v+0 + .byte W66 + .byte c_v+4 + .byte W06 + .byte c_v+0 + .byte W06 + .byte EOT + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N03 , Gs4 , v032 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W12 + .byte As4 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Bn4 + .byte W12 + .byte N03 + .byte W60 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 4*mus_rg_nanadungeon_mvl/mxv + .byte W48 + .byte 4*mus_rg_nanadungeon_mvl/mxv + .byte BEND , c_v-22 + .byte TIE , Cs4 , v052 + .byte W03 + .byte VOL , 7*mus_rg_nanadungeon_mvl/mxv + .byte W03 + .byte BEND , c_v-18 + .byte W03 + .byte MOD , 4 + .byte VOL , 11*mus_rg_nanadungeon_mvl/mxv + .byte W03 + .byte 15*mus_rg_nanadungeon_mvl/mxv + .byte BEND , c_v-13 + .byte W06 + .byte VOL , 17*mus_rg_nanadungeon_mvl/mxv + .byte BEND , c_v-10 + .byte W06 + .byte VOL , 21*mus_rg_nanadungeon_mvl/mxv + .byte BEND , c_v-8 + .byte W06 + .byte VOL , 24*mus_rg_nanadungeon_mvl/mxv + .byte BEND , c_v-5 + .byte W03 + .byte VOL , 28*mus_rg_nanadungeon_mvl/mxv + .byte W03 + .byte BEND , c_v-3 + .byte W06 + .byte VOL , 31*mus_rg_nanadungeon_mvl/mxv + .byte BEND , c_v-2 + .byte W06 + .byte VOL , 34*mus_rg_nanadungeon_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte c_v-4 + .byte W06 + .byte c_v-7 + .byte W06 + .byte c_v-10 + .byte W06 + .byte c_v-12 + .byte W06 + .byte c_v-15 + .byte W06 + .byte c_v-19 + .byte W06 + .byte c_v-23 + .byte W06 + .byte c_v-26 + .byte W06 + .byte c_v-32 + .byte W96 + .byte W96 + .byte W96 + .byte W44 + .byte W01 + .byte c_v-27 + .byte W03 + .byte c_v-22 + .byte W03 + .byte c_v-16 + .byte W03 + .byte c_v-11 + .byte W03 + .byte c_v-6 + .byte W03 + .byte c_v-2 + .byte W03 + .byte c_v+2 + .byte W03 + .byte c_v+5 + .byte W03 + .byte c_v+9 + .byte W03 + .byte c_v+14 + .byte W03 + .byte c_v+19 + .byte W03 + .byte c_v+22 + .byte W03 + .byte c_v+25 + .byte W03 + .byte c_v+29 + .byte W03 + .byte c_v+33 + .byte W03 + .byte c_v+37 + .byte W03 + .byte c_v+39 + .byte W03 + .byte MOD , 4 + .byte BEND , c_v+42 + .byte W96 + .byte W96 + .byte MOD , 7 + .byte W54 + .byte BEND , c_v+40 + .byte W06 + .byte c_v+40 + .byte W06 + .byte c_v+37 + .byte W06 + .byte c_v+36 + .byte W06 + .byte c_v+33 + .byte W06 + .byte c_v+32 + .byte W06 + .byte c_v+28 + .byte W06 + .byte MOD , 0 + .byte BEND , c_v+26 + .byte W24 + .byte MOD , 0 + .byte W12 + .byte 4 + .byte W60 + .byte W96 + .byte W96 + .byte W32 + .byte W01 + .byte VOL , 27*mus_rg_nanadungeon_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 16*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 10*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 5*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte EOT + .byte VOL , 0*mus_rg_nanadungeon_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte W96 + .byte VOL , 34*mus_rg_nanadungeon_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W60 + .byte N12 , Bn2 , v032 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte GOTO + .word mus_rg_nanadungeon_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_nanadungeon_7: + .byte KEYSH , mus_rg_nanadungeon_key+0 +mus_rg_nanadungeon_7_B1: + .byte VOICE , 0 + .byte VOL , 44*mus_rg_nanadungeon_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte VOL , 22*mus_rg_nanadungeon_mvl/mxv + .byte N96 , Cn3 , v052 + .byte W12 + .byte VOL , 25*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 27*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 29*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 34*mus_rg_nanadungeon_mvl/mxv + .byte W09 + .byte 38*mus_rg_nanadungeon_mvl/mxv + .byte W15 + .byte 39*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 41*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 44*mus_rg_nanadungeon_mvl/mxv + .byte N48 , Gn2 , v076 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 25*mus_rg_nanadungeon_mvl/mxv + .byte N96 , Cn3 , v052 + .byte W09 + .byte VOL , 26*mus_rg_nanadungeon_mvl/mxv + .byte W09 + .byte 29*mus_rg_nanadungeon_mvl/mxv + .byte W06 + .byte 34*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 35*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 39*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 42*mus_rg_nanadungeon_mvl/mxv + .byte W12 + .byte 45*mus_rg_nanadungeon_mvl/mxv + .byte W24 + .byte N48 , An2 , v076 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W12 + .byte W12 + .byte W12 + .byte W12 + .byte W12 + .byte GOTO + .word mus_rg_nanadungeon_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_nanadungeon: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_nanadungeon_pri @ Priority + .byte mus_rg_nanadungeon_rev @ Reverb. + + .word mus_rg_nanadungeon_grp + + .word mus_rg_nanadungeon_1 + .word mus_rg_nanadungeon_2 + .word mus_rg_nanadungeon_3 + .word mus_rg_nanadungeon_4 + .word mus_rg_nanadungeon_5 + .word mus_rg_nanadungeon_6 + .word mus_rg_nanadungeon_7 + + .end diff --git a/sound/songs/mus_rg_nanaiseki.s b/sound/songs/mus_rg_nanaiseki.s new file mode 100644 index 0000000000..b0da94fef2 --- /dev/null +++ b/sound/songs/mus_rg_nanaiseki.s @@ -0,0 +1,3037 @@ + .include "MPlayDef.s" + + .equ mus_rg_nanaiseki_grp, voicegroup_86A5DF4 + .equ mus_rg_nanaiseki_pri, 0 + .equ mus_rg_nanaiseki_rev, reverb_set+50 + .equ mus_rg_nanaiseki_mvl, 127 + .equ mus_rg_nanaiseki_key, 0 + .equ mus_rg_nanaiseki_tbs, 1 + .equ mus_rg_nanaiseki_exg, 0 + .equ mus_rg_nanaiseki_cmp, 1 + + .section .rodata + .global mus_rg_nanaiseki + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_nanaiseki_1: + .byte KEYSH , mus_rg_nanaiseki_key+0 + .byte TEMPO , 128*mus_rg_nanaiseki_tbs/2 + .byte VOICE , 13 + .byte PAN , c_v+0 + .byte VOL , 82*mus_rg_nanaiseki_mvl/mxv + .byte W12 +mus_rg_nanaiseki_1_B1: + .byte VOL , 82*mus_rg_nanaiseki_mvl/mxv + .byte N24 , En4 , v127 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v048 + .byte W24 + .byte As4 , v127 + .byte W24 + .byte As4 , v080 + .byte W24 + .byte As4 , v068 + .byte W24 + .byte As4 , v052 + .byte W24 + .byte En4 , v127 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v052 + .byte W24 + .byte Cs5 , v127 + .byte W24 + .byte Cs5 , v084 + .byte W24 + .byte Cs5 , v068 + .byte W24 + .byte Cs5 , v052 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , En3 , v127 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , En3 , v080 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , En3 , v064 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , En3 , v048 + .byte W24 + .byte As3 , v127 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , As3 , v080 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , As3 , v064 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , As3 , v048 + .byte W24 + .byte N12 , Gn2 , v120 + .byte W12 + .byte N24 , As2 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte PAN , c_v-16 + .byte N24 , Cs3 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N24 , Cs3 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Gn2 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N12 , Fs2 + .byte W12 + .byte PAN , c_v+0 + .byte W02 + .byte N24 , En4 , v127 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v052 + .byte W22 + .byte W02 + .byte As4 , v127 + .byte W24 + .byte As4 , v080 + .byte W24 + .byte As4 , v064 + .byte W24 + .byte As4 , v048 + .byte W22 + .byte W02 + .byte En4 , v127 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v048 + .byte W22 + .byte W02 + .byte Cs5 , v127 + .byte W24 + .byte N22 , Cs5 , v080 + .byte W23 + .byte N24 , Cs5 , v064 + .byte W24 + .byte N22 , Cs5 , v048 + .byte W23 + .byte PAN , c_v-32 + .byte N24 , En3 , v127 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , En3 , v080 + .byte W24 + .byte PAN , c_v-32 + .byte N24 + .byte W24 + .byte PAN , c_v+32 + .byte N24 + .byte W24 + .byte As3 , v127 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , As3 , v080 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , As3 , v064 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , As3 , v052 + .byte W24 +mus_rg_nanaiseki_1_000: + .byte PAN , c_v+31 + .byte N12 , Gn2 , v120 + .byte W12 + .byte N24 , As2 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte PAN , c_v+16 + .byte N24 , Cs3 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte PEND + .byte PAN , c_v-16 + .byte N12 , Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N24 , Cs3 + .byte W24 + .byte PAN , c_v-33 + .byte N12 , Gn2 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N12 , Fs2 + .byte W12 + .byte PAN , c_v-32 + .byte N96 , En3 + .byte W96 +mus_rg_nanaiseki_1_001: + .byte PAN , c_v+32 + .byte N96 , Cn3 , v120 + .byte W96 + .byte PEND +mus_rg_nanaiseki_1_002: + .byte PAN , c_v-32 + .byte N96 , Dn3 , v120 + .byte W96 + .byte PEND +mus_rg_nanaiseki_1_003: + .byte PAN , c_v+32 + .byte N96 , As2 , v120 + .byte W96 + .byte PEND + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+0 + .byte VOL , 68*mus_rg_nanaiseki_mvl/mxv + .byte N24 , En4 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v048 + .byte W24 +mus_rg_nanaiseki_1_004: + .byte N24 , As4 , v120 + .byte W24 + .byte As4 , v080 + .byte W24 + .byte As4 , v064 + .byte W24 + .byte As4 , v048 + .byte W24 + .byte PEND +mus_rg_nanaiseki_1_005: + .byte N24 , En4 , v120 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v048 + .byte W24 + .byte PEND +mus_rg_nanaiseki_1_006: + .byte N24 , Cs5 , v120 + .byte W24 + .byte Cs5 , v080 + .byte W24 + .byte Cs5 , v064 + .byte W24 + .byte Cs5 , v048 + .byte W24 + .byte PEND + .byte En3 , v120 + .byte W24 + .byte En3 , v080 + .byte W24 + .byte En3 , v064 + .byte W24 + .byte En3 , v048 + .byte W24 +mus_rg_nanaiseki_1_007: + .byte N24 , As3 , v120 + .byte W24 + .byte As3 , v080 + .byte W24 + .byte As3 , v064 + .byte W24 + .byte As3 , v048 + .byte W24 + .byte PEND + .byte PAN , c_v-32 + .byte N12 , Gn2 , v120 + .byte W12 + .byte N24 , As2 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte PAN , c_v-16 + .byte N24 , Cs3 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N24 , Cs3 + .byte W24 + .byte PAN , c_v+31 + .byte N12 , Gn2 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N12 , Fs2 + .byte W12 + .byte PAN , c_v+0 + .byte VOL , 79*mus_rg_nanaiseki_mvl/mxv + .byte N24 , En4 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v048 + .byte W24 + .byte PATT + .word mus_rg_nanaiseki_1_004 + .byte PATT + .word mus_rg_nanaiseki_1_005 + .byte PATT + .word mus_rg_nanaiseki_1_006 + .byte VOL , 84*mus_rg_nanaiseki_mvl/mxv + .byte N24 , En3 , v120 + .byte W24 + .byte En3 , v080 + .byte W24 + .byte En3 , v064 + .byte W24 + .byte En3 , v048 + .byte W24 + .byte PATT + .word mus_rg_nanaiseki_1_007 + .byte PATT + .word mus_rg_nanaiseki_1_000 + .byte PAN , c_v-16 + .byte N12 , Bn2 , v120 + .byte W12 + .byte Gn2 + .byte W12 + .byte N24 , Cs3 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Gn2 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N12 , Fs2 + .byte W12 + .byte PAN , c_v-32 + .byte VOL , 68*mus_rg_nanaiseki_mvl/mxv + .byte N96 , En3 + .byte W96 + .byte PATT + .word mus_rg_nanaiseki_1_001 + .byte PATT + .word mus_rg_nanaiseki_1_002 + .byte PATT + .word mus_rg_nanaiseki_1_003 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v-32 + .byte VOL , 68*mus_rg_nanaiseki_mvl/mxv + .byte N96 , En4 , v120 + .byte W96 +mus_rg_nanaiseki_1_008: + .byte PAN , c_v+32 + .byte N96 , Dn4 , v120 + .byte W96 + .byte PEND + .byte PAN , c_v-32 + .byte N96 , Cn4 + .byte W96 + .byte PATT + .word mus_rg_nanaiseki_1_008 + .byte GOTO + .word mus_rg_nanaiseki_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_nanaiseki_2: + .byte KEYSH , mus_rg_nanaiseki_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-16 + .byte VOL , 72*mus_rg_nanaiseki_mvl/mxv + .byte W12 +mus_rg_nanaiseki_2_B1: + .byte PAN , c_v-32 + .byte VOL , 72*mus_rg_nanaiseki_mvl/mxv + .byte N24 , En3 , v120 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , En3 , v064 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , En3 , v048 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , En3 , v032 + .byte W24 +mus_rg_nanaiseki_2_000: + .byte N24 , Cn3 , v120 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Cn3 , v064 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , Cn3 , v048 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Cn3 , v032 + .byte W24 + .byte PEND + .byte PAN , c_v-32 + .byte N24 , En3 , v120 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , En3 , v064 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , En3 , v048 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , En3 , v032 + .byte W24 + .byte PATT + .word mus_rg_nanaiseki_2_000 + .byte PAN , c_v+0 + .byte VOL , 64*mus_rg_nanaiseki_mvl/mxv + .byte N24 , Bn3 , v120 + .byte W24 + .byte Bn3 , v064 + .byte W24 + .byte Bn3 , v048 + .byte W24 + .byte Bn3 , v032 + .byte W24 + .byte Fs4 , v120 + .byte W24 + .byte Fs4 , v080 + .byte W24 + .byte Fs4 , v064 + .byte W24 + .byte Fs4 , v048 + .byte W24 + .byte Dn4 , v120 + .byte W24 + .byte Dn4 , v080 + .byte W24 + .byte Dn4 , v064 + .byte W24 + .byte Dn4 , v048 + .byte W24 + .byte Gn4 , v120 + .byte W24 + .byte Gn4 , v080 + .byte W24 + .byte Gn4 , v064 + .byte W24 + .byte Fs4 , v120 + .byte W24 + .byte PAN , c_v-32 + .byte VOL , 72*mus_rg_nanaiseki_mvl/mxv + .byte N24 , En3 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , En3 , v080 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , En3 , v064 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , En3 , v052 + .byte W24 +mus_rg_nanaiseki_2_001: + .byte N24 , Cn3 , v120 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Cn3 , v080 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Cn3 , v064 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Cn3 , v048 + .byte W24 + .byte PEND + .byte En3 , v120 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , En3 , v080 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , En3 , v064 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , En3 , v048 + .byte W24 + .byte PATT + .word mus_rg_nanaiseki_2_001 + .byte PAN , c_v+0 + .byte VOL , 64*mus_rg_nanaiseki_mvl/mxv + .byte W02 + .byte N24 , Bn3 , v120 + .byte W24 + .byte Bn3 , v080 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W22 + .byte W02 + .byte Fs4 , v120 + .byte W24 + .byte Fs4 , v080 + .byte W24 + .byte Fs4 , v064 + .byte W24 + .byte Fs4 , v052 + .byte W22 + .byte W02 + .byte Dn4 , v120 + .byte W24 + .byte Dn4 , v080 + .byte W24 + .byte Dn4 , v064 + .byte W24 + .byte Dn4 , v044 + .byte W22 + .byte W02 + .byte Gn4 , v120 + .byte W24 + .byte Gn4 , v080 + .byte W24 + .byte Gn4 , v056 + .byte W23 + .byte N21 , Fs4 , v120 + .byte W23 + .byte PAN , c_v-32 + .byte VOL , 72*mus_rg_nanaiseki_mvl/mxv + .byte N12 , En3 + .byte W12 + .byte Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte En3 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En5 , v060 + .byte W24 + .byte Ds5 , v056 + .byte W24 + .byte Dn5 + .byte W24 + .byte Cs5 + .byte W12 + .byte Cn5 + .byte W12 + .byte En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , As3 , v120 + .byte W12 + .byte Cs3 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Gn5 , v056 + .byte W24 + .byte Fs5 + .byte W24 + .byte Fn5 + .byte W24 + .byte En5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+0 + .byte VOL , 65*mus_rg_nanaiseki_mvl/mxv + .byte N96 , En4 , v120 + .byte W96 + .byte Dn4 + .byte W96 + .byte Cn4 + .byte W96 + .byte Dn4 + .byte W96 + .byte VOL , 72*mus_rg_nanaiseki_mvl/mxv + .byte PAN , c_v-48 + .byte N24 , En3 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , En3 , v080 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , En3 , v064 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , En3 , v048 + .byte W24 +mus_rg_nanaiseki_2_002: + .byte N24 , Cn3 , v120 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Cn3 , v080 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Cn3 , v064 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Cn3 , v048 + .byte W24 + .byte PEND +mus_rg_nanaiseki_2_003: + .byte N24 , En3 , v120 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , En3 , v080 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , En3 , v064 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , En3 , v048 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_nanaiseki_2_002 + .byte PAN , c_v-1 + .byte VOL , 64*mus_rg_nanaiseki_mvl/mxv + .byte N24 , Bn3 , v120 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Bn3 , v080 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Bn3 , v064 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Bn3 , v048 + .byte W24 +mus_rg_nanaiseki_2_004: + .byte PAN , c_v+0 + .byte N24 , Fs4 , v120 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Fs4 , v080 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Fs4 , v064 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Fs4 , v048 + .byte W24 + .byte PEND + .byte PAN , c_v-1 + .byte N24 , Dn4 , v120 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Dn4 , v060 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Dn4 , v040 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Dn4 , v020 + .byte W24 + .byte PAN , c_v+0 + .byte N24 , Gn4 , v120 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Gn4 , v052 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Gn4 , v028 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Fs4 , v016 + .byte W24 + .byte VOL , 76*mus_rg_nanaiseki_mvl/mxv + .byte N24 , En3 , v120 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , En3 , v080 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , En3 , v064 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , En3 , v048 + .byte W24 + .byte PATT + .word mus_rg_nanaiseki_2_002 + .byte PATT + .word mus_rg_nanaiseki_2_003 + .byte PATT + .word mus_rg_nanaiseki_2_002 + .byte VOL , 68*mus_rg_nanaiseki_mvl/mxv + .byte PAN , c_v+0 + .byte N24 , Bn3 , v120 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Bn3 , v080 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Bn3 , v064 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Bn3 , v048 + .byte W24 + .byte PATT + .word mus_rg_nanaiseki_2_004 + .byte PAN , c_v+0 + .byte N24 , Dn4 , v120 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Dn4 , v052 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Dn4 , v032 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Dn4 , v016 + .byte W24 + .byte PAN , c_v-1 + .byte N24 , Gn4 , v120 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Gn4 , v056 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Gn4 , v032 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Fs4 , v016 + .byte W24 + .byte VOICE , 78 + .byte VOL , 75*mus_rg_nanaiseki_mvl/mxv + .byte PAN , c_v-1 + .byte N06 , En2 , v112 + .byte W12 + .byte Gn2 + .byte W12 + .byte En2 + .byte W12 + .byte Ds2 + .byte W12 + .byte En2 + .byte W12 + .byte N06 + .byte W12 + .byte VOICE , 13 + .byte N03 , En4 , v108 + .byte W24 + .byte Ds4 , v096 + .byte W24 + .byte Dn4 + .byte W24 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte En3 + .byte W12 + .byte Gn3 + .byte W12 + .byte VOICE , 78 + .byte N06 , As2 , v112 + .byte W12 + .byte Cs2 + .byte W12 + .byte As2 + .byte W12 + .byte An2 + .byte W12 + .byte As2 + .byte W12 + .byte Gn2 + .byte W12 + .byte VOICE , 13 + .byte N03 , Gn4 , v096 + .byte W24 + .byte Fs4 + .byte W24 + .byte Fn4 + .byte W24 + .byte En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte VOICE , 24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_nanaiseki_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_nanaiseki_3: + .byte KEYSH , mus_rg_nanaiseki_key+0 + .byte VOICE , 13 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_nanaiseki_mvl/mxv + .byte W12 +mus_rg_nanaiseki_3_B1: + .byte VOL , 90*mus_rg_nanaiseki_mvl/mxv + .byte N12 , En2 , v120 + .byte W36 + .byte N06 , En1 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Fs2 , v120 + .byte W24 +mus_rg_nanaiseki_3_000: + .byte N12 , En2 , v120 + .byte W36 + .byte N06 , En1 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Fs2 , v120 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_nanaiseki_3_000 + .byte PATT + .word mus_rg_nanaiseki_3_000 + .byte PATT + .word mus_rg_nanaiseki_3_000 + .byte PATT + .word mus_rg_nanaiseki_3_000 + .byte N12 , En2 , v120 + .byte W36 + .byte N06 , En1 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Fs2 , v120 + .byte W21 + .byte BEND , c_v-1 + .byte W03 + .byte c_v+0 + .byte N12 , En2 + .byte W36 + .byte N06 , En1 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Fs2 , v120 + .byte W24 +mus_rg_nanaiseki_3_001: + .byte N12 , En2 , v120 + .byte W36 + .byte N06 , En1 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , En2 , v120 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v-6 + .byte W06 + .byte PEND +mus_rg_nanaiseki_3_002: + .byte BEND , c_v+0 + .byte N12 , En2 , v120 + .byte W36 + .byte N06 , En1 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Fs2 , v120 + .byte W06 + .byte BEND , c_v+6 + .byte W06 + .byte c_v-6 + .byte W06 + .byte c_v+0 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_nanaiseki_3_001 + .byte PATT + .word mus_rg_nanaiseki_3_002 + .byte PATT + .word mus_rg_nanaiseki_3_001 + .byte PATT + .word mus_rg_nanaiseki_3_002 + .byte PATT + .word mus_rg_nanaiseki_3_001 + .byte PATT + .word mus_rg_nanaiseki_3_002 + .byte VOICE , 1 + .byte N24 , En2 , v120 + .byte W72 + .byte N24 + .byte W24 +mus_rg_nanaiseki_3_003: + .byte N24 , Cn2 , v120 + .byte W72 + .byte N24 + .byte W24 + .byte PEND +mus_rg_nanaiseki_3_004: + .byte N24 , Dn2 , v120 + .byte W72 + .byte N24 + .byte W24 + .byte PEND +mus_rg_nanaiseki_3_005: + .byte N24 , As1 , v120 + .byte W72 + .byte N24 + .byte W24 + .byte PEND + .byte VOICE , 13 + .byte PAN , c_v+32 + .byte VOL , 62*mus_rg_nanaiseki_mvl/mxv + .byte N12 , En3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , En3 , v028 + .byte W12 + .byte Bn3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 , v024 + .byte W12 + .byte As3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , As3 , v024 + .byte W12 + .byte Dn4 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Dn4 , v024 + .byte W12 + .byte Cs4 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Cs4 , v024 + .byte W12 + .byte Gs3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Gs3 , v024 + .byte W12 + .byte Gn3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gn3 , v028 + .byte W12 + .byte Bn3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 , v024 + .byte W12 + .byte As3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , As3 , v024 + .byte W12 + .byte En3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En3 , v024 + .byte W12 + .byte Ds3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Ds3 , v028 + .byte W12 + .byte An3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An3 , v024 + .byte W12 +mus_rg_nanaiseki_3_006: + .byte N12 , Gs3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gs3 , v024 + .byte W12 + .byte En3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En3 , v028 + .byte W12 + .byte Fs3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Fs3 , v024 + .byte W12 + .byte Ds3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Ds3 , v028 + .byte W12 + .byte PEND + .byte En3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , En3 , v024 + .byte W12 + .byte Bn3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 , v024 + .byte W12 + .byte As3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , As3 , v028 + .byte W12 + .byte Dn4 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Dn4 , v028 + .byte W12 +mus_rg_nanaiseki_3_007: + .byte N12 , Cs4 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Cs4 , v024 + .byte W12 + .byte Gs3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Gs3 , v024 + .byte W12 + .byte Gn3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gn3 , v024 + .byte W12 + .byte Bn3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 , v024 + .byte W12 + .byte PEND +mus_rg_nanaiseki_3_008: + .byte N12 , As3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , As3 , v024 + .byte W12 + .byte En3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En3 , v024 + .byte W12 + .byte Ds3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Ds3 , v024 + .byte W12 + .byte An3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An3 , v024 + .byte W12 + .byte PEND + .byte Gs3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gs3 , v028 + .byte W12 + .byte En3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En3 , v028 + .byte W12 + .byte Fs3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Fs3 , v024 + .byte W12 + .byte Ds3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Ds3 , v028 + .byte W12 + .byte En3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , En3 , v028 + .byte W12 + .byte Bn3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 , v028 + .byte W12 + .byte As3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , As3 , v024 + .byte W12 + .byte Dn4 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Dn4 , v024 + .byte W12 + .byte PATT + .word mus_rg_nanaiseki_3_007 + .byte N12 , As3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , As3 , v028 + .byte W12 + .byte En3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En3 , v024 + .byte W12 + .byte Ds3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Ds3 , v024 + .byte W12 + .byte An3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An3 , v024 + .byte W12 + .byte PATT + .word mus_rg_nanaiseki_3_006 + .byte N12 , En3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , En3 , v028 + .byte W12 + .byte Bn3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 , v024 + .byte W12 + .byte As3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , As3 , v028 + .byte W12 + .byte Dn4 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Dn4 , v024 + .byte W12 + .byte PATT + .word mus_rg_nanaiseki_3_007 + .byte PATT + .word mus_rg_nanaiseki_3_008 + .byte N12 , Gs3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gs3 , v024 + .byte W12 + .byte En3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En3 , v024 + .byte W12 + .byte Fs3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Fs3 , v028 + .byte W12 + .byte Ds3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Ds3 , v028 + .byte W12 + .byte VOICE , 24 + .byte PAN , c_v+0 + .byte VOL , 40*mus_rg_nanaiseki_mvl/mxv + .byte N84 , En5 , v120 + .byte W24 + .byte MOD , 6 + .byte W60 + .byte W03 + .byte N03 , Ds5 , v064 + .byte W03 + .byte Dn5 + .byte W03 + .byte Cs5 + .byte W03 + .byte MOD , 0 + .byte N92 , Cn5 , v120 + .byte W24 + .byte MOD , 6 + .byte W68 + .byte W01 + .byte N03 , Cs5 , v064 + .byte W03 + .byte MOD , 0 + .byte N84 , Dn5 , v120 + .byte W24 + .byte MOD , 6 + .byte W60 + .byte W03 + .byte N03 , Cs5 , v064 + .byte W03 + .byte Cn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte MOD , 0 + .byte N80 , As4 , v120 + .byte W24 + .byte MOD , 6 + .byte W56 + .byte W01 + .byte N03 , Bn4 , v064 + .byte W03 + .byte Cn5 + .byte W03 + .byte Cs5 + .byte W03 + .byte Dn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte MOD , 0 + .byte N96 , En5 , v120 + .byte W24 + .byte MOD , 6 + .byte W72 + .byte 0 + .byte N92 , Fn5 + .byte W24 + .byte MOD , 6 + .byte W68 + .byte W01 + .byte N03 , Fs5 , v064 + .byte W03 + .byte MOD , 0 + .byte N84 , Gn5 , v120 + .byte W24 + .byte MOD , 6 + .byte W60 + .byte W03 + .byte N03 , Gs5 , v064 + .byte W03 + .byte An5 + .byte W03 + .byte As5 + .byte W03 + .byte MOD , 0 + .byte N96 , Bn5 , v120 + .byte W24 + .byte MOD , 6 + .byte W72 + .byte VOICE , 1 + .byte VOL , 90*mus_rg_nanaiseki_mvl/mxv + .byte MOD , 0 + .byte N24 , En2 + .byte W72 + .byte N24 + .byte W24 + .byte PATT + .word mus_rg_nanaiseki_3_003 + .byte PATT + .word mus_rg_nanaiseki_3_004 + .byte PATT + .word mus_rg_nanaiseki_3_005 + .byte VOICE , 13 + .byte N09 , En3 , v120 + .byte W36 + .byte N12 , En2 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , Fs3 + .byte W24 +mus_rg_nanaiseki_3_009: + .byte N09 , En3 , v120 + .byte W36 + .byte N12 , En2 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , Fs3 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_nanaiseki_3_009 + .byte PATT + .word mus_rg_nanaiseki_3_009 + .byte PATT + .word mus_rg_nanaiseki_3_009 + .byte PATT + .word mus_rg_nanaiseki_3_009 + .byte PATT + .word mus_rg_nanaiseki_3_009 + .byte PATT + .word mus_rg_nanaiseki_3_009 + .byte GOTO + .word mus_rg_nanaiseki_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_nanaiseki_4: + .byte KEYSH , mus_rg_nanaiseki_key+0 + .byte VOICE , 48 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 79*mus_rg_nanaiseki_mvl/mxv + .byte PAN , c_v+0 + .byte W12 +mus_rg_nanaiseki_4_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N84 , En1 , v064 + .byte W84 + .byte W03 + .byte N03 , Ds1 + .byte W03 + .byte Dn1 + .byte W03 + .byte Cs1 + .byte W03 + .byte N92 , Cn1 + .byte W92 + .byte W01 + .byte N03 , Cs1 + .byte W03 + .byte N84 , Dn1 + .byte W84 + .byte W03 + .byte N03 , Cs1 + .byte W03 + .byte Cn1 + .byte W03 + .byte Bn0 + .byte W03 + .byte N80 , As0 + .byte W80 + .byte W01 + .byte N03 , Bn0 + .byte W03 + .byte Cn1 + .byte W03 + .byte Cs1 + .byte W03 + .byte Dn1 + .byte W03 + .byte Ds1 + .byte W03 + .byte N96 , En1 + .byte W96 + .byte N92 , Fn1 + .byte W92 + .byte W01 + .byte N03 , Fs1 + .byte W03 + .byte N84 , Gn1 + .byte W84 + .byte W03 + .byte N03 , Gs1 + .byte W03 + .byte An1 + .byte W03 + .byte As1 + .byte W03 + .byte N96 , Bn1 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_nanaiseki_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_nanaiseki_5: + .byte KEYSH , mus_rg_nanaiseki_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 34*mus_rg_nanaiseki_mvl/mxv + .byte BEND , c_v+2 + .byte W12 +mus_rg_nanaiseki_5_B1: + .byte VOL , 34*mus_rg_nanaiseki_mvl/mxv + .byte N06 , En4 , v120 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v048 + .byte W24 + .byte As4 , v120 + .byte W24 + .byte As4 , v080 + .byte W24 + .byte As4 , v068 + .byte W24 + .byte As4 , v052 + .byte W24 + .byte En4 , v120 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v052 + .byte W24 + .byte Cs5 , v120 + .byte W24 + .byte Cs5 , v084 + .byte W24 + .byte Cs5 , v068 + .byte W24 + .byte Cs5 , v052 + .byte W24 + .byte Bn3 , v120 + .byte W24 + .byte Bn3 , v080 + .byte W24 + .byte Bn3 , v064 + .byte W24 + .byte Bn3 , v048 + .byte W24 + .byte Fs4 , v120 + .byte W24 + .byte Fs4 , v080 + .byte W24 + .byte Fs4 , v064 + .byte W24 + .byte Fs4 , v048 + .byte W24 + .byte Dn4 , v120 + .byte W24 + .byte Dn4 , v080 + .byte W24 + .byte Dn4 , v064 + .byte W24 + .byte Dn4 , v048 + .byte W24 + .byte Gn4 , v120 + .byte W24 + .byte Gn4 , v080 + .byte W24 + .byte Gn4 , v064 + .byte W24 + .byte Fs4 , v120 + .byte W24 + .byte W04 + .byte En4 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v048 + .byte W20 + .byte W04 + .byte As4 , v120 + .byte W24 + .byte As4 , v080 + .byte W24 + .byte As4 , v068 + .byte W24 + .byte As4 , v052 + .byte W20 + .byte W04 + .byte En4 , v120 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v052 + .byte W20 + .byte W04 + .byte Cs5 , v120 + .byte W24 + .byte Cs5 , v084 + .byte W23 + .byte Cs5 , v068 + .byte W24 + .byte Cs5 , v052 + .byte W21 + .byte W04 + .byte Bn3 , v120 + .byte W24 + .byte Bn3 , v080 + .byte W24 + .byte Bn3 , v064 + .byte W24 + .byte Bn3 , v048 + .byte W20 + .byte W04 + .byte Fs4 , v120 + .byte W24 + .byte Fs4 , v080 + .byte W24 + .byte Fs4 , v064 + .byte W24 + .byte Fs4 , v048 + .byte W20 + .byte W04 + .byte Dn4 , v120 + .byte W24 + .byte Dn4 , v080 + .byte W24 + .byte Dn4 , v064 + .byte W24 + .byte Dn4 , v048 + .byte W20 + .byte W04 + .byte Gn4 , v120 + .byte W24 + .byte Gn4 , v080 + .byte W24 + .byte Gn4 , v064 + .byte W23 + .byte Fs4 , v120 + .byte W21 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_nanaiseki_5_000: + .byte PAN , c_v-64 + .byte W13 + .byte N10 , En3 , v032 + .byte W11 + .byte PAN , c_v+63 + .byte W13 + .byte N10 , Bn3 + .byte W11 + .byte PAN , c_v-64 + .byte W13 + .byte N10 , As3 + .byte W11 + .byte PAN , c_v+63 + .byte W13 + .byte N10 , Dn4 + .byte W11 + .byte PEND +mus_rg_nanaiseki_5_001: + .byte PAN , c_v-64 + .byte W13 + .byte N10 , Cs4 , v032 + .byte W11 + .byte PAN , c_v+63 + .byte W13 + .byte N10 , Gs3 + .byte W11 + .byte PAN , c_v-64 + .byte W13 + .byte N10 , Gn3 + .byte W11 + .byte PAN , c_v+63 + .byte W13 + .byte N10 , Bn3 + .byte W11 + .byte PEND +mus_rg_nanaiseki_5_002: + .byte PAN , c_v-64 + .byte W13 + .byte N10 , As3 , v032 + .byte W11 + .byte PAN , c_v+63 + .byte W13 + .byte N10 , En3 + .byte W11 + .byte PAN , c_v-64 + .byte W13 + .byte N10 , Ds3 + .byte W11 + .byte PAN , c_v+63 + .byte W13 + .byte N10 , An3 + .byte W11 + .byte PEND +mus_rg_nanaiseki_5_003: + .byte PAN , c_v-64 + .byte W13 + .byte N10 , Gs3 , v032 + .byte W11 + .byte PAN , c_v+63 + .byte W13 + .byte N10 , En3 + .byte W11 + .byte PAN , c_v-64 + .byte W13 + .byte N10 , Fs3 + .byte W11 + .byte PAN , c_v+63 + .byte W13 + .byte N10 , Ds3 + .byte W11 + .byte PEND + .byte PATT + .word mus_rg_nanaiseki_5_000 + .byte PATT + .word mus_rg_nanaiseki_5_001 + .byte PATT + .word mus_rg_nanaiseki_5_002 + .byte PATT + .word mus_rg_nanaiseki_5_003 + .byte PATT + .word mus_rg_nanaiseki_5_000 + .byte PATT + .word mus_rg_nanaiseki_5_001 + .byte PATT + .word mus_rg_nanaiseki_5_002 + .byte PATT + .word mus_rg_nanaiseki_5_003 + .byte W12 + .byte PAN , c_v-64 + .byte W01 + .byte N22 , En3 , v032 + .byte W23 + .byte PAN , c_v+63 + .byte W01 + .byte N22 , Bn3 + .byte W23 + .byte PAN , c_v-64 + .byte W01 + .byte N22 , As3 + .byte W23 + .byte PAN , c_v+63 + .byte W01 + .byte N22 , Dn4 + .byte W11 + .byte W12 + .byte PAN , c_v-64 + .byte W01 + .byte N22 , Cs4 + .byte W23 + .byte PAN , c_v+63 + .byte W01 + .byte N22 , Gs3 + .byte W23 + .byte PAN , c_v-64 + .byte W01 + .byte N22 , Gn3 + .byte W23 + .byte PAN , c_v+63 + .byte W01 + .byte N22 , Bn3 + .byte W11 + .byte W12 + .byte PAN , c_v-64 + .byte W01 + .byte N22 , As3 + .byte W23 + .byte PAN , c_v+63 + .byte W01 + .byte N22 , En3 + .byte W23 + .byte PAN , c_v-64 + .byte W01 + .byte N22 , Ds3 + .byte W23 + .byte PAN , c_v+63 + .byte W01 + .byte N22 , An3 + .byte W11 + .byte W12 + .byte PAN , c_v-64 + .byte W01 + .byte N22 , Gs3 + .byte W23 + .byte PAN , c_v+63 + .byte W01 + .byte N22 , En3 + .byte W23 + .byte PAN , c_v-64 + .byte W01 + .byte N22 , Fs3 + .byte W23 + .byte PAN , c_v+63 + .byte W01 + .byte N22 , Ds3 + .byte W11 + .byte W24 + .byte PAN , c_v+0 + .byte W72 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_nanaiseki_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_nanaiseki_6: + .byte KEYSH , mus_rg_nanaiseki_key+0 + .byte VOL , 56*mus_rg_nanaiseki_mvl/mxv + .byte PAN , c_v+0 + .byte W12 +mus_rg_nanaiseki_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 24 + .byte PAN , c_v+16 + .byte W24 + .byte N12 , En3 , v056 + .byte W12 + .byte Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte En3 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , En5 , v036 + .byte W24 + .byte Ds5 + .byte W24 + .byte Dn5 + .byte W24 + .byte Cs5 + .byte W12 + .byte Cn5 + .byte W12 + .byte En4 , v032 + .byte W12 + .byte Gn4 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , As3 , v056 + .byte W12 + .byte Cs3 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Gn5 , v032 + .byte W24 + .byte Fs5 + .byte W24 + .byte Fn5 + .byte W24 + .byte En5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Dn5 , v028 + .byte W12 + .byte Cs5 + .byte W84 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_nanaiseki_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_nanaiseki_7: + .byte KEYSH , mus_rg_nanaiseki_key+0 + .byte VOICE , 92 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 34*mus_rg_nanaiseki_mvl/mxv + .byte W12 +mus_rg_nanaiseki_7_B1: + .byte N12 , En1 , v120 + .byte W72 + .byte N15 , As1 + .byte W06 + .byte MOD , 7 + .byte W09 + .byte N03 , Gs1 + .byte W03 + .byte Gn1 + .byte W03 + .byte Fs1 + .byte W03 +mus_rg_nanaiseki_7_000: + .byte MOD , 0 + .byte N12 , En1 , v120 + .byte W72 + .byte N15 , As1 + .byte W06 + .byte MOD , 7 + .byte W09 + .byte N03 , Gs1 + .byte W03 + .byte Gn1 + .byte W03 + .byte Fs1 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_nanaiseki_7_000 + .byte PATT + .word mus_rg_nanaiseki_7_000 + .byte PATT + .word mus_rg_nanaiseki_7_000 + .byte PATT + .word mus_rg_nanaiseki_7_000 + .byte PATT + .word mus_rg_nanaiseki_7_000 + .byte PATT + .word mus_rg_nanaiseki_7_000 + .byte MOD , 0 + .byte BEND , c_v-2 + .byte N12 , En1 , v120 + .byte W72 + .byte N15 , As1 + .byte W15 + .byte N03 , Gs1 + .byte W03 + .byte Gn1 + .byte W03 + .byte Fs1 + .byte W03 +mus_rg_nanaiseki_7_001: + .byte N12 , En1 , v120 + .byte W72 + .byte N15 , As1 + .byte W15 + .byte N03 , Gs1 + .byte W03 + .byte Gn1 + .byte W03 + .byte Fs1 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_nanaiseki_7_001 + .byte N12 , En1 , v120 + .byte W72 + .byte N03 , As1 + .byte W03 + .byte Cn2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte BEND , c_v+0 + .byte N03 , Fn2 + .byte W03 + .byte Gn2 + .byte W03 + .byte Gs2 + .byte W03 + .byte As2 + .byte W03 + .byte N54 , Bn2 + .byte W12 + .byte MOD , 8 + .byte W42 + .byte 0 + .byte N03 , Cn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte En3 + .byte W03 + .byte Fn3 + .byte W03 + .byte N12 , Fs3 + .byte W12 + .byte N06 , Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte N54 , Ds3 + .byte W12 + .byte MOD , 8 + .byte W42 + .byte 0 + .byte N03 , En3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte An3 + .byte W03 + .byte N24 , As3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N44 , An3 + .byte W12 + .byte MOD , 8 + .byte W32 + .byte W01 + .byte 0 + .byte N03 , Gs3 + .byte W03 + .byte N42 , Gn3 + .byte W12 + .byte MOD , 8 + .byte W30 + .byte 0 + .byte N03 , Fs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte N24 , En3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte N18 , Ds3 + .byte W18 + .byte N03 , En3 + .byte W03 + .byte Fn3 + .byte W03 + .byte N12 , Fs3 + .byte W12 + .byte MOD , 0 + .byte N03 , Ds3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Cn3 + .byte W03 + .byte N24 , Bn2 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_nanaiseki_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_nanaiseki_8: + .byte KEYSH , mus_rg_nanaiseki_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 38*mus_rg_nanaiseki_mvl/mxv + .byte BEND , c_v+1 + .byte W12 +mus_rg_nanaiseki_8_B1: + .byte N12 , En2 , v127 + .byte W36 + .byte N06 , En1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte N21 , Fs2 , v127 + .byte W06 + .byte MOD , 7 + .byte W15 + .byte N03 , Fn2 , v120 + .byte W03 +mus_rg_nanaiseki_8_000: + .byte MOD , 0 + .byte N12 , En2 , v127 + .byte W36 + .byte N06 , En1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte N21 , Fs2 , v127 + .byte W06 + .byte MOD , 7 + .byte W15 + .byte N03 , Fn2 , v120 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_nanaiseki_8_000 + .byte PATT + .word mus_rg_nanaiseki_8_000 + .byte PATT + .word mus_rg_nanaiseki_8_000 + .byte PATT + .word mus_rg_nanaiseki_8_000 + .byte PATT + .word mus_rg_nanaiseki_8_000 + .byte MOD , 0 + .byte N12 , En2 , v127 + .byte W36 + .byte N06 , En1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte N21 , Fs2 + .byte W06 + .byte MOD , 7 + .byte W15 + .byte N03 , Fn2 + .byte W03 + .byte MOD , 0 + .byte N12 , En2 + .byte W36 + .byte N06 , En1 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , En2 , v127 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v-6 + .byte W06 +mus_rg_nanaiseki_8_001: + .byte BEND , c_v+0 + .byte N12 , En2 , v127 + .byte W36 + .byte N06 , En1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Fs2 , v127 + .byte W18 + .byte BEND , c_v-6 + .byte W06 + .byte PEND +mus_rg_nanaiseki_8_002: + .byte BEND , c_v+0 + .byte N12 , En2 , v127 + .byte W36 + .byte N06 , En1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , En2 , v127 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v-6 + .byte W06 + .byte PEND + .byte c_v+0 + .byte N12 + .byte W36 + .byte N06 , En1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , Fs2 , v127 + .byte W18 + .byte BEND , c_v-6 + .byte W06 + .byte PATT + .word mus_rg_nanaiseki_8_002 + .byte PATT + .word mus_rg_nanaiseki_8_001 + .byte PATT + .word mus_rg_nanaiseki_8_002 + .byte PATT + .word mus_rg_nanaiseki_8_001 + .byte BEND , c_v+0 + .byte N24 , En2 , v127 + .byte W72 + .byte N24 + .byte W24 + .byte Cn2 + .byte W72 + .byte N24 + .byte W24 + .byte Dn2 + .byte W72 + .byte N24 + .byte W24 + .byte As1 + .byte W72 + .byte N24 + .byte W24 + .byte VOICE , 83 + .byte N12 , En3 , v064 + .byte W24 + .byte Bn3 + .byte W24 + .byte As3 + .byte W24 + .byte Dn4 + .byte W24 +mus_rg_nanaiseki_8_003: + .byte N12 , Cs4 , v064 + .byte W24 + .byte Gs3 + .byte W24 + .byte Gn3 + .byte W24 + .byte Bn3 + .byte W24 + .byte PEND +mus_rg_nanaiseki_8_004: + .byte N12 , As3 , v064 + .byte W24 + .byte En3 + .byte W24 + .byte Ds3 + .byte W24 + .byte An3 + .byte W24 + .byte PEND +mus_rg_nanaiseki_8_005: + .byte N12 , Gs3 , v064 + .byte W24 + .byte En3 + .byte W24 + .byte Fs3 + .byte W24 + .byte Ds3 + .byte W24 + .byte PEND +mus_rg_nanaiseki_8_006: + .byte N12 , En3 , v064 + .byte W24 + .byte Bn3 + .byte W24 + .byte As3 + .byte W24 + .byte Dn4 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_nanaiseki_8_003 + .byte PATT + .word mus_rg_nanaiseki_8_004 + .byte PATT + .word mus_rg_nanaiseki_8_005 + .byte PATT + .word mus_rg_nanaiseki_8_006 + .byte PATT + .word mus_rg_nanaiseki_8_003 + .byte PATT + .word mus_rg_nanaiseki_8_004 + .byte PATT + .word mus_rg_nanaiseki_8_005 + .byte N24 , En3 , v064 + .byte W24 + .byte Bn3 + .byte W24 + .byte As3 + .byte W24 + .byte Dn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte Gs3 + .byte W24 + .byte Gn3 + .byte W24 + .byte Bn3 + .byte W24 + .byte As3 + .byte W24 + .byte En3 + .byte W24 + .byte Ds3 + .byte W24 + .byte An3 + .byte W24 + .byte Gs3 + .byte W24 + .byte En3 + .byte W24 + .byte Fs3 + .byte W24 + .byte Ds3 + .byte W24 + .byte VOICE , 80 + .byte N84 , En2 , v120 + .byte W84 + .byte W03 + .byte N03 , Ds2 , v064 + .byte W03 + .byte Dn2 + .byte W03 + .byte Cs2 + .byte W03 + .byte N92 , Cn2 , v120 + .byte W92 + .byte W01 + .byte N03 , Cs2 , v064 + .byte W03 + .byte N84 , Dn2 , v120 + .byte W84 + .byte W03 + .byte N03 , Cs2 , v064 + .byte W03 + .byte Cn2 + .byte W03 + .byte Bn1 + .byte W03 + .byte N80 , As1 , v120 + .byte W80 + .byte W01 + .byte N03 , Bn1 , v064 + .byte W03 + .byte Cn2 + .byte W03 + .byte Cs2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte N96 , En2 , v120 + .byte W96 + .byte N92 , Fn2 + .byte W92 + .byte W01 + .byte N03 , Fs2 , v064 + .byte W03 + .byte N84 , Gn2 , v120 + .byte W84 + .byte W03 + .byte N03 , Gs2 , v064 + .byte W03 + .byte An2 + .byte W03 + .byte As2 + .byte W03 + .byte N96 , Bn2 , v120 + .byte W96 + .byte N24 , En2 + .byte W72 + .byte N24 + .byte W24 + .byte Cn2 + .byte W72 + .byte N24 + .byte W24 + .byte Dn2 + .byte W72 + .byte N24 + .byte W24 + .byte As1 + .byte W72 + .byte N24 + .byte W24 +mus_rg_nanaiseki_8_007: + .byte N09 , En3 , v064 + .byte W36 + .byte N12 , En2 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , Fs3 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_nanaiseki_8_007 + .byte PATT + .word mus_rg_nanaiseki_8_007 + .byte PATT + .word mus_rg_nanaiseki_8_007 + .byte PATT + .word mus_rg_nanaiseki_8_007 + .byte PATT + .word mus_rg_nanaiseki_8_007 + .byte PATT + .word mus_rg_nanaiseki_8_007 + .byte PATT + .word mus_rg_nanaiseki_8_007 + .byte GOTO + .word mus_rg_nanaiseki_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_nanaiseki_9: + .byte KEYSH , mus_rg_nanaiseki_key+0 + .byte VOICE , 0 + .byte VOL , 77*mus_rg_nanaiseki_mvl/mxv + .byte N03 , En3 , v100 + .byte W03 + .byte En3 , v056 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 +mus_rg_nanaiseki_9_B1: +mus_rg_nanaiseki_9_000: + .byte N06 , En3 , v120 + .byte W12 + .byte Cn1 , v072 + .byte W12 + .byte Dn3 , v120 + .byte W12 + .byte En3 + .byte W24 + .byte Cn1 , v072 + .byte W12 + .byte Dn3 , v120 + .byte W24 + .byte PEND +mus_rg_nanaiseki_9_001: + .byte N06 , En3 , v120 + .byte W12 + .byte Cn1 , v072 + .byte W12 + .byte Dn3 , v120 + .byte W12 + .byte En3 + .byte W24 + .byte Cn1 , v072 + .byte W12 + .byte Dn3 , v120 + .byte W12 + .byte N03 , Dn3 , v100 + .byte W03 + .byte Dn3 , v056 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_nanaiseki_9_000 +mus_rg_nanaiseki_9_002: + .byte N06 , En3 , v120 + .byte W12 + .byte Cn1 , v072 + .byte W12 + .byte Dn3 , v120 + .byte W12 + .byte En3 + .byte W24 + .byte Cn1 , v072 + .byte W12 + .byte Dn3 , v120 + .byte W12 + .byte N03 , En3 , v100 + .byte W03 + .byte En3 , v056 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_nanaiseki_9_000 + .byte PATT + .word mus_rg_nanaiseki_9_001 + .byte PATT + .word mus_rg_nanaiseki_9_000 + .byte PATT + .word mus_rg_nanaiseki_9_002 + .byte PATT + .word mus_rg_nanaiseki_9_000 + .byte PATT + .word mus_rg_nanaiseki_9_001 + .byte PATT + .word mus_rg_nanaiseki_9_000 + .byte PATT + .word mus_rg_nanaiseki_9_002 + .byte PATT + .word mus_rg_nanaiseki_9_000 + .byte PATT + .word mus_rg_nanaiseki_9_001 + .byte PATT + .word mus_rg_nanaiseki_9_000 + .byte PATT + .word mus_rg_nanaiseki_9_002 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N03 , En3 , v100 + .byte W03 + .byte En3 , v056 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte GOTO + .word mus_rg_nanaiseki_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_rg_nanaiseki_10: + .byte KEYSH , mus_rg_nanaiseki_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 45*mus_rg_nanaiseki_mvl/mxv + .byte W12 +mus_rg_nanaiseki_10_B1: + .byte VOICE , 127 + .byte PAN , c_v-64 + .byte N06 , Gn5 , v120 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn5 , v096 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn5 , v080 + .byte W12 + .byte Gn5 , v036 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn5 , v060 + .byte W12 + .byte Gn5 , v028 + .byte W12 +mus_rg_nanaiseki_10_000: + .byte N06 , Gn5 , v120 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn5 , v096 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn5 , v080 + .byte W12 + .byte Gn5 , v036 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn5 , v060 + .byte W12 + .byte Gn5 , v028 + .byte W12 + .byte PEND +mus_rg_nanaiseki_10_001: + .byte N06 , Gn5 , v120 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn5 , v096 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn5 , v080 + .byte W12 + .byte Gn5 , v036 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn5 , v060 + .byte W12 + .byte Gn5 , v028 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nanaiseki_10_000 +mus_rg_nanaiseki_10_002: + .byte PAN , c_v-64 + .byte N06 , Gn5 , v120 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn5 , v096 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn5 , v080 + .byte W12 + .byte Gn5 , v036 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn5 , v060 + .byte W12 + .byte Gn5 , v028 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nanaiseki_10_000 + .byte PATT + .word mus_rg_nanaiseki_10_001 + .byte PATT + .word mus_rg_nanaiseki_10_000 + .byte PATT + .word mus_rg_nanaiseki_10_002 + .byte PATT + .word mus_rg_nanaiseki_10_000 + .byte PATT + .word mus_rg_nanaiseki_10_001 + .byte PATT + .word mus_rg_nanaiseki_10_000 + .byte PATT + .word mus_rg_nanaiseki_10_002 + .byte PATT + .word mus_rg_nanaiseki_10_000 + .byte PATT + .word mus_rg_nanaiseki_10_001 + .byte PATT + .word mus_rg_nanaiseki_10_000 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 45*mus_rg_nanaiseki_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 126 + .byte PAN , c_v-63 + .byte W42 + .byte N01 , Fn5 , v024 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v060 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v076 + .byte W03 + .byte Fn5 , v080 + .byte W03 + .byte Fn5 , v100 + .byte W03 + .byte Fn5 , v104 + .byte W03 + .byte Fn5 , v080 + .byte W03 + .byte N01 + .byte W03 + .byte PAN , c_v+0 + .byte N01 , Fn5 , v056 + .byte W03 + .byte N01 + .byte W03 + .byte PAN , c_v+63 + .byte N01 , Fn5 , v032 + .byte W03 + .byte Fn5 , v036 + .byte W03 + .byte Fn5 , v024 + .byte W03 + .byte N01 + .byte W03 + .byte PAN , c_v+63 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v016 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v008 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v004 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v008 + .byte W03 + .byte Fn5 , v004 + .byte W03 + .byte Fn5 , v008 + .byte W60 + .byte W96 + .byte PAN , c_v+63 + .byte W12 + .byte N01 , Fn5 , v024 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v060 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v076 + .byte W03 + .byte Fn5 , v080 + .byte W03 + .byte Fn5 , v100 + .byte W03 + .byte Fn5 , v104 + .byte W03 + .byte Fn5 , v080 + .byte W03 + .byte N01 + .byte W03 + .byte PAN , c_v+0 + .byte N01 , Fn5 , v056 + .byte W03 + .byte N01 + .byte W03 + .byte PAN , c_v-63 + .byte N01 , Fn5 , v032 + .byte W03 + .byte Fn5 , v036 + .byte W03 + .byte Fn5 , v024 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v016 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v008 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v004 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v008 + .byte W03 + .byte Fn5 , v004 + .byte W03 + .byte Fn5 , v008 + .byte W90 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+63 + .byte W96 + .byte W36 + .byte N01 , Fn5 , v024 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v060 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v076 + .byte W03 + .byte Fn5 , v080 + .byte W03 + .byte Fn5 , v100 + .byte W03 + .byte Fn5 , v104 + .byte W03 + .byte PAN , c_v-1 + .byte N01 , Fn5 , v080 + .byte W03 + .byte N01 + .byte W03 + .byte PAN , c_v-64 + .byte N01 , Fn5 , v056 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v032 + .byte W03 + .byte Fn5 , v036 + .byte W03 + .byte Fn5 , v024 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte VOICE , 127 + .byte PAN , c_v-64 + .byte N06 , Gn5 , v120 + .byte W12 + .byte Gn5 , v052 + .byte W84 + .byte PAN , c_v-64 + .byte N06 , Gn5 , v120 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v-64 + .byte W72 + .byte c_v+63 + .byte N06 , Gn5 , v120 + .byte W12 + .byte Gn5 , v052 + .byte W36 + .byte PAN , c_v-64 + .byte N06 , Gn5 , v080 + .byte W12 + .byte Gn5 , v036 + .byte W36 + .byte Gn5 , v120 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn5 , v096 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn5 , v080 + .byte W12 + .byte Gn5 , v036 + .byte W12 + .byte VOICE , 126 + .byte PAN , c_v+63 + .byte N24 , Gn5 , v080 + .byte W24 + .byte GOTO + .word mus_rg_nanaiseki_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_nanaiseki: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_nanaiseki_pri @ Priority + .byte mus_rg_nanaiseki_rev @ Reverb. + + .word mus_rg_nanaiseki_grp + + .word mus_rg_nanaiseki_1 + .word mus_rg_nanaiseki_2 + .word mus_rg_nanaiseki_3 + .word mus_rg_nanaiseki_4 + .word mus_rg_nanaiseki_5 + .word mus_rg_nanaiseki_6 + .word mus_rg_nanaiseki_7 + .word mus_rg_nanaiseki_8 + .word mus_rg_nanaiseki_9 + .word mus_rg_nanaiseki_10 + + .end diff --git a/sound/songs/mus_rg_nanashima.s b/sound/songs/mus_rg_nanashima.s new file mode 100644 index 0000000000..37fc7a7b2f --- /dev/null +++ b/sound/songs/mus_rg_nanashima.s @@ -0,0 +1,3038 @@ + .include "MPlayDef.s" + + .equ mus_rg_nanashima_grp, voicegroup_86B324C + .equ mus_rg_nanashima_pri, 0 + .equ mus_rg_nanashima_rev, reverb_set+50 + .equ mus_rg_nanashima_mvl, 127 + .equ mus_rg_nanashima_key, 0 + .equ mus_rg_nanashima_tbs, 1 + .equ mus_rg_nanashima_exg, 0 + .equ mus_rg_nanashima_cmp, 1 + + .section .rodata + .global mus_rg_nanashima + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_nanashima_1: + .byte KEYSH , mus_rg_nanashima_key+0 + .byte TEMPO , 124*mus_rg_nanashima_tbs/2 + .byte VOICE , 60 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-28 + .byte VOL , 76*mus_rg_nanashima_mvl/mxv + .byte W24 + .byte N23 , Gn3 , v064 + .byte W12 + .byte VOL , 70*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 62*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 50*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 40*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 30*mus_rg_nanashima_mvl/mxv + .byte W12 + .byte 76*mus_rg_nanashima_mvl/mxv + .byte N23 + .byte W12 + .byte VOL , 70*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 62*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 50*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 40*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 30*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 20*mus_rg_nanashima_mvl/mxv + .byte W32 + .byte W01 + .byte 76*mus_rg_nanashima_mvl/mxv + .byte N23 + .byte W12 + .byte VOL , 70*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 62*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 50*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 40*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 30*mus_rg_nanashima_mvl/mxv + .byte W12 + .byte 76*mus_rg_nanashima_mvl/mxv + .byte N23 + .byte W12 + .byte VOL , 70*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 62*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 50*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 40*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 30*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 20*mus_rg_nanashima_mvl/mxv + .byte W09 + .byte 54*mus_rg_nanashima_mvl/mxv + .byte N23 , An3 + .byte W06 + .byte VOL , 57*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 63*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 66*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 74*mus_rg_nanashima_mvl/mxv + .byte W09 +mus_rg_nanashima_1_B1: + .byte VOL , 73*mus_rg_nanashima_mvl/mxv + .byte N32 , Bn3 , v064 + .byte W36 + .byte An3 + .byte W36 + .byte N23 , Gn3 + .byte W24 +mus_rg_nanashima_1_000: + .byte N32 , Gn4 , v064 + .byte W36 + .byte N23 , Fn4 + .byte W24 + .byte N11 , An4 + .byte W12 + .byte N23 , Gn4 + .byte W24 + .byte PEND +mus_rg_nanashima_1_001: + .byte N32 , En4 , v064 + .byte W36 + .byte N11 , Cn4 + .byte W12 + .byte N15 , Gn3 + .byte W16 + .byte Cn4 + .byte W16 + .byte En4 + .byte W16 + .byte PEND + .byte N17 , Gn3 + .byte W18 + .byte N05 , Bn3 + .byte W06 + .byte N44 , Dn4 + .byte W48 + .byte N23 , Bn3 + .byte W24 + .byte N32 + .byte W36 + .byte An3 + .byte W36 + .byte N23 , Gn3 + .byte W24 + .byte PATT + .word mus_rg_nanashima_1_000 + .byte PATT + .word mus_rg_nanashima_1_001 + .byte N17 , Gn3 , v064 + .byte W18 + .byte N05 , Bn3 + .byte W06 + .byte N44 , Dn4 + .byte W24 + .byte VOL , 68*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 64*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 59*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 55*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 73*mus_rg_nanashima_mvl/mxv + .byte N23 , Bn3 + .byte W24 + .byte N17 , Dn4 + .byte W18 + .byte N05 , Fs4 + .byte W06 + .byte N68 , Gn4 + .byte W24 + .byte VOL , 68*mus_rg_nanashima_mvl/mxv + .byte W24 + .byte 59*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 53*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 46*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 40*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 73*mus_rg_nanashima_mvl/mxv + .byte N15 , Fn3 + .byte W16 + .byte En3 + .byte W16 + .byte Dn3 + .byte W16 + .byte N44 , Cn3 + .byte W15 + .byte VOL , 64*mus_rg_nanashima_mvl/mxv + .byte W09 + .byte 59*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 55*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 50*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 45*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 73*mus_rg_nanashima_mvl/mxv + .byte N68 , Fn3 + .byte W72 + .byte N23 , An3 + .byte W24 + .byte N11 , Gn3 + .byte W12 + .byte N44 , Dn3 + .byte W60 + .byte N23 , An3 + .byte W24 + .byte N17 , Gn3 + .byte W18 + .byte N05 , An3 + .byte W06 + .byte N44 , Bn3 + .byte W48 + .byte N23 , Gn3 + .byte W24 + .byte W12 + .byte N05 , Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte N44 , Fn3 + .byte W48 + .byte N23 , An3 + .byte W24 + .byte W12 + .byte N05 + .byte W06 + .byte Cn4 + .byte W06 + .byte N44 , An3 + .byte W48 + .byte N23 , Cn4 + .byte W24 + .byte W12 + .byte N05 , Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N68 , Dn4 + .byte W24 + .byte VOL , 69*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 65*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 60*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 55*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 51*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 47*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 43*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 37*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 73*mus_rg_nanashima_mvl/mxv + .byte W12 + .byte N05 + .byte W06 + .byte Fn4 + .byte W06 + .byte N68 , Gn4 + .byte W24 + .byte VOL , 66*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 60*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 54*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 47*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 42*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 36*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 28*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 22*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte GOTO + .word mus_rg_nanashima_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_nanashima_2: + .byte KEYSH , mus_rg_nanashima_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 78*mus_rg_nanashima_mvl/mxv + .byte PAN , c_v-7 + .byte W24 + .byte VOL , 80*mus_rg_nanashima_mvl/mxv + .byte N92 , Cn4 , v088 + .byte W24 + .byte VOL , 74*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 71*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 69*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 65*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 61*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 57*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 54*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 51*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 47*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 43*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 39*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 35*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 80*mus_rg_nanashima_mvl/mxv + .byte N92 , Dn4 + .byte W24 + .byte VOL , 74*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 71*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 69*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 65*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 61*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 57*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 54*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 51*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 47*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 43*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 39*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 35*mus_rg_nanashima_mvl/mxv + .byte W07 +mus_rg_nanashima_2_B1: + .byte PAN , c_v-7 + .byte VOL , 62*mus_rg_nanashima_mvl/mxv + .byte N60 , Gn4 , v088 + .byte W64 + .byte N15 , Dn4 + .byte W16 + .byte Gn4 + .byte W16 +mus_rg_nanashima_2_000: + .byte N60 , Dn5 , v088 + .byte W64 + .byte N15 , Fn5 + .byte W16 + .byte En5 + .byte W16 + .byte PEND +mus_rg_nanashima_2_001: + .byte N68 , Cn5 , v088 + .byte W72 + .byte N23 , En5 + .byte W24 + .byte PEND + .byte N17 , Dn5 + .byte W18 + .byte N05 , Cn5 + .byte W06 + .byte N44 , Bn4 + .byte W48 + .byte N06 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte N48 , Bn4 + .byte W48 + .byte N18 , Gn4 + .byte W16 + .byte N15 , Dn4 + .byte W16 + .byte Gn4 + .byte W16 + .byte PATT + .word mus_rg_nanashima_2_000 + .byte PATT + .word mus_rg_nanashima_2_001 + .byte N17 , Dn5 , v088 + .byte W18 + .byte N05 , Cn5 + .byte W06 + .byte N68 , Bn4 + .byte W72 + .byte N92 + .byte W96 + .byte VOICE , 1 + .byte VOL , 74*mus_rg_nanashima_mvl/mxv + .byte N15 , Cn4 , v127 + .byte W16 + .byte Bn3 + .byte W16 + .byte An3 , v124 + .byte W16 + .byte N44 , Fn3 + .byte W48 + .byte VOICE , 56 + .byte VOL , 74*mus_rg_nanashima_mvl/mxv + .byte PAN , c_v+22 + .byte W12 + .byte N05 , Fn4 , v088 + .byte W06 + .byte An4 + .byte W06 + .byte Cn5 + .byte W12 + .byte An4 + .byte W06 + .byte Cn5 + .byte W06 + .byte N44 , Fn5 + .byte W12 + .byte VOL , 70*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 64*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 56*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 51*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 44*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 40*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte VOICE , 48 + .byte VOL , 62*mus_rg_nanashima_mvl/mxv + .byte PAN , c_v-6 + .byte W12 + .byte N23 , Dn5 + .byte W24 + .byte Cn5 + .byte W24 + .byte Bn4 + .byte W24 + .byte N11 , An4 + .byte W12 + .byte N15 , Gn4 + .byte W16 + .byte An4 + .byte W16 + .byte Bn4 + .byte W16 + .byte N44 , Dn5 + .byte W48 + .byte VOICE , 1 + .byte N15 , Cn4 , v127 + .byte W16 + .byte Bn3 + .byte W16 + .byte An3 + .byte W16 + .byte Fn4 + .byte W16 + .byte En4 + .byte W16 + .byte Dn4 + .byte W16 + .byte An4 + .byte W16 + .byte Gn4 + .byte W16 + .byte Fn4 + .byte W16 + .byte Cn5 + .byte W16 + .byte Bn4 + .byte W16 + .byte An4 + .byte W16 + .byte VOICE , 48 + .byte PAN , c_v-21 + .byte N60 , Bn4 , v096 + .byte W64 + .byte N15 , Gn4 + .byte W16 + .byte Bn4 + .byte W16 + .byte N92 , Dn5 + .byte W48 + .byte VOL , 56*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 52*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 47*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 42*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 37*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 30*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 27*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte 23*mus_rg_nanashima_mvl/mxv + .byte W06 + .byte GOTO + .word mus_rg_nanashima_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_nanashima_3: + .byte KEYSH , mus_rg_nanashima_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-60 + .byte VOL , 55*mus_rg_nanashima_mvl/mxv + .byte W24 + .byte PAN , c_v-59 + .byte N23 , Cn3 , v064 + .byte W12 + .byte VOL , 50*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 40*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 30*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 20*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 10*mus_rg_nanashima_mvl/mxv + .byte W12 + .byte 53*mus_rg_nanashima_mvl/mxv + .byte N23 + .byte W12 + .byte VOL , 50*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 40*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 30*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 20*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 10*mus_rg_nanashima_mvl/mxv + .byte W36 + .byte 53*mus_rg_nanashima_mvl/mxv + .byte N23 , Bn2 + .byte W12 + .byte VOL , 50*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 40*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 30*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 20*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 10*mus_rg_nanashima_mvl/mxv + .byte W12 + .byte 53*mus_rg_nanashima_mvl/mxv + .byte N23 + .byte W12 + .byte VOL , 50*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 40*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 30*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 20*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 10*mus_rg_nanashima_mvl/mxv + .byte W12 + .byte 32*mus_rg_nanashima_mvl/mxv + .byte N23 , An2 + .byte W06 + .byte VOL , 37*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 42*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 49*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 52*mus_rg_nanashima_mvl/mxv + .byte W03 + .byte 53*mus_rg_nanashima_mvl/mxv + .byte W06 +mus_rg_nanashima_3_B1: + .byte VOL , 53*mus_rg_nanashima_mvl/mxv + .byte N23 , Gn2 , v064 + .byte W24 + .byte N11 , Dn2 + .byte W12 + .byte N23 , Dn3 + .byte W24 + .byte N11 , Cn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte An2 + .byte W12 + .byte N23 , As2 + .byte W24 + .byte N11 , Fn2 + .byte W12 + .byte N23 , Fn3 + .byte W24 + .byte N11 , En3 + .byte W12 + .byte As2 + .byte W12 + .byte Bn2 + .byte W12 + .byte N23 , Cn3 + .byte W24 + .byte N11 , Gn2 + .byte W12 + .byte N23 , En3 + .byte W24 + .byte N11 , Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte En3 + .byte W12 +mus_rg_nanashima_3_000: + .byte N11 , Dn3 , v064 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte N23 , Dn3 + .byte W24 + .byte N11 , Gn2 + .byte W12 + .byte An2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PEND + .byte N23 , Gn2 + .byte W24 + .byte N05 , Dn2 + .byte W12 + .byte N23 , Dn3 + .byte W24 + .byte N11 , Cn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte N23 , As2 + .byte W24 + .byte N05 , Fn2 + .byte W12 + .byte N23 , Fn3 + .byte W24 + .byte N11 , En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte N23 , Cn3 + .byte W24 + .byte N05 , Gn2 + .byte W12 + .byte N23 , En3 + .byte W24 + .byte N11 , Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte PATT + .word mus_rg_nanashima_3_000 + .byte N11 , Dn3 , v064 + .byte W12 + .byte Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte N23 , Gn3 + .byte W24 + .byte N11 , Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte VOICE , 1 + .byte N15 , Cn5 , v068 + .byte W16 + .byte Bn4 + .byte W16 + .byte An4 + .byte W16 + .byte N12 , Fn4 + .byte W12 + .byte N11 , Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte VOICE , 48 + .byte N23 , An2 , v064 + .byte W24 + .byte N11 , Fn2 + .byte W12 + .byte N23 , Cn3 + .byte W24 + .byte N11 , Fn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn2 + .byte W12 + .byte N23 , Bn2 + .byte W24 + .byte N11 , Gn2 + .byte W12 + .byte N23 , Bn2 + .byte W24 + .byte N11 , Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte N23 , Gn3 + .byte W24 + .byte N11 , Gn2 + .byte W12 + .byte An2 + .byte W12 + .byte Bn2 + .byte W12 + .byte VOICE , 1 + .byte PAN , c_v-38 + .byte N15 , Cn5 , v076 + .byte W16 + .byte Bn4 + .byte W16 + .byte An4 + .byte W16 + .byte Fn5 + .byte W16 + .byte En5 + .byte W16 + .byte Dn5 + .byte W16 + .byte An5 + .byte W16 + .byte Gn5 + .byte W16 + .byte Fn5 + .byte W16 + .byte Cn6 + .byte W16 + .byte Bn5 + .byte W16 + .byte An5 + .byte W16 + .byte N24 , Bn5 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Bn5 , v048 + .byte W24 + .byte PAN , c_v-40 + .byte N15 , Bn5 , v044 + .byte W16 + .byte Gn5 , v100 + .byte W16 + .byte Bn5 + .byte W16 + .byte N23 , Dn6 , v088 + .byte W24 + .byte PAN , c_v+48 + .byte N11 , Dn6 , v048 + .byte W12 + .byte VOICE , 48 + .byte PAN , c_v-41 + .byte N23 , Gn2 + .byte W24 + .byte N11 , Dn2 , v056 + .byte W12 + .byte Gn2 , v064 + .byte W12 + .byte Dn2 , v072 + .byte W12 + .byte GOTO + .word mus_rg_nanashima_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_nanashima_4: + .byte KEYSH , mus_rg_nanashima_key+0 + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 68*mus_rg_nanashima_mvl/mxv + .byte BEND , c_v+0 + .byte W24 + .byte N80 , Cn1 , v120 + .byte W24 + .byte VOL , 51*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 45*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 41*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 37*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 34*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 29*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 25*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 20*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 14*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 10*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 6*mus_rg_nanashima_mvl/mxv + .byte N06 , Cs1 + .byte W05 + .byte VOL , 3*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 68*mus_rg_nanashima_mvl/mxv + .byte N72 , Dn1 + .byte W24 + .byte VOL , 51*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 45*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 41*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 37*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 34*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 29*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 25*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 20*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 14*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 10*mus_rg_nanashima_mvl/mxv + .byte W07 + .byte 6*mus_rg_nanashima_mvl/mxv + .byte W05 + .byte 3*mus_rg_nanashima_mvl/mxv + .byte W07 +mus_rg_nanashima_4_B1: + .byte VOL , 68*mus_rg_nanashima_mvl/mxv + .byte BEND , c_v-6 + .byte N15 , Gn1 , v120 + .byte W06 + .byte BEND , c_v+0 + .byte W12 + .byte N06 + .byte W18 + .byte N30 + .byte W36 + .byte N06 + .byte W06 + .byte Gn2 + .byte W06 + .byte N12 , Fs1 + .byte W12 + .byte BEND , c_v-6 + .byte N15 , Fn1 + .byte W06 + .byte BEND , c_v+0 + .byte W12 + .byte N06 + .byte W18 + .byte N12 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte Fn2 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte N15 , En1 + .byte W18 + .byte N06 + .byte W18 + .byte N24 + .byte W30 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En2 + .byte W06 + .byte N12 , Ds1 + .byte W12 + .byte N18 , Dn1 + .byte W18 + .byte Dn2 + .byte W18 + .byte N12 , Cn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , An1 + .byte W06 + .byte BEND , c_v-11 + .byte W06 + .byte c_v+0 + .byte W12 + .byte N15 , Dn2 + .byte W18 + .byte N06 , Gn1 + .byte W18 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , An1 + .byte W06 + .byte BEND , c_v-11 + .byte W06 + .byte c_v+0 + .byte W12 + .byte N15 , Fn1 + .byte W18 + .byte N18 , Fn2 + .byte W18 + .byte N06 , Fn1 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , En2 + .byte W06 + .byte BEND , c_v+5 + .byte W06 + .byte c_v+0 + .byte N12 , Cn2 + .byte W06 + .byte BEND , c_v+5 + .byte W06 + .byte c_v+0 + .byte N18 , En1 + .byte W18 + .byte En2 + .byte W18 + .byte N12 , Dn2 + .byte W12 + .byte N18 , Cn2 + .byte W18 + .byte Bn1 + .byte W18 + .byte N12 , Cn2 + .byte W12 + .byte N18 , Dn1 + .byte W18 + .byte Dn2 + .byte W18 + .byte N12 , Cn2 + .byte W12 + .byte N24 , Bn1 + .byte W24 + .byte An1 + .byte W06 + .byte BEND , c_v-11 + .byte W06 + .byte c_v+0 + .byte W12 + .byte N06 , Gn1 + .byte W18 + .byte N15 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , An1 + .byte W06 + .byte BEND , c_v-11 + .byte W06 + .byte c_v+0 + .byte W12 + .byte N06 , Fn1 + .byte W18 + .byte N15 + .byte W18 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N24 , Gn1 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte W12 + .byte N12 , Fn1 + .byte W18 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte Fs1 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte N24 , Bn1 + .byte W24 + .byte An1 + .byte W24 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Bn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte N15 , Dn1 + .byte W18 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W18 + .byte N06 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte N06 , Cn1 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte An1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N09 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N12 + .byte W12 + .byte N03 , Cs1 + .byte W06 + .byte N03 + .byte W06 + .byte BEND , c_v+0 + .byte N15 , Dn1 + .byte W18 + .byte N06 + .byte W18 + .byte N24 , Bn1 + .byte W06 + .byte BEND , c_v-11 + .byte W06 + .byte c_v+0 + .byte W12 + .byte N03 , Dn1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , En1 + .byte W06 + .byte BEND , c_v-11 + .byte W06 + .byte c_v+0 + .byte N06 , Fs1 + .byte W06 + .byte Fn1 + .byte W06 + .byte N12 , Gn1 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W06 + .byte N12 , Dn1 + .byte W12 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , An1 + .byte W12 + .byte GOTO + .word mus_rg_nanashima_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_nanashima_5: + .byte KEYSH , mus_rg_nanashima_key+0 + .byte VOICE , 92 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 57*mus_rg_nanashima_mvl/mxv + .byte BEND , c_v+1 + .byte W24 + .byte N92 , Cn4 , v088 + .byte W96 + .byte Dn4 + .byte W96 +mus_rg_nanashima_5_B1: + .byte N60 , Gn4 , v088 + .byte W64 + .byte N15 , Dn4 + .byte W16 + .byte Gn4 + .byte W16 +mus_rg_nanashima_5_000: + .byte N60 , Dn5 , v088 + .byte W64 + .byte N15 , Fn5 + .byte W16 + .byte En5 + .byte W16 + .byte PEND +mus_rg_nanashima_5_001: + .byte N68 , Cn5 , v088 + .byte W72 + .byte N23 , En5 + .byte W24 + .byte PEND + .byte N17 , Dn5 + .byte W18 + .byte N05 , Cn5 + .byte W06 + .byte N44 , Bn4 + .byte W48 + .byte N06 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte N48 , Bn4 + .byte W48 + .byte N18 , Gn4 + .byte W16 + .byte N15 , Dn4 + .byte W16 + .byte Gn4 + .byte W16 + .byte PATT + .word mus_rg_nanashima_5_000 + .byte PATT + .word mus_rg_nanashima_5_001 + .byte N17 , Dn5 , v088 + .byte W18 + .byte N05 , Cn5 + .byte W06 + .byte N68 , Bn4 + .byte W72 + .byte N92 + .byte W96 + .byte N15 , Cn4 + .byte W16 + .byte Bn3 + .byte W16 + .byte An3 + .byte W16 + .byte N44 , Fn3 + .byte W48 + .byte W12 + .byte N05 , Fn4 + .byte W06 + .byte An4 + .byte W06 + .byte Cn5 + .byte W12 + .byte An4 + .byte W06 + .byte Cn5 + .byte W06 + .byte N44 , Fn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 40*mus_rg_nanashima_mvl/mxv + .byte W24 + .byte 57*mus_rg_nanashima_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte N23 , Dn5 + .byte W24 + .byte Cn5 + .byte W24 + .byte Bn4 + .byte W24 + .byte N11 , An4 + .byte W12 + .byte N15 , Gn4 + .byte W16 + .byte An4 + .byte W16 + .byte Bn4 + .byte W16 + .byte N44 , Dn5 + .byte W48 + .byte N15 , Cn4 + .byte W16 + .byte Bn3 + .byte W16 + .byte An3 + .byte W16 + .byte Fn4 + .byte W16 + .byte En4 + .byte W16 + .byte Dn4 + .byte W16 + .byte An4 + .byte W16 + .byte Gn4 + .byte W16 + .byte Fn4 + .byte W16 + .byte Cn5 + .byte W16 + .byte Bn4 + .byte W16 + .byte An4 + .byte W16 + .byte N60 , Bn4 + .byte W64 + .byte N15 , Gn4 + .byte W16 + .byte Bn4 + .byte W16 + .byte N92 , Dn5 + .byte W96 + .byte GOTO + .word mus_rg_nanashima_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_nanashima_6: + .byte KEYSH , mus_rg_nanashima_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 37*mus_rg_nanashima_mvl/mxv + .byte W24 + .byte W96 + .byte W72 + .byte VOICE , 80 + .byte W21 + .byte N01 , Gn2 , v120 + .byte W01 + .byte Bn2 + .byte W02 +mus_rg_nanashima_6_B1: + .byte N06 , Cs3 , v120 + .byte W06 + .byte N03 , Dn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N12 + .byte W12 + .byte N01 + .byte N01 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W03 + .byte Gn2 + .byte W01 + .byte Bn2 + .byte W02 + .byte N06 , Cs3 + .byte W06 + .byte N03 , Dn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N03 + .byte W06 + .byte Cn3 + .byte W03 + .byte N01 , Fn2 + .byte W01 + .byte An2 + .byte W02 + .byte N06 , Cs3 + .byte W06 + .byte N03 , Dn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte N01 , Dn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte N03 , Dn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N03 + .byte W06 + .byte Cn3 + .byte W03 + .byte N01 , En2 + .byte W01 + .byte Gn2 + .byte W02 +mus_rg_nanashima_6_000: + .byte N06 , Bn2 , v120 + .byte W06 + .byte N03 , Cn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N12 , En3 + .byte W12 + .byte N01 , Cn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W03 + .byte En2 + .byte W01 + .byte Gn2 + .byte W02 + .byte N06 , Bn2 + .byte W06 + .byte N03 , Cn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N03 , Dn3 + .byte W06 + .byte Ds3 + .byte W03 + .byte N01 , Bn2 + .byte W01 + .byte Dn3 + .byte W02 + .byte PEND + .byte N06 , Fs3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N12 , Bn3 + .byte W12 + .byte N01 , Gn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W03 + .byte Bn2 + .byte W01 + .byte Dn3 + .byte W02 + .byte N06 , Fs3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W03 + .byte Gn2 + .byte W01 + .byte Bn2 + .byte W02 + .byte N06 , Cs3 + .byte W06 + .byte N03 , Dn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte N01 , Dn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W03 + .byte Gn2 + .byte W01 + .byte Bn2 + .byte W02 + .byte N06 , Cs3 + .byte W06 + .byte N03 , Dn3 + .byte W06 + .byte N01 , Gn3 + .byte W06 + .byte N01 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W03 + .byte N01 , Fn2 + .byte W01 + .byte An2 + .byte W02 + .byte N06 , Dn3 + .byte W06 + .byte N03 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte N01 , Dn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte N03 , Dn3 + .byte W06 + .byte N01 , Fn3 + .byte W06 + .byte N01 + .byte W06 + .byte N03 , En3 + .byte W06 + .byte Dn3 + .byte W03 + .byte N01 , En2 + .byte W01 + .byte Gn2 + .byte W02 + .byte PATT + .word mus_rg_nanashima_6_000 + .byte N06 , Fs3 , v120 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N12 , Bn3 + .byte W12 + .byte N01 , Gn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W03 + .byte Bn2 + .byte W01 + .byte Dn3 + .byte W02 + .byte N06 , Fs3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N12 , Bn3 + .byte W12 + .byte N01 , Gn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W03 + .byte Fn2 + .byte W01 + .byte An2 + .byte W02 + .byte N03 , Cn3 + .byte W18 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N13 + .byte W15 + .byte N01 , Fn2 + .byte W01 + .byte An2 + .byte W02 + .byte N03 , Cn3 + .byte W18 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 , Cs3 + .byte W06 + .byte Dn3 + .byte W03 + .byte N01 , Bn2 + .byte W01 + .byte Dn3 + .byte W02 + .byte N03 , Gn3 + .byte W18 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N04 + .byte W06 + .byte N05 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N10 , Bn3 + .byte W12 + .byte N01 , Gn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N10 , Dn3 + .byte W12 + .byte N01 , Cs3 + .byte W06 + .byte N03 , Cn3 + .byte W18 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N10 , Fn3 + .byte W12 + .byte N02 , Cn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N10 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N10 , Dn3 + .byte W12 + .byte N01 + .byte W06 + .byte N03 + .byte W18 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N10 + .byte W12 + .byte N02 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N10 , Gn3 + .byte W12 + .byte N01 , Dn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N10 , Gn3 + .byte W12 + .byte N01 + .byte W06 + .byte GOTO + .word mus_rg_nanashima_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_nanashima_7: + .byte KEYSH , mus_rg_nanashima_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 42*mus_rg_nanashima_mvl/mxv + .byte PAN , c_v+38 + .byte W24 + .byte N96 , En2 , v120 + .byte W96 + .byte N92 , Dn2 + .byte W72 + .byte VOICE , 24 + .byte W21 + .byte N01 , Bn2 + .byte W01 + .byte Dn3 + .byte W02 +mus_rg_nanashima_7_B1: + .byte N06 , Fs3 , v120 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N12 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W03 + .byte Bn2 + .byte W01 + .byte Dn3 + .byte W02 + .byte N06 , Fs3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N03 + .byte W06 + .byte Fn3 + .byte W03 + .byte N01 , An2 + .byte W01 + .byte Cn3 + .byte W02 + .byte N06 , En3 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte N01 , Fn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N03 + .byte W06 + .byte Ds3 + .byte W03 + .byte N01 , Gn2 + .byte W01 + .byte Cn3 + .byte W02 +mus_rg_nanashima_7_000: + .byte N06 , Ds3 , v120 + .byte W06 + .byte N03 , En3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte N01 , En3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W03 + .byte Gn2 + .byte W01 + .byte Cn3 + .byte W02 + .byte N06 , Ds3 + .byte W06 + .byte N03 , En3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N03 , Fs3 + .byte W06 + .byte Gn3 + .byte W03 + .byte N01 , Dn3 + .byte W01 + .byte Gn3 + .byte W02 + .byte PEND + .byte N06 , As3 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N12 , Gn4 + .byte W12 + .byte N01 , Bn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W03 + .byte Dn3 + .byte W01 + .byte Gn3 + .byte W02 + .byte N06 , As3 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W03 + .byte Bn2 + .byte W01 + .byte Dn3 + .byte W02 + .byte N06 , Fs3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N12 , Bn3 + .byte W12 + .byte N01 , Gn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W03 + .byte Bn2 + .byte W01 + .byte Dn3 + .byte W02 + .byte N06 , Fs3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N01 , Dn4 + .byte W06 + .byte N01 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W03 + .byte N01 , An2 + .byte W01 + .byte Cn3 + .byte W02 + .byte N06 , En3 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte N01 , Fn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N01 , As3 + .byte W06 + .byte N01 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte Gn3 + .byte W03 + .byte N01 , Gn2 + .byte W01 + .byte Cn3 + .byte W02 + .byte PATT + .word mus_rg_nanashima_7_000 + .byte N06 , As3 , v120 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N12 , Gn4 + .byte W12 + .byte N01 , Bn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W03 + .byte Dn3 + .byte W01 + .byte Gn3 + .byte W02 + .byte N06 , As3 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N12 , Gn4 + .byte W12 + .byte N01 , Bn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W03 + .byte An2 + .byte W01 + .byte Cn3 + .byte W02 + .byte N03 , Fn3 + .byte W18 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N13 + .byte W15 + .byte N01 , An2 + .byte W01 + .byte Cn3 + .byte W02 + .byte N03 , Fn3 + .byte W18 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 , Fs3 + .byte W06 + .byte Gn3 + .byte W03 + .byte N01 , Dn3 + .byte W01 + .byte Gn3 + .byte W02 + .byte N03 , Bn3 + .byte W18 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N04 + .byte W06 + .byte N05 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N10 , Dn4 + .byte W12 + .byte N01 , Bn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N10 , An3 + .byte W12 + .byte N01 , Gn3 + .byte W06 + .byte N03 , Fn3 + .byte W18 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N10 , An3 + .byte W12 + .byte N02 , Fn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N10 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N10 , Fs3 + .byte W12 + .byte N01 + .byte W06 + .byte N03 , Gn3 + .byte W18 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N10 + .byte W12 + .byte N02 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N10 , Bn3 + .byte W12 + .byte N01 , Gn3 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N04 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N10 , Bn3 + .byte W12 + .byte N01 + .byte W06 + .byte GOTO + .word mus_rg_nanashima_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_nanashima_8: + .byte KEYSH , mus_rg_nanashima_key+0 + .byte VOICE , 0 + .byte VOL , 68*mus_rg_nanashima_mvl/mxv + .byte N06 , Cn1 , v120 + .byte W12 + .byte Dn1 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte N24 , Cn1 , v120 + .byte W36 + .byte N44 + .byte W48 + .byte N12 + .byte W12 + .byte N32 + .byte W36 + .byte N20 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , Dn1 + .byte W06 + .byte Dn1 , v127 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Dn1 , v044 + .byte W06 +mus_rg_nanashima_8_B1: + .byte N12 , Cn1 , v120 + .byte W18 + .byte N18 + .byte W18 + .byte N30 + .byte W36 + .byte N06 , Dn1 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Dn1 , v040 + .byte W06 + .byte N18 , Cn1 , v120 + .byte W18 + .byte N18 + .byte W18 + .byte N24 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte Dn1 , v084 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Dn1 , v040 + .byte W06 + .byte N18 , Cn1 , v120 + .byte W18 + .byte N18 + .byte W18 + .byte N24 + .byte W30 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte Dn1 , v084 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Dn1 , v040 + .byte W06 + .byte N18 , Cn1 , v120 + .byte W18 + .byte N18 + .byte W18 + .byte N18 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Dn1 , v048 + .byte W06 + .byte N18 , Cn1 , v120 + .byte W18 + .byte N18 + .byte W18 + .byte N18 + .byte W36 + .byte N06 , Dn1 , v112 + .byte W06 + .byte Dn1 , v127 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Dn1 , v052 + .byte W06 + .byte N18 , Cn1 , v120 + .byte W18 + .byte N18 + .byte W18 + .byte N18 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte Dn1 , v076 + .byte W06 + .byte Dn1 , v056 + .byte W06 + .byte Dn1 , v036 + .byte W06 + .byte N18 , Cn1 , v120 + .byte W18 + .byte N18 + .byte W18 + .byte N12 + .byte W12 + .byte N18 + .byte W18 + .byte N18 + .byte W18 + .byte N06 , Dn1 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte N18 , Cn1 , v120 + .byte W18 + .byte N18 + .byte W18 + .byte N24 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte Dn1 , v088 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Dn1 , v048 + .byte W06 + .byte N18 , Cn1 , v120 + .byte W18 + .byte N18 + .byte W18 + .byte N06 + .byte W06 + .byte N18 + .byte W18 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn2 , v127 + .byte W12 + .byte Fn1 + .byte W06 + .byte N18 , Cn1 , v120 + .byte W18 + .byte N18 + .byte W18 + .byte N06 + .byte W06 + .byte N18 + .byte W18 + .byte N12 + .byte W12 + .byte N06 , Dn1 + .byte W06 + .byte Dn1 , v088 + .byte W06 + .byte Dn1 , v060 + .byte W06 + .byte Dn1 , v040 + .byte W06 + .byte N18 , Cn1 , v120 + .byte W18 + .byte N18 + .byte W18 + .byte N06 + .byte W06 + .byte N18 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn1 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte Cn1 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Dn1 + .byte W12 + .byte N24 , Cn1 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Dn1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N18 + .byte W18 + .byte N18 + .byte W18 + .byte N06 + .byte W06 + .byte N18 + .byte W18 + .byte N12 + .byte W12 + .byte N06 , Dn1 , v104 + .byte W06 + .byte N05 , Dn1 , v124 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N18 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Dn1 + .byte W12 + .byte N18 , Cn1 + .byte W18 + .byte N12 + .byte W12 + .byte N12 + .byte W06 + .byte N06 , Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Dn1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 , Dn1 + .byte W06 + .byte N18 , Cn1 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Dn1 + .byte W12 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte N18 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Dn1 + .byte W12 + .byte N24 , Cn1 + .byte W30 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte N18 + .byte W18 + .byte N06 , Dn1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 , Dn1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 , Dn1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 , Dn1 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte GOTO + .word mus_rg_nanashima_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_nanashima_9: + .byte KEYSH , mus_rg_nanashima_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 37*mus_rg_nanashima_mvl/mxv + .byte W24 +mus_rg_nanashima_9_000: + .byte N01 , Cn5 , v127 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W18 + .byte N01 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W42 + .byte PEND +mus_rg_nanashima_9_001: + .byte N01 , Cn5 , v127 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W18 + .byte N01 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W24 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte PEND +mus_rg_nanashima_9_B1: + .byte PATT + .word mus_rg_nanashima_9_000 + .byte PATT + .word mus_rg_nanashima_9_001 + .byte N01 , Cn5 , v127 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W18 + .byte N01 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W18 + .byte N02 , Cn5 , v120 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte PATT + .word mus_rg_nanashima_9_001 + .byte PATT + .word mus_rg_nanashima_9_000 + .byte PATT + .word mus_rg_nanashima_9_001 +mus_rg_nanashima_9_002: + .byte N01 , Cn5 , v127 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W18 + .byte N01 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N02 , Cn5 , v120 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W18 + .byte PEND + .byte PATT + .word mus_rg_nanashima_9_001 + .byte PATT + .word mus_rg_nanashima_9_002 +mus_rg_nanashima_9_003: + .byte N02 , Cn5 , v120 + .byte W06 + .byte Cn5 , v060 + .byte W06 + .byte N02 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v060 + .byte W06 + .byte N02 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v060 + .byte W30 + .byte PEND +mus_rg_nanashima_9_004: + .byte N02 , Cn5 , v120 + .byte W12 + .byte Cn5 , v060 + .byte W06 + .byte N02 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v060 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v060 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v060 + .byte W06 + .byte PEND +mus_rg_nanashima_9_005: + .byte N02 , Cn5 , v120 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N02 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N02 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte PEND + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N02 + .byte W18 + .byte N02 + .byte W06 + .byte N02 + .byte W18 + .byte Cn5 , v060 + .byte W06 + .byte N02 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v060 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte N02 + .byte W06 + .byte PATT + .word mus_rg_nanashima_9_003 + .byte PATT + .word mus_rg_nanashima_9_004 + .byte PATT + .word mus_rg_nanashima_9_005 + .byte N02 , Cn5 , v120 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N02 + .byte W18 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v060 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v060 + .byte W18 + .byte GOTO + .word mus_rg_nanashima_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_rg_nanashima_10: + .byte KEYSH , mus_rg_nanashima_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 40*mus_rg_nanashima_mvl/mxv + .byte W24 +mus_rg_nanashima_10_000: + .byte W24 + .byte N11 , Gn5 , v127 + .byte W36 + .byte N05 + .byte W36 + .byte PEND + .byte PATT + .word mus_rg_nanashima_10_000 +mus_rg_nanashima_10_B1: + .byte PATT + .word mus_rg_nanashima_10_000 + .byte PATT + .word mus_rg_nanashima_10_000 + .byte PATT + .word mus_rg_nanashima_10_000 + .byte PATT + .word mus_rg_nanashima_10_000 + .byte PATT + .word mus_rg_nanashima_10_000 + .byte PATT + .word mus_rg_nanashima_10_000 + .byte W24 + .byte N11 , Gn5 , v127 + .byte W60 + .byte N12 , Gn5 , v120 + .byte W12 + .byte PATT + .word mus_rg_nanashima_10_000 + .byte W24 + .byte N11 , Gn5 , v127 + .byte W60 + .byte N06 , Fs5 , v120 + .byte N12 , Gn5 + .byte W12 + .byte W72 + .byte N24 + .byte W24 + .byte W72 + .byte N12 + .byte W24 + .byte W96 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W48 + .byte W72 + .byte N24 + .byte W24 + .byte W72 + .byte N12 + .byte W24 + .byte W96 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte GOTO + .word mus_rg_nanashima_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_nanashima: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_nanashima_pri @ Priority + .byte mus_rg_nanashima_rev @ Reverb. + + .word mus_rg_nanashima_grp + + .word mus_rg_nanashima_1 + .word mus_rg_nanashima_2 + .word mus_rg_nanashima_3 + .word mus_rg_nanashima_4 + .word mus_rg_nanashima_5 + .word mus_rg_nanashima_6 + .word mus_rg_nanashima_7 + .word mus_rg_nanashima_8 + .word mus_rg_nanashima_9 + .word mus_rg_nanashima_10 + + .end diff --git a/sound/songs/mus_rg_network.s b/sound/songs/mus_rg_network.s new file mode 100644 index 0000000000..11c4acdb8e --- /dev/null +++ b/sound/songs/mus_rg_network.s @@ -0,0 +1,1897 @@ + .include "MPlayDef.s" + + .equ mus_rg_network_grp, voicegroup_86AB4DC + .equ mus_rg_network_pri, 0 + .equ mus_rg_network_rev, reverb_set+50 + .equ mus_rg_network_mvl, 127 + .equ mus_rg_network_key, 0 + .equ mus_rg_network_tbs, 1 + .equ mus_rg_network_exg, 0 + .equ mus_rg_network_cmp, 1 + + .section .rodata + .global mus_rg_network + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_network_1: + .byte KEYSH , mus_rg_network_key+0 +mus_rg_network_1_B1: + .byte TEMPO , 114*mus_rg_network_tbs/2 + .byte VOICE , 4 + .byte PAN , c_v-32 + .byte VOL , 25*mus_rg_network_mvl/mxv + .byte N12 , Bn3 , v127 + .byte W12 + .byte As3 + .byte W12 + .byte Bn3 + .byte W12 + .byte N24 , Gn4 + .byte W24 + .byte N12 , Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 +mus_rg_network_1_000: + .byte N12 , En4 , v127 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte PEND +mus_rg_network_1_001: + .byte N12 , Dn4 , v127 + .byte W12 + .byte An3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N24 , Fs4 + .byte W24 + .byte N12 , En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte PEND + .byte Bn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N03 , En4 + .byte W03 + .byte Fs4 , v120 + .byte W03 + .byte N06 , En4 + .byte W06 + .byte N12 , Dn4 , v127 + .byte W12 + .byte Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte Bn3 + .byte W12 + .byte N24 , Gn4 + .byte W24 + .byte N12 , Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte PATT + .word mus_rg_network_1_000 + .byte PATT + .word mus_rg_network_1_001 + .byte N12 , Bn3 , v127 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte N24 , An3 + .byte W24 + .byte N12 , Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte N48 , Dn4 + .byte W48 + .byte N12 , Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N24 , Fs4 + .byte W24 + .byte N12 , En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte GOTO + .word mus_rg_network_1_B1 + .byte W96 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_network_2: + .byte KEYSH , mus_rg_network_key+0 +mus_rg_network_2_B1: + .byte VOICE , 17 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte MOD , 0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte N12 , Gn5 , v100 + .byte W12 + .byte Dn5 + .byte W12 + .byte Gn5 + .byte W12 + .byte N24 , Dn6 + .byte W12 + .byte MOD , 7 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte N24 , Cn6 + .byte W12 + .byte MOD , 7 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte N12 , Bn5 + .byte W12 +mus_rg_network_2_000: + .byte N12 , An5 , v100 + .byte W12 + .byte N36 , Fs5 + .byte W12 + .byte MOD , 7 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 60*mus_rg_network_mvl/mxv + .byte W06 + .byte 48*mus_rg_network_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte W48 + .byte PEND +mus_rg_network_2_001: + .byte N12 , Fs5 , v100 + .byte W12 + .byte Dn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N24 , Bn5 + .byte W12 + .byte MOD , 7 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte N24 , An5 + .byte W12 + .byte MOD , 7 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte N12 , Fs5 + .byte W12 + .byte PEND + .byte Gn5 + .byte W12 + .byte N36 , Bn5 + .byte W12 + .byte MOD , 7 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 60*mus_rg_network_mvl/mxv + .byte W06 + .byte 48*mus_rg_network_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte W48 + .byte N12 , Gn5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Gn5 + .byte W12 + .byte N24 , Dn6 + .byte W12 + .byte MOD , 7 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte N24 , Cn6 + .byte W12 + .byte MOD , 7 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte N12 , Bn5 + .byte W12 + .byte PATT + .word mus_rg_network_2_000 + .byte PATT + .word mus_rg_network_2_001 + .byte N48 , Gn5 , v100 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 60*mus_rg_network_mvl/mxv + .byte W06 + .byte 48*mus_rg_network_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte W24 + .byte N24 , An5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N48 , Bn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 60*mus_rg_network_mvl/mxv + .byte W06 + .byte 48*mus_rg_network_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte N48 , Dn6 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 60*mus_rg_network_mvl/mxv + .byte W06 + .byte 48*mus_rg_network_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte N12 , Cn6 + .byte W12 + .byte Dn6 + .byte W12 + .byte N03 , Cn6 + .byte W03 + .byte Dn6 + .byte W03 + .byte N06 , Cn6 + .byte W06 + .byte N12 , Bn5 + .byte W12 + .byte N48 , An5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 60*mus_rg_network_mvl/mxv + .byte W06 + .byte 48*mus_rg_network_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte N48 , Fs5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 60*mus_rg_network_mvl/mxv + .byte W06 + .byte 48*mus_rg_network_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte N48 , An5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 60*mus_rg_network_mvl/mxv + .byte W06 + .byte 48*mus_rg_network_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte N12 , Bn5 + .byte W12 + .byte Cn6 + .byte W12 + .byte Bn5 + .byte W12 + .byte An5 + .byte W12 + .byte N48 , Gn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 60*mus_rg_network_mvl/mxv + .byte W06 + .byte 48*mus_rg_network_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte N48 , Bn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 60*mus_rg_network_mvl/mxv + .byte W06 + .byte 48*mus_rg_network_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte N48 , Dn6 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 60*mus_rg_network_mvl/mxv + .byte W06 + .byte 48*mus_rg_network_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte N12 , Cn6 + .byte W12 + .byte Bn5 + .byte W12 + .byte Cn6 + .byte W12 + .byte Dn6 + .byte W12 + .byte N48 , En6 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 60*mus_rg_network_mvl/mxv + .byte W06 + .byte 48*mus_rg_network_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte N24 , Dn6 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Cn6 + .byte W12 + .byte Bn5 + .byte W12 + .byte N48 , Cn6 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 60*mus_rg_network_mvl/mxv + .byte W06 + .byte 48*mus_rg_network_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte N12 , Bn5 + .byte W12 + .byte Cn6 + .byte W12 + .byte Bn5 + .byte W12 + .byte An5 + .byte W12 + .byte N48 , Gn5 + .byte W15 + .byte MOD , 7 + .byte W09 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 60*mus_rg_network_mvl/mxv + .byte W06 + .byte 48*mus_rg_network_mvl/mxv + .byte W06 + .byte GOTO + .word mus_rg_network_2_B1 + .byte W24 + .byte MOD , 0 + .byte VOL , 84*mus_rg_network_mvl/mxv + .byte W72 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_network_3: + .byte KEYSH , mus_rg_network_key+0 +mus_rg_network_3_B1: + .byte VOICE , 81 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 30*mus_rg_network_mvl/mxv + .byte PAN , c_v+32 + .byte N06 , Gn3 , v127 + .byte W12 + .byte Bn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Cn4 + .byte W12 + .byte Bn3 + .byte W12 +mus_rg_network_3_000: + .byte PAN , c_v+32 + .byte N06 , An3 , v127 + .byte W12 + .byte Dn4 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , An3 + .byte W12 + .byte Dn4 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , An3 + .byte W12 + .byte Dn4 + .byte W12 + .byte PAN , c_v-33 + .byte N06 , An3 + .byte W12 + .byte Dn4 + .byte W12 + .byte PEND +mus_rg_network_3_001: + .byte PAN , c_v+32 + .byte N06 , An3 , v127 + .byte W12 + .byte Dn4 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , An3 + .byte W12 + .byte Dn4 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , An3 + .byte W12 + .byte Dn4 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte PEND + .byte PAN , c_v+32 + .byte N06 , Bn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Bn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Bn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte PAN , c_v-33 + .byte N06 , Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte PATT + .word mus_rg_network_3_000 + .byte PATT + .word mus_rg_network_3_001 + .byte PAN , c_v+32 + .byte N06 , Gn3 , v127 + .byte W12 + .byte Bn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Gn3 + .byte W12 + .byte En4 + .byte W12 + .byte PAN , c_v-33 + .byte N06 , Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte VOICE , 48 + .byte PAN , c_v+32 + .byte N06 , Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Cn3 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Cn3 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Cn3 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v-33 + .byte N12 , Cn3 + .byte W12 + .byte N06 , En3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , An2 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , An2 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-33 + .byte N06 , Cs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Cn3 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Cn3 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Cn3 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v-33 + .byte N06 , Cn3 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Bn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v-33 + .byte N06 , Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte GOTO + .word mus_rg_network_3_B1 + .byte W96 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_network_4: + .byte KEYSH , mus_rg_network_key+0 +mus_rg_network_4_B1: + .byte VOICE , 33 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 96*mus_rg_network_mvl/mxv + .byte N36 , Gn1 , v127 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W24 + .byte 96*mus_rg_network_mvl/mxv + .byte MOD , 0 + .byte N24 , Dn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 96*mus_rg_network_mvl/mxv + .byte MOD , 0 + .byte N12 , Cn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte N36 , Fs1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W24 + .byte 96*mus_rg_network_mvl/mxv + .byte MOD , 0 + .byte N36 , Dn2 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W24 + .byte 96*mus_rg_network_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte VOL , 96*mus_rg_network_mvl/mxv + .byte N06 , Fs1 + .byte W06 + .byte En1 + .byte W06 + .byte N24 , Dn1 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 96*mus_rg_network_mvl/mxv + .byte MOD , 0 + .byte N36 , Dn2 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W24 + .byte 96*mus_rg_network_mvl/mxv + .byte MOD , 0 + .byte N12 , Cn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte N24 , Dn1 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 96*mus_rg_network_mvl/mxv + .byte MOD , 0 + .byte N36 , Dn2 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W24 + .byte 96*mus_rg_network_mvl/mxv + .byte MOD , 0 + .byte N12 , En1 + .byte W12 + .byte Fs1 + .byte W12 + .byte N36 , Gn1 + .byte W12 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte MOD , 8 + .byte W24 + .byte VOL , 96*mus_rg_network_mvl/mxv + .byte MOD , 0 + .byte N24 , Dn2 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 96*mus_rg_network_mvl/mxv + .byte N12 , Cn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte VOL , 96*mus_rg_network_mvl/mxv + .byte N12 , Fs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte N36 , Dn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W24 + .byte 96*mus_rg_network_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte N06 , Fs1 + .byte W06 + .byte En1 + .byte W06 + .byte N12 , Dn1 + .byte W12 + .byte N36 , Dn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 96*mus_rg_network_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte N12 , Fs1 + .byte W12 + .byte Gn1 + .byte W12 + .byte An1 + .byte W12 + .byte N36 , Bn1 + .byte W12 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte MOD , 8 + .byte W24 + .byte VOL , 96*mus_rg_network_mvl/mxv + .byte MOD , 0 + .byte N12 , An1 + .byte W12 + .byte N36 , Gn1 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W24 + .byte 96*mus_rg_network_mvl/mxv + .byte MOD , 0 + .byte N12 , Dn1 + .byte W12 + .byte N30 , Gn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W24 + .byte 96*mus_rg_network_mvl/mxv + .byte MOD , 0 + .byte N06 + .byte W48 + .byte N12 , Fs1 + .byte W12 + .byte N30 , Gn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W24 + .byte 96*mus_rg_network_mvl/mxv + .byte MOD , 0 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Gn2 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 96*mus_rg_network_mvl/mxv + .byte MOD , 0 + .byte N30 , Gn1 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte W12 + .byte VOL , 96*mus_rg_network_mvl/mxv + .byte N06 + .byte W24 + .byte N24 , Dn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 96*mus_rg_network_mvl/mxv + .byte MOD , 0 + .byte N12 , Fs1 + .byte W12 + .byte N30 , Gn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte W12 + .byte VOL , 96*mus_rg_network_mvl/mxv + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Fs1 + .byte W12 + .byte Gn1 + .byte W12 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte N12 , Dn1 + .byte W12 + .byte VOL , 96*mus_rg_network_mvl/mxv + .byte N30 , Gn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte W12 + .byte VOL , 96*mus_rg_network_mvl/mxv + .byte N06 + .byte W48 + .byte N12 , Fs1 + .byte W12 + .byte N30 , Gn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte W12 + .byte VOL , 96*mus_rg_network_mvl/mxv + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte Gs1 + .byte W12 + .byte N24 , An1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 96*mus_rg_network_mvl/mxv + .byte MOD , 0 + .byte N12 , Fs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte N24 , Fs1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 96*mus_rg_network_mvl/mxv + .byte MOD , 0 + .byte N24 , Cn2 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W12 + .byte 96*mus_rg_network_mvl/mxv + .byte MOD , 0 + .byte N12 , Gn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte En1 + .byte W12 + .byte Fs1 + .byte W12 + .byte N48 , Gn1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte VOL , 72*mus_rg_network_mvl/mxv + .byte W36 + .byte GOTO + .word mus_rg_network_4_B1 + .byte MOD , 0 + .byte W96 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_network_5: + .byte KEYSH , mus_rg_network_key+0 +mus_rg_network_5_B1: + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+11 + .byte VOL , 36*mus_rg_network_mvl/mxv + .byte N12 , Bn2 , v120 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte En3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N36 , An2 + .byte W36 + .byte N18 , Dn3 , v127 + .byte W18 + .byte N03 , Cn3 , v076 + .byte W03 + .byte Bn2 + .byte W03 + .byte N12 , An2 , v127 + .byte W12 + .byte Cn3 , v120 + .byte W12 + .byte An2 + .byte W12 + .byte Fs2 + .byte W12 + .byte An2 + .byte W12 + .byte N24 , Dn3 + .byte W24 + .byte Cn3 + .byte W24 + .byte N12 , An2 + .byte W12 + .byte Bn2 + .byte W12 + .byte N36 , Dn3 + .byte W36 + .byte N12 , Dn3 , v127 + .byte W12 + .byte N24 , Fs3 + .byte W36 + .byte N12 , Bn2 , v120 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte An3 + .byte W24 + .byte N12 , Bn3 + .byte W12 + .byte Fs3 + .byte W15 + .byte N32 , Dn3 + .byte W32 + .byte W01 + .byte N18 , Cn3 , v127 + .byte W18 + .byte N03 , Bn2 , v080 + .byte W03 + .byte As2 + .byte W03 + .byte N12 , An2 , v127 + .byte W24 + .byte An2 , v120 + .byte W12 + .byte Fs2 + .byte W12 + .byte An2 + .byte W12 + .byte N24 , Dn3 + .byte W24 + .byte En3 + .byte W24 + .byte N12 , Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N36 , Bn3 + .byte W84 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_network_5_B1 + .byte W96 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_network_6: + .byte KEYSH , mus_rg_network_key+0 +mus_rg_network_6_B1: + .byte VOICE , 14 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 36*mus_rg_network_mvl/mxv + .byte PAN , c_v-12 + .byte W96 + .byte W48 + .byte N18 , Dn5 , v127 + .byte W18 + .byte N03 , Cn5 , v064 + .byte W03 + .byte Bn4 + .byte W03 + .byte N12 , An4 , v127 + .byte W24 + .byte W96 + .byte W48 + .byte Dn5 , v120 + .byte W12 + .byte N24 , Fs5 + .byte W36 + .byte W96 + .byte W48 + .byte N18 , Cn5 , v127 + .byte W18 + .byte N03 , Bn4 , v068 + .byte W03 + .byte As4 + .byte W03 + .byte N12 , An4 , v127 + .byte W24 + .byte W96 + .byte W48 + .byte Bn4 , v120 + .byte W12 + .byte Cn5 + .byte W12 + .byte N24 , Dn5 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_network_6_B1 + .byte W96 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_network_7: + .byte KEYSH , mus_rg_network_key+0 +mus_rg_network_7_B1: + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 30*mus_rg_network_mvl/mxv + .byte PAN , c_v-60 + .byte N06 , Gn2 , v127 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-61 + .byte N06 , Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn3 + .byte W12 + .byte Bn2 + .byte W12 +mus_rg_network_7_000: + .byte PAN , c_v-60 + .byte N06 , An2 , v127 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-61 + .byte N06 , An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PEND +mus_rg_network_7_001: + .byte PAN , c_v-60 + .byte N06 , An2 , v127 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-61 + .byte N06 , An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte PEND + .byte PAN , c_v-60 + .byte N06 , Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-61 + .byte N06 , Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-60 + .byte N06 , Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-61 + .byte N06 , Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte PATT + .word mus_rg_network_7_000 + .byte PATT + .word mus_rg_network_7_001 + .byte PAN , c_v-60 + .byte N06 , Gn2 , v127 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-61 + .byte N06 , Gn2 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte VOICE , 80 + .byte PAN , c_v-62 + .byte VOL , 29*mus_rg_network_mvl/mxv + .byte N09 , Bn3 , v120 + .byte W12 + .byte N03 , Bn3 , v048 + .byte W12 + .byte Bn3 , v064 + .byte W12 + .byte Bn3 , v048 + .byte W12 + .byte N09 , Bn3 , v120 + .byte W12 + .byte N03 , Bn3 , v048 + .byte W12 + .byte Bn3 , v064 + .byte W12 + .byte Bn3 , v048 + .byte W12 +mus_rg_network_7_002: + .byte N09 , Cn4 , v120 + .byte W12 + .byte N03 , Cn4 , v048 + .byte W12 + .byte Cn4 , v064 + .byte W12 + .byte N09 , Cn4 , v120 + .byte W12 + .byte N03 , Cn4 , v048 + .byte W12 + .byte Cn4 , v064 + .byte W12 + .byte N09 , Cn4 , v120 + .byte W12 + .byte N03 , Cn4 , v048 + .byte W12 + .byte PEND + .byte N09 , Dn4 , v120 + .byte W12 + .byte N03 , Dn4 , v048 + .byte W12 + .byte Dn4 , v064 + .byte W12 + .byte Dn4 , v048 + .byte W12 + .byte N09 , Dn4 , v120 + .byte W12 + .byte N03 , Dn4 , v048 + .byte W12 + .byte Cn4 , v064 + .byte W12 + .byte Cn4 , v048 + .byte W12 + .byte N09 , Bn3 , v120 + .byte W12 + .byte N03 , Bn3 , v048 + .byte W12 + .byte Cn4 , v064 + .byte W12 + .byte N09 , Cn4 , v120 + .byte W12 + .byte N03 , Cn4 , v048 + .byte W12 + .byte Dn4 , v064 + .byte W12 + .byte N09 , Dn4 , v120 + .byte W12 + .byte N03 , Dn4 , v048 + .byte W12 + .byte N09 , Bn3 , v120 + .byte W12 + .byte N03 , Bn3 , v048 + .byte W12 + .byte Bn3 , v064 + .byte W12 + .byte Bn3 , v048 + .byte W12 + .byte N09 , Bn3 , v120 + .byte W12 + .byte N03 , Bn3 , v048 + .byte W12 + .byte Bn3 , v064 + .byte W12 + .byte Bn3 , v048 + .byte W12 + .byte PATT + .word mus_rg_network_7_002 + .byte N09 , Dn4 , v120 + .byte W12 + .byte N03 , Dn4 , v048 + .byte W12 + .byte Dn4 , v064 + .byte W12 + .byte Dn4 , v048 + .byte W12 + .byte N09 , Cn4 , v120 + .byte W12 + .byte N03 , Cn4 , v048 + .byte W12 + .byte Cn4 , v064 + .byte W12 + .byte Cn4 , v048 + .byte W12 + .byte N09 , Bn3 , v120 + .byte W12 + .byte N03 , Bn3 , v048 + .byte W12 + .byte Bn3 , v064 + .byte W12 + .byte N09 , Bn3 , v120 + .byte W12 + .byte N03 , Bn3 , v048 + .byte W12 + .byte Bn3 , v064 + .byte W12 + .byte N09 , Bn3 , v120 + .byte W12 + .byte N03 , Bn3 , v048 + .byte W12 + .byte GOTO + .word mus_rg_network_7_B1 + .byte W96 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_network_8: + .byte KEYSH , mus_rg_network_key+0 +mus_rg_network_8_B1: + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 48*mus_rg_network_mvl/mxv + .byte BEND , c_v+2 + .byte W02 + .byte c_v+1 + .byte W92 + .byte W02 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 81 + .byte PAN , c_v+63 + .byte VOL , 28*mus_rg_network_mvl/mxv + .byte N09 , Gn4 , v120 + .byte W12 + .byte N03 , Gn4 , v048 + .byte W12 + .byte Gn4 , v064 + .byte W12 + .byte Gn4 , v048 + .byte W12 + .byte N09 , Gn4 , v120 + .byte W12 + .byte N03 , Gn4 , v048 + .byte W12 + .byte Gn4 , v064 + .byte W12 + .byte Gn4 , v048 + .byte W12 +mus_rg_network_8_000: + .byte N09 , Gn4 , v120 + .byte W12 + .byte N03 , Gn4 , v048 + .byte W12 + .byte Gn4 , v064 + .byte W12 + .byte N09 , Gn4 , v120 + .byte W12 + .byte N03 , Gn4 , v048 + .byte W12 + .byte Gn4 , v064 + .byte W12 + .byte N09 , Gn4 , v120 + .byte W12 + .byte N03 , Gn4 , v048 + .byte W12 + .byte PEND +mus_rg_network_8_001: + .byte N09 , Gn4 , v120 + .byte W12 + .byte N03 , Gn4 , v048 + .byte W12 + .byte Gn4 , v064 + .byte W12 + .byte Gn4 , v048 + .byte W12 + .byte N09 , Gn4 , v120 + .byte W12 + .byte N03 , Gn4 , v048 + .byte W12 + .byte Gn4 , v064 + .byte W12 + .byte Gn4 , v048 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_network_8_000 + .byte PATT + .word mus_rg_network_8_001 + .byte PATT + .word mus_rg_network_8_000 + .byte PATT + .word mus_rg_network_8_001 + .byte PATT + .word mus_rg_network_8_000 + .byte GOTO + .word mus_rg_network_8_B1 + .byte W96 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_network_9: + .byte KEYSH , mus_rg_network_key+0 +mus_rg_network_9_B1: + .byte VOICE , 92 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 24*mus_rg_network_mvl/mxv + .byte N03 , Gn5 , v100 + .byte W12 + .byte Dn5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Dn6 + .byte W24 + .byte Cn6 + .byte W24 + .byte Bn5 + .byte W12 +mus_rg_network_9_000: + .byte N03 , An5 , v100 + .byte W12 + .byte Fs5 + .byte W84 + .byte PEND +mus_rg_network_9_001: + .byte N03 , Fs5 , v100 + .byte W12 + .byte Dn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Bn5 + .byte W24 + .byte An5 + .byte W24 + .byte Fs5 + .byte W12 + .byte PEND + .byte Gn5 + .byte W12 + .byte Bn5 + .byte W84 + .byte Gn5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Dn6 + .byte W24 + .byte Cn6 + .byte W24 + .byte Bn5 + .byte W12 + .byte PATT + .word mus_rg_network_9_000 + .byte PATT + .word mus_rg_network_9_001 + .byte N03 , Gn5 , v100 + .byte W72 + .byte An5 + .byte W24 +mus_rg_network_9_002: + .byte N03 , Bn5 , v100 + .byte W48 + .byte Dn6 + .byte W48 + .byte PEND + .byte Cn6 + .byte W12 + .byte Dn6 + .byte W12 + .byte Cn6 + .byte W03 + .byte Dn6 + .byte W03 + .byte Cn6 + .byte W06 + .byte Bn5 + .byte W12 + .byte An5 + .byte W48 + .byte Fs5 + .byte W48 + .byte An5 + .byte W48 +mus_rg_network_9_003: + .byte N03 , Bn5 , v100 + .byte W12 + .byte Cn6 + .byte W12 + .byte Bn5 + .byte W12 + .byte An5 + .byte W12 + .byte Gn5 + .byte W48 + .byte PEND + .byte PATT + .word mus_rg_network_9_002 + .byte N03 , Cn6 , v100 + .byte W12 + .byte Bn5 + .byte W12 + .byte Cn6 + .byte W12 + .byte Dn6 + .byte W12 + .byte En6 + .byte W48 + .byte Dn6 + .byte W24 + .byte Cn6 + .byte W12 + .byte Bn5 + .byte W12 + .byte Cn6 + .byte W48 + .byte PATT + .word mus_rg_network_9_003 + .byte GOTO + .word mus_rg_network_9_B1 + .byte W96 + .byte FINE + +@********************** Track 10 **********************@ + +mus_rg_network_10: + .byte VOL , 96*mus_rg_network_mvl/mxv + .byte KEYSH , mus_rg_network_key+0 +mus_rg_network_10_B1: + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W24 + .byte N12 , Cn6 , v120 + .byte W72 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_network_10_B1 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_network: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_network_pri @ Priority + .byte mus_rg_network_rev @ Reverb. + + .word mus_rg_network_grp + + .word mus_rg_network_1 + .word mus_rg_network_2 + .word mus_rg_network_3 + .word mus_rg_network_4 + .word mus_rg_network_5 + .word mus_rg_network_6 + .word mus_rg_network_7 + .word mus_rg_network_8 + .word mus_rg_network_9 + .word mus_rg_network_10 + + .end diff --git a/sound/songs/mus_rg_nibi.s b/sound/songs/mus_rg_nibi.s new file mode 100644 index 0000000000..852994175b --- /dev/null +++ b/sound/songs/mus_rg_nibi.s @@ -0,0 +1,2701 @@ + .include "MPlayDef.s" + + .equ mus_rg_nibi_grp, voicegroup_86AF16C + .equ mus_rg_nibi_pri, 0 + .equ mus_rg_nibi_rev, reverb_set+50 + .equ mus_rg_nibi_mvl, 127 + .equ mus_rg_nibi_key, 0 + .equ mus_rg_nibi_tbs, 1 + .equ mus_rg_nibi_exg, 0 + .equ mus_rg_nibi_cmp, 1 + + .section .rodata + .global mus_rg_nibi + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_nibi_1: + .byte KEYSH , mus_rg_nibi_key+0 + .byte TEMPO , 126*mus_rg_nibi_tbs/2 + .byte VOICE , 80 + .byte VOL , 42*mus_rg_nibi_mvl/mxv + .byte PAN , c_v-61 + .byte W24 +mus_rg_nibi_1_B1: + .byte VOICE , 80 + .byte VOL , 36*mus_rg_nibi_mvl/mxv + .byte N03 , As3 , v120 + .byte W03 + .byte N21 , An3 , v127 + .byte W21 + .byte N24 , Gn3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte N12 + .byte W12 + .byte N03 , Gn3 + .byte W03 + .byte An3 , v120 + .byte W03 + .byte N06 , Gn3 + .byte W06 + .byte N12 , En3 , v127 + .byte W12 + .byte Fn3 + .byte W12 + .byte N12 + .byte W12 + .byte En3 + .byte W12 + .byte N24 , Dn3 + .byte W24 + .byte En3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N03 , Fs3 , v120 + .byte W03 + .byte N21 , Fn3 , v127 + .byte W21 + .byte N24 , Dn3 , v120 + .byte W24 + .byte N03 , Cs3 + .byte W03 + .byte N32 , Cn3 , v127 + .byte W32 + .byte W01 + .byte N12 , Dn3 + .byte W12 + .byte N18 + .byte W18 + .byte N06 , Cs3 , v120 + .byte W06 + .byte N24 , Cn3 , v127 + .byte W24 + .byte N03 , Gs3 , v120 + .byte W03 + .byte N09 , Gn3 , v127 + .byte W09 + .byte N24 , En3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte Dn3 + .byte W24 + .byte N03 , Cs3 , v120 + .byte W03 + .byte N21 , Cn3 , v127 + .byte W21 + .byte N12 , Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N03 , Fn3 , v120 + .byte W03 + .byte N21 , En3 , v127 + .byte W21 + .byte N12 , Cn3 , v120 + .byte W12 + .byte Fn3 , v127 + .byte W12 + .byte N24 , Cn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N24 , As2 + .byte W24 + .byte Cn3 + .byte W12 + .byte W12 + .byte N12 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte N03 , As3 , v120 + .byte W03 + .byte N09 , An3 , v127 + .byte W09 + .byte N12 , Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte N24 , Dn3 + .byte W24 + .byte En3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte N03 , Ds3 , v120 + .byte W03 + .byte N09 , En3 , v127 + .byte W09 + .byte N12 , Dn3 + .byte W12 + .byte N12 + .byte W12 + .byte Fn3 + .byte W12 + .byte N12 + .byte W12 + .byte En3 , v120 + .byte W12 + .byte Dn3 , v127 + .byte W12 + .byte As2 + .byte W12 + .byte N36 , Cn3 + .byte W36 + .byte N12 , Dn3 + .byte W12 + .byte N03 , Ds3 , v120 + .byte W03 + .byte N09 , Dn3 , v127 + .byte W09 + .byte N12 , Cn3 + .byte W12 + .byte N24 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte Dn3 + .byte W24 + .byte Cn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte N12 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , Dn3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte VOICE , 25 + .byte PAN , c_v-46 + .byte VOL , 45*mus_rg_nibi_mvl/mxv + .byte N06 , An4 , v120 + .byte W12 + .byte As3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N24 , An4 + .byte W24 + .byte N06 , As3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N12 , An4 + .byte W12 + .byte N06 + .byte W12 + .byte As4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N03 , Fn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte N06 , Fn4 + .byte W06 + .byte Dn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N18 , En5 + .byte W18 + .byte N03 , Ds5 , v072 + .byte W03 + .byte Dn5 , v068 + .byte W03 + .byte N24 , Cn5 , v120 + .byte W24 + .byte N06 , Fs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte An4 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte N03 , As4 + .byte W03 + .byte Cn5 + .byte W03 + .byte N06 , As4 + .byte W06 + .byte An4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N12 , Fn4 + .byte W24 + .byte As4 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte N06 , Gn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte N12 , Gn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N06 , As4 + .byte W12 + .byte N03 , An4 + .byte W03 + .byte As4 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte An3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N24 , Fs4 + .byte W24 + .byte N06 , An4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N12 , Ds5 + .byte W12 + .byte N06 , Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte N03 , An4 + .byte W03 + .byte As4 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte Fs4 + .byte W12 + .byte An4 + .byte W12 + .byte As3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N24 , An4 + .byte W24 + .byte N06 , As3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N12 , An4 + .byte W12 + .byte N06 , As4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte As4 + .byte W12 + .byte N12 , Cn5 + .byte W12 + .byte N06 , As4 + .byte W12 + .byte N03 , An4 + .byte W03 + .byte As4 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , Gn4 + .byte W24 + .byte N12 , En5 + .byte W12 + .byte N06 , En4 + .byte W12 + .byte N12 , Gn4 + .byte W12 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte An4 + .byte W12 + .byte N12 , Cn5 + .byte W12 + .byte N06 , As4 + .byte W12 + .byte N03 , An4 + .byte W03 + .byte As4 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte Fs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte As3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N24 , As4 + .byte W24 + .byte N12 , Dn5 + .byte W12 + .byte N06 , Fn4 + .byte W12 + .byte As4 + .byte W12 + .byte N12 , Gn4 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte N24 , Gn4 + .byte W24 + .byte N12 , As4 + .byte W12 + .byte En4 + .byte W12 + .byte N06 , Cs4 + .byte W12 + .byte En4 + .byte W12 + .byte As3 + .byte W12 + .byte Cs4 + .byte W12 + .byte N12 , En4 + .byte W24 + .byte Gn4 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte N12 , As4 + .byte W12 + .byte An4 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N12 , As4 + .byte W12 + .byte N06 , An4 + .byte W12 + .byte As4 + .byte W12 + .byte N03 , An4 + .byte W03 + .byte As4 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte Gn4 + .byte W12 + .byte GOTO + .word mus_rg_nibi_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_nibi_2: + .byte KEYSH , mus_rg_nibi_key+0 + .byte VOICE , 24 + .byte PAN , c_v+0 + .byte VOL , 60*mus_rg_nibi_mvl/mxv + .byte MOD , 0 + .byte LFOS , 44 + .byte BENDR , 12 + .byte W12 + .byte N06 , An4 , v120 + .byte W06 + .byte As4 + .byte W06 +mus_rg_nibi_2_B1: + .byte VOICE , 24 + .byte VOL , 60*mus_rg_nibi_mvl/mxv + .byte N24 , Cn5 , v127 + .byte W24 + .byte As4 + .byte W24 + .byte N60 , An4 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte VOL , 52*mus_rg_nibi_mvl/mxv + .byte W12 + .byte W12 + .byte MOD , 0 + .byte VOL , 60*mus_rg_nibi_mvl/mxv + .byte N12 + .byte W12 + .byte As4 + .byte W12 + .byte N24 , Cn5 + .byte W24 + .byte N12 + .byte W12 + .byte As4 + .byte W12 + .byte An4 + .byte W12 + .byte As4 + .byte W12 + .byte N60 , Gn4 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte VOL , 56*mus_rg_nibi_mvl/mxv + .byte W24 + .byte VOICE , 1 + .byte VOL , 62*mus_rg_nibi_mvl/mxv + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Fn5 , v096 + .byte W12 + .byte N03 , Cn5 + .byte W06 + .byte N06 , Fn5 , v044 + .byte W06 + .byte PAN , c_v+0 + .byte N36 , En5 , v096 + .byte W36 + .byte N03 , Cn5 , v088 + .byte W06 + .byte N06 , En5 , v040 + .byte W06 + .byte N24 , Fn5 , v096 + .byte W24 + .byte Gn5 + .byte W24 + .byte VOICE , 24 + .byte PAN , c_v+0 + .byte VOL , 60*mus_rg_nibi_mvl/mxv + .byte N24 , As4 , v127 + .byte W24 + .byte An4 + .byte W24 + .byte N60 , Gn4 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte VOL , 52*mus_rg_nibi_mvl/mxv + .byte W12 + .byte W12 + .byte MOD , 0 + .byte VOL , 60*mus_rg_nibi_mvl/mxv + .byte N12 + .byte W12 + .byte An4 + .byte W12 + .byte N24 , As4 + .byte W24 + .byte N12 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte N36 , Fn4 + .byte W21 + .byte MOD , 5 + .byte W15 + .byte VOICE , 1 + .byte PAN , c_v+28 + .byte VOL , 78*mus_rg_nibi_mvl/mxv + .byte MOD , 0 + .byte N24 , Dn3 + .byte W24 + .byte En3 + .byte W24 + .byte N36 , Fn3 + .byte W36 + .byte Gn3 + .byte W36 + .byte N12 , An3 + .byte W12 + .byte VOICE , 17 + .byte PAN , c_v-2 + .byte VOL , 83*mus_rg_nibi_mvl/mxv + .byte N06 , An4 , v096 + .byte W06 + .byte As4 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte N03 , Fn4 + .byte W12 + .byte N12 , As4 + .byte W12 + .byte N03 , Gn4 + .byte W12 + .byte Gs4 + .byte W03 + .byte N09 , An4 + .byte W09 + .byte An4 , v092 + .byte W24 + .byte Cn4 , v096 + .byte W12 + .byte W12 + .byte N03 , Gs4 , v120 + .byte W03 + .byte N09 , An4 , v096 + .byte W09 + .byte N12 , As4 + .byte W12 + .byte Cn5 + .byte W24 + .byte N12 + .byte W12 + .byte N03 , As4 + .byte W03 + .byte Cn5 + .byte W03 + .byte N06 , As4 + .byte W06 + .byte N12 , An4 + .byte W12 + .byte As4 + .byte W12 + .byte Gn4 + .byte W44 + .byte W01 + .byte VOICE , 1 + .byte W03 + .byte PAN , c_v+0 + .byte VOL , 60*mus_rg_nibi_mvl/mxv + .byte N12 , Gn5 + .byte W12 + .byte Fn5 , v104 + .byte W12 + .byte N03 , Cn5 , v080 + .byte W06 + .byte N06 , Fn5 , v036 + .byte W06 + .byte PAN , c_v+0 + .byte VOL , 62*mus_rg_nibi_mvl/mxv + .byte N12 , En5 , v104 + .byte W12 + .byte N24 , Cn5 , v100 + .byte W24 + .byte N03 , Gn4 , v080 + .byte W06 + .byte N06 , Cn5 , v036 + .byte W06 + .byte N12 , Fn5 , v104 + .byte W12 + .byte N03 , Cn4 , v084 + .byte N03 , Cn5 + .byte W06 + .byte N06 , Fn5 , v036 + .byte W06 + .byte N12 , Gn5 , v104 + .byte W06 + .byte VOL , 56*mus_rg_nibi_mvl/mxv + .byte W06 + .byte VOICE , 17 + .byte PAN , c_v+0 + .byte VOL , 82*mus_rg_nibi_mvl/mxv + .byte N06 , Gn4 , v096 + .byte W06 + .byte An4 + .byte W06 + .byte VOICE , 17 + .byte PAN , c_v+0 + .byte VOL , 84*mus_rg_nibi_mvl/mxv + .byte N12 , As4 + .byte W12 + .byte N03 , En4 + .byte W12 + .byte N12 , An4 + .byte W12 + .byte N03 , Fn4 + .byte W12 + .byte Fs4 + .byte W03 + .byte N09 , Gn4 + .byte W09 + .byte N06 , Gn4 , v120 + .byte W24 + .byte Cn5 , v096 + .byte W12 + .byte W12 + .byte N12 , Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte As4 + .byte W24 + .byte N12 + .byte W12 + .byte N03 , An4 + .byte W03 + .byte As4 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte N12 , Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Fn4 + .byte W84 + .byte VOICE , 48 + .byte PAN , c_v+22 + .byte VOL , 63*mus_rg_nibi_mvl/mxv + .byte N12 , Fn3 + .byte W12 + .byte N06 , Cn3 + .byte W12 + .byte N12 , Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N06 , Cn3 , v120 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte N06 , An3 , v096 + .byte W06 + .byte As3 , v120 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte PAN , c_v-7 + .byte VOL , 74*mus_rg_nibi_mvl/mxv + .byte N72 , Dn4 , v108 + .byte W12 + .byte VOL , 63*mus_rg_nibi_mvl/mxv + .byte W48 + .byte 52*mus_rg_nibi_mvl/mxv + .byte W12 + .byte 74*mus_rg_nibi_mvl/mxv + .byte N24 , As3 + .byte W24 + .byte N48 , Fn4 + .byte W12 + .byte VOL , 63*mus_rg_nibi_mvl/mxv + .byte W36 + .byte 74*mus_rg_nibi_mvl/mxv + .byte N12 , Gn4 + .byte W12 + .byte N06 , Fn4 + .byte W12 + .byte N03 , En4 + .byte W03 + .byte Fn4 + .byte W03 + .byte N06 , En4 + .byte W06 + .byte N12 , Dn4 + .byte W12 + .byte N66 , Cn4 + .byte W12 + .byte VOL , 63*mus_rg_nibi_mvl/mxv + .byte W36 + .byte 52*mus_rg_nibi_mvl/mxv + .byte W18 + .byte 74*mus_rg_nibi_mvl/mxv + .byte N03 , Bn3 , v088 + .byte W03 + .byte As3 , v092 + .byte W03 + .byte N24 , An3 , v108 + .byte W24 + .byte N96 , Cn4 + .byte W12 + .byte VOL , 63*mus_rg_nibi_mvl/mxv + .byte W60 + .byte 52*mus_rg_nibi_mvl/mxv + .byte W24 + .byte 74*mus_rg_nibi_mvl/mxv + .byte N48 , Gn3 + .byte W12 + .byte VOL , 63*mus_rg_nibi_mvl/mxv + .byte W36 + .byte 74*mus_rg_nibi_mvl/mxv + .byte W12 + .byte N12 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte As3 + .byte W24 + .byte An3 + .byte W24 + .byte Gn3 + .byte W24 + .byte N66 , An3 + .byte W12 + .byte VOL , 63*mus_rg_nibi_mvl/mxv + .byte W36 + .byte 52*mus_rg_nibi_mvl/mxv + .byte W18 + .byte 74*mus_rg_nibi_mvl/mxv + .byte N03 , Gs3 , v092 + .byte W03 + .byte Gn3 + .byte W03 + .byte N24 , Fs3 , v108 + .byte W24 + .byte N90 , Cn4 + .byte W12 + .byte VOL , 63*mus_rg_nibi_mvl/mxv + .byte W60 + .byte 52*mus_rg_nibi_mvl/mxv + .byte W18 + .byte 74*mus_rg_nibi_mvl/mxv + .byte N03 , Fn4 , v052 + .byte W03 + .byte Ds4 + .byte W03 + .byte N72 , Dn4 , v108 + .byte W12 + .byte VOL , 63*mus_rg_nibi_mvl/mxv + .byte W48 + .byte 52*mus_rg_nibi_mvl/mxv + .byte W12 + .byte 74*mus_rg_nibi_mvl/mxv + .byte N12 , En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N06 , As3 , v084 + .byte W12 + .byte N12 , Fn4 , v108 + .byte W12 + .byte N06 , As3 , v084 + .byte W12 + .byte N12 , En4 , v108 + .byte W12 + .byte N06 , As3 , v084 + .byte W12 + .byte N12 , Dn4 , v108 + .byte W12 + .byte N06 , As3 , v084 + .byte W12 + .byte N72 , Cn4 , v108 + .byte W12 + .byte VOL , 63*mus_rg_nibi_mvl/mxv + .byte W48 + .byte 52*mus_rg_nibi_mvl/mxv + .byte W12 + .byte 74*mus_rg_nibi_mvl/mxv + .byte N12 , Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte Cn4 + .byte W24 + .byte As3 + .byte W24 + .byte An3 + .byte W24 + .byte N72 , As3 + .byte W12 + .byte VOL , 63*mus_rg_nibi_mvl/mxv + .byte W48 + .byte 52*mus_rg_nibi_mvl/mxv + .byte W12 + .byte 74*mus_rg_nibi_mvl/mxv + .byte N12 , Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte N24 + .byte W24 + .byte Cn4 + .byte W24 + .byte As3 + .byte W24 + .byte Gn3 + .byte W24 + .byte N48 , As3 + .byte W12 + .byte VOL , 63*mus_rg_nibi_mvl/mxv + .byte W36 + .byte 74*mus_rg_nibi_mvl/mxv + .byte N48 , Cs4 + .byte W12 + .byte VOL , 63*mus_rg_nibi_mvl/mxv + .byte W36 + .byte 74*mus_rg_nibi_mvl/mxv + .byte N84 , Cn4 + .byte W12 + .byte VOL , 63*mus_rg_nibi_mvl/mxv + .byte W48 + .byte 52*mus_rg_nibi_mvl/mxv + .byte W24 + .byte VOICE , 24 + .byte VOL , 78*mus_rg_nibi_mvl/mxv + .byte W09 + .byte N03 , As4 + .byte W03 + .byte GOTO + .word mus_rg_nibi_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_nibi_3: + .byte KEYSH , mus_rg_nibi_key+0 + .byte VOICE , 4 + .byte PAN , c_v+38 + .byte VOL , 31*mus_rg_nibi_mvl/mxv + .byte W24 +mus_rg_nibi_3_B1: + .byte VOICE , 4 + .byte PAN , c_v+38 + .byte VOL , 31*mus_rg_nibi_mvl/mxv + .byte W12 + .byte N09 , Fn3 , v127 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W24 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn3 , v120 + .byte W12 + .byte Gn3 , v127 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W24 + .byte N09 + .byte W12 + .byte N03 , An3 + .byte W03 + .byte As3 , v120 + .byte W03 + .byte N06 , An3 + .byte W06 + .byte N09 , Gn3 , v127 + .byte W12 + .byte Cn4 , v120 + .byte W12 + .byte Gn3 , v127 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W24 + .byte N09 + .byte W12 + .byte N03 , An3 + .byte W03 + .byte As3 , v120 + .byte W03 + .byte N06 , An3 + .byte W06 + .byte N09 , Gn3 , v127 + .byte W12 + .byte En3 + .byte W12 + .byte N09 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W24 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 , v120 + .byte W12 + .byte En3 , v127 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 , v120 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 , v127 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W24 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W24 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W24 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn4 , v120 + .byte W12 + .byte Fn3 , v127 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W24 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Dn4 , v120 + .byte W12 + .byte As3 , v127 + .byte W12 + .byte N03 , An3 + .byte W03 + .byte As3 , v120 + .byte W03 + .byte N06 , An3 + .byte W06 + .byte N09 , Gn3 , v127 + .byte W12 + .byte W12 + .byte N09 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 , v120 + .byte W12 + .byte As3 , v127 + .byte W12 + .byte An3 , v120 + .byte W12 + .byte Gn3 , v127 + .byte W12 + .byte En3 + .byte W12 + .byte N09 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte En4 , v120 + .byte W12 + .byte En3 , v127 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 , v120 + .byte W12 + .byte En3 , v127 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 , v120 + .byte W12 + .byte As3 , v127 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte VOICE , 83 + .byte PAN , c_v-13 + .byte VOL , 82*mus_rg_nibi_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_nibi_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_nibi_4: + .byte KEYSH , mus_rg_nibi_key+0 + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 58*mus_rg_nibi_mvl/mxv + .byte W12 + .byte N12 , En1 , v120 + .byte W12 +mus_rg_nibi_4_B1: +mus_rg_nibi_4_000: + .byte N24 , Fn1 , v120 + .byte W36 + .byte N03 + .byte W48 + .byte N12 , En1 + .byte W12 + .byte PEND + .byte N24 , Fn1 + .byte W36 + .byte N03 + .byte W24 + .byte Cn2 + .byte W12 + .byte N12 , Fn2 + .byte W12 + .byte An1 + .byte W12 +mus_rg_nibi_4_001: + .byte N24 , As1 , v120 + .byte W36 + .byte N03 , Gn1 + .byte W24 + .byte En1 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte N03 , Cs2 + .byte W12 + .byte PEND + .byte N24 , Cn2 + .byte W36 + .byte N06 , Gn1 + .byte W24 + .byte N12 , Fn1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 +mus_rg_nibi_4_002: + .byte N24 , Gn1 , v120 + .byte W36 + .byte N03 + .byte W24 + .byte Cn1 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte PEND + .byte Gn1 + .byte W36 + .byte N03 , En1 + .byte W24 + .byte N12 , Cn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N03 , En2 + .byte W12 + .byte N24 , Fn2 + .byte W36 + .byte N03 , Fn1 + .byte W48 + .byte N12 , Cn1 + .byte W12 + .byte N24 , Fn1 + .byte W36 + .byte N03 + .byte W24 + .byte Cn2 + .byte W12 + .byte N12 , Fn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte PATT + .word mus_rg_nibi_4_000 + .byte N24 , Fn1 , v120 + .byte W36 + .byte N03 + .byte W24 + .byte Cn2 + .byte W12 + .byte N12 , Fn2 + .byte W12 + .byte N03 , An1 + .byte W12 + .byte PATT + .word mus_rg_nibi_4_001 + .byte N24 , Cn2 , v120 + .byte W36 + .byte N03 , En1 + .byte W24 + .byte N12 , Fn1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PATT + .word mus_rg_nibi_4_002 + .byte N24 , Gn1 , v120 + .byte W36 + .byte N03 , En1 + .byte W24 + .byte N12 , Cn1 + .byte W12 + .byte N03 , Cn2 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N24 , Fn1 + .byte W36 + .byte N03 + .byte W48 + .byte N12 , Cn1 + .byte W12 + .byte N24 , Fn2 + .byte W36 + .byte N03 , Cn2 + .byte W24 + .byte N12 , Fn1 + .byte W12 + .byte An1 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v+5 + .byte VOL , 58*mus_rg_nibi_mvl/mxv + .byte N24 , As1 + .byte W36 + .byte N03 + .byte W36 + .byte Fn2 + .byte W12 + .byte N12 , An1 + .byte W12 + .byte N24 , As1 + .byte W36 + .byte N03 , Gn1 + .byte W12 + .byte En2 + .byte W12 + .byte N24 + .byte W24 + .byte N03 , Dn2 + .byte W12 + .byte N24 , An1 + .byte W36 + .byte N03 , En1 + .byte W12 + .byte An1 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N03 , Cs2 + .byte W12 + .byte N24 , Dn2 + .byte W36 + .byte N03 , Cn2 + .byte W12 + .byte As1 + .byte W12 + .byte N24 , An1 + .byte W24 + .byte N12 , Fs1 + .byte W12 + .byte N24 , Gn1 + .byte W36 + .byte N03 , Dn1 + .byte W12 + .byte As1 + .byte W12 + .byte N24 , Dn2 + .byte W24 + .byte N03 , Cs2 + .byte W12 + .byte N24 , Cn2 + .byte W36 + .byte N03 , Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N24 , En2 + .byte W24 + .byte N12 , Ds2 + .byte W12 + .byte N24 , Dn2 + .byte W36 + .byte N03 , Fs1 + .byte W12 + .byte An1 + .byte W12 + .byte N24 , Dn2 + .byte W24 + .byte N03 , An1 + .byte W12 + .byte N24 , Fs1 + .byte W24 + .byte Ds1 + .byte W24 + .byte Cn2 + .byte W24 + .byte N12 , As1 + .byte W12 + .byte An1 + .byte W12 + .byte N24 , As1 + .byte W36 + .byte N03 + .byte W12 + .byte Fn1 + .byte W12 + .byte N24 + .byte W24 + .byte N03 , An1 + .byte W12 + .byte N24 , As1 + .byte W36 + .byte N03 + .byte W24 + .byte N12 , Gn1 + .byte W12 + .byte N03 , En2 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N24 , An1 + .byte W36 + .byte N03 + .byte W12 + .byte N24 , En1 + .byte W36 + .byte N03 + .byte W12 + .byte N24 , Dn1 + .byte W36 + .byte N03 + .byte W12 + .byte Fs1 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N03 , Bn1 + .byte W12 + .byte N24 , As1 + .byte W36 + .byte N03 + .byte W12 + .byte N24 , Fn1 + .byte W36 + .byte N03 + .byte W12 + .byte N24 , En1 + .byte W36 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N24 , Cs1 + .byte W24 + .byte N03 , Gn1 + .byte W12 + .byte N24 , En1 + .byte W36 + .byte N03 + .byte W12 + .byte Gn1 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N03 , As1 + .byte W12 + .byte N24 , An1 + .byte W36 + .byte N03 + .byte W12 + .byte Fn1 + .byte W12 + .byte N24 + .byte W36 + .byte GOTO + .word mus_rg_nibi_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_nibi_5: + .byte KEYSH , mus_rg_nibi_key+0 + .byte VOICE , 24 + .byte VOL , 84*mus_rg_nibi_mvl/mxv + .byte PAN , c_v-16 + .byte MOD , 0 + .byte LFOS , 44 + .byte BENDR , 12 + .byte W24 +mus_rg_nibi_5_B1: + .byte VOICE , 24 + .byte VOL , 57*mus_rg_nibi_mvl/mxv + .byte PAN , c_v-23 + .byte N12 , An4 , v120 + .byte W12 + .byte N06 , Cn4 , v056 + .byte W12 + .byte N12 , Gn4 , v120 + .byte W12 + .byte N06 , Cn4 , v056 + .byte W12 + .byte N12 , Fn4 , v120 + .byte W12 + .byte N09 , Cn4 , v060 + .byte W12 + .byte PAN , c_v+30 + .byte N12 , Fn4 , v064 + .byte W12 + .byte N06 , Cn4 , v052 + .byte W12 + .byte Fn4 , v040 + .byte W12 + .byte N12 , Fn4 , v120 + .byte W12 + .byte PAN , c_v-22 + .byte N12 , Gn4 + .byte W12 + .byte N24 , An4 + .byte W24 + .byte N12 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N60 , En4 + .byte W36 + .byte MOD , 5 + .byte W24 + .byte VOICE , 1 + .byte MOD , 0 + .byte N12 , Fn4 , v127 + .byte W12 + .byte N03 , Cn4 , v100 + .byte W06 + .byte N06 , Fn4 , v044 + .byte W06 + .byte N36 , En4 , v127 + .byte W36 + .byte N03 , Cn4 , v088 + .byte W06 + .byte N06 , En4 , v040 + .byte W06 + .byte N24 , Fn4 , v127 + .byte W24 + .byte Gn4 + .byte W24 + .byte VOICE , 24 + .byte N12 , Gn4 , v120 + .byte W12 + .byte N03 , Cn4 , v072 + .byte W12 + .byte N12 , Fn4 , v120 + .byte W12 + .byte N03 , Cn4 , v076 + .byte W12 + .byte N12 , En4 , v120 + .byte W12 + .byte N03 , Cn4 , v072 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En4 , v064 + .byte W12 + .byte N03 , Cn4 , v056 + .byte W12 + .byte PAN , c_v-22 + .byte N12 , Cn5 , v088 + .byte W12 + .byte N03 , Cn4 , v064 + .byte N12 , En4 , v120 + .byte W12 + .byte Fn4 + .byte W12 + .byte N24 , Gn4 + .byte W24 + .byte N12 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N36 , Cn4 + .byte W21 + .byte MOD , 5 + .byte W15 + .byte VOICE , 1 + .byte VOL , 81*mus_rg_nibi_mvl/mxv + .byte MOD , 0 + .byte N24 , An2 , v127 + .byte W24 + .byte As2 + .byte W24 + .byte N36 , Cn3 + .byte W36 + .byte En3 + .byte W36 + .byte N12 , Fn3 + .byte W12 + .byte VOICE , 17 + .byte VOL , 63*mus_rg_nibi_mvl/mxv + .byte N06 , Cn4 , v096 + .byte W06 + .byte En4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte N03 , Cn4 , v064 + .byte W12 + .byte N12 , Dn4 , v096 + .byte W12 + .byte N03 , Cn4 , v064 + .byte W12 + .byte Bn3 + .byte W03 + .byte N09 , Cn4 , v096 + .byte W09 + .byte N09 + .byte W24 + .byte Fn3 + .byte W12 + .byte W12 + .byte N03 , Bn3 + .byte W03 + .byte N09 , Cn4 + .byte W09 + .byte N12 , Dn4 + .byte W12 + .byte Fn4 + .byte W24 + .byte N12 + .byte W12 + .byte N03 , Dn4 + .byte W03 + .byte Fn4 + .byte W03 + .byte N06 , Dn4 + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte As3 + .byte W48 + .byte VOICE , 1 + .byte VOL , 56*mus_rg_nibi_mvl/mxv + .byte N12 , Gn4 , v100 + .byte W12 + .byte Fn4 , v096 + .byte W12 + .byte N03 , Cn4 , v080 + .byte W06 + .byte N06 , Fn4 , v036 + .byte W06 + .byte N12 , En4 , v108 + .byte W12 + .byte N24 , Cn4 , v096 + .byte W24 + .byte N03 , Gn3 , v080 + .byte W06 + .byte N06 , Cn4 , v036 + .byte W06 + .byte N12 , Fn4 , v108 + .byte W18 + .byte N06 , Fn4 , v036 + .byte W06 + .byte N12 , Gn4 , v108 + .byte W06 + .byte VOL , 50*mus_rg_nibi_mvl/mxv + .byte W06 + .byte 63*mus_rg_nibi_mvl/mxv + .byte W03 + .byte VOICE , 17 + .byte N06 , Cn4 , v096 + .byte W03 + .byte Dn4 + .byte W06 + .byte VOL , 63*mus_rg_nibi_mvl/mxv + .byte N12 , En4 + .byte W12 + .byte N03 , As3 , v064 + .byte W12 + .byte N12 , Dn4 , v096 + .byte W12 + .byte N03 , As3 , v072 + .byte W12 + .byte Bn3 + .byte W03 + .byte N09 , Cn4 , v096 + .byte W09 + .byte N06 + .byte W24 + .byte Gn4 , v080 + .byte W12 + .byte W12 + .byte N12 , Cn4 , v092 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W24 + .byte N12 + .byte W12 + .byte N03 , Dn4 , v064 + .byte W03 + .byte En4 + .byte W03 + .byte N06 , Dn4 , v092 + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cn4 + .byte W84 + .byte VOICE , 48 + .byte VOL , 54*mus_rg_nibi_mvl/mxv + .byte N36 , An2 , v096 + .byte W36 + .byte As2 + .byte W36 + .byte N06 , Cn3 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cs3 , v120 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte VOL , 38*mus_rg_nibi_mvl/mxv + .byte PAN , c_v+23 + .byte N72 , As2 + .byte W72 + .byte N24 , Fn2 + .byte W24 + .byte N48 , Dn2 + .byte W48 + .byte N12 , Dn3 + .byte W12 + .byte N06 , As2 + .byte W12 + .byte N03 , An2 + .byte W03 + .byte As2 + .byte W03 + .byte N06 , An2 + .byte W06 + .byte N12 , Gn2 + .byte W12 + .byte N36 , En2 + .byte W36 + .byte N03 , Cn2 + .byte W12 + .byte N18 , En2 + .byte W18 + .byte N03 , Fn2 + .byte W03 + .byte Fs2 + .byte W03 + .byte N24 , Gn2 + .byte W24 + .byte N48 , Fs2 + .byte W48 + .byte N12 , As2 + .byte W12 + .byte An2 + .byte W12 + .byte N03 , Fs2 + .byte W03 + .byte Gn2 + .byte W03 + .byte N06 , Fs2 + .byte W06 + .byte N12 , Ds2 + .byte W12 + .byte N36 , Dn2 + .byte W36 + .byte N12 , As1 + .byte W12 + .byte N24 , Dn2 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte N24 , En2 + .byte W24 + .byte Cn2 + .byte W24 + .byte An1 + .byte W24 + .byte N12 , Cn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte N36 , Dn2 + .byte W36 + .byte N12 , An1 + .byte W12 + .byte N48 , Dn2 + .byte W48 + .byte N24 , Fs1 + .byte W24 + .byte An1 + .byte W24 + .byte Cn2 + .byte W24 + .byte Ds2 + .byte W24 + .byte VOL , 42*mus_rg_nibi_mvl/mxv + .byte N72 , Fn2 + .byte W72 + .byte N12 , Gn2 + .byte W12 + .byte An2 + .byte W12 + .byte N24 , As2 + .byte W24 + .byte Cn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N36 , Cn3 + .byte W36 + .byte N12 , En2 + .byte W12 + .byte An2 + .byte W09 + .byte N24 , En3 + .byte W24 + .byte W03 + .byte N06 , Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte N24 , Fs2 + .byte W24 + .byte An2 + .byte W24 + .byte Cn3 + .byte W24 + .byte N12 , As2 + .byte W12 + .byte An2 + .byte W12 + .byte N36 , As2 + .byte W36 + .byte N06 , Dn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte N24 , Dn3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte N24 , As2 + .byte W24 + .byte Cn3 + .byte W24 + .byte Cs3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N24 , Cs3 + .byte W24 + .byte N12 , As2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Gn2 + .byte W12 + .byte N06 , En2 + .byte W12 + .byte N12 , Cn3 + .byte W12 + .byte En3 + .byte W12 + .byte N36 , Fn3 + .byte W36 + .byte N12 , Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N36 , Gn3 + .byte W12 + .byte VOL , 31*mus_rg_nibi_mvl/mxv + .byte W06 + .byte 27*mus_rg_nibi_mvl/mxv + .byte W06 + .byte 20*mus_rg_nibi_mvl/mxv + .byte W12 + .byte GOTO + .word mus_rg_nibi_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_nibi_6: + .byte KEYSH , mus_rg_nibi_key+0 + .byte VOICE , 92 + .byte LFOS , 50 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 37*mus_rg_nibi_mvl/mxv + .byte BEND , c_v+1 + .byte W24 +mus_rg_nibi_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte N06 , An4 , v096 + .byte W06 + .byte As4 , v120 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte N72 , Dn5 , v108 + .byte W12 + .byte VOL , 31*mus_rg_nibi_mvl/mxv + .byte MOD , 4 + .byte W36 + .byte VOL , 21*mus_rg_nibi_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nibi_mvl/mxv + .byte N24 , As4 + .byte W24 + .byte N48 , Fn5 + .byte W12 + .byte VOL , 31*mus_rg_nibi_mvl/mxv + .byte MOD , 4 + .byte W36 + .byte 0 + .byte VOL , 36*mus_rg_nibi_mvl/mxv + .byte N12 , Gn5 + .byte W12 + .byte N06 , Fn5 + .byte W12 + .byte N03 , En5 + .byte W03 + .byte Fn5 + .byte W03 + .byte N06 , En5 + .byte W06 + .byte N12 , Dn5 + .byte W12 + .byte N66 , Cn5 + .byte W12 + .byte VOL , 31*mus_rg_nibi_mvl/mxv + .byte MOD , 4 + .byte W36 + .byte VOL , 21*mus_rg_nibi_mvl/mxv + .byte W18 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nibi_mvl/mxv + .byte N03 , Bn4 , v088 + .byte W03 + .byte As4 , v092 + .byte W03 + .byte N24 , An4 , v108 + .byte W24 + .byte N96 , Cn5 + .byte W12 + .byte VOL , 31*mus_rg_nibi_mvl/mxv + .byte W03 + .byte MOD , 4 + .byte W56 + .byte W01 + .byte VOL , 21*mus_rg_nibi_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nibi_mvl/mxv + .byte N48 , Gn4 + .byte W12 + .byte VOL , 31*mus_rg_nibi_mvl/mxv + .byte MOD , 4 + .byte W36 + .byte 0 + .byte VOL , 36*mus_rg_nibi_mvl/mxv + .byte W12 + .byte N12 + .byte W12 + .byte An4 + .byte W12 + .byte As4 + .byte W12 + .byte N24 , Cn5 + .byte W24 + .byte As4 + .byte W24 + .byte An4 + .byte W24 + .byte Gn4 + .byte W24 + .byte N66 , An4 + .byte W12 + .byte VOL , 31*mus_rg_nibi_mvl/mxv + .byte MOD , 4 + .byte W36 + .byte VOL , 21*mus_rg_nibi_mvl/mxv + .byte W18 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nibi_mvl/mxv + .byte N03 , Gs4 , v092 + .byte W03 + .byte Gn4 + .byte W03 + .byte N24 , Fs4 , v108 + .byte W24 + .byte MOD , 4 + .byte N90 , Cn5 + .byte W12 + .byte VOL , 31*mus_rg_nibi_mvl/mxv + .byte W48 + .byte 21*mus_rg_nibi_mvl/mxv + .byte W30 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nibi_mvl/mxv + .byte N03 , Fn5 , v052 + .byte W03 + .byte Ds5 + .byte W03 + .byte N72 , Dn5 , v108 + .byte W12 + .byte VOL , 31*mus_rg_nibi_mvl/mxv + .byte MOD , 4 + .byte W36 + .byte VOL , 21*mus_rg_nibi_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nibi_mvl/mxv + .byte N12 , En5 + .byte W12 + .byte Fn5 + .byte W12 + .byte Gn5 + .byte W12 + .byte N06 , As4 , v084 + .byte W12 + .byte N12 , Fn5 , v108 + .byte W12 + .byte N06 , As4 , v080 + .byte W12 + .byte N12 , En5 , v108 + .byte W12 + .byte N06 , As4 , v084 + .byte W12 + .byte N12 , Dn5 , v096 + .byte W12 + .byte N06 , As4 , v072 + .byte W12 + .byte N72 , Cn5 , v108 + .byte W12 + .byte VOL , 31*mus_rg_nibi_mvl/mxv + .byte MOD , 4 + .byte W36 + .byte VOL , 21*mus_rg_nibi_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nibi_mvl/mxv + .byte N12 , Dn5 + .byte W12 + .byte En5 + .byte W12 + .byte N24 , Dn5 + .byte W24 + .byte Cn5 + .byte W24 + .byte As4 + .byte W24 + .byte An4 + .byte W24 + .byte N72 , As4 + .byte W12 + .byte VOL , 31*mus_rg_nibi_mvl/mxv + .byte MOD , 4 + .byte W36 + .byte VOL , 21*mus_rg_nibi_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nibi_mvl/mxv + .byte N12 , Cn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte N24 + .byte W24 + .byte Cn5 + .byte W24 + .byte As4 + .byte W24 + .byte Gn4 + .byte W24 + .byte N48 , As4 + .byte W12 + .byte VOL , 31*mus_rg_nibi_mvl/mxv + .byte MOD , 4 + .byte W24 + .byte W03 + .byte VOL , 21*mus_rg_nibi_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nibi_mvl/mxv + .byte N48 , Cs5 + .byte W12 + .byte VOL , 31*mus_rg_nibi_mvl/mxv + .byte W03 + .byte MOD , 4 + .byte W24 + .byte VOL , 21*mus_rg_nibi_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nibi_mvl/mxv + .byte N84 , Cn5 + .byte W12 + .byte VOL , 31*mus_rg_nibi_mvl/mxv + .byte MOD , 4 + .byte W36 + .byte VOL , 21*mus_rg_nibi_mvl/mxv + .byte W24 + .byte 10*mus_rg_nibi_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 36*mus_rg_nibi_mvl/mxv + .byte W12 + .byte GOTO + .word mus_rg_nibi_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_nibi_7: + .byte KEYSH , mus_rg_nibi_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 82*mus_rg_nibi_mvl/mxv + .byte N06 , Cn1 , v120 + .byte W12 + .byte N12 , En1 + .byte W12 +mus_rg_nibi_7_B1: + .byte VOL , 67*mus_rg_nibi_mvl/mxv + .byte N06 , Cn1 , v120 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W12 +mus_rg_nibi_7_000: + .byte N06 , Cn1 , v120 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nibi_7_000 +mus_rg_nibi_7_001: + .byte N06 , Cn1 , v120 + .byte W36 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nibi_7_000 + .byte PATT + .word mus_rg_nibi_7_000 + .byte PATT + .word mus_rg_nibi_7_000 + .byte N06 , Cn1 , v120 + .byte W36 + .byte N06 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte PATT + .word mus_rg_nibi_7_000 + .byte PATT + .word mus_rg_nibi_7_000 + .byte PATT + .word mus_rg_nibi_7_000 + .byte PATT + .word mus_rg_nibi_7_001 + .byte PATT + .word mus_rg_nibi_7_000 + .byte PATT + .word mus_rg_nibi_7_000 + .byte PATT + .word mus_rg_nibi_7_000 + .byte N06 , Cn1 , v120 + .byte W36 + .byte N06 + .byte W12 + .byte Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N06 , Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte Gn1 + .byte W12 +mus_rg_nibi_7_002: + .byte N06 , Cn1 , v120 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W24 + .byte N12 , En1 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_nibi_7_002 + .byte PATT + .word mus_rg_nibi_7_002 + .byte N06 , Cn1 , v120 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W10 + .byte N01 , En1 , v096 + .byte W02 + .byte N09 , En1 , v120 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Fn1 , v104 + .byte W12 + .byte PATT + .word mus_rg_nibi_7_002 + .byte PATT + .word mus_rg_nibi_7_002 + .byte PATT + .word mus_rg_nibi_7_002 + .byte N06 , Cn1 , v120 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W10 + .byte N01 , En1 , v096 + .byte W02 + .byte N09 , En1 , v120 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte N06 , Gn1 + .byte W12 + .byte Cn1 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte PATT + .word mus_rg_nibi_7_002 + .byte N06 , Cn1 , v120 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W10 + .byte N01 , En1 , v096 + .byte W02 + .byte N09 , En1 , v120 + .byte W12 + .byte N12 + .byte W24 + .byte PATT + .word mus_rg_nibi_7_002 + .byte N06 , Cn1 , v120 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , En1 + .byte W24 + .byte PATT + .word mus_rg_nibi_7_002 + .byte N06 , Cn1 , v120 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte W10 + .byte N01 , En1 , v096 + .byte W02 + .byte N09 , En1 , v120 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N06 , Cn1 + .byte N06 , Fn1 + .byte W12 + .byte GOTO + .word mus_rg_nibi_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_nibi_8: + .byte KEYSH , mus_rg_nibi_key+0 + .byte VOICE , 127 + .byte PAN , c_v+0 + .byte VOL , 31*mus_rg_nibi_mvl/mxv + .byte N01 , Cn5 , v080 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W18 +mus_rg_nibi_8_B1: +mus_rg_nibi_8_000: + .byte N01 , Cn5 , v120 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte N01 + .byte W24 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_nibi_8_000 + .byte PATT + .word mus_rg_nibi_8_000 + .byte PATT + .word mus_rg_nibi_8_000 + .byte PATT + .word mus_rg_nibi_8_000 + .byte PATT + .word mus_rg_nibi_8_000 + .byte PATT + .word mus_rg_nibi_8_000 + .byte PATT + .word mus_rg_nibi_8_000 + .byte PATT + .word mus_rg_nibi_8_000 + .byte PATT + .word mus_rg_nibi_8_000 + .byte PATT + .word mus_rg_nibi_8_000 + .byte PATT + .word mus_rg_nibi_8_000 + .byte PATT + .word mus_rg_nibi_8_000 + .byte PATT + .word mus_rg_nibi_8_000 + .byte PATT + .word mus_rg_nibi_8_000 + .byte PATT + .word mus_rg_nibi_8_000 +mus_rg_nibi_8_001: + .byte N01 , Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte PEND +mus_rg_nibi_8_002: + .byte N01 , Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v088 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_nibi_8_001 + .byte PATT + .word mus_rg_nibi_8_002 + .byte PATT + .word mus_rg_nibi_8_001 + .byte PATT + .word mus_rg_nibi_8_002 + .byte PATT + .word mus_rg_nibi_8_001 + .byte PATT + .word mus_rg_nibi_8_002 + .byte PATT + .word mus_rg_nibi_8_001 + .byte PATT + .word mus_rg_nibi_8_002 + .byte PATT + .word mus_rg_nibi_8_001 + .byte PATT + .word mus_rg_nibi_8_002 + .byte PATT + .word mus_rg_nibi_8_001 + .byte PATT + .word mus_rg_nibi_8_002 + .byte PATT + .word mus_rg_nibi_8_001 + .byte PATT + .word mus_rg_nibi_8_002 + .byte GOTO + .word mus_rg_nibi_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_nibi_9: + .byte KEYSH , mus_rg_nibi_key+0 + .byte VOICE , 126 + .byte PAN , c_v+0 + .byte VOL , 38*mus_rg_nibi_mvl/mxv + .byte W12 + .byte N12 , Gn5 , v080 + .byte W12 +mus_rg_nibi_9_B1: + .byte W60 + .byte N12 , Gn5 , v120 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W60 + .byte N12 + .byte W36 + .byte W96 + .byte W84 + .byte Gn5 , v108 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte GOTO + .word mus_rg_nibi_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_nibi: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_nibi_pri @ Priority + .byte mus_rg_nibi_rev @ Reverb. + + .word mus_rg_nibi_grp + + .word mus_rg_nibi_1 + .word mus_rg_nibi_2 + .word mus_rg_nibi_3 + .word mus_rg_nibi_4 + .word mus_rg_nibi_5 + .word mus_rg_nibi_6 + .word mus_rg_nibi_7 + .word mus_rg_nibi_8 + .word mus_rg_nibi_9 + + .end diff --git a/sound/songs/mus_rg_ohkido.s b/sound/songs/mus_rg_ohkido.s new file mode 100644 index 0000000000..132976f7c0 --- /dev/null +++ b/sound/songs/mus_rg_ohkido.s @@ -0,0 +1,1662 @@ + .include "MPlayDef.s" + + .equ mus_rg_ohkido_grp, voicegroup_86AAEDC + .equ mus_rg_ohkido_pri, 0 + .equ mus_rg_ohkido_rev, reverb_set+50 + .equ mus_rg_ohkido_mvl, 127 + .equ mus_rg_ohkido_key, 0 + .equ mus_rg_ohkido_tbs, 1 + .equ mus_rg_ohkido_exg, 0 + .equ mus_rg_ohkido_cmp, 1 + + .section .rodata + .global mus_rg_ohkido + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_ohkido_1: + .byte KEYSH , mus_rg_ohkido_key+0 + .byte TEMPO , 160*mus_rg_ohkido_tbs/2 + .byte VOICE , 1 + .byte PAN , c_v-19 + .byte VOL , 67*mus_rg_ohkido_mvl/mxv + .byte N06 , Gn2 , v096 + .byte W06 + .byte Cn3 , v080 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N72 , Gn3 , v088 + .byte W72 + .byte VOL , 86*mus_rg_ohkido_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_ohkido_1_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_ohkido_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_ohkido_2: + .byte KEYSH , mus_rg_ohkido_key+0 + .byte VOICE , 1 + .byte PAN , c_v+16 + .byte VOL , 77*mus_rg_ohkido_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte N06 , Cn4 , v096 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Bn4 + .byte W06 + .byte N72 , Cn5 + .byte W72 + .byte VOICE , 58 + .byte PAN , c_v+0 + .byte VOL , 51*mus_rg_ohkido_mvl/mxv + .byte N12 , Cn4 , v127 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 4 + .byte VOL , 43*mus_rg_ohkido_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 52*mus_rg_ohkido_mvl/mxv + .byte N06 , En4 + .byte W06 + .byte N03 , Fn4 , v100 + .byte W03 + .byte En4 + .byte W03 + .byte N12 , Dn4 , v127 + .byte W12 + .byte N09 , As3 , v120 + .byte W12 + .byte VOICE , 73 + .byte VOL , 75*mus_rg_ohkido_mvl/mxv + .byte N12 , Cn5 , v127 + .byte W12 + .byte Dn5 + .byte W12 + .byte En5 + .byte W12 + .byte N24 , Fn5 + .byte W12 + .byte MOD , 4 + .byte VOL , 67*mus_rg_ohkido_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 75*mus_rg_ohkido_mvl/mxv + .byte N06 , En5 + .byte W06 + .byte N03 , Fn5 , v096 + .byte W03 + .byte En5 + .byte W03 + .byte N24 , Dn5 , v127 + .byte W12 + .byte VOL , 69*mus_rg_ohkido_mvl/mxv + .byte W12 + .byte VOICE , 58 + .byte VOL , 52*mus_rg_ohkido_mvl/mxv + .byte N12 , Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , As3 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte VOL , 46*mus_rg_ohkido_mvl/mxv + .byte N03 , Cs4 , v088 + .byte W03 + .byte N21 , Cn4 , v127 + .byte W09 + .byte MOD , 4 + .byte VOL , 53*mus_rg_ohkido_mvl/mxv + .byte W12 + .byte VOICE , 73 + .byte VOL , 75*mus_rg_ohkido_mvl/mxv + .byte MOD , 0 + .byte N12 , Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte An4 + .byte W12 + .byte N24 , As4 + .byte W12 + .byte VOL , 65*mus_rg_ohkido_mvl/mxv + .byte W12 + .byte 75*mus_rg_ohkido_mvl/mxv + .byte N12 , Cn5 + .byte W12 + .byte N03 , Dn5 , v084 + .byte W03 + .byte N21 , Cn5 , v127 + .byte W09 + .byte MOD , 4 + .byte VOL , 69*mus_rg_ohkido_mvl/mxv + .byte W12 + .byte 86*mus_rg_ohkido_mvl/mxv + .byte MOD , 0 + .byte N12 , Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , En4 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W03 + .byte En4 + .byte W03 + .byte N24 , Dn4 , v127 + .byte W12 + .byte MOD , 4 + .byte VOL , 79*mus_rg_ohkido_mvl/mxv + .byte W12 + .byte 70*mus_rg_ohkido_mvl/mxv + .byte MOD , 0 + .byte N12 , Cn5 + .byte W12 + .byte Dn5 + .byte W12 + .byte En5 + .byte W12 + .byte N24 , Fn5 + .byte W12 + .byte MOD , 4 + .byte VOL , 61*mus_rg_ohkido_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 71*mus_rg_ohkido_mvl/mxv + .byte N06 , En5 + .byte W06 + .byte N03 , Fn5 , v092 + .byte W03 + .byte En5 + .byte W03 + .byte N12 , Dn5 , v120 + .byte W12 + .byte N09 , As4 + .byte W12 + .byte VOL , 86*mus_rg_ohkido_mvl/mxv + .byte N12 , Cn4 , v127 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , As3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Cn4 + .byte W12 + .byte N03 , Cs4 , v088 + .byte W03 + .byte N21 , Cn4 , v127 + .byte W09 + .byte MOD , 4 + .byte W12 + .byte VOL , 71*mus_rg_ohkido_mvl/mxv + .byte MOD , 0 + .byte N12 , Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte An4 + .byte W12 + .byte N24 , As4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Cn5 + .byte W12 + .byte N03 , Cs5 , v096 + .byte W03 + .byte N21 , Cn5 , v127 + .byte W09 + .byte MOD , 4 + .byte W12 +mus_rg_ohkido_2_B1: + .byte VOICE , 21 + .byte VOL , 65*mus_rg_ohkido_mvl/mxv + .byte MOD , 0 + .byte N36 , Dn4 , v127 + .byte W24 + .byte MOD , 4 + .byte VOL , 56*mus_rg_ohkido_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 65*mus_rg_ohkido_mvl/mxv + .byte N06 , As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N36 , Fn4 + .byte W24 + .byte MOD , 4 + .byte VOL , 56*mus_rg_ohkido_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 65*mus_rg_ohkido_mvl/mxv + .byte N06 , Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N24 , Gn4 + .byte W24 + .byte Fn4 + .byte W24 + .byte N18 , En4 + .byte W18 + .byte N03 , Dn4 , v088 + .byte W03 + .byte En4 + .byte W03 + .byte N24 , Dn4 , v127 + .byte W24 + .byte N36 , Cn4 + .byte W24 + .byte MOD , 4 + .byte VOL , 59*mus_rg_ohkido_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 65*mus_rg_ohkido_mvl/mxv + .byte N06 , An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N48 , Fn4 + .byte W24 + .byte VOL , 60*mus_rg_ohkido_mvl/mxv + .byte W12 + .byte MOD , 4 + .byte VOL , 54*mus_rg_ohkido_mvl/mxv + .byte W12 + .byte VOICE , 1 + .byte MOD , 0 + .byte VOL , 65*mus_rg_ohkido_mvl/mxv + .byte N36 , Cn5 + .byte W24 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , An4 + .byte W06 + .byte Cn5 + .byte W06 + .byte N48 , Fn5 + .byte W24 + .byte VOL , 60*mus_rg_ohkido_mvl/mxv + .byte W12 + .byte MOD , 4 + .byte VOL , 54*mus_rg_ohkido_mvl/mxv + .byte W12 + .byte VOICE , 58 + .byte VOL , 43*mus_rg_ohkido_mvl/mxv + .byte MOD , 0 + .byte N36 , As3 + .byte W24 + .byte MOD , 4 + .byte VOL , 37*mus_rg_ohkido_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 43*mus_rg_ohkido_mvl/mxv + .byte N06 , Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte N48 , En4 + .byte W36 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N24 , Fn4 + .byte W24 + .byte En4 + .byte W24 + .byte N18 , Dn4 + .byte W18 + .byte N03 , Cs4 , v084 + .byte W03 + .byte Dn4 + .byte W03 + .byte N24 , Cs4 , v127 + .byte W24 + .byte N36 , Cn4 + .byte W24 + .byte MOD , 4 + .byte VOL , 35*mus_rg_ohkido_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 43*mus_rg_ohkido_mvl/mxv + .byte N06 , An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N36 , Fn4 + .byte W24 + .byte MOD , 4 + .byte VOL , 35*mus_rg_ohkido_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 43*mus_rg_ohkido_mvl/mxv + .byte N06 , Cn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N96 , An4 + .byte W48 + .byte MOD , 4 + .byte VOL , 39*mus_rg_ohkido_mvl/mxv + .byte W06 + .byte 37*mus_rg_ohkido_mvl/mxv + .byte W06 + .byte 32*mus_rg_ohkido_mvl/mxv + .byte W06 + .byte 27*mus_rg_ohkido_mvl/mxv + .byte W06 + .byte 21*mus_rg_ohkido_mvl/mxv + .byte W06 + .byte 16*mus_rg_ohkido_mvl/mxv + .byte W06 + .byte 10*mus_rg_ohkido_mvl/mxv + .byte W06 + .byte 5*mus_rg_ohkido_mvl/mxv + .byte W06 + .byte GOTO + .word mus_rg_ohkido_2_B1 + .byte MOD , 0 + .byte VOL , 43*mus_rg_ohkido_mvl/mxv + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_ohkido_3: + .byte KEYSH , mus_rg_ohkido_key+0 + .byte VOICE , 14 + .byte VOL , 54*mus_rg_ohkido_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Cn5 , v052 + .byte W06 + .byte En5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Bn5 + .byte W06 + .byte N36 , Cn6 + .byte W06 + .byte VOL , 49*mus_rg_ohkido_mvl/mxv + .byte W03 + .byte 44*mus_rg_ohkido_mvl/mxv + .byte W03 + .byte 39*mus_rg_ohkido_mvl/mxv + .byte W03 + .byte 35*mus_rg_ohkido_mvl/mxv + .byte W03 + .byte 31*mus_rg_ohkido_mvl/mxv + .byte W03 + .byte 26*mus_rg_ohkido_mvl/mxv + .byte W03 + .byte 21*mus_rg_ohkido_mvl/mxv + .byte W03 + .byte 16*mus_rg_ohkido_mvl/mxv + .byte W03 + .byte 13*mus_rg_ohkido_mvl/mxv + .byte W03 + .byte 10*mus_rg_ohkido_mvl/mxv + .byte W03 + .byte VOICE , 48 + .byte VOL , 54*mus_rg_ohkido_mvl/mxv + .byte N06 , Gn3 , v127 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Cn5 , v104 + .byte W24 + .byte PAN , c_v+32 + .byte W12 + .byte N24 , Fn5 , v092 + .byte W12 + .byte VOL , 48*mus_rg_ohkido_mvl/mxv + .byte W03 + .byte 37*mus_rg_ohkido_mvl/mxv + .byte W03 + .byte 28*mus_rg_ohkido_mvl/mxv + .byte W03 + .byte 16*mus_rg_ohkido_mvl/mxv + .byte W15 + .byte 54*mus_rg_ohkido_mvl/mxv + .byte W24 + .byte N06 , Cn4 , v104 + .byte W24 + .byte PAN , c_v-32 + .byte W12 + .byte N24 , Fn4 , v100 + .byte W12 + .byte VOL , 48*mus_rg_ohkido_mvl/mxv + .byte W03 + .byte 37*mus_rg_ohkido_mvl/mxv + .byte W03 + .byte 28*mus_rg_ohkido_mvl/mxv + .byte W03 + .byte 16*mus_rg_ohkido_mvl/mxv + .byte W03 + .byte 54*mus_rg_ohkido_mvl/mxv + .byte N06 , Fn3 + .byte W12 + .byte N03 , Cn4 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte PAN , c_v+32 + .byte VOL , 43*mus_rg_ohkido_mvl/mxv + .byte N03 , Gn3 , v127 + .byte W12 + .byte N03 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , Cn4 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte PAN , c_v+32 + .byte N03 , Cn4 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , Cn4 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte PAN , c_v+32 + .byte N03 , Cn4 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , Cn4 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte PAN , c_v+32 + .byte N03 , Cn4 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , Cn4 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte PAN , c_v+32 + .byte N03 , Cn4 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , Cn4 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte PAN , c_v+32 + .byte N03 , Cn4 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , Cn4 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte PAN , c_v+32 + .byte N03 , Cn4 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , Cn4 + .byte W12 + .byte N06 , En4 + .byte W12 + .byte PAN , c_v+32 + .byte N03 , Fn4 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , Dn4 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte PAN , c_v+32 + .byte N03 , Gn3 + .byte W12 + .byte N03 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , Cn4 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte PAN , c_v+32 + .byte N03 , Cn4 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , Cn4 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte PAN , c_v+32 + .byte N03 , Cn4 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , Cn4 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte PAN , c_v+32 + .byte N03 , Cn4 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , Gs3 + .byte W12 + .byte N06 , An3 + .byte W12 +mus_rg_ohkido_3_B1: +mus_rg_ohkido_3_000: + .byte PAN , c_v+32 + .byte N03 , As3 , v127 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , As3 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte PAN , c_v+32 + .byte N03 , As3 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , As3 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_ohkido_3_000 +mus_rg_ohkido_3_001: + .byte PAN , c_v+32 + .byte N03 , An3 , v127 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , An3 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte PAN , c_v+32 + .byte N03 , An3 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , An3 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte PEND + .byte PAN , c_v+32 + .byte N03 , An3 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , Dn4 + .byte W12 + .byte N06 , En4 + .byte W12 + .byte PAN , c_v+32 + .byte N03 , Fn4 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , Dn4 + .byte W12 + .byte N06 , An3 + .byte W12 +mus_rg_ohkido_3_002: + .byte PAN , c_v+32 + .byte N03 , Gn3 , v127 + .byte W12 + .byte N06 , As3 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , Gn3 + .byte W12 + .byte N06 , As3 + .byte W12 + .byte PAN , c_v+32 + .byte N03 , Gn3 + .byte W12 + .byte N06 , As3 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , Gn3 + .byte W12 + .byte N06 , As3 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_ohkido_3_002 + .byte PATT + .word mus_rg_ohkido_3_001 + .byte PAN , c_v+32 + .byte VOL , 50*mus_rg_ohkido_mvl/mxv + .byte N03 , An3 , v127 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , Dn4 + .byte W12 + .byte N06 , En4 + .byte W12 + .byte PAN , c_v+32 + .byte N03 , Fn4 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte PAN , c_v-32 + .byte N03 , Dn4 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte GOTO + .word mus_rg_ohkido_3_B1 + .byte VOL , 45*mus_rg_ohkido_mvl/mxv + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_ohkido_4: + .byte KEYSH , mus_rg_ohkido_key+0 + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte VOL , 59*mus_rg_ohkido_mvl/mxv + .byte W96 +mus_rg_ohkido_4_000: + .byte N36 , Fn1 , v127 + .byte W36 + .byte N24 , Cn2 + .byte W24 + .byte N03 , Fn2 + .byte W12 + .byte N18 , Fn1 + .byte W24 + .byte PEND +mus_rg_ohkido_4_001: + .byte N36 , Fn1 , v127 + .byte W36 + .byte N24 , Cn2 + .byte W24 + .byte N03 , Fn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte N06 , Fn1 + .byte W12 + .byte PEND + .byte N36 + .byte W36 + .byte N24 , En1 + .byte W24 + .byte N03 , Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 +mus_rg_ohkido_4_002: + .byte N36 , Fn1 , v127 + .byte W36 + .byte N24 , En1 + .byte W24 + .byte N03 , Gn1 + .byte W12 + .byte N24 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_ohkido_4_000 + .byte PATT + .word mus_rg_ohkido_4_001 + .byte PATT + .word mus_rg_ohkido_4_002 + .byte N36 , Fn1 , v127 + .byte W36 + .byte N24 , En1 + .byte W24 + .byte N06 , Gn1 + .byte W12 + .byte As1 + .byte W12 + .byte Bn1 + .byte W12 +mus_rg_ohkido_4_B1: + .byte VOICE , 83 + .byte VOL , 56*mus_rg_ohkido_mvl/mxv + .byte N24 , Gn1 , v127 + .byte W24 + .byte N03 , Dn2 + .byte W12 + .byte N24 , Fn1 + .byte W24 + .byte N03 , As1 + .byte W12 + .byte N24 + .byte W24 + .byte Gn1 + .byte W24 + .byte N03 , Dn2 + .byte W12 + .byte N24 , Fn1 + .byte W24 + .byte N03 , As1 + .byte W12 + .byte N12 , Cn1 + .byte W12 + .byte N03 , En1 + .byte W12 +mus_rg_ohkido_4_003: + .byte N24 , Gn1 , v127 + .byte W24 + .byte N03 , Fn2 , v120 + .byte W12 + .byte N24 , Fn1 , v127 + .byte W24 + .byte N03 , An1 + .byte W12 + .byte N24 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_ohkido_4_003 + .byte N24 , Fn1 , v127 + .byte W24 + .byte N03 , En2 , v120 + .byte W12 + .byte N24 , En1 , v127 + .byte W24 + .byte N03 , Gn1 + .byte W12 + .byte N24 + .byte W24 + .byte Fn1 + .byte W24 + .byte N03 , En2 , v120 + .byte W12 + .byte N24 , En1 , v127 + .byte W24 + .byte N03 , Cn2 + .byte W12 + .byte N12 , Cn1 + .byte W12 + .byte N03 , Gn1 , v120 + .byte W12 + .byte N24 , Gn1 , v127 + .byte W24 + .byte N03 , Cn2 , v120 + .byte W12 + .byte N24 , Fn1 , v127 + .byte W24 + .byte N03 , An1 + .byte W12 + .byte N24 + .byte W24 + .byte PATT + .word mus_rg_ohkido_4_003 + .byte GOTO + .word mus_rg_ohkido_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_ohkido_5: + .byte KEYSH , mus_rg_ohkido_key+0 + .byte VOICE , 58 + .byte PAN , c_v+0 + .byte BENDR , 12 + .byte LFOS , 44 + .byte W96 + .byte VOL , 27*mus_rg_ohkido_mvl/mxv + .byte N12 , Fn3 , v120 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , An3 + .byte W06 + .byte N03 , As3 , v088 + .byte W03 + .byte An3 + .byte W03 + .byte N12 , Gn3 , v120 + .byte W12 + .byte N09 , Fn3 + .byte W09 + .byte N03 , Cs4 + .byte W03 + .byte N60 , Cn4 + .byte W24 + .byte MOD , 4 + .byte W12 + .byte VOL , 23*mus_rg_ohkido_mvl/mxv + .byte W06 + .byte 20*mus_rg_ohkido_mvl/mxv + .byte W06 + .byte 18*mus_rg_ohkido_mvl/mxv + .byte W06 + .byte 16*mus_rg_ohkido_mvl/mxv + .byte W06 + .byte 27*mus_rg_ohkido_mvl/mxv + .byte N06 , As3 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N03 , Cn4 , v096 + .byte W03 + .byte As3 + .byte W03 + .byte N24 , An3 , v120 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Gn3 + .byte W12 + .byte N03 , Gs3 , v088 + .byte W03 + .byte N21 , Gn3 , v120 + .byte W09 + .byte MOD , 4 + .byte W12 + .byte VOICE , 73 + .byte VOL , 43*mus_rg_ohkido_mvl/mxv + .byte MOD , 0 + .byte N12 , Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , As4 + .byte W12 + .byte N03 , Bn4 , v092 + .byte W03 + .byte N21 , As4 , v120 + .byte W09 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , An3 + .byte W06 + .byte N03 , As3 , v096 + .byte W03 + .byte An3 + .byte W03 + .byte N24 , Gn3 , v120 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte N24 , Cn5 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , An4 + .byte W06 + .byte N03 , As4 , v096 + .byte W03 + .byte An4 + .byte W03 + .byte N12 , Gn4 , v120 + .byte W12 + .byte N09 , Fn4 + .byte W09 + .byte N03 , Cs5 , v092 + .byte W03 + .byte N60 , Cn5 , v120 + .byte W24 + .byte MOD , 4 + .byte W12 + .byte VOL , 37*mus_rg_ohkido_mvl/mxv + .byte W06 + .byte 31*mus_rg_ohkido_mvl/mxv + .byte W06 + .byte 23*mus_rg_ohkido_mvl/mxv + .byte W06 + .byte 16*mus_rg_ohkido_mvl/mxv + .byte W06 + .byte 42*mus_rg_ohkido_mvl/mxv + .byte N12 , Gn4 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte N03 , Fn4 , v088 + .byte W03 + .byte N21 , En4 , v120 + .byte W21 + .byte N12 , Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , As4 + .byte W12 + .byte N03 , Bn4 , v088 + .byte W03 + .byte N21 , As4 , v120 + .byte W09 + .byte MOD , 4 + .byte W12 +mus_rg_ohkido_5_B1: + .byte VOICE , 21 + .byte VOL , 54*mus_rg_ohkido_mvl/mxv + .byte PAN , c_v-17 + .byte MOD , 0 + .byte N36 , Fn3 , v120 + .byte W24 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N36 , As3 + .byte W24 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Fn3 , v096 + .byte W12 + .byte Dn4 , v120 + .byte W12 + .byte As3 , v096 + .byte W12 + .byte Dn4 , v120 + .byte W12 + .byte N03 , Gs3 , v096 + .byte W03 + .byte N09 , Gn3 , v120 + .byte W09 + .byte N12 , Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N36 , Fn3 + .byte W24 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , Cn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N36 , An3 + .byte W24 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte N24 , Cn4 + .byte W24 + .byte Bn3 + .byte W24 + .byte As3 + .byte W24 + .byte An3 + .byte W24 + .byte VOICE , 73 + .byte N36 , En3 + .byte W24 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , Cn3 + .byte W06 + .byte En3 + .byte W06 + .byte N36 , Gn3 + .byte W24 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 , v096 + .byte W12 + .byte Cn4 , v120 + .byte W12 + .byte As3 , v096 + .byte W12 + .byte Cn4 , v120 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte En3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N36 , An3 + .byte W24 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte N36 , Cn4 + .byte W24 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N06 , An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N06 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte GOTO + .word mus_rg_ohkido_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_ohkido_6: + .byte KEYSH , mus_rg_ohkido_key+0 + .byte VOICE , 80 + .byte PAN , c_v+0 + .byte VOL , 37*mus_rg_ohkido_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_ohkido_6_B1: + .byte PAN , c_v-59 + .byte N06 , Fn5 , v080 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As5 , v120 + .byte W36 + .byte PAN , c_v+63 + .byte N06 , An5 , v084 + .byte W09 + .byte PAN , c_v-61 + .byte W03 + .byte N06 , As5 , v120 + .byte W36 + .byte Fn5 , v084 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As5 , v120 + .byte W12 + .byte Dn5 , v076 + .byte W12 + .byte PAN , c_v-61 + .byte N06 , As5 , v120 + .byte W12 + .byte As4 , v080 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As5 , v120 + .byte W36 +mus_rg_ohkido_6_000: + .byte PAN , c_v-59 + .byte N06 , Cn5 , v080 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Fn5 , v120 + .byte W36 + .byte PAN , c_v+63 + .byte N06 , En5 , v084 + .byte W09 + .byte PAN , c_v-61 + .byte W03 + .byte N06 , Fn5 , v120 + .byte W36 + .byte PEND +mus_rg_ohkido_6_001: + .byte N06 , Cn5 , v084 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Fn5 , v120 + .byte W12 + .byte An4 , v076 + .byte W12 + .byte PAN , c_v-61 + .byte N06 , Fn5 , v120 + .byte W12 + .byte Fn4 , v080 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Fn5 , v120 + .byte W12 + .byte En5 , v072 + .byte W12 + .byte Fn5 , v120 + .byte W03 + .byte PAN , c_v-61 + .byte W09 + .byte PEND + .byte c_v-59 + .byte N06 , Cn5 , v080 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn5 , v120 + .byte W36 + .byte PAN , c_v+63 + .byte N06 , Fs5 , v084 + .byte W09 + .byte PAN , c_v-61 + .byte W03 + .byte N06 , Gn5 , v120 + .byte W36 + .byte Cn5 , v084 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn5 , v120 + .byte W12 + .byte Fs5 , v076 + .byte W12 + .byte PAN , c_v-61 + .byte N06 , Gn5 , v120 + .byte W12 + .byte En5 , v080 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn5 , v120 + .byte W36 + .byte PATT + .word mus_rg_ohkido_6_000 + .byte PATT + .word mus_rg_ohkido_6_001 + .byte GOTO + .word mus_rg_ohkido_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_ohkido_7: + .byte KEYSH , mus_rg_ohkido_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 68*mus_rg_ohkido_mvl/mxv + .byte W84 + .byte N06 , Dn3 , v120 + .byte W06 + .byte Dn3 , v092 + .byte W06 +mus_rg_ohkido_7_000: + .byte N06 , En3 , v120 + .byte W24 + .byte Dn3 + .byte W12 + .byte En3 + .byte W24 + .byte Dn3 + .byte W24 + .byte Dn3 , v096 + .byte W06 + .byte N06 + .byte W06 + .byte PEND +mus_rg_ohkido_7_001: + .byte N06 , En3 , v120 + .byte W24 + .byte Dn3 + .byte W12 + .byte En3 + .byte W24 + .byte Dn3 + .byte W12 + .byte N06 + .byte W12 + .byte Dn3 , v096 + .byte W06 + .byte N06 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_ohkido_7_000 + .byte N06 , En3 , v120 + .byte W24 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 , v096 + .byte W12 + .byte Dn3 , v120 + .byte W12 + .byte N06 + .byte W12 + .byte Dn3 , v096 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word mus_rg_ohkido_7_000 + .byte PATT + .word mus_rg_ohkido_7_001 + .byte PATT + .word mus_rg_ohkido_7_000 + .byte N06 , En3 , v120 + .byte W24 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Bn1 + .byte N06 , Dn3 , v096 + .byte W12 + .byte Fn1 , v127 + .byte N06 , Dn3 + .byte W12 + .byte Cn1 , v120 + .byte N06 , Dn3 + .byte W12 + .byte Dn1 , v127 + .byte W06 + .byte Dn1 , v104 + .byte W06 +mus_rg_ohkido_7_B1: +mus_rg_ohkido_7_002: + .byte N06 , Cn1 , v120 + .byte W24 + .byte Gs1 + .byte W12 + .byte Cn1 + .byte W24 + .byte Gs1 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte PEND + .byte Cn1 , v120 + .byte W24 + .byte Gs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte An1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte PATT + .word mus_rg_ohkido_7_002 + .byte N06 , Cn1 , v120 + .byte W24 + .byte Gs1 + .byte W12 + .byte Cn1 + .byte W24 + .byte Gs1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Gs1 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte PATT + .word mus_rg_ohkido_7_002 + .byte N06 , Cn1 , v120 + .byte W24 + .byte Gs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte An1 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Fn1 + .byte W12 + .byte PATT + .word mus_rg_ohkido_7_002 + .byte N06 , Cn1 , v120 + .byte W24 + .byte Gs1 + .byte W12 + .byte Cn1 + .byte W24 + .byte Gs1 + .byte W12 + .byte Cn2 , v100 + .byte W12 + .byte An1 , v120 + .byte W12 + .byte GOTO + .word mus_rg_ohkido_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_ohkido_8: + .byte KEYSH , mus_rg_ohkido_key+0 + .byte VOICE , 127 + .byte PAN , c_v+0 + .byte VOL , 38*mus_rg_ohkido_mvl/mxv + .byte W48 + .byte N06 , Cn5 , v088 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v108 + .byte W12 + .byte Cn5 , v064 + .byte W12 +mus_rg_ohkido_8_000: + .byte N06 , Cn5 , v088 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v108 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v108 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_ohkido_8_000 + .byte PATT + .word mus_rg_ohkido_8_000 + .byte PATT + .word mus_rg_ohkido_8_000 + .byte PATT + .word mus_rg_ohkido_8_000 + .byte PATT + .word mus_rg_ohkido_8_000 + .byte PATT + .word mus_rg_ohkido_8_000 + .byte PATT + .word mus_rg_ohkido_8_000 +mus_rg_ohkido_8_B1: +mus_rg_ohkido_8_001: + .byte N06 , Cn5 , v120 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Cn5 , v104 + .byte W06 + .byte PEND +mus_rg_ohkido_8_002: + .byte N06 , Cn5 , v120 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte Cn5 , v104 + .byte W18 + .byte Cn5 , v120 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_ohkido_8_001 + .byte PATT + .word mus_rg_ohkido_8_002 + .byte PATT + .word mus_rg_ohkido_8_001 + .byte N06 , Cn5 , v120 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte Cn5 , v104 + .byte W42 + .byte PATT + .word mus_rg_ohkido_8_001 + .byte N06 , Cn5 , v120 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte GOTO + .word mus_rg_ohkido_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_ohkido_9: + .byte KEYSH , mus_rg_ohkido_key+0 + .byte VOICE , 126 + .byte PAN , c_v+0 + .byte VOL , 38*mus_rg_ohkido_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_ohkido_9_B1: +mus_rg_ohkido_9_000: + .byte W12 + .byte N12 , Gn5 , v120 + .byte W48 + .byte N12 + .byte W36 + .byte PEND +mus_rg_ohkido_9_001: + .byte W12 + .byte N12 , Gn5 , v120 + .byte W48 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_ohkido_9_000 + .byte PATT + .word mus_rg_ohkido_9_001 + .byte PATT + .word mus_rg_ohkido_9_000 + .byte PATT + .word mus_rg_ohkido_9_001 + .byte PATT + .word mus_rg_ohkido_9_000 + .byte W12 + .byte N12 , Gn5 , v120 + .byte W72 + .byte N12 + .byte W12 + .byte GOTO + .word mus_rg_ohkido_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_ohkido: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_ohkido_pri @ Priority + .byte mus_rg_ohkido_rev @ Reverb. + + .word mus_rg_ohkido_grp + + .word mus_rg_ohkido_1 + .word mus_rg_ohkido_2 + .word mus_rg_ohkido_3 + .word mus_rg_ohkido_4 + .word mus_rg_ohkido_5 + .word mus_rg_ohkido_6 + .word mus_rg_ohkido_7 + .word mus_rg_ohkido_8 + .word mus_rg_ohkido_9 + + .end diff --git a/sound/songs/mus_rg_okurimono.s b/sound/songs/mus_rg_okurimono.s new file mode 100644 index 0000000000..e3ee254ae3 --- /dev/null +++ b/sound/songs/mus_rg_okurimono.s @@ -0,0 +1,817 @@ + .include "MPlayDef.s" + + .equ mus_rg_okurimono_grp, voicegroup_86B1C44 + .equ mus_rg_okurimono_pri, 0 + .equ mus_rg_okurimono_rev, reverb_set+50 + .equ mus_rg_okurimono_mvl, 127 + .equ mus_rg_okurimono_key, 0 + .equ mus_rg_okurimono_tbs, 1 + .equ mus_rg_okurimono_exg, 0 + .equ mus_rg_okurimono_cmp, 1 + + .section .rodata + .global mus_rg_okurimono + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_okurimono_1: + .byte KEYSH , mus_rg_okurimono_key+0 + .byte TEMPO , 124*mus_rg_okurimono_tbs/2 + .byte VOICE , 24 + .byte VOL , 75*mus_rg_okurimono_mvl/mxv + .byte N04 , Cn4 , v120 + .byte W24 + .byte N20 + .byte W12 + .byte MOD , 7 + .byte W08 + .byte 0 + .byte W04 + .byte N16 + .byte W08 + .byte MOD , 7 + .byte W08 + .byte 0 + .byte N02 , Bn3 + .byte W08 + .byte N16 , Cn4 + .byte W08 + .byte MOD , 7 + .byte W08 + .byte N04 , Dn4 + .byte W02 + .byte MOD , 0 + .byte W06 +mus_rg_okurimono_1_B1: +mus_rg_okurimono_1_000: + .byte N04 , En4 , v120 + .byte W16 + .byte N01 , Gn3 + .byte W08 + .byte N16 , En4 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N01 , Gn3 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte N04 , Dn4 + .byte W16 + .byte N01 , Gn3 + .byte W08 + .byte N16 , Dn4 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N01 , Gn3 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte PEND + .byte N16 , Cn4 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N01 , Gn3 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte N16 , Cn4 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N01 , Gn3 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte N08 , Cn4 + .byte W08 + .byte N04 , Bn3 + .byte W08 + .byte An3 + .byte W08 + .byte N16 , Cn4 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N01 , Gn3 + .byte N04 , Dn4 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte PATT + .word mus_rg_okurimono_1_000 + .byte N16 , Cn4 , v120 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N01 , Gn3 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte N16 , Cn4 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N01 , Gn3 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte N04 , Cn4 + .byte W08 + .byte Bn3 + .byte W08 + .byte N02 , An3 + .byte W08 + .byte N16 , Cn4 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N01 , Gn3 + .byte N04 , Dn4 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte N04 , Fn4 + .byte W16 + .byte N01 , An3 + .byte W08 + .byte N16 , Fn4 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N01 , An3 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte N04 , En4 + .byte W16 + .byte N01 , An3 + .byte W08 + .byte N16 , En4 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N01 , An3 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte N16 , Dn4 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N01 , An3 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte N16 , Dn4 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N01 , An3 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte N04 , Dn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Bn3 + .byte W08 + .byte N16 , Cn4 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N04 , Dn4 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte N04 , Fn4 + .byte W16 + .byte N01 , An3 + .byte W08 + .byte N16 , Fn4 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N01 , An3 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte N04 , En4 + .byte W16 + .byte N01 , Gn3 + .byte W08 + .byte N16 , En4 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N01 , Gn3 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte N16 , Dn4 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N01 , Fn3 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte N02 , Dn4 + .byte W16 + .byte N01 , Gn3 + .byte W08 + .byte N16 , Cn4 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N02 , Bn3 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte N16 , Cn4 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N04 , Dn4 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte GOTO + .word mus_rg_okurimono_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_okurimono_2: + .byte KEYSH , mus_rg_okurimono_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+32 + .byte VOL , 37*mus_rg_okurimono_mvl/mxv + .byte N04 , Fn3 , v120 + .byte W24 + .byte N20 + .byte W12 + .byte MOD , 7 + .byte W08 + .byte 0 + .byte W04 + .byte N16 + .byte W08 + .byte MOD , 7 + .byte W08 + .byte 0 + .byte N02 , En3 + .byte W08 + .byte N16 , Fn3 + .byte W08 + .byte MOD , 7 + .byte W08 + .byte N04 , Gn3 + .byte W02 + .byte MOD , 0 + .byte W06 +mus_rg_okurimono_2_B1: +mus_rg_okurimono_2_000: + .byte N04 , Cn4 , v120 + .byte W24 + .byte N16 + .byte W06 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte W06 + .byte N04 , Bn3 + .byte W24 + .byte N16 + .byte W06 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte W06 + .byte PEND +mus_rg_okurimono_2_001: + .byte N16 , An3 , v120 + .byte W06 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte W06 + .byte N16 + .byte W06 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte W06 + .byte N04 + .byte W24 + .byte N16 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N04 , Bn3 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_okurimono_2_000 + .byte PATT + .word mus_rg_okurimono_2_001 +mus_rg_okurimono_2_002: + .byte N04 , Cn4 , v120 + .byte W24 + .byte N16 + .byte W06 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte W06 + .byte N04 + .byte W24 + .byte N16 + .byte W06 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte W06 + .byte PEND + .byte N16 + .byte W06 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte W06 + .byte N16 + .byte W06 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte W06 + .byte N04 + .byte W24 + .byte N16 , An3 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N04 , Cn4 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte PATT + .word mus_rg_okurimono_2_002 + .byte N16 , An3 , v120 + .byte W06 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte W06 + .byte N02 + .byte W16 + .byte Fn3 + .byte W08 + .byte N16 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N02 , En3 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte N16 , Fn3 + .byte W06 + .byte MOD , 7 + .byte W10 + .byte N04 , Gn3 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte GOTO + .word mus_rg_okurimono_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_okurimono_3: + .byte KEYSH , mus_rg_okurimono_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 37*mus_rg_okurimono_mvl/mxv + .byte N04 , An3 , v120 + .byte W24 + .byte N20 + .byte W12 + .byte MOD , 7 + .byte W08 + .byte 0 + .byte W04 + .byte N16 + .byte W08 + .byte MOD , 7 + .byte W08 + .byte 0 + .byte N02 , Gn3 + .byte W08 + .byte N16 , An3 + .byte W08 + .byte MOD , 7 + .byte W08 + .byte N04 , Bn3 + .byte W02 + .byte MOD , 0 + .byte W06 +mus_rg_okurimono_3_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_okurimono_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_okurimono_4: + .byte KEYSH , mus_rg_okurimono_key+0 + .byte VOICE , 35 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 100*mus_rg_okurimono_mvl/mxv + .byte N04 , Gn1 , v120 + .byte W24 + .byte N20 + .byte W10 + .byte VOL , 88*mus_rg_okurimono_mvl/mxv + .byte MOD , 8 + .byte W14 + .byte VOL , 100*mus_rg_okurimono_mvl/mxv + .byte MOD , 0 + .byte N16 + .byte W08 + .byte VOL , 88*mus_rg_okurimono_mvl/mxv + .byte W02 + .byte MOD , 8 + .byte W14 + .byte VOL , 100*mus_rg_okurimono_mvl/mxv + .byte MOD , 0 + .byte N04 + .byte W08 + .byte Gn2 + .byte W08 + .byte Gn1 + .byte W08 +mus_rg_okurimono_4_B1: + .byte N04 , Cn2 , v120 + .byte W40 + .byte N02 + .byte W08 + .byte N04 + .byte W40 + .byte Gn1 + .byte W08 + .byte N16 , Cn2 + .byte W08 + .byte VOL , 88*mus_rg_okurimono_mvl/mxv + .byte W02 + .byte MOD , 8 + .byte W14 + .byte VOL , 100*mus_rg_okurimono_mvl/mxv + .byte MOD , 0 + .byte N16 + .byte W08 + .byte VOL , 88*mus_rg_okurimono_mvl/mxv + .byte W02 + .byte MOD , 8 + .byte W06 + .byte 0 + .byte N02 , Gn1 + .byte W02 + .byte VOL , 100*mus_rg_okurimono_mvl/mxv + .byte W06 + .byte N08 , Cn2 + .byte W16 + .byte N04 + .byte W08 + .byte N16 , Gn2 + .byte W08 + .byte VOL , 88*mus_rg_okurimono_mvl/mxv + .byte MOD , 9 + .byte W08 + .byte N04 , Gn1 + .byte W02 + .byte VOL , 100*mus_rg_okurimono_mvl/mxv + .byte MOD , 0 + .byte W06 + .byte N04 , An1 + .byte W24 + .byte N16 , An2 + .byte W08 + .byte VOL , 88*mus_rg_okurimono_mvl/mxv + .byte MOD , 8 + .byte W08 + .byte N04 , An1 + .byte W02 + .byte VOL , 100*mus_rg_okurimono_mvl/mxv + .byte MOD , 0 + .byte W06 + .byte N04 + .byte W40 + .byte Gn1 + .byte W08 + .byte N16 , An1 + .byte W08 + .byte VOL , 88*mus_rg_okurimono_mvl/mxv + .byte W02 + .byte MOD , 8 + .byte W14 + .byte VOL , 100*mus_rg_okurimono_mvl/mxv + .byte MOD , 0 + .byte N16 , En2 + .byte W08 + .byte VOL , 88*mus_rg_okurimono_mvl/mxv + .byte W02 + .byte MOD , 8 + .byte W06 + .byte N02 , An1 + .byte W02 + .byte VOL , 100*mus_rg_okurimono_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte N04 + .byte W16 + .byte N02 + .byte W08 + .byte N16 , En2 + .byte W06 + .byte MOD , 8 + .byte W02 + .byte VOL , 88*mus_rg_okurimono_mvl/mxv + .byte W08 + .byte MOD , 0 + .byte N04 , An1 + .byte W02 + .byte VOL , 100*mus_rg_okurimono_mvl/mxv + .byte W06 + .byte N04 , Dn2 + .byte W40 + .byte An1 + .byte W08 + .byte Dn2 + .byte W40 + .byte An1 + .byte W08 + .byte N16 , Dn2 + .byte W08 + .byte VOL , 88*mus_rg_okurimono_mvl/mxv + .byte W02 + .byte MOD , 8 + .byte W14 + .byte VOL , 100*mus_rg_okurimono_mvl/mxv + .byte MOD , 0 + .byte N08 , An2 + .byte W08 + .byte N02 , Gn2 + .byte W08 + .byte En2 + .byte W08 + .byte N04 , Dn2 + .byte W40 + .byte N04 + .byte W08 + .byte Gn1 + .byte W40 + .byte Dn1 + .byte W08 + .byte Gn1 + .byte W40 + .byte Dn1 + .byte W08 + .byte N16 , Gn1 + .byte W08 + .byte VOL , 88*mus_rg_okurimono_mvl/mxv + .byte W02 + .byte MOD , 8 + .byte W14 + .byte VOL , 100*mus_rg_okurimono_mvl/mxv + .byte MOD , 0 + .byte N02 , Bn1 + .byte W16 + .byte N04 , Gn1 + .byte W08 + .byte N16 + .byte W08 + .byte VOL , 88*mus_rg_okurimono_mvl/mxv + .byte W02 + .byte MOD , 8 + .byte W14 + .byte VOL , 100*mus_rg_okurimono_mvl/mxv + .byte MOD , 0 + .byte N04 , Gn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte Gn1 + .byte W08 + .byte GOTO + .word mus_rg_okurimono_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_okurimono_5: + .byte KEYSH , mus_rg_okurimono_key+0 + .byte VOICE , 0 + .byte VOL , 64*mus_rg_okurimono_mvl/mxv + .byte W72 + .byte N08 , En1 , v120 + .byte W08 + .byte N08 + .byte W08 + .byte Cn1 + .byte W08 +mus_rg_okurimono_5_B1: +mus_rg_okurimono_5_000: + .byte N08 , Cn1 , v120 + .byte W24 + .byte En1 + .byte W16 + .byte Cn1 + .byte W08 + .byte N08 + .byte W24 + .byte En1 + .byte W16 + .byte Cn1 + .byte W08 + .byte PEND + .byte PATT + .word mus_rg_okurimono_5_000 + .byte PATT + .word mus_rg_okurimono_5_000 + .byte N08 , Cn1 , v120 + .byte W24 + .byte En1 + .byte W24 + .byte Cn1 + .byte W24 + .byte En1 + .byte W16 + .byte Cn1 + .byte W08 + .byte PATT + .word mus_rg_okurimono_5_000 + .byte PATT + .word mus_rg_okurimono_5_000 + .byte PATT + .word mus_rg_okurimono_5_000 + .byte PATT + .word mus_rg_okurimono_5_000 + .byte GOTO + .word mus_rg_okurimono_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_okurimono_6: + .byte KEYSH , mus_rg_okurimono_key+0 + .byte VOICE , 127 + .byte VOL , 39*mus_rg_okurimono_mvl/mxv + .byte PAN , c_v-62 + .byte W96 +mus_rg_okurimono_6_B1: +mus_rg_okurimono_6_000: + .byte N02 , Gn5 , v120 + .byte W16 + .byte Gn5 , v060 + .byte W08 + .byte Gn5 , v120 + .byte W16 + .byte Gn5 , v056 + .byte W08 + .byte Gn5 , v120 + .byte W16 + .byte Gn5 , v060 + .byte W08 + .byte Gn5 , v120 + .byte W16 + .byte Gn5 , v056 + .byte W08 + .byte PEND + .byte PATT + .word mus_rg_okurimono_6_000 + .byte PATT + .word mus_rg_okurimono_6_000 + .byte N02 , Gn5 , v120 + .byte W16 + .byte Gn5 , v060 + .byte W08 + .byte Gn5 , v120 + .byte W16 + .byte Gn5 , v060 + .byte W08 + .byte Gn5 , v120 + .byte W16 + .byte Gn5 , v060 + .byte W08 + .byte Gn5 , v120 + .byte W16 + .byte Gn5 , v056 + .byte W08 + .byte PATT + .word mus_rg_okurimono_6_000 + .byte PATT + .word mus_rg_okurimono_6_000 + .byte PATT + .word mus_rg_okurimono_6_000 + .byte N02 , Gn5 , v120 + .byte W16 + .byte Gn5 , v060 + .byte W24 + .byte Gn5 , v056 + .byte W08 + .byte Gn5 , v120 + .byte W16 + .byte Gn5 , v060 + .byte W08 + .byte Gn5 , v120 + .byte W16 + .byte Gn5 , v056 + .byte W08 + .byte GOTO + .word mus_rg_okurimono_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_okurimono_7: + .byte KEYSH , mus_rg_okurimono_key+0 + .byte VOICE , 126 + .byte VOL , 37*mus_rg_okurimono_mvl/mxv + .byte PAN , c_v-62 + .byte W96 +mus_rg_okurimono_7_B1: + .byte W08 + .byte N08 , Dn6 , v120 + .byte W88 + .byte W08 + .byte N08 + .byte W88 + .byte W08 + .byte N08 + .byte W88 + .byte W08 + .byte N08 + .byte W24 + .byte N08 + .byte W48 + .byte N08 + .byte W16 + .byte W96 + .byte W08 + .byte N08 + .byte W88 + .byte W08 + .byte N08 + .byte W88 + .byte W08 + .byte N08 + .byte W16 + .byte N08 + .byte W72 + .byte GOTO + .word mus_rg_okurimono_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_okurimono: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_okurimono_pri @ Priority + .byte mus_rg_okurimono_rev @ Reverb. + + .word mus_rg_okurimono_grp + + .word mus_rg_okurimono_1 + .word mus_rg_okurimono_2 + .word mus_rg_okurimono_3 + .word mus_rg_okurimono_4 + .word mus_rg_okurimono_5 + .word mus_rg_okurimono_6 + .word mus_rg_okurimono_7 + + .end diff --git a/sound/songs/mus_rg_opening.s b/sound/songs/mus_rg_opening.s new file mode 100644 index 0000000000..7070cdaa9f --- /dev/null +++ b/sound/songs/mus_rg_opening.s @@ -0,0 +1,1457 @@ + .include "MPlayDef.s" + + .equ mus_rg_opening_grp, voicegroup_86A7840 + .equ mus_rg_opening_pri, 0 + .equ mus_rg_opening_rev, reverb_set+50 + .equ mus_rg_opening_mvl, 127 + .equ mus_rg_opening_key, 0 + .equ mus_rg_opening_tbs, 1 + .equ mus_rg_opening_exg, 0 + .equ mus_rg_opening_cmp, 1 + + .section .rodata + .global mus_rg_opening + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_opening_1: + .byte KEYSH , mus_rg_opening_key+0 + .byte TEMPO , 118*mus_rg_opening_tbs/2 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte W24 +mus_rg_opening_1_B1: + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte VOL , 75*mus_rg_opening_mvl/mxv + .byte N36 , En3 , v127 + .byte W24 + .byte VOL , 65*mus_rg_opening_mvl/mxv + .byte W03 + .byte 54*mus_rg_opening_mvl/mxv + .byte W03 + .byte 42*mus_rg_opening_mvl/mxv + .byte W03 + .byte 31*mus_rg_opening_mvl/mxv + .byte W03 + .byte 75*mus_rg_opening_mvl/mxv + .byte N03 , Bn2 + .byte W06 + .byte En3 + .byte W06 + .byte MOD , 0 + .byte N30 , Fs3 + .byte W36 + .byte N12 , An3 + .byte W12 + .byte N06 , Gs3 + .byte W18 + .byte N03 , En3 + .byte W06 + .byte N48 , Fs3 + .byte W24 + .byte W03 + .byte VOL , 70*mus_rg_opening_mvl/mxv + .byte W03 + .byte 65*mus_rg_opening_mvl/mxv + .byte W03 + .byte 58*mus_rg_opening_mvl/mxv + .byte W03 + .byte 52*mus_rg_opening_mvl/mxv + .byte W03 + .byte 47*mus_rg_opening_mvl/mxv + .byte W03 + .byte 39*mus_rg_opening_mvl/mxv + .byte W03 + .byte 31*mus_rg_opening_mvl/mxv + .byte W03 + .byte 75*mus_rg_opening_mvl/mxv + .byte N12 , Ds3 + .byte W12 + .byte N03 , An3 , v100 + .byte W03 + .byte Bn3 + .byte W03 + .byte Cs4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N36 , En4 , v127 + .byte W24 + .byte VOL , 65*mus_rg_opening_mvl/mxv + .byte W03 + .byte 54*mus_rg_opening_mvl/mxv + .byte W03 + .byte 42*mus_rg_opening_mvl/mxv + .byte W03 + .byte 31*mus_rg_opening_mvl/mxv + .byte W03 + .byte 75*mus_rg_opening_mvl/mxv + .byte N03 , Bn3 + .byte W06 + .byte En4 + .byte W06 + .byte N30 , Fs4 + .byte W36 + .byte N12 , An4 + .byte W12 + .byte N06 , Gs4 + .byte W18 + .byte N03 , En4 + .byte W06 + .byte N48 , Bn4 + .byte W24 + .byte W03 + .byte VOL , 70*mus_rg_opening_mvl/mxv + .byte W03 + .byte 65*mus_rg_opening_mvl/mxv + .byte W03 + .byte 58*mus_rg_opening_mvl/mxv + .byte W03 + .byte 52*mus_rg_opening_mvl/mxv + .byte W03 + .byte 47*mus_rg_opening_mvl/mxv + .byte W03 + .byte 39*mus_rg_opening_mvl/mxv + .byte W03 + .byte 31*mus_rg_opening_mvl/mxv + .byte W03 + .byte 32*mus_rg_opening_mvl/mxv + .byte N18 , Gs3 + .byte W03 + .byte VOL , 43*mus_rg_opening_mvl/mxv + .byte W03 + .byte 54*mus_rg_opening_mvl/mxv + .byte W03 + .byte 65*mus_rg_opening_mvl/mxv + .byte W03 + .byte 76*mus_rg_opening_mvl/mxv + .byte W06 + .byte VOICE , 56 + .byte VOL , 83*mus_rg_opening_mvl/mxv + .byte W06 + .byte VOICE , 56 + .byte VOL , 86*mus_rg_opening_mvl/mxv + .byte N36 , Cs5 , v116 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 75*mus_rg_opening_mvl/mxv + .byte W03 + .byte 64*mus_rg_opening_mvl/mxv + .byte W03 + .byte 54*mus_rg_opening_mvl/mxv + .byte W03 + .byte 42*mus_rg_opening_mvl/mxv + .byte W03 + .byte 86*mus_rg_opening_mvl/mxv + .byte N03 , Bn4 , v108 + .byte W04 + .byte MOD , 0 + .byte W02 + .byte N03 , An4 , v100 + .byte W06 + .byte N36 , Bn4 , v112 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 75*mus_rg_opening_mvl/mxv + .byte W03 + .byte 64*mus_rg_opening_mvl/mxv + .byte W03 + .byte 54*mus_rg_opening_mvl/mxv + .byte W03 + .byte 42*mus_rg_opening_mvl/mxv + .byte W03 + .byte 86*mus_rg_opening_mvl/mxv + .byte N03 , An4 , v100 + .byte W04 + .byte MOD , 0 + .byte W02 + .byte N03 , Gs4 + .byte W06 + .byte N36 , An4 , v112 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 75*mus_rg_opening_mvl/mxv + .byte W03 + .byte 64*mus_rg_opening_mvl/mxv + .byte W03 + .byte 54*mus_rg_opening_mvl/mxv + .byte W03 + .byte 42*mus_rg_opening_mvl/mxv + .byte W03 + .byte 86*mus_rg_opening_mvl/mxv + .byte N03 , Gs4 , v100 + .byte W04 + .byte MOD , 0 + .byte W02 + .byte N03 , Fs4 + .byte W06 + .byte N24 , Gs4 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte N08 , Dn4 + .byte W16 + .byte N04 , Dn4 , v100 + .byte W04 + .byte En4 + .byte W04 + .byte N48 , Fs4 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 75*mus_rg_opening_mvl/mxv + .byte W04 + .byte 65*mus_rg_opening_mvl/mxv + .byte W04 + .byte 54*mus_rg_opening_mvl/mxv + .byte W04 + .byte 43*mus_rg_opening_mvl/mxv + .byte W04 + .byte 32*mus_rg_opening_mvl/mxv + .byte W04 + .byte 21*mus_rg_opening_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 86*mus_rg_opening_mvl/mxv + .byte N24 , An4 + .byte W24 + .byte N06 , Gs4 , v120 + .byte W18 + .byte Fs4 + .byte W06 + .byte N48 , En4 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 75*mus_rg_opening_mvl/mxv + .byte W04 + .byte 65*mus_rg_opening_mvl/mxv + .byte W04 + .byte 54*mus_rg_opening_mvl/mxv + .byte W04 + .byte 43*mus_rg_opening_mvl/mxv + .byte W04 + .byte 32*mus_rg_opening_mvl/mxv + .byte W04 + .byte 21*mus_rg_opening_mvl/mxv + .byte W04 + .byte VOICE , 48 + .byte MOD , 0 + .byte VOL , 86*mus_rg_opening_mvl/mxv + .byte N12 , Fs4 , v100 + .byte W12 + .byte En4 + .byte W12 + .byte N08 , Dn4 , v127 + .byte W12 + .byte N06 , Dn4 , v100 + .byte W06 + .byte En4 + .byte W06 + .byte N08 , Fs4 , v127 + .byte W12 + .byte N06 , Fs4 , v100 + .byte W06 + .byte Gs4 + .byte W06 + .byte N24 , An4 , v127 + .byte W24 + .byte Cs5 + .byte W24 + .byte N06 , Bn4 , v120 + .byte W18 + .byte An4 + .byte W06 + .byte N60 , Gs4 , v127 + .byte W36 + .byte VOL , 75*mus_rg_opening_mvl/mxv + .byte W04 + .byte 65*mus_rg_opening_mvl/mxv + .byte W04 + .byte 54*mus_rg_opening_mvl/mxv + .byte W04 + .byte 43*mus_rg_opening_mvl/mxv + .byte W04 + .byte 32*mus_rg_opening_mvl/mxv + .byte W04 + .byte 21*mus_rg_opening_mvl/mxv + .byte W04 + .byte 12*mus_rg_opening_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W02 + .byte VOL , 5*mus_rg_opening_mvl/mxv + .byte W06 + .byte GOTO + .word mus_rg_opening_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_opening_2: + .byte KEYSH , mus_rg_opening_key+0 + .byte VOICE , 60 + .byte LFOS , 44 + .byte BENDR , 12 + .byte W24 +mus_rg_opening_2_B1: + .byte VOL , 56*mus_rg_opening_mvl/mxv + .byte PAN , c_v-27 + .byte N24 , Bn2 , v112 + .byte W24 + .byte N36 , Gs3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 48*mus_rg_opening_mvl/mxv + .byte W04 + .byte 41*mus_rg_opening_mvl/mxv + .byte W04 + .byte 33*mus_rg_opening_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 56*mus_rg_opening_mvl/mxv + .byte N12 , Fs3 + .byte W12 + .byte N06 , En3 + .byte W12 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte En3 + .byte W12 + .byte N12 , Bn2 + .byte W12 + .byte En3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Gs3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Fs3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Bn2 + .byte W24 + .byte N36 , Gs3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 48*mus_rg_opening_mvl/mxv + .byte W04 + .byte 41*mus_rg_opening_mvl/mxv + .byte W04 + .byte 33*mus_rg_opening_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 56*mus_rg_opening_mvl/mxv + .byte N12 , Fs3 + .byte W12 + .byte N06 , En3 + .byte W12 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Bn3 + .byte W12 + .byte N12 , Bn2 + .byte W12 + .byte En3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Gs3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte VOL , 27*mus_rg_opening_mvl/mxv + .byte N24 , Bn3 + .byte W03 + .byte VOL , 44*mus_rg_opening_mvl/mxv + .byte W03 + .byte 54*mus_rg_opening_mvl/mxv + .byte W03 + .byte 65*mus_rg_opening_mvl/mxv + .byte W03 + .byte MOD , 5 + .byte VOL , 75*mus_rg_opening_mvl/mxv + .byte W12 + .byte VOICE , 48 + .byte PAN , c_v-32 + .byte MOD , 0 + .byte VOL , 32*mus_rg_opening_mvl/mxv + .byte N04 , En4 , v127 + .byte W08 + .byte PAN , c_v+31 + .byte N04 , An3 , v096 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , En4 + .byte W08 + .byte PAN , c_v+32 + .byte N08 , En4 , v127 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , An3 , v096 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , En4 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , Ds4 , v127 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Gs3 , v100 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , Ds4 + .byte W08 + .byte PAN , c_v-32 + .byte N08 , Ds4 , v127 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , Gs3 , v096 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Ds4 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Cs4 , v127 + .byte W08 + .byte PAN , c_v+31 + .byte N04 , Fs3 , v096 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Cs4 + .byte W08 + .byte PAN , c_v+32 + .byte N08 , Cs4 , v127 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Fs3 , v096 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , Cs4 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , Bn3 , v127 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , En3 , v096 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , Bn3 + .byte W08 + .byte PAN , c_v-32 + .byte N08 , Bn3 , v127 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , En3 , v096 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Gs3 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Fs3 , v127 + .byte W08 + .byte PAN , c_v+31 + .byte N04 , Gs3 , v096 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , An3 + .byte W08 + .byte PAN , c_v+32 + .byte N08 , An3 , v127 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Fs3 , v096 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , An3 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , Fs3 , v127 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Gs3 , v096 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , An3 + .byte W08 + .byte PAN , c_v-32 + .byte N08 , An3 , v127 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , Fs3 , v096 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , An3 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Gs3 , v127 + .byte W08 + .byte PAN , c_v+31 + .byte N04 , En3 , v096 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Bn3 + .byte W08 + .byte PAN , c_v+32 + .byte N08 , Bn3 , v127 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , En3 , v096 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , Bn3 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , Bn3 , v127 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , En3 , v096 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , Bn3 + .byte W08 + .byte PAN , c_v-32 + .byte N08 , Bn3 , v127 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , En3 , v096 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Bn3 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , An3 , v127 + .byte W08 + .byte PAN , c_v+31 + .byte N04 , Bn3 , v096 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , An3 + .byte W08 + .byte PAN , c_v+32 + .byte N08 , Cs4 , v127 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Bn3 , v096 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , Cs4 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , Dn4 , v127 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Bn3 , v096 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , Dn4 + .byte W08 + .byte PAN , c_v-32 + .byte N08 , Fs4 , v127 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , En4 , v096 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Ds4 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , En4 , v127 + .byte W08 + .byte PAN , c_v+31 + .byte N04 , Bn3 , v096 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , En4 + .byte W08 + .byte PAN , c_v+32 + .byte N08 , En4 , v127 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Bn3 , v096 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , En4 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , En4 , v127 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , Bn3 , v096 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , En4 + .byte W08 + .byte PAN , c_v-32 + .byte N08 , En4 , v127 + .byte W08 + .byte PAN , c_v+32 + .byte N04 , Bn3 , v096 + .byte W08 + .byte PAN , c_v-32 + .byte N04 , En4 + .byte W08 + .byte GOTO + .word mus_rg_opening_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_opening_3: + .byte KEYSH , mus_rg_opening_key+0 + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 67*mus_rg_opening_mvl/mxv + .byte W24 +mus_rg_opening_3_B1: + .byte PAN , c_v+0 + .byte VOL , 54*mus_rg_opening_mvl/mxv + .byte N12 , En2 , v127 + .byte W12 + .byte N03 , Bn1 + .byte W06 + .byte Bn1 , v116 + .byte W06 + .byte N24 , Bn1 , v100 + .byte W36 + .byte N06 , Dn2 , v127 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W12 + .byte N12 , Ds2 + .byte W12 + .byte N06 , En2 + .byte W24 + .byte N36 , Bn1 + .byte W36 + .byte N06 , Dn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte An1 + .byte W12 + .byte N12 , Cs2 + .byte W12 + .byte En2 + .byte W12 + .byte N03 , Bn1 , v100 + .byte W06 + .byte N03 + .byte W06 + .byte N09 , Bn1 , v124 + .byte W12 + .byte N03 , Bn1 , v100 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Dn2 , v127 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W12 + .byte N12 , Ds2 + .byte W12 + .byte N06 , En2 + .byte W24 + .byte N24 , Bn1 + .byte W24 + .byte N12 , Cs2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte En2 + .byte W16 + .byte N04 , An2 , v064 + .byte W08 + .byte N12 , An1 , v127 + .byte W24 + .byte Ds2 + .byte W16 + .byte N04 , Fs2 , v064 + .byte W08 + .byte N12 , Gs1 , v127 + .byte W24 + .byte Cs2 + .byte W16 + .byte N04 , En2 , v064 + .byte W08 + .byte N12 , Fs1 , v127 + .byte W24 + .byte Bn1 + .byte W16 + .byte N04 , En2 , v064 + .byte W08 + .byte N12 , En1 , v127 + .byte W12 + .byte Gs1 + .byte W12 + .byte Fs1 + .byte W16 + .byte N04 , Dn2 , v064 + .byte W08 + .byte N12 , An1 , v127 + .byte W16 + .byte N04 , Dn2 , v068 + .byte W08 + .byte N12 , Fs1 , v127 + .byte W16 + .byte N04 , Dn2 , v064 + .byte W08 + .byte N12 , An1 , v127 + .byte W16 + .byte N04 , Dn2 , v064 + .byte W08 + .byte N12 , Gs1 , v127 + .byte W16 + .byte N04 , En2 , v068 + .byte W08 + .byte N12 , Bn1 , v127 + .byte W16 + .byte N04 , En2 , v068 + .byte W08 + .byte N12 , Gs1 , v127 + .byte W16 + .byte N04 , En2 , v064 + .byte W08 + .byte N12 , Bn1 , v127 + .byte W16 + .byte N04 , En2 , v064 + .byte W08 + .byte N12 , Fs1 , v127 + .byte W16 + .byte N04 , Fs2 , v064 + .byte W08 + .byte N12 , An1 , v127 + .byte W16 + .byte N04 , Fs2 , v064 + .byte W08 + .byte N12 , Cs2 , v127 + .byte W16 + .byte N04 , Fs2 , v064 + .byte W08 + .byte N12 , An1 , v127 + .byte W12 + .byte Cs2 + .byte W12 + .byte Bn1 + .byte W16 + .byte N04 , Ds2 , v064 + .byte W08 + .byte N12 , En2 , v127 + .byte W16 + .byte N04 , Fs2 , v064 + .byte W08 + .byte N12 , Gs2 , v127 + .byte W16 + .byte N04 , En2 , v064 + .byte W08 + .byte N12 , En2 , v127 + .byte W24 + .byte GOTO + .word mus_rg_opening_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_opening_4: + .byte KEYSH , mus_rg_opening_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 86*mus_rg_opening_mvl/mxv + .byte W12 + .byte N12 , Bn1 , v104 + .byte W12 +mus_rg_opening_4_B1: + .byte VOL , 75*mus_rg_opening_mvl/mxv + .byte PAN , c_v-32 + .byte N12 , En2 , v104 + .byte W12 + .byte N03 , Bn2 , v100 + .byte W06 + .byte Bn2 , v088 + .byte W06 + .byte PAN , c_v+32 + .byte N24 , Bn1 , v104 + .byte W12 + .byte VOL , 65*mus_rg_opening_mvl/mxv + .byte W03 + .byte 54*mus_rg_opening_mvl/mxv + .byte W03 + .byte 43*mus_rg_opening_mvl/mxv + .byte W03 + .byte 32*mus_rg_opening_mvl/mxv + .byte W24 + .byte W03 + .byte 75*mus_rg_opening_mvl/mxv + .byte W24 + .byte W48 + .byte PAN , c_v+0 + .byte W09 + .byte c_v-32 + .byte W03 + .byte N06 , Dn3 + .byte W06 + .byte Cs3 , v092 + .byte W06 + .byte An2 , v104 + .byte W09 + .byte PAN , c_v+32 + .byte W03 + .byte N12 , Cs3 , v100 + .byte W12 + .byte VOL , 75*mus_rg_opening_mvl/mxv + .byte PAN , c_v+32 + .byte N12 , En2 , v104 + .byte W12 + .byte N03 , Bn2 , v092 + .byte W06 + .byte Bn2 , v088 + .byte W06 + .byte PAN , c_v-32 + .byte N12 , Bn1 , v092 + .byte W12 + .byte PAN , c_v+32 + .byte N03 , Bn2 , v096 + .byte W06 + .byte Bn2 , v080 + .byte W06 + .byte N12 , Bn2 , v084 + .byte W24 + .byte VOL , 75*mus_rg_opening_mvl/mxv + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 48 + .byte VOL , 75*mus_rg_opening_mvl/mxv + .byte PAN , c_v+32 + .byte N08 , En5 , v052 + .byte W16 + .byte N04 + .byte W04 + .byte Ds5 + .byte W04 + .byte N16 , Bn4 + .byte W16 + .byte PAN , c_v-32 + .byte N04 , En5 , v040 + .byte W04 + .byte Ds5 + .byte W04 + .byte N09 , Bn4 + .byte W16 + .byte N04 , En5 , v032 + .byte W04 + .byte Ds5 + .byte W04 + .byte PAN , c_v+48 + .byte N09 , Bn4 + .byte W12 + .byte VOICE , 47 + .byte N12 , Bn1 , v100 + .byte W12 + .byte GOTO + .word mus_rg_opening_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_opening_5: + .byte KEYSH , mus_rg_opening_key+0 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 54*mus_rg_opening_mvl/mxv + .byte W24 +mus_rg_opening_5_B1: + .byte VOICE , 80 + .byte PAN , c_v+0 + .byte VOL , 54*mus_rg_opening_mvl/mxv + .byte N12 , Gs2 , v127 + .byte W12 + .byte N03 , Bn2 , v100 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , En2 + .byte W12 + .byte N03 , En2 , v127 + .byte W06 + .byte Gs2 + .byte W06 + .byte MOD , 0 + .byte N30 , Bn2 + .byte W12 + .byte MOD , 7 + .byte VOL , 51*mus_rg_opening_mvl/mxv + .byte W03 + .byte 46*mus_rg_opening_mvl/mxv + .byte W03 + .byte 41*mus_rg_opening_mvl/mxv + .byte W03 + .byte 36*mus_rg_opening_mvl/mxv + .byte W03 + .byte 29*mus_rg_opening_mvl/mxv + .byte W03 + .byte 25*mus_rg_opening_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 + .byte VOL , 54*mus_rg_opening_mvl/mxv + .byte W03 + .byte N12 , Fs3 + .byte W12 + .byte N06 , Bn2 + .byte W18 + .byte N03 , Gs2 + .byte W06 + .byte N48 , An2 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 48*mus_rg_opening_mvl/mxv + .byte W03 + .byte 43*mus_rg_opening_mvl/mxv + .byte W03 + .byte 36*mus_rg_opening_mvl/mxv + .byte W03 + .byte 32*mus_rg_opening_mvl/mxv + .byte W03 + .byte 27*mus_rg_opening_mvl/mxv + .byte W03 + .byte 23*mus_rg_opening_mvl/mxv + .byte W03 + .byte 16*mus_rg_opening_mvl/mxv + .byte W03 + .byte 12*mus_rg_opening_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 54*mus_rg_opening_mvl/mxv + .byte N12 , Fs2 + .byte W12 + .byte N03 , Bn2 , v100 + .byte W03 + .byte Cs3 + .byte W03 + .byte En3 + .byte W03 + .byte Fs3 + .byte W03 + .byte N12 , Gs3 , v127 + .byte W12 + .byte N03 , Bn3 , v100 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Bn2 + .byte W12 + .byte N03 , En3 , v127 + .byte W06 + .byte Gs3 + .byte W06 + .byte N30 , Bn3 + .byte W06 + .byte MOD , 7 + .byte W09 + .byte VOL , 51*mus_rg_opening_mvl/mxv + .byte W03 + .byte 46*mus_rg_opening_mvl/mxv + .byte W03 + .byte 41*mus_rg_opening_mvl/mxv + .byte W03 + .byte 36*mus_rg_opening_mvl/mxv + .byte W03 + .byte 29*mus_rg_opening_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 25*mus_rg_opening_mvl/mxv + .byte W06 + .byte 54*mus_rg_opening_mvl/mxv + .byte N12 , Fs4 + .byte W12 + .byte N06 , Bn3 + .byte W18 + .byte N03 , Gs3 + .byte W06 + .byte N48 , Gs4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte VOL , 37*mus_rg_opening_mvl/mxv + .byte N12 , Dn3 , v120 + .byte W12 + .byte VOL , 43*mus_rg_opening_mvl/mxv + .byte N12 , Fs3 , v124 + .byte W06 + .byte VOL , 65*mus_rg_opening_mvl/mxv + .byte W06 + .byte VOICE , 84 + .byte N40 , En4 , v127 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 47*mus_rg_opening_mvl/mxv + .byte W04 + .byte 39*mus_rg_opening_mvl/mxv + .byte W04 + .byte 32*mus_rg_opening_mvl/mxv + .byte W04 + .byte 25*mus_rg_opening_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 54*mus_rg_opening_mvl/mxv + .byte N04 , Ds4 , v100 + .byte W04 + .byte Cs4 + .byte W04 + .byte N40 , Ds4 , v127 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 47*mus_rg_opening_mvl/mxv + .byte W04 + .byte 39*mus_rg_opening_mvl/mxv + .byte W04 + .byte 32*mus_rg_opening_mvl/mxv + .byte W04 + .byte 25*mus_rg_opening_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 54*mus_rg_opening_mvl/mxv + .byte N04 , Cs4 , v100 + .byte W04 + .byte Bn3 + .byte W04 + .byte N40 , Cs4 , v127 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 47*mus_rg_opening_mvl/mxv + .byte W04 + .byte 39*mus_rg_opening_mvl/mxv + .byte W04 + .byte 32*mus_rg_opening_mvl/mxv + .byte W04 + .byte 25*mus_rg_opening_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 54*mus_rg_opening_mvl/mxv + .byte N04 , Bn3 , v100 + .byte W04 + .byte An3 + .byte W04 + .byte N24 , Bn3 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N08 , Fs3 + .byte W16 + .byte N04 , Fs3 , v100 + .byte W04 + .byte Gs3 + .byte W04 + .byte N48 , An3 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 48*mus_rg_opening_mvl/mxv + .byte W04 + .byte 42*mus_rg_opening_mvl/mxv + .byte W04 + .byte 35*mus_rg_opening_mvl/mxv + .byte W04 + .byte 29*mus_rg_opening_mvl/mxv + .byte W04 + .byte 21*mus_rg_opening_mvl/mxv + .byte W04 + .byte 14*mus_rg_opening_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 54*mus_rg_opening_mvl/mxv + .byte N24 , Cs4 + .byte W24 + .byte N06 , Bn3 , v120 + .byte W18 + .byte An3 + .byte W06 + .byte N48 , Gs3 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 48*mus_rg_opening_mvl/mxv + .byte W04 + .byte 42*mus_rg_opening_mvl/mxv + .byte W04 + .byte 35*mus_rg_opening_mvl/mxv + .byte W04 + .byte 29*mus_rg_opening_mvl/mxv + .byte W04 + .byte 21*mus_rg_opening_mvl/mxv + .byte W04 + .byte 14*mus_rg_opening_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 54*mus_rg_opening_mvl/mxv + .byte N12 , An3 + .byte W12 + .byte Gs3 , v100 + .byte W12 + .byte N08 , Fs3 , v127 + .byte W16 + .byte N04 , Fs3 , v100 + .byte W04 + .byte Gs3 + .byte W04 + .byte N08 , An3 , v127 + .byte W16 + .byte N04 , An3 , v100 + .byte W04 + .byte Bn3 + .byte W04 + .byte N24 , Cs4 , v127 + .byte W24 + .byte En4 + .byte W24 + .byte N06 , Bn3 , v120 + .byte W18 + .byte En4 + .byte W06 + .byte N60 , Bn3 , v127 + .byte W24 + .byte VOL , 50*mus_rg_opening_mvl/mxv + .byte W04 + .byte 46*mus_rg_opening_mvl/mxv + .byte W04 + .byte 42*mus_rg_opening_mvl/mxv + .byte W04 + .byte 38*mus_rg_opening_mvl/mxv + .byte W04 + .byte 33*mus_rg_opening_mvl/mxv + .byte W04 + .byte 29*mus_rg_opening_mvl/mxv + .byte W04 + .byte 23*mus_rg_opening_mvl/mxv + .byte W04 + .byte 20*mus_rg_opening_mvl/mxv + .byte W04 + .byte 16*mus_rg_opening_mvl/mxv + .byte W04 + .byte 10*mus_rg_opening_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 54*mus_rg_opening_mvl/mxv + .byte W08 + .byte GOTO + .word mus_rg_opening_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_opening_6: + .byte KEYSH , mus_rg_opening_key+0 + .byte VOICE , 0 + .byte VOL , 78*mus_rg_opening_mvl/mxv + .byte N48 , Cn3 , v100 + .byte W24 +mus_rg_opening_6_B1: + .byte PAN , c_v+0 + .byte VOL , 80*mus_rg_opening_mvl/mxv + .byte W24 + .byte N48 , Cs2 , v100 + .byte W24 + .byte N03 , En1 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v100 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte N24 , Bn2 + .byte W03 + .byte N03 , En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v100 + .byte W12 + .byte N06 + .byte N48 , Cs2 + .byte W24 + .byte N03 , En1 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W36 + .byte W03 + .byte N24 , Cn3 , v100 + .byte W24 + .byte N48 , An2 + .byte W48 + .byte N03 , En1 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v100 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte N24 , Bn2 + .byte W24 + .byte N03 , En1 + .byte N48 , An2 + .byte W03 + .byte N03 , En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v100 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , En1 , v064 + .byte N24 , Cn3 , v108 + .byte W03 + .byte N03 , En1 , v080 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v116 + .byte W06 + .byte En1 , v120 + .byte W06 + .byte N08 , En1 , v100 + .byte N48 , Cs2 + .byte W16 + .byte N08 , En1 , v084 + .byte W08 + .byte N03 , En1 , v100 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N08 , En1 , v100 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N03 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 +mus_rg_opening_6_000: + .byte N08 , En1 , v100 + .byte W16 + .byte En1 , v084 + .byte W08 + .byte En1 , v100 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W16 + .byte En1 , v084 + .byte W08 + .byte N03 , En1 , v100 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND +mus_rg_opening_6_001: + .byte N04 , En1 , v100 + .byte W04 + .byte En1 , v048 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N08 , En1 , v100 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W16 + .byte En1 , v084 + .byte W08 + .byte N03 , En1 , v100 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_opening_6_000 + .byte PATT + .word mus_rg_opening_6_001 + .byte W72 + .byte N24 , Cn3 , v100 + .byte W24 + .byte GOTO + .word mus_rg_opening_6_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_opening: + .byte 6 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_opening_pri @ Priority + .byte mus_rg_opening_rev @ Reverb. + + .word mus_rg_opening_grp + + .word mus_rg_opening_1 + .word mus_rg_opening_2 + .word mus_rg_opening_3 + .word mus_rg_opening_4 + .word mus_rg_opening_5 + .word mus_rg_opening_6 + + .end diff --git a/sound/songs/mus_rg_oshie_tv.s b/sound/songs/mus_rg_oshie_tv.s new file mode 100644 index 0000000000..b706b141db --- /dev/null +++ b/sound/songs/mus_rg_oshie_tv.s @@ -0,0 +1,1048 @@ + .include "MPlayDef.s" + + .equ mus_rg_oshie_tv_grp, voicegroup_86A0FB8 + .equ mus_rg_oshie_tv_pri, 0 + .equ mus_rg_oshie_tv_rev, reverb_set+50 + .equ mus_rg_oshie_tv_mvl, 127 + .equ mus_rg_oshie_tv_key, 0 + .equ mus_rg_oshie_tv_tbs, 1 + .equ mus_rg_oshie_tv_exg, 0 + .equ mus_rg_oshie_tv_cmp, 1 + + .section .rodata + .global mus_rg_oshie_tv + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_oshie_tv_1: + .byte KEYSH , mus_rg_oshie_tv_key+0 + .byte TEMPO , 146*mus_rg_oshie_tv_tbs/2 + .byte VOICE , 24 + .byte PAN , c_v+32 + .byte VOL , 45*mus_rg_oshie_tv_mvl/mxv + .byte N06 , Bn3 , v127 + .byte W12 + .byte An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N24 , Bn2 + .byte W24 + .byte N06 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte N60 , Bn3 + .byte W48 +mus_rg_oshie_tv_1_000: + .byte W12 + .byte N03 , En3 , v127 + .byte W12 + .byte N03 + .byte W36 + .byte Fs3 + .byte W12 + .byte N03 + .byte W24 + .byte PEND +mus_rg_oshie_tv_1_001: + .byte W12 + .byte N03 , En3 , v127 + .byte W12 + .byte N03 + .byte W36 + .byte Dn3 + .byte W12 + .byte N03 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_oshie_tv_1_000 +mus_rg_oshie_tv_1_002: + .byte W12 + .byte N03 , En3 , v127 + .byte W24 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte PEND +mus_rg_oshie_tv_1_B1: + .byte PATT + .word mus_rg_oshie_tv_1_000 + .byte PATT + .word mus_rg_oshie_tv_1_001 + .byte PATT + .word mus_rg_oshie_tv_1_000 + .byte PATT + .word mus_rg_oshie_tv_1_002 + .byte GOTO + .word mus_rg_oshie_tv_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_oshie_tv_2: + .byte KEYSH , mus_rg_oshie_tv_key+0 + .byte VOICE , 2 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 63*mus_rg_oshie_tv_mvl/mxv + .byte N06 , En6 , v127 + .byte W12 + .byte Dn6 + .byte W12 + .byte Cs6 + .byte W12 + .byte Dn6 + .byte W12 + .byte Cs6 + .byte W12 + .byte Bn5 + .byte W12 + .byte An5 + .byte W12 + .byte Gs5 + .byte W12 + .byte En5 + .byte W24 + .byte N06 + .byte W06 + .byte Gs5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Ds6 + .byte W06 + .byte En6 + .byte W48 + .byte An5 + .byte W12 + .byte Cs6 + .byte W12 + .byte En6 + .byte W24 + .byte Dn6 + .byte W12 + .byte Fs6 + .byte W12 + .byte An6 + .byte W24 + .byte An5 + .byte W12 + .byte Cs6 + .byte W12 + .byte En6 + .byte W24 + .byte Dn6 + .byte W12 + .byte Cs6 + .byte W12 + .byte Bn5 + .byte W24 + .byte An5 + .byte W12 + .byte Cs6 + .byte W12 + .byte En6 + .byte W24 + .byte Dn6 + .byte W12 + .byte Fs6 + .byte W12 + .byte An6 + .byte W12 + .byte N06 + .byte W12 + .byte Gs6 + .byte W12 + .byte En6 + .byte W12 + .byte Fs6 + .byte W12 + .byte Gs6 + .byte W12 + .byte An6 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 +mus_rg_oshie_tv_2_B1: +mus_rg_oshie_tv_2_000: + .byte N12 , An5 , v127 + .byte W12 + .byte Cs6 + .byte W12 + .byte N18 , En6 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Dn6 + .byte W12 + .byte Fs6 + .byte W12 + .byte N18 , An6 + .byte W18 + .byte N06 + .byte W06 + .byte PEND + .byte N12 , An5 + .byte W12 + .byte Cs6 + .byte W12 + .byte N24 , En6 + .byte W24 + .byte N06 , Dn6 + .byte W06 + .byte Cs6 + .byte W06 + .byte Cn6 + .byte W06 + .byte Bn5 + .byte W06 + .byte N18 + .byte W18 + .byte N06 , Gs5 + .byte W06 + .byte PATT + .word mus_rg_oshie_tv_2_000 + .byte N12 , Gs6 , v127 + .byte W12 + .byte N06 , En6 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Fs6 + .byte W12 + .byte N06 + .byte W06 + .byte Gs6 + .byte W06 + .byte N12 , An6 + .byte W12 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte GOTO + .word mus_rg_oshie_tv_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_oshie_tv_3: + .byte KEYSH , mus_rg_oshie_tv_key+0 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 39*mus_rg_oshie_tv_mvl/mxv + .byte W96 + .byte N06 , En3 , v127 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W48 +mus_rg_oshie_tv_3_000: + .byte W12 + .byte N06 , An3 , v127 + .byte W12 + .byte N06 + .byte W36 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte PEND + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W36 + .byte Gs3 + .byte W12 + .byte N06 + .byte W24 + .byte PATT + .word mus_rg_oshie_tv_3_000 + .byte W12 + .byte N06 , Bn3 , v127 + .byte W24 + .byte Gs3 + .byte W24 + .byte An3 + .byte W12 + .byte N06 + .byte W24 +mus_rg_oshie_tv_3_B1: + .byte N03 , Cs5 , v096 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W24 + .byte Fs5 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W24 + .byte En5 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W24 + .byte Bn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte N03 + .byte W24 + .byte Cs5 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W24 + .byte Fs5 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gs4 + .byte W24 + .byte An4 + .byte W12 + .byte N03 + .byte W24 + .byte GOTO + .word mus_rg_oshie_tv_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_oshie_tv_4: + .byte KEYSH , mus_rg_oshie_tv_key+0 + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 68*mus_rg_oshie_tv_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , En1 , v120 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N24 + .byte W24 + .byte N03 , En1 , v056 + .byte W03 + .byte Gs1 + .byte W03 + .byte Bn1 + .byte W03 + .byte Dn2 + .byte W03 + .byte En2 + .byte W03 + .byte Gs2 + .byte W03 + .byte Bn2 + .byte W03 + .byte Ds3 + .byte W03 + .byte N24 , En3 , v084 + .byte W24 + .byte N03 , Ds3 , v060 + .byte W03 + .byte Bn2 + .byte W03 + .byte Gs2 + .byte W03 + .byte En2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Bn1 + .byte W03 + .byte Gs1 + .byte W03 + .byte Fs1 + .byte W03 + .byte N12 , An1 , v120 + .byte W48 + .byte En1 + .byte W36 + .byte N12 + .byte W12 + .byte An1 + .byte W72 + .byte N24 , Gs1 + .byte W24 + .byte N12 , An1 + .byte W48 + .byte Dn2 + .byte W24 + .byte N06 , An1 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte Gs1 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte An1 + .byte W12 + .byte An2 + .byte W12 + .byte An1 + .byte W12 + .byte N12 , Bn1 + .byte W12 +mus_rg_oshie_tv_4_B1: + .byte N06 , Cs2 , v120 + .byte W12 + .byte An1 + .byte W24 + .byte N06 + .byte W12 + .byte An2 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N06 , Gs1 + .byte W12 + .byte An1 + .byte W12 + .byte Cs2 + .byte W12 + .byte An1 + .byte W24 + .byte N06 + .byte W24 + .byte En1 + .byte W24 + .byte N06 + .byte W12 + .byte W12 + .byte N12 , Cs2 + .byte W24 + .byte An1 + .byte W24 + .byte Fs2 + .byte W24 + .byte An1 + .byte W12 + .byte W12 + .byte En2 + .byte W24 + .byte Gs1 + .byte W12 + .byte Cs2 + .byte W24 + .byte An1 + .byte W24 + .byte GOTO + .word mus_rg_oshie_tv_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_oshie_tv_5: + .byte KEYSH , mus_rg_oshie_tv_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+62 + .byte VOL , 32*mus_rg_oshie_tv_mvl/mxv + .byte N06 , En4 , v127 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N03 , En3 + .byte W24 + .byte N03 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W48 + .byte An3 + .byte W12 + .byte Cs4 + .byte W12 + .byte En4 + .byte W24 + .byte Dn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte An4 + .byte W24 + .byte An3 + .byte W12 + .byte Cs4 + .byte W12 + .byte En4 + .byte W24 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Bn3 + .byte W24 + .byte An3 + .byte W12 + .byte Cs4 + .byte W12 + .byte En4 + .byte W24 + .byte Dn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W12 + .byte Gs4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 +mus_rg_oshie_tv_5_B1: +mus_rg_oshie_tv_5_000: + .byte N03 , An3 , v127 + .byte W12 + .byte Cs4 + .byte W12 + .byte En4 + .byte W18 + .byte N03 + .byte W06 + .byte Dn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte An4 + .byte W18 + .byte N03 + .byte W06 + .byte PEND + .byte An3 + .byte W12 + .byte Cs4 + .byte W12 + .byte En4 + .byte W24 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N03 + .byte W18 + .byte Gs3 + .byte W06 + .byte PATT + .word mus_rg_oshie_tv_5_000 + .byte N03 , Gs4 , v127 + .byte W12 + .byte En4 + .byte W06 + .byte N03 + .byte W06 + .byte Fs4 + .byte W12 + .byte N03 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte GOTO + .word mus_rg_oshie_tv_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_oshie_tv_6: + .byte KEYSH , mus_rg_oshie_tv_key+0 + .byte VOICE , 92 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 45*mus_rg_oshie_tv_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte N06 , En3 , v127 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W48 +mus_rg_oshie_tv_6_000: + .byte W12 + .byte N06 , An3 , v127 + .byte W12 + .byte N06 + .byte W36 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte PEND + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W36 + .byte Gs3 + .byte W12 + .byte N06 + .byte W24 + .byte PATT + .word mus_rg_oshie_tv_6_000 + .byte W12 + .byte N06 , Bn3 , v127 + .byte W24 + .byte Gs3 + .byte W24 + .byte An3 + .byte W12 + .byte N06 + .byte W24 +mus_rg_oshie_tv_6_B1: + .byte N03 , Cs5 , v096 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W24 + .byte Fs5 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W24 + .byte En5 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W24 + .byte Bn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte N03 + .byte W24 + .byte Cs5 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W24 + .byte Fs5 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gs4 + .byte W24 + .byte An4 + .byte W12 + .byte N03 + .byte W24 + .byte GOTO + .word mus_rg_oshie_tv_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_oshie_tv_7: + .byte KEYSH , mus_rg_oshie_tv_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 61*mus_rg_oshie_tv_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N03 , En1 , v127 + .byte W03 + .byte En1 , v080 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 +mus_rg_oshie_tv_7_B1: + .byte N12 , En1 , v127 + .byte W12 + .byte N18 + .byte W18 + .byte N06 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , En1 , v127 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , En1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N18 , En1 , v127 + .byte W18 + .byte N03 , En1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , En1 , v127 + .byte W12 + .byte N18 + .byte W18 + .byte N06 + .byte W06 + .byte N03 , En1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v127 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N18 , En1 , v127 + .byte W18 + .byte N06 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N03 , En1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v127 + .byte W06 + .byte N03 , En1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v127 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , En1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v127 + .byte W06 + .byte N06 + .byte W06 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , En1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N18 , En1 , v127 + .byte W18 + .byte N03 , En1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , En1 , v127 + .byte W12 + .byte N12 + .byte W12 + .byte N03 , En1 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte GOTO + .word mus_rg_oshie_tv_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_oshie_tv_8: + .byte KEYSH , mus_rg_oshie_tv_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 34*mus_rg_oshie_tv_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N03 , Cn5 , v127 + .byte W03 + .byte Cn5 , v080 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 +mus_rg_oshie_tv_8_B1: + .byte N12 , Cn5 , v127 + .byte W12 + .byte N18 + .byte W18 + .byte N06 + .byte W06 + .byte Cn5 , v096 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cn5 , v127 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Cn5 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N18 , Cn5 , v127 + .byte W18 + .byte N03 , Cn5 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Cn5 , v127 + .byte W12 + .byte N18 + .byte W18 + .byte N06 + .byte W06 + .byte N03 , Cn5 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Cn5 , v127 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Cn5 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N18 , Cn5 , v127 + .byte W18 + .byte N06 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N03 , Cn5 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Cn5 , v127 + .byte W06 + .byte N03 , Cn5 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Cn5 , v127 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Cn5 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Cn5 , v127 + .byte W06 + .byte N06 + .byte W06 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Cn5 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N18 , Cn5 , v127 + .byte W18 + .byte N03 , Cn5 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Cn5 , v127 + .byte W12 + .byte N12 + .byte W12 + .byte N03 , Cn5 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte GOTO + .word mus_rg_oshie_tv_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_oshie_tv: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_oshie_tv_pri @ Priority + .byte mus_rg_oshie_tv_rev @ Reverb. + + .word mus_rg_oshie_tv_grp + + .word mus_rg_oshie_tv_1 + .word mus_rg_oshie_tv_2 + .word mus_rg_oshie_tv_3 + .word mus_rg_oshie_tv_4 + .word mus_rg_oshie_tv_5 + .word mus_rg_oshie_tv_6 + .word mus_rg_oshie_tv_7 + .word mus_rg_oshie_tv_8 + + .end diff --git a/sound/songs/mus_rg_otsukimi.s b/sound/songs/mus_rg_otsukimi.s new file mode 100644 index 0000000000..1bddc5c8ab --- /dev/null +++ b/sound/songs/mus_rg_otsukimi.s @@ -0,0 +1,3747 @@ + .include "MPlayDef.s" + + .equ mus_rg_otsukimi_grp, voicegroup_86A63F4 + .equ mus_rg_otsukimi_pri, 0 + .equ mus_rg_otsukimi_rev, reverb_set+50 + .equ mus_rg_otsukimi_mvl, 127 + .equ mus_rg_otsukimi_key, 0 + .equ mus_rg_otsukimi_tbs, 1 + .equ mus_rg_otsukimi_exg, 0 + .equ mus_rg_otsukimi_cmp, 1 + + .section .rodata + .global mus_rg_otsukimi + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_otsukimi_1: + .byte KEYSH , mus_rg_otsukimi_key+0 +mus_rg_otsukimi_1_B1: + .byte TEMPO , 110*mus_rg_otsukimi_tbs/2 + .byte VOICE , 1 + .byte PAN , c_v+16 + .byte VOL , 65*mus_rg_otsukimi_mvl/mxv + .byte BEND , c_v+1 + .byte N12 , Bn2 , v088 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 +mus_rg_otsukimi_1_000: + .byte N12 , Bn2 , v088 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_otsukimi_1_000 + .byte N12 , Bn2 , v088 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte En3 + .byte W12 +mus_rg_otsukimi_1_001: + .byte N12 , En3 , v088 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte En3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte En3 + .byte W12 + .byte Gs3 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_otsukimi_1_001 + .byte PATT + .word mus_rg_otsukimi_1_001 + .byte PATT + .word mus_rg_otsukimi_1_001 + .byte PATT + .word mus_rg_otsukimi_1_000 + .byte PATT + .word mus_rg_otsukimi_1_000 + .byte PATT + .word mus_rg_otsukimi_1_000 + .byte PATT + .word mus_rg_otsukimi_1_000 + .byte N12 , Fn4 , v088 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte En4 + .byte W12 + .byte N12 + .byte W12 + .byte Ds4 + .byte W12 + .byte N12 + .byte W12 + .byte W12 + .byte N12 + .byte W12 + .byte Dn4 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte TEMPO , 112*mus_rg_otsukimi_tbs/2 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte TEMPO , 98*mus_rg_otsukimi_tbs/2 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte TEMPO , 90*mus_rg_otsukimi_tbs/2 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte TEMPO , 82*mus_rg_otsukimi_tbs/2 + .byte Gs1 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte TEMPO , 78*mus_rg_otsukimi_tbs/2 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte TEMPO , 74*mus_rg_otsukimi_tbs/2 + .byte Fs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte TEMPO , 66*mus_rg_otsukimi_tbs/2 + .byte Fn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte TEMPO , 12*mus_rg_otsukimi_tbs/2 + .byte Cn2 + .byte W06 + .byte TEMPO , 110*mus_rg_otsukimi_tbs/2 + .byte N12 , Dn4 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte Ds4 + .byte W12 + .byte N12 + .byte W12 + .byte En4 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte Fn4 + .byte W12 + .byte N12 + .byte W12 +mus_rg_otsukimi_1_002: + .byte N12 , Ds3 , v088 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_otsukimi_1_002 + .byte PATT + .word mus_rg_otsukimi_1_002 + .byte PATT + .word mus_rg_otsukimi_1_002 +mus_rg_otsukimi_1_003: + .byte N12 , An2 , v088 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_otsukimi_1_003 + .byte PATT + .word mus_rg_otsukimi_1_003 + .byte N12 , Cs3 , v088 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 +mus_rg_otsukimi_1_004: + .byte N12 , Gs3 , v088 + .byte W12 + .byte En3 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_otsukimi_1_004 + .byte N12 , Gs3 , v088 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte W96 + .byte W48 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N36 , Cs3 + .byte W12 + .byte W24 + .byte N12 , Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N36 , Cs3 + .byte W36 + .byte N12 , Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N36 , Cs3 + .byte W36 + .byte N12 , Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N36 , Cs3 + .byte W36 + .byte N12 , Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 , v064 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 , v080 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 , v096 + .byte W12 + .byte Ds3 + .byte W12 + .byte GOTO + .word mus_rg_otsukimi_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_otsukimi_2: + .byte KEYSH , mus_rg_otsukimi_key+0 +mus_rg_otsukimi_2_B1: + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 73*mus_rg_otsukimi_mvl/mxv + .byte N12 , Ds4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , Ds4 , v016 + .byte W12 + .byte PAN , c_v-64 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Cs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , Cs4 , v016 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Bn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , Cs4 , v016 + .byte W12 + .byte PAN , c_v-64 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Bn3 , v096 + .byte W12 + .byte Cs4 + .byte W12 +mus_rg_otsukimi_2_000: + .byte MOD , 0 + .byte N12 , Ds4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , Cs4 , v016 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Bn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , As3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PEND +mus_rg_otsukimi_2_001: + .byte MOD , 0 + .byte N12 , Bn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , Bn3 , v016 + .byte W12 + .byte PAN , c_v-64 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Cs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , Cs4 , v016 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte PAN , c_v-63 + .byte N12 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cs4 , v012 + .byte W12 + .byte PEND + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Gs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , Gs4 , v016 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Fs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , Fs4 , v016 + .byte W12 + .byte PAN , c_v-63 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , En4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Fs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn5 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Fs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , Fs4 , v016 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , En4 , v096 + .byte W12 + .byte Fs4 + .byte W12 + .byte MOD , 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn5 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Fs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , Fs4 , v016 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , En4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , En4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , En4 , v016 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Fs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , Fs4 , v016 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , En4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , En4 , v016 + .byte W12 + .byte VOICE , 24 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Ds4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , Ds4 , v016 + .byte W12 + .byte PAN , c_v-64 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Cs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , Cs4 , v016 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Bn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , Cs4 , v016 + .byte W12 + .byte PAN , c_v-64 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Bn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PATT + .word mus_rg_otsukimi_2_000 + .byte PATT + .word mus_rg_otsukimi_2_001 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Gs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte N12 , Gs4 , v016 + .byte W12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Gs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , An4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , As4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , As4 , v028 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , As4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Bn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-16 + .byte MOD , 0 + .byte N12 , En3 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , En3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte N12 , Bn2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Bn2 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-16 + .byte MOD , 0 + .byte N12 , Ds3 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Ds3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte N12 , As2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , As2 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-16 + .byte MOD , 0 + .byte N12 , Dn3 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Dn3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte N12 , An2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , An2 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-16 + .byte MOD , 0 + .byte N12 , Cs3 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Cs3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte N12 , Gs2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Gs2 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-16 + .byte MOD , 0 + .byte N12 , Cn3 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Cn3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte N12 , Gn2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Gn2 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-16 + .byte MOD , 0 + .byte N12 , Bn2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Bn2 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte N12 , Fs2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Fs2 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-16 + .byte MOD , 0 + .byte N12 , As2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , As2 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte N12 , Fn2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Fn2 , v016 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , An2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , An2 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte N12 , En2 , v092 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , En2 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 1 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Bn4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Bn4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Bn4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , As4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , An4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-62 + .byte MOD , 0 + .byte N12 , An4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , An4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 24 + .byte MOD , 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Cs4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Bn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Bn3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , As3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Bn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Cs4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Bn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Cs4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Bn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Ds4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-64 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Gn4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Gn4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 1 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Gn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Gn3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Fn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Fn3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , En3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Fn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , An3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , An3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Gn3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Fn3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , An3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , An3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Gn3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , An3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , An3 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Cs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Cs4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 24 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Gn4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Gn4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Gn4 , v020 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Gn4 , v012 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Gn4 , v008 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Fn4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Fn4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Fn4 , v012 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , En4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Fn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , An4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs5 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , An4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Gn4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , An4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs5 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , An4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Gn4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , An4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , An4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Cs5 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Cs5 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 1 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Fs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Fs4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Fs4 , v008 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , En4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , En4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Ds4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , En4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn5 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Fs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Fs4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , En4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Fs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn5 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Fs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Fs4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Gs4 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Gs4 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Cn5 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Cn5 , v016 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 24 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Ds3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 , Cs3 , v024 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 1 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , Ds3 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cs3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N12 , Cs3 , v024 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N12 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N12 , En2 , v096 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs2 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , En3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , En4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn4 + .byte W06 + .byte MOD , 3 + .byte W03 + .byte VOICE , 24 + .byte W03 + .byte MOD , 0 + .byte N12 , En4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 1 + .byte MOD , 0 + .byte N12 , En4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 24 + .byte MOD , 0 + .byte N12 , En4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 1 + .byte MOD , 0 + .byte N12 , En4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte VOICE , 24 + .byte MOD , 0 + .byte N12 , En4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Cn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W03 + .byte VOICE , 1 + .byte W03 + .byte MOD , 0 + .byte N12 , Bn2 , v032 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Bn2 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Bn2 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Bn2 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Ds3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N12 , Gn3 + .byte W06 + .byte MOD , 3 + .byte W06 +mus_rg_otsukimi_2_002: + .byte MOD , 0 + .byte N12 , Bn2 , v032 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PEND +mus_rg_otsukimi_2_003: + .byte MOD , 0 + .byte N12 , Ds3 , v032 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PEND + .byte 0 + .byte N12 , Gn3 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte PATT + .word mus_rg_otsukimi_2_002 + .byte PATT + .word mus_rg_otsukimi_2_003 + .byte GOTO + .word mus_rg_otsukimi_2_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_otsukimi_3: + .byte KEYSH , mus_rg_otsukimi_key+0 +mus_rg_otsukimi_3_B1: + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-34 + .byte VOL , 65*mus_rg_otsukimi_mvl/mxv + .byte BEND , c_v+1 + .byte W24 + .byte N12 , Bn2 , v020 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 +mus_rg_otsukimi_3_000: + .byte N12 , Bn2 , v020 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_otsukimi_3_000 + .byte PATT + .word mus_rg_otsukimi_3_000 + .byte N12 , Ds3 , v020 + .byte W12 + .byte En3 + .byte W12 + .byte N12 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte En3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 +mus_rg_otsukimi_3_001: + .byte N12 , En3 , v020 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte En3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_otsukimi_3_001 + .byte PATT + .word mus_rg_otsukimi_3_001 + .byte N12 , En3 , v020 + .byte W12 + .byte Gs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PATT + .word mus_rg_otsukimi_3_000 + .byte PATT + .word mus_rg_otsukimi_3_000 + .byte PATT + .word mus_rg_otsukimi_3_000 + .byte N12 , Bn2 , v020 + .byte W12 + .byte Ds3 + .byte W84 + .byte W96 + .byte N06 , Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Gs1 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Fs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Fn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W54 + .byte W96 + .byte W48 + .byte N12 , Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn3 + .byte W12 +mus_rg_otsukimi_3_002: + .byte N12 , Ds3 , v020 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn3 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_otsukimi_3_002 + .byte PATT + .word mus_rg_otsukimi_3_002 + .byte N12 , Ds3 , v020 + .byte W12 + .byte Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cs3 + .byte W12 +mus_rg_otsukimi_3_003: + .byte N12 , An2 , v020 + .byte W12 + .byte Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_otsukimi_3_003 + .byte N12 , An2 , v020 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte An2 + .byte W12 + .byte Fn2 + .byte W12 +mus_rg_otsukimi_3_004: + .byte N12 , An3 , v020 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_otsukimi_3_004 + .byte N12 , Cs4 , v020 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 +mus_rg_otsukimi_3_005: + .byte N12 , En3 , v020 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_otsukimi_3_005 + .byte N12 , En3 , v020 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W84 + .byte W72 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N36 , Cs3 + .byte W36 + .byte N12 , Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N36 , Cs3 + .byte W12 + .byte W24 + .byte N12 , Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N36 , Cs3 + .byte W36 + .byte N12 , Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N36 , Cs3 + .byte W36 + .byte N12 , Ds3 + .byte W12 + .byte Bn2 , v016 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte GOTO + .word mus_rg_otsukimi_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_otsukimi_4: + .byte KEYSH , mus_rg_otsukimi_key+0 +mus_rg_otsukimi_4_B1: + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 45*mus_rg_otsukimi_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 90*mus_rg_otsukimi_mvl/mxv + .byte W72 + .byte PAN , c_v-32 + .byte N03 , Bn1 , v092 + .byte W03 + .byte Cn2 + .byte W03 + .byte Cs2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte En2 + .byte W09 + .byte PAN , c_v+32 + .byte N03 , Cn2 + .byte W03 + .byte Cs2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte En2 + .byte W03 + .byte Fn2 + .byte W80 + .byte W01 + .byte VOL , 79*mus_rg_otsukimi_mvl/mxv + .byte W48 + .byte 79*mus_rg_otsukimi_mvl/mxv + .byte PAN , c_v+21 + .byte N24 , En2 + .byte W12 + .byte VOL , 45*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 79*mus_rg_otsukimi_mvl/mxv + .byte PAN , c_v-16 + .byte N24 , Bn1 , v080 + .byte W12 + .byte VOL , 44*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 79*mus_rg_otsukimi_mvl/mxv + .byte PAN , c_v+22 + .byte N24 , Ds2 , v092 + .byte W12 + .byte VOL , 45*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 79*mus_rg_otsukimi_mvl/mxv + .byte PAN , c_v-16 + .byte N24 , As1 , v080 + .byte W12 + .byte VOL , 44*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 79*mus_rg_otsukimi_mvl/mxv + .byte PAN , c_v+22 + .byte N24 , Dn2 , v092 + .byte W12 + .byte VOL , 45*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 79*mus_rg_otsukimi_mvl/mxv + .byte PAN , c_v-16 + .byte N24 , An1 , v080 + .byte W12 + .byte VOL , 44*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 79*mus_rg_otsukimi_mvl/mxv + .byte PAN , c_v+23 + .byte N24 , Cs2 , v092 + .byte W12 + .byte VOL , 45*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 79*mus_rg_otsukimi_mvl/mxv + .byte PAN , c_v-16 + .byte N24 , Gs1 , v080 + .byte W12 + .byte VOL , 44*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 79*mus_rg_otsukimi_mvl/mxv + .byte PAN , c_v+22 + .byte N24 , Cn2 , v092 + .byte W12 + .byte VOL , 45*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 79*mus_rg_otsukimi_mvl/mxv + .byte PAN , c_v-16 + .byte N24 , Gn1 , v080 + .byte W12 + .byte VOL , 44*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 79*mus_rg_otsukimi_mvl/mxv + .byte PAN , c_v+21 + .byte N24 , Bn1 , v092 + .byte W12 + .byte VOL , 45*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 79*mus_rg_otsukimi_mvl/mxv + .byte PAN , c_v-16 + .byte N24 , Fs1 , v080 + .byte W12 + .byte VOL , 44*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 79*mus_rg_otsukimi_mvl/mxv + .byte PAN , c_v+22 + .byte N24 , As1 , v092 + .byte W12 + .byte VOL , 45*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 79*mus_rg_otsukimi_mvl/mxv + .byte PAN , c_v-16 + .byte N24 , Fn1 , v080 + .byte W12 + .byte VOL , 44*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 79*mus_rg_otsukimi_mvl/mxv + .byte PAN , c_v+22 + .byte N24 , An1 , v092 + .byte W12 + .byte VOL , 45*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 79*mus_rg_otsukimi_mvl/mxv + .byte PAN , c_v-16 + .byte N48 , En1 , v080 + .byte W12 + .byte VOL , 44*mus_rg_otsukimi_mvl/mxv + .byte W06 + .byte 29*mus_rg_otsukimi_mvl/mxv + .byte W03 + .byte 19*mus_rg_otsukimi_mvl/mxv + .byte W03 + .byte 10*mus_rg_otsukimi_mvl/mxv + .byte W03 + .byte 8*mus_rg_otsukimi_mvl/mxv + .byte W03 + .byte 5*mus_rg_otsukimi_mvl/mxv + .byte W03 + .byte 3*mus_rg_otsukimi_mvl/mxv + .byte W03 + .byte 1*mus_rg_otsukimi_mvl/mxv + .byte W03 + .byte 1*mus_rg_otsukimi_mvl/mxv + .byte W09 + .byte 0*mus_rg_otsukimi_mvl/mxv + .byte W24 + .byte W72 + .byte PAN , c_v+32 + .byte VOL , 90*mus_rg_otsukimi_mvl/mxv + .byte N03 , Fn2 , v092 + .byte W03 + .byte En2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Cs2 + .byte W03 + .byte Cn2 + .byte W09 + .byte PAN , c_v-32 + .byte N03 , En2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Cs2 + .byte W03 + .byte Cn2 + .byte W03 + .byte Bn1 + .byte W09 + .byte VOL , 45*mus_rg_otsukimi_mvl/mxv + .byte W72 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W12 + .byte W12 + .byte W12 + .byte W12 + .byte W12 + .byte GOTO + .word mus_rg_otsukimi_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_otsukimi_5: + .byte KEYSH , mus_rg_otsukimi_key+0 +mus_rg_otsukimi_5_B1: + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-64 + .byte VOL , 34*mus_rg_otsukimi_mvl/mxv + .byte BEND , c_v-18 + .byte N96 , Gn3 , v040 + .byte W03 + .byte BEND , c_v-10 + .byte W03 + .byte c_v-6 + .byte W03 + .byte c_v-2 + .byte W03 + .byte c_v+0 + .byte W36 + .byte MOD , 3 + .byte W36 + .byte BEND , c_v-5 + .byte W06 + .byte c_v+0 + .byte W06 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N96 + .byte W48 + .byte MOD , 3 + .byte W36 + .byte BEND , c_v-5 + .byte W06 + .byte c_v+0 + .byte W06 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N96 + .byte W03 + .byte BEND , c_v+2 + .byte W06 + .byte c_v+0 + .byte W36 + .byte W03 + .byte MOD , 3 + .byte W12 + .byte BEND , c_v+3 + .byte W06 + .byte c_v+0 + .byte W30 + .byte MOD , 0 + .byte N96 + .byte W48 + .byte MOD , 3 + .byte BEND , c_v+0 + .byte W03 + .byte c_v+2 + .byte W03 + .byte c_v+5 + .byte W03 + .byte c_v+7 + .byte W03 + .byte c_v+8 + .byte W03 + .byte c_v+10 + .byte W03 + .byte c_v+11 + .byte W03 + .byte c_v+13 + .byte W03 + .byte c_v+16 + .byte W03 + .byte c_v+18 + .byte W03 + .byte c_v+20 + .byte W03 + .byte c_v+21 + .byte W03 + .byte c_v+22 + .byte W03 + .byte c_v+23 + .byte W03 + .byte c_v+25 + .byte W03 + .byte c_v+26 + .byte W03 + .byte MOD , 0 + .byte BEND , c_v+26 + .byte N96 + .byte W48 + .byte MOD , 3 + .byte W42 + .byte BEND , c_v+24 + .byte W06 + .byte MOD , 0 + .byte BEND , c_v+26 + .byte N96 + .byte W42 + .byte BEND , c_v+28 + .byte W06 + .byte MOD , 3 + .byte BEND , c_v+26 + .byte W48 + .byte MOD , 0 + .byte N96 + .byte W48 + .byte MOD , 3 + .byte W36 + .byte BEND , c_v+24 + .byte W06 + .byte c_v+26 + .byte W06 + .byte MOD , 0 + .byte N96 + .byte W48 + .byte W03 + .byte BEND , c_v+24 + .byte W03 + .byte c_v+22 + .byte W03 + .byte c_v+21 + .byte W03 + .byte c_v+19 + .byte W03 + .byte c_v+18 + .byte W03 + .byte c_v+17 + .byte W03 + .byte c_v+16 + .byte W03 + .byte c_v+16 + .byte W03 + .byte c_v+14 + .byte W03 + .byte c_v+11 + .byte W03 + .byte c_v+9 + .byte W03 + .byte c_v+7 + .byte W03 + .byte c_v+5 + .byte W03 + .byte c_v+4 + .byte W03 + .byte c_v+2 + .byte W03 + .byte c_v-1 + .byte N96 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte MOD , 4 + .byte W48 + .byte BEND , c_v-4 + .byte W06 + .byte c_v+0 + .byte W30 + .byte N96 + .byte W36 + .byte W03 + .byte BEND , c_v+4 + .byte W09 + .byte c_v+0 + .byte W48 + .byte N96 + .byte W32 + .byte W01 + .byte BEND , c_v+2 + .byte W06 + .byte c_v+0 + .byte W56 + .byte W01 + .byte N96 + .byte W36 + .byte BEND , c_v-4 + .byte W12 + .byte c_v+0 + .byte W48 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N03 , Fn4 , v032 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte En4 + .byte W12 + .byte N03 + .byte W12 + .byte Ds4 + .byte W12 + .byte N03 + .byte W12 + .byte W12 + .byte N03 + .byte W12 + .byte Dn4 + .byte W12 + .byte N03 + .byte W60 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 4*mus_rg_otsukimi_mvl/mxv + .byte W48 + .byte 4*mus_rg_otsukimi_mvl/mxv + .byte BEND , c_v-16 + .byte N48 , Ds3 , v052 + .byte W03 + .byte VOL , 7*mus_rg_otsukimi_mvl/mxv + .byte W03 + .byte BEND , c_v-15 + .byte W03 + .byte VOL , 11*mus_rg_otsukimi_mvl/mxv + .byte W03 + .byte MOD , 5 + .byte VOL , 15*mus_rg_otsukimi_mvl/mxv + .byte BEND , c_v-13 + .byte W06 + .byte VOL , 17*mus_rg_otsukimi_mvl/mxv + .byte BEND , c_v-12 + .byte W06 + .byte VOL , 21*mus_rg_otsukimi_mvl/mxv + .byte BEND , c_v-9 + .byte W06 + .byte VOL , 24*mus_rg_otsukimi_mvl/mxv + .byte BEND , c_v-7 + .byte W03 + .byte VOL , 28*mus_rg_otsukimi_mvl/mxv + .byte W03 + .byte BEND , c_v-6 + .byte W06 + .byte VOL , 31*mus_rg_otsukimi_mvl/mxv + .byte BEND , c_v-3 + .byte W06 + .byte VOL , 34*mus_rg_otsukimi_mvl/mxv + .byte BEND , c_v+0 + .byte N96 , Ds3 , v040 + .byte W96 + .byte N96 + .byte W96 + .byte N96 + .byte W96 + .byte N96 + .byte W48 + .byte BEND , c_v-2 + .byte W06 + .byte c_v-2 + .byte W06 + .byte c_v-3 + .byte W06 + .byte c_v-5 + .byte W06 + .byte c_v-5 + .byte W12 + .byte c_v-7 + .byte W06 + .byte c_v-8 + .byte W03 + .byte c_v-9 + .byte W03 + .byte c_v-11 + .byte N96 + .byte W96 + .byte N96 + .byte W96 + .byte N96 + .byte W96 + .byte N96 + .byte W30 + .byte BEND , c_v-9 + .byte W06 + .byte c_v-6 + .byte W06 + .byte c_v-4 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+3 + .byte W06 + .byte c_v+6 + .byte W06 + .byte c_v+8 + .byte W06 + .byte c_v+10 + .byte W24 + .byte MOD , 4 + .byte N96 + .byte W96 + .byte N96 + .byte W96 + .byte MOD , 7 + .byte N96 + .byte W84 + .byte BEND , c_v+8 + .byte W12 + .byte N96 + .byte W12 + .byte BEND , c_v+6 + .byte W12 + .byte MOD , 0 + .byte BEND , c_v+5 + .byte W12 + .byte MOD , 4 + .byte W60 + .byte N96 + .byte W96 + .byte N96 + .byte W96 + .byte N96 + .byte W32 + .byte W01 + .byte VOL , 27*mus_rg_otsukimi_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 16*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 10*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 5*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 0*mus_rg_otsukimi_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte W92 + .byte W01 + .byte VOL , 32*mus_rg_otsukimi_mvl/mxv + .byte W03 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte BEND , c_v+1 + .byte W12 + .byte N12 , Bn3 , v024 + .byte W12 + .byte Ds4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Ds4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Ds4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Ds4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Ds4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Ds4 + .byte W12 + .byte GOTO + .word mus_rg_otsukimi_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_otsukimi_6: + .byte KEYSH , mus_rg_otsukimi_key+0 +mus_rg_otsukimi_6_B1: + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 34*mus_rg_otsukimi_mvl/mxv + .byte BEND , c_v+0 + .byte N96 , Ds4 , v040 + .byte W48 + .byte MOD , 3 + .byte W36 + .byte BEND , c_v+1 + .byte W12 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N96 + .byte W06 + .byte BEND , c_v-3 + .byte W06 + .byte c_v+0 + .byte W36 + .byte MOD , 3 + .byte W48 + .byte 0 + .byte N96 + .byte W36 + .byte BEND , c_v+2 + .byte W12 + .byte MOD , 3 + .byte BEND , c_v+0 + .byte W48 + .byte MOD , 0 + .byte N96 + .byte W36 + .byte BEND , c_v-3 + .byte W12 + .byte MOD , 3 + .byte BEND , c_v+0 + .byte W03 + .byte c_v+2 + .byte W03 + .byte c_v+5 + .byte W03 + .byte c_v+7 + .byte W03 + .byte c_v+8 + .byte W03 + .byte c_v+10 + .byte W03 + .byte c_v+11 + .byte W03 + .byte c_v+13 + .byte W03 + .byte c_v+16 + .byte W03 + .byte c_v+18 + .byte W03 + .byte c_v+20 + .byte W03 + .byte c_v+21 + .byte W03 + .byte c_v+22 + .byte W03 + .byte c_v+23 + .byte W03 + .byte c_v+25 + .byte W03 + .byte c_v+26 + .byte W03 + .byte MOD , 0 + .byte BEND , c_v+26 + .byte N96 + .byte W48 + .byte MOD , 3 + .byte W36 + .byte BEND , c_v+23 + .byte W06 + .byte c_v+26 + .byte W06 + .byte MOD , 0 + .byte N96 + .byte W36 + .byte BEND , c_v+27 + .byte W06 + .byte c_v+26 + .byte W06 + .byte MOD , 3 + .byte W48 + .byte 0 + .byte N96 + .byte W48 + .byte MOD , 3 + .byte W36 + .byte BEND , c_v+23 + .byte W12 + .byte MOD , 0 + .byte BEND , c_v+26 + .byte N96 + .byte W48 + .byte W03 + .byte BEND , c_v+24 + .byte W03 + .byte c_v+22 + .byte W03 + .byte c_v+21 + .byte W03 + .byte c_v+19 + .byte W03 + .byte c_v+18 + .byte W03 + .byte c_v+17 + .byte W03 + .byte c_v+16 + .byte W03 + .byte c_v+16 + .byte W03 + .byte c_v+14 + .byte W03 + .byte c_v+11 + .byte W03 + .byte c_v+9 + .byte W03 + .byte c_v+7 + .byte W03 + .byte c_v+5 + .byte W03 + .byte c_v+4 + .byte W03 + .byte c_v+2 + .byte W03 + .byte c_v-1 + .byte N96 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte MOD , 4 + .byte W21 + .byte BEND , c_v+3 + .byte W06 + .byte c_v+0 + .byte W48 + .byte W03 + .byte c_v-3 + .byte W06 + .byte c_v+0 + .byte N96 + .byte W60 + .byte BEND , c_v+3 + .byte W06 + .byte c_v+0 + .byte W30 + .byte N96 + .byte W60 + .byte BEND , c_v-6 + .byte W06 + .byte c_v+0 + .byte W30 + .byte N96 + .byte W12 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte W66 + .byte c_v+4 + .byte W06 + .byte c_v+0 + .byte W06 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N03 , Gs4 , v032 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte An4 + .byte W12 + .byte N03 + .byte W12 + .byte As4 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Bn4 + .byte W12 + .byte N03 + .byte W60 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 4*mus_rg_otsukimi_mvl/mxv + .byte W48 + .byte 4*mus_rg_otsukimi_mvl/mxv + .byte BEND , c_v-22 + .byte N48 , Cs4 , v052 + .byte W03 + .byte VOL , 7*mus_rg_otsukimi_mvl/mxv + .byte W03 + .byte BEND , c_v-18 + .byte W03 + .byte MOD , 4 + .byte VOL , 11*mus_rg_otsukimi_mvl/mxv + .byte W03 + .byte 15*mus_rg_otsukimi_mvl/mxv + .byte BEND , c_v-13 + .byte W06 + .byte VOL , 17*mus_rg_otsukimi_mvl/mxv + .byte BEND , c_v-10 + .byte W06 + .byte VOL , 21*mus_rg_otsukimi_mvl/mxv + .byte BEND , c_v-8 + .byte W06 + .byte VOL , 24*mus_rg_otsukimi_mvl/mxv + .byte BEND , c_v-5 + .byte W03 + .byte VOL , 28*mus_rg_otsukimi_mvl/mxv + .byte W03 + .byte BEND , c_v-3 + .byte W06 + .byte VOL , 31*mus_rg_otsukimi_mvl/mxv + .byte BEND , c_v-2 + .byte W06 + .byte VOL , 34*mus_rg_otsukimi_mvl/mxv + .byte BEND , c_v+0 + .byte N96 , Cs4 , v040 + .byte W96 + .byte N96 + .byte W96 + .byte N96 + .byte W96 + .byte N96 + .byte W48 + .byte BEND , c_v-4 + .byte W06 + .byte c_v-7 + .byte W06 + .byte c_v-10 + .byte W06 + .byte c_v-12 + .byte W06 + .byte c_v-15 + .byte W06 + .byte c_v-19 + .byte W06 + .byte c_v-23 + .byte W06 + .byte c_v-26 + .byte W06 + .byte c_v-32 + .byte N96 + .byte W96 + .byte N96 + .byte W96 + .byte N96 + .byte W96 + .byte N96 + .byte W44 + .byte W01 + .byte BEND , c_v-27 + .byte W03 + .byte c_v-22 + .byte W03 + .byte c_v-16 + .byte W03 + .byte c_v-11 + .byte W03 + .byte c_v-6 + .byte W03 + .byte c_v-2 + .byte W03 + .byte c_v+2 + .byte W03 + .byte c_v+5 + .byte W03 + .byte c_v+9 + .byte W03 + .byte c_v+14 + .byte W03 + .byte c_v+19 + .byte W03 + .byte c_v+22 + .byte W03 + .byte c_v+25 + .byte W03 + .byte c_v+29 + .byte W03 + .byte c_v+33 + .byte W03 + .byte c_v+37 + .byte W03 + .byte c_v+39 + .byte W03 + .byte MOD , 4 + .byte BEND , c_v+42 + .byte N96 + .byte W96 + .byte N96 + .byte W96 + .byte MOD , 7 + .byte N96 + .byte W54 + .byte BEND , c_v+40 + .byte W06 + .byte c_v+40 + .byte W06 + .byte c_v+37 + .byte W06 + .byte c_v+36 + .byte W06 + .byte c_v+33 + .byte W06 + .byte c_v+32 + .byte W06 + .byte c_v+28 + .byte W06 + .byte MOD , 0 + .byte BEND , c_v+26 + .byte N96 + .byte W24 + .byte MOD , 0 + .byte W12 + .byte 4 + .byte W60 + .byte N96 + .byte W96 + .byte N96 + .byte W96 + .byte N96 + .byte W32 + .byte W01 + .byte VOL , 27*mus_rg_otsukimi_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 16*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 10*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 5*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 0*mus_rg_otsukimi_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte W96 + .byte VOL , 34*mus_rg_otsukimi_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W60 + .byte N12 , Bn2 , v032 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte GOTO + .word mus_rg_otsukimi_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_otsukimi_7: + .byte KEYSH , mus_rg_otsukimi_key+0 +mus_rg_otsukimi_7_B1: + .byte VOICE , 0 + .byte VOL , 44*mus_rg_otsukimi_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte VOL , 22*mus_rg_otsukimi_mvl/mxv + .byte N96 , Cn3 , v052 + .byte W12 + .byte VOL , 25*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 27*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 29*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 34*mus_rg_otsukimi_mvl/mxv + .byte W09 + .byte 38*mus_rg_otsukimi_mvl/mxv + .byte W15 + .byte 39*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 41*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 44*mus_rg_otsukimi_mvl/mxv + .byte N48 , Gn2 , v076 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 25*mus_rg_otsukimi_mvl/mxv + .byte N96 , Cn3 , v052 + .byte W09 + .byte VOL , 26*mus_rg_otsukimi_mvl/mxv + .byte W09 + .byte 29*mus_rg_otsukimi_mvl/mxv + .byte W06 + .byte 34*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 35*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 39*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 42*mus_rg_otsukimi_mvl/mxv + .byte W12 + .byte 45*mus_rg_otsukimi_mvl/mxv + .byte W24 + .byte N48 , An2 , v076 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W12 + .byte W12 + .byte W12 + .byte W12 + .byte W12 + .byte GOTO + .word mus_rg_otsukimi_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_otsukimi: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_otsukimi_pri @ Priority + .byte mus_rg_otsukimi_rev @ Reverb. + + .word mus_rg_otsukimi_grp + + .word mus_rg_otsukimi_1 + .word mus_rg_otsukimi_2 + .word mus_rg_otsukimi_3 + .word mus_rg_otsukimi_4 + .word mus_rg_otsukimi_5 + .word mus_rg_otsukimi_6 + .word mus_rg_otsukimi_7 + + .end diff --git a/sound/songs/mus_rg_p_tower.s b/sound/songs/mus_rg_p_tower.s new file mode 100644 index 0000000000..dffe893b7c --- /dev/null +++ b/sound/songs/mus_rg_p_tower.s @@ -0,0 +1,1639 @@ + .include "MPlayDef.s" + + .equ mus_rg_p_tower_grp, voicegroup_86AC538 + .equ mus_rg_p_tower_pri, 0 + .equ mus_rg_p_tower_rev, reverb_set+50 + .equ mus_rg_p_tower_mvl, 127 + .equ mus_rg_p_tower_key, 0 + .equ mus_rg_p_tower_tbs, 1 + .equ mus_rg_p_tower_exg, 0 + .equ mus_rg_p_tower_cmp, 1 + + .section .rodata + .global mus_rg_p_tower + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_p_tower_1: + .byte KEYSH , mus_rg_p_tower_key+0 + .byte TEMPO , 134*mus_rg_p_tower_tbs/2 + .byte VOICE , 17 + .byte PAN , c_v+32 + .byte VOL , 68*mus_rg_p_tower_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte W24 + .byte N72 , Cn6 , v080 + .byte W72 +mus_rg_p_tower_1_B1: + .byte VOICE , 1 + .byte VOL , 45*mus_rg_p_tower_mvl/mxv + .byte N06 , Gs4 , v127 + .byte W44 + .byte W02 + .byte N06 + .byte W48 + .byte Cn4 + .byte W02 + .byte VOICE , 1 + .byte VOL , 39*mus_rg_p_tower_mvl/mxv + .byte W44 + .byte W02 + .byte N06 , Cs4 + .byte W24 + .byte Cn4 + .byte W24 + .byte N06 + .byte W02 + .byte W44 + .byte W02 + .byte N06 + .byte W48 + .byte Cs4 + .byte W02 + .byte W44 + .byte W02 + .byte Gn4 + .byte W48 + .byte Cs4 + .byte W02 + .byte W04 + .byte Cn4 + .byte W06 + .byte Gs3 + .byte W36 + .byte Fn3 + .byte W48 + .byte N06 + .byte W02 + .byte W44 + .byte W02 + .byte Gn3 + .byte W48 + .byte Fn3 + .byte W02 + .byte W44 + .byte W02 + .byte Gs3 + .byte W48 + .byte N06 + .byte W02 +mus_rg_p_tower_1_000: + .byte W44 + .byte W02 + .byte N06 , Gn3 , v127 + .byte W48 + .byte N06 + .byte W02 + .byte PEND + .byte W44 + .byte W02 + .byte Gs3 + .byte W48 + .byte Fn3 + .byte W02 + .byte W44 + .byte W02 + .byte Ds3 + .byte W48 + .byte Fn3 + .byte W02 + .byte PATT + .word mus_rg_p_tower_1_000 + .byte W44 + .byte W02 + .byte N06 , Gn3 , v127 + .byte W48 + .byte Cn4 + .byte W02 + .byte W44 + .byte W02 + .byte N06 + .byte W44 + .byte W01 + .byte N06 + .byte W05 + .byte W42 + .byte W01 + .byte N06 + .byte W48 + .byte W03 + .byte Dn4 + .byte W02 + .byte W44 + .byte W02 + .byte N06 + .byte W48 + .byte Cs4 + .byte W02 + .byte W44 + .byte W02 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte Ds4 + .byte W02 + .byte W44 + .byte W02 + .byte N06 + .byte W48 + .byte As3 + .byte W02 + .byte W44 + .byte W02 + .byte N06 + .byte W48 + .byte N48 , Cn4 + .byte W02 + .byte W44 + .byte W02 + .byte N48 + .byte W48 + .byte Cs4 + .byte W02 + .byte W44 + .byte W02 + .byte N48 + .byte W48 + .byte Dn4 + .byte W02 + .byte W44 + .byte W02 + .byte N48 + .byte W48 + .byte N96 , Ds4 + .byte W02 + .byte W96 + .byte VOICE , 58 + .byte MOD , 10 + .byte PAN , c_v-30 + .byte BEND , c_v+1 + .byte N06 , Gn4 , v068 + .byte W24 + .byte N06 + .byte W24 + .byte Gs4 , v080 + .byte W24 + .byte Gn4 , v084 + .byte W24 + .byte Gn4 , v100 + .byte W96 + .byte MOD , 13 + .byte PAN , c_v+32 + .byte BEND , c_v+1 + .byte N06 , Gn4 , v088 + .byte W24 + .byte N06 + .byte W24 + .byte Gs4 , v100 + .byte W24 + .byte Gn4 , v104 + .byte W24 + .byte BEND , c_v+0 + .byte N06 , Gn4 , v112 + .byte W96 + .byte VOICE , 1 + .byte MOD , 0 + .byte N24 , Cn5 , v100 + .byte W24 + .byte Fn5 + .byte W24 + .byte Ds5 + .byte W24 + .byte Cs5 + .byte W24 +mus_rg_p_tower_1_001: + .byte N24 , Cn5 , v100 + .byte W24 + .byte Fn5 + .byte W24 + .byte Ds5 + .byte W24 + .byte Cs5 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_p_tower_1_001 + .byte N24 , Cn5 , v100 + .byte W24 + .byte Gs4 + .byte W24 + .byte Gn4 + .byte W24 + .byte Fn4 + .byte W24 + .byte TIE , Cs5 + .byte W96 + .byte W96 + .byte EOT + .byte GOTO + .word mus_rg_p_tower_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_p_tower_2: + .byte KEYSH , mus_rg_p_tower_key+0 + .byte VOICE , 17 + .byte PAN , c_v+0 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 90*mus_rg_p_tower_mvl/mxv + .byte N72 , Cs6 , v080 + .byte W24 + .byte VOL , 85*mus_rg_p_tower_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 74*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 70*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N24 , Fn5 + .byte W24 +mus_rg_p_tower_2_B1: + .byte VOICE , 24 + .byte VOL , 90*mus_rg_p_tower_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Cs5 , v096 + .byte W09 + .byte MOD , 7 + .byte W09 + .byte VOL , 85*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 79*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 73*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 68*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N12 , Cn5 , v088 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte VOICE , 24 + .byte MOD , 0 + .byte N06 , Gs3 , v127 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte VOICE , 75 + .byte VOL , 90*mus_rg_p_tower_mvl/mxv + .byte N48 , Gs3 , v092 + .byte W18 + .byte VOL , 85*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 79*mus_rg_p_tower_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 73*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 68*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N48 , Cs4 , v096 + .byte W18 + .byte VOL , 85*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 79*mus_rg_p_tower_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 73*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 68*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N24 , Cn4 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Gs3 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Fn3 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Gs3 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte BEND , c_v+5 + .byte N96 , Cs4 + .byte W03 + .byte BEND , c_v+0 + .byte W15 + .byte VOL , 85*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W03 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 73*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 68*mus_rg_p_tower_mvl/mxv + .byte W60 + .byte VOICE , 24 + .byte VOL , 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N06 , Gs3 , v127 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W12 + .byte VOICE , 17 + .byte VOL , 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Gs4 , v092 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Cn5 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Gs4 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Cn5 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Cs5 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Cn5 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N96 , Cs5 + .byte W18 + .byte VOL , 85*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W03 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 73*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 68*mus_rg_p_tower_mvl/mxv + .byte W60 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte TIE , Fn5 + .byte W18 + .byte VOL , 85*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W03 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 73*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 68*mus_rg_p_tower_mvl/mxv + .byte W60 + .byte MOD , 0 + .byte W18 + .byte EOT + .byte VOICE , 75 + .byte VOL , 90*mus_rg_p_tower_mvl/mxv + .byte BEND , c_v-9 + .byte N30 , Cs4 , v096 + .byte W03 + .byte BEND , c_v-5 + .byte W03 + .byte c_v+0 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Cn4 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Gs3 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Cn4 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Gs3 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Gn3 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Fn3 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N72 , Gn3 + .byte W18 + .byte VOL , 85*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W03 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 73*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 68*mus_rg_p_tower_mvl/mxv + .byte W36 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N24 , Gs3 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N96 , Gn3 + .byte W18 + .byte VOL , 85*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W03 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 73*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 68*mus_rg_p_tower_mvl/mxv + .byte W60 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N24 , Cn4 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Gs3 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Gn3 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Fn3 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N96 , Cn4 + .byte W18 + .byte VOL , 85*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W03 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 73*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 68*mus_rg_p_tower_mvl/mxv + .byte W60 + .byte VOICE , 17 + .byte VOL , 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N24 , Cs6 , v068 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Gs5 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Gn5 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Fn5 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N96 , Cs6 + .byte W18 + .byte VOL , 85*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W03 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 73*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 68*mus_rg_p_tower_mvl/mxv + .byte W60 + .byte VOICE , 48 + .byte VOL , 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N24 , Ds5 , v060 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , As4 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , An4 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Gn4 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N96 , Ds5 + .byte W18 + .byte VOL , 85*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W03 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 73*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 68*mus_rg_p_tower_mvl/mxv + .byte W60 + .byte VOICE , 75 + .byte VOL , 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N24 , Fn4 , v096 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Cn4 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , As3 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Gs3 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Fs4 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Cs4 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Bn3 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , An3 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Gn4 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Ds4 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Cs4 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Bn3 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , An3 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Gn3 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Fn3 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte N24 , Ds3 + .byte W12 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte TIE , Cs3 + .byte W24 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte MOD , 7 + .byte W24 + .byte VOL , 72*mus_rg_p_tower_mvl/mxv + .byte W24 + .byte 68*mus_rg_p_tower_mvl/mxv + .byte W24 +mus_rg_p_tower_2_000: + .byte VOL , 62*mus_rg_p_tower_mvl/mxv + .byte W24 + .byte 56*mus_rg_p_tower_mvl/mxv + .byte W24 + .byte 50*mus_rg_p_tower_mvl/mxv + .byte W24 + .byte 45*mus_rg_p_tower_mvl/mxv + .byte W24 + .byte PEND + .byte W96 + .byte EOT , Cs3 + .byte MOD , 0 + .byte W96 + .byte VOICE , 78 + .byte VOL , 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N96 , Gs3 , v032 + .byte W18 + .byte VOL , 85*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte MOD , 11 + .byte W03 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 73*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 68*mus_rg_p_tower_mvl/mxv + .byte W60 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N96 , Cs4 + .byte W18 + .byte VOL , 85*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte MOD , 11 + .byte W03 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 73*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 68*mus_rg_p_tower_mvl/mxv + .byte W60 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N48 , Cn4 + .byte W15 + .byte MOD , 11 + .byte W03 + .byte VOL , 85*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 79*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 73*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 68*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N48 , Gs3 + .byte W15 + .byte MOD , 11 + .byte W03 + .byte VOL , 85*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 79*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 73*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 68*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N48 , Fn3 + .byte W15 + .byte MOD , 11 + .byte W03 + .byte VOL , 85*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 79*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 73*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 68*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N48 , Gs3 + .byte W15 + .byte MOD , 11 + .byte W03 + .byte VOL , 85*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 79*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 73*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 68*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 90*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte TIE , Cs4 + .byte W24 + .byte VOL , 79*mus_rg_p_tower_mvl/mxv + .byte MOD , 11 + .byte W24 + .byte VOL , 72*mus_rg_p_tower_mvl/mxv + .byte W24 + .byte 68*mus_rg_p_tower_mvl/mxv + .byte W24 + .byte PATT + .word mus_rg_p_tower_2_000 + .byte EOT , Cs4 + .byte GOTO + .word mus_rg_p_tower_2_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_p_tower_3: + .byte KEYSH , mus_rg_p_tower_key+0 + .byte VOICE , 17 + .byte PAN , c_v-32 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 63*mus_rg_p_tower_mvl/mxv + .byte W48 + .byte N48 , Gs5 , v080 + .byte W48 +mus_rg_p_tower_3_B1: + .byte VOICE , 24 + .byte VOL , 53*mus_rg_p_tower_mvl/mxv + .byte N06 , Fn4 , v127 + .byte W48 + .byte N06 + .byte W48 + .byte VOICE , 24 + .byte VOL , 48*mus_rg_p_tower_mvl/mxv + .byte N06 + .byte W48 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W48 + .byte Gs4 + .byte W48 + .byte Fn4 + .byte W48 + .byte Cs5 + .byte W48 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Cn4 + .byte W36 + .byte N06 + .byte W48 +mus_rg_p_tower_3_000: + .byte N06 , Cn4 , v127 + .byte W48 + .byte N06 + .byte W48 + .byte PEND +mus_rg_p_tower_3_001: + .byte N06 , Cs4 , v127 + .byte W48 + .byte N06 + .byte W48 + .byte PEND + .byte PATT + .word mus_rg_p_tower_3_001 + .byte PATT + .word mus_rg_p_tower_3_000 + .byte PATT + .word mus_rg_p_tower_3_000 + .byte N06 , Cs4 , v127 + .byte W48 + .byte Dn4 + .byte W48 + .byte N06 + .byte W48 + .byte Cs4 + .byte W48 +mus_rg_p_tower_3_002: + .byte N06 , Fn4 , v127 + .byte W48 + .byte N06 + .byte W48 + .byte PEND + .byte PATT + .word mus_rg_p_tower_3_002 + .byte PATT + .word mus_rg_p_tower_3_002 + .byte N06 , Fn4 , v127 + .byte W48 + .byte N06 + .byte W24 + .byte Gs4 + .byte W24 +mus_rg_p_tower_3_003: + .byte N06 , Gn4 , v127 + .byte W48 + .byte N06 + .byte W48 + .byte PEND + .byte Ds4 + .byte W48 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte En4 + .byte W12 + .byte PATT + .word mus_rg_p_tower_3_002 + .byte N06 , Fs4 , v127 + .byte W48 + .byte N06 + .byte W48 + .byte PATT + .word mus_rg_p_tower_3_003 + .byte N06 , Gs4 , v127 + .byte W96 +mus_rg_p_tower_3_004: + .byte N06 , Gn3 , v127 + .byte W24 + .byte N06 + .byte W24 + .byte Gs3 + .byte W24 + .byte Gn3 + .byte W24 + .byte PEND + .byte N06 + .byte W96 + .byte PATT + .word mus_rg_p_tower_3_004 + .byte N06 , Gn3 , v127 + .byte W48 + .byte Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Gn5 + .byte W12 + .byte En5 + .byte W12 + .byte VOICE , 14 + .byte N48 , Fn4 , v076 + .byte W48 + .byte Fn4 , v028 + .byte W48 +mus_rg_p_tower_3_005: + .byte N48 , Fn4 , v076 + .byte W48 + .byte Fn4 , v028 + .byte W48 + .byte PEND + .byte PATT + .word mus_rg_p_tower_3_005 + .byte PATT + .word mus_rg_p_tower_3_005 + .byte N48 , Fn4 , v076 + .byte W48 + .byte Fn4 , v032 + .byte W48 + .byte Fn4 , v076 + .byte W48 + .byte VOICE , 24 + .byte N06 , Fn4 , v127 + .byte W12 + .byte En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte GOTO + .word mus_rg_p_tower_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_p_tower_4: + .byte KEYSH , mus_rg_p_tower_key+0 + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 34*mus_rg_p_tower_mvl/mxv + .byte W96 +mus_rg_p_tower_4_B1: + .byte VOL , 34*mus_rg_p_tower_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Fn1 , v096 + .byte W48 + .byte N06 + .byte W24 + .byte N24 , Gs1 + .byte W06 + .byte MOD , 11 + .byte W03 + .byte VOL , 28*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 22*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 18*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 13*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 34*mus_rg_p_tower_mvl/mxv + .byte N06 , Fn1 + .byte W48 + .byte N06 + .byte W48 + .byte N06 + .byte W48 + .byte N06 + .byte W48 + .byte N06 + .byte W48 + .byte N06 + .byte W24 + .byte N24 , Cn1 + .byte W06 + .byte MOD , 11 + .byte W03 + .byte VOL , 28*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 22*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 18*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 13*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 34*mus_rg_p_tower_mvl/mxv + .byte N06 , Cs2 + .byte W06 + .byte Cn2 + .byte W06 + .byte Gs1 + .byte W36 + .byte Fn1 + .byte W24 + .byte N24 , Gs1 + .byte W09 + .byte VOL , 28*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 22*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 18*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 13*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte N06 , Fn1 + .byte W48 + .byte Gn1 + .byte W48 + .byte Gs1 + .byte W48 + .byte Fn1 + .byte W48 + .byte Cs2 + .byte W48 + .byte Gs1 + .byte W24 + .byte N24 , Fn1 + .byte W09 + .byte VOL , 28*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 22*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 18*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 13*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte N06 , Gn1 + .byte W48 + .byte Gs1 + .byte W24 + .byte N24 + .byte W09 + .byte VOL , 28*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 22*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 18*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 13*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte N06 , Fn1 , v127 + .byte W48 + .byte Ds1 + .byte W48 + .byte Fn1 + .byte W48 + .byte Gs1 + .byte W48 + .byte N06 + .byte W48 + .byte Gn1 + .byte W24 + .byte N24 , Cn1 , v096 + .byte W09 + .byte VOL , 28*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 22*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 18*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 13*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte N06 , Cn2 , v127 + .byte W48 + .byte N06 + .byte W24 + .byte N24 , Fn1 , v096 + .byte W09 + .byte VOL , 28*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 22*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 18*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 13*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte N06 , Cn2 , v127 + .byte W48 + .byte N06 + .byte W24 + .byte N24 , Fn1 , v120 + .byte W24 + .byte N06 , Dn2 , v127 + .byte W48 + .byte N06 + .byte W24 + .byte N24 , Fn1 , v120 + .byte W09 + .byte VOL , 28*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 22*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 18*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 13*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte N06 , Cs2 , v127 + .byte W48 + .byte N06 + .byte W24 + .byte N24 , Cs1 , v096 + .byte W09 + .byte VOL , 28*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 22*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 18*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 13*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte N06 , Ds2 , v127 + .byte W48 + .byte N06 + .byte W24 + .byte N24 , Ds1 , v096 + .byte W09 + .byte VOL , 28*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 22*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 18*mus_rg_p_tower_mvl/mxv + .byte W03 + .byte 13*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte N06 , As1 , v127 + .byte W48 + .byte N06 + .byte W48 + .byte N48 , Cn2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte MOD , 16 + .byte W12 + .byte VOL , 34*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N48 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte MOD , 16 + .byte W12 + .byte VOL , 34*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N48 , Cs2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte MOD , 16 + .byte W12 + .byte VOL , 34*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N48 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte MOD , 16 + .byte W12 + .byte VOL , 34*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N48 , Dn2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte MOD , 16 + .byte W12 + .byte VOL , 34*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N48 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W12 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte MOD , 16 + .byte W12 + .byte VOL , 34*mus_rg_p_tower_mvl/mxv + .byte MOD , 0 + .byte N96 , Ds2 + .byte W12 + .byte MOD , 6 + .byte BEND , c_v-5 + .byte W06 + .byte c_v-9 + .byte W06 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte BEND , c_v-16 + .byte W06 + .byte c_v-21 + .byte W06 + .byte VOL , 17*mus_rg_p_tower_mvl/mxv + .byte MOD , 16 + .byte BEND , c_v-25 + .byte W06 + .byte c_v-28 + .byte W06 + .byte VOL , 11*mus_rg_p_tower_mvl/mxv + .byte BEND , c_v-32 + .byte W06 + .byte c_v-36 + .byte W06 + .byte c_v-43 + .byte W06 + .byte c_v-48 + .byte W06 + .byte c_v-55 + .byte W06 + .byte c_v-60 + .byte W06 + .byte c_v-64 + .byte W12 + .byte MOD , 0 + .byte VOL , 34*mus_rg_p_tower_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 34*mus_rg_p_tower_mvl/mxv + .byte PAN , c_v-64 + .byte N24 , Cn5 , v064 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte PAN , c_v+63 + .byte N24 , Fn5 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte PAN , c_v-64 + .byte N24 , Ds5 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte PAN , c_v+63 + .byte N24 , Cs5 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte N24 , Cn5 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte PAN , c_v-64 + .byte N24 , Fn5 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte PAN , c_v+63 + .byte N24 , Ds5 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte PAN , c_v-64 + .byte N24 , Cs5 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte N24 , Cn5 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte PAN , c_v+63 + .byte N24 , Fn5 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte PAN , c_v-64 + .byte N24 , Ds5 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte PAN , c_v+63 + .byte N24 , Cs5 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte N24 , Cn5 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte PAN , c_v-64 + .byte N24 , Gs4 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte PAN , c_v+63 + .byte N24 , Gn4 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte PAN , c_v-64 + .byte N24 , Fn4 + .byte W12 + .byte VOL , 22*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte W06 + .byte 34*mus_rg_p_tower_mvl/mxv + .byte PAN , c_v+0 + .byte TIE , Cs5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 27*mus_rg_p_tower_mvl/mxv + .byte W24 + .byte 22*mus_rg_p_tower_mvl/mxv + .byte W24 + .byte 17*mus_rg_p_tower_mvl/mxv + .byte W24 + .byte 11*mus_rg_p_tower_mvl/mxv + .byte W96 + .byte EOT + .byte GOTO + .word mus_rg_p_tower_4_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_p_tower_5: + .byte KEYSH , mus_rg_p_tower_key+0 + .byte VOL , 55*mus_rg_p_tower_mvl/mxv + .byte PAN , c_v+18 + .byte W96 +mus_rg_p_tower_5_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte N06 , Fn5 , v060 + .byte W12 + .byte En5 + .byte W12 + .byte Gn5 + .byte W12 + .byte En5 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 73 + .byte W96 + .byte W48 + .byte MOD , 8 + .byte N06 , Fn4 , v080 + .byte W12 + .byte En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte GOTO + .word mus_rg_p_tower_5_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_p_tower_6: + .byte KEYSH , mus_rg_p_tower_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 78*mus_rg_p_tower_mvl/mxv + .byte W96 +mus_rg_p_tower_6_B1: + .byte N24 , Ds5 , v120 + .byte W48 + .byte Ds5 , v096 + .byte W24 + .byte Ds3 , v124 + .byte W24 +mus_rg_p_tower_6_000: + .byte N24 , Ds5 , v120 + .byte W24 + .byte Cs3 , v096 + .byte W24 + .byte Ds5 , v120 + .byte W48 + .byte PEND +mus_rg_p_tower_6_001: + .byte N24 , Ds5 , v120 + .byte W48 + .byte N24 + .byte W24 + .byte Cs3 , v096 + .byte W24 + .byte PEND +mus_rg_p_tower_6_002: + .byte N24 , Ds5 , v120 + .byte W24 + .byte N24 + .byte W24 + .byte Dn5 , v080 + .byte W24 + .byte Ds3 , v096 + .byte W24 + .byte PEND +mus_rg_p_tower_6_003: + .byte N24 , Ds5 , v120 + .byte W48 + .byte N24 + .byte W24 + .byte Ds3 , v096 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_p_tower_6_000 + .byte PATT + .word mus_rg_p_tower_6_001 + .byte PATT + .word mus_rg_p_tower_6_002 + .byte PATT + .word mus_rg_p_tower_6_003 + .byte PATT + .word mus_rg_p_tower_6_000 + .byte PATT + .word mus_rg_p_tower_6_001 + .byte PATT + .word mus_rg_p_tower_6_002 + .byte PATT + .word mus_rg_p_tower_6_003 + .byte PATT + .word mus_rg_p_tower_6_000 + .byte PATT + .word mus_rg_p_tower_6_001 + .byte PATT + .word mus_rg_p_tower_6_002 + .byte PATT + .word mus_rg_p_tower_6_002 + .byte PATT + .word mus_rg_p_tower_6_003 + .byte PATT + .word mus_rg_p_tower_6_000 + .byte PATT + .word mus_rg_p_tower_6_001 + .byte N24 , Ds5 , v120 + .byte W24 + .byte N24 + .byte W24 + .byte Dn5 , v080 + .byte W24 + .byte Ds3 , v100 + .byte W24 + .byte PATT + .word mus_rg_p_tower_6_002 + .byte PATT + .word mus_rg_p_tower_6_003 + .byte PATT + .word mus_rg_p_tower_6_000 + .byte PATT + .word mus_rg_p_tower_6_001 + .byte PATT + .word mus_rg_p_tower_6_002 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_p_tower_6_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_p_tower: + .byte 6 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_p_tower_pri @ Priority + .byte mus_rg_p_tower_rev @ Reverb. + + .word mus_rg_p_tower_grp + + .word mus_rg_p_tower_1 + .word mus_rg_p_tower_2 + .word mus_rg_p_tower_3 + .word mus_rg_p_tower_4 + .word mus_rg_p_tower_5 + .word mus_rg_p_tower_6 + + .end diff --git a/sound/songs/mus_rg_pokecen.s b/sound/songs/mus_rg_pokecen.s new file mode 100644 index 0000000000..0115a3d771 --- /dev/null +++ b/sound/songs/mus_rg_pokecen.s @@ -0,0 +1,1897 @@ + .include "MPlayDef.s" + + .equ mus_rg_pokecen_grp, voicegroup_86AB4DC + .equ mus_rg_pokecen_pri, 0 + .equ mus_rg_pokecen_rev, reverb_set+50 + .equ mus_rg_pokecen_mvl, 127 + .equ mus_rg_pokecen_key, 0 + .equ mus_rg_pokecen_tbs, 1 + .equ mus_rg_pokecen_exg, 0 + .equ mus_rg_pokecen_cmp, 1 + + .section .rodata + .global mus_rg_pokecen + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_pokecen_1: + .byte KEYSH , mus_rg_pokecen_key+0 +mus_rg_pokecen_1_B1: + .byte TEMPO , 116*mus_rg_pokecen_tbs/2 + .byte VOICE , 4 + .byte PAN , c_v-32 + .byte VOL , 33*mus_rg_pokecen_mvl/mxv + .byte N12 , An3 , v127 + .byte W12 + .byte Gs3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Fn4 + .byte W24 + .byte N12 , En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 +mus_rg_pokecen_1_000: + .byte N12 , Dn4 , v127 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PEND +mus_rg_pokecen_1_001: + .byte N12 , Cn4 , v127 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte PEND + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte N03 , Dn4 + .byte W03 + .byte En4 , v120 + .byte W03 + .byte N06 , Dn4 + .byte W06 + .byte N12 , Cn4 , v127 + .byte W12 + .byte An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Fn4 + .byte W24 + .byte N12 , En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte PATT + .word mus_rg_pokecen_1_000 + .byte PATT + .word mus_rg_pokecen_1_001 + .byte N12 , An3 , v127 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , As3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N48 , Cn4 + .byte W48 + .byte N12 , Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte N12 , As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte GOTO + .word mus_rg_pokecen_1_B1 + .byte W96 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_pokecen_2: + .byte KEYSH , mus_rg_pokecen_key+0 +mus_rg_pokecen_2_B1: + .byte VOICE , 17 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte MOD , 0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte N12 , Fn5 , v096 + .byte W12 + .byte Cn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N24 , Cn6 + .byte W12 + .byte MOD , 7 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte N24 , As5 + .byte W12 + .byte MOD , 7 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte N12 , An5 + .byte W12 +mus_rg_pokecen_2_000: + .byte N12 , Gn5 , v096 + .byte W12 + .byte N36 , En5 + .byte W12 + .byte MOD , 7 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 60*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte 48*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte W48 + .byte PEND +mus_rg_pokecen_2_001: + .byte N12 , En5 , v096 + .byte W12 + .byte Cn5 + .byte W12 + .byte En5 + .byte W12 + .byte N24 , An5 + .byte W12 + .byte MOD , 7 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte N24 , Gn5 + .byte W12 + .byte MOD , 7 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte N12 , En5 + .byte W12 + .byte PEND + .byte Fn5 + .byte W12 + .byte N36 , An5 + .byte W12 + .byte MOD , 7 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 60*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte 48*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte W48 + .byte N12 , Fn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N24 , Cn6 + .byte W12 + .byte MOD , 7 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte N24 , As5 + .byte W12 + .byte MOD , 7 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte N12 , An5 + .byte W12 + .byte PATT + .word mus_rg_pokecen_2_000 + .byte PATT + .word mus_rg_pokecen_2_001 + .byte N48 , Fn5 , v096 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 60*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte 48*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte W24 + .byte N24 , Gn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N48 , An5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 60*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte 48*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte N48 , Cn6 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 60*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte 48*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte N12 , As5 + .byte W12 + .byte Cn6 + .byte W12 + .byte N03 , As5 + .byte W03 + .byte Cn6 + .byte W03 + .byte N06 , As5 + .byte W06 + .byte N12 , An5 + .byte W12 + .byte N48 , Gn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 60*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte 48*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte N48 , En5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 60*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte 48*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte N48 , Gn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 60*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte 48*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte N12 , An5 + .byte W12 + .byte As5 + .byte W12 + .byte An5 + .byte W12 + .byte Gn5 + .byte W12 + .byte N48 , Fn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 60*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte 48*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte N48 , An5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 60*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte 48*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte N48 , Cn6 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 60*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte 48*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte N12 , As5 + .byte W12 + .byte An5 + .byte W12 + .byte As5 + .byte W12 + .byte Cn6 + .byte W12 + .byte N48 , Dn6 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 60*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte 48*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte N24 , Cn6 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , As5 + .byte W12 + .byte An5 + .byte W12 + .byte N48 , As5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 60*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte 48*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte N12 , An5 + .byte W12 + .byte As5 + .byte W12 + .byte An5 + .byte W12 + .byte Gn5 + .byte W12 + .byte N48 , Fn5 + .byte W15 + .byte MOD , 7 + .byte W09 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 60*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte 48*mus_rg_pokecen_mvl/mxv + .byte W06 + .byte GOTO + .word mus_rg_pokecen_2_B1 + .byte W24 + .byte MOD , 0 + .byte VOL , 84*mus_rg_pokecen_mvl/mxv + .byte W72 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_pokecen_3: + .byte KEYSH , mus_rg_pokecen_key+0 +mus_rg_pokecen_3_B1: + .byte VOICE , 81 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 30*mus_rg_pokecen_mvl/mxv + .byte PAN , c_v+32 + .byte N06 , Fn3 , v127 + .byte W12 + .byte An3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , As3 + .byte W12 + .byte An3 + .byte W12 +mus_rg_pokecen_3_000: + .byte PAN , c_v+32 + .byte N06 , Gn3 , v127 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v-33 + .byte N06 , Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PEND +mus_rg_pokecen_3_001: + .byte PAN , c_v+32 + .byte N06 , Gn3 , v127 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PEND + .byte PAN , c_v+32 + .byte N06 , An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v-33 + .byte N06 , As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , As3 + .byte W12 + .byte An3 + .byte W12 + .byte PATT + .word mus_rg_pokecen_3_000 + .byte PATT + .word mus_rg_pokecen_3_001 + .byte PAN , c_v+32 + .byte N06 , Fn3 , v127 + .byte W12 + .byte An3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Fn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte PAN , c_v-33 + .byte N06 , Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte VOICE , 48 + .byte PAN , c_v+32 + .byte N06 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , As2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , As2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , As2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-33 + .byte N12 , As2 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Gn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Gn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Gn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v-33 + .byte N06 , Bn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , As2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , As2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , As2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-33 + .byte N06 , As2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , An2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v-33 + .byte N06 , An2 + .byte W12 + .byte Gn2 + .byte W12 + .byte GOTO + .word mus_rg_pokecen_3_B1 + .byte W96 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_pokecen_4: + .byte KEYSH , mus_rg_pokecen_key+0 +mus_rg_pokecen_4_B1: + .byte VOICE , 33 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 96*mus_rg_pokecen_mvl/mxv + .byte N36 , Fn1 , v127 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W24 + .byte 96*mus_rg_pokecen_mvl/mxv + .byte MOD , 0 + .byte N24 , Cn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 96*mus_rg_pokecen_mvl/mxv + .byte MOD , 0 + .byte N12 , As1 + .byte W12 + .byte An1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N36 , En1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W24 + .byte 96*mus_rg_pokecen_mvl/mxv + .byte MOD , 0 + .byte N36 , Cn2 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W24 + .byte 96*mus_rg_pokecen_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte VOL , 96*mus_rg_pokecen_mvl/mxv + .byte N06 , En1 + .byte W06 + .byte Dn1 + .byte W06 + .byte N24 , Cn1 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 96*mus_rg_pokecen_mvl/mxv + .byte MOD , 0 + .byte N36 , Cn2 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W24 + .byte 96*mus_rg_pokecen_mvl/mxv + .byte MOD , 0 + .byte N12 , As1 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , Fn1 + .byte W12 + .byte N24 , Cn1 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 96*mus_rg_pokecen_mvl/mxv + .byte MOD , 0 + .byte N36 , Cn2 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W24 + .byte 96*mus_rg_pokecen_mvl/mxv + .byte MOD , 0 + .byte N12 , Dn1 + .byte W12 + .byte En1 + .byte W12 + .byte N36 , Fn1 + .byte W12 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte MOD , 8 + .byte W24 + .byte VOL , 96*mus_rg_pokecen_mvl/mxv + .byte MOD , 0 + .byte N24 , Cn2 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 96*mus_rg_pokecen_mvl/mxv + .byte N12 , As1 + .byte W12 + .byte An1 + .byte W12 + .byte Gn1 + .byte W12 + .byte VOL , 96*mus_rg_pokecen_mvl/mxv + .byte N12 , En1 + .byte W12 + .byte Ds1 + .byte W12 + .byte En1 + .byte W12 + .byte N36 , Cn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W24 + .byte 96*mus_rg_pokecen_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte N06 , En1 + .byte W06 + .byte Dn1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N36 , Cn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 96*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte N12 , En1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N36 , An1 + .byte W12 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte MOD , 8 + .byte W24 + .byte VOL , 96*mus_rg_pokecen_mvl/mxv + .byte MOD , 0 + .byte N12 , Gn1 + .byte W12 + .byte N36 , Fn1 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W24 + .byte 96*mus_rg_pokecen_mvl/mxv + .byte MOD , 0 + .byte N12 , Cn1 + .byte W12 + .byte N30 , Fn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W24 + .byte 96*mus_rg_pokecen_mvl/mxv + .byte MOD , 0 + .byte N06 + .byte W48 + .byte N12 , En1 + .byte W12 + .byte N30 , Fn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W24 + .byte 96*mus_rg_pokecen_mvl/mxv + .byte MOD , 0 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Fn2 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 96*mus_rg_pokecen_mvl/mxv + .byte MOD , 0 + .byte N30 , Fn1 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte W12 + .byte VOL , 96*mus_rg_pokecen_mvl/mxv + .byte N06 + .byte W24 + .byte N24 , Cn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 96*mus_rg_pokecen_mvl/mxv + .byte MOD , 0 + .byte N12 , En1 + .byte W12 + .byte N30 , Fn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte W12 + .byte VOL , 96*mus_rg_pokecen_mvl/mxv + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte Fn1 + .byte W12 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte N12 , Cn1 + .byte W12 + .byte VOL , 96*mus_rg_pokecen_mvl/mxv + .byte N30 , Fn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte W12 + .byte VOL , 96*mus_rg_pokecen_mvl/mxv + .byte N06 + .byte W48 + .byte N12 , En1 + .byte W12 + .byte N30 , Fn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte W12 + .byte VOL , 96*mus_rg_pokecen_mvl/mxv + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte Fs1 + .byte W12 + .byte N24 , Gn1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 96*mus_rg_pokecen_mvl/mxv + .byte MOD , 0 + .byte N12 , En1 + .byte W12 + .byte Ds1 + .byte W12 + .byte N24 , En1 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 96*mus_rg_pokecen_mvl/mxv + .byte MOD , 0 + .byte N24 , As1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W12 + .byte 96*mus_rg_pokecen_mvl/mxv + .byte MOD , 0 + .byte N12 , Fn1 + .byte W12 + .byte En1 + .byte W12 + .byte Dn1 + .byte W12 + .byte En1 + .byte W12 + .byte N48 , Fn1 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte VOL , 72*mus_rg_pokecen_mvl/mxv + .byte W36 + .byte GOTO + .word mus_rg_pokecen_4_B1 + .byte MOD , 0 + .byte W96 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_pokecen_5: + .byte KEYSH , mus_rg_pokecen_key+0 +mus_rg_pokecen_5_B1: + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+11 + .byte VOL , 36*mus_rg_pokecen_mvl/mxv + .byte N12 , An2 , v120 + .byte W12 + .byte Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte Dn3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte As2 + .byte W12 + .byte N36 , Gn2 + .byte W36 + .byte N18 , Cn3 , v127 + .byte W18 + .byte N03 , As2 , v076 + .byte W03 + .byte An2 + .byte W03 + .byte N12 , Gn2 , v127 + .byte W12 + .byte As2 , v120 + .byte W12 + .byte Gn2 + .byte W12 + .byte En2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N24 , Cn3 + .byte W24 + .byte As2 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte An2 + .byte W12 + .byte N36 , Cn3 + .byte W36 + .byte N12 , Cn3 , v127 + .byte W12 + .byte N24 , En3 + .byte W36 + .byte N12 , An2 , v120 + .byte W12 + .byte Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte Gn3 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte En3 + .byte W15 + .byte N32 , Cn3 + .byte W32 + .byte W01 + .byte N18 , As2 , v127 + .byte W18 + .byte N03 , An2 , v080 + .byte W03 + .byte Gs2 + .byte W03 + .byte N12 , Gn2 , v127 + .byte W24 + .byte Gn2 , v120 + .byte W12 + .byte En2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N24 , Cn3 + .byte W24 + .byte Dn3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N36 , An3 + .byte W84 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_pokecen_5_B1 + .byte W96 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_pokecen_6: + .byte KEYSH , mus_rg_pokecen_key+0 +mus_rg_pokecen_6_B1: + .byte VOICE , 14 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 36*mus_rg_pokecen_mvl/mxv + .byte PAN , c_v-12 + .byte W96 + .byte W48 + .byte N18 , Cn5 , v127 + .byte W18 + .byte N03 , As4 , v064 + .byte W03 + .byte An4 + .byte W03 + .byte N12 , Gn4 , v127 + .byte W24 + .byte W96 + .byte W48 + .byte Cn5 , v120 + .byte W12 + .byte N24 , En5 + .byte W36 + .byte W96 + .byte W48 + .byte N18 , As4 , v127 + .byte W18 + .byte N03 , An4 , v068 + .byte W03 + .byte Gs4 + .byte W03 + .byte N12 , Gn4 , v127 + .byte W24 + .byte W96 + .byte W48 + .byte An4 , v120 + .byte W12 + .byte As4 + .byte W12 + .byte N24 , Cn5 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_pokecen_6_B1 + .byte W96 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_pokecen_7: + .byte KEYSH , mus_rg_pokecen_key+0 +mus_rg_pokecen_7_B1: + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 30*mus_rg_pokecen_mvl/mxv + .byte PAN , c_v-60 + .byte N06 , Fn2 , v127 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-61 + .byte N06 , Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte An2 + .byte W12 +mus_rg_pokecen_7_000: + .byte PAN , c_v-60 + .byte N06 , Gn2 , v127 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v-61 + .byte N06 , Gn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PEND +mus_rg_pokecen_7_001: + .byte PAN , c_v-60 + .byte N06 , Gn2 , v127 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v-61 + .byte N06 , Gn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PEND + .byte PAN , c_v-60 + .byte N06 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v-61 + .byte N06 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v-60 + .byte N06 , Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-61 + .byte N06 , Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte An2 + .byte W12 + .byte PATT + .word mus_rg_pokecen_7_000 + .byte PATT + .word mus_rg_pokecen_7_001 + .byte PAN , c_v-60 + .byte N06 , Fn2 , v127 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-61 + .byte N06 , Fn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn3 + .byte W12 + .byte As2 + .byte W12 + .byte VOICE , 80 + .byte PAN , c_v-62 + .byte VOL , 29*mus_rg_pokecen_mvl/mxv + .byte N09 , An3 , v120 + .byte W12 + .byte N03 , An3 , v048 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte An3 , v048 + .byte W12 + .byte N09 , An3 , v120 + .byte W12 + .byte N03 , An3 , v048 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte An3 , v048 + .byte W12 +mus_rg_pokecen_7_002: + .byte N09 , As3 , v120 + .byte W12 + .byte N03 , As3 , v048 + .byte W12 + .byte As3 , v064 + .byte W12 + .byte N09 , As3 , v120 + .byte W12 + .byte N03 , As3 , v048 + .byte W12 + .byte As3 , v064 + .byte W12 + .byte N09 , As3 , v120 + .byte W12 + .byte N03 , As3 , v048 + .byte W12 + .byte PEND + .byte N09 , Cn4 , v120 + .byte W12 + .byte N03 , Cn4 , v048 + .byte W12 + .byte Cn4 , v064 + .byte W12 + .byte Cn4 , v048 + .byte W12 + .byte N09 , Cn4 , v120 + .byte W12 + .byte N03 , Cn4 , v048 + .byte W12 + .byte As3 , v064 + .byte W12 + .byte As3 , v048 + .byte W12 + .byte N09 , An3 , v120 + .byte W12 + .byte N03 , An3 , v048 + .byte W12 + .byte As3 , v064 + .byte W12 + .byte N09 , As3 , v120 + .byte W12 + .byte N03 , As3 , v048 + .byte W12 + .byte Cn4 , v064 + .byte W12 + .byte N09 , Cn4 , v120 + .byte W12 + .byte N03 , Cn4 , v048 + .byte W12 + .byte N09 , An3 , v120 + .byte W12 + .byte N03 , An3 , v048 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte An3 , v048 + .byte W12 + .byte N09 , An3 , v120 + .byte W12 + .byte N03 , An3 , v048 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte An3 , v048 + .byte W12 + .byte PATT + .word mus_rg_pokecen_7_002 + .byte N09 , Cn4 , v120 + .byte W12 + .byte N03 , Cn4 , v048 + .byte W12 + .byte Cn4 , v064 + .byte W12 + .byte Cn4 , v048 + .byte W12 + .byte N09 , As3 , v120 + .byte W12 + .byte N03 , As3 , v048 + .byte W12 + .byte As3 , v064 + .byte W12 + .byte As3 , v048 + .byte W12 + .byte N09 , An3 , v120 + .byte W12 + .byte N03 , An3 , v048 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte N09 , An3 , v120 + .byte W12 + .byte N03 , An3 , v048 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte N09 , An3 , v120 + .byte W12 + .byte N03 , An3 , v048 + .byte W12 + .byte GOTO + .word mus_rg_pokecen_7_B1 + .byte W96 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_pokecen_8: + .byte KEYSH , mus_rg_pokecen_key+0 +mus_rg_pokecen_8_B1: + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 48*mus_rg_pokecen_mvl/mxv + .byte BEND , c_v+2 + .byte W02 + .byte c_v+1 + .byte W92 + .byte W02 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 81 + .byte PAN , c_v+63 + .byte VOL , 28*mus_rg_pokecen_mvl/mxv + .byte N09 , Fn4 , v120 + .byte W12 + .byte N03 , Fn4 , v048 + .byte W12 + .byte Fn4 , v064 + .byte W12 + .byte Fn4 , v048 + .byte W12 + .byte N09 , Fn4 , v120 + .byte W12 + .byte N03 , Fn4 , v048 + .byte W12 + .byte Fn4 , v064 + .byte W12 + .byte Fn4 , v048 + .byte W12 +mus_rg_pokecen_8_000: + .byte N09 , Fn4 , v120 + .byte W12 + .byte N03 , Fn4 , v048 + .byte W12 + .byte Fn4 , v064 + .byte W12 + .byte N09 , Fn4 , v120 + .byte W12 + .byte N03 , Fn4 , v048 + .byte W12 + .byte Fn4 , v064 + .byte W12 + .byte N09 , Fn4 , v120 + .byte W12 + .byte N03 , Fn4 , v048 + .byte W12 + .byte PEND +mus_rg_pokecen_8_001: + .byte N09 , Fn4 , v120 + .byte W12 + .byte N03 , Fn4 , v048 + .byte W12 + .byte Fn4 , v064 + .byte W12 + .byte Fn4 , v048 + .byte W12 + .byte N09 , Fn4 , v120 + .byte W12 + .byte N03 , Fn4 , v048 + .byte W12 + .byte Fn4 , v064 + .byte W12 + .byte Fn4 , v048 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_pokecen_8_000 + .byte PATT + .word mus_rg_pokecen_8_001 + .byte PATT + .word mus_rg_pokecen_8_000 + .byte PATT + .word mus_rg_pokecen_8_001 + .byte PATT + .word mus_rg_pokecen_8_000 + .byte GOTO + .word mus_rg_pokecen_8_B1 + .byte W96 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_pokecen_9: + .byte KEYSH , mus_rg_pokecen_key+0 +mus_rg_pokecen_9_B1: + .byte VOICE , 92 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 24*mus_rg_pokecen_mvl/mxv + .byte N03 , Fn5 , v072 + .byte W12 + .byte Cn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte Cn6 + .byte W24 + .byte As5 + .byte W24 + .byte An5 + .byte W12 +mus_rg_pokecen_9_000: + .byte N03 , Gn5 , v072 + .byte W12 + .byte En5 + .byte W84 + .byte PEND +mus_rg_pokecen_9_001: + .byte N03 , En5 , v072 + .byte W12 + .byte Cn5 + .byte W12 + .byte En5 + .byte W12 + .byte An5 + .byte W24 + .byte Gn5 + .byte W24 + .byte En5 + .byte W12 + .byte PEND + .byte Fn5 + .byte W12 + .byte An5 + .byte W84 + .byte Fn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte Cn6 + .byte W24 + .byte As5 + .byte W24 + .byte An5 + .byte W12 + .byte PATT + .word mus_rg_pokecen_9_000 + .byte PATT + .word mus_rg_pokecen_9_001 + .byte N03 , Fn5 , v072 + .byte W72 + .byte Gn5 + .byte W24 +mus_rg_pokecen_9_002: + .byte N03 , An5 , v072 + .byte W48 + .byte Cn6 + .byte W48 + .byte PEND + .byte As5 + .byte W12 + .byte Cn6 + .byte W12 + .byte As5 + .byte W03 + .byte Cn6 + .byte W03 + .byte As5 + .byte W06 + .byte An5 + .byte W12 + .byte Gn5 + .byte W48 + .byte En5 + .byte W48 + .byte Gn5 + .byte W48 +mus_rg_pokecen_9_003: + .byte N03 , An5 , v072 + .byte W12 + .byte As5 + .byte W12 + .byte An5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Fn5 + .byte W48 + .byte PEND + .byte PATT + .word mus_rg_pokecen_9_002 + .byte N03 , As5 , v072 + .byte W12 + .byte An5 + .byte W12 + .byte As5 + .byte W12 + .byte Cn6 + .byte W12 + .byte Dn6 + .byte W48 + .byte Cn6 + .byte W24 + .byte As5 + .byte W12 + .byte An5 + .byte W12 + .byte As5 + .byte W48 + .byte PATT + .word mus_rg_pokecen_9_003 + .byte GOTO + .word mus_rg_pokecen_9_B1 + .byte W96 + .byte FINE + +@********************** Track 10 **********************@ + +mus_rg_pokecen_10: + .byte VOL , 96*mus_rg_pokecen_mvl/mxv + .byte KEYSH , mus_rg_pokecen_key+0 +mus_rg_pokecen_10_B1: + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W24 + .byte N12 , As5 , v120 + .byte W72 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_pokecen_10_B1 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_pokecen: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_pokecen_pri @ Priority + .byte mus_rg_pokecen_rev @ Reverb. + + .word mus_rg_pokecen_grp + + .word mus_rg_pokecen_1 + .word mus_rg_pokecen_2 + .word mus_rg_pokecen_3 + .word mus_rg_pokecen_4 + .word mus_rg_pokecen_5 + .word mus_rg_pokecen_6 + .word mus_rg_pokecen_7 + .word mus_rg_pokecen_8 + .word mus_rg_pokecen_9 + .word mus_rg_pokecen_10 + + .end diff --git a/sound/songs/mus_rg_pokefue.s b/sound/songs/mus_rg_pokefue.s new file mode 100644 index 0000000000..79cb14cb26 --- /dev/null +++ b/sound/songs/mus_rg_pokefue.s @@ -0,0 +1,305 @@ + .include "MPlayDef.s" + + .equ mus_rg_pokefue_grp, voicegroup_86AC538 + .equ mus_rg_pokefue_pri, 5 + .equ mus_rg_pokefue_rev, reverb_set+50 + .equ mus_rg_pokefue_mvl, 127 + .equ mus_rg_pokefue_key, 0 + .equ mus_rg_pokefue_tbs, 1 + .equ mus_rg_pokefue_exg, 0 + .equ mus_rg_pokefue_cmp, 1 + + .section .rodata + .global mus_rg_pokefue + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_pokefue_1: + .byte KEYSH , mus_rg_pokefue_key+0 + .byte TEMPO , 80*mus_rg_pokefue_tbs/2 + .byte VOICE , 73 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte BEND , c_v+2 + .byte N12 , En4 , v127 + .byte W06 + .byte MOD , 6 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte N12 , Fn4 + .byte W06 + .byte MOD , 6 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte N24 , Gn4 + .byte W12 + .byte MOD , 7 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte 24*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte 18*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte 12*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte N12 , An4 + .byte W06 + .byte MOD , 6 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte N12 , Gn4 + .byte W06 + .byte MOD , 6 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte N36 , Cn5 + .byte W12 + .byte MOD , 7 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte 24*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte 18*mus_rg_pokefue_mvl/mxv + .byte W06 + .byte W12 + .byte MOD , 0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte N12 , Dn5 + .byte W06 + .byte MOD , 6 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte N12 , Cn5 + .byte W06 + .byte MOD , 6 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte N12 , Gn4 + .byte W06 + .byte MOD , 6 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte N12 , An4 + .byte W06 + .byte MOD , 6 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte N12 , Fn4 + .byte W06 + .byte MOD , 6 + .byte VOL , 41*mus_rg_pokefue_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte N48 , Gn4 + .byte W03 + .byte VOL , 31*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte MOD , 6 + .byte VOL , 24*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte 19*mus_rg_pokefue_mvl/mxv + .byte W06 + .byte 15*mus_rg_pokefue_mvl/mxv + .byte W09 + .byte 11*mus_rg_pokefue_mvl/mxv + .byte W09 + .byte 8*mus_rg_pokefue_mvl/mxv + .byte W15 + .byte MOD , 0 + .byte W72 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_pokefue_2: + .byte KEYSH , mus_rg_pokefue_key+0 + .byte VOICE , 75 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , En3 , v127 + .byte W06 + .byte MOD , 6 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte 24*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte N12 , Fn3 + .byte W06 + .byte MOD , 6 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte 24*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte N24 , Gn3 + .byte W06 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte 24*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte VOL , 12*mus_rg_pokefue_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte N12 , An3 + .byte W06 + .byte MOD , 6 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte 24*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte N12 , Gn3 + .byte W06 + .byte MOD , 6 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte 24*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte N36 , Cn4 + .byte W06 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte 24*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte VOL , 12*mus_rg_pokefue_mvl/mxv + .byte W12 + .byte W12 + .byte MOD , 0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte N12 , Dn4 + .byte W06 + .byte MOD , 6 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte 24*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte N12 , Cn4 + .byte W06 + .byte MOD , 6 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte 24*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte N12 , Gn3 + .byte W06 + .byte MOD , 6 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte 24*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte N12 , An3 + .byte W06 + .byte MOD , 6 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte 24*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte N12 , Fn3 + .byte W06 + .byte MOD , 6 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte 24*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 48*mus_rg_pokefue_mvl/mxv + .byte N48 , Gn3 + .byte W03 + .byte VOL , 43*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte MOD , 6 + .byte VOL , 36*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte 24*mus_rg_pokefue_mvl/mxv + .byte W03 + .byte 18*mus_rg_pokefue_mvl/mxv + .byte W12 + .byte W24 + .byte MOD , 0 + .byte W72 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_pokefue: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_pokefue_pri @ Priority + .byte mus_rg_pokefue_rev @ Reverb. + + .word mus_rg_pokefue_grp + + .word mus_rg_pokefue_1 + .word mus_rg_pokefue_2 + + .end diff --git a/sound/songs/mus_rg_pokeyashi.s b/sound/songs/mus_rg_pokeyashi.s new file mode 100644 index 0000000000..a65a80fa3c --- /dev/null +++ b/sound/songs/mus_rg_pokeyashi.s @@ -0,0 +1,2911 @@ + .include "MPlayDef.s" + + .equ mus_rg_pokeyashi_grp, voicegroup_86A67E4 + .equ mus_rg_pokeyashi_pri, 0 + .equ mus_rg_pokeyashi_rev, reverb_set+50 + .equ mus_rg_pokeyashi_mvl, 127 + .equ mus_rg_pokeyashi_key, 0 + .equ mus_rg_pokeyashi_tbs, 1 + .equ mus_rg_pokeyashi_exg, 0 + .equ mus_rg_pokeyashi_cmp, 1 + + .section .rodata + .global mus_rg_pokeyashi + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_pokeyashi_1: + .byte KEYSH , mus_rg_pokeyashi_key+0 + .byte TEMPO , 132*mus_rg_pokeyashi_tbs/2 + .byte VOICE , 80 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-64 + .byte VOL , 28*mus_rg_pokeyashi_mvl/mxv + .byte N03 , Fn5 , v064 + .byte W06 + .byte Fn5 , v048 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Cs4 , v064 + .byte W18 + .byte N06 , Cn6 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Fn5 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cs4 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Cn5 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Fn4 + .byte W06 + .byte W06 + .byte N03 , Cs4 + .byte W06 + .byte Cn6 + .byte W18 + .byte PAN , c_v-1 + .byte N03 , Fn5 + .byte W06 + .byte Fn5 , v048 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte PAN , c_v-64 + .byte N03 , Cs4 , v064 + .byte W18 + .byte N06 , Cn6 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Fn5 + .byte W12 + .byte PAN , c_v+63 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N06 , Cs4 + .byte W12 + .byte Cn5 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Fn4 + .byte W12 + .byte N03 , Cs4 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Cn6 + .byte W18 + .byte Fn5 + .byte W06 + .byte Fn5 , v048 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cs4 , v064 + .byte W12 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Cn6 + .byte W12 + .byte Fn5 + .byte W12 + .byte Cs4 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Cn5 + .byte W12 + .byte Fn4 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , Cs4 + .byte W06 + .byte Cn6 , v076 + .byte W18 + .byte PAN , c_v+0 + .byte N03 , Fn5 , v064 + .byte W06 + .byte VOL , 42*mus_rg_pokeyashi_mvl/mxv + .byte N03 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte PAN , c_v-64 + .byte N03 , Cs4 , v064 + .byte W18 + .byte N06 , Cn6 + .byte W12 + .byte PAN , c_v-1 + .byte N06 , Fn5 + .byte W12 + .byte Cs4 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn5 + .byte W12 + .byte Fn4 + .byte W12 + .byte PAN , c_v-1 + .byte N03 , Cs4 + .byte W06 + .byte Cn6 + .byte W18 + .byte Fn5 + .byte W06 + .byte Fn5 , v048 + .byte W06 + .byte PAN , c_v-64 + .byte N03 , Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cs4 , v064 + .byte W18 + .byte N06 , Cn6 + .byte W12 + .byte Fn5 + .byte W12 + .byte PAN , c_v-1 + .byte N06 , Cs4 + .byte W06 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte W06 + .byte N06 , Cn5 + .byte W12 + .byte Fn4 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , Cs4 + .byte W06 + .byte Cn6 + .byte W18 + .byte Fn5 + .byte W06 + .byte Fn5 , v048 + .byte W06 + .byte PAN , c_v-1 + .byte N03 , Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cs4 , v064 + .byte W18 + .byte PAN , c_v-64 + .byte N06 , Cn6 + .byte W12 + .byte Fn5 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Cs4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Fn4 + .byte W12 + .byte N03 , Cs4 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Cn6 + .byte W18 + .byte Fn5 + .byte W06 + .byte Fn5 , v048 + .byte W06 +mus_rg_pokeyashi_1_B1: + .byte VOL , 28*mus_rg_pokeyashi_mvl/mxv + .byte N03 , Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte PAN , c_v-1 + .byte N03 , Cs4 , v064 + .byte W18 + .byte N06 , Cn6 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fn5 + .byte W12 + .byte Cs4 + .byte W12 + .byte PAN , c_v-1 + .byte N06 , Cn5 + .byte W12 + .byte Fn4 + .byte W12 + .byte N03 , Cs4 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Cn6 + .byte W18 + .byte PAN , c_v-1 + .byte N03 , Fn5 + .byte W06 + .byte Fn5 , v048 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cs4 , v064 + .byte W18 + .byte PAN , c_v-64 + .byte N06 , Cn6 + .byte W12 + .byte Fn5 + .byte W12 + .byte Cs4 + .byte W12 + .byte PAN , c_v+0 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N06 , Cn5 + .byte W12 + .byte Fn4 + .byte W12 + .byte N03 , Cs4 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Cn6 + .byte W18 + .byte Fn5 + .byte W06 + .byte Fn5 , v048 + .byte W06 + .byte PAN , c_v-1 + .byte N03 , Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cs4 , v064 + .byte W18 + .byte PAN , c_v-64 + .byte N06 , Cn6 + .byte W06 + .byte W06 + .byte Fn5 + .byte W12 + .byte Cs4 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Cn5 + .byte W12 + .byte Fn4 + .byte W12 + .byte N03 , Cs4 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Cn6 + .byte W18 + .byte Fn5 + .byte W06 + .byte Fn5 , v032 + .byte W06 + .byte PAN , c_v-1 + .byte N03 , Cn5 , v064 + .byte W06 + .byte VOL , 42*mus_rg_pokeyashi_mvl/mxv + .byte N03 , Cn5 , v032 + .byte W06 + .byte Cs4 , v064 + .byte W18 + .byte PAN , c_v-64 + .byte N06 , Cn6 + .byte W12 + .byte Fn5 + .byte W12 + .byte Cs4 + .byte W12 + .byte PAN , c_v-1 + .byte N06 , Cn5 + .byte W12 + .byte Fn4 + .byte W12 + .byte N03 , Cs4 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Cn6 + .byte W06 + .byte W12 + .byte Fn5 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , Cs4 + .byte W18 + .byte N06 , Cn6 + .byte W12 + .byte Fn5 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cs4 + .byte W12 + .byte Cn5 + .byte W06 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte W06 + .byte N06 , Fn4 + .byte W12 + .byte N03 , Cs4 + .byte W06 + .byte PAN , c_v-1 + .byte N03 , Cn6 + .byte W18 + .byte Fn5 + .byte W06 + .byte Fn5 , v048 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Cs4 , v064 + .byte W18 + .byte N06 , Cn6 + .byte W12 + .byte Fn5 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Cs4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Fn4 + .byte W12 + .byte PAN , c_v-64 + .byte N03 , Cs4 + .byte W06 + .byte Cn6 + .byte W18 + .byte Fn5 + .byte W06 + .byte Fn5 , v048 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte PAN , c_v-1 + .byte VOL , 28*mus_rg_pokeyashi_mvl/mxv + .byte N03 , Cs4 , v064 + .byte W18 + .byte N06 , Cn6 + .byte W12 + .byte Fn5 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cs4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Fn4 + .byte W12 + .byte N03 , Cs4 + .byte W06 + .byte PAN , c_v-1 + .byte N03 , Cn6 + .byte W12 + .byte W06 + .byte Fn5 + .byte W06 + .byte Fn5 , v052 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte PAN , c_v-64 + .byte N03 , Cs4 , v064 + .byte W18 + .byte N06 , Cn6 + .byte W12 + .byte Fn5 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Cs4 + .byte W12 + .byte Cn5 + .byte W12 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N06 , Fn4 + .byte W12 + .byte N03 , Cs4 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Cn6 + .byte W78 + .byte W96 + .byte W96 + .byte W24 + .byte PAN , c_v-64 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte W06 + .byte N03 , Cs4 , v072 + .byte W06 + .byte PAN , c_v+0 + .byte VOL , 68*mus_rg_pokeyashi_mvl/mxv + .byte N06 , Cn6 , v064 + .byte W06 + .byte N18 , Cn6 , v120 + .byte W18 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte PAN , c_v+63 + .byte N03 , Fn5 , v064 + .byte W06 + .byte Fn5 , v048 + .byte W06 + .byte PAN , c_v+0 + .byte VOL , 45*mus_rg_pokeyashi_mvl/mxv + .byte N03 , Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N03 , Cs4 , v064 + .byte W12 + .byte PAN , c_v-64 + .byte VOL , 28*mus_rg_pokeyashi_mvl/mxv + .byte N06 , Cn6 + .byte W12 + .byte Fn5 + .byte W12 + .byte PAN , c_v-1 + .byte N06 , Cs4 + .byte W12 + .byte Cn5 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Fn4 + .byte W12 + .byte N03 , Cs4 + .byte W06 + .byte Cn6 + .byte W06 + .byte PAN , c_v+0 + .byte W12 + .byte N03 , Fn5 + .byte W06 + .byte Fn5 , v048 + .byte W06 + .byte PAN , c_v-64 + .byte N03 , Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cs4 , v064 + .byte W12 + .byte PAN , c_v-1 + .byte W06 + .byte N06 , Cn6 + .byte W12 + .byte Fn5 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cs4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Fn4 + .byte W12 + .byte PAN , c_v-1 + .byte N03 , Cs4 + .byte W06 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N03 , Cn6 + .byte W18 + .byte Fn5 + .byte W06 + .byte Fn5 , v048 + .byte W06 + .byte PAN , c_v-64 + .byte N03 , Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cs4 , v064 + .byte W18 + .byte PAN , c_v+0 + .byte N06 , Cn6 + .byte W12 + .byte Fn5 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cs4 + .byte W12 + .byte Cn5 + .byte W12 + .byte PAN , c_v-1 + .byte N06 , Fn4 + .byte W12 + .byte PAN , c_v-64 + .byte N03 , Cs4 + .byte W06 + .byte Cn6 + .byte W18 + .byte PAN , c_v-1 + .byte N03 , Fn5 + .byte W06 + .byte Fn5 , v048 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Cs4 , v064 + .byte W18 + .byte N06 , Cn6 + .byte W06 + .byte VOL , 42*mus_rg_pokeyashi_mvl/mxv + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Fn5 + .byte W12 + .byte Cs4 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cn5 + .byte W12 + .byte Fn4 + .byte W12 + .byte PAN , c_v+0 + .byte N03 , Cs4 + .byte W06 + .byte Cn6 + .byte W12 + .byte PAN , c_v+63 + .byte W06 + .byte N03 , Fn5 + .byte W06 + .byte Fn5 , v048 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , Cs4 , v064 + .byte W18 + .byte N06 , Cn6 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fn5 + .byte W12 + .byte Cs4 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Cn5 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Fn4 + .byte W12 + .byte N03 , Cs4 + .byte W06 + .byte Cn6 + .byte W06 + .byte PAN , c_v-1 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte W12 + .byte N03 , Fn5 + .byte W06 + .byte Fn5 , v048 + .byte W06 + .byte PAN , c_v-64 + .byte N03 , Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cs4 , v064 + .byte W12 + .byte PAN , c_v+0 + .byte W06 + .byte N06 , Cn6 + .byte W12 + .byte Fn5 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cs4 + .byte W12 + .byte Cn5 + .byte W06 + .byte W06 + .byte PAN , c_v-1 + .byte N03 , Cn5 , v048 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cs4 , v048 + .byte W06 + .byte PAN , c_v-64 + .byte W12 + .byte N06 , Cn6 , v064 + .byte W12 + .byte Fn5 + .byte W12 + .byte PAN , c_v-1 + .byte N06 , Cs4 + .byte W12 + .byte Cn5 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Fn4 + .byte W12 + .byte VOL , 28*mus_rg_pokeyashi_mvl/mxv + .byte N03 , Cs4 + .byte W06 + .byte Cn6 + .byte W18 + .byte PAN , c_v-1 + .byte N03 , Fn5 + .byte W06 + .byte Fn5 , v048 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte PAN , c_v-64 + .byte N03 , Cs4 , v064 + .byte W18 + .byte N06 , Cn6 + .byte W12 + .byte PAN , c_v-1 + .byte N06 , Fn5 + .byte W12 + .byte Cs4 + .byte W06 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cn5 + .byte W12 + .byte Fn4 + .byte W12 + .byte N03 , Cs4 + .byte W06 + .byte PAN , c_v-1 + .byte N03 , Cn6 + .byte W18 + .byte Fn5 + .byte W06 + .byte Fn5 , v048 + .byte W06 + .byte PAN , c_v-64 + .byte N03 , Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cs4 , v064 + .byte W18 + .byte PAN , c_v-1 + .byte VOL , 41*mus_rg_pokeyashi_mvl/mxv + .byte N24 , Gs3 + .byte W24 + .byte PAN , c_v+63 + .byte N24 , Gn3 + .byte W24 + .byte PAN , c_v-1 + .byte N24 , Ds4 + .byte W24 + .byte PAN , c_v-64 + .byte N24 , Dn4 + .byte W24 + .byte PAN , c_v-1 + .byte N24 , Bn3 + .byte W18 + .byte PAN , c_v+63 + .byte W06 + .byte N24 , Cn4 + .byte W24 + .byte Cs4 + .byte W06 + .byte PAN , c_v-1 + .byte W18 + .byte N24 , Dn4 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte VOL , 41*mus_rg_pokeyashi_mvl/mxv + .byte N24 , Gs3 + .byte W24 + .byte Gn3 + .byte W06 + .byte PAN , c_v-1 + .byte W18 + .byte N24 , Ds4 + .byte W24 + .byte PAN , c_v+63 + .byte N24 , Dn4 + .byte W24 + .byte PAN , c_v-1 + .byte N24 , Bn3 + .byte W24 + .byte PAN , c_v-64 + .byte N24 , Cn4 + .byte W24 + .byte Dn4 , v120 + .byte W06 + .byte PAN , c_v-1 + .byte W18 + .byte c_v+63 + .byte N24 , Fn4 , v064 + .byte W24 + .byte GOTO + .word mus_rg_pokeyashi_1_B1 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_pokeyashi_2: + .byte KEYSH , mus_rg_pokeyashi_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 45*mus_rg_pokeyashi_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_pokeyashi_2_B1: + .byte N12 , Fn3 , v096 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Fn3 , v032 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , En3 , v096 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En3 , v032 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , Cn4 , v096 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cn4 , v032 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , Bn3 , v096 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn3 , v032 + .byte W12 +mus_rg_pokeyashi_2_000: + .byte PAN , c_v-1 + .byte N12 , Gs3 , v096 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gs3 , v032 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , An3 , v096 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An3 , v032 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , As3 , v096 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , As3 , v032 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , Bn3 , v096 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn3 , v032 + .byte W12 + .byte PEND +mus_rg_pokeyashi_2_001: + .byte PAN , c_v-1 + .byte N12 , Fn3 , v096 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Fn3 , v032 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , En3 , v096 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En3 , v032 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , Cn4 , v096 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cn4 , v032 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , Bn3 , v096 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn3 , v032 + .byte W12 + .byte PEND +mus_rg_pokeyashi_2_002: + .byte PAN , c_v-1 + .byte N12 , Gs3 , v096 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gs3 , v032 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , An3 , v096 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An3 , v032 + .byte W12 + .byte PAN , c_v-1 + .byte W12 + .byte c_v-64 + .byte W12 + .byte c_v-1 + .byte N12 , Bn3 , v096 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn3 , v032 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_pokeyashi_2_001 + .byte PATT + .word mus_rg_pokeyashi_2_000 + .byte PATT + .word mus_rg_pokeyashi_2_001 + .byte PATT + .word mus_rg_pokeyashi_2_002 + .byte PATT + .word mus_rg_pokeyashi_2_001 + .byte PATT + .word mus_rg_pokeyashi_2_000 + .byte PATT + .word mus_rg_pokeyashi_2_001 + .byte PATT + .word mus_rg_pokeyashi_2_002 + .byte PATT + .word mus_rg_pokeyashi_2_001 + .byte PATT + .word mus_rg_pokeyashi_2_002 + .byte PATT + .word mus_rg_pokeyashi_2_001 + .byte PAN , c_v-1 + .byte N12 , Gs3 , v096 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gs3 , v032 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , An3 , v096 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An3 , v032 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , Gs3 , v096 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gs3 , v032 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , En3 , v096 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En3 , v032 + .byte W12 + .byte PATT + .word mus_rg_pokeyashi_2_001 + .byte PATT + .word mus_rg_pokeyashi_2_000 + .byte PATT + .word mus_rg_pokeyashi_2_001 + .byte PATT + .word mus_rg_pokeyashi_2_002 + .byte PATT + .word mus_rg_pokeyashi_2_001 + .byte PATT + .word mus_rg_pokeyashi_2_000 + .byte PATT + .word mus_rg_pokeyashi_2_001 + .byte PATT + .word mus_rg_pokeyashi_2_002 + .byte PATT + .word mus_rg_pokeyashi_2_001 + .byte PATT + .word mus_rg_pokeyashi_2_000 + .byte PATT + .word mus_rg_pokeyashi_2_001 + .byte PATT + .word mus_rg_pokeyashi_2_002 + .byte GOTO + .word mus_rg_pokeyashi_2_B1 + .byte PAN , c_v-1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_pokeyashi_3: + .byte KEYSH , mus_rg_pokeyashi_key+0 + .byte VOICE , 87 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 63*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Cn1 , v092 + .byte W12 + .byte Cn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 +mus_rg_pokeyashi_3_000: + .byte N12 , Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte PEND +mus_rg_pokeyashi_3_001: + .byte N12 , Cs1 , v092 + .byte W12 + .byte Cs1 , v020 + .byte W12 + .byte En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte PEND +mus_rg_pokeyashi_3_002: + .byte N12 , En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte PEND +mus_rg_pokeyashi_3_003: + .byte N12 , Cn1 , v092 + .byte W12 + .byte Cn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte PEND +mus_rg_pokeyashi_3_004: + .byte N12 , Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte N24 , Fn1 , v092 + .byte W06 + .byte MOD , 7 + .byte W03 + .byte BEND , c_v-7 + .byte W03 + .byte c_v-15 + .byte W03 + .byte c_v-26 + .byte W03 + .byte c_v-39 + .byte W03 + .byte c_v-51 + .byte W03 + .byte PEND +mus_rg_pokeyashi_3_005: + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N12 , Cs1 , v092 + .byte W12 + .byte Cs1 , v020 + .byte W12 + .byte En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte PEND +mus_rg_pokeyashi_3_006: + .byte N12 , En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte N24 , En1 , v092 + .byte W06 + .byte MOD , 7 + .byte W03 + .byte BEND , c_v-7 + .byte W03 + .byte c_v-15 + .byte W03 + .byte c_v-26 + .byte W03 + .byte c_v-39 + .byte W03 + .byte c_v-51 + .byte W03 + .byte PEND +mus_rg_pokeyashi_3_B1: + .byte MOD , 0 + .byte VOL , 63*mus_rg_pokeyashi_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Cn1 , v092 + .byte W12 + .byte Cn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte PATT + .word mus_rg_pokeyashi_3_000 + .byte PATT + .word mus_rg_pokeyashi_3_001 + .byte PATT + .word mus_rg_pokeyashi_3_002 + .byte PATT + .word mus_rg_pokeyashi_3_003 + .byte PATT + .word mus_rg_pokeyashi_3_004 + .byte PATT + .word mus_rg_pokeyashi_3_005 + .byte PATT + .word mus_rg_pokeyashi_3_006 +mus_rg_pokeyashi_3_007: + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N12 , Cn1 , v092 + .byte W12 + .byte Cn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_pokeyashi_3_000 + .byte PATT + .word mus_rg_pokeyashi_3_001 + .byte PATT + .word mus_rg_pokeyashi_3_002 + .byte PATT + .word mus_rg_pokeyashi_3_003 + .byte PATT + .word mus_rg_pokeyashi_3_004 + .byte PATT + .word mus_rg_pokeyashi_3_005 + .byte PATT + .word mus_rg_pokeyashi_3_006 + .byte PATT + .word mus_rg_pokeyashi_3_007 + .byte PATT + .word mus_rg_pokeyashi_3_000 + .byte PATT + .word mus_rg_pokeyashi_3_001 + .byte PATT + .word mus_rg_pokeyashi_3_002 + .byte PATT + .word mus_rg_pokeyashi_3_003 + .byte PATT + .word mus_rg_pokeyashi_3_004 + .byte PATT + .word mus_rg_pokeyashi_3_005 + .byte PATT + .word mus_rg_pokeyashi_3_006 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N96 , Fn1 , v092 + .byte W48 + .byte VOL , 79*mus_rg_pokeyashi_mvl/mxv + .byte W48 + .byte 63*mus_rg_pokeyashi_mvl/mxv + .byte N96 , En1 + .byte W48 + .byte VOL , 79*mus_rg_pokeyashi_mvl/mxv + .byte W48 + .byte 64*mus_rg_pokeyashi_mvl/mxv + .byte N96 , Gs1 + .byte W48 + .byte VOL , 79*mus_rg_pokeyashi_mvl/mxv + .byte W48 + .byte 63*mus_rg_pokeyashi_mvl/mxv + .byte N48 , An1 + .byte W48 + .byte VOL , 79*mus_rg_pokeyashi_mvl/mxv + .byte N48 , En1 + .byte W12 + .byte BEND , c_v-4 + .byte W03 + .byte c_v-7 + .byte W03 + .byte c_v-12 + .byte W03 + .byte c_v-16 + .byte W03 + .byte c_v-23 + .byte W03 + .byte c_v-29 + .byte W03 + .byte c_v-33 + .byte W03 + .byte c_v-39 + .byte W03 + .byte c_v-43 + .byte W03 + .byte c_v-46 + .byte W03 + .byte c_v-48 + .byte W03 + .byte c_v-53 + .byte W03 + .byte GOTO + .word mus_rg_pokeyashi_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_pokeyashi_4: + .byte KEYSH , mus_rg_pokeyashi_key+0 + .byte VOICE , 39 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Cn1 , v092 + .byte W12 + .byte Cn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte VOL , 45*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte VOL , 45*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Cs1 , v092 + .byte W12 + .byte Cs1 , v020 + .byte W12 + .byte En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte VOL , 45*mus_rg_pokeyashi_mvl/mxv + .byte N12 , En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte N12 , En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N12 , En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte VOL , 45*mus_rg_pokeyashi_mvl/mxv + .byte N12 , En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte N12 , En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Cn1 , v092 + .byte W12 + .byte Cn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte VOL , 45*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte VOL , 45*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte N24 , Fn1 , v092 + .byte W06 + .byte MOD , 7 + .byte W03 + .byte BEND , c_v-7 + .byte W03 + .byte c_v-15 + .byte W03 + .byte c_v-26 + .byte W03 + .byte c_v-39 + .byte W03 + .byte c_v-51 + .byte W03 +mus_rg_pokeyashi_4_000: + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N12 , Cs1 , v092 + .byte W12 + .byte Cs1 , v020 + .byte W12 + .byte En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte VOL , 50*mus_rg_pokeyashi_mvl/mxv + .byte N12 , En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte N12 , En1 , v092 + .byte W12 + .byte VOL , 67*mus_rg_pokeyashi_mvl/mxv + .byte N12 , En1 , v020 + .byte W12 + .byte PEND +mus_rg_pokeyashi_4_001: + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N12 , En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte VOL , 50*mus_rg_pokeyashi_mvl/mxv + .byte N12 , En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte N24 , En1 , v092 + .byte W06 + .byte MOD , 7 + .byte W03 + .byte BEND , c_v-7 + .byte W03 + .byte VOL , 68*mus_rg_pokeyashi_mvl/mxv + .byte BEND , c_v-15 + .byte W03 + .byte c_v-26 + .byte W03 + .byte c_v-39 + .byte W03 + .byte c_v-51 + .byte W03 + .byte PEND +mus_rg_pokeyashi_4_B1: +mus_rg_pokeyashi_4_002: + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N12 , Cn1 , v092 + .byte W12 + .byte Cn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte VOL , 50*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn1 , v092 + .byte W12 + .byte VOL , 67*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn1 , v020 + .byte W12 + .byte PEND +mus_rg_pokeyashi_4_003: + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte VOL , 50*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn1 , v092 + .byte W12 + .byte VOL , 68*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn1 , v020 + .byte W12 + .byte PEND +mus_rg_pokeyashi_4_004: + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Cs1 , v092 + .byte W12 + .byte Cs1 , v020 + .byte W12 + .byte En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte VOL , 50*mus_rg_pokeyashi_mvl/mxv + .byte N12 , En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte N12 , En1 , v092 + .byte W12 + .byte VOL , 67*mus_rg_pokeyashi_mvl/mxv + .byte N12 , En1 , v020 + .byte W12 + .byte PEND +mus_rg_pokeyashi_4_005: + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N12 , En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte VOL , 50*mus_rg_pokeyashi_mvl/mxv + .byte N12 , En1 , v092 + .byte W12 + .byte En1 , v020 + .byte W12 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte N12 , En1 , v092 + .byte W12 + .byte VOL , 68*mus_rg_pokeyashi_mvl/mxv + .byte N12 , En1 , v020 + .byte W12 + .byte PEND +mus_rg_pokeyashi_4_006: + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Cn1 , v092 + .byte W12 + .byte Cn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte VOL , 50*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn1 , v092 + .byte W12 + .byte VOL , 67*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn1 , v020 + .byte W12 + .byte PEND +mus_rg_pokeyashi_4_007: + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte VOL , 50*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn1 , v092 + .byte W12 + .byte Fn1 , v020 + .byte W12 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte N24 , Fn1 , v092 + .byte W06 + .byte MOD , 7 + .byte W03 + .byte BEND , c_v-7 + .byte W03 + .byte VOL , 68*mus_rg_pokeyashi_mvl/mxv + .byte BEND , c_v-15 + .byte W03 + .byte c_v-26 + .byte W03 + .byte c_v-39 + .byte W03 + .byte c_v-51 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_pokeyashi_4_000 + .byte PATT + .word mus_rg_pokeyashi_4_001 + .byte PATT + .word mus_rg_pokeyashi_4_002 + .byte PATT + .word mus_rg_pokeyashi_4_003 + .byte PATT + .word mus_rg_pokeyashi_4_004 + .byte PATT + .word mus_rg_pokeyashi_4_005 + .byte PATT + .word mus_rg_pokeyashi_4_006 + .byte PATT + .word mus_rg_pokeyashi_4_007 + .byte PATT + .word mus_rg_pokeyashi_4_000 + .byte PATT + .word mus_rg_pokeyashi_4_001 + .byte PATT + .word mus_rg_pokeyashi_4_002 + .byte PATT + .word mus_rg_pokeyashi_4_003 + .byte PATT + .word mus_rg_pokeyashi_4_004 + .byte PATT + .word mus_rg_pokeyashi_4_005 + .byte PATT + .word mus_rg_pokeyashi_4_006 + .byte PATT + .word mus_rg_pokeyashi_4_007 + .byte PATT + .word mus_rg_pokeyashi_4_000 + .byte PATT + .word mus_rg_pokeyashi_4_001 + .byte MOD , 0 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte BEND , c_v+0 + .byte N96 , Fn1 , v092 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte VOL , 68*mus_rg_pokeyashi_mvl/mxv + .byte W24 + .byte 79*mus_rg_pokeyashi_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte N96 , En1 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte VOL , 68*mus_rg_pokeyashi_mvl/mxv + .byte W24 + .byte 79*mus_rg_pokeyashi_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 65*mus_rg_pokeyashi_mvl/mxv + .byte BEND , c_v+0 + .byte N96 , Gs1 , v096 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte VOL , 72*mus_rg_pokeyashi_mvl/mxv + .byte W24 + .byte 82*mus_rg_pokeyashi_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 68*mus_rg_pokeyashi_mvl/mxv + .byte BEND , c_v+0 + .byte N48 , An1 , v104 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte VOL , 77*mus_rg_pokeyashi_mvl/mxv + .byte N48 , Fn1 , v108 + .byte W12 + .byte BEND , c_v-4 + .byte W03 + .byte c_v-7 + .byte W03 + .byte c_v-12 + .byte W03 + .byte c_v-16 + .byte W03 + .byte VOL , 90*mus_rg_pokeyashi_mvl/mxv + .byte BEND , c_v-23 + .byte W03 + .byte c_v-29 + .byte W03 + .byte c_v-33 + .byte W03 + .byte c_v-39 + .byte W03 + .byte c_v-43 + .byte W03 + .byte c_v-46 + .byte W03 + .byte c_v-48 + .byte W03 + .byte c_v-53 + .byte W03 + .byte GOTO + .word mus_rg_pokeyashi_4_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_pokeyashi_5: + .byte KEYSH , mus_rg_pokeyashi_key+0 + .byte VOICE , 13 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 28*mus_rg_pokeyashi_mvl/mxv + .byte BEND , c_v+1 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_pokeyashi_5_B1: + .byte VOICE , 13 + .byte PAN , c_v-32 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn3 , v096 + .byte W12 + .byte Fn3 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En3 , v096 + .byte W12 + .byte En3 , v032 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Cn4 , v096 + .byte W12 + .byte Cn4 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 , v096 + .byte W12 + .byte Bn3 , v032 + .byte W12 +mus_rg_pokeyashi_5_000: + .byte PAN , c_v-32 + .byte N12 , Gs3 , v096 + .byte W12 + .byte Gs3 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An3 , v096 + .byte W12 + .byte An3 , v032 + .byte W12 + .byte PAN , c_v-32 + .byte VOL , 45*mus_rg_pokeyashi_mvl/mxv + .byte N12 , As3 , v096 + .byte W12 + .byte As3 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Bn3 , v096 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte PEND +mus_rg_pokeyashi_5_001: + .byte PAN , c_v-32 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn3 , v096 + .byte W12 + .byte Fn3 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En3 , v096 + .byte W12 + .byte En3 , v032 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Cn4 , v096 + .byte W12 + .byte Cn4 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 , v096 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte PEND +mus_rg_pokeyashi_5_002: + .byte PAN , c_v-32 + .byte N12 , Gs3 , v096 + .byte W12 + .byte Gs3 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An3 , v096 + .byte W12 + .byte An3 , v032 + .byte W12 + .byte PAN , c_v-32 + .byte W24 + .byte c_v+32 + .byte N12 , Bn3 , v096 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte PEND +mus_rg_pokeyashi_5_003: + .byte PAN , c_v-32 + .byte N12 , Fn3 , v096 + .byte W12 + .byte Fn3 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En3 , v096 + .byte W12 + .byte En3 , v032 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Cn4 , v096 + .byte W12 + .byte Cn4 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 , v096 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_pokeyashi_5_000 + .byte PATT + .word mus_rg_pokeyashi_5_001 + .byte PAN , c_v-32 + .byte N12 , Gs3 , v096 + .byte W12 + .byte Gs3 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An3 , v096 + .byte W12 + .byte An3 , v032 + .byte W12 + .byte PAN , c_v-32 + .byte W24 + .byte c_v+32 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Bn3 , v096 + .byte W12 + .byte VOL , 68*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Bn3 , v032 + .byte W12 + .byte PATT + .word mus_rg_pokeyashi_5_003 + .byte PAN , c_v-32 + .byte N12 , Gs3 , v096 + .byte W12 + .byte Gs3 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An3 , v096 + .byte W12 + .byte An3 , v032 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , As3 , v096 + .byte W12 + .byte As3 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 , v096 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte PATT + .word mus_rg_pokeyashi_5_003 + .byte PAN , c_v-32 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Gs3 , v096 + .byte W12 + .byte Gs3 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An3 , v096 + .byte W12 + .byte An3 , v032 + .byte W12 + .byte PAN , c_v-32 + .byte W24 + .byte c_v+32 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Bn3 , v096 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Fn3 , v096 + .byte W12 + .byte Fn3 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En3 , v096 + .byte W12 + .byte En3 , v032 + .byte W12 + .byte PAN , c_v-32 + .byte VOL , 68*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Cn4 , v096 + .byte W12 + .byte Cn4 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 , v096 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte PAN , c_v-32 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Gs3 , v096 + .byte W12 + .byte Gs3 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An3 , v096 + .byte W12 + .byte An3 , v032 + .byte W12 + .byte PAN , c_v-32 + .byte W24 + .byte c_v+32 + .byte VOL , 68*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Bn3 , v096 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte PATT + .word mus_rg_pokeyashi_5_001 + .byte PAN , c_v-32 + .byte N12 , Gs3 , v096 + .byte W12 + .byte Gs3 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An3 , v096 + .byte W12 + .byte An3 , v032 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gs3 , v096 + .byte W12 + .byte Gs3 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En3 , v096 + .byte W12 + .byte En3 , v032 + .byte W12 + .byte PATT + .word mus_rg_pokeyashi_5_003 + .byte PATT + .word mus_rg_pokeyashi_5_000 + .byte PATT + .word mus_rg_pokeyashi_5_001 + .byte PAN , c_v-32 + .byte N12 , Gs3 , v096 + .byte W12 + .byte Gs3 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An3 , v096 + .byte W12 + .byte An3 , v032 + .byte W12 + .byte PAN , c_v-32 + .byte W24 + .byte c_v+32 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Bn3 , v096 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte PATT + .word mus_rg_pokeyashi_5_001 + .byte PATT + .word mus_rg_pokeyashi_5_000 + .byte PAN , c_v-32 + .byte VOL , 68*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Fn3 , v096 + .byte W12 + .byte Fn3 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En3 , v096 + .byte W12 + .byte En3 , v032 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Cn4 , v096 + .byte W12 + .byte Cn4 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 , v096 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte PATT + .word mus_rg_pokeyashi_5_002 + .byte VOICE , 14 + .byte PAN , c_v-32 + .byte N12 , Fn3 , v096 + .byte W12 + .byte Fn3 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En3 , v096 + .byte W12 + .byte En3 , v032 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Cn4 , v096 + .byte W12 + .byte Cn4 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 , v096 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte PAN , c_v-32 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Gs3 , v096 + .byte W12 + .byte Gs3 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An3 , v096 + .byte W12 + .byte An3 , v032 + .byte W12 + .byte PAN , c_v-32 + .byte VOL , 48*mus_rg_pokeyashi_mvl/mxv + .byte N12 , As3 , v096 + .byte W12 + .byte As3 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte VOL , 60*mus_rg_pokeyashi_mvl/mxv + .byte N12 , Bn3 , v096 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte PATT + .word mus_rg_pokeyashi_5_003 + .byte PAN , c_v-32 + .byte N12 , Gs3 , v096 + .byte W12 + .byte Gs3 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An3 , v096 + .byte W12 + .byte An3 , v032 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Bn3 , v096 + .byte W12 + .byte Bn3 , v032 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Dn4 , v104 + .byte W12 + .byte Dn4 , v044 + .byte W12 + .byte GOTO + .word mus_rg_pokeyashi_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_pokeyashi_6: + .byte KEYSH , mus_rg_pokeyashi_key+0 + .byte VOICE , 58 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte MOD , 1 + .byte VOL , 22*mus_rg_pokeyashi_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_pokeyashi_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+16 + .byte VOL , 41*mus_rg_pokeyashi_mvl/mxv + .byte N24 , Fn4 , v096 + .byte W12 + .byte PAN , c_v-16 + .byte MOD , 4 + .byte W12 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N24 , En4 + .byte W12 + .byte PAN , c_v-16 + .byte MOD , 4 + .byte W12 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte VOL , 38*mus_rg_pokeyashi_mvl/mxv + .byte N24 , Cn5 + .byte W12 + .byte PAN , c_v-16 + .byte MOD , 4 + .byte W12 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte VOL , 31*mus_rg_pokeyashi_mvl/mxv + .byte N24 , Bn4 + .byte W12 + .byte PAN , c_v-16 + .byte MOD , 4 + .byte W12 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte VOL , 19*mus_rg_pokeyashi_mvl/mxv + .byte N24 , Gs4 + .byte W12 + .byte PAN , c_v-16 + .byte MOD , 4 + .byte W12 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte VOL , 25*mus_rg_pokeyashi_mvl/mxv + .byte N24 , An4 + .byte W12 + .byte PAN , c_v-16 + .byte MOD , 4 + .byte W12 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte VOL , 32*mus_rg_pokeyashi_mvl/mxv + .byte N24 , As4 + .byte W12 + .byte PAN , c_v-16 + .byte MOD , 4 + .byte W12 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte VOL , 42*mus_rg_pokeyashi_mvl/mxv + .byte N24 , Bn4 + .byte W12 + .byte PAN , c_v-16 + .byte MOD , 4 + .byte W12 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte VOL , 38*mus_rg_pokeyashi_mvl/mxv + .byte N24 , Fn4 + .byte W12 + .byte PAN , c_v-16 + .byte MOD , 4 + .byte W12 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte VOL , 33*mus_rg_pokeyashi_mvl/mxv + .byte N24 , En4 + .byte W12 + .byte PAN , c_v-16 + .byte MOD , 4 + .byte W12 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte VOL , 37*mus_rg_pokeyashi_mvl/mxv + .byte N24 , Cn5 + .byte W12 + .byte PAN , c_v-16 + .byte MOD , 7 + .byte W12 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte VOL , 31*mus_rg_pokeyashi_mvl/mxv + .byte N24 , Bn4 + .byte W12 + .byte PAN , c_v-16 + .byte MOD , 7 + .byte W12 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte VOL , 37*mus_rg_pokeyashi_mvl/mxv + .byte N24 , Gs4 + .byte W12 + .byte PAN , c_v-16 + .byte MOD , 8 + .byte W12 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte VOL , 37*mus_rg_pokeyashi_mvl/mxv + .byte N24 , An4 + .byte W12 + .byte PAN , c_v-16 + .byte MOD , 7 + .byte W12 + .byte PAN , c_v+16 + .byte N24 , Bn4 , v120 + .byte W12 + .byte PAN , c_v-16 + .byte W12 + .byte c_v+16 + .byte MOD , 0 + .byte N24 , Dn5 , v064 + .byte W12 + .byte PAN , c_v-16 + .byte MOD , 7 + .byte W12 + .byte GOTO + .word mus_rg_pokeyashi_6_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_pokeyashi_7: + .byte KEYSH , mus_rg_pokeyashi_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 19*mus_rg_pokeyashi_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_pokeyashi_7_B1: +mus_rg_pokeyashi_7_000: + .byte N03 , Fn4 , v120 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , Fn4 , v064 + .byte W06 + .byte PAN , c_v-32 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W06 + .byte PAN , c_v-32 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W06 + .byte PAN , c_v-32 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W06 + .byte PAN , c_v-32 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W06 + .byte PEND +mus_rg_pokeyashi_7_001: + .byte N03 , Fn4 , v080 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W06 + .byte PAN , c_v-32 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , Fn4 , v088 + .byte W06 + .byte Fn4 , v096 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , Fn4 , v100 + .byte W06 + .byte PAN , c_v-32 + .byte N03 , Fn4 , v104 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , Fn4 , v108 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W06 + .byte PAN , c_v-32 + .byte N03 , Fn4 , v116 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , Fn4 , v120 + .byte W06 + .byte Gs4 , v124 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , Gn4 , v127 + .byte W06 + .byte PAN , c_v-32 + .byte N03 , Fs4 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , Fn4 + .byte W06 + .byte PEND +mus_rg_pokeyashi_7_002: + .byte N03 , En4 , v120 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , En4 , v064 + .byte W06 + .byte PAN , c_v-32 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W06 + .byte PAN , c_v-32 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W06 + .byte PAN , c_v-32 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W06 + .byte PAN , c_v-32 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W06 + .byte PEND +mus_rg_pokeyashi_7_003: + .byte N03 , En4 , v080 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W06 + .byte PAN , c_v-32 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , En4 , v088 + .byte W06 + .byte En4 , v096 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , En4 , v100 + .byte W06 + .byte PAN , c_v-32 + .byte N03 , En4 , v104 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , En4 , v108 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W06 + .byte PAN , c_v-32 + .byte N03 , En4 , v116 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , En4 , v120 + .byte W06 + .byte Cs4 , v124 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , Dn4 , v127 + .byte W06 + .byte PAN , c_v-32 + .byte N03 , Ds4 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , En4 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_pokeyashi_7_000 + .byte PATT + .word mus_rg_pokeyashi_7_001 + .byte PATT + .word mus_rg_pokeyashi_7_002 + .byte PATT + .word mus_rg_pokeyashi_7_003 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_rg_pokeyashi_7_000 + .byte PATT + .word mus_rg_pokeyashi_7_001 + .byte PATT + .word mus_rg_pokeyashi_7_002 + .byte PATT + .word mus_rg_pokeyashi_7_003 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_pokeyashi_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_pokeyashi_8: + .byte KEYSH , mus_rg_pokeyashi_key+0 + .byte VOICE , 0 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , En3 , v080 + .byte W12 + .byte Dn3 , v048 + .byte W12 + .byte Dn3 , v064 + .byte W36 + .byte En3 , v080 + .byte W12 + .byte Dn3 , v048 + .byte W12 + .byte Dn3 , v068 + .byte W12 + .byte W96 + .byte En3 , v084 + .byte W12 + .byte Dn3 , v052 + .byte W12 + .byte Dn3 , v068 + .byte W36 + .byte En3 , v080 + .byte W12 + .byte Dn3 , v048 + .byte W12 + .byte Dn3 , v068 + .byte W12 + .byte N24 , Cn1 , v032 + .byte W24 + .byte Cn1 , v060 + .byte W24 + .byte Cn1 , v096 + .byte W24 + .byte N12 , Dn1 , v076 + .byte W24 + .byte W96 + .byte W96 + .byte W96 +mus_rg_pokeyashi_8_000: + .byte N24 , Cn1 , v032 + .byte W24 + .byte Cn1 , v064 + .byte W24 + .byte Cn1 , v096 + .byte W24 + .byte N12 , Dn1 , v080 + .byte W24 + .byte PEND +mus_rg_pokeyashi_8_B1: + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte N12 , En3 , v080 + .byte W12 + .byte Dn3 , v048 + .byte W12 + .byte Dn3 , v068 + .byte W36 + .byte En3 , v080 + .byte W12 + .byte Dn3 , v048 + .byte W12 + .byte Dn3 , v068 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_rg_pokeyashi_8_000 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_rg_pokeyashi_8_000 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 68*mus_rg_pokeyashi_mvl/mxv + .byte N42 , An2 , v120 + .byte W42 + .byte N03 , Dn2 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , An1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte N36 , Cn1 , v120 + .byte W36 + .byte N12 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte Dn1 , v064 + .byte W12 + .byte Dn1 , v044 + .byte W12 + .byte Dn1 , v028 + .byte W12 + .byte N36 , Cs2 , v120 + .byte W36 + .byte N12 , Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Dn1 , v064 + .byte W12 + .byte Dn1 , v048 + .byte W12 + .byte Dn1 , v032 + .byte W12 + .byte N24 , Cn1 , v120 + .byte W24 + .byte N12 , Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 , v092 + .byte W12 + .byte Dn1 , v124 + .byte W12 + .byte Dn1 , v060 + .byte W12 + .byte Dn1 , v040 + .byte W12 + .byte GOTO + .word mus_rg_pokeyashi_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_pokeyashi_9: + .byte KEYSH , mus_rg_pokeyashi_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 56*mus_rg_pokeyashi_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte N06 , Cn4 , v127 + .byte W24 + .byte W96 + .byte W72 + .byte N06 + .byte W24 + .byte W96 + .byte W72 + .byte N06 + .byte W24 +mus_rg_pokeyashi_9_B1: + .byte W96 + .byte W72 + .byte N06 , Cn4 , v127 + .byte W24 + .byte W96 + .byte W72 + .byte N06 + .byte W24 + .byte W96 + .byte W72 + .byte N06 + .byte W24 + .byte W96 + .byte W72 + .byte N06 + .byte W24 + .byte W96 + .byte W72 + .byte N06 + .byte W24 + .byte W96 + .byte W72 + .byte N06 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte N06 + .byte W24 + .byte W96 + .byte W72 + .byte N06 + .byte W24 + .byte W96 + .byte W72 + .byte N06 + .byte W24 + .byte W96 + .byte W72 + .byte N06 + .byte W24 + .byte W96 + .byte W72 + .byte N06 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_pokeyashi_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_rg_pokeyashi_10: + .byte KEYSH , mus_rg_pokeyashi_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 28*mus_rg_pokeyashi_mvl/mxv + .byte W96 + .byte W96 +mus_rg_pokeyashi_10_000: + .byte VOL , 22*mus_rg_pokeyashi_mvl/mxv + .byte N01 , Gn5 , v127 + .byte W06 + .byte N01 + .byte W06 + .byte N03 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N03 + .byte W12 + .byte VOL , 28*mus_rg_pokeyashi_mvl/mxv + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N03 + .byte W12 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte N03 + .byte W12 + .byte PEND +mus_rg_pokeyashi_10_001: + .byte N01 , Gn5 , v127 + .byte W06 + .byte N01 + .byte W90 + .byte PEND + .byte PATT + .word mus_rg_pokeyashi_10_000 + .byte PATT + .word mus_rg_pokeyashi_10_001 + .byte PATT + .word mus_rg_pokeyashi_10_000 + .byte PATT + .word mus_rg_pokeyashi_10_001 +mus_rg_pokeyashi_10_B1: + .byte PATT + .word mus_rg_pokeyashi_10_000 + .byte PATT + .word mus_rg_pokeyashi_10_001 + .byte PATT + .word mus_rg_pokeyashi_10_000 + .byte PATT + .word mus_rg_pokeyashi_10_001 + .byte PATT + .word mus_rg_pokeyashi_10_000 + .byte PATT + .word mus_rg_pokeyashi_10_001 + .byte PATT + .word mus_rg_pokeyashi_10_000 + .byte PATT + .word mus_rg_pokeyashi_10_001 + .byte PATT + .word mus_rg_pokeyashi_10_000 + .byte PATT + .word mus_rg_pokeyashi_10_001 + .byte PATT + .word mus_rg_pokeyashi_10_000 + .byte PATT + .word mus_rg_pokeyashi_10_001 + .byte VOL , 22*mus_rg_pokeyashi_mvl/mxv + .byte W48 + .byte 28*mus_rg_pokeyashi_mvl/mxv + .byte W24 + .byte 34*mus_rg_pokeyashi_mvl/mxv + .byte W24 + .byte W96 + .byte PATT + .word mus_rg_pokeyashi_10_000 + .byte PATT + .word mus_rg_pokeyashi_10_001 + .byte PATT + .word mus_rg_pokeyashi_10_000 + .byte PATT + .word mus_rg_pokeyashi_10_001 + .byte PATT + .word mus_rg_pokeyashi_10_000 + .byte PATT + .word mus_rg_pokeyashi_10_001 + .byte PATT + .word mus_rg_pokeyashi_10_000 + .byte PATT + .word mus_rg_pokeyashi_10_001 + .byte PATT + .word mus_rg_pokeyashi_10_000 + .byte PATT + .word mus_rg_pokeyashi_10_001 + .byte N01 , Gn5 , v127 + .byte W12 + .byte Gn5 , v064 + .byte W12 + .byte Gn5 , v127 + .byte W12 + .byte Gn5 , v064 + .byte W12 + .byte Gn5 , v127 + .byte W12 + .byte Gn5 , v060 + .byte W12 + .byte Gn5 , v127 + .byte W12 + .byte Gn5 , v060 + .byte W12 + .byte Gn5 , v127 + .byte W12 + .byte Gn5 , v064 + .byte W12 + .byte Gn5 , v127 + .byte W12 + .byte Gn5 , v064 + .byte W12 + .byte VOL , 39*mus_rg_pokeyashi_mvl/mxv + .byte N01 , Gn5 , v127 + .byte W12 + .byte Gn5 , v060 + .byte W12 + .byte VOL , 45*mus_rg_pokeyashi_mvl/mxv + .byte N24 , Gn5 , v112 + .byte W24 + .byte VOL , 34*mus_rg_pokeyashi_mvl/mxv + .byte N01 , Gn5 , v127 + .byte W12 + .byte Gn5 , v060 + .byte W12 + .byte Gn5 , v127 + .byte W12 + .byte Gn5 , v064 + .byte W12 + .byte Gn5 , v127 + .byte W12 + .byte Gn5 , v060 + .byte W12 + .byte Gn5 , v127 + .byte W12 + .byte Gn5 , v060 + .byte W12 + .byte Gn5 , v127 + .byte W12 + .byte Gn5 , v096 + .byte W06 + .byte Gn5 , v092 + .byte W06 + .byte Gn5 , v127 + .byte W12 + .byte Gn5 , v064 + .byte W12 + .byte VOL , 38*mus_rg_pokeyashi_mvl/mxv + .byte N01 , Gn5 , v127 + .byte W12 + .byte Gn5 , v096 + .byte W12 + .byte VOL , 45*mus_rg_pokeyashi_mvl/mxv + .byte N24 , Gn5 , v112 + .byte W24 + .byte GOTO + .word mus_rg_pokeyashi_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_pokeyashi: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_pokeyashi_pri @ Priority + .byte mus_rg_pokeyashi_rev @ Reverb. + + .word mus_rg_pokeyashi_grp + + .word mus_rg_pokeyashi_1 + .word mus_rg_pokeyashi_2 + .word mus_rg_pokeyashi_3 + .word mus_rg_pokeyashi_4 + .word mus_rg_pokeyashi_5 + .word mus_rg_pokeyashi_6 + .word mus_rg_pokeyashi_7 + .word mus_rg_pokeyashi_8 + .word mus_rg_pokeyashi_9 + .word mus_rg_pokeyashi_10 + + .end diff --git a/sound/songs/mus_rg_purin.s b/sound/songs/mus_rg_purin.s new file mode 100644 index 0000000000..4b1822247f --- /dev/null +++ b/sound/songs/mus_rg_purin.s @@ -0,0 +1,505 @@ + .include "MPlayDef.s" + + .equ mus_rg_purin_grp, voicegroup_86A25F0 + .equ mus_rg_purin_pri, 5 + .equ mus_rg_purin_rev, reverb_set+50 + .equ mus_rg_purin_mvl, 127 + .equ mus_rg_purin_key, 0 + .equ mus_rg_purin_tbs, 1 + .equ mus_rg_purin_exg, 0 + .equ mus_rg_purin_cmp, 1 + + .section .rodata + .global mus_rg_purin + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_purin_1: + .byte KEYSH , mus_rg_purin_key+0 + .byte TEMPO , 146*mus_rg_purin_tbs/2 + .byte VOICE , 21 + .byte LFOS , 50 + .byte BENDR , 12 + .byte VOL , 22*mus_rg_purin_mvl/mxv + .byte PAN , c_v-16 + .byte BEND , c_v+2 + .byte N52 , En5 , v100 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 17*mus_rg_purin_mvl/mxv + .byte W06 + .byte 11*mus_rg_purin_mvl/mxv + .byte W06 + .byte 7*mus_rg_purin_mvl/mxv + .byte W06 + .byte 3*mus_rg_purin_mvl/mxv + .byte MOD , 20 + .byte W06 + .byte VOL , 2*mus_rg_purin_mvl/mxv + .byte W04 + .byte N12 , Bn5 + .byte W02 + .byte MOD , 1 + .byte VOL , 22*mus_rg_purin_mvl/mxv + .byte W10 + .byte N36 , Gs5 + .byte W08 + .byte VOL , 17*mus_rg_purin_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 13*mus_rg_purin_mvl/mxv + .byte W03 + .byte 11*mus_rg_purin_mvl/mxv + .byte W06 + .byte 7*mus_rg_purin_mvl/mxv + .byte W03 + .byte 7*mus_rg_purin_mvl/mxv + .byte W03 + .byte 4*mus_rg_purin_mvl/mxv + .byte W03 + .byte 4*mus_rg_purin_mvl/mxv + .byte W03 + .byte MOD , 1 + .byte W01 + .byte N48 , Fs5 + .byte W02 + .byte VOL , 22*mus_rg_purin_mvl/mxv + .byte W09 + .byte MOD , 7 + .byte W09 + .byte VOL , 15*mus_rg_purin_mvl/mxv + .byte W06 + .byte 13*mus_rg_purin_mvl/mxv + .byte W03 + .byte 11*mus_rg_purin_mvl/mxv + .byte W06 + .byte 8*mus_rg_purin_mvl/mxv + .byte W03 + .byte 4*mus_rg_purin_mvl/mxv + .byte W06 + .byte 2*mus_rg_purin_mvl/mxv + .byte W03 + .byte MOD , 1 + .byte W01 + .byte N12 , Gs5 + .byte W02 + .byte VOL , 22*mus_rg_purin_mvl/mxv + .byte W10 + .byte N36 , An5 + .byte W08 + .byte VOL , 17*mus_rg_purin_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 13*mus_rg_purin_mvl/mxv + .byte W03 + .byte 11*mus_rg_purin_mvl/mxv + .byte W03 + .byte 9*mus_rg_purin_mvl/mxv + .byte W03 + .byte 7*mus_rg_purin_mvl/mxv + .byte W03 + .byte 5*mus_rg_purin_mvl/mxv + .byte W06 + .byte 4*mus_rg_purin_mvl/mxv + .byte W03 + .byte MOD , 1 + .byte W01 + .byte N48 , Gs5 + .byte W02 + .byte VOL , 22*mus_rg_purin_mvl/mxv + .byte W09 + .byte MOD , 7 + .byte W09 + .byte VOL , 17*mus_rg_purin_mvl/mxv + .byte W06 + .byte 14*mus_rg_purin_mvl/mxv + .byte W06 + .byte 11*mus_rg_purin_mvl/mxv + .byte W06 + .byte 7*mus_rg_purin_mvl/mxv + .byte MOD , 19 + .byte W03 + .byte VOL , 6*mus_rg_purin_mvl/mxv + .byte W03 + .byte 4*mus_rg_purin_mvl/mxv + .byte W03 + .byte MOD , 1 + .byte W01 + .byte N24 , Fs5 + .byte W02 + .byte VOL , 22*mus_rg_purin_mvl/mxv + .byte W09 + .byte MOD , 7 + .byte W03 + .byte VOL , 11*mus_rg_purin_mvl/mxv + .byte W06 + .byte 7*mus_rg_purin_mvl/mxv + .byte W03 + .byte MOD , 1 + .byte W01 + .byte N24 , Gs5 + .byte W02 + .byte VOL , 22*mus_rg_purin_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte W03 + .byte VOL , 11*mus_rg_purin_mvl/mxv + .byte W09 + .byte 6*mus_rg_purin_mvl/mxv + .byte W03 + .byte MOD , 2 + .byte W01 + .byte N60 , En5 + .byte W01 + .byte MOD , 1 + .byte W01 + .byte VOL , 22*mus_rg_purin_mvl/mxv + .byte W12 + .byte MOD , 7 + .byte W06 + .byte VOL , 17*mus_rg_purin_mvl/mxv + .byte W03 + .byte 13*mus_rg_purin_mvl/mxv + .byte W06 + .byte 11*mus_rg_purin_mvl/mxv + .byte W03 + .byte 9*mus_rg_purin_mvl/mxv + .byte W06 + .byte 7*mus_rg_purin_mvl/mxv + .byte W06 + .byte 5*mus_rg_purin_mvl/mxv + .byte W06 + .byte 2*mus_rg_purin_mvl/mxv + .byte W18 + .byte MOD , 0 + .byte W24 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_purin_2: + .byte KEYSH , mus_rg_purin_key+0 + .byte VOICE , 21 + .byte LFOS , 50 + .byte BENDR , 12 + .byte VOL , 68*mus_rg_purin_mvl/mxv + .byte BEND , c_v+0 + .byte N48 , En4 , v127 + .byte W12 + .byte MOD , 4 + .byte W06 + .byte VOL , 45*mus_rg_purin_mvl/mxv + .byte W06 + .byte 34*mus_rg_purin_mvl/mxv + .byte W06 + .byte 29*mus_rg_purin_mvl/mxv + .byte W03 + .byte 22*mus_rg_purin_mvl/mxv + .byte W03 + .byte 18*mus_rg_purin_mvl/mxv + .byte W03 + .byte 15*mus_rg_purin_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte VOL , 9*mus_rg_purin_mvl/mxv + .byte W03 + .byte 7*mus_rg_purin_mvl/mxv + .byte W03 + .byte MOD , 2 + .byte VOL , 68*mus_rg_purin_mvl/mxv + .byte N12 , Bn4 + .byte W12 + .byte N36 , Gs4 + .byte W12 + .byte MOD , 4 + .byte VOL , 45*mus_rg_purin_mvl/mxv + .byte W06 + .byte 34*mus_rg_purin_mvl/mxv + .byte W03 + .byte 22*mus_rg_purin_mvl/mxv + .byte W03 + .byte 16*mus_rg_purin_mvl/mxv + .byte W03 + .byte 11*mus_rg_purin_mvl/mxv + .byte W03 + .byte 6*mus_rg_purin_mvl/mxv + .byte MOD , 8 + .byte W03 + .byte VOL , 4*mus_rg_purin_mvl/mxv + .byte W03 + .byte MOD , 2 + .byte VOL , 68*mus_rg_purin_mvl/mxv + .byte N48 , Fs4 + .byte W12 + .byte MOD , 4 + .byte W06 + .byte VOL , 45*mus_rg_purin_mvl/mxv + .byte W06 + .byte 34*mus_rg_purin_mvl/mxv + .byte W06 + .byte 22*mus_rg_purin_mvl/mxv + .byte W06 + .byte 17*mus_rg_purin_mvl/mxv + .byte W06 + .byte 11*mus_rg_purin_mvl/mxv + .byte MOD , 8 + .byte W06 + .byte 2 + .byte VOL , 68*mus_rg_purin_mvl/mxv + .byte N12 , Gs4 + .byte W12 + .byte N36 , An4 + .byte W06 + .byte VOL , 45*mus_rg_purin_mvl/mxv + .byte W06 + .byte MOD , 4 + .byte VOL , 34*mus_rg_purin_mvl/mxv + .byte W06 + .byte 22*mus_rg_purin_mvl/mxv + .byte W06 + .byte 16*mus_rg_purin_mvl/mxv + .byte W06 + .byte 11*mus_rg_purin_mvl/mxv + .byte MOD , 8 + .byte W06 + .byte 2 + .byte VOL , 68*mus_rg_purin_mvl/mxv + .byte N48 , Gs4 + .byte W12 + .byte MOD , 4 + .byte W06 + .byte VOL , 45*mus_rg_purin_mvl/mxv + .byte W06 + .byte 34*mus_rg_purin_mvl/mxv + .byte W06 + .byte 26*mus_rg_purin_mvl/mxv + .byte W03 + .byte 22*mus_rg_purin_mvl/mxv + .byte W03 + .byte 18*mus_rg_purin_mvl/mxv + .byte W03 + .byte 16*mus_rg_purin_mvl/mxv + .byte W03 + .byte 11*mus_rg_purin_mvl/mxv + .byte MOD , 8 + .byte W06 + .byte 2 + .byte VOL , 68*mus_rg_purin_mvl/mxv + .byte N24 , Fs4 + .byte W09 + .byte VOL , 45*mus_rg_purin_mvl/mxv + .byte W03 + .byte 33*mus_rg_purin_mvl/mxv + .byte W03 + .byte MOD , 4 + .byte VOL , 22*mus_rg_purin_mvl/mxv + .byte W03 + .byte 11*mus_rg_purin_mvl/mxv + .byte W06 + .byte MOD , 2 + .byte VOL , 68*mus_rg_purin_mvl/mxv + .byte N24 , Gs4 + .byte W06 + .byte VOL , 45*mus_rg_purin_mvl/mxv + .byte W03 + .byte 34*mus_rg_purin_mvl/mxv + .byte W03 + .byte 22*mus_rg_purin_mvl/mxv + .byte MOD , 4 + .byte W03 + .byte VOL , 11*mus_rg_purin_mvl/mxv + .byte W09 + .byte MOD , 2 + .byte VOL , 68*mus_rg_purin_mvl/mxv + .byte N68 , En4 + .byte W12 + .byte MOD , 4 + .byte W06 + .byte VOL , 45*mus_rg_purin_mvl/mxv + .byte W03 + .byte 38*mus_rg_purin_mvl/mxv + .byte W03 + .byte 34*mus_rg_purin_mvl/mxv + .byte W03 + .byte 27*mus_rg_purin_mvl/mxv + .byte W03 + .byte 24*mus_rg_purin_mvl/mxv + .byte W06 + .byte 23*mus_rg_purin_mvl/mxv + .byte W06 + .byte MOD , 10 + .byte VOL , 21*mus_rg_purin_mvl/mxv + .byte W06 + .byte 19*mus_rg_purin_mvl/mxv + .byte W06 + .byte 17*mus_rg_purin_mvl/mxv + .byte W03 + .byte 14*mus_rg_purin_mvl/mxv + .byte W03 + .byte 11*mus_rg_purin_mvl/mxv + .byte W03 + .byte 8*mus_rg_purin_mvl/mxv + .byte W03 + .byte 6*mus_rg_purin_mvl/mxv + .byte W03 + .byte 5*mus_rg_purin_mvl/mxv + .byte W03 + .byte 2*mus_rg_purin_mvl/mxv + .byte W15 + .byte MOD , 0 + .byte W09 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_purin_3: + .byte KEYSH , mus_rg_purin_key+0 + .byte VOICE , 80 + .byte LFOS , 62 + .byte BENDR , 12 + .byte VOL , 45*mus_rg_purin_mvl/mxv + .byte PAN , c_v-63 + .byte BEND , c_v+1 + .byte W06 + .byte N48 , En4 , v032 + .byte W18 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W06 + .byte N12 , Bn4 + .byte W12 + .byte N36 , Gs4 + .byte W06 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W06 + .byte N48 , Fs4 + .byte W18 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W06 + .byte N12 , Gs4 + .byte W12 + .byte N36 , An4 + .byte W06 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W06 + .byte N48 , Gs4 + .byte W18 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W06 + .byte N24 , Fs4 + .byte W06 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte W06 + .byte N24 , Gs4 + .byte W06 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte W06 + .byte N60 , En4 + .byte W06 + .byte MOD , 5 + .byte W36 + .byte VOL , 34*mus_rg_purin_mvl/mxv + .byte W12 + .byte 22*mus_rg_purin_mvl/mxv + .byte W18 + .byte MOD , 0 + .byte W18 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_purin_4: + .byte KEYSH , mus_rg_purin_key+0 + .byte VOICE , 81 + .byte VOL , 45*mus_rg_purin_mvl/mxv + .byte PAN , c_v+63 + .byte LFOS , 62 + .byte BENDR , 12 + .byte BEND , c_v+2 + .byte W12 + .byte N52 , En4 , v024 + .byte W12 + .byte MOD , 3 + .byte W36 + .byte W03 + .byte 0 + .byte W01 + .byte N12 , Bn4 + .byte W12 + .byte N36 , Gs4 + .byte W14 + .byte MOD , 4 + .byte W06 + .byte W15 + .byte 0 + .byte W01 + .byte N48 , Fs4 + .byte W14 + .byte MOD , 4 + .byte W32 + .byte W02 + .byte N12 , Gs4 + .byte W02 + .byte MOD , 0 + .byte W10 + .byte N36 , An4 + .byte W11 + .byte MOD , 4 + .byte W09 + .byte W16 + .byte N48 , Gs4 + .byte W02 + .byte MOD , 0 + .byte W12 + .byte 4 + .byte W32 + .byte W02 + .byte N24 , Fs4 + .byte W02 + .byte MOD , 0 + .byte W22 + .byte N24 , Gs4 + .byte W08 + .byte W16 + .byte N48 , En4 + .byte W08 + .byte MOD , 4 + .byte W24 + .byte VOL , 34*mus_rg_purin_mvl/mxv + .byte W12 + .byte 23*mus_rg_purin_mvl/mxv + .byte W36 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_purin: + .byte 4 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_purin_pri @ Priority + .byte mus_rg_purin_rev @ Reverb. + + .word mus_rg_purin_grp + + .word mus_rg_purin_1 + .word mus_rg_purin_2 + .word mus_rg_purin_3 + .word mus_rg_purin_4 + + .end diff --git a/sound/songs/mus_rg_rival1.s b/sound/songs/mus_rg_rival1.s new file mode 100644 index 0000000000..8985c88ae3 --- /dev/null +++ b/sound/songs/mus_rg_rival1.s @@ -0,0 +1,1515 @@ + .include "MPlayDef.s" + + .equ mus_rg_rival1_grp, voicegroup_86AF76C + .equ mus_rg_rival1_pri, 0 + .equ mus_rg_rival1_rev, reverb_set+50 + .equ mus_rg_rival1_mvl, 127 + .equ mus_rg_rival1_key, 0 + .equ mus_rg_rival1_tbs, 1 + .equ mus_rg_rival1_exg, 0 + .equ mus_rg_rival1_cmp, 1 + + .section .rodata + .global mus_rg_rival1 + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_rival1_1: + .byte KEYSH , mus_rg_rival1_key+0 + .byte TEMPO , 168*mus_rg_rival1_tbs/2 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 53*mus_rg_rival1_mvl/mxv + .byte N06 , Dn4 , v088 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N36 , Fn3 + .byte W36 + .byte VOL , 50*mus_rg_rival1_mvl/mxv + .byte N03 , Dn3 + .byte W24 + .byte N03 + .byte W24 + .byte PAN , c_v-62 + .byte W09 + .byte VOICE , 82 + .byte VOL , 53*mus_rg_rival1_mvl/mxv + .byte W03 + .byte N12 , An3 , v127 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 +mus_rg_rival1_1_B1: + .byte VOICE , 82 + .byte PAN , c_v-64 + .byte N24 , Bn3 , v127 + .byte W24 + .byte N12 , As3 + .byte W12 + .byte N24 , An3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte N12 , Dn4 + .byte W36 + .byte PAN , c_v+63 + .byte N24 + .byte W24 + .byte N12 , Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte N12 , En4 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte N12 , Cn4 + .byte W36 + .byte PAN , c_v-64 + .byte N24 , Gn4 + .byte W24 + .byte PAN , c_v+0 + .byte N12 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte VOICE , 80 + .byte PAN , c_v-64 + .byte N12 , Dn4 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fs4 + .byte W12 + .byte PAN , c_v-63 + .byte N12 , An3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn4 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Fs4 + .byte W12 + .byte An3 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Cn4 , v120 + .byte W06 + .byte N12 , Dn3 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn4 + .byte W24 + .byte Dn3 + .byte W12 + .byte N24 , Cn4 + .byte W12 + .byte PAN , c_v-63 + .byte W12 + .byte N12 , Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte Bn3 + .byte W12 + .byte PAN , c_v-63 + .byte N12 , Cn4 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fn4 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn4 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cn4 + .byte W06 + .byte As3 , v120 + .byte W06 + .byte Gn3 , v127 + .byte W06 + .byte Ds3 , v120 + .byte W06 + .byte N12 , Gn3 , v127 + .byte W36 + .byte PAN , c_v+63 + .byte N24 , As3 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v-64 + .byte N24 , Gn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N36 , Fn3 + .byte W36 + .byte N24 , Fs3 + .byte W24 + .byte N12 , Dn3 + .byte W36 + .byte PAN , c_v+63 + .byte N24 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N36 , Fn3 + .byte W36 + .byte N24 , Fs3 + .byte W24 + .byte N12 , Dn3 + .byte W36 + .byte PAN , c_v-64 + .byte N24 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte GOTO + .word mus_rg_rival1_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_rival1_2: + .byte KEYSH , mus_rg_rival1_key+0 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 77*mus_rg_rival1_mvl/mxv + .byte N06 , Bn4 , v108 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N12 , Gn4 + .byte W12 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N36 , Dn4 + .byte W36 + .byte N03 , Gn3 + .byte W24 + .byte N03 + .byte W24 + .byte Dn3 + .byte W09 + .byte VOL , 46*mus_rg_rival1_mvl/mxv + .byte W03 + .byte VOICE , 81 + .byte N12 , Dn4 , v127 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 +mus_rg_rival1_2_B1: + .byte N24 , Gn4 , v127 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte N36 , Fn4 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N24 , Fs4 + .byte W24 + .byte N12 , Gn4 + .byte W36 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 + .byte W12 + .byte As4 + .byte W12 + .byte Bn4 + .byte W12 + .byte N24 , Cn5 + .byte W24 + .byte N12 , Gn4 + .byte W12 + .byte N36 , As4 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N24 , Bn4 + .byte W24 + .byte N12 , Cn5 + .byte W36 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N96 , Dn5 + .byte W24 + .byte MOD , 5 + .byte W72 + .byte N36 + .byte W36 + .byte MOD , 0 + .byte N24 , Fs5 , v064 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , Dn5 , v127 + .byte W12 + .byte Cn5 + .byte W12 + .byte Dn5 + .byte W12 + .byte VOL , 11*mus_rg_rival1_mvl/mxv + .byte N96 , Cn5 + .byte W15 + .byte VOL , 17*mus_rg_rival1_mvl/mxv + .byte W09 + .byte MOD , 5 + .byte VOL , 22*mus_rg_rival1_mvl/mxv + .byte W09 + .byte 29*mus_rg_rival1_mvl/mxv + .byte W06 + .byte 38*mus_rg_rival1_mvl/mxv + .byte W06 + .byte 51*mus_rg_rival1_mvl/mxv + .byte W03 + .byte 68*mus_rg_rival1_mvl/mxv + .byte W24 + .byte 72*mus_rg_rival1_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 60*mus_rg_rival1_mvl/mxv + .byte N12 , Cn4 + .byte W36 + .byte N24 , As4 + .byte W24 + .byte N12 , Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N96 , Gn4 + .byte W12 + .byte W24 + .byte MOD , 5 + .byte W60 + .byte 0 + .byte N12 + .byte W12 + .byte Gn3 + .byte W36 + .byte N24 + .byte W24 + .byte N12 , Gn4 , v064 + .byte W12 + .byte Dn4 + .byte W12 + .byte N06 , Dn5 + .byte W12 + .byte W24 + .byte Gn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N04 , Dn5 + .byte W04 + .byte Cn5 + .byte W04 + .byte An4 + .byte W04 + .byte N24 , Fs4 + .byte W24 + .byte N12 , An4 + .byte W12 + .byte Gn3 , v127 + .byte W36 + .byte N24 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte GOTO + .word mus_rg_rival1_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_rival1_3: + .byte KEYSH , mus_rg_rival1_key+0 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 45*mus_rg_rival1_mvl/mxv + .byte N12 , Dn4 , v096 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Cs4 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Cn4 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Bn3 + .byte W24 + .byte PAN , c_v-32 + .byte BEND , c_v+0 + .byte N03 , Gn3 + .byte W24 + .byte PAN , c_v+32 + .byte N03 + .byte W24 + .byte PAN , c_v-32 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte PAN , c_v+33 + .byte N06 + .byte W12 + .byte N03 + .byte W12 +mus_rg_rival1_3_B1: + .byte VOICE , 30 + .byte PAN , c_v-32 + .byte VOL , 33*mus_rg_rival1_mvl/mxv + .byte N12 , Gn2 , v127 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte N24 , Gn2 + .byte W24 + .byte PAN , c_v+32 + .byte N06 , Dn3 + .byte W12 + .byte N12 , Gn2 + .byte W12 + .byte N03 , Dn2 , v120 + .byte W06 + .byte Gn2 + .byte W06 + .byte N06 , Dn3 , v127 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gn2 + .byte W36 + .byte PAN , c_v+32 + .byte N36 , As2 + .byte W12 + .byte MOD , 9 + .byte W03 + .byte PAN , c_v+16 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v-16 + .byte W09 + .byte c_v-32 + .byte N12 + .byte W12 + .byte MOD , 0 + .byte N06 , Bn2 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gn2 + .byte W12 + .byte N06 , Cn3 + .byte W12 + .byte PAN , c_v+32 + .byte N24 , Gn2 + .byte W24 + .byte N06 , Cn3 + .byte W12 + .byte N12 , Gn2 + .byte W12 + .byte N06 , Ds2 , v120 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 , v127 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Cn3 + .byte W36 + .byte PAN , c_v-32 + .byte N36 , Gn2 + .byte W12 + .byte MOD , 9 + .byte W03 + .byte PAN , c_v-13 + .byte W06 + .byte c_v-1 + .byte W03 + .byte c_v+12 + .byte W06 + .byte c_v+32 + .byte W06 + .byte c_v+32 + .byte MOD , 0 + .byte N12 , Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Fs2 + .byte W12 + .byte An2 + .byte W24 + .byte PAN , c_v+32 + .byte N06 , Fs2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Fs2 + .byte W24 + .byte An2 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Fs2 + .byte W12 + .byte An2 + .byte W24 + .byte PAN , c_v-32 + .byte N06 , Fs2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Fs2 + .byte W12 + .byte Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , En2 + .byte W12 + .byte Cn3 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , En2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , En2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+0 + .byte VOL , 55*mus_rg_rival1_mvl/mxv + .byte BEND , c_v+63 + .byte N48 , En2 , v120 + .byte W03 + .byte BEND , c_v+47 + .byte W03 + .byte c_v+36 + .byte W03 + .byte c_v+19 + .byte W03 + .byte MOD , 9 + .byte BEND , c_v+3 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v-19 + .byte W03 + .byte c_v-28 + .byte W06 + .byte c_v-39 + .byte W03 + .byte c_v-49 + .byte W03 + .byte c_v-59 + .byte W03 + .byte c_v-64 + .byte W12 + .byte PAN , c_v+32 + .byte MOD , 0 + .byte VOL , 32*mus_rg_rival1_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Cn3 , v127 + .byte W12 + .byte PAN , c_v+4 + .byte N12 , Bn2 + .byte W12 + .byte PAN , c_v-23 + .byte N12 , As2 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , An2 + .byte W12 + .byte Gn2 + .byte W12 + .byte As2 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v-32 + .byte N24 , Gn2 + .byte W24 + .byte N12 , As2 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Gn2 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte PAN , c_v-32 + .byte N24 , Gn2 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Gn2 + .byte W24 + .byte N06 , Dn3 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gn2 + .byte W12 + .byte As2 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gn2 + .byte W24 + .byte As2 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Gn2 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte PAN , c_v-32 + .byte N24 , Gn2 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte PAN , c_v+32 + .byte N24 , Gn2 + .byte W24 + .byte N06 , Dn3 + .byte W12 + .byte GOTO + .word mus_rg_rival1_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_rival1_4: + .byte KEYSH , mus_rg_rival1_key+0 + .byte VOICE , 38 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-16 + .byte VOL , 79*mus_rg_rival1_mvl/mxv + .byte W96 + .byte W60 + .byte N12 , As1 , v127 + .byte W12 + .byte An1 + .byte W12 + .byte Gs1 + .byte W12 +mus_rg_rival1_4_B1: + .byte N36 , Gn1 , v127 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Dn1 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N03 , Dn2 + .byte W12 + .byte N06 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , Fs1 + .byte W12 + .byte Gn1 + .byte W36 + .byte N24 , As1 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Gn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Ds2 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N06 , As1 + .byte W12 + .byte N24 , Gn1 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N03 , Gn2 + .byte W12 + .byte N06 + .byte W06 + .byte Fn2 + .byte W06 + .byte N12 , Bn1 + .byte W12 + .byte Cn2 + .byte W36 + .byte N24 , Ds1 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 , Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , Dn2 + .byte W12 + .byte N06 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , An1 + .byte W12 + .byte N06 , Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Cs1 + .byte W12 + .byte N06 , Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte N06 , Cn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte N06 , Cn2 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , Bn1 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N03 , Bn1 + .byte W12 + .byte N12 , Cn2 + .byte W36 + .byte N24 + .byte W24 + .byte N12 , Bn1 + .byte W12 + .byte As1 + .byte W12 + .byte An1 + .byte W12 +mus_rg_rival1_4_000: + .byte N24 , Gn1 , v127 + .byte W24 + .byte N12 , Dn1 + .byte W12 + .byte N36 , Fn1 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Fs1 + .byte W24 + .byte PEND +mus_rg_rival1_4_001: + .byte N12 , Gn1 , v127 + .byte W12 + .byte N03 , Dn2 + .byte W12 + .byte N12 , Dn1 + .byte W12 + .byte N24 , Fn1 + .byte W24 + .byte N03 , Dn2 + .byte W12 + .byte N12 , Fs1 + .byte W12 + .byte N03 , Dn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_rival1_4_000 + .byte PATT + .word mus_rg_rival1_4_001 + .byte GOTO + .word mus_rg_rival1_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_rival1_5: + .byte KEYSH , mus_rg_rival1_key+0 + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte VOL , 45*mus_rg_rival1_mvl/mxv + .byte N06 , Bn4 , v080 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N12 , Gn4 + .byte W12 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N36 , Dn4 + .byte W36 + .byte N03 , Gn3 + .byte W24 + .byte N03 + .byte W24 + .byte N03 + .byte W48 +mus_rg_rival1_5_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_rival1_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_rival1_6: + .byte KEYSH , mus_rg_rival1_key+0 + .byte VOICE , 92 + .byte VOL , 34*mus_rg_rival1_mvl/mxv + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte W96 + .byte W60 + .byte N12 , Dn4 , v127 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 +mus_rg_rival1_6_B1: + .byte N24 , Gn4 , v127 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte N36 , Fn4 + .byte W36 + .byte N24 , Fs4 + .byte W24 + .byte N12 , Gn4 + .byte W36 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte As4 + .byte W12 + .byte Bn4 + .byte W12 + .byte N24 , Cn5 + .byte W24 + .byte N12 , Gn4 + .byte W12 + .byte N36 , As4 + .byte W36 + .byte N24 , Bn4 + .byte W24 + .byte N12 , Cn5 + .byte W36 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N96 , Dn5 + .byte W96 + .byte N36 + .byte W36 + .byte N24 , Fs5 , v064 + .byte W24 + .byte N12 , Dn5 , v127 + .byte W12 + .byte Cn5 + .byte W12 + .byte Dn5 + .byte W12 + .byte W48 + .byte N48 , Cn5 + .byte W48 + .byte N12 , Cn4 + .byte W36 + .byte N24 , As4 + .byte W24 + .byte N12 , Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N96 , Gn4 + .byte W12 + .byte W84 + .byte N12 + .byte W12 + .byte Gn3 + .byte W36 + .byte N24 + .byte W24 + .byte N12 , Gn4 , v064 + .byte W12 + .byte Dn4 + .byte W12 + .byte N06 , Dn5 + .byte W12 + .byte W24 + .byte Gn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N04 , Dn5 + .byte W04 + .byte Cn5 + .byte W04 + .byte An4 + .byte W04 + .byte N24 , Fs4 + .byte W24 + .byte N12 , An4 + .byte W12 + .byte Gn3 , v127 + .byte W36 + .byte N24 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte GOTO + .word mus_rg_rival1_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_rival1_7: + .byte KEYSH , mus_rg_rival1_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 79*mus_rg_rival1_mvl/mxv + .byte W96 + .byte 78*mus_rg_rival1_mvl/mxv + .byte N06 , Cn1 , v120 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Dn1 , v100 + .byte W06 + .byte N06 + .byte W06 +mus_rg_rival1_7_B1: + .byte VOL , 68*mus_rg_rival1_mvl/mxv + .byte N06 , Cn1 , v127 + .byte N36 , Cs2 + .byte W24 + .byte N06 , Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte N36 , An2 + .byte W24 + .byte N06 , Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Dn1 , v100 + .byte W12 + .byte Bn1 , v127 + .byte N36 , An2 + .byte W06 + .byte N06 , An1 , v120 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte N24 , Gn2 + .byte W24 + .byte N06 , Dn1 , v100 + .byte N36 , Cs2 + .byte W12 + .byte N06 , Cn1 , v120 + .byte W12 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v127 + .byte N36 , Cs2 + .byte W24 + .byte N06 , Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte N36 , An2 + .byte W24 + .byte N06 , Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Dn1 , v100 + .byte W06 + .byte N06 + .byte W06 + .byte Cn2 , v127 + .byte N24 , En2 , v120 + .byte W06 + .byte N06 , An1 , v127 + .byte W06 + .byte Gn1 , v124 + .byte W06 + .byte Fn1 , v127 + .byte W06 + .byte Dn1 , v100 + .byte N12 , Cs2 , v080 + .byte W12 + .byte N06 , Cn1 , v120 + .byte N36 , An2 + .byte W24 + .byte N06 , Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v127 + .byte W36 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W24 + .byte Bn0 , v104 + .byte W06 + .byte Bn0 , v072 + .byte W06 + .byte Cn1 , v127 + .byte W24 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v124 + .byte W24 + .byte Cn1 , v120 + .byte W12 + .byte Dn1 , v100 + .byte W12 + .byte En1 , v104 + .byte W06 + .byte En1 , v072 + .byte W06 + .byte Dn1 , v100 + .byte N36 , En2 , v120 + .byte W36 + .byte N06 , Cn1 + .byte W12 + .byte Dn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte An1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Dn1 , v100 + .byte N06 , Ds1 , v120 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W24 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte En1 + .byte W06 +mus_rg_rival1_7_000: + .byte N06 , Cn1 , v120 + .byte W24 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Dn1 , v100 + .byte W24 + .byte PEND + .byte Cn1 , v120 + .byte W24 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte Bn0 + .byte W06 + .byte PATT + .word mus_rg_rival1_7_000 + .byte GOTO + .word mus_rg_rival1_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_rival1_8: + .byte KEYSH , mus_rg_rival1_key+0 + .byte VOICE , 127 + .byte PAN , c_v+0 + .byte VOL , 47*mus_rg_rival1_mvl/mxv + .byte W48 + .byte N03 , Cn5 , v120 + .byte W18 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte N03 + .byte W18 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v104 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v048 + .byte W06 +mus_rg_rival1_8_B1: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v040 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v060 + .byte W06 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v044 + .byte W24 + .byte Cn5 , v048 + .byte W24 + .byte N03 + .byte W24 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v104 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v044 + .byte W24 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W24 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v108 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v068 + .byte W06 + .byte Cn5 , v040 + .byte W18 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v108 + .byte W06 + .byte Cn5 , v048 + .byte W18 + .byte Cn5 , v068 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v076 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v076 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte W96 +mus_rg_rival1_8_000: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v052 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v052 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v060 + .byte W06 + .byte PEND +mus_rg_rival1_8_001: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v052 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v052 + .byte W12 + .byte Cn5 , v120 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_rival1_8_000 + .byte PATT + .word mus_rg_rival1_8_001 + .byte GOTO + .word mus_rg_rival1_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_rival1_9: + .byte KEYSH , mus_rg_rival1_key+0 + .byte VOICE , 126 + .byte PAN , c_v+0 + .byte VOL , 56*mus_rg_rival1_mvl/mxv + .byte W84 + .byte N12 , Gn5 , v120 + .byte W12 + .byte W96 +mus_rg_rival1_9_B1: + .byte W96 + .byte W36 + .byte N12 , Gn5 , v100 + .byte W24 + .byte Gn5 , v108 + .byte W24 + .byte Gn5 , v120 + .byte W12 + .byte W96 + .byte W36 + .byte N12 + .byte W48 + .byte N12 + .byte W12 + .byte W84 + .byte N12 + .byte W12 + .byte W72 + .byte N12 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte GOTO + .word mus_rg_rival1_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_rival1: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_rival1_pri @ Priority + .byte mus_rg_rival1_rev @ Reverb. + + .word mus_rg_rival1_grp + + .word mus_rg_rival1_1 + .word mus_rg_rival1_2 + .word mus_rg_rival1_3 + .word mus_rg_rival1_4 + .word mus_rg_rival1_5 + .word mus_rg_rival1_6 + .word mus_rg_rival1_7 + .word mus_rg_rival1_8 + .word mus_rg_rival1_9 + + .end diff --git a/sound/songs/mus_rg_rival2.s b/sound/songs/mus_rg_rival2.s new file mode 100644 index 0000000000..10c9ac45b7 --- /dev/null +++ b/sound/songs/mus_rg_rival2.s @@ -0,0 +1,1436 @@ + .include "MPlayDef.s" + + .equ mus_rg_rival2_grp, voicegroup_86AF76C + .equ mus_rg_rival2_pri, 0 + .equ mus_rg_rival2_rev, reverb_set+50 + .equ mus_rg_rival2_mvl, 127 + .equ mus_rg_rival2_key, 0 + .equ mus_rg_rival2_tbs, 1 + .equ mus_rg_rival2_exg, 0 + .equ mus_rg_rival2_cmp, 1 + + .section .rodata + .global mus_rg_rival2 + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_rival2_1: + .byte KEYSH , mus_rg_rival2_key+0 + .byte TEMPO , 168*mus_rg_rival2_tbs/2 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 60*mus_rg_rival2_mvl/mxv + .byte PAN , c_v-32 + .byte VOL , 45*mus_rg_rival2_mvl/mxv + .byte N03 , Dn3 , v072 + .byte W24 + .byte N03 + .byte W24 + .byte PAN , c_v-62 + .byte W09 + .byte VOICE , 82 + .byte VOL , 53*mus_rg_rival2_mvl/mxv + .byte W03 + .byte N12 , An3 , v127 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 +mus_rg_rival2_1_B1: + .byte VOICE , 82 + .byte PAN , c_v-64 + .byte N24 , Bn3 , v127 + .byte W24 + .byte N12 , As3 + .byte W12 + .byte N24 , An3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte N12 , Dn4 + .byte W36 + .byte PAN , c_v+63 + .byte N24 + .byte W24 + .byte N12 , Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte N12 , En4 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte N12 , Cn4 + .byte W36 + .byte PAN , c_v-64 + .byte N24 , Gn4 + .byte W24 + .byte PAN , c_v+0 + .byte N12 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte VOICE , 80 + .byte PAN , c_v-64 + .byte N12 , Dn4 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fs4 + .byte W12 + .byte PAN , c_v-63 + .byte N12 , An3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn4 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Fs4 + .byte W12 + .byte An3 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Cn4 , v120 + .byte W06 + .byte N12 , Dn3 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn4 + .byte W24 + .byte Dn3 + .byte W12 + .byte N24 , Cn4 + .byte W12 + .byte PAN , c_v-63 + .byte W12 + .byte N12 , Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte Bn3 + .byte W12 + .byte PAN , c_v-63 + .byte N12 , Cn4 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fn4 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn4 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cn4 + .byte W06 + .byte As3 , v120 + .byte W06 + .byte Gn3 , v127 + .byte W06 + .byte Ds3 , v120 + .byte W06 + .byte N12 , Gn3 , v127 + .byte W36 + .byte PAN , c_v+63 + .byte N24 , As3 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v-64 + .byte N24 , Gn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N36 , Fn3 + .byte W36 + .byte N24 , Fs3 + .byte W24 + .byte N12 , Dn3 + .byte W36 + .byte PAN , c_v+63 + .byte N24 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N36 , Fn3 + .byte W36 + .byte N24 , Fs3 + .byte W24 + .byte N12 , Dn3 + .byte W36 + .byte PAN , c_v-64 + .byte N24 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte GOTO + .word mus_rg_rival2_1_B1 + .byte W96 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_rival2_2: + .byte KEYSH , mus_rg_rival2_key+0 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 45*mus_rg_rival2_mvl/mxv + .byte N03 , Gn3 , v096 + .byte W24 + .byte N03 + .byte W24 + .byte Dn3 + .byte W09 + .byte VOL , 46*mus_rg_rival2_mvl/mxv + .byte W03 + .byte VOICE , 81 + .byte N12 , Dn4 , v127 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 +mus_rg_rival2_2_B1: + .byte N24 , Gn4 , v127 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte N36 , Fn4 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N24 , Fs4 + .byte W24 + .byte N12 , Gn4 + .byte W36 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 + .byte W12 + .byte As4 + .byte W12 + .byte Bn4 + .byte W12 + .byte N24 , Cn5 + .byte W24 + .byte N12 , Gn4 + .byte W12 + .byte N36 , As4 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N24 , Bn4 + .byte W24 + .byte N12 , Cn5 + .byte W36 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N96 , Dn5 + .byte W24 + .byte MOD , 5 + .byte W72 + .byte N36 + .byte W36 + .byte MOD , 0 + .byte N24 , Fs5 , v064 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , Dn5 , v127 + .byte W12 + .byte Cn5 + .byte W12 + .byte Dn5 + .byte W12 + .byte VOL , 11*mus_rg_rival2_mvl/mxv + .byte N96 , Cn5 + .byte W15 + .byte VOL , 17*mus_rg_rival2_mvl/mxv + .byte W09 + .byte MOD , 5 + .byte VOL , 22*mus_rg_rival2_mvl/mxv + .byte W09 + .byte 29*mus_rg_rival2_mvl/mxv + .byte W06 + .byte 38*mus_rg_rival2_mvl/mxv + .byte W06 + .byte 51*mus_rg_rival2_mvl/mxv + .byte W03 + .byte 68*mus_rg_rival2_mvl/mxv + .byte W24 + .byte 72*mus_rg_rival2_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 60*mus_rg_rival2_mvl/mxv + .byte N12 , Cn4 + .byte W36 + .byte N24 , As4 + .byte W24 + .byte N12 , Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N96 , Gn4 + .byte W12 + .byte W24 + .byte MOD , 5 + .byte W60 + .byte 0 + .byte N12 + .byte W12 + .byte Gn3 + .byte W36 + .byte N24 + .byte W24 + .byte N12 , Gn4 , v064 + .byte W12 + .byte Dn4 + .byte W12 + .byte N06 , Dn5 + .byte W12 + .byte W24 + .byte Gn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N04 , Dn5 + .byte W04 + .byte Cn5 + .byte W04 + .byte An4 + .byte W04 + .byte N24 , Fs4 + .byte W24 + .byte N12 , An4 + .byte W12 + .byte Gn3 , v127 + .byte W36 + .byte N24 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte GOTO + .word mus_rg_rival2_2_B1 + .byte W96 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_rival2_3: + .byte KEYSH , mus_rg_rival2_key+0 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 60*mus_rg_rival2_mvl/mxv + .byte PAN , c_v-32 + .byte BEND , c_v+0 + .byte N03 , Gn3 , v127 + .byte W24 + .byte PAN , c_v+32 + .byte N03 + .byte W24 + .byte PAN , c_v-32 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte PAN , c_v+33 + .byte N06 + .byte W12 + .byte N03 + .byte W12 +mus_rg_rival2_3_B1: + .byte VOICE , 30 + .byte PAN , c_v-32 + .byte VOL , 33*mus_rg_rival2_mvl/mxv + .byte N12 , Gn2 , v127 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte N24 , Gn2 + .byte W24 + .byte PAN , c_v+32 + .byte N06 , Dn3 + .byte W12 + .byte N12 , Gn2 + .byte W12 + .byte N03 , Dn2 , v120 + .byte W06 + .byte Gn2 + .byte W06 + .byte N06 , Dn3 , v127 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gn2 + .byte W36 + .byte PAN , c_v+32 + .byte N36 , As2 + .byte W12 + .byte MOD , 9 + .byte W03 + .byte PAN , c_v+16 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v-16 + .byte W09 + .byte c_v-32 + .byte N12 + .byte W12 + .byte MOD , 0 + .byte N06 , Bn2 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gn2 + .byte W12 + .byte N06 , Cn3 + .byte W12 + .byte PAN , c_v+32 + .byte N24 , Gn2 + .byte W24 + .byte N06 , Cn3 + .byte W12 + .byte N12 , Gn2 + .byte W12 + .byte N06 , Ds2 , v120 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 , v127 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Cn3 + .byte W36 + .byte PAN , c_v-32 + .byte N36 , Gn2 + .byte W12 + .byte MOD , 9 + .byte W03 + .byte PAN , c_v-13 + .byte W06 + .byte c_v-1 + .byte W03 + .byte c_v+12 + .byte W06 + .byte c_v+32 + .byte W06 + .byte c_v+32 + .byte MOD , 0 + .byte N12 , Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Fs2 + .byte W12 + .byte An2 + .byte W24 + .byte PAN , c_v+32 + .byte N06 , Fs2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Fs2 + .byte W24 + .byte An2 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Fs2 + .byte W12 + .byte An2 + .byte W24 + .byte PAN , c_v-32 + .byte N06 , Fs2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Fs2 + .byte W12 + .byte Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , En2 + .byte W12 + .byte Cn3 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , En2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , En2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+0 + .byte VOL , 55*mus_rg_rival2_mvl/mxv + .byte BEND , c_v+63 + .byte N48 , En2 , v120 + .byte W03 + .byte BEND , c_v+47 + .byte W03 + .byte c_v+36 + .byte W03 + .byte c_v+19 + .byte W03 + .byte MOD , 9 + .byte BEND , c_v+3 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v-19 + .byte W03 + .byte c_v-28 + .byte W06 + .byte c_v-39 + .byte W03 + .byte c_v-49 + .byte W03 + .byte c_v-59 + .byte W03 + .byte c_v-64 + .byte W12 + .byte PAN , c_v+32 + .byte MOD , 0 + .byte VOL , 32*mus_rg_rival2_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Cn3 , v127 + .byte W12 + .byte PAN , c_v+4 + .byte N12 , Bn2 + .byte W12 + .byte PAN , c_v-23 + .byte N12 , As2 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , An2 + .byte W12 + .byte Gn2 + .byte W12 + .byte As2 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v-32 + .byte N24 , Gn2 + .byte W24 + .byte N12 , As2 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Gn2 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte PAN , c_v-32 + .byte N24 , Gn2 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Gn2 + .byte W24 + .byte N06 , Dn3 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gn2 + .byte W12 + .byte As2 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gn2 + .byte W24 + .byte As2 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Gn2 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte PAN , c_v-32 + .byte N24 , Gn2 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte PAN , c_v+32 + .byte N24 , Gn2 + .byte W24 + .byte N06 , Dn3 + .byte W12 + .byte GOTO + .word mus_rg_rival2_3_B1 + .byte W96 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_rival2_4: + .byte KEYSH , mus_rg_rival2_key+0 + .byte VOICE , 38 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-16 + .byte VOL , 79*mus_rg_rival2_mvl/mxv + .byte W60 + .byte N12 , As1 , v127 + .byte W12 + .byte An1 + .byte W12 + .byte Gs1 + .byte W12 +mus_rg_rival2_4_B1: + .byte N36 , Gn1 , v127 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Dn1 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N03 , Dn2 + .byte W12 + .byte N06 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , Fs1 + .byte W12 + .byte Gn1 + .byte W36 + .byte N24 , As1 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Gn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Ds2 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N06 , As1 + .byte W12 + .byte N24 , Gn1 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N03 , Gn2 + .byte W12 + .byte N06 + .byte W06 + .byte Fn2 + .byte W06 + .byte N12 , Bn1 + .byte W12 + .byte Cn2 + .byte W36 + .byte N24 , Ds1 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 , Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , Dn2 + .byte W12 + .byte N06 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , An1 + .byte W12 + .byte N06 , Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Cs1 + .byte W12 + .byte N06 , Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte N06 , Cn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte N06 , Cn2 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , Bn1 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N03 , Bn1 + .byte W12 + .byte N12 , Cn2 + .byte W36 + .byte N24 + .byte W24 + .byte N12 , Bn1 + .byte W12 + .byte As1 + .byte W12 + .byte An1 + .byte W12 +mus_rg_rival2_4_000: + .byte N24 , Gn1 , v127 + .byte W24 + .byte N12 , Dn1 + .byte W12 + .byte N36 , Fn1 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Fs1 + .byte W24 + .byte PEND +mus_rg_rival2_4_001: + .byte N12 , Gn1 , v127 + .byte W12 + .byte N03 , Dn2 + .byte W12 + .byte N12 , Dn1 + .byte W12 + .byte N24 , Fn1 + .byte W24 + .byte N03 , Dn2 + .byte W12 + .byte N12 , Fs1 + .byte W12 + .byte N03 , Dn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_rival2_4_000 + .byte PATT + .word mus_rg_rival2_4_001 + .byte GOTO + .word mus_rg_rival2_4_B1 + .byte W96 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_rival2_5: + .byte KEYSH , mus_rg_rival2_key+0 + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte VOL , 45*mus_rg_rival2_mvl/mxv + .byte N03 , Gn3 , v080 + .byte W24 + .byte N03 + .byte W24 + .byte N03 + .byte W48 +mus_rg_rival2_5_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_rival2_5_B1 + .byte W96 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_rival2_6: + .byte KEYSH , mus_rg_rival2_key+0 + .byte VOICE , 92 + .byte VOL , 34*mus_rg_rival2_mvl/mxv + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte W60 + .byte N12 , Dn4 , v127 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 +mus_rg_rival2_6_B1: + .byte N24 , Gn4 , v127 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte N36 , Fn4 + .byte W36 + .byte N24 , Fs4 + .byte W24 + .byte N12 , Gn4 + .byte W36 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte As4 + .byte W12 + .byte Bn4 + .byte W12 + .byte N24 , Cn5 + .byte W24 + .byte N12 , Gn4 + .byte W12 + .byte N36 , As4 + .byte W36 + .byte N24 , Bn4 + .byte W24 + .byte N12 , Cn5 + .byte W36 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N96 , Dn5 + .byte W96 + .byte N36 + .byte W36 + .byte N24 , Fs5 , v064 + .byte W24 + .byte N12 , Dn5 , v127 + .byte W12 + .byte Cn5 + .byte W12 + .byte Dn5 + .byte W12 + .byte W48 + .byte N48 , Cn5 + .byte W48 + .byte N12 , Cn4 + .byte W36 + .byte N24 , As4 + .byte W24 + .byte N12 , Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N96 , Gn4 + .byte W12 + .byte W84 + .byte N12 + .byte W12 + .byte Gn3 + .byte W36 + .byte N24 + .byte W24 + .byte N12 , Gn4 , v064 + .byte W12 + .byte Dn4 + .byte W12 + .byte N06 , Dn5 + .byte W12 + .byte W24 + .byte Gn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N04 , Dn5 + .byte W04 + .byte Cn5 + .byte W04 + .byte An4 + .byte W04 + .byte N24 , Fs4 + .byte W24 + .byte N12 , An4 + .byte W12 + .byte Gn3 , v127 + .byte W36 + .byte N24 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte GOTO + .word mus_rg_rival2_6_B1 + .byte W96 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_rival2_7: + .byte KEYSH , mus_rg_rival2_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 78*mus_rg_rival2_mvl/mxv + .byte N06 , Cn1 , v120 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Dn1 , v100 + .byte W06 + .byte N06 + .byte W06 +mus_rg_rival2_7_B1: + .byte VOL , 68*mus_rg_rival2_mvl/mxv + .byte N06 , Cn1 , v127 + .byte N36 , Cs2 + .byte W24 + .byte N06 , Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte N36 , An2 + .byte W24 + .byte N06 , Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Dn1 , v100 + .byte W12 + .byte Bn1 , v127 + .byte N36 , An2 + .byte W06 + .byte N06 , An1 , v120 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte N24 , Gn2 + .byte W24 + .byte N06 , Dn1 , v100 + .byte N36 , Cs2 + .byte W12 + .byte N06 , Cn1 , v120 + .byte W12 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v127 + .byte N36 , Cs2 + .byte W24 + .byte N06 , Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte N36 , An2 + .byte W24 + .byte N06 , Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Dn1 , v100 + .byte W06 + .byte N06 + .byte W06 + .byte Cn2 , v127 + .byte N24 , En2 , v120 + .byte W06 + .byte N06 , An1 , v127 + .byte W06 + .byte Gn1 , v124 + .byte W06 + .byte Fn1 , v127 + .byte W06 + .byte Dn1 , v100 + .byte N12 , Cs2 , v080 + .byte W12 + .byte N06 , Cn1 , v120 + .byte N36 , An2 + .byte W24 + .byte N06 , Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v127 + .byte W36 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W24 + .byte Bn0 , v104 + .byte W06 + .byte Bn0 , v072 + .byte W06 + .byte Cn1 , v127 + .byte W24 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v124 + .byte W24 + .byte Cn1 , v120 + .byte W12 + .byte Dn1 , v100 + .byte W12 + .byte En1 , v104 + .byte W06 + .byte En1 , v072 + .byte W06 + .byte Dn1 , v100 + .byte N36 , En2 , v120 + .byte W36 + .byte N06 , Cn1 + .byte W12 + .byte Dn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte An1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Dn1 , v100 + .byte N06 , Ds1 , v120 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W24 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte En1 + .byte W06 +mus_rg_rival2_7_000: + .byte N06 , Cn1 , v120 + .byte W24 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Dn1 , v100 + .byte W24 + .byte PEND + .byte Cn1 , v120 + .byte W24 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Dn1 , v100 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte Bn0 + .byte W06 + .byte PATT + .word mus_rg_rival2_7_000 + .byte GOTO + .word mus_rg_rival2_7_B1 + .byte W96 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_rival2_8: + .byte KEYSH , mus_rg_rival2_key+0 + .byte VOICE , 127 + .byte PAN , c_v+0 + .byte VOL , 47*mus_rg_rival2_mvl/mxv + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v104 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v048 + .byte W06 +mus_rg_rival2_8_B1: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v040 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v060 + .byte W06 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v044 + .byte W24 + .byte Cn5 , v048 + .byte W24 + .byte N03 + .byte W24 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v104 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v044 + .byte W24 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W24 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v108 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v068 + .byte W06 + .byte Cn5 , v040 + .byte W18 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v108 + .byte W06 + .byte Cn5 , v048 + .byte W18 + .byte Cn5 , v068 + .byte W06 + .byte Cn5 , v040 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v076 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v076 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte W96 +mus_rg_rival2_8_000: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v052 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v052 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v060 + .byte W06 + .byte PEND +mus_rg_rival2_8_001: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v052 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v052 + .byte W12 + .byte Cn5 , v120 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_rival2_8_000 + .byte PATT + .word mus_rg_rival2_8_001 + .byte GOTO + .word mus_rg_rival2_8_B1 + .byte W96 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_rival2_9: + .byte KEYSH , mus_rg_rival2_key+0 + .byte VOICE , 126 + .byte PAN , c_v+0 + .byte VOL , 56*mus_rg_rival2_mvl/mxv + .byte W96 +mus_rg_rival2_9_B1: + .byte W96 + .byte W36 + .byte N12 , Gn5 , v100 + .byte W24 + .byte Gn5 , v108 + .byte W24 + .byte Gn5 , v120 + .byte W12 + .byte W96 + .byte W36 + .byte N12 + .byte W48 + .byte N12 + .byte W12 + .byte W84 + .byte N12 + .byte W12 + .byte W72 + .byte N12 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte GOTO + .word mus_rg_rival2_9_B1 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_rival2: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_rival2_pri @ Priority + .byte mus_rg_rival2_rev @ Reverb. + + .word mus_rg_rival2_grp + + .word mus_rg_rival2_1 + .word mus_rg_rival2_2 + .word mus_rg_rival2_3 + .word mus_rg_rival2_4 + .word mus_rg_rival2_5 + .word mus_rg_rival2_6 + .word mus_rg_rival2_7 + .word mus_rg_rival2_8 + .word mus_rg_rival2_9 + + .end diff --git a/sound/songs/mus_rg_rocket.s b/sound/songs/mus_rg_rocket.s new file mode 100644 index 0000000000..d5e8f136f9 --- /dev/null +++ b/sound/songs/mus_rg_rocket.s @@ -0,0 +1,711 @@ + .include "MPlayDef.s" + + .equ mus_rg_rocket_grp, voicegroup_86A4804 + .equ mus_rg_rocket_pri, 0 + .equ mus_rg_rocket_rev, reverb_set+50 + .equ mus_rg_rocket_mvl, 127 + .equ mus_rg_rocket_key, 0 + .equ mus_rg_rocket_tbs, 1 + .equ mus_rg_rocket_exg, 0 + .equ mus_rg_rocket_cmp, 1 + + .section .rodata + .global mus_rg_rocket + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_rocket_1: + .byte KEYSH , mus_rg_rocket_key+0 + .byte TEMPO , 146*mus_rg_rocket_tbs/2 + .byte VOICE , 80 + .byte PAN , c_v+0 + .byte VOL , 47*mus_rg_rocket_mvl/mxv + .byte W24 + .byte N12 , Gs2 , v088 + .byte W12 + .byte Gn2 + .byte W12 + .byte VOL , 23*mus_rg_rocket_mvl/mxv + .byte N24 , Gs2 + .byte W03 + .byte VOL , 28*mus_rg_rocket_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte VOL , 36*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 41*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 48*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 56*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 60*mus_rg_rocket_mvl/mxv + .byte W06 + .byte PAN , c_v-64 + .byte MOD , 0 + .byte VOL , 47*mus_rg_rocket_mvl/mxv + .byte N06 , En2 + .byte W24 + .byte N06 + .byte W24 +mus_rg_rocket_1_B1: +mus_rg_rocket_1_000: + .byte N06 , En2 , v088 + .byte W24 + .byte VOL , 23*mus_rg_rocket_mvl/mxv + .byte N24 + .byte W03 + .byte VOL , 28*mus_rg_rocket_mvl/mxv + .byte W03 + .byte MOD , 8 + .byte VOL , 36*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 41*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 48*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 56*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 60*mus_rg_rocket_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 47*mus_rg_rocket_mvl/mxv + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_rocket_1_000 + .byte PATT + .word mus_rg_rocket_1_000 + .byte PATT + .word mus_rg_rocket_1_000 + .byte GOTO + .word mus_rg_rocket_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_rocket_2: + .byte KEYSH , mus_rg_rocket_key+0 + .byte VOICE , 38 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 95*mus_rg_rocket_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Cs3 , v120 + .byte W12 + .byte Cn3 + .byte W12 + .byte N48 , Cs3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 84*mus_rg_rocket_mvl/mxv + .byte W12 + .byte 72*mus_rg_rocket_mvl/mxv + .byte W06 + .byte MOD , 12 + .byte W06 + .byte 0 + .byte VOL , 96*mus_rg_rocket_mvl/mxv + .byte N12 , Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W12 +mus_rg_rocket_2_B1: + .byte N03 , Cs3 , v120 + .byte W24 + .byte VOL , 48*mus_rg_rocket_mvl/mxv + .byte N24 + .byte W06 + .byte MOD , 8 + .byte VOL , 52*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 60*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 72*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 84*mus_rg_rocket_mvl/mxv + .byte MOD , 12 + .byte W03 + .byte VOL , 96*mus_rg_rocket_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte VOL , 48*mus_rg_rocket_mvl/mxv + .byte N24 , Cn3 + .byte W06 + .byte MOD , 8 + .byte VOL , 52*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 60*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 72*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 84*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 96*mus_rg_rocket_mvl/mxv + .byte MOD , 12 + .byte W06 + .byte 0 + .byte N12 , An2 + .byte W12 + .byte As2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte N03 , Cs3 + .byte W24 + .byte VOL , 48*mus_rg_rocket_mvl/mxv + .byte N24 + .byte W06 + .byte MOD , 8 + .byte VOL , 52*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 60*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 72*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 84*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 96*mus_rg_rocket_mvl/mxv + .byte MOD , 12 + .byte W06 + .byte 0 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte VOL , 48*mus_rg_rocket_mvl/mxv + .byte N24 , Cn3 + .byte W06 + .byte MOD , 8 + .byte VOL , 52*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 60*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 72*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 84*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 96*mus_rg_rocket_mvl/mxv + .byte MOD , 12 + .byte W06 + .byte 0 + .byte N12 , Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte GOTO + .word mus_rg_rocket_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_rocket_3: + .byte KEYSH , mus_rg_rocket_key+0 + .byte VOICE , 17 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+24 + .byte VOL , 47*mus_rg_rocket_mvl/mxv + .byte W24 + .byte W24 + .byte N12 , Cs5 , v124 + .byte W12 + .byte Cn5 + .byte W12 + .byte N24 , Cs5 + .byte W06 + .byte MOD , 7 + .byte W06 + .byte VOL , 30*mus_rg_rocket_mvl/mxv + .byte W06 + .byte 21*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 12*mus_rg_rocket_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 48*mus_rg_rocket_mvl/mxv + .byte PAN , c_v+32 + .byte N06 , Gs4 , v127 + .byte W24 +mus_rg_rocket_3_B1: + .byte N06 , Gs4 , v127 + .byte W24 + .byte VOL , 23*mus_rg_rocket_mvl/mxv + .byte N24 , Cn5 , v120 + .byte W06 + .byte MOD , 8 + .byte VOL , 30*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 36*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 40*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 48*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 60*mus_rg_rocket_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 42*mus_rg_rocket_mvl/mxv + .byte N06 , Gs4 , v127 + .byte W03 + .byte VOL , 48*mus_rg_rocket_mvl/mxv + .byte W21 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte VOL , 23*mus_rg_rocket_mvl/mxv + .byte N24 , Cn5 + .byte W06 + .byte MOD , 8 + .byte VOL , 30*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 36*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 40*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 48*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 60*mus_rg_rocket_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 48*mus_rg_rocket_mvl/mxv + .byte N06 , Gs4 , v120 + .byte W24 + .byte Gs4 , v127 + .byte W24 +mus_rg_rocket_3_000: + .byte N06 , Gs4 , v127 + .byte W24 + .byte VOL , 23*mus_rg_rocket_mvl/mxv + .byte N24 , Cn5 + .byte W06 + .byte MOD , 8 + .byte VOL , 30*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 36*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 40*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 48*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 60*mus_rg_rocket_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 48*mus_rg_rocket_mvl/mxv + .byte N06 , Gs4 + .byte W24 + .byte N06 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_rocket_3_000 + .byte GOTO + .word mus_rg_rocket_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_rocket_4: + .byte KEYSH , mus_rg_rocket_key+0 + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 48*mus_rg_rocket_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Cs2 , v120 + .byte W12 + .byte Gn1 + .byte W12 + .byte N36 , Cs1 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W24 +mus_rg_rocket_4_B1: + .byte N06 , Cs1 , v120 + .byte W24 + .byte N24 , Cs2 + .byte W12 + .byte VOL , 60*mus_rg_rocket_mvl/mxv + .byte W06 + .byte 72*mus_rg_rocket_mvl/mxv + .byte W06 + .byte 48*mus_rg_rocket_mvl/mxv + .byte N06 , Gs1 + .byte W24 + .byte N24 , Dn1 + .byte W24 + .byte N06 , Cs1 + .byte W24 + .byte N24 , Cn2 + .byte W12 + .byte VOL , 60*mus_rg_rocket_mvl/mxv + .byte W06 + .byte 72*mus_rg_rocket_mvl/mxv + .byte W06 + .byte 48*mus_rg_rocket_mvl/mxv + .byte N06 , Cs1 + .byte W24 + .byte N06 + .byte W24 + .byte Cs2 + .byte W12 + .byte Gs1 + .byte W12 + .byte N12 , Cs1 + .byte W12 + .byte N06 , Dn1 + .byte W12 + .byte Gs1 + .byte W24 + .byte N24 , Cs2 + .byte W12 + .byte VOL , 60*mus_rg_rocket_mvl/mxv + .byte W06 + .byte 72*mus_rg_rocket_mvl/mxv + .byte W06 + .byte 48*mus_rg_rocket_mvl/mxv + .byte N06 , Cs1 + .byte W24 + .byte N24 , Cn2 + .byte W12 + .byte VOL , 60*mus_rg_rocket_mvl/mxv + .byte W06 + .byte 72*mus_rg_rocket_mvl/mxv + .byte W06 + .byte 48*mus_rg_rocket_mvl/mxv + .byte N06 , Cs1 + .byte W24 + .byte N06 + .byte W24 + .byte GOTO + .word mus_rg_rocket_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_rocket_5: + .byte KEYSH , mus_rg_rocket_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 95*mus_rg_rocket_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , Cs3 , v084 + .byte W12 + .byte Cn3 + .byte W12 + .byte N48 , Cs3 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte VOL , 84*mus_rg_rocket_mvl/mxv + .byte W12 + .byte 72*mus_rg_rocket_mvl/mxv + .byte W12 + .byte 96*mus_rg_rocket_mvl/mxv + .byte MOD , 0 + .byte N12 , Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 +mus_rg_rocket_5_B1: +mus_rg_rocket_5_000: + .byte N03 , Cs4 , v084 + .byte W24 + .byte VOL , 48*mus_rg_rocket_mvl/mxv + .byte N24 + .byte W06 + .byte VOL , 52*mus_rg_rocket_mvl/mxv + .byte MOD , 10 + .byte W03 + .byte VOL , 60*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 72*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 84*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 96*mus_rg_rocket_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte PEND + .byte N06 + .byte W24 + .byte VOL , 48*mus_rg_rocket_mvl/mxv + .byte W06 + .byte 52*mus_rg_rocket_mvl/mxv + .byte MOD , 10 + .byte W03 + .byte VOL , 60*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 72*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 84*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 96*mus_rg_rocket_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte N12 , An3 + .byte W12 + .byte As3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PATT + .word mus_rg_rocket_5_000 + .byte N06 , Cs4 , v084 + .byte W24 + .byte VOL , 48*mus_rg_rocket_mvl/mxv + .byte W06 + .byte 52*mus_rg_rocket_mvl/mxv + .byte MOD , 10 + .byte W03 + .byte VOL , 60*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 72*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 84*mus_rg_rocket_mvl/mxv + .byte W03 + .byte 96*mus_rg_rocket_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte N12 , Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte GOTO + .word mus_rg_rocket_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_rocket_6: + .byte KEYSH , mus_rg_rocket_key+0 + .byte VOICE , 83 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-64 + .byte VOL , 36*mus_rg_rocket_mvl/mxv + .byte BEND , c_v+2 + .byte N12 , Cs3 , v127 + .byte W12 + .byte Cn3 + .byte W12 + .byte N48 , Cs3 + .byte W12 + .byte MOD , 9 + .byte W36 + .byte 0 + .byte N12 , Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W12 +mus_rg_rocket_6_B1: +mus_rg_rocket_6_000: + .byte N03 , Cs3 , v127 + .byte W24 + .byte N24 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte PEND + .byte N06 + .byte W24 + .byte N24 , Cn3 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N12 , An2 + .byte W12 + .byte As2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PATT + .word mus_rg_rocket_6_000 + .byte N06 , Cs3 , v127 + .byte W24 + .byte N24 , Cn3 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N12 , Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte GOTO + .word mus_rg_rocket_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_rocket_7: + .byte KEYSH , mus_rg_rocket_key+0 + .byte VOICE , 0 + .byte VOL , 61*mus_rg_rocket_mvl/mxv + .byte PAN , c_v-1 + .byte N12 , Cs1 , v120 + .byte W12 + .byte Fn1 + .byte W12 + .byte N48 , Fn2 , v064 + .byte W48 + .byte N06 , En3 , v104 + .byte W12 + .byte Dn3 , v084 + .byte W12 + .byte En3 , v104 + .byte W12 + .byte Gs2 , v080 + .byte W12 +mus_rg_rocket_7_B1: + .byte N12 , Cn1 , v096 + .byte W12 + .byte Fs2 , v120 + .byte W12 + .byte N24 , Fn2 , v048 + .byte W24 + .byte N12 , En1 , v120 + .byte W12 + .byte Cn1 + .byte W12 + .byte N24 , Fn2 , v048 + .byte W24 + .byte N06 , Cn1 , v120 + .byte W12 + .byte N12 , Fs2 , v096 + .byte W12 + .byte N06 , En3 , v120 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gs2 , v080 + .byte W12 + .byte Dn3 , v120 + .byte W12 + .byte En3 , v112 + .byte W12 + .byte Gs2 , v080 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte En1 + .byte W12 + .byte N12 , Cn1 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Fn2 , v048 + .byte W24 + .byte N06 , Dn3 , v120 + .byte W12 + .byte En3 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Cn2 , v100 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Cn2 , v120 + .byte W12 + .byte An1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte GOTO + .word mus_rg_rocket_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_rocket: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_rocket_pri @ Priority + .byte mus_rg_rocket_rev @ Reverb. + + .word mus_rg_rocket_grp + + .word mus_rg_rocket_1 + .word mus_rg_rocket_2 + .word mus_rg_rocket_3 + .word mus_rg_rocket_4 + .word mus_rg_rocket_5 + .word mus_rg_rocket_6 + .word mus_rg_rocket_7 + + .end diff --git a/sound/songs/mus_rg_santoan.s b/sound/songs/mus_rg_santoan.s new file mode 100644 index 0000000000..1155164218 --- /dev/null +++ b/sound/songs/mus_rg_santoan.s @@ -0,0 +1,3437 @@ + .include "MPlayDef.s" + + .equ mus_rg_santoan_grp, voicegroup_86AB938 + .equ mus_rg_santoan_pri, 0 + .equ mus_rg_santoan_rev, reverb_set+50 + .equ mus_rg_santoan_mvl, 127 + .equ mus_rg_santoan_key, 0 + .equ mus_rg_santoan_tbs, 1 + .equ mus_rg_santoan_exg, 0 + .equ mus_rg_santoan_cmp, 1 + + .section .rodata + .global mus_rg_santoan + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_santoan_1: + .byte KEYSH , mus_rg_santoan_key+0 + .byte TEMPO , 114*mus_rg_santoan_tbs/2 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 42*mus_rg_santoan_mvl/mxv + .byte W72 + .byte N12 , As2 , v127 + .byte W12 + .byte Cn3 , v108 + .byte W12 +mus_rg_santoan_1_000: + .byte N24 , Cs3 , v127 + .byte W24 + .byte Fn2 , v112 + .byte W24 + .byte Fs2 + .byte W24 + .byte Gs2 + .byte W24 + .byte PEND +mus_rg_santoan_1_001: + .byte N36 , As2 , v120 + .byte W36 + .byte N12 , Fn2 , v108 + .byte W12 + .byte N24 , Ds2 + .byte W24 + .byte As2 + .byte W24 + .byte PEND +mus_rg_santoan_1_002: + .byte N36 , Cn3 , v120 + .byte W36 + .byte N12 , Gs2 , v112 + .byte W12 + .byte N24 , Fs2 + .byte W24 + .byte Gs2 + .byte W24 + .byte PEND +mus_rg_santoan_1_B1: + .byte W72 + .byte N12 , As2 , v127 + .byte W12 + .byte Cn3 , v112 + .byte W12 + .byte N24 , Cs3 , v127 + .byte W24 + .byte N12 , Fn3 , v112 + .byte W12 + .byte Ds3 + .byte W12 + .byte N24 , Gs2 + .byte W24 + .byte Cn3 + .byte W24 + .byte Cs3 , v120 + .byte W24 + .byte N12 , Fs3 , v112 + .byte W12 + .byte Cs3 + .byte W12 + .byte N24 , As2 + .byte W24 + .byte Cs3 + .byte W24 + .byte N36 , Cn3 , v120 + .byte W36 + .byte N06 , As2 , v112 + .byte W06 + .byte An2 + .byte W06 + .byte N24 , Gs2 + .byte W24 + .byte Cn3 + .byte W24 + .byte VOL , 45*mus_rg_santoan_mvl/mxv + .byte N12 , Fn3 , v120 + .byte W12 + .byte N24 , Cs3 , v112 + .byte W24 + .byte N12 , Gs2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Cn3 + .byte W12 + .byte As2 + .byte W12 + .byte Cn3 + .byte W12 + .byte N24 , Cs3 , v127 + .byte W24 + .byte N12 , Fn3 , v112 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N24 , As2 , v120 + .byte W24 + .byte N12 , Cs3 , v112 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , Ds3 + .byte W24 + .byte As2 + .byte W24 + .byte PATT + .word mus_rg_santoan_1_002 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 24 + .byte VOL , 40*mus_rg_santoan_mvl/mxv + .byte N01 , As3 , v120 + .byte W06 + .byte N03 , Cs3 + .byte W06 + .byte N06 , Gs3 + .byte W06 + .byte N01 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte N03 , Gs3 + .byte W06 + .byte N01 , Cs3 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte N06 , As3 + .byte W06 + .byte N03 , Gs3 + .byte W12 + .byte N06 , As3 + .byte W06 + .byte N12 , Bn3 + .byte W12 + .byte N06 , Cn4 + .byte W06 + .byte N01 , En4 , v092 + .byte W06 + .byte N12 , Gs3 , v120 + .byte W12 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N06 , Cn3 + .byte W06 + .byte N01 , Cs3 + .byte W06 + .byte N12 , Ds3 + .byte W12 + .byte N06 , Fn3 + .byte W06 + .byte N01 , Cs3 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte N03 , As2 + .byte W03 + .byte Cs3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte N12 , Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Gs3 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte N06 , Gs3 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte N06 , Gs3 + .byte W06 + .byte N03 , Gn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte N12 , Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N01 , Cs3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N06 , Fs3 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte N03 , Fs2 + .byte W03 + .byte Gs2 + .byte W03 + .byte As2 + .byte W03 + .byte Cn3 + .byte W03 + .byte N12 , Cs3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N01 , An3 + .byte W06 + .byte N05 , Cs3 + .byte W06 + .byte N12 + .byte W12 + .byte Ds3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N01 , Gs3 , v092 + .byte W06 + .byte N04 , Cs3 , v120 + .byte W06 + .byte N12 , Gs2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Fn2 + .byte W12 + .byte N01 , Fn3 , v092 + .byte W06 + .byte N12 , Gs2 , v112 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte N12 , Cs3 + .byte W12 + .byte N01 , As2 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Cs3 + .byte W12 + .byte N01 , As3 , v080 + .byte W06 + .byte N03 , Cn3 , v112 + .byte W06 + .byte N12 , Cs3 + .byte W12 + .byte N06 , Cs3 , v124 + .byte W06 + .byte N03 , Cs3 , v120 + .byte W06 + .byte N06 , Ds3 , v112 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte N06 , Fs3 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte N01 , Cn4 , v088 + .byte W06 + .byte N06 , Gs3 , v096 + .byte W06 + .byte N12 , As3 , v112 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N05 , Cs4 , v096 + .byte W06 + .byte N12 , Cn4 , v080 + .byte W12 + .byte N06 , As3 + .byte W06 + .byte N05 , Gs3 + .byte W06 + .byte N01 , Cs4 + .byte W06 + .byte N12 , Fn3 , v076 + .byte W12 + .byte VOICE , 1 + .byte VOL , 45*mus_rg_santoan_mvl/mxv + .byte N12 , Gs3 , v120 + .byte W12 + .byte Cs3 + .byte W12 + .byte N24 , Gs3 + .byte W24 + .byte As3 + .byte W24 + .byte Cs4 + .byte W24 + .byte Ds4 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Ds4 , v064 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Ds4 , v032 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Ds4 , v016 + .byte W24 + .byte PAN , c_v-32 + .byte W72 + .byte N12 , As2 , v127 + .byte W12 + .byte Cn3 + .byte W12 + .byte PATT + .word mus_rg_santoan_1_000 + .byte PATT + .word mus_rg_santoan_1_001 + .byte PATT + .word mus_rg_santoan_1_002 + .byte GOTO + .word mus_rg_santoan_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_santoan_2: + .byte KEYSH , mus_rg_santoan_key+0 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 77*mus_rg_santoan_mvl/mxv + .byte N12 , Cs4 , v127 + .byte W12 + .byte Gs3 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte N12 , Ds4 + .byte W12 + .byte Gs3 , v064 + .byte W12 + .byte N24 , Fs4 , v112 + .byte W24 +mus_rg_santoan_2_000: + .byte N08 , Fn4 , v127 + .byte W08 + .byte Fs4 , v096 + .byte W08 + .byte Fn4 + .byte W08 + .byte N12 , Ds4 , v127 + .byte W12 + .byte Cs4 + .byte W12 + .byte N24 , Ds4 + .byte W24 + .byte Cn4 + .byte W24 + .byte PEND +mus_rg_santoan_2_001: + .byte N12 , Cs4 , v127 + .byte W12 + .byte Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte As3 , v064 + .byte W12 + .byte N24 , Fs4 , v127 + .byte W24 + .byte N12 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte PEND +mus_rg_santoan_2_002: + .byte N24 , Gs4 , v127 + .byte W24 + .byte N12 , Fs4 , v112 + .byte W12 + .byte Fn4 + .byte W12 + .byte N24 , Ds4 , v127 + .byte W24 + .byte N12 , Fn4 , v112 + .byte W12 + .byte Ds4 , v096 + .byte W12 + .byte PEND +mus_rg_santoan_2_B1: + .byte VOICE , 4 + .byte VOL , 65*mus_rg_santoan_mvl/mxv + .byte N12 , Cs4 , v127 + .byte W12 + .byte Gs3 , v096 + .byte W12 + .byte N24 , Cs4 , v112 + .byte W24 + .byte Ds4 + .byte W24 + .byte Fs4 , v120 + .byte W12 + .byte MOD , 4 + .byte W12 +mus_rg_santoan_2_003: + .byte MOD , 0 + .byte N08 , Fn4 , v127 + .byte W08 + .byte Fs4 , v096 + .byte W08 + .byte Fn4 + .byte W08 + .byte N12 , Ds4 , v112 + .byte W12 + .byte Cs4 + .byte W12 + .byte N24 , Ds4 , v127 + .byte W24 + .byte Cn4 , v108 + .byte W24 + .byte PEND +mus_rg_santoan_2_004: + .byte N12 , Cs4 , v127 + .byte W12 + .byte Ds4 , v112 + .byte W12 + .byte Fn4 + .byte W12 + .byte As3 , v048 + .byte W12 + .byte N24 , Fs4 , v124 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Fn4 , v112 + .byte W12 + .byte Ds4 + .byte W12 + .byte PEND +mus_rg_santoan_2_005: + .byte N12 , Gs4 , v127 + .byte W12 + .byte Cn4 , v048 + .byte W12 + .byte Fs4 , v127 + .byte W12 + .byte Fn4 , v112 + .byte W12 + .byte N48 , Ds4 + .byte W12 + .byte MOD , 4 + .byte W36 + .byte PEND + .byte VOICE , 5 + .byte MOD , 0 + .byte VOL , 51*mus_rg_santoan_mvl/mxv + .byte N12 , Cs4 , v127 + .byte W12 + .byte Gs3 , v096 + .byte W12 + .byte N24 , Cs4 , v112 + .byte W24 + .byte Ds4 + .byte W24 + .byte Fs4 , v120 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte PATT + .word mus_rg_santoan_2_003 + .byte PATT + .word mus_rg_santoan_2_004 + .byte PATT + .word mus_rg_santoan_2_005 + .byte VOICE , 73 + .byte VOL , 89*mus_rg_santoan_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte N12 , Fn4 , v127 + .byte W12 + .byte Ds4 , v112 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fn4 , v127 + .byte W12 + .byte Fs4 , v112 + .byte W12 + .byte Fn4 + .byte W12 + .byte N09 , Fs4 + .byte W09 + .byte N03 , Gn4 , v080 + .byte W03 + .byte N12 , Gs4 , v127 + .byte W12 + .byte Ds4 , v112 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 , v127 + .byte W12 + .byte As3 , v112 + .byte W12 + .byte Cn4 + .byte W12 + .byte Ds4 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte W09 + .byte N03 , Dn4 , v064 + .byte W03 + .byte N12 , Cs4 , v127 + .byte W12 + .byte Cn4 , v112 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cs4 , v127 + .byte W12 + .byte Ds4 , v112 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Fn4 , v127 + .byte W12 + .byte Cn4 , v112 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Gs3 , v127 + .byte W12 + .byte As3 , v112 + .byte W12 + .byte Cn4 + .byte W12 + .byte Ds4 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte W12 + .byte N12 , As3 , v127 + .byte W12 + .byte Gs3 , v112 + .byte W12 + .byte As3 + .byte W12 + .byte As3 , v127 + .byte W12 + .byte Cn4 , v112 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cs4 , v127 + .byte W12 + .byte Gs3 , v112 + .byte W12 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Cs3 , v127 + .byte W12 + .byte Ds3 , v112 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gs3 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte W09 + .byte N03 , Bn3 , v068 + .byte W03 + .byte N12 , As3 , v127 + .byte W12 + .byte Gs3 , v112 + .byte W12 + .byte As3 + .byte W12 + .byte As3 , v127 + .byte W12 + .byte Cn4 , v112 + .byte W12 + .byte Cs4 + .byte W12 + .byte N09 , Ds4 + .byte W09 + .byte N03 , En4 , v076 + .byte W03 + .byte N12 , Fn4 , v127 + .byte W12 + .byte Fs4 , v112 + .byte W12 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Gs4 , v127 + .byte W12 + .byte Fs4 , v112 + .byte W12 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte VOICE , 24 + .byte VOL , 74*mus_rg_santoan_mvl/mxv + .byte MOD , 0 + .byte N01 , Fn4 , v092 + .byte W06 + .byte N03 , Gs3 + .byte W06 + .byte N06 , Fn4 , v127 + .byte W06 + .byte N01 , Fn4 , v120 + .byte W06 + .byte N12 , Ds4 , v112 + .byte W12 + .byte N03 , Fn4 + .byte W06 + .byte N01 , Gs3 + .byte W06 + .byte N12 , Fn4 , v127 + .byte W12 + .byte N06 , Fs4 , v112 + .byte W06 + .byte N03 , Fn4 , v120 + .byte W12 + .byte N06 , Fs4 , v112 + .byte W06 + .byte N12 , Gn4 + .byte W12 + .byte N06 , Gs4 , v127 + .byte W06 + .byte N01 , Cn5 , v092 + .byte W06 + .byte N12 , Ds4 , v112 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte N06 , Gs3 , v127 + .byte W06 + .byte N01 , Fn3 , v120 + .byte W06 + .byte N12 , As3 , v112 + .byte W12 + .byte N06 , Cn4 + .byte W06 + .byte N01 , Gs3 , v120 + .byte W06 + .byte N12 , Ds4 , v112 + .byte W12 + .byte N03 , Fn3 , v080 + .byte W03 + .byte Gs3 , v092 + .byte W03 + .byte As3 , v096 + .byte W03 + .byte Cn4 , v104 + .byte W03 + .byte N12 , Cs4 , v127 + .byte W12 + .byte Cn4 , v112 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cs4 , v127 + .byte W12 + .byte N06 , Ds4 , v112 + .byte W06 + .byte N12 , Cs4 + .byte W12 + .byte N06 , Ds4 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte N06 , Fn4 , v127 + .byte W06 + .byte N03 , Ds4 , v104 + .byte W03 + .byte Cs4 , v120 + .byte W03 + .byte N12 , Cn4 , v112 + .byte W12 + .byte As3 + .byte W12 + .byte N01 , Gs3 + .byte W06 + .byte N03 , Gs3 , v120 + .byte W06 + .byte N06 , Gs3 , v127 + .byte W06 + .byte N12 , As3 , v112 + .byte W12 + .byte Cn4 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte N03 , Ds3 , v064 + .byte W03 + .byte Fs3 , v076 + .byte W03 + .byte Gs3 , v084 + .byte W03 + .byte An3 , v096 + .byte W03 + .byte N12 , As3 , v127 + .byte W12 + .byte Gs3 , v112 + .byte W12 + .byte N01 , Fs4 + .byte W06 + .byte N05 , As3 , v120 + .byte W06 + .byte N12 , As3 , v127 + .byte W12 + .byte Cn4 , v112 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cs4 , v127 + .byte W12 + .byte N01 , Fn4 , v092 + .byte W06 + .byte N04 , Gs3 , v112 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Cs3 , v127 + .byte W12 + .byte N01 , Cs4 , v092 + .byte W06 + .byte N12 , En3 , v112 + .byte W12 + .byte N06 , Fn3 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte N01 , Fs3 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , As3 , v127 + .byte W12 + .byte N01 , Fs4 , v080 + .byte W06 + .byte N03 , Gs3 , v112 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte N06 , As3 , v124 + .byte W06 + .byte N03 , As3 , v120 + .byte W06 + .byte N06 , Cn4 , v112 + .byte W06 + .byte N12 , Cs4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte N01 , Gs4 , v088 + .byte W06 + .byte N06 , Fn4 , v096 + .byte W06 + .byte N12 , Fs4 , v112 + .byte W12 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N05 , Gs4 , v100 + .byte W06 + .byte N12 , Fs4 , v108 + .byte W12 + .byte N06 , Fn4 , v104 + .byte W06 + .byte N05 , Ds4 , v127 + .byte W06 + .byte N01 , Gs4 , v096 + .byte W06 + .byte N12 , Cn4 , v120 + .byte W12 + .byte VOICE , 1 + .byte VOL , 77*mus_rg_santoan_mvl/mxv + .byte N12 , Cs4 + .byte W12 + .byte Gs3 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte Ds4 + .byte W24 + .byte Fs4 + .byte W24 + .byte Gs4 + .byte W24 + .byte Gs4 , v064 + .byte W24 + .byte Gs4 , v032 + .byte W24 + .byte Gs4 , v016 + .byte W24 + .byte N12 , Cs4 , v127 + .byte W12 + .byte Gs3 + .byte W12 + .byte N24 , Cs4 + .byte W24 + .byte N12 , Ds4 + .byte W12 + .byte Gs3 , v120 + .byte W12 + .byte N24 , Fs4 , v127 + .byte W24 + .byte PATT + .word mus_rg_santoan_2_000 + .byte PATT + .word mus_rg_santoan_2_001 + .byte PATT + .word mus_rg_santoan_2_002 + .byte GOTO + .word mus_rg_santoan_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_santoan_3: + .byte KEYSH , mus_rg_santoan_key+0 + .byte VOICE , 92 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-64 + .byte VOL , 26*mus_rg_santoan_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_santoan_3_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W24 + .byte N12 , Gs3 , v120 + .byte W12 + .byte Gn3 + .byte W12 + .byte VOICE , 92 + .byte N48 , Fs3 , v127 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N84 , Fn3 + .byte W12 + .byte MOD , 7 + .byte W72 + .byte 0 + .byte N06 , Fs3 , v120 + .byte W06 + .byte Fn3 + .byte W06 + .byte N72 , Ds3 , v127 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte 0 + .byte N24 , Gs3 , v120 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N36 , Cs3 , v127 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N06 , Ds3 , v120 + .byte W06 + .byte En3 + .byte W06 + .byte N24 , Fn3 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Cs3 , v120 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N36 , Ds3 , v127 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N12 , Gs3 + .byte W12 + .byte N24 , Gs2 , v120 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , An2 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N36 , As2 , v127 + .byte W12 + .byte MOD , 7 + .byte W21 + .byte N15 , Cn3 , v120 + .byte W03 + .byte MOD , 0 + .byte W12 + .byte N36 , Cs3 , v127 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N06 , Cn3 , v120 + .byte W06 + .byte As2 + .byte W06 + .byte N36 , Cn3 , v127 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N12 , Gs3 , v120 + .byte W12 + .byte N24 , Gs2 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Fn3 , v120 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , As2 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Cn3 , v120 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Cs3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N48 , Ds3 , v127 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , En3 , v120 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N84 , Gs3 , v127 + .byte W12 + .byte MOD , 7 + .byte W72 + .byte 0 + .byte N12 , As3 , v120 + .byte W12 + .byte N36 , Cn4 , v127 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N06 , Bn3 + .byte W06 + .byte As3 , v120 + .byte W06 + .byte N36 , Gs3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N06 , Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N36 , Gs3 , v127 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte N06 , Fn3 , v120 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N03 , Fs3 + .byte W06 + .byte N36 , Gs3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N06 , Fn3 + .byte W06 + .byte N03 , Fs3 + .byte W06 + .byte N24 , Gs3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Fs3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Fn3 , v127 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N36 , As2 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N06 , Fs3 , v120 + .byte W06 + .byte Fn3 + .byte W06 + .byte N24 , As2 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Cn3 , v120 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Cs3 , v127 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Ds3 , v120 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Fn3 , v127 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Fs3 , v120 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , As3 , v127 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Ds3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Fs3 , v120 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Cn3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N48 , Cs3 , v127 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Ds3 + .byte W12 + .byte MOD , 8 + .byte W36 + .byte 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_santoan_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_santoan_4: + .byte KEYSH , mus_rg_santoan_key+0 + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 45*mus_rg_santoan_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_santoan_4_B1: + .byte N48 , Cs2 , v120 + .byte W48 + .byte N24 , Cn2 + .byte W24 + .byte Ds2 + .byte W24 + .byte N36 , As1 + .byte W36 + .byte N12 , Cs2 + .byte W12 + .byte N24 , Gs1 + .byte W24 + .byte N12 + .byte W12 + .byte Gn1 + .byte W12 + .byte N36 , Fs1 + .byte W36 + .byte N12 , As1 + .byte W12 + .byte N24 , Ds1 + .byte W24 + .byte N12 , Fn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte N48 , Gs1 + .byte W48 + .byte Cn2 + .byte W48 + .byte N36 , Cs2 + .byte W36 + .byte N12 , Ds2 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N12 , Fn2 + .byte W12 + .byte Ds2 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N06 , As1 + .byte W06 + .byte An1 + .byte W06 + .byte N24 , Gs1 + .byte W24 + .byte Fn1 + .byte W24 + .byte N36 , Fs1 + .byte W36 + .byte N06 , As1 + .byte W06 + .byte Fs1 + .byte W06 + .byte N24 , Ds1 + .byte W24 + .byte N12 , Fn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte N24 , Gs1 + .byte W24 + .byte N09 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Cn2 + .byte W12 + .byte Gs1 + .byte W12 + .byte N06 , Fs1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Ds1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N30 , Fs1 + .byte W42 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte As1 + .byte W06 + .byte N18 , Ds2 + .byte W18 + .byte N12 , Cn2 + .byte W12 + .byte N30 , Fs1 + .byte W42 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte N12 , Cn2 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte Fs1 + .byte W06 + .byte En1 + .byte W06 + .byte N21 , Ds1 + .byte W24 + .byte N03 , Cs2 + .byte W06 + .byte Ds1 + .byte W12 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N18 , Cs2 + .byte W18 + .byte N12 , As1 + .byte W12 + .byte N06 , Cs1 + .byte W06 + .byte N03 , Cs2 + .byte W12 + .byte N06 , Cs1 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte N06 , Cs1 + .byte W06 + .byte N03 , Cs2 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N12 , Dn1 + .byte W12 + .byte N06 , Ds2 + .byte W06 + .byte N03 , Ds1 + .byte W12 + .byte N03 + .byte W18 + .byte N06 , Ds2 + .byte W06 + .byte N03 , Ds1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte N06 , Cn2 + .byte W06 + .byte N12 , As1 + .byte W12 + .byte N24 , Cs1 + .byte W42 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Cn2 + .byte W06 + .byte As1 + .byte W06 + .byte N12 , Gs1 + .byte W12 + .byte Ds1 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , Ds2 + .byte W06 + .byte N06 , Cn2 + .byte W06 + .byte N12 , Ds1 + .byte W12 + .byte Cs2 + .byte W12 + .byte N06 , Cn2 + .byte W06 + .byte N12 , As1 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte N18 , Cn1 + .byte W24 + .byte N06 , Ds1 + .byte W12 + .byte Fs1 + .byte W06 + .byte Gs1 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Ds2 + .byte W12 + .byte N06 , Cs2 + .byte W06 + .byte N12 , Cn2 + .byte W12 + .byte Fs1 + .byte W12 + .byte N03 , Cs2 + .byte W12 + .byte N06 , Fs2 + .byte W06 + .byte Cs2 + .byte W12 + .byte N03 , Fs1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Ds2 + .byte W12 + .byte N06 , Cs2 + .byte W06 + .byte N12 , Cn2 + .byte W12 + .byte N06 , Fs1 + .byte W18 + .byte Ds1 + .byte W06 + .byte Fs1 + .byte W06 + .byte N12 , Cn2 + .byte W12 + .byte N03 , Fs1 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte N12 , Cn2 + .byte W12 + .byte N06 , Cs2 + .byte W06 + .byte N12 , Ds2 + .byte W12 + .byte N06 , Ds1 + .byte W06 + .byte N03 , Cs2 + .byte W06 + .byte N12 , Ds1 + .byte W12 + .byte N06 , Fn2 + .byte W06 + .byte Cs2 + .byte W12 + .byte N03 , Ds1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte N06 , Cn2 + .byte W06 + .byte N12 , As1 + .byte W12 + .byte N24 , Cs1 + .byte W30 + .byte N06 + .byte W12 + .byte N03 , Cs2 + .byte W06 + .byte N06 , Cs1 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Cn2 + .byte W12 + .byte N06 , As1 + .byte W06 + .byte Gs1 + .byte W06 + .byte En1 + .byte W06 + .byte Ds1 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Ds2 + .byte W06 + .byte Cs2 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte N06 , Ds1 + .byte W12 + .byte N12 + .byte W12 + .byte Cs2 + .byte W12 + .byte As1 + .byte W12 + .byte Cs1 + .byte W18 + .byte N06 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W12 + .byte N03 , Cs1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Cn2 + .byte W12 + .byte N06 , As1 + .byte W06 + .byte N12 , Gs1 + .byte W12 + .byte Ds1 + .byte W18 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Gs1 + .byte W12 + .byte N06 , As1 + .byte W06 + .byte N12 , Cn2 + .byte W12 + .byte N24 , Gs1 + .byte W42 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte Gs2 + .byte W12 + .byte Cn2 + .byte W12 + .byte W96 + .byte VOL , 31*mus_rg_santoan_mvl/mxv + .byte W48 + .byte VOICE , 82 + .byte W24 + .byte MOD , 5 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte W09 + .byte TIE + .byte W84 + .byte W03 + .byte W96 + .byte W12 + .byte VOL , 30*mus_rg_santoan_mvl/mxv + .byte W06 + .byte 25*mus_rg_santoan_mvl/mxv + .byte W06 + .byte 22*mus_rg_santoan_mvl/mxv + .byte W06 + .byte 19*mus_rg_santoan_mvl/mxv + .byte W06 + .byte 19*mus_rg_santoan_mvl/mxv + .byte W06 + .byte 16*mus_rg_santoan_mvl/mxv + .byte W06 + .byte 13*mus_rg_santoan_mvl/mxv + .byte W06 + .byte 11*mus_rg_santoan_mvl/mxv + .byte W09 + .byte 8*mus_rg_santoan_mvl/mxv + .byte W09 + .byte 6*mus_rg_santoan_mvl/mxv + .byte W12 + .byte 3*mus_rg_santoan_mvl/mxv + .byte W12 + .byte EOT + .byte MOD , 0 + .byte VOL , 0*mus_rg_santoan_mvl/mxv + .byte W48 + .byte VOICE , 81 + .byte W24 + .byte VOL , 56*mus_rg_santoan_mvl/mxv + .byte W24 + .byte GOTO + .word mus_rg_santoan_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_santoan_5: + .byte KEYSH , mus_rg_santoan_key+0 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 50*mus_rg_santoan_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_santoan_5_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 46 + .byte PAN , c_v-32 + .byte W12 + .byte N06 , Fs4 , v120 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Fn5 + .byte W06 + .byte Gs5 + .byte W12 + .byte Cs5 , v056 + .byte W06 + .byte Fn5 + .byte W06 + .byte Gs5 + .byte W12 + .byte PAN , c_v-32 + .byte W06 + .byte N06 , Fn5 , v044 + .byte W06 + .byte Gs5 + .byte W12 + .byte PAN , c_v+31 + .byte W09 + .byte N06 , Ds6 , v120 + .byte W06 + .byte Cn6 + .byte W06 + .byte Gs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cn5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Ds4 + .byte W12 + .byte Cn5 , v060 + .byte W06 + .byte Ds5 + .byte W09 + .byte PAN , c_v+31 + .byte W06 + .byte N06 , Cn5 , v044 + .byte W06 + .byte Ds5 + .byte W12 + .byte PAN , c_v-33 + .byte W12 + .byte N06 , Ds4 , v120 + .byte W06 + .byte Fs4 + .byte W06 + .byte As4 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Cs5 + .byte W06 + .byte Fs5 + .byte W06 + .byte As5 + .byte W18 + .byte Fs5 , v056 + .byte W06 + .byte As5 + .byte W06 + .byte PAN , c_v-32 + .byte W12 + .byte N06 , Fs5 , v044 + .byte W06 + .byte As5 + .byte W06 + .byte PAN , c_v+31 + .byte W09 + .byte N06 , Cn6 , v120 + .byte W06 + .byte Gs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cn5 + .byte W06 + .byte As4 + .byte W06 + .byte Gs4 + .byte W12 + .byte Fn5 , v056 + .byte W06 + .byte Gs5 + .byte W09 + .byte PAN , c_v+32 + .byte W06 + .byte N06 , Fn5 , v044 + .byte W06 + .byte Gs5 + .byte W12 + .byte PAN , c_v-32 + .byte W12 + .byte N06 , Ds4 , v120 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Cs5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Gs5 + .byte W12 + .byte Cs5 , v056 + .byte W06 + .byte Fs5 + .byte W06 + .byte Gs5 + .byte W06 + .byte PAN , c_v-33 + .byte W12 + .byte N06 , Fs5 , v044 + .byte W06 + .byte Gs5 + .byte W06 + .byte PAN , c_v+32 + .byte W09 + .byte N06 , Cn6 , v120 + .byte W06 + .byte Gs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cn5 + .byte W06 + .byte As4 + .byte W06 + .byte Gs4 + .byte W12 + .byte Fn5 , v056 + .byte W06 + .byte Gs5 + .byte W09 + .byte PAN , c_v+31 + .byte W06 + .byte N06 , Fn5 , v044 + .byte W06 + .byte Gs5 + .byte W12 + .byte PAN , c_v-32 + .byte W12 + .byte N06 , Ds4 , v120 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Fs4 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte As5 + .byte W12 + .byte PAN , c_v-32 + .byte W06 + .byte N06 , Fs5 , v044 + .byte W06 + .byte As5 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v-62 + .byte VOL , 56*mus_rg_santoan_mvl/mxv + .byte W22 + .byte VOICE , 58 + .byte W56 + .byte N06 , En2 , v120 + .byte W18 + .byte PAN , c_v-62 + .byte W09 + .byte TIE + .byte W15 + .byte PAN , c_v-49 + .byte W12 + .byte c_v-41 + .byte W12 + .byte c_v-32 + .byte W12 + .byte c_v-25 + .byte W12 + .byte c_v-16 + .byte W12 + .byte c_v-8 + .byte W12 + .byte c_v+0 + .byte W12 + .byte c_v+8 + .byte W12 + .byte c_v+16 + .byte W12 + .byte c_v+21 + .byte W12 + .byte c_v+32 + .byte W12 + .byte c_v+38 + .byte W12 + .byte c_v+47 + .byte W12 + .byte c_v+56 + .byte W12 + .byte c_v+63 + .byte W12 + .byte VOL , 42*mus_rg_santoan_mvl/mxv + .byte W12 + .byte PAN , c_v+48 + .byte VOL , 33*mus_rg_santoan_mvl/mxv + .byte W12 + .byte PAN , c_v+41 + .byte VOL , 28*mus_rg_santoan_mvl/mxv + .byte W12 + .byte PAN , c_v+32 + .byte VOL , 22*mus_rg_santoan_mvl/mxv + .byte W12 + .byte PAN , c_v+23 + .byte VOL , 17*mus_rg_santoan_mvl/mxv + .byte W12 + .byte PAN , c_v+16 + .byte VOL , 12*mus_rg_santoan_mvl/mxv + .byte W15 + .byte 6*mus_rg_santoan_mvl/mxv + .byte W09 + .byte EOT + .byte VOL , 0*mus_rg_santoan_mvl/mxv + .byte W48 + .byte VOICE , 46 + .byte VOL , 48*mus_rg_santoan_mvl/mxv + .byte PAN , c_v-32 + .byte W48 + .byte GOTO + .word mus_rg_santoan_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_santoan_6: + .byte KEYSH , mus_rg_santoan_key+0 + .byte VOICE , 48 + .byte VOL , 41*mus_rg_santoan_mvl/mxv + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+32 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_santoan_6_B1: + .byte W96 + .byte PAN , c_v+32 + .byte W96 + .byte VOL , 34*mus_rg_santoan_mvl/mxv + .byte W96 + .byte VOICE , 48 + .byte W96 + .byte VOL , 34*mus_rg_santoan_mvl/mxv + .byte PAN , c_v+16 + .byte N12 , Cs2 , v120 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Fn3 , v096 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Gs2 , v120 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Ds3 , v096 + .byte W12 + .byte PAN , c_v+16 + .byte N06 , Gs2 , v120 + .byte W06 + .byte Fn2 + .byte W06 + .byte N12 , As1 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Cs3 , v096 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Gs2 , v120 + .byte W12 + .byte Gs1 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , As2 , v096 + .byte W12 + .byte PAN , c_v+16 + .byte N06 , Gs2 , v120 + .byte W06 + .byte Gn2 + .byte W06 + .byte N12 , Fs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , As3 , v096 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Cs3 , v120 + .byte W12 + .byte Ds2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Fs3 , v096 + .byte W12 + .byte PAN , c_v+16 + .byte N06 , As2 , v120 + .byte W06 + .byte An2 + .byte W06 + .byte N12 , Gs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Ds3 + .byte W12 + .byte As3 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Gs3 + .byte W12 + .byte As3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte As4 + .byte W06 + .byte PAN , c_v+32 + .byte VOL , 24*mus_rg_santoan_mvl/mxv + .byte N84 , Gs4 + .byte W84 + .byte N06 , As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte N36 , Cn5 + .byte W36 + .byte N06 , Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte N36 , Gs4 + .byte W36 + .byte N12 , An4 + .byte W12 + .byte N36 , As4 + .byte W36 + .byte N06 , Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte N24 , Cs5 + .byte W24 + .byte As4 + .byte W24 + .byte N36 , Cn5 + .byte W36 + .byte N06 , Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte N24 , Gs4 + .byte W24 + .byte An4 + .byte W24 + .byte N36 , As4 + .byte W36 + .byte N24 , Cs5 + .byte W24 + .byte N12 , Cn5 + .byte W12 + .byte N24 , As4 + .byte W24 + .byte N30 , Cn5 + .byte W30 + .byte N03 , Cs5 + .byte W03 + .byte Dn5 + .byte W03 + .byte N12 , Ds5 + .byte W12 + .byte N24 , Gs4 + .byte W24 + .byte An4 + .byte W24 + .byte N30 , As4 + .byte W30 + .byte N03 , Bn4 + .byte W03 + .byte Cn5 + .byte W03 + .byte N24 , Cs5 + .byte W24 + .byte N21 , Cn5 + .byte W21 + .byte N15 , Cs5 + .byte W15 + .byte N36 , Dn5 + .byte W36 + .byte N12 , Ds5 + .byte W12 + .byte VOICE , 56 + .byte PAN , c_v+32 + .byte VOL , 36*mus_rg_santoan_mvl/mxv + .byte W06 + .byte N06 , Cn5 + .byte W12 + .byte N03 , As4 + .byte W06 + .byte N06 , Cn5 + .byte W12 + .byte Ds5 + .byte W12 + .byte VOL , 36*mus_rg_santoan_mvl/mxv + .byte N06 , Fn5 + .byte W06 + .byte N03 , En5 , v092 + .byte W03 + .byte Ds5 + .byte W09 + .byte Gs4 , v120 + .byte W06 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W24 + .byte Fn5 + .byte W12 + .byte W54 + .byte N03 , Cn5 + .byte W12 + .byte Ds4 + .byte W06 + .byte N06 , Cn5 + .byte W06 + .byte N03 , As4 , v088 + .byte W03 + .byte Gs4 + .byte W03 + .byte N06 , Ds5 + .byte W12 + .byte Fn5 , v120 + .byte W18 + .byte N03 , Cn5 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , Gs4 + .byte W06 + .byte N06 , Cn5 + .byte W12 + .byte Ds5 + .byte W36 + .byte Fn5 + .byte W06 + .byte N03 , Ds5 , v088 + .byte W03 + .byte Cs5 + .byte W09 + .byte Gs4 , v120 + .byte W06 + .byte N06 + .byte W18 + .byte N03 , Fn4 + .byte W12 + .byte N06 , Gs4 + .byte W12 + .byte Fn4 + .byte W06 + .byte Gs4 + .byte W12 + .byte Cn5 + .byte W12 + .byte W12 + .byte As4 + .byte W12 + .byte Fs4 + .byte W30 + .byte As4 + .byte W06 + .byte N12 , Fs4 + .byte W12 + .byte N06 , As4 + .byte W06 + .byte N03 , Gs4 , v092 + .byte W03 + .byte Fs4 , v088 + .byte W03 + .byte N06 , Cn5 , v120 + .byte W12 + .byte Cs5 + .byte W06 + .byte N03 , Cn5 , v092 + .byte W03 + .byte As4 + .byte W09 + .byte Gs4 , v120 + .byte W06 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte Fs4 + .byte W06 + .byte N24 , Fn4 + .byte W24 + .byte N06 , Cn5 + .byte W12 + .byte Cs5 + .byte W06 + .byte N03 , Cn5 , v092 + .byte W03 + .byte As4 + .byte W03 + .byte N06 , Fs4 , v120 + .byte W24 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte As4 + .byte W12 + .byte N03 , Fs4 + .byte W06 + .byte N06 + .byte W12 + .byte As4 + .byte W12 + .byte N03 , Cn5 + .byte W06 + .byte N12 , Ds5 + .byte W12 + .byte N06 , Cn5 + .byte W06 + .byte Ds5 + .byte W12 + .byte N03 , Cn5 + .byte W18 + .byte N06 , Fn5 + .byte W12 + .byte N03 , Cn5 + .byte W06 + .byte N06 , Fn5 + .byte W12 + .byte N03 , Ds5 + .byte W12 + .byte N06 , Cs5 + .byte W06 + .byte N03 , Bn4 , v088 + .byte W03 + .byte As4 + .byte W84 + .byte W03 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_santoan_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_santoan_7: + .byte KEYSH , mus_rg_santoan_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 36*mus_rg_santoan_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_santoan_7_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte VOICE , 80 + .byte W06 + .byte N06 , Fs4 , v120 + .byte W12 + .byte N03 , Fn4 + .byte W06 + .byte N06 , Fs4 + .byte W12 + .byte As4 + .byte W12 + .byte Cs5 + .byte W06 + .byte N03 , Bn4 , v092 + .byte W03 + .byte As4 + .byte W09 + .byte Ds4 , v120 + .byte W06 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W24 + .byte Cn5 + .byte W12 + .byte W54 + .byte N03 , Gs4 + .byte W12 + .byte Cn4 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte N03 , Fs4 , v088 + .byte W03 + .byte Ds4 + .byte W03 + .byte N06 , Cn5 , v120 + .byte W12 + .byte As4 + .byte W18 + .byte N03 , Fs4 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , Cs4 + .byte W06 + .byte N06 , Fs4 + .byte W12 + .byte Gs4 + .byte W36 + .byte N06 + .byte W06 + .byte N03 , Fs4 , v088 + .byte W03 + .byte Fn4 + .byte W09 + .byte Cs4 , v120 + .byte W06 + .byte N06 + .byte W18 + .byte N03 , Gs3 + .byte W12 + .byte N06 , Cs4 + .byte W12 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte W12 + .byte Ds4 + .byte W12 + .byte As3 + .byte W30 + .byte Ds4 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte N06 , Ds4 + .byte W06 + .byte N03 , Cs4 , v092 + .byte W03 + .byte As3 , v088 + .byte W03 + .byte N06 , Fs4 , v120 + .byte W12 + .byte Gs4 + .byte W06 + .byte N03 , Fs4 , v092 + .byte W03 + .byte Fn4 + .byte W09 + .byte Cs4 , v120 + .byte W06 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte Cn4 + .byte W06 + .byte N24 , As3 + .byte W24 + .byte N06 , Fn4 + .byte W12 + .byte Ds4 + .byte W06 + .byte N03 , Cs4 , v092 + .byte W03 + .byte Bn3 + .byte W03 + .byte N06 , As3 , v120 + .byte W24 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Ds4 + .byte W12 + .byte N03 , As3 + .byte W06 + .byte N06 + .byte W12 + .byte Ds4 + .byte W12 + .byte N03 , Fs4 + .byte W06 + .byte N12 , As4 + .byte W12 + .byte N06 , Fs4 + .byte W06 + .byte As4 + .byte W12 + .byte N03 , Fs4 + .byte W18 + .byte N06 , Gs4 + .byte W12 + .byte N03 , Ds4 + .byte W06 + .byte N06 , Cn5 + .byte W12 + .byte N03 , Gs4 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Gn4 , v088 + .byte W03 + .byte Fs4 + .byte W84 + .byte W03 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_santoan_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_santoan_8: + .byte KEYSH , mus_rg_santoan_key+0 + .byte VOICE , 0 + .byte PAN , c_v-8 + .byte VOL , 52*mus_rg_santoan_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v-8 + .byte W96 +mus_rg_santoan_8_B1: + .byte W96 + .byte W96 + .byte W96 + .byte N12 , Cn1 , v120 + .byte W36 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte N24 , Bn4 , v024 + .byte W12 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte N24 , Bn4 , v024 + .byte W24 + .byte N12 , Cn1 , v120 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 + .byte W24 + .byte N24 , Bn4 , v024 + .byte W24 + .byte N12 , Cn1 , v120 + .byte W36 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N12 + .byte W24 + .byte Cs1 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte N12 , Cn1 + .byte W24 + .byte Cs1 + .byte W18 + .byte N06 , Cn1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Cs1 + .byte W06 + .byte N12 , Ds1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N12 + .byte W24 + .byte Cs1 + .byte W18 + .byte N06 , Cn1 + .byte W06 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Cs1 + .byte W12 + .byte N06 , Fn1 + .byte W06 + .byte Dn2 + .byte W06 + .byte Gn1 + .byte W06 + .byte N12 , Cn1 + .byte W24 + .byte N06 , Ds1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte Cs1 + .byte W06 + .byte N12 , Ds1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Cs1 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte N12 , Cs1 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte N12 , Cs1 + .byte W18 + .byte N03 + .byte W03 + .byte N06 + .byte W09 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Cs1 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte Cs1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 , Ds1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 + .byte W24 + .byte N18 , Cs1 + .byte W18 + .byte N06 , Cn1 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Cs1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N12 , Ds1 + .byte W12 + .byte N15 , Cn1 + .byte W18 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 + .byte W12 + .byte Cs1 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Fn1 + .byte W06 + .byte N15 , Cn1 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , Cs1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte Cs1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W12 + .byte N12 , Cn1 + .byte W12 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Cs1 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Ds1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 , Cs1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N12 + .byte W18 + .byte N06 , Cs1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N12 , Cs1 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Ds1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 , Cs1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte N12 + .byte W18 + .byte N06 , Cs1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Cs1 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Ds1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Cs1 + .byte W18 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte N12 + .byte W06 + .byte N06 , Dn2 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte N06 , Fn1 + .byte W06 + .byte Dn2 + .byte W06 + .byte An1 + .byte W06 + .byte Fn1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Cs1 + .byte W06 + .byte N12 , Cn1 , v124 + .byte W12 + .byte N06 , Ds1 , v120 + .byte W06 + .byte Dn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W18 + .byte N06 + .byte W06 + .byte Cs1 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Cs1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Cs1 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte N12 , Ds1 + .byte W12 + .byte Cn1 + .byte W18 + .byte N12 + .byte W12 + .byte Dn2 + .byte W12 + .byte N06 , Bn1 + .byte W06 + .byte N12 , An1 + .byte W12 + .byte N06 , Fn1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 , Cs1 + .byte W06 + .byte N12 , Ds1 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N06 + .byte W06 + .byte An1 + .byte W06 + .byte Cn1 + .byte W06 + .byte An1 + .byte W06 + .byte N06 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N06 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte N72 , An2 + .byte W96 + .byte VOL , 22*mus_rg_santoan_mvl/mxv + .byte PAN , c_v-48 + .byte N96 , Cn3 , v064 + .byte W06 + .byte VOL , 30*mus_rg_santoan_mvl/mxv + .byte PAN , c_v-43 + .byte W06 + .byte VOL , 38*mus_rg_santoan_mvl/mxv + .byte PAN , c_v-40 + .byte W06 + .byte VOL , 45*mus_rg_santoan_mvl/mxv + .byte PAN , c_v-30 + .byte W06 + .byte VOL , 51*mus_rg_santoan_mvl/mxv + .byte PAN , c_v-16 + .byte W06 + .byte c_v-9 + .byte W06 + .byte VOL , 56*mus_rg_santoan_mvl/mxv + .byte PAN , c_v-6 + .byte W09 + .byte VOL , 63*mus_rg_santoan_mvl/mxv + .byte W03 + .byte 68*mus_rg_santoan_mvl/mxv + .byte PAN , c_v+0 + .byte W06 + .byte VOL , 74*mus_rg_santoan_mvl/mxv + .byte W06 + .byte 79*mus_rg_santoan_mvl/mxv + .byte PAN , c_v+6 + .byte W06 + .byte VOL , 87*mus_rg_santoan_mvl/mxv + .byte PAN , c_v+10 + .byte W06 + .byte VOL , 90*mus_rg_santoan_mvl/mxv + .byte PAN , c_v+16 + .byte W09 + .byte c_v+25 + .byte W09 + .byte c_v+32 + .byte W06 + .byte c_v+0 + .byte VOL , 49*mus_rg_santoan_mvl/mxv + .byte N24 , Cs2 , v060 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Cs2 , v024 + .byte W24 + .byte PAN , c_v+0 + .byte N24 , Cs2 , v016 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Cs2 , v008 + .byte W24 + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_santoan_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_santoan_9: + .byte KEYSH , mus_rg_santoan_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 34*mus_rg_santoan_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_santoan_9_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_santoan_9_000: + .byte N02 , Cn5 , v080 + .byte W12 + .byte Cn5 , v036 + .byte W12 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v036 + .byte W12 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v036 + .byte W24 + .byte N02 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_santoan_9_000 + .byte N02 , Cn5 , v080 + .byte W12 + .byte Cn5 , v036 + .byte W12 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v036 + .byte W24 + .byte N02 + .byte W12 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v036 + .byte W12 + .byte Cn5 , v080 + .byte W24 + .byte N02 + .byte W12 + .byte Cn5 , v092 + .byte W06 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v036 + .byte W12 + .byte N01 , Cn5 , v100 + .byte W03 + .byte Cn5 , v064 + .byte W03 + .byte N02 , Cn5 , v080 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v080 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v092 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v096 + .byte W06 + .byte Cn5 , v080 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v060 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v060 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v060 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte N01 , Cn5 , v064 + .byte W18 + .byte N02 , Cn5 , v120 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v120 + .byte W18 + .byte N02 + .byte W06 + .byte Cn5 , v060 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte N02 + .byte W12 + .byte Cn5 , v064 + .byte W12 +mus_rg_santoan_9_001: + .byte N02 , Cn5 , v120 + .byte W24 + .byte N02 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v120 + .byte W18 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v080 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte PEND +mus_rg_santoan_9_002: + .byte N02 , Cn5 , v120 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N02 , Cn5 , v096 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v096 + .byte W06 + .byte Cn5 , v064 + .byte W18 + .byte PEND + .byte PATT + .word mus_rg_santoan_9_001 + .byte PATT + .word mus_rg_santoan_9_002 + .byte N02 , Cn5 , v120 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v080 + .byte W18 + .byte N02 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte N01 , Cn5 , v060 + .byte W03 + .byte N01 + .byte W03 + .byte N02 , Cn5 , v096 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte N02 + .byte W12 + .byte Cn5 , v080 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W18 + .byte N01 , Cn5 , v120 + .byte W06 + .byte Cn5 , v060 + .byte W03 + .byte N01 + .byte W03 + .byte N02 , Cn5 , v096 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte N02 + .byte W12 + .byte Cn5 , v060 + .byte W06 + .byte N02 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v080 + .byte W06 + .byte N02 + .byte W18 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v080 + .byte W06 + .byte N02 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W18 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v080 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte N01 , Cn5 , v060 + .byte W03 + .byte N01 + .byte W03 + .byte N02 , Cn5 , v096 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte N02 + .byte W12 + .byte Cn5 , v092 + .byte W06 + .byte Cn5 , v060 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v064 + .byte W18 + .byte N01 , Cn5 , v060 + .byte W03 + .byte N01 + .byte W03 + .byte N02 , Cn5 , v096 + .byte W06 + .byte Cn5 , v120 + .byte W24 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v068 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v096 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v068 + .byte W18 + .byte Cn5 , v072 + .byte W06 + .byte N02 + .byte W06 + .byte Cn5 , v116 + .byte W06 + .byte Cn5 , v072 + .byte W18 + .byte N01 , Cn5 , v060 + .byte W03 + .byte N01 + .byte W03 + .byte N02 , Cn5 , v096 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte N02 + .byte W12 + .byte Cn5 , v060 + .byte W06 + .byte Cn5 , v100 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v060 + .byte W06 + .byte Cn5 , v100 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte N02 + .byte W06 + .byte Cn5 , v100 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte N02 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte N02 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte N01 , Cn5 , v060 + .byte W03 + .byte N01 + .byte W03 + .byte N02 , Cn5 , v096 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v036 + .byte W18 + .byte Cn5 , v072 + .byte W06 + .byte Cn5 , v044 + .byte W18 + .byte Cn5 , v084 + .byte W06 + .byte Cn5 , v052 + .byte W18 + .byte Cn5 , v112 + .byte W06 + .byte Cn5 , v080 + .byte W18 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_santoan_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_rg_santoan_10: + .byte KEYSH , mus_rg_santoan_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 34*mus_rg_santoan_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_santoan_10_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte N12 , Gn5 , v080 + .byte W24 + .byte W72 + .byte N12 + .byte W24 + .byte W48 + .byte N12 + .byte W48 + .byte W12 + .byte N12 + .byte W84 + .byte Gn5 , v120 + .byte W96 + .byte W12 + .byte Gn5 , v064 + .byte W24 + .byte Gn5 , v080 + .byte W24 + .byte Gn5 , v096 + .byte W24 + .byte Gn5 , v088 + .byte W12 + .byte W24 + .byte Gn5 , v080 + .byte W72 +mus_rg_santoan_10_000: + .byte W12 + .byte N12 , Gn5 , v120 + .byte W36 + .byte N12 + .byte W48 + .byte PEND + .byte W84 + .byte N12 + .byte W12 + .byte PATT + .word mus_rg_santoan_10_000 + .byte W84 + .byte N12 , Gn5 , v120 + .byte W12 + .byte W36 + .byte N06 + .byte W60 + .byte W30 + .byte N12 + .byte W66 + .byte W24 + .byte N12 + .byte W48 + .byte N12 + .byte W24 + .byte W12 + .byte N12 + .byte W84 + .byte PATT + .word mus_rg_santoan_10_000 + .byte W48 + .byte N12 , Gn5 , v120 + .byte W36 + .byte N12 + .byte W12 + .byte W96 + .byte W96 + .byte W12 + .byte Gn5 , v064 + .byte W24 + .byte Gn5 , v076 + .byte W24 + .byte Gn5 , v100 + .byte W24 + .byte Gn5 , v112 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_santoan_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_santoan: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_santoan_pri @ Priority + .byte mus_rg_santoan_rev @ Reverb. + + .word mus_rg_santoan_grp + + .word mus_rg_santoan_1 + .word mus_rg_santoan_2 + .word mus_rg_santoan_3 + .word mus_rg_santoan_4 + .word mus_rg_santoan_5 + .word mus_rg_santoan_6 + .word mus_rg_santoan_7 + .word mus_rg_santoan_8 + .word mus_rg_santoan_9 + .word mus_rg_santoan_10 + + .end diff --git a/sound/songs/mus_rg_seibetu.s b/sound/songs/mus_rg_seibetu.s new file mode 100644 index 0000000000..1e0185b903 --- /dev/null +++ b/sound/songs/mus_rg_seibetu.s @@ -0,0 +1,156 @@ + .include "MPlayDef.s" + + .equ mus_rg_seibetu_grp, voicegroup_86B1824 + .equ mus_rg_seibetu_pri, 0 + .equ mus_rg_seibetu_rev, reverb_set+50 + .equ mus_rg_seibetu_mvl, 127 + .equ mus_rg_seibetu_key, 0 + .equ mus_rg_seibetu_tbs, 1 + .equ mus_rg_seibetu_exg, 0 + .equ mus_rg_seibetu_cmp, 1 + + .section .rodata + .global mus_rg_seibetu + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_seibetu_1: + .byte KEYSH , mus_rg_seibetu_key+0 + .byte TEMPO , 120*mus_rg_seibetu_tbs/2 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+28 + .byte VOL , 67*mus_rg_seibetu_mvl/mxv + .byte W24 + .byte N06 , Gn3 , v120 + .byte W24 + .byte W48 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_seibetu_2: + .byte KEYSH , mus_rg_seibetu_key+0 + .byte VOICE , 60 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 81*mus_rg_seibetu_mvl/mxv + .byte W24 + .byte N06 , Bn3 , v120 + .byte W24 + .byte W48 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_seibetu_3: + .byte KEYSH , mus_rg_seibetu_key+0 + .byte VOICE , 58 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 88*mus_rg_seibetu_mvl/mxv + .byte PAN , c_v+0 + .byte N24 , Fs1 , v120 + .byte W48 + .byte W48 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_seibetu_4: + .byte KEYSH , mus_rg_seibetu_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-24 + .byte VOL , 67*mus_rg_seibetu_mvl/mxv + .byte W24 + .byte N06 , Bn2 , v120 + .byte W24 + .byte W48 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_seibetu_5: + .byte KEYSH , mus_rg_seibetu_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 86*mus_rg_seibetu_mvl/mxv + .byte PAN , c_v+2 + .byte W24 + .byte N15 , Gn2 , v120 + .byte W24 + .byte W48 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_seibetu_6: + .byte KEYSH , mus_rg_seibetu_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 50*mus_rg_seibetu_mvl/mxv + .byte PAN , c_v+0 + .byte N24 , Fs1 , v120 + .byte W24 + .byte N06 , Gn1 + .byte W24 + .byte W48 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_seibetu_7: + .byte KEYSH , mus_rg_seibetu_key+0 + .byte VOICE , 0 + .byte VOL , 86*mus_rg_seibetu_mvl/mxv + .byte N03 , En1 , v120 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v120 + .byte N48 , An2 , v096 + .byte W24 + .byte W48 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_seibetu: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_seibetu_pri @ Priority + .byte mus_rg_seibetu_rev @ Reverb. + + .word mus_rg_seibetu_grp + + .word mus_rg_seibetu_1 + .word mus_rg_seibetu_2 + .word mus_rg_seibetu_3 + .word mus_rg_seibetu_4 + .word mus_rg_seibetu_5 + .word mus_rg_seibetu_6 + .word mus_rg_seibetu_7 + + .end diff --git a/sound/songs/mus_rg_sekaikan.s b/sound/songs/mus_rg_sekaikan.s new file mode 100644 index 0000000000..0f12ced9fb --- /dev/null +++ b/sound/songs/mus_rg_sekaikan.s @@ -0,0 +1,405 @@ + .include "MPlayDef.s" + + .equ mus_rg_sekaikan_grp, voicegroup_86B1824 + .equ mus_rg_sekaikan_pri, 0 + .equ mus_rg_sekaikan_rev, reverb_set+50 + .equ mus_rg_sekaikan_mvl, 127 + .equ mus_rg_sekaikan_key, 0 + .equ mus_rg_sekaikan_tbs, 1 + .equ mus_rg_sekaikan_exg, 0 + .equ mus_rg_sekaikan_cmp, 1 + + .section .rodata + .global mus_rg_sekaikan + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_sekaikan_1: + .byte KEYSH , mus_rg_sekaikan_key+0 +mus_rg_sekaikan_1_B1: + .byte TEMPO , 120*mus_rg_sekaikan_tbs/2 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+23 + .byte VOL , 67*mus_rg_sekaikan_mvl/mxv + .byte W96 + .byte W96 + .byte N06 , Gn3 , v120 + .byte W96 + .byte W72 + .byte N24 , Fs3 + .byte W24 + .byte N06 , Gn3 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_sekaikan_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_sekaikan_2: + .byte KEYSH , mus_rg_sekaikan_key+0 +mus_rg_sekaikan_2_B1: + .byte VOICE , 58 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 88*mus_rg_sekaikan_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , Gn1 , v120 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W48 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W24 + .byte N24 , Fs1 + .byte W24 +mus_rg_sekaikan_2_000: + .byte N12 , Gn1 , v120 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W48 + .byte PEND + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W24 + .byte N24 , Dn1 + .byte W24 + .byte PATT + .word mus_rg_sekaikan_2_000 + .byte N06 , Gn1 , v120 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 + .byte W24 + .byte N24 , Dn1 + .byte W24 + .byte GOTO + .word mus_rg_sekaikan_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_sekaikan_3: + .byte KEYSH , mus_rg_sekaikan_key+0 +mus_rg_sekaikan_3_B1: + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-16 + .byte VOL , 70*mus_rg_sekaikan_mvl/mxv + .byte W96 + .byte W96 + .byte N06 , Bn2 , v120 + .byte W96 + .byte W72 + .byte N24 , As2 + .byte W24 + .byte N06 , Bn2 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_sekaikan_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_sekaikan_4: + .byte KEYSH , mus_rg_sekaikan_key+0 +mus_rg_sekaikan_4_B1: + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 86*mus_rg_sekaikan_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , Gn2 , v120 + .byte W96 + .byte W96 + .byte N12 + .byte W96 + .byte W96 + .byte N12 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_sekaikan_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_sekaikan_5: + .byte KEYSH , mus_rg_sekaikan_key+0 +mus_rg_sekaikan_5_B1: + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 50*mus_rg_sekaikan_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , Gn1 , v120 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W48 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W24 + .byte N24 , Fs1 + .byte W24 +mus_rg_sekaikan_5_000: + .byte N12 , Gn1 , v120 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W48 + .byte PEND + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W24 + .byte N24 , Dn1 + .byte W24 + .byte PATT + .word mus_rg_sekaikan_5_000 + .byte N06 , Gn1 , v120 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 + .byte W24 + .byte N24 , Dn1 + .byte W24 + .byte GOTO + .word mus_rg_sekaikan_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_sekaikan_6: + .byte KEYSH , mus_rg_sekaikan_key+0 +mus_rg_sekaikan_6_B1: + .byte VOICE , 0 + .byte VOL , 85*mus_rg_sekaikan_mvl/mxv + .byte N06 , En1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte En1 , v120 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 +mus_rg_sekaikan_6_000: + .byte N06 , En1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte En1 , v120 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND + .byte N06 , En1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PATT + .word mus_rg_sekaikan_6_000 + .byte N06 , En1 , v120 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte En1 , v120 + .byte W12 + .byte N03 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte GOTO + .word mus_rg_sekaikan_6_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_sekaikan: + .byte 6 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_sekaikan_pri @ Priority + .byte mus_rg_sekaikan_rev @ Reverb. + + .word mus_rg_sekaikan_grp + + .word mus_rg_sekaikan_1 + .word mus_rg_sekaikan_2 + .word mus_rg_sekaikan_3 + .word mus_rg_sekaikan_4 + .word mus_rg_sekaikan_5 + .word mus_rg_sekaikan_6 + + .end diff --git a/sound/songs/mus_rg_shion.s b/sound/songs/mus_rg_shion.s new file mode 100644 index 0000000000..d9beb571a8 --- /dev/null +++ b/sound/songs/mus_rg_shion.s @@ -0,0 +1,2173 @@ + .include "MPlayDef.s" + + .equ mus_rg_shion_grp, voicegroup_86A3BD4 + .equ mus_rg_shion_pri, 0 + .equ mus_rg_shion_rev, reverb_set+50 + .equ mus_rg_shion_mvl, 127 + .equ mus_rg_shion_key, 0 + .equ mus_rg_shion_tbs, 1 + .equ mus_rg_shion_exg, 0 + .equ mus_rg_shion_cmp, 1 + + .section .rodata + .global mus_rg_shion + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_shion_1: + .byte KEYSH , mus_rg_shion_key+0 + .byte TEMPO , 128*mus_rg_shion_tbs/2 + .byte VOICE , 17 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte LFOS , 50 + .byte BENDR , 12 + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte c_v+0 + .byte W96 +mus_rg_shion_1_B1: + .byte VOICE , 17 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 , Gn4 , v127 + .byte W09 + .byte MOD , 8 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 + .byte W09 + .byte MOD , 8 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 , En4 + .byte W09 + .byte MOD , 8 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 + .byte W09 + .byte MOD , 8 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 89*mus_rg_shion_mvl/mxv + .byte N24 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , En4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Bn4 + .byte W12 + .byte MOD , 7 + .byte N03 , An4 , v064 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 , Cs4 , v127 + .byte W09 + .byte MOD , 8 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 + .byte W09 + .byte MOD , 8 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 , Gn4 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 , Fs4 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N24 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Fs4 + .byte W12 + .byte MOD , 7 + .byte N03 , Gn4 , v064 + .byte W03 + .byte Gs4 + .byte W03 + .byte An4 + .byte W03 + .byte As4 + .byte W03 + .byte MOD , 0 + .byte N24 , Bn4 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 , Cn5 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 + .byte W09 + .byte MOD , 8 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 +mus_rg_shion_1_000: + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 , Gn5 , v096 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte PEND + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 , En5 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N24 , Gn5 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , Fs5 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte 0 + .byte N24 , En5 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte 0 + .byte N12 , Bn5 + .byte W12 + .byte MOD , 13 + .byte N03 , An5 , v048 + .byte W03 + .byte Gn5 + .byte W03 + .byte Fs5 + .byte W03 + .byte En5 + .byte W03 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 , Cs5 , v096 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte PATT + .word mus_rg_shion_1_000 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 , Fs5 , v096 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N24 , Bn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Fs5 + .byte W12 + .byte MOD , 7 + .byte N03 , Gn5 , v048 + .byte W03 + .byte Gs5 + .byte W03 + .byte An5 + .byte W03 + .byte As5 + .byte W03 + .byte MOD , 0 + .byte N24 , Bn5 , v096 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 , Cn5 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 21 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 , Gn4 , v100 + .byte W09 + .byte MOD , 8 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 + .byte W09 + .byte MOD , 8 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 , En4 + .byte W09 + .byte MOD , 8 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 + .byte W09 + .byte MOD , 8 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , En4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 , Cs4 + .byte W09 + .byte MOD , 8 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 + .byte W09 + .byte MOD , 8 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 +mus_rg_shion_1_001: + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 , Gn4 , v100 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte PEND +mus_rg_shion_1_002: + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 , Fs4 , v100 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte PEND +mus_rg_shion_1_003: + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N24 , Bn4 , v100 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte PEND + .byte 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 , Cn5 + .byte W06 + .byte MOD , 8 + .byte W18 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 + .byte W09 + .byte MOD , 8 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte PATT + .word mus_rg_shion_1_001 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 , En4 , v100 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N24 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , En4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 , Cs4 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte N48 + .byte W09 + .byte MOD , 7 + .byte W15 + .byte VOL , 79*mus_rg_shion_mvl/mxv + .byte W12 + .byte 68*mus_rg_shion_mvl/mxv + .byte W12 + .byte PATT + .word mus_rg_shion_1_001 + .byte PATT + .word mus_rg_shion_1_002 + .byte PATT + .word mus_rg_shion_1_003 + .byte MOD , 0 + .byte N48 , Cn4 , v100 + .byte W09 + .byte MOD , 7 + .byte W36 + .byte W03 + .byte 0 + .byte N48 + .byte W09 + .byte MOD , 7 + .byte W36 + .byte W03 + .byte 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_shion_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_shion_2: + .byte KEYSH , mus_rg_shion_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+48 + .byte MOD , 4 + .byte VOL , 31*mus_rg_shion_mvl/mxv + .byte N06 , Cn5 , v127 + .byte W24 + .byte PAN , c_v-16 + .byte N06 , Gn5 + .byte W24 + .byte PAN , c_v-48 + .byte N06 , Bn5 + .byte W24 + .byte PAN , c_v+16 + .byte N06 , Fs5 + .byte W24 +mus_rg_shion_2_000: + .byte PAN , c_v-48 + .byte N06 , Cn5 , v127 + .byte W24 + .byte PAN , c_v+16 + .byte N06 , Gn5 + .byte W24 + .byte PAN , c_v+48 + .byte N06 , Bn5 + .byte W24 + .byte PAN , c_v-16 + .byte N06 , Fs5 + .byte W24 + .byte PEND +mus_rg_shion_2_001: + .byte PAN , c_v+48 + .byte N06 , Cn5 , v127 + .byte W24 + .byte PAN , c_v-16 + .byte N06 , Gn5 + .byte W24 + .byte PAN , c_v-48 + .byte N06 , Bn5 + .byte W24 + .byte PAN , c_v+16 + .byte N06 , Fs5 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_shion_2_000 +mus_rg_shion_2_B1: + .byte PATT + .word mus_rg_shion_2_001 + .byte PATT + .word mus_rg_shion_2_000 + .byte PATT + .word mus_rg_shion_2_001 + .byte PATT + .word mus_rg_shion_2_000 + .byte PATT + .word mus_rg_shion_2_001 + .byte PATT + .word mus_rg_shion_2_000 + .byte PATT + .word mus_rg_shion_2_001 + .byte PATT + .word mus_rg_shion_2_000 + .byte PATT + .word mus_rg_shion_2_001 + .byte PATT + .word mus_rg_shion_2_000 + .byte PATT + .word mus_rg_shion_2_001 + .byte PATT + .word mus_rg_shion_2_000 + .byte PATT + .word mus_rg_shion_2_001 + .byte PATT + .word mus_rg_shion_2_000 + .byte PATT + .word mus_rg_shion_2_001 + .byte PATT + .word mus_rg_shion_2_000 + .byte PATT + .word mus_rg_shion_2_001 + .byte PATT + .word mus_rg_shion_2_000 + .byte PATT + .word mus_rg_shion_2_001 + .byte PATT + .word mus_rg_shion_2_000 + .byte PATT + .word mus_rg_shion_2_001 + .byte PATT + .word mus_rg_shion_2_000 + .byte PATT + .word mus_rg_shion_2_001 + .byte PATT + .word mus_rg_shion_2_000 + .byte PATT + .word mus_rg_shion_2_001 + .byte PATT + .word mus_rg_shion_2_000 + .byte PATT + .word mus_rg_shion_2_001 + .byte PATT + .word mus_rg_shion_2_000 + .byte PATT + .word mus_rg_shion_2_001 + .byte PATT + .word mus_rg_shion_2_000 + .byte PATT + .word mus_rg_shion_2_001 + .byte PATT + .word mus_rg_shion_2_000 + .byte PATT + .word mus_rg_shion_2_001 + .byte PATT + .word mus_rg_shion_2_000 + .byte PATT + .word mus_rg_shion_2_001 + .byte PATT + .word mus_rg_shion_2_000 + .byte PATT + .word mus_rg_shion_2_001 + .byte PATT + .word mus_rg_shion_2_000 + .byte PATT + .word mus_rg_shion_2_001 + .byte PATT + .word mus_rg_shion_2_000 + .byte GOTO + .word mus_rg_shion_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_shion_3: + .byte KEYSH , mus_rg_shion_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte MOD , 4 + .byte VOL , 42*mus_rg_shion_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte c_v+0 + .byte W72 + .byte VOL , 11*mus_rg_shion_mvl/mxv + .byte BEND , c_v+16 + .byte N24 , En2 , v096 + .byte W12 + .byte VOL , 22*mus_rg_shion_mvl/mxv + .byte BEND , c_v+10 + .byte W06 + .byte VOL , 34*mus_rg_shion_mvl/mxv + .byte BEND , c_v+5 + .byte W06 +mus_rg_shion_3_B1: + .byte PAN , c_v-32 + .byte VOL , 42*mus_rg_shion_mvl/mxv + .byte BEND , c_v+0 + .byte N96 , En2 , v108 + .byte W06 + .byte PAN , c_v-24 + .byte W06 + .byte c_v-16 + .byte W06 + .byte c_v-7 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+8 + .byte W06 + .byte c_v+16 + .byte W06 + .byte c_v+25 + .byte W06 + .byte c_v+32 + .byte W12 + .byte c_v+16 + .byte W06 + .byte c_v+5 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v-7 + .byte W06 + .byte c_v-22 + .byte W06 + .byte c_v-27 + .byte W06 +mus_rg_shion_3_000: + .byte N96 , Dn2 , v108 + .byte W06 + .byte PAN , c_v-24 + .byte W06 + .byte c_v-16 + .byte W06 + .byte c_v-7 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+8 + .byte W06 + .byte c_v+16 + .byte W06 + .byte c_v+25 + .byte W06 + .byte c_v+32 + .byte W12 + .byte c_v+16 + .byte W06 + .byte c_v+5 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v-7 + .byte W06 + .byte c_v-22 + .byte W06 + .byte c_v-27 + .byte W06 + .byte PEND +mus_rg_shion_3_001: + .byte N96 , Cn2 , v108 + .byte W06 + .byte PAN , c_v-24 + .byte W06 + .byte c_v-16 + .byte W06 + .byte c_v-7 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+8 + .byte W06 + .byte c_v+16 + .byte W06 + .byte c_v+25 + .byte W06 + .byte c_v+32 + .byte W12 + .byte c_v+16 + .byte W06 + .byte c_v+5 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v-7 + .byte W06 + .byte c_v-22 + .byte W06 + .byte c_v-27 + .byte W06 + .byte PEND +mus_rg_shion_3_002: + .byte PAN , c_v-32 + .byte N24 , En2 , v108 + .byte W24 + .byte Cn2 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Bn1 + .byte W24 + .byte En2 + .byte W24 + .byte PEND +mus_rg_shion_3_003: + .byte PAN , c_v-32 + .byte N96 , En2 , v108 + .byte W06 + .byte PAN , c_v-24 + .byte W06 + .byte c_v-16 + .byte W06 + .byte c_v-7 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+8 + .byte W06 + .byte c_v+16 + .byte W06 + .byte c_v+25 + .byte W06 + .byte c_v+32 + .byte W12 + .byte c_v+16 + .byte W06 + .byte c_v+5 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v-7 + .byte W06 + .byte c_v-22 + .byte W06 + .byte c_v-27 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_shion_3_000 + .byte PATT + .word mus_rg_shion_3_001 + .byte PATT + .word mus_rg_shion_3_002 + .byte PATT + .word mus_rg_shion_3_003 + .byte PATT + .word mus_rg_shion_3_000 + .byte PATT + .word mus_rg_shion_3_001 + .byte PATT + .word mus_rg_shion_3_002 + .byte VOICE , 24 + .byte PAN , c_v-32 + .byte N24 , Bn4 , v108 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Gn4 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Fs4 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Bn4 + .byte W24 + .byte PAN , c_v-32 + .byte N24 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Gn4 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Fs4 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Bn4 + .byte W24 + .byte VOICE , 73 + .byte PAN , c_v-32 + .byte N24 , Bn5 , v068 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Gn5 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Fs5 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Bn5 + .byte W24 + .byte VOICE , 48 + .byte PAN , c_v-32 + .byte N24 , En2 , v108 + .byte W24 + .byte Gn2 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Fs2 + .byte W24 + .byte Bn2 + .byte W24 + .byte PATT + .word mus_rg_shion_3_003 + .byte PATT + .word mus_rg_shion_3_000 + .byte PATT + .word mus_rg_shion_3_001 + .byte PATT + .word mus_rg_shion_3_002 + .byte PATT + .word mus_rg_shion_3_003 + .byte PATT + .word mus_rg_shion_3_000 + .byte PATT + .word mus_rg_shion_3_001 + .byte PATT + .word mus_rg_shion_3_002 + .byte PATT + .word mus_rg_shion_3_003 + .byte PATT + .word mus_rg_shion_3_000 + .byte PATT + .word mus_rg_shion_3_001 + .byte PATT + .word mus_rg_shion_3_002 + .byte VOICE , 24 + .byte PAN , c_v-32 + .byte MOD , 8 + .byte VOL , 52*mus_rg_shion_mvl/mxv + .byte N24 , Bn4 , v108 + .byte W12 + .byte MOD , 16 + .byte W12 + .byte PAN , c_v+32 + .byte MOD , 8 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 16 + .byte W12 + .byte PAN , c_v-32 + .byte MOD , 8 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 16 + .byte W12 + .byte PAN , c_v+32 + .byte MOD , 8 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 16 + .byte W12 + .byte PAN , c_v-32 + .byte MOD , 8 + .byte N24 + .byte W12 + .byte MOD , 16 + .byte W12 + .byte PAN , c_v+32 + .byte MOD , 8 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 16 + .byte W12 + .byte PAN , c_v-32 + .byte MOD , 8 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 16 + .byte W12 + .byte PAN , c_v+32 + .byte MOD , 8 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 16 + .byte W12 + .byte 13 + .byte VOL , 56*mus_rg_shion_mvl/mxv + .byte PAN , c_v+32 + .byte N24 , Bn5 + .byte W12 + .byte MOD , 20 + .byte W12 + .byte 13 + .byte PAN , c_v-32 + .byte N24 , Gn5 + .byte W12 + .byte MOD , 21 + .byte W12 + .byte 12 + .byte PAN , c_v+32 + .byte N24 , Fs5 + .byte W12 + .byte MOD , 21 + .byte W12 + .byte 12 + .byte PAN , c_v-32 + .byte N24 , Bn5 + .byte W12 + .byte MOD , 20 + .byte W12 + .byte VOICE , 48 + .byte MOD , 4 + .byte PAN , c_v-32 + .byte VOL , 42*mus_rg_shion_mvl/mxv + .byte N24 , En2 + .byte W24 + .byte Gn2 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Fs2 + .byte W24 + .byte Bn2 + .byte W24 + .byte PATT + .word mus_rg_shion_3_003 + .byte PATT + .word mus_rg_shion_3_000 + .byte PATT + .word mus_rg_shion_3_001 + .byte PATT + .word mus_rg_shion_3_002 + .byte PATT + .word mus_rg_shion_3_003 + .byte PATT + .word mus_rg_shion_3_000 + .byte PATT + .word mus_rg_shion_3_001 + .byte PATT + .word mus_rg_shion_3_002 + .byte GOTO + .word mus_rg_shion_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_shion_4: + .byte KEYSH , mus_rg_shion_key+0 + .byte VOICE , 78 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+32 + .byte VOL , 11*mus_rg_shion_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte 3*mus_rg_shion_mvl/mxv + .byte W12 + .byte 5*mus_rg_shion_mvl/mxv + .byte W06 + .byte 6*mus_rg_shion_mvl/mxv + .byte W03 + .byte 7*mus_rg_shion_mvl/mxv + .byte W03 +mus_rg_shion_4_B1: + .byte VOL , 11*mus_rg_shion_mvl/mxv + .byte N92 , En3 , v120 + .byte W92 + .byte W01 + .byte N03 , Ds3 + .byte W03 +mus_rg_shion_4_000: + .byte N92 , Dn3 , v127 + .byte W92 + .byte W01 + .byte N03 , Cs3 , v120 + .byte W03 + .byte PEND +mus_rg_shion_4_001: + .byte N84 , Cn3 , v127 + .byte W84 + .byte W03 + .byte N03 , Cs3 , v120 + .byte W03 + .byte Dn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte PEND +mus_rg_shion_4_002: + .byte N15 , En3 , v127 + .byte W15 + .byte N03 , Ds3 , v120 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte N24 , Cn3 , v127 + .byte W24 + .byte N12 , Bn2 + .byte W12 + .byte N03 , Cn3 , v120 + .byte W03 + .byte Cs3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte N24 , En3 , v127 + .byte W24 + .byte PEND +mus_rg_shion_4_003: + .byte N92 , En3 , v127 + .byte W92 + .byte W01 + .byte N03 , Ds3 , v120 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_shion_4_000 + .byte PATT + .word mus_rg_shion_4_001 + .byte PATT + .word mus_rg_shion_4_002 + .byte PATT + .word mus_rg_shion_4_003 + .byte PATT + .word mus_rg_shion_4_000 + .byte PATT + .word mus_rg_shion_4_001 + .byte PATT + .word mus_rg_shion_4_002 + .byte VOICE , 58 + .byte VOL , 22*mus_rg_shion_mvl/mxv + .byte N24 , Bn4 , v127 + .byte W12 + .byte MOD , 16 + .byte W12 + .byte 0 + .byte PAN , c_v+16 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 16 + .byte PAN , c_v+7 + .byte W12 + .byte MOD , 0 + .byte PAN , c_v+0 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 16 + .byte PAN , c_v-11 + .byte W12 + .byte MOD , 0 + .byte PAN , c_v-18 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 16 + .byte PAN , c_v-27 + .byte W12 + .byte MOD , 0 + .byte PAN , c_v-32 + .byte N24 + .byte W12 + .byte MOD , 16 + .byte PAN , c_v-37 + .byte W12 + .byte MOD , 0 + .byte PAN , c_v-40 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 16 + .byte PAN , c_v-44 + .byte W12 + .byte MOD , 0 + .byte PAN , c_v-34 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 16 + .byte PAN , c_v-28 + .byte W12 + .byte MOD , 0 + .byte PAN , c_v-21 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 16 + .byte PAN , c_v-9 + .byte W12 + .byte VOICE , 78 + .byte PAN , c_v+0 + .byte MOD , 6 + .byte N24 , Bn4 , v068 + .byte W12 + .byte MOD , 16 + .byte W12 + .byte 6 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 16 + .byte W12 + .byte 7 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 16 + .byte W12 + .byte 7 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 16 + .byte W12 + .byte VOICE , 78 + .byte MOD , 0 + .byte PAN , c_v+32 + .byte VOL , 11*mus_rg_shion_mvl/mxv + .byte N18 , En3 , v127 + .byte W18 + .byte N03 , Fn3 , v120 + .byte W03 + .byte Fs3 + .byte W03 + .byte N24 , Gn3 , v127 + .byte W24 + .byte N12 , Fs3 + .byte W12 + .byte N03 , Gn3 , v120 + .byte W03 + .byte Gs3 + .byte W03 + .byte An3 + .byte W03 + .byte As3 + .byte W03 + .byte N24 , Bn3 , v127 + .byte W24 + .byte PATT + .word mus_rg_shion_4_003 + .byte PATT + .word mus_rg_shion_4_000 + .byte PATT + .word mus_rg_shion_4_001 + .byte PATT + .word mus_rg_shion_4_002 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte MOD , 5 + .byte VOL , 11*mus_rg_shion_mvl/mxv + .byte W12 + .byte MOD , 12 + .byte W12 + .byte 5 + .byte W12 + .byte 12 + .byte W12 + .byte 5 + .byte W12 + .byte 12 + .byte W12 + .byte 5 + .byte W12 + .byte 12 + .byte W12 + .byte VOICE , 58 + .byte MOD , 5 + .byte VOL , 14*mus_rg_shion_mvl/mxv + .byte N24 , Bn4 , v080 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte 5 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte 5 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte 5 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte 5 + .byte PAN , c_v-32 + .byte N24 , Bn4 , v096 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte 5 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte 5 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte 5 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte VOICE , 73 + .byte MOD , 5 + .byte PAN , c_v+0 + .byte VOL , 13*mus_rg_shion_mvl/mxv + .byte N24 , Bn5 , v112 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte 5 + .byte N24 , Gn5 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte 5 + .byte N24 , Fs5 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte 5 + .byte N24 , Bn5 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte VOICE , 78 + .byte MOD , 0 + .byte PAN , c_v+32 + .byte VOL , 11*mus_rg_shion_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_shion_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_shion_5: + .byte KEYSH , mus_rg_shion_key+0 + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte VOL , 22*mus_rg_shion_mvl/mxv + .byte BEND , c_v+2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_shion_5_B1: +mus_rg_shion_5_000: + .byte N48 , Gn2 , v096 + .byte W09 + .byte MOD , 8 + .byte W36 + .byte W03 + .byte 0 + .byte N42 + .byte W09 + .byte MOD , 8 + .byte W32 + .byte W01 + .byte N03 , Fs2 , v092 + .byte W03 + .byte Fn2 + .byte W03 + .byte PEND +mus_rg_shion_5_001: + .byte MOD , 0 + .byte N48 , En2 , v096 + .byte W09 + .byte MOD , 8 + .byte W36 + .byte W03 + .byte 0 + .byte N42 + .byte W09 + .byte MOD , 8 + .byte W32 + .byte W01 + .byte N03 , Fn2 , v092 + .byte W03 + .byte Fs2 + .byte W03 + .byte PEND +mus_rg_shion_5_002: + .byte MOD , 0 + .byte N24 , Gn2 , v096 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N21 , Fs2 + .byte W12 + .byte MOD , 7 + .byte W09 + .byte N03 , Fn2 , v092 + .byte W03 + .byte MOD , 0 + .byte N12 , En2 , v096 + .byte W12 + .byte MOD , 7 + .byte N03 , Fn2 , v092 + .byte W03 + .byte Fs2 + .byte W03 + .byte Gs2 + .byte W03 + .byte As2 + .byte W03 + .byte MOD , 0 + .byte N09 , Bn2 , v096 + .byte W09 + .byte N03 , As2 , v088 + .byte W03 + .byte MOD , 7 + .byte N03 , Gs2 + .byte W03 + .byte Fs2 + .byte W03 + .byte En2 , v092 + .byte W03 + .byte Dn2 + .byte W03 + .byte PEND +mus_rg_shion_5_003: + .byte MOD , 0 + .byte N48 , Cs2 , v096 + .byte W09 + .byte MOD , 8 + .byte W36 + .byte W03 + .byte 0 + .byte N32 + .byte W09 + .byte MOD , 8 + .byte W24 + .byte N03 , Dn2 , v092 + .byte W03 + .byte Ds2 + .byte W03 + .byte En2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Fs2 + .byte W03 + .byte PEND +mus_rg_shion_5_004: + .byte MOD , 0 + .byte N48 , Gn2 , v096 + .byte W09 + .byte MOD , 7 + .byte W36 + .byte W03 + .byte 0 + .byte N48 + .byte W09 + .byte MOD , 7 + .byte W36 + .byte W03 + .byte PEND +mus_rg_shion_5_005: + .byte MOD , 0 + .byte N48 , Fs2 , v096 + .byte W09 + .byte MOD , 7 + .byte W36 + .byte W03 + .byte 0 + .byte N36 + .byte W09 + .byte MOD , 7 + .byte W24 + .byte W03 + .byte N03 , Gn2 , v092 + .byte W03 + .byte Gs2 + .byte W03 + .byte An2 + .byte W03 + .byte As2 + .byte W03 + .byte PEND +mus_rg_shion_5_006: + .byte MOD , 0 + .byte N15 , Bn2 , v096 + .byte W12 + .byte MOD , 7 + .byte W03 + .byte N03 , As2 , v092 + .byte W03 + .byte An2 + .byte W03 + .byte Gs2 + .byte W03 + .byte MOD , 0 + .byte N24 , Gn2 , v096 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Fs2 + .byte W12 + .byte MOD , 7 + .byte N03 , Gn2 , v092 + .byte W03 + .byte Gs2 + .byte W03 + .byte An2 + .byte W03 + .byte As2 + .byte W03 + .byte MOD , 0 + .byte N24 , Bn2 , v096 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte PEND +mus_rg_shion_5_007: + .byte MOD , 0 + .byte N48 , Cn3 , v096 + .byte W06 + .byte MOD , 8 + .byte W42 + .byte 0 + .byte N36 + .byte W09 + .byte MOD , 8 + .byte W24 + .byte W03 + .byte N03 , Bn2 , v092 + .byte W03 + .byte As2 + .byte W03 + .byte An2 + .byte W03 + .byte Gs2 + .byte W03 + .byte PEND +mus_rg_shion_5_008: + .byte MOD , 0 + .byte N48 , Gn2 , v096 + .byte W09 + .byte MOD , 7 + .byte W36 + .byte W03 + .byte 0 + .byte N42 + .byte W09 + .byte MOD , 7 + .byte W32 + .byte W01 + .byte N03 , Fs2 , v092 + .byte W03 + .byte Fn2 + .byte W03 + .byte PEND +mus_rg_shion_5_009: + .byte MOD , 0 + .byte N48 , En2 , v096 + .byte W09 + .byte MOD , 7 + .byte W36 + .byte W03 + .byte 0 + .byte N42 + .byte W09 + .byte MOD , 7 + .byte W32 + .byte W01 + .byte N03 , Fn2 , v092 + .byte W03 + .byte Fs2 + .byte W03 + .byte PEND +mus_rg_shion_5_010: + .byte MOD , 0 + .byte N24 , Gn2 , v096 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N21 , Fs2 + .byte W12 + .byte MOD , 7 + .byte W09 + .byte N03 , Fn2 , v092 + .byte W03 + .byte MOD , 0 + .byte N12 , En2 , v096 + .byte W12 + .byte MOD , 7 + .byte N03 , Fn2 , v092 + .byte W03 + .byte Fs2 + .byte W03 + .byte Gs2 + .byte W03 + .byte As2 + .byte W03 + .byte MOD , 0 + .byte N12 , Bn2 , v096 + .byte W12 + .byte MOD , 7 + .byte N03 , An2 , v092 + .byte W03 + .byte Gn2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte PEND +mus_rg_shion_5_011: + .byte MOD , 0 + .byte N48 , Cs2 , v096 + .byte W09 + .byte MOD , 7 + .byte W36 + .byte W03 + .byte 0 + .byte N36 + .byte W09 + .byte MOD , 7 + .byte W24 + .byte W03 + .byte N03 , Dn2 , v092 + .byte W03 + .byte Ds2 + .byte W03 + .byte En2 + .byte W03 + .byte Fs2 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_shion_5_004 + .byte PATT + .word mus_rg_shion_5_005 +mus_rg_shion_5_012: + .byte MOD , 0 + .byte N15 , Bn2 , v096 + .byte W12 + .byte MOD , 7 + .byte W03 + .byte N03 , As2 , v092 + .byte W03 + .byte An2 + .byte W03 + .byte Gs2 + .byte W03 + .byte MOD , 0 + .byte N24 , Gn2 , v096 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Fs2 + .byte W12 + .byte MOD , 7 + .byte N03 , Gn2 , v092 + .byte W03 + .byte Gs2 + .byte W03 + .byte An2 + .byte W03 + .byte As2 + .byte W03 + .byte MOD , 0 + .byte N12 , Bn2 , v096 + .byte W12 + .byte MOD , 7 + .byte N03 , An2 , v092 + .byte W03 + .byte Gn2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Dn2 + .byte W03 + .byte PEND +mus_rg_shion_5_013: + .byte MOD , 0 + .byte N48 , Cn2 , v096 + .byte W09 + .byte MOD , 7 + .byte W36 + .byte W03 + .byte 0 + .byte N48 + .byte W09 + .byte MOD , 7 + .byte W36 + .byte W03 + .byte PEND + .byte 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_rg_shion_5_000 + .byte PATT + .word mus_rg_shion_5_001 + .byte PATT + .word mus_rg_shion_5_002 + .byte PATT + .word mus_rg_shion_5_003 + .byte PATT + .word mus_rg_shion_5_004 + .byte PATT + .word mus_rg_shion_5_005 + .byte PATT + .word mus_rg_shion_5_006 + .byte PATT + .word mus_rg_shion_5_007 + .byte PATT + .word mus_rg_shion_5_008 + .byte PATT + .word mus_rg_shion_5_009 + .byte PATT + .word mus_rg_shion_5_010 + .byte PATT + .word mus_rg_shion_5_011 + .byte PATT + .word mus_rg_shion_5_004 + .byte PATT + .word mus_rg_shion_5_005 + .byte PATT + .word mus_rg_shion_5_012 + .byte PATT + .word mus_rg_shion_5_013 + .byte MOD , 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_shion_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_shion_6: + .byte KEYSH , mus_rg_shion_key+0 + .byte VOICE , 10 + .byte VOL , 67*mus_rg_shion_mvl/mxv + .byte PAN , c_v+30 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_shion_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W06 + .byte VOL , 69*mus_rg_shion_mvl/mxv + .byte W90 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte N48 , Cn3 , v048 + .byte W48 + .byte W96 + .byte W48 + .byte N48 + .byte W48 + .byte W96 + .byte W48 + .byte N48 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte N48 + .byte W48 + .byte W96 + .byte W96 + .byte W48 + .byte N48 + .byte W48 + .byte W48 + .byte N48 + .byte W48 + .byte W96 + .byte W48 + .byte N48 + .byte W48 + .byte W48 + .byte N48 + .byte W48 + .byte W48 + .byte N48 + .byte W48 + .byte W96 + .byte W48 + .byte N48 + .byte W48 + .byte W96 + .byte W48 + .byte N48 + .byte W48 + .byte W96 + .byte W96 + .byte N48 + .byte W96 + .byte GOTO + .word mus_rg_shion_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_shion_7: + .byte KEYSH , mus_rg_shion_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte MOD , 5 + .byte PAN , c_v+63 + .byte VOL , 21*mus_rg_shion_mvl/mxv + .byte BEND , c_v+1 + .byte N06 , Cn5 , v064 + .byte W24 + .byte Gn5 + .byte W24 + .byte PAN , c_v-64 + .byte N06 , Bn5 + .byte W24 + .byte Fs5 + .byte W24 +mus_rg_shion_7_000: + .byte PAN , c_v-64 + .byte N06 , Cn5 , v064 + .byte W24 + .byte Gn5 + .byte W24 + .byte PAN , c_v+63 + .byte N06 , Bn5 + .byte W24 + .byte Fs5 + .byte W24 + .byte PEND +mus_rg_shion_7_001: + .byte PAN , c_v+63 + .byte N06 , Cn5 , v064 + .byte W24 + .byte Gn5 + .byte W24 + .byte PAN , c_v-64 + .byte N06 , Bn5 + .byte W24 + .byte Fs5 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_shion_7_000 +mus_rg_shion_7_B1: + .byte PATT + .word mus_rg_shion_7_001 + .byte PATT + .word mus_rg_shion_7_000 + .byte PATT + .word mus_rg_shion_7_001 + .byte PATT + .word mus_rg_shion_7_000 + .byte PATT + .word mus_rg_shion_7_001 + .byte PATT + .word mus_rg_shion_7_000 + .byte PATT + .word mus_rg_shion_7_001 + .byte PATT + .word mus_rg_shion_7_000 + .byte PATT + .word mus_rg_shion_7_001 + .byte PATT + .word mus_rg_shion_7_000 + .byte PATT + .word mus_rg_shion_7_001 + .byte PATT + .word mus_rg_shion_7_000 + .byte PATT + .word mus_rg_shion_7_001 + .byte PATT + .word mus_rg_shion_7_000 + .byte PATT + .word mus_rg_shion_7_001 + .byte PATT + .word mus_rg_shion_7_000 + .byte PATT + .word mus_rg_shion_7_001 + .byte PATT + .word mus_rg_shion_7_000 + .byte PATT + .word mus_rg_shion_7_001 + .byte PATT + .word mus_rg_shion_7_000 + .byte PATT + .word mus_rg_shion_7_001 + .byte PATT + .word mus_rg_shion_7_000 + .byte PATT + .word mus_rg_shion_7_001 + .byte PATT + .word mus_rg_shion_7_000 + .byte PATT + .word mus_rg_shion_7_001 + .byte PATT + .word mus_rg_shion_7_000 + .byte PATT + .word mus_rg_shion_7_001 + .byte PATT + .word mus_rg_shion_7_000 + .byte PATT + .word mus_rg_shion_7_001 + .byte PATT + .word mus_rg_shion_7_000 + .byte PATT + .word mus_rg_shion_7_001 + .byte PATT + .word mus_rg_shion_7_000 + .byte PATT + .word mus_rg_shion_7_001 + .byte PATT + .word mus_rg_shion_7_000 + .byte PATT + .word mus_rg_shion_7_001 + .byte PATT + .word mus_rg_shion_7_000 + .byte PATT + .word mus_rg_shion_7_001 + .byte PATT + .word mus_rg_shion_7_000 + .byte PATT + .word mus_rg_shion_7_001 + .byte PATT + .word mus_rg_shion_7_000 + .byte GOTO + .word mus_rg_shion_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_shion_8: + .byte KEYSH , mus_rg_shion_key+0 + .byte VOICE , 0 + .byte VOL , 90*mus_rg_shion_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_shion_8_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N48 , Ds5 , v120 + .byte W96 +mus_rg_shion_8_000: + .byte N48 , Bn4 , v032 + .byte W48 + .byte En5 , v052 + .byte W48 + .byte PEND + .byte Ds5 , v120 + .byte W96 + .byte PATT + .word mus_rg_shion_8_000 + .byte N48 , Ds5 , v120 + .byte W96 + .byte PATT + .word mus_rg_shion_8_000 +mus_rg_shion_8_001: + .byte N48 , Ds5 , v120 + .byte W48 + .byte Bn4 , v032 + .byte W48 + .byte PEND +mus_rg_shion_8_002: + .byte N48 , Ds5 , v120 + .byte W48 + .byte En5 , v052 + .byte W48 + .byte PEND + .byte Ds5 , v120 + .byte W96 + .byte PATT + .word mus_rg_shion_8_000 + .byte PATT + .word mus_rg_shion_8_001 + .byte N48 , En5 , v052 + .byte W96 + .byte Ds5 , v120 + .byte W96 + .byte PATT + .word mus_rg_shion_8_000 + .byte N48 , Ds5 , v120 + .byte W96 + .byte En5 , v052 + .byte W96 + .byte Ds5 , v120 + .byte W96 + .byte Bn4 , v032 + .byte W48 + .byte En5 , v056 + .byte W48 + .byte Ds5 , v120 + .byte W96 + .byte PATT + .word mus_rg_shion_8_000 + .byte N48 , Ds5 , v120 + .byte W96 + .byte PATT + .word mus_rg_shion_8_000 + .byte PATT + .word mus_rg_shion_8_002 + .byte W48 + .byte N48 , Bn4 , v032 + .byte W48 + .byte GOTO + .word mus_rg_shion_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_shion: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_shion_pri @ Priority + .byte mus_rg_shion_rev @ Reverb. + + .word mus_rg_shion_grp + + .word mus_rg_shion_1 + .word mus_rg_shion_2 + .word mus_rg_shion_3 + .word mus_rg_shion_4 + .word mus_rg_shion_5 + .word mus_rg_shion_6 + .word mus_rg_shion_7 + .word mus_rg_shion_8 + + .end diff --git a/sound/songs/mus_rg_shiruhu.s b/sound/songs/mus_rg_shiruhu.s new file mode 100644 index 0000000000..d868a4d117 --- /dev/null +++ b/sound/songs/mus_rg_shiruhu.s @@ -0,0 +1,4520 @@ + .include "MPlayDef.s" + + .equ mus_rg_shiruhu_grp, voicegroup_86ACB38 + .equ mus_rg_shiruhu_pri, 0 + .equ mus_rg_shiruhu_rev, reverb_set+50 + .equ mus_rg_shiruhu_mvl, 127 + .equ mus_rg_shiruhu_key, 0 + .equ mus_rg_shiruhu_tbs, 1 + .equ mus_rg_shiruhu_exg, 0 + .equ mus_rg_shiruhu_cmp, 1 + + .section .rodata + .global mus_rg_shiruhu + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_shiruhu_1: + .byte KEYSH , mus_rg_shiruhu_key+0 + .byte TEMPO , 114*mus_rg_shiruhu_tbs/2 + .byte VOICE , 81 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 38*mus_rg_shiruhu_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , En1 , v127 + .byte W03 + .byte Fs1 + .byte W03 + .byte Gs1 + .byte W03 + .byte As1 + .byte W03 + .byte Bn1 + .byte W03 + .byte N42 , Cn2 + .byte W42 + .byte N03 , Bn1 + .byte W03 + .byte As1 + .byte W03 + .byte Gs1 + .byte W03 + .byte Fs1 + .byte W03 + .byte Fn1 + .byte W03 + .byte N06 , En1 + .byte W12 + .byte Bn1 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 +mus_rg_shiruhu_1_B1: + .byte N06 , Gn1 , v127 + .byte W12 + .byte Bn1 + .byte W12 + .byte TEMPO , 114*mus_rg_shiruhu_tbs/2 + .byte W12 + .byte N06 + .byte W24 + .byte As1 + .byte W24 + .byte Bn1 + .byte W12 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Cn2 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte As1 + .byte W24 + .byte Bn1 + .byte W12 + .byte BEND , c_v+1 + .byte N06 , Gn1 + .byte W36 + .byte N03 , En1 + .byte W03 + .byte Fs1 + .byte W03 + .byte Gs1 + .byte W03 + .byte An1 + .byte W03 + .byte N36 , Bn1 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N03 + .byte W03 + .byte An1 + .byte W03 + .byte Gn1 + .byte W03 + .byte Fn1 + .byte W03 + .byte En1 + .byte W36 + .byte Fn1 + .byte W03 + .byte Gs1 + .byte W03 + .byte As1 + .byte W03 + .byte Bn1 + .byte W03 + .byte N36 , Cn2 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N03 + .byte W03 + .byte Bn1 + .byte W03 + .byte An1 + .byte W03 + .byte Gn1 + .byte W03 + .byte Fn1 + .byte W36 + .byte Fs1 + .byte W03 + .byte Bn1 + .byte W03 + .byte Cn2 + .byte W03 + .byte Cs2 + .byte W03 + .byte N36 , Dn2 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N03 + .byte W03 + .byte Cn2 + .byte W03 + .byte As1 + .byte W03 + .byte Gn1 + .byte W03 + .byte Fn1 + .byte W36 + .byte N03 + .byte W03 + .byte Gs1 + .byte W03 + .byte As1 + .byte W03 + .byte Bn1 + .byte W03 + .byte N36 , Cn2 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N03 + .byte W03 + .byte Bn1 + .byte W03 + .byte Gs1 + .byte W03 + .byte Fn1 + .byte W03 + .byte En1 + .byte W24 + .byte N48 , Bn1 + .byte W12 + .byte MOD , 8 + .byte W36 + .byte 0 + .byte N24 , En2 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte TEMPO , 176*mus_rg_shiruhu_tbs/2 + .byte VOL , 47*mus_rg_shiruhu_mvl/mxv + .byte MOD , 0 + .byte N06 , Bn1 + .byte W36 + .byte N06 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W72 + .byte An1 + .byte W24 + .byte Bn1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte As1 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte As1 + .byte W06 +mus_rg_shiruhu_1_000: + .byte N06 , Bn1 , v127 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_shiruhu_1_000 + .byte PATT + .word mus_rg_shiruhu_1_000 + .byte W12 + .byte N06 , Cn2 , v127 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte Bn1 + .byte W12 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte As1 + .byte W12 + .byte W12 + .byte An1 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte As1 + .byte W24 + .byte N06 + .byte W12 +mus_rg_shiruhu_1_001: + .byte W12 + .byte N06 , Bn1 , v127 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W48 + .byte Cn2 + .byte W12 + .byte PATT + .word mus_rg_shiruhu_1_001 + .byte W12 + .byte N06 , Bn2 , v127 + .byte W24 + .byte N06 + .byte W24 + .byte Cn3 + .byte W24 + .byte N06 + .byte W12 + .byte PATT + .word mus_rg_shiruhu_1_001 + .byte W12 + .byte N06 , En3 , v127 + .byte W24 + .byte N06 + .byte W24 + .byte Ds3 + .byte W24 + .byte N06 + .byte W12 + .byte N03 , Bn1 + .byte W03 + .byte As1 + .byte W03 + .byte Gs1 + .byte W03 + .byte Fs1 + .byte W03 + .byte Fn1 + .byte W03 + .byte N80 , En1 + .byte W09 + .byte MOD , 6 + .byte W72 + .byte 0 + .byte N03 , Fn1 + .byte W03 + .byte Fs1 + .byte W03 + .byte Gs1 + .byte W03 + .byte As1 + .byte W03 + .byte Bn1 + .byte W03 + .byte N80 , Cn2 + .byte W09 + .byte MOD , 6 + .byte W72 + .byte 0 + .byte N03 , Bn1 + .byte W03 + .byte As1 + .byte W03 + .byte Gs1 + .byte W03 + .byte Fs1 + .byte W03 + .byte Fn1 + .byte W03 + .byte N80 , En1 + .byte W09 + .byte MOD , 6 + .byte W72 + .byte 0 + .byte N03 , Fn1 + .byte W03 + .byte Gn1 + .byte W03 + .byte As1 + .byte W03 + .byte Cn2 + .byte W03 + .byte Cs2 + .byte W03 + .byte N80 , Dn2 + .byte W09 + .byte MOD , 6 + .byte W72 + .byte 0 + .byte W24 + .byte TEMPO , 154*mus_rg_shiruhu_tbs/2 + .byte W24 + .byte TEMPO , 142*mus_rg_shiruhu_tbs/2 + .byte W24 + .byte TEMPO , 118*mus_rg_shiruhu_tbs/2 + .byte W24 + .byte TEMPO , 94*mus_rg_shiruhu_tbs/2 + .byte W24 + .byte TEMPO , 78*mus_rg_shiruhu_tbs/2 + .byte W24 + .byte TEMPO , 50*mus_rg_shiruhu_tbs/2 + .byte W48 + .byte TEMPO , 48*mus_rg_shiruhu_tbs/2 + .byte W09 + .byte TEMPO , 114*mus_rg_shiruhu_tbs/2 + .byte W03 + .byte N06 , Bn1 , v060 + .byte W12 + .byte Bn1 , v032 + .byte W12 + .byte Bn1 , v072 + .byte W12 + .byte Bn1 , v032 + .byte W12 + .byte Bn1 , v084 + .byte W12 + .byte Bn1 , v032 + .byte W12 + .byte N24 , Bn1 , v068 + .byte W12 + .byte BEND , c_v+0 + .byte W12 + .byte N06 , Bn1 , v084 + .byte W24 + .byte Bn1 , v092 + .byte W24 + .byte Bn1 , v096 + .byte W24 + .byte Bn1 , v127 + .byte W12 + .byte GOTO + .word mus_rg_shiruhu_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_shiruhu_2: + .byte KEYSH , mus_rg_shiruhu_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 38*mus_rg_shiruhu_mvl/mxv + .byte PAN , c_v+63 + .byte N03 , En3 , v127 + .byte W03 + .byte Fs3 + .byte W03 + .byte Gs3 + .byte W03 + .byte As3 + .byte W03 + .byte Bn3 + .byte W03 + .byte N42 , Cn4 + .byte W42 + .byte N03 , Bn3 + .byte W03 + .byte As3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte N06 , En3 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 , Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 , Gs2 + .byte W12 +mus_rg_shiruhu_2_B1: + .byte PAN , c_v+63 + .byte N06 , En2 , v127 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 , Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 , Gs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , En2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte N24 , En4 + .byte W24 + .byte Ds4 + .byte W24 + .byte En4 + .byte W24 + .byte N18 , Fn4 + .byte W18 + .byte N03 , Fs4 , v120 + .byte W03 + .byte Fn4 + .byte W03 + .byte N24 , En4 , v127 + .byte W24 + .byte Ds4 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte N30 , Ds4 + .byte W30 + .byte N03 , Dn4 , v120 + .byte W03 + .byte Ds4 + .byte W03 + .byte N24 , En4 , v127 + .byte W24 + .byte Fn4 + .byte W24 + .byte N12 , Fs4 + .byte W12 + .byte N36 , Gn4 + .byte W36 + .byte N18 , Gs4 + .byte W18 + .byte N03 , Fs4 , v120 + .byte W03 + .byte En4 + .byte W03 + .byte N24 , Ds4 , v127 + .byte W24 + .byte Dn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte N48 , En4 + .byte W48 + .byte Bn4 + .byte W48 + .byte N12 , En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte En3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , Fs3 + .byte W24 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N36 , Gn3 + .byte W36 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte An3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte As3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N03 , Ds3 + .byte W03 + .byte Fs3 , v120 + .byte W03 + .byte N06 , Ds3 + .byte W06 + .byte N12 , Dn3 , v127 + .byte W12 + .byte Ds3 + .byte W12 + .byte PAN , c_v+63 + .byte BEND , c_v+0 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , En4 + .byte W12 + .byte Gs4 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , En4 + .byte W12 + .byte Bn4 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn3 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte N12 , En5 + .byte W12 + .byte Ds5 + .byte W12 + .byte En5 + .byte W12 + .byte Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Ds5 + .byte W12 + .byte En5 + .byte W12 + .byte Fn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Gs5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Ds5 + .byte W12 + .byte PAN , c_v-64 + .byte BEND , c_v+0 + .byte N12 , Ds5 , v032 + .byte W12 + .byte N06 , Gn2 , v064 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn2 , v032 + .byte W12 + .byte Fs2 , v076 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fs2 , v032 + .byte W12 + .byte Gn2 , v092 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn2 , v032 + .byte W12 + .byte N24 , Gs2 , v068 + .byte W12 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn2 , v084 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 , Fs2 , v092 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 , Gn2 , v096 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 , Gs2 , v127 + .byte W12 + .byte GOTO + .word mus_rg_shiruhu_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_shiruhu_3: + .byte KEYSH , mus_rg_shiruhu_key+0 + .byte VOICE , 92 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 38*mus_rg_shiruhu_mvl/mxv + .byte PAN , c_v+0 + .byte W72 + .byte BEND , c_v+1 + .byte N24 , En4 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , En4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 7 + .byte W12 +mus_rg_shiruhu_3_B1: + .byte MOD , 0 + .byte N24 , En4 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , En4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gs4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 57*mus_rg_shiruhu_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N06 , En4 , v072 + .byte W12 + .byte Gn4 + .byte W24 + .byte Fs4 + .byte W24 + .byte Gn4 + .byte W24 + .byte Gs4 + .byte W12 + .byte En4 + .byte W12 + .byte Gn4 + .byte W24 + .byte Gs4 + .byte W24 + .byte Gn4 + .byte W24 + .byte Fs4 + .byte W12 + .byte W12 + .byte Gn4 + .byte W24 + .byte Gs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gs4 + .byte W24 + .byte N06 + .byte W12 + .byte W12 + .byte Gn4 + .byte W24 + .byte Gs4 + .byte W12 + .byte En4 + .byte W12 + .byte Gs4 + .byte W24 + .byte Gn4 + .byte W12 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 +mus_rg_shiruhu_3_000: + .byte N06 , En3 , v072 + .byte W36 + .byte Fn3 + .byte W36 + .byte N06 + .byte W24 + .byte PEND + .byte En3 + .byte W72 + .byte Ds3 + .byte W24 + .byte PATT + .word mus_rg_shiruhu_3_000 + .byte N06 , En3 , v072 + .byte W72 + .byte Ds3 + .byte W24 + .byte En3 + .byte W12 + .byte Fn3 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Fs3 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Gn3 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte W12 + .byte N06 + .byte W24 + .byte Fs3 + .byte W24 + .byte Fn3 + .byte W24 + .byte En3 + .byte W12 + .byte W12 + .byte Fn3 + .byte W24 + .byte En3 + .byte W24 + .byte Ds3 + .byte W24 + .byte Dn3 + .byte W12 + .byte N48 , Dn3 , v076 + .byte W09 + .byte MOD , 7 + .byte W36 + .byte W03 + .byte 0 + .byte N48 , Fn3 + .byte W09 + .byte MOD , 7 + .byte W36 + .byte W03 + .byte 0 + .byte N48 , Dn3 + .byte W09 + .byte MOD , 7 + .byte W36 + .byte W03 + .byte 0 + .byte N48 , Fs3 + .byte W09 + .byte MOD , 7 + .byte W36 + .byte W03 + .byte 0 + .byte N48 , Dn3 + .byte W09 + .byte MOD , 7 + .byte W36 + .byte W03 + .byte 0 + .byte N48 , Gn3 + .byte W09 + .byte MOD , 7 + .byte W36 + .byte W03 + .byte 0 + .byte N48 , Dn3 + .byte W09 + .byte MOD , 7 + .byte W36 + .byte W03 + .byte 0 + .byte N48 , An3 + .byte W09 + .byte MOD , 7 + .byte W36 + .byte W03 +mus_rg_shiruhu_3_001: + .byte MOD , 0 + .byte N24 , En3 , v100 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Ds3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , En3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte PEND + .byte 0 + .byte N12 , En4 , v076 + .byte W12 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte PATT + .word mus_rg_shiruhu_3_001 + .byte MOD , 0 + .byte N12 , En4 , v076 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N24 , En5 , v072 + .byte W24 + .byte Ds5 + .byte W24 + .byte En5 + .byte W24 + .byte Fn5 + .byte W24 + .byte En5 + .byte W24 + .byte Ds5 + .byte W24 + .byte Dn5 + .byte W24 + .byte Ds5 + .byte W24 + .byte En5 + .byte W24 + .byte Fn5 + .byte W24 + .byte Fs5 + .byte W24 + .byte Gn5 + .byte W24 + .byte Gs5 + .byte W24 + .byte Ds5 + .byte W24 + .byte Dn5 + .byte W24 + .byte Ds5 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 38*mus_rg_shiruhu_mvl/mxv + .byte N24 , En4 + .byte W24 + .byte Ds4 + .byte W24 + .byte En4 + .byte W24 + .byte Fn4 + .byte W24 + .byte GOTO + .word mus_rg_shiruhu_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_shiruhu_4: + .byte KEYSH , mus_rg_shiruhu_key+0 + .byte VOICE , 35 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 76*mus_rg_shiruhu_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N03 , En1 , v127 + .byte W03 + .byte Fs1 + .byte W03 + .byte Gs1 + .byte W03 + .byte As1 + .byte W03 + .byte Bn1 + .byte W03 + .byte N42 , Cn2 + .byte W09 + .byte MOD , 8 + .byte W32 + .byte W01 + .byte 0 + .byte N03 , Bn1 + .byte W03 + .byte As1 + .byte W03 + .byte Gs1 + .byte W03 + .byte Fs1 + .byte W03 + .byte Fn1 + .byte W03 + .byte VOL , 76*mus_rg_shiruhu_mvl/mxv + .byte N06 , En1 , v120 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte N06 , Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte En1 + .byte W42 + .byte N03 + .byte W06 + .byte N06 + .byte W12 +mus_rg_shiruhu_4_B1: + .byte N03 , En1 , v120 + .byte W12 + .byte N12 + .byte W48 + .byte As1 + .byte W12 + .byte N06 , Fs1 + .byte W06 + .byte Dn1 + .byte W06 + .byte En1 + .byte W06 + .byte En2 + .byte W06 + .byte N03 , En1 + .byte W12 + .byte N12 + .byte W36 + .byte N06 + .byte W12 + .byte N12 , Cn2 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte Cs1 + .byte W06 + .byte N12 , Cn1 + .byte W24 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte En1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Gs1 + .byte W12 + .byte As1 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte En1 + .byte W36 + .byte N03 , En1 , v127 + .byte W03 + .byte Fs1 + .byte W03 + .byte Gs1 + .byte W03 + .byte An1 + .byte W03 + .byte N36 , Bn1 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N03 + .byte W03 + .byte An1 + .byte W03 + .byte Gn1 + .byte W03 + .byte Fn1 + .byte W03 + .byte En1 + .byte W36 + .byte Fn1 + .byte W03 + .byte Gs1 + .byte W03 + .byte As1 + .byte W03 + .byte Bn1 + .byte W03 + .byte N36 , Cn2 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N03 + .byte W03 + .byte Bn1 + .byte W03 + .byte An1 + .byte W03 + .byte Gn1 + .byte W03 + .byte Fn1 + .byte W36 + .byte Fs1 + .byte W03 + .byte Bn1 + .byte W03 + .byte Cn2 + .byte W03 + .byte Cs2 + .byte W03 + .byte N36 , Dn2 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N03 + .byte W03 + .byte Cn2 + .byte W03 + .byte As1 + .byte W03 + .byte Gn1 + .byte W03 + .byte Fn1 + .byte W36 + .byte N03 + .byte W03 + .byte Gs1 + .byte W03 + .byte As1 + .byte W03 + .byte Bn1 + .byte W03 + .byte N36 , Cn2 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N03 + .byte W03 + .byte Bn1 + .byte W03 + .byte Gs1 + .byte W03 + .byte Fn1 + .byte W03 + .byte En1 + .byte W24 + .byte VOICE , 35 + .byte N48 , Bn1 + .byte W12 + .byte MOD , 8 + .byte W36 + .byte 0 + .byte N24 , En2 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte VOICE , 62 + .byte MOD , 0 + .byte PAN , c_v-16 + .byte VOL , 58*mus_rg_shiruhu_mvl/mxv + .byte N12 , Bn2 , v120 + .byte W12 + .byte N03 , En2 + .byte W12 + .byte N03 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn2 + .byte W12 + .byte N03 , En2 + .byte W12 + .byte N03 + .byte W12 + .byte PAN , c_v-16 + .byte N24 , Bn1 + .byte W24 + .byte PAN , c_v+32 + .byte N06 , Bn2 + .byte W12 + .byte N09 + .byte W12 + .byte PAN , c_v-16 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte PAN , c_v+31 + .byte N12 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v-16 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , En3 + .byte W06 + .byte N03 , En3 , v100 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte Bn3 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v-16 + .byte N12 , En3 + .byte W12 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Bn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Bn3 , v096 + .byte W06 + .byte N03 , Bn3 , v100 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , En3 , v120 + .byte W06 + .byte N03 , En3 , v096 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N24 , Bn2 + .byte W24 + .byte N06 , En3 , v120 + .byte W06 + .byte N03 , En3 , v108 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v-16 + .byte N24 , Bn2 + .byte W24 + .byte N06 , Bn2 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En3 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v-16 + .byte N12 , Fn3 + .byte W12 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Bn2 , v092 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , En3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N12 , Fs3 + .byte W12 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v-16 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Bn2 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Fn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v-16 + .byte N12 , Gn3 + .byte W12 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+16 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte VOL , 38*mus_rg_shiruhu_mvl/mxv + .byte PAN , c_v+38 + .byte BEND , c_v+63 + .byte N48 , En3 + .byte W03 + .byte BEND , c_v+59 + .byte W02 + .byte c_v+56 + .byte W03 + .byte c_v+49 + .byte W03 + .byte c_v+45 + .byte W01 + .byte PAN , c_v+32 + .byte W02 + .byte BEND , c_v+42 + .byte W03 + .byte c_v+36 + .byte W03 + .byte c_v+32 + .byte W03 + .byte c_v+27 + .byte W01 + .byte PAN , c_v+23 + .byte W02 + .byte BEND , c_v+24 + .byte W03 + .byte c_v+20 + .byte W03 + .byte c_v+16 + .byte W03 + .byte c_v+14 + .byte W01 + .byte PAN , c_v+16 + .byte W02 + .byte BEND , c_v+10 + .byte W03 + .byte c_v+7 + .byte W03 + .byte c_v+4 + .byte W04 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N48 + .byte W03 + .byte BEND , c_v-5 + .byte W02 + .byte c_v-8 + .byte W01 + .byte PAN , c_v-10 + .byte W02 + .byte BEND , c_v-15 + .byte W03 + .byte c_v-21 + .byte W03 + .byte c_v-27 + .byte W01 + .byte PAN , c_v-17 + .byte W02 + .byte BEND , c_v-31 + .byte W03 + .byte c_v-35 + .byte W03 + .byte c_v-38 + .byte W01 + .byte PAN , c_v-29 + .byte W02 + .byte BEND , c_v-43 + .byte W03 + .byte c_v-48 + .byte W03 + .byte c_v-51 + .byte W01 + .byte PAN , c_v-38 + .byte W02 + .byte BEND , c_v-55 + .byte W03 + .byte c_v-59 + .byte W03 + .byte c_v-63 + .byte W07 + .byte PAN , c_v-16 + .byte VOL , 58*mus_rg_shiruhu_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Fn2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Ds2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-16 + .byte N06 , Cs2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N12 , Ds2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-16 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N24 , An2 + .byte W24 + .byte PAN , c_v-16 + .byte N06 , Fn2 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 31 + .byte N12 , Dn3 , v096 + .byte W12 + .byte VOICE , 62 + .byte PAN , c_v+32 + .byte N06 , Fn2 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N24 , An2 + .byte W24 + .byte PAN , c_v-16 + .byte N06 , Fn2 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N36 , As2 + .byte W12 + .byte BEND , c_v-5 + .byte W02 + .byte c_v-15 + .byte W04 + .byte c_v-21 + .byte W02 + .byte c_v-27 + .byte W01 + .byte c_v-34 + .byte W03 + .byte c_v-37 + .byte W02 + .byte c_v-35 + .byte W01 + .byte c_v-50 + .byte W02 + .byte c_v-41 + .byte W01 + .byte c_v-56 + .byte W02 + .byte c_v-51 + .byte W01 + .byte c_v-63 + .byte W03 + .byte PAN , c_v-16 + .byte BEND , c_v+0 + .byte N06 , Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N12 , Bn2 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v-16 + .byte N12 , Cn3 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N12 , Cs3 , v092 + .byte W12 + .byte VOICE , 62 + .byte N06 , Dn2 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte N48 , Dn3 + .byte W06 + .byte BEND , c_v-6 + .byte W03 + .byte c_v-11 + .byte W06 + .byte c_v-15 + .byte W03 + .byte c_v-19 + .byte W03 + .byte c_v-27 + .byte W03 + .byte c_v-32 + .byte W06 + .byte c_v-40 + .byte W03 + .byte c_v-44 + .byte W06 + .byte c_v-51 + .byte W03 + .byte c_v-63 + .byte W06 + .byte PAN , c_v-16 + .byte BEND , c_v+0 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 31 + .byte PAN , c_v+32 + .byte N12 , An2 + .byte W12 + .byte VOICE , 62 + .byte PAN , c_v-17 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , An2 , v092 + .byte W12 + .byte VOICE , 62 + .byte VOL , 65*mus_rg_shiruhu_mvl/mxv + .byte PAN , c_v+32 + .byte BEND , c_v-8 + .byte N09 , En2 , v120 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N06 + .byte W12 + .byte N03 , Bn2 + .byte W12 + .byte N09 , En2 , v127 + .byte W12 + .byte BEND , c_v+5 + .byte N03 , En2 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte BEND , c_v+0 + .byte N03 , En2 , v127 + .byte W06 + .byte En2 , v120 + .byte W06 + .byte VOICE , 31 + .byte PAN , c_v+40 + .byte N24 , Bn2 , v076 + .byte W24 + .byte VOICE , 62 + .byte PAN , c_v-16 + .byte VOL , 58*mus_rg_shiruhu_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Bn2 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N12 , Ds3 + .byte W12 + .byte N06 , Bn2 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , En3 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Ds3 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , En3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte N03 + .byte W06 + .byte VOL , 64*mus_rg_shiruhu_mvl/mxv + .byte PAN , c_v+32 + .byte BEND , c_v+0 + .byte N03 , En2 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Bn2 + .byte W06 + .byte N03 + .byte W06 + .byte En2 , v127 + .byte W06 + .byte En2 , v120 + .byte W06 + .byte BEND , c_v-8 + .byte N03 + .byte W03 + .byte BEND , c_v+0 + .byte W03 + .byte N03 + .byte W03 + .byte VOICE , 31 + .byte W15 + .byte N24 , En3 , v036 + .byte W24 + .byte VOICE , 62 + .byte PAN , c_v-16 + .byte VOL , 58*mus_rg_shiruhu_mvl/mxv + .byte N06 , En3 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+16 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+42 + .byte BEND , c_v+63 + .byte N48 , En2 + .byte W03 + .byte BEND , c_v+55 + .byte W03 + .byte PAN , c_v+32 + .byte BEND , c_v+48 + .byte W03 + .byte c_v+40 + .byte W03 + .byte PAN , c_v+16 + .byte BEND , c_v+32 + .byte W03 + .byte c_v+23 + .byte W03 + .byte PAN , c_v+6 + .byte BEND , c_v+15 + .byte W03 + .byte c_v+6 + .byte W03 + .byte PAN , c_v-8 + .byte BEND , c_v-8 + .byte W03 + .byte c_v-16 + .byte W03 + .byte PAN , c_v-16 + .byte BEND , c_v-33 + .byte W03 + .byte c_v-48 + .byte W03 + .byte PAN , c_v-18 + .byte BEND , c_v-56 + .byte W03 + .byte c_v-64 + .byte W06 + .byte VOL , 67*mus_rg_shiruhu_mvl/mxv + .byte W03 + .byte BEND , c_v+0 + .byte N03 , Bn1 , v127 + .byte W03 + .byte PAN , c_v-16 + .byte N03 , As1 + .byte W03 + .byte PAN , c_v-7 + .byte N03 , Gs1 + .byte W03 + .byte Fs1 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , Fn1 + .byte W03 + .byte N30 , En1 + .byte W09 + .byte MOD , 6 + .byte W24 + .byte N03 , En1 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N03 , Fn1 , v127 + .byte W03 + .byte PAN , c_v+15 + .byte N03 , Fs1 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , Gs1 + .byte W03 + .byte As1 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , Bn1 + .byte W03 + .byte PAN , c_v-16 + .byte N21 , Cn2 + .byte W09 + .byte MOD , 6 + .byte W12 + .byte N03 , Cn2 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N03 , Bn1 , v127 + .byte W03 + .byte PAN , c_v-16 + .byte N03 , As1 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , Gs1 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , Fs1 + .byte W03 + .byte Fn1 + .byte W03 + .byte N09 , En1 + .byte W09 + .byte MOD , 6 + .byte N03 , En1 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte En1 , v116 + .byte W06 + .byte En1 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte En1 , v116 + .byte W06 + .byte En1 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Ds1 + .byte W06 + .byte En1 + .byte W06 + .byte MOD , 0 + .byte N03 , Fn1 , v127 + .byte W03 + .byte PAN , c_v+15 + .byte N03 , Gn1 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , As1 + .byte W03 + .byte Cn2 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , Cs2 + .byte W03 + .byte PAN , c_v-16 + .byte N30 , Dn2 + .byte W09 + .byte MOD , 6 + .byte W24 + .byte VOL , 62*mus_rg_shiruhu_mvl/mxv + .byte BEND , c_v-2 + .byte N03 , Dn2 , v120 + .byte W06 + .byte N03 + .byte W03 + .byte VOL , 57*mus_rg_shiruhu_mvl/mxv + .byte BEND , c_v-4 + .byte W03 + .byte N03 + .byte W06 + .byte VOL , 52*mus_rg_shiruhu_mvl/mxv + .byte N03 + .byte W06 + .byte VOL , 46*mus_rg_shiruhu_mvl/mxv + .byte BEND , c_v-8 + .byte N03 + .byte W06 + .byte VOL , 41*mus_rg_shiruhu_mvl/mxv + .byte N03 + .byte W06 + .byte VOL , 35*mus_rg_shiruhu_mvl/mxv + .byte BEND , c_v-10 + .byte N03 + .byte W06 + .byte VOL , 25*mus_rg_shiruhu_mvl/mxv + .byte N03 + .byte W06 + .byte VOICE , 31 + .byte MOD , 0 + .byte VOL , 58*mus_rg_shiruhu_mvl/mxv + .byte BEND , c_v+0 + .byte TIE , En4 , v064 + .byte W24 + .byte PAN , c_v-1 + .byte W06 + .byte c_v+7 + .byte W06 + .byte c_v+18 + .byte W06 + .byte c_v+26 + .byte W06 + .byte c_v+32 + .byte W24 + .byte c_v+23 + .byte W06 + .byte c_v+8 + .byte W06 + .byte c_v-14 + .byte W06 + .byte c_v-24 + .byte W06 + .byte VOL , 55*mus_rg_shiruhu_mvl/mxv + .byte PAN , c_v-33 + .byte W06 + .byte VOL , 50*mus_rg_shiruhu_mvl/mxv + .byte W06 + .byte 46*mus_rg_shiruhu_mvl/mxv + .byte W06 + .byte 42*mus_rg_shiruhu_mvl/mxv + .byte W06 + .byte 38*mus_rg_shiruhu_mvl/mxv + .byte W06 + .byte 34*mus_rg_shiruhu_mvl/mxv + .byte W06 + .byte 30*mus_rg_shiruhu_mvl/mxv + .byte W06 + .byte 27*mus_rg_shiruhu_mvl/mxv + .byte W06 + .byte 23*mus_rg_shiruhu_mvl/mxv + .byte PAN , c_v-22 + .byte W06 + .byte VOL , 20*mus_rg_shiruhu_mvl/mxv + .byte W06 + .byte 16*mus_rg_shiruhu_mvl/mxv + .byte PAN , c_v-16 + .byte W06 + .byte VOL , 12*mus_rg_shiruhu_mvl/mxv + .byte W06 + .byte 10*mus_rg_shiruhu_mvl/mxv + .byte PAN , c_v-1 + .byte W06 + .byte VOL , 9*mus_rg_shiruhu_mvl/mxv + .byte PAN , c_v+4 + .byte W06 + .byte c_v+15 + .byte W12 + .byte EOT + .byte VOL , 38*mus_rg_shiruhu_mvl/mxv + .byte PAN , c_v+21 + .byte N36 , En4 , v016 + .byte W06 + .byte PAN , c_v+26 + .byte W03 + .byte VOL , 31*mus_rg_shiruhu_mvl/mxv + .byte W03 + .byte 29*mus_rg_shiruhu_mvl/mxv + .byte PAN , c_v+31 + .byte W06 + .byte VOL , 22*mus_rg_shiruhu_mvl/mxv + .byte PAN , c_v+39 + .byte W06 + .byte VOL , 19*mus_rg_shiruhu_mvl/mxv + .byte PAN , c_v+44 + .byte W06 + .byte VOL , 13*mus_rg_shiruhu_mvl/mxv + .byte W03 + .byte 8*mus_rg_shiruhu_mvl/mxv + .byte W06 + .byte 5*mus_rg_shiruhu_mvl/mxv + .byte W03 + .byte 4*mus_rg_shiruhu_mvl/mxv + .byte W06 + .byte 0*mus_rg_shiruhu_mvl/mxv + .byte W24 + .byte 76*mus_rg_shiruhu_mvl/mxv + .byte W24 + .byte VOICE , 35 + .byte PAN , c_v+0 + .byte N06 , En1 , v127 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte N06 , Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte En1 + .byte W42 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte GOTO + .word mus_rg_shiruhu_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_shiruhu_5: + .byte KEYSH , mus_rg_shiruhu_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 38*mus_rg_shiruhu_mvl/mxv + .byte W03 + .byte 28*mus_rg_shiruhu_mvl/mxv + .byte W68 + .byte W01 + .byte PAN , c_v-32 + .byte N24 , Bn3 , v120 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , As3 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Bn3 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Cn4 + .byte W24 +mus_rg_shiruhu_5_B1: + .byte PAN , c_v-32 + .byte N24 , Bn3 , v120 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , As3 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , An3 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , As3 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Bn3 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Cn4 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Cs4 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Dn4 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Ds4 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , As3 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , An3 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , As3 + .byte W24 + .byte VOICE , 24 + .byte PAN , c_v-32 + .byte VOL , 53*mus_rg_shiruhu_mvl/mxv + .byte N24 , Bn3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v+32 + .byte N24 , As3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v-32 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v+32 + .byte N18 , Cn4 + .byte W12 + .byte MOD , 8 + .byte W06 + .byte N03 , Cs4 + .byte W03 + .byte Cn4 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v-32 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v+32 + .byte N24 , As3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v-32 + .byte N12 , An3 + .byte W12 + .byte MOD , 8 + .byte N30 , As3 + .byte W12 + .byte MOD , 0 + .byte PAN , c_v+32 + .byte W12 + .byte MOD , 8 + .byte W06 + .byte N03 , An3 + .byte W03 + .byte As3 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v-32 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v+32 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v-32 + .byte N12 , Cs4 + .byte W12 + .byte MOD , 8 + .byte N36 , Dn4 + .byte W12 + .byte MOD , 0 + .byte PAN , c_v+32 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v-32 + .byte N18 , Ds4 + .byte W12 + .byte MOD , 8 + .byte W06 + .byte N03 , Cs4 + .byte W03 + .byte Bn3 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v+32 + .byte N24 , As3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v-32 + .byte N24 , An3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v+32 + .byte N24 , As3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v-32 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N03 , En3 + .byte W03 + .byte Fs3 + .byte W03 + .byte PAN , c_v-16 + .byte N03 , Gn3 + .byte W03 + .byte An3 + .byte W03 + .byte Bn3 + .byte W03 + .byte PAN , c_v+18 + .byte N03 , Cs4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v+32 + .byte N48 , En4 + .byte W15 + .byte MOD , 8 + .byte W32 + .byte W01 + .byte 0 + .byte PAN , c_v-32 + .byte N12 , Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An3 + .byte W12 + .byte As3 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Ds4 + .byte W12 + .byte As3 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An3 + .byte W12 + .byte As3 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Bn4 + .byte W12 + .byte As4 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Bn4 + .byte W12 + .byte As4 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An4 + .byte W12 + .byte As4 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Bn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Ds4 + .byte W12 + .byte As3 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An3 + .byte W12 + .byte As3 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte Bn3 + .byte W12 + .byte N60 , Cn4 + .byte W12 + .byte MOD , 6 + .byte W48 + .byte 0 + .byte N12 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N60 , Cs4 + .byte W12 + .byte MOD , 6 + .byte W48 + .byte 0 + .byte N12 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte N60 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W48 + .byte 0 + .byte N12 + .byte W12 + .byte Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 +mus_rg_shiruhu_5_000: + .byte N12 , Cn4 , v120 + .byte W12 + .byte Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_shiruhu_5_000 + .byte N12 , Cn4 , v120 + .byte W12 + .byte Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N03 , As3 + .byte W03 + .byte Cn4 + .byte W03 + .byte N06 , As3 + .byte W06 + .byte N12 , An3 + .byte W12 + .byte As3 + .byte W12 +mus_rg_shiruhu_5_001: + .byte VOL , 57*mus_rg_shiruhu_mvl/mxv + .byte N24 , Bn2 , v120 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , As2 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Bn2 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Cn3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte PEND + .byte 0 + .byte VOL , 53*mus_rg_shiruhu_mvl/mxv + .byte N12 , Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte PATT + .word mus_rg_shiruhu_5_001 + .byte MOD , 0 + .byte VOL , 54*mus_rg_shiruhu_mvl/mxv + .byte N12 , Bn3 , v120 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte VOICE , 48 + .byte VOL , 28*mus_rg_shiruhu_mvl/mxv + .byte N24 , Bn3 + .byte W24 + .byte As3 + .byte W24 + .byte Bn3 + .byte W24 + .byte Cn4 + .byte W24 + .byte Bn3 + .byte W24 + .byte As3 + .byte W24 + .byte An3 + .byte W24 + .byte As3 + .byte W24 + .byte Bn3 + .byte W24 + .byte Cn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte Dn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte As3 + .byte W24 + .byte An3 + .byte W24 + .byte As3 + .byte W24 + .byte N12 , Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte As3 , v032 + .byte W12 + .byte N06 , Bn1 , v072 + .byte W12 + .byte Bn1 , v028 + .byte W12 + .byte Bn1 , v084 + .byte W12 + .byte Bn1 , v028 + .byte W12 + .byte Bn1 , v108 + .byte W12 + .byte Bn1 , v028 + .byte W12 + .byte N12 , Bn1 , v084 + .byte W12 + .byte PAN , c_v-32 + .byte N24 , Bn3 , v040 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , As3 , v056 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Bn3 , v064 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Cn4 , v084 + .byte W24 + .byte GOTO + .word mus_rg_shiruhu_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_shiruhu_6: + .byte KEYSH , mus_rg_shiruhu_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 38*mus_rg_shiruhu_mvl/mxv + .byte PAN , c_v-1 + .byte N03 , En3 , v127 + .byte W03 + .byte Fs3 + .byte W03 + .byte Gs3 + .byte W03 + .byte As3 + .byte W03 + .byte Bn3 + .byte W03 + .byte N42 , Cn4 + .byte W42 + .byte N03 , Bn3 + .byte W03 + .byte As3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte VOL , 41*mus_rg_shiruhu_mvl/mxv + .byte PAN , c_v+0 + .byte N24 , En4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v+0 + .byte N24 , En4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 8 + .byte W12 +mus_rg_shiruhu_6_B1: + .byte MOD , 0 + .byte PAN , c_v+0 + .byte N24 , En4 , v127 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v+0 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v+0 + .byte N24 , En4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v+0 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v+0 + .byte N24 , Gs4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v+0 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte VOICE , 24 + .byte PAN , c_v+0 + .byte VOL , 57*mus_rg_shiruhu_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v+0 + .byte N24 , En5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Ds5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v+0 + .byte N24 , En5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N18 , Fn5 + .byte W12 + .byte MOD , 8 + .byte W06 + .byte N03 , Fs5 , v120 + .byte W03 + .byte Fn5 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v+0 + .byte N24 , En5 , v127 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Ds5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v+0 + .byte N12 , Dn5 + .byte W12 + .byte MOD , 8 + .byte N30 , Ds5 + .byte W12 + .byte MOD , 0 + .byte W12 + .byte 8 + .byte W06 + .byte N03 , Dn5 , v120 + .byte W03 + .byte Ds5 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v+0 + .byte N24 , En5 , v127 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Fn5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v+0 + .byte N12 , Fs5 + .byte W12 + .byte MOD , 8 + .byte N36 , Gn5 + .byte W12 + .byte MOD , 0 + .byte W12 + .byte 8 + .byte W12 + .byte 0 + .byte PAN , c_v+0 + .byte N18 , Gs5 + .byte W12 + .byte MOD , 8 + .byte W06 + .byte N03 , Fs5 , v120 + .byte W03 + .byte En5 + .byte W03 + .byte MOD , 0 + .byte N24 , Ds5 , v127 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v+0 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Ds5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v+0 + .byte N48 , En5 + .byte W12 + .byte MOD , 8 + .byte W36 + .byte 0 + .byte N48 , Bn5 + .byte W15 + .byte MOD , 8 + .byte W32 + .byte W01 + .byte VOICE , 17 + .byte MOD , 0 + .byte VOL , 76*mus_rg_shiruhu_mvl/mxv + .byte N12 , En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte En5 + .byte W12 + .byte Ds5 + .byte W12 + .byte En5 + .byte W12 + .byte Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Ds5 + .byte W12 + .byte En5 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte N60 , Fn4 + .byte W60 + .byte N12 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N60 , Fs4 + .byte W60 + .byte N12 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N60 , Gn4 + .byte W60 + .byte N12 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte As4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N03 , Ds4 + .byte W03 + .byte Fs4 , v120 + .byte W03 + .byte N06 , Ds4 + .byte W06 + .byte N12 , Dn4 , v127 + .byte W12 + .byte Ds4 + .byte W12 +mus_rg_shiruhu_6_000: + .byte VOICE , 48 + .byte PAN , c_v+16 + .byte VOL , 50*mus_rg_shiruhu_mvl/mxv + .byte BEND , c_v+0 + .byte N24 , En3 , v127 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v-21 + .byte N24 , Ds3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v+22 + .byte N24 , En3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte PAN , c_v-25 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte PEND + .byte VOICE , 24 + .byte MOD , 0 + .byte PAN , c_v+0 + .byte VOL , 63*mus_rg_shiruhu_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , En5 + .byte W12 + .byte Ds5 + .byte W12 + .byte En5 + .byte W12 + .byte Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Ds5 + .byte W12 + .byte PATT + .word mus_rg_shiruhu_6_000 + .byte VOICE , 24 + .byte MOD , 0 + .byte VOL , 64*mus_rg_shiruhu_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-1 + .byte N12 , En5 , v127 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N12 , Fn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Gs5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Ds5 + .byte W12 + .byte VOICE , 48 + .byte VOL , 41*mus_rg_shiruhu_mvl/mxv + .byte N24 , En5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Ds5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , En5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Fn5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , En5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Ds5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Ds5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , En5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Fn5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Fs5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Gn5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Gs5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Ds5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Ds5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte VOICE , 24 + .byte VOL , 67*mus_rg_shiruhu_mvl/mxv + .byte MOD , 0 + .byte N12 , En5 + .byte W12 + .byte Ds5 + .byte W12 + .byte En5 + .byte W12 + .byte Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Ds5 + .byte W12 + .byte En5 + .byte W12 + .byte Fn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Gs5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Ds5 , v032 + .byte W12 + .byte N06 , Gn2 , v068 + .byte W12 + .byte Gn2 , v028 + .byte W12 + .byte Fs2 , v084 + .byte W12 + .byte Fs2 , v028 + .byte W12 + .byte Gn2 , v104 + .byte W12 + .byte Gn2 , v032 + .byte W12 + .byte N12 , Gs2 , v076 + .byte W12 + .byte VOICE , 48 + .byte PAN , c_v-32 + .byte VOL , 41*mus_rg_shiruhu_mvl/mxv + .byte N24 , En4 , v040 + .byte W24 + .byte Ds4 , v048 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte Fn4 , v096 + .byte W24 + .byte GOTO + .word mus_rg_shiruhu_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_shiruhu_7: + .byte KEYSH , mus_rg_shiruhu_key+0 + .byte VOICE , 0 + .byte VOL , 62*mus_rg_shiruhu_mvl/mxv + .byte N03 , Dn2 , v120 + .byte W03 + .byte N03 + .byte W03 + .byte Gn1 + .byte W03 + .byte N06 , Fn1 + .byte W06 + .byte Cn1 + .byte N32 , An2 + .byte W32 + .byte W01 + .byte N24 , Cn3 + .byte W24 +mus_rg_shiruhu_7_000: + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Cn1 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PEND +mus_rg_shiruhu_7_B1: + .byte N06 , Cn1 , v120 + .byte W12 + .byte N12 , Fn1 + .byte W24 + .byte N06 , Cn1 + .byte W24 + .byte N06 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N03 , En1 , v056 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Gn1 , v120 + .byte W12 + .byte Fn1 + .byte W06 + .byte N03 , En1 , v056 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v120 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , En1 , v056 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v120 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N12 , Cn2 + .byte W12 + .byte Fn1 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Dn1 + .byte W12 + .byte Dn1 , v060 + .byte W12 + .byte Dn1 , v040 + .byte W12 + .byte N06 , Cn1 , v120 + .byte W12 + .byte W12 + .byte N06 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Dn1 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N12 , Cn2 , v127 + .byte W12 + .byte Fn1 , v120 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N12 , Dn2 + .byte W12 + .byte Fn1 + .byte W12 + .byte N24 , En2 + .byte W24 + .byte Gn2 , v127 + .byte W36 + .byte N06 , Cn1 , v120 + .byte W36 + .byte N06 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N12 , Cs1 + .byte W12 + .byte N06 , Cn1 + .byte W12 +mus_rg_shiruhu_7_001: + .byte N06 , Cn1 , v120 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte Cs1 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_shiruhu_7_001 + .byte PATT + .word mus_rg_shiruhu_7_001 + .byte PATT + .word mus_rg_shiruhu_7_001 + .byte N06 , Cn1 , v120 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W06 + .byte Cs1 + .byte W06 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 , v080 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W24 + .byte Cn1 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W24 + .byte Cs1 + .byte W24 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W24 + .byte Cs1 + .byte W24 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Cs1 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Fn2 , v080 + .byte W12 + .byte Fn2 , v112 + .byte W12 + .byte Dn2 , v120 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Fn2 , v084 + .byte W12 + .byte Fn2 , v112 + .byte W12 + .byte Dn2 , v120 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte N06 , Fn2 , v084 + .byte W12 + .byte Fn2 , v116 + .byte W12 + .byte N03 , Dn2 , v120 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Cn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Gn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Dn1 , v112 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Dn1 , v108 + .byte W06 + .byte Dn1 , v080 + .byte W06 +mus_rg_shiruhu_7_002: + .byte N06 , Cn1 , v120 + .byte W24 + .byte Fn2 + .byte W24 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Fn2 + .byte W24 + .byte PEND +mus_rg_shiruhu_7_003: + .byte N06 , Cn1 , v120 + .byte W24 + .byte Fn2 + .byte W12 + .byte Cn1 + .byte W24 + .byte N06 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_shiruhu_7_002 + .byte PATT + .word mus_rg_shiruhu_7_003 + .byte N96 , Cs2 , v120 + .byte W96 + .byte W96 + .byte W72 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte PATT + .word mus_rg_shiruhu_7_000 + .byte GOTO + .word mus_rg_shiruhu_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_shiruhu_8: + .byte KEYSH , mus_rg_shiruhu_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 38*mus_rg_shiruhu_mvl/mxv + .byte PAN , c_v+0 + .byte W72 +mus_rg_shiruhu_8_000: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W24 + .byte PEND +mus_rg_shiruhu_8_B1: +mus_rg_shiruhu_8_001: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_shiruhu_8_000 + .byte PATT + .word mus_rg_shiruhu_8_001 +mus_rg_shiruhu_8_002: + .byte N03 , Cn5 , v120 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v080 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v048 + .byte W18 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_shiruhu_8_002 + .byte PATT + .word mus_rg_shiruhu_8_002 + .byte PATT + .word mus_rg_shiruhu_8_002 + .byte PATT + .word mus_rg_shiruhu_8_001 + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W24 + .byte PATT + .word mus_rg_shiruhu_8_001 + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v048 + .byte W18 + .byte PATT + .word mus_rg_shiruhu_8_001 + .byte PATT + .word mus_rg_shiruhu_8_001 + .byte PATT + .word mus_rg_shiruhu_8_001 + .byte PATT + .word mus_rg_shiruhu_8_001 +mus_rg_shiruhu_8_003: + .byte N03 , Cn5 , v120 + .byte W06 + .byte Cn5 , v048 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v048 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v048 + .byte W18 + .byte PEND +mus_rg_shiruhu_8_004: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte PEND +mus_rg_shiruhu_8_005: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W06 + .byte N03 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W06 + .byte N03 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_shiruhu_8_005 + .byte PATT + .word mus_rg_shiruhu_8_003 + .byte PATT + .word mus_rg_shiruhu_8_004 + .byte PATT + .word mus_rg_shiruhu_8_003 + .byte PATT + .word mus_rg_shiruhu_8_004 + .byte PATT + .word mus_rg_shiruhu_8_003 + .byte PATT + .word mus_rg_shiruhu_8_004 + .byte PATT + .word mus_rg_shiruhu_8_001 + .byte PATT + .word mus_rg_shiruhu_8_001 + .byte PATT + .word mus_rg_shiruhu_8_001 + .byte PATT + .word mus_rg_shiruhu_8_001 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_rg_shiruhu_8_000 + .byte GOTO + .word mus_rg_shiruhu_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_shiruhu_9: + .byte KEYSH , mus_rg_shiruhu_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 38*mus_rg_shiruhu_mvl/mxv + .byte PAN , c_v+0 + .byte W72 + .byte W84 + .byte N12 , Gn5 , v120 + .byte W12 +mus_rg_shiruhu_9_B1: + .byte W96 + .byte W84 + .byte N12 , Gn5 , v120 + .byte W12 + .byte W96 + .byte W36 + .byte N12 + .byte W60 + .byte W36 + .byte N12 + .byte W60 + .byte W36 + .byte N12 + .byte W60 + .byte W36 + .byte N12 + .byte W60 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_shiruhu_9_000: + .byte W12 + .byte N12 , Gn5 , v120 + .byte W24 + .byte N12 + .byte W48 + .byte N12 + .byte W12 + .byte PEND + .byte W96 +mus_rg_shiruhu_9_001: + .byte W24 + .byte N12 , Gn5 , v120 + .byte W48 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_shiruhu_9_001 + .byte PATT + .word mus_rg_shiruhu_9_000 + .byte W96 + .byte PATT + .word mus_rg_shiruhu_9_000 + .byte W96 + .byte PATT + .word mus_rg_shiruhu_9_000 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N12 , Gn5 , v120 + .byte W12 + .byte GOTO + .word mus_rg_shiruhu_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_shiruhu: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_shiruhu_pri @ Priority + .byte mus_rg_shiruhu_rev @ Reverb. + + .word mus_rg_shiruhu_grp + + .word mus_rg_shiruhu_1 + .word mus_rg_shiruhu_2 + .word mus_rg_shiruhu_3 + .word mus_rg_shiruhu_4 + .word mus_rg_shiruhu_5 + .word mus_rg_shiruhu_6 + .word mus_rg_shiruhu_7 + .word mus_rg_shiruhu_8 + .word mus_rg_shiruhu_9 + + .end diff --git a/sound/songs/mus_rg_shoujo.s b/sound/songs/mus_rg_shoujo.s new file mode 100644 index 0000000000..20acb86462 --- /dev/null +++ b/sound/songs/mus_rg_shoujo.s @@ -0,0 +1,693 @@ + .include "MPlayDef.s" + + .equ mus_rg_shoujo_grp, voicegroup_86A4BF4 + .equ mus_rg_shoujo_pri, 0 + .equ mus_rg_shoujo_rev, reverb_set+50 + .equ mus_rg_shoujo_mvl, 127 + .equ mus_rg_shoujo_key, 0 + .equ mus_rg_shoujo_tbs, 1 + .equ mus_rg_shoujo_exg, 0 + .equ mus_rg_shoujo_cmp, 1 + + .section .rodata + .global mus_rg_shoujo + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_shoujo_1: + .byte KEYSH , mus_rg_shoujo_key+0 + .byte TEMPO , 174*mus_rg_shoujo_tbs/2 + .byte VOICE , 1 + .byte VOL , 51*mus_rg_shoujo_mvl/mxv + .byte PAN , c_v-29 + .byte N18 , En4 , v104 + .byte W12 + .byte W24 + .byte N03 , Cn4 , v127 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte N12 , Gs3 + .byte W12 +mus_rg_shoujo_1_B1: +mus_rg_shoujo_1_000: + .byte N03 , Gn3 , v127 + .byte W24 + .byte N12 + .byte W24 + .byte N03 + .byte W24 + .byte N12 + .byte W24 + .byte PEND + .byte N03 , Fs3 + .byte W24 + .byte N12 + .byte W24 + .byte N03 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , An3 , v120 + .byte W12 + .byte PATT + .word mus_rg_shoujo_1_000 + .byte N03 , Fn3 , v127 + .byte W24 + .byte N12 + .byte W24 + .byte N03 + .byte W24 + .byte N12 + .byte W24 + .byte GOTO + .word mus_rg_shoujo_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_shoujo_2: + .byte KEYSH , mus_rg_shoujo_key+0 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 49*mus_rg_shoujo_mvl/mxv + .byte N12 , Gn4 , v127 + .byte W12 + .byte N72 , Gn5 + .byte W72 +mus_rg_shoujo_2_B1: + .byte VOICE , 24 + .byte N12 , Gn4 , v127 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N01 , Cn4 , v096 + .byte W09 + .byte N01 + .byte W03 + .byte N24 , Bn4 , v127 + .byte W06 + .byte MOD , 2 + .byte W18 + .byte 0 + .byte N12 , Cn5 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N01 , Cn4 , v096 + .byte W12 + .byte N12 , Bn4 , v127 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N01 , Gn4 , v096 + .byte W12 + .byte N12 , An4 , v127 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N03 , Gn4 + .byte W12 + .byte N12 , Fs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N03 , En4 + .byte W12 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N03 , En4 + .byte W12 + .byte N12 , Fs4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N03 , An4 + .byte W12 + .byte N12 , Gn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N01 , Cn4 , v096 + .byte W09 + .byte N01 + .byte W03 + .byte N24 , An4 , v127 + .byte W06 + .byte MOD , 2 + .byte W18 + .byte 0 + .byte N12 , Gn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N01 , Cn4 , v096 + .byte W12 + .byte N12 , Fn4 , v127 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N01 , En4 , v120 + .byte W12 + .byte N12 , En4 , v127 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N03 , Dn4 + .byte W12 + .byte N12 , Cn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N03 , Bn3 + .byte W12 + .byte N12 , Cn4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N03 , Dn4 + .byte W12 + .byte N12 , En4 + .byte W06 + .byte MOD , 3 + .byte W06 + .byte 0 + .byte N03 , Fn4 + .byte W12 + .byte GOTO + .word mus_rg_shoujo_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_shoujo_3: + .byte KEYSH , mus_rg_shoujo_key+0 + .byte VOICE , 17 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 39*mus_rg_shoujo_mvl/mxv + .byte PAN , c_v-40 + .byte W12 + .byte W36 + .byte N03 , An4 , v104 + .byte W12 + .byte Gn4 + .byte W12 + .byte N12 , Fn4 + .byte W12 +mus_rg_shoujo_3_B1: + .byte VOL , 39*mus_rg_shoujo_mvl/mxv + .byte N84 , En4 , v120 + .byte W09 + .byte VOL , 11*mus_rg_shoujo_mvl/mxv + .byte W06 + .byte 16*mus_rg_shoujo_mvl/mxv + .byte W09 + .byte 22*mus_rg_shoujo_mvl/mxv + .byte W12 + .byte 28*mus_rg_shoujo_mvl/mxv + .byte W12 + .byte 34*mus_rg_shoujo_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 39*mus_rg_shoujo_mvl/mxv + .byte W12 + .byte 45*mus_rg_shoujo_mvl/mxv + .byte W12 + .byte 39*mus_rg_shoujo_mvl/mxv + .byte MOD , 0 + .byte N06 , An4 + .byte W06 + .byte Fn4 + .byte W06 + .byte VOL , 39*mus_rg_shoujo_mvl/mxv + .byte N84 , Ds4 + .byte W09 + .byte VOL , 11*mus_rg_shoujo_mvl/mxv + .byte W06 + .byte 16*mus_rg_shoujo_mvl/mxv + .byte W09 + .byte 22*mus_rg_shoujo_mvl/mxv + .byte W12 + .byte 28*mus_rg_shoujo_mvl/mxv + .byte W12 + .byte 34*mus_rg_shoujo_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 39*mus_rg_shoujo_mvl/mxv + .byte W12 + .byte 45*mus_rg_shoujo_mvl/mxv + .byte W12 + .byte 39*mus_rg_shoujo_mvl/mxv + .byte MOD , 0 + .byte N06 , Fn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte VOL , 39*mus_rg_shoujo_mvl/mxv + .byte N84 , En4 + .byte W09 + .byte VOL , 11*mus_rg_shoujo_mvl/mxv + .byte W06 + .byte 16*mus_rg_shoujo_mvl/mxv + .byte W09 + .byte 22*mus_rg_shoujo_mvl/mxv + .byte W12 + .byte 28*mus_rg_shoujo_mvl/mxv + .byte W12 + .byte 34*mus_rg_shoujo_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 39*mus_rg_shoujo_mvl/mxv + .byte W12 + .byte 45*mus_rg_shoujo_mvl/mxv + .byte W12 + .byte 39*mus_rg_shoujo_mvl/mxv + .byte MOD , 0 + .byte N06 , Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte VOL , 39*mus_rg_shoujo_mvl/mxv + .byte N84 , Dn4 + .byte W09 + .byte VOL , 11*mus_rg_shoujo_mvl/mxv + .byte W06 + .byte 16*mus_rg_shoujo_mvl/mxv + .byte W09 + .byte 22*mus_rg_shoujo_mvl/mxv + .byte W12 + .byte 28*mus_rg_shoujo_mvl/mxv + .byte W12 + .byte 34*mus_rg_shoujo_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 39*mus_rg_shoujo_mvl/mxv + .byte W12 + .byte 45*mus_rg_shoujo_mvl/mxv + .byte W12 + .byte 39*mus_rg_shoujo_mvl/mxv + .byte MOD , 0 + .byte N06 , Fn4 + .byte W06 + .byte An4 + .byte W06 + .byte GOTO + .word mus_rg_shoujo_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_shoujo_4: + .byte KEYSH , mus_rg_shoujo_key+0 + .byte VOICE , 80 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 45*mus_rg_shoujo_mvl/mxv + .byte PAN , c_v+0 + .byte W12 + .byte W72 +mus_rg_shoujo_4_B1: + .byte N06 , Cn2 , v127 + .byte W24 + .byte N24 , En1 , v120 + .byte W24 + .byte N06 , Cn2 , v127 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte Fn1 + .byte W12 + .byte N06 , Cn2 + .byte W24 + .byte N24 , Ds1 + .byte W24 + .byte N06 , Cn2 + .byte W24 + .byte N12 , Ds1 + .byte W12 + .byte N15 , Gn1 , v120 + .byte W12 + .byte N06 , Cn2 , v127 + .byte W24 + .byte N24 , En1 + .byte W24 + .byte N06 , Cn2 + .byte W24 + .byte N24 , En1 + .byte W24 + .byte N06 , Cn2 , v120 + .byte W24 + .byte N24 , Dn1 , v127 + .byte W24 + .byte N06 , Cn2 + .byte W24 + .byte N24 , Dn1 + .byte W24 + .byte GOTO + .word mus_rg_shoujo_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_shoujo_5: + .byte KEYSH , mus_rg_shoujo_key+0 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 46*mus_rg_shoujo_mvl/mxv + .byte PAN , c_v+47 + .byte BEND , c_v+1 + .byte N12 , Gn4 , v104 + .byte W12 + .byte N72 , Gn5 + .byte W72 +mus_rg_shoujo_5_B1: + .byte PAN , c_v+32 + .byte BEND , c_v+0 + .byte N03 , Cn3 , v120 + .byte W24 + .byte N12 + .byte W24 + .byte N03 + .byte W24 + .byte N12 + .byte W24 + .byte N03 + .byte W24 + .byte N12 + .byte W24 + .byte N03 + .byte W24 + .byte N12 + .byte W24 +mus_rg_shoujo_5_000: + .byte N03 , Cn3 , v127 + .byte W24 + .byte N12 + .byte W24 + .byte N03 + .byte W24 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_shoujo_5_000 + .byte GOTO + .word mus_rg_shoujo_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_shoujo_6: + .byte KEYSH , mus_rg_shoujo_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 45*mus_rg_shoujo_mvl/mxv + .byte N12 , Gn4 , v127 + .byte W12 + .byte N72 , Gn5 + .byte W24 + .byte VOL , 41*mus_rg_shoujo_mvl/mxv + .byte W03 + .byte 38*mus_rg_shoujo_mvl/mxv + .byte W03 + .byte 36*mus_rg_shoujo_mvl/mxv + .byte W03 + .byte 34*mus_rg_shoujo_mvl/mxv + .byte W03 + .byte 31*mus_rg_shoujo_mvl/mxv + .byte W03 + .byte 29*mus_rg_shoujo_mvl/mxv + .byte W03 + .byte 25*mus_rg_shoujo_mvl/mxv + .byte W03 + .byte 22*mus_rg_shoujo_mvl/mxv + .byte W03 + .byte 20*mus_rg_shoujo_mvl/mxv + .byte W03 + .byte 17*mus_rg_shoujo_mvl/mxv + .byte W03 + .byte 14*mus_rg_shoujo_mvl/mxv + .byte W03 + .byte 12*mus_rg_shoujo_mvl/mxv + .byte W03 + .byte 9*mus_rg_shoujo_mvl/mxv + .byte W03 + .byte 7*mus_rg_shoujo_mvl/mxv + .byte W03 + .byte 5*mus_rg_shoujo_mvl/mxv + .byte W03 + .byte 2*mus_rg_shoujo_mvl/mxv + .byte W03 +mus_rg_shoujo_6_B1: + .byte VOL , 0*mus_rg_shoujo_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_shoujo_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_shoujo_7: + .byte KEYSH , mus_rg_shoujo_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 28*mus_rg_shoujo_mvl/mxv + .byte W12 + .byte W72 +mus_rg_shoujo_7_B1: +mus_rg_shoujo_7_000: + .byte N12 , Cn4 , v120 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte W12 + .byte N24 , Dn4 + .byte W06 + .byte MOD , 5 + .byte W18 + .byte 0 + .byte N12 , En4 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte W12 + .byte N12 , Dn4 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte W12 + .byte PEND + .byte N12 , Ds4 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N01 , Cn4 + .byte W12 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N01 , Cn4 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N01 , Gn3 + .byte W12 + .byte N12 , Ds4 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N01 , Cn4 + .byte W12 + .byte PATT + .word mus_rg_shoujo_7_000 + .byte N12 , Cn4 , v120 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N01 , Bn3 + .byte W12 + .byte N12 , An3 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N01 , Gn3 + .byte W12 + .byte N12 , Fn3 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N01 , Gn3 + .byte W12 + .byte N12 , An3 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N01 , Bn3 + .byte W12 + .byte GOTO + .word mus_rg_shoujo_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_shoujo_8: + .byte KEYSH , mus_rg_shoujo_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-1 + .byte VOL , 51*mus_rg_shoujo_mvl/mxv + .byte W12 + .byte W72 +mus_rg_shoujo_8_B1: +mus_rg_shoujo_8_000: + .byte N03 , Cn5 , v104 + .byte W24 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v044 + .byte W36 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte PEND + .byte Cn5 , v112 + .byte W24 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v076 + .byte W06 + .byte Cn5 , v052 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v056 + .byte W06 + .byte Cn5 , v080 + .byte W06 + .byte Cn5 , v052 + .byte W06 + .byte Cn5 , v100 + .byte W06 + .byte Cn5 , v072 + .byte W06 + .byte PATT + .word mus_rg_shoujo_8_000 + .byte N03 , Cn5 , v112 + .byte W24 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v096 + .byte W06 + .byte Cn5 , v072 + .byte W06 + .byte GOTO + .word mus_rg_shoujo_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_shoujo_9: + .byte KEYSH , mus_rg_shoujo_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+2 + .byte VOL , 38*mus_rg_shoujo_mvl/mxv + .byte W12 + .byte W72 +mus_rg_shoujo_9_B1: + .byte W48 + .byte N24 , Ds5 , v096 + .byte W48 + .byte W96 + .byte W48 + .byte N24 + .byte W48 + .byte W96 + .byte GOTO + .word mus_rg_shoujo_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_shoujo: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_shoujo_pri @ Priority + .byte mus_rg_shoujo_rev @ Reverb. + + .word mus_rg_shoujo_grp + + .word mus_rg_shoujo_1 + .word mus_rg_shoujo_2 + .word mus_rg_shoujo_3 + .word mus_rg_shoujo_4 + .word mus_rg_shoujo_5 + .word mus_rg_shoujo_6 + .word mus_rg_shoujo_7 + .word mus_rg_shoujo_8 + .word mus_rg_shoujo_9 + + .end diff --git a/sound/songs/mus_rg_shounen.s b/sound/songs/mus_rg_shounen.s new file mode 100644 index 0000000000..f0341ff8b1 --- /dev/null +++ b/sound/songs/mus_rg_shounen.s @@ -0,0 +1,839 @@ + .include "MPlayDef.s" + + .equ mus_rg_shounen_grp, voicegroup_86A51F4 + .equ mus_rg_shounen_pri, 0 + .equ mus_rg_shounen_rev, reverb_set+50 + .equ mus_rg_shounen_mvl, 127 + .equ mus_rg_shounen_key, 0 + .equ mus_rg_shounen_tbs, 1 + .equ mus_rg_shounen_exg, 0 + .equ mus_rg_shounen_cmp, 1 + + .section .rodata + .global mus_rg_shounen + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_shounen_1: + .byte KEYSH , mus_rg_shounen_key+0 + .byte TEMPO , 154*mus_rg_shounen_tbs/2 + .byte VOICE , 18 + .byte VOL , 53*mus_rg_shounen_mvl/mxv + .byte PAN , c_v+48 + .byte N06 , Cs4 , v127 + .byte W06 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte N72 , Fn4 + .byte W06 + .byte VOL , 19*mus_rg_shounen_mvl/mxv + .byte W18 + .byte 32*mus_rg_shounen_mvl/mxv + .byte W06 + .byte 38*mus_rg_shounen_mvl/mxv + .byte W06 + .byte 46*mus_rg_shounen_mvl/mxv + .byte MOD , 5 + .byte W06 + .byte VOL , 53*mus_rg_shounen_mvl/mxv + .byte W06 + .byte 60*mus_rg_shounen_mvl/mxv + .byte W06 + .byte 66*mus_rg_shounen_mvl/mxv + .byte W06 + .byte 73*mus_rg_shounen_mvl/mxv + .byte W12 + .byte VOICE , 17 + .byte MOD , 0 + .byte VOL , 63*mus_rg_shounen_mvl/mxv + .byte PAN , c_v+28 + .byte W60 + .byte N06 , En3 , v120 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 +mus_rg_shounen_1_B1: + .byte N21 , Bn4 , v127 + .byte W21 + .byte N03 , As4 , v120 + .byte W03 + .byte N24 , An4 , v127 + .byte W24 + .byte N12 , Gs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N03 , Fn4 , v088 + .byte W03 + .byte En4 , v092 + .byte W03 + .byte Ds4 + .byte W03 + .byte Dn4 + .byte W03 + .byte N36 , Cs4 , v127 + .byte W36 + .byte N12 , Bn3 + .byte W12 + .byte Cs4 , v120 + .byte W12 + .byte En4 , v127 + .byte W12 + .byte N48 , Gn4 + .byte W48 + .byte Dn5 + .byte W48 + .byte Fs4 + .byte W48 + .byte Cs5 + .byte W48 + .byte GOTO + .word mus_rg_shounen_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_shounen_2: + .byte KEYSH , mus_rg_shounen_key+0 + .byte VOICE , 18 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 79*mus_rg_shounen_mvl/mxv + .byte N06 , En5 , v127 + .byte W06 + .byte Ds5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte N72 , Bn4 + .byte W06 + .byte VOL , 34*mus_rg_shounen_mvl/mxv + .byte W12 + .byte 56*mus_rg_shounen_mvl/mxv + .byte W06 + .byte 60*mus_rg_shounen_mvl/mxv + .byte W06 + .byte 65*mus_rg_shounen_mvl/mxv + .byte W06 + .byte 73*mus_rg_shounen_mvl/mxv + .byte MOD , 5 + .byte W06 + .byte VOL , 82*mus_rg_shounen_mvl/mxv + .byte W06 + .byte 86*mus_rg_shounen_mvl/mxv + .byte W06 + .byte 89*mus_rg_shounen_mvl/mxv + .byte W18 + .byte VOICE , 17 + .byte MOD , 0 + .byte VOL , 90*mus_rg_shounen_mvl/mxv + .byte W12 + .byte N06 , En4 + .byte W24 + .byte N06 + .byte W24 + .byte En3 , v120 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 +mus_rg_shounen_2_B1: + .byte MOD , 1 + .byte N36 , En5 , v127 + .byte W36 + .byte Ds5 + .byte W36 + .byte N24 , Cs5 + .byte W24 + .byte N12 , Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte N03 , Gs4 , v108 + .byte W03 + .byte An4 , v076 + .byte W03 + .byte N06 , Gs4 , v120 + .byte W06 + .byte N12 , Fs4 , v127 + .byte W12 + .byte Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cs5 + .byte W12 + .byte N96 , Fn5 + .byte W48 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte N96 , En5 + .byte W48 + .byte MOD , 7 + .byte W48 + .byte GOTO + .word mus_rg_shounen_2_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_shounen_3: + .byte KEYSH , mus_rg_shounen_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 45*mus_rg_shounen_mvl/mxv + .byte W36 + .byte N12 , Bn2 , v127 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , En2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , En2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte W12 + .byte N12 , En2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Fs2 + .byte W12 +mus_rg_shounen_3_B1: + .byte PAN , c_v-62 + .byte N12 , En2 , v127 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , En2 + .byte W12 + .byte N06 , Bn2 + .byte W06 + .byte N03 , Gs2 , v120 + .byte W03 + .byte Fs2 + .byte W03 + .byte PAN , c_v+63 + .byte N12 , En2 , v127 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Fs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Fs2 + .byte W12 + .byte N06 , Cs3 + .byte W06 + .byte N03 , Bn2 , v120 + .byte W03 + .byte Gs2 + .byte W03 + .byte PAN , c_v+63 + .byte N12 , Fs2 , v127 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Gn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Gn2 + .byte W12 + .byte N06 , Dn3 + .byte W06 + .byte N03 , Bn2 , v120 + .byte W03 + .byte An2 + .byte W03 + .byte PAN , c_v+63 + .byte N12 , Gn2 , v127 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Fs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fs2 + .byte W12 + .byte N06 , Cs3 + .byte W06 + .byte An2 , v120 + .byte W06 + .byte PAN , c_v-62 + .byte N12 , Fs2 , v127 + .byte W12 + .byte Cs3 , v120 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fs2 , v127 + .byte W12 + .byte Ds2 + .byte W12 + .byte GOTO + .word mus_rg_shounen_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_shounen_4: + .byte KEYSH , mus_rg_shounen_key+0 + .byte VOICE , 38 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_shounen_mvl/mxv + .byte N06 , Bn1 , v120 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N06 , Bn1 + .byte W06 + .byte En1 + .byte W06 + .byte N48 , Bn1 + .byte W06 + .byte VOL , 45*mus_rg_shounen_mvl/mxv + .byte W03 + .byte MOD , 8 + .byte W15 + .byte VOL , 79*mus_rg_shounen_mvl/mxv + .byte W12 + .byte 90*mus_rg_shounen_mvl/mxv + .byte W12 + .byte 90*mus_rg_shounen_mvl/mxv + .byte MOD , 0 + .byte N03 + .byte W06 + .byte Fn1 + .byte W06 + .byte N12 , Ds1 + .byte W12 + .byte BEND , c_v+0 + .byte N06 , En1 + .byte W18 + .byte N03 + .byte W18 + .byte Cs1 + .byte W06 + .byte N03 + .byte W18 + .byte N06 , En1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Fs1 + .byte W12 +mus_rg_shounen_4_B1: + .byte BEND , c_v+0 + .byte N15 , En1 , v120 + .byte W18 + .byte N03 + .byte W18 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W30 + .byte N06 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N15 , Fs1 + .byte W18 + .byte N03 + .byte W18 + .byte N03 + .byte W12 + .byte Cs2 + .byte W06 + .byte N09 , Fs1 + .byte W12 + .byte N03 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Gn1 + .byte W18 + .byte N03 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cs2 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , As1 + .byte W06 + .byte N03 , Bn1 + .byte W06 + .byte N06 , Fs1 + .byte W06 + .byte N03 , Gn1 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte N03 , Dn1 + .byte W06 + .byte Cs2 + .byte W06 + .byte N12 , Fs1 + .byte W12 + .byte N03 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte BEND , c_v+0 + .byte N24 , En2 + .byte W03 + .byte BEND , c_v-12 + .byte W03 + .byte c_v-19 + .byte W03 + .byte c_v-26 + .byte W03 + .byte c_v-32 + .byte W03 + .byte c_v-40 + .byte W03 + .byte c_v-47 + .byte W03 + .byte c_v-54 + .byte W03 + .byte GOTO + .word mus_rg_shounen_4_B1 + .byte BEND , c_v-63 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_shounen_5: + .byte KEYSH , mus_rg_shounen_key+0 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 45*mus_rg_shounen_mvl/mxv + .byte PAN , c_v-29 + .byte N06 , En6 , v127 + .byte W06 + .byte Ds6 + .byte W06 + .byte Dn6 + .byte W06 + .byte Cs6 + .byte W06 + .byte N48 , Bn5 + .byte W72 + .byte W96 +mus_rg_shounen_5_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_shounen_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_shounen_6: + .byte KEYSH , mus_rg_shounen_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 56*mus_rg_shounen_mvl/mxv + .byte BEND , c_v+2 + .byte W60 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte W12 + .byte N06 , En4 , v127 + .byte W24 + .byte N06 + .byte W24 + .byte En3 , v120 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 +mus_rg_shounen_6_B1: + .byte MOD , 1 + .byte N36 , En5 , v127 + .byte W36 + .byte Ds5 + .byte W36 + .byte N24 , Cs5 + .byte W24 + .byte N12 , Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte N03 , Gs4 , v120 + .byte W03 + .byte An4 , v032 + .byte W03 + .byte N06 , Gs4 + .byte W06 + .byte N12 , Fs4 , v127 + .byte W12 + .byte Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cs5 + .byte W12 + .byte N96 , Fn5 + .byte W48 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte N96 , En5 + .byte W48 + .byte MOD , 7 + .byte W48 + .byte GOTO + .word mus_rg_shounen_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_shounen_7: + .byte KEYSH , mus_rg_shounen_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 79*mus_rg_shounen_mvl/mxv + .byte W72 + .byte N24 , Cn3 , v120 + .byte W24 + .byte N06 , Cn1 , v092 + .byte W18 + .byte Cn1 , v056 + .byte W18 + .byte Cs1 , v084 + .byte W06 + .byte Cs1 , v064 + .byte W06 + .byte Cn1 , v092 + .byte W12 + .byte N03 , Cn1 , v056 + .byte W12 + .byte N06 , Cn1 , v088 + .byte W12 + .byte N06 + .byte W12 +mus_rg_shounen_7_B1: + .byte N06 , Cn1 , v092 + .byte W12 + .byte Dn3 , v112 + .byte W06 + .byte Cn1 , v056 + .byte W06 + .byte Dn3 , v112 + .byte W12 + .byte Cs1 , v076 + .byte W06 + .byte Dn3 , v052 + .byte W06 + .byte Cn1 , v092 + .byte W06 + .byte N03 , Cn1 , v056 + .byte W06 + .byte N06 , Dn3 , v112 + .byte W06 + .byte Dn3 , v056 + .byte W06 + .byte Dn3 , v112 + .byte W12 + .byte Cn1 , v088 + .byte W06 + .byte Dn3 , v052 + .byte W06 + .byte Cn1 , v100 + .byte W06 + .byte En3 , v076 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Cn1 , v056 + .byte W06 + .byte Dn3 , v112 + .byte W12 + .byte Cn1 , v088 + .byte W06 + .byte Dn3 , v052 + .byte W06 + .byte Cn1 , v092 + .byte W06 + .byte Cn1 , v048 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Cn1 , v056 + .byte W06 + .byte Dn3 , v112 + .byte W12 + .byte Cs1 , v076 + .byte W06 + .byte Cs1 , v068 + .byte W06 + .byte Cn1 , v092 + .byte W12 + .byte Dn3 , v112 + .byte W06 + .byte Cs1 , v076 + .byte W06 + .byte Dn3 , v112 + .byte W12 + .byte Cs1 , v076 + .byte W06 + .byte Cn1 , v052 + .byte W06 + .byte Cn1 , v092 + .byte W12 + .byte Cn1 , v112 + .byte W06 + .byte Dn3 , v056 + .byte W06 + .byte Dn3 , v112 + .byte W12 + .byte Cs1 , v076 + .byte W06 + .byte Dn3 , v052 + .byte W06 + .byte Cn1 , v100 + .byte W06 + .byte Cn1 , v076 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Cn1 , v056 + .byte W06 + .byte Dn3 , v112 + .byte W12 + .byte Cn1 , v088 + .byte W06 + .byte Cn1 , v052 + .byte W06 + .byte Cs1 , v076 + .byte W12 + .byte Cn1 , v112 + .byte W06 + .byte Cn1 , v056 + .byte W06 + .byte Cs1 , v080 + .byte W12 + .byte Cs1 , v076 + .byte W06 + .byte Dn3 , v052 + .byte W06 + .byte GOTO + .word mus_rg_shounen_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_shounen_8: + .byte KEYSH , mus_rg_shounen_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 38*mus_rg_shounen_mvl/mxv + .byte W96 + .byte N06 , Cn5 , v096 + .byte W12 + .byte N03 , Cn5 , v044 + .byte W12 + .byte N06 , Cn5 , v096 + .byte W12 + .byte N03 , Cn5 , v044 + .byte W12 + .byte N06 , Cn5 , v096 + .byte W12 + .byte N03 , Cn5 , v044 + .byte W12 + .byte Cn5 , v096 + .byte W03 + .byte Cn5 , v044 + .byte W03 + .byte N03 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v044 + .byte W06 +mus_rg_shounen_8_B1: + .byte N06 , Cn5 , v108 + .byte W12 + .byte N03 , Cn5 , v052 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v056 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte N06 , Cn5 , v112 + .byte W12 + .byte N03 , Cn5 , v060 + .byte W12 + .byte Cn5 , v040 + .byte W12 + .byte N06 , Cn5 , v096 + .byte W12 + .byte N03 , Cn5 , v048 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte N06 , Cn5 , v108 + .byte W12 + .byte N03 , Cn5 , v092 + .byte W12 + .byte Cn5 , v052 + .byte W12 + .byte N06 , Cn5 , v108 + .byte W12 + .byte N03 , Cn5 , v048 + .byte W12 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte N06 , Cn5 , v100 + .byte W12 + .byte N03 , Cn5 , v084 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte N06 , Cn5 , v096 + .byte W12 + .byte N03 , Cn5 , v048 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte N06 , Cn5 , v108 + .byte W12 + .byte N03 , Cn5 , v088 + .byte W06 + .byte Cn5 , v044 + .byte W03 + .byte VOICE , 126 + .byte W03 + .byte N12 , Gn5 , v104 + .byte W12 + .byte GOTO + .word mus_rg_shounen_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_shounen: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_shounen_pri @ Priority + .byte mus_rg_shounen_rev @ Reverb. + + .word mus_rg_shounen_grp + + .word mus_rg_shounen_1 + .word mus_rg_shounen_2 + .word mus_rg_shounen_3 + .word mus_rg_shounen_4 + .word mus_rg_shounen_5 + .word mus_rg_shounen_6 + .word mus_rg_shounen_7 + .word mus_rg_shounen_8 + + .end diff --git a/sound/songs/mus_rg_slot.s b/sound/songs/mus_rg_slot.s new file mode 100644 index 0000000000..dc2d96be0c --- /dev/null +++ b/sound/songs/mus_rg_slot.s @@ -0,0 +1,2708 @@ + .include "MPlayDef.s" + + .equ mus_rg_slot_grp, voicegroup_86A15B8 + .equ mus_rg_slot_pri, 0 + .equ mus_rg_slot_rev, reverb_set+50 + .equ mus_rg_slot_mvl, 127 + .equ mus_rg_slot_key, 0 + .equ mus_rg_slot_tbs, 1 + .equ mus_rg_slot_exg, 0 + .equ mus_rg_slot_cmp, 1 + + .section .rodata + .global mus_rg_slot + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_slot_1: + .byte KEYSH , mus_rg_slot_key+0 + .byte TEMPO , 146*mus_rg_slot_tbs/2 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+32 + .byte VOL , 63*mus_rg_slot_mvl/mxv + .byte N06 , As2 , v096 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte An3 + .byte W06 +mus_rg_slot_1_B1: + .byte VOL , 63*mus_rg_slot_mvl/mxv + .byte N36 , As3 , v080 + .byte W12 + .byte MOD , 7 + .byte VOL , 56*mus_rg_slot_mvl/mxv + .byte W12 + .byte 50*mus_rg_slot_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_slot_mvl/mxv + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W96 + .byte N24 , Dn3 , v072 + .byte W24 + .byte An2 + .byte W24 + .byte Fn3 + .byte W24 + .byte Cn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , As3 + .byte W12 + .byte N48 , An3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 56*mus_rg_slot_mvl/mxv + .byte W12 + .byte 49*mus_rg_slot_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_slot_mvl/mxv + .byte N12 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 +mus_rg_slot_1_000: + .byte MOD , 0 + .byte N36 , An3 , v072 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N12 , Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte PEND + .byte MOD , 0 + .byte N48 , Gn3 + .byte W24 + .byte MOD , 7 + .byte VOL , 56*mus_rg_slot_mvl/mxv + .byte W12 + .byte 51*mus_rg_slot_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_slot_mvl/mxv + .byte N48 , En3 + .byte W24 + .byte MOD , 7 + .byte VOL , 56*mus_rg_slot_mvl/mxv + .byte W12 + .byte 51*mus_rg_slot_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_slot_mvl/mxv + .byte N24 + .byte W24 + .byte Cn3 + .byte W24 + .byte Gn3 + .byte W24 + .byte En3 + .byte W24 + .byte MOD , 0 + .byte N12 , Cn4 + .byte W12 + .byte N48 , As3 + .byte W12 + .byte MOD , 7 + .byte VOL , 56*mus_rg_slot_mvl/mxv + .byte W12 + .byte 51*mus_rg_slot_mvl/mxv + .byte W12 + .byte 45*mus_rg_slot_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_slot_mvl/mxv + .byte N12 , Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte MOD , 0 + .byte N36 , En4 + .byte W15 + .byte MOD , 7 + .byte W21 + .byte 0 + .byte N12 , Dn4 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte MOD , 0 + .byte N12 , An3 + .byte W12 + .byte N06 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N12 , An3 + .byte W12 + .byte N48 , Gn3 + .byte W12 + .byte MOD , 7 + .byte VOL , 56*mus_rg_slot_mvl/mxv + .byte W12 + .byte 50*mus_rg_slot_mvl/mxv + .byte W12 + .byte 45*mus_rg_slot_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_slot_mvl/mxv + .byte N24 , Dn3 + .byte W24 + .byte An2 + .byte W24 + .byte Fn3 + .byte W24 + .byte Cn3 + .byte W24 + .byte MOD , 0 + .byte N12 , As3 + .byte W12 + .byte N48 , An3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 56*mus_rg_slot_mvl/mxv + .byte W12 + .byte 48*mus_rg_slot_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_slot_mvl/mxv + .byte N12 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PATT + .word mus_rg_slot_1_000 + .byte MOD , 0 + .byte N48 , Gn3 , v072 + .byte W24 + .byte MOD , 7 + .byte VOL , 56*mus_rg_slot_mvl/mxv + .byte W12 + .byte 48*mus_rg_slot_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_slot_mvl/mxv + .byte N24 , En3 + .byte W24 + .byte Dn3 + .byte W24 + .byte MOD , 0 + .byte N24 , En3 + .byte W24 + .byte Cn3 + .byte W24 + .byte Gn3 + .byte W24 + .byte En3 + .byte W24 + .byte MOD , 0 + .byte N12 , Cn4 + .byte W12 + .byte N48 , As3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 56*mus_rg_slot_mvl/mxv + .byte W12 + .byte 50*mus_rg_slot_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_slot_mvl/mxv + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte MOD , 0 + .byte N24 , Cn4 + .byte W24 + .byte As3 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte Cn3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte N24 + .byte W24 + .byte N24 + .byte W12 + .byte W12 + .byte N12 , Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N60 , En3 + .byte W12 + .byte MOD , 7 + .byte VOL , 56*mus_rg_slot_mvl/mxv + .byte W12 + .byte 49*mus_rg_slot_mvl/mxv + .byte W12 + .byte 44*mus_rg_slot_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 38*mus_rg_slot_mvl/mxv + .byte W12 + .byte 63*mus_rg_slot_mvl/mxv + .byte N12 , Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte N48 , Fn3 + .byte W12 + .byte MOD , 7 + .byte VOL , 56*mus_rg_slot_mvl/mxv + .byte W12 + .byte 50*mus_rg_slot_mvl/mxv + .byte W12 + .byte 45*mus_rg_slot_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_slot_mvl/mxv + .byte N24 , En4 + .byte W24 + .byte Cn4 + .byte W24 + .byte Gn3 + .byte W24 + .byte En3 + .byte W24 + .byte N18 , Fn3 + .byte W18 + .byte N06 , En3 + .byte W06 + .byte N12 , Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte N60 , Fn3 + .byte W12 + .byte MOD , 7 + .byte VOL , 56*mus_rg_slot_mvl/mxv + .byte W12 + .byte 49*mus_rg_slot_mvl/mxv + .byte W12 + .byte 45*mus_rg_slot_mvl/mxv + .byte W12 + .byte 63*mus_rg_slot_mvl/mxv + .byte W12 + .byte N12 , Cn3 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte N12 , Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N60 , En3 + .byte W12 + .byte MOD , 7 + .byte VOL , 56*mus_rg_slot_mvl/mxv + .byte W12 + .byte 49*mus_rg_slot_mvl/mxv + .byte W12 + .byte 45*mus_rg_slot_mvl/mxv + .byte W12 + .byte 63*mus_rg_slot_mvl/mxv + .byte W12 + .byte N12 , Cn3 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte N12 , Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte N48 , Fn3 + .byte W12 + .byte MOD , 7 + .byte VOL , 56*mus_rg_slot_mvl/mxv + .byte W12 + .byte 49*mus_rg_slot_mvl/mxv + .byte W12 + .byte 45*mus_rg_slot_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_slot_mvl/mxv + .byte N24 , En4 + .byte W24 + .byte Cn4 + .byte W24 + .byte Gn3 + .byte W24 + .byte As3 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte N06 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N48 , An3 + .byte W12 + .byte MOD , 7 + .byte VOL , 56*mus_rg_slot_mvl/mxv + .byte W12 + .byte 49*mus_rg_slot_mvl/mxv + .byte W12 + .byte 45*mus_rg_slot_mvl/mxv + .byte W12 + .byte GOTO + .word mus_rg_slot_1_B1 + .byte MOD , 0 + .byte VOL , 63*mus_rg_slot_mvl/mxv + .byte W96 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_slot_2: + .byte KEYSH , mus_rg_slot_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 90*mus_rg_slot_mvl/mxv + .byte N06 , Fn3 , v120 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 +mus_rg_slot_2_B1: + .byte VOL , 90*mus_rg_slot_mvl/mxv + .byte N36 , Dn4 , v127 + .byte W12 + .byte MOD , 7 + .byte VOL , 79*mus_rg_slot_mvl/mxv + .byte W12 + .byte 68*mus_rg_slot_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_slot_mvl/mxv + .byte N12 , Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W60 + .byte N06 , Cn3 , v120 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte N24 , Fn3 , v127 + .byte W24 + .byte Cn3 + .byte W24 + .byte An3 + .byte W24 + .byte Fn3 + .byte W12 + .byte MOD , 7 + .byte W12 +mus_rg_slot_2_000: + .byte MOD , 0 + .byte N12 , Dn4 , v127 + .byte W12 + .byte N84 , Cn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 85*mus_rg_slot_mvl/mxv + .byte W12 + .byte 79*mus_rg_slot_mvl/mxv + .byte W12 + .byte 72*mus_rg_slot_mvl/mxv + .byte W12 + .byte 68*mus_rg_slot_mvl/mxv + .byte W12 + .byte 62*mus_rg_slot_mvl/mxv + .byte W12 + .byte PEND + .byte MOD , 0 + .byte VOL , 90*mus_rg_slot_mvl/mxv + .byte N36 , Fn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N12 , En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 +mus_rg_slot_2_001: + .byte MOD , 0 + .byte N96 , As3 , v127 + .byte W24 + .byte MOD , 7 + .byte W12 + .byte VOL , 85*mus_rg_slot_mvl/mxv + .byte W12 + .byte 79*mus_rg_slot_mvl/mxv + .byte W12 + .byte 72*mus_rg_slot_mvl/mxv + .byte W12 + .byte 68*mus_rg_slot_mvl/mxv + .byte W12 + .byte 62*mus_rg_slot_mvl/mxv + .byte W12 + .byte PEND + .byte MOD , 0 + .byte VOL , 90*mus_rg_slot_mvl/mxv + .byte N24 , Gn3 + .byte W24 + .byte En3 + .byte W24 + .byte As3 + .byte W24 + .byte Gn3 + .byte W24 +mus_rg_slot_2_002: + .byte MOD , 0 + .byte N12 , En4 , v127 + .byte W12 + .byte N84 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 85*mus_rg_slot_mvl/mxv + .byte W12 + .byte 79*mus_rg_slot_mvl/mxv + .byte W12 + .byte 72*mus_rg_slot_mvl/mxv + .byte W12 + .byte 68*mus_rg_slot_mvl/mxv + .byte W12 + .byte 62*mus_rg_slot_mvl/mxv + .byte W12 + .byte PEND + .byte 90*mus_rg_slot_mvl/mxv + .byte MOD , 0 + .byte N36 , Gn4 + .byte W12 + .byte VOL , 79*mus_rg_slot_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W09 + .byte VOL , 68*mus_rg_slot_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_slot_mvl/mxv + .byte N12 , Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte MOD , 0 + .byte N96 , Cn4 + .byte W24 + .byte MOD , 7 + .byte W12 + .byte VOL , 85*mus_rg_slot_mvl/mxv + .byte W12 + .byte 79*mus_rg_slot_mvl/mxv + .byte W12 + .byte 72*mus_rg_slot_mvl/mxv + .byte W12 + .byte 68*mus_rg_slot_mvl/mxv + .byte W12 + .byte 62*mus_rg_slot_mvl/mxv + .byte W12 + .byte 90*mus_rg_slot_mvl/mxv + .byte MOD , 0 + .byte N24 , Fn3 + .byte W24 + .byte Cn3 + .byte W24 + .byte An3 + .byte W24 + .byte Fn3 + .byte W24 + .byte PATT + .word mus_rg_slot_2_000 + .byte VOL , 90*mus_rg_slot_mvl/mxv + .byte MOD , 0 + .byte N36 , Fn4 , v127 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N12 , En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte PATT + .word mus_rg_slot_2_001 + .byte VOL , 90*mus_rg_slot_mvl/mxv + .byte MOD , 0 + .byte N24 , Gn3 , v127 + .byte W24 + .byte En3 + .byte W24 + .byte As3 + .byte W24 + .byte Gn3 + .byte W24 + .byte PATT + .word mus_rg_slot_2_002 + .byte VOL , 90*mus_rg_slot_mvl/mxv + .byte MOD , 0 + .byte N36 , Gn4 , v127 + .byte W12 + .byte VOL , 79*mus_rg_slot_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W09 + .byte VOL , 68*mus_rg_slot_mvl/mxv + .byte W12 + .byte 90*mus_rg_slot_mvl/mxv + .byte MOD , 0 + .byte N12 , Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N06 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N60 , En4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 83*mus_rg_slot_mvl/mxv + .byte W12 + .byte 79*mus_rg_slot_mvl/mxv + .byte W12 + .byte 73*mus_rg_slot_mvl/mxv + .byte W12 + .byte 68*mus_rg_slot_mvl/mxv + .byte MOD , 0 + .byte N12 , Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 +mus_rg_slot_2_003: + .byte VOL , 90*mus_rg_slot_mvl/mxv + .byte N60 , Fn4 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 83*mus_rg_slot_mvl/mxv + .byte W12 + .byte 79*mus_rg_slot_mvl/mxv + .byte W12 + .byte 73*mus_rg_slot_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_slot_mvl/mxv + .byte N12 , Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte PEND + .byte N24 , Gn4 + .byte W24 + .byte En4 + .byte W24 + .byte Cn4 + .byte W24 + .byte As4 + .byte W24 + .byte N18 , An4 , v120 + .byte W18 + .byte N06 , As4 + .byte W06 + .byte An4 + .byte W06 + .byte N03 , As4 , v092 + .byte W03 + .byte An4 , v080 + .byte W03 + .byte N12 , Gn4 , v127 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N60 , En4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 83*mus_rg_slot_mvl/mxv + .byte W12 + .byte 79*mus_rg_slot_mvl/mxv + .byte W12 + .byte 73*mus_rg_slot_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 68*mus_rg_slot_mvl/mxv + .byte N12 , Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte PATT + .word mus_rg_slot_2_003 + .byte N24 , Gn4 , v127 + .byte W24 + .byte En4 + .byte W24 + .byte As4 + .byte W24 + .byte Gn4 + .byte W24 + .byte N96 , Cn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 83*mus_rg_slot_mvl/mxv + .byte W12 + .byte 79*mus_rg_slot_mvl/mxv + .byte W12 + .byte 72*mus_rg_slot_mvl/mxv + .byte W12 + .byte 68*mus_rg_slot_mvl/mxv + .byte W12 + .byte 61*mus_rg_slot_mvl/mxv + .byte W12 + .byte 56*mus_rg_slot_mvl/mxv + .byte W12 + .byte GOTO + .word mus_rg_slot_2_B1 + .byte MOD , 0 + .byte VOL , 90*mus_rg_slot_mvl/mxv + .byte W96 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_slot_3: + .byte KEYSH , mus_rg_slot_key+0 + .byte VOICE , 87 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-64 + .byte VOL , 44*mus_rg_slot_mvl/mxv + .byte N06 , Dn2 , v120 + .byte W06 + .byte As2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 +mus_rg_slot_3_B1: + .byte N36 , Dn3 , v127 + .byte W36 + .byte N12 , Cn3 , v120 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte An2 , v127 + .byte W12 + .byte As2 + .byte W12 + .byte Bn2 + .byte W12 + .byte N12 , Cn3 + .byte W48 + .byte VOICE , 80 + .byte W12 + .byte N06 , Cn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v-64 + .byte VOL , 28*mus_rg_slot_mvl/mxv + .byte N06 , Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An2 + .byte W12 +mus_rg_slot_3_000: + .byte PAN , c_v-64 + .byte N06 , Fn2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , En2 + .byte W12 + .byte PEND +mus_rg_slot_3_001: + .byte PAN , c_v-64 + .byte N06 , Fn2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn3 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cn3 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn3 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cn3 + .byte W12 + .byte PEND +mus_rg_slot_3_002: + .byte PAN , c_v-64 + .byte N06 , En2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , As2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , As2 + .byte W12 + .byte PEND +mus_rg_slot_3_003: + .byte PAN , c_v-64 + .byte N06 , En2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W12 + .byte PEND + .byte PAN , c_v-64 + .byte N06 , En2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn2 + .byte W12 + .byte Dn2 , v120 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , En2 + .byte W12 +mus_rg_slot_3_004: + .byte PAN , c_v-64 + .byte N06 , Gn2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , As2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , As2 + .byte W12 + .byte PEND + .byte PAN , c_v-64 + .byte N06 , En2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , As2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W12 +mus_rg_slot_3_005: + .byte PAN , c_v-64 + .byte N06 , Fn2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_slot_3_000 + .byte PATT + .word mus_rg_slot_3_001 + .byte PATT + .word mus_rg_slot_3_002 + .byte PAN , c_v-64 + .byte N06 , En2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Dn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , En2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , En2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn3 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , En2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn3 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cn3 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 , Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 , Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 + .byte W24 + .byte PAN , c_v-64 + .byte N06 , Cn3 + .byte W12 + .byte PATT + .word mus_rg_slot_3_003 + .byte PATT + .word mus_rg_slot_3_005 + .byte PATT + .word mus_rg_slot_3_004 + .byte PAN , c_v-64 + .byte N06 , Fn2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fn2 + .byte W12 + .byte PATT + .word mus_rg_slot_3_003 + .byte PATT + .word mus_rg_slot_3_005 + .byte PATT + .word mus_rg_slot_3_004 + .byte PATT + .word mus_rg_slot_3_000 + .byte GOTO + .word mus_rg_slot_3_B1 + .byte W96 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_slot_4: + .byte KEYSH , mus_rg_slot_key+0 + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 56*mus_rg_slot_mvl/mxv + .byte W24 +mus_rg_slot_4_B1: + .byte N36 , Dn2 , v120 + .byte W36 + .byte N12 , Cn2 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte An1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N12 , Cn1 + .byte W60 + .byte N06 , As1 + .byte W12 + .byte An1 + .byte W12 + .byte Gn1 + .byte W12 +mus_rg_slot_4_000: + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , An2 , v096 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , An2 , v096 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , An2 , v096 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , An2 , v096 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte PEND + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , An2 , v096 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , As2 , v096 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte N06 , Bn2 , v096 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , An2 , v096 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , Cn3 , v100 + .byte W06 + .byte Cn3 , v032 + .byte W06 +mus_rg_slot_4_001: + .byte N12 , En1 , v120 + .byte W12 + .byte N06 , Gn3 , v096 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , En1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte PEND + .byte N12 , En1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , En1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , As1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , En1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , En1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , As1 , v120 + .byte W12 + .byte N06 , As2 , v096 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , En1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , En1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte PATT + .word mus_rg_slot_4_000 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , An2 , v096 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte PATT + .word mus_rg_slot_4_001 + .byte N12 , En1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , En1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , As1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , En1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , En1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , As1 , v120 + .byte W12 + .byte N06 , As3 , v088 + .byte W06 + .byte As3 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , An2 , v096 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , As1 , v120 + .byte W12 + .byte An1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N06 , Gn3 , v096 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte N06 , An3 , v096 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , As3 , v096 + .byte W06 + .byte As3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , An3 , v096 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Cn4 , v064 + .byte W06 + .byte Cn4 , v028 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , As2 , v096 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , En1 , v120 + .byte W12 + .byte N06 , Gn3 , v096 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , As3 , v096 + .byte W06 + .byte As3 , v032 + .byte W06 + .byte N12 , Ds1 , v120 + .byte W12 + .byte N06 , Gn3 , v096 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , An3 , v096 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , Gn3 , v096 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Cn1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte GOTO + .word mus_rg_slot_4_B1 + .byte W96 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_slot_5: + .byte KEYSH , mus_rg_slot_key+0 + .byte VOICE , 73 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 34*mus_rg_slot_mvl/mxv + .byte W24 +mus_rg_slot_5_B1: + .byte VOICE , 73 + .byte W96 + .byte W12 + .byte N06 , Cn5 , v127 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte N03 , Cn5 + .byte W03 + .byte Dn5 , v120 + .byte W03 + .byte Cn5 + .byte W03 + .byte Dn5 + .byte W03 + .byte Cn5 + .byte W03 + .byte Dn5 + .byte W03 + .byte Cn5 + .byte W03 + .byte Dn5 + .byte W03 + .byte Cn5 + .byte W03 + .byte Dn5 + .byte W03 + .byte Cn5 , v096 + .byte W03 + .byte Dn5 , v076 + .byte W03 + .byte Cn5 , v068 + .byte W03 + .byte Dn5 , v060 + .byte W03 + .byte Cn5 + .byte W03 + .byte Dn5 , v032 + .byte W03 + .byte W96 + .byte VOL , 31*mus_rg_slot_mvl/mxv + .byte N06 , Cn5 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte W96 + .byte W12 + .byte N06 , Cn6 + .byte W06 + .byte Bn5 + .byte W06 + .byte Cn6 + .byte W12 + .byte N06 + .byte W06 + .byte Bn5 + .byte W06 + .byte N03 , Cn6 + .byte W03 + .byte Cs6 , v060 + .byte W03 + .byte Cn6 , v120 + .byte W03 + .byte Cs6 , v064 + .byte W03 + .byte Cn6 , v120 + .byte W03 + .byte Cs6 , v060 + .byte W03 + .byte Cn6 , v120 + .byte W03 + .byte Cs6 , v060 + .byte W03 + .byte Cn6 , v092 + .byte W03 + .byte Cs6 , v040 + .byte W03 + .byte Cn6 , v064 + .byte W03 + .byte Cs6 , v028 + .byte W03 + .byte Cn6 , v064 + .byte W03 + .byte Cs6 , v028 + .byte W03 + .byte Cn6 , v060 + .byte W03 + .byte Cs6 , v032 + .byte W03 + .byte W96 + .byte N06 , An5 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fn5 + .byte W12 + .byte N06 + .byte W06 + .byte En5 + .byte W06 + .byte Dn5 + .byte W12 + .byte N06 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte W96 + .byte VOICE , 73 + .byte N06 , Cn6 + .byte W12 + .byte N06 + .byte W06 + .byte Bn5 + .byte W06 + .byte Cn6 + .byte W06 + .byte Bn5 + .byte W06 + .byte Cn6 + .byte W06 + .byte Dn6 + .byte W06 + .byte N12 , Cn6 + .byte W12 + .byte As5 + .byte W12 + .byte An5 + .byte W12 + .byte Gn5 + .byte W12 + .byte W96 + .byte VOICE , 14 + .byte VOL , 45*mus_rg_slot_mvl/mxv + .byte W24 + .byte N24 , En5 + .byte W24 + .byte Dn5 + .byte W24 + .byte Cn5 + .byte W24 + .byte W96 + .byte W24 + .byte Fn5 + .byte W24 + .byte En5 + .byte W24 + .byte Dn5 + .byte W24 + .byte Gn5 + .byte W96 + .byte W24 + .byte En5 + .byte W24 + .byte Dn5 + .byte W24 + .byte En5 + .byte W24 + .byte Gn5 + .byte W48 + .byte Cn5 + .byte W48 + .byte VOICE , 14 + .byte N24 , Fn5 + .byte W24 + .byte Cn5 + .byte W24 + .byte Fn5 + .byte W48 + .byte VOICE , 73 + .byte VOL , 29*mus_rg_slot_mvl/mxv + .byte N03 , Fs5 + .byte W03 + .byte N09 , Fn5 + .byte W09 + .byte N12 , En5 + .byte W12 + .byte N06 , Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte En5 + .byte W12 + .byte Cn5 + .byte W12 + .byte N06 , An5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fn5 + .byte W06 + .byte En5 + .byte W06 + .byte Fn5 + .byte W06 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte N24 , As4 + .byte W24 + .byte Gn4 + .byte W24 + .byte En4 + .byte W24 + .byte Dn5 + .byte W24 + .byte N06 , Fn5 + .byte W12 + .byte N06 + .byte W06 + .byte En5 + .byte W06 + .byte Fn5 + .byte W06 + .byte En5 + .byte W06 + .byte Fn5 + .byte W06 + .byte En5 + .byte W06 + .byte N03 , Fn5 + .byte W03 + .byte Gn5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Gn5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Gn5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Gn5 + .byte W03 + .byte Fn5 , v096 + .byte W03 + .byte Gn5 , v076 + .byte W03 + .byte Fn5 , v088 + .byte W03 + .byte Gn5 , v064 + .byte W03 + .byte Fn5 + .byte W03 + .byte Gn5 , v048 + .byte W03 + .byte Fn5 , v056 + .byte W03 + .byte Gn5 , v032 + .byte W03 + .byte VOICE , 14 + .byte VOL , 45*mus_rg_slot_mvl/mxv + .byte N24 , En5 , v120 + .byte W48 + .byte Cn5 + .byte W48 + .byte VOL , 45*mus_rg_slot_mvl/mxv + .byte N24 , Fn5 + .byte W48 + .byte Cn5 + .byte W48 + .byte Gn5 + .byte W24 + .byte En5 + .byte W24 + .byte As5 + .byte W24 + .byte Gn5 + .byte W24 + .byte Cn6 + .byte W96 + .byte GOTO + .word mus_rg_slot_5_B1 + .byte W96 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_slot_6: + .byte KEYSH , mus_rg_slot_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 49*mus_rg_slot_mvl/mxv + .byte PAN , c_v+32 + .byte W24 +mus_rg_slot_6_B1: + .byte N12 , Dn2 , v120 + .byte W24 + .byte PAN , c_v-32 + .byte W12 + .byte N06 , Gn1 + .byte W06 + .byte Gn1 , v080 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Gn2 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Cn3 + .byte W12 + .byte N24 , Cn2 + .byte W96 + .byte Fn1 + .byte W96 + .byte PAN , c_v+32 + .byte W24 + .byte N12 , Cn2 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , An1 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Gn1 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Fn1 + .byte W96 + .byte PAN , c_v+32 + .byte N12 , Gn2 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Cn2 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Gn2 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Cn2 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Gn1 + .byte W96 + .byte W96 + .byte Cn2 + .byte W96 + .byte N24 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Gn1 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Cn2 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Gn1 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Fn1 + .byte W72 + .byte PAN , c_v-32 + .byte N12 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Cn2 + .byte W96 + .byte N24 + .byte W48 + .byte PAN , c_v-32 + .byte N24 , Fn1 + .byte W48 + .byte PAN , c_v+32 + .byte N24 , As1 + .byte W96 + .byte W96 + .byte PAN , c_v-32 + .byte N24 + .byte W96 + .byte W96 + .byte PAN , c_v+32 + .byte N24 , Fn2 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Cn2 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Fn2 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte N12 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Cn2 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Fn2 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Cn2 + .byte W24 + .byte W48 + .byte N12 + .byte W48 + .byte W48 + .byte Fn1 + .byte W48 + .byte W48 + .byte PAN , c_v+32 + .byte N12 , Gn2 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Cn2 + .byte W24 + .byte W96 + .byte GOTO + .word mus_rg_slot_6_B1 + .byte W96 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_slot_7: + .byte KEYSH , mus_rg_slot_key+0 + .byte VOICE , 0 + .byte VOL , 74*mus_rg_slot_mvl/mxv + .byte W24 +mus_rg_slot_7_B1: + .byte N48 , Cs2 , v120 + .byte W48 + .byte An2 + .byte W48 + .byte Gn2 + .byte W96 + .byte An2 + .byte W96 + .byte W96 + .byte Cs2 + .byte W96 + .byte N12 + .byte W96 + .byte N48 , An2 + .byte W96 + .byte W96 + .byte N48 + .byte W96 + .byte W96 + .byte Gn2 + .byte W96 + .byte N24 , An2 + .byte W96 + .byte Gn2 + .byte W48 + .byte Cs2 + .byte W48 + .byte Bn2 + .byte W96 + .byte N48 , Cs2 + .byte W96 + .byte N24 , An2 + .byte W96 + .byte N48 , Bn2 + .byte W48 + .byte Cs2 + .byte W48 + .byte W72 + .byte N24 , An2 + .byte W24 + .byte N48 , Cs2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte An2 + .byte W96 + .byte Cs2 + .byte W96 + .byte Bn2 + .byte W96 + .byte Cs2 + .byte W96 + .byte GOTO + .word mus_rg_slot_7_B1 + .byte W96 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_slot_8: + .byte KEYSH , mus_rg_slot_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 41*mus_rg_slot_mvl/mxv + .byte W24 +mus_rg_slot_8_B1: + .byte N01 , Gn3 , v120 + .byte W36 + .byte N01 + .byte W03 + .byte Gn3 , v064 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W12 + .byte N01 + .byte W03 + .byte Gn3 , v064 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W06 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v120 + .byte W60 + .byte Gn3 , v064 + .byte W12 + .byte N01 + .byte W12 + .byte Gn3 , v120 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 +mus_rg_slot_8_000: + .byte N01 , Gn3 , v120 + .byte W06 + .byte Gn3 , v048 + .byte W06 + .byte Gn3 , v112 + .byte W12 + .byte Gn3 , v048 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v052 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W12 + .byte PEND +mus_rg_slot_8_001: + .byte N01 , Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v044 + .byte W03 + .byte Gn3 , v100 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_slot_8_000 +mus_rg_slot_8_002: + .byte N01 , Gn3 , v120 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W06 + .byte Gn3 , v040 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte N01 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_slot_8_000 + .byte N01 , Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v040 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PATT + .word mus_rg_slot_8_000 + .byte PATT + .word mus_rg_slot_8_002 +mus_rg_slot_8_003: + .byte N01 , Gn3 , v120 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W06 + .byte Gn3 , v048 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v064 + .byte W12 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte PEND +mus_rg_slot_8_004: + .byte N01 , Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v108 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v064 + .byte W12 + .byte PEND +mus_rg_slot_8_005: + .byte N01 , Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte Gn3 , v108 + .byte W12 + .byte Gn3 , v084 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte PEND + .byte N01 + .byte W12 + .byte Gn3 , v048 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v108 + .byte W06 + .byte Gn3 , v120 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PATT + .word mus_rg_slot_8_000 + .byte PATT + .word mus_rg_slot_8_002 + .byte PATT + .word mus_rg_slot_8_000 + .byte N01 , Gn3 , v120 + .byte W12 + .byte N01 + .byte W12 + .byte N01 + .byte W06 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v096 + .byte W06 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PATT + .word mus_rg_slot_8_000 + .byte PATT + .word mus_rg_slot_8_001 + .byte PATT + .word mus_rg_slot_8_000 + .byte PATT + .word mus_rg_slot_8_002 + .byte PATT + .word mus_rg_slot_8_002 + .byte PATT + .word mus_rg_slot_8_003 + .byte PATT + .word mus_rg_slot_8_004 + .byte PATT + .word mus_rg_slot_8_005 + .byte GOTO + .word mus_rg_slot_8_B1 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_slot: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_slot_pri @ Priority + .byte mus_rg_slot_rev @ Reverb. + + .word mus_rg_slot_grp + + .word mus_rg_slot_1 + .word mus_rg_slot_2 + .word mus_rg_slot_3 + .word mus_rg_slot_4 + .word mus_rg_slot_5 + .word mus_rg_slot_6 + .word mus_rg_slot_7 + .word mus_rg_slot_8 + + .end diff --git a/sound/songs/mus_rg_slowmasara.s b/sound/songs/mus_rg_slowmasara.s new file mode 100644 index 0000000000..845783ad54 --- /dev/null +++ b/sound/songs/mus_rg_slowmasara.s @@ -0,0 +1,1614 @@ + .include "MPlayDef.s" + + .equ mus_rg_slowmasara_grp, voicegroup_86AA4BC + .equ mus_rg_slowmasara_pri, 0 + .equ mus_rg_slowmasara_rev, reverb_set+50 + .equ mus_rg_slowmasara_mvl, 127 + .equ mus_rg_slowmasara_key, 0 + .equ mus_rg_slowmasara_tbs, 1 + .equ mus_rg_slowmasara_exg, 0 + .equ mus_rg_slowmasara_cmp, 1 + + .section .rodata + .global mus_rg_slowmasara + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_slowmasara_1: + .byte KEYSH , mus_rg_slowmasara_key+0 +mus_rg_slowmasara_1_B1: + .byte TEMPO , 72*mus_rg_slowmasara_tbs/2 + .byte VOICE , 5 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+32 + .byte MOD , 0 + .byte VOL , 23*mus_rg_slowmasara_mvl/mxv + .byte N24 , En3 , v108 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Fn3 + .byte W12 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , En3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Bn2 + .byte W12 + .byte Gs3 + .byte W12 + .byte N24 , An3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte W12 + .byte N12 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte N24 , En3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Fn3 + .byte W12 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte BEND , c_v+0 + .byte N24 , En3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Cn3 + .byte W12 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte BEND , c_v+0 + .byte N24 , Cn4 + .byte W06 + .byte BEND , c_v+1 + .byte W06 + .byte MOD , 4 + .byte BEND , c_v+0 + .byte W12 + .byte MOD , 0 + .byte N12 , Gn3 + .byte W12 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn3 + .byte W12 + .byte En3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte En3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn3 + .byte W12 + .byte En3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte An3 + .byte W12 + .byte Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte An3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte GOTO + .word mus_rg_slowmasara_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_slowmasara_2: + .byte KEYSH , mus_rg_slowmasara_key+0 +mus_rg_slowmasara_2_B1: + .byte VOICE , 80 + .byte PAN , c_v+0 + .byte LFOS , 44 + .byte BENDR , 12 + .byte MOD , 0 + .byte VOL , 81*mus_rg_slowmasara_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Gn5 , v040 + .byte W12 + .byte Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn6 , v024 + .byte W12 + .byte An5 , v040 + .byte W12 + .byte Bn5 + .byte W12 + .byte An5 + .byte W12 + .byte N36 , Gn5 , v028 + .byte W12 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N12 , En5 , v040 + .byte W12 + .byte Cn5 + .byte W12 + .byte N12 + .byte W12 + .byte Dn5 + .byte W12 + .byte En5 + .byte W12 + .byte N60 , Fn5 + .byte W15 + .byte MOD , 4 + .byte W44 + .byte W01 + .byte 0 + .byte N12 , Bn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Dn5 + .byte W12 + .byte N36 , En5 + .byte W12 + .byte MOD , 3 + .byte W24 + .byte N06 , Fn5 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N06 , En5 + .byte W06 + .byte N48 , Dn5 + .byte W09 + .byte MOD , 4 + .byte W36 + .byte W03 + .byte 0 + .byte N12 , Gn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Cn6 , v024 + .byte W12 + .byte Bn5 , v040 + .byte W12 + .byte Bn5 , v028 + .byte W12 + .byte Cn6 , v032 + .byte W12 + .byte N36 , An5 , v040 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N12 , Gn5 + .byte W12 + .byte N48 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N12 , Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte N60 , Cn5 + .byte W12 + .byte MOD , 5 + .byte W48 + .byte VOICE , 83 + .byte MOD , 0 + .byte N12 + .byte W12 + .byte Dn5 + .byte W12 + .byte En5 + .byte W12 + .byte LFOS , 50 + .byte N48 , Fn5 + .byte W12 + .byte MOD , 5 + .byte VOL , 81*mus_rg_slowmasara_mvl/mxv + .byte W12 + .byte 70*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 57*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 42*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 23*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 92*mus_rg_slowmasara_mvl/mxv + .byte N36 , Gn5 , v032 + .byte W12 + .byte MOD , 5 + .byte VOL , 81*mus_rg_slowmasara_mvl/mxv + .byte W12 + .byte 70*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 57*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 92*mus_rg_slowmasara_mvl/mxv + .byte N12 , Fn5 , v040 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte N48 , En5 + .byte W12 + .byte MOD , 5 + .byte VOL , 81*mus_rg_slowmasara_mvl/mxv + .byte W12 + .byte 70*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 57*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 42*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 23*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 92*mus_rg_slowmasara_mvl/mxv + .byte W12 + .byte N12 , Cn5 + .byte W12 + .byte Dn5 + .byte W12 + .byte En5 + .byte W12 + .byte N06 , Fn5 + .byte W24 + .byte N24 + .byte W12 + .byte VOL , 81*mus_rg_slowmasara_mvl/mxv + .byte W12 + .byte 92*mus_rg_slowmasara_mvl/mxv + .byte N36 , Gn5 , v032 + .byte W12 + .byte MOD , 5 + .byte W03 + .byte VOL , 81*mus_rg_slowmasara_mvl/mxv + .byte W09 + .byte 73*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 60*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 92*mus_rg_slowmasara_mvl/mxv + .byte N06 , Fn5 , v040 + .byte W06 + .byte Gn5 , v028 + .byte W06 + .byte N48 , En5 , v040 + .byte W12 + .byte MOD , 5 + .byte VOL , 81*mus_rg_slowmasara_mvl/mxv + .byte W12 + .byte 75*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 57*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 42*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 29*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W06 + .byte VOL , 92*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte N12 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte N48 , Dn5 + .byte W12 + .byte MOD , 5 + .byte VOL , 81*mus_rg_slowmasara_mvl/mxv + .byte W12 + .byte 77*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 59*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 46*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 30*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 92*mus_rg_slowmasara_mvl/mxv + .byte N24 , An4 + .byte W12 + .byte VOL , 81*mus_rg_slowmasara_mvl/mxv + .byte W12 + .byte 92*mus_rg_slowmasara_mvl/mxv + .byte N18 , En5 + .byte W12 + .byte VOL , 81*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte N06 , Ds5 , v024 + .byte W06 + .byte VOL , 92*mus_rg_slowmasara_mvl/mxv + .byte N48 , Dn5 , v040 + .byte W12 + .byte MOD , 4 + .byte VOL , 81*mus_rg_slowmasara_mvl/mxv + .byte W12 + .byte 75*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 57*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 42*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 30*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 92*mus_rg_slowmasara_mvl/mxv + .byte N24 , Cn5 + .byte W24 + .byte An4 + .byte W24 + .byte N48 , Bn4 + .byte W12 + .byte MOD , 4 + .byte W03 + .byte VOL , 81*mus_rg_slowmasara_mvl/mxv + .byte W09 + .byte 74*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 57*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 40*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 25*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 92*mus_rg_slowmasara_mvl/mxv + .byte N24 , Cn5 + .byte W12 + .byte VOL , 76*mus_rg_slowmasara_mvl/mxv + .byte W12 + .byte 92*mus_rg_slowmasara_mvl/mxv + .byte N24 , En5 + .byte W09 + .byte VOL , 81*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 58*mus_rg_slowmasara_mvl/mxv + .byte W09 + .byte 46*mus_rg_slowmasara_mvl/mxv + .byte N42 + .byte W12 + .byte MOD , 5 + .byte W06 + .byte VOL , 63*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 79*mus_rg_slowmasara_mvl/mxv + .byte W09 + .byte 92*mus_rg_slowmasara_mvl/mxv + .byte W09 + .byte N06 , Ds5 , v016 + .byte W06 + .byte MOD , 0 + .byte VOL , 92*mus_rg_slowmasara_mvl/mxv + .byte N36 , Dn5 , v028 + .byte W12 + .byte VOL , 81*mus_rg_slowmasara_mvl/mxv + .byte W03 + .byte MOD , 4 + .byte W03 + .byte 5 + .byte W06 + .byte VOL , 67*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 39*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte VOICE , 80 + .byte MOD , 0 + .byte N06 , En5 , v012 + .byte W03 + .byte VOL , 91*mus_rg_slowmasara_mvl/mxv + .byte W03 + .byte N06 , Fn5 , v016 + .byte W06 + .byte GOTO + .word mus_rg_slowmasara_2_B1 + .byte MOD , 0 + .byte VOL , 92*mus_rg_slowmasara_mvl/mxv + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_slowmasara_3: + .byte KEYSH , mus_rg_slowmasara_key+0 +mus_rg_slowmasara_3_B1: + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-40 + .byte VOL , 37*mus_rg_slowmasara_mvl/mxv + .byte N36 , Cn4 , v127 + .byte W36 + .byte An3 + .byte W36 + .byte N24 , Bn3 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte N03 , Cn4 , v112 + .byte W12 + .byte N12 , Bn3 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte N12 , En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte N24 , An3 + .byte W24 + .byte N06 , Dn4 + .byte W12 + .byte N12 , Cn4 + .byte W36 + .byte An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte An3 + .byte W24 + .byte Cn4 + .byte W24 + .byte Bn3 + .byte W24 + .byte Gn3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn3 + .byte W06 + .byte BEND , c_v-6 + .byte W06 + .byte c_v+0 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Gn3 + .byte W12 + .byte N06 , En3 + .byte W06 + .byte Bn3 + .byte W12 + .byte Gn3 + .byte W06 + .byte N12 , En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte Dn4 + .byte W24 + .byte Fn4 + .byte W24 + .byte N12 , Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N36 , Fn3 + .byte W36 + .byte N12 , Dn3 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte Gn3 + .byte W24 + .byte N12 , Fn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte N12 , Cn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte N06 , Bn3 + .byte W12 + .byte N12 , Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte N12 , Cn3 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte N12 , Cn3 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte N12 , Cn3 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte N12 , Cn3 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte N06 , Gs3 + .byte W12 + .byte N12 , Cn3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte N12 , Cn3 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte N12 , Cn3 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte N12 , Cn3 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte N12 , Cn3 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte N12 , An2 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N12 , Fs2 + .byte W12 + .byte Cn3 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte N12 , Cn3 + .byte W12 + .byte N06 , Cn4 + .byte W12 + .byte N12 , Dn3 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte An3 + .byte W12 + .byte N12 , Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte N12 , Cn3 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte N12 , Fn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte N06 , Cn4 + .byte W06 + .byte Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Dn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte GOTO + .word mus_rg_slowmasara_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_slowmasara_4: + .byte KEYSH , mus_rg_slowmasara_key+0 +mus_rg_slowmasara_4_B1: + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte MOD , 0 + .byte PAN , c_v-5 + .byte VOL , 46*mus_rg_slowmasara_mvl/mxv + .byte N24 , Cn2 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte W12 + .byte N12 , Cn2 , v096 + .byte W12 + .byte N24 , Fn2 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N12 , Dn2 , v096 + .byte W12 + .byte Ds2 + .byte W12 + .byte N24 , En2 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte W12 + .byte N12 , Bn1 , v096 + .byte W12 + .byte An2 , v108 + .byte W12 + .byte En2 , v096 + .byte W12 + .byte An1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N24 , Fn2 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte Gn2 , v096 + .byte W12 + .byte Bn2 + .byte W12 + .byte N24 , Gn1 + .byte W24 + .byte Cn2 , v112 + .byte W24 + .byte Fn2 , v096 + .byte W24 + .byte BEND , c_v+0 + .byte N24 , Gn2 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , Gn1 , v092 + .byte W03 + .byte BEND , c_v-3 + .byte W03 + .byte c_v+0 + .byte W06 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , Cn2 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte W12 + .byte N12 , Gn1 , v096 + .byte W12 + .byte N24 , Fn2 , v112 + .byte W24 + .byte N12 , En2 , v096 + .byte W12 + .byte Dn2 + .byte W12 + .byte Cn2 , v112 + .byte W36 + .byte Bn1 , v096 + .byte W12 + .byte En2 , v112 + .byte W12 + .byte Bn2 , v096 + .byte W12 + .byte Gn2 , v112 + .byte W12 + .byte Dn2 , v096 + .byte W12 + .byte N24 , Fn2 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , Dn2 , v096 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , Gn1 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , Bn1 , v096 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N72 , Cn2 , v112 + .byte W12 + .byte MOD , 11 + .byte W60 + .byte 0 + .byte N24 , En2 , v096 + .byte W24 + .byte N48 , Fn1 , v112 + .byte W12 + .byte MOD , 11 + .byte W36 + .byte 0 + .byte N36 , Gn1 + .byte W12 + .byte MOD , 11 + .byte W24 + .byte 0 + .byte N12 , Bn1 , v096 + .byte W12 + .byte N48 , Cn2 , v112 + .byte W12 + .byte MOD , 11 + .byte W36 + .byte 0 + .byte N24 , An1 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , En1 , v096 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N48 , Fn1 , v112 + .byte W12 + .byte MOD , 11 + .byte W36 + .byte 0 + .byte N36 , Gs1 + .byte W36 + .byte N12 , Cn2 , v096 + .byte W12 + .byte N24 , An1 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , Gs1 , v096 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , Gn1 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , Fs1 , v096 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte N24 , Fn1 , v112 + .byte W12 + .byte MOD , 11 + .byte W12 + .byte 0 + .byte W12 + .byte N12 , Fn1 , v096 + .byte W12 + .byte MOD , 11 + .byte N12 , Fn1 , v112 + .byte W12 + .byte MOD , 0 + .byte W24 + .byte N12 , Cn2 , v096 + .byte W12 + .byte BEND , c_v+0 + .byte N12 , Fs1 , v112 + .byte W36 + .byte Fs1 , v096 + .byte W12 + .byte Fs1 , v112 + .byte W12 + .byte Cn2 , v096 + .byte W24 + .byte An1 + .byte W12 + .byte BEND , c_v+0 + .byte N12 , Gn1 , v112 + .byte W36 + .byte Gn1 , v096 + .byte W12 + .byte Gn1 , v112 + .byte W36 + .byte Gn1 , v096 + .byte W12 + .byte W12 + .byte Gn1 , v112 + .byte W24 + .byte Gn1 , v096 + .byte W12 + .byte Gn1 , v112 + .byte W12 + .byte Gn1 , v096 + .byte W24 + .byte Gn1 , v112 + .byte W12 + .byte GOTO + .word mus_rg_slowmasara_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_slowmasara_5: + .byte KEYSH , mus_rg_slowmasara_key+0 +mus_rg_slowmasara_5_B1: + .byte VOICE , 4 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 37*mus_rg_slowmasara_mvl/mxv + .byte PAN , c_v-21 + .byte N36 , En3 , v112 + .byte W36 + .byte Fn3 + .byte W36 + .byte N12 , Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte N03 , Gn3 + .byte W24 + .byte N06 , Bn3 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte En3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , Cn3 + .byte W24 + .byte N06 , Fn3 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Dn3 + .byte W24 + .byte N24 + .byte W24 + .byte Cn3 + .byte W24 + .byte N24 + .byte W24 + .byte Dn3 + .byte W24 + .byte Fn3 + .byte W24 + .byte N36 , Cn3 + .byte W36 + .byte N12 , Bn2 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte N12 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Bn2 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte An3 + .byte W24 + .byte Bn3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N36 , Cn3 + .byte W36 + .byte N12 , Gn2 + .byte W12 + .byte N24 , Cn3 + .byte W24 + .byte N24 + .byte W24 + .byte W24 + .byte N06 , Fn3 + .byte W48 + .byte Gn3 + .byte W24 + .byte W24 + .byte An3 + .byte W24 + .byte N06 + .byte W24 + .byte En3 + .byte W24 + .byte W24 + .byte Fn3 + .byte W48 + .byte N06 + .byte W24 + .byte W24 + .byte Gs3 + .byte W24 + .byte Gn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte W24 + .byte Fn3 + .byte W24 + .byte An3 + .byte W24 + .byte Fn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte W24 + .byte Fs3 + .byte W24 + .byte An3 + .byte W24 + .byte Cn4 + .byte W12 + .byte Fs3 + .byte W12 + .byte W24 + .byte Dn3 + .byte W48 + .byte Fn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte W24 + .byte Fn3 + .byte W24 + .byte Bn3 + .byte W12 + .byte Fn3 + .byte W24 + .byte Gn3 + .byte W12 + .byte GOTO + .word mus_rg_slowmasara_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_slowmasara_6: + .byte KEYSH , mus_rg_slowmasara_key+0 +mus_rg_slowmasara_6_B1: + .byte VOICE , 4 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte VOL , 34*mus_rg_slowmasara_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Gn5 , v120 + .byte W12 + .byte Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn6 + .byte W12 + .byte An5 + .byte W12 + .byte Bn5 + .byte W12 + .byte An5 + .byte W12 + .byte N36 , Gn5 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N12 , En5 + .byte W12 + .byte Cn5 + .byte W12 + .byte N12 + .byte W12 + .byte Dn5 + .byte W12 + .byte En5 + .byte W12 + .byte N60 , Fn5 + .byte W15 + .byte MOD , 6 + .byte W44 + .byte W01 + .byte 0 + .byte N12 , Bn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Dn5 + .byte W12 + .byte N36 , En5 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte N06 , Fn5 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N06 , En5 + .byte W06 + .byte N48 , Dn5 + .byte W09 + .byte MOD , 6 + .byte W36 + .byte W03 + .byte 0 + .byte N12 , Gn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Cn6 + .byte W12 + .byte Bn5 + .byte W12 + .byte N12 + .byte W12 + .byte Cn6 + .byte W12 + .byte N36 , An5 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N12 , Gn5 + .byte W12 + .byte N48 + .byte W12 + .byte MOD , 6 + .byte W36 + .byte 0 + .byte N12 , Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte N60 , Cn5 + .byte W12 + .byte MOD , 6 + .byte W48 + .byte VOICE , 48 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N12 , Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte N48 , Fn4 + .byte W12 + .byte MOD , 6 + .byte W03 + .byte VOL , 28*mus_rg_slowmasara_mvl/mxv + .byte W09 + .byte 23*mus_rg_slowmasara_mvl/mxv + .byte W09 + .byte 17*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 10*mus_rg_slowmasara_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 34*mus_rg_slowmasara_mvl/mxv + .byte N36 , Gn4 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 23*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 17*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 11*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 34*mus_rg_slowmasara_mvl/mxv + .byte N12 , Fn4 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte N48 , En4 + .byte W12 + .byte MOD , 6 + .byte VOL , 29*mus_rg_slowmasara_mvl/mxv + .byte W12 + .byte 23*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 18*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 11*mus_rg_slowmasara_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte W06 + .byte VOL , 34*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte N06 , Fn4 + .byte W24 + .byte N24 + .byte W24 + .byte N36 , Gn4 + .byte W12 + .byte MOD , 6 + .byte VOL , 28*mus_rg_slowmasara_mvl/mxv + .byte W12 + .byte 23*mus_rg_slowmasara_mvl/mxv + .byte W09 + .byte 34*mus_rg_slowmasara_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte N06 , Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N48 , En4 + .byte W12 + .byte MOD , 6 + .byte VOL , 29*mus_rg_slowmasara_mvl/mxv + .byte W12 + .byte 23*mus_rg_slowmasara_mvl/mxv + .byte W09 + .byte 16*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 11*mus_rg_slowmasara_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 34*mus_rg_slowmasara_mvl/mxv + .byte W12 + .byte N12 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte N48 , Dn4 + .byte W09 + .byte VOL , 28*mus_rg_slowmasara_mvl/mxv + .byte W03 + .byte MOD , 6 + .byte W03 + .byte VOL , 23*mus_rg_slowmasara_mvl/mxv + .byte W09 + .byte 17*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 11*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 7*mus_rg_slowmasara_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 34*mus_rg_slowmasara_mvl/mxv + .byte N24 , An3 + .byte W24 + .byte N18 , En4 + .byte W18 + .byte N06 , Ds4 , v088 + .byte W06 + .byte N48 , Dn4 , v120 + .byte W12 + .byte MOD , 4 + .byte VOL , 28*mus_rg_slowmasara_mvl/mxv + .byte W12 + .byte 23*mus_rg_slowmasara_mvl/mxv + .byte W09 + .byte 17*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 10*mus_rg_slowmasara_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 34*mus_rg_slowmasara_mvl/mxv + .byte N24 , Cn4 + .byte W24 + .byte An3 + .byte W24 + .byte N48 , Bn3 + .byte W12 + .byte MOD , 6 + .byte VOL , 26*mus_rg_slowmasara_mvl/mxv + .byte W12 + .byte 23*mus_rg_slowmasara_mvl/mxv + .byte W09 + .byte 17*mus_rg_slowmasara_mvl/mxv + .byte W09 + .byte 11*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 34*mus_rg_slowmasara_mvl/mxv + .byte N24 , Cn4 + .byte W24 + .byte VOL , 34*mus_rg_slowmasara_mvl/mxv + .byte N24 , En4 + .byte W12 + .byte VOL , 28*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 22*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 17*mus_rg_slowmasara_mvl/mxv + .byte MOD , 5 + .byte N42 + .byte W09 + .byte VOL , 19*mus_rg_slowmasara_mvl/mxv + .byte W09 + .byte 23*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 34*mus_rg_slowmasara_mvl/mxv + .byte W18 + .byte MOD , 0 + .byte N06 , Ds4 , v088 + .byte W06 + .byte MOD , 0 + .byte N36 , Dn4 , v104 + .byte W09 + .byte VOL , 27*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte MOD , 6 + .byte VOL , 20*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 14*mus_rg_slowmasara_mvl/mxv + .byte W06 + .byte 9*mus_rg_slowmasara_mvl/mxv + .byte W09 + .byte VOICE , 4 + .byte VOL , 30*mus_rg_slowmasara_mvl/mxv + .byte MOD , 0 + .byte N06 , En5 , v068 + .byte W06 + .byte Fn5 , v080 + .byte W06 + .byte GOTO + .word mus_rg_slowmasara_6_B1 + .byte MOD , 0 + .byte VOL , 34*mus_rg_slowmasara_mvl/mxv + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_slowmasara: + .byte 6 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_slowmasara_pri @ Priority + .byte mus_rg_slowmasara_rev @ Reverb. + + .word mus_rg_slowmasara_grp + + .word mus_rg_slowmasara_1 + .word mus_rg_slowmasara_2 + .word mus_rg_slowmasara_3 + .word mus_rg_slowmasara_4 + .word mus_rg_slowmasara_5 + .word mus_rg_slowmasara_6 + + .end diff --git a/sound/songs/mus_rg_sousa.s b/sound/songs/mus_rg_sousa.s new file mode 100644 index 0000000000..30f50b5c2e --- /dev/null +++ b/sound/songs/mus_rg_sousa.s @@ -0,0 +1,115 @@ + .include "MPlayDef.s" + + .equ mus_rg_sousa_grp, voicegroup_86B1824 + .equ mus_rg_sousa_pri, 0 + .equ mus_rg_sousa_rev, reverb_set+50 + .equ mus_rg_sousa_mvl, 127 + .equ mus_rg_sousa_key, 0 + .equ mus_rg_sousa_tbs, 1 + .equ mus_rg_sousa_exg, 0 + .equ mus_rg_sousa_cmp, 1 + + .section .rodata + .global mus_rg_sousa + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_sousa_1: + .byte KEYSH , mus_rg_sousa_key+0 + .byte TEMPO , 120*mus_rg_sousa_tbs/2 + .byte VOICE , 0 + .byte VOL , 85*mus_rg_sousa_mvl/mxv + .byte N03 , En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 +mus_rg_sousa_1_B1: +mus_rg_sousa_1_000: + .byte N06 , En1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte En1 , v120 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND +mus_rg_sousa_1_001: + .byte N06 , En1 , v120 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte En1 , v120 + .byte W12 + .byte N03 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_sousa_1_000 + .byte PATT + .word mus_rg_sousa_1_001 + .byte GOTO + .word mus_rg_sousa_1_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_sousa: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_sousa_pri @ Priority + .byte mus_rg_sousa_rev @ Reverb. + + .word mus_rg_sousa_grp + + .word mus_rg_sousa_1 + + .end diff --git a/sound/songs/mus_rg_t_mori.s b/sound/songs/mus_rg_t_mori.s new file mode 100644 index 0000000000..baea4b4020 --- /dev/null +++ b/sound/songs/mus_rg_t_mori.s @@ -0,0 +1,3037 @@ + .include "MPlayDef.s" + + .equ mus_rg_t_mori_grp, voicegroup_86A5DF4 + .equ mus_rg_t_mori_pri, 0 + .equ mus_rg_t_mori_rev, reverb_set+50 + .equ mus_rg_t_mori_mvl, 127 + .equ mus_rg_t_mori_key, 0 + .equ mus_rg_t_mori_tbs, 1 + .equ mus_rg_t_mori_exg, 0 + .equ mus_rg_t_mori_cmp, 1 + + .section .rodata + .global mus_rg_t_mori + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_t_mori_1: + .byte KEYSH , mus_rg_t_mori_key+0 + .byte TEMPO , 128*mus_rg_t_mori_tbs/2 + .byte VOICE , 13 + .byte PAN , c_v+0 + .byte VOL , 82*mus_rg_t_mori_mvl/mxv + .byte W12 +mus_rg_t_mori_1_B1: + .byte VOL , 82*mus_rg_t_mori_mvl/mxv + .byte N24 , En4 , v127 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v048 + .byte W24 + .byte As4 , v127 + .byte W24 + .byte As4 , v080 + .byte W24 + .byte As4 , v068 + .byte W24 + .byte As4 , v052 + .byte W24 + .byte En4 , v127 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v052 + .byte W24 + .byte Cs5 , v127 + .byte W24 + .byte Cs5 , v084 + .byte W24 + .byte Cs5 , v068 + .byte W24 + .byte Cs5 , v052 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , En3 , v127 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , En3 , v080 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , En3 , v064 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , En3 , v048 + .byte W24 + .byte As3 , v127 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , As3 , v080 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , As3 , v064 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , As3 , v048 + .byte W24 + .byte N12 , Gn2 , v120 + .byte W12 + .byte N24 , As2 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte PAN , c_v-16 + .byte N24 , Cs3 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N24 , Cs3 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Gn2 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N12 , Fs2 + .byte W12 + .byte PAN , c_v+0 + .byte W02 + .byte N24 , En4 , v127 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v052 + .byte W22 + .byte W02 + .byte As4 , v127 + .byte W24 + .byte As4 , v080 + .byte W24 + .byte As4 , v064 + .byte W24 + .byte As4 , v048 + .byte W22 + .byte W02 + .byte En4 , v127 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v048 + .byte W22 + .byte W02 + .byte Cs5 , v127 + .byte W24 + .byte N22 , Cs5 , v080 + .byte W23 + .byte N24 , Cs5 , v064 + .byte W24 + .byte N22 , Cs5 , v048 + .byte W23 + .byte PAN , c_v-32 + .byte N24 , En3 , v127 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , En3 , v080 + .byte W24 + .byte PAN , c_v-32 + .byte N24 + .byte W24 + .byte PAN , c_v+32 + .byte N24 + .byte W24 + .byte As3 , v127 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , As3 , v080 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , As3 , v064 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , As3 , v052 + .byte W24 +mus_rg_t_mori_1_000: + .byte PAN , c_v+31 + .byte N12 , Gn2 , v120 + .byte W12 + .byte N24 , As2 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte PAN , c_v+16 + .byte N24 , Cs3 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte PEND + .byte PAN , c_v-16 + .byte N12 , Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N24 , Cs3 + .byte W24 + .byte PAN , c_v-33 + .byte N12 , Gn2 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N12 , Fs2 + .byte W12 + .byte PAN , c_v-32 + .byte N96 , En3 + .byte W96 +mus_rg_t_mori_1_001: + .byte PAN , c_v+32 + .byte N96 , Cn3 , v120 + .byte W96 + .byte PEND +mus_rg_t_mori_1_002: + .byte PAN , c_v-32 + .byte N96 , Dn3 , v120 + .byte W96 + .byte PEND +mus_rg_t_mori_1_003: + .byte PAN , c_v+32 + .byte N96 , As2 , v120 + .byte W96 + .byte PEND + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+0 + .byte VOL , 68*mus_rg_t_mori_mvl/mxv + .byte N24 , En4 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v048 + .byte W24 +mus_rg_t_mori_1_004: + .byte N24 , As4 , v120 + .byte W24 + .byte As4 , v080 + .byte W24 + .byte As4 , v064 + .byte W24 + .byte As4 , v048 + .byte W24 + .byte PEND +mus_rg_t_mori_1_005: + .byte N24 , En4 , v120 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v048 + .byte W24 + .byte PEND +mus_rg_t_mori_1_006: + .byte N24 , Cs5 , v120 + .byte W24 + .byte Cs5 , v080 + .byte W24 + .byte Cs5 , v064 + .byte W24 + .byte Cs5 , v048 + .byte W24 + .byte PEND + .byte En3 , v120 + .byte W24 + .byte En3 , v080 + .byte W24 + .byte En3 , v064 + .byte W24 + .byte En3 , v048 + .byte W24 +mus_rg_t_mori_1_007: + .byte N24 , As3 , v120 + .byte W24 + .byte As3 , v080 + .byte W24 + .byte As3 , v064 + .byte W24 + .byte As3 , v048 + .byte W24 + .byte PEND + .byte PAN , c_v-32 + .byte N12 , Gn2 , v120 + .byte W12 + .byte N24 , As2 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte PAN , c_v-16 + .byte N24 , Cs3 + .byte W24 + .byte N12 , Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N24 , Cs3 + .byte W24 + .byte PAN , c_v+31 + .byte N12 , Gn2 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N12 , Fs2 + .byte W12 + .byte PAN , c_v+0 + .byte VOL , 79*mus_rg_t_mori_mvl/mxv + .byte N24 , En4 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v048 + .byte W24 + .byte PATT + .word mus_rg_t_mori_1_004 + .byte PATT + .word mus_rg_t_mori_1_005 + .byte PATT + .word mus_rg_t_mori_1_006 + .byte VOL , 84*mus_rg_t_mori_mvl/mxv + .byte N24 , En3 , v120 + .byte W24 + .byte En3 , v080 + .byte W24 + .byte En3 , v064 + .byte W24 + .byte En3 , v048 + .byte W24 + .byte PATT + .word mus_rg_t_mori_1_007 + .byte PATT + .word mus_rg_t_mori_1_000 + .byte PAN , c_v-16 + .byte N12 , Bn2 , v120 + .byte W12 + .byte Gn2 + .byte W12 + .byte N24 , Cs3 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Gn2 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N12 , Fs2 + .byte W12 + .byte PAN , c_v-32 + .byte VOL , 68*mus_rg_t_mori_mvl/mxv + .byte N96 , En3 + .byte W96 + .byte PATT + .word mus_rg_t_mori_1_001 + .byte PATT + .word mus_rg_t_mori_1_002 + .byte PATT + .word mus_rg_t_mori_1_003 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v-32 + .byte VOL , 68*mus_rg_t_mori_mvl/mxv + .byte N96 , En4 , v120 + .byte W96 +mus_rg_t_mori_1_008: + .byte PAN , c_v+32 + .byte N96 , Dn4 , v120 + .byte W96 + .byte PEND + .byte PAN , c_v-32 + .byte N96 , Cn4 + .byte W96 + .byte PATT + .word mus_rg_t_mori_1_008 + .byte GOTO + .word mus_rg_t_mori_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_t_mori_2: + .byte KEYSH , mus_rg_t_mori_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-16 + .byte VOL , 72*mus_rg_t_mori_mvl/mxv + .byte W12 +mus_rg_t_mori_2_B1: + .byte PAN , c_v-32 + .byte VOL , 72*mus_rg_t_mori_mvl/mxv + .byte N24 , En3 , v120 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , En3 , v064 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , En3 , v048 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , En3 , v032 + .byte W24 +mus_rg_t_mori_2_000: + .byte N24 , Cn3 , v120 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Cn3 , v064 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , Cn3 , v048 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Cn3 , v032 + .byte W24 + .byte PEND + .byte PAN , c_v-32 + .byte N24 , En3 , v120 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , En3 , v064 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , En3 , v048 + .byte W24 + .byte PAN , c_v+16 + .byte N24 , En3 , v032 + .byte W24 + .byte PATT + .word mus_rg_t_mori_2_000 + .byte PAN , c_v+0 + .byte VOL , 64*mus_rg_t_mori_mvl/mxv + .byte N24 , Bn3 , v120 + .byte W24 + .byte Bn3 , v064 + .byte W24 + .byte Bn3 , v048 + .byte W24 + .byte Bn3 , v032 + .byte W24 + .byte Fs4 , v120 + .byte W24 + .byte Fs4 , v080 + .byte W24 + .byte Fs4 , v064 + .byte W24 + .byte Fs4 , v048 + .byte W24 + .byte Dn4 , v120 + .byte W24 + .byte Dn4 , v080 + .byte W24 + .byte Dn4 , v064 + .byte W24 + .byte Dn4 , v048 + .byte W24 + .byte Gn4 , v120 + .byte W24 + .byte Gn4 , v080 + .byte W24 + .byte Gn4 , v064 + .byte W24 + .byte Fs4 , v120 + .byte W24 + .byte PAN , c_v-32 + .byte VOL , 72*mus_rg_t_mori_mvl/mxv + .byte N24 , En3 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , En3 , v080 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , En3 , v064 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , En3 , v052 + .byte W24 +mus_rg_t_mori_2_001: + .byte N24 , Cn3 , v120 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Cn3 , v080 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Cn3 , v064 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Cn3 , v048 + .byte W24 + .byte PEND + .byte En3 , v120 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , En3 , v080 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , En3 , v064 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , En3 , v048 + .byte W24 + .byte PATT + .word mus_rg_t_mori_2_001 + .byte PAN , c_v+0 + .byte VOL , 64*mus_rg_t_mori_mvl/mxv + .byte W02 + .byte N24 , Bn3 , v120 + .byte W24 + .byte Bn3 , v080 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W22 + .byte W02 + .byte Fs4 , v120 + .byte W24 + .byte Fs4 , v080 + .byte W24 + .byte Fs4 , v064 + .byte W24 + .byte Fs4 , v052 + .byte W22 + .byte W02 + .byte Dn4 , v120 + .byte W24 + .byte Dn4 , v080 + .byte W24 + .byte Dn4 , v064 + .byte W24 + .byte Dn4 , v044 + .byte W22 + .byte W02 + .byte Gn4 , v120 + .byte W24 + .byte Gn4 , v080 + .byte W24 + .byte Gn4 , v056 + .byte W23 + .byte N21 , Fs4 , v120 + .byte W23 + .byte PAN , c_v-32 + .byte VOL , 72*mus_rg_t_mori_mvl/mxv + .byte N12 , En3 + .byte W12 + .byte Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte En3 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En5 , v060 + .byte W24 + .byte Ds5 , v056 + .byte W24 + .byte Dn5 + .byte W24 + .byte Cs5 + .byte W12 + .byte Cn5 + .byte W12 + .byte En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , As3 , v120 + .byte W12 + .byte Cs3 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Gn5 , v056 + .byte W24 + .byte Fs5 + .byte W24 + .byte Fn5 + .byte W24 + .byte En5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+0 + .byte VOL , 65*mus_rg_t_mori_mvl/mxv + .byte N96 , En4 , v120 + .byte W96 + .byte Dn4 + .byte W96 + .byte Cn4 + .byte W96 + .byte Dn4 + .byte W96 + .byte VOL , 72*mus_rg_t_mori_mvl/mxv + .byte PAN , c_v-48 + .byte N24 , En3 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , En3 , v080 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , En3 , v064 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , En3 , v048 + .byte W24 +mus_rg_t_mori_2_002: + .byte N24 , Cn3 , v120 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Cn3 , v080 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Cn3 , v064 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Cn3 , v048 + .byte W24 + .byte PEND +mus_rg_t_mori_2_003: + .byte N24 , En3 , v120 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , En3 , v080 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , En3 , v064 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , En3 , v048 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_t_mori_2_002 + .byte PAN , c_v-1 + .byte VOL , 64*mus_rg_t_mori_mvl/mxv + .byte N24 , Bn3 , v120 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Bn3 , v080 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Bn3 , v064 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Bn3 , v048 + .byte W24 +mus_rg_t_mori_2_004: + .byte PAN , c_v+0 + .byte N24 , Fs4 , v120 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Fs4 , v080 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Fs4 , v064 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Fs4 , v048 + .byte W24 + .byte PEND + .byte PAN , c_v-1 + .byte N24 , Dn4 , v120 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Dn4 , v060 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Dn4 , v040 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Dn4 , v020 + .byte W24 + .byte PAN , c_v+0 + .byte N24 , Gn4 , v120 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Gn4 , v052 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Gn4 , v028 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Fs4 , v016 + .byte W24 + .byte VOL , 76*mus_rg_t_mori_mvl/mxv + .byte N24 , En3 , v120 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , En3 , v080 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , En3 , v064 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , En3 , v048 + .byte W24 + .byte PATT + .word mus_rg_t_mori_2_002 + .byte PATT + .word mus_rg_t_mori_2_003 + .byte PATT + .word mus_rg_t_mori_2_002 + .byte VOL , 68*mus_rg_t_mori_mvl/mxv + .byte PAN , c_v+0 + .byte N24 , Bn3 , v120 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Bn3 , v080 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Bn3 , v064 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Bn3 , v048 + .byte W24 + .byte PATT + .word mus_rg_t_mori_2_004 + .byte PAN , c_v+0 + .byte N24 , Dn4 , v120 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Dn4 , v052 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Dn4 , v032 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Dn4 , v016 + .byte W24 + .byte PAN , c_v-1 + .byte N24 , Gn4 , v120 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Gn4 , v056 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Gn4 , v032 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Fs4 , v016 + .byte W24 + .byte VOICE , 78 + .byte VOL , 75*mus_rg_t_mori_mvl/mxv + .byte PAN , c_v-1 + .byte N06 , En2 , v112 + .byte W12 + .byte Gn2 + .byte W12 + .byte En2 + .byte W12 + .byte Ds2 + .byte W12 + .byte En2 + .byte W12 + .byte N06 + .byte W12 + .byte VOICE , 13 + .byte N03 , En4 , v108 + .byte W24 + .byte Ds4 , v096 + .byte W24 + .byte Dn4 + .byte W24 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte En3 + .byte W12 + .byte Gn3 + .byte W12 + .byte VOICE , 78 + .byte N06 , As2 , v112 + .byte W12 + .byte Cs2 + .byte W12 + .byte As2 + .byte W12 + .byte An2 + .byte W12 + .byte As2 + .byte W12 + .byte Gn2 + .byte W12 + .byte VOICE , 13 + .byte N03 , Gn4 , v096 + .byte W24 + .byte Fs4 + .byte W24 + .byte Fn4 + .byte W24 + .byte En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte VOICE , 24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_t_mori_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_t_mori_3: + .byte KEYSH , mus_rg_t_mori_key+0 + .byte VOICE , 13 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_t_mori_mvl/mxv + .byte W12 +mus_rg_t_mori_3_B1: + .byte VOL , 90*mus_rg_t_mori_mvl/mxv + .byte N12 , En2 , v120 + .byte W36 + .byte N06 , En1 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Fs2 , v120 + .byte W24 +mus_rg_t_mori_3_000: + .byte N12 , En2 , v120 + .byte W36 + .byte N06 , En1 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Fs2 , v120 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_t_mori_3_000 + .byte PATT + .word mus_rg_t_mori_3_000 + .byte PATT + .word mus_rg_t_mori_3_000 + .byte PATT + .word mus_rg_t_mori_3_000 + .byte N12 , En2 , v120 + .byte W36 + .byte N06 , En1 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Fs2 , v120 + .byte W21 + .byte BEND , c_v-1 + .byte W03 + .byte c_v+0 + .byte N12 , En2 + .byte W36 + .byte N06 , En1 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Fs2 , v120 + .byte W24 +mus_rg_t_mori_3_001: + .byte N12 , En2 , v120 + .byte W36 + .byte N06 , En1 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , En2 , v120 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v-6 + .byte W06 + .byte PEND +mus_rg_t_mori_3_002: + .byte BEND , c_v+0 + .byte N12 , En2 , v120 + .byte W36 + .byte N06 , En1 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Fs2 , v120 + .byte W06 + .byte BEND , c_v+6 + .byte W06 + .byte c_v-6 + .byte W06 + .byte c_v+0 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_t_mori_3_001 + .byte PATT + .word mus_rg_t_mori_3_002 + .byte PATT + .word mus_rg_t_mori_3_001 + .byte PATT + .word mus_rg_t_mori_3_002 + .byte PATT + .word mus_rg_t_mori_3_001 + .byte PATT + .word mus_rg_t_mori_3_002 + .byte VOICE , 1 + .byte N24 , En2 , v120 + .byte W72 + .byte N24 + .byte W24 +mus_rg_t_mori_3_003: + .byte N24 , Cn2 , v120 + .byte W72 + .byte N24 + .byte W24 + .byte PEND +mus_rg_t_mori_3_004: + .byte N24 , Dn2 , v120 + .byte W72 + .byte N24 + .byte W24 + .byte PEND +mus_rg_t_mori_3_005: + .byte N24 , As1 , v120 + .byte W72 + .byte N24 + .byte W24 + .byte PEND + .byte VOICE , 13 + .byte PAN , c_v+32 + .byte VOL , 62*mus_rg_t_mori_mvl/mxv + .byte N12 , En3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , En3 , v028 + .byte W12 + .byte Bn3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 , v024 + .byte W12 + .byte As3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , As3 , v024 + .byte W12 + .byte Dn4 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Dn4 , v024 + .byte W12 + .byte Cs4 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Cs4 , v024 + .byte W12 + .byte Gs3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Gs3 , v024 + .byte W12 + .byte Gn3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gn3 , v028 + .byte W12 + .byte Bn3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 , v024 + .byte W12 + .byte As3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , As3 , v024 + .byte W12 + .byte En3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En3 , v024 + .byte W12 + .byte Ds3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Ds3 , v028 + .byte W12 + .byte An3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An3 , v024 + .byte W12 +mus_rg_t_mori_3_006: + .byte N12 , Gs3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gs3 , v024 + .byte W12 + .byte En3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En3 , v028 + .byte W12 + .byte Fs3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Fs3 , v024 + .byte W12 + .byte Ds3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Ds3 , v028 + .byte W12 + .byte PEND + .byte En3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , En3 , v024 + .byte W12 + .byte Bn3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 , v024 + .byte W12 + .byte As3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , As3 , v028 + .byte W12 + .byte Dn4 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Dn4 , v028 + .byte W12 +mus_rg_t_mori_3_007: + .byte N12 , Cs4 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Cs4 , v024 + .byte W12 + .byte Gs3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Gs3 , v024 + .byte W12 + .byte Gn3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gn3 , v024 + .byte W12 + .byte Bn3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 , v024 + .byte W12 + .byte PEND +mus_rg_t_mori_3_008: + .byte N12 , As3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , As3 , v024 + .byte W12 + .byte En3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En3 , v024 + .byte W12 + .byte Ds3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Ds3 , v024 + .byte W12 + .byte An3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An3 , v024 + .byte W12 + .byte PEND + .byte Gs3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gs3 , v028 + .byte W12 + .byte En3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En3 , v028 + .byte W12 + .byte Fs3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Fs3 , v024 + .byte W12 + .byte Ds3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Ds3 , v028 + .byte W12 + .byte En3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , En3 , v028 + .byte W12 + .byte Bn3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 , v028 + .byte W12 + .byte As3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , As3 , v024 + .byte W12 + .byte Dn4 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Dn4 , v024 + .byte W12 + .byte PATT + .word mus_rg_t_mori_3_007 + .byte N12 , As3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , As3 , v028 + .byte W12 + .byte En3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En3 , v024 + .byte W12 + .byte Ds3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Ds3 , v024 + .byte W12 + .byte An3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , An3 , v024 + .byte W12 + .byte PATT + .word mus_rg_t_mori_3_006 + .byte N12 , En3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , En3 , v028 + .byte W12 + .byte Bn3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn3 , v024 + .byte W12 + .byte As3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , As3 , v028 + .byte W12 + .byte Dn4 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Dn4 , v024 + .byte W12 + .byte PATT + .word mus_rg_t_mori_3_007 + .byte PATT + .word mus_rg_t_mori_3_008 + .byte N12 , Gs3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gs3 , v024 + .byte W12 + .byte En3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En3 , v024 + .byte W12 + .byte Fs3 , v076 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Fs3 , v028 + .byte W12 + .byte Ds3 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Ds3 , v028 + .byte W12 + .byte VOICE , 24 + .byte PAN , c_v+0 + .byte VOL , 40*mus_rg_t_mori_mvl/mxv + .byte N84 , En5 , v120 + .byte W24 + .byte MOD , 6 + .byte W60 + .byte W03 + .byte N03 , Ds5 , v064 + .byte W03 + .byte Dn5 + .byte W03 + .byte Cs5 + .byte W03 + .byte MOD , 0 + .byte N92 , Cn5 , v120 + .byte W24 + .byte MOD , 6 + .byte W68 + .byte W01 + .byte N03 , Cs5 , v064 + .byte W03 + .byte MOD , 0 + .byte N84 , Dn5 , v120 + .byte W24 + .byte MOD , 6 + .byte W60 + .byte W03 + .byte N03 , Cs5 , v064 + .byte W03 + .byte Cn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte MOD , 0 + .byte N80 , As4 , v120 + .byte W24 + .byte MOD , 6 + .byte W56 + .byte W01 + .byte N03 , Bn4 , v064 + .byte W03 + .byte Cn5 + .byte W03 + .byte Cs5 + .byte W03 + .byte Dn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte MOD , 0 + .byte N96 , En5 , v120 + .byte W24 + .byte MOD , 6 + .byte W72 + .byte 0 + .byte N92 , Fn5 + .byte W24 + .byte MOD , 6 + .byte W68 + .byte W01 + .byte N03 , Fs5 , v064 + .byte W03 + .byte MOD , 0 + .byte N84 , Gn5 , v120 + .byte W24 + .byte MOD , 6 + .byte W60 + .byte W03 + .byte N03 , Gs5 , v064 + .byte W03 + .byte An5 + .byte W03 + .byte As5 + .byte W03 + .byte MOD , 0 + .byte N96 , Bn5 , v120 + .byte W24 + .byte MOD , 6 + .byte W72 + .byte VOICE , 1 + .byte VOL , 90*mus_rg_t_mori_mvl/mxv + .byte MOD , 0 + .byte N24 , En2 + .byte W72 + .byte N24 + .byte W24 + .byte PATT + .word mus_rg_t_mori_3_003 + .byte PATT + .word mus_rg_t_mori_3_004 + .byte PATT + .word mus_rg_t_mori_3_005 + .byte VOICE , 13 + .byte N09 , En3 , v120 + .byte W36 + .byte N12 , En2 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , Fs3 + .byte W24 +mus_rg_t_mori_3_009: + .byte N09 , En3 , v120 + .byte W36 + .byte N12 , En2 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , Fs3 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_t_mori_3_009 + .byte PATT + .word mus_rg_t_mori_3_009 + .byte PATT + .word mus_rg_t_mori_3_009 + .byte PATT + .word mus_rg_t_mori_3_009 + .byte PATT + .word mus_rg_t_mori_3_009 + .byte PATT + .word mus_rg_t_mori_3_009 + .byte GOTO + .word mus_rg_t_mori_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_t_mori_4: + .byte KEYSH , mus_rg_t_mori_key+0 + .byte VOICE , 48 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 79*mus_rg_t_mori_mvl/mxv + .byte PAN , c_v+0 + .byte W12 +mus_rg_t_mori_4_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N84 , En1 , v064 + .byte W84 + .byte W03 + .byte N03 , Ds1 + .byte W03 + .byte Dn1 + .byte W03 + .byte Cs1 + .byte W03 + .byte N92 , Cn1 + .byte W92 + .byte W01 + .byte N03 , Cs1 + .byte W03 + .byte N84 , Dn1 + .byte W84 + .byte W03 + .byte N03 , Cs1 + .byte W03 + .byte Cn1 + .byte W03 + .byte Bn0 + .byte W03 + .byte N80 , As0 + .byte W80 + .byte W01 + .byte N03 , Bn0 + .byte W03 + .byte Cn1 + .byte W03 + .byte Cs1 + .byte W03 + .byte Dn1 + .byte W03 + .byte Ds1 + .byte W03 + .byte N96 , En1 + .byte W96 + .byte N92 , Fn1 + .byte W92 + .byte W01 + .byte N03 , Fs1 + .byte W03 + .byte N84 , Gn1 + .byte W84 + .byte W03 + .byte N03 , Gs1 + .byte W03 + .byte An1 + .byte W03 + .byte As1 + .byte W03 + .byte N96 , Bn1 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_t_mori_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_t_mori_5: + .byte KEYSH , mus_rg_t_mori_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 34*mus_rg_t_mori_mvl/mxv + .byte BEND , c_v+2 + .byte W12 +mus_rg_t_mori_5_B1: + .byte VOL , 34*mus_rg_t_mori_mvl/mxv + .byte N06 , En4 , v120 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v048 + .byte W24 + .byte As4 , v120 + .byte W24 + .byte As4 , v080 + .byte W24 + .byte As4 , v068 + .byte W24 + .byte As4 , v052 + .byte W24 + .byte En4 , v120 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v052 + .byte W24 + .byte Cs5 , v120 + .byte W24 + .byte Cs5 , v084 + .byte W24 + .byte Cs5 , v068 + .byte W24 + .byte Cs5 , v052 + .byte W24 + .byte Bn3 , v120 + .byte W24 + .byte Bn3 , v080 + .byte W24 + .byte Bn3 , v064 + .byte W24 + .byte Bn3 , v048 + .byte W24 + .byte Fs4 , v120 + .byte W24 + .byte Fs4 , v080 + .byte W24 + .byte Fs4 , v064 + .byte W24 + .byte Fs4 , v048 + .byte W24 + .byte Dn4 , v120 + .byte W24 + .byte Dn4 , v080 + .byte W24 + .byte Dn4 , v064 + .byte W24 + .byte Dn4 , v048 + .byte W24 + .byte Gn4 , v120 + .byte W24 + .byte Gn4 , v080 + .byte W24 + .byte Gn4 , v064 + .byte W24 + .byte Fs4 , v120 + .byte W24 + .byte W04 + .byte En4 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v048 + .byte W20 + .byte W04 + .byte As4 , v120 + .byte W24 + .byte As4 , v080 + .byte W24 + .byte As4 , v068 + .byte W24 + .byte As4 , v052 + .byte W20 + .byte W04 + .byte En4 , v120 + .byte W24 + .byte En4 , v080 + .byte W24 + .byte En4 , v064 + .byte W24 + .byte En4 , v052 + .byte W20 + .byte W04 + .byte Cs5 , v120 + .byte W24 + .byte Cs5 , v084 + .byte W23 + .byte Cs5 , v068 + .byte W24 + .byte Cs5 , v052 + .byte W21 + .byte W04 + .byte Bn3 , v120 + .byte W24 + .byte Bn3 , v080 + .byte W24 + .byte Bn3 , v064 + .byte W24 + .byte Bn3 , v048 + .byte W20 + .byte W04 + .byte Fs4 , v120 + .byte W24 + .byte Fs4 , v080 + .byte W24 + .byte Fs4 , v064 + .byte W24 + .byte Fs4 , v048 + .byte W20 + .byte W04 + .byte Dn4 , v120 + .byte W24 + .byte Dn4 , v080 + .byte W24 + .byte Dn4 , v064 + .byte W24 + .byte Dn4 , v048 + .byte W20 + .byte W04 + .byte Gn4 , v120 + .byte W24 + .byte Gn4 , v080 + .byte W24 + .byte Gn4 , v064 + .byte W23 + .byte Fs4 , v120 + .byte W21 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_t_mori_5_000: + .byte PAN , c_v-64 + .byte W13 + .byte N10 , En3 , v032 + .byte W11 + .byte PAN , c_v+63 + .byte W13 + .byte N10 , Bn3 + .byte W11 + .byte PAN , c_v-64 + .byte W13 + .byte N10 , As3 + .byte W11 + .byte PAN , c_v+63 + .byte W13 + .byte N10 , Dn4 + .byte W11 + .byte PEND +mus_rg_t_mori_5_001: + .byte PAN , c_v-64 + .byte W13 + .byte N10 , Cs4 , v032 + .byte W11 + .byte PAN , c_v+63 + .byte W13 + .byte N10 , Gs3 + .byte W11 + .byte PAN , c_v-64 + .byte W13 + .byte N10 , Gn3 + .byte W11 + .byte PAN , c_v+63 + .byte W13 + .byte N10 , Bn3 + .byte W11 + .byte PEND +mus_rg_t_mori_5_002: + .byte PAN , c_v-64 + .byte W13 + .byte N10 , As3 , v032 + .byte W11 + .byte PAN , c_v+63 + .byte W13 + .byte N10 , En3 + .byte W11 + .byte PAN , c_v-64 + .byte W13 + .byte N10 , Ds3 + .byte W11 + .byte PAN , c_v+63 + .byte W13 + .byte N10 , An3 + .byte W11 + .byte PEND +mus_rg_t_mori_5_003: + .byte PAN , c_v-64 + .byte W13 + .byte N10 , Gs3 , v032 + .byte W11 + .byte PAN , c_v+63 + .byte W13 + .byte N10 , En3 + .byte W11 + .byte PAN , c_v-64 + .byte W13 + .byte N10 , Fs3 + .byte W11 + .byte PAN , c_v+63 + .byte W13 + .byte N10 , Ds3 + .byte W11 + .byte PEND + .byte PATT + .word mus_rg_t_mori_5_000 + .byte PATT + .word mus_rg_t_mori_5_001 + .byte PATT + .word mus_rg_t_mori_5_002 + .byte PATT + .word mus_rg_t_mori_5_003 + .byte PATT + .word mus_rg_t_mori_5_000 + .byte PATT + .word mus_rg_t_mori_5_001 + .byte PATT + .word mus_rg_t_mori_5_002 + .byte PATT + .word mus_rg_t_mori_5_003 + .byte W12 + .byte PAN , c_v-64 + .byte W01 + .byte N22 , En3 , v032 + .byte W23 + .byte PAN , c_v+63 + .byte W01 + .byte N22 , Bn3 + .byte W23 + .byte PAN , c_v-64 + .byte W01 + .byte N22 , As3 + .byte W23 + .byte PAN , c_v+63 + .byte W01 + .byte N22 , Dn4 + .byte W11 + .byte W12 + .byte PAN , c_v-64 + .byte W01 + .byte N22 , Cs4 + .byte W23 + .byte PAN , c_v+63 + .byte W01 + .byte N22 , Gs3 + .byte W23 + .byte PAN , c_v-64 + .byte W01 + .byte N22 , Gn3 + .byte W23 + .byte PAN , c_v+63 + .byte W01 + .byte N22 , Bn3 + .byte W11 + .byte W12 + .byte PAN , c_v-64 + .byte W01 + .byte N22 , As3 + .byte W23 + .byte PAN , c_v+63 + .byte W01 + .byte N22 , En3 + .byte W23 + .byte PAN , c_v-64 + .byte W01 + .byte N22 , Ds3 + .byte W23 + .byte PAN , c_v+63 + .byte W01 + .byte N22 , An3 + .byte W11 + .byte W12 + .byte PAN , c_v-64 + .byte W01 + .byte N22 , Gs3 + .byte W23 + .byte PAN , c_v+63 + .byte W01 + .byte N22 , En3 + .byte W23 + .byte PAN , c_v-64 + .byte W01 + .byte N22 , Fs3 + .byte W23 + .byte PAN , c_v+63 + .byte W01 + .byte N22 , Ds3 + .byte W11 + .byte W24 + .byte PAN , c_v+0 + .byte W72 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_t_mori_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_t_mori_6: + .byte KEYSH , mus_rg_t_mori_key+0 + .byte VOL , 56*mus_rg_t_mori_mvl/mxv + .byte PAN , c_v+0 + .byte W12 +mus_rg_t_mori_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 24 + .byte PAN , c_v+16 + .byte W24 + .byte N12 , En3 , v056 + .byte W12 + .byte Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte En3 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , En5 , v036 + .byte W24 + .byte Ds5 + .byte W24 + .byte Dn5 + .byte W24 + .byte Cs5 + .byte W12 + .byte Cn5 + .byte W12 + .byte En4 , v032 + .byte W12 + .byte Gn4 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , As3 , v056 + .byte W12 + .byte Cs3 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Gn5 , v032 + .byte W24 + .byte Fs5 + .byte W24 + .byte Fn5 + .byte W24 + .byte En5 + .byte W12 + .byte Ds5 + .byte W12 + .byte Dn5 , v028 + .byte W12 + .byte Cs5 + .byte W84 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_t_mori_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_t_mori_7: + .byte KEYSH , mus_rg_t_mori_key+0 + .byte VOICE , 92 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 34*mus_rg_t_mori_mvl/mxv + .byte W12 +mus_rg_t_mori_7_B1: + .byte N12 , En1 , v120 + .byte W72 + .byte N15 , As1 + .byte W06 + .byte MOD , 7 + .byte W09 + .byte N03 , Gs1 + .byte W03 + .byte Gn1 + .byte W03 + .byte Fs1 + .byte W03 +mus_rg_t_mori_7_000: + .byte MOD , 0 + .byte N12 , En1 , v120 + .byte W72 + .byte N15 , As1 + .byte W06 + .byte MOD , 7 + .byte W09 + .byte N03 , Gs1 + .byte W03 + .byte Gn1 + .byte W03 + .byte Fs1 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_t_mori_7_000 + .byte PATT + .word mus_rg_t_mori_7_000 + .byte PATT + .word mus_rg_t_mori_7_000 + .byte PATT + .word mus_rg_t_mori_7_000 + .byte PATT + .word mus_rg_t_mori_7_000 + .byte PATT + .word mus_rg_t_mori_7_000 + .byte MOD , 0 + .byte BEND , c_v-2 + .byte N12 , En1 , v120 + .byte W72 + .byte N15 , As1 + .byte W15 + .byte N03 , Gs1 + .byte W03 + .byte Gn1 + .byte W03 + .byte Fs1 + .byte W03 +mus_rg_t_mori_7_001: + .byte N12 , En1 , v120 + .byte W72 + .byte N15 , As1 + .byte W15 + .byte N03 , Gs1 + .byte W03 + .byte Gn1 + .byte W03 + .byte Fs1 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_t_mori_7_001 + .byte N12 , En1 , v120 + .byte W72 + .byte N03 , As1 + .byte W03 + .byte Cn2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte BEND , c_v+0 + .byte N03 , Fn2 + .byte W03 + .byte Gn2 + .byte W03 + .byte Gs2 + .byte W03 + .byte As2 + .byte W03 + .byte N54 , Bn2 + .byte W12 + .byte MOD , 8 + .byte W42 + .byte 0 + .byte N03 , Cn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte En3 + .byte W03 + .byte Fn3 + .byte W03 + .byte N12 , Fs3 + .byte W12 + .byte N06 , Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte N54 , Ds3 + .byte W12 + .byte MOD , 8 + .byte W42 + .byte 0 + .byte N03 , En3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte An3 + .byte W03 + .byte N24 , As3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N44 , An3 + .byte W12 + .byte MOD , 8 + .byte W32 + .byte W01 + .byte 0 + .byte N03 , Gs3 + .byte W03 + .byte N42 , Gn3 + .byte W12 + .byte MOD , 8 + .byte W30 + .byte 0 + .byte N03 , Fs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte N24 , En3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte N18 , Ds3 + .byte W18 + .byte N03 , En3 + .byte W03 + .byte Fn3 + .byte W03 + .byte N12 , Fs3 + .byte W12 + .byte MOD , 0 + .byte N03 , Ds3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Cn3 + .byte W03 + .byte N24 , Bn2 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_t_mori_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_t_mori_8: + .byte KEYSH , mus_rg_t_mori_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 38*mus_rg_t_mori_mvl/mxv + .byte BEND , c_v+1 + .byte W12 +mus_rg_t_mori_8_B1: + .byte N12 , En2 , v127 + .byte W36 + .byte N06 , En1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte N21 , Fs2 , v127 + .byte W06 + .byte MOD , 7 + .byte W15 + .byte N03 , Fn2 , v120 + .byte W03 +mus_rg_t_mori_8_000: + .byte MOD , 0 + .byte N12 , En2 , v127 + .byte W36 + .byte N06 , En1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte N21 , Fs2 , v127 + .byte W06 + .byte MOD , 7 + .byte W15 + .byte N03 , Fn2 , v120 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_t_mori_8_000 + .byte PATT + .word mus_rg_t_mori_8_000 + .byte PATT + .word mus_rg_t_mori_8_000 + .byte PATT + .word mus_rg_t_mori_8_000 + .byte PATT + .word mus_rg_t_mori_8_000 + .byte MOD , 0 + .byte N12 , En2 , v127 + .byte W36 + .byte N06 , En1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte N21 , Fs2 + .byte W06 + .byte MOD , 7 + .byte W15 + .byte N03 , Fn2 + .byte W03 + .byte MOD , 0 + .byte N12 , En2 + .byte W36 + .byte N06 , En1 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , En2 , v127 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v-6 + .byte W06 +mus_rg_t_mori_8_001: + .byte BEND , c_v+0 + .byte N12 , En2 , v127 + .byte W36 + .byte N06 , En1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Fs2 , v127 + .byte W18 + .byte BEND , c_v-6 + .byte W06 + .byte PEND +mus_rg_t_mori_8_002: + .byte BEND , c_v+0 + .byte N12 , En2 , v127 + .byte W36 + .byte N06 , En1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , En2 , v127 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v-6 + .byte W06 + .byte PEND + .byte c_v+0 + .byte N12 + .byte W36 + .byte N06 , En1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , Fs2 , v127 + .byte W18 + .byte BEND , c_v-6 + .byte W06 + .byte PATT + .word mus_rg_t_mori_8_002 + .byte PATT + .word mus_rg_t_mori_8_001 + .byte PATT + .word mus_rg_t_mori_8_002 + .byte PATT + .word mus_rg_t_mori_8_001 + .byte BEND , c_v+0 + .byte N24 , En2 , v127 + .byte W72 + .byte N24 + .byte W24 + .byte Cn2 + .byte W72 + .byte N24 + .byte W24 + .byte Dn2 + .byte W72 + .byte N24 + .byte W24 + .byte As1 + .byte W72 + .byte N24 + .byte W24 + .byte VOICE , 83 + .byte N12 , En3 , v064 + .byte W24 + .byte Bn3 + .byte W24 + .byte As3 + .byte W24 + .byte Dn4 + .byte W24 +mus_rg_t_mori_8_003: + .byte N12 , Cs4 , v064 + .byte W24 + .byte Gs3 + .byte W24 + .byte Gn3 + .byte W24 + .byte Bn3 + .byte W24 + .byte PEND +mus_rg_t_mori_8_004: + .byte N12 , As3 , v064 + .byte W24 + .byte En3 + .byte W24 + .byte Ds3 + .byte W24 + .byte An3 + .byte W24 + .byte PEND +mus_rg_t_mori_8_005: + .byte N12 , Gs3 , v064 + .byte W24 + .byte En3 + .byte W24 + .byte Fs3 + .byte W24 + .byte Ds3 + .byte W24 + .byte PEND +mus_rg_t_mori_8_006: + .byte N12 , En3 , v064 + .byte W24 + .byte Bn3 + .byte W24 + .byte As3 + .byte W24 + .byte Dn4 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_t_mori_8_003 + .byte PATT + .word mus_rg_t_mori_8_004 + .byte PATT + .word mus_rg_t_mori_8_005 + .byte PATT + .word mus_rg_t_mori_8_006 + .byte PATT + .word mus_rg_t_mori_8_003 + .byte PATT + .word mus_rg_t_mori_8_004 + .byte PATT + .word mus_rg_t_mori_8_005 + .byte N24 , En3 , v064 + .byte W24 + .byte Bn3 + .byte W24 + .byte As3 + .byte W24 + .byte Dn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte Gs3 + .byte W24 + .byte Gn3 + .byte W24 + .byte Bn3 + .byte W24 + .byte As3 + .byte W24 + .byte En3 + .byte W24 + .byte Ds3 + .byte W24 + .byte An3 + .byte W24 + .byte Gs3 + .byte W24 + .byte En3 + .byte W24 + .byte Fs3 + .byte W24 + .byte Ds3 + .byte W24 + .byte VOICE , 80 + .byte N84 , En2 , v120 + .byte W84 + .byte W03 + .byte N03 , Ds2 , v064 + .byte W03 + .byte Dn2 + .byte W03 + .byte Cs2 + .byte W03 + .byte N92 , Cn2 , v120 + .byte W92 + .byte W01 + .byte N03 , Cs2 , v064 + .byte W03 + .byte N84 , Dn2 , v120 + .byte W84 + .byte W03 + .byte N03 , Cs2 , v064 + .byte W03 + .byte Cn2 + .byte W03 + .byte Bn1 + .byte W03 + .byte N80 , As1 , v120 + .byte W80 + .byte W01 + .byte N03 , Bn1 , v064 + .byte W03 + .byte Cn2 + .byte W03 + .byte Cs2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte N96 , En2 , v120 + .byte W96 + .byte N92 , Fn2 + .byte W92 + .byte W01 + .byte N03 , Fs2 , v064 + .byte W03 + .byte N84 , Gn2 , v120 + .byte W84 + .byte W03 + .byte N03 , Gs2 , v064 + .byte W03 + .byte An2 + .byte W03 + .byte As2 + .byte W03 + .byte N96 , Bn2 , v120 + .byte W96 + .byte N24 , En2 + .byte W72 + .byte N24 + .byte W24 + .byte Cn2 + .byte W72 + .byte N24 + .byte W24 + .byte Dn2 + .byte W72 + .byte N24 + .byte W24 + .byte As1 + .byte W72 + .byte N24 + .byte W24 +mus_rg_t_mori_8_007: + .byte N09 , En3 , v064 + .byte W36 + .byte N12 , En2 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , Fs3 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_t_mori_8_007 + .byte PATT + .word mus_rg_t_mori_8_007 + .byte PATT + .word mus_rg_t_mori_8_007 + .byte PATT + .word mus_rg_t_mori_8_007 + .byte PATT + .word mus_rg_t_mori_8_007 + .byte PATT + .word mus_rg_t_mori_8_007 + .byte PATT + .word mus_rg_t_mori_8_007 + .byte GOTO + .word mus_rg_t_mori_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_t_mori_9: + .byte KEYSH , mus_rg_t_mori_key+0 + .byte VOICE , 0 + .byte VOL , 77*mus_rg_t_mori_mvl/mxv + .byte N03 , En3 , v100 + .byte W03 + .byte En3 , v056 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 +mus_rg_t_mori_9_B1: +mus_rg_t_mori_9_000: + .byte N06 , En3 , v120 + .byte W12 + .byte Cn1 , v072 + .byte W12 + .byte Dn3 , v120 + .byte W12 + .byte En3 + .byte W24 + .byte Cn1 , v072 + .byte W12 + .byte Dn3 , v120 + .byte W24 + .byte PEND +mus_rg_t_mori_9_001: + .byte N06 , En3 , v120 + .byte W12 + .byte Cn1 , v072 + .byte W12 + .byte Dn3 , v120 + .byte W12 + .byte En3 + .byte W24 + .byte Cn1 , v072 + .byte W12 + .byte Dn3 , v120 + .byte W12 + .byte N03 , Dn3 , v100 + .byte W03 + .byte Dn3 , v056 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_t_mori_9_000 +mus_rg_t_mori_9_002: + .byte N06 , En3 , v120 + .byte W12 + .byte Cn1 , v072 + .byte W12 + .byte Dn3 , v120 + .byte W12 + .byte En3 + .byte W24 + .byte Cn1 , v072 + .byte W12 + .byte Dn3 , v120 + .byte W12 + .byte N03 , En3 , v100 + .byte W03 + .byte En3 , v056 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_t_mori_9_000 + .byte PATT + .word mus_rg_t_mori_9_001 + .byte PATT + .word mus_rg_t_mori_9_000 + .byte PATT + .word mus_rg_t_mori_9_002 + .byte PATT + .word mus_rg_t_mori_9_000 + .byte PATT + .word mus_rg_t_mori_9_001 + .byte PATT + .word mus_rg_t_mori_9_000 + .byte PATT + .word mus_rg_t_mori_9_002 + .byte PATT + .word mus_rg_t_mori_9_000 + .byte PATT + .word mus_rg_t_mori_9_001 + .byte PATT + .word mus_rg_t_mori_9_000 + .byte PATT + .word mus_rg_t_mori_9_002 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N03 , En3 , v100 + .byte W03 + .byte En3 , v056 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte GOTO + .word mus_rg_t_mori_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_rg_t_mori_10: + .byte KEYSH , mus_rg_t_mori_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 45*mus_rg_t_mori_mvl/mxv + .byte W12 +mus_rg_t_mori_10_B1: + .byte VOICE , 127 + .byte PAN , c_v-64 + .byte N06 , Gn5 , v120 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn5 , v096 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn5 , v080 + .byte W12 + .byte Gn5 , v036 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn5 , v060 + .byte W12 + .byte Gn5 , v028 + .byte W12 +mus_rg_t_mori_10_000: + .byte N06 , Gn5 , v120 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn5 , v096 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn5 , v080 + .byte W12 + .byte Gn5 , v036 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn5 , v060 + .byte W12 + .byte Gn5 , v028 + .byte W12 + .byte PEND +mus_rg_t_mori_10_001: + .byte N06 , Gn5 , v120 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn5 , v096 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn5 , v080 + .byte W12 + .byte Gn5 , v036 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn5 , v060 + .byte W12 + .byte Gn5 , v028 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_t_mori_10_000 +mus_rg_t_mori_10_002: + .byte PAN , c_v-64 + .byte N06 , Gn5 , v120 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn5 , v096 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn5 , v080 + .byte W12 + .byte Gn5 , v036 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn5 , v060 + .byte W12 + .byte Gn5 , v028 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_t_mori_10_000 + .byte PATT + .word mus_rg_t_mori_10_001 + .byte PATT + .word mus_rg_t_mori_10_000 + .byte PATT + .word mus_rg_t_mori_10_002 + .byte PATT + .word mus_rg_t_mori_10_000 + .byte PATT + .word mus_rg_t_mori_10_001 + .byte PATT + .word mus_rg_t_mori_10_000 + .byte PATT + .word mus_rg_t_mori_10_002 + .byte PATT + .word mus_rg_t_mori_10_000 + .byte PATT + .word mus_rg_t_mori_10_001 + .byte PATT + .word mus_rg_t_mori_10_000 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 45*mus_rg_t_mori_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 126 + .byte PAN , c_v-63 + .byte W42 + .byte N01 , Fn5 , v024 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v060 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v076 + .byte W03 + .byte Fn5 , v080 + .byte W03 + .byte Fn5 , v100 + .byte W03 + .byte Fn5 , v104 + .byte W03 + .byte Fn5 , v080 + .byte W03 + .byte N01 + .byte W03 + .byte PAN , c_v+0 + .byte N01 , Fn5 , v056 + .byte W03 + .byte N01 + .byte W03 + .byte PAN , c_v+63 + .byte N01 , Fn5 , v032 + .byte W03 + .byte Fn5 , v036 + .byte W03 + .byte Fn5 , v024 + .byte W03 + .byte N01 + .byte W03 + .byte PAN , c_v+63 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v016 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v008 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v004 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v008 + .byte W03 + .byte Fn5 , v004 + .byte W03 + .byte Fn5 , v008 + .byte W60 + .byte W96 + .byte PAN , c_v+63 + .byte W12 + .byte N01 , Fn5 , v024 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v060 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v076 + .byte W03 + .byte Fn5 , v080 + .byte W03 + .byte Fn5 , v100 + .byte W03 + .byte Fn5 , v104 + .byte W03 + .byte Fn5 , v080 + .byte W03 + .byte N01 + .byte W03 + .byte PAN , c_v+0 + .byte N01 , Fn5 , v056 + .byte W03 + .byte N01 + .byte W03 + .byte PAN , c_v-63 + .byte N01 , Fn5 , v032 + .byte W03 + .byte Fn5 , v036 + .byte W03 + .byte Fn5 , v024 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v016 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v008 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v004 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v008 + .byte W03 + .byte Fn5 , v004 + .byte W03 + .byte Fn5 , v008 + .byte W90 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+63 + .byte W96 + .byte W36 + .byte N01 , Fn5 , v024 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v060 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v076 + .byte W03 + .byte Fn5 , v080 + .byte W03 + .byte Fn5 , v100 + .byte W03 + .byte Fn5 , v104 + .byte W03 + .byte PAN , c_v-1 + .byte N01 , Fn5 , v080 + .byte W03 + .byte N01 + .byte W03 + .byte PAN , c_v-64 + .byte N01 , Fn5 , v056 + .byte W03 + .byte N01 + .byte W03 + .byte Fn5 , v032 + .byte W03 + .byte Fn5 , v036 + .byte W03 + .byte Fn5 , v024 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte VOICE , 127 + .byte PAN , c_v-64 + .byte N06 , Gn5 , v120 + .byte W12 + .byte Gn5 , v052 + .byte W84 + .byte PAN , c_v-64 + .byte N06 , Gn5 , v120 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v-64 + .byte W72 + .byte c_v+63 + .byte N06 , Gn5 , v120 + .byte W12 + .byte Gn5 , v052 + .byte W36 + .byte PAN , c_v-64 + .byte N06 , Gn5 , v080 + .byte W12 + .byte Gn5 , v036 + .byte W36 + .byte Gn5 , v120 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn5 , v096 + .byte W12 + .byte Gn5 , v052 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn5 , v080 + .byte W12 + .byte Gn5 , v036 + .byte W12 + .byte VOICE , 126 + .byte PAN , c_v+63 + .byte N24 , Gn5 , v080 + .byte W24 + .byte GOTO + .word mus_rg_t_mori_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_t_mori: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_t_mori_pri @ Priority + .byte mus_rg_t_mori_rev @ Reverb. + + .word mus_rg_t_mori_grp + + .word mus_rg_t_mori_1 + .word mus_rg_t_mori_2 + .word mus_rg_t_mori_3 + .word mus_rg_t_mori_4 + .word mus_rg_t_mori_5 + .word mus_rg_t_mori_6 + .word mus_rg_t_mori_7 + .word mus_rg_t_mori_8 + .word mus_rg_t_mori_9 + .word mus_rg_t_mori_10 + + .end diff --git a/sound/songs/mus_rg_t_tower.s b/sound/songs/mus_rg_t_tower.s new file mode 100644 index 0000000000..ef47bb6f4b --- /dev/null +++ b/sound/songs/mus_rg_t_tower.s @@ -0,0 +1,1884 @@ + .include "MPlayDef.s" + + .equ mus_rg_t_tower_grp, voicegroup_86A21B8 + .equ mus_rg_t_tower_pri, 0 + .equ mus_rg_t_tower_rev, reverb_set+50 + .equ mus_rg_t_tower_mvl, 127 + .equ mus_rg_t_tower_key, 0 + .equ mus_rg_t_tower_tbs, 1 + .equ mus_rg_t_tower_exg, 0 + .equ mus_rg_t_tower_cmp, 1 + + .section .rodata + .global mus_rg_t_tower + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_t_tower_1: + .byte KEYSH , mus_rg_t_tower_key+0 +mus_rg_t_tower_1_B1: + .byte TEMPO , 128*mus_rg_t_tower_tbs/2 + .byte VOICE , 56 + .byte PAN , c_v+10 + .byte VOL , 90*mus_rg_t_tower_mvl/mxv + .byte BEND , c_v+0 + .byte N30 , En4 , v108 + .byte W15 + .byte MOD , 6 + .byte W03 + .byte VOL , 79*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 67*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 52*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 29*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_rg_t_tower_mvl/mxv + .byte W06 + .byte 90*mus_rg_t_tower_mvl/mxv + .byte N06 , Bn3 + .byte W06 + .byte En4 + .byte W06 + .byte N30 , Dn4 + .byte W15 + .byte MOD , 6 + .byte W03 + .byte VOL , 79*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 67*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 52*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 29*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_rg_t_tower_mvl/mxv + .byte W06 + .byte 90*mus_rg_t_tower_mvl/mxv + .byte N06 , Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N66 , Cs4 + .byte W24 + .byte W03 + .byte MOD , 6 + .byte W24 + .byte W03 + .byte VOL , 79*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 67*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 52*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 29*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 0*mus_rg_t_tower_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 90*mus_rg_t_tower_mvl/mxv + .byte N24 , Ds4 + .byte W24 + .byte N66 , En4 + .byte W24 + .byte MOD , 6 + .byte W30 + .byte VOL , 79*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 67*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 52*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 29*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_rg_t_tower_mvl/mxv + .byte W06 + .byte 90*mus_rg_t_tower_mvl/mxv + .byte N06 , Bn3 + .byte W06 + .byte N18 , En4 + .byte W18 + .byte N06 , Fs4 + .byte W18 + .byte Dn4 + .byte W06 + .byte N66 + .byte W18 + .byte MOD , 6 + .byte W36 + .byte VOL , 79*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 67*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 52*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 29*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_rg_t_tower_mvl/mxv + .byte W06 + .byte 90*mus_rg_t_tower_mvl/mxv + .byte N66 , En4 + .byte W30 + .byte MOD , 6 + .byte W24 + .byte VOL , 79*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 67*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 52*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 29*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_rg_t_tower_mvl/mxv + .byte W06 + .byte 90*mus_rg_t_tower_mvl/mxv + .byte N06 , Bn3 + .byte W06 + .byte N18 , En4 + .byte W18 + .byte N06 , Dn4 + .byte W12 + .byte N06 + .byte W06 + .byte En4 + .byte W06 + .byte N66 , Fs4 + .byte W24 + .byte W03 + .byte MOD , 6 + .byte W24 + .byte W03 + .byte VOL , 79*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 67*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 52*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 29*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_rg_t_tower_mvl/mxv + .byte W06 + .byte 90*mus_rg_t_tower_mvl/mxv + .byte N66 , Gs4 + .byte W30 + .byte MOD , 6 + .byte W24 + .byte VOL , 79*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 67*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 52*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 29*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_rg_t_tower_mvl/mxv + .byte W06 + .byte 90*mus_rg_t_tower_mvl/mxv + .byte N06 , Fs4 + .byte W06 + .byte N18 , Gs4 + .byte W18 + .byte N12 , An4 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Dn5 + .byte W18 + .byte N06 , An4 + .byte W06 + .byte N24 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N66 , Gs4 + .byte W24 + .byte MOD , 6 + .byte W30 + .byte VOL , 79*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 67*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 52*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 29*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 0*mus_rg_t_tower_mvl/mxv + .byte W06 + .byte 90*mus_rg_t_tower_mvl/mxv + .byte N06 , Fs4 + .byte W06 + .byte N18 , Gs4 + .byte W18 + .byte N12 , An4 + .byte W12 + .byte N06 , Fs4 + .byte W06 + .byte An4 + .byte W06 + .byte N48 , Dn5 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , Cs5 , v112 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte VOICE , 60 + .byte MOD , 0 + .byte N36 , Bn2 , v108 + .byte W36 + .byte En3 + .byte W36 + .byte N24 , Bn2 + .byte W24 + .byte Dn3 + .byte W24 + .byte Cs3 + .byte W24 + .byte Bn2 + .byte W24 + .byte An2 + .byte W24 + .byte N06 , Gs2 + .byte W12 + .byte N06 + .byte W06 + .byte An2 + .byte W06 + .byte N30 , Bn2 + .byte W36 + .byte N12 + .byte W12 + .byte N06 , En3 + .byte W06 + .byte N18 , Bn2 + .byte W18 + .byte N24 , Dn3 + .byte W24 + .byte Cn3 + .byte W24 + .byte Bn2 + .byte W24 + .byte An2 + .byte W24 + .byte VOICE , 48 + .byte N36 , Bn4 , v096 + .byte W36 + .byte En5 + .byte W36 + .byte N24 , Bn4 + .byte W24 + .byte Dn5 + .byte W24 + .byte Cs5 + .byte W24 + .byte Bn4 + .byte W24 + .byte An4 + .byte W24 + .byte N06 , Gs4 + .byte W12 + .byte N06 + .byte W06 + .byte An4 + .byte W06 + .byte N24 , Bn4 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Cs5 + .byte W06 + .byte N24 , Dn5 + .byte W24 + .byte N06 , En5 + .byte W12 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte N48 , Gs5 + .byte W48 + .byte N24 , Fs5 + .byte W24 + .byte GOTO + .word mus_rg_t_tower_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_t_tower_2: + .byte VOL , 90*mus_rg_t_tower_mvl/mxv + .byte KEYSH , mus_rg_t_tower_key+0 +mus_rg_t_tower_2_B1: + .byte VOICE , 87 + .byte N12 , En2 , v080 + .byte W12 + .byte N03 , En1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Bn1 + .byte W06 + .byte En2 + .byte W06 + .byte N12 , Dn2 + .byte W12 + .byte N03 , Dn1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Bn1 + .byte W06 + .byte Dn2 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte N03 , Cs1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte Cs2 + .byte W06 + .byte N09 , Bn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N21 + .byte W24 +mus_rg_t_tower_2_000: + .byte N06 , En1 , v080 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N18 + .byte W18 + .byte PEND +mus_rg_t_tower_2_001: + .byte N06 , Dn1 , v080 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N18 + .byte W18 + .byte PEND + .byte PATT + .word mus_rg_t_tower_2_000 + .byte N06 , Dn1 , v080 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte An1 + .byte W12 + .byte Dn1 + .byte W06 + .byte N18 , Fs1 + .byte W18 + .byte PATT + .word mus_rg_t_tower_2_000 + .byte PATT + .word mus_rg_t_tower_2_001 + .byte PATT + .word mus_rg_t_tower_2_000 + .byte N06 , Dn1 , v080 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte Fs1 + .byte W12 + .byte En1 + .byte W06 + .byte N18 , An1 + .byte W18 + .byte PATT + .word mus_rg_t_tower_2_000 + .byte PATT + .word mus_rg_t_tower_2_001 + .byte N06 , Cs1 , v080 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte En1 + .byte W06 + .byte N18 , Cs1 + .byte W18 + .byte N48 , Cn1 + .byte W48 + .byte Dn1 + .byte W48 + .byte N06 , En1 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W24 + .byte N24 + .byte W24 + .byte N06 , Dn1 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 + .byte W24 + .byte N06 , Fs1 + .byte W06 + .byte N18 , An1 + .byte W18 + .byte N06 , Gs1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N21 + .byte W24 + .byte N06 , Fs1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N21 + .byte W24 + .byte N06 , En1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N21 + .byte W24 + .byte Ds1 + .byte W24 + .byte N06 , Fs1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Ds2 + .byte W06 + .byte GOTO + .word mus_rg_t_tower_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_t_tower_3: + .byte KEYSH , mus_rg_t_tower_key+0 +mus_rg_t_tower_3_B1: + .byte VOICE , 85 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v+48 + .byte VOL , 90*mus_rg_t_tower_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Gs3 , v064 + .byte W12 + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte Fs3 + .byte W12 + .byte N03 , Fs2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte En3 + .byte W12 + .byte N03 , En2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte VOICE , 81 + .byte VOL , 55*mus_rg_t_tower_mvl/mxv + .byte N12 , Fs3 + .byte W06 + .byte VOL , 59*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 61*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte VOICE , 88 + .byte VOL , 65*mus_rg_t_tower_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 70*mus_rg_t_tower_mvl/mxv + .byte W06 + .byte 75*mus_rg_t_tower_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 80*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 86*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 90*mus_rg_t_tower_mvl/mxv + .byte N12 + .byte W12 + .byte VOICE , 81 + .byte N12 , En3 , v052 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W12 + .byte MOD , 3 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 81 + .byte MOD , 0 + .byte N06 , Gs2 + .byte W12 + .byte En2 + .byte W12 + .byte N03 , Gs2 + .byte W06 + .byte N18 , Bn2 + .byte W18 +mus_rg_t_tower_3_000: + .byte N12 , Dn3 , v052 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W12 + .byte MOD , 3 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 81 + .byte MOD , 0 + .byte N06 , Fs3 + .byte W12 + .byte N12 , An2 + .byte W12 + .byte N06 , Dn3 + .byte W06 + .byte N18 , Fs3 + .byte W18 + .byte PEND +mus_rg_t_tower_3_001: + .byte N12 , En3 , v052 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W12 + .byte MOD , 3 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 81 + .byte MOD , 0 + .byte N06 , Gs2 + .byte W12 + .byte En2 + .byte W12 + .byte N03 , Gs2 + .byte W06 + .byte N18 , Bn2 + .byte W18 + .byte PEND + .byte PATT + .word mus_rg_t_tower_3_000 + .byte PATT + .word mus_rg_t_tower_3_001 + .byte N12 , Dn3 , v052 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W12 + .byte MOD , 3 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 81 + .byte MOD , 0 + .byte N12 , Fs3 + .byte W18 + .byte N06 , Dn3 + .byte W06 + .byte N24 + .byte W24 + .byte PATT + .word mus_rg_t_tower_3_001 + .byte N12 , Dn3 , v052 + .byte W12 + .byte VOICE , 88 + .byte N12 + .byte W12 + .byte MOD , 3 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 81 + .byte MOD , 0 + .byte N24 , Fs3 + .byte W24 + .byte An2 + .byte W24 + .byte BEND , c_v-4 + .byte W96 + .byte W96 + .byte W60 + .byte c_v+0 + .byte W12 + .byte VOICE , 85 + .byte PAN , c_v+0 + .byte N06 , Gs3 , v064 + .byte W06 + .byte N18 , En3 + .byte W18 + .byte N12 + .byte W03 + .byte VOL , 79*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 55*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 59*mus_rg_t_tower_mvl/mxv + .byte W01 + .byte VOICE , 89 + .byte N12 + .byte W04 + .byte VOL , 63*mus_rg_t_tower_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte W03 + .byte VOL , 67*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte N12 + .byte W02 + .byte VOL , 70*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 74*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 78*mus_rg_t_tower_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 82*mus_rg_t_tower_mvl/mxv + .byte W07 + .byte VOICE , 85 + .byte VOL , 90*mus_rg_t_tower_mvl/mxv + .byte MOD , 0 + .byte N12 , Fs3 + .byte W03 + .byte VOL , 79*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 55*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 59*mus_rg_t_tower_mvl/mxv + .byte W01 + .byte VOICE , 89 + .byte N12 + .byte W03 + .byte MOD , 6 + .byte W01 + .byte VOL , 63*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 67*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte N12 + .byte W02 + .byte VOL , 70*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 74*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 78*mus_rg_t_tower_mvl/mxv + .byte N12 + .byte W05 + .byte VOL , 82*mus_rg_t_tower_mvl/mxv + .byte W07 + .byte VOICE , 85 + .byte VOL , 89*mus_rg_t_tower_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v+47 + .byte N12 , Bn3 , v060 + .byte W12 + .byte N03 , Bn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , En3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W12 + .byte N06 + .byte W12 + .byte En3 + .byte W06 + .byte N18 , Gs3 + .byte W18 + .byte N12 , An3 + .byte W12 + .byte N03 , An2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Dn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W12 + .byte N06 + .byte W12 + .byte Fs3 + .byte W06 + .byte N18 , An3 + .byte W18 + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte BEND , c_v+5 + .byte N06 , Gs2 , v088 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte PAN , c_v+48 + .byte BEND , c_v-2 + .byte N06 , En5 , v052 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v+5 + .byte N06 , Fs2 , v088 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte PAN , c_v-47 + .byte BEND , c_v-2 + .byte N06 , Dn5 , v052 + .byte W06 + .byte Bn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v+5 + .byte N06 , En2 , v088 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte PAN , c_v+48 + .byte BEND , c_v-2 + .byte N06 , Bn4 , v052 + .byte W06 + .byte Gs4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v+5 + .byte N12 , Ds2 , v088 + .byte W30 + .byte PAN , c_v-47 + .byte BEND , c_v-2 + .byte N06 , Bn3 , v052 + .byte W06 + .byte Fs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte GOTO + .word mus_rg_t_tower_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_t_tower_4: + .byte KEYSH , mus_rg_t_tower_key+0 +mus_rg_t_tower_4_B1: + .byte VOICE , 84 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v-48 + .byte VOL , 90*mus_rg_t_tower_mvl/mxv + .byte N12 , Bn3 , v064 + .byte W12 + .byte N03 , Bn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte An3 + .byte W12 + .byte N03 , An2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte An3 + .byte W12 + .byte N03 , An2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte VOICE , 80 + .byte VOL , 55*mus_rg_t_tower_mvl/mxv + .byte N48 , An3 + .byte W06 + .byte VOL , 59*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte MOD , 6 + .byte VOL , 61*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 65*mus_rg_t_tower_mvl/mxv + .byte W06 + .byte 70*mus_rg_t_tower_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 75*mus_rg_t_tower_mvl/mxv + .byte W06 + .byte 80*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 86*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte MOD , 6 + .byte VOL , 90*mus_rg_t_tower_mvl/mxv + .byte W12 +mus_rg_t_tower_4_000: + .byte N48 , Gs3 , v052 + .byte W24 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N06 , Bn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte N03 , Bn2 + .byte W06 + .byte N18 , En3 + .byte W18 + .byte PEND +mus_rg_t_tower_4_001: + .byte N48 , Fs3 , v052 + .byte W24 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N06 , An3 + .byte W12 + .byte N12 , Dn3 + .byte W12 + .byte N06 , Fs3 + .byte W06 + .byte N18 , An3 + .byte W18 + .byte PEND + .byte PATT + .word mus_rg_t_tower_4_000 + .byte PATT + .word mus_rg_t_tower_4_001 + .byte PATT + .word mus_rg_t_tower_4_000 + .byte N48 , Fs3 , v052 + .byte W24 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N12 , An3 + .byte W18 + .byte N06 , Fs3 + .byte W06 + .byte N24 + .byte W24 + .byte PATT + .word mus_rg_t_tower_4_000 + .byte N48 , Fs3 , v052 + .byte W24 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N24 , An3 + .byte W24 + .byte En3 + .byte W24 + .byte W96 + .byte W96 + .byte W72 + .byte VOICE , 84 + .byte PAN , c_v+0 + .byte N06 , Bn3 , v064 + .byte W06 + .byte N18 , Gs3 + .byte W18 + .byte N48 , Gn3 + .byte W03 + .byte VOL , 79*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 55*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 59*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 63*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 67*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 70*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 74*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 78*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 82*mus_rg_t_tower_mvl/mxv + .byte W07 + .byte 90*mus_rg_t_tower_mvl/mxv + .byte N48 , An3 + .byte W03 + .byte VOL , 79*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 55*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 59*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 63*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 67*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 70*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 74*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 78*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 82*mus_rg_t_tower_mvl/mxv + .byte W07 + .byte VOICE , 84 + .byte PAN , c_v+0 + .byte VOL , 89*mus_rg_t_tower_mvl/mxv + .byte N12 , En4 , v060 + .byte W12 + .byte N03 , En3 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-49 + .byte W06 + .byte c_v+0 + .byte N06 + .byte W06 + .byte PAN , c_v-49 + .byte W06 + .byte c_v+0 + .byte N06 , Bn3 + .byte W06 + .byte N18 , En4 + .byte W18 + .byte N12 , Dn4 + .byte W12 + .byte N03 , Dn3 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte PAN , c_v-48 + .byte W06 + .byte c_v+0 + .byte N06 + .byte W06 + .byte PAN , c_v-49 + .byte W06 + .byte c_v-1 + .byte N06 , An3 + .byte W06 + .byte N18 , Dn4 + .byte W18 + .byte VOICE , 80 + .byte N06 , En3 , v072 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , En5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+1 + .byte N06 , Dn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Bn2 + .byte W06 + .byte En3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte PAN , c_v-47 + .byte N06 , Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte En4 + .byte W06 + .byte Bn3 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Bn2 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Bn3 + .byte W06 + .byte Fs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Ds5 + .byte W06 + .byte GOTO + .word mus_rg_t_tower_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_t_tower_5: + .byte VOL , 90*mus_rg_t_tower_mvl/mxv + .byte KEYSH , mus_rg_t_tower_key+0 +mus_rg_t_tower_5_B1: + .byte PAN , c_v+15 + .byte W96 + .byte W96 + .byte VOICE , 56 + .byte W96 + .byte W96 + .byte W96 + .byte W42 + .byte N03 , Bn3 , v092 + .byte W03 + .byte Cs4 + .byte W03 + .byte N09 , Dn4 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte Dn4 + .byte W06 + .byte N18 , Cs4 + .byte W18 + .byte N48 , Bn3 + .byte W30 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N06 , En4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W06 + .byte N18 , En4 + .byte W18 + .byte N12 , Dn4 + .byte W18 + .byte N06 , An3 + .byte W06 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , An4 + .byte W18 + .byte N06 , Dn4 + .byte W06 + .byte N24 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N06 , Bn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte As3 + .byte W06 + .byte N18 , Bn3 + .byte W09 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N06 , En4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W06 + .byte N18 , En4 + .byte W09 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N12 , Fs4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N48 , An4 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte VOICE , 48 + .byte MOD , 0 + .byte N06 , Bn3 , v044 + .byte W12 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W12 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W12 + .byte Bn3 + .byte W06 + .byte N12 , En4 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte An3 + .byte W12 + .byte Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W12 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W12 + .byte An3 + .byte W06 + .byte N12 , Dn4 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte Gs3 + .byte W12 + .byte En4 , v048 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W12 + .byte N12 , En4 , v076 + .byte W12 + .byte N06 , Gs4 + .byte W06 + .byte N18 , Bn4 + .byte W18 + .byte N48 , Cn5 , v112 + .byte W03 + .byte VOL , 79*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 55*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 59*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 63*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 67*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 70*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 74*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 78*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 82*mus_rg_t_tower_mvl/mxv + .byte W07 + .byte 90*mus_rg_t_tower_mvl/mxv + .byte N48 , Dn5 + .byte W03 + .byte VOL , 79*mus_rg_t_tower_mvl/mxv + .byte W03 + .byte 55*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 59*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 63*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 67*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 70*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 74*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 78*mus_rg_t_tower_mvl/mxv + .byte W05 + .byte 82*mus_rg_t_tower_mvl/mxv + .byte W07 + .byte 89*mus_rg_t_tower_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_t_tower_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_t_tower_6: + .byte VOL , 90*mus_rg_t_tower_mvl/mxv + .byte KEYSH , mus_rg_t_tower_key+0 +mus_rg_t_tower_6_B1: + .byte VOICE , 47 + .byte PAN , c_v-17 + .byte BEND , c_v+0 + .byte N12 , En2 , v116 + .byte W18 + .byte N06 , Bn1 + .byte W06 + .byte N12 , En2 , v127 + .byte W24 + .byte Dn2 , v116 + .byte W18 + .byte N06 , An1 + .byte W06 + .byte N12 , Dn2 , v127 + .byte W24 + .byte Cs2 , v116 + .byte W18 + .byte N06 , An1 + .byte W06 + .byte N12 , Cs2 , v127 + .byte W24 + .byte Cs2 , v116 + .byte W24 + .byte N06 , Ds2 , v127 + .byte W06 + .byte N18 + .byte W18 + .byte N12 , En2 + .byte W72 + .byte N06 , En2 , v088 + .byte W06 + .byte N12 , Bn1 + .byte W18 +mus_rg_t_tower_6_000: + .byte N12 , Dn2 , v100 + .byte W48 + .byte N12 + .byte W24 + .byte N06 , Dn2 , v088 + .byte W06 + .byte N12 , An1 + .byte W18 + .byte PEND +mus_rg_t_tower_6_001: + .byte N12 , En2 , v100 + .byte W72 + .byte N06 , En2 , v088 + .byte W06 + .byte N12 , Bn1 + .byte W18 + .byte PEND + .byte PATT + .word mus_rg_t_tower_6_000 + .byte PATT + .word mus_rg_t_tower_6_001 + .byte PATT + .word mus_rg_t_tower_6_000 + .byte PATT + .word mus_rg_t_tower_6_001 + .byte N12 , Dn2 , v100 + .byte W48 + .byte Dn2 , v088 + .byte W24 + .byte N06 + .byte W06 + .byte N12 , Cs2 + .byte W18 + .byte En2 , v127 + .byte W96 + .byte W96 + .byte W72 + .byte N06 , En2 , v112 + .byte W06 + .byte N12 , Bn1 + .byte W18 + .byte Cn2 , v127 + .byte W36 + .byte N06 , Cn2 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Dn2 + .byte W24 + .byte N06 , Dn2 , v127 + .byte W06 + .byte N18 + .byte W18 + .byte N12 , En2 + .byte W72 + .byte N06 , Bn1 , v076 + .byte W06 + .byte N12 , En2 , v100 + .byte W18 + .byte Dn2 + .byte W72 + .byte N06 , An1 , v076 + .byte W06 + .byte N12 , Dn2 , v100 + .byte W18 + .byte En2 + .byte W18 + .byte N06 , Bn1 + .byte W06 + .byte N12 , En2 , v112 + .byte W24 + .byte Dn2 , v100 + .byte W18 + .byte N06 , Bn1 + .byte W06 + .byte N12 , Dn2 , v112 + .byte W24 + .byte Bn1 , v100 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Bn1 , v112 + .byte W24 + .byte N06 , Dn2 + .byte W06 + .byte Bn1 , v064 + .byte W06 + .byte Dn2 , v072 + .byte W06 + .byte Bn1 , v080 + .byte W06 + .byte Dn2 , v092 + .byte W06 + .byte Bn1 , v100 + .byte W06 + .byte Dn2 , v108 + .byte W06 + .byte Bn1 , v116 + .byte W06 + .byte GOTO + .word mus_rg_t_tower_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_t_tower_7: + .byte KEYSH , mus_rg_t_tower_key+0 +mus_rg_t_tower_7_B1: + .byte VOICE , 0 + .byte VOL , 90*mus_rg_t_tower_mvl/mxv + .byte N06 , En1 , v112 + .byte N48 , Bn2 , v092 + .byte W12 + .byte N06 , En1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte N48 , Bn2 , v092 + .byte W12 + .byte N06 , En1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte N03 , En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte N48 , Bn2 , v092 + .byte W06 + .byte N06 , En1 , v080 + .byte W06 + .byte En1 , v100 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte En1 , v092 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte N03 , En1 , v112 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte N48 , Bn2 , v092 + .byte W18 + .byte N06 , En1 , v080 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v080 + .byte W12 + .byte En1 , v088 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte N03 , En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 +mus_rg_t_tower_7_000: + .byte N06 , En1 , v112 + .byte W18 + .byte En1 , v080 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v080 + .byte W12 + .byte En1 , v088 + .byte W12 + .byte N03 , En1 , v112 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND +mus_rg_t_tower_7_001: + .byte N06 , En1 , v112 + .byte W18 + .byte En1 , v080 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v080 + .byte W12 + .byte En1 , v088 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte N03 , En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_t_tower_7_000 + .byte PATT + .word mus_rg_t_tower_7_001 + .byte PATT + .word mus_rg_t_tower_7_000 + .byte PATT + .word mus_rg_t_tower_7_001 + .byte PATT + .word mus_rg_t_tower_7_000 + .byte N48 , Bn2 , v092 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte N03 , En1 , v076 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte En1 , v052 + .byte W03 + .byte En1 , v056 + .byte W03 + .byte En1 , v060 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte En1 , v072 + .byte W03 + .byte En1 , v080 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v088 + .byte W03 + .byte En1 , v092 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v100 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte N06 , En1 , v112 + .byte N48 , Bn2 , v092 + .byte W12 + .byte N06 , En1 , v112 + .byte W24 + .byte En1 , v088 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W24 + .byte N03 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W24 + .byte En1 , v088 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte En1 , v096 + .byte W12 + .byte En1 , v112 + .byte N48 , Bn2 , v092 + .byte W12 + .byte N06 , En1 , v088 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte N48 , Bn2 , v092 + .byte W03 + .byte N03 , En1 , v084 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte En1 , v112 + .byte N48 , Bn2 , v092 + .byte W12 + .byte N06 , En1 , v108 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte N03 , En1 , v112 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v048 + .byte W03 + .byte En1 , v052 + .byte W03 + .byte En1 , v056 + .byte W03 + .byte En1 , v060 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte En1 , v072 + .byte N24 , Bn2 , v092 + .byte W03 + .byte N03 , En1 , v080 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v088 + .byte W03 + .byte En1 , v092 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v100 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte GOTO + .word mus_rg_t_tower_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_t_tower: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_t_tower_pri @ Priority + .byte mus_rg_t_tower_rev @ Reverb. + + .word mus_rg_t_tower_grp + + .word mus_rg_t_tower_1 + .word mus_rg_t_tower_2 + .word mus_rg_t_tower_3 + .word mus_rg_t_tower_4 + .word mus_rg_t_tower_5 + .word mus_rg_t_tower_6 + .word mus_rg_t_tower_7 + + .end diff --git a/sound/songs/mus_rg_tamamusi.s b/sound/songs/mus_rg_tamamusi.s new file mode 100644 index 0000000000..afbb310681 --- /dev/null +++ b/sound/songs/mus_rg_tamamusi.s @@ -0,0 +1,2170 @@ + .include "MPlayDef.s" + + .equ mus_rg_tamamusi_grp, voicegroup_86AD738 + .equ mus_rg_tamamusi_pri, 0 + .equ mus_rg_tamamusi_rev, reverb_set+50 + .equ mus_rg_tamamusi_mvl, 127 + .equ mus_rg_tamamusi_key, 0 + .equ mus_rg_tamamusi_tbs, 1 + .equ mus_rg_tamamusi_exg, 0 + .equ mus_rg_tamamusi_cmp, 1 + + .section .rodata + .global mus_rg_tamamusi + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_tamamusi_1: + .byte KEYSH , mus_rg_tamamusi_key+0 + .byte TEMPO , 110*mus_rg_tamamusi_tbs/2 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+32 + .byte VOL , 26*mus_rg_tamamusi_mvl/mxv + .byte N36 , Fs3 , v120 + .byte W36 + .byte N06 , Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte N24 , Dn3 , v127 + .byte W24 + .byte N06 , En3 , v120 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 +mus_rg_tamamusi_1_B1: + .byte VOL , 26*mus_rg_tamamusi_mvl/mxv + .byte N24 , Gn3 , v127 + .byte W12 + .byte MOD , 7 + .byte VOL , 21*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 15*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 26*mus_rg_tamamusi_mvl/mxv + .byte N06 , Bn3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Gn3 + .byte W12 + .byte N06 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Bn3 + .byte W12 + .byte N12 , Cn4 , v108 + .byte W12 + .byte N48 , An3 , v127 + .byte W24 + .byte VOL , 21*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 16*mus_rg_tamamusi_mvl/mxv + .byte W03 + .byte 12*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 7*mus_rg_tamamusi_mvl/mxv + .byte W09 + .byte 25*mus_rg_tamamusi_mvl/mxv + .byte N24 , Fs3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , An3 + .byte W24 + .byte N12 , Fs3 + .byte W12 + .byte N36 , An3 + .byte W12 + .byte VOL , 21*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 16*mus_rg_tamamusi_mvl/mxv + .byte W03 + .byte 12*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 7*mus_rg_tamamusi_mvl/mxv + .byte W09 + .byte 24*mus_rg_tamamusi_mvl/mxv + .byte N06 + .byte W06 + .byte Bn3 , v112 + .byte W06 + .byte Cn4 , v104 + .byte W06 + .byte Bn3 , v112 + .byte W06 + .byte An3 , v127 + .byte W12 + .byte N12 , Bn3 + .byte W12 + .byte VOL , 21*mus_rg_tamamusi_mvl/mxv + .byte N24 , Gn3 + .byte W06 + .byte VOL , 16*mus_rg_tamamusi_mvl/mxv + .byte W03 + .byte 12*mus_rg_tamamusi_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W03 + .byte VOL , 7*mus_rg_tamamusi_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 25*mus_rg_tamamusi_mvl/mxv + .byte N24 , Gn4 , v088 + .byte W06 + .byte VOL , 15*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte VOL , 26*mus_rg_tamamusi_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 21*mus_rg_tamamusi_mvl/mxv + .byte N24 , Gn3 , v127 + .byte W06 + .byte VOL , 16*mus_rg_tamamusi_mvl/mxv + .byte W03 + .byte 12*mus_rg_tamamusi_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W03 + .byte VOL , 7*mus_rg_tamamusi_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 24*mus_rg_tamamusi_mvl/mxv + .byte N06 , Bn3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte VOL , 21*mus_rg_tamamusi_mvl/mxv + .byte N24 , Bn3 + .byte W06 + .byte VOL , 16*mus_rg_tamamusi_mvl/mxv + .byte W03 + .byte 12*mus_rg_tamamusi_mvl/mxv + .byte W03 + .byte MOD , 7 + .byte W03 + .byte VOL , 7*mus_rg_tamamusi_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 24*mus_rg_tamamusi_mvl/mxv + .byte N12 , Gn3 + .byte W12 + .byte N06 , En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte N12 , Bn3 + .byte W12 + .byte Cn4 , v108 + .byte W12 + .byte N48 , An3 , v127 + .byte W24 + .byte VOL , 21*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 16*mus_rg_tamamusi_mvl/mxv + .byte W03 + .byte 12*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 7*mus_rg_tamamusi_mvl/mxv + .byte W09 + .byte 25*mus_rg_tamamusi_mvl/mxv + .byte N12 + .byte W12 + .byte N06 , Bn3 + .byte W12 + .byte N12 , Cn4 , v108 + .byte W12 + .byte N06 , Bn3 , v127 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte N12 , Fs3 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte Fs3 + .byte W06 + .byte En3 , v120 + .byte W06 + .byte MOD , 7 + .byte N12 , Fs3 + .byte W12 + .byte MOD , 0 + .byte N06 , Dn3 , v127 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N48 , An3 + .byte W24 + .byte VOL , 21*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 16*mus_rg_tamamusi_mvl/mxv + .byte W03 + .byte 12*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 7*mus_rg_tamamusi_mvl/mxv + .byte W09 + .byte 24*mus_rg_tamamusi_mvl/mxv + .byte N48 , Bn3 + .byte W24 + .byte VOL , 21*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 16*mus_rg_tamamusi_mvl/mxv + .byte W03 + .byte 12*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 7*mus_rg_tamamusi_mvl/mxv + .byte W09 + .byte 25*mus_rg_tamamusi_mvl/mxv + .byte N24 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Dn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , An3 + .byte W12 + .byte Cn4 , v096 + .byte W12 + .byte N48 , Bn3 , v127 + .byte W24 + .byte VOL , 21*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 16*mus_rg_tamamusi_mvl/mxv + .byte W03 + .byte 12*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 7*mus_rg_tamamusi_mvl/mxv + .byte W09 + .byte 24*mus_rg_tamamusi_mvl/mxv + .byte N48 , An3 + .byte W24 + .byte VOL , 21*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 16*mus_rg_tamamusi_mvl/mxv + .byte W03 + .byte 12*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 7*mus_rg_tamamusi_mvl/mxv + .byte W09 + .byte 25*mus_rg_tamamusi_mvl/mxv + .byte N24 , Fs3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W12 +mus_rg_tamamusi_1_000: + .byte MOD , 0 + .byte N24 , An3 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte VOL , 21*mus_rg_tamamusi_mvl/mxv + .byte N24 , Fs3 + .byte W06 + .byte VOL , 15*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte VOL , 26*mus_rg_tamamusi_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 21*mus_rg_tamamusi_mvl/mxv + .byte N24 , An3 + .byte W06 + .byte VOL , 15*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 26*mus_rg_tamamusi_mvl/mxv + .byte W12 + .byte PEND + .byte N48 , Bn3 + .byte W24 + .byte VOL , 21*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 16*mus_rg_tamamusi_mvl/mxv + .byte W03 + .byte 12*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 7*mus_rg_tamamusi_mvl/mxv + .byte W09 + .byte 25*mus_rg_tamamusi_mvl/mxv + .byte N24 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Dn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , An3 + .byte W12 + .byte Cn4 , v104 + .byte W12 + .byte N48 , Bn3 , v127 + .byte W24 + .byte VOL , 21*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 16*mus_rg_tamamusi_mvl/mxv + .byte W03 + .byte 12*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 7*mus_rg_tamamusi_mvl/mxv + .byte W09 + .byte 24*mus_rg_tamamusi_mvl/mxv + .byte N48 , An3 + .byte W24 + .byte VOL , 21*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 16*mus_rg_tamamusi_mvl/mxv + .byte W03 + .byte 12*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 7*mus_rg_tamamusi_mvl/mxv + .byte W09 + .byte 26*mus_rg_tamamusi_mvl/mxv + .byte N24 , Fs3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte PATT + .word mus_rg_tamamusi_1_000 + .byte N48 , An2 , v120 + .byte W24 + .byte VOL , 21*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 16*mus_rg_tamamusi_mvl/mxv + .byte W03 + .byte 12*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 7*mus_rg_tamamusi_mvl/mxv + .byte W09 + .byte 26*mus_rg_tamamusi_mvl/mxv + .byte N24 , Fs3 + .byte W12 + .byte VOL , 19*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 16*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 25*mus_rg_tamamusi_mvl/mxv + .byte N12 , An3 + .byte W12 + .byte Dn3 + .byte W12 + .byte GOTO + .word mus_rg_tamamusi_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_tamamusi_2: + .byte KEYSH , mus_rg_tamamusi_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 48*mus_rg_tamamusi_mvl/mxv + .byte N06 , Dn4 , v127 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N48 , An4 + .byte W30 + .byte VOL , 54*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 61*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 70*mus_rg_tamamusi_mvl/mxv + .byte W06 +mus_rg_tamamusi_2_B1: + .byte VOICE , 73 + .byte VOL , 65*mus_rg_tamamusi_mvl/mxv + .byte N24 , Bn4 , v127 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , Gn4 + .byte W24 + .byte N12 , Bn4 + .byte W12 + .byte N36 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 56*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 45*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 65*mus_rg_tamamusi_mvl/mxv + .byte N06 , Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W12 + .byte N12 , Bn4 + .byte W12 + .byte N48 , An4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte VOL , 56*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 45*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 65*mus_rg_tamamusi_mvl/mxv + .byte N24 + .byte W24 + .byte N06 , Fs4 + .byte W24 + .byte N12 , An4 + .byte W12 + .byte N36 , Fs4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 56*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 45*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 65*mus_rg_tamamusi_mvl/mxv + .byte N06 , An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W12 + .byte N12 , Bn4 + .byte W12 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOICE , 48 + .byte VOL , 45*mus_rg_tamamusi_mvl/mxv + .byte MOD , 0 + .byte N24 + .byte W12 + .byte VOL , 34*mus_rg_tamamusi_mvl/mxv + .byte W12 + .byte 45*mus_rg_tamamusi_mvl/mxv + .byte N06 , Gn4 + .byte W24 + .byte N12 , Bn4 + .byte W12 + .byte N24 , Gn4 + .byte W12 + .byte VOL , 34*mus_rg_tamamusi_mvl/mxv + .byte W12 + .byte 45*mus_rg_tamamusi_mvl/mxv + .byte N12 , Bn3 + .byte W12 + .byte VOL , 45*mus_rg_tamamusi_mvl/mxv + .byte N06 , Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte N12 , Cn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte N48 , An4 + .byte W12 + .byte VOL , 34*mus_rg_tamamusi_mvl/mxv + .byte W36 + .byte 45*mus_rg_tamamusi_mvl/mxv + .byte N12 + .byte W12 + .byte N06 , Gn4 + .byte W12 + .byte N12 , Fs4 + .byte W12 + .byte N06 , Gn4 + .byte W12 + .byte N12 , Fs4 + .byte W12 + .byte N06 , En4 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte N06 , Cs4 + .byte W12 + .byte N48 , Dn4 + .byte W12 + .byte VOL , 34*mus_rg_tamamusi_mvl/mxv + .byte W36 + .byte 45*mus_rg_tamamusi_mvl/mxv + .byte N48 , Dn5 + .byte W12 + .byte VOL , 34*mus_rg_tamamusi_mvl/mxv + .byte W36 + .byte VOICE , 60 + .byte VOL , 45*mus_rg_tamamusi_mvl/mxv + .byte N48 , Dn4 , v120 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 39*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 34*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 28*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 22*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 45*mus_rg_tamamusi_mvl/mxv + .byte N12 , Cn4 , v127 + .byte W12 + .byte Bn3 + .byte W12 + .byte N03 , An3 + .byte W03 + .byte Bn3 , v096 + .byte W03 + .byte N06 , An3 , v108 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte Bn3 , v127 + .byte W06 + .byte N24 , En4 , v096 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Fs4 , v127 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte VOL , 45*mus_rg_tamamusi_mvl/mxv + .byte N48 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 39*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 34*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 28*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 22*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 45*mus_rg_tamamusi_mvl/mxv + .byte N48 , Cn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 39*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 34*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 28*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 22*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 45*mus_rg_tamamusi_mvl/mxv + .byte N12 , An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte VOL , 45*mus_rg_tamamusi_mvl/mxv + .byte N48 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 39*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 34*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 28*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 22*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte VOICE , 73 + .byte MOD , 0 + .byte VOL , 68*mus_rg_tamamusi_mvl/mxv + .byte N48 , Dn4 , v120 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 61*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 55*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 50*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 45*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 68*mus_rg_tamamusi_mvl/mxv + .byte N12 , Cn4 , v127 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte N24 , En4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte N48 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 61*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 55*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 50*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 45*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 65*mus_rg_tamamusi_mvl/mxv + .byte N48 , Cn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 61*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 55*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 50*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 45*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 69*mus_rg_tamamusi_mvl/mxv + .byte N12 , An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte N48 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 61*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 55*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 50*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 45*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 68*mus_rg_tamamusi_mvl/mxv + .byte N03 , Dn4 , v120 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 , v068 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 , v076 + .byte W03 + .byte Gn4 + .byte W03 + .byte An4 + .byte W03 + .byte Bn4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Cs5 , v088 + .byte W03 + .byte N30 , Dn5 , v120 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte VOL , 56*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W06 + .byte VOL , 69*mus_rg_tamamusi_mvl/mxv + .byte N06 , Cn5 + .byte W06 + .byte N03 , An4 , v100 + .byte W03 + .byte Fs4 , v092 + .byte W03 + .byte En4 , v084 + .byte W03 + .byte Dn4 , v072 + .byte W03 + .byte GOTO + .word mus_rg_tamamusi_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_tamamusi_3: + .byte KEYSH , mus_rg_tamamusi_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-64 + .byte VOL , 34*mus_rg_tamamusi_mvl/mxv + .byte W48 + .byte N06 , Dn3 , v127 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 +mus_rg_tamamusi_3_B1: + .byte PAN , c_v-64 + .byte MOD , 0 + .byte N06 , Dn2 , v127 + .byte W06 + .byte Gn2 , v120 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Bn2 , v127 + .byte W06 + .byte Gn2 , v120 + .byte W06 + .byte Dn2 , v127 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Bn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v+62 + .byte N12 , Bn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Bn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Bn2 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Fs2 , v120 + .byte W06 + .byte PAN , c_v+62 + .byte N06 , An2 , v127 + .byte W06 + .byte Cn3 , v120 + .byte W06 + .byte An2 + .byte W06 + .byte Fs2 , v127 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Dn2 + .byte W06 + .byte Cn3 , v120 + .byte W06 + .byte Dn2 , v127 + .byte W06 + .byte Fs2 , v120 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , An2 , v127 + .byte W06 + .byte Cn3 , v120 + .byte W06 + .byte Dn2 , v127 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , An2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v+62 + .byte N12 , An2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , An2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N09 , An2 + .byte W09 + .byte N03 , Cs3 , v120 + .byte W03 + .byte N06 , Dn3 , v127 + .byte W06 + .byte Cn3 , v120 + .byte W06 + .byte PAN , c_v+62 + .byte N06 , Bn2 , v127 + .byte W06 + .byte An2 , v120 + .byte W06 + .byte Bn2 + .byte W06 + .byte An2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W06 + .byte N03 , Fs2 + .byte W03 + .byte Cs3 + .byte W03 + .byte N06 , Dn3 , v127 + .byte W06 + .byte Dn2 , v120 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , Bn2 , v127 + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Bn2 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Gn2 , v120 + .byte W06 + .byte PAN , c_v+62 + .byte N06 , Bn2 , v127 + .byte W06 + .byte En2 , v120 + .byte W06 + .byte N12 , Dn2 , v127 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Bn2 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Gn2 , v120 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Bn2 , v127 + .byte W06 + .byte Gn2 , v120 + .byte W06 + .byte N12 , Dn2 , v127 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Bn2 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte Dn2 , v120 + .byte W06 + .byte PAN , c_v+62 + .byte N06 , Fs2 , v127 + .byte W06 + .byte Dn2 , v120 + .byte W06 + .byte N12 , Dn2 , v127 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , An2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Gn2 + .byte W12 + .byte N12 , Fs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v+62 + .byte N06 , En2 + .byte W12 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Dn2 + .byte W12 + .byte An1 + .byte W06 + .byte Gs1 , v120 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , An1 + .byte W12 + .byte N06 , Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , An2 + .byte W06 + .byte Fs2 + .byte W06 + .byte N36 , Dn2 , v127 + .byte W09 + .byte MOD , 8 + .byte W03 + .byte PAN , c_v+62 + .byte VOL , 22*mus_rg_tamamusi_mvl/mxv + .byte W24 + .byte PAN , c_v-64 + .byte VOL , 34*mus_rg_tamamusi_mvl/mxv + .byte N12 , Fs2 + .byte W03 + .byte MOD , 0 + .byte W09 +mus_rg_tamamusi_3_000: + .byte N12 , Gn2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+62 + .byte N12 , Dn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Bn2 + .byte W12 + .byte PEND +mus_rg_tamamusi_3_001: + .byte PAN , c_v+63 + .byte N12 , Gn2 , v127 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn3 + .byte W12 + .byte PEND +mus_rg_tamamusi_3_002: + .byte N12 , Fs2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn3 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn3 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v+62 + .byte N12 , Dn3 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn3 + .byte W12 + .byte PEND + .byte PAN , c_v+63 + .byte N12 , Fs2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn3 + .byte W12 + .byte PATT + .word mus_rg_tamamusi_3_000 + .byte PATT + .word mus_rg_tamamusi_3_001 + .byte PATT + .word mus_rg_tamamusi_3_002 + .byte PAN , c_v+63 + .byte N12 , Fs2 , v127 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En2 + .byte W12 + .byte N36 , Dn2 , v120 + .byte W12 + .byte MOD , 8 + .byte VOL , 22*mus_rg_tamamusi_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte VOL , 34*mus_rg_tamamusi_mvl/mxv + .byte W03 + .byte N03 , Ds2 + .byte W03 + .byte En2 + .byte W03 + .byte Fn2 + .byte W03 + .byte N24 , Fs2 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , An2 + .byte W09 + .byte MOD , 8 + .byte W15 + .byte GOTO + .word mus_rg_tamamusi_3_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_tamamusi_4: + .byte KEYSH , mus_rg_tamamusi_key+0 + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 53*mus_rg_tamamusi_mvl/mxv + .byte MOD , 2 + .byte W96 +mus_rg_tamamusi_4_B1: +mus_rg_tamamusi_4_000: + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Gn2 , v096 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn2 + .byte W06 + .byte En2 + .byte W06 + .byte N12 , Dn2 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PEND +mus_rg_tamamusi_4_001: + .byte W12 + .byte N06 , Gn2 , v096 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N12 , Dn1 , v120 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte An2 + .byte W06 + .byte Gn2 + .byte W06 + .byte PEND + .byte N12 , Dn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W12 + .byte An2 + .byte W06 + .byte Fs2 + .byte W06 + .byte N12 , Dn2 + .byte W12 + .byte N06 , Fs2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fs2 + .byte W12 + .byte W12 + .byte An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fs2 + .byte W12 + .byte Dn2 , v120 + .byte W12 + .byte N12 , Cn2 , v100 + .byte W12 + .byte N06 , Bn1 , v120 + .byte W12 + .byte N12 , An1 , v104 + .byte W12 + .byte PATT + .word mus_rg_tamamusi_4_000 + .byte PATT + .word mus_rg_tamamusi_4_001 + .byte N12 , Dn2 , v120 + .byte W12 + .byte Dn1 + .byte W24 + .byte N12 + .byte W24 + .byte Cs1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte N48 , An1 + .byte W24 + .byte VOL , 44*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 38*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 34*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 29*mus_rg_tamamusi_mvl/mxv + .byte W06 + .byte 53*mus_rg_tamamusi_mvl/mxv + .byte N06 , Dn1 + .byte W12 + .byte N24 + .byte W24 + .byte N12 , Fs1 + .byte W12 +mus_rg_tamamusi_4_002: + .byte N12 , Gn1 , v120 + .byte W42 + .byte N06 , Fs1 , v096 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W48 + .byte PEND +mus_rg_tamamusi_4_003: + .byte N12 , Gn1 , v120 + .byte W48 + .byte N12 + .byte W24 + .byte N18 , Dn2 + .byte W18 + .byte N06 , Cs2 + .byte W06 + .byte PEND +mus_rg_tamamusi_4_004: + .byte N12 , Dn1 , v120 + .byte W42 + .byte N06 , Cs1 , v096 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W48 + .byte PEND +mus_rg_tamamusi_4_005: + .byte N12 , Dn1 , v120 + .byte W42 + .byte N06 , Cs1 , v096 + .byte W06 + .byte Dn1 , v120 + .byte W12 + .byte N18 + .byte W18 + .byte N06 , Dn2 + .byte W06 + .byte N12 , Cn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_tamamusi_4_002 + .byte PATT + .word mus_rg_tamamusi_4_003 + .byte PATT + .word mus_rg_tamamusi_4_004 + .byte PATT + .word mus_rg_tamamusi_4_005 + .byte N48 , Dn1 , v120 + .byte W48 + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte Dn2 + .byte W06 + .byte N12 , Dn1 + .byte W12 + .byte GOTO + .word mus_rg_tamamusi_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_tamamusi_5: + .byte KEYSH , mus_rg_tamamusi_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 25*mus_rg_tamamusi_mvl/mxv + .byte W48 + .byte N06 , Dn4 , v127 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W06 +mus_rg_tamamusi_5_B1: + .byte VOICE , 45 + .byte VOL , 50*mus_rg_tamamusi_mvl/mxv + .byte W12 + .byte N12 , Dn4 , v112 + .byte W12 + .byte Gn4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Dn5 + .byte W12 + .byte Dn4 + .byte W36 + .byte W48 + .byte N12 + .byte W12 + .byte Fs4 + .byte W12 + .byte An4 + .byte W12 + .byte N06 , Cn5 + .byte W06 + .byte An4 + .byte W06 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte An4 + .byte W12 + .byte Dn5 + .byte W12 + .byte Dn4 + .byte W36 + .byte W96 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte N12 , Dn5 + .byte W12 + .byte Gn4 + .byte W24 + .byte Dn4 + .byte W12 + .byte W48 + .byte N12 + .byte W12 + .byte Fs4 + .byte W12 + .byte N06 , An4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte An4 + .byte W06 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte An4 + .byte W12 + .byte Dn5 + .byte W12 + .byte Fs4 + .byte W12 + .byte N06 , An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte N12 , Dn5 + .byte W24 + .byte N06 , Gn4 + .byte W12 + .byte Fs4 + .byte W06 + .byte En4 , v080 + .byte W06 + .byte N12 , Dn5 , v112 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_tamamusi_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_tamamusi_6: + .byte KEYSH , mus_rg_tamamusi_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 43*mus_rg_tamamusi_mvl/mxv + .byte W96 +mus_rg_tamamusi_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 48 + .byte PAN , c_v-32 + .byte VOL , 37*mus_rg_tamamusi_mvl/mxv + .byte N06 , Dn2 , v120 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte An2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte An2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Bn1 + .byte W06 +mus_rg_tamamusi_6_000: + .byte N06 , Dn2 , v120 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte An2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte An2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte PEND +mus_rg_tamamusi_6_001: + .byte N06 , Dn2 , v120 + .byte W06 + .byte Fs2 + .byte W06 + .byte An2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Cn3 + .byte W06 + .byte An2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Cn2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte An2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte An2 + .byte W06 + .byte Fs2 + .byte W06 + .byte En2 + .byte W06 + .byte PEND + .byte Dn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte An2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Fs2 + .byte W06 + .byte An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte An2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Fs3 + .byte W06 + .byte En3 + .byte W06 + .byte Cn3 + .byte W06 + .byte PATT + .word mus_rg_tamamusi_6_000 + .byte PATT + .word mus_rg_tamamusi_6_000 + .byte PATT + .word mus_rg_tamamusi_6_001 + .byte N06 , Dn2 , v120 + .byte W06 + .byte Fs2 + .byte W06 + .byte An2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Cn3 + .byte W06 + .byte An2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En2 + .byte W06 + .byte An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte An2 + .byte W06 + .byte Fs3 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte N03 , Fs3 , v116 + .byte W03 + .byte N03 + .byte W03 + .byte Fs3 , v080 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N30 , An3 , v120 + .byte W30 + .byte N06 , En3 + .byte W06 + .byte N03 , Dn3 + .byte W03 + .byte Cn3 + .byte W03 + .byte An2 + .byte W03 + .byte Fs2 + .byte W03 + .byte GOTO + .word mus_rg_tamamusi_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_tamamusi_7: + .byte KEYSH , mus_rg_tamamusi_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 64*mus_rg_tamamusi_mvl/mxv + .byte N03 , Fs2 , v076 + .byte W03 + .byte Fs2 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Fs2 , v064 + .byte W12 + .byte Fs2 , v088 + .byte W12 + .byte N06 , Gs2 , v064 + .byte W06 + .byte Dn3 , v088 + .byte W06 + .byte N12 , En3 , v108 + .byte W12 +mus_rg_tamamusi_7_B1: + .byte N12 , Fs2 , v064 + .byte W12 + .byte Fs2 , v024 + .byte W12 + .byte Fs2 , v088 + .byte W12 + .byte Fs2 , v064 + .byte W12 + .byte Fs2 , v024 + .byte W12 + .byte Fs2 , v088 + .byte W36 + .byte N03 , Fs2 , v076 + .byte W03 + .byte Fs2 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Fs2 , v064 + .byte W12 + .byte Fs2 , v088 + .byte W12 + .byte N06 , Gs2 , v064 + .byte W06 + .byte Dn3 , v088 + .byte W06 + .byte N12 , En3 , v108 + .byte W12 + .byte Fs2 , v064 + .byte W12 + .byte Fs2 , v024 + .byte W12 + .byte Fs2 , v088 + .byte W12 + .byte Fs2 , v064 + .byte W12 + .byte Fs2 , v024 + .byte W12 + .byte Fs2 , v088 + .byte W12 + .byte N03 , Fs2 , v076 + .byte W03 + .byte Fs2 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Gs2 , v068 + .byte W06 + .byte Dn3 , v080 + .byte W06 + .byte En3 , v108 + .byte W06 + .byte Gs2 , v068 + .byte W06 + .byte N12 , Fs2 , v064 + .byte W12 + .byte Fs2 , v024 + .byte W12 + .byte N03 , Fs2 , v076 + .byte W03 + .byte Fs2 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte Fs2 , v084 + .byte W03 + .byte Fs2 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Fs2 , v108 + .byte W12 + .byte N12 , Fs2 , v064 + .byte W12 + .byte Fs2 , v024 + .byte W12 + .byte Fs2 , v088 + .byte W12 + .byte Fs2 , v064 + .byte W12 + .byte Fs2 , v024 + .byte W12 + .byte Fs2 , v088 + .byte W12 + .byte N06 , Gs2 , v068 + .byte W06 + .byte Dn3 , v080 + .byte W06 + .byte En3 , v108 + .byte W06 + .byte Gs2 , v068 + .byte W06 + .byte N03 , Fs2 , v076 + .byte W03 + .byte Fs2 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Fs2 , v064 + .byte W12 + .byte Fs2 , v088 + .byte W12 + .byte N06 , Gs2 , v080 + .byte W06 + .byte Dn3 , v088 + .byte W06 + .byte En3 , v108 + .byte W06 + .byte Gs2 , v068 + .byte W06 + .byte Fs2 , v064 + .byte W12 + .byte Fs2 , v024 + .byte W12 + .byte Fs2 , v088 + .byte W12 + .byte Fs2 , v064 + .byte W12 + .byte Fs2 , v024 + .byte W12 + .byte Fs2 , v088 + .byte W12 + .byte N03 , Fs2 , v076 + .byte W03 + .byte Fs2 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Gs2 , v084 + .byte W06 + .byte Dn3 , v096 + .byte W06 + .byte En3 , v104 + .byte W06 + .byte Gs2 , v064 + .byte W06 + .byte N12 , Fs2 + .byte W12 + .byte Fs2 , v024 + .byte W12 + .byte N03 , Fs2 , v076 + .byte W03 + .byte Fs2 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte Fs2 , v084 + .byte W03 + .byte Fs2 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Fs2 , v108 + .byte W12 +mus_rg_tamamusi_7_000: + .byte N12 , Bn4 , v056 + .byte W12 + .byte N09 , Bn4 , v024 + .byte W12 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte N12 , Bn4 , v044 + .byte W12 + .byte N09 , Bn4 , v024 + .byte W12 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_tamamusi_7_000 + .byte PATT + .word mus_rg_tamamusi_7_000 + .byte PATT + .word mus_rg_tamamusi_7_000 + .byte PATT + .word mus_rg_tamamusi_7_000 + .byte PATT + .word mus_rg_tamamusi_7_000 + .byte PATT + .word mus_rg_tamamusi_7_000 + .byte PATT + .word mus_rg_tamamusi_7_000 + .byte N03 , Fs2 , v076 + .byte W03 + .byte Fs2 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N12 , Fs2 , v064 + .byte W12 + .byte Fs2 , v088 + .byte W12 + .byte N24 , Bn4 , v048 + .byte W24 + .byte GOTO + .word mus_rg_tamamusi_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_tamamusi: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_tamamusi_pri @ Priority + .byte mus_rg_tamamusi_rev @ Reverb. + + .word mus_rg_tamamusi_grp + + .word mus_rg_tamamusi_1 + .word mus_rg_tamamusi_2 + .word mus_rg_tamamusi_3 + .word mus_rg_tamamusi_4 + .word mus_rg_tamamusi_5 + .word mus_rg_tamamusi_6 + .word mus_rg_tamamusi_7 + + .end diff --git a/sound/songs/mus_rg_title.s b/sound/songs/mus_rg_title.s new file mode 100644 index 0000000000..25b520dbc7 --- /dev/null +++ b/sound/songs/mus_rg_title.s @@ -0,0 +1,3330 @@ + .include "MPlayDef.s" + + .equ mus_rg_title_grp, voicegroup_86A2FD4 + .equ mus_rg_title_pri, 0 + .equ mus_rg_title_rev, reverb_set+50 + .equ mus_rg_title_mvl, 127 + .equ mus_rg_title_key, 0 + .equ mus_rg_title_tbs, 1 + .equ mus_rg_title_exg, 0 + .equ mus_rg_title_cmp, 1 + + .section .rodata + .global mus_rg_title + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_title_1: + .byte KEYSH , mus_rg_title_key+0 + .byte TEMPO , 140*mus_rg_title_tbs/2 + .byte VOICE , 60 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+32 + .byte VOL , 67*mus_rg_title_mvl/mxv + .byte N06 , En2 , v127 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte N03 , Gn3 + .byte W24 + .byte N06 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N19 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N05 , An3 + .byte W08 + .byte N05 + .byte W08 + .byte N05 + .byte W08 + .byte N05 + .byte W08 + .byte N05 + .byte W08 + .byte As3 + .byte W08 +mus_rg_title_1_B1: + .byte W96 + .byte W96 + .byte W48 + .byte PAN , c_v+0 + .byte W48 + .byte W48 + .byte c_v+32 + .byte W48 + .byte W96 + .byte W96 + .byte W48 + .byte c_v+0 + .byte W48 + .byte W60 + .byte c_v+32 + .byte W36 + .byte W96 + .byte c_v+0 + .byte W96 + .byte W96 + .byte W48 + .byte c_v+32 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 60 + .byte VOL , 55*mus_rg_title_mvl/mxv + .byte PAN , c_v-32 + .byte N72 , Dn3 , v112 + .byte W72 + .byte N24 , En3 + .byte W24 + .byte N48 , Fn3 + .byte W48 + .byte N24 , Gn3 + .byte W24 + .byte Fn3 + .byte W24 + .byte N72 , En3 + .byte W72 + .byte N24 , Fn3 + .byte W24 + .byte N48 , Gn3 + .byte W48 + .byte N24 , Cn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte VOICE , 48 + .byte PAN , c_v+32 + .byte N06 , Dn4 , v127 + .byte W12 + .byte Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N16 , Cn4 + .byte W16 + .byte N16 + .byte W16 + .byte Cs4 + .byte W16 + .byte N06 , Dn4 + .byte W12 + .byte Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N16 , En3 + .byte W16 + .byte N16 + .byte W16 + .byte Dn3 + .byte W16 + .byte GOTO + .word mus_rg_title_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_title_2: + .byte KEYSH , mus_rg_title_key+0 + .byte VOICE , 87 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 45*mus_rg_title_mvl/mxv + .byte N03 , Gn3 , v127 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W24 + .byte Gn4 , v120 + .byte W36 + .byte Gn4 , v127 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W24 + .byte N03 + .byte W24 + .byte N18 , Gn4 , v120 + .byte W24 + .byte N05 , Fn4 , v127 + .byte W08 + .byte N05 + .byte W08 + .byte N05 + .byte W08 + .byte N05 + .byte W08 + .byte N05 + .byte W08 + .byte Fs4 + .byte W08 +mus_rg_title_2_B1: + .byte VOICE , 87 + .byte VOL , 45*mus_rg_title_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 88 + .byte VOL , 68*mus_rg_title_mvl/mxv + .byte W24 + .byte W03 + .byte N01 , Cs4 , v127 + .byte W01 + .byte Cn4 + .byte W02 + .byte Bn3 + .byte W01 + .byte As3 + .byte W01 + .byte An3 + .byte W02 + .byte Gs3 + .byte W01 + .byte Gn3 + .byte W01 + .byte Fs3 + .byte W02 + .byte N02 , Fn3 + .byte W02 + .byte N01 , En3 + .byte W02 + .byte Ds3 + .byte W01 + .byte N24 , Dn3 + .byte W28 + .byte N01 , Cn5 + .byte N01 , Cs5 + .byte W01 + .byte Bn4 + .byte W02 + .byte As4 + .byte W01 + .byte Gs4 + .byte N01 , An4 + .byte W02 + .byte Gn4 + .byte W01 + .byte Fs4 + .byte W01 + .byte Fn4 + .byte W02 + .byte En4 + .byte W02 + .byte Ds4 + .byte W01 + .byte N07 , Dn4 + .byte W08 + .byte N01 , Cs4 + .byte W01 + .byte Cn4 + .byte W02 + .byte As3 + .byte N01 , Bn3 + .byte W01 + .byte W01 + .byte An3 + .byte W02 + .byte Gn3 + .byte N01 , Gs3 + .byte W02 + .byte Fs3 + .byte W02 + .byte N02 , Fn3 + .byte W02 + .byte N01 , En3 + .byte W02 + .byte Ds3 + .byte W01 + .byte N16 , Dn3 + .byte W84 + .byte W36 + .byte W03 + .byte N01 , Cn5 + .byte N01 , Cs5 + .byte W01 + .byte Bn4 + .byte W02 + .byte As4 + .byte W01 + .byte Gs4 + .byte N01 , An4 + .byte W02 + .byte Gn4 + .byte W01 + .byte Fs4 + .byte W01 + .byte Fn4 + .byte W02 + .byte En4 + .byte W02 + .byte Ds4 + .byte W01 + .byte N28 , Dn4 + .byte W30 + .byte N01 , Cs4 + .byte W01 + .byte Cn4 + .byte W01 + .byte Bn3 + .byte W01 + .byte As3 + .byte W02 + .byte An3 + .byte W01 + .byte Gs3 + .byte W01 + .byte Gn3 + .byte W02 + .byte Fs3 + .byte W01 + .byte N02 , Fn3 + .byte W03 + .byte N01 , En3 + .byte W01 + .byte Ds3 + .byte W02 + .byte N36 , Dn3 + .byte W92 + .byte W02 + .byte GOTO + .word mus_rg_title_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_title_3: + .byte KEYSH , mus_rg_title_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 90*mus_rg_title_mvl/mxv + .byte PAN , c_v+16 + .byte N06 , Gn1 , v127 + .byte W12 + .byte Dn1 + .byte W12 + .byte N14 , Gn2 + .byte W24 + .byte N09 + .byte W06 + .byte VOL , 56*mus_rg_title_mvl/mxv + .byte W18 + .byte 90*mus_rg_title_mvl/mxv + .byte W12 + .byte N02 , Dn2 + .byte W06 + .byte N02 + .byte W06 + .byte N10 , Gn2 + .byte W24 + .byte N06 + .byte W24 + .byte N14 + .byte W24 + .byte N05 , Fn1 + .byte W08 + .byte N05 + .byte W08 + .byte N05 + .byte W08 + .byte Fn2 + .byte W08 + .byte N05 + .byte W08 + .byte Cn2 + .byte W08 +mus_rg_title_3_B1: + .byte VOICE , 47 + .byte N12 , Dn2 , v127 + .byte W24 + .byte Gn1 + .byte W12 + .byte Dn2 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Gn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W24 + .byte An1 + .byte W12 + .byte Fn1 + .byte W24 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Fn2 + .byte W12 + .byte N06 , Gn1 + .byte W06 + .byte An1 , v120 + .byte W06 + .byte N12 , Bn1 , v127 + .byte W24 + .byte Gn1 + .byte W12 + .byte Dn1 + .byte W24 + .byte N03 , Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Gn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W24 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W24 + .byte N03 , Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Gn2 + .byte W12 + .byte N03 , Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Gn2 + .byte W24 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W24 + .byte N03 , Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Fn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte Fn1 + .byte W24 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W24 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Gn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W24 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W24 + .byte N03 , Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Gn2 + .byte W18 + .byte N06 , Cs1 + .byte W06 + .byte N12 , Gn1 + .byte W24 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W24 + .byte N03 , Dn2 + .byte W06 + .byte Dn2 , v120 + .byte W06 + .byte N12 , Gn2 , v127 + .byte W12 + .byte N03 , Gn1 , v120 + .byte W03 + .byte N03 + .byte W06 + .byte N03 + .byte W03 + .byte N12 , Gn1 , v127 + .byte W24 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W24 + .byte N03 , Dn2 + .byte W06 + .byte Dn2 , v120 + .byte W06 + .byte N12 , Gn2 , v127 + .byte W12 + .byte Dn1 + .byte W12 + .byte Fn1 + .byte W24 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W24 + .byte N03 , Cn2 + .byte W06 + .byte Cn2 , v120 + .byte W06 + .byte N12 , Fn2 , v127 + .byte W12 + .byte N06 , Gn1 + .byte W06 + .byte An1 , v120 + .byte W06 + .byte N12 , Bn1 , v127 + .byte W24 + .byte Gn1 + .byte W12 + .byte Dn1 + .byte W24 + .byte N03 , Dn2 + .byte W06 + .byte Dn2 , v120 + .byte W06 + .byte N12 , Gn2 , v127 + .byte W12 + .byte Dn1 + .byte W12 +mus_rg_title_3_000: + .byte N12 , Gn1 , v127 + .byte W24 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W24 + .byte N03 , Dn2 + .byte W06 + .byte Dn2 , v120 + .byte W06 + .byte N12 , Gn2 , v127 + .byte W12 + .byte N03 , Dn2 + .byte W06 + .byte Dn2 , v120 + .byte W06 + .byte PEND + .byte N12 , Gn2 , v127 + .byte W12 + .byte Gn1 , v120 + .byte W24 + .byte N03 , Dn2 , v127 + .byte W06 + .byte Dn2 , v120 + .byte W06 + .byte N12 , Gn2 + .byte W12 + .byte N03 , Dn2 , v127 + .byte W06 + .byte Dn2 , v120 + .byte W06 + .byte N12 , Gn2 , v127 + .byte W12 + .byte Dn1 + .byte W12 + .byte Fn1 + .byte W24 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W24 + .byte N03 , Cn2 + .byte W06 + .byte Cn2 , v120 + .byte W06 + .byte N12 , Fn2 , v127 + .byte W12 + .byte Fs2 + .byte W12 + .byte PATT + .word mus_rg_title_3_000 + .byte N12 , Gn2 , v127 + .byte W24 + .byte Dn1 + .byte W12 + .byte An1 + .byte W24 + .byte N03 , Fn2 + .byte W06 + .byte Fn2 , v120 + .byte W06 + .byte N12 , An2 , v127 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte Fn2 , v120 + .byte W06 + .byte N12 , As2 , v127 + .byte W24 + .byte Fn1 + .byte W12 + .byte Dn1 + .byte W24 + .byte N03 , Fn2 + .byte W06 + .byte Fn2 , v120 + .byte W06 + .byte N12 , As2 , v127 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte Fn2 , v120 + .byte W06 + .byte N12 , As2 , v127 + .byte W24 + .byte Fn1 + .byte W12 + .byte As1 + .byte W24 + .byte N03 , Fn2 + .byte W06 + .byte Fn2 , v120 + .byte W06 + .byte N12 , Bn2 , v127 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W24 + .byte Gn1 + .byte W12 + .byte En1 + .byte W24 + .byte N03 , Gn2 + .byte W06 + .byte Gn2 , v120 + .byte W06 + .byte N12 , Cn3 , v127 + .byte W12 + .byte N03 , Gn2 + .byte W06 + .byte Gn2 , v120 + .byte W06 + .byte N12 , Cn3 , v127 + .byte W24 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W24 + .byte N03 , Gn2 + .byte W06 + .byte Gn2 , v120 + .byte W06 + .byte N12 , Cs2 , v127 + .byte W12 + .byte An1 + .byte W12 + .byte Dn3 + .byte W96 + .byte W48 + .byte N16 , Cn3 + .byte W16 + .byte N16 + .byte W16 + .byte Cs3 + .byte W16 + .byte N06 , Dn3 + .byte W96 + .byte W48 + .byte N16 , Cn2 + .byte W16 + .byte N16 + .byte W16 + .byte Bn1 + .byte W16 + .byte GOTO + .word mus_rg_title_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_title_4: + .byte KEYSH , mus_rg_title_key+0 + .byte VOICE , 58 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 90*mus_rg_title_mvl/mxv + .byte PAN , c_v-32 + .byte N06 , Gn1 , v127 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W24 + .byte N06 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N05 , Fn1 + .byte W08 + .byte N05 + .byte W08 + .byte N05 + .byte W08 + .byte An1 + .byte W08 + .byte N05 + .byte W08 + .byte N08 , Gs1 + .byte W08 +mus_rg_title_4_B1: +mus_rg_title_4_000: + .byte N12 , Gn1 , v127 + .byte W24 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W24 + .byte N03 , Dn1 + .byte W06 + .byte Dn1 , v120 + .byte W06 + .byte N12 , Gn1 , v127 + .byte W12 + .byte Dn1 + .byte W12 + .byte PEND + .byte Fn1 + .byte W24 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W24 + .byte N03 , Cn1 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte N12 , Fn1 , v127 + .byte W12 + .byte N06 , Gn1 + .byte W06 + .byte An1 , v120 + .byte W06 + .byte N12 , Bn1 , v127 + .byte W24 + .byte Gn1 + .byte W12 + .byte Dn1 + .byte W24 + .byte N03 + .byte W06 + .byte Dn1 , v120 + .byte W06 + .byte N12 , Gn1 , v127 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W24 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W24 + .byte N03 , Dn1 + .byte W06 + .byte Dn1 , v120 + .byte W06 + .byte N12 , Gn1 , v127 + .byte W12 + .byte N03 , Dn2 + .byte W06 + .byte Dn2 , v120 + .byte W06 + .byte PATT + .word mus_rg_title_4_000 + .byte N12 , Fn1 , v127 + .byte W24 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W24 + .byte N03 , Cn1 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte N12 , Fn1 , v127 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W24 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W24 + .byte N03 , Dn1 + .byte W06 + .byte Dn1 , v120 + .byte W06 + .byte N12 , Gn1 , v127 + .byte W18 + .byte N06 , Dn1 + .byte W06 + .byte N12 , Gn1 + .byte W24 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W24 + .byte N03 , Dn1 + .byte W06 + .byte Dn1 , v120 + .byte W06 + .byte N12 , Dn2 , v127 + .byte W12 + .byte N03 , Gn1 + .byte W06 + .byte Gn1 , v120 + .byte W06 + .byte N12 , Gn1 , v127 + .byte W24 + .byte N06 , Dn1 + .byte W12 + .byte N12 , Gn1 + .byte W24 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Fn1 + .byte W24 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W24 + .byte N03 , Cn1 + .byte W06 + .byte N06 , Cn1 , v120 + .byte W06 + .byte N12 , Fn1 , v127 + .byte W12 + .byte N06 , Gn1 + .byte W06 + .byte An1 , v120 + .byte W06 + .byte N12 , Bn1 , v127 + .byte W24 + .byte Gn1 + .byte W12 + .byte Dn1 + .byte W24 + .byte N03 + .byte W06 + .byte N06 , Dn1 , v120 + .byte W06 + .byte N12 , Gn1 , v127 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W24 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W24 + .byte N03 , Dn1 + .byte W06 + .byte N06 , Dn1 , v120 + .byte W06 + .byte N12 , Gn1 , v127 + .byte W12 + .byte N03 , Dn1 + .byte W06 + .byte Dn1 , v120 + .byte W06 + .byte N12 , Gn1 , v127 + .byte W12 + .byte Dn1 + .byte W24 + .byte N03 , Gn1 + .byte W06 + .byte Gn1 , v120 + .byte W06 + .byte N12 , Dn2 + .byte W12 + .byte N03 , Dn1 , v127 + .byte W06 + .byte Dn1 , v120 + .byte W06 + .byte N12 , Gn1 , v127 + .byte W12 + .byte Fs1 + .byte W12 + .byte Fn1 + .byte W24 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W24 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Gn1 + .byte W24 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W24 + .byte N03 , Dn1 + .byte W06 + .byte Dn1 , v120 + .byte W06 + .byte N12 , Gn1 , v127 + .byte W12 + .byte N03 , Dn1 + .byte W06 + .byte Dn1 , v120 + .byte W06 + .byte N12 , Gn1 , v127 + .byte W24 + .byte Dn1 + .byte W12 + .byte An1 + .byte W24 + .byte N03 , Fn1 + .byte W06 + .byte Fn1 , v120 + .byte W06 + .byte N12 , An1 , v127 + .byte W12 + .byte N03 , Fn1 + .byte W06 + .byte Fn1 , v120 + .byte W06 + .byte N12 , As1 , v127 + .byte W24 + .byte Fn1 + .byte W12 + .byte Dn1 + .byte W24 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W24 + .byte Fn1 + .byte W12 + .byte As1 + .byte W24 + .byte Fn1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W24 + .byte Gn1 + .byte W12 + .byte En1 + .byte W24 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W24 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W24 + .byte Gn1 + .byte W12 + .byte Cs2 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte N06 , As2 , v056 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cs3 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte As3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte As2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte An2 + .byte W06 + .byte Fs2 + .byte W06 + .byte VOICE , 58 + .byte PAN , c_v-32 + .byte N16 , Cn2 , v127 + .byte W16 + .byte N16 + .byte W16 + .byte Cs2 + .byte W16 + .byte N06 , Dn2 + .byte W03 + .byte VOICE , 48 + .byte W03 + .byte PAN , c_v+0 + .byte N06 , Dn3 , v056 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte As4 + .byte W06 + .byte Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte VOICE , 58 + .byte PAN , c_v-32 + .byte N16 , Cn2 , v127 + .byte W16 + .byte N16 + .byte W16 + .byte Bn1 + .byte W16 + .byte GOTO + .word mus_rg_title_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_title_5: + .byte KEYSH , mus_rg_title_key+0 + .byte VOICE , 56 + .byte VOL , 70*mus_rg_title_mvl/mxv + .byte PAN , c_v+32 + .byte LFOS , 44 + .byte BENDR , 12 + .byte W24 + .byte W96 + .byte W96 +mus_rg_title_5_B1: + .byte VOICE , 60 + .byte PAN , c_v+32 + .byte N36 , Bn2 , v120 + .byte W36 + .byte N03 , Dn3 + .byte W12 + .byte N48 , Gn3 + .byte W24 + .byte MOD , 5 + .byte VOL , 63*mus_rg_title_mvl/mxv + .byte W03 + .byte 55*mus_rg_title_mvl/mxv + .byte W03 + .byte 51*mus_rg_title_mvl/mxv + .byte W03 + .byte 43*mus_rg_title_mvl/mxv + .byte W03 + .byte 39*mus_rg_title_mvl/mxv + .byte W03 + .byte 35*mus_rg_title_mvl/mxv + .byte W03 + .byte 29*mus_rg_title_mvl/mxv + .byte W03 + .byte 25*mus_rg_title_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 70*mus_rg_title_mvl/mxv + .byte W44 + .byte W01 + .byte N03 , Cs4 , v084 + .byte W03 + .byte VOICE , 56 + .byte N36 , Cn4 , v120 + .byte W36 + .byte N06 , An3 + .byte W06 + .byte As3 + .byte W06 + .byte N48 , Bn3 + .byte W24 + .byte MOD , 5 + .byte W03 + .byte VOL , 62*mus_rg_title_mvl/mxv + .byte W03 + .byte 55*mus_rg_title_mvl/mxv + .byte W03 + .byte 48*mus_rg_title_mvl/mxv + .byte W03 + .byte 43*mus_rg_title_mvl/mxv + .byte W03 + .byte 35*mus_rg_title_mvl/mxv + .byte W03 + .byte 26*mus_rg_title_mvl/mxv + .byte W03 + .byte 19*mus_rg_title_mvl/mxv + .byte W03 + .byte VOICE , 60 + .byte PAN , c_v-32 + .byte MOD , 0 + .byte VOL , 70*mus_rg_title_mvl/mxv + .byte N36 , Cn3 + .byte W36 + .byte N06 , An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N48 , Gn2 + .byte W24 + .byte VOL , 62*mus_rg_title_mvl/mxv + .byte MOD , 4 + .byte W03 + .byte VOL , 55*mus_rg_title_mvl/mxv + .byte W03 + .byte 48*mus_rg_title_mvl/mxv + .byte W03 + .byte 43*mus_rg_title_mvl/mxv + .byte W03 + .byte 35*mus_rg_title_mvl/mxv + .byte W03 + .byte 26*mus_rg_title_mvl/mxv + .byte W03 + .byte 19*mus_rg_title_mvl/mxv + .byte W03 + .byte 11*mus_rg_title_mvl/mxv + .byte W03 + .byte VOICE , 48 + .byte MOD , 0 + .byte VOL , 70*mus_rg_title_mvl/mxv + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Bn2 + .byte W12 + .byte Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 48 + .byte N36 , Bn2 + .byte W36 + .byte N03 , Dn3 + .byte W12 + .byte N12 , Gn3 + .byte W12 + .byte VOICE , 56 + .byte PAN , c_v+32 + .byte N03 , Dn3 + .byte W06 + .byte N03 + .byte W06 + .byte Cn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W36 + .byte VOICE , 14 + .byte PAN , c_v-16 + .byte N16 , Cn5 , v076 + .byte W16 + .byte Bn4 , v068 + .byte W16 + .byte Cn5 + .byte W16 + .byte N48 , Dn5 + .byte W48 + .byte VOICE , 60 + .byte PAN , c_v-32 + .byte N16 , Dn3 , v064 + .byte W16 + .byte Cn3 + .byte W16 + .byte An2 + .byte W16 + .byte N03 , Bn2 + .byte W12 + .byte N06 , Gn2 + .byte W06 + .byte An2 + .byte W06 + .byte N72 , Bn2 + .byte W36 + .byte MOD , 4 + .byte W12 + .byte VOL , 62*mus_rg_title_mvl/mxv + .byte W03 + .byte 55*mus_rg_title_mvl/mxv + .byte W03 + .byte 48*mus_rg_title_mvl/mxv + .byte W03 + .byte 43*mus_rg_title_mvl/mxv + .byte W03 + .byte 35*mus_rg_title_mvl/mxv + .byte W03 + .byte 26*mus_rg_title_mvl/mxv + .byte W03 + .byte 19*mus_rg_title_mvl/mxv + .byte W03 + .byte 12*mus_rg_title_mvl/mxv + .byte W03 + .byte VOICE , 56 + .byte PAN , c_v+32 + .byte MOD , 0 + .byte VOL , 70*mus_rg_title_mvl/mxv + .byte N06 , Gn4 , v120 + .byte W12 + .byte Bn3 + .byte W24 + .byte N12 , Gn3 + .byte W24 + .byte N06 + .byte W06 + .byte Fs3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N06 , An3 + .byte W12 + .byte Fn3 + .byte W24 + .byte Cn4 + .byte W09 + .byte N03 , Dn4 , v080 + .byte W03 + .byte N36 , Cn4 , v120 + .byte W36 + .byte N06 , An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N48 , Bn3 + .byte W24 + .byte VOL , 62*mus_rg_title_mvl/mxv + .byte MOD , 7 + .byte W03 + .byte VOL , 55*mus_rg_title_mvl/mxv + .byte W03 + .byte 48*mus_rg_title_mvl/mxv + .byte W03 + .byte 43*mus_rg_title_mvl/mxv + .byte W03 + .byte 35*mus_rg_title_mvl/mxv + .byte W03 + .byte 26*mus_rg_title_mvl/mxv + .byte W03 + .byte 19*mus_rg_title_mvl/mxv + .byte W03 + .byte 13*mus_rg_title_mvl/mxv + .byte W03 + .byte VOICE , 60 + .byte PAN , c_v-32 + .byte VOL , 70*mus_rg_title_mvl/mxv + .byte MOD , 0 + .byte N36 , An2 , v064 + .byte W36 + .byte N06 , Fn2 + .byte W06 + .byte An2 + .byte W06 + .byte N48 , Bn2 + .byte W24 + .byte VOL , 62*mus_rg_title_mvl/mxv + .byte MOD , 4 + .byte W03 + .byte VOL , 55*mus_rg_title_mvl/mxv + .byte W03 + .byte 48*mus_rg_title_mvl/mxv + .byte W03 + .byte 43*mus_rg_title_mvl/mxv + .byte W03 + .byte 35*mus_rg_title_mvl/mxv + .byte W03 + .byte 26*mus_rg_title_mvl/mxv + .byte W03 + .byte 19*mus_rg_title_mvl/mxv + .byte W03 + .byte 70*mus_rg_title_mvl/mxv + .byte W03 + .byte VOICE , 14 + .byte PAN , c_v-16 + .byte MOD , 0 + .byte N16 , Fn5 , v060 + .byte W16 + .byte En5 + .byte W16 + .byte Fn5 + .byte W16 + .byte N36 , Gn5 , v072 + .byte W06 + .byte VOL , 64*mus_rg_title_mvl/mxv + .byte W03 + .byte 58*mus_rg_title_mvl/mxv + .byte W03 + .byte 53*mus_rg_title_mvl/mxv + .byte W03 + .byte 49*mus_rg_title_mvl/mxv + .byte W03 + .byte 44*mus_rg_title_mvl/mxv + .byte W03 + .byte 39*mus_rg_title_mvl/mxv + .byte W03 + .byte 33*mus_rg_title_mvl/mxv + .byte W03 + .byte 29*mus_rg_title_mvl/mxv + .byte W03 + .byte 22*mus_rg_title_mvl/mxv + .byte W03 + .byte 19*mus_rg_title_mvl/mxv + .byte W03 + .byte VOICE , 56 + .byte PAN , c_v+32 + .byte VOL , 70*mus_rg_title_mvl/mxv + .byte N03 , Bn3 , v092 + .byte W06 + .byte Dn4 + .byte W06 + .byte N36 , Gn4 + .byte W36 + .byte N12 , Fs4 , v084 + .byte W12 + .byte N24 , Fn4 , v088 + .byte W48 + .byte VOICE , 60 + .byte PAN , c_v-32 + .byte N16 , Cn4 + .byte W16 + .byte An3 + .byte W16 + .byte Cn4 + .byte W16 + .byte N36 , Dn4 + .byte W36 + .byte N12 , Gn4 + .byte W12 + .byte N36 , Dn4 + .byte W36 + .byte N06 , Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte N32 , Bn3 + .byte W32 + .byte W01 + .byte N03 , As3 , v072 + .byte W03 + .byte N21 , An3 , v088 + .byte W21 + .byte N03 , Gs3 , v068 + .byte W03 + .byte N24 , Gn3 , v084 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 14 + .byte W18 + .byte N24 , Dn5 , v052 + .byte W18 + .byte PAN , c_v+32 + .byte W06 + .byte N24 + .byte W18 + .byte PAN , c_v-32 + .byte W06 + .byte N24 + .byte W18 + .byte PAN , c_v+31 + .byte W06 + .byte N24 + .byte W06 + .byte W15 + .byte PAN , c_v-32 + .byte W03 + .byte N24 + .byte W18 + .byte PAN , c_v+32 + .byte W06 + .byte N06 + .byte W54 + .byte W12 + .byte PAN , c_v-32 + .byte W06 + .byte N24 + .byte W18 + .byte PAN , c_v+32 + .byte W06 + .byte N24 + .byte W18 + .byte PAN , c_v-32 + .byte W06 + .byte N24 + .byte W18 + .byte PAN , c_v+32 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v-32 + .byte N18 + .byte W15 + .byte PAN , c_v+32 + .byte W03 + .byte N24 + .byte W18 + .byte PAN , c_v-32 + .byte W06 + .byte N06 + .byte W54 + .byte GOTO + .word mus_rg_title_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_title_6: + .byte KEYSH , mus_rg_title_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_title_mvl/mxv + .byte N03 , Gn3 , v127 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W24 + .byte Gn4 , v120 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte W12 + .byte N03 , Gn4 , v127 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W24 + .byte N03 + .byte W24 + .byte N18 , Gn4 , v120 + .byte W06 + .byte MOD , 6 + .byte W18 + .byte 0 + .byte N05 , Fn4 , v127 + .byte W08 + .byte N05 + .byte W08 + .byte N05 + .byte W08 + .byte N05 + .byte W08 + .byte N05 + .byte W08 + .byte Fs4 + .byte W08 +mus_rg_title_6_B1: + .byte VOICE , 60 + .byte MOD , 0 + .byte N36 , Gn3 , v108 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N03 , Bn3 + .byte W12 + .byte N48 , Dn4 + .byte W24 + .byte MOD , 5 + .byte VOL , 80*mus_rg_title_mvl/mxv + .byte W03 + .byte 75*mus_rg_title_mvl/mxv + .byte W03 + .byte 70*mus_rg_title_mvl/mxv + .byte W03 + .byte 61*mus_rg_title_mvl/mxv + .byte W03 + .byte 53*mus_rg_title_mvl/mxv + .byte W03 + .byte 46*mus_rg_title_mvl/mxv + .byte W03 + .byte 42*mus_rg_title_mvl/mxv + .byte W03 + .byte 34*mus_rg_title_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 90*mus_rg_title_mvl/mxv + .byte N03 , Cn3 , v112 + .byte W12 + .byte An2 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W09 + .byte Fs4 , v080 + .byte W03 + .byte VOICE , 56 + .byte N36 , Fn4 , v127 + .byte W36 + .byte N06 , En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N48 , Dn4 + .byte W24 + .byte MOD , 7 + .byte VOL , 79*mus_rg_title_mvl/mxv + .byte W03 + .byte 75*mus_rg_title_mvl/mxv + .byte W03 + .byte 68*mus_rg_title_mvl/mxv + .byte W03 + .byte 63*mus_rg_title_mvl/mxv + .byte W03 + .byte 58*mus_rg_title_mvl/mxv + .byte W03 + .byte 53*mus_rg_title_mvl/mxv + .byte W03 + .byte 47*mus_rg_title_mvl/mxv + .byte W03 + .byte 41*mus_rg_title_mvl/mxv + .byte W03 + .byte VOICE , 60 + .byte MOD , 0 + .byte VOL , 90*mus_rg_title_mvl/mxv + .byte N36 , Fn3 , v108 + .byte W36 + .byte N06 , En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N48 , Dn3 + .byte W24 + .byte MOD , 7 + .byte VOL , 79*mus_rg_title_mvl/mxv + .byte W03 + .byte 75*mus_rg_title_mvl/mxv + .byte W03 + .byte 68*mus_rg_title_mvl/mxv + .byte W03 + .byte 63*mus_rg_title_mvl/mxv + .byte W03 + .byte 58*mus_rg_title_mvl/mxv + .byte W03 + .byte 53*mus_rg_title_mvl/mxv + .byte W03 + .byte 47*mus_rg_title_mvl/mxv + .byte W03 + .byte 41*mus_rg_title_mvl/mxv + .byte W03 + .byte VOICE , 56 + .byte MOD , 0 + .byte VOL , 90*mus_rg_title_mvl/mxv + .byte W12 + .byte N03 , Dn3 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte Gn3 + .byte W12 + .byte Dn3 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 48 + .byte N36 , Gn3 , v127 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N03 , Bn3 + .byte W12 + .byte N48 , Dn4 + .byte W24 + .byte VOL , 79*mus_rg_title_mvl/mxv + .byte MOD , 5 + .byte W03 + .byte VOL , 75*mus_rg_title_mvl/mxv + .byte W03 + .byte 68*mus_rg_title_mvl/mxv + .byte W03 + .byte 63*mus_rg_title_mvl/mxv + .byte W03 + .byte 58*mus_rg_title_mvl/mxv + .byte W03 + .byte 53*mus_rg_title_mvl/mxv + .byte W03 + .byte 47*mus_rg_title_mvl/mxv + .byte W03 + .byte 41*mus_rg_title_mvl/mxv + .byte W03 + .byte 90*mus_rg_title_mvl/mxv + .byte MOD , 0 + .byte W44 + .byte W01 + .byte N03 , Cs4 , v080 + .byte W03 + .byte VOICE , 48 + .byte N16 , Cn4 , v127 + .byte W16 + .byte Bn3 + .byte W16 + .byte Cn4 + .byte W16 + .byte N48 , Dn4 + .byte W24 + .byte VOL , 79*mus_rg_title_mvl/mxv + .byte MOD , 4 + .byte W03 + .byte VOL , 75*mus_rg_title_mvl/mxv + .byte W03 + .byte 68*mus_rg_title_mvl/mxv + .byte W03 + .byte 63*mus_rg_title_mvl/mxv + .byte W03 + .byte 58*mus_rg_title_mvl/mxv + .byte W03 + .byte 53*mus_rg_title_mvl/mxv + .byte W03 + .byte 47*mus_rg_title_mvl/mxv + .byte W03 + .byte 41*mus_rg_title_mvl/mxv + .byte W03 + .byte VOICE , 60 + .byte VOL , 90*mus_rg_title_mvl/mxv + .byte MOD , 0 + .byte N16 , Fn3 , v112 + .byte W16 + .byte En3 , v108 + .byte W16 + .byte Cn3 + .byte W16 + .byte N03 , Dn3 + .byte W12 + .byte N06 , Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N72 , Dn3 + .byte W36 + .byte MOD , 4 + .byte W12 + .byte VOL , 79*mus_rg_title_mvl/mxv + .byte W03 + .byte 75*mus_rg_title_mvl/mxv + .byte W03 + .byte 68*mus_rg_title_mvl/mxv + .byte W03 + .byte 63*mus_rg_title_mvl/mxv + .byte W03 + .byte 58*mus_rg_title_mvl/mxv + .byte W03 + .byte 53*mus_rg_title_mvl/mxv + .byte W03 + .byte 47*mus_rg_title_mvl/mxv + .byte W03 + .byte 41*mus_rg_title_mvl/mxv + .byte W03 + .byte VOICE , 56 + .byte MOD , 0 + .byte VOL , 90*mus_rg_title_mvl/mxv + .byte N36 , Gn3 , v127 + .byte W36 + .byte N03 , Bn3 + .byte W12 + .byte N48 , Dn4 + .byte W24 + .byte VOL , 79*mus_rg_title_mvl/mxv + .byte MOD , 4 + .byte W03 + .byte VOL , 75*mus_rg_title_mvl/mxv + .byte W03 + .byte 68*mus_rg_title_mvl/mxv + .byte W03 + .byte 63*mus_rg_title_mvl/mxv + .byte W03 + .byte 58*mus_rg_title_mvl/mxv + .byte W03 + .byte 53*mus_rg_title_mvl/mxv + .byte W03 + .byte 47*mus_rg_title_mvl/mxv + .byte W03 + .byte 41*mus_rg_title_mvl/mxv + .byte W03 + .byte VOICE , 60 + .byte VOL , 90*mus_rg_title_mvl/mxv + .byte MOD , 0 + .byte W44 + .byte W01 + .byte N03 , Fs4 , v080 + .byte W03 + .byte VOICE , 56 + .byte N36 , Fn4 , v127 + .byte W36 + .byte N06 , En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N48 , Dn4 + .byte W24 + .byte VOL , 79*mus_rg_title_mvl/mxv + .byte MOD , 7 + .byte W03 + .byte VOL , 75*mus_rg_title_mvl/mxv + .byte W03 + .byte 68*mus_rg_title_mvl/mxv + .byte W03 + .byte 63*mus_rg_title_mvl/mxv + .byte W03 + .byte 58*mus_rg_title_mvl/mxv + .byte W03 + .byte 53*mus_rg_title_mvl/mxv + .byte W03 + .byte 47*mus_rg_title_mvl/mxv + .byte W03 + .byte 41*mus_rg_title_mvl/mxv + .byte W03 + .byte VOICE , 60 + .byte VOL , 90*mus_rg_title_mvl/mxv + .byte MOD , 0 + .byte N36 , Fn3 + .byte W36 + .byte N06 , En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N48 , Dn3 + .byte W24 + .byte MOD , 5 + .byte VOL , 79*mus_rg_title_mvl/mxv + .byte W03 + .byte 75*mus_rg_title_mvl/mxv + .byte W03 + .byte 68*mus_rg_title_mvl/mxv + .byte W03 + .byte 63*mus_rg_title_mvl/mxv + .byte W03 + .byte 58*mus_rg_title_mvl/mxv + .byte W03 + .byte 53*mus_rg_title_mvl/mxv + .byte W03 + .byte 47*mus_rg_title_mvl/mxv + .byte W03 + .byte 41*mus_rg_title_mvl/mxv + .byte W03 + .byte VOICE , 48 + .byte MOD , 0 + .byte VOL , 90*mus_rg_title_mvl/mxv + .byte N16 , Fn4 , v056 + .byte W16 + .byte En4 + .byte W16 + .byte Fn4 + .byte W16 + .byte VOICE , 56 + .byte N12 , Gn3 , v127 + .byte W12 + .byte N03 , Fs3 , v120 + .byte W24 + .byte Gn3 , v127 + .byte W06 + .byte Bn3 , v120 + .byte W06 + .byte N48 , Dn4 , v127 + .byte W24 + .byte VOL , 79*mus_rg_title_mvl/mxv + .byte MOD , 5 + .byte W03 + .byte VOL , 75*mus_rg_title_mvl/mxv + .byte W03 + .byte 68*mus_rg_title_mvl/mxv + .byte W03 + .byte 63*mus_rg_title_mvl/mxv + .byte W03 + .byte 58*mus_rg_title_mvl/mxv + .byte W03 + .byte 53*mus_rg_title_mvl/mxv + .byte W03 + .byte 47*mus_rg_title_mvl/mxv + .byte W03 + .byte 41*mus_rg_title_mvl/mxv + .byte W03 + .byte VOICE , 60 + .byte PAN , c_v-32 + .byte VOL , 90*mus_rg_title_mvl/mxv + .byte MOD , 0 + .byte N03 , Fn3 , v120 + .byte W12 + .byte Cn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N24 , An3 + .byte W24 + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte N16 , Fn4 , v104 + .byte W16 + .byte En4 + .byte W16 + .byte Fn4 + .byte W16 + .byte N36 , Gn4 + .byte W36 + .byte N12 , As4 + .byte W12 + .byte N48 , Gn4 + .byte W24 + .byte VOL , 85*mus_rg_title_mvl/mxv + .byte W06 + .byte 80*mus_rg_title_mvl/mxv + .byte W06 + .byte 72*mus_rg_title_mvl/mxv + .byte W06 + .byte 64*mus_rg_title_mvl/mxv + .byte W06 + .byte 90*mus_rg_title_mvl/mxv + .byte N48 + .byte W06 + .byte VOL , 82*mus_rg_title_mvl/mxv + .byte W06 + .byte 72*mus_rg_title_mvl/mxv + .byte W06 + .byte 66*mus_rg_title_mvl/mxv + .byte W06 + .byte 79*mus_rg_title_mvl/mxv + .byte W06 + .byte 90*mus_rg_title_mvl/mxv + .byte W18 + .byte 82*mus_rg_title_mvl/mxv + .byte N48 , An4 + .byte W06 + .byte VOL , 75*mus_rg_title_mvl/mxv + .byte W06 + .byte 65*mus_rg_title_mvl/mxv + .byte W06 + .byte 76*mus_rg_title_mvl/mxv + .byte W06 + .byte 82*mus_rg_title_mvl/mxv + .byte W06 + .byte 90*mus_rg_title_mvl/mxv + .byte W18 + .byte N36 , As4 + .byte W36 + .byte N06 , Fn4 + .byte W12 + .byte N48 + .byte W48 + .byte VOICE , 60 + .byte W48 + .byte 48 + .byte N24 , As4 , v127 + .byte W24 + .byte Bn4 + .byte W24 + .byte N36 , Cn5 + .byte W36 + .byte N06 , Gn4 + .byte W12 + .byte N48 + .byte W48 + .byte VOICE , 60 + .byte W48 + .byte 56 + .byte N24 , Cn5 + .byte W24 + .byte Cs5 + .byte W24 +mus_rg_title_6_000: + .byte N06 , Dn5 , v127 + .byte W18 + .byte Dn4 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte PEND + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N16 , Cn5 + .byte W16 + .byte N16 + .byte W16 + .byte Cs5 + .byte W16 + .byte PATT + .word mus_rg_title_6_000 + .byte N06 , Dn4 , v127 + .byte W18 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N16 , Cn5 + .byte W16 + .byte N16 + .byte W16 + .byte Bn4 + .byte W16 + .byte GOTO + .word mus_rg_title_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_title_7: + .byte KEYSH , mus_rg_title_key+0 + .byte VOICE , 81 + .byte VOL , 45*mus_rg_title_mvl/mxv + .byte PAN , c_v-62 + .byte LFOS , 44 + .byte BENDR , 12 + .byte N03 , En3 , v100 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Bn3 + .byte W24 + .byte N06 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N19 + .byte W24 + .byte N05 , Cn4 + .byte W08 + .byte N05 + .byte W08 + .byte N05 + .byte W08 + .byte N05 + .byte W08 + .byte N05 + .byte W08 + .byte Cs4 , v096 + .byte W08 +mus_rg_title_7_B1: + .byte VOL , 56*mus_rg_title_mvl/mxv + .byte N36 , Dn3 , v120 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N03 , Bn2 + .byte W12 + .byte N12 , Dn3 + .byte W12 + .byte N03 , Bn2 + .byte W06 + .byte N03 + .byte W06 + .byte Gn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte N36 , Cn3 + .byte W36 + .byte N21 , Fn3 + .byte W24 + .byte N03 + .byte W06 + .byte Cn3 + .byte W06 + .byte Fn3 + .byte W12 + .byte An2 + .byte W12 + .byte N48 , Dn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Cn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N36 , Gn3 + .byte W24 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N03 , Fs3 , v080 + .byte W03 + .byte Fn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte N16 , Cn3 , v120 + .byte W16 + .byte Bn2 + .byte W16 + .byte Cn3 + .byte W16 + .byte N36 , Dn3 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Bn2 + .byte W12 + .byte N09 , Dn3 + .byte W12 + .byte N03 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N48 , Cn3 + .byte W24 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N16 , En3 + .byte W16 + .byte N16 + .byte W16 + .byte Cn3 + .byte W16 + .byte N48 , Dn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte W12 + .byte N03 , Gn3 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W18 + .byte N06 , An3 + .byte W06 + .byte N60 , Bn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte W12 + .byte N12 , Bn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N36 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Bn2 + .byte W12 + .byte N48 , Dn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N36 , Cn3 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N36 , Fn3 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N24 , Cn3 + .byte W24 + .byte N48 , Dn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N12 , Fn3 + .byte W12 + .byte N36 , Cn3 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N36 , Dn3 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte N12 , Bn2 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte N16 , Cn3 + .byte W16 + .byte Bn2 + .byte W16 + .byte Cn3 + .byte W16 + .byte N36 , Dn3 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Bn2 + .byte W12 + .byte N48 , Dn3 + .byte W24 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N36 , Cn3 + .byte W24 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte W03 + .byte N36 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N24 , En3 + .byte W24 + .byte N36 , Dn3 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , Dn3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte MOD , 4 + .byte N36 + .byte W36 + .byte MOD , 0 + .byte N24 , An3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N36 , As2 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N24 , Fn2 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N06 , As2 + .byte W06 + .byte An2 + .byte W06 + .byte As2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N09 , Dn3 + .byte W12 + .byte N06 , As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N24 , Dn4 + .byte W24 + .byte N06 , Fn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte As2 + .byte W06 + .byte Dn3 + .byte W06 + .byte N36 , Gn3 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N24 , En3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte N06 , Cn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N48 , En4 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N06 , Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte Cn3 + .byte W06 + .byte En3 + .byte W06 + .byte VOL , 34*mus_rg_title_mvl/mxv + .byte N06 , Gn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte An2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte An2 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte As2 + .byte W06 + .byte An2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Dn2 + .byte W54 + .byte Cs3 + .byte W06 + .byte As2 + .byte W06 + .byte Cs3 + .byte W06 + .byte En3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Cs3 + .byte W06 + .byte An2 + .byte W54 + .byte GOTO + .word mus_rg_title_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_title_8: + .byte KEYSH , mus_rg_title_key+0 + .byte VOICE , 80 + .byte PAN , c_v+63 + .byte VOL , 45*mus_rg_title_mvl/mxv + .byte LFOS , 44 + .byte BENDR , 12 + .byte BEND , c_v+0 + .byte N03 , Gn3 , v096 + .byte W02 + .byte BEND , c_v+0 + .byte W04 + .byte N03 , Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 , v108 + .byte W24 + .byte N03 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W24 + .byte N03 + .byte W24 + .byte N18 + .byte W24 + .byte N05 , Fn4 + .byte W08 + .byte N05 + .byte W08 + .byte N05 + .byte W08 + .byte N05 + .byte W08 + .byte N05 + .byte W08 + .byte Fs4 + .byte W08 +mus_rg_title_8_B1: + .byte N36 , Bn3 , v120 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N03 , Gn3 + .byte W12 + .byte N12 , Bn3 + .byte W12 + .byte N03 , Gn3 + .byte W06 + .byte N03 + .byte W06 + .byte Bn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 , An3 + .byte W24 + .byte Fn3 + .byte W36 + .byte N03 , Cn4 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W12 + .byte Dn3 + .byte W12 + .byte N48 , Gn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , An3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N36 , Bn3 + .byte W24 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N03 , As3 , v080 + .byte W03 + .byte An3 + .byte W03 + .byte Gs3 + .byte W03 + .byte N16 , Gn3 , v120 + .byte W16 + .byte Dn3 + .byte W16 + .byte Bn3 + .byte W16 + .byte N36 , Gn3 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Bn3 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte N03 , Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte N36 , An3 + .byte W36 + .byte N12 , Fn3 + .byte W12 + .byte N16 , Cn4 + .byte W16 + .byte N16 + .byte W16 + .byte An3 + .byte W16 + .byte N48 , Gn2 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N36 , Dn3 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 + .byte W06 + .byte Fs3 + .byte W06 + .byte N96 , Gn3 + .byte W48 + .byte MOD , 4 + .byte W48 + .byte 0 + .byte N36 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Dn3 + .byte W12 + .byte N48 , Gn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N12 , An3 + .byte W12 + .byte N36 , Fn3 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N12 , Cn3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N06 , En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N48 , Dn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N12 , Cn4 + .byte W12 + .byte N36 , An3 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N36 , Bn3 + .byte W24 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Gn3 + .byte W12 + .byte N16 , Fn3 + .byte W16 + .byte En3 + .byte W16 + .byte Fn3 + .byte W16 + .byte N36 , Gn3 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Dn3 + .byte W12 + .byte N48 , Gn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N16 + .byte W16 + .byte N20 , Fn3 + .byte W20 + .byte N12 , An3 + .byte W12 + .byte N16 , Cn4 + .byte W16 + .byte N17 , Bn3 + .byte W17 + .byte N15 , Cn4 + .byte W15 + .byte N36 , Dn4 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N36 , Cn4 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N24 , Bn3 + .byte W24 + .byte N36 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N36 , An3 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N12 , Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N36 , Dn4 + .byte W09 + .byte MOD , 4 + .byte W24 + .byte W03 + .byte 0 + .byte N24 , As3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte N06 , As3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N48 , Dn4 + .byte W24 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N06 , As3 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte As3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N36 , En4 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Cn4 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte N06 , Cn3 + .byte W06 + .byte Gn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W12 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N24 , En4 + .byte W24 + .byte N06 , Cn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte VOL , 34*mus_rg_title_mvl/mxv + .byte N06 , Bn2 , v056 + .byte W06 + .byte As2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cs3 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte As3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte As2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte An2 + .byte W06 + .byte Fs2 + .byte W54 + .byte Fn3 , v120 + .byte W06 + .byte Dn3 , v056 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte As4 + .byte W06 + .byte Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Dn3 + .byte W54 + .byte GOTO + .word mus_rg_title_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_title_9: + .byte KEYSH , mus_rg_title_key+0 + .byte VOICE , 0 + .byte VOL , 85*mus_rg_title_mvl/mxv + .byte W12 + .byte N03 , En1 , v127 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 +mus_rg_title_9_000: + .byte N12 , En1 , v127 + .byte W24 + .byte N12 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W24 + .byte PEND + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N05 + .byte W08 + .byte N05 + .byte W08 + .byte N05 + .byte W08 + .byte N05 + .byte W08 + .byte N05 + .byte W08 + .byte N05 + .byte W08 +mus_rg_title_9_B1: + .byte PATT + .word mus_rg_title_9_000 +mus_rg_title_9_001: + .byte N12 , En1 , v127 + .byte W24 + .byte N12 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_title_9_000 +mus_rg_title_9_002: + .byte N12 , En1 , v127 + .byte W24 + .byte N12 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_title_9_000 + .byte N12 , En1 , v127 + .byte W24 + .byte N12 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte PATT + .word mus_rg_title_9_000 +mus_rg_title_9_003: + .byte N12 , En1 , v127 + .byte W24 + .byte N12 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND + .byte N12 + .byte W12 + .byte En1 , v068 + .byte W24 + .byte En1 , v120 + .byte W24 + .byte N06 , En1 , v127 + .byte W06 + .byte N06 + .byte W06 + .byte N12 + .byte W24 + .byte PATT + .word mus_rg_title_9_000 + .byte PATT + .word mus_rg_title_9_001 + .byte PATT + .word mus_rg_title_9_002 + .byte PATT + .word mus_rg_title_9_000 + .byte PATT + .word mus_rg_title_9_000 + .byte PATT + .word mus_rg_title_9_002 + .byte PATT + .word mus_rg_title_9_003 + .byte PATT + .word mus_rg_title_9_001 + .byte PATT + .word mus_rg_title_9_001 + .byte PATT + .word mus_rg_title_9_002 + .byte PATT + .word mus_rg_title_9_000 + .byte N12 , En1 , v127 + .byte W36 + .byte N12 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W24 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N16 + .byte W16 + .byte N16 + .byte W16 + .byte N16 + .byte W16 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 + .byte W24 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N16 + .byte W16 + .byte N16 + .byte W16 + .byte N16 + .byte W16 + .byte GOTO + .word mus_rg_title_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_rg_title_10: + .byte KEYSH , mus_rg_title_key+0 + .byte VOICE , 125 + .byte PAN , c_v+0 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 34*mus_rg_title_mvl/mxv + .byte W24 + .byte W96 + .byte W96 +mus_rg_title_10_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte BEND , c_v-64 + .byte N54 , Cn3 , v120 + .byte W03 + .byte BEND , c_v-58 + .byte W03 + .byte c_v-51 + .byte W03 + .byte c_v-45 + .byte W03 + .byte c_v-36 + .byte W03 + .byte c_v-26 + .byte W03 + .byte c_v-20 + .byte W03 + .byte c_v-10 + .byte W03 + .byte c_v+0 + .byte W03 + .byte c_v+7 + .byte W03 + .byte c_v+14 + .byte W03 + .byte c_v+23 + .byte W03 + .byte c_v+33 + .byte W03 + .byte c_v+47 + .byte W03 + .byte c_v+53 + .byte W03 + .byte c_v+63 + .byte W03 + .byte W96 + .byte c_v-64 + .byte TIE + .byte W03 + .byte BEND , c_v-59 + .byte W03 + .byte c_v-56 + .byte W03 + .byte c_v-51 + .byte W03 + .byte c_v-46 + .byte W03 + .byte c_v-43 + .byte W03 + .byte c_v-39 + .byte W03 + .byte c_v-36 + .byte W03 + .byte c_v-32 + .byte W03 + .byte c_v-28 + .byte W03 + .byte c_v-23 + .byte W03 + .byte c_v-20 + .byte W03 + .byte c_v-15 + .byte W03 + .byte c_v-11 + .byte W03 + .byte c_v-7 + .byte W03 + .byte c_v-4 + .byte W03 + .byte c_v+0 + .byte W03 + .byte c_v+5 + .byte W03 + .byte c_v+9 + .byte W03 + .byte c_v+12 + .byte W03 + .byte c_v+16 + .byte W03 + .byte c_v+20 + .byte W03 + .byte c_v+24 + .byte W03 + .byte c_v+28 + .byte W03 + .byte c_v+31 + .byte W03 + .byte c_v+35 + .byte W03 + .byte c_v+38 + .byte W03 + .byte c_v+42 + .byte W03 + .byte c_v+46 + .byte W03 + .byte c_v+50 + .byte W03 + .byte c_v+53 + .byte W03 + .byte c_v+57 + .byte W03 + .byte c_v+63 + .byte W06 + .byte EOT + .byte W90 + .byte BEND , c_v+0 + .byte W96 + .byte GOTO + .word mus_rg_title_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_title: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_title_pri @ Priority + .byte mus_rg_title_rev @ Reverb. + + .word mus_rg_title_grp + + .word mus_rg_title_1 + .word mus_rg_title_2 + .word mus_rg_title_3 + .word mus_rg_title_4 + .word mus_rg_title_5 + .word mus_rg_title_6 + .word mus_rg_title_7 + .word mus_rg_title_8 + .word mus_rg_title_9 + .word mus_rg_title_10 + + .end diff --git a/sound/songs/mus_rg_titlerog.s b/sound/songs/mus_rg_titlerog.s new file mode 100644 index 0000000000..72d9ae8cfc --- /dev/null +++ b/sound/songs/mus_rg_titlerog.s @@ -0,0 +1,2087 @@ + .include "MPlayDef.s" + + .equ mus_rg_titlerog_grp, voicegroup_86B15F0 + .equ mus_rg_titlerog_pri, 0 + .equ mus_rg_titlerog_rev, reverb_set+50 + .equ mus_rg_titlerog_mvl, 127 + .equ mus_rg_titlerog_key, 0 + .equ mus_rg_titlerog_tbs, 1 + .equ mus_rg_titlerog_exg, 0 + .equ mus_rg_titlerog_cmp, 1 + + .section .rodata + .global mus_rg_titlerog + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_titlerog_1: + .byte KEYSH , mus_rg_titlerog_key+0 + .byte TEMPO , 150*mus_rg_titlerog_tbs/2 + .byte VOICE , 46 + .byte BENDR , 2 + .byte VOL , 75*mus_rg_titlerog_mvl/mxv + .byte PAN , c_v+32 + .byte BEND , c_v+0 + .byte N02 , En6 , v112 + .byte W02 + .byte Dn6 + .byte W01 + .byte W01 + .byte Cn6 + .byte W02 + .byte An5 + .byte W02 + .byte Fn5 + .byte W01 + .byte W01 + .byte PAN , c_v-32 + .byte N02 , Dn6 + .byte W02 + .byte Cn6 + .byte W02 + .byte An5 + .byte W01 + .byte W01 + .byte Fn5 + .byte W02 + .byte En5 + .byte W02 + .byte PAN , c_v+16 + .byte N02 , Cn6 + .byte W01 + .byte W01 + .byte An5 + .byte W02 + .byte Fn5 + .byte W02 + .byte En5 + .byte W01 + .byte W01 + .byte Dn5 + .byte W02 + .byte PAN , c_v-48 + .byte N02 , An5 + .byte W02 + .byte Fn5 + .byte W01 + .byte W01 + .byte En5 + .byte W02 + .byte Dn5 + .byte W02 + .byte Cn5 + .byte W01 + .byte W01 + .byte Fn5 + .byte W02 + .byte En5 + .byte W02 + .byte Dn5 + .byte W01 + .byte W01 + .byte Cn5 + .byte W02 + .byte An4 + .byte W02 + .byte PAN , c_v+32 + .byte N02 , En6 , v048 + .byte W01 + .byte W01 + .byte Dn6 + .byte W02 + .byte Cn6 + .byte W02 + .byte An5 + .byte W01 + .byte W01 + .byte Fn5 + .byte W02 + .byte PAN , c_v-32 + .byte N02 , Dn6 + .byte W02 + .byte Cn6 + .byte W01 + .byte W01 + .byte An5 + .byte W02 +mus_rg_titlerog_1_000: + .byte N02 , Fn5 , v048 + .byte W02 + .byte En5 + .byte W01 + .byte PEND + .byte W01 + .byte PAN , c_v+16 + .byte N02 , Cn6 + .byte W02 + .byte An5 + .byte W02 + .byte Fn5 + .byte W01 + .byte W01 + .byte En5 + .byte W02 + .byte Dn5 + .byte W02 + .byte PAN , c_v-48 + .byte N02 , An5 + .byte W01 + .byte W01 + .byte Fn5 + .byte W02 + .byte En5 + .byte W02 + .byte Dn5 + .byte W01 + .byte W01 + .byte Cn5 + .byte W02 + .byte PATT + .word mus_rg_titlerog_1_000 + .byte W01 + .byte N02 , Dn5 , v048 + .byte W02 + .byte Cn5 + .byte W02 + .byte An4 + .byte W01 + .byte W01 + .byte En6 , v016 + .byte W02 + .byte Dn6 + .byte W02 + .byte Cn6 + .byte W01 + .byte W01 + .byte An5 + .byte W02 + .byte Fn5 + .byte W02 + .byte Dn6 + .byte W01 + .byte W01 + .byte Cn6 + .byte W02 + .byte An5 + .byte W02 + .byte Fn5 + .byte W01 + .byte W01 + .byte En5 + .byte W02 + .byte Cn6 + .byte W02 + .byte An5 + .byte W01 + .byte W01 + .byte Fn5 + .byte W02 + .byte En5 + .byte W02 + .byte Dn5 + .byte W01 + .byte W01 + .byte PAN , c_v-48 + .byte N02 , An5 + .byte W02 + .byte Fn5 + .byte W02 + .byte En5 + .byte W01 + .byte W01 + .byte Dn5 + .byte W02 + .byte Cn5 + .byte W02 + .byte Fn5 + .byte W01 + .byte W01 + .byte En5 + .byte W02 + .byte Dn5 + .byte W02 + .byte Cn5 + .byte W01 + .byte W01 + .byte An4 + .byte W02 + .byte PAN , c_v-16 + .byte N02 , Gs3 + .byte W02 + .byte Cn4 + .byte W01 + .byte W01 + .byte Dn4 + .byte W02 + .byte Ds4 + .byte W02 + .byte Gn4 + .byte W01 + .byte W01 + .byte Gs4 + .byte W02 + .byte Cn5 + .byte W02 + .byte Dn5 + .byte W01 + .byte W01 + .byte Ds5 + .byte W02 + .byte PAN , c_v+16 + .byte N02 , Dn4 + .byte W02 + .byte Ds4 + .byte W01 + .byte W01 + .byte Gn4 , v024 + .byte W02 + .byte Gs4 + .byte W02 + .byte Cn5 + .byte W01 + .byte W01 + .byte Dn5 + .byte W02 + .byte Ds5 + .byte W02 + .byte Gn5 + .byte W01 + .byte W01 + .byte Gs5 + .byte W02 + .byte PAN , c_v-16 + .byte N02 , Ds4 + .byte W02 + .byte Gn4 , v032 + .byte W01 + .byte W01 + .byte Gs4 + .byte W02 + .byte Cn5 + .byte W02 + .byte Dn5 + .byte W01 + .byte W01 + .byte Ds5 + .byte W02 + .byte Gn5 + .byte W02 + .byte Gs5 + .byte W01 + .byte W01 + .byte Cn6 + .byte W02 + .byte PAN , c_v+16 + .byte N02 , Gn4 + .byte W02 + .byte Gs4 + .byte W01 + .byte W01 + .byte Cn5 + .byte W02 + .byte Dn5 + .byte W02 + .byte Ds5 + .byte W01 + .byte W01 + .byte Gn5 + .byte W02 + .byte Gs5 + .byte W02 + .byte Cn6 + .byte W01 + .byte W01 + .byte Dn6 + .byte W02 + .byte Ds6 , v044 + .byte W02 + .byte Cn6 + .byte W01 + .byte W01 + .byte Gs5 + .byte W02 + .byte Ds5 + .byte W02 + .byte PAN , c_v+32 + .byte N02 , Dn6 , v080 + .byte W01 + .byte W01 + .byte Cn6 + .byte W02 + .byte As5 + .byte W02 + .byte Gn5 + .byte W01 + .byte W01 + .byte PAN , c_v-16 + .byte N02 , Ds5 + .byte W02 + .byte PAN , c_v-32 + .byte N02 , Dn5 + .byte W02 + .byte Cn5 + .byte W01 + .byte W01 + .byte As4 + .byte W02 + .byte Gn4 + .byte W02 + .byte Ds4 + .byte W01 + .byte W01 + .byte Dn4 + .byte W02 + .byte PAN , c_v+16 + .byte N02 , As3 + .byte W02 + .byte Dn6 , v048 + .byte W01 + .byte W01 + .byte Cn6 + .byte W02 + .byte As5 + .byte W02 + .byte PAN , c_v-32 + .byte N02 , Gn5 + .byte W01 + .byte W01 + .byte Ds5 + .byte W02 + .byte Dn5 + .byte W02 + .byte Cn5 + .byte W01 + .byte W01 + .byte As4 + .byte W02 + .byte PAN , c_v+32 + .byte N02 , Cn6 , v080 + .byte W02 + .byte An5 + .byte W01 + .byte W01 + .byte Gn5 + .byte W02 + .byte Fn5 + .byte W02 + .byte PAN , c_v-16 + .byte N02 , Dn5 + .byte W01 + .byte W01 + .byte PAN , c_v-32 + .byte N02 , Cn5 + .byte W02 + .byte An4 + .byte W02 + .byte Gn4 + .byte W01 + .byte W01 + .byte Fn4 + .byte W02 + .byte Dn4 + .byte W02 + .byte Cn4 + .byte W01 + .byte W01 + .byte An3 + .byte W02 + .byte PAN , c_v+16 + .byte N02 , Cn6 , v048 + .byte W02 + .byte An5 + .byte W01 + .byte W01 + .byte Gn5 + .byte W02 + .byte PAN , c_v-16 + .byte N02 , Fn5 + .byte W02 + .byte Dn5 + .byte W01 + .byte W01 + .byte Cn5 + .byte W02 + .byte An4 + .byte W02 + .byte Gn4 + .byte W01 + .byte W01 + .byte Fn4 + .byte W02 + .byte Dn4 + .byte W02 + .byte PAN , c_v+16 + .byte N02 , Cn6 , v020 + .byte W01 + .byte W01 + .byte An5 + .byte W02 + .byte PAN , c_v-16 + .byte N02 , Gn5 + .byte W02 + .byte Fn5 + .byte W01 + .byte W01 + .byte Dn5 + .byte W02 + .byte Cn5 + .byte W02 + .byte As4 + .byte W01 + .byte W01 + .byte Gs4 + .byte W02 + .byte PAN , c_v+0 + .byte VOL , 62*mus_rg_titlerog_mvl/mxv + .byte N04 , Cn4 , v064 + .byte W03 + .byte W03 + .byte En4 + .byte W03 + .byte W03 + .byte Gn4 + .byte W03 + .byte W01 + .byte Bn4 + .byte W02 + .byte W03 + .byte W01 + .byte Cn5 + .byte W02 + .byte W03 + .byte W01 + .byte En5 + .byte W02 + .byte W03 + .byte W01 + .byte Gn5 + .byte W02 + .byte W03 + .byte W01 + .byte Bn5 + .byte W02 + .byte W03 + .byte W01 + .byte Dn6 + .byte W02 + .byte W03 + .byte W01 + .byte En6 , v056 + .byte W02 + .byte W03 + .byte W01 + .byte PAN , c_v-32 + .byte VOL , 53*mus_rg_titlerog_mvl/mxv + .byte N04 , En6 , v036 + .byte W02 + .byte W03 + .byte W01 + .byte PAN , c_v+32 + .byte VOL , 44*mus_rg_titlerog_mvl/mxv + .byte N04 , En6 , v032 + .byte W02 + .byte W03 + .byte W01 + .byte PAN , c_v-32 + .byte VOL , 37*mus_rg_titlerog_mvl/mxv + .byte N04 , En6 , v020 + .byte W02 + .byte W03 + .byte W01 + .byte PAN , c_v+32 + .byte VOL , 27*mus_rg_titlerog_mvl/mxv + .byte N04 , En6 , v012 + .byte W02 + .byte W03 + .byte W01 + .byte PAN , c_v-32 + .byte VOL , 22*mus_rg_titlerog_mvl/mxv + .byte N04 , En6 , v008 + .byte W02 + .byte W03 + .byte W01 + .byte PAN , c_v+32 + .byte VOL , 14*mus_rg_titlerog_mvl/mxv + .byte N04 + .byte W02 + .byte W03 + .byte W01 + .byte PAN , c_v-32 + .byte VOL , 11*mus_rg_titlerog_mvl/mxv + .byte N04 , En6 , v004 + .byte W02 + .byte W03 + .byte W01 + .byte PAN , c_v+32 + .byte VOL , 7*mus_rg_titlerog_mvl/mxv + .byte N04 + .byte W02 + .byte W03 + .byte W01 + .byte VOL , 6*mus_rg_titlerog_mvl/mxv + .byte PAN , c_v-17 + .byte N72 + .byte W02 + .byte VOL , 6*mus_rg_titlerog_mvl/mxv + .byte W03 + .byte W03 + .byte W03 + .byte 5*mus_rg_titlerog_mvl/mxv + .byte W03 + .byte W03 + .byte W03 + .byte 4*mus_rg_titlerog_mvl/mxv + .byte W03 + .byte W03 + .byte W03 + .byte 3*mus_rg_titlerog_mvl/mxv + .byte W03 + .byte W03 + .byte W03 + .byte W01 + .byte 3*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte W03 + .byte W03 + .byte W01 + .byte 2*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte W03 + .byte W03 + .byte W01 + .byte 1*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte W03 + .byte W03 + .byte W01 + .byte 0*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte W03 + .byte W03 + .byte W02 + .byte 0*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_titlerog_2: + .byte KEYSH , mus_rg_titlerog_key+0 + .byte VOICE , 46 + .byte BENDR , 2 + .byte VOL , 50*mus_rg_titlerog_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N02 , Cn6 , v112 + .byte W02 + .byte An5 + .byte W01 + .byte W01 + .byte Fn5 + .byte W02 +mus_rg_titlerog_2_000: + .byte N02 , En5 , v112 + .byte W02 + .byte Dn5 + .byte W01 + .byte PEND + .byte W01 + .byte An5 + .byte W02 + .byte Fn5 + .byte W02 + .byte En5 + .byte W01 + .byte W01 + .byte Dn5 + .byte W02 + .byte Cn5 + .byte W02 + .byte Fn5 + .byte W01 + .byte W01 + .byte En5 + .byte W02 + .byte Dn5 + .byte W02 + .byte Cn5 + .byte W01 + .byte W01 + .byte An4 + .byte W02 + .byte PATT + .word mus_rg_titlerog_2_000 + .byte W01 + .byte N02 , Cn5 , v112 + .byte W02 + .byte An4 + .byte W02 + .byte Fn4 + .byte W01 + .byte W01 + .byte Dn5 + .byte W02 + .byte Cn5 + .byte W02 + .byte An4 + .byte W01 + .byte W01 + .byte Fn4 + .byte W02 + .byte En4 + .byte W02 + .byte Cn6 , v064 + .byte W01 + .byte W01 + .byte An5 + .byte W02 + .byte Fn5 + .byte W02 + .byte En5 + .byte W01 + .byte W01 + .byte Dn5 + .byte W02 + .byte An5 + .byte W02 + .byte Fn5 + .byte W01 + .byte W01 + .byte En5 + .byte W02 +mus_rg_titlerog_2_001: + .byte N02 , Dn5 , v064 + .byte W02 + .byte Cn5 + .byte W01 + .byte PEND + .byte W01 + .byte Fn5 + .byte W02 + .byte En5 + .byte W02 + .byte Dn5 + .byte W01 + .byte W01 + .byte Cn5 + .byte W02 + .byte An4 + .byte W02 + .byte En5 + .byte W01 + .byte W01 + .byte Dn5 + .byte W02 + .byte Cn5 + .byte W02 + .byte An4 + .byte W01 + .byte W01 + .byte Fn4 + .byte W02 + .byte PATT + .word mus_rg_titlerog_2_001 + .byte W01 + .byte N02 , An4 , v064 + .byte W02 + .byte Fn4 + .byte W02 + .byte En4 + .byte W01 + .byte W01 + .byte Cn6 , v032 + .byte W02 + .byte An5 + .byte W02 + .byte Fn5 + .byte W01 + .byte W01 + .byte En5 + .byte W02 + .byte Dn5 + .byte W02 + .byte An5 + .byte W01 + .byte W01 + .byte Fn5 + .byte W02 + .byte En5 + .byte W02 + .byte Dn5 + .byte W01 + .byte W01 + .byte Cn5 + .byte W02 + .byte Fn5 + .byte W02 + .byte En5 + .byte W01 + .byte W01 + .byte Dn5 + .byte W02 + .byte Cn5 + .byte W02 + .byte An4 + .byte W01 + .byte W01 + .byte En5 + .byte W02 + .byte Dn5 + .byte W02 + .byte Cn5 + .byte W01 + .byte W01 + .byte An4 + .byte W02 + .byte Fn4 + .byte W02 + .byte Dn5 + .byte W01 + .byte W01 + .byte Cn5 + .byte W02 + .byte An4 + .byte W02 + .byte Fn4 + .byte W01 + .byte W01 + .byte En4 + .byte W02 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte VOL , 40*mus_rg_titlerog_mvl/mxv + .byte N04 , Cn3 , v064 + .byte W03 + .byte W03 + .byte En3 + .byte W03 + .byte W03 + .byte Gn3 + .byte W03 + .byte W01 + .byte Bn3 + .byte W02 + .byte W03 + .byte W01 + .byte Cn4 + .byte W02 + .byte W03 + .byte W01 + .byte En4 + .byte W02 + .byte W03 + .byte W01 + .byte Gn4 + .byte W02 + .byte W03 + .byte W01 + .byte Bn4 , v056 + .byte W02 + .byte W03 + .byte W01 + .byte Dn5 , v052 + .byte W02 + .byte W03 + .byte W01 + .byte En5 + .byte W02 + .byte W03 + .byte W01 + .byte PAN , c_v+32 + .byte VOL , 41*mus_rg_titlerog_mvl/mxv + .byte N04 , En5 , v040 + .byte W02 + .byte W03 + .byte W01 + .byte PAN , c_v-32 + .byte VOL , 37*mus_rg_titlerog_mvl/mxv + .byte N04 , En5 , v032 + .byte W02 + .byte W03 + .byte W01 + .byte PAN , c_v+32 + .byte VOL , 29*mus_rg_titlerog_mvl/mxv + .byte N04 , En5 , v024 + .byte W02 + .byte W03 + .byte W01 + .byte PAN , c_v-32 + .byte VOL , 22*mus_rg_titlerog_mvl/mxv + .byte N04 , En5 , v016 + .byte W02 + .byte W03 + .byte W01 + .byte PAN , c_v+32 + .byte VOL , 17*mus_rg_titlerog_mvl/mxv + .byte N04 , En5 , v008 + .byte W02 + .byte W03 + .byte W01 + .byte PAN , c_v-32 + .byte VOL , 9*mus_rg_titlerog_mvl/mxv + .byte N04 , En5 , v004 + .byte W02 + .byte W03 + .byte W01 + .byte PAN , c_v+32 + .byte VOL , 4*mus_rg_titlerog_mvl/mxv + .byte N04 + .byte W02 + .byte W03 + .byte W01 + .byte PAN , c_v-32 + .byte VOL , 2*mus_rg_titlerog_mvl/mxv + .byte N04 + .byte W02 + .byte W03 + .byte W01 + .byte PAN , c_v+32 + .byte VOL , 1*mus_rg_titlerog_mvl/mxv + .byte N76 + .byte W02 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W01 + .byte VOL , 0*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W01 + .byte 0*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_titlerog_3: + .byte KEYSH , mus_rg_titlerog_key+0 + .byte VOICE , 80 + .byte PAN , c_v+0 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 31*mus_rg_titlerog_mvl/mxv + .byte BEND , c_v+1 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte N72 , CnM2, v048 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_titlerog_4: + .byte KEYSH , mus_rg_titlerog_key+0 + .byte VOICE , 46 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+33 + .byte VOL , 25*mus_rg_titlerog_mvl/mxv + .byte BEND , c_v+0 + .byte W03 + .byte W01 + .byte N02 , En6 , v112 + .byte W02 + .byte Dn6 + .byte W02 + .byte Cn6 + .byte W01 + .byte W01 + .byte An5 + .byte W02 + .byte Fn5 + .byte W02 + .byte Dn6 + .byte W01 + .byte W01 + .byte Cn6 + .byte W02 + .byte An5 + .byte W02 + .byte Fn5 + .byte W01 + .byte W01 + .byte En5 + .byte W02 + .byte Cn6 + .byte W02 + .byte An5 + .byte W01 + .byte W01 + .byte Fn5 + .byte W02 + .byte En5 + .byte W02 + .byte Dn5 + .byte W01 + .byte W01 + .byte An5 + .byte W02 + .byte Fn5 + .byte W02 + .byte En5 + .byte W01 + .byte W01 + .byte Dn5 + .byte W02 + .byte Cn5 + .byte W02 + .byte Fn5 + .byte W01 + .byte W01 + .byte En5 + .byte W02 + .byte Dn5 + .byte W02 + .byte Cn5 + .byte W01 + .byte W01 + .byte An4 + .byte W02 + .byte En6 , v048 + .byte W02 + .byte Dn6 + .byte W01 + .byte W01 + .byte Cn6 + .byte W02 +mus_rg_titlerog_4_000: + .byte N02 , An5 , v048 + .byte W02 + .byte Fn5 + .byte W01 + .byte PEND + .byte W01 + .byte Dn6 + .byte W02 + .byte Cn6 + .byte W02 + .byte An5 + .byte W01 + .byte W01 + .byte Fn5 + .byte W02 + .byte En5 + .byte W02 + .byte Cn6 + .byte W01 + .byte W01 + .byte An5 + .byte W02 + .byte Fn5 + .byte W02 + .byte En5 + .byte W01 + .byte W01 + .byte Dn5 + .byte W02 + .byte PATT + .word mus_rg_titlerog_4_000 + .byte W01 + .byte N02 , En5 , v048 + .byte W02 + .byte Dn5 + .byte W02 + .byte Cn5 + .byte W01 + .byte W01 + .byte Fn5 + .byte W02 + .byte En5 + .byte W02 + .byte Dn5 + .byte W01 + .byte W01 + .byte Cn5 + .byte W02 + .byte An4 + .byte W02 + .byte En6 , v016 + .byte W01 + .byte W01 + .byte Dn6 + .byte W02 + .byte Cn6 + .byte W02 + .byte An5 + .byte W01 + .byte W01 + .byte Fn5 + .byte W02 + .byte Dn6 + .byte W02 + .byte Cn6 + .byte W01 + .byte W01 + .byte An5 + .byte W02 +mus_rg_titlerog_4_001: + .byte N02 , Fn5 , v016 + .byte W02 + .byte En5 + .byte W01 + .byte PEND + .byte W01 + .byte Cn6 + .byte W02 + .byte An5 + .byte W02 + .byte Fn5 + .byte W01 + .byte W01 + .byte En5 + .byte W02 + .byte Dn5 + .byte W02 + .byte An5 + .byte W01 + .byte W01 + .byte Fn5 + .byte W02 + .byte En5 + .byte W02 + .byte Dn5 + .byte W01 + .byte W01 + .byte Cn5 + .byte W02 + .byte PATT + .word mus_rg_titlerog_4_001 + .byte W01 + .byte N02 , Dn5 , v016 + .byte W02 + .byte VOICE , 1 + .byte VOL , 3*mus_rg_titlerog_mvl/mxv + .byte PAN , c_v+16 + .byte BEND , c_v+0 + .byte N80 , Cn4 , v124 + .byte W01 + .byte VOL , 3*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 4*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 5*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 6*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 7*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 7*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 8*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 9*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 10*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 11*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 11*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 12*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 13*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 14*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 14*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 15*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 16*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 17*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 18*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 18*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 19*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 20*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 21*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 22*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 22*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 23*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 24*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 25*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 25*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 26*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 27*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 28*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 29*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 29*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 30*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 31*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 32*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 33*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 33*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 34*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 35*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 36*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 37*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 37*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 38*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 39*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 40*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 40*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 41*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 42*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 43*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 44*mus_rg_titlerog_mvl/mxv + .byte BEND , c_v-6 + .byte W01 + .byte VOL , 44*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 45*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 46*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte BEND , c_v-11 + .byte W01 + .byte VOL , 47*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 48*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 48*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 49*mus_rg_titlerog_mvl/mxv + .byte BEND , c_v-16 + .byte W02 + .byte VOL , 50*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte BEND , c_v-22 + .byte W02 + .byte W02 + .byte c_v+0 + .byte N24 , Gn3 + .byte W01 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W01 + .byte N14 , An3 + .byte W02 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte N40 , Fn3 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W01 + .byte N20 , Dn3 + .byte W02 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte TIE , En3 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte VOL , 49*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 48*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 48*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 47*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 46*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 45*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 44*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 44*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 43*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 42*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 41*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 40*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 40*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 39*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 38*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 37*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 37*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 36*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 35*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 34*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 33*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 33*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 32*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 31*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 30*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 29*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 29*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 28*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 27*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 26*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 25*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 25*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 24*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 23*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 22*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 22*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 21*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 20*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 19*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 18*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 18*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 17*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 16*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 15*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 14*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 14*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 13*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 12*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 11*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 11*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 10*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 9*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 8*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 7*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 7*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 6*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 5*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 4*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 3*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 3*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 2*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 1*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 0*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 0*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte EOT + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_titlerog_5: + .byte KEYSH , mus_rg_titlerog_key+0 + .byte VOICE , 1 + .byte PAN , c_v-17 + .byte VOL , 36*mus_rg_titlerog_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte BEND , c_v+0 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte VOL , 3*mus_rg_titlerog_mvl/mxv + .byte N80 , Cn2 , v124 + .byte W01 + .byte VOL , 3*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 4*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 5*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 6*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 7*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 7*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 8*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 9*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 10*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 11*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 11*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 12*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 13*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 14*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 14*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 15*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 16*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 17*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 18*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 18*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 19*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 20*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 21*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 22*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 22*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 23*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 24*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 25*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 25*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 26*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 27*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 28*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 29*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 29*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 30*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 31*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 32*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 33*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 33*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 34*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 35*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 36*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 37*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 37*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 38*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 39*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 40*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 40*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 41*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 42*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 43*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 44*mus_rg_titlerog_mvl/mxv + .byte BEND , c_v-6 + .byte W01 + .byte VOL , 44*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 45*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 46*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte BEND , c_v-11 + .byte W01 + .byte VOL , 47*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 48*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 48*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 49*mus_rg_titlerog_mvl/mxv + .byte BEND , c_v-16 + .byte W02 + .byte VOL , 50*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte BEND , c_v-22 + .byte W02 + .byte W02 + .byte c_v+0 + .byte N24 , Gn1 + .byte W01 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W01 + .byte N14 , An1 + .byte W02 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte N40 , Fn1 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W01 + .byte N20 , Dn1 + .byte W02 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte TIE , En1 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte VOL , 49*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 48*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 48*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 47*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 46*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 45*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 44*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 44*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 43*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 42*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 41*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 40*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 40*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 39*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 38*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 37*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 37*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 36*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 35*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 34*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 33*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 33*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 32*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 31*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 30*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 29*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 29*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 28*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 27*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 26*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 25*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 25*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 24*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 23*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 22*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 22*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 21*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 20*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 19*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 18*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 18*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 17*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 16*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 15*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 14*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 14*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 13*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 12*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 11*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 11*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 10*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 9*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 8*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W01 + .byte 7*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 7*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 6*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 5*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 4*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 3*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 3*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 2*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte 1*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 0*mus_rg_titlerog_mvl/mxv + .byte W02 + .byte 0*mus_rg_titlerog_mvl/mxv + .byte W01 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte EOT + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_titlerog: + .byte 5 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_titlerog_pri @ Priority + .byte mus_rg_titlerog_rev @ Reverb. + + .word mus_rg_titlerog_grp + + .word mus_rg_titlerog_1 + .word mus_rg_titlerog_2 + .word mus_rg_titlerog_3 + .word mus_rg_titlerog_4 + .word mus_rg_titlerog_5 + + .end diff --git a/sound/songs/mus_rg_tvnoize.s b/sound/songs/mus_rg_tvnoize.s new file mode 100644 index 0000000000..15946526fa --- /dev/null +++ b/sound/songs/mus_rg_tvnoize.s @@ -0,0 +1,173 @@ + .include "MPlayDef.s" + + .equ mus_rg_tvnoize_grp, voicegroup_86B2C4C + .equ mus_rg_tvnoize_pri, 0 + .equ mus_rg_tvnoize_rev, reverb_set+50 + .equ mus_rg_tvnoize_mvl, 127 + .equ mus_rg_tvnoize_key, 0 + .equ mus_rg_tvnoize_tbs, 1 + .equ mus_rg_tvnoize_exg, 0 + .equ mus_rg_tvnoize_cmp, 1 + + .section .rodata + .global mus_rg_tvnoize + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_tvnoize_1: + .byte KEYSH , mus_rg_tvnoize_key+0 + .byte TEMPO , 144*mus_rg_tvnoize_tbs/2 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 59*mus_rg_tvnoize_mvl/mxv + .byte W24 +mus_rg_tvnoize_1_B1: +mus_rg_tvnoize_1_000: + .byte N06 , Cn2 , v088 + .byte W12 + .byte Gn3 + .byte W12 + .byte Gn1 + .byte W12 + .byte Gn3 + .byte W12 + .byte An1 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn1 + .byte W12 + .byte Gn3 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_tvnoize_1_000 + .byte GOTO + .word mus_rg_tvnoize_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_tvnoize_2: + .byte KEYSH , mus_rg_tvnoize_key+0 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 45*mus_rg_tvnoize_mvl/mxv + .byte BEND , c_v+0 + .byte W24 +mus_rg_tvnoize_2_B1: +mus_rg_tvnoize_2_000: + .byte W12 + .byte N06 , En3 , v088 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_tvnoize_2_000 + .byte GOTO + .word mus_rg_tvnoize_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_tvnoize_3: + .byte KEYSH , mus_rg_tvnoize_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 45*mus_rg_tvnoize_mvl/mxv + .byte BEND , c_v+2 + .byte W24 +mus_rg_tvnoize_3_B1: +mus_rg_tvnoize_3_000: + .byte N06 , Cn2 , v048 + .byte W12 + .byte Gn3 + .byte W12 + .byte Gn1 + .byte W12 + .byte Gn3 + .byte W12 + .byte An1 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn1 + .byte W12 + .byte Gn3 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_tvnoize_3_000 + .byte GOTO + .word mus_rg_tvnoize_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_tvnoize_4: + .byte KEYSH , mus_rg_tvnoize_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 34*mus_rg_tvnoize_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , Cn4 , v120 + .byte W06 + .byte PAN , c_v-64 + .byte N03 , Cn5 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , Gn4 + .byte W12 +mus_rg_tvnoize_4_B1: + .byte PAN , c_v+0 + .byte TIE , Cn4 , v064 + .byte W24 + .byte BEND , c_v+9 + .byte W09 + .byte c_v-10 + .byte W09 + .byte c_v+0 + .byte W54 + .byte c_v+9 + .byte W24 + .byte c_v-8 + .byte W24 + .byte c_v+0 + .byte W48 + .byte EOT + .byte GOTO + .word mus_rg_tvnoize_4_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_tvnoize: + .byte 4 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_tvnoize_pri @ Priority + .byte mus_rg_tvnoize_rev @ Reverb. + + .word mus_rg_tvnoize_grp + + .word mus_rg_tvnoize_1 + .word mus_rg_tvnoize_2 + .word mus_rg_tvnoize_3 + .word mus_rg_tvnoize_4 + + .end diff --git a/sound/songs/mus_rg_union.s b/sound/songs/mus_rg_union.s new file mode 100644 index 0000000000..2bd8dd46fe --- /dev/null +++ b/sound/songs/mus_rg_union.s @@ -0,0 +1,2746 @@ + .include "MPlayDef.s" + + .equ mus_rg_union_grp, voicegroup_86A15B8 + .equ mus_rg_union_pri, 0 + .equ mus_rg_union_rev, reverb_set+50 + .equ mus_rg_union_mvl, 127 + .equ mus_rg_union_key, 0 + .equ mus_rg_union_tbs, 1 + .equ mus_rg_union_exg, 0 + .equ mus_rg_union_cmp, 1 + + .section .rodata + .global mus_rg_union + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_union_1: + .byte KEYSH , mus_rg_union_key+0 + .byte TEMPO , 134*mus_rg_union_tbs/2 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 63*mus_rg_union_mvl/mxv + .byte PAN , c_v+48 + .byte N06 , Cn3 , v096 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 +mus_rg_union_1_B1: + .byte VOL , 63*mus_rg_union_mvl/mxv + .byte N36 , Cn4 , v080 + .byte W12 + .byte VOL , 56*mus_rg_union_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 45*mus_rg_union_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_union_mvl/mxv + .byte N12 , Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte Fs3 + .byte W96 + .byte N24 , En3 , v072 + .byte W24 + .byte Bn2 + .byte W24 + .byte Gn3 + .byte W24 + .byte Dn3 + .byte W12 + .byte MOD , 3 + .byte W12 +mus_rg_union_1_000: + .byte MOD , 0 + .byte N12 , Cn4 , v072 + .byte W12 + .byte N48 , Bn3 + .byte W12 + .byte MOD , 3 + .byte W12 + .byte VOL , 56*mus_rg_union_mvl/mxv + .byte W12 + .byte 45*mus_rg_union_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_union_mvl/mxv + .byte N12 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte PEND +mus_rg_union_1_001: + .byte MOD , 0 + .byte N36 , Bn3 , v072 + .byte W12 + .byte MOD , 3 + .byte W24 + .byte 0 + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PEND + .byte MOD , 0 + .byte N48 , An3 + .byte W24 + .byte VOL , 56*mus_rg_union_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 45*mus_rg_union_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_union_mvl/mxv + .byte N48 , Fs3 + .byte W24 + .byte VOL , 56*mus_rg_union_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 45*mus_rg_union_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_union_mvl/mxv + .byte N24 + .byte W24 + .byte Dn3 + .byte W24 + .byte An3 + .byte W24 + .byte Fs3 + .byte W24 + .byte MOD , 0 + .byte N12 , Dn4 + .byte W12 + .byte N48 , Cn4 + .byte W12 + .byte VOL , 56*mus_rg_union_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 51*mus_rg_union_mvl/mxv + .byte W12 + .byte 45*mus_rg_union_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_union_mvl/mxv + .byte N12 , Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte MOD , 0 + .byte N36 , Fs4 + .byte W15 + .byte MOD , 3 + .byte W21 + .byte 0 + .byte N12 , En4 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte MOD , 0 + .byte N12 , Bn3 + .byte W12 + .byte N06 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte N12 , Bn3 + .byte W12 + .byte N48 , An3 + .byte W12 + .byte VOL , 56*mus_rg_union_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 50*mus_rg_union_mvl/mxv + .byte W12 + .byte 45*mus_rg_union_mvl/mxv + .byte W12 + .byte VOICE , 17 + .byte MOD , 0 + .byte VOL , 63*mus_rg_union_mvl/mxv + .byte N24 , En3 + .byte W24 + .byte Bn2 + .byte W24 + .byte Gn3 + .byte W24 + .byte Dn3 + .byte W24 + .byte PATT + .word mus_rg_union_1_000 + .byte PATT + .word mus_rg_union_1_001 + .byte MOD , 0 + .byte N48 , An3 , v072 + .byte W24 + .byte VOL , 56*mus_rg_union_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 45*mus_rg_union_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_union_mvl/mxv + .byte N24 , Fs3 + .byte W24 + .byte En3 + .byte W24 + .byte MOD , 0 + .byte N24 , Fs3 + .byte W24 + .byte Dn3 + .byte W24 + .byte An3 + .byte W24 + .byte Fs3 + .byte W24 + .byte MOD , 0 + .byte N12 , Dn4 + .byte W12 + .byte N48 , Cn4 + .byte W12 + .byte MOD , 3 + .byte W12 + .byte VOL , 56*mus_rg_union_mvl/mxv + .byte W12 + .byte 45*mus_rg_union_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_union_mvl/mxv + .byte N12 , An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte MOD , 0 + .byte N24 , Dn4 + .byte W24 + .byte Cn4 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte Dn3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte VOICE , 24 + .byte N24 + .byte W24 + .byte N24 + .byte W12 + .byte W12 + .byte N12 , Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N60 , Fs3 + .byte W12 + .byte VOL , 56*mus_rg_union_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 49*mus_rg_union_mvl/mxv + .byte W12 + .byte 45*mus_rg_union_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 34*mus_rg_union_mvl/mxv + .byte W12 + .byte 63*mus_rg_union_mvl/mxv + .byte N12 , Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N48 , Gn3 + .byte W12 + .byte VOL , 56*mus_rg_union_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 50*mus_rg_union_mvl/mxv + .byte W12 + .byte 45*mus_rg_union_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_union_mvl/mxv + .byte N24 , Fs4 + .byte W24 + .byte Dn4 + .byte W24 + .byte An3 + .byte W24 + .byte Fs3 + .byte W24 + .byte N18 , Gn3 + .byte W18 + .byte N06 , Fs3 + .byte W06 + .byte N12 , En3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N60 , Gn3 + .byte W12 + .byte VOL , 56*mus_rg_union_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 49*mus_rg_union_mvl/mxv + .byte W12 + .byte 45*mus_rg_union_mvl/mxv + .byte W12 + .byte 63*mus_rg_union_mvl/mxv + .byte W12 + .byte N12 , Dn3 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte N12 , En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N60 , Fs3 + .byte W12 + .byte VOL , 56*mus_rg_union_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 49*mus_rg_union_mvl/mxv + .byte W12 + .byte 45*mus_rg_union_mvl/mxv + .byte W12 + .byte 63*mus_rg_union_mvl/mxv + .byte W12 + .byte N12 , Dn3 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte N12 , En3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N48 , Gn3 + .byte W12 + .byte VOL , 56*mus_rg_union_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 49*mus_rg_union_mvl/mxv + .byte W12 + .byte 45*mus_rg_union_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 63*mus_rg_union_mvl/mxv + .byte N24 , Fs4 + .byte W24 + .byte Dn4 + .byte W24 + .byte An3 + .byte W24 + .byte Cn4 + .byte W24 + .byte N12 , Bn3 + .byte W12 + .byte N06 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte N48 , Bn3 + .byte W12 + .byte VOL , 56*mus_rg_union_mvl/mxv + .byte MOD , 3 + .byte W12 + .byte VOL , 49*mus_rg_union_mvl/mxv + .byte W12 + .byte 45*mus_rg_union_mvl/mxv + .byte W12 + .byte GOTO + .word mus_rg_union_1_B1 + .byte MOD , 0 + .byte VOL , 63*mus_rg_union_mvl/mxv + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_union_2: + .byte KEYSH , mus_rg_union_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 90*mus_rg_union_mvl/mxv + .byte N06 , Gn3 , v120 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 +mus_rg_union_2_B1: + .byte VOICE , 24 + .byte VOL , 90*mus_rg_union_mvl/mxv + .byte N36 , En4 , v127 + .byte W12 + .byte VOL , 79*mus_rg_union_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 68*mus_rg_union_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_union_mvl/mxv + .byte N12 , Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W60 + .byte N06 , Dn3 , v120 + .byte W12 + .byte En3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N24 , Gn3 , v127 + .byte W24 + .byte Dn3 + .byte W24 + .byte Bn3 + .byte W24 + .byte Gn3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , En4 + .byte W12 + .byte N84 , Dn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_union_mvl/mxv + .byte W12 + .byte 68*mus_rg_union_mvl/mxv + .byte W12 + .byte 56*mus_rg_union_mvl/mxv + .byte W12 + .byte 45*mus_rg_union_mvl/mxv + .byte W12 + .byte 34*mus_rg_union_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_union_mvl/mxv + .byte N36 , Gn4 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N12 , Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte MOD , 0 + .byte N96 , Cn4 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_union_mvl/mxv + .byte W12 + .byte 68*mus_rg_union_mvl/mxv + .byte W12 + .byte 56*mus_rg_union_mvl/mxv + .byte W12 + .byte 45*mus_rg_union_mvl/mxv + .byte W12 + .byte 34*mus_rg_union_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_union_mvl/mxv + .byte N24 , An3 + .byte W24 + .byte Fs3 + .byte W24 + .byte Cn4 + .byte W24 + .byte An3 + .byte W24 + .byte MOD , 0 + .byte N12 , Fs4 + .byte W12 + .byte N84 , En4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_union_mvl/mxv + .byte W12 + .byte 68*mus_rg_union_mvl/mxv + .byte W12 + .byte 56*mus_rg_union_mvl/mxv + .byte W12 + .byte 45*mus_rg_union_mvl/mxv + .byte W12 + .byte 34*mus_rg_union_mvl/mxv + .byte W12 + .byte 90*mus_rg_union_mvl/mxv + .byte MOD , 0 + .byte N36 , An4 + .byte W12 + .byte VOL , 79*mus_rg_union_mvl/mxv + .byte W03 + .byte MOD , 5 + .byte W09 + .byte VOL , 68*mus_rg_union_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_union_mvl/mxv + .byte N12 , Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte MOD , 0 + .byte N96 , Dn4 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_union_mvl/mxv + .byte W12 + .byte 68*mus_rg_union_mvl/mxv + .byte W12 + .byte 56*mus_rg_union_mvl/mxv + .byte W12 + .byte 45*mus_rg_union_mvl/mxv + .byte W12 + .byte 34*mus_rg_union_mvl/mxv + .byte W12 + .byte VOICE , 17 + .byte VOL , 90*mus_rg_union_mvl/mxv + .byte MOD , 0 + .byte N24 , Gn4 , v112 + .byte W24 + .byte Dn4 + .byte W24 + .byte Bn4 + .byte W24 + .byte Gn4 + .byte W24 + .byte MOD , 0 + .byte N12 , En5 + .byte W12 + .byte N84 , Dn5 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_union_mvl/mxv + .byte W12 + .byte 68*mus_rg_union_mvl/mxv + .byte W12 + .byte 56*mus_rg_union_mvl/mxv + .byte W12 + .byte 45*mus_rg_union_mvl/mxv + .byte W12 + .byte 34*mus_rg_union_mvl/mxv + .byte W12 + .byte 90*mus_rg_union_mvl/mxv + .byte MOD , 0 + .byte N36 , Gn5 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N12 , Fs5 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte MOD , 0 + .byte N96 , Cn5 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_union_mvl/mxv + .byte W12 + .byte 68*mus_rg_union_mvl/mxv + .byte W12 + .byte 56*mus_rg_union_mvl/mxv + .byte W12 + .byte 45*mus_rg_union_mvl/mxv + .byte W12 + .byte 34*mus_rg_union_mvl/mxv + .byte W12 + .byte 90*mus_rg_union_mvl/mxv + .byte MOD , 0 + .byte N24 , An4 + .byte W24 + .byte Fs4 + .byte W24 + .byte Cn5 + .byte W24 + .byte An4 + .byte W24 + .byte MOD , 0 + .byte N12 , Fs5 + .byte W12 + .byte N84 , En5 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_union_mvl/mxv + .byte W12 + .byte 68*mus_rg_union_mvl/mxv + .byte W12 + .byte 56*mus_rg_union_mvl/mxv + .byte W12 + .byte 45*mus_rg_union_mvl/mxv + .byte W12 + .byte 34*mus_rg_union_mvl/mxv + .byte W12 + .byte 90*mus_rg_union_mvl/mxv + .byte MOD , 0 + .byte N36 , An5 + .byte W12 + .byte VOL , 79*mus_rg_union_mvl/mxv + .byte W03 + .byte MOD , 5 + .byte W09 + .byte VOL , 68*mus_rg_union_mvl/mxv + .byte W12 + .byte 90*mus_rg_union_mvl/mxv + .byte MOD , 0 + .byte N12 , Gn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Gn5 + .byte W12 + .byte An5 + .byte W12 + .byte Bn5 + .byte W12 + .byte Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte VOICE , 24 + .byte N12 , Dn4 , v127 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N60 , Fs4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 68*mus_rg_union_mvl/mxv + .byte W12 + .byte 56*mus_rg_union_mvl/mxv + .byte W12 + .byte 45*mus_rg_union_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_union_mvl/mxv + .byte N12 , Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte VOL , 90*mus_rg_union_mvl/mxv + .byte N60 , Gn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_union_mvl/mxv + .byte W12 + .byte 68*mus_rg_union_mvl/mxv + .byte W12 + .byte 56*mus_rg_union_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_union_mvl/mxv + .byte N12 , Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N24 , An4 + .byte W24 + .byte Fs4 + .byte W24 + .byte Dn4 + .byte W24 + .byte Cn5 + .byte W24 + .byte N18 , Bn4 , v120 + .byte W18 + .byte N06 , Cn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte N03 , Cn5 , v092 + .byte W03 + .byte Bn4 , v080 + .byte W03 + .byte N12 , An4 , v127 + .byte W12 + .byte Gn4 + .byte W12 + .byte VOICE , 17 + .byte N12 , Dn5 , v112 + .byte W12 + .byte En5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N60 , Fs5 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_union_mvl/mxv + .byte W12 + .byte 68*mus_rg_union_mvl/mxv + .byte W12 + .byte 56*mus_rg_union_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_union_mvl/mxv + .byte N12 , Dn5 + .byte W12 + .byte En5 + .byte W12 + .byte Fs5 + .byte W12 + .byte VOL , 90*mus_rg_union_mvl/mxv + .byte N60 , Gn5 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_union_mvl/mxv + .byte W12 + .byte 68*mus_rg_union_mvl/mxv + .byte W12 + .byte 56*mus_rg_union_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 90*mus_rg_union_mvl/mxv + .byte N12 , Dn5 + .byte W12 + .byte En5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N24 , An5 + .byte W24 + .byte Fs5 + .byte W24 + .byte Cn6 + .byte W24 + .byte An5 + .byte W24 + .byte N96 , Dn6 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 79*mus_rg_union_mvl/mxv + .byte W12 + .byte 68*mus_rg_union_mvl/mxv + .byte W12 + .byte 56*mus_rg_union_mvl/mxv + .byte W12 + .byte 45*mus_rg_union_mvl/mxv + .byte W12 + .byte 34*mus_rg_union_mvl/mxv + .byte W12 + .byte 22*mus_rg_union_mvl/mxv + .byte W12 + .byte GOTO + .word mus_rg_union_2_B1 + .byte MOD , 0 + .byte VOL , 90*mus_rg_union_mvl/mxv + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_union_3: + .byte KEYSH , mus_rg_union_key+0 + .byte VOICE , 87 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-64 + .byte VOL , 44*mus_rg_union_mvl/mxv + .byte N06 , En2 , v120 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 +mus_rg_union_3_B1: + .byte N36 , En3 , v127 + .byte W36 + .byte N12 , Dn3 , v120 + .byte W12 + .byte N06 , An2 + .byte W12 + .byte Bn2 , v127 + .byte W12 + .byte Cn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte N12 , Dn3 + .byte W48 + .byte VOICE , 80 + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte En2 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v-64 + .byte VOL , 28*mus_rg_union_mvl/mxv + .byte N06 , Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Bn2 + .byte W12 +mus_rg_union_3_000: + .byte PAN , c_v-64 + .byte N06 , Gn2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Dn2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fs2 + .byte W12 + .byte PEND +mus_rg_union_3_001: + .byte PAN , c_v-64 + .byte N06 , Gn2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Dn3 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Dn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Dn3 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Dn3 + .byte W12 + .byte PEND +mus_rg_union_3_002: + .byte PAN , c_v-64 + .byte N06 , Fs2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn3 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cn3 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn3 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cn3 + .byte W12 + .byte PEND +mus_rg_union_3_003: + .byte PAN , c_v-64 + .byte N06 , Fs2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An2 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An2 + .byte W12 + .byte PEND + .byte PAN , c_v-64 + .byte N06 , Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An2 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Dn2 + .byte W12 + .byte En2 , v120 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fs2 + .byte W12 +mus_rg_union_3_004: + .byte PAN , c_v-64 + .byte N06 , An2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn3 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cn3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn3 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cn3 + .byte W12 + .byte PEND + .byte PAN , c_v-64 + .byte N06 , Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn3 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Cn3 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Cn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An2 + .byte W12 +mus_rg_union_3_005: + .byte PAN , c_v-64 + .byte N06 , Gn2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Bn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_union_3_000 + .byte PATT + .word mus_rg_union_3_001 + .byte PATT + .word mus_rg_union_3_002 + .byte PAN , c_v-64 + .byte N06 , Fs2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An2 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , En2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An2 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Dn2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fs2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Dn3 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Fs2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Dn3 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Dn3 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 + .byte W24 + .byte PAN , c_v-64 + .byte N06 , Dn3 + .byte W12 + .byte PATT + .word mus_rg_union_3_003 + .byte PATT + .word mus_rg_union_3_005 + .byte PATT + .word mus_rg_union_3_004 + .byte PAN , c_v-64 + .byte N06 , Gn2 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W12 + .byte PATT + .word mus_rg_union_3_003 + .byte PATT + .word mus_rg_union_3_005 + .byte PATT + .word mus_rg_union_3_004 + .byte PATT + .word mus_rg_union_3_000 + .byte GOTO + .word mus_rg_union_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_union_4: + .byte KEYSH , mus_rg_union_key+0 + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 56*mus_rg_union_mvl/mxv + .byte W24 +mus_rg_union_4_B1: + .byte N36 , En2 , v120 + .byte W36 + .byte N12 , Dn2 + .byte W12 + .byte N06 , Cn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn2 + .byte W12 + .byte N12 , Dn1 + .byte W60 + .byte N06 , Cn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 + .byte W12 +mus_rg_union_4_000: + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Bn2 , v096 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Bn2 , v096 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Bn2 , v096 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Bn2 , v096 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte PEND + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Bn2 , v096 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , Bn1 , v120 + .byte W12 + .byte N06 , Cs3 , v096 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Bn2 , v096 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Gn3 , v096 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Dn3 , v100 + .byte W06 + .byte Dn3 , v032 + .byte W06 +mus_rg_union_4_001: + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , An3 , v096 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Gn3 , v096 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte PEND + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Cn2 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Cn2 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte PATT + .word mus_rg_union_4_000 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Gn3 , v096 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Bn1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Bn2 , v096 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Gn3 , v096 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte PATT + .word mus_rg_union_4_001 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Ds3 , v096 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Cn2 , v120 + .byte W12 + .byte N06 , Gn3 , v096 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Cn2 , v120 + .byte W12 + .byte N06 , Cn4 , v088 + .byte W06 + .byte Cn4 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Bn2 , v096 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Cn2 , v120 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , An3 , v096 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Bn1 , v120 + .byte W12 + .byte N06 , Bn3 , v096 + .byte W06 + .byte Bn3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Gn3 , v096 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte N12 , Bn1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Fn3 , v096 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Cn4 , v096 + .byte W06 + .byte Cn4 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Bn3 , v096 + .byte W06 + .byte Bn3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Dn4 , v072 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , An1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Gn3 , v096 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , En3 , v096 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte N12 , Fs1 , v120 + .byte W12 + .byte N06 , An3 , v096 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Fs3 , v096 + .byte W06 + .byte Fs3 , v032 + .byte W06 + .byte N12 , En1 , v120 + .byte W12 + .byte N06 , Cn4 , v096 + .byte W06 + .byte Cn4 , v032 + .byte W06 + .byte N12 , Fn1 , v120 + .byte W12 + .byte N06 , An3 , v096 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Bn3 , v096 + .byte W06 + .byte Bn3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , An3 , v096 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte N12 , Gn1 , v120 + .byte W12 + .byte N06 , Gn3 , v096 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte N12 , Dn1 , v120 + .byte W12 + .byte N06 , Dn3 , v096 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte GOTO + .word mus_rg_union_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_union_5: + .byte KEYSH , mus_rg_union_key+0 + .byte VOICE , 73 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 34*mus_rg_union_mvl/mxv + .byte W24 +mus_rg_union_5_B1: + .byte VOICE , 73 + .byte W96 + .byte W12 + .byte N06 , Dn5 , v127 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte N03 , Dn5 + .byte W03 + .byte En5 , v120 + .byte W03 + .byte Dn5 + .byte W03 + .byte En5 + .byte W03 + .byte Dn5 + .byte W03 + .byte En5 + .byte W03 + .byte Dn5 + .byte W03 + .byte En5 + .byte W03 + .byte Dn5 + .byte W03 + .byte En5 + .byte W03 + .byte Dn5 , v096 + .byte W03 + .byte En5 , v076 + .byte W03 + .byte Dn5 , v068 + .byte W03 + .byte En5 , v060 + .byte W03 + .byte Dn5 + .byte W03 + .byte En5 , v032 + .byte W03 + .byte W96 + .byte VOL , 34*mus_rg_union_mvl/mxv + .byte N06 , Dn5 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte N12 , Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte W96 + .byte VOL , 29*mus_rg_union_mvl/mxv + .byte W12 + .byte N06 , Dn6 + .byte W06 + .byte Cs6 + .byte W06 + .byte Dn6 + .byte W12 + .byte N06 + .byte W06 + .byte Cs6 + .byte W06 + .byte N03 , Dn6 + .byte W03 + .byte Ds6 , v060 + .byte W03 + .byte Dn6 , v120 + .byte W03 + .byte Ds6 , v064 + .byte W03 + .byte Dn6 , v120 + .byte W03 + .byte Ds6 , v060 + .byte W03 + .byte Dn6 , v120 + .byte W03 + .byte Ds6 , v060 + .byte W03 + .byte Dn6 , v092 + .byte W03 + .byte Ds6 , v040 + .byte W03 + .byte Dn6 , v064 + .byte W03 + .byte Ds6 , v028 + .byte W03 + .byte Dn6 , v064 + .byte W03 + .byte Ds6 , v028 + .byte W03 + .byte Dn6 , v060 + .byte W03 + .byte Ds6 , v032 + .byte W03 + .byte W96 + .byte N06 , Bn5 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte An5 + .byte W06 + .byte Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte En5 + .byte W12 + .byte N06 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte W96 + .byte VOICE , 73 + .byte N06 , Dn6 + .byte W12 + .byte N06 + .byte W06 + .byte Cs6 + .byte W06 + .byte Dn6 + .byte W06 + .byte Cs6 + .byte W06 + .byte Dn6 + .byte W06 + .byte En6 + .byte W06 + .byte N12 , Dn6 + .byte W12 + .byte Cn6 + .byte W12 + .byte Bn5 + .byte W12 + .byte An5 + .byte W12 + .byte W96 + .byte VOICE , 14 + .byte VOL , 36*mus_rg_union_mvl/mxv + .byte W24 + .byte N24 , Fs5 + .byte W24 + .byte En5 + .byte W24 + .byte Dn5 + .byte W24 + .byte W96 + .byte W24 + .byte Gn5 + .byte W24 + .byte Fs5 + .byte W24 + .byte En5 + .byte W24 + .byte An5 + .byte W96 + .byte W24 + .byte Fs5 + .byte W24 + .byte En5 + .byte W24 + .byte Fs5 + .byte W24 + .byte An5 + .byte W48 + .byte Dn5 + .byte W48 + .byte VOICE , 14 + .byte N24 , Gn5 + .byte W24 + .byte Dn5 + .byte W24 + .byte Gn5 + .byte W48 + .byte VOICE , 73 + .byte VOL , 34*mus_rg_union_mvl/mxv + .byte N03 , Gs5 + .byte W03 + .byte N09 , Gn5 + .byte W09 + .byte N12 , Fs5 + .byte W12 + .byte N06 , En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte N12 , Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Dn5 + .byte W12 + .byte N06 , Bn5 + .byte W06 + .byte An5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte N24 , Cn5 + .byte W24 + .byte An4 + .byte W24 + .byte Fs4 + .byte W24 + .byte En5 + .byte W24 + .byte N06 , Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte N03 , Gn5 + .byte W03 + .byte An5 + .byte W03 + .byte Gn5 + .byte W03 + .byte An5 + .byte W03 + .byte Gn5 + .byte W03 + .byte An5 + .byte W03 + .byte Gn5 + .byte W03 + .byte An5 + .byte W03 + .byte Gn5 , v096 + .byte W03 + .byte An5 , v076 + .byte W03 + .byte Gn5 , v088 + .byte W03 + .byte An5 , v064 + .byte W03 + .byte Gn5 + .byte W03 + .byte An5 , v048 + .byte W03 + .byte Gn5 , v056 + .byte W03 + .byte An5 , v032 + .byte W03 + .byte VOICE , 14 + .byte VOL , 43*mus_rg_union_mvl/mxv + .byte N24 , Fs5 , v120 + .byte W48 + .byte Dn5 + .byte W48 + .byte VOL , 48*mus_rg_union_mvl/mxv + .byte N24 , Gn5 + .byte W48 + .byte Dn5 + .byte W48 + .byte An4 + .byte W24 + .byte Fs4 + .byte W24 + .byte Cn5 + .byte W24 + .byte An4 + .byte W24 + .byte Dn5 + .byte W96 + .byte GOTO + .word mus_rg_union_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_union_6: + .byte KEYSH , mus_rg_union_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 44*mus_rg_union_mvl/mxv + .byte W24 +mus_rg_union_6_B1: + .byte PAN , c_v+32 + .byte N12 , En2 , v120 + .byte W24 + .byte PAN , c_v-32 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte An1 , v080 + .byte W06 + .byte N12 , An1 , v120 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Dn3 + .byte W12 + .byte N24 , Dn2 + .byte W96 + .byte Gn1 + .byte W96 + .byte PAN , c_v+32 + .byte W24 + .byte N12 , Dn2 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Bn1 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , An1 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Gn1 + .byte W96 + .byte PAN , c_v+32 + .byte N12 , An2 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Dn2 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , An2 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Dn2 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , An1 + .byte W96 + .byte W96 + .byte Dn2 + .byte W96 + .byte N24 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , An1 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Dn2 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , An1 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Gn1 + .byte W72 + .byte PAN , c_v-32 + .byte N12 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Dn2 + .byte W96 + .byte N24 + .byte W48 + .byte PAN , c_v-32 + .byte N24 , Gn1 + .byte W48 + .byte PAN , c_v+32 + .byte N06 + .byte N24 , Cn2 + .byte W96 + .byte W96 + .byte PAN , c_v-32 + .byte N24 + .byte W96 + .byte W96 + .byte PAN , c_v+32 + .byte N24 , Gn2 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Dn2 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Gn2 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte N12 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Dn2 + .byte W24 + .byte PAN , c_v+32 + .byte N12 , Gn2 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Dn2 + .byte W24 + .byte W48 + .byte N12 + .byte W48 + .byte W48 + .byte Gn1 + .byte W48 + .byte W48 + .byte PAN , c_v+32 + .byte N12 , An2 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Dn2 + .byte W24 + .byte W96 + .byte GOTO + .word mus_rg_union_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_union_7: + .byte KEYSH , mus_rg_union_key+0 + .byte VOICE , 0 + .byte VOL , 74*mus_rg_union_mvl/mxv + .byte W24 +mus_rg_union_7_B1: + .byte N48 , Cs2 , v120 + .byte W48 + .byte An2 + .byte W48 + .byte Gn2 + .byte W96 + .byte An2 + .byte W96 + .byte W96 + .byte Cs2 + .byte W96 + .byte N12 + .byte W96 + .byte N48 , An2 + .byte W96 + .byte W96 + .byte N48 + .byte W96 + .byte W96 + .byte Gn2 + .byte W96 + .byte N24 , An2 + .byte W96 + .byte Gn2 + .byte W48 + .byte Cs2 + .byte W48 + .byte Bn2 + .byte W96 + .byte N48 , Cs2 + .byte W96 + .byte N24 , An2 + .byte W96 + .byte N48 , Bn2 + .byte W48 + .byte Cs2 + .byte W48 + .byte W72 + .byte N24 , An2 + .byte W24 + .byte N48 , Cs2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte An2 + .byte W96 + .byte Cs2 + .byte W96 + .byte Bn2 + .byte W96 + .byte Cs2 + .byte W96 + .byte GOTO + .word mus_rg_union_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_union_8: + .byte KEYSH , mus_rg_union_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 41*mus_rg_union_mvl/mxv + .byte W24 +mus_rg_union_8_B1: + .byte N01 , Gn3 , v120 + .byte W36 + .byte N01 + .byte W03 + .byte Gn3 , v064 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W12 + .byte N01 + .byte W03 + .byte Gn3 , v064 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W06 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v120 + .byte W60 + .byte Gn3 , v064 + .byte W12 + .byte N01 + .byte W12 + .byte Gn3 , v120 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 +mus_rg_union_8_000: + .byte N01 , Gn3 , v120 + .byte W06 + .byte Gn3 , v048 + .byte W06 + .byte Gn3 , v112 + .byte W12 + .byte Gn3 , v048 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v052 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W12 + .byte PEND +mus_rg_union_8_001: + .byte N01 , Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v044 + .byte W03 + .byte Gn3 , v100 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_union_8_000 +mus_rg_union_8_002: + .byte N01 , Gn3 , v120 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W06 + .byte Gn3 , v040 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte N01 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_union_8_000 + .byte N01 , Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v040 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PATT + .word mus_rg_union_8_000 + .byte PATT + .word mus_rg_union_8_002 +mus_rg_union_8_003: + .byte N01 , Gn3 , v120 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W06 + .byte Gn3 , v048 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v064 + .byte W12 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte PEND +mus_rg_union_8_004: + .byte N01 , Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v108 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v064 + .byte W12 + .byte PEND +mus_rg_union_8_005: + .byte N01 , Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte Gn3 , v056 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte Gn3 , v108 + .byte W12 + .byte Gn3 , v084 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte PEND + .byte N01 + .byte W12 + .byte Gn3 , v048 + .byte W06 + .byte Gn3 , v120 + .byte W06 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v108 + .byte W06 + .byte Gn3 , v120 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W06 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PATT + .word mus_rg_union_8_000 + .byte PATT + .word mus_rg_union_8_002 + .byte PATT + .word mus_rg_union_8_000 + .byte N01 , Gn3 , v120 + .byte W12 + .byte N01 + .byte W12 + .byte N01 + .byte W06 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v096 + .byte W06 + .byte Gn3 , v064 + .byte W06 + .byte Gn3 , v120 + .byte W12 + .byte N01 + .byte W12 + .byte N01 + .byte W06 + .byte N01 + .byte W03 + .byte Gn3 , v048 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte N01 + .byte W03 + .byte PATT + .word mus_rg_union_8_000 + .byte PATT + .word mus_rg_union_8_001 + .byte PATT + .word mus_rg_union_8_000 + .byte PATT + .word mus_rg_union_8_002 + .byte PATT + .word mus_rg_union_8_002 + .byte PATT + .word mus_rg_union_8_003 + .byte PATT + .word mus_rg_union_8_004 + .byte PATT + .word mus_rg_union_8_005 + .byte GOTO + .word mus_rg_union_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_union: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_union_pri @ Priority + .byte mus_rg_union_rev @ Reverb. + + .word mus_rg_union_grp + + .word mus_rg_union_1 + .word mus_rg_union_2 + .word mus_rg_union_3 + .word mus_rg_union_4 + .word mus_rg_union_5 + .word mus_rg_union_6 + .word mus_rg_union_7 + .word mus_rg_union_8 + + .end diff --git a/sound/songs/mus_rg_vs_den.s b/sound/songs/mus_rg_vs_den.s new file mode 100644 index 0000000000..c277deef6d --- /dev/null +++ b/sound/songs/mus_rg_vs_den.s @@ -0,0 +1,3605 @@ + .include "MPlayDef.s" + + .equ mus_rg_vs_den_grp, voicegroup_86A98BC + .equ mus_rg_vs_den_pri, 0 + .equ mus_rg_vs_den_rev, reverb_set+50 + .equ mus_rg_vs_den_mvl, 127 + .equ mus_rg_vs_den_key, 0 + .equ mus_rg_vs_den_tbs, 1 + .equ mus_rg_vs_den_exg, 0 + .equ mus_rg_vs_den_cmp, 1 + + .section .rodata + .global mus_rg_vs_den + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_vs_den_1: + .byte KEYSH , mus_rg_vs_den_key+0 + .byte TEMPO , 182*mus_rg_vs_den_tbs/2 + .byte VOICE , 87 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_vs_den_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte N06 , Ds4 , v080 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte VOICE , 84 + .byte VOL , 79*mus_rg_vs_den_mvl/mxv + .byte N06 , As3 + .byte W36 + .byte Gn3 + .byte W36 + .byte Fs3 + .byte W24 + .byte W48 + .byte En3 + .byte W48 +mus_rg_vs_den_1_000: + .byte W36 + .byte N06 , Gn3 , v080 + .byte W36 + .byte Fs3 + .byte W24 + .byte PEND + .byte W36 + .byte VOL , 57*mus_rg_vs_den_mvl/mxv + .byte N60 , En3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte VOL , 89*mus_rg_vs_den_mvl/mxv + .byte W24 + .byte 79*mus_rg_vs_den_mvl/mxv + .byte MOD , 0 + .byte N06 , As3 + .byte W36 + .byte Gn3 + .byte W36 + .byte Fs3 + .byte W24 + .byte W48 + .byte En3 + .byte W48 + .byte PATT + .word mus_rg_vs_den_1_000 + .byte W36 + .byte N60 , En3 , v080 + .byte W12 + .byte MOD , 7 + .byte W48 +mus_rg_vs_den_1_B1: + .byte VOL , 89*mus_rg_vs_den_mvl/mxv + .byte MOD , 0 + .byte N06 , En3 , v080 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 +mus_rg_vs_den_1_001: + .byte N06 , En3 , v080 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte PEND +mus_rg_vs_den_1_002: + .byte N06 , En3 , v080 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte PEND + .byte Cn4 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 +mus_rg_vs_den_1_003: + .byte N06 , Fs3 , v080 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte PEND + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte PATT + .word mus_rg_vs_den_1_003 + .byte PATT + .word mus_rg_vs_den_1_001 + .byte PATT + .word mus_rg_vs_den_1_001 + .byte PATT + .word mus_rg_vs_den_1_001 + .byte PATT + .word mus_rg_vs_den_1_002 + .byte N24 , Fn3 , v080 + .byte W24 + .byte Ds3 + .byte W24 + .byte Fn3 + .byte W24 + .byte Gs3 + .byte W24 + .byte N36 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Fn3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Gs3 + .byte W24 + .byte N72 , Cn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 67*mus_rg_vs_den_mvl/mxv + .byte W48 + .byte 90*mus_rg_vs_den_mvl/mxv + .byte MOD , 0 + .byte N24 , Cs4 + .byte W24 + .byte N96 , As3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 68*mus_rg_vs_den_mvl/mxv + .byte W72 + .byte 90*mus_rg_vs_den_mvl/mxv + .byte MOD , 0 + .byte N24 , Fn3 + .byte W24 + .byte Ds3 + .byte W24 + .byte Fn3 + .byte W24 + .byte Gs3 + .byte W24 + .byte N36 , As3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Cn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Dn4 + .byte W24 + .byte VOL , 68*mus_rg_vs_den_mvl/mxv + .byte N96 , Ds4 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte VOL , 90*mus_rg_vs_den_mvl/mxv + .byte W24 + .byte 68*mus_rg_vs_den_mvl/mxv + .byte MOD , 0 + .byte N96 , As4 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte VOL , 90*mus_rg_vs_den_mvl/mxv + .byte W24 + .byte 68*mus_rg_vs_den_mvl/mxv + .byte MOD , 0 + .byte N72 , Ds3 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte VOL , 90*mus_rg_vs_den_mvl/mxv + .byte MOD , 0 + .byte N12 + .byte W24 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W84 + .byte VOL , 68*mus_rg_vs_den_mvl/mxv + .byte N72 , En3 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte VOL , 90*mus_rg_vs_den_mvl/mxv + .byte MOD , 0 + .byte N12 + .byte W24 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W36 + .byte N48 , En3 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte GOTO + .word mus_rg_vs_den_1_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_vs_den_2: + .byte KEYSH , mus_rg_vs_den_key+0 + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_vs_den_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte BEND , c_v+1 + .byte N06 , As4 , v064 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs5 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs5 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs5 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs5 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs5 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs5 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs5 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs5 + .byte W06 + .byte VOICE , 4 + .byte VOL , 68*mus_rg_vs_den_mvl/mxv + .byte N12 , As4 + .byte W36 + .byte As3 , v096 + .byte W36 + .byte N12 + .byte W24 + .byte W48 + .byte N12 + .byte W48 +mus_rg_vs_den_2_000: + .byte W36 + .byte N12 , As3 , v096 + .byte W36 + .byte N12 + .byte W24 + .byte PEND + .byte W36 + .byte N60 , An3 + .byte W06 + .byte VOL , 23*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 33*mus_rg_vs_den_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 41*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 51*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 64*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 72*mus_rg_vs_den_mvl/mxv + .byte W24 + .byte 68*mus_rg_vs_den_mvl/mxv + .byte MOD , 0 + .byte N12 , As3 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W48 + .byte N12 + .byte W48 + .byte PATT + .word mus_rg_vs_den_2_000 + .byte W36 + .byte N60 , As3 , v096 + .byte W12 + .byte VOL , 34*mus_rg_vs_den_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 39*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 55*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 78*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 86*mus_rg_vs_den_mvl/mxv + .byte W19 +mus_rg_vs_den_2_B1: + .byte VOICE , 81 + .byte VOL , 68*mus_rg_vs_den_mvl/mxv + .byte MOD , 0 + .byte N36 , As3 , v096 + .byte W36 + .byte An3 + .byte W36 + .byte N24 , Gn3 + .byte W24 + .byte N36 , As3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Cn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , As3 + .byte W24 + .byte N72 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte 0 + .byte N12 , As4 + .byte W24 + .byte Bn4 + .byte W12 + .byte As4 + .byte W36 + .byte N48 , En5 + .byte W06 + .byte VOL , 34*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 36*mus_rg_vs_den_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 44*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 54*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 70*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 78*mus_rg_vs_den_mvl/mxv + .byte W01 + .byte 87*mus_rg_vs_den_mvl/mxv + .byte W12 + .byte 68*mus_rg_vs_den_mvl/mxv + .byte MOD , 0 + .byte N36 , Ds4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Cs4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Bn3 + .byte W24 + .byte N36 , En4 + .byte W36 + .byte Ds4 + .byte W36 + .byte N24 , Cs4 + .byte W24 + .byte N36 , Gs4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Fn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte Ds4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Gs4 + .byte W24 + .byte VOL , 78*mus_rg_vs_den_mvl/mxv + .byte TIE , Bn4 , v116 + .byte W12 + .byte MOD , 7 + .byte VOL , 21*mus_rg_vs_den_mvl/mxv + .byte W72 + .byte W03 + .byte 27*mus_rg_vs_den_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 34*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 38*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte VOL , 45*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 61*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 67*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 74*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 79*mus_rg_vs_den_mvl/mxv + .byte W12 + .byte 85*mus_rg_vs_den_mvl/mxv + .byte W36 + .byte EOT + .byte MOD , 0 + .byte VOL , 44*mus_rg_vs_den_mvl/mxv + .byte TIE , As4 , v108 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_rg_vs_den_mvl/mxv + .byte W66 + .byte 25*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 34*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 38*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte VOL , 44*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 60*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 67*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 74*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 79*mus_rg_vs_den_mvl/mxv + .byte W12 + .byte 84*mus_rg_vs_den_mvl/mxv + .byte W12 + .byte 90*mus_rg_vs_den_mvl/mxv + .byte W24 + .byte EOT + .byte VOICE , 92 + .byte VOL , 67*mus_rg_vs_den_mvl/mxv + .byte MOD , 0 + .byte VOL , 68*mus_rg_vs_den_mvl/mxv + .byte N48 , Gs3 , v096 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Cs4 + .byte W12 + .byte MOD , 7 + .byte W36 +mus_rg_vs_den_2_001: + .byte MOD , 0 + .byte N48 , Fn4 , v096 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Gs4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte PEND + .byte 0 + .byte N96 , Gn4 + .byte W06 + .byte VOL , 22*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 29*mus_rg_vs_den_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 31*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 35*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 40*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 47*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 52*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 57*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 63*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 68*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 72*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 76*mus_rg_vs_den_mvl/mxv + .byte W24 + .byte 68*mus_rg_vs_den_mvl/mxv + .byte MOD , 0 + .byte N96 + .byte W06 + .byte VOL , 22*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 28*mus_rg_vs_den_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 31*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 36*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 41*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 46*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 53*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 56*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 62*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 65*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 70*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 75*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 79*mus_rg_vs_den_mvl/mxv + .byte W18 + .byte 68*mus_rg_vs_den_mvl/mxv + .byte MOD , 0 + .byte N48 , Gs3 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Cs4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte PATT + .word mus_rg_vs_den_2_001 + .byte MOD , 0 + .byte N96 , As4 , v096 + .byte W06 + .byte VOL , 34*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 41*mus_rg_vs_den_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 43*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 46*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 48*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 51*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 55*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 60*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 67*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 75*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 79*mus_rg_vs_den_mvl/mxv + .byte W30 + .byte W01 + .byte 68*mus_rg_vs_den_mvl/mxv + .byte MOD , 0 + .byte N96 , Ds5 + .byte W06 + .byte VOL , 22*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 24*mus_rg_vs_den_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 28*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 31*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 36*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 42*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 50*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 58*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 68*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 74*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 83*mus_rg_vs_den_mvl/mxv + .byte W30 + .byte W01 + .byte 68*mus_rg_vs_den_mvl/mxv + .byte MOD , 0 + .byte N72 , Gn4 + .byte W06 + .byte VOL , 45*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 46*mus_rg_vs_den_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 47*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 49*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 53*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 55*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 58*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 60*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 67*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 72*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 77*mus_rg_vs_den_mvl/mxv + .byte W01 + .byte 79*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte N12 + .byte W24 + .byte VOL , 68*mus_rg_vs_den_mvl/mxv + .byte N12 , Gs4 + .byte W12 + .byte N24 , Gn4 + .byte W84 + .byte VOL , 68*mus_rg_vs_den_mvl/mxv + .byte N72 , Gs4 + .byte W06 + .byte VOL , 45*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 46*mus_rg_vs_den_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 47*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 49*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 53*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 55*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 58*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 60*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 67*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 72*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 77*mus_rg_vs_den_mvl/mxv + .byte W01 + .byte 79*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte N12 + .byte W24 + .byte VOL , 68*mus_rg_vs_den_mvl/mxv + .byte N12 , Bn4 + .byte W12 + .byte As4 + .byte W36 + .byte N48 , Gs4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte GOTO + .word mus_rg_vs_den_2_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_vs_den_3: + .byte KEYSH , mus_rg_vs_den_key+0 + .byte VOICE , 83 + .byte PAN , c_v-64 + .byte VOL , 68*mus_rg_vs_den_mvl/mxv + .byte N06 , En2 , v092 + .byte W12 + .byte N06 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Fn2 + .byte W12 + .byte N06 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Fs2 + .byte W12 + .byte N06 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Gn2 + .byte W12 + .byte N06 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Gs2 + .byte W12 + .byte N06 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte N06 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , As2 + .byte W12 + .byte N06 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Cs2 + .byte W12 + .byte Dn2 + .byte W12 +mus_rg_vs_den_3_000: + .byte PAN , c_v-64 + .byte VOL , 56*mus_rg_vs_den_mvl/mxv + .byte N06 , Ds2 , v092 + .byte W06 + .byte Ds2 , v040 + .byte W06 + .byte As2 , v092 + .byte W06 + .byte As2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Ds2 , v092 + .byte W06 + .byte Ds2 , v040 + .byte W06 + .byte As2 , v092 + .byte W06 + .byte As2 , v040 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Ds2 , v092 + .byte W06 + .byte Ds2 , v040 + .byte W06 + .byte As2 , v092 + .byte W06 + .byte As2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Ds2 , v092 + .byte W06 + .byte Ds2 , v040 + .byte W06 + .byte As2 , v092 + .byte W06 + .byte As2 , v040 + .byte W06 + .byte PEND +mus_rg_vs_den_3_001: + .byte PAN , c_v-64 + .byte N06 , Ds2 , v092 + .byte W06 + .byte Ds2 , v040 + .byte W06 + .byte As2 , v092 + .byte W06 + .byte As2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Ds2 , v092 + .byte W06 + .byte Ds2 , v040 + .byte W06 + .byte As2 , v092 + .byte W06 + .byte As2 , v040 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Ds2 , v092 + .byte W06 + .byte Ds2 , v040 + .byte W06 + .byte As2 , v092 + .byte W06 + .byte As2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Ds2 , v092 + .byte W06 + .byte Ds2 , v040 + .byte W06 + .byte As2 , v092 + .byte W06 + .byte As2 , v040 + .byte W06 + .byte PEND + .byte PAN , c_v-64 + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte Bn2 , v092 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte VOL , 68*mus_rg_vs_den_mvl/mxv + .byte N24 , En2 , v092 + .byte W24 + .byte PAN , c_v-64 + .byte N12 , Bn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N24 , En2 + .byte W24 + .byte PAN , c_v-64 + .byte N12 , Gs2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , As2 + .byte W03 + .byte Bn2 , v088 + .byte W03 + .byte N06 , As2 + .byte W06 + .byte N12 , Gs2 , v092 + .byte W12 + .byte PATT + .word mus_rg_vs_den_3_000 + .byte PATT + .word mus_rg_vs_den_3_001 +mus_rg_vs_den_3_002: + .byte PAN , c_v-64 + .byte N12 , En2 , v092 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N24 , En2 + .byte W24 + .byte PAN , c_v-64 + .byte N12 , Bn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_den_3_002 +mus_rg_vs_den_3_B1: + .byte VOICE , 80 + .byte PAN , c_v-64 + .byte N06 , Ds2 , v092 + .byte W06 + .byte Ds2 , v040 + .byte W06 + .byte As2 , v092 + .byte W06 + .byte As2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Ds2 , v092 + .byte W06 + .byte Ds2 , v040 + .byte W06 + .byte As2 , v092 + .byte W06 + .byte As2 , v040 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Ds2 , v092 + .byte W06 + .byte Ds2 , v040 + .byte W06 + .byte As2 , v092 + .byte W06 + .byte As2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Ds2 , v092 + .byte W06 + .byte Ds2 , v040 + .byte W06 + .byte As2 , v092 + .byte W06 + .byte As2 , v040 + .byte W06 + .byte PATT + .word mus_rg_vs_den_3_001 + .byte PAN , c_v-64 + .byte VOL , 68*mus_rg_vs_den_mvl/mxv + .byte N72 , Bn2 , v092 + .byte W72 + .byte PAN , c_v+63 + .byte N12 , As2 + .byte W24 + .byte PAN , c_v-64 + .byte N12 , Bn2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+63 + .byte W24 + .byte c_v-64 + .byte N12 , Bn2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , An2 , v096 + .byte W03 + .byte As2 + .byte W03 + .byte N06 , An2 + .byte W06 + .byte N12 , Fs2 , v092 + .byte W12 + .byte PATT + .word mus_rg_vs_den_3_000 + .byte PATT + .word mus_rg_vs_den_3_001 + .byte PATT + .word mus_rg_vs_den_3_001 + .byte PAN , c_v-64 + .byte N06 , Ds2 , v092 + .byte W06 + .byte Ds2 , v040 + .byte W06 + .byte As2 , v092 + .byte W06 + .byte As2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cs2 , v092 + .byte W06 + .byte Cs2 , v040 + .byte W06 + .byte Gs2 , v092 + .byte W06 + .byte Gs2 , v040 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Cs2 , v092 + .byte W06 + .byte Cs2 , v040 + .byte W06 + .byte Gs2 , v092 + .byte W06 + .byte Gs2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cs2 , v092 + .byte W06 + .byte Cs2 , v040 + .byte W06 + .byte Gs2 , v092 + .byte W06 + .byte Gs2 , v040 + .byte W06 +mus_rg_vs_den_3_003: + .byte PAN , c_v-64 + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte Bn2 , v092 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte Bn2 , v092 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte Bn2 , v092 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte Bn2 , v092 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_vs_den_3_003 + .byte PATT + .word mus_rg_vs_den_3_001 + .byte PATT + .word mus_rg_vs_den_3_001 +mus_rg_vs_den_3_004: + .byte PAN , c_v-64 + .byte N06 , Cs2 , v092 + .byte W06 + .byte Cs2 , v040 + .byte W06 + .byte Gs2 , v092 + .byte W06 + .byte Gs2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cs2 , v092 + .byte W06 + .byte Cs2 , v040 + .byte W06 + .byte Gs2 , v092 + .byte W06 + .byte Gs2 , v040 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Cs2 , v092 + .byte W06 + .byte Cs2 , v040 + .byte W06 + .byte Gs2 , v092 + .byte W06 + .byte Gs2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cs2 , v092 + .byte W06 + .byte Cs2 , v040 + .byte W06 + .byte Gs2 , v092 + .byte W06 + .byte Gs2 , v040 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_vs_den_3_004 + .byte PATT + .word mus_rg_vs_den_3_001 + .byte PATT + .word mus_rg_vs_den_3_001 +mus_rg_vs_den_3_005: + .byte PAN , c_v-64 + .byte N06 , Ds2 , v092 + .byte W06 + .byte Ds2 , v040 + .byte W06 + .byte Gs2 , v092 + .byte W06 + .byte Gs2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Ds2 , v092 + .byte W06 + .byte Ds2 , v040 + .byte W06 + .byte Gs2 , v092 + .byte W06 + .byte Gs2 , v040 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Ds2 , v092 + .byte W06 + .byte Ds2 , v040 + .byte W06 + .byte Gs2 , v092 + .byte W06 + .byte Gs2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Ds2 , v092 + .byte W06 + .byte Ds2 , v040 + .byte W06 + .byte Gs2 , v092 + .byte W06 + .byte Gs2 , v040 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_vs_den_3_005 + .byte PATT + .word mus_rg_vs_den_3_001 + .byte PATT + .word mus_rg_vs_den_3_001 + .byte PATT + .word mus_rg_vs_den_3_001 + .byte PATT + .word mus_rg_vs_den_3_001 + .byte PATT + .word mus_rg_vs_den_3_003 + .byte PATT + .word mus_rg_vs_den_3_003 + .byte GOTO + .word mus_rg_vs_den_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_vs_den_4: + .byte KEYSH , mus_rg_vs_den_key+0 + .byte VOICE , 33 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_vs_den_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte BEND , c_v+0 + .byte N06 , En1 , v116 + .byte W12 + .byte N06 + .byte W06 + .byte Ds1 + .byte W06 + .byte Fn1 + .byte W12 + .byte N06 + .byte W06 + .byte Ds1 + .byte W06 + .byte Fs1 + .byte W12 + .byte N06 + .byte W06 + .byte Ds1 + .byte W06 + .byte Gn1 + .byte W12 + .byte N06 + .byte W06 + .byte Ds1 + .byte W06 + .byte Gs1 + .byte W12 + .byte N06 + .byte W06 + .byte Ds1 + .byte W06 + .byte An1 + .byte W12 + .byte N06 + .byte W06 + .byte Ds1 + .byte W06 + .byte As1 + .byte W12 + .byte N06 + .byte W06 + .byte Ds1 + .byte W06 + .byte N12 , Bn1 + .byte W12 + .byte As1 + .byte W12 +mus_rg_vs_den_4_000: + .byte N12 , Ds1 , v127 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , Ds2 + .byte W12 + .byte As1 + .byte W12 + .byte PEND + .byte Ds1 + .byte W36 + .byte N03 , As1 + .byte W06 + .byte As1 , v120 + .byte W06 + .byte N12 , Bn1 , v127 + .byte W12 + .byte Cs2 + .byte W12 + .byte Gs1 + .byte W12 + .byte As1 + .byte W12 + .byte En1 + .byte W24 + .byte BEND , c_v+0 + .byte N12 + .byte W12 + .byte N36 , En2 + .byte W09 + .byte BEND , c_v-8 + .byte W03 + .byte c_v-15 + .byte W03 + .byte c_v-21 + .byte W03 + .byte c_v-29 + .byte W03 + .byte c_v-39 + .byte W03 + .byte c_v-44 + .byte W03 + .byte c_v-52 + .byte W03 + .byte c_v-60 + .byte W03 + .byte c_v-63 + .byte W03 + .byte c_v+0 + .byte N12 , En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En2 + .byte W12 + .byte Cs2 + .byte W12 + .byte N12 + .byte W12 + .byte Ds2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Cs2 + .byte W12 + .byte PATT + .word mus_rg_vs_den_4_000 + .byte N12 , Ds1 , v127 + .byte W24 + .byte N06 , Ds1 , v120 + .byte W06 + .byte Fn1 + .byte W06 + .byte N12 , As1 , v127 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte Gs1 + .byte W12 + .byte As1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte N06 , Ds1 + .byte W06 + .byte En1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N12 , En2 + .byte W12 + .byte Ds2 + .byte W12 + .byte Cs2 + .byte W12 + .byte Ds2 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Ds2 + .byte W12 + .byte En2 + .byte W12 + .byte N06 , En1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cs2 + .byte W06 + .byte N12 , En2 + .byte W12 + .byte Cs2 + .byte W12 +mus_rg_vs_den_4_B1: + .byte N12 , Ds1 , v127 + .byte W24 + .byte Dn1 + .byte W12 + .byte N06 , Ds1 , v120 + .byte W24 + .byte N12 , Ds2 , v127 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte En1 + .byte W06 + .byte N12 , Ds1 + .byte W12 + .byte N06 , Ds1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Ds1 , v127 + .byte W03 + .byte BEND , c_v-4 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v-15 + .byte W03 + .byte c_v-19 + .byte W03 + .byte c_v-25 + .byte W03 + .byte c_v-31 + .byte W03 + .byte c_v-36 + .byte W03 + .byte c_v+0 + .byte N12 , Bn1 + .byte W12 + .byte As1 + .byte W12 + .byte En1 + .byte W24 + .byte Ds1 + .byte W12 + .byte N36 , En1 , v120 + .byte W15 + .byte BEND , c_v-4 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v-15 + .byte W03 + .byte c_v-19 + .byte W03 + .byte c_v-25 + .byte W03 + .byte c_v-31 + .byte W03 + .byte c_v-36 + .byte W03 + .byte c_v+0 + .byte N24 , Ds1 , v127 + .byte W24 + .byte N06 , En1 + .byte W12 + .byte N12 + .byte W36 + .byte Cs2 + .byte W12 + .byte Ds2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Cs2 + .byte W12 + .byte N24 , Ds1 + .byte W24 + .byte N12 , As1 + .byte W12 + .byte N18 , Ds1 + .byte W24 + .byte N12 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte N12 + .byte W12 + .byte As1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte N12 , Ds1 + .byte W12 + .byte As1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte An1 + .byte W12 + .byte As1 + .byte W12 + .byte N24 , Ds1 , v120 + .byte W24 + .byte Cs2 + .byte W24 + .byte Cs1 + .byte W24 + .byte N18 , Gs1 + .byte W18 + .byte N03 , Fs1 + .byte W03 + .byte Fn1 + .byte W03 + .byte N24 , En1 , v127 + .byte W24 + .byte N12 , Ds1 + .byte W12 + .byte N18 , En1 + .byte W24 + .byte N12 + .byte W12 + .byte N03 , Bn1 + .byte W12 + .byte N12 , Cs1 + .byte W12 + .byte En2 + .byte W12 + .byte N06 , Gs1 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte N06 , En2 + .byte W12 + .byte En1 + .byte W06 + .byte Gs1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N12 , En2 + .byte W12 + .byte Dn2 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte N06 , Ds1 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte N12 + .byte W12 + .byte An1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cs2 + .byte W06 + .byte As1 + .byte W06 + .byte An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cs1 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte Cs2 + .byte W12 + .byte N18 , Cs1 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W24 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N48 , Cs2 + .byte W12 + .byte BEND , c_v-6 + .byte W03 + .byte c_v-10 + .byte W03 + .byte c_v-17 + .byte W03 + .byte c_v-23 + .byte W03 + .byte c_v-31 + .byte W03 + .byte c_v-35 + .byte W03 + .byte c_v-42 + .byte W03 + .byte c_v-47 + .byte W03 + .byte c_v-64 + .byte W12 + .byte c_v+0 + .byte N24 , As1 + .byte W24 + .byte N06 , Gn1 + .byte W12 + .byte As1 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , Ds2 + .byte W12 + .byte As1 + .byte W12 + .byte Gn1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Dn1 + .byte W24 + .byte N36 , As1 + .byte W12 + .byte BEND , c_v-6 + .byte W06 + .byte c_v-10 + .byte W03 + .byte c_v-15 + .byte W03 + .byte c_v-20 + .byte W03 + .byte c_v-28 + .byte W03 + .byte c_v-32 + .byte W03 + .byte c_v-39 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N12 + .byte W12 + .byte Cs2 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N48 , Gs1 + .byte W12 + .byte BEND , c_v-6 + .byte W03 + .byte c_v-10 + .byte W03 + .byte c_v-17 + .byte W03 + .byte c_v-23 + .byte W03 + .byte c_v-31 + .byte W03 + .byte c_v-35 + .byte W03 + .byte c_v-42 + .byte W03 + .byte c_v-47 + .byte W03 + .byte c_v-64 + .byte W12 + .byte c_v+0 + .byte N12 , Ds1 + .byte W12 + .byte Ds2 + .byte W12 + .byte Ds1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Ds1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gn1 + .byte W12 + .byte An1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds2 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte Cs2 + .byte W06 + .byte Ds2 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Fn1 + .byte W06 + .byte En1 + .byte W06 + .byte N12 , Ds1 + .byte W24 + .byte Dn1 , v120 + .byte W12 + .byte N06 , Ds1 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , Ds2 , v120 + .byte W12 + .byte Ds1 + .byte W12 + .byte Dn2 , v127 + .byte W12 + .byte N24 , Ds2 + .byte W24 + .byte N18 , Ds1 + .byte W24 + .byte N12 , Dn1 + .byte W12 + .byte N06 , Ds1 , v120 + .byte W12 + .byte Ds1 , v127 + .byte W12 + .byte N12 , En1 + .byte W24 + .byte Ds1 , v120 + .byte W12 + .byte N18 , En1 , v127 + .byte W24 + .byte N12 + .byte W12 + .byte En2 + .byte W12 + .byte En1 , v120 + .byte W12 + .byte Ds2 , v127 + .byte W12 + .byte En2 + .byte W36 + .byte Bn1 + .byte W12 + .byte N06 , Cs2 + .byte W12 + .byte N12 , Gs1 + .byte W12 + .byte N06 , Bn1 + .byte W12 + .byte GOTO + .word mus_rg_vs_den_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_vs_den_5: + .byte KEYSH , mus_rg_vs_den_key+0 + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte VOL , 69*mus_rg_vs_den_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte N06 , As5 , v064 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gs6 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gs6 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gs6 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gs6 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gs6 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gs6 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gs6 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gs6 + .byte W06 + .byte VOICE , 29 + .byte VOL , 56*mus_rg_vs_den_mvl/mxv + .byte N12 , As4 + .byte W36 + .byte As3 , v056 + .byte W36 + .byte N12 + .byte W24 + .byte W48 + .byte N12 + .byte W48 +mus_rg_vs_den_5_000: + .byte W36 + .byte N12 , As3 , v056 + .byte W36 + .byte N12 + .byte W24 + .byte PEND + .byte W36 + .byte N60 , An3 + .byte W06 + .byte VOL , 22*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 29*mus_rg_vs_den_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 41*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 52*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 68*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 71*mus_rg_vs_den_mvl/mxv + .byte W24 + .byte 56*mus_rg_vs_den_mvl/mxv + .byte MOD , 0 + .byte N12 , As3 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W48 + .byte N12 + .byte W48 + .byte PATT + .word mus_rg_vs_den_5_000 + .byte W36 + .byte N60 , As3 , v056 + .byte W12 + .byte VOL , 34*mus_rg_vs_den_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 47*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 59*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 69*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 78*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 84*mus_rg_vs_den_mvl/mxv + .byte W19 +mus_rg_vs_den_5_B1: + .byte VOICE , 48 + .byte MOD , 0 + .byte VOL , 78*mus_rg_vs_den_mvl/mxv + .byte N36 , As3 , v104 + .byte W36 + .byte An3 + .byte W36 + .byte N24 , Gn3 + .byte W24 + .byte N36 , As3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Cn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , As3 + .byte W24 + .byte N72 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte 0 + .byte N12 , As4 + .byte W24 + .byte Bn4 + .byte W12 + .byte As4 + .byte W36 + .byte N48 , En5 + .byte W06 + .byte VOL , 31*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 40*mus_rg_vs_den_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 46*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 69*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 87*mus_rg_vs_den_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 79*mus_rg_vs_den_mvl/mxv + .byte N36 , Ds4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Cs4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Bn3 + .byte W24 + .byte N36 , En4 + .byte W36 + .byte Ds4 + .byte W36 + .byte N24 , Cs4 + .byte W24 + .byte N36 , Gs4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Fn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte Ds4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Gs4 + .byte W24 + .byte VOICE , 60 + .byte TIE , Bn4 , v100 + .byte W12 + .byte MOD , 7 + .byte VOL , 21*mus_rg_vs_den_mvl/mxv + .byte W72 + .byte W03 + .byte 27*mus_rg_vs_den_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 34*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 38*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte VOL , 45*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 61*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 67*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 74*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 79*mus_rg_vs_den_mvl/mxv + .byte W12 + .byte 85*mus_rg_vs_den_mvl/mxv + .byte W36 + .byte EOT + .byte MOD , 0 + .byte VOL , 22*mus_rg_vs_den_mvl/mxv + .byte TIE , As4 , v120 + .byte W12 + .byte MOD , 7 + .byte W78 + .byte VOL , 25*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 34*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 38*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte VOL , 44*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 60*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 67*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 74*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 79*mus_rg_vs_den_mvl/mxv + .byte W12 + .byte 84*mus_rg_vs_den_mvl/mxv + .byte W12 + .byte 90*mus_rg_vs_den_mvl/mxv + .byte W24 + .byte EOT + .byte VOICE , 48 + .byte MOD , 0 + .byte VOL , 68*mus_rg_vs_den_mvl/mxv + .byte N48 , Gs4 , v084 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Cs5 + .byte W12 + .byte MOD , 7 + .byte W36 +mus_rg_vs_den_5_001: + .byte MOD , 0 + .byte N48 , Fn5 , v084 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Gs5 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte PEND + .byte 0 + .byte N96 , Gn5 + .byte W06 + .byte VOL , 22*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 29*mus_rg_vs_den_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 32*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 37*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 43*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 48*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 55*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 61*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 68*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 72*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 75*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 80*mus_rg_vs_den_mvl/mxv + .byte W24 + .byte 68*mus_rg_vs_den_mvl/mxv + .byte MOD , 0 + .byte N96 + .byte W06 + .byte VOL , 23*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 29*mus_rg_vs_den_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 32*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 37*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 41*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 47*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 53*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 58*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 67*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 72*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 75*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 80*mus_rg_vs_den_mvl/mxv + .byte W24 + .byte 68*mus_rg_vs_den_mvl/mxv + .byte MOD , 0 + .byte N48 , Gs4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Cs5 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte PATT + .word mus_rg_vs_den_5_001 + .byte MOD , 0 + .byte N96 , As5 , v084 + .byte W06 + .byte VOL , 22*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 23*mus_rg_vs_den_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 29*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 35*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 41*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 48*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 53*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 57*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 63*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 70*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 71*mus_rg_vs_den_mvl/mxv + .byte W30 + .byte W01 + .byte 56*mus_rg_vs_den_mvl/mxv + .byte MOD , 0 + .byte N96 , Ds6 + .byte W06 + .byte VOL , 26*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 29*mus_rg_vs_den_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 31*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 34*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 37*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 41*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 45*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 48*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 57*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 63*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 65*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 69*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 75*mus_rg_vs_den_mvl/mxv + .byte W19 + .byte 56*mus_rg_vs_den_mvl/mxv + .byte MOD , 0 + .byte N72 , Gn5 + .byte W06 + .byte VOL , 29*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 31*mus_rg_vs_den_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 33*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 36*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 40*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 44*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 48*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 55*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 63*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 70*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 72*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte N12 + .byte W24 + .byte VOL , 67*mus_rg_vs_den_mvl/mxv + .byte N12 , Gs5 + .byte W12 + .byte N24 , Gn5 + .byte W84 + .byte VOL , 56*mus_rg_vs_den_mvl/mxv + .byte N72 , Gs5 + .byte W06 + .byte VOL , 29*mus_rg_vs_den_mvl/mxv + .byte W06 + .byte 31*mus_rg_vs_den_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 33*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 36*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 40*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 44*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 48*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 55*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 63*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte 70*mus_rg_vs_den_mvl/mxv + .byte W05 + .byte 72*mus_rg_vs_den_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte N12 + .byte W24 + .byte VOL , 56*mus_rg_vs_den_mvl/mxv + .byte N12 , Bn5 + .byte W12 + .byte As5 + .byte W36 + .byte N48 , Gs5 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte GOTO + .word mus_rg_vs_den_5_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_vs_den_6: + .byte KEYSH , mus_rg_vs_den_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_vs_den_mvl/mxv + .byte W84 + .byte N06 , Cn1 , v096 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte N48 , Cn3 + .byte W24 + .byte N06 , Cn1 + .byte W12 + .byte Cn1 , v080 + .byte W12 + .byte Cn1 , v127 + .byte N48 , Gn2 , v088 + .byte W12 + .byte N06 , Cn1 , v064 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte Cn1 , v068 + .byte W12 + .byte Cn1 , v120 + .byte W24 +mus_rg_vs_den_6_000: + .byte N06 , Cn1 , v120 + .byte W12 + .byte Cn1 , v064 + .byte W24 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte Fn1 , v120 + .byte W12 + .byte PEND + .byte Cn1 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W36 + .byte Cn1 , v068 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cn1 , v096 + .byte W12 + .byte En1 , v120 + .byte W12 + .byte Cn1 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cn2 , v120 + .byte N24 , Bn2 , v096 + .byte W06 + .byte N06 , An1 , v120 + .byte W06 + .byte Fn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N48 , Cs2 , v088 + .byte W12 + .byte N06 , Cn1 , v064 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte Cn1 , v068 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte PATT + .word mus_rg_vs_den_6_000 + .byte N06 , Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte Cn1 , v068 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cn1 , v096 + .byte W12 + .byte Bn0 , v120 + .byte W12 + .byte Cn1 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cs1 , v096 + .byte N24 , Cs2 , v120 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte Fn1 + .byte W06 +mus_rg_vs_den_6_B1: + .byte N06 , Cn1 , v120 + .byte N48 , Gn2 + .byte W24 + .byte N06 , Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Gn1 , v120 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cs1 , v096 + .byte W06 + .byte Bn1 , v120 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte N24 , Gn2 + .byte W24 + .byte N06 , Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 , v096 + .byte W12 +mus_rg_vs_den_6_001: + .byte N06 , Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte PEND + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Dn2 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte N48 , An2 , v096 + .byte W24 + .byte N06 , Cs1 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte N06 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte An1 , v120 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cs1 , v096 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte N06 + .byte N24 , Bn2 , v120 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte N06 , Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 + .byte W24 + .byte Cn1 + .byte N06 , Fn2 , v096 + .byte W24 +mus_rg_vs_den_6_002: + .byte N06 , Cn1 , v120 + .byte W24 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte PEND + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 , v096 + .byte N06 , Fn2 + .byte W24 + .byte Cs1 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte N24 , Gn2 , v120 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte Cs1 , v120 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn2 , v080 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte N06 , Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte N06 , Fn2 , v096 + .byte W24 + .byte PATT + .word mus_rg_vs_den_6_002 + .byte N06 , Cn1 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 , v096 + .byte N06 , Fn2 + .byte W12 + .byte Cs1 + .byte W12 + .byte VOICE , 0 + .byte N06 , Cn1 , v120 + .byte N48 , Cn3 , v096 + .byte W06 + .byte N06 , Cn1 , v120 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte N48 , Cs2 + .byte W24 + .byte N06 , Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte PATT + .word mus_rg_vs_den_6_001 + .byte N06 , Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte GOTO + .word mus_rg_vs_den_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_vs_den_7: + .byte KEYSH , mus_rg_vs_den_key+0 + .byte VOICE , 127 + .byte VOL , 79*mus_rg_vs_den_mvl/mxv + .byte W96 + .byte W12 + .byte N03 , Cn5 , v028 + .byte W06 + .byte N03 + .byte W18 + .byte Cn5 , v044 + .byte W06 + .byte N03 + .byte W18 + .byte Cn5 , v056 + .byte W06 + .byte N03 + .byte W18 + .byte Cn5 , v084 + .byte W06 + .byte N03 + .byte W06 +mus_rg_vs_den_7_000: + .byte N03 , Cn5 , v108 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v100 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v100 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte PEND +mus_rg_vs_den_7_001: + .byte N03 , Cn5 , v080 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte N03 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v028 + .byte W24 + .byte Cn5 , v064 + .byte W12 + .byte PEND + .byte Cn5 , v108 + .byte W12 + .byte Cn5 , v032 + .byte W24 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v100 + .byte W12 + .byte Cn5 , v032 + .byte W12 +mus_rg_vs_den_7_002: + .byte N03 , Cn5 , v080 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v028 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v056 + .byte W18 + .byte PEND + .byte PATT + .word mus_rg_vs_den_7_000 + .byte PATT + .word mus_rg_vs_den_7_001 + .byte PATT + .word mus_rg_vs_den_7_000 + .byte PATT + .word mus_rg_vs_den_7_002 +mus_rg_vs_den_7_B1: +mus_rg_vs_den_7_003: + .byte N03 , Cn5 , v044 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte PEND +mus_rg_vs_den_7_004: + .byte N03 , Cn5 , v044 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_vs_den_7_003 + .byte PATT + .word mus_rg_vs_den_7_004 + .byte W12 + .byte N03 , Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte PATT + .word mus_rg_vs_den_7_003 + .byte PATT + .word mus_rg_vs_den_7_003 + .byte PATT + .word mus_rg_vs_den_7_004 + .byte PATT + .word mus_rg_vs_den_7_003 + .byte PATT + .word mus_rg_vs_den_7_004 + .byte VOL , 68*mus_rg_vs_den_mvl/mxv + .byte N03 , Cn5 , v064 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v092 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v092 + .byte W12 +mus_rg_vs_den_7_005: + .byte W12 + .byte N03 , Cn5 , v064 + .byte W12 + .byte Cn5 , v072 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W24 + .byte Cn5 , v072 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte PEND +mus_rg_vs_den_7_006: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v108 + .byte W12 + .byte Cn5 , v048 + .byte W24 + .byte PEND +mus_rg_vs_den_7_007: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v108 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte N03 + .byte W12 + .byte PEND + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v092 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v092 + .byte W12 + .byte PATT + .word mus_rg_vs_den_7_005 + .byte PATT + .word mus_rg_vs_den_7_006 + .byte PATT + .word mus_rg_vs_den_7_007 + .byte VOL , 79*mus_rg_vs_den_mvl/mxv + .byte W12 + .byte N03 , Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte VOL , 79*mus_rg_vs_den_mvl/mxv + .byte N03 , Cn5 , v044 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte GOTO + .word mus_rg_vs_den_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_vs_den_8: + .byte KEYSH , mus_rg_vs_den_key+0 + .byte VOICE , 126 + .byte PAN , c_v+0 + .byte VOL , 68*mus_rg_vs_den_mvl/mxv + .byte W96 + .byte N12 , Gn5 , v044 + .byte W24 + .byte Gn5 , v068 + .byte W24 + .byte Gn5 , v088 + .byte W24 + .byte Gn5 , v120 + .byte W24 + .byte W96 + .byte W72 + .byte Gn5 , v088 + .byte W24 + .byte W24 + .byte N12 + .byte W72 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W72 + .byte N12 + .byte W24 + .byte W96 + .byte W96 +mus_rg_vs_den_8_B1: + .byte W96 + .byte W84 + .byte N12 , Gn5 , v096 + .byte W12 + .byte W96 + .byte W84 + .byte Gn5 , v120 + .byte W12 + .byte Gn5 , v092 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte Gn5 , v096 + .byte W12 + .byte W96 + .byte W84 + .byte Gn5 , v120 + .byte W12 + .byte W96 +mus_rg_vs_den_8_000: + .byte N12 , Gn5 , v092 + .byte W60 + .byte N12 + .byte W36 + .byte PEND + .byte W84 + .byte Gn5 , v096 + .byte W12 + .byte W96 + .byte W96 + .byte PATT + .word mus_rg_vs_den_8_000 + .byte W84 + .byte N12 , Gn5 , v096 + .byte W12 + .byte W96 + .byte Gn5 , v092 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_vs_den_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_vs_den: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_vs_den_pri @ Priority + .byte mus_rg_vs_den_rev @ Reverb. + + .word mus_rg_vs_den_grp + + .word mus_rg_vs_den_1 + .word mus_rg_vs_den_2 + .word mus_rg_vs_den_3 + .word mus_rg_vs_den_4 + .word mus_rg_vs_den_5 + .word mus_rg_vs_den_6 + .word mus_rg_vs_den_7 + .word mus_rg_vs_den_8 + + .end diff --git a/sound/songs/mus_rg_vs_deo.s b/sound/songs/mus_rg_vs_deo.s new file mode 100644 index 0000000000..e3c6e95058 --- /dev/null +++ b/sound/songs/mus_rg_vs_deo.s @@ -0,0 +1,5968 @@ + .include "MPlayDef.s" + + .equ mus_rg_vs_deo_grp, voicegroup_86B264C + .equ mus_rg_vs_deo_pri, 0 + .equ mus_rg_vs_deo_rev, reverb_set+50 + .equ mus_rg_vs_deo_mvl, 127 + .equ mus_rg_vs_deo_key, 0 + .equ mus_rg_vs_deo_tbs, 1 + .equ mus_rg_vs_deo_exg, 0 + .equ mus_rg_vs_deo_cmp, 1 + + .section .rodata + .global mus_rg_vs_deo + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_vs_deo_1: + .byte KEYSH , mus_rg_vs_deo_key+0 + .byte TEMPO , 128*mus_rg_vs_deo_tbs/2 + .byte VOICE , 87 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 80*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W92 + .byte TEMPO , 128*mus_rg_vs_deo_tbs/2 + .byte W04 + .byte BEND , c_v+1 + .byte N12 , Fn1 , v064 + .byte W06 + .byte TEMPO , 130*mus_rg_vs_deo_tbs/2 + .byte W06 + .byte Gn1 + .byte W05 + .byte TEMPO , 130*mus_rg_vs_deo_tbs/2 + .byte W07 + .byte N36 , As1 + .byte W03 + .byte TEMPO , 132*mus_rg_vs_deo_tbs/2 + .byte W10 + .byte TEMPO , 132*mus_rg_vs_deo_tbs/2 + .byte W11 + .byte TEMPO , 134*mus_rg_vs_deo_tbs/2 + .byte W10 + .byte TEMPO , 134*mus_rg_vs_deo_tbs/2 + .byte W02 + .byte N12 , Gs1 + .byte W09 + .byte TEMPO , 136*mus_rg_vs_deo_tbs/2 + .byte W03 + .byte Gn1 + .byte W07 + .byte TEMPO , 136*mus_rg_vs_deo_tbs/2 + .byte W05 + .byte Fn1 + .byte W06 + .byte TEMPO , 138*mus_rg_vs_deo_tbs/2 + .byte W06 + .byte Ds1 + .byte W04 + .byte TEMPO , 138*mus_rg_vs_deo_tbs/2 + .byte W08 + .byte Fn1 + .byte W03 + .byte TEMPO , 140*mus_rg_vs_deo_tbs/2 + .byte W09 + .byte BEND , c_v-10 + .byte N24 , As1 + .byte W01 + .byte TEMPO , 140*mus_rg_vs_deo_tbs/2 + .byte W03 + .byte BEND , c_v+1 + .byte W08 + .byte TEMPO , 142*mus_rg_vs_deo_tbs/2 + .byte c_v-11 + .byte W10 + .byte TEMPO , 142*mus_rg_vs_deo_tbs/2 + .byte W02 + .byte c_v+1 + .byte N12 , Gn1 + .byte W09 + .byte TEMPO , 144*mus_rg_vs_deo_tbs/2 + .byte W03 + .byte Fn1 + .byte W07 + .byte TEMPO , 144*mus_rg_vs_deo_tbs/2 + .byte W05 + .byte Ds1 + .byte W06 + .byte TEMPO , 146*mus_rg_vs_deo_tbs/2 + .byte W06 + .byte Gn1 + .byte W04 + .byte TEMPO , 146*mus_rg_vs_deo_tbs/2 + .byte W08 + .byte N48 , Fn1 + .byte W03 + .byte TEMPO , 148*mus_rg_vs_deo_tbs/2 + .byte W10 + .byte TEMPO , 148*mus_rg_vs_deo_tbs/2 + .byte W11 + .byte TEMPO , 150*mus_rg_vs_deo_tbs/2 + .byte W10 + .byte TEMPO , 150*mus_rg_vs_deo_tbs/2 + .byte W11 + .byte TEMPO , 152*mus_rg_vs_deo_tbs/2 + .byte W03 + .byte Gn1 + .byte W07 + .byte TEMPO , 152*mus_rg_vs_deo_tbs/2 + .byte W11 + .byte TEMPO , 154*mus_rg_vs_deo_tbs/2 + .byte W08 + .byte BEND , c_v-3 + .byte W02 + .byte TEMPO , 154*mus_rg_vs_deo_tbs/2 + .byte c_v-6 + .byte W02 + .byte c_v-10 + .byte W02 + .byte c_v-11 + .byte W02 + .byte c_v-14 + .byte W02 + .byte c_v-19 + .byte W02 + .byte c_v-23 + .byte W01 + .byte TEMPO , 156*mus_rg_vs_deo_tbs/2 + .byte W01 + .byte c_v-29 + .byte W02 + .byte c_v-32 + .byte W06 + .byte c_v+1 + .byte N24 , Cn1 + .byte W01 + .byte TEMPO , 156*mus_rg_vs_deo_tbs/2 + .byte W03 + .byte BEND , c_v+3 + .byte W08 + .byte TEMPO , 158*mus_rg_vs_deo_tbs/2 + .byte c_v+1 + .byte W10 + .byte TEMPO , 158*mus_rg_vs_deo_tbs/2 + .byte W02 + .byte N08 , Cn2 + .byte W08 + .byte Cn1 + .byte W01 + .byte TEMPO , 160*mus_rg_vs_deo_tbs/2 + .byte W07 + .byte As1 + .byte W03 + .byte TEMPO , 160*mus_rg_vs_deo_tbs/2 + .byte W05 + .byte Cn1 + .byte W06 + .byte TEMPO , 162*mus_rg_vs_deo_tbs/2 + .byte W02 + .byte Gn1 + .byte W08 + .byte TEMPO , 162*mus_rg_vs_deo_tbs/2 + .byte Cn1 + .byte W08 + .byte Fn1 + .byte W03 + .byte TEMPO , 164*mus_rg_vs_deo_tbs/2 + .byte W05 + .byte Cn1 + .byte W05 + .byte TEMPO , 162*mus_rg_vs_deo_tbs/2 + .byte W03 + .byte Ds1 + .byte W08 + .byte TEMPO , 162*mus_rg_vs_deo_tbs/2 + .byte VOICE , 78 + .byte PAN , c_v+0 + .byte VOL , 42*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v+0 + .byte TIE , Cn3 , v020 + .byte W04 + .byte VOL , 45*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 49*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 51*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 56*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 60*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 65*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 70*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 74*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 77*mus_rg_vs_deo_mvl/mxv + .byte W60 + .byte W48 + .byte BEND , c_v+16 + .byte W02 + .byte c_v+28 + .byte W02 + .byte c_v+38 + .byte W02 + .byte c_v+48 + .byte W02 + .byte c_v+56 + .byte W02 + .byte c_v+63 + .byte W14 + .byte c_v-16 + .byte W02 + .byte c_v-25 + .byte W02 + .byte c_v-36 + .byte W02 + .byte c_v-49 + .byte W02 + .byte c_v-64 + .byte W16 + .byte c_v+0 + .byte W96 + .byte W24 + .byte c_v+3 + .byte W04 + .byte c_v+4 + .byte W04 + .byte c_v+8 + .byte W02 + .byte c_v+11 + .byte W02 + .byte c_v+12 + .byte W02 + .byte c_v+14 + .byte W02 + .byte c_v+20 + .byte W02 + .byte c_v+22 + .byte W02 + .byte c_v+25 + .byte W02 + .byte c_v+28 + .byte W02 + .byte c_v+32 + .byte W02 + .byte c_v+36 + .byte W02 + .byte c_v+41 + .byte W02 + .byte c_v+46 + .byte W02 + .byte c_v+51 + .byte W02 + .byte c_v+56 + .byte W02 + .byte c_v+62 + .byte W18 + .byte VOL , 70*mus_rg_vs_deo_mvl/mxv + .byte W03 + .byte 61*mus_rg_vs_deo_mvl/mxv + .byte W03 + .byte 51*mus_rg_vs_deo_mvl/mxv + .byte W03 + .byte 39*mus_rg_vs_deo_mvl/mxv + .byte W03 + .byte 29*mus_rg_vs_deo_mvl/mxv + .byte W03 + .byte 19*mus_rg_vs_deo_mvl/mxv + .byte W03 + .byte EOT +mus_rg_vs_deo_1_B1: + .byte VOL , 9*mus_rg_vs_deo_mvl/mxv + .byte W96 + .byte 80*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 30 + .byte PAN , c_v+32 + .byte VOL , 59*mus_rg_vs_deo_mvl/mxv + .byte W24 + .byte PAN , c_v-32 + .byte N04 , Cs4 , v127 + .byte W08 + .byte PAN , c_v+32 + .byte N04 + .byte W08 + .byte PAN , c_v-32 + .byte N04 + .byte W08 + .byte PAN , c_v-32 + .byte BEND , c_v+1 + .byte N04 + .byte W08 + .byte PAN , c_v+32 + .byte N04 + .byte W08 + .byte PAN , c_v-32 + .byte N04 + .byte W08 + .byte PAN , c_v-32 + .byte VOL , 62*mus_rg_vs_deo_mvl/mxv + .byte N04 + .byte W08 + .byte PAN , c_v+31 + .byte N04 + .byte W08 + .byte PAN , c_v-32 + .byte VOL , 64*mus_rg_vs_deo_mvl/mxv + .byte N04 + .byte W08 + .byte PAN , c_v-32 + .byte VOL , 60*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v+0 + .byte N96 , Cs5 , v092 + .byte W03 + .byte BEND , c_v-2 + .byte W03 + .byte c_v-4 + .byte W03 + .byte c_v-6 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v-10 + .byte W03 + .byte c_v-13 + .byte W03 + .byte c_v-15 + .byte W03 + .byte VOL , 54*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v-24 + .byte BEND , c_v-18 + .byte W03 + .byte c_v-19 + .byte W03 + .byte c_v-20 + .byte W03 + .byte PAN , c_v-16 + .byte BEND , c_v-22 + .byte W03 + .byte VOL , 50*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v-23 + .byte W03 + .byte c_v-24 + .byte W03 + .byte PAN , c_v+16 + .byte BEND , c_v-25 + .byte W03 + .byte c_v-27 + .byte W03 + .byte VOL , 45*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v+32 + .byte BEND , c_v-30 + .byte W03 + .byte c_v-34 + .byte W03 + .byte c_v-35 + .byte W03 + .byte c_v-37 + .byte W03 + .byte VOL , 40*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v-39 + .byte W03 + .byte c_v-41 + .byte W03 + .byte VOL , 35*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v-44 + .byte W03 + .byte c_v-47 + .byte W03 + .byte VOL , 30*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v-50 + .byte W03 + .byte c_v-53 + .byte W03 + .byte VOL , 25*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v-54 + .byte W03 + .byte c_v-57 + .byte W03 + .byte VOL , 20*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v-59 + .byte W03 + .byte c_v-61 + .byte W03 + .byte VOL , 15*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v-62 + .byte W03 + .byte c_v-64 + .byte W03 + .byte c_v-1 + .byte W03 + .byte c_v+0 + .byte W92 + .byte W01 + .byte VOL , 60*mus_rg_vs_deo_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 53 + .byte PAN , c_v-48 + .byte VOL , 40*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v+1 + .byte TIE , Dn3 , v112 + .byte W12 + .byte PAN , c_v-34 + .byte MOD , 4 + .byte W12 + .byte PAN , c_v-22 + .byte W12 + .byte c_v-8 + .byte W12 + .byte c_v+0 + .byte W12 + .byte c_v+10 + .byte W12 + .byte c_v+30 + .byte W12 + .byte c_v+40 + .byte W12 + .byte c_v+48 + .byte W96 + .byte EOT + .byte MOD , 0 + .byte N96 , En3 + .byte W12 + .byte PAN , c_v+41 + .byte MOD , 5 + .byte W12 + .byte PAN , c_v+34 + .byte W12 + .byte c_v+26 + .byte W12 + .byte c_v+22 + .byte W12 + .byte c_v+14 + .byte W12 + .byte c_v+8 + .byte W12 + .byte c_v-1 + .byte W12 + .byte c_v+0 + .byte MOD , 0 + .byte N96 , Dn3 + .byte W12 + .byte PAN , c_v-8 + .byte MOD , 5 + .byte W12 + .byte PAN , c_v-14 + .byte W12 + .byte c_v-22 + .byte W12 + .byte c_v-26 + .byte W12 + .byte c_v-38 + .byte W12 + .byte c_v-40 + .byte W24 + .byte c_v-48 + .byte MOD , 0 + .byte TIE , En3 + .byte W12 + .byte MOD , 4 + .byte W84 + .byte PAN , c_v-48 + .byte W12 + .byte c_v-34 + .byte W12 + .byte c_v-22 + .byte W12 + .byte c_v-8 + .byte W12 + .byte c_v+0 + .byte W12 + .byte c_v+10 + .byte W12 + .byte c_v+30 + .byte W12 + .byte c_v+40 + .byte W12 + .byte EOT + .byte PAN , c_v+48 + .byte MOD , 0 + .byte N96 , Fs3 + .byte W12 + .byte MOD , 5 + .byte W84 + .byte 0 + .byte N96 , En3 + .byte W12 + .byte PAN , c_v+40 + .byte MOD , 5 + .byte W12 + .byte PAN , c_v+22 + .byte W12 + .byte c_v+14 + .byte W12 + .byte c_v+0 + .byte W12 + .byte c_v-10 + .byte VOL , 32*mus_rg_vs_deo_mvl/mxv + .byte W08 + .byte 27*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte PAN , c_v-26 + .byte W02 + .byte VOL , 23*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 20*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte PAN , c_v-40 + .byte W02 + .byte VOL , 17*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 13*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte PAN , c_v-48 + .byte MOD , 0 + .byte VOL , 28*mus_rg_vs_deo_mvl/mxv + .byte W96 + .byte W96 + .byte VOICE , 78 + .byte PAN , c_v+48 + .byte VOL , 40*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v+0 + .byte N96 , Cs5 , v024 + .byte W03 + .byte PAN , c_v+45 + .byte BEND , c_v-2 + .byte W03 + .byte c_v-4 + .byte W02 + .byte PAN , c_v+44 + .byte W01 + .byte BEND , c_v-6 + .byte W02 + .byte PAN , c_v+42 + .byte W01 + .byte BEND , c_v-8 + .byte W02 + .byte PAN , c_v+40 + .byte W01 + .byte BEND , c_v-10 + .byte W03 + .byte c_v-13 + .byte W02 + .byte PAN , c_v+39 + .byte W01 + .byte BEND , c_v-15 + .byte W02 + .byte PAN , c_v+37 + .byte W01 + .byte BEND , c_v-18 + .byte W02 + .byte PAN , c_v+36 + .byte W01 + .byte BEND , c_v-19 + .byte W02 + .byte PAN , c_v+32 + .byte W01 + .byte BEND , c_v-20 + .byte W03 + .byte c_v-22 + .byte W02 + .byte PAN , c_v+30 + .byte W01 + .byte BEND , c_v-23 + .byte W02 + .byte PAN , c_v+28 + .byte W01 + .byte BEND , c_v-24 + .byte W02 + .byte PAN , c_v+27 + .byte W01 + .byte BEND , c_v-25 + .byte W02 + .byte PAN , c_v+25 + .byte W01 + .byte BEND , c_v-27 + .byte W02 + .byte PAN , c_v+24 + .byte W01 + .byte BEND , c_v-30 + .byte W02 + .byte PAN , c_v+23 + .byte W01 + .byte BEND , c_v-34 + .byte W02 + .byte PAN , c_v+20 + .byte W01 + .byte BEND , c_v-35 + .byte W02 + .byte PAN , c_v+18 + .byte W01 + .byte BEND , c_v-37 + .byte W02 + .byte PAN , c_v+16 + .byte W01 + .byte BEND , c_v-39 + .byte W03 + .byte c_v-41 + .byte W02 + .byte PAN , c_v+13 + .byte W01 + .byte BEND , c_v-44 + .byte W03 + .byte c_v-47 + .byte W02 + .byte PAN , c_v+11 + .byte W01 + .byte BEND , c_v-50 + .byte W02 + .byte PAN , c_v+9 + .byte W01 + .byte BEND , c_v-53 + .byte W02 + .byte PAN , c_v+8 + .byte W01 + .byte BEND , c_v-54 + .byte W03 + .byte c_v-57 + .byte W02 + .byte PAN , c_v+6 + .byte W01 + .byte BEND , c_v-59 + .byte W03 + .byte c_v-61 + .byte W02 + .byte PAN , c_v+4 + .byte W01 + .byte BEND , c_v-62 + .byte W03 + .byte c_v-64 + .byte W02 + .byte PAN , c_v+1 + .byte W01 + .byte BEND , c_v+0 + .byte N96 , Cs4 + .byte W03 + .byte PAN , c_v-1 + .byte BEND , c_v-2 + .byte W03 + .byte PAN , c_v-3 + .byte BEND , c_v-4 + .byte W03 + .byte c_v-6 + .byte W02 + .byte PAN , c_v-4 + .byte W01 + .byte BEND , c_v-8 + .byte W02 + .byte PAN , c_v-6 + .byte W01 + .byte BEND , c_v-10 + .byte W02 + .byte PAN , c_v-8 + .byte W01 + .byte BEND , c_v-13 + .byte W02 + .byte PAN , c_v-9 + .byte W01 + .byte BEND , c_v-15 + .byte W02 + .byte PAN , c_v-11 + .byte W01 + .byte BEND , c_v-18 + .byte W02 + .byte PAN , c_v-13 + .byte W01 + .byte BEND , c_v-19 + .byte W02 + .byte PAN , c_v-16 + .byte W01 + .byte BEND , c_v-20 + .byte W02 + .byte PAN , c_v-17 + .byte W01 + .byte BEND , c_v-22 + .byte W02 + .byte PAN , c_v-20 + .byte W01 + .byte BEND , c_v-23 + .byte W02 + .byte PAN , c_v-21 + .byte W01 + .byte BEND , c_v-24 + .byte W02 + .byte PAN , c_v-24 + .byte W01 + .byte BEND , c_v-25 + .byte W02 + .byte PAN , c_v-25 + .byte W01 + .byte BEND , c_v-27 + .byte W02 + .byte PAN , c_v-28 + .byte W01 + .byte BEND , c_v-30 + .byte W03 + .byte c_v-34 + .byte W02 + .byte PAN , c_v-30 + .byte W01 + .byte BEND , c_v-35 + .byte W02 + .byte PAN , c_v-32 + .byte W01 + .byte BEND , c_v-37 + .byte W02 + .byte PAN , c_v-35 + .byte W01 + .byte BEND , c_v-39 + .byte W02 + .byte PAN , c_v-37 + .byte W01 + .byte BEND , c_v-41 + .byte W02 + .byte PAN , c_v-39 + .byte W01 + .byte BEND , c_v-44 + .byte W02 + .byte PAN , c_v-40 + .byte W01 + .byte BEND , c_v-47 + .byte W02 + .byte PAN , c_v-42 + .byte W01 + .byte BEND , c_v-50 + .byte W03 + .byte c_v-53 + .byte W03 + .byte c_v-54 + .byte W03 + .byte c_v-57 + .byte W03 + .byte c_v-59 + .byte W03 + .byte c_v-61 + .byte W03 + .byte c_v-62 + .byte W03 + .byte c_v-64 + .byte W03 + .byte VOICE , 62 + .byte PAN , c_v-32 + .byte VOL , 40*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v+0 + .byte N08 , Cn2 , v127 + .byte W16 + .byte N04 + .byte W08 + .byte N08 + .byte W08 + .byte Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte PAN , c_v+32 + .byte N08 , Cn2 + .byte W16 + .byte N04 + .byte W08 + .byte N08 + .byte W08 + .byte Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte PAN , c_v-33 + .byte N08 , Cn2 + .byte W16 + .byte N04 + .byte W08 + .byte N08 + .byte W08 + .byte Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte Cn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte N24 , Cs3 + .byte W04 + .byte MOD , 6 + .byte W20 + .byte PAN , c_v+32 + .byte MOD , 0 + .byte N08 , Cn2 + .byte W16 + .byte N04 + .byte W08 + .byte N08 + .byte W08 + .byte Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte PAN , c_v-32 + .byte N08 , Cn2 + .byte W16 + .byte N04 + .byte W08 + .byte N08 + .byte W08 + .byte Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte PAN , c_v+32 + .byte N08 , Cn2 + .byte W16 + .byte N04 + .byte W08 + .byte N08 + .byte W08 + .byte Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte Cn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte N24 , Cs3 + .byte W04 + .byte MOD , 6 + .byte W20 + .byte GOTO + .word mus_rg_vs_deo_1_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_vs_deo_2: + .byte KEYSH , mus_rg_vs_deo_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 10*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v+63 + .byte W01 + .byte N01 , Fs4 , v064 + .byte W02 + .byte Fs4 , v020 + .byte W04 + .byte Gs4 , v064 + .byte W02 + .byte Gs4 , v020 + .byte W03 + .byte PAN , c_v-61 + .byte W02 + .byte c_v-62 + .byte W04 + .byte N01 , En5 , v064 + .byte W02 + .byte En5 , v020 + .byte W02 + .byte Fs5 , v064 + .byte W02 + .byte PAN , c_v+63 + .byte W01 + .byte N01 , Fs5 , v020 + .byte W11 + .byte PAN , c_v-62 + .byte N01 , Dn5 , v064 + .byte W02 + .byte Cn5 + .byte N01 , Dn5 , v020 + .byte W02 + .byte Cn5 + .byte W08 + .byte PAN , c_v+63 + .byte W01 + .byte N01 , Fs3 , v064 + .byte W02 + .byte Fs3 , v020 + .byte W01 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W05 + .byte PAN , c_v-62 + .byte W06 + .byte N01 , Bn4 , v064 + .byte W02 + .byte Bn4 , v020 + .byte W01 + .byte Dn5 , v064 + .byte W03 + .byte PAN , c_v+63 + .byte N01 , Dn5 , v020 + .byte W10 + .byte Fs5 , v064 + .byte W02 + .byte PAN , c_v-62 + .byte W01 + .byte N01 , Fs5 , v020 + .byte W06 + .byte Cs5 , v064 + .byte W02 + .byte Cs5 , v020 + .byte W03 + .byte PAN , c_v+63 + .byte W03 + .byte N01 , Cs4 , v064 + .byte W03 + .byte As3 + .byte N01 , Cs4 , v020 + .byte W02 + .byte As3 + .byte W04 + .byte PAN , c_v-61 + .byte W01 + .byte N01 , Fs3 , v064 + .byte W01 + .byte PAN , c_v-62 + .byte W01 + .byte N01 , Fs3 , v020 + .byte W01 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W05 + .byte PAN , c_v+63 + .byte W04 + .byte N01 , Dn5 , v064 + .byte W03 + .byte Cn5 + .byte N01 , Dn5 , v020 + .byte W02 + .byte Cn5 + .byte W03 + .byte PAN , c_v-62 + .byte W01 + .byte N01 , Fs4 , v064 + .byte W02 + .byte Fs4 , v020 + .byte W01 + .byte Cn4 , v064 + .byte W03 + .byte Cn4 , v020 + .byte W01 + .byte Gn3 , v064 + .byte W02 + .byte Gn3 , v020 + .byte W02 + .byte PAN , c_v+63 + .byte W07 + .byte N01 , Gn4 , v064 + .byte W02 + .byte Gn4 , v020 + .byte N01 , An4 , v064 + .byte W03 + .byte PAN , c_v-62 + .byte N01 , An4 , v020 + .byte W04 + .byte Fs4 , v064 + .byte W02 + .byte Fs4 , v020 + .byte W04 + .byte Gs4 , v064 + .byte W02 + .byte PAN , c_v+63 + .byte N01 , Gs4 , v020 + .byte W09 + .byte En5 , v064 + .byte W02 + .byte En5 , v020 + .byte W01 + .byte PAN , c_v-62 + .byte W01 + .byte N01 , Fs5 , v064 + .byte W03 + .byte Fs5 , v020 + .byte W08 + .byte VOL , 20*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v+63 + .byte W03 + .byte N01 , Dn5 , v064 + .byte W02 + .byte Cn5 + .byte N01 , Dn5 , v020 + .byte W02 + .byte Cn5 + .byte W05 + .byte PAN , c_v-61 + .byte W02 + .byte c_v-62 + .byte W02 + .byte N01 , Fs3 , v064 + .byte W02 + .byte Fs3 , v020 + .byte W01 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W02 + .byte PAN , c_v+63 + .byte W09 + .byte N01 , Bn4 , v064 + .byte W02 + .byte Bn4 , v020 + .byte W01 + .byte PAN , c_v-62 + .byte N01 , Dn5 , v064 + .byte W03 + .byte Dn5 , v020 + .byte W09 + .byte PAN , c_v+63 + .byte W01 + .byte N01 , Fs5 , v064 + .byte W03 + .byte Fs5 , v020 + .byte W06 + .byte Cs5 , v064 + .byte W02 + .byte PAN , c_v-62 + .byte N01 , Cs5 , v020 + .byte W06 + .byte Cs4 , v064 + .byte W03 + .byte As3 + .byte N01 , Cs4 , v020 + .byte W02 + .byte As3 + .byte W01 + .byte PAN , c_v+63 + .byte W04 + .byte N01 , Fs3 , v064 + .byte W02 + .byte Fs3 , v020 + .byte W01 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W02 + .byte PAN , c_v-62 + .byte W07 + .byte N01 , Dn5 , v064 + .byte W03 + .byte Cn5 + .byte N01 , Dn5 , v020 + .byte W02 + .byte VOL , 30*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v+63 + .byte N01 , Cn5 + .byte W04 + .byte Fs4 , v064 + .byte W02 + .byte Fs4 , v020 + .byte W01 + .byte Cn4 , v064 + .byte W03 + .byte Cn4 , v020 + .byte W01 + .byte Gn3 , v064 + .byte W01 + .byte PAN , c_v-61 + .byte W01 + .byte N01 , Gn3 , v020 + .byte W01 + .byte PAN , c_v-62 + .byte W08 + .byte N01 , Gn4 , v064 + .byte W02 + .byte PAN , c_v+63 + .byte N01 , Gn4 , v020 + .byte N01 , An4 , v064 + .byte W03 + .byte An4 , v020 + .byte W07 + .byte Fs4 , v064 + .byte W02 + .byte PAN , c_v-62 + .byte N01 , Fs4 , v020 + .byte W04 + .byte Gs4 , v064 + .byte W02 + .byte Gs4 , v020 + .byte W06 + .byte PAN , c_v+63 + .byte W03 + .byte N01 , En5 , v064 + .byte W02 + .byte En5 , v020 + .byte W02 + .byte Fs5 , v064 + .byte W03 + .byte Fs5 , v020 + .byte W02 + .byte PAN , c_v-62 + .byte W09 + .byte N01 , Dn5 , v064 + .byte W02 + .byte Cn5 + .byte N01 , Dn5 , v020 + .byte W01 + .byte PAN , c_v+63 + .byte W01 + .byte N01 , Cn5 + .byte W09 + .byte Fs3 , v064 + .byte W02 + .byte PAN , c_v-62 + .byte N01 , Fs3 , v020 + .byte W01 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W08 + .byte VOL , 40*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v+63 + .byte W03 + .byte N01 , Dn5 , v064 + .byte W02 + .byte Cn5 + .byte N01 , Dn5 , v020 + .byte W02 + .byte Cn5 + .byte W05 + .byte PAN , c_v-61 + .byte W02 + .byte c_v-62 + .byte W02 + .byte N01 , Fs3 , v064 + .byte W02 + .byte Fs3 , v020 + .byte W01 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W02 + .byte PAN , c_v+63 + .byte W09 + .byte N01 , Bn4 , v064 + .byte W02 + .byte Bn4 , v020 + .byte W01 + .byte PAN , c_v-62 + .byte N01 , Dn5 , v064 + .byte W03 + .byte Dn5 , v020 + .byte W09 + .byte PAN , c_v+63 + .byte W01 + .byte N01 , Fs5 , v064 + .byte W03 + .byte Fs5 , v020 + .byte W06 + .byte Cs5 , v064 + .byte W02 + .byte PAN , c_v-62 + .byte N01 , Cs5 , v020 + .byte W06 + .byte Cs4 , v064 + .byte W03 + .byte As3 + .byte N01 , Cs4 , v020 + .byte W02 + .byte As3 + .byte W01 + .byte PAN , c_v+63 + .byte W04 + .byte N01 , Fs3 , v064 + .byte W02 + .byte Fs3 , v020 + .byte W01 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W02 + .byte PAN , c_v-62 + .byte W07 + .byte N01 , Dn5 , v064 + .byte W03 + .byte Cn5 + .byte N01 , Dn5 , v020 + .byte W02 + .byte VOL , 50*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v+63 + .byte N01 , Cn5 + .byte W04 + .byte Fs4 , v064 + .byte W02 + .byte Fs4 , v020 + .byte W01 + .byte Cn4 , v064 + .byte W03 + .byte Cn4 , v020 + .byte W01 + .byte Gn3 , v064 + .byte W01 + .byte PAN , c_v-61 + .byte W01 + .byte N01 , Gn3 , v020 + .byte W01 + .byte PAN , c_v-62 + .byte W08 + .byte N01 , Gn4 , v064 + .byte W02 + .byte PAN , c_v+63 + .byte N01 , Gn4 , v020 + .byte N01 , An4 , v064 + .byte W03 + .byte An4 , v020 + .byte W07 + .byte Fs4 , v064 + .byte W02 + .byte PAN , c_v-62 + .byte N01 , Fs4 , v020 + .byte W04 + .byte Gs4 , v064 + .byte W02 + .byte Gs4 , v020 + .byte W06 + .byte PAN , c_v+63 + .byte W03 + .byte N01 , En5 , v064 + .byte W02 + .byte En5 , v020 + .byte W02 + .byte Fs5 , v064 + .byte W03 + .byte Fs5 , v020 + .byte W02 + .byte PAN , c_v-62 + .byte W09 + .byte N01 , Dn5 , v064 + .byte W02 + .byte Cn5 + .byte N01 , Dn5 , v020 + .byte W01 + .byte PAN , c_v+63 + .byte W01 + .byte N01 , Cn5 + .byte W09 + .byte Fs3 , v064 + .byte W02 + .byte PAN , c_v-63 + .byte N01 , Fs3 , v020 + .byte W01 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W08 + .byte VOL , 56*mus_rg_vs_deo_mvl/mxv + .byte W08 + .byte PAN , c_v+63 + .byte N04 , Cn3 , v040 + .byte W04 + .byte Cn3 , v024 + .byte W04 + .byte Gn3 , v040 + .byte W04 + .byte Gn3 , v024 + .byte W04 + .byte Fn3 , v040 + .byte W04 + .byte Fn3 , v024 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Cn4 , v040 + .byte W04 + .byte Cn4 , v024 + .byte W04 + .byte As3 , v040 + .byte W04 + .byte As3 , v024 + .byte W04 + .byte Cn4 , v040 + .byte W04 + .byte Cn4 , v024 + .byte W12 + .byte Cs4 , v040 + .byte W04 + .byte Cs4 , v024 + .byte W04 + .byte Cn4 , v040 + .byte W04 + .byte Cn4 , v024 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Ds4 , v040 + .byte W04 + .byte Ds4 , v024 + .byte W04 + .byte Cs4 , v040 + .byte W04 + .byte Cs4 , v024 + .byte W04 +mus_rg_vs_deo_2_000: + .byte N04 , Fn4 , v040 + .byte W04 + .byte Fn4 , v024 + .byte W04 + .byte Cn4 , v040 + .byte W04 + .byte Cn4 , v024 + .byte W04 + .byte Gn4 , v040 + .byte W04 + .byte Gn4 , v024 + .byte W04 + .byte Fn4 , v040 + .byte W04 + .byte Fn4 , v024 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Cn5 , v040 + .byte W04 + .byte Cn5 , v024 + .byte W04 + .byte As4 , v040 + .byte W04 + .byte As4 , v024 + .byte W04 + .byte Cn5 , v040 + .byte W04 + .byte Cn5 , v024 + .byte W12 + .byte Cs5 , v040 + .byte W04 + .byte Cs5 , v024 + .byte W04 + .byte Cn5 , v040 + .byte W04 + .byte Cn5 , v024 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Ds5 , v040 + .byte W04 + .byte Ds5 , v024 + .byte W04 + .byte Cs5 , v040 + .byte W04 + .byte Cs5 , v024 + .byte W04 + .byte PEND +mus_rg_vs_deo_2_001: + .byte N04 , Fn5 , v040 + .byte W04 + .byte Fn5 , v024 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Cn4 , v040 + .byte W04 + .byte Cn4 , v024 + .byte W04 + .byte Gn4 , v040 + .byte W04 + .byte Gn4 , v024 + .byte W04 + .byte Fn4 , v040 + .byte W04 + .byte Fn4 , v024 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Cn5 , v040 + .byte W04 + .byte Cn5 , v024 + .byte W04 + .byte As4 , v040 + .byte W04 + .byte As4 , v024 + .byte W04 + .byte Cn5 , v040 + .byte W04 + .byte Cn5 , v024 + .byte W12 + .byte Cs5 , v040 + .byte W04 + .byte Cs5 , v024 + .byte W04 + .byte Cn5 , v040 + .byte W04 + .byte Cn5 , v024 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Ds5 , v040 + .byte W04 + .byte Ds5 , v024 + .byte W04 + .byte Cs5 , v040 + .byte W04 + .byte Cs5 , v024 + .byte W04 + .byte PEND +mus_rg_vs_deo_2_002: + .byte N04 , Fn5 , v040 + .byte W04 + .byte Fn5 , v024 + .byte W04 + .byte Cn5 , v040 + .byte W04 + .byte Cn5 , v024 + .byte W04 + .byte Gn5 , v040 + .byte W04 + .byte Gn5 , v024 + .byte W04 + .byte Fn5 , v040 + .byte W04 + .byte Fn5 , v024 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Cn6 , v040 + .byte W04 + .byte Cn6 , v024 + .byte W04 + .byte As5 , v040 + .byte W04 + .byte As5 , v024 + .byte W04 + .byte Cn6 , v040 + .byte W04 + .byte Cn6 , v024 + .byte W12 + .byte Cs6 , v040 + .byte W04 + .byte Cs6 , v024 + .byte W04 + .byte Cn6 , v040 + .byte W04 + .byte Cn6 , v024 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Ds6 , v040 + .byte W04 + .byte Ds6 , v024 + .byte W04 + .byte Cs6 , v040 + .byte W04 + .byte Cs6 , v024 + .byte W04 + .byte PEND +mus_rg_vs_deo_2_B1: +mus_rg_vs_deo_2_003: + .byte N04 , Fn6 , v040 + .byte W08 + .byte PAN , c_v+63 + .byte N04 , Cn3 + .byte W04 + .byte Cn3 , v024 + .byte W04 + .byte Gn3 , v040 + .byte W04 + .byte Gn3 , v024 + .byte W04 + .byte Fn3 , v040 + .byte W04 + .byte Fn3 , v024 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Cn4 , v040 + .byte W04 + .byte Cn4 , v024 + .byte W04 + .byte As3 , v040 + .byte W04 + .byte As3 , v024 + .byte W04 + .byte Cn4 , v040 + .byte W04 + .byte Cn4 , v024 + .byte W12 + .byte Cs4 , v040 + .byte W04 + .byte Cs4 , v024 + .byte W04 + .byte Cn4 , v040 + .byte W04 + .byte Cn4 , v024 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Ds4 , v040 + .byte W04 + .byte Ds4 , v024 + .byte W04 + .byte Cs4 , v040 + .byte W04 + .byte Cs4 , v024 + .byte W04 + .byte PEND + .byte PATT + .word mus_rg_vs_deo_2_000 + .byte PATT + .word mus_rg_vs_deo_2_001 + .byte PATT + .word mus_rg_vs_deo_2_002 + .byte PATT + .word mus_rg_vs_deo_2_003 + .byte PATT + .word mus_rg_vs_deo_2_000 + .byte PATT + .word mus_rg_vs_deo_2_001 + .byte PATT + .word mus_rg_vs_deo_2_002 + .byte PATT + .word mus_rg_vs_deo_2_003 + .byte PATT + .word mus_rg_vs_deo_2_000 + .byte PATT + .word mus_rg_vs_deo_2_001 + .byte PATT + .word mus_rg_vs_deo_2_002 + .byte N04 , Fn6 , v040 + .byte W08 + .byte PAN , c_v+63 + .byte N04 , Cs3 + .byte W04 + .byte Cs3 , v024 + .byte W04 + .byte Gs3 , v040 + .byte W04 + .byte Gs3 , v024 + .byte W04 + .byte Fs3 , v040 + .byte W04 + .byte Fs3 , v024 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Cs4 , v040 + .byte W04 + .byte Cs4 , v024 + .byte W04 + .byte Bn3 , v040 + .byte W04 + .byte Bn3 , v024 + .byte W04 + .byte Cs4 , v040 + .byte W04 + .byte Cs4 , v024 + .byte W12 + .byte Dn4 , v040 + .byte W04 + .byte Dn4 , v024 + .byte W04 + .byte Cs4 , v040 + .byte W04 + .byte Cs4 , v024 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , En4 , v040 + .byte W04 + .byte En4 , v024 + .byte W04 + .byte Dn4 , v040 + .byte W04 + .byte Dn4 , v024 + .byte W04 +mus_rg_vs_deo_2_004: + .byte N04 , Fs4 , v040 + .byte W04 + .byte Fs4 , v024 + .byte W04 + .byte Cs4 , v040 + .byte W04 + .byte Cs4 , v024 + .byte W04 + .byte Gs4 , v040 + .byte W04 + .byte Gs4 , v024 + .byte W04 + .byte Fs4 , v040 + .byte W04 + .byte Fs4 , v024 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Cs5 , v040 + .byte W04 + .byte Cs5 , v024 + .byte W04 + .byte Bn4 , v040 + .byte W04 + .byte Bn4 , v024 + .byte W04 + .byte Cs5 , v040 + .byte W04 + .byte Cs5 , v024 + .byte W12 + .byte Dn5 , v040 + .byte W04 + .byte Dn5 , v024 + .byte W04 + .byte Cs5 , v040 + .byte W04 + .byte Cs5 , v024 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , En5 , v040 + .byte W04 + .byte En5 , v024 + .byte W04 + .byte Dn5 , v040 + .byte W04 + .byte Dn5 , v024 + .byte W04 + .byte PEND +mus_rg_vs_deo_2_005: + .byte N04 , Fs5 , v040 + .byte W04 + .byte Fs5 , v024 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Cs4 , v040 + .byte W04 + .byte Cs4 , v024 + .byte W04 + .byte Gs4 , v040 + .byte W04 + .byte Gs4 , v024 + .byte W04 + .byte Fs4 , v040 + .byte W04 + .byte Fs4 , v024 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Cs5 , v040 + .byte W04 + .byte Cs5 , v024 + .byte W04 + .byte Bn4 , v040 + .byte W04 + .byte Bn4 , v024 + .byte W04 + .byte Cs5 , v040 + .byte W04 + .byte Cs5 , v024 + .byte W12 + .byte Dn5 , v040 + .byte W04 + .byte Dn5 , v024 + .byte W04 + .byte Cs5 , v040 + .byte W04 + .byte Cs5 , v024 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , En5 , v040 + .byte W04 + .byte En5 , v024 + .byte W04 + .byte Dn5 , v040 + .byte W04 + .byte Dn5 , v024 + .byte W04 + .byte PEND +mus_rg_vs_deo_2_006: + .byte N04 , Fs5 , v040 + .byte W04 + .byte Fs5 , v024 + .byte W04 + .byte Cs5 , v040 + .byte W04 + .byte Cs5 , v024 + .byte W04 + .byte Gs5 , v040 + .byte W04 + .byte Gs5 , v024 + .byte W04 + .byte Fs5 , v040 + .byte W04 + .byte Fs5 , v024 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Cs6 , v040 + .byte W04 + .byte Cs6 , v024 + .byte W04 + .byte Bn5 , v040 + .byte W04 + .byte Bn5 , v024 + .byte W04 + .byte Cs6 , v040 + .byte W04 + .byte Cs6 , v024 + .byte W12 + .byte Dn6 , v040 + .byte W04 + .byte Dn6 , v024 + .byte W04 + .byte Cs6 , v040 + .byte W04 + .byte Cs6 , v024 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , En6 , v040 + .byte W08 + .byte Dn6 + .byte W04 + .byte Dn6 , v024 + .byte W04 + .byte PEND + .byte Fs6 , v040 + .byte W08 + .byte PAN , c_v+63 + .byte N04 , Cs3 + .byte W04 + .byte Cs3 , v024 + .byte W04 + .byte Gs3 , v040 + .byte W04 + .byte Gs3 , v024 + .byte W04 + .byte Fs3 , v040 + .byte W04 + .byte Fs3 , v024 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Cs4 , v040 + .byte W04 + .byte Cs4 , v024 + .byte W04 + .byte Bn3 , v040 + .byte W04 + .byte Bn3 , v024 + .byte W04 + .byte Cs4 , v040 + .byte W04 + .byte Cs4 , v024 + .byte W12 + .byte Dn4 , v040 + .byte W04 + .byte Dn4 , v024 + .byte W04 + .byte Cs4 , v040 + .byte W04 + .byte Cs4 , v024 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , En4 , v040 + .byte W04 + .byte En4 , v024 + .byte W04 + .byte Dn4 , v040 + .byte W04 + .byte Dn4 , v024 + .byte W04 + .byte PATT + .word mus_rg_vs_deo_2_004 + .byte PATT + .word mus_rg_vs_deo_2_005 + .byte PATT + .word mus_rg_vs_deo_2_006 + .byte N04 , Fs6 , v040 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v-64 + .byte VOL , 30*mus_rg_vs_deo_mvl/mxv + .byte N04 , Bn2 , v064 + .byte W04 + .byte Bn2 , v040 + .byte W04 + .byte En3 , v064 + .byte W04 + .byte En3 , v040 + .byte W04 + .byte En2 , v064 + .byte W04 + .byte En2 , v040 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Bn2 , v064 + .byte W04 + .byte Bn2 , v040 + .byte W04 + .byte An2 , v064 + .byte W04 + .byte An2 , v040 + .byte W04 + .byte Bn2 , v064 + .byte W04 + .byte Bn2 , v040 + .byte W04 + .byte An2 , v064 + .byte W04 + .byte An2 , v040 + .byte W04 + .byte Bn2 , v064 + .byte W04 + .byte Bn2 , v040 + .byte W04 + .byte En3 , v064 + .byte W04 + .byte En3 , v040 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Bn2 , v064 + .byte W04 + .byte Bn2 , v040 + .byte W04 + .byte An2 , v064 + .byte W04 + .byte An2 , v040 + .byte W04 + .byte En3 , v064 + .byte W04 + .byte En3 , v040 + .byte W04 + .byte PAN , c_v+63 + .byte VOL , 40*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v+0 + .byte N04 , Bn2 , v064 + .byte W04 + .byte Bn2 , v040 + .byte W04 + .byte En3 , v064 + .byte W04 + .byte En3 , v040 + .byte W04 + .byte En2 , v064 + .byte W04 + .byte En2 , v040 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Bn2 , v064 + .byte W04 + .byte Bn2 , v040 + .byte W04 + .byte An2 , v064 + .byte W04 + .byte An2 , v040 + .byte W04 + .byte Bn2 , v064 + .byte W04 + .byte Bn2 , v040 + .byte W04 + .byte En3 , v064 + .byte W04 + .byte En3 , v040 + .byte W04 + .byte Bn2 , v064 + .byte W04 + .byte Bn2 , v040 + .byte W04 + .byte En3 , v064 + .byte W04 + .byte En3 , v040 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , En2 , v064 + .byte W04 + .byte En2 , v040 + .byte W04 + .byte Bn2 , v064 + .byte W04 + .byte Bn2 , v040 + .byte W04 + .byte En3 , v064 + .byte W04 + .byte En3 , v040 + .byte W04 + .byte PAN , c_v-64 + .byte BEND , c_v+1 + .byte N04 , En3 , v064 + .byte W04 + .byte En3 , v040 + .byte W04 + .byte An3 , v064 + .byte W04 + .byte An3 , v040 + .byte W04 + .byte An2 , v064 + .byte W04 + .byte An2 , v040 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , En3 , v064 + .byte W04 + .byte En3 , v040 + .byte W04 + .byte Dn3 , v064 + .byte W04 + .byte Dn3 , v040 + .byte W04 + .byte En3 , v064 + .byte W04 + .byte En3 , v040 + .byte W04 + .byte Dn3 , v064 + .byte W04 + .byte Dn3 , v040 + .byte W04 + .byte En3 , v064 + .byte W04 + .byte En3 , v040 + .byte W04 + .byte An3 , v064 + .byte W04 + .byte An3 , v040 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , En3 , v064 + .byte W04 + .byte En3 , v040 + .byte W04 + .byte Dn3 , v064 + .byte W04 + .byte Dn3 , v040 + .byte W04 + .byte An3 , v064 + .byte W04 + .byte An3 , v040 + .byte W04 + .byte PAN , c_v+63 + .byte VOL , 45*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v+3 + .byte N04 , En3 , v064 + .byte W04 + .byte En3 , v040 + .byte W04 + .byte An3 , v064 + .byte W04 + .byte An3 , v040 + .byte W04 + .byte An2 , v064 + .byte W04 + .byte An2 , v040 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , En3 , v064 + .byte W04 + .byte En3 , v040 + .byte W04 + .byte Dn3 , v064 + .byte W04 + .byte Dn3 , v040 + .byte W04 + .byte En3 , v064 + .byte W04 + .byte En3 , v040 + .byte W04 + .byte An3 , v064 + .byte W04 + .byte An3 , v040 + .byte W04 + .byte En3 , v064 + .byte W04 + .byte En3 , v040 + .byte W04 + .byte An3 , v064 + .byte W04 + .byte An3 , v040 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , An2 , v064 + .byte W04 + .byte An2 , v040 + .byte W04 + .byte En3 , v064 + .byte W04 + .byte En3 , v040 + .byte W04 + .byte An3 , v064 + .byte W04 + .byte An3 , v040 + .byte W04 + .byte PAN , c_v-64 + .byte VOL , 50*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v+1 + .byte N04 , Fs4 , v064 + .byte W04 + .byte Fs4 , v040 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v040 + .byte W04 + .byte Bn3 , v064 + .byte W04 + .byte Bn3 , v040 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Fs4 , v064 + .byte W04 + .byte Fs4 , v040 + .byte W04 + .byte En4 , v064 + .byte W04 + .byte En4 , v040 + .byte W04 + .byte Fs4 , v064 + .byte W04 + .byte Fs4 , v040 + .byte W04 + .byte En4 , v064 + .byte W04 + .byte En4 , v040 + .byte W04 + .byte Fs4 , v064 + .byte W04 + .byte Fs4 , v040 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v040 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Fs4 , v064 + .byte W04 + .byte Fs4 , v040 + .byte W04 + .byte En4 , v064 + .byte W04 + .byte En4 , v040 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v040 + .byte W04 + .byte PAN , c_v+63 + .byte BEND , c_v+0 + .byte N04 , Fs4 , v080 + .byte W04 + .byte Fs4 , v048 + .byte W04 + .byte Bn4 , v080 + .byte W04 + .byte Bn4 , v048 + .byte W04 + .byte Bn3 , v080 + .byte W04 + .byte Bn3 , v048 + .byte W04 + .byte PAN , c_v-64 + .byte VOL , 60*mus_rg_vs_deo_mvl/mxv + .byte N04 , Fs4 , v080 + .byte W04 + .byte Fs4 , v048 + .byte W04 + .byte En4 , v080 + .byte W04 + .byte En4 , v048 + .byte W04 + .byte Fs4 , v080 + .byte W04 + .byte Fs4 , v048 + .byte W04 + .byte VOL , 70*mus_rg_vs_deo_mvl/mxv + .byte N04 , Bn4 , v080 + .byte W04 + .byte Bn4 , v048 + .byte W04 + .byte Fs4 , v080 + .byte W04 + .byte Fs4 , v048 + .byte W04 + .byte Bn4 , v080 + .byte W04 + .byte Bn4 , v048 + .byte W04 + .byte PAN , c_v+63 + .byte VOL , 80*mus_rg_vs_deo_mvl/mxv + .byte N04 , Bn3 , v080 + .byte W04 + .byte Bn3 , v048 + .byte W04 + .byte Fs4 , v080 + .byte W04 + .byte Fs4 , v048 + .byte W04 + .byte Bn4 , v080 + .byte W04 + .byte Bn4 , v048 + .byte W04 + .byte VOICE , 14 + .byte VOL , 80*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte N48 , Fn3 , v127 + .byte W48 + .byte Gn3 , v112 + .byte W48 + .byte N96 , Cn3 , v104 + .byte W96 + .byte W96 + .byte BEND , c_v+0 + .byte W96 + .byte VOICE , 80 + .byte VOL , 56*mus_rg_vs_deo_mvl/mxv + .byte W08 + .byte PAN , c_v-64 + .byte N04 , Cn3 , v040 + .byte W04 + .byte Cn3 , v024 + .byte W04 + .byte Gn3 , v040 + .byte W04 + .byte Gn3 , v024 + .byte W04 + .byte Fn3 , v040 + .byte W04 + .byte Fn3 , v024 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Cn4 , v040 + .byte W04 + .byte Cn4 , v024 + .byte W04 + .byte As3 , v040 + .byte W04 + .byte As3 , v024 + .byte W04 + .byte Cn4 , v040 + .byte W04 + .byte Cn4 , v024 + .byte W12 + .byte Cs4 , v040 + .byte W04 + .byte Cs4 , v024 + .byte W04 + .byte Cn4 , v040 + .byte W04 + .byte Cn4 , v024 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Ds4 , v040 + .byte W04 + .byte Ds4 , v024 + .byte W04 + .byte Cs4 , v040 + .byte W04 + .byte Cs4 , v024 + .byte W04 + .byte Fn4 , v040 + .byte W04 + .byte Fn4 , v024 + .byte W04 + .byte Cn4 , v040 + .byte W04 + .byte Cn4 , v024 + .byte W04 + .byte Gn4 , v040 + .byte W04 + .byte Gn4 , v024 + .byte W04 + .byte Fn4 , v040 + .byte W04 + .byte Fn4 , v024 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Cn5 , v040 + .byte W04 + .byte Cn5 , v024 + .byte W04 + .byte As4 , v040 + .byte W04 + .byte As4 , v024 + .byte W04 + .byte Cn5 , v040 + .byte W04 + .byte Cn5 , v024 + .byte W12 + .byte Cs5 , v040 + .byte W04 + .byte Cs5 , v024 + .byte W04 + .byte Cn5 , v040 + .byte W04 + .byte Cn5 , v024 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Ds5 , v040 + .byte W04 + .byte Ds5 , v024 + .byte W04 + .byte Cs5 , v040 + .byte W04 + .byte Cs5 , v024 + .byte W04 + .byte Fn5 , v040 + .byte W04 + .byte Fn5 , v024 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Cn4 , v040 + .byte W04 + .byte Cn4 , v024 + .byte W04 + .byte Gn4 , v040 + .byte W04 + .byte Gn4 , v024 + .byte W04 + .byte Fn4 , v040 + .byte W04 + .byte Fn4 , v024 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Cn5 , v040 + .byte W04 + .byte Cn5 , v024 + .byte W04 + .byte As4 , v040 + .byte W04 + .byte As4 , v024 + .byte W04 + .byte Cn5 , v040 + .byte W04 + .byte Cn5 , v024 + .byte W12 + .byte Cs5 , v040 + .byte W04 + .byte Cs5 , v024 + .byte W04 + .byte Cn5 , v040 + .byte W04 + .byte Cn5 , v024 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Ds5 , v040 + .byte W04 + .byte Ds5 , v024 + .byte W04 + .byte Cs5 , v040 + .byte W04 + .byte Cs5 , v024 + .byte W04 + .byte Fn5 , v040 + .byte W04 + .byte Fn5 , v024 + .byte W04 + .byte Cn5 , v040 + .byte W04 + .byte Cn5 , v024 + .byte W04 + .byte Gn5 , v040 + .byte W04 + .byte Gn5 , v024 + .byte W04 + .byte Fn5 , v040 + .byte W04 + .byte Fn5 , v024 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Cn6 , v040 + .byte W04 + .byte Cn6 , v024 + .byte W04 + .byte As5 , v040 + .byte W04 + .byte As5 , v024 + .byte W04 + .byte Cn6 , v040 + .byte W04 + .byte Cn6 , v024 + .byte W12 + .byte Cs6 , v040 + .byte W04 + .byte Cs6 , v024 + .byte W04 + .byte Cn6 , v040 + .byte W04 + .byte Cn6 , v024 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Ds6 , v040 + .byte W04 + .byte Ds6 , v024 + .byte W04 + .byte Cs6 , v040 + .byte W04 + .byte Cs6 , v024 + .byte W04 + .byte GOTO + .word mus_rg_vs_deo_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_vs_deo_3: + .byte KEYSH , mus_rg_vs_deo_key+0 + .byte VOICE , 31 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 59*mus_rg_vs_deo_mvl/mxv + .byte W96 + .byte W72 + .byte BEND , c_v+0 + .byte TIE , As3 , v020 + .byte W24 + .byte W48 + .byte W01 + .byte BEND , c_v-5 + .byte W01 + .byte c_v-6 + .byte W01 + .byte c_v-11 + .byte W02 + .byte c_v-14 + .byte W02 + .byte c_v-18 + .byte W01 + .byte c_v-22 + .byte W01 + .byte c_v-24 + .byte W01 + .byte c_v-26 + .byte W02 + .byte c_v-32 + .byte W02 + .byte c_v-35 + .byte W01 + .byte c_v-40 + .byte W02 + .byte c_v-44 + .byte W02 + .byte c_v-47 + .byte W01 + .byte c_v-48 + .byte W01 + .byte c_v-51 + .byte W01 + .byte c_v-54 + .byte W02 + .byte c_v-56 + .byte W02 + .byte c_v-58 + .byte W01 + .byte c_v-59 + .byte W02 + .byte c_v-60 + .byte W02 + .byte c_v-62 + .byte W03 + .byte c_v-63 + .byte W14 + .byte W01 + .byte c_v-63 + .byte W02 + .byte c_v-62 + .byte W02 + .byte c_v-58 + .byte W03 + .byte c_v-54 + .byte W01 + .byte c_v-51 + .byte W01 + .byte c_v-46 + .byte W02 + .byte c_v-38 + .byte W03 + .byte c_v-34 + .byte W01 + .byte c_v-31 + .byte W01 + .byte c_v-24 + .byte W02 + .byte c_v-19 + .byte W01 + .byte c_v-11 + .byte W01 + .byte c_v-5 + .byte W01 + .byte c_v+7 + .byte W02 + .byte c_v+26 + .byte W02 + .byte c_v+37 + .byte W01 + .byte c_v+49 + .byte W02 + .byte c_v+53 + .byte W02 + .byte c_v+59 + .byte W01 + .byte c_v+63 + .byte W44 + .byte W03 + .byte c_v+63 + .byte W01 + .byte c_v+62 + .byte W01 + .byte c_v+61 + .byte W01 + .byte c_v+59 + .byte W02 + .byte c_v+58 + .byte W03 + .byte c_v+56 + .byte W01 + .byte c_v+53 + .byte W03 + .byte c_v+52 + .byte W01 + .byte c_v+50 + .byte W02 + .byte c_v+42 + .byte W02 + .byte W02 + .byte c_v+40 + .byte W01 + .byte c_v+39 + .byte W02 + .byte c_v+37 + .byte W03 + .byte c_v+34 + .byte W02 + .byte c_v+32 + .byte W02 + .byte c_v+29 + .byte W02 + .byte c_v+28 + .byte W01 + .byte c_v+25 + .byte W02 + .byte c_v+22 + .byte W02 + .byte c_v+20 + .byte W01 + .byte c_v+18 + .byte W01 + .byte c_v+17 + .byte W01 + .byte c_v+14 + .byte W02 + .byte c_v+10 + .byte W02 + .byte c_v+8 + .byte W01 + .byte c_v+5 + .byte W01 + .byte c_v+4 + .byte W01 + .byte c_v+1 + .byte W03 + .byte c_v-2 + .byte W01 + .byte c_v-3 + .byte W01 + .byte c_v-6 + .byte W02 + .byte c_v-14 + .byte W03 + .byte c_v-19 + .byte W01 + .byte c_v-20 + .byte W01 + .byte c_v-24 + .byte W02 + .byte c_v-26 + .byte W01 + .byte c_v-30 + .byte W01 + .byte c_v-32 + .byte W01 + .byte c_v-35 + .byte W02 + .byte c_v-43 + .byte W02 + .byte c_v-44 + .byte W01 + .byte c_v-48 + .byte W01 + .byte c_v-51 + .byte W01 + .byte c_v-58 + .byte W02 + .byte c_v-60 + .byte W18 + .byte c_v-63 + .byte W01 + .byte c_v-62 + .byte W01 + .byte c_v-58 + .byte W02 + .byte c_v-55 + .byte W02 + .byte c_v-52 + .byte W01 + .byte c_v-51 + .byte W01 + .byte c_v-48 + .byte W01 + .byte c_v-46 + .byte W02 + .byte c_v-37 + .byte W02 + .byte c_v-35 + .byte W01 + .byte c_v-26 + .byte W01 + .byte c_v-16 + .byte W01 + .byte c_v+0 + .byte W07 + .byte VOL , 51*mus_rg_vs_deo_mvl/mxv + .byte W01 + .byte BEND , c_v+1 + .byte W01 + .byte c_v+2 + .byte W01 + .byte c_v+4 + .byte W02 + .byte c_v+8 + .byte W02 + .byte c_v+9 + .byte W01 + .byte VOL , 45*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v+12 + .byte W01 + .byte c_v+13 + .byte W01 + .byte c_v+16 + .byte W02 + .byte c_v+24 + .byte W02 + .byte c_v+26 + .byte W01 + .byte c_v+30 + .byte W01 + .byte VOL , 37*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v+31 + .byte W01 + .byte c_v+34 + .byte W02 + .byte c_v+35 + .byte W01 + .byte c_v+37 + .byte W01 + .byte c_v+38 + .byte W01 + .byte c_v+41 + .byte W02 + .byte VOL , 30*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v+44 + .byte W02 + .byte c_v+45 + .byte W01 + .byte c_v+49 + .byte W01 + .byte c_v+50 + .byte W01 + .byte c_v+53 + .byte W02 + .byte c_v+55 + .byte W01 + .byte VOL , 21*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v+56 + .byte W01 + .byte c_v+59 + .byte W01 + .byte c_v+63 + .byte W02 + .byte c_v+63 + .byte W04 + .byte VOL , 13*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte EOT + .byte W48 + .byte W02 + .byte VOICE , 87 + .byte VOL , 60*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v+0 + .byte W01 + .byte c_v+0 + .byte W92 + .byte W03 + .byte W96 + .byte W96 + .byte W96 +mus_rg_vs_deo_3_B1: + .byte VOICE , 87 + .byte N08 , Gn2 , v104 + .byte W08 + .byte Cn3 + .byte W08 + .byte Cn2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte Gn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte Cn3 + .byte W08 +mus_rg_vs_deo_3_000: + .byte N08 , Gn2 , v104 + .byte W08 + .byte Cn3 + .byte W08 + .byte Cn2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte Gn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte Cn2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte PEND +mus_rg_vs_deo_3_001: + .byte N08 , Gn2 , v104 + .byte W08 + .byte Cn3 + .byte W08 + .byte Cn2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte Gn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte PEND + .byte PATT + .word mus_rg_vs_deo_3_000 + .byte PATT + .word mus_rg_vs_deo_3_001 + .byte PATT + .word mus_rg_vs_deo_3_000 + .byte PATT + .word mus_rg_vs_deo_3_001 + .byte PATT + .word mus_rg_vs_deo_3_000 + .byte PATT + .word mus_rg_vs_deo_3_001 + .byte PATT + .word mus_rg_vs_deo_3_000 + .byte PATT + .word mus_rg_vs_deo_3_001 + .byte PATT + .word mus_rg_vs_deo_3_000 + .byte VOICE , 84 + .byte N08 , Gs2 , v104 + .byte W08 + .byte Cs3 + .byte W08 + .byte Cs2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Fs2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Fs2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Cs3 + .byte W08 + .byte Gs2 + .byte W08 + .byte Fs2 + .byte W08 + .byte Cs3 + .byte W08 +mus_rg_vs_deo_3_002: + .byte N08 , Gs2 , v104 + .byte W08 + .byte Cs3 + .byte W08 + .byte Cs2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Fs2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Cs3 + .byte W08 + .byte Gs2 + .byte W08 + .byte Cs3 + .byte W08 + .byte Cs2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Cs3 + .byte W08 + .byte PEND +mus_rg_vs_deo_3_003: + .byte N08 , Gs2 , v104 + .byte W08 + .byte Cs3 + .byte W08 + .byte Cs2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Fs2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Fs2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Cs3 + .byte W08 + .byte Gs2 + .byte W08 + .byte Fs2 + .byte W08 + .byte Cs3 + .byte W08 + .byte PEND + .byte PATT + .word mus_rg_vs_deo_3_002 + .byte PATT + .word mus_rg_vs_deo_3_003 + .byte PATT + .word mus_rg_vs_deo_3_002 + .byte PATT + .word mus_rg_vs_deo_3_003 + .byte PATT + .word mus_rg_vs_deo_3_002 + .byte VOICE , 87 + .byte N08 , Gs2 , v104 + .byte W08 + .byte Cs3 + .byte W08 + .byte Cs2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Fs2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Fs2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Cs3 + .byte W08 + .byte Gs2 + .byte W08 + .byte Fs2 + .byte W08 + .byte Cs3 + .byte W08 + .byte PATT + .word mus_rg_vs_deo_3_002 + .byte PATT + .word mus_rg_vs_deo_3_003 + .byte PATT + .word mus_rg_vs_deo_3_002 +mus_rg_vs_deo_3_004: + .byte N08 , As2 , v104 + .byte W08 + .byte Ds3 + .byte W08 + .byte Ds2 + .byte W08 + .byte As2 + .byte W08 + .byte Gs2 + .byte W08 + .byte As2 + .byte W08 + .byte Gs2 + .byte W08 + .byte As2 + .byte W08 + .byte Ds3 + .byte W08 + .byte As2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Ds3 + .byte W08 + .byte PEND +mus_rg_vs_deo_3_005: + .byte N08 , As2 , v104 + .byte W08 + .byte Ds3 + .byte W08 + .byte Ds2 + .byte W08 + .byte As2 + .byte W08 + .byte Gs2 + .byte W08 + .byte As2 + .byte W08 + .byte Ds3 + .byte W08 + .byte As2 + .byte W08 + .byte Ds3 + .byte W08 + .byte Ds2 + .byte W08 + .byte As2 + .byte W08 + .byte Ds3 + .byte W08 + .byte PEND + .byte PATT + .word mus_rg_vs_deo_3_004 + .byte PATT + .word mus_rg_vs_deo_3_005 + .byte VOL , 40*mus_rg_vs_deo_mvl/mxv + .byte N08 , Bn2 , v104 + .byte W08 + .byte En3 + .byte W08 + .byte En2 + .byte W08 + .byte Bn2 + .byte W08 + .byte An2 + .byte W08 + .byte Bn2 + .byte W08 + .byte An2 + .byte W08 + .byte Bn2 + .byte W08 + .byte En3 + .byte W08 + .byte Bn2 + .byte W08 + .byte An2 + .byte W08 + .byte En3 + .byte W08 +mus_rg_vs_deo_3_006: + .byte N08 , Bn2 , v104 + .byte W08 + .byte En3 + .byte W08 + .byte En2 + .byte W08 + .byte Bn2 + .byte W08 + .byte An2 + .byte W08 + .byte Bn2 + .byte W08 + .byte En3 + .byte W08 + .byte Bn2 + .byte W08 + .byte En3 + .byte W08 + .byte En2 + .byte W08 + .byte Bn2 + .byte W08 + .byte En3 + .byte W08 + .byte PEND + .byte VOICE , 84 + .byte VOL , 40*mus_rg_vs_deo_mvl/mxv + .byte N08 , Bn2 + .byte W08 + .byte En3 + .byte W08 + .byte En2 + .byte W08 + .byte Bn2 + .byte W08 + .byte An2 + .byte W08 + .byte Bn2 + .byte W08 + .byte An2 + .byte W08 + .byte Bn2 + .byte W08 + .byte En3 + .byte W08 + .byte Bn2 + .byte W08 + .byte An2 + .byte W08 + .byte En3 + .byte W08 + .byte PATT + .word mus_rg_vs_deo_3_006 + .byte VOICE , 85 + .byte N08 , En3 , v104 + .byte W08 + .byte An3 + .byte W08 + .byte An2 + .byte W08 + .byte En3 + .byte W08 + .byte Dn3 + .byte W08 + .byte En3 + .byte W08 + .byte Dn3 + .byte W08 + .byte En3 + .byte W08 + .byte An3 + .byte W08 + .byte En3 + .byte W08 + .byte Dn3 + .byte W08 + .byte An3 + .byte W08 +mus_rg_vs_deo_3_007: + .byte N08 , En3 , v104 + .byte W08 + .byte An3 + .byte W08 + .byte An2 + .byte W08 + .byte En3 + .byte W08 + .byte Dn3 + .byte W08 + .byte En3 + .byte W08 + .byte An3 + .byte W08 + .byte En3 + .byte W08 + .byte An3 + .byte W08 + .byte An2 + .byte W08 + .byte En3 + .byte W08 + .byte An3 + .byte W08 + .byte PEND + .byte VOICE , 84 + .byte VOL , 60*mus_rg_vs_deo_mvl/mxv + .byte N08 , En3 + .byte W08 + .byte An3 + .byte W08 + .byte An2 + .byte W08 + .byte En3 + .byte W08 + .byte Dn3 + .byte W08 + .byte En3 + .byte W08 + .byte Dn3 + .byte W08 + .byte En3 + .byte W08 + .byte An3 + .byte W08 + .byte En3 + .byte W08 + .byte Dn3 + .byte W08 + .byte An3 + .byte W08 + .byte PATT + .word mus_rg_vs_deo_3_007 + .byte VOICE , 87 + .byte N08 , Cn3 , v104 + .byte W08 + .byte Fn3 + .byte W08 + .byte Fn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte Cn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte Fn3 + .byte W08 +mus_rg_vs_deo_3_008: + .byte N08 , Cn3 , v104 + .byte W08 + .byte Fn3 + .byte W08 + .byte Fn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte Cn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Fn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte PEND + .byte Cn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Fn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte Cn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte Fn3 + .byte W08 + .byte PATT + .word mus_rg_vs_deo_3_008 + .byte PATT + .word mus_rg_vs_deo_3_001 + .byte PATT + .word mus_rg_vs_deo_3_000 + .byte PATT + .word mus_rg_vs_deo_3_001 + .byte PATT + .word mus_rg_vs_deo_3_000 + .byte GOTO + .word mus_rg_vs_deo_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_vs_deo_4: + .byte KEYSH , mus_rg_vs_deo_key+0 + .byte VOICE , 33 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 80*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte N12 , Fn1 , v127 + .byte W12 + .byte Gn1 + .byte W12 + .byte BEND , c_v+0 + .byte N36 , As1 + .byte W36 + .byte N12 , Gs1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Fn1 + .byte W12 + .byte BEND , c_v-10 + .byte N24 , As1 + .byte W04 + .byte BEND , c_v+0 + .byte W08 + .byte c_v-11 + .byte W12 + .byte c_v+0 + .byte N12 , Gn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N48 , Fn1 + .byte W48 + .byte Gn1 + .byte W24 + .byte W02 + .byte BEND , c_v-3 + .byte W02 + .byte c_v-6 + .byte W02 + .byte c_v-10 + .byte W02 + .byte c_v-11 + .byte W02 + .byte c_v-14 + .byte W02 + .byte c_v-19 + .byte W02 + .byte c_v-23 + .byte W02 + .byte c_v-29 + .byte W02 + .byte c_v-32 + .byte W06 + .byte c_v-1 + .byte N24 , Cn1 + .byte W02 + .byte BEND , c_v+0 + .byte W02 + .byte c_v+3 + .byte W08 + .byte c_v+0 + .byte W12 + .byte N08 , Cn2 + .byte W08 + .byte Cn1 + .byte W08 + .byte As1 + .byte W08 + .byte Cn1 + .byte W08 + .byte Gn1 + .byte W08 + .byte Cn1 + .byte W08 + .byte Fn1 + .byte W08 + .byte Cn1 + .byte W08 + .byte Ds1 + .byte W08 +mus_rg_vs_deo_4_000: + .byte N08 , Cn1 , v127 + .byte W16 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte Cn2 + .byte W08 + .byte As1 + .byte W08 + .byte Cn1 + .byte W16 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte Cn2 + .byte W08 + .byte As1 + .byte W08 + .byte PEND +mus_rg_vs_deo_4_001: + .byte N08 , Cn1 , v127 + .byte W16 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte Cn2 + .byte W08 + .byte As1 + .byte W08 + .byte Cn1 + .byte W08 + .byte Cn2 + .byte W08 + .byte As1 + .byte W08 + .byte N24 , Cs2 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_vs_deo_4_000 + .byte PATT + .word mus_rg_vs_deo_4_001 +mus_rg_vs_deo_4_B1: + .byte PATT + .word mus_rg_vs_deo_4_000 + .byte PATT + .word mus_rg_vs_deo_4_001 + .byte PATT + .word mus_rg_vs_deo_4_000 + .byte PATT + .word mus_rg_vs_deo_4_001 + .byte PATT + .word mus_rg_vs_deo_4_000 + .byte PATT + .word mus_rg_vs_deo_4_001 + .byte PATT + .word mus_rg_vs_deo_4_000 + .byte PATT + .word mus_rg_vs_deo_4_001 + .byte PATT + .word mus_rg_vs_deo_4_000 + .byte PATT + .word mus_rg_vs_deo_4_001 + .byte PATT + .word mus_rg_vs_deo_4_000 + .byte PATT + .word mus_rg_vs_deo_4_001 +mus_rg_vs_deo_4_002: + .byte N08 , Cs1 , v127 + .byte W16 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte Cs2 + .byte W08 + .byte Bn1 + .byte W08 + .byte Cs1 + .byte W16 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte Cs2 + .byte W08 + .byte Bn1 + .byte W08 + .byte PEND +mus_rg_vs_deo_4_003: + .byte N08 , Cs1 , v127 + .byte W16 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte Cs2 + .byte W08 + .byte Bn1 + .byte W08 + .byte Cs1 + .byte W08 + .byte Cs2 + .byte W08 + .byte Bn1 + .byte W08 + .byte N24 , Dn2 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_vs_deo_4_002 + .byte PATT + .word mus_rg_vs_deo_4_003 + .byte PATT + .word mus_rg_vs_deo_4_002 + .byte PATT + .word mus_rg_vs_deo_4_003 + .byte PATT + .word mus_rg_vs_deo_4_002 + .byte N08 , Cs1 , v127 + .byte W08 + .byte Cs2 + .byte W08 + .byte Bn1 + .byte W08 + .byte Cs1 + .byte W08 + .byte Cs2 + .byte W08 + .byte Bn1 + .byte W08 + .byte Cs1 + .byte W08 + .byte Fs2 + .byte W08 + .byte Cs1 + .byte W08 + .byte En2 + .byte W08 + .byte Cs1 + .byte W08 + .byte Dn2 + .byte W08 +mus_rg_vs_deo_4_004: + .byte N08 , Bn0 , v127 + .byte W16 + .byte Cs1 + .byte W08 + .byte Bn0 + .byte W16 + .byte Cs1 + .byte W08 + .byte Bn0 + .byte W08 + .byte Cs1 + .byte W08 + .byte Fs1 + .byte W08 + .byte Gs1 + .byte W08 + .byte Fs1 + .byte W08 + .byte Cs1 + .byte W08 + .byte PEND + .byte Bn0 + .byte W16 + .byte Cs1 + .byte W08 + .byte Bn0 + .byte W16 + .byte En1 + .byte W24 + .byte Ds1 + .byte W24 + .byte Cs1 + .byte W08 + .byte PATT + .word mus_rg_vs_deo_4_004 + .byte N08 , Bn0 , v127 + .byte W16 + .byte Cs1 + .byte W08 + .byte Bn0 + .byte W16 + .byte En1 + .byte W08 + .byte Bn0 + .byte W16 + .byte Ds1 + .byte W08 + .byte Bn0 + .byte W16 + .byte Cs1 + .byte W08 +mus_rg_vs_deo_4_005: + .byte N08 , Cs1 , v127 + .byte W16 + .byte Ds1 + .byte W08 + .byte Cs1 + .byte W16 + .byte Ds1 + .byte W08 + .byte Cs1 + .byte W08 + .byte Ds1 + .byte W08 + .byte Gs1 + .byte W08 + .byte As1 + .byte W08 + .byte Gs1 + .byte W08 + .byte Ds1 + .byte W08 + .byte PEND + .byte Cs1 + .byte W16 + .byte Ds1 + .byte W08 + .byte Cs1 + .byte W16 + .byte Fs1 + .byte W24 + .byte Fn1 + .byte W24 + .byte Ds1 + .byte W08 + .byte PATT + .word mus_rg_vs_deo_4_005 + .byte N08 , Cs1 , v127 + .byte W16 + .byte Ds1 + .byte W08 + .byte Cs1 + .byte W16 + .byte As0 + .byte W24 + .byte Bn0 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 , Ds1 + .byte W08 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_vs_deo_4_006: + .byte N08 , En0 , v127 + .byte W16 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte En1 + .byte W08 + .byte Dn1 + .byte W08 + .byte En0 + .byte W16 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte En1 + .byte W08 + .byte Dn1 + .byte W08 + .byte PEND + .byte PATT + .word mus_rg_vs_deo_4_006 + .byte PATT + .word mus_rg_vs_deo_4_006 + .byte PATT + .word mus_rg_vs_deo_4_006 + .byte PATT + .word mus_rg_vs_deo_4_000 + .byte PATT + .word mus_rg_vs_deo_4_001 + .byte PATT + .word mus_rg_vs_deo_4_000 + .byte PATT + .word mus_rg_vs_deo_4_001 + .byte PATT + .word mus_rg_vs_deo_4_000 + .byte PATT + .word mus_rg_vs_deo_4_001 + .byte PATT + .word mus_rg_vs_deo_4_000 + .byte PATT + .word mus_rg_vs_deo_4_001 + .byte GOTO + .word mus_rg_vs_deo_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_vs_deo_5: + .byte KEYSH , mus_rg_vs_deo_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-62 + .byte VOL , 40*mus_rg_vs_deo_mvl/mxv + .byte N01 , Fs4 , v064 + .byte W02 + .byte Fs4 , v020 + .byte W04 + .byte Gs4 , v064 + .byte W02 + .byte Gs4 , v020 + .byte W04 + .byte PAN , c_v+63 + .byte W04 + .byte N01 , En5 , v064 + .byte W03 + .byte En5 , v020 + .byte W02 + .byte Fs5 , v064 + .byte W03 + .byte PAN , c_v-61 + .byte N01 , Fs5 , v020 + .byte W02 + .byte PAN , c_v-62 + .byte W08 + .byte N01 , Dn5 , v064 + .byte W02 + .byte PAN , c_v+63 + .byte W01 + .byte N01 , Cn5 + .byte N01 , Dn5 , v020 + .byte W02 + .byte Cn5 + .byte W09 + .byte PAN , c_v-62 + .byte N01 , Fs3 , v064 + .byte W02 + .byte Fs3 , v020 + .byte W01 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W06 + .byte PAN , c_v+63 + .byte W04 + .byte N01 , Bn4 , v064 + .byte W03 + .byte Bn4 , v020 + .byte W01 + .byte Dn5 , v064 + .byte W02 + .byte Dn5 , v020 + .byte W02 + .byte PAN , c_v-62 + .byte W09 + .byte N01 , Fs5 , v064 + .byte W03 + .byte PAN , c_v+63 + .byte N01 , Fs5 , v020 + .byte W06 + .byte Cs5 , v064 + .byte W02 + .byte Cs5 , v020 + .byte W04 + .byte PAN , c_v-62 + .byte VOL , 50*mus_rg_vs_deo_mvl/mxv + .byte W02 + .byte N01 , Cs4 , v064 + .byte W02 + .byte As3 + .byte N01 , Cs4 , v020 + .byte W03 + .byte As3 + .byte W05 + .byte PAN , c_v+63 + .byte N01 , Fs3 , v064 + .byte W02 + .byte Fs3 , v020 + .byte W01 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W06 + .byte PAN , c_v-61 + .byte W02 + .byte c_v-62 + .byte W01 + .byte N01 , Dn5 , v064 + .byte W03 + .byte Cn5 + .byte N01 , Dn5 , v020 + .byte W02 + .byte Cn5 + .byte W04 + .byte PAN , c_v+63 + .byte N01 , Fs4 , v064 + .byte W02 + .byte Fs4 , v020 + .byte W01 + .byte Cn4 , v064 + .byte W03 + .byte Cn4 , v020 + .byte W01 + .byte Gn3 , v064 + .byte W02 + .byte Gn3 , v020 + .byte W03 + .byte PAN , c_v-62 + .byte W06 + .byte N01 , Gn4 , v064 + .byte W02 + .byte Gn4 , v020 + .byte N01 , An4 , v064 + .byte W02 + .byte An4 , v020 + .byte W02 + .byte PAN , c_v+63 + .byte W03 + .byte N01 , Fs4 , v064 + .byte W02 + .byte Fs4 , v020 + .byte W04 + .byte Gs4 , v064 + .byte W02 + .byte Gs4 , v020 + .byte W01 + .byte PAN , c_v-62 + .byte W07 + .byte N01 , En5 , v064 + .byte W03 + .byte En5 , v020 + .byte W02 + .byte PAN , c_v+63 + .byte N01 , Fs5 , v064 + .byte W03 + .byte Fs5 , v020 + .byte W09 + .byte PAN , c_v-62 + .byte VOL , 60*mus_rg_vs_deo_mvl/mxv + .byte W01 + .byte N01 , Dn5 , v064 + .byte W03 + .byte Cn5 + .byte N01 , Dn5 , v020 + .byte W02 + .byte Cn5 + .byte W06 + .byte PAN , c_v+63 + .byte W03 + .byte N01 , Fs3 , v064 + .byte W02 + .byte Fs3 , v020 + .byte W01 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W03 + .byte PAN , c_v-61 + .byte W02 + .byte c_v-62 + .byte W05 + .byte N01 , Bn4 , v064 + .byte W03 + .byte Bn4 , v020 + .byte W01 + .byte Dn5 , v064 + .byte W01 + .byte PAN , c_v+63 + .byte W01 + .byte N01 , Dn5 , v020 + .byte W11 + .byte PAN , c_v-62 + .byte N01 , Fs5 , v064 + .byte W03 + .byte Fs5 , v020 + .byte W06 + .byte Cs5 , v064 + .byte W02 + .byte Cs5 , v020 + .byte W01 + .byte PAN , c_v+63 + .byte W05 + .byte N01 , Cs4 , v064 + .byte W02 + .byte As3 + .byte N01 , Cs4 , v020 + .byte W03 + .byte As3 + .byte W02 + .byte PAN , c_v-62 + .byte W03 + .byte N01 , Fs3 , v064 + .byte W02 + .byte Fs3 , v020 + .byte W01 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W03 + .byte PAN , c_v+63 + .byte W06 + .byte N01 , Dn5 , v064 + .byte W03 + .byte Cn5 + .byte N01 , Dn5 , v020 + .byte W02 + .byte Cn5 + .byte W01 +mus_rg_vs_deo_5_000: + .byte PAN , c_v-62 + .byte W03 + .byte N01 , Fs4 , v064 + .byte W02 + .byte Fs4 , v020 + .byte W01 + .byte Cn4 , v064 + .byte W03 + .byte Cn4 , v020 + .byte W01 + .byte Gn3 , v064 + .byte W02 + .byte PAN , c_v+63 + .byte N01 , Gn3 , v020 + .byte W09 + .byte Gn4 , v064 + .byte W02 + .byte Gn4 , v020 + .byte N01 , An4 , v064 + .byte W01 + .byte PAN , c_v-61 + .byte W01 + .byte N01 , An4 , v020 + .byte W01 + .byte PAN , c_v-62 + .byte W07 + .byte N01 , Fs4 , v064 + .byte W02 + .byte Fs4 , v020 + .byte W01 + .byte PAN , c_v+63 + .byte W03 + .byte N01 , Gs4 , v064 + .byte W02 + .byte Gs4 , v020 + .byte W07 + .byte PAN , c_v-62 + .byte W01 + .byte N01 , En5 , v064 + .byte W03 + .byte En5 , v020 + .byte W02 + .byte Fs5 , v064 + .byte W03 + .byte Fs5 , v020 + .byte W03 + .byte PAN , c_v+63 + .byte W07 + .byte N01 , Dn5 , v064 + .byte W03 + .byte Cn5 + .byte N01 , Dn5 , v020 + .byte W02 + .byte PAN , c_v-62 + .byte N01 , Cn5 + .byte W09 + .byte Fs3 , v064 + .byte W02 + .byte Fs3 , v020 + .byte W01 + .byte PAN , c_v+63 + .byte N01 , Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W09 + .byte PEND + .byte PAN , c_v-62 + .byte VOL , 70*mus_rg_vs_deo_mvl/mxv + .byte W01 + .byte N01 , Dn5 , v064 + .byte W03 + .byte Cn5 + .byte N01 , Dn5 , v020 + .byte W02 + .byte Cn5 + .byte W06 + .byte PAN , c_v+63 + .byte W03 + .byte N01 , Fs3 , v064 + .byte W02 + .byte Fs3 , v020 + .byte W01 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W03 + .byte PAN , c_v-61 + .byte W02 + .byte c_v-62 + .byte W05 + .byte N01 , Bn4 , v064 + .byte W03 + .byte Bn4 , v020 + .byte W01 + .byte Dn5 , v064 + .byte W01 + .byte PAN , c_v+63 + .byte W01 + .byte N01 , Dn5 , v020 + .byte W11 + .byte PAN , c_v-62 + .byte N01 , Fs5 , v064 + .byte W03 + .byte Fs5 , v020 + .byte W06 + .byte Cs5 , v064 + .byte W02 + .byte Cs5 , v020 + .byte W01 + .byte PAN , c_v+63 + .byte W05 + .byte N01 , Cs4 , v064 + .byte W02 + .byte As3 + .byte N01 , Cs4 , v020 + .byte W03 + .byte As3 + .byte W02 + .byte PAN , c_v-62 + .byte W03 + .byte N01 , Fs3 , v064 + .byte W02 + .byte Fs3 , v020 + .byte W01 + .byte Gs3 , v064 + .byte W03 + .byte Gs3 , v020 + .byte W03 + .byte PAN , c_v+63 + .byte W06 + .byte N01 , Dn5 , v064 + .byte W03 + .byte Cn5 + .byte N01 , Dn5 , v020 + .byte W02 + .byte Cn5 + .byte W01 + .byte PATT + .word mus_rg_vs_deo_5_000 + .byte PAN , c_v-64 + .byte VOL , 70*mus_rg_vs_deo_mvl/mxv + .byte N04 , Cn3 , v064 + .byte W04 + .byte Cn3 , v032 + .byte W04 + .byte Gn3 , v064 + .byte W04 + .byte Gn3 , v032 + .byte W04 + .byte Fn3 , v064 + .byte W04 + .byte Fn3 , v032 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Cn4 , v064 + .byte W04 + .byte Cn4 , v032 + .byte W04 + .byte As3 , v064 + .byte W04 + .byte As3 , v032 + .byte W04 + .byte Cn4 , v064 + .byte W04 + .byte Cn4 , v032 + .byte W12 + .byte Cs4 , v064 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Cn4 , v064 + .byte W04 + .byte Cn4 , v032 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Ds4 , v064 + .byte W04 + .byte Ds4 , v032 + .byte W04 + .byte Cs4 , v064 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Fn4 , v064 + .byte W04 + .byte Fn4 , v032 + .byte W04 +mus_rg_vs_deo_5_001: + .byte N04 , Cn4 , v064 + .byte W04 + .byte Cn4 , v032 + .byte W04 + .byte Gn4 , v064 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Fn4 , v064 + .byte W04 + .byte Fn4 , v032 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Cn5 , v064 + .byte W04 + .byte Cn5 , v032 + .byte W04 + .byte As4 , v064 + .byte W04 + .byte As4 , v032 + .byte W04 + .byte Cn5 , v064 + .byte W04 + .byte Cn5 , v032 + .byte W12 + .byte Cs5 , v064 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte Cn5 , v064 + .byte W04 + .byte Cn5 , v032 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Ds5 , v064 + .byte W04 + .byte Ds5 , v032 + .byte W04 + .byte Cs5 , v064 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte Fn5 , v064 + .byte W04 + .byte Fn5 , v032 + .byte W04 + .byte PEND +mus_rg_vs_deo_5_002: + .byte PAN , c_v+63 + .byte N04 , Cn3 , v064 + .byte W04 + .byte Cn3 , v032 + .byte W04 + .byte Gn3 , v064 + .byte W04 + .byte Gn3 , v032 + .byte W04 + .byte Fn3 , v064 + .byte W04 + .byte Fn3 , v032 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Cn4 , v064 + .byte W04 + .byte Cn4 , v032 + .byte W04 + .byte As3 , v064 + .byte W04 + .byte As3 , v032 + .byte W04 + .byte Cn4 , v064 + .byte W04 + .byte Cn4 , v032 + .byte W12 + .byte Cs4 , v064 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Cn4 , v064 + .byte W04 + .byte Cn4 , v032 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Ds4 , v064 + .byte W04 + .byte Ds4 , v032 + .byte W04 + .byte Cs4 , v064 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Fn4 , v064 + .byte W04 + .byte Fn4 , v032 + .byte W04 + .byte PEND +mus_rg_vs_deo_5_003: + .byte N04 , Cn4 , v064 + .byte W04 + .byte Cn4 , v032 + .byte W04 + .byte Gn4 , v064 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Fn4 , v064 + .byte W04 + .byte Fn4 , v032 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Cn5 , v064 + .byte W04 + .byte Cn5 , v032 + .byte W04 + .byte As4 , v064 + .byte W04 + .byte As4 , v032 + .byte W04 + .byte Cn5 , v064 + .byte W04 + .byte Cn5 , v032 + .byte W12 + .byte Cs5 , v064 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte Cn5 , v064 + .byte W04 + .byte Cn5 , v032 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Ds5 , v064 + .byte W04 + .byte Ds5 , v032 + .byte W04 + .byte Cs5 , v064 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte Fn5 , v064 + .byte W04 + .byte Fn5 , v032 + .byte W04 + .byte PEND +mus_rg_vs_deo_5_B1: +mus_rg_vs_deo_5_004: + .byte PAN , c_v-64 + .byte N04 , Cn3 , v064 + .byte W04 + .byte Cn3 , v032 + .byte W04 + .byte Gn3 , v064 + .byte W04 + .byte Gn3 , v032 + .byte W04 + .byte Fn3 , v064 + .byte W04 + .byte Fn3 , v032 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Cn4 , v064 + .byte W04 + .byte Cn4 , v032 + .byte W04 + .byte As3 , v064 + .byte W04 + .byte As3 , v032 + .byte W04 + .byte Cn4 , v064 + .byte W04 + .byte Cn4 , v032 + .byte W12 + .byte Cs4 , v064 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Cn4 , v064 + .byte W04 + .byte Cn4 , v032 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Ds4 , v064 + .byte W04 + .byte Ds4 , v032 + .byte W04 + .byte Cs4 , v064 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Fn4 , v064 + .byte W04 + .byte Fn4 , v032 + .byte W04 + .byte PEND + .byte PATT + .word mus_rg_vs_deo_5_001 + .byte PATT + .word mus_rg_vs_deo_5_002 + .byte PATT + .word mus_rg_vs_deo_5_003 + .byte PATT + .word mus_rg_vs_deo_5_004 + .byte PATT + .word mus_rg_vs_deo_5_001 + .byte PATT + .word mus_rg_vs_deo_5_002 + .byte PATT + .word mus_rg_vs_deo_5_003 + .byte PATT + .word mus_rg_vs_deo_5_004 + .byte PATT + .word mus_rg_vs_deo_5_001 + .byte PATT + .word mus_rg_vs_deo_5_002 + .byte PATT + .word mus_rg_vs_deo_5_003 +mus_rg_vs_deo_5_005: + .byte PAN , c_v-64 + .byte N04 , Cs3 , v064 + .byte W04 + .byte Cs3 , v032 + .byte W04 + .byte Gs3 , v064 + .byte W04 + .byte Gs3 , v032 + .byte W04 + .byte Fs3 , v064 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Cs4 , v064 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Bn3 , v064 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte Cs4 , v064 + .byte W04 + .byte Cs4 , v032 + .byte W12 + .byte Dn4 , v064 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Cs4 , v064 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , En4 , v064 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte Dn4 , v064 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Fs4 , v064 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte PEND +mus_rg_vs_deo_5_006: + .byte N04 , Cs4 , v064 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Gs4 , v064 + .byte W04 + .byte Gs4 , v032 + .byte W04 + .byte Fs4 , v064 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Cs5 , v064 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte Cs5 , v064 + .byte W04 + .byte Cs5 , v032 + .byte W12 + .byte Dn5 , v064 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte Cs5 , v064 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , En5 , v064 + .byte W04 + .byte En5 , v032 + .byte W04 + .byte Dn5 , v064 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte Fs5 , v064 + .byte W04 + .byte Fs5 , v032 + .byte W04 + .byte PEND +mus_rg_vs_deo_5_007: + .byte PAN , c_v+63 + .byte N04 , Cs3 , v064 + .byte W04 + .byte Cs3 , v032 + .byte W04 + .byte Gs3 , v064 + .byte W04 + .byte Gs3 , v032 + .byte W04 + .byte Fs3 , v064 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Cs4 , v064 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Bn3 , v064 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte Cs4 , v064 + .byte W04 + .byte Cs4 , v032 + .byte W12 + .byte Dn4 , v064 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Cs4 , v064 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , En4 , v064 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte Dn4 , v064 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Fs4 , v064 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte PEND +mus_rg_vs_deo_5_008: + .byte N04 , Cs4 , v064 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Gs4 , v064 + .byte W04 + .byte Gs4 , v032 + .byte W04 + .byte Fs4 , v064 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte PAN , c_v-64 + .byte N04 , Cs5 , v064 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte Cs5 , v064 + .byte W04 + .byte Cs5 , v032 + .byte W12 + .byte Dn5 , v064 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte Cs5 , v064 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , En5 , v064 + .byte W04 + .byte En5 , v032 + .byte W04 + .byte Dn5 , v064 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte Fs5 , v064 + .byte W04 + .byte Fs5 , v032 + .byte W04 + .byte PEND + .byte PATT + .word mus_rg_vs_deo_5_005 + .byte PATT + .word mus_rg_vs_deo_5_006 + .byte PATT + .word mus_rg_vs_deo_5_007 + .byte PATT + .word mus_rg_vs_deo_5_008 + .byte VOICE , 62 + .byte PAN , c_v+32 + .byte N16 , Bn3 , v080 + .byte W16 + .byte N08 , Cs4 + .byte W08 + .byte N16 , Bn3 + .byte W16 + .byte N08 , Cs4 + .byte W24 + .byte PAN , c_v-48 + .byte N32 , Cs2 , v100 + .byte W32 +mus_rg_vs_deo_5_009: + .byte PAN , c_v+32 + .byte N16 , Bn3 , v080 + .byte W16 + .byte N08 , Cs4 + .byte W08 + .byte N16 , Bn3 + .byte W16 + .byte N08 , En4 + .byte W24 + .byte Ds4 + .byte W24 + .byte Cs4 + .byte W08 + .byte PEND + .byte N16 , Bn3 + .byte W16 + .byte N08 , Cs4 + .byte W08 + .byte N16 , Bn3 + .byte W16 + .byte N08 , Cs4 + .byte W32 + .byte PAN , c_v-48 + .byte N24 , Cs2 , v100 + .byte W24 + .byte PATT + .word mus_rg_vs_deo_5_009 + .byte N16 , Cs4 , v080 + .byte W16 + .byte N08 , Ds4 + .byte W08 + .byte N16 , Cs4 + .byte W16 + .byte N08 , Ds4 + .byte W24 + .byte PAN , c_v-48 + .byte N32 , Ds2 , v100 + .byte W32 +mus_rg_vs_deo_5_010: + .byte PAN , c_v+32 + .byte N16 , Cs4 , v080 + .byte W16 + .byte N08 , Ds4 + .byte W08 + .byte N16 , Cs4 + .byte W16 + .byte N08 , Fs4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Ds4 + .byte W08 + .byte PEND + .byte N16 , Cs4 + .byte W16 + .byte N08 , Ds4 + .byte W08 + .byte N16 , Cs4 + .byte W16 + .byte N08 , Ds4 + .byte W32 + .byte PAN , c_v-48 + .byte N24 , Ds2 , v100 + .byte W24 + .byte PATT + .word mus_rg_vs_deo_5_010 + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte VOL , 40*mus_rg_vs_deo_mvl/mxv + .byte TIE , An2 , v084 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte EOT + .byte N96 , Bn2 , v080 + .byte W96 + .byte En2 + .byte W96 + .byte Cs3 , v076 + .byte W96 + .byte Bn2 , v080 + .byte W96 + .byte VOL , 50*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v+1 + .byte N48 , Fn3 , v064 + .byte W48 + .byte Gn3 + .byte W48 + .byte N96 , Cn3 + .byte W96 + .byte VOL , 70*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W84 + .byte VOICE , 81 + .byte W12 + .byte PATT + .word mus_rg_vs_deo_5_004 + .byte PATT + .word mus_rg_vs_deo_5_001 + .byte PATT + .word mus_rg_vs_deo_5_002 + .byte PATT + .word mus_rg_vs_deo_5_003 + .byte GOTO + .word mus_rg_vs_deo_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_vs_deo_6: + .byte KEYSH , mus_rg_vs_deo_key+0 + .byte VOICE , 14 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-22 + .byte VOL , 70*mus_rg_vs_deo_mvl/mxv + .byte W24 + .byte 70*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v-48 + .byte N48 , Fn3 , v060 + .byte W24 + .byte VOL , 60*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 40*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 30*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 70*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v+48 + .byte N48 , Gn3 + .byte W24 + .byte VOL , 60*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 40*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 30*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 70*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v-48 + .byte N96 , Cn3 + .byte W36 + .byte VOL , 60*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 55*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 44*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 40*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 35*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 30*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 25*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 20*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 14*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 9*mus_rg_vs_deo_mvl/mxv + .byte W72 + .byte W96 + .byte W24 + .byte 70*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v+48 + .byte N48 , Fn3 + .byte W24 + .byte VOL , 60*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 40*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 30*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 70*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v-48 + .byte N48 , Gn3 + .byte W24 + .byte VOL , 60*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 40*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 30*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 70*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v+48 + .byte N96 , Cn3 + .byte W36 + .byte VOL , 60*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v-1 + .byte W06 + .byte VOL , 55*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v-2 + .byte W06 + .byte VOL , 44*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 40*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v-2 + .byte W06 + .byte VOL , 35*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 30*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v-4 + .byte W06 + .byte VOL , 25*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 20*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 14*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte BEND , c_v+0 + .byte W72 + .byte VOL , 70*mus_rg_vs_deo_mvl/mxv + .byte W96 + .byte W96 + .byte W96 +mus_rg_vs_deo_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 62*mus_rg_vs_deo_mvl/mxv + .byte W96 + .byte VOICE , 48 + .byte PAN , c_v-28 + .byte TIE , Gs3 , v096 + .byte W96 + .byte W24 + .byte EOT + .byte N24 , Gs4 + .byte W24 + .byte En4 + .byte W24 + .byte Cs4 + .byte W24 + .byte N16 , Bn3 + .byte W16 + .byte N80 , Cs4 + .byte W80 + .byte N16 , Gs3 + .byte W16 + .byte N80 , An3 + .byte W80 + .byte TIE , Gs3 + .byte W96 + .byte W24 + .byte EOT + .byte N24 , Gs4 + .byte W24 + .byte En4 + .byte W24 + .byte Cs4 + .byte W24 + .byte N16 , Bn3 + .byte W16 + .byte N56 , Cs4 + .byte W56 + .byte N16 , Gs4 + .byte W16 + .byte N56 , An4 + .byte W08 + .byte W48 + .byte N48 , Cn5 + .byte W20 + .byte VOL , 56*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 50*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 45*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 41*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 36*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 31*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 26*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte VOICE , 29 + .byte PAN , c_v+32 + .byte VOL , 62*mus_rg_vs_deo_mvl/mxv + .byte W48 + .byte PAN , c_v-48 + .byte N02 , Cs5 + .byte W16 + .byte PAN , c_v+32 + .byte N02 + .byte W08 + .byte PAN , c_v+47 + .byte N24 , Cs2 + .byte W24 + .byte W96 + .byte W48 + .byte PAN , c_v+32 + .byte N02 , Cs5 + .byte W08 + .byte N02 + .byte W08 + .byte PAN , c_v-48 + .byte N02 + .byte W08 + .byte PAN , c_v+48 + .byte N24 , Cs2 + .byte W24 + .byte W96 + .byte W48 + .byte PAN , c_v-48 + .byte N02 , Ds5 + .byte W16 + .byte PAN , c_v+34 + .byte N02 + .byte W08 + .byte PAN , c_v+47 + .byte N24 , Ds2 + .byte W24 + .byte W96 + .byte W48 + .byte PAN , c_v+32 + .byte N02 , Ds5 + .byte W08 + .byte N02 + .byte W08 + .byte PAN , c_v-48 + .byte N02 + .byte W08 + .byte PAN , c_v+48 + .byte N24 , Ds2 + .byte W24 + .byte PAN , c_v-48 + .byte N16 , Cs5 , v064 + .byte W16 + .byte N08 , Ds5 + .byte W08 + .byte N16 , Cs5 + .byte W16 + .byte N08 , Fs5 + .byte W24 + .byte Fn5 + .byte W24 + .byte Ds5 + .byte W08 + .byte VOICE , 48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte 14 + .byte W24 + .byte VOL , 70*mus_rg_vs_deo_mvl/mxv + .byte N48 , Fn3 , v048 + .byte W24 + .byte VOL , 60*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 40*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 30*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 70*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v+48 + .byte N48 , Gn3 + .byte W24 + .byte VOL , 60*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 40*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 30*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 70*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v-48 + .byte N96 , Cn3 + .byte W36 + .byte VOL , 60*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 55*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 44*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 40*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 35*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 30*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 25*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 20*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 14*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 9*mus_rg_vs_deo_mvl/mxv + .byte W24 + .byte 70*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v-32 + .byte W48 + .byte VOICE , 48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_vs_deo_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_vs_deo_7: + .byte KEYSH , mus_rg_vs_deo_key+0 + .byte VOICE , 57 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 70*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_vs_deo_7_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W60 + .byte VOICE , 60 + .byte W36 + .byte TIE , Cn4 , v108 + .byte W72 + .byte VOL , 74*mus_rg_vs_deo_mvl/mxv + .byte W24 + .byte W24 + .byte EOT + .byte VOL , 70*mus_rg_vs_deo_mvl/mxv + .byte N24 , Cn5 + .byte W24 + .byte Gn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte N16 , Fn4 + .byte W16 + .byte N80 , Gn4 + .byte W32 + .byte VOL , 60*mus_rg_vs_deo_mvl/mxv + .byte W12 + .byte 50*mus_rg_vs_deo_mvl/mxv + .byte W12 + .byte 40*mus_rg_vs_deo_mvl/mxv + .byte W12 + .byte 30*mus_rg_vs_deo_mvl/mxv + .byte W12 + .byte 70*mus_rg_vs_deo_mvl/mxv + .byte N16 , Cn4 + .byte W16 + .byte N80 , Cs4 + .byte W80 + .byte TIE , Cn4 + .byte W96 + .byte W24 + .byte EOT + .byte N24 , Cn5 + .byte W24 + .byte Gn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte N16 , Fn4 + .byte W16 + .byte N56 , Gn4 + .byte W20 + .byte MOD , 5 + .byte W12 + .byte VOL , 60*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 40*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 30*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 70*mus_rg_vs_deo_mvl/mxv + .byte MOD , 0 + .byte N16 , Cn5 + .byte W16 + .byte N08 , Cs5 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte TIE , Cs4 + .byte W96 + .byte W24 + .byte EOT + .byte N24 , Cs5 + .byte W24 + .byte Gs4 + .byte W24 + .byte En4 + .byte W24 + .byte N16 , Fs4 + .byte W16 + .byte N80 , Gs4 + .byte W80 + .byte N16 , Cs4 + .byte W16 + .byte N80 , Dn4 + .byte W80 + .byte TIE , Cs4 + .byte W96 + .byte W24 + .byte EOT + .byte N24 , Cs5 + .byte W24 + .byte Gs4 + .byte W24 + .byte En4 + .byte W24 + .byte N16 , Fs4 + .byte W16 + .byte N56 , Gs4 + .byte W56 + .byte N16 , Cs5 + .byte W16 + .byte N56 , Dn5 + .byte W08 + .byte W48 + .byte N48 , Fs5 + .byte W24 + .byte VOL , 60*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 55*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 50*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 44*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 40*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 30*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 70*mus_rg_vs_deo_mvl/mxv + .byte N16 , Bn4 + .byte W16 + .byte N08 , Cs5 + .byte W08 + .byte N16 , Bn4 + .byte W16 + .byte N08 , Cs5 + .byte W24 + .byte N32 , Cs3 + .byte W32 +mus_rg_vs_deo_7_000: + .byte N16 , Bn4 , v108 + .byte W16 + .byte N08 , Cs5 + .byte W08 + .byte N16 , Bn4 + .byte W16 + .byte N08 , En5 + .byte W24 + .byte Ds5 + .byte W24 + .byte Cs5 + .byte W08 + .byte PEND + .byte N16 , Bn4 + .byte W16 + .byte N08 , Cs5 + .byte W08 + .byte N16 , Bn4 + .byte W16 + .byte N08 , Cs5 + .byte W32 + .byte N24 , Cs3 + .byte W24 + .byte PATT + .word mus_rg_vs_deo_7_000 + .byte N16 , Cs5 , v108 + .byte W16 + .byte N08 , Ds5 + .byte W08 + .byte N16 , Cs5 + .byte W16 + .byte N08 , Ds5 + .byte W24 + .byte N32 , Ds3 + .byte W32 +mus_rg_vs_deo_7_001: + .byte N16 , Cs5 , v108 + .byte W16 + .byte N08 , Ds5 + .byte W08 + .byte N16 , Cs5 + .byte W16 + .byte N08 , Fs5 + .byte W24 + .byte Fn5 + .byte W24 + .byte Ds5 + .byte W08 + .byte PEND + .byte N16 , Cs5 + .byte W16 + .byte N08 , Ds5 + .byte W08 + .byte N16 , Cs5 + .byte W16 + .byte N08 , Ds5 + .byte W32 + .byte N24 , Ds3 + .byte W24 + .byte PATT + .word mus_rg_vs_deo_7_001 + .byte TIE , Dn3 , v112 + .byte W96 +mus_rg_vs_deo_7_002: + .byte W48 + .byte VOL , 65*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 62*mus_rg_vs_deo_mvl/mxv + .byte W08 + .byte 60*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 57*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 54*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 51*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 47*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte PEND + .byte EOT , Dn3 + .byte VOL , 70*mus_rg_vs_deo_mvl/mxv + .byte N96 , En3 , v112 + .byte W48 + .byte VOL , 65*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte VOL , 62*mus_rg_vs_deo_mvl/mxv + .byte W08 + .byte 60*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 57*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 54*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 51*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 47*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 70*mus_rg_vs_deo_mvl/mxv + .byte N96 , Dn3 + .byte W48 + .byte VOL , 65*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 62*mus_rg_vs_deo_mvl/mxv + .byte W08 + .byte 60*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 57*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 54*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 51*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 47*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 70*mus_rg_vs_deo_mvl/mxv + .byte TIE , En3 + .byte W96 + .byte PATT + .word mus_rg_vs_deo_7_002 + .byte EOT , En3 + .byte VOL , 70*mus_rg_vs_deo_mvl/mxv + .byte N96 , Fs3 , v112 + .byte W96 + .byte En3 + .byte W60 + .byte VOL , 65*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 61*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 59*mus_rg_vs_deo_mvl/mxv + .byte W08 + .byte 54*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 45*mus_rg_vs_deo_mvl/mxv + .byte W04 + .byte 40*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 70*mus_rg_vs_deo_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_vs_deo_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_vs_deo_8: + .byte KEYSH , mus_rg_vs_deo_key+0 + .byte VOICE , 14 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 80*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v+0 + .byte N48 , Fn3 , v127 + .byte W24 + .byte VOL , 70*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 57*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 46*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 36*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 80*mus_rg_vs_deo_mvl/mxv + .byte N48 , Gn3 + .byte W24 + .byte VOL , 72*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 60*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 36*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 80*mus_rg_vs_deo_mvl/mxv + .byte N96 , Cn3 + .byte W36 + .byte VOL , 72*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 63*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 49*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 42*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 37*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 31*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 27*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 22*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 17*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 9*mus_rg_vs_deo_mvl/mxv + .byte W96 + .byte W96 + .byte 80*mus_rg_vs_deo_mvl/mxv + .byte N48 , Fn3 , v096 + .byte W24 + .byte VOL , 70*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 57*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 46*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 36*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 80*mus_rg_vs_deo_mvl/mxv + .byte N48 , Gn3 + .byte W24 + .byte VOL , 72*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 60*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 36*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 80*mus_rg_vs_deo_mvl/mxv + .byte N96 , Cn3 + .byte W36 + .byte VOL , 72*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v-1 + .byte W06 + .byte VOL , 63*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v-2 + .byte W06 + .byte VOL , 49*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 42*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v-2 + .byte W06 + .byte VOL , 37*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 31*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v-4 + .byte W06 + .byte VOL , 27*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 22*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 17*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 70*mus_rg_vs_deo_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_vs_deo_8_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 80*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v+15 + .byte N48 , Fn3 , v116 + .byte W24 + .byte VOL , 70*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 40*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 30*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 80*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v-32 + .byte N48 , Gn3 , v112 + .byte W24 + .byte VOL , 69*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 40*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 30*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 80*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v+32 + .byte N96 , Cn3 , v104 + .byte W36 + .byte VOL , 70*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 55*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 44*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 40*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 35*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 30*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 25*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 20*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 14*mus_rg_vs_deo_mvl/mxv + .byte W06 + .byte 9*mus_rg_vs_deo_mvl/mxv + .byte PAN , c_v+0 + .byte W24 + .byte VOL , 70*mus_rg_vs_deo_mvl/mxv + .byte W72 + .byte W68 + .byte N06 , Gs0 , v120 + .byte W28 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_vs_deo_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_vs_deo_9: + .byte KEYSH , mus_rg_vs_deo_key+0 + .byte VOICE , 0 + .byte VOL , 78*mus_rg_vs_deo_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte N08 , En1 , v104 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 +mus_rg_vs_deo_9_000: + .byte N16 , Cn1 , v127 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 , Cn1 + .byte W08 + .byte N16 , Cn1 , v127 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 , Cn1 + .byte W08 + .byte PEND +mus_rg_vs_deo_9_001: + .byte N16 , Cn1 , v127 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 , Cn1 + .byte W08 + .byte Cn1 , v127 + .byte W08 + .byte Cs1 , v112 + .byte W08 + .byte Cn1 + .byte W08 + .byte Cs1 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte PEND + .byte PATT + .word mus_rg_vs_deo_9_000 +mus_rg_vs_deo_9_002: + .byte N16 , Cn1 , v127 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 , Cn1 + .byte W08 + .byte Cn1 , v127 + .byte W08 + .byte Cs1 , v112 + .byte W08 + .byte Cn1 + .byte W08 + .byte Cs1 + .byte W08 + .byte Cn1 + .byte W08 + .byte Cs1 + .byte W08 + .byte PEND +mus_rg_vs_deo_9_B1: + .byte N16 , Cn1 , v100 + .byte N48 , En2 , v124 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 , Cn1 + .byte W08 + .byte N16 , Cn1 , v127 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 , Cn1 + .byte W08 + .byte PATT + .word mus_rg_vs_deo_9_001 + .byte PATT + .word mus_rg_vs_deo_9_000 + .byte N16 , Cn1 , v127 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 , Cn1 + .byte W08 + .byte Cn1 , v127 + .byte W08 + .byte Cs1 , v112 + .byte W08 + .byte N08 + .byte W08 + .byte Cn1 + .byte W08 + .byte Cs1 + .byte W08 + .byte N08 + .byte W08 + .byte PATT + .word mus_rg_vs_deo_9_000 + .byte N16 , Cn1 , v127 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 , Cn1 + .byte W08 + .byte N08 + .byte W08 + .byte Cs1 + .byte W08 + .byte Cn1 + .byte W08 + .byte Cs1 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte PATT + .word mus_rg_vs_deo_9_000 + .byte PATT + .word mus_rg_vs_deo_9_002 + .byte PATT + .word mus_rg_vs_deo_9_000 + .byte PATT + .word mus_rg_vs_deo_9_001 + .byte PATT + .word mus_rg_vs_deo_9_000 + .byte N16 , Cs1 , v127 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte Cs1 + .byte W16 + .byte Cn1 + .byte W08 + .byte Cs1 , v127 + .byte W08 + .byte Cs1 , v112 + .byte W08 + .byte Cn1 + .byte W08 + .byte N08 + .byte W08 + .byte Cs1 + .byte W08 + .byte N08 + .byte W08 + .byte PATT + .word mus_rg_vs_deo_9_000 + .byte PATT + .word mus_rg_vs_deo_9_001 + .byte PATT + .word mus_rg_vs_deo_9_000 + .byte PATT + .word mus_rg_vs_deo_9_002 + .byte PATT + .word mus_rg_vs_deo_9_000 + .byte PATT + .word mus_rg_vs_deo_9_001 + .byte PATT + .word mus_rg_vs_deo_9_000 + .byte N08 , Cs1 , v127 + .byte W08 + .byte N16 , Cs1 , v112 + .byte W16 + .byte N08 , Cn1 + .byte W16 + .byte Cs1 + .byte W08 + .byte Cn1 , v127 + .byte W08 + .byte Cs1 , v112 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 +mus_rg_vs_deo_9_003: + .byte N16 , Cn1 , v127 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 + .byte W08 + .byte N16 , Cn1 , v127 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 , Cn1 + .byte W08 + .byte PEND +mus_rg_vs_deo_9_004: + .byte N16 , Cn1 , v127 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 , Cn1 + .byte W08 + .byte Cs1 , v127 + .byte W08 + .byte Cn1 , v112 + .byte W08 + .byte Cs1 + .byte W08 + .byte Cn1 + .byte W08 + .byte Cs1 + .byte W08 + .byte N08 + .byte W08 + .byte PEND + .byte N16 , Cn1 , v127 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 + .byte W08 + .byte N16 , Cn1 , v127 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 + .byte W08 + .byte Cn1 , v127 + .byte W16 + .byte Cn1 , v112 + .byte W08 + .byte Cs1 + .byte W16 + .byte Cn1 + .byte W08 + .byte Cs1 , v127 + .byte W08 + .byte Cs1 , v112 + .byte W08 + .byte Cn1 + .byte W08 + .byte Cs1 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte PATT + .word mus_rg_vs_deo_9_003 + .byte PATT + .word mus_rg_vs_deo_9_004 + .byte PATT + .word mus_rg_vs_deo_9_003 + .byte N16 , Cn1 , v127 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte Cs1 + .byte W08 + .byte N08 + .byte W08 + .byte Cn1 + .byte W08 + .byte Cs1 , v127 + .byte W08 + .byte Cn1 , v112 + .byte W08 + .byte N08 + .byte W08 + .byte Cs1 + .byte W08 + .byte N08 + .byte W08 + .byte N08 + .byte W08 +mus_rg_vs_deo_9_005: + .byte W24 + .byte N24 , Cs1 , v112 + .byte W48 + .byte N24 + .byte W24 + .byte PEND + .byte W24 + .byte N24 + .byte W32 + .byte N16 + .byte W16 + .byte N16 + .byte W16 + .byte N16 + .byte W08 + .byte PATT + .word mus_rg_vs_deo_9_005 + .byte W24 + .byte N32 , Cs1 , v112 + .byte W32 + .byte N16 + .byte W16 + .byte N16 + .byte W16 + .byte N08 + .byte W08 +mus_rg_vs_deo_9_006: + .byte N16 , Cn1 , v127 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 , Cn1 + .byte W08 + .byte N16 + .byte W16 + .byte N08 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 , Cn1 + .byte W08 + .byte PEND + .byte N16 , Cn1 , v127 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 , Cn1 + .byte W08 + .byte N08 + .byte W08 + .byte Cs1 + .byte W08 + .byte Cn1 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 + .byte W08 + .byte PATT + .word mus_rg_vs_deo_9_006 + .byte N16 , Cn1 , v127 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 , Cn1 + .byte W08 + .byte N08 + .byte W08 + .byte Cs1 + .byte W08 + .byte N08 + .byte W08 + .byte Cn1 + .byte W08 + .byte Cs1 + .byte W08 + .byte N08 + .byte W08 + .byte PATT + .word mus_rg_vs_deo_9_000 + .byte PATT + .word mus_rg_vs_deo_9_001 + .byte N16 , Cn1 , v127 + .byte TIE , Cn3 , v048 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 , Cn1 + .byte W08 + .byte N16 , Cn1 , v127 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 , Cn1 + .byte W08 + .byte PATT + .word mus_rg_vs_deo_9_002 + .byte EOT , Cn3 + .byte N16 , Cn1 , v127 + .byte N48 , Gn2 , v096 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 , Cn1 + .byte W08 + .byte N16 , Cn1 , v127 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 , Cn1 + .byte W08 + .byte PATT + .word mus_rg_vs_deo_9_001 + .byte PATT + .word mus_rg_vs_deo_9_000 + .byte N16 , Cn1 , v127 + .byte W16 + .byte N08 , Cn1 , v112 + .byte W08 + .byte N16 , Cs1 + .byte W16 + .byte N08 , Cn1 + .byte W08 + .byte Cn1 , v127 + .byte N48 , Cn3 , v072 + .byte W08 + .byte N08 , Cs1 , v112 + .byte W08 + .byte N08 + .byte W08 + .byte Cn1 + .byte W08 + .byte Cs1 + .byte W08 + .byte N08 + .byte W08 + .byte GOTO + .word mus_rg_vs_deo_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_rg_vs_deo_10: + .byte KEYSH , mus_rg_vs_deo_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 60*mus_rg_vs_deo_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_vs_deo_10_000: + .byte N04 , Cn5 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W24 + .byte N04 + .byte W32 + .byte N04 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 +mus_rg_vs_deo_10_001: + .byte N04 , Cn5 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W24 + .byte N04 + .byte W32 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte PEND +mus_rg_vs_deo_10_B1: + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_001 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_001 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_001 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_001 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_001 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_001 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_001 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_001 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_001 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_001 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_000 + .byte PATT + .word mus_rg_vs_deo_10_001 + .byte GOTO + .word mus_rg_vs_deo_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_vs_deo: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_vs_deo_pri @ Priority + .byte mus_rg_vs_deo_rev @ Reverb. + + .word mus_rg_vs_deo_grp + + .word mus_rg_vs_deo_1 + .word mus_rg_vs_deo_2 + .word mus_rg_vs_deo_3 + .word mus_rg_vs_deo_4 + .word mus_rg_vs_deo_5 + .word mus_rg_vs_deo_6 + .word mus_rg_vs_deo_7 + .word mus_rg_vs_deo_8 + .word mus_rg_vs_deo_9 + .word mus_rg_vs_deo_10 + + .end diff --git a/sound/songs/mus_rg_vs_gym.s b/sound/songs/mus_rg_vs_gym.s new file mode 100644 index 0000000000..61dfb6c604 --- /dev/null +++ b/sound/songs/mus_rg_vs_gym.s @@ -0,0 +1,5087 @@ + .include "MPlayDef.s" + + .equ mus_rg_vs_gym_grp, voicegroup_86A8CBC + .equ mus_rg_vs_gym_pri, 0 + .equ mus_rg_vs_gym_rev, reverb_set+50 + .equ mus_rg_vs_gym_mvl, 127 + .equ mus_rg_vs_gym_key, 0 + .equ mus_rg_vs_gym_tbs, 1 + .equ mus_rg_vs_gym_exg, 0 + .equ mus_rg_vs_gym_cmp, 1 + + .section .rodata + .global mus_rg_vs_gym + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_vs_gym_1: + .byte KEYSH , mus_rg_vs_gym_key+0 + .byte TEMPO , 186*mus_rg_vs_gym_tbs/2 + .byte VOICE , 17 + .byte PAN , c_v-30 + .byte VOL , 66*mus_rg_vs_gym_mvl/mxv + .byte LFOS , 44 + .byte BENDR , 12 + .byte W36 + .byte N06 , An3 , v127 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte VOICE , 47 + .byte VOL , 90*mus_rg_vs_gym_mvl/mxv + .byte W48 +mus_rg_vs_gym_1_B1: + .byte VOICE , 87 + .byte MOD , 8 + .byte PAN , c_v+63 + .byte VOL , 60*mus_rg_vs_gym_mvl/mxv + .byte N06 , An3 , v127 + .byte W96 + .byte PAN , c_v-64 + .byte N06 + .byte W48 + .byte PAN , c_v+63 + .byte W12 + .byte N24 , As3 + .byte W36 + .byte PAN , c_v-64 + .byte N06 , Dn3 + .byte W24 + .byte PAN , c_v+63 + .byte N06 , Dn3 , v120 + .byte W72 + .byte PAN , c_v-64 + .byte N06 , An3 , v127 + .byte W48 + .byte PAN , c_v+63 + .byte W12 + .byte N36 , Gs3 + .byte W36 + .byte PAN , c_v-64 + .byte N06 , An3 + .byte W96 + .byte PAN , c_v+63 + .byte N06 + .byte W48 + .byte PAN , c_v-64 + .byte W12 + .byte N36 , As3 + .byte W36 + .byte PAN , c_v+63 + .byte N06 , An3 + .byte W96 + .byte PAN , c_v-64 + .byte N06 + .byte W48 + .byte PAN , c_v+63 + .byte W12 + .byte N36 , Cn4 + .byte W36 + .byte VOICE , 4 + .byte PAN , c_v+48 + .byte VOL , 49*mus_rg_vs_gym_mvl/mxv + .byte N06 , An2 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+46 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+40 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+24 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+20 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-8 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-24 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Gn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v-39 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v-24 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v-10 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v+15 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v+31 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v+41 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Gn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , An2 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-41 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-24 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-8 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+9 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+25 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+41 + .byte N06 , Gn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v+22 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v+10 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v-10 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v-25 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v-39 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cn4 , v096 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , Gn3 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Cn4 , v084 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Gn4 , v064 + .byte W06 + .byte VOICE , 62 + .byte MOD , 0 + .byte VOL , 79*mus_rg_vs_gym_mvl/mxv + .byte PAN , c_v-32 + .byte N06 , Dn2 , v120 + .byte W12 + .byte Dn2 , v127 + .byte W12 + .byte PAN , c_v+32 + .byte N18 , Fn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 61*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 79*mus_rg_vs_gym_mvl/mxv + .byte PAN , c_v-32 + .byte N06 , Dn2 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+32 + .byte N18 , Gn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 61*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 79*mus_rg_vs_gym_mvl/mxv + .byte PAN , c_v-32 + .byte N06 , Dn2 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+32 + .byte N18 , Fn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 61*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 79*mus_rg_vs_gym_mvl/mxv + .byte PAN , c_v-32 + .byte N06 , Dn2 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En2 + .byte W06 + .byte MOD , 9 + .byte W06 + .byte 0 + .byte PAN , c_v-32 + .byte N03 , Dn2 + .byte W06 + .byte Fn2 , v120 + .byte W06 + .byte Dn2 , v127 + .byte W06 + .byte Dn2 , v120 + .byte W06 + .byte PAN , c_v-32 + .byte N18 , Fn2 , v127 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 61*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 79*mus_rg_vs_gym_mvl/mxv + .byte PAN , c_v+32 + .byte N06 , Dn2 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-32 + .byte N18 , Gn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 61*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 79*mus_rg_vs_gym_mvl/mxv + .byte PAN , c_v+32 + .byte N06 , Dn2 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-32 + .byte N18 , Fn2 + .byte W06 + .byte MOD , 8 + .byte W06 + .byte VOL , 61*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 79*mus_rg_vs_gym_mvl/mxv + .byte PAN , c_v+32 + .byte N06 , Dn2 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-32 + .byte N09 , En2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-32 + .byte N09 , Cn2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v+32 + .byte VOL , 70*mus_rg_vs_gym_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Dn2 + .byte W12 + .byte N06 + .byte W12 + .byte VOICE , 4 + .byte PAN , c_v+48 + .byte VOL , 46*mus_rg_vs_gym_mvl/mxv + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v+40 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v+23 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v+8 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v-8 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v-24 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v-41 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte VOICE , 24 + .byte PAN , c_v-48 + .byte BEND , c_v+2 + .byte N06 , Ds2 , v096 + .byte W06 + .byte En2 , v100 + .byte W06 + .byte PAN , c_v-36 + .byte N06 , Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte PAN , c_v-26 + .byte N06 , Gn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Fn2 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v+22 + .byte N06 , Ds2 + .byte W06 + .byte Dn2 + .byte W06 + .byte PAN , c_v+8 + .byte N06 , Cn2 + .byte W06 + .byte As1 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte PAN , c_v-48 + .byte BEND , c_v+0 + .byte N06 , An1 + .byte W06 + .byte As1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Dn2 + .byte W06 + .byte VOICE , 4 + .byte PAN , c_v-48 + .byte N06 , Ds3 , v127 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v-40 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v-25 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v-9 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v+10 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v+25 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v+40 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v+49 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , Ds3 , v120 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , En3 , v104 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Fn3 + .byte W06 + .byte Fs3 , v096 + .byte W06 + .byte Gn3 , v088 + .byte W06 + .byte Fs3 , v076 + .byte W06 + .byte PAN , c_v-15 + .byte N06 , Fn3 + .byte W06 + .byte En3 , v080 + .byte W06 + .byte PAN , c_v+44 + .byte N06 , Ds3 , v088 + .byte W06 + .byte Dn3 , v096 + .byte W06 + .byte Cs3 , v108 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte VOICE , 5 + .byte PAN , c_v+32 + .byte VOL , 66*mus_rg_vs_gym_mvl/mxv + .byte N06 , Cn1 , v127 + .byte W12 + .byte N06 + .byte W12 + .byte N72 , En2 + .byte W24 + .byte MOD , 5 + .byte W48 + .byte 0 + .byte PAN , c_v-41 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte N72 , Cn3 + .byte W24 + .byte MOD , 5 + .byte W48 + .byte VOICE , 5 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte VOL , 75*mus_rg_vs_gym_mvl/mxv + .byte N24 , Fs3 + .byte W24 + .byte En3 + .byte W24 + .byte Fs3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte N24 , An3 + .byte W12 + .byte W12 + .byte N12 , Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte An3 + .byte W12 + .byte Dn4 + .byte W12 + .byte An3 + .byte W12 + .byte Fs3 + .byte W12 + .byte An3 + .byte W12 + .byte PAN , c_v+39 + .byte VOL , 56*mus_rg_vs_gym_mvl/mxv + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte N72 , Cn3 + .byte W24 + .byte MOD , 5 + .byte W48 + .byte VOICE , 4 + .byte PAN , c_v+40 + .byte MOD , 0 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte PAN , c_v+23 + .byte N06 , Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte PAN , c_v-40 + .byte N06 , Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte PAN , c_v-14 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W03 + .byte PAN , c_v+36 + .byte W03 + .byte N06 , Fs3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-36 + .byte N24 , Fs3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , En3 + .byte W12 + .byte N36 , Fs3 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N24 , An3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N12 , Gn3 + .byte W12 + .byte MOD , 0 + .byte N24 , Fs3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N36 , En3 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte W96 + .byte W48 + .byte VOL , 56*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte N36 , Gn3 + .byte W12 + .byte MOD , 6 + .byte W24 +mus_rg_vs_gym_1_000: + .byte MOD , 0 + .byte N24 , Fs3 , v127 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , En3 + .byte W12 + .byte N36 , Fs3 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte PEND + .byte 0 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , Fs3 + .byte W12 + .byte MOD , 0 + .byte N24 , En3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N36 , Dn3 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte PATT + .word mus_rg_vs_gym_1_000 + .byte MOD , 0 + .byte N24 , An3 , v127 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N12 , Cn4 + .byte W12 + .byte MOD , 0 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N36 , Gn3 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte GOTO + .word mus_rg_vs_gym_1_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_vs_gym_2: + .byte KEYSH , mus_rg_vs_gym_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 53*mus_rg_vs_gym_mvl/mxv + .byte N06 , Gs4 , v127 + .byte W06 + .byte Gn4 , v096 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W24 + .byte W12 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 , v100 + .byte W06 + .byte En3 , v108 + .byte W06 + .byte Fn3 , v116 + .byte W06 + .byte En3 , v127 + .byte W06 +mus_rg_vs_gym_2_B1: + .byte VOICE , 29 + .byte PAN , c_v+0 + .byte VOL , 62*mus_rg_vs_gym_mvl/mxv + .byte N06 , Dn4 , v127 + .byte W24 + .byte Dn4 , v032 + .byte W24 + .byte Dn4 , v016 + .byte W24 + .byte Dn4 , v008 + .byte W24 + .byte Dn4 , v127 + .byte W24 + .byte Dn4 , v064 + .byte W24 + .byte Dn4 , v048 + .byte W12 + .byte N24 , Ds4 , v127 + .byte W24 + .byte N06 , Fn4 , v120 + .byte W06 + .byte N03 , En4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N06 , Dn4 , v127 + .byte W24 + .byte Dn3 , v108 + .byte W24 + .byte Dn4 , v016 + .byte W24 + .byte Dn4 , v008 + .byte W24 + .byte Dn4 , v127 + .byte W24 + .byte Dn4 , v032 + .byte W24 + .byte Dn4 , v016 + .byte W12 + .byte N36 , Cs4 , v127 + .byte W36 +mus_rg_vs_gym_2_000: + .byte N06 , Dn4 , v127 + .byte W24 + .byte Dn4 , v032 + .byte W24 + .byte Dn4 , v016 + .byte W24 + .byte Dn4 , v008 + .byte W24 + .byte PEND + .byte Dn4 , v127 + .byte W24 + .byte Dn4 , v032 + .byte W24 + .byte Dn4 , v016 + .byte W12 + .byte N36 , Ds4 , v127 + .byte W36 + .byte PATT + .word mus_rg_vs_gym_2_000 + .byte N06 , Dn4 , v127 + .byte W24 + .byte Dn4 , v032 + .byte W24 + .byte Dn4 , v016 + .byte W12 + .byte N36 , En4 , v127 + .byte W36 + .byte VOICE , 48 + .byte VOL , 62*mus_rg_vs_gym_mvl/mxv + .byte PAN , c_v+0 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 2 + .byte W12 + .byte 0 + .byte N24 , En4 + .byte W12 + .byte MOD , 2 + .byte W12 + .byte 0 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 2 + .byte W12 + .byte 0 + .byte N12 , Gn4 + .byte W12 + .byte N24 , An4 + .byte W12 + .byte MOD , 2 + .byte W12 + .byte 0 + .byte N24 , Gn4 + .byte W15 + .byte MOD , 2 + .byte W09 + .byte N12 , Fs4 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte N12 , En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N48 , Cn4 + .byte W12 + .byte MOD , 2 + .byte W36 + .byte 0 + .byte N48 , En4 + .byte W12 + .byte MOD , 2 + .byte W36 + .byte 0 + .byte N60 , Gn4 + .byte W12 + .byte MOD , 2 + .byte W36 + .byte 0 + .byte W12 + .byte N24 , En4 + .byte W12 + .byte MOD , 2 + .byte W12 + .byte 0 + .byte N12 , Fn4 , v120 + .byte W12 + .byte VOICE , 24 + .byte PAN , c_v+0 + .byte VOL , 84*mus_rg_vs_gym_mvl/mxv + .byte N18 , Fs5 + .byte W12 + .byte MOD , 8 + .byte W06 + .byte N03 , Gn5 + .byte W03 + .byte Fs5 , v108 + .byte W03 + .byte MOD , 0 + .byte N21 , En5 + .byte W12 + .byte MOD , 8 + .byte W09 + .byte N03 , Fn5 + .byte W03 + .byte MOD , 0 + .byte N24 , Fs5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N09 , Gn5 + .byte W09 + .byte N03 , Gs5 + .byte W03 + .byte N24 , An5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Gn5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N12 , Fs5 + .byte W12 + .byte En5 + .byte W12 + .byte N09 , Dn5 + .byte W09 + .byte N03 , Ds5 + .byte W03 + .byte N09 , En5 + .byte W09 + .byte N03 , Fn5 + .byte W03 + .byte N12 , Fs5 + .byte W12 + .byte N44 , En5 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte VOL , 56*mus_rg_vs_gym_mvl/mxv + .byte W09 + .byte N03 , Ds5 + .byte W03 + .byte MOD , 0 + .byte VOL , 82*mus_rg_vs_gym_mvl/mxv + .byte N44 , Dn5 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte VOL , 56*mus_rg_vs_gym_mvl/mxv + .byte W09 + .byte N03 , Cs5 + .byte W03 + .byte MOD , 0 + .byte VOL , 82*mus_rg_vs_gym_mvl/mxv + .byte N48 , Cn5 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte VOL , 56*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 84*mus_rg_vs_gym_mvl/mxv + .byte N24 , Gn5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte VOL , 56*mus_rg_vs_gym_mvl/mxv + .byte N12 + .byte W12 + .byte MOD , 0 + .byte VOL , 82*mus_rg_vs_gym_mvl/mxv + .byte N12 , En5 + .byte W12 + .byte VOICE , 17 + .byte VOL , 86*mus_rg_vs_gym_mvl/mxv + .byte N06 , Dn3 , v127 + .byte W12 + .byte Dn3 , v120 + .byte W12 + .byte Fn4 , v127 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W30 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte W24 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W18 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W30 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gn4 + .byte W30 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte VOL , 60*mus_rg_vs_gym_mvl/mxv + .byte N06 , Dn2 + .byte W12 + .byte N06 + .byte W12 + .byte VOICE , 24 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , As3 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N96 , An3 + .byte W12 + .byte MOD , 8 + .byte W36 + .byte VOL , 45*mus_rg_vs_gym_mvl/mxv + .byte W48 + .byte MOD , 0 + .byte VOL , 59*mus_rg_vs_gym_mvl/mxv + .byte N06 , Ds3 , v096 + .byte W06 + .byte En3 , v100 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte As2 + .byte W06 + .byte An2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte VOICE , 30 + .byte N06 , An2 + .byte W06 + .byte As2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte VOL , 68*mus_rg_vs_gym_mvl/mxv + .byte N24 , Dn4 , v092 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N24 , Ds4 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N24 , Cn4 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N24 , Dn4 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N24 , Ds4 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N24 , Cn4 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N24 , Ds4 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte 0 + .byte N96 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W84 + .byte 0 + .byte BEND , c_v+0 + .byte N96 , An4 + .byte W12 + .byte MOD , 6 + .byte W36 + .byte VOL , 58*mus_rg_vs_gym_mvl/mxv + .byte BEND , c_v-3 + .byte W06 + .byte VOL , 52*mus_rg_vs_gym_mvl/mxv + .byte W06 + .byte 45*mus_rg_vs_gym_mvl/mxv + .byte BEND , c_v-4 + .byte W06 + .byte VOL , 36*mus_rg_vs_gym_mvl/mxv + .byte W06 + .byte 29*mus_rg_vs_gym_mvl/mxv + .byte BEND , c_v-6 + .byte W06 + .byte VOL , 23*mus_rg_vs_gym_mvl/mxv + .byte W06 + .byte 17*mus_rg_vs_gym_mvl/mxv + .byte W03 + .byte BEND , c_v-8 + .byte W03 + .byte VOL , 9*mus_rg_vs_gym_mvl/mxv + .byte W06 + .byte VOICE , 48 + .byte VOL , 60*mus_rg_vs_gym_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N06 , Cn2 , v127 + .byte W12 + .byte N06 + .byte W12 + .byte N72 , Cn4 + .byte W72 + .byte N06 , Cn2 + .byte W12 + .byte N06 + .byte W12 + .byte N72 , En4 + .byte W72 + .byte N96 , Fs4 + .byte W96 + .byte N96 + .byte W96 + .byte VOICE , 60 + .byte VOL , 68*mus_rg_vs_gym_mvl/mxv + .byte N06 , Cn2 + .byte W12 + .byte N06 + .byte W12 + .byte N72 , En4 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte VOL , 56*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 45*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 68*mus_rg_vs_gym_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N48 , Cn5 + .byte W24 + .byte MOD , 4 + .byte W12 + .byte VOL , 56*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 68*mus_rg_vs_gym_mvl/mxv + .byte MOD , 0 + .byte N48 , Gn4 + .byte W24 + .byte MOD , 4 + .byte W12 + .byte VOL , 55*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 68*mus_rg_vs_gym_mvl/mxv + .byte MOD , 0 + .byte TIE , Dn5 , v120 + .byte W60 + .byte MOD , 5 + .byte W36 + .byte W48 + .byte VOL , 54*mus_rg_vs_gym_mvl/mxv + .byte BEND , c_v-3 + .byte W06 + .byte VOL , 49*mus_rg_vs_gym_mvl/mxv + .byte W06 + .byte 44*mus_rg_vs_gym_mvl/mxv + .byte BEND , c_v-4 + .byte W06 + .byte VOL , 41*mus_rg_vs_gym_mvl/mxv + .byte W06 + .byte 38*mus_rg_vs_gym_mvl/mxv + .byte BEND , c_v-6 + .byte W06 + .byte VOL , 33*mus_rg_vs_gym_mvl/mxv + .byte W06 + .byte 26*mus_rg_vs_gym_mvl/mxv + .byte W03 + .byte BEND , c_v-8 + .byte W03 + .byte VOL , 21*mus_rg_vs_gym_mvl/mxv + .byte W06 + .byte EOT + .byte VOL , 68*mus_rg_vs_gym_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N24 , Fs3 , v127 + .byte W24 + .byte Gn3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte N36 , Fs3 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N24 , An3 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte N24 , Bn3 + .byte W36 + .byte N06 , Dn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte An4 + .byte W06 + .byte Cs5 + .byte W06 + .byte VOL , 68*mus_rg_vs_gym_mvl/mxv + .byte N96 , Dn5 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte VOL , 63*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 56*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 45*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 34*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 68*mus_rg_vs_gym_mvl/mxv + .byte MOD , 0 + .byte N96 , An4 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte VOL , 63*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 56*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 45*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 34*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 68*mus_rg_vs_gym_mvl/mxv + .byte MOD , 0 + .byte N96 , Cn5 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte VOL , 63*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 56*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 45*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 34*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 68*mus_rg_vs_gym_mvl/mxv + .byte MOD , 0 + .byte N48 , En5 + .byte W12 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte W12 + .byte N36 , Cn5 + .byte W36 + .byte GOTO + .word mus_rg_vs_gym_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_vs_gym_3: + .byte KEYSH , mus_rg_vs_gym_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-63 + .byte VOL , 56*mus_rg_vs_gym_mvl/mxv + .byte W72 + .byte N06 , Dn2 , v127 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte PAN , c_v-62 + .byte N06 , En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte PAN , c_v-62 + .byte N06 , Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte PAN , c_v-62 + .byte N06 , Gs2 + .byte W06 + .byte An2 + .byte W06 +mus_rg_vs_gym_3_B1: +mus_rg_vs_gym_3_000: + .byte PAN , c_v-63 + .byte VOL , 56*mus_rg_vs_gym_mvl/mxv + .byte N12 , Dn1 , v127 + .byte W12 + .byte An1 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte PAN , c_v-63 + .byte N12 , Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte PEND +mus_rg_vs_gym_3_001: + .byte PAN , c_v-63 + .byte N12 , Dn1 , v127 + .byte W12 + .byte An1 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte PAN , c_v-63 + .byte N12 , Dn1 + .byte W12 + .byte VOL , 68*mus_rg_vs_gym_mvl/mxv + .byte N36 , Ds1 + .byte W36 + .byte PEND + .byte PATT + .word mus_rg_vs_gym_3_000 + .byte PAN , c_v-63 + .byte N12 , Dn1 , v127 + .byte W12 + .byte An1 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte PAN , c_v-63 + .byte N12 , Dn1 + .byte W12 + .byte VOL , 68*mus_rg_vs_gym_mvl/mxv + .byte N36 , Gs1 + .byte W36 + .byte PATT + .word mus_rg_vs_gym_3_000 + .byte PATT + .word mus_rg_vs_gym_3_001 + .byte PATT + .word mus_rg_vs_gym_3_000 + .byte PAN , c_v-63 + .byte N12 , Dn1 , v127 + .byte W12 + .byte An1 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte PAN , c_v-63 + .byte N12 , Dn1 + .byte W12 + .byte VOL , 68*mus_rg_vs_gym_mvl/mxv + .byte N36 , En1 + .byte W12 + .byte PAN , c_v+63 + .byte W24 + .byte PATT + .word mus_rg_vs_gym_3_000 + .byte PAN , c_v-63 + .byte N12 , Dn1 , v127 + .byte W12 + .byte An1 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte PAN , c_v-63 + .byte N12 , Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn1 + .byte W12 + .byte An1 + .byte W12 +mus_rg_vs_gym_3_002: + .byte PAN , c_v-63 + .byte N12 , Cn2 , v127 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v-63 + .byte N12 , Cn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_gym_3_002 +mus_rg_vs_gym_3_003: + .byte PAN , c_v-63 + .byte N12 , Dn2 , v127 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-63 + .byte N12 , Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_gym_3_003 + .byte PATT + .word mus_rg_vs_gym_3_002 + .byte PATT + .word mus_rg_vs_gym_3_002 + .byte VOL , 56*mus_rg_vs_gym_mvl/mxv + .byte BEND , c_v+3 + .byte N06 , Dn2 , v127 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , Fn2 + .byte W24 + .byte N06 , Dn2 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , Gn2 + .byte W24 + .byte N06 , Dn2 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , Fn2 + .byte W24 + .byte N06 , Dn2 + .byte W12 + .byte N12 , En2 + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , Fn2 + .byte W24 + .byte N06 , Dn2 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , Gn2 + .byte W24 + .byte N06 , Dn2 + .byte W12 + .byte N06 + .byte W12 + .byte N24 , Fn2 + .byte W24 + .byte N06 , Dn2 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Fn4 , v076 + .byte W12 + .byte En4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte VOL , 45*mus_rg_vs_gym_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Dn2 , v127 + .byte W12 + .byte PAN , c_v-62 + .byte N06 + .byte W12 + .byte PAN , c_v+63 + .byte W72 +mus_rg_vs_gym_3_004: + .byte N06 , Dn2 , v127 + .byte W12 + .byte PAN , c_v-62 + .byte N06 + .byte W12 + .byte PAN , c_v+63 + .byte W72 + .byte PEND + .byte PATT + .word mus_rg_vs_gym_3_004 + .byte PATT + .word mus_rg_vs_gym_3_004 + .byte PATT + .word mus_rg_vs_gym_3_004 + .byte PATT + .word mus_rg_vs_gym_3_004 + .byte PATT + .word mus_rg_vs_gym_3_004 + .byte PATT + .word mus_rg_vs_gym_3_004 + .byte N06 , Cn3 , v127 + .byte W12 + .byte N06 + .byte W12 + .byte N72 , En3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 39*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 34*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 28*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 22*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte PAN , c_v-62 + .byte MOD , 0 + .byte VOL , 45*mus_rg_vs_gym_mvl/mxv + .byte N06 , Cn3 + .byte W12 + .byte N06 + .byte W12 + .byte N72 , Gn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 39*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 34*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 28*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 22*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte VOL , 45*mus_rg_vs_gym_mvl/mxv + .byte N96 , Fs3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte VOL , 39*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 34*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 28*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 22*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte PAN , c_v-62 + .byte MOD , 0 + .byte VOL , 45*mus_rg_vs_gym_mvl/mxv + .byte N96 , Dn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte VOL , 39*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 34*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 28*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 22*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 45*mus_rg_vs_gym_mvl/mxv + .byte N06 , Cn3 + .byte W12 + .byte N06 + .byte W12 + .byte N72 , Gn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 39*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 34*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 28*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 22*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte VOL , 45*mus_rg_vs_gym_mvl/mxv + .byte N48 , En3 + .byte W24 + .byte MOD , 7 + .byte VOL , 39*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 34*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte PAN , c_v-62 + .byte MOD , 0 + .byte VOL , 45*mus_rg_vs_gym_mvl/mxv + .byte N48 , Gn3 + .byte W24 + .byte MOD , 7 + .byte VOL , 39*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte 34*mus_rg_vs_gym_mvl/mxv + .byte W12 + .byte PAN , c_v-64 + .byte MOD , 0 + .byte VOL , 45*mus_rg_vs_gym_mvl/mxv + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v+62 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v+62 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v+62 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v+63 + .byte N36 , Gn2 + .byte W12 + .byte MOD , 7 + .byte W24 +mus_rg_vs_gym_3_005: + .byte MOD , 0 + .byte N12 , Dn2 , v127 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , An2 + .byte W12 + .byte PEND + .byte PAN , c_v+63 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v-62 + .byte N36 , As2 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte PAN , c_v-64 + .byte MOD , 0 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v+62 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v+62 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v+62 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v+63 + .byte N36 , Ds2 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte PATT + .word mus_rg_vs_gym_3_005 + .byte PAN , c_v+63 + .byte N12 , Dn2 , v127 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v-62 + .byte N36 , An2 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte GOTO + .word mus_rg_vs_gym_3_B1 + .byte PAN , c_v-64 + .byte MOD , 0 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_vs_gym_4: + .byte KEYSH , mus_rg_vs_gym_key+0 + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 56*mus_rg_vs_gym_mvl/mxv + .byte BEND , c_v+1 + .byte W96 + .byte W48 + .byte N06 , Bn1 , v127 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 +mus_rg_vs_gym_4_B1: + .byte MOD , 7 + .byte N06 , Dn2 , v120 + .byte W84 + .byte N03 , Dn1 + .byte W06 + .byte N03 + .byte W06 + .byte N09 , Dn2 + .byte W60 + .byte N24 , Ds2 + .byte W24 + .byte N06 , Fn2 + .byte W06 + .byte N03 , En2 + .byte W03 + .byte Ds2 + .byte W03 + .byte N06 , Dn2 + .byte W24 + .byte N12 , Dn1 + .byte W60 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn2 + .byte W60 + .byte N24 , Cs2 + .byte W24 + .byte N03 , Dn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn2 + .byte W12 + .byte N03 + .byte W24 + .byte N06 , Dn1 + .byte W36 + .byte N06 + .byte W06 + .byte Ds1 + .byte W06 + .byte N03 , Dn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N03 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte N03 , Dn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N24 , An1 + .byte W24 + .byte N03 , Dn1 + .byte W06 + .byte N06 + .byte W06 + .byte Dn2 + .byte W12 + .byte Dn1 , v060 + .byte W12 + .byte Dn1 , v120 + .byte W12 + .byte Dn1 , v064 + .byte W12 + .byte Dn2 , v120 + .byte W12 + .byte Dn1 + .byte W12 + .byte Dn1 , v064 + .byte W12 + .byte N06 + .byte W12 + .byte Dn1 , v120 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte N36 , An1 + .byte W36 + .byte VOL , 56*mus_rg_vs_gym_mvl/mxv + .byte N03 , Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N18 + .byte W24 + .byte N03 + .byte W12 + .byte N12 + .byte W12 + .byte N03 + .byte W12 + .byte N12 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W18 + .byte N03 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N18 + .byte W24 + .byte N03 + .byte W12 + .byte N12 + .byte W12 + .byte N03 + .byte W12 + .byte N12 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W18 + .byte N03 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte N03 , Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte N03 , An2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N18 + .byte W24 + .byte N03 + .byte W12 + .byte N12 + .byte W12 + .byte N03 + .byte W12 + .byte N12 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte An2 + .byte W06 + .byte Dn3 + .byte W06 + .byte N12 , An2 + .byte W18 + .byte N03 , Fs2 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte Gn2 + .byte W12 + .byte N12 , En2 + .byte W12 + .byte N03 , Cn2 + .byte W12 + .byte N12 + .byte W12 + .byte N03 + .byte W12 + .byte N12 + .byte W12 + .byte N03 , En2 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Gn2 + .byte W18 + .byte N03 , En2 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte VOICE , 81 + .byte MOD , 0 + .byte PAN , c_v+0 + .byte VOL , 68*mus_rg_vs_gym_mvl/mxv + .byte N06 , Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-63 + .byte N12 , Fn1 + .byte W06 + .byte MOD , 16 + .byte W18 + .byte 0 + .byte PAN , c_v+0 + .byte N06 , Dn1 , v127 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn1 + .byte W06 + .byte MOD , 16 + .byte W18 + .byte 0 + .byte PAN , c_v+0 + .byte N06 , Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-63 + .byte N12 , Fn1 + .byte W06 + .byte MOD , 16 + .byte W18 + .byte 0 + .byte PAN , c_v+0 + .byte N06 , Dn1 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , En1 + .byte W12 + .byte Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-63 + .byte N12 , Fn1 + .byte W06 + .byte MOD , 16 + .byte W18 + .byte 0 + .byte PAN , c_v+0 + .byte N06 , Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn1 + .byte W06 + .byte MOD , 16 + .byte W18 + .byte 0 + .byte PAN , c_v+0 + .byte N06 , Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-63 + .byte N12 , Fn1 + .byte W06 + .byte MOD , 16 + .byte W18 + .byte 0 + .byte PAN , c_v+0 + .byte N06 , Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , En1 + .byte W12 + .byte Dn1 + .byte W12 + .byte PAN , c_v-63 + .byte N06 , Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte VOICE , 81 + .byte VOL , 56*mus_rg_vs_gym_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Dn1 , v120 + .byte W12 + .byte N06 + .byte W78 + .byte N03 , Cs1 + .byte W06 +mus_rg_vs_gym_4_000: + .byte N06 , Dn1 , v120 + .byte W12 + .byte N06 + .byte W78 + .byte N03 , Cs1 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_vs_gym_4_000 +mus_rg_vs_gym_4_001: + .byte N06 , Dn1 , v120 + .byte W12 + .byte N06 + .byte W60 + .byte N24 , Cs1 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_vs_gym_4_001 + .byte PATT + .word mus_rg_vs_gym_4_001 + .byte N06 , Dn1 , v120 + .byte W12 + .byte N06 + .byte W60 + .byte N12 , An1 + .byte W12 + .byte Cs1 + .byte W12 + .byte N06 , Dn1 + .byte W12 + .byte N06 + .byte W84 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte N72 , Cn3 + .byte W24 + .byte MOD , 5 + .byte W48 + .byte 0 + .byte N06 , Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte N72 , En3 + .byte W24 + .byte MOD , 5 + .byte W48 + .byte VOICE , 81 + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N06 , Fs5 , v064 + .byte W06 + .byte Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , An4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte An3 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , Dn4 + .byte W06 + .byte An3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , An4 + .byte W06 + .byte Fs4 + .byte W06 + .byte An4 + .byte W06 + .byte Cs5 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , Dn5 + .byte W06 + .byte An4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , An5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte An4 + .byte W06 + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte N06 , Cn1 , v120 + .byte W12 + .byte N06 + .byte W12 + .byte N72 , Gn2 + .byte W24 + .byte MOD , 5 + .byte W48 + .byte 0 + .byte N48 , Cn2 + .byte W15 + .byte MOD , 8 + .byte W32 + .byte W01 + .byte 0 + .byte N48 , Gn1 + .byte W15 + .byte MOD , 8 + .byte W32 + .byte W01 + .byte 0 + .byte N24 , Dn1 + .byte W36 + .byte N03 , Cs1 + .byte W06 + .byte N03 + .byte W06 + .byte N09 , Dn1 + .byte W12 + .byte N06 + .byte W24 + .byte N12 , Cs1 + .byte W12 + .byte Dn1 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte Cs1 + .byte W06 + .byte Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte Cn2 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , Dn1 + .byte W12 + .byte Gn1 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N12 , Ds1 + .byte W12 + .byte N06 , Dn1 + .byte W18 + .byte Cn2 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N06 , Ds1 + .byte W06 + .byte Dn1 + .byte W12 + .byte N12 + .byte W24 + .byte An1 + .byte W12 + .byte Dn1 + .byte W15 + .byte N06 , An1 + .byte W09 + .byte Dn1 + .byte W24 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs1 + .byte W06 + .byte En1 + .byte W06 + .byte N12 , Cn1 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Fn1 + .byte W06 + .byte N12 , Dn1 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte Cs2 + .byte W06 + .byte N12 , Dn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte Cs2 + .byte W06 + .byte N12 , Dn2 + .byte W12 + .byte N03 , As1 + .byte W03 + .byte Gn1 + .byte W03 + .byte Fn1 + .byte W03 + .byte Ds1 + .byte W03 + .byte N12 , Dn1 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N03 , Cn2 + .byte W03 + .byte Fn1 + .byte W03 + .byte N12 , Dn1 + .byte W12 + .byte N03 , Fs1 + .byte W03 + .byte An1 + .byte W03 + .byte Dn2 + .byte W03 + .byte En2 + .byte W03 + .byte N12 , Fs2 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte Cs2 + .byte W06 + .byte N12 , Dn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte An1 + .byte W12 + .byte Dn2 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte An1 + .byte W06 + .byte Dn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte An1 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte En1 + .byte W12 + .byte GOTO + .word mus_rg_vs_gym_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_vs_gym_5: + .byte KEYSH , mus_rg_vs_gym_key+0 + .byte VOICE , 17 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 77*mus_rg_vs_gym_mvl/mxv + .byte W72 + .byte N06 , Dn3 , v127 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 +mus_rg_vs_gym_5_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 62 + .byte PAN , c_v+0 + .byte VOL , 62*mus_rg_vs_gym_mvl/mxv + .byte N06 , Fn2 , v120 + .byte W12 + .byte Fn2 , v127 + .byte W12 + .byte PAN , c_v-48 + .byte N09 , An2 + .byte W24 + .byte PAN , c_v+0 + .byte N06 , Fn2 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+48 + .byte N09 , As2 + .byte W24 + .byte PAN , c_v+0 + .byte N06 , Fn2 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-48 + .byte N12 , An2 + .byte W24 + .byte PAN , c_v+0 + .byte N06 , Fn2 + .byte W12 + .byte PAN , c_v+48 + .byte N09 , Gn2 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte Gn2 , v120 + .byte W06 + .byte Fn2 , v127 + .byte W06 + .byte Fn2 , v120 + .byte W06 + .byte PAN , c_v-48 + .byte N12 , An2 , v127 + .byte W24 + .byte PAN , c_v+0 + .byte N06 , Fn2 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+48 + .byte N12 , As2 + .byte W24 + .byte PAN , c_v+0 + .byte N06 , Fn2 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-48 + .byte N12 , An2 + .byte W24 + .byte PAN , c_v+0 + .byte N06 , Fn2 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+48 + .byte N09 , Gn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v-48 + .byte N09 , En2 + .byte W12 + .byte Gn2 + .byte W12 + .byte VOICE , 29 + .byte W96 + .byte W96 + .byte W92 + .byte W01 + .byte BEND , c_v+0 + .byte W03 + .byte PAN , c_v-32 + .byte N03 , An2 , v076 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v-32 + .byte BEND , c_v+63 + .byte N72 + .byte W03 + .byte BEND , c_v+59 + .byte W03 + .byte c_v+53 + .byte W03 + .byte PAN , c_v-25 + .byte BEND , c_v+45 + .byte W03 + .byte c_v+37 + .byte W03 + .byte PAN , c_v-16 + .byte BEND , c_v+27 + .byte W03 + .byte c_v+22 + .byte W03 + .byte c_v+15 + .byte W03 + .byte PAN , c_v+18 + .byte BEND , c_v+9 + .byte W03 + .byte c_v+5 + .byte W03 + .byte PAN , c_v+32 + .byte BEND , c_v+1 + .byte W03 + .byte c_v-5 + .byte W03 + .byte PAN , c_v+47 + .byte BEND , c_v-6 + .byte W03 + .byte c_v-9 + .byte W03 + .byte c_v-22 + .byte W03 + .byte c_v-26 + .byte W03 + .byte VOL , 67*mus_rg_vs_gym_mvl/mxv + .byte BEND , c_v-35 + .byte W03 + .byte c_v-41 + .byte W03 + .byte VOL , 62*mus_rg_vs_gym_mvl/mxv + .byte BEND , c_v-47 + .byte W06 + .byte VOL , 56*mus_rg_vs_gym_mvl/mxv + .byte BEND , c_v-54 + .byte W03 + .byte c_v-59 + .byte W03 + .byte VOL , 49*mus_rg_vs_gym_mvl/mxv + .byte BEND , c_v-63 + .byte W06 + .byte VOL , 72*mus_rg_vs_gym_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 14 + .byte PAN , c_v-33 + .byte BEND , c_v+0 + .byte N24 , Fs4 , v120 + .byte W24 + .byte En4 + .byte W24 + .byte Fs4 + .byte W24 + .byte N12 , Gn4 + .byte W12 + .byte N36 , An4 + .byte W12 + .byte W24 + .byte N24 , Dn5 + .byte W24 + .byte Cs5 + .byte W24 + .byte An4 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v-32 + .byte W48 + .byte c_v+32 + .byte W48 + .byte c_v-32 + .byte VOL , 77*mus_rg_vs_gym_mvl/mxv + .byte N24 , Dn5 + .byte W24 + .byte PAN , c_v+0 + .byte N24 , Dn5 , v044 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , An4 , v120 + .byte W24 + .byte PAN , c_v+0 + .byte N24 , An4 , v044 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Cn5 , v120 + .byte W24 + .byte PAN , c_v+0 + .byte N24 , Cn5 , v044 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Gn4 , v120 + .byte W24 + .byte PAN , c_v+0 + .byte N24 , Gn4 , v044 + .byte W24 + .byte VOL , 72*mus_rg_vs_gym_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_vs_gym_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_vs_gym_6: + .byte KEYSH , mus_rg_vs_gym_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 77*mus_rg_vs_gym_mvl/mxv + .byte W96 + .byte W48 + .byte PAN , c_v-64 + .byte N06 , An2 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , An1 + .byte W06 + .byte Dn1 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Dn2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Dn1 + .byte W06 + .byte Dn2 + .byte W06 + .byte PAN , c_v-62 + .byte N06 + .byte W06 +mus_rg_vs_gym_6_B1: + .byte VOICE , 47 + .byte VOL , 79*mus_rg_vs_gym_mvl/mxv + .byte PAN , c_v-32 + .byte N48 , Dn3 , v112 + .byte W84 + .byte N06 , Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte N48 , Dn3 + .byte W60 + .byte N12 , Ds3 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N24 , Dn3 + .byte W24 + .byte N48 , Dn2 + .byte W60 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte W60 + .byte N24 , Cs3 + .byte W24 + .byte N06 , Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte VOL , 90*mus_rg_vs_gym_mvl/mxv + .byte N24 , Dn3 + .byte W24 + .byte N36 + .byte W36 + .byte N24 + .byte W24 + .byte N06 , Dn1 + .byte W06 + .byte N06 + .byte W06 + .byte N24 , Dn3 + .byte W36 + .byte N12 + .byte W24 + .byte Ds3 + .byte W24 + .byte N06 + .byte W06 + .byte Dn2 + .byte W06 + .byte N24 , Dn3 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Dn2 + .byte W24 + .byte PAN , c_v-32 + .byte N12 , Dn3 + .byte W12 + .byte PAN , c_v+34 + .byte N12 , An2 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Dn3 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v+34 + .byte N06 , Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v-33 + .byte N12 , Dn3 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , An2 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v+32 + .byte N12 , Dn2 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Dn3 + .byte W12 + .byte PAN , c_v+32 + .byte N36 , En2 + .byte W36 + .byte VOICE , 83 + .byte PAN , c_v+0 + .byte VOL , 58*mus_rg_vs_gym_mvl/mxv + .byte N24 , Dn4 , v120 + .byte W12 + .byte MOD , 2 + .byte W12 + .byte 0 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 2 + .byte W12 + .byte 0 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 2 + .byte W12 + .byte 0 + .byte N12 , En4 + .byte W12 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 2 + .byte W12 + .byte 0 + .byte N24 , En4 + .byte W15 + .byte MOD , 2 + .byte W09 + .byte N12 , Dn4 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte N12 , Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte N36 , Gn3 + .byte W12 + .byte MOD , 2 + .byte W24 + .byte N06 , En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte MOD , 0 + .byte N36 , Cn4 + .byte W12 + .byte MOD , 2 + .byte W24 + .byte N06 , Gn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte MOD , 0 + .byte N60 , En4 + .byte W12 + .byte MOD , 2 + .byte W36 + .byte 0 + .byte W12 + .byte N24 , Cn5 + .byte W12 + .byte MOD , 2 + .byte W12 + .byte 0 + .byte N03 , Bn4 + .byte W03 + .byte An4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte VOL , 43*mus_rg_vs_gym_mvl/mxv + .byte N18 , An4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N21 , Gn4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N21 , An4 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N09 , Dn5 + .byte W09 + .byte N03 , En5 + .byte W03 + .byte N24 , Fs5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N12 , An4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N09 , En4 + .byte W09 + .byte N03 , Fn4 + .byte W03 + .byte N12 , Fs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N44 , Dn5 + .byte W12 + .byte MOD , 8 + .byte W32 + .byte W01 + .byte N03 , Cs5 + .byte W03 + .byte MOD , 0 + .byte N36 , Cn5 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte N03 , Bn4 + .byte W03 + .byte As4 + .byte W03 + .byte An4 + .byte W03 + .byte Gs4 + .byte W03 + .byte MOD , 0 + .byte N48 , Gn4 + .byte W12 + .byte MOD , 8 + .byte W36 + .byte 0 + .byte N24 , En5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte N03 , Dn5 + .byte W03 + .byte Cn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte An4 + .byte W03 + .byte MOD , 0 + .byte N03 , Gn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Dn4 + .byte W03 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W24 + .byte N24 , An3 + .byte W24 + .byte As3 + .byte W24 + .byte Gn3 + .byte W24 + .byte An3 + .byte W24 + .byte As3 + .byte W24 + .byte Gn3 + .byte W24 + .byte As3 + .byte W24 + .byte N96 , An3 + .byte W96 + .byte N48 , Dn4 + .byte W48 + .byte BEND , c_v-3 + .byte N48 , Fs4 + .byte W12 + .byte VOL , 34*mus_rg_vs_gym_mvl/mxv + .byte BEND , c_v-4 + .byte W12 + .byte VOL , 21*mus_rg_vs_gym_mvl/mxv + .byte BEND , c_v-6 + .byte W12 + .byte VOL , 10*mus_rg_vs_gym_mvl/mxv + .byte W03 + .byte BEND , c_v-8 + .byte W09 + .byte VOL , 43*mus_rg_vs_gym_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 47 + .byte VOL , 90*mus_rg_vs_gym_mvl/mxv + .byte PAN , c_v+26 + .byte N06 , En3 + .byte W12 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v-32 + .byte N60 , Gn1 + .byte W60 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+26 + .byte N48 + .byte W48 + .byte PAN , c_v-32 + .byte N48 , Gn1 + .byte W48 + .byte PAN , c_v-32 + .byte N06 , Dn2 + .byte W36 + .byte An1 + .byte W06 + .byte N06 + .byte W06 + .byte Dn2 + .byte W12 + .byte N06 + .byte W24 + .byte An1 + .byte W12 + .byte Dn2 + .byte W24 + .byte An1 + .byte W12 + .byte Dn2 + .byte W24 + .byte N06 + .byte W24 + .byte An1 + .byte W12 + .byte Dn2 + .byte W36 + .byte An1 + .byte W06 + .byte N06 + .byte W06 + .byte Dn2 + .byte W12 + .byte N06 + .byte W24 + .byte An1 + .byte W12 + .byte Dn2 + .byte W24 + .byte Dn1 + .byte W12 + .byte Dn2 + .byte W24 + .byte N06 + .byte W24 + .byte An1 + .byte W12 + .byte VOICE , 83 + .byte VOL , 56*mus_rg_vs_gym_mvl/mxv + .byte PAN , c_v+0 + .byte N72 , An4 + .byte W72 + .byte N06 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N32 , En4 + .byte W32 + .byte W01 + .byte N03 , Ds4 + .byte W03 + .byte N24 , Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte N12 , Gn4 + .byte W12 + .byte N48 , An4 + .byte W48 + .byte N12 , Gn4 + .byte W12 + .byte N24 , An4 + .byte W24 + .byte N12 , Fs4 + .byte W12 + .byte An4 + .byte W12 + .byte N06 , As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte N24 , Cn5 + .byte W36 + .byte N36 , Gn4 + .byte W36 + .byte GOTO + .word mus_rg_vs_gym_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_vs_gym_7: + .byte KEYSH , mus_rg_vs_gym_key+0 + .byte VOICE , 88 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 26*mus_rg_vs_gym_mvl/mxv + .byte BEND , c_v+2 + .byte N06 , Gs5 , v127 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte En5 + .byte W06 + .byte Fn5 + .byte W06 + .byte En5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Dn5 + .byte W24 + .byte W12 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 +mus_rg_vs_gym_7_B1: + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 89 + .byte VOL , 56*mus_rg_vs_gym_mvl/mxv + .byte BEND , c_v+1 + .byte N03 , Dn2 , v120 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Fn2 + .byte W06 + .byte MOD , 12 + .byte W06 + .byte 0 + .byte W12 + .byte N03 , Dn2 , v127 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Gn2 + .byte W06 + .byte MOD , 12 + .byte W06 + .byte 0 + .byte W12 + .byte N03 , Dn2 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Fn2 + .byte W06 + .byte MOD , 12 + .byte W06 + .byte 0 + .byte W12 + .byte N03 , Dn2 + .byte W12 + .byte N12 , En2 + .byte W06 + .byte MOD , 12 + .byte W06 + .byte 0 + .byte N03 , Dn2 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Fn2 + .byte W06 + .byte MOD , 12 + .byte W06 + .byte 0 + .byte W12 + .byte N03 , Dn2 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Gn2 + .byte W06 + .byte MOD , 12 + .byte W06 + .byte 0 + .byte W12 + .byte N03 , Dn2 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Fn2 + .byte W06 + .byte MOD , 12 + .byte W06 + .byte 0 + .byte W12 + .byte N03 , Dn2 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , En2 + .byte W06 + .byte MOD , 12 + .byte W06 + .byte 0 + .byte N12 , Dn2 + .byte W06 + .byte MOD , 12 + .byte W06 + .byte 0 + .byte N12 , Cn2 + .byte W06 + .byte MOD , 12 + .byte W06 + .byte 0 + .byte N12 , En2 + .byte W06 + .byte MOD , 12 + .byte W06 + .byte 0 + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 88 + .byte W24 + .byte N72 , Cn4 , v064 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte N48 , Gn4 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , En4 + .byte W21 + .byte Cn4 + .byte W24 + .byte W03 + .byte TIE , Fs4 + .byte W24 + .byte MOD , 7 + .byte W72 + .byte W48 + .byte BEND , c_v-3 + .byte W12 + .byte c_v-4 + .byte W12 + .byte c_v-6 + .byte W15 + .byte c_v-8 + .byte W09 + .byte EOT + .byte VOICE , 88 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N48 + .byte W48 + .byte Dn4 + .byte W48 + .byte En4 + .byte W48 + .byte Cn4 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_vs_gym_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_vs_gym_8: + .byte KEYSH , mus_rg_vs_gym_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 77*mus_rg_vs_gym_mvl/mxv + .byte W96 + .byte W96 +mus_rg_vs_gym_8_B1: + .byte N06 , Cs1 , v120 + .byte N48 , Cs2 + .byte W24 + .byte N06 , Cn1 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Cn1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 , v120 + .byte N48 , Bn2 + .byte W24 + .byte N06 , Cn1 + .byte W24 + .byte N06 + .byte W12 + .byte N36 , Gn2 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte En1 , v120 + .byte N24 , An2 + .byte W24 + .byte N06 , Fn1 + .byte N24 , Cs2 + .byte W24 + .byte N06 , Cn1 + .byte W24 + .byte N06 + .byte W12 + .byte Cn1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte En1 + .byte N24 , Gn2 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte En1 , v120 + .byte N48 , An2 + .byte W24 + .byte N06 , Cn1 + .byte W24 + .byte N06 + .byte W03 + .byte VOL , 89*mus_rg_vs_gym_mvl/mxv + .byte W21 + .byte N06 + .byte N06 , Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N06 , Gn1 + .byte W06 + .byte Cn1 , v080 + .byte N06 , Fn1 , v120 + .byte W06 + .byte Cn1 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W18 + .byte Cn1 , v080 + .byte W06 + .byte En1 , v120 + .byte W12 + .byte Cs1 + .byte N06 , An2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte N06 , Cs2 + .byte W12 + .byte Cn2 + .byte W06 + .byte N06 + .byte W12 + .byte Cn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N06 + .byte W06 + .byte Ds1 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 + .byte W12 + .byte N06 + .byte N48 , Cn3 + .byte W12 + .byte N06 , Cn1 + .byte N06 , Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W06 + .byte Cn1 , v080 + .byte W06 + .byte Cn1 , v120 + .byte N48 , Cs2 + .byte W12 + .byte N06 , Cs1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte Cs1 + .byte W12 +mus_rg_vs_gym_8_000: + .byte N06 , Cn1 , v120 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte Cs1 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_gym_8_000 + .byte N06 , Cn1 , v120 + .byte N06 , An4 , v036 + .byte W12 + .byte Cs1 , v120 + .byte N06 , An4 , v036 + .byte W12 + .byte Cn1 , v120 + .byte N06 , An4 , v036 + .byte W06 + .byte Cn1 , v120 + .byte N06 , Gs4 , v036 + .byte W06 + .byte Cs1 , v120 + .byte N06 , An4 , v036 + .byte W12 + .byte Cn1 , v120 + .byte N06 , An4 , v036 + .byte W12 + .byte Cs1 , v120 + .byte N06 , Gs4 , v036 + .byte W06 + .byte Cn1 , v120 + .byte N06 , An4 , v036 + .byte W12 + .byte Cn1 , v120 + .byte N06 , Gs4 , v036 + .byte W06 + .byte Cs1 , v120 + .byte N06 , An4 , v036 + .byte W12 + .byte Cn1 , v120 + .byte N48 , An2 + .byte W12 + .byte N06 , Cs1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte Cs1 + .byte W12 + .byte PATT + .word mus_rg_vs_gym_8_000 + .byte PATT + .word mus_rg_vs_gym_8_000 + .byte N06 , Cn1 , v120 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte N48 , Cn3 + .byte W12 + .byte N06 , Cs1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Dn1 , v100 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W12 + .byte Dn1 , v100 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W12 + .byte Dn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn2 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Dn1 , v100 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , Dn1 , v096 + .byte W06 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte N06 , En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte N06 , En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte N06 , Dn2 + .byte W06 + .byte Cn1 + .byte N06 , En1 + .byte W06 + .byte Cn1 + .byte N06 , An1 + .byte W06 + .byte Cn1 + .byte N06 , Gn1 + .byte W06 + .byte Cn1 + .byte N06 , En1 + .byte W06 + .byte Cn1 + .byte N06 , An1 + .byte W06 + .byte Cn1 + .byte N06 , En1 + .byte W06 + .byte Cn1 + .byte N06 , Gn1 + .byte W06 + .byte En1 + .byte N48 , Cs2 + .byte W12 + .byte N06 , Cn1 + .byte W78 + .byte Cn1 , v084 + .byte W06 +mus_rg_vs_gym_8_001: + .byte N06 , Cn1 , v120 + .byte W12 + .byte N06 + .byte W78 + .byte Cn1 , v084 + .byte W06 + .byte PEND +mus_rg_vs_gym_8_002: + .byte N06 , Cn1 , v120 + .byte W12 + .byte N06 + .byte W60 + .byte Dn1 + .byte N24 , Gn2 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte PEND + .byte En1 + .byte N48 , An2 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Dn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte En1 + .byte N24 , Cs2 + .byte W24 + .byte N06 , En1 + .byte N48 , An2 + .byte W12 + .byte N06 , Cn1 + .byte W78 + .byte Cn1 , v084 + .byte W06 + .byte PATT + .word mus_rg_vs_gym_8_001 + .byte PATT + .word mus_rg_vs_gym_8_002 + .byte N06 , Cn1 , v120 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W24 + .byte En1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte En1 + .byte N06 , Cs2 + .byte W48 + .byte N03 , Dn2 + .byte W03 + .byte Cn2 + .byte W03 + .byte N03 + .byte W03 + .byte Gn1 + .byte W03 + .byte N03 + .byte W03 + .byte Fn1 + .byte W03 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte N06 , An2 + .byte W24 + .byte N48 , Cn3 + .byte W48 + .byte N06 , Fn2 , v068 + .byte W24 + .byte N06 + .byte W36 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte W96 + .byte Cn1 , v120 + .byte W42 + .byte N03 , Cn1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Cn1 , v120 + .byte W12 + .byte N06 + .byte W36 + .byte N06 + .byte W24 + .byte En1 + .byte W24 + .byte Cn1 + .byte W12 + .byte N06 + .byte W24 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W24 + .byte Cs1 + .byte W24 + .byte Cn1 + .byte W12 + .byte N06 + .byte W24 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W24 + .byte Cs1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte Fn1 + .byte W24 + .byte N06 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte Fn1 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn2 + .byte W06 + .byte An1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Fn1 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , Cn2 + .byte W03 + .byte An1 + .byte W03 + .byte Gn1 + .byte W03 + .byte Fn1 + .byte W03 + .byte N06 + .byte W06 + .byte GOTO + .word mus_rg_vs_gym_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_vs_gym_9: + .byte KEYSH , mus_rg_vs_gym_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 68*mus_rg_vs_gym_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 +mus_rg_vs_gym_9_B1: +mus_rg_vs_gym_9_000: + .byte N03 , Cn5 , v092 + .byte W12 + .byte Cn5 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte PEND +mus_rg_vs_gym_9_001: + .byte N03 , Cn5 , v092 + .byte W12 + .byte Cn5 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v092 + .byte W48 + .byte PEND + .byte N03 + .byte W12 + .byte Cn5 , v052 + .byte W06 + .byte N03 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte PATT + .word mus_rg_vs_gym_9_001 + .byte PATT + .word mus_rg_vs_gym_9_000 + .byte PATT + .word mus_rg_vs_gym_9_001 + .byte N03 , Cn5 , v092 + .byte W12 + .byte Cn5 , v052 + .byte W06 + .byte N03 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v052 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v052 + .byte W06 + .byte N03 + .byte W06 + .byte PATT + .word mus_rg_vs_gym_9_001 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_vs_gym_9_002: + .byte W24 + .byte N03 , Cn5 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W30 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte PEND + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W18 + .byte PATT + .word mus_rg_vs_gym_9_002 + .byte W96 + .byte N03 , Cn5 , v092 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v092 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v056 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v032 + .byte W12 +mus_rg_vs_gym_9_003: + .byte N03 , Cn5 , v092 + .byte W12 + .byte Cn5 , v028 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_gym_9_003 + .byte W96 +mus_rg_vs_gym_9_004: + .byte N03 , Cn5 , v092 + .byte W12 + .byte Cn5 , v028 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_gym_9_004 + .byte PATT + .word mus_rg_vs_gym_9_004 + .byte N03 , Cn5 , v092 + .byte W12 + .byte Cn5 , v028 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v092 + .byte W24 + .byte N03 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_vs_gym_9_005: + .byte N03 , Cn5 , v096 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W18 + .byte Cn5 , v068 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W18 + .byte Cn5 , v056 + .byte W06 + .byte Cn5 , v052 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_vs_gym_9_005 + .byte PATT + .word mus_rg_vs_gym_9_005 + .byte PATT + .word mus_rg_vs_gym_9_005 + .byte PATT + .word mus_rg_vs_gym_9_005 + .byte PATT + .word mus_rg_vs_gym_9_005 + .byte GOTO + .word mus_rg_vs_gym_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_rg_vs_gym_10: + .byte KEYSH , mus_rg_vs_gym_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 68*mus_rg_vs_gym_mvl/mxv + .byte W96 + .byte BEND , c_v-64 + .byte N96 , Gn2 , v096 + .byte W06 + .byte BEND , c_v-58 + .byte W06 + .byte c_v-48 + .byte W06 + .byte c_v-41 + .byte W06 + .byte c_v-32 + .byte W06 + .byte c_v-25 + .byte W06 + .byte c_v-16 + .byte W06 + .byte c_v-9 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+6 + .byte W06 + .byte c_v+16 + .byte W06 + .byte c_v+22 + .byte W06 + .byte c_v+32 + .byte W06 + .byte c_v+38 + .byte W06 + .byte c_v+48 + .byte W06 + .byte c_v+56 + .byte W06 +mus_rg_vs_gym_10_B1: + .byte BEND , c_v+63 + .byte W96 + .byte W60 + .byte N36 , Gn5 , v120 + .byte W36 + .byte W24 + .byte N12 + .byte W72 + .byte W60 + .byte N36 + .byte W36 + .byte W96 + .byte W60 + .byte N36 + .byte W36 + .byte W24 + .byte N12 + .byte W72 + .byte W60 + .byte N36 + .byte W36 +mus_rg_vs_gym_10_000: + .byte N09 , Gn5 , v092 + .byte W12 + .byte Gn5 , v064 + .byte W12 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte Gn5 , v120 + .byte W12 + .byte Gn5 , v064 + .byte W12 + .byte Gn5 , v068 + .byte W12 + .byte Gn5 , v064 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_gym_10_000 + .byte PATT + .word mus_rg_vs_gym_10_000 + .byte PATT + .word mus_rg_vs_gym_10_000 + .byte PATT + .word mus_rg_vs_gym_10_000 + .byte PATT + .word mus_rg_vs_gym_10_000 + .byte PATT + .word mus_rg_vs_gym_10_000 + .byte PATT + .word mus_rg_vs_gym_10_000 +mus_rg_vs_gym_10_001: + .byte N09 , Gn5 , v120 + .byte W12 + .byte Gn5 , v092 + .byte W36 + .byte Gn5 , v120 + .byte W12 + .byte Gn5 , v092 + .byte W36 + .byte PEND + .byte Gn5 , v120 + .byte W12 + .byte Gn5 , v092 + .byte W36 + .byte Gn5 , v120 + .byte W36 + .byte N09 + .byte W12 + .byte PATT + .word mus_rg_vs_gym_10_001 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W60 + .byte N12 , Gn5 , v120 + .byte W36 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_vs_gym_10_002: + .byte W24 + .byte N12 , Gn5 , v096 + .byte W48 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_vs_gym_10_002 + .byte PATT + .word mus_rg_vs_gym_10_002 + .byte PATT + .word mus_rg_vs_gym_10_002 + .byte PATT + .word mus_rg_vs_gym_10_002 + .byte PATT + .word mus_rg_vs_gym_10_002 + .byte GOTO + .word mus_rg_vs_gym_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_vs_gym: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_vs_gym_pri @ Priority + .byte mus_rg_vs_gym_rev @ Reverb. + + .word mus_rg_vs_gym_grp + + .word mus_rg_vs_gym_1 + .word mus_rg_vs_gym_2 + .word mus_rg_vs_gym_3 + .word mus_rg_vs_gym_4 + .word mus_rg_vs_gym_5 + .word mus_rg_vs_gym_6 + .word mus_rg_vs_gym_7 + .word mus_rg_vs_gym_8 + .word mus_rg_vs_gym_9 + .word mus_rg_vs_gym_10 + + .end diff --git a/sound/songs/mus_rg_vs_last.s b/sound/songs/mus_rg_vs_last.s new file mode 100644 index 0000000000..a69ea895f0 --- /dev/null +++ b/sound/songs/mus_rg_vs_last.s @@ -0,0 +1,7614 @@ + .include "MPlayDef.s" + + .equ mus_rg_vs_last_grp, voicegroup_86A9EBC + .equ mus_rg_vs_last_pri, 0 + .equ mus_rg_vs_last_rev, reverb_set+50 + .equ mus_rg_vs_last_mvl, 127 + .equ mus_rg_vs_last_key, 0 + .equ mus_rg_vs_last_tbs, 1 + .equ mus_rg_vs_last_exg, 0 + .equ mus_rg_vs_last_cmp, 1 + + .section .rodata + .global mus_rg_vs_last + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_vs_last_1: + .byte KEYSH , mus_rg_vs_last_key+0 + .byte TEMPO , 172*mus_rg_vs_last_tbs/2 + .byte VOICE , 87 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 45*mus_rg_vs_last_mvl/mxv + .byte N06 , Gs3 , v096 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte VOL , 68*mus_rg_vs_last_mvl/mxv + .byte N06 , Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte VOL , 69*mus_rg_vs_last_mvl/mxv + .byte N06 , Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte VOL , 45*mus_rg_vs_last_mvl/mxv + .byte BEND , c_v+2 + .byte N03 , Fs3 + .byte W06 + .byte N42 , Fs3 , v127 + .byte W18 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N03 , Gn3 + .byte W06 + .byte N42 + .byte W18 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N03 , An3 + .byte W06 + .byte N42 + .byte W18 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N03 , Gn3 + .byte W06 + .byte N42 + .byte W18 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte BEND , c_v+0 + .byte N03 , Fs3 + .byte W06 + .byte N42 + .byte W18 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N03 , Gn3 + .byte W06 + .byte N42 + .byte W18 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N03 , An3 + .byte W06 + .byte N42 + .byte W18 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N03 , As3 + .byte W06 + .byte N18 + .byte W18 + .byte MOD , 5 + .byte N24 , Fn3 + .byte W24 +mus_rg_vs_last_1_000: + .byte MOD , 0 + .byte N03 , Fs3 , v127 + .byte W06 + .byte N15 + .byte W18 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N03 , Gn3 + .byte W06 + .byte N15 + .byte W18 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte PEND + .byte 0 + .byte N03 , An3 + .byte W06 + .byte N15 + .byte W18 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N03 , Gn3 + .byte W06 + .byte N15 + .byte W18 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte PATT + .word mus_rg_vs_last_1_000 + .byte MOD , 0 + .byte N03 , An3 , v127 + .byte W06 + .byte N15 + .byte W18 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N03 , As3 + .byte W06 + .byte N15 + .byte W18 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 5 + .byte W12 +mus_rg_vs_last_1_B1: +mus_rg_vs_last_1_001: + .byte MOD , 0 + .byte N24 , Fs3 , v127 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N24 , Cs4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N24 , Cn4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte PEND +mus_rg_vs_last_1_002: + .byte MOD , 0 + .byte N24 , En3 , v127 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N24 , Cs3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N24 , Gs3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte PEND + .byte 0 + .byte N24 , Gn3 + .byte W24 + .byte N18 , Gs3 + .byte W18 + .byte VOL , 68*mus_rg_vs_last_mvl/mxv + .byte N03 , Bn3 , v120 + .byte W03 + .byte Cn4 + .byte W03 + .byte N06 , Cs4 , v127 + .byte W12 + .byte Cn4 + .byte W06 + .byte N03 , Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte N06 , Cs4 + .byte W12 + .byte N06 + .byte W06 + .byte VOL , 45*mus_rg_vs_last_mvl/mxv + .byte N36 , Cs3 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte N36 , En3 + .byte W09 + .byte MOD , 4 + .byte W24 + .byte 0 + .byte W03 + .byte N24 , Gs3 + .byte W24 + .byte PATT + .word mus_rg_vs_last_1_001 + .byte PATT + .word mus_rg_vs_last_1_002 + .byte MOD , 0 + .byte N24 , Gn3 , v127 + .byte W24 + .byte N72 , Gs3 + .byte W12 + .byte MOD , 6 + .byte W60 + .byte 0 + .byte N24 , Cn4 + .byte W24 + .byte N72 , Cs4 + .byte W12 + .byte MOD , 6 + .byte W60 + .byte 0 + .byte BEND , c_v+2 + .byte N15 , Fs3 + .byte W18 + .byte N15 + .byte W18 + .byte N09 + .byte W12 + .byte N06 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cs4 + .byte W06 + .byte BEND , c_v+0 + .byte N03 , Fs3 + .byte W06 + .byte N42 + .byte W18 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N03 + .byte W06 + .byte N42 + .byte W18 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N03 + .byte W06 + .byte N42 + .byte W18 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N03 + .byte W06 + .byte N42 + .byte W18 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N03 + .byte W06 + .byte N18 + .byte W18 + .byte N24 , En3 + .byte W24 + .byte N03 , Fs3 + .byte W06 + .byte N18 + .byte W18 + .byte N24 , Gn3 + .byte W24 + .byte N03 , Fs3 + .byte W06 + .byte N18 + .byte W18 + .byte N24 , En3 + .byte W24 + .byte N03 , Fs3 + .byte W06 + .byte N36 + .byte W42 + .byte BEND , c_v+1 + .byte N12 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte N18 , Bn3 + .byte W06 + .byte W12 + .byte PAN , c_v+32 + .byte BEND , c_v+0 + .byte N06 , Fs3 + .byte W06 + .byte N18 , En3 + .byte W18 + .byte N06 , Fs3 + .byte W06 + .byte N18 , En3 + .byte W18 + .byte N06 , Fs3 + .byte W06 + .byte N18 , En3 + .byte W18 + .byte N06 , Fs3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte N12 , Gn3 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte N18 , Cs4 + .byte W06 + .byte W12 + .byte PAN , c_v+32 + .byte BEND , c_v+0 + .byte N06 , Gn3 + .byte W06 + .byte N18 , Fs3 + .byte W18 + .byte N06 , Gn3 + .byte W06 + .byte N18 , Fs3 + .byte W18 + .byte N06 , Gn3 + .byte W06 + .byte N18 , Fs3 + .byte W18 + .byte N06 , Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte N12 , Gs3 + .byte W12 + .byte N06 , Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte N06 , Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte N06 , Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte N06 , Ds4 + .byte W06 + .byte N18 , Dn4 + .byte W06 + .byte W12 + .byte PAN , c_v+32 + .byte BEND , c_v+0 + .byte N06 , Gs3 + .byte W06 + .byte N18 , Gn3 + .byte W18 + .byte N06 , Gs3 + .byte W06 + .byte N18 , Gn3 + .byte W18 + .byte N06 , Gs3 + .byte W06 + .byte N18 , Gn3 + .byte W18 + .byte N06 , Gs3 + .byte W06 + .byte N18 , Gn3 + .byte W06 + .byte W12 + .byte N06 , Gs3 + .byte W06 + .byte N18 , Gn3 + .byte W18 + .byte N06 , Gs3 + .byte W06 + .byte N18 , Gn3 + .byte W18 + .byte N06 , Gs3 + .byte W06 + .byte N18 , Gn3 + .byte W18 + .byte PAN , c_v+0 + .byte N12 , Dn4 + .byte W12 + .byte N96 , Ds4 + .byte W09 + .byte MOD , 5 + .byte W84 + .byte W03 + .byte 0 + .byte N96 , Cn3 + .byte W09 + .byte MOD , 5 + .byte W84 + .byte W03 + .byte 0 + .byte N90 , Bn3 + .byte W09 + .byte MOD , 5 + .byte W80 + .byte W01 + .byte 0 + .byte N06 , As3 , v120 + .byte W06 + .byte MOD , 0 + .byte N24 , An3 , v127 + .byte W24 + .byte N66 , Cs4 + .byte W12 + .byte MOD , 6 + .byte W54 + .byte N06 , Cn4 , v120 + .byte W06 + .byte MOD , 0 + .byte N96 , Bn3 , v127 + .byte W12 + .byte MOD , 4 + .byte W84 + .byte 0 + .byte N84 , Fs3 + .byte W15 + .byte MOD , 4 + .byte W68 + .byte W01 + .byte 0 + .byte N06 , Gs3 , v120 + .byte W06 + .byte Bn3 + .byte W06 + .byte N96 , Cn4 , v127 + .byte W12 + .byte MOD , 5 + .byte W84 + .byte 0 + .byte N48 , Gn4 + .byte W12 + .byte MOD , 4 + .byte W36 + .byte 0 + .byte N36 , Cn4 + .byte W36 + .byte N06 , Cs4 , v120 + .byte W06 + .byte Dn4 + .byte W06 + .byte N24 , Ds4 , v127 + .byte W24 + .byte N72 , Fs4 + .byte W12 + .byte MOD , 5 + .byte W60 + .byte 0 + .byte N24 , Bn3 + .byte W24 + .byte N72 , Ds4 + .byte W12 + .byte MOD , 5 + .byte W60 + .byte 0 + .byte N12 , An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cs4 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte N03 , Cn4 , v120 + .byte W03 + .byte Bn3 + .byte W03 + .byte N12 , An3 , v127 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte N03 , Bn3 + .byte W03 + .byte Cs4 , v120 + .byte W03 + .byte N06 , Bn3 + .byte W06 + .byte N12 , En4 , v127 + .byte W12 + .byte Cs4 + .byte W12 + .byte PATT + .word mus_rg_vs_last_1_001 + .byte PATT + .word mus_rg_vs_last_1_002 + .byte MOD , 0 + .byte N24 , Gn3 , v127 + .byte W24 + .byte N72 , Gs3 + .byte W12 + .byte MOD , 4 + .byte W60 + .byte 0 + .byte N48 , Bn3 + .byte W12 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte N48 , Gs3 + .byte W12 + .byte MOD , 5 + .byte W36 + .byte PATT + .word mus_rg_vs_last_1_001 + .byte PATT + .word mus_rg_vs_last_1_002 + .byte MOD , 0 + .byte N24 , Gn3 , v127 + .byte W24 + .byte N72 , Gs3 + .byte W12 + .byte MOD , 5 + .byte W60 + .byte 0 + .byte N48 , Bn3 + .byte W12 + .byte MOD , 4 + .byte W36 + .byte 0 + .byte N48 , Dn4 + .byte W12 + .byte MOD , 4 + .byte W36 + .byte 0 + .byte N96 , Cs4 + .byte W24 + .byte MOD , 5 + .byte W72 + .byte 0 + .byte N96 , Fs4 + .byte W24 + .byte MOD , 5 + .byte W72 + .byte GOTO + .word mus_rg_vs_last_1_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_vs_last_2: + .byte KEYSH , mus_rg_vs_last_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-62 + .byte VOL , 45*mus_rg_vs_last_mvl/mxv + .byte BEND , c_v+1 + .byte N24 , Fs2 , v088 + .byte W24 + .byte PAN , c_v+63 + .byte N24 , Fs3 + .byte W24 + .byte Gn2 , v092 + .byte W24 + .byte PAN , c_v-62 + .byte N24 , Fn3 + .byte W24 + .byte An2 , v104 + .byte W24 + .byte PAN , c_v+63 + .byte N24 , En3 + .byte W24 + .byte As2 , v120 + .byte W24 + .byte PAN , c_v-62 + .byte N24 , Cs3 + .byte W24 + .byte N06 , Fs2 , v127 + .byte W06 + .byte N06 + .byte W42 + .byte PAN , c_v+63 + .byte N06 + .byte W06 + .byte N06 + .byte W42 + .byte PAN , c_v-62 + .byte N06 + .byte W06 + .byte N06 + .byte W42 + .byte PAN , c_v+63 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N24 , Fn2 + .byte W24 + .byte PAN , c_v-62 + .byte N06 , Fs2 , v120 + .byte W06 + .byte Fs2 , v127 + .byte W18 + .byte PAN , c_v+63 + .byte N24 , Cs3 , v120 + .byte W24 + .byte N06 , Fs2 + .byte W06 + .byte Fs2 , v127 + .byte W18 + .byte PAN , c_v-62 + .byte N24 , Dn3 , v120 + .byte W24 + .byte N06 , Fs2 + .byte W06 + .byte Fs2 , v127 + .byte W18 + .byte PAN , c_v+63 + .byte N24 , En3 , v120 + .byte W24 + .byte N06 , Fs2 + .byte W06 + .byte Fs2 , v127 + .byte W06 + .byte PAN , c_v-62 + .byte N24 , Dn3 , v120 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte N06 , Fs2 , v127 + .byte W06 + .byte N06 + .byte W18 + .byte PAN , c_v+63 + .byte N24 , Cs3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Fs2 + .byte W06 + .byte N06 + .byte W18 + .byte PAN , c_v-62 + .byte N24 , Dn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Fs2 + .byte W06 + .byte N06 + .byte W18 + .byte PAN , c_v+63 + .byte N24 , En3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Fs2 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v-64 + .byte N24 , Dn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , En3 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Fs2 + .byte W06 + .byte N06 + .byte W18 + .byte PAN , c_v-64 + .byte N24 , Cs3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Fs2 + .byte W06 + .byte N06 + .byte W18 + .byte PAN , c_v+63 + .byte N24 , Dn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Fs2 + .byte W06 + .byte N06 + .byte W18 + .byte PAN , c_v-64 + .byte N24 , En3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Fs2 + .byte W06 + .byte N06 + .byte W18 + .byte PAN , c_v+63 + .byte N06 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte An2 + .byte W06 +mus_rg_vs_last_2_B1: + .byte PAN , c_v-64 + .byte N06 , Fs2 , v127 + .byte W06 + .byte Fs1 + .byte W18 + .byte N24 , Gs2 + .byte W24 + .byte PAN , c_v+63 + .byte N06 , Fn2 + .byte W06 + .byte Fn1 + .byte W18 + .byte N24 , Gn2 + .byte W24 + .byte PAN , c_v-64 + .byte N06 , En2 + .byte W06 + .byte En1 + .byte W18 + .byte N24 , Fs2 + .byte W24 + .byte PAN , c_v+63 + .byte N06 , Gs2 + .byte W06 + .byte Gs1 + .byte W18 + .byte N24 , Gs2 + .byte W24 + .byte PAN , c_v-64 + .byte N24 , Gn2 + .byte W24 + .byte N12 , Cs2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gs2 + .byte W12 + .byte N06 , Fs2 + .byte W06 + .byte Fs1 + .byte W18 + .byte N24 , Gs2 + .byte W24 + .byte PAN , c_v-64 + .byte N06 , Fn2 + .byte W06 + .byte Fn1 + .byte W18 + .byte N24 , Gn2 + .byte W24 + .byte PAN , c_v+63 + .byte N06 , En2 + .byte W06 + .byte En1 + .byte W18 + .byte N24 , Fs2 + .byte W24 + .byte PAN , c_v-64 + .byte N06 , Gs2 + .byte W06 + .byte Gs1 + .byte W18 + .byte N24 , Gs2 + .byte W24 + .byte PAN , c_v+63 + .byte N24 , Gn2 + .byte W24 + .byte N12 , Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gs2 + .byte W12 + .byte N06 , Fs2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gs2 + .byte W06 + .byte N12 , Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte W06 + .byte N06 , Cs3 + .byte W06 + .byte N12 , Fs2 + .byte W12 + .byte PAN , c_v-64 + .byte W06 + .byte N06 , Cs3 + .byte W06 + .byte N12 , Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte W06 + .byte N06 , Cs3 + .byte W06 +mus_rg_vs_last_2_000: + .byte N12 , Fs2 , v127 + .byte W12 + .byte PAN , c_v-64 + .byte W06 + .byte N06 , Cs3 + .byte W06 + .byte N12 , Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte W06 + .byte N06 , Cs3 + .byte W06 + .byte N12 , Fs2 + .byte W12 + .byte PAN , c_v-64 + .byte W06 + .byte N06 , Cs3 + .byte W06 + .byte N12 , Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte W06 + .byte N06 , Cs3 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_vs_last_2_000 + .byte N06 , Fs2 , v127 + .byte W06 + .byte N06 + .byte W18 + .byte N24 , En2 + .byte W24 + .byte PAN , c_v-64 + .byte N06 , Fs2 + .byte W06 + .byte N06 + .byte W18 + .byte N24 , Gn2 + .byte W24 + .byte PAN , c_v+63 + .byte N06 , Fs2 + .byte W06 + .byte N06 + .byte W18 + .byte N24 , En2 + .byte W24 + .byte PAN , c_v-64 + .byte N06 , Fs2 + .byte W06 + .byte N06 + .byte W06 + .byte N36 , Cs2 + .byte W36 + .byte N06 , Fs2 + .byte W06 + .byte N06 + .byte W18 + .byte N24 , En2 + .byte W24 + .byte PAN , c_v+63 + .byte N06 , Fs2 + .byte W06 + .byte N06 + .byte W18 + .byte N24 , Gn2 + .byte W24 + .byte PAN , c_v-64 + .byte N06 , Fs2 + .byte W06 + .byte N06 + .byte W18 + .byte N24 , En2 + .byte W24 + .byte PAN , c_v+63 + .byte N06 , Fs2 + .byte W06 + .byte N06 + .byte W06 + .byte N36 , Cs2 + .byte W36 + .byte PAN , c_v-64 + .byte N12 , Fs2 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fs2 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Fs2 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fs2 + .byte W12 + .byte En3 + .byte W12 + .byte Fs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Fs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Ds3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Gn2 + .byte W12 + .byte Fn3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gn2 + .byte W12 + .byte Fn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn2 + .byte W12 + .byte Fn3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gn2 + .byte W12 + .byte Fn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gs2 + .byte W12 + .byte Fs3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gs2 + .byte W12 + .byte Fs3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gs2 + .byte W12 + .byte Fs3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gs2 + .byte W12 + .byte Fs3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gs2 + .byte W12 + .byte Ds3 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gs2 + .byte W12 + .byte Ds3 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gs2 + .byte W12 + .byte Ds3 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gs2 + .byte W12 + .byte Ds3 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Fs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gs2 + .byte W18 + .byte N06 , Ds3 + .byte W06 + .byte Gs2 + .byte W06 + .byte Gn2 , v120 + .byte W06 + .byte PAN , c_v+62 + .byte N06 , Dn3 , v127 + .byte W06 + .byte Ds3 , v120 + .byte W06 + .byte N12 , Gs2 , v127 + .byte W18 + .byte N06 , Ds3 + .byte W06 + .byte N12 , Gs2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Ds3 + .byte W12 + .byte Gs2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Ds3 + .byte W12 + .byte Gs2 + .byte W18 + .byte N06 , Ds3 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Ds3 + .byte W12 + .byte An2 + .byte W12 + .byte En3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+62 + .byte N12 , En3 + .byte W12 + .byte An2 + .byte W12 + .byte En3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En3 + .byte W12 + .byte An2 + .byte W12 + .byte En3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En3 + .byte W12 + .byte An2 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v-64 + .byte N06 , An2 + .byte W06 + .byte Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte As2 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , Bn2 + .byte W12 + .byte Fs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Fs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Fs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Fs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Fs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Fs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fs3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N06 , En3 + .byte W06 + .byte N03 , Fs3 , v120 + .byte W03 + .byte En3 + .byte W03 + .byte N12 , Ds3 , v127 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , As2 + .byte W12 + .byte An2 + .byte W12 + .byte En3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En3 + .byte W12 + .byte An2 + .byte W12 + .byte En3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En3 + .byte W12 + .byte An2 + .byte W12 + .byte En3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En3 + .byte W12 + .byte An2 + .byte W12 + .byte En3 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte Gs2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W06 + .byte As2 + .byte W06 + .byte N12 , Fs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cs3 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn3 + .byte W12 + .byte En2 + .byte W12 + .byte Bn2 + .byte W12 + .byte En2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Bn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cs3 + .byte W12 + .byte Gs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cs3 + .byte W12 + .byte Gs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cs3 + .byte W12 + .byte Gs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cs3 + .byte W12 + .byte Fs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cs3 + .byte W12 + .byte Fs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Fs2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cs3 + .byte W12 + .byte Fs2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W12 + .byte Gs2 + .byte W12 + .byte En3 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En3 + .byte W12 + .byte Gs2 + .byte W12 + .byte En3 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En3 + .byte W12 + .byte Gs2 + .byte W12 + .byte En3 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En3 + .byte W12 + .byte Gs2 + .byte W12 + .byte En3 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Fs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte N24 , Fs3 + .byte W24 + .byte PAN , c_v+63 + .byte N12 , Fs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte PAN , c_v-64 + .byte N12 , Fs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte PAN , c_v+63 + .byte N12 , Fs2 + .byte W12 + .byte Bn2 + .byte W12 + .byte N24 , Cs3 + .byte W24 + .byte GOTO + .word mus_rg_vs_last_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_vs_last_3: + .byte KEYSH , mus_rg_vs_last_key+0 + .byte VOICE , 53 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+32 + .byte VOL , 70*mus_rg_vs_last_mvl/mxv + .byte N24 , Fs2 , v096 + .byte W06 + .byte MOD , 10 + .byte W18 + .byte PAN , c_v-32 + .byte MOD , 0 + .byte N24 , Fs3 , v064 + .byte W06 + .byte MOD , 10 + .byte W18 + .byte 0 + .byte N24 , Gn2 , v108 + .byte W06 + .byte MOD , 10 + .byte W18 + .byte PAN , c_v+32 + .byte MOD , 0 + .byte N24 , Fn3 , v080 + .byte W06 + .byte MOD , 10 + .byte W18 + .byte 0 + .byte N24 , An2 , v116 + .byte W06 + .byte MOD , 10 + .byte W18 + .byte PAN , c_v-32 + .byte MOD , 0 + .byte N24 , En3 , v096 + .byte W06 + .byte MOD , 10 + .byte W18 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte MOD , 0 + .byte N24 , As2 , v127 + .byte W06 + .byte MOD , 10 + .byte W18 + .byte PAN , c_v+32 + .byte MOD , 0 + .byte N24 , Cs3 , v120 + .byte W06 + .byte MOD , 10 + .byte W18 + .byte VOL , 70*mus_rg_vs_last_mvl/mxv + .byte MOD , 0 + .byte N48 , Cs2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 55*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte PAN , c_v-32 + .byte VOL , 70*mus_rg_vs_last_mvl/mxv + .byte N48 , Dn2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 55*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte PAN , c_v+32 + .byte VOL , 70*mus_rg_vs_last_mvl/mxv + .byte N48 , En2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 55*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte PAN , c_v-32 + .byte VOL , 70*mus_rg_vs_last_mvl/mxv + .byte N48 , Dn2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 55*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte PAN , c_v+0 + .byte W96 + .byte VOICE , 31 + .byte W24 + .byte N24 , Fs4 , v052 + .byte W72 + .byte VOICE , 53 + .byte PAN , c_v+31 + .byte VOL , 75*mus_rg_vs_last_mvl/mxv + .byte N24 , Fs2 , v056 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Fs3 + .byte W24 + .byte PAN , c_v+31 + .byte VOL , 77*mus_rg_vs_last_mvl/mxv + .byte N24 , Fs2 , v072 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Gn3 + .byte W24 + .byte PAN , c_v+31 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte N24 , Fs2 , v076 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , An3 + .byte W24 + .byte PAN , c_v+31 + .byte VOL , 81*mus_rg_vs_last_mvl/mxv + .byte N24 , Fs2 , v092 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Gn3 + .byte W24 + .byte PAN , c_v+31 + .byte VOL , 76*mus_rg_vs_last_mvl/mxv + .byte N24 , Fs2 , v060 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Fs3 + .byte W24 + .byte PAN , c_v+31 + .byte VOL , 77*mus_rg_vs_last_mvl/mxv + .byte N24 , Fs2 , v072 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Gn3 , v076 + .byte W24 + .byte PAN , c_v+31 + .byte VOL , 77*mus_rg_vs_last_mvl/mxv + .byte N24 , Fs2 , v092 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , An3 , v096 + .byte W24 + .byte PAN , c_v+31 + .byte N24 , Fs2 , v120 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , As3 + .byte W24 +mus_rg_vs_last_3_B1: + .byte VOICE , 53 + .byte PAN , c_v-32 + .byte VOL , 71*mus_rg_vs_last_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N48 , Fs3 , v072 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 64*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 60*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 49*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte PAN , c_v+32 + .byte MOD , 0 + .byte VOL , 71*mus_rg_vs_last_mvl/mxv + .byte N48 , Fn3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 64*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 60*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 49*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte PAN , c_v-32 + .byte MOD , 0 + .byte VOL , 71*mus_rg_vs_last_mvl/mxv + .byte N48 , En3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 64*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 60*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 49*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte PAN , c_v+32 + .byte MOD , 0 + .byte VOL , 71*mus_rg_vs_last_mvl/mxv + .byte N48 , Cs3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 64*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 60*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 49*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte PAN , c_v-32 + .byte MOD , 0 + .byte VOL , 71*mus_rg_vs_last_mvl/mxv + .byte N24 , Cn3 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte PAN , c_v+31 + .byte MOD , 0 + .byte VOL , 71*mus_rg_vs_last_mvl/mxv + .byte N72 , Cs3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 64*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 60*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 49*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W24 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte VOL , 70*mus_rg_vs_last_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 56 + .byte VOL , 83*mus_rg_vs_last_mvl/mxv + .byte PAN , c_v-16 + .byte N03 , Cs4 , v116 + .byte W06 + .byte N18 + .byte W18 + .byte VOICE , 60 + .byte PAN , c_v+16 + .byte N24 , Bn2 , v096 + .byte W24 + .byte VOICE , 56 + .byte N03 , Cs4 , v116 + .byte W06 + .byte N18 + .byte W18 + .byte VOICE , 60 + .byte PAN , c_v-17 + .byte N24 , Dn3 , v096 + .byte W24 + .byte VOICE , 56 + .byte N03 , Cs4 , v116 + .byte W06 + .byte N18 + .byte W18 + .byte VOICE , 60 + .byte PAN , c_v+16 + .byte N24 , Bn2 , v096 + .byte W24 + .byte VOICE , 56 + .byte N03 , Cs4 , v112 + .byte W06 + .byte N06 , Cs4 , v108 + .byte W06 + .byte VOICE , 60 + .byte PAN , c_v-16 + .byte N24 , Gs2 , v120 + .byte W24 + .byte N12 , Bn2 , v127 + .byte W12 + .byte PAN , c_v-1 + .byte W96 + .byte VOICE , 31 + .byte VOL , 72*mus_rg_vs_last_mvl/mxv + .byte W48 + .byte PAN , c_v-16 + .byte W12 + .byte N36 , Cs3 , v084 + .byte W36 + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte c_v-16 + .byte W24 + .byte N21 , Dn3 , v048 + .byte W36 + .byte N21 + .byte W36 + .byte W96 + .byte W60 + .byte Ds3 + .byte W36 + .byte W60 + .byte N24 + .byte W36 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte VOICE , 31 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_vs_last_3_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_vs_last_4: + .byte KEYSH , mus_rg_vs_last_key+0 + .byte VOICE , 81 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 56*mus_rg_vs_last_mvl/mxv + .byte PAN , c_v+0 + .byte N48 , Fs1 , v120 + .byte W48 + .byte VOL , 59*mus_rg_vs_last_mvl/mxv + .byte N48 , Gn1 + .byte W48 + .byte VOL , 68*mus_rg_vs_last_mvl/mxv + .byte N48 , Gs1 + .byte W48 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte N48 , An1 + .byte W48 + .byte VOL , 56*mus_rg_vs_last_mvl/mxv + .byte N03 , Fs1 + .byte W06 + .byte N36 + .byte W42 + .byte N03 + .byte W06 + .byte N42 + .byte W42 + .byte N03 + .byte W06 + .byte N36 + .byte W42 + .byte N03 + .byte W06 + .byte N36 + .byte W42 + .byte VOL , 68*mus_rg_vs_last_mvl/mxv + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Gs1 + .byte W06 + .byte An1 + .byte W12 + .byte N03 , Fs1 + .byte W06 + .byte N12 , Ds1 + .byte W12 + .byte En1 + .byte W12 + .byte N03 , Fs1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte N12 , An1 + .byte W12 + .byte N03 , Fs1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Cs1 + .byte W06 + .byte N03 , Fs1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn1 + .byte W12 + .byte N12 , Ds1 + .byte W12 + .byte En1 + .byte W12 + .byte N06 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte N12 , En2 + .byte W12 + .byte N06 , Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Gs1 + .byte W06 + .byte An1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Fs2 + .byte W12 + .byte N06 , Cs2 + .byte W06 + .byte An1 + .byte W06 + .byte N03 , Fs1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Gn2 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte N03 , Fs1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , An2 + .byte W12 + .byte N06 , Fs2 + .byte W06 + .byte Cs2 + .byte W06 + .byte N03 , Fs1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , As2 + .byte W12 + .byte N06 , Fs2 + .byte W06 + .byte Cs2 + .byte W06 +mus_rg_vs_last_4_B1: + .byte N06 , Fs2 , v120 + .byte W06 + .byte N18 , Fs1 + .byte W42 + .byte N06 , Fn2 + .byte W06 + .byte N18 , Fn1 + .byte W42 + .byte N06 , En2 + .byte W06 + .byte N18 , En1 + .byte W42 + .byte N06 , Gs2 + .byte W06 + .byte Gs1 + .byte W06 + .byte Cs2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Bn2 + .byte W06 + .byte N12 , Gs2 + .byte W12 + .byte Cn2 + .byte W24 + .byte Gs1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N09 , Cs1 + .byte W12 + .byte N06 + .byte W12 + .byte N09 + .byte W12 + .byte N06 + .byte W12 + .byte N09 + .byte W12 + .byte N06 + .byte W06 + .byte Gs1 + .byte W06 + .byte N09 , Cs2 + .byte W12 + .byte N12 , En2 + .byte W12 + .byte N06 , Fs2 + .byte W06 + .byte Fs1 + .byte W18 + .byte N12 , Cs2 + .byte W12 + .byte Gs1 + .byte W12 + .byte N06 , Fn2 + .byte W06 + .byte Fn1 + .byte W18 + .byte N12 , Cn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte N06 , En2 + .byte W06 + .byte En1 + .byte W18 + .byte N12 , Bn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte N06 , Gs2 + .byte W06 + .byte Gs1 + .byte W12 + .byte N06 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte N09 , Cs1 + .byte W18 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte N06 , Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte N03 , Fs1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W18 + .byte N03 + .byte W06 + .byte N12 + .byte W18 + .byte N03 + .byte W06 + .byte N12 + .byte W18 + .byte N03 + .byte W06 + .byte N12 + .byte W18 + .byte N03 , Fs2 + .byte W06 + .byte N12 , Cs2 + .byte W18 + .byte N03 , An1 + .byte W06 + .byte N12 , Fs1 + .byte W18 + .byte N03 , Cs2 + .byte W06 + .byte N12 , Fs2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Fs1 + .byte W18 + .byte N03 , Cn2 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte N12 , An1 + .byte W18 + .byte N03 , Gn1 + .byte W06 + .byte N06 , Fs1 + .byte W06 + .byte En1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Gs1 + .byte W06 + .byte N03 , Cs2 + .byte W06 + .byte N18 + .byte W18 + .byte N24 , En1 + .byte W24 + .byte N03 , Cs2 + .byte W06 + .byte N18 + .byte W18 + .byte N24 , Gn1 + .byte W24 + .byte N03 , Cs2 + .byte W06 + .byte N18 + .byte W18 + .byte N24 , En1 + .byte W24 + .byte N03 , Fs2 + .byte W06 + .byte N06 + .byte W06 + .byte N36 , Cs1 + .byte W36 + .byte N03 , Fs1 + .byte W06 + .byte N15 + .byte W18 + .byte N03 , Gn1 + .byte W06 + .byte N15 + .byte W18 + .byte N03 , An1 + .byte W06 + .byte N15 + .byte W18 + .byte N03 , Gn1 + .byte W06 + .byte N06 , An1 + .byte W06 + .byte En1 + .byte W06 + .byte Fn1 + .byte W06 + .byte N03 , Fs1 + .byte W06 + .byte N15 + .byte W18 + .byte N03 , En1 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cs1 + .byte W12 + .byte N03 , Fs1 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Cs1 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N06 , Fs1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Fs1 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An1 + .byte W06 + .byte N03 , As1 + .byte W06 + .byte N06 , Cs2 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N06 , Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Fs1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cs2 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Bn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte Bn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs1 + .byte W06 + .byte N03 , Gn1 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Bn1 + .byte W06 + .byte N06 , Dn2 + .byte W06 + .byte N03 , As1 + .byte W06 + .byte N06 , Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte N12 , Dn2 + .byte W12 + .byte N06 , Bn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Dn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Dn2 + .byte W06 + .byte Gs1 + .byte W06 + .byte N03 + .byte W06 + .byte Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte Ds2 + .byte W06 + .byte N03 + .byte W06 + .byte Gs2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds2 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Gs1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte N03 , Gs1 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N06 , Ds2 + .byte W06 + .byte N03 , Bn1 + .byte W06 + .byte N06 , Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte N03 , Ds2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Gn1 + .byte W06 + .byte N03 , Gs1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Dn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N15 , Gs1 + .byte W18 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte N15 , Cn2 + .byte W18 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , Ds2 + .byte W12 + .byte N24 , Gs2 + .byte W24 + .byte N06 , Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte N15 , Cn2 + .byte W18 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , Bn1 + .byte W06 + .byte As1 + .byte W06 + .byte N15 , An1 + .byte W18 + .byte N03 + .byte W06 + .byte N09 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte N21 , An1 + .byte W24 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte Gs1 + .byte W12 + .byte N15 , Fs1 + .byte W18 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N06 , En1 + .byte W06 + .byte Fs1 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte N24 , En2 + .byte W24 + .byte N06 , Ds2 + .byte W06 + .byte Cs2 + .byte W06 + .byte N15 , Bn1 + .byte W18 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N24 , Fs1 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N15 , Ds1 + .byte W18 + .byte N03 , Dn1 + .byte W06 + .byte N24 , Cs1 + .byte W24 + .byte N12 , Ds1 + .byte W12 + .byte N24 , Cs1 + .byte W24 + .byte N12 , Ds1 + .byte W12 + .byte N36 , En1 + .byte W36 + .byte N03 , Gn1 + .byte W03 + .byte As1 + .byte W03 + .byte Cn2 + .byte W03 + .byte Dn2 + .byte W03 + .byte N12 , En2 + .byte W12 + .byte N24 , Gn2 + .byte W24 + .byte N12 , Cn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N12 , Gn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte N24 , Gn1 + .byte W24 + .byte N12 , Cn1 + .byte W12 + .byte N15 , Ds1 + .byte W18 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte Dn1 + .byte W12 + .byte N15 , Ds1 + .byte W18 + .byte N06 , Ds2 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte N06 , Bn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte N15 , Fs1 + .byte W18 + .byte N03 , Fn1 + .byte W06 + .byte N18 , Fs1 + .byte W18 + .byte N06 , Fn1 + .byte W06 + .byte N15 , Ds1 + .byte W18 + .byte N03 + .byte W06 + .byte N12 , An1 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Cs1 + .byte W12 + .byte N09 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Cs2 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , En2 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Ds2 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Cs2 + .byte W12 + .byte N12 + .byte W12 + .byte N48 , An1 + .byte W48 + .byte Gs1 + .byte W48 + .byte Gn1 + .byte W48 + .byte N06 , Fs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N36 , Fs1 + .byte W36 + .byte N24 , Fn1 + .byte W24 + .byte N60 , Gs1 + .byte W60 + .byte N06 , Gn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte N24 , Cs2 + .byte W24 + .byte Bn1 + .byte W24 + .byte An1 + .byte W24 + .byte Gs1 + .byte W24 + .byte N12 , Fs1 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte En1 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Cs2 + .byte W12 + .byte Bn2 + .byte W12 + .byte N06 , Cs2 + .byte W06 + .byte N03 , Fs1 + .byte W12 + .byte N03 + .byte W06 + .byte N06 , Cs2 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cs2 + .byte W06 + .byte En2 + .byte W06 + .byte N12 , Fs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn1 + .byte W12 + .byte N06 , Cn2 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Bn1 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Gs1 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Fs1 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte N06 , Fs1 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N03 , Fs1 + .byte W06 + .byte N18 + .byte W18 + .byte En2 + .byte W18 + .byte N06 , Fs2 + .byte W06 + .byte N03 , Fs1 + .byte W06 + .byte N18 + .byte W18 + .byte En2 + .byte W18 + .byte N06 , Ds2 + .byte W06 + .byte N03 , Fs1 + .byte W06 + .byte N18 + .byte W18 + .byte Fs2 + .byte W18 + .byte N06 , An2 + .byte W06 + .byte N03 , Fs1 + .byte W06 + .byte N18 + .byte W18 + .byte An2 + .byte W18 + .byte N06 , Gs2 + .byte W06 + .byte GOTO + .word mus_rg_vs_last_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_vs_last_5: + .byte KEYSH , mus_rg_vs_last_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Dn5 , v108 + .byte W06 + .byte As4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte An4 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Dn5 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Gn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+31 + .byte N06 , Dn5 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Dn4 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Fs3 , v120 + .byte N06 , Dn5 , v108 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , As3 , v120 + .byte W06 + .byte Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Ds3 , v127 + .byte W06 + .byte Fs3 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Dn5 + .byte W06 + .byte VOICE , 60 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , Fs4 , v108 + .byte W06 + .byte N36 + .byte W12 + .byte VOL , 85*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte MOD , 5 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 73*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N03 + .byte W06 + .byte N36 + .byte W12 + .byte VOL , 85*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte MOD , 5 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 73*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N03 + .byte W06 + .byte N36 + .byte W12 + .byte VOL , 85*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte MOD , 5 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 73*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N03 + .byte W06 + .byte N30 + .byte W12 + .byte VOL , 85*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte MOD , 5 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 73*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte VOICE , 29 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N03 , Cs3 , v056 + .byte W03 + .byte Dn3 , v068 + .byte W03 + .byte En3 , v076 + .byte W03 + .byte Fn3 , v088 + .byte W03 + .byte VOICE , 29 + .byte MOD , 0 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N03 , Fs3 , v096 + .byte W06 + .byte N18 + .byte W18 + .byte N24 , Fs4 + .byte W06 + .byte VOL , 45*mus_rg_vs_last_mvl/mxv + .byte W18 + .byte VOICE , 29 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N03 , Fs3 + .byte W06 + .byte N18 + .byte W18 + .byte N24 , Fs4 + .byte W06 + .byte VOL , 45*mus_rg_vs_last_mvl/mxv + .byte W18 + .byte VOICE , 29 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N03 , Fs3 + .byte W06 + .byte N18 + .byte W18 + .byte N24 , Fs4 + .byte W06 + .byte VOL , 44*mus_rg_vs_last_mvl/mxv + .byte W18 + .byte VOICE , 29 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N03 , Fs3 + .byte W06 + .byte N18 + .byte W18 + .byte N24 , Fn3 + .byte W06 + .byte VOL , 45*mus_rg_vs_last_mvl/mxv + .byte W18 + .byte VOICE , 4 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte BEND , c_v+1 + .byte N03 , Fs4 , v044 + .byte W06 + .byte N06 + .byte W06 + .byte An4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N03 , Fs4 + .byte W06 + .byte N06 + .byte W06 + .byte An4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 +mus_rg_vs_last_5_000: + .byte N03 , Fs4 , v044 + .byte W06 + .byte N06 + .byte W06 + .byte An4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N03 , Fs4 + .byte W06 + .byte N06 + .byte W06 + .byte An4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_vs_last_5_000 + .byte N03 , Fs4 , v044 + .byte W06 + .byte N06 + .byte W06 + .byte An4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte VOICE , 62 + .byte N03 , Fs3 , v116 + .byte W06 + .byte N18 + .byte W18 + .byte BEND , c_v+0 + .byte N06 , As2 , v124 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 +mus_rg_vs_last_5_B1: + .byte VOICE , 60 + .byte MOD , 0 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte BEND , c_v+0 + .byte N48 , Fs4 , v100 + .byte W12 + .byte MOD , 6 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte 74*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 70*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 63*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N48 , Fn4 + .byte W12 + .byte MOD , 6 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte 74*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 70*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 63*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N48 , En4 + .byte W12 + .byte MOD , 6 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte 74*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 70*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 63*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N48 , Cs4 + .byte W12 + .byte MOD , 6 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte 74*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 70*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 63*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N24 , Cn4 + .byte W24 + .byte N72 , Cs4 + .byte W12 + .byte MOD , 6 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte 74*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 70*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 63*mus_rg_vs_last_mvl/mxv + .byte W30 + .byte VOICE , 62 + .byte MOD , 0 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N12 , Gn3 , v096 + .byte W12 + .byte N18 , Gs3 + .byte W18 + .byte N06 , Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , Cs4 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N06 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte VOICE , 29 + .byte N32 , Fs3 + .byte W12 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N03 , Fs3 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N36 , Fn3 , v096 + .byte W12 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte MOD , 5 + .byte W15 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte W03 + .byte N03 , Fn3 , v080 + .byte W06 + .byte MOD , 0 + .byte N24 , En3 , v092 + .byte W12 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte MOD , 5 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N03 , En3 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N32 , Cs3 , v096 + .byte W12 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N03 , Cs3 , v080 + .byte W06 + .byte N03 + .byte W06 + .byte MOD , 0 + .byte N24 , Cn3 , v096 + .byte W24 + .byte Cs3 + .byte W24 + .byte N03 , Dn3 , v080 + .byte W03 + .byte N06 , Cs3 + .byte W09 + .byte N09 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte VOICE , 60 + .byte N24 , Fn4 , v096 + .byte W24 + .byte N72 , Fs4 + .byte W12 + .byte MOD , 7 + .byte W06 + .byte VOL , 85*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 79*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 73*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 63*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 51*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 34*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte VOICE , 48 + .byte MOD , 0 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N36 , Cs4 , v104 + .byte W36 + .byte N06 , Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N03 , En4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte VOICE , 56 + .byte PAN , c_v-32 + .byte N03 , Fs4 , v116 + .byte W06 + .byte N18 + .byte W18 + .byte VOICE , 60 + .byte PAN , c_v+32 + .byte N24 , En3 , v072 + .byte W24 + .byte VOICE , 56 + .byte N03 , Fs4 , v116 + .byte W06 + .byte N18 + .byte W18 + .byte VOICE , 60 + .byte PAN , c_v-33 + .byte N24 , Gn3 , v072 + .byte W24 + .byte VOICE , 56 + .byte N03 , Fs4 , v116 + .byte W06 + .byte N18 + .byte W18 + .byte VOICE , 60 + .byte PAN , c_v+32 + .byte N24 , En3 , v072 + .byte W24 + .byte VOICE , 56 + .byte N03 , Fs4 , v112 + .byte W06 + .byte N06 , Fs4 , v108 + .byte W06 + .byte VOICE , 60 + .byte PAN , c_v-33 + .byte N24 , Cs3 , v076 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte VOICE , 29 + .byte PAN , c_v+12 + .byte N06 , Fs3 , v108 + .byte W06 + .byte Fs3 , v080 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Fs3 , v080 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 , v112 + .byte W06 + .byte Fs3 , v080 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 , v112 + .byte W06 + .byte En3 , v080 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 , v096 + .byte W06 + .byte Fs3 , v076 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte En3 , v096 + .byte W06 + .byte Ds3 , v076 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 , v096 + .byte W06 + .byte N03 , Fs3 , v076 + .byte W03 + .byte VOICE , 62 + .byte W03 + .byte N24 , Cs3 , v120 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte VOICE , 29 + .byte PAN , c_v-10 + .byte N24 , Fs4 , v064 + .byte W24 + .byte N12 , Gn4 + .byte W12 + .byte N72 , Gs4 + .byte W36 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 34*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 22*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte VOICE , 62 + .byte PAN , c_v-32 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N03 , Cs3 , v100 + .byte W06 + .byte N02 + .byte W06 + .byte N21 + .byte W24 + .byte N09 + .byte W12 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte PAN , c_v-11 + .byte N24 , Gn4 , v112 + .byte W24 + .byte N12 , Gs4 + .byte W12 + .byte N60 , An4 + .byte W24 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 34*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 22*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 90*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte PAN , c_v-32 + .byte N03 , Dn3 , v100 + .byte W06 + .byte N02 + .byte W06 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte VOICE , 30 + .byte PAN , c_v-11 + .byte N24 , Gs4 , v076 + .byte W24 + .byte N12 , An4 + .byte W12 + .byte N72 , As4 + .byte W36 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 34*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 22*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte VOICE , 62 + .byte PAN , c_v-32 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N03 , Ds3 , v092 + .byte W06 + .byte N02 + .byte W06 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte N21 + .byte W24 + .byte N21 + .byte W12 + .byte W12 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte N24 + .byte W24 + .byte VOICE , 56 + .byte PAN , c_v+0 + .byte N06 , Fs4 , v127 + .byte W06 + .byte Gn4 + .byte W06 + .byte PAN , c_v+26 + .byte N96 , Gs4 + .byte W42 + .byte VOL , 85*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 79*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 75*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 62*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 34*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte N96 , Gs3 , v096 + .byte W03 + .byte VOL , 40*mus_rg_vs_last_mvl/mxv + .byte W03 + .byte 51*mus_rg_vs_last_mvl/mxv + .byte W03 + .byte 59*mus_rg_vs_last_mvl/mxv + .byte W03 + .byte 67*mus_rg_vs_last_mvl/mxv + .byte W03 + .byte 74*mus_rg_vs_last_mvl/mxv + .byte W03 + .byte 80*mus_rg_vs_last_mvl/mxv + .byte W03 + .byte 88*mus_rg_vs_last_mvl/mxv + .byte W72 + .byte W03 + .byte N24 , Ds4 + .byte W24 + .byte TIE , En4 + .byte W72 + .byte W96 + .byte EOT + .byte N96 , Fs4 + .byte W96 + .byte Bn3 + .byte W96 + .byte N68 , Gn4 + .byte W68 + .byte W01 + .byte N03 , Gs4 + .byte W03 + .byte N06 , Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N48 , Dn5 + .byte W48 + .byte Cn5 + .byte W48 + .byte TIE , Bn4 + .byte W96 + .byte W96 + .byte EOT + .byte VOICE , 60 + .byte N12 , En4 , v088 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Gs4 + .byte W12 + .byte En4 + .byte W12 + .byte VOICE , 29 + .byte N12 , En4 , v064 + .byte W12 + .byte N06 , Ds4 + .byte W06 + .byte N03 , En4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N12 , Cs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Gs4 + .byte W12 + .byte En4 + .byte W12 + .byte PAN , c_v+3 + .byte N12 , Fs3 + .byte W12 + .byte VOICE , 30 + .byte PAN , c_v+0 + .byte N06 , Fs2 , v088 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W12 + .byte VOICE , 29 + .byte PAN , c_v+3 + .byte N12 , Fn3 , v064 + .byte W12 + .byte VOICE , 30 + .byte PAN , c_v+0 + .byte N06 , Fn2 , v088 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W12 + .byte VOICE , 29 + .byte PAN , c_v+3 + .byte N12 , En3 , v064 + .byte W12 + .byte VOICE , 30 + .byte PAN , c_v+0 + .byte N06 , En2 , v088 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W12 + .byte VOICE , 29 + .byte PAN , c_v+2 + .byte N12 , Cs3 , v064 + .byte W12 + .byte VOICE , 30 + .byte PAN , c_v+0 + .byte N09 , Cs2 , v092 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte VOICE , 30 + .byte N12 , Cn4 , v080 + .byte W12 + .byte Cs3 + .byte W12 + .byte N48 , Cs4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 55*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 34*mus_rg_vs_last_mvl/mxv + .byte N03 + .byte W06 + .byte VOL , 56*mus_rg_vs_last_mvl/mxv + .byte N03 + .byte W06 + .byte VOL , 68*mus_rg_vs_last_mvl/mxv + .byte N06 , Cn4 + .byte W06 + .byte VOL , 78*mus_rg_vs_last_mvl/mxv + .byte N06 , Cs4 + .byte W06 + .byte VOICE , 60 + .byte MOD , 0 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N48 , En4 , v096 + .byte W12 + .byte MOD , 3 + .byte W12 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N48 , Dn4 + .byte W12 + .byte MOD , 3 + .byte W12 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte VOICE , 30 + .byte MOD , 0 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N48 , Fs3 + .byte W24 + .byte VOL , 67*mus_rg_vs_last_mvl/mxv + .byte W24 + .byte 90*mus_rg_vs_last_mvl/mxv + .byte N48 , Fn3 + .byte W24 + .byte VOL , 68*mus_rg_vs_last_mvl/mxv + .byte W24 + .byte 90*mus_rg_vs_last_mvl/mxv + .byte N48 , En3 + .byte W24 + .byte VOL , 67*mus_rg_vs_last_mvl/mxv + .byte W24 + .byte 90*mus_rg_vs_last_mvl/mxv + .byte N48 , Cs3 + .byte W24 + .byte VOL , 68*mus_rg_vs_last_mvl/mxv + .byte W24 + .byte 90*mus_rg_vs_last_mvl/mxv + .byte N24 , Cn3 + .byte W24 + .byte N72 , Cs3 + .byte W24 + .byte VOL , 67*mus_rg_vs_last_mvl/mxv + .byte W48 + .byte 90*mus_rg_vs_last_mvl/mxv + .byte N48 , En3 + .byte W24 + .byte VOL , 67*mus_rg_vs_last_mvl/mxv + .byte W24 + .byte 90*mus_rg_vs_last_mvl/mxv + .byte N48 , Gn3 + .byte W24 + .byte VOL , 68*mus_rg_vs_last_mvl/mxv + .byte W24 + .byte VOICE , 60 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N96 , Fs3 , v088 + .byte W36 + .byte MOD , 4 + .byte W12 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte 44*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte 90*mus_rg_vs_last_mvl/mxv + .byte MOD , 0 + .byte N24 , Cn4 + .byte W24 + .byte N72 , Cs4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte GOTO + .word mus_rg_vs_last_5_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_vs_last_6: + .byte KEYSH , mus_rg_vs_last_key+0 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 45*mus_rg_vs_last_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N06 , Dn5 , v096 + .byte W06 + .byte As4 + .byte W06 + .byte PAN , c_v-8 + .byte N06 , Cs5 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v+7 + .byte N06 , Bn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , An4 + .byte W06 + .byte PAN , c_v-33 + .byte N06 , Dn5 + .byte W06 + .byte PAN , c_v+16 + .byte BEND , c_v+1 + .byte N06 , Gn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v-24 + .byte N06 , Fs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte PAN , c_v+23 + .byte N06 , Fn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , En4 + .byte W06 + .byte Dn5 + .byte W06 + .byte PAN , c_v+32 + .byte BEND , c_v+1 + .byte N06 , Dn4 + .byte W06 + .byte As3 + .byte W06 + .byte PAN , c_v-41 + .byte N06 , Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte PAN , c_v+41 + .byte N06 , Cn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Bn3 + .byte W06 + .byte Dn5 + .byte W06 + .byte PAN , c_v+48 + .byte BEND , c_v+2 + .byte N06 , As3 , v108 + .byte W06 + .byte Fn3 + .byte W06 + .byte PAN , c_v-56 + .byte N06 , An3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v+56 + .byte N06 , Gn3 , v120 + .byte W06 + .byte Ds3 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Fs3 + .byte W06 + .byte Dn5 + .byte W06 + .byte VOICE , 47 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte PAN , c_v-32 + .byte BEND , c_v+0 + .byte N06 , Fs2 , v096 + .byte W06 + .byte N36 , Fs1 , v127 + .byte W42 + .byte PAN , c_v+32 + .byte N06 , Fs2 + .byte W06 + .byte N42 , Fs1 + .byte W42 + .byte PAN , c_v-32 + .byte N06 , Fs2 + .byte W06 + .byte N36 , Fs1 + .byte W42 + .byte PAN , c_v+32 + .byte N06 , Fs2 + .byte W06 + .byte N42 , Fs1 + .byte W42 + .byte VOICE , 62 + .byte PAN , c_v-32 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte N06 , Fs2 , v108 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+10 + .byte N24 , Cs3 , v096 + .byte W24 + .byte PAN , c_v+32 + .byte N06 , Fs2 , v108 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v-9 + .byte N24 , Dn3 , v096 + .byte W24 + .byte PAN , c_v-32 + .byte N06 , Fs2 , v108 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+7 + .byte N24 , En3 , v096 + .byte W24 + .byte PAN , c_v+32 + .byte N06 , Fs2 , v108 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v-10 + .byte N12 , Dn3 , v096 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte BEND , c_v+2 + .byte W48 +mus_rg_vs_last_6_B1: + .byte VOICE , 47 + .byte PAN , c_v+32 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Fs2 , v120 + .byte W06 + .byte N18 , Fs1 + .byte W18 + .byte N24 , Gs2 + .byte W24 + .byte PAN , c_v-32 + .byte N06 , Fn2 + .byte W06 + .byte N18 , Fn1 + .byte W18 + .byte Gn2 + .byte W18 + .byte N03 , Gs1 , v076 + .byte W03 + .byte N03 + .byte W03 + .byte PAN , c_v+32 + .byte N06 , En2 , v120 + .byte W06 + .byte N18 , En1 + .byte W18 + .byte N24 , Fs2 + .byte W24 + .byte PAN , c_v-32 + .byte N06 , Gs2 + .byte W06 + .byte N18 , Gs1 + .byte W18 + .byte N24 , Gs2 + .byte W24 + .byte PAN , c_v+32 + .byte N12 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v-32 + .byte W12 + .byte N24 , Cs2 + .byte W24 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte W96 + .byte VOICE , 62 + .byte VOL , 83*mus_rg_vs_last_mvl/mxv + .byte PAN , c_v-22 + .byte N05 , Cs3 , v108 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte PAN , c_v+20 + .byte N12 , Cn3 + .byte W12 + .byte MOD , 8 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N05 + .byte W06 + .byte N02 + .byte W06 + .byte MOD , 0 + .byte N05 , Bn2 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte PAN , c_v-25 + .byte N24 , Gs2 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte N05 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte N02 + .byte W06 + .byte MOD , 0 + .byte N24 , Gn2 + .byte W24 + .byte Gs2 + .byte W24 + .byte N03 , An2 + .byte W03 + .byte N06 , Gs2 + .byte W09 + .byte N09 + .byte W12 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte VOICE , 48 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte PAN , c_v-32 + .byte N24 , Cn3 , v072 + .byte W24 + .byte N72 , Cs3 + .byte W24 + .byte VOL , 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 61*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 51*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 38*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 34*mus_rg_vs_last_mvl/mxv + .byte W04 + .byte 26*mus_rg_vs_last_mvl/mxv + .byte W08 + .byte W96 + .byte W96 + .byte VOICE , 47 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N03 , Fs2 , v120 + .byte W06 + .byte N18 + .byte W18 + .byte N24 , En1 + .byte W24 + .byte PAN , c_v-32 + .byte N03 , Fs2 + .byte W06 + .byte N18 + .byte W18 + .byte N24 , Gn1 + .byte W24 + .byte PAN , c_v+32 + .byte N03 , Fs2 + .byte W06 + .byte N18 + .byte W18 + .byte N24 , En1 + .byte W24 + .byte PAN , c_v-32 + .byte N03 , Fs2 + .byte W06 + .byte N06 + .byte W06 + .byte N36 , Cs1 + .byte W36 + .byte VOICE , 62 + .byte N06 , Fs2 , v084 + .byte W06 + .byte Fs2 , v064 + .byte W06 + .byte En2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 , v084 + .byte W06 + .byte Fs2 , v064 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fs2 , v084 + .byte W06 + .byte Fs2 , v064 + .byte W06 + .byte Gs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fs2 , v084 + .byte W06 + .byte En2 , v064 + .byte W06 + .byte Dn2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fs2 , v084 + .byte W06 + .byte Fs2 , v064 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte En2 , v084 + .byte W06 + .byte Ds2 , v064 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Fs2 , v084 + .byte W06 + .byte N06 + .byte W06 + .byte N24 , Gs2 , v096 + .byte W24 + .byte N12 , Bn2 , v092 + .byte W12 + .byte VOICE , 24 + .byte PAN , c_v-48 + .byte N12 , Fs4 , v052 + .byte W12 + .byte N06 , Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte PAN , c_v+48 + .byte N12 , Fs4 + .byte W12 + .byte N06 , Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte PAN , c_v-48 + .byte N12 , Fs4 + .byte W12 + .byte N06 , Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte PAN , c_v+48 + .byte N12 , Fs4 + .byte W12 + .byte N06 , Cs5 + .byte W06 + .byte N18 , Bn4 + .byte W06 + .byte W96 + .byte N12 , Gn4 + .byte W12 + .byte N06 , Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte PAN , c_v-48 + .byte N12 , Gn4 + .byte W12 + .byte N06 , Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte PAN , c_v+48 + .byte N12 , Gn4 + .byte W12 + .byte N06 , Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte PAN , c_v-48 + .byte N12 , Gn4 + .byte W12 + .byte N06 , Dn5 + .byte W06 + .byte N18 , Cs5 + .byte W06 + .byte W96 + .byte PAN , c_v-48 + .byte N12 , Gs4 + .byte W12 + .byte N06 , Ds5 + .byte W06 + .byte Dn5 + .byte W06 + .byte PAN , c_v+48 + .byte N12 , Gs4 + .byte W12 + .byte N06 , Ds5 + .byte W06 + .byte Dn5 + .byte W06 + .byte PAN , c_v-48 + .byte N12 , Gs4 + .byte W12 + .byte N06 , Ds5 + .byte W06 + .byte Dn5 + .byte W06 + .byte PAN , c_v+48 + .byte N12 , Gs4 + .byte W12 + .byte N06 , Ds5 + .byte W06 + .byte N18 , Dn5 + .byte W06 + .byte W96 + .byte W84 + .byte VOICE , 60 + .byte N06 , As3 , v072 + .byte W06 + .byte Bn3 + .byte W06 + .byte PAN , c_v-26 + .byte N72 , Cn4 + .byte W30 + .byte VOL , 84*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 79*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 72*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 61*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 90*mus_rg_vs_last_mvl/mxv + .byte N06 , As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte VOL , 46*mus_rg_vs_last_mvl/mxv + .byte N48 , Ds3 + .byte W03 + .byte VOL , 50*mus_rg_vs_last_mvl/mxv + .byte W03 + .byte 58*mus_rg_vs_last_mvl/mxv + .byte W03 + .byte 67*mus_rg_vs_last_mvl/mxv + .byte W03 + .byte 74*mus_rg_vs_last_mvl/mxv + .byte W03 + .byte 79*mus_rg_vs_last_mvl/mxv + .byte W03 + .byte 90*mus_rg_vs_last_mvl/mxv + .byte W30 + .byte VOICE , 48 + .byte N24 , Cn4 , v064 + .byte W24 + .byte Cs4 + .byte W24 + .byte VOICE , 4 + .byte VOL , 68*mus_rg_vs_last_mvl/mxv + .byte PAN , c_v+48 + .byte N06 , En4 , v040 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte PAN , c_v+40 + .byte N06 , Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , An4 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , Cs5 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , En5 + .byte W06 + .byte Cs5 + .byte W06 + .byte An4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte En3 + .byte W06 + .byte Cs3 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-23 + .byte N06 , An4 + .byte W06 + .byte Cs5 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , Ds5 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , En5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Cs5 + .byte W06 + .byte An4 + .byte W06 + .byte Cs5 + .byte W06 + .byte An4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v+39 + .byte N06 , Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v+23 + .byte N06 , Bn4 + .byte W06 + .byte Ds5 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Fs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v-39 + .byte N06 , Fs4 + .byte W06 + .byte As4 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Bn4 + .byte W06 + .byte Ds5 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , Fn5 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Fs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+40 + .byte N06 , Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte PAN , c_v+24 + .byte N06 , Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , Ds5 + .byte W06 + .byte En5 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Gn5 + .byte W06 + .byte En5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte Cn4 + .byte W06 + .byte PAN , c_v-39 + .byte N06 , En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte PAN , c_v-24 + .byte N06 , Cn5 + .byte W06 + .byte PAN , c_v-15 + .byte N06 , Ds5 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , En5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v+39 + .byte N06 , Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Fn4 + .byte W06 + .byte Fs4 + .byte W03 + .byte PAN , c_v+23 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte As4 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , Bn4 + .byte W06 + .byte Ds5 + .byte W06 + .byte Fn5 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Fs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte Fs4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Fs3 + .byte W06 + .byte VOICE , 48 + .byte PAN , c_v-32 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N12 , An2 , v060 + .byte W12 + .byte Gs2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Gs2 + .byte W12 + .byte An2 + .byte W12 + .byte Gs2 + .byte W12 + .byte Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte VOICE , 29 + .byte N12 , Cs3 , v044 + .byte W12 + .byte N06 , Bn2 + .byte W06 + .byte N03 , Cn3 + .byte W03 + .byte Bn2 + .byte W03 + .byte N12 , An2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte N03 , Bn2 + .byte W03 + .byte Cs3 + .byte W03 + .byte N06 , Bn2 + .byte W06 + .byte N12 , En3 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v+21 + .byte N12 , Cs3 , v064 + .byte W12 + .byte VOICE , 30 + .byte PAN , c_v-32 + .byte N06 , Cs2 , v076 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W12 + .byte VOICE , 29 + .byte PAN , c_v+20 + .byte N12 , Cn3 , v064 + .byte W12 + .byte VOICE , 30 + .byte PAN , c_v-32 + .byte N06 , Cn2 , v080 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W12 + .byte VOICE , 29 + .byte PAN , c_v+20 + .byte N12 , Bn2 , v064 + .byte W12 + .byte VOICE , 30 + .byte PAN , c_v-32 + .byte N06 , Bn1 , v080 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W12 + .byte VOICE , 29 + .byte PAN , c_v+20 + .byte N12 , Gs2 , v064 + .byte W12 + .byte VOICE , 30 + .byte PAN , c_v-32 + .byte N09 , Gs1 , v076 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte VOICE , 30 + .byte N12 , Gn3 , v056 + .byte W12 + .byte Gs2 + .byte W12 + .byte N48 , Gs3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 55*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 34*mus_rg_vs_last_mvl/mxv + .byte N03 + .byte W06 + .byte VOL , 56*mus_rg_vs_last_mvl/mxv + .byte N03 + .byte W06 + .byte VOL , 68*mus_rg_vs_last_mvl/mxv + .byte N06 , Gn3 + .byte W06 + .byte VOL , 78*mus_rg_vs_last_mvl/mxv + .byte N06 , Gs3 + .byte W06 + .byte VOICE , 48 + .byte MOD , 0 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N48 , Bn3 , v068 + .byte W24 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 90*mus_rg_vs_last_mvl/mxv + .byte N48 , Gs3 + .byte W24 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte VOICE , 29 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte PAN , c_v+32 + .byte N12 , Fs2 , v044 + .byte W18 + .byte N03 + .byte W06 + .byte Cs3 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 , Cs2 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Fs2 + .byte W12 + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cs2 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Bn1 + .byte W06 + .byte N03 , Cs2 + .byte W06 + .byte En2 + .byte W06 + .byte N09 , Cs2 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Cs3 + .byte W24 + .byte N03 , Gs1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Gs2 + .byte W24 + .byte N12 , Cs3 + .byte W12 + .byte N03 , Cs2 + .byte W12 + .byte N09 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N12 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte VOICE , 47 + .byte PAN , c_v-48 + .byte N06 , Fs2 , v064 + .byte W06 + .byte N42 , Fs1 + .byte W42 + .byte PAN , c_v+32 + .byte N06 , Fs2 , v092 + .byte W06 + .byte N42 , Fs1 + .byte W42 + .byte PAN , c_v-48 + .byte N06 , Fs2 , v116 + .byte W06 + .byte N42 , Fs1 , v120 + .byte W42 + .byte PAN , c_v+32 + .byte N06 , Fs2 + .byte W06 + .byte N42 , Fs1 , v127 + .byte W42 + .byte GOTO + .word mus_rg_vs_last_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_vs_last_7: + .byte KEYSH , mus_rg_vs_last_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_vs_last_7_000: + .byte PAN , c_v-61 + .byte N03 , Fs4 , v048 + .byte W06 + .byte N06 + .byte W03 + .byte PAN , c_v-32 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Dn5 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Fs5 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Dn5 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , An4 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Gn4 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , Fs4 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , An4 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Dn5 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Fs5 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Dn5 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , An4 + .byte W06 + .byte PAN , c_v+61 + .byte N06 , Gn4 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_vs_last_7_000 + .byte PATT + .word mus_rg_vs_last_7_000 + .byte PAN , c_v-61 + .byte N03 , Fs4 , v048 + .byte W06 + .byte N06 + .byte W03 + .byte PAN , c_v-32 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Dn5 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Fs5 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Dn5 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , An4 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Gn4 + .byte W06 + .byte PAN , c_v-32 + .byte N03 , Fs4 + .byte W06 + .byte N18 + .byte W18 + .byte PAN , c_v+32 + .byte N24 , As3 + .byte W24 +mus_rg_vs_last_7_B1: + .byte PAN , c_v+32 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte W96 + .byte W96 + .byte W24 + .byte PAN , c_v-33 + .byte W18 + .byte VOICE , 56 + .byte N03 , Fs4 , v084 + .byte W03 + .byte Gn4 + .byte W03 + .byte N06 , Gs4 + .byte W06 + .byte Gs4 , v032 + .byte W06 + .byte Gn4 , v084 + .byte W06 + .byte N03 , Gs4 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , Bn4 + .byte W06 + .byte N06 , Gs4 + .byte W06 + .byte Gs4 , v032 + .byte W06 + .byte Gs4 , v084 + .byte W06 + .byte VOICE , 24 + .byte PAN , c_v-32 + .byte N12 , Gn4 , v088 + .byte W12 + .byte N18 , Gs4 + .byte W12 + .byte PAN , c_v+31 + .byte W06 + .byte N06 , Bn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Dn5 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte N06 , Bn4 + .byte W06 + .byte PAN , c_v+31 + .byte N06 , Cs5 + .byte W06 + .byte N06 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cs5 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 47 + .byte W48 + .byte PAN , c_v+37 + .byte N03 , Fs2 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte PAN , c_v-50 + .byte N24 , Fs1 + .byte W24 + .byte VOICE , 24 + .byte PAN , c_v-32 + .byte N15 , Fs4 , v080 + .byte W15 + .byte PAN , c_v+32 + .byte W03 + .byte N15 + .byte W18 + .byte PAN , c_v-32 + .byte N09 + .byte W12 + .byte N06 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Cs5 , v064 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Cs5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Cs5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Cs5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Cs5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Cs5 + .byte W06 + .byte VOICE , 48 + .byte PAN , c_v-32 + .byte N03 , Fs2 + .byte W06 + .byte N18 + .byte W18 + .byte N24 , En1 + .byte W24 + .byte PAN , c_v+32 + .byte N03 , Fs2 + .byte W06 + .byte N18 + .byte W18 + .byte N24 , Gn1 + .byte W24 + .byte PAN , c_v-32 + .byte N03 , Fs2 + .byte W06 + .byte N18 + .byte W18 + .byte N24 , En1 + .byte W24 + .byte PAN , c_v+32 + .byte N03 , Fs2 + .byte W06 + .byte N06 + .byte W06 + .byte N36 , Cs1 + .byte W36 + .byte W96 + .byte W96 + .byte VOICE , 29 + .byte PAN , c_v+10 + .byte N24 , Cs4 , v048 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte N72 , Ds4 + .byte W36 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte VOICE , 62 + .byte VOL , 34*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 22*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 90*mus_rg_vs_last_mvl/mxv + .byte PAN , c_v+32 + .byte N03 , Fs2 , v064 + .byte W06 + .byte N02 + .byte W06 + .byte N21 + .byte W24 + .byte N09 + .byte W12 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte VOICE , 62 + .byte PAN , c_v+10 + .byte N24 , Dn4 , v056 + .byte W24 + .byte N12 , Ds4 + .byte W12 + .byte N60 , En4 + .byte W24 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 34*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 22*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 90*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte VOICE , 62 + .byte PAN , c_v+32 + .byte N03 , Gn2 , v064 + .byte W06 + .byte N02 + .byte W06 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte VOICE , 30 + .byte PAN , c_v+10 + .byte N24 , Ds4 + .byte W24 + .byte N12 , En4 + .byte W12 + .byte N72 , Fn4 + .byte W36 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 34*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 22*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte VOICE , 62 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte PAN , c_v+32 + .byte N03 , Gs2 + .byte W06 + .byte N02 + .byte W06 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte N21 + .byte W24 + .byte N21 + .byte W12 + .byte W12 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N02 + .byte W06 + .byte N24 + .byte W36 + .byte W96 + .byte W96 + .byte VOICE , 14 + .byte PAN , c_v-26 + .byte N48 , En5 , v044 + .byte W60 + .byte N12 , Cs5 + .byte W12 + .byte An5 + .byte W12 + .byte Gs5 + .byte W12 + .byte PAN , c_v+27 + .byte N24 , Fs5 + .byte W24 + .byte Ds5 + .byte W24 + .byte En5 + .byte W24 + .byte Fn5 + .byte W24 + .byte PAN , c_v-26 + .byte N48 , Fs5 + .byte W48 + .byte Ds5 + .byte W48 + .byte PAN , c_v+23 + .byte N48 , As5 + .byte W48 + .byte Bn5 + .byte W48 + .byte PAN , c_v-26 + .byte N24 , Cn6 + .byte W24 + .byte Gn5 + .byte W24 + .byte Bn5 + .byte W24 + .byte Cn6 + .byte W24 + .byte PAN , c_v+26 + .byte N60 , Dn6 + .byte W60 + .byte N12 , An5 + .byte W12 + .byte Bn5 + .byte W12 + .byte Cn6 + .byte W12 + .byte PAN , c_v-27 + .byte N24 , Bn5 + .byte W24 + .byte Fs5 + .byte W24 + .byte An5 + .byte W24 + .byte As5 + .byte W24 + .byte PAN , c_v+24 + .byte N24 , Bn5 + .byte W24 + .byte Fs5 + .byte W24 + .byte Ds6 + .byte W24 + .byte Bn5 + .byte W24 + .byte PAN , c_v-1 + .byte W96 + .byte VOICE , 24 + .byte PAN , c_v+32 + .byte N12 , Cs5 , v048 + .byte W12 + .byte N06 , Bn4 + .byte W06 + .byte N03 , Cn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte N12 , An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cs5 + .byte W12 + .byte N03 , Bn4 + .byte W03 + .byte Cs5 + .byte W03 + .byte N06 , Bn4 + .byte W06 + .byte N12 , En5 + .byte W12 + .byte Cs5 + .byte W12 + .byte VOICE , 29 + .byte PAN , c_v+48 + .byte W12 + .byte N12 , Fs3 , v024 + .byte W12 + .byte N06 , Fs2 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Fn3 + .byte W12 + .byte N06 , Fn2 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , En3 + .byte W12 + .byte N06 , En2 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte N09 , Cs2 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , Cn2 , v052 + .byte W12 + .byte Cs1 + .byte W12 + .byte N48 , Cs2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 55*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W06 + .byte 34*mus_rg_vs_last_mvl/mxv + .byte N03 , Cs2 , v056 + .byte W06 + .byte VOL , 56*mus_rg_vs_last_mvl/mxv + .byte N03 + .byte W06 + .byte VOL , 68*mus_rg_vs_last_mvl/mxv + .byte N06 , Cn2 + .byte W06 + .byte VOL , 78*mus_rg_vs_last_mvl/mxv + .byte N06 , Cs2 + .byte W06 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte MOD , 0 + .byte W96 + .byte VOICE , 29 + .byte PAN , c_v-32 + .byte N12 , Cs2 , v044 + .byte W18 + .byte N03 + .byte W06 + .byte Gs2 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 , Gs1 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Cs2 + .byte W12 + .byte N03 , Ds2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs1 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs1 + .byte W06 + .byte N03 , Gs1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N09 , Gs1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Gs2 + .byte W24 + .byte N03 , Ds1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Ds2 + .byte W24 + .byte N12 , Gs2 + .byte W12 + .byte N03 , Gs1 + .byte W12 + .byte N09 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N12 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte VOICE , 53 + .byte VOL , 90*mus_rg_vs_last_mvl/mxv + .byte N48 , Cs3 , v056 + .byte W12 + .byte MOD , 6 + .byte W36 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v+32 + .byte N48 , Fs3 + .byte W12 + .byte VOL , 68*mus_rg_vs_last_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 56*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte 44*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte 90*mus_rg_vs_last_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v-32 + .byte N24 , Fn3 + .byte W24 + .byte Fs3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 79*mus_rg_vs_last_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v+32 + .byte N48 , Cs4 + .byte W12 + .byte VOL , 68*mus_rg_vs_last_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 56*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte 45*mus_rg_vs_last_mvl/mxv + .byte W12 + .byte GOTO + .word mus_rg_vs_last_7_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_vs_last_8: + .byte KEYSH , mus_rg_vs_last_key+0 + .byte VOICE , 0 + .byte VOL , 75*mus_rg_vs_last_mvl/mxv + .byte N06 , Dn2 , v120 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cn1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte An1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte An1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v124 + .byte W06 + .byte Cn1 , v127 + .byte W06 + .byte N06 + .byte W06 + .byte Cn2 , v120 + .byte W06 + .byte Fn1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cs1 + .byte W06 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N48 , Cs2 + .byte W48 + .byte Bn2 + .byte W48 + .byte En2 + .byte W48 + .byte An2 + .byte W48 + .byte N06 , Cn1 + .byte N48 , Cs2 + .byte W06 + .byte N06 , Dn2 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W18 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte An1 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W18 + .byte Cn1 + .byte W06 + .byte N06 + .byte N24 , Bn2 + .byte W06 + .byte N06 , Fn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte N06 + .byte W06 + .byte Fn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Fn1 + .byte W18 + .byte N06 , Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v088 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v088 + .byte W06 + .byte Dn1 , v120 + .byte W06 + .byte Cn1 , v088 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v084 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v088 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v088 + .byte W06 + .byte Dn1 , v120 + .byte W06 + .byte Cn1 , v088 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v084 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v088 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v088 + .byte W06 + .byte Dn1 , v120 + .byte W06 + .byte Cn1 , v088 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v084 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v088 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v088 + .byte W06 + .byte Dn1 , v120 + .byte W06 + .byte Dn1 , v088 + .byte W06 + .byte Dn1 , v120 + .byte W06 + .byte Dn1 , v084 + .byte W06 +mus_rg_vs_last_8_B1: + .byte W06 + .byte N48 , Cs2 , v120 + .byte W48 + .byte N42 , Bn2 + .byte W42 + .byte W06 + .byte N48 , An2 + .byte W48 + .byte N42 , En2 + .byte W42 + .byte N48 , Cs2 + .byte W96 + .byte N12 , Dn1 + .byte N48 , An2 + .byte W12 + .byte N12 , Fn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte N06 + .byte N03 , Gs4 , v048 + .byte W06 + .byte N06 , Bn1 , v120 + .byte N12 , An4 , v060 + .byte W06 + .byte N06 , Gn1 , v120 + .byte W06 + .byte Fn1 + .byte N03 , Gs4 , v056 + .byte W06 + .byte N06 , An1 , v120 + .byte N03 , Gs4 , v048 + .byte W06 + .byte N06 , Cn1 , v120 + .byte N03 , Gs4 , v048 + .byte W06 + .byte N06 , Fn1 , v120 + .byte N12 , An4 , v060 + .byte W06 + .byte N06 , Cn1 , v120 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte Dn1 + .byte W18 + .byte Cn1 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte Dn2 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W18 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W12 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W12 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte Cn1 + .byte W06 + .byte W96 + .byte W60 + .byte N36 , An2 + .byte W36 + .byte N06 , Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Dn2 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Cn1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte An1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W12 + .byte N12 , Dn1 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte N12 , Dn1 + .byte W18 + .byte N06 , Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cs1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Fn1 + .byte W12 +mus_rg_vs_last_8_000: + .byte N06 , Cn1 , v120 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte PEND + .byte N06 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte N24 , Cs2 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word mus_rg_vs_last_8_000 + .byte N06 , Dn1 , v120 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word mus_rg_vs_last_8_000 + .byte N06 , Cn1 , v120 + .byte W12 + .byte Dn1 + .byte W12 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W12 + .byte Dn1 + .byte W12 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cn2 + .byte W06 + .byte Fn1 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 + .byte W18 + .byte Cn1 + .byte W06 + .byte N06 + .byte W12 + .byte Cs1 , v124 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 + .byte W06 + .byte Cn1 + .byte W18 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 + .byte W18 + .byte Cn1 + .byte W06 + .byte N06 + .byte W12 + .byte Cs1 + .byte W06 + .byte Cn1 + .byte W06 +mus_rg_vs_last_8_001: + .byte N06 , Cn1 , v120 + .byte W18 + .byte Cn1 , v092 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 + .byte W06 + .byte Cn1 , v092 + .byte W06 + .byte N18 , Dn2 , v120 + .byte W18 + .byte N06 , Bn1 , v092 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 + .byte W06 + .byte Cn1 , v092 + .byte W06 + .byte PEND +mus_rg_vs_last_8_002: + .byte N06 , Cn1 , v120 + .byte W18 + .byte Cn1 , v092 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 + .byte W06 + .byte Cn1 , v092 + .byte W06 + .byte N18 , An1 , v120 + .byte W18 + .byte N06 , Fn1 , v092 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 + .byte W06 + .byte Cn1 , v092 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_vs_last_8_001 + .byte PATT + .word mus_rg_vs_last_8_002 + .byte PATT + .word mus_rg_vs_last_8_001 + .byte PATT + .word mus_rg_vs_last_8_002 + .byte PATT + .word mus_rg_vs_last_8_001 + .byte PATT + .word mus_rg_vs_last_8_002 + .byte N06 , Cn1 , v120 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N06 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Dn1 , v100 + .byte W06 + .byte Dn1 , v127 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v048 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte Dn1 , v016 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte Dn1 , v127 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v048 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W36 + .byte N06 + .byte W12 + .byte Dn1 , v127 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v048 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte Dn1 , v112 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v124 + .byte W06 + .byte Dn1 , v064 + .byte W06 + .byte Dn1 , v048 + .byte W06 + .byte Dn1 , v032 + .byte W06 + .byte Fn1 , v120 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte En1 + .byte W12 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N03 , Dn2 + .byte W03 + .byte N03 + .byte W09 + .byte N12 , Fn1 + .byte W12 + .byte N03 , Bn1 + .byte W03 + .byte N03 + .byte W09 + .byte N12 , Fn1 + .byte W12 + .byte N03 , An1 + .byte W03 + .byte N03 + .byte W09 + .byte N12 , Fn1 + .byte W12 + .byte N03 , Gn1 + .byte W03 + .byte N03 + .byte W09 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N15 , Dn1 + .byte W18 + .byte N06 , Cn1 + .byte W06 + .byte N48 , An2 + .byte W48 + .byte Cs2 + .byte W48 + .byte Bn2 + .byte W48 + .byte En2 + .byte W48 + .byte GOTO + .word mus_rg_vs_last_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_vs_last_9: + .byte KEYSH , mus_rg_vs_last_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 51*mus_rg_vs_last_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , Cn5 , v120 + .byte W24 + .byte Cn5 , v060 + .byte W24 + .byte Cn5 , v120 + .byte W24 + .byte Cn5 , v060 + .byte W24 + .byte Cn5 , v120 + .byte W24 + .byte Cn5 , v064 + .byte W24 + .byte VOL , 63*mus_rg_vs_last_mvl/mxv + .byte BEND , c_v-64 + .byte N48 , Cn3 , v120 + .byte W03 + .byte BEND , c_v-54 + .byte W03 + .byte c_v-48 + .byte W03 + .byte c_v-39 + .byte W03 + .byte c_v-32 + .byte W03 + .byte c_v-23 + .byte W03 + .byte c_v-16 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v+0 + .byte W03 + .byte c_v+16 + .byte W03 + .byte c_v+32 + .byte W03 + .byte c_v+39 + .byte W03 + .byte c_v+48 + .byte W03 + .byte c_v+56 + .byte W03 + .byte c_v+63 + .byte W06 + .byte VOL , 51*mus_rg_vs_last_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , Cn5 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W24 + .byte Cn5 , v120 + .byte W24 + .byte Cn5 , v044 + .byte W15 + .byte Cn5 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W24 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v044 + .byte W24 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v056 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v056 + .byte W06 + .byte Cn5 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v056 + .byte W12 + .byte Cn5 , v088 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v056 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v056 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v056 + .byte W06 + .byte Cn5 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v056 + .byte W12 + .byte Cn5 , v088 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v056 + .byte W06 + .byte Cn5 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v056 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v056 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v056 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v056 + .byte W12 + .byte Cn5 , v088 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte N03 + .byte W12 + .byte Cn5 , v056 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte W96 + .byte W48 + .byte VOL , 68*mus_rg_vs_last_mvl/mxv + .byte BEND , c_v-64 + .byte N48 , Cn3 , v120 + .byte W03 + .byte BEND , c_v-54 + .byte W03 + .byte c_v-48 + .byte W03 + .byte c_v-39 + .byte W03 + .byte c_v-32 + .byte W03 + .byte c_v-23 + .byte W03 + .byte c_v-16 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v+0 + .byte W03 + .byte c_v+16 + .byte W03 + .byte c_v+32 + .byte W03 + .byte c_v+39 + .byte W03 + .byte c_v+48 + .byte W03 + .byte c_v+56 + .byte W03 + .byte c_v+63 + .byte W06 +mus_rg_vs_last_9_B1: + .byte VOL , 50*mus_rg_vs_last_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v056 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v056 + .byte W06 + .byte Cn5 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte Cn5 , v096 + .byte W06 + .byte Cn5 , v120 + .byte W42 + .byte N03 + .byte W12 + .byte Cn5 , v056 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v056 + .byte W06 + .byte Cn5 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte Cn5 , v096 + .byte W06 + .byte Cn5 , v120 + .byte W42 + .byte N03 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v072 + .byte W06 + .byte Cn5 , v036 + .byte W06 + .byte Cn5 , v072 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v116 + .byte W03 + .byte Cn5 , v064 + .byte W03 + .byte Cn5 , v052 + .byte W03 + .byte Cn5 , v064 + .byte W03 + .byte Cn5 , v072 + .byte W06 + .byte Cn5 , v036 + .byte W06 + .byte Cn5 , v072 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v032 + .byte W06 +mus_rg_vs_last_9_000: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v056 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v056 + .byte W06 + .byte Cn5 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v056 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v056 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_last_9_000 + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W24 + .byte N03 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v072 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte N03 + .byte W12 + .byte Cn5 , v048 + .byte W12 +mus_rg_vs_last_9_001: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v056 + .byte W12 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v056 + .byte W06 + .byte Cn5 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v056 + .byte W12 + .byte Cn5 , v088 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_vs_last_9_001 +mus_rg_vs_last_9_002: + .byte N03 , Cn5 , v120 + .byte W24 + .byte Cn5 , v060 + .byte W24 + .byte Cn5 , v120 + .byte W24 + .byte Cn5 , v060 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_vs_last_9_002 + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v060 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v060 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 +mus_rg_vs_last_9_003: + .byte N03 , Cn5 , v120 + .byte W06 + .byte Cn5 , v044 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v044 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v044 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v044 + .byte W18 + .byte PEND + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v044 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v120 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v044 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v112 + .byte W06 + .byte PATT + .word mus_rg_vs_last_9_003 +mus_rg_vs_last_9_004: + .byte N03 , Cn5 , v120 + .byte W06 + .byte Cn5 , v044 + .byte W30 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v120 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v044 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v112 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_vs_last_9_003 + .byte PATT + .word mus_rg_vs_last_9_004 + .byte W24 + .byte N03 , Cn5 , v120 + .byte W06 + .byte Cn5 , v044 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v044 + .byte W30 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v044 + .byte W06 +mus_rg_vs_last_9_005: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v068 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v072 + .byte W12 + .byte Cn5 , v068 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v068 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v072 + .byte W12 + .byte Cn5 , v124 + .byte W06 + .byte N03 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_vs_last_9_005 +mus_rg_vs_last_9_006: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v068 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v072 + .byte W12 + .byte Cn5 , v068 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v068 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v072 + .byte W12 + .byte Cn5 , v068 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_vs_last_9_006 + .byte PATT + .word mus_rg_vs_last_9_006 + .byte PATT + .word mus_rg_vs_last_9_006 + .byte PATT + .word mus_rg_vs_last_9_006 + .byte PATT + .word mus_rg_vs_last_9_006 + .byte PATT + .word mus_rg_vs_last_9_006 + .byte PATT + .word mus_rg_vs_last_9_006 + .byte W96 + .byte W96 +mus_rg_vs_last_9_007: + .byte N03 , Cn5 , v120 + .byte W24 + .byte Cn5 , v060 + .byte W24 + .byte Cn5 , v120 + .byte W24 + .byte Cn5 , v060 + .byte W18 + .byte Cn5 , v120 + .byte W06 + .byte PEND +mus_rg_vs_last_9_008: + .byte N03 , Cn5 , v120 + .byte W24 + .byte Cn5 , v060 + .byte W24 + .byte Cn5 , v120 + .byte W48 + .byte PEND + .byte PATT + .word mus_rg_vs_last_9_007 + .byte N03 , Cn5 , v120 + .byte W24 + .byte Cn5 , v060 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v060 + .byte W06 + .byte Cn5 , v120 + .byte W48 +mus_rg_vs_last_9_009: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v060 + .byte W24 + .byte Cn5 , v120 + .byte W24 + .byte Cn5 , v044 + .byte W15 + .byte Cn5 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND + .byte PATT + .word mus_rg_vs_last_9_009 + .byte PATT + .word mus_rg_vs_last_9_005 + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v068 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v072 + .byte W12 + .byte Cn5 , v068 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v120 + .byte W12 + .byte Cn5 , v068 + .byte W06 + .byte Cn5 , v044 + .byte W06 + .byte Cn5 , v072 + .byte W06 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v124 + .byte W06 + .byte N03 + .byte W06 + .byte PATT + .word mus_rg_vs_last_9_007 + .byte PATT + .word mus_rg_vs_last_9_008 + .byte GOTO + .word mus_rg_vs_last_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_rg_vs_last_10: + .byte KEYSH , mus_rg_vs_last_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 51*mus_rg_vs_last_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N12 , Gn5 , v120 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N12 + .byte W12 + .byte Gn5 , v064 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte Gn5 , v120 + .byte W12 + .byte Gn5 , v064 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte Gn5 , v120 + .byte W12 + .byte Gn5 , v064 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W60 +mus_rg_vs_last_10_B1: + .byte W72 + .byte N24 , Gn5 , v120 + .byte W24 + .byte W72 + .byte N24 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W36 + .byte N12 + .byte W60 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_vs_last_10_000: + .byte W12 + .byte N12 , Gn5 , v120 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte PEND + .byte W24 + .byte N12 + .byte W48 + .byte N12 + .byte W24 + .byte PATT + .word mus_rg_vs_last_10_000 +mus_rg_vs_last_10_001: + .byte W12 + .byte N12 , Gn5 , v092 + .byte W12 + .byte Gn5 , v120 + .byte W48 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_vs_last_10_000 + .byte PATT + .word mus_rg_vs_last_10_001 + .byte N12 , Gn5 , v120 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte N24 + .byte W24 + .byte W96 + .byte W72 + .byte N24 + .byte W24 + .byte W36 + .byte N12 + .byte W60 + .byte W36 + .byte N12 + .byte W60 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte N24 + .byte W24 + .byte GOTO + .word mus_rg_vs_last_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_vs_last: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_vs_last_pri @ Priority + .byte mus_rg_vs_last_rev @ Reverb. + + .word mus_rg_vs_last_grp + + .word mus_rg_vs_last_1 + .word mus_rg_vs_last_2 + .word mus_rg_vs_last_3 + .word mus_rg_vs_last_4 + .word mus_rg_vs_last_5 + .word mus_rg_vs_last_6 + .word mus_rg_vs_last_7 + .word mus_rg_vs_last_8 + .word mus_rg_vs_last_9 + .word mus_rg_vs_last_10 + + .end diff --git a/sound/songs/mus_rg_vs_myu2.s b/sound/songs/mus_rg_vs_myu2.s new file mode 100644 index 0000000000..ff9c3aef72 --- /dev/null +++ b/sound/songs/mus_rg_vs_myu2.s @@ -0,0 +1,3439 @@ + .include "MPlayDef.s" + + .equ mus_rg_vs_myu2_grp, voicegroup_86A98BC + .equ mus_rg_vs_myu2_pri, 0 + .equ mus_rg_vs_myu2_rev, reverb_set+50 + .equ mus_rg_vs_myu2_mvl, 127 + .equ mus_rg_vs_myu2_key, 0 + .equ mus_rg_vs_myu2_tbs, 1 + .equ mus_rg_vs_myu2_exg, 0 + .equ mus_rg_vs_myu2_cmp, 1 + + .section .rodata + .global mus_rg_vs_myu2 + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_vs_myu2_1: + .byte KEYSH , mus_rg_vs_myu2_key+0 + .byte TEMPO , 182*mus_rg_vs_myu2_tbs/2 + .byte VOICE , 87 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_vs_myu2_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte N06 , Ds4 , v080 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte VOICE , 84 + .byte VOL , 79*mus_rg_vs_myu2_mvl/mxv + .byte N06 , As3 + .byte W36 + .byte Gn3 + .byte W36 + .byte Fs3 + .byte W24 + .byte W48 + .byte En3 + .byte W48 +mus_rg_vs_myu2_1_000: + .byte W36 + .byte N06 , Gn3 , v080 + .byte W36 + .byte Fs3 + .byte W24 + .byte PEND + .byte W36 + .byte VOL , 57*mus_rg_vs_myu2_mvl/mxv + .byte N60 , En3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte VOL , 89*mus_rg_vs_myu2_mvl/mxv + .byte W24 + .byte 79*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 0 + .byte N06 , As3 + .byte W36 + .byte Gn3 + .byte W36 + .byte Fs3 + .byte W24 + .byte W48 + .byte En3 + .byte W48 + .byte PATT + .word mus_rg_vs_myu2_1_000 + .byte W36 + .byte N60 , En3 , v080 + .byte W12 + .byte MOD , 7 + .byte W48 +mus_rg_vs_myu2_1_B1: + .byte VOL , 89*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 0 + .byte N06 , En3 , v080 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 +mus_rg_vs_myu2_1_001: + .byte N06 , En3 , v080 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte PEND +mus_rg_vs_myu2_1_002: + .byte N06 , En3 , v080 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte PEND + .byte Cn4 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 +mus_rg_vs_myu2_1_003: + .byte N06 , Fs3 , v080 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte PEND + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte PATT + .word mus_rg_vs_myu2_1_003 + .byte PATT + .word mus_rg_vs_myu2_1_001 + .byte PATT + .word mus_rg_vs_myu2_1_001 + .byte PATT + .word mus_rg_vs_myu2_1_001 + .byte PATT + .word mus_rg_vs_myu2_1_002 + .byte N24 , Fn3 , v080 + .byte W24 + .byte Ds3 + .byte W24 + .byte Fn3 + .byte W24 + .byte Gs3 + .byte W24 + .byte N36 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Fn3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Gs3 + .byte W24 + .byte N72 , Cn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 67*mus_rg_vs_myu2_mvl/mxv + .byte W48 + .byte 90*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 0 + .byte N24 , Cs4 + .byte W24 + .byte N96 , As3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 68*mus_rg_vs_myu2_mvl/mxv + .byte W72 + .byte 90*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 0 + .byte N24 , Fn3 + .byte W24 + .byte Ds3 + .byte W24 + .byte Fn3 + .byte W24 + .byte Gs3 + .byte W24 + .byte N36 , As3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Cn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Dn4 + .byte W24 + .byte VOL , 68*mus_rg_vs_myu2_mvl/mxv + .byte N96 , Ds4 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte VOL , 90*mus_rg_vs_myu2_mvl/mxv + .byte W24 + .byte 68*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 0 + .byte N96 , As4 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte VOL , 90*mus_rg_vs_myu2_mvl/mxv + .byte W24 + .byte 68*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 0 + .byte N72 , Ds3 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte VOL , 90*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 0 + .byte N12 + .byte W24 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W84 + .byte VOL , 68*mus_rg_vs_myu2_mvl/mxv + .byte N72 , En3 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte VOL , 90*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 0 + .byte N12 + .byte W24 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W36 + .byte N48 , En3 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte GOTO + .word mus_rg_vs_myu2_1_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_vs_myu2_2: + .byte KEYSH , mus_rg_vs_myu2_key+0 + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_vs_myu2_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte BEND , c_v+1 + .byte N06 , As4 , v064 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs5 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs5 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs5 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs5 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs5 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs5 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs5 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gs5 + .byte W06 + .byte VOICE , 4 + .byte VOL , 68*mus_rg_vs_myu2_mvl/mxv + .byte N12 , As4 + .byte W36 + .byte As3 , v096 + .byte W36 + .byte N12 + .byte W24 + .byte W48 + .byte N12 + .byte W48 +mus_rg_vs_myu2_2_000: + .byte W36 + .byte N12 , As3 , v096 + .byte W36 + .byte N12 + .byte W24 + .byte PEND + .byte W36 + .byte N60 , An3 + .byte W06 + .byte VOL , 23*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 33*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 41*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 51*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 64*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 72*mus_rg_vs_myu2_mvl/mxv + .byte W24 + .byte 68*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 0 + .byte N12 , As3 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W48 + .byte N12 + .byte W48 + .byte PATT + .word mus_rg_vs_myu2_2_000 + .byte W36 + .byte N60 , As3 , v096 + .byte W12 + .byte VOL , 34*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 39*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 55*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 78*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 86*mus_rg_vs_myu2_mvl/mxv + .byte W19 +mus_rg_vs_myu2_2_B1: + .byte VOICE , 81 + .byte VOL , 68*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 0 + .byte N36 , As3 , v096 + .byte W36 + .byte An3 + .byte W36 + .byte N24 , Gn3 + .byte W24 + .byte N36 , As3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Cn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , As3 + .byte W24 + .byte N72 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte 0 + .byte N12 , As4 + .byte W24 + .byte Bn4 + .byte W12 + .byte As4 + .byte W36 + .byte N48 , En5 + .byte W06 + .byte VOL , 34*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 36*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 44*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 54*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 70*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 78*mus_rg_vs_myu2_mvl/mxv + .byte W01 + .byte 87*mus_rg_vs_myu2_mvl/mxv + .byte W12 + .byte 68*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 0 + .byte N36 , Ds4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Cs4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Bn3 + .byte W24 + .byte N36 , En4 + .byte W36 + .byte Ds4 + .byte W36 + .byte N24 , Cs4 + .byte W24 + .byte N36 , Gs4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Fn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte Ds4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Gs4 + .byte W24 + .byte VOL , 78*mus_rg_vs_myu2_mvl/mxv + .byte TIE , Bn4 , v116 + .byte W12 + .byte MOD , 7 + .byte VOL , 21*mus_rg_vs_myu2_mvl/mxv + .byte W72 + .byte W03 + .byte 27*mus_rg_vs_myu2_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 34*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 38*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte VOL , 45*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 61*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 67*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 74*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 79*mus_rg_vs_myu2_mvl/mxv + .byte W12 + .byte 85*mus_rg_vs_myu2_mvl/mxv + .byte W36 + .byte EOT + .byte MOD , 0 + .byte VOL , 44*mus_rg_vs_myu2_mvl/mxv + .byte TIE , As4 , v108 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_rg_vs_myu2_mvl/mxv + .byte W66 + .byte 25*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 34*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 38*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte VOL , 44*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 60*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 67*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 74*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 79*mus_rg_vs_myu2_mvl/mxv + .byte W12 + .byte 84*mus_rg_vs_myu2_mvl/mxv + .byte W12 + .byte 90*mus_rg_vs_myu2_mvl/mxv + .byte W24 + .byte EOT + .byte VOICE , 92 + .byte VOL , 67*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 0 + .byte VOL , 68*mus_rg_vs_myu2_mvl/mxv + .byte N48 , Gs3 , v096 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Cs4 + .byte W12 + .byte MOD , 7 + .byte W36 +mus_rg_vs_myu2_2_001: + .byte MOD , 0 + .byte N48 , Fn4 , v096 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Gs4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte PEND + .byte 0 + .byte N96 , Gn4 + .byte W06 + .byte VOL , 22*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 29*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 31*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 35*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 40*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 47*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 52*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 57*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 63*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 68*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 72*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 76*mus_rg_vs_myu2_mvl/mxv + .byte W24 + .byte 68*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 0 + .byte N96 + .byte W06 + .byte VOL , 22*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 28*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 31*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 36*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 41*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 46*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 53*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 56*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 62*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 65*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 70*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 75*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 79*mus_rg_vs_myu2_mvl/mxv + .byte W18 + .byte 68*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 0 + .byte N48 , Gs3 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Cs4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte PATT + .word mus_rg_vs_myu2_2_001 + .byte MOD , 0 + .byte N96 , As4 , v096 + .byte W06 + .byte VOL , 34*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 41*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 43*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 46*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 48*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 51*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 55*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 60*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 67*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 75*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 79*mus_rg_vs_myu2_mvl/mxv + .byte W30 + .byte W01 + .byte 68*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 0 + .byte N96 , Ds5 + .byte W06 + .byte VOL , 22*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 24*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 28*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 31*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 36*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 42*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 50*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 58*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 68*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 74*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 83*mus_rg_vs_myu2_mvl/mxv + .byte W30 + .byte W01 + .byte 68*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 0 + .byte N72 , Gn4 + .byte W06 + .byte VOL , 45*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 46*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 47*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 49*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 53*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 55*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 58*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 60*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 67*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 72*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 77*mus_rg_vs_myu2_mvl/mxv + .byte W01 + .byte 79*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte N12 + .byte W24 + .byte VOL , 68*mus_rg_vs_myu2_mvl/mxv + .byte N12 , Gs4 + .byte W12 + .byte N24 , Gn4 + .byte W84 + .byte VOL , 68*mus_rg_vs_myu2_mvl/mxv + .byte N72 , Gs4 + .byte W06 + .byte VOL , 45*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 46*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 47*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 49*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 53*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 55*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 58*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 60*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 67*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 72*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 77*mus_rg_vs_myu2_mvl/mxv + .byte W01 + .byte 79*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte N12 + .byte W24 + .byte VOL , 68*mus_rg_vs_myu2_mvl/mxv + .byte N12 , Bn4 + .byte W12 + .byte As4 + .byte W36 + .byte N48 , Gs4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte GOTO + .word mus_rg_vs_myu2_2_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_vs_myu2_3: + .byte KEYSH , mus_rg_vs_myu2_key+0 + .byte VOICE , 83 + .byte PAN , c_v-64 + .byte VOL , 68*mus_rg_vs_myu2_mvl/mxv + .byte N06 , En2 , v092 + .byte W12 + .byte N06 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Fn2 + .byte W12 + .byte N06 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Fs2 + .byte W12 + .byte N06 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Gn2 + .byte W12 + .byte N06 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Gs2 + .byte W12 + .byte N06 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte N06 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , As2 + .byte W12 + .byte N06 + .byte W06 + .byte Ds2 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Cs2 + .byte W12 + .byte Dn2 + .byte W12 +mus_rg_vs_myu2_3_000: + .byte PAN , c_v-64 + .byte N12 , Ds2 , v092 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Ds2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Ds2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Ds2 + .byte W12 + .byte As2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_myu2_3_000 +mus_rg_vs_myu2_3_001: + .byte PAN , c_v-64 + .byte N12 , En2 , v092 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N24 , En2 + .byte W24 + .byte PAN , c_v-64 + .byte N12 , Bn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PEND + .byte PAN , c_v-64 + .byte N12 , En2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N24 , En2 + .byte W24 + .byte PAN , c_v-64 + .byte N12 , Gs2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , As2 + .byte W03 + .byte Bn2 , v088 + .byte W03 + .byte N06 , As2 + .byte W06 + .byte N12 , Gs2 , v092 + .byte W12 + .byte PATT + .word mus_rg_vs_myu2_3_000 + .byte PATT + .word mus_rg_vs_myu2_3_000 + .byte PATT + .word mus_rg_vs_myu2_3_001 + .byte PATT + .word mus_rg_vs_myu2_3_001 +mus_rg_vs_myu2_3_B1: + .byte VOICE , 80 + .byte PAN , c_v-64 + .byte N12 , Ds2 , v092 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Ds2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Ds2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Ds2 + .byte W12 + .byte As2 + .byte W12 + .byte PATT + .word mus_rg_vs_myu2_3_000 + .byte PAN , c_v-64 + .byte N72 , Bn2 , v092 + .byte W72 + .byte PAN , c_v+63 + .byte N12 , As2 + .byte W24 + .byte PAN , c_v-64 + .byte N12 , Bn2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+63 + .byte W24 + .byte c_v-64 + .byte N12 , Bn2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , An2 , v096 + .byte W03 + .byte As2 + .byte W03 + .byte N06 , An2 + .byte W06 + .byte N12 , Fs2 , v092 + .byte W12 + .byte PATT + .word mus_rg_vs_myu2_3_000 + .byte PATT + .word mus_rg_vs_myu2_3_000 + .byte PATT + .word mus_rg_vs_myu2_3_000 + .byte PAN , c_v-64 + .byte N12 , Ds2 , v092 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cs2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cs2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cs2 + .byte W12 + .byte Gs2 + .byte W12 +mus_rg_vs_myu2_3_002: + .byte PAN , c_v-64 + .byte N12 , En2 , v092 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_myu2_3_002 + .byte PATT + .word mus_rg_vs_myu2_3_000 + .byte PATT + .word mus_rg_vs_myu2_3_000 +mus_rg_vs_myu2_3_003: + .byte PAN , c_v-64 + .byte N12 , Cs2 , v092 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cs2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cs2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cs2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_myu2_3_003 + .byte PATT + .word mus_rg_vs_myu2_3_000 + .byte PATT + .word mus_rg_vs_myu2_3_000 +mus_rg_vs_myu2_3_004: + .byte PAN , c_v-64 + .byte N12 , Ds2 , v092 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Ds2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Ds2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Ds2 + .byte W12 + .byte Gs2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_myu2_3_004 + .byte PATT + .word mus_rg_vs_myu2_3_000 + .byte PATT + .word mus_rg_vs_myu2_3_000 + .byte PATT + .word mus_rg_vs_myu2_3_000 + .byte PATT + .word mus_rg_vs_myu2_3_000 + .byte PATT + .word mus_rg_vs_myu2_3_002 + .byte PATT + .word mus_rg_vs_myu2_3_002 + .byte GOTO + .word mus_rg_vs_myu2_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_vs_myu2_4: + .byte KEYSH , mus_rg_vs_myu2_key+0 + .byte VOICE , 38 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_vs_myu2_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte BEND , c_v+0 + .byte N06 , En1 , v116 + .byte W12 + .byte N06 + .byte W06 + .byte Ds1 + .byte W06 + .byte Fn1 + .byte W12 + .byte N06 + .byte W06 + .byte Ds1 + .byte W06 + .byte Fs1 + .byte W12 + .byte N06 + .byte W06 + .byte Ds1 + .byte W06 + .byte Gn1 + .byte W12 + .byte N06 + .byte W06 + .byte Ds1 + .byte W06 + .byte Gs1 + .byte W12 + .byte N06 + .byte W06 + .byte Ds1 + .byte W06 + .byte An1 + .byte W12 + .byte N06 + .byte W06 + .byte Ds1 + .byte W06 + .byte As1 + .byte W12 + .byte N06 + .byte W06 + .byte Ds1 + .byte W06 + .byte N12 , Bn1 + .byte W12 + .byte As1 + .byte W12 +mus_rg_vs_myu2_4_000: + .byte N12 , Ds1 , v127 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds2 + .byte W12 + .byte As1 + .byte W12 + .byte PEND + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds2 + .byte W12 + .byte As1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Gs1 + .byte W12 + .byte As1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte BEND , c_v+0 + .byte N12 , En1 + .byte W12 + .byte N36 , En2 + .byte W09 + .byte BEND , c_v-8 + .byte W03 + .byte c_v-15 + .byte W03 + .byte c_v-21 + .byte W03 + .byte c_v-29 + .byte W03 + .byte c_v-39 + .byte W03 + .byte c_v-44 + .byte W03 + .byte c_v-52 + .byte W03 + .byte c_v-60 + .byte W03 + .byte c_v-63 + .byte W03 + .byte c_v+0 + .byte N12 , En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En2 + .byte W12 + .byte Cs2 + .byte W12 + .byte N12 + .byte W12 + .byte Ds2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Cs2 + .byte W12 + .byte PATT + .word mus_rg_vs_myu2_4_000 + .byte N12 , Ds1 , v127 + .byte W12 + .byte As1 + .byte W12 + .byte Ds2 + .byte W12 + .byte As1 + .byte W12 + .byte N12 + .byte W12 + .byte Bn1 + .byte W12 + .byte Gs1 + .byte W12 + .byte As1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte N06 , Ds1 + .byte W06 + .byte En1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N12 , En2 + .byte W12 + .byte Ds2 + .byte W12 + .byte Cs2 + .byte W12 + .byte Ds2 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Ds2 + .byte W12 + .byte En2 + .byte W12 + .byte N06 , En1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cs2 + .byte W06 + .byte N12 , En2 + .byte W12 + .byte Cs2 + .byte W12 +mus_rg_vs_myu2_4_B1: + .byte N12 , Ds1 , v127 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds2 + .byte W12 + .byte As1 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte En1 + .byte W06 + .byte N12 , Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Bn1 + .byte W12 + .byte As1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte As1 + .byte W12 + .byte En1 + .byte W12 + .byte An1 + .byte W12 + .byte En1 + .byte W12 + .byte Gs1 + .byte W12 + .byte En1 + .byte W12 + .byte Gn1 + .byte W12 + .byte En1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Ds2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Cs2 + .byte W12 + .byte N24 , Ds1 + .byte W24 + .byte N12 , As1 + .byte W12 + .byte N18 , Ds1 + .byte W24 + .byte N12 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte N12 + .byte W12 + .byte As1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte N12 , Ds1 + .byte W12 + .byte As1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte An1 + .byte W12 + .byte As1 + .byte W12 + .byte N24 , Ds1 , v120 + .byte W24 + .byte Cs2 + .byte W24 + .byte Cs1 + .byte W24 + .byte N18 , Gs1 + .byte W18 + .byte N03 , Fs1 + .byte W03 + .byte Fn1 + .byte W03 + .byte N24 , En1 , v127 + .byte W24 + .byte N12 , Bn1 + .byte W12 + .byte N18 , En1 + .byte W24 + .byte N12 + .byte W12 + .byte N03 , Bn1 + .byte W12 + .byte N12 , Cs1 + .byte W12 + .byte En2 + .byte W12 + .byte N06 , Gs1 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte N06 , En2 + .byte W12 + .byte En1 + .byte W06 + .byte Gs1 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N12 , En2 + .byte W12 + .byte Dn2 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte N06 , Ds1 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte N12 + .byte W12 + .byte An1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cs2 + .byte W06 + .byte As1 + .byte W06 + .byte An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cs1 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte Cs2 + .byte W12 + .byte N18 , Cs1 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W24 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N48 , Cs2 + .byte W12 + .byte BEND , c_v-6 + .byte W03 + .byte c_v-10 + .byte W03 + .byte c_v-17 + .byte W03 + .byte c_v-23 + .byte W03 + .byte c_v-31 + .byte W03 + .byte c_v-35 + .byte W03 + .byte c_v-42 + .byte W03 + .byte c_v-47 + .byte W03 + .byte c_v-64 + .byte W12 + .byte c_v+0 + .byte N24 , As1 + .byte W24 + .byte N06 , Gn1 + .byte W12 + .byte As1 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , Ds2 + .byte W12 + .byte As1 + .byte W12 + .byte Gn1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W24 + .byte N36 + .byte W12 + .byte BEND , c_v-6 + .byte W06 + .byte c_v-10 + .byte W03 + .byte c_v-15 + .byte W03 + .byte c_v-20 + .byte W03 + .byte c_v-28 + .byte W03 + .byte c_v-32 + .byte W03 + .byte c_v-39 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N12 + .byte W12 + .byte Cs2 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N48 , Gs1 + .byte W12 + .byte BEND , c_v-6 + .byte W03 + .byte c_v-10 + .byte W03 + .byte c_v-17 + .byte W03 + .byte c_v-23 + .byte W03 + .byte c_v-31 + .byte W03 + .byte c_v-35 + .byte W03 + .byte c_v-42 + .byte W03 + .byte c_v-47 + .byte W03 + .byte c_v-64 + .byte W12 + .byte c_v+0 + .byte N12 , Ds1 + .byte W12 + .byte Ds2 + .byte W12 + .byte Ds1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Ds1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gn1 + .byte W12 + .byte An1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds2 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte Cs2 + .byte W06 + .byte Ds2 + .byte W06 + .byte As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Fn1 + .byte W06 + .byte En1 + .byte W06 + .byte N30 , Ds1 + .byte W36 + .byte N06 + .byte W24 + .byte N24 + .byte W36 + .byte N12 , Dn2 + .byte W12 + .byte N24 , Ds2 + .byte W24 + .byte N18 , Ds1 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , En1 + .byte W24 + .byte N12 , En2 + .byte W12 + .byte N18 , En1 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , En2 + .byte W24 + .byte N12 , Ds2 + .byte W12 + .byte En2 + .byte W36 + .byte Bn1 + .byte W12 + .byte N06 , Cs2 + .byte W12 + .byte N12 , Gs1 + .byte W12 + .byte N06 , Bn1 + .byte W12 + .byte GOTO + .word mus_rg_vs_myu2_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_vs_myu2_5: + .byte KEYSH , mus_rg_vs_myu2_key+0 + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte VOL , 69*mus_rg_vs_myu2_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte N06 , As5 , v064 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gs6 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gs6 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gs6 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gs6 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gs6 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gs6 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gs6 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gs6 + .byte W06 + .byte VOL , 56*mus_rg_vs_myu2_mvl/mxv + .byte N12 , As4 , v112 + .byte W36 + .byte As3 + .byte W36 + .byte N12 + .byte W24 + .byte W48 + .byte N12 + .byte W48 +mus_rg_vs_myu2_5_000: + .byte W36 + .byte N12 , As3 , v112 + .byte W36 + .byte N12 + .byte W24 + .byte PEND + .byte W36 + .byte N60 , An3 + .byte W06 + .byte VOL , 22*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 29*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 41*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 52*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 68*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 71*mus_rg_vs_myu2_mvl/mxv + .byte W24 + .byte 56*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 0 + .byte N12 , As3 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W48 + .byte N12 + .byte W48 + .byte PATT + .word mus_rg_vs_myu2_5_000 + .byte W36 + .byte N60 , As3 , v112 + .byte W12 + .byte VOL , 34*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 47*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 59*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 69*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 78*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 84*mus_rg_vs_myu2_mvl/mxv + .byte W19 +mus_rg_vs_myu2_5_B1: + .byte VOICE , 48 + .byte MOD , 0 + .byte VOL , 78*mus_rg_vs_myu2_mvl/mxv + .byte N36 , As3 , v104 + .byte W36 + .byte An3 + .byte W36 + .byte N24 , Gn3 + .byte W24 + .byte N36 , As3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Cn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , As3 + .byte W24 + .byte N72 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte 0 + .byte N12 , As4 + .byte W24 + .byte Bn4 + .byte W12 + .byte As4 + .byte W36 + .byte N48 , En5 + .byte W06 + .byte VOL , 31*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 40*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 46*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 69*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 87*mus_rg_vs_myu2_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 79*mus_rg_vs_myu2_mvl/mxv + .byte N36 , Ds4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Cs4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Bn3 + .byte W24 + .byte N36 , En4 + .byte W36 + .byte Ds4 + .byte W36 + .byte N24 , Cs4 + .byte W24 + .byte N36 , Gs4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Fn4 + .byte W24 + .byte Cs4 + .byte W24 + .byte Ds4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Gs4 + .byte W24 + .byte VOICE , 60 + .byte TIE , Bn4 , v100 + .byte W12 + .byte MOD , 7 + .byte VOL , 21*mus_rg_vs_myu2_mvl/mxv + .byte W72 + .byte W03 + .byte 27*mus_rg_vs_myu2_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 34*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 38*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte VOL , 45*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 61*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 67*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 74*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 79*mus_rg_vs_myu2_mvl/mxv + .byte W12 + .byte 85*mus_rg_vs_myu2_mvl/mxv + .byte W36 + .byte EOT + .byte MOD , 0 + .byte VOL , 22*mus_rg_vs_myu2_mvl/mxv + .byte TIE , As4 , v120 + .byte W12 + .byte MOD , 7 + .byte W78 + .byte VOL , 25*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 34*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 38*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte VOL , 44*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 60*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 67*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 74*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 79*mus_rg_vs_myu2_mvl/mxv + .byte W12 + .byte 84*mus_rg_vs_myu2_mvl/mxv + .byte W12 + .byte 90*mus_rg_vs_myu2_mvl/mxv + .byte W24 + .byte EOT + .byte VOICE , 48 + .byte MOD , 0 + .byte VOL , 68*mus_rg_vs_myu2_mvl/mxv + .byte N48 , Gs4 , v084 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Cs5 + .byte W12 + .byte MOD , 7 + .byte W36 +mus_rg_vs_myu2_5_001: + .byte MOD , 0 + .byte N48 , Fn5 , v084 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Gs5 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte PEND + .byte 0 + .byte N96 , Gn5 + .byte W06 + .byte VOL , 22*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 29*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 32*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 37*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 43*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 48*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 55*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 61*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 68*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 72*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 75*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 80*mus_rg_vs_myu2_mvl/mxv + .byte W24 + .byte 68*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 0 + .byte N96 + .byte W06 + .byte VOL , 23*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 29*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 32*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 37*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 41*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 47*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 53*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 58*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 67*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 72*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 75*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 80*mus_rg_vs_myu2_mvl/mxv + .byte W24 + .byte 68*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 0 + .byte N48 , Gs4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Cs5 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte PATT + .word mus_rg_vs_myu2_5_001 + .byte MOD , 0 + .byte N96 , As5 , v084 + .byte W06 + .byte VOL , 22*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 23*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 29*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 35*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 41*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 48*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 53*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 57*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 63*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 70*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 71*mus_rg_vs_myu2_mvl/mxv + .byte W30 + .byte W01 + .byte 56*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 0 + .byte N96 , Ds6 + .byte W06 + .byte VOL , 26*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 29*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 31*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 34*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 37*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 41*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 45*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 48*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 57*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 63*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 65*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 69*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 75*mus_rg_vs_myu2_mvl/mxv + .byte W19 + .byte 56*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 0 + .byte N72 , Gn5 + .byte W06 + .byte VOL , 29*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 31*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 33*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 36*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 40*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 44*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 48*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 55*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 63*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 70*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 72*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte N12 + .byte W24 + .byte VOL , 67*mus_rg_vs_myu2_mvl/mxv + .byte N12 , Gs5 + .byte W12 + .byte N24 , Gn5 + .byte W84 + .byte VOL , 56*mus_rg_vs_myu2_mvl/mxv + .byte N72 , Gs5 + .byte W06 + .byte VOL , 29*mus_rg_vs_myu2_mvl/mxv + .byte W06 + .byte 31*mus_rg_vs_myu2_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 33*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 36*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 40*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 44*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 48*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 55*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 63*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte 70*mus_rg_vs_myu2_mvl/mxv + .byte W05 + .byte 72*mus_rg_vs_myu2_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte N12 + .byte W24 + .byte VOL , 56*mus_rg_vs_myu2_mvl/mxv + .byte N12 , Bn5 + .byte W12 + .byte As5 + .byte W36 + .byte N48 , Gs5 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte GOTO + .word mus_rg_vs_myu2_5_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_vs_myu2_6: + .byte KEYSH , mus_rg_vs_myu2_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_vs_myu2_mvl/mxv + .byte W84 + .byte N06 , Cn1 , v096 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte N48 , Cn3 + .byte W24 + .byte N06 , Cn1 + .byte W12 + .byte Cn1 , v080 + .byte W12 + .byte Cn1 , v127 + .byte N48 , Gn2 , v088 + .byte W12 + .byte N06 , Cn1 , v064 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte Cn1 , v068 + .byte W12 + .byte Cn1 , v120 + .byte W24 +mus_rg_vs_myu2_6_000: + .byte N06 , Cn1 , v120 + .byte W12 + .byte Cn1 , v064 + .byte W24 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte Fn1 , v120 + .byte W12 + .byte PEND + .byte Cn1 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W36 + .byte Cn1 , v068 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cn1 , v096 + .byte W12 + .byte En1 , v120 + .byte W12 + .byte Cn1 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cn2 , v120 + .byte N24 , Bn2 , v096 + .byte W06 + .byte N06 , An1 , v120 + .byte W06 + .byte Fn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N48 , Cs2 , v088 + .byte W12 + .byte N06 , Cn1 , v064 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte Cn1 , v068 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte PATT + .word mus_rg_vs_myu2_6_000 + .byte N06 , Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte Cn1 , v068 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cn1 , v096 + .byte W12 + .byte Bn0 , v120 + .byte W12 + .byte Cn1 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cs1 , v096 + .byte N24 , Cs2 , v120 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte Fn1 + .byte W06 +mus_rg_vs_myu2_6_B1: + .byte N06 , Cn1 , v120 + .byte N48 , Gn2 + .byte W24 + .byte N06 , Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Gn1 , v120 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cs1 , v096 + .byte W06 + .byte Bn1 , v120 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte N24 , Gn2 + .byte W24 + .byte N06 , Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 , v096 + .byte W12 +mus_rg_vs_myu2_6_001: + .byte N06 , Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte PEND + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Dn2 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte N48 , An2 , v096 + .byte W24 + .byte N06 , Cs1 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte N06 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte An1 , v120 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cs1 , v096 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte N06 + .byte N24 , Bn2 , v120 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte N06 , Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 + .byte W24 + .byte Cn1 + .byte N06 , Fn2 , v096 + .byte W24 +mus_rg_vs_myu2_6_002: + .byte N06 , Cn1 , v120 + .byte W24 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte PEND + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 , v096 + .byte N06 , Fn2 + .byte W24 + .byte Cs1 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte N24 , Gn2 , v120 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte Cs1 , v120 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn2 , v080 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte N06 , Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte N06 , Fn2 , v096 + .byte W24 + .byte PATT + .word mus_rg_vs_myu2_6_002 + .byte N06 , Cn1 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 , v096 + .byte N06 , Fn2 + .byte W12 + .byte Cs1 + .byte W12 + .byte VOICE , 0 + .byte N06 , Cn1 , v120 + .byte N48 , Cn3 , v096 + .byte W06 + .byte N06 , Cn1 , v120 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte N48 , Cs2 + .byte W24 + .byte N06 , Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte PATT + .word mus_rg_vs_myu2_6_001 + .byte N06 , Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte GOTO + .word mus_rg_vs_myu2_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_vs_myu2_7: + .byte KEYSH , mus_rg_vs_myu2_key+0 + .byte VOICE , 127 + .byte VOL , 79*mus_rg_vs_myu2_mvl/mxv + .byte W96 + .byte W12 + .byte N03 , Cn5 , v028 + .byte W06 + .byte N03 + .byte W18 + .byte Cn5 , v044 + .byte W06 + .byte N03 + .byte W18 + .byte Cn5 , v056 + .byte W06 + .byte N03 + .byte W18 + .byte Cn5 , v084 + .byte W06 + .byte N03 + .byte W06 +mus_rg_vs_myu2_7_000: + .byte N03 , Cn5 , v108 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v100 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v100 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte PEND +mus_rg_vs_myu2_7_001: + .byte N03 , Cn5 , v080 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte N03 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v028 + .byte W24 + .byte Cn5 , v064 + .byte W12 + .byte PEND + .byte Cn5 , v108 + .byte W12 + .byte Cn5 , v032 + .byte W24 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v100 + .byte W12 + .byte Cn5 , v032 + .byte W12 +mus_rg_vs_myu2_7_002: + .byte N03 , Cn5 , v080 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v028 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v056 + .byte W18 + .byte PEND + .byte PATT + .word mus_rg_vs_myu2_7_000 + .byte PATT + .word mus_rg_vs_myu2_7_001 + .byte PATT + .word mus_rg_vs_myu2_7_000 + .byte PATT + .word mus_rg_vs_myu2_7_002 +mus_rg_vs_myu2_7_B1: +mus_rg_vs_myu2_7_003: + .byte N03 , Cn5 , v044 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte PEND +mus_rg_vs_myu2_7_004: + .byte N03 , Cn5 , v044 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_vs_myu2_7_003 + .byte PATT + .word mus_rg_vs_myu2_7_004 + .byte W12 + .byte N03 , Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte PATT + .word mus_rg_vs_myu2_7_003 + .byte PATT + .word mus_rg_vs_myu2_7_003 + .byte PATT + .word mus_rg_vs_myu2_7_004 + .byte PATT + .word mus_rg_vs_myu2_7_003 + .byte PATT + .word mus_rg_vs_myu2_7_004 + .byte VOL , 68*mus_rg_vs_myu2_mvl/mxv + .byte N03 , Cn5 , v064 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v092 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v092 + .byte W12 +mus_rg_vs_myu2_7_005: + .byte W12 + .byte N03 , Cn5 , v064 + .byte W12 + .byte Cn5 , v072 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W24 + .byte Cn5 , v072 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte PEND +mus_rg_vs_myu2_7_006: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v108 + .byte W12 + .byte Cn5 , v048 + .byte W24 + .byte PEND +mus_rg_vs_myu2_7_007: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v108 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte N03 + .byte W12 + .byte PEND + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v092 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v092 + .byte W12 + .byte PATT + .word mus_rg_vs_myu2_7_005 + .byte PATT + .word mus_rg_vs_myu2_7_006 + .byte PATT + .word mus_rg_vs_myu2_7_007 + .byte VOL , 79*mus_rg_vs_myu2_mvl/mxv + .byte W12 + .byte N03 , Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte VOL , 79*mus_rg_vs_myu2_mvl/mxv + .byte N03 , Cn5 , v044 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte GOTO + .word mus_rg_vs_myu2_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_vs_myu2_8: + .byte KEYSH , mus_rg_vs_myu2_key+0 + .byte VOICE , 126 + .byte PAN , c_v+0 + .byte VOL , 68*mus_rg_vs_myu2_mvl/mxv + .byte W96 + .byte N12 , Gn5 , v044 + .byte W24 + .byte Gn5 , v068 + .byte W24 + .byte Gn5 , v088 + .byte W24 + .byte Gn5 , v120 + .byte W24 + .byte W96 + .byte W72 + .byte Gn5 , v088 + .byte W24 + .byte W24 + .byte N12 + .byte W72 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W72 + .byte N12 + .byte W24 + .byte W96 + .byte W96 +mus_rg_vs_myu2_8_B1: + .byte W96 + .byte W84 + .byte N12 , Gn5 , v096 + .byte W12 + .byte W96 + .byte W84 + .byte Gn5 , v120 + .byte W12 + .byte Gn5 , v092 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte Gn5 , v096 + .byte W12 + .byte W96 + .byte W84 + .byte Gn5 , v120 + .byte W12 + .byte W96 +mus_rg_vs_myu2_8_000: + .byte N12 , Gn5 , v092 + .byte W60 + .byte N12 + .byte W36 + .byte PEND + .byte W84 + .byte Gn5 , v096 + .byte W12 + .byte W96 + .byte W96 + .byte PATT + .word mus_rg_vs_myu2_8_000 + .byte W84 + .byte N12 , Gn5 , v096 + .byte W12 + .byte W96 + .byte Gn5 , v092 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_vs_myu2_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_vs_myu2: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_vs_myu2_pri @ Priority + .byte mus_rg_vs_myu2_rev @ Reverb. + + .word mus_rg_vs_myu2_grp + + .word mus_rg_vs_myu2_1 + .word mus_rg_vs_myu2_2 + .word mus_rg_vs_myu2_3 + .word mus_rg_vs_myu2_4 + .word mus_rg_vs_myu2_5 + .word mus_rg_vs_myu2_6 + .word mus_rg_vs_myu2_7 + .word mus_rg_vs_myu2_8 + + .end diff --git a/sound/songs/mus_rg_vs_tore.s b/sound/songs/mus_rg_vs_tore.s new file mode 100644 index 0000000000..f5d2cec158 --- /dev/null +++ b/sound/songs/mus_rg_vs_tore.s @@ -0,0 +1,8354 @@ + .include "MPlayDef.s" + + .equ mus_rg_vs_tore_grp, voicegroup_86A92BC + .equ mus_rg_vs_tore_pri, 0 + .equ mus_rg_vs_tore_rev, reverb_set+50 + .equ mus_rg_vs_tore_mvl, 127 + .equ mus_rg_vs_tore_key, 0 + .equ mus_rg_vs_tore_tbs, 1 + .equ mus_rg_vs_tore_exg, 0 + .equ mus_rg_vs_tore_cmp, 1 + + .section .rodata + .global mus_rg_vs_tore + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_vs_tore_1: + .byte KEYSH , mus_rg_vs_tore_key+0 + .byte TEMPO , 172*mus_rg_vs_tore_tbs/2 + .byte VOICE , 48 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v-48 + .byte VOL , 79*mus_rg_vs_tore_mvl/mxv + .byte N06 , Dn5 , v068 + .byte W06 + .byte Cs5 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Dn5 + .byte W06 + .byte As4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Dn5 , v076 + .byte W06 + .byte An4 , v068 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , As4 + .byte W06 + .byte An4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Dn5 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Dn5 , v076 + .byte W06 + .byte Gn4 , v068 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Dn5 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Dn5 , v076 + .byte W06 + .byte Fn4 , v068 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Dn5 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte VOICE , 17 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_vs_tore_mvl/mxv + .byte N24 , En5 , v127 + .byte W03 + .byte VOL , 79*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 68*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 56*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 45*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte 90*mus_rg_vs_tore_mvl/mxv + .byte N06 , En5 , v064 + .byte W12 + .byte N12 , An3 , v124 + .byte W36 + .byte N18 , As3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W24 + .byte As3 + .byte W36 + .byte N06 , Dn5 + .byte W12 + .byte N03 , Dn3 + .byte W12 + .byte VOL , 90*mus_rg_vs_tore_mvl/mxv + .byte N24 , En5 , v104 + .byte W03 + .byte VOL , 79*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 68*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 56*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 45*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte 90*mus_rg_vs_tore_mvl/mxv + .byte N06 , En5 , v064 + .byte W12 + .byte N12 , An3 , v124 + .byte W36 + .byte N18 , As3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W24 + .byte Cn4 + .byte W24 + .byte As3 + .byte W12 + .byte BEND , c_v+0 + .byte N24 , Dn4 + .byte W03 + .byte BEND , c_v+8 + .byte W03 + .byte c_v+0 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , En4 + .byte W24 + .byte En4 , v064 + .byte W12 + .byte Fs4 , v124 + .byte W21 + .byte Fs4 , v064 + .byte W15 + .byte Gn4 , v124 + .byte W24 + .byte En4 + .byte W12 + .byte N18 , Fs4 + .byte W24 + .byte N12 , Gn4 + .byte W12 + .byte N03 , Fs4 , v096 + .byte W03 + .byte Fn4 + .byte W03 + .byte En4 + .byte W03 + .byte Ds4 + .byte W03 + .byte N12 , Dn4 , v124 + .byte W12 + .byte N03 , En4 , v096 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 , v124 + .byte W06 + .byte N06 , Ds4 + .byte W12 + .byte En5 , v112 + .byte W24 + .byte En5 , v064 + .byte W12 + .byte Fs5 , v112 + .byte W24 + .byte Fs5 , v068 + .byte W12 + .byte N18 , Gn5 , v108 + .byte W24 + .byte N06 , En5 , v112 + .byte W12 + .byte Fs5 , v108 + .byte W18 + .byte N06 + .byte W06 + .byte N30 , Gn5 + .byte W30 + .byte N03 , Fs5 , v080 + .byte W03 + .byte En5 + .byte W03 + .byte N18 , Dn5 , v108 + .byte W21 + .byte MOD , 0 + .byte W03 + .byte VOICE , 29 + .byte VOL , 68*mus_rg_vs_tore_mvl/mxv + .byte N24 , En3 , v092 + .byte W24 + .byte N03 , Ds3 , v068 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Cn3 + .byte W03 + .byte N84 , Bn2 , v080 + .byte W36 + .byte MOD , 4 + .byte W24 + .byte VOL , 64*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 60*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 51*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 46*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 45*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 38*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 33*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 29*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 68*mus_rg_vs_tore_mvl/mxv + .byte MOD , 0 + .byte N12 , En3 , v092 + .byte W12 + .byte N03 , Ds3 , v072 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Cn3 + .byte W03 + .byte N24 , Bn2 , v080 + .byte W24 + .byte En3 , v096 + .byte W24 + .byte TIE , Fn3 , v080 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte VOL , 64*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 60*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 51*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 46*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 45*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 38*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 33*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 29*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 26*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 24*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 19*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 13*mus_rg_vs_tore_mvl/mxv + .byte W15 +mus_rg_vs_tore_1_000: + .byte BEND , c_v+0 + .byte W48 + .byte VOL , 21*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 26*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 30*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 36*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 38*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 41*mus_rg_vs_tore_mvl/mxv + .byte BEND , c_v-3 + .byte W03 + .byte VOL , 47*mus_rg_vs_tore_mvl/mxv + .byte BEND , c_v-5 + .byte W03 + .byte VOL , 51*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 55*mus_rg_vs_tore_mvl/mxv + .byte BEND , c_v-8 + .byte W03 + .byte VOL , 58*mus_rg_vs_tore_mvl/mxv + .byte BEND , c_v-14 + .byte W03 + .byte VOL , 62*mus_rg_vs_tore_mvl/mxv + .byte BEND , c_v-18 + .byte W03 + .byte VOL , 66*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte BEND , c_v-26 + .byte W03 + .byte VOL , 68*mus_rg_vs_tore_mvl/mxv + .byte BEND , c_v-32 + .byte W06 + .byte c_v-43 + .byte W03 + .byte PEND + .byte EOT , Fn3 +mus_rg_vs_tore_1_B1: + .byte VOL , 68*mus_rg_vs_tore_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N36 , En4 , v080 + .byte W36 + .byte N84 , Bn3 , v084 + .byte W24 + .byte MOD , 4 + .byte W12 + .byte VOL , 64*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 60*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 51*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 46*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 45*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 38*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 33*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 29*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 26*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 24*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 19*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 13*mus_rg_vs_tore_mvl/mxv + .byte W15 + .byte 68*mus_rg_vs_tore_mvl/mxv + .byte MOD , 0 + .byte N24 , En4 + .byte W24 + .byte Bn3 + .byte W24 + .byte En4 + .byte W24 + .byte TIE , Dn4 , v080 + .byte W32 + .byte W01 + .byte MOD , 4 + .byte W15 + .byte VOL , 64*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 60*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 51*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 46*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 45*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 38*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 34*mus_rg_vs_tore_mvl/mxv + .byte W30 + .byte BEND , c_v+0 + .byte W36 + .byte VOL , 38*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 41*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 47*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 51*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 55*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 58*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 62*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 66*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 74*mus_rg_vs_tore_mvl/mxv + .byte W09 + .byte EOT + .byte VOICE , 17 + .byte MOD , 0 + .byte PAN , c_v-48 + .byte VOL , 68*mus_rg_vs_tore_mvl/mxv + .byte N03 , En4 , v084 + .byte W03 + .byte PAN , c_v-36 + .byte N03 , Fs4 , v088 + .byte W03 + .byte PAN , c_v-24 + .byte N03 , Gn4 , v096 + .byte W03 + .byte PAN , c_v-12 + .byte N03 , An4 , v100 + .byte W03 + .byte PAN , c_v-6 + .byte N03 , Bn4 + .byte W03 + .byte PAN , c_v+13 + .byte N03 , Cn5 + .byte W03 + .byte PAN , c_v+38 + .byte N03 , Dn5 + .byte W03 + .byte PAN , c_v+47 + .byte N03 , En5 , v104 + .byte W03 + .byte VOL , 68*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-16 + .byte N78 , Cn5 , v120 + .byte W12 + .byte VOL , 65*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 59*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 54*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 49*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte MOD , 5 + .byte VOL , 45*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 40*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 34*mus_rg_vs_tore_mvl/mxv + .byte W18 + .byte 40*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 41*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 49*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 54*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 60*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 63*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 68*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte PAN , c_v-48 + .byte N03 , Cs5 , v068 + .byte W03 + .byte PAN , c_v-29 + .byte N03 , Dn5 + .byte W03 + .byte PAN , c_v-13 + .byte N03 , Ds5 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , En5 + .byte W03 + .byte PAN , c_v+18 + .byte N03 , Fn5 , v084 + .byte W03 + .byte PAN , c_v+35 + .byte N03 , Fs5 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v+22 + .byte N32 , Gn5 , v112 + .byte W09 + .byte VOL , 62*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 54*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 51*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 41*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 39*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte MOD , 5 + .byte VOL , 36*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 34*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte PAN , c_v+39 + .byte N03 , Fs5 , v080 + .byte W03 + .byte PAN , c_v+22 + .byte VOL , 68*mus_rg_vs_tore_mvl/mxv + .byte N03 , En5 + .byte W03 + .byte PAN , c_v+3 + .byte N03 , Ds5 + .byte W03 + .byte PAN , c_v-14 + .byte N03 , Dn5 + .byte W03 + .byte PAN , c_v-29 + .byte N03 , Cs5 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v-16 + .byte N44 , Cn5 , v120 + .byte W09 + .byte VOL , 60*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 56*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 51*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 40*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 38*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte MOD , 5 + .byte VOL , 34*mus_rg_vs_tore_mvl/mxv + .byte W09 + .byte 44*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 51*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 59*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 68*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte N03 , Cs5 , v080 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v+0 + .byte TIE , Dn5 , v120 + .byte W12 + .byte VOL , 63*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 59*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 54*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 46*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte MOD , 4 + .byte VOL , 41*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 34*mus_rg_vs_tore_mvl/mxv + .byte W68 + .byte W01 + .byte W36 + .byte 39*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 41*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 49*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 51*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 56*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 60*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 65*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 68*mus_rg_vs_tore_mvl/mxv + .byte W15 + .byte EOT + .byte MOD , 0 + .byte N12 + .byte W12 + .byte PAN , c_v-8 + .byte N12 , Cs5 + .byte W12 + .byte PAN , c_v-16 + .byte N84 , Cn5 + .byte W12 + .byte VOL , 65*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 60*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 56*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 51*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte MOD , 4 + .byte VOL , 46*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 41*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 38*mus_rg_vs_tore_mvl/mxv + .byte W32 + .byte W01 + .byte 40*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 45*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 51*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 59*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 68*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte PAN , c_v-37 + .byte W03 + .byte c_v-16 + .byte N03 , Fn5 , v072 + .byte W03 + .byte PAN , c_v+10 + .byte N03 , Fs5 , v084 + .byte W03 + .byte MOD , 0 + .byte PAN , c_v+27 + .byte N03 , Gn5 , v092 + .byte W03 + .byte PAN , c_v+39 + .byte N03 , Gs5 + .byte W03 + .byte PAN , c_v+10 + .byte N42 , An5 , v104 + .byte W09 + .byte VOL , 63*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 60*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 55*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 51*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 46*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte MOD , 4 + .byte VOL , 41*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte 45*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 51*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 68*mus_rg_vs_tore_mvl/mxv + .byte N03 , As5 , v096 + .byte W06 + .byte N36 , Bn5 , v112 + .byte W09 + .byte VOL , 62*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 56*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 49*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 44*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 40*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte MOD , 4 + .byte W12 + .byte VOL , 45*mus_rg_vs_tore_mvl/mxv + .byte N12 , As5 , v096 + .byte W03 + .byte VOL , 51*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 56*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 62*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 68*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-4 + .byte N96 , An5 , v112 + .byte W12 + .byte VOL , 65*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 59*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 55*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 51*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte MOD , 4 + .byte VOL , 45*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 39*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 34*mus_rg_vs_tore_mvl/mxv + .byte W36 + .byte W03 + .byte 36*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 41*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 46*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 51*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 56*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 60*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 68*mus_rg_vs_tore_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte PAN , c_v+6 + .byte N24 , Cn6 , v120 + .byte W24 + .byte PAN , c_v+15 + .byte N12 , Dn6 + .byte W12 + .byte Cn6 , v096 + .byte W03 + .byte PAN , c_v-4 + .byte W09 + .byte c_v-8 + .byte N12 , Bn5 , v092 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , An5 , v120 + .byte W12 + .byte PAN , c_v-23 + .byte N12 , Gn5 , v092 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , An5 + .byte W09 + .byte MOD , 0 + .byte W03 + .byte VOICE , 21 + .byte PAN , c_v-1 + .byte VOL , 78*mus_rg_vs_tore_mvl/mxv + .byte TIE , Bn3 , v120 + .byte W15 + .byte BEND , c_v-12 + .byte W03 + .byte c_v-14 + .byte W03 + .byte c_v-21 + .byte W03 + .byte c_v-15 + .byte W03 + .byte c_v-12 + .byte W03 + .byte c_v-9 + .byte W03 + .byte c_v+0 + .byte W36 + .byte W03 + .byte MOD , 4 + .byte W24 + .byte VOL , 64*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 62*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 58*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 55*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 53*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 49*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 46*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 44*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 41*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 38*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 36*mus_rg_vs_tore_mvl/mxv + .byte W30 + .byte EOT + .byte VOL , 79*mus_rg_vs_tore_mvl/mxv + .byte N03 , Bn3 , v124 + .byte W06 + .byte MOD , 0 + .byte TIE , Cn4 + .byte W24 + .byte MOD , 4 + .byte W24 + .byte VOL , 64*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 62*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 58*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 55*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 53*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 49*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 46*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 44*mus_rg_vs_tore_mvl/mxv + .byte BEND , c_v-16 + .byte W06 + .byte VOL , 41*mus_rg_vs_tore_mvl/mxv + .byte BEND , c_v+0 + .byte W06 + .byte VOL , 38*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 36*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte EOT + .byte MOD , 0 + .byte VOL , 79*mus_rg_vs_tore_mvl/mxv + .byte N12 , Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte N12 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte TIE , Cs4 + .byte W06 + .byte BEND , c_v-8 + .byte W06 + .byte c_v+0 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte VOL , 64*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 62*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 58*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 55*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 53*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 49*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 46*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 44*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 41*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 38*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 36*mus_rg_vs_tore_mvl/mxv + .byte W42 + .byte 39*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 41*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 44*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 47*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 53*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 58*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte EOT + .byte MOD , 0 + .byte VOL , 79*mus_rg_vs_tore_mvl/mxv + .byte N96 , Dn4 + .byte W48 + .byte VOL , 64*mus_rg_vs_tore_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 62*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 58*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 55*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 53*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 49*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 46*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 44*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 68*mus_rg_vs_tore_mvl/mxv + .byte N48 , Fs4 + .byte W24 + .byte VOL , 64*mus_rg_vs_tore_mvl/mxv + .byte MOD , 5 + .byte W06 + .byte VOL , 62*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 58*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 55*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_tore_mvl/mxv + .byte MOD , 0 + .byte N48 , An4 + .byte W24 + .byte VOL , 64*mus_rg_vs_tore_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 62*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 58*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 55*mus_rg_vs_tore_mvl/mxv + .byte W04 + .byte VOICE , 29 + .byte W02 + .byte VOL , 68*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+0 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N24 , Gn3 , v100 + .byte W12 + .byte VOL , 45*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte 67*mus_rg_vs_tore_mvl/mxv + .byte N24 , Dn3 , v092 + .byte W12 + .byte VOL , 45*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte 68*mus_rg_vs_tore_mvl/mxv + .byte N12 , Fn3 , v080 + .byte W12 + .byte N48 , En3 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte W09 + .byte 0 + .byte W03 + .byte VOL , 82*mus_rg_vs_tore_mvl/mxv + .byte N48 , En2 , v088 + .byte W06 + .byte BEND , c_v-8 + .byte W06 + .byte MOD , 5 + .byte BEND , c_v+0 + .byte W36 + .byte VOICE , 29 + .byte VOL , 68*mus_rg_vs_tore_mvl/mxv + .byte MOD , 0 + .byte N36 , En3 , v080 + .byte W12 + .byte MOD , 3 + .byte W24 + .byte N48 + .byte W36 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte N24 , Gn3 , v096 + .byte W12 + .byte VOL , 44*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte 67*mus_rg_vs_tore_mvl/mxv + .byte N24 , Dn3 + .byte W12 + .byte VOL , 45*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte 67*mus_rg_vs_tore_mvl/mxv + .byte N12 , Ds3 , v080 + .byte W12 + .byte N84 , As3 + .byte W36 + .byte MOD , 4 + .byte W48 + .byte 0 + .byte BEND , c_v+0 + .byte N96 , Cn4 + .byte W36 + .byte W03 + .byte BEND , c_v-3 + .byte W09 + .byte MOD , 4 + .byte BEND , c_v-5 + .byte W09 + .byte c_v-8 + .byte W09 + .byte c_v-12 + .byte W06 + .byte c_v-16 + .byte W09 + .byte c_v-21 + .byte W15 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N36 , An3 + .byte W36 + .byte TIE + .byte W36 + .byte MOD , 4 + .byte W24 + .byte W24 + .byte BEND , c_v-3 + .byte W06 + .byte c_v-5 + .byte W06 + .byte c_v-7 + .byte W06 + .byte c_v-10 + .byte W06 + .byte c_v-13 + .byte W06 + .byte c_v-15 + .byte W06 + .byte c_v-20 + .byte W06 + .byte c_v-22 + .byte W06 + .byte c_v-25 + .byte W06 + .byte c_v-28 + .byte W06 + .byte c_v-31 + .byte W06 + .byte c_v-34 + .byte W06 + .byte EOT + .byte VOICE , 21 + .byte VOL , 78*mus_rg_vs_tore_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N36 , Fn4 , v108 + .byte W36 + .byte N84 , Dn4 + .byte W36 + .byte MOD , 4 + .byte W24 + .byte W24 + .byte 0 + .byte N24 , Fn4 + .byte W24 + .byte Dn4 + .byte W24 + .byte Fn4 + .byte W24 + .byte N36 , Ds4 + .byte W36 + .byte N84 , As4 + .byte W36 + .byte MOD , 4 + .byte W24 + .byte W24 + .byte 0 + .byte N24 , Ds4 + .byte W24 + .byte As4 + .byte W24 + .byte Gn4 + .byte W24 + .byte N36 , Fn4 + .byte W36 + .byte N84 , Dn4 + .byte W36 + .byte MOD , 4 + .byte W24 + .byte W24 + .byte 0 + .byte N24 , Fn4 + .byte W24 + .byte N12 , An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N24 , Ds4 + .byte W24 + .byte N60 , As4 + .byte W24 + .byte MOD , 4 + .byte W36 + .byte 0 + .byte N36 , Cn5 + .byte W36 + .byte As4 + .byte W36 + .byte N24 , Gn4 + .byte W24 + .byte N96 , As4 , v092 + .byte W36 + .byte MOD , 4 + .byte W60 + .byte 0 + .byte N96 , An4 + .byte W36 + .byte MOD , 4 + .byte W60 + .byte 0 + .byte N96 , Gn4 + .byte W32 + .byte W01 + .byte MOD , 4 + .byte W60 + .byte W03 + .byte 0 + .byte N72 , An4 + .byte W36 + .byte MOD , 4 + .byte W36 + .byte VOICE , 17 + .byte MOD , 0 + .byte N06 , Gn3 , v112 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte VOICE , 17 + .byte BEND , c_v+0 + .byte N96 , As4 , v100 + .byte W36 + .byte MOD , 4 + .byte W60 + .byte 0 + .byte BEND , c_v+0 + .byte N96 , An4 + .byte W36 + .byte MOD , 4 + .byte W60 + .byte 0 + .byte N96 , Cn5 + .byte W36 + .byte MOD , 4 + .byte W60 + .byte 0 + .byte BEND , c_v+0 + .byte N96 , As4 + .byte W36 + .byte MOD , 4 + .byte W12 + .byte BEND , c_v-3 + .byte W09 + .byte c_v-6 + .byte W06 + .byte c_v-8 + .byte W09 + .byte c_v-12 + .byte W06 + .byte c_v-16 + .byte W06 + .byte c_v-22 + .byte W12 + .byte VOICE , 29 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N36 , Ds3 , v080 + .byte W36 + .byte N36 + .byte W36 + .byte N24 + .byte W24 + .byte BEND , c_v+0 + .byte N36 , Dn2 + .byte W36 + .byte N36 + .byte W36 + .byte N12 + .byte W06 + .byte BEND , c_v-64 + .byte W06 + .byte N12 , Dn3 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte c_v+0 + .byte N36 , Fn3 + .byte W36 + .byte N36 + .byte W36 + .byte N24 + .byte W24 + .byte N36 , Ds2 + .byte W36 + .byte N36 + .byte W36 + .byte N24 , Dn2 + .byte W24 + .byte N03 , Dn3 + .byte W06 + .byte N03 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N24 , En3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte N60 , Dn3 + .byte W36 + .byte W24 + .byte N12 , En4 , v064 + .byte W12 + .byte Fs4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte N48 , Ds4 + .byte W48 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 + .byte W12 + .byte BEND , c_v-8 + .byte W03 + .byte c_v-24 + .byte W03 + .byte c_v-40 + .byte W03 + .byte c_v-54 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N12 , Ds3 , v080 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N32 , En4 , v064 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N48 + .byte W12 + .byte BEND , c_v-1 + .byte W03 + .byte c_v-2 + .byte W03 + .byte c_v-3 + .byte W03 + .byte c_v-4 + .byte W03 + .byte c_v-5 + .byte W03 + .byte c_v-6 + .byte W03 + .byte c_v-7 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v-10 + .byte W03 + .byte c_v-10 + .byte W03 + .byte c_v-11 + .byte W03 + .byte c_v-12 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N12 + .byte W12 + .byte Fs4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte N03 , An4 + .byte W03 + .byte Bn4 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte N12 , Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte N96 , Fn4 + .byte W96 + .byte N48 , An4 + .byte W48 + .byte N24 , Cn5 + .byte W24 + .byte N06 , Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte VOICE , 29 + .byte VOL , 68*mus_rg_vs_tore_mvl/mxv + .byte N24 , En3 , v080 + .byte W24 + .byte N03 , Ds3 , v068 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Cn3 + .byte W03 + .byte N84 , Bn2 , v084 + .byte W36 + .byte MOD , 4 + .byte W24 + .byte VOL , 64*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 60*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 51*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 46*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 45*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 38*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 33*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 29*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 68*mus_rg_vs_tore_mvl/mxv + .byte MOD , 0 + .byte N12 , En3 , v080 + .byte W12 + .byte N03 , Ds3 , v072 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Cn3 , v080 + .byte W03 + .byte N24 , Bn2 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte TIE , Fn3 + .byte W12 + .byte W24 + .byte MOD , 4 + .byte W24 + .byte VOL , 64*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 60*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 51*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 46*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 45*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 38*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 33*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 29*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 26*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 24*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 19*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 13*mus_rg_vs_tore_mvl/mxv + .byte W15 + .byte PATT + .word mus_rg_vs_tore_1_000 + .byte EOT , Fn3 + .byte GOTO + .word mus_rg_vs_tore_1_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_vs_tore_2: + .byte KEYSH , mus_rg_vs_tore_key+0 + .byte VOICE , 17 + .byte LFOS , 44 + .byte VOL , 78*mus_rg_vs_tore_mvl/mxv + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 87*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_vs_tore_2_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 62 + .byte VOL , 56*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+31 + .byte N24 , Gn2 , v096 + .byte W12 + .byte VOL , 34*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte 55*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-42 + .byte N24 , Dn2 + .byte W12 + .byte VOL , 34*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte 55*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+32 + .byte N12 , En2 , v072 + .byte W12 + .byte N48 , Cn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte PAN , c_v+0 + .byte W03 + .byte c_v-14 + .byte W03 + .byte VOL , 44*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-16 + .byte W06 + .byte VOL , 34*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 21*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 10*mus_rg_vs_tore_mvl/mxv + .byte W72 + .byte N60 , Cn3 , v096 + .byte W12 + .byte VOL , 21*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-33 + .byte W03 + .byte VOL , 33*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 45*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+16 + .byte W03 + .byte VOL , 56*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+32 + .byte W36 + .byte W03 + .byte VOL , 55*mus_rg_vs_tore_mvl/mxv + .byte N24 , Gn2 + .byte W12 + .byte VOL , 34*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte 55*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-39 + .byte N24 , Dn2 + .byte W12 + .byte VOL , 34*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte 55*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+16 + .byte N12 , Gn3 , v064 + .byte W12 + .byte N72 , Ds4 + .byte W12 + .byte MOD , 5 + .byte W03 + .byte PAN , c_v-1 + .byte W03 + .byte c_v-16 + .byte W54 + .byte N06 , Dn4 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte N06 , Ds4 + .byte W06 + .byte PAN , c_v-33 + .byte N84 , Gn4 + .byte W03 + .byte PAN , c_v-17 + .byte W03 + .byte c_v+0 + .byte W03 + .byte c_v+16 + .byte W03 + .byte MOD , 5 + .byte W72 + .byte 0 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte TIE , En4 + .byte W03 + .byte PAN , c_v+16 + .byte W03 + .byte c_v-1 + .byte W03 + .byte c_v-16 + .byte W03 + .byte MOD , 5 + .byte W36 + .byte W03 + .byte PAN , c_v-17 + .byte W03 + .byte c_v-1 + .byte W03 + .byte c_v+16 + .byte W36 + .byte W03 + .byte W24 + .byte EOT + .byte VOICE , 17 + .byte VOL , 56*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+24 + .byte MOD , 0 + .byte N03 , Cn4 , v080 + .byte W03 + .byte Bn3 + .byte W03 + .byte As3 + .byte W03 + .byte An3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fn3 + .byte W03 + .byte PAN , c_v-48 + .byte N03 , En3 + .byte W03 + .byte Dn3 + .byte W03 + .byte En3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Gn3 + .byte W03 + .byte An3 + .byte W03 + .byte As3 + .byte W03 + .byte Cs4 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte PAN , c_v+48 + .byte N03 , Fn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte An4 + .byte W03 + .byte Cs5 , v068 + .byte W03 + .byte En5 , v060 + .byte W03 + .byte Gn5 + .byte W03 + .byte As5 + .byte W03 + .byte Cn6 + .byte W03 + .byte PAN , c_v+26 + .byte VOL , 49*mus_rg_vs_tore_mvl/mxv + .byte N03 , Dn6 , v072 + .byte W06 + .byte N06 + .byte W18 + .byte Dn5 + .byte W12 + .byte An5 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Fn5 + .byte W06 + .byte En5 + .byte W06 + .byte N24 , Dn5 + .byte W12 + .byte W12 + .byte N03 , Cs5 + .byte W03 + .byte Cn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte As4 + .byte W03 + .byte N24 , An4 + .byte W24 + .byte N03 , As4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Dn5 + .byte W03 + .byte En5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Gn5 + .byte W03 + .byte Gs5 + .byte W03 + .byte N24 , An5 + .byte W24 + .byte N03 , Ds6 + .byte W06 + .byte N06 + .byte W12 + .byte N03 , As5 + .byte W06 + .byte N24 , Ds6 , v080 + .byte W24 + .byte N06 , As5 , v072 + .byte W12 + .byte Ds6 + .byte W12 + .byte N06 + .byte W06 + .byte Dn6 + .byte W06 + .byte N24 , Cn6 + .byte W12 + .byte W12 + .byte N03 , Cs6 + .byte W03 + .byte Dn6 + .byte W03 + .byte Ds6 + .byte W03 + .byte En6 + .byte W03 + .byte N21 , Fn6 + .byte W21 + .byte N03 , En6 + .byte W03 + .byte N18 , Ds6 + .byte W18 + .byte N03 , Dn6 + .byte W03 + .byte Cs6 + .byte W03 + .byte N24 , Cn6 + .byte W24 + .byte N03 , Dn6 + .byte W06 + .byte N06 + .byte W12 + .byte An5 + .byte W06 + .byte Fn5 + .byte W12 + .byte An5 , v076 + .byte W12 + .byte Cs6 , v060 + .byte W06 + .byte Dn6 , v064 + .byte W06 + .byte N12 , Fn6 , v072 + .byte W12 + .byte N06 + .byte W06 + .byte Ds6 + .byte W06 + .byte N12 , Dn6 + .byte W12 + .byte N06 , Cs6 + .byte W06 + .byte Dn6 + .byte W06 + .byte An5 + .byte W12 + .byte N21 , Dn6 + .byte W21 + .byte N03 , Cs6 + .byte W03 + .byte N12 , Cn6 + .byte W12 + .byte As5 + .byte W12 + .byte An5 + .byte W12 + .byte Gn5 + .byte W12 + .byte As5 + .byte W12 + .byte N18 , Gn5 + .byte W18 + .byte N03 , An5 + .byte W03 + .byte As5 + .byte W03 + .byte N36 , Dn6 + .byte W36 + .byte N06 , Cn6 + .byte W06 + .byte As5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte VOICE , 17 + .byte N36 , Ds6 + .byte W36 + .byte Dn6 + .byte W36 + .byte N06 , Cn6 + .byte W06 + .byte As5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte VOICE , 5 + .byte PAN , c_v-48 + .byte VOL , 52*mus_rg_vs_tore_mvl/mxv + .byte N06 , Gn4 , v056 + .byte W06 + .byte Dn4 + .byte W12 + .byte Gn4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Dn4 + .byte W12 + .byte Gn4 + .byte W06 + .byte Dn4 , v040 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Dn5 , v056 + .byte W06 + .byte N06 + .byte W06 + .byte Gn4 + .byte W12 + .byte PAN , c_v+48 + .byte N06 , Dn4 + .byte W12 + .byte Gn4 + .byte W06 + .byte Fs4 , v048 + .byte W06 + .byte Fn4 , v056 + .byte W06 + .byte Cn4 + .byte W12 + .byte Fn4 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Cn4 + .byte W12 + .byte Fn4 + .byte W06 + .byte Cn4 , v040 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Dn5 , v056 + .byte W06 + .byte N06 + .byte W06 + .byte Fn4 + .byte W12 + .byte PAN , c_v-48 + .byte N06 , Dn4 + .byte W12 + .byte Fn4 + .byte W06 + .byte En4 , v052 + .byte W06 + .byte Ds4 , v056 + .byte W06 + .byte As3 + .byte W12 + .byte Ds4 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , As3 + .byte W12 + .byte Ds4 + .byte W06 + .byte As3 , v040 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Dn5 , v056 + .byte W06 + .byte N06 + .byte W06 + .byte Ds4 + .byte W12 + .byte PAN , c_v+48 + .byte N06 , Cn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cn4 + .byte W06 + .byte An3 + .byte W12 + .byte Cn4 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , An3 + .byte W12 + .byte Ds4 + .byte W06 + .byte An3 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , Dn5 + .byte W06 + .byte N06 + .byte W06 + .byte Ds4 + .byte W12 + .byte PAN , c_v-48 + .byte N06 , Cn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte VOICE , 17 + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_vs_tore_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_vs_tore_3: + .byte KEYSH , mus_rg_vs_tore_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 90*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+0 + .byte W48 + .byte N06 , As3 , v068 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte VOL , 90*mus_rg_vs_tore_mvl/mxv + .byte N24 , Gn3 , v072 + .byte W03 + .byte VOL , 78*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 67*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 56*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 44*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 34*mus_rg_vs_tore_mvl/mxv + .byte W09 + .byte 90*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte N12 , An3 + .byte W36 + .byte N18 , As3 + .byte W18 + .byte N03 , An3 + .byte W03 + .byte Gs3 + .byte W03 + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W24 + .byte As3 + .byte W36 + .byte N06 , Fn3 + .byte W12 + .byte N03 , Fn2 + .byte W12 + .byte VOL , 90*mus_rg_vs_tore_mvl/mxv + .byte N24 , Gn4 + .byte W03 + .byte VOL , 78*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 67*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 56*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 44*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 34*mus_rg_vs_tore_mvl/mxv + .byte W09 + .byte 90*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte N12 , An3 + .byte W36 + .byte N18 , As3 + .byte W18 + .byte N03 , An3 + .byte W03 + .byte Gs3 + .byte W03 + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W24 + .byte Cn4 + .byte W36 + .byte N03 , En3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte N15 , En3 + .byte W15 + .byte N06 , Gn3 + .byte W36 + .byte An3 + .byte W36 + .byte As3 + .byte W24 + .byte Gn3 + .byte W12 + .byte N18 , An3 + .byte W24 + .byte N12 , As3 + .byte W12 + .byte N03 , An3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fn3 + .byte W03 + .byte N12 , En3 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn4 + .byte W24 + .byte Gn4 , v052 + .byte W12 + .byte An4 , v072 + .byte W24 + .byte An4 , v052 + .byte W12 + .byte N18 , As4 , v072 + .byte W24 + .byte N06 , Gn4 , v064 + .byte W12 + .byte An4 , v076 + .byte W24 + .byte N30 , As4 + .byte W30 + .byte N03 , Gs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte N18 , Fn4 + .byte W24 + .byte PAN , c_v-48 + .byte VOL , 90*mus_rg_vs_tore_mvl/mxv + .byte N12 , Gn2 , v080 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N12 , Fs2 + .byte W12 + .byte N24 , Gn2 + .byte W24 + .byte En2 + .byte W24 + .byte Bn1 + .byte W24 + .byte N12 , An2 + .byte W12 + .byte N24 , Gn2 + .byte W24 + .byte N12 , Fs2 + .byte W12 + .byte Gn2 + .byte W12 + .byte An2 + .byte W12 + .byte N48 , As2 + .byte W48 + .byte N06 , Fn2 , v072 + .byte W06 + .byte Fs2 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , An2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fn2 + .byte W06 + .byte N06 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte As2 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte An2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fs2 + .byte W06 +mus_rg_vs_tore_3_B1: + .byte PAN , c_v-48 + .byte N12 , Gn2 , v080 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N12 , Fs2 + .byte W12 + .byte N24 , Gn2 + .byte W24 + .byte En2 + .byte W24 + .byte Bn1 + .byte W24 + .byte N12 , An2 + .byte W12 + .byte N24 , Gn2 + .byte W24 + .byte N12 , Fs2 + .byte W12 + .byte En2 + .byte W12 + .byte Fs2 + .byte W12 + .byte N48 , Gn2 + .byte W48 + .byte Fs2 + .byte W48 + .byte En2 + .byte W48 + .byte Fs2 + .byte W48 +mus_rg_vs_tore_3_000: + .byte N12 , Gn3 , v080 + .byte W12 + .byte Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn3 + .byte W24 + .byte Gn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte PEND + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn3 + .byte W24 + .byte Gn3 + .byte W12 + .byte N03 , Fs3 + .byte W03 + .byte An3 + .byte W03 + .byte N06 , Fs3 + .byte W06 + .byte N12 , En3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N24 , An3 + .byte W24 + .byte N06 , Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N24 , Gn3 + .byte W24 + .byte N06 , Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte N24 , Fs3 + .byte W24 + .byte N06 , Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N24 , Gn3 + .byte W24 + .byte N06 , Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte PATT + .word mus_rg_vs_tore_3_000 + .byte N12 , En3 , v080 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte N03 , Bn3 + .byte W03 + .byte Dn4 + .byte W03 + .byte N06 , Bn3 + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W24 + .byte N12 + .byte W12 + .byte En4 + .byte W12 + .byte N03 , Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte N06 , Dn4 + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte VOICE , 82 + .byte PAN , c_v-32 + .byte N06 , En2 + .byte W06 + .byte Fn2 , v076 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte As2 + .byte W06 + .byte Bn2 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte An2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Fn2 + .byte W06 + .byte N06 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte As2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cs3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte An2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte N06 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte As2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte An2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte PAN , c_v-32 + .byte N06 + .byte W06 + .byte Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte As2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Cn3 , v048 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs4 + .byte W06 + .byte An4 + .byte W06 + .byte VOICE , 81 + .byte PAN , c_v-48 + .byte N24 , Dn3 , v076 + .byte W12 + .byte VOL , 56*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte 90*mus_rg_vs_tore_mvl/mxv + .byte N24 , Gn3 + .byte W12 + .byte VOL , 56*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte 89*mus_rg_vs_tore_mvl/mxv + .byte N12 , Dn3 + .byte W12 + .byte N06 , Gn2 + .byte W06 + .byte An2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N12 , En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte En3 + .byte W12 + .byte N03 + .byte W03 + .byte Fn3 + .byte W03 + .byte En3 + .byte W03 + .byte Dn3 + .byte W03 + .byte N12 , Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W24 + .byte N24 , Dn3 + .byte W12 + .byte VOL , 68*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte 90*mus_rg_vs_tore_mvl/mxv + .byte N24 , Fn3 + .byte W12 + .byte VOL , 68*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte 90*mus_rg_vs_tore_mvl/mxv + .byte N12 , Gn3 + .byte W12 + .byte N06 , As2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N12 , An3 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N03 , As3 + .byte W03 + .byte Cn4 + .byte W03 + .byte N06 , As3 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte N03 , An3 + .byte W03 + .byte As3 + .byte W03 + .byte N06 , An3 + .byte W06 + .byte N12 , En3 + .byte W12 + .byte PAN , c_v-62 + .byte N06 , Fn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-63 + .byte N06 , An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-63 + .byte N06 , An2 + .byte W12 + .byte Fn2 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Dn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte An2 + .byte W06 + .byte N03 , Gs2 + .byte W06 +mus_rg_vs_tore_3_001: + .byte N06 , Gn2 , v076 + .byte W12 + .byte Ds2 + .byte W12 + .byte PAN , c_v-62 + .byte N06 , As2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Ds2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Ds2 + .byte W12 + .byte PEND + .byte PAN , c_v-62 + .byte N06 , As2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Ds2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte Gn2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Ds2 + .byte W12 + .byte PAN , c_v-61 + .byte N06 , Gn2 + .byte W12 + .byte As2 + .byte W06 + .byte N03 , Gs2 + .byte W03 + .byte Gn2 + .byte W03 + .byte N06 , Fn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-62 + .byte N06 , An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v-62 + .byte N06 , An2 + .byte W12 + .byte Fn2 + .byte W06 + .byte En2 + .byte W06 + .byte Dn2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , Fn2 + .byte W12 + .byte An2 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte PATT + .word mus_rg_vs_tore_3_001 + .byte PAN , c_v-62 + .byte N06 , As2 , v076 + .byte W12 + .byte Gn2 + .byte W12 + .byte Ds2 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W06 + .byte An2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fn2 + .byte W06 + .byte PAN , c_v-62 + .byte N06 , Ds2 + .byte W06 + .byte Gn2 + .byte W06 + .byte As2 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte PAN , c_v-48 + .byte N96 , Gn2 + .byte W96 + .byte Fn2 + .byte W96 + .byte Ds2 + .byte W96 + .byte N72 , Cn2 + .byte W72 + .byte N06 , Gn2 + .byte W06 + .byte An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte VOICE , 81 + .byte PAN , c_v+63 + .byte N48 , Gn3 + .byte W48 + .byte PAN , c_v-63 + .byte N48 , As3 + .byte W48 + .byte PAN , c_v+63 + .byte N48 , Ds3 + .byte W48 + .byte PAN , c_v-64 + .byte N48 , Fn3 + .byte W48 + .byte PAN , c_v+63 + .byte N48 , Gn3 + .byte W48 + .byte PAN , c_v-64 + .byte N48 , An3 + .byte W48 + .byte PAN , c_v+63 + .byte N48 , As3 + .byte W48 + .byte PAN , c_v-64 + .byte N48 , Cn4 + .byte W48 +mus_rg_vs_tore_3_002: + .byte PAN , c_v-48 + .byte N12 , An4 , v076 + .byte W24 + .byte PAN , c_v+48 + .byte N06 + .byte W12 + .byte N12 + .byte W24 + .byte N06 + .byte W12 + .byte PAN , c_v-48 + .byte N12 + .byte W24 + .byte PEND +mus_rg_vs_tore_3_003: + .byte PAN , c_v+48 + .byte N12 , An4 , v076 + .byte W24 + .byte PAN , c_v-48 + .byte N06 + .byte W12 + .byte N12 + .byte W24 + .byte N06 + .byte W12 + .byte PAN , c_v+48 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_vs_tore_3_002 + .byte PATT + .word mus_rg_vs_tore_3_003 + .byte PAN , c_v-48 + .byte N12 , Fn2 , v084 + .byte W12 + .byte N24 , Gn2 + .byte W24 + .byte N12 , En2 + .byte W12 + .byte N24 , Fs2 + .byte W36 + .byte N06 + .byte W06 + .byte Gn2 + .byte W06 + .byte An2 + .byte W12 + .byte Gn2 + .byte W12 + .byte En2 + .byte W12 + .byte Fs2 + .byte W60 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte As2 + .byte W06 + .byte N06 + .byte W06 + .byte An2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fs2 + .byte W36 + .byte N06 + .byte W06 + .byte Gn2 + .byte W06 + .byte An2 + .byte W12 + .byte As2 + .byte W12 + .byte An2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N12 + .byte W12 + .byte An2 + .byte W12 + .byte As2 + .byte W12 + .byte Cn3 + .byte W12 + .byte N06 , Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte As2 + .byte W06 + .byte Bn2 + .byte W06 + .byte N06 + .byte W06 + .byte As2 + .byte W06 + .byte An2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Gn2 + .byte W48 + .byte W12 + .byte N12 , Bn2 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N12 , Gs2 + .byte W12 + .byte N03 , An2 + .byte W03 + .byte Bn2 + .byte W03 + .byte N06 , An2 + .byte W06 + .byte N12 , Bn2 + .byte W12 + .byte As2 + .byte W12 + .byte N48 , An2 + .byte W48 + .byte Bn2 + .byte W48 + .byte Cn3 + .byte W48 + .byte N24 , Fn3 + .byte W48 + .byte VOL , 90*mus_rg_vs_tore_mvl/mxv + .byte N12 , Gn2 , v076 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N12 , Fs2 + .byte W12 + .byte N24 , Gn2 + .byte W24 + .byte En2 + .byte W24 + .byte Bn1 + .byte W24 + .byte N12 , An2 + .byte W12 + .byte N24 , Gn2 + .byte W24 + .byte N12 , Fs2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N60 , As2 + .byte W12 + .byte W48 + .byte N06 , Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte PAN , c_v+48 + .byte N06 , An2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fn2 + .byte W06 + .byte N06 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte As2 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cn3 + .byte W06 + .byte PAN , c_v-48 + .byte N06 , Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte An2 + .byte W06 + .byte Gs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte GOTO + .word mus_rg_vs_tore_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_vs_tore_4: + .byte KEYSH , mus_rg_vs_tore_key+0 + .byte VOICE , 33 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+63 + .byte VOL , 56*mus_rg_vs_tore_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , En2 , v124 + .byte W06 + .byte Ds2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Dn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Cn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Cn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte As1 + .byte W06 + .byte An1 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , As1 + .byte W06 + .byte An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte PAN , c_v+63 + .byte BEND , c_v+0 + .byte N06 , Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Fn1 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Fs1 + .byte W06 + .byte Fn1 + .byte W06 + .byte En1 + .byte W06 + .byte Ds1 + .byte W06 + .byte PAN , c_v+0 + .byte VOL , 65*mus_rg_vs_tore_mvl/mxv + .byte N06 , Dn1 + .byte W06 + .byte N03 , An1 , v120 + .byte W06 + .byte N06 , Dn2 , v124 + .byte W06 + .byte N03 , An1 , v120 + .byte W06 + .byte N06 , Ds1 , v124 + .byte W06 + .byte N03 , Bn1 , v120 + .byte W06 + .byte N06 , Ds2 , v124 + .byte W06 + .byte N03 , Bn1 , v120 + .byte W06 + .byte PAN , c_v-64 + .byte VOL , 56*mus_rg_vs_tore_mvl/mxv + .byte BEND , c_v+0 + .byte N24 , En1 , v124 + .byte W12 + .byte BEND , c_v+63 + .byte W12 + .byte PAN , c_v+63 + .byte BEND , c_v+0 + .byte N12 , Gn1 + .byte W12 + .byte An1 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En1 + .byte W12 + .byte As1 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An1 + .byte W06 + .byte BEND , c_v+17 + .byte W03 + .byte c_v+0 + .byte W03 + .byte N12 , Gn1 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En1 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn1 + .byte W12 + .byte An1 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En1 + .byte W12 + .byte BEND , c_v-16 + .byte N12 , Gn1 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte PAN , c_v+63 + .byte N24 , Dn1 + .byte W06 + .byte BEND , c_v+13 + .byte W06 + .byte c_v+0 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En1 + .byte W06 + .byte BEND , c_v+63 + .byte W06 + .byte c_v+0 + .byte N12 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn1 + .byte W12 + .byte An1 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En1 + .byte W12 + .byte As1 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En1 + .byte W06 + .byte BEND , c_v-5 + .byte W06 + .byte c_v+0 + .byte N12 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn1 + .byte W12 + .byte An1 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En1 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En1 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn1 + .byte W12 + .byte An1 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En1 + .byte W12 + .byte As1 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An1 + .byte W06 + .byte BEND , c_v+12 + .byte W06 + .byte c_v+0 + .byte N12 , Gn1 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En1 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn1 + .byte W12 + .byte An1 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Ds1 + .byte W12 + .byte BEND , c_v-6 + .byte N12 , Ds2 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte PAN , c_v-64 + .byte N24 , En1 + .byte W12 + .byte BEND , c_v+12 + .byte W06 + .byte c_v+0 + .byte W06 + .byte PAN , c_v+63 + .byte N12 , Gn1 + .byte W12 + .byte An1 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En1 + .byte W12 + .byte As1 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , En1 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn1 + .byte W12 + .byte An1 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Ds1 + .byte W12 + .byte Ds2 + .byte W12 + .byte VOICE , 33 + .byte PAN , c_v+0 + .byte VOL , 56*mus_rg_vs_tore_mvl/mxv + .byte N06 , Ds1 + .byte W06 + .byte En1 + .byte W06 + .byte N12 , Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte As1 + .byte W12 + .byte En1 + .byte W18 + .byte N06 , An1 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte Gs1 + .byte W12 +mus_rg_vs_tore_4_000: + .byte N12 , En1 , v124 + .byte W12 + .byte Gn1 + .byte W12 + .byte En1 + .byte W12 + .byte An1 + .byte W12 + .byte En1 + .byte W18 + .byte N06 , As1 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte PEND +mus_rg_vs_tore_4_001: + .byte N12 , En1 , v124 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fn1 + .byte W18 + .byte N06 , As1 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte Bn1 + .byte W12 + .byte PEND +mus_rg_vs_tore_4_002: + .byte N12 , Fn1 , v124 + .byte W18 + .byte N06 , Cn2 + .byte W06 + .byte N12 , Dn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte En1 + .byte W06 + .byte Dn1 + .byte W06 + .byte PEND +mus_rg_vs_tore_4_B1: + .byte N12 , En2 , v124 + .byte W12 + .byte Bn1 + .byte W12 + .byte As1 + .byte W12 + .byte N06 , Bn1 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En2 + .byte W12 + .byte As1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Gn1 + .byte W12 + .byte An1 + .byte W12 + .byte Gs1 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte N12 , Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N06 , Fs1 + .byte W12 + .byte N12 , Dn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte BEND , c_v+0 + .byte N12 , Cn1 + .byte W36 + .byte Gn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte En2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte W12 + .byte Cn1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte Cs1 + .byte W12 + .byte Dn1 + .byte W24 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte En2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte Dn2 + .byte W12 + .byte W12 + .byte N12 + .byte W24 + .byte Gs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 + .byte W36 + .byte N12 + .byte W24 + .byte Gn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte En2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W24 + .byte N12 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Gs1 + .byte W12 + .byte An1 + .byte W12 + .byte W12 + .byte Dn1 + .byte W12 + .byte N12 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Fs1 + .byte W12 +mus_rg_vs_tore_4_003: + .byte N12 , En1 , v124 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte PEND + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte An1 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Bn1 + .byte W12 +mus_rg_vs_tore_4_004: + .byte N12 , Fn1 , v124 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte PEND + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gs1 + .byte W12 + .byte As1 + .byte W12 + .byte Cn2 + .byte W12 + .byte As1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Fs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Fs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Fs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Fs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte An1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte As1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte As1 + .byte W12 + .byte An1 + .byte W12 + .byte N24 , Gn1 + .byte W12 + .byte VOL , 34*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte 55*mus_rg_vs_tore_mvl/mxv + .byte N24 , Dn1 + .byte W12 + .byte VOL , 34*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte 56*mus_rg_vs_tore_mvl/mxv + .byte N12 , Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte En1 + .byte W12 + .byte Cn2 + .byte W12 + .byte En1 + .byte W12 + .byte Cn2 + .byte W12 + .byte En1 + .byte W12 + .byte Cn2 + .byte W12 + .byte En1 + .byte W12 + .byte Cn2 + .byte W12 + .byte As1 + .byte W12 + .byte Cn2 + .byte W12 + .byte BEND , c_v+0 + .byte N12 , En1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Ds2 + .byte W03 + .byte BEND , c_v+5 + .byte W06 + .byte c_v+0 + .byte W03 + .byte N12 , Cn2 + .byte W12 + .byte N24 , Gn1 + .byte W12 + .byte VOL , 33*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte 55*mus_rg_vs_tore_mvl/mxv + .byte N24 , Dn1 + .byte W12 + .byte VOL , 34*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte 56*mus_rg_vs_tore_mvl/mxv + .byte N12 , Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds2 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte En1 + .byte W12 + .byte An1 + .byte W12 + .byte En1 + .byte W12 + .byte An1 + .byte W12 + .byte En1 + .byte W12 + .byte An1 + .byte W12 + .byte En1 + .byte W12 + .byte An1 + .byte W12 + .byte En1 + .byte W12 + .byte An1 + .byte W12 + .byte En2 + .byte W12 + .byte An1 + .byte W12 + .byte En1 + .byte W12 + .byte En2 + .byte W12 + .byte Ds2 + .byte W12 + .byte Gn1 + .byte W12 +mus_rg_vs_tore_4_005: + .byte N12 , Dn1 , v124 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gs1 + .byte W12 + .byte PEND + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , Fn2 + .byte W06 + .byte En2 + .byte W06 + .byte N12 , Dn2 + .byte W12 +mus_rg_vs_tore_4_006: + .byte N12 , Ds1 , v124 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte An1 + .byte W12 + .byte PEND + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte N06 , Ds2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N12 , Cn2 + .byte W12 + .byte PATT + .word mus_rg_vs_tore_4_005 + .byte N12 , Dn1 , v124 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , As1 + .byte W12 + .byte PATT + .word mus_rg_vs_tore_4_006 +mus_rg_vs_tore_4_007: + .byte N12 , Ds1 , v124 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte PEND + .byte N24 , Ds1 + .byte W24 + .byte As1 + .byte W36 + .byte N12 , Ds1 + .byte W12 + .byte N24 , As1 + .byte W24 + .byte Ds1 + .byte W24 + .byte An1 + .byte W36 + .byte N12 , Ds1 + .byte W12 + .byte Dn2 + .byte W12 + .byte An1 + .byte W12 +mus_rg_vs_tore_4_008: + .byte N24 , Ds1 , v124 + .byte W24 + .byte Gn1 + .byte W24 + .byte Ds1 + .byte W24 + .byte Gn1 + .byte W24 + .byte PEND + .byte Ds1 + .byte W24 + .byte An1 + .byte W36 + .byte N12 , Ds1 + .byte W12 + .byte Fn2 + .byte W12 + .byte As1 + .byte W12 + .byte N24 , Ds1 + .byte W24 + .byte As1 + .byte W24 + .byte Ds1 + .byte W24 + .byte As1 + .byte W24 +mus_rg_vs_tore_4_009: + .byte N24 , Ds1 , v124 + .byte W24 + .byte An1 + .byte W24 + .byte Ds1 + .byte W24 + .byte An1 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_vs_tore_4_008 + .byte PATT + .word mus_rg_vs_tore_4_009 +mus_rg_vs_tore_4_010: + .byte N12 , Dn1 , v124 + .byte W12 + .byte An1 + .byte W12 + .byte N12 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte N12 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte PEND +mus_rg_vs_tore_4_011: + .byte N12 , An1 , v124 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte N12 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte N12 + .byte W12 + .byte En1 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_tore_4_010 + .byte PATT + .word mus_rg_vs_tore_4_011 +mus_rg_vs_tore_4_012: + .byte N12 , Dn1 , v124 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_tore_4_012 + .byte PATT + .word mus_rg_vs_tore_4_007 + .byte PATT + .word mus_rg_vs_tore_4_007 + .byte PATT + .word mus_rg_vs_tore_4_003 + .byte PATT + .word mus_rg_vs_tore_4_003 + .byte PATT + .word mus_rg_vs_tore_4_004 + .byte N12 , Fn1 , v124 + .byte W12 + .byte Cn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte VOICE , 33 + .byte N12 , En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte As1 + .byte W12 + .byte En1 + .byte W18 + .byte N06 , An1 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte Gs1 + .byte W12 + .byte PATT + .word mus_rg_vs_tore_4_000 + .byte PATT + .word mus_rg_vs_tore_4_001 + .byte PATT + .word mus_rg_vs_tore_4_002 + .byte GOTO + .word mus_rg_vs_tore_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_vs_tore_5: + .byte KEYSH , mus_rg_vs_tore_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 56*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Dn6 , v064 + .byte W06 + .byte Cs6 + .byte W06 + .byte Cn6 + .byte W06 + .byte Bn5 + .byte W06 + .byte Dn6 + .byte W06 + .byte As5 + .byte W06 + .byte Bn5 + .byte W06 + .byte As5 + .byte W06 + .byte Dn6 + .byte W06 + .byte An5 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte Dn6 + .byte W06 + .byte Gs5 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Dn6 + .byte W06 + .byte Gn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Dn6 + .byte W06 + .byte Fs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Dn6 + .byte W06 + .byte Fn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Dn6 + .byte W06 + .byte En5 + .byte W06 + .byte Fn5 + .byte W06 + .byte En5 + .byte W06 + .byte VOICE , 62 + .byte VOL , 77*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+7 + .byte BEND , c_v+0 + .byte N96 , En2 , v127 + .byte W12 + .byte BEND , c_v+63 + .byte W12 + .byte c_v+16 + .byte W12 + .byte c_v+26 + .byte W12 + .byte c_v+0 + .byte W12 + .byte c_v+32 + .byte W12 + .byte c_v+26 + .byte W06 + .byte c_v+37 + .byte W03 + .byte c_v+26 + .byte W03 + .byte c_v+16 + .byte W12 + .byte c_v+0 + .byte N96 + .byte W12 + .byte BEND , c_v-11 + .byte W12 + .byte c_v+16 + .byte W12 + .byte c_v+26 + .byte W12 + .byte c_v+0 + .byte W12 + .byte c_v+0 + .byte W03 + .byte c_v+16 + .byte W03 + .byte c_v+0 + .byte W06 + .byte c_v-11 + .byte W06 + .byte c_v-22 + .byte W06 + .byte c_v-11 + .byte W12 + .byte c_v+0 + .byte N12 , En2 , v112 + .byte W06 + .byte BEND , c_v+63 + .byte W06 + .byte c_v+0 + .byte N12 + .byte W12 + .byte Gn2 + .byte W12 + .byte An2 + .byte W12 + .byte En2 + .byte W12 + .byte As2 + .byte W12 + .byte An2 + .byte W12 + .byte Gn2 + .byte W12 + .byte En2 + .byte W06 + .byte BEND , c_v-5 + .byte W06 + .byte c_v+0 + .byte N12 + .byte W12 + .byte Gn2 + .byte W12 + .byte An2 + .byte W12 + .byte En2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Ds2 + .byte W12 + .byte As2 + .byte W12 + .byte En2 + .byte W12 + .byte N12 + .byte W12 + .byte Gn2 + .byte W12 + .byte An2 + .byte W12 + .byte En2 + .byte W12 + .byte As2 + .byte W12 + .byte An2 + .byte W06 + .byte BEND , c_v+12 + .byte W06 + .byte c_v+0 + .byte N12 , Gn2 + .byte W12 + .byte En2 + .byte W12 + .byte N12 + .byte W12 + .byte Gn2 + .byte W12 + .byte An2 + .byte W12 + .byte En2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Ds2 + .byte W12 + .byte BEND , c_v-6 + .byte N12 , Ds3 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N24 , En2 + .byte W12 + .byte BEND , c_v+12 + .byte W06 + .byte c_v+0 + .byte W06 + .byte N12 , Gn2 + .byte W12 + .byte An2 + .byte W12 + .byte En2 + .byte W12 + .byte As2 + .byte W12 + .byte An2 + .byte W12 + .byte Gn2 + .byte W12 + .byte En2 + .byte W12 + .byte N12 + .byte W12 + .byte Gn2 + .byte W12 + .byte An2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Ds2 + .byte W12 + .byte Ds3 + .byte W12 + .byte VOICE , 62 + .byte PAN , c_v+19 + .byte VOL , 38*mus_rg_vs_tore_mvl/mxv + .byte N24 , Bn3 , v080 + .byte W36 + .byte N06 , En3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N03 + .byte W12 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Gn3 + .byte W24 + .byte N24 , En3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte VOL , 34*mus_rg_vs_tore_mvl/mxv + .byte BEND , c_v+0 + .byte N60 , Cn4 + .byte W60 + .byte N06 , An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 , v104 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 , v108 + .byte W06 + .byte BEND , c_v+0 + .byte N03 , Cn4 , v112 + .byte W06 + .byte N06 , Cn4 , v088 + .byte W06 + .byte N03 , Cn4 , v092 + .byte W06 + .byte N06 , Cn4 , v088 + .byte W06 + .byte N03 , Cn4 , v112 + .byte W06 + .byte N06 , Cn4 , v088 + .byte W06 + .byte N03 , Cn4 , v092 + .byte W06 + .byte N06 + .byte W06 + .byte N48 , Cn4 , v112 + .byte W15 + .byte BEND , c_v-3 + .byte W03 + .byte c_v-5 + .byte W06 + .byte c_v-8 + .byte W03 + .byte c_v-14 + .byte W03 + .byte c_v-18 + .byte W03 + .byte c_v-20 + .byte W03 + .byte c_v-29 + .byte W03 + .byte c_v-37 + .byte W03 + .byte c_v-47 + .byte W03 + .byte c_v-58 + .byte W03 +mus_rg_vs_tore_5_B1: + .byte VOL , 53*mus_rg_vs_tore_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Bn2 , v112 + .byte W12 + .byte N06 , Cn3 + .byte W12 + .byte N03 , Bn2 + .byte W03 + .byte Cn3 + .byte W03 + .byte N06 , Bn2 + .byte W06 + .byte An2 + .byte W12 + .byte N12 , En3 + .byte W12 + .byte N03 , Bn2 + .byte W12 + .byte N06 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Gn2 + .byte W12 + .byte N03 , Bn2 + .byte W12 + .byte N12 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Gn2 + .byte W12 + .byte N03 , Bn2 + .byte W12 + .byte N12 , En3 + .byte W12 + .byte N03 , Ds3 + .byte W12 + .byte N12 , Dn3 + .byte W12 + .byte N03 , An2 + .byte W12 + .byte N12 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Gs2 + .byte W12 + .byte N03 , An2 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Dn3 + .byte W12 + .byte N03 , En3 + .byte W12 + .byte An2 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , Cs3 + .byte W12 + .byte N03 , Dn3 + .byte W12 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte VOICE , 30 + .byte N03 , Gn3 + .byte W06 + .byte VOL , 22*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+35 + .byte N96 + .byte W15 + .byte PAN , c_v+25 + .byte W03 + .byte c_v+12 + .byte W03 + .byte c_v+5 + .byte W03 + .byte VOL , 20*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-9 + .byte W03 + .byte VOL , 17*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-18 + .byte W03 + .byte VOL , 17*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-31 + .byte W03 + .byte VOL , 14*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-38 + .byte W03 + .byte VOL , 12*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-42 + .byte W03 + .byte VOL , 9*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-47 + .byte W03 + .byte VOL , 8*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-53 + .byte W03 + .byte VOL , 7*mus_rg_vs_tore_mvl/mxv + .byte W48 + .byte W03 + .byte 22*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+35 + .byte N48 , Cn4 + .byte W15 + .byte PAN , c_v+25 + .byte W03 + .byte c_v+12 + .byte W03 + .byte c_v+5 + .byte W03 + .byte VOL , 20*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-9 + .byte W03 + .byte VOL , 17*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-18 + .byte W03 + .byte VOL , 17*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-31 + .byte W03 + .byte VOL , 14*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-38 + .byte W03 + .byte VOL , 12*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-42 + .byte W03 + .byte VOL , 9*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-47 + .byte W03 + .byte VOL , 8*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-53 + .byte W03 + .byte VOL , 7*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 22*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+35 + .byte N48 , Gn3 + .byte W15 + .byte PAN , c_v+25 + .byte W03 + .byte c_v+12 + .byte W03 + .byte c_v+5 + .byte W03 + .byte VOL , 20*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-9 + .byte W03 + .byte VOL , 17*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-18 + .byte W03 + .byte VOL , 17*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-31 + .byte W03 + .byte VOL , 14*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-38 + .byte W03 + .byte VOL , 12*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-42 + .byte W03 + .byte VOL , 9*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-47 + .byte W03 + .byte VOL , 8*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-53 + .byte W03 + .byte VOL , 7*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 22*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+35 + .byte N90 , An3 + .byte W15 + .byte PAN , c_v+25 + .byte W03 + .byte c_v+12 + .byte W03 + .byte c_v+5 + .byte W03 + .byte VOL , 20*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-9 + .byte W03 + .byte VOL , 17*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-18 + .byte W03 + .byte VOL , 17*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-31 + .byte W03 + .byte VOL , 14*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-38 + .byte W03 + .byte VOL , 12*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-42 + .byte W03 + .byte VOL , 9*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-47 + .byte W03 + .byte VOL , 8*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-53 + .byte W03 + .byte VOL , 7*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 8*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 9*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 12*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 13*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 14*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 17*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 18*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 19*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 20*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 22*mus_rg_vs_tore_mvl/mxv + .byte W15 + .byte N03 + .byte W06 + .byte PAN , c_v+35 + .byte N42 + .byte W15 + .byte PAN , c_v+25 + .byte W03 + .byte c_v+12 + .byte W03 + .byte c_v+5 + .byte W03 + .byte VOL , 20*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-9 + .byte W03 + .byte VOL , 17*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-18 + .byte W03 + .byte VOL , 17*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-31 + .byte W03 + .byte VOL , 14*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-38 + .byte W03 + .byte VOL , 12*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-42 + .byte W03 + .byte VOL , 9*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+35 + .byte W03 + .byte VOL , 22*mus_rg_vs_tore_mvl/mxv + .byte N06 , Gs3 + .byte W06 + .byte N24 , Gn3 + .byte W24 + .byte N12 , Fs3 , v092 + .byte W12 + .byte N06 , Gs3 , v088 + .byte W06 + .byte N03 , Gn3 , v080 + .byte W06 + .byte VOL , 22*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+35 + .byte N90 , Gn3 , v112 + .byte W15 + .byte PAN , c_v+25 + .byte W03 + .byte c_v+12 + .byte W03 + .byte c_v+5 + .byte W03 + .byte VOL , 20*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-9 + .byte W03 + .byte VOL , 17*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-18 + .byte W03 + .byte VOL , 17*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-31 + .byte W03 + .byte VOL , 14*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-38 + .byte W03 + .byte VOL , 12*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-42 + .byte W03 + .byte VOL , 9*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-47 + .byte W03 + .byte VOL , 8*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-53 + .byte W03 + .byte VOL , 7*mus_rg_vs_tore_mvl/mxv + .byte W44 + .byte W01 + .byte 22*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+35 + .byte N03 , En4 + .byte W06 + .byte PAN , c_v+35 + .byte N42 + .byte W15 + .byte PAN , c_v+25 + .byte W03 + .byte c_v+12 + .byte W03 + .byte c_v+5 + .byte W03 + .byte VOL , 20*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-9 + .byte W03 + .byte VOL , 17*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-18 + .byte W03 + .byte VOL , 17*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-31 + .byte W03 + .byte VOL , 14*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-38 + .byte W03 + .byte VOL , 12*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-42 + .byte W03 + .byte VOL , 9*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-47 + .byte W03 + .byte VOL , 22*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+35 + .byte N03 , Fs4 + .byte W06 + .byte PAN , c_v+35 + .byte N48 , Gn4 + .byte W15 + .byte PAN , c_v+25 + .byte W03 + .byte c_v+12 + .byte W03 + .byte c_v+5 + .byte W03 + .byte VOL , 20*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-9 + .byte W03 + .byte VOL , 17*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-18 + .byte W03 + .byte VOL , 17*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-31 + .byte W03 + .byte VOL , 14*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-38 + .byte W03 + .byte VOL , 12*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-42 + .byte W03 + .byte VOL , 9*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-47 + .byte W03 + .byte VOL , 8*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-53 + .byte W03 + .byte VOL , 7*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 22*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+35 + .byte N06 , Dn4 + .byte W12 + .byte N24 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs4 + .byte W12 + .byte N24 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Gn4 + .byte W24 + .byte N12 , An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte VOICE , 60 + .byte PAN , c_v-24 + .byte VOL , 39*mus_rg_vs_tore_mvl/mxv + .byte BEND , c_v+0 + .byte TIE , Gn4 + .byte W96 + .byte W48 + .byte EOT + .byte N42 , Fs4 + .byte W42 + .byte N03 + .byte W06 + .byte N72 , Fn4 + .byte W72 + .byte N18 , En4 + .byte W18 + .byte N03 , Ds4 + .byte W06 + .byte N24 , Dn4 + .byte W24 + .byte N12 , Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N06 , Gn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N90 , An4 + .byte W48 + .byte BEND , c_v-8 + .byte W06 + .byte c_v+0 + .byte W36 + .byte N03 + .byte W06 + .byte N48 + .byte W48 + .byte N42 , Gs4 + .byte W24 + .byte BEND , c_v+6 + .byte W09 + .byte c_v+0 + .byte W09 + .byte N03 , Gn4 + .byte W06 + .byte N72 + .byte W72 + .byte N24 , En4 + .byte W24 + .byte N48 , Dn4 + .byte W48 + .byte Dn5 , v104 + .byte W48 + .byte W96 + .byte VOICE , 120 + .byte PAN , c_v-1 + .byte W12 + .byte c_v-48 + .byte N72 , Cn5 , v032 + .byte W06 + .byte PAN , c_v-39 + .byte W06 + .byte c_v-32 + .byte VOL , 24*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 29*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte PAN , c_v-23 + .byte VOL , 35*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 38*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte PAN , c_v-16 + .byte VOL , 43*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 48*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte PAN , c_v-6 + .byte VOL , 51*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 53*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte PAN , c_v+49 + .byte W03 + .byte VOL , 56*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 58*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 58*mus_rg_vs_tore_mvl/mxv + .byte W36 + .byte PAN , c_v+16 + .byte VOL , 36*mus_rg_vs_tore_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 56 + .byte VOL , 53*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-35 + .byte BEND , c_v+0 + .byte W24 + .byte N06 , Ds5 , v112 + .byte W24 + .byte Dn5 + .byte W12 + .byte Ds5 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte Dn5 + .byte W12 + .byte N24 , Cn5 + .byte W06 + .byte BEND , c_v-11 + .byte W06 + .byte c_v+0 + .byte W12 + .byte N06 , Ds5 + .byte W12 + .byte N06 + .byte W36 + .byte N06 + .byte W12 + .byte N03 , Dn5 + .byte W12 + .byte N06 , Ds5 , v116 + .byte W36 + .byte Ds5 , v112 + .byte W06 + .byte Dn5 + .byte W06 + .byte Ds5 + .byte W24 + .byte N06 + .byte W12 + .byte Fn5 + .byte W12 + .byte N12 , Gn5 + .byte W12 + .byte N03 , Fs5 + .byte W03 + .byte Fn5 , v104 + .byte W03 + .byte En5 , v100 + .byte W03 + .byte Ds5 , v096 + .byte W03 + .byte Dn5 , v092 + .byte W03 + .byte Cs5 , v080 + .byte W09 + .byte VOICE , 30 + .byte W12 + .byte N09 , Dn3 , v112 + .byte W12 + .byte N09 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , Dn2 + .byte W03 + .byte Dn3 + .byte W03 + .byte Dn2 + .byte W03 + .byte Dn3 + .byte W03 + .byte Dn2 + .byte W03 + .byte Dn3 + .byte W03 + .byte Dn2 + .byte W03 + .byte Dn3 + .byte W03 + .byte W12 + .byte N06 , An2 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte BEND , c_v-35 + .byte N24 , An3 + .byte W06 + .byte BEND , c_v-64 + .byte W06 + .byte c_v+0 + .byte W03 + .byte c_v-64 + .byte W09 + .byte VOICE , 29 + .byte BEND , c_v+0 + .byte W12 + .byte N09 , An2 + .byte W12 + .byte N09 + .byte W24 + .byte N09 + .byte W12 + .byte N09 + .byte W12 + .byte N12 + .byte W06 + .byte BEND , c_v-19 + .byte W06 + .byte c_v+0 + .byte N03 , Bn2 + .byte W03 + .byte Cn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Dn3 + .byte W03 + .byte VOICE , 30 + .byte PAN , c_v-4 + .byte BEND , c_v+0 + .byte N96 , An3 + .byte W03 + .byte BEND , c_v-2 + .byte W03 + .byte c_v-4 + .byte W03 + .byte c_v-5 + .byte W03 + .byte c_v-7 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v-10 + .byte W03 + .byte c_v-13 + .byte W03 + .byte c_v-17 + .byte W03 + .byte c_v-19 + .byte W03 + .byte c_v-21 + .byte W03 + .byte c_v-23 + .byte W03 + .byte c_v-24 + .byte W03 + .byte c_v-26 + .byte W03 + .byte c_v-27 + .byte W03 + .byte c_v-29 + .byte W03 + .byte c_v-32 + .byte W03 + .byte c_v-34 + .byte W03 + .byte c_v-35 + .byte W03 + .byte c_v-36 + .byte W03 + .byte c_v-39 + .byte W03 + .byte c_v-41 + .byte W03 + .byte c_v-43 + .byte W03 + .byte c_v-45 + .byte W03 + .byte c_v-49 + .byte W03 + .byte c_v-51 + .byte W03 + .byte c_v-54 + .byte W03 + .byte c_v-55 + .byte W03 + .byte c_v-57 + .byte W03 + .byte c_v-59 + .byte W03 + .byte c_v-63 + .byte W06 + .byte c_v+0 + .byte N03 , Dn4 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W78 + .byte W96 + .byte W48 + .byte Ds5 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W30 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 62 + .byte PAN , c_v+32 + .byte VOL , 33*mus_rg_vs_tore_mvl/mxv + .byte N24 , Bn3 , v080 + .byte W36 + .byte N06 , En3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N03 + .byte W12 + .byte N06 + .byte W18 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Gn3 + .byte W24 + .byte N24 , En3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte N60 , Cn4 + .byte W12 + .byte BEND , c_v+0 + .byte W60 + .byte N06 , An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Dn5 , v104 + .byte W06 + .byte En5 + .byte W06 + .byte Fn5 , v108 + .byte W06 + .byte BEND , c_v+0 + .byte N03 , Cn5 , v112 + .byte W06 + .byte N06 , Cn5 , v088 + .byte W06 + .byte N03 , Cn5 , v092 + .byte W06 + .byte N06 , Cn5 , v088 + .byte W06 + .byte N03 , Cn5 , v112 + .byte W06 + .byte N06 , Cn5 , v088 + .byte W06 + .byte N03 , Cn5 , v092 + .byte W06 + .byte N06 + .byte W06 + .byte N48 , Cn5 , v112 + .byte W15 + .byte BEND , c_v-3 + .byte W03 + .byte c_v-5 + .byte W06 + .byte c_v-8 + .byte W03 + .byte c_v-14 + .byte W03 + .byte c_v-18 + .byte W03 + .byte c_v-20 + .byte W03 + .byte c_v-29 + .byte W03 + .byte c_v-37 + .byte W03 + .byte c_v-47 + .byte W03 + .byte c_v-58 + .byte W03 + .byte GOTO + .word mus_rg_vs_tore_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_vs_tore_6: + .byte KEYSH , mus_rg_vs_tore_key+0 + .byte VOICE , 48 + .byte VOL , 62*mus_rg_vs_tore_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte N06 , Cs3 , v060 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v+0 + .byte W03 + .byte VOL , 55*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 46*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 36*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 26*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte 70*mus_rg_vs_tore_mvl/mxv + .byte W72 + .byte W72 + .byte N06 , Fn4 , v080 + .byte W12 + .byte N03 , Dn3 , v064 + .byte W12 + .byte N12 , Gn3 , v096 + .byte W72 + .byte N06 , As2 + .byte W12 + .byte Gn2 + .byte W12 + .byte VOL , 21*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-32 + .byte N72 , Cn3 + .byte W06 + .byte VOL , 29*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 34*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 39*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 44*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 49*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 62*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 67*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 73*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 78*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte 79*mus_rg_vs_tore_mvl/mxv + .byte N06 , As2 , v076 + .byte W06 + .byte Cn3 + .byte W06 + .byte As2 + .byte W06 + .byte An2 , v068 + .byte W06 + .byte PAN , c_v+32 + .byte VOL , 72*mus_rg_vs_tore_mvl/mxv + .byte TIE , As2 , v072 + .byte W24 + .byte VOL , 70*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 65*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 61*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 58*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 55*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 54*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 51*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 47*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 43*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 41*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 36*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 34*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 29*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 25*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 21*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 18*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 15*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 12*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 9*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 7*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 5*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 4*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte 1*mus_rg_vs_tore_mvl/mxv + .byte W06 + .byte EOT + .byte PAN , c_v+0 + .byte VOL , 34*mus_rg_vs_tore_mvl/mxv + .byte N06 , Gn3 , v112 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-48 + .byte W24 + .byte c_v+47 + .byte W24 + .byte c_v-49 + .byte W24 + .byte c_v+47 + .byte W24 + .byte VOICE , 29 + .byte PAN , c_v-34 + .byte VOL , 73*mus_rg_vs_tore_mvl/mxv + .byte N03 , En4 , v064 + .byte W03 + .byte Bn3 + .byte W03 + .byte An3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte En3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cn3 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , Bn2 + .byte W03 + .byte An2 + .byte W03 + .byte Gn2 + .byte W03 + .byte Fs2 + .byte W03 + .byte En2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Cn2 + .byte W03 + .byte Bn1 + .byte W03 + .byte En3 + .byte W03 + .byte PAN , c_v-46 + .byte N03 , Bn2 + .byte W03 + .byte An2 + .byte W03 + .byte Gn2 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , Fs2 + .byte W03 + .byte En2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Cn2 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , En2 + .byte W03 + .byte Bn1 + .byte W03 + .byte An1 + .byte W03 + .byte Gn1 + .byte W03 + .byte Fs1 , v056 + .byte W03 + .byte En1 + .byte W03 + .byte Dn1 + .byte W03 + .byte Cn1 + .byte W03 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_rg_vs_tore_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 62 + .byte VOL , 73*mus_rg_vs_tore_mvl/mxv + .byte W96 + .byte VOICE , 62 + .byte MOD , 0 + .byte PAN , c_v-32 + .byte VOL , 49*mus_rg_vs_tore_mvl/mxv + .byte BEND , c_v+1 + .byte W12 + .byte VOL , 22*mus_rg_vs_tore_mvl/mxv + .byte N72 , En3 , v127 + .byte W03 + .byte VOL , 24*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte PAN , c_v-25 + .byte VOL , 25*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte PAN , c_v-21 + .byte VOL , 26*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte MOD , 4 + .byte BEND , c_v-5 + .byte W03 + .byte PAN , c_v-17 + .byte VOL , 27*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte PAN , c_v-12 + .byte VOL , 29*mus_rg_vs_tore_mvl/mxv + .byte BEND , c_v+1 + .byte W03 + .byte PAN , c_v-8 + .byte VOL , 29*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 29*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte PAN , c_v-4 + .byte VOL , 30*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte PAN , c_v+0 + .byte W03 + .byte c_v+3 + .byte VOL , 31*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte 32*mus_rg_vs_tore_mvl/mxv + .byte MOD , 9 + .byte W03 + .byte PAN , c_v+9 + .byte VOL , 34*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte PAN , c_v+13 + .byte VOL , 36*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte PAN , c_v+13 + .byte VOL , 38*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte PAN , c_v+18 + .byte VOL , 39*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte PAN , c_v+24 + .byte VOL , 41*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte PAN , c_v+26 + .byte VOL , 45*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte PAN , c_v+26 + .byte VOL , 48*mus_rg_vs_tore_mvl/mxv + .byte W03 + .byte PAN , c_v+30 + .byte VOL , 51*mus_rg_vs_tore_mvl/mxv + .byte MOD , 12 + .byte W06 + .byte PAN , c_v+32 + .byte W06 + .byte c_v+32 + .byte W12 + .byte VOL , 73*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+32 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 56 + .byte PAN , c_v+32 + .byte W24 + .byte N06 , As4 , v112 + .byte W24 + .byte An4 + .byte W12 + .byte As4 + .byte W36 + .byte An4 + .byte W24 + .byte N06 + .byte W36 + .byte N24 , Gn4 + .byte W24 + .byte N06 , An4 + .byte W12 + .byte Gn4 + .byte W36 + .byte N06 + .byte W12 + .byte N03 , Fs4 + .byte W12 + .byte N06 , An4 + .byte W36 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W24 + .byte N06 + .byte W12 + .byte Gn4 + .byte W12 + .byte N12 , Cn5 + .byte W12 + .byte N03 , Bn4 + .byte W03 + .byte As4 , v104 + .byte W03 + .byte An4 , v100 + .byte W03 + .byte Gs4 , v096 + .byte W03 + .byte Gn4 , v092 + .byte W03 + .byte Fs4 , v080 + .byte W09 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_vs_tore_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_vs_tore_7: + .byte KEYSH , mus_rg_vs_tore_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 75*mus_rg_vs_tore_mvl/mxv + .byte N06 , Cn1 , v080 + .byte W18 + .byte Cn1 , v048 + .byte W06 + .byte Cn1 , v080 + .byte W12 + .byte Cn1 , v048 + .byte W12 + .byte Cn1 , v088 + .byte W06 + .byte Dn2 , v072 + .byte W06 + .byte Bn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Fn1 , v064 + .byte W06 + .byte Cn1 , v092 + .byte W06 + .byte Fn1 , v064 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Bn1 , v080 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cn1 , v120 + .byte W06 + .byte Fn1 , v104 + .byte W06 + .byte Gn1 , v100 + .byte W06 + .byte Fn1 , v104 + .byte W06 + .byte Cn1 , v127 + .byte W06 + .byte Bn1 , v116 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cn1 , v127 + .byte W06 + .byte Fn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte N48 , Bn2 + .byte W24 + .byte N06 , Cn1 , v080 + .byte W24 + .byte Cn1 , v116 + .byte W24 + .byte Cn1 , v080 + .byte W24 + .byte Cn1 , v127 + .byte W24 + .byte Cn1 , v080 + .byte W24 + .byte Cn1 , v116 + .byte W24 + .byte Cn1 , v080 + .byte W12 + .byte Cn1 , v084 + .byte W12 + .byte Cn1 , v112 + .byte W24 + .byte Cn1 , v080 + .byte W24 + .byte Cn1 , v116 + .byte W24 + .byte Cn1 , v080 + .byte W24 +mus_rg_vs_tore_7_000: + .byte N06 , Cn1 , v127 + .byte W24 + .byte Cn1 , v080 + .byte W24 + .byte Cn1 , v116 + .byte W24 + .byte Cn1 , v080 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_vs_tore_7_000 + .byte N06 , Cn1 , v127 + .byte W24 + .byte Cn1 , v080 + .byte W24 + .byte Cn1 , v116 + .byte W24 + .byte Cn1 , v080 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 , v127 + .byte N06 , Gs4 , v040 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte Dn2 , v112 + .byte N06 , Gs4 , v040 + .byte W12 + .byte Cn1 , v080 + .byte N03 , Gs4 , v040 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Bn1 , v112 + .byte N06 , Gs4 , v040 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Cn1 , v127 + .byte N06 , Gs4 , v040 + .byte W12 + .byte Fn1 , v112 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte Cn1 , v112 + .byte N06 , Dn2 + .byte W12 + .byte Fn1 , v120 + .byte N06 , Gs4 , v040 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte Dn1 , v112 + .byte W06 + .byte Cn1 + .byte W06 + .byte An1 + .byte W24 + .byte Cn1 , v127 + .byte N06 , Dn1 , v112 + .byte W18 + .byte N06 + .byte W06 + .byte Cn1 + .byte N24 , Cs2 , v120 + .byte W12 + .byte N06 , Dn1 , v112 + .byte W06 + .byte Fn1 + .byte W06 + .byte VOL , 75*mus_rg_vs_tore_mvl/mxv + .byte N06 , Cn1 , v127 + .byte N48 , An2 + .byte W06 + .byte N06 , Cn1 , v100 + .byte W18 + .byte Dn1 , v112 + .byte W24 + .byte Cn1 , v127 + .byte W18 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 +mus_rg_vs_tore_7_001: + .byte N06 , Cn1 , v127 + .byte W24 + .byte Dn1 , v112 + .byte W24 + .byte Cn1 , v127 + .byte W18 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_tore_7_001 +mus_rg_vs_tore_7_002: + .byte N06 , Cn1 , v127 + .byte W18 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte Dn1 , v112 + .byte W06 + .byte Cn1 + .byte W06 + .byte Dn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn1 + .byte N06 , Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte PEND +mus_rg_vs_tore_7_B1: + .byte N06 , Cn1 , v127 + .byte N24 , An2 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W18 + .byte Dn1 + .byte W24 + .byte Cn1 , v127 + .byte W18 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 +mus_rg_vs_tore_7_003: + .byte N06 , Cn1 , v127 + .byte W24 + .byte Dn1 , v112 + .byte W24 + .byte Cn1 , v127 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_tore_7_003 + .byte N06 , Cn1 , v127 + .byte W12 + .byte Dn1 , v112 + .byte W24 + .byte Cn1 + .byte W12 + .byte Cn1 , v127 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 +mus_rg_vs_tore_7_004: + .byte N06 , Cn1 , v112 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PEND +mus_rg_vs_tore_7_005: + .byte W12 + .byte N06 , Cn1 , v112 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_tore_7_004 + .byte W12 + .byte N06 , Cn1 , v112 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PATT + .word mus_rg_vs_tore_7_004 + .byte PATT + .word mus_rg_vs_tore_7_005 + .byte PATT + .word mus_rg_vs_tore_7_004 + .byte W12 + .byte N06 , Cn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N01 , Dn1 + .byte W01 + .byte N06 + .byte W11 + .byte Cn1 + .byte W12 + .byte N06 + .byte W24 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte N06 , Fn1 + .byte W12 +mus_rg_vs_tore_7_006: + .byte N06 , Cn1 , v112 + .byte N06 , Fn2 , v092 + .byte W24 + .byte Dn1 , v112 + .byte N06 , Fn2 + .byte W24 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 + .byte N06 , Fn2 + .byte W24 + .byte PEND + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v112 + .byte N06 , Fn2 , v127 + .byte W12 + .byte Dn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N06 , Bn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v112 + .byte N06 , Fn2 , v127 + .byte W12 + .byte Dn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N06 , Bn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte PATT + .word mus_rg_vs_tore_7_006 + .byte N06 , Cn1 , v112 + .byte N06 , Fn2 , v096 + .byte W12 + .byte Dn1 , v112 + .byte N06 , Bn2 , v127 + .byte W18 + .byte Dn1 , v112 + .byte W06 + .byte Cn1 + .byte N06 , Bn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v112 + .byte N06 , Fn2 , v127 + .byte W12 + .byte Dn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N06 , Bn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte PATT + .word mus_rg_vs_tore_7_006 + .byte N06 , Fn2 , v096 + .byte W12 + .byte Cn1 , v112 + .byte N06 , Fn2 , v127 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 + .byte N06 , Bn1 + .byte W06 + .byte Dn1 + .byte W06 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v112 + .byte N06 , Fn2 , v127 + .byte W12 + .byte Dn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N06 , Bn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 , v127 + .byte N06 , Cs2 + .byte W24 + .byte Dn1 , v112 + .byte N06 , Fn2 + .byte W24 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v116 + .byte W12 + .byte Dn1 , v112 + .byte N06 , Fn2 + .byte W24 + .byte Cn1 , v127 + .byte N06 , Fn2 + .byte W12 + .byte Dn1 , v112 + .byte N06 , An2 , v127 + .byte W18 + .byte Dn1 , v112 + .byte W06 + .byte Cn1 + .byte N06 , Bn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v112 + .byte N06 , Fn2 , v127 + .byte W12 + .byte Dn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N06 , Bn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte VOL , 90*mus_rg_vs_tore_mvl/mxv + .byte N24 , Cn1 , v127 + .byte N24 , An2 + .byte W24 + .byte Fn1 , v100 + .byte N24 , Cs2 , v116 + .byte W24 + .byte N48 , Dn1 , v120 + .byte W48 + .byte VOL , 76*mus_rg_vs_tore_mvl/mxv + .byte N06 , Gs4 , v040 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte Cn1 , v127 + .byte N06 , Gs4 , v040 + .byte W12 + .byte Dn1 , v112 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Gs4 , v040 + .byte W12 + .byte Cn1 , v127 + .byte N06 , Gs4 , v040 + .byte W12 + .byte Cn1 , v112 + .byte N06 , Gs4 , v040 + .byte W06 + .byte Cn1 , v112 + .byte N06 , Gs4 , v040 + .byte W06 + .byte Dn1 , v112 + .byte N06 , An2 , v127 + .byte N12 , Gs4 , v040 + .byte W24 + .byte VOL , 90*mus_rg_vs_tore_mvl/mxv + .byte N24 , Dn1 , v112 + .byte N24 , Cs2 , v127 + .byte W24 + .byte Cn1 , v112 + .byte N24 , An2 , v120 + .byte W24 + .byte VOL , 75*mus_rg_vs_tore_mvl/mxv + .byte W48 + .byte N06 , Cn1 , v127 + .byte W12 + .byte Cn1 , v112 + .byte W36 + .byte BEND , c_v+0 + .byte N06 , Cn1 , v127 + .byte W48 + .byte N06 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn1 , v127 + .byte W48 + .byte N06 + .byte W12 + .byte Cn1 , v112 + .byte W36 + .byte Cn1 , v127 + .byte W48 + .byte N06 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn1 , v127 + .byte N06 , Bn2 + .byte W60 + .byte Cn1 , v112 + .byte W36 + .byte Cn1 , v127 + .byte W36 + .byte Cn1 , v080 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte W24 + .byte Cn1 , v127 + .byte W60 + .byte Cn1 , v112 + .byte W36 + .byte Cn1 , v127 + .byte W24 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 , v080 + .byte W24 + .byte Cn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn1 , v127 + .byte N06 , An2 + .byte W60 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 + .byte W24 + .byte Cn1 , v127 + .byte W24 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 , v080 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 , v127 + .byte W36 + .byte Dn1 , v112 + .byte W24 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W24 + .byte Cn1 , v127 + .byte W24 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 , v127 + .byte W36 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 + .byte W12 + .byte Dn1 , v064 + .byte W12 + .byte Dn1 , v048 + .byte W12 + .byte Dn1 , v032 + .byte W12 + .byte Cn1 , v127 + .byte W36 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W24 + .byte N06 + .byte N06 , Dn1 + .byte W12 + .byte Cn1 , v127 + .byte W24 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Dn1 , v064 + .byte W12 + .byte Dn1 , v048 + .byte W12 + .byte Dn1 , v032 + .byte W12 + .byte Cn1 , v127 + .byte W36 + .byte Cn1 , v112 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte Dn1 + .byte W12 + .byte Cn1 , v127 + .byte W18 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W24 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W24 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W18 + .byte Cn1 + .byte W06 + .byte Cn1 , v127 + .byte W12 + .byte Dn1 , v112 + .byte W24 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Dn1 + .byte W24 + .byte N06 + .byte W12 + .byte Cn1 + .byte W24 + .byte Dn1 , v096 + .byte W06 + .byte Dn1 , v076 + .byte W06 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte Dn1 + .byte N06 , An2 , v127 + .byte W24 + .byte Dn2 , v112 + .byte N06 , Gs4 , v040 + .byte W12 + .byte An1 , v112 + .byte N06 , Gs4 , v040 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte Fn1 + .byte N06 , Gs4 , v040 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 , v112 + .byte N06 , Gs4 , v040 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 , v112 + .byte W06 + .byte N06 + .byte N06 , Gs4 , v040 + .byte W06 + .byte Dn1 , v112 + .byte W06 + .byte Cn1 + .byte W06 + .byte Gs4 , v040 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Cn2 + .byte N06 , Gs4 , v040 + .byte W06 + .byte Cn2 , v112 + .byte W06 + .byte Gn1 + .byte W06 + .byte N06 + .byte N06 , Gs4 , v040 + .byte W06 + .byte Fn1 , v112 + .byte W06 + .byte Cn1 + .byte N06 , Gs4 , v040 + .byte W06 + .byte Cn2 , v112 + .byte N06 , Gs4 , v040 + .byte W06 + .byte Cn2 , v112 + .byte W06 + .byte Gn1 + .byte N06 , Gs4 , v040 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Fn1 + .byte N06 , Gs4 , v040 + .byte W06 + .byte Cn1 , v112 + .byte N06 , Gs4 , v040 + .byte W06 + .byte Dn1 , v112 + .byte N06 , Gs4 , v040 + .byte W12 + .byte Cn1 , v112 + .byte N06 , Gs4 , v040 + .byte W12 + .byte Cn1 , v127 + .byte N06 , Gs4 , v040 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Dn1 , v112 + .byte N06 , Gs4 , v040 + .byte W03 + .byte N03 , Dn1 , v112 + .byte W03 + .byte N06 + .byte N06 , Gs4 , v040 + .byte W12 + .byte Cn1 , v112 + .byte N06 , Gs4 , v040 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Dn1 , v112 + .byte W03 + .byte N03 + .byte W03 + .byte N06 + .byte N06 , Gs4 , v040 + .byte W06 + .byte N06 + .byte W06 + .byte Dn2 , v112 + .byte N06 , Gs4 , v040 + .byte W06 + .byte Fn1 , v112 + .byte W06 + .byte An1 + .byte N06 , Gs4 , v040 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 + .byte N06 , Gs4 , v040 + .byte W12 + .byte Cn1 , v112 + .byte N06 , Gs4 , v040 + .byte W06 + .byte Dn2 , v112 + .byte N06 , Gs4 , v040 + .byte W06 + .byte Fn1 , v112 + .byte N06 , Gs4 , v040 + .byte W12 + .byte Dn1 , v112 + .byte N06 , Gs4 , v040 + .byte W12 + .byte Cn1 , v127 + .byte N06 , Gs4 , v040 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Dn1 , v112 + .byte W03 + .byte N03 + .byte W03 + .byte N06 + .byte N06 , Gs4 , v040 + .byte W12 + .byte Dn1 , v112 + .byte N06 , Gn2 , v127 + .byte N06 , Gs4 , v040 + .byte W12 + .byte Cn1 , v127 + .byte N06 , Cs2 + .byte N06 , Gs2 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gs2 , v060 + .byte W24 + .byte Gs2 , v088 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte Gs2 , v060 + .byte W24 + .byte Cn1 , v127 + .byte N06 , Gs2 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gs2 , v060 + .byte W06 + .byte Gs2 , v072 + .byte W18 + .byte Cn1 , v112 + .byte N06 , Gs2 , v084 + .byte W24 + .byte Gs2 , v060 + .byte W24 + .byte Cn1 , v127 + .byte N06 , Gs2 , v112 + .byte W12 + .byte Gs2 , v080 + .byte W12 + .byte Gs2 , v112 + .byte W18 + .byte Gs2 , v072 + .byte W06 + .byte Cn1 , v112 + .byte N06 , Gs2 , v080 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte Gs2 , v060 + .byte W24 + .byte Cn1 , v127 + .byte N06 , Gs2 , v112 + .byte W12 + .byte Cn1 + .byte N06 , Gs2 , v072 + .byte W18 + .byte Gs2 , v080 + .byte W18 + .byte Cn1 , v127 + .byte N06 , Gs2 , v080 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte Cn1 , v127 + .byte N06 , Gs2 , v112 + .byte W12 + .byte Cn1 + .byte N06 , Gs2 , v080 + .byte W30 + .byte Gs2 , v072 + .byte W06 + .byte Gs2 , v080 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte Gs2 , v060 + .byte W24 + .byte Cn1 , v127 + .byte N06 , Gs2 , v112 + .byte W12 + .byte Cn1 + .byte N06 , Gs2 , v072 + .byte W18 + .byte Gs2 , v080 + .byte W12 + .byte N03 , Gs2 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Cn1 , v112 + .byte N06 , Gs2 , v080 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W12 + .byte Cn1 , v127 + .byte N06 , Gs2 , v112 + .byte W12 + .byte Gs2 , v080 + .byte W12 + .byte Dn1 , v112 + .byte W06 + .byte Gs2 , v064 + .byte W12 + .byte Gs2 , v072 + .byte W06 + .byte Cn1 , v112 + .byte N06 , Gs2 , v080 + .byte W12 + .byte Cn1 , v112 + .byte N06 , Gs2 , v080 + .byte W12 + .byte Dn1 , v112 + .byte N03 , Gs2 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Gs2 , v064 + .byte W18 + .byte Cn1 , v127 + .byte N06 , Gs2 , v112 + .byte W12 + .byte Dn1 + .byte N06 , Gs2 , v072 + .byte W06 + .byte Cn1 , v112 + .byte W12 + .byte Dn1 + .byte N06 , Gs2 , v080 + .byte W12 + .byte N03 , Gs2 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Cn1 , v112 + .byte N06 , Gs2 , v080 + .byte W06 + .byte N03 , Gs2 , v060 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Dn1 , v112 + .byte N06 , Gs2 , v080 + .byte W24 + .byte Dn1 , v112 + .byte N06 , Gs2 , v080 + .byte W06 + .byte Dn1 , v112 + .byte W06 + .byte VOL , 75*mus_rg_vs_tore_mvl/mxv + .byte N06 , Cn1 , v127 + .byte N06 , Bn2 + .byte W24 + .byte Dn1 , v112 + .byte W24 + .byte Cn1 , v127 + .byte W18 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn1 , v127 + .byte W24 + .byte Dn1 , v112 + .byte W24 + .byte Cn1 , v127 + .byte W18 + .byte Cn1 , v112 + .byte W06 + .byte N06 + .byte W12 + .byte Dn1 + .byte N06 , Bn2 , v127 + .byte W12 + .byte PATT + .word mus_rg_vs_tore_7_001 + .byte PATT + .word mus_rg_vs_tore_7_002 + .byte GOTO + .word mus_rg_vs_tore_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_vs_tore_8: + .byte KEYSH , mus_rg_vs_tore_key+0 + .byte VOICE , 3 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 45*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v-16 + .byte BEND , c_v+0 + .byte N06 , Dn5 , v068 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte As4 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte Dn5 , v076 + .byte W06 + .byte An4 , v068 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Dn5 , v076 + .byte W06 + .byte Gn4 , v068 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Dn5 , v076 + .byte W06 + .byte Fn4 , v068 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte BEND , c_v+0 + .byte W03 + .byte c_v+8 + .byte W03 + .byte c_v+0 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v+0 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W92 + .byte W01 + .byte MOD , 0 + .byte W03 + .byte N24 , En3 , v092 + .byte W24 + .byte N03 , Ds3 , v068 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Cn3 + .byte W03 + .byte N84 , Bn2 , v080 + .byte W36 + .byte MOD , 4 + .byte W24 + .byte W24 + .byte 0 + .byte N12 , En3 , v092 + .byte W12 + .byte N03 , Ds3 , v072 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Cn3 + .byte W03 + .byte N24 , Bn2 , v080 + .byte W24 + .byte En3 , v096 + .byte W24 + .byte TIE , Fn3 , v080 + .byte W24 + .byte MOD , 5 + .byte W72 +mus_rg_vs_tore_8_000: + .byte BEND , c_v+0 + .byte W60 + .byte W03 + .byte c_v-3 + .byte W03 + .byte c_v-5 + .byte W06 + .byte c_v-8 + .byte W03 + .byte c_v-14 + .byte W03 + .byte c_v-18 + .byte W06 + .byte c_v-26 + .byte W03 + .byte c_v-32 + .byte W06 + .byte c_v-43 + .byte W03 + .byte PEND + .byte EOT , Fn3 +mus_rg_vs_tore_8_B1: + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N36 , En4 , v080 + .byte W36 + .byte N84 , Bn3 , v084 + .byte W24 + .byte MOD , 4 + .byte W36 + .byte W24 + .byte 0 + .byte N24 , En4 + .byte W24 + .byte Bn3 + .byte W24 + .byte En4 + .byte W24 + .byte TIE , Dn4 , v080 + .byte W32 + .byte W01 + .byte MOD , 4 + .byte W60 + .byte W03 + .byte BEND , c_v+0 + .byte W72 + .byte EOT + .byte MOD , 0 + .byte N03 , En4 , v084 + .byte W03 + .byte Fs4 , v088 + .byte W03 + .byte Gn4 , v096 + .byte W03 + .byte An4 , v100 + .byte W03 + .byte Bn4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Dn5 + .byte W03 + .byte En5 , v104 + .byte W03 + .byte N78 , Cn5 , v120 + .byte W24 + .byte MOD , 5 + .byte W54 + .byte N03 , Cs5 , v068 + .byte W03 + .byte Dn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte En5 + .byte W03 + .byte Fn5 , v084 + .byte W03 + .byte Fs5 + .byte W03 + .byte MOD , 0 + .byte N32 , Gn5 , v112 + .byte W24 + .byte MOD , 5 + .byte W09 + .byte N03 , Fs5 , v080 + .byte W03 + .byte En5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Dn5 + .byte W03 + .byte Cs5 + .byte W03 + .byte MOD , 0 + .byte N44 , Cn5 , v120 + .byte W24 + .byte MOD , 5 + .byte W21 + .byte N03 , Cs5 , v080 + .byte W03 + .byte MOD , 0 + .byte TIE , Dn5 , v120 + .byte W24 + .byte MOD , 4 + .byte W72 + .byte W72 + .byte EOT + .byte MOD , 0 + .byte N12 + .byte W12 + .byte Cs5 + .byte W12 + .byte N84 , Cn5 + .byte W24 + .byte MOD , 4 + .byte W60 + .byte N03 , Fn5 , v112 + .byte W03 + .byte Fs5 + .byte W03 + .byte MOD , 0 + .byte N03 , Gn5 , v120 + .byte W03 + .byte Gs5 , v112 + .byte W03 + .byte N42 , An5 , v120 + .byte W24 + .byte MOD , 4 + .byte W18 + .byte 0 + .byte N03 , As5 , v096 + .byte W06 + .byte N36 , Bn5 , v120 + .byte W24 + .byte MOD , 4 + .byte W12 + .byte N12 , As5 , v112 + .byte W12 + .byte MOD , 0 + .byte N96 , An5 , v120 + .byte W24 + .byte MOD , 4 + .byte W72 + .byte 0 + .byte N24 , Cn6 + .byte W24 + .byte N12 , Dn6 + .byte W12 + .byte Cn6 + .byte W12 + .byte Bn5 + .byte W12 + .byte An5 + .byte W12 + .byte Gn5 + .byte W12 + .byte An5 + .byte W09 + .byte MOD , 0 + .byte W03 + .byte TIE , Bn3 + .byte W15 + .byte BEND , c_v-12 + .byte W03 + .byte c_v-14 + .byte W03 + .byte c_v-21 + .byte W03 + .byte c_v-15 + .byte W03 + .byte c_v-12 + .byte W03 + .byte c_v-9 + .byte W03 + .byte c_v+0 + .byte W36 + .byte W03 + .byte MOD , 4 + .byte W24 + .byte W90 + .byte EOT + .byte N03 , Bn3 , v124 + .byte W06 + .byte MOD , 0 + .byte TIE , Cn4 + .byte W24 + .byte MOD , 4 + .byte W66 + .byte BEND , c_v-16 + .byte W06 + .byte c_v+0 + .byte W24 + .byte EOT + .byte MOD , 0 + .byte N12 , Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte N12 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte TIE , Cs4 + .byte W06 + .byte BEND , c_v-8 + .byte W06 + .byte c_v+0 + .byte W12 + .byte MOD , 4 + .byte W72 + .byte W96 + .byte EOT + .byte MOD , 0 + .byte N96 , Dn4 + .byte W48 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte N48 , Fs4 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N48 , An4 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte BEND , c_v+0 + .byte N24 , Gn3 , v080 + .byte W24 + .byte Dn3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte N48 , En3 + .byte W12 + .byte MOD , 4 + .byte W24 + .byte W09 + .byte 0 + .byte W03 + .byte N48 , En2 , v088 + .byte W06 + .byte BEND , c_v-8 + .byte W06 + .byte MOD , 5 + .byte BEND , c_v+0 + .byte W36 + .byte MOD , 0 + .byte N36 , En3 , v080 + .byte W12 + .byte MOD , 3 + .byte W24 + .byte N36 + .byte W36 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte N24 , Gn3 + .byte W24 + .byte Dn3 + .byte W24 + .byte N12 , Ds3 + .byte W12 + .byte N84 , As3 + .byte W36 + .byte MOD , 4 + .byte W48 + .byte 0 + .byte BEND , c_v+0 + .byte N96 , Cn4 + .byte W36 + .byte W03 + .byte BEND , c_v-3 + .byte W09 + .byte MOD , 4 + .byte BEND , c_v-5 + .byte W09 + .byte c_v-8 + .byte W09 + .byte c_v-12 + .byte W06 + .byte c_v-16 + .byte W09 + .byte c_v-21 + .byte W15 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N36 , An3 + .byte W36 + .byte TIE + .byte W36 + .byte MOD , 4 + .byte W24 + .byte W24 + .byte BEND , c_v-3 + .byte W06 + .byte c_v-5 + .byte W06 + .byte c_v-7 + .byte W06 + .byte c_v-10 + .byte W06 + .byte c_v-13 + .byte W06 + .byte c_v-15 + .byte W06 + .byte c_v-20 + .byte W06 + .byte c_v-22 + .byte W06 + .byte c_v-25 + .byte W06 + .byte c_v-28 + .byte W06 + .byte c_v-31 + .byte W06 + .byte c_v-34 + .byte W06 + .byte EOT + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N36 , Fn4 , v108 + .byte W36 + .byte N84 , Dn4 + .byte W36 + .byte MOD , 4 + .byte W24 + .byte W24 + .byte 0 + .byte N24 , Fn4 + .byte W24 + .byte Dn4 + .byte W24 + .byte Fn4 + .byte W24 + .byte N36 , Ds4 + .byte W36 + .byte N84 , As4 + .byte W36 + .byte MOD , 4 + .byte W24 + .byte W24 + .byte 0 + .byte N24 , Ds4 + .byte W24 + .byte As4 + .byte W24 + .byte Gn4 + .byte W24 + .byte N36 , Fn4 + .byte W36 + .byte N84 , Dn4 + .byte W36 + .byte MOD , 4 + .byte W24 + .byte W24 + .byte 0 + .byte N24 , Fn4 + .byte W24 + .byte N12 , An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N24 , Ds4 + .byte W24 + .byte N60 , As4 + .byte W24 + .byte MOD , 4 + .byte W36 + .byte 0 + .byte N36 , Cn5 + .byte W36 + .byte As4 + .byte W36 + .byte N24 , Gn4 + .byte W24 + .byte N96 , As4 , v092 + .byte W36 + .byte MOD , 4 + .byte W60 + .byte 0 + .byte N96 , An4 + .byte W36 + .byte MOD , 4 + .byte W60 + .byte 0 + .byte N96 , Gn4 + .byte W32 + .byte W01 + .byte MOD , 4 + .byte W60 + .byte W03 + .byte 0 + .byte N72 , An4 + .byte W36 + .byte MOD , 4 + .byte W36 + .byte 0 + .byte N06 , Gn3 , v112 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte BEND , c_v+0 + .byte N96 , As4 , v100 + .byte W36 + .byte MOD , 4 + .byte W60 + .byte 0 + .byte BEND , c_v+0 + .byte N96 , An4 + .byte W36 + .byte MOD , 4 + .byte W60 + .byte 0 + .byte N96 , Cn5 + .byte W36 + .byte MOD , 4 + .byte W60 + .byte 0 + .byte BEND , c_v+0 + .byte N96 , As4 + .byte W36 + .byte MOD , 4 + .byte W12 + .byte BEND , c_v-3 + .byte W09 + .byte c_v-6 + .byte W06 + .byte c_v-8 + .byte W09 + .byte c_v-12 + .byte W06 + .byte c_v-16 + .byte W06 + .byte c_v-22 + .byte W12 + .byte MOD , 0 + .byte BEND , c_v+0 + .byte N36 , Ds3 , v080 + .byte W36 + .byte N36 + .byte W36 + .byte N24 + .byte W24 + .byte BEND , c_v+0 + .byte N36 , Dn2 + .byte W36 + .byte N36 + .byte W36 + .byte N12 + .byte W06 + .byte BEND , c_v-64 + .byte W06 + .byte N12 , Dn3 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte c_v+0 + .byte N36 , Fn3 + .byte W36 + .byte N36 + .byte W36 + .byte N24 + .byte W24 + .byte N36 , Ds2 + .byte W36 + .byte N36 + .byte W36 + .byte N24 , Dn2 + .byte W24 + .byte N03 , Dn3 + .byte W06 + .byte N03 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N24 , En3 + .byte W24 + .byte N12 , Cn3 + .byte W12 + .byte N60 , Dn3 + .byte W36 + .byte W24 + .byte N12 , En4 , v064 + .byte W12 + .byte Fs4 + .byte W12 + .byte An4 + .byte W12 + .byte N03 , Gn4 + .byte W03 + .byte An4 + .byte W03 + .byte N06 , Gn4 + .byte W06 + .byte N12 , Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte N48 , Ds4 + .byte W48 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 + .byte W12 + .byte BEND , c_v-8 + .byte W03 + .byte c_v-24 + .byte W03 + .byte c_v-40 + .byte W03 + .byte c_v-54 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N12 , Ds3 , v080 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte N03 , Gn3 + .byte W03 + .byte An3 + .byte W03 + .byte N06 , Gn3 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N32 , En4 , v064 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N48 + .byte W12 + .byte BEND , c_v-1 + .byte W03 + .byte c_v-2 + .byte W03 + .byte c_v-3 + .byte W03 + .byte c_v-4 + .byte W03 + .byte c_v-5 + .byte W03 + .byte c_v-6 + .byte W03 + .byte c_v-7 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v-10 + .byte W03 + .byte c_v-10 + .byte W03 + .byte c_v-11 + .byte W03 + .byte c_v-12 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N12 + .byte W12 + .byte Fs4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte N03 , An4 + .byte W03 + .byte Bn4 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte N12 , Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte N96 , Fn4 + .byte W96 + .byte N48 , An4 + .byte W48 + .byte N24 , Cn5 + .byte W24 + .byte N06 , Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N24 , En3 , v080 + .byte W24 + .byte N03 , Ds3 , v068 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Cn3 + .byte W03 + .byte N84 , Bn2 , v084 + .byte W36 + .byte MOD , 4 + .byte W24 + .byte W24 + .byte 0 + .byte N12 , En3 , v080 + .byte W12 + .byte N03 , Ds3 , v072 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cs3 + .byte W03 + .byte Cn3 , v080 + .byte W03 + .byte N24 , Bn2 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte TIE , Fn3 + .byte W12 + .byte W24 + .byte MOD , 4 + .byte W72 + .byte PATT + .word mus_rg_vs_tore_8_000 + .byte EOT , Fn3 + .byte GOTO + .word mus_rg_vs_tore_8_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_vs_tore_9: + .byte KEYSH , mus_rg_vs_tore_key+0 + .byte VOICE , 125 + .byte VOL , 56*mus_rg_vs_tore_mvl/mxv + .byte PAN , c_v+0 + .byte BENDR , 12 + .byte LFOS , 44 + .byte W96 + .byte W12 + .byte N12 , Cn5 , v040 + .byte W24 + .byte Cn5 , v064 + .byte W12 + .byte VOL , 34*mus_rg_vs_tore_mvl/mxv + .byte BEND , c_v-64 + .byte N48 , Cn3 + .byte W03 + .byte BEND , c_v-58 + .byte W03 + .byte c_v-51 + .byte W03 + .byte c_v-45 + .byte W03 + .byte VOL , 68*mus_rg_vs_tore_mvl/mxv + .byte BEND , c_v-36 + .byte W03 + .byte c_v-26 + .byte W03 + .byte c_v-20 + .byte W03 + .byte c_v-10 + .byte W03 + .byte VOL , 79*mus_rg_vs_tore_mvl/mxv + .byte BEND , c_v+0 + .byte W03 + .byte c_v+7 + .byte W03 + .byte c_v+14 + .byte W03 + .byte c_v+23 + .byte W03 + .byte VOL , 90*mus_rg_vs_tore_mvl/mxv + .byte BEND , c_v+33 + .byte W03 + .byte c_v+47 + .byte W03 + .byte c_v+53 + .byte W03 + .byte c_v+63 + .byte W03 + .byte VOICE , 126 + .byte VOL , 56*mus_rg_vs_tore_mvl/mxv + .byte W12 + .byte N12 , Gs4 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 +mus_rg_vs_tore_9_000: + .byte W12 + .byte N12 , Gs4 , v064 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_tore_9_000 + .byte PATT + .word mus_rg_vs_tore_9_000 + .byte PATT + .word mus_rg_vs_tore_9_000 + .byte PATT + .word mus_rg_vs_tore_9_000 + .byte PATT + .word mus_rg_vs_tore_9_000 + .byte W12 + .byte N12 , Gs4 , v096 + .byte W24 + .byte Gs4 , v064 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 +mus_rg_vs_tore_9_001: + .byte W12 + .byte N12 , Gs4 , v088 + .byte W72 + .byte Gs4 , v064 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_tore_9_001 + .byte PATT + .word mus_rg_vs_tore_9_001 +mus_rg_vs_tore_9_002: + .byte W12 + .byte N12 , Gs4 , v088 + .byte W24 + .byte N12 + .byte W48 + .byte Gs4 , v064 + .byte W12 + .byte PEND +mus_rg_vs_tore_9_B1: + .byte PATT + .word mus_rg_vs_tore_9_001 + .byte PATT + .word mus_rg_vs_tore_9_001 + .byte PATT + .word mus_rg_vs_tore_9_001 + .byte W12 + .byte N12 , Gs4 , v088 + .byte W36 + .byte N12 + .byte W36 + .byte Gs4 , v064 + .byte W12 + .byte W96 + .byte Gs4 , v080 + .byte W96 + .byte W96 + .byte N12 + .byte W72 + .byte Gs4 , v064 + .byte W24 + .byte Gs4 , v080 + .byte W96 + .byte W24 + .byte N12 + .byte W60 + .byte Gs4 , v076 + .byte W12 + .byte W96 + .byte Gs4 , v080 + .byte W72 + .byte Gs4 , v056 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W60 + .byte Gs4 , v088 + .byte W36 + .byte W96 + .byte W96 + .byte W48 + .byte Gs4 , v080 + .byte W48 + .byte W96 + .byte W12 + .byte N12 + .byte W60 + .byte N12 + .byte W24 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W84 + .byte Gs4 , v096 + .byte W12 + .byte W96 + .byte W84 + .byte Gs4 , v080 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte Gs4 , v096 + .byte W96 + .byte N12 + .byte W96 + .byte N12 + .byte W96 + .byte N12 + .byte W96 + .byte W60 + .byte Gs4 , v068 + .byte W36 + .byte Gs4 , v080 + .byte W72 + .byte Gs4 , v076 + .byte W24 + .byte Gs4 , v080 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte Gs4 , v096 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W84 + .byte N12 + .byte W12 + .byte PATT + .word mus_rg_vs_tore_9_001 + .byte PATT + .word mus_rg_vs_tore_9_001 + .byte PATT + .word mus_rg_vs_tore_9_001 + .byte PATT + .word mus_rg_vs_tore_9_002 + .byte GOTO + .word mus_rg_vs_tore_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_rg_vs_tore_10: + .byte KEYSH , mus_rg_vs_tore_key+0 + .byte VOICE , 127 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_vs_tore_mvl/mxv + .byte W96 + .byte N03 , Gn5 , v032 + .byte W06 + .byte Gn5 , v020 + .byte W18 + .byte Gn5 , v052 + .byte W06 + .byte Gn5 , v032 + .byte W66 +mus_rg_vs_tore_10_000: + .byte N03 , Gn5 , v048 + .byte W06 + .byte Gn5 , v024 + .byte W18 + .byte Gn5 , v048 + .byte W06 + .byte Gn5 , v024 + .byte W18 + .byte Gn5 , v048 + .byte W06 + .byte Gn5 , v024 + .byte W18 + .byte Gn5 , v048 + .byte W06 + .byte Gn5 , v024 + .byte W18 + .byte PEND + .byte PATT + .word mus_rg_vs_tore_10_000 + .byte PATT + .word mus_rg_vs_tore_10_000 + .byte PATT + .word mus_rg_vs_tore_10_000 + .byte PATT + .word mus_rg_vs_tore_10_000 + .byte PATT + .word mus_rg_vs_tore_10_000 + .byte PATT + .word mus_rg_vs_tore_10_000 + .byte N03 , Gn5 , v048 + .byte W06 + .byte Gn5 , v068 + .byte W18 + .byte Gn5 , v048 + .byte W06 + .byte Gn5 , v024 + .byte W18 + .byte Gn5 , v048 + .byte W06 + .byte Gn5 , v024 + .byte W18 + .byte Gn5 , v048 + .byte W06 + .byte Gn5 , v024 + .byte W18 +mus_rg_vs_tore_10_001: + .byte N03 , Gn5 , v064 + .byte W24 + .byte Gn5 , v060 + .byte W12 + .byte Gn5 , v048 + .byte W12 + .byte Gn5 , v064 + .byte W12 + .byte Gn5 , v048 + .byte W06 + .byte N03 + .byte W06 + .byte Gn5 , v064 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_vs_tore_10_001 + .byte PATT + .word mus_rg_vs_tore_10_001 +mus_rg_vs_tore_10_002: + .byte N03 , Gn5 , v064 + .byte W24 + .byte Gn5 , v060 + .byte W24 + .byte Gn5 , v064 + .byte W12 + .byte Gn5 , v048 + .byte W06 + .byte N03 + .byte W06 + .byte Gn5 , v064 + .byte W06 + .byte Gn5 , v048 + .byte W18 + .byte PEND +mus_rg_vs_tore_10_B1: + .byte PATT + .word mus_rg_vs_tore_10_001 + .byte PATT + .word mus_rg_vs_tore_10_001 + .byte PATT + .word mus_rg_vs_tore_10_001 + .byte N03 , Gn5 , v064 + .byte W24 + .byte Gn5 , v060 + .byte W12 + .byte Gn5 , v048 + .byte W30 + .byte Gn5 , v080 + .byte W06 + .byte Gn5 , v064 + .byte W24 +mus_rg_vs_tore_10_003: + .byte N03 , Gn5 , v080 + .byte W12 + .byte Gn5 , v024 + .byte W12 + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v024 + .byte W12 + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v016 + .byte W12 + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v024 + .byte W12 + .byte PEND + .byte W24 + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v024 + .byte W12 + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v016 + .byte W12 + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v024 + .byte W12 + .byte PATT + .word mus_rg_vs_tore_10_003 +mus_rg_vs_tore_10_004: + .byte W24 + .byte N03 , Gn5 , v056 + .byte W12 + .byte Gn5 , v024 + .byte W12 + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v016 + .byte W24 + .byte Gn5 , v024 + .byte W12 + .byte PEND +mus_rg_vs_tore_10_005: + .byte W12 + .byte N03 , Gn5 , v024 + .byte W12 + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v024 + .byte W12 + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v016 + .byte W12 + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v024 + .byte W12 + .byte PEND + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v024 + .byte W36 + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v016 + .byte W12 + .byte Gn5 , v056 + .byte W24 + .byte PATT + .word mus_rg_vs_tore_10_003 + .byte PATT + .word mus_rg_vs_tore_10_004 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_rg_vs_tore_10_003 +mus_rg_vs_tore_10_006: + .byte N03 , Gn5 , v080 + .byte W12 + .byte Gn5 , v024 + .byte W12 + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v024 + .byte W12 + .byte Gn5 , v056 + .byte W24 + .byte N03 + .byte W12 + .byte Gn5 , v024 + .byte W12 + .byte PEND + .byte Gn5 , v080 + .byte W12 + .byte Gn5 , v024 + .byte W12 + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v024 + .byte W12 + .byte Gn5 , v056 + .byte W24 + .byte Gn5 , v112 + .byte W12 + .byte Gn5 , v024 + .byte W12 + .byte PATT + .word mus_rg_vs_tore_10_003 + .byte N03 , Gn5 , v080 + .byte W12 + .byte Gn5 , v024 + .byte W12 + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v024 + .byte W36 + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v024 + .byte W12 + .byte PATT + .word mus_rg_vs_tore_10_003 + .byte N03 , Gn5 , v080 + .byte W24 + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v024 + .byte W12 + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v016 + .byte W24 + .byte Gn5 , v024 + .byte W12 +mus_rg_vs_tore_10_007: + .byte N03 , Gn5 , v064 + .byte W12 + .byte Gn5 , v032 + .byte W06 + .byte N03 + .byte W06 + .byte Gn5 , v096 + .byte W12 + .byte Gn5 , v032 + .byte W06 + .byte N03 + .byte W06 + .byte Gn5 , v064 + .byte W12 + .byte Gn5 , v032 + .byte W06 + .byte N03 + .byte W06 + .byte Gn5 , v096 + .byte W12 + .byte Gn5 , v032 + .byte W06 + .byte N03 + .byte W06 + .byte PEND +mus_rg_vs_tore_10_008: + .byte N03 , Gn5 , v064 + .byte W12 + .byte Gn5 , v032 + .byte W06 + .byte N03 + .byte W06 + .byte Gn5 , v096 + .byte W12 + .byte Gn5 , v032 + .byte W06 + .byte N03 + .byte W06 + .byte Gn5 , v064 + .byte W12 + .byte Gn5 , v032 + .byte W06 + .byte N03 + .byte W06 + .byte Gn5 , v096 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_vs_tore_10_007 + .byte PATT + .word mus_rg_vs_tore_10_008 + .byte PATT + .word mus_rg_vs_tore_10_007 + .byte PATT + .word mus_rg_vs_tore_10_008 + .byte PATT + .word mus_rg_vs_tore_10_007 + .byte PATT + .word mus_rg_vs_tore_10_008 +mus_rg_vs_tore_10_009: + .byte W24 + .byte N03 , Gn5 , v112 + .byte W24 + .byte Gn5 , v064 + .byte W24 + .byte Gn5 , v112 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_vs_tore_10_009 + .byte PATT + .word mus_rg_vs_tore_10_009 + .byte PATT + .word mus_rg_vs_tore_10_009 + .byte PATT + .word mus_rg_vs_tore_10_006 + .byte W12 + .byte N03 , Gn5 , v024 + .byte W12 + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v076 + .byte W06 + .byte Gn5 , v048 + .byte W06 + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v016 + .byte W24 + .byte Gn5 , v024 + .byte W12 + .byte PATT + .word mus_rg_vs_tore_10_005 + .byte N03 , Gn5 , v080 + .byte W12 + .byte Gn5 , v024 + .byte W12 + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v024 + .byte W12 + .byte Gn5 , v056 + .byte W12 + .byte Gn5 , v016 + .byte W24 + .byte Gn5 , v024 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_rg_vs_tore_10_007 + .byte PATT + .word mus_rg_vs_tore_10_008 + .byte PATT + .word mus_rg_vs_tore_10_007 + .byte PATT + .word mus_rg_vs_tore_10_008 + .byte PATT + .word mus_rg_vs_tore_10_007 + .byte PATT + .word mus_rg_vs_tore_10_008 + .byte PATT + .word mus_rg_vs_tore_10_007 + .byte PATT + .word mus_rg_vs_tore_10_008 + .byte PATT + .word mus_rg_vs_tore_10_001 + .byte PATT + .word mus_rg_vs_tore_10_001 + .byte PATT + .word mus_rg_vs_tore_10_001 + .byte PATT + .word mus_rg_vs_tore_10_002 + .byte GOTO + .word mus_rg_vs_tore_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_vs_tore: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_vs_tore_pri @ Priority + .byte mus_rg_vs_tore_rev @ Reverb. + + .word mus_rg_vs_tore_grp + + .word mus_rg_vs_tore_1 + .word mus_rg_vs_tore_2 + .word mus_rg_vs_tore_3 + .word mus_rg_vs_tore_4 + .word mus_rg_vs_tore_5 + .word mus_rg_vs_tore_6 + .word mus_rg_vs_tore_7 + .word mus_rg_vs_tore_8 + .word mus_rg_vs_tore_9 + .word mus_rg_vs_tore_10 + + .end diff --git a/sound/songs/mus_rg_vs_yasei.s b/sound/songs/mus_rg_vs_yasei.s new file mode 100644 index 0000000000..c0766d6757 --- /dev/null +++ b/sound/songs/mus_rg_vs_yasei.s @@ -0,0 +1,3440 @@ + .include "MPlayDef.s" + + .equ mus_rg_vs_yasei_grp, voicegroup_86A98BC + .equ mus_rg_vs_yasei_pri, 0 + .equ mus_rg_vs_yasei_rev, reverb_set+50 + .equ mus_rg_vs_yasei_mvl, 127 + .equ mus_rg_vs_yasei_key, 0 + .equ mus_rg_vs_yasei_tbs, 1 + .equ mus_rg_vs_yasei_exg, 0 + .equ mus_rg_vs_yasei_cmp, 1 + + .section .rodata + .global mus_rg_vs_yasei + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_vs_yasei_1: + .byte KEYSH , mus_rg_vs_yasei_key+0 + .byte TEMPO , 182*mus_rg_vs_yasei_tbs/2 + .byte VOICE , 87 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_vs_yasei_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte N06 , Dn4 , v080 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte VOICE , 82 + .byte VOL , 79*mus_rg_vs_yasei_mvl/mxv + .byte N06 , An3 + .byte W36 + .byte Fs3 + .byte W36 + .byte Fn3 + .byte W24 + .byte W48 + .byte Ds3 + .byte W48 +mus_rg_vs_yasei_1_000: + .byte W36 + .byte N06 , Fs3 , v080 + .byte W36 + .byte Fn3 + .byte W24 + .byte PEND + .byte W36 + .byte VOL , 57*mus_rg_vs_yasei_mvl/mxv + .byte N60 , Ds3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte VOL , 89*mus_rg_vs_yasei_mvl/mxv + .byte W24 + .byte 79*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 0 + .byte N06 , An3 + .byte W36 + .byte Fs3 + .byte W36 + .byte Fn3 + .byte W24 + .byte W48 + .byte Ds3 + .byte W48 + .byte PATT + .word mus_rg_vs_yasei_1_000 + .byte W36 + .byte N60 , Ds3 , v080 + .byte W12 + .byte MOD , 7 + .byte W48 +mus_rg_vs_yasei_1_B1: + .byte VOL , 89*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 0 + .byte N06 , Ds3 , v080 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 +mus_rg_vs_yasei_1_001: + .byte N06 , Ds3 , v080 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte PEND +mus_rg_vs_yasei_1_002: + .byte N06 , Ds3 , v080 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte PEND + .byte Bn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 +mus_rg_vs_yasei_1_003: + .byte N06 , Fn3 , v080 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte PEND + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte PATT + .word mus_rg_vs_yasei_1_003 + .byte PATT + .word mus_rg_vs_yasei_1_001 + .byte PATT + .word mus_rg_vs_yasei_1_001 + .byte PATT + .word mus_rg_vs_yasei_1_001 + .byte PATT + .word mus_rg_vs_yasei_1_002 + .byte VOICE , 87 + .byte N24 , En3 , v080 + .byte W24 + .byte Dn3 + .byte W24 + .byte En3 + .byte W24 + .byte Gn3 + .byte W24 + .byte N36 , Fs3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , En3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Gn3 + .byte W24 + .byte N72 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 67*mus_rg_vs_yasei_mvl/mxv + .byte W48 + .byte 90*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 0 + .byte N24 , Cn4 + .byte W24 + .byte N96 , An3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 68*mus_rg_vs_yasei_mvl/mxv + .byte W72 + .byte 90*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 0 + .byte N24 , En3 + .byte W24 + .byte Dn3 + .byte W24 + .byte En3 + .byte W24 + .byte Gn3 + .byte W24 + .byte N36 , An3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Cs4 + .byte W24 + .byte VOL , 68*mus_rg_vs_yasei_mvl/mxv + .byte N96 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte VOL , 90*mus_rg_vs_yasei_mvl/mxv + .byte W24 + .byte 68*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 0 + .byte N96 , An4 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte VOL , 90*mus_rg_vs_yasei_mvl/mxv + .byte W24 + .byte 68*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 0 + .byte N72 , Dn3 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte VOL , 90*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 0 + .byte N12 + .byte W24 + .byte En3 + .byte W12 + .byte Dn3 + .byte W84 + .byte VOL , 68*mus_rg_vs_yasei_mvl/mxv + .byte N72 , Ds3 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte VOL , 90*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 0 + .byte N12 + .byte W24 + .byte Gn3 + .byte W12 + .byte Fn3 + .byte W36 + .byte N48 , Ds3 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte GOTO + .word mus_rg_vs_yasei_1_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_vs_yasei_2: + .byte KEYSH , mus_rg_vs_yasei_key+0 + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_vs_yasei_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte BEND , c_v+1 + .byte N06 , An4 , v064 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gn5 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gn5 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gn5 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gn5 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gn5 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gn5 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gn5 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gn5 + .byte W06 + .byte VOICE , 4 + .byte VOL , 68*mus_rg_vs_yasei_mvl/mxv + .byte N12 , An4 + .byte W36 + .byte An3 , v096 + .byte W36 + .byte N12 + .byte W24 + .byte W48 + .byte N12 + .byte W48 +mus_rg_vs_yasei_2_000: + .byte W36 + .byte N12 , An3 , v096 + .byte W36 + .byte N12 + .byte W24 + .byte PEND + .byte W36 + .byte N60 , Gs3 + .byte W06 + .byte VOL , 23*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 33*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 41*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 51*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 64*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 72*mus_rg_vs_yasei_mvl/mxv + .byte W24 + .byte 68*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 0 + .byte N12 , An3 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W48 + .byte N12 + .byte W48 + .byte PATT + .word mus_rg_vs_yasei_2_000 + .byte W36 + .byte N60 , An3 , v096 + .byte W12 + .byte VOL , 34*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 39*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 55*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 68*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 78*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 86*mus_rg_vs_yasei_mvl/mxv + .byte W19 +mus_rg_vs_yasei_2_B1: + .byte VOICE , 81 + .byte VOL , 68*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 0 + .byte N36 , An3 , v096 + .byte W36 + .byte Gs3 + .byte W36 + .byte N24 , Fs3 + .byte W24 + .byte N36 , An3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , An3 + .byte W24 + .byte N72 , As4 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte 0 + .byte N12 , An4 + .byte W24 + .byte As4 + .byte W12 + .byte An4 + .byte W36 + .byte N48 , Ds5 + .byte W06 + .byte VOL , 34*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 36*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 44*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 54*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 70*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 78*mus_rg_vs_yasei_mvl/mxv + .byte W01 + .byte 87*mus_rg_vs_yasei_mvl/mxv + .byte W12 + .byte 68*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 0 + .byte N36 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Cn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , As3 + .byte W24 + .byte N36 , Ds4 + .byte W36 + .byte Dn4 + .byte W36 + .byte N24 , Cn4 + .byte W24 + .byte N36 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Fs4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , En4 + .byte W24 + .byte Cn4 + .byte W24 + .byte Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte Gn4 + .byte W24 + .byte VOL , 78*mus_rg_vs_yasei_mvl/mxv + .byte TIE , As4 , v116 + .byte W12 + .byte MOD , 7 + .byte VOL , 21*mus_rg_vs_yasei_mvl/mxv + .byte W72 + .byte W03 + .byte 27*mus_rg_vs_yasei_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 34*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 38*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte VOL , 45*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 61*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 67*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 74*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 79*mus_rg_vs_yasei_mvl/mxv + .byte W12 + .byte 85*mus_rg_vs_yasei_mvl/mxv + .byte W36 + .byte EOT + .byte MOD , 0 + .byte VOL , 44*mus_rg_vs_yasei_mvl/mxv + .byte TIE , An4 , v108 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 22*mus_rg_vs_yasei_mvl/mxv + .byte W66 + .byte 25*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 34*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 38*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte VOL , 44*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 60*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 67*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 74*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 79*mus_rg_vs_yasei_mvl/mxv + .byte W12 + .byte 84*mus_rg_vs_yasei_mvl/mxv + .byte W12 + .byte 90*mus_rg_vs_yasei_mvl/mxv + .byte W24 + .byte EOT + .byte VOICE , 92 + .byte VOL , 67*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 0 + .byte VOL , 68*mus_rg_vs_yasei_mvl/mxv + .byte N48 , Gn3 , v096 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Cn4 + .byte W12 + .byte MOD , 7 + .byte W36 +mus_rg_vs_yasei_2_001: + .byte MOD , 0 + .byte N48 , En4 , v096 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte PEND + .byte 0 + .byte N96 , Fs4 + .byte W06 + .byte VOL , 22*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 29*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 31*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 35*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 40*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 47*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 52*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 57*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 63*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 68*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 72*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 76*mus_rg_vs_yasei_mvl/mxv + .byte W24 + .byte 68*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 0 + .byte N96 + .byte W06 + .byte VOL , 22*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 28*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 31*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 36*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 41*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 46*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 53*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 56*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 62*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 65*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 70*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 75*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 79*mus_rg_vs_yasei_mvl/mxv + .byte W18 + .byte 68*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 0 + .byte N48 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Cn4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte PATT + .word mus_rg_vs_yasei_2_001 + .byte MOD , 0 + .byte N96 , An4 , v096 + .byte W06 + .byte VOL , 34*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 41*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 43*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 46*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 48*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 51*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 55*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 60*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 67*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 75*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 79*mus_rg_vs_yasei_mvl/mxv + .byte W30 + .byte W01 + .byte 68*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 0 + .byte N96 , Dn5 + .byte W06 + .byte VOL , 22*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 24*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 28*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 31*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 36*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 42*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 50*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 58*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 68*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 74*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 83*mus_rg_vs_yasei_mvl/mxv + .byte W30 + .byte W01 + .byte 68*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 0 + .byte N72 , Fs4 + .byte W06 + .byte VOL , 45*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 46*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 47*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 49*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 53*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 55*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 58*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 60*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 67*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 72*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 77*mus_rg_vs_yasei_mvl/mxv + .byte W01 + .byte 79*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte N12 + .byte W24 + .byte VOL , 68*mus_rg_vs_yasei_mvl/mxv + .byte N12 , Gn4 + .byte W12 + .byte N24 , Fs4 + .byte W84 + .byte VOL , 68*mus_rg_vs_yasei_mvl/mxv + .byte N72 , Gn4 + .byte W06 + .byte VOL , 45*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 46*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 47*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 49*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 53*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 55*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 58*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 60*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 67*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 72*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 77*mus_rg_vs_yasei_mvl/mxv + .byte W01 + .byte 79*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte N12 + .byte W24 + .byte VOL , 68*mus_rg_vs_yasei_mvl/mxv + .byte N12 , As4 + .byte W12 + .byte An4 + .byte W36 + .byte N48 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte GOTO + .word mus_rg_vs_yasei_2_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_vs_yasei_3: + .byte KEYSH , mus_rg_vs_yasei_key+0 + .byte VOICE , 80 + .byte PAN , c_v-64 + .byte VOL , 68*mus_rg_vs_yasei_mvl/mxv + .byte N06 , Ds2 , v092 + .byte W12 + .byte N06 + .byte W06 + .byte Dn2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En2 + .byte W12 + .byte N06 + .byte W06 + .byte Dn2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Fn2 + .byte W12 + .byte N06 + .byte W06 + .byte Dn2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Fs2 + .byte W12 + .byte N06 + .byte W06 + .byte Dn2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W12 + .byte N06 + .byte W06 + .byte Dn2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Gs2 + .byte W12 + .byte N06 + .byte W06 + .byte Dn2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , An2 + .byte W12 + .byte N06 + .byte W06 + .byte Dn2 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Cn2 + .byte W12 + .byte Cs2 + .byte W12 +mus_rg_vs_yasei_3_000: + .byte PAN , c_v-64 + .byte N12 , Dn2 , v092 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_yasei_3_000 +mus_rg_vs_yasei_3_001: + .byte PAN , c_v-64 + .byte N12 , Ds2 , v092 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+63 + .byte N24 , Ds2 + .byte W24 + .byte PAN , c_v-64 + .byte N12 , As2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , As2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PEND + .byte PAN , c_v-64 + .byte N12 , Ds2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+63 + .byte N24 , Ds2 + .byte W24 + .byte PAN , c_v-64 + .byte N12 , Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , An2 + .byte W03 + .byte As2 , v088 + .byte W03 + .byte N06 , An2 + .byte W06 + .byte N12 , Gn2 , v092 + .byte W12 + .byte PATT + .word mus_rg_vs_yasei_3_000 + .byte PATT + .word mus_rg_vs_yasei_3_000 + .byte PATT + .word mus_rg_vs_yasei_3_001 + .byte PATT + .word mus_rg_vs_yasei_3_001 +mus_rg_vs_yasei_3_B1: + .byte VOICE , 80 + .byte PAN , c_v-64 + .byte N12 , Dn2 , v092 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn2 + .byte W12 + .byte An2 + .byte W12 + .byte PATT + .word mus_rg_vs_yasei_3_000 + .byte PAN , c_v-64 + .byte N72 , As2 , v092 + .byte W72 + .byte PAN , c_v+63 + .byte N12 , An2 + .byte W24 + .byte PAN , c_v-64 + .byte N12 , As2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte W24 + .byte c_v-64 + .byte N12 , As2 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , Gs2 , v096 + .byte W03 + .byte An2 + .byte W03 + .byte N06 , Gs2 + .byte W06 + .byte N12 , Fn2 , v092 + .byte W12 + .byte PATT + .word mus_rg_vs_yasei_3_000 + .byte PATT + .word mus_rg_vs_yasei_3_000 + .byte PATT + .word mus_rg_vs_yasei_3_000 + .byte PAN , c_v-64 + .byte N12 , Dn2 , v092 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn2 + .byte W12 + .byte Gn2 + .byte W12 +mus_rg_vs_yasei_3_002: + .byte PAN , c_v-64 + .byte N12 , Ds2 , v092 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Ds2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Ds2 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Ds2 + .byte W12 + .byte As2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_yasei_3_002 + .byte PATT + .word mus_rg_vs_yasei_3_000 + .byte PATT + .word mus_rg_vs_yasei_3_000 +mus_rg_vs_yasei_3_003: + .byte PAN , c_v-64 + .byte N12 , Cn2 , v092 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_yasei_3_003 + .byte PATT + .word mus_rg_vs_yasei_3_000 + .byte PATT + .word mus_rg_vs_yasei_3_000 +mus_rg_vs_yasei_3_004: + .byte PAN , c_v-64 + .byte N12 , Dn2 , v092 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_rg_vs_yasei_3_004 + .byte PATT + .word mus_rg_vs_yasei_3_000 + .byte PATT + .word mus_rg_vs_yasei_3_000 + .byte PATT + .word mus_rg_vs_yasei_3_000 + .byte PATT + .word mus_rg_vs_yasei_3_000 + .byte PATT + .word mus_rg_vs_yasei_3_002 + .byte PATT + .word mus_rg_vs_yasei_3_002 + .byte GOTO + .word mus_rg_vs_yasei_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_vs_yasei_4: + .byte KEYSH , mus_rg_vs_yasei_key+0 + .byte VOICE , 33 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_vs_yasei_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte BEND , c_v+0 + .byte N06 , Ds1 , v116 + .byte W12 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte En1 + .byte W12 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte Fn1 + .byte W12 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte Fs1 + .byte W12 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte Gn1 + .byte W12 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte Gs1 + .byte W12 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte An1 + .byte W12 + .byte N06 + .byte W06 + .byte Dn1 + .byte W06 + .byte N12 , As1 + .byte W12 + .byte An1 + .byte W12 +mus_rg_vs_yasei_4_000: + .byte N12 , Dn1 , v127 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn2 + .byte W12 + .byte An1 + .byte W12 + .byte PEND + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn2 + .byte W12 + .byte An1 + .byte W12 + .byte As1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte An1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte BEND , c_v+0 + .byte N12 , Ds1 + .byte W12 + .byte N36 , Ds2 + .byte W09 + .byte BEND , c_v-8 + .byte W03 + .byte c_v-15 + .byte W03 + .byte c_v-21 + .byte W03 + .byte c_v-29 + .byte W03 + .byte c_v-39 + .byte W03 + .byte c_v-44 + .byte W03 + .byte c_v-52 + .byte W03 + .byte c_v-60 + .byte W03 + .byte c_v-63 + .byte W03 + .byte c_v+0 + .byte N12 , Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds2 + .byte W12 + .byte Cn2 + .byte W12 + .byte N12 + .byte W12 + .byte Dn2 + .byte W12 + .byte As1 + .byte W12 + .byte Cn2 + .byte W12 + .byte PATT + .word mus_rg_vs_yasei_4_000 + .byte N12 , Dn1 , v127 + .byte W12 + .byte An1 + .byte W12 + .byte Dn2 + .byte W12 + .byte An1 + .byte W12 + .byte N12 + .byte W12 + .byte As1 + .byte W12 + .byte Gn1 + .byte W12 + .byte An1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte N06 , Dn1 + .byte W06 + .byte Ds1 + .byte W06 + .byte Gn1 + .byte W06 + .byte As1 + .byte W06 + .byte N12 , Ds2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Ds2 + .byte W12 + .byte N06 , Ds1 + .byte W06 + .byte Gn1 + .byte W06 + .byte As1 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , Ds2 + .byte W12 + .byte Cn2 + .byte W12 +mus_rg_vs_yasei_4_B1: + .byte N12 , Dn1 , v127 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn2 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , Gn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte En1 + .byte W06 + .byte Ds1 + .byte W06 + .byte N12 , Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte As1 + .byte W12 + .byte An1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte An1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte As1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N24 , Dn1 + .byte W24 + .byte N12 , An1 + .byte W12 + .byte N18 , Dn1 + .byte W24 + .byte N12 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte N12 + .byte W12 + .byte An1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte Gs1 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte N12 , Dn1 + .byte W12 + .byte An1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte Gs1 + .byte W12 + .byte An1 + .byte W12 + .byte N24 , Dn1 , v120 + .byte W24 + .byte Cn2 + .byte W24 + .byte Cn1 + .byte W24 + .byte N18 , Gn1 + .byte W18 + .byte N03 , Fn1 + .byte W03 + .byte En1 + .byte W03 + .byte N24 , Ds1 , v127 + .byte W24 + .byte N12 , As1 + .byte W12 + .byte N18 , Ds1 + .byte W24 + .byte N12 + .byte W12 + .byte N03 , As1 + .byte W12 + .byte N12 , Cn1 + .byte W12 + .byte Ds2 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte N12 , As1 + .byte W12 + .byte N06 , Ds2 + .byte W12 + .byte Ds1 + .byte W06 + .byte Gn1 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte N12 , Ds2 + .byte W12 + .byte Cs2 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , Dn1 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte N12 + .byte W12 + .byte Gs1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte As1 + .byte W06 + .byte Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte Cn2 + .byte W12 + .byte N18 , Cn1 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W24 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N48 , Cn2 + .byte W12 + .byte BEND , c_v-6 + .byte W03 + .byte c_v-10 + .byte W03 + .byte c_v-17 + .byte W03 + .byte c_v-23 + .byte W03 + .byte c_v-31 + .byte W03 + .byte c_v-35 + .byte W03 + .byte c_v-42 + .byte W03 + .byte c_v-47 + .byte W03 + .byte c_v-64 + .byte W12 + .byte c_v+0 + .byte N24 , An1 + .byte W24 + .byte N06 , Fs1 + .byte W12 + .byte An1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N12 , Dn2 + .byte W12 + .byte An1 + .byte W12 + .byte Fs1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W24 + .byte N36 + .byte W12 + .byte BEND , c_v-6 + .byte W06 + .byte c_v-10 + .byte W03 + .byte c_v-15 + .byte W03 + .byte c_v-20 + .byte W03 + .byte c_v-28 + .byte W03 + .byte c_v-32 + .byte W03 + .byte c_v-39 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N12 + .byte W12 + .byte Cn2 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N48 , Gn1 + .byte W12 + .byte BEND , c_v-6 + .byte W03 + .byte c_v-10 + .byte W03 + .byte c_v-17 + .byte W03 + .byte c_v-23 + .byte W03 + .byte c_v-31 + .byte W03 + .byte c_v-35 + .byte W03 + .byte c_v-42 + .byte W03 + .byte c_v-47 + .byte W03 + .byte c_v-64 + .byte W12 + .byte c_v+0 + .byte N12 , Dn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn2 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte N12 , Fs1 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte Cn2 + .byte W06 + .byte Dn2 + .byte W06 + .byte An1 + .byte W06 + .byte As1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Fn1 + .byte W06 + .byte En1 + .byte W06 + .byte Ds1 + .byte W06 + .byte N30 , Dn1 + .byte W36 + .byte N06 + .byte W24 + .byte N24 + .byte W36 + .byte N12 , Cs2 + .byte W12 + .byte N24 , Dn2 + .byte W24 + .byte N18 , Dn1 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , Ds1 + .byte W24 + .byte N12 , Ds2 + .byte W12 + .byte N18 , Ds1 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , Ds2 + .byte W24 + .byte N12 , Dn2 + .byte W12 + .byte Ds2 + .byte W36 + .byte As1 + .byte W12 + .byte N06 , Cn2 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte GOTO + .word mus_rg_vs_yasei_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_vs_yasei_5: + .byte KEYSH , mus_rg_vs_yasei_key+0 + .byte VOICE , 17 + .byte PAN , c_v+0 + .byte VOL , 69*mus_rg_vs_yasei_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte N06 , An5 , v064 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Gn6 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Gn6 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Gn6 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Gn6 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Gn6 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Gn6 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Gn6 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Gn6 + .byte W06 + .byte VOL , 56*mus_rg_vs_yasei_mvl/mxv + .byte N12 , An4 , v112 + .byte W36 + .byte An3 + .byte W36 + .byte N12 + .byte W24 + .byte W48 + .byte N12 + .byte W48 +mus_rg_vs_yasei_5_000: + .byte W36 + .byte N12 , An3 , v112 + .byte W36 + .byte N12 + .byte W24 + .byte PEND + .byte W36 + .byte N60 , Gs3 + .byte W06 + .byte VOL , 22*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 29*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 41*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 52*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 68*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 71*mus_rg_vs_yasei_mvl/mxv + .byte W24 + .byte 56*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 0 + .byte N12 , An3 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W48 + .byte N12 + .byte W48 + .byte PATT + .word mus_rg_vs_yasei_5_000 + .byte W36 + .byte N60 , An3 , v112 + .byte W12 + .byte VOL , 34*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 47*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 59*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 69*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 78*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 84*mus_rg_vs_yasei_mvl/mxv + .byte W19 +mus_rg_vs_yasei_5_B1: + .byte VOICE , 24 + .byte MOD , 0 + .byte VOL , 78*mus_rg_vs_yasei_mvl/mxv + .byte N36 , An3 , v124 + .byte W36 + .byte Gs3 + .byte W36 + .byte N24 , Fs3 + .byte W24 + .byte N36 , An3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , An3 + .byte W24 + .byte N72 , As4 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte 0 + .byte N12 , An4 + .byte W24 + .byte As4 + .byte W12 + .byte An4 + .byte W36 + .byte N48 , Ds5 + .byte W06 + .byte VOL , 31*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 40*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 46*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 69*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 87*mus_rg_vs_yasei_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 79*mus_rg_vs_yasei_mvl/mxv + .byte N36 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Cn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , As3 + .byte W24 + .byte N36 , Ds4 + .byte W36 + .byte Dn4 + .byte W36 + .byte N24 , Cn4 + .byte W24 + .byte N36 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Fs4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , En4 + .byte W24 + .byte Cn4 + .byte W24 + .byte Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte Gn4 + .byte W24 + .byte VOICE , 48 + .byte TIE , As4 , v100 + .byte W12 + .byte MOD , 7 + .byte VOL , 21*mus_rg_vs_yasei_mvl/mxv + .byte W72 + .byte W03 + .byte 27*mus_rg_vs_yasei_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 34*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 38*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte VOL , 45*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 61*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 67*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 74*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 79*mus_rg_vs_yasei_mvl/mxv + .byte W12 + .byte 85*mus_rg_vs_yasei_mvl/mxv + .byte W36 + .byte EOT + .byte MOD , 0 + .byte VOL , 22*mus_rg_vs_yasei_mvl/mxv + .byte TIE , An4 , v120 + .byte W12 + .byte MOD , 7 + .byte W78 + .byte VOL , 25*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 34*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 38*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte VOL , 44*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 50*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 56*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 60*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 67*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 74*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 79*mus_rg_vs_yasei_mvl/mxv + .byte W12 + .byte 84*mus_rg_vs_yasei_mvl/mxv + .byte W12 + .byte 90*mus_rg_vs_yasei_mvl/mxv + .byte W24 + .byte EOT + .byte VOICE , 17 + .byte MOD , 0 + .byte VOL , 68*mus_rg_vs_yasei_mvl/mxv + .byte N48 , Gn4 , v124 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Cn5 + .byte W12 + .byte MOD , 7 + .byte W36 +mus_rg_vs_yasei_5_001: + .byte MOD , 0 + .byte N48 , En5 , v124 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Gn5 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte PEND + .byte 0 + .byte N96 , Fs5 + .byte W06 + .byte VOL , 22*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 29*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 32*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 37*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 43*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 48*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 55*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 61*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 68*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 72*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 75*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 80*mus_rg_vs_yasei_mvl/mxv + .byte W24 + .byte 68*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 0 + .byte N96 + .byte W06 + .byte VOL , 23*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 29*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 32*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 37*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 41*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 47*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 53*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 58*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 67*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 72*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 75*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 80*mus_rg_vs_yasei_mvl/mxv + .byte W24 + .byte 68*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 0 + .byte N48 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Cn5 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte PATT + .word mus_rg_vs_yasei_5_001 + .byte MOD , 0 + .byte N96 , An5 , v124 + .byte W06 + .byte VOL , 22*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 23*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 29*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 35*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 41*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 48*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 53*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 57*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 63*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 70*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 71*mus_rg_vs_yasei_mvl/mxv + .byte W30 + .byte W01 + .byte 56*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 0 + .byte N96 , Dn6 + .byte W06 + .byte VOL , 26*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 29*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 31*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 34*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 37*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 41*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 45*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 48*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 57*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 63*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 65*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 69*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 75*mus_rg_vs_yasei_mvl/mxv + .byte W19 + .byte 56*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 0 + .byte N72 , Fs5 + .byte W06 + .byte VOL , 29*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 31*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 33*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 36*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 40*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 44*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 48*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 55*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 63*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 70*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 72*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte N12 + .byte W24 + .byte VOL , 67*mus_rg_vs_yasei_mvl/mxv + .byte N12 , Gn5 + .byte W12 + .byte N24 , Fs5 + .byte W84 + .byte VOL , 56*mus_rg_vs_yasei_mvl/mxv + .byte N72 , Gn5 + .byte W06 + .byte VOL , 29*mus_rg_vs_yasei_mvl/mxv + .byte W06 + .byte 31*mus_rg_vs_yasei_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 33*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 36*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 40*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 44*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 48*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 55*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 63*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte 70*mus_rg_vs_yasei_mvl/mxv + .byte W05 + .byte 72*mus_rg_vs_yasei_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte N12 + .byte W24 + .byte VOL , 56*mus_rg_vs_yasei_mvl/mxv + .byte N12 , As5 + .byte W12 + .byte An5 + .byte W36 + .byte N48 , Gn5 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte GOTO + .word mus_rg_vs_yasei_5_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_vs_yasei_6: + .byte KEYSH , mus_rg_vs_yasei_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 90*mus_rg_vs_yasei_mvl/mxv + .byte W84 + .byte N06 , Cn1 , v096 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte N48 , Cn3 + .byte W24 + .byte N06 , Cn1 + .byte W12 + .byte Cn1 , v080 + .byte W12 + .byte Cn1 , v127 + .byte N48 , Gn2 , v088 + .byte W12 + .byte N06 , Cn1 , v064 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte Cn1 , v068 + .byte W12 + .byte Cn1 , v120 + .byte W24 +mus_rg_vs_yasei_6_000: + .byte N06 , Cn1 , v120 + .byte W12 + .byte Cn1 , v064 + .byte W24 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte Fn1 , v120 + .byte W12 + .byte PEND + .byte Cn1 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W36 + .byte Cn1 , v068 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cn1 , v096 + .byte W12 + .byte En1 , v120 + .byte W12 + .byte Cn1 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cn2 , v120 + .byte N24 , Bn2 , v096 + .byte W06 + .byte N06 , An1 , v120 + .byte W06 + .byte Fn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N48 , Cs2 , v088 + .byte W12 + .byte N06 , Cn1 , v064 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte Cn1 , v068 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte PATT + .word mus_rg_vs_yasei_6_000 + .byte N06 , Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte Cn1 , v068 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cn1 , v096 + .byte W12 + .byte Bn0 , v120 + .byte W12 + .byte Cn1 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cs1 , v096 + .byte N24 , Cs2 , v120 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte Fn1 + .byte W06 +mus_rg_vs_yasei_6_B1: + .byte N06 , Cn1 , v120 + .byte N48 , Gn2 + .byte W24 + .byte N06 , Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Gn1 , v120 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cs1 , v096 + .byte W06 + .byte Bn1 , v120 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte N24 , Gn2 + .byte W24 + .byte N06 , Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 , v096 + .byte W12 +mus_rg_vs_yasei_6_001: + .byte N06 , Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte PEND + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Dn2 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte N48 , An2 , v096 + .byte W24 + .byte N06 , Cs1 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte N06 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte An1 , v120 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cs1 , v096 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte N06 + .byte N24 , Bn2 , v120 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte N06 , Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 + .byte W24 + .byte Cn1 + .byte N06 , Fn2 , v096 + .byte W24 +mus_rg_vs_yasei_6_002: + .byte N06 , Cn1 , v120 + .byte W24 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte PEND + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 , v096 + .byte N06 , Fn2 + .byte W24 + .byte Cs1 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte N24 , Gn2 , v120 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte Cs1 , v120 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn2 , v080 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte N06 , Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte N06 , Fn2 , v096 + .byte W24 + .byte PATT + .word mus_rg_vs_yasei_6_002 + .byte N06 , Cn1 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 , v096 + .byte N06 , Fn2 + .byte W12 + .byte Cs1 + .byte W12 + .byte VOICE , 0 + .byte N06 , Cn1 , v120 + .byte N48 , Cn3 , v096 + .byte W06 + .byte N06 , Cn1 , v120 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte N48 , Cs2 + .byte W24 + .byte N06 , Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte PATT + .word mus_rg_vs_yasei_6_001 + .byte N06 , Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte GOTO + .word mus_rg_vs_yasei_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_vs_yasei_7: + .byte KEYSH , mus_rg_vs_yasei_key+0 + .byte VOICE , 127 + .byte VOL , 79*mus_rg_vs_yasei_mvl/mxv + .byte W96 + .byte W12 + .byte N03 , Cn5 , v028 + .byte W06 + .byte N03 + .byte W18 + .byte Cn5 , v044 + .byte W06 + .byte N03 + .byte W18 + .byte Cn5 , v056 + .byte W06 + .byte N03 + .byte W18 + .byte Cn5 , v084 + .byte W06 + .byte N03 + .byte W06 +mus_rg_vs_yasei_7_000: + .byte N03 , Cn5 , v108 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v100 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v100 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte PEND +mus_rg_vs_yasei_7_001: + .byte N03 , Cn5 , v080 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte N03 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v028 + .byte W24 + .byte Cn5 , v064 + .byte W12 + .byte PEND + .byte Cn5 , v108 + .byte W12 + .byte Cn5 , v032 + .byte W24 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v100 + .byte W12 + .byte Cn5 , v032 + .byte W12 +mus_rg_vs_yasei_7_002: + .byte N03 , Cn5 , v080 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v028 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v056 + .byte W18 + .byte PEND + .byte PATT + .word mus_rg_vs_yasei_7_000 + .byte PATT + .word mus_rg_vs_yasei_7_001 + .byte PATT + .word mus_rg_vs_yasei_7_000 + .byte PATT + .word mus_rg_vs_yasei_7_002 +mus_rg_vs_yasei_7_B1: +mus_rg_vs_yasei_7_003: + .byte N03 , Cn5 , v044 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte PEND +mus_rg_vs_yasei_7_004: + .byte N03 , Cn5 , v044 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W24 + .byte PEND + .byte PATT + .word mus_rg_vs_yasei_7_003 + .byte PATT + .word mus_rg_vs_yasei_7_004 + .byte W12 + .byte N03 , Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte PATT + .word mus_rg_vs_yasei_7_003 + .byte PATT + .word mus_rg_vs_yasei_7_003 + .byte PATT + .word mus_rg_vs_yasei_7_004 + .byte PATT + .word mus_rg_vs_yasei_7_003 + .byte PATT + .word mus_rg_vs_yasei_7_004 + .byte VOL , 68*mus_rg_vs_yasei_mvl/mxv + .byte N03 , Cn5 , v064 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v092 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v092 + .byte W12 +mus_rg_vs_yasei_7_005: + .byte W12 + .byte N03 , Cn5 , v064 + .byte W12 + .byte Cn5 , v072 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W24 + .byte Cn5 , v072 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte PEND +mus_rg_vs_yasei_7_006: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v108 + .byte W12 + .byte Cn5 , v048 + .byte W24 + .byte PEND +mus_rg_vs_yasei_7_007: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v108 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte N03 + .byte W12 + .byte PEND + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v092 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v092 + .byte W12 + .byte PATT + .word mus_rg_vs_yasei_7_005 + .byte PATT + .word mus_rg_vs_yasei_7_006 + .byte PATT + .word mus_rg_vs_yasei_7_007 + .byte VOL , 79*mus_rg_vs_yasei_mvl/mxv + .byte W12 + .byte N03 , Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte VOL , 79*mus_rg_vs_yasei_mvl/mxv + .byte N03 , Cn5 , v044 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte GOTO + .word mus_rg_vs_yasei_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_vs_yasei_8: + .byte KEYSH , mus_rg_vs_yasei_key+0 + .byte VOICE , 126 + .byte PAN , c_v+0 + .byte VOL , 68*mus_rg_vs_yasei_mvl/mxv + .byte W96 + .byte N12 , Gn5 , v044 + .byte W24 + .byte Gn5 , v068 + .byte W24 + .byte Gn5 , v088 + .byte W24 + .byte Gn5 , v120 + .byte W24 + .byte W96 + .byte W72 + .byte Gn5 , v088 + .byte W24 + .byte W24 + .byte N12 + .byte W72 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W72 + .byte N12 + .byte W24 + .byte W96 + .byte W96 +mus_rg_vs_yasei_8_B1: + .byte W96 + .byte W84 + .byte N12 , Gn5 , v096 + .byte W12 + .byte W96 + .byte W84 + .byte Gn5 , v120 + .byte W12 + .byte Gn5 , v092 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte Gn5 , v096 + .byte W12 + .byte W96 + .byte W84 + .byte Gn5 , v120 + .byte W12 + .byte W96 +mus_rg_vs_yasei_8_000: + .byte N12 , Gn5 , v092 + .byte W60 + .byte N12 + .byte W36 + .byte PEND + .byte W84 + .byte Gn5 , v096 + .byte W12 + .byte W96 + .byte W96 + .byte PATT + .word mus_rg_vs_yasei_8_000 + .byte W84 + .byte N12 , Gn5 , v096 + .byte W12 + .byte W96 + .byte Gn5 , v092 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_vs_yasei_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_vs_yasei: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_vs_yasei_pri @ Priority + .byte mus_rg_vs_yasei_rev @ Reverb. + + .word mus_rg_vs_yasei_grp + + .word mus_rg_vs_yasei_1 + .word mus_rg_vs_yasei_2 + .word mus_rg_vs_yasei_3 + .word mus_rg_vs_yasei_4 + .word mus_rg_vs_yasei_5 + .word mus_rg_vs_yasei_6 + .word mus_rg_vs_yasei_7 + .word mus_rg_vs_yasei_8 + + .end diff --git a/sound/songs/mus_rg_win_gym.s b/sound/songs/mus_rg_win_gym.s new file mode 100644 index 0000000000..d44442df2d --- /dev/null +++ b/sound/songs/mus_rg_win_gym.s @@ -0,0 +1,2951 @@ + .include "MPlayDef.s" + + .equ mus_rg_win_gym_grp, voicegroup_86AE728 + .equ mus_rg_win_gym_pri, 0 + .equ mus_rg_win_gym_rev, reverb_set+50 + .equ mus_rg_win_gym_mvl, 127 + .equ mus_rg_win_gym_key, 0 + .equ mus_rg_win_gym_tbs, 1 + .equ mus_rg_win_gym_exg, 0 + .equ mus_rg_win_gym_cmp, 1 + + .section .rodata + .global mus_rg_win_gym + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_win_gym_1: + .byte KEYSH , mus_rg_win_gym_key+0 + .byte W09 + .byte TEMPO , 138*mus_rg_win_gym_tbs/2 + .byte VOICE , 56 + .byte LFOS , 26 + .byte VOL , 90*mus_rg_win_gym_mvl/mxv + .byte N32 , As3 , v112 + .byte W15 + .byte MOD , 3 + .byte W18 + .byte 0 + .byte W03 + .byte N03 , Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte N32 , Ds4 + .byte W15 + .byte MOD , 3 + .byte W18 + .byte 0 + .byte W03 + .byte N03 , As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte VOL , 78*mus_rg_win_gym_mvl/mxv + .byte N36 , Gn4 + .byte W04 + .byte VOL , 73*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 68*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte MOD , 3 + .byte W04 + .byte VOL , 59*mus_rg_win_gym_mvl/mxv + .byte W07 + .byte 48*mus_rg_win_gym_mvl/mxv + .byte W10 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte MOD , 0 + .byte N03 , Ds4 + .byte W06 + .byte Gn4 + .byte W06 + .byte VOL , 65*mus_rg_win_gym_mvl/mxv + .byte N92 , As4 , v120 + .byte W09 + .byte VOL , 72*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 77*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 80*mus_rg_win_gym_mvl/mxv + .byte MOD , 3 + .byte W06 + .byte VOL , 85*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte W24 + .byte W03 + .byte 85*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 75*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 63*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 51*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 31*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 24*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 19*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 6*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 +mus_rg_win_gym_1_000: + .byte VOICE , 73 + .byte VOL , 90*mus_rg_win_gym_mvl/mxv + .byte N06 , Ds5 , v100 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W24 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte As4 + .byte W24 + .byte PEND +mus_rg_win_gym_1_B1: + .byte N06 , Cn5 , v100 + .byte W12 + .byte As4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte As4 + .byte W24 + .byte N24 + .byte W09 + .byte MOD , 5 + .byte W15 + .byte 0 + .byte N06 , Ds5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W24 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte As4 + .byte W24 + .byte Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Ds4 + .byte W36 + .byte VOICE , 60 + .byte N06 , Cn4 , v112 + .byte W06 + .byte Dn4 + .byte W06 +mus_rg_win_gym_1_001: + .byte N06 , Ds4 , v112 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W24 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 + .byte W24 + .byte PEND + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte As3 + .byte W24 + .byte N24 + .byte W24 + .byte PATT + .word mus_rg_win_gym_1_001 + .byte N06 , Cn4 , v112 + .byte W12 + .byte As3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W48 + .byte VOICE , 56 + .byte BEND , c_v-9 + .byte N36 , As3 + .byte W03 + .byte BEND , c_v+0 + .byte W15 + .byte MOD , 4 + .byte W18 + .byte 0 + .byte N06 , Gn3 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte BEND , c_v-9 + .byte TIE , Ds4 + .byte W03 + .byte BEND , c_v+0 + .byte W44 + .byte W01 +mus_rg_win_gym_1_002: + .byte MOD , 4 + .byte W48 + .byte VOL , 80*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 65*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 53*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 35*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 20*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 7*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte PEND + .byte EOT , Ds4 + .byte MOD , 0 + .byte W03 + .byte VOL , 90*mus_rg_win_gym_mvl/mxv + .byte N36 , Cn4 , v112 + .byte W18 + .byte MOD , 4 + .byte W18 + .byte 0 + .byte N06 , An3 + .byte W06 + .byte N03 , Cn4 + .byte W06 + .byte TIE , Fn4 + .byte W48 + .byte PATT + .word mus_rg_win_gym_1_002 + .byte EOT , Fn4 + .byte MOD , 0 + .byte W03 + .byte VOL , 90*mus_rg_win_gym_mvl/mxv + .byte BEND , c_v-11 + .byte N36 , Gs3 , v112 + .byte W03 + .byte BEND , c_v+0 + .byte W15 + .byte MOD , 4 + .byte W18 + .byte 0 + .byte N06 , Fn3 + .byte W06 + .byte N03 , Gs3 + .byte W06 + .byte BEND , c_v-15 + .byte N92 , Dn4 + .byte W03 + .byte BEND , c_v-11 + .byte W03 + .byte c_v-5 + .byte W03 + .byte c_v+0 + .byte W24 + .byte W03 + .byte MOD , 4 + .byte W12 + .byte VOL , 80*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 65*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 53*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 35*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 20*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 7*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte MOD , 0 + .byte W03 + .byte VOL , 90*mus_rg_win_gym_mvl/mxv + .byte BEND , c_v-20 + .byte N24 , Gn4 + .byte W03 + .byte BEND , c_v-7 + .byte W03 + .byte c_v+0 + .byte W06 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte VOL , 70*mus_rg_win_gym_mvl/mxv + .byte MOD , 0 + .byte N80 , Ds4 + .byte W09 + .byte VOL , 73*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 77*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 80*mus_rg_win_gym_mvl/mxv + .byte MOD , 4 + .byte W09 + .byte VOL , 85*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte W36 + .byte MOD , 0 + .byte W03 + .byte N12 , Cn4 + .byte W12 + .byte N92 , As3 + .byte W30 + .byte MOD , 4 + .byte W18 + .byte VOL , 80*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 65*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 53*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 35*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 20*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 7*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte MOD , 0 + .byte W03 + .byte VOICE , 48 + .byte VOL , 90*mus_rg_win_gym_mvl/mxv + .byte N36 , As4 , v096 + .byte W36 + .byte N06 , Gn4 + .byte W06 + .byte As4 + .byte W06 + .byte TIE , Ds5 + .byte W48 +mus_rg_win_gym_1_003: + .byte W36 + .byte W03 + .byte VOL , 85*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 81*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 77*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 70*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 56*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 45*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 31*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 18*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte PEND + .byte EOT , Ds5 + .byte VOL , 6*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N36 , Cn5 , v096 + .byte W36 + .byte N06 , An4 + .byte W06 + .byte Cn5 + .byte W06 + .byte TIE , Fn5 + .byte W48 + .byte PATT + .word mus_rg_win_gym_1_003 + .byte EOT , Fn5 + .byte VOL , 6*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N36 , Gs4 , v096 + .byte W36 + .byte N06 , Fn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte N90 , Dn5 + .byte W48 + .byte VOL , 85*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 81*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 77*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 70*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 56*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 45*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 31*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N24 , As4 + .byte W24 + .byte Dn5 + .byte W24 + .byte N84 , Ds5 + .byte W84 + .byte N12 , Fn5 + .byte W12 + .byte N90 , Ds5 + .byte W48 + .byte VOL , 85*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 81*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 77*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 70*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 56*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 45*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 31*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte PATT + .word mus_rg_win_gym_1_000 + .byte GOTO + .word mus_rg_win_gym_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_win_gym_2: + .byte KEYSH , mus_rg_win_gym_key+0 + .byte W09 + .byte VOICE , 56 + .byte LFOS , 26 + .byte VOL , 90*mus_rg_win_gym_mvl/mxv + .byte PAN , c_v+16 + .byte N32 , Gn3 , v084 + .byte W15 + .byte MOD , 3 + .byte W18 + .byte 0 + .byte W03 + .byte N03 , Ds3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N32 , As3 + .byte W15 + .byte MOD , 3 + .byte W18 + .byte 0 + .byte W03 + .byte N03 , Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte VOL , 78*mus_rg_win_gym_mvl/mxv + .byte N32 , Ds4 , v104 + .byte W04 + .byte VOL , 73*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 68*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte MOD , 3 + .byte W04 + .byte VOL , 59*mus_rg_win_gym_mvl/mxv + .byte W07 + .byte 48*mus_rg_win_gym_mvl/mxv + .byte W10 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte MOD , 0 + .byte N03 , As3 , v092 + .byte W06 + .byte Ds4 + .byte W06 + .byte VOL , 65*mus_rg_win_gym_mvl/mxv + .byte N92 , Fn4 , v104 + .byte W09 + .byte VOL , 72*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 77*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 80*mus_rg_win_gym_mvl/mxv + .byte MOD , 3 + .byte W06 + .byte VOL , 85*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte W24 + .byte W03 + .byte 85*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 75*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 63*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 51*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 31*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 24*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 19*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 6*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte W03 +mus_rg_win_gym_2_000: + .byte VOICE , 60 + .byte VOL , 90*mus_rg_win_gym_mvl/mxv + .byte PAN , c_v+0 + .byte N09 , Ds3 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v+31 + .byte N06 , Ds4 , v060 + .byte W12 + .byte Gn4 , v072 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte N09 , Dn3 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v+32 + .byte N06 , Dn4 , v060 + .byte W12 + .byte Fn4 , v072 + .byte W24 + .byte PEND +mus_rg_win_gym_2_B1: + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte N09 , Cn3 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v+31 + .byte N06 , Cn4 , v060 + .byte W12 + .byte Ds4 , v072 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte N09 , Dn3 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v+32 + .byte N06 , As3 , v060 + .byte W12 + .byte Dn4 , v072 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte N09 , Ds3 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v+31 + .byte N06 , Ds4 , v060 + .byte W12 + .byte Gn4 , v072 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte N09 , Dn3 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v+32 + .byte N06 , Dn4 , v060 + .byte W12 + .byte Fn4 , v072 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte N09 , Cn3 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v+31 + .byte N06 , Cn4 , v072 + .byte W12 + .byte Fn3 + .byte W12 + .byte N06 + .byte W12 + .byte Gn3 + .byte W48 + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte VOICE , 60 + .byte PAN , c_v+9 + .byte N06 , Gn3 , v100 + .byte W12 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W24 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W24 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte As2 + .byte W12 + .byte Gn2 + .byte W48 + .byte W48 + .byte VOICE , 56 + .byte PAN , c_v-32 + .byte N03 , As4 , v076 + .byte W18 + .byte N12 + .byte W12 + .byte N03 , Gs4 , v036 + .byte W03 + .byte Gn4 , v024 + .byte W03 + .byte Ds4 , v008 + .byte W12 + .byte VOICE , 60 + .byte VOL , 60*mus_rg_win_gym_mvl/mxv + .byte PAN , c_v+16 + .byte N36 , Gn3 , v092 + .byte W06 + .byte VOL , 67*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 77*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 82*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 87*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte W18 + .byte N06 , Ds3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N48 , As3 + .byte W18 + .byte VOL , 79*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 71*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 65*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 71*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 79*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N44 , An3 + .byte W24 + .byte VOL , 84*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 73*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 58*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 42*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 29*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 15*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte VOICE , 56 + .byte VOL , 90*mus_rg_win_gym_mvl/mxv + .byte PAN , c_v-32 + .byte N03 , Cn5 , v076 + .byte W18 + .byte N12 + .byte W12 + .byte N03 , As4 , v036 + .byte W03 + .byte An4 , v024 + .byte W03 + .byte Fn4 , v008 + .byte W12 + .byte VOICE , 60 + .byte VOL , 60*mus_rg_win_gym_mvl/mxv + .byte PAN , c_v+16 + .byte N36 , An3 , v092 + .byte W06 + .byte VOL , 67*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 77*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 82*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 87*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte W18 + .byte N06 , Fn3 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N44 , Cn4 + .byte W24 + .byte VOL , 84*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 73*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 58*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 42*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 29*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 15*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte W24 + .byte VOICE , 56 + .byte PAN , c_v-32 + .byte N12 , Fn4 , v064 + .byte W12 + .byte Gn4 + .byte W12 + .byte N03 , As4 , v076 + .byte W18 + .byte N12 + .byte W12 + .byte N03 , Gs4 , v036 + .byte W03 + .byte Fn4 , v024 + .byte W03 + .byte Dn4 , v008 + .byte W12 + .byte VOICE , 60 + .byte PAN , c_v+16 + .byte N36 , Fn3 , v092 + .byte W36 + .byte N06 , Dn3 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte N44 , As3 + .byte W24 + .byte VOL , 84*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 73*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 58*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 42*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 29*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 15*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte VOICE , 56 + .byte VOL , 90*mus_rg_win_gym_mvl/mxv + .byte PAN , c_v-32 + .byte N03 , As3 , v076 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N03 , Gs3 , v032 + .byte W03 + .byte Ds3 , v020 + .byte W03 + .byte As2 , v012 + .byte W06 + .byte VOICE , 60 + .byte PAN , c_v+16 + .byte N03 , As2 , v092 + .byte W06 + .byte Fn3 + .byte W06 + .byte N32 , Gn3 + .byte W36 + .byte N12 , Ds3 + .byte W12 + .byte N44 , Dn3 + .byte W32 + .byte W01 + .byte VOL , 83*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 70*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 51*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 10*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte VOICE , 48 + .byte VOL , 90*mus_rg_win_gym_mvl/mxv + .byte PAN , c_v+0 + .byte N08 , As2 , v112 + .byte W08 + .byte Fn3 + .byte W08 + .byte As3 + .byte W08 + .byte Dn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Gs4 + .byte W08 + .byte VOICE , 60 + .byte PAN , c_v+16 + .byte N96 , Gn3 , v080 + .byte W12 + .byte VOL , 87*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 79*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 72*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 65*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 56*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 51*mus_rg_win_gym_mvl/mxv + .byte W20 + .byte 45*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N96 + .byte W08 + .byte VOL , 72*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 50*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 54*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 60*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 68*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 77*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 85*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte W20 + .byte N96 , An3 + .byte W12 + .byte VOL , 87*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 79*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 72*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 65*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 56*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 51*mus_rg_win_gym_mvl/mxv + .byte W20 + .byte 45*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N96 + .byte W08 + .byte VOL , 72*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 50*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 54*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 60*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 68*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 77*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 85*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte W20 + .byte N96 , As3 + .byte W12 + .byte VOL , 87*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 79*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 72*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 65*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 56*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 51*mus_rg_win_gym_mvl/mxv + .byte W20 + .byte 45*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte N96 , As3 , v092 + .byte W05 + .byte VOL , 72*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 50*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 54*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 60*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 68*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 77*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 85*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte W23 + .byte W96 + .byte W96 + .byte PATT + .word mus_rg_win_gym_2_000 + .byte GOTO + .word mus_rg_win_gym_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_win_gym_3: + .byte KEYSH , mus_rg_win_gym_key+0 + .byte W09 + .byte VOICE , 90 + .byte VOL , 90*mus_rg_win_gym_mvl/mxv + .byte N04 , Ds3 , v040 + .byte W04 + .byte Gn3 + .byte W05 + .byte As3 + .byte W05 + .byte Ds4 + .byte W05 + .byte Gn4 + .byte W05 + .byte Ds4 + .byte W04 + .byte Gn4 + .byte W05 + .byte As4 + .byte W05 + .byte Ds5 + .byte W05 + .byte Gn5 + .byte W05 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W05 + .byte As3 + .byte W05 + .byte Ds4 + .byte W05 + .byte Gn4 + .byte W05 + .byte Ds4 + .byte W04 + .byte Gn4 + .byte W05 + .byte As4 + .byte W05 + .byte Ds5 + .byte W05 + .byte Gn5 + .byte W05 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W05 + .byte As3 + .byte W05 + .byte Ds4 + .byte W05 + .byte Gn4 + .byte W05 + .byte Ds4 + .byte W04 + .byte Gn4 + .byte W05 + .byte As4 + .byte W05 + .byte Ds5 + .byte W05 + .byte Gn5 + .byte W05 + .byte Dn6 + .byte W04 + .byte As5 + .byte W05 + .byte Fn5 + .byte W05 + .byte Dn5 + .byte W05 + .byte As4 + .byte W05 + .byte Fn4 + .byte W04 + .byte Dn4 + .byte W05 + .byte As3 + .byte W05 + .byte Fn3 + .byte W05 + .byte Dn3 + .byte W05 + .byte As2 + .byte W04 + .byte Dn3 + .byte W05 + .byte Fn3 + .byte W05 + .byte As3 + .byte W05 + .byte Dn4 + .byte W05 + .byte Fn4 + .byte W04 + .byte As4 + .byte W05 + .byte Dn5 + .byte W05 + .byte Fn5 + .byte W05 + .byte As5 + .byte W05 + .byte VOICE , 81 + .byte N06 , Ds2 + .byte W48 + .byte Dn2 + .byte W48 +mus_rg_win_gym_3_B1: + .byte N06 , Cn2 , v040 + .byte W48 + .byte As1 + .byte W48 +mus_rg_win_gym_3_000: + .byte N06 , Ds2 , v040 + .byte W48 + .byte Dn2 + .byte W48 + .byte PEND + .byte Cn2 + .byte W24 + .byte Fn2 , v064 + .byte W12 + .byte Dn2 + .byte W12 + .byte Ds2 + .byte W48 +mus_rg_win_gym_3_001: + .byte N06 , Ds1 , v080 + .byte W24 + .byte N06 + .byte W24 + .byte As1 + .byte W24 + .byte N06 + .byte W24 + .byte PEND + .byte Gs1 + .byte W24 + .byte N06 + .byte W24 + .byte As1 + .byte W24 + .byte N24 , Dn1 + .byte W24 + .byte PATT + .word mus_rg_win_gym_3_001 + .byte N06 , Gs1 , v080 + .byte W12 + .byte As1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Ds2 + .byte W48 + .byte N12 , Ds1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte VOICE , 89 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte N12 + .byte W18 + .byte N18 , Ds2 + .byte W18 + .byte N12 , Gn1 + .byte W12 + .byte Fn1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte VOICE , 89 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte N18 , Cn2 + .byte W18 + .byte Fn1 + .byte W18 + .byte N12 , Cn2 + .byte W12 + .byte As1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte VOICE , 89 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N21 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , Fn1 + .byte W18 + .byte Ds1 + .byte W18 + .byte N12 , Dn1 + .byte W12 + .byte VOICE , 81 + .byte N12 , Ds1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N48 , As1 + .byte W48 + .byte N12 + .byte W18 + .byte Cn2 + .byte W18 + .byte Dn2 + .byte W12 + .byte TIE , Ds2 , v040 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , Fn2 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , As1 + .byte W96 + .byte W96 + .byte EOT + .byte VOICE , 89 + .byte N06 , Ds2 , v080 + .byte W12 + .byte VOICE , 81 + .byte N06 + .byte W24 + .byte VOICE , 89 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte N06 + .byte W18 + .byte N12 , Gs2 + .byte W18 + .byte N06 , Ds2 + .byte W12 + .byte VOICE , 89 + .byte N06 + .byte W12 + .byte VOICE , 81 + .byte N06 + .byte W24 + .byte VOICE , 89 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 81 + .byte N06 + .byte W18 + .byte N12 , Gn2 + .byte W18 + .byte N06 , Ds2 + .byte W12 + .byte PATT + .word mus_rg_win_gym_3_000 + .byte GOTO + .word mus_rg_win_gym_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_win_gym_4: + .byte VOL , 90*mus_rg_win_gym_mvl/mxv + .byte KEYSH , mus_rg_win_gym_key+0 + .byte N24 , Cn3 , v064 + .byte W09 + .byte VOICE , 84 + .byte VOL , 90*mus_rg_win_gym_mvl/mxv + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte N32 , Ds2 , v080 + .byte W36 + .byte N06 + .byte W06 + .byte N12 , Ds2 , v028 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Ds2 , v080 + .byte W12 + .byte Ds2 , v028 + .byte W12 + .byte N06 , Ds2 , v080 + .byte W06 + .byte Ds2 , v028 + .byte W06 + .byte VOL , 78*mus_rg_win_gym_mvl/mxv + .byte N48 , Ds2 , v080 + .byte W04 + .byte VOL , 73*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 68*mus_rg_win_gym_mvl/mxv + .byte W07 + .byte 59*mus_rg_win_gym_mvl/mxv + .byte W07 + .byte 48*mus_rg_win_gym_mvl/mxv + .byte W07 + .byte 42*mus_rg_win_gym_mvl/mxv + .byte W10 + .byte 46*mus_rg_win_gym_mvl/mxv + .byte W05 + .byte N96 , Dn2 + .byte W02 + .byte VOL , 51*mus_rg_win_gym_mvl/mxv + .byte W07 + .byte 59*mus_rg_win_gym_mvl/mxv + .byte W07 + .byte 67*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 75*mus_rg_win_gym_mvl/mxv + .byte W07 + .byte 83*mus_rg_win_gym_mvl/mxv + .byte W07 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte W24 + .byte W01 + .byte 85*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 75*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 63*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 51*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 31*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 24*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 19*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 6*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte W96 +mus_rg_win_gym_4_B1: + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte W96 + .byte VOICE , 83 + .byte VOL , 90*mus_rg_win_gym_mvl/mxv + .byte N06 , Ds6 , v032 + .byte W12 + .byte Dn6 + .byte W12 + .byte Cn6 + .byte W24 + .byte Dn6 + .byte W12 + .byte Cn6 + .byte W12 + .byte As5 + .byte W24 + .byte Cn6 + .byte W12 + .byte As5 + .byte W12 + .byte Gs5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Ds5 + .byte W48 + .byte VOICE , 80 + .byte N12 , Ds3 , v052 + .byte W06 + .byte VOL , 79*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N12 , As3 + .byte W06 + .byte VOL , 79*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N12 , Dn3 + .byte W06 + .byte VOL , 79*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N12 , As3 + .byte W06 + .byte VOL , 79*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N12 , Cn3 + .byte W06 + .byte VOL , 79*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N12 , Gs3 + .byte W06 + .byte VOL , 79*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N12 , As2 + .byte W06 + .byte VOL , 79*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte N24 , Fn3 , v072 + .byte W06 + .byte VOL , 72*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 75*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 78*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 85*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte VOICE , 83 + .byte PAN , c_v-49 + .byte N06 , Ds5 , v040 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W24 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte As4 + .byte W24 + .byte Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Ds4 + .byte W48 + .byte VOICE , 84 + .byte PAN , c_v+0 + .byte N24 , As2 , v060 + .byte W15 + .byte VOL , 79*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 58*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 33*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , Ds3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , As2 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , Gn3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , As2 + .byte W12 + .byte N24 , Cn3 + .byte W15 + .byte VOL , 79*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 58*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 33*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , Fn3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , Cn3 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , An3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , Cn3 + .byte W12 + .byte N24 , Dn3 + .byte W15 + .byte VOL , 79*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 58*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 33*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , Fn3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte N03 , As2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , As3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte BEND , c_v-13 + .byte N12 , As3 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N06 , Ds3 + .byte W12 + .byte N12 , As2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte As2 + .byte W12 + .byte Fn3 , v064 + .byte W18 + .byte Ds3 + .byte W18 + .byte Dn3 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 58*mus_rg_win_gym_mvl/mxv + .byte N96 , Dn3 , v068 + .byte W12 + .byte VOL , 61*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 65*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 70*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 73*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 76*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 80*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 85*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte W18 + .byte N06 , Gs3 , v060 + .byte W12 + .byte N06 + .byte W12 + .byte Ds4 + .byte W12 + .byte N03 , Gs3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte VOICE , 83 + .byte N06 , Gs3 , v052 + .byte W06 + .byte As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte Ds5 + .byte W06 + .byte As5 + .byte W06 + .byte VOICE , 84 + .byte N06 , Gn3 , v060 + .byte W12 + .byte N06 + .byte W12 + .byte Ds4 + .byte W12 + .byte N03 , Gn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte VOICE , 83 + .byte N06 , Gn3 , v052 + .byte W06 + .byte As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn4 + .byte W06 + .byte As4 + .byte W06 + .byte Ds5 + .byte W06 + .byte XCMD , xIECV , 0 + .byte xIECL , 8 + .byte N06 , Gn5 + .byte W06 + .byte PAN , c_v+0 + .byte W96 + .byte GOTO + .word mus_rg_win_gym_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_win_gym_5: + .byte KEYSH , mus_rg_win_gym_key+0 + .byte W09 + .byte VOICE , 82 + .byte VOL , 90*mus_rg_win_gym_mvl/mxv + .byte PAN , c_v-48 + .byte BEND , c_v+5 + .byte W04 + .byte N04 , Ds3 , v024 + .byte W05 + .byte Gn3 + .byte W05 + .byte As3 + .byte W05 + .byte Ds4 + .byte W05 + .byte Gn4 + .byte W04 + .byte Ds4 + .byte W05 + .byte Gn4 + .byte W05 + .byte As4 + .byte W05 + .byte Ds5 + .byte W05 + .byte Gn5 + .byte W04 + .byte Ds3 + .byte W05 + .byte Gn3 + .byte W05 + .byte As3 + .byte W05 + .byte Ds4 + .byte W05 + .byte Gn4 + .byte W04 + .byte Ds4 + .byte W05 + .byte Gn4 + .byte W05 + .byte As4 + .byte W05 + .byte Ds5 + .byte W05 + .byte Gn5 + .byte W04 + .byte Ds3 + .byte W05 + .byte Gn3 + .byte W05 + .byte As3 + .byte W05 + .byte Ds4 + .byte W05 + .byte Gn4 + .byte W04 + .byte Ds4 + .byte W05 + .byte Gn4 + .byte W05 + .byte As4 + .byte W05 + .byte Ds5 + .byte W05 + .byte Gn5 + .byte W04 + .byte Dn6 + .byte W05 + .byte As5 + .byte W05 + .byte Fn5 + .byte W05 + .byte Dn5 + .byte W05 + .byte As4 + .byte W04 + .byte Fn4 + .byte W05 + .byte Dn4 + .byte W05 + .byte As3 + .byte W05 + .byte Fn3 + .byte W05 + .byte Dn3 + .byte W04 + .byte As2 + .byte W05 + .byte Dn3 + .byte W05 + .byte Fn3 + .byte W05 + .byte As3 + .byte W05 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W05 + .byte As4 + .byte W05 + .byte Dn5 + .byte W05 + .byte Fn5 + .byte W05 + .byte As5 + .byte W06 + .byte BEND , c_v+0 + .byte W90 +mus_rg_win_gym_5_B1: + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte xIECV , 8 + .byte xIECL , 8 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte N12 , As2 , v052 + .byte W06 + .byte VOL , 79*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N12 , Gn3 + .byte W06 + .byte VOL , 79*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N12 , As2 + .byte W06 + .byte VOL , 79*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N12 , Fn3 + .byte W06 + .byte VOL , 79*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N12 , Gs2 + .byte W06 + .byte VOL , 79*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N12 , Ds3 + .byte W06 + .byte VOL , 79*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N12 , Fn2 + .byte W06 + .byte VOL , 79*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 67*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte N24 , Dn3 , v072 + .byte W06 + .byte VOL , 72*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 75*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 78*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 85*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte VOICE , 86 + .byte PAN , c_v+48 + .byte N06 , Gn4 , v040 + .byte W12 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W24 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W24 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W48 + .byte VOICE , 85 + .byte PAN , c_v+0 + .byte N24 , Gn2 , v060 + .byte W15 + .byte VOL , 79*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 58*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 33*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , As2 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , Ds3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte N24 , An2 + .byte W15 + .byte VOL , 79*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 58*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 33*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , Cn3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , An2 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , Fn3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , An2 + .byte W12 + .byte N24 , As2 + .byte W15 + .byte VOL , 79*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 58*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 33*mus_rg_win_gym_mvl/mxv + .byte W15 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N06 + .byte W12 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , Dn3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , As2 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte BEND , c_v-20 + .byte N18 , Fn3 + .byte W03 + .byte BEND , c_v-9 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N06 , As2 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W24 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte BEND , c_v-13 + .byte N12 , Gn3 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte N06 , As2 + .byte W12 + .byte N12 , Gn2 + .byte W12 + .byte As2 + .byte W12 + .byte Dn3 + .byte W12 + .byte As2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn2 + .byte W12 + .byte Dn3 , v064 + .byte W18 + .byte Cn3 + .byte W18 + .byte As2 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 58*mus_rg_win_gym_mvl/mxv + .byte PAN , c_v+48 + .byte N12 , As2 , v068 + .byte W12 + .byte VOICE , 87 + .byte VOL , 61*mus_rg_win_gym_mvl/mxv + .byte N12 + .byte W09 + .byte VOL , 65*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte N12 + .byte W06 + .byte VOL , 70*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte N12 + .byte W03 + .byte VOL , 73*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 76*mus_rg_win_gym_mvl/mxv + .byte N12 + .byte W09 + .byte VOL , 80*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte N12 + .byte W09 + .byte VOL , 85*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte N12 + .byte W06 + .byte VOL , 90*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte N12 + .byte W12 + .byte VOICE , 85 + .byte N06 , Ds3 , v060 + .byte W12 + .byte N06 + .byte W12 + .byte Gs3 + .byte W12 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As2 + .byte W06 + .byte VOICE , 86 + .byte N06 , Ds3 , v036 + .byte W06 + .byte Gs3 + .byte W06 + .byte As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gs4 + .byte W06 + .byte As4 + .byte W06 + .byte Ds5 + .byte W06 + .byte VOICE , 85 + .byte N06 , Ds3 , v060 + .byte W12 + .byte N06 + .byte W12 + .byte Gn3 + .byte W12 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As2 , v036 + .byte W06 + .byte VOICE , 86 + .byte N06 , Ds3 + .byte W06 + .byte Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn4 + .byte W06 + .byte As4 + .byte W06 + .byte XCMD , xIECV , 0 + .byte xIECL , 8 + .byte N06 , Ds5 + .byte W06 + .byte PAN , c_v+0 + .byte W96 + .byte GOTO + .word mus_rg_win_gym_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_win_gym_6: + .byte KEYSH , mus_rg_win_gym_key+0 + .byte W09 + .byte VOL , 90*mus_rg_win_gym_mvl/mxv + .byte W48 + .byte BEND , c_v+2 + .byte W48 + .byte c_v+0 + .byte W96 + .byte W48 +mus_rg_win_gym_6_000: + .byte VOICE , 60 + .byte PAN , c_v+9 + .byte N09 , As2 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v-32 + .byte N06 , As3 , v048 + .byte W12 + .byte Ds4 , v060 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v+9 + .byte N09 , As2 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v-32 + .byte N06 , As3 , v048 + .byte W12 + .byte Dn4 , v060 + .byte W24 + .byte PEND +mus_rg_win_gym_6_B1: + .byte VOICE , 60 + .byte PAN , c_v+9 + .byte N09 , Gs2 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v-32 + .byte N06 , Gs3 , v048 + .byte W12 + .byte Cn4 , v060 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v+9 + .byte N09 , As2 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v-32 + .byte N06 , Fn3 , v068 + .byte W12 + .byte As3 , v060 + .byte W24 + .byte PATT + .word mus_rg_win_gym_6_000 + .byte VOICE , 60 + .byte PAN , c_v+9 + .byte N09 , Gs2 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v-32 + .byte N06 , Gs3 , v060 + .byte W12 + .byte Dn3 + .byte W12 + .byte Dn3 , v064 + .byte W12 + .byte Ds3 , v060 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte VOICE , 56 + .byte PAN , c_v+32 + .byte N03 , Gn4 , v076 + .byte W18 + .byte N12 + .byte W12 + .byte N03 , Fn4 , v036 + .byte W03 + .byte Ds4 , v024 + .byte W03 + .byte As3 , v008 + .byte W12 + .byte W96 + .byte W36 + .byte PAN , c_v+0 + .byte N06 , Fn4 , v076 + .byte W06 + .byte N03 , An4 + .byte W06 + .byte PAN , c_v+32 + .byte N03 + .byte W18 + .byte N12 + .byte W12 + .byte N03 , Gn4 , v036 + .byte W03 + .byte Fn4 , v024 + .byte W03 + .byte Cn4 , v008 + .byte W12 + .byte W96 + .byte W24 + .byte N12 , Dn4 , v064 + .byte W12 + .byte Ds4 + .byte W12 + .byte N03 , Fn4 , v076 + .byte W18 + .byte N12 + .byte W12 + .byte N03 , Dn4 , v036 + .byte W03 + .byte As3 , v024 + .byte W03 + .byte Fn3 , v008 + .byte W12 + .byte W96 + .byte W06 + .byte Gn3 , v076 + .byte W06 + .byte N12 + .byte W12 + .byte N03 , Fn3 , v032 + .byte W03 + .byte As2 , v020 + .byte W03 + .byte Gn2 , v012 + .byte W66 + .byte W96 + .byte W96 + .byte VOICE , 48 + .byte PAN , c_v-16 + .byte N16 , Gn4 , v080 + .byte W16 + .byte Fn4 + .byte W16 + .byte Ds4 + .byte W16 + .byte Dn4 + .byte W16 + .byte Ds4 + .byte W16 + .byte As3 + .byte W16 + .byte N92 , Fn3 + .byte W36 + .byte W03 + .byte VOL , 85*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 81*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 77*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 70*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 56*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 45*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 31*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 18*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 6*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte N16 , Fn4 + .byte W16 + .byte Gn4 + .byte W16 + .byte Fn4 + .byte W16 + .byte Ds4 + .byte W16 + .byte Fn4 + .byte W16 + .byte Cn4 + .byte W16 + .byte N92 , Dn4 + .byte W36 + .byte W03 + .byte VOL , 85*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 81*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 77*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 70*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 56*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 45*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 31*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 18*mus_rg_win_gym_mvl/mxv + .byte W03 + .byte 6*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte W48 + .byte N24 + .byte W24 + .byte Fn4 + .byte W24 + .byte N84 , Gs4 + .byte W84 + .byte N12 + .byte W12 + .byte N90 , Gn4 + .byte W48 + .byte VOL , 85*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 81*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 77*mus_rg_win_gym_mvl/mxv + .byte W09 + .byte 70*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 56*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 45*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte 31*mus_rg_win_gym_mvl/mxv + .byte W06 + .byte VOICE , 60 + .byte VOL , 90*mus_rg_win_gym_mvl/mxv + .byte PAN , c_v-1 + .byte N09 , As2 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v-32 + .byte N06 , As3 , v048 + .byte W12 + .byte Ds4 , v060 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v-1 + .byte N09 , As2 , v100 + .byte W12 + .byte VOICE , 45 + .byte PAN , c_v-32 + .byte N06 , As3 , v048 + .byte W12 + .byte Dn4 , v060 + .byte W24 + .byte GOTO + .word mus_rg_win_gym_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_win_gym_7: + .byte KEYSH , mus_rg_win_gym_key+0 + .byte W09 + .byte VOICE , 47 + .byte VOL , 90*mus_rg_win_gym_mvl/mxv + .byte PAN , c_v-8 + .byte N12 , As1 , v120 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Ds2 + .byte W36 + .byte N06 , As1 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Ds2 + .byte W36 + .byte N06 , As1 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Fn2 + .byte W84 + .byte Dn2 + .byte W12 + .byte Ds2 + .byte W96 +mus_rg_win_gym_7_B1: + .byte N12 , Cn2 , v120 + .byte W84 + .byte Dn2 + .byte W12 + .byte Ds2 + .byte W96 + .byte Cn2 + .byte W36 + .byte Dn2 + .byte W12 + .byte Ds2 + .byte W48 +mus_rg_win_gym_7_000: + .byte N12 , Ds2 , v120 + .byte W24 + .byte As1 + .byte W24 + .byte Dn2 + .byte W24 + .byte As1 + .byte W24 + .byte PEND + .byte Cn2 + .byte W24 + .byte Gs1 + .byte W24 + .byte Dn2 + .byte W24 + .byte As1 + .byte W24 + .byte PATT + .word mus_rg_win_gym_7_000 + .byte N12 , Cn2 , v120 + .byte W24 + .byte Gs1 + .byte W24 + .byte Ds2 + .byte W48 + .byte N12 + .byte W96 + .byte N06 , As1 , v108 + .byte W06 + .byte As1 , v092 + .byte W06 + .byte As1 , v108 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N12 , Ds2 + .byte W18 + .byte As1 + .byte W12 + .byte Cn2 , v120 + .byte W96 + .byte N06 , Cn2 , v108 + .byte W06 + .byte Cn2 , v092 + .byte W06 + .byte Cn2 , v108 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N12 , Fn2 + .byte W18 + .byte Cn2 + .byte W12 + .byte Dn2 , v120 + .byte W96 + .byte N06 , As1 , v108 + .byte W06 + .byte As1 , v092 + .byte W06 + .byte As1 , v108 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W18 + .byte N12 , Fn2 + .byte W18 + .byte As1 + .byte W12 + .byte Ds2 , v120 + .byte W36 + .byte As1 + .byte W12 + .byte Ds2 + .byte W36 + .byte N12 + .byte W12 + .byte Fn2 + .byte W24 + .byte As1 + .byte W24 + .byte N12 + .byte W18 + .byte Cn2 + .byte W18 + .byte Dn2 + .byte W12 + .byte Ds2 + .byte W96 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte N96 , As2 , v092 + .byte W08 + .byte VOL , 72*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 50*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 54*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 60*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 68*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 77*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 85*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte W20 + .byte W96 + .byte N96 , Cn3 + .byte W08 + .byte VOL , 72*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 50*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 54*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 60*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 68*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 77*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 85*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte W20 + .byte W96 + .byte N96 , Fn3 , v100 + .byte W08 + .byte VOL , 72*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 50*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 54*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 60*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 68*mus_rg_win_gym_mvl/mxv + .byte W12 + .byte 77*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 85*mus_rg_win_gym_mvl/mxv + .byte W08 + .byte 90*mus_rg_win_gym_mvl/mxv + .byte W20 + .byte VOICE , 47 + .byte PAN , c_v-8 + .byte N12 , Ds2 , v120 + .byte W12 + .byte N12 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 + .byte W18 + .byte As1 + .byte W18 + .byte Ds2 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 + .byte W18 + .byte As1 + .byte W18 + .byte N12 + .byte W12 + .byte Ds2 + .byte W96 + .byte GOTO + .word mus_rg_win_gym_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_win_gym_8: + .byte KEYSH , mus_rg_win_gym_key+0 + .byte W09 + .byte VOICE , 0 + .byte VOL , 90*mus_rg_win_gym_mvl/mxv + .byte N48 , Bn2 , v104 + .byte W48 + .byte N36 , Bn2 , v092 + .byte W36 + .byte N12 + .byte W12 + .byte N48 , Bn2 , v104 + .byte W48 + .byte N96 + .byte W96 + .byte W96 +mus_rg_win_gym_8_B1: + .byte W96 + .byte W96 + .byte W72 + .byte N06 , En1 , v108 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte En1 , v112 + .byte N96 , Bn2 + .byte W12 + .byte N06 , En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v108 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v080 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v112 + .byte W24 + .byte N03 + .byte W03 + .byte En1 , v092 + .byte W03 + .byte N06 , En1 , v076 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte En1 , v112 + .byte N48 , Bn2 + .byte W24 + .byte N06 , En1 , v127 + .byte W12 + .byte En1 , v080 + .byte W12 + .byte En1 , v112 + .byte W18 + .byte En1 , v080 + .byte W06 + .byte En1 , v127 + .byte W12 + .byte En1 , v080 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v080 + .byte W12 + .byte En1 , v127 + .byte W12 + .byte En1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W18 + .byte En1 , v080 + .byte W06 + .byte En1 , v127 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte En1 , v080 + .byte W06 +mus_rg_win_gym_8_000: + .byte N06 , En1 , v112 + .byte W24 + .byte En1 , v127 + .byte W12 + .byte En1 , v080 + .byte W12 + .byte En1 , v112 + .byte W18 + .byte En1 , v080 + .byte W06 + .byte En1 , v127 + .byte W12 + .byte En1 , v080 + .byte W12 + .byte PEND + .byte En1 , v112 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte En1 , v127 + .byte W12 + .byte En1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W18 + .byte En1 , v080 + .byte W06 + .byte En1 , v127 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte PATT + .word mus_rg_win_gym_8_000 + .byte N06 , En1 , v112 + .byte W12 + .byte En1 , v080 + .byte W12 + .byte En1 , v127 + .byte W12 + .byte En1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W18 + .byte En1 , v080 + .byte W06 + .byte En1 , v127 + .byte W12 + .byte En1 , v084 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v056 + .byte W12 + .byte En1 , v064 + .byte W12 + .byte En1 , v068 + .byte W12 + .byte En1 , v080 + .byte W12 + .byte En1 , v096 + .byte W12 + .byte En1 , v104 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v127 + .byte W12 + .byte En1 , v084 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v084 + .byte W12 + .byte En1 , v088 + .byte W06 + .byte En1 , v052 + .byte W06 + .byte En1 , v092 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v104 + .byte W06 + .byte En1 , v076 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v088 + .byte W06 + .byte N96 , Bn2 , v112 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N48 + .byte W48 + .byte N06 , En1 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte En1 , v088 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte W96 + .byte GOTO + .word mus_rg_win_gym_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_win_gym: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_win_gym_pri @ Priority + .byte mus_rg_win_gym_rev @ Reverb. + + .word mus_rg_win_gym_grp + + .word mus_rg_win_gym_1 + .word mus_rg_win_gym_2 + .word mus_rg_win_gym_3 + .word mus_rg_win_gym_4 + .word mus_rg_win_gym_5 + .word mus_rg_win_gym_6 + .word mus_rg_win_gym_7 + .word mus_rg_win_gym_8 + + .end diff --git a/sound/songs/mus_rg_win_tre.s b/sound/songs/mus_rg_win_tre.s new file mode 100644 index 0000000000..49e3670897 --- /dev/null +++ b/sound/songs/mus_rg_win_tre.s @@ -0,0 +1,3186 @@ + .include "MPlayDef.s" + + .equ mus_rg_win_tre_grp, voicegroup_86ADD38 + .equ mus_rg_win_tre_pri, 0 + .equ mus_rg_win_tre_rev, reverb_set+50 + .equ mus_rg_win_tre_mvl, 127 + .equ mus_rg_win_tre_key, 0 + .equ mus_rg_win_tre_tbs, 1 + .equ mus_rg_win_tre_exg, 0 + .equ mus_rg_win_tre_cmp, 1 + + .section .rodata + .global mus_rg_win_tre + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_win_tre_1: + .byte KEYSH , mus_rg_win_tre_key+0 + .byte TEMPO , 136*mus_rg_win_tre_tbs/2 + .byte W08 + .byte VOICE , 56 + .byte PAN , c_v-16 + .byte VOL , 87*mus_rg_win_tre_mvl/mxv + .byte N02 , Dn3 , v112 + .byte W02 + .byte Ds3 + .byte W02 + .byte En3 + .byte W02 + .byte Fn3 + .byte W02 + .byte N04 , Fs3 + .byte W04 + .byte Fs3 , v036 + .byte W04 + .byte N02 , Fs3 , v112 + .byte W02 + .byte N04 , Fs3 , v036 + .byte W06 + .byte N02 , Fs3 , v112 + .byte W02 + .byte N04 , Fs3 , v036 + .byte W06 + .byte N02 , Fs3 , v112 + .byte W02 + .byte N04 , Fs3 , v036 + .byte W06 + .byte N02 , Gn3 , v112 + .byte W02 + .byte N04 , Gn3 , v036 + .byte W06 + .byte N08 , An3 , v112 + .byte W08 + .byte VOL , 34*mus_rg_win_tre_mvl/mxv + .byte N24 , Bn3 + .byte W02 + .byte VOL , 36*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 39*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 48*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 53*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 65*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 70*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 76*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 83*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 89*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 87*mus_rg_win_tre_mvl/mxv + .byte PAN , c_v-32 + .byte N08 , Gn4 , v096 + .byte W08 + .byte N02 , Fs4 , v060 + .byte W02 + .byte Fn4 + .byte W02 + .byte VOICE , 17 + .byte N04 , Dn4 , v112 + .byte W02 + .byte PAN , c_v-16 + .byte W02 + .byte N04 , En4 + .byte W04 + .byte Fs4 + .byte W04 +mus_rg_win_tre_1_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_rg_win_tre_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_win_tre_2: + .byte KEYSH , mus_rg_win_tre_key+0 + .byte W08 + .byte VOICE , 17 + .byte PAN , c_v+0 + .byte VOL , 83*mus_rg_win_tre_mvl/mxv + .byte W08 + .byte W84 + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 58*mus_rg_win_tre_mvl/mxv + .byte N08 , As3 , v096 + .byte W02 + .byte VOL , 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 73*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 79*mus_rg_win_tre_mvl/mxv + .byte W02 +mus_rg_win_tre_2_B1: + .byte VOL , 54*mus_rg_win_tre_mvl/mxv + .byte PAN , c_v-16 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N04 , Bn3 , v096 + .byte W04 + .byte Bn3 , v036 + .byte W04 + .byte Dn3 , v064 + .byte W04 + .byte Dn3 , v036 + .byte W04 + .byte Gn3 , v064 + .byte W04 + .byte N02 , Gn3 , v036 + .byte W02 + .byte An3 , v096 + .byte W02 + .byte VOL , 29*mus_rg_win_tre_mvl/mxv + .byte N24 , Bn3 + .byte W02 + .byte VOL , 31*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 34*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 37*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 40*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 43*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 65*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N04 , En4 + .byte W04 + .byte En4 , v036 + .byte W04 + .byte En3 , v064 + .byte W04 + .byte En3 , v036 + .byte W04 + .byte An3 , v064 + .byte W04 + .byte N02 , An3 , v036 + .byte W02 + .byte Ds4 , v096 + .byte W02 + .byte VOL , 29*mus_rg_win_tre_mvl/mxv + .byte N24 , En4 + .byte W02 + .byte VOL , 31*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 34*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 37*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 40*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 43*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 65*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N04 , Dn4 + .byte W04 + .byte Dn4 , v036 + .byte W04 + .byte Bn3 , v064 + .byte W04 + .byte Bn3 , v036 + .byte W04 + .byte En4 , v064 + .byte W04 + .byte En4 , v036 + .byte W02 + .byte N02 , Gn4 , v096 + .byte W02 + .byte VOL , 29*mus_rg_win_tre_mvl/mxv + .byte N24 , Fs4 + .byte W02 + .byte VOL , 31*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 34*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 37*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 40*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 43*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 65*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N04 , Cn4 + .byte W04 + .byte Cn4 , v036 + .byte W04 + .byte Gn3 , v064 + .byte W04 + .byte Gn3 , v036 + .byte W04 + .byte Dn4 , v064 + .byte W04 + .byte Dn4 , v036 + .byte W02 + .byte N02 , Fn4 , v096 + .byte W02 + .byte VOL , 29*mus_rg_win_tre_mvl/mxv + .byte N24 , En4 + .byte W02 + .byte VOL , 31*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 34*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 37*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 40*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 43*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 65*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N04 , Bn3 + .byte W04 + .byte Bn3 , v036 + .byte W04 + .byte Dn3 , v064 + .byte W04 + .byte Dn3 , v036 + .byte W04 + .byte Gn3 , v064 + .byte W04 + .byte N02 , Gn3 , v036 + .byte W02 + .byte As3 , v096 + .byte W02 + .byte VOL , 29*mus_rg_win_tre_mvl/mxv + .byte N24 , Bn3 + .byte W02 + .byte VOL , 31*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 34*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 37*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 40*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 43*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 65*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N04 , En4 + .byte W04 + .byte En4 , v036 + .byte W04 + .byte En3 , v064 + .byte W04 + .byte En3 , v036 + .byte W04 + .byte An3 , v064 + .byte W04 + .byte N02 , An3 , v036 + .byte W02 + .byte Ds4 , v096 + .byte W02 + .byte VOL , 29*mus_rg_win_tre_mvl/mxv + .byte N24 , En4 + .byte W02 + .byte VOL , 31*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 34*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 37*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 40*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 43*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 65*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N04 , Dn4 + .byte W04 + .byte Dn4 , v036 + .byte W04 + .byte Bn3 , v096 + .byte W04 + .byte Bn3 , v036 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte N02 , En4 , v036 + .byte W02 + .byte Gn4 , v096 + .byte W02 + .byte VOL , 29*mus_rg_win_tre_mvl/mxv + .byte N24 , Fs4 + .byte W02 + .byte VOL , 31*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 34*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 37*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 40*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 43*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 65*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N04 , Gn4 + .byte W04 + .byte Gn4 , v036 + .byte W04 + .byte Dn4 , v096 + .byte W04 + .byte Dn4 , v036 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte N02 , En4 , v036 + .byte W02 + .byte Gn4 , v096 + .byte W02 + .byte VOL , 29*mus_rg_win_tre_mvl/mxv + .byte N24 , Fs4 + .byte W02 + .byte VOL , 31*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 34*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 37*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 40*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 43*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 65*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N04 , Bn3 + .byte W04 + .byte Bn3 , v036 + .byte W04 + .byte Dn3 , v064 + .byte W04 + .byte Dn3 , v036 + .byte W04 + .byte Gn3 , v064 + .byte W04 + .byte N02 , Gn3 , v036 + .byte W02 + .byte An3 , v096 + .byte W02 + .byte VOL , 29*mus_rg_win_tre_mvl/mxv + .byte N24 , Bn3 + .byte W02 + .byte VOL , 31*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 34*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 37*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 40*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 43*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 65*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N04 , En4 + .byte W04 + .byte En4 , v036 + .byte W04 + .byte En3 , v064 + .byte W04 + .byte En3 , v036 + .byte W04 + .byte An3 , v064 + .byte W04 + .byte N02 , An3 , v036 + .byte W02 + .byte Ds4 , v096 + .byte W02 + .byte VOL , 29*mus_rg_win_tre_mvl/mxv + .byte N24 , En4 + .byte W02 + .byte VOL , 31*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 34*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 37*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 40*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 43*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 65*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N04 , Dn4 + .byte W04 + .byte Dn4 , v036 + .byte W04 + .byte Fn3 , v064 + .byte W04 + .byte Fn3 , v036 + .byte W04 + .byte As3 , v064 + .byte W04 + .byte N02 , As3 , v036 + .byte W02 + .byte Ds4 , v096 + .byte W02 + .byte VOL , 29*mus_rg_win_tre_mvl/mxv + .byte N24 , Dn4 + .byte W02 + .byte VOL , 31*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 34*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 37*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 40*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 43*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 65*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N04 , En4 + .byte W04 + .byte En4 , v036 + .byte W04 + .byte Gn3 , v064 + .byte W04 + .byte Gn3 , v036 + .byte W04 + .byte Cn4 , v064 + .byte W04 + .byte N02 , Cn4 , v036 + .byte W02 + .byte Fn4 , v096 + .byte W02 + .byte VOL , 29*mus_rg_win_tre_mvl/mxv + .byte N22 , En4 + .byte W02 + .byte VOL , 31*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 34*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 37*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 40*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 43*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 65*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 22*mus_rg_win_tre_mvl/mxv + .byte N02 , Ds4 + .byte W02 + .byte VOL , 22*mus_rg_win_tre_mvl/mxv + .byte N44 , Dn4 + .byte W02 + .byte VOL , 24*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 24*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 26*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 27*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 29*mus_rg_win_tre_mvl/mxv + .byte W04 + .byte 31*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 34*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 35*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 39*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 41*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 50*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 53*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W06 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte VOL , 29*mus_rg_win_tre_mvl/mxv + .byte N02 + .byte W02 + .byte VOL , 31*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 34*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 37*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 40*mus_rg_win_tre_mvl/mxv + .byte N02 + .byte W02 + .byte VOL , 43*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte N02 + .byte W02 + .byte VOL , 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte N02 + .byte W02 + .byte VOL , 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 65*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte N02 + .byte W08 + .byte N08 , Ds4 + .byte W08 + .byte N04 , Dn4 + .byte W08 + .byte VOL , 22*mus_rg_win_tre_mvl/mxv + .byte N02 + .byte W02 + .byte VOL , 22*mus_rg_win_tre_mvl/mxv + .byte N44 , Cs4 + .byte W02 + .byte VOL , 24*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 24*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 26*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 27*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 29*mus_rg_win_tre_mvl/mxv + .byte W04 + .byte 31*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 34*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 35*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 39*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 41*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 50*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 53*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W06 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte VOL , 29*mus_rg_win_tre_mvl/mxv + .byte N24 , An3 + .byte W02 + .byte VOL , 31*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 34*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 37*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 40*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 43*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 65*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N16 , Bn3 + .byte W16 + .byte N08 , An3 + .byte W08 + .byte GOTO + .word mus_rg_win_tre_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_win_tre_3: + .byte KEYSH , mus_rg_win_tre_key+0 + .byte W08 + .byte VOICE , 58 + .byte PAN , c_v+0 + .byte VOL , 89*mus_rg_win_tre_mvl/mxv + .byte BEND , c_v+0 + .byte N02 , As1 , v112 + .byte W02 + .byte Bn1 + .byte W02 + .byte Cn2 + .byte W02 + .byte Cs2 + .byte W02 + .byte BEND , c_v+0 + .byte N04 , Dn2 + .byte W04 + .byte Dn2 , v036 + .byte W04 + .byte N02 , Dn2 , v112 + .byte W02 + .byte N04 , Dn2 , v036 + .byte W06 + .byte N02 , Dn2 , v112 + .byte W02 + .byte N04 , Dn2 , v036 + .byte W06 + .byte N02 , Dn2 , v112 + .byte W02 + .byte N04 , Dn2 , v036 + .byte W06 + .byte N02 , Cn2 , v112 + .byte W02 + .byte N04 , Cn2 , v036 + .byte W06 + .byte N08 , An1 , v112 + .byte W08 + .byte Gn1 + .byte W08 + .byte N02 , Fs1 + .byte W02 + .byte N04 , Fs1 , v036 + .byte W06 + .byte N08 , En1 , v112 + .byte W08 + .byte N16 , Dn1 + .byte W16 + .byte N04 , En1 + .byte W04 + .byte Fs1 + .byte W04 +mus_rg_win_tre_3_B1: + .byte VOICE , 35 + .byte N04 , Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W04 + .byte N02 , Dn2 , v112 + .byte W02 + .byte N04 , Dn2 , v036 + .byte W06 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W04 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W04 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W04 + .byte N02 , Dn2 , v112 + .byte W02 + .byte N04 , Dn2 , v036 + .byte W06 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W04 + .byte N02 , Gn2 , v112 + .byte W02 + .byte N04 , Gn2 , v036 + .byte W06 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W04 + .byte N02 , Gn2 , v112 + .byte W02 + .byte N04 , Gn2 , v036 + .byte W06 + .byte N02 , Gn1 , v112 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W04 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W04 + .byte N02 , Fs1 , v112 + .byte W02 + .byte N04 , Fs1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W04 + .byte N02 , Dn2 , v112 + .byte W02 + .byte N04 , Dn2 , v036 + .byte W06 + .byte N02 , Gn2 , v112 + .byte W02 + .byte N04 , Gn2 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W04 + .byte N02 , En2 , v112 + .byte W02 + .byte N04 , En2 , v036 + .byte W06 + .byte N02 , An2 , v112 + .byte W02 + .byte N04 , An2 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W04 + .byte N02 , Fn2 , v112 + .byte W02 + .byte N04 , Fn2 , v036 + .byte W06 + .byte N02 , As2 , v112 + .byte W02 + .byte N04 , As2 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W04 + .byte N02 , Gn2 , v112 + .byte W02 + .byte N04 , Gn2 , v036 + .byte W06 + .byte N02 , Cn3 , v112 + .byte W02 + .byte N04 , Cn3 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W04 + .byte N02 , Gn2 , v112 + .byte W02 + .byte N04 , Gn2 , v036 + .byte W06 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn1 , v112 + .byte W04 + .byte Gn1 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W04 + .byte Gn2 , v036 + .byte W12 + .byte N02 , Gn1 , v112 + .byte W02 + .byte N04 , Gn1 , v036 + .byte W06 + .byte GOTO + .word mus_rg_win_tre_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_win_tre_4: + .byte KEYSH , mus_rg_win_tre_key+0 + .byte W08 + .byte VOICE , 56 + .byte LFOS , 44 + .byte PAN , c_v+16 + .byte VOL , 88*mus_rg_win_tre_mvl/mxv + .byte N02 , As3 , v112 + .byte W02 + .byte Bn3 + .byte W02 + .byte Cn4 + .byte W02 + .byte Cs4 + .byte W02 + .byte N04 , Dn4 + .byte W04 + .byte Dn4 , v036 + .byte W04 + .byte N02 , Dn4 , v112 + .byte W02 + .byte N04 , Dn4 , v036 + .byte W06 + .byte N02 , Dn4 , v112 + .byte W02 + .byte N04 , Dn4 , v036 + .byte W06 + .byte N02 , Dn4 , v112 + .byte W02 + .byte N04 , Dn4 , v036 + .byte W06 + .byte En4 , v112 + .byte W04 + .byte En4 , v036 + .byte W04 + .byte N08 , Fs4 , v112 + .byte W08 + .byte VOL , 34*mus_rg_win_tre_mvl/mxv + .byte N24 , Gn4 + .byte W02 + .byte VOL , 36*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 39*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 48*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 53*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 65*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte VOICE , 56 + .byte VOL , 70*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 76*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 83*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 89*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte PAN , c_v+32 + .byte VOL , 87*mus_rg_win_tre_mvl/mxv + .byte N08 , Dn5 , v096 + .byte W08 + .byte PAN , c_v+0 + .byte N02 , Cs5 , v076 + .byte W02 + .byte PAN , c_v-24 + .byte N02 , Cn5 , v072 + .byte W02 + .byte PAN , c_v-32 + .byte N02 , Bn4 , v060 + .byte W02 + .byte An4 , v056 + .byte W02 + .byte Gn4 , v052 + .byte W02 + .byte Fs4 , v048 + .byte W02 + .byte En4 , v040 + .byte W02 + .byte Dn4 , v032 + .byte W02 +mus_rg_win_tre_4_B1: + .byte VOICE , 17 + .byte PAN , c_v+16 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte N04 , Gn4 , v112 + .byte W04 + .byte Gn4 , v036 + .byte W04 + .byte Bn3 , v064 + .byte W04 + .byte Bn3 , v036 + .byte W04 + .byte Dn4 , v064 + .byte W04 + .byte N02 , Dn4 , v036 + .byte W02 + .byte Fs4 , v112 + .byte W02 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N24 , Gn4 + .byte W02 + .byte VOL , 49*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 55*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 63*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 72*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 85*mus_rg_win_tre_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte N04 , An4 + .byte W04 + .byte An4 , v036 + .byte W04 + .byte Cs4 , v064 + .byte W04 + .byte Cs4 , v036 + .byte W04 + .byte En4 , v064 + .byte W04 + .byte N02 , En4 , v036 + .byte W02 + .byte Gs4 , v112 + .byte W02 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N24 , An4 + .byte W02 + .byte VOL , 49*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 55*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 63*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 72*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 85*mus_rg_win_tre_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte N04 , Bn4 + .byte W04 + .byte Bn4 , v036 + .byte W04 + .byte Gn4 , v064 + .byte W04 + .byte Gn4 , v036 + .byte W04 + .byte Cn5 , v064 + .byte W04 + .byte N02 , Cn5 , v036 + .byte W02 + .byte Ds5 , v112 + .byte W02 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N24 , Dn5 + .byte W02 + .byte VOL , 49*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 55*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 63*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 72*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 85*mus_rg_win_tre_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte N04 , An4 + .byte W04 + .byte An4 , v036 + .byte W04 + .byte En4 , v064 + .byte W04 + .byte En4 , v036 + .byte W04 + .byte Bn4 , v064 + .byte W04 + .byte N02 , Bn4 , v036 + .byte W02 + .byte Cs5 , v112 + .byte W02 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N24 , Cn5 + .byte W02 + .byte VOL , 49*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 55*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 63*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 72*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 85*mus_rg_win_tre_mvl/mxv + .byte W04 +mus_rg_win_tre_4_000: + .byte MOD , 0 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte N04 , Gn4 , v112 + .byte W04 + .byte Gn4 , v036 + .byte W04 + .byte Bn3 , v064 + .byte W04 + .byte Bn3 , v036 + .byte W04 + .byte Dn4 , v064 + .byte W04 + .byte N02 , Dn4 , v036 + .byte W02 + .byte Fs4 , v112 + .byte W02 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N24 , Gn4 + .byte W02 + .byte VOL , 49*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 55*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 63*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 72*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 85*mus_rg_win_tre_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte N04 , An4 + .byte W04 + .byte An4 , v036 + .byte W04 + .byte Cs4 , v064 + .byte W04 + .byte Cs4 , v036 + .byte W04 + .byte En4 , v064 + .byte W04 + .byte N02 , En4 , v036 + .byte W02 + .byte Gs4 , v112 + .byte W02 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N24 , An4 + .byte W02 + .byte VOL , 49*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 55*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 63*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 72*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 85*mus_rg_win_tre_mvl/mxv + .byte W04 + .byte PEND + .byte MOD , 0 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte N04 , Bn4 + .byte W04 + .byte Bn4 , v036 + .byte W04 + .byte Gn4 , v064 + .byte W04 + .byte Gn4 , v036 + .byte W04 + .byte Cn5 , v064 + .byte W04 + .byte N02 , Cn5 , v036 + .byte W02 + .byte Ds5 , v112 + .byte W02 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N24 , Dn5 + .byte W02 + .byte VOL , 49*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 55*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 63*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 72*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 85*mus_rg_win_tre_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte N04 , Bn4 + .byte W04 + .byte Bn4 , v036 + .byte W04 + .byte Gn4 , v064 + .byte W04 + .byte Gn4 , v036 + .byte W04 + .byte Cn5 , v112 + .byte W04 + .byte N02 , Cn5 , v036 + .byte W02 + .byte Ds5 , v112 + .byte W02 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N24 , Dn5 + .byte W02 + .byte VOL , 49*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 55*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 63*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 72*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 85*mus_rg_win_tre_mvl/mxv + .byte W04 + .byte PATT + .word mus_rg_win_tre_4_000 + .byte MOD , 0 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte N04 , As4 , v112 + .byte W04 + .byte As4 , v036 + .byte W04 + .byte Dn4 , v064 + .byte W04 + .byte Dn4 , v036 + .byte W04 + .byte Fn4 , v064 + .byte W04 + .byte N02 , Fn4 , v036 + .byte W02 + .byte Bn4 , v112 + .byte W02 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N24 , As4 + .byte W02 + .byte VOL , 49*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 55*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 63*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 72*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 85*mus_rg_win_tre_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte N04 , Cn5 + .byte W04 + .byte Cn5 , v036 + .byte W04 + .byte En4 , v064 + .byte W04 + .byte En4 , v036 + .byte W04 + .byte Gn4 , v064 + .byte W04 + .byte N02 , Gn4 , v036 + .byte W02 + .byte Cs5 , v112 + .byte W02 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N22 , Cn5 + .byte W02 + .byte VOL , 49*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 55*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 63*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 72*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 85*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte N02 , Cn5 , v036 + .byte W02 + .byte MOD , 0 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N02 , Cn5 , v112 + .byte W02 + .byte N44 , Bn4 + .byte W04 + .byte VOL , 46*mus_rg_win_tre_mvl/mxv + .byte W06 + .byte 48*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 48*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 50*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 54*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 61*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 63*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 74*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 83*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 83*mus_rg_win_tre_mvl/mxv + .byte W10 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte N02 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte As4 + .byte W02 + .byte N04 , Bn4 , v036 + .byte W06 + .byte N08 , Cn5 , v112 + .byte W08 + .byte N04 , Bn4 + .byte W04 + .byte Bn4 , v036 + .byte W04 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N02 , As4 , v112 + .byte W02 + .byte N44 , An4 + .byte W04 + .byte VOL , 46*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 48*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 49*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 50*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 53*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 55*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 63*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 64*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 70*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 74*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 77*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 79*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 82*mus_rg_win_tre_mvl/mxv + .byte W08 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte N24 , En4 + .byte W02 + .byte VOL , 49*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 55*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 59*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 63*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 72*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte MOD , 6 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 85*mus_rg_win_tre_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 79*mus_rg_win_tre_mvl/mxv + .byte N04 , Bn3 , v064 + .byte W04 + .byte Cn4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte GOTO + .word mus_rg_win_tre_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_win_tre_5: + .byte KEYSH , mus_rg_win_tre_key+0 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte W08 + .byte VOICE , 75 + .byte PAN , c_v+0 + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte W08 + .byte PAN , c_v+0 + .byte LFOS , 36 + .byte W48 + .byte N24 , Gn3 , v112 + .byte W24 + .byte N08 , Dn3 + .byte W08 + .byte En3 + .byte W08 + .byte Fs3 + .byte W08 +mus_rg_win_tre_5_B1: + .byte VOL , 45*mus_rg_win_tre_mvl/mxv + .byte BEND , c_v-5 + .byte N04 , Gn4 , v112 + .byte W08 + .byte Bn3 , v064 + .byte W08 + .byte Dn4 + .byte W06 + .byte N02 , Fs4 , v112 + .byte W02 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N04 , An4 + .byte W08 + .byte Cs4 , v064 + .byte W08 + .byte En4 + .byte W06 + .byte N02 , Gs4 , v112 + .byte W02 + .byte N24 , An4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N04 , Bn4 + .byte W08 + .byte Gn4 , v064 + .byte W08 + .byte Cn5 + .byte W06 + .byte N02 , Ds5 , v112 + .byte W02 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N04 , An4 + .byte W08 + .byte En4 , v064 + .byte W08 + .byte Bn4 + .byte W06 + .byte N02 , Cs5 , v112 + .byte W02 + .byte N24 , Cn5 + .byte W12 + .byte MOD , 6 + .byte W12 +mus_rg_win_tre_5_000: + .byte MOD , 0 + .byte N04 , Gn4 , v112 + .byte W08 + .byte Bn3 , v064 + .byte W08 + .byte Dn4 + .byte W06 + .byte N02 , Fs4 , v112 + .byte W02 + .byte N24 , Gn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N04 , An4 + .byte W08 + .byte Cs4 , v064 + .byte W08 + .byte En4 + .byte W06 + .byte N02 , Gs4 , v112 + .byte W02 + .byte N24 , An4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte PEND + .byte 0 + .byte N04 , Bn4 + .byte W16 + .byte Cn5 + .byte W06 + .byte N02 , Ds5 + .byte W02 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N04 , Bn4 + .byte W16 + .byte Cn5 + .byte W06 + .byte N02 , Ds5 + .byte W02 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte PATT + .word mus_rg_win_tre_5_000 + .byte MOD , 0 + .byte N04 , As4 , v112 + .byte W08 + .byte Dn4 , v064 + .byte W08 + .byte Fn4 + .byte W06 + .byte N02 , Bn4 , v112 + .byte W02 + .byte N24 , As4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N04 , Cn5 + .byte W08 + .byte En4 , v064 + .byte W08 + .byte Gn4 + .byte W06 + .byte N02 , Cs5 , v112 + .byte W02 + .byte N22 , Cn5 + .byte W12 + .byte LFOS , 46 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte BEND , c_v+0 + .byte N02 , As5 + .byte W02 + .byte N36 , Bn5 + .byte W32 + .byte W02 + .byte MOD , 8 + .byte W04 + .byte N02 , Gn5 , v060 + .byte W02 + .byte Fs5 + .byte W02 + .byte En5 + .byte W02 + .byte Ds5 + .byte W02 + .byte MOD , 0 + .byte N24 , Dn5 , v108 + .byte W24 + .byte N02 , As5 , v032 + .byte W02 + .byte N06 , Bn5 , v112 + .byte W06 + .byte N08 , Cn6 + .byte W08 + .byte N04 , Bn5 + .byte W08 + .byte N02 , As5 + .byte W02 + .byte N44 , An5 + .byte W32 + .byte W02 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N24 , En5 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N04 , Bn4 , v064 + .byte W04 + .byte Cn5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Dn5 + .byte W04 + .byte En5 + .byte W04 + .byte Fs5 + .byte W04 + .byte GOTO + .word mus_rg_win_tre_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_win_tre_6: + .byte KEYSH , mus_rg_win_tre_key+0 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte W08 + .byte VOICE , 83 + .byte PAN , c_v-62 + .byte VOL , 56*mus_rg_win_tre_mvl/mxv + .byte N02 , As2 , v112 + .byte W02 + .byte Bn2 + .byte W02 + .byte Cn3 + .byte W02 + .byte Cs3 + .byte W02 + .byte LFOS , 41 + .byte N04 , Dn3 + .byte W04 + .byte Dn3 , v036 + .byte W04 + .byte N02 , Dn3 , v112 + .byte W02 + .byte N04 , Dn3 , v036 + .byte W06 + .byte N02 , Dn3 , v112 + .byte W02 + .byte N04 , Dn3 , v036 + .byte W06 + .byte N02 , Dn3 , v112 + .byte W02 + .byte N04 , Dn3 , v036 + .byte W06 + .byte N02 , Cn3 , v112 + .byte W02 + .byte N04 , Cn3 , v036 + .byte W06 + .byte N08 , An2 , v112 + .byte W08 + .byte VOL , 22*mus_rg_win_tre_mvl/mxv + .byte N24 , Gn2 + .byte W02 + .byte VOL , 25*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 26*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 29*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 34*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 39*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 43*mus_rg_win_tre_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 58*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 60*mus_rg_win_tre_mvl/mxv + .byte W04 + .byte 15*mus_rg_win_tre_mvl/mxv + .byte MOD , 0 + .byte N24 , Bn2 + .byte W04 + .byte VOL , 17*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 21*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 22*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 26*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 32*mus_rg_win_tre_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 38*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 43*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 49*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 60*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 68*mus_rg_win_tre_mvl/mxv + .byte W02 +mus_rg_win_tre_6_B1: + .byte VOICE , 80 + .byte VOL , 31*mus_rg_win_tre_mvl/mxv + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N02 , Bn3 , v096 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte Dn4 , v096 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Bn4 , v096 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Dn4 , v096 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Bn3 , v096 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte An4 , v096 + .byte W04 + .byte An4 , v032 + .byte W04 + .byte Cs5 , v096 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte An4 , v096 + .byte W04 + .byte An4 , v032 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte Dn4 , v096 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Bn4 , v096 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte Bn4 , v096 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Cn4 , v096 + .byte W04 + .byte Cn4 , v032 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Cn5 , v096 + .byte W04 + .byte Cn5 , v032 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte En4 , v032 + .byte W04 +mus_rg_win_tre_6_000: + .byte N02 , Bn3 , v096 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte Dn4 , v096 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Bn4 , v096 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Dn4 , v096 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Bn3 , v096 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte An4 , v096 + .byte W04 + .byte An4 , v032 + .byte W04 + .byte Cs5 , v096 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte An4 , v096 + .byte W04 + .byte An4 , v032 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte PEND + .byte Dn5 , v096 + .byte W08 + .byte Bn4 + .byte W08 + .byte Gn4 + .byte W08 + .byte N04 , Bn3 , v064 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Cn5 + .byte W04 + .byte N02 , En5 , v096 + .byte W08 + .byte Cn5 + .byte W08 + .byte An4 + .byte W08 + .byte N04 , Cn5 , v064 + .byte W04 + .byte An4 + .byte W04 + .byte Fs4 + .byte W04 + .byte En4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Cn4 + .byte W04 + .byte PATT + .word mus_rg_win_tre_6_000 + .byte N02 , As3 , v096 + .byte W04 + .byte As3 , v032 + .byte W04 + .byte Dn4 , v096 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Fn4 , v096 + .byte W04 + .byte Fn4 , v032 + .byte W04 + .byte As4 , v096 + .byte W04 + .byte As4 , v032 + .byte W04 + .byte Fn4 , v096 + .byte W04 + .byte Fn4 , v032 + .byte W04 + .byte Dn4 , v096 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Cn4 , v096 + .byte W04 + .byte Cn4 , v032 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Cn5 , v096 + .byte W04 + .byte Cn5 , v032 + .byte W04 + .byte Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte PAN , c_v+0 + .byte BEND , c_v+4 + .byte N04 , Bn3 , v084 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Fs5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cs4 + .byte W04 + .byte En4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Cs5 + .byte W04 + .byte En5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Cs5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte GOTO + .word mus_rg_win_tre_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_win_tre_7: + .byte KEYSH , mus_rg_win_tre_key+0 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte W08 + .byte VOICE , 82 + .byte PAN , c_v+63 + .byte VOL , 56*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte N02 , Ds3 , v112 + .byte W02 + .byte En3 + .byte W02 + .byte Fn3 + .byte W02 + .byte LFOS , 41 + .byte N04 , Fs3 + .byte W04 + .byte Fs3 , v036 + .byte W04 + .byte N02 , Fs3 , v112 + .byte W02 + .byte N04 , Fs3 , v036 + .byte W06 + .byte N02 , Fs3 , v112 + .byte W02 + .byte N04 , Fs3 , v036 + .byte W06 + .byte N02 , Fs3 , v112 + .byte W02 + .byte N04 , Fs3 , v036 + .byte W06 + .byte N02 , Gn3 , v112 + .byte W02 + .byte N04 , Gn3 , v036 + .byte W06 + .byte An3 , v112 + .byte W04 + .byte An3 , v036 + .byte W04 + .byte VOL , 22*mus_rg_win_tre_mvl/mxv + .byte N24 , Bn3 , v112 + .byte W02 + .byte VOL , 24*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 29*mus_rg_win_tre_mvl/mxv + .byte W04 + .byte 31*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 36*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 42*mus_rg_win_tre_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 43*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 51*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 60*mus_rg_win_tre_mvl/mxv + .byte W02 + .byte 64*mus_rg_win_tre_mvl/mxv + .byte W04 + .byte 45*mus_rg_win_tre_mvl/mxv + .byte MOD , 0 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 8 + .byte W12 +mus_rg_win_tre_7_B1: + .byte VOICE , 81 + .byte VOL , 31*mus_rg_win_tre_mvl/mxv + .byte PAN , c_v-63 + .byte MOD , 0 + .byte N02 , Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Bn4 , v096 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte Gn5 , v096 + .byte W04 + .byte Gn5 , v032 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte Bn4 , v096 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte PAN , c_v+63 + .byte N02 , Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Cs5 , v096 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte En5 , v096 + .byte W04 + .byte En5 , v032 + .byte W04 + .byte An5 , v096 + .byte W04 + .byte An5 , v032 + .byte W04 + .byte En5 , v096 + .byte W04 + .byte En5 , v032 + .byte W04 + .byte Cs5 , v096 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte PAN , c_v-62 + .byte N02 , Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte Fs5 , v096 + .byte W04 + .byte Fs5 , v032 + .byte W04 + .byte Bn5 , v096 + .byte W04 + .byte Bn5 , v032 + .byte W04 + .byte Fs5 , v096 + .byte W04 + .byte Fs5 , v032 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte PAN , c_v+63 + .byte N02 , Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Cn5 , v096 + .byte W04 + .byte Cn5 , v032 + .byte W04 + .byte En5 , v096 + .byte W04 + .byte En5 , v032 + .byte W04 + .byte An5 , v096 + .byte W04 + .byte An5 , v032 + .byte W04 + .byte En5 , v096 + .byte W04 + .byte En5 , v032 + .byte W04 + .byte Cn5 , v096 + .byte W04 + .byte Cn5 , v032 + .byte W04 +mus_rg_win_tre_7_000: + .byte PAN , c_v-63 + .byte N02 , Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Bn4 , v096 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte Gn5 , v096 + .byte W04 + .byte Gn5 , v032 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte Bn4 , v096 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte PAN , c_v+63 + .byte N02 , Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Cs5 , v096 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte En5 , v096 + .byte W04 + .byte En5 , v032 + .byte W04 + .byte An5 , v096 + .byte W04 + .byte An5 , v032 + .byte W04 + .byte En5 , v096 + .byte W04 + .byte En5 , v032 + .byte W04 + .byte Cs5 , v096 + .byte W04 + .byte Cs5 , v032 + .byte W04 + .byte PEND + .byte PAN , c_v-63 + .byte N02 , Fs5 , v096 + .byte W08 + .byte Dn5 + .byte W08 + .byte Bn4 + .byte W08 + .byte N04 , Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Fs5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Gs5 + .byte W04 + .byte PAN , c_v+63 + .byte N02 , An5 + .byte W08 + .byte En5 + .byte W08 + .byte Cn5 + .byte W08 + .byte N04 , An5 + .byte W04 + .byte Fs5 + .byte W04 + .byte En5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Cn5 + .byte W04 + .byte An4 + .byte W04 + .byte PATT + .word mus_rg_win_tre_7_000 + .byte PAN , c_v-63 + .byte N02 , Fn4 , v096 + .byte W04 + .byte Fn4 , v032 + .byte W04 + .byte As4 , v096 + .byte W04 + .byte As4 , v032 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte Fn5 , v096 + .byte W04 + .byte Fn5 , v032 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte As4 , v096 + .byte W04 + .byte As4 , v032 + .byte W04 + .byte PAN , c_v+63 + .byte N02 , Gn4 , v096 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Cn5 , v096 + .byte W04 + .byte Cn5 , v032 + .byte W04 + .byte En5 , v096 + .byte W04 + .byte En5 , v032 + .byte W04 + .byte Gn5 , v096 + .byte W04 + .byte Gn5 , v032 + .byte W04 + .byte En5 , v096 + .byte W04 + .byte En5 , v032 + .byte W04 + .byte Cn5 , v096 + .byte W04 + .byte Cn5 , v032 + .byte W04 + .byte PAN , c_v+0 + .byte N04 , Gn4 , v084 + .byte W04 + .byte Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Fs5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Bn5 + .byte W04 + .byte Dn6 + .byte W04 + .byte Bn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Fs5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Bn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Fs5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Gn5 + .byte W04 + .byte Fs5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Cs5 + .byte W04 + .byte En5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Bn5 + .byte W04 + .byte Cs6 + .byte W04 + .byte Bn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte En5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Bn5 + .byte W04 + .byte Gn5 + .byte W04 + .byte En5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Gn5 + .byte W04 + .byte En5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte GOTO + .word mus_rg_win_tre_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_rg_win_tre_8: + .byte KEYSH , mus_rg_win_tre_key+0 + .byte W08 + .byte VOICE , 0 + .byte VOL , 68*mus_rg_win_tre_mvl/mxv + .byte PAN , c_v+0 + .byte N02 , Cn1 , v112 + .byte W02 + .byte En1 , v064 + .byte W02 + .byte N02 + .byte W02 + .byte N02 + .byte W02 + .byte En1 , v112 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N06 , Cn1 + .byte W08 + .byte N02 + .byte W08 + .byte N04 , En1 + .byte W08 + .byte Dn1 + .byte W08 + .byte N24 , An2 + .byte W24 +mus_rg_win_tre_8_B1: +mus_rg_win_tre_8_000: + .byte N04 , Cn1 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte N04 , En1 , v112 + .byte W16 + .byte Cn1 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte N04 , En1 , v112 + .byte W08 + .byte Dn1 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte PEND + .byte N04 , Cn1 , v112 + .byte W08 + .byte En1 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte N04 , En1 , v112 + .byte W16 + .byte Cn1 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte N04 , Dn1 , v112 + .byte W08 + .byte Cn1 + .byte W08 + .byte N04 + .byte W08 + .byte PATT + .word mus_rg_win_tre_8_000 + .byte N04 , Cn1 , v112 + .byte W08 + .byte En1 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte N04 , En1 , v112 + .byte W16 + .byte N02 , Cn1 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte N04 , Dn1 , v112 + .byte W08 + .byte Cn1 + .byte W08 + .byte N04 + .byte W08 + .byte PATT + .word mus_rg_win_tre_8_000 + .byte N04 , Cn1 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte N04 , En1 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte Cn1 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte N04 , Dn1 , v112 + .byte W08 + .byte Cn1 + .byte W08 + .byte Dn1 + .byte W08 + .byte PATT + .word mus_rg_win_tre_8_000 + .byte N04 , Cn1 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte N04 , En1 , v112 + .byte W16 + .byte Cn1 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , As1 , v064 + .byte W08 + .byte N04 , Dn1 , v112 + .byte W08 + .byte Cn1 + .byte W08 + .byte N04 + .byte W08 + .byte GOTO + .word mus_rg_win_tre_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_rg_win_tre_9: + .byte KEYSH , mus_rg_win_tre_key+0 + .byte PAN , c_v+0 + .byte VOL , 41*mus_rg_win_tre_mvl/mxv + .byte W08 + .byte VOICE , 127 + .byte W08 + .byte N04 , Gn4 , v112 + .byte W08 + .byte N02 , Gn4 , v080 + .byte W08 + .byte Gn4 , v084 + .byte W08 + .byte Cn5 , v096 + .byte W08 + .byte Cn5 , v080 + .byte W08 + .byte N02 + .byte W08 + .byte Dn4 , v112 + .byte W08 + .byte En3 + .byte W08 + .byte N02 + .byte W08 + .byte VOICE , 126 + .byte PAN , c_v+63 + .byte N24 , Cn5 , v120 + .byte W08 + .byte PAN , c_v-64 + .byte W16 +mus_rg_win_tre_9_B1: + .byte VOICE , 127 + .byte PAN , c_v+0 + .byte N04 , Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte Cn5 + .byte W08 + .byte Gn5 + .byte W08 + .byte N04 + .byte W08 + .byte Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte Cn5 + .byte W08 + .byte Gn5 + .byte W08 + .byte N04 + .byte W08 +mus_rg_win_tre_9_000: + .byte N04 , Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte Cn5 + .byte W08 + .byte Gn5 + .byte W08 + .byte N04 + .byte W08 + .byte Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte Cn5 + .byte W08 + .byte Gn5 + .byte W08 + .byte N04 + .byte W08 + .byte PEND + .byte PATT + .word mus_rg_win_tre_9_000 + .byte N04 , Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte N02 , Gn5 , v112 + .byte W04 + .byte Gn5 , v064 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 , Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte N02 , Gn5 , v112 + .byte W04 + .byte Gn5 , v064 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte PATT + .word mus_rg_win_tre_9_000 + .byte PATT + .word mus_rg_win_tre_9_000 + .byte PATT + .word mus_rg_win_tre_9_000 + .byte N04 , Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte Cn5 + .byte W08 + .byte Gn5 + .byte W08 + .byte N04 + .byte W08 + .byte Gn5 , v112 + .byte W08 + .byte Gn5 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte N02 , Gn5 , v112 + .byte W04 + .byte Gn5 , v064 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte GOTO + .word mus_rg_win_tre_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_win_tre: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_win_tre_pri @ Priority + .byte mus_rg_win_tre_rev @ Reverb. + + .word mus_rg_win_tre_grp + + .word mus_rg_win_tre_1 + .word mus_rg_win_tre_2 + .word mus_rg_win_tre_3 + .word mus_rg_win_tre_4 + .word mus_rg_win_tre_5 + .word mus_rg_win_tre_6 + .word mus_rg_win_tre_7 + .word mus_rg_win_tre_8 + .word mus_rg_win_tre_9 + + .end diff --git a/sound/songs/mus_rg_win_yasei.s b/sound/songs/mus_rg_win_yasei.s new file mode 100644 index 0000000000..b931fa11ca --- /dev/null +++ b/sound/songs/mus_rg_win_yasei.s @@ -0,0 +1,1073 @@ + .include "MPlayDef.s" + + .equ mus_rg_win_yasei_grp, voicegroup_86AE338 + .equ mus_rg_win_yasei_pri, 0 + .equ mus_rg_win_yasei_rev, reverb_set+50 + .equ mus_rg_win_yasei_mvl, 127 + .equ mus_rg_win_yasei_key, 0 + .equ mus_rg_win_yasei_tbs, 1 + .equ mus_rg_win_yasei_exg, 0 + .equ mus_rg_win_yasei_cmp, 1 + + .section .rodata + .global mus_rg_win_yasei + .align 2 + +@********************** Track 1 **********************@ + +mus_rg_win_yasei_1: + .byte KEYSH , mus_rg_win_yasei_key+0 + .byte TEMPO , 140*mus_rg_win_yasei_tbs/2 + .byte W09 + .byte VOICE , 73 + .byte VOL , 90*mus_rg_win_yasei_mvl/mxv + .byte BENDR , 3 + .byte PAN , c_v-8 + .byte BEND , c_v+0 + .byte N06 , En4 , v112 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte N68 , Bn4 + .byte W06 + .byte VOL , 77*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 59*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 51*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 42*mus_rg_win_yasei_mvl/mxv + .byte W12 + .byte MOD , 5 + .byte W03 + .byte VOL , 50*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 55*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 63*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 71*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 79*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte W15 +mus_rg_win_yasei_1_B1: + .byte PAN , c_v+0 + .byte MOD , 0 + .byte N06 , Bn4 , v112 + .byte W12 + .byte An4 + .byte W12 + .byte Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte Cs5 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Bn4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte An4 + .byte W12 + .byte Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte Bn4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte Cs5 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Bn4 + .byte W24 + .byte Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte As4 + .byte W06 +mus_rg_win_yasei_1_000: + .byte N06 , Cn5 , v112 + .byte W12 + .byte As4 + .byte W12 + .byte An4 + .byte W12 + .byte As4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte PEND + .byte Dn5 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Cn5 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte PATT + .word mus_rg_win_yasei_1_000 + .byte N06 , Dn5 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Cn5 + .byte W24 + .byte Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs4 + .byte W06 + .byte An4 + .byte W06 + .byte GOTO + .word mus_rg_win_yasei_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_rg_win_yasei_2: + .byte KEYSH , mus_rg_win_yasei_key+0 + .byte W09 + .byte VOICE , 56 + .byte VOL , 90*mus_rg_win_yasei_mvl/mxv + .byte PAN , c_v+10 + .byte N06 , Gs3 , v080 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte N68 , En4 , v100 + .byte W06 + .byte VOL , 77*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 59*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 51*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 42*mus_rg_win_yasei_mvl/mxv + .byte W12 + .byte MOD , 5 + .byte W03 + .byte VOL , 50*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 55*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 63*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 71*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 79*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte W15 +mus_rg_win_yasei_2_B1: + .byte VOICE , 56 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte W12 + .byte N06 , En3 , v092 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W36 + .byte VOICE , 47 + .byte PAN , c_v+10 + .byte N12 , An1 , v112 + .byte W12 + .byte Bn1 + .byte W48 + .byte VOICE , 56 + .byte PAN , c_v+0 + .byte W12 + .byte N06 , En3 , v092 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte VOICE , 47 + .byte PAN , c_v+10 + .byte N12 , An1 , v112 + .byte W24 + .byte Bn1 + .byte W48 +mus_rg_win_yasei_2_000: + .byte VOICE , 56 + .byte PAN , c_v+0 + .byte W12 + .byte N06 , Fn3 , v092 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte N06 + .byte W36 + .byte VOICE , 47 + .byte PAN , c_v+10 + .byte N12 , As1 , v112 + .byte W12 + .byte Cn2 + .byte W48 + .byte PATT + .word mus_rg_win_yasei_2_000 + .byte N06 , Fn3 , v092 + .byte W24 + .byte VOICE , 47 + .byte PAN , c_v+10 + .byte N12 , As1 , v112 + .byte W24 + .byte Cn2 + .byte W48 + .byte GOTO + .word mus_rg_win_yasei_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_rg_win_yasei_3: + .byte KEYSH , mus_rg_win_yasei_key+0 + .byte W09 + .byte VOICE , 58 + .byte VOL , 90*mus_rg_win_yasei_mvl/mxv + .byte W24 + .byte N21 , En1 , v127 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N21 , Bn0 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N21 , Gs0 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 +mus_rg_win_yasei_3_B1: + .byte VOL , 90*mus_rg_win_yasei_mvl/mxv + .byte N21 , En1 , v127 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N21 , Bn0 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N21 , En1 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N21 , Bn0 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N48 , An1 + .byte W06 + .byte VOL , 75*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 65*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 60*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 65*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 72*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 77*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 86*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte W09 + .byte 70*mus_rg_win_yasei_mvl/mxv + .byte N48 , Bn1 + .byte W06 + .byte VOL , 73*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 75*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 78*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 82*mus_rg_win_yasei_mvl/mxv + .byte W09 + .byte 86*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte W09 + .byte N21 , En1 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N21 , Bn0 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N21 , En1 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N21 , Bn0 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N24 , An1 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W30 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N21 , En1 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N21 , Cn1 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N21 , Fn1 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N21 , Cn1 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N21 , Fn1 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N21 , Cn1 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N48 , As1 + .byte W06 + .byte VOL , 75*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 65*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 60*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 65*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 72*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 77*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 86*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte W09 + .byte 70*mus_rg_win_yasei_mvl/mxv + .byte N48 , Cn2 + .byte W06 + .byte VOL , 73*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 75*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 78*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 82*mus_rg_win_yasei_mvl/mxv + .byte W09 + .byte 86*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte W09 + .byte N21 , Fn1 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N21 , Cn1 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N21 , Fn1 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N21 , Cn1 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N24 , As1 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W30 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N24 , Fn1 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte N24 , Bn0 + .byte W12 + .byte VOL , 82*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 41*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 28*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte GOTO + .word mus_rg_win_yasei_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_rg_win_yasei_4: + .byte KEYSH , mus_rg_win_yasei_key+0 + .byte W09 + .byte VOICE , 82 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v-48 + .byte VOL , 90*mus_rg_win_yasei_mvl/mxv + .byte N06 , Bn2 , v052 + .byte W06 + .byte Cs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N72 , Gs3 + .byte W06 + .byte VOL , 77*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 59*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 51*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 42*mus_rg_win_yasei_mvl/mxv + .byte W15 + .byte 50*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 55*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 63*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 71*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 79*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte W15 +mus_rg_win_yasei_4_B1: + .byte PAN , c_v+0 + .byte W12 + .byte N06 , Bn2 , v060 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Cs3 + .byte W96 + .byte W12 + .byte Bn2 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Cs3 + .byte W96 +mus_rg_win_yasei_4_000: + .byte W12 + .byte N06 , Cn3 , v060 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte Dn3 + .byte W96 + .byte PATT + .word mus_rg_win_yasei_4_000 + .byte N06 , Dn3 , v060 + .byte W96 + .byte GOTO + .word mus_rg_win_yasei_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_rg_win_yasei_5: + .byte KEYSH , mus_rg_win_yasei_key+0 + .byte W09 + .byte VOICE , 80 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v+48 + .byte VOL , 90*mus_rg_win_yasei_mvl/mxv + .byte N06 , Gs2 , v052 + .byte W06 + .byte An2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Ds3 + .byte W06 + .byte N72 , En3 + .byte W06 + .byte VOL , 77*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 68*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 59*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 51*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 42*mus_rg_win_yasei_mvl/mxv + .byte W15 + .byte 50*mus_rg_win_yasei_mvl/mxv + .byte W06 + .byte 55*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 63*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 71*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 79*mus_rg_win_yasei_mvl/mxv + .byte W03 + .byte 90*mus_rg_win_yasei_mvl/mxv + .byte W15 +mus_rg_win_yasei_5_B1: + .byte VOICE , 83 + .byte PAN , c_v+48 + .byte N03 , Bn5 , v032 + .byte W12 + .byte An5 + .byte W12 + .byte Gs5 + .byte W12 + .byte An5 + .byte W12 + .byte Bn5 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Cs6 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Bn5 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte N03 + .byte W12 + .byte An5 + .byte W12 + .byte Gs5 + .byte W12 + .byte An5 + .byte W12 + .byte Bn5 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Cs6 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Bn5 + .byte W48 +mus_rg_win_yasei_5_000: + .byte N03 , Cn6 , v032 + .byte W12 + .byte As5 + .byte W12 + .byte An5 + .byte W12 + .byte As5 + .byte W12 + .byte Cn6 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte PEND + .byte Dn6 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Cn6 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte PATT + .word mus_rg_win_yasei_5_000 + .byte N03 , Dn6 , v032 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W24 + .byte Cn6 + .byte W48 + .byte GOTO + .word mus_rg_win_yasei_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_rg_win_yasei_6: + .byte KEYSH , mus_rg_win_yasei_key+0 + .byte W09 + .byte VOICE , 81 + .byte VOL , 90*mus_rg_win_yasei_mvl/mxv + .byte W36 + .byte N06 , Ds5 , v080 + .byte W06 + .byte Ds5 , v032 + .byte W06 + .byte BEND , c_v+2 + .byte N06 , En5 , v080 + .byte W12 + .byte En5 , v032 + .byte W12 + .byte En5 , v080 + .byte W12 + .byte En5 , v032 + .byte W12 +mus_rg_win_yasei_6_B1: + .byte MOD , 0 + .byte BEND , c_v+0 + .byte W96 + .byte N06 , An4 , v048 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Fs4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte W96 + .byte An4 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Gs4 + .byte W48 + .byte W96 + .byte As4 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Gn4 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte W96 + .byte As4 + .byte W12 + .byte N06 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , An4 + .byte W48 + .byte GOTO + .word mus_rg_win_yasei_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_rg_win_yasei_7: + .byte KEYSH , mus_rg_win_yasei_key+0 + .byte W09 + .byte VOICE , 0 + .byte VOL , 90*mus_rg_win_yasei_mvl/mxv + .byte W24 + .byte N03 , En1 , v112 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v092 + .byte W06 + .byte En1 , v060 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v072 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v084 + .byte W06 +mus_rg_win_yasei_7_B1: +mus_rg_win_yasei_7_000: + .byte N06 , En1 , v076 + .byte W12 + .byte N06 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v064 + .byte W12 + .byte En1 , v076 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v076 + .byte W12 + .byte En1 , v084 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v064 + .byte W06 + .byte En1 + .byte W06 + .byte En1 , v076 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte PEND +mus_rg_win_yasei_7_001: + .byte N06 , En1 , v112 + .byte W24 + .byte Fs2 , v064 + .byte W24 + .byte N12 , Bn2 , v092 + .byte W24 + .byte N06 , En1 , v112 + .byte N03 , Fs2 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Fs2 , v040 + .byte W06 + .byte En1 , v112 + .byte N06 , Fs2 , v052 + .byte W06 + .byte En1 , v088 + .byte N06 , Fs2 , v060 + .byte W06 + .byte PEND + .byte PATT + .word mus_rg_win_yasei_7_000 + .byte PATT + .word mus_rg_win_yasei_7_001 + .byte PATT + .word mus_rg_win_yasei_7_000 + .byte PATT + .word mus_rg_win_yasei_7_001 + .byte PATT + .word mus_rg_win_yasei_7_000 + .byte PATT + .word mus_rg_win_yasei_7_001 + .byte GOTO + .word mus_rg_win_yasei_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_rg_win_yasei: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_rg_win_yasei_pri @ Priority + .byte mus_rg_win_yasei_rev @ Reverb. + + .word mus_rg_win_yasei_grp + + .word mus_rg_win_yasei_1 + .word mus_rg_win_yasei_2 + .word mus_rg_win_yasei_3 + .word mus_rg_win_yasei_4 + .word mus_rg_win_yasei_5 + .word mus_rg_win_yasei_6 + .word mus_rg_win_yasei_7 + + .end diff --git a/sound/songs/mus_ropeway.s b/sound/songs/mus_ropeway.s new file mode 100644 index 0000000000..a54fe66f16 --- /dev/null +++ b/sound/songs/mus_ropeway.s @@ -0,0 +1,1415 @@ + .include "MPlayDef.s" + + .equ mus_ropeway_grp, voicegroup_868A074 + .equ mus_ropeway_pri, 0 + .equ mus_ropeway_rev, reverb_set+50 + .equ mus_ropeway_mvl, 127 + .equ mus_ropeway_key, 0 + .equ mus_ropeway_tbs, 1 + .equ mus_ropeway_exg, 0 + .equ mus_ropeway_cmp, 1 + + .section .rodata + .global mus_ropeway + .align 2 + +@********************** Track 1 **********************@ + +mus_ropeway_1: + .byte KEYSH , mus_ropeway_key+0 + .byte TEMPO , 120*mus_ropeway_tbs/2 + .byte VOICE , 56 + .byte VOL , 55*mus_ropeway_mvl/mxv + .byte PAN , c_v+24 + .byte N06 , An3 , v112 + .byte W06 + .byte N04 , An3 , v036 + .byte W18 + .byte N03 , An3 , v112 + .byte W03 + .byte An3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N02 , Cn4 , v112 + .byte W02 + .byte N04 , Cn4 , v036 + .byte W10 + .byte VOL , 25*mus_ropeway_mvl/mxv + .byte N24 , As3 , v112 + .byte W02 + .byte VOL , 28*mus_ropeway_mvl/mxv + .byte W03 + .byte 33*mus_ropeway_mvl/mxv + .byte W03 + .byte 39*mus_ropeway_mvl/mxv + .byte W04 + .byte 42*mus_ropeway_mvl/mxv + .byte W02 + .byte 46*mus_ropeway_mvl/mxv + .byte W04 + .byte 55*mus_ropeway_mvl/mxv + .byte W03 + .byte 58*mus_ropeway_mvl/mxv + .byte W03 + .byte 49*mus_ropeway_mvl/mxv + .byte N06 , Cn4 + .byte W06 + .byte N04 , Cn4 , v036 + .byte W06 + .byte VOL , 55*mus_ropeway_mvl/mxv + .byte N06 , An3 , v112 + .byte W06 + .byte N04 , An3 , v036 + .byte W06 + .byte N03 , An3 , v112 + .byte W12 + .byte N03 + .byte W03 + .byte An3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N02 , Cn4 , v112 + .byte W02 + .byte N04 , Cn4 , v036 + .byte W10 + .byte VOL , 25*mus_ropeway_mvl/mxv + .byte N24 , As3 , v112 + .byte W02 + .byte VOL , 28*mus_ropeway_mvl/mxv + .byte W03 + .byte 33*mus_ropeway_mvl/mxv + .byte W03 + .byte 39*mus_ropeway_mvl/mxv + .byte W04 + .byte 42*mus_ropeway_mvl/mxv + .byte W02 + .byte 46*mus_ropeway_mvl/mxv + .byte W04 + .byte 55*mus_ropeway_mvl/mxv + .byte W03 + .byte 58*mus_ropeway_mvl/mxv + .byte W03 + .byte 49*mus_ropeway_mvl/mxv + .byte N06 , Cn4 + .byte W06 + .byte N04 , Cn4 , v036 + .byte W06 + .byte VOL , 55*mus_ropeway_mvl/mxv + .byte N06 , Cs4 , v112 + .byte W06 + .byte N04 , Cs4 , v036 + .byte W18 + .byte N03 , Cs4 , v112 + .byte W03 + .byte Cs4 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N02 , En4 , v112 + .byte W02 + .byte N04 , En4 , v036 + .byte W10 + .byte VOL , 25*mus_ropeway_mvl/mxv + .byte N24 , Dn4 , v112 + .byte W02 + .byte VOL , 28*mus_ropeway_mvl/mxv + .byte W03 + .byte 33*mus_ropeway_mvl/mxv + .byte W03 + .byte 39*mus_ropeway_mvl/mxv + .byte W04 + .byte 42*mus_ropeway_mvl/mxv + .byte W02 + .byte 46*mus_ropeway_mvl/mxv + .byte W04 + .byte 55*mus_ropeway_mvl/mxv + .byte W03 + .byte 58*mus_ropeway_mvl/mxv + .byte W03 + .byte 49*mus_ropeway_mvl/mxv + .byte N06 , En4 + .byte W06 + .byte N04 , En4 , v036 + .byte W06 + .byte VOL , 55*mus_ropeway_mvl/mxv + .byte N06 , Cs4 , v112 + .byte W06 + .byte N04 , Cs4 , v036 + .byte W06 + .byte N03 , Cs4 , v112 + .byte W12 + .byte N03 + .byte W03 + .byte Cs4 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte En4 , v112 + .byte W03 + .byte N04 , En4 , v036 + .byte W09 + .byte VOL , 25*mus_ropeway_mvl/mxv + .byte N24 , Dn4 , v112 + .byte W02 + .byte VOL , 28*mus_ropeway_mvl/mxv + .byte W03 + .byte 33*mus_ropeway_mvl/mxv + .byte W03 + .byte 39*mus_ropeway_mvl/mxv + .byte W04 + .byte 42*mus_ropeway_mvl/mxv + .byte W02 + .byte 46*mus_ropeway_mvl/mxv + .byte W04 + .byte 55*mus_ropeway_mvl/mxv + .byte W03 + .byte 58*mus_ropeway_mvl/mxv + .byte W03 + .byte 49*mus_ropeway_mvl/mxv + .byte N06 , En4 + .byte W06 + .byte N04 , En4 , v036 + .byte W06 + .byte VOL , 55*mus_ropeway_mvl/mxv + .byte TIE , Fs4 , v112 + .byte W48 + .byte VOL , 50*mus_ropeway_mvl/mxv + .byte W04 + .byte 49*mus_ropeway_mvl/mxv + .byte W04 + .byte 47*mus_ropeway_mvl/mxv + .byte W04 + .byte 44*mus_ropeway_mvl/mxv + .byte W04 + .byte 44*mus_ropeway_mvl/mxv + .byte W04 + .byte 42*mus_ropeway_mvl/mxv + .byte W04 + .byte 41*mus_ropeway_mvl/mxv + .byte W04 + .byte 39*mus_ropeway_mvl/mxv + .byte W04 + .byte 38*mus_ropeway_mvl/mxv + .byte W04 + .byte 36*mus_ropeway_mvl/mxv + .byte W04 + .byte 33*mus_ropeway_mvl/mxv + .byte W08 + .byte 31*mus_ropeway_mvl/mxv + .byte W04 + .byte 30*mus_ropeway_mvl/mxv + .byte W04 + .byte 29*mus_ropeway_mvl/mxv + .byte W04 + .byte 28*mus_ropeway_mvl/mxv + .byte W08 + .byte 27*mus_ropeway_mvl/mxv + .byte W04 + .byte 25*mus_ropeway_mvl/mxv + .byte W08 + .byte 22*mus_ropeway_mvl/mxv + .byte W08 + .byte 22*mus_ropeway_mvl/mxv + .byte W04 + .byte 21*mus_ropeway_mvl/mxv + .byte W08 + .byte 19*mus_ropeway_mvl/mxv + .byte W08 + .byte 19*mus_ropeway_mvl/mxv + .byte W04 + .byte 17*mus_ropeway_mvl/mxv + .byte W04 + .byte 16*mus_ropeway_mvl/mxv + .byte W04 + .byte 14*mus_ropeway_mvl/mxv + .byte W04 + .byte 14*mus_ropeway_mvl/mxv + .byte W04 + .byte 12*mus_ropeway_mvl/mxv + .byte W04 + .byte 11*mus_ropeway_mvl/mxv + .byte W04 + .byte 9*mus_ropeway_mvl/mxv + .byte W04 + .byte 8*mus_ropeway_mvl/mxv + .byte W04 + .byte EOT + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte FINE + +@********************** Track 2 **********************@ + +mus_ropeway_2: + .byte KEYSH , mus_ropeway_key+0 + .byte VOICE , 58 + .byte PAN , c_v+0 + .byte VOL , 76*mus_ropeway_mvl/mxv + .byte N06 , Dn2 , v112 + .byte W24 + .byte An1 + .byte W24 + .byte En2 + .byte W24 + .byte An1 + .byte W24 + .byte Dn2 + .byte W24 + .byte An1 + .byte W24 + .byte En2 + .byte W24 + .byte An1 + .byte W24 + .byte Fs2 + .byte W24 + .byte Cs2 + .byte W24 + .byte Gs2 + .byte W24 + .byte Cs2 + .byte W24 + .byte Fs2 + .byte W24 + .byte Cs2 + .byte W24 + .byte Gs2 + .byte W24 + .byte Cs2 + .byte W12 + .byte Bn1 + .byte W06 + .byte N03 , As1 + .byte W03 + .byte Gs1 + .byte W03 + .byte TIE , Fs1 , v124 + .byte W72 + .byte VOL , 61*mus_ropeway_mvl/mxv + .byte W04 + .byte 58*mus_ropeway_mvl/mxv + .byte W04 + .byte 56*mus_ropeway_mvl/mxv + .byte W04 + .byte 55*mus_ropeway_mvl/mxv + .byte W08 + .byte 53*mus_ropeway_mvl/mxv + .byte W04 + .byte 50*mus_ropeway_mvl/mxv + .byte W04 + .byte 47*mus_ropeway_mvl/mxv + .byte W08 + .byte 44*mus_ropeway_mvl/mxv + .byte W04 + .byte 44*mus_ropeway_mvl/mxv + .byte W04 + .byte 41*mus_ropeway_mvl/mxv + .byte W04 + .byte 39*mus_ropeway_mvl/mxv + .byte W04 + .byte 36*mus_ropeway_mvl/mxv + .byte W04 + .byte 31*mus_ropeway_mvl/mxv + .byte W04 + .byte 28*mus_ropeway_mvl/mxv + .byte W04 + .byte 28*mus_ropeway_mvl/mxv + .byte W04 + .byte 24*mus_ropeway_mvl/mxv + .byte W04 + .byte 22*mus_ropeway_mvl/mxv + .byte W04 + .byte 19*mus_ropeway_mvl/mxv + .byte W08 + .byte 17*mus_ropeway_mvl/mxv + .byte W04 + .byte 14*mus_ropeway_mvl/mxv + .byte W04 + .byte 12*mus_ropeway_mvl/mxv + .byte W04 + .byte 11*mus_ropeway_mvl/mxv + .byte W04 + .byte 9*mus_ropeway_mvl/mxv + .byte W04 + .byte 8*mus_ropeway_mvl/mxv + .byte W04 + .byte 5*mus_ropeway_mvl/mxv + .byte W04 + .byte 3*mus_ropeway_mvl/mxv + .byte W04 + .byte 1*mus_ropeway_mvl/mxv + .byte W04 + .byte EOT + .byte W96 + .byte VOL , 1*mus_ropeway_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte FINE + +@********************** Track 3 **********************@ + +mus_ropeway_3: + .byte KEYSH , mus_ropeway_key+0 + .byte VOICE , 60 + .byte PAN , c_v-24 + .byte VOL , 49*mus_ropeway_mvl/mxv + .byte N06 , Fs2 , v112 + .byte W24 + .byte N03 + .byte W03 + .byte Fs2 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte An2 , v112 + .byte W12 + .byte VOL , 25*mus_ropeway_mvl/mxv + .byte N24 , Gn2 + .byte W02 + .byte VOL , 28*mus_ropeway_mvl/mxv + .byte W03 + .byte 33*mus_ropeway_mvl/mxv + .byte W03 + .byte 39*mus_ropeway_mvl/mxv + .byte W04 + .byte 42*mus_ropeway_mvl/mxv + .byte W02 + .byte 46*mus_ropeway_mvl/mxv + .byte W04 + .byte 55*mus_ropeway_mvl/mxv + .byte W03 + .byte 58*mus_ropeway_mvl/mxv + .byte W03 + .byte 49*mus_ropeway_mvl/mxv + .byte N06 , An2 + .byte W12 + .byte VOL , 49*mus_ropeway_mvl/mxv + .byte N06 , Fs2 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W03 + .byte Fs2 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte An2 , v112 + .byte W12 + .byte VOL , 25*mus_ropeway_mvl/mxv + .byte N24 , Gn2 + .byte W02 + .byte VOL , 28*mus_ropeway_mvl/mxv + .byte W03 + .byte 33*mus_ropeway_mvl/mxv + .byte W03 + .byte 39*mus_ropeway_mvl/mxv + .byte W04 + .byte 42*mus_ropeway_mvl/mxv + .byte W02 + .byte 46*mus_ropeway_mvl/mxv + .byte W04 + .byte 55*mus_ropeway_mvl/mxv + .byte W03 + .byte 58*mus_ropeway_mvl/mxv + .byte W03 + .byte 49*mus_ropeway_mvl/mxv + .byte N06 , An2 + .byte W12 + .byte As2 + .byte W24 + .byte N03 + .byte W03 + .byte As2 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cs3 , v112 + .byte W12 + .byte VOL , 25*mus_ropeway_mvl/mxv + .byte N24 , Bn2 + .byte W02 + .byte VOL , 28*mus_ropeway_mvl/mxv + .byte W03 + .byte 33*mus_ropeway_mvl/mxv + .byte W03 + .byte 39*mus_ropeway_mvl/mxv + .byte W04 + .byte 42*mus_ropeway_mvl/mxv + .byte W02 + .byte 46*mus_ropeway_mvl/mxv + .byte W04 + .byte 55*mus_ropeway_mvl/mxv + .byte W03 + .byte 58*mus_ropeway_mvl/mxv + .byte W03 + .byte 49*mus_ropeway_mvl/mxv + .byte N06 , Cs3 + .byte W12 + .byte As2 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W03 + .byte As2 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cs3 , v112 + .byte W12 + .byte VOL , 25*mus_ropeway_mvl/mxv + .byte N24 , Bn2 + .byte W02 + .byte VOL , 28*mus_ropeway_mvl/mxv + .byte W03 + .byte 33*mus_ropeway_mvl/mxv + .byte W03 + .byte 39*mus_ropeway_mvl/mxv + .byte W04 + .byte 42*mus_ropeway_mvl/mxv + .byte W02 + .byte 46*mus_ropeway_mvl/mxv + .byte W04 + .byte 55*mus_ropeway_mvl/mxv + .byte W03 + .byte 58*mus_ropeway_mvl/mxv + .byte W03 + .byte 49*mus_ropeway_mvl/mxv + .byte N06 , Cs3 + .byte W06 + .byte N03 , En3 + .byte W03 + .byte Fn3 + .byte W03 + .byte TIE , Fs3 + .byte W48 + .byte VOL , 48*mus_ropeway_mvl/mxv + .byte W04 + .byte 47*mus_ropeway_mvl/mxv + .byte W04 + .byte 47*mus_ropeway_mvl/mxv + .byte W04 + .byte 45*mus_ropeway_mvl/mxv + .byte W04 + .byte 44*mus_ropeway_mvl/mxv + .byte W04 + .byte 42*mus_ropeway_mvl/mxv + .byte W04 + .byte 41*mus_ropeway_mvl/mxv + .byte W04 + .byte 39*mus_ropeway_mvl/mxv + .byte W04 + .byte 38*mus_ropeway_mvl/mxv + .byte W04 + .byte 36*mus_ropeway_mvl/mxv + .byte W04 + .byte 33*mus_ropeway_mvl/mxv + .byte W08 + .byte 31*mus_ropeway_mvl/mxv + .byte W04 + .byte 30*mus_ropeway_mvl/mxv + .byte W04 + .byte 29*mus_ropeway_mvl/mxv + .byte W04 + .byte 28*mus_ropeway_mvl/mxv + .byte W08 + .byte 27*mus_ropeway_mvl/mxv + .byte W04 + .byte 25*mus_ropeway_mvl/mxv + .byte W08 + .byte 22*mus_ropeway_mvl/mxv + .byte W08 + .byte 22*mus_ropeway_mvl/mxv + .byte W04 + .byte 21*mus_ropeway_mvl/mxv + .byte W08 + .byte 19*mus_ropeway_mvl/mxv + .byte W08 + .byte 19*mus_ropeway_mvl/mxv + .byte W04 + .byte 17*mus_ropeway_mvl/mxv + .byte W04 + .byte 16*mus_ropeway_mvl/mxv + .byte W04 + .byte 14*mus_ropeway_mvl/mxv + .byte W04 + .byte 14*mus_ropeway_mvl/mxv + .byte W04 + .byte 12*mus_ropeway_mvl/mxv + .byte W04 + .byte 11*mus_ropeway_mvl/mxv + .byte W04 + .byte 9*mus_ropeway_mvl/mxv + .byte W04 + .byte 8*mus_ropeway_mvl/mxv + .byte W04 + .byte EOT + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte FINE + +@********************** Track 4 **********************@ + +mus_ropeway_4: + .byte KEYSH , mus_ropeway_key+0 + .byte VOICE , 127 + .byte PAN , c_v+0 + .byte VOL , 34*mus_ropeway_mvl/mxv + .byte N02 , En4 , v112 + .byte W24 + .byte N02 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v060 + .byte W06 + .byte En4 , v112 + .byte W12 + .byte N02 + .byte W24 + .byte N03 + .byte W03 + .byte En4 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 +mus_ropeway_4_000: + .byte N02 , En4 , v112 + .byte W12 + .byte En4 , v096 + .byte W12 + .byte En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v060 + .byte W06 + .byte En4 , v112 + .byte W12 + .byte N02 + .byte W24 + .byte N03 + .byte W03 + .byte En4 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND + .byte N02 , En4 , v112 + .byte W24 + .byte N02 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v060 + .byte W06 + .byte En4 , v112 + .byte W12 + .byte N02 + .byte W24 + .byte N03 + .byte W03 + .byte En4 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PATT + .word mus_ropeway_4_000 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte FINE + +@********************** Track 5 **********************@ + +mus_ropeway_5: + .byte KEYSH , mus_ropeway_key+0 + .byte VOICE , 60 + .byte VOL , 77*mus_ropeway_mvl/mxv + .byte MOD , 2 + .byte N08 , Dn3 , v112 + .byte W08 + .byte Dn3 , v036 + .byte W08 + .byte Fs3 , v112 + .byte W08 + .byte N24 , An3 + .byte W24 + .byte N08 , En3 + .byte W08 + .byte En3 , v036 + .byte W08 + .byte Gn3 , v112 + .byte W08 + .byte N16 , Cn4 + .byte W16 + .byte N04 , Bn3 + .byte W04 + .byte As3 + .byte W04 + .byte N72 , An3 + .byte W48 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N08 , An3 , v036 + .byte W08 + .byte Gn3 , v112 + .byte W08 + .byte N04 , An3 + .byte W04 + .byte An3 , v036 + .byte W04 + .byte N08 , Fs3 , v112 + .byte W08 + .byte Fs3 , v036 + .byte W08 + .byte As3 , v112 + .byte W08 + .byte N24 , Cs4 + .byte W12 + .byte MOD , 4 + .byte W12 + .byte 0 + .byte N08 , Gs3 + .byte W08 + .byte Gs3 , v036 + .byte W08 + .byte Bn3 , v112 + .byte W08 + .byte N16 , En4 + .byte W16 + .byte N04 , Ds4 + .byte W04 + .byte Dn4 + .byte W04 + .byte N48 , Cs4 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N04 , En4 + .byte W04 + .byte En4 , v036 + .byte W04 + .byte Dn4 , v112 + .byte W04 + .byte Dn4 , v036 + .byte W04 + .byte En4 , v112 + .byte W04 + .byte En4 , v036 + .byte W04 + .byte N24 , Fn4 , v112 + .byte W24 + .byte TIE , Fs4 + .byte W48 + .byte MOD , 5 + .byte W24 + .byte VOL , 61*mus_ropeway_mvl/mxv + .byte W04 + .byte 58*mus_ropeway_mvl/mxv + .byte W04 + .byte 56*mus_ropeway_mvl/mxv + .byte W04 + .byte 55*mus_ropeway_mvl/mxv + .byte W08 + .byte 53*mus_ropeway_mvl/mxv + .byte W04 + .byte 50*mus_ropeway_mvl/mxv + .byte W04 + .byte 47*mus_ropeway_mvl/mxv + .byte W08 + .byte 44*mus_ropeway_mvl/mxv + .byte W04 + .byte 44*mus_ropeway_mvl/mxv + .byte W04 + .byte 41*mus_ropeway_mvl/mxv + .byte W04 + .byte 39*mus_ropeway_mvl/mxv + .byte W04 + .byte 36*mus_ropeway_mvl/mxv + .byte W04 + .byte 31*mus_ropeway_mvl/mxv + .byte W04 + .byte 28*mus_ropeway_mvl/mxv + .byte W04 + .byte 28*mus_ropeway_mvl/mxv + .byte W04 + .byte 24*mus_ropeway_mvl/mxv + .byte W04 + .byte 22*mus_ropeway_mvl/mxv + .byte W04 + .byte 19*mus_ropeway_mvl/mxv + .byte W08 + .byte 17*mus_ropeway_mvl/mxv + .byte W04 + .byte 14*mus_ropeway_mvl/mxv + .byte W04 + .byte 12*mus_ropeway_mvl/mxv + .byte W04 + .byte 11*mus_ropeway_mvl/mxv + .byte W04 + .byte 9*mus_ropeway_mvl/mxv + .byte W04 + .byte 8*mus_ropeway_mvl/mxv + .byte W04 + .byte 5*mus_ropeway_mvl/mxv + .byte W04 + .byte 3*mus_ropeway_mvl/mxv + .byte W04 + .byte 1*mus_ropeway_mvl/mxv + .byte W04 + .byte EOT + .byte W96 + .byte VOL , 1*mus_ropeway_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte FINE + +@********************** Track 6 **********************@ + +mus_ropeway_6: + .byte KEYSH , mus_ropeway_key+0 + .byte VOICE , 80 + .byte VOL , 36*mus_ropeway_mvl/mxv + .byte PAN , c_v-62 + .byte N06 , Fs3 , v112 + .byte W24 + .byte N03 + .byte W03 + .byte Fs3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte An3 , v112 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N06 , An3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W03 + .byte Fs3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte An3 , v112 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N06 , An3 + .byte W12 + .byte As3 + .byte W24 + .byte N03 + .byte W03 + .byte As3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cs4 , v112 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte N06 , Cs4 + .byte W12 + .byte As3 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W03 + .byte As3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cs4 , v112 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte N06 , Gs3 + .byte W12 + .byte TIE , As3 + .byte W48 + .byte VOL , 33*mus_ropeway_mvl/mxv + .byte W04 + .byte 31*mus_ropeway_mvl/mxv + .byte W04 + .byte 28*mus_ropeway_mvl/mxv + .byte W04 + .byte 25*mus_ropeway_mvl/mxv + .byte W04 + .byte 25*mus_ropeway_mvl/mxv + .byte W04 + .byte 24*mus_ropeway_mvl/mxv + .byte W04 + .byte 22*mus_ropeway_mvl/mxv + .byte W04 + .byte 21*mus_ropeway_mvl/mxv + .byte W04 + .byte 19*mus_ropeway_mvl/mxv + .byte W04 + .byte 17*mus_ropeway_mvl/mxv + .byte W08 + .byte 16*mus_ropeway_mvl/mxv + .byte W04 + .byte 14*mus_ropeway_mvl/mxv + .byte W04 + .byte 14*mus_ropeway_mvl/mxv + .byte W04 + .byte 12*mus_ropeway_mvl/mxv + .byte W04 + .byte 11*mus_ropeway_mvl/mxv + .byte W04 + .byte 9*mus_ropeway_mvl/mxv + .byte W04 + .byte 8*mus_ropeway_mvl/mxv + .byte W08 + .byte 7*mus_ropeway_mvl/mxv + .byte W04 + .byte 6*mus_ropeway_mvl/mxv + .byte W04 + .byte 4*mus_ropeway_mvl/mxv + .byte W04 + .byte 3*mus_ropeway_mvl/mxv + .byte W08 + .byte 2*mus_ropeway_mvl/mxv + .byte W04 + .byte 1*mus_ropeway_mvl/mxv + .byte W12 + .byte 1*mus_ropeway_mvl/mxv + .byte W28 + .byte 2*mus_ropeway_mvl/mxv + .byte W04 + .byte EOT + .byte W96 + .byte VOL , 1*mus_ropeway_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte FINE + +@********************** Track 7 **********************@ + +mus_ropeway_7: + .byte KEYSH , mus_ropeway_key+0 + .byte VOICE , 81 + .byte PAN , c_v+63 + .byte VOL , 34*mus_ropeway_mvl/mxv + .byte N06 , An3 , v112 + .byte W24 + .byte N03 + .byte W03 + .byte An3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte N24 , As3 + .byte W24 + .byte N06 , Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W03 + .byte An3 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte N24 , As3 + .byte W24 + .byte N06 , Cn4 + .byte W12 + .byte Cs4 + .byte W24 + .byte N03 + .byte W03 + .byte Cs4 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte En4 , v112 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte N06 , En4 + .byte W12 + .byte Cs4 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W03 + .byte Cs4 , v080 + .byte W03 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte En4 , v112 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte N06 , En4 + .byte W12 + .byte TIE , Fs4 + .byte W48 + .byte VOL , 33*mus_ropeway_mvl/mxv + .byte W04 + .byte 31*mus_ropeway_mvl/mxv + .byte W04 + .byte 30*mus_ropeway_mvl/mxv + .byte W04 + .byte 29*mus_ropeway_mvl/mxv + .byte W04 + .byte 28*mus_ropeway_mvl/mxv + .byte W04 + .byte 28*mus_ropeway_mvl/mxv + .byte W04 + .byte 27*mus_ropeway_mvl/mxv + .byte W04 + .byte 25*mus_ropeway_mvl/mxv + .byte W04 + .byte 24*mus_ropeway_mvl/mxv + .byte W04 + .byte 22*mus_ropeway_mvl/mxv + .byte W08 + .byte 19*mus_ropeway_mvl/mxv + .byte W04 + .byte W04 + .byte 19*mus_ropeway_mvl/mxv + .byte W04 + .byte 17*mus_ropeway_mvl/mxv + .byte W04 + .byte 16*mus_ropeway_mvl/mxv + .byte W04 + .byte 14*mus_ropeway_mvl/mxv + .byte W04 + .byte 14*mus_ropeway_mvl/mxv + .byte W08 + .byte 11*mus_ropeway_mvl/mxv + .byte W08 + .byte 9*mus_ropeway_mvl/mxv + .byte W04 + .byte 9*mus_ropeway_mvl/mxv + .byte W08 + .byte 8*mus_ropeway_mvl/mxv + .byte W08 + .byte 7*mus_ropeway_mvl/mxv + .byte W12 + .byte 6*mus_ropeway_mvl/mxv + .byte W12 + .byte 5*mus_ropeway_mvl/mxv + .byte W04 + .byte 4*mus_ropeway_mvl/mxv + .byte W04 + .byte 3*mus_ropeway_mvl/mxv + .byte W04 + .byte 2*mus_ropeway_mvl/mxv + .byte W04 + .byte EOT + .byte W96 + .byte VOL , 1*mus_ropeway_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte FINE + +@********************** Track 8 **********************@ + +mus_ropeway_8: + .byte VOL , 78*mus_ropeway_mvl/mxv + .byte KEYSH , mus_ropeway_key+0 + .byte VOICE , 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N96 , Bn2 , v112 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte FINE + +@********************** Track 9 **********************@ + +mus_ropeway_9: + .byte KEYSH , mus_ropeway_key+0 + .byte VOICE , 83 + .byte PAN , c_v+0 + .byte VOL , 47*mus_ropeway_mvl/mxv + .byte N06 , Dn2 , v112 + .byte W24 + .byte An1 + .byte W24 + .byte En2 + .byte W24 + .byte An1 + .byte W24 + .byte Dn2 + .byte W24 + .byte An1 + .byte W24 + .byte En2 + .byte W24 + .byte An1 + .byte W24 + .byte Fs2 + .byte W24 + .byte Cs2 + .byte W24 + .byte Gs2 + .byte W24 + .byte Cs2 + .byte W24 + .byte Fs2 + .byte W24 + .byte Cs2 + .byte W24 + .byte Gs2 + .byte W24 + .byte Cs2 + .byte W12 + .byte Bn1 + .byte W06 + .byte N03 , As1 + .byte W03 + .byte Gs1 + .byte W03 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +mus_ropeway: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_ropeway_pri @ Priority + .byte mus_ropeway_rev @ Reverb. + + .word mus_ropeway_grp + + .word mus_ropeway_1 + .word mus_ropeway_2 + .word mus_ropeway_3 + .word mus_ropeway_4 + .word mus_ropeway_5 + .word mus_ropeway_6 + .word mus_ropeway_7 + .word mus_ropeway_8 + .word mus_ropeway_9 + + .end diff --git a/sound/songs/mus_runecity.s b/sound/songs/mus_runecity.s new file mode 100644 index 0000000000..55ac7f2b68 --- /dev/null +++ b/sound/songs/mus_runecity.s @@ -0,0 +1,3151 @@ + .include "MPlayDef.s" + + .equ mus_runecity_grp, voicegroup_869107C + .equ mus_runecity_pri, 0 + .equ mus_runecity_rev, reverb_set+50 + .equ mus_runecity_mvl, 127 + .equ mus_runecity_key, 0 + .equ mus_runecity_tbs, 1 + .equ mus_runecity_exg, 0 + .equ mus_runecity_cmp, 1 + + .section .rodata + .global mus_runecity + .align 2 + +@********************** Track 1 **********************@ + +mus_runecity_1: + .byte KEYSH , mus_runecity_key+0 + .byte TEMPO , 136*mus_runecity_tbs/2 + .byte VOICE , 127 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 47*mus_runecity_mvl/mxv + .byte W12 +mus_runecity_1_B1: +mus_runecity_1_000: + .byte N02 , Gn5 , v112 + .byte W16 + .byte Gn5 , v072 + .byte W08 + .byte Gn5 , v112 + .byte W24 + .byte N02 + .byte W24 + .byte PEND +mus_runecity_1_001: + .byte N02 , Gn5 , v112 + .byte W16 + .byte Gn5 , v064 + .byte W08 + .byte Gn5 , v112 + .byte W04 + .byte Gn5 , v064 + .byte W04 + .byte N02 + .byte W08 + .byte Gn5 , v096 + .byte W08 + .byte Gn5 , v112 + .byte W08 + .byte Gn5 , v072 + .byte W08 + .byte Gn5 , v084 + .byte W08 + .byte PEND +mus_runecity_1_002: + .byte N02 , Gn5 , v112 + .byte W16 + .byte Gn5 , v072 + .byte W08 + .byte Gn5 , v112 + .byte W16 + .byte Gn5 , v064 + .byte W24 + .byte Gn5 , v060 + .byte W08 + .byte PEND + .byte PATT + .word mus_runecity_1_001 + .byte PATT + .word mus_runecity_1_000 + .byte PATT + .word mus_runecity_1_001 + .byte PATT + .word mus_runecity_1_002 + .byte PATT + .word mus_runecity_1_001 + .byte PATT + .word mus_runecity_1_000 + .byte PATT + .word mus_runecity_1_001 + .byte PATT + .word mus_runecity_1_000 + .byte PATT + .word mus_runecity_1_001 + .byte PATT + .word mus_runecity_1_000 + .byte PATT + .word mus_runecity_1_001 + .byte PATT + .word mus_runecity_1_000 + .byte PATT + .word mus_runecity_1_001 + .byte PATT + .word mus_runecity_1_000 + .byte PATT + .word mus_runecity_1_001 + .byte PATT + .word mus_runecity_1_000 + .byte PATT + .word mus_runecity_1_001 + .byte PATT + .word mus_runecity_1_000 + .byte PATT + .word mus_runecity_1_001 + .byte PATT + .word mus_runecity_1_000 + .byte PATT + .word mus_runecity_1_001 + .byte PATT + .word mus_runecity_1_000 + .byte PATT + .word mus_runecity_1_001 + .byte PATT + .word mus_runecity_1_000 + .byte PATT + .word mus_runecity_1_001 + .byte PATT + .word mus_runecity_1_000 + .byte PATT + .word mus_runecity_1_001 + .byte PATT + .word mus_runecity_1_000 + .byte PATT + .word mus_runecity_1_001 + .byte PATT + .word mus_runecity_1_000 + .byte PATT + .word mus_runecity_1_001 + .byte PATT + .word mus_runecity_1_000 + .byte PATT + .word mus_runecity_1_001 + .byte PATT + .word mus_runecity_1_000 + .byte PATT + .word mus_runecity_1_001 + .byte PATT + .word mus_runecity_1_000 + .byte PATT + .word mus_runecity_1_001 + .byte PATT + .word mus_runecity_1_001 + .byte GOTO + .word mus_runecity_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_runecity_2: + .byte KEYSH , mus_runecity_key+0 + .byte VOICE , 73 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 45*mus_runecity_mvl/mxv + .byte W02 + .byte N04 , Fs4 , v112 + .byte W04 + .byte Gs4 + .byte W02 + .byte As4 + .byte W04 +mus_runecity_2_B1: + .byte VOICE , 73 + .byte N48 , Bn4 , v112 + .byte W48 + .byte N08 , Fs4 + .byte W08 + .byte N02 , Bn4 + .byte W02 + .byte As4 + .byte W02 + .byte Gs4 + .byte W02 + .byte Fs4 + .byte W02 + .byte N04 , Bn3 + .byte W04 + .byte Bn3 , v032 + .byte W04 +mus_runecity_2_000: + .byte N60 , Gs4 , v112 + .byte W24 + .byte MOD , 7 + .byte W12 + .byte VOL , 44*mus_runecity_mvl/mxv + .byte W04 + .byte 40*mus_runecity_mvl/mxv + .byte W04 + .byte 30*mus_runecity_mvl/mxv + .byte W04 + .byte 25*mus_runecity_mvl/mxv + .byte W04 + .byte 16*mus_runecity_mvl/mxv + .byte W04 + .byte 9*mus_runecity_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 45*mus_runecity_mvl/mxv + .byte N04 , En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Gs4 + .byte W04 + .byte PEND + .byte N48 , An4 + .byte W24 + .byte MOD , 7 + .byte VOL , 44*mus_runecity_mvl/mxv + .byte W04 + .byte 40*mus_runecity_mvl/mxv + .byte W04 + .byte 30*mus_runecity_mvl/mxv + .byte W04 + .byte 25*mus_runecity_mvl/mxv + .byte W04 + .byte 16*mus_runecity_mvl/mxv + .byte W04 + .byte 9*mus_runecity_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 45*mus_runecity_mvl/mxv + .byte N04 , Bn4 + .byte W04 + .byte Bn4 , v032 + .byte W12 + .byte An4 , v112 + .byte W08 + .byte N16 + .byte W16 + .byte N04 , An4 , v032 + .byte W08 + .byte Dn4 , v112 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Gs4 , v112 + .byte W04 + .byte Gs4 , v032 + .byte W04 + .byte N08 , Fs4 , v112 + .byte W08 + .byte N16 , Gs4 + .byte W16 + .byte N04 , Dn4 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte N40 , Bn4 , v112 + .byte W24 + .byte MOD , 7 + .byte W16 + .byte 0 + .byte N08 , As4 + .byte W08 + .byte MOD , 0 + .byte N08 , Fs4 + .byte W08 + .byte N02 , Bn4 + .byte W02 + .byte As4 + .byte W02 + .byte An4 + .byte W02 + .byte Gs4 + .byte W02 + .byte N04 , Bn3 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte PATT + .word mus_runecity_2_000 + .byte N48 , An4 , v112 + .byte W24 + .byte MOD , 7 + .byte VOL , 44*mus_runecity_mvl/mxv + .byte W04 + .byte 40*mus_runecity_mvl/mxv + .byte W04 + .byte 30*mus_runecity_mvl/mxv + .byte W04 + .byte 25*mus_runecity_mvl/mxv + .byte W04 + .byte 20*mus_runecity_mvl/mxv + .byte W04 + .byte 15*mus_runecity_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 45*mus_runecity_mvl/mxv + .byte N04 , Bn4 + .byte W04 + .byte Bn4 , v032 + .byte W12 + .byte An4 , v112 + .byte W08 + .byte N16 + .byte W16 + .byte N04 , Dn4 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte N24 , Bn4 , v112 + .byte W24 + .byte VOICE , 58 + .byte VOL , 42*mus_runecity_mvl/mxv + .byte N08 , Fn3 + .byte W08 + .byte N04 , Bn3 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte Dn4 , v112 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte N02 , Fn4 , v112 + .byte W02 + .byte N44 , Fs4 + .byte W22 + .byte MOD , 6 + .byte VOL , 37*mus_runecity_mvl/mxv + .byte W04 + .byte 34*mus_runecity_mvl/mxv + .byte W04 + .byte 29*mus_runecity_mvl/mxv + .byte W04 + .byte 24*mus_runecity_mvl/mxv + .byte W04 + .byte 18*mus_runecity_mvl/mxv + .byte W04 + .byte 13*mus_runecity_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 43*mus_runecity_mvl/mxv + .byte N02 , Dn5 , v072 + .byte W02 + .byte N12 , Cs5 , v076 + .byte W12 + .byte N02 , Cn5 , v064 + .byte W02 + .byte N04 , Bn4 , v068 + .byte W08 + .byte N48 , Fs4 , v112 + .byte W24 + .byte MOD , 6 + .byte VOL , 37*mus_runecity_mvl/mxv + .byte W04 + .byte 34*mus_runecity_mvl/mxv + .byte W04 + .byte 29*mus_runecity_mvl/mxv + .byte W04 + .byte 24*mus_runecity_mvl/mxv + .byte W04 + .byte 18*mus_runecity_mvl/mxv + .byte W04 + .byte 13*mus_runecity_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 43*mus_runecity_mvl/mxv + .byte N04 , Fs3 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte Bn3 , v112 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte Dn4 , v112 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte N40 , Fs4 , v112 + .byte W24 + .byte MOD , 5 + .byte W16 + .byte 0 + .byte N04 , En4 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte N16 , Ds4 , v112 + .byte W16 + .byte N04 , Fs4 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N16 , En4 , v112 + .byte W16 + .byte N04 , Dn4 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Gs3 , v112 + .byte W04 + .byte Gs3 , v032 + .byte W12 + .byte Bn3 , v112 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte N16 , En4 , v112 + .byte W16 + .byte N04 , Bn3 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte N40 , En4 , v112 + .byte W24 + .byte MOD , 5 + .byte VOL , 40*mus_runecity_mvl/mxv + .byte W04 + .byte 33*mus_runecity_mvl/mxv + .byte W04 + .byte 26*mus_runecity_mvl/mxv + .byte W08 + .byte MOD , 0 + .byte VOL , 44*mus_runecity_mvl/mxv + .byte N04 , Fs4 + .byte W08 + .byte En4 + .byte W04 + .byte En4 , v032 + .byte W12 + .byte N08 , Bn3 , v112 + .byte W08 + .byte W08 + .byte N04 , Dn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte N02 + .byte W02 + .byte N14 , Dn4 + .byte W14 + .byte N04 , Fs4 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N08 , Bn4 , v088 + .byte W08 + .byte N02 , As4 , v084 + .byte W02 + .byte An4 , v080 + .byte W02 + .byte Gs4 , v076 + .byte W02 + .byte Gn4 + .byte W02 + .byte N08 , Fs4 , v088 + .byte W08 + .byte N40 , Dn4 , v112 + .byte W24 + .byte MOD , 6 + .byte W16 + .byte 0 + .byte N04 , En4 + .byte W04 + .byte En4 , v032 + .byte W04 + .byte N16 , Dn4 , v112 + .byte W16 + .byte N04 , Bn3 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte N02 , Cs4 , v112 + .byte W02 + .byte N22 , Dn4 + .byte W22 + .byte N24 , Cs4 + .byte W08 + .byte VOL , 40*mus_runecity_mvl/mxv + .byte W04 + .byte MOD , 5 + .byte VOL , 37*mus_runecity_mvl/mxv + .byte W04 + .byte 34*mus_runecity_mvl/mxv + .byte W04 + .byte 29*mus_runecity_mvl/mxv + .byte W04 + .byte VOICE , 1 + .byte MOD , 0 + .byte VOL , 41*mus_runecity_mvl/mxv + .byte N12 , As3 + .byte W12 + .byte VOL , 62*mus_runecity_mvl/mxv + .byte N04 , Dn4 , v080 + .byte W04 + .byte En4 , v092 + .byte W04 + .byte Fn4 , v096 + .byte W04 + .byte W02 + .byte N36 , Fs4 , v112 + .byte W36 + .byte W02 + .byte N04 , Bn3 + .byte W08 + .byte N02 , Cs5 + .byte W16 + .byte N04 , Bn4 + .byte W08 + .byte W02 + .byte N44 , Fs4 + .byte W44 + .byte W02 + .byte N04 , Fs3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Dn4 + .byte W08 + .byte W02 + .byte N36 , Fs4 + .byte W36 + .byte W02 + .byte N04 , En4 + .byte W08 + .byte Ds4 + .byte W16 + .byte Fs4 + .byte W08 + .byte W02 + .byte N16 , En4 + .byte W14 + .byte N04 , Gs3 + .byte W08 + .byte Bn3 + .byte W16 + .byte As3 + .byte W08 + .byte Bn3 + .byte W16 + .byte En4 + .byte W08 + .byte W02 + .byte N36 , Gn4 + .byte W36 + .byte W02 + .byte N04 , An4 + .byte W08 + .byte Gn4 + .byte W16 + .byte N08 , En4 + .byte W08 + .byte N04 , Fs4 + .byte W16 + .byte Dn4 + .byte W08 + .byte N16 , Fs4 + .byte W16 + .byte N04 , As4 + .byte W08 + .byte N16 , Bn4 + .byte W16 + .byte N04 , Dn5 + .byte W08 + .byte W02 + .byte N40 , Cs5 + .byte W36 + .byte W02 + .byte N04 , Gs4 + .byte W08 + .byte N16 + .byte W16 + .byte N04 , Bn4 + .byte W08 + .byte N02 , An4 + .byte W02 + .byte N22 , As4 + .byte W22 + .byte N24 , Bn4 + .byte W24 + .byte N12 , Cs5 + .byte W12 + .byte N04 , Bn4 + .byte W02 + .byte VOICE , 17 + .byte W02 + .byte N04 , An4 + .byte W04 + .byte Gn4 + .byte W04 + .byte VOL , 57*mus_runecity_mvl/mxv + .byte N56 , Fs4 + .byte W56 + .byte N04 , Gn4 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N56 , An4 , v112 + .byte W56 + .byte N04 + .byte W08 + .byte Bn4 + .byte W08 + .byte N40 , Cn5 + .byte W48 + .byte N04 + .byte W04 + .byte Cn5 , v032 + .byte W04 + .byte Bn4 , v112 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte An4 , v112 + .byte W04 + .byte An4 , v032 + .byte W04 + .byte N16 , Bn4 , v112 + .byte W16 + .byte N02 , Ds4 + .byte W08 + .byte N16 , An4 + .byte W16 + .byte N02 , Ds4 + .byte W08 + .byte N16 , Fs4 + .byte W16 + .byte N02 , Ds4 + .byte W02 + .byte En4 + .byte W02 + .byte Fn4 + .byte W02 + .byte Fs4 + .byte W02 + .byte N56 , Gn4 + .byte W56 + .byte N04 , An4 + .byte W04 + .byte An4 , v032 + .byte W04 + .byte Gn4 , v112 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N48 , Dn5 , v112 + .byte W48 + .byte N04 , Dn4 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N48 , En4 , v112 + .byte W48 + .byte N04 , Bn3 + .byte W04 + .byte Bn3 , v032 + .byte W12 + .byte Dn4 , v112 + .byte W04 + .byte Dn4 , v032 + .byte W04 + .byte N16 , Cs4 , v112 + .byte W16 + .byte N04 , En3 + .byte W04 + .byte En3 , v032 + .byte W04 + .byte N16 , Dn4 , v112 + .byte W16 + .byte N04 , Fs3 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte N12 , En4 , v112 + .byte W12 + .byte VOICE , 24 + .byte VOL , 59*mus_runecity_mvl/mxv + .byte N04 , Bn4 + .byte W04 + .byte An4 + .byte W04 + .byte Gn4 + .byte W04 + .byte N56 , Fs4 + .byte W24 + .byte MOD , 7 + .byte W32 + .byte 0 + .byte N04 , Gn4 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N56 , An4 , v112 + .byte W24 + .byte MOD , 7 + .byte W32 + .byte 0 + .byte N04 + .byte W04 + .byte An4 , v032 + .byte W04 + .byte Bn4 , v112 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte N40 , Cn5 , v112 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N04 + .byte W04 + .byte Cn5 , v032 + .byte W04 + .byte Dn5 , v112 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte En5 , v112 + .byte W04 + .byte En5 , v032 + .byte W04 + .byte N24 , Fs5 , v112 + .byte W24 + .byte En5 + .byte W24 + .byte Ds5 + .byte W24 + .byte N40 , Gn5 + .byte W24 + .byte MOD , 7 + .byte W16 + .byte 0 + .byte N04 , An5 + .byte W04 + .byte An5 , v032 + .byte W04 + .byte Gn5 , v112 + .byte W04 + .byte Gn5 , v032 + .byte W04 + .byte Fs5 , v112 + .byte W04 + .byte Fs5 , v032 + .byte W04 + .byte En5 , v112 + .byte W04 + .byte En5 , v032 + .byte W04 + .byte Dn5 , v112 + .byte W04 + .byte Dn5 , v032 + .byte W04 + .byte N40 , Fs5 , v112 + .byte W16 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N04 , Dn5 + .byte W04 + .byte Dn5 , v032 + .byte W12 + .byte Fs5 , v112 + .byte W04 + .byte Fs5 , v032 + .byte W04 + .byte N40 , En5 , v112 + .byte W24 + .byte MOD , 6 + .byte W16 + .byte 0 + .byte N04 , Bn4 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte En5 , v112 + .byte W04 + .byte En5 , v032 + .byte W12 + .byte Bn4 , v112 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte N16 , Cs4 , v112 + .byte W16 + .byte N04 , An3 + .byte W04 + .byte An3 , v032 + .byte W04 + .byte N16 , Dn4 , v112 + .byte W16 + .byte N04 , Bn3 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte N16 , En4 , v112 + .byte W16 + .byte N04 , Gs3 + .byte W04 + .byte Gs3 , v032 + .byte W04 + .byte N16 , Fs4 , v112 + .byte W16 + .byte N04 , Cs4 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte N16 , Gs4 , v112 + .byte W16 + .byte N04 , Cs4 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte N16 , As4 , v112 + .byte W16 + .byte N04 , Cs4 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte GOTO + .word mus_runecity_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_runecity_3: + .byte KEYSH , mus_runecity_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 46*mus_runecity_mvl/mxv + .byte W12 +mus_runecity_3_B1: + .byte W72 + .byte W72 + .byte W48 + .byte N16 , En5 , v112 + .byte W24 + .byte W72 + .byte W72 + .byte W72 + .byte W48 + .byte N16 + .byte W24 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte GOTO + .word mus_runecity_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_runecity_4: + .byte KEYSH , mus_runecity_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-64 + .byte VOL , 37*mus_runecity_mvl/mxv + .byte W12 +mus_runecity_4_B1: +mus_runecity_4_000: + .byte N02 , Fs2 , v112 + .byte W16 + .byte N04 , Dn3 + .byte W24 + .byte N02 , Fs2 + .byte W08 + .byte N08 , Dn3 + .byte W16 + .byte N02 , Fs2 + .byte W08 + .byte PEND +mus_runecity_4_001: + .byte N02 , Fs2 , v112 + .byte W16 + .byte N02 + .byte W08 + .byte N16 , En3 + .byte W16 + .byte N04 , Fs2 + .byte W08 + .byte Cs3 + .byte W08 + .byte As2 + .byte W08 + .byte Fs2 + .byte W08 + .byte PEND +mus_runecity_4_002: + .byte N02 , Fs2 , v112 + .byte W16 + .byte N04 , Fs3 + .byte W24 + .byte N02 , Fs2 + .byte W08 + .byte N08 , Fs3 + .byte W16 + .byte N02 , Fs2 + .byte W08 + .byte PEND + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N24 , En3 + .byte W24 + .byte N04 + .byte W08 + .byte Fs3 + .byte W08 + .byte En3 + .byte W08 + .byte PATT + .word mus_runecity_4_000 + .byte PATT + .word mus_runecity_4_001 + .byte PATT + .word mus_runecity_4_002 + .byte N02 , Fs2 , v112 + .byte W16 + .byte N02 + .byte W08 + .byte N24 , Fn3 + .byte W48 + .byte N02 , Fs2 + .byte W16 + .byte N04 , Dn3 + .byte W24 + .byte Cs3 + .byte W08 + .byte N08 , Dn3 + .byte W16 + .byte N02 , Fs2 + .byte W08 + .byte N02 + .byte W16 + .byte N04 , Cs3 + .byte W24 + .byte Cn3 + .byte W08 + .byte N08 , Cs3 + .byte W16 + .byte N02 , Fs2 + .byte W08 + .byte N02 + .byte W16 + .byte N04 , Cn3 + .byte W24 + .byte Bn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte Bn2 + .byte W08 + .byte An2 + .byte W08 +mus_runecity_4_003: + .byte N16 , Bn2 , v112 + .byte W16 + .byte N02 , Gs2 + .byte W08 + .byte N16 + .byte W16 + .byte N02 , En2 + .byte W08 + .byte N24 , Bn2 + .byte W24 + .byte PEND + .byte N02 , Gn2 + .byte W16 + .byte N04 , Bn2 + .byte W24 + .byte N04 + .byte W08 + .byte N08 + .byte W16 + .byte N02 , Fs2 + .byte W08 + .byte N02 + .byte W16 + .byte N04 , An2 + .byte W24 + .byte N04 + .byte W08 + .byte N08 + .byte W16 + .byte N02 , Fs2 + .byte W08 + .byte Fn2 + .byte W16 + .byte N04 , Gs2 + .byte W24 + .byte N04 + .byte W08 + .byte Bn2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Fn2 + .byte W08 + .byte N08 , Fs2 + .byte W08 + .byte N04 , Cs2 + .byte W08 + .byte As1 + .byte W08 + .byte N08 , Fs2 + .byte W08 + .byte N04 , Cs2 + .byte W08 + .byte As1 + .byte W08 + .byte N08 , As2 + .byte W08 + .byte N04 , Fs2 + .byte W08 + .byte Cs2 + .byte W08 + .byte N02 , Fs2 + .byte W16 + .byte N04 , Dn3 + .byte W24 + .byte Cs3 + .byte W08 + .byte N08 , Dn3 + .byte W16 + .byte N02 + .byte W08 + .byte Fs2 + .byte W16 + .byte N04 , Cs3 + .byte W24 + .byte Bn2 + .byte W08 + .byte N08 , Cs3 + .byte W16 + .byte N02 + .byte W08 + .byte Fs2 + .byte W16 + .byte N04 , Cn3 + .byte W24 + .byte Bn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte Bn2 + .byte W08 + .byte Fs2 + .byte W08 + .byte PATT + .word mus_runecity_4_003 + .byte N02 , Gn2 , v112 + .byte W16 + .byte N04 , Bn2 + .byte W24 + .byte As2 + .byte W08 + .byte N08 , Bn2 + .byte W16 + .byte N02 , Gn2 + .byte W08 + .byte N16 , Fs2 + .byte W16 + .byte N04 , Dn2 + .byte W08 + .byte N16 , Bn2 + .byte W16 + .byte N04 , Gn2 + .byte W08 + .byte N16 , Dn3 + .byte W16 + .byte N04 , Bn2 + .byte W08 + .byte N24 , Fn3 + .byte W24 + .byte N04 , Cs3 + .byte W08 + .byte Bn2 + .byte W08 + .byte As2 + .byte W08 + .byte Gs2 + .byte W08 + .byte As2 + .byte W08 + .byte Bn2 + .byte W08 + .byte N08 , Cs3 + .byte W08 + .byte N04 , As2 + .byte W08 + .byte Fs2 + .byte W08 + .byte N08 , En3 + .byte W08 + .byte N04 , Cs3 + .byte W08 + .byte As2 + .byte W08 + .byte N08 , Fs3 + .byte W08 + .byte N04 , Cs3 + .byte W08 + .byte As2 + .byte W08 + .byte N02 , An2 + .byte W16 + .byte N04 , An3 + .byte W24 + .byte Fs3 + .byte W08 + .byte N08 , An3 + .byte W16 + .byte N02 , An2 + .byte W08 + .byte Cs3 + .byte W16 + .byte N04 , En3 + .byte W24 + .byte Dn3 + .byte W08 + .byte N08 , En3 + .byte W16 + .byte N02 , Cs3 + .byte W08 + .byte Cn3 + .byte W16 + .byte N04 , En3 + .byte W24 + .byte Dn3 + .byte W08 + .byte En3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte N16 , Fs3 + .byte W16 + .byte N02 , Bn2 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte N02 , An2 + .byte W08 + .byte N24 , Bn2 + .byte W24 + .byte N02 , As2 + .byte W16 + .byte N04 , Dn3 + .byte W24 + .byte En3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Bn2 + .byte W08 + .byte N02 , Fs2 + .byte W16 + .byte N04 , An2 + .byte W24 + .byte Gs2 + .byte W08 + .byte An2 + .byte W08 + .byte Dn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte N02 , Fn2 + .byte W16 + .byte N04 , Bn2 + .byte W24 + .byte En2 + .byte W08 + .byte N04 + .byte W08 + .byte Fs2 + .byte W08 + .byte Gn2 + .byte W08 + .byte N08 , En2 + .byte W08 + .byte N04 , Cs2 + .byte W08 + .byte An1 + .byte W08 + .byte N08 , Fs2 + .byte W08 + .byte N04 , Dn2 + .byte W08 + .byte Bn1 + .byte W08 + .byte N08 , Gn2 + .byte W08 + .byte N04 , En2 + .byte W08 + .byte Cs2 + .byte W08 + .byte N02 , Fs3 + .byte W16 + .byte N04 , An3 + .byte W24 + .byte Gs3 + .byte W08 + .byte N08 , An3 + .byte W16 + .byte N02 , Fs3 + .byte W08 + .byte En3 + .byte W16 + .byte N04 , Gn3 + .byte W24 + .byte Fs3 + .byte W08 + .byte N08 , Gn3 + .byte W16 + .byte N02 , En3 + .byte W08 + .byte N02 + .byte W16 + .byte N04 , Gn3 + .byte W24 + .byte Fs3 + .byte W08 + .byte En3 + .byte W08 + .byte Fs3 + .byte W08 + .byte An3 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte N02 , Fs3 + .byte W08 + .byte N16 , Cn4 + .byte W16 + .byte N02 , Fs3 + .byte W08 + .byte N24 , Bn3 + .byte W24 + .byte N02 , Bn2 + .byte W16 + .byte N04 , As3 + .byte W24 + .byte Cn4 + .byte W08 + .byte As3 + .byte W08 + .byte An3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N02 , As2 + .byte W16 + .byte N04 , An3 + .byte W24 + .byte Bn3 + .byte W08 + .byte An3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte N16 , Gs3 + .byte W16 + .byte N04 , En3 + .byte W08 + .byte N16 + .byte W16 + .byte N04 , Bn2 + .byte W08 + .byte N16 , Bn3 + .byte W16 + .byte N04 , En3 + .byte W08 + .byte N08 + .byte W08 + .byte N04 , Cs3 + .byte W08 + .byte An2 + .byte W08 + .byte N08 , Fs3 + .byte W08 + .byte N04 , Dn3 + .byte W08 + .byte Bn2 + .byte W08 + .byte N08 , Gs3 + .byte W08 + .byte N04 , En3 + .byte W08 + .byte Bn2 + .byte W08 + .byte N08 , Fs3 + .byte W08 + .byte N04 , En3 + .byte W08 + .byte Cs3 + .byte W08 + .byte N08 , As3 + .byte W08 + .byte N04 , Fs3 + .byte W08 + .byte En3 + .byte W08 + .byte N08 , As3 + .byte W08 + .byte N04 , Fs3 + .byte W08 + .byte Cs3 + .byte W08 + .byte GOTO + .word mus_runecity_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_runecity_5: + .byte KEYSH , mus_runecity_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 37*mus_runecity_mvl/mxv + .byte W12 +mus_runecity_5_B1: +mus_runecity_5_000: + .byte N02 , Bn2 , v112 + .byte W16 + .byte N04 , Fs3 + .byte W24 + .byte N02 , Bn2 + .byte W08 + .byte N08 , Fs3 + .byte W16 + .byte N02 , Bn2 + .byte W08 + .byte PEND +mus_runecity_5_001: + .byte N02 , Bn2 , v112 + .byte W16 + .byte N02 + .byte W08 + .byte N16 , Gs3 + .byte W16 + .byte N04 , Bn2 + .byte W08 + .byte Fs3 + .byte W08 + .byte En3 + .byte W08 + .byte Cs3 + .byte W08 + .byte PEND +mus_runecity_5_002: + .byte N02 , Bn2 , v112 + .byte W16 + .byte N04 , An3 + .byte W24 + .byte N02 , Bn2 + .byte W08 + .byte N08 , An3 + .byte W16 + .byte N02 , Bn2 + .byte W08 + .byte PEND + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N24 , Gs3 + .byte W24 + .byte N04 + .byte W08 + .byte An3 + .byte W08 + .byte Gs3 + .byte W08 + .byte PATT + .word mus_runecity_5_000 + .byte PATT + .word mus_runecity_5_001 + .byte PATT + .word mus_runecity_5_002 + .byte N02 , Bn2 , v112 + .byte W16 + .byte N02 + .byte W08 + .byte N24 , Bn3 + .byte W48 + .byte N02 , Dn3 + .byte W16 + .byte N04 , Fs3 + .byte W24 + .byte Fn3 + .byte W08 + .byte N08 , Fs3 + .byte W16 + .byte N02 , Dn3 + .byte W08 + .byte Cs3 + .byte W16 + .byte N04 , Fs3 + .byte W24 + .byte Fn3 + .byte W08 + .byte N08 , Fs3 + .byte W16 + .byte N02 , Cs3 + .byte W08 + .byte Cn3 + .byte W16 + .byte N04 , Fs3 + .byte W24 + .byte Fn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte En3 + .byte W08 + .byte Dn3 + .byte W08 + .byte N16 , En3 + .byte W16 + .byte N02 , Bn2 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte N02 , Bn2 + .byte W08 + .byte N24 , En3 + .byte W24 + .byte N02 , Dn3 + .byte W16 + .byte N04 , En3 + .byte W24 + .byte Fs3 + .byte W08 + .byte N08 , En3 + .byte W16 + .byte N02 , Bn2 + .byte W08 + .byte An2 + .byte W16 + .byte N04 , Dn3 + .byte W24 + .byte Cs3 + .byte W08 + .byte N08 , Dn3 + .byte W16 + .byte N02 , An2 + .byte W08 + .byte Gs2 + .byte W16 + .byte N04 , Dn3 + .byte W24 + .byte En3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Bn2 + .byte W08 + .byte N08 , As2 + .byte W08 + .byte N04 , Fs2 + .byte W08 + .byte Cs2 + .byte W08 + .byte N08 , Bn2 + .byte W08 + .byte N04 , Fs2 + .byte W08 + .byte Cs2 + .byte W08 + .byte N08 , Cs3 + .byte W08 + .byte N04 , As2 + .byte W08 + .byte Fs2 + .byte W08 + .byte N02 , Fs3 + .byte W16 + .byte N04 , Bn3 + .byte W24 + .byte As3 + .byte W08 + .byte N08 , Bn3 + .byte W16 + .byte N02 , Fs3 + .byte W08 + .byte N02 + .byte W16 + .byte N04 , As3 + .byte W24 + .byte Gs3 + .byte W08 + .byte N08 , As3 + .byte W16 + .byte N02 , Fs3 + .byte W08 + .byte N02 + .byte W16 + .byte N04 , An3 + .byte W24 + .byte Gs3 + .byte W08 + .byte An3 + .byte W08 + .byte Gs3 + .byte W08 + .byte En3 + .byte W08 + .byte N16 , Gs3 + .byte W16 + .byte N02 , En3 + .byte W08 + .byte N16 , Gn3 + .byte W16 + .byte N02 , En3 + .byte W08 + .byte N24 , Gs3 + .byte W24 + .byte N02 , En3 + .byte W16 + .byte N04 , Gn3 + .byte W24 + .byte Fs3 + .byte W08 + .byte N08 , Gn3 + .byte W16 + .byte N02 , En3 + .byte W08 + .byte N16 , Dn3 + .byte W16 + .byte N04 , Bn2 + .byte W08 + .byte N16 , Fs3 + .byte W16 + .byte N04 , En3 + .byte W08 + .byte N16 , Bn3 + .byte W16 + .byte N04 , Fs3 + .byte W08 + .byte N24 , Cs4 + .byte W24 + .byte N04 , Bn3 + .byte W08 + .byte As3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Gs3 + .byte W08 + .byte N08 , As3 + .byte W08 + .byte N04 , Fs3 + .byte W08 + .byte Cs3 + .byte W08 + .byte N08 , Bn3 + .byte W08 + .byte N04 , Fs3 + .byte W08 + .byte Cs3 + .byte W08 + .byte N08 , Cs4 + .byte W08 + .byte N04 , As3 + .byte W08 + .byte Fs3 + .byte W08 + .byte N02 + .byte W16 + .byte N04 , Dn4 + .byte W24 + .byte Cs4 + .byte W08 + .byte N08 , Dn4 + .byte W16 + .byte N02 , Fs3 + .byte W08 + .byte An3 + .byte W16 + .byte N04 , Cs4 + .byte W24 + .byte Bn3 + .byte W08 + .byte N08 , Cs4 + .byte W16 + .byte N02 , An3 + .byte W08 + .byte Gn3 + .byte W16 + .byte N04 , Cn4 + .byte W24 + .byte Bn3 + .byte W08 + .byte Cn4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N16 , Bn3 + .byte W16 + .byte N02 , Ds3 + .byte W08 + .byte N16 , An3 + .byte W16 + .byte N02 , Ds3 + .byte W08 + .byte N24 , Fs3 + .byte W24 + .byte N02 , Cs3 + .byte W16 + .byte N04 , Gn3 + .byte W24 + .byte An3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte En3 + .byte W08 + .byte N02 , An2 + .byte W16 + .byte N04 , Fs3 + .byte W24 + .byte Fn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte An3 + .byte W08 + .byte Dn4 + .byte W08 + .byte N02 , Gs2 + .byte W16 + .byte N04 , En3 + .byte W24 + .byte Bn2 + .byte W08 + .byte N04 + .byte W08 + .byte Cs3 + .byte W08 + .byte Dn3 + .byte W08 + .byte N08 , Cs3 + .byte W08 + .byte N04 , An2 + .byte W08 + .byte En2 + .byte W08 + .byte N08 , Dn3 + .byte W08 + .byte N04 , Bn2 + .byte W08 + .byte Fs2 + .byte W08 + .byte N08 , En3 + .byte W08 + .byte N04 , Bn2 + .byte W08 + .byte Gn2 + .byte W08 + .byte N02 , Dn4 + .byte W16 + .byte N04 , Fs4 + .byte W24 + .byte Fn4 + .byte W08 + .byte N08 , Fs4 + .byte W16 + .byte N02 , Dn4 + .byte W08 + .byte Cs4 + .byte W16 + .byte N04 , En4 + .byte W24 + .byte Ds4 + .byte W08 + .byte N08 , En4 + .byte W16 + .byte N02 , Cs4 + .byte W08 + .byte Bn3 + .byte W16 + .byte N04 , En4 + .byte W24 + .byte Ds4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Dn4 + .byte W08 + .byte En4 + .byte W08 + .byte N16 , An4 + .byte W16 + .byte N02 , Ds4 + .byte W08 + .byte N16 , Gn4 + .byte W16 + .byte N02 , Ds4 + .byte W08 + .byte N24 , Fs4 + .byte W24 + .byte N02 , Fn3 + .byte W16 + .byte N04 , Gn4 + .byte W24 + .byte An4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte En4 + .byte W08 + .byte N02 , Cs3 + .byte W16 + .byte N04 , Fs4 + .byte W24 + .byte Gn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N16 , En4 + .byte W16 + .byte N04 , Bn3 + .byte W08 + .byte N16 + .byte W16 + .byte N04 , Gs3 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N04 , Gs3 + .byte W08 + .byte N08 , Cs4 + .byte W08 + .byte N04 , An3 + .byte W08 + .byte En3 + .byte W08 + .byte N08 , Dn4 + .byte W06 + .byte N04 , Bn3 + .byte W10 + .byte Fs3 + .byte W08 + .byte N08 , En4 + .byte W08 + .byte N04 , Bn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte N08 , Cs4 + .byte W08 + .byte N04 , As3 + .byte W08 + .byte Fs3 + .byte W08 + .byte N08 , En4 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte As3 + .byte W08 + .byte N08 , Fs4 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte As3 + .byte W08 + .byte GOTO + .word mus_runecity_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_runecity_6: + .byte KEYSH , mus_runecity_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 59*mus_runecity_mvl/mxv + .byte W12 +mus_runecity_6_B1: + .byte W72 +mus_runecity_6_000: + .byte W24 + .byte N04 , Fs2 , v112 + .byte W04 + .byte Fs2 , v060 + .byte W04 + .byte N04 + .byte W08 + .byte Fs2 , v064 + .byte W08 + .byte Fs2 , v112 + .byte W24 + .byte PEND + .byte W72 + .byte W72 + .byte W72 + .byte PATT + .word mus_runecity_6_000 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte W72 + .byte GOTO + .word mus_runecity_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_runecity_7: + .byte KEYSH , mus_runecity_key+0 + .byte VOICE , 82 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 58*mus_runecity_mvl/mxv + .byte N04 , Gs1 , v112 + .byte W06 + .byte Bn1 + .byte W02 + .byte Cs2 + .byte W04 +mus_runecity_7_B1: + .byte N16 , Bn1 , v112 + .byte W16 + .byte N04 , Bn2 + .byte W24 + .byte N08 , Bn1 + .byte W08 + .byte Bn2 + .byte W24 + .byte N04 , Bn1 + .byte W16 + .byte N04 + .byte W08 + .byte N16 , Bn2 + .byte W16 + .byte N04 , Bn1 + .byte W08 + .byte Fs1 + .byte W08 + .byte Gs1 + .byte W08 + .byte As1 + .byte W08 +mus_runecity_7_000: + .byte N16 , Bn1 , v112 + .byte W16 + .byte N04 , Cs3 + .byte W24 + .byte N08 , Bn1 + .byte W08 + .byte Cs3 + .byte W24 + .byte PEND + .byte N04 , Bn1 + .byte W16 + .byte N04 + .byte W08 + .byte N24 , Bn2 + .byte W24 + .byte N04 , Bn1 + .byte W08 + .byte An1 + .byte W08 + .byte Fs1 + .byte W08 + .byte N16 , Bn1 + .byte W16 + .byte N04 , Bn2 + .byte W24 + .byte Bn1 + .byte W08 + .byte N08 , Bn2 + .byte W24 + .byte N04 , Bn1 + .byte W16 + .byte N04 + .byte W08 + .byte N16 , Bn2 + .byte W24 + .byte N04 , Fs1 + .byte W08 + .byte Gs1 + .byte W08 + .byte As1 + .byte W08 + .byte PATT + .word mus_runecity_7_000 + .byte N16 , Bn1 , v112 + .byte W16 + .byte N02 , Fs1 + .byte W08 + .byte N24 , Dn3 + .byte W24 + .byte N04 , Fs1 + .byte W08 + .byte Gs1 + .byte W08 + .byte As1 + .byte W08 + .byte N16 , Bn1 + .byte W16 + .byte N02 , Bn2 + .byte W24 + .byte N04 , Bn1 + .byte W08 + .byte N08 , Bn2 + .byte W16 + .byte N02 , Dn2 + .byte W08 + .byte N16 , As1 + .byte W16 + .byte N02 , As2 + .byte W24 + .byte N04 , As1 + .byte W08 + .byte N08 , As2 + .byte W16 + .byte N02 , Dn2 + .byte W08 + .byte N16 , An1 + .byte W16 + .byte N02 , An2 + .byte W24 + .byte N04 , An1 + .byte W08 + .byte An2 + .byte W08 + .byte N02 , En2 + .byte W08 + .byte N04 , An1 + .byte W08 + .byte N16 , Gs1 + .byte W24 + .byte Bn1 + .byte W24 + .byte An1 + .byte W16 + .byte N08 , Gs1 + .byte W08 + .byte N16 , Gn1 + .byte W16 + .byte N04 , Fs1 + .byte W08 + .byte Gn1 + .byte W16 + .byte En2 + .byte W08 + .byte Cs2 + .byte W08 + .byte As1 + .byte W08 + .byte Gn1 + .byte W08 + .byte N16 , Fs1 + .byte W16 + .byte N02 , Dn2 + .byte W08 + .byte N04 , Fs1 + .byte W16 + .byte N04 + .byte W24 + .byte N02 + .byte W08 + .byte N16 , Fn1 + .byte W16 + .byte N02 , Dn2 + .byte W24 + .byte N04 , Fn1 + .byte W32 + .byte N16 , Fs1 + .byte W16 + .byte N02 , Fs2 + .byte W08 + .byte N04 , As1 + .byte W08 + .byte Fs1 + .byte W08 + .byte As1 + .byte W08 + .byte Fs2 + .byte W16 + .byte As2 + .byte W08 + .byte N16 , Bn1 + .byte W16 + .byte N02 , Bn2 + .byte W24 + .byte N04 , Bn1 + .byte W08 + .byte N16 + .byte W16 + .byte N02 , Dn2 + .byte W08 + .byte N16 , As1 + .byte W16 + .byte N02 , As2 + .byte W08 + .byte N04 , As1 + .byte W16 + .byte N02 , As2 + .byte W08 + .byte N08 , As1 + .byte W08 + .byte N04 , Bn1 + .byte W08 + .byte As1 + .byte W08 + .byte N16 , An1 + .byte W40 + .byte N04 + .byte W32 + .byte N16 , Gs1 + .byte W24 + .byte Bn1 + .byte W16 + .byte N02 , Gs1 + .byte W08 + .byte N16 , An1 + .byte W16 + .byte N04 , Gs1 + .byte W08 + .byte N16 , Gn1 + .byte W40 + .byte N04 + .byte W08 + .byte N02 , Bn1 + .byte W16 + .byte N08 , Gn1 + .byte W08 + .byte N16 , Fs1 + .byte W16 + .byte N02 , Bn1 + .byte W08 + .byte N16 , Fs1 + .byte W16 + .byte N02 , Bn1 + .byte W08 + .byte N16 , Dn2 + .byte W16 + .byte N04 , Cs2 + .byte W08 + .byte N16 , Fn1 + .byte W16 + .byte N02 , Fn2 + .byte W08 + .byte N04 , Fn1 + .byte W08 + .byte Fn2 + .byte W08 + .byte Dn2 + .byte W08 + .byte Cs2 + .byte W08 + .byte Bn1 + .byte W08 + .byte N08 , Gn1 + .byte W08 + .byte N16 , Fs1 + .byte W24 + .byte En1 + .byte W16 + .byte N04 , Fs1 + .byte W08 + .byte N12 , Cs1 + .byte W16 + .byte N08 , Cs2 + .byte W08 + .byte N16 , Dn2 + .byte W16 + .byte N02 , An1 + .byte W08 + .byte N04 , Dn2 + .byte W16 + .byte N02 , Fs2 + .byte W08 + .byte N04 , An1 + .byte W16 + .byte N08 , Dn2 + .byte W08 + .byte N16 , Cs2 + .byte W40 + .byte N04 + .byte W08 + .byte N16 , An1 + .byte W16 + .byte N08 , Cs2 + .byte W08 + .byte N16 , Cn2 + .byte W16 + .byte N02 , An1 + .byte W08 + .byte N04 , Cn2 + .byte W16 + .byte N02 , Fs2 + .byte W08 + .byte N04 , Cn2 + .byte W16 + .byte N08 , An1 + .byte W08 + .byte N16 , Bn1 + .byte W24 + .byte Cs2 + .byte W16 + .byte N04 , Bn1 + .byte W08 + .byte N16 , Ds2 + .byte W16 + .byte N08 , Bn1 + .byte W08 + .byte N16 , As1 + .byte W16 + .byte N04 , Gn1 + .byte W24 + .byte As1 + .byte W08 + .byte N02 , Gn2 + .byte W16 + .byte N08 , As1 + .byte W08 + .byte N16 , An1 + .byte W16 + .byte N02 , Dn2 + .byte W24 + .byte N04 , An1 + .byte W08 + .byte Dn2 + .byte W08 + .byte Cs2 + .byte W08 + .byte N08 , An1 + .byte W08 + .byte N16 , Gs1 + .byte W40 + .byte N04 + .byte W24 + .byte N08 + .byte W08 + .byte N16 , An1 + .byte W16 + .byte N02 , Bn1 + .byte W08 + .byte N16 , Gn1 + .byte W16 + .byte N02 , An1 + .byte W08 + .byte N16 , En1 + .byte W16 + .byte N08 , Cs2 + .byte W08 + .byte N16 , Dn2 + .byte W16 + .byte N02 , An2 + .byte W24 + .byte N04 , Dn2 + .byte W08 + .byte N06 + .byte W08 + .byte N02 , Fs2 + .byte W08 + .byte N08 , Dn2 + .byte W08 + .byte N16 , Cs2 + .byte W16 + .byte N04 , An1 + .byte W08 + .byte Dn2 + .byte W16 + .byte Bn1 + .byte W08 + .byte En2 + .byte W08 + .byte Dn2 + .byte W08 + .byte N08 , Cs2 + .byte W08 + .byte N16 , Cn2 + .byte W40 + .byte N04 + .byte W32 + .byte N16 , Bn1 + .byte W16 + .byte N04 , Fs1 + .byte W08 + .byte N16 , Cs2 + .byte W16 + .byte N04 , Bn1 + .byte W08 + .byte N16 , Ds2 + .byte W16 + .byte N08 , Bn1 + .byte W08 + .byte N16 , As1 + .byte W16 + .byte N02 , Gn2 + .byte W08 + .byte N04 , As1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Bn1 + .byte W08 + .byte N04 , As1 + .byte W08 + .byte N16 , An1 + .byte W24 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N16 , Dn2 + .byte W16 + .byte N08 , Cs2 + .byte W08 + .byte N16 , Gs1 + .byte W16 + .byte N04 , Bn1 + .byte W08 + .byte Dn2 + .byte W16 + .byte Bn1 + .byte W08 + .byte N16 , Gs1 + .byte W16 + .byte N02 , Bn1 + .byte W08 + .byte N16 , An1 + .byte W24 + .byte N04 + .byte W16 + .byte N02 , An2 + .byte W08 + .byte N04 , An1 + .byte W08 + .byte Gs1 + .byte W08 + .byte Gn1 + .byte W08 + .byte N16 , Fs1 + .byte W16 + .byte N02 , Fs2 + .byte W08 + .byte N04 , Fs1 + .byte W16 + .byte N02 , Fs2 + .byte W08 + .byte N06 , Fs1 + .byte W08 + .byte N04 , En1 + .byte W08 + .byte Cs1 + .byte W08 + .byte GOTO + .word mus_runecity_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_runecity_8: + .byte KEYSH , mus_runecity_key+0 + .byte VOICE , 73 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 45*mus_runecity_mvl/mxv + .byte PAN , c_v-19 + .byte N04 , Bn3 , v112 + .byte W04 + .byte Cn4 + .byte W04 + .byte Cs4 + .byte W04 +mus_runecity_8_B1: + .byte VOICE , 73 + .byte N48 , Dn4 , v112 + .byte W48 + .byte N10 , Bn3 + .byte W16 + .byte N04 , Fs3 + .byte W08 + .byte N60 , En4 + .byte W24 + .byte MOD , 7 + .byte W12 + .byte VOL , 44*mus_runecity_mvl/mxv + .byte W04 + .byte 40*mus_runecity_mvl/mxv + .byte W04 + .byte 30*mus_runecity_mvl/mxv + .byte W04 + .byte 25*mus_runecity_mvl/mxv + .byte W04 + .byte 16*mus_runecity_mvl/mxv + .byte W04 + .byte 9*mus_runecity_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 45*mus_runecity_mvl/mxv + .byte N04 , As3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cn4 + .byte W04 + .byte N48 , Cs4 + .byte W24 + .byte MOD , 7 + .byte VOL , 44*mus_runecity_mvl/mxv + .byte W04 + .byte 40*mus_runecity_mvl/mxv + .byte W04 + .byte 30*mus_runecity_mvl/mxv + .byte W04 + .byte 25*mus_runecity_mvl/mxv + .byte W04 + .byte 16*mus_runecity_mvl/mxv + .byte W04 + .byte 9*mus_runecity_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 45*mus_runecity_mvl/mxv + .byte N04 , Dn4 + .byte W16 + .byte Cs4 + .byte W08 + .byte N16 , En4 + .byte W24 + .byte N04 , Bn3 + .byte W08 + .byte Dn4 + .byte W08 + .byte N08 , Bn3 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N04 , Fs3 + .byte W08 + .byte N40 , Dn4 + .byte W24 + .byte MOD , 7 + .byte W16 + .byte 0 + .byte N08 , Cs4 + .byte W08 + .byte MOD , 0 + .byte N08 , Bn3 + .byte W16 + .byte N04 , Fs3 + .byte W08 + .byte N40 , En4 + .byte W24 + .byte MOD , 7 + .byte W12 + .byte VOL , 44*mus_runecity_mvl/mxv + .byte W04 + .byte 40*mus_runecity_mvl/mxv + .byte N08 , Dn4 + .byte W04 + .byte VOL , 30*mus_runecity_mvl/mxv + .byte W04 + .byte 25*mus_runecity_mvl/mxv + .byte N12 , Cs4 + .byte W04 + .byte VOL , 16*mus_runecity_mvl/mxv + .byte W04 + .byte 9*mus_runecity_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 45*mus_runecity_mvl/mxv + .byte N04 , An3 + .byte W04 + .byte As3 + .byte W04 + .byte Bn3 + .byte W04 + .byte N40 , Cs4 + .byte W24 + .byte MOD , 7 + .byte VOL , 44*mus_runecity_mvl/mxv + .byte W04 + .byte 40*mus_runecity_mvl/mxv + .byte W04 + .byte 30*mus_runecity_mvl/mxv + .byte W04 + .byte 25*mus_runecity_mvl/mxv + .byte W04 + .byte 45*mus_runecity_mvl/mxv + .byte MOD , 0 + .byte N08 , Bn3 + .byte W08 + .byte MOD , 0 + .byte N04 , Dn4 + .byte W16 + .byte Cs4 + .byte W08 + .byte W24 + .byte N24 , Dn4 + .byte W24 + .byte VOICE , 13 + .byte VOL , 39*mus_runecity_mvl/mxv + .byte N08 , Fn3 , v088 + .byte W08 + .byte N04 , Bn3 , v096 + .byte W08 + .byte Dn4 , v104 + .byte W08 + .byte W02 + .byte N02 , Fs4 , v048 + .byte W02 + .byte N04 , Bn3 + .byte W04 + .byte Fs4 , v052 + .byte W04 + .byte Bn3 , v056 + .byte W04 + .byte Fs4 + .byte W04 + .byte Bn3 , v060 + .byte W04 + .byte Fs4 , v064 + .byte W04 + .byte Bn3 , v068 + .byte W04 + .byte Fs4 , v072 + .byte W04 + .byte Bn3 , v080 + .byte W04 + .byte Fs4 , v084 + .byte W04 + .byte Bn3 , v092 + .byte W04 + .byte Fs4 , v096 + .byte W04 + .byte Bn3 + .byte W04 + .byte Fs4 , v104 + .byte W04 + .byte Bn3 + .byte W04 + .byte Fs4 , v108 + .byte W04 + .byte Bn3 , v112 + .byte W04 + .byte Fs4 + .byte W04 + .byte As3 , v108 + .byte W04 + .byte Fs4 , v104 + .byte W04 + .byte As3 + .byte W04 + .byte Fs4 , v096 + .byte W04 + .byte As3 + .byte W04 + .byte Fs4 , v092 + .byte W04 + .byte As3 , v088 + .byte W04 + .byte Fs4 , v084 + .byte W04 + .byte As3 , v080 + .byte W04 + .byte Fs4 , v076 + .byte W04 + .byte As3 , v068 + .byte W04 + .byte Fs4 , v064 + .byte W04 + .byte As3 , v060 + .byte W04 + .byte Fs4 , v056 + .byte W04 + .byte As3 , v048 + .byte W04 + .byte Fs4 , v044 + .byte W04 + .byte As3 , v036 + .byte W04 + .byte Fs4 , v048 + .byte W04 + .byte An3 + .byte W04 + .byte Fs4 , v052 + .byte W04 + .byte An3 , v056 + .byte W04 + .byte Fs4 + .byte W04 + .byte An3 , v060 + .byte W04 + .byte Fs4 , v064 + .byte W04 + .byte An3 , v068 + .byte W04 + .byte Fs4 , v072 + .byte W04 + .byte An3 , v080 + .byte W04 + .byte Fs4 , v084 + .byte W04 + .byte An3 , v092 + .byte W04 + .byte Fs4 , v096 + .byte W04 + .byte An3 + .byte W04 + .byte Fs4 , v104 + .byte W04 + .byte An3 + .byte W04 + .byte Fs4 , v108 + .byte W04 + .byte An3 , v112 + .byte W04 + .byte En4 + .byte W04 + .byte Gs3 , v108 + .byte W04 + .byte En4 , v104 + .byte W04 + .byte Gs3 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte Gs3 + .byte W04 + .byte En4 , v092 + .byte W04 + .byte Gs3 , v088 + .byte W04 + .byte En4 , v084 + .byte W04 + .byte Gs3 , v080 + .byte W04 + .byte En4 , v076 + .byte W04 + .byte Gs3 , v068 + .byte W04 + .byte En4 , v064 + .byte W04 + .byte Gs3 , v060 + .byte W04 + .byte En4 , v056 + .byte W04 + .byte Gs3 , v048 + .byte W04 + .byte En4 , v044 + .byte W04 + .byte Gs3 , v036 + .byte W04 + .byte En4 , v048 + .byte W04 + .byte Gn3 + .byte W04 + .byte En4 , v052 + .byte W04 + .byte Gn3 , v056 + .byte W04 + .byte En4 + .byte W04 + .byte Gn3 , v060 + .byte W04 + .byte En4 , v064 + .byte W04 + .byte Gn3 , v068 + .byte W04 + .byte En4 , v072 + .byte W04 + .byte Gn3 , v080 + .byte W04 + .byte En4 , v084 + .byte W04 + .byte Gn3 , v092 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte Gn3 + .byte W04 + .byte En4 , v104 + .byte W04 + .byte Gn3 + .byte W04 + .byte En4 , v108 + .byte W04 + .byte Gn3 , v112 + .byte W04 + .byte Dn4 + .byte W04 + .byte An3 , v108 + .byte W04 + .byte Dn4 , v104 + .byte W04 + .byte An3 + .byte W04 + .byte Dn4 , v096 + .byte W04 + .byte An3 + .byte W04 + .byte Dn4 , v092 + .byte W04 + .byte An3 , v088 + .byte W04 + .byte Dn4 , v084 + .byte W04 + .byte An3 , v080 + .byte W04 + .byte Dn4 , v076 + .byte W04 + .byte An3 , v068 + .byte W04 + .byte Dn4 , v064 + .byte W04 + .byte An3 , v060 + .byte W04 + .byte Dn4 , v056 + .byte W04 + .byte An3 , v048 + .byte W04 + .byte Dn4 , v044 + .byte W04 + .byte An3 , v036 + .byte W04 + .byte Dn4 , v048 + .byte W04 + .byte Gs3 + .byte W04 + .byte Dn4 , v052 + .byte W04 + .byte Gs3 , v056 + .byte W04 + .byte Dn4 + .byte W04 + .byte Gs3 , v060 + .byte W04 + .byte Dn4 , v064 + .byte W04 + .byte Gs3 , v068 + .byte W04 + .byte Dn4 , v072 + .byte W04 + .byte Gs3 , v080 + .byte W04 + .byte Dn4 , v084 + .byte W04 + .byte Gs3 , v092 + .byte W04 + .byte Dn4 , v096 + .byte W04 + .byte Gs3 + .byte W04 + .byte Dn4 , v104 + .byte W04 + .byte Gs3 + .byte W04 + .byte Dn4 , v108 + .byte W04 + .byte Gs3 , v112 + .byte W04 + .byte Fs4 + .byte W04 + .byte As3 , v108 + .byte W04 + .byte Fs4 , v104 + .byte W04 + .byte As3 + .byte W04 + .byte Fs4 , v096 + .byte W04 + .byte As3 + .byte W04 + .byte Fs4 , v092 + .byte W04 + .byte As3 , v088 + .byte W04 + .byte Fs4 , v084 + .byte W04 + .byte As3 , v080 + .byte W04 + .byte Fs4 , v076 + .byte W04 + .byte As3 , v068 + .byte W04 + .byte VOICE , 1 + .byte N04 , Fs4 , v064 + .byte W04 + .byte As3 , v060 + .byte W04 + .byte Fs4 , v056 + .byte W04 + .byte As3 , v048 + .byte W04 + .byte Fs4 , v044 + .byte W04 + .byte As3 , v036 + .byte W04 + .byte VOL , 44*mus_runecity_mvl/mxv + .byte N16 , Bn3 , v112 + .byte W16 + .byte N04 , Fs3 + .byte W08 + .byte Bn2 + .byte W08 + .byte As2 + .byte W08 + .byte Bn2 + .byte W08 + .byte N02 , Bn4 + .byte W10 + .byte N04 , Dn3 + .byte W06 + .byte Fs4 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N04 , As3 + .byte W08 + .byte N06 , Dn3 + .byte W08 + .byte N04 , Cs3 + .byte W08 + .byte Bn2 + .byte W08 + .byte N16 , As3 + .byte W16 + .byte N04 , Fs3 + .byte W08 + .byte N14 , An3 + .byte W16 + .byte N04 , Fs3 + .byte W32 + .byte Bn3 + .byte W16 + .byte Gs3 + .byte W08 + .byte N16 + .byte W16 + .byte N02 , En3 + .byte W08 + .byte N04 , Dn3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Bn2 + .byte W08 + .byte Cs3 + .byte W08 + .byte Dn3 + .byte W08 + .byte En3 + .byte W08 + .byte N16 , Dn4 + .byte W16 + .byte N04 , Bn3 + .byte W08 + .byte Bn2 + .byte W16 + .byte As2 + .byte W08 + .byte Dn3 + .byte W16 + .byte Bn2 + .byte W08 + .byte Bn3 + .byte W16 + .byte Fs3 + .byte W08 + .byte N16 , Bn3 + .byte W16 + .byte N04 , Dn4 + .byte W08 + .byte N16 , Fn4 + .byte W16 + .byte N04 , Gs4 + .byte W08 + .byte N16 + .byte W16 + .byte N04 , Cs4 + .byte W08 + .byte N16 , Fn4 + .byte W16 + .byte N04 , Bn3 + .byte W08 + .byte N16 , Cs4 + .byte W16 + .byte N04 , Gs3 + .byte W08 + .byte N02 , Fn4 + .byte W02 + .byte N22 , Fs4 + .byte W22 + .byte N24 , Gs4 + .byte W24 + .byte N12 , As4 + .byte W12 + .byte VOICE , 17 + .byte W12 + .byte N04 , An4 + .byte W10 + .byte An3 + .byte W06 + .byte Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte En4 + .byte W08 + .byte Fs4 + .byte W08 + .byte An4 + .byte W08 + .byte Bn4 + .byte W08 + .byte N16 , Cs5 + .byte W16 + .byte N04 , Bn4 + .byte W08 + .byte N16 , An4 + .byte W16 + .byte N04 , Gn4 + .byte W08 + .byte N16 , Fs4 + .byte W16 + .byte N04 , En4 + .byte W08 + .byte N16 , An4 + .byte W16 + .byte N04 , Bn4 + .byte W08 + .byte N16 , An4 + .byte W16 + .byte N04 , Fs4 + .byte W08 + .byte N16 , Gn4 + .byte W16 + .byte N04 , En4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte En4 + .byte W08 + .byte Fs4 + .byte W08 + .byte En4 + .byte W08 + .byte Ds4 + .byte W08 + .byte En4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N16 , Cs4 + .byte W16 + .byte N04 , Dn4 + .byte W08 + .byte N16 , En4 + .byte W16 + .byte N04 , Dn4 + .byte W08 + .byte N16 , Cs4 + .byte W16 + .byte N08 , An3 + .byte W08 + .byte N04 , Dn4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte En4 + .byte W08 + .byte Fs4 + .byte W08 + .byte En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N40 , Bn3 + .byte W40 + .byte N08 , Dn4 + .byte W08 + .byte N04 , Gn3 + .byte W16 + .byte An3 + .byte W08 + .byte N04 + .byte W08 + .byte Gs3 + .byte W08 + .byte An3 + .byte W08 + .byte Bn3 + .byte W08 + .byte As3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Cs4 + .byte W06 + .byte N56 , Dn4 + .byte W02 + .byte W56 + .byte N04 , En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N20 , Cs4 + .byte W20 + .byte N04 , Dn4 + .byte W04 + .byte N24 , Cn4 + .byte W24 + .byte Bn3 + .byte W24 + .byte N40 , An3 + .byte W40 + .byte N04 , Fs3 + .byte W08 + .byte An3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte En4 + .byte W08 + .byte Fs4 + .byte W08 + .byte En4 + .byte W08 + .byte Ds4 + .byte W08 + .byte En4 + .byte W08 + .byte Ds4 + .byte W08 + .byte An3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Dn4 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte N16 , Gn4 + .byte W16 + .byte N04 , Fs4 + .byte W08 + .byte Gn4 + .byte W16 + .byte En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N40 , Dn5 + .byte W40 + .byte N04 , An4 + .byte W16 + .byte Dn5 + .byte W08 + .byte N40 , Bn4 + .byte W40 + .byte N04 , An4 + .byte W08 + .byte Gs4 + .byte W16 + .byte Bn4 + .byte W08 + .byte N16 , An3 + .byte W24 + .byte Bn3 + .byte W24 + .byte Cs4 + .byte W24 + .byte N16 + .byte W24 + .byte En4 + .byte W24 + .byte N04 , Cs4 + .byte W04 + .byte En4 + .byte W04 + .byte Fs4 + .byte W04 + .byte As4 + .byte W04 + .byte Cs5 + .byte W04 + .byte Fs5 + .byte W04 + .byte GOTO + .word mus_runecity_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_runecity: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_runecity_pri @ Priority + .byte mus_runecity_rev @ Reverb. + + .word mus_runecity_grp + + .word mus_runecity_1 + .word mus_runecity_2 + .word mus_runecity_3 + .word mus_runecity_4 + .word mus_runecity_5 + .word mus_runecity_6 + .word mus_runecity_7 + .word mus_runecity_8 + + .end diff --git a/sound/songs/mus_safari.s b/sound/songs/mus_safari.s new file mode 100644 index 0000000000..21864ddca6 --- /dev/null +++ b/sound/songs/mus_safari.s @@ -0,0 +1,1246 @@ + .include "MPlayDef.s" + + .equ mus_safari_grp, voicegroup_868B274 + .equ mus_safari_pri, 0 + .equ mus_safari_rev, reverb_set+50 + .equ mus_safari_mvl, 127 + .equ mus_safari_key, 0 + .equ mus_safari_tbs, 1 + .equ mus_safari_exg, 0 + .equ mus_safari_cmp, 1 + + .section .rodata + .global mus_safari + .align 2 + +@********************** Track 1 **********************@ + +mus_safari_1: + .byte KEYSH , mus_safari_key+0 + .byte TEMPO , 142*mus_safari_tbs/2 + .byte VOICE , 127 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 30*mus_safari_mvl/mxv + .byte W12 +mus_safari_1_B1: +mus_safari_1_000: + .byte W12 + .byte N03 , En5 , v104 + .byte W06 + .byte En5 , v080 + .byte W18 + .byte En5 , v104 + .byte W06 + .byte En5 , v080 + .byte W18 + .byte En5 , v104 + .byte W06 + .byte En5 , v080 + .byte W18 + .byte En5 , v104 + .byte W06 + .byte En5 , v080 + .byte W06 + .byte PEND + .byte PATT + .word mus_safari_1_000 + .byte PATT + .word mus_safari_1_000 + .byte PATT + .word mus_safari_1_000 + .byte PATT + .word mus_safari_1_000 + .byte PATT + .word mus_safari_1_000 + .byte PATT + .word mus_safari_1_000 + .byte PATT + .word mus_safari_1_000 + .byte PATT + .word mus_safari_1_000 + .byte PATT + .word mus_safari_1_000 + .byte PATT + .word mus_safari_1_000 + .byte PATT + .word mus_safari_1_000 + .byte GOTO + .word mus_safari_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_safari_2: + .byte KEYSH , mus_safari_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 32*mus_safari_mvl/mxv + .byte W12 +mus_safari_2_B1: +mus_safari_2_000: + .byte N12 , Gn5 , v112 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_safari_2_000 + .byte PATT + .word mus_safari_2_000 + .byte PATT + .word mus_safari_2_000 + .byte PATT + .word mus_safari_2_000 + .byte PATT + .word mus_safari_2_000 + .byte PATT + .word mus_safari_2_000 + .byte PATT + .word mus_safari_2_000 + .byte PATT + .word mus_safari_2_000 + .byte PATT + .word mus_safari_2_000 + .byte PATT + .word mus_safari_2_000 + .byte PATT + .word mus_safari_2_000 + .byte GOTO + .word mus_safari_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_safari_3: + .byte KEYSH , mus_safari_key+0 + .byte VOICE , 35 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 82*mus_safari_mvl/mxv + .byte W12 +mus_safari_3_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v-24 + .byte W12 + .byte N06 , Fn0 , v127 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , As0 + .byte W24 + .byte N12 + .byte W24 +mus_safari_3_000: + .byte BEND , c_v+0 + .byte W36 + .byte N06 , Fn0 , v127 + .byte W12 + .byte En0 + .byte W12 + .byte Fn0 + .byte W12 + .byte N24 + .byte W06 + .byte BEND , c_v+12 + .byte W06 + .byte c_v+0 + .byte W12 + .byte PEND +mus_safari_3_001: + .byte W12 + .byte N06 , Fn0 , v127 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , As0 + .byte W24 + .byte N12 + .byte W24 + .byte PEND + .byte W36 + .byte N06 , Fn0 + .byte W12 + .byte En0 + .byte W12 + .byte Fn0 + .byte W12 + .byte N24 , As0 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte W12 + .byte PATT + .word mus_safari_3_001 + .byte PATT + .word mus_safari_3_000 + .byte PATT + .word mus_safari_3_001 + .byte W36 + .byte N06 , Fn0 , v127 + .byte W12 + .byte En0 + .byte W12 + .byte Fn0 + .byte W12 + .byte N24 + .byte W06 + .byte BEND , c_v+10 + .byte W06 + .byte c_v+0 + .byte W12 + .byte GOTO + .word mus_safari_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_safari_4: + .byte KEYSH , mus_safari_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 69*mus_safari_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Fn1 , v112 + .byte W06 + .byte N03 , Ds1 + .byte W03 + .byte En1 + .byte W03 +mus_safari_4_B1: + .byte PAN , c_v-21 + .byte BEND , c_v+0 + .byte N06 , Fn1 , v112 + .byte W12 + .byte N12 + .byte W18 + .byte Fn1 , v076 + .byte W18 + .byte PAN , c_v+7 + .byte N06 , As2 + .byte W12 + .byte BEND , c_v+0 + .byte W06 + .byte N06 , As2 , v072 + .byte W06 + .byte PAN , c_v-21 + .byte W12 + .byte N06 , As2 , v112 + .byte W12 + .byte PAN , c_v+6 + .byte N06 + .byte W12 + .byte PAN , c_v-22 + .byte BEND , c_v-62 + .byte N36 , Cn2 + .byte W12 + .byte BEND , c_v-55 + .byte W02 + .byte c_v-43 + .byte W03 + .byte c_v-32 + .byte W03 + .byte c_v-19 + .byte W04 + .byte c_v+18 + .byte W02 + .byte c_v+32 + .byte W03 + .byte c_v+41 + .byte W03 + .byte c_v+48 + .byte W04 + .byte PAN , c_v+5 + .byte BEND , c_v+0 + .byte N06 , Fn2 + .byte W30 + .byte N03 , As2 , v092 + .byte W06 + .byte As2 , v088 + .byte W03 + .byte PAN , c_v-21 + .byte W03 + .byte N03 , Fn1 , v112 + .byte W06 + .byte N06 + .byte W12 + .byte PAN , c_v+5 + .byte N12 , Fn2 , v076 + .byte W12 + .byte PAN , c_v-22 + .byte W06 + .byte N12 , Fn1 , v112 + .byte W18 + .byte PAN , c_v+6 + .byte N06 , As2 , v076 + .byte W15 + .byte PAN , c_v-23 + .byte W03 + .byte N06 , Fn2 , v108 + .byte W12 + .byte Fn2 , v112 + .byte W06 + .byte PAN , c_v+5 + .byte N06 , As2 + .byte W12 + .byte PAN , c_v-23 + .byte N06 , As1 + .byte W12 + .byte N24 , Fn1 + .byte W36 + .byte PAN , c_v+5 + .byte BEND , c_v-62 + .byte N48 , Fn2 + .byte W12 + .byte BEND , c_v-55 + .byte W02 + .byte c_v-43 + .byte W03 + .byte c_v-32 + .byte W03 + .byte c_v-19 + .byte W04 + .byte c_v+18 + .byte W02 + .byte c_v+32 + .byte W03 + .byte c_v+41 + .byte W03 + .byte c_v+48 + .byte W04 + .byte c_v+58 + .byte W02 + .byte c_v+63 + .byte W03 + .byte c_v+24 + .byte W03 + .byte c_v+62 + .byte W04 + .byte PAN , c_v-21 + .byte BEND , c_v+0 + .byte N06 , Fn1 + .byte W12 + .byte N12 , Cn1 + .byte W18 + .byte N06 , Fn1 , v104 + .byte W12 + .byte Fn2 , v080 + .byte W06 + .byte PAN , c_v+6 + .byte N06 , As2 , v076 + .byte W18 + .byte As2 , v072 + .byte W06 + .byte PAN , c_v-21 + .byte W12 + .byte N06 , As2 , v112 + .byte W12 + .byte PAN , c_v+6 + .byte N06 , Cn3 + .byte W12 + .byte PAN , c_v-22 + .byte N06 , As2 + .byte W24 + .byte Fn2 + .byte W06 + .byte Fn3 + .byte W06 + .byte PAN , c_v+7 + .byte N06 , As1 , v092 + .byte W06 + .byte As1 , v100 + .byte W06 + .byte N18 , Fn1 , v072 + .byte W18 + .byte N03 , As2 , v092 + .byte W06 + .byte As2 , v088 + .byte W03 + .byte PAN , c_v-21 + .byte W03 + .byte N06 , Fn1 , v112 + .byte W06 + .byte An1 + .byte W12 + .byte PAN , c_v+7 + .byte N12 + .byte W12 + .byte PAN , c_v-22 + .byte W06 + .byte N12 + .byte W18 + .byte PAN , c_v+6 + .byte N06 , An2 , v076 + .byte W15 + .byte PAN , c_v-23 + .byte W03 + .byte N06 , Fn2 , v108 + .byte W12 + .byte Fn2 , v112 + .byte W06 + .byte PAN , c_v+6 + .byte N06 , As2 + .byte W12 + .byte PAN , c_v-23 + .byte N06 , An1 + .byte W12 + .byte N24 , Fn1 + .byte W36 + .byte PAN , c_v+6 + .byte BEND , c_v-62 + .byte N36 , Fn2 + .byte W12 + .byte BEND , c_v-55 + .byte W02 + .byte c_v-43 + .byte W03 + .byte c_v-32 + .byte W03 + .byte c_v-19 + .byte W04 + .byte c_v+18 + .byte W02 + .byte c_v+32 + .byte W03 + .byte c_v+41 + .byte W03 + .byte c_v+48 + .byte W01 + .byte c_v+63 + .byte W03 + .byte c_v+0 + .byte N06 + .byte W12 + .byte PAN , c_v-21 + .byte N06 , As1 + .byte W12 + .byte N12 , Fn1 + .byte W18 + .byte N06 , As1 , v104 + .byte W12 + .byte Fn2 , v080 + .byte W06 + .byte PAN , c_v+6 + .byte N06 , As2 , v076 + .byte W18 + .byte As2 , v072 + .byte W06 + .byte PAN , c_v-21 + .byte W12 + .byte N06 , As2 , v112 + .byte W12 + .byte PAN , c_v+6 + .byte N06 , Cn3 + .byte W12 + .byte PAN , c_v-22 + .byte N06 , As2 + .byte W24 + .byte Fn2 + .byte W06 + .byte Fn3 + .byte W06 + .byte PAN , c_v+5 + .byte N06 , As1 , v092 + .byte W06 + .byte As1 , v100 + .byte W06 + .byte N18 , Fn1 , v072 + .byte W18 + .byte N03 , As2 , v092 + .byte W06 + .byte As2 , v088 + .byte W03 + .byte PAN , c_v-21 + .byte W03 + .byte N06 , Fn1 , v112 + .byte W06 + .byte As1 + .byte W12 + .byte PAN , c_v+5 + .byte N12 + .byte W12 + .byte PAN , c_v-22 + .byte W06 + .byte N12 + .byte W18 + .byte PAN , c_v+5 + .byte N06 , As2 , v076 + .byte W15 + .byte PAN , c_v-23 + .byte W03 + .byte N06 , Fn2 , v108 + .byte W12 + .byte Fn2 , v112 + .byte W06 + .byte PAN , c_v+5 + .byte N06 , As2 + .byte W12 + .byte PAN , c_v-23 + .byte N06 , As1 + .byte W12 + .byte N24 , Fn1 + .byte W36 + .byte PAN , c_v+6 + .byte BEND , c_v-62 + .byte N48 , En2 + .byte W12 + .byte BEND , c_v-55 + .byte W02 + .byte c_v-43 + .byte W03 + .byte c_v-32 + .byte W03 + .byte c_v-19 + .byte W04 + .byte c_v+18 + .byte W02 + .byte c_v+32 + .byte W03 + .byte c_v+41 + .byte W03 + .byte c_v+48 + .byte W04 + .byte c_v+58 + .byte W02 + .byte c_v+63 + .byte W03 + .byte c_v+24 + .byte W03 + .byte c_v+62 + .byte W04 + .byte GOTO + .word mus_safari_4_B1 + .byte BEND , c_v+0 + .byte FINE + +@********************** Track 5 **********************@ + +mus_safari_5: + .byte KEYSH , mus_safari_key+0 + .byte VOICE , 13 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-28 + .byte VOL , 24*mus_safari_mvl/mxv + .byte W12 +mus_safari_5_B1: + .byte W12 + .byte N03 , Fn5 , v112 + .byte W12 + .byte Fn5 , v080 + .byte W24 + .byte Fn5 , v104 + .byte W18 + .byte Fn5 , v080 + .byte W18 + .byte Fn5 , v120 + .byte W12 + .byte W12 + .byte Fn5 , v112 + .byte W12 + .byte Fn5 , v080 + .byte W18 + .byte Fn5 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte Fn5 , v112 + .byte W18 + .byte Fn5 , v084 + .byte W18 + .byte Fn5 , v112 + .byte W12 + .byte W06 + .byte Fn5 , v060 + .byte W03 + .byte Fn5 , v048 + .byte W03 + .byte Fn5 , v112 + .byte W12 + .byte Fn5 , v080 + .byte W24 + .byte Fn5 , v104 + .byte W18 + .byte Fn5 , v080 + .byte W12 + .byte Fn5 , v064 + .byte W03 + .byte En5 , v048 + .byte W03 + .byte Fn5 , v120 + .byte W12 + .byte Fn5 , v064 + .byte W03 + .byte Fn5 , v048 + .byte W03 + .byte Fn5 , v088 + .byte W06 + .byte Fn5 , v120 + .byte W12 + .byte Fn5 , v080 + .byte W18 + .byte Fn5 , v052 + .byte W03 + .byte En5 + .byte W03 + .byte Fn5 , v112 + .byte W18 + .byte Fn5 , v084 + .byte W18 + .byte Fn5 , v112 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_safari_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_safari_6: + .byte KEYSH , mus_safari_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-61 + .byte VOL , 44*mus_safari_mvl/mxv + .byte W12 +mus_safari_6_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N03 , Gn2 , v112 + .byte W03 + .byte As2 + .byte W03 + .byte Ds3 + .byte W03 + .byte Gn3 + .byte W03 +mus_safari_6_000: + .byte N60 , As3 , v112 + .byte W24 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte N03 , An3 + .byte W24 + .byte Gn3 + .byte W12 + .byte PEND + .byte N03 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte VOICE , 84 + .byte W12 + .byte N03 , As2 + .byte W03 + .byte An2 + .byte W03 + .byte Gn2 + .byte W03 + .byte Fs2 + .byte W03 + .byte PAN , c_v-1 + .byte N48 , Fn2 + .byte W24 + .byte MOD , 6 + .byte W24 +mus_safari_6_001: + .byte VOICE , 80 + .byte MOD , 0 + .byte PAN , c_v-64 + .byte N03 , Cn4 , v112 + .byte W12 + .byte N03 + .byte W18 + .byte N03 + .byte W03 + .byte Bn3 , v072 + .byte W03 + .byte Cn4 , v092 + .byte W06 + .byte Bn3 , v080 + .byte W06 + .byte N06 , Cn4 , v112 + .byte W18 + .byte N03 + .byte W12 + .byte N03 + .byte W03 + .byte Bn3 , v064 + .byte W03 + .byte Cn4 , v092 + .byte W06 + .byte Cn4 , v072 + .byte W06 + .byte PEND +mus_safari_6_002: + .byte N03 , As3 , v112 + .byte W12 + .byte N03 + .byte W18 + .byte N03 + .byte W03 + .byte An3 , v072 + .byte W03 + .byte As3 , v092 + .byte W06 + .byte An3 , v080 + .byte W06 + .byte N06 , As3 , v112 + .byte W18 + .byte N03 + .byte W12 + .byte N03 + .byte W03 + .byte An3 , v064 + .byte W03 + .byte As3 , v092 + .byte W06 + .byte As3 , v072 + .byte W06 + .byte PEND + .byte PATT + .word mus_safari_6_000 + .byte N03 , Gn3 , v112 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte VOICE , 84 + .byte W12 + .byte N03 , As2 + .byte W03 + .byte An2 + .byte W03 + .byte Gn2 + .byte W03 + .byte Fs2 + .byte W03 + .byte PAN , c_v+0 + .byte N48 , Fn2 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte PATT + .word mus_safari_6_001 + .byte PATT + .word mus_safari_6_002 + .byte GOTO + .word mus_safari_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_safari_7: + .byte KEYSH , mus_safari_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 44*mus_safari_mvl/mxv + .byte W12 +mus_safari_7_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte N03 , Ds3 , v112 + .byte W03 + .byte Gn3 + .byte W03 + .byte As3 + .byte W03 + .byte Dn4 + .byte W03 +mus_safari_7_000: + .byte N60 , Ds4 , v112 + .byte W24 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte N03 , Dn4 + .byte W24 + .byte Cn4 + .byte W12 + .byte PEND + .byte N03 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte VOICE , 83 + .byte W12 + .byte N03 , Fn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cn3 + .byte W03 + .byte PAN , c_v+0 + .byte N48 , As2 + .byte W24 + .byte MOD , 6 + .byte W24 +mus_safari_7_001: + .byte VOICE , 81 + .byte MOD , 0 + .byte PAN , c_v+63 + .byte N03 , Ds4 , v112 + .byte W12 + .byte N03 + .byte W18 + .byte N03 + .byte W03 + .byte Dn4 , v072 + .byte W03 + .byte Ds4 , v092 + .byte W06 + .byte Dn4 , v080 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W18 + .byte N03 + .byte W12 + .byte N03 + .byte W03 + .byte Dn4 , v064 + .byte W03 + .byte Ds4 , v092 + .byte W06 + .byte Ds4 , v072 + .byte W06 + .byte PEND +mus_safari_7_002: + .byte N03 , Dn4 , v112 + .byte W12 + .byte N03 + .byte W18 + .byte N03 + .byte W03 + .byte Cs4 , v072 + .byte W03 + .byte Dn4 , v092 + .byte W06 + .byte Cs4 , v080 + .byte W06 + .byte N06 , Dn4 , v112 + .byte W18 + .byte N03 + .byte W12 + .byte N03 + .byte W03 + .byte Cs4 , v064 + .byte W03 + .byte Dn4 , v092 + .byte W06 + .byte Dn4 , v072 + .byte W06 + .byte PEND + .byte PATT + .word mus_safari_7_000 + .byte N03 , Cn4 , v112 + .byte W12 + .byte N06 , As3 + .byte W12 + .byte VOICE , 83 + .byte W12 + .byte N03 , Fn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cn3 + .byte W03 + .byte PAN , c_v+0 + .byte N48 , As2 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte PATT + .word mus_safari_7_001 + .byte PATT + .word mus_safari_7_002 + .byte GOTO + .word mus_safari_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_safari_8: + .byte KEYSH , mus_safari_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 66*mus_safari_mvl/mxv + .byte W12 +mus_safari_8_B1: +mus_safari_8_000: + .byte N06 , Cn1 , v127 + .byte N06 , En3 , v112 + .byte W06 + .byte Cn1 , v064 + .byte N06 , En3 , v076 + .byte W06 + .byte Cn1 , v088 + .byte N06 , Dn3 , v112 + .byte W06 + .byte Cn1 , v060 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Cn1 , v064 + .byte N06 , Dn3 , v112 + .byte W06 + .byte Cn1 , v084 + .byte N06 , En3 , v080 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cn1 , v127 + .byte N06 , En3 , v112 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cn1 , v080 + .byte N06 , En3 , v088 + .byte W06 + .byte Cn1 , v120 + .byte N06 , En3 , v068 + .byte W06 + .byte Cn1 , v072 + .byte N06 , Dn3 , v112 + .byte W06 + .byte Cn1 , v064 + .byte N06 , En3 , v112 + .byte W06 + .byte Cn1 , v124 + .byte W06 + .byte Cn1 , v060 + .byte N06 , En3 , v076 + .byte W06 + .byte PEND +mus_safari_8_001: + .byte N06 , Cn1 , v127 + .byte N06 , En3 , v112 + .byte W06 + .byte Cn1 , v064 + .byte N06 , En3 , v080 + .byte W06 + .byte Cn1 , v088 + .byte N06 , En3 , v112 + .byte W06 + .byte Cn1 , v060 + .byte W06 + .byte Cn1 , v112 + .byte N06 , Dn3 + .byte W06 + .byte Cn1 , v064 + .byte N06 , Dn3 , v088 + .byte W06 + .byte Cn1 , v084 + .byte N06 , En3 , v112 + .byte W06 + .byte Cn1 , v064 + .byte N06 , En3 , v080 + .byte W06 + .byte Cn1 , v127 + .byte N03 , En3 , v112 + .byte W03 + .byte En3 , v080 + .byte W03 + .byte N06 , Cn1 , v064 + .byte N06 , En3 , v112 + .byte W06 + .byte Cn1 , v080 + .byte N06 , Dn3 , v112 + .byte W06 + .byte Cn1 , v120 + .byte N06 , En3 , v088 + .byte W06 + .byte Cn1 , v072 + .byte N03 , En3 , v112 + .byte W03 + .byte En3 , v080 + .byte W03 + .byte N06 , Cn1 , v064 + .byte N06 , Dn3 , v112 + .byte W06 + .byte Cn1 , v124 + .byte N06 , En3 , v088 + .byte W06 + .byte Cn1 , v060 + .byte N06 , Dn3 , v088 + .byte W06 + .byte PEND +mus_safari_8_002: + .byte N06 , Cn1 , v127 + .byte N06 , En3 , v112 + .byte W06 + .byte Cn1 , v064 + .byte N06 , En3 , v080 + .byte W06 + .byte Cn1 , v088 + .byte N06 , Dn3 , v112 + .byte W06 + .byte Cn1 , v060 + .byte W06 + .byte Cn1 , v112 + .byte N03 , Dn3 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , Cn1 + .byte N06 , Dn3 , v108 + .byte W06 + .byte Cn1 , v084 + .byte N06 , En3 , v088 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cn1 , v127 + .byte N06 , Dn3 , v112 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cn1 , v080 + .byte N06 , En3 , v088 + .byte W06 + .byte Cn1 , v120 + .byte N06 , Dn3 , v112 + .byte W06 + .byte Cn1 , v072 + .byte N06 , En3 , v112 + .byte W06 + .byte Cn1 , v064 + .byte N06 , Dn3 , v112 + .byte W06 + .byte Cn1 , v124 + .byte N06 , En3 , v088 + .byte W06 + .byte Cn1 , v060 + .byte N06 , En3 , v076 + .byte W06 + .byte PEND +mus_safari_8_003: + .byte N06 , Cn1 , v127 + .byte N06 , En3 , v112 + .byte W06 + .byte Cn1 , v064 + .byte N06 , En3 , v080 + .byte W06 + .byte Cn1 , v088 + .byte N06 , En3 , v112 + .byte W06 + .byte Cn1 , v060 + .byte W06 + .byte Cn1 , v112 + .byte N06 , Dn3 + .byte W06 + .byte Cn1 , v064 + .byte N06 , Dn3 , v088 + .byte W06 + .byte Cn1 , v084 + .byte N06 , En3 , v112 + .byte W06 + .byte Cn1 , v064 + .byte N06 , En3 , v080 + .byte W06 + .byte Cn1 , v127 + .byte N03 , En3 , v112 + .byte W03 + .byte En3 , v080 + .byte W03 + .byte N06 , Cn1 , v064 + .byte N06 , En3 , v112 + .byte W06 + .byte Cn1 , v080 + .byte N06 , Dn3 , v112 + .byte W06 + .byte Cn1 , v120 + .byte N06 , En3 , v088 + .byte W06 + .byte Cn1 , v072 + .byte N03 , En3 , v112 + .byte W06 + .byte N06 , Cn1 , v064 + .byte N03 , En3 , v080 + .byte W06 + .byte N06 , Cn1 , v124 + .byte N06 , Dn3 , v112 + .byte W06 + .byte Cn1 , v060 + .byte N06 , En3 , v080 + .byte W06 + .byte PEND + .byte PATT + .word mus_safari_8_000 + .byte PATT + .word mus_safari_8_001 + .byte PATT + .word mus_safari_8_002 + .byte PATT + .word mus_safari_8_003 + .byte PATT + .word mus_safari_8_000 + .byte PATT + .word mus_safari_8_001 + .byte PATT + .word mus_safari_8_002 + .byte PATT + .word mus_safari_8_003 + .byte GOTO + .word mus_safari_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_safari_9: + .byte KEYSH , mus_safari_key+0 + .byte VOICE , 82 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 19*mus_safari_mvl/mxv + .byte W12 +mus_safari_9_B1: +mus_safari_9_000: + .byte N03 , Cn5 , v112 + .byte W06 + .byte Ds5 , v076 + .byte W06 + .byte As4 , v112 + .byte W18 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte As4 , v112 + .byte W12 + .byte Cn5 , v088 + .byte W06 + .byte Cn5 , v068 + .byte W06 + .byte As4 , v112 + .byte W06 + .byte Ds5 + .byte W12 + .byte Cn5 , v076 + .byte W06 + .byte PEND +mus_safari_9_001: + .byte N03 , Cn5 , v112 + .byte W06 + .byte Bn4 , v080 + .byte W06 + .byte Dn5 , v112 + .byte W12 + .byte An4 + .byte W06 + .byte An4 , v088 + .byte W06 + .byte Bn4 , v112 + .byte W06 + .byte Bn4 , v080 + .byte W06 + .byte Gn5 , v112 + .byte W03 + .byte Bn4 , v080 + .byte W03 + .byte Bn4 , v112 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 , v088 + .byte W06 + .byte Bn4 , v112 + .byte W03 + .byte Bn4 , v080 + .byte W03 + .byte An4 , v112 + .byte W06 + .byte Bn4 , v088 + .byte W06 + .byte An4 + .byte W06 + .byte PEND + .byte PATT + .word mus_safari_9_000 + .byte PATT + .word mus_safari_9_001 + .byte PATT + .word mus_safari_9_000 + .byte PATT + .word mus_safari_9_001 + .byte PATT + .word mus_safari_9_000 + .byte PATT + .word mus_safari_9_001 + .byte PATT + .word mus_safari_9_000 + .byte PATT + .word mus_safari_9_001 + .byte PATT + .word mus_safari_9_000 + .byte PATT + .word mus_safari_9_001 + .byte GOTO + .word mus_safari_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_safari: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_safari_pri @ Priority + .byte mus_safari_rev @ Reverb. + + .word mus_safari_grp + + .word mus_safari_1 + .word mus_safari_2 + .word mus_safari_3 + .word mus_safari_4 + .word mus_safari_5 + .word mus_safari_6 + .word mus_safari_7 + .word mus_safari_8 + .word mus_safari_9 + + .end diff --git a/sound/songs/mus_sattower.s b/sound/songs/mus_sattower.s new file mode 100644 index 0000000000..a8d3d4c845 --- /dev/null +++ b/sound/songs/mus_sattower.s @@ -0,0 +1,3498 @@ + .include "MPlayDef.s" + + .equ mus_sattower_grp, voicegroup_8697A54 + .equ mus_sattower_pri, 0 + .equ mus_sattower_rev, reverb_set+50 + .equ mus_sattower_mvl, 127 + .equ mus_sattower_key, 0 + .equ mus_sattower_tbs, 1 + .equ mus_sattower_exg, 0 + .equ mus_sattower_cmp, 1 + + .section .rodata + .global mus_sattower + .align 2 + +@********************** Track 1 **********************@ + +mus_sattower_1: + .byte KEYSH , mus_sattower_key+0 + .byte TEMPO , 122*mus_sattower_tbs/2 + .byte VOICE , 56 + .byte VOL , 100*mus_sattower_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+5 + .byte N36 , As3 , v127 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte W06 + .byte 75*mus_sattower_mvl/mxv + .byte W06 + .byte 62*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 100*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , Fn3 , v096 + .byte W06 + .byte As3 + .byte W06 + .byte VOL , 100*mus_sattower_mvl/mxv + .byte TIE , Fn4 , v127 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte W06 + .byte 75*mus_sattower_mvl/mxv + .byte W06 + .byte 62*mus_sattower_mvl/mxv + .byte W06 + .byte 50*mus_sattower_mvl/mxv + .byte W06 + .byte 37*mus_sattower_mvl/mxv + .byte W12 +mus_sattower_1_000: + .byte MOD , 3 + .byte W66 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W06 + .byte 74*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 92*mus_sattower_mvl/mxv + .byte W06 + .byte 100*mus_sattower_mvl/mxv + .byte W12 + .byte PEND + .byte EOT , Fn4 +mus_sattower_1_B1: + .byte VOL , 100*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v+5 + .byte N36 , Cn4 , v127 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte W06 + .byte 75*mus_sattower_mvl/mxv + .byte W06 + .byte 62*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 100*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , Gn3 , v096 + .byte W06 + .byte Cn4 + .byte W06 + .byte VOL , 100*mus_sattower_mvl/mxv + .byte TIE , Gn4 , v127 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte W06 + .byte 75*mus_sattower_mvl/mxv + .byte W06 + .byte 62*mus_sattower_mvl/mxv + .byte W06 + .byte 50*mus_sattower_mvl/mxv + .byte W06 + .byte 37*mus_sattower_mvl/mxv + .byte W12 + .byte PATT + .word mus_sattower_1_000 + .byte EOT , Gn4 + .byte MOD , 0 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte N36 , As3 , v127 + .byte W06 + .byte VOL , 75*mus_sattower_mvl/mxv + .byte W06 + .byte 62*mus_sattower_mvl/mxv + .byte W06 + .byte 50*mus_sattower_mvl/mxv + .byte W06 + .byte 50*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , Fs3 , v096 + .byte W06 + .byte As3 + .byte W06 + .byte N48 , Ds4 , v127 + .byte W06 + .byte VOL , 37*mus_sattower_mvl/mxv + .byte W15 + .byte 48*mus_sattower_mvl/mxv + .byte W03 + .byte 59*mus_sattower_mvl/mxv + .byte W02 + .byte 73*mus_sattower_mvl/mxv + .byte W04 + .byte 84*mus_sattower_mvl/mxv + .byte W02 + .byte 100*mus_sattower_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N36 , As3 + .byte W06 + .byte VOL , 75*mus_sattower_mvl/mxv + .byte W06 + .byte 62*mus_sattower_mvl/mxv + .byte W06 + .byte 50*mus_sattower_mvl/mxv + .byte W06 + .byte MOD , 6 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , Fn3 , v096 + .byte W06 + .byte As3 + .byte W06 + .byte N48 , Dn4 , v127 + .byte W06 + .byte VOL , 37*mus_sattower_mvl/mxv + .byte W15 + .byte 48*mus_sattower_mvl/mxv + .byte W03 + .byte 59*mus_sattower_mvl/mxv + .byte W02 + .byte 73*mus_sattower_mvl/mxv + .byte W04 + .byte 84*mus_sattower_mvl/mxv + .byte W02 + .byte 100*mus_sattower_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N06 , Gs3 , v096 + .byte W12 + .byte Ds3 , v088 + .byte W06 + .byte Gs3 , v092 + .byte W06 + .byte Cn4 , v100 + .byte W12 + .byte Gs3 , v096 + .byte W06 + .byte Cn4 , v100 + .byte W06 + .byte N48 , Ds4 , v120 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte W06 + .byte 75*mus_sattower_mvl/mxv + .byte W06 + .byte 62*mus_sattower_mvl/mxv + .byte W06 + .byte 50*mus_sattower_mvl/mxv + .byte W06 + .byte 37*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 25*mus_sattower_mvl/mxv + .byte W06 + .byte 100*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N32 , Fn4 , v127 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte W06 + .byte 75*mus_sattower_mvl/mxv + .byte W18 + .byte 100*mus_sattower_mvl/mxv + .byte N02 , Fn4 , v108 + .byte W04 + .byte N02 + .byte W04 + .byte Fn4 , v116 + .byte W04 + .byte N48 , Fn4 , v124 + .byte W12 + .byte VOL , 96*mus_sattower_mvl/mxv + .byte W06 + .byte 87*mus_sattower_mvl/mxv + .byte W06 + .byte 81*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 73*mus_sattower_mvl/mxv + .byte W06 + .byte 66*mus_sattower_mvl/mxv + .byte W06 + .byte 55*mus_sattower_mvl/mxv + .byte W06 + .byte VOICE , 1 + .byte MOD , 0 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte N24 , As3 , v127 + .byte W24 + .byte PAN , c_v-48 + .byte N08 , As3 , v052 + .byte W08 + .byte PAN , c_v+6 + .byte N08 , Dn4 , v127 + .byte W08 + .byte Ds4 + .byte W08 + .byte N24 , Fn4 + .byte W24 + .byte PAN , c_v+48 + .byte N08 , Fn4 , v052 + .byte W08 + .byte PAN , c_v+5 + .byte N08 , Ds4 , v127 + .byte W08 + .byte Dn4 + .byte W08 + .byte N24 , Ds4 + .byte W24 + .byte PAN , c_v-48 + .byte N08 , Ds4 , v052 + .byte W08 + .byte PAN , c_v+6 + .byte N08 , Gn3 , v096 + .byte W08 + .byte As3 , v084 + .byte W08 + .byte N24 , Ds4 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Ds4 , v048 + .byte W24 + .byte PAN , c_v+6 + .byte N24 , Ds4 , v127 + .byte W24 + .byte PAN , c_v-48 + .byte N08 , Ds4 , v052 + .byte W07 + .byte PAN , c_v+5 + .byte W01 + .byte N08 , Cn4 , v127 + .byte W08 + .byte Dn4 + .byte W08 + .byte N24 , Ds4 + .byte W24 + .byte PAN , c_v+48 + .byte N08 , Ds4 , v052 + .byte W08 + .byte PAN , c_v+6 + .byte N08 , Fn4 , v127 + .byte W08 + .byte Ds4 + .byte W08 + .byte N24 , Dn4 + .byte W24 + .byte PAN , c_v-48 + .byte N08 , Dn4 , v052 + .byte W08 + .byte PAN , c_v+5 + .byte N08 , Ds4 , v127 + .byte W08 + .byte Dn4 + .byte W08 + .byte N24 , Cn4 + .byte W24 + .byte PAN , c_v+48 + .byte N24 , Cn4 , v052 + .byte W24 + .byte VOICE , 48 + .byte VOL , 75*mus_sattower_mvl/mxv + .byte PAN , c_v+9 + .byte N36 , Dn4 , v100 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte W24 + .byte 75*mus_sattower_mvl/mxv + .byte N06 , As3 , v080 + .byte W06 + .byte Dn4 , v088 + .byte W06 + .byte N24 , Fn4 , v100 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte W12 + .byte 75*mus_sattower_mvl/mxv + .byte N12 , Gn4 , v096 + .byte W12 + .byte Gs4 + .byte W12 + .byte N36 , Gn4 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte W24 + .byte 75*mus_sattower_mvl/mxv + .byte N12 , Fn4 + .byte W12 + .byte N48 , Ds4 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte W36 + .byte 75*mus_sattower_mvl/mxv + .byte N36 , Fs4 , v100 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte W12 + .byte 75*mus_sattower_mvl/mxv + .byte W12 + .byte N12 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W12 + .byte As3 + .byte W12 + .byte Cs4 + .byte W12 + .byte N72 , Cn4 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte W60 + .byte VOICE , 60 + .byte VOL , 75*mus_sattower_mvl/mxv + .byte PAN , c_v-10 + .byte N06 , Cn3 , v096 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , Cn4 + .byte W12 + .byte VOICE , 56 + .byte VOL , 100*mus_sattower_mvl/mxv + .byte PAN , c_v+5 + .byte N06 , As3 , v116 + .byte W12 + .byte N23 , As3 , v112 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 75*mus_sattower_mvl/mxv + .byte W06 + .byte 100*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , Fn3 + .byte W06 + .byte N05 , As3 + .byte W06 + .byte N23 , Fn4 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 75*mus_sattower_mvl/mxv + .byte W06 + .byte 100*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N11 , Ds4 + .byte W12 + .byte Dn4 , v116 + .byte W12 + .byte N12 , Ds4 , v112 + .byte W18 + .byte N06 , As3 + .byte W06 + .byte N68 , Fn3 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte W24 + .byte W03 + .byte MOD , 7 + .byte W09 + .byte VOL , 74*mus_sattower_mvl/mxv + .byte W02 + .byte 65*mus_sattower_mvl/mxv + .byte W04 + .byte 55*mus_sattower_mvl/mxv + .byte W02 + .byte 46*mus_sattower_mvl/mxv + .byte W04 + .byte 37*mus_sattower_mvl/mxv + .byte W02 + .byte 26*mus_sattower_mvl/mxv + .byte W04 + .byte 23*mus_sattower_mvl/mxv + .byte W02 + .byte 20*mus_sattower_mvl/mxv + .byte W01 + .byte 12*mus_sattower_mvl/mxv + .byte W03 + .byte 100*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , As3 , v116 + .byte W12 + .byte N23 , As3 , v112 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 75*mus_sattower_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte N06 , Fn3 , v108 + .byte W03 + .byte VOL , 100*mus_sattower_mvl/mxv + .byte W03 + .byte N05 , As3 + .byte W06 + .byte N23 , Fn4 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 75*mus_sattower_mvl/mxv + .byte W06 + .byte 100*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N11 , Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N12 , Ds4 , v112 + .byte W18 + .byte N05 , Cn4 , v108 + .byte W06 + .byte N68 , Dn4 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte W24 + .byte W03 + .byte MOD , 7 + .byte W09 + .byte VOL , 72*mus_sattower_mvl/mxv + .byte W02 + .byte 62*mus_sattower_mvl/mxv + .byte W04 + .byte 48*mus_sattower_mvl/mxv + .byte W02 + .byte 32*mus_sattower_mvl/mxv + .byte W04 + .byte 28*mus_sattower_mvl/mxv + .byte W02 + .byte 21*mus_sattower_mvl/mxv + .byte W04 + .byte 6*mus_sattower_mvl/mxv + .byte W02 + .byte 0*mus_sattower_mvl/mxv + .byte W04 + .byte 100*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N32 , Ds4 , v116 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte W12 + .byte 75*mus_sattower_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 64*mus_sattower_mvl/mxv + .byte W06 + .byte 100*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , Cn4 , v112 + .byte W06 + .byte N05 , Dn4 + .byte W06 + .byte N32 , Ds4 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte W12 + .byte 75*mus_sattower_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte W06 + .byte 100*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , Fn4 + .byte W06 + .byte N05 , Ds4 + .byte W06 + .byte N06 , Dn4 , v120 + .byte W12 + .byte N23 , Dn4 , v112 + .byte W06 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte W12 + .byte VOL , 100*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , As3 + .byte W06 + .byte N05 , Cn4 + .byte W06 + .byte N30 , Dn4 , v116 + .byte W06 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte W09 + .byte MOD , 7 + .byte W09 + .byte VOL , 75*mus_sattower_mvl/mxv + .byte W12 + .byte 100*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , Dn4 , v112 + .byte W06 + .byte Ds4 + .byte W06 + .byte VOICE , 1 + .byte PAN , c_v-24 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte N32 , Fn4 , v080 + .byte W36 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte PAN , c_v+16 + .byte N32 , Fn4 , v092 + .byte W36 + .byte N02 , Fn4 , v096 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte VOICE , 48 + .byte PAN , c_v+6 + .byte VOL , 69*mus_sattower_mvl/mxv + .byte N32 , Fn4 , v108 + .byte W36 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte VOL , 77*mus_sattower_mvl/mxv + .byte N32 , Fn4 , v112 + .byte W36 + .byte VOICE , 56 + .byte PAN , c_v+0 + .byte VOL , 100*mus_sattower_mvl/mxv + .byte N02 , Fn4 , v108 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte TEMPO , 120*mus_sattower_tbs/2 + .byte VOICE , 56 + .byte VOL , 100*mus_sattower_mvl/mxv + .byte PAN , c_v+0 + .byte VOL , 100*mus_sattower_mvl/mxv + .byte N36 , Fn4 , v127 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte W06 + .byte 75*mus_sattower_mvl/mxv + .byte W06 + .byte 62*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 100*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , Fn3 , v096 + .byte W06 + .byte As3 + .byte W06 + .byte VOL , 100*mus_sattower_mvl/mxv + .byte TIE , Fn4 , v127 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte W06 + .byte 75*mus_sattower_mvl/mxv + .byte W06 + .byte 62*mus_sattower_mvl/mxv + .byte W06 + .byte 50*mus_sattower_mvl/mxv + .byte W06 + .byte 37*mus_sattower_mvl/mxv + .byte W12 + .byte PATT + .word mus_sattower_1_000 + .byte EOT , Fn4 + .byte GOTO + .word mus_sattower_1_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 2 **********************@ + +mus_sattower_2: + .byte KEYSH , mus_sattower_key+0 + .byte VOICE , 60 + .byte PAN , c_v+32 + .byte BENDR , 12 + .byte LFOS , 44 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte N24 , Fn3 , v072 + .byte W06 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W06 + .byte MOD , 5 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte N06 , Dn3 , v064 + .byte W06 + .byte Fn3 + .byte W18 + .byte N12 , Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W18 + .byte N06 , As3 + .byte W06 + .byte N04 , Fn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte N24 , Fn3 + .byte W06 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W06 + .byte MOD , 5 + .byte W12 +mus_sattower_2_B1: + .byte PAN , c_v+32 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N36 , Gn3 , v076 + .byte W06 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W18 + .byte MOD , 5 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , En3 , v064 + .byte W06 + .byte Gn3 + .byte W18 + .byte N12 , Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 , v068 + .byte W18 + .byte N06 , Cn4 , v064 + .byte W06 + .byte N04 , Gn3 + .byte W04 + .byte An3 + .byte W04 + .byte Gn3 + .byte W04 + .byte An3 + .byte W04 + .byte Gn3 + .byte W04 + .byte An3 + .byte W04 + .byte Gn3 + .byte W04 + .byte An3 + .byte W04 + .byte Gn3 + .byte W04 + .byte An3 + .byte W04 + .byte Gn3 + .byte W04 + .byte An3 + .byte W04 + .byte N24 , Gn3 + .byte W06 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W06 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte N36 , Ds4 , v080 + .byte W12 + .byte VOL , 42*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte N06 , Cn4 + .byte W05 + .byte Dn4 + .byte W07 + .byte N24 , Ds4 + .byte W12 + .byte VOL , 42*mus_sattower_mvl/mxv + .byte W12 + .byte 50*mus_sattower_mvl/mxv + .byte N24 , Fs3 + .byte W12 + .byte MOD , 5 + .byte VOL , 42*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte N36 , Dn4 + .byte W12 + .byte VOL , 42*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N24 , As3 + .byte W12 + .byte VOL , 42*mus_sattower_mvl/mxv + .byte MOD , 5 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N24 , Fn3 + .byte W12 + .byte VOL , 42*mus_sattower_mvl/mxv + .byte MOD , 5 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte N36 , Cn4 + .byte W12 + .byte VOL , 42*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte N06 , Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 5 + .byte VOL , 42*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte N24 , Gs3 + .byte W12 + .byte MOD , 5 + .byte VOL , 42*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte N32 , As3 + .byte W12 + .byte VOL , 42*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , Cn4 + .byte W06 + .byte As3 + .byte W06 + .byte N48 , An3 + .byte W12 + .byte MOD , 8 + .byte VOL , 44*mus_sattower_mvl/mxv + .byte W12 + .byte 35*mus_sattower_mvl/mxv + .byte W12 + .byte 28*mus_sattower_mvl/mxv + .byte W12 + .byte VOICE , 48 + .byte MOD , 0 + .byte VOL , 53*mus_sattower_mvl/mxv + .byte N16 , Fn3 , v064 + .byte W16 + .byte N08 , Dn3 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N08 , Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte N08 + .byte W08 + .byte Cn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte Ds3 + .byte W08 + .byte As2 + .byte W08 + .byte Ds3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Ds3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N16 , As3 + .byte W16 + .byte N08 , Gn3 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte N08 , As2 + .byte W08 + .byte N16 , Fs3 + .byte W16 + .byte N08 , Ds3 + .byte W08 + .byte N16 , Fs3 + .byte W16 + .byte N08 , Ds3 + .byte W08 + .byte As2 + .byte W08 + .byte N08 + .byte W08 + .byte Ds3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Ds3 + .byte W08 + .byte As2 + .byte W08 + .byte Fn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte As3 + .byte W08 + .byte Fn3 + .byte W08 + .byte As3 + .byte W08 + .byte N16 , An3 + .byte W16 + .byte N08 , Fn3 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte N08 , Cn3 + .byte W08 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte N36 , Fn3 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W24 + .byte 62*mus_sattower_mvl/mxv + .byte N06 , Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N24 , As3 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W12 + .byte 62*mus_sattower_mvl/mxv + .byte N12 , Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N36 , Ds4 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W12 + .byte 62*mus_sattower_mvl/mxv + .byte W12 + .byte N12 , As3 + .byte W12 + .byte N48 , Gn3 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W36 + .byte 62*mus_sattower_mvl/mxv + .byte N36 , Ds4 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W24 + .byte N12 , As3 + .byte W12 + .byte Fs3 + .byte W12 + .byte As3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fs3 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte N72 , Fn3 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W60 + .byte 62*mus_sattower_mvl/mxv + .byte N06 + .byte W06 + .byte Cn4 + .byte W06 + .byte N08 , Fn4 + .byte W12 + .byte VOICE , 60 + .byte VOL , 57*mus_sattower_mvl/mxv + .byte N48 , Fn4 , v080 + .byte W09 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W15 + .byte MOD , 6 + .byte W12 + .byte VOL , 37*mus_sattower_mvl/mxv + .byte W06 + .byte 25*mus_sattower_mvl/mxv + .byte W03 + .byte 12*mus_sattower_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte N06 , As3 , v064 + .byte W12 + .byte N24 + .byte W06 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W06 + .byte MOD , 6 + .byte W12 + .byte VOL , 56*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte N12 + .byte W18 + .byte N06 , Fn3 + .byte W06 + .byte N24 , Dn3 + .byte W09 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W06 + .byte MOD , 5 + .byte W09 + .byte VOL , 56*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N24 , As3 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W06 + .byte MOD , 6 + .byte W06 + .byte VOL , 57*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N24 , Dn4 + .byte W12 + .byte VOL , 49*mus_sattower_mvl/mxv + .byte W12 + .byte 55*mus_sattower_mvl/mxv + .byte N48 , Fn4 , v084 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W24 + .byte 37*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W06 + .byte VOL , 25*mus_sattower_mvl/mxv + .byte W03 + .byte 12*mus_sattower_mvl/mxv + .byte W03 + .byte 57*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , As3 , v064 + .byte W12 + .byte N24 + .byte W12 + .byte VOL , 49*mus_sattower_mvl/mxv + .byte W12 + .byte N06 , Fn3 + .byte W03 + .byte VOL , 57*mus_sattower_mvl/mxv + .byte W03 + .byte N06 , As3 + .byte W06 + .byte N12 , Cn4 + .byte W18 + .byte N06 , An3 + .byte W06 + .byte N24 , As3 + .byte W06 + .byte VOL , 45*mus_sattower_mvl/mxv + .byte W09 + .byte MOD , 6 + .byte W09 + .byte VOL , 58*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N24 , Fn3 + .byte W09 + .byte VOL , 45*mus_sattower_mvl/mxv + .byte W15 + .byte 60*mus_sattower_mvl/mxv + .byte N24 , As3 + .byte W06 + .byte VOL , 44*mus_sattower_mvl/mxv + .byte W09 + .byte MOD , 5 + .byte W09 + .byte VOL , 57*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N12 , Ds3 + .byte W12 + .byte N06 , As2 + .byte W06 + .byte Ds3 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte N06 , Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N44 , As3 + .byte W06 + .byte VOL , 46*mus_sattower_mvl/mxv + .byte W18 + .byte MOD , 6 + .byte W12 + .byte VOL , 37*mus_sattower_mvl/mxv + .byte W03 + .byte 30*mus_sattower_mvl/mxv + .byte W03 + .byte 25*mus_sattower_mvl/mxv + .byte W03 + .byte 17*mus_sattower_mvl/mxv + .byte W03 + .byte 57*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N12 , Dn3 + .byte W12 + .byte N06 , As2 + .byte W06 + .byte Dn3 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte N06 , Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N48 , As3 + .byte W09 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W15 + .byte MOD , 6 + .byte W12 + .byte VOL , 37*mus_sattower_mvl/mxv + .byte W03 + .byte 27*mus_sattower_mvl/mxv + .byte W03 + .byte 18*mus_sattower_mvl/mxv + .byte W03 + .byte 12*mus_sattower_mvl/mxv + .byte W03 + .byte PAN , c_v-28 + .byte VOL , 59*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte W48 + .byte N24 , Gn1 , v068 + .byte W36 + .byte N02 , Gn1 , v064 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte VOICE , 47 + .byte N24 , Gs1 , v096 + .byte W36 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte VOL , 61*mus_sattower_mvl/mxv + .byte N24 , An1 , v104 + .byte W36 + .byte N02 , Cn2 , v108 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte VOICE , 60 + .byte VOL , 61*mus_sattower_mvl/mxv + .byte PAN , c_v+32 + .byte N06 , Fn3 , v072 + .byte W12 + .byte N12 , As2 , v064 + .byte W24 + .byte N06 , Dn3 + .byte W06 + .byte Fn3 + .byte W18 + .byte N12 , Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W18 + .byte N06 , As3 + .byte W06 + .byte N04 , Fn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gn3 + .byte W04 + .byte N24 , Fn3 + .byte W24 + .byte GOTO + .word mus_sattower_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_sattower_3: + .byte KEYSH , mus_sattower_key+0 + .byte VOICE , 47 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v-24 + .byte N12 , As1 , v096 + .byte W12 + .byte N06 , Fn1 , v064 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , As1 + .byte W36 + .byte N06 , Fn1 + .byte W12 + .byte N06 + .byte W24 + .byte N12 , As1 + .byte W24 + .byte VOICE , 14 + .byte PAN , c_v+34 + .byte N24 , Dn4 + .byte W24 + .byte PAN , c_v+24 + .byte N24 , As3 + .byte W24 + .byte PAN , c_v-16 + .byte N24 , Fn3 + .byte W24 +mus_sattower_3_B1: + .byte VOICE , 47 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte PAN , c_v-24 + .byte N12 , Cn2 , v096 + .byte W12 + .byte N06 , Gn1 , v064 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cn2 + .byte W24 + .byte PAN , c_v-24 + .byte W12 + .byte N06 , Gn1 + .byte W12 + .byte N06 + .byte W24 + .byte N12 , Cn2 + .byte W24 + .byte VOICE , 14 + .byte PAN , c_v+36 + .byte N24 , En4 + .byte W24 + .byte PAN , c_v+25 + .byte N24 , Cn4 + .byte W24 + .byte PAN , c_v-20 + .byte N24 , Gn4 + .byte W24 + .byte VOICE , 60 + .byte PAN , c_v-29 + .byte W54 + .byte N06 , Fs3 , v040 + .byte W06 + .byte As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v+26 + .byte N06 , Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte Fs3 + .byte W06 + .byte PAN , c_v-28 + .byte W54 + .byte N06 , Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte PAN , c_v+28 + .byte N06 , Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte As3 + .byte W06 + .byte Fn3 + .byte W06 + .byte VOICE , 14 + .byte PAN , c_v-32 + .byte W24 + .byte c_v+35 + .byte N24 , Gs4 , v064 + .byte W24 + .byte PAN , c_v+24 + .byte N24 , Ds4 + .byte W24 + .byte PAN , c_v-15 + .byte N24 , Cn4 + .byte W24 + .byte W96 + .byte VOICE , 46 + .byte PAN , c_v-32 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte N04 , Fn2 , v076 + .byte W04 + .byte As2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte PAN , c_v-13 + .byte N04 , As2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte PAN , c_v+15 + .byte N04 , Dn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte As4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Fn3 , v064 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 , v068 + .byte W04 + .byte Fn4 + .byte W04 + .byte As4 + .byte W04 + .byte Dn5 , v064 + .byte W04 + .byte PAN , c_v-33 + .byte N04 , Ds2 , v076 + .byte W04 + .byte Gn2 + .byte W04 + .byte As2 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte PAN , c_v-16 + .byte N04 , Gn2 + .byte W04 + .byte As2 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte Ds4 + .byte W04 + .byte PAN , c_v+16 + .byte N04 , As2 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte Ds4 + .byte W04 + .byte Gn4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Ds3 , v064 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte Ds4 + .byte W04 + .byte Gn4 + .byte W04 + .byte As4 + .byte W04 + .byte PAN , c_v-49 + .byte N04 , Fs2 , v076 + .byte W04 + .byte Ds2 + .byte W04 + .byte Fs2 + .byte W04 + .byte As2 + .byte W04 + .byte Fs2 + .byte W04 + .byte As2 + .byte W04 + .byte PAN , c_v-33 + .byte N04 , Ds3 + .byte W04 + .byte As2 + .byte W04 + .byte Ds3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Fs3 + .byte W04 + .byte PAN , c_v-17 + .byte N04 , As3 + .byte W04 + .byte Fs3 + .byte W04 + .byte As3 + .byte W04 + .byte Ds4 + .byte W04 + .byte As3 + .byte W04 + .byte Ds4 + .byte W04 + .byte PAN , c_v+15 + .byte N04 , Fs4 , v064 + .byte W04 + .byte Ds4 + .byte W04 + .byte Fs4 + .byte W04 + .byte As4 + .byte W04 + .byte Fs4 + .byte W04 + .byte As4 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Dn5 , v056 + .byte W04 + .byte As4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Fn5 + .byte W04 + .byte PAN , c_v+48 + .byte N04 , As5 + .byte W04 + .byte Fn5 + .byte W04 + .byte As5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Fn5 , v052 + .byte W04 + .byte PAN , c_v-10 + .byte N04 , Ds5 , v056 + .byte W04 + .byte Cn5 + .byte W04 + .byte Ds5 + .byte W04 + .byte Cn5 + .byte W04 + .byte An4 + .byte W04 + .byte Cn5 + .byte W04 + .byte PAN , c_v-26 + .byte N04 , An4 , v064 + .byte W04 + .byte Fn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Cn4 + .byte W04 + .byte VOICE , 1 + .byte PAN , c_v-20 + .byte VOL , 78*mus_sattower_mvl/mxv + .byte N24 , As4 + .byte W40 + .byte N08 + .byte W08 + .byte N24 , Gs4 + .byte W24 + .byte N12 , Fn4 + .byte W12 + .byte As3 + .byte W12 + .byte N16 , Gn3 + .byte W16 + .byte N08 , Ds3 + .byte W08 + .byte N16 , Gn3 + .byte W16 + .byte N08 , As2 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte N08 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte N08 + .byte W08 + .byte N16 , As3 + .byte W16 + .byte N08 + .byte W08 + .byte N24 , Ds3 + .byte W24 + .byte As2 + .byte W24 + .byte Fs3 + .byte W24 + .byte VOICE , 56 + .byte PAN , c_v+16 + .byte VOL , 100*mus_sattower_mvl/mxv + .byte N02 , Fn4 , v088 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N12 + .byte W12 + .byte VOICE , 47 + .byte PAN , c_v-27 + .byte N12 , As1 + .byte W12 + .byte As1 , v064 + .byte W48 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte W12 + .byte N12 + .byte W84 + .byte As1 , v088 + .byte W12 + .byte As1 , v064 + .byte W48 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte W12 + .byte N12 + .byte W84 + .byte VOICE , 14 + .byte PAN , c_v-32 + .byte W12 + .byte N12 , Fs4 + .byte W12 + .byte N23 , As4 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte W03 + .byte 75*mus_sattower_mvl/mxv + .byte W03 + .byte 62*mus_sattower_mvl/mxv + .byte W03 + .byte 50*mus_sattower_mvl/mxv + .byte W03 + .byte VOICE , 1 + .byte PAN , c_v-32 + .byte VOL , 68*mus_sattower_mvl/mxv + .byte N04 , As2 , v048 + .byte W04 + .byte Ds3 + .byte W04 + .byte Fs3 + .byte W04 + .byte PAN , c_v+0 + .byte N04 , Ds3 + .byte W04 + .byte Fs3 + .byte W04 + .byte As3 + .byte W04 + .byte PAN , c_v+15 + .byte N04 , Fs3 + .byte W04 + .byte As3 + .byte W04 + .byte Ds4 + .byte W04 + .byte PAN , c_v+39 + .byte N04 , As3 , v036 + .byte W04 + .byte Ds4 + .byte W04 + .byte N03 , Fs4 + .byte W04 + .byte VOICE , 14 + .byte PAN , c_v-32 + .byte VOL , 100*mus_sattower_mvl/mxv + .byte W12 + .byte N12 , Fn4 , v060 + .byte W12 + .byte N23 , As4 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte W03 + .byte 75*mus_sattower_mvl/mxv + .byte W03 + .byte 62*mus_sattower_mvl/mxv + .byte W03 + .byte 50*mus_sattower_mvl/mxv + .byte W03 + .byte VOICE , 1 + .byte PAN , c_v-32 + .byte VOL , 69*mus_sattower_mvl/mxv + .byte N04 , As2 , v048 + .byte W04 + .byte Dn3 , v056 + .byte W04 + .byte Fn3 + .byte W04 + .byte PAN , c_v-1 + .byte N04 , Dn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte As3 + .byte W04 + .byte PAN , c_v+16 + .byte N04 , Fn3 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte PAN , c_v+39 + .byte N04 , As3 , v040 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte VOICE , 48 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte PAN , c_v+32 + .byte N32 , Cn3 , v064 + .byte W15 + .byte VOL , 37*mus_sattower_mvl/mxv + .byte W09 + .byte 25*mus_sattower_mvl/mxv + .byte W06 + .byte 12*mus_sattower_mvl/mxv + .byte W06 + .byte 50*mus_sattower_mvl/mxv + .byte N02 , Cn3 , v068 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 , As2 , v080 + .byte W12 + .byte VOL , 37*mus_sattower_mvl/mxv + .byte W12 + .byte 25*mus_sattower_mvl/mxv + .byte W06 + .byte 12*mus_sattower_mvl/mxv + .byte W06 + .byte 50*mus_sattower_mvl/mxv + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 , Ds3 , v096 + .byte W12 + .byte VOL , 37*mus_sattower_mvl/mxv + .byte W12 + .byte 25*mus_sattower_mvl/mxv + .byte W06 + .byte 12*mus_sattower_mvl/mxv + .byte W06 + .byte 50*mus_sattower_mvl/mxv + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 , Ds3 , v104 + .byte W12 + .byte VOL , 37*mus_sattower_mvl/mxv + .byte W12 + .byte 25*mus_sattower_mvl/mxv + .byte W06 + .byte 12*mus_sattower_mvl/mxv + .byte W06 + .byte 50*mus_sattower_mvl/mxv + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte VOICE , 47 + .byte VOL , 100*mus_sattower_mvl/mxv + .byte PAN , c_v-25 + .byte N12 , As1 , v092 + .byte W12 + .byte N06 , Fn1 , v064 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , As1 + .byte W36 + .byte N06 , Fn1 + .byte W12 + .byte N06 + .byte W24 + .byte N12 , As1 + .byte W24 + .byte VOICE , 14 + .byte PAN , c_v+31 + .byte N24 , Dn4 + .byte W24 + .byte PAN , c_v+23 + .byte N24 , As3 + .byte W24 + .byte PAN , c_v-12 + .byte N24 , Fn3 + .byte W24 + .byte GOTO + .word mus_sattower_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_sattower_4: + .byte KEYSH , mus_sattower_key+0 + .byte VOICE , 14 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte PAN , c_v+32 + .byte BENDR , 12 + .byte LFOS , 44 + .byte W96 + .byte W96 +mus_sattower_4_B1: + .byte PAN , c_v+32 + .byte VOL , 49*mus_sattower_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 1 + .byte VOL , 42*mus_sattower_mvl/mxv + .byte PAN , c_v-4 + .byte N24 , As4 , v127 + .byte W24 + .byte PAN , c_v+48 + .byte N08 , As4 , v052 + .byte W08 + .byte PAN , c_v-5 + .byte N08 , Dn5 , v127 + .byte W08 + .byte Ds5 + .byte W08 + .byte N24 , Fn5 + .byte W24 + .byte PAN , c_v-48 + .byte N08 , Fn5 , v052 + .byte W08 + .byte PAN , c_v-4 + .byte N08 , Ds5 , v127 + .byte W08 + .byte Dn5 + .byte W08 + .byte N24 , Ds5 + .byte W24 + .byte PAN , c_v+48 + .byte N08 , Ds5 , v052 + .byte W08 + .byte PAN , c_v-4 + .byte N08 , Gn4 , v096 + .byte W08 + .byte As4 , v084 + .byte W08 + .byte N24 , Ds5 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Ds5 , v048 + .byte W24 + .byte PAN , c_v-4 + .byte N24 , Ds5 , v127 + .byte W24 + .byte PAN , c_v+48 + .byte N08 , Ds5 , v052 + .byte W08 + .byte PAN , c_v-5 + .byte N08 , Cn5 , v127 + .byte W08 + .byte Dn5 + .byte W08 + .byte N24 , Ds5 + .byte W24 + .byte PAN , c_v-46 + .byte N08 , Ds5 , v052 + .byte W08 + .byte PAN , c_v-6 + .byte N08 , Fn5 , v127 + .byte W08 + .byte Ds5 + .byte W08 + .byte N24 , Dn5 + .byte W24 + .byte PAN , c_v+47 + .byte N08 , Dn5 , v052 + .byte W08 + .byte PAN , c_v-5 + .byte N08 , Ds5 , v127 + .byte W08 + .byte Dn5 + .byte W08 + .byte N24 , Cn5 + .byte W24 + .byte PAN , c_v-48 + .byte N24 , Cn5 , v052 + .byte W24 + .byte VOL , 49*mus_sattower_mvl/mxv + .byte PAN , c_v+32 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte PAN , c_v+32 + .byte W48 + .byte N44 , Ds5 , v088 + .byte W24 + .byte VOL , 41*mus_sattower_mvl/mxv + .byte W02 + .byte 37*mus_sattower_mvl/mxv + .byte W04 + .byte 29*mus_sattower_mvl/mxv + .byte W02 + .byte 25*mus_sattower_mvl/mxv + .byte W04 + .byte 18*mus_sattower_mvl/mxv + .byte W02 + .byte 11*mus_sattower_mvl/mxv + .byte W04 + .byte 3*mus_sattower_mvl/mxv + .byte W02 + .byte 0*mus_sattower_mvl/mxv + .byte W04 + .byte 50*mus_sattower_mvl/mxv + .byte W48 + .byte N48 , Dn5 + .byte W24 + .byte VOL , 41*mus_sattower_mvl/mxv + .byte W02 + .byte 37*mus_sattower_mvl/mxv + .byte W04 + .byte 29*mus_sattower_mvl/mxv + .byte W02 + .byte 25*mus_sattower_mvl/mxv + .byte W04 + .byte 18*mus_sattower_mvl/mxv + .byte W02 + .byte 11*mus_sattower_mvl/mxv + .byte W04 + .byte 3*mus_sattower_mvl/mxv + .byte W02 + .byte 0*mus_sattower_mvl/mxv + .byte W04 + .byte VOICE , 56 + .byte VOL , 100*mus_sattower_mvl/mxv + .byte PAN , c_v+0 + .byte N48 , Fn4 , v120 + .byte W12 + .byte VOL , 88*mus_sattower_mvl/mxv + .byte W06 + .byte 75*mus_sattower_mvl/mxv + .byte W06 + .byte 62*mus_sattower_mvl/mxv + .byte W06 + .byte 50*mus_sattower_mvl/mxv + .byte W06 + .byte 37*mus_sattower_mvl/mxv + .byte W06 + .byte 25*mus_sattower_mvl/mxv + .byte W06 + .byte 12*mus_sattower_mvl/mxv + .byte W06 + .byte 0*mus_sattower_mvl/mxv + .byte W42 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_sattower_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_sattower_5: + .byte KEYSH , mus_sattower_key+0 + .byte VOICE , 80 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v-64 + .byte N36 , Dn3 , v112 + .byte W12 + .byte VOL , 32*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N12 , Fn3 , v064 + .byte W12 + .byte N48 , As3 + .byte W12 + .byte VOL , 32*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 6 + .byte W24 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N18 , As2 + .byte W12 + .byte VOL , 31*mus_sattower_mvl/mxv + .byte W06 + .byte 50*mus_sattower_mvl/mxv + .byte N06 , Fn2 + .byte W06 + .byte N08 + .byte W08 + .byte Dn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte As2 + .byte W08 + .byte Fn2 + .byte W08 + .byte Dn3 + .byte W08 + .byte N24 , As2 + .byte W12 + .byte MOD , 6 + .byte VOL , 31*mus_sattower_mvl/mxv + .byte W12 +mus_sattower_5_B1: + .byte PAN , c_v-64 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N36 , En3 , v112 + .byte W12 + .byte VOL , 31*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , Cn3 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte N48 , Gn3 + .byte W12 + .byte VOL , 32*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 6 + .byte W24 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N16 , Cn3 + .byte W16 + .byte N08 , Gn2 + .byte W08 + .byte N08 + .byte W08 + .byte En2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte Gn2 + .byte W08 + .byte En3 + .byte W08 + .byte N24 , Cn3 + .byte W12 + .byte MOD , 6 + .byte VOL , 31*mus_sattower_mvl/mxv + .byte W12 + .byte 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte W08 + .byte N08 , Ds2 + .byte W08 + .byte Fs2 + .byte W08 + .byte N24 , As2 + .byte W12 + .byte MOD , 6 + .byte VOL , 33*mus_sattower_mvl/mxv + .byte W12 + .byte 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte W08 + .byte N08 , Fs2 + .byte W08 + .byte As2 + .byte W08 + .byte Ds3 + .byte W08 + .byte As2 + .byte W08 + .byte Fs2 + .byte W08 + .byte W08 + .byte Dn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte N24 , As2 + .byte W12 + .byte MOD , 6 + .byte VOL , 32*mus_sattower_mvl/mxv + .byte W12 + .byte 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte W08 + .byte N08 , Fn2 + .byte W08 + .byte As2 + .byte W08 + .byte Dn3 + .byte W08 + .byte As2 + .byte W08 + .byte Fn2 + .byte W08 + .byte N12 , Gs2 + .byte W12 + .byte N24 , Ds2 + .byte W12 + .byte MOD , 6 + .byte VOL , 33*mus_sattower_mvl/mxv + .byte W12 + .byte 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N12 , Gs2 + .byte W12 + .byte Cn3 + .byte W12 + .byte N24 , Gs2 + .byte W12 + .byte MOD , 6 + .byte VOL , 33*mus_sattower_mvl/mxv + .byte W12 + .byte 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N12 , Ds2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte As2 + .byte W12 + .byte Dn3 + .byte W12 + .byte N08 , Ds3 + .byte W08 + .byte Cn3 + .byte W08 + .byte An2 + .byte W08 + .byte N24 , Fn2 + .byte W12 + .byte MOD , 6 + .byte VOL , 32*mus_sattower_mvl/mxv + .byte W12 + .byte 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N32 , As3 + .byte W12 + .byte VOL , 33*mus_sattower_mvl/mxv + .byte W06 + .byte MOD , 6 + .byte W18 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte W04 + .byte PAN , c_v+63 + .byte N08 + .byte W08 + .byte N32 , Gs3 + .byte W12 + .byte VOL , 32*mus_sattower_mvl/mxv + .byte W06 + .byte MOD , 6 + .byte W18 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte W04 + .byte PAN , c_v-63 + .byte N08 + .byte W08 + .byte N32 , Gn3 + .byte W12 + .byte VOL , 32*mus_sattower_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte W20 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte W04 + .byte PAN , c_v+63 + .byte N08 + .byte W08 + .byte N32 , Ds3 + .byte W12 + .byte VOL , 32*mus_sattower_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte W16 + .byte 0 + .byte W04 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W04 + .byte PAN , c_v-63 + .byte N08 + .byte W08 + .byte N32 , Fs3 + .byte W12 + .byte VOL , 31*mus_sattower_mvl/mxv + .byte W08 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte W04 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W04 + .byte PAN , c_v+63 + .byte N08 + .byte W08 + .byte N32 , Ds3 + .byte W12 + .byte VOL , 33*mus_sattower_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte W16 + .byte 0 + .byte W04 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte PAN , c_v-62 + .byte W04 + .byte N08 + .byte W08 + .byte N32 , Fn3 + .byte W12 + .byte VOL , 32*mus_sattower_mvl/mxv + .byte W04 + .byte MOD , 6 + .byte W16 + .byte 0 + .byte W04 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W04 + .byte PAN , c_v+63 + .byte N08 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte PAN , c_v-63 + .byte N08 + .byte W08 + .byte N16 , Cn3 + .byte W16 + .byte PAN , c_v+63 + .byte N08 , An2 + .byte W08 + .byte N12 , As2 + .byte W12 + .byte PAN , c_v-63 + .byte N12 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v-63 + .byte N12 + .byte W12 + .byte Gs2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v-62 + .byte N12 + .byte W12 + .byte Ds2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte Gn2 + .byte W12 + .byte PAN , c_v-62 + .byte N12 + .byte W12 + .byte As2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 + .byte W12 + .byte PAN , c_v-63 + .byte N06 , Fs3 + .byte W06 + .byte N06 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , As3 + .byte W06 + .byte N06 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 + .byte PAN , c_v-62 + .byte N06 , Fs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte As2 + .byte W06 + .byte Fs2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Ds3 + .byte W06 + .byte As2 + .byte W06 + .byte PAN , c_v-63 + .byte N06 , An2 + .byte W06 + .byte As2 + .byte W06 + .byte Cn3 + .byte W06 + .byte As2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , An2 + .byte W06 + .byte As2 + .byte W06 + .byte An2 + .byte W06 + .byte Gn2 + .byte W06 + .byte PAN , c_v-62 + .byte N12 , Fn2 + .byte W18 + .byte N06 + .byte W06 + .byte N24 + .byte W12 + .byte MOD , 5 + .byte VOL , 32*mus_sattower_mvl/mxv + .byte W12 + .byte 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , Dn3 , v108 + .byte W12 + .byte N24 , Dn3 , v064 + .byte W12 + .byte MOD , 6 + .byte VOL , 33*mus_sattower_mvl/mxv + .byte W12 + .byte 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , As2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte VOL , 31*mus_sattower_mvl/mxv + .byte W12 + .byte 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N18 , As2 + .byte W18 + .byte N06 , Fn2 + .byte W06 + .byte N72 , As2 + .byte W12 + .byte VOL , 32*mus_sattower_mvl/mxv + .byte W24 + .byte MOD , 6 + .byte W36 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , Dn3 , v092 + .byte W12 + .byte N24 , Dn3 , v064 + .byte W12 + .byte MOD , 6 + .byte VOL , 31*mus_sattower_mvl/mxv + .byte W12 + .byte 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , As2 + .byte W06 + .byte Dn3 + .byte W06 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte VOL , 31*mus_sattower_mvl/mxv + .byte W12 + .byte 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N12 , Cn3 + .byte W12 + .byte As2 + .byte W12 + .byte Fn2 + .byte W18 + .byte N06 + .byte W06 + .byte N72 , As2 + .byte W12 + .byte VOL , 31*mus_sattower_mvl/mxv + .byte W24 + .byte MOD , 6 + .byte W36 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N12 , Fs2 + .byte W12 + .byte As2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N48 , As2 + .byte W12 + .byte VOL , 31*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 6 + .byte W24 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N12 , Fn2 + .byte W12 + .byte As2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte N48 , As2 + .byte W12 + .byte VOL , 31*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 6 + .byte W24 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N32 , An3 + .byte W09 + .byte VOL , 34*mus_sattower_mvl/mxv + .byte W24 + .byte W03 + .byte 50*mus_sattower_mvl/mxv + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 , As3 + .byte W06 + .byte VOL , 33*mus_sattower_mvl/mxv + .byte W30 + .byte N02 + .byte W03 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W01 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 , Cn4 + .byte W06 + .byte VOL , 33*mus_sattower_mvl/mxv + .byte W30 + .byte 50*mus_sattower_mvl/mxv + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 , Cn4 , v072 + .byte W12 + .byte VOL , 31*mus_sattower_mvl/mxv + .byte W24 + .byte 50*mus_sattower_mvl/mxv + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte VOICE , 80 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte PAN , c_v-62 + .byte N06 , Dn3 , v096 + .byte W12 + .byte N12 , Fn2 , v064 + .byte W24 + .byte Fn3 + .byte W12 + .byte N48 , As3 + .byte W12 + .byte VOL , 33*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 6 + .byte W24 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N18 , As2 + .byte W18 + .byte N06 , Fn2 + .byte W06 + .byte N08 + .byte W08 + .byte Dn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte As2 + .byte W08 + .byte Fn2 + .byte W08 + .byte Dn3 + .byte W08 + .byte N24 , As2 + .byte W12 + .byte VOL , 31*mus_sattower_mvl/mxv + .byte W12 + .byte GOTO + .word mus_sattower_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_sattower_6: + .byte KEYSH , mus_sattower_key+0 + .byte VOICE , 87 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte N12 , As1 , v112 + .byte W06 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W06 + .byte 62*mus_sattower_mvl/mxv + .byte N12 , Fn1 , v080 + .byte W06 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W06 + .byte 62*mus_sattower_mvl/mxv + .byte W36 + .byte N36 , As1 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W24 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N18 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W06 + .byte 62*mus_sattower_mvl/mxv + .byte N06 , Fn1 + .byte W06 + .byte N48 , As1 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W36 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N24 , Fn1 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W12 +mus_sattower_6_B1: + .byte PAN , c_v+0 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte N12 , Cn2 , v112 + .byte W06 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W06 + .byte 62*mus_sattower_mvl/mxv + .byte N12 , Cn1 , v080 + .byte W06 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W06 + .byte 62*mus_sattower_mvl/mxv + .byte W36 + .byte N36 , Cn2 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W24 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N18 + .byte W18 + .byte N06 , Gn1 + .byte W06 + .byte N48 , Cn2 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W36 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N24 , Cn1 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N12 , Ds2 + .byte W12 + .byte N24 , Ds1 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , Fs1 + .byte W06 + .byte As1 + .byte W06 + .byte N12 , Ds1 + .byte W12 + .byte N36 , Ds2 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W24 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N12 , As1 + .byte W12 + .byte N24 , Fn1 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N06 , Dn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte N36 , As1 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W24 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N12 , Fn1 + .byte W12 + .byte Ds1 + .byte W06 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W06 + .byte 62*mus_sattower_mvl/mxv + .byte N12 + .byte W06 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W06 + .byte 62*mus_sattower_mvl/mxv + .byte W12 + .byte N12 , Gs1 + .byte W24 + .byte Cn2 + .byte W24 + .byte Gs1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte N18 , Dn2 + .byte W18 + .byte N06 , As1 + .byte W06 + .byte N24 , Cn2 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N24 , Fn1 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N40 , As1 , v060 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W28 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N08 , Cn2 + .byte W08 + .byte N16 , Dn2 + .byte W16 + .byte N08 , Cn2 + .byte W08 + .byte N16 , As1 + .byte W16 + .byte N08 , Dn2 + .byte W08 + .byte N32 , Ds2 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W06 + .byte MOD , 6 + .byte W14 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N08 , As1 + .byte W08 + .byte Gn1 + .byte W08 + .byte N16 , Ds2 + .byte W16 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte N08 , Fn2 + .byte W08 + .byte Gn2 + .byte W08 + .byte Ds2 + .byte W08 + .byte As1 + .byte W08 + .byte Ds2 + .byte W08 + .byte Fs1 + .byte W08 + .byte As1 + .byte W08 + .byte N32 , Ds2 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W06 + .byte MOD , 6 + .byte W14 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N08 , As1 + .byte W08 + .byte Fs1 + .byte W08 + .byte As1 + .byte W08 + .byte Ds2 + .byte W08 + .byte Fs2 + .byte W08 + .byte Fn2 + .byte W08 + .byte Dn2 + .byte W08 + .byte As1 + .byte W08 + .byte N24 , Fn2 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N16 , Fn1 + .byte W16 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N08 , An1 + .byte W08 + .byte N16 , Cn2 + .byte W16 + .byte MOD , 0 + .byte N08 , Fn1 + .byte W08 + .byte N12 , As1 + .byte W12 + .byte As1 , v080 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte N06 , Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Ds2 + .byte W12 + .byte As1 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Ds2 + .byte W12 + .byte N12 + .byte W24 + .byte N06 , As1 + .byte W06 + .byte N06 + .byte W06 + .byte Ds2 + .byte W06 + .byte As1 + .byte W06 + .byte N12 , Fs2 + .byte W12 + .byte As2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Ds2 + .byte W12 + .byte As1 + .byte W12 + .byte Ds2 + .byte W12 + .byte Fs2 + .byte W12 + .byte N48 , Fn2 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 6 + .byte W24 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N48 , Fn1 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 6 + .byte W24 +mus_sattower_6_000: + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte N12 , As1 , v080 + .byte W84 + .byte PEND + .byte W24 + .byte N24 , Dn2 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N24 , As1 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N24 , Fn1 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte PATT + .word mus_sattower_6_000 + .byte W24 + .byte N24 , As1 , v080 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 4 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N24 , Dn2 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 4 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N24 , Fn2 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 4 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte N12 , Ds2 + .byte W12 + .byte Fs2 + .byte W12 + .byte As1 + .byte W12 + .byte N48 , Ds2 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 6 + .byte W24 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte As1 + .byte W12 + .byte N24 , Dn2 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W12 + .byte 62*mus_sattower_mvl/mxv + .byte N12 , Cn2 + .byte W12 + .byte As1 + .byte W12 + .byte N32 , Fn1 , v076 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 , Gn1 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 , Gs1 , v084 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 , An1 , v092 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte VOICE , 87 + .byte PAN , c_v+16 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte N12 , As1 , v096 + .byte W06 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W06 + .byte 62*mus_sattower_mvl/mxv + .byte N12 , Fn1 , v080 + .byte W06 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W06 + .byte 62*mus_sattower_mvl/mxv + .byte W36 + .byte N36 , As1 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N18 + .byte W18 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte N06 , Fn1 + .byte W06 + .byte N48 , As1 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W36 + .byte VOL , 62*mus_sattower_mvl/mxv + .byte MOD , 0 + .byte N24 , Fn1 + .byte W12 + .byte VOL , 50*mus_sattower_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte GOTO + .word mus_sattower_6_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 7 **********************@ + +mus_sattower_7: + .byte KEYSH , mus_sattower_key+0 + .byte VOICE , 0 + .byte VOL , 99*mus_sattower_mvl/mxv + .byte PAN , c_v+0 + .byte N24 , En2 , v068 + .byte W24 + .byte N06 , En1 , v048 + .byte W06 + .byte En1 , v040 + .byte W30 + .byte En1 , v048 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte N24 , Cs2 , v056 + .byte W24 + .byte N48 , An2 , v064 + .byte W48 + .byte N06 , En1 , v048 + .byte W06 + .byte En1 , v032 + .byte W06 + .byte En1 , v040 + .byte W06 + .byte En1 , v032 + .byte W06 + .byte En1 , v048 + .byte W12 + .byte En1 , v044 + .byte W06 + .byte En1 , v032 + .byte W06 +mus_sattower_7_B1: + .byte N24 , En2 , v064 + .byte W24 + .byte N06 , En1 , v048 + .byte W06 + .byte En1 , v036 + .byte W30 + .byte En1 , v048 + .byte W06 + .byte En1 , v040 + .byte W06 + .byte N24 , An2 , v056 + .byte W24 + .byte N48 , Cs2 , v064 + .byte W48 + .byte N06 , En1 , v048 + .byte W06 + .byte En1 , v032 + .byte W06 + .byte En1 , v040 + .byte W06 + .byte En1 , v032 + .byte W06 + .byte En1 , v048 + .byte W12 + .byte En1 , v044 + .byte W06 + .byte En1 , v032 + .byte W06 + .byte En1 , v048 + .byte W18 + .byte N06 + .byte W06 + .byte N03 + .byte W03 + .byte En1 , v028 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v048 + .byte W18 + .byte N06 + .byte W06 + .byte N03 + .byte W03 + .byte En1 , v028 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte W18 + .byte N06 , En1 , v048 + .byte W06 + .byte N24 , An2 , v060 + .byte W18 + .byte N06 , En1 , v048 + .byte W06 + .byte N24 , Cs2 , v064 + .byte W24 + .byte N06 , En1 , v048 + .byte W06 + .byte En1 , v032 + .byte W06 + .byte En1 , v044 + .byte W12 + .byte W12 + .byte N04 , En1 , v048 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N06 , En1 , v064 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N24 , An2 , v060 + .byte W24 + .byte N08 , En1 , v064 + .byte W32 + .byte N08 + .byte W08 + .byte N08 + .byte W08 + .byte N03 + .byte W03 + .byte En1 , v028 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N12 , En1 , v048 + .byte W12 + .byte N12 + .byte W28 + .byte N04 , En1 , v040 + .byte W04 + .byte En1 , v032 + .byte W04 + .byte N12 , En1 , v048 + .byte W12 + .byte N12 + .byte W28 + .byte N04 , En1 , v040 + .byte W04 + .byte En1 , v032 + .byte W04 + .byte N12 , En1 , v048 + .byte W12 + .byte N12 + .byte W28 + .byte N04 , En1 , v040 + .byte W04 + .byte En1 , v032 + .byte W04 + .byte N12 , En1 , v048 + .byte W12 + .byte N12 + .byte W28 + .byte N04 , En1 , v040 + .byte W04 + .byte En1 , v028 + .byte W04 + .byte W12 + .byte N12 , En1 , v048 + .byte W24 + .byte N12 + .byte W24 + .byte N06 + .byte W06 + .byte En1 , v032 + .byte W06 + .byte En1 , v048 + .byte W12 + .byte N06 + .byte W06 + .byte En1 , v040 + .byte W06 + .byte W12 + .byte En1 , v052 + .byte W06 + .byte En1 , v032 + .byte W06 + .byte En1 , v056 + .byte W06 + .byte En1 , v032 + .byte W12 + .byte N06 + .byte W06 + .byte En1 , v052 + .byte W12 + .byte En1 , v044 + .byte W06 + .byte En1 , v032 + .byte W06 + .byte N03 , En1 , v048 + .byte W03 + .byte En1 , v028 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N24 , En2 , v060 + .byte W24 + .byte N06 , En1 , v056 + .byte W06 + .byte En1 , v032 + .byte W06 + .byte En1 , v044 + .byte W06 + .byte En1 , v032 + .byte W18 + .byte En1 , v056 + .byte W06 + .byte En1 , v032 + .byte W06 + .byte En1 , v056 + .byte W06 + .byte En1 , v032 + .byte W06 + .byte En1 , v044 + .byte W06 + .byte En1 , v032 + .byte W06 + .byte W12 + .byte En1 , v056 + .byte W12 + .byte N06 + .byte W06 + .byte En1 , v032 + .byte W06 + .byte En1 , v044 + .byte W06 + .byte En1 , v032 + .byte W06 + .byte En1 , v056 + .byte W12 + .byte N06 + .byte W06 + .byte En1 , v032 + .byte W06 + .byte N03 , En1 , v056 + .byte W03 + .byte En1 , v028 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N24 , Bn2 , v064 + .byte W24 + .byte N06 , En1 , v056 + .byte W06 + .byte En1 , v040 + .byte W06 + .byte En1 , v044 + .byte W06 + .byte En1 , v040 + .byte W18 + .byte En1 , v056 + .byte W06 + .byte En1 , v040 + .byte W06 + .byte En1 , v056 + .byte W06 + .byte En1 , v032 + .byte W06 + .byte En1 , v048 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte W12 + .byte En1 , v056 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W03 + .byte En1 , v028 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N48 , An2 , v068 + .byte W96 + .byte En2 , v064 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 0 + .byte VOL , 99*mus_sattower_mvl/mxv + .byte PAN , c_v+0 + .byte N24 + .byte W24 + .byte N06 , En1 , v048 + .byte W06 + .byte N06 + .byte W30 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N24 , An2 , v064 + .byte W24 + .byte W48 + .byte N06 , En1 , v048 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte GOTO + .word mus_sattower_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_sattower: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_sattower_pri @ Priority + .byte mus_sattower_rev @ Reverb. + + .word mus_sattower_grp + + .word mus_sattower_1 + .word mus_sattower_2 + .word mus_sattower_3 + .word mus_sattower_4 + .word mus_sattower_5 + .word mus_sattower_6 + .word mus_sattower_7 + + .end diff --git a/sound/songs/mus_shinka.s b/sound/songs/mus_shinka.s new file mode 100644 index 0000000000..a5128af3de --- /dev/null +++ b/sound/songs/mus_shinka.s @@ -0,0 +1,923 @@ + .include "MPlayDef.s" + + .equ mus_shinka_grp, voicegroup_867B3A4 + .equ mus_shinka_pri, 0 + .equ mus_shinka_rev, reverb_set+50 + .equ mus_shinka_mvl, 127 + .equ mus_shinka_key, 0 + .equ mus_shinka_tbs, 1 + .equ mus_shinka_exg, 0 + .equ mus_shinka_cmp, 1 + + .section .rodata + .global mus_shinka + .align 2 + +@********************** Track 1 **********************@ + +mus_shinka_1: + .byte KEYSH , mus_shinka_key+0 + .byte TEMPO , 120*mus_shinka_tbs/2 + .byte VOICE , 60 + .byte VOL , 80*mus_shinka_mvl/mxv + .byte N06 , Gn3 , v080 + .byte W24 + .byte Gn3 , v056 + .byte W24 + .byte Gn3 , v060 + .byte W24 + .byte Gn3 , v064 + .byte W24 +mus_shinka_1_000: + .byte N06 , Gn3 , v068 + .byte W24 + .byte Gn3 , v072 + .byte W24 + .byte Gn3 , v076 + .byte W24 + .byte N24 , An3 , v080 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte PEND +mus_shinka_1_001: + .byte MOD , 0 + .byte N06 , Gn3 , v080 + .byte W24 + .byte Gn3 , v056 + .byte W24 + .byte Gn3 , v060 + .byte W24 + .byte Gn3 , v064 + .byte W24 + .byte PEND +mus_shinka_1_002: + .byte N06 , Gn3 , v068 + .byte W24 + .byte Gn3 , v072 + .byte W24 + .byte Gn3 , v076 + .byte W24 + .byte N24 , Bn3 , v080 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte PEND + .byte PATT + .word mus_shinka_1_001 + .byte PATT + .word mus_shinka_1_000 + .byte PATT + .word mus_shinka_1_001 + .byte PATT + .word mus_shinka_1_002 +mus_shinka_1_B1: +mus_shinka_1_003: + .byte MOD , 0 + .byte N06 , An3 , v080 + .byte W24 + .byte An3 , v056 + .byte W24 + .byte An3 , v060 + .byte W24 + .byte An3 , v064 + .byte W24 + .byte PEND +mus_shinka_1_004: + .byte N06 , An3 , v068 + .byte W24 + .byte An3 , v072 + .byte W24 + .byte An3 , v076 + .byte W24 + .byte N24 , Bn3 , v080 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte PEND + .byte PATT + .word mus_shinka_1_003 +mus_shinka_1_005: + .byte N06 , An3 , v068 + .byte W24 + .byte An3 , v072 + .byte W24 + .byte An3 , v076 + .byte W24 + .byte N24 , Cs4 , v080 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte PEND + .byte PATT + .word mus_shinka_1_003 + .byte PATT + .word mus_shinka_1_004 + .byte PATT + .word mus_shinka_1_003 + .byte PATT + .word mus_shinka_1_005 + .byte GOTO + .word mus_shinka_1_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 2 **********************@ + +mus_shinka_2: + .byte KEYSH , mus_shinka_key+0 + .byte VOICE , 60 + .byte PAN , c_v+16 + .byte VOL , 80*mus_shinka_mvl/mxv + .byte N06 , Cn3 , v080 + .byte W24 + .byte Dn3 , v056 + .byte W24 + .byte Cn3 , v060 + .byte W24 + .byte Dn3 , v064 + .byte W24 +mus_shinka_2_000: + .byte N06 , Cn3 , v068 + .byte W24 + .byte Dn3 , v072 + .byte W24 + .byte Cn3 , v076 + .byte W24 + .byte N24 , Dn3 , v080 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte PEND +mus_shinka_2_001: + .byte MOD , 0 + .byte N06 , Cn3 , v080 + .byte W24 + .byte Dn3 , v056 + .byte W24 + .byte Cn3 , v060 + .byte W24 + .byte Dn3 , v064 + .byte W24 + .byte PEND +mus_shinka_2_002: + .byte N06 , Cn3 , v068 + .byte W24 + .byte Dn3 , v072 + .byte W24 + .byte Cn3 , v076 + .byte W24 + .byte N24 , Fs3 , v080 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte PEND + .byte PATT + .word mus_shinka_2_001 + .byte PATT + .word mus_shinka_2_000 + .byte PATT + .word mus_shinka_2_001 + .byte PATT + .word mus_shinka_2_002 +mus_shinka_2_B1: +mus_shinka_2_003: + .byte MOD , 0 + .byte N06 , Dn3 , v080 + .byte W24 + .byte En3 , v056 + .byte W24 + .byte Dn3 , v060 + .byte W24 + .byte En3 , v064 + .byte W24 + .byte PEND +mus_shinka_2_004: + .byte N06 , Dn3 , v068 + .byte W24 + .byte En3 , v072 + .byte W24 + .byte Dn3 , v076 + .byte W24 + .byte N24 , En3 , v080 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte PEND + .byte PATT + .word mus_shinka_2_003 +mus_shinka_2_005: + .byte N06 , Dn3 , v068 + .byte W24 + .byte En3 , v072 + .byte W24 + .byte Dn3 , v076 + .byte W24 + .byte N24 , Gs3 , v080 + .byte W09 + .byte MOD , 6 + .byte W15 + .byte PEND + .byte PATT + .word mus_shinka_2_003 + .byte PATT + .word mus_shinka_2_004 + .byte PATT + .word mus_shinka_2_003 + .byte PATT + .word mus_shinka_2_005 + .byte GOTO + .word mus_shinka_2_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 3 **********************@ + +mus_shinka_3: + .byte KEYSH , mus_shinka_key+0 + .byte VOICE , 81 + .byte VOL , 80*mus_shinka_mvl/mxv + .byte N06 , Cn1 , v080 + .byte W24 + .byte Dn1 + .byte W24 + .byte Cn1 + .byte W24 + .byte Dn1 + .byte W24 +mus_shinka_3_000: + .byte N06 , Cn1 , v080 + .byte W24 + .byte Dn1 + .byte W24 + .byte Cn1 + .byte W24 + .byte N24 , Dn1 + .byte W24 + .byte PEND + .byte N06 , Cn1 + .byte W24 + .byte Dn1 + .byte W24 + .byte Cn1 + .byte W24 + .byte Dn1 + .byte W24 + .byte PATT + .word mus_shinka_3_000 +mus_shinka_3_001: + .byte N03 , Cn2 , v080 + .byte W12 + .byte Cn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Dn2 + .byte W12 + .byte Dn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Cn2 + .byte W12 + .byte Cn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Dn2 + .byte W12 + .byte Dn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte PEND + .byte PATT + .word mus_shinka_3_001 + .byte PATT + .word mus_shinka_3_001 + .byte PATT + .word mus_shinka_3_001 +mus_shinka_3_B1: +mus_shinka_3_002: + .byte N03 , Dn2 , v080 + .byte W12 + .byte Dn1 + .byte W06 + .byte An1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte An1 + .byte W06 + .byte Dn2 + .byte W12 + .byte Dn1 + .byte W06 + .byte An1 + .byte W06 + .byte En2 + .byte W12 + .byte En1 + .byte W06 + .byte An1 + .byte W06 + .byte PEND + .byte PATT + .word mus_shinka_3_002 + .byte PATT + .word mus_shinka_3_002 + .byte PATT + .word mus_shinka_3_002 + .byte PATT + .word mus_shinka_3_002 + .byte PATT + .word mus_shinka_3_002 + .byte PATT + .word mus_shinka_3_002 + .byte PATT + .word mus_shinka_3_002 + .byte GOTO + .word mus_shinka_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_shinka_4: + .byte KEYSH , mus_shinka_key+0 + .byte VOICE , 47 + .byte VOL , 80*mus_shinka_mvl/mxv + .byte PAN , c_v-6 + .byte N12 , Cn2 , v112 + .byte W24 + .byte Dn2 + .byte W24 + .byte Cn2 + .byte W24 + .byte Dn2 + .byte W24 + .byte Cn2 + .byte W24 + .byte Dn2 + .byte W24 + .byte Cn2 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Dn2 , v127 + .byte W06 + .byte Dn2 , v108 + .byte W06 + .byte Dn2 , v112 + .byte W06 + .byte Dn2 , v120 + .byte W06 + .byte N12 , Cn2 , v112 + .byte W24 + .byte Dn2 + .byte W24 + .byte Cn2 + .byte W24 + .byte Dn2 + .byte W24 + .byte Cn2 + .byte W24 + .byte Dn2 + .byte W24 + .byte Cn2 + .byte W24 + .byte N06 , Dn2 , v127 + .byte W06 + .byte Dn2 , v108 + .byte W06 + .byte Dn2 , v112 + .byte W06 + .byte Dn2 , v120 + .byte W06 +mus_shinka_4_000: + .byte N12 , Cn2 , v112 + .byte W24 + .byte Dn2 + .byte W24 + .byte Cn2 + .byte W24 + .byte Dn2 + .byte W12 + .byte N12 + .byte W12 + .byte PEND +mus_shinka_4_001: + .byte N12 , Cn2 , v112 + .byte W24 + .byte Dn2 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Cn2 + .byte W24 + .byte N06 , Dn2 , v127 + .byte W06 + .byte Dn2 , v108 + .byte W06 + .byte Dn2 , v112 + .byte W06 + .byte Dn2 , v120 + .byte W06 + .byte PEND + .byte PATT + .word mus_shinka_4_000 + .byte PATT + .word mus_shinka_4_001 +mus_shinka_4_B1: +mus_shinka_4_002: + .byte N12 , Dn2 , v112 + .byte W24 + .byte En2 + .byte W24 + .byte Dn2 + .byte W24 + .byte En2 + .byte W12 + .byte N12 + .byte W12 + .byte PEND +mus_shinka_4_003: + .byte N12 , Dn2 , v112 + .byte W24 + .byte En2 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Dn2 + .byte W24 + .byte N06 , En2 , v127 + .byte W06 + .byte En2 , v108 + .byte W06 + .byte En2 , v112 + .byte W06 + .byte En2 , v120 + .byte W06 + .byte PEND + .byte PATT + .word mus_shinka_4_002 +mus_shinka_4_004: + .byte N15 , Dn2 , v112 + .byte W24 + .byte N12 , En2 + .byte W18 + .byte N06 + .byte W06 + .byte N12 , Dn2 + .byte W24 + .byte N06 , En2 , v127 + .byte W06 + .byte En2 , v108 + .byte W06 + .byte En2 , v112 + .byte W06 + .byte En2 , v120 + .byte W06 + .byte PEND + .byte PATT + .word mus_shinka_4_002 + .byte PATT + .word mus_shinka_4_004 + .byte PATT + .word mus_shinka_4_002 + .byte PATT + .word mus_shinka_4_003 + .byte GOTO + .word mus_shinka_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_shinka_5: + .byte KEYSH , mus_shinka_key+0 + .byte VOICE , 83 + .byte PAN , c_v-47 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 80*mus_shinka_mvl/mxv + .byte N06 , Cn3 , v056 + .byte W24 + .byte Dn3 , v032 + .byte W24 + .byte Cn3 , v036 + .byte W24 + .byte Dn3 , v040 + .byte W24 +mus_shinka_5_000: + .byte N06 , Cn3 , v044 + .byte W24 + .byte Dn3 , v048 + .byte W24 + .byte Cn3 , v052 + .byte W24 + .byte N24 , Dn3 , v056 + .byte W24 + .byte PEND +mus_shinka_5_001: + .byte N06 , Cn3 , v056 + .byte W24 + .byte Dn3 , v032 + .byte W24 + .byte Cn3 , v036 + .byte W24 + .byte Dn3 , v040 + .byte W24 + .byte PEND + .byte PATT + .word mus_shinka_5_000 + .byte PATT + .word mus_shinka_5_001 + .byte PATT + .word mus_shinka_5_000 + .byte PATT + .word mus_shinka_5_001 + .byte PATT + .word mus_shinka_5_000 +mus_shinka_5_B1: +mus_shinka_5_002: + .byte N06 , Dn3 , v056 + .byte W24 + .byte En3 , v032 + .byte W24 + .byte Dn3 , v036 + .byte W24 + .byte En3 , v040 + .byte W24 + .byte PEND +mus_shinka_5_003: + .byte N06 , Dn3 , v044 + .byte W24 + .byte En3 , v048 + .byte W24 + .byte Dn3 , v052 + .byte W24 + .byte N24 , En3 , v056 + .byte W24 + .byte PEND + .byte PATT + .word mus_shinka_5_002 + .byte PATT + .word mus_shinka_5_003 + .byte PATT + .word mus_shinka_5_002 + .byte PATT + .word mus_shinka_5_003 + .byte PATT + .word mus_shinka_5_002 + .byte PATT + .word mus_shinka_5_003 + .byte GOTO + .word mus_shinka_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_shinka_6: + .byte KEYSH , mus_shinka_key+0 + .byte VOICE , 84 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte PAN , c_v+48 + .byte VOL , 80*mus_shinka_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , An2 , v056 + .byte W24 + .byte Bn2 , v032 + .byte W24 + .byte An2 , v036 + .byte W24 + .byte Bn2 , v040 + .byte W24 +mus_shinka_6_000: + .byte N06 , An2 , v044 + .byte W24 + .byte Bn2 , v048 + .byte W24 + .byte An2 , v052 + .byte W24 + .byte N24 , Bn2 , v056 + .byte W24 + .byte PEND +mus_shinka_6_001: + .byte N06 , An2 , v056 + .byte W24 + .byte Bn2 , v032 + .byte W24 + .byte An2 , v036 + .byte W24 + .byte Bn2 , v040 + .byte W24 + .byte PEND + .byte PATT + .word mus_shinka_6_000 + .byte PATT + .word mus_shinka_6_001 + .byte PATT + .word mus_shinka_6_000 + .byte PATT + .word mus_shinka_6_001 + .byte PATT + .word mus_shinka_6_000 +mus_shinka_6_B1: +mus_shinka_6_002: + .byte N06 , Bn2 , v056 + .byte W24 + .byte Cs3 , v032 + .byte W24 + .byte Bn2 , v036 + .byte W24 + .byte Cs3 , v040 + .byte W24 + .byte PEND +mus_shinka_6_003: + .byte N06 , Bn2 , v044 + .byte W24 + .byte Cs3 , v048 + .byte W24 + .byte Bn2 , v052 + .byte W24 + .byte N24 , Cs3 , v056 + .byte W24 + .byte PEND + .byte PATT + .word mus_shinka_6_002 + .byte PATT + .word mus_shinka_6_003 + .byte PATT + .word mus_shinka_6_002 + .byte PATT + .word mus_shinka_6_003 + .byte PATT + .word mus_shinka_6_002 + .byte PATT + .word mus_shinka_6_003 + .byte GOTO + .word mus_shinka_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_shinka_7: + .byte VOL , 80*mus_shinka_mvl/mxv + .byte KEYSH , mus_shinka_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte N06 , En1 , v112 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N03 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v112 + .byte W03 + .byte En1 , v072 + .byte W03 + .byte En1 , v076 + .byte W03 + .byte En1 , v088 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v100 + .byte W03 + .byte En1 , v112 + .byte W03 + .byte N06 + .byte W12 + .byte En1 , v080 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v080 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v080 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte En1 , v080 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v080 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte En1 , v080 + .byte W12 + .byte N03 , En1 , v127 + .byte W03 + .byte En1 , v088 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte En1 , v108 + .byte W03 + .byte En1 , v112 + .byte W03 + .byte En1 , v116 + .byte W03 + .byte En1 , v120 + .byte W03 + .byte N06 , En1 , v127 + .byte W12 + .byte En1 , v100 + .byte W12 + .byte En1 , v127 + .byte W12 + .byte En1 , v096 + .byte W12 + .byte En1 , v127 + .byte W12 + .byte En1 , v096 + .byte W12 + .byte En1 , v127 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte En1 , v100 + .byte W12 + .byte En1 , v127 + .byte W12 + .byte En1 , v096 + .byte W12 + .byte En1 , v127 + .byte W12 + .byte En1 , v096 + .byte W12 + .byte N03 , En1 , v127 + .byte W03 + .byte En1 , v088 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte En1 , v108 + .byte W03 + .byte En1 , v112 + .byte W03 + .byte En1 , v116 + .byte W03 + .byte En1 , v120 + .byte W03 +mus_shinka_7_000: + .byte N06 , En1 , v127 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte En1 , v100 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte En1 , v127 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte En1 , v127 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte En1 , v127 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte En1 , v127 + .byte W06 + .byte N06 + .byte W06 + .byte PEND +mus_shinka_7_001: + .byte N06 , En1 , v127 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte En1 , v100 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte En1 , v127 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte En1 , v127 + .byte W06 + .byte En1 , v036 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte En1 , v127 + .byte W06 + .byte N03 + .byte W03 + .byte En1 , v088 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte En1 , v108 + .byte W03 + .byte En1 , v112 + .byte W03 + .byte En1 , v116 + .byte W03 + .byte En1 , v120 + .byte W03 + .byte PEND +mus_shinka_7_B1: + .byte PATT + .word mus_shinka_7_000 + .byte PATT + .word mus_shinka_7_001 + .byte PATT + .word mus_shinka_7_000 + .byte PATT + .word mus_shinka_7_001 + .byte PATT + .word mus_shinka_7_000 + .byte PATT + .word mus_shinka_7_001 + .byte PATT + .word mus_shinka_7_000 + .byte PATT + .word mus_shinka_7_001 + .byte GOTO + .word mus_shinka_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_shinka: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_shinka_pri @ Priority + .byte mus_shinka_rev @ Reverb. + + .word mus_shinka_grp + + .word mus_shinka_1 + .word mus_shinka_2 + .word mus_shinka_3 + .word mus_shinka_4 + .word mus_shinka_5 + .word mus_shinka_6 + .word mus_shinka_7 + + .end diff --git a/sound/songs/mus_sitennou.s b/sound/songs/mus_sitennou.s new file mode 100644 index 0000000000..9a30c40c72 --- /dev/null +++ b/sound/songs/mus_sitennou.s @@ -0,0 +1,2344 @@ + .include "MPlayDef.s" + + .equ mus_sitennou_grp, voicegroup_8692E7C + .equ mus_sitennou_pri, 0 + .equ mus_sitennou_rev, reverb_set+50 + .equ mus_sitennou_mvl, 127 + .equ mus_sitennou_key, 0 + .equ mus_sitennou_tbs, 1 + .equ mus_sitennou_exg, 0 + .equ mus_sitennou_cmp, 1 + + .section .rodata + .global mus_sitennou + .align 2 + +@********************** Track 1 **********************@ + +mus_sitennou_1: + .byte KEYSH , mus_sitennou_key+0 + .byte TEMPO , 134*mus_sitennou_tbs/2 + .byte VOICE , 127 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 51*mus_sitennou_mvl/mxv + .byte PAN , c_v+62 + .byte W24 +mus_sitennou_1_B1: +mus_sitennou_1_000: + .byte W12 + .byte N03 , Gn5 , v072 + .byte W06 + .byte N03 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte PEND + .byte PATT + .word mus_sitennou_1_000 + .byte PATT + .word mus_sitennou_1_000 + .byte PATT + .word mus_sitennou_1_000 + .byte PATT + .word mus_sitennou_1_000 + .byte PATT + .word mus_sitennou_1_000 + .byte PATT + .word mus_sitennou_1_000 + .byte PATT + .word mus_sitennou_1_000 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_sitennou_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_sitennou_2: + .byte KEYSH , mus_sitennou_key+0 + .byte VOICE , 38 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 78*mus_sitennou_mvl/mxv + .byte W24 +mus_sitennou_2_B1: + .byte VOICE , 38 + .byte BEND , c_v-5 + .byte N12 , Bn0 , v112 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N03 , Fs1 + .byte W06 + .byte N06 , Bn0 + .byte W06 + .byte N12 , Fn1 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N06 , Bn0 + .byte W12 + .byte N12 , As1 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N12 , Fs1 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N06 , Bn0 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte BEND , c_v-4 + .byte N12 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N12 , Bn0 + .byte W12 + .byte N03 , Fs1 + .byte W06 + .byte N06 , Bn0 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Bn0 + .byte W36 + .byte BEND , c_v-6 + .byte N24 , Cn1 + .byte W06 + .byte BEND , c_v+0 + .byte W18 + .byte c_v-5 + .byte N12 , Bn0 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N03 , Fs1 + .byte W06 + .byte N06 , Bn0 + .byte W06 + .byte N12 , Fn1 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N06 , Bn0 + .byte W12 + .byte N12 , As1 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N12 , Fs1 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N06 , Bn0 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte BEND , c_v-4 + .byte N12 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N12 , Bn0 + .byte W12 + .byte N03 , Fs1 + .byte W06 + .byte N06 , Bn0 + .byte W06 + .byte N12 , Fn1 + .byte W12 + .byte N06 , Bn0 + .byte W36 + .byte BEND , c_v-6 + .byte N06 + .byte W06 + .byte BEND , c_v+0 + .byte N06 , Cn1 + .byte W06 + .byte En1 + .byte W06 + .byte Fs1 + .byte W06 +mus_sitennou_2_000: + .byte BEND , c_v-5 + .byte N12 , Dn1 , v112 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N06 , Dn1 + .byte W06 + .byte N12 , Gs1 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N06 , Dn1 + .byte W12 + .byte N12 , Cs2 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N12 , An1 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N06 , Dn1 + .byte W06 + .byte N03 , Ds1 + .byte W06 + .byte BEND , c_v-4 + .byte N12 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte PEND + .byte N12 , Dn1 + .byte W12 + .byte N03 , An1 + .byte W06 + .byte N06 , Dn1 + .byte W06 + .byte N12 , Gs1 + .byte W12 + .byte N06 , Dn1 + .byte W24 + .byte N03 , An0 + .byte W06 + .byte N03 + .byte W06 + .byte BEND , c_v-6 + .byte N24 , Ds1 + .byte W06 + .byte BEND , c_v+0 + .byte W18 + .byte PATT + .word mus_sitennou_2_000 + .byte BEND , c_v-5 + .byte N12 , Dn1 , v112 + .byte W06 + .byte BEND , c_v+0 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte N06 , Dn1 + .byte W06 + .byte N12 , Gs1 + .byte W06 + .byte BEND , c_v+4 + .byte W06 + .byte c_v+0 + .byte N06 , Dn1 + .byte W12 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 + .byte An0 + .byte W06 + .byte Cn1 + .byte W06 + .byte As0 + .byte W18 +mus_sitennou_2_001: + .byte BEND , c_v-5 + .byte N06 , Dn1 , v112 + .byte W06 + .byte BEND , c_v+0 + .byte N03 , Dn2 + .byte W06 + .byte An1 + .byte W06 + .byte N06 , Dn2 + .byte W06 + .byte Cs1 + .byte W06 + .byte BEND , c_v+4 + .byte N03 , Cs2 + .byte W06 + .byte BEND , c_v+0 + .byte N03 , Gs1 + .byte W06 + .byte N06 , Cs2 + .byte W06 + .byte Cn1 + .byte W06 + .byte BEND , c_v+4 + .byte N03 , Cn2 + .byte W06 + .byte BEND , c_v+0 + .byte N03 , Gn1 + .byte W06 + .byte BEND , c_v+4 + .byte N06 , Cn2 + .byte W06 + .byte BEND , c_v+0 + .byte N03 , Bn0 + .byte W03 + .byte Cn1 + .byte W03 + .byte Bn0 + .byte W03 + .byte Cn1 + .byte W03 + .byte BEND , c_v-4 + .byte N03 , Bn0 + .byte W03 + .byte Cn1 + .byte W03 + .byte BEND , c_v+0 + .byte N03 , Bn0 + .byte W03 + .byte Cn1 + .byte W03 + .byte PEND + .byte N06 , Dn1 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte An1 + .byte W06 + .byte N06 , Dn2 + .byte W06 + .byte Cs1 + .byte W06 + .byte N03 , Cs2 + .byte W06 + .byte Gs1 + .byte W06 + .byte N06 , Cs2 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte Gn1 + .byte W06 + .byte N06 , Cn2 + .byte W06 + .byte BEND , c_v-6 + .byte N03 , Bn0 + .byte W03 + .byte Cn1 + .byte W03 + .byte BEND , c_v+0 + .byte N03 , Bn0 + .byte W03 + .byte Cn1 + .byte W03 + .byte Bn0 + .byte W03 + .byte Cn1 + .byte W03 + .byte Bn0 + .byte W03 + .byte Cn1 + .byte W03 + .byte PATT + .word mus_sitennou_2_001 + .byte N06 , An0 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , As0 + .byte W12 + .byte N03 , An0 + .byte W06 + .byte An1 + .byte W06 + .byte N12 , An0 + .byte W12 + .byte N24 , An1 + .byte W03 + .byte BEND , c_v-6 + .byte W02 + .byte c_v-12 + .byte W03 + .byte c_v-20 + .byte W04 + .byte c_v-28 + .byte W02 + .byte c_v-38 + .byte W03 + .byte c_v-48 + .byte W03 + .byte c_v-59 + .byte W04 + .byte GOTO + .word mus_sitennou_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_sitennou_3: + .byte KEYSH , mus_sitennou_key+0 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 68*mus_sitennou_mvl/mxv + .byte PAN , c_v-1 + .byte W24 +mus_sitennou_3_B1: + .byte VOICE , 13 + .byte PAN , c_v-32 + .byte VOL , 64*mus_sitennou_mvl/mxv + .byte W12 + .byte N03 , Bn5 , v088 + .byte W03 + .byte N06 , Bn5 , v036 + .byte W09 + .byte PAN , c_v-23 + .byte N03 , An5 , v096 + .byte W03 + .byte N06 , An5 , v036 + .byte W09 + .byte PAN , c_v-7 + .byte N03 , Gn5 , v096 + .byte W03 + .byte N06 , Gn5 , v036 + .byte W09 + .byte PAN , c_v+20 + .byte N03 , Fs5 , v096 + .byte W03 + .byte Fs5 , v036 + .byte W03 + .byte En5 , v096 + .byte W03 + .byte N06 , En5 , v036 + .byte W09 + .byte N03 , Dn5 , v096 + .byte W03 + .byte N06 , Dn5 , v036 + .byte W03 + .byte PAN , c_v+28 + .byte W06 + .byte N03 , Fs5 , v096 + .byte W03 + .byte Fs5 , v036 + .byte W03 + .byte N12 , Bn4 , v096 + .byte W12 + .byte VOICE , 24 + .byte PAN , c_v-26 + .byte VOL , 73*mus_sitennou_mvl/mxv + .byte MOD , 8 + .byte N12 , Bn1 , v112 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Cn2 + .byte W12 + .byte MOD , 19 + .byte W12 + .byte 8 + .byte N09 , An1 + .byte W09 + .byte N03 , As1 + .byte W03 + .byte VOICE , 24 + .byte MOD , 0 + .byte PAN , c_v+32 + .byte VOL , 58*mus_sitennou_mvl/mxv + .byte W12 + .byte N03 , Bn5 + .byte W03 + .byte N06 , Bn5 , v036 + .byte W09 + .byte PAN , c_v+29 + .byte N03 , An5 , v112 + .byte W03 + .byte N06 , An5 , v036 + .byte W06 + .byte PAN , c_v+16 + .byte W03 + .byte N03 , Gn5 , v112 + .byte W03 + .byte N06 , Gn5 , v036 + .byte W09 + .byte PAN , c_v-16 + .byte N03 , Fs5 , v112 + .byte W03 + .byte Fs5 , v036 + .byte W03 + .byte En5 , v112 + .byte W03 + .byte N06 , En5 , v036 + .byte W09 + .byte N03 , Dn5 , v112 + .byte W03 + .byte N06 , Dn5 , v036 + .byte W03 + .byte PAN , c_v-27 + .byte W06 + .byte N03 , As4 , v112 + .byte W03 + .byte As4 , v036 + .byte W03 + .byte N12 , Fs5 , v112 + .byte W12 + .byte VOICE , 56 + .byte PAN , c_v-27 + .byte VOL , 73*mus_sitennou_mvl/mxv + .byte MOD , 8 + .byte N12 , Bn1 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W03 + .byte PAN , c_v-27 + .byte W03 + .byte VOICE , 17 + .byte VOL , 68*mus_sitennou_mvl/mxv + .byte N03 , Cn4 , v064 + .byte W03 + .byte Cs4 + .byte W03 + .byte PAN , c_v-14 + .byte N03 , Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte PAN , c_v+18 + .byte N03 , Fs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte PAN , c_v+32 + .byte N03 , Fs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte An4 + .byte W03 + .byte As4 + .byte W03 + .byte VOICE , 13 + .byte MOD , 0 + .byte PAN , c_v-32 + .byte VOL , 64*mus_sitennou_mvl/mxv + .byte W12 + .byte N03 , Dn6 , v080 + .byte W03 + .byte N06 , Dn6 , v036 + .byte W09 + .byte PAN , c_v-24 + .byte N03 , Cn6 , v096 + .byte W03 + .byte N06 , Cn6 , v036 + .byte W09 + .byte PAN , c_v-8 + .byte N03 , As5 , v096 + .byte W03 + .byte N06 , As5 , v036 + .byte W09 + .byte PAN , c_v+19 + .byte N03 , An5 , v096 + .byte W03 + .byte An5 , v036 + .byte W03 + .byte Gn5 , v096 + .byte W03 + .byte N06 , Gn5 , v036 + .byte W09 + .byte N03 , Fn5 , v096 + .byte W03 + .byte N06 , Fn5 , v036 + .byte W03 + .byte PAN , c_v+32 + .byte W06 + .byte N03 , An5 , v096 + .byte W03 + .byte An5 , v036 + .byte W03 + .byte N12 , Dn5 , v096 + .byte W12 + .byte VOICE , 24 + .byte PAN , c_v-27 + .byte VOL , 74*mus_sitennou_mvl/mxv + .byte MOD , 9 + .byte N12 , Dn2 , v112 + .byte W12 + .byte N03 , Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Ds2 + .byte W03 + .byte MOD , 15 + .byte W09 + .byte VOICE , 24 + .byte VOL , 68*mus_sitennou_mvl/mxv + .byte PAN , c_v+24 + .byte MOD , 9 + .byte N03 , An5 , v088 + .byte W03 + .byte As5 , v068 + .byte W03 + .byte An5 , v064 + .byte W06 + .byte Gn5 , v088 + .byte W06 + .byte Fn5 , v076 + .byte W06 + .byte VOICE , 24 + .byte MOD , 0 + .byte PAN , c_v+32 + .byte VOL , 58*mus_sitennou_mvl/mxv + .byte W12 + .byte N03 , Dn6 , v092 + .byte W03 + .byte N06 , Dn6 , v036 + .byte W09 + .byte PAN , c_v+21 + .byte N03 , Cn6 , v096 + .byte W03 + .byte N06 , Cn6 , v036 + .byte W09 + .byte PAN , c_v+8 + .byte N03 , As5 , v112 + .byte W03 + .byte N06 , As5 , v036 + .byte W09 + .byte PAN , c_v-16 + .byte N03 , An5 , v112 + .byte W03 + .byte An5 , v036 + .byte W03 + .byte Gn5 , v112 + .byte W03 + .byte N06 , Gn5 , v036 + .byte W09 + .byte N03 , Fn5 , v112 + .byte W03 + .byte N06 , Fn5 , v036 + .byte W03 + .byte PAN , c_v-27 + .byte W06 + .byte N03 , Cs5 , v112 + .byte W03 + .byte Cs5 , v036 + .byte W03 + .byte N12 , An5 , v112 + .byte W12 + .byte VOICE , 56 + .byte PAN , c_v-27 + .byte VOL , 74*mus_sitennou_mvl/mxv + .byte MOD , 9 + .byte N12 , Dn2 + .byte W12 + .byte N03 , Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 17 + .byte VOL , 68*mus_sitennou_mvl/mxv + .byte PAN , c_v+51 + .byte N03 , Ds4 , v064 + .byte W03 + .byte En4 + .byte W03 + .byte PAN , c_v+30 + .byte N03 , Fn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , Fn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte PAN , c_v-17 + .byte N03 , An4 + .byte W03 + .byte PAN , c_v-23 + .byte N03 , As4 + .byte W03 + .byte An4 + .byte W03 + .byte PAN , c_v-38 + .byte N03 , As4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Cs5 + .byte W03 + .byte VOICE , 24 + .byte MOD , 0 + .byte PAN , c_v-12 + .byte BEND , c_v-6 + .byte N03 , An4 , v112 + .byte W06 + .byte BEND , c_v+0 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Gs4 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N12 , Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte VOICE , 56 + .byte PAN , c_v-26 + .byte MOD , 8 + .byte VOL , 78*mus_sitennou_mvl/mxv + .byte N03 , An2 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N06 , As1 + .byte W06 + .byte N12 , Gn2 + .byte W12 + .byte N24 , As2 + .byte W12 + .byte MOD , 21 + .byte W12 + .byte VOICE , 38 + .byte MOD , 10 + .byte PAN , c_v+0 + .byte VOL , 55*mus_sitennou_mvl/mxv + .byte N03 , An4 , v092 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Gs4 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Gn4 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N12 , Gn4 , v076 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte MOD , 0 + .byte N06 , An4 , v084 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte An4 + .byte W06 + .byte N03 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte N03 , An4 + .byte W12 + .byte An3 + .byte W06 + .byte N06 , Gs3 + .byte W06 + .byte N03 , An3 + .byte W12 + .byte VOICE , 17 + .byte PAN , c_v+44 + .byte VOL , 60*mus_sitennou_mvl/mxv + .byte N03 , An4 , v072 + .byte W03 + .byte Gs4 + .byte W03 + .byte PAN , c_v+27 + .byte N03 , Gn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte PAN , c_v-13 + .byte N03 , Fn4 + .byte W03 + .byte En4 + .byte W03 + .byte PAN , c_v-40 + .byte N03 , Ds4 + .byte W03 + .byte Dn4 + .byte W03 + .byte GOTO + .word mus_sitennou_3_B1 + .byte PAN , c_v+6 + .byte FINE + +@********************** Track 4 **********************@ + +mus_sitennou_4: + .byte KEYSH , mus_sitennou_key+0 + .byte VOICE , 126 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-62 + .byte VOL , 27*mus_sitennou_mvl/mxv + .byte W24 +mus_sitennou_4_B1: +mus_sitennou_4_000: + .byte N06 , En5 , v112 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte PEND + .byte PATT + .word mus_sitennou_4_000 + .byte PATT + .word mus_sitennou_4_000 + .byte PATT + .word mus_sitennou_4_000 + .byte PATT + .word mus_sitennou_4_000 + .byte PATT + .word mus_sitennou_4_000 + .byte PATT + .word mus_sitennou_4_000 + .byte PATT + .word mus_sitennou_4_000 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_sitennou_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_sitennou_5: + .byte KEYSH , mus_sitennou_key+0 + .byte VOICE , 83 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 39*mus_sitennou_mvl/mxv + .byte PAN , c_v-61 + .byte W24 +mus_sitennou_5_B1: + .byte MOD , 2 + .byte BEND , c_v+0 + .byte N12 , Fs2 , v112 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Gn2 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N09 , En2 + .byte W09 + .byte N03 , Fn2 + .byte W03 + .byte MOD , 2 + .byte N12 , Fs2 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Gn2 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte N03 , Fs2 , v064 + .byte W03 + .byte MOD , 0 + .byte N03 , Fn2 + .byte W03 + .byte En2 + .byte W03 + .byte Ds2 + .byte W03 +mus_sitennou_5_000: + .byte MOD , 2 + .byte N12 , An2 , v112 + .byte W12 + .byte N03 , Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N03 , Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte N03 + .byte W06 + .byte PEND + .byte N12 + .byte W12 + .byte N03 , Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , As2 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , Gn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte PATT + .word mus_sitennou_5_000 + .byte N12 , An2 , v112 + .byte W12 + .byte N03 , Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte As2 + .byte W12 + .byte Cn3 + .byte W06 + .byte As2 + .byte W06 + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W06 + .byte BEND , c_v+0 + .byte N03 , Fn4 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , En4 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N03 , Fn4 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , En4 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte N24 , En4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 2 + .byte N03 , Fn4 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , En4 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Ds4 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N06 , En4 + .byte W06 + .byte N03 , En3 + .byte W06 + .byte En4 + .byte W06 + .byte N03 + .byte W12 + .byte N06 , En3 + .byte W06 + .byte N03 , En4 + .byte W12 + .byte En3 + .byte W12 + .byte N03 + .byte W12 + .byte En4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte Cn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte As3 + .byte W03 + .byte An3 + .byte W03 + .byte GOTO + .word mus_sitennou_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_sitennou_6: + .byte KEYSH , mus_sitennou_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 39*mus_sitennou_mvl/mxv + .byte PAN , c_v+63 + .byte W24 +mus_sitennou_6_B1: + .byte W12 + .byte N03 , Fs5 , v112 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte Cs5 + .byte W06 + .byte N12 , Fs4 + .byte W12 + .byte Fs3 + .byte W12 + .byte N03 , Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Gn3 + .byte W24 + .byte N09 , En3 + .byte W09 + .byte N03 , Fn3 + .byte W03 + .byte W12 + .byte Fs5 + .byte W12 + .byte En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte En4 + .byte W06 + .byte N12 , Bn4 + .byte W12 + .byte Fs3 + .byte W12 + .byte N03 , Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Gn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte An3 + .byte W03 + .byte As3 + .byte W03 + .byte An3 + .byte W03 + .byte As3 + .byte W03 + .byte Cn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Cn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte En4 + .byte W03 + .byte Gn4 + .byte W03 + .byte W12 + .byte An5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte En5 + .byte W06 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte En5 + .byte W06 + .byte N12 , An4 + .byte W12 + .byte An3 + .byte W12 + .byte N03 , Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte N03 , Dn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte As4 + .byte W06 + .byte W12 + .byte An5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte En5 + .byte W06 + .byte Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Gn4 + .byte W06 + .byte N12 , Dn5 + .byte W12 + .byte An3 + .byte W12 + .byte N03 , Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte As3 + .byte W03 + .byte Bn3 + .byte W03 + .byte Cn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte Cn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte As4 + .byte W03 + .byte VOL , 54*mus_sitennou_mvl/mxv + .byte N06 , An5 + .byte W06 + .byte An5 , v036 + .byte W06 + .byte An5 , v112 + .byte W06 + .byte An5 , v036 + .byte W06 + .byte PAN , c_v-61 + .byte W06 + .byte N06 , An5 , v112 + .byte W06 + .byte An5 , v036 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An5 , v112 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 + .byte PAN , c_v-61 + .byte N06 , An5 , v036 + .byte W12 + .byte An5 , v112 + .byte W06 + .byte An5 , v036 + .byte W06 +mus_sitennou_6_000: + .byte PAN , c_v+63 + .byte N06 , An5 , v112 + .byte W06 + .byte An5 , v036 + .byte W06 + .byte An5 , v112 + .byte W06 + .byte An5 , v036 + .byte W06 + .byte PAN , c_v-61 + .byte W06 + .byte N06 , An5 , v112 + .byte W06 + .byte An5 , v036 + .byte W12 + .byte PAN , c_v+63 + .byte N06 , An5 , v112 + .byte W06 + .byte An5 , v036 + .byte W06 + .byte An4 , v112 + .byte W06 + .byte An5 + .byte W06 + .byte PAN , c_v-61 + .byte N06 , An5 , v036 + .byte W12 + .byte An5 , v112 + .byte W06 + .byte An5 , v036 + .byte W06 + .byte PEND + .byte PATT + .word mus_sitennou_6_000 + .byte PAN , c_v+63 + .byte N06 , An4 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v-61 + .byte W06 + .byte N06 + .byte W06 + .byte N03 + .byte W12 + .byte PAN , c_v+63 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte VOL , 39*mus_sitennou_mvl/mxv + .byte N03 , Cs5 + .byte W03 + .byte Cn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte As4 + .byte W03 + .byte An4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte GOTO + .word mus_sitennou_6_B1 + .byte PAN , c_v+63 + .byte FINE + +@********************** Track 7 **********************@ + +mus_sitennou_7: + .byte KEYSH , mus_sitennou_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 66*mus_sitennou_mvl/mxv + .byte N06 , Cn1 , v112 + .byte N24 , An2 , v076 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte N03 , Dn1 + .byte W03 + .byte N03 + .byte W03 + .byte N06 + .byte W06 +mus_sitennou_7_B1: +mus_sitennou_7_000: + .byte N48 , An2 , v112 + .byte W18 + .byte N06 , Cn1 + .byte W06 + .byte En1 + .byte W12 + .byte Cn1 + .byte W24 + .byte N06 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte PEND +mus_sitennou_7_001: + .byte N06 , Cn1 , v112 + .byte W18 + .byte N06 + .byte W06 + .byte En1 + .byte W12 + .byte Cn1 + .byte W24 + .byte N06 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte En1 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_sitennou_7_000 + .byte PATT + .word mus_sitennou_7_001 +mus_sitennou_7_002: + .byte N48 , An2 , v112 + .byte W18 + .byte N06 , Cn1 + .byte W06 + .byte En1 + .byte W12 + .byte Cn1 + .byte W24 + .byte N06 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte En1 , v112 + .byte W24 + .byte PEND + .byte W18 + .byte Cn1 + .byte W06 + .byte En1 + .byte W12 + .byte Cn1 + .byte W24 + .byte N06 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte En1 , v112 + .byte W24 + .byte PATT + .word mus_sitennou_7_002 + .byte N06 , Cn1 , v112 + .byte W18 + .byte N06 + .byte W06 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W18 + .byte En1 + .byte W06 + .byte N06 + .byte W24 +mus_sitennou_7_003: + .byte N06 , En1 , v112 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte En1 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte PEND + .byte PATT + .word mus_sitennou_7_003 + .byte PATT + .word mus_sitennou_7_003 + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte Cn1 + .byte W06 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , En1 + .byte N24 , An2 + .byte W03 + .byte N03 , En1 + .byte W21 + .byte GOTO + .word mus_sitennou_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_sitennou_8: + .byte KEYSH , mus_sitennou_key+0 + .byte VOICE , 84 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 52*mus_sitennou_mvl/mxv + .byte W24 +mus_sitennou_8_B1: + .byte MOD , 8 + .byte BEND , c_v-4 + .byte N12 , Bn1 , v112 + .byte W03 + .byte MOD , 2 + .byte W03 + .byte BEND , c_v+0 + .byte W06 + .byte N03 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , Cn2 + .byte W06 + .byte MOD , 15 + .byte W12 + .byte 0 + .byte N03 , Bn1 + .byte W03 + .byte As1 + .byte W03 + .byte N09 , An1 + .byte W09 + .byte N03 , As1 + .byte W03 + .byte MOD , 2 + .byte N12 , Bn1 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , As1 + .byte W06 + .byte Bn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Cn2 + .byte W06 + .byte MOD , 14 + .byte W18 + .byte N03 , Bn1 , v088 + .byte W03 + .byte MOD , 0 + .byte N03 , As1 + .byte W03 + .byte An1 + .byte W03 + .byte Gs1 + .byte W03 + .byte MOD , 2 + .byte N12 , Dn2 , v112 + .byte W12 + .byte N03 , Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N03 , Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N03 , Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Ds2 + .byte W03 + .byte MOD , 13 + .byte W21 + .byte N06 , Cn2 + .byte W03 + .byte MOD , 3 + .byte W03 + .byte N06 , Cs2 + .byte W06 + .byte N12 , Dn2 + .byte W12 + .byte N03 , Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte N03 , Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte BEND , c_v+0 + .byte N12 + .byte W12 + .byte N03 , Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W06 + .byte En2 + .byte W12 + .byte Fn2 + .byte W06 + .byte En2 + .byte W06 + .byte Fn2 + .byte W12 + .byte Gn2 + .byte W06 + .byte BEND , c_v-4 + .byte N03 , An2 + .byte W06 + .byte BEND , c_v+0 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N06 , As1 + .byte W06 + .byte N12 , Gn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N03 , An2 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N06 , As1 + .byte W06 + .byte N12 , Gn2 + .byte W12 + .byte N24 , As2 + .byte W12 + .byte MOD , 16 + .byte W12 + .byte 2 + .byte N03 , An2 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N06 , As1 + .byte W06 + .byte N12 , Gn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte An2 + .byte W06 + .byte N03 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte N03 , An2 + .byte W12 + .byte An1 + .byte W12 + .byte N03 + .byte W36 + .byte GOTO + .word mus_sitennou_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_sitennou_9: + .byte KEYSH , mus_sitennou_key+0 + .byte VOICE , 47 + .byte PAN , c_v+0 + .byte VOL , 49*mus_sitennou_mvl/mxv + .byte N06 , Bn1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v+23 + .byte N06 , Bn2 + .byte W06 + .byte N03 , Fs1 + .byte W03 + .byte N03 + .byte W03 +mus_sitennou_9_B1: + .byte PAN , c_v-30 + .byte N12 , Bn1 , v112 + .byte W60 + .byte N06 , Fs1 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v+26 + .byte N06 , Bn1 + .byte W24 + .byte PAN , c_v+32 + .byte N06 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Fs1 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Bn1 + .byte W12 + .byte PAN , c_v-48 + .byte N06 , Fs1 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Bn1 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Fs1 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+31 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An1 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Bn1 + .byte W48 + .byte PAN , c_v+23 + .byte N06 , As1 + .byte W12 + .byte PAN , c_v-31 + .byte N06 , Fs1 + .byte W12 + .byte PAN , c_v+23 + .byte N06 , Bn1 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v-29 + .byte N12 , Fs1 + .byte W03 + .byte PAN , c_v-31 + .byte W09 + .byte c_v+22 + .byte N06 , Bn1 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v-33 + .byte N06 , Fn1 + .byte W06 + .byte PAN , c_v+22 + .byte N06 , Bn1 + .byte W06 + .byte Fn1 + .byte W03 + .byte PAN , c_v-32 + .byte W09 + .byte N06 , Fs1 + .byte W06 + .byte PAN , c_v+22 + .byte N06 , Bn1 + .byte W06 + .byte PAN , c_v-31 + .byte N06 , Fs1 + .byte W12 + .byte PAN , c_v+35 + .byte N06 , Bn1 + .byte W12 + .byte PAN , c_v-33 + .byte N06 , Fs1 + .byte W12 + .byte PAN , c_v+23 + .byte N12 , Dn2 + .byte W36 + .byte PAN , c_v-36 + .byte W12 + .byte c_v+22 + .byte N06 , An2 + .byte W06 + .byte Dn3 + .byte W06 + .byte PAN , c_v-37 + .byte N06 , An2 + .byte W12 + .byte PAN , c_v+22 + .byte N06 , Dn3 + .byte W12 + .byte PAN , c_v-36 + .byte N06 , An2 + .byte W06 + .byte N03 , An1 + .byte W06 + .byte PAN , c_v+26 + .byte N12 , Dn2 + .byte W48 + .byte N06 , An2 + .byte W12 + .byte As2 + .byte W12 + .byte An2 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v-35 + .byte N06 , Ds2 + .byte W12 + .byte N12 , Dn2 + .byte W48 + .byte PAN , c_v+25 + .byte N06 , Dn3 + .byte W12 + .byte PAN , c_v-35 + .byte N06 , An2 + .byte W12 + .byte PAN , c_v+23 + .byte N06 , Dn3 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v-35 + .byte N06 , An2 + .byte W12 + .byte PAN , c_v-44 + .byte N06 + .byte W12 + .byte An2 , v052 + .byte W12 + .byte An2 , v084 + .byte W12 + .byte An2 , v096 + .byte W12 + .byte An2 , v112 + .byte W12 + .byte An2 , v127 + .byte W12 + .byte An2 , v112 + .byte W12 + .byte N06 + .byte W12 +mus_sitennou_9_000: + .byte PAN , c_v-32 + .byte N06 , An2 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v+39 + .byte N06 , Dn2 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Gs2 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v+39 + .byte N06 , Cs2 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Gn2 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v+39 + .byte N06 , Cn2 + .byte W12 + .byte PAN , c_v-48 + .byte N24 , As2 + .byte W24 + .byte PEND + .byte PATT + .word mus_sitennou_9_000 + .byte N06 , An2 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Dn2 + .byte W06 + .byte N06 + .byte W06 + .byte Gs2 + .byte W06 + .byte N06 + .byte W06 + .byte Cs2 + .byte W06 + .byte N06 + .byte W06 + .byte Gn2 + .byte W06 + .byte N06 + .byte W06 + .byte Cn2 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , As2 + .byte W12 + .byte PAN , c_v+48 + .byte N12 + .byte W12 + .byte PAN , c_v+33 + .byte N06 , An2 + .byte W06 + .byte PAN , c_v-47 + .byte N06 , An1 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , An2 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v-47 + .byte N06 , An1 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , An2 + .byte W06 + .byte N06 + .byte W12 + .byte PAN , c_v-43 + .byte N06 , An1 + .byte W12 + .byte N06 + .byte W12 + .byte PAN , c_v+35 + .byte N06 , An2 + .byte W24 + .byte GOTO + .word mus_sitennou_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_sitennou: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_sitennou_pri @ Priority + .byte mus_sitennou_rev @ Reverb. + + .word mus_sitennou_grp + + .word mus_sitennou_1 + .word mus_sitennou_2 + .word mus_sitennou_3 + .word mus_sitennou_4 + .word mus_sitennou_5 + .word mus_sitennou_6 + .word mus_sitennou_7 + .word mus_sitennou_8 + .word mus_sitennou_9 + + .end diff --git a/sound/songs/mus_suikun.s b/sound/songs/mus_suikun.s new file mode 100644 index 0000000000..782f5ec28e --- /dev/null +++ b/sound/songs/mus_suikun.s @@ -0,0 +1,1989 @@ + .include "MPlayDef.s" + + .equ mus_suikun_grp, voicegroup_pokemon_cry + .equ mus_suikun_pri, 0 + .equ mus_suikun_rev, reverb_set+50 + .equ mus_suikun_mvl, 127 + .equ mus_suikun_key, 0 + .equ mus_suikun_tbs, 1 + .equ mus_suikun_exg, 0 + .equ mus_suikun_cmp, 1 + + .section .rodata + .global mus_suikun + .align 2 + +@********************** Track 1 **********************@ + +mus_suikun_1: + .byte KEYSH , mus_suikun_key+0 + .byte TEMPO , 186*mus_suikun_tbs/2 + .byte VOICE , 48 + .byte VOL , 80*mus_suikun_mvl/mxv + .byte N06 , An4 , v112 + .byte W06 + .byte Gs4 + .byte W06 + .byte N24 , Gn4 + .byte W24 + .byte N12 , En4 + .byte W12 + .byte N06 , Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N24 , Cs4 + .byte W24 + .byte N12 , As3 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N24 , Gn3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N24 , Cs3 + .byte W24 + .byte N12 , As2 + .byte W12 + .byte VOICE , 56 + .byte N06 , An2 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 +mus_suikun_1_000: + .byte N06 , An2 , v112 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Fn4 + .byte W24 + .byte PEND +mus_suikun_1_001: + .byte N12 , En4 , v112 + .byte W12 + .byte N06 , An2 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND + .byte PATT + .word mus_suikun_1_000 + .byte PATT + .word mus_suikun_1_001 + .byte PATT + .word mus_suikun_1_000 + .byte PATT + .word mus_suikun_1_001 + .byte N06 , An2 , v112 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte VOICE , 48 + .byte N06 + .byte W06 + .byte Bn2 + .byte W06 + .byte En3 + .byte W06 + .byte Gs3 + .byte W06 +mus_suikun_1_B1: + .byte VOICE , 1 + .byte N12 , An2 , v112 + .byte W12 + .byte Bn2 + .byte W12 + .byte En2 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte N12 , Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte En2 + .byte W12 +mus_suikun_1_002: + .byte N12 , Dn2 , v112 + .byte W12 + .byte En2 + .byte W12 + .byte Dn2 + .byte W12 + .byte N24 , An2 + .byte W24 + .byte N12 , En2 + .byte W12 + .byte Dn2 + .byte W12 + .byte En2 + .byte W12 + .byte PEND +mus_suikun_1_003: + .byte N12 , Dn3 , v112 + .byte W12 + .byte An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte An3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte PEND +mus_suikun_1_004: + .byte N12 , Dn3 , v112 + .byte W12 + .byte En3 + .byte W12 + .byte An3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte Dn3 + .byte W12 + .byte En3 + .byte W12 + .byte PEND +mus_suikun_1_005: + .byte N12 , Cn3 , v112 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte PEND +mus_suikun_1_006: + .byte N12 , Cn3 , v112 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte PEND + .byte Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte Gn2 + .byte W12 + .byte En3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N36 , An3 + .byte W36 + .byte N24 , Gn3 + .byte W24 + .byte Fn3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte N36 , Dn3 + .byte W36 + .byte N12 , An2 + .byte W12 + .byte Bn2 + .byte W12 + .byte En2 + .byte W12 + .byte N24 , En3 + .byte W24 + .byte N12 , Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte En2 + .byte W12 + .byte PATT + .word mus_suikun_1_002 + .byte PATT + .word mus_suikun_1_003 + .byte PATT + .word mus_suikun_1_004 + .byte PATT + .word mus_suikun_1_005 + .byte PATT + .word mus_suikun_1_006 + .byte N12 , Cn4 , v112 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N24 , An3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn3 + .byte W12 +mus_suikun_1_007: + .byte N12 , Bn2 , v112 + .byte W12 + .byte Cn3 + .byte W24 + .byte N24 , En3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte PEND +mus_suikun_1_008: + .byte N12 , Bn2 , v112 + .byte W12 + .byte Cn3 + .byte W12 + .byte En3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte Bn2 + .byte W12 + .byte PEND +mus_suikun_1_009: + .byte N12 , Cn3 , v112 + .byte W12 + .byte Gn2 + .byte W24 + .byte N60 , Gn3 + .byte W60 + .byte PEND + .byte PATT + .word mus_suikun_1_009 + .byte PATT + .word mus_suikun_1_007 + .byte PATT + .word mus_suikun_1_008 + .byte N12 , Gn3 , v112 + .byte W12 + .byte Cn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Bn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte An2 + .byte W12 + .byte An3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte VOICE , 56 + .byte N12 , Bn2 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte N36 , Cn3 + .byte W36 + .byte N12 , Bn2 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Fs1 + .byte W24 + .byte N12 , Bn2 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Fs1 + .byte W24 + .byte N12 , Bn2 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Fs1 + .byte W24 + .byte N12 , Bn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte N06 , Bn2 + .byte W06 + .byte Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 +mus_suikun_1_010: + .byte N12 , Bn3 , v112 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Fs1 + .byte W24 + .byte N12 , Bn3 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Fs1 + .byte W24 + .byte PEND +mus_suikun_1_011: + .byte N12 , Bn3 , v112 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Fs1 + .byte W24 + .byte N12 , Bn3 + .byte W12 + .byte N36 , Cn4 + .byte W36 + .byte PEND + .byte PATT + .word mus_suikun_1_010 + .byte PATT + .word mus_suikun_1_011 +mus_suikun_1_012: + .byte N48 , Bn2 , v112 + .byte W48 + .byte En2 + .byte W48 + .byte PEND + .byte Cn3 + .byte W48 + .byte An2 + .byte W48 + .byte PATT + .word mus_suikun_1_012 + .byte N60 , Fn2 , v112 + .byte W60 + .byte VOICE , 48 + .byte N12 , Cn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte N48 , Fs1 + .byte W48 + .byte Bn1 + .byte W48 + .byte Gn1 + .byte W48 + .byte Cn2 + .byte W48 + .byte Bn1 + .byte W48 + .byte En1 + .byte W48 + .byte N96 , Fn1 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_suikun_1_013: + .byte W24 + .byte N12 , Dn3 , v112 + .byte W48 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_suikun_1_013 + .byte PATT + .word mus_suikun_1_013 + .byte PATT + .word mus_suikun_1_013 +mus_suikun_1_014: + .byte W24 + .byte N12 , Fn3 , v112 + .byte W48 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_suikun_1_014 + .byte PATT + .word mus_suikun_1_014 + .byte PATT + .word mus_suikun_1_014 + .byte N24 , En3 , v112 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte VOICE , 1 + .byte N12 , En5 + .byte W36 + .byte Fs5 + .byte W12 + .byte W24 + .byte An4 + .byte W24 + .byte An5 + .byte W48 + .byte W48 + .byte GOTO + .word mus_suikun_1_B1 + .byte W48 + .byte FINE + +@********************** Track 2 **********************@ + +mus_suikun_2: + .byte KEYSH , mus_suikun_key+0 + .byte VOICE , 17 + .byte VOL , 80*mus_suikun_mvl/mxv + .byte N06 , En6 , v088 + .byte W06 + .byte En5 + .byte W06 + .byte N12 , An5 + .byte W12 + .byte N06 , En6 + .byte W06 + .byte En5 + .byte W06 + .byte N12 , An5 + .byte W12 + .byte N06 , En6 + .byte W06 + .byte En5 + .byte W06 + .byte N12 , An5 + .byte W12 + .byte N06 , En6 + .byte W06 + .byte En5 + .byte W06 + .byte N12 , An5 + .byte W12 + .byte N06 , En6 + .byte W06 + .byte En5 + .byte W06 + .byte N12 , An5 + .byte W12 + .byte N06 , En6 + .byte W06 + .byte En5 + .byte W06 + .byte N12 , An5 + .byte W12 + .byte N06 , En6 + .byte W06 + .byte En5 + .byte W06 + .byte N12 , An5 + .byte W12 + .byte N06 , En6 + .byte W06 + .byte En5 + .byte W06 + .byte N12 , An5 + .byte W12 + .byte VOICE , 56 + .byte W24 + .byte N12 , En2 , v112 + .byte W48 + .byte N12 + .byte W24 +mus_suikun_2_000: + .byte W24 + .byte N12 , En2 , v112 + .byte W48 + .byte As5 + .byte W24 + .byte PEND + .byte An5 + .byte W24 + .byte En2 + .byte W48 + .byte N12 + .byte W24 + .byte PATT + .word mus_suikun_2_000 +mus_suikun_2_001: + .byte N12 , An5 , v112 + .byte W24 + .byte En4 + .byte W48 + .byte N12 + .byte W24 + .byte PEND + .byte W24 + .byte N12 + .byte W48 + .byte As5 + .byte W24 + .byte PATT + .word mus_suikun_2_001 + .byte W24 + .byte N12 , En4 , v112 + .byte W48 + .byte N12 + .byte W24 +mus_suikun_2_B1: +mus_suikun_2_002: + .byte VOICE , 48 + .byte N48 , An3 , v112 + .byte W48 + .byte Bn3 + .byte W48 + .byte PEND +mus_suikun_2_003: + .byte N48 , Dn3 , v112 + .byte W48 + .byte N96 , Dn4 + .byte W48 + .byte PEND +mus_suikun_2_004: + .byte W48 + .byte VOICE , 1 + .byte N12 , An5 , v112 + .byte W36 + .byte Bn5 + .byte W12 + .byte PEND +mus_suikun_2_005: + .byte W24 + .byte N12 , Dn5 , v112 + .byte W24 + .byte Dn6 + .byte W48 + .byte PEND +mus_suikun_2_006: + .byte VOICE , 48 + .byte N48 , Cn4 , v112 + .byte W48 + .byte Dn4 + .byte W48 + .byte PEND +mus_suikun_2_007: + .byte N48 , Gn3 , v112 + .byte W48 + .byte Fn4 + .byte W48 + .byte PEND + .byte N96 , En4 + .byte W96 + .byte VOICE , 1 + .byte N24 , Gn2 + .byte W24 + .byte An2 + .byte W24 + .byte Gn2 + .byte W24 + .byte Bn2 + .byte W24 + .byte PATT + .word mus_suikun_2_002 + .byte PATT + .word mus_suikun_2_003 + .byte PATT + .word mus_suikun_2_004 + .byte PATT + .word mus_suikun_2_005 + .byte PATT + .word mus_suikun_2_006 + .byte PATT + .word mus_suikun_2_007 + .byte N96 , En4 , v112 + .byte W96 + .byte VOICE , 1 + .byte N12 , Cn4 + .byte W48 + .byte N48 , Gn4 + .byte W48 + .byte VOICE , 48 + .byte N12 , Fs3 + .byte W12 + .byte Gn3 + .byte W24 + .byte N24 , Bn3 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte N12 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn3 + .byte W24 + .byte N60 , Cn4 + .byte W60 + .byte VOICE , 1 + .byte N12 , Gn5 + .byte W12 + .byte Cn5 + .byte W24 + .byte N60 , Cn6 + .byte W60 + .byte VOICE , 48 + .byte N12 , Fs4 + .byte W12 + .byte Gn4 + .byte W24 + .byte N24 , Bn4 + .byte W24 + .byte N12 , An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N12 + .byte W12 + .byte Gn4 + .byte W12 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N48 , Gn4 + .byte W48 + .byte Fs4 + .byte W48 + .byte En4 + .byte W48 + .byte Gn4 + .byte W48 + .byte VOICE , 56 + .byte N12 , Fs3 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte N36 , Gn3 + .byte W36 + .byte N12 , Fs3 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Bn1 + .byte W24 + .byte N12 , Fs3 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Bn1 + .byte W24 + .byte N12 , Fs3 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Bn1 + .byte W24 + .byte N12 , Fs3 + .byte W12 + .byte N36 , Gn3 + .byte W36 +mus_suikun_2_008: + .byte N12 , Fs4 , v112 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Bn1 + .byte W24 + .byte N12 , Fs4 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Bn1 + .byte W24 + .byte PEND +mus_suikun_2_009: + .byte N12 , Fs4 , v112 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Bn1 + .byte W24 + .byte N12 , Fs4 + .byte W12 + .byte N36 , Gn4 + .byte W36 + .byte PEND + .byte PATT + .word mus_suikun_2_008 + .byte PATT + .word mus_suikun_2_009 +mus_suikun_2_010: + .byte N48 , Fs3 , v112 + .byte W48 + .byte Bn2 + .byte W48 + .byte PEND + .byte Gn3 + .byte W48 + .byte En3 + .byte W48 + .byte PATT + .word mus_suikun_2_010 + .byte N96 , Cn3 , v112 + .byte W96 + .byte VOICE , 48 + .byte N48 , Bn1 + .byte W48 + .byte En2 + .byte W48 + .byte Cn2 + .byte W48 + .byte Fn2 + .byte W48 + .byte En2 + .byte W48 + .byte Bn1 + .byte W48 + .byte N96 , Cn2 + .byte W96 + .byte VOICE , 1 + .byte N12 , Bn1 + .byte W12 + .byte En2 + .byte W12 + .byte Fn1 + .byte W12 + .byte N24 , Fn2 + .byte W24 + .byte N12 , En2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fn1 + .byte W12 +mus_suikun_2_011: + .byte N12 , Bn1 , v112 + .byte W12 + .byte En2 + .byte W12 + .byte Fn2 + .byte W12 + .byte En2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En2 + .byte W12 + .byte PEND + .byte Bn1 + .byte W12 + .byte En2 + .byte W12 + .byte Fn1 + .byte W12 + .byte N24 , Fn2 + .byte W24 + .byte N12 , En2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte PATT + .word mus_suikun_2_011 + .byte N12 , Bn2 , v112 + .byte W03 + .byte VOICE , 48 + .byte W09 + .byte N12 , En3 + .byte W12 + .byte Fn2 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Fn2 + .byte W12 +mus_suikun_2_012: + .byte N12 , Bn2 , v112 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte En3 + .byte W12 + .byte PEND + .byte Bn2 + .byte W12 + .byte En3 + .byte W12 + .byte Fn2 + .byte W12 + .byte N24 , Fn3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte Bn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte PATT + .word mus_suikun_2_012 +mus_suikun_2_013: + .byte N12 , Dn3 , v112 + .byte W12 + .byte Gn3 + .byte W12 + .byte Gs2 + .byte W12 + .byte N24 , Gs3 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gs2 + .byte W12 + .byte PEND +mus_suikun_2_014: + .byte N12 , Dn3 , v112 + .byte W12 + .byte Gn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gs2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte PEND + .byte PATT + .word mus_suikun_2_013 + .byte PATT + .word mus_suikun_2_014 +mus_suikun_2_015: + .byte N12 , Bn3 , v112 + .byte W12 + .byte En4 + .byte W12 + .byte Fn3 + .byte W12 + .byte N24 , Fn4 + .byte W24 + .byte N12 , En4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte PEND +mus_suikun_2_016: + .byte N12 , Bn3 , v112 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte En4 + .byte W12 + .byte PEND + .byte PATT + .word mus_suikun_2_015 + .byte PATT + .word mus_suikun_2_016 +mus_suikun_2_017: + .byte N12 , Dn4 , v112 + .byte W12 + .byte Gn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte N24 , Gs4 + .byte W24 + .byte N12 , Gn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte PEND +mus_suikun_2_018: + .byte N12 , Dn4 , v112 + .byte W12 + .byte Gn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Gs3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte PEND + .byte PATT + .word mus_suikun_2_017 + .byte PATT + .word mus_suikun_2_018 + .byte N24 , An4 , v112 + .byte W48 + .byte VOICE , 1 + .byte N12 , An2 + .byte W12 + .byte Bn2 + .byte W12 + .byte En2 + .byte W12 + .byte N24 , En3 + .byte W12 +mus_suikun_2_019: + .byte W12 + .byte N12 , Bn2 , v112 + .byte W12 + .byte An2 + .byte W12 + .byte En2 + .byte W12 + .byte An2 + .byte W12 + .byte Bn2 + .byte W12 + .byte En3 + .byte W12 + .byte Bn2 + .byte W12 + .byte PEND +mus_suikun_2_020: + .byte N12 , An2 , v112 + .byte W12 + .byte En2 + .byte W12 + .byte An2 + .byte W12 + .byte Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte Bn2 + .byte W12 + .byte En2 + .byte W12 + .byte N24 , En3 + .byte W12 + .byte PEND + .byte PATT + .word mus_suikun_2_019 + .byte N12 , An2 , v112 + .byte W12 + .byte En2 + .byte W12 + .byte An2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte N24 , Gn3 + .byte W12 +mus_suikun_2_021: + .byte W12 + .byte N12 , Dn3 , v112 + .byte W12 + .byte Cn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte PEND + .byte Cn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte N24 , Gn3 + .byte W12 + .byte PATT + .word mus_suikun_2_021 + .byte N12 , Cn3 , v112 + .byte W12 + .byte Gn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte An2 + .byte W12 + .byte Bn2 + .byte W12 + .byte En2 + .byte W12 + .byte N24 , En3 + .byte W12 + .byte PATT + .word mus_suikun_2_019 + .byte PATT + .word mus_suikun_2_020 + .byte PATT + .word mus_suikun_2_019 + .byte N12 , An2 , v112 + .byte W12 + .byte En2 + .byte W12 + .byte An2 + .byte W12 + .byte Bn2 + .byte W12 + .byte GOTO + .word mus_suikun_2_B1 + .byte W48 + .byte FINE + +@********************** Track 3 **********************@ + +mus_suikun_3: + .byte KEYSH , mus_suikun_key+0 + .byte VOICE , 36 + .byte VOL , 80*mus_suikun_mvl/mxv + .byte W96 + .byte W24 + .byte N24 , An1 , v112 + .byte W24 + .byte N12 , Dn1 + .byte W12 + .byte En1 + .byte W12 + .byte As1 + .byte W12 + .byte Gn1 + .byte W12 +mus_suikun_3_000: + .byte N12 , Dn1 , v112 + .byte W12 + .byte En1 + .byte W12 + .byte An0 + .byte W12 + .byte N24 , An1 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An0 + .byte W12 + .byte PEND +mus_suikun_3_001: + .byte N12 , Dn1 , v112 + .byte W12 + .byte En1 + .byte W12 + .byte An1 + .byte W12 + .byte En1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An0 + .byte W12 + .byte Dn1 + .byte W12 + .byte En1 + .byte W12 + .byte PEND + .byte PATT + .word mus_suikun_3_000 +mus_suikun_3_002: + .byte N12 , Dn1 , v112 + .byte W12 + .byte En1 + .byte W12 + .byte N24 , An1 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte An0 + .byte W12 + .byte Dn1 + .byte W12 + .byte En1 + .byte W12 + .byte PEND + .byte PATT + .word mus_suikun_3_000 + .byte PATT + .word mus_suikun_3_001 + .byte PATT + .word mus_suikun_3_000 + .byte PATT + .word mus_suikun_3_002 +mus_suikun_3_B1: +mus_suikun_3_003: + .byte N12 , An0 , v112 + .byte W12 + .byte Dn1 + .byte W12 + .byte An0 + .byte W12 + .byte Dn1 + .byte W12 + .byte An0 + .byte W12 + .byte An1 + .byte W12 + .byte An0 + .byte W12 + .byte Dn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_suikun_3_003 +mus_suikun_3_004: + .byte N12 , An0 , v112 + .byte W12 + .byte Dn1 + .byte W12 + .byte An0 + .byte W12 + .byte Dn1 + .byte W12 + .byte An0 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte PEND +mus_suikun_3_005: + .byte N12 , An0 , v112 + .byte W12 + .byte Dn1 + .byte W12 + .byte An0 + .byte W12 + .byte Dn1 + .byte W12 + .byte An0 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte PEND +mus_suikun_3_006: + .byte N12 , Cn1 , v112 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_suikun_3_006 + .byte N12 , Cn1 , v112 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N12 , Gn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte PATT + .word mus_suikun_3_003 + .byte PATT + .word mus_suikun_3_003 + .byte PATT + .word mus_suikun_3_004 + .byte PATT + .word mus_suikun_3_005 + .byte PATT + .word mus_suikun_3_006 + .byte N12 , Cn1 , v112 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N12 , Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 +mus_suikun_3_007: + .byte N12 , Bn0 , v112 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Fs1 + .byte W12 + .byte PEND + .byte PATT + .word mus_suikun_3_007 + .byte N12 , Cn1 , v112 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N24 , Gn1 + .byte W24 + .byte N12 , Cn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 +mus_suikun_3_008: + .byte N12 , Dn1 , v112 + .byte W12 + .byte An1 + .byte W12 + .byte Dn2 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte PEND + .byte PATT + .word mus_suikun_3_008 + .byte N12 , Cn1 , v112 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Fs1 + .byte W12 + .byte An0 + .byte W12 + .byte En1 + .byte W12 + .byte An1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 +mus_suikun_3_009: + .byte N12 , Fs1 , v112 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte N12 + .byte W36 + .byte PEND +mus_suikun_3_010: + .byte N12 , Fs1 , v112 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte N36 , Gn1 + .byte W36 + .byte PEND + .byte PATT + .word mus_suikun_3_009 + .byte PATT + .word mus_suikun_3_010 + .byte N12 , Bn1 , v112 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Bn0 + .byte W24 + .byte N12 , Bn1 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Bn0 + .byte W24 + .byte N12 , Bn1 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Bn0 + .byte W24 + .byte N12 , Bn1 + .byte W12 + .byte N36 , Cn2 + .byte W36 + .byte N12 , Fs2 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Bn0 + .byte W24 + .byte N12 , Fs2 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Bn0 + .byte W24 + .byte N12 , Fs2 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , Bn0 + .byte W24 + .byte N12 , Fs2 + .byte W12 + .byte N36 , Gn2 + .byte W36 +mus_suikun_3_011: + .byte N48 , Fs1 , v112 + .byte W48 + .byte Bn0 + .byte W48 + .byte PEND + .byte Gn1 + .byte W48 + .byte En1 + .byte W48 + .byte PATT + .word mus_suikun_3_011 + .byte N60 , Cn1 , v112 + .byte W60 + .byte N12 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N48 , Bn0 + .byte W48 + .byte En1 + .byte W48 + .byte Cn1 + .byte W48 + .byte Fn1 + .byte W48 + .byte En1 + .byte W48 + .byte Bn0 + .byte W48 + .byte N96 , Cn1 + .byte W96 +mus_suikun_3_012: + .byte W24 + .byte N12 , Bn0 , v112 + .byte W48 + .byte N12 + .byte W24 + .byte PEND + .byte PATT + .word mus_suikun_3_012 + .byte PATT + .word mus_suikun_3_012 + .byte PATT + .word mus_suikun_3_012 +mus_suikun_3_013: + .byte N12 , Bn0 , v112 + .byte W12 + .byte Fn1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Fn1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Fn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_suikun_3_013 + .byte PATT + .word mus_suikun_3_013 + .byte N12 , Bn0 , v112 + .byte W12 + .byte Fn1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Fn1 + .byte W12 +mus_suikun_3_014: + .byte N12 , Dn1 , v112 + .byte W12 + .byte Gs1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gs1 + .byte W12 + .byte PEND + .byte PATT + .word mus_suikun_3_014 + .byte PATT + .word mus_suikun_3_014 +mus_suikun_3_015: + .byte N12 , Dn1 , v112 + .byte W12 + .byte Gs1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gs1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gs1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gs1 + .byte W12 + .byte PEND +mus_suikun_3_016: + .byte N12 , Bn1 , v112 + .byte W12 + .byte Fn1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_suikun_3_016 + .byte PATT + .word mus_suikun_3_013 + .byte PATT + .word mus_suikun_3_013 +mus_suikun_3_017: + .byte N12 , Dn2 , v112 + .byte W12 + .byte Gs1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gs1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gs1 + .byte W12 + .byte PEND + .byte PATT + .word mus_suikun_3_017 + .byte PATT + .word mus_suikun_3_014 + .byte PATT + .word mus_suikun_3_015 + .byte N24 , An1 , v112 + .byte W48 + .byte N12 , An0 + .byte W12 + .byte Dn1 + .byte W12 + .byte An0 + .byte W12 + .byte Dn1 + .byte W12 +mus_suikun_3_018: + .byte N12 , An0 , v112 + .byte W12 + .byte An1 + .byte W12 + .byte An0 + .byte W12 + .byte Dn1 + .byte W12 + .byte An0 + .byte W12 + .byte Dn1 + .byte W12 + .byte An0 + .byte W12 + .byte Dn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_suikun_3_018 + .byte N12 , An0 , v112 + .byte W12 + .byte Dn1 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte An0 + .byte W12 + .byte Dn1 + .byte W12 + .byte An0 + .byte W12 + .byte Dn1 + .byte W12 + .byte An0 + .byte W12 + .byte Dn1 + .byte W12 + .byte An0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Cn1 + .byte W12 +mus_suikun_3_019: + .byte N12 , Gn1 , v112 + .byte W12 + .byte Cn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_suikun_3_019 + .byte PATT + .word mus_suikun_3_019 + .byte N12 , Gn1 , v112 + .byte W12 + .byte Cn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte An0 + .byte W12 + .byte En1 + .byte W12 + .byte An1 + .byte W12 + .byte An0 + .byte W12 +mus_suikun_3_020: + .byte N12 , En1 , v112 + .byte W12 + .byte An1 + .byte W12 + .byte An0 + .byte W12 + .byte En1 + .byte W12 + .byte An0 + .byte W12 + .byte En1 + .byte W12 + .byte An1 + .byte W12 + .byte An0 + .byte W12 + .byte PEND + .byte PATT + .word mus_suikun_3_020 + .byte N12 , En1 , v112 + .byte W12 + .byte An1 + .byte W12 + .byte An0 + .byte W12 + .byte En1 + .byte W12 + .byte An0 + .byte W12 + .byte En1 + .byte W12 + .byte An0 + .byte W12 + .byte N24 , An1 + .byte W12 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte Dn1 + .byte W12 + .byte En1 + .byte W12 + .byte GOTO + .word mus_suikun_3_B1 + .byte W48 + .byte FINE + +@******************************************************@ + .align 2 + +mus_suikun: + .byte 3 @ NumTrks + .byte 0 @ NumBlks + .byte mus_suikun_pri @ Priority + .byte mus_suikun_rev @ Reverb. + + .word mus_suikun_grp + + .word mus_suikun_1 + .word mus_suikun_2 + .word mus_suikun_3 + + .end diff --git a/sound/songs/mus_swimeye.s b/sound/songs/mus_swimeye.s new file mode 100644 index 0000000000..7cf5da4a0c --- /dev/null +++ b/sound/songs/mus_swimeye.s @@ -0,0 +1,925 @@ + .include "MPlayDef.s" + + .equ mus_swimeye_grp, voicegroup_867DD14 + .equ mus_swimeye_pri, 0 + .equ mus_swimeye_rev, reverb_set+50 + .equ mus_swimeye_mvl, 127 + .equ mus_swimeye_key, 0 + .equ mus_swimeye_tbs, 1 + .equ mus_swimeye_exg, 0 + .equ mus_swimeye_cmp, 1 + + .section .rodata + .global mus_swimeye + .align 2 + +@********************** Track 1 **********************@ + +mus_swimeye_1: + .byte KEYSH , mus_swimeye_key+0 + .byte TEMPO , 142*mus_swimeye_tbs/2 + .byte VOICE , 46 + .byte VOL , 80*mus_swimeye_mvl/mxv + .byte PAN , c_v-9 + .byte W03 + .byte N06 , Dn5 , v092 + .byte W06 + .byte N24 , Ds5 + .byte W24 + .byte W03 + .byte VOICE , 45 + .byte N06 , Fs3 , v068 + .byte W06 + .byte An3 , v076 + .byte W06 + .byte Bn3 , v084 + .byte W06 + .byte Ds4 , v092 + .byte W06 + .byte Fs4 , v100 + .byte W06 + .byte An4 , v108 + .byte W06 + .byte N12 , Bn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cs5 + .byte W12 +mus_swimeye_1_B1: + .byte VOICE , 60 + .byte VOL , 80*mus_swimeye_mvl/mxv + .byte PAN , c_v+4 + .byte N30 , Ds4 , v112 + .byte W36 + .byte N12 , Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte An3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W24 + .byte An3 + .byte W24 + .byte Cs4 + .byte W24 +mus_swimeye_1_000: + .byte N68 , Bn3 , v112 + .byte W32 + .byte W01 + .byte VOL , 75*mus_swimeye_mvl/mxv + .byte W06 + .byte 70*mus_swimeye_mvl/mxv + .byte W06 + .byte 62*mus_swimeye_mvl/mxv + .byte W06 + .byte 53*mus_swimeye_mvl/mxv + .byte W06 + .byte 42*mus_swimeye_mvl/mxv + .byte W06 + .byte 27*mus_swimeye_mvl/mxv + .byte W03 + .byte 9*mus_swimeye_mvl/mxv + .byte W06 + .byte PEND + .byte 80*mus_swimeye_mvl/mxv + .byte N30 , Ds4 + .byte W36 + .byte N12 , En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cs4 + .byte W24 + .byte Ds4 + .byte W24 + .byte Cs4 + .byte W24 + .byte PATT + .word mus_swimeye_1_000 + .byte GOTO + .word mus_swimeye_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_swimeye_2: + .byte VOL , 80*mus_swimeye_mvl/mxv + .byte KEYSH , mus_swimeye_key+0 + .byte VOICE , 33 + .byte N72 , Bn0 , v120 + .byte W72 + .byte VOL , 80*mus_swimeye_mvl/mxv + .byte N24 , Fs1 + .byte W24 + .byte En1 + .byte W24 + .byte Ds1 + .byte W24 +mus_swimeye_2_B1: + .byte VOL , 80*mus_swimeye_mvl/mxv + .byte N48 , En1 , v120 + .byte W48 + .byte N12 , Bn0 + .byte W24 +mus_swimeye_2_000: + .byte N48 , En1 , v120 + .byte W48 + .byte N12 , Bn0 + .byte W24 + .byte PEND +mus_swimeye_2_001: + .byte N12 , Fs1 , v120 + .byte W24 + .byte N12 + .byte W24 + .byte N24 , Cs1 + .byte W24 + .byte PEND +mus_swimeye_2_002: + .byte N12 , Bn0 , v120 + .byte W24 + .byte Ds1 + .byte W24 + .byte N24 , Fs1 + .byte W24 + .byte PEND + .byte PATT + .word mus_swimeye_2_000 + .byte PATT + .word mus_swimeye_2_000 + .byte PATT + .word mus_swimeye_2_001 + .byte PATT + .word mus_swimeye_2_002 + .byte GOTO + .word mus_swimeye_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_swimeye_3: + .byte VOL , 80*mus_swimeye_mvl/mxv + .byte KEYSH , mus_swimeye_key+0 + .byte VOICE , 46 + .byte PAN , c_v+9 + .byte N06 , Cs5 , v092 + .byte W06 + .byte N42 , Bn4 + .byte W18 + .byte BEND , c_v+0 + .byte W48 + .byte VOICE , 48 + .byte VOL , 80*mus_swimeye_mvl/mxv + .byte PAN , c_v-8 + .byte N24 , Fs2 , v072 + .byte W24 + .byte Gs2 + .byte W24 + .byte An2 + .byte W24 +mus_swimeye_3_B1: + .byte VOICE , 48 + .byte VOL , 80*mus_swimeye_mvl/mxv + .byte N30 , Bn2 , v072 + .byte W36 + .byte N12 , Gs2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Cs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte En3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Cs3 + .byte W24 + .byte Fs3 + .byte W24 + .byte An3 + .byte W12 + .byte Fs3 + .byte W12 + .byte An3 + .byte W12 + .byte Gs3 + .byte W12 + .byte An3 + .byte W12 + .byte Fs4 + .byte W12 + .byte En4 + .byte W12 + .byte Ds4 + .byte W12 +mus_swimeye_3_000: + .byte VOICE , 60 + .byte N21 , Bn2 , v072 + .byte W12 + .byte VOL , 75*mus_swimeye_mvl/mxv + .byte W03 + .byte 62*mus_swimeye_mvl/mxv + .byte W03 + .byte 47*mus_swimeye_mvl/mxv + .byte W03 + .byte 29*mus_swimeye_mvl/mxv + .byte W03 + .byte VOICE , 48 + .byte VOL , 80*mus_swimeye_mvl/mxv + .byte N06 , Bn2 , v092 + .byte W24 + .byte Ds3 + .byte W24 + .byte PEND + .byte PATT + .word mus_swimeye_3_000 + .byte VOICE , 60 + .byte N21 , An2 , v072 + .byte W12 + .byte VOL , 75*mus_swimeye_mvl/mxv + .byte W03 + .byte 62*mus_swimeye_mvl/mxv + .byte W03 + .byte 47*mus_swimeye_mvl/mxv + .byte W03 + .byte 29*mus_swimeye_mvl/mxv + .byte W03 + .byte VOICE , 48 + .byte VOL , 80*mus_swimeye_mvl/mxv + .byte N06 , An2 , v092 + .byte W24 + .byte Fs3 + .byte W24 + .byte VOICE , 48 + .byte N12 , Bn2 , v072 + .byte W12 + .byte As2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte Ds3 + .byte W12 + .byte GOTO + .word mus_swimeye_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_swimeye_4: + .byte KEYSH , mus_swimeye_key+0 + .byte VOICE , 80 + .byte VOL , 80*mus_swimeye_mvl/mxv + .byte PAN , c_v+48 + .byte XCMD , xIECV , 13 + .byte xIECL , 8 + .byte N06 , Bn2 , v052 + .byte W24 + .byte Bn3 + .byte W24 + .byte N06 + .byte W24 + .byte VOICE , 4 + .byte VOL , 80*mus_swimeye_mvl/mxv + .byte N21 , Ds3 , v060 + .byte W12 + .byte VOL , 76*mus_swimeye_mvl/mxv + .byte W03 + .byte 65*mus_swimeye_mvl/mxv + .byte W03 + .byte 41*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N21 , En3 + .byte W12 + .byte VOL , 76*mus_swimeye_mvl/mxv + .byte W03 + .byte 65*mus_swimeye_mvl/mxv + .byte W03 + .byte 41*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N21 , Fs3 + .byte W12 + .byte VOL , 76*mus_swimeye_mvl/mxv + .byte W03 + .byte 65*mus_swimeye_mvl/mxv + .byte W03 + .byte 41*mus_swimeye_mvl/mxv + .byte W06 +mus_swimeye_4_B1: + .byte VOICE , 80 + .byte VOL , 80*mus_swimeye_mvl/mxv + .byte N21 , Gs3 , v060 + .byte W12 + .byte VOL , 76*mus_swimeye_mvl/mxv + .byte W03 + .byte 65*mus_swimeye_mvl/mxv + .byte W03 + .byte 41*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N21 , Gs4 , v052 + .byte W12 + .byte VOL , 76*mus_swimeye_mvl/mxv + .byte W03 + .byte 65*mus_swimeye_mvl/mxv + .byte W03 + .byte 41*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N21 , Gs3 , v060 + .byte W12 + .byte VOL , 76*mus_swimeye_mvl/mxv + .byte W03 + .byte 65*mus_swimeye_mvl/mxv + .byte W03 + .byte 41*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N21 + .byte W12 + .byte VOL , 76*mus_swimeye_mvl/mxv + .byte W03 + .byte 65*mus_swimeye_mvl/mxv + .byte W03 + .byte 41*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N21 , Gs4 , v052 + .byte W12 + .byte VOL , 76*mus_swimeye_mvl/mxv + .byte W03 + .byte 65*mus_swimeye_mvl/mxv + .byte W03 + .byte 41*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N21 , Gs3 , v060 + .byte W12 + .byte VOL , 76*mus_swimeye_mvl/mxv + .byte W03 + .byte 65*mus_swimeye_mvl/mxv + .byte W03 + .byte 41*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N12 , Cs4 , v052 + .byte W12 + .byte Fs2 , v060 + .byte W12 + .byte Fs4 , v052 + .byte W12 + .byte Fs2 , v060 + .byte W12 + .byte An4 , v052 + .byte W12 + .byte Fs2 , v060 + .byte W12 + .byte N24 , An4 , v052 + .byte W12 + .byte VOL , 76*mus_swimeye_mvl/mxv + .byte W03 + .byte 65*mus_swimeye_mvl/mxv + .byte W03 + .byte 41*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N12 , Fs2 , v060 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cs3 + .byte W12 + .byte Ds3 + .byte W12 +mus_swimeye_4_000: + .byte N21 , En3 , v060 + .byte W12 + .byte VOL , 75*mus_swimeye_mvl/mxv + .byte W03 + .byte 62*mus_swimeye_mvl/mxv + .byte W03 + .byte 47*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N12 , En3 , v040 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gs4 + .byte W12 + .byte Ds5 + .byte W12 + .byte PEND + .byte PATT + .word mus_swimeye_4_000 + .byte N21 , Ds3 , v060 + .byte W12 + .byte VOL , 75*mus_swimeye_mvl/mxv + .byte W03 + .byte 62*mus_swimeye_mvl/mxv + .byte W03 + .byte 47*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N12 , Ds3 , v040 + .byte W12 + .byte An3 + .byte W12 + .byte Fs4 + .byte W12 + .byte Cs5 + .byte W12 + .byte N21 , Fs4 , v060 + .byte W12 + .byte VOL , 75*mus_swimeye_mvl/mxv + .byte W03 + .byte 62*mus_swimeye_mvl/mxv + .byte W03 + .byte 47*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N21 , Fs3 + .byte W12 + .byte VOL , 75*mus_swimeye_mvl/mxv + .byte W03 + .byte 62*mus_swimeye_mvl/mxv + .byte W03 + .byte 47*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N21 , Bn3 + .byte W12 + .byte VOL , 75*mus_swimeye_mvl/mxv + .byte W03 + .byte 62*mus_swimeye_mvl/mxv + .byte W03 + .byte 47*mus_swimeye_mvl/mxv + .byte W06 + .byte GOTO + .word mus_swimeye_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_swimeye_5: + .byte KEYSH , mus_swimeye_key+0 + .byte VOICE , 81 + .byte VOL , 80*mus_swimeye_mvl/mxv + .byte XCMD , xIECV , 13 + .byte xIECL , 8 + .byte PAN , c_v+0 + .byte N06 , Fs2 , v052 + .byte W24 + .byte Fs3 + .byte W24 + .byte N06 + .byte W24 + .byte VOICE , 5 + .byte VOL , 80*mus_swimeye_mvl/mxv + .byte N21 , Fs3 , v060 + .byte W12 + .byte VOL , 76*mus_swimeye_mvl/mxv + .byte W03 + .byte 65*mus_swimeye_mvl/mxv + .byte W03 + .byte 41*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N21 , Gs3 + .byte W12 + .byte VOL , 76*mus_swimeye_mvl/mxv + .byte W03 + .byte 65*mus_swimeye_mvl/mxv + .byte W03 + .byte 41*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N21 , An3 + .byte W12 + .byte VOL , 76*mus_swimeye_mvl/mxv + .byte W03 + .byte 65*mus_swimeye_mvl/mxv + .byte W03 + .byte 41*mus_swimeye_mvl/mxv + .byte W06 +mus_swimeye_5_B1: + .byte VOICE , 81 + .byte VOL , 80*mus_swimeye_mvl/mxv + .byte N21 , Bn3 , v060 + .byte W12 + .byte VOL , 76*mus_swimeye_mvl/mxv + .byte W03 + .byte 65*mus_swimeye_mvl/mxv + .byte W03 + .byte 41*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N21 , Bn4 , v052 + .byte W12 + .byte VOL , 76*mus_swimeye_mvl/mxv + .byte W03 + .byte 65*mus_swimeye_mvl/mxv + .byte W03 + .byte 41*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N21 , Bn3 , v060 + .byte W12 + .byte VOL , 76*mus_swimeye_mvl/mxv + .byte W03 + .byte 65*mus_swimeye_mvl/mxv + .byte W03 + .byte 41*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N21 + .byte W12 + .byte VOL , 76*mus_swimeye_mvl/mxv + .byte W03 + .byte 65*mus_swimeye_mvl/mxv + .byte W03 + .byte 41*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N21 , Bn4 , v052 + .byte W12 + .byte VOL , 76*mus_swimeye_mvl/mxv + .byte W03 + .byte 65*mus_swimeye_mvl/mxv + .byte W03 + .byte 41*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N21 , Bn3 , v060 + .byte W12 + .byte VOL , 76*mus_swimeye_mvl/mxv + .byte W03 + .byte 65*mus_swimeye_mvl/mxv + .byte W03 + .byte 41*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N12 , Fs4 , v052 + .byte W12 + .byte An2 , v060 + .byte W12 + .byte An4 , v052 + .byte W12 + .byte An2 , v060 + .byte W12 + .byte Cs5 , v052 + .byte W12 + .byte An2 , v060 + .byte W12 + .byte N24 , Bn4 , v052 + .byte W12 + .byte VOL , 76*mus_swimeye_mvl/mxv + .byte W03 + .byte 65*mus_swimeye_mvl/mxv + .byte W03 + .byte 41*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N12 , An2 , v060 + .byte W12 + .byte Ds3 + .byte W12 + .byte En3 + .byte W12 + .byte Fs3 + .byte W12 +mus_swimeye_5_000: + .byte N21 , Gs3 , v060 + .byte W12 + .byte VOL , 75*mus_swimeye_mvl/mxv + .byte W03 + .byte 62*mus_swimeye_mvl/mxv + .byte W03 + .byte 47*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte W06 + .byte N12 , Gs3 , v040 + .byte W12 + .byte Ds4 + .byte W12 + .byte Bn4 + .byte W12 + .byte N06 , Gs5 + .byte W06 + .byte PEND + .byte PATT + .word mus_swimeye_5_000 + .byte N21 , Fs3 , v060 + .byte W12 + .byte VOL , 75*mus_swimeye_mvl/mxv + .byte W03 + .byte 62*mus_swimeye_mvl/mxv + .byte W03 + .byte 47*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte W06 + .byte N12 , Fs3 , v040 + .byte W12 + .byte Cs4 + .byte W12 + .byte An4 + .byte W12 + .byte N06 , Fs5 + .byte W06 + .byte N21 , An4 , v060 + .byte W12 + .byte VOL , 75*mus_swimeye_mvl/mxv + .byte W03 + .byte 62*mus_swimeye_mvl/mxv + .byte W03 + .byte 47*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N21 , An3 + .byte W12 + .byte VOL , 75*mus_swimeye_mvl/mxv + .byte W03 + .byte 62*mus_swimeye_mvl/mxv + .byte W03 + .byte 47*mus_swimeye_mvl/mxv + .byte W06 + .byte 80*mus_swimeye_mvl/mxv + .byte N21 , Ds4 + .byte W12 + .byte VOL , 75*mus_swimeye_mvl/mxv + .byte W03 + .byte 62*mus_swimeye_mvl/mxv + .byte W03 + .byte 47*mus_swimeye_mvl/mxv + .byte W06 + .byte GOTO + .word mus_swimeye_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_swimeye_6: + .byte KEYSH , mus_swimeye_key+0 + .byte VOL , 80*mus_swimeye_mvl/mxv + .byte W72 + .byte W72 +mus_swimeye_6_B1: + .byte VOICE , 73 + .byte W72 + .byte W72 + .byte W72 + .byte N12 , Fs5 , v048 + .byte W12 + .byte En5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Bn5 + .byte W12 + .byte An5 + .byte W12 + .byte Gs5 + .byte W12 + .byte W72 + .byte W72 + .byte An4 + .byte W24 + .byte Bn4 + .byte W24 + .byte An4 + .byte W24 + .byte Fs5 + .byte W12 + .byte En5 + .byte W12 + .byte Fs5 + .byte W12 + .byte An5 + .byte W12 + .byte Gs5 + .byte W12 + .byte Fs5 + .byte W12 + .byte GOTO + .word mus_swimeye_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_swimeye_7: + .byte KEYSH , mus_swimeye_key+0 + .byte W72 + .byte VOICE , 126 + .byte PAN , c_v-48 + .byte VOL , 75*mus_swimeye_mvl/mxv + .byte N12 , Gs4 , v040 + .byte W24 + .byte VOICE , 127 + .byte N06 , Gs4 , v052 + .byte W36 + .byte VOICE , 126 + .byte N12 , Gs4 , v040 + .byte W12 +mus_swimeye_7_B1: +mus_swimeye_7_000: + .byte VOICE , 127 + .byte N06 , Gs4 , v052 + .byte W12 + .byte Gs4 , v040 + .byte W12 + .byte Gs4 , v052 + .byte W12 + .byte Gs4 , v040 + .byte W12 + .byte Gs4 , v052 + .byte W12 + .byte Gs4 , v040 + .byte W12 + .byte PEND +mus_swimeye_7_001: + .byte N06 , Gs4 , v052 + .byte W12 + .byte Gs4 , v040 + .byte W12 + .byte Gs4 , v052 + .byte W12 + .byte Gs4 , v040 + .byte W12 + .byte Gs4 , v052 + .byte W12 + .byte Gs4 , v040 + .byte W12 + .byte PEND + .byte PATT + .word mus_swimeye_7_001 +mus_swimeye_7_002: + .byte N06 , Gs4 , v052 + .byte W12 + .byte Gs4 , v040 + .byte W12 + .byte Gs4 , v052 + .byte W12 + .byte Gs4 , v040 + .byte W12 + .byte Gs4 , v052 + .byte W12 + .byte VOICE , 126 + .byte N06 , Gs4 , v040 + .byte W12 + .byte PEND + .byte PATT + .word mus_swimeye_7_000 + .byte PATT + .word mus_swimeye_7_001 + .byte PATT + .word mus_swimeye_7_001 + .byte PATT + .word mus_swimeye_7_002 + .byte GOTO + .word mus_swimeye_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_swimeye_8: + .byte KEYSH , mus_swimeye_key+0 + .byte VOL , 80*mus_swimeye_mvl/mxv + .byte W72 + .byte N06 , Cn1 , v112 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N03 , En1 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v088 + .byte W12 +mus_swimeye_8_B1: + .byte VOICE , 0 + .byte N06 , Cn1 , v112 + .byte W24 + .byte En1 , v088 + .byte W24 + .byte Cn1 , v112 + .byte W12 + .byte En1 , v088 + .byte W12 +mus_swimeye_8_000: + .byte N06 , Cn1 , v112 + .byte W24 + .byte En1 , v088 + .byte W24 + .byte Cn1 , v112 + .byte W06 + .byte N03 , En1 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v088 + .byte W12 + .byte PEND +mus_swimeye_8_001: + .byte N06 , Cn1 , v112 + .byte W24 + .byte En1 , v088 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte En1 , v088 + .byte W12 + .byte PEND + .byte PATT + .word mus_swimeye_8_000 + .byte N06 , Cn1 , v112 + .byte W24 + .byte En1 , v088 + .byte W24 + .byte Cn1 , v112 + .byte W12 + .byte En1 , v088 + .byte W12 + .byte PATT + .word mus_swimeye_8_000 + .byte PATT + .word mus_swimeye_8_001 + .byte PATT + .word mus_swimeye_8_000 + .byte GOTO + .word mus_swimeye_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_swimeye: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_swimeye_pri @ Priority + .byte mus_swimeye_rev @ Reverb. + + .word mus_swimeye_grp + + .word mus_swimeye_1 + .word mus_swimeye_2 + .word mus_swimeye_3 + .word mus_swimeye_4 + .word mus_swimeye_5 + .word mus_swimeye_6 + .word mus_swimeye_7 + .word mus_swimeye_8 + + .end diff --git a/sound/songs/mus_syoujoeye.s b/sound/songs/mus_syoujoeye.s new file mode 100644 index 0000000000..20c990eeb9 --- /dev/null +++ b/sound/songs/mus_syoujoeye.s @@ -0,0 +1,1065 @@ + .include "MPlayDef.s" + + .equ mus_syoujoeye_grp, voicegroup_867B7A0 + .equ mus_syoujoeye_pri, 0 + .equ mus_syoujoeye_rev, reverb_set+50 + .equ mus_syoujoeye_mvl, 127 + .equ mus_syoujoeye_key, 0 + .equ mus_syoujoeye_tbs, 1 + .equ mus_syoujoeye_exg, 0 + .equ mus_syoujoeye_cmp, 1 + + .section .rodata + .global mus_syoujoeye + .align 2 + +@********************** Track 1 **********************@ + +mus_syoujoeye_1: + .byte KEYSH , mus_syoujoeye_key+0 + .byte TEMPO , 144*mus_syoujoeye_tbs/2 + .byte VOICE , 13 + .byte VOL , 80*mus_syoujoeye_mvl/mxv + .byte PAN , c_v+5 + .byte N06 , Gs4 , v100 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N03 , Ds5 + .byte W03 + .byte Ds5 , v076 + .byte W03 + .byte Ds5 , v072 + .byte W03 + .byte Ds5 , v068 + .byte W03 + .byte Ds5 , v064 + .byte W03 + .byte Ds5 , v060 + .byte W03 + .byte Ds5 , v056 + .byte W03 + .byte Ds5 , v052 + .byte W03 + .byte Ds5 , v048 + .byte W03 + .byte Ds5 , v044 + .byte W03 + .byte Ds5 , v040 + .byte W03 + .byte Ds5 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte Ds5 , v040 + .byte W03 + .byte Ds5 , v044 + .byte W03 + .byte Ds5 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte Ds5 , v052 + .byte W03 + .byte Ds5 , v056 + .byte W03 + .byte Ds5 , v060 + .byte W03 + .byte Ds5 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte Ds5 , v060 + .byte W03 + .byte Ds5 , v056 + .byte W03 + .byte Ds5 , v052 + .byte W03 + .byte Ds5 , v048 + .byte W03 + .byte Ds5 , v040 + .byte W03 + .byte Ds5 , v036 + .byte W15 +mus_syoujoeye_1_B1: +mus_syoujoeye_1_000: + .byte N12 , Gs4 , v100 + .byte W18 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W18 + .byte Gs4 + .byte W24 + .byte Ds5 + .byte W06 + .byte Cs5 + .byte W18 + .byte Cn5 + .byte W06 + .byte PEND + .byte N12 , Cs5 + .byte W18 + .byte N06 , Cn5 + .byte W06 + .byte As4 + .byte W18 + .byte N03 , Gs4 + .byte W03 + .byte Gs4 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte Gs4 , v052 + .byte W03 + .byte Gs4 , v048 + .byte W03 + .byte Gs4 , v040 + .byte W03 + .byte Gs4 , v036 + .byte W18 + .byte As4 , v100 + .byte W03 + .byte As4 , v068 + .byte W03 + .byte N03 + .byte W12 + .byte N06 , Gs4 , v100 + .byte W06 + .byte Fs4 + .byte W18 + .byte N03 + .byte W03 + .byte Fs4 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W12 + .byte N06 , Fn4 , v100 + .byte W06 + .byte Fs4 + .byte W18 + .byte Fn4 + .byte W06 + .byte N03 , Gs4 + .byte W03 + .byte Gs4 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W15 + .byte Fs4 , v100 + .byte W03 + .byte Fs4 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W15 + .byte Fn4 , v100 + .byte W03 + .byte Fn4 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W15 + .byte Ds4 , v100 + .byte W03 + .byte Ds4 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W15 + .byte PATT + .word mus_syoujoeye_1_000 + .byte N12 , Cs5 , v100 + .byte W18 + .byte N06 , Cn5 + .byte W06 + .byte Cs5 + .byte W18 + .byte N03 , Gs4 + .byte W03 + .byte Gs4 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte Gs4 , v052 + .byte W03 + .byte Gs4 , v048 + .byte W03 + .byte Gs4 , v040 + .byte W03 + .byte Gs4 , v036 + .byte W18 + .byte N06 , As4 , v100 + .byte W18 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W18 + .byte N03 , Fs5 + .byte W03 + .byte Fs5 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W12 + .byte N06 , Fn5 , v100 + .byte W06 + .byte Fs5 + .byte W18 + .byte Fn5 + .byte W06 + .byte N03 , Ds5 + .byte W03 + .byte Ds5 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W15 + .byte Fn5 , v100 + .byte W03 + .byte Fn5 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W15 + .byte Cs5 , v100 + .byte W03 + .byte Cs5 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W36 + .byte W03 + .byte GOTO + .word mus_syoujoeye_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_syoujoeye_2: + .byte KEYSH , mus_syoujoeye_key+0 + .byte PAN , c_v-6 + .byte W24 + .byte VOICE , 38 + .byte VOL , 80*mus_syoujoeye_mvl/mxv + .byte N36 , Gs0 , v127 + .byte W42 + .byte N03 + .byte W06 + .byte N06 + .byte W18 + .byte Gs1 + .byte W06 + .byte Gs0 + .byte W18 + .byte Cn1 + .byte W06 +mus_syoujoeye_2_B1: +mus_syoujoeye_2_000: + .byte N36 , Cs1 , v127 + .byte W42 + .byte N03 + .byte W06 + .byte N03 + .byte W18 + .byte N06 + .byte W06 + .byte N18 , Gs1 + .byte W18 + .byte N06 , Cs1 + .byte W06 + .byte PEND +mus_syoujoeye_2_001: + .byte N36 , Fs1 , v127 + .byte W42 + .byte N03 , Cs1 + .byte W06 + .byte N06 + .byte W18 + .byte Gs1 + .byte W06 + .byte N18 , Cs2 + .byte W18 + .byte N06 , Cs1 + .byte W06 + .byte PEND + .byte N48 , Ds1 + .byte W48 + .byte N48 + .byte W48 + .byte N06 , Gs1 + .byte W18 + .byte N06 + .byte W06 + .byte Ds2 + .byte W18 + .byte N24 , Gs1 + .byte W24 + .byte N06 , Gs0 + .byte W06 + .byte N18 , As0 + .byte W18 + .byte N06 , Cn1 + .byte W06 + .byte PATT + .word mus_syoujoeye_2_000 + .byte PATT + .word mus_syoujoeye_2_001 + .byte N18 , Ds1 , v127 + .byte W18 + .byte N03 + .byte W24 + .byte N03 + .byte W06 + .byte N24 + .byte W24 + .byte N18 , As1 + .byte W18 + .byte N06 , Ds1 + .byte W06 + .byte N18 , Gs1 + .byte W18 + .byte N03 + .byte W06 + .byte N18 + .byte W18 + .byte N03 , Cn1 + .byte W06 + .byte N12 , Cs1 + .byte W48 + .byte GOTO + .word mus_syoujoeye_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_syoujoeye_3: + .byte KEYSH , mus_syoujoeye_key+0 + .byte PAN , c_v+16 + .byte W24 + .byte VOICE , 1 + .byte VOL , 80*mus_syoujoeye_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Gs2 , v088 + .byte W18 + .byte Gs1 + .byte W06 + .byte N18 + .byte W18 + .byte N21 , Gs2 + .byte W24 + .byte N06 , Fs2 + .byte W06 + .byte N18 , Ds2 + .byte W18 + .byte N06 , Cn2 + .byte W06 +mus_syoujoeye_3_B1: +mus_syoujoeye_3_000: + .byte N12 , Cs2 , v088 + .byte W24 + .byte Gs2 + .byte W18 + .byte N30 , Fn2 + .byte W30 + .byte N15 , Gs2 + .byte W18 + .byte N06 , Cs2 + .byte W06 + .byte PEND +mus_syoujoeye_3_001: + .byte N09 , Fs2 , v088 + .byte W18 + .byte N06 , Gs2 + .byte W06 + .byte As2 + .byte W18 + .byte N24 , Fn2 + .byte W24 + .byte N06 + .byte W06 + .byte N18 , Gs2 + .byte W18 + .byte N06 , Cs2 + .byte W06 + .byte PEND + .byte Cs4 , v096 + .byte W18 + .byte Cn4 + .byte W06 + .byte As3 + .byte W18 + .byte N24 + .byte W24 + .byte N06 + .byte W06 + .byte Cn4 + .byte W18 + .byte As3 + .byte W06 + .byte N24 , Gs3 + .byte W24 + .byte Fs2 , v088 + .byte W24 + .byte Gs2 + .byte W24 + .byte Ds2 + .byte W24 + .byte PATT + .word mus_syoujoeye_3_000 + .byte PATT + .word mus_syoujoeye_3_001 + .byte N12 , Fs4 , v096 + .byte W18 + .byte N06 , Fn4 + .byte W06 + .byte Ds4 + .byte W18 + .byte N15 , As4 + .byte W24 + .byte N06 + .byte W06 + .byte N12 , Cn5 + .byte W18 + .byte N06 , As4 + .byte W06 + .byte N12 , Gs4 + .byte W24 + .byte N24 , Gs2 , v088 + .byte W24 + .byte N12 , Cs3 + .byte W48 + .byte GOTO + .word mus_syoujoeye_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_syoujoeye_4: + .byte VOL , 80*mus_syoujoeye_mvl/mxv + .byte KEYSH , mus_syoujoeye_key+0 + .byte VOICE , 24 + .byte XCMD , xIECV , 13 + .byte xIECL , 10 + .byte PAN , c_v-48 + .byte N06 , Gs3 , v052 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte VOL , 80*mus_syoujoeye_mvl/mxv + .byte N12 , Ds4 + .byte W18 + .byte N06 , Gs2 + .byte W06 + .byte Fs3 + .byte W18 + .byte N06 + .byte W24 + .byte Gs2 + .byte W06 + .byte Fs3 + .byte W18 + .byte Cn4 + .byte W06 +mus_syoujoeye_4_B1: + .byte N06 , Cn4 , v052 + .byte W18 + .byte Cs3 + .byte W06 + .byte Cn4 + .byte W18 + .byte N06 + .byte W24 + .byte Cs3 + .byte W06 + .byte Cn4 + .byte W18 + .byte Fn3 + .byte W06 +mus_syoujoeye_4_000: + .byte N06 , Fn4 , v052 + .byte W18 + .byte Fs3 + .byte W06 + .byte Fn4 + .byte W18 + .byte N06 + .byte W24 + .byte Cs3 + .byte W06 + .byte Cs4 + .byte W18 + .byte Fn3 + .byte W06 + .byte PEND + .byte As2 + .byte W18 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W18 + .byte VOICE , 26 + .byte N24 , Ds3 + .byte W24 + .byte N06 , Fn3 + .byte W06 + .byte VOICE , 24 + .byte N06 , Ds3 + .byte W18 + .byte Cs3 + .byte W06 + .byte VOICE , 26 + .byte N24 , Cn3 + .byte W24 + .byte Cs3 + .byte W24 + .byte Ds3 + .byte W24 + .byte Fs3 + .byte W24 + .byte VOICE , 24 + .byte N06 , Cn4 + .byte W18 + .byte Cs3 + .byte W06 + .byte Cn4 + .byte W18 + .byte N06 + .byte W24 + .byte Cs3 + .byte W06 + .byte Cn4 + .byte W18 + .byte Fn3 + .byte W06 + .byte PATT + .word mus_syoujoeye_4_000 + .byte VOICE , 26 + .byte N42 , Cs4 , v052 + .byte W42 + .byte N03 + .byte W24 + .byte N06 , Ds3 + .byte W06 + .byte N18 , As3 + .byte W18 + .byte N06 , Ds3 + .byte W06 + .byte VOICE , 24 + .byte N06 , Gs3 + .byte W18 + .byte Fs3 + .byte W06 + .byte VOICE , 26 + .byte N24 , Cn4 + .byte W24 + .byte VOICE , 24 + .byte N06 + .byte W48 + .byte GOTO + .word mus_syoujoeye_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_syoujoeye_5: + .byte VOL , 80*mus_syoujoeye_mvl/mxv + .byte KEYSH , mus_syoujoeye_key+0 + .byte VOICE , 25 + .byte XCMD , xIECV , 13 + .byte xIECL , 10 + .byte BEND , c_v-6 + .byte W03 + .byte N06 , Gs3 , v020 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Ds3 + .byte W03 + .byte VOL , 80*mus_syoujoeye_mvl/mxv + .byte W03 + .byte N12 , Ds4 + .byte W18 + .byte BEND , c_v+0 + .byte N03 , Ds3 , v052 + .byte W03 + .byte N06 , Cn3 + .byte W18 + .byte N06 + .byte W24 + .byte W03 + .byte N03 , Ds3 + .byte W03 + .byte N06 , Cn3 + .byte W18 + .byte Fs3 + .byte W06 +mus_syoujoeye_5_B1: + .byte N06 , Fn3 , v052 + .byte W21 + .byte N03 , Gs3 + .byte W03 + .byte N06 , Fn3 + .byte W18 + .byte N06 + .byte W24 + .byte W03 + .byte N03 , Gs3 + .byte W03 + .byte N06 , Fn3 + .byte W18 + .byte Cn3 + .byte W06 +mus_syoujoeye_5_000: + .byte N06 , Cs4 , v052 + .byte W21 + .byte N03 , As3 + .byte W03 + .byte N06 , Cs4 + .byte W18 + .byte N06 + .byte W24 + .byte W03 + .byte N03 , Gs3 + .byte W03 + .byte N06 , Fn3 + .byte W18 + .byte Cn3 + .byte W06 + .byte PEND + .byte Fs2 + .byte W18 + .byte Gs2 + .byte W06 + .byte As2 + .byte W18 + .byte VOICE , 27 + .byte N24 , Cs3 + .byte W24 + .byte N06 + .byte W06 + .byte VOICE , 25 + .byte N06 , Cn3 + .byte W18 + .byte As2 + .byte W06 + .byte VOICE , 27 + .byte N24 , Gs2 + .byte W24 + .byte As2 + .byte W24 + .byte Cn3 + .byte W24 + .byte Ds3 + .byte W24 + .byte VOICE , 25 + .byte N06 , Fn3 + .byte W21 + .byte N03 , Gs3 + .byte W03 + .byte N06 , Fn3 + .byte W18 + .byte N06 + .byte W24 + .byte W03 + .byte N03 , Gs3 + .byte W03 + .byte N06 , Fn3 + .byte W18 + .byte Cn3 + .byte W06 + .byte PATT + .word mus_syoujoeye_5_000 + .byte VOICE , 27 + .byte N42 , As3 , v052 + .byte W42 + .byte N03 + .byte W24 + .byte W03 + .byte Fs3 + .byte W03 + .byte N18 + .byte W18 + .byte N06 , As2 + .byte W06 + .byte VOICE , 25 + .byte N06 , Fs3 + .byte W21 + .byte N03 , Gs3 + .byte W03 + .byte VOICE , 27 + .byte N24 , Fs3 + .byte W24 + .byte VOICE , 25 + .byte N06 , Fn3 + .byte W48 + .byte GOTO + .word mus_syoujoeye_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_syoujoeye_6: + .byte KEYSH , mus_syoujoeye_key+0 + .byte W24 + .byte VOL , 80*mus_syoujoeye_mvl/mxv + .byte W96 +mus_syoujoeye_6_B1: + .byte W92 + .byte W01 + .byte VOICE , 73 + .byte N03 , An5 , v048 + .byte W03 + .byte N12 , As5 + .byte W18 + .byte N06 , Gs5 + .byte W06 + .byte Fs5 + .byte W18 + .byte N36 , Fn5 + .byte W14 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte W16 + .byte VOICE , 81 + .byte N30 , Ds2 , v064 + .byte W42 + .byte N24 , Fs2 + .byte W30 + .byte N18 , Ds2 + .byte W24 + .byte N06 + .byte W21 + .byte VOICE , 73 + .byte N03 , An4 , v048 + .byte W03 + .byte N12 , As4 + .byte W24 + .byte Gs4 + .byte W24 + .byte Fs4 + .byte W24 + .byte W92 + .byte W01 + .byte N03 , An5 + .byte W03 + .byte N12 , As5 + .byte W18 + .byte N06 , Gs5 + .byte W06 + .byte As5 + .byte W18 + .byte N36 , Fn5 + .byte W14 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte W16 + .byte VOICE , 81 + .byte N06 , Ds2 , v064 + .byte W18 + .byte Fn2 + .byte W06 + .byte Fs2 + .byte W18 + .byte N15 , Ds2 + .byte W24 + .byte N06 , As2 + .byte W06 + .byte N15 , Ds2 + .byte W18 + .byte N03 + .byte W06 + .byte N06 , Gs2 + .byte W21 + .byte VOICE , 73 + .byte N03 , Gn5 , v048 + .byte W03 + .byte N12 , Gs5 + .byte W24 + .byte Fn5 + .byte W48 + .byte GOTO + .word mus_syoujoeye_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_syoujoeye_7: + .byte KEYSH , mus_syoujoeye_key+0 + .byte PAN , c_v+47 + .byte W24 + .byte VOICE , 127 + .byte VOL , 75*mus_syoujoeye_mvl/mxv + .byte N12 , Gs4 , v052 + .byte W24 + .byte VOICE , 126 + .byte N09 , Gs4 , v040 + .byte W18 + .byte VOICE , 127 + .byte N06 , Gs4 , v052 + .byte W06 + .byte N12 + .byte W18 + .byte N06 + .byte W06 + .byte VOICE , 126 + .byte N12 , Gs4 , v040 + .byte W24 +mus_syoujoeye_7_B1: +mus_syoujoeye_7_000: + .byte VOICE , 127 + .byte N12 , Gs4 , v052 + .byte W24 + .byte N12 + .byte W18 + .byte N06 + .byte W06 + .byte N12 + .byte W24 + .byte N12 + .byte W18 + .byte N06 + .byte W06 + .byte PEND + .byte N06 + .byte W24 + .byte N12 + .byte W18 + .byte N12 + .byte W24 + .byte N06 + .byte W06 + .byte N12 + .byte W18 + .byte N06 + .byte W06 + .byte N06 + .byte W24 + .byte VOICE , 126 + .byte N12 , Gs4 , v040 + .byte W24 + .byte VOICE , 127 + .byte N12 , Gs4 , v052 + .byte W24 + .byte VOICE , 126 + .byte N12 , Gs4 , v040 + .byte W24 + .byte VOICE , 127 + .byte N12 , Gs4 , v052 + .byte W72 + .byte VOICE , 126 + .byte N12 , Gs4 , v040 + .byte W24 + .byte PATT + .word mus_syoujoeye_7_000 + .byte N12 , Gs4 , v052 + .byte W24 + .byte N12 + .byte W18 + .byte N12 + .byte W24 + .byte N06 + .byte W06 + .byte N12 + .byte W18 + .byte N06 + .byte W06 + .byte N12 + .byte W24 + .byte VOICE , 126 + .byte N09 , Gs4 , v040 + .byte W18 + .byte VOICE , 127 + .byte N06 , Gs4 , v052 + .byte W06 + .byte N12 + .byte W24 + .byte VOICE , 126 + .byte N09 , Gs4 , v040 + .byte W18 + .byte VOICE , 127 + .byte N06 , Gs4 , v052 + .byte W06 + .byte N12 + .byte W24 + .byte VOICE , 126 + .byte N09 , Gs4 , v040 + .byte W18 + .byte VOICE , 127 + .byte N06 , Gs4 , v052 + .byte W06 + .byte N12 + .byte W48 + .byte GOTO + .word mus_syoujoeye_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_syoujoeye_8: + .byte KEYSH , mus_syoujoeye_key+0 + .byte VOICE , 0 + .byte VOL , 80*mus_syoujoeye_mvl/mxv + .byte W24 + .byte W66 + .byte N06 , Cn1 , v120 + .byte W06 + .byte En1 , v112 + .byte W18 + .byte Cn1 , v120 + .byte W06 +mus_syoujoeye_8_B1: +mus_syoujoeye_8_000: + .byte N06 , Cn1 , v120 + .byte W24 + .byte En1 , v112 + .byte W18 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W18 + .byte Cn1 , v120 + .byte W06 + .byte PEND +mus_syoujoeye_8_001: + .byte N06 , Cn1 , v120 + .byte W18 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W18 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W18 + .byte Cn1 , v120 + .byte W06 + .byte PEND + .byte N06 + .byte W24 + .byte En1 , v112 + .byte W18 + .byte Cn1 , v120 + .byte W30 + .byte En1 , v112 + .byte W18 + .byte Cn1 , v120 + .byte W06 + .byte En1 , v112 + .byte W24 + .byte N06 + .byte W18 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W06 + .byte En1 , v112 + .byte W18 + .byte N06 + .byte W06 + .byte PATT + .word mus_syoujoeye_8_000 + .byte PATT + .word mus_syoujoeye_8_001 + .byte N06 , Cn1 , v120 + .byte W42 + .byte N06 + .byte W06 + .byte N06 + .byte W24 + .byte En1 , v112 + .byte W18 + .byte Cn1 , v120 + .byte W06 + .byte En1 , v112 + .byte W24 + .byte N06 + .byte W18 + .byte Cn1 , v120 + .byte W06 + .byte En1 , v112 + .byte W24 + .byte N06 + .byte W18 + .byte Cn1 , v120 + .byte W06 + .byte GOTO + .word mus_syoujoeye_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_syoujoeye: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_syoujoeye_pri @ Priority + .byte mus_syoujoeye_rev @ Reverb. + + .word mus_syoujoeye_grp + + .word mus_syoujoeye_1 + .word mus_syoujoeye_2 + .word mus_syoujoeye_3 + .word mus_syoujoeye_4 + .word mus_syoujoeye_5 + .word mus_syoujoeye_6 + .word mus_syoujoeye_7 + .word mus_syoujoeye_8 + + .end diff --git a/sound/songs/mus_t_battle.s b/sound/songs/mus_t_battle.s new file mode 100644 index 0000000000..0ca7810731 --- /dev/null +++ b/sound/songs/mus_t_battle.s @@ -0,0 +1,2358 @@ + .include "MPlayDef.s" + + .equ mus_t_battle_grp, voicegroup_868FE7C + .equ mus_t_battle_pri, 0 + .equ mus_t_battle_rev, reverb_set+50 + .equ mus_t_battle_mvl, 127 + .equ mus_t_battle_key, 0 + .equ mus_t_battle_tbs, 1 + .equ mus_t_battle_exg, 0 + .equ mus_t_battle_cmp, 1 + + .section .rodata + .global mus_t_battle + .align 2 + +@********************** Track 1 **********************@ + +mus_t_battle_1: + .byte KEYSH , mus_t_battle_key+0 + .byte TEMPO , 184*mus_t_battle_tbs/2 + .byte VOICE , 46 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 74*mus_t_battle_mvl/mxv + .byte PAN , c_v-46 + .byte N04 , Fn2 , v112 + .byte W04 + .byte Gs2 + .byte W04 + .byte As2 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gs3 + .byte W04 + .byte PAN , c_v-30 + .byte N04 , As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gs4 + .byte W04 + .byte As4 + .byte W04 + .byte Dn5 + .byte W04 + .byte PAN , c_v-20 + .byte N04 , Fn3 + .byte W04 + .byte Gs3 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gs4 + .byte W04 + .byte PAN , c_v+29 + .byte N04 , As4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Gs5 + .byte W04 + .byte As5 + .byte W04 + .byte Dn6 + .byte W04 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 127 + .byte VOL , 53*mus_t_battle_mvl/mxv + .byte PAN , c_v+0 + .byte N02 , Fs5 + .byte W08 + .byte Fs5 , v080 + .byte W08 + .byte N02 + .byte W08 + .byte PAN , c_v-61 + .byte N02 , Fs5 , v112 + .byte W08 + .byte Fs5 , v080 + .byte W08 + .byte N02 + .byte W08 + .byte PAN , c_v+63 + .byte N02 , Fs5 , v112 + .byte W08 + .byte Fs5 , v080 + .byte W08 + .byte N02 + .byte W08 + .byte PAN , c_v+0 + .byte N02 , Fs5 , v112 + .byte W08 + .byte Fs5 , v080 + .byte W08 + .byte N02 + .byte W08 + .byte PAN , c_v-61 + .byte N02 , Fs5 , v112 + .byte W08 + .byte Fs5 , v080 + .byte W08 + .byte N02 + .byte W08 + .byte PAN , c_v+63 + .byte N02 , Fs5 , v112 + .byte W08 + .byte Fs5 , v080 + .byte W08 + .byte N02 + .byte W08 + .byte PAN , c_v+0 + .byte N02 , Fs5 , v112 + .byte W08 + .byte Fs5 , v080 + .byte W08 + .byte N02 + .byte W08 + .byte Fs5 , v112 + .byte W08 + .byte Fs5 , v080 + .byte W08 + .byte N02 + .byte W08 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W24 + .byte TEMPO , 158*mus_t_battle_tbs/2 + .byte W24 + .byte TEMPO , 148*mus_t_battle_tbs/2 + .byte W24 + .byte TEMPO , 138*mus_t_battle_tbs/2 + .byte W24 + .byte W12 + .byte FINE + +@********************** Track 2 **********************@ + +mus_t_battle_2: + .byte KEYSH , mus_t_battle_key+0 + .byte VOICE , 46 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 77*mus_t_battle_mvl/mxv + .byte PAN , c_v-7 + .byte W96 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte VOL , 77*mus_t_battle_mvl/mxv + .byte N03 , Ds4 , v112 + .byte W06 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Ds4 + .byte W12 + .byte N24 , As4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Ds4 + .byte W12 + .byte N03 + .byte W12 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Ds4 + .byte W06 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Ds4 + .byte W12 + .byte N24 , As4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Ds4 + .byte W12 + .byte N03 + .byte W04 + .byte N02 , Ds4 , v036 + .byte W08 + .byte N24 , Gn4 , v112 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOICE , 60 + .byte MOD , 0 + .byte N03 , Ds4 + .byte W06 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Ds4 + .byte W12 + .byte N24 , As4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Ds4 + .byte W12 + .byte N03 + .byte W12 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N48 , Ds5 , v072 + .byte W24 + .byte MOD , 6 + .byte VOL , 77*mus_t_battle_mvl/mxv + .byte W02 + .byte 68*mus_t_battle_mvl/mxv + .byte W03 + .byte 57*mus_t_battle_mvl/mxv + .byte W03 + .byte 51*mus_t_battle_mvl/mxv + .byte W04 + .byte 46*mus_t_battle_mvl/mxv + .byte W02 + .byte 39*mus_t_battle_mvl/mxv + .byte W03 + .byte 31*mus_t_battle_mvl/mxv + .byte W03 + .byte 20*mus_t_battle_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 77*mus_t_battle_mvl/mxv + .byte N48 , Ds3 , v104 + .byte W24 + .byte MOD , 6 + .byte VOL , 72*mus_t_battle_mvl/mxv + .byte W02 + .byte 60*mus_t_battle_mvl/mxv + .byte W03 + .byte 46*mus_t_battle_mvl/mxv + .byte W03 + .byte 36*mus_t_battle_mvl/mxv + .byte W04 + .byte 32*mus_t_battle_mvl/mxv + .byte W02 + .byte 24*mus_t_battle_mvl/mxv + .byte W03 + .byte 17*mus_t_battle_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte VOL , 77*mus_t_battle_mvl/mxv + .byte N48 , Cs4 , v108 + .byte W24 + .byte MOD , 6 + .byte VOL , 76*mus_t_battle_mvl/mxv + .byte W02 + .byte 72*mus_t_battle_mvl/mxv + .byte W03 + .byte 68*mus_t_battle_mvl/mxv + .byte W03 + .byte 59*mus_t_battle_mvl/mxv + .byte W04 + .byte 54*mus_t_battle_mvl/mxv + .byte W02 + .byte 41*mus_t_battle_mvl/mxv + .byte W03 + .byte 25*mus_t_battle_mvl/mxv + .byte W03 + .byte 20*mus_t_battle_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 77*mus_t_battle_mvl/mxv + .byte N04 , Ds3 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Cs3 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte Dn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W32 + .byte N08 , As3 + .byte W08 + .byte An3 + .byte W08 + .byte N04 , As3 + .byte W08 + .byte N12 , Fn4 + .byte W12 + .byte N03 , En4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Cs4 + .byte W03 + .byte VOL , 78*mus_t_battle_mvl/mxv + .byte N03 , Ds4 + .byte W06 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Ds4 + .byte W12 + .byte N24 , As4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Ds4 + .byte W12 + .byte N03 + .byte W12 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Ds4 + .byte W06 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Ds4 + .byte W12 + .byte Dn5 , v072 + .byte W03 + .byte N21 , Cs5 , v112 + .byte W09 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Ds4 + .byte W12 + .byte N03 + .byte W12 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N96 , Ds5 , v100 + .byte W48 + .byte MOD , 7 + .byte VOL , 79*mus_t_battle_mvl/mxv + .byte W02 + .byte 72*mus_t_battle_mvl/mxv + .byte W03 + .byte 66*mus_t_battle_mvl/mxv + .byte W03 + .byte 59*mus_t_battle_mvl/mxv + .byte W04 + .byte 55*mus_t_battle_mvl/mxv + .byte W02 + .byte 48*mus_t_battle_mvl/mxv + .byte W03 + .byte 42*mus_t_battle_mvl/mxv + .byte W03 + .byte 38*mus_t_battle_mvl/mxv + .byte W04 + .byte 36*mus_t_battle_mvl/mxv + .byte W02 + .byte 31*mus_t_battle_mvl/mxv + .byte W03 + .byte 29*mus_t_battle_mvl/mxv + .byte W03 + .byte 24*mus_t_battle_mvl/mxv + .byte W04 + .byte 20*mus_t_battle_mvl/mxv + .byte W05 + .byte 17*mus_t_battle_mvl/mxv + .byte W03 + .byte 13*mus_t_battle_mvl/mxv + .byte W04 + .byte PAN , c_v+0 + .byte MOD , 1 + .byte VOL , 79*mus_t_battle_mvl/mxv + .byte N08 , As4 , v112 + .byte W12 + .byte FINE + +@********************** Track 3 **********************@ + +mus_t_battle_3: + .byte KEYSH , mus_t_battle_key+0 + .byte VOICE , 58 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 40*mus_t_battle_mvl/mxv + .byte N48 , As1 , v112 + .byte W02 + .byte VOL , 42*mus_t_battle_mvl/mxv + .byte W03 + .byte 44*mus_t_battle_mvl/mxv + .byte W03 + .byte 47*mus_t_battle_mvl/mxv + .byte W04 + .byte 48*mus_t_battle_mvl/mxv + .byte W02 + .byte 51*mus_t_battle_mvl/mxv + .byte W03 + .byte 55*mus_t_battle_mvl/mxv + .byte W03 + .byte 59*mus_t_battle_mvl/mxv + .byte W04 + .byte 62*mus_t_battle_mvl/mxv + .byte W02 + .byte 64*mus_t_battle_mvl/mxv + .byte W03 + .byte 67*mus_t_battle_mvl/mxv + .byte W03 + .byte 72*mus_t_battle_mvl/mxv + .byte W04 + .byte 74*mus_t_battle_mvl/mxv + .byte W02 + .byte 77*mus_t_battle_mvl/mxv + .byte W03 + .byte 80*mus_t_battle_mvl/mxv + .byte W03 + .byte 81*mus_t_battle_mvl/mxv + .byte W04 + .byte 64*mus_t_battle_mvl/mxv + .byte N48 , Fn1 + .byte W02 + .byte VOL , 66*mus_t_battle_mvl/mxv + .byte W03 + .byte 69*mus_t_battle_mvl/mxv + .byte W03 + .byte 69*mus_t_battle_mvl/mxv + .byte W04 + .byte 72*mus_t_battle_mvl/mxv + .byte W02 + .byte 74*mus_t_battle_mvl/mxv + .byte W03 + .byte 76*mus_t_battle_mvl/mxv + .byte W03 + .byte 78*mus_t_battle_mvl/mxv + .byte W04 + .byte 80*mus_t_battle_mvl/mxv + .byte W02 + .byte 83*mus_t_battle_mvl/mxv + .byte W03 + .byte 84*mus_t_battle_mvl/mxv + .byte W03 + .byte 86*mus_t_battle_mvl/mxv + .byte W04 + .byte 87*mus_t_battle_mvl/mxv + .byte W02 + .byte 88*mus_t_battle_mvl/mxv + .byte W10 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N96 , Ds2 + .byte W24 + .byte VOL , 80*mus_t_battle_mvl/mxv + .byte W05 + .byte 74*mus_t_battle_mvl/mxv + .byte W07 + .byte 71*mus_t_battle_mvl/mxv + .byte W05 + .byte 69*mus_t_battle_mvl/mxv + .byte W07 + .byte 66*mus_t_battle_mvl/mxv + .byte W05 + .byte 64*mus_t_battle_mvl/mxv + .byte W07 + .byte 59*mus_t_battle_mvl/mxv + .byte W05 + .byte 52*mus_t_battle_mvl/mxv + .byte W07 + .byte 46*mus_t_battle_mvl/mxv + .byte W05 + .byte 40*mus_t_battle_mvl/mxv + .byte W07 + .byte 35*mus_t_battle_mvl/mxv + .byte W05 + .byte 31*mus_t_battle_mvl/mxv + .byte W07 + .byte VOICE , 47 + .byte VOL , 88*mus_t_battle_mvl/mxv + .byte N08 + .byte W12 + .byte FINE + +@********************** Track 4 **********************@ + +mus_t_battle_4: + .byte KEYSH , mus_t_battle_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 88*mus_t_battle_mvl/mxv + .byte PAN , c_v-32 + .byte W48 + .byte N06 , Fn2 , v127 + .byte W12 + .byte As1 , v120 + .byte W12 + .byte N03 , Fn2 , v127 + .byte W06 + .byte N06 , Fn2 , v120 + .byte W06 + .byte As1 , v127 + .byte W12 + .byte PAN , c_v+25 + .byte N06 , Ds3 , v124 + .byte W12 + .byte PAN , c_v-24 + .byte N06 , Ds2 , v127 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , As1 , v120 + .byte W24 + .byte PAN , c_v+25 + .byte N06 , Ds2 , v127 + .byte W12 + .byte PAN , c_v-22 + .byte N06 , As1 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Ds1 , v124 + .byte W24 + .byte PAN , c_v+25 + .byte N06 , Ds3 + .byte W12 + .byte PAN , c_v-22 + .byte N06 , Ds2 , v127 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , As1 , v124 + .byte W24 + .byte PAN , c_v+25 + .byte N06 , Ds2 + .byte W06 + .byte Ds2 , v127 + .byte W06 + .byte PAN , c_v-22 + .byte N06 , As1 + .byte W12 + .byte PAN , c_v+0 + .byte N04 , Ds2 , v120 + .byte W06 + .byte Ds2 , v072 + .byte W06 + .byte Ds2 , v076 + .byte W06 + .byte Ds2 , v112 + .byte W06 + .byte PAN , c_v+27 + .byte N06 , Ds3 , v124 + .byte W12 + .byte PAN , c_v-22 + .byte N06 , Ds2 , v127 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , As1 , v120 + .byte W24 + .byte PAN , c_v+31 + .byte N06 , As2 , v127 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v-21 + .byte N06 , Ds2 + .byte W06 + .byte N06 + .byte W06 + .byte As1 + .byte W06 + .byte As1 , v112 + .byte W06 + .byte N12 , As1 , v127 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Ds1 + .byte W96 + .byte W96 + .byte VOICE , 56 + .byte VOL , 56*mus_t_battle_mvl/mxv + .byte N04 , Cs5 , v112 + .byte W08 + .byte An4 + .byte W08 + .byte Fn4 + .byte W08 + .byte An4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte Cs3 + .byte W08 + .byte Fn3 + .byte W08 + .byte An3 + .byte W08 + .byte Fn3 + .byte W08 + .byte An3 + .byte W08 + .byte Cs4 + .byte W08 + .byte VOL , 88*mus_t_battle_mvl/mxv + .byte N04 , An3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte VOICE , 47 + .byte PAN , c_v+29 + .byte N03 , Ds2 , v127 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v-38 + .byte N06 , An1 + .byte W12 + .byte VOICE , 46 + .byte N04 , As3 , v096 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gs4 + .byte W04 + .byte As4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte As4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte VOICE , 47 + .byte VOL , 88*mus_t_battle_mvl/mxv + .byte PAN , c_v+25 + .byte N06 , Ds2 , v127 + .byte W06 + .byte N04 , Ds2 , v112 + .byte W06 + .byte PAN , c_v-24 + .byte N06 , As1 , v127 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Ds1 , v120 + .byte W24 + .byte PAN , c_v+25 + .byte N06 , Ds2 , v124 + .byte W12 + .byte PAN , c_v-24 + .byte N06 , As1 , v127 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Ds1 , v120 + .byte W24 + .byte PAN , c_v+25 + .byte N06 , Ds2 , v124 + .byte W06 + .byte N04 , Ds2 , v112 + .byte W06 + .byte PAN , c_v-24 + .byte N06 , Ds2 , v127 + .byte W12 + .byte PAN , c_v-1 + .byte N12 , As1 , v124 + .byte W24 + .byte PAN , c_v+25 + .byte N06 , Ds2 + .byte W12 + .byte PAN , c_v-22 + .byte N06 , Ds2 , v127 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , As1 , v120 + .byte W12 + .byte N06 , Ds2 , v112 + .byte W06 + .byte As1 + .byte W06 + .byte PAN , c_v-35 + .byte N96 , Ds1 , v124 + .byte W24 + .byte VOL , 78*mus_t_battle_mvl/mxv + .byte W02 + .byte 77*mus_t_battle_mvl/mxv + .byte W03 + .byte 76*mus_t_battle_mvl/mxv + .byte W07 + .byte 74*mus_t_battle_mvl/mxv + .byte W02 + .byte 72*mus_t_battle_mvl/mxv + .byte W06 + .byte 72*mus_t_battle_mvl/mxv + .byte W06 + .byte 69*mus_t_battle_mvl/mxv + .byte W03 + .byte 69*mus_t_battle_mvl/mxv + .byte W03 + .byte 67*mus_t_battle_mvl/mxv + .byte W04 + .byte 66*mus_t_battle_mvl/mxv + .byte W02 + .byte 64*mus_t_battle_mvl/mxv + .byte W03 + .byte 62*mus_t_battle_mvl/mxv + .byte W03 + .byte 60*mus_t_battle_mvl/mxv + .byte W06 + .byte 57*mus_t_battle_mvl/mxv + .byte W03 + .byte 52*mus_t_battle_mvl/mxv + .byte W03 + .byte 49*mus_t_battle_mvl/mxv + .byte W04 + .byte 47*mus_t_battle_mvl/mxv + .byte W02 + .byte 38*mus_t_battle_mvl/mxv + .byte W03 + .byte 20*mus_t_battle_mvl/mxv + .byte W07 + .byte VOICE , 1 + .byte VOL , 64*mus_t_battle_mvl/mxv + .byte PAN , c_v+0 + .byte N08 , Ds6 , v120 + .byte W12 + .byte FINE + +@********************** Track 5 **********************@ + +mus_t_battle_5: + .byte KEYSH , mus_t_battle_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+8 + .byte VOL , 2*mus_t_battle_mvl/mxv + .byte N48 , As4 , v112 + .byte W02 + .byte VOL , 3*mus_t_battle_mvl/mxv + .byte W03 + .byte 6*mus_t_battle_mvl/mxv + .byte W08 + .byte 6*mus_t_battle_mvl/mxv + .byte W08 + .byte 8*mus_t_battle_mvl/mxv + .byte W03 + .byte 9*mus_t_battle_mvl/mxv + .byte W04 + .byte 11*mus_t_battle_mvl/mxv + .byte W01 + .byte 13*mus_t_battle_mvl/mxv + .byte W03 + .byte 15*mus_t_battle_mvl/mxv + .byte W01 + .byte 16*mus_t_battle_mvl/mxv + .byte W03 + .byte 18*mus_t_battle_mvl/mxv + .byte W01 + .byte 20*mus_t_battle_mvl/mxv + .byte W03 + .byte 24*mus_t_battle_mvl/mxv + .byte W01 + .byte 27*mus_t_battle_mvl/mxv + .byte W03 + .byte 29*mus_t_battle_mvl/mxv + .byte W04 + .byte N36 , Fn5 + .byte W02 + .byte VOL , 26*mus_t_battle_mvl/mxv + .byte W02 + .byte 27*mus_t_battle_mvl/mxv + .byte W04 + .byte 29*mus_t_battle_mvl/mxv + .byte W05 + .byte 32*mus_t_battle_mvl/mxv + .byte W03 + .byte 34*mus_t_battle_mvl/mxv + .byte W08 + .byte 36*mus_t_battle_mvl/mxv + .byte W01 + .byte 36*mus_t_battle_mvl/mxv + .byte W04 + .byte 38*mus_t_battle_mvl/mxv + .byte W03 + .byte 40*mus_t_battle_mvl/mxv + .byte W01 + .byte 42*mus_t_battle_mvl/mxv + .byte W03 + .byte 46*mus_t_battle_mvl/mxv + .byte N03 , Dn5 + .byte W01 + .byte VOL , 49*mus_t_battle_mvl/mxv + .byte W02 + .byte N03 , As4 + .byte W01 + .byte VOL , 52*mus_t_battle_mvl/mxv + .byte W01 + .byte 55*mus_t_battle_mvl/mxv + .byte W01 + .byte N03 , Gs4 + .byte W02 + .byte VOL , 59*mus_t_battle_mvl/mxv + .byte W01 + .byte 66*mus_t_battle_mvl/mxv + .byte N03 , Fn4 + .byte W03 + .byte PAN , c_v-21 + .byte VOL , 52*mus_t_battle_mvl/mxv + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N06 , As3 + .byte W12 + .byte N12 , Cn4 + .byte W12 + .byte N06 , As3 + .byte W12 + .byte N03 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Gs4 + .byte W12 + .byte N06 , Cs4 + .byte W06 + .byte N03 , Cn4 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte N03 , Cn4 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte N03 , Cn4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte N12 , An4 + .byte W12 + .byte N06 , As3 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N06 , As3 + .byte W09 + .byte N03 + .byte W03 + .byte N12 , As4 + .byte W12 + .byte N03 , As3 + .byte W12 + .byte N03 + .byte W12 + .byte VOICE , 48 + .byte PAN , c_v-21 + .byte N06 , Dn5 + .byte W06 + .byte As4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte VOICE , 56 + .byte VOL , 66*mus_t_battle_mvl/mxv + .byte PAN , c_v-21 + .byte N04 , An5 + .byte W08 + .byte Fn5 + .byte W08 + .byte Cs5 + .byte W08 + .byte Fn5 + .byte W08 + .byte Cs5 + .byte W08 + .byte An4 + .byte W08 + .byte An3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte Fn4 + .byte W08 + .byte An4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Bn4 + .byte W08 + .byte Gn5 + .byte W08 + .byte PAN , c_v-3 + .byte W24 + .byte N09 , As4 + .byte W09 + .byte N06 , Gs4 + .byte W06 + .byte As4 + .byte W09 + .byte N12 , Fn5 + .byte W24 + .byte PAN , c_v-24 + .byte VOL , 56*mus_t_battle_mvl/mxv + .byte N06 , As3 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte N12 , Fs4 + .byte W12 + .byte N06 , As3 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte As3 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Gn4 + .byte W12 + .byte N03 , Cs4 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte N03 , Cs4 + .byte W12 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte N12 , Gs4 + .byte W12 + .byte N03 , Cn4 + .byte W12 + .byte N03 + .byte W12 + .byte N12 , As3 + .byte W12 + .byte An4 + .byte W12 + .byte VOICE , 46 + .byte PAN , c_v-32 + .byte VOL , 66*mus_t_battle_mvl/mxv + .byte N06 , As5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Dn5 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , Ds5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte As4 + .byte W06 + .byte PAN , c_v+31 + .byte N06 , Cn5 , v104 + .byte W06 + .byte As4 , v100 + .byte W06 + .byte Gs4 , v092 + .byte W06 + .byte Fn4 , v076 + .byte W06 + .byte VOL , 66*mus_t_battle_mvl/mxv + .byte PAN , c_v+31 + .byte N06 , Ds4 , v060 + .byte W12 + .byte FINE + +@********************** Track 6 **********************@ + +mus_t_battle_6: + .byte KEYSH , mus_t_battle_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-63 + .byte VOL , 6*mus_t_battle_mvl/mxv + .byte N48 , As2 , v112 + .byte W02 + .byte VOL , 9*mus_t_battle_mvl/mxv + .byte W03 + .byte 13*mus_t_battle_mvl/mxv + .byte W03 + .byte 14*mus_t_battle_mvl/mxv + .byte W04 + .byte 15*mus_t_battle_mvl/mxv + .byte W02 + .byte 18*mus_t_battle_mvl/mxv + .byte W03 + .byte 20*mus_t_battle_mvl/mxv + .byte W03 + .byte 23*mus_t_battle_mvl/mxv + .byte W04 + .byte 24*mus_t_battle_mvl/mxv + .byte W02 + .byte 28*mus_t_battle_mvl/mxv + .byte W03 + .byte 31*mus_t_battle_mvl/mxv + .byte W03 + .byte 35*mus_t_battle_mvl/mxv + .byte W04 + .byte 36*mus_t_battle_mvl/mxv + .byte W02 + .byte 38*mus_t_battle_mvl/mxv + .byte W03 + .byte 42*mus_t_battle_mvl/mxv + .byte W03 + .byte 43*mus_t_battle_mvl/mxv + .byte W04 + .byte 32*mus_t_battle_mvl/mxv + .byte N48 , Fn3 + .byte W02 + .byte VOL , 35*mus_t_battle_mvl/mxv + .byte W03 + .byte 36*mus_t_battle_mvl/mxv + .byte W03 + .byte 38*mus_t_battle_mvl/mxv + .byte W04 + .byte 40*mus_t_battle_mvl/mxv + .byte W02 + .byte 42*mus_t_battle_mvl/mxv + .byte W03 + .byte 45*mus_t_battle_mvl/mxv + .byte W03 + .byte 49*mus_t_battle_mvl/mxv + .byte W04 + .byte 51*mus_t_battle_mvl/mxv + .byte W02 + .byte 55*mus_t_battle_mvl/mxv + .byte W03 + .byte 58*mus_t_battle_mvl/mxv + .byte W03 + .byte 60*mus_t_battle_mvl/mxv + .byte W04 + .byte 62*mus_t_battle_mvl/mxv + .byte W02 + .byte 64*mus_t_battle_mvl/mxv + .byte W03 + .byte 67*mus_t_battle_mvl/mxv + .byte W03 + .byte 70*mus_t_battle_mvl/mxv + .byte W04 + .byte 44*mus_t_battle_mvl/mxv + .byte W06 + .byte N06 , An3 + .byte W06 + .byte N03 , As3 + .byte W12 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , As3 + .byte W12 + .byte N03 + .byte W12 + .byte N24 , En4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , As3 + .byte W06 + .byte N06 , An3 + .byte W06 + .byte N03 , As3 + .byte W12 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , As3 + .byte W12 + .byte N03 + .byte W12 + .byte N24 , Dn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , As3 + .byte W12 + .byte N03 + .byte W12 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , As3 + .byte W12 + .byte N03 + .byte W12 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N48 , As4 + .byte W24 + .byte MOD , 6 + .byte VOL , 41*mus_t_battle_mvl/mxv + .byte W05 + .byte 36*mus_t_battle_mvl/mxv + .byte W07 + .byte 31*mus_t_battle_mvl/mxv + .byte W05 + .byte 28*mus_t_battle_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte VOL , 44*mus_t_battle_mvl/mxv + .byte N48 , As2 + .byte W24 + .byte MOD , 6 + .byte VOL , 42*mus_t_battle_mvl/mxv + .byte W05 + .byte 36*mus_t_battle_mvl/mxv + .byte W07 + .byte 30*mus_t_battle_mvl/mxv + .byte W05 + .byte 25*mus_t_battle_mvl/mxv + .byte W03 + .byte 22*mus_t_battle_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 44*mus_t_battle_mvl/mxv + .byte N48 , Fs3 + .byte W24 + .byte MOD , 6 + .byte VOL , 38*mus_t_battle_mvl/mxv + .byte W05 + .byte 34*mus_t_battle_mvl/mxv + .byte W07 + .byte 30*mus_t_battle_mvl/mxv + .byte W05 + .byte 25*mus_t_battle_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte VOL , 44*mus_t_battle_mvl/mxv + .byte N04 , Fs2 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gn2 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte Gs2 + .byte W08 + .byte Gn3 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W32 + .byte N08 , Dn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte N04 , Dn3 + .byte W08 + .byte N12 , Gs3 + .byte W12 + .byte N03 , Gn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte En3 + .byte W03 + .byte As3 + .byte W06 + .byte N06 , An3 + .byte W06 + .byte N03 , As3 + .byte W12 + .byte N24 , Ds4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , As3 + .byte W12 + .byte N03 + .byte W12 + .byte N24 , En4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , As3 + .byte W06 + .byte N06 , An3 + .byte W06 + .byte N03 , As3 + .byte W12 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , As3 + .byte W12 + .byte N03 + .byte W12 + .byte N24 , Fs4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N96 , Gn3 + .byte W48 + .byte MOD , 7 + .byte VOL , 41*mus_t_battle_mvl/mxv + .byte W05 + .byte 37*mus_t_battle_mvl/mxv + .byte W07 + .byte 35*mus_t_battle_mvl/mxv + .byte W05 + .byte 31*mus_t_battle_mvl/mxv + .byte W07 + .byte 27*mus_t_battle_mvl/mxv + .byte W05 + .byte 24*mus_t_battle_mvl/mxv + .byte W07 + .byte 22*mus_t_battle_mvl/mxv + .byte W05 + .byte 20*mus_t_battle_mvl/mxv + .byte W07 + .byte MOD , 1 + .byte VOL , 51*mus_t_battle_mvl/mxv + .byte N06 + .byte N08 , Gn5 + .byte W12 + .byte FINE + +@********************** Track 7 **********************@ + +mus_t_battle_7: + .byte KEYSH , mus_t_battle_key+0 + .byte VOICE , 82 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 6*mus_t_battle_mvl/mxv + .byte N48 , Dn4 , v112 + .byte W02 + .byte VOL , 9*mus_t_battle_mvl/mxv + .byte W03 + .byte 13*mus_t_battle_mvl/mxv + .byte W03 + .byte 14*mus_t_battle_mvl/mxv + .byte W04 + .byte 15*mus_t_battle_mvl/mxv + .byte W02 + .byte 18*mus_t_battle_mvl/mxv + .byte W03 + .byte 20*mus_t_battle_mvl/mxv + .byte W03 + .byte 23*mus_t_battle_mvl/mxv + .byte W04 + .byte 24*mus_t_battle_mvl/mxv + .byte W02 + .byte 28*mus_t_battle_mvl/mxv + .byte W03 + .byte 31*mus_t_battle_mvl/mxv + .byte W03 + .byte 35*mus_t_battle_mvl/mxv + .byte W04 + .byte 36*mus_t_battle_mvl/mxv + .byte W02 + .byte 38*mus_t_battle_mvl/mxv + .byte W03 + .byte 42*mus_t_battle_mvl/mxv + .byte W03 + .byte 43*mus_t_battle_mvl/mxv + .byte W04 + .byte 32*mus_t_battle_mvl/mxv + .byte N48 , As4 + .byte W02 + .byte VOL , 35*mus_t_battle_mvl/mxv + .byte W03 + .byte 36*mus_t_battle_mvl/mxv + .byte W03 + .byte 38*mus_t_battle_mvl/mxv + .byte W04 + .byte 40*mus_t_battle_mvl/mxv + .byte W02 + .byte 42*mus_t_battle_mvl/mxv + .byte W03 + .byte 45*mus_t_battle_mvl/mxv + .byte W03 + .byte 49*mus_t_battle_mvl/mxv + .byte W04 + .byte 51*mus_t_battle_mvl/mxv + .byte W02 + .byte 55*mus_t_battle_mvl/mxv + .byte W03 + .byte 58*mus_t_battle_mvl/mxv + .byte W03 + .byte 60*mus_t_battle_mvl/mxv + .byte W04 + .byte 62*mus_t_battle_mvl/mxv + .byte W02 + .byte 64*mus_t_battle_mvl/mxv + .byte W03 + .byte 67*mus_t_battle_mvl/mxv + .byte W03 + .byte 70*mus_t_battle_mvl/mxv + .byte W04 + .byte 44*mus_t_battle_mvl/mxv + .byte W06 + .byte N06 , An2 + .byte W06 + .byte N03 , As2 + .byte W12 + .byte N24 , Ds3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte PAN , c_v+63 + .byte MOD , 0 + .byte N03 , As2 + .byte W12 + .byte N03 + .byte W12 + .byte N24 , En3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , As2 + .byte W06 + .byte N06 , An2 + .byte W06 + .byte N03 , As2 + .byte W12 + .byte N24 , Ds3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , As2 + .byte W12 + .byte N03 + .byte W12 + .byte N24 , Dn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , As2 + .byte W12 + .byte N03 + .byte W12 + .byte N24 , Ds3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , As2 + .byte W12 + .byte N03 + .byte W12 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N48 , As3 + .byte W24 + .byte MOD , 6 + .byte VOL , 42*mus_t_battle_mvl/mxv + .byte W01 + .byte 40*mus_t_battle_mvl/mxv + .byte W03 + .byte 38*mus_t_battle_mvl/mxv + .byte W04 + .byte 36*mus_t_battle_mvl/mxv + .byte W01 + .byte 35*mus_t_battle_mvl/mxv + .byte W03 + .byte 33*mus_t_battle_mvl/mxv + .byte W01 + .byte 31*mus_t_battle_mvl/mxv + .byte W03 + .byte 29*mus_t_battle_mvl/mxv + .byte W01 + .byte 27*mus_t_battle_mvl/mxv + .byte W03 + .byte 27*mus_t_battle_mvl/mxv + .byte W01 + .byte 26*mus_t_battle_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 44*mus_t_battle_mvl/mxv + .byte N48 + .byte W24 + .byte MOD , 6 + .byte VOL , 42*mus_t_battle_mvl/mxv + .byte W01 + .byte 41*mus_t_battle_mvl/mxv + .byte W03 + .byte 39*mus_t_battle_mvl/mxv + .byte W01 + .byte 38*mus_t_battle_mvl/mxv + .byte W03 + .byte 36*mus_t_battle_mvl/mxv + .byte W01 + .byte 34*mus_t_battle_mvl/mxv + .byte W03 + .byte 32*mus_t_battle_mvl/mxv + .byte W01 + .byte 31*mus_t_battle_mvl/mxv + .byte W03 + .byte 29*mus_t_battle_mvl/mxv + .byte W01 + .byte 26*mus_t_battle_mvl/mxv + .byte W03 + .byte 23*mus_t_battle_mvl/mxv + .byte W01 + .byte 22*mus_t_battle_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 44*mus_t_battle_mvl/mxv + .byte N48 , Bn3 + .byte W24 + .byte MOD , 6 + .byte VOL , 43*mus_t_battle_mvl/mxv + .byte W01 + .byte 41*mus_t_battle_mvl/mxv + .byte W03 + .byte 39*mus_t_battle_mvl/mxv + .byte W01 + .byte 38*mus_t_battle_mvl/mxv + .byte W03 + .byte 36*mus_t_battle_mvl/mxv + .byte W01 + .byte 33*mus_t_battle_mvl/mxv + .byte W03 + .byte 32*mus_t_battle_mvl/mxv + .byte W01 + .byte 30*mus_t_battle_mvl/mxv + .byte W03 + .byte 27*mus_t_battle_mvl/mxv + .byte W01 + .byte 26*mus_t_battle_mvl/mxv + .byte W03 + .byte 24*mus_t_battle_mvl/mxv + .byte W01 + .byte 22*mus_t_battle_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 44*mus_t_battle_mvl/mxv + .byte N04 , Cs3 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Bn2 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte Cn3 + .byte W08 + .byte BEND , c_v-6 + .byte N04 , Bn3 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W32 + .byte As3 , v064 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gs4 + .byte W04 + .byte As4 + .byte W04 + .byte Dn5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte As4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte BEND , c_v+0 + .byte N03 , As2 , v112 + .byte W06 + .byte N06 , An2 + .byte W06 + .byte N03 , As2 + .byte W12 + .byte N24 , Ds3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , As2 + .byte W12 + .byte N03 + .byte W12 + .byte N24 , En3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , As2 + .byte W06 + .byte N06 , An2 + .byte W06 + .byte N03 , As2 + .byte W12 + .byte N24 , Fs3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , As2 + .byte W12 + .byte N03 + .byte W12 + .byte N24 , Fs3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N96 , As4 + .byte W48 + .byte MOD , 7 + .byte W48 + .byte 1 + .byte VOL , 44*mus_t_battle_mvl/mxv + .byte N06 , Ds1 + .byte W12 + .byte FINE + +@********************** Track 8 **********************@ + +mus_t_battle_8: + .byte KEYSH , mus_t_battle_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 72*mus_t_battle_mvl/mxv + .byte N03 , En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v060 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v072 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v076 + .byte W03 + .byte En1 , v088 + .byte W03 + .byte En1 , v100 + .byte W03 + .byte En1 , v112 + .byte W03 +mus_t_battle_8_000: + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , En1 , v068 + .byte N48 , An2 , v084 + .byte W03 + .byte N03 , En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , En1 , v068 + .byte N48 , An2 , v084 + .byte W03 + .byte N03 , En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PEND + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , En1 , v068 + .byte N48 , An2 , v084 + .byte W03 + .byte N03 , En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , En1 , v088 + .byte N48 , An2 + .byte W03 + .byte N03 , En1 , v068 + .byte W03 + .byte En1 , v100 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte En1 , v100 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v100 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , En1 , v068 + .byte N48 , An2 , v084 + .byte W03 + .byte N03 , En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , En1 , v068 + .byte N24 , Gn2 , v080 + .byte W03 + .byte N03 , En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte VOL , 63*mus_t_battle_mvl/mxv + .byte N04 , Fs1 , v112 + .byte N48 , An2 , v084 + .byte W08 + .byte N04 , Fs1 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte Fs1 , v112 + .byte W08 + .byte Fs1 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte Fs1 , v112 + .byte N48 , An2 , v084 + .byte W08 + .byte N04 , Fs1 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte Fs1 , v112 + .byte W08 + .byte Fs1 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte Fs1 , v112 + .byte W08 + .byte Fs1 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte Fs1 , v112 + .byte W08 + .byte Fs1 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte Fs1 , v112 + .byte N48 , An2 + .byte W08 + .byte N04 , Fs1 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte Fs1 , v112 + .byte W08 + .byte Fs1 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte VOL , 72*mus_t_battle_mvl/mxv + .byte N03 , En1 , v112 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte En1 , v112 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v072 + .byte W03 + .byte En1 , v084 + .byte W03 + .byte En1 , v088 + .byte W03 + .byte En1 , v100 + .byte W03 + .byte En1 , v112 + .byte W03 + .byte En1 , v120 + .byte W03 + .byte W48 + .byte N48 , An2 , v084 + .byte W48 + .byte PATT + .word mus_t_battle_8_000 + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , En1 , v068 + .byte N48 , An2 , v084 + .byte W03 + .byte N03 , En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N48 , An2 , v084 + .byte W96 + .byte W12 + .byte FINE + +@********************** Track 9 **********************@ + +mus_t_battle_9: + .byte KEYSH , mus_t_battle_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 65*mus_t_battle_mvl/mxv + .byte W48 + .byte N06 , Fn2 , v092 + .byte W12 + .byte Fn1 + .byte W12 + .byte N02 , Fn2 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Dn1 + .byte W12 + .byte N14 , Ds1 , v120 + .byte W12 + .byte N04 , Dn1 , v112 + .byte W12 + .byte N12 , As1 + .byte W12 + .byte N06 , Ds2 + .byte W12 + .byte N12 , Ds1 + .byte W12 + .byte N04 , Dn1 + .byte W12 + .byte N12 , As1 + .byte W12 + .byte N06 , Gs1 + .byte W12 + .byte N12 , Ds1 , v120 + .byte W12 + .byte N04 , Fs1 , v112 + .byte W12 + .byte N12 , As1 + .byte W12 + .byte N06 , Ds2 + .byte W12 + .byte N12 , Ds1 + .byte W12 + .byte N06 + .byte W12 + .byte As1 + .byte W06 + .byte N03 , Gs1 + .byte W06 + .byte N06 , As1 + .byte W06 + .byte Fs1 + .byte W06 + .byte N12 , Ds1 , v120 + .byte W12 + .byte N04 , Fs1 , v112 + .byte W12 + .byte N12 , As1 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte N12 , Ds1 + .byte W12 + .byte N04 , Dn1 + .byte W12 + .byte N12 , As1 + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte N04 , Ds1 + .byte W08 + .byte Ds1 , v084 + .byte W08 + .byte N04 + .byte W08 + .byte Ds1 , v112 + .byte W08 + .byte Ds1 , v084 + .byte W08 + .byte N04 + .byte W08 + .byte Ds1 , v112 + .byte W08 + .byte Ds1 , v084 + .byte W08 + .byte N04 + .byte W08 + .byte N16 , An1 , v112 + .byte W16 + .byte N08 , As1 + .byte W08 + .byte N04 , Ds1 , v084 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Ds1 , v112 + .byte W08 + .byte Ds1 , v084 + .byte W08 + .byte N04 + .byte W08 + .byte Ds1 , v112 + .byte W08 + .byte Ds1 , v084 + .byte W08 + .byte N04 + .byte W08 + .byte N16 , Dn2 , v112 + .byte W16 + .byte N08 , Ds2 + .byte W08 + .byte N04 , Gn1 + .byte W16 + .byte Gn1 , v096 + .byte W08 + .byte Gn1 , v112 + .byte W16 + .byte Gn1 , v096 + .byte W08 + .byte Gn1 , v112 + .byte W16 + .byte Bn1 , v096 + .byte W08 + .byte N14 , Cs2 , v112 + .byte W16 + .byte N06 , Dn2 + .byte W08 + .byte N04 , Cs3 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W32 + .byte N06 , Ds1 + .byte W24 + .byte N03 , As1 + .byte W03 + .byte Bn1 + .byte W03 + .byte As1 + .byte W03 + .byte N15 , An1 + .byte W15 + .byte N12 , Ds1 , v120 + .byte W12 + .byte N04 , Dn1 , v112 + .byte W12 + .byte N12 , As1 + .byte W12 + .byte N06 , Bn1 + .byte W12 + .byte N12 , Ds1 + .byte W12 + .byte N04 , Fs1 + .byte W12 + .byte N12 , As1 + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte N12 , Ds1 , v120 + .byte W12 + .byte N04 , Fs1 , v112 + .byte W12 + .byte N12 , As1 + .byte W12 + .byte N06 , Fn2 + .byte W12 + .byte N12 , Ds1 + .byte W12 + .byte N04 , As1 + .byte W12 + .byte N24 , Dn2 + .byte W24 + .byte W96 + .byte PAN , c_v+0 + .byte N06 , Ds1 + .byte W12 + .byte FINE + +@******************************************************@ + .align 2 + +mus_t_battle: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_t_battle_pri @ Priority + .byte mus_t_battle_rev @ Reverb. + + .word mus_t_battle_grp + + .word mus_t_battle_1 + .word mus_t_battle_2 + .word mus_t_battle_3 + .word mus_t_battle_4 + .word mus_t_battle_5 + .word mus_t_battle_6 + .word mus_t_battle_7 + .word mus_t_battle_8 + .word mus_t_battle_9 + + .end diff --git a/sound/songs/mus_test.s b/sound/songs/mus_test.s new file mode 100644 index 0000000000..e1792bd933 --- /dev/null +++ b/sound/songs/mus_test.s @@ -0,0 +1,1136 @@ + .include "MPlayDef.s" + + .equ mus_test_grp, voicegroup_8680318 + .equ mus_test_pri, 0 + .equ mus_test_rev, reverb_set+50 + .equ mus_test_mvl, 127 + .equ mus_test_key, 0 + .equ mus_test_tbs, 1 + .equ mus_test_exg, 0 + .equ mus_test_cmp, 1 + + .section .rodata + .global mus_test + .align 2 + +@********************** Track 1 **********************@ + +mus_test_1: + .byte KEYSH , mus_test_key+0 + .byte TEMPO , 128*mus_test_tbs/2 + .byte VOICE , 48 + .byte VOL , 14*mus_test_mvl/mxv + .byte PAN , c_v+16 + .byte N48 , Ds4 , v112 + .byte W04 + .byte VOL , 22*mus_test_mvl/mxv + .byte W04 + .byte 34*mus_test_mvl/mxv + .byte W04 + .byte 44*mus_test_mvl/mxv + .byte W04 + .byte 55*mus_test_mvl/mxv + .byte W04 + .byte 64*mus_test_mvl/mxv + .byte W04 + .byte 72*mus_test_mvl/mxv + .byte W04 + .byte 76*mus_test_mvl/mxv + .byte W04 + .byte 82*mus_test_mvl/mxv + .byte W04 + .byte 74*mus_test_mvl/mxv + .byte W12 + .byte N08 , Cs4 + .byte W08 + .byte As3 + .byte W08 + .byte Ds3 + .byte W08 +mus_test_1_B1: + .byte N04 , Bn3 , v072 + .byte W04 + .byte N12 , Cn4 , v080 + .byte W12 + .byte N08 , Cn4 , v032 + .byte W08 + .byte N16 , Cn4 , v080 + .byte W16 + .byte N08 , Gs4 , v064 + .byte W08 + .byte Cn4 , v080 + .byte W08 + .byte Cn4 , v032 + .byte W16 + .byte N16 , Cs4 , v096 + .byte W16 + .byte N08 , Cs4 , v032 + .byte W08 + .byte N16 , Cs4 , v096 + .byte W16 + .byte N08 , Gs4 , v064 + .byte W08 + .byte Cs4 , v096 + .byte W08 + .byte Cs4 , v032 + .byte W16 + .byte N16 , Dn4 , v112 + .byte W16 + .byte N08 , Dn4 , v032 + .byte W08 + .byte N16 , Dn4 , v112 + .byte W16 + .byte N08 , Gs4 , v064 + .byte W08 + .byte Dn4 , v112 + .byte W08 + .byte Dn4 , v032 + .byte W16 + .byte VOL , 35*mus_test_mvl/mxv + .byte N40 , Ds4 , v112 + .byte W04 + .byte VOL , 37*mus_test_mvl/mxv + .byte W04 + .byte 37*mus_test_mvl/mxv + .byte W04 + .byte 42*mus_test_mvl/mxv + .byte W04 + .byte 49*mus_test_mvl/mxv + .byte W04 + .byte 59*mus_test_mvl/mxv + .byte W04 + .byte MOD , 4 + .byte VOL , 67*mus_test_mvl/mxv + .byte W04 + .byte 76*mus_test_mvl/mxv + .byte W04 + .byte 74*mus_test_mvl/mxv + .byte W08 + .byte MOD , 0 + .byte N08 , Gs4 , v064 + .byte W08 + .byte Gn4 , v076 + .byte W08 + .byte Fn4 , v064 + .byte W08 + .byte Ds4 + .byte W08 + .byte VOL , 37*mus_test_mvl/mxv + .byte N40 , Fn4 , v100 + .byte W08 + .byte VOL , 42*mus_test_mvl/mxv + .byte W04 + .byte 50*mus_test_mvl/mxv + .byte W04 + .byte 58*mus_test_mvl/mxv + .byte W04 + .byte 64*mus_test_mvl/mxv + .byte W04 + .byte MOD , 5 + .byte VOL , 72*mus_test_mvl/mxv + .byte W04 + .byte 79*mus_test_mvl/mxv + .byte W04 + .byte 74*mus_test_mvl/mxv + .byte W08 + .byte MOD , 0 + .byte N08 , Gn4 , v076 + .byte W08 + .byte Gs4 , v072 + .byte W08 + .byte Gs4 , v032 + .byte W16 + .byte VOL , 44*mus_test_mvl/mxv + .byte N24 , Ds4 , v096 + .byte W04 + .byte VOL , 52*mus_test_mvl/mxv + .byte W04 + .byte 64*mus_test_mvl/mxv + .byte W04 + .byte 73*mus_test_mvl/mxv + .byte W04 + .byte 75*mus_test_mvl/mxv + .byte W08 + .byte N24 , Gn4 , v084 + .byte W24 + .byte N08 , Gs4 + .byte W08 + .byte Gs4 , v032 + .byte W16 + .byte VOL , 37*mus_test_mvl/mxv + .byte N40 , Ds4 , v112 + .byte W04 + .byte VOL , 42*mus_test_mvl/mxv + .byte W04 + .byte 50*mus_test_mvl/mxv + .byte W04 + .byte 55*mus_test_mvl/mxv + .byte W04 + .byte 63*mus_test_mvl/mxv + .byte W04 + .byte 72*mus_test_mvl/mxv + .byte W04 + .byte MOD , 4 + .byte VOL , 75*mus_test_mvl/mxv + .byte W16 + .byte MOD , 0 + .byte N08 , Fn4 , v068 + .byte W08 + .byte Ds4 , v072 + .byte W08 + .byte Dn4 + .byte W08 + .byte Cs4 , v064 + .byte W08 + .byte VOL , 70*mus_test_mvl/mxv + .byte N40 , Cn4 , v096 + .byte W04 + .byte VOL , 76*mus_test_mvl/mxv + .byte W04 + .byte 82*mus_test_mvl/mxv + .byte W04 + .byte 84*mus_test_mvl/mxv + .byte W12 + .byte MOD , 4 + .byte VOL , 79*mus_test_mvl/mxv + .byte W04 + .byte 71*mus_test_mvl/mxv + .byte W04 + .byte 61*mus_test_mvl/mxv + .byte W04 + .byte 55*mus_test_mvl/mxv + .byte W04 + .byte 75*mus_test_mvl/mxv + .byte N08 , Cn4 , v032 + .byte W08 + .byte MOD , 0 + .byte N16 , Fn4 , v072 + .byte W16 + .byte N08 , Fn4 , v032 + .byte W08 + .byte VOL , 47*mus_test_mvl/mxv + .byte N48 , Ds4 , v112 + .byte W04 + .byte VOL , 49*mus_test_mvl/mxv + .byte W04 + .byte 50*mus_test_mvl/mxv + .byte W04 + .byte 52*mus_test_mvl/mxv + .byte W04 + .byte 56*mus_test_mvl/mxv + .byte W04 + .byte 62*mus_test_mvl/mxv + .byte W04 + .byte MOD , 4 + .byte VOL , 68*mus_test_mvl/mxv + .byte W04 + .byte 75*mus_test_mvl/mxv + .byte W04 + .byte 85*mus_test_mvl/mxv + .byte W04 + .byte 88*mus_test_mvl/mxv + .byte W04 + .byte 75*mus_test_mvl/mxv + .byte W08 + .byte MOD , 0 + .byte N08 , Cs4 , v096 + .byte W08 + .byte Cs4 , v032 + .byte W08 + .byte Cn4 , v088 + .byte W08 + .byte VOL , 37*mus_test_mvl/mxv + .byte N48 , Gs3 , v084 + .byte W04 + .byte VOL , 42*mus_test_mvl/mxv + .byte W04 + .byte 44*mus_test_mvl/mxv + .byte W04 + .byte 46*mus_test_mvl/mxv + .byte W04 + .byte 49*mus_test_mvl/mxv + .byte W04 + .byte 50*mus_test_mvl/mxv + .byte W04 + .byte MOD , 4 + .byte VOL , 56*mus_test_mvl/mxv + .byte W04 + .byte 61*mus_test_mvl/mxv + .byte W04 + .byte 66*mus_test_mvl/mxv + .byte W04 + .byte 76*mus_test_mvl/mxv + .byte W04 + .byte 75*mus_test_mvl/mxv + .byte W08 + .byte MOD , 0 + .byte N08 , Fn3 + .byte W08 + .byte Fn3 , v032 + .byte W08 + .byte Gs3 , v084 + .byte W08 + .byte VOL , 42*mus_test_mvl/mxv + .byte N48 , Cn4 , v112 + .byte W08 + .byte VOL , 47*mus_test_mvl/mxv + .byte W04 + .byte 52*mus_test_mvl/mxv + .byte W04 + .byte 56*mus_test_mvl/mxv + .byte W04 + .byte 63*mus_test_mvl/mxv + .byte W04 + .byte 73*mus_test_mvl/mxv + .byte MOD , 4 + .byte W04 + .byte VOL , 78*mus_test_mvl/mxv + .byte W04 + .byte 84*mus_test_mvl/mxv + .byte W04 + .byte 75*mus_test_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte N08 , Cs4 , v080 + .byte W08 + .byte Cs4 , v032 + .byte W08 + .byte Cn4 , v084 + .byte W08 + .byte VOL , 39*mus_test_mvl/mxv + .byte N48 , As3 , v096 + .byte W04 + .byte VOL , 39*mus_test_mvl/mxv + .byte W08 + .byte 42*mus_test_mvl/mxv + .byte W04 + .byte 44*mus_test_mvl/mxv + .byte W04 + .byte 50*mus_test_mvl/mxv + .byte W04 + .byte 55*mus_test_mvl/mxv + .byte MOD , 4 + .byte W04 + .byte VOL , 62*mus_test_mvl/mxv + .byte W04 + .byte 68*mus_test_mvl/mxv + .byte W04 + .byte 78*mus_test_mvl/mxv + .byte W04 + .byte 74*mus_test_mvl/mxv + .byte W08 + .byte MOD , 0 + .byte N08 , As3 , v032 + .byte W24 + .byte GOTO + .word mus_test_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_test_2: + .byte KEYSH , mus_test_key+0 + .byte VOICE , 73 + .byte VOL , 14*mus_test_mvl/mxv + .byte PAN , c_v+32 + .byte N48 , As4 , v064 + .byte W04 + .byte VOL , 22*mus_test_mvl/mxv + .byte W04 + .byte 33*mus_test_mvl/mxv + .byte W04 + .byte 40*mus_test_mvl/mxv + .byte W04 + .byte 52*mus_test_mvl/mxv + .byte W04 + .byte 70*mus_test_mvl/mxv + .byte W04 + .byte 79*mus_test_mvl/mxv + .byte W04 + .byte 71*mus_test_mvl/mxv + .byte W20 + .byte N08 , Gn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Cs4 + .byte W08 +mus_test_2_B1: + .byte N04 , Gs4 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Ds4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Gs3 + .byte W08 + .byte Cn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte As4 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte As3 + .byte W08 + .byte Ds4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Bn4 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gs4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Ds4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Cn5 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gs4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Cs5 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Ds5 + .byte W04 + .byte N20 , Cs5 + .byte W20 + .byte N08 , Cs5 , v028 + .byte W24 +mus_test_2_000: + .byte N04 , As4 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Cn5 + .byte W04 + .byte N20 , As4 + .byte W20 + .byte N08 , As4 , v028 + .byte W24 + .byte PEND + .byte PATT + .word mus_test_2_000 + .byte N04 , An4 , v064 + .byte W08 + .byte Cn5 + .byte W08 + .byte Ds5 + .byte W08 + .byte N08 , Fn5 + .byte W08 + .byte Ds5 + .byte W08 + .byte Cn5 + .byte W08 + .byte An4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte VOL , 50*mus_test_mvl/mxv + .byte N04 , Cs5 + .byte W04 + .byte VOL , 56*mus_test_mvl/mxv + .byte N04 , Ds5 + .byte W04 + .byte VOL , 59*mus_test_mvl/mxv + .byte N04 , Cs5 + .byte W04 + .byte VOL , 64*mus_test_mvl/mxv + .byte N04 , Ds5 + .byte W04 + .byte VOL , 66*mus_test_mvl/mxv + .byte N04 , Cs5 + .byte W04 + .byte VOL , 69*mus_test_mvl/mxv + .byte N04 , Ds5 + .byte W04 + .byte VOL , 73*mus_test_mvl/mxv + .byte N04 , Cs5 + .byte W04 + .byte VOL , 76*mus_test_mvl/mxv + .byte N04 , Ds5 + .byte W04 + .byte VOL , 79*mus_test_mvl/mxv + .byte N04 , Cs5 + .byte W04 + .byte VOL , 81*mus_test_mvl/mxv + .byte N04 , Ds5 + .byte W04 + .byte VOL , 85*mus_test_mvl/mxv + .byte N04 , Cs5 + .byte W04 + .byte VOL , 88*mus_test_mvl/mxv + .byte N04 , Ds5 + .byte W04 + .byte VOL , 71*mus_test_mvl/mxv + .byte N08 , Gs5 + .byte W08 + .byte Gs5 , v028 + .byte W08 + .byte Fn5 , v060 + .byte W08 + .byte VOL , 50*mus_test_mvl/mxv + .byte N04 , Gs4 + .byte W04 + .byte VOL , 56*mus_test_mvl/mxv + .byte N04 , As4 + .byte W04 + .byte VOL , 59*mus_test_mvl/mxv + .byte N04 , Gs4 + .byte W04 + .byte VOL , 64*mus_test_mvl/mxv + .byte N04 , As4 + .byte W04 + .byte VOL , 66*mus_test_mvl/mxv + .byte N04 , Gs4 + .byte W04 + .byte VOL , 69*mus_test_mvl/mxv + .byte N04 , As4 + .byte W04 + .byte VOL , 73*mus_test_mvl/mxv + .byte N04 , Gs4 + .byte W04 + .byte VOL , 76*mus_test_mvl/mxv + .byte N04 , As4 + .byte W04 + .byte VOL , 79*mus_test_mvl/mxv + .byte N04 , Gs4 + .byte W04 + .byte VOL , 81*mus_test_mvl/mxv + .byte N04 , As4 + .byte W04 + .byte VOL , 85*mus_test_mvl/mxv + .byte N04 , Gs4 + .byte W04 + .byte VOL , 88*mus_test_mvl/mxv + .byte N04 , As4 + .byte W04 + .byte VOL , 70*mus_test_mvl/mxv + .byte N08 , Fn5 + .byte W08 + .byte Fn5 , v028 + .byte W08 + .byte Cs5 , v064 + .byte W08 + .byte N04 , Gs4 + .byte W04 + .byte As4 + .byte W04 + .byte Gs4 + .byte W04 + .byte As4 + .byte W04 + .byte Gs4 + .byte W04 + .byte As4 + .byte W04 + .byte Gs4 + .byte W04 + .byte As4 + .byte W04 + .byte Gs4 + .byte W04 + .byte As4 + .byte W04 + .byte Gs4 + .byte W04 + .byte As4 + .byte W04 + .byte Gs4 + .byte W04 + .byte As4 + .byte W04 + .byte Gs4 + .byte W04 + .byte As4 + .byte W04 + .byte Gs4 + .byte W04 + .byte As4 + .byte W04 + .byte N08 , Gn4 + .byte W08 + .byte Ds4 , v060 + .byte W08 + .byte Cs4 + .byte W08 + .byte N24 , As3 + .byte W24 + .byte N08 , Gn3 , v064 + .byte W08 + .byte Gn3 , v028 + .byte W08 + .byte Ds3 , v060 + .byte W08 + .byte GOTO + .word mus_test_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_test_3: + .byte KEYSH , mus_test_key+0 + .byte VOICE , 1 + .byte VOL , 74*mus_test_mvl/mxv + .byte PAN , c_v-32 + .byte N48 , Cs3 , v080 + .byte W48 + .byte N08 , Gn2 + .byte W08 + .byte As2 + .byte W08 + .byte Ds2 + .byte W08 +mus_test_3_B1: + .byte N24 , Ds3 , v080 + .byte W24 + .byte N08 , Gs2 + .byte W08 + .byte Gs2 , v028 + .byte W08 + .byte Gs3 , v080 + .byte W08 + .byte N04 , Ds3 + .byte W04 + .byte N08 , Ds3 , v028 + .byte W20 + .byte N24 , Ds3 , v080 + .byte W24 + .byte N08 , As2 + .byte W08 + .byte As2 , v028 + .byte W08 + .byte As3 , v080 + .byte W08 + .byte N04 , Ds3 + .byte W04 + .byte N08 , Ds3 , v028 + .byte W20 + .byte N24 , Ds3 , v080 + .byte W24 + .byte N08 , Bn2 + .byte W08 + .byte Bn2 , v028 + .byte W08 + .byte Bn3 , v080 + .byte W08 + .byte N04 , Ds3 + .byte W04 + .byte N08 , Ds3 , v028 + .byte W20 + .byte N24 , Ds3 , v080 + .byte W24 + .byte N08 , Cn3 + .byte W16 + .byte Cn4 + .byte W08 + .byte As3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N40 , Gs3 + .byte W40 + .byte N04 , Gn3 + .byte W08 + .byte N08 , Gs3 + .byte W08 + .byte Gs3 , v028 + .byte W16 + .byte N40 , Gn3 , v080 + .byte W40 + .byte N04 , Fs3 + .byte W08 + .byte N08 , Gn3 + .byte W08 + .byte Gn3 , v028 + .byte W16 + .byte N40 , Gn3 , v080 + .byte W40 + .byte N04 , Fn3 + .byte W08 + .byte N08 , Gn3 + .byte W08 + .byte Gn3 , v028 + .byte W16 + .byte N24 , Fn3 , v080 + .byte W24 + .byte N08 , Ds3 + .byte W08 + .byte Ds3 , v028 + .byte W08 + .byte Cs3 , v080 + .byte W08 + .byte Cn3 + .byte W08 + .byte Cn3 , v028 + .byte W08 + .byte An2 , v080 + .byte W08 + .byte Cn3 + .byte W08 + .byte Cn3 , v028 + .byte W08 + .byte Fn3 , v080 + .byte W08 + .byte Gs3 + .byte W08 + .byte Gs3 , v028 + .byte W08 + .byte Cs3 , v080 + .byte W08 + .byte Cs4 + .byte W08 + .byte Cs4 , v028 + .byte W16 + .byte Gs2 , v080 + .byte W08 + .byte Gs2 , v028 + .byte W08 + .byte Cs3 , v080 + .byte W08 + .byte Fn3 + .byte W08 + .byte Fn3 , v028 + .byte W08 + .byte As2 , v080 + .byte W08 + .byte As3 + .byte W08 + .byte As3 , v028 + .byte W16 + .byte Ds3 , v080 + .byte W08 + .byte Cs3 + .byte W08 + .byte As2 + .byte W08 + .byte Ds3 + .byte W08 + .byte Cs3 + .byte W08 + .byte As2 + .byte W08 + .byte Gs2 + .byte W08 + .byte As2 + .byte W08 + .byte Ds3 + .byte W08 + .byte N24 , Gn2 + .byte W24 + .byte N08 , Fn2 + .byte W08 + .byte Fn2 , v028 + .byte W08 + .byte Ds2 , v080 + .byte W08 + .byte N24 , Cs3 + .byte W24 + .byte GOTO + .word mus_test_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_test_4: + .byte KEYSH , mus_test_key+0 + .byte VOICE , 58 + .byte VOL , 5*mus_test_mvl/mxv + .byte PAN , c_v+0 + .byte N48 , Ds1 , v064 + .byte W04 + .byte VOL , 31*mus_test_mvl/mxv + .byte W04 + .byte 47*mus_test_mvl/mxv + .byte W04 + .byte 57*mus_test_mvl/mxv + .byte W04 + .byte 61*mus_test_mvl/mxv + .byte W04 + .byte 67*mus_test_mvl/mxv + .byte W04 + .byte 71*mus_test_mvl/mxv + .byte W04 + .byte 73*mus_test_mvl/mxv + .byte W04 + .byte 79*mus_test_mvl/mxv + .byte W04 + .byte 81*mus_test_mvl/mxv + .byte W04 + .byte 94*mus_test_mvl/mxv + .byte W08 + .byte N08 , Fn1 , v072 + .byte W08 + .byte As1 , v064 + .byte W08 + .byte Gn1 + .byte W08 +mus_test_4_B1: + .byte N24 , Gs1 , v072 + .byte W24 + .byte N08 , Ds2 , v064 + .byte W08 + .byte Ds2 , v032 + .byte W16 + .byte Gs2 , v064 + .byte W08 + .byte Gs2 , v032 + .byte W08 + .byte Ds2 , v064 + .byte W08 + .byte N24 , Gs1 , v076 + .byte W24 + .byte N08 , Ds2 , v064 + .byte W08 + .byte Ds2 , v032 + .byte W16 + .byte As2 , v064 + .byte W08 + .byte As2 , v032 + .byte W08 + .byte Ds2 , v064 + .byte W08 + .byte N24 , Gs1 , v072 + .byte W24 + .byte N08 , Ds2 , v064 + .byte W08 + .byte Ds2 , v032 + .byte W16 + .byte Bn2 , v064 + .byte W08 + .byte Bn2 , v032 + .byte W08 + .byte Ds2 , v064 + .byte W08 + .byte N24 , Gs1 , v072 + .byte W24 + .byte N08 , Ds2 , v064 + .byte W08 + .byte Ds2 , v032 + .byte W16 + .byte Cn3 , v064 + .byte W08 + .byte As2 + .byte W08 + .byte Ds2 + .byte W08 + .byte N24 , Cs1 , v072 + .byte W24 + .byte N08 , Gs1 , v064 + .byte W08 + .byte Gs1 , v032 + .byte W08 + .byte Gs2 , v064 + .byte W08 + .byte N24 , Cs2 + .byte W24 + .byte Cs1 , v072 + .byte W24 + .byte N08 , Gn1 , v064 + .byte W08 + .byte Gn1 , v032 + .byte W08 + .byte As2 , v064 + .byte W08 + .byte N24 , Ds2 + .byte W24 + .byte Cn1 , v072 + .byte W24 + .byte N08 , Cn2 , v064 + .byte W08 + .byte Cn2 , v032 + .byte W08 + .byte As2 , v064 + .byte W08 + .byte Gn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte Ds2 + .byte W08 + .byte N24 , Fn1 , v072 + .byte W24 + .byte N08 , Cn2 , v064 + .byte W08 + .byte Cn2 , v032 + .byte W16 + .byte Fn2 , v064 + .byte W08 + .byte Fn2 , v032 + .byte W08 + .byte Cn2 , v064 + .byte W08 + .byte N24 , Cs1 , v072 + .byte W24 + .byte N08 , Gs1 , v064 + .byte W08 + .byte Gs1 , v032 + .byte W08 + .byte Fn2 , v064 + .byte W08 + .byte Cs3 + .byte W08 + .byte Cs3 , v032 + .byte W08 + .byte Cs2 , v064 + .byte W08 + .byte N24 , As1 , v068 + .byte W24 + .byte N08 , Fn1 , v064 + .byte W08 + .byte Fn1 , v032 + .byte W08 + .byte Cs2 , v064 + .byte W08 + .byte Gs2 + .byte W08 + .byte Gs2 , v032 + .byte W08 + .byte Cs2 , v064 + .byte W08 + .byte N40 , Ds1 , v072 + .byte W40 + .byte N08 , As1 , v064 + .byte W08 + .byte N24 , Ds2 + .byte W24 + .byte N40 , Ds1 , v072 + .byte W40 + .byte N08 , As1 , v064 + .byte W08 + .byte Ds2 + .byte W08 + .byte Ds2 , v032 + .byte W08 + .byte Gn2 , v064 + .byte W08 + .byte GOTO + .word mus_test_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_test_5: + .byte KEYSH , mus_test_key+0 + .byte VOICE , 80 + .byte PAN , c_v+0 + .byte VOL , 62*mus_test_mvl/mxv + .byte N48 , Ds1 , v064 + .byte W48 + .byte N08 , Fn1 , v072 + .byte W08 + .byte As1 , v064 + .byte W08 + .byte Gn1 + .byte W08 +mus_test_5_B1: + .byte N24 , Gs1 , v072 + .byte W24 + .byte N08 , Ds2 , v064 + .byte W08 + .byte Ds2 , v032 + .byte W16 + .byte Gs2 , v064 + .byte W08 + .byte Gs2 , v032 + .byte W08 + .byte Ds2 , v064 + .byte W08 + .byte N24 , Gs1 , v076 + .byte W24 + .byte N08 , Ds2 , v064 + .byte W08 + .byte Ds2 , v032 + .byte W16 + .byte As2 , v064 + .byte W08 + .byte As2 , v032 + .byte W08 + .byte Ds2 , v064 + .byte W08 + .byte N24 , Gs1 , v072 + .byte W24 + .byte N08 , Ds2 , v064 + .byte W08 + .byte Ds2 , v032 + .byte W16 + .byte Bn2 , v064 + .byte W08 + .byte Bn2 , v032 + .byte W08 + .byte Ds2 , v064 + .byte W08 + .byte N24 , Gs1 , v072 + .byte W24 + .byte N08 , Ds2 , v064 + .byte W08 + .byte Ds2 , v032 + .byte W16 + .byte Cn3 , v064 + .byte W08 + .byte As2 + .byte W08 + .byte Ds2 + .byte W08 + .byte N24 , Cs1 , v072 + .byte W24 + .byte N08 , Gs1 , v064 + .byte W08 + .byte Gs1 , v032 + .byte W08 + .byte Gs2 , v064 + .byte W08 + .byte N24 , Cs2 + .byte W24 + .byte Cs1 , v072 + .byte W24 + .byte N08 , Gn1 , v064 + .byte W08 + .byte Gn1 , v032 + .byte W08 + .byte As2 , v064 + .byte W08 + .byte N24 , Ds2 + .byte W24 + .byte Cn1 , v072 + .byte W24 + .byte N08 , Cn2 , v064 + .byte W08 + .byte Cn2 , v032 + .byte W08 + .byte As2 , v064 + .byte W08 + .byte Gn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte Ds2 + .byte W08 + .byte N24 , Fn1 , v072 + .byte W24 + .byte N08 , Cn2 , v064 + .byte W08 + .byte Cn2 , v032 + .byte W16 + .byte Fn2 , v064 + .byte W08 + .byte Fn2 , v032 + .byte W08 + .byte Cn2 , v064 + .byte W08 + .byte N24 , Cs1 , v072 + .byte W24 + .byte N08 , Gs1 , v064 + .byte W08 + .byte Gs1 , v032 + .byte W08 + .byte Fn2 , v064 + .byte W08 + .byte Cs3 + .byte W08 + .byte Cs3 , v032 + .byte W08 + .byte Cs2 , v064 + .byte W08 + .byte N24 , As1 , v068 + .byte W24 + .byte N08 , Fn1 , v064 + .byte W08 + .byte Fn1 , v032 + .byte W08 + .byte Cs2 , v064 + .byte W08 + .byte Gs2 + .byte W08 + .byte Gs2 , v032 + .byte W08 + .byte Cs2 , v064 + .byte W08 + .byte N40 , Ds1 , v072 + .byte W40 + .byte N08 , As1 , v064 + .byte W08 + .byte N24 , Ds2 + .byte W24 + .byte N40 , Ds1 , v072 + .byte W40 + .byte N08 , As1 , v064 + .byte W08 + .byte Ds2 + .byte W08 + .byte Ds2 , v032 + .byte W08 + .byte Gn2 , v064 + .byte W08 + .byte GOTO + .word mus_test_5_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_test: + .byte 5 @ NumTrks + .byte 0 @ NumBlks + .byte mus_test_pri @ Priority + .byte mus_test_rev @ Reverb. + + .word mus_test_grp + + .word mus_test_1 + .word mus_test_2 + .word mus_test_3 + .word mus_test_4 + .word mus_test_5 + + .end diff --git a/sound/songs/mus_test1.s b/sound/songs/mus_test1.s new file mode 100644 index 0000000000..93d130c891 --- /dev/null +++ b/sound/songs/mus_test1.s @@ -0,0 +1,1765 @@ + .include "MPlayDef.s" + + .equ mus_test1_grp, voicegroup_867EB18 + .equ mus_test1_pri, 0 + .equ mus_test1_rev, reverb_set+50 + .equ mus_test1_mvl, 127 + .equ mus_test1_key, 0 + .equ mus_test1_tbs, 1 + .equ mus_test1_exg, 0 + .equ mus_test1_cmp, 1 + + .section .rodata + .global mus_test1 + .align 2 + +@********************** Track 1 **********************@ + +mus_test1_1: + .byte KEYSH , mus_test1_key+0 +mus_test1_1_B1: + .byte TEMPO , 128*mus_test1_tbs/2 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 56*mus_test1_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Fn4 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W03 + .byte Gn4 , v076 + .byte W03 + .byte Fn4 , v096 + .byte W03 + .byte Gn4 , v076 + .byte W03 + .byte Fn4 , v096 + .byte W03 + .byte Gn4 , v076 + .byte W03 + .byte Fn4 , v096 + .byte W03 + .byte Gn4 , v072 + .byte W03 + .byte N06 , Fn4 , v112 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N24 , Fn4 + .byte W24 + .byte N03 , Ds4 , v096 + .byte W03 + .byte Dn4 + .byte W03 + .byte Cn4 + .byte W03 + .byte As3 + .byte W03 + .byte An3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Ds3 , v092 + .byte W03 + .byte N06 , Dn3 , v112 + .byte W12 + .byte N18 + .byte W24 + .byte N06 + .byte W06 + .byte Ds3 + .byte W06 + .byte N18 , Fn3 + .byte W24 + .byte As3 + .byte W24 + .byte N06 , Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N32 , Cn4 + .byte W36 + .byte N06 + .byte W12 + .byte N18 , Gs3 + .byte W24 + .byte N06 , Ds4 + .byte W12 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N78 , Dn4 + .byte W84 + .byte N04 , Fs3 + .byte W08 + .byte As3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Cs4 + .byte W08 + .byte As3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Cn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte N18 , Gs4 + .byte W18 + .byte N03 , Gn4 , v064 + .byte W03 + .byte Fs4 + .byte W03 + .byte N06 , Fn4 , v112 + .byte W12 + .byte N03 , Ds3 + .byte W03 + .byte Dn3 + .byte W03 + .byte N06 , Cs3 + .byte W06 + .byte Dn3 + .byte W12 + .byte N06 + .byte W06 + .byte Ds3 + .byte W06 + .byte N18 , Fn3 + .byte W24 + .byte As3 + .byte W24 + .byte N03 , Gs3 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte N03 , Bn3 + .byte W12 + .byte Cn4 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , Gs3 + .byte W24 + .byte N06 , Ds4 + .byte W12 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N78 , Fn4 + .byte W78 + .byte N03 , Ds4 + .byte W03 + .byte En4 + .byte W03 + .byte N32 , Fn4 + .byte W36 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N24 + .byte W24 + .byte Ds4 + .byte W24 + .byte VOICE , 17 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte 24 + .byte W48 + .byte VOL , 38*mus_test1_mvl/mxv + .byte W12 + .byte N03 , Dn4 + .byte W06 + .byte Dn4 , v088 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W18 + .byte N06 + .byte W12 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W30 + .byte W12 + .byte N03 + .byte W06 + .byte Dn4 , v092 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W18 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W12 + .byte As3 + .byte W18 + .byte Cn4 + .byte W12 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W18 + .byte N03 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W30 + .byte Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N24 , Fs4 + .byte W24 + .byte N18 , Gs4 + .byte W18 + .byte N03 , Gn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte GOTO + .word mus_test1_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_test1_2: + .byte KEYSH , mus_test1_key+0 +mus_test1_2_B1: + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 79*mus_test1_mvl/mxv + .byte N06 , Fn4 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W03 + .byte Gn4 , v076 + .byte W03 + .byte Fn4 , v096 + .byte W03 + .byte Gn4 , v076 + .byte W03 + .byte Fn4 , v096 + .byte W03 + .byte Gn4 , v076 + .byte W03 + .byte Fn4 , v096 + .byte W03 + .byte Gn4 , v072 + .byte W03 + .byte N06 , Fn4 , v112 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N24 , Fn4 + .byte W24 + .byte N03 , Ds4 , v096 + .byte W03 + .byte Dn4 + .byte W03 + .byte Cn4 + .byte W03 + .byte As3 + .byte W03 + .byte An3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Ds3 , v092 + .byte W03 + .byte N06 , Dn3 , v112 + .byte W12 + .byte N18 + .byte W24 + .byte N06 + .byte W06 + .byte Ds3 + .byte W06 + .byte N18 , Fn3 + .byte W24 + .byte As3 + .byte W24 + .byte N06 , Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N32 , Cn4 + .byte W36 + .byte N06 + .byte W12 + .byte N18 , Gs3 + .byte W24 + .byte N06 , Ds4 + .byte W12 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N78 , Dn4 + .byte W84 + .byte N04 , Fs3 + .byte W08 + .byte As3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Cs4 + .byte W08 + .byte As3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Cn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte N18 , Gs4 + .byte W18 + .byte N03 , Gn4 , v064 + .byte W03 + .byte Fs4 + .byte W03 + .byte N06 , Fn4 , v112 + .byte W12 + .byte N03 , Ds3 + .byte W03 + .byte Dn3 + .byte W03 + .byte N06 , Cs3 + .byte W06 + .byte Dn3 + .byte W12 + .byte N06 + .byte W06 + .byte Ds3 + .byte W06 + .byte N18 , Fn3 + .byte W24 + .byte As3 + .byte W24 + .byte N03 , Gs3 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte N03 , Bn3 + .byte W12 + .byte Cn4 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , Gs3 + .byte W24 + .byte N06 , Ds4 + .byte W12 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N78 , Fn4 + .byte W78 + .byte N03 , Ds4 + .byte W03 + .byte En4 + .byte W03 + .byte N32 , Fn4 + .byte W36 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N24 + .byte W24 + .byte Ds4 + .byte W24 + .byte VOICE , 17 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte 24 + .byte W48 + .byte VOL , 63*mus_test1_mvl/mxv + .byte W12 + .byte N03 , Dn4 + .byte W06 + .byte Dn4 , v088 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W18 + .byte N06 + .byte W12 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W30 + .byte W12 + .byte N03 + .byte W06 + .byte Dn4 , v092 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W18 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W12 + .byte As3 + .byte W18 + .byte Cn4 + .byte W12 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W18 + .byte N03 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W30 + .byte Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N24 , Fs4 + .byte W24 + .byte N18 , Gs4 + .byte W18 + .byte N03 , Gn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte GOTO + .word mus_test1_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_test1_3: + .byte KEYSH , mus_test1_key+0 +mus_test1_3_B1: + .byte VOICE , 60 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 41*mus_test1_mvl/mxv + .byte BEND , c_v+1 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 63*mus_test1_mvl/mxv + .byte W96 + .byte W96 + .byte VOICE , 73 + .byte VOL , 56*mus_test1_mvl/mxv + .byte N04 , Dn4 , v112 + .byte W08 + .byte Ds4 + .byte W08 + .byte En4 + .byte W08 + .byte N42 , Fn4 + .byte W48 + .byte N04 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte N36 , Cn4 + .byte W36 + .byte N06 , An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte An4 + .byte W12 + .byte N06 + .byte W06 + .byte Gn4 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Fs4 + .byte W12 + .byte N36 , Fn4 + .byte W36 + .byte N06 , Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte N24 , Ds4 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte N06 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte TIE , Gn4 + .byte W72 + .byte W48 + .byte EOT + .byte N06 , Fn4 + .byte W06 + .byte N03 , Ds4 + .byte W12 + .byte Dn4 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W06 + .byte As4 + .byte W12 + .byte N06 + .byte W06 + .byte An4 + .byte W12 + .byte N06 + .byte W06 + .byte Gn4 + .byte W12 + .byte N06 + .byte W06 + .byte Fn4 + .byte W12 + .byte N06 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W12 + .byte N06 + .byte W06 + .byte Gn4 + .byte W12 + .byte N06 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W12 + .byte N06 + .byte W12 + .byte Cn5 + .byte W12 + .byte N06 + .byte W06 + .byte VOL , 45*mus_test1_mvl/mxv + .byte W12 + .byte N03 , Dn4 + .byte W06 + .byte Dn4 , v088 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W18 + .byte N06 + .byte W12 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W30 + .byte W12 + .byte N03 + .byte W06 + .byte Dn4 , v092 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W18 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W12 + .byte As3 + .byte W18 + .byte Cn4 + .byte W12 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W18 + .byte N03 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W30 + .byte Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N24 , Fs4 + .byte W24 + .byte N18 , Gs4 + .byte W24 + .byte GOTO + .word mus_test1_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_test1_4: + .byte KEYSH , mus_test1_key+0 +mus_test1_4_B1: + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 45*mus_test1_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_test1_4_000: + .byte N06 , Gn3 , v112 + .byte W06 + .byte N03 , Gn3 , v096 + .byte W06 + .byte Ds3 , v064 + .byte W06 + .byte N03 + .byte W78 + .byte PEND + .byte PATT + .word mus_test1_4_000 +mus_test1_4_001: + .byte N06 , An3 , v112 + .byte W06 + .byte N03 , An3 , v096 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte N03 + .byte W78 + .byte PEND +mus_test1_4_002: + .byte N06 , As3 , v112 + .byte W06 + .byte N03 , As3 , v096 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte N03 + .byte W78 + .byte PEND + .byte PATT + .word mus_test1_4_000 + .byte PATT + .word mus_test1_4_000 + .byte PATT + .word mus_test1_4_001 + .byte PATT + .word mus_test1_4_002 + .byte N03 , Dn4 , v112 + .byte W06 + .byte As3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Dn3 + .byte W78 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte As2 + .byte W78 + .byte Dn4 + .byte W03 + .byte As3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte As2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Dn2 + .byte W03 + .byte As1 + .byte W03 + .byte Dn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Fn2 + .byte W03 + .byte As2 + .byte W03 + .byte Dn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte As3 + .byte W48 + .byte W03 + .byte N03 + .byte W03 + .byte Gn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte As2 + .byte W03 + .byte Gn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte As1 + .byte W03 + .byte Gn1 + .byte W03 + .byte As1 + .byte W03 + .byte Ds2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Gn2 + .byte W03 + .byte As2 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Gn3 + .byte W48 + .byte W03 + .byte GOTO + .word mus_test1_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_test1_5: + .byte KEYSH , mus_test1_key+0 +mus_test1_5_B1: + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 45*mus_test1_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_test1_5_000: + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W06 + .byte As3 , v064 + .byte W06 + .byte N03 + .byte W78 + .byte PEND + .byte PATT + .word mus_test1_5_000 +mus_test1_5_001: + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W06 + .byte Cn4 , v064 + .byte W06 + .byte N03 + .byte W78 + .byte PEND + .byte PATT + .word mus_test1_5_000 + .byte PATT + .word mus_test1_5_000 + .byte PATT + .word mus_test1_5_000 + .byte PATT + .word mus_test1_5_001 + .byte PATT + .word mus_test1_5_000 + .byte N03 , As4 , v112 + .byte W06 + .byte Fn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte As3 + .byte W78 + .byte Gn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W78 + .byte As4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte As3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte As2 + .byte W03 + .byte Fn2 + .byte W03 + .byte As2 + .byte W03 + .byte Dn3 + .byte W03 + .byte Fn3 + .byte W03 + .byte As3 + .byte W03 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fn4 + .byte W03 + .byte As4 + .byte W48 + .byte W03 + .byte Gn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte As3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte As2 + .byte W03 + .byte Gn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Gn2 + .byte W03 + .byte As2 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Gn3 + .byte W03 + .byte As3 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fn4 + .byte W48 + .byte W03 + .byte GOTO + .word mus_test1_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_test1_6: + .byte KEYSH , mus_test1_key+0 +mus_test1_6_B1: + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 41*mus_test1_mvl/mxv + .byte N06 , En1 , v112 + .byte N48 , An2 , v092 + .byte W06 + .byte N03 , En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v088 + .byte W06 + .byte En1 , v052 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte En1 , v052 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte N24 , An2 + .byte W48 +mus_test1_6_000: + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N48 , An2 + .byte W48 + .byte PEND + .byte N06 , En1 + .byte W12 + .byte En1 , v092 + .byte W24 + .byte N03 , En1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte N24 , An2 , v076 + .byte W24 + .byte N06 , Cn1 , v112 + .byte N48 , An2 + .byte W12 + .byte N06 , En1 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W06 + .byte N03 , En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PATT + .word mus_test1_6_000 + .byte N06 , En1 , v112 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte N24 , An2 , v076 + .byte W24 + .byte N06 , Cn1 , v112 + .byte N48 , An2 + .byte W06 + .byte N06 , Cn1 + .byte W06 + .byte En1 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , En1 , v104 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 +mus_test1_6_001: + .byte N06 , Cn1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte N03 , Cn1 , v100 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PEND + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte N03 , Cn1 , v100 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte Cn1 + .byte W12 + .byte En1 , v088 + .byte W06 + .byte PATT + .word mus_test1_6_001 +mus_test1_6_002: + .byte N06 , Cn1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte N03 , Cn1 , v100 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Cn1 , v092 + .byte W12 + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte PEND + .byte PATT + .word mus_test1_6_001 + .byte N06 , Cn1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte N03 , Cn1 , v100 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte En1 , v104 + .byte W06 + .byte En1 , v092 + .byte W06 + .byte PATT + .word mus_test1_6_001 + .byte PATT + .word mus_test1_6_002 +mus_test1_6_003: + .byte N06 , Cn1 , v112 + .byte W18 + .byte Cn1 , v088 + .byte W06 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 , v092 + .byte W06 + .byte Cn1 , v076 + .byte W06 + .byte Dn1 , v104 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte PEND + .byte PATT + .word mus_test1_6_003 + .byte PATT + .word mus_test1_6_003 + .byte N06 , Dn1 , v112 + .byte W06 + .byte Dn1 , v080 + .byte W12 + .byte Dn1 , v088 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 + .byte W12 + .byte Dn1 , v084 + .byte W06 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 , v092 + .byte W06 + .byte Cn1 , v076 + .byte W06 + .byte Dn1 , v104 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte GOTO + .word mus_test1_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_test1_7: + .byte KEYSH , mus_test1_key+0 +mus_test1_7_B1: + .byte VOICE , 83 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 79*mus_test1_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 38*mus_test1_mvl/mxv + .byte BEND , c_v+1 + .byte N04 , Dn4 , v112 + .byte W08 + .byte Ds4 + .byte W08 + .byte En4 + .byte W08 + .byte N42 , Fn4 + .byte W48 + .byte N04 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte N36 , Cn4 + .byte W36 + .byte N06 , An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte An4 + .byte W12 + .byte N06 + .byte W06 + .byte Gn4 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Fs4 + .byte W12 + .byte N36 , Fn4 + .byte W36 + .byte N06 , Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte N24 , Ds4 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte N06 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte TIE , Gn4 + .byte W72 + .byte W48 + .byte EOT + .byte N06 , Fn4 + .byte W06 + .byte N03 , Ds4 + .byte W12 + .byte Dn4 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W06 + .byte As4 + .byte W12 + .byte N06 + .byte W06 + .byte An4 + .byte W12 + .byte N06 + .byte W06 + .byte Gn4 + .byte W12 + .byte N06 + .byte W06 + .byte Fn4 + .byte W12 + .byte N06 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W12 + .byte N06 + .byte W06 + .byte Gn4 + .byte W12 + .byte N06 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W12 + .byte N06 + .byte W12 + .byte Cn5 + .byte W12 + .byte N06 + .byte W06 + .byte VOL , 45*mus_test1_mvl/mxv + .byte W12 + .byte N03 , Dn4 + .byte W06 + .byte Dn4 , v088 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W18 + .byte N06 + .byte W12 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W30 + .byte W12 + .byte N03 + .byte W06 + .byte Dn4 , v092 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W18 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W12 + .byte As3 + .byte W18 + .byte Cn4 + .byte W12 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W18 + .byte N03 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W30 + .byte Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N24 , Fs4 + .byte W24 + .byte N18 , Gs4 + .byte W24 + .byte GOTO + .word mus_test1_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_test1: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_test1_pri @ Priority + .byte mus_test1_rev @ Reverb. + + .word mus_test1_grp + + .word mus_test1_1 + .word mus_test1_2 + .word mus_test1_3 + .word mus_test1_4 + .word mus_test1_5 + .word mus_test1_6 + .word mus_test1_7 + + .end diff --git a/sound/songs/mus_test2.s b/sound/songs/mus_test2.s new file mode 100644 index 0000000000..cae47cb9c2 --- /dev/null +++ b/sound/songs/mus_test2.s @@ -0,0 +1,1928 @@ + .include "MPlayDef.s" + + .equ mus_test2_grp, voicegroup_867F118 + .equ mus_test2_pri, 0 + .equ mus_test2_rev, reverb_set+50 + .equ mus_test2_mvl, 127 + .equ mus_test2_key, 0 + .equ mus_test2_tbs, 1 + .equ mus_test2_exg, 0 + .equ mus_test2_cmp, 1 + + .section .rodata + .global mus_test2 + .align 2 + +@********************** Track 1 **********************@ + +mus_test2_1: + .byte KEYSH , mus_test2_key+0 +mus_test2_1_B1: + .byte TEMPO , 128*mus_test2_tbs/2 + .byte VOICE , 60 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 54*mus_test2_mvl/mxv + .byte BEND , c_v+1 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte N06 , As3 , v112 + .byte W06 + .byte Cn4 + .byte W06 + .byte N36 , Dn4 + .byte W36 + .byte N06 , Fs3 + .byte W12 + .byte Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N24 , Fn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte VOICE , 17 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte 24 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_test2_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_test2_2: + .byte KEYSH , mus_test2_key+0 +mus_test2_2_B1: + .byte VOICE , 36 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 90*mus_test2_mvl/mxv + .byte N06 , Fn1 , v127 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Fn2 + .byte W06 + .byte An2 + .byte W06 + .byte N24 , Cn3 + .byte W24 + .byte N12 , Fn1 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn1 + .byte W12 + .byte N24 , As1 + .byte W24 + .byte N06 , Fn1 + .byte W12 + .byte Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Ds1 + .byte W12 + .byte Gn1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N06 , Fs1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs1 + .byte W12 + .byte N12 + .byte W12 + .byte Ds2 + .byte W12 + .byte Cn2 + .byte W12 + .byte N06 , As1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Fn1 + .byte W12 + .byte Gs1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Ds1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N21 , Gn2 + .byte W24 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N06 , Fs1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs1 + .byte W12 + .byte N12 , Gs2 + .byte W12 + .byte Ds2 + .byte W12 + .byte Dn1 + .byte W12 + .byte N06 , Ds1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Ds2 + .byte W24 + .byte N06 , Ds1 + .byte W06 + .byte N03 , Ds2 + .byte W06 + .byte N06 , As1 + .byte W12 + .byte Ds2 + .byte W06 + .byte N18 , Ds1 + .byte W18 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Ds2 + .byte W24 + .byte N06 , Ds1 + .byte W06 + .byte N03 , Ds2 + .byte W06 + .byte N06 , As1 + .byte W12 + .byte Ds2 + .byte W06 + .byte Ds1 + .byte W12 + .byte N03 , Ds2 + .byte W06 + .byte N06 , Dn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Dn2 + .byte W24 + .byte N06 , Dn1 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , An1 + .byte W12 + .byte Dn2 + .byte W06 + .byte N18 , Dn1 + .byte W18 + .byte N06 , Gn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Gn2 + .byte W24 + .byte N03 , Gn1 + .byte W06 + .byte Gn2 + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Gn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Cn2 + .byte W24 + .byte N06 , Cn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N06 , Gn1 + .byte W12 + .byte Cn2 + .byte W06 + .byte N18 , Cn1 + .byte W18 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Cn2 + .byte W24 + .byte N06 , Cn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N06 , Gn1 + .byte W12 + .byte Cn2 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Fn2 + .byte W24 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N06 , Cn2 + .byte W12 + .byte Fn2 + .byte W06 + .byte Fn1 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Fn2 + .byte W24 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Fn2 + .byte W12 + .byte N06 , Cn2 + .byte W12 + .byte As1 + .byte W12 + .byte An1 + .byte W06 + .byte As1 + .byte W24 + .byte N06 + .byte W24 + .byte Gs1 + .byte W24 + .byte N06 + .byte W24 + .byte Gn1 + .byte W24 + .byte N06 + .byte W24 + .byte Fs1 + .byte W36 + .byte Gs1 + .byte W12 + .byte As1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As2 + .byte W06 + .byte As1 + .byte W06 + .byte N03 , As2 + .byte W06 + .byte N06 , As1 + .byte W06 + .byte An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs2 + .byte W06 + .byte Gs1 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N06 , An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn2 + .byte W06 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds2 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N06 , Fs1 + .byte W06 + .byte N03 , Fs2 + .byte W12 + .byte N06 , Fs1 + .byte W06 + .byte Gs1 + .byte W12 + .byte Gn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte GOTO + .word mus_test2_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_test2_3: + .byte KEYSH , mus_test2_key+0 +mus_test2_3_B1: + .byte VOICE , 60 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 66*mus_test2_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte 63*mus_test2_mvl/mxv + .byte W48 + .byte N06 , As3 , v112 + .byte W06 + .byte Cn4 + .byte W06 + .byte N36 , Dn4 + .byte W36 + .byte N06 , Fs3 + .byte W12 + .byte Cs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 + .byte Cs4 + .byte W06 + .byte N24 , Fn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte VOICE , 17 + .byte VOL , 34*mus_test2_mvl/mxv + .byte N04 , Dn5 + .byte W08 + .byte Ds5 + .byte W08 + .byte En5 + .byte W08 + .byte N42 , Fn5 + .byte W48 + .byte N04 + .byte W08 + .byte Gn5 + .byte W08 + .byte Fn5 + .byte W08 + .byte N36 , Cn5 + .byte W36 + .byte N06 , An4 + .byte W06 + .byte Cn5 + .byte W06 + .byte An5 + .byte W12 + .byte N06 + .byte W06 + .byte Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Fs5 + .byte W12 + .byte N36 , Fn5 + .byte W36 + .byte N06 , Dn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte N24 , Ds5 + .byte W24 + .byte N12 , Dn5 + .byte W12 + .byte Cn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte Cs5 + .byte W12 + .byte N06 , Dn5 + .byte W06 + .byte Cn5 + .byte W12 + .byte Bn4 + .byte W12 + .byte Dn5 + .byte W06 + .byte N12 , Fn5 + .byte W12 + .byte N06 + .byte W06 + .byte Ds5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte TIE , Gn5 + .byte W72 + .byte W48 + .byte EOT + .byte N06 , Fn5 + .byte W06 + .byte N03 , Ds5 + .byte W12 + .byte Dn5 + .byte W06 + .byte N06 , Ds5 + .byte W06 + .byte Fn5 + .byte W12 + .byte Gn5 + .byte W06 + .byte As5 + .byte W12 + .byte N06 + .byte W06 + .byte An5 + .byte W12 + .byte N06 + .byte W06 + .byte Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte Fn5 + .byte W12 + .byte N06 + .byte W06 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte En5 + .byte W06 + .byte Fn5 + .byte W12 + .byte N06 + .byte W06 + .byte Gn5 + .byte W12 + .byte N06 + .byte W06 + .byte An5 + .byte W06 + .byte Gs5 + .byte W06 + .byte An5 + .byte W06 + .byte As5 + .byte W12 + .byte N06 + .byte W12 + .byte Cn6 + .byte W12 + .byte N06 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_test2_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_test2_4: + .byte KEYSH , mus_test2_key+0 +mus_test2_4_B1: + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 45*mus_test2_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W06 + .byte N04 , As2 , v064 + .byte W08 + .byte Cs3 + .byte W08 + .byte Fs3 + .byte W08 + .byte As3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Ds2 + .byte W04 + .byte Gs2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Cn4 + .byte W04 + .byte N03 , Ds4 + .byte W03 + .byte Cn4 + .byte W03 + .byte Gs3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Cn3 + .byte W03 + .byte Cn2 + .byte N03 , Gs2 + .byte W03 + .byte Ds2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_test2_4_000: + .byte W24 + .byte N06 , Gn3 , v112 + .byte W06 + .byte N03 , Gn3 , v096 + .byte W06 + .byte Ds3 , v064 + .byte W06 + .byte N03 + .byte W54 + .byte PEND + .byte PATT + .word mus_test2_4_000 +mus_test2_4_001: + .byte W24 + .byte N06 , An3 , v112 + .byte W06 + .byte N03 , An3 , v096 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte N03 + .byte W54 + .byte PEND +mus_test2_4_002: + .byte W24 + .byte N06 , As3 , v112 + .byte W06 + .byte N03 , As3 , v096 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte N03 + .byte W54 + .byte PEND + .byte PATT + .word mus_test2_4_000 + .byte PATT + .word mus_test2_4_000 + .byte PATT + .word mus_test2_4_001 + .byte PATT + .word mus_test2_4_002 + .byte W24 + .byte N03 , As2 , v112 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W54 + .byte W24 + .byte Gn2 + .byte W06 + .byte As2 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gn3 + .byte W54 + .byte W48 + .byte Dn4 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Gs2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Gs1 + .byte W03 + .byte Dn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Gs2 + .byte W03 + .byte Dn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte W48 + .byte As3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Ds3 + .byte W03 + .byte As2 + .byte W03 + .byte Fs2 + .byte W03 + .byte Ds2 + .byte W03 + .byte As1 + .byte W03 + .byte Fs1 + .byte W03 + .byte As1 + .byte W03 + .byte Ds2 + .byte W03 + .byte Fs2 + .byte W03 + .byte As2 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fs3 + .byte W03 + .byte As3 + .byte W03 + .byte Ds4 + .byte W03 + .byte GOTO + .word mus_test2_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_test2_5: + .byte KEYSH , mus_test2_key+0 +mus_test2_5_B1: + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 45*mus_test2_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W06 + .byte N04 , Fs3 , v064 + .byte W08 + .byte As3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Cs4 + .byte W08 + .byte As3 + .byte W08 + .byte Gs2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte N03 , Gs4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Cn4 + .byte W03 + .byte Gs3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Cn3 + .byte W03 + .byte Gs2 + .byte W03 + .byte Ds2 + .byte W92 + .byte W01 + .byte W96 + .byte W96 + .byte W96 +mus_test2_5_000: + .byte W24 + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W06 + .byte As3 , v064 + .byte W06 + .byte N03 + .byte W54 + .byte PEND + .byte PATT + .word mus_test2_5_000 +mus_test2_5_001: + .byte W24 + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W06 + .byte Cn4 , v064 + .byte W06 + .byte N03 + .byte W54 + .byte PEND +mus_test2_5_002: + .byte W24 + .byte N06 , Ds4 , v112 + .byte W06 + .byte N03 , Ds4 , v096 + .byte W06 + .byte As3 , v064 + .byte W06 + .byte N03 + .byte W54 + .byte PEND + .byte PATT + .word mus_test2_5_000 + .byte PATT + .word mus_test2_5_000 + .byte PATT + .word mus_test2_5_001 + .byte PATT + .word mus_test2_5_002 + .byte W24 + .byte N03 , Fn3 , v112 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W54 + .byte W24 + .byte Ds3 + .byte W06 + .byte Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte Ds4 + .byte W54 + .byte W48 + .byte Gs4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Gs2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Gs2 + .byte W03 + .byte Dn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fn4 + .byte W03 + .byte W48 + .byte Fs4 + .byte W03 + .byte Ds4 + .byte W03 + .byte As3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Ds3 + .byte W03 + .byte As2 + .byte W03 + .byte Fs2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Fs2 + .byte W03 + .byte As2 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fs3 + .byte W03 + .byte As3 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fs4 + .byte W03 + .byte As4 + .byte W03 + .byte GOTO + .word mus_test2_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_test2_6: + .byte KEYSH , mus_test2_key+0 +mus_test2_6_B1: + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 68*mus_test2_mvl/mxv + .byte N06 , En1 , v112 + .byte N48 , An2 , v092 + .byte W06 + .byte N03 , En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v088 + .byte W06 + .byte En1 , v052 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte En1 , v052 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte N24 , An2 + .byte W48 +mus_test2_6_000: + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N48 , An2 + .byte W48 + .byte PEND + .byte N06 , En1 + .byte W12 + .byte En1 , v092 + .byte W24 + .byte N03 , En1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte N24 , An2 , v076 + .byte W24 + .byte N06 , Cn1 , v112 + .byte N48 , An2 + .byte W12 + .byte N06 , En1 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W06 + .byte N03 , En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PATT + .word mus_test2_6_000 + .byte N06 , En1 , v112 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte N24 , An2 , v076 + .byte W24 + .byte N06 , Cn1 , v112 + .byte N48 , An2 + .byte W06 + .byte N06 , Cn1 + .byte W06 + .byte En1 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , En1 , v104 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 +mus_test2_6_001: + .byte N06 , Cn1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte N03 , Cn1 , v100 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PEND + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte N03 , Cn1 , v100 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte Cn1 + .byte W12 + .byte En1 , v088 + .byte W06 + .byte PATT + .word mus_test2_6_001 +mus_test2_6_002: + .byte N06 , Cn1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte N03 , Cn1 , v100 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Cn1 , v092 + .byte W12 + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte PEND + .byte PATT + .word mus_test2_6_001 + .byte N06 , Cn1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte N03 , Cn1 , v100 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte En1 , v104 + .byte W06 + .byte En1 , v092 + .byte W06 + .byte PATT + .word mus_test2_6_001 + .byte PATT + .word mus_test2_6_002 +mus_test2_6_003: + .byte N06 , Cn1 , v112 + .byte W18 + .byte Cn1 , v088 + .byte W06 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 , v092 + .byte W06 + .byte Cn1 , v076 + .byte W06 + .byte Dn1 , v104 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte PEND + .byte PATT + .word mus_test2_6_003 + .byte PATT + .word mus_test2_6_003 + .byte N06 , Dn1 , v112 + .byte W06 + .byte Dn1 , v080 + .byte W12 + .byte Dn1 , v088 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 + .byte W12 + .byte Dn1 , v084 + .byte W06 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 , v092 + .byte W06 + .byte Cn1 , v076 + .byte W06 + .byte Dn1 , v104 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte GOTO + .word mus_test2_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_test2_7: + .byte KEYSH , mus_test2_key+0 +mus_test2_7_B1: + .byte VOICE , 83 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 68*mus_test2_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Fn1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Fn2 + .byte W06 + .byte An2 + .byte W06 + .byte N24 , Cn3 + .byte W24 + .byte N12 , Fn1 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn1 + .byte W12 + .byte N24 , As1 + .byte W24 + .byte N06 , Fn1 + .byte W12 + .byte Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Ds1 + .byte W12 + .byte Gn1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N06 , Fs1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs1 + .byte W12 + .byte N12 + .byte W12 + .byte Ds2 + .byte W12 + .byte Cn2 + .byte W12 + .byte N06 , As1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Fn1 + .byte W12 + .byte Gs1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Ds1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N21 , Gn2 + .byte W24 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N06 , Fs1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs1 + .byte W12 + .byte N12 , Gs2 + .byte W12 + .byte Ds2 + .byte W12 + .byte Dn1 + .byte W12 + .byte VOL , 38*mus_test2_mvl/mxv + .byte BEND , c_v+1 + .byte N06 , Ds1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Ds2 + .byte W24 + .byte N06 , Ds1 + .byte W06 + .byte N03 , Ds2 + .byte W06 + .byte N06 , As1 + .byte W12 + .byte Ds2 + .byte W06 + .byte N18 , Ds1 + .byte W18 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Ds2 + .byte W24 + .byte N06 , Ds1 + .byte W06 + .byte N03 , Ds2 + .byte W06 + .byte N06 , As1 + .byte W12 + .byte Ds2 + .byte W06 + .byte Ds1 + .byte W12 + .byte N03 , Ds2 + .byte W06 + .byte N06 , Dn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Dn2 + .byte W24 + .byte N06 , Dn1 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , An1 + .byte W12 + .byte Dn2 + .byte W06 + .byte N18 , Dn1 + .byte W18 + .byte N06 , Gn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Gn2 + .byte W24 + .byte N03 , Gn1 + .byte W06 + .byte Gn2 + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Gn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Cn2 + .byte W24 + .byte N06 , Cn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N06 , Gn1 + .byte W12 + .byte Cn2 + .byte W06 + .byte N18 , Cn1 + .byte W18 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Cn2 + .byte W24 + .byte N06 , Cn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N06 , Gn1 + .byte W12 + .byte Cn2 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Fn2 + .byte W24 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N06 , Cn2 + .byte W12 + .byte Fn2 + .byte W06 + .byte Fn1 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Fn2 + .byte W24 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Fn2 + .byte W12 + .byte N06 , Cn2 + .byte W12 + .byte As1 + .byte W12 + .byte An1 + .byte W06 + .byte VOL , 45*mus_test2_mvl/mxv + .byte N06 , As1 + .byte W24 + .byte N06 + .byte W24 + .byte Gs1 + .byte W24 + .byte N06 + .byte W24 + .byte Gn1 + .byte W24 + .byte N06 + .byte W24 + .byte Fs1 + .byte W36 + .byte Gs1 + .byte W12 + .byte As1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As2 + .byte W06 + .byte As1 + .byte W06 + .byte N03 , As2 + .byte W06 + .byte N06 , As1 + .byte W06 + .byte An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs2 + .byte W06 + .byte Gs1 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N06 , An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn2 + .byte W06 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds2 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N06 , Fs1 + .byte W06 + .byte N03 , Fs2 + .byte W12 + .byte N06 , Fs1 + .byte W06 + .byte Gs1 + .byte W12 + .byte Gn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte GOTO + .word mus_test2_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_test2: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_test2_pri @ Priority + .byte mus_test2_rev @ Reverb. + + .word mus_test2_grp + + .word mus_test2_1 + .word mus_test2_2 + .word mus_test2_3 + .word mus_test2_4 + .word mus_test2_5 + .word mus_test2_6 + .word mus_test2_7 + + .end diff --git a/sound/songs/mus_test3.s b/sound/songs/mus_test3.s new file mode 100644 index 0000000000..a210dfb507 --- /dev/null +++ b/sound/songs/mus_test3.s @@ -0,0 +1,1969 @@ + .include "MPlayDef.s" + + .equ mus_test3_grp, voicegroup_867F718 + .equ mus_test3_pri, 0 + .equ mus_test3_rev, reverb_set+50 + .equ mus_test3_mvl, 127 + .equ mus_test3_key, 0 + .equ mus_test3_tbs, 1 + .equ mus_test3_exg, 0 + .equ mus_test3_cmp, 1 + + .section .rodata + .global mus_test3 + .align 2 + +@********************** Track 1 **********************@ + +mus_test3_1: + .byte KEYSH , mus_test3_key+0 +mus_test3_1_B1: + .byte TEMPO , 128*mus_test3_tbs/2 + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 60*mus_test3_mvl/mxv + .byte BEND , c_v+1 + .byte N06 , An3 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W03 + .byte As3 , v076 + .byte W03 + .byte An3 , v096 + .byte W03 + .byte As3 , v076 + .byte W03 + .byte An3 , v096 + .byte W03 + .byte As3 , v076 + .byte W03 + .byte An3 , v096 + .byte W03 + .byte As3 , v072 + .byte W03 + .byte N06 , An3 , v112 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte An2 + .byte W06 + .byte Fn2 + .byte W06 + .byte An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N24 , An3 + .byte W24 + .byte N03 , Gn3 , v084 + .byte W03 + .byte Fn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cn3 + .byte W03 + .byte As2 + .byte W03 + .byte An2 + .byte W03 + .byte Gn2 + .byte W03 + .byte N06 , Fn2 , v112 + .byte W12 + .byte N18 + .byte W24 + .byte N06 + .byte W06 + .byte Gn2 + .byte W06 + .byte N18 , As2 + .byte W24 + .byte Dn3 + .byte W24 + .byte N06 , Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N32 , Gs3 + .byte W36 + .byte N06 + .byte W12 + .byte N18 , Ds3 + .byte W24 + .byte N06 , Gn3 + .byte W12 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N78 , Fn3 + .byte W84 + .byte N04 , As2 + .byte W08 + .byte Cs3 + .byte W08 + .byte Fs3 + .byte W08 + .byte As3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Gs2 + .byte W08 + .byte Ds3 + .byte W08 + .byte Gs3 + .byte W08 + .byte N18 , Cn4 + .byte W18 + .byte N03 , Bn3 , v084 + .byte W03 + .byte As3 , v072 + .byte W03 + .byte N06 , An3 , v112 + .byte W12 + .byte N03 , Fs2 + .byte W03 + .byte Fn2 + .byte W03 + .byte N06 , En2 + .byte W06 + .byte Fn2 + .byte W12 + .byte N06 + .byte W06 + .byte Gn2 + .byte W06 + .byte N18 , As2 + .byte W24 + .byte Dn3 + .byte W24 + .byte N03 , Cn3 + .byte W12 + .byte N24 , Ds3 + .byte W24 + .byte N02 , Dn3 + .byte W12 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , Cn3 + .byte W24 + .byte N06 , Gn3 + .byte W12 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N78 , As3 + .byte W84 + .byte N32 , Fs3 + .byte W36 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N24 , Gs3 + .byte W24 + .byte N24 + .byte W24 + .byte VOICE , 17 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte 24 + .byte W48 + .byte VOL , 45*mus_test3_mvl/mxv + .byte W12 + .byte N03 , As3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte As3 + .byte W18 + .byte N06 + .byte W12 + .byte Cn4 + .byte W06 + .byte As3 + .byte W30 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte As3 + .byte W18 + .byte Dn4 + .byte W06 + .byte As3 + .byte W12 + .byte Fs3 + .byte W18 + .byte Gs3 + .byte W12 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W06 + .byte As3 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte As3 + .byte W30 + .byte Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , As3 + .byte W24 + .byte N18 , Ds4 + .byte W18 + .byte N03 , Dn4 + .byte W03 + .byte Cn4 + .byte W03 + .byte GOTO + .word mus_test3_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_test3_2: + .byte KEYSH , mus_test3_key+0 +mus_test3_2_B1: + .byte VOICE , 36 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 68*mus_test3_mvl/mxv + .byte BEND , c_v+1 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , Ds1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Ds2 + .byte W24 + .byte N06 , Ds1 + .byte W06 + .byte N03 , Ds2 + .byte W06 + .byte N06 , As1 + .byte W12 + .byte Ds2 + .byte W06 + .byte N18 , Ds1 + .byte W18 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Ds2 + .byte W24 + .byte N06 , Ds1 + .byte W06 + .byte N03 , Ds2 + .byte W06 + .byte N06 , As1 + .byte W12 + .byte Ds2 + .byte W06 + .byte Ds1 + .byte W12 + .byte N03 , Ds2 + .byte W06 + .byte N06 , Dn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Dn2 + .byte W24 + .byte N06 , Dn1 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , An1 + .byte W12 + .byte Dn2 + .byte W06 + .byte N18 , Dn1 + .byte W18 + .byte N06 , Gn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Gn2 + .byte W24 + .byte N03 , Gn1 + .byte W06 + .byte Gn2 + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Gn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Cn2 + .byte W24 + .byte N06 , Cn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N06 , Gn1 + .byte W12 + .byte Cn2 + .byte W06 + .byte N18 , Cn1 + .byte W18 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Cn2 + .byte W24 + .byte N06 , Cn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N06 , Gn1 + .byte W12 + .byte Cn2 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Fn2 + .byte W24 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N06 , Cn2 + .byte W12 + .byte Fn2 + .byte W06 + .byte Fn1 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Fn2 + .byte W24 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Fn2 + .byte W12 + .byte N06 , Cn2 + .byte W12 + .byte As1 + .byte W12 + .byte An1 + .byte W06 + .byte As1 + .byte W24 + .byte N06 + .byte W24 + .byte Gs1 + .byte W24 + .byte N06 + .byte W24 + .byte Gn1 + .byte W24 + .byte N06 + .byte W24 + .byte Fs1 + .byte W36 + .byte Gs1 + .byte W12 + .byte As1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As2 + .byte W06 + .byte As1 + .byte W06 + .byte N03 , As2 + .byte W06 + .byte N06 , As1 + .byte W06 + .byte An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs2 + .byte W06 + .byte Gs1 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N06 , An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn2 + .byte W06 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds2 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N06 , Fs1 + .byte W06 + .byte N03 , Fs2 + .byte W12 + .byte N06 , Fs1 + .byte W06 + .byte Gs1 + .byte W12 + .byte Gn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte GOTO + .word mus_test3_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_test3_3: + .byte KEYSH , mus_test3_key+0 +mus_test3_3_B1: + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 45*mus_test3_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_test3_3_000: + .byte W48 + .byte N06 , Gn3 , v112 + .byte W06 + .byte N03 , Gn3 , v096 + .byte W06 + .byte Ds3 , v064 + .byte W06 + .byte N03 + .byte W30 + .byte PEND +mus_test3_3_001: + .byte W48 + .byte N06 , Gn3 , v112 + .byte W06 + .byte N03 , Fn3 , v096 + .byte W12 + .byte Ds3 , v112 + .byte W30 + .byte PEND +mus_test3_3_002: + .byte W48 + .byte N06 , An3 , v112 + .byte W06 + .byte N03 , An3 , v096 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte N03 + .byte W30 + .byte PEND +mus_test3_3_003: + .byte W48 + .byte N06 , As3 , v112 + .byte W06 + .byte N03 , An3 + .byte W12 + .byte Gn3 + .byte W30 + .byte PEND + .byte PATT + .word mus_test3_3_000 + .byte PATT + .word mus_test3_3_001 + .byte PATT + .word mus_test3_3_002 + .byte PATT + .word mus_test3_3_003 + .byte W48 + .byte N03 , Dn4 , v112 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Dn3 + .byte W30 + .byte W48 + .byte As3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte As2 + .byte W30 + .byte Dn4 + .byte W03 + .byte As3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte As2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Dn2 + .byte W03 + .byte As1 + .byte W03 + .byte Dn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Fn2 + .byte W03 + .byte As2 + .byte W03 + .byte Dn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte As3 + .byte W48 + .byte W03 + .byte N03 + .byte W03 + .byte Gn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte As2 + .byte W03 + .byte Gn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte As1 + .byte W03 + .byte Gn1 + .byte W03 + .byte As1 + .byte W03 + .byte Ds2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Gn2 + .byte W03 + .byte As2 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Gn3 + .byte W48 + .byte W03 + .byte GOTO + .word mus_test3_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_test3_4: + .byte KEYSH , mus_test3_key+0 +mus_test3_4_B1: + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 45*mus_test3_mvl/mxv + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_test3_4_000: + .byte W48 + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W06 + .byte As3 , v064 + .byte W06 + .byte N03 + .byte W30 + .byte PEND +mus_test3_4_001: + .byte W48 + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Ds4 , v096 + .byte W12 + .byte Dn4 , v112 + .byte W30 + .byte PEND +mus_test3_4_002: + .byte W48 + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W06 + .byte Cn4 , v064 + .byte W06 + .byte N03 + .byte W30 + .byte PEND + .byte W48 + .byte N06 , Dn4 , v112 + .byte W06 + .byte N03 , Cn4 + .byte W12 + .byte Ds4 + .byte W30 + .byte PATT + .word mus_test3_4_000 + .byte PATT + .word mus_test3_4_001 + .byte PATT + .word mus_test3_4_002 + .byte W48 + .byte N06 , Dn4 , v112 + .byte W06 + .byte N03 , Cn4 + .byte W12 + .byte Dn4 + .byte W30 + .byte W48 + .byte Gs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gs3 + .byte W30 + .byte W48 + .byte Fs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte Fs3 + .byte W30 + .byte As4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte As3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte As2 + .byte W03 + .byte Fn2 + .byte W03 + .byte As2 + .byte W03 + .byte Dn3 + .byte W03 + .byte Fn3 + .byte W03 + .byte As3 + .byte W03 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fn4 + .byte W03 + .byte As4 + .byte W48 + .byte W03 + .byte Gn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte As3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte As2 + .byte W03 + .byte Gn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Gn2 + .byte W03 + .byte As2 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Gn3 + .byte W03 + .byte As3 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fn4 + .byte W48 + .byte W03 + .byte GOTO + .word mus_test3_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_test3_5: + .byte KEYSH , mus_test3_key+0 +mus_test3_5_B1: + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 35*mus_test3_mvl/mxv + .byte N06 , En1 , v112 + .byte N48 , An2 , v092 + .byte W06 + .byte N03 , En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v088 + .byte W06 + .byte En1 , v052 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte En1 , v052 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte N24 , An2 + .byte W48 +mus_test3_5_000: + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N48 , An2 + .byte W48 + .byte PEND + .byte N06 , En1 + .byte W12 + .byte En1 , v092 + .byte W24 + .byte N03 , En1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte N24 , An2 , v076 + .byte W24 + .byte N06 , Cn1 , v112 + .byte N48 , An2 + .byte W12 + .byte N06 , En1 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W06 + .byte N03 , En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PATT + .word mus_test3_5_000 + .byte N06 , En1 , v112 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte N24 , An2 , v076 + .byte W24 + .byte N06 , Cn1 , v112 + .byte N48 , An2 + .byte W06 + .byte N06 , Cn1 + .byte W06 + .byte En1 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , En1 , v104 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 +mus_test3_5_001: + .byte N06 , Cn1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte N03 , Cn1 , v100 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PEND + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte N03 , Cn1 , v100 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte Cn1 + .byte W12 + .byte En1 , v088 + .byte W06 + .byte PATT + .word mus_test3_5_001 +mus_test3_5_002: + .byte N06 , Cn1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte N03 , Cn1 , v100 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Cn1 , v092 + .byte W12 + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte PEND + .byte PATT + .word mus_test3_5_001 + .byte N06 , Cn1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte N03 , Cn1 , v100 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte En1 , v104 + .byte W06 + .byte En1 , v092 + .byte W06 + .byte PATT + .word mus_test3_5_001 + .byte PATT + .word mus_test3_5_002 +mus_test3_5_003: + .byte N06 , Cn1 , v112 + .byte W18 + .byte Cn1 , v088 + .byte W06 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 , v092 + .byte W06 + .byte Cn1 , v076 + .byte W06 + .byte Dn1 , v104 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte PEND + .byte PATT + .word mus_test3_5_003 + .byte PATT + .word mus_test3_5_003 + .byte N06 , Dn1 , v112 + .byte W06 + .byte Dn1 , v080 + .byte W12 + .byte Dn1 , v088 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 + .byte W12 + .byte Dn1 , v084 + .byte W06 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 , v092 + .byte W06 + .byte Cn1 , v076 + .byte W06 + .byte Dn1 , v104 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte GOTO + .word mus_test3_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_test3_6: + .byte KEYSH , mus_test3_key+0 +mus_test3_6_B1: + .byte VOICE , 83 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 45*mus_test3_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Fn1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Fn2 + .byte W06 + .byte An2 + .byte W06 + .byte N24 , Cn3 + .byte W24 + .byte N12 , Fn1 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn1 + .byte W12 + .byte N24 , As1 + .byte W24 + .byte N06 , Fn1 + .byte W12 + .byte Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Ds1 + .byte W12 + .byte Gn1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N06 , Fs1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs1 + .byte W12 + .byte N12 + .byte W12 + .byte Ds2 + .byte W12 + .byte Cn2 + .byte W12 + .byte N06 , As1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Fn1 + .byte W12 + .byte Gs1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Ds1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N21 , Gn2 + .byte W24 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N06 , Fs1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs1 + .byte W12 + .byte N12 , Gs2 + .byte W12 + .byte Ds2 + .byte W12 + .byte Dn1 + .byte W12 + .byte VOL , 38*mus_test3_mvl/mxv + .byte BEND , c_v+0 + .byte N04 , Dn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte En4 + .byte W08 + .byte N42 , Fn4 + .byte W48 + .byte N04 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte N36 , Cn4 + .byte W36 + .byte N06 , An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte An4 + .byte W12 + .byte N06 + .byte W06 + .byte Gn4 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Fs4 + .byte W12 + .byte N36 , Fn4 + .byte W36 + .byte N06 , Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte N24 , Ds4 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte N06 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte TIE , Gn4 + .byte W72 + .byte W48 + .byte EOT + .byte N06 , Fn4 + .byte W06 + .byte N03 , Ds4 + .byte W12 + .byte Dn4 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W06 + .byte As4 + .byte W12 + .byte N06 + .byte W06 + .byte An4 + .byte W12 + .byte N06 + .byte W06 + .byte Gn4 + .byte W12 + .byte N06 + .byte W06 + .byte Fn4 + .byte W12 + .byte N06 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W12 + .byte N06 + .byte W06 + .byte Gn4 + .byte W12 + .byte N06 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W12 + .byte N06 + .byte W12 + .byte Cn5 + .byte W12 + .byte N06 + .byte W06 + .byte VOL , 45*mus_test3_mvl/mxv + .byte W12 + .byte N03 , Dn4 + .byte W06 + .byte Dn4 , v088 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W18 + .byte N06 + .byte W12 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W30 + .byte W12 + .byte N03 + .byte W06 + .byte Dn4 , v092 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W18 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W12 + .byte As3 + .byte W18 + .byte Cn4 + .byte W12 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W18 + .byte N03 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W30 + .byte Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N24 , Fs4 + .byte W24 + .byte N18 , Gs4 + .byte W24 + .byte GOTO + .word mus_test3_6_B1 + .byte BEND , c_v+0 + .byte FINE + +@********************** Track 7 **********************@ + +mus_test3_7: + .byte KEYSH , mus_test3_key+0 +mus_test3_7_B1: + .byte VOICE , 56 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 75*mus_test3_mvl/mxv + .byte N06 , An3 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W03 + .byte As3 , v076 + .byte W03 + .byte An3 , v096 + .byte W03 + .byte As3 , v076 + .byte W03 + .byte An3 , v096 + .byte W03 + .byte As3 , v076 + .byte W03 + .byte An3 , v096 + .byte W03 + .byte As3 , v072 + .byte W03 + .byte N06 , An3 , v112 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte An2 + .byte W06 + .byte Fn2 + .byte W06 + .byte An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N24 , An3 + .byte W24 + .byte N03 , Gn3 , v084 + .byte W03 + .byte Fn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cn3 + .byte W03 + .byte As2 + .byte W03 + .byte An2 + .byte W03 + .byte Gn2 + .byte W03 + .byte N06 , Fn2 , v112 + .byte W12 + .byte N18 + .byte W24 + .byte N06 + .byte W06 + .byte Gn2 + .byte W06 + .byte N18 , As2 + .byte W24 + .byte Dn3 + .byte W24 + .byte N06 , Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N32 , Gs3 + .byte W36 + .byte N06 + .byte W12 + .byte N18 , Ds3 + .byte W24 + .byte N06 , Gn3 + .byte W12 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N78 , Fn3 + .byte W84 + .byte N04 , As2 + .byte W08 + .byte Cs3 + .byte W08 + .byte Fs3 + .byte W08 + .byte As3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Gs2 + .byte W08 + .byte Ds3 + .byte W08 + .byte Gs3 + .byte W08 + .byte N18 , Cn4 + .byte W18 + .byte N03 , Bn3 , v084 + .byte W03 + .byte As3 , v072 + .byte W03 + .byte N06 , An3 , v112 + .byte W12 + .byte N03 , Fs2 + .byte W03 + .byte Fn2 + .byte W03 + .byte N06 , En2 + .byte W06 + .byte Fn2 + .byte W12 + .byte N06 + .byte W06 + .byte Gn2 + .byte W06 + .byte N18 , As2 + .byte W24 + .byte Dn3 + .byte W24 + .byte N03 , Cn3 + .byte W12 + .byte N24 , Ds3 + .byte W24 + .byte N02 , Dn3 + .byte W12 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N18 , Cn3 + .byte W24 + .byte N06 , Gn3 + .byte W12 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N78 , As3 + .byte W84 + .byte N32 , Fs3 + .byte W36 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N24 , Gs3 + .byte W24 + .byte N24 + .byte W24 + .byte VOICE , 73 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte 24 + .byte VOL , 68*mus_test3_mvl/mxv + .byte W12 + .byte N03 , As3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte As3 + .byte W18 + .byte N06 + .byte W12 + .byte Cn4 + .byte W06 + .byte As3 + .byte W30 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte As3 + .byte W18 + .byte Dn4 + .byte W06 + .byte As3 + .byte W12 + .byte Fs3 + .byte W18 + .byte Gs3 + .byte W12 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W06 + .byte As3 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte As3 + .byte W30 + .byte Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte N24 , As3 + .byte W24 + .byte N18 , Ds4 + .byte W18 + .byte N03 , Dn4 + .byte W03 + .byte Cn4 + .byte W03 + .byte GOTO + .word mus_test3_7_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_test3: + .byte 7 @ NumTrks + .byte 0 @ NumBlks + .byte mus_test3_pri @ Priority + .byte mus_test3_rev @ Reverb. + + .word mus_test3_grp + + .word mus_test3_1 + .word mus_test3_2 + .word mus_test3_3 + .word mus_test3_4 + .word mus_test3_5 + .word mus_test3_6 + .word mus_test3_7 + + .end diff --git a/sound/songs/mus_test4.s b/sound/songs/mus_test4.s new file mode 100644 index 0000000000..868116c0ea --- /dev/null +++ b/sound/songs/mus_test4.s @@ -0,0 +1,1802 @@ + .include "MPlayDef.s" + + .equ mus_test4_grp, voicegroup_867FD18 + .equ mus_test4_pri, 0 + .equ mus_test4_rev, reverb_set+50 + .equ mus_test4_mvl, 127 + .equ mus_test4_key, 0 + .equ mus_test4_tbs, 1 + .equ mus_test4_exg, 0 + .equ mus_test4_cmp, 1 + + .section .rodata + .global mus_test4 + .align 2 + +@********************** Track 1 **********************@ + +mus_test4_1: + .byte KEYSH , mus_test4_key+0 +mus_test4_1_B1: + .byte TEMPO , 128*mus_test4_tbs/2 + .byte VOICE , 36 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 43*mus_test4_mvl/mxv + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 66*mus_test4_mvl/mxv + .byte W96 + .byte W96 + .byte N06 , Ds1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Ds2 + .byte W24 + .byte N06 , Ds1 + .byte W06 + .byte N03 , Ds2 + .byte W06 + .byte N06 , As1 + .byte W12 + .byte Ds2 + .byte W06 + .byte N18 , Ds1 + .byte W18 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Ds2 + .byte W24 + .byte N06 , Ds1 + .byte W06 + .byte N03 , Ds2 + .byte W06 + .byte N06 , As1 + .byte W12 + .byte Ds2 + .byte W06 + .byte Ds1 + .byte W12 + .byte N03 , Ds2 + .byte W06 + .byte N06 , Dn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Dn2 + .byte W24 + .byte N06 , Dn1 + .byte W06 + .byte N03 , Dn2 + .byte W06 + .byte N06 , An1 + .byte W12 + .byte Dn2 + .byte W06 + .byte N18 , Dn1 + .byte W18 + .byte N06 , Gn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Gn2 + .byte W24 + .byte N03 , Gn1 + .byte W06 + .byte Gn2 + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Gn1 + .byte W06 + .byte Cn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Cn2 + .byte W24 + .byte N06 , Cn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N06 , Gn1 + .byte W12 + .byte Cn2 + .byte W06 + .byte N18 , Cn1 + .byte W18 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Cn2 + .byte W24 + .byte N06 , Cn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N06 , Gn1 + .byte W12 + .byte Cn2 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , Cn2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Fn2 + .byte W24 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Fn2 + .byte W06 + .byte N06 , Cn2 + .byte W12 + .byte Fn2 + .byte W06 + .byte Fn1 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte N06 , Fn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Fn2 + .byte W24 + .byte N06 , Fn1 + .byte W06 + .byte N03 , Fn2 + .byte W12 + .byte N06 , Cn2 + .byte W12 + .byte As1 + .byte W12 + .byte An1 + .byte W06 + .byte As1 + .byte W24 + .byte N06 + .byte W24 + .byte Gs1 + .byte W24 + .byte N06 + .byte W24 + .byte Gn1 + .byte W24 + .byte N06 + .byte W24 + .byte Fs1 + .byte W36 + .byte Gs1 + .byte W12 + .byte As1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As2 + .byte W06 + .byte As1 + .byte W06 + .byte N03 , As2 + .byte W06 + .byte N06 , As1 + .byte W06 + .byte An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs2 + .byte W06 + .byte Gs1 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N06 , An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn2 + .byte W06 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds2 + .byte W06 + .byte N03 , Gn2 + .byte W06 + .byte N06 , Fs1 + .byte W06 + .byte N03 , Fs2 + .byte W12 + .byte N06 , Fs1 + .byte W06 + .byte Gs1 + .byte W12 + .byte Gn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte GOTO + .word mus_test4_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_test4_2: + .byte KEYSH , mus_test4_key+0 +mus_test4_2_B1: + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 45*mus_test4_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Fn2 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds2 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn2 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn2 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , An2 + .byte W06 + .byte Fn2 + .byte W06 + .byte An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N24 , An3 + .byte W24 + .byte N03 , Gn3 , v096 + .byte W03 + .byte Fn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cn3 + .byte W03 + .byte As2 + .byte W03 + .byte An2 + .byte W03 + .byte Gn2 , v092 + .byte W03 + .byte N06 , Dn2 , v112 + .byte W12 + .byte N18 + .byte W24 + .byte N06 + .byte W06 + .byte Ds2 + .byte W06 + .byte N18 , Fn2 + .byte W24 + .byte As2 + .byte W24 + .byte N06 , Gs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte N32 , Gs2 + .byte W36 + .byte N06 + .byte W12 + .byte N18 , Ds2 + .byte W24 + .byte N06 , Gs2 + .byte W12 + .byte As2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N36 , Dn3 + .byte W36 + .byte N06 , Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte N36 , As3 + .byte W36 + .byte N04 , As2 + .byte W08 + .byte Cs3 + .byte W08 + .byte Fs3 + .byte W08 + .byte As3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Ds2 + .byte W04 + .byte Gs2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Cn4 + .byte W04 + .byte N03 , Ds4 + .byte W03 + .byte Cn4 + .byte W03 + .byte Gs3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Cn3 + .byte W03 + .byte Gs2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Cn2 + .byte W03 + .byte Fn3 + .byte W12 + .byte N21 + .byte W24 + .byte N03 , As2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W12 + .byte N06 + .byte W24 + .byte As3 + .byte W12 + .byte N03 , Fn3 + .byte W12 + .byte N21 + .byte W24 + .byte N03 , As2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W12 + .byte N06 + .byte W24 + .byte Gs3 + .byte W12 + .byte N03 , Gn3 + .byte W12 + .byte N21 + .byte W24 + .byte N03 , As2 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gn3 + .byte W12 + .byte N06 + .byte W24 + .byte As3 + .byte W12 + .byte N32 , Cs3 + .byte W36 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W06 + .byte N24 , Fn3 + .byte W22 + .byte Ds3 + .byte W24 +mus_test4_2_000: + .byte W72 + .byte N06 , Gn3 , v112 + .byte W06 + .byte N03 , Gn3 , v096 + .byte W06 + .byte Ds3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte PEND +mus_test4_2_001: + .byte W72 + .byte N06 , Gn3 , v112 + .byte W06 + .byte N03 , Gs3 , v096 + .byte W06 + .byte Ds3 , v064 + .byte W06 + .byte As3 , v112 + .byte W06 + .byte PEND +mus_test4_2_002: + .byte W72 + .byte N06 , An3 , v112 + .byte W06 + .byte N03 , An3 , v096 + .byte W06 + .byte Fn3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte PEND + .byte W78 + .byte Gn3 , v112 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte PATT + .word mus_test4_2_000 + .byte PATT + .word mus_test4_2_001 + .byte PATT + .word mus_test4_2_002 + .byte W72 + .byte N06 , Fn3 , v112 + .byte W06 + .byte N03 , Gn3 + .byte W12 + .byte N06 , An3 + .byte W06 + .byte W72 + .byte N03 , Gs2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte W72 + .byte Fs2 + .byte W06 + .byte As2 + .byte W06 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte W48 + .byte Dn4 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Gs2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Gs1 + .byte W03 + .byte Dn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Gs2 + .byte W03 + .byte Dn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte W48 + .byte As3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Ds3 + .byte W03 + .byte As2 + .byte W03 + .byte Fs2 + .byte W03 + .byte Ds2 + .byte W03 + .byte As1 + .byte W03 + .byte Fs1 + .byte W03 + .byte As1 + .byte W03 + .byte Ds2 + .byte W03 + .byte Fs2 + .byte W03 + .byte As2 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fs3 + .byte W03 + .byte As3 + .byte W03 + .byte Ds4 + .byte W03 + .byte GOTO + .word mus_test4_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_test4_3: + .byte KEYSH , mus_test4_key+0 +mus_test4_3_B1: + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 45*mus_test4_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Cn4 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W03 + .byte Dn4 , v076 + .byte W03 + .byte Cn4 , v096 + .byte W03 + .byte Dn4 , v076 + .byte W03 + .byte Cn4 , v096 + .byte W03 + .byte Dn4 , v076 + .byte W03 + .byte Cn4 , v096 + .byte W03 + .byte Dn4 , v072 + .byte W03 + .byte N06 , Cn4 , v112 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N24 , Fn4 + .byte W24 + .byte N03 , Ds4 , v096 + .byte W03 + .byte Dn4 + .byte W03 + .byte Cn4 + .byte W03 + .byte As3 + .byte W03 + .byte An3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Ds3 , v092 + .byte W03 + .byte N06 , As2 , v112 + .byte W12 + .byte N18 + .byte W24 + .byte N06 + .byte W06 + .byte Cn3 + .byte W06 + .byte N18 , Dn3 + .byte W24 + .byte Fn3 + .byte W24 + .byte N06 , Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N36 , Ds3 + .byte W36 + .byte N06 + .byte W12 + .byte N18 , Cn3 + .byte W24 + .byte N06 + .byte W12 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N36 , Fn3 + .byte W36 + .byte N06 , As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N36 , Dn4 + .byte W36 + .byte N04 , Fs3 + .byte W08 + .byte As3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Cs4 + .byte W08 + .byte As3 + .byte W08 + .byte Gs2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte N03 , Gs4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Cn4 + .byte W03 + .byte Gs3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Cn3 + .byte W03 + .byte Gs2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Dn4 + .byte W12 + .byte N21 + .byte W24 + .byte N03 , Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte Dn4 + .byte W12 + .byte N06 + .byte W24 + .byte Fn4 + .byte W12 + .byte N03 , Cn4 + .byte W12 + .byte N21 + .byte W24 + .byte N03 , Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cn4 + .byte W12 + .byte N06 + .byte W24 + .byte Ds4 + .byte W12 + .byte N03 , Fn4 + .byte W12 + .byte N21 + .byte W24 + .byte N03 , Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte Fn4 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N32 , As3 + .byte W36 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N24 , Cn4 + .byte W24 + .byte N24 + .byte W24 +mus_test4_3_000: + .byte W72 + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W06 + .byte As3 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte PEND +mus_test4_3_001: + .byte W72 + .byte N06 , Ds4 , v112 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W12 + .byte Gn4 , v112 + .byte W06 + .byte PEND +mus_test4_3_002: + .byte W72 + .byte N06 , Fn4 , v112 + .byte W06 + .byte N03 , Fn4 , v096 + .byte W06 + .byte Cn4 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte PEND + .byte W78 + .byte Bn3 , v112 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte PATT + .word mus_test4_3_000 + .byte PATT + .word mus_test4_3_001 + .byte PATT + .word mus_test4_3_002 + .byte W72 + .byte N06 , As3 , v112 + .byte W06 + .byte N03 , Cn4 + .byte W12 + .byte Dn4 + .byte W06 + .byte W72 + .byte Fn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte W72 + .byte Ds3 + .byte W06 + .byte Fs3 + .byte W06 + .byte As3 + .byte W06 + .byte Ds4 + .byte W06 + .byte W48 + .byte Gs4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte Gs2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Gs2 + .byte W03 + .byte Dn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Dn4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fn4 + .byte W03 + .byte W48 + .byte Fs4 + .byte W03 + .byte Ds4 + .byte W03 + .byte As3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Ds3 + .byte W03 + .byte As2 + .byte W03 + .byte Fs2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Fs2 + .byte W03 + .byte As2 + .byte W03 + .byte Ds3 + .byte W03 + .byte Fs3 + .byte W03 + .byte As3 + .byte W03 + .byte Ds4 + .byte W03 + .byte Fs4 + .byte W03 + .byte As4 + .byte W03 + .byte GOTO + .word mus_test4_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_test4_4: + .byte KEYSH , mus_test4_key+0 +mus_test4_4_B1: + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 90*mus_test4_mvl/mxv + .byte N06 , En1 , v112 + .byte N48 , An2 , v092 + .byte W06 + .byte N03 , En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W06 + .byte En1 , v064 + .byte W06 + .byte En1 , v088 + .byte W06 + .byte En1 , v052 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte En1 , v052 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte N24 , An2 + .byte W48 +mus_test4_4_000: + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N48 , An2 + .byte W48 + .byte PEND + .byte N06 , En1 + .byte W12 + .byte En1 , v092 + .byte W24 + .byte N03 , En1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte N24 , An2 , v076 + .byte W24 + .byte N06 , Cn1 , v112 + .byte N48 , An2 + .byte W12 + .byte N06 , En1 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N03 , En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W06 + .byte N03 , En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte En1 , v032 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v036 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v052 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte PATT + .word mus_test4_4_000 + .byte N06 , En1 , v112 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 + .byte N24 , An2 , v076 + .byte W24 + .byte N06 , Cn1 , v112 + .byte N48 , An2 + .byte W06 + .byte N06 , Cn1 + .byte W06 + .byte En1 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N03 , En1 , v104 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v104 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte En1 , v096 + .byte W03 + .byte En1 , v064 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 +mus_test4_4_001: + .byte N06 , Cn1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte N03 , Cn1 , v100 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PEND + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte N03 , Cn1 , v100 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte Cn1 + .byte W12 + .byte En1 , v088 + .byte W06 + .byte PATT + .word mus_test4_4_001 +mus_test4_4_002: + .byte N06 , Cn1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte N03 , Cn1 , v100 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Cn1 , v092 + .byte W12 + .byte N06 , En1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte PEND + .byte PATT + .word mus_test4_4_001 + .byte N06 , Cn1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W18 + .byte N03 , Cn1 , v100 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte N03 , Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W06 + .byte Cn1 + .byte W06 + .byte En1 , v104 + .byte W06 + .byte En1 , v092 + .byte W06 + .byte PATT + .word mus_test4_4_001 + .byte PATT + .word mus_test4_4_002 +mus_test4_4_003: + .byte N06 , Cn1 , v112 + .byte W18 + .byte Cn1 , v088 + .byte W06 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 , v092 + .byte W06 + .byte Cn1 , v076 + .byte W06 + .byte Dn1 , v104 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte PEND + .byte PATT + .word mus_test4_4_003 + .byte PATT + .word mus_test4_4_003 + .byte N06 , Dn1 , v112 + .byte W06 + .byte Dn1 , v080 + .byte W12 + .byte Dn1 , v088 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 + .byte W12 + .byte Dn1 , v084 + .byte W06 + .byte Dn1 , v112 + .byte W12 + .byte Cn1 , v092 + .byte W06 + .byte Cn1 , v076 + .byte W06 + .byte Dn1 , v104 + .byte W12 + .byte En1 , v112 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte GOTO + .word mus_test4_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_test4_5: + .byte KEYSH , mus_test4_key+0 +mus_test4_5_B1: + .byte VOICE , 83 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 68*mus_test4_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Fn1 , v112 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn1 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Fn2 + .byte W06 + .byte An2 + .byte W06 + .byte N24 , Cn3 + .byte W24 + .byte N12 , Fn1 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , As1 + .byte W12 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn1 + .byte W12 + .byte N24 , As1 + .byte W24 + .byte N06 , Fn1 + .byte W12 + .byte Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Gs1 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Ds1 + .byte W12 + .byte Gn1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N06 , Fs1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs1 + .byte W12 + .byte N12 + .byte W12 + .byte Ds2 + .byte W12 + .byte Cn2 + .byte W12 + .byte N06 , As1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Fn1 + .byte W12 + .byte Gs1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N24 + .byte W24 + .byte N06 , Ds1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N21 , Gn2 + .byte W24 + .byte N03 , Gn1 + .byte W06 + .byte N03 + .byte W06 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Gn2 + .byte W12 + .byte N12 , Gn1 + .byte W12 + .byte N06 , Fs1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs1 + .byte W12 + .byte N12 , Gs2 + .byte W12 + .byte Ds2 + .byte W12 + .byte Dn1 + .byte W12 + .byte VOL , 22*mus_test4_mvl/mxv + .byte BEND , c_v+1 + .byte N04 , Dn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte En4 + .byte W08 + .byte N42 , Fn4 + .byte W48 + .byte N04 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte N36 , Cn4 + .byte W36 + .byte N06 , An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte An4 + .byte W12 + .byte N06 + .byte W06 + .byte Gn4 + .byte W12 + .byte N06 + .byte W06 + .byte N12 , Fs4 + .byte W12 + .byte N36 , Fn4 + .byte W36 + .byte N06 , Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte N24 , Ds4 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Cn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Dn4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte N06 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte TIE , Gn4 + .byte W72 + .byte W48 + .byte EOT + .byte N06 , Fn4 + .byte W06 + .byte N03 , Ds4 + .byte W12 + .byte Dn4 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W06 + .byte As4 + .byte W12 + .byte N06 + .byte W06 + .byte An4 + .byte W12 + .byte N06 + .byte W06 + .byte Gn4 + .byte W12 + .byte N06 + .byte W06 + .byte Fn4 + .byte W12 + .byte N06 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W12 + .byte N06 + .byte W06 + .byte Gn4 + .byte W12 + .byte N06 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W12 + .byte N06 + .byte W12 + .byte Cn5 + .byte W12 + .byte N06 + .byte W06 + .byte VOL , 68*mus_test4_mvl/mxv + .byte W12 + .byte N03 , Dn4 + .byte W06 + .byte Dn4 , v088 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W18 + .byte N06 + .byte W12 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W30 + .byte W12 + .byte N03 + .byte W06 + .byte Dn4 , v092 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W18 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W12 + .byte As3 + .byte W18 + .byte Cn4 + .byte W12 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W18 + .byte N03 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte N06 , Ds4 , v112 + .byte W06 + .byte Dn4 + .byte W30 + .byte Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N24 , Fs4 + .byte W24 + .byte N18 , Gs4 + .byte W24 + .byte GOTO + .word mus_test4_5_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_test4: + .byte 5 @ NumTrks + .byte 0 @ NumBlks + .byte mus_test4_pri @ Priority + .byte mus_test4_rev @ Reverb. + + .word mus_test4_grp + + .word mus_test4_1 + .word mus_test4_2 + .word mus_test4_3 + .word mus_test4_4 + .word mus_test4_5 + + .end diff --git a/sound/songs/mus_tetsuji.s b/sound/songs/mus_tetsuji.s new file mode 100644 index 0000000000..949175bcf3 --- /dev/null +++ b/sound/songs/mus_tetsuji.s @@ -0,0 +1,1739 @@ + .include "MPlayDef.s" + + .equ mus_tetsuji_grp, voicegroup_867D528 + .equ mus_tetsuji_pri, 0 + .equ mus_tetsuji_rev, reverb_set+50 + .equ mus_tetsuji_mvl, 127 + .equ mus_tetsuji_key, 0 + .equ mus_tetsuji_tbs, 1 + .equ mus_tetsuji_exg, 0 + .equ mus_tetsuji_cmp, 1 + + .section .rodata + .global mus_tetsuji + .align 2 + +@********************** Track 1 **********************@ + +mus_tetsuji_1: + .byte KEYSH , mus_tetsuji_key+0 +mus_tetsuji_1_B1: + .byte TEMPO , 108*mus_tetsuji_tbs/2 + .byte VOICE , 48 + .byte PAN , c_v-16 + .byte LFOS , 44 + .byte VOL , 37*mus_tetsuji_mvl/mxv + .byte W48 + .byte N03 , Bn3 , v112 + .byte W03 + .byte N32 , Cn4 + .byte W32 + .byte W01 + .byte N12 , As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte N24 , Cn4 + .byte W36 + .byte W24 + .byte N12 , En4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte Cs4 + .byte W12 + .byte An3 + .byte W12 + .byte N12 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N03 , En4 + .byte W03 + .byte N21 , Fn4 + .byte W21 + .byte N12 , Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N48 , As3 + .byte W48 + .byte N12 , Dn4 + .byte W12 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte Fn4 + .byte W12 + .byte N48 , Dn4 + .byte W48 + .byte N03 , En4 + .byte W03 + .byte N09 , Fn4 + .byte W09 + .byte N06 , Dn4 + .byte W12 + .byte N12 + .byte W12 + .byte Fn4 + .byte W12 + .byte N72 , Gn3 + .byte W48 + .byte W24 + .byte N12 + .byte W12 + .byte Fn3 + .byte W12 + .byte N36 , En3 + .byte W36 + .byte N12 , Dn3 + .byte W12 + .byte Cn3 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte GOTO + .word mus_tetsuji_1_B1 + .byte W48 + .byte FINE + +@********************** Track 2 **********************@ + +mus_tetsuji_2: + .byte KEYSH , mus_tetsuji_key+0 +mus_tetsuji_2_B1: + .byte VOICE , 73 + .byte LFOS , 44 + .byte MOD , 0 + .byte VOL , 44*mus_tetsuji_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , Gn4 , v112 + .byte W12 + .byte VOICE , 48 + .byte VOL , 37*mus_tetsuji_mvl/mxv + .byte N12 , Cn4 + .byte W12 + .byte Cn5 + .byte W12 + .byte As4 + .byte W12 + .byte N03 , Gs4 + .byte W03 + .byte N32 , An4 + .byte W21 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte As4 + .byte W12 + .byte Cn5 + .byte W12 + .byte N24 , An4 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , An4 , v032 + .byte W12 + .byte W24 + .byte An4 , v112 + .byte W12 + .byte Cs5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Dn5 , v032 + .byte W12 + .byte En5 , v112 + .byte W12 + .byte En5 , v032 + .byte W12 + .byte Fn5 , v112 + .byte W12 + .byte Fn5 , v032 + .byte W12 + .byte An4 , v112 + .byte W12 + .byte Gn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte An4 + .byte W12 + .byte N03 , Cs5 + .byte W03 + .byte N21 , Dn5 + .byte W09 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Dn4 + .byte W12 + .byte En4 + .byte W12 + .byte N48 , Fn4 + .byte W36 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Cn5 + .byte W12 + .byte N06 , As4 + .byte W06 + .byte As4 , v032 + .byte W06 + .byte N12 , As4 , v112 + .byte W12 + .byte An4 + .byte W12 + .byte N48 , Fn4 + .byte W36 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N03 , Cs5 + .byte W03 + .byte N09 , Dn5 + .byte W09 + .byte N06 , An4 + .byte W06 + .byte An4 , v032 + .byte W06 + .byte N12 , An4 , v112 + .byte W12 + .byte Gn4 + .byte W12 + .byte N72 , Fn4 + .byte W48 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N36 , Gn4 + .byte W24 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , An4 + .byte W12 + .byte As4 + .byte W12 + .byte As4 , v032 + .byte W12 + .byte VOICE , 73 + .byte VOL , 50*mus_tetsuji_mvl/mxv + .byte N12 , An4 , v112 + .byte W12 + .byte As4 + .byte W12 + .byte N48 , Cn5 + .byte W36 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Cs5 + .byte W12 + .byte As4 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N06 , Fn4 + .byte W12 + .byte N24 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , En4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Dn4 , v032 + .byte W12 + .byte Fn4 , v112 + .byte W12 + .byte An4 + .byte W12 + .byte N48 , Gn4 + .byte W36 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Gn4 , v032 + .byte W12 + .byte N03 , En4 , v112 + .byte W03 + .byte N09 , Fn4 + .byte W09 + .byte N12 , Dn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N06 , En4 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte N24 , En4 , v112 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte Gn4 , v032 + .byte W12 + .byte VOICE , 48 + .byte VOL , 41*mus_tetsuji_mvl/mxv + .byte N12 , An4 , v112 + .byte W12 + .byte As4 + .byte W12 + .byte N48 , Cn5 + .byte W36 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Cn5 , v032 + .byte W12 + .byte An4 , v112 + .byte W12 + .byte Cs5 + .byte W12 + .byte En5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte En5 + .byte W12 + .byte Fn5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Dn5 , v032 + .byte W12 + .byte Fn5 , v112 + .byte W12 + .byte An5 + .byte W12 + .byte N48 , Gn5 + .byte W36 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N12 , Gn5 , v032 + .byte W12 + .byte N03 , En5 , v112 + .byte W03 + .byte N09 , Fn5 + .byte W09 + .byte N12 , Dn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N06 , En5 + .byte W06 + .byte En5 , v032 + .byte W06 + .byte N24 , En5 , v112 + .byte W24 + .byte N12 , Fn5 + .byte W12 + .byte N24 , Gn5 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOICE , 73 + .byte MOD , 0 + .byte VOL , 50*mus_tetsuji_mvl/mxv + .byte N12 , As4 + .byte W12 + .byte Gn4 + .byte W12 + .byte GOTO + .word mus_tetsuji_2_B1 + .byte W48 + .byte FINE + +@********************** Track 3 **********************@ + +mus_tetsuji_3: + .byte KEYSH , mus_tetsuji_key+0 +mus_tetsuji_3_B1: + .byte VOICE , 35 + .byte PAN , c_v+0 + .byte LFOS , 44 + .byte VOL , 99*mus_tetsuji_mvl/mxv + .byte N06 , Cn1 , v112 + .byte W06 + .byte Cn1 , v028 + .byte W06 + .byte N12 , Cn2 , v112 + .byte W12 + .byte N06 , Cn3 , v088 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte N12 , As1 , v112 + .byte W12 + .byte N24 , Fn1 + .byte W24 + .byte N12 , Fn1 , v028 + .byte W12 + .byte N06 , Fn1 , v112 + .byte W06 + .byte Fn1 , v028 + .byte W06 + .byte Cn2 , v112 + .byte W06 + .byte Cn2 , v028 + .byte W06 + .byte N18 , Fn1 , v112 + .byte W18 + .byte N06 , Fn1 , v028 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte N24 , An1 , v112 + .byte W24 + .byte N12 , An1 , v028 + .byte W12 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v028 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v028 + .byte W06 + .byte N18 , An1 , v112 + .byte W18 + .byte N06 , An1 , v028 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte N24 , Dn1 , v112 + .byte W24 + .byte N12 , Dn1 , v028 + .byte W12 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v028 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v028 + .byte W06 + .byte N18 , An1 , v112 + .byte W24 + .byte N06 , Gn1 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte N24 , Cn1 , v112 + .byte W24 + .byte N12 , Cn1 , v028 + .byte W12 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v028 + .byte W06 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v028 + .byte W06 + .byte N12 , Fn1 , v112 + .byte W12 + .byte Dn1 + .byte W12 + .byte En1 + .byte W12 + .byte N24 , Fn1 + .byte W24 + .byte N12 , Fn1 , v028 + .byte W12 + .byte N06 , As0 , v112 + .byte W06 + .byte As0 , v028 + .byte W06 + .byte As1 , v112 + .byte W06 + .byte As1 , v028 + .byte W06 + .byte N18 , As1 , v112 + .byte W18 + .byte N06 , As1 , v028 + .byte W06 + .byte Fs1 , v112 + .byte W06 + .byte Fs1 , v028 + .byte W06 + .byte N24 , Gn1 , v112 + .byte W24 + .byte N12 , Gn1 , v028 + .byte W12 + .byte N06 , Gn1 , v112 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte Dn2 , v112 + .byte W06 + .byte Dn2 , v028 + .byte W06 + .byte N18 , Gn1 , v112 + .byte W18 + .byte N06 , Gn1 , v028 + .byte W06 + .byte As1 , v112 + .byte W06 + .byte As1 , v028 + .byte W06 + .byte N24 , Cn2 , v112 + .byte W24 + .byte N12 , Cn2 , v028 + .byte W12 + .byte N06 , Cn2 , v112 + .byte W06 + .byte Cn2 , v028 + .byte W06 + .byte Gn2 , v112 + .byte W06 + .byte Gn2 , v028 + .byte W06 + .byte N12 , Cn2 , v112 + .byte W12 + .byte As1 + .byte W12 + .byte Gn1 + .byte W12 + .byte N24 , En1 + .byte W24 + .byte N12 , En1 , v028 + .byte W12 + .byte N06 , En1 , v112 + .byte W06 + .byte En1 , v028 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Cn1 , v028 + .byte W06 + .byte N12 , Cn2 , v112 + .byte W12 + .byte N06 , Cn3 , v088 + .byte W06 + .byte Cn3 , v028 + .byte W06 + .byte N12 , As1 , v112 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte N12 , Cn2 , v028 + .byte W12 + .byte N06 , Cn2 , v112 + .byte W06 + .byte Cn2 , v028 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v028 + .byte W06 + .byte N18 , Cs2 , v112 + .byte W18 + .byte N06 , Cs2 , v028 + .byte W06 + .byte As1 , v112 + .byte W06 + .byte As1 , v028 + .byte W06 + .byte N24 , An1 , v112 + .byte W24 + .byte N12 , An1 , v028 + .byte W12 + .byte N06 , Dn2 , v112 + .byte W06 + .byte Dn2 , v028 + .byte W06 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v028 + .byte W06 + .byte N18 , Fn1 , v112 + .byte W18 + .byte N06 , Fn1 , v028 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte An1 , v028 + .byte W06 + .byte N24 , As1 , v112 + .byte W24 + .byte N12 , As1 , v028 + .byte W12 + .byte N06 , Gn1 , v112 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v028 + .byte W06 + .byte N18 , Gn1 , v112 + .byte W18 + .byte N06 , Gn1 , v028 + .byte W06 + .byte Dn2 , v112 + .byte W06 + .byte Dn2 , v028 + .byte W06 + .byte N24 , Cn2 , v112 + .byte W24 + .byte N12 , Cn2 , v028 + .byte W12 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v028 + .byte W06 + .byte As1 , v112 + .byte W06 + .byte As1 , v028 + .byte W06 + .byte N18 , As1 , v112 + .byte W18 + .byte N06 , As1 , v028 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte N24 , An1 , v112 + .byte W24 + .byte N12 , An1 , v028 + .byte W12 + .byte N06 , An1 , v112 + .byte W06 + .byte An1 , v028 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v028 + .byte W06 + .byte N18 , An1 , v112 + .byte W18 + .byte N06 , An1 , v028 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v028 + .byte W06 + .byte N24 , Fn1 , v112 + .byte W24 + .byte N12 , Fn1 , v028 + .byte W12 + .byte N06 , Dn2 , v112 + .byte W06 + .byte Dn2 , v028 + .byte W06 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v028 + .byte W06 + .byte N18 , Bn1 , v112 + .byte W18 + .byte N06 , Bn1 , v028 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte N24 , As1 , v112 + .byte W24 + .byte N12 , As1 , v028 + .byte W12 + .byte N06 , Gn1 , v112 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte Bn1 , v112 + .byte W06 + .byte Bn1 , v028 + .byte W06 + .byte N18 , Bn1 , v112 + .byte W18 + .byte N06 , Bn1 , v028 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte N24 , Cn2 , v112 + .byte W24 + .byte N12 , Cn2 , v028 + .byte W12 + .byte N06 , Fn2 , v112 + .byte W06 + .byte Fn2 , v028 + .byte W06 + .byte Cn2 , v112 + .byte W06 + .byte Cn2 , v028 + .byte W06 + .byte N18 , Cn2 , v112 + .byte W18 + .byte N06 , Cn2 , v028 + .byte W06 + .byte Gn1 , v112 + .byte W06 + .byte Gn1 , v028 + .byte W06 + .byte GOTO + .word mus_tetsuji_3_B1 + .byte W48 + .byte FINE + +@********************** Track 4 **********************@ + +mus_tetsuji_4: + .byte KEYSH , mus_tetsuji_key+0 +mus_tetsuji_4_B1: + .byte VOICE , 45 + .byte LFOS , 44 + .byte PAN , c_v+32 + .byte VOL , 62*mus_tetsuji_mvl/mxv + .byte W24 + .byte N06 , As3 , v112 + .byte W06 + .byte N12 , As3 , v040 + .byte W66 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W12 + .byte VOICE , 0 + .byte VOL , 50*mus_tetsuji_mvl/mxv + .byte W84 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte GOTO + .word mus_tetsuji_4_B1 + .byte W48 + .byte FINE + +@********************** Track 5 **********************@ + +mus_tetsuji_5: + .byte KEYSH , mus_tetsuji_key+0 +mus_tetsuji_5_B1: + .byte VOICE , 1 + .byte PAN , c_v+0 + .byte LFOS , 44 + .byte VOL , 50*mus_tetsuji_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W24 + .byte N12 , An5 , v112 + .byte W12 + .byte As5 + .byte W12 + .byte N48 , Cn6 + .byte W48 + .byte N12 , Cs6 + .byte W12 + .byte As5 + .byte W12 + .byte An5 + .byte W12 + .byte Gn5 + .byte W12 + .byte N06 , Fn5 + .byte W06 + .byte Fn5 , v036 + .byte W06 + .byte N24 , Fn5 , v112 + .byte W24 + .byte N12 , En5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Dn5 , v036 + .byte W12 + .byte Fn5 , v112 + .byte W12 + .byte An5 + .byte W12 + .byte N48 , Gn5 + .byte W48 + .byte N12 , Gn5 , v036 + .byte W12 + .byte N03 , En5 , v112 + .byte W03 + .byte N09 , Fn5 + .byte W09 + .byte N12 , Dn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N06 , En5 + .byte W06 + .byte En5 , v036 + .byte W06 + .byte N24 , En5 , v112 + .byte W24 + .byte N12 , Fn5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Gn5 , v036 + .byte W12 + .byte An5 , v112 + .byte W12 + .byte As5 + .byte W12 + .byte N48 , Cn6 + .byte W48 + .byte N12 , Cn6 , v036 + .byte W12 + .byte An5 , v112 + .byte W12 + .byte Cs6 + .byte W12 + .byte En6 + .byte W12 + .byte Gn6 + .byte W12 + .byte Fn6 + .byte W12 + .byte En6 + .byte W12 + .byte Fn6 + .byte W12 + .byte Dn6 + .byte W12 + .byte Dn6 , v032 + .byte W12 + .byte Fn6 , v112 + .byte W12 + .byte An6 + .byte W12 + .byte N48 , Gn6 + .byte W48 + .byte N12 , Gn6 , v036 + .byte W12 + .byte N03 , En6 , v112 + .byte W03 + .byte N09 , Fn6 + .byte W09 + .byte N12 , Dn6 + .byte W12 + .byte Fn6 + .byte W12 + .byte N06 , En6 + .byte W06 + .byte En6 , v032 + .byte W06 + .byte N24 , En6 , v112 + .byte W24 + .byte N12 , Fn6 + .byte W12 + .byte N24 , Gn6 + .byte W24 + .byte N12 , As5 + .byte W12 + .byte Gn5 + .byte W12 + .byte GOTO + .word mus_tetsuji_5_B1 + .byte W48 + .byte FINE + +@********************** Track 6 **********************@ + +mus_tetsuji_6: + .byte KEYSH , mus_tetsuji_key+0 +mus_tetsuji_6_B1: + .byte VOICE , 45 + .byte LFOS , 44 + .byte PAN , c_v-32 + .byte VOL , 72*mus_tetsuji_mvl/mxv + .byte N06 , Cn3 , v112 + .byte W06 + .byte Cn3 , v040 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v040 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v040 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v040 + .byte W54 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W12 + .byte VOICE , 48 + .byte W84 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte GOTO + .word mus_tetsuji_6_B1 + .byte W48 + .byte FINE + +@********************** Track 7 **********************@ + +mus_tetsuji_7: + .byte KEYSH , mus_tetsuji_key+0 +mus_tetsuji_7_B1: + .byte VOICE , 4 + .byte PAN , c_v-63 + .byte XCMD , xIECV , 12 + .byte xIECV , 8 + .byte LFOS , 44 + .byte VOL , 58*mus_tetsuji_mvl/mxv + .byte W48 + .byte N06 , Fn2 , v112 + .byte W06 + .byte Fn2 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte Fn2 , v112 + .byte W06 + .byte Fn2 , v032 + .byte W06 + .byte VOICE , 4 + .byte N06 , Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W06 + .byte An2 , v112 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte Gn2 , v112 + .byte W06 + .byte Gn2 , v032 + .byte W06 + .byte Cs3 , v112 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Cs3 , v112 + .byte W06 + .byte Cs3 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte As2 , v112 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte As2 , v112 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte Gn2 , v112 + .byte W06 + .byte Gn2 , v032 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte Gn2 , v112 + .byte W06 + .byte Gn2 , v032 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte An2 , v112 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte An2 , v112 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v032 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 +mus_tetsuji_7_000: + .byte N06 , Bn2 , v112 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte As2 , v112 + .byte W06 + .byte As2 , v032 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte PEND + .byte Gn2 , v112 + .byte W06 + .byte Gn2 , v032 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte As3 , v112 + .byte W06 + .byte As3 , v032 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte An2 , v112 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte An2 , v112 + .byte W06 + .byte An2 , v032 + .byte W06 + .byte En3 , v112 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v032 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W06 + .byte PATT + .word mus_tetsuji_7_000 + .byte N06 , Bn2 , v112 + .byte W06 + .byte Bn2 , v032 + .byte W06 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte Cn3 , v112 + .byte W06 + .byte Cn3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v032 + .byte W06 + .byte Gn4 , v112 + .byte W06 + .byte Gn4 , v032 + .byte W06 + .byte GOTO + .word mus_tetsuji_7_B1 + .byte W48 + .byte FINE + +@********************** Track 8 **********************@ + +mus_tetsuji_8: + .byte KEYSH , mus_tetsuji_key+0 +mus_tetsuji_8_B1: + .byte VOICE , 5 + .byte PAN , c_v+63 + .byte XCMD , xIECV , 12 + .byte xIECV , 8 + .byte LFOS , 44 + .byte VOL , 50*mus_tetsuji_mvl/mxv + .byte W72 + .byte N06 , Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte Fn2 , v112 + .byte W06 + .byte Fn2 , v032 + .byte W06 + .byte W12 + .byte VOICE , 5 + .byte W12 + .byte N06 , Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W30 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W18 + .byte W24 + .byte En3 , v112 + .byte W06 + .byte En3 , v032 + .byte W06 + .byte Cs3 , v112 + .byte W06 + .byte Cs3 , v032 + .byte W30 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W18 + .byte W24 + .byte Cs4 , v112 + .byte W06 + .byte Cs4 , v032 + .byte W42 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W18 + .byte W24 + .byte Fn3 , v112 + .byte W06 + .byte Fn3 , v032 + .byte W06 + .byte Dn3 , v112 + .byte W06 + .byte Dn3 , v032 + .byte W30 + .byte As3 , v112 + .byte W06 + .byte As3 , v032 + .byte W18 + .byte W24 + .byte As3 , v112 + .byte W06 + .byte As3 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W30 + .byte As3 , v112 + .byte W06 + .byte As3 , v032 + .byte W18 + .byte W24 + .byte As3 , v112 + .byte W06 + .byte As3 , v032 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W30 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W18 + .byte W24 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W42 + .byte As3 , v112 + .byte W06 + .byte As3 , v032 + .byte W18 + .byte W24 + .byte As3 , v112 + .byte W06 + .byte As3 , v032 + .byte W42 + .byte An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W18 +mus_tetsuji_8_000: + .byte W24 + .byte N06 , An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W42 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W18 + .byte PEND +mus_tetsuji_8_001: + .byte W24 + .byte N06 , An3 , v112 + .byte W06 + .byte An3 , v032 + .byte W42 + .byte As3 , v112 + .byte W06 + .byte As3 , v032 + .byte W18 + .byte PEND + .byte W24 + .byte Gn3 , v112 + .byte W06 + .byte Gn3 , v032 + .byte W42 + .byte Fn4 , v112 + .byte W06 + .byte Fn4 , v032 + .byte W18 + .byte W24 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W42 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W18 + .byte PATT + .word mus_tetsuji_8_000 + .byte PATT + .word mus_tetsuji_8_001 + .byte W24 + .byte N06 , Bn3 , v112 + .byte W06 + .byte Bn3 , v032 + .byte W42 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W18 + .byte W24 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v032 + .byte W18 + .byte GOTO + .word mus_tetsuji_8_B1 + .byte W48 + .byte FINE + +@********************** Track 9 **********************@ + +mus_tetsuji_9: + .byte KEYSH , mus_tetsuji_key+0 +mus_tetsuji_9_B1: + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 40*mus_tetsuji_mvl/mxv + .byte W48 + .byte N06 , Fs2 , v084 + .byte W12 + .byte Fs2 , v064 + .byte W12 + .byte Fs2 , v112 + .byte W12 + .byte Fs2 , v068 + .byte W12 +mus_tetsuji_9_000: + .byte N06 , Fs2 , v084 + .byte W12 + .byte Fs2 , v064 + .byte W12 + .byte Fs2 , v112 + .byte W12 + .byte Fs2 , v068 + .byte W12 + .byte Fs2 , v084 + .byte W12 + .byte Fs2 , v064 + .byte W12 + .byte Fs2 , v112 + .byte W12 + .byte Fs2 , v068 + .byte W12 + .byte PEND + .byte PATT + .word mus_tetsuji_9_000 + .byte PATT + .word mus_tetsuji_9_000 + .byte PATT + .word mus_tetsuji_9_000 + .byte PATT + .word mus_tetsuji_9_000 + .byte PATT + .word mus_tetsuji_9_000 + .byte PATT + .word mus_tetsuji_9_000 + .byte PATT + .word mus_tetsuji_9_000 + .byte PATT + .word mus_tetsuji_9_000 + .byte PATT + .word mus_tetsuji_9_000 + .byte PATT + .word mus_tetsuji_9_000 + .byte PATT + .word mus_tetsuji_9_000 + .byte PATT + .word mus_tetsuji_9_000 + .byte PATT + .word mus_tetsuji_9_000 + .byte PATT + .word mus_tetsuji_9_000 + .byte N06 , Fs2 , v084 + .byte W12 + .byte Fs2 , v064 + .byte W12 + .byte Fs2 , v112 + .byte W12 + .byte Fs2 , v068 + .byte W12 + .byte GOTO + .word mus_tetsuji_9_B1 + .byte W48 + .byte FINE + +@******************************************************@ + .align 2 + +mus_tetsuji: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_tetsuji_pri @ Priority + .byte mus_tetsuji_rev @ Reverb. + + .word mus_tetsuji_grp + + .word mus_tetsuji_1 + .word mus_tetsuji_2 + .word mus_tetsuji_3 + .word mus_tetsuji_4 + .word mus_tetsuji_5 + .word mus_tetsuji_6 + .word mus_tetsuji_7 + .word mus_tetsuji_8 + .word mus_tetsuji_9 + + .end diff --git a/sound/songs/mus_thankfor.s b/sound/songs/mus_thankfor.s new file mode 100644 index 0000000000..0affcd2cf8 --- /dev/null +++ b/sound/songs/mus_thankfor.s @@ -0,0 +1,7462 @@ + .include "MPlayDef.s" + + .equ mus_thankfor_grp, voicegroup_8694C7C + .equ mus_thankfor_pri, 0 + .equ mus_thankfor_rev, reverb_set+50 + .equ mus_thankfor_mvl, 127 + .equ mus_thankfor_key, 0 + .equ mus_thankfor_tbs, 1 + .equ mus_thankfor_exg, 0 + .equ mus_thankfor_cmp, 1 + + .section .rodata + .global mus_thankfor + .align 2 + +@********************** Track 1 **********************@ + +mus_thankfor_1: + .byte KEYSH , mus_thankfor_key+0 + .byte TEMPO , 94*mus_thankfor_tbs/2 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 88*mus_thankfor_mvl/mxv + .byte PAN , c_v+6 + .byte BEND , c_v+0 + .byte W24 + .byte N24 , Bn2 , v088 + .byte W24 + .byte An2 , v092 + .byte W24 + .byte Bn2 + .byte W18 + .byte VOL , 77*mus_thankfor_mvl/mxv + .byte W06 + .byte N24 , Cn3 , v076 + .byte W24 + .byte Bn2 , v084 + .byte W24 + .byte TEMPO , 90*mus_thankfor_tbs/2 + .byte An2 , v092 + .byte W24 + .byte TEMPO , 84*mus_thankfor_tbs/2 + .byte Bn2 , v104 + .byte W24 + .byte TEMPO , 94*mus_thankfor_tbs/2 + .byte W24 + .byte Bn2 , v088 + .byte W24 + .byte An2 , v092 + .byte W24 + .byte Bn2 + .byte W24 + .byte TEMPO , 90*mus_thankfor_tbs/2 + .byte N30 , Gn3 , v064 + .byte W36 + .byte N12 , Gn3 , v088 + .byte W12 + .byte TEMPO , 84*mus_thankfor_tbs/2 + .byte Dn4 , v064 + .byte W12 + .byte Cn4 , v072 + .byte W12 + .byte TEMPO , 76*mus_thankfor_tbs/2 + .byte Bn3 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte TEMPO , 94*mus_thankfor_tbs/2 + .byte N96 , Bn3 , v096 + .byte W96 + .byte N24 , An3 , v076 + .byte W24 + .byte Bn3 , v080 + .byte W24 + .byte Cn4 , v084 + .byte W24 + .byte N12 , Dn4 , v092 + .byte W18 + .byte N03 , Gn3 , v072 + .byte W03 + .byte An3 , v076 + .byte W03 + .byte N90 , Bn3 , v108 + .byte W90 + .byte N03 , Gn3 , v064 + .byte W06 + .byte N96 , Gn3 , v096 + .byte W96 + .byte Cn4 , v108 + .byte W96 + .byte N24 , Bn3 , v076 + .byte W24 + .byte Cn4 , v084 + .byte W24 + .byte Dn4 , v088 + .byte W24 + .byte N18 , En4 , v080 + .byte W18 + .byte N03 , Fs3 , v072 + .byte W03 + .byte An3 + .byte W03 + .byte N96 , Cn4 , v112 + .byte W96 + .byte TEMPO , 90*mus_thankfor_tbs/2 + .byte VOL , 31*mus_thankfor_mvl/mxv + .byte W48 + .byte TEMPO , 82*mus_thankfor_tbs/2 + .byte N12 , Dn5 + .byte W12 + .byte N18 , Cn5 , v096 + .byte W18 + .byte N06 , Bn4 , v092 + .byte W06 + .byte An4 , v084 + .byte W06 + .byte Gn4 + .byte W06 + .byte TEMPO , 94*mus_thankfor_tbs/2 + .byte N36 , Bn4 , v112 + .byte W36 + .byte N06 , As4 , v080 + .byte W06 + .byte Bn4 , v088 + .byte W06 + .byte N30 , Dn4 , v096 + .byte W36 + .byte N03 , Dn4 , v076 + .byte W06 + .byte N06 , Dn4 , v088 + .byte W06 + .byte N24 , An4 , v112 + .byte W24 + .byte Bn4 , v104 + .byte W24 + .byte Cn5 , v092 + .byte W24 + .byte N12 , Dn5 + .byte W12 + .byte N06 , Cs5 , v068 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Bn4 , v108 + .byte W06 + .byte An4 , v076 + .byte W06 + .byte Gn4 , v072 + .byte W06 + .byte An4 , v080 + .byte W06 + .byte N18 , Bn4 , v112 + .byte W18 + .byte N03 , Gn4 , v080 + .byte W06 + .byte N24 , Gn4 , v108 + .byte W24 + .byte N06 , Gn4 , v112 + .byte W06 + .byte Fs4 , v040 + .byte W06 + .byte En4 , v052 + .byte W06 + .byte Fs4 , v060 + .byte W06 + .byte Gn4 , v096 + .byte W06 + .byte Bn3 , v072 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Bn4 , v084 + .byte W06 + .byte En4 , v072 + .byte W06 + .byte Gn4 + .byte W06 + .byte Bn4 + .byte W06 + .byte PAN , c_v+27 + .byte N04 , Gn5 , v044 + .byte W04 + .byte En5 + .byte W04 + .byte Bn4 + .byte W04 + .byte PAN , c_v+2 + .byte N04 , En5 , v036 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte PAN , c_v-13 + .byte N04 , Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte PAN , c_v-25 + .byte N04 , Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte PAN , c_v+5 + .byte N42 , Cn5 , v108 + .byte W42 + .byte N03 , En4 , v080 + .byte W06 + .byte N36 , En4 , v100 + .byte W36 + .byte N06 , En4 , v076 + .byte W06 + .byte An4 , v092 + .byte W06 + .byte N12 , Bn4 , v112 + .byte W12 + .byte N06 , En4 , v064 + .byte W06 + .byte Bn4 , v072 + .byte W06 + .byte N12 , Cn5 , v100 + .byte W12 + .byte N06 , En4 , v068 + .byte W06 + .byte Cn5 , v072 + .byte W06 + .byte N12 , Dn5 , v100 + .byte W12 + .byte N06 , En4 , v068 + .byte W06 + .byte Dn5 , v072 + .byte W06 + .byte N12 , En5 , v100 + .byte W12 + .byte N06 , An4 , v088 + .byte W06 + .byte N03 , En5 , v076 + .byte W03 + .byte Fs5 , v084 + .byte W03 + .byte N06 , Gn5 , v112 + .byte W06 + .byte Fs5 , v080 + .byte W06 + .byte En5 , v076 + .byte W06 + .byte Fs5 , v080 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte An5 + .byte W06 + .byte Fs5 + .byte W06 + .byte TEMPO , 90*mus_thankfor_tbs/2 + .byte N24 , Dn5 , v096 + .byte W24 + .byte TEMPO , 80*mus_thankfor_tbs/2 + .byte N12 , Bn4 , v088 + .byte W12 + .byte N06 , Cn5 , v080 + .byte W06 + .byte Dn5 , v088 + .byte W06 + .byte TEMPO , 92*mus_thankfor_tbs/2 + .byte PAN , c_v+32 + .byte N06 , Gn5 , v044 + .byte W06 + .byte An5 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , Fs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte TEMPO , 86*mus_thankfor_tbs/2 + .byte PAN , c_v+8 + .byte N06 , En5 + .byte W06 + .byte Fs5 , v040 + .byte W06 + .byte Dn5 + .byte W06 + .byte En5 , v032 + .byte W06 + .byte TEMPO , 80*mus_thankfor_tbs/2 + .byte PAN , c_v-8 + .byte N06 , Cn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte TEMPO , 68*mus_thankfor_tbs/2 + .byte PAN , c_v-25 + .byte N06 , An4 + .byte W06 + .byte Bn4 , v036 + .byte W06 + .byte Gn4 , v032 + .byte W06 + .byte An4 + .byte W06 + .byte TEMPO , 94*mus_thankfor_tbs/2 + .byte PAN , c_v+5 + .byte N30 , Bn3 , v112 + .byte W30 + .byte N12 , Cn4 , v084 + .byte W12 + .byte N06 , Dn4 , v092 + .byte W06 + .byte N36 , Bn3 , v104 + .byte W24 + .byte TEMPO , 92*mus_thankfor_tbs/2 + .byte W12 + .byte N06 , Cn4 , v088 + .byte W06 + .byte Dn4 , v100 + .byte W06 + .byte TEMPO , 94*mus_thankfor_tbs/2 + .byte N12 , Fn4 , v104 + .byte W12 + .byte En4 , v092 + .byte W12 + .byte Ds4 , v084 + .byte W12 + .byte En4 , v092 + .byte W12 + .byte TEMPO , 90*mus_thankfor_tbs/2 + .byte N30 , Bn3 , v096 + .byte W24 + .byte TEMPO , 84*mus_thankfor_tbs/2 + .byte W06 + .byte N12 , Cn4 , v092 + .byte W12 + .byte N06 , Dn4 , v100 + .byte W06 + .byte TEMPO , 94*mus_thankfor_tbs/2 + .byte N30 , Cn4 , v112 + .byte W30 + .byte N12 , Dn4 , v104 + .byte W12 + .byte N06 , En4 , v112 + .byte W06 + .byte N36 , Cn4 , v104 + .byte W36 + .byte N06 , Dn4 , v088 + .byte W06 + .byte En4 , v100 + .byte W06 + .byte N12 , Gn4 , v104 + .byte W12 + .byte Fs4 , v092 + .byte W12 + .byte En4 , v084 + .byte W12 + .byte Fs4 , v092 + .byte W12 + .byte TEMPO , 90*mus_thankfor_tbs/2 + .byte Dn4 , v096 + .byte W12 + .byte Cn4 , v112 + .byte W12 + .byte TEMPO , 78*mus_thankfor_tbs/2 + .byte W06 + .byte N06 , Bn3 , v100 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte Gn3 + .byte W06 + .byte TEMPO , 94*mus_thankfor_tbs/2 + .byte N30 , Bn4 + .byte W30 + .byte N12 , Cn5 , v104 + .byte W12 + .byte N06 , Dn5 , v112 + .byte W06 + .byte N36 , Bn4 , v104 + .byte W36 + .byte N06 , Cn5 , v088 + .byte W06 + .byte Dn5 , v100 + .byte W06 + .byte N12 , Fn5 , v104 + .byte W12 + .byte En5 , v092 + .byte W12 + .byte Ds5 , v084 + .byte W12 + .byte En5 , v092 + .byte W12 + .byte TEMPO , 90*mus_thankfor_tbs/2 + .byte N30 , Bn4 , v096 + .byte W24 + .byte TEMPO , 82*mus_thankfor_tbs/2 + .byte W06 + .byte N12 , Cn5 , v092 + .byte W12 + .byte N06 , Dn5 , v100 + .byte W06 + .byte TEMPO , 94*mus_thankfor_tbs/2 + .byte N12 , Cn5 , v112 + .byte W12 + .byte En4 , v084 + .byte W12 + .byte An4 , v088 + .byte W12 + .byte En4 , v076 + .byte W12 + .byte N24 , Gn4 , v104 + .byte W24 + .byte N03 , Gn4 , v080 + .byte W03 + .byte An4 , v092 + .byte W03 + .byte N06 , Gn4 , v080 + .byte W06 + .byte Fs4 , v088 + .byte W06 + .byte An4 + .byte W06 + .byte BEND , c_v+0 + .byte N72 , Gn4 , v096 + .byte W36 + .byte TEMPO , 92*mus_thankfor_tbs/2 + .byte W12 + .byte TEMPO , 86*mus_thankfor_tbs/2 + .byte W24 + .byte TEMPO , 76*mus_thankfor_tbs/2 + .byte W24 + .byte TEMPO , 94*mus_thankfor_tbs/2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte TEMPO , 90*mus_thankfor_tbs/2 + .byte W48 + .byte TEMPO , 82*mus_thankfor_tbs/2 + .byte W48 + .byte TEMPO , 94*mus_thankfor_tbs/2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte TEMPO , 88*mus_thankfor_tbs/2 + .byte W24 + .byte TEMPO , 64*mus_thankfor_tbs/2 + .byte W24 + .byte TEMPO , 88*mus_thankfor_tbs/2 + .byte W24 + .byte TEMPO , 82*mus_thankfor_tbs/2 + .byte W24 + .byte TEMPO , 70*mus_thankfor_tbs/2 + .byte W24 + .byte TEMPO , 64*mus_thankfor_tbs/2 + .byte W24 + .byte TEMPO , 90*mus_thankfor_tbs/2 + .byte W72 + .byte TEMPO , 86*mus_thankfor_tbs/2 + .byte W24 + .byte TEMPO , 90*mus_thankfor_tbs/2 + .byte W48 + .byte TEMPO , 86*mus_thankfor_tbs/2 + .byte W24 + .byte TEMPO , 82*mus_thankfor_tbs/2 + .byte W24 + .byte TEMPO , 90*mus_thankfor_tbs/2 + .byte W96 + .byte W48 + .byte TEMPO , 90*mus_thankfor_tbs/2 + .byte W24 + .byte TEMPO , 78*mus_thankfor_tbs/2 + .byte W24 + .byte TEMPO , 90*mus_thankfor_tbs/2 + .byte W96 + .byte W48 + .byte TEMPO , 90*mus_thankfor_tbs/2 + .byte W24 + .byte TEMPO , 82*mus_thankfor_tbs/2 + .byte W24 + .byte TEMPO , 92*mus_thankfor_tbs/2 + .byte W48 + .byte TEMPO , 88*mus_thankfor_tbs/2 + .byte W24 + .byte TEMPO , 74*mus_thankfor_tbs/2 + .byte W24 + .byte TEMPO , 92*mus_thankfor_tbs/2 + .byte W72 + .byte TEMPO , 82*mus_thankfor_tbs/2 + .byte W24 + .byte TEMPO , 94*mus_thankfor_tbs/2 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte TEMPO , 82*mus_thankfor_tbs/2 + .byte W96 + .byte TEMPO , 182*mus_thankfor_tbs/2 + .byte W96 + .byte W96 + .byte W96 + .byte FINE + +@********************** Track 2 **********************@ + +mus_thankfor_2: + .byte KEYSH , mus_thankfor_key+0 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 100*mus_thankfor_mvl/mxv + .byte PAN , c_v+0 + .byte W24 + .byte N24 , Bn2 , v088 + .byte W24 + .byte An2 , v092 + .byte W24 + .byte Bn2 + .byte W24 + .byte Cn3 , v076 + .byte W24 + .byte Bn2 , v084 + .byte W24 + .byte An2 , v092 + .byte W24 + .byte Bn2 , v104 + .byte W24 + .byte W24 + .byte Bn2 , v088 + .byte W24 + .byte An2 , v092 + .byte W24 + .byte Bn2 + .byte W24 + .byte N30 , Gn3 , v064 + .byte W36 + .byte N12 , Gn3 , v088 + .byte W12 + .byte Dn4 , v064 + .byte W12 + .byte Cn4 , v072 + .byte W12 + .byte Bn3 + .byte W12 + .byte An3 , v064 + .byte W12 + .byte N96 , Bn3 , v096 + .byte W96 + .byte N24 , An3 , v076 + .byte W24 + .byte Bn3 , v080 + .byte W24 + .byte Cn4 , v084 + .byte W24 + .byte N12 , Dn4 , v092 + .byte W18 + .byte N03 , Gn3 , v072 + .byte W03 + .byte An3 , v076 + .byte W03 + .byte N90 , Bn3 , v108 + .byte W90 + .byte N03 , Gn3 , v064 + .byte W06 + .byte N96 , Gn3 , v096 + .byte W96 + .byte Cn4 , v108 + .byte W96 + .byte N24 , Bn3 , v076 + .byte W24 + .byte Cn4 , v084 + .byte W24 + .byte Dn4 , v088 + .byte W24 + .byte N18 , En4 , v080 + .byte W18 + .byte N03 , Fs3 , v072 + .byte W03 + .byte An3 + .byte W03 + .byte N96 , Cn4 , v092 + .byte W96 + .byte VOL , 78*mus_thankfor_mvl/mxv + .byte W48 + .byte N12 , Dn5 , v112 + .byte W12 + .byte N18 , Cn5 , v096 + .byte W18 + .byte N06 , Bn4 , v092 + .byte W06 + .byte An4 , v084 + .byte W06 + .byte Gn4 + .byte W06 + .byte N36 , Bn4 , v112 + .byte W36 + .byte N06 , As4 , v080 + .byte W06 + .byte Bn4 , v088 + .byte W06 + .byte N30 , Dn4 , v096 + .byte W36 + .byte N03 , Dn4 , v076 + .byte W06 + .byte N06 , Dn4 , v088 + .byte W06 + .byte N24 , An4 , v084 + .byte W24 + .byte Bn4 , v088 + .byte W24 + .byte Cn5 , v092 + .byte W24 + .byte N12 , Dn5 + .byte W12 + .byte N06 , Cs5 , v068 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Bn4 , v108 + .byte W06 + .byte An4 , v076 + .byte W06 + .byte Gn4 , v072 + .byte W06 + .byte An4 , v080 + .byte W06 + .byte N18 , Bn4 , v112 + .byte W18 + .byte N03 , Gn4 , v080 + .byte W06 + .byte N24 , Gn4 , v108 + .byte W24 + .byte N06 , Gn4 , v112 + .byte W06 + .byte Fs4 , v040 + .byte W06 + .byte En4 , v052 + .byte W06 + .byte Fs4 , v060 + .byte W06 + .byte Gn4 , v096 + .byte W06 + .byte Bn3 , v072 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Bn4 , v084 + .byte W06 + .byte En4 , v072 + .byte W06 + .byte Gn4 + .byte W06 + .byte Bn4 + .byte W06 + .byte PAN , c_v+27 + .byte N04 , Gn5 , v044 + .byte W04 + .byte En5 + .byte W04 + .byte Bn4 + .byte W04 + .byte PAN , c_v+1 + .byte N04 , En5 , v040 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte PAN , c_v-11 + .byte N04 , Bn4 + .byte W04 + .byte Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte PAN , c_v-24 + .byte N04 , Gn4 + .byte W04 + .byte En4 + .byte W04 + .byte Bn3 + .byte W04 + .byte PAN , c_v+0 + .byte N42 , Cn5 , v108 + .byte W42 + .byte N03 , En4 , v080 + .byte W06 + .byte N36 , En4 , v100 + .byte W36 + .byte N06 , En4 , v076 + .byte W06 + .byte An4 , v092 + .byte W06 + .byte N12 , Bn4 , v112 + .byte W12 + .byte N06 , En4 , v064 + .byte W06 + .byte Bn4 , v072 + .byte W06 + .byte N12 , Cn5 , v100 + .byte W12 + .byte N06 , En4 , v068 + .byte W06 + .byte Cn5 , v072 + .byte W06 + .byte N12 , Dn5 , v100 + .byte W12 + .byte N06 , En4 , v068 + .byte W06 + .byte Dn5 , v072 + .byte W06 + .byte N12 , En5 , v100 + .byte W12 + .byte N06 , An4 , v088 + .byte W06 + .byte N03 , En5 , v076 + .byte W03 + .byte Fs5 , v084 + .byte W03 + .byte N06 , Gn5 , v112 + .byte W06 + .byte Fs5 , v080 + .byte W06 + .byte En5 , v076 + .byte W06 + .byte Fs5 , v080 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte An5 + .byte W06 + .byte Fs5 + .byte W06 + .byte N24 , Dn5 + .byte W24 + .byte N12 , Bn4 , v088 + .byte W12 + .byte N06 , Cn5 , v076 + .byte W06 + .byte Dn5 , v080 + .byte W06 + .byte PAN , c_v+25 + .byte N06 , Gn5 , v044 + .byte W06 + .byte An5 + .byte W06 + .byte PAN , c_v+16 + .byte N06 , Fs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte PAN , c_v+5 + .byte N06 , En5 + .byte W06 + .byte Fs5 , v040 + .byte W06 + .byte Dn5 + .byte W06 + .byte En5 , v032 + .byte W06 + .byte PAN , c_v-8 + .byte N06 , Cn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte PAN , c_v-26 + .byte N06 , An4 + .byte W06 + .byte Bn4 , v036 + .byte W06 + .byte Gn4 , v032 + .byte W06 + .byte An4 + .byte W06 + .byte VOL , 98*mus_thankfor_mvl/mxv + .byte PAN , c_v+0 + .byte N30 , Bn3 , v088 + .byte W30 + .byte N12 , Cn4 , v084 + .byte W12 + .byte N06 , Dn4 , v092 + .byte W06 + .byte N36 , Bn3 , v104 + .byte W36 + .byte N06 , Cn4 , v088 + .byte W06 + .byte Dn4 , v100 + .byte W06 + .byte N12 , Fn4 , v104 + .byte W12 + .byte En4 , v092 + .byte W12 + .byte Ds4 , v084 + .byte W12 + .byte En4 , v092 + .byte W12 + .byte N30 , Bn3 , v080 + .byte W30 + .byte N12 , Cn4 , v092 + .byte W12 + .byte N06 , Dn4 , v100 + .byte W06 + .byte N30 , Cn4 , v096 + .byte W30 + .byte N12 , Dn4 , v104 + .byte W12 + .byte N06 , En4 , v112 + .byte W06 + .byte N36 , Cn4 , v104 + .byte W36 + .byte N06 , Dn4 , v088 + .byte W06 + .byte En4 , v100 + .byte W06 + .byte N12 , Gn4 , v104 + .byte W12 + .byte Fs4 , v092 + .byte W12 + .byte En4 , v084 + .byte W12 + .byte Fs4 , v092 + .byte W12 + .byte Dn4 , v096 + .byte W12 + .byte Cn4 , v112 + .byte W18 + .byte N06 , Bn3 , v100 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte Gn3 + .byte W06 + .byte VOL , 78*mus_thankfor_mvl/mxv + .byte N30 , Bn4 + .byte W30 + .byte N12 , Cn5 , v104 + .byte W12 + .byte N06 , Dn5 , v112 + .byte W06 + .byte N36 , Bn4 , v104 + .byte W36 + .byte N06 , Cn5 , v088 + .byte W06 + .byte Dn5 , v100 + .byte W06 + .byte N12 , Fn5 , v104 + .byte W12 + .byte En5 , v092 + .byte W12 + .byte Ds5 , v084 + .byte W12 + .byte En5 , v092 + .byte W12 + .byte N30 , Bn4 , v096 + .byte W30 + .byte N12 , Cn5 , v092 + .byte W12 + .byte N06 , Dn5 , v100 + .byte W06 + .byte N12 , Cn5 , v112 + .byte W12 + .byte En4 , v084 + .byte W12 + .byte An4 , v088 + .byte W12 + .byte En4 , v076 + .byte W12 + .byte N24 , Gn4 , v104 + .byte W24 + .byte N03 , Gn4 , v080 + .byte W03 + .byte An4 , v092 + .byte W03 + .byte N06 , Gn4 , v080 + .byte W06 + .byte Fs4 , v088 + .byte W06 + .byte An4 + .byte W06 + .byte N72 , Gn4 , v096 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 73 + .byte W96 + .byte PAN , c_v-29 + .byte VOL , 29*mus_thankfor_mvl/mxv + .byte N06 , Gn5 , v112 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cn6 + .byte W06 + .byte Bn5 + .byte W06 + .byte N03 , An5 + .byte W03 + .byte Bn5 + .byte W03 + .byte N06 , An5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte N03 , Gn5 + .byte W03 + .byte An5 + .byte W03 + .byte N06 , Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte N03 , En5 + .byte W03 + .byte Fs5 + .byte W03 + .byte N06 , En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte En5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte An5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Cn6 + .byte W06 + .byte Dn6 + .byte W06 + .byte Gn5 + .byte W06 + .byte N03 , An5 + .byte W03 + .byte Bn5 + .byte W03 + .byte N06 , An5 + .byte W06 + .byte Gn5 + .byte W06 + .byte An5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte Fs5 + .byte W06 + .byte N18 , Gn5 + .byte W18 + .byte N03 , En5 + .byte W06 + .byte N06 + .byte W06 + .byte Ds5 + .byte W06 + .byte En5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte An5 + .byte W06 + .byte Bn5 + .byte W06 + .byte En5 + .byte W06 + .byte N03 , Bn5 + .byte W03 + .byte Cn6 + .byte W03 + .byte N06 , Bn5 + .byte W06 + .byte An5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte An5 + .byte W06 + .byte Fs5 + .byte W06 + .byte N03 , En5 + .byte W03 + .byte Fs5 + .byte W03 + .byte N06 , En5 + .byte W06 + .byte Ds5 + .byte W06 + .byte En5 + .byte W06 + .byte Gn5 + .byte W06 + .byte An5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte En5 + .byte W06 + .byte Ds5 + .byte W06 + .byte En5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte An5 + .byte W06 + .byte Bn5 + .byte W06 + .byte N03 , Cn6 + .byte W03 + .byte Dn6 + .byte W03 + .byte N06 , Cn6 + .byte W06 + .byte Bn5 + .byte W06 + .byte An5 + .byte W06 + .byte N03 , Bn5 + .byte W03 + .byte Cn6 + .byte W03 + .byte N06 , Bn5 + .byte W06 + .byte An5 + .byte W06 + .byte Gn5 + .byte W06 + .byte En5 + .byte W06 + .byte N06 + .byte W06 + .byte Ds5 + .byte W06 + .byte En5 + .byte W06 + .byte Fs5 + .byte W06 + .byte N06 + .byte W06 + .byte Fn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte N06 + .byte W06 + .byte Fs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte N12 , An5 + .byte W12 + .byte N06 , Gn5 + .byte W06 + .byte N03 , An5 , v084 + .byte W03 + .byte Bn5 , v088 + .byte W03 + .byte Cs6 , v112 + .byte W03 + .byte Dn6 + .byte W03 + .byte N06 , Cn6 + .byte W06 + .byte Bn5 + .byte W06 + .byte An5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte An5 + .byte W06 + .byte Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Dn5 + .byte W18 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N18 , An4 + .byte W24 + .byte N04 , Dn6 , v092 + .byte W04 + .byte En6 , v072 + .byte W04 + .byte Dn6 , v068 + .byte W04 + .byte Cn6 , v092 + .byte W04 + .byte Dn6 , v072 + .byte W04 + .byte Cn6 , v068 + .byte W04 + .byte Bn5 , v092 + .byte W04 + .byte Cn6 , v072 + .byte W04 + .byte Bn5 , v068 + .byte W04 + .byte An5 , v092 + .byte W04 + .byte Bn5 , v072 + .byte W04 + .byte An5 , v068 + .byte W04 + .byte Gn5 , v092 + .byte W04 + .byte An5 , v072 + .byte W04 + .byte Gn5 , v068 + .byte W04 + .byte Fs5 , v092 + .byte W04 + .byte Gn5 , v072 + .byte W04 + .byte Fs5 , v068 + .byte W04 + .byte VOICE , 56 + .byte PAN , c_v-38 + .byte VOL , 48*mus_thankfor_mvl/mxv + .byte N32 , Dn4 , v112 + .byte W12 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte W06 + .byte N04 + .byte W04 + .byte Dn4 , v096 + .byte W04 + .byte N04 + .byte W04 + .byte N32 , Dn4 , v112 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N04 + .byte W04 + .byte Dn4 , v096 + .byte W04 + .byte N04 + .byte W04 + .byte N24 , Bn3 , v112 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N03 , An3 + .byte W03 + .byte Bn3 + .byte W03 + .byte N06 , An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte VOICE , 60 + .byte VOL , 59*mus_thankfor_mvl/mxv + .byte PAN , c_v-41 + .byte N30 , An3 + .byte W30 + .byte N12 , Bn3 + .byte W12 + .byte N06 , Cn4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N12 , Gs3 + .byte W18 + .byte N06 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte VOICE , 60 + .byte N12 + .byte W12 + .byte Bn3 + .byte W12 + .byte N03 , An3 + .byte W03 + .byte Bn3 + .byte W03 + .byte An3 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte N12 , Gn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte VOL , 57*mus_thankfor_mvl/mxv + .byte N12 , Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte VOICE , 56 + .byte N30 , Dn4 + .byte W30 + .byte N12 , En4 + .byte W12 + .byte N06 , Fs4 + .byte W06 + .byte N36 , Dn4 + .byte W36 + .byte N06 , En4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N12 , Gs4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Bn4 + .byte W12 + .byte N30 , En4 + .byte W48 + .byte PAN , c_v+42 + .byte VOL , 44*mus_thankfor_mvl/mxv + .byte N12 , An4 + .byte W12 + .byte Cn4 + .byte W12 + .byte En4 + .byte W12 + .byte An3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Fs3 + .byte W12 + .byte N03 , Cn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte N06 , Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte PAN , c_v-41 + .byte VOL , 59*mus_thankfor_mvl/mxv + .byte N24 , Gn4 + .byte W24 + .byte An4 + .byte W24 + .byte As4 + .byte W24 + .byte N12 , Bn4 + .byte W12 + .byte Fn4 + .byte W12 + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte N06 , Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N60 , En5 + .byte W24 + .byte VOL , 58*mus_thankfor_mvl/mxv + .byte W02 + .byte 55*mus_thankfor_mvl/mxv + .byte W03 + .byte 53*mus_thankfor_mvl/mxv + .byte W03 + .byte 50*mus_thankfor_mvl/mxv + .byte W04 + .byte 49*mus_thankfor_mvl/mxv + .byte W02 + .byte 47*mus_thankfor_mvl/mxv + .byte W03 + .byte 43*mus_thankfor_mvl/mxv + .byte W03 + .byte 39*mus_thankfor_mvl/mxv + .byte W04 + .byte 38*mus_thankfor_mvl/mxv + .byte W02 + .byte 37*mus_thankfor_mvl/mxv + .byte W10 + .byte 59*mus_thankfor_mvl/mxv + .byte N12 , Gn4 + .byte W12 + .byte N06 , Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N60 , En5 + .byte W24 + .byte VOL , 59*mus_thankfor_mvl/mxv + .byte W02 + .byte 57*mus_thankfor_mvl/mxv + .byte W03 + .byte 55*mus_thankfor_mvl/mxv + .byte W03 + .byte 51*mus_thankfor_mvl/mxv + .byte W04 + .byte 50*mus_thankfor_mvl/mxv + .byte W02 + .byte 48*mus_thankfor_mvl/mxv + .byte W03 + .byte 46*mus_thankfor_mvl/mxv + .byte W03 + .byte 44*mus_thankfor_mvl/mxv + .byte W04 + .byte 42*mus_thankfor_mvl/mxv + .byte W02 + .byte 39*mus_thankfor_mvl/mxv + .byte W03 + .byte 37*mus_thankfor_mvl/mxv + .byte W07 + .byte 59*mus_thankfor_mvl/mxv + .byte N06 , Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte Fn5 + .byte W12 + .byte N03 , En5 , v100 + .byte W03 + .byte Fn5 , v092 + .byte W03 + .byte N06 , En5 , v112 + .byte W06 + .byte Ds5 + .byte W06 + .byte En5 , v100 + .byte W06 + .byte N48 , Dn5 , v112 + .byte W24 + .byte VOL , 59*mus_thankfor_mvl/mxv + .byte W02 + .byte 55*mus_thankfor_mvl/mxv + .byte W03 + .byte 53*mus_thankfor_mvl/mxv + .byte W03 + .byte 51*mus_thankfor_mvl/mxv + .byte W04 + .byte 49*mus_thankfor_mvl/mxv + .byte W02 + .byte 46*mus_thankfor_mvl/mxv + .byte W03 + .byte 43*mus_thankfor_mvl/mxv + .byte W03 + .byte 42*mus_thankfor_mvl/mxv + .byte W04 + .byte 59*mus_thankfor_mvl/mxv + .byte N24 , Cs5 + .byte W24 + .byte As4 + .byte W24 + .byte An4 + .byte W24 + .byte Gn4 + .byte W24 + .byte N12 , En5 + .byte W12 + .byte N06 , Cn5 + .byte W06 + .byte An4 + .byte W06 + .byte N60 , Fn5 + .byte W24 + .byte VOL , 57*mus_thankfor_mvl/mxv + .byte W02 + .byte 55*mus_thankfor_mvl/mxv + .byte W03 + .byte 51*mus_thankfor_mvl/mxv + .byte W03 + .byte 50*mus_thankfor_mvl/mxv + .byte W04 + .byte 49*mus_thankfor_mvl/mxv + .byte W02 + .byte 47*mus_thankfor_mvl/mxv + .byte W03 + .byte 45*mus_thankfor_mvl/mxv + .byte W03 + .byte 44*mus_thankfor_mvl/mxv + .byte W04 + .byte 42*mus_thankfor_mvl/mxv + .byte W02 + .byte 40*mus_thankfor_mvl/mxv + .byte W03 + .byte 37*mus_thankfor_mvl/mxv + .byte W07 + .byte 59*mus_thankfor_mvl/mxv + .byte N12 , An4 + .byte W12 + .byte N06 , En5 + .byte W06 + .byte Cs5 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N12 , En5 + .byte W12 + .byte N48 , Fn5 + .byte W12 + .byte VOL , 57*mus_thankfor_mvl/mxv + .byte W02 + .byte 55*mus_thankfor_mvl/mxv + .byte W03 + .byte 53*mus_thankfor_mvl/mxv + .byte W03 + .byte 51*mus_thankfor_mvl/mxv + .byte W04 + .byte 49*mus_thankfor_mvl/mxv + .byte W02 + .byte 47*mus_thankfor_mvl/mxv + .byte W03 + .byte 44*mus_thankfor_mvl/mxv + .byte W03 + .byte 42*mus_thankfor_mvl/mxv + .byte W04 + .byte 40*mus_thankfor_mvl/mxv + .byte W02 + .byte 37*mus_thankfor_mvl/mxv + .byte W10 + .byte 59*mus_thankfor_mvl/mxv + .byte N06 , En5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N36 , Dn5 + .byte W36 + .byte N06 , En5 + .byte W06 + .byte Fn5 + .byte W06 + .byte N36 , Dn5 + .byte W36 + .byte N06 , Cn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte VOL , 59*mus_thankfor_mvl/mxv + .byte N92 , Cs5 + .byte W24 + .byte VOL , 55*mus_thankfor_mvl/mxv + .byte W02 + .byte 55*mus_thankfor_mvl/mxv + .byte W03 + .byte 51*mus_thankfor_mvl/mxv + .byte W03 + .byte 50*mus_thankfor_mvl/mxv + .byte W04 + .byte 47*mus_thankfor_mvl/mxv + .byte W02 + .byte 46*mus_thankfor_mvl/mxv + .byte W03 + .byte 43*mus_thankfor_mvl/mxv + .byte W03 + .byte 42*mus_thankfor_mvl/mxv + .byte W04 + .byte 40*mus_thankfor_mvl/mxv + .byte W02 + .byte 37*mus_thankfor_mvl/mxv + .byte W06 + .byte 34*mus_thankfor_mvl/mxv + .byte W04 + .byte 33*mus_thankfor_mvl/mxv + .byte W02 + .byte 31*mus_thankfor_mvl/mxv + .byte W03 + .byte 29*mus_thankfor_mvl/mxv + .byte W03 + .byte 27*mus_thankfor_mvl/mxv + .byte W04 + .byte 25*mus_thankfor_mvl/mxv + .byte W02 + .byte 24*mus_thankfor_mvl/mxv + .byte W03 + .byte 21*mus_thankfor_mvl/mxv + .byte W03 + .byte 20*mus_thankfor_mvl/mxv + .byte W04 + .byte 18*mus_thankfor_mvl/mxv + .byte W02 + .byte 17*mus_thankfor_mvl/mxv + .byte W03 + .byte 16*mus_thankfor_mvl/mxv + .byte W03 + .byte 14*mus_thankfor_mvl/mxv + .byte W04 + .byte 58*mus_thankfor_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte 8*mus_thankfor_mvl/mxv + .byte TIE , En5 + .byte W12 + .byte VOL , 7*mus_thankfor_mvl/mxv + .byte W24 + .byte W02 + .byte 8*mus_thankfor_mvl/mxv + .byte W10 + .byte 10*mus_thankfor_mvl/mxv + .byte W02 + .byte 12*mus_thankfor_mvl/mxv + .byte W10 + .byte 14*mus_thankfor_mvl/mxv + .byte W02 + .byte 17*mus_thankfor_mvl/mxv + .byte W03 + .byte 18*mus_thankfor_mvl/mxv + .byte W09 + .byte 20*mus_thankfor_mvl/mxv + .byte W03 + .byte 22*mus_thankfor_mvl/mxv + .byte W07 + .byte 24*mus_thankfor_mvl/mxv + .byte W02 + .byte 25*mus_thankfor_mvl/mxv + .byte W03 + .byte 27*mus_thankfor_mvl/mxv + .byte W07 + .byte 29*mus_thankfor_mvl/mxv + .byte W02 + .byte 30*mus_thankfor_mvl/mxv + .byte W06 + .byte 33*mus_thankfor_mvl/mxv + .byte W04 + .byte 33*mus_thankfor_mvl/mxv + .byte W02 + .byte 35*mus_thankfor_mvl/mxv + .byte W03 + .byte 37*mus_thankfor_mvl/mxv + .byte W07 + .byte 39*mus_thankfor_mvl/mxv + .byte W02 + .byte 40*mus_thankfor_mvl/mxv + .byte W03 + .byte 43*mus_thankfor_mvl/mxv + .byte W03 + .byte 44*mus_thankfor_mvl/mxv + .byte W04 + .byte 45*mus_thankfor_mvl/mxv + .byte W02 + .byte 47*mus_thankfor_mvl/mxv + .byte W03 + .byte 50*mus_thankfor_mvl/mxv + .byte W03 + .byte 51*mus_thankfor_mvl/mxv + .byte W04 + .byte 54*mus_thankfor_mvl/mxv + .byte W02 + .byte 56*mus_thankfor_mvl/mxv + .byte W03 + .byte 59*mus_thankfor_mvl/mxv + .byte W03 + .byte 60*mus_thankfor_mvl/mxv + .byte W04 + .byte 62*mus_thankfor_mvl/mxv + .byte W02 + .byte 66*mus_thankfor_mvl/mxv + .byte W03 + .byte 67*mus_thankfor_mvl/mxv + .byte W03 + .byte 70*mus_thankfor_mvl/mxv + .byte W04 + .byte 72*mus_thankfor_mvl/mxv + .byte W02 + .byte 75*mus_thankfor_mvl/mxv + .byte W03 + .byte 77*mus_thankfor_mvl/mxv + .byte W03 + .byte 78*mus_thankfor_mvl/mxv + .byte W04 + .byte 81*mus_thankfor_mvl/mxv + .byte W02 + .byte 82*mus_thankfor_mvl/mxv + .byte W03 + .byte 85*mus_thankfor_mvl/mxv + .byte W03 + .byte 86*mus_thankfor_mvl/mxv + .byte W04 + .byte EOT + .byte VOICE , 47 + .byte PAN , c_v+50 + .byte N12 , An2 , v096 + .byte W96 + .byte FINE + +@********************** Track 3 **********************@ + +mus_thankfor_3: + .byte KEYSH , mus_thankfor_key+0 + .byte VOICE , 1 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v-24 + .byte VOL , 93*mus_thankfor_mvl/mxv + .byte TIE , Gn1 , v120 + .byte W96 + .byte W96 + .byte EOT + .byte N96 + .byte W96 + .byte N48 , Cn1 , v064 + .byte W48 + .byte N12 , Cn2 , v092 + .byte W12 + .byte Dn2 , v076 + .byte W12 + .byte An1 , v084 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte TIE , Gn1 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , En1 + .byte W96 + .byte W72 + .byte EOT + .byte N12 + .byte W12 + .byte Dn1 + .byte W12 + .byte TIE , An1 + .byte W96 + .byte W96 + .byte EOT + .byte N96 , Dn2 + .byte W96 + .byte N36 , Dn1 , v088 + .byte W36 + .byte N48 , An2 , v112 + .byte W48 + .byte N12 , Dn1 + .byte W12 + .byte TIE , Gn1 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , En1 + .byte W96 + .byte W72 + .byte EOT + .byte N12 + .byte W12 + .byte Dn1 + .byte W12 + .byte TIE , An1 + .byte W96 + .byte W96 + .byte EOT + .byte N96 , Dn2 + .byte W96 + .byte N84 , Dn2 , v088 + .byte W84 + .byte N12 , Dn1 , v112 + .byte W12 +mus_thankfor_3_000: + .byte N48 , Gn1 , v112 + .byte W48 + .byte Fs1 + .byte W48 + .byte PEND + .byte Fn1 + .byte W48 + .byte En1 + .byte W48 + .byte An1 + .byte W48 + .byte Gs1 + .byte W48 + .byte N24 , Dn2 + .byte W24 + .byte Cn2 , v084 + .byte W24 + .byte Bn1 , v088 + .byte W24 + .byte N12 , An1 , v112 + .byte W12 + .byte Dn1 + .byte W12 + .byte PATT + .word mus_thankfor_3_000 + .byte N48 , Fn1 , v112 + .byte W48 + .byte N36 , En1 + .byte W36 + .byte N12 , Gs1 + .byte W12 + .byte N48 , An1 + .byte W48 + .byte Dn2 + .byte W48 + .byte N72 , Gn1 + .byte W72 + .byte VOICE , 58 + .byte PAN , c_v+0 + .byte VOL , 75*mus_thankfor_mvl/mxv + .byte N12 , Dn0 + .byte W12 + .byte Fs0 + .byte W12 + .byte TIE , Gn0 + .byte W96 + .byte W96 + .byte EOT + .byte TIE , En0 + .byte W96 + .byte W72 + .byte EOT + .byte N12 + .byte W12 + .byte Dn0 + .byte W12 + .byte TIE , An0 + .byte W96 + .byte W96 + .byte EOT + .byte N96 , Dn1 + .byte W96 + .byte N72 , Dn0 , v088 + .byte W72 + .byte N12 , Dn0 , v112 + .byte W12 + .byte Fs0 + .byte W12 + .byte VOICE , 58 + .byte VOL , 78*mus_thankfor_mvl/mxv + .byte N36 , Gn0 + .byte W36 + .byte VOL , 78*mus_thankfor_mvl/mxv + .byte N06 , Fs0 + .byte W06 + .byte Gn0 + .byte W06 + .byte N48 + .byte W48 + .byte N36 + .byte W36 + .byte N12 , Fs0 + .byte W12 + .byte N36 , Gn0 + .byte W36 + .byte N12 , Fs0 + .byte W12 + .byte N36 , En0 + .byte W36 + .byte N06 , Ds0 + .byte W06 + .byte En0 + .byte W06 + .byte N48 + .byte W48 + .byte N42 + .byte W42 + .byte N06 + .byte W06 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte Fs0 + .byte W12 + .byte N36 , An0 + .byte W36 + .byte N06 , Gs0 + .byte W06 + .byte An0 + .byte W06 + .byte N36 + .byte W36 + .byte N12 + .byte W12 + .byte N36 + .byte W36 + .byte N12 + .byte W12 + .byte N36 + .byte W36 + .byte N06 , Bn0 + .byte W06 + .byte Cn1 + .byte W06 + .byte N96 , Dn1 + .byte W96 + .byte N84 , Dn1 , v088 + .byte W84 + .byte N12 , Dn0 , v112 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , Gn1 + .byte W12 + .byte N02 , Gn1 , v080 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N06 , Fn1 , v112 + .byte W12 + .byte N02 , Fn1 , v080 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N06 , Dn1 , v112 + .byte W12 + .byte N02 , Dn1 , v080 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte PAN , c_v+0 + .byte VOL , 85*mus_thankfor_mvl/mxv + .byte N12 , Gn0 , v112 + .byte W12 + .byte Bn0 + .byte W12 + .byte N36 , Cn1 + .byte W12 + .byte VOL , 81*mus_thankfor_mvl/mxv + .byte W05 + .byte 74*mus_thankfor_mvl/mxv + .byte W07 + .byte 66*mus_thankfor_mvl/mxv + .byte W05 + .byte 60*mus_thankfor_mvl/mxv + .byte W07 + .byte 85*mus_thankfor_mvl/mxv + .byte N06 + .byte W12 + .byte N48 + .byte W12 + .byte VOL , 82*mus_thankfor_mvl/mxv + .byte W05 + .byte 77*mus_thankfor_mvl/mxv + .byte W07 + .byte 74*mus_thankfor_mvl/mxv + .byte W05 + .byte 68*mus_thankfor_mvl/mxv + .byte W07 + .byte 64*mus_thankfor_mvl/mxv + .byte W05 + .byte 60*mus_thankfor_mvl/mxv + .byte W07 + .byte 85*mus_thankfor_mvl/mxv + .byte N36 , Bn0 + .byte W12 + .byte VOL , 81*mus_thankfor_mvl/mxv + .byte W05 + .byte 74*mus_thankfor_mvl/mxv + .byte W07 + .byte 66*mus_thankfor_mvl/mxv + .byte W05 + .byte 60*mus_thankfor_mvl/mxv + .byte W07 + .byte 85*mus_thankfor_mvl/mxv + .byte N06 + .byte W12 + .byte N48 + .byte W12 + .byte VOL , 82*mus_thankfor_mvl/mxv + .byte W05 + .byte 77*mus_thankfor_mvl/mxv + .byte W07 + .byte 74*mus_thankfor_mvl/mxv + .byte W05 + .byte 68*mus_thankfor_mvl/mxv + .byte W07 + .byte 64*mus_thankfor_mvl/mxv + .byte W05 + .byte 60*mus_thankfor_mvl/mxv + .byte W07 + .byte 85*mus_thankfor_mvl/mxv + .byte N36 , As0 + .byte W12 + .byte VOL , 81*mus_thankfor_mvl/mxv + .byte W05 + .byte 74*mus_thankfor_mvl/mxv + .byte W07 + .byte 66*mus_thankfor_mvl/mxv + .byte W05 + .byte 60*mus_thankfor_mvl/mxv + .byte W07 + .byte 85*mus_thankfor_mvl/mxv + .byte N06 + .byte W12 + .byte N48 + .byte W12 + .byte VOL , 82*mus_thankfor_mvl/mxv + .byte W05 + .byte 77*mus_thankfor_mvl/mxv + .byte W07 + .byte 74*mus_thankfor_mvl/mxv + .byte W05 + .byte 68*mus_thankfor_mvl/mxv + .byte W07 + .byte 64*mus_thankfor_mvl/mxv + .byte W05 + .byte 60*mus_thankfor_mvl/mxv + .byte W07 + .byte 85*mus_thankfor_mvl/mxv + .byte N36 , An0 + .byte W12 + .byte VOL , 81*mus_thankfor_mvl/mxv + .byte W05 + .byte 74*mus_thankfor_mvl/mxv + .byte W07 + .byte 66*mus_thankfor_mvl/mxv + .byte W05 + .byte 60*mus_thankfor_mvl/mxv + .byte W07 + .byte 85*mus_thankfor_mvl/mxv + .byte N06 + .byte W12 + .byte N48 + .byte W12 + .byte VOL , 82*mus_thankfor_mvl/mxv + .byte W05 + .byte 77*mus_thankfor_mvl/mxv + .byte W07 + .byte 74*mus_thankfor_mvl/mxv + .byte W05 + .byte 68*mus_thankfor_mvl/mxv + .byte W07 + .byte 64*mus_thankfor_mvl/mxv + .byte W05 + .byte 60*mus_thankfor_mvl/mxv + .byte W07 + .byte 85*mus_thankfor_mvl/mxv + .byte N36 , Dn1 + .byte W12 + .byte VOL , 81*mus_thankfor_mvl/mxv + .byte W05 + .byte 74*mus_thankfor_mvl/mxv + .byte W07 + .byte 66*mus_thankfor_mvl/mxv + .byte W05 + .byte 60*mus_thankfor_mvl/mxv + .byte W07 + .byte 85*mus_thankfor_mvl/mxv + .byte N06 + .byte W12 + .byte N48 + .byte W12 + .byte VOL , 82*mus_thankfor_mvl/mxv + .byte W05 + .byte 77*mus_thankfor_mvl/mxv + .byte W07 + .byte 74*mus_thankfor_mvl/mxv + .byte W05 + .byte 68*mus_thankfor_mvl/mxv + .byte W07 + .byte 64*mus_thankfor_mvl/mxv + .byte W05 + .byte 60*mus_thankfor_mvl/mxv + .byte W07 + .byte 85*mus_thankfor_mvl/mxv + .byte N36 , Cs1 + .byte W12 + .byte VOL , 81*mus_thankfor_mvl/mxv + .byte W05 + .byte 74*mus_thankfor_mvl/mxv + .byte W07 + .byte 66*mus_thankfor_mvl/mxv + .byte W05 + .byte 60*mus_thankfor_mvl/mxv + .byte W07 + .byte 85*mus_thankfor_mvl/mxv + .byte N06 + .byte W12 + .byte N48 + .byte W12 + .byte VOL , 82*mus_thankfor_mvl/mxv + .byte W05 + .byte 77*mus_thankfor_mvl/mxv + .byte W07 + .byte 74*mus_thankfor_mvl/mxv + .byte W05 + .byte 68*mus_thankfor_mvl/mxv + .byte W07 + .byte 64*mus_thankfor_mvl/mxv + .byte W05 + .byte 60*mus_thankfor_mvl/mxv + .byte W07 + .byte 85*mus_thankfor_mvl/mxv + .byte N36 , Bn0 + .byte W12 + .byte VOL , 81*mus_thankfor_mvl/mxv + .byte W05 + .byte 74*mus_thankfor_mvl/mxv + .byte W07 + .byte 66*mus_thankfor_mvl/mxv + .byte W05 + .byte 60*mus_thankfor_mvl/mxv + .byte W07 + .byte 85*mus_thankfor_mvl/mxv + .byte N06 + .byte W12 + .byte N36 , Gn1 + .byte W12 + .byte VOL , 81*mus_thankfor_mvl/mxv + .byte W05 + .byte 74*mus_thankfor_mvl/mxv + .byte W07 + .byte 66*mus_thankfor_mvl/mxv + .byte W05 + .byte 60*mus_thankfor_mvl/mxv + .byte W07 + .byte 85*mus_thankfor_mvl/mxv + .byte N06 + .byte W12 +mus_thankfor_3_001: + .byte N36 , An1 , v112 + .byte W12 + .byte VOL , 81*mus_thankfor_mvl/mxv + .byte W05 + .byte 74*mus_thankfor_mvl/mxv + .byte W07 + .byte 66*mus_thankfor_mvl/mxv + .byte W05 + .byte 60*mus_thankfor_mvl/mxv + .byte W07 + .byte 85*mus_thankfor_mvl/mxv + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte Gn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte En1 + .byte W12 + .byte PEND + .byte N36 , Gn1 + .byte W12 + .byte VOL , 81*mus_thankfor_mvl/mxv + .byte W05 + .byte 74*mus_thankfor_mvl/mxv + .byte W07 + .byte 66*mus_thankfor_mvl/mxv + .byte W05 + .byte 60*mus_thankfor_mvl/mxv + .byte W07 + .byte 85*mus_thankfor_mvl/mxv + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte Fn1 + .byte W12 + .byte En1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PATT + .word mus_thankfor_3_001 + .byte PATT + .word mus_thankfor_3_001 + .byte PATT + .word mus_thankfor_3_001 + .byte VOL , 10*mus_thankfor_mvl/mxv + .byte TIE , An1 , v112 + .byte W05 + .byte VOL , 11*mus_thankfor_mvl/mxv + .byte W03 + .byte 11*mus_thankfor_mvl/mxv + .byte W16 + .byte 12*mus_thankfor_mvl/mxv + .byte W08 + .byte 14*mus_thankfor_mvl/mxv + .byte W04 + .byte 15*mus_thankfor_mvl/mxv + .byte W02 + .byte 16*mus_thankfor_mvl/mxv + .byte W12 + .byte 19*mus_thankfor_mvl/mxv + .byte W10 + .byte 20*mus_thankfor_mvl/mxv + .byte W08 + .byte 22*mus_thankfor_mvl/mxv + .byte W04 + .byte 24*mus_thankfor_mvl/mxv + .byte W05 + .byte 25*mus_thankfor_mvl/mxv + .byte W03 + .byte 28*mus_thankfor_mvl/mxv + .byte W06 + .byte 29*mus_thankfor_mvl/mxv + .byte W03 + .byte 32*mus_thankfor_mvl/mxv + .byte W07 + .byte W02 + .byte 36*mus_thankfor_mvl/mxv + .byte W06 + .byte 37*mus_thankfor_mvl/mxv + .byte W06 + .byte 40*mus_thankfor_mvl/mxv + .byte W03 + .byte 41*mus_thankfor_mvl/mxv + .byte W03 + .byte 44*mus_thankfor_mvl/mxv + .byte W06 + .byte 48*mus_thankfor_mvl/mxv + .byte W03 + .byte 48*mus_thankfor_mvl/mxv + .byte W03 + .byte 50*mus_thankfor_mvl/mxv + .byte W04 + .byte 52*mus_thankfor_mvl/mxv + .byte W02 + .byte 56*mus_thankfor_mvl/mxv + .byte W06 + .byte 58*mus_thankfor_mvl/mxv + .byte W04 + .byte 62*mus_thankfor_mvl/mxv + .byte W05 + .byte 68*mus_thankfor_mvl/mxv + .byte W07 + .byte 70*mus_thankfor_mvl/mxv + .byte W02 + .byte 72*mus_thankfor_mvl/mxv + .byte W03 + .byte 74*mus_thankfor_mvl/mxv + .byte W03 + .byte 77*mus_thankfor_mvl/mxv + .byte W06 + .byte 80*mus_thankfor_mvl/mxv + .byte W03 + .byte 84*mus_thankfor_mvl/mxv + .byte W03 + .byte 88*mus_thankfor_mvl/mxv + .byte W04 + .byte 91*mus_thankfor_mvl/mxv + .byte W02 + .byte 93*mus_thankfor_mvl/mxv + .byte W10 + .byte EOT + .byte N06 , An0 + .byte W96 + .byte FINE + +@********************** Track 4 **********************@ + +mus_thankfor_4: + .byte KEYSH , mus_thankfor_key+0 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+21 + .byte VOL , 69*mus_thankfor_mvl/mxv + .byte W12 + .byte N24 , Dn2 , v080 + .byte W24 + .byte Dn2 , v076 + .byte W24 + .byte Dn2 , v080 + .byte W21 + .byte PAN , c_v+30 + .byte W03 + .byte N24 , Dn2 , v076 + .byte W12 + .byte W12 + .byte Dn2 , v080 + .byte W24 + .byte Dn2 , v076 + .byte W24 + .byte Dn2 , v080 + .byte W24 + .byte Gn2 , v116 + .byte W12 + .byte W12 + .byte Dn2 , v080 + .byte W24 + .byte Dn2 , v076 + .byte W24 + .byte Dn2 , v080 + .byte W24 + .byte N12 , Dn2 , v076 + .byte W12 + .byte Cn3 , v064 + .byte W12 + .byte N36 , Cn3 , v084 + .byte W36 + .byte N18 , Dn3 , v092 + .byte W18 + .byte N30 , Dn3 , v080 + .byte W30 + .byte W12 + .byte N24 , Dn2 , v068 + .byte W24 + .byte Dn2 , v064 + .byte W24 + .byte N24 + .byte W24 + .byte Dn2 , v068 + .byte W12 +mus_thankfor_4_000: + .byte W12 + .byte N24 , Dn2 , v064 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte Dn2 , v088 + .byte W12 + .byte PEND +mus_thankfor_4_001: + .byte W12 + .byte N24 , Bn1 , v068 + .byte W24 + .byte Bn1 , v064 + .byte W24 + .byte N24 + .byte W24 + .byte Bn1 , v068 + .byte W12 + .byte PEND +mus_thankfor_4_002: + .byte W12 + .byte N24 , Bn1 , v064 + .byte W24 + .byte N24 + .byte W24 + .byte N12 + .byte W36 + .byte PEND +mus_thankfor_4_003: + .byte W12 + .byte N24 , En2 , v068 + .byte W24 + .byte En2 , v064 + .byte W24 + .byte N24 + .byte W24 + .byte En2 , v068 + .byte W12 + .byte PEND +mus_thankfor_4_004: + .byte W12 + .byte N24 , En2 , v064 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte En2 , v088 + .byte W12 + .byte PEND + .byte W12 + .byte An2 , v068 + .byte W24 + .byte An2 , v064 + .byte W24 + .byte N24 + .byte W24 + .byte N12 , An2 , v068 + .byte W12 + .byte W12 + .byte N32 , An1 , v092 + .byte W32 + .byte W01 + .byte N03 , An4 , v076 + .byte W03 + .byte N48 , Cn3 , v112 + .byte W48 + .byte VOL , 73*mus_thankfor_mvl/mxv + .byte W12 + .byte N24 , Dn2 , v068 + .byte W24 + .byte Dn2 , v064 + .byte W24 + .byte N24 + .byte W24 + .byte Dn2 , v068 + .byte W12 + .byte PATT + .word mus_thankfor_4_000 + .byte PATT + .word mus_thankfor_4_001 + .byte PATT + .word mus_thankfor_4_002 + .byte PATT + .word mus_thankfor_4_003 + .byte PATT + .word mus_thankfor_4_004 + .byte W12 + .byte N24 , An2 , v068 + .byte W24 + .byte An2 , v064 + .byte W24 + .byte N24 + .byte W24 + .byte An2 , v068 + .byte W12 + .byte W72 + .byte PAN , c_v+0 + .byte W12 + .byte N06 , Gn3 , v112 + .byte W06 + .byte An3 + .byte W06 + .byte PAN , c_v+31 + .byte W12 + .byte N24 , Dn2 , v088 + .byte W24 + .byte Dn2 , v092 + .byte W24 + .byte N24 + .byte W24 + .byte N12 , Dn2 , v108 + .byte W12 + .byte W12 + .byte N24 , Bn1 , v088 + .byte W24 + .byte Bn1 , v092 + .byte W24 + .byte Bn1 , v088 + .byte W24 + .byte N12 , Bn1 , v112 + .byte W12 + .byte W12 + .byte N24 , En2 , v088 + .byte W24 + .byte En2 , v092 + .byte W24 + .byte En2 , v088 + .byte W24 + .byte N09 , En2 , v112 + .byte W12 + .byte W12 + .byte N24 , An2 , v088 + .byte W24 + .byte An2 , v092 + .byte W24 + .byte An2 , v088 + .byte W24 + .byte N12 , An2 , v104 + .byte W12 + .byte W12 + .byte N24 , Dn2 , v088 + .byte W24 + .byte Dn2 , v092 + .byte W24 + .byte Dn2 , v088 + .byte W24 + .byte N12 , Dn2 , v104 + .byte W12 + .byte W12 + .byte N24 , Bn1 , v088 + .byte W24 + .byte Bn1 , v092 + .byte W24 + .byte Bn1 , v088 + .byte W36 + .byte W12 + .byte En2 + .byte W24 + .byte N12 , En2 , v092 + .byte W24 + .byte N24 , An2 , v088 + .byte W24 + .byte N12 , An2 , v104 + .byte W12 + .byte W12 + .byte N24 , Dn2 , v088 + .byte W24 + .byte Dn2 , v092 + .byte W24 + .byte N12 , Dn2 , v112 + .byte W12 + .byte VOICE , 73 + .byte PAN , c_v+0 + .byte VOL , 43*mus_thankfor_mvl/mxv + .byte N12 , Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte PAN , c_v+0 + .byte N03 , Cn5 , v080 + .byte W03 + .byte N68 , Bn4 , v112 + .byte W21 + .byte MOD , 7 + .byte VOL , 40*mus_thankfor_mvl/mxv + .byte W03 + .byte 37*mus_thankfor_mvl/mxv + .byte W02 + .byte 33*mus_thankfor_mvl/mxv + .byte W03 + .byte 31*mus_thankfor_mvl/mxv + .byte W03 + .byte 29*mus_thankfor_mvl/mxv + .byte W04 + .byte 28*mus_thankfor_mvl/mxv + .byte W02 + .byte 27*mus_thankfor_mvl/mxv + .byte W03 + .byte 25*mus_thankfor_mvl/mxv + .byte W03 + .byte 23*mus_thankfor_mvl/mxv + .byte W04 + .byte 22*mus_thankfor_mvl/mxv + .byte W02 + .byte 21*mus_thankfor_mvl/mxv + .byte W03 + .byte 18*mus_thankfor_mvl/mxv + .byte W03 + .byte 17*mus_thankfor_mvl/mxv + .byte W04 + .byte 15*mus_thankfor_mvl/mxv + .byte W02 + .byte 12*mus_thankfor_mvl/mxv + .byte W03 + .byte 11*mus_thankfor_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 43*mus_thankfor_mvl/mxv + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N24 , An4 + .byte W24 + .byte Bn4 , v104 + .byte W24 + .byte Cn5 , v100 + .byte W24 + .byte N12 , Dn5 , v092 + .byte W12 + .byte N06 , Cs5 , v080 + .byte W06 + .byte Cn5 , v072 + .byte W06 + .byte Bn4 , v108 + .byte W06 + .byte An4 , v112 + .byte W06 + .byte N72 , Bn4 + .byte W24 + .byte VOL , 37*mus_thankfor_mvl/mxv + .byte W03 + .byte 40*mus_thankfor_mvl/mxv + .byte W02 + .byte 37*mus_thankfor_mvl/mxv + .byte W03 + .byte 35*mus_thankfor_mvl/mxv + .byte W03 + .byte 33*mus_thankfor_mvl/mxv + .byte W04 + .byte 31*mus_thankfor_mvl/mxv + .byte W02 + .byte 29*mus_thankfor_mvl/mxv + .byte W03 + .byte 29*mus_thankfor_mvl/mxv + .byte W03 + .byte 28*mus_thankfor_mvl/mxv + .byte W04 + .byte 25*mus_thankfor_mvl/mxv + .byte W02 + .byte 24*mus_thankfor_mvl/mxv + .byte W03 + .byte 22*mus_thankfor_mvl/mxv + .byte W03 + .byte 21*mus_thankfor_mvl/mxv + .byte W04 + .byte 20*mus_thankfor_mvl/mxv + .byte W02 + .byte 18*mus_thankfor_mvl/mxv + .byte W03 + .byte 17*mus_thankfor_mvl/mxv + .byte W03 + .byte 15*mus_thankfor_mvl/mxv + .byte W01 + .byte MOD , 0 + .byte VOL , 12*mus_thankfor_mvl/mxv + .byte W03 + .byte 44*mus_thankfor_mvl/mxv + .byte W06 + .byte N03 , Gn4 + .byte W03 + .byte Gs4 , v096 + .byte W03 + .byte Gn4 , v112 + .byte W03 + .byte N06 , Fs4 + .byte W06 + .byte N60 , Gn4 + .byte W60 + .byte MOD , 0 + .byte W21 + .byte N03 , Bn4 + .byte W03 + .byte N36 , Cn5 + .byte W24 + .byte VOL , 40*mus_thankfor_mvl/mxv + .byte W03 + .byte 36*mus_thankfor_mvl/mxv + .byte W02 + .byte 31*mus_thankfor_mvl/mxv + .byte W03 + .byte 29*mus_thankfor_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 44*mus_thankfor_mvl/mxv + .byte N06 , Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte N03 , Cs5 , v080 + .byte W03 + .byte N44 , Cn5 , v112 + .byte W21 + .byte MOD , 7 + .byte VOL , 40*mus_thankfor_mvl/mxv + .byte W03 + .byte 37*mus_thankfor_mvl/mxv + .byte W02 + .byte 35*mus_thankfor_mvl/mxv + .byte W03 + .byte 32*mus_thankfor_mvl/mxv + .byte W03 + .byte 29*mus_thankfor_mvl/mxv + .byte W04 + .byte 28*mus_thankfor_mvl/mxv + .byte W02 + .byte 23*mus_thankfor_mvl/mxv + .byte W03 + .byte 22*mus_thankfor_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 44*mus_thankfor_mvl/mxv + .byte N24 , Bn4 + .byte W24 + .byte Cn5 + .byte W24 + .byte Dn5 + .byte W24 + .byte N12 , En5 + .byte W12 + .byte N03 , Ds5 , v084 + .byte W03 + .byte Dn5 , v076 + .byte W03 + .byte Cs5 , v072 + .byte W03 + .byte Cn5 + .byte W03 + .byte N06 , Cn5 , v112 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte N03 , Cs5 + .byte W03 + .byte N68 , Cn5 + .byte W21 + .byte MOD , 7 + .byte VOL , 37*mus_thankfor_mvl/mxv + .byte W03 + .byte 37*mus_thankfor_mvl/mxv + .byte W02 + .byte 34*mus_thankfor_mvl/mxv + .byte W03 + .byte 33*mus_thankfor_mvl/mxv + .byte W03 + .byte 29*mus_thankfor_mvl/mxv + .byte W04 + .byte 29*mus_thankfor_mvl/mxv + .byte W02 + .byte 25*mus_thankfor_mvl/mxv + .byte W03 + .byte 24*mus_thankfor_mvl/mxv + .byte W03 + .byte 22*mus_thankfor_mvl/mxv + .byte W04 + .byte 20*mus_thankfor_mvl/mxv + .byte W02 + .byte 18*mus_thankfor_mvl/mxv + .byte W03 + .byte 16*mus_thankfor_mvl/mxv + .byte W03 + .byte 14*mus_thankfor_mvl/mxv + .byte W04 + .byte 12*mus_thankfor_mvl/mxv + .byte W02 + .byte 11*mus_thankfor_mvl/mxv + .byte W03 + .byte 11*mus_thankfor_mvl/mxv + .byte W04 + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte VOL , 61*mus_thankfor_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte W03 + .byte N03 , Dn4 , v060 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 , v064 + .byte W03 + .byte An4 + .byte W03 + .byte Bn4 , v068 + .byte W03 + .byte Cn5 , v072 + .byte W03 + .byte Cs5 + .byte W03 + .byte N12 , Dn5 , v112 + .byte W12 + .byte N18 , Cn5 + .byte W18 + .byte N06 , Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N36 , Bn4 + .byte W36 + .byte N06 , As4 , v080 + .byte W06 + .byte Bn4 , v088 + .byte W06 + .byte N30 , Dn4 , v096 + .byte W36 + .byte N03 , Dn4 , v076 + .byte W06 + .byte N06 , Dn4 , v088 + .byte W06 + .byte N24 , An4 , v112 + .byte W24 + .byte Bn4 , v104 + .byte W24 + .byte Cn5 , v100 + .byte W24 + .byte N12 , Dn5 , v092 + .byte W12 + .byte N06 , Cs5 , v072 + .byte W06 + .byte Cn5 + .byte W06 + .byte Bn4 , v108 + .byte W06 + .byte An4 , v076 + .byte W06 + .byte Gn4 , v072 + .byte W06 + .byte An4 , v080 + .byte W06 + .byte N18 , Bn4 , v112 + .byte W18 + .byte N03 , Gn4 + .byte W06 + .byte N24 , Gn4 , v092 + .byte W24 + .byte N06 , Gn4 , v112 + .byte W06 + .byte Fs4 , v076 + .byte W06 + .byte En4 , v080 + .byte W06 + .byte Fs4 , v084 + .byte W06 + .byte N48 , Gn4 + .byte W96 + .byte N36 , Cn5 , v108 + .byte W36 + .byte N06 , Bn4 , v112 + .byte W06 + .byte Cn5 + .byte W06 + .byte N36 , En4 , v080 + .byte W36 + .byte N03 , En4 , v076 + .byte W06 + .byte En4 , v092 + .byte W06 + .byte N24 , Bn4 , v112 + .byte W24 + .byte Cn5 + .byte W24 + .byte Dn5 + .byte W24 + .byte N12 , En5 + .byte W12 + .byte N06 , An4 , v080 + .byte W06 + .byte N03 , En5 , v112 + .byte W03 + .byte Fs5 + .byte W03 + .byte N12 , Gn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N18 , En5 + .byte W18 + .byte N03 , Dn5 , v092 + .byte W06 + .byte N24 , Dn5 , v108 + .byte W36 + .byte N06 , Bn4 , v112 + .byte W06 + .byte Cn5 + .byte W06 + .byte N18 , Dn5 + .byte W24 + .byte N04 , Gn5 , v092 + .byte W04 + .byte An5 , v072 + .byte W04 + .byte Gn5 , v068 + .byte W04 + .byte Fs5 , v092 + .byte W04 + .byte Gn5 , v072 + .byte W04 + .byte Fs5 , v068 + .byte W04 + .byte En5 , v092 + .byte W04 + .byte Fs5 , v072 + .byte W04 + .byte En5 , v068 + .byte W04 + .byte Dn5 , v092 + .byte W04 + .byte En5 , v072 + .byte W04 + .byte Dn5 , v068 + .byte W04 + .byte Cn5 , v092 + .byte W04 + .byte Dn5 , v072 + .byte W04 + .byte Cn5 , v068 + .byte W04 + .byte Bn4 , v092 + .byte W04 + .byte Cn5 , v072 + .byte W04 + .byte Bn4 , v068 + .byte W04 + .byte VOICE , 60 + .byte VOL , 90*mus_thankfor_mvl/mxv + .byte PAN , c_v+0 + .byte N30 , Bn3 , v112 + .byte W12 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N12 , Cn4 + .byte W12 + .byte N06 , Dn4 , v108 + .byte W06 + .byte N36 , Bn3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N12 , Fn4 + .byte W12 + .byte En4 , v116 + .byte W12 + .byte N03 , Ds4 , v108 + .byte W03 + .byte En4 , v112 + .byte W03 + .byte N06 , Ds4 + .byte W06 + .byte Dn4 , v104 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte N30 , Bn3 , v096 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte VOICE , 48 + .byte VOL , 74*mus_thankfor_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte N12 , Cn4 , v092 + .byte W12 + .byte N06 , Dn4 , v100 + .byte W06 + .byte PAN , c_v+0 + .byte N30 , Cn4 , v112 + .byte W12 + .byte MOD , 4 + .byte W18 + .byte 0 + .byte N12 , Dn4 , v104 + .byte W12 + .byte N06 , En4 , v112 + .byte W06 + .byte Cn4 , v104 + .byte W06 + .byte Bn3 , v112 + .byte W06 + .byte N12 , Cn4 + .byte W18 + .byte N06 + .byte W06 + .byte Dn4 , v088 + .byte W06 + .byte En4 , v100 + .byte W06 + .byte N12 , Gn4 , v104 + .byte W12 + .byte Fs4 , v092 + .byte W12 + .byte N03 , En4 , v084 + .byte W03 + .byte Fs4 , v112 + .byte W03 + .byte N06 , En4 + .byte W06 + .byte Dn4 , v092 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte N12 , Dn4 , v096 + .byte W12 + .byte Cn4 , v112 + .byte W12 + .byte VOL , 67*mus_thankfor_mvl/mxv + .byte N12 , Bn3 + .byte W12 + .byte VOL , 80*mus_thankfor_mvl/mxv + .byte N12 , Cn4 + .byte W12 + .byte VOICE , 56 + .byte VOL , 75*mus_thankfor_mvl/mxv + .byte N30 , Bn4 + .byte W12 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N12 , Cn5 , v104 + .byte W12 + .byte N06 , Dn5 , v112 + .byte W06 + .byte N36 , Bn4 , v104 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Cn5 , v088 + .byte W06 + .byte Dn5 , v100 + .byte W06 + .byte N12 , Fn5 , v104 + .byte W12 + .byte En5 , v092 + .byte W12 + .byte Ds5 , v112 + .byte W12 + .byte En5 + .byte W12 + .byte N30 , Bn4 , v096 + .byte W12 + .byte MOD , 8 + .byte W18 + .byte VOICE , 48 + .byte VOL , 74*mus_thankfor_mvl/mxv + .byte MOD , 0 + .byte N12 , Cn5 , v092 + .byte W12 + .byte N06 , Dn5 , v100 + .byte W06 + .byte VOL , 81*mus_thankfor_mvl/mxv + .byte N12 , Cn5 , v112 + .byte W12 + .byte En4 , v084 + .byte W12 + .byte An4 , v088 + .byte W12 + .byte En4 , v076 + .byte W12 + .byte Gn4 , v104 + .byte W12 + .byte Cn4 , v112 + .byte W12 + .byte N03 , Gn4 + .byte W03 + .byte An4 + .byte W03 + .byte N06 , Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N24 , Bn4 + .byte W24 + .byte Cn5 + .byte W24 + .byte Cs5 + .byte W24 + .byte PAN , c_v+0 + .byte VOL , 64*mus_thankfor_mvl/mxv + .byte N12 , Dn5 + .byte W12 + .byte Gn4 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 60 + .byte VOL , 69*mus_thankfor_mvl/mxv + .byte N36 , An3 + .byte W36 + .byte N06 , Cs4 + .byte W12 + .byte N48 , En4 + .byte W24 + .byte VOL , 69*mus_thankfor_mvl/mxv + .byte MOD , 5 + .byte W02 + .byte VOL , 66*mus_thankfor_mvl/mxv + .byte W03 + .byte 60*mus_thankfor_mvl/mxv + .byte W03 + .byte 56*mus_thankfor_mvl/mxv + .byte W04 + .byte 54*mus_thankfor_mvl/mxv + .byte W02 + .byte 50*mus_thankfor_mvl/mxv + .byte W03 + .byte 47*mus_thankfor_mvl/mxv + .byte W03 + .byte 44*mus_thankfor_mvl/mxv + .byte W04 + .byte 69*mus_thankfor_mvl/mxv + .byte MOD , 0 + .byte N36 , Bn3 + .byte W36 + .byte N06 , Dn4 + .byte W12 + .byte N36 , Gn4 + .byte W12 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N72 , En4 + .byte W24 + .byte VOL , 69*mus_thankfor_mvl/mxv + .byte MOD , 6 + .byte W02 + .byte VOL , 66*mus_thankfor_mvl/mxv + .byte W03 + .byte 62*mus_thankfor_mvl/mxv + .byte W03 + .byte 56*mus_thankfor_mvl/mxv + .byte W06 + .byte 54*mus_thankfor_mvl/mxv + .byte W03 + .byte 53*mus_thankfor_mvl/mxv + .byte W03 + .byte 50*mus_thankfor_mvl/mxv + .byte W04 + .byte 48*mus_thankfor_mvl/mxv + .byte W05 + .byte 44*mus_thankfor_mvl/mxv + .byte W07 + .byte 41*mus_thankfor_mvl/mxv + .byte W05 + .byte 40*mus_thankfor_mvl/mxv + .byte W03 + .byte 37*mus_thankfor_mvl/mxv + .byte W04 + .byte 69*mus_thankfor_mvl/mxv + .byte MOD , 0 + .byte N24 , Dn4 + .byte W24 + .byte N72 , En4 + .byte W24 + .byte VOL , 69*mus_thankfor_mvl/mxv + .byte MOD , 6 + .byte W02 + .byte VOL , 66*mus_thankfor_mvl/mxv + .byte W03 + .byte 62*mus_thankfor_mvl/mxv + .byte W03 + .byte 60*mus_thankfor_mvl/mxv + .byte W04 + .byte 59*mus_thankfor_mvl/mxv + .byte W02 + .byte 56*mus_thankfor_mvl/mxv + .byte W03 + .byte 54*mus_thankfor_mvl/mxv + .byte W03 + .byte 50*mus_thankfor_mvl/mxv + .byte W04 + .byte 48*mus_thankfor_mvl/mxv + .byte W02 + .byte 47*mus_thankfor_mvl/mxv + .byte W03 + .byte 41*mus_thankfor_mvl/mxv + .byte W07 + .byte 37*mus_thankfor_mvl/mxv + .byte W02 + .byte 35*mus_thankfor_mvl/mxv + .byte W03 + .byte 34*mus_thankfor_mvl/mxv + .byte W07 + .byte 69*mus_thankfor_mvl/mxv + .byte MOD , 0 + .byte N21 , Dn4 + .byte W24 + .byte N72 , En4 + .byte W24 + .byte VOL , 66*mus_thankfor_mvl/mxv + .byte MOD , 6 + .byte W02 + .byte VOL , 66*mus_thankfor_mvl/mxv + .byte W03 + .byte 60*mus_thankfor_mvl/mxv + .byte W07 + .byte 59*mus_thankfor_mvl/mxv + .byte W02 + .byte 56*mus_thankfor_mvl/mxv + .byte W03 + .byte 54*mus_thankfor_mvl/mxv + .byte W07 + .byte 50*mus_thankfor_mvl/mxv + .byte W02 + .byte 48*mus_thankfor_mvl/mxv + .byte W03 + .byte 44*mus_thankfor_mvl/mxv + .byte W03 + .byte 41*mus_thankfor_mvl/mxv + .byte W04 + .byte 40*mus_thankfor_mvl/mxv + .byte W05 + .byte 37*mus_thankfor_mvl/mxv + .byte W07 + .byte 69*mus_thankfor_mvl/mxv + .byte MOD , 0 + .byte N21 , Dn4 + .byte W24 + .byte VOL , 6*mus_thankfor_mvl/mxv + .byte PAN , c_v+32 + .byte TIE , Cs4 + .byte W02 + .byte VOL , 7*mus_thankfor_mvl/mxv + .byte W03 + .byte 9*mus_thankfor_mvl/mxv + .byte W09 + .byte 10*mus_thankfor_mvl/mxv + .byte W03 + .byte 11*mus_thankfor_mvl/mxv + .byte W07 + .byte 12*mus_thankfor_mvl/mxv + .byte W02 + .byte 14*mus_thankfor_mvl/mxv + .byte W03 + .byte 15*mus_thankfor_mvl/mxv + .byte W03 + .byte 17*mus_thankfor_mvl/mxv + .byte W04 + .byte 18*mus_thankfor_mvl/mxv + .byte W02 + .byte 19*mus_thankfor_mvl/mxv + .byte W06 + .byte 22*mus_thankfor_mvl/mxv + .byte W06 + .byte 25*mus_thankfor_mvl/mxv + .byte W06 + .byte 28*mus_thankfor_mvl/mxv + .byte W04 + .byte 32*mus_thankfor_mvl/mxv + .byte W08 + .byte 37*mus_thankfor_mvl/mxv + .byte W04 + .byte 37*mus_thankfor_mvl/mxv + .byte W05 + .byte 40*mus_thankfor_mvl/mxv + .byte W03 + .byte 41*mus_thankfor_mvl/mxv + .byte W09 + .byte 44*mus_thankfor_mvl/mxv + .byte W07 + .byte W02 + .byte 47*mus_thankfor_mvl/mxv + .byte W03 + .byte 49*mus_thankfor_mvl/mxv + .byte W07 + .byte 51*mus_thankfor_mvl/mxv + .byte W02 + .byte 53*mus_thankfor_mvl/mxv + .byte W03 + .byte 55*mus_thankfor_mvl/mxv + .byte W03 + .byte 56*mus_thankfor_mvl/mxv + .byte W04 + .byte 59*mus_thankfor_mvl/mxv + .byte W02 + .byte 60*mus_thankfor_mvl/mxv + .byte W03 + .byte 62*mus_thankfor_mvl/mxv + .byte W07 + .byte 66*mus_thankfor_mvl/mxv + .byte W02 + .byte 69*mus_thankfor_mvl/mxv + .byte W03 + .byte 70*mus_thankfor_mvl/mxv + .byte W03 + .byte 74*mus_thankfor_mvl/mxv + .byte W04 + .byte 75*mus_thankfor_mvl/mxv + .byte W02 + .byte 78*mus_thankfor_mvl/mxv + .byte W03 + .byte 79*mus_thankfor_mvl/mxv + .byte W03 + .byte 81*mus_thankfor_mvl/mxv + .byte W06 + .byte 85*mus_thankfor_mvl/mxv + .byte W03 + .byte 85*mus_thankfor_mvl/mxv + .byte W03 + .byte 87*mus_thankfor_mvl/mxv + .byte W28 + .byte EOT + .byte N03 , An1 + .byte W96 + .byte FINE + +@********************** Track 5 **********************@ + +mus_thankfor_5: + .byte KEYSH , mus_thankfor_key+0 + .byte VOICE , 46 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 90*mus_thankfor_mvl/mxv + .byte PAN , c_v+28 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte c_v+30 + .byte W48 + .byte VOL , 56*mus_thankfor_mvl/mxv + .byte PAN , c_v-29 + .byte W12 + .byte N06 , Bn4 , v112 + .byte W12 + .byte Bn5 + .byte W12 + .byte An5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte An5 + .byte W12 + .byte Dn5 + .byte W12 + .byte VOL , 57*mus_thankfor_mvl/mxv + .byte PAN , c_v-32 + .byte N03 , Bn3 , v100 + .byte W03 + .byte Dn4 , v104 + .byte W03 + .byte Gn4 + .byte W03 + .byte An4 + .byte W03 + .byte PAN , c_v-24 + .byte N03 , Dn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte An4 + .byte W03 + .byte Bn4 + .byte W03 + .byte PAN , c_v-16 + .byte N03 , Gn4 + .byte W03 + .byte An4 + .byte W03 + .byte Bn4 + .byte W03 + .byte Dn5 + .byte W03 + .byte PAN , c_v-16 + .byte N03 , An4 + .byte W03 + .byte Bn4 , v092 + .byte W03 + .byte Dn5 , v096 + .byte W03 + .byte Fs5 + .byte W03 + .byte PAN , c_v+26 + .byte N03 , Bn5 , v100 + .byte W03 + .byte An5 , v096 + .byte W03 + .byte Gn5 + .byte W03 + .byte Dn5 + .byte W03 + .byte PAN , c_v+16 + .byte N03 , Gn5 + .byte W03 + .byte Dn5 + .byte W03 + .byte Bn4 , v092 + .byte W03 + .byte An4 + .byte W03 + .byte VOL , 57*mus_thankfor_mvl/mxv + .byte PAN , c_v+9 + .byte N06 , Bn4 , v088 + .byte W06 + .byte As4 , v084 + .byte W06 + .byte PAN , c_v-13 + .byte N06 , Bn4 + .byte W06 + .byte Dn5 , v112 + .byte W06 + .byte PAN , c_v-32 + .byte W12 + .byte N06 , Bn4 + .byte W12 + .byte An5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Dn5 + .byte W12 + .byte Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte N12 , Gn5 + .byte W12 + .byte VOL , 57*mus_thankfor_mvl/mxv + .byte N03 , Dn4 , v096 + .byte W03 + .byte Gn4 , v088 + .byte W03 + .byte Bn4 + .byte W03 + .byte Dn5 + .byte W03 + .byte Gn4 + .byte W03 + .byte Bn4 + .byte W03 + .byte Dn5 + .byte W03 + .byte Fs5 + .byte W03 + .byte PAN , c_v-25 + .byte N03 , Bn4 + .byte W03 + .byte Dn5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Gn5 + .byte W03 + .byte PAN , c_v-10 + .byte N03 , Dn5 + .byte W03 + .byte Fs5 + .byte W03 + .byte Gn5 + .byte W03 + .byte An5 , v092 + .byte W03 + .byte PAN , c_v+24 + .byte N03 , Bn5 , v096 + .byte W03 + .byte An5 + .byte W03 + .byte Gn5 , v088 + .byte W03 + .byte Dn5 + .byte W03 + .byte PAN , c_v+2 + .byte N03 , An5 + .byte W03 + .byte Gn5 + .byte W03 + .byte Dn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte PAN , c_v-32 + .byte VOL , 57*mus_thankfor_mvl/mxv + .byte N12 , An4 , v112 + .byte W12 + .byte N06 , Cn5 + .byte W12 + .byte An5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte Gn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte En5 + .byte W12 + .byte Cn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte N12 , Cn5 + .byte W36 + .byte VOL , 57*mus_thankfor_mvl/mxv + .byte PAN , c_v+26 + .byte N03 , Cn6 , v092 + .byte W03 + .byte An5 , v084 + .byte W03 + .byte Fs5 + .byte W03 + .byte En5 + .byte W03 + .byte An5 + .byte W03 + .byte Fs5 + .byte W03 + .byte En5 + .byte W03 + .byte Cn5 + .byte W03 + .byte PAN , c_v+8 + .byte N03 , Fs5 + .byte W03 + .byte En5 + .byte W03 + .byte PAN , c_v-16 + .byte N03 , Cn5 + .byte W03 + .byte An4 + .byte W03 + .byte PAN , c_v-33 + .byte N03 , En5 + .byte W03 + .byte Cn5 , v096 + .byte W03 + .byte An4 + .byte W03 + .byte Fs4 + .byte W03 + .byte VOL , 57*mus_thankfor_mvl/mxv + .byte N06 , An4 , v112 + .byte W12 + .byte Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte Cn5 + .byte W12 + .byte An4 + .byte W12 + .byte Cn5 + .byte W12 + .byte An5 + .byte W12 + .byte Gn5 + .byte W12 + .byte VOICE , 46 + .byte VOL , 57*mus_thankfor_mvl/mxv + .byte N03 , Dn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte An4 + .byte W03 + .byte Cn5 + .byte W03 + .byte N12 , Dn5 + .byte W36 + .byte PAN , c_v-39 + .byte N03 , Dn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte An3 + .byte W03 + .byte Cn4 + .byte W03 + .byte PAN , c_v-21 + .byte N03 , Dn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte An4 + .byte W03 + .byte Cn5 + .byte W03 + .byte PAN , c_v+42 + .byte N03 , Dn5 + .byte W03 + .byte Cn5 + .byte W03 + .byte An4 + .byte W03 + .byte Fs4 + .byte W03 + .byte PAN , c_v+25 + .byte N03 , Dn4 + .byte W03 + .byte Cn4 + .byte W03 + .byte PAN , c_v+7 + .byte N03 , An3 + .byte W03 + .byte Fs3 + .byte W03 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 62*mus_thankfor_mvl/mxv + .byte PAN , c_v-32 + .byte N06 , Gn4 , v096 + .byte W06 + .byte Bn3 , v072 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte PAN , c_v-16 + .byte N06 , Bn4 , v084 + .byte W06 + .byte En4 , v072 + .byte W06 + .byte PAN , c_v-7 + .byte N06 , Gn4 + .byte W06 + .byte Bn4 + .byte W06 + .byte PAN , c_v+32 + .byte N04 , Gn5 , v092 + .byte W04 + .byte En5 , v088 + .byte W04 + .byte Bn4 , v080 + .byte W04 + .byte En5 + .byte W04 + .byte Bn4 , v076 + .byte W04 + .byte Gn4 , v072 + .byte W04 + .byte PAN , c_v+15 + .byte N04 , Bn4 , v088 + .byte W04 + .byte Gn4 , v084 + .byte W04 + .byte En4 , v080 + .byte W04 + .byte PAN , c_v+0 + .byte N04 , Gn4 , v072 + .byte W04 + .byte En4 + .byte W04 + .byte Bn3 , v064 + .byte W04 + .byte W96 + .byte W96 + .byte VOICE , 48 + .byte W96 + .byte 47 + .byte VOL , 62*mus_thankfor_mvl/mxv + .byte PAN , c_v+0 + .byte W48 + .byte VOL , 88*mus_thankfor_mvl/mxv + .byte N04 , Dn2 , v056 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte Dn2 , v060 + .byte W04 + .byte Dn2 , v072 + .byte W04 + .byte Dn2 , v088 + .byte W04 + .byte Dn2 , v108 + .byte W04 + .byte Dn2 , v112 + .byte W04 + .byte Dn2 , v116 + .byte W04 + .byte VOL , 88*mus_thankfor_mvl/mxv + .byte N15 , Gn1 , v112 + .byte W36 + .byte N02 , Gn1 , v056 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N14 , Fs1 , v072 + .byte W36 + .byte N02 , Fs1 , v052 + .byte W04 + .byte Fs1 , v048 + .byte W04 + .byte Fs1 , v052 + .byte W04 + .byte N04 , Fn1 , v064 + .byte W24 + .byte En1 , v040 + .byte W12 + .byte Fn1 + .byte W12 + .byte En1 + .byte W12 + .byte Ds1 + .byte W12 + .byte VOL , 88*mus_thankfor_mvl/mxv + .byte N04 , En1 + .byte W12 + .byte N06 , En2 , v112 + .byte W12 + .byte N24 , An1 + .byte W36 + .byte N04 , Cn2 , v040 + .byte W04 + .byte Bn1 + .byte W08 + .byte N24 , Gs1 + .byte W36 + .byte N04 , Bn1 + .byte W04 + .byte Cn2 + .byte W08 + .byte Dn2 , v060 + .byte W24 + .byte Cn2 , v040 + .byte W24 + .byte VOICE , 47 + .byte N04 , Dn2 , v056 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte Dn2 , v060 + .byte W04 + .byte Dn2 , v072 + .byte W04 + .byte Dn2 , v088 + .byte W04 + .byte Dn2 , v108 + .byte W04 + .byte Dn2 , v112 + .byte W04 + .byte Dn2 , v116 + .byte W04 + .byte VOL , 100*mus_thankfor_mvl/mxv + .byte PAN , c_v+0 + .byte N24 , Gn1 , v112 + .byte W36 + .byte N02 , Gn1 , v080 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N24 , Fs1 , v112 + .byte W36 + .byte N02 , Fs1 , v080 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N24 , Fn1 , v112 + .byte W48 + .byte N08 , Bn1 , v096 + .byte W12 + .byte N12 , En1 , v112 + .byte W12 + .byte N06 , Bn1 , v080 + .byte W06 + .byte Bn1 , v112 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte N48 , An1 , v124 + .byte W48 + .byte N04 , Dn2 , v104 + .byte W12 + .byte An1 , v084 + .byte W12 + .byte Dn2 , v112 + .byte W12 + .byte N12 , An1 , v092 + .byte W12 + .byte VOICE , 47 + .byte VOL , 100*mus_thankfor_mvl/mxv + .byte PAN , c_v-24 + .byte N06 , Gn2 , v112 + .byte W12 + .byte N02 , Dn2 , v080 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte PAN , c_v+26 + .byte N06 , Fn2 , v112 + .byte W12 + .byte N02 , Dn2 , v080 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte PAN , c_v-23 + .byte N06 , Dn2 , v112 + .byte W12 + .byte N02 , Dn2 , v080 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte PAN , c_v+0 + .byte N02 , Gn1 + .byte W04 + .byte N02 + .byte W04 + .byte Gn1 , v084 + .byte W04 + .byte Gn1 , v096 + .byte W04 + .byte Gn1 , v108 + .byte W04 + .byte Gn1 , v124 + .byte W04 + .byte VOICE , 1 + .byte VOL , 49*mus_thankfor_mvl/mxv + .byte PAN , c_v-32 + .byte N06 , Cn3 , v112 + .byte W06 + .byte Gn3 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N03 , Cn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte N06 , Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Bn2 + .byte W06 + .byte En3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte En3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte As2 + .byte W06 + .byte An2 + .byte W06 + .byte As2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte As3 + .byte W06 + .byte N03 , Fn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte N06 , Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte N03 , An4 + .byte W03 + .byte As4 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N03 , En4 + .byte W03 + .byte Fn4 + .byte W03 + .byte N06 , En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte En4 + .byte W06 + .byte Cs4 + .byte W06 + .byte An4 + .byte W06 + .byte En4 + .byte W06 + .byte An3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N06 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N03 , Gn4 + .byte W03 + .byte An4 + .byte W03 + .byte N06 , Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte N03 , Fn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte N06 , Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte N03 , Cs4 + .byte W03 + .byte En4 + .byte W03 + .byte N06 , Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte En3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N03 , Bn4 + .byte W03 + .byte Dn5 + .byte W03 + .byte N06 , Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N03 , Gn4 + .byte W03 + .byte Bn4 + .byte W03 + .byte N06 , Gn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte VOICE , 14 + .byte N48 , An3 + .byte W48 + .byte En3 + .byte W48 + .byte Gn3 + .byte W48 + .byte Dn3 + .byte W48 +mus_thankfor_5_000: + .byte N72 , En3 , v112 + .byte W72 + .byte N24 , Dn3 + .byte W24 + .byte PEND + .byte PATT + .word mus_thankfor_5_000 + .byte N72 , En3 , v112 + .byte W96 + .byte VOICE , 48 + .byte VOL , 6*mus_thankfor_mvl/mxv + .byte TIE , An3 + .byte W08 + .byte VOL , 7*mus_thankfor_mvl/mxv + .byte W06 + .byte 9*mus_thankfor_mvl/mxv + .byte W06 + .byte 10*mus_thankfor_mvl/mxv + .byte W06 + .byte 11*mus_thankfor_mvl/mxv + .byte W03 + .byte 12*mus_thankfor_mvl/mxv + .byte W07 + .byte 14*mus_thankfor_mvl/mxv + .byte W02 + .byte 15*mus_thankfor_mvl/mxv + .byte W03 + .byte 17*mus_thankfor_mvl/mxv + .byte W07 + .byte 18*mus_thankfor_mvl/mxv + .byte W02 + .byte 19*mus_thankfor_mvl/mxv + .byte W06 + .byte 21*mus_thankfor_mvl/mxv + .byte W06 + .byte 22*mus_thankfor_mvl/mxv + .byte W03 + .byte 26*mus_thankfor_mvl/mxv + .byte W07 + .byte 28*mus_thankfor_mvl/mxv + .byte W02 + .byte 32*mus_thankfor_mvl/mxv + .byte W03 + .byte 35*mus_thankfor_mvl/mxv + .byte W03 + .byte 37*mus_thankfor_mvl/mxv + .byte W06 + .byte 40*mus_thankfor_mvl/mxv + .byte W03 + .byte 41*mus_thankfor_mvl/mxv + .byte W03 + .byte 44*mus_thankfor_mvl/mxv + .byte W04 + .byte W02 + .byte 47*mus_thankfor_mvl/mxv + .byte W03 + .byte 48*mus_thankfor_mvl/mxv + .byte W03 + .byte 50*mus_thankfor_mvl/mxv + .byte W04 + .byte 51*mus_thankfor_mvl/mxv + .byte W02 + .byte 53*mus_thankfor_mvl/mxv + .byte W03 + .byte 56*mus_thankfor_mvl/mxv + .byte W03 + .byte 59*mus_thankfor_mvl/mxv + .byte W06 + .byte 62*mus_thankfor_mvl/mxv + .byte W03 + .byte 64*mus_thankfor_mvl/mxv + .byte W03 + .byte 66*mus_thankfor_mvl/mxv + .byte W04 + .byte 69*mus_thankfor_mvl/mxv + .byte W02 + .byte 70*mus_thankfor_mvl/mxv + .byte W06 + .byte 73*mus_thankfor_mvl/mxv + .byte W04 + .byte 74*mus_thankfor_mvl/mxv + .byte W02 + .byte 75*mus_thankfor_mvl/mxv + .byte W03 + .byte 78*mus_thankfor_mvl/mxv + .byte W03 + .byte 79*mus_thankfor_mvl/mxv + .byte W06 + .byte 81*mus_thankfor_mvl/mxv + .byte W03 + .byte 83*mus_thankfor_mvl/mxv + .byte W03 + .byte 85*mus_thankfor_mvl/mxv + .byte W04 + .byte 85*mus_thankfor_mvl/mxv + .byte W24 + .byte EOT + .byte VOICE , 47 + .byte VOL , 100*mus_thankfor_mvl/mxv + .byte N24 , An1 + .byte W96 + .byte FINE + +@********************** Track 6 **********************@ + +mus_thankfor_6: + .byte KEYSH , mus_thankfor_key+0 + .byte VOICE , 4 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-61 + .byte VOL , 44*mus_thankfor_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_thankfor_6_000: + .byte VOL , 30*mus_thankfor_mvl/mxv + .byte W12 + .byte N24 , Dn3 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W12 + .byte PEND +mus_thankfor_6_001: + .byte W12 + .byte N24 , Dn3 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W12 + .byte PEND + .byte PATT + .word mus_thankfor_6_001 + .byte W12 + .byte N24 , Bn2 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W12 +mus_thankfor_6_002: + .byte W12 + .byte N24 , En3 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W12 + .byte PEND + .byte PATT + .word mus_thankfor_6_002 + .byte W12 + .byte N24 , Fs3 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte VOL , 10*mus_thankfor_mvl/mxv + .byte N48 , Dn3 + .byte W06 + .byte VOL , 10*mus_thankfor_mvl/mxv + .byte W02 + .byte 12*mus_thankfor_mvl/mxv + .byte W04 + .byte 15*mus_thankfor_mvl/mxv + .byte W02 + .byte 20*mus_thankfor_mvl/mxv + .byte W03 + .byte 24*mus_thankfor_mvl/mxv + .byte W03 + .byte 29*mus_thankfor_mvl/mxv + .byte W04 + .byte 33*mus_thankfor_mvl/mxv + .byte W02 + .byte 40*mus_thankfor_mvl/mxv + .byte W03 + .byte 48*mus_thankfor_mvl/mxv + .byte W03 + .byte 52*mus_thankfor_mvl/mxv + .byte W04 + .byte 53*mus_thankfor_mvl/mxv + .byte W02 + .byte 57*mus_thankfor_mvl/mxv + .byte W03 + .byte 61*mus_thankfor_mvl/mxv + .byte W03 + .byte 62*mus_thankfor_mvl/mxv + .byte W04 + .byte 10*mus_thankfor_mvl/mxv + .byte N48 , An3 + .byte W03 + .byte VOL , 11*mus_thankfor_mvl/mxv + .byte W02 + .byte 16*mus_thankfor_mvl/mxv + .byte W03 + .byte 23*mus_thankfor_mvl/mxv + .byte W04 + .byte 27*mus_thankfor_mvl/mxv + .byte W02 + .byte 31*mus_thankfor_mvl/mxv + .byte W03 + .byte 36*mus_thankfor_mvl/mxv + .byte W03 + .byte 41*mus_thankfor_mvl/mxv + .byte W04 + .byte 48*mus_thankfor_mvl/mxv + .byte W02 + .byte 49*mus_thankfor_mvl/mxv + .byte W03 + .byte 56*mus_thankfor_mvl/mxv + .byte W03 + .byte 61*mus_thankfor_mvl/mxv + .byte W04 + .byte 62*mus_thankfor_mvl/mxv + .byte W12 + .byte PATT + .word mus_thankfor_6_000 + .byte PATT + .word mus_thankfor_6_001 + .byte W12 + .byte N24 , Dn3 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte N06 , Bn3 + .byte W12 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W12 +mus_thankfor_6_003: + .byte W12 + .byte N24 , En4 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W12 + .byte PEND + .byte PATT + .word mus_thankfor_6_003 + .byte W12 + .byte N24 , Fs4 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte W96 + .byte Dn3 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte Gs3 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte En3 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte An3 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte Dn4 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte Gs4 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte En4 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte An3 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte Gn3 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte N12 , An4 + .byte W03 + .byte VOL , 37*mus_thankfor_mvl/mxv + .byte W09 + .byte VOICE , 4 + .byte VOL , 37*mus_thankfor_mvl/mxv + .byte N03 , Gs4 + .byte W03 + .byte N44 , Gn4 + .byte W21 + .byte MOD , 7 + .byte W24 + .byte N24 , Fs4 + .byte W24 + .byte MOD , 0 + .byte N12 , Dn4 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N24 , Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte Fs4 + .byte W24 + .byte N12 , Gn4 + .byte W12 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N36 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , An4 + .byte W24 + .byte N15 , Gn4 + .byte W12 + .byte MOD , 0 + .byte W06 + .byte N03 , En4 + .byte W06 + .byte Fn4 + .byte W03 + .byte En4 + .byte W03 + .byte N06 , Ds4 + .byte W06 + .byte N36 , En4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Ds4 + .byte W24 + .byte MOD , 0 + .byte N24 , En4 + .byte W24 + .byte N36 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N06 , Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N03 , Gs4 + .byte W03 + .byte N44 , Gn4 + .byte W21 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Fs4 + .byte W24 + .byte Gn4 + .byte W24 + .byte An4 + .byte W24 + .byte N12 , Cn5 + .byte W12 + .byte N03 , Bn4 , v096 + .byte W03 + .byte As4 + .byte W03 + .byte An4 + .byte W03 + .byte Gs4 + .byte W03 + .byte N06 , An4 , v112 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N03 , As4 + .byte W03 + .byte N68 , An4 + .byte W21 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte N48 , Dn3 + .byte W15 + .byte VOL , 45*mus_thankfor_mvl/mxv + .byte W02 + .byte 44*mus_thankfor_mvl/mxv + .byte W03 + .byte 41*mus_thankfor_mvl/mxv + .byte W03 + .byte 40*mus_thankfor_mvl/mxv + .byte W03 + .byte 37*mus_thankfor_mvl/mxv + .byte W03 + .byte 35*mus_thankfor_mvl/mxv + .byte W03 + .byte 32*mus_thankfor_mvl/mxv + .byte W03 + .byte 29*mus_thankfor_mvl/mxv + .byte W03 + .byte 27*mus_thankfor_mvl/mxv + .byte W03 + .byte 24*mus_thankfor_mvl/mxv + .byte W03 + .byte 22*mus_thankfor_mvl/mxv + .byte W04 + .byte 40*mus_thankfor_mvl/mxv + .byte N12 , Cn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte Dn2 + .byte W12 + .byte VOICE , 68 + .byte VOL , 40*mus_thankfor_mvl/mxv + .byte N06 , Gn1 + .byte W06 + .byte Dn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte Dn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte As2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte An2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte En2 + .byte W06 + .byte Fs2 + .byte W06 + .byte En2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Dn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte An2 + .byte W06 + .byte Gn2 + .byte W06 + .byte An2 + .byte W06 + .byte Bn2 + .byte W06 + .byte An2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte An2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte An2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N03 , En2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Gn2 + .byte W06 + .byte An2 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Gn2 + .byte W06 + .byte En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte En2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte An2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Bn2 + .byte W06 + .byte N09 , An2 + .byte W06 + .byte N06 , Gn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte An2 + .byte W06 + .byte W06 + .byte Fs2 + .byte W06 + .byte En2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte An2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W18 + .byte Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N18 , Fs3 + .byte W96 + .byte VOICE , 84 + .byte N32 , Gn3 + .byte W12 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte W06 + .byte N04 + .byte W04 + .byte Gn3 , v096 + .byte W04 + .byte N04 + .byte W04 + .byte N32 , Fs3 , v112 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N04 + .byte W04 + .byte Fs3 , v096 + .byte W04 + .byte N04 + .byte W04 + .byte N24 , Gs3 , v112 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N03 , En3 + .byte W03 + .byte Fs3 + .byte W03 + .byte N06 , En3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Gs2 + .byte W06 + .byte Bn2 + .byte W06 + .byte An2 + .byte W06 + .byte Gs2 + .byte W06 + .byte An2 + .byte W06 + .byte Bn2 + .byte W06 + .byte En3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte W96 + .byte W96 + .byte N30 , Gn3 + .byte W12 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte N12 , Cn4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte N36 , Fs3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N36 , Fn3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte W96 + .byte W96 + .byte VOICE , 68 + .byte PAN , c_v-62 + .byte W12 + .byte N12 , Gn3 , v116 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En4 , v088 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Gn3 , v112 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn4 , v084 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Gn3 , v112 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En4 , v088 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Gn3 , v112 + .byte W12 + .byte PAN , c_v-62 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En4 , v092 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Gn3 , v112 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn4 , v092 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Gn3 , v112 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En4 , v092 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Gn3 , v112 + .byte W12 + .byte PAN , c_v-62 + .byte W12 + .byte N12 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn4 , v096 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Gn3 , v112 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fn4 , v096 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Gn3 , v112 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En4 , v096 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Gn3 , v112 + .byte W12 + .byte PAN , c_v-62 + .byte W12 + .byte N12 , An3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , An4 , v096 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , An3 , v112 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Gn4 , v096 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , An3 , v112 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En4 , v092 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , An3 , v112 + .byte W12 + .byte PAN , c_v-62 + .byte W15 + .byte N12 + .byte W09 + .byte PAN , c_v+63 + .byte N12 , Fn4 , v096 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , An3 , v112 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En4 , v096 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , An3 , v112 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fn4 , v092 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , An3 , v112 + .byte W12 + .byte PAN , c_v-62 + .byte W15 + .byte N12 + .byte W09 + .byte PAN , c_v+63 + .byte N12 , Fn4 , v088 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , An3 , v112 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , En4 , v092 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , An3 , v112 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fn4 , v092 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , An3 , v112 + .byte W12 + .byte PAN , c_v-62 + .byte W12 + .byte N12 , Gn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Dn4 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Gn3 + .byte W12 + .byte PAN , c_v+63 + .byte W12 + .byte c_v-62 + .byte N12 , Dn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Bn3 + .byte W12 + .byte PAN , c_v-62 + .byte N12 , Dn3 + .byte W12 + .byte VOICE , 4 + .byte VOL , 37*mus_thankfor_mvl/mxv + .byte W12 + .byte N12 , Cs2 + .byte W12 + .byte En2 + .byte W12 + .byte An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte En3 + .byte W12 + .byte An3 + .byte W12 + .byte En3 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W06 + .byte MOD , 6 + .byte W06 +mus_thankfor_6_004: + .byte MOD , 0 + .byte W12 + .byte N12 , Cs2 , v112 + .byte W12 + .byte En2 + .byte W12 + .byte An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte En3 + .byte W12 + .byte An3 + .byte W12 + .byte En3 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte PEND + .byte PATT + .word mus_thankfor_6_004 + .byte PATT + .word mus_thankfor_6_004 + .byte VOICE , 81 + .byte VOL , 5*mus_thankfor_mvl/mxv + .byte MOD , 0 + .byte TIE , En2 , v112 + .byte W02 + .byte VOL , 6*mus_thankfor_mvl/mxv + .byte W56 + .byte W02 + .byte 7*mus_thankfor_mvl/mxv + .byte W20 + .byte 7*mus_thankfor_mvl/mxv + .byte W09 + .byte 8*mus_thankfor_mvl/mxv + .byte W07 + .byte 10*mus_thankfor_mvl/mxv + .byte W02 + .byte 11*mus_thankfor_mvl/mxv + .byte W03 + .byte 14*mus_thankfor_mvl/mxv + .byte W03 + .byte 16*mus_thankfor_mvl/mxv + .byte W04 + .byte 18*mus_thankfor_mvl/mxv + .byte W02 + .byte 22*mus_thankfor_mvl/mxv + .byte W03 + .byte 24*mus_thankfor_mvl/mxv + .byte W03 + .byte 28*mus_thankfor_mvl/mxv + .byte W04 + .byte 29*mus_thankfor_mvl/mxv + .byte W02 + .byte 31*mus_thankfor_mvl/mxv + .byte W03 + .byte 33*mus_thankfor_mvl/mxv + .byte W03 + .byte 34*mus_thankfor_mvl/mxv + .byte W04 + .byte 36*mus_thankfor_mvl/mxv + .byte W02 + .byte 41*mus_thankfor_mvl/mxv + .byte W03 + .byte 46*mus_thankfor_mvl/mxv + .byte W03 + .byte 47*mus_thankfor_mvl/mxv + .byte W04 + .byte 50*mus_thankfor_mvl/mxv + .byte W02 + .byte 54*mus_thankfor_mvl/mxv + .byte W03 + .byte 59*mus_thankfor_mvl/mxv + .byte W03 + .byte 66*mus_thankfor_mvl/mxv + .byte W04 + .byte 75*mus_thankfor_mvl/mxv + .byte W02 + .byte 81*mus_thankfor_mvl/mxv + .byte W03 + .byte 84*mus_thankfor_mvl/mxv + .byte W03 + .byte 88*mus_thankfor_mvl/mxv + .byte W28 + .byte EOT + .byte W96 + .byte FINE + +@********************** Track 7 **********************@ + +mus_thankfor_7: + .byte KEYSH , mus_thankfor_key+0 + .byte VOICE , 5 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 43*mus_thankfor_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_thankfor_7_000: + .byte VOL , 30*mus_thankfor_mvl/mxv + .byte N24 , Gn3 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte Fs3 + .byte W24 + .byte Gn3 + .byte W24 + .byte PEND +mus_thankfor_7_001: + .byte N24 , Gn3 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte An3 + .byte W24 + .byte Fs3 + .byte W24 + .byte PEND +mus_thankfor_7_002: + .byte N24 , Gn3 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte Fs3 + .byte W24 + .byte Gn3 + .byte W24 + .byte PEND + .byte En3 + .byte W24 + .byte N24 + .byte W24 + .byte Fs3 + .byte W24 + .byte En3 + .byte W24 +mus_thankfor_7_003: + .byte N24 , An3 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte Gs3 + .byte W24 + .byte An3 + .byte W24 + .byte PEND + .byte PATT + .word mus_thankfor_7_003 + .byte N24 , An3 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte VOL , 10*mus_thankfor_mvl/mxv + .byte N48 , Fs3 + .byte W06 + .byte VOL , 10*mus_thankfor_mvl/mxv + .byte W02 + .byte 12*mus_thankfor_mvl/mxv + .byte W04 + .byte 15*mus_thankfor_mvl/mxv + .byte W02 + .byte 20*mus_thankfor_mvl/mxv + .byte W03 + .byte 24*mus_thankfor_mvl/mxv + .byte W03 + .byte 29*mus_thankfor_mvl/mxv + .byte W04 + .byte 33*mus_thankfor_mvl/mxv + .byte W02 + .byte 40*mus_thankfor_mvl/mxv + .byte W03 + .byte 48*mus_thankfor_mvl/mxv + .byte W03 + .byte 52*mus_thankfor_mvl/mxv + .byte W04 + .byte 53*mus_thankfor_mvl/mxv + .byte W02 + .byte 57*mus_thankfor_mvl/mxv + .byte W03 + .byte 61*mus_thankfor_mvl/mxv + .byte W03 + .byte 62*mus_thankfor_mvl/mxv + .byte W04 + .byte 10*mus_thankfor_mvl/mxv + .byte N48 , Cn4 + .byte W03 + .byte VOL , 11*mus_thankfor_mvl/mxv + .byte W02 + .byte 16*mus_thankfor_mvl/mxv + .byte W03 + .byte 23*mus_thankfor_mvl/mxv + .byte W04 + .byte 27*mus_thankfor_mvl/mxv + .byte W02 + .byte 31*mus_thankfor_mvl/mxv + .byte W03 + .byte 36*mus_thankfor_mvl/mxv + .byte W03 + .byte 41*mus_thankfor_mvl/mxv + .byte W04 + .byte 48*mus_thankfor_mvl/mxv + .byte W02 + .byte 49*mus_thankfor_mvl/mxv + .byte W03 + .byte 56*mus_thankfor_mvl/mxv + .byte W03 + .byte 61*mus_thankfor_mvl/mxv + .byte W04 + .byte 62*mus_thankfor_mvl/mxv + .byte W12 + .byte PATT + .word mus_thankfor_7_000 + .byte PATT + .word mus_thankfor_7_001 + .byte PATT + .word mus_thankfor_7_002 + .byte N06 , En4 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte Fs4 + .byte W24 + .byte En4 + .byte W24 +mus_thankfor_7_004: + .byte N24 , An4 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte Gs4 + .byte W24 + .byte An4 + .byte W24 + .byte PEND + .byte PATT + .word mus_thankfor_7_004 + .byte N24 , An4 , v112 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte W96 + .byte VOL , 31*mus_thankfor_mvl/mxv + .byte N24 , Gn3 + .byte W24 + .byte N24 + .byte W24 + .byte Fs3 + .byte W24 + .byte N24 + .byte W24 + .byte Bn3 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte An3 + .byte W24 + .byte N24 + .byte W24 + .byte Gs3 + .byte W24 + .byte N24 + .byte W24 + .byte Cn4 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte Gn4 + .byte W24 + .byte N24 + .byte W24 + .byte Fs4 + .byte W24 + .byte N24 + .byte W24 + .byte Bn4 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte An4 + .byte W24 + .byte N24 + .byte W24 + .byte Cn4 + .byte W24 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte An3 + .byte W24 + .byte Bn3 + .byte W24 + .byte Gn3 + .byte W24 + .byte VOICE , 80 + .byte VOL , 41*mus_thankfor_mvl/mxv + .byte N12 , Gn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte An2 + .byte W12 + .byte N24 , Bn2 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , An2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N24 , Fs2 + .byte W24 + .byte Dn2 + .byte W24 + .byte Fs2 + .byte W24 + .byte Gn2 + .byte W24 + .byte N12 , En2 + .byte W12 + .byte Bn1 + .byte W12 + .byte En2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N24 , Bn2 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , An2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N24 , En2 + .byte W24 + .byte Fs2 + .byte W24 + .byte Gn2 + .byte W24 + .byte Bn2 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , An2 + .byte W12 + .byte En2 + .byte W12 + .byte An2 + .byte W12 + .byte Bn2 + .byte W12 + .byte N24 , Cn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte N24 , Fs2 + .byte W24 + .byte Gn2 + .byte W24 + .byte An2 + .byte W24 + .byte Cn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N12 , Fs2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte An2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte An2 + .byte W12 + .byte Fs2 + .byte W12 + .byte N36 , Dn2 + .byte W12 + .byte MOD , 7 + .byte W03 + .byte VOL , 45*mus_thankfor_mvl/mxv + .byte W02 + .byte 41*mus_thankfor_mvl/mxv + .byte W03 + .byte 37*mus_thankfor_mvl/mxv + .byte W03 + .byte 36*mus_thankfor_mvl/mxv + .byte W03 + .byte 31*mus_thankfor_mvl/mxv + .byte W03 + .byte 25*mus_thankfor_mvl/mxv + .byte W03 + .byte 23*mus_thankfor_mvl/mxv + .byte W04 + .byte VOICE , 105 + .byte VOL , 37*mus_thankfor_mvl/mxv + .byte MOD , 0 + .byte N03 , Cn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte An3 + .byte W03 + .byte Gs3 + .byte W03 + .byte Gn3 + .byte W03 + .byte An3 + .byte W03 + .byte N06 , Gn3 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte VOL , 37*mus_thankfor_mvl/mxv + .byte N36 , Gn3 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N06 , Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N30 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte N24 , Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte Fs4 + .byte W24 + .byte N12 , Gn4 + .byte W12 + .byte N06 , Fs4 , v084 + .byte W06 + .byte En4 , v072 + .byte W06 + .byte Dn4 , v112 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N18 , Dn4 + .byte W24 + .byte N24 + .byte W24 + .byte N06 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte N36 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N06 , An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N32 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N06 , Fs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte N21 , Cn4 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 , Gn4 + .byte W24 + .byte An4 + .byte W24 + .byte Bn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N06 , Cn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N12 , An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N18 , Fs4 + .byte W18 + .byte N03 , An4 + .byte W06 + .byte N24 + .byte W36 + .byte N06 , Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte N18 , Fs4 + .byte W96 + .byte VOICE , 86 + .byte PAN , c_v+0 + .byte VOL , 50*mus_thankfor_mvl/mxv + .byte N32 , Gn1 + .byte W36 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 , Fs1 + .byte W36 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N24 , Fn1 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte Fn1 + .byte W12 + .byte En1 + .byte W12 + .byte Ds1 + .byte W12 + .byte En1 + .byte W12 + .byte Gs1 + .byte W12 + .byte N36 , An1 + .byte W36 + .byte N06 , Cn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte N36 , Gs1 + .byte W36 + .byte N06 , Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte N24 , Dn2 + .byte W24 + .byte Cn2 , v096 + .byte W24 + .byte An1 , v108 + .byte W24 + .byte N12 , Fs1 , v112 + .byte W12 + .byte Dn1 + .byte W12 + .byte N32 , Gn1 + .byte W36 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N32 , Fs1 + .byte W36 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N36 , Fn1 + .byte W36 + .byte N12 + .byte W12 + .byte N36 , En1 + .byte W36 + .byte N06 , Fn1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N36 , An1 + .byte W36 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Dn2 + .byte W12 + .byte An1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Fs2 + .byte W12 + .byte N24 , Gn2 + .byte W24 + .byte Fn2 + .byte W24 + .byte Dn2 + .byte W24 + .byte N12 , Gn1 + .byte W12 + .byte Bn1 + .byte W12 + .byte PAN , c_v+0 + .byte VOL , 34*mus_thankfor_mvl/mxv + .byte N36 , Cn2 + .byte W36 + .byte N06 + .byte W12 + .byte N48 + .byte W48 + .byte N36 , Bn1 + .byte W36 + .byte N06 + .byte W12 + .byte N48 + .byte W48 + .byte N36 , As1 + .byte W36 + .byte N06 + .byte W12 + .byte N48 + .byte W48 + .byte N36 , An1 + .byte W36 + .byte N06 + .byte W12 + .byte N48 + .byte W48 + .byte N36 , Dn2 + .byte W36 + .byte N06 + .byte W12 + .byte N48 + .byte W48 + .byte N36 , Cs2 + .byte W36 + .byte N06 + .byte W12 + .byte N48 + .byte W48 + .byte N36 , Bn1 + .byte W36 + .byte N06 + .byte W12 + .byte N36 , Gn2 + .byte W36 + .byte N06 + .byte W12 +mus_thankfor_7_005: + .byte N36 , An2 , v112 + .byte W36 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte Gn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte En2 + .byte W12 + .byte PEND + .byte N36 , Gn2 + .byte W36 + .byte N06 + .byte W12 + .byte N12 + .byte W12 + .byte Fn2 + .byte W12 + .byte En2 + .byte W12 + .byte Gn2 + .byte W12 + .byte PATT + .word mus_thankfor_7_005 + .byte PATT + .word mus_thankfor_7_005 + .byte PATT + .word mus_thankfor_7_005 + .byte VOICE , 109 + .byte VOL , 7*mus_thankfor_mvl/mxv + .byte TIE , An4 , v112 + .byte W02 + .byte VOL , 7*mus_thankfor_mvl/mxv + .byte W36 + .byte 7*mus_thankfor_mvl/mxv + .byte W30 + .byte 7*mus_thankfor_mvl/mxv + .byte W06 + .byte 8*mus_thankfor_mvl/mxv + .byte W03 + .byte 9*mus_thankfor_mvl/mxv + .byte W03 + .byte 10*mus_thankfor_mvl/mxv + .byte W09 + .byte 11*mus_thankfor_mvl/mxv + .byte W03 + .byte 11*mus_thankfor_mvl/mxv + .byte W01 + .byte 10*mus_thankfor_mvl/mxv + .byte W03 + .byte 10*mus_thankfor_mvl/mxv + .byte W02 + .byte 14*mus_thankfor_mvl/mxv + .byte W06 + .byte 17*mus_thankfor_mvl/mxv + .byte W04 + .byte 18*mus_thankfor_mvl/mxv + .byte W02 + .byte 21*mus_thankfor_mvl/mxv + .byte W03 + .byte 24*mus_thankfor_mvl/mxv + .byte W03 + .byte 29*mus_thankfor_mvl/mxv + .byte W04 + .byte 29*mus_thankfor_mvl/mxv + .byte W02 + .byte 33*mus_thankfor_mvl/mxv + .byte W03 + .byte 34*mus_thankfor_mvl/mxv + .byte W03 + .byte 40*mus_thankfor_mvl/mxv + .byte W04 + .byte 41*mus_thankfor_mvl/mxv + .byte W02 + .byte 44*mus_thankfor_mvl/mxv + .byte W03 + .byte 49*mus_thankfor_mvl/mxv + .byte W03 + .byte 54*mus_thankfor_mvl/mxv + .byte W04 + .byte 57*mus_thankfor_mvl/mxv + .byte W02 + .byte 60*mus_thankfor_mvl/mxv + .byte W03 + .byte 66*mus_thankfor_mvl/mxv + .byte W03 + .byte 67*mus_thankfor_mvl/mxv + .byte W04 + .byte 72*mus_thankfor_mvl/mxv + .byte W02 + .byte 74*mus_thankfor_mvl/mxv + .byte W03 + .byte 78*mus_thankfor_mvl/mxv + .byte W03 + .byte 82*mus_thankfor_mvl/mxv + .byte W04 + .byte 87*mus_thankfor_mvl/mxv + .byte W24 + .byte EOT + .byte W96 + .byte FINE + +@********************** Track 8 **********************@ + +mus_thankfor_8: + .byte KEYSH , mus_thankfor_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 70*mus_thankfor_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte N48 , Gn2 , v096 + .byte W48 + .byte An2 , v112 + .byte W96 + .byte W84 + .byte N12 , Gn2 , v076 + .byte W12 + .byte N48 , An2 , v104 + .byte W96 + .byte W84 + .byte N12 , Gn2 , v080 + .byte W12 + .byte N48 , An2 , v112 + .byte W96 + .byte W84 + .byte N12 , Gn2 , v076 + .byte W12 + .byte N48 , An2 , v112 + .byte W96 + .byte W96 + .byte N48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , Cn1 + .byte W96 + .byte FINE + +@********************** Track 9 **********************@ + +mus_thankfor_9: + .byte KEYSH , mus_thankfor_key+0 + .byte VOICE , 82 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 37*mus_thankfor_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 6 + .byte W48 + .byte PAN , c_v+0 + .byte VOL , 21*mus_thankfor_mvl/mxv + .byte BEND , c_v+1 + .byte W24 + .byte N12 , Gn4 , v112 + .byte W12 + .byte An4 + .byte W12 + .byte N03 , Cn5 , v080 + .byte W03 + .byte N68 , Bn4 , v112 + .byte W21 + .byte MOD , 5 + .byte W48 + .byte 0 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N24 , An4 + .byte W24 + .byte Bn4 , v104 + .byte W24 + .byte Cn5 + .byte W24 + .byte N12 , Dn5 + .byte W12 + .byte N06 , Cs5 , v108 + .byte W06 + .byte Cn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 , v112 + .byte W06 + .byte N72 , Bn4 + .byte W24 + .byte MOD , 5 + .byte W48 + .byte 0 + .byte W12 + .byte N03 , Gs4 , v096 + .byte W03 + .byte Gn4 , v112 + .byte W03 + .byte N06 , Fs4 + .byte W06 + .byte N60 , Gn4 + .byte W24 + .byte MOD , 5 + .byte W36 + .byte 0 + .byte W21 + .byte N03 , Bn4 + .byte W03 + .byte N36 , Cn5 + .byte W24 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N06 , Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte N03 , Cs5 , v080 + .byte W03 + .byte N44 , Cn5 , v112 + .byte W21 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N24 , Bn4 + .byte W24 + .byte Cn5 + .byte W24 + .byte Dn5 + .byte W24 + .byte N12 , En5 + .byte W12 + .byte N03 , Ds5 , v084 + .byte W03 + .byte Dn5 , v076 + .byte W03 + .byte Cs5 , v072 + .byte W03 + .byte Cn5 + .byte W03 + .byte N06 , Cn5 , v112 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte N03 , Cs5 + .byte W03 + .byte N68 , Cn5 + .byte W21 + .byte MOD , 5 + .byte W48 + .byte VOICE , 74 + .byte VOL , 25*mus_thankfor_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte W03 + .byte N03 , Dn4 , v060 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 , v064 + .byte W03 + .byte An4 + .byte W03 + .byte Bn4 , v068 + .byte W03 + .byte Cn5 , v072 + .byte W03 + .byte Cs5 + .byte W03 + .byte N12 , Dn5 , v112 + .byte W12 + .byte N18 , Cn5 + .byte W18 + .byte N06 , Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte N36 , Bn4 + .byte W36 + .byte N06 , As4 , v080 + .byte W06 + .byte Bn4 , v088 + .byte W06 + .byte N30 , Dn4 , v096 + .byte W36 + .byte N03 , Dn4 , v076 + .byte W06 + .byte N06 , Dn4 , v088 + .byte W06 + .byte N24 , An4 , v112 + .byte W24 + .byte Bn4 , v104 + .byte W24 + .byte Cn5 , v100 + .byte W24 + .byte N12 , Dn5 , v092 + .byte W12 + .byte N06 , Cs5 , v072 + .byte W06 + .byte Cn5 + .byte W06 + .byte Bn4 , v108 + .byte W06 + .byte An4 , v076 + .byte W06 + .byte Gn4 , v072 + .byte W06 + .byte An4 , v080 + .byte W06 + .byte N18 , Bn4 , v112 + .byte W18 + .byte N03 , Gn4 + .byte W06 + .byte N24 , Gn4 , v092 + .byte W24 + .byte N06 , Gn4 , v112 + .byte W06 + .byte Fs4 , v076 + .byte W06 + .byte En4 , v080 + .byte W06 + .byte Fs4 , v084 + .byte W06 + .byte N48 , Gn4 + .byte W96 + .byte N36 , Cn5 , v108 + .byte W36 + .byte N06 , Bn4 , v112 + .byte W06 + .byte Cn5 + .byte W06 + .byte N36 , En4 , v080 + .byte W36 + .byte N03 , En4 , v076 + .byte W06 + .byte En4 , v092 + .byte W06 + .byte N24 , Bn4 , v112 + .byte W24 + .byte Cn5 + .byte W24 + .byte Dn5 + .byte W24 + .byte N12 , En5 + .byte W12 + .byte N06 , An4 , v080 + .byte W06 + .byte N03 , En5 , v112 + .byte W03 + .byte Fs5 + .byte W03 + .byte N12 , Gn5 + .byte W12 + .byte Fs5 + .byte W12 + .byte N18 , En5 + .byte W18 + .byte N03 , Dn5 + .byte W06 + .byte N24 , Dn5 , v096 + .byte W36 + .byte N06 , Bn4 , v112 + .byte W06 + .byte Cn5 + .byte W06 + .byte N18 , Dn5 + .byte W24 + .byte N04 , Gn5 , v092 + .byte W04 + .byte An5 , v072 + .byte W04 + .byte Gn5 , v068 + .byte W04 + .byte Fs5 , v092 + .byte W04 + .byte Gn5 , v072 + .byte W04 + .byte Fs5 , v068 + .byte W04 + .byte En5 , v092 + .byte W04 + .byte Fs5 , v072 + .byte W04 + .byte En5 , v068 + .byte W04 + .byte Dn5 , v092 + .byte W04 + .byte En5 , v072 + .byte W04 + .byte Dn5 , v068 + .byte W04 + .byte Cn5 , v092 + .byte W04 + .byte Dn5 , v072 + .byte W04 + .byte Cn5 , v068 + .byte W04 + .byte Bn4 , v092 + .byte W04 + .byte Cn5 , v072 + .byte W04 + .byte Bn4 , v068 + .byte W04 + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 82 + .byte PAN , c_v+63 + .byte VOL , 28*mus_thankfor_mvl/mxv + .byte W24 + .byte N12 , Cs2 , v112 + .byte W12 + .byte En2 + .byte W12 + .byte An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte En3 + .byte W12 + .byte An3 + .byte W12 + .byte En3 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte W12 + .byte N12 , Cs2 + .byte W12 + .byte En2 + .byte W12 + .byte An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte En3 + .byte W12 + .byte An3 + .byte W12 + .byte En3 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte W12 + .byte N12 , Cs2 + .byte W12 + .byte En2 + .byte W12 + .byte An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte En3 + .byte W12 + .byte An3 + .byte W12 + .byte En3 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte W12 + .byte N12 , Cs2 + .byte W12 + .byte En2 + .byte W12 + .byte An2 + .byte W12 + .byte Cs3 + .byte W12 + .byte En3 + .byte W12 + .byte An3 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte W96 + .byte VOL , 25*mus_thankfor_mvl/mxv + .byte N96 , En3 + .byte W48 + .byte VOL , 50*mus_thankfor_mvl/mxv + .byte W48 + .byte N03 , An2 + .byte W96 + .byte FINE + +@********************** Track 10 **********************@ + +mus_thankfor_10: + .byte KEYSH , mus_thankfor_key+0 + .byte VOICE , 1 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-17 + .byte VOL , 70*mus_thankfor_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte N21 , En3 , v064 + .byte W24 + .byte N24 , En3 , v096 + .byte W24 + .byte N21 , Fs3 , v092 + .byte W21 + .byte N24 , Fs3 , v080 + .byte W24 + .byte W03 +mus_thankfor_10_000: + .byte W24 + .byte N24 , Bn2 , v088 + .byte W24 + .byte An2 , v092 + .byte W24 + .byte Bn2 + .byte W24 + .byte PEND + .byte Cn3 , v076 + .byte W24 + .byte Bn2 , v084 + .byte W24 + .byte An2 , v092 + .byte W24 + .byte Bn2 , v104 + .byte W24 + .byte W24 + .byte Gn2 , v088 + .byte W24 + .byte Fs2 , v068 + .byte W24 + .byte Gn2 , v080 + .byte W24 + .byte An2 , v076 + .byte W24 + .byte Gn2 , v072 + .byte W24 + .byte Fs2 , v068 + .byte W24 + .byte Gn2 , v084 + .byte W24 +mus_thankfor_10_001: + .byte W24 + .byte N24 , Cn3 , v088 + .byte W24 + .byte Bn2 , v092 + .byte W24 + .byte Cn3 + .byte W24 + .byte PEND +mus_thankfor_10_002: + .byte N24 , Dn3 , v076 + .byte W24 + .byte Cn3 , v084 + .byte W24 + .byte Bn2 , v092 + .byte W24 + .byte Cn3 , v104 + .byte W24 + .byte PEND +mus_thankfor_10_003: + .byte W24 + .byte N24 , Fs3 , v088 + .byte W24 + .byte En3 , v092 + .byte W24 + .byte Fs3 , v104 + .byte W24 + .byte PEND + .byte W24 + .byte N18 , Fs2 , v092 + .byte W18 + .byte N42 , Fs4 , v112 + .byte W54 + .byte PATT + .word mus_thankfor_10_000 + .byte N24 , Cn3 , v076 + .byte W24 + .byte Bn2 , v084 + .byte W24 + .byte An2 , v092 + .byte W24 + .byte Bn2 , v088 + .byte W24 + .byte W24 + .byte Gn2 + .byte W24 + .byte Fs2 , v068 + .byte W24 + .byte Gn2 , v092 + .byte W24 + .byte An2 , v076 + .byte W24 + .byte Gn2 , v084 + .byte W24 + .byte Fs2 , v068 + .byte W24 + .byte Gn2 , v104 + .byte W24 + .byte PATT + .word mus_thankfor_10_001 + .byte PATT + .word mus_thankfor_10_002 + .byte PATT + .word mus_thankfor_10_003 + .byte W96 +mus_thankfor_10_004: + .byte W24 + .byte N24 , Bn2 , v092 + .byte W48 + .byte N24 + .byte W24 + .byte PEND + .byte W24 + .byte Gs2 + .byte W48 + .byte N24 + .byte W24 + .byte W24 + .byte Cn3 + .byte W48 + .byte N24 + .byte W24 + .byte W24 + .byte Fs3 + .byte W48 + .byte N24 + .byte W24 + .byte PATT + .word mus_thankfor_10_004 + .byte W24 + .byte N24 , Gs2 , v092 + .byte W48 + .byte Gs2 , v120 + .byte W24 + .byte W24 + .byte Cn3 , v092 + .byte W48 + .byte Dn3 + .byte W24 + .byte W24 + .byte An2 + .byte W24 + .byte Bn2 , v112 + .byte W48 + .byte VOICE , 48 + .byte VOL , 41*mus_thankfor_mvl/mxv + .byte PAN , c_v+25 + .byte N12 , Dn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N12 , Fs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N12 , Dn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte N03 , Gn3 , v100 + .byte W03 + .byte An3 + .byte W03 + .byte N18 , Gn3 , v112 + .byte W18 + .byte N12 , Fs3 + .byte W12 + .byte Dn3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N12 + .byte W12 + .byte Dn3 + .byte W12 + .byte N03 , Bn3 + .byte W03 + .byte Cn4 + .byte W03 + .byte N18 , Bn3 + .byte W18 + .byte N24 , As3 + .byte W24 + .byte Bn3 + .byte W24 + .byte N12 , Bn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte N03 , En3 + .byte W03 + .byte Fs3 + .byte W03 + .byte N18 , En3 + .byte W18 + .byte N24 , Ds3 + .byte W24 + .byte N12 , En3 + .byte W12 + .byte Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte Bn3 + .byte W24 + .byte Cn4 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte N03 , Cn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte N18 , Cn4 + .byte W18 + .byte N24 , Bn3 + .byte W24 + .byte Cn4 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte N24 , Cn4 + .byte W24 + .byte Bn3 + .byte W24 + .byte Cn4 + .byte W24 + .byte VOL , 14*mus_thankfor_mvl/mxv + .byte N96 , Dn3 + .byte W09 + .byte VOL , 15*mus_thankfor_mvl/mxv + .byte W05 + .byte 17*mus_thankfor_mvl/mxv + .byte W03 + .byte 18*mus_thankfor_mvl/mxv + .byte W04 + .byte 21*mus_thankfor_mvl/mxv + .byte W02 + .byte 22*mus_thankfor_mvl/mxv + .byte W01 + .byte VOICE , 48 + .byte PAN , c_v+41 + .byte W02 + .byte VOL , 24*mus_thankfor_mvl/mxv + .byte W03 + .byte 26*mus_thankfor_mvl/mxv + .byte W06 + .byte 31*mus_thankfor_mvl/mxv + .byte W03 + .byte 33*mus_thankfor_mvl/mxv + .byte W03 + .byte 36*mus_thankfor_mvl/mxv + .byte W04 + .byte 37*mus_thankfor_mvl/mxv + .byte W02 + .byte 40*mus_thankfor_mvl/mxv + .byte W03 + .byte 42*mus_thankfor_mvl/mxv + .byte W44 + .byte W02 + .byte PAN , c_v+25 + .byte VOL , 34*mus_thankfor_mvl/mxv + .byte N36 + .byte W36 + .byte N06 , Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N36 , Bn2 + .byte W36 + .byte N06 , Gn2 + .byte W06 + .byte An2 + .byte W06 + .byte N24 , Bn2 + .byte W24 + .byte Cn3 + .byte W24 + .byte Dn3 + .byte W24 + .byte Gn3 + .byte W24 + .byte N36 , En3 + .byte W36 + .byte N06 , Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte N36 , Bn2 + .byte W36 + .byte N06 , An2 + .byte W06 + .byte Bn2 + .byte W06 + .byte N48 , Gn2 + .byte W48 + .byte N06 + .byte W06 + .byte Bn2 + .byte W06 + .byte An2 + .byte W06 + .byte Bn2 + .byte W06 + .byte En3 + .byte W06 + .byte Bn2 + .byte W06 + .byte En3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N36 , En3 + .byte W36 + .byte N06 , Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte N30 , Cn3 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 + .byte W24 + .byte Dn3 + .byte W24 + .byte N03 , En3 + .byte W03 + .byte Fs3 + .byte W03 + .byte N06 , En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte N12 , Fs3 + .byte W12 + .byte N06 , En3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N18 , Fs3 + .byte W18 + .byte N03 , Dn3 + .byte W06 + .byte N24 + .byte W36 + .byte N06 , Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte N18 , Dn4 + .byte W72 + .byte VOICE , 60 + .byte VOL , 64*mus_thankfor_mvl/mxv + .byte PAN , c_v+0 + .byte W12 + .byte N06 , Gn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte VOICE , 56 + .byte PAN , c_v+45 + .byte VOL , 34*mus_thankfor_mvl/mxv + .byte N32 , Dn5 + .byte W12 + .byte MOD , 8 + .byte W18 + .byte 0 + .byte W06 + .byte N04 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte N04 + .byte W04 + .byte N32 , Dn5 , v112 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N04 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte N04 + .byte W04 + .byte N24 , Bn4 , v112 + .byte W12 + .byte MOD , 8 + .byte W12 + .byte 0 + .byte N03 , An4 + .byte W03 + .byte Bn4 + .byte W03 + .byte N06 , An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte VOICE , 1 + .byte PAN , c_v+23 + .byte VOL , 41*mus_thankfor_mvl/mxv + .byte N03 , An4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte N03 , Gs4 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte En4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte En5 + .byte W06 + .byte N04 , Gn5 , v096 + .byte W04 + .byte An5 , v104 + .byte W04 + .byte Gn5 + .byte W04 + .byte Fs5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Fs5 + .byte W04 + .byte En5 + .byte W04 + .byte Fs5 , v108 + .byte W04 + .byte En5 + .byte W04 + .byte Dn5 + .byte W04 + .byte En5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Cn5 , v104 + .byte W04 + .byte Dn5 , v108 + .byte W04 + .byte Cn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Cn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte N03 , An4 , v112 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte En4 + .byte W03 + .byte Fs4 + .byte W03 + .byte An4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Dn5 + .byte W03 + .byte VOICE , 46 + .byte VOL , 53*mus_thankfor_mvl/mxv + .byte PAN , c_v-40 + .byte N03 , Dn3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Bn3 + .byte W03 + .byte Cn4 + .byte W03 + .byte PAN , c_v+29 + .byte N03 , Dn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Bn4 + .byte W03 + .byte Dn5 + .byte W24 + .byte W03 + .byte PAN , c_v-40 + .byte N03 , Dn3 + .byte W03 + .byte Fs3 + .byte W03 + .byte Bn3 + .byte W03 + .byte Cn4 + .byte W03 + .byte PAN , c_v+29 + .byte N03 , Dn4 + .byte W03 + .byte Fs4 + .byte W03 + .byte Bn4 + .byte W03 + .byte Dn5 + .byte W24 + .byte W03 + .byte PAN , c_v-33 + .byte W12 + .byte N03 , Fn5 + .byte W03 + .byte En5 + .byte W03 + .byte Dn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte Dn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Bn4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte En4 + .byte W03 + .byte PAN , c_v-16 + .byte N03 , Gs4 + .byte W03 + .byte Bn4 + .byte W03 + .byte PAN , c_v-16 + .byte N03 , En4 + .byte W03 + .byte Gs4 + .byte W03 + .byte Bn4 + .byte W03 + .byte En5 + .byte W03 + .byte Gs4 + .byte W03 + .byte Bn4 + .byte W03 + .byte En5 + .byte W03 + .byte Gs5 + .byte W03 + .byte PAN , c_v+33 + .byte N03 , Bn5 + .byte W03 + .byte Gs5 + .byte W03 + .byte En5 + .byte W03 + .byte Bn4 + .byte W03 + .byte VOICE , 60 + .byte PAN , c_v-41 + .byte VOL , 44*mus_thankfor_mvl/mxv + .byte N12 , Gn4 + .byte W12 + .byte An4 + .byte W12 + .byte N09 , Bn4 + .byte W12 + .byte N02 , Dn5 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N12 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N09 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte VOICE , 46 + .byte PAN , c_v-41 + .byte VOL , 62*mus_thankfor_mvl/mxv + .byte N03 , Gn5 + .byte W03 + .byte Fn5 + .byte W03 + .byte Dn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte PAN , c_v+39 + .byte N03 , Fn5 + .byte W03 + .byte Dn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte Gn3 + .byte W03 + .byte PAN , c_v-41 + .byte N03 , Dn5 + .byte W03 + .byte Bn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fn3 + .byte W03 + .byte PAN , c_v+8 + .byte N03 , Bn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte Fn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Dn3 + .byte W03 + .byte VOICE , 14 + .byte PAN , c_v+32 + .byte VOL , 62*mus_thankfor_mvl/mxv + .byte N36 , Gn4 + .byte W36 + .byte N48 , Cn5 + .byte W48 + .byte N06 , Dn4 + .byte W12 + .byte W12 + .byte N24 , Gn4 + .byte W24 + .byte Bn4 + .byte W24 + .byte Gn4 + .byte W36 + .byte N36 + .byte W36 + .byte N48 , As4 + .byte W60 + .byte W12 + .byte N24 , Cs5 + .byte W24 + .byte As4 + .byte W24 + .byte An4 + .byte W24 + .byte N12 , Gn4 + .byte W12 + .byte W12 + .byte N24 , An4 + .byte W24 + .byte N36 , Dn5 + .byte W36 + .byte N24 , An4 + .byte W24 + .byte N24 + .byte W36 + .byte Cs5 + .byte W24 + .byte N36 , An4 + .byte W36 + .byte N24 , Gn4 + .byte W24 + .byte N36 , Dn4 + .byte W36 + .byte N24 , Gn4 + .byte W24 + .byte N12 , Dn4 + .byte W12 + .byte VOICE , 48 + .byte VOL , 49*mus_thankfor_mvl/mxv + .byte PAN , c_v-29 + .byte N03 , An3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte N03 , En3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte En3 + .byte W06 + .byte Cs3 + .byte W06 + .byte En3 + .byte W06 + .byte N03 , Gn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte N03 , Dn3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Bn2 + .byte W06 + .byte Dn3 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte N03 , En3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte En3 + .byte W06 + .byte Cs3 + .byte W06 + .byte En3 + .byte W06 + .byte N03 , An3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte En3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Cs4 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +mus_thankfor: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_thankfor_pri @ Priority + .byte mus_thankfor_rev @ Reverb. + + .word mus_thankfor_grp + + .word mus_thankfor_1 + .word mus_thankfor_2 + .word mus_thankfor_3 + .word mus_thankfor_4 + .word mus_thankfor_5 + .word mus_thankfor_6 + .word mus_thankfor_7 + .word mus_thankfor_8 + .word mus_thankfor_9 + .word mus_thankfor_10 + + .end diff --git a/sound/songs/mus_title3.s b/sound/songs/mus_title3.s new file mode 100644 index 0000000000..47eb96dc90 --- /dev/null +++ b/sound/songs/mus_title3.s @@ -0,0 +1,9118 @@ + .include "MPlayDef.s" + + .equ mus_title3_grp, voicegroup_8685A48 + .equ mus_title3_pri, 0 + .equ mus_title3_rev, reverb_set+50 + .equ mus_title3_mvl, 127 + .equ mus_title3_key, 0 + .equ mus_title3_tbs, 1 + .equ mus_title3_exg, 0 + .equ mus_title3_cmp, 1 + + .section .rodata + .global mus_title3 + .align 2 + +@********************** Track 1 **********************@ + +mus_title3_1: + .byte KEYSH , mus_title3_key+0 + .byte TEMPO , 144*mus_title3_tbs/2 + .byte VOICE , 14 + .byte PAN , c_v+40 + .byte LFOS , 44 + .byte VOL , 86*mus_title3_mvl/mxv + .byte W24 + .byte PAN , c_v-32 + .byte N48 , An2 , v120 + .byte W48 + .byte PAN , c_v+32 + .byte N48 , Fn2 , v112 + .byte W48 + .byte PAN , c_v-32 + .byte N48 , Cn3 , v124 + .byte W48 + .byte PAN , c_v+32 + .byte N48 , An2 , v112 + .byte W48 + .byte PAN , c_v-32 + .byte N24 , Fn3 , v124 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , Cn3 , v112 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Cn4 + .byte W24 + .byte PAN , c_v+32 + .byte N24 , An3 + .byte W24 + .byte PAN , c_v-32 + .byte N24 , Gn3 , v120 + .byte W24 + .byte N16 , Ds3 + .byte W16 + .byte N08 , Gn3 , v112 + .byte W08 + .byte TEMPO , 140*mus_title3_tbs/2 + .byte PAN , c_v+32 + .byte N24 , As3 + .byte W24 + .byte TEMPO , 132*mus_title3_tbs/2 + .byte N16 , Gn3 + .byte W16 + .byte N08 , As3 , v100 + .byte W08 + .byte TEMPO , 140*mus_title3_tbs/2 + .byte VOL , 68*mus_title3_mvl/mxv + .byte PAN , c_v-23 + .byte N48 , Cn4 , v124 + .byte W48 + .byte TEMPO , 144*mus_title3_tbs/2 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 1 + .byte PAN , c_v+16 + .byte VOL , 54*mus_title3_mvl/mxv + .byte N02 , Fs4 , v112 + .byte W02 + .byte N06 , Fn4 + .byte W06 + .byte N02 , Ds4 + .byte W02 + .byte Dn4 + .byte W02 + .byte Cn4 + .byte W04 + .byte N04 , An4 + .byte W06 + .byte N02 , Cs5 + .byte W02 + .byte N06 , Cn5 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N06 + .byte W08 + .byte N04 , Bn4 + .byte W08 + .byte Cn5 + .byte W08 + .byte N06 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W08 + .byte N04 , Dn5 + .byte W08 + .byte Cn5 + .byte W08 + .byte N24 , As4 + .byte W24 + .byte N04 , Bn4 + .byte W04 + .byte N12 , As4 + .byte W12 + .byte N16 , An4 + .byte W16 + .byte N14 , As4 + .byte W16 + .byte W96 + .byte W96 + .byte VOICE , 1 + .byte VOL , 45*mus_title3_mvl/mxv + .byte PAN , c_v-21 + .byte W48 + .byte N24 , Cn4 + .byte W24 + .byte N08 , Fn4 + .byte W08 + .byte An4 + .byte W08 + .byte Bn4 + .byte W08 + .byte Cn5 + .byte W08 + .byte N04 , Dn5 + .byte W08 + .byte Cn5 + .byte W08 + .byte As4 + .byte W08 + .byte Cn5 + .byte W08 + .byte As4 + .byte W08 + .byte N06 , An4 + .byte W10 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W06 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Gn4 + .byte W08 + .byte An4 + .byte W08 + .byte N24 , Fn4 + .byte W72 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 60 + .byte PAN , c_v-41 + .byte VOL , 41*mus_title3_mvl/mxv + .byte W48 + .byte N24 , Gs2 + .byte W14 + .byte MOD , 6 + .byte W10 + .byte 0 + .byte N08 , Ds2 + .byte W08 + .byte Gs2 + .byte W08 + .byte As2 + .byte W08 + .byte N16 , Ds3 + .byte W10 + .byte MOD , 6 + .byte W06 + .byte N16 , Cs3 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte 6 + .byte W08 + .byte 0 + .byte N16 , Cn3 + .byte W10 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N08 , As2 + .byte W08 + .byte Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte As1 + .byte W08 + .byte Fn2 + .byte W08 + .byte An2 + .byte W08 + .byte N24 , As2 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 0 + .byte N08 , Fn2 + .byte W08 + .byte As2 + .byte W08 + .byte Dn3 + .byte W08 + .byte N24 , Fn2 + .byte W14 + .byte MOD , 5 + .byte W10 + .byte 0 + .byte N08 , An2 + .byte W08 + .byte As2 + .byte W08 + .byte Cn3 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte Ds3 + .byte W16 + .byte Dn3 + .byte W16 + .byte Cn3 + .byte W16 + .byte N08 , As2 + .byte W08 + .byte Gn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte N04 , Bn2 + .byte W08 + .byte VOICE , 14 + .byte VOL , 90*mus_title3_mvl/mxv + .byte N96 , Cn3 , v127 + .byte W08 + .byte VOL , 89*mus_title3_mvl/mxv + .byte W01 + .byte 84*mus_title3_mvl/mxv + .byte W03 + .byte 82*mus_title3_mvl/mxv + .byte W04 + .byte 79*mus_title3_mvl/mxv + .byte W04 + .byte 78*mus_title3_mvl/mxv + .byte W01 + .byte 75*mus_title3_mvl/mxv + .byte W03 + .byte 73*mus_title3_mvl/mxv + .byte W01 + .byte 69*mus_title3_mvl/mxv + .byte W07 + .byte 66*mus_title3_mvl/mxv + .byte W01 + .byte 63*mus_title3_mvl/mxv + .byte W03 + .byte 62*mus_title3_mvl/mxv + .byte W04 + .byte 58*mus_title3_mvl/mxv + .byte W01 + .byte 56*mus_title3_mvl/mxv + .byte W03 + .byte 54*mus_title3_mvl/mxv + .byte W01 + .byte 53*mus_title3_mvl/mxv + .byte W03 + .byte 51*mus_title3_mvl/mxv + .byte W04 + .byte 48*mus_title3_mvl/mxv + .byte W04 + .byte 45*mus_title3_mvl/mxv + .byte W01 + .byte 42*mus_title3_mvl/mxv + .byte W07 + .byte 39*mus_title3_mvl/mxv + .byte W01 + .byte 36*mus_title3_mvl/mxv + .byte W03 + .byte 35*mus_title3_mvl/mxv + .byte W04 + .byte 34*mus_title3_mvl/mxv + .byte W01 + .byte 33*mus_title3_mvl/mxv + .byte W03 + .byte 30*mus_title3_mvl/mxv + .byte W01 + .byte 29*mus_title3_mvl/mxv + .byte W07 + .byte 28*mus_title3_mvl/mxv + .byte W04 + .byte 25*mus_title3_mvl/mxv + .byte W08 + .byte PAN , c_v+32 + .byte VOL , 90*mus_title3_mvl/mxv + .byte N96 , Cn4 , v104 + .byte W08 + .byte VOL , 89*mus_title3_mvl/mxv + .byte W01 + .byte 84*mus_title3_mvl/mxv + .byte W03 + .byte 82*mus_title3_mvl/mxv + .byte W04 + .byte 79*mus_title3_mvl/mxv + .byte W04 + .byte 78*mus_title3_mvl/mxv + .byte W01 + .byte 75*mus_title3_mvl/mxv + .byte W03 + .byte 73*mus_title3_mvl/mxv + .byte W01 + .byte 69*mus_title3_mvl/mxv + .byte W07 + .byte 66*mus_title3_mvl/mxv + .byte W01 + .byte 63*mus_title3_mvl/mxv + .byte W03 + .byte 62*mus_title3_mvl/mxv + .byte W04 + .byte 58*mus_title3_mvl/mxv + .byte W01 + .byte 56*mus_title3_mvl/mxv + .byte W03 + .byte 54*mus_title3_mvl/mxv + .byte W01 + .byte 53*mus_title3_mvl/mxv + .byte W03 + .byte 51*mus_title3_mvl/mxv + .byte W04 + .byte 48*mus_title3_mvl/mxv + .byte W04 + .byte 45*mus_title3_mvl/mxv + .byte W01 + .byte 42*mus_title3_mvl/mxv + .byte W07 + .byte 39*mus_title3_mvl/mxv + .byte W01 + .byte 36*mus_title3_mvl/mxv + .byte W03 + .byte 35*mus_title3_mvl/mxv + .byte W04 + .byte 34*mus_title3_mvl/mxv + .byte W01 + .byte 33*mus_title3_mvl/mxv + .byte W03 + .byte 30*mus_title3_mvl/mxv + .byte W01 + .byte 29*mus_title3_mvl/mxv + .byte W07 + .byte 28*mus_title3_mvl/mxv + .byte W04 + .byte 25*mus_title3_mvl/mxv + .byte W08 + .byte PAN , c_v-48 + .byte VOL , 90*mus_title3_mvl/mxv + .byte N96 , Cn3 , v124 + .byte W08 + .byte VOL , 89*mus_title3_mvl/mxv + .byte W01 + .byte 84*mus_title3_mvl/mxv + .byte W03 + .byte 82*mus_title3_mvl/mxv + .byte W04 + .byte 79*mus_title3_mvl/mxv + .byte W04 + .byte 78*mus_title3_mvl/mxv + .byte W01 + .byte 75*mus_title3_mvl/mxv + .byte W03 + .byte 73*mus_title3_mvl/mxv + .byte W01 + .byte 69*mus_title3_mvl/mxv + .byte W07 + .byte 66*mus_title3_mvl/mxv + .byte W01 + .byte 63*mus_title3_mvl/mxv + .byte W03 + .byte 62*mus_title3_mvl/mxv + .byte W04 + .byte 58*mus_title3_mvl/mxv + .byte W01 + .byte 56*mus_title3_mvl/mxv + .byte W03 + .byte 54*mus_title3_mvl/mxv + .byte W01 + .byte 53*mus_title3_mvl/mxv + .byte W03 + .byte 51*mus_title3_mvl/mxv + .byte W04 + .byte 48*mus_title3_mvl/mxv + .byte W04 + .byte 45*mus_title3_mvl/mxv + .byte W01 + .byte 42*mus_title3_mvl/mxv + .byte W07 + .byte 39*mus_title3_mvl/mxv + .byte W01 + .byte 36*mus_title3_mvl/mxv + .byte W03 + .byte 35*mus_title3_mvl/mxv + .byte W04 + .byte 34*mus_title3_mvl/mxv + .byte W01 + .byte 33*mus_title3_mvl/mxv + .byte W03 + .byte 30*mus_title3_mvl/mxv + .byte W01 + .byte 29*mus_title3_mvl/mxv + .byte W07 + .byte 28*mus_title3_mvl/mxv + .byte W04 + .byte 25*mus_title3_mvl/mxv + .byte W08 + .byte PAN , c_v+30 + .byte VOL , 90*mus_title3_mvl/mxv + .byte N96 , Cn4 , v104 + .byte W08 + .byte VOL , 89*mus_title3_mvl/mxv + .byte W01 + .byte 84*mus_title3_mvl/mxv + .byte W03 + .byte 82*mus_title3_mvl/mxv + .byte W04 + .byte 79*mus_title3_mvl/mxv + .byte W04 + .byte 78*mus_title3_mvl/mxv + .byte W01 + .byte 75*mus_title3_mvl/mxv + .byte W03 + .byte TEMPO , 140*mus_title3_tbs/2 + .byte 73*mus_title3_mvl/mxv + .byte W01 + .byte 69*mus_title3_mvl/mxv + .byte W07 + .byte 66*mus_title3_mvl/mxv + .byte W01 + .byte 63*mus_title3_mvl/mxv + .byte W03 + .byte 62*mus_title3_mvl/mxv + .byte W04 + .byte 58*mus_title3_mvl/mxv + .byte W01 + .byte 56*mus_title3_mvl/mxv + .byte W03 + .byte 54*mus_title3_mvl/mxv + .byte W01 + .byte 53*mus_title3_mvl/mxv + .byte W03 + .byte TEMPO , 138*mus_title3_tbs/2 + .byte 51*mus_title3_mvl/mxv + .byte W04 + .byte 48*mus_title3_mvl/mxv + .byte W04 + .byte 45*mus_title3_mvl/mxv + .byte W01 + .byte 42*mus_title3_mvl/mxv + .byte W07 + .byte 39*mus_title3_mvl/mxv + .byte W01 + .byte 36*mus_title3_mvl/mxv + .byte W03 + .byte 35*mus_title3_mvl/mxv + .byte W04 + .byte TEMPO , 136*mus_title3_tbs/2 + .byte 34*mus_title3_mvl/mxv + .byte W01 + .byte 33*mus_title3_mvl/mxv + .byte W03 + .byte 30*mus_title3_mvl/mxv + .byte W01 + .byte 29*mus_title3_mvl/mxv + .byte W07 + .byte 28*mus_title3_mvl/mxv + .byte W04 + .byte 25*mus_title3_mvl/mxv + .byte W08 + .byte TEMPO , 134*mus_title3_tbs/2 + .byte PAN , c_v-25 + .byte VOL , 68*mus_title3_mvl/mxv + .byte N48 , Cn4 , v112 + .byte W48 + .byte N24 , Dn4 + .byte W24 + .byte An3 + .byte W24 + .byte N48 , Cn4 + .byte W48 + .byte N44 , As3 + .byte W48 + .byte TEMPO , 134*mus_title3_tbs/2 + .byte N48 + .byte W48 + .byte N24 , Cn4 + .byte W24 + .byte Gn3 + .byte W24 + .byte N48 , As3 + .byte W48 + .byte Ds4 + .byte W48 + .byte Gs3 + .byte W48 + .byte N24 , As3 + .byte W24 + .byte Gs3 + .byte W24 + .byte N24 + .byte W24 + .byte Fs3 + .byte W24 + .byte Cs4 + .byte W24 + .byte Gs3 + .byte W24 + .byte TEMPO , 132*mus_title3_tbs/2 + .byte Gs4 + .byte W24 + .byte Ds4 + .byte W24 + .byte Cn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte TEMPO , 136*mus_title3_tbs/2 + .byte Fs4 + .byte W24 + .byte Fn4 + .byte W24 + .byte TEMPO , 134*mus_title3_tbs/2 + .byte Ds4 + .byte W24 + .byte TEMPO , 128*mus_title3_tbs/2 + .byte Cs4 + .byte W24 + .byte TEMPO , 138*mus_title3_tbs/2 + .byte W96 + .byte VOICE , 1 + .byte W96 + .byte W96 + .byte VOL , 62*mus_title3_mvl/mxv + .byte N04 , Gs4 + .byte W08 + .byte As4 + .byte W08 + .byte Bn4 + .byte W08 + .byte As4 + .byte W08 + .byte Bn4 + .byte W08 + .byte Cs5 + .byte W08 + .byte Bn4 + .byte W08 + .byte Cs5 + .byte W08 + .byte Ds5 + .byte W08 + .byte Cs5 + .byte W08 + .byte Ds5 + .byte W08 + .byte Fn5 + .byte W08 + .byte N32 , Fs5 , v096 + .byte W96 + .byte W96 + .byte W96 + .byte N04 , Gs3 , v112 + .byte W08 + .byte As3 + .byte W08 + .byte Bn3 + .byte W08 + .byte As3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Gs4 + .byte W08 + .byte VOICE , 1 + .byte W96 + .byte W96 + .byte W48 + .byte PAN , c_v+0 + .byte N08 , Cs4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Gs4 + .byte W08 + .byte As4 + .byte W08 + .byte N16 , Cs5 + .byte W16 + .byte Bn4 + .byte W16 + .byte As4 + .byte W16 + .byte N96 , Fs4 + .byte W48 + .byte W48 + .byte N24 , Gs4 + .byte W40 + .byte N04 , Fs4 + .byte W08 + .byte N24 + .byte W24 + .byte VOICE , 14 + .byte PAN , c_v+31 + .byte N48 , Cs4 + .byte W48 + .byte Dn4 + .byte W24 + .byte W24 + .byte Cs4 + .byte W48 + .byte As3 + .byte W24 + .byte W24 + .byte Cs4 + .byte W48 + .byte Dn4 + .byte W24 + .byte W24 + .byte En4 + .byte W48 + .byte N24 , Fn4 + .byte W24 + .byte PAN , c_v+0 + .byte N24 , Fs4 + .byte W24 + .byte Cs5 + .byte W24 + .byte VOL , 56*mus_title3_mvl/mxv + .byte N24 , En5 + .byte W24 + .byte N16 , Ds5 + .byte W16 + .byte N08 , Gs4 + .byte W08 + .byte TEMPO , 136*mus_title3_tbs/2 + .byte N24 , Cs5 + .byte W24 + .byte Gs4 + .byte W24 + .byte Bn4 + .byte W24 + .byte TEMPO , 128*mus_title3_tbs/2 + .byte N16 , Fs4 + .byte W16 + .byte N08 , Cs4 + .byte W08 + .byte TEMPO , 120*mus_title3_tbs/2 + .byte N24 , As4 + .byte W24 + .byte Fs4 + .byte W24 + .byte Gs4 + .byte W24 + .byte N16 , Cs4 + .byte W16 + .byte N08 , Gs4 + .byte W08 + .byte TEMPO , 100*mus_title3_tbs/2 + .byte N96 , As4 + .byte W12 + .byte VOL , 63*mus_title3_mvl/mxv + .byte W01 + .byte 62*mus_title3_mvl/mxv + .byte W03 + .byte 61*mus_title3_mvl/mxv + .byte W01 + .byte 60*mus_title3_mvl/mxv + .byte W04 + .byte 59*mus_title3_mvl/mxv + .byte W03 + .byte TEMPO , 82*mus_title3_tbs/2 + .byte 58*mus_title3_mvl/mxv + .byte W01 + .byte 58*mus_title3_mvl/mxv + .byte W03 + .byte 56*mus_title3_mvl/mxv + .byte W04 + .byte 55*mus_title3_mvl/mxv + .byte W01 + .byte 55*mus_title3_mvl/mxv + .byte W03 + .byte 53*mus_title3_mvl/mxv + .byte W01 + .byte 51*mus_title3_mvl/mxv + .byte W03 + .byte 48*mus_title3_mvl/mxv + .byte W04 + .byte 45*mus_title3_mvl/mxv + .byte W01 + .byte 44*mus_title3_mvl/mxv + .byte W03 + .byte TEMPO , 64*mus_title3_tbs/2 + .byte 43*mus_title3_mvl/mxv + .byte W01 + .byte 42*mus_title3_mvl/mxv + .byte W03 + .byte 40*mus_title3_mvl/mxv + .byte W01 + .byte 38*mus_title3_mvl/mxv + .byte W03 + .byte 36*mus_title3_mvl/mxv + .byte W01 + .byte 34*mus_title3_mvl/mxv + .byte W03 + .byte 32*mus_title3_mvl/mxv + .byte W01 + .byte 30*mus_title3_mvl/mxv + .byte W03 + .byte 26*mus_title3_mvl/mxv + .byte W01 + .byte 26*mus_title3_mvl/mxv + .byte W03 + .byte 24*mus_title3_mvl/mxv + .byte W01 + .byte 22*mus_title3_mvl/mxv + .byte W03 + .byte 20*mus_title3_mvl/mxv + .byte W04 + .byte 17*mus_title3_mvl/mxv + .byte W01 + .byte 17*mus_title3_mvl/mxv + .byte W03 + .byte 15*mus_title3_mvl/mxv + .byte W01 + .byte 14*mus_title3_mvl/mxv + .byte W03 + .byte 12*mus_title3_mvl/mxv + .byte W01 + .byte 11*mus_title3_mvl/mxv + .byte W03 + .byte 9*mus_title3_mvl/mxv + .byte W04 + .byte 8*mus_title3_mvl/mxv + .byte W04 + .byte FINE + +@********************** Track 2 **********************@ + +mus_title3_2: + .byte KEYSH , mus_title3_key+0 + .byte VOICE , 46 + .byte PAN , c_v+0 + .byte c_v+22 + .byte VOL , 84*mus_title3_mvl/mxv + .byte LFOS , 44 + .byte N04 , Fn3 , v112 + .byte W04 + .byte An3 + .byte W04 + .byte Cn4 + .byte W02 + .byte En4 + .byte W04 + .byte Fn4 + .byte W02 + .byte An4 + .byte W04 + .byte Cn5 + .byte W04 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 60 + .byte VOL , 63*mus_title3_mvl/mxv + .byte PAN , c_v+16 + .byte W72 + .byte N08 , An2 + .byte W16 + .byte Cn3 + .byte W08 + .byte N16 , Fn3 + .byte W24 + .byte N08 + .byte W16 + .byte An3 + .byte W08 + .byte N24 , Cn4 + .byte W24 + .byte N08 , As3 + .byte W08 + .byte An3 + .byte W08 + .byte N04 , En3 + .byte W08 + .byte N48 , An3 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Fn3 + .byte W24 + .byte N08 , Gn3 + .byte W08 + .byte N04 , Gs3 + .byte W08 + .byte An3 + .byte W08 + .byte W96 + .byte VOICE , 56 + .byte VOL , 59*mus_title3_mvl/mxv + .byte W48 + .byte N04 , An4 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte As4 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N04 , Gn4 + .byte W56 + .byte PAN , c_v+27 + .byte VOL , 68*mus_title3_mvl/mxv + .byte N04 , An4 + .byte W08 + .byte As4 + .byte W08 + .byte Cn5 + .byte W08 + .byte As4 + .byte W08 + .byte An4 + .byte W08 + .byte Gn4 + .byte W08 + .byte N16 , Fn4 + .byte W16 + .byte Gn4 + .byte W16 + .byte Ds4 + .byte W16 + .byte VOICE , 60 + .byte PAN , c_v-26 + .byte N08 , As3 + .byte W08 + .byte N04 , Gn3 + .byte W08 + .byte As3 + .byte W08 + .byte N24 , En4 + .byte W16 + .byte MOD , 6 + .byte W08 + .byte 0 + .byte N24 , Ds4 + .byte W14 + .byte MOD , 6 + .byte W10 + .byte 0 + .byte N08 , Gn4 + .byte W08 + .byte N04 , Ds4 + .byte W10 + .byte N06 , As3 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+21 + .byte N04 , An4 + .byte W08 + .byte N04 + .byte W16 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N04 , As4 + .byte W08 + .byte Gn4 + .byte W16 + .byte N02 , As4 + .byte W16 + .byte N04 + .byte W08 + .byte VOICE , 56 + .byte VOL , 70*mus_title3_mvl/mxv + .byte PAN , c_v-17 + .byte N04 , Fn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte An3 + .byte W08 + .byte N02 , Fn3 + .byte W08 + .byte N04 , An3 + .byte W08 + .byte Cn4 + .byte W16 + .byte An3 + .byte W08 + .byte N24 , Fn4 + .byte W16 + .byte MOD , 6 + .byte W08 + .byte 0 + .byte N04 , Ds4 + .byte W16 + .byte As3 + .byte W08 + .byte N24 , Gn4 + .byte W16 + .byte MOD , 6 + .byte W08 + .byte 0 + .byte N02 + .byte W08 + .byte Fs4 + .byte W08 + .byte N04 , Gn4 + .byte W24 + .byte N04 + .byte W08 + .byte VOL , 80*mus_title3_mvl/mxv + .byte N24 , Gs3 + .byte W18 + .byte MOD , 7 + .byte W06 + .byte 0 + .byte N08 , Fn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Dn4 + .byte W08 + .byte N02 , Bn3 + .byte W02 + .byte N22 , As3 + .byte W14 + .byte MOD , 7 + .byte W08 + .byte 0 + .byte N04 , Fn3 + .byte W08 + .byte As3 + .byte W08 + .byte Cn4 + .byte W08 + .byte PAN , c_v-26 + .byte N08 , Dn4 , v120 + .byte W08 + .byte N04 , As3 , v116 + .byte W08 + .byte Dn4 + .byte W06 + .byte N02 , Bn4 , v112 + .byte W02 + .byte N08 , As4 , v120 + .byte W08 + .byte N02 , An4 , v092 + .byte W02 + .byte Gs4 , v088 + .byte W02 + .byte Gn4 , v084 + .byte W02 + .byte Fs4 , v076 + .byte W02 + .byte Fn4 , v072 + .byte W02 + .byte En4 , v068 + .byte W06 + .byte VOICE , 46 + .byte VOL , 68*mus_title3_mvl/mxv + .byte PAN , c_v+32 + .byte N04 , Gn2 , v112 + .byte W04 + .byte As2 + .byte W04 + .byte Cn3 + .byte W04 + .byte En3 + .byte W04 + .byte Gn3 + .byte W04 + .byte As3 + .byte W04 + .byte PAN , c_v+0 + .byte N04 , Cn4 + .byte W04 + .byte En4 + .byte W04 + .byte Gn4 + .byte W04 + .byte As4 + .byte W04 + .byte Cn5 + .byte W04 + .byte En5 + .byte W04 + .byte VOL , 56*mus_title3_mvl/mxv + .byte PAN , c_v-40 + .byte N02 , Gs5 + .byte W02 + .byte Ds5 , v080 + .byte W02 + .byte Cn5 + .byte W02 + .byte Gs4 + .byte W02 + .byte Ds5 , v112 + .byte W02 + .byte Cn5 , v080 + .byte W02 + .byte Gs4 + .byte W02 + .byte Ds4 + .byte W02 + .byte Cn5 , v112 + .byte W02 + .byte Gs4 , v080 + .byte W02 + .byte Ds4 + .byte W02 + .byte Cn4 + .byte W02 + .byte PAN , c_v-20 + .byte N02 , Ds5 , v112 + .byte W02 + .byte Cn5 , v080 + .byte W02 + .byte Gs4 + .byte W02 + .byte Ds4 + .byte W02 + .byte Cn5 , v112 + .byte W02 + .byte Gs4 , v080 + .byte W02 + .byte Ds4 + .byte W02 + .byte Cn4 + .byte W02 + .byte Gs4 , v112 + .byte W02 + .byte Ds4 , v080 + .byte W02 + .byte Cn4 + .byte W02 + .byte Gs3 + .byte W02 + .byte PAN , c_v+24 + .byte N02 , Cn5 , v112 + .byte W02 + .byte Gs4 , v080 + .byte W02 + .byte Ds4 + .byte W02 + .byte Cn4 , v084 + .byte W02 + .byte Gs4 , v112 + .byte W02 + .byte Ds4 , v080 + .byte W02 + .byte Cn4 + .byte W02 + .byte Gs3 + .byte W02 + .byte Ds4 , v112 + .byte W02 + .byte Cn4 , v080 + .byte W02 + .byte Gs3 + .byte W02 + .byte Ds3 + .byte W02 + .byte PAN , c_v+32 + .byte N02 , Gs4 , v112 + .byte W02 + .byte Ds4 , v080 + .byte W02 + .byte Cn4 + .byte W02 + .byte Gs3 + .byte W02 + .byte Ds4 , v112 + .byte W02 + .byte Cn4 , v080 + .byte W02 + .byte Gs3 + .byte W02 + .byte Ds3 + .byte W02 + .byte Cn4 , v112 + .byte W02 + .byte Gs3 , v080 + .byte W02 + .byte Ds3 + .byte W02 + .byte Cn3 + .byte W02 + .byte PAN , c_v+40 + .byte N02 , Gs2 , v112 + .byte W02 + .byte Ds3 , v080 + .byte W02 + .byte Gs3 + .byte W02 + .byte Cn4 + .byte W02 + .byte Ds3 , v112 + .byte W02 + .byte Gs3 , v080 + .byte W02 + .byte Cn4 + .byte W02 + .byte Ds4 + .byte W02 + .byte Gs3 , v112 + .byte W02 + .byte Cn4 , v080 + .byte W02 + .byte Ds4 + .byte W02 + .byte Gs4 + .byte W02 + .byte PAN , c_v+25 + .byte N02 , Ds3 , v112 + .byte W02 + .byte Gs3 , v080 + .byte W02 + .byte Cn4 + .byte W02 + .byte Ds4 + .byte W02 + .byte Gs3 , v112 + .byte W02 + .byte Cn4 , v080 + .byte W02 + .byte Ds4 + .byte W02 + .byte Gs4 + .byte W02 + .byte Cn4 , v112 + .byte W02 + .byte Ds4 , v080 + .byte W02 + .byte Gs4 + .byte W02 + .byte Cn5 + .byte W02 + .byte PAN , c_v-21 + .byte N02 , Gs3 , v112 + .byte W02 + .byte Cn4 , v080 + .byte W02 + .byte Ds4 + .byte W02 + .byte Gs4 + .byte W02 + .byte Cn4 , v112 + .byte W02 + .byte Ds4 , v080 + .byte W02 + .byte Gs4 + .byte W02 + .byte Cn5 + .byte W02 + .byte Ds4 , v112 + .byte W02 + .byte Gs4 , v080 + .byte W02 + .byte Cn5 + .byte W02 + .byte Ds5 + .byte W02 + .byte PAN , c_v-32 + .byte N02 , Cn4 , v112 + .byte W02 + .byte Ds4 , v080 + .byte W02 + .byte Gs4 + .byte W02 + .byte Cn5 + .byte W02 + .byte Ds4 , v112 + .byte W02 + .byte Gs4 , v080 + .byte W02 + .byte Cn5 + .byte W02 + .byte Ds5 + .byte W02 + .byte Gs4 , v112 + .byte W02 + .byte Cn5 , v080 + .byte W02 + .byte Ds5 + .byte W02 + .byte Gs5 + .byte W02 + .byte PAN , c_v-40 + .byte N02 , As5 , v112 + .byte W02 + .byte Fn5 , v080 + .byte W02 + .byte Dn5 + .byte W02 + .byte As4 + .byte W02 + .byte Fn5 , v112 + .byte W02 + .byte Dn5 , v080 + .byte W02 + .byte As4 + .byte W02 + .byte Fn4 + .byte W02 + .byte Dn5 , v112 + .byte W02 + .byte As4 , v080 + .byte W02 + .byte Fn4 + .byte W02 + .byte Dn4 + .byte W02 + .byte PAN , c_v-21 + .byte N02 , Fn5 , v112 + .byte W02 + .byte Dn5 , v080 + .byte W02 + .byte As4 + .byte W02 + .byte Fn4 + .byte W02 + .byte Dn5 , v112 + .byte W02 + .byte As4 , v080 + .byte W02 + .byte Fn4 + .byte W02 + .byte Dn4 + .byte W02 + .byte As4 , v112 + .byte W02 + .byte Fn4 , v080 + .byte W02 + .byte Dn4 + .byte W02 + .byte As3 + .byte W02 + .byte PAN , c_v+21 + .byte N02 , Dn5 , v112 + .byte W02 + .byte As4 , v080 + .byte W02 + .byte Fn4 + .byte W02 + .byte Dn4 + .byte W02 + .byte As4 , v112 + .byte W02 + .byte Fn4 , v080 + .byte W02 + .byte Dn4 + .byte W02 + .byte As3 + .byte W02 + .byte Fn4 , v112 + .byte W02 + .byte Dn4 , v080 + .byte W02 + .byte As3 + .byte W02 + .byte Fn3 + .byte W02 + .byte PAN , c_v+32 + .byte N02 , As4 , v112 + .byte W02 + .byte Fn4 , v080 + .byte W02 + .byte Dn4 + .byte W02 + .byte As3 + .byte W02 + .byte Fn4 , v112 + .byte W02 + .byte Dn4 , v080 + .byte W02 + .byte As3 + .byte W02 + .byte Fn3 + .byte W02 + .byte Dn4 , v112 + .byte W02 + .byte As3 , v080 + .byte W02 + .byte Fn3 + .byte W02 + .byte Dn3 + .byte W02 + .byte PAN , c_v+39 + .byte N02 , As2 , v112 + .byte W02 + .byte Dn3 , v080 + .byte W02 + .byte Fn3 + .byte W02 + .byte As3 + .byte W02 + .byte Dn3 , v112 + .byte W02 + .byte Fn3 , v080 + .byte W02 + .byte As3 + .byte W02 + .byte Dn4 + .byte W02 + .byte Fn3 , v112 + .byte W02 + .byte As3 , v080 + .byte W02 + .byte Dn4 + .byte W02 + .byte Fn4 + .byte W02 + .byte PAN , c_v+22 + .byte N02 , Dn3 , v112 + .byte W02 + .byte Fn3 , v080 + .byte W02 + .byte As3 + .byte W02 + .byte Dn4 + .byte W02 + .byte Fn3 , v112 + .byte W02 + .byte As3 , v080 + .byte W02 + .byte Dn4 + .byte W02 + .byte Fn4 + .byte W02 + .byte As3 , v112 + .byte W02 + .byte Dn4 , v080 + .byte W02 + .byte Fn4 + .byte W02 + .byte As4 + .byte W02 + .byte PAN , c_v-21 + .byte N02 , Fn3 , v112 + .byte W02 + .byte As3 , v080 + .byte W02 + .byte Dn4 + .byte W02 + .byte Fn4 + .byte W02 + .byte As3 , v112 + .byte W02 + .byte Dn4 , v080 + .byte W02 + .byte Fn4 + .byte W02 + .byte As4 + .byte W02 + .byte Dn4 , v112 + .byte W02 + .byte Fn4 , v080 + .byte W02 + .byte As4 + .byte W02 + .byte Dn5 + .byte W02 + .byte PAN , c_v-32 + .byte N02 , As3 , v112 + .byte W02 + .byte Dn4 , v080 + .byte W02 + .byte Fn4 + .byte W02 + .byte As4 + .byte W02 + .byte Dn4 , v112 + .byte W02 + .byte Fn4 , v080 + .byte W02 + .byte As4 + .byte W02 + .byte Dn5 + .byte W02 + .byte Fn4 , v112 + .byte W02 + .byte As4 , v080 + .byte W02 + .byte Dn5 + .byte W02 + .byte Fn5 + .byte W02 + .byte PAN , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 46 + .byte VOL , 51*mus_title3_mvl/mxv + .byte W96 + .byte PAN , c_v-32 + .byte N04 , As2 , v112 + .byte W04 + .byte Dn3 + .byte W04 + .byte Fn3 + .byte W04 + .byte An3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte PAN , c_v+0 + .byte N04 , Fn4 + .byte W04 + .byte An4 + .byte W04 + .byte Cn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Fn5 + .byte W04 + .byte An5 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Cn6 + .byte W04 + .byte An5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Dn5 + .byte W04 + .byte Cn5 + .byte W04 + .byte An4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Dn4 + .byte W04 + .byte Cn4 + .byte W04 + .byte An3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Dn3 + .byte W04 + .byte N24 , As2 + .byte W96 + .byte N04 , Gs2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Cn4 + .byte W04 + .byte PAN , c_v+0 + .byte N04 , Ds4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Cn5 + .byte W04 + .byte Ds5 + .byte W04 + .byte Gn5 + .byte W04 + .byte PAN , c_v-40 + .byte N04 , As5 + .byte W04 + .byte Gn5 + .byte W04 + .byte Ds5 + .byte W04 + .byte Cn5 + .byte W04 + .byte Gs4 + .byte W04 + .byte Gn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Cn4 + .byte W04 + .byte Gs3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cn3 + .byte W04 + .byte N24 , Gs2 + .byte W96 + .byte N04 , Fs2 + .byte W04 + .byte As2 + .byte W04 + .byte Cs3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Fs3 + .byte W04 + .byte As3 + .byte W04 + .byte PAN , c_v+0 + .byte N04 , Cs4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte As4 + .byte W04 + .byte Cs5 + .byte W04 + .byte Fn5 + .byte W04 + .byte PAN , c_v+42 + .byte N04 , Gs5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Cs5 + .byte W04 + .byte As4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Cs4 + .byte W04 + .byte As3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Cs3 + .byte W04 + .byte As2 + .byte W04 + .byte Ds2 + .byte W04 + .byte Gn2 + .byte W04 + .byte Gs2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte PAN , c_v-44 + .byte N04 , Gn2 + .byte W04 + .byte Gs2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Gs3 + .byte W04 + .byte PAN , c_v+46 + .byte N04 , Gs2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Cn4 + .byte W04 + .byte PAN , c_v-44 + .byte N04 , Cn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Cn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Cs3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Bn3 + .byte W04 + .byte Cs4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Cs5 + .byte W04 + .byte Ds5 + .byte W04 + .byte Fn5 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Gs5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Ds5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Bn4 + .byte W04 + .byte Gs4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte Cs4 + .byte W04 + .byte Bn3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Fn3 + .byte W04 + .byte VOICE , 73 + .byte PAN , c_v+35 + .byte VOL , 45*mus_title3_mvl/mxv + .byte W48 + .byte N16 , Fs4 + .byte W16 + .byte N08 , As4 + .byte W08 + .byte N04 , Cs5 + .byte W04 + .byte Ds5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Ds5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Ds5 + .byte W04 + .byte N24 , Gs4 + .byte W40 + .byte N04 , Bn4 + .byte W08 + .byte En5 + .byte W04 + .byte Fs5 + .byte W04 + .byte En5 + .byte W04 + .byte Fs5 + .byte W04 + .byte En5 + .byte W04 + .byte Fs5 + .byte W04 + .byte En5 + .byte W08 + .byte Ds5 + .byte W08 + .byte Dn5 + .byte W08 +mus_title3_2_000: + .byte N04 , Cs5 , v112 + .byte W04 + .byte Ds5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Ds5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Ds5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Ds5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Ds5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Ds5 + .byte W04 + .byte N16 , Cs5 + .byte W16 + .byte N04 , Bn4 + .byte W08 + .byte N16 , As4 + .byte W16 + .byte N04 , Fs4 + .byte W08 + .byte PEND + .byte Gs4 + .byte W08 + .byte As4 + .byte W08 + .byte Bn4 + .byte W08 + .byte As4 + .byte W08 + .byte Bn4 + .byte W08 + .byte Cs5 + .byte W08 + .byte Bn4 + .byte W08 + .byte Cs5 + .byte W08 + .byte Ds5 + .byte W08 + .byte Cs5 + .byte W08 + .byte Ds5 + .byte W08 + .byte Fn5 + .byte W08 + .byte W48 + .byte Fs4 + .byte W08 + .byte Fn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte As4 + .byte W08 + .byte Cs5 + .byte W04 + .byte Ds5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Ds5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Ds5 + .byte W04 + .byte N08 , Gs4 + .byte W08 + .byte N04 , Ds4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Gs4 + .byte W16 + .byte Bn4 + .byte W08 + .byte Fn5 + .byte W04 + .byte Fs5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Fs5 + .byte W04 + .byte Fn5 + .byte W04 + .byte Fs5 + .byte W04 + .byte Fn5 + .byte W08 + .byte Ds5 + .byte W08 + .byte Cn5 + .byte W08 + .byte PATT + .word mus_title3_2_000 + .byte N04 , Gs4 , v112 + .byte W08 + .byte As4 + .byte W08 + .byte Bn4 + .byte W08 + .byte As4 + .byte W08 + .byte Bn4 + .byte W08 + .byte Cs5 + .byte W08 + .byte Bn4 + .byte W08 + .byte Cs5 + .byte W08 + .byte Dn5 + .byte W08 + .byte Cs5 + .byte W08 + .byte Fn5 + .byte W08 + .byte Gs5 + .byte W08 + .byte VOICE , 60 + .byte VOL , 68*mus_title3_mvl/mxv + .byte W48 + .byte N08 , Fs2 + .byte W08 + .byte N04 , Fn2 + .byte W08 + .byte N08 , Fs2 + .byte W08 + .byte N06 , As2 + .byte W16 + .byte N04 , Cs3 + .byte W08 + .byte Bn2 + .byte W16 + .byte N08 , Cs3 + .byte W08 + .byte N24 , Fs3 + .byte W24 + .byte PAN , c_v-35 + .byte VOL , 48*mus_title3_mvl/mxv + .byte N04 , Ds4 + .byte W16 + .byte N08 , Fs4 + .byte W08 + .byte N72 , Bn4 + .byte W24 + .byte W14 + .byte MOD , 7 + .byte W32 + .byte W02 + .byte 0 + .byte W48 + .byte W96 + .byte W96 + .byte VOICE , 60 + .byte PAN , c_v+32 + .byte VOL , 45*mus_title3_mvl/mxv + .byte N08 , Fs2 + .byte W08 + .byte N04 , Bn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte N08 , Cs3 + .byte W08 + .byte N04 , An2 + .byte W08 + .byte Gn2 + .byte W08 + .byte N08 , Fs2 + .byte W08 + .byte N04 , Bn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte N08 , Dn3 + .byte W08 + .byte N04 , An2 + .byte W08 + .byte Gn2 + .byte W08 + .byte N08 , Fs2 + .byte W08 + .byte N04 , Bn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte N08 , Cs3 + .byte W08 + .byte N04 , An2 + .byte W08 + .byte Gn2 + .byte W08 + .byte N08 , Fs2 + .byte W08 + .byte N04 , Fn2 + .byte W08 + .byte Fs2 + .byte W08 + .byte N08 , As2 + .byte W08 + .byte N04 , Gn2 + .byte W08 + .byte En2 + .byte W08 + .byte N08 , Fs2 + .byte W08 + .byte N04 , Bn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte N08 , Cs3 + .byte W10 + .byte N04 , An2 + .byte W06 + .byte Gn2 + .byte W08 + .byte N08 , Fs2 + .byte W08 + .byte N04 , Bn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte N08 , Dn3 + .byte W08 + .byte N04 , An2 + .byte W08 + .byte Gn2 + .byte W08 + .byte N08 , Fs2 + .byte W08 + .byte N04 , Dn3 + .byte W08 + .byte Ds3 + .byte W08 + .byte N08 , En3 + .byte W08 + .byte N04 , An2 + .byte W08 + .byte Gn2 + .byte W08 + .byte N08 , Fs2 + .byte W08 + .byte N04 , Ds3 + .byte W08 + .byte En3 + .byte W08 + .byte N08 , Fn3 + .byte W08 + .byte N04 , En3 + .byte W08 + .byte Fn3 + .byte W08 + .byte N06 , Fs3 + .byte W96 + .byte W96 + .byte W96 + .byte N04 , Fs5 + .byte W96 + .byte FINE + +@********************** Track 3 **********************@ + +mus_title3_3: + .byte KEYSH , mus_title3_key+0 + .byte VOICE , 58 + .byte VOL , 77*mus_title3_mvl/mxv + .byte LFOS , 44 + .byte PAN , c_v+9 + .byte W24 + .byte VOL , 90*mus_title3_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte N14 , Ds2 , v112 + .byte W24 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Dn2 + .byte W08 + .byte Ds2 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte En2 + .byte W08 +mus_title3_3_000: + .byte N08 , Fn1 , v112 + .byte W16 + .byte N04 , Fn1 , v080 + .byte W08 + .byte N08 , Fn1 , v112 + .byte W08 + .byte Cn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte Fn1 + .byte W16 + .byte N04 , Fn1 , v080 + .byte W08 + .byte N08 , En1 , v112 + .byte W16 + .byte N04 , En1 , v080 + .byte W08 + .byte PEND +mus_title3_3_001: + .byte N08 , Ds1 , v112 + .byte W16 + .byte N04 , Ds1 , v080 + .byte W08 + .byte N08 , Ds1 , v112 + .byte W16 + .byte N04 , Ds1 , v080 + .byte W08 + .byte N08 , Ds1 , v112 + .byte W16 + .byte N04 , Ds1 , v080 + .byte W08 + .byte N08 , En1 , v112 + .byte W08 + .byte Bn1 + .byte W08 + .byte En2 + .byte W08 + .byte PEND + .byte PATT + .word mus_title3_3_000 + .byte N20 , Ds1 , v112 + .byte W24 + .byte N04 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N08 + .byte W08 + .byte As1 + .byte W08 + .byte Ds2 + .byte W08 + .byte En1 + .byte W08 + .byte Bn1 + .byte W08 + .byte En2 + .byte W08 + .byte Fn1 + .byte W16 + .byte N04 + .byte W08 + .byte N08 + .byte W08 + .byte Cn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte Fn1 + .byte W16 + .byte N04 , Fn1 , v080 + .byte W08 + .byte N08 , En1 , v112 + .byte W16 + .byte N04 , En1 , v080 + .byte W08 + .byte PATT + .word mus_title3_3_001 + .byte PATT + .word mus_title3_3_000 + .byte N08 , Ds1 , v112 + .byte W08 + .byte N04 , Dn1 + .byte W08 + .byte Ds1 + .byte W08 + .byte N24 , Cs2 + .byte W16 + .byte MOD , 8 + .byte W08 + .byte 0 + .byte N16 , As1 + .byte W16 + .byte N08 , Ds1 + .byte W08 + .byte As0 + .byte W08 + .byte Cs1 + .byte W08 + .byte N04 , Ds1 + .byte W04 + .byte En1 + .byte W04 + .byte N08 , Fn1 + .byte W16 + .byte N04 , Fn1 , v080 + .byte W08 + .byte N08 , Fn1 , v112 + .byte W08 + .byte Cn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte Fn1 + .byte W08 + .byte Cn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte En1 + .byte W16 + .byte N04 , En1 , v080 + .byte W08 + .byte N08 , Ds1 , v112 + .byte W16 + .byte N04 , Ds1 , v080 + .byte W08 + .byte N08 , Ds1 , v112 + .byte W08 + .byte As1 + .byte W08 + .byte Ds2 + .byte W08 + .byte Ds1 + .byte W16 + .byte N04 , Ds1 , v080 + .byte W08 + .byte N08 , En1 , v112 + .byte W16 + .byte N04 , En1 , v080 + .byte W08 + .byte PATT + .word mus_title3_3_000 + .byte N04 , Ds1 , v112 + .byte W08 + .byte N04 + .byte W16 + .byte N12 + .byte W16 + .byte N08 , En1 + .byte W08 + .byte Ds1 + .byte W08 + .byte N16 , Fn1 + .byte W16 + .byte N06 , Gn1 + .byte W16 + .byte N08 , En1 + .byte W08 + .byte Fn1 + .byte W16 + .byte N04 , Fn1 , v080 + .byte W08 + .byte N08 , Fn1 , v112 + .byte W16 + .byte N04 , Fn1 , v080 + .byte W08 + .byte N08 , Fn1 , v112 + .byte W08 + .byte Cn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte En1 + .byte W16 + .byte N04 , En1 , v080 + .byte W08 + .byte N08 , Ds1 , v112 + .byte W16 + .byte N04 , Ds1 , v080 + .byte W08 + .byte N08 , Ds1 , v112 + .byte W08 + .byte As1 + .byte W08 + .byte Ds2 + .byte W08 + .byte Dn1 + .byte W16 + .byte N04 , Dn1 , v080 + .byte W08 + .byte N08 , Cn1 , v112 + .byte W16 + .byte N04 , Cn1 , v080 + .byte W08 + .byte N40 , As0 , v112 + .byte W24 + .byte MOD , 7 + .byte W16 + .byte 0 + .byte N08 , Gs1 + .byte W08 + .byte N24 , Dn1 + .byte W24 + .byte N08 , Fn1 + .byte W08 + .byte En1 + .byte W08 + .byte Ds1 + .byte W08 + .byte N24 , Dn1 + .byte W24 + .byte N08 , As0 + .byte W08 + .byte Dn1 + .byte W08 + .byte Fn1 + .byte W08 + .byte N24 , Cn2 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N08 , As1 + .byte W08 + .byte Gs1 + .byte W08 + .byte Fn1 + .byte W08 + .byte VOICE , 48 + .byte N24 , Ds1 + .byte W24 + .byte N08 , Cn1 + .byte W08 + .byte Ds1 + .byte W08 + .byte Gs1 + .byte W08 + .byte N14 , Ds2 + .byte W16 + .byte Dn2 + .byte W16 + .byte Cs2 + .byte W16 + .byte Cn2 + .byte W16 + .byte Bn1 + .byte W16 + .byte As1 + .byte W16 + .byte N08 , Gs1 + .byte W08 + .byte As1 + .byte W08 + .byte Gs1 + .byte W08 + .byte Gn1 + .byte W08 + .byte Fn1 + .byte W08 + .byte Ds1 + .byte W08 + .byte N24 , As1 + .byte W14 + .byte MOD , 6 + .byte W10 + .byte 0 + .byte N08 , An0 + .byte W08 + .byte Fn1 + .byte W08 + .byte As1 + .byte W08 + .byte N14 , Fn2 + .byte W16 + .byte En2 + .byte W16 + .byte Ds2 + .byte W16 + .byte Dn2 + .byte W16 + .byte Cs2 + .byte W16 + .byte Cn2 + .byte W16 + .byte N08 , As1 + .byte W08 + .byte Cn2 + .byte W08 + .byte As1 + .byte W08 + .byte Gn1 + .byte W08 + .byte As1 + .byte W08 + .byte Bn1 + .byte W08 + .byte VOICE , 58 + .byte W96 + .byte W56 + .byte N14 , As3 + .byte W16 + .byte N04 + .byte W16 + .byte Bn3 + .byte W08 + .byte W96 + .byte VOICE , 56 + .byte N04 , Cn3 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte As2 + .byte W08 + .byte N04 + .byte W08 + .byte Bn2 + .byte W08 + .byte VOICE , 58 + .byte PAN , c_v+0 + .byte VOL , 72*mus_title3_mvl/mxv + .byte N48 , Ds1 + .byte W24 + .byte MOD , 10 + .byte W24 + .byte 0 + .byte N24 , Fn1 + .byte W24 + .byte N16 , Cn1 + .byte W16 + .byte N08 , Cs1 + .byte W08 + .byte N32 , Dn1 + .byte W16 + .byte MOD , 9 + .byte W14 + .byte 0 + .byte W02 + .byte N08 , Cs1 + .byte W08 + .byte Dn1 + .byte W08 + .byte N22 , As0 + .byte W22 + .byte N02 , Bn0 + .byte W02 + .byte N24 , Cn1 + .byte W24 + .byte N48 , Cs1 + .byte W24 + .byte MOD , 9 + .byte W24 + .byte 0 + .byte N16 , Cn1 + .byte W16 + .byte N06 , Ds1 + .byte W08 + .byte N16 , As0 + .byte W16 + .byte N06 , Cs1 + .byte W06 + .byte N02 , An0 + .byte W02 + .byte N40 , Gs0 + .byte W24 + .byte MOD , 11 + .byte W16 + .byte N06 , Ds1 + .byte W02 + .byte MOD , 0 + .byte W04 + .byte N02 , An1 + .byte W02 + .byte N20 , Gs1 + .byte W20 + .byte N02 , Gn1 + .byte W02 + .byte Fs1 + .byte W02 + .byte N08 , Fn1 + .byte W08 + .byte Ds1 + .byte W08 + .byte Cs1 + .byte W08 + .byte N40 , Bn0 + .byte W24 + .byte MOD , 9 + .byte W16 + .byte 0 + .byte N08 , Cs1 + .byte W08 + .byte Fn1 + .byte W08 + .byte Ds1 + .byte W08 + .byte Cs1 + .byte W08 + .byte N24 , Gs0 + .byte W24 + .byte N10 , Fs0 + .byte W16 + .byte N04 , Gs0 + .byte W08 + .byte N08 , Fs0 + .byte W16 + .byte N04 + .byte W08 + .byte N08 + .byte W16 + .byte N04 + .byte W08 + .byte N08 + .byte W16 + .byte N04 + .byte W08 + .byte N10 , Gs0 + .byte W16 + .byte N04 + .byte W08 + .byte N08 + .byte W08 + .byte Gs1 + .byte W08 + .byte N04 , Gs0 + .byte W08 + .byte N08 + .byte W16 + .byte N04 + .byte W08 + .byte N08 + .byte W16 + .byte N04 + .byte W08 + .byte N10 , Cs1 + .byte W16 + .byte N04 + .byte W08 + .byte N08 + .byte W08 + .byte Bn1 + .byte W08 + .byte N04 , Cs1 + .byte W08 + .byte N08 + .byte W08 + .byte Bn1 + .byte W08 + .byte N04 , Gs1 + .byte W08 + .byte N08 , Fn1 + .byte W08 + .byte N04 , Gs1 + .byte W04 + .byte Fn1 + .byte W04 + .byte Cs1 + .byte W08 + .byte VOL , 84*mus_title3_mvl/mxv + .byte W16 + .byte N04 , Fn1 + .byte W08 + .byte Fs1 + .byte W16 + .byte Fn1 + .byte W08 + .byte N12 , Fs1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte Fn1 + .byte W08 +mus_title3_3_002: + .byte N12 , Fs1 , v112 + .byte W16 + .byte N04 , Fn1 + .byte W08 + .byte Fs1 + .byte W16 + .byte Fn1 + .byte W08 + .byte N12 , Fs1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W24 + .byte PEND +mus_title3_3_003: + .byte W16 + .byte N04 , Fn1 , v112 + .byte W08 + .byte Fs1 + .byte W16 + .byte Fn1 + .byte W08 + .byte N12 , Fs1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte Fn1 + .byte W08 + .byte PEND + .byte N12 , Fs1 + .byte W16 + .byte N04 , Fn1 + .byte W08 + .byte Fs1 + .byte W16 + .byte Fn1 + .byte W08 + .byte N12 , Fs1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte Fn1 + .byte W08 + .byte PATT + .word mus_title3_3_003 + .byte PATT + .word mus_title3_3_002 + .byte PATT + .word mus_title3_3_003 + .byte N12 , Fs1 , v112 + .byte W16 + .byte N04 , Fn1 + .byte W08 + .byte Fs1 + .byte W16 + .byte Gs1 + .byte W08 + .byte N12 + .byte W16 + .byte N04 , Bn1 + .byte W08 + .byte N08 , Fn1 + .byte W08 + .byte Ds1 + .byte W08 + .byte Cs1 + .byte W08 + .byte N24 , Fs1 + .byte W16 + .byte MOD , 9 + .byte W08 + .byte 0 + .byte N16 , Cs1 + .byte W16 + .byte N04 , As1 + .byte W04 + .byte Fs1 + .byte W04 + .byte TIE , En1 + .byte W48 + .byte VOL , 84*mus_title3_mvl/mxv + .byte W04 + .byte 82*mus_title3_mvl/mxv + .byte W04 + .byte 80*mus_title3_mvl/mxv + .byte W04 + .byte 80*mus_title3_mvl/mxv + .byte W04 + .byte 79*mus_title3_mvl/mxv + .byte W04 + .byte 78*mus_title3_mvl/mxv + .byte W04 + .byte 77*mus_title3_mvl/mxv + .byte W04 + .byte 75*mus_title3_mvl/mxv + .byte W01 + .byte 73*mus_title3_mvl/mxv + .byte W03 + .byte 72*mus_title3_mvl/mxv + .byte W01 + .byte 71*mus_title3_mvl/mxv + .byte W03 + .byte 70*mus_title3_mvl/mxv + .byte W04 + .byte 68*mus_title3_mvl/mxv + .byte W05 + .byte 67*mus_title3_mvl/mxv + .byte W03 + .byte MOD , 4 + .byte VOL , 66*mus_title3_mvl/mxv + .byte W04 + .byte 65*mus_title3_mvl/mxv + .byte W04 + .byte 63*mus_title3_mvl/mxv + .byte W01 + .byte 63*mus_title3_mvl/mxv + .byte W03 + .byte 62*mus_title3_mvl/mxv + .byte W04 + .byte 60*mus_title3_mvl/mxv + .byte W04 + .byte 58*mus_title3_mvl/mxv + .byte W04 + .byte 56*mus_title3_mvl/mxv + .byte W05 + .byte 55*mus_title3_mvl/mxv + .byte W03 + .byte 54*mus_title3_mvl/mxv + .byte W01 + .byte 53*mus_title3_mvl/mxv + .byte W03 + .byte 51*mus_title3_mvl/mxv + .byte W01 + .byte 50*mus_title3_mvl/mxv + .byte W03 + .byte 49*mus_title3_mvl/mxv + .byte W01 + .byte 48*mus_title3_mvl/mxv + .byte W03 + .byte 46*mus_title3_mvl/mxv + .byte W04 + .byte MOD , 9 + .byte VOL , 46*mus_title3_mvl/mxv + .byte W01 + .byte 45*mus_title3_mvl/mxv + .byte W03 + .byte 44*mus_title3_mvl/mxv + .byte W04 + .byte 43*mus_title3_mvl/mxv + .byte W01 + .byte 42*mus_title3_mvl/mxv + .byte W03 + .byte 41*mus_title3_mvl/mxv + .byte W04 + .byte 41*mus_title3_mvl/mxv + .byte W04 + .byte 40*mus_title3_mvl/mxv + .byte W01 + .byte 39*mus_title3_mvl/mxv + .byte W03 + .byte MOD , 12 + .byte VOL , 45*mus_title3_mvl/mxv + .byte W01 + .byte 48*mus_title3_mvl/mxv + .byte W03 + .byte 52*mus_title3_mvl/mxv + .byte W01 + .byte 53*mus_title3_mvl/mxv + .byte W01 + .byte 56*mus_title3_mvl/mxv + .byte W02 + .byte 61*mus_title3_mvl/mxv + .byte W01 + .byte 63*mus_title3_mvl/mxv + .byte W03 + .byte 65*mus_title3_mvl/mxv + .byte W01 + .byte 71*mus_title3_mvl/mxv + .byte W03 + .byte 72*mus_title3_mvl/mxv + .byte W01 + .byte 75*mus_title3_mvl/mxv + .byte W03 + .byte 79*mus_title3_mvl/mxv + .byte W01 + .byte 81*mus_title3_mvl/mxv + .byte W03 + .byte EOT + .byte MOD , 0 + .byte VOL , 85*mus_title3_mvl/mxv + .byte N08 , Fs1 + .byte W08 + .byte Fn1 + .byte W08 + .byte Ds1 + .byte W08 + .byte Cs1 + .byte W08 + .byte Bn0 + .byte W08 + .byte As0 + .byte W08 + .byte N16 , Bn0 + .byte W16 + .byte Ds1 + .byte W16 + .byte Fs1 + .byte W16 + .byte Bn1 + .byte W16 + .byte Ds2 + .byte W16 + .byte Fs2 + .byte W16 + .byte Bn2 + .byte W16 + .byte Fs2 + .byte W16 + .byte Dn2 + .byte W16 + .byte N24 , Dn3 , v108 + .byte W24 + .byte N04 , Bn2 , v112 + .byte W04 + .byte Fs2 , v080 + .byte W04 + .byte Dn2 + .byte W04 + .byte Bn1 + .byte W04 + .byte Gs1 + .byte W04 + .byte Fn1 + .byte W04 + .byte VOICE , 58 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , Fs2 , v112 + .byte W24 + .byte N04 , Fs1 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N10 + .byte W48 + .byte FINE + +@********************** Track 4 **********************@ + +mus_title3_4: + .byte KEYSH , mus_title3_key+0 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte VOL , 90*mus_title3_mvl/mxv + .byte MOD , 0 + .byte LFOS , 44 + .byte N04 , Cn3 , v112 + .byte W04 + .byte En3 + .byte W04 + .byte Fn3 + .byte W04 + .byte An3 + .byte W04 + .byte Cn4 + .byte W04 + .byte En4 + .byte W04 + .byte N72 , Fn4 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 10 + .byte W24 + .byte 0 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N72 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 11 + .byte W24 + .byte 0 + .byte W08 + .byte N04 , En4 + .byte W08 + .byte Fn4 + .byte W06 + .byte N02 , Gn4 + .byte W02 + .byte N06 , Fs4 + .byte W06 + .byte N66 , Fn4 + .byte W18 + .byte MOD , 5 + .byte W24 + .byte 10 + .byte W24 + .byte 0 + .byte W08 + .byte N04 + .byte W08 + .byte En4 + .byte W04 + .byte Fn4 + .byte W04 + .byte N14 , Ds4 + .byte W24 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte Dn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N04 , En4 + .byte W04 + .byte VOICE , 56 + .byte N04 , En3 + .byte W04 + .byte N40 , Fn3 , v120 + .byte W16 + .byte MOD , 6 + .byte W22 + .byte 1 + .byte W01 + .byte 0 + .byte W01 + .byte N06 , An3 + .byte W06 + .byte N02 , Cs4 , v112 + .byte W02 + .byte N88 , Cn4 , v120 + .byte W48 + .byte MOD , 6 + .byte VOL , 87*mus_title3_mvl/mxv + .byte W01 + .byte 87*mus_title3_mvl/mxv + .byte W03 + .byte 85*mus_title3_mvl/mxv + .byte W04 + .byte 82*mus_title3_mvl/mxv + .byte W01 + .byte 82*mus_title3_mvl/mxv + .byte W03 + .byte 79*mus_title3_mvl/mxv + .byte W04 + .byte 77*mus_title3_mvl/mxv + .byte W01 + .byte 77*mus_title3_mvl/mxv + .byte W03 + .byte 74*mus_title3_mvl/mxv + .byte W01 + .byte 73*mus_title3_mvl/mxv + .byte W03 + .byte 72*mus_title3_mvl/mxv + .byte W01 + .byte 72*mus_title3_mvl/mxv + .byte W03 + .byte 69*mus_title3_mvl/mxv + .byte W04 + .byte 68*mus_title3_mvl/mxv + .byte W04 + .byte 66*mus_title3_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 90*mus_title3_mvl/mxv + .byte N04 , Cs4 , v112 + .byte W04 + .byte Dn4 + .byte W04 + .byte N32 , Ds4 , v124 + .byte W32 + .byte N08 , Dn4 , v112 + .byte W08 + .byte Cs4 + .byte W08 + .byte N96 , Cn4 , v124 + .byte W48 + .byte MOD , 6 + .byte VOL , 90*mus_title3_mvl/mxv + .byte W02 + .byte 89*mus_title3_mvl/mxv + .byte W02 + .byte 89*mus_title3_mvl/mxv + .byte W02 + .byte 87*mus_title3_mvl/mxv + .byte W02 + .byte 87*mus_title3_mvl/mxv + .byte W02 + .byte 85*mus_title3_mvl/mxv + .byte W04 + .byte 82*mus_title3_mvl/mxv + .byte W02 + .byte 81*mus_title3_mvl/mxv + .byte W02 + .byte 80*mus_title3_mvl/mxv + .byte W02 + .byte 78*mus_title3_mvl/mxv + .byte W02 + .byte 77*mus_title3_mvl/mxv + .byte W02 + .byte 75*mus_title3_mvl/mxv + .byte W02 + .byte 72*mus_title3_mvl/mxv + .byte W02 + .byte 71*mus_title3_mvl/mxv + .byte W02 + .byte 70*mus_title3_mvl/mxv + .byte W02 + .byte 67*mus_title3_mvl/mxv + .byte W02 + .byte 65*mus_title3_mvl/mxv + .byte W02 + .byte 65*mus_title3_mvl/mxv + .byte W02 + .byte 62*mus_title3_mvl/mxv + .byte W02 + .byte 60*mus_title3_mvl/mxv + .byte W02 + .byte 60*mus_title3_mvl/mxv + .byte W02 + .byte 58*mus_title3_mvl/mxv + .byte W04 + .byte VOICE , 60 + .byte MOD , 0 + .byte VOL , 79*mus_title3_mvl/mxv + .byte N20 , As3 , v112 + .byte W24 + .byte N04 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N08 , Ds4 + .byte W08 + .byte As3 + .byte W08 + .byte Ds4 + .byte W08 + .byte Gs4 + .byte W08 + .byte En4 + .byte W08 + .byte Bn3 + .byte W08 + .byte VOICE , 48 + .byte PAN , c_v-16 + .byte W48 + .byte N06 , Cn4 + .byte W08 + .byte N04 , Bn3 + .byte W08 + .byte Cn4 + .byte W08 + .byte N06 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 + .byte W08 + .byte N04 , Dn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte N24 , As3 + .byte W24 + .byte N04 , Bn3 + .byte W04 + .byte N12 , As3 + .byte W12 + .byte N16 , An3 + .byte W16 + .byte N14 , As3 + .byte W14 + .byte N02 , Bn3 + .byte W02 + .byte N96 , Cn4 + .byte W48 + .byte MOD , 2 + .byte W24 + .byte VOL , 78*mus_title3_mvl/mxv + .byte W02 + .byte 77*mus_title3_mvl/mxv + .byte W02 + .byte 75*mus_title3_mvl/mxv + .byte W02 + .byte 72*mus_title3_mvl/mxv + .byte W02 + .byte 71*mus_title3_mvl/mxv + .byte W02 + .byte 70*mus_title3_mvl/mxv + .byte W02 + .byte 68*mus_title3_mvl/mxv + .byte W02 + .byte 65*mus_title3_mvl/mxv + .byte W02 + .byte 65*mus_title3_mvl/mxv + .byte W02 + .byte 61*mus_title3_mvl/mxv + .byte W02 + .byte 60*mus_title3_mvl/mxv + .byte W04 + .byte 79*mus_title3_mvl/mxv + .byte MOD , 0 + .byte W96 + .byte VOICE , 56 + .byte PAN , c_v+0 + .byte VOL , 90*mus_title3_mvl/mxv + .byte N24 , Cn3 , v124 + .byte W24 + .byte N08 , Fn3 + .byte W08 + .byte N14 , An3 + .byte W14 + .byte N02 , Bn3 , v112 + .byte W02 + .byte N88 , Cn4 , v124 + .byte W48 + .byte MOD , 6 + .byte VOL , 90*mus_title3_mvl/mxv + .byte W02 + .byte 89*mus_title3_mvl/mxv + .byte W02 + .byte 85*mus_title3_mvl/mxv + .byte W02 + .byte 81*mus_title3_mvl/mxv + .byte W02 + .byte 79*mus_title3_mvl/mxv + .byte W02 + .byte 77*mus_title3_mvl/mxv + .byte W02 + .byte 76*mus_title3_mvl/mxv + .byte W02 + .byte 75*mus_title3_mvl/mxv + .byte W02 + .byte 72*mus_title3_mvl/mxv + .byte W02 + .byte 71*mus_title3_mvl/mxv + .byte W02 + .byte 70*mus_title3_mvl/mxv + .byte W02 + .byte 67*mus_title3_mvl/mxv + .byte W02 + .byte 65*mus_title3_mvl/mxv + .byte W02 + .byte 65*mus_title3_mvl/mxv + .byte W02 + .byte 62*mus_title3_mvl/mxv + .byte W02 + .byte 60*mus_title3_mvl/mxv + .byte W02 + .byte 60*mus_title3_mvl/mxv + .byte W04 + .byte 59*mus_title3_mvl/mxv + .byte W02 + .byte 58*mus_title3_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 90*mus_title3_mvl/mxv + .byte N04 , Cs4 , v112 + .byte W04 + .byte Dn4 + .byte W04 + .byte N32 , Ds4 , v124 + .byte W32 + .byte N08 , Dn4 , v112 + .byte W08 + .byte Cs4 + .byte W08 + .byte N96 , Cn4 , v124 + .byte W48 + .byte MOD , 6 + .byte VOL , 90*mus_title3_mvl/mxv + .byte W01 + .byte 89*mus_title3_mvl/mxv + .byte W01 + .byte 87*mus_title3_mvl/mxv + .byte W02 + .byte 87*mus_title3_mvl/mxv + .byte W02 + .byte 85*mus_title3_mvl/mxv + .byte W02 + .byte 81*mus_title3_mvl/mxv + .byte W02 + .byte 79*mus_title3_mvl/mxv + .byte W02 + .byte 77*mus_title3_mvl/mxv + .byte W02 + .byte 76*mus_title3_mvl/mxv + .byte W02 + .byte 75*mus_title3_mvl/mxv + .byte W02 + .byte 73*mus_title3_mvl/mxv + .byte W02 + .byte 72*mus_title3_mvl/mxv + .byte W02 + .byte 71*mus_title3_mvl/mxv + .byte W02 + .byte 70*mus_title3_mvl/mxv + .byte W02 + .byte 70*mus_title3_mvl/mxv + .byte W02 + .byte 68*mus_title3_mvl/mxv + .byte W02 + .byte 67*mus_title3_mvl/mxv + .byte W02 + .byte 66*mus_title3_mvl/mxv + .byte W02 + .byte 65*mus_title3_mvl/mxv + .byte W02 + .byte 64*mus_title3_mvl/mxv + .byte W02 + .byte 61*mus_title3_mvl/mxv + .byte W02 + .byte 60*mus_title3_mvl/mxv + .byte W02 + .byte 59*mus_title3_mvl/mxv + .byte W02 + .byte 56*mus_title3_mvl/mxv + .byte W04 + .byte VOICE , 60 + .byte VOL , 76*mus_title3_mvl/mxv + .byte MOD , 0 + .byte N04 , Ds4 , v112 + .byte W08 + .byte N04 + .byte W16 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N04 , Gn4 + .byte W08 + .byte Ds4 + .byte W16 + .byte N02 , Gn4 + .byte W16 + .byte N04 + .byte W08 + .byte VOL , 90*mus_title3_mvl/mxv + .byte PAN , c_v+0 + .byte N12 , Fn3 + .byte W12 + .byte N02 , En3 + .byte W02 + .byte Ds3 + .byte W02 + .byte Dn3 + .byte W02 + .byte Cn3 + .byte W02 + .byte As2 + .byte W04 + .byte N08 , Fn3 + .byte W08 + .byte N04 , Cn3 + .byte W08 + .byte N06 , An3 + .byte W06 + .byte N02 , Bn3 + .byte W02 + .byte N96 , Cn4 + .byte W48 + .byte MOD , 4 + .byte VOL , 90*mus_title3_mvl/mxv + .byte W02 + .byte 89*mus_title3_mvl/mxv + .byte W02 + .byte 87*mus_title3_mvl/mxv + .byte W02 + .byte 85*mus_title3_mvl/mxv + .byte W02 + .byte 84*mus_title3_mvl/mxv + .byte W02 + .byte 81*mus_title3_mvl/mxv + .byte W02 + .byte 80*mus_title3_mvl/mxv + .byte W02 + .byte 78*mus_title3_mvl/mxv + .byte W02 + .byte 77*mus_title3_mvl/mxv + .byte W02 + .byte 76*mus_title3_mvl/mxv + .byte W02 + .byte 75*mus_title3_mvl/mxv + .byte W02 + .byte 73*mus_title3_mvl/mxv + .byte W02 + .byte 72*mus_title3_mvl/mxv + .byte W02 + .byte 71*mus_title3_mvl/mxv + .byte W02 + .byte 70*mus_title3_mvl/mxv + .byte W02 + .byte 70*mus_title3_mvl/mxv + .byte W02 + .byte 68*mus_title3_mvl/mxv + .byte W04 + .byte 66*mus_title3_mvl/mxv + .byte W02 + .byte 65*mus_title3_mvl/mxv + .byte W02 + .byte 65*mus_title3_mvl/mxv + .byte W02 + .byte 64*mus_title3_mvl/mxv + .byte W02 + .byte 62*mus_title3_mvl/mxv + .byte W02 + .byte 61*mus_title3_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 90*mus_title3_mvl/mxv + .byte N18 , Ds4 + .byte W18 + .byte N16 , Dn4 + .byte W16 + .byte N14 , Ds4 + .byte W14 + .byte N36 , Fn4 + .byte W16 + .byte MOD , 4 + .byte VOL , 90*mus_title3_mvl/mxv + .byte W02 + .byte 85*mus_title3_mvl/mxv + .byte W02 + .byte 81*mus_title3_mvl/mxv + .byte W02 + .byte 77*mus_title3_mvl/mxv + .byte W02 + .byte 75*mus_title3_mvl/mxv + .byte W02 + .byte 70*mus_title3_mvl/mxv + .byte W02 + .byte 67*mus_title3_mvl/mxv + .byte W02 + .byte 65*mus_title3_mvl/mxv + .byte W02 + .byte 62*mus_title3_mvl/mxv + .byte W02 + .byte 60*mus_title3_mvl/mxv + .byte W02 + .byte MOD , 0 + .byte VOL , 60*mus_title3_mvl/mxv + .byte W02 + .byte 90*mus_title3_mvl/mxv + .byte N02 , An4 , v092 + .byte W02 + .byte N08 , Gs4 , v112 + .byte W08 + .byte N02 , Fs4 + .byte W02 + .byte N92 , Fn4 + .byte W44 + .byte W02 + .byte VOL , 86*mus_title3_mvl/mxv + .byte W01 + .byte 84*mus_title3_mvl/mxv + .byte W03 + .byte 77*mus_title3_mvl/mxv + .byte W01 + .byte 73*mus_title3_mvl/mxv + .byte W03 + .byte 68*mus_title3_mvl/mxv + .byte W01 + .byte 66*mus_title3_mvl/mxv + .byte W03 + .byte 60*mus_title3_mvl/mxv + .byte MOD , 6 + .byte W01 + .byte VOL , 56*mus_title3_mvl/mxv + .byte W03 + .byte 53*mus_title3_mvl/mxv + .byte W01 + .byte 51*mus_title3_mvl/mxv + .byte W03 + .byte 49*mus_title3_mvl/mxv + .byte W01 + .byte 47*mus_title3_mvl/mxv + .byte W03 + .byte 45*mus_title3_mvl/mxv + .byte W01 + .byte 43*mus_title3_mvl/mxv + .byte W03 + .byte 39*mus_title3_mvl/mxv + .byte W01 + .byte 37*mus_title3_mvl/mxv + .byte W03 + .byte 36*mus_title3_mvl/mxv + .byte W01 + .byte 35*mus_title3_mvl/mxv + .byte W15 + .byte MOD , 0 + .byte W48 + .byte VOL , 37*mus_title3_mvl/mxv + .byte N40 , Cn4 + .byte W16 + .byte MOD , 6 + .byte W24 + .byte TIE , Gs3 + .byte W02 + .byte MOD , 0 + .byte W54 + .byte 5 + .byte VOL , 37*mus_title3_mvl/mxv + .byte W04 + .byte 36*mus_title3_mvl/mxv + .byte W01 + .byte 36*mus_title3_mvl/mxv + .byte W04 + .byte 35*mus_title3_mvl/mxv + .byte W03 + .byte 34*mus_title3_mvl/mxv + .byte W01 + .byte 33*mus_title3_mvl/mxv + .byte W03 + .byte 32*mus_title3_mvl/mxv + .byte W04 + .byte 31*mus_title3_mvl/mxv + .byte W04 + .byte 31*mus_title3_mvl/mxv + .byte W04 + .byte 30*mus_title3_mvl/mxv + .byte W08 + .byte 28*mus_title3_mvl/mxv + .byte W01 + .byte 27*mus_title3_mvl/mxv + .byte W11 + .byte EOT + .byte MOD , 0 + .byte VOL , 39*mus_title3_mvl/mxv + .byte N24 , Cn4 + .byte W24 + .byte VOL , 45*mus_title3_mvl/mxv + .byte N24 , Cs4 + .byte W24 + .byte VOL , 54*mus_title3_mvl/mxv + .byte N40 , Dn4 + .byte W16 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte TIE , As3 + .byte W56 + .byte MOD , 6 + .byte VOL , 55*mus_title3_mvl/mxv + .byte W01 + .byte 54*mus_title3_mvl/mxv + .byte W04 + .byte 53*mus_title3_mvl/mxv + .byte W03 + .byte 53*mus_title3_mvl/mxv + .byte W04 + .byte 51*mus_title3_mvl/mxv + .byte W01 + .byte 50*mus_title3_mvl/mxv + .byte W04 + .byte 49*mus_title3_mvl/mxv + .byte W04 + .byte 48*mus_title3_mvl/mxv + .byte W04 + .byte 48*mus_title3_mvl/mxv + .byte W04 + .byte 47*mus_title3_mvl/mxv + .byte W03 + .byte 45*mus_title3_mvl/mxv + .byte W04 + .byte 44*mus_title3_mvl/mxv + .byte W01 + .byte 43*mus_title3_mvl/mxv + .byte W03 + .byte 43*mus_title3_mvl/mxv + .byte W04 + .byte 40*mus_title3_mvl/mxv + .byte W04 + .byte EOT + .byte MOD , 0 + .byte VOL , 65*mus_title3_mvl/mxv + .byte N24 , Fn4 + .byte W24 + .byte Fs4 + .byte W24 + .byte VOL , 70*mus_title3_mvl/mxv + .byte PAN , c_v-16 + .byte N08 , Gn4 + .byte W08 + .byte N02 , Fs4 , v096 + .byte W02 + .byte Fn4 + .byte W02 + .byte Cn3 , v112 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte Bn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte VOICE , 56 + .byte N06 , Gn1 + .byte W12 + .byte N02 , Cn3 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N14 , Fn4 + .byte W16 + .byte N04 + .byte W16 + .byte Fs4 + .byte W08 + .byte VOICE , 56 + .byte N06 , Gn1 + .byte N08 , Gn4 + .byte W08 + .byte N02 , Fs4 , v092 + .byte W02 + .byte Fn4 + .byte W02 + .byte Cn4 , v112 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Cn5 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte As4 + .byte W08 + .byte N04 + .byte W08 + .byte Bn4 + .byte W08 + .byte VOICE , 60 + .byte PAN , c_v-21 + .byte VOL , 41*mus_title3_mvl/mxv + .byte W48 + .byte N24 , Dn3 + .byte W24 + .byte Ds3 + .byte W24 + .byte VOL , 40*mus_title3_mvl/mxv + .byte N08 , Fn3 + .byte W08 + .byte N04 , En3 + .byte W08 + .byte Fn3 + .byte W08 + .byte N08 , As3 + .byte W08 + .byte N04 , An3 + .byte W06 + .byte As3 + .byte W10 + .byte N16 , Fn4 + .byte W16 + .byte Ds4 + .byte W16 + .byte Dn4 + .byte W16 + .byte N48 , Fn4 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N24 , Ds4 + .byte W24 + .byte N22 , Cs4 + .byte W24 + .byte N08 , Gs3 + .byte W08 + .byte N04 , Gn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte N08 , Cn4 + .byte W08 + .byte N04 , Bn3 + .byte W08 + .byte Cn4 + .byte W08 + .byte N24 , Ds4 + .byte W24 + .byte N02 , Dn4 , v108 + .byte W02 + .byte Cs4 , v092 + .byte W02 + .byte Cn4 , v088 + .byte W02 + .byte Bn3 + .byte W02 + .byte As3 , v080 + .byte W02 + .byte An3 + .byte W06 + .byte N04 , Gn3 , v112 + .byte W04 + .byte An3 + .byte W04 + .byte N48 , Bn3 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N24 , Cs4 + .byte W24 + .byte N16 , Gs3 + .byte W16 + .byte N08 , Cn4 + .byte W08 + .byte N16 , Ds4 + .byte W16 + .byte Cs4 + .byte W16 + .byte Cn4 + .byte W16 + .byte Cs4 + .byte W14 + .byte Fn3 + .byte W18 + .byte As3 + .byte W16 + .byte N10 , Gs3 + .byte W10 + .byte N04 , Gn3 + .byte W06 + .byte Gs3 + .byte W08 + .byte N08 , As3 + .byte W08 + .byte N04 , An3 + .byte W08 + .byte As3 + .byte W08 + .byte N08 , Cn4 + .byte W08 + .byte N04 , Bn3 + .byte W08 + .byte Cn4 + .byte W08 + .byte N10 , Cs4 + .byte W10 + .byte N04 , Cn4 + .byte W06 + .byte Cs4 + .byte W08 + .byte N40 , Ds4 + .byte W24 + .byte MOD , 5 + .byte W16 + .byte 0 + .byte N04 , Fn4 + .byte W04 + .byte Ds4 + .byte W04 + .byte N08 , Cs4 + .byte W08 + .byte N04 , Ds4 + .byte W08 + .byte Cs4 + .byte W08 + .byte N08 , Bn3 + .byte W08 + .byte As3 + .byte W08 + .byte Gs3 + .byte W08 + .byte VOL , 87*mus_title3_mvl/mxv + .byte PAN , c_v+0 + .byte N24 , Fs3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte W16 + .byte N04 , As3 + .byte W08 + .byte N48 , Cs4 + .byte W16 + .byte MOD , 7 + .byte W08 + .byte VOL , 86*mus_title3_mvl/mxv + .byte W04 + .byte 82*mus_title3_mvl/mxv + .byte W04 + .byte 78*mus_title3_mvl/mxv + .byte W04 + .byte 72*mus_title3_mvl/mxv + .byte W04 + .byte 68*mus_title3_mvl/mxv + .byte W04 + .byte 62*mus_title3_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 86*mus_title3_mvl/mxv + .byte N24 , Gs3 + .byte W16 + .byte MOD , 7 + .byte W08 + .byte 0 + .byte W16 + .byte N04 , Bn3 + .byte W08 + .byte N32 , En4 + .byte W08 + .byte MOD , 6 + .byte W08 + .byte 8 + .byte W16 + .byte 0 + .byte N04 , Ds4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N96 , Cs4 + .byte W48 + .byte MOD , 6 + .byte VOL , 85*mus_title3_mvl/mxv + .byte W04 + .byte 82*mus_title3_mvl/mxv + .byte W04 + .byte 79*mus_title3_mvl/mxv + .byte W04 + .byte 77*mus_title3_mvl/mxv + .byte W04 + .byte 73*mus_title3_mvl/mxv + .byte W04 + .byte 72*mus_title3_mvl/mxv + .byte W04 + .byte 70*mus_title3_mvl/mxv + .byte W04 + .byte 68*mus_title3_mvl/mxv + .byte W04 + .byte 66*mus_title3_mvl/mxv + .byte W04 + .byte 62*mus_title3_mvl/mxv + .byte W04 + .byte 58*mus_title3_mvl/mxv + .byte W04 + .byte 56*mus_title3_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 87*mus_title3_mvl/mxv + .byte W72 + .byte VOICE , 56 + .byte W24 + .byte VOL , 90*mus_title3_mvl/mxv + .byte N08 , Fs3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Fs3 + .byte W16 + .byte N04 , As3 + .byte W08 + .byte N48 , Cs4 + .byte W08 + .byte MOD , 5 + .byte W16 + .byte VOL , 88*mus_title3_mvl/mxv + .byte W01 + .byte 87*mus_title3_mvl/mxv + .byte W03 + .byte 82*mus_title3_mvl/mxv + .byte W01 + .byte 80*mus_title3_mvl/mxv + .byte W03 + .byte 77*mus_title3_mvl/mxv + .byte W01 + .byte 76*mus_title3_mvl/mxv + .byte W03 + .byte 73*mus_title3_mvl/mxv + .byte W01 + .byte 70*mus_title3_mvl/mxv + .byte W03 + .byte 69*mus_title3_mvl/mxv + .byte W01 + .byte 68*mus_title3_mvl/mxv + .byte W03 + .byte 65*mus_title3_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 90*mus_title3_mvl/mxv + .byte N08 , Gs3 + .byte W08 + .byte N04 , Ds3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Gs3 + .byte W16 + .byte Cn4 + .byte W08 + .byte N32 , Fn4 + .byte W12 + .byte MOD , 7 + .byte W20 + .byte 1 + .byte N04 , Ds4 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte N04 , Cn4 + .byte W08 + .byte N96 , Cs4 + .byte W48 + .byte VOL , 90*mus_title3_mvl/mxv + .byte W01 + .byte 89*mus_title3_mvl/mxv + .byte W03 + .byte MOD , 6 + .byte VOL , 88*mus_title3_mvl/mxv + .byte W01 + .byte 87*mus_title3_mvl/mxv + .byte W03 + .byte 85*mus_title3_mvl/mxv + .byte W04 + .byte 82*mus_title3_mvl/mxv + .byte W01 + .byte 82*mus_title3_mvl/mxv + .byte W03 + .byte 80*mus_title3_mvl/mxv + .byte W01 + .byte 79*mus_title3_mvl/mxv + .byte W03 + .byte 78*mus_title3_mvl/mxv + .byte W01 + .byte 77*mus_title3_mvl/mxv + .byte W03 + .byte 76*mus_title3_mvl/mxv + .byte W01 + .byte 75*mus_title3_mvl/mxv + .byte W07 + .byte 73*mus_title3_mvl/mxv + .byte W05 + .byte 72*mus_title3_mvl/mxv + .byte W03 + .byte 71*mus_title3_mvl/mxv + .byte W04 + .byte 70*mus_title3_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 90*mus_title3_mvl/mxv + .byte W96 + .byte VOICE , 56 + .byte N08 , Fs3 + .byte W08 + .byte N04 , Fn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte N08 , As3 + .byte W16 + .byte Cs4 + .byte W08 + .byte TIE , Fs4 + .byte W48 + .byte VOL , 87*mus_title3_mvl/mxv + .byte W01 + .byte 87*mus_title3_mvl/mxv + .byte W03 + .byte 86*mus_title3_mvl/mxv + .byte W01 + .byte 85*mus_title3_mvl/mxv + .byte W03 + .byte 85*mus_title3_mvl/mxv + .byte MOD , 1 + .byte W04 + .byte VOL , 82*mus_title3_mvl/mxv + .byte W04 + .byte 80*mus_title3_mvl/mxv + .byte W01 + .byte 79*mus_title3_mvl/mxv + .byte W07 + .byte 78*mus_title3_mvl/mxv + .byte W01 + .byte 77*mus_title3_mvl/mxv + .byte W03 + .byte 77*mus_title3_mvl/mxv + .byte W01 + .byte 76*mus_title3_mvl/mxv + .byte W03 + .byte 73*mus_title3_mvl/mxv + .byte W04 + .byte 72*mus_title3_mvl/mxv + .byte W01 + .byte 70*mus_title3_mvl/mxv + .byte W03 + .byte 70*mus_title3_mvl/mxv + .byte W04 + .byte 68*mus_title3_mvl/mxv + .byte W01 + .byte 68*mus_title3_mvl/mxv + .byte W03 + .byte MOD , 6 + .byte W01 + .byte VOL , 66*mus_title3_mvl/mxv + .byte W03 + .byte 65*mus_title3_mvl/mxv + .byte W04 + .byte 63*mus_title3_mvl/mxv + .byte W01 + .byte 63*mus_title3_mvl/mxv + .byte W03 + .byte 62*mus_title3_mvl/mxv + .byte W05 + .byte 61*mus_title3_mvl/mxv + .byte W03 + .byte 59*mus_title3_mvl/mxv + .byte W01 + .byte 58*mus_title3_mvl/mxv + .byte W03 + .byte 57*mus_title3_mvl/mxv + .byte W04 + .byte 56*mus_title3_mvl/mxv + .byte W04 + .byte 55*mus_title3_mvl/mxv + .byte W01 + .byte 54*mus_title3_mvl/mxv + .byte W03 + .byte 53*mus_title3_mvl/mxv + .byte W01 + .byte 52*mus_title3_mvl/mxv + .byte W03 + .byte 51*mus_title3_mvl/mxv + .byte W01 + .byte 50*mus_title3_mvl/mxv + .byte W03 + .byte 49*mus_title3_mvl/mxv + .byte W01 + .byte 47*mus_title3_mvl/mxv + .byte W03 + .byte W01 + .byte 46*mus_title3_mvl/mxv + .byte W03 + .byte 44*mus_title3_mvl/mxv + .byte W04 + .byte 43*mus_title3_mvl/mxv + .byte W01 + .byte 42*mus_title3_mvl/mxv + .byte W03 + .byte 41*mus_title3_mvl/mxv + .byte W01 + .byte 40*mus_title3_mvl/mxv + .byte W04 + .byte 39*mus_title3_mvl/mxv + .byte W07 + .byte 38*mus_title3_mvl/mxv + .byte W04 + .byte 38*mus_title3_mvl/mxv + .byte W04 + .byte 36*mus_title3_mvl/mxv + .byte W16 + .byte 43*mus_title3_mvl/mxv + .byte W04 + .byte 45*mus_title3_mvl/mxv + .byte W01 + .byte 46*mus_title3_mvl/mxv + .byte W03 + .byte 49*mus_title3_mvl/mxv + .byte W04 + .byte MOD , 7 + .byte W01 + .byte VOL , 51*mus_title3_mvl/mxv + .byte W03 + .byte 52*mus_title3_mvl/mxv + .byte W01 + .byte 53*mus_title3_mvl/mxv + .byte W04 + .byte 56*mus_title3_mvl/mxv + .byte W03 + .byte 58*mus_title3_mvl/mxv + .byte W01 + .byte 59*mus_title3_mvl/mxv + .byte W03 + .byte 61*mus_title3_mvl/mxv + .byte W01 + .byte 63*mus_title3_mvl/mxv + .byte W03 + .byte 65*mus_title3_mvl/mxv + .byte W04 + .byte 67*mus_title3_mvl/mxv + .byte W01 + .byte 69*mus_title3_mvl/mxv + .byte W03 + .byte 73*mus_title3_mvl/mxv + .byte W01 + .byte 75*mus_title3_mvl/mxv + .byte W05 + .byte EOT + .byte VOL , 64*mus_title3_mvl/mxv + .byte N02 , As4 + .byte W02 + .byte VOICE , 48 + .byte VOL , 65*mus_title3_mvl/mxv + .byte MOD , 0 + .byte N06 , Bn4 + .byte W08 + .byte N02 , As4 + .byte W08 + .byte N02 + .byte W06 + .byte N02 + .byte W02 + .byte N06 , Bn4 + .byte W08 + .byte N02 , As4 + .byte W08 + .byte N02 + .byte W06 + .byte N02 + .byte W02 + .byte N06 , Bn4 + .byte W08 + .byte N02 , As4 + .byte W08 + .byte N02 + .byte W06 + .byte N02 + .byte W02 + .byte N06 , Bn4 + .byte W08 + .byte N02 , As4 + .byte W08 + .byte N02 + .byte W06 + .byte Cn5 + .byte W02 + .byte N06 , Cs5 + .byte W08 + .byte N02 , Bn4 + .byte W08 + .byte N02 + .byte W06 + .byte N02 + .byte W02 + .byte N06 , Cs5 + .byte W08 + .byte N02 , Bn4 + .byte W08 + .byte N02 + .byte W06 + .byte Ds5 + .byte W02 + .byte VOL , 58*mus_title3_mvl/mxv + .byte N24 , Dn5 , v088 + .byte W24 + .byte N04 , Bn4 , v112 + .byte W04 + .byte Fs4 , v084 + .byte W04 + .byte Dn4 + .byte W04 + .byte Bn3 , v064 + .byte W04 + .byte Fs3 + .byte W04 + .byte Dn3 + .byte W04 + .byte VOICE , 56 + .byte VOL , 69*mus_title3_mvl/mxv + .byte PAN , c_v-34 + .byte N08 , Fs3 , v112 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 +mus_title3_4_000: + .byte N08 , Fs3 , v112 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte PEND + .byte PATT + .word mus_title3_4_000 + .byte PATT + .word mus_title3_4_000 + .byte PATT + .word mus_title3_4_000 + .byte PATT + .word mus_title3_4_000 + .byte PATT + .word mus_title3_4_000 + .byte N06 , Fs5 , v112 + .byte W24 + .byte N04 , Fs3 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N10 + .byte W48 + .byte FINE + +@********************** Track 5 **********************@ + +mus_title3_5: + .byte KEYSH , mus_title3_key+0 + .byte VOICE , 47 + .byte PAN , c_v-16 + .byte VOL , 86*mus_title3_mvl/mxv + .byte W16 + .byte N04 , Cn2 , v127 + .byte W08 +mus_title3_5_000: + .byte N24 , Fn1 , v127 + .byte W88 + .byte N04 , Cn2 + .byte W08 + .byte PEND + .byte PATT + .word mus_title3_5_000 + .byte N24 , Fn1 , v127 + .byte W88 + .byte N02 , Cn2 + .byte W04 + .byte N04 , Fn1 + .byte W04 + .byte N24 , Ds1 + .byte W24 + .byte N04 , As1 + .byte W16 + .byte Ds1 + .byte W08 + .byte As1 + .byte W08 + .byte N04 + .byte W08 + .byte Ds1 + .byte W08 + .byte As1 + .byte W08 + .byte Fs1 , v112 + .byte W08 + .byte Cs1 , v127 + .byte W04 + .byte As1 , v112 + .byte W04 + .byte VOICE , 47 + .byte N48 , Fn1 + .byte W96 + .byte W88 + .byte N04 , Fn2 , v127 + .byte W08 + .byte N48 , Fn1 + .byte W96 + .byte N08 , Ds2 + .byte W24 + .byte N06 , As1 + .byte W08 + .byte N04 , As1 , v112 + .byte W04 + .byte N04 + .byte W04 + .byte N08 , Ds1 , v127 + .byte W08 + .byte Gn2 + .byte W16 + .byte N06 , Gn2 , v112 + .byte W08 + .byte N02 , Gn2 , v127 + .byte W08 + .byte N08 , Bn1 , v112 + .byte W08 + .byte Gs1 , v127 + .byte W08 + .byte N48 , Fn1 + .byte W96 + .byte W88 + .byte N04 , As1 + .byte W08 + .byte N20 , Fn1 + .byte W96 + .byte N04 , Gn2 + .byte W08 + .byte As1 + .byte W08 + .byte Gn2 + .byte W08 + .byte N10 , En2 + .byte W24 + .byte N04 , Gn2 + .byte W16 + .byte Gn1 + .byte W08 + .byte N08 , Ds2 + .byte W16 + .byte As1 + .byte W08 + .byte N24 , Fn1 + .byte W96 + .byte W96 + .byte N24 + .byte W96 + .byte N10 , Ds2 + .byte W16 + .byte N08 , As1 + .byte W08 + .byte N24 , Gn1 + .byte W24 + .byte N08 , Ds2 + .byte W08 + .byte N16 , As1 + .byte W16 + .byte N12 , Gn2 + .byte W16 + .byte N08 , Ds2 + .byte W08 + .byte N24 , Fn1 + .byte W96 + .byte W72 + .byte N04 , En2 + .byte W08 + .byte As1 + .byte W08 + .byte En2 + .byte W08 + .byte N24 , As1 + .byte W24 + .byte N04 , Fn2 + .byte W08 + .byte Dn2 + .byte W08 + .byte Fn1 + .byte W08 + .byte N24 + .byte W32 + .byte N04 , As1 + .byte W08 + .byte N04 + .byte W08 + .byte N24 , Dn1 + .byte W32 + .byte N04 , Fn2 + .byte W08 + .byte N04 + .byte W08 + .byte N24 , Fn1 + .byte W32 + .byte N04 + .byte W08 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_title3_5_001: + .byte N08 , Gn2 , v112 + .byte W16 + .byte Cn2 , v127 + .byte W08 + .byte N24 , Cn1 + .byte W24 + .byte N08 , Gn2 + .byte W16 + .byte Cn2 + .byte W08 + .byte N24 , Cn1 + .byte W24 + .byte PEND + .byte N08 , Gn2 + .byte W16 + .byte Cn2 + .byte W08 + .byte N24 , Cn1 + .byte W24 + .byte N08 , Gn2 + .byte W16 + .byte Cn2 + .byte W08 + .byte N24 , Cn1 + .byte W24 + .byte PATT + .word mus_title3_5_001 + .byte N08 , Gn2 , v127 + .byte W16 + .byte Cn2 + .byte W08 + .byte N24 , Cn1 + .byte W24 + .byte N08 , Gn2 + .byte W16 + .byte Cn2 + .byte W08 + .byte N04 , Cn2 , v068 + .byte W04 + .byte Cn2 , v072 + .byte W04 + .byte Cn2 , v084 + .byte W04 + .byte Cn2 , v096 + .byte W04 + .byte Cn2 , v104 + .byte W04 + .byte Cn2 , v116 + .byte W04 + .byte N24 , Ds1 , v120 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W88 + .byte N08 , Cs1 , v112 + .byte W08 + .byte PAN , c_v-1 + .byte N16 , Fs1 + .byte W96 + .byte W88 + .byte N08 , Cs2 + .byte W08 + .byte N16 , Fs1 + .byte W96 + .byte W88 + .byte N08 , Cs2 , v096 + .byte W08 + .byte N16 , Fs1 , v112 + .byte W96 + .byte W88 + .byte N08 , Cs2 + .byte W08 + .byte N16 , Fs1 , v120 + .byte W96 + .byte W72 + .byte N04 , Cs2 , v112 + .byte W08 + .byte N04 + .byte W04 + .byte Cs2 , v076 + .byte W04 + .byte Cs2 , v092 + .byte W04 + .byte Cs2 , v112 + .byte W04 + .byte PAN , c_v-32 + .byte N24 , Cs1 + .byte W40 + .byte N08 , Cs2 + .byte W08 + .byte N24 , En1 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W88 + .byte N08 , Fs2 + .byte W08 + .byte VOL , 65*mus_title3_mvl/mxv + .byte N08 , Fs1 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 +mus_title3_5_002: + .byte N08 , Fs1 , v112 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte PEND + .byte PATT + .word mus_title3_5_002 + .byte PATT + .word mus_title3_5_002 + .byte VOL , 76*mus_title3_mvl/mxv + .byte N08 , Fs1 , v112 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte PATT + .word mus_title3_5_002 + .byte PATT + .word mus_title3_5_002 + .byte N06 , Fs2 , v112 + .byte W24 + .byte N04 , Fs1 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N10 + .byte W48 + .byte FINE + +@********************** Track 6 **********************@ + +mus_title3_6: + .byte KEYSH , mus_title3_key+0 + .byte VOICE , 48 + .byte LFOS , 44 + .byte PAN , c_v-22 + .byte VOL , 45*mus_title3_mvl/mxv + .byte N04 , An4 , v112 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W04 + .byte N02 , An4 + .byte W02 +mus_title3_6_000: + .byte N06 , As4 , v112 + .byte W08 + .byte N02 , An4 + .byte W08 + .byte N02 + .byte W06 + .byte N02 + .byte W02 + .byte N06 , As4 + .byte W08 + .byte N02 , An4 + .byte W08 + .byte N02 + .byte W06 + .byte N02 + .byte W02 + .byte N06 , As4 + .byte W08 + .byte N02 , An4 + .byte W08 + .byte N02 + .byte W06 + .byte N02 + .byte W02 + .byte N06 , As4 + .byte W08 + .byte N02 , An4 + .byte W08 + .byte N02 + .byte W06 + .byte N02 + .byte W02 + .byte PEND + .byte PATT + .word mus_title3_6_000 + .byte N06 , As4 , v112 + .byte W08 + .byte N02 , An4 + .byte W08 + .byte N02 + .byte W06 + .byte N02 + .byte W02 + .byte N06 , As4 + .byte W08 + .byte N02 , An4 + .byte W08 + .byte N02 + .byte W06 + .byte N02 + .byte W02 + .byte N06 , As4 + .byte W08 + .byte N02 , An4 + .byte W08 + .byte N02 + .byte W06 + .byte N02 + .byte W02 + .byte N06 , As4 + .byte W08 + .byte N02 , An4 + .byte W08 + .byte N02 + .byte W06 + .byte Gs4 + .byte W02 + .byte N06 , An4 + .byte W08 + .byte N02 , Gn4 + .byte W08 + .byte N02 + .byte W08 + .byte N06 , An4 + .byte W08 + .byte N02 , Gn4 + .byte W08 + .byte N02 + .byte W08 + .byte N06 , An4 + .byte W08 + .byte N02 , Gn4 + .byte W08 + .byte N02 + .byte W08 + .byte N06 , As4 + .byte W08 + .byte N02 , An4 + .byte W16 + .byte W92 + .byte W02 + .byte En4 + .byte W02 +mus_title3_6_001: + .byte N06 , Ds4 , v112 + .byte W08 + .byte N02 , Dn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte As3 + .byte W08 + .byte An3 + .byte W08 + .byte Gn3 + .byte W06 + .byte En4 + .byte W02 + .byte N06 , Ds4 + .byte W08 + .byte N02 , Dn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte As3 + .byte W08 + .byte An3 + .byte W08 + .byte Gn3 + .byte W06 + .byte Gs4 + .byte W02 + .byte PEND + .byte N06 , An4 + .byte W08 + .byte N02 , Gs4 + .byte W08 + .byte An4 + .byte W08 + .byte Fn4 + .byte W08 + .byte En4 + .byte W08 + .byte Dn4 + .byte W06 + .byte Gs4 + .byte W02 + .byte N06 , An4 + .byte W08 + .byte N02 , Gs4 + .byte W08 + .byte An4 + .byte W08 + .byte Fn4 + .byte W08 + .byte En4 + .byte W08 + .byte Dn4 + .byte W08 +mus_title3_6_002: + .byte N06 , As3 , v112 + .byte W08 + .byte N02 , Ds4 + .byte W08 + .byte Gn4 + .byte W08 + .byte N06 , Ds4 + .byte W08 + .byte N02 , Gn4 + .byte W08 + .byte As4 + .byte W06 + .byte Dn5 + .byte W02 + .byte N06 , Ds5 + .byte W08 + .byte N02 , As4 + .byte W08 + .byte Gn4 + .byte W08 + .byte N06 , En4 + .byte W08 + .byte N02 , Bn3 + .byte W08 + .byte Gs3 + .byte W06 + .byte En4 + .byte W02 + .byte PEND + .byte VOL , 45*mus_title3_mvl/mxv + .byte N06 , Fn4 + .byte W08 + .byte N02 , En4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte As3 + .byte W08 + .byte An3 + .byte W06 + .byte En4 + .byte W02 + .byte N06 , Fn4 + .byte W08 + .byte N02 , En4 + .byte W06 + .byte Fn4 + .byte W10 + .byte Cn4 + .byte W08 + .byte As3 + .byte W08 + .byte An3 + .byte W06 + .byte En4 + .byte W02 + .byte PATT + .word mus_title3_6_001 + .byte N06 , An4 , v112 + .byte W08 + .byte N02 , Gs4 + .byte W08 + .byte An4 + .byte W08 + .byte Fn4 + .byte W08 + .byte En4 + .byte W08 + .byte Dn4 + .byte W06 + .byte Gs4 + .byte W02 + .byte N06 , An4 + .byte W08 + .byte N02 , Gs4 + .byte W08 + .byte An4 + .byte W08 + .byte Fn4 + .byte W08 + .byte En4 + .byte W08 + .byte Ds4 + .byte W08 + .byte N06 , As3 + .byte W08 + .byte N02 , Ds4 + .byte W08 + .byte Gn4 + .byte W08 + .byte N06 , En4 + .byte W08 + .byte N02 , Gs4 + .byte W08 + .byte Bn4 + .byte W06 + .byte Dn5 + .byte W02 + .byte N06 , Ds5 + .byte W08 + .byte N02 , As4 + .byte W08 + .byte Gn4 + .byte W08 + .byte N04 , Ds4 + .byte W08 + .byte As3 + .byte W08 + .byte Cs4 + .byte W06 + .byte N02 , En4 + .byte W02 +mus_title3_6_003: + .byte N06 , Fn4 , v112 + .byte W08 + .byte N02 , En4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte As3 + .byte W08 + .byte An3 + .byte W06 + .byte En4 + .byte W02 + .byte N06 , Fn4 + .byte W08 + .byte N02 , En4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte As3 + .byte W08 + .byte An3 + .byte W06 + .byte En4 + .byte W02 + .byte PEND + .byte PATT + .word mus_title3_6_001 + .byte N06 , An4 , v112 + .byte W08 + .byte N02 , Gs4 + .byte W08 + .byte An4 + .byte W08 + .byte Fn4 + .byte W08 + .byte En4 + .byte W08 + .byte Dn4 + .byte W06 + .byte Gs4 + .byte W02 + .byte N06 , An4 + .byte W08 + .byte N02 , Gs4 + .byte W08 + .byte An4 + .byte W08 + .byte Fn4 + .byte W08 + .byte En4 + .byte W08 + .byte Dn4 + .byte W06 + .byte An3 + .byte W02 + .byte PATT + .word mus_title3_6_002 + .byte PATT + .word mus_title3_6_003 + .byte N06 , Ds4 , v112 + .byte W08 + .byte N02 , Dn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte As3 + .byte W08 + .byte An3 + .byte W08 + .byte Gn3 + .byte W06 + .byte En4 + .byte W02 + .byte N06 , Ds4 + .byte W08 + .byte N02 , Dn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte As3 + .byte W08 + .byte An3 + .byte W08 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W02 + .byte N06 , As3 + .byte W08 + .byte N02 , Gs3 + .byte W08 + .byte As3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Dn3 + .byte W06 + .byte Bn3 + .byte W02 + .byte N06 , As3 + .byte W08 + .byte N02 , Gs3 + .byte W08 + .byte As3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Dn3 + .byte W06 + .byte Bn2 + .byte W02 + .byte N24 , As2 + .byte W24 + .byte N04 , Fn3 + .byte W04 + .byte Gs3 + .byte W04 + .byte As3 + .byte W04 + .byte Dn4 + .byte W04 + .byte Fn4 + .byte W04 + .byte Fs4 + .byte W04 + .byte N48 , Gn4 + .byte W48 + .byte PAN , c_v+0 + .byte VOL , 36*mus_title3_mvl/mxv + .byte N40 , Gs4 + .byte W40 + .byte TIE , Ds4 + .byte W56 + .byte VOL , 36*mus_title3_mvl/mxv + .byte W08 + .byte 34*mus_title3_mvl/mxv + .byte W01 + .byte 33*mus_title3_mvl/mxv + .byte W03 + .byte 32*mus_title3_mvl/mxv + .byte W01 + .byte 31*mus_title3_mvl/mxv + .byte W08 + .byte 31*mus_title3_mvl/mxv + .byte W03 + .byte 30*mus_title3_mvl/mxv + .byte W13 + .byte 28*mus_title3_mvl/mxv + .byte W08 + .byte 27*mus_title3_mvl/mxv + .byte W03 + .byte EOT + .byte VOL , 36*mus_title3_mvl/mxv + .byte N24 , Gs4 + .byte W24 + .byte VOL , 41*mus_title3_mvl/mxv + .byte N24 , An4 + .byte W24 + .byte VOL , 48*mus_title3_mvl/mxv + .byte N40 , As4 + .byte W40 + .byte TIE , Fn4 + .byte W56 + .byte VOL , 48*mus_title3_mvl/mxv + .byte W04 + .byte 48*mus_title3_mvl/mxv + .byte W05 + .byte 47*mus_title3_mvl/mxv + .byte W03 + .byte 45*mus_title3_mvl/mxv + .byte W04 + .byte 44*mus_title3_mvl/mxv + .byte W01 + .byte 43*mus_title3_mvl/mxv + .byte W03 + .byte 43*mus_title3_mvl/mxv + .byte W01 + .byte 41*mus_title3_mvl/mxv + .byte W03 + .byte 40*mus_title3_mvl/mxv + .byte W01 + .byte 39*mus_title3_mvl/mxv + .byte W03 + .byte 37*mus_title3_mvl/mxv + .byte W01 + .byte 36*mus_title3_mvl/mxv + .byte W03 + .byte 36*mus_title3_mvl/mxv + .byte W01 + .byte 35*mus_title3_mvl/mxv + .byte W03 + .byte 34*mus_title3_mvl/mxv + .byte W01 + .byte 33*mus_title3_mvl/mxv + .byte W03 + .byte 32*mus_title3_mvl/mxv + .byte W01 + .byte 31*mus_title3_mvl/mxv + .byte W07 + .byte EOT + .byte VOL , 60*mus_title3_mvl/mxv + .byte N24 , As4 + .byte W24 + .byte Bn4 + .byte W24 + .byte VOICE , 56 + .byte PAN , c_v-32 + .byte N08 , Cn5 + .byte W08 + .byte N02 , Bn4 , v088 + .byte W02 + .byte As4 + .byte W02 + .byte An4 + .byte W84 + .byte W56 + .byte N14 , As4 , v112 + .byte W16 + .byte N04 + .byte W04 + .byte As4 , v032 + .byte W12 + .byte Bn4 , v112 + .byte W04 + .byte Bn4 , v032 + .byte W04 + .byte N08 , Cn5 , v112 + .byte W08 + .byte N02 , Bn4 , v096 + .byte W02 + .byte As4 , v092 + .byte W02 + .byte An4 + .byte W84 + .byte VOICE , 48 + .byte N02 , Gn4 , v112 + .byte W02 + .byte N04 , Gn4 , v032 + .byte W10 + .byte N02 , Gn4 , v112 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Gn4 , v112 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Gn4 , v112 + .byte W04 + .byte Gn4 , v032 + .byte W12 + .byte Gn4 , v112 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Gn4 , v112 + .byte W04 + .byte Gn4 , v032 + .byte W04 + .byte Fn4 , v112 + .byte W04 + .byte Fn4 , v032 + .byte W04 + .byte Fn4 , v112 + .byte W04 + .byte Fn4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte PAN , c_v+0 + .byte VOL , 41*mus_title3_mvl/mxv + .byte N44 , Cn5 , v112 + .byte W44 + .byte W02 + .byte N02 , Cs5 + .byte W02 + .byte N24 , Dn5 + .byte W24 + .byte An4 + .byte W24 + .byte N32 , Cn5 + .byte W32 + .byte N08 , As4 + .byte W08 + .byte An4 + .byte W08 + .byte N24 , Fn4 + .byte W24 + .byte N08 , Gn4 + .byte W08 + .byte N04 , Gs4 + .byte W08 + .byte An4 + .byte W06 + .byte N02 + .byte W02 + .byte N48 , As4 + .byte W48 + .byte N24 , Cn5 + .byte W24 + .byte N22 , Gn4 + .byte W22 + .byte N02 , An4 + .byte W02 + .byte N12 , As4 + .byte W12 + .byte N02 , An4 , v088 + .byte W04 + .byte N08 , Gs4 , v112 + .byte W08 + .byte N02 , Gn4 , v096 + .byte W02 + .byte Fs4 , v092 + .byte W02 + .byte Fn4 , v088 + .byte W02 + .byte En4 + .byte W10 + .byte N04 , Cn5 , v112 + .byte W04 + .byte Cn5 , v032 + .byte W04 + .byte N16 , Ds5 , v112 + .byte W16 + .byte N02 , Dn5 , v084 + .byte W02 + .byte Cs5 , v080 + .byte W02 + .byte Cn5 , v072 + .byte W02 + .byte Bn4 + .byte W02 + .byte N08 , Fn4 , v112 + .byte W08 + .byte N04 , Fs4 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Gn4 , v112 + .byte W06 + .byte N02 + .byte W02 + .byte N48 , Gs4 + .byte W48 + .byte N24 , As4 + .byte W24 + .byte N16 , Gs4 + .byte W16 + .byte N04 , Gs4 , v032 + .byte W08 + .byte N16 , Gs4 , v112 + .byte W16 + .byte N04 , Fs4 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N16 , Fn4 , v112 + .byte W16 + .byte N04 , Fs4 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N16 , Cs5 , v112 + .byte W16 + .byte N04 , As4 + .byte W04 + .byte As4 , v032 + .byte W04 + .byte N16 , Gs4 , v112 + .byte W16 + .byte N04 , As4 + .byte W04 + .byte As4 , v032 + .byte W04 + .byte N64 , Gs4 , v112 + .byte W64 + .byte N04 , Ds4 + .byte W04 + .byte Ds4 , v032 + .byte W04 + .byte Ds4 , v112 + .byte W04 + .byte Ds4 , v032 + .byte W12 + .byte N08 , Gs4 , v112 + .byte W08 + .byte N40 , Fs4 + .byte W40 + .byte N04 , Gs4 + .byte W04 + .byte Fs4 + .byte W04 + .byte N40 , Fn4 + .byte W40 + .byte N04 , Fn4 , v032 + .byte W08 + .byte PAN , c_v-34 + .byte VOL , 44*mus_title3_mvl/mxv + .byte N28 , As2 , v112 + .byte W28 + .byte N04 , As2 , v032 + .byte W12 + .byte Cs3 , v112 + .byte W04 + .byte Cs3 , v032 + .byte W04 + .byte N48 , Fs3 , v112 + .byte W48 + .byte N24 , Bn2 + .byte W24 + .byte N04 , Bn2 , v032 + .byte W16 + .byte Ds3 , v112 + .byte W04 + .byte Ds3 , v032 + .byte W04 + .byte N32 , Gs3 , v112 + .byte W32 + .byte N04 , Gn3 + .byte W04 + .byte Gn3 , v032 + .byte W04 + .byte Fs3 , v112 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte VOL , 45*mus_title3_mvl/mxv + .byte N04 , As3 , v112 + .byte W04 + .byte As3 , v032 + .byte W04 + .byte Bn3 , v112 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte Cs4 , v112 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Cs4 , v112 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Bn3 , v112 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte As3 , v112 + .byte W04 + .byte As3 , v032 + .byte W04 + .byte Fs3 , v112 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte As3 , v112 + .byte W04 + .byte As3 , v032 + .byte W04 + .byte Cs3 , v112 + .byte W04 + .byte Cs3 , v032 + .byte W04 + .byte As2 , v112 + .byte W04 + .byte As2 , v032 + .byte W04 + .byte Cs3 , v112 + .byte W04 + .byte Cs3 , v032 + .byte W04 + .byte Fs2 , v112 + .byte W04 + .byte Fs2 , v032 + .byte W04 + .byte Gs2 , v112 + .byte W04 + .byte Gs2 , v032 + .byte W04 + .byte As2 , v112 + .byte W04 + .byte As2 , v032 + .byte W04 + .byte Bn2 , v112 + .byte W04 + .byte Bn2 , v032 + .byte W04 + .byte As2 , v112 + .byte W04 + .byte As2 , v032 + .byte W04 + .byte Bn2 , v112 + .byte W04 + .byte Bn2 , v032 + .byte W04 + .byte Cs3 , v112 + .byte W04 + .byte Cs3 , v032 + .byte W04 + .byte Bn2 , v112 + .byte W04 + .byte Bn2 , v032 + .byte W04 + .byte Cs3 , v112 + .byte W04 + .byte Cs3 , v032 + .byte W04 + .byte Ds3 , v112 + .byte W04 + .byte Ds3 , v032 + .byte W04 + .byte Cs3 , v112 + .byte W04 + .byte Cs3 , v032 + .byte W04 + .byte Ds3 , v112 + .byte W04 + .byte Ds3 , v032 + .byte W04 + .byte Fn3 , v112 + .byte W04 + .byte Fn3 , v032 + .byte W04 + .byte N08 , As2 , v112 + .byte W08 + .byte Fs2 + .byte W08 + .byte An2 + .byte W08 + .byte As2 + .byte W08 + .byte N04 , As2 , v032 + .byte W08 + .byte Cs3 , v112 + .byte W04 + .byte Cs3 , v032 + .byte W04 + .byte N48 , Fs3 , v112 + .byte W48 + .byte N08 , Cn3 + .byte W08 + .byte N04 , As2 + .byte W04 + .byte As2 , v032 + .byte W04 + .byte Bn2 , v112 + .byte W04 + .byte Bn2 , v032 + .byte W04 + .byte Cn3 , v112 + .byte W04 + .byte Cn3 , v032 + .byte W12 + .byte Ds3 , v112 + .byte W04 + .byte Ds3 , v032 + .byte W04 + .byte N32 , Gs3 , v112 + .byte W32 + .byte N04 , Fs3 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte Ds3 , v112 + .byte W04 + .byte Ds3 , v032 + .byte W04 + .byte As3 , v112 + .byte W04 + .byte As3 , v032 + .byte W04 + .byte Bn3 , v112 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte Cs4 , v112 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Cs4 , v112 + .byte W04 + .byte Cs4 , v032 + .byte W04 + .byte Bn3 , v112 + .byte W04 + .byte Bn3 , v032 + .byte W04 + .byte As3 , v112 + .byte W04 + .byte As3 , v032 + .byte W04 + .byte Fs3 , v112 + .byte W04 + .byte Fs3 , v032 + .byte W04 + .byte As3 , v112 + .byte W04 + .byte As3 , v032 + .byte W04 + .byte Cs3 , v112 + .byte W04 + .byte Cs3 , v032 + .byte W04 + .byte As2 , v112 + .byte W04 + .byte As2 , v032 + .byte W04 + .byte Cs3 , v112 + .byte W04 + .byte Cs3 , v032 + .byte W04 + .byte Fs2 , v112 + .byte W04 + .byte Fs2 , v032 + .byte W04 + .byte Gs2 , v112 + .byte W04 + .byte Gs2 , v032 + .byte W04 + .byte As2 , v112 + .byte W04 + .byte As2 , v032 + .byte W04 + .byte Bn2 , v112 + .byte W04 + .byte Bn2 , v032 + .byte W04 + .byte As2 , v112 + .byte W04 + .byte As2 , v032 + .byte W04 + .byte Bn2 , v112 + .byte W04 + .byte Bn2 , v032 + .byte W04 + .byte Cs3 , v112 + .byte W04 + .byte Cs3 , v032 + .byte W04 + .byte Bn2 , v112 + .byte W04 + .byte Bn2 , v032 + .byte W04 + .byte Cs3 , v112 + .byte W04 + .byte Cs3 , v032 + .byte W04 + .byte Dn3 , v112 + .byte W04 + .byte Dn3 , v032 + .byte W04 + .byte Cs3 , v112 + .byte W04 + .byte Cs3 , v032 + .byte W04 + .byte Fn3 , v112 + .byte W04 + .byte Fn3 , v032 + .byte W04 + .byte Gs3 , v112 + .byte W04 + .byte Gs3 , v032 + .byte W04 + .byte N08 , Cs3 , v112 + .byte W08 + .byte N04 , Cn3 + .byte W04 + .byte Cn3 , v032 + .byte W04 + .byte Cs3 , v112 + .byte W04 + .byte Cs3 , v032 + .byte W04 + .byte Fn3 , v112 + .byte W04 + .byte Fn3 , v032 + .byte W12 + .byte N08 , Fs3 , v112 + .byte W08 + .byte TIE , Bn3 , v088 + .byte W48 + .byte VOL , 43*mus_title3_mvl/mxv + .byte W01 + .byte 42*mus_title3_mvl/mxv + .byte W03 + .byte 41*mus_title3_mvl/mxv + .byte W04 + .byte 39*mus_title3_mvl/mxv + .byte W04 + .byte 38*mus_title3_mvl/mxv + .byte W04 + .byte 38*mus_title3_mvl/mxv + .byte W01 + .byte 36*mus_title3_mvl/mxv + .byte W03 + .byte 34*mus_title3_mvl/mxv + .byte W04 + .byte 34*mus_title3_mvl/mxv + .byte W04 + .byte 33*mus_title3_mvl/mxv + .byte W01 + .byte 32*mus_title3_mvl/mxv + .byte W03 + .byte 31*mus_title3_mvl/mxv + .byte W01 + .byte 31*mus_title3_mvl/mxv + .byte W03 + .byte 27*mus_title3_mvl/mxv + .byte W04 + .byte 26*mus_title3_mvl/mxv + .byte W04 + .byte 26*mus_title3_mvl/mxv + .byte W01 + .byte 25*mus_title3_mvl/mxv + .byte W03 + .byte 24*mus_title3_mvl/mxv + .byte W01 + .byte 24*mus_title3_mvl/mxv + .byte W03 + .byte 22*mus_title3_mvl/mxv + .byte W05 + .byte 21*mus_title3_mvl/mxv + .byte W03 + .byte 20*mus_title3_mvl/mxv + .byte W04 + .byte 19*mus_title3_mvl/mxv + .byte W01 + .byte 19*mus_title3_mvl/mxv + .byte W03 + .byte 18*mus_title3_mvl/mxv + .byte W01 + .byte 17*mus_title3_mvl/mxv + .byte W03 + .byte 17*mus_title3_mvl/mxv + .byte W08 + .byte 16*mus_title3_mvl/mxv + .byte W04 + .byte 14*mus_title3_mvl/mxv + .byte W05 + .byte 14*mus_title3_mvl/mxv + .byte W07 + .byte W05 + .byte 13*mus_title3_mvl/mxv + .byte W15 + .byte 14*mus_title3_mvl/mxv + .byte W01 + .byte 14*mus_title3_mvl/mxv + .byte W07 + .byte 16*mus_title3_mvl/mxv + .byte W01 + .byte 17*mus_title3_mvl/mxv + .byte W08 + .byte 17*mus_title3_mvl/mxv + .byte W03 + .byte 18*mus_title3_mvl/mxv + .byte W01 + .byte 19*mus_title3_mvl/mxv + .byte W03 + .byte 20*mus_title3_mvl/mxv + .byte W01 + .byte 21*mus_title3_mvl/mxv + .byte W03 + .byte EOT + .byte VOL , 46*mus_title3_mvl/mxv + .byte N08 , Cs4 , v112 + .byte W08 + .byte Ds4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Gs4 + .byte W08 + .byte As4 + .byte W08 + .byte N16 , Cs5 + .byte W16 + .byte N14 , Bn4 + .byte W16 + .byte N16 , As4 + .byte W16 + .byte N96 , Fs4 + .byte W48 + .byte W48 + .byte N40 , Gs4 + .byte W40 + .byte N04 , Fs4 + .byte W08 + .byte VOL , 45*mus_title3_mvl/mxv + .byte N08 + .byte W12 + .byte N02 , Fn4 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N08 , Cs5 + .byte W08 + .byte N04 , Fs4 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W12 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N08 , Dn5 , v112 + .byte W08 + .byte N04 , Fs4 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N08 , Fs4 , v112 + .byte W12 + .byte N02 , Fn4 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N08 , Cs5 + .byte W08 + .byte N04 , Fs4 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W12 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N08 , As4 , v112 + .byte W08 + .byte N04 , Fs4 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N08 , Fs4 , v112 + .byte W12 + .byte N02 , Fn4 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N08 , Cs5 + .byte W08 + .byte N04 , Fs4 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W12 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N08 , Dn5 , v112 + .byte W08 + .byte N04 , Fs4 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N08 , Fs4 , v112 + .byte W08 + .byte N04 , Fs4 , v032 + .byte W04 + .byte N02 , Fn4 , v112 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N08 , En5 + .byte W08 + .byte N04 , Fs4 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W12 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N08 , Fn5 , v112 + .byte W08 + .byte N04 , Fs4 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N08 , Fs5 , v112 + .byte W12 + .byte N02 , Fs4 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N08 , Cs5 + .byte W08 + .byte N04 , Fs4 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N08 , En5 , v112 + .byte W08 + .byte Fs5 + .byte W08 + .byte En5 + .byte W08 + .byte Ds5 + .byte W06 + .byte Cs5 + .byte W10 + .byte Bn4 + .byte W08 + .byte Cs5 + .byte W12 + .byte N02 , Fs4 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N08 , Gs4 + .byte W08 + .byte N04 , Fs4 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N08 , Bn4 , v112 + .byte W08 + .byte N04 , Fs4 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N08 , Fs4 , v112 + .byte W08 + .byte N04 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N08 , Cs4 , v112 + .byte W08 + .byte As4 + .byte W08 + .byte N04 , As4 , v032 + .byte W04 + .byte N02 , Fs4 , v112 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N08 + .byte W08 + .byte N04 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N08 , Gs4 , v112 + .byte W08 + .byte N04 , Fs4 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte Fs4 , v112 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N08 , Cs4 , v112 + .byte W08 + .byte N04 , Fs4 + .byte W04 + .byte Fs4 , v032 + .byte W04 + .byte N08 , Gs4 , v112 + .byte W08 + .byte N12 , As4 + .byte W12 + .byte N04 , As4 , v032 + .byte W12 + .byte Fs4 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N10 + .byte W48 + .byte FINE + +@********************** Track 7 **********************@ + +mus_title3_7: + .byte KEYSH , mus_title3_key+0 + .byte VOICE , 80 + .byte PAN , c_v-59 + .byte c_v+0 + .byte LFOS , 44 + .byte VOL , 67*mus_title3_mvl/mxv + .byte XCMD , xIECV , 10 + .byte xIECL , 12 + .byte PAN , c_v-59 + .byte c_v+0 + .byte VOL , 67*mus_title3_mvl/mxv + .byte BENDR , 12 + .byte N04 , Cn3 , v112 + .byte W04 + .byte An2 + .byte W04 + .byte Fn2 + .byte W02 + .byte En2 + .byte W02 + .byte Cn2 + .byte W04 + .byte An1 + .byte W04 + .byte Fs1 + .byte W04 + .byte PAN , c_v+0 + .byte VOL , 79*mus_title3_mvl/mxv + .byte PAN , c_v+0 + .byte VOL , 79*mus_title3_mvl/mxv + .byte N08 , Fn1 + .byte W08 + .byte Fn1 , v032 + .byte W24 + .byte N04 , En1 , v112 + .byte W08 + .byte Fn1 + .byte W06 + .byte N02 , Fs1 , v084 + .byte W02 + .byte N08 , Fn1 , v112 + .byte W08 + .byte Fn1 , v032 + .byte W08 + .byte N04 , Fn1 , v112 + .byte W04 + .byte N08 , Fn1 , v032 + .byte W12 + .byte N04 , Fn1 , v112 + .byte W08 + .byte N04 + .byte W06 + .byte N02 , Fs1 + .byte W02 + .byte N08 , Fn1 + .byte W08 + .byte Fn1 , v032 + .byte W24 + .byte N04 , En1 , v112 + .byte W08 + .byte Fn1 + .byte W06 + .byte N02 , Fs1 + .byte W02 + .byte N08 , Fn1 + .byte W08 + .byte Fn1 , v032 + .byte W08 + .byte N04 , Fn1 , v112 + .byte W04 + .byte N08 , Fn1 , v032 + .byte W12 + .byte N04 , En1 , v112 + .byte W08 + .byte Fn1 + .byte W06 + .byte N02 , Fs1 + .byte W02 + .byte N08 , Fn1 + .byte W10 + .byte Fn1 , v032 + .byte W22 + .byte N04 , En1 , v112 + .byte W08 + .byte Fn1 + .byte W06 + .byte N02 , Fs1 , v084 + .byte W02 + .byte N08 , Fn1 , v112 + .byte W08 + .byte Fn1 , v032 + .byte W08 + .byte N04 , Fn1 , v112 + .byte W04 + .byte N08 , Fn1 , v032 + .byte W12 + .byte N04 , Fn1 , v112 + .byte W08 + .byte N02 , En1 + .byte W04 + .byte N04 , Fn1 + .byte W04 + .byte N14 , Ds1 + .byte W14 + .byte N08 , Ds1 , v032 + .byte W10 + .byte N04 , Ds1 , v112 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Dn1 + .byte W08 + .byte Ds1 + .byte W08 + .byte N04 + .byte W08 + .byte As1 + .byte W08 + .byte En2 + .byte W08 + .byte VOICE , 84 + .byte PAN , c_v+63 + .byte VOL , 30*mus_title3_mvl/mxv + .byte N40 , An2 + .byte W16 + .byte MOD , 8 + .byte W08 + .byte 13 + .byte W16 + .byte 1 + .byte N08 , Cn3 + .byte W08 + .byte N44 , Fn3 + .byte W16 + .byte MOD , 13 + .byte W28 + .byte 1 + .byte N04 , En3 + .byte W04 + .byte N42 , Ds3 + .byte W24 + .byte MOD , 12 + .byte W16 + .byte 1 + .byte W02 + .byte N02 , En3 + .byte W02 + .byte Fn3 + .byte W02 + .byte Fs3 + .byte W02 + .byte N24 , Gn3 + .byte W16 + .byte MOD , 13 + .byte W08 + .byte 1 + .byte N08 , Fn3 + .byte W08 + .byte En3 + .byte W08 + .byte Ds3 + .byte W08 + .byte N44 , Cn3 + .byte W16 + .byte MOD , 12 + .byte W24 + .byte W02 + .byte 1 + .byte W02 + .byte N02 , Bn2 + .byte W02 + .byte As2 + .byte W02 + .byte N24 , An2 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 1 + .byte N16 , Cn3 + .byte W16 + .byte N08 , Dn3 + .byte W08 + .byte N20 , Ds3 + .byte W24 + .byte N04 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N08 , Gn3 + .byte W08 + .byte Ds3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte En3 + .byte W08 + .byte An2 + .byte W16 + .byte N04 , Cn3 + .byte W08 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte 1 + .byte N06 , En3 + .byte W08 + .byte Ds3 + .byte W08 + .byte N08 , Dn3 + .byte W08 + .byte N24 , Cn3 + .byte W14 + .byte MOD , 12 + .byte W10 + .byte 1 + .byte N08 , As2 + .byte W16 + .byte N04 , Ds3 + .byte W08 + .byte N24 , Gn3 + .byte W14 + .byte MOD , 15 + .byte W10 + .byte 1 + .byte N16 , Ds3 + .byte W16 + .byte Dn3 + .byte W16 + .byte Ds3 + .byte W16 + .byte N48 , Fn3 + .byte W24 + .byte MOD , 12 + .byte W24 + .byte 1 + .byte N16 , Ds3 + .byte W16 + .byte Dn3 + .byte W16 + .byte As2 + .byte W16 + .byte N24 , Cn3 + .byte W14 + .byte MOD , 12 + .byte W10 + .byte 1 + .byte N24 , Cs3 + .byte W14 + .byte MOD , 12 + .byte W10 + .byte 1 + .byte N24 , Ds3 + .byte W12 + .byte MOD , 13 + .byte W12 + .byte 1 + .byte N08 , Gn3 + .byte W08 + .byte N04 , Ds3 + .byte W08 + .byte N08 , Cs4 + .byte W08 + .byte N24 , Fn2 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 1 + .byte N08 , An2 + .byte W08 + .byte Cn3 + .byte W08 + .byte N04 , En3 + .byte W08 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 13 + .byte W12 + .byte 1 + .byte N14 , An3 + .byte W14 + .byte N02 , Gs3 + .byte W02 + .byte Gn3 + .byte W02 + .byte Fs3 + .byte W02 + .byte Fn3 + .byte W02 + .byte En3 + .byte W02 + .byte N32 , Ds3 + .byte W12 + .byte MOD , 12 + .byte W20 + .byte 1 + .byte N02 , En3 + .byte W02 + .byte Fn3 + .byte W02 + .byte Fs3 + .byte W02 + .byte Gn3 + .byte W02 + .byte Gs3 + .byte W02 + .byte An3 + .byte W02 + .byte As3 + .byte W02 + .byte Bn3 + .byte W02 + .byte N32 , Cn4 + .byte W14 + .byte MOD , 13 + .byte W18 + .byte N08 , Bn3 + .byte W04 + .byte MOD , 1 + .byte W04 + .byte N06 , As3 + .byte W08 + .byte N20 , An3 + .byte W20 + .byte N02 , As3 + .byte W02 + .byte Bn3 + .byte W02 + .byte N16 , Cn4 + .byte W16 + .byte N02 , An3 + .byte W02 + .byte Gs3 + .byte W02 + .byte Gn3 + .byte W02 + .byte Fs3 + .byte W02 + .byte N18 , Fn3 + .byte W18 + .byte N02 , Fs3 + .byte W02 + .byte Gn3 + .byte W02 + .byte Gs3 + .byte W02 + .byte N16 , An3 + .byte W16 + .byte N02 , Gn3 + .byte W02 + .byte Fs3 + .byte W02 + .byte Fn3 + .byte W02 + .byte En3 + .byte W02 + .byte N48 , Ds3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 12 + .byte W24 + .byte 1 + .byte N48 , En3 + .byte W16 + .byte MOD , 5 + .byte W08 + .byte 12 + .byte W24 + .byte 1 + .byte N12 , An2 + .byte W12 + .byte N02 , Gs2 + .byte W02 + .byte Gn2 + .byte W02 + .byte Fs2 + .byte W02 + .byte Fn2 + .byte W02 + .byte Ds2 + .byte W04 + .byte N04 , An2 + .byte W08 + .byte N02 , Fn2 + .byte W08 + .byte N04 , Cn3 + .byte W06 + .byte N02 , En3 + .byte W02 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 13 + .byte W12 + .byte 1 + .byte N16 , Gn3 + .byte W16 + .byte N08 , An3 + .byte W08 + .byte N16 , As3 + .byte W16 + .byte An3 + .byte W16 + .byte Gn3 + .byte W16 + .byte Fn3 + .byte W16 + .byte N08 , En3 + .byte W08 + .byte N16 , Dn3 + .byte W16 + .byte N08 , Gn3 + .byte W08 + .byte N24 , Dn3 + .byte W16 + .byte MOD , 12 + .byte W08 + .byte 1 + .byte N08 , Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte Gs2 + .byte W08 + .byte N48 , Fn2 + .byte W16 + .byte MOD , 5 + .byte W08 + .byte 12 + .byte W24 + .byte 1 + .byte N08 , Dn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte N04 , As3 + .byte W08 + .byte N08 , Fn3 + .byte W08 + .byte As3 + .byte W08 + .byte Dn4 + .byte W08 + .byte N04 , Cn4 + .byte W04 + .byte Gn3 + .byte W04 + .byte En3 + .byte W04 + .byte Gn3 + .byte W04 + .byte En3 + .byte W04 + .byte Cn3 + .byte W04 + .byte En3 + .byte W04 + .byte Cn3 + .byte W04 + .byte Gn2 + .byte W04 + .byte Cn3 + .byte W04 + .byte Gn2 + .byte W04 + .byte En2 + .byte W04 + .byte VOICE , 83 + .byte VOL , 40*mus_title3_mvl/mxv + .byte N24 , Ds2 + .byte W12 + .byte MOD , 13 + .byte W12 + .byte 1 + .byte N08 , Cn2 + .byte W08 + .byte Ds2 + .byte W08 + .byte Gn2 + .byte W08 + .byte N24 , Gs2 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte 1 + .byte N08 , Ds2 + .byte W08 + .byte Gs2 + .byte W08 + .byte As2 + .byte W08 + .byte N18 , Ds3 + .byte W16 + .byte N16 , Cs3 + .byte W16 + .byte Cn3 + .byte W16 + .byte N08 , As2 + .byte W08 + .byte Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte As1 + .byte W08 + .byte Fn2 + .byte W08 + .byte An2 + .byte W08 + .byte N24 , As2 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte 1 + .byte N08 , Fn2 + .byte W08 + .byte As2 + .byte W08 + .byte Dn3 + .byte W08 + .byte N24 , Fn2 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte 1 + .byte N08 , An2 + .byte W08 + .byte As2 + .byte W08 + .byte Cn3 + .byte W08 + .byte N16 , Fn3 + .byte W16 + .byte Ds3 + .byte W16 + .byte Dn3 + .byte W16 + .byte Cn3 + .byte W16 + .byte N08 , As2 + .byte W08 + .byte Gn3 + .byte W08 + .byte Dn3 + .byte W08 + .byte N04 , Bn2 + .byte W04 + .byte Cs1 + .byte W04 + .byte VOICE , 80 + .byte PAN , c_v+39 + .byte VOL , 40*mus_title3_mvl/mxv + .byte N12 , Cn1 + .byte W12 + .byte N02 , Gn2 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte Fs2 + .byte W08 + .byte Gn2 + .byte W08 +mus_title3_7_000: + .byte N12 , Cn1 , v112 + .byte W12 + .byte N02 , Gn2 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte PEND + .byte PATT + .word mus_title3_7_000 + .byte N12 , Cn1 , v112 + .byte W12 + .byte N02 , Gn2 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fn2 + .byte W08 + .byte N04 + .byte W08 + .byte Fs2 + .byte W08 + .byte PAN , c_v+63 + .byte VOL , 30*mus_title3_mvl/mxv + .byte N44 , Gn4 + .byte W24 + .byte MOD , 12 + .byte W20 + .byte 1 + .byte W02 + .byte N02 , Gs4 + .byte W02 + .byte N24 , An4 + .byte W24 + .byte Ds4 + .byte W24 + .byte VOL , 26*mus_title3_mvl/mxv + .byte N32 , Dn4 + .byte W12 + .byte MOD , 8 + .byte W16 + .byte 1 + .byte W04 + .byte N08 , Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte N24 , As3 + .byte W24 + .byte N08 , Cn4 + .byte W08 + .byte N04 , Dn4 + .byte W08 + .byte Ds4 + .byte W06 + .byte N02 , En4 + .byte W02 + .byte N24 , Fn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte N08 , Cs4 + .byte W08 + .byte Ds4 + .byte W08 + .byte Cs4 + .byte W08 + .byte N16 , Cn4 + .byte W16 + .byte N06 , As3 + .byte W06 + .byte N02 , Dn4 + .byte W02 + .byte N12 , Ds4 + .byte W12 + .byte N02 , Dn4 , v088 + .byte W04 + .byte N08 , Cn4 , v112 + .byte W08 + .byte N02 , Bn3 , v096 + .byte W02 + .byte As3 , v092 + .byte W02 + .byte An3 , v088 + .byte W02 + .byte Gs3 + .byte W10 + .byte N04 , Ds4 , v112 + .byte W08 + .byte N16 , Gs4 + .byte W16 + .byte N02 , Gn4 , v084 + .byte W02 + .byte Fs4 , v080 + .byte W02 + .byte Fn4 , v072 + .byte W02 + .byte En4 + .byte W02 + .byte N08 , Cn4 , v112 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte Dn4 + .byte W06 + .byte N02 , En4 + .byte W02 + .byte N48 , Ds4 + .byte W24 + .byte MOD , 9 + .byte W24 + .byte 1 + .byte N24 , Cs4 + .byte W24 + .byte N16 , Bn3 + .byte W24 + .byte N14 , Cs4 + .byte W16 + .byte N04 , As3 + .byte W08 + .byte N12 , Fs3 + .byte W16 + .byte N04 , As3 + .byte W08 + .byte N16 , Fs4 + .byte W16 + .byte N04 , Cs4 + .byte W08 + .byte N14 , As3 + .byte W16 + .byte N04 , Cs4 + .byte W08 + .byte N24 , Ds4 + .byte W24 + .byte Cs4 + .byte W24 + .byte N16 , Cn4 + .byte W16 + .byte N04 , Gs3 + .byte W08 + .byte N04 + .byte W16 + .byte N08 , Ds4 + .byte W08 + .byte N40 , Fn4 + .byte W24 + .byte MOD , 8 + .byte W16 + .byte N04 , Fs4 + .byte W02 + .byte MOD , 1 + .byte W02 + .byte N04 , Fn4 + .byte W04 + .byte N24 , Cs4 + .byte W24 + .byte N08 , Bn3 + .byte W08 + .byte As3 + .byte W08 + .byte Gs3 + .byte W08 + .byte VOL , 33*mus_title3_mvl/mxv + .byte N16 , Ds3 + .byte W16 + .byte N04 , Cs3 + .byte W24 + .byte N04 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte N04 , Cs3 + .byte W24 + .byte N04 + .byte W08 +mus_title3_7_001: + .byte N16 , Ds3 , v112 + .byte W16 + .byte N04 , Cs3 + .byte W24 + .byte N04 + .byte W08 + .byte N16 , Ds3 + .byte W16 + .byte N04 , Cs3 + .byte W24 + .byte N04 + .byte W08 + .byte PEND + .byte PATT + .word mus_title3_7_001 + .byte PATT + .word mus_title3_7_001 + .byte PATT + .word mus_title3_7_001 + .byte PATT + .word mus_title3_7_001 + .byte PATT + .word mus_title3_7_001 + .byte PATT + .word mus_title3_7_001 + .byte W48 + .byte N08 , Bn1 , v112 + .byte W08 + .byte N04 , As1 + .byte W08 + .byte N08 , Bn1 + .byte W08 + .byte Ds2 + .byte W16 + .byte N04 , Fs2 + .byte W08 + .byte Ds2 + .byte W16 + .byte N08 , Fs2 + .byte W08 + .byte N24 , Bn2 + .byte W24 + .byte PAN , c_v-55 + .byte N04 , Fs3 + .byte W16 + .byte N08 , Bn3 + .byte W08 + .byte N72 , Ds4 + .byte W24 + .byte MOD , 10 + .byte W48 + .byte 1 + .byte N08 , Fn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte Gs3 + .byte W08 + .byte As3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte N16 , Fn4 + .byte W16 + .byte Ds4 + .byte W16 + .byte Cs4 + .byte W16 + .byte N48 , Bn3 + .byte W24 + .byte MOD , 12 + .byte W24 + .byte 1 + .byte N24 , Cs4 + .byte W24 + .byte Bn3 + .byte W24 + .byte N32 , Dn4 + .byte W12 + .byte MOD , 10 + .byte W20 + .byte 1 + .byte N08 , Bn3 + .byte W08 + .byte Dn4 + .byte W08 +mus_title3_7_002: + .byte N08 , Cs4 , v112 + .byte W12 + .byte N02 , Cn4 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N08 , Gs4 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , An4 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte N04 + .byte W08 + .byte PEND + .byte N08 + .byte W12 + .byte N02 , Cn4 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N08 , Gs4 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Fn4 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte N04 + .byte W08 + .byte PATT + .word mus_title3_7_002 + .byte N08 , Cs4 , v112 + .byte W12 + .byte N02 , Cn4 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N08 , Bn4 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Cn5 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Cs5 + .byte W12 + .byte N02 , Cs4 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N08 , Fs4 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Bn4 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Fs4 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte N08 + .byte W08 + .byte Fs4 + .byte W12 + .byte N02 , Cs4 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N08 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Fs4 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Bn3 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte N08 , Gs3 + .byte W08 + .byte Fs4 + .byte W12 + .byte N02 , Cs4 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N08 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , As3 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte N04 + .byte W08 + .byte N08 , Bn3 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte N08 + .byte W08 + .byte N06 , Fs4 + .byte W24 + .byte N04 , Cs3 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N10 + .byte W48 + .byte FINE + +@********************** Track 8 **********************@ + +mus_title3_8: + .byte KEYSH , mus_title3_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte XCMD , xIECV , 10 + .byte xIECL , 12 + .byte PAN , c_v+0 + .byte VOL , 36*mus_title3_mvl/mxv + .byte BENDR , 12 + .byte W24 + .byte PAN , c_v+63 + .byte VOL , 36*mus_title3_mvl/mxv + .byte N04 , An2 , v112 + .byte W08 + .byte Fn2 + .byte W08 + .byte An2 + .byte W08 + .byte Fn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte N04 + .byte W16 + .byte Cn3 + .byte W04 + .byte N02 , Gn3 + .byte W02 + .byte Gs3 + .byte W02 + .byte N24 , An3 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte 1 + .byte N04 , Fn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte An3 + .byte W08 + .byte Fn3 + .byte W08 + .byte An3 + .byte W08 + .byte Cn4 + .byte W16 + .byte An3 + .byte W04 + .byte N02 , Ds4 + .byte W02 + .byte En4 + .byte W02 + .byte N24 , Fn4 + .byte W10 + .byte MOD , 12 + .byte W14 + .byte 1 + .byte N04 , An3 + .byte W08 + .byte Fn3 + .byte W08 + .byte An3 + .byte W08 + .byte Cn4 + .byte W08 + .byte An3 + .byte W08 + .byte Cn4 + .byte W08 + .byte Fn4 + .byte W16 + .byte Cn4 + .byte W04 + .byte N02 , Gn4 + .byte W02 + .byte Gs4 + .byte W02 + .byte N08 , An4 + .byte W08 + .byte N04 , Fn4 + .byte W08 + .byte An3 + .byte W08 + .byte N14 , Gn3 + .byte W24 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte Fs3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N04 , Gs3 + .byte W04 + .byte VOICE , 4 + .byte W02 + .byte N02 , En4 + .byte W02 + .byte PAN , c_v-62 + .byte VOL , 40*mus_title3_mvl/mxv + .byte N06 , Fn4 + .byte W08 + .byte N02 , En4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte As3 + .byte W08 + .byte An3 + .byte W06 + .byte En4 + .byte W02 + .byte N06 , Fn4 + .byte W08 + .byte N02 , En4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte As3 + .byte W08 + .byte An3 + .byte W08 + .byte PAN , c_v-62 + .byte W96 + .byte VOL , 31*mus_title3_mvl/mxv + .byte W96 + .byte W96 + .byte VOICE , 88 + .byte VOL , 36*mus_title3_mvl/mxv + .byte N02 , Fs3 + .byte W02 + .byte N06 , Fn3 + .byte W06 + .byte N02 , Ds3 + .byte W02 + .byte Dn3 + .byte W02 + .byte Cn3 + .byte W04 + .byte N04 , An3 + .byte W06 + .byte N02 , Cs4 + .byte W02 + .byte N06 , Cn4 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Fn4 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte Gn4 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N04 , Ds4 + .byte W56 + .byte VOICE , 80 + .byte N04 , Fn4 + .byte W08 + .byte Gn4 + .byte W08 + .byte An4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Ds4 + .byte W08 + .byte N16 , Cn4 + .byte W16 + .byte Dn4 + .byte W16 + .byte As3 + .byte W16 + .byte N04 , Gn3 + .byte W08 + .byte Ds3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N24 , Bn3 + .byte W24 + .byte As3 + .byte W24 + .byte N08 , Ds4 + .byte W08 + .byte N04 , As3 + .byte W08 + .byte N08 , Ds3 + .byte W08 + .byte VOICE , 4 + .byte VOL , 37*mus_title3_mvl/mxv + .byte W48 + .byte N24 , Cn3 + .byte W24 + .byte N08 , Fn3 + .byte W08 + .byte An3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Cn4 + .byte W08 + .byte N04 , Dn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte As3 + .byte W08 + .byte Cn4 + .byte W08 + .byte As3 + .byte W08 + .byte N06 , An3 + .byte W10 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W06 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte VOL , 38*mus_title3_mvl/mxv + .byte N08 , An2 + .byte W08 + .byte As2 + .byte W08 + .byte Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte An2 + .byte W08 + .byte Gn2 + .byte W08 + .byte N16 , Fn2 + .byte W16 + .byte Gn2 + .byte W16 + .byte Fn2 + .byte W16 + .byte N48 , Ds2 + .byte W24 + .byte MOD , 10 + .byte W24 + .byte 1 + .byte N16 , Gn2 + .byte W16 + .byte N08 , As2 + .byte W08 + .byte Dn3 + .byte W08 + .byte Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte VOL , 45*mus_title3_mvl/mxv + .byte N04 , Cn3 + .byte W08 + .byte An2 + .byte W08 + .byte Cn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte N02 , Cn3 + .byte W08 + .byte N04 , Fn3 + .byte W08 + .byte An3 + .byte W16 + .byte Fn3 + .byte W08 + .byte N24 , Cn4 + .byte W24 + .byte N04 , As3 + .byte W16 + .byte Fn3 + .byte W08 + .byte N24 , Ds4 + .byte W24 + .byte N02 + .byte W08 + .byte Dn4 + .byte W08 + .byte N04 , Ds4 + .byte W24 + .byte N04 + .byte W08 + .byte N24 , Dn3 + .byte W24 + .byte N08 , As2 + .byte W08 + .byte Dn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte N02 , Fs3 + .byte W02 + .byte N20 , Fn3 + .byte W22 + .byte N04 , Dn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte Gs3 + .byte W08 + .byte VOICE , 88 + .byte N06 , As3 + .byte W06 + .byte N04 , Fn3 + .byte W10 + .byte As3 + .byte W06 + .byte N02 , Fs4 + .byte W02 + .byte N08 , Fn4 + .byte W08 + .byte N02 , En4 , v092 + .byte W02 + .byte Ds4 , v088 + .byte W02 + .byte Dn4 , v084 + .byte W02 + .byte Cs4 , v076 + .byte W02 + .byte Cn4 , v072 + .byte W02 + .byte Bn3 , v068 + .byte W06 + .byte N48 , As3 , v112 + .byte W24 + .byte MOD , 12 + .byte W24 + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte MOD , 1 + .byte VOL , 22*mus_title3_mvl/mxv + .byte BEND , c_v+1 + .byte N02 , Gs5 + .byte W02 + .byte Ds5 , v080 + .byte W02 + .byte Cn5 + .byte W02 + .byte Gs4 + .byte W02 + .byte Ds5 , v112 + .byte W02 + .byte Cn5 , v080 + .byte W02 + .byte Gs4 + .byte W02 + .byte Ds4 + .byte W02 + .byte Cn5 , v112 + .byte W02 + .byte Gs4 , v080 + .byte W02 + .byte Ds4 + .byte W02 + .byte Cn4 + .byte W02 + .byte Ds5 , v112 + .byte W02 + .byte Cn5 , v080 + .byte W02 + .byte Gs4 + .byte W02 + .byte Ds4 + .byte W02 + .byte Cn5 , v112 + .byte W02 + .byte Gs4 , v080 + .byte W02 + .byte Ds4 + .byte W02 + .byte Cn4 + .byte W02 + .byte Gs4 , v112 + .byte W02 + .byte Ds4 , v080 + .byte W02 + .byte Cn4 + .byte W02 + .byte Gs3 + .byte W02 + .byte Cn5 , v112 + .byte W02 + .byte Gs4 , v080 + .byte W02 + .byte Ds4 + .byte W02 + .byte Cn4 , v084 + .byte W02 + .byte Gs4 , v112 + .byte W02 + .byte Ds4 , v080 + .byte W02 + .byte Cn4 + .byte W02 + .byte Gs3 + .byte W02 + .byte Ds4 , v112 + .byte W02 + .byte Cn4 , v080 + .byte W02 + .byte Gs3 + .byte W02 + .byte Ds3 + .byte W02 + .byte Gs4 , v112 + .byte W02 + .byte Ds4 , v080 + .byte W02 + .byte Cn4 + .byte W02 + .byte Gs3 + .byte W02 + .byte Ds4 , v112 + .byte W02 + .byte Cn4 , v080 + .byte W02 + .byte Gs3 + .byte W02 + .byte Ds3 + .byte W02 + .byte Cn4 , v112 + .byte W02 + .byte Gs3 , v080 + .byte W02 + .byte Ds3 + .byte W02 + .byte Cn3 + .byte W02 + .byte Gs2 , v112 + .byte W02 + .byte Ds3 , v080 + .byte W02 + .byte Gs3 + .byte W02 + .byte Cn4 + .byte W02 + .byte Ds3 , v112 + .byte W02 + .byte Gs3 , v080 + .byte W02 + .byte Cn4 + .byte W02 + .byte Ds4 + .byte W02 + .byte Gs3 , v112 + .byte W02 + .byte Cn4 , v080 + .byte W02 + .byte Ds4 + .byte W02 + .byte Gs4 + .byte W02 + .byte Ds3 , v112 + .byte W02 + .byte Gs3 , v080 + .byte W02 + .byte Cn4 + .byte W02 + .byte Ds4 + .byte W02 + .byte Gs3 , v112 + .byte W02 + .byte Cn4 , v080 + .byte W02 + .byte Ds4 + .byte W02 + .byte Gs4 + .byte W02 + .byte Cn4 , v112 + .byte W02 + .byte Ds4 , v080 + .byte W02 + .byte Gs4 + .byte W02 + .byte Cn5 + .byte W02 + .byte Gs3 , v112 + .byte W02 + .byte Cn4 , v080 + .byte W02 + .byte Ds4 + .byte W02 + .byte Gs4 + .byte W02 + .byte Cn4 , v112 + .byte W02 + .byte Ds4 , v080 + .byte W02 + .byte Gs4 + .byte W02 + .byte Cn5 + .byte W02 + .byte Ds4 , v112 + .byte W02 + .byte Gs4 , v080 + .byte W02 + .byte Cn5 + .byte W02 + .byte Ds5 + .byte W02 + .byte Cn4 , v112 + .byte W02 + .byte Ds4 , v080 + .byte W02 + .byte Gs4 + .byte W02 + .byte Cn5 + .byte W02 + .byte Ds4 , v112 + .byte W02 + .byte Gs4 , v080 + .byte W02 + .byte Cn5 + .byte W02 + .byte Ds5 + .byte W02 + .byte Gs4 , v112 + .byte W02 + .byte Cn5 , v080 + .byte W02 + .byte Ds5 + .byte W02 + .byte Gs5 + .byte W02 + .byte As5 , v112 + .byte W02 + .byte Fn5 , v080 + .byte W02 + .byte Dn5 + .byte W02 + .byte As4 + .byte W02 + .byte Fn5 , v112 + .byte W02 + .byte Dn5 , v080 + .byte W02 + .byte As4 + .byte W02 + .byte Fn4 + .byte W02 + .byte Dn5 , v112 + .byte W02 + .byte As4 , v080 + .byte W02 + .byte Fn4 + .byte W02 + .byte Dn4 + .byte W02 + .byte Fn5 , v112 + .byte W02 + .byte Dn5 , v080 + .byte W02 + .byte As4 + .byte W02 + .byte Fn4 + .byte W02 + .byte Dn5 , v112 + .byte W02 + .byte As4 , v080 + .byte W02 + .byte Fn4 + .byte W02 + .byte Dn4 + .byte W02 + .byte As4 , v112 + .byte W02 + .byte Fn4 , v080 + .byte W02 + .byte Dn4 + .byte W02 + .byte As3 + .byte W02 + .byte Dn5 , v112 + .byte W02 + .byte As4 , v080 + .byte W02 + .byte Fn4 + .byte W02 + .byte Dn4 + .byte W02 + .byte As4 , v112 + .byte W02 + .byte Fn4 , v080 + .byte W02 + .byte Dn4 + .byte W02 + .byte As3 + .byte W02 + .byte Fn4 , v112 + .byte W02 + .byte Dn4 , v080 + .byte W02 + .byte As3 + .byte W02 + .byte Fn3 + .byte W02 + .byte As4 , v112 + .byte W02 + .byte Fn4 , v080 + .byte W02 + .byte Dn4 + .byte W02 + .byte As3 + .byte W02 + .byte Fn4 , v112 + .byte W02 + .byte Dn4 , v080 + .byte W02 + .byte As3 + .byte W02 + .byte Fn3 + .byte W02 + .byte Dn4 , v112 + .byte W02 + .byte As3 , v080 + .byte W02 + .byte Fn3 + .byte W02 + .byte Dn3 + .byte W02 + .byte As2 , v112 + .byte W02 + .byte Dn3 , v080 + .byte W02 + .byte Fn3 + .byte W02 + .byte As3 + .byte W02 + .byte Dn3 , v112 + .byte W02 + .byte Fn3 , v080 + .byte W02 + .byte As3 + .byte W02 + .byte Dn4 + .byte W02 + .byte Fn3 , v112 + .byte W02 + .byte As3 , v080 + .byte W02 + .byte Dn4 + .byte W02 + .byte Fn4 + .byte W02 + .byte Dn3 , v112 + .byte W02 + .byte Fn3 , v080 + .byte W02 + .byte As3 + .byte W02 + .byte Dn4 + .byte W02 + .byte Fn3 , v112 + .byte W02 + .byte As3 , v080 + .byte W02 + .byte Dn4 + .byte W02 + .byte Fn4 + .byte W02 + .byte As3 , v112 + .byte W02 + .byte Dn4 , v080 + .byte W02 + .byte Fn4 + .byte W02 + .byte As4 + .byte W02 + .byte Fn3 , v112 + .byte W02 + .byte As3 , v080 + .byte W02 + .byte Dn4 + .byte W02 + .byte Fn4 + .byte W02 + .byte As3 , v112 + .byte W02 + .byte Dn4 , v080 + .byte W02 + .byte Fn4 + .byte W02 + .byte As4 + .byte W02 + .byte Dn4 , v112 + .byte W02 + .byte Fn4 , v080 + .byte W02 + .byte As4 + .byte W02 + .byte Dn5 + .byte W02 + .byte As3 , v112 + .byte W02 + .byte Dn4 , v080 + .byte W02 + .byte Fn4 + .byte W02 + .byte As4 + .byte W02 + .byte Dn4 , v112 + .byte W02 + .byte Fn4 , v080 + .byte W02 + .byte As4 + .byte W02 + .byte Dn5 + .byte W02 + .byte Fn4 , v112 + .byte W02 + .byte As4 , v080 + .byte W02 + .byte Dn5 + .byte W02 + .byte Fn5 + .byte W02 + .byte VOICE , 81 + .byte PAN , c_v-34 + .byte VOL , 38*mus_title3_mvl/mxv + .byte BEND , c_v+0 + .byte N08 , Cn2 , v112 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte Bn1 + .byte W08 + .byte Cn2 + .byte W08 +mus_title3_8_000: + .byte N06 , Cn2 , v112 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte PEND + .byte PATT + .word mus_title3_8_000 + .byte N06 , Cn2 , v112 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte As1 + .byte W08 + .byte N04 + .byte W08 + .byte Bn1 + .byte W08 + .byte VOICE , 4 + .byte PAN , c_v-62 + .byte VOL , 34*mus_title3_mvl/mxv + .byte N08 , As2 + .byte W08 + .byte N04 , An2 + .byte W08 + .byte As2 + .byte W08 + .byte N08 , Cn3 + .byte W08 + .byte N04 , As2 + .byte W08 + .byte Cn3 + .byte W08 + .byte N24 , Fn2 + .byte W24 + .byte Gn2 + .byte W24 + .byte VOL , 28*mus_title3_mvl/mxv + .byte N08 , As2 + .byte W08 + .byte N04 , An2 + .byte W08 + .byte As2 + .byte W08 + .byte N08 , Dn3 + .byte W08 + .byte N04 , Cs3 + .byte W06 + .byte Dn3 + .byte W10 + .byte N16 , As3 + .byte W16 + .byte Fn3 + .byte W16 + .byte Dn3 + .byte W16 + .byte N48 , As3 + .byte W24 + .byte MOD , 9 + .byte W24 + .byte 1 + .byte N24 , Fn3 + .byte W24 + .byte Ds3 + .byte W24 + .byte N08 , Cn3 + .byte W08 + .byte N04 , Bn2 + .byte W08 + .byte Cn3 + .byte W08 + .byte N08 , Ds3 + .byte W08 + .byte N04 , Dn3 + .byte W08 + .byte Ds3 + .byte W08 + .byte N24 , Gs3 + .byte W24 + .byte N02 , Gn3 + .byte W02 + .byte Fn3 , v064 + .byte W02 + .byte Ds3 + .byte W02 + .byte Cs3 + .byte W02 + .byte Cn3 + .byte W02 + .byte As2 + .byte W06 + .byte N04 , Cn3 , v112 + .byte W04 + .byte Ds3 + .byte W04 + .byte N48 , Fn3 + .byte W24 + .byte MOD , 10 + .byte W24 + .byte 1 + .byte N24 , Gs3 + .byte W24 + .byte N16 , Cs3 + .byte W16 + .byte N08 , Fn3 + .byte W08 + .byte N16 , Gs3 + .byte W16 + .byte Fs3 + .byte W16 + .byte Fn3 + .byte W16 + .byte Fs3 + .byte W14 + .byte As2 + .byte W18 + .byte Cs3 + .byte W16 + .byte N08 + .byte W08 + .byte N04 , Cn3 + .byte W08 + .byte Cs3 + .byte W08 + .byte N08 , Ds3 + .byte W08 + .byte N04 , Dn3 + .byte W08 + .byte Ds3 + .byte W08 + .byte N08 , Fn3 + .byte W08 + .byte N04 , En3 + .byte W08 + .byte Fn3 + .byte W08 + .byte N10 , Fs3 + .byte W10 + .byte N04 , Fn3 + .byte W06 + .byte Fs3 + .byte W08 + .byte N40 , Gs3 + .byte W24 + .byte MOD , 9 + .byte W16 + .byte N04 , As3 + .byte W04 + .byte Gs3 + .byte W04 + .byte MOD , 1 + .byte N08 , Fs3 + .byte W08 + .byte N04 , Gs3 + .byte W08 + .byte Fs3 + .byte W08 + .byte N08 , Fn3 + .byte W08 + .byte Ds3 + .byte W08 + .byte Cs3 + .byte W08 + .byte VOL , 34*mus_title3_mvl/mxv + .byte N16 , Fs2 + .byte W16 + .byte N04 , Fn2 + .byte W24 + .byte N04 + .byte W08 + .byte N16 , Fs2 + .byte W16 + .byte N04 , Fn2 + .byte W24 + .byte N04 + .byte W08 +mus_title3_8_001: + .byte N16 , Fs2 , v112 + .byte W16 + .byte N04 , Fn2 + .byte W24 + .byte N04 + .byte W08 + .byte N16 , Fs2 + .byte W16 + .byte N04 , Fn2 + .byte W24 + .byte N04 + .byte W08 + .byte PEND + .byte PATT + .word mus_title3_8_001 + .byte PATT + .word mus_title3_8_001 + .byte PATT + .word mus_title3_8_001 + .byte PATT + .word mus_title3_8_001 + .byte PATT + .word mus_title3_8_001 + .byte PATT + .word mus_title3_8_001 + .byte N08 , Fs4 , v112 + .byte W08 + .byte N04 , Fn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte As4 + .byte W16 + .byte N08 , Cs5 + .byte W08 + .byte TIE , Fs5 + .byte W48 + .byte W96 + .byte W96 + .byte EOT + .byte PAN , c_v-1 + .byte VOL , 29*mus_title3_mvl/mxv + .byte N16 , Ds2 + .byte W16 + .byte Fs2 + .byte W16 + .byte Bn2 + .byte W16 + .byte Fs2 + .byte W16 + .byte Bn2 + .byte W16 + .byte Dn3 + .byte W16 + .byte Fs3 + .byte W16 + .byte Dn3 + .byte W16 + .byte Bn2 + .byte W16 + .byte N24 , Bn3 , v080 + .byte W24 + .byte N04 , Fs3 , v112 + .byte W04 + .byte Ds3 , v068 + .byte W04 + .byte Bn2 + .byte W04 + .byte Fs2 + .byte W04 + .byte Ds2 + .byte W04 + .byte Bn1 + .byte W04 + .byte VOICE , 81 + .byte VOL , 63*mus_title3_mvl/mxv + .byte N06 , Fs1 , v112 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 +mus_title3_8_002: + .byte N06 , Fs1 , v112 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte PEND + .byte PATT + .word mus_title3_8_002 + .byte PATT + .word mus_title3_8_002 + .byte N06 , Fs1 , v112 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte PATT + .word mus_title3_8_002 + .byte PATT + .word mus_title3_8_002 + .byte VOL , 25*mus_title3_mvl/mxv + .byte N06 , Cs4 , v112 + .byte W24 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N10 + .byte W48 + .byte FINE + +@********************** Track 9 **********************@ + +mus_title3_9: + .byte KEYSH , mus_title3_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 65*mus_title3_mvl/mxv + .byte W24 + .byte N72 , An2 , v112 + .byte W96 + .byte N72 + .byte W96 + .byte N72 + .byte W96 + .byte W96 + .byte An2 , v104 + .byte W96 + .byte W96 + .byte W96 + .byte W24 + .byte N24 , An2 , v084 + .byte W48 + .byte N24 + .byte W24 + .byte N48 , An2 , v112 + .byte W96 + .byte W96 + .byte W96 + .byte W24 + .byte N48 + .byte W48 + .byte N24 , An2 , v096 + .byte W24 + .byte N48 , An2 , v112 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N48 + .byte W96 + .byte W96 + .byte W96 + .byte N48 + .byte W48 + .byte N44 , An2 , v096 + .byte W48 + .byte An2 , v112 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N48 + .byte W96 + .byte W96 + .byte N48 + .byte W96 + .byte W96 + .byte VOL , 58*mus_title3_mvl/mxv + .byte N48 + .byte W96 + .byte W96 + .byte N48 + .byte W96 + .byte W96 + .byte N48 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 127 + .byte VOL , 68*mus_title3_mvl/mxv + .byte N01 , Dn5 + .byte W04 + .byte Dn5 , v064 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte N01 + .byte W04 + .byte Dn5 , v048 + .byte W04 + .byte Dn5 , v052 + .byte W04 + .byte Dn5 , v056 + .byte W04 + .byte Dn5 , v064 + .byte W04 + .byte Dn5 , v068 + .byte W04 + .byte Dn5 , v080 + .byte W04 + .byte Dn5 , v084 + .byte W04 + .byte Dn5 , v092 + .byte W04 + .byte Dn5 , v096 + .byte W04 + .byte N01 + .byte W04 + .byte Dn5 , v104 + .byte W04 + .byte Dn5 , v116 + .byte W04 + .byte VOICE , 0 + .byte N04 , En1 , v112 + .byte N48 , An2 + .byte W08 + .byte N04 , En1 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte En1 , v112 + .byte W04 + .byte En1 , v064 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v112 + .byte W08 + .byte En1 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte En1 , v112 + .byte W04 + .byte En1 , v064 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v112 + .byte W08 + .byte En1 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W08 + .byte En1 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 +mus_title3_9_000: + .byte N04 , En1 , v112 + .byte W08 + .byte En1 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte En1 , v112 + .byte W04 + .byte En1 , v064 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte PEND + .byte PATT + .word mus_title3_9_000 + .byte N04 , En1 , v112 + .byte W08 + .byte En1 , v080 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte En1 , v112 + .byte W04 + .byte En1 , v064 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte En1 , v112 + .byte W04 + .byte En1 , v064 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v080 + .byte W08 + .byte En1 , v112 + .byte W04 + .byte En1 , v064 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte PATT + .word mus_title3_9_000 + .byte N48 , An2 , v112 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte FINE + +@********************** Track 10 **********************@ + +mus_title3_10: + .byte KEYSH , mus_title3_key+0 + .byte VOICE , 6 + .byte VOL , 45*mus_title3_mvl/mxv + .byte XCMD , xIECV , 16 + .byte xIECL , 12 + .byte PAN , c_v-64 + .byte LFOS , 44 + .byte BENDR , 12 + .byte BEND , c_v+0 + .byte W24 + .byte N04 , Fn3 , v112 + .byte W08 + .byte Cn3 + .byte W08 + .byte Fn3 + .byte W08 + .byte An3 + .byte W08 + .byte Fn3 + .byte W08 + .byte An3 + .byte W08 + .byte Cn4 + .byte W16 + .byte An3 + .byte W04 + .byte N02 , Ds4 + .byte W02 + .byte En4 + .byte W02 + .byte N24 , Fn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N04 , Cn4 + .byte W08 + .byte An3 + .byte W08 + .byte Cn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte An4 + .byte W16 + .byte Fn4 + .byte W04 + .byte N02 , As4 + .byte W02 + .byte Bn4 + .byte W02 + .byte N24 , Cn5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N04 , Fn4 + .byte W08 + .byte Cn4 + .byte W08 + .byte Fn4 + .byte W08 + .byte An4 + .byte W08 + .byte Fn4 + .byte W08 + .byte An4 + .byte W08 + .byte Cn5 + .byte W16 + .byte An4 + .byte W04 + .byte N02 , Ds5 + .byte W02 + .byte En5 + .byte W02 + .byte N08 , Fn5 + .byte W08 + .byte Cn5 + .byte W08 + .byte N06 , Gn4 + .byte W06 + .byte N02 , An4 + .byte W02 + .byte N14 , As4 + .byte W24 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N02 + .byte W08 + .byte An4 + .byte W08 + .byte As4 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N04 , Bn4 + .byte W07 + .byte PAN , c_v+0 + .byte W01 + .byte VOICE , 87 + .byte BEND , c_v+4 + .byte N04 , Fn1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte Cn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte N08 , Fn1 + .byte W16 + .byte N04 , Fn1 , v080 + .byte W08 + .byte N08 , En1 , v112 + .byte W16 + .byte N04 , En1 , v080 + .byte W08 +mus_title3_10_000: + .byte N08 , Ds1 , v112 + .byte W16 + .byte N04 , Ds1 , v080 + .byte W08 + .byte N08 , Ds1 , v112 + .byte W16 + .byte N04 , Ds1 , v080 + .byte W08 + .byte N08 , Ds1 , v112 + .byte W16 + .byte N04 , Ds1 , v080 + .byte W08 + .byte N08 , En1 , v112 + .byte W08 + .byte Bn1 + .byte W08 + .byte En2 + .byte W08 + .byte PEND +mus_title3_10_001: + .byte N08 , Fn1 , v112 + .byte W16 + .byte N04 , Fn1 , v080 + .byte W08 + .byte N08 , Fn1 , v112 + .byte W08 + .byte Cn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte Fn1 + .byte W16 + .byte N04 , Fn1 , v080 + .byte W08 + .byte N08 , En1 , v112 + .byte W16 + .byte N04 , En1 , v080 + .byte W08 + .byte PEND + .byte N20 , Ds1 , v112 + .byte W24 + .byte N04 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N08 + .byte W08 + .byte As1 + .byte W08 + .byte Ds2 + .byte W08 + .byte En1 + .byte W08 + .byte Bn1 + .byte W08 + .byte En2 + .byte W08 + .byte PATT + .word mus_title3_10_001 + .byte PATT + .word mus_title3_10_000 + .byte PATT + .word mus_title3_10_001 + .byte N08 , Ds1 , v112 + .byte W08 + .byte N04 , Dn1 + .byte W08 + .byte Ds1 + .byte W08 + .byte N24 , Cs2 + .byte W12 + .byte MOD , 10 + .byte W12 + .byte 0 + .byte N16 , As1 + .byte W16 + .byte N08 , Ds1 + .byte W08 + .byte As1 + .byte W08 + .byte Cs1 + .byte W08 + .byte N04 , Ds1 + .byte W04 + .byte En1 + .byte W04 + .byte N08 , Fn1 + .byte W16 + .byte N04 , Fn1 , v080 + .byte W08 + .byte N08 , Fn1 , v112 + .byte W08 + .byte Cn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte Fn1 + .byte W08 + .byte Cn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte En1 + .byte W16 + .byte N04 , En1 , v080 + .byte W08 + .byte N08 , Ds1 , v112 + .byte W16 + .byte N04 , Ds1 , v080 + .byte W08 + .byte N08 , Ds1 , v112 + .byte W08 + .byte As1 + .byte W08 + .byte Ds2 + .byte W08 + .byte Ds1 + .byte W16 + .byte N04 , Ds1 , v080 + .byte W08 + .byte N08 , En1 , v112 + .byte W16 + .byte N04 , En1 , v080 + .byte W08 + .byte PATT + .word mus_title3_10_001 + .byte N04 , Ds1 , v112 + .byte W08 + .byte N04 + .byte W16 + .byte N12 + .byte W16 + .byte N08 , En1 + .byte W08 + .byte Ds1 + .byte W08 + .byte N16 , Fn1 + .byte W16 + .byte N06 , Gn1 + .byte W16 + .byte N08 , En1 + .byte W08 + .byte Fn1 + .byte W16 + .byte N04 , Fn1 , v080 + .byte W08 + .byte N08 , Fn1 , v112 + .byte W16 + .byte N04 , Fn1 , v080 + .byte W08 + .byte N08 , Fn1 , v112 + .byte W08 + .byte Cn2 + .byte W08 + .byte Fn2 + .byte W08 + .byte En1 + .byte W16 + .byte N04 , En1 , v080 + .byte W08 + .byte N08 , Ds1 , v112 + .byte W16 + .byte N04 , Ds1 , v080 + .byte W08 + .byte N08 , Ds1 , v112 + .byte W08 + .byte As1 + .byte W08 + .byte Ds2 + .byte W08 + .byte Dn1 + .byte W16 + .byte N04 , Dn1 , v080 + .byte W08 + .byte N08 , Cn1 , v112 + .byte W16 + .byte N04 , Cn1 , v080 + .byte W08 + .byte N40 , As1 , v112 + .byte W24 + .byte MOD , 9 + .byte W16 + .byte 0 + .byte N08 , Gs1 + .byte W08 + .byte N24 , Dn1 + .byte W14 + .byte MOD , 8 + .byte W10 + .byte 0 + .byte N08 , Fn1 + .byte W08 + .byte En1 + .byte W08 + .byte Ds1 + .byte W08 + .byte N24 , Dn1 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N08 , As1 + .byte W08 + .byte Dn1 + .byte W08 + .byte Fn1 + .byte W08 + .byte N24 , Cn2 + .byte W14 + .byte MOD , 8 + .byte W10 + .byte 0 + .byte N08 , As1 + .byte W08 + .byte Gs1 + .byte W08 + .byte Fn1 + .byte W08 + .byte N24 , Ds1 + .byte W14 + .byte MOD , 8 + .byte W10 + .byte 0 + .byte N08 , Cn1 + .byte W08 + .byte Ds1 + .byte W08 + .byte Gs1 + .byte W08 + .byte N14 , Ds2 + .byte W16 + .byte Dn2 + .byte W16 + .byte Cs2 + .byte W16 + .byte Cn2 + .byte W16 + .byte Bn1 + .byte W16 + .byte As1 + .byte W16 + .byte N08 , Gs1 + .byte W08 + .byte As1 + .byte W08 + .byte Gs1 + .byte W08 + .byte Gn1 + .byte W08 + .byte Fn1 + .byte W08 + .byte Ds1 + .byte W08 + .byte N24 , As1 + .byte W24 + .byte N08 , An1 + .byte W08 + .byte Fn1 + .byte W08 + .byte As1 + .byte W08 + .byte N14 , Fn2 + .byte W16 + .byte En2 + .byte W16 + .byte Ds2 + .byte W16 + .byte Dn2 + .byte W16 + .byte Cs2 + .byte W16 + .byte Cn2 + .byte W16 + .byte N08 , As1 + .byte W08 + .byte Cn2 + .byte W08 + .byte As1 + .byte W08 + .byte Gn1 + .byte W08 + .byte As1 + .byte W08 + .byte Bn1 + .byte W08 + .byte VOICE , 6 + .byte VOL , 45*mus_title3_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N24 , Cn2 + .byte W24 + .byte Gn2 + .byte W14 + .byte MOD , 12 + .byte W10 + .byte 1 + .byte N24 , En2 + .byte W01 + .byte MOD , 1 + .byte W11 + .byte 12 + .byte W12 + .byte 1 + .byte N24 , As2 + .byte W12 + .byte MOD , 12 + .byte W12 + .byte 1 + .byte N48 , Cn3 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte 15 + .byte W24 + .byte 0 + .byte N22 , As2 + .byte W24 + .byte N04 , Cn3 + .byte W08 + .byte As2 + .byte W08 + .byte Gn2 + .byte W08 + .byte N08 , Cn3 + .byte W08 + .byte N04 , Bn2 + .byte W08 + .byte Cn3 + .byte W06 + .byte N02 , Fs3 + .byte W02 + .byte N08 , Gn3 + .byte W08 + .byte N04 , Fs3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N08 , En3 + .byte W08 + .byte N04 , Ds3 + .byte W08 + .byte En3 + .byte W08 + .byte N08 , As3 + .byte W08 + .byte N04 , An3 + .byte W08 + .byte As3 + .byte W08 + .byte VOL , 45*mus_title3_mvl/mxv + .byte N04 , Cn4 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte VOICE , 5 + .byte PAN , c_v+0 + .byte VOL , 28*mus_title3_mvl/mxv + .byte BEND , c_v+1 + .byte N44 , Cn5 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Dn5 + .byte W24 + .byte An4 + .byte W24 + .byte N32 , Cn5 + .byte W24 + .byte MOD , 7 + .byte W08 + .byte N08 , As4 + .byte W02 + .byte MOD , 0 + .byte W06 + .byte N08 , An4 + .byte W08 + .byte N24 , Fn4 + .byte W24 + .byte N08 , Gn4 + .byte W08 + .byte N04 , Gs4 + .byte W08 + .byte An4 + .byte W06 + .byte N02 + .byte W02 + .byte N48 , As4 + .byte W24 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N24 , Cn5 + .byte W24 + .byte N22 , Gn4 + .byte W22 + .byte N02 , An4 + .byte W02 + .byte N14 , As4 + .byte W14 + .byte N02 , An4 + .byte W02 + .byte N04 , Gs4 + .byte W16 + .byte N04 + .byte W08 + .byte Cn5 + .byte W08 + .byte N16 , Ds5 + .byte W16 + .byte N02 , Dn5 , v084 + .byte W02 + .byte Cs5 , v080 + .byte W02 + .byte Cn5 , v072 + .byte W02 + .byte Bn4 + .byte W02 + .byte N08 , Fn4 , v112 + .byte W08 + .byte N04 , Fs4 + .byte W08 + .byte Gn4 + .byte W06 + .byte N02 + .byte W02 + .byte N48 , Gs4 + .byte W24 + .byte MOD , 8 + .byte W24 + .byte 0 + .byte N24 , As4 + .byte W24 + .byte N16 , Gs4 + .byte W24 + .byte N16 + .byte W16 + .byte N04 , Fs4 + .byte W08 + .byte N16 , Fn4 + .byte W16 + .byte N04 , Fs4 + .byte W06 + .byte N02 , Dn5 + .byte W02 + .byte N16 , Cs5 + .byte W16 + .byte N04 , As4 + .byte W08 + .byte N16 , Gs4 + .byte W16 + .byte N04 , As4 + .byte W08 + .byte N64 , Gs4 + .byte W40 + .byte MOD , 8 + .byte W24 + .byte N04 , Ds4 + .byte W08 + .byte MOD , 0 + .byte N04 + .byte W16 + .byte N08 , Gs4 + .byte W08 + .byte N40 , Fs4 + .byte W24 + .byte MOD , 9 + .byte W16 + .byte 0 + .byte N04 , Gs4 + .byte W04 + .byte Fs4 + .byte W04 + .byte N48 , Fn4 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte VOICE , 87 + .byte VOL , 59*mus_title3_mvl/mxv + .byte MOD , 0 + .byte BEND , c_v+5 + .byte N12 , Fs1 + .byte W16 + .byte N04 , Fn1 + .byte W08 + .byte Fs1 + .byte W16 + .byte Fn1 + .byte W08 + .byte N12 , Fs1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte Fn1 + .byte W08 +mus_title3_10_002: + .byte N12 , Fs1 , v112 + .byte W16 + .byte N04 , Fn1 + .byte W08 + .byte Fs1 + .byte W16 + .byte Fn1 + .byte W08 + .byte N12 , Fs1 + .byte W16 + .byte N04 + .byte W08 + .byte N04 + .byte W16 + .byte Fn1 + .byte W08 + .byte PEND + .byte PATT + .word mus_title3_10_002 + .byte PATT + .word mus_title3_10_002 + .byte PATT + .word mus_title3_10_002 + .byte PATT + .word mus_title3_10_002 + .byte PATT + .word mus_title3_10_002 + .byte N12 , Fs1 , v112 + .byte W16 + .byte N04 , Fn1 + .byte W08 + .byte Fs1 + .byte W16 + .byte Gs1 + .byte W08 + .byte N12 + .byte W16 + .byte N04 , Bn1 + .byte W08 + .byte N08 , Fn1 + .byte W08 + .byte Ds1 + .byte W08 + .byte Cs1 + .byte W08 + .byte BEND , c_v+0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +mus_title3: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_title3_pri @ Priority + .byte mus_title3_rev @ Reverb. + + .word mus_title3_grp + + .word mus_title3_1 + .word mus_title3_2 + .word mus_title3_3 + .word mus_title3_4 + .word mus_title3_5 + .word mus_title3_6 + .word mus_title3_7 + .word mus_title3_8 + .word mus_title3_9 + .word mus_title3_10 + + .end diff --git a/sound/songs/mus_tonekusa.s b/sound/songs/mus_tonekusa.s new file mode 100644 index 0000000000..c31ecafca4 --- /dev/null +++ b/sound/songs/mus_tonekusa.s @@ -0,0 +1,2847 @@ + .include "MPlayDef.s" + + .equ mus_tonekusa_grp, voicegroup_868E28C + .equ mus_tonekusa_pri, 0 + .equ mus_tonekusa_rev, reverb_set+50 + .equ mus_tonekusa_mvl, 127 + .equ mus_tonekusa_key, 0 + .equ mus_tonekusa_tbs, 1 + .equ mus_tonekusa_exg, 0 + .equ mus_tonekusa_cmp, 1 + + .section .rodata + .global mus_tonekusa + .align 2 + +@********************** Track 1 **********************@ + +mus_tonekusa_1: + .byte KEYSH , mus_tonekusa_key+0 +mus_tonekusa_1_B1: + .byte TEMPO , 148*mus_tonekusa_tbs/2 + .byte VOICE , 24 + .byte PAN , c_v+0 + .byte VOL , 100*mus_tonekusa_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte N72 , Fn4 , v048 + .byte W24 + .byte MOD , 4 + .byte W24 + .byte 7 + .byte VOL , 89*mus_tonekusa_mvl/mxv + .byte W05 + .byte 59*mus_tonekusa_mvl/mxv + .byte W07 + .byte 39*mus_tonekusa_mvl/mxv + .byte W05 + .byte 5*mus_tonekusa_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte VOL , 100*mus_tonekusa_mvl/mxv + .byte N12 , Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N72 , Cn4 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte VOL , 89*mus_tonekusa_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 59*mus_tonekusa_mvl/mxv + .byte W07 + .byte 39*mus_tonekusa_mvl/mxv + .byte W05 + .byte 5*mus_tonekusa_mvl/mxv + .byte W07 + .byte 100*mus_tonekusa_mvl/mxv + .byte MOD , 0 + .byte N12 , As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Gn4 + .byte W24 + .byte N96 , Fn4 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 7 + .byte VOL , 97*mus_tonekusa_mvl/mxv + .byte W05 + .byte 87*mus_tonekusa_mvl/mxv + .byte W07 + .byte 81*mus_tonekusa_mvl/mxv + .byte W05 + .byte 72*mus_tonekusa_mvl/mxv + .byte W07 + .byte 59*mus_tonekusa_mvl/mxv + .byte W05 + .byte 34*mus_tonekusa_mvl/mxv + .byte W07 + .byte 18*mus_tonekusa_mvl/mxv + .byte W05 + .byte 3*mus_tonekusa_mvl/mxv + .byte W01 + .byte 11*mus_tonekusa_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 100*mus_tonekusa_mvl/mxv + .byte N72 , Gn4 + .byte W24 + .byte MOD , 4 + .byte W24 + .byte VOL , 89*mus_tonekusa_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 59*mus_tonekusa_mvl/mxv + .byte W07 + .byte 39*mus_tonekusa_mvl/mxv + .byte W05 + .byte 5*mus_tonekusa_mvl/mxv + .byte W07 + .byte 100*mus_tonekusa_mvl/mxv + .byte MOD , 0 + .byte N12 , An4 + .byte W12 + .byte As4 + .byte W12 +mus_tonekusa_1_000: + .byte N24 , Fn4 , v048 + .byte W24 + .byte Dn4 + .byte W24 + .byte As3 + .byte W24 + .byte Ds4 + .byte W24 + .byte PEND + .byte N72 , Dn4 + .byte W24 + .byte MOD , 4 + .byte W24 + .byte VOL , 89*mus_tonekusa_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 59*mus_tonekusa_mvl/mxv + .byte W07 + .byte 39*mus_tonekusa_mvl/mxv + .byte W05 + .byte 5*mus_tonekusa_mvl/mxv + .byte W07 + .byte 100*mus_tonekusa_mvl/mxv + .byte MOD , 0 + .byte N12 , Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N96 , Cn4 + .byte W24 + .byte MOD , 4 + .byte W24 + .byte 7 + .byte VOL , 97*mus_tonekusa_mvl/mxv + .byte W05 + .byte 87*mus_tonekusa_mvl/mxv + .byte W07 + .byte 81*mus_tonekusa_mvl/mxv + .byte W05 + .byte 72*mus_tonekusa_mvl/mxv + .byte W07 + .byte 59*mus_tonekusa_mvl/mxv + .byte W05 + .byte 34*mus_tonekusa_mvl/mxv + .byte W07 + .byte 18*mus_tonekusa_mvl/mxv + .byte W05 + .byte 3*mus_tonekusa_mvl/mxv + .byte W01 + .byte 11*mus_tonekusa_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 100*mus_tonekusa_mvl/mxv + .byte N72 , Gn4 + .byte W24 + .byte MOD , 4 + .byte W24 + .byte VOL , 89*mus_tonekusa_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 59*mus_tonekusa_mvl/mxv + .byte W07 + .byte 39*mus_tonekusa_mvl/mxv + .byte W05 + .byte 5*mus_tonekusa_mvl/mxv + .byte W07 + .byte 100*mus_tonekusa_mvl/mxv + .byte MOD , 0 + .byte N12 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N24 , Fn4 + .byte W24 + .byte Dn4 + .byte W24 + .byte N12 , As3 + .byte W48 + .byte N48 , Ds4 + .byte W24 + .byte VOL , 89*mus_tonekusa_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 59*mus_tonekusa_mvl/mxv + .byte W07 + .byte 39*mus_tonekusa_mvl/mxv + .byte W05 + .byte 5*mus_tonekusa_mvl/mxv + .byte W07 + .byte 100*mus_tonekusa_mvl/mxv + .byte MOD , 0 + .byte N16 + .byte W16 + .byte Dn4 + .byte W16 + .byte Cn4 + .byte W16 + .byte N48 , Dn4 + .byte W24 + .byte MOD , 2 + .byte W24 + .byte 0 + .byte N48 , Fn4 + .byte W24 + .byte MOD , 2 + .byte W24 + .byte 0 + .byte N48 , Gn4 + .byte W24 + .byte VOL , 89*mus_tonekusa_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 59*mus_tonekusa_mvl/mxv + .byte W07 + .byte 39*mus_tonekusa_mvl/mxv + .byte W05 + .byte 5*mus_tonekusa_mvl/mxv + .byte W07 + .byte 100*mus_tonekusa_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte N12 + .byte W12 + .byte An4 + .byte W12 + .byte As4 + .byte W12 + .byte PATT + .word mus_tonekusa_1_000 + .byte N48 , Dn4 , v048 + .byte W48 + .byte N03 , Cn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte N18 , Cn4 + .byte W18 + .byte N12 , Gn3 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte N48 , As3 + .byte W48 + .byte VOICE , 73 + .byte N03 , Fs4 , v064 + .byte W03 + .byte N09 , Fn4 + .byte W09 + .byte N12 , Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N72 , Fn4 + .byte W24 + .byte MOD , 3 + .byte W24 + .byte VOL , 89*mus_tonekusa_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 59*mus_tonekusa_mvl/mxv + .byte W07 + .byte 39*mus_tonekusa_mvl/mxv + .byte W05 + .byte 5*mus_tonekusa_mvl/mxv + .byte W07 + .byte 100*mus_tonekusa_mvl/mxv + .byte MOD , 0 + .byte N12 , Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N03 , Cn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte N66 , Cn4 + .byte W42 + .byte VOL , 89*mus_tonekusa_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 59*mus_tonekusa_mvl/mxv + .byte W07 + .byte 39*mus_tonekusa_mvl/mxv + .byte W05 + .byte 5*mus_tonekusa_mvl/mxv + .byte W07 + .byte 100*mus_tonekusa_mvl/mxv + .byte MOD , 0 + .byte N12 , As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte N03 , Ds4 + .byte W03 + .byte N21 , Dn4 + .byte W21 + .byte N24 , Ds4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Gn4 + .byte W24 + .byte N72 , Fn4 + .byte W48 + .byte VOL , 89*mus_tonekusa_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 59*mus_tonekusa_mvl/mxv + .byte W07 + .byte 39*mus_tonekusa_mvl/mxv + .byte W05 + .byte 5*mus_tonekusa_mvl/mxv + .byte W07 + .byte 100*mus_tonekusa_mvl/mxv + .byte MOD , 0 + .byte N12 , Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N03 , Gs4 + .byte W03 + .byte N44 , Gn4 + .byte W56 + .byte W01 + .byte N12 + .byte W12 + .byte An4 + .byte W12 + .byte N09 , As4 + .byte W09 + .byte N03 , En4 + .byte W03 + .byte N24 , Fn4 + .byte W24 + .byte Dn4 + .byte W24 + .byte As3 + .byte W24 + .byte Ds4 + .byte W24 + .byte N03 , Cs4 + .byte W03 + .byte N44 , Dn4 + .byte W21 + .byte VOL , 89*mus_tonekusa_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 59*mus_tonekusa_mvl/mxv + .byte W07 + .byte 39*mus_tonekusa_mvl/mxv + .byte W05 + .byte 5*mus_tonekusa_mvl/mxv + .byte W07 + .byte 100*mus_tonekusa_mvl/mxv + .byte MOD , 0 + .byte N02 , Ds4 + .byte W02 + .byte N14 , Dn4 + .byte W14 + .byte N16 , Ds4 + .byte W16 + .byte Dn4 + .byte W16 + .byte N72 , Cn4 + .byte W48 + .byte VOL , 89*mus_tonekusa_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 59*mus_tonekusa_mvl/mxv + .byte W07 + .byte 39*mus_tonekusa_mvl/mxv + .byte W05 + .byte 5*mus_tonekusa_mvl/mxv + .byte W07 + .byte VOICE , 48 + .byte VOL , 100*mus_tonekusa_mvl/mxv + .byte MOD , 0 + .byte N12 , Fn4 , v040 + .byte W12 + .byte Fs4 + .byte W12 + .byte N48 , Gn4 , v044 + .byte W60 + .byte N03 , Gs4 + .byte W03 + .byte N09 , Gn4 + .byte W09 + .byte N12 , An4 + .byte W12 + .byte Gn4 , v040 + .byte W12 + .byte N24 , Fn4 + .byte W24 + .byte Dn4 , v032 + .byte W24 + .byte N12 , As3 , v040 + .byte W48 + .byte N48 , Ds4 + .byte W24 + .byte VOL , 89*mus_tonekusa_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 59*mus_tonekusa_mvl/mxv + .byte W07 + .byte 39*mus_tonekusa_mvl/mxv + .byte W05 + .byte 5*mus_tonekusa_mvl/mxv + .byte W07 + .byte 100*mus_tonekusa_mvl/mxv + .byte MOD , 0 + .byte N04 + .byte W04 + .byte N02 , Fn4 , v044 + .byte W02 + .byte N10 , Ds4 + .byte W10 + .byte N16 , Dn4 , v040 + .byte W16 + .byte Cn4 + .byte W16 + .byte N24 , Dn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Fs4 , v044 + .byte W24 + .byte N44 , Gn4 + .byte W24 + .byte VOL , 89*mus_tonekusa_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 59*mus_tonekusa_mvl/mxv + .byte W07 + .byte 39*mus_tonekusa_mvl/mxv + .byte W05 + .byte 5*mus_tonekusa_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte W12 + .byte VOL , 100*mus_tonekusa_mvl/mxv + .byte N12 , Gn4 , v036 + .byte W12 + .byte An4 , v032 + .byte W12 + .byte As4 , v040 + .byte W12 + .byte N24 , Dn5 , v044 + .byte W24 + .byte Cn5 , v040 + .byte W24 + .byte As4 , v032 + .byte W24 + .byte Fn4 , v028 + .byte W24 + .byte N48 , Dn4 + .byte W48 + .byte N03 , Cn4 , v024 + .byte W03 + .byte Dn4 , v028 + .byte W03 + .byte N18 , Cn4 + .byte W18 + .byte N12 , Gn3 + .byte W12 + .byte N06 , An3 , v032 + .byte W12 + .byte N72 , As3 , v044 + .byte W48 + .byte VOL , 89*mus_tonekusa_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 59*mus_tonekusa_mvl/mxv + .byte W07 + .byte 39*mus_tonekusa_mvl/mxv + .byte W05 + .byte 5*mus_tonekusa_mvl/mxv + .byte W07 + .byte 100*mus_tonekusa_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte VOICE , 24 + .byte W48 + .byte N12 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte GOTO + .word mus_tonekusa_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_tonekusa_2: + .byte KEYSH , mus_tonekusa_key+0 +mus_tonekusa_2_B1: + .byte VOICE , 45 + .byte VOL , 100*mus_tonekusa_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v-15 + .byte W24 + .byte N12 , Fn3 , v080 + .byte W12 + .byte Fn3 , v020 + .byte W12 + .byte An3 , v080 + .byte W12 + .byte An3 , v020 + .byte W12 + .byte Cn4 , v080 + .byte W12 + .byte Cn4 , v020 + .byte W12 + .byte W24 + .byte Fn3 , v076 + .byte W12 + .byte Fn3 , v020 + .byte W12 + .byte An3 , v076 + .byte W12 + .byte An3 , v020 + .byte W12 + .byte Gn3 , v080 + .byte W12 + .byte Gn3 , v020 + .byte W12 + .byte W24 + .byte Ds3 , v080 + .byte W12 + .byte Ds3 , v020 + .byte W12 + .byte An2 , v080 + .byte W12 + .byte An2 , v020 + .byte W12 + .byte Cn3 , v080 + .byte W12 + .byte Cn3 , v020 + .byte W12 + .byte Fn2 , v080 + .byte W12 + .byte Fn2 , v020 + .byte W84 + .byte W96 + .byte W96 + .byte N06 , Dn3 , v076 + .byte W06 + .byte Ds3 + .byte W06 + .byte N12 , Dn3 + .byte W12 + .byte As2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Dn4 + .byte W12 + .byte VOICE , 73 + .byte N06 , Ds5 , v036 + .byte W06 + .byte N03 , Fn5 + .byte W03 + .byte N15 , Ds5 + .byte W15 + .byte N06 , Cn5 + .byte W06 + .byte Cn5 , v020 + .byte W06 + .byte An4 , v036 + .byte W06 + .byte An4 , v020 + .byte W06 + .byte Fn4 , v040 + .byte W06 + .byte Fn4 , v020 + .byte W06 + .byte Ds4 , v040 + .byte W06 + .byte Ds4 , v020 + .byte W06 + .byte Cn4 , v040 + .byte W06 + .byte Cn4 , v020 + .byte W06 + .byte Fn4 , v036 + .byte W06 + .byte Fn4 , v020 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_tonekusa_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_tonekusa_3: + .byte KEYSH , mus_tonekusa_key+0 +mus_tonekusa_3_B1: + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte VOL , 100*mus_tonekusa_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte W96 + .byte W96 + .byte W96 + .byte W24 + .byte N24 , As3 , v032 + .byte W24 + .byte An3 + .byte W24 + .byte Cn4 + .byte W24 + .byte N72 , As3 + .byte W72 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N48 , Fn3 + .byte W48 + .byte Dn4 + .byte W48 + .byte W96 + .byte W96 + .byte N72 , Ds4 + .byte W72 + .byte N12 , Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte As3 + .byte W24 + .byte N12 , Fn3 + .byte W48 + .byte N48 , An3 + .byte W48 + .byte N16 + .byte W16 + .byte Gn3 + .byte W16 + .byte An3 + .byte W16 + .byte N48 , As3 + .byte W48 + .byte Dn4 + .byte W48 + .byte Ds4 + .byte W60 + .byte N12 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte As3 + .byte W24 + .byte Fn3 + .byte W24 + .byte Cn4 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_tonekusa_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_tonekusa_4: + .byte KEYSH , mus_tonekusa_key+0 +mus_tonekusa_4_B1: + .byte VOICE , 45 + .byte VOL , 100*mus_tonekusa_mvl/mxv + .byte PAN , c_v+0 + .byte BENDR , 12 + .byte LFOS , 44 + .byte W96 + .byte W24 + .byte N12 , Fn2 , v080 + .byte W12 + .byte Fn2 , v020 + .byte W12 + .byte An2 , v080 + .byte W12 + .byte An2 , v020 + .byte W12 + .byte Cn3 , v080 + .byte W12 + .byte Cn3 , v020 + .byte W12 + .byte W96 + .byte VOICE , 60 + .byte MOD , 0 + .byte W24 + .byte N24 , As2 , v064 + .byte W24 + .byte An2 + .byte W24 + .byte Gs2 + .byte W24 + .byte Gn2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Ds2 + .byte W24 + .byte Fn2 + .byte W24 + .byte Gn2 + .byte W24 + .byte Fn2 + .byte W24 + .byte Dn2 + .byte W24 + .byte As1 + .byte W24 + .byte Ds2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Dn2 + .byte W24 + .byte As1 + .byte W24 + .byte Gn1 + .byte W24 + .byte N12 , Ds2 + .byte W12 + .byte Dn2 + .byte W12 + .byte N24 , Cn2 + .byte W24 + .byte Gn1 + .byte W24 + .byte Fn1 + .byte W24 + .byte Cn2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Gn1 + .byte W24 + .byte Cn2 + .byte W24 + .byte Ds2 + .byte W24 + .byte Gn2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Fn2 + .byte W24 + .byte Dn2 + .byte W24 + .byte N12 , As1 + .byte W24 + .byte N24 , Ds2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Fn1 + .byte W24 + .byte Cn2 + .byte W24 + .byte Fn2 + .byte W24 + .byte An2 + .byte W24 + .byte Fn2 + .byte W24 + .byte As2 + .byte W24 + .byte N12 , Dn2 + .byte W24 + .byte N24 , As1 + .byte W24 + .byte Cn2 + .byte W24 + .byte Gn2 , v072 + .byte W24 + .byte Cn3 + .byte W24 + .byte Ds3 + .byte W24 + .byte Fn3 + .byte W24 + .byte Dn3 + .byte W24 + .byte As2 + .byte W24 + .byte Ds3 + .byte W24 + .byte Fn1 + .byte W24 + .byte Cn2 + .byte W24 + .byte Fn2 + .byte W24 + .byte An2 + .byte W24 + .byte N48 , As1 + .byte W24 + .byte VOL , 81*mus_tonekusa_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 61*mus_tonekusa_mvl/mxv + .byte W07 + .byte 37*mus_tonekusa_mvl/mxv + .byte W05 + .byte 15*mus_tonekusa_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte VOL , 100*mus_tonekusa_mvl/mxv + .byte W48 + .byte VOICE , 60 + .byte N72 , Fn1 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte VOL , 81*mus_tonekusa_mvl/mxv + .byte W05 + .byte 61*mus_tonekusa_mvl/mxv + .byte W07 + .byte 37*mus_tonekusa_mvl/mxv + .byte W05 + .byte 15*mus_tonekusa_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte VOL , 100*mus_tonekusa_mvl/mxv + .byte N12 , An1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn1 + .byte W24 + .byte N24 + .byte W24 + .byte N12 , An1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn1 + .byte W12 + .byte An1 + .byte W12 + .byte N72 , As1 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte VOL , 81*mus_tonekusa_mvl/mxv + .byte W05 + .byte 61*mus_tonekusa_mvl/mxv + .byte W07 + .byte 37*mus_tonekusa_mvl/mxv + .byte W05 + .byte 15*mus_tonekusa_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte VOL , 100*mus_tonekusa_mvl/mxv + .byte N12 , Dn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte As1 + .byte W24 + .byte N24 , As2 + .byte W24 + .byte An2 + .byte W24 + .byte Fn2 + .byte W24 + .byte N72 , Ds2 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte VOL , 81*mus_tonekusa_mvl/mxv + .byte W05 + .byte 61*mus_tonekusa_mvl/mxv + .byte W07 + .byte 37*mus_tonekusa_mvl/mxv + .byte W05 + .byte 15*mus_tonekusa_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte VOL , 100*mus_tonekusa_mvl/mxv + .byte N12 , Fn2 + .byte W12 + .byte Gn2 + .byte W12 + .byte Fn2 + .byte W24 + .byte N24 + .byte W24 + .byte As1 + .byte W24 + .byte Ds2 + .byte W24 + .byte Dn2 + .byte W24 + .byte As1 + .byte W24 + .byte Gn1 + .byte W24 + .byte N12 , Ds2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Cn2 + .byte W24 + .byte N24 + .byte W24 + .byte Ds1 + .byte W24 + .byte Fn1 + .byte W24 + .byte Gn1 + .byte W24 + .byte Cn2 + .byte W24 + .byte Ds2 + .byte W24 + .byte Gn2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Fn2 + .byte W24 + .byte Dn2 + .byte W24 + .byte N12 , As1 + .byte W24 + .byte N24 , Ds2 + .byte W12 + .byte MOD , 6 + .byte W12 +mus_tonekusa_4_000: + .byte MOD , 0 + .byte N24 , Fn1 , v072 + .byte W24 + .byte Cn2 + .byte W24 + .byte Fn2 + .byte W24 + .byte An2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte PEND + .byte 0 + .byte N24 , Fn2 + .byte W24 + .byte As2 + .byte W24 + .byte N12 , Dn2 + .byte W24 + .byte N24 , As1 + .byte W24 + .byte Cn2 + .byte W24 + .byte Gn2 + .byte W24 + .byte Cn3 + .byte W24 + .byte Ds3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte N24 , Fn3 + .byte W24 + .byte Dn3 + .byte W24 + .byte As2 + .byte W24 + .byte Fn3 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte PATT + .word mus_tonekusa_4_000 + .byte MOD , 0 + .byte N72 , As1 , v072 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte VOL , 81*mus_tonekusa_mvl/mxv + .byte W05 + .byte 62*mus_tonekusa_mvl/mxv + .byte W07 + .byte 40*mus_tonekusa_mvl/mxv + .byte W05 + .byte 19*mus_tonekusa_mvl/mxv + .byte W07 + .byte MOD , 0 + .byte VOL , 100*mus_tonekusa_mvl/mxv + .byte N12 , Gs1 + .byte W12 + .byte An1 + .byte W12 + .byte N48 , As1 + .byte W24 + .byte MOD , 5 + .byte W24 + .byte 0 + .byte N48 , Fn2 + .byte W24 + .byte VOL , 81*mus_tonekusa_mvl/mxv + .byte MOD , 6 + .byte W05 + .byte VOL , 62*mus_tonekusa_mvl/mxv + .byte W07 + .byte 40*mus_tonekusa_mvl/mxv + .byte W05 + .byte 19*mus_tonekusa_mvl/mxv + .byte W07 + .byte GOTO + .word mus_tonekusa_4_B1 + .byte MOD , 0 + .byte VOL , 100*mus_tonekusa_mvl/mxv + .byte FINE + +@********************** Track 5 **********************@ + +mus_tonekusa_5: + .byte KEYSH , mus_tonekusa_key+0 +mus_tonekusa_5_B1: + .byte VOICE , 46 + .byte VOL , 100*mus_tonekusa_mvl/mxv + .byte PAN , c_v+12 + .byte BENDR , 12 + .byte LFOS , 44 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W12 + .byte N12 , Ds3 , v064 + .byte W12 + .byte As2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte Ds4 + .byte W12 + .byte Gn4 + .byte W12 + .byte W12 + .byte As4 + .byte W12 + .byte An4 + .byte W12 + .byte As4 + .byte W12 + .byte N03 , Fn4 , v060 + .byte W03 + .byte Gn4 , v056 + .byte W03 + .byte N06 , Fn4 , v060 + .byte W06 + .byte N12 , Ds4 , v056 + .byte W12 + .byte Dn4 + .byte W12 + .byte As3 , v052 + .byte W12 + .byte W12 + .byte Cn3 , v064 + .byte W12 + .byte Bn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N03 , Dn4 , v060 + .byte W03 + .byte Ds4 , v048 + .byte W03 + .byte N06 , Dn4 , v056 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte Fn3 , v060 + .byte W12 + .byte Dn3 + .byte W12 + .byte W12 + .byte Cn3 , v064 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W24 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte W12 + .byte Fn4 + .byte W12 + .byte En4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N03 , Dn4 , v060 + .byte W03 + .byte Ds4 , v056 + .byte W03 + .byte N06 , Dn4 , v060 + .byte W06 + .byte N12 , As3 + .byte W12 + .byte Fn3 , v056 + .byte W12 + .byte Dn3 , v060 + .byte W12 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W24 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte N06 , As3 + .byte W06 + .byte N03 , Dn3 , v044 + .byte W03 + .byte Fn3 , v056 + .byte W03 + .byte N12 , As3 , v060 + .byte W12 + .byte As3 , v024 + .byte W36 + .byte W24 + .byte N06 , An4 , v060 + .byte W12 + .byte N12 , An4 , v020 + .byte W36 + .byte N06 , Fn4 , v060 + .byte W12 + .byte N12 , Fn4 , v020 + .byte W12 + .byte W24 + .byte N06 , An4 , v056 + .byte W12 + .byte N12 , An4 , v020 + .byte W12 + .byte N06 , Fn4 , v056 + .byte W12 + .byte N12 , Fn4 , v020 + .byte W12 + .byte N06 , An4 , v060 + .byte W12 + .byte N12 , An4 , v020 + .byte W12 + .byte W24 + .byte N06 , As4 , v060 + .byte W12 + .byte N12 , As4 , v020 + .byte W36 + .byte N06 , Fn4 , v056 + .byte W12 + .byte N12 , Fn4 , v020 + .byte W12 + .byte W24 + .byte N06 , As4 , v056 + .byte W12 + .byte N12 , As4 , v020 + .byte W12 + .byte N06 , Fn4 , v056 + .byte W12 + .byte N12 , Fn4 , v020 + .byte W12 + .byte N06 , As4 , v056 + .byte W12 + .byte N12 , As4 , v020 + .byte W12 + .byte W24 + .byte N06 , As4 , v056 + .byte W12 + .byte N12 , As4 , v020 + .byte W12 + .byte N06 , Gn4 , v056 + .byte W12 + .byte N12 , Gn4 , v020 + .byte W12 + .byte N06 , Ds5 , v056 + .byte W12 + .byte N12 , Ds5 , v020 + .byte W12 + .byte W24 + .byte N06 , As4 , v056 + .byte W12 + .byte N12 , As4 , v020 + .byte W12 + .byte N06 , An4 , v056 + .byte W12 + .byte N12 , An4 , v020 + .byte W12 + .byte N06 , As4 , v056 + .byte W12 + .byte N12 , As4 , v020 + .byte W12 + .byte W24 + .byte N06 , Dn5 , v056 + .byte W12 + .byte N12 , Dn5 , v020 + .byte W12 + .byte N06 , As4 , v056 + .byte W12 + .byte N12 , As4 , v020 + .byte W36 + .byte N06 , Fn4 , v056 + .byte W12 + .byte N12 , Fn4 , v020 + .byte W12 + .byte N06 , Cn5 , v056 + .byte W12 + .byte N12 , Cn5 , v020 + .byte W12 + .byte N06 , An4 , v056 + .byte W12 + .byte N12 , An4 , v020 + .byte W12 + .byte N06 , Fn4 , v056 + .byte W12 + .byte N12 , Fn4 , v016 + .byte W12 +mus_tonekusa_5_000: + .byte VOICE , 24 + .byte BEND , c_v+0 + .byte N12 , As3 , v032 + .byte W12 + .byte Ds4 , v060 + .byte W03 + .byte BEND , c_v+1 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N12 , As3 , v032 + .byte W12 + .byte Gn3 , v060 + .byte W12 + .byte Ds4 + .byte W06 + .byte BEND , c_v+1 + .byte W03 + .byte c_v+0 + .byte W03 + .byte N12 , As3 , v040 + .byte W12 + .byte Gn3 , v048 + .byte W12 + .byte Ds4 , v060 + .byte W03 + .byte BEND , c_v+1 + .byte W03 + .byte c_v+0 + .byte W06 + .byte PEND + .byte N12 , Dn3 , v040 + .byte W12 + .byte As3 , v060 + .byte W03 + .byte BEND , c_v+1 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N12 , Fn3 , v040 + .byte W12 + .byte Dn3 , v056 + .byte W12 + .byte As3 , v060 + .byte W03 + .byte BEND , c_v+1 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N12 , Fn3 , v040 + .byte W12 + .byte Cs3 , v044 + .byte W12 + .byte Dn3 , v048 + .byte W12 + .byte Ds3 , v040 + .byte W12 + .byte Cn4 , v060 + .byte W03 + .byte BEND , c_v+1 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N12 , An3 , v044 + .byte W12 + .byte Fn3 , v040 + .byte W12 + .byte Cn4 , v060 + .byte W03 + .byte BEND , c_v+1 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N12 , An3 , v048 + .byte W12 + .byte Fn3 , v044 + .byte W12 + .byte Cn4 , v056 + .byte W03 + .byte BEND , c_v+1 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N12 , Dn4 , v040 + .byte W12 + .byte As3 , v060 + .byte W12 + .byte Fn3 , v040 + .byte W12 + .byte Dn3 , v060 + .byte W12 + .byte Fn3 , v044 + .byte W12 + .byte Dn3 , v060 + .byte W12 + .byte N24 , Cs4 + .byte W12 + .byte BEND , c_v+6 + .byte W12 + .byte PATT + .word mus_tonekusa_5_000 + .byte N12 , Dn4 , v040 + .byte W12 + .byte Cn4 , v048 + .byte W12 + .byte As3 , v060 + .byte W12 + .byte Fn3 , v048 + .byte W12 + .byte As3 , v032 + .byte W12 + .byte Fn3 , v052 + .byte W12 + .byte As3 , v040 + .byte W12 + .byte Cn4 , v056 + .byte W12 + .byte Fn3 , v032 + .byte W12 + .byte Cn4 , v060 + .byte W03 + .byte BEND , c_v+1 + .byte W03 + .byte c_v+0 + .byte W06 + .byte N12 , An3 , v048 + .byte W12 + .byte Fn3 , v044 + .byte W12 + .byte Cn4 + .byte W09 + .byte BEND , c_v+0 + .byte W03 + .byte c_v+0 + .byte N12 , An3 , v060 + .byte W12 + .byte Fn3 , v044 + .byte W12 + .byte Fn4 , v048 + .byte W06 + .byte BEND , c_v+0 + .byte W03 + .byte c_v+0 + .byte W03 + .byte VOICE , 45 + .byte N12 , Fn2 , v060 + .byte W24 + .byte As2 + .byte W24 + .byte Dn3 + .byte W24 + .byte Fn3 + .byte W12 + .byte VOICE , 46 + .byte N03 , As3 , v028 + .byte W03 + .byte Dn4 , v032 + .byte W03 + .byte Fn4 , v040 + .byte W03 + .byte An4 , v048 + .byte W03 + .byte N12 , As4 + .byte W12 + .byte As4 , v028 + .byte W84 + .byte GOTO + .word mus_tonekusa_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_tonekusa_6: + .byte KEYSH , mus_tonekusa_key+0 +mus_tonekusa_6_B1: + .byte VOICE , 80 + .byte PAN , c_v-60 + .byte VOL , 39*mus_tonekusa_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 4*mus_tonekusa_mvl/mxv + .byte N72 , Dn3 , v072 + .byte W02 + .byte VOL , 9*mus_tonekusa_mvl/mxv + .byte W03 + .byte 12*mus_tonekusa_mvl/mxv + .byte W03 + .byte 15*mus_tonekusa_mvl/mxv + .byte W04 + .byte 18*mus_tonekusa_mvl/mxv + .byte W02 + .byte 20*mus_tonekusa_mvl/mxv + .byte W03 + .byte 23*mus_tonekusa_mvl/mxv + .byte W03 + .byte 25*mus_tonekusa_mvl/mxv + .byte W04 + .byte 28*mus_tonekusa_mvl/mxv + .byte MOD , 6 + .byte W02 + .byte VOL , 29*mus_tonekusa_mvl/mxv + .byte W03 + .byte 33*mus_tonekusa_mvl/mxv + .byte W03 + .byte 34*mus_tonekusa_mvl/mxv + .byte W06 + .byte 37*mus_tonekusa_mvl/mxv + .byte W10 + .byte 39*mus_tonekusa_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte N24 , Cs3 + .byte W24 + .byte VOL , 33*mus_tonekusa_mvl/mxv + .byte N48 , Ds3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , Gn3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N48 , Dn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Fn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Dn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N96 , Fn3 + .byte W48 + .byte MOD , 6 + .byte W48 + .byte 0 + .byte N48 , Cn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Gn2 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , As2 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , Dn2 + .byte W24 + .byte Ds2 + .byte W24 + .byte N48 , Cn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Ds3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , As2 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Dn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , An2 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Cn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , As2 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Fn2 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , An2 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Fn2 , v064 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , As2 , v072 + .byte W24 + .byte N12 , Fn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte N24 , As1 + .byte W24 + .byte Bn1 + .byte W24 + .byte VOL , 39*mus_tonekusa_mvl/mxv + .byte N12 , Cn2 + .byte W12 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn2 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn2 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Dn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte As3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn2 + .byte W12 + .byte As3 + .byte W12 + .byte Fn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte An2 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn2 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Ds4 + .byte W12 + .byte Fn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W12 + .byte As3 + .byte W12 + .byte Fn3 + .byte W12 + .byte As2 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte As3 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Fn2 + .byte W12 + .byte As3 + .byte W12 + .byte Dn2 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fn2 + .byte W12 + .byte As2 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Ds2 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Ds4 + .byte W12 +mus_tonekusa_6_000: + .byte N12 , As3 , v072 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte As2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte PEND + .byte Fn2 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte An2 + .byte W12 + .byte PATT + .word mus_tonekusa_6_000 + .byte N12 , Gn2 , v072 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Gn3 + .byte W12 + .byte As3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte As3 + .byte W12 + .byte Fn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte As3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn2 + .byte W12 + .byte An3 + .byte W12 + .byte An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte Ds2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Ds2 + .byte W12 + .byte As2 + .byte W12 + .byte As3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Dn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Dn2 + .byte W12 + .byte As2 + .byte W12 + .byte As3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte GOTO + .word mus_tonekusa_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_tonekusa_7: + .byte KEYSH , mus_tonekusa_key+0 +mus_tonekusa_7_B1: + .byte VOICE , 81 + .byte PAN , c_v+63 + .byte VOL , 39*mus_tonekusa_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 4*mus_tonekusa_mvl/mxv + .byte N72 , Fn3 , v072 + .byte W02 + .byte VOL , 9*mus_tonekusa_mvl/mxv + .byte W03 + .byte 12*mus_tonekusa_mvl/mxv + .byte W03 + .byte 15*mus_tonekusa_mvl/mxv + .byte W04 + .byte 18*mus_tonekusa_mvl/mxv + .byte W02 + .byte 20*mus_tonekusa_mvl/mxv + .byte W03 + .byte 23*mus_tonekusa_mvl/mxv + .byte W03 + .byte 25*mus_tonekusa_mvl/mxv + .byte W04 + .byte 28*mus_tonekusa_mvl/mxv + .byte MOD , 7 + .byte W02 + .byte VOL , 29*mus_tonekusa_mvl/mxv + .byte W03 + .byte 33*mus_tonekusa_mvl/mxv + .byte W03 + .byte 34*mus_tonekusa_mvl/mxv + .byte W06 + .byte 37*mus_tonekusa_mvl/mxv + .byte W10 + .byte 39*mus_tonekusa_mvl/mxv + .byte W24 + .byte MOD , 0 + .byte N24 , Fs3 + .byte W24 + .byte VOL , 31*mus_tonekusa_mvl/mxv + .byte N48 , Gn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , As3 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte Gn3 + .byte W12 + .byte N48 , Fn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , As3 + .byte W24 + .byte MOD , 6 + .byte W24 +mus_tonekusa_7_000: + .byte MOD , 0 + .byte N48 , As3 , v072 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Fn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte PEND + .byte 0 + .byte N96 , An3 + .byte W48 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte N48 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Cn4 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Fn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , As3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Fn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Cn4 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte PATT + .word mus_tonekusa_7_000 + .byte MOD , 0 + .byte N48 , An3 , v072 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Fn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , As3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Dn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Cn3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N48 , Ds3 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , Fn3 + .byte W24 + .byte N12 , Ds3 + .byte W12 + .byte Cn3 + .byte W12 + .byte N24 , Dn3 + .byte W24 + .byte As2 + .byte W24 + .byte VOL , 37*mus_tonekusa_mvl/mxv + .byte N12 , Fn2 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Fn2 + .byte W12 + .byte Fn4 + .byte W12 + .byte An2 + .byte W12 + .byte An3 + .byte W12 + .byte Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte As2 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fn2 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte As3 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Fn2 + .byte W12 + .byte Dn4 + .byte W12 + .byte As2 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte As2 + .byte W12 + .byte Ds4 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Gn4 + .byte W12 + .byte As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte As3 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Fn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte As3 + .byte W12 + .byte Dn4 + .byte W12 + .byte As2 + .byte W12 + .byte Dn4 + .byte W12 + .byte Fn2 + .byte W12 + .byte As3 + .byte W12 + .byte As2 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn2 + .byte W12 + .byte Ds4 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Ds4 + .byte W12 + .byte As3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Gn4 + .byte W12 +mus_tonekusa_7_001: + .byte N12 , Dn4 , v072 + .byte W12 + .byte As3 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte As3 + .byte W12 + .byte Dn4 + .byte W12 + .byte PEND + .byte An2 + .byte W12 + .byte Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Ds4 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Ds3 + .byte W12 + .byte PATT + .word mus_tonekusa_7_001 + .byte N12 , As2 , v072 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte As3 + .byte W12 + .byte Fn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte As4 + .byte W12 + .byte Fn4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cn4 + .byte W12 + .byte An2 + .byte W12 + .byte Cn4 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fn2 + .byte W12 + .byte As3 + .byte W12 + .byte Fn2 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fn2 + .byte W12 + .byte As3 + .byte W12 + .byte Fn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte GOTO + .word mus_tonekusa_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_tonekusa_8: + .byte KEYSH , mus_tonekusa_key+0 +mus_tonekusa_8_B1: + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte VOL , 37*mus_tonekusa_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte BEND , c_v+1 + .byte N72 , Fn4 , v064 + .byte W72 + .byte N12 , Ds4 + .byte W12 + .byte Dn4 + .byte W12 +mus_tonekusa_8_000: + .byte N72 , Cn4 , v064 + .byte W72 + .byte N12 , As3 + .byte W12 + .byte Cn4 + .byte W12 + .byte PEND +mus_tonekusa_8_001: + .byte N24 , Dn4 , v064 + .byte W24 + .byte Ds4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Gn4 + .byte W24 + .byte PEND + .byte N96 , Fn4 + .byte W96 + .byte N72 , Gn4 + .byte W72 + .byte N12 , An4 + .byte W12 + .byte As4 + .byte W12 +mus_tonekusa_8_002: + .byte N24 , Fn4 , v064 + .byte W24 + .byte Dn4 + .byte W24 + .byte As3 + .byte W24 + .byte Ds4 + .byte W24 + .byte PEND + .byte N72 , Dn4 + .byte W72 + .byte N12 , Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte N96 , Cn4 + .byte W96 + .byte N72 , Gn4 + .byte W72 + .byte N12 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 +mus_tonekusa_8_003: + .byte N24 , Fn4 , v064 + .byte W24 + .byte Dn4 + .byte W24 + .byte N12 , As3 + .byte W48 + .byte PEND +mus_tonekusa_8_004: + .byte N48 , Ds4 , v064 + .byte W48 + .byte N16 + .byte W16 + .byte Dn4 + .byte W16 + .byte Cn4 + .byte W16 + .byte PEND + .byte N48 , Dn4 + .byte W48 + .byte Fn4 + .byte W48 +mus_tonekusa_8_005: + .byte N48 , Gn4 , v064 + .byte W60 + .byte N12 + .byte W12 + .byte An4 + .byte W12 + .byte As4 + .byte W12 + .byte PEND + .byte PATT + .word mus_tonekusa_8_002 + .byte N48 , Dn4 , v064 + .byte W48 + .byte N03 , Cn4 + .byte W03 + .byte Dn4 + .byte W03 + .byte N18 , Cn4 + .byte W18 + .byte N12 , Gn3 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte N48 , As3 + .byte W48 + .byte VOICE , 83 + .byte N03 , Fs4 + .byte W03 + .byte N09 , Fn4 + .byte W09 + .byte N12 , Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N72 , Fn4 + .byte W72 + .byte N12 , Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte PATT + .word mus_tonekusa_8_000 + .byte PATT + .word mus_tonekusa_8_001 + .byte N72 , Fn4 , v064 + .byte W72 + .byte N12 , Ds4 + .byte W12 + .byte Fn4 + .byte W12 + .byte N48 , Gn4 + .byte W60 + .byte N12 + .byte W12 + .byte An4 + .byte W12 + .byte N09 , As4 + .byte W09 + .byte N03 , En4 + .byte W03 + .byte PATT + .word mus_tonekusa_8_002 + .byte N48 , Dn4 , v064 + .byte W48 + .byte N16 + .byte W16 + .byte Ds4 + .byte W16 + .byte Dn4 + .byte W16 + .byte N72 , Cn4 + .byte W72 + .byte N12 , Fn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N48 , Gn4 + .byte W60 + .byte N12 + .byte W12 + .byte An4 + .byte W12 + .byte Gn4 + .byte W12 + .byte PATT + .word mus_tonekusa_8_003 + .byte PATT + .word mus_tonekusa_8_004 + .byte N24 , Dn4 , v064 + .byte W24 + .byte Ds4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Fs4 + .byte W24 + .byte PATT + .word mus_tonekusa_8_005 + .byte N24 , Dn5 , v064 + .byte W24 + .byte Cn5 + .byte W24 + .byte As4 + .byte W24 + .byte Fn4 + .byte W24 + .byte N48 , Dn4 + .byte W48 + .byte N24 , Cn4 + .byte W24 + .byte N12 , Gn3 + .byte W12 + .byte N06 , An3 + .byte W12 + .byte N72 , As3 + .byte W96 + .byte W48 + .byte N12 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte GOTO + .word mus_tonekusa_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_tonekusa_9: + .byte KEYSH , mus_tonekusa_key+0 +mus_tonekusa_9_B1: + .byte VOICE , 46 + .byte VOL , 100*mus_tonekusa_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+11 + .byte W96 + .byte W96 + .byte W84 + .byte N03 , Fn4 , v032 + .byte W03 + .byte An4 + .byte W03 + .byte Cn5 + .byte W03 + .byte Ds5 + .byte W03 + .byte N24 , Fn5 , v048 + .byte W24 + .byte N06 , Dn5 + .byte W12 + .byte N12 , Dn5 , v020 + .byte W12 + .byte N06 , Ds5 , v048 + .byte W12 + .byte N12 , Ds5 , v020 + .byte W12 + .byte N06 , Fn5 , v048 + .byte W12 + .byte N12 , Fn5 , v020 + .byte W12 + .byte N06 , Gn5 , v048 + .byte W12 + .byte N12 , Gn5 , v020 + .byte W36 + .byte N06 , As5 , v048 + .byte W12 + .byte N12 , As5 , v020 + .byte W36 +mus_tonekusa_9_000: + .byte N06 , Fn5 , v048 + .byte W12 + .byte N12 , Fn5 , v020 + .byte W36 + .byte N06 , As5 , v048 + .byte W12 + .byte N12 , As5 , v020 + .byte W36 + .byte PEND + .byte PATT + .word mus_tonekusa_9_000 + .byte N06 , Cn5 , v048 + .byte W12 + .byte N12 , Cn5 , v020 + .byte W36 + .byte N06 , Fn5 , v048 + .byte W12 + .byte N12 , Fn5 , v020 + .byte W36 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 9 + .byte W24 + .byte N06 , An4 , v044 + .byte W12 + .byte N12 , An4 , v020 + .byte W36 + .byte N06 , Fn4 , v044 + .byte W12 + .byte N12 , Fn4 , v020 + .byte W12 + .byte W24 + .byte N06 , An4 , v044 + .byte W12 + .byte N12 , An4 , v020 + .byte W12 + .byte N06 , Fn4 , v044 + .byte W12 + .byte N12 , Fn4 , v020 + .byte W12 + .byte N06 , An4 , v044 + .byte W12 + .byte N12 , An4 , v020 + .byte W12 + .byte W24 + .byte N06 , As4 , v044 + .byte W12 + .byte N12 , As4 , v020 + .byte W36 + .byte N06 , Fn4 , v044 + .byte W12 + .byte N12 , Fn4 , v020 + .byte W12 + .byte W24 + .byte N06 , As4 , v044 + .byte W12 + .byte N12 , As4 , v020 + .byte W12 + .byte N06 , Fn4 , v044 + .byte W12 + .byte N12 , Fn4 , v020 + .byte W12 + .byte N06 , As4 , v044 + .byte W12 + .byte N12 , As4 , v020 + .byte W12 + .byte W24 + .byte N06 , As4 , v044 + .byte W12 + .byte N12 , As4 , v020 + .byte W12 + .byte N06 , Gn4 , v044 + .byte W12 + .byte N12 , Gn4 , v020 + .byte W12 + .byte N06 , Ds5 , v044 + .byte W12 + .byte N12 , Ds5 , v020 + .byte W12 + .byte W24 + .byte N06 , As4 , v044 + .byte W12 + .byte N12 , As4 , v020 + .byte W12 + .byte N06 , An4 , v044 + .byte W12 + .byte N12 , An4 , v020 + .byte W12 + .byte N06 , As4 , v044 + .byte W12 + .byte N12 , As4 , v020 + .byte W12 + .byte W24 + .byte N06 , Dn5 , v044 + .byte W12 + .byte N12 , Dn5 , v020 + .byte W12 + .byte N06 , As4 , v044 + .byte W12 + .byte N12 , As4 , v020 + .byte W36 + .byte N06 , Fn4 , v044 + .byte W12 + .byte N12 , Fn4 , v020 + .byte W12 + .byte N06 , Cn5 , v044 + .byte W12 + .byte N12 , Cn5 , v020 + .byte W12 + .byte N06 , An4 , v044 + .byte W12 + .byte N12 , An4 , v020 + .byte W12 + .byte N06 , Fn4 , v044 + .byte W12 + .byte VOICE , 73 + .byte N12 , Dn4 , v048 + .byte W12 + .byte N48 , Ds4 + .byte W60 + .byte N03 , En4 + .byte W03 + .byte N09 , Ds4 + .byte W09 + .byte N12 , Fn4 + .byte W12 + .byte Ds4 + .byte W12 + .byte N24 , Dn4 + .byte W24 + .byte As3 + .byte W24 + .byte N12 , Fn3 + .byte W48 + .byte N48 , An3 + .byte W48 + .byte N04 , Cn4 + .byte W04 + .byte N02 , Dn4 + .byte W02 + .byte N10 , Cn4 + .byte W10 + .byte N16 , An3 + .byte W16 + .byte Fn3 + .byte W16 + .byte N24 , As3 + .byte W24 + .byte Cn4 + .byte W24 + .byte Dn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte N48 + .byte W60 + .byte N12 + .byte W12 + .byte Fn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte N24 , As4 + .byte W24 + .byte Fn4 + .byte W24 + .byte Dn4 + .byte W24 + .byte As3 + .byte W24 + .byte N48 , Fn3 + .byte W48 + .byte N03 , Gn3 + .byte W03 + .byte An3 + .byte W03 + .byte N18 , Gn3 + .byte W18 + .byte N12 , Dn3 + .byte W12 + .byte N06 , Fn3 + .byte W12 + .byte N72 + .byte W96 + .byte W96 + .byte GOTO + .word mus_tonekusa_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_tonekusa: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_tonekusa_pri @ Priority + .byte mus_tonekusa_rev @ Reverb. + + .word mus_tonekusa_grp + + .word mus_tonekusa_1 + .word mus_tonekusa_2 + .word mus_tonekusa_3 + .word mus_tonekusa_4 + .word mus_tonekusa_5 + .word mus_tonekusa_6 + .word mus_tonekusa_7 + .word mus_tonekusa_8 + .word mus_tonekusa_9 + + .end diff --git a/sound/songs/mus_tozan.s b/sound/songs/mus_tozan.s new file mode 100644 index 0000000000..dddbe1c3f7 --- /dev/null +++ b/sound/songs/mus_tozan.s @@ -0,0 +1,6388 @@ + .include "MPlayDef.s" + + .equ mus_tozan_grp, voicegroup_8683048 + .equ mus_tozan_pri, 0 + .equ mus_tozan_rev, reverb_set+50 + .equ mus_tozan_mvl, 127 + .equ mus_tozan_key, 0 + .equ mus_tozan_tbs, 1 + .equ mus_tozan_exg, 0 + .equ mus_tozan_cmp, 1 + + .section .rodata + .global mus_tozan + .align 2 + +@********************** Track 1 **********************@ + +mus_tozan_1: + .byte KEYSH , mus_tozan_key+0 + .byte TEMPO , 124*mus_tozan_tbs/2 + .byte VOICE , 127 + .byte PAN , c_v-64 + .byte VOL , 27*mus_tozan_mvl/mxv + .byte N03 , Cn4 , v112 + .byte W12 + .byte Cn4 , v096 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 125 + .byte N03 , Gn4 , v112 + .byte W09 + .byte VOICE , 127 + .byte W03 + .byte N03 , Cn4 , v096 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 125 + .byte N03 , Gn4 , v112 + .byte W09 + .byte VOICE , 127 + .byte W03 + .byte N03 , Cn4 , v096 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 127 + .byte N03 , Cn4 , v112 + .byte W12 + .byte Cn4 , v096 + .byte W06 + .byte N03 + .byte W06 + .byte N02 , Cn4 , v112 + .byte W04 + .byte Cn4 , v088 + .byte W04 + .byte N02 + .byte W04 + .byte N03 , Cn4 , v112 + .byte W06 + .byte Cn4 , v096 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte Cn4 , v096 + .byte W06 + .byte N03 + .byte W06 + .byte VOICE , 126 + .byte VOL , 3*mus_tozan_mvl/mxv + .byte PAN , c_v-1 + .byte N48 , Fn4 , v120 + .byte W02 + .byte VOL , 4*mus_tozan_mvl/mxv + .byte W03 + .byte 6*mus_tozan_mvl/mxv + .byte W03 + .byte 7*mus_tozan_mvl/mxv + .byte W04 + .byte 7*mus_tozan_mvl/mxv + .byte W02 + .byte 8*mus_tozan_mvl/mxv + .byte W03 + .byte 11*mus_tozan_mvl/mxv + .byte W03 + .byte 12*mus_tozan_mvl/mxv + .byte W04 + .byte 15*mus_tozan_mvl/mxv + .byte W02 + .byte 18*mus_tozan_mvl/mxv + .byte W03 + .byte 22*mus_tozan_mvl/mxv + .byte W03 + .byte 25*mus_tozan_mvl/mxv + .byte W04 + .byte 28*mus_tozan_mvl/mxv + .byte W02 + .byte 35*mus_tozan_mvl/mxv + .byte W04 + .byte 42*mus_tozan_mvl/mxv + .byte W03 + .byte 54*mus_tozan_mvl/mxv + .byte W03 +mus_tozan_1_B1: +mus_tozan_1_000: + .byte VOICE , 127 + .byte PAN , c_v-64 + .byte VOL , 27*mus_tozan_mvl/mxv + .byte N03 , Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W24 + .byte N03 + .byte W12 + .byte VOICE , 125 + .byte PAN , c_v+0 + .byte N06 , Gn3 , v124 + .byte W24 + .byte PEND +mus_tozan_1_001: + .byte VOICE , 127 + .byte PAN , c_v-64 + .byte N03 , Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W24 + .byte N03 + .byte W06 + .byte Cn4 , v096 + .byte W06 + .byte VOICE , 125 + .byte PAN , c_v+0 + .byte N06 , Gn3 , v124 + .byte W12 + .byte N03 , Gn3 , v064 + .byte W12 + .byte PEND +mus_tozan_1_002: + .byte VOICE , 127 + .byte PAN , c_v-64 + .byte N03 , Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W24 + .byte N03 + .byte W12 + .byte VOICE , 125 + .byte PAN , c_v+0 + .byte N06 , Gn3 , v124 + .byte W24 + .byte PEND +mus_tozan_1_003: + .byte VOICE , 127 + .byte PAN , c_v-64 + .byte N03 , Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte VOICE , 126 + .byte VOL , 3*mus_tozan_mvl/mxv + .byte PAN , c_v-1 + .byte N48 , Fn4 , v120 + .byte W02 + .byte VOL , 4*mus_tozan_mvl/mxv + .byte W03 + .byte 6*mus_tozan_mvl/mxv + .byte W03 + .byte 7*mus_tozan_mvl/mxv + .byte W04 + .byte 7*mus_tozan_mvl/mxv + .byte W02 + .byte 8*mus_tozan_mvl/mxv + .byte W03 + .byte 11*mus_tozan_mvl/mxv + .byte W03 + .byte 12*mus_tozan_mvl/mxv + .byte W04 + .byte VOICE , 125 + .byte VOL , 15*mus_tozan_mvl/mxv + .byte W02 + .byte 18*mus_tozan_mvl/mxv + .byte W03 + .byte 22*mus_tozan_mvl/mxv + .byte W03 + .byte 25*mus_tozan_mvl/mxv + .byte W04 + .byte 28*mus_tozan_mvl/mxv + .byte W02 + .byte 35*mus_tozan_mvl/mxv + .byte W04 + .byte 42*mus_tozan_mvl/mxv + .byte W03 + .byte 54*mus_tozan_mvl/mxv + .byte W03 + .byte PEND + .byte PATT + .word mus_tozan_1_000 + .byte PATT + .word mus_tozan_1_001 + .byte VOICE , 127 + .byte PAN , c_v-64 + .byte N03 , Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte PAN , c_v-1 + .byte W12 + .byte N03 + .byte W06 + .byte Cn4 , v096 + .byte W06 + .byte Gn3 , v124 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cn4 , v096 + .byte W06 + .byte VOICE , 127 + .byte PAN , c_v-64 + .byte N03 , Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte VOICE , 126 + .byte VOL , 3*mus_tozan_mvl/mxv + .byte N48 , Fn4 , v120 + .byte W02 + .byte VOL , 4*mus_tozan_mvl/mxv + .byte W03 + .byte 6*mus_tozan_mvl/mxv + .byte W03 + .byte 7*mus_tozan_mvl/mxv + .byte W04 + .byte 7*mus_tozan_mvl/mxv + .byte W02 + .byte 8*mus_tozan_mvl/mxv + .byte W03 + .byte 11*mus_tozan_mvl/mxv + .byte W03 + .byte 12*mus_tozan_mvl/mxv + .byte W04 + .byte PAN , c_v+0 + .byte VOL , 15*mus_tozan_mvl/mxv + .byte W02 + .byte 18*mus_tozan_mvl/mxv + .byte W03 + .byte 22*mus_tozan_mvl/mxv + .byte W03 + .byte 25*mus_tozan_mvl/mxv + .byte W04 + .byte 28*mus_tozan_mvl/mxv + .byte W02 + .byte 35*mus_tozan_mvl/mxv + .byte W04 + .byte 42*mus_tozan_mvl/mxv + .byte W03 + .byte 54*mus_tozan_mvl/mxv + .byte W03 + .byte PATT + .word mus_tozan_1_000 +mus_tozan_1_004: + .byte VOICE , 127 + .byte PAN , c_v-64 + .byte N03 , Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W24 + .byte N03 + .byte W06 + .byte Cn4 , v096 + .byte W06 + .byte VOICE , 125 + .byte PAN , c_v+0 + .byte N06 , Gn3 , v124 + .byte W12 + .byte N03 , Gn3 , v064 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte PEND + .byte PATT + .word mus_tozan_1_002 +mus_tozan_1_005: + .byte VOICE , 127 + .byte PAN , c_v-64 + .byte N03 , Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte VOICE , 126 + .byte VOL , 3*mus_tozan_mvl/mxv + .byte PAN , c_v-1 + .byte N48 , Fn4 , v120 + .byte W02 + .byte VOL , 4*mus_tozan_mvl/mxv + .byte W03 + .byte 6*mus_tozan_mvl/mxv + .byte W03 + .byte 7*mus_tozan_mvl/mxv + .byte W04 + .byte 7*mus_tozan_mvl/mxv + .byte W02 + .byte 8*mus_tozan_mvl/mxv + .byte W03 + .byte 11*mus_tozan_mvl/mxv + .byte W03 + .byte 12*mus_tozan_mvl/mxv + .byte W04 + .byte 15*mus_tozan_mvl/mxv + .byte W02 + .byte 18*mus_tozan_mvl/mxv + .byte W03 + .byte 22*mus_tozan_mvl/mxv + .byte W03 + .byte 25*mus_tozan_mvl/mxv + .byte W04 + .byte 28*mus_tozan_mvl/mxv + .byte W02 + .byte 35*mus_tozan_mvl/mxv + .byte W04 + .byte 42*mus_tozan_mvl/mxv + .byte W03 + .byte 54*mus_tozan_mvl/mxv + .byte W03 + .byte PEND + .byte VOICE , 127 + .byte PAN , c_v-64 + .byte VOL , 24*mus_tozan_mvl/mxv + .byte PAN , c_v-64 + .byte N03 , Cn4 , v112 + .byte W03 + .byte VOL , 27*mus_tozan_mvl/mxv + .byte W09 + .byte N03 , En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W24 + .byte N03 + .byte W12 + .byte VOICE , 125 + .byte PAN , c_v+0 + .byte N03 , Gn3 , v124 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Fn4 + .byte W12 + .byte PATT + .word mus_tozan_1_001 + .byte PATT + .word mus_tozan_1_002 +mus_tozan_1_006: + .byte VOICE , 127 + .byte PAN , c_v-64 + .byte N03 , Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte N02 + .byte W04 + .byte Cn4 , v088 + .byte W04 + .byte N02 + .byte W04 + .byte N03 , Cn4 , v112 + .byte W06 + .byte Cn4 , v096 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , Gn3 , v124 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cn4 , v096 + .byte W06 + .byte PEND + .byte VOICE , 127 + .byte PAN , c_v-64 + .byte VOL , 29*mus_tozan_mvl/mxv + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v108 + .byte W06 + .byte En4 , v060 + .byte W06 + .byte En4 , v064 + .byte W06 +mus_tozan_1_007: + .byte PAN , c_v-62 + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N02 , En4 , v112 + .byte W04 + .byte En4 , v068 + .byte W04 + .byte En4 , v092 + .byte W04 + .byte N03 , En4 , v076 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v108 + .byte W06 + .byte En4 , v060 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte PEND + .byte PATT + .word mus_tozan_1_007 +mus_tozan_1_008: + .byte PAN , c_v-62 + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte PAN , c_v+63 + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v108 + .byte W06 + .byte En4 , v060 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte PEND + .byte PATT + .word mus_tozan_1_008 + .byte PAN , c_v-62 + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , En4 , v112 + .byte W06 + .byte En4 , v060 + .byte W06 + .byte N03 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte N02 , En4 , v112 + .byte W04 + .byte En4 , v096 + .byte W04 + .byte N02 + .byte W04 + .byte N03 , En4 , v116 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte En4 , v112 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte En4 , v060 + .byte W06 + .byte En4 , v064 + .byte W06 + .byte PAN , c_v-62 + .byte VOL , 39*mus_tozan_mvl/mxv + .byte W06 + .byte N03 , Cn4 , v112 + .byte W12 + .byte Cn4 , v088 + .byte W06 + .byte Cn4 , v112 + .byte W06 + .byte Gn3 , v076 + .byte W06 + .byte Cn4 , v112 + .byte W06 + .byte En4 , v092 + .byte W06 +mus_tozan_1_009: + .byte VOICE , 127 + .byte PAN , c_v-64 + .byte VOL , 27*mus_tozan_mvl/mxv + .byte N03 , Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W24 + .byte N03 + .byte W12 + .byte VOICE , 125 + .byte PAN , c_v+0 + .byte N06 , Gn3 , v124 + .byte W24 + .byte PEND + .byte PATT + .word mus_tozan_1_001 + .byte PATT + .word mus_tozan_1_002 + .byte PATT + .word mus_tozan_1_003 + .byte PATT + .word mus_tozan_1_009 + .byte PATT + .word mus_tozan_1_001 + .byte VOICE , 127 + .byte PAN , c_v-64 + .byte N03 , Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte PAN , c_v-1 + .byte W12 + .byte N03 , Dn4 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte An3 , v124 + .byte W06 + .byte An3 , v112 + .byte W06 + .byte Dn4 + .byte W06 + .byte Dn4 , v096 + .byte W06 + .byte PAN , c_v-64 + .byte N03 , Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte VOICE , 126 + .byte VOL , 3*mus_tozan_mvl/mxv + .byte N48 , Fn4 , v120 + .byte W02 + .byte VOL , 4*mus_tozan_mvl/mxv + .byte W03 + .byte 6*mus_tozan_mvl/mxv + .byte W03 + .byte 7*mus_tozan_mvl/mxv + .byte W04 + .byte 7*mus_tozan_mvl/mxv + .byte W02 + .byte 8*mus_tozan_mvl/mxv + .byte W03 + .byte 11*mus_tozan_mvl/mxv + .byte W03 + .byte 12*mus_tozan_mvl/mxv + .byte W04 + .byte PAN , c_v+0 + .byte VOL , 15*mus_tozan_mvl/mxv + .byte W02 + .byte 18*mus_tozan_mvl/mxv + .byte W03 + .byte 22*mus_tozan_mvl/mxv + .byte W03 + .byte 25*mus_tozan_mvl/mxv + .byte W04 + .byte 28*mus_tozan_mvl/mxv + .byte W02 + .byte 35*mus_tozan_mvl/mxv + .byte W04 + .byte 42*mus_tozan_mvl/mxv + .byte W03 + .byte 54*mus_tozan_mvl/mxv + .byte W03 + .byte PATT + .word mus_tozan_1_000 + .byte PATT + .word mus_tozan_1_004 + .byte PATT + .word mus_tozan_1_002 + .byte PATT + .word mus_tozan_1_005 + .byte VOICE , 127 + .byte PAN , c_v-64 + .byte VOL , 27*mus_tozan_mvl/mxv + .byte N03 , Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W12 + .byte En4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W24 + .byte N03 + .byte W12 + .byte VOICE , 125 + .byte PAN , c_v+0 + .byte N03 , Gn3 , v124 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Fn4 + .byte W12 + .byte PATT + .word mus_tozan_1_001 + .byte PATT + .word mus_tozan_1_002 + .byte PATT + .word mus_tozan_1_006 + .byte W24 + .byte VOICE , 126 + .byte VOL , 3*mus_tozan_mvl/mxv + .byte PAN , c_v-1 + .byte N48 , Fn4 , v120 + .byte W02 + .byte VOL , 4*mus_tozan_mvl/mxv + .byte W03 + .byte 6*mus_tozan_mvl/mxv + .byte W03 + .byte 7*mus_tozan_mvl/mxv + .byte W04 + .byte 7*mus_tozan_mvl/mxv + .byte W02 + .byte 8*mus_tozan_mvl/mxv + .byte W03 + .byte 11*mus_tozan_mvl/mxv + .byte W03 + .byte 12*mus_tozan_mvl/mxv + .byte W04 + .byte PAN , c_v+0 + .byte VOL , 15*mus_tozan_mvl/mxv + .byte W02 + .byte 18*mus_tozan_mvl/mxv + .byte W03 + .byte 22*mus_tozan_mvl/mxv + .byte W03 + .byte 25*mus_tozan_mvl/mxv + .byte W04 + .byte 28*mus_tozan_mvl/mxv + .byte W02 + .byte 35*mus_tozan_mvl/mxv + .byte W04 + .byte 42*mus_tozan_mvl/mxv + .byte W03 + .byte 54*mus_tozan_mvl/mxv + .byte W03 + .byte 27*mus_tozan_mvl/mxv + .byte N03 , Cn4 , v112 + .byte W06 + .byte Cn4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v064 + .byte W06 + .byte W24 + .byte VOICE , 126 + .byte VOL , 3*mus_tozan_mvl/mxv + .byte PAN , c_v-1 + .byte N48 , Fn4 , v120 + .byte W02 + .byte VOL , 4*mus_tozan_mvl/mxv + .byte W03 + .byte 6*mus_tozan_mvl/mxv + .byte W03 + .byte 7*mus_tozan_mvl/mxv + .byte W04 + .byte 7*mus_tozan_mvl/mxv + .byte W02 + .byte 8*mus_tozan_mvl/mxv + .byte W03 + .byte 11*mus_tozan_mvl/mxv + .byte W03 + .byte 12*mus_tozan_mvl/mxv + .byte W04 + .byte PAN , c_v+0 + .byte VOL , 15*mus_tozan_mvl/mxv + .byte W02 + .byte 18*mus_tozan_mvl/mxv + .byte W03 + .byte 22*mus_tozan_mvl/mxv + .byte W03 + .byte 25*mus_tozan_mvl/mxv + .byte W04 + .byte 28*mus_tozan_mvl/mxv + .byte W02 + .byte 35*mus_tozan_mvl/mxv + .byte W04 + .byte 42*mus_tozan_mvl/mxv + .byte W03 + .byte 54*mus_tozan_mvl/mxv + .byte W03 + .byte 27*mus_tozan_mvl/mxv + .byte N03 , Cn4 , v112 + .byte W06 + .byte Cn4 , v064 + .byte W06 + .byte Cn4 , v112 + .byte W06 + .byte Cn4 , v064 + .byte W06 + .byte VOL , 9*mus_tozan_mvl/mxv + .byte N24 , Fn4 , v112 + .byte W02 + .byte VOL , 11*mus_tozan_mvl/mxv + .byte W03 + .byte 15*mus_tozan_mvl/mxv + .byte W03 + .byte 19*mus_tozan_mvl/mxv + .byte W04 + .byte 22*mus_tozan_mvl/mxv + .byte W02 + .byte 27*mus_tozan_mvl/mxv + .byte W03 + .byte 39*mus_tozan_mvl/mxv + .byte W30 + .byte W01 + .byte 9*mus_tozan_mvl/mxv + .byte N24 + .byte W02 + .byte VOL , 9*mus_tozan_mvl/mxv + .byte W03 + .byte 13*mus_tozan_mvl/mxv + .byte W03 + .byte 15*mus_tozan_mvl/mxv + .byte W04 + .byte 19*mus_tozan_mvl/mxv + .byte W02 + .byte 29*mus_tozan_mvl/mxv + .byte W03 + .byte 40*mus_tozan_mvl/mxv + .byte W04 + .byte 46*mus_tozan_mvl/mxv + .byte W24 + .byte W03 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_tozan_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_tozan_2: + .byte KEYSH , mus_tozan_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte VOL , 70*mus_tozan_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+19 + .byte BEND , c_v+0 + .byte N12 , Ds2 , v108 + .byte W48 + .byte PAN , c_v-25 + .byte N16 , Gn1 , v120 + .byte W36 + .byte N03 , As1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v+19 + .byte N12 , Ds2 + .byte W24 + .byte PAN , c_v-22 + .byte N12 , As1 + .byte W24 + .byte N36 , Ds1 + .byte W36 + .byte PAN , c_v+14 + .byte N03 , Bn2 + .byte W06 + .byte N03 + .byte W06 +mus_tozan_2_B1: + .byte PAN , c_v+16 + .byte N12 , Ds2 , v112 + .byte W12 + .byte N06 , Gs1 + .byte W84 +mus_tozan_2_000: + .byte N03 , Bn2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs1 + .byte W24 + .byte N03 , Bn2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Ds2 + .byte W12 + .byte N06 , Gs1 + .byte W24 + .byte N03 , Bn2 + .byte W06 + .byte N03 + .byte W06 + .byte PEND +mus_tozan_2_001: + .byte N12 , Ds2 , v112 + .byte W12 + .byte N06 , Gs1 + .byte W72 + .byte N03 , Bn2 + .byte W06 + .byte N03 + .byte W06 + .byte PEND +mus_tozan_2_002: + .byte N03 , Ds2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs1 + .byte W24 + .byte N03 , Bn2 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs1 + .byte W36 + .byte PEND +mus_tozan_2_003: + .byte N12 , Ds2 , v112 + .byte W12 + .byte N06 , Ds1 + .byte W72 + .byte N03 , As2 + .byte W06 + .byte N03 + .byte W06 + .byte PEND +mus_tozan_2_004: + .byte N12 , Ds2 , v112 + .byte W12 + .byte N06 , Ds1 + .byte W24 + .byte N03 , As2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Ds2 + .byte W12 + .byte N06 , Ds1 + .byte W36 + .byte PEND + .byte W96 +mus_tozan_2_005: + .byte VOICE , 56 + .byte W06 + .byte N03 , Ds3 , v112 + .byte W12 + .byte Cs3 + .byte W06 + .byte Ds3 + .byte W03 + .byte En3 + .byte W03 + .byte Cs3 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte N03 , Fn3 , v072 + .byte W03 + .byte Ds3 , v068 + .byte W03 + .byte Dn3 + .byte W03 + .byte Cn3 , v060 + .byte W03 + .byte As2 + .byte W06 + .byte PEND +mus_tozan_2_006: + .byte VOICE , 47 + .byte N12 , Ds2 , v112 + .byte W12 + .byte N05 , Gs1 + .byte W84 + .byte PEND + .byte PATT + .word mus_tozan_2_000 + .byte PATT + .word mus_tozan_2_001 +mus_tozan_2_007: + .byte N03 , Ds2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs1 + .byte W84 + .byte PEND +mus_tozan_2_008: + .byte N12 , Ds2 , v112 + .byte W12 + .byte N05 , Ds1 + .byte W72 + .byte N03 , As2 + .byte W06 + .byte N03 + .byte W06 + .byte PEND + .byte PATT + .word mus_tozan_2_004 + .byte VOICE , 56 + .byte W96 +mus_tozan_2_009: + .byte W48 + .byte VOICE , 60 + .byte N48 , Gn3 , v112 + .byte W32 + .byte W01 + .byte VOICE , 47 + .byte W15 + .byte PEND + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W48 + .byte N12 , Ds2 + .byte W12 + .byte N06 , Gs1 + .byte W84 + .byte PATT + .word mus_tozan_2_000 + .byte PATT + .word mus_tozan_2_001 + .byte PATT + .word mus_tozan_2_002 + .byte PATT + .word mus_tozan_2_003 + .byte PATT + .word mus_tozan_2_004 + .byte W96 + .byte PATT + .word mus_tozan_2_005 + .byte PATT + .word mus_tozan_2_006 + .byte PATT + .word mus_tozan_2_000 + .byte PATT + .word mus_tozan_2_001 + .byte PATT + .word mus_tozan_2_007 + .byte PATT + .word mus_tozan_2_008 + .byte PATT + .word mus_tozan_2_004 + .byte VOICE , 56 + .byte W96 + .byte PATT + .word mus_tozan_2_009 +mus_tozan_2_010: + .byte N12 , Gs2 , v112 + .byte W12 + .byte Gs1 + .byte W24 + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte Gs1 + .byte W36 + .byte PEND + .byte PATT + .word mus_tozan_2_010 + .byte N12 , Gs2 , v112 + .byte W12 + .byte Gs1 + .byte W24 + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte Gs1 + .byte W24 + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W06 + .byte N12 + .byte W12 + .byte Gs1 + .byte W12 + .byte Gs2 + .byte W12 + .byte Gs1 + .byte W12 + .byte Gs2 + .byte W12 + .byte Gs1 + .byte W12 + .byte Gs2 + .byte W24 + .byte PAN , c_v+24 + .byte N06 + .byte W12 + .byte PAN , c_v-18 + .byte N12 , Gs1 , v127 + .byte W60 + .byte PAN , c_v+23 + .byte W12 + .byte N03 , Ds3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs2 + .byte W12 + .byte PAN , c_v-19 + .byte N12 , Gs1 , v127 + .byte W60 + .byte PAN , c_v+23 + .byte W12 + .byte N03 , Gs2 , v096 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte Ds3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte PAN , c_v-19 + .byte N12 , Gs1 , v127 + .byte W60 + .byte PAN , c_v+23 + .byte W12 + .byte N03 , Ds3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gs2 + .byte W12 + .byte PAN , c_v-19 + .byte N12 , Gs1 , v127 + .byte W84 + .byte GOTO + .word mus_tozan_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_tozan_3: + .byte KEYSH , mus_tozan_key+0 + .byte VOICE , 56 + .byte LFOS , 44 + .byte VOL , 32*mus_tozan_mvl/mxv + .byte PAN , c_v+16 + .byte BEND , c_v+0 + .byte N24 , Gn1 , v112 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte PAN , c_v-16 + .byte MOD , 0 + .byte N24 , Ds2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOL , 41*mus_tozan_mvl/mxv + .byte PAN , c_v+47 + .byte MOD , 0 + .byte N24 , As1 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte PAN , c_v-46 + .byte MOD , 0 + .byte N24 , Gn2 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte 6 + .byte W12 + .byte VOL , 58*mus_tozan_mvl/mxv + .byte PAN , c_v+9 + .byte MOD , 0 + .byte N96 , As2 + .byte W12 + .byte VOL , 36*mus_tozan_mvl/mxv + .byte W02 + .byte 26*mus_tozan_mvl/mxv + .byte W03 + .byte 21*mus_tozan_mvl/mxv + .byte W03 + .byte 17*mus_tozan_mvl/mxv + .byte W04 + .byte 14*mus_tozan_mvl/mxv + .byte W02 + .byte 12*mus_tozan_mvl/mxv + .byte W01 + .byte 12*mus_tozan_mvl/mxv + .byte W02 + .byte 14*mus_tozan_mvl/mxv + .byte W03 + .byte 17*mus_tozan_mvl/mxv + .byte W04 + .byte 18*mus_tozan_mvl/mxv + .byte W02 + .byte 20*mus_tozan_mvl/mxv + .byte W03 + .byte 23*mus_tozan_mvl/mxv + .byte W03 + .byte 24*mus_tozan_mvl/mxv + .byte W04 + .byte 26*mus_tozan_mvl/mxv + .byte MOD , 5 + .byte W02 + .byte VOL , 29*mus_tozan_mvl/mxv + .byte W03 + .byte 31*mus_tozan_mvl/mxv + .byte W03 + .byte 35*mus_tozan_mvl/mxv + .byte W04 + .byte 38*mus_tozan_mvl/mxv + .byte W02 + .byte 41*mus_tozan_mvl/mxv + .byte W03 + .byte 42*mus_tozan_mvl/mxv + .byte W03 + .byte 46*mus_tozan_mvl/mxv + .byte W04 + .byte MOD , 7 + .byte VOL , 49*mus_tozan_mvl/mxv + .byte W02 + .byte 55*mus_tozan_mvl/mxv + .byte W03 + .byte 57*mus_tozan_mvl/mxv + .byte W03 + .byte 60*mus_tozan_mvl/mxv + .byte W04 + .byte 62*mus_tozan_mvl/mxv + .byte W02 + .byte 64*mus_tozan_mvl/mxv + .byte W03 + .byte 68*mus_tozan_mvl/mxv + .byte W03 + .byte 72*mus_tozan_mvl/mxv + .byte W04 +mus_tozan_3_B1: + .byte VOICE , 56 + .byte VOL , 65*mus_tozan_mvl/mxv + .byte MOD , 1 + .byte PAN , c_v+0 + .byte W06 + .byte N03 , Fn3 , v112 + .byte W03 + .byte En3 + .byte W03 + .byte N06 , Ds3 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W09 + .byte N03 , Gn3 , v112 + .byte W03 + .byte N06 , Gn3 , v032 + .byte W09 + .byte N03 , An3 , v112 + .byte W03 + .byte An3 , v032 + .byte W03 + .byte As3 , v112 + .byte W03 + .byte N06 , As3 , v032 + .byte W09 + .byte N03 , As3 , v112 + .byte W03 + .byte As3 , v032 + .byte W03 + .byte N12 , Gs3 , v112 + .byte W12 + .byte Fn3 + .byte W12 +mus_tozan_3_000: + .byte PAN , c_v-48 + .byte VOL , 74*mus_tozan_mvl/mxv + .byte N03 , Bn3 , v112 + .byte W03 + .byte Bn3 , v032 + .byte W03 + .byte Bn3 , v112 + .byte W03 + .byte Bn3 , v032 + .byte W03 + .byte As3 , v112 + .byte W03 + .byte As3 , v032 + .byte W03 + .byte Bn3 , v112 + .byte W03 + .byte N09 , Bn3 , v032 + .byte W15 + .byte N03 , Ds4 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W03 + .byte N06 , Ds4 , v032 + .byte W09 + .byte N03 , Ds4 , v112 + .byte W03 + .byte N06 , Ds4 , v032 + .byte W09 + .byte Dn4 , v112 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Bn3 , v112 + .byte W06 + .byte N03 , Dn4 + .byte W03 + .byte N06 , Dn4 , v032 + .byte W03 + .byte PEND + .byte VOL , 55*mus_tozan_mvl/mxv + .byte PAN , c_v-18 + .byte W03 + .byte c_v-16 + .byte W06 + .byte N03 , En3 , v112 + .byte W03 + .byte N06 , Ds3 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte VOICE , 56 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W09 + .byte N03 , Gn3 , v112 + .byte W03 + .byte N06 , Gn3 , v032 + .byte W09 + .byte N24 , As3 , v112 + .byte W24 + .byte N12 , Gs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte VOL , 66*mus_tozan_mvl/mxv + .byte PAN , c_v-24 + .byte N06 , Fs3 + .byte W06 + .byte N03 , Gs3 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W09 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W15 + .byte N03 , Ds4 , v112 + .byte W03 + .byte Ds4 , v032 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v032 + .byte W03 + .byte N06 , Dn4 , v112 + .byte W06 + .byte Ds4 + .byte W06 + .byte N03 , Gs4 + .byte W03 + .byte Gs4 , v032 + .byte W03 + .byte Gs4 , v112 + .byte W03 + .byte Gs4 , v032 + .byte W03 + .byte N06 , Gn4 , v112 + .byte W06 + .byte Gs4 + .byte W06 + .byte N03 , Bn4 + .byte W03 + .byte Bn4 , v032 + .byte W03 + .byte N06 , Bn4 , v112 + .byte W06 +mus_tozan_3_001: + .byte N06 , Ds5 , v112 + .byte W06 + .byte N03 , Dn5 + .byte W03 + .byte Cn5 , v064 + .byte W03 + .byte Bn4 + .byte W03 + .byte An4 + .byte W03 + .byte Gn4 + .byte W54 + .byte N06 , Dn4 , v112 + .byte W06 + .byte Ds4 + .byte W06 + .byte N09 , Ds4 , v032 + .byte W12 + .byte PEND +mus_tozan_3_002: + .byte W06 + .byte N03 , Gn3 , v112 + .byte W03 + .byte N06 , Gn3 , v032 + .byte W09 + .byte N03 , Ds3 , v112 + .byte W03 + .byte Ds3 , v032 + .byte W03 + .byte N06 , Gn3 , v112 + .byte W06 + .byte Fn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte As3 + .byte W06 + .byte As3 , v032 + .byte W24 + .byte Gn2 , v112 + .byte W06 + .byte Fn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte As2 + .byte W06 + .byte PEND + .byte N96 , Ds3 + .byte W03 + .byte VOL , 66*mus_tozan_mvl/mxv + .byte W03 + .byte 58*mus_tozan_mvl/mxv + .byte W02 + .byte 43*mus_tozan_mvl/mxv + .byte W04 + .byte 36*mus_tozan_mvl/mxv + .byte W02 + .byte 27*mus_tozan_mvl/mxv + .byte W04 + .byte 24*mus_tozan_mvl/mxv + .byte W06 + .byte 19*mus_tozan_mvl/mxv + .byte W02 + .byte 20*mus_tozan_mvl/mxv + .byte W04 + .byte 23*mus_tozan_mvl/mxv + .byte W02 + .byte 26*mus_tozan_mvl/mxv + .byte W04 + .byte 29*mus_tozan_mvl/mxv + .byte W02 + .byte 32*mus_tozan_mvl/mxv + .byte W04 + .byte 33*mus_tozan_mvl/mxv + .byte W02 + .byte 36*mus_tozan_mvl/mxv + .byte W04 + .byte 36*mus_tozan_mvl/mxv + .byte W02 + .byte 39*mus_tozan_mvl/mxv + .byte W04 + .byte 40*mus_tozan_mvl/mxv + .byte W02 + .byte 42*mus_tozan_mvl/mxv + .byte W04 + .byte 44*mus_tozan_mvl/mxv + .byte W06 + .byte 47*mus_tozan_mvl/mxv + .byte W02 + .byte 49*mus_tozan_mvl/mxv + .byte W04 + .byte MOD , 7 + .byte VOL , 54*mus_tozan_mvl/mxv + .byte W02 + .byte 57*mus_tozan_mvl/mxv + .byte W04 + .byte 60*mus_tozan_mvl/mxv + .byte W02 + .byte 63*mus_tozan_mvl/mxv + .byte W04 + .byte 66*mus_tozan_mvl/mxv + .byte W02 + .byte 68*mus_tozan_mvl/mxv + .byte W04 + .byte 73*mus_tozan_mvl/mxv + .byte W06 + .byte VOICE , 56 + .byte VOL , 65*mus_tozan_mvl/mxv + .byte MOD , 1 + .byte W06 + .byte N03 , Ds4 + .byte W03 + .byte N06 , Ds4 , v032 + .byte W09 + .byte N03 , Cs4 , v112 + .byte W03 + .byte Cs4 , v032 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte En4 + .byte W03 + .byte Cs4 + .byte W03 + .byte Cs4 , v032 + .byte W03 + .byte As3 , v112 + .byte W03 + .byte As3 , v032 + .byte W03 + .byte Gn3 , v112 + .byte W03 + .byte Gn3 , v032 + .byte W03 + .byte As3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , Dn4 , v072 + .byte W03 + .byte Cn4 , v068 + .byte W03 + .byte As3 + .byte W03 + .byte An3 , v060 + .byte W03 + .byte Gn3 + .byte W06 + .byte VOICE , 56 + .byte VOL , 65*mus_tozan_mvl/mxv + .byte W12 + .byte N06 , As3 , v112 + .byte W06 + .byte An3 + .byte W06 + .byte N03 , Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W06 + .byte As3 + .byte W12 + .byte N03 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte Fn3 + .byte W12 +mus_tozan_3_003: + .byte PAN , c_v-48 + .byte VOL , 74*mus_tozan_mvl/mxv + .byte N03 , Bn3 , v112 + .byte W03 + .byte Bn3 , v032 + .byte W03 + .byte Bn3 , v112 + .byte W03 + .byte Bn3 , v032 + .byte W03 + .byte As3 , v112 + .byte W03 + .byte As3 , v032 + .byte W03 + .byte Bn3 , v112 + .byte W03 + .byte N06 , Bn3 , v032 + .byte W15 + .byte N03 , Ds4 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte Dn4 , v032 + .byte W06 + .byte Bn3 , v112 + .byte W06 + .byte N03 , Dn4 + .byte W06 + .byte PEND + .byte PAN , c_v-32 + .byte VOL , 55*mus_tozan_mvl/mxv + .byte N03 , Ds3 + .byte W03 + .byte Ds3 , v032 + .byte W03 + .byte Ds3 , v112 + .byte W03 + .byte Ds3 , v032 + .byte W03 + .byte N06 , As3 , v112 + .byte W06 + .byte An3 + .byte W06 + .byte N03 , Gs3 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W09 + .byte N03 , Gn3 , v112 + .byte W03 + .byte N06 , Gn3 , v032 + .byte W09 + .byte N24 , As3 , v112 + .byte W24 + .byte N12 , Gs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte VOL , 66*mus_tozan_mvl/mxv + .byte N06 , Fs3 + .byte W06 + .byte N03 , Gs3 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W09 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W15 + .byte N03 , Ds4 , v112 + .byte W03 + .byte Ds4 , v032 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v032 + .byte W03 + .byte N06 , Dn4 , v112 + .byte W06 + .byte Ds4 + .byte W06 + .byte N03 , Gs4 + .byte W03 + .byte Gs4 , v032 + .byte W03 + .byte Gs4 , v112 + .byte W03 + .byte Gs4 , v032 + .byte W03 + .byte N06 , Gn4 , v112 + .byte W06 + .byte Gs4 + .byte W06 + .byte N03 , Bn4 + .byte W03 + .byte Bn4 , v032 + .byte W03 + .byte N06 , Bn4 , v112 + .byte W06 +mus_tozan_3_004: + .byte N06 , Ds5 , v112 + .byte W06 + .byte N03 , Dn5 + .byte W03 + .byte Cn5 , v064 + .byte W03 + .byte Bn4 + .byte W03 + .byte An4 + .byte W03 + .byte Gn4 + .byte W54 + .byte N06 , Dn4 , v112 + .byte W06 + .byte Ds4 + .byte W06 + .byte Ds4 , v032 + .byte W12 + .byte PEND + .byte PATT + .word mus_tozan_3_002 +mus_tozan_3_005: + .byte N96 , Ds3 , v112 + .byte W48 + .byte VOL , 66*mus_tozan_mvl/mxv + .byte W02 + .byte 62*mus_tozan_mvl/mxv + .byte W03 + .byte 61*mus_tozan_mvl/mxv + .byte W03 + .byte 55*mus_tozan_mvl/mxv + .byte W04 + .byte 52*mus_tozan_mvl/mxv + .byte W02 + .byte 48*mus_tozan_mvl/mxv + .byte W03 + .byte 41*mus_tozan_mvl/mxv + .byte W03 + .byte 38*mus_tozan_mvl/mxv + .byte W04 + .byte MOD , 7 + .byte VOL , 34*mus_tozan_mvl/mxv + .byte W02 + .byte 28*mus_tozan_mvl/mxv + .byte W03 + .byte 24*mus_tozan_mvl/mxv + .byte W03 + .byte 22*mus_tozan_mvl/mxv + .byte W04 + .byte 19*mus_tozan_mvl/mxv + .byte W02 + .byte 12*mus_tozan_mvl/mxv + .byte W03 + .byte 7*mus_tozan_mvl/mxv + .byte W03 + .byte 3*mus_tozan_mvl/mxv + .byte W04 + .byte PEND + .byte VOICE , 60 + .byte MOD , 1 + .byte VOL , 68*mus_tozan_mvl/mxv + .byte N96 , Ds2 + .byte W72 + .byte MOD , 7 + .byte W24 + .byte VOICE , 56 + .byte MOD , 1 + .byte PAN , c_v+16 + .byte VOL , 68*mus_tozan_mvl/mxv + .byte N06 , Fs4 + .byte W06 + .byte N03 , Fn4 , v076 + .byte W03 + .byte En4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Cs4 + .byte W03 + .byte Bn3 + .byte W78 + .byte W48 + .byte Gs3 , v112 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte Cs4 , v032 + .byte W06 + .byte N03 , Fn3 , v104 + .byte W03 + .byte Fn3 , v032 + .byte W03 + .byte N06 , Ds4 , v112 + .byte W06 + .byte N03 , Cs4 , v076 + .byte W03 + .byte Cn4 + .byte W03 + .byte As3 + .byte W03 + .byte Gs3 + .byte W09 + .byte Cs4 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W03 + .byte N06 , Cs4 , v032 + .byte W48 + .byte W03 + .byte W48 + .byte N03 , Gs3 , v112 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte Cn4 , v032 + .byte W06 + .byte N03 , Gs3 , v112 + .byte W03 + .byte Gs3 , v032 + .byte W03 + .byte N06 , Ds4 , v112 + .byte W06 + .byte N03 , Cs4 , v076 + .byte W03 + .byte Cn4 + .byte W03 + .byte As3 + .byte W03 + .byte Gs3 + .byte W09 + .byte W96 + .byte VOL , 68*mus_tozan_mvl/mxv + .byte W48 + .byte N03 , As3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W30 + .byte PAN , c_v-32 + .byte W06 + .byte N03 , Fn3 + .byte W03 + .byte N06 , Fn3 , v032 + .byte W09 + .byte N03 , Dn3 , v112 + .byte W03 + .byte Dn3 , v032 + .byte W03 + .byte Fn3 , v112 + .byte W03 + .byte Fn3 , v032 + .byte W03 + .byte Dn3 , v112 + .byte W03 + .byte Dn3 , v032 + .byte W03 + .byte Fn3 , v112 + .byte W03 + .byte Fn3 , v032 + .byte W03 + .byte Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W03 + .byte MOD , 1 + .byte PAN , c_v-39 + .byte VOL , 57*mus_tozan_mvl/mxv + .byte W06 + .byte N03 , Fn3 , v112 + .byte W03 + .byte En3 + .byte W03 + .byte N06 , Ds3 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W09 + .byte N03 , Gn3 , v112 + .byte W03 + .byte N06 , Gn3 , v032 + .byte W09 + .byte N03 , An3 , v112 + .byte W03 + .byte An3 , v032 + .byte W03 + .byte As3 , v112 + .byte W03 + .byte N06 , As3 , v032 + .byte W09 + .byte N03 , As3 , v112 + .byte W03 + .byte As3 , v032 + .byte W03 + .byte N12 , Gs3 , v112 + .byte W12 + .byte Fn3 + .byte W12 + .byte PATT + .word mus_tozan_3_000 + .byte PAN , c_v-32 + .byte VOL , 54*mus_tozan_mvl/mxv + .byte W09 + .byte N03 , En3 , v112 + .byte W03 + .byte N06 , Ds3 + .byte W06 + .byte Ds3 , v032 + .byte W06 + .byte VOICE , 56 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W09 + .byte N03 , Gn3 , v112 + .byte W03 + .byte N06 , Gn3 , v032 + .byte W09 + .byte N24 , As3 , v112 + .byte W24 + .byte N12 , Gs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte VOL , 67*mus_tozan_mvl/mxv + .byte N06 , Fs3 + .byte W06 + .byte N03 , Gs3 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W09 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W15 + .byte N03 , Ds4 , v112 + .byte W03 + .byte Ds4 , v032 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v032 + .byte W03 + .byte N06 , Dn4 , v112 + .byte W06 + .byte Ds4 + .byte W06 + .byte N03 , Gs4 + .byte W03 + .byte Gs4 , v032 + .byte W03 + .byte Gs4 , v112 + .byte W03 + .byte Gs4 , v032 + .byte W03 + .byte N06 , Gn4 , v112 + .byte W06 + .byte Gs4 + .byte W06 + .byte N03 , Bn4 + .byte W03 + .byte Bn4 , v032 + .byte W03 + .byte N06 , Bn4 , v112 + .byte W06 + .byte PATT + .word mus_tozan_3_001 + .byte PATT + .word mus_tozan_3_002 + .byte N96 , Ds3 , v112 + .byte W03 + .byte VOL , 66*mus_tozan_mvl/mxv + .byte W03 + .byte 58*mus_tozan_mvl/mxv + .byte W02 + .byte 43*mus_tozan_mvl/mxv + .byte W04 + .byte 36*mus_tozan_mvl/mxv + .byte W02 + .byte 27*mus_tozan_mvl/mxv + .byte W04 + .byte 24*mus_tozan_mvl/mxv + .byte W06 + .byte 19*mus_tozan_mvl/mxv + .byte W02 + .byte 20*mus_tozan_mvl/mxv + .byte W04 + .byte 23*mus_tozan_mvl/mxv + .byte W02 + .byte 26*mus_tozan_mvl/mxv + .byte W04 + .byte 26*mus_tozan_mvl/mxv + .byte W02 + .byte 25*mus_tozan_mvl/mxv + .byte W04 + .byte 26*mus_tozan_mvl/mxv + .byte W06 + .byte 27*mus_tozan_mvl/mxv + .byte W02 + .byte 29*mus_tozan_mvl/mxv + .byte W04 + .byte 30*mus_tozan_mvl/mxv + .byte W02 + .byte 35*mus_tozan_mvl/mxv + .byte W04 + .byte 38*mus_tozan_mvl/mxv + .byte W02 + .byte 41*mus_tozan_mvl/mxv + .byte W04 + .byte 42*mus_tozan_mvl/mxv + .byte W02 + .byte 46*mus_tozan_mvl/mxv + .byte W04 + .byte MOD , 7 + .byte VOL , 46*mus_tozan_mvl/mxv + .byte W02 + .byte 49*mus_tozan_mvl/mxv + .byte W04 + .byte 52*mus_tozan_mvl/mxv + .byte W02 + .byte 58*mus_tozan_mvl/mxv + .byte W04 + .byte 63*mus_tozan_mvl/mxv + .byte W02 + .byte 69*mus_tozan_mvl/mxv + .byte W04 + .byte 75*mus_tozan_mvl/mxv + .byte W06 + .byte VOICE , 56 + .byte VOL , 65*mus_tozan_mvl/mxv + .byte MOD , 1 + .byte VOL , 65*mus_tozan_mvl/mxv + .byte W06 + .byte N03 , Ds4 + .byte W03 + .byte N06 , Ds4 , v032 + .byte W09 + .byte N03 , Cs4 , v112 + .byte W03 + .byte Cs4 , v032 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte En4 + .byte W03 + .byte Cs4 + .byte W03 + .byte Cs4 , v032 + .byte W03 + .byte As3 , v112 + .byte W03 + .byte As3 , v032 + .byte W03 + .byte Gn3 , v112 + .byte W03 + .byte Gn3 , v032 + .byte W03 + .byte As3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Ds4 + .byte W06 + .byte N03 , Dn4 , v072 + .byte W03 + .byte Cn4 , v068 + .byte W03 + .byte As3 + .byte W03 + .byte An3 , v060 + .byte W03 + .byte Gn3 + .byte W06 + .byte VOICE , 56 + .byte VOL , 54*mus_tozan_mvl/mxv + .byte W12 + .byte N06 , As3 , v112 + .byte W06 + .byte An3 + .byte W06 + .byte N03 , Gs3 + .byte W12 + .byte Gn3 + .byte W12 + .byte An3 + .byte W06 + .byte As3 + .byte W12 + .byte N03 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte PATT + .word mus_tozan_3_003 + .byte PAN , c_v-32 + .byte VOL , 54*mus_tozan_mvl/mxv + .byte N03 , Ds3 , v112 + .byte W03 + .byte Ds3 , v032 + .byte W03 + .byte Ds3 , v112 + .byte W03 + .byte Ds3 , v032 + .byte W03 + .byte N06 , As3 , v112 + .byte W06 + .byte An3 + .byte W06 + .byte N03 , Gs3 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W09 + .byte N03 , Gn3 , v112 + .byte W03 + .byte N06 , Gn3 , v032 + .byte W09 + .byte N24 , As3 , v112 + .byte W24 + .byte N12 , Gs3 + .byte W12 + .byte Fn3 + .byte W12 + .byte VOL , 66*mus_tozan_mvl/mxv + .byte N06 , Fs3 + .byte W06 + .byte N03 , Gs3 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W09 + .byte N03 , Gs3 , v112 + .byte W03 + .byte N06 , Gs3 , v032 + .byte W15 + .byte N03 , Ds4 , v112 + .byte W03 + .byte Ds4 , v032 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v032 + .byte W03 + .byte N06 , Dn4 , v112 + .byte W06 + .byte Ds4 + .byte W06 + .byte N03 , Gs4 + .byte W03 + .byte Gs4 , v032 + .byte W03 + .byte Gs4 , v112 + .byte W03 + .byte Gs4 , v032 + .byte W03 + .byte N06 , Gn4 , v112 + .byte W06 + .byte Gs4 + .byte W06 + .byte N03 , Bn4 + .byte W03 + .byte Bn4 , v032 + .byte W03 + .byte N06 , Bn4 , v112 + .byte W06 + .byte PATT + .word mus_tozan_3_004 + .byte PATT + .word mus_tozan_3_002 + .byte PATT + .word mus_tozan_3_005 + .byte VOICE , 60 + .byte MOD , 1 + .byte VOL , 71*mus_tozan_mvl/mxv + .byte N96 , Ds2 , v112 + .byte W72 + .byte MOD , 7 + .byte W24 + .byte 1 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte An3 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte VOICE , 60 + .byte N03 + .byte W06 + .byte Gs3 + .byte W12 + .byte N06 + .byte W06 + .byte N24 , Gn3 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte An3 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte VOICE , 56 + .byte N03 + .byte W06 + .byte Gs3 + .byte W12 + .byte N06 + .byte W06 + .byte N24 , Bn3 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte VOICE , 60 + .byte MOD , 0 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte An3 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte VOICE , 56 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte An3 + .byte W06 + .byte N12 , Gs3 + .byte W12 + .byte N06 , Gn3 + .byte W12 + .byte VOICE , 60 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte An3 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte An3 + .byte W06 + .byte VOICE , 56 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As3 + .byte W06 + .byte An3 + .byte W06 + .byte N03 , Ds3 + .byte W06 + .byte N03 + .byte W06 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_tozan_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_tozan_4: + .byte KEYSH , mus_tozan_key+0 + .byte VOICE , 60 + .byte LFOS , 44 + .byte MOD , 1 + .byte PAN , c_v-48 + .byte VOL , 55*mus_tozan_mvl/mxv + .byte BEND , c_v+0 + .byte N24 , Ds2 , v112 + .byte W12 + .byte MOD , 3 + .byte W12 + .byte 0 + .byte PAN , c_v+42 + .byte N24 , As2 + .byte W12 + .byte MOD , 3 + .byte W12 + .byte PAN , c_v-31 + .byte VOL , 65*mus_tozan_mvl/mxv + .byte MOD , 0 + .byte N24 , Gn2 + .byte W12 + .byte MOD , 3 + .byte W12 + .byte 0 + .byte PAN , c_v+23 + .byte N24 , Cs3 + .byte W03 + .byte MOD , 0 + .byte W09 + .byte 3 + .byte W12 + .byte VOL , 72*mus_tozan_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v+0 + .byte N96 , Ds3 , v124 + .byte W09 + .byte VOL , 67*mus_tozan_mvl/mxv + .byte W03 + .byte 63*mus_tozan_mvl/mxv + .byte W02 + .byte 60*mus_tozan_mvl/mxv + .byte W03 + .byte 57*mus_tozan_mvl/mxv + .byte W03 + .byte 54*mus_tozan_mvl/mxv + .byte W04 + .byte 48*mus_tozan_mvl/mxv + .byte W02 + .byte 46*mus_tozan_mvl/mxv + .byte W01 + .byte 47*mus_tozan_mvl/mxv + .byte W02 + .byte 48*mus_tozan_mvl/mxv + .byte W03 + .byte 50*mus_tozan_mvl/mxv + .byte W04 + .byte 50*mus_tozan_mvl/mxv + .byte W02 + .byte 51*mus_tozan_mvl/mxv + .byte W03 + .byte 52*mus_tozan_mvl/mxv + .byte W03 + .byte 55*mus_tozan_mvl/mxv + .byte W04 + .byte MOD , 4 + .byte VOL , 55*mus_tozan_mvl/mxv + .byte W02 + .byte 57*mus_tozan_mvl/mxv + .byte W03 + .byte 58*mus_tozan_mvl/mxv + .byte W03 + .byte 60*mus_tozan_mvl/mxv + .byte W06 + .byte 62*mus_tozan_mvl/mxv + .byte W03 + .byte 63*mus_tozan_mvl/mxv + .byte W03 + .byte 65*mus_tozan_mvl/mxv + .byte W04 + .byte MOD , 7 + .byte VOL , 67*mus_tozan_mvl/mxv + .byte W02 + .byte 69*mus_tozan_mvl/mxv + .byte W03 + .byte 70*mus_tozan_mvl/mxv + .byte W03 + .byte 73*mus_tozan_mvl/mxv + .byte W04 + .byte 73*mus_tozan_mvl/mxv + .byte W02 + .byte 75*mus_tozan_mvl/mxv + .byte W03 + .byte 76*mus_tozan_mvl/mxv + .byte W03 + .byte 77*mus_tozan_mvl/mxv + .byte W04 +mus_tozan_4_B1: + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte MOD , 0 + .byte VOL , 74*mus_tozan_mvl/mxv + .byte W06 + .byte N03 , As3 , v088 + .byte W03 + .byte An3 + .byte W03 + .byte N06 , Gs3 , v112 + .byte W06 + .byte Gs3 , v020 + .byte W06 + .byte N03 , Ds4 , v112 + .byte W03 + .byte N06 , Ds4 , v020 + .byte W09 + .byte N03 , Dn4 , v112 + .byte W03 + .byte N06 , Dn4 , v020 + .byte W09 + .byte N03 , Fn4 , v112 + .byte W03 + .byte Fn4 , v020 + .byte W03 + .byte Fs4 , v112 + .byte W03 + .byte N06 , Fs4 , v020 + .byte W09 + .byte N03 , Fs4 , v112 + .byte W03 + .byte Fs4 , v020 + .byte W03 + .byte N12 , Fn4 , v112 + .byte W12 + .byte Cs4 + .byte W12 +mus_tozan_4_000: + .byte VOICE , 56 + .byte N03 , Ds4 , v112 + .byte W03 + .byte Ds4 , v020 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v020 + .byte W03 + .byte Dn4 , v112 + .byte W03 + .byte Dn4 , v020 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte N09 , Ds4 , v020 + .byte W03 + .byte VOL , 58*mus_tozan_mvl/mxv + .byte PAN , c_v+32 + .byte W12 + .byte N03 , Bn3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W03 + .byte N06 , Bn3 , v032 + .byte W09 + .byte N03 , Bn3 , v112 + .byte W03 + .byte N06 , Bn3 , v032 + .byte W09 + .byte As3 , v112 + .byte W06 + .byte As3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte PEND +mus_tozan_4_001: + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte VOL , 73*mus_tozan_mvl/mxv + .byte W09 + .byte N03 , An3 , v112 + .byte W03 + .byte N06 , Gs3 + .byte W06 + .byte Gs3 , v020 + .byte W06 + .byte N03 , Ds4 , v112 + .byte W03 + .byte N06 , Ds4 , v020 + .byte W09 + .byte N03 , Dn4 , v112 + .byte W03 + .byte N06 , Dn4 , v020 + .byte W06 + .byte N03 , Gn4 , v112 + .byte W03 + .byte N24 , Fs4 + .byte W24 + .byte N12 , Fn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte PEND + .byte VOICE , 56 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Ds4 + .byte W03 + .byte N06 , Ds4 , v020 + .byte W09 + .byte N03 , Ds4 , v112 + .byte W03 + .byte N06 , Ds4 , v020 + .byte W12 + .byte N03 , Gn4 , v112 + .byte W03 + .byte N60 , Gs4 + .byte W06 + .byte VOL , 67*mus_tozan_mvl/mxv + .byte W02 + .byte 58*mus_tozan_mvl/mxv + .byte W01 + .byte PAN , c_v-16 + .byte W03 + .byte VOL , 46*mus_tozan_mvl/mxv + .byte PAN , c_v-32 + .byte W02 + .byte VOL , 33*mus_tozan_mvl/mxv + .byte W01 + .byte PAN , c_v-48 + .byte W03 + .byte VOL , 29*mus_tozan_mvl/mxv + .byte W03 + .byte 28*mus_tozan_mvl/mxv + .byte W03 + .byte 29*mus_tozan_mvl/mxv + .byte W02 + .byte 32*mus_tozan_mvl/mxv + .byte W04 + .byte 35*mus_tozan_mvl/mxv + .byte W02 + .byte 36*mus_tozan_mvl/mxv + .byte W04 + .byte MOD , 7 + .byte VOL , 38*mus_tozan_mvl/mxv + .byte PAN , c_v-32 + .byte W02 + .byte VOL , 42*mus_tozan_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte W03 + .byte VOL , 47*mus_tozan_mvl/mxv + .byte PAN , c_v+16 + .byte W02 + .byte VOL , 49*mus_tozan_mvl/mxv + .byte W01 + .byte PAN , c_v+32 + .byte W03 + .byte VOL , 55*mus_tozan_mvl/mxv + .byte PAN , c_v+48 + .byte W02 + .byte VOL , 63*mus_tozan_mvl/mxv + .byte W04 + .byte 72*mus_tozan_mvl/mxv + .byte W02 + .byte 52*mus_tozan_mvl/mxv + .byte W01 + .byte 78*mus_tozan_mvl/mxv + .byte W03 + .byte VOICE , 60 + .byte MOD , 1 + .byte VOL , 73*mus_tozan_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Ds4 + .byte W03 + .byte VOL , 75*mus_tozan_mvl/mxv + .byte W03 + .byte N06 , As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Ds3 , v020 + .byte W06 + .byte N03 , Cs3 , v112 + .byte W03 + .byte N06 , Cs3 , v020 + .byte W09 + .byte N03 , As2 , v112 + .byte W03 + .byte N06 , As2 , v020 + .byte W09 + .byte N03 , Gn2 , v112 + .byte W03 + .byte N06 , Gn2 , v020 + .byte W09 + .byte N03 , Ds2 , v112 + .byte W03 + .byte Ds2 , v020 + .byte W03 + .byte N06 , Dn3 , v112 + .byte W06 + .byte Ds3 + .byte W06 + .byte N09 , Ds3 , v020 + .byte W12 +mus_tozan_4_002: + .byte VOICE , 56 + .byte W06 + .byte N03 , Gn2 , v112 + .byte W03 + .byte N06 , Gn2 , v020 + .byte W09 + .byte N03 , Ds2 , v112 + .byte W03 + .byte Ds2 , v020 + .byte W03 + .byte N06 , Gn2 , v112 + .byte W06 + .byte Fn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte As2 + .byte W06 + .byte As2 , v020 + .byte W24 + .byte VOICE , 60 + .byte N06 , Ds3 , v112 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gn3 + .byte W06 + .byte PEND + .byte N96 , As3 + .byte W03 + .byte VOL , 69*mus_tozan_mvl/mxv + .byte W03 + .byte 58*mus_tozan_mvl/mxv + .byte W02 + .byte 46*mus_tozan_mvl/mxv + .byte W04 + .byte 39*mus_tozan_mvl/mxv + .byte W02 + .byte 31*mus_tozan_mvl/mxv + .byte W04 + .byte 26*mus_tozan_mvl/mxv + .byte W02 + .byte 22*mus_tozan_mvl/mxv + .byte W04 + .byte 19*mus_tozan_mvl/mxv + .byte W02 + .byte 20*mus_tozan_mvl/mxv + .byte W04 + .byte 22*mus_tozan_mvl/mxv + .byte W02 + .byte 23*mus_tozan_mvl/mxv + .byte W04 + .byte 23*mus_tozan_mvl/mxv + .byte W02 + .byte 26*mus_tozan_mvl/mxv + .byte W04 + .byte 28*mus_tozan_mvl/mxv + .byte W02 + .byte 30*mus_tozan_mvl/mxv + .byte W04 + .byte 33*mus_tozan_mvl/mxv + .byte W02 + .byte 35*mus_tozan_mvl/mxv + .byte W04 + .byte 38*mus_tozan_mvl/mxv + .byte W02 + .byte 40*mus_tozan_mvl/mxv + .byte W04 + .byte 42*mus_tozan_mvl/mxv + .byte W02 + .byte 46*mus_tozan_mvl/mxv + .byte W04 + .byte 49*mus_tozan_mvl/mxv + .byte W02 + .byte 50*mus_tozan_mvl/mxv + .byte W04 + .byte MOD , 7 + .byte VOL , 54*mus_tozan_mvl/mxv + .byte W02 + .byte 57*mus_tozan_mvl/mxv + .byte W04 + .byte 63*mus_tozan_mvl/mxv + .byte W02 + .byte 68*mus_tozan_mvl/mxv + .byte W04 + .byte 73*mus_tozan_mvl/mxv + .byte W02 + .byte 75*mus_tozan_mvl/mxv + .byte W10 +mus_tozan_4_003: + .byte MOD , 1 + .byte VOL , 73*mus_tozan_mvl/mxv + .byte N12 , As3 , v020 + .byte W96 + .byte PEND +mus_tozan_4_004: + .byte W12 + .byte N06 , Fs4 , v112 + .byte W06 + .byte Fn4 + .byte W06 + .byte N03 , Ds4 + .byte W03 + .byte N06 , Ds4 , v020 + .byte W09 + .byte N03 , Dn4 , v112 + .byte W03 + .byte N06 , Dn4 , v020 + .byte W09 + .byte N03 , Fn4 , v112 + .byte W03 + .byte Fn4 , v020 + .byte W03 + .byte Fs4 , v112 + .byte W03 + .byte N06 , Fs4 , v020 + .byte W09 + .byte N03 , Fs4 , v112 + .byte W03 + .byte Fs4 , v020 + .byte W03 + .byte N12 , Fn4 , v112 + .byte W12 + .byte Cs4 + .byte W12 + .byte PEND +mus_tozan_4_005: + .byte N03 , Ds4 , v112 + .byte W03 + .byte Ds4 , v020 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte Ds4 , v020 + .byte W03 + .byte Dn4 , v112 + .byte W03 + .byte Dn4 , v020 + .byte W03 + .byte Ds4 , v112 + .byte W03 + .byte N06 , Ds4 , v020 + .byte W03 + .byte VOICE , 56 + .byte PAN , c_v+32 + .byte VOL , 58*mus_tozan_mvl/mxv + .byte W12 + .byte N03 , Bn3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N06 , As3 + .byte W06 + .byte As3 , v032 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte N03 , As3 + .byte W06 + .byte PEND + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte VOL , 74*mus_tozan_mvl/mxv + .byte N03 , Gs3 + .byte W03 + .byte Gs3 , v020 + .byte W03 + .byte Gs3 , v112 + .byte W03 + .byte Gs3 , v020 + .byte W03 + .byte N06 , Fs4 , v112 + .byte W06 + .byte Fn4 + .byte W06 + .byte N03 , Ds4 + .byte W03 + .byte N06 , Ds4 , v020 + .byte W09 + .byte N03 , Dn4 , v112 + .byte W03 + .byte N06 , Dn4 , v020 + .byte W06 + .byte N03 , Gn4 , v112 + .byte W03 + .byte N24 , Fs4 + .byte W24 + .byte N12 , Fn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Ds4 + .byte W03 + .byte N06 , Ds4 , v020 + .byte W09 + .byte N03 , Ds4 , v112 + .byte W03 + .byte N06 , Ds4 , v020 + .byte W12 + .byte N03 , Gn4 , v112 + .byte W03 + .byte N60 , Gs4 + .byte W06 + .byte VOL , 67*mus_tozan_mvl/mxv + .byte W02 + .byte 58*mus_tozan_mvl/mxv + .byte W01 + .byte PAN , c_v-16 + .byte W03 + .byte VOL , 46*mus_tozan_mvl/mxv + .byte PAN , c_v-32 + .byte W02 + .byte VOL , 33*mus_tozan_mvl/mxv + .byte W01 + .byte PAN , c_v-48 + .byte W03 + .byte VOL , 29*mus_tozan_mvl/mxv + .byte W03 + .byte 28*mus_tozan_mvl/mxv + .byte W03 + .byte 29*mus_tozan_mvl/mxv + .byte W02 + .byte 32*mus_tozan_mvl/mxv + .byte W04 + .byte 35*mus_tozan_mvl/mxv + .byte W02 + .byte 36*mus_tozan_mvl/mxv + .byte W04 + .byte MOD , 7 + .byte VOL , 38*mus_tozan_mvl/mxv + .byte PAN , c_v-32 + .byte W02 + .byte VOL , 42*mus_tozan_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte W03 + .byte VOL , 47*mus_tozan_mvl/mxv + .byte PAN , c_v+16 + .byte W02 + .byte VOL , 49*mus_tozan_mvl/mxv + .byte W01 + .byte PAN , c_v+32 + .byte W03 + .byte VOL , 55*mus_tozan_mvl/mxv + .byte PAN , c_v+48 + .byte W02 + .byte VOL , 63*mus_tozan_mvl/mxv + .byte W04 + .byte 72*mus_tozan_mvl/mxv + .byte W02 + .byte 52*mus_tozan_mvl/mxv + .byte W01 + .byte 78*mus_tozan_mvl/mxv + .byte W03 + .byte MOD , 1 + .byte VOL , 73*mus_tozan_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Ds3 , v020 + .byte W06 + .byte N03 , Cs3 , v112 + .byte W03 + .byte N06 , Cs3 , v020 + .byte W09 + .byte N03 , As2 , v112 + .byte W03 + .byte N06 , As2 , v020 + .byte W09 + .byte N03 , Gn2 , v112 + .byte W03 + .byte N06 , Gn2 , v020 + .byte W09 + .byte N03 , Ds2 , v112 + .byte W03 + .byte Ds2 , v020 + .byte W03 + .byte N06 , Dn3 , v112 + .byte W06 + .byte Ds3 + .byte W06 + .byte Ds3 , v020 + .byte W12 + .byte PATT + .word mus_tozan_4_002 +mus_tozan_4_006: + .byte PAN , c_v-5 + .byte TIE , As3 , v104 + .byte W12 + .byte PAN , c_v-23 + .byte W12 + .byte c_v-39 + .byte W12 + .byte c_v-53 + .byte W12 + .byte c_v-62 + .byte VOL , 73*mus_tozan_mvl/mxv + .byte W02 + .byte 68*mus_tozan_mvl/mxv + .byte W03 + .byte 63*mus_tozan_mvl/mxv + .byte W03 + .byte 57*mus_tozan_mvl/mxv + .byte W04 + .byte 54*mus_tozan_mvl/mxv + .byte W02 + .byte 48*mus_tozan_mvl/mxv + .byte W03 + .byte 44*mus_tozan_mvl/mxv + .byte W03 + .byte 41*mus_tozan_mvl/mxv + .byte W04 + .byte 37*mus_tozan_mvl/mxv + .byte W02 + .byte 31*mus_tozan_mvl/mxv + .byte W03 + .byte 27*mus_tozan_mvl/mxv + .byte W03 + .byte 24*mus_tozan_mvl/mxv + .byte W04 + .byte PAN , c_v-23 + .byte VOL , 22*mus_tozan_mvl/mxv + .byte W02 + .byte 19*mus_tozan_mvl/mxv + .byte W03 + .byte 17*mus_tozan_mvl/mxv + .byte W03 + .byte 15*mus_tozan_mvl/mxv + .byte W04 + .byte PEND +mus_tozan_4_007: + .byte MOD , 3 + .byte PAN , c_v+48 + .byte W02 + .byte VOL , 22*mus_tozan_mvl/mxv + .byte W03 + .byte 23*mus_tozan_mvl/mxv + .byte W03 + .byte 28*mus_tozan_mvl/mxv + .byte W04 + .byte PAN , c_v+63 + .byte VOL , 31*mus_tozan_mvl/mxv + .byte W02 + .byte 37*mus_tozan_mvl/mxv + .byte W03 + .byte 38*mus_tozan_mvl/mxv + .byte W03 + .byte 45*mus_tozan_mvl/mxv + .byte W04 + .byte 49*mus_tozan_mvl/mxv + .byte W02 + .byte 56*mus_tozan_mvl/mxv + .byte W03 + .byte 61*mus_tozan_mvl/mxv + .byte W03 + .byte 66*mus_tozan_mvl/mxv + .byte W04 + .byte 73*mus_tozan_mvl/mxv + .byte W12 + .byte MOD , 7 + .byte PAN , c_v+62 + .byte W12 + .byte c_v+24 + .byte W12 + .byte PEND + .byte EOT , As3 + .byte MOD , 1 + .byte PAN , c_v-1 + .byte N24 , Cs4 , v112 + .byte W24 + .byte VOICE , 60 + .byte VOL , 58*mus_tozan_mvl/mxv + .byte N60 , Ds4 + .byte W12 + .byte PAN , c_v+0 + .byte W05 + .byte c_v+9 + .byte W07 + .byte c_v+25 + .byte W05 + .byte c_v+41 + .byte W07 + .byte c_v+50 + .byte W05 + .byte c_v+63 + .byte W07 + .byte MOD , 7 + .byte W05 + .byte PAN , c_v+41 + .byte W07 + .byte MOD , 1 + .byte PAN , c_v+24 + .byte N06 , Cs4 + .byte W05 + .byte PAN , c_v+11 + .byte W01 + .byte N06 , Cs4 , v020 + .byte W06 + .byte PAN , c_v+2 + .byte W12 + .byte N06 , Gs3 , v112 + .byte W06 + .byte Gs3 , v020 + .byte W06 + .byte PAN , c_v-1 + .byte N96 , As3 , v112 + .byte W05 + .byte PAN , c_v-16 + .byte W07 + .byte c_v-32 + .byte W05 + .byte c_v-39 + .byte W07 + .byte c_v-48 + .byte W05 + .byte c_v-53 + .byte W07 + .byte c_v-58 + .byte W05 + .byte c_v-62 + .byte W30 + .byte W01 + .byte MOD , 7 + .byte PAN , c_v-53 + .byte W05 + .byte c_v-28 + .byte W07 + .byte c_v+0 + .byte W12 + .byte MOD , 1 + .byte N60 , Cs4 + .byte W24 + .byte PAN , c_v+2 + .byte W05 + .byte c_v+11 + .byte W07 + .byte c_v+24 + .byte W05 + .byte c_v+16 + .byte W07 + .byte MOD , 7 + .byte PAN , c_v+25 + .byte W05 + .byte c_v+32 + .byte W07 + .byte MOD , 1 + .byte PAN , c_v+54 + .byte N06 , Cs4 , v020 + .byte W05 + .byte PAN , c_v+63 + .byte W07 + .byte N06 , Bn3 , v112 + .byte W06 + .byte Bn3 , v020 + .byte W06 + .byte Cs4 , v112 + .byte W06 + .byte Bn3 + .byte W06 + .byte PAN , c_v+34 + .byte N06 , As3 + .byte W06 + .byte N03 , Cn4 + .byte W03 + .byte As3 + .byte W03 + .byte N60 , Gs3 + .byte W21 + .byte PAN , c_v+32 + .byte W05 + .byte c_v+25 + .byte W06 + .byte c_v+20 + .byte W04 + .byte MOD , 7 + .byte PAN , c_v+16 + .byte W05 + .byte c_v+15 + .byte W03 + .byte c_v+9 + .byte W06 + .byte c_v+8 + .byte W03 + .byte c_v+6 + .byte W03 + .byte c_v+0 + .byte W04 + .byte MOD , 1 + .byte N06 , Gs3 , v020 + .byte W24 + .byte N36 , Fs3 , v112 + .byte W24 + .byte MOD , 7 + .byte W12 + .byte 1 + .byte N06 , Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N24 , Gs3 + .byte W24 + .byte Ds3 + .byte W24 + .byte N36 , Gs3 + .byte W24 + .byte MOD , 7 + .byte W12 + .byte 1 + .byte N06 , Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N24 , As3 + .byte W24 + .byte N03 , Gs3 , v092 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fn3 , v088 + .byte W03 + .byte Ds3 , v080 + .byte W03 + .byte Cs3 + .byte W03 + .byte Cn3 , v076 + .byte W03 + .byte As2 + .byte W06 + .byte VOICE , 56 + .byte VOL , 72*mus_tozan_mvl/mxv + .byte W06 + .byte N03 , As3 , v112 + .byte W03 + .byte N06 , As3 , v020 + .byte W09 + .byte N03 , Fn3 , v112 + .byte W03 + .byte Fn3 , v020 + .byte W03 + .byte Dn4 , v112 + .byte W03 + .byte Dn4 , v020 + .byte W03 + .byte As3 , v112 + .byte W03 + .byte As3 , v020 + .byte W03 + .byte Dn4 , v112 + .byte W03 + .byte Dn4 , v020 + .byte W03 + .byte Fn4 , v112 + .byte W03 + .byte Fn4 , v020 + .byte W03 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte W06 + .byte N03 , As3 , v088 + .byte W03 + .byte An3 + .byte W03 + .byte N06 , Gs3 , v112 + .byte W06 + .byte Gs3 , v020 + .byte W06 + .byte N03 , Ds4 , v112 + .byte W03 + .byte N06 , Ds4 , v020 + .byte W09 + .byte N03 , Dn4 , v112 + .byte W03 + .byte N06 , Dn4 , v020 + .byte W09 + .byte N03 , Fn4 , v112 + .byte W03 + .byte Fn4 , v020 + .byte W03 + .byte Fs4 , v112 + .byte W03 + .byte N06 , Fs4 , v020 + .byte W09 + .byte N03 , Fs4 , v112 + .byte W03 + .byte Fs4 , v020 + .byte W03 + .byte N12 , Fn4 , v112 + .byte W12 + .byte Cs4 + .byte W12 + .byte PATT + .word mus_tozan_4_000 + .byte PATT + .word mus_tozan_4_001 + .byte VOICE , 56 + .byte N06 , Dn4 , v112 + .byte W06 + .byte N03 , Ds4 + .byte W03 + .byte N06 , Ds4 , v020 + .byte W09 + .byte N03 , Ds4 , v112 + .byte W03 + .byte N06 , Ds4 , v020 + .byte W12 + .byte N03 , Gn4 , v112 + .byte W03 + .byte N60 , Gs4 + .byte W09 + .byte PAN , c_v-16 + .byte W03 + .byte c_v-32 + .byte W03 + .byte c_v-48 + .byte W21 + .byte MOD , 7 + .byte VOL , 73*mus_tozan_mvl/mxv + .byte PAN , c_v-32 + .byte W02 + .byte VOL , 71*mus_tozan_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte W02 + .byte VOL , 70*mus_tozan_mvl/mxv + .byte W01 + .byte PAN , c_v+16 + .byte W02 + .byte VOL , 68*mus_tozan_mvl/mxv + .byte W01 + .byte PAN , c_v+32 + .byte W03 + .byte VOL , 65*mus_tozan_mvl/mxv + .byte PAN , c_v+48 + .byte W02 + .byte VOL , 61*mus_tozan_mvl/mxv + .byte W03 + .byte 57*mus_tozan_mvl/mxv + .byte W03 + .byte 52*mus_tozan_mvl/mxv + .byte W04 + .byte VOICE , 60 + .byte MOD , 1 + .byte VOL , 73*mus_tozan_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Ds3 , v020 + .byte W06 + .byte N03 , Cs3 , v112 + .byte W03 + .byte N06 , Cs3 , v020 + .byte W09 + .byte N03 , As2 , v112 + .byte W03 + .byte N06 , As2 , v020 + .byte W09 + .byte N03 , Gn2 , v112 + .byte W03 + .byte N06 , Gn2 , v020 + .byte W09 + .byte N03 , Ds2 , v112 + .byte W03 + .byte Ds2 , v020 + .byte W03 + .byte N06 , Dn3 , v112 + .byte W06 + .byte Ds3 + .byte W06 + .byte N09 , Ds3 , v020 + .byte W12 + .byte PATT + .word mus_tozan_4_002 + .byte N96 , As3 , v112 + .byte W03 + .byte VOL , 69*mus_tozan_mvl/mxv + .byte W03 + .byte 58*mus_tozan_mvl/mxv + .byte W02 + .byte 46*mus_tozan_mvl/mxv + .byte W04 + .byte 39*mus_tozan_mvl/mxv + .byte W02 + .byte 31*mus_tozan_mvl/mxv + .byte W04 + .byte 26*mus_tozan_mvl/mxv + .byte W02 + .byte 22*mus_tozan_mvl/mxv + .byte W04 + .byte 19*mus_tozan_mvl/mxv + .byte W02 + .byte 20*mus_tozan_mvl/mxv + .byte W04 + .byte 22*mus_tozan_mvl/mxv + .byte W02 + .byte 23*mus_tozan_mvl/mxv + .byte W04 + .byte 24*mus_tozan_mvl/mxv + .byte W02 + .byte 23*mus_tozan_mvl/mxv + .byte W06 + .byte 24*mus_tozan_mvl/mxv + .byte W06 + .byte 26*mus_tozan_mvl/mxv + .byte W04 + .byte 28*mus_tozan_mvl/mxv + .byte W02 + .byte 29*mus_tozan_mvl/mxv + .byte W04 + .byte 33*mus_tozan_mvl/mxv + .byte W02 + .byte 35*mus_tozan_mvl/mxv + .byte W04 + .byte 38*mus_tozan_mvl/mxv + .byte W02 + .byte 40*mus_tozan_mvl/mxv + .byte W04 + .byte MOD , 7 + .byte VOL , 43*mus_tozan_mvl/mxv + .byte W02 + .byte 46*mus_tozan_mvl/mxv + .byte W04 + .byte 49*mus_tozan_mvl/mxv + .byte W02 + .byte 55*mus_tozan_mvl/mxv + .byte W04 + .byte 61*mus_tozan_mvl/mxv + .byte W02 + .byte 66*mus_tozan_mvl/mxv + .byte W04 + .byte 71*mus_tozan_mvl/mxv + .byte W02 + .byte 73*mus_tozan_mvl/mxv + .byte W01 + .byte 76*mus_tozan_mvl/mxv + .byte W03 + .byte PATT + .word mus_tozan_4_003 + .byte PATT + .word mus_tozan_4_004 + .byte PATT + .word mus_tozan_4_005 + .byte VOICE , 60 + .byte PAN , c_v+0 + .byte VOL , 73*mus_tozan_mvl/mxv + .byte N03 , Gs3 , v112 + .byte W03 + .byte Gs3 , v020 + .byte W03 + .byte Gs3 , v112 + .byte W03 + .byte Gs3 , v020 + .byte W03 + .byte N06 , Fs4 , v112 + .byte W06 + .byte Fn4 + .byte W06 + .byte N03 , Ds4 + .byte W03 + .byte N06 , Ds4 , v020 + .byte W09 + .byte N03 , Dn4 , v112 + .byte W03 + .byte N06 , Dn4 , v020 + .byte W06 + .byte N03 , Gn4 , v112 + .byte W03 + .byte N24 , Fs4 + .byte W24 + .byte N12 , Fn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte N06 , Dn4 + .byte W06 + .byte N03 , Ds4 + .byte W03 + .byte N06 , Ds4 , v020 + .byte W09 + .byte N03 , Ds4 , v112 + .byte W03 + .byte N06 , Ds4 , v020 + .byte W12 + .byte N03 , Gn4 , v112 + .byte W03 + .byte N60 , Gs4 + .byte W09 + .byte PAN , c_v-16 + .byte W03 + .byte c_v-32 + .byte W03 + .byte c_v-48 + .byte W21 + .byte MOD , 7 + .byte PAN , c_v+21 + .byte W03 + .byte c_v+26 + .byte W03 + .byte c_v+36 + .byte W03 + .byte c_v+48 + .byte W03 + .byte c_v+48 + .byte W12 + .byte MOD , 1 + .byte PAN , c_v+0 + .byte N06 , Ds4 + .byte W06 + .byte As3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Ds3 , v020 + .byte W06 + .byte N03 , Cs3 , v112 + .byte W03 + .byte N06 , Cs3 , v020 + .byte W09 + .byte N03 , As2 , v112 + .byte W03 + .byte N06 , As2 , v020 + .byte W09 + .byte N03 , Gn2 , v112 + .byte W03 + .byte N06 , Gn2 , v020 + .byte W09 + .byte N03 , Ds2 , v112 + .byte W03 + .byte Ds2 , v020 + .byte W03 + .byte N06 , Dn3 , v112 + .byte W06 + .byte Ds3 + .byte W06 + .byte Ds3 , v020 + .byte W12 + .byte PATT + .word mus_tozan_4_002 + .byte PATT + .word mus_tozan_4_006 + .byte PATT + .word mus_tozan_4_007 + .byte EOT , As3 + .byte MOD , 1 + .byte PAN , c_v+0 + .byte N24 , Cs4 , v112 + .byte W24 + .byte N03 , Gs3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte N03 + .byte W06 + .byte Ds4 + .byte W12 + .byte N06 + .byte W06 + .byte N24 , Dn4 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte 0 + .byte N03 , Gs3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte VOICE , 56 + .byte N03 + .byte W06 + .byte Ds4 + .byte W12 + .byte N06 + .byte W06 + .byte N24 , Fs4 + .byte W15 + .byte MOD , 6 + .byte W09 + .byte VOICE , 60 + .byte MOD , 0 + .byte N03 , Gs3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte VOICE , 56 + .byte N03 , Gs3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N12 , Ds4 + .byte W12 + .byte N06 , Dn4 + .byte W12 + .byte VOICE , 60 + .byte N03 , Gs3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N03 , Gs3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte VOICE , 56 + .byte N03 , Gs3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte N03 , Gs3 + .byte W06 + .byte N03 + .byte W06 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_tozan_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_tozan_5: + .byte KEYSH , mus_tozan_key+0 + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte VOL , 48*mus_tozan_mvl/mxv + .byte LFOS , 44 + .byte W96 + .byte W96 +mus_tozan_5_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOL , 48*mus_tozan_mvl/mxv + .byte N04 , Bn2 , v112 + .byte W04 + .byte Ds3 , v084 + .byte W04 + .byte Fs3 + .byte W04 + .byte As3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Bn2 , v112 + .byte W04 + .byte Ds3 , v084 + .byte W04 + .byte Fs3 + .byte W04 + .byte As3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Bn2 , v112 + .byte W04 + .byte Ds3 , v084 + .byte W04 + .byte Fs3 + .byte W04 + .byte As3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Bn2 , v112 + .byte W04 + .byte Ds3 , v084 + .byte W04 + .byte Fs3 + .byte W04 + .byte As3 + .byte W04 + .byte Fs3 + .byte W04 + .byte Ds3 + .byte W04 + .byte PAN , c_v-16 + .byte N04 , As2 , v112 + .byte W04 + .byte Cs3 , v084 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Cs3 + .byte W04 + .byte PAN , c_v-32 + .byte N04 , As2 , v112 + .byte W04 + .byte Cs3 , v084 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Cs3 + .byte W04 + .byte PAN , c_v-48 + .byte N04 , As2 , v112 + .byte W04 + .byte Cs3 , v084 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Cs3 + .byte W04 + .byte PAN , c_v-62 + .byte N04 , As2 , v112 + .byte W04 + .byte Cs3 , v084 + .byte W04 + .byte Fn3 + .byte W04 + .byte Gs3 + .byte W04 + .byte Fn3 + .byte W04 + .byte Cs3 + .byte W04 + .byte PAN , c_v+0 + .byte N04 , An2 , v112 + .byte W04 + .byte Cs3 , v084 + .byte W04 + .byte En3 + .byte W04 + .byte Gs3 + .byte W04 + .byte En3 + .byte W04 + .byte Cs3 + .byte W04 + .byte An2 , v112 + .byte W04 + .byte Cs3 , v084 + .byte W04 + .byte En3 + .byte W04 + .byte Gs3 + .byte W04 + .byte En3 + .byte W04 + .byte Cs3 + .byte W04 + .byte An2 , v112 + .byte W04 + .byte Cs3 , v084 + .byte W04 + .byte En3 + .byte W04 + .byte Gs3 + .byte W04 + .byte En3 + .byte W04 + .byte Cs3 + .byte W04 + .byte An2 , v112 + .byte W04 + .byte Cs3 , v084 + .byte W04 + .byte En3 + .byte W04 + .byte Gs3 + .byte W04 + .byte En3 + .byte W04 + .byte Cs3 + .byte W04 + .byte PAN , c_v+16 + .byte N04 , Gs2 , v112 + .byte W04 + .byte Cn3 , v084 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cn3 + .byte W04 + .byte PAN , c_v+32 + .byte N04 , Gs2 , v112 + .byte W04 + .byte Cn3 , v084 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cn3 + .byte W04 + .byte PAN , c_v+48 + .byte N04 , Gs2 , v112 + .byte W04 + .byte Cn3 , v084 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cn3 + .byte W04 + .byte PAN , c_v+63 + .byte N04 , Gs2 , v112 + .byte W04 + .byte Cn3 , v084 + .byte W04 + .byte Ds3 + .byte W04 + .byte Gn3 + .byte W04 + .byte Ds3 + .byte W04 + .byte Cn3 + .byte W04 + .byte PAN , c_v+0 + .byte N36 , As2 , v112 + .byte W36 + .byte N06 , Gs2 + .byte W06 + .byte As2 + .byte W06 + .byte N24 , Cn3 + .byte W24 + .byte N06 , Gs2 + .byte W06 + .byte As2 + .byte W06 + .byte Cn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte N36 , En3 + .byte W36 + .byte N06 , Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte N24 , Fn3 + .byte W48 + .byte W48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_tozan_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_tozan_6: + .byte KEYSH , mus_tozan_key+0 + .byte VOICE , 87 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 12 + .byte PAN , c_v+0 + .byte BENDR , 12 + .byte VOL , 39*mus_tozan_mvl/mxv + .byte N12 , Ds2 , v112 + .byte W48 + .byte As1 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N09 , Ds2 + .byte W24 + .byte As1 + .byte W24 + .byte Ds1 + .byte W36 + .byte N06 , Gn1 + .byte W06 + .byte As1 + .byte W06 +mus_tozan_6_B1: + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte VOL , 39*mus_tozan_mvl/mxv + .byte W06 + .byte N03 , As2 , v088 + .byte W03 + .byte An2 + .byte W03 + .byte N06 , Gs2 , v112 + .byte W12 + .byte N03 , Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W12 + .byte N03 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte Cs3 + .byte W09 + .byte N03 , Fn3 + .byte W03 +mus_tozan_6_000: + .byte PAN , c_v-64 + .byte N03 , Fs3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte Bn2 , v068 + .byte W03 + .byte Dn3 + .byte W03 + .byte N06 , Fn3 , v112 + .byte W12 + .byte Cs3 + .byte W06 + .byte N03 , Fn3 + .byte W06 + .byte PEND +mus_tozan_6_001: + .byte PAN , c_v+0 + .byte W12 + .byte N03 , Gs2 , v112 + .byte W12 + .byte Ds3 + .byte W12 + .byte Dn3 + .byte W09 + .byte Gn3 + .byte W03 + .byte N24 , Fs3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte PEND + .byte N06 , Dn3 + .byte W06 + .byte N03 , Ds3 + .byte W12 + .byte N03 + .byte W15 + .byte Gn3 + .byte W03 + .byte N60 , Gs3 + .byte W18 + .byte VOL , 32*mus_tozan_mvl/mxv + .byte W02 + .byte 24*mus_tozan_mvl/mxv + .byte W04 + .byte 20*mus_tozan_mvl/mxv + .byte W02 + .byte 15*mus_tozan_mvl/mxv + .byte W03 + .byte 14*mus_tozan_mvl/mxv + .byte W03 + .byte 19*mus_tozan_mvl/mxv + .byte W04 + .byte MOD , 8 + .byte VOL , 23*mus_tozan_mvl/mxv + .byte W02 + .byte 33*mus_tozan_mvl/mxv + .byte W03 + .byte 36*mus_tozan_mvl/mxv + .byte W03 + .byte 43*mus_tozan_mvl/mxv + .byte W04 + .byte 47*mus_tozan_mvl/mxv + .byte W02 + .byte 47*mus_tozan_mvl/mxv + .byte W01 + .byte 55*mus_tozan_mvl/mxv + .byte W03 + .byte 57*mus_tozan_mvl/mxv + .byte W03 + .byte 60*mus_tozan_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 38*mus_tozan_mvl/mxv + .byte N06 , Ds3 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Ds2 + .byte W12 + .byte N03 , Cs2 + .byte W12 + .byte As1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Ds1 + .byte W06 + .byte N06 , Dn2 + .byte W06 + .byte Ds2 + .byte W18 + .byte W96 + .byte W96 + .byte W96 +mus_tozan_6_002: + .byte W12 + .byte N06 , Fs3 , v112 + .byte W06 + .byte Fn3 + .byte W06 + .byte N03 , Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W12 + .byte N03 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte Cs3 + .byte W09 + .byte N03 , Fn3 + .byte W03 + .byte PEND + .byte PATT + .word mus_tozan_6_000 +mus_tozan_6_003: + .byte PAN , c_v+0 + .byte N03 , Gs2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N03 , Ds3 + .byte W12 + .byte Dn3 + .byte W09 + .byte Gn3 + .byte W03 + .byte N24 , Fs3 + .byte W24 + .byte N12 , Fn3 + .byte W12 + .byte Cs3 + .byte W12 + .byte PEND +mus_tozan_6_004: + .byte N06 , Dn3 , v112 + .byte W06 + .byte N03 , Ds3 + .byte W12 + .byte N03 + .byte W15 + .byte Gn3 + .byte W03 + .byte N60 , Gs3 + .byte W36 + .byte MOD , 8 + .byte W24 + .byte PEND +mus_tozan_6_005: + .byte MOD , 0 + .byte N06 , Ds3 , v112 + .byte W06 + .byte As2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Ds2 + .byte W12 + .byte N03 , Cs2 + .byte W12 + .byte As1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Ds1 + .byte W06 + .byte N06 , Dn2 + .byte W06 + .byte Ds2 + .byte W18 + .byte PEND + .byte W96 + .byte W96 +mus_tozan_6_006: + .byte VOICE , 60 + .byte W24 + .byte N48 , As2 , v112 + .byte W72 + .byte PEND + .byte VOICE , 81 + .byte VOL , 43*mus_tozan_mvl/mxv + .byte PAN , c_v-63 + .byte N06 , As3 + .byte W06 + .byte N03 , Gs3 , v076 + .byte W03 + .byte Gn3 + .byte W03 + .byte Fn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Cs3 + .byte W78 + .byte W48 + .byte Cs3 , v112 + .byte W06 + .byte N06 , Fn3 + .byte W12 + .byte N03 , As2 + .byte W06 + .byte N06 , Fn3 + .byte W06 + .byte N03 , Ds3 , v076 + .byte W03 + .byte Cs3 + .byte W03 + .byte Cn3 + .byte W03 + .byte As2 + .byte W09 + .byte En3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W54 + .byte W48 + .byte Ds3 + .byte W06 + .byte N06 , Gs3 + .byte W12 + .byte N03 , Ds3 + .byte W06 + .byte N06 , Gs3 + .byte W06 + .byte N03 , Gn3 , v076 + .byte W03 + .byte Fn3 + .byte W03 + .byte Ds3 + .byte W03 + .byte Cs3 + .byte W09 + .byte W96 + .byte W48 + .byte Fn3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W30 + .byte W06 + .byte Dn3 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte As2 + .byte W06 + .byte Dn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte PAN , c_v+0 + .byte VOL , 49*mus_tozan_mvl/mxv + .byte W06 + .byte N03 , As2 , v088 + .byte W03 + .byte An2 + .byte W03 + .byte N06 , Gs2 , v112 + .byte W12 + .byte N03 , Ds3 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W12 + .byte N03 + .byte W06 + .byte N12 , Fn3 + .byte W12 + .byte Cs3 + .byte W09 + .byte N03 , Fn3 + .byte W03 + .byte PATT + .word mus_tozan_6_000 + .byte PATT + .word mus_tozan_6_001 + .byte PATT + .word mus_tozan_6_004 + .byte PATT + .word mus_tozan_6_005 + .byte W96 + .byte W96 + .byte W96 + .byte PATT + .word mus_tozan_6_002 + .byte PATT + .word mus_tozan_6_000 + .byte PATT + .word mus_tozan_6_003 + .byte PATT + .word mus_tozan_6_004 + .byte PATT + .word mus_tozan_6_005 + .byte W96 + .byte W96 + .byte PATT + .word mus_tozan_6_006 + .byte N03 , Gs2 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , Ds3 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte VOICE , 60 + .byte N03 + .byte W06 + .byte Ds3 + .byte W12 + .byte N06 + .byte W06 + .byte N24 , Dn3 + .byte W24 + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , Ds3 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte VOICE , 56 + .byte N03 + .byte W06 + .byte Ds3 + .byte W12 + .byte N06 + .byte W06 + .byte N24 , Fs3 + .byte W24 + .byte VOICE , 60 + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , Ds3 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte VOICE , 56 + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , Ds3 + .byte W12 + .byte N06 , Dn3 + .byte W12 + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N03 , Gs2 + .byte W06 + .byte N03 + .byte W06 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_tozan_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_tozan_7: + .byte KEYSH , mus_tozan_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 49*mus_tozan_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte N24 , Ds1 , v112 + .byte W03 + .byte BEND , c_v+0 + .byte W09 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , As1 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Gn1 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte 0 + .byte N24 , Cs2 + .byte W12 + .byte MOD , 6 + .byte W12 + .byte VOICE , 83 + .byte PAN , c_v+0 + .byte VOL , 14*mus_tozan_mvl/mxv + .byte MOD , 0 + .byte N72 , Ds4 + .byte W02 + .byte VOL , 18*mus_tozan_mvl/mxv + .byte W03 + .byte 21*mus_tozan_mvl/mxv + .byte W03 + .byte 24*mus_tozan_mvl/mxv + .byte W04 + .byte 26*mus_tozan_mvl/mxv + .byte W02 + .byte 29*mus_tozan_mvl/mxv + .byte W03 + .byte 33*mus_tozan_mvl/mxv + .byte W03 + .byte 36*mus_tozan_mvl/mxv + .byte W04 + .byte 38*mus_tozan_mvl/mxv + .byte MOD , 4 + .byte W02 + .byte VOL , 41*mus_tozan_mvl/mxv + .byte W03 + .byte 46*mus_tozan_mvl/mxv + .byte W03 + .byte 47*mus_tozan_mvl/mxv + .byte W04 + .byte 50*mus_tozan_mvl/mxv + .byte W02 + .byte 54*mus_tozan_mvl/mxv + .byte W03 + .byte 56*mus_tozan_mvl/mxv + .byte W03 + .byte 61*mus_tozan_mvl/mxv + .byte W04 + .byte 65*mus_tozan_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 71*mus_tozan_mvl/mxv + .byte W03 + .byte 71*mus_tozan_mvl/mxv + .byte W03 + .byte 61*mus_tozan_mvl/mxv + .byte W01 + .byte 74*mus_tozan_mvl/mxv + .byte W15 + .byte MOD , 1 + .byte VOL , 63*mus_tozan_mvl/mxv + .byte N03 , Cs4 , v088 + .byte W03 + .byte As3 + .byte W03 + .byte Gn3 , v084 + .byte W03 + .byte Ds3 , v080 + .byte W03 + .byte Cs3 , v072 + .byte W03 + .byte As2 , v068 + .byte W03 + .byte Gn2 , v064 + .byte W03 + .byte Ds2 , v060 + .byte W03 +mus_tozan_7_B1: + .byte VOICE , 88 + .byte PAN , c_v-63 + .byte VOL , 58*mus_tozan_mvl/mxv + .byte N18 , Gs1 , v112 + .byte W18 + .byte N03 , Ds2 + .byte W03 + .byte N06 , Ds2 , v036 + .byte W15 + .byte PAN , c_v+0 + .byte N03 , Bn2 , v112 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte PAN , c_v+63 + .byte W06 + .byte N03 , Bn2 , v112 + .byte W03 + .byte Bn2 , v036 + .byte W03 + .byte N12 , Bn1 , v112 + .byte W12 + .byte N06 , Ds2 + .byte W06 + .byte Ds2 , v036 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cs2 , v112 + .byte W06 + .byte Cs2 , v036 + .byte W06 +mus_tozan_7_000: + .byte PAN , c_v-63 + .byte N18 , Gs1 , v112 + .byte W18 + .byte N03 , Ds2 + .byte W03 + .byte N06 , Ds2 , v036 + .byte W15 + .byte PAN , c_v+0 + .byte N03 , Bn2 , v112 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte PAN , c_v+63 + .byte W06 + .byte N03 , Bn2 , v112 + .byte W03 + .byte Bn2 , v036 + .byte W03 + .byte N12 , Bn1 , v112 + .byte W12 + .byte N03 , Ds2 + .byte W03 + .byte Ds2 , v036 + .byte W03 + .byte Gs2 , v112 + .byte W03 + .byte Gs2 , v036 + .byte W03 + .byte PAN , c_v+0 + .byte N12 , Bn1 , v112 + .byte W12 + .byte PEND +mus_tozan_7_001: + .byte PAN , c_v-63 + .byte N18 , Gs1 , v112 + .byte W18 + .byte N03 , Ds2 + .byte W03 + .byte N06 , Ds2 , v036 + .byte W15 + .byte PAN , c_v+0 + .byte N03 , Bn2 , v112 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte PAN , c_v+63 + .byte W06 + .byte N03 , Bn2 , v112 + .byte W03 + .byte Bn2 , v036 + .byte W03 + .byte N12 , Bn1 , v112 + .byte W12 + .byte N06 , Ds2 + .byte W06 + .byte Ds2 , v036 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cs2 , v112 + .byte W06 + .byte Cs2 , v036 + .byte W06 + .byte PEND +mus_tozan_7_002: + .byte PAN , c_v-63 + .byte N18 , Gs1 , v112 + .byte W18 + .byte N03 , Ds2 + .byte W03 + .byte N06 , Ds2 , v036 + .byte W15 + .byte PAN , c_v+0 + .byte N03 , Bn2 , v112 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte PAN , c_v+63 + .byte W06 + .byte N03 , Bn2 , v112 + .byte W03 + .byte Bn2 , v036 + .byte W03 + .byte N12 , Bn1 , v112 + .byte W12 + .byte N03 , Ds2 + .byte W03 + .byte Ds2 , v036 + .byte W03 + .byte Cs2 , v112 + .byte W03 + .byte Cs2 , v036 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , As1 , v112 + .byte W03 + .byte As1 , v036 + .byte W03 + .byte Gn1 , v112 + .byte W03 + .byte Gn1 , v036 + .byte W03 + .byte PEND +mus_tozan_7_003: + .byte PAN , c_v-63 + .byte N18 , Ds1 , v112 + .byte W18 + .byte N03 , As1 + .byte W03 + .byte N06 , As1 , v036 + .byte W15 + .byte PAN , c_v+0 + .byte N03 , Ds2 , v112 + .byte W03 + .byte N06 , Ds2 , v036 + .byte W09 + .byte PAN , c_v+63 + .byte W06 + .byte N03 , Ds2 , v112 + .byte W03 + .byte Ds2 , v036 + .byte W03 + .byte N12 , Ds1 , v112 + .byte W12 + .byte N06 , As1 + .byte W06 + .byte As1 , v036 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Gn1 , v112 + .byte W06 + .byte Gn1 , v036 + .byte W06 + .byte PEND +mus_tozan_7_004: + .byte PAN , c_v-63 + .byte N18 , Ds1 , v112 + .byte W18 + .byte N03 , As1 + .byte W03 + .byte N06 , As1 , v036 + .byte W15 + .byte PAN , c_v+0 + .byte N03 , Ds2 , v112 + .byte W03 + .byte N06 , Ds2 , v036 + .byte W09 + .byte PAN , c_v+63 + .byte W06 + .byte N03 , Ds2 , v112 + .byte W03 + .byte Ds2 , v036 + .byte W03 + .byte N12 , Ds1 , v112 + .byte W12 + .byte N03 , As1 + .byte W03 + .byte As1 , v036 + .byte W03 + .byte Ds2 , v112 + .byte W03 + .byte Ds2 , v036 + .byte W03 + .byte PAN , c_v+0 + .byte N12 , Gn1 , v112 + .byte W12 + .byte PEND + .byte PATT + .word mus_tozan_7_003 +mus_tozan_7_005: + .byte PAN , c_v-63 + .byte N18 , Ds1 , v112 + .byte W18 + .byte N03 , As1 + .byte W03 + .byte N06 , As1 , v036 + .byte W15 + .byte PAN , c_v+0 + .byte N03 , Ds2 , v112 + .byte W03 + .byte N06 , Ds2 , v036 + .byte W09 + .byte PAN , c_v+63 + .byte W06 + .byte N03 , Ds2 , v112 + .byte W03 + .byte Ds2 , v036 + .byte W03 + .byte N12 , Ds1 , v112 + .byte W12 + .byte N03 , Gn1 + .byte W03 + .byte Gn1 , v036 + .byte W03 + .byte Cs2 , v112 + .byte W03 + .byte Cs2 , v036 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , Ds2 , v072 + .byte W03 + .byte Gn2 , v080 + .byte W03 + .byte As2 , v096 + .byte W03 + .byte Cs3 , v104 + .byte W03 + .byte PEND + .byte PATT + .word mus_tozan_7_001 + .byte PATT + .word mus_tozan_7_000 + .byte PAN , c_v-63 + .byte N18 , Gs1 , v112 + .byte W18 + .byte N03 , Ds2 + .byte W03 + .byte Ds2 , v036 + .byte W15 + .byte PAN , c_v+0 + .byte N03 , Bn2 , v112 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte PAN , c_v+63 + .byte W06 + .byte N03 , Bn2 , v112 + .byte W03 + .byte Bn2 , v036 + .byte W03 + .byte N12 , Bn1 , v112 + .byte W12 + .byte N06 , Ds2 + .byte W06 + .byte Ds2 , v036 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cs2 , v112 + .byte W06 + .byte Cs2 , v036 + .byte W06 + .byte PATT + .word mus_tozan_7_002 + .byte PATT + .word mus_tozan_7_003 + .byte PATT + .word mus_tozan_7_004 + .byte PATT + .word mus_tozan_7_003 +mus_tozan_7_006: + .byte PAN , c_v-63 + .byte N18 , Ds1 , v112 + .byte W18 + .byte N03 , As1 + .byte W03 + .byte N06 , As1 , v036 + .byte W15 + .byte PAN , c_v+0 + .byte N03 , Ds2 , v112 + .byte W03 + .byte N06 , Ds2 , v036 + .byte W09 + .byte PAN , c_v+63 + .byte W06 + .byte N03 , Ds2 , v112 + .byte W03 + .byte Ds2 , v036 + .byte W03 + .byte N12 , Ds1 , v112 + .byte W12 + .byte N03 , Gn1 + .byte W03 + .byte Gn1 , v036 + .byte W03 + .byte Cs2 , v112 + .byte W03 + .byte Cs2 , v036 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , Ds2 , v112 + .byte W03 + .byte Ds2 , v036 + .byte W03 + .byte Gn2 , v112 + .byte W03 + .byte Gn2 , v036 + .byte W03 + .byte PEND + .byte VOICE , 80 + .byte N08 , Bn1 , v112 + .byte W08 + .byte Fs1 + .byte W10 + .byte N03 , Fs2 + .byte W03 + .byte N06 , Fs2 , v036 + .byte W15 + .byte N03 , As2 , v112 + .byte W03 + .byte N06 , As2 , v036 + .byte W15 + .byte N03 , As2 , v112 + .byte W03 + .byte As2 , v036 + .byte W03 + .byte N12 , Ds2 , v112 + .byte W12 + .byte N06 , Fs2 + .byte W06 + .byte Fs2 , v036 + .byte W06 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v036 + .byte W06 + .byte N08 , As1 , v112 + .byte W08 + .byte Fn1 + .byte W10 + .byte N03 , Fn2 + .byte W03 + .byte N06 , Fn2 , v036 + .byte W15 + .byte N03 , Gs2 , v112 + .byte W03 + .byte N06 , Gs2 , v036 + .byte W15 + .byte N03 , Gs2 , v112 + .byte W03 + .byte Gs2 , v036 + .byte W03 + .byte N12 , Cs2 , v112 + .byte W12 + .byte N03 , Fn2 + .byte W03 + .byte Fn2 , v036 + .byte W03 + .byte Gs2 , v112 + .byte W03 + .byte Gs2 , v036 + .byte W03 + .byte N12 , As1 , v112 + .byte W12 + .byte N08 , An1 + .byte W08 + .byte En1 + .byte W10 + .byte N03 , En2 + .byte W03 + .byte N06 , En2 , v036 + .byte W15 + .byte N03 , Gs2 , v112 + .byte W03 + .byte N06 , Gs2 , v036 + .byte W15 + .byte N03 , Gs2 , v112 + .byte W03 + .byte Gs2 , v036 + .byte W03 + .byte N12 , Cs2 , v112 + .byte W12 + .byte N06 , En2 + .byte W06 + .byte En2 , v036 + .byte W06 + .byte An1 , v112 + .byte W06 + .byte An1 , v036 + .byte W06 + .byte N08 , Gs1 , v112 + .byte W08 + .byte Ds1 + .byte W10 + .byte N03 , Ds2 + .byte W03 + .byte N06 , Ds2 , v036 + .byte W15 + .byte N03 , Gn2 , v112 + .byte W03 + .byte N06 , Gn2 , v036 + .byte W15 + .byte N03 , Gn2 , v112 + .byte W03 + .byte Gn2 , v036 + .byte W03 + .byte N12 , Cn2 , v112 + .byte W12 + .byte N03 , Ds2 + .byte W03 + .byte Ds2 , v036 + .byte W03 + .byte Gn2 , v112 + .byte W03 + .byte Gn2 , v036 + .byte W03 + .byte N12 , Gs1 , v112 + .byte W12 + .byte N18 , Fs1 + .byte W18 + .byte N06 , As1 + .byte W06 + .byte As1 , v036 + .byte W12 + .byte Cs2 , v112 + .byte W06 + .byte Cs2 , v036 + .byte W06 + .byte Fn1 , v112 + .byte W06 + .byte Gs1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Ds2 , v036 + .byte W06 + .byte Fn2 , v112 + .byte W06 + .byte Fn2 , v036 + .byte W06 + .byte Gn2 , v112 + .byte W06 + .byte N18 , En1 + .byte W18 + .byte N06 , Bn1 + .byte W06 + .byte Bn1 , v036 + .byte W12 + .byte Ds2 , v112 + .byte W06 + .byte Ds2 , v036 + .byte W06 + .byte Dn1 , v112 + .byte W06 + .byte Fn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte As1 + .byte W06 + .byte Dn2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Gs2 + .byte W06 + .byte As2 + .byte W06 + .byte As2 , v036 + .byte W06 + .byte N03 , Dn2 , v112 + .byte W03 + .byte N06 , Dn2 , v036 + .byte W09 + .byte N03 , Dn2 , v112 + .byte W06 + .byte N03 + .byte W03 + .byte Dn2 , v036 + .byte W03 + .byte As2 , v112 + .byte W03 + .byte As2 , v036 + .byte W03 + .byte Dn2 , v112 + .byte W03 + .byte Dn2 , v036 + .byte W03 + .byte An1 , v112 + .byte W03 + .byte An1 , v036 + .byte W03 + .byte PAN , c_v-63 + .byte VOL , 58*mus_tozan_mvl/mxv + .byte N18 , Gs1 , v112 + .byte W18 + .byte N03 , Ds2 + .byte W03 + .byte N06 , Ds2 , v036 + .byte W15 + .byte PAN , c_v+0 + .byte N03 , Bn2 , v112 + .byte W03 + .byte N06 , Bn2 , v036 + .byte W09 + .byte PAN , c_v+63 + .byte W06 + .byte N03 , Bn2 , v112 + .byte W03 + .byte Bn2 , v036 + .byte W03 + .byte N12 , Bn1 , v112 + .byte W12 + .byte N06 , Ds2 + .byte W06 + .byte Ds2 , v036 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Cs2 , v112 + .byte W06 + .byte Cs2 , v036 + .byte W06 + .byte PATT + .word mus_tozan_7_000 + .byte PATT + .word mus_tozan_7_001 + .byte PATT + .word mus_tozan_7_002 + .byte PATT + .word mus_tozan_7_003 + .byte PATT + .word mus_tozan_7_004 + .byte PATT + .word mus_tozan_7_003 + .byte PATT + .word mus_tozan_7_005 + .byte PATT + .word mus_tozan_7_001 + .byte PATT + .word mus_tozan_7_000 + .byte PATT + .word mus_tozan_7_001 + .byte PATT + .word mus_tozan_7_002 + .byte PAN , c_v-63 + .byte N18 , Ds1 , v112 + .byte W18 + .byte N03 , As1 + .byte W03 + .byte N06 , As1 , v036 + .byte W15 + .byte PAN , c_v+0 + .byte N03 , Ds2 , v112 + .byte W03 + .byte N06 , Ds2 , v036 + .byte W09 + .byte PAN , c_v+63 + .byte W06 + .byte N03 , Ds2 , v112 + .byte W03 + .byte N06 , Ds2 , v036 + .byte W03 + .byte N12 , Ds1 , v112 + .byte W12 + .byte N06 , As1 + .byte W06 + .byte As1 , v036 + .byte W06 + .byte PAN , c_v+0 + .byte N06 , Gn1 , v112 + .byte W06 + .byte Gn1 , v036 + .byte W06 + .byte PATT + .word mus_tozan_7_004 + .byte PATT + .word mus_tozan_7_003 + .byte PATT + .word mus_tozan_7_006 + .byte VOICE , 88 + .byte PAN , c_v+0 + .byte N12 , Gs2 , v112 + .byte W12 + .byte Gs1 + .byte W12 + .byte N06 , Gs1 , v036 + .byte W12 + .byte N01 , Gs1 , v048 + .byte W06 + .byte Gs1 , v060 + .byte W06 + .byte Gs1 , v072 + .byte W06 + .byte Gs1 , v084 + .byte W06 + .byte Gs1 , v096 + .byte W06 + .byte Gs1 , v104 + .byte W06 + .byte Gs1 , v112 + .byte W03 + .byte N03 , Bn1 , v096 + .byte W03 + .byte Cs2 + .byte W03 + .byte Dn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte En2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Gn2 , v112 + .byte W03 + .byte N12 , Gs2 + .byte W12 + .byte Gs1 + .byte W12 + .byte N06 , Gs1 , v036 + .byte W12 + .byte N01 , Gs1 , v048 + .byte W06 + .byte Gs1 , v060 + .byte W06 + .byte Gs1 , v072 + .byte W06 + .byte Gs1 , v084 + .byte W06 + .byte Gs1 , v096 + .byte W06 + .byte Gs1 , v104 + .byte W06 + .byte Gs1 , v112 + .byte W06 + .byte N03 , Cs2 , v096 + .byte W03 + .byte Dn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte En2 + .byte W03 + .byte Fn2 + .byte W03 + .byte Gn2 , v112 + .byte W03 + .byte N12 , Gs2 + .byte W12 + .byte Gs1 + .byte W12 + .byte N06 , Gs1 , v036 + .byte W12 + .byte N03 , Gs1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Gs2 + .byte W12 + .byte Gs1 + .byte W12 + .byte N06 , Gs1 , v036 + .byte W12 + .byte N03 , Gs1 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N12 , Gs2 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte Gs1 , v036 + .byte W06 + .byte N12 , Gs2 , v112 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte Gs1 , v036 + .byte W06 + .byte N12 , Gs2 , v112 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte Gs1 , v036 + .byte W03 + .byte N03 , Gn2 , v112 + .byte W03 + .byte N12 , Gs2 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte Gs1 , v036 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_tozan_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_tozan_8: + .byte KEYSH , mus_tozan_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 63*mus_tozan_mvl/mxv + .byte N06 , En1 , v112 + .byte N72 , An2 + .byte W12 + .byte N06 , En1 + .byte W06 + .byte N03 , En1 , v064 + .byte W03 + .byte En1 , v020 + .byte W03 + .byte N06 , En1 , v112 + .byte W06 + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte N03 , En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W06 + .byte En1 , v088 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte En1 , v080 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte N03 , En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 +mus_tozan_8_B1: + .byte N48 , An2 , v112 + .byte W48 + .byte N03 , Fs1 + .byte W06 + .byte Fs1 , v064 + .byte W12 + .byte Fs1 , v084 + .byte W06 + .byte N06 , Dn1 , v112 + .byte W12 + .byte N12 , As1 , v064 + .byte W12 +mus_tozan_8_000: + .byte N06 , Dn1 , v112 + .byte W06 + .byte Dn1 , v076 + .byte W06 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte Dn1 , v112 + .byte W06 + .byte Dn1 , v072 + .byte W06 + .byte Dn1 , v112 + .byte W12 + .byte En1 , v084 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte En1 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte PEND +mus_tozan_8_001: + .byte N06 , Cn1 , v124 + .byte W18 + .byte Cn1 , v112 + .byte W18 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W12 + .byte Dn1 + .byte W12 + .byte PEND + .byte En1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W21 + .byte N03 , En1 , v080 + .byte W03 + .byte N06 , En1 , v127 + .byte W12 + .byte Dn1 , v096 + .byte W12 +mus_tozan_8_002: + .byte N48 , An2 , v112 + .byte W48 + .byte N03 , Fs1 + .byte W06 + .byte Fs1 , v072 + .byte W06 + .byte N12 , As1 , v064 + .byte W12 + .byte N06 , En1 , v112 + .byte W12 + .byte N03 , Cn1 + .byte W06 + .byte N03 + .byte W06 + .byte PEND +mus_tozan_8_003: + .byte N06 , Cn1 , v124 + .byte W18 + .byte Cn1 , v112 + .byte W18 + .byte N06 + .byte W24 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , En1 + .byte W12 + .byte Dn1 , v096 + .byte W12 + .byte PEND +mus_tozan_8_004: + .byte N06 , Cn1 , v124 + .byte W18 + .byte Cn1 , v112 + .byte W18 + .byte N06 + .byte W18 + .byte N06 + .byte W06 + .byte N06 + .byte W12 + .byte Dn1 + .byte W12 + .byte En1 + .byte W12 + .byte PEND + .byte N48 , An2 + .byte W48 + .byte N03 , Fs1 + .byte W06 + .byte Fs1 , v076 + .byte W06 + .byte Fs1 , v068 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn1 , v116 + .byte W06 + .byte Cn1 , v092 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte En1 , v112 + .byte W06 +mus_tozan_8_005: + .byte N48 , An2 , v112 + .byte W48 + .byte N03 , Fs1 + .byte W06 + .byte Fs1 , v064 + .byte W12 + .byte Fs1 , v116 + .byte W06 + .byte N06 , Dn1 , v112 + .byte W24 + .byte PEND + .byte PATT + .word mus_tozan_8_000 + .byte PATT + .word mus_tozan_8_001 + .byte N06 , En1 , v120 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W21 + .byte N03 , En1 , v084 + .byte W03 + .byte N06 , En1 , v127 + .byte W12 + .byte Dn1 , v096 + .byte W12 + .byte PATT + .word mus_tozan_8_002 + .byte PATT + .word mus_tozan_8_001 + .byte PATT + .word mus_tozan_8_004 + .byte W48 + .byte N03 , Fs1 , v112 + .byte W06 + .byte Fs1 , v076 + .byte W06 + .byte Fs1 , v068 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn1 , v116 + .byte W06 + .byte Cn1 , v092 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte VOL , 70*mus_tozan_mvl/mxv + .byte N48 , An2 + .byte W48 + .byte N06 , Cn1 , v048 + .byte W06 + .byte Dn1 , v040 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte N03 , En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v080 + .byte W12 + .byte N12 , As1 , v064 + .byte W12 + .byte N04 , Cn1 , v112 + .byte W08 + .byte Cn1 , v068 + .byte W08 + .byte Cn1 , v076 + .byte W05 + .byte N03 , En1 , v048 + .byte W03 + .byte N06 , En1 , v100 + .byte W12 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte N03 , En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte N03 , Fs1 , v064 + .byte W06 + .byte Fs1 , v068 + .byte W06 + .byte N06 , Cn1 , v104 + .byte W12 + .byte N03 , En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v108 + .byte W12 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Cn1 , v076 + .byte W06 + .byte N03 , En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Dn1 , v088 + .byte W06 + .byte Dn1 , v068 + .byte W06 + .byte Cn1 , v112 + .byte W08 + .byte N04 , Cn1 , v068 + .byte W08 + .byte Cn1 , v076 + .byte W02 + .byte N03 , En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v108 + .byte W12 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte N03 , En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte N12 , As1 , v064 + .byte W12 + .byte N06 , Cn1 , v112 + .byte W18 + .byte N03 , En1 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte Cn1 + .byte W06 + .byte Dn1 , v080 + .byte W06 + .byte Cn1 , v112 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N03 , En1 , v044 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte W12 + .byte En1 , v108 + .byte W12 + .byte Cn1 , v112 + .byte W06 + .byte En1 + .byte W06 + .byte Cn1 + .byte W12 + .byte En1 , v116 + .byte W06 + .byte Cn1 , v108 + .byte W06 + .byte En1 , v124 + .byte W12 + .byte Cn1 , v112 + .byte W12 + .byte En1 + .byte W06 + .byte N03 , En1 , v068 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v088 + .byte W06 + .byte En1 , v096 + .byte W06 + .byte En1 , v104 + .byte W06 + .byte En1 , v116 + .byte W06 + .byte VOL , 39*mus_tozan_mvl/mxv + .byte W06 + .byte N03 , Gs1 , v112 + .byte W12 + .byte Gs1 , v076 + .byte W06 + .byte Gs1 , v112 + .byte W06 + .byte Gs1 , v076 + .byte W06 + .byte N12 , As1 , v072 + .byte W12 + .byte VOL , 70*mus_tozan_mvl/mxv + .byte N48 , An2 , v112 + .byte W48 + .byte N03 , Fs1 + .byte W06 + .byte Fs1 , v064 + .byte W12 + .byte Fs1 , v084 + .byte W06 + .byte N06 , Dn1 , v112 + .byte W12 + .byte N12 , As1 , v064 + .byte W12 + .byte PATT + .word mus_tozan_8_000 + .byte PATT + .word mus_tozan_8_001 + .byte N06 , En1 , v112 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W21 + .byte N03 , En1 , v072 + .byte W03 + .byte N06 , En1 , v116 + .byte W12 + .byte Dn1 , v096 + .byte W12 + .byte PATT + .word mus_tozan_8_002 + .byte PATT + .word mus_tozan_8_003 + .byte PATT + .word mus_tozan_8_004 + .byte N48 , An2 , v112 + .byte W48 + .byte N03 , Fs1 + .byte W06 + .byte Fs1 , v076 + .byte W06 + .byte Fs1 , v068 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn1 , v120 + .byte W06 + .byte Cn1 , v092 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte PATT + .word mus_tozan_8_005 + .byte N06 , Dn1 , v120 + .byte W06 + .byte Dn1 , v076 + .byte W06 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte Dn1 , v112 + .byte W06 + .byte Dn1 , v072 + .byte W06 + .byte Dn1 , v112 + .byte W12 + .byte En1 , v084 + .byte W12 + .byte Dn1 , v112 + .byte W12 + .byte En1 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte PATT + .word mus_tozan_8_001 + .byte N06 , En1 , v120 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W21 + .byte N03 , En1 , v072 + .byte W03 + .byte N06 , En1 , v116 + .byte W12 + .byte Dn1 , v096 + .byte W12 + .byte PATT + .word mus_tozan_8_002 + .byte PATT + .word mus_tozan_8_001 + .byte PATT + .word mus_tozan_8_004 + .byte W48 + .byte N03 , Fs1 , v112 + .byte W06 + .byte Fs1 , v076 + .byte W06 + .byte Fs1 , v068 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Cn1 , v112 + .byte W06 + .byte Cn1 , v092 + .byte W06 + .byte En1 , v084 + .byte W06 + .byte En1 , v112 + .byte W06 + .byte W72 + .byte N24 , Gn2 + .byte W24 + .byte W72 + .byte An2 + .byte W24 + .byte W24 + .byte Gn2 + .byte W48 + .byte An2 + .byte W24 + .byte Gn2 , v076 + .byte W24 + .byte An2 , v080 + .byte W24 + .byte Gn2 , v096 + .byte W24 + .byte An2 + .byte W12 + .byte N02 , En1 , v112 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N06 + .byte N72 , An2 + .byte N06 , En3 , v084 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , Dn3 , v064 + .byte W06 + .byte N03 , En1 + .byte N06 , Dn3 + .byte W03 + .byte N03 , En1 + .byte W03 + .byte N06 , En1 , v112 + .byte N06 , Dn3 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , Dn3 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte En1 , v112 + .byte N06 , En3 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , En3 , v084 + .byte W06 + .byte En1 + .byte N06 , En3 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , En3 , v064 + .byte W06 + .byte En1 , v084 + .byte N06 , En3 , v064 + .byte W06 + .byte N03 , En1 + .byte N06 , En3 + .byte W03 + .byte N03 , En1 , v032 + .byte W03 + .byte N03 + .byte N06 , Dn3 + .byte W03 + .byte N03 , En1 + .byte W03 + .byte N06 , En1 , v112 + .byte N06 , En3 , v084 + .byte W06 + .byte En1 , v112 + .byte N06 , En3 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , En3 , v084 + .byte W06 + .byte En1 , v112 + .byte N06 , Dn3 , v064 + .byte W06 + .byte N03 , En1 , v032 + .byte N06 , En3 + .byte W03 + .byte N03 , En1 + .byte W03 + .byte N03 + .byte N06 , En3 + .byte W03 + .byte N03 , En1 + .byte W03 + .byte N06 , En1 , v112 + .byte N03 , Dn3 , v084 + .byte W03 + .byte Dn3 , v048 + .byte W03 + .byte N06 , En1 , v088 + .byte N03 , Dn3 , v048 + .byte W03 + .byte N03 + .byte W03 + .byte N06 , En1 , v112 + .byte N06 , En3 , v084 + .byte W06 + .byte En1 , v080 + .byte N06 , Dn3 , v084 + .byte W06 + .byte En1 , v112 + .byte N06 , En3 , v084 + .byte W06 + .byte En1 , v112 + .byte N06 , En3 , v064 + .byte W06 + .byte N03 , En1 , v032 + .byte N06 , Dn3 + .byte W03 + .byte N03 , En1 + .byte W03 + .byte N03 + .byte N06 , En3 + .byte W03 + .byte N03 , En1 + .byte W03 + .byte N06 , En1 , v112 + .byte N06 , En3 , v084 + .byte W06 + .byte En1 , v112 + .byte N06 , Dn3 , v064 + .byte W06 + .byte N03 , En1 , v032 + .byte N06 , En3 + .byte W03 + .byte N03 , En1 + .byte W03 + .byte N03 + .byte N06 , En3 + .byte W03 + .byte N03 , En1 + .byte W03 + .byte N06 , En1 , v112 + .byte N06 , En3 , v084 + .byte W06 + .byte En3 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , Dn3 , v064 + .byte W06 + .byte N03 , En1 , v032 + .byte N06 , Dn3 + .byte W03 + .byte N03 , En1 + .byte W03 + .byte N06 , En1 , v112 + .byte N06 , Dn3 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , Dn3 , v064 + .byte W06 + .byte En3 + .byte W06 + .byte En1 , v112 + .byte N06 , En3 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , En3 , v084 + .byte W06 + .byte En1 + .byte N06 , En3 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , En3 , v064 + .byte W06 + .byte En1 , v084 + .byte N06 , En3 , v064 + .byte W06 + .byte N03 , En1 + .byte N06 , En3 + .byte W03 + .byte N03 , En1 , v032 + .byte W03 + .byte N03 + .byte N06 , Dn3 + .byte W03 + .byte N03 , En1 + .byte W03 + .byte N06 , En1 , v112 + .byte N06 , En3 , v084 + .byte W06 + .byte En1 , v112 + .byte N06 , En3 , v064 + .byte W06 + .byte En1 , v112 + .byte N06 , En3 , v084 + .byte W06 + .byte En1 , v112 + .byte N06 , Dn3 , v064 + .byte W06 + .byte N03 , En1 , v032 + .byte N06 , En3 + .byte W03 + .byte N03 , En1 + .byte W03 + .byte N03 + .byte N06 , En3 + .byte W03 + .byte N03 , En1 + .byte W03 + .byte N06 , En1 , v112 + .byte N03 , Dn3 , v084 + .byte W03 + .byte Dn3 , v032 + .byte W03 + .byte N06 , En1 , v088 + .byte N03 , Dn3 , v048 + .byte W03 + .byte Dn3 , v032 + .byte W03 + .byte N06 , En1 , v112 + .byte N06 , En3 , v084 + .byte W06 + .byte En1 , v080 + .byte N06 , Dn3 , v084 + .byte W06 + .byte En1 , v112 + .byte N06 , En3 , v084 + .byte W06 + .byte En1 , v112 + .byte N06 , En3 , v064 + .byte W06 + .byte N03 , En1 , v032 + .byte N06 , Dn3 + .byte W03 + .byte N03 , En1 + .byte W03 + .byte N03 + .byte N06 , En3 + .byte W03 + .byte N03 , En1 + .byte W03 + .byte N06 , En1 , v112 + .byte N06 , En3 , v084 + .byte W06 + .byte En1 , v112 + .byte N06 , Dn3 , v064 + .byte W06 + .byte N03 , En1 , v032 + .byte N06 , En3 + .byte W03 + .byte N03 , En1 + .byte W03 + .byte N03 + .byte N06 , En3 + .byte W03 + .byte N03 , En1 + .byte W03 + .byte GOTO + .word mus_tozan_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_tozan_9: + .byte KEYSH , mus_tozan_key+0 + .byte VOICE , 29 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 12 + .byte BENDR , 12 + .byte VOL , 49*mus_tozan_mvl/mxv + .byte PAN , c_v+63 + .byte BEND , c_v+0 + .byte W96 + .byte N96 , Ds2 , v112 + .byte W96 +mus_tozan_9_B1: +mus_tozan_9_000: + .byte W92 + .byte W01 + .byte N03 , Dn3 , v112 + .byte W03 + .byte PEND +mus_tozan_9_001: + .byte N03 , Ds3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W18 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W06 + .byte Gn2 , v068 + .byte W03 + .byte As2 + .byte W03 + .byte N06 , Cs3 , v112 + .byte W12 + .byte As2 + .byte W06 + .byte N03 , Cs3 + .byte W06 + .byte PEND + .byte W96 +mus_tozan_9_002: + .byte W36 + .byte N03 , Ds3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte N03 , Gs3 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte N03 , Bn3 + .byte W06 + .byte N06 + .byte W06 + .byte PEND +mus_tozan_9_003: + .byte N06 , Ds4 , v112 + .byte W06 + .byte N03 , Dn4 , v064 + .byte W03 + .byte Cn4 + .byte W03 + .byte Bn3 + .byte W03 + .byte An3 + .byte W03 + .byte Gn3 + .byte W78 + .byte PEND + .byte W96 + .byte W96 +mus_tozan_9_004: + .byte W06 + .byte N03 , Gn2 , v112 + .byte W12 + .byte Fn2 + .byte W06 + .byte Fs2 , v084 + .byte W03 + .byte Gn2 , v112 + .byte W03 + .byte En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte Cs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N06 , As2 + .byte W06 + .byte N03 , An2 , v048 + .byte W03 + .byte Gn2 , v052 + .byte W03 + .byte Fn2 + .byte W03 + .byte Ds2 + .byte W03 + .byte Cs2 + .byte W06 + .byte PEND + .byte PATT + .word mus_tozan_9_000 + .byte PATT + .word mus_tozan_9_001 + .byte W96 + .byte PATT + .word mus_tozan_9_002 + .byte PATT + .word mus_tozan_9_003 + .byte W96 + .byte W96 + .byte W96 + .byte N06 , Fs4 , v112 + .byte W06 + .byte N03 , Fn4 , v076 + .byte W03 + .byte En4 + .byte W03 + .byte Ds4 + .byte W03 + .byte Cs4 + .byte W03 + .byte Bn3 + .byte W78 + .byte W48 + .byte Gs3 , v112 + .byte W06 + .byte N06 , Cs4 + .byte W06 + .byte Cs4 , v032 + .byte W06 + .byte N03 , Fn3 , v104 + .byte W03 + .byte Fn3 , v032 + .byte W03 + .byte N06 , Ds4 , v112 + .byte W06 + .byte N03 , Cs4 , v076 + .byte W03 + .byte Cn4 + .byte W03 + .byte As3 + .byte W03 + .byte Gs3 + .byte W09 + .byte Cs4 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W03 + .byte N06 , Cs4 , v032 + .byte W48 + .byte W03 + .byte W48 + .byte N03 , Gs3 , v112 + .byte W06 + .byte N06 , Cn4 + .byte W06 + .byte Cn4 , v032 + .byte W06 + .byte N03 , Gs3 , v112 + .byte W03 + .byte Gs3 , v032 + .byte W03 + .byte N06 , Ds4 , v112 + .byte W06 + .byte N03 , Cs4 , v076 + .byte W03 + .byte Cn4 + .byte W03 + .byte As3 + .byte W03 + .byte Gs3 + .byte W09 + .byte W96 + .byte W48 + .byte As3 , v112 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W30 + .byte W48 + .byte PAN , c_v+63 + .byte W92 + .byte W01 + .byte N03 , Dn3 + .byte W03 + .byte PATT + .word mus_tozan_9_001 + .byte W96 + .byte PATT + .word mus_tozan_9_002 + .byte PATT + .word mus_tozan_9_003 + .byte W96 + .byte W96 + .byte PATT + .word mus_tozan_9_004 + .byte PATT + .word mus_tozan_9_000 + .byte PATT + .word mus_tozan_9_001 + .byte W96 + .byte PATT + .word mus_tozan_9_002 + .byte PATT + .word mus_tozan_9_003 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_tozan_9_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_tozan: + .byte 9 @ NumTrks + .byte 0 @ NumBlks + .byte mus_tozan_pri @ Priority + .byte mus_tozan_rev @ Reverb. + + .word mus_tozan_grp + + .word mus_tozan_1 + .word mus_tozan_2 + .word mus_tozan_3 + .word mus_tozan_4 + .word mus_tozan_5 + .word mus_tozan_6 + .word mus_tozan_7 + .word mus_tozan_8 + .word mus_tozan_9 + + .end diff --git a/sound/songs/mus_tsuretek.s b/sound/songs/mus_tsuretek.s new file mode 100644 index 0000000000..457e08e561 --- /dev/null +++ b/sound/songs/mus_tsuretek.s @@ -0,0 +1,1217 @@ + .include "MPlayDef.s" + + .equ mus_tsuretek_grp, voicegroup_8688274 + .equ mus_tsuretek_pri, 0 + .equ mus_tsuretek_rev, reverb_set+50 + .equ mus_tsuretek_mvl, 127 + .equ mus_tsuretek_key, 0 + .equ mus_tsuretek_tbs, 1 + .equ mus_tsuretek_exg, 0 + .equ mus_tsuretek_cmp, 1 + + .section .rodata + .global mus_tsuretek + .align 2 + +@********************** Track 1 **********************@ + +mus_tsuretek_1: + .byte KEYSH , mus_tsuretek_key+0 + .byte TEMPO , 128*mus_tsuretek_tbs/2 + .byte VOICE , 127 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 35*mus_tsuretek_mvl/mxv + .byte PAN , c_v+0 + .byte N04 , Cn5 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte Cn5 , v096 + .byte W08 + .byte Cn5 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte Cn5 , v112 + .byte W16 + .byte Cn5 , v084 + .byte W08 + .byte Cn5 , v112 + .byte W16 + .byte Cn5 , v060 + .byte W04 + .byte N04 + .byte W04 + .byte Cn5 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte Cn5 , v096 + .byte W08 + .byte Cn5 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte Cn5 , v112 + .byte W08 + .byte Cn5 , v060 + .byte W08 + .byte Cn5 , v084 + .byte W08 + .byte Cn5 , v112 + .byte W16 + .byte Cn5 , v060 + .byte W04 + .byte N04 + .byte W04 +mus_tsuretek_1_B1: +mus_tsuretek_1_000: + .byte N04 , Cn5 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte Cn5 , v096 + .byte W08 + .byte Cn5 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte Cn5 , v112 + .byte W16 + .byte Cn5 , v084 + .byte W08 + .byte Cn5 , v112 + .byte W16 + .byte Cn5 , v060 + .byte W04 + .byte N04 + .byte W04 + .byte PEND + .byte PATT + .word mus_tsuretek_1_000 + .byte PATT + .word mus_tsuretek_1_000 + .byte PATT + .word mus_tsuretek_1_000 +mus_tsuretek_1_001: + .byte N04 , Cn5 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte Cn5 , v096 + .byte W04 + .byte Cn5 , v048 + .byte W04 + .byte Cn5 , v060 + .byte W04 + .byte Cn5 , v044 + .byte W04 + .byte Cn5 , v052 + .byte W04 + .byte Cn5 , v040 + .byte W04 + .byte Cn5 , v112 + .byte W16 + .byte Cn5 , v084 + .byte W08 + .byte Cn5 , v096 + .byte W04 + .byte Cn5 , v048 + .byte W04 + .byte Cn5 , v060 + .byte W04 + .byte Cn5 , v044 + .byte W04 + .byte Cn5 , v052 + .byte W04 + .byte Cn5 , v040 + .byte W04 + .byte PEND +mus_tsuretek_1_002: + .byte N04 , Cn5 , v112 + .byte W12 + .byte N04 + .byte W12 + .byte N04 + .byte W04 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v112 + .byte W08 + .byte N04 + .byte W24 + .byte N04 + .byte W04 + .byte Cn5 , v048 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte PEND + .byte PATT + .word mus_tsuretek_1_000 + .byte PATT + .word mus_tsuretek_1_000 + .byte PATT + .word mus_tsuretek_1_000 + .byte PATT + .word mus_tsuretek_1_000 + .byte PATT + .word mus_tsuretek_1_001 + .byte PATT + .word mus_tsuretek_1_002 + .byte GOTO + .word mus_tsuretek_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_tsuretek_2: + .byte KEYSH , mus_tsuretek_key+0 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 54*mus_tsuretek_mvl/mxv + .byte N16 , En5 , v112 + .byte W16 + .byte N04 , Dn5 + .byte W08 + .byte Cs5 + .byte W16 + .byte Dn5 + .byte W08 + .byte Cs5 + .byte W08 + .byte Cn5 + .byte W08 + .byte Bn4 + .byte W08 + .byte An4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Fs4 + .byte W08 + .byte En4 + .byte W24 + .byte N04 + .byte W08 + .byte Gs4 + .byte W08 + .byte Bn4 + .byte W08 + .byte En5 + .byte W48 +mus_tsuretek_2_B1: + .byte N04 , An3 , v112 + .byte W16 + .byte Cs4 + .byte W08 + .byte N16 , En4 + .byte W24 + .byte N04 , Dn4 + .byte W16 + .byte Fs4 + .byte W08 + .byte N16 , An4 + .byte W24 + .byte N04 , An3 + .byte W16 + .byte Cs4 + .byte W08 + .byte N16 , En4 + .byte W24 + .byte N04 , Dn4 + .byte W16 + .byte Cs4 + .byte W08 + .byte N16 , Bn3 + .byte W24 + .byte N04 , En3 + .byte W08 + .byte An3 + .byte W08 + .byte Cs4 + .byte W08 + .byte N12 , En4 + .byte W16 + .byte N04 + .byte W08 + .byte Dn4 + .byte W16 + .byte Fs4 + .byte W08 + .byte An4 + .byte W16 + .byte N04 + .byte W08 + .byte Gs4 + .byte W16 + .byte En4 + .byte W08 + .byte N12 , Fs4 + .byte W16 + .byte N04 , Gs4 + .byte W08 + .byte An4 + .byte W16 + .byte N04 + .byte W08 + .byte N16 + .byte W24 + .byte W96 + .byte W96 + .byte N04 , Cs5 + .byte W16 + .byte An4 + .byte W08 + .byte N16 + .byte W24 + .byte N04 , Fs5 + .byte W16 + .byte An4 + .byte W08 + .byte N16 + .byte W24 + .byte N04 , Cs5 + .byte W16 + .byte An4 + .byte W08 + .byte N16 + .byte W24 + .byte N04 , Bn4 + .byte W16 + .byte An4 + .byte W08 + .byte N16 , Gs4 + .byte W24 + .byte N04 , Cs5 + .byte W08 + .byte An4 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W16 + .byte N04 , En4 + .byte W08 + .byte Fs5 + .byte W16 + .byte An4 + .byte W08 + .byte N04 + .byte W16 + .byte En5 + .byte W08 + .byte Dn5 + .byte W16 + .byte Bn4 + .byte W08 + .byte N12 , An4 + .byte W16 + .byte N04 , Gs4 + .byte W08 + .byte An4 + .byte W16 + .byte N04 + .byte W08 + .byte N16 + .byte W24 + .byte W96 + .byte W96 + .byte GOTO + .word mus_tsuretek_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_tsuretek_3: + .byte KEYSH , mus_tsuretek_key+0 + .byte VOICE , 35 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+3 + .byte VOL , 74*mus_tsuretek_mvl/mxv + .byte N04 , Gs1 , v127 + .byte W08 + .byte Bn1 + .byte W08 + .byte Dn2 + .byte W08 + .byte En2 + .byte W16 + .byte Gs2 + .byte W08 + .byte Dn2 + .byte W08 + .byte En2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Bn2 + .byte W16 + .byte Dn3 + .byte W08 + .byte BEND , c_v+0 + .byte N04 , En2 + .byte W24 + .byte Bn1 + .byte W24 + .byte En2 + .byte W24 + .byte BEND , c_v+0 + .byte N24 , Gs1 + .byte W04 + .byte BEND , c_v-8 + .byte W04 + .byte c_v-23 + .byte W04 + .byte c_v-42 + .byte W04 + .byte c_v-52 + .byte W04 + .byte c_v-62 + .byte W04 +mus_tsuretek_3_B1: + .byte BEND , c_v+0 + .byte N04 , An1 , v127 + .byte W24 + .byte N16 , En1 + .byte W16 + .byte N04 , An1 + .byte W08 + .byte Bn1 + .byte W24 + .byte N16 , Dn2 + .byte W16 + .byte N04 , Gs1 + .byte W08 +mus_tsuretek_3_000: + .byte N04 , An1 , v127 + .byte W24 + .byte N16 , En1 + .byte W16 + .byte N04 , An1 + .byte W08 + .byte Bn1 + .byte W24 + .byte N16 , Dn2 + .byte W16 + .byte N04 , Gs1 + .byte W08 + .byte PEND + .byte PATT + .word mus_tsuretek_3_000 +mus_tsuretek_3_001: + .byte N04 , Gs1 , v127 + .byte W24 + .byte N16 , En1 + .byte W16 + .byte N04 , Gs1 + .byte W08 + .byte An1 + .byte W16 + .byte Cs2 + .byte W08 + .byte N16 , An1 + .byte W24 + .byte PEND + .byte W96 + .byte W96 + .byte PATT + .word mus_tsuretek_3_000 + .byte PATT + .word mus_tsuretek_3_000 + .byte PATT + .word mus_tsuretek_3_000 + .byte PATT + .word mus_tsuretek_3_001 + .byte N04 , En1 , v127 + .byte W16 + .byte N04 + .byte W08 + .byte N24 + .byte W24 + .byte N04 + .byte W16 + .byte N04 + .byte W08 + .byte N24 + .byte W24 + .byte N04 + .byte W12 + .byte N04 + .byte W12 + .byte Gs1 + .byte W04 + .byte En1 + .byte W12 + .byte Gs1 + .byte W08 + .byte N16 , Bn1 + .byte W48 + .byte GOTO + .word mus_tsuretek_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_tsuretek_4: + .byte KEYSH , mus_tsuretek_key+0 + .byte VOICE , 45 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 46*mus_tsuretek_mvl/mxv + .byte PAN , c_v-17 + .byte N16 , Bn4 , v112 + .byte W16 + .byte N04 , An4 + .byte W08 + .byte Gs4 + .byte W16 + .byte An4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte En4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte Bn3 + .byte W24 + .byte Gs3 + .byte W08 + .byte Bn3 + .byte W08 + .byte En4 + .byte W08 + .byte Gs4 + .byte W48 +mus_tsuretek_4_B1: +mus_tsuretek_4_000: + .byte N04 , En3 , v112 + .byte W16 + .byte An3 + .byte W08 + .byte N16 , Cs4 + .byte W24 + .byte N04 , Bn3 + .byte W16 + .byte Dn4 + .byte W08 + .byte N16 , Fs4 + .byte W24 + .byte PEND +mus_tsuretek_4_001: + .byte N04 , En3 , v112 + .byte W16 + .byte An3 + .byte W08 + .byte N16 , Cs4 + .byte W24 + .byte N04 , Bn3 + .byte W16 + .byte An3 + .byte W08 + .byte N16 , Gs3 + .byte W24 + .byte PEND + .byte N04 , An2 + .byte W08 + .byte En3 + .byte W08 + .byte An3 + .byte W08 + .byte N12 , Cs4 + .byte W16 + .byte N04 + .byte W08 + .byte Bn3 + .byte W16 + .byte Dn4 + .byte W08 + .byte Fs4 + .byte W16 + .byte N04 + .byte W08 + .byte Dn4 + .byte W16 + .byte An3 + .byte W08 + .byte N12 , Cs4 + .byte W16 + .byte N04 , Dn4 + .byte W08 + .byte En4 + .byte W16 + .byte N04 + .byte W08 + .byte N16 + .byte W24 + .byte W96 + .byte W96 + .byte PATT + .word mus_tsuretek_4_000 + .byte PATT + .word mus_tsuretek_4_001 + .byte N04 , An2 , v112 + .byte W08 + .byte En3 + .byte W08 + .byte An3 + .byte W08 + .byte N12 , Cs4 + .byte W16 + .byte N04 + .byte W08 + .byte Bn3 + .byte W16 + .byte Dn4 + .byte W08 + .byte Fs4 + .byte W16 + .byte Bn4 + .byte W08 + .byte An4 + .byte W16 + .byte Fs4 + .byte W08 + .byte N12 , En4 + .byte W16 + .byte N04 , Dn4 + .byte W08 + .byte En4 + .byte W16 + .byte N04 + .byte W08 + .byte N16 + .byte W24 + .byte W96 + .byte W96 + .byte GOTO + .word mus_tsuretek_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_tsuretek_5: + .byte KEYSH , mus_tsuretek_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 37*mus_tsuretek_mvl/mxv + .byte PAN , c_v-62 + .byte N16 , En3 , v112 + .byte W16 + .byte N04 , Dn3 + .byte W08 + .byte Cs3 + .byte W16 + .byte Dn3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Cn3 + .byte W08 + .byte Bn2 + .byte W08 + .byte An2 + .byte W08 + .byte Gs2 + .byte W08 + .byte Fs2 + .byte W08 + .byte En2 + .byte W24 + .byte N04 + .byte W08 + .byte Gs2 + .byte W08 + .byte Bn2 + .byte W08 + .byte En3 + .byte W48 +mus_tsuretek_5_B1: +mus_tsuretek_5_000: + .byte W16 + .byte N04 , An2 , v112 + .byte W04 + .byte Gs2 + .byte W04 + .byte N12 , An2 + .byte W16 + .byte N04 + .byte W08 + .byte Gs2 + .byte W16 + .byte N04 + .byte W08 + .byte N16 , Fs2 + .byte W16 + .byte N04 , Gs2 + .byte W08 + .byte PEND +mus_tsuretek_5_001: + .byte W16 + .byte N04 , An2 , v112 + .byte W04 + .byte Gs2 + .byte W04 + .byte N12 , An2 + .byte W16 + .byte N04 + .byte W08 + .byte Bn2 + .byte W16 + .byte An2 + .byte W08 + .byte N16 , Gs2 + .byte W16 + .byte N04 , Bn2 + .byte W08 + .byte PEND +mus_tsuretek_5_002: + .byte W16 + .byte N04 , An2 , v112 + .byte W04 + .byte Gs2 + .byte W04 + .byte N12 , An2 + .byte W16 + .byte N04 + .byte W08 + .byte Gs2 + .byte W16 + .byte Bn2 + .byte W08 + .byte N16 , Dn3 + .byte W16 + .byte N04 , Bn2 + .byte W08 + .byte PEND +mus_tsuretek_5_003: + .byte W16 + .byte N04 , Bn2 , v112 + .byte W04 + .byte Cs3 + .byte W04 + .byte N12 , Dn3 + .byte W16 + .byte N04 , Bn2 + .byte W08 + .byte Cs3 + .byte W16 + .byte Bn2 + .byte W08 + .byte N16 , An2 + .byte W16 + .byte N04 , En2 + .byte W08 + .byte PEND + .byte W96 + .byte W96 + .byte PATT + .word mus_tsuretek_5_000 + .byte PATT + .word mus_tsuretek_5_001 + .byte PATT + .word mus_tsuretek_5_002 + .byte PATT + .word mus_tsuretek_5_003 + .byte W96 + .byte W96 + .byte GOTO + .word mus_tsuretek_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_tsuretek_6: + .byte KEYSH , mus_tsuretek_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 37*mus_tsuretek_mvl/mxv + .byte N16 , Bn3 , v112 + .byte W16 + .byte N04 , An3 + .byte W08 + .byte Gs3 + .byte W16 + .byte An3 + .byte W08 + .byte Gs3 + .byte W08 + .byte Gn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte En3 + .byte W08 + .byte Dn3 + .byte W08 + .byte Cs3 + .byte W08 + .byte Bn2 + .byte W24 + .byte Gs2 + .byte W08 + .byte Bn2 + .byte W08 + .byte En3 + .byte W08 + .byte Gs3 + .byte W48 +mus_tsuretek_6_B1: +mus_tsuretek_6_000: + .byte W16 + .byte N04 , Cs3 , v112 + .byte W04 + .byte Cn3 + .byte W04 + .byte N12 , Cs3 + .byte W16 + .byte N04 + .byte W08 + .byte Bn2 + .byte W16 + .byte N04 + .byte W08 + .byte N16 , An2 + .byte W16 + .byte N04 , Bn2 + .byte W08 + .byte PEND +mus_tsuretek_6_001: + .byte W16 + .byte N04 , Cs3 , v112 + .byte W04 + .byte Cn3 + .byte W04 + .byte N12 , Cs3 + .byte W16 + .byte N04 + .byte W08 + .byte Dn3 + .byte W16 + .byte Cs3 + .byte W08 + .byte N16 , Bn2 + .byte W16 + .byte N04 , En3 + .byte W08 + .byte PEND +mus_tsuretek_6_002: + .byte W16 + .byte N04 , Cs3 , v112 + .byte W04 + .byte Cn3 + .byte W04 + .byte N12 , Cs3 + .byte W16 + .byte N04 + .byte W08 + .byte Bn2 + .byte W16 + .byte Dn3 + .byte W08 + .byte N16 , Fs3 + .byte W16 + .byte N04 , Dn3 + .byte W08 + .byte PEND +mus_tsuretek_6_003: + .byte W16 + .byte N04 , Dn3 , v112 + .byte W04 + .byte En3 + .byte W04 + .byte N12 , Fs3 + .byte W16 + .byte N04 , Dn3 + .byte W08 + .byte En3 + .byte W16 + .byte Dn3 + .byte W08 + .byte N16 , Cs3 + .byte W16 + .byte N04 , An2 + .byte W08 + .byte PEND + .byte W96 + .byte W96 + .byte PATT + .word mus_tsuretek_6_000 + .byte PATT + .word mus_tsuretek_6_001 + .byte PATT + .word mus_tsuretek_6_002 + .byte PATT + .word mus_tsuretek_6_003 + .byte W96 + .byte W96 + .byte GOTO + .word mus_tsuretek_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_tsuretek_7: + .byte KEYSH , mus_tsuretek_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 55*mus_tsuretek_mvl/mxv + .byte N04 , En1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte En1 , v096 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v084 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v060 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte En1 , v096 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W08 + .byte En1 , v060 + .byte W08 + .byte En1 , v084 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v060 + .byte W04 + .byte N04 + .byte W04 +mus_tsuretek_7_B1: +mus_tsuretek_7_000: + .byte N04 , En1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte En1 , v096 + .byte W08 + .byte En1 , v064 + .byte W08 + .byte N04 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v084 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v060 + .byte W04 + .byte N04 + .byte W04 + .byte PEND + .byte PATT + .word mus_tsuretek_7_000 + .byte PATT + .word mus_tsuretek_7_000 + .byte PATT + .word mus_tsuretek_7_000 +mus_tsuretek_7_001: + .byte N04 , En1 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte En1 , v096 + .byte W04 + .byte En1 , v048 + .byte W04 + .byte En1 , v060 + .byte W04 + .byte En1 , v044 + .byte W04 + .byte En1 , v052 + .byte W04 + .byte En1 , v040 + .byte W04 + .byte En1 , v112 + .byte W16 + .byte En1 , v084 + .byte W08 + .byte En1 , v096 + .byte W04 + .byte En1 , v048 + .byte W04 + .byte En1 , v060 + .byte W04 + .byte En1 , v044 + .byte W04 + .byte En1 , v052 + .byte W04 + .byte En1 , v040 + .byte W04 + .byte PEND +mus_tsuretek_7_002: + .byte N04 , En1 , v112 + .byte W12 + .byte N04 + .byte W12 + .byte N04 + .byte W04 + .byte En1 , v084 + .byte W12 + .byte En1 , v112 + .byte W08 + .byte N04 + .byte W24 + .byte N04 + .byte W04 + .byte En1 , v048 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte PEND + .byte PATT + .word mus_tsuretek_7_000 + .byte PATT + .word mus_tsuretek_7_000 + .byte PATT + .word mus_tsuretek_7_000 + .byte PATT + .word mus_tsuretek_7_000 + .byte PATT + .word mus_tsuretek_7_001 + .byte PATT + .word mus_tsuretek_7_002 + .byte GOTO + .word mus_tsuretek_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_tsuretek_8: + .byte KEYSH , mus_tsuretek_key+0 + .byte VOICE , 82 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 32*mus_tsuretek_mvl/mxv + .byte N16 , En5 , v112 + .byte W16 + .byte N04 , Dn5 + .byte W08 + .byte Cs5 + .byte W16 + .byte Dn5 + .byte W08 + .byte Cs5 + .byte W08 + .byte Cn5 + .byte W08 + .byte Bn4 + .byte W08 + .byte An4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Fs4 + .byte W08 + .byte En4 + .byte W24 + .byte N04 + .byte W08 + .byte Gs4 + .byte W08 + .byte Bn4 + .byte W08 + .byte En5 + .byte W48 +mus_tsuretek_8_B1: + .byte N04 , An3 , v112 + .byte W16 + .byte Cs4 + .byte W08 + .byte N16 , En4 + .byte W24 + .byte N04 , Dn4 + .byte W16 + .byte Fs4 + .byte W08 + .byte N16 , An4 + .byte W24 + .byte N04 , An3 + .byte W16 + .byte Cs4 + .byte W08 + .byte N16 , En4 + .byte W24 + .byte N04 , Dn4 + .byte W16 + .byte Cs4 + .byte W08 + .byte N16 , Bn3 + .byte W24 + .byte N04 , En3 + .byte W08 + .byte An3 + .byte W08 + .byte Cs4 + .byte W08 + .byte N12 , En4 + .byte W16 + .byte N04 + .byte W08 + .byte Dn4 + .byte W16 + .byte Fs4 + .byte W08 + .byte An4 + .byte W16 + .byte N04 + .byte W08 + .byte Gs4 + .byte W16 + .byte En4 + .byte W08 + .byte N12 , Fs4 + .byte W16 + .byte N04 , Gs4 + .byte W08 + .byte An4 + .byte W04 + .byte VOL , 32*mus_tsuretek_mvl/mxv + .byte PAN , c_v+0 + .byte W12 + .byte N04 + .byte W08 + .byte N16 + .byte W24 + .byte W96 + .byte W96 + .byte N04 , Cs5 + .byte W16 + .byte An4 + .byte W08 + .byte N16 + .byte W24 + .byte N04 , Fs5 + .byte W16 + .byte An4 + .byte W08 + .byte N16 + .byte W24 + .byte N04 , Cs5 + .byte W16 + .byte An4 + .byte W08 + .byte N16 + .byte W24 + .byte N04 , Bn4 + .byte W16 + .byte An4 + .byte W08 + .byte N16 , Gs4 + .byte W24 + .byte N04 , Cs5 + .byte W08 + .byte An4 + .byte W08 + .byte N04 + .byte W08 + .byte N12 + .byte W16 + .byte N04 , En4 + .byte W08 + .byte Fs5 + .byte W16 + .byte An4 + .byte W08 + .byte N04 + .byte W16 + .byte En5 + .byte W08 + .byte Dn5 + .byte W16 + .byte Bn4 + .byte W08 + .byte N12 , An4 + .byte W16 + .byte N04 , Gs4 + .byte W08 + .byte An4 + .byte W16 + .byte N04 + .byte W08 + .byte N16 + .byte W24 + .byte W96 + .byte W96 + .byte GOTO + .word mus_tsuretek_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_tsuretek: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_tsuretek_pri @ Priority + .byte mus_tsuretek_rev @ Reverb. + + .word mus_tsuretek_grp + + .word mus_tsuretek_1 + .word mus_tsuretek_2 + .word mus_tsuretek_3 + .word mus_tsuretek_4 + .word mus_tsuretek_5 + .word mus_tsuretek_6 + .word mus_tsuretek_7 + .word mus_tsuretek_8 + + .end diff --git a/sound/songs/mus_vs_front.s b/sound/songs/mus_vs_front.s new file mode 100644 index 0000000000..0282b51801 --- /dev/null +++ b/sound/songs/mus_vs_front.s @@ -0,0 +1,7916 @@ + .include "MPlayDef.s" + + .equ mus_vs_front_grp, voicegroup_8699854 + .equ mus_vs_front_pri, 1 + .equ mus_vs_front_rev, reverb_set+50 + .equ mus_vs_front_mvl, 127 + .equ mus_vs_front_key, 0 + .equ mus_vs_front_tbs, 1 + .equ mus_vs_front_exg, 0 + .equ mus_vs_front_cmp, 1 + + .section .rodata + .global mus_vs_front + .align 2 + +@********************** Track 1 **********************@ + +mus_vs_front_1: + .byte KEYSH , mus_vs_front_key+0 + .byte TEMPO , 190*mus_vs_front_tbs/2 + .byte VOICE , 24 + .byte LFOS , 44 + .byte VOL , 78*mus_vs_front_mvl/mxv + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 87*mus_vs_front_mvl/mxv + .byte PAN , c_v+13 + .byte W12 + .byte W72 + .byte N08 , Bn3 , v112 + .byte W08 + .byte Fn4 + .byte W08 + .byte Bn4 + .byte W08 + .byte VOL , 59*mus_vs_front_mvl/mxv + .byte PAN , c_v+32 + .byte N24 , Dn5 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte PAN , c_v-16 + .byte MOD , 0 + .byte N24 , Cs5 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte PAN , c_v+32 + .byte MOD , 0 + .byte N24 , Cn5 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte PAN , c_v-16 + .byte MOD , 0 + .byte N24 , Bn4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte PAN , c_v+32 + .byte MOD , 0 + .byte N24 , As4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte PAN , c_v-16 + .byte MOD , 0 + .byte N24 , An4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte PAN , c_v+32 + .byte MOD , 0 + .byte N24 , Gs4 + .byte W12 + .byte MOD , 5 + .byte W12 + .byte VOICE , 56 + .byte VOL , 90*mus_vs_front_mvl/mxv + .byte PAN , c_v+12 + .byte MOD , 0 + .byte N03 , En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte MOD , 5 + .byte N03 , En4 + .byte W06 + .byte Dn4 + .byte W06 +mus_vs_front_1_B1: + .byte VOICE , 56 + .byte VOL , 90*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v+16 + .byte N06 , An4 , v112 + .byte W12 + .byte An3 + .byte W12 + .byte An4 , v064 + .byte W12 + .byte An3 + .byte W12 + .byte An4 , v032 + .byte W12 + .byte An3 + .byte W12 + .byte An4 , v016 + .byte W12 + .byte An3 + .byte W12 + .byte W96 + .byte W96 + .byte VOL , 79*mus_vs_front_mvl/mxv + .byte N02 , An4 , v088 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N03 , En4 , v112 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N06 , An4 + .byte W12 + .byte An3 + .byte W12 + .byte An4 , v064 + .byte W12 + .byte An3 + .byte W12 + .byte An4 , v032 + .byte W12 + .byte An3 + .byte W12 + .byte An4 , v016 + .byte W12 + .byte An3 + .byte W12 + .byte W96 + .byte W96 + .byte N02 , Gs4 , v088 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N03 , Gs4 , v112 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N06 , Bn4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Bn4 , v064 + .byte W12 + .byte MOD , 5 + .byte N06 , Bn3 + .byte W12 + .byte MOD , 0 + .byte N06 , Bn4 , v032 + .byte W12 + .byte Bn3 + .byte W12 + .byte Bn4 , v016 + .byte W12 + .byte MOD , 5 + .byte N06 , Bn3 + .byte W12 + .byte MOD , 0 + .byte W36 + .byte 5 + .byte W12 + .byte 0 + .byte W36 + .byte 5 + .byte W12 + .byte 0 + .byte W90 + .byte 5 + .byte W06 + .byte 0 + .byte W90 + .byte 5 + .byte W06 + .byte 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte VOICE , 24 + .byte VOL , 68*mus_vs_front_mvl/mxv + .byte PAN , c_v-16 + .byte W12 + .byte N06 , En4 , v104 + .byte W06 + .byte Fs4 + .byte W06 + .byte N12 , Gs4 + .byte W12 + .byte Cs4 + .byte W22 + .byte PAN , c_v+4 + .byte W02 + .byte N36 , Cs5 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte PAN , c_v+24 + .byte MOD , 0 + .byte N24 , En5 + .byte W12 + .byte VOL , 56*mus_vs_front_mvl/mxv + .byte MOD , 9 + .byte W12 + .byte PAN , c_v+0 + .byte VOL , 68*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte VOICE , 48 + .byte N06 , En4 , v108 + .byte W06 + .byte Fs4 + .byte W06 + .byte N24 , Gs4 + .byte W12 + .byte VOL , 56*mus_vs_front_mvl/mxv + .byte W12 + .byte 68*mus_vs_front_mvl/mxv + .byte N24 , Fs4 + .byte W12 + .byte VOL , 56*mus_vs_front_mvl/mxv + .byte W12 + .byte 68*mus_vs_front_mvl/mxv + .byte N24 , En4 + .byte W12 + .byte VOL , 56*mus_vs_front_mvl/mxv + .byte W12 + .byte 68*mus_vs_front_mvl/mxv + .byte N12 , Ds4 + .byte W12 + .byte En4 + .byte W12 + .byte Ds4 + .byte W12 + .byte Cs4 + .byte W12 + .byte N48 , Ds4 + .byte W12 + .byte VOL , 65*mus_vs_front_mvl/mxv + .byte W02 + .byte 64*mus_vs_front_mvl/mxv + .byte W04 + .byte 60*mus_vs_front_mvl/mxv + .byte W02 + .byte 58*mus_vs_front_mvl/mxv + .byte W04 + .byte 56*mus_vs_front_mvl/mxv + .byte W02 + .byte 53*mus_vs_front_mvl/mxv + .byte W04 + .byte 50*mus_vs_front_mvl/mxv + .byte W02 + .byte 47*mus_vs_front_mvl/mxv + .byte W04 + .byte 45*mus_vs_front_mvl/mxv + .byte W02 + .byte 41*mus_vs_front_mvl/mxv + .byte W04 + .byte 38*mus_vs_front_mvl/mxv + .byte W02 + .byte 34*mus_vs_front_mvl/mxv + .byte W04 + .byte 68*mus_vs_front_mvl/mxv + .byte W72 + .byte VOICE , 24 + .byte VOL , 68*mus_vs_front_mvl/mxv + .byte PAN , c_v-12 + .byte W12 + .byte N06 , Ds4 , v104 + .byte W06 + .byte En4 + .byte W06 + .byte N12 , Fs4 + .byte W12 + .byte Bn3 + .byte W22 + .byte PAN , c_v+6 + .byte W02 + .byte N36 , Bn4 + .byte W12 + .byte MOD , 8 + .byte W24 + .byte PAN , c_v+16 + .byte MOD , 0 + .byte N24 , Ds5 + .byte W12 + .byte VOL , 56*mus_vs_front_mvl/mxv + .byte MOD , 9 + .byte W12 + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte VOL , 68*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte N06 , Ds4 , v108 + .byte W06 + .byte En4 + .byte W06 + .byte N24 , Fs4 + .byte W12 + .byte VOL , 56*mus_vs_front_mvl/mxv + .byte W12 + .byte 68*mus_vs_front_mvl/mxv + .byte N24 , Bn4 + .byte W12 + .byte VOL , 56*mus_vs_front_mvl/mxv + .byte W12 + .byte 68*mus_vs_front_mvl/mxv + .byte N24 , An4 + .byte W12 + .byte VOL , 56*mus_vs_front_mvl/mxv + .byte W12 + .byte 68*mus_vs_front_mvl/mxv + .byte N12 , Gs4 + .byte W12 + .byte An4 + .byte W12 + .byte Gs4 + .byte W12 + .byte Fs4 + .byte W12 + .byte N48 , Gs4 + .byte W12 + .byte VOL , 64*mus_vs_front_mvl/mxv + .byte W02 + .byte 60*mus_vs_front_mvl/mxv + .byte W06 + .byte 57*mus_vs_front_mvl/mxv + .byte W04 + .byte 55*mus_vs_front_mvl/mxv + .byte W02 + .byte 53*mus_vs_front_mvl/mxv + .byte W04 + .byte 49*mus_vs_front_mvl/mxv + .byte W02 + .byte 44*mus_vs_front_mvl/mxv + .byte W04 + .byte 41*mus_vs_front_mvl/mxv + .byte W02 + .byte 38*mus_vs_front_mvl/mxv + .byte W04 + .byte 34*mus_vs_front_mvl/mxv + .byte W02 + .byte 31*mus_vs_front_mvl/mxv + .byte W04 + .byte 68*mus_vs_front_mvl/mxv + .byte W72 + .byte VOICE , 56 + .byte VOL , 90*mus_vs_front_mvl/mxv + .byte W12 + .byte N06 , Gs4 , v112 + .byte W06 + .byte Bn4 + .byte W06 + .byte N12 , Cs5 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , En5 + .byte W24 + .byte Ds5 + .byte W24 + .byte VOICE , 48 + .byte VOL , 54*mus_vs_front_mvl/mxv + .byte N48 , Dn5 + .byte W48 + .byte Cs5 + .byte W48 + .byte Cn5 + .byte W48 + .byte Bn4 + .byte W48 + .byte N24 , Dn5 + .byte W24 + .byte Cs5 + .byte W24 + .byte Cn5 + .byte W24 + .byte Bn4 + .byte W24 + .byte N06 , Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gn3 + .byte W06 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W72 + .byte VOL , 56*mus_vs_front_mvl/mxv + .byte W06 + .byte N06 , An4 , v116 + .byte W06 + .byte Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte PAN , c_v-1 + .byte VOL , 56*mus_vs_front_mvl/mxv + .byte N06 , En5 + .byte W18 + .byte N03 , An4 + .byte W06 + .byte N72 + .byte W24 + .byte VOL , 53*mus_vs_front_mvl/mxv + .byte W02 + .byte 52*mus_vs_front_mvl/mxv + .byte W04 + .byte 51*mus_vs_front_mvl/mxv + .byte W02 + .byte 49*mus_vs_front_mvl/mxv + .byte W06 + .byte 47*mus_vs_front_mvl/mxv + .byte W04 + .byte 45*mus_vs_front_mvl/mxv + .byte W02 + .byte 43*mus_vs_front_mvl/mxv + .byte W04 + .byte 41*mus_vs_front_mvl/mxv + .byte W02 + .byte 38*mus_vs_front_mvl/mxv + .byte W04 + .byte 38*mus_vs_front_mvl/mxv + .byte W02 + .byte 34*mus_vs_front_mvl/mxv + .byte W04 + .byte 32*mus_vs_front_mvl/mxv + .byte W02 + .byte 30*mus_vs_front_mvl/mxv + .byte W04 + .byte 26*mus_vs_front_mvl/mxv + .byte W02 + .byte 24*mus_vs_front_mvl/mxv + .byte W04 + .byte 56*mus_vs_front_mvl/mxv + .byte N24 , En5 + .byte W24 + .byte Dn5 + .byte W24 + .byte Cn5 + .byte W24 + .byte Dn5 + .byte W24 + .byte N06 , Bn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte An4 + .byte W06 + .byte N72 , Bn4 + .byte W24 + .byte VOL , 53*mus_vs_front_mvl/mxv + .byte W02 + .byte 53*mus_vs_front_mvl/mxv + .byte W06 + .byte 51*mus_vs_front_mvl/mxv + .byte W04 + .byte 50*mus_vs_front_mvl/mxv + .byte W02 + .byte 49*mus_vs_front_mvl/mxv + .byte W04 + .byte 46*mus_vs_front_mvl/mxv + .byte W02 + .byte 44*mus_vs_front_mvl/mxv + .byte W04 + .byte 42*mus_vs_front_mvl/mxv + .byte W02 + .byte 40*mus_vs_front_mvl/mxv + .byte W04 + .byte 38*mus_vs_front_mvl/mxv + .byte W02 + .byte 34*mus_vs_front_mvl/mxv + .byte W04 + .byte 30*mus_vs_front_mvl/mxv + .byte W02 + .byte 28*mus_vs_front_mvl/mxv + .byte W04 + .byte 26*mus_vs_front_mvl/mxv + .byte W02 + .byte 25*mus_vs_front_mvl/mxv + .byte W04 + .byte 56*mus_vs_front_mvl/mxv + .byte W78 + .byte N06 , Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Dn5 + .byte W18 + .byte N03 , Gn4 + .byte W06 + .byte N72 + .byte W24 + .byte VOL , 52*mus_vs_front_mvl/mxv + .byte W02 + .byte 49*mus_vs_front_mvl/mxv + .byte W04 + .byte 48*mus_vs_front_mvl/mxv + .byte W02 + .byte 45*mus_vs_front_mvl/mxv + .byte W04 + .byte 43*mus_vs_front_mvl/mxv + .byte W02 + .byte 41*mus_vs_front_mvl/mxv + .byte W04 + .byte 39*mus_vs_front_mvl/mxv + .byte W02 + .byte 38*mus_vs_front_mvl/mxv + .byte W04 + .byte 36*mus_vs_front_mvl/mxv + .byte W02 + .byte 34*mus_vs_front_mvl/mxv + .byte W04 + .byte 32*mus_vs_front_mvl/mxv + .byte W02 + .byte 30*mus_vs_front_mvl/mxv + .byte W04 + .byte 27*mus_vs_front_mvl/mxv + .byte W02 + .byte 24*mus_vs_front_mvl/mxv + .byte W04 + .byte 21*mus_vs_front_mvl/mxv + .byte W02 + .byte 19*mus_vs_front_mvl/mxv + .byte W04 + .byte 56*mus_vs_front_mvl/mxv + .byte N24 , Bn4 + .byte W24 + .byte Gn4 + .byte W24 + .byte Gn5 + .byte W24 + .byte Fn5 + .byte W24 + .byte N06 , En5 + .byte W06 + .byte Fn5 + .byte W06 + .byte En5 + .byte W06 + .byte Dn5 + .byte W06 + .byte N48 , En5 + .byte W24 + .byte VOL , 50*mus_vs_front_mvl/mxv + .byte W02 + .byte 47*mus_vs_front_mvl/mxv + .byte W04 + .byte 45*mus_vs_front_mvl/mxv + .byte W02 + .byte 41*mus_vs_front_mvl/mxv + .byte W04 + .byte 36*mus_vs_front_mvl/mxv + .byte W02 + .byte 31*mus_vs_front_mvl/mxv + .byte W04 + .byte 25*mus_vs_front_mvl/mxv + .byte W02 + .byte 24*mus_vs_front_mvl/mxv + .byte W04 + .byte 56*mus_vs_front_mvl/mxv + .byte W24 + .byte W72 + .byte N08 , An4 + .byte W08 + .byte Bn4 + .byte W08 + .byte Cn5 + .byte W08 + .byte N06 , En5 + .byte W18 + .byte N03 , An4 + .byte W06 + .byte N72 + .byte W72 + .byte PAN , c_v-22 + .byte N12 , Fn3 , v112 + .byte W12 + .byte Cn3 + .byte W24 + .byte Fn3 + .byte W24 + .byte An3 + .byte W12 + .byte PAN , c_v+0 + .byte N08 , An4 , v116 + .byte W08 + .byte Bn4 + .byte W08 + .byte Cn5 + .byte W08 + .byte PAN , c_v+0 + .byte N06 , En5 + .byte W18 + .byte N03 , An4 + .byte W06 + .byte N72 + .byte W72 + .byte PAN , c_v-22 + .byte N12 , Fs3 , v112 + .byte W12 + .byte Cn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte An3 + .byte W24 + .byte Cn4 + .byte W12 + .byte PAN , c_v-1 + .byte W96 + .byte W72 + .byte VOL , 90*mus_vs_front_mvl/mxv + .byte PAN , c_v+13 + .byte N03 , En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte GOTO + .word mus_vs_front_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_vs_front_2: + .byte KEYSH , mus_vs_front_key+0 + .byte VOICE , 60 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 80*mus_vs_front_mvl/mxv + .byte W12 + .byte W96 + .byte W96 + .byte W48 + .byte VOICE , 56 + .byte W24 + .byte PAN , c_v-32 + .byte N03 , Gs3 , v112 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W06 +mus_vs_front_2_B1: + .byte VOL , 80*mus_vs_front_mvl/mxv + .byte N06 , En4 , v112 + .byte W12 + .byte En3 + .byte W12 + .byte En4 , v064 + .byte W12 + .byte En3 + .byte W12 + .byte En4 , v032 + .byte W12 + .byte En3 + .byte W12 + .byte En4 , v016 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v-32 + .byte W96 + .byte W96 + .byte c_v-32 + .byte VOL , 80*mus_vs_front_mvl/mxv + .byte N02 , En4 , v088 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N03 , Gs3 , v112 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N06 , En4 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , En4 , v064 + .byte W12 + .byte En3 + .byte W12 + .byte En4 , v032 + .byte W12 + .byte En3 + .byte W12 + .byte En4 , v016 + .byte W12 + .byte En3 + .byte W12 + .byte W96 + .byte W96 + .byte N02 , En4 , v088 + .byte W08 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N03 , En4 , v112 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N06 , Gs4 + .byte W12 + .byte Gs3 + .byte W12 + .byte Gs4 , v064 + .byte W12 + .byte Gs3 + .byte W12 + .byte Gs4 , v032 + .byte W12 + .byte Gs3 + .byte W12 + .byte Gs4 , v016 + .byte W12 + .byte Gs3 + .byte W12 + .byte W96 + .byte W96 + .byte VOICE , 46 + .byte VOL , 50*mus_vs_front_mvl/mxv + .byte PAN , c_v-32 + .byte N04 , Bn3 , v112 + .byte W04 + .byte Ds4 + .byte W04 + .byte Fs4 + .byte W04 + .byte An4 + .byte W04 + .byte Bn4 + .byte W04 + .byte Cs5 + .byte W04 + .byte Ds5 + .byte W04 + .byte Fs5 + .byte W04 + .byte An5 + .byte W04 + .byte Bn5 + .byte W03 + .byte PAN , c_v+16 + .byte W01 + .byte N04 , Cs6 + .byte W04 + .byte Ds6 + .byte W04 + .byte PAN , c_v+31 + .byte N04 , Fs6 + .byte W04 + .byte Ds6 + .byte W04 + .byte Cs6 + .byte W04 + .byte Bn5 + .byte W04 + .byte An5 + .byte W04 + .byte Fs5 + .byte W04 + .byte PAN , c_v-16 + .byte N04 , Ds5 + .byte W04 + .byte Cs5 + .byte W04 + .byte Bn4 + .byte W04 + .byte PAN , c_v-23 + .byte N04 , An4 + .byte W04 + .byte Fs4 + .byte W04 + .byte Ds4 + .byte W04 + .byte VOICE , 48 + .byte VOL , 59*mus_vs_front_mvl/mxv + .byte PAN , c_v+4 + .byte W12 + .byte N36 , En4 , v116 + .byte W24 + .byte MOD , 6 + .byte VOL , 49*mus_vs_front_mvl/mxv + .byte W02 + .byte 40*mus_vs_front_mvl/mxv + .byte W04 + .byte 26*mus_vs_front_mvl/mxv + .byte W02 + .byte 25*mus_vs_front_mvl/mxv + .byte W01 + .byte 17*mus_vs_front_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 60*mus_vs_front_mvl/mxv + .byte N12 , Fs4 + .byte W24 + .byte Gs4 + .byte W24 + .byte An4 + .byte W12 + .byte N36 , Gs4 + .byte W24 + .byte MOD , 5 + .byte VOL , 49*mus_vs_front_mvl/mxv + .byte W02 + .byte 40*mus_vs_front_mvl/mxv + .byte W04 + .byte 26*mus_vs_front_mvl/mxv + .byte W02 + .byte 25*mus_vs_front_mvl/mxv + .byte W01 + .byte 17*mus_vs_front_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 60*mus_vs_front_mvl/mxv + .byte N12 , An4 + .byte W24 + .byte N24 , Bn4 + .byte W24 + .byte N96 , Gs4 + .byte W48 + .byte VOL , 55*mus_vs_front_mvl/mxv + .byte W02 + .byte 53*mus_vs_front_mvl/mxv + .byte W04 + .byte 48*mus_vs_front_mvl/mxv + .byte W02 + .byte 48*mus_vs_front_mvl/mxv + .byte W04 + .byte 45*mus_vs_front_mvl/mxv + .byte W02 + .byte 43*mus_vs_front_mvl/mxv + .byte W04 + .byte 43*mus_vs_front_mvl/mxv + .byte W02 + .byte 40*mus_vs_front_mvl/mxv + .byte W04 + .byte 37*mus_vs_front_mvl/mxv + .byte W02 + .byte 36*mus_vs_front_mvl/mxv + .byte W04 + .byte 34*mus_vs_front_mvl/mxv + .byte W02 + .byte 31*mus_vs_front_mvl/mxv + .byte W04 + .byte 30*mus_vs_front_mvl/mxv + .byte W02 + .byte 26*mus_vs_front_mvl/mxv + .byte W04 + .byte 24*mus_vs_front_mvl/mxv + .byte W02 + .byte 21*mus_vs_front_mvl/mxv + .byte W04 + .byte 60*mus_vs_front_mvl/mxv + .byte N96 , En4 + .byte W48 + .byte VOL , 55*mus_vs_front_mvl/mxv + .byte W02 + .byte 53*mus_vs_front_mvl/mxv + .byte W04 + .byte 48*mus_vs_front_mvl/mxv + .byte W02 + .byte 48*mus_vs_front_mvl/mxv + .byte W04 + .byte 45*mus_vs_front_mvl/mxv + .byte W02 + .byte 43*mus_vs_front_mvl/mxv + .byte W04 + .byte 43*mus_vs_front_mvl/mxv + .byte W02 + .byte 40*mus_vs_front_mvl/mxv + .byte W04 + .byte 37*mus_vs_front_mvl/mxv + .byte W02 + .byte 36*mus_vs_front_mvl/mxv + .byte W04 + .byte 34*mus_vs_front_mvl/mxv + .byte W02 + .byte 31*mus_vs_front_mvl/mxv + .byte W04 + .byte 30*mus_vs_front_mvl/mxv + .byte W02 + .byte 26*mus_vs_front_mvl/mxv + .byte W04 + .byte 24*mus_vs_front_mvl/mxv + .byte W02 + .byte 21*mus_vs_front_mvl/mxv + .byte W04 + .byte 60*mus_vs_front_mvl/mxv + .byte W12 + .byte N36 + .byte W24 + .byte VOL , 48*mus_vs_front_mvl/mxv + .byte MOD , 5 + .byte W02 + .byte VOL , 35*mus_vs_front_mvl/mxv + .byte W04 + .byte 27*mus_vs_front_mvl/mxv + .byte W02 + .byte 24*mus_vs_front_mvl/mxv + .byte W01 + .byte 20*mus_vs_front_mvl/mxv + .byte W03 + .byte 60*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte N12 , Fs4 + .byte W24 + .byte N24 , Gs4 + .byte W24 + .byte N12 , An4 + .byte W12 + .byte N24 , Gs4 + .byte W24 + .byte N12 , An4 + .byte W24 + .byte N36 , Bn4 + .byte W24 + .byte VOL , 48*mus_vs_front_mvl/mxv + .byte MOD , 5 + .byte W02 + .byte VOL , 37*mus_vs_front_mvl/mxv + .byte W04 + .byte 30*mus_vs_front_mvl/mxv + .byte W02 + .byte 25*mus_vs_front_mvl/mxv + .byte W04 + .byte VOICE , 60 + .byte PAN , c_v+7 + .byte MOD , 0 + .byte VOL , 68*mus_vs_front_mvl/mxv + .byte N12 , En4 , v112 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte W12 + .byte W12 + .byte N36 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 60*mus_vs_front_mvl/mxv + .byte W02 + .byte 53*mus_vs_front_mvl/mxv + .byte W04 + .byte 43*mus_vs_front_mvl/mxv + .byte W02 + .byte 35*mus_vs_front_mvl/mxv + .byte W01 + .byte 34*mus_vs_front_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 68*mus_vs_front_mvl/mxv + .byte N12 , En4 + .byte W24 + .byte Bn3 + .byte W24 + .byte En4 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte W12 + .byte W12 + .byte N36 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 60*mus_vs_front_mvl/mxv + .byte W02 + .byte 53*mus_vs_front_mvl/mxv + .byte W04 + .byte 43*mus_vs_front_mvl/mxv + .byte W02 + .byte 35*mus_vs_front_mvl/mxv + .byte W01 + .byte 34*mus_vs_front_mvl/mxv + .byte W03 + .byte 68*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte N12 , En4 + .byte W24 + .byte Fs4 + .byte W24 + .byte En4 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte W24 + .byte N12 + .byte W36 + .byte Ds4 + .byte W06 + .byte MOD , 6 + .byte W06 + .byte 0 + .byte N12 , Cs4 + .byte W12 + .byte W12 + .byte N36 , Ds4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 60*mus_vs_front_mvl/mxv + .byte W02 + .byte 53*mus_vs_front_mvl/mxv + .byte W04 + .byte 43*mus_vs_front_mvl/mxv + .byte W02 + .byte 35*mus_vs_front_mvl/mxv + .byte W01 + .byte 34*mus_vs_front_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 68*mus_vs_front_mvl/mxv + .byte N12 , En4 + .byte W24 + .byte N24 , Fs4 + .byte W24 + .byte N96 , Gs4 + .byte W36 + .byte MOD , 6 + .byte W12 + .byte VOL , 60*mus_vs_front_mvl/mxv + .byte W02 + .byte 58*mus_vs_front_mvl/mxv + .byte W04 + .byte 55*mus_vs_front_mvl/mxv + .byte W02 + .byte 54*mus_vs_front_mvl/mxv + .byte W04 + .byte 53*mus_vs_front_mvl/mxv + .byte W02 + .byte 50*mus_vs_front_mvl/mxv + .byte W04 + .byte 48*mus_vs_front_mvl/mxv + .byte W02 + .byte 46*mus_vs_front_mvl/mxv + .byte W04 + .byte 43*mus_vs_front_mvl/mxv + .byte W02 + .byte 41*mus_vs_front_mvl/mxv + .byte W04 + .byte 38*mus_vs_front_mvl/mxv + .byte W02 + .byte 31*mus_vs_front_mvl/mxv + .byte W04 + .byte 26*mus_vs_front_mvl/mxv + .byte W02 + .byte 19*mus_vs_front_mvl/mxv + .byte W04 + .byte 16*mus_vs_front_mvl/mxv + .byte W02 + .byte 14*mus_vs_front_mvl/mxv + .byte W04 + .byte 68*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte W72 + .byte VOL , 59*mus_vs_front_mvl/mxv + .byte PAN , c_v-25 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N12 , Cs3 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 +mus_vs_front_2_000: + .byte W12 + .byte N12 , Cs3 , v112 + .byte W36 + .byte Bn2 + .byte W24 + .byte N24 , Dn3 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte PEND +mus_vs_front_2_001: + .byte MOD , 0 + .byte N12 , Cs3 , v112 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte PEND + .byte W12 + .byte N12 + .byte W36 + .byte Dn3 + .byte W24 + .byte N24 , Bn2 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte PATT + .word mus_vs_front_2_001 + .byte PATT + .word mus_vs_front_2_000 +mus_vs_front_2_002: + .byte MOD , 0 + .byte N12 , Bn2 , v112 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte PEND + .byte W12 + .byte N36 , Fs2 + .byte W24 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N24 , Bn2 + .byte W24 + .byte Ds3 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte PATT + .word mus_vs_front_2_002 + .byte N12 , Bn2 , v112 + .byte W36 + .byte N12 + .byte W36 + .byte N24 , Cn3 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte PATT + .word mus_vs_front_2_001 + .byte W12 + .byte N12 , Cs3 , v112 + .byte W36 + .byte N24 , Dn3 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N24 , Bn2 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N12 , Gs4 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 7 + .byte W06 + .byte 0 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , An4 + .byte W24 + .byte Gs4 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 48 + .byte PAN , c_v+4 + .byte VOL , 59*mus_vs_front_mvl/mxv + .byte W12 + .byte N36 , Cn4 + .byte W24 + .byte VOL , 49*mus_vs_front_mvl/mxv + .byte W02 + .byte 40*mus_vs_front_mvl/mxv + .byte W04 + .byte 26*mus_vs_front_mvl/mxv + .byte W02 + .byte 25*mus_vs_front_mvl/mxv + .byte W01 + .byte 17*mus_vs_front_mvl/mxv + .byte W03 + .byte 60*mus_vs_front_mvl/mxv + .byte N12 , Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte Fn4 + .byte W12 + .byte N36 , En4 + .byte W24 + .byte VOL , 49*mus_vs_front_mvl/mxv + .byte W02 + .byte 40*mus_vs_front_mvl/mxv + .byte W04 + .byte 26*mus_vs_front_mvl/mxv + .byte W02 + .byte 25*mus_vs_front_mvl/mxv + .byte W01 + .byte 17*mus_vs_front_mvl/mxv + .byte W03 + .byte 60*mus_vs_front_mvl/mxv + .byte N12 , Fn4 + .byte W24 + .byte N24 , Gn4 + .byte W24 + .byte N96 , En4 + .byte W48 + .byte VOL , 55*mus_vs_front_mvl/mxv + .byte W02 + .byte 53*mus_vs_front_mvl/mxv + .byte W04 + .byte 48*mus_vs_front_mvl/mxv + .byte W02 + .byte 48*mus_vs_front_mvl/mxv + .byte W04 + .byte 45*mus_vs_front_mvl/mxv + .byte W02 + .byte 43*mus_vs_front_mvl/mxv + .byte W04 + .byte 43*mus_vs_front_mvl/mxv + .byte W02 + .byte 40*mus_vs_front_mvl/mxv + .byte W04 + .byte 37*mus_vs_front_mvl/mxv + .byte W02 + .byte 36*mus_vs_front_mvl/mxv + .byte W04 + .byte 34*mus_vs_front_mvl/mxv + .byte W02 + .byte 31*mus_vs_front_mvl/mxv + .byte W04 + .byte 30*mus_vs_front_mvl/mxv + .byte W02 + .byte 26*mus_vs_front_mvl/mxv + .byte W04 + .byte 24*mus_vs_front_mvl/mxv + .byte W02 + .byte 21*mus_vs_front_mvl/mxv + .byte W04 + .byte 60*mus_vs_front_mvl/mxv + .byte N96 , Cn4 + .byte W48 + .byte VOL , 55*mus_vs_front_mvl/mxv + .byte W02 + .byte 53*mus_vs_front_mvl/mxv + .byte W04 + .byte 48*mus_vs_front_mvl/mxv + .byte W02 + .byte 48*mus_vs_front_mvl/mxv + .byte W04 + .byte 45*mus_vs_front_mvl/mxv + .byte W02 + .byte 43*mus_vs_front_mvl/mxv + .byte W04 + .byte 43*mus_vs_front_mvl/mxv + .byte W02 + .byte 40*mus_vs_front_mvl/mxv + .byte W04 + .byte 37*mus_vs_front_mvl/mxv + .byte W02 + .byte 36*mus_vs_front_mvl/mxv + .byte W04 + .byte 34*mus_vs_front_mvl/mxv + .byte W02 + .byte 31*mus_vs_front_mvl/mxv + .byte W04 + .byte 30*mus_vs_front_mvl/mxv + .byte W02 + .byte 26*mus_vs_front_mvl/mxv + .byte W04 + .byte 24*mus_vs_front_mvl/mxv + .byte W02 + .byte 21*mus_vs_front_mvl/mxv + .byte W04 + .byte 60*mus_vs_front_mvl/mxv + .byte W12 + .byte N36 + .byte W24 + .byte VOL , 48*mus_vs_front_mvl/mxv + .byte W02 + .byte 35*mus_vs_front_mvl/mxv + .byte W04 + .byte 27*mus_vs_front_mvl/mxv + .byte W02 + .byte 24*mus_vs_front_mvl/mxv + .byte W01 + .byte 20*mus_vs_front_mvl/mxv + .byte W03 + .byte 60*mus_vs_front_mvl/mxv + .byte N12 , Dn4 + .byte W24 + .byte N24 , En4 + .byte W24 + .byte N12 , Fn4 + .byte W12 + .byte N24 , En4 + .byte W24 + .byte N12 , Fn4 + .byte W24 + .byte N36 , Gn4 + .byte W12 + .byte MOD , 3 + .byte W12 + .byte VOL , 48*mus_vs_front_mvl/mxv + .byte W02 + .byte 37*mus_vs_front_mvl/mxv + .byte W04 + .byte 30*mus_vs_front_mvl/mxv + .byte W02 + .byte 25*mus_vs_front_mvl/mxv + .byte W04 + .byte VOICE , 60 + .byte VOL , 56*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte N12 , Cn5 , v108 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W12 + .byte N36 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 47*mus_vs_front_mvl/mxv + .byte W02 + .byte 38*mus_vs_front_mvl/mxv + .byte W04 + .byte 27*mus_vs_front_mvl/mxv + .byte W02 + .byte 20*mus_vs_front_mvl/mxv + .byte W04 + .byte 56*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte N12 , Cn5 + .byte W24 + .byte Gn4 + .byte W24 + .byte Cn5 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W12 + .byte N36 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 47*mus_vs_front_mvl/mxv + .byte W02 + .byte 38*mus_vs_front_mvl/mxv + .byte W04 + .byte 27*mus_vs_front_mvl/mxv + .byte W02 + .byte 20*mus_vs_front_mvl/mxv + .byte W04 + .byte 56*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte N12 , Cn5 + .byte W24 + .byte Dn5 + .byte W24 + .byte Cn5 + .byte W36 + .byte N12 + .byte W36 + .byte Bn4 + .byte W12 + .byte An4 + .byte W12 + .byte W12 + .byte N36 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 47*mus_vs_front_mvl/mxv + .byte W02 + .byte 38*mus_vs_front_mvl/mxv + .byte W04 + .byte 27*mus_vs_front_mvl/mxv + .byte W02 + .byte 20*mus_vs_front_mvl/mxv + .byte W04 + .byte 56*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte N12 , Cn5 + .byte W24 + .byte N96 , Dn5 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte VOL , 53*mus_vs_front_mvl/mxv + .byte W02 + .byte 51*mus_vs_front_mvl/mxv + .byte W04 + .byte 49*mus_vs_front_mvl/mxv + .byte W02 + .byte 47*mus_vs_front_mvl/mxv + .byte W04 + .byte 45*mus_vs_front_mvl/mxv + .byte W02 + .byte 43*mus_vs_front_mvl/mxv + .byte W04 + .byte 41*mus_vs_front_mvl/mxv + .byte W02 + .byte 39*mus_vs_front_mvl/mxv + .byte W04 + .byte 38*mus_vs_front_mvl/mxv + .byte W02 + .byte 34*mus_vs_front_mvl/mxv + .byte W04 + .byte 32*mus_vs_front_mvl/mxv + .byte W02 + .byte 29*mus_vs_front_mvl/mxv + .byte W04 + .byte 25*mus_vs_front_mvl/mxv + .byte W02 + .byte 21*mus_vs_front_mvl/mxv + .byte W04 + .byte 19*mus_vs_front_mvl/mxv + .byte W02 + .byte 15*mus_vs_front_mvl/mxv + .byte W04 + .byte 56*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte PAN , c_v+32 + .byte W96 + .byte W96 + .byte VOICE , 60 + .byte W48 + .byte N06 , Gn3 , v092 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte N48 , Gn3 + .byte W24 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N48 + .byte W48 + .byte PAN , c_v+32 + .byte W96 + .byte W96 + .byte W72 + .byte N04 , An4 , v088 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N24 + .byte W32 + .byte N04 , Gn4 + .byte W08 + .byte N04 + .byte W08 + .byte N48 + .byte W24 + .byte VOL , 51*mus_vs_front_mvl/mxv + .byte W02 + .byte 46*mus_vs_front_mvl/mxv + .byte W04 + .byte 43*mus_vs_front_mvl/mxv + .byte W02 + .byte 40*mus_vs_front_mvl/mxv + .byte W04 + .byte 36*mus_vs_front_mvl/mxv + .byte W02 + .byte 30*mus_vs_front_mvl/mxv + .byte W04 + .byte 26*mus_vs_front_mvl/mxv + .byte W02 + .byte 26*mus_vs_front_mvl/mxv + .byte W04 + .byte 56*mus_vs_front_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 24 + .byte PAN , c_v-30 + .byte VOL , 63*mus_vs_front_mvl/mxv + .byte N08 , Bn3 , v084 + .byte W08 + .byte Fn4 + .byte W08 + .byte Bn4 + .byte W08 + .byte PAN , c_v+16 + .byte N08 , As3 + .byte W08 + .byte En4 + .byte W08 + .byte As4 + .byte W08 + .byte PAN , c_v-28 + .byte N08 , An3 + .byte W08 + .byte Ds4 + .byte W08 + .byte An4 + .byte W08 + .byte PAN , c_v+16 + .byte N08 , Gs3 + .byte W08 + .byte Dn4 + .byte W08 + .byte Gs4 + .byte W08 + .byte PAN , c_v-30 + .byte N08 , Gn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte PAN , c_v+16 + .byte N08 , Fs3 + .byte W08 + .byte Cn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte PAN , c_v-27 + .byte N08 , Fn3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Fn4 + .byte W08 + .byte VOICE , 56 + .byte PAN , c_v-32 + .byte VOL , 78*mus_vs_front_mvl/mxv + .byte N03 , Gs3 , v112 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte GOTO + .word mus_vs_front_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_vs_front_3: + .byte KEYSH , mus_vs_front_key+0 + .byte VOICE , 35 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 90*mus_vs_front_mvl/mxv + .byte W12 + .byte W96 + .byte VOICE , 33 + .byte PAN , c_v+0 + .byte N08 , Fs1 , v096 + .byte W08 + .byte Cn2 + .byte W08 + .byte Fs2 + .byte W08 + .byte Fn1 + .byte W08 + .byte Bn1 + .byte W08 + .byte Fn2 + .byte W08 + .byte En1 + .byte W08 + .byte As1 + .byte W08 + .byte En2 + .byte W08 + .byte Ds1 + .byte W08 + .byte An1 + .byte W08 + .byte Ds2 + .byte W08 + .byte Dn1 + .byte W08 + .byte Gs1 + .byte W08 + .byte Dn2 + .byte W08 + .byte Cs1 + .byte W08 + .byte Gn1 + .byte W08 + .byte Cs2 + .byte W08 + .byte Cn1 + .byte W08 + .byte Fs1 + .byte W08 + .byte Cn2 + .byte W08 + .byte VOICE , 33 + .byte PAN , c_v-1 + .byte N06 , Bn1 , v112 + .byte W06 + .byte Cn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte As1 + .byte W06 +mus_vs_front_3_B1: + .byte PAN , c_v+0 + .byte VOL , 90*mus_vs_front_mvl/mxv + .byte N06 , An1 , v127 + .byte W12 + .byte An1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte An1 , v127 + .byte W12 + .byte An1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte An1 , v127 + .byte W12 + .byte An1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte An1 , v127 + .byte W12 + .byte N12 , Bn1 , v112 + .byte W12 + .byte N06 , Ds2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N12 , Cn2 + .byte W12 + .byte N06 , An1 , v127 + .byte W12 + .byte An1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte An1 , v127 + .byte W12 + .byte An1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 +mus_vs_front_3_000: + .byte W12 + .byte N06 , An1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Cn2 + .byte W12 + .byte N12 , Dn2 + .byte W12 + .byte N06 , Ds2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N12 , As1 + .byte W12 + .byte PEND + .byte W12 + .byte N06 , An1 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte An1 , v127 + .byte W12 + .byte An1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte N06 , Ds2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N12 , Cn2 + .byte W12 + .byte N06 , An1 , v127 + .byte W12 + .byte An1 , v112 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte PATT + .word mus_vs_front_3_000 + .byte N08 , En1 , v127 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte N24 , En2 + .byte W24 + .byte N08 , En1 , v127 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte N24 , Fn2 + .byte W24 + .byte N08 , En1 , v127 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte N24 , Fs2 + .byte W24 + .byte N08 , En1 , v127 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte N24 , Gn2 , v127 + .byte W24 + .byte N06 , En1 + .byte W12 + .byte N12 , En2 , v112 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte N12 , Fn2 + .byte W12 + .byte N06 , En1 , v127 + .byte W12 + .byte N12 , Fs2 , v112 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte N12 , Gn2 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte N12 , Gs2 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte N12 , An2 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte N12 , As2 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte N12 , Bn2 + .byte W12 +mus_vs_front_3_001: + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 , En1 , v112 + .byte W12 + .byte En2 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , En1 + .byte W12 + .byte En2 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , En1 + .byte W12 + .byte En2 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , En1 + .byte W12 + .byte N06 , En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PEND +mus_vs_front_3_002: + .byte N12 , En2 , v112 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 + .byte W12 + .byte En2 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte N06 , En2 + .byte W06 + .byte Bn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Fs1 + .byte W06 + .byte PEND + .byte PATT + .word mus_vs_front_3_001 + .byte PATT + .word mus_vs_front_3_002 + .byte PATT + .word mus_vs_front_3_001 + .byte PATT + .word mus_vs_front_3_002 + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 , Dn1 , v112 + .byte W12 + .byte Dn2 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Dn1 + .byte W12 + .byte Dn2 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Dn1 + .byte W12 + .byte Dn2 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Dn1 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte N12 , Dn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 + .byte W12 + .byte Dn2 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte N06 , Dn2 + .byte W06 + .byte An1 + .byte W06 + .byte Fs1 + .byte W06 + .byte En1 + .byte W06 + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 , Cs1 + .byte W12 + .byte Cs2 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Cs1 + .byte W12 + .byte Cs2 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Cs1 + .byte W12 + .byte Cs2 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Cs1 + .byte W12 + .byte N06 , Cs2 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte Cs1 + .byte W12 + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 + .byte W12 + .byte Cs2 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte N06 , Cs2 + .byte W06 + .byte Gs1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Ds1 + .byte W06 +mus_vs_front_3_003: + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 , Cn1 , v112 + .byte W12 + .byte Cn2 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Cn1 + .byte W12 + .byte Cn2 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Cn1 + .byte W12 + .byte Cn2 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Cn1 + .byte W12 + .byte N06 , Cn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte PEND + .byte N12 + .byte W12 + .byte Bn0 + .byte W12 + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 + .byte W12 + .byte Bn1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Fs1 + .byte W12 + .byte Bn0 + .byte W12 + .byte N06 , Bn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Ds1 + .byte W06 + .byte Cs1 + .byte W06 +mus_vs_front_3_004: + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 , Cs1 , v112 + .byte W12 + .byte Gs1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Cs1 + .byte W12 + .byte Gs1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Cs1 + .byte W12 + .byte Gn1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Cs2 + .byte W12 + .byte Gn1 + .byte W12 + .byte PEND +mus_vs_front_3_005: + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 , Cs1 , v112 + .byte W12 + .byte Gn1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Cs2 + .byte W12 + .byte Gn1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , En1 + .byte W12 + .byte Fs1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N06 , En1 + .byte W06 + .byte Dn1 + .byte W06 + .byte N12 , Bn0 + .byte W12 + .byte PEND + .byte PATT + .word mus_vs_front_3_004 + .byte PATT + .word mus_vs_front_3_005 + .byte PATT + .word mus_vs_front_3_004 + .byte PATT + .word mus_vs_front_3_005 + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 , Cs1 , v112 + .byte W12 + .byte Gn1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Cs2 + .byte W12 + .byte Gn1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , En1 + .byte W12 + .byte Fs1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Dn1 + .byte W12 + .byte Bn0 + .byte W12 + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 , Cs1 + .byte W12 + .byte Gs1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Cs1 + .byte W12 + .byte Gs1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Cs1 + .byte W12 + .byte Gn1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Dn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 , Bn0 + .byte W12 + .byte Fs1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Bn1 + .byte W12 + .byte Fn1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Ds1 + .byte W12 + .byte En1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N06 , Ds1 + .byte W06 + .byte Cs1 + .byte W06 + .byte N12 , As0 + .byte W12 +mus_vs_front_3_006: + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 , Bn0 , v112 + .byte W12 + .byte Fs1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Bn0 + .byte W12 + .byte Fs1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Bn0 + .byte W12 + .byte Fn1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Bn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte PEND + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 , Bn0 + .byte W12 + .byte Fs1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Bn1 + .byte W12 + .byte Fs1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Dn1 + .byte W12 + .byte En1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N06 , Ds1 + .byte W06 + .byte Cs1 + .byte W06 + .byte N12 , As0 + .byte W12 + .byte PATT + .word mus_vs_front_3_006 + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 , Cs1 , v112 + .byte W12 + .byte Gs1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Cs2 + .byte W12 + .byte Gs1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Cs1 + .byte W12 + .byte Dn1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Bn0 + .byte W12 + .byte Dn1 + .byte W12 + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 , Cs1 + .byte W12 + .byte Gs1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Cs1 + .byte W12 + .byte Gs1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Cs1 + .byte W12 + .byte Dn1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Bn0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W24 +mus_vs_front_3_007: + .byte N12 , Gs1 , v112 + .byte W12 + .byte Cs2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte PEND +mus_vs_front_3_008: + .byte N12 , En1 , v112 + .byte W12 + .byte An1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Fs1 + .byte W12 + .byte PEND + .byte PATT + .word mus_vs_front_3_007 + .byte PATT + .word mus_vs_front_3_008 + .byte PATT + .word mus_vs_front_3_003 +mus_vs_front_3_009: + .byte N12 , Cn2 , v112 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 + .byte W12 + .byte Cn2 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N06 , Cn2 + .byte W06 + .byte Gn1 + .byte W06 + .byte En1 + .byte W06 + .byte Dn1 + .byte W06 + .byte PEND + .byte PATT + .word mus_vs_front_3_003 + .byte PATT + .word mus_vs_front_3_009 + .byte PATT + .word mus_vs_front_3_003 + .byte PATT + .word mus_vs_front_3_009 + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 , As0 , v112 + .byte W12 + .byte As1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , As0 + .byte W12 + .byte As1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , As0 + .byte W12 + .byte As1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , As0 + .byte W12 + .byte N06 , As1 + .byte W06 + .byte An1 + .byte W06 + .byte N12 , As1 + .byte W12 + .byte As0 + .byte W12 + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 + .byte W12 + .byte As1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte N06 , As1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 , An0 + .byte W12 + .byte An1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , An0 + .byte W12 + .byte An1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , An0 + .byte W12 + .byte An1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , An0 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte N12 , An1 + .byte W12 + .byte An0 + .byte W12 + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 + .byte W12 + .byte An1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , En1 + .byte W12 + .byte An0 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte En1 + .byte W06 + .byte Cs1 + .byte W06 + .byte Bn0 + .byte W06 + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 , Gs0 + .byte W12 + .byte Gs1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Gs0 + .byte W12 + .byte Gs1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Gs0 + .byte W12 + .byte Gs1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Gs0 + .byte W12 + .byte N06 , Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N12 + .byte W12 + .byte Gn0 + .byte W12 + .byte VOL , 85*mus_vs_front_mvl/mxv + .byte N12 + .byte W12 + .byte Gn1 + .byte W06 + .byte VOL , 70*mus_vs_front_mvl/mxv + .byte W06 + .byte 85*mus_vs_front_mvl/mxv + .byte N12 , Dn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte N06 , Gn1 + .byte W06 + .byte Dn1 + .byte W06 + .byte Bn0 + .byte W06 + .byte An0 + .byte W06 + .byte W96 +mus_vs_front_3_010: + .byte N12 , Fn1 , v112 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N06 , Fn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte PEND +mus_vs_front_3_011: + .byte N12 , Fn2 , v112 + .byte W12 + .byte Fn1 + .byte W24 + .byte Cn2 + .byte W24 + .byte Fn2 + .byte W24 + .byte An2 + .byte W12 + .byte PEND + .byte Fn1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Gn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte N06 , Bn1 + .byte W06 + .byte Dn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte An1 + .byte W06 + .byte N12 , Gn1 + .byte W12 + .byte Dn1 + .byte W24 + .byte Gn1 + .byte W24 + .byte Bn1 + .byte W24 + .byte Dn2 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En2 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte N06 , En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte En2 + .byte W06 + .byte Bn1 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte Bn0 + .byte W24 + .byte En1 + .byte W24 + .byte Gs1 + .byte W24 + .byte Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte Cs2 + .byte W12 + .byte An2 + .byte W12 + .byte En2 + .byte W12 + .byte An1 + .byte W12 + .byte En2 + .byte W12 + .byte N06 , Cs3 , v080 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte An2 + .byte W06 + .byte N12 , An1 , v112 + .byte W12 + .byte En1 + .byte W24 + .byte An1 + .byte W24 + .byte Cs2 + .byte W24 + .byte En2 + .byte W12 + .byte PATT + .word mus_vs_front_3_010 + .byte PATT + .word mus_vs_front_3_011 + .byte N12 , Fs1 , v112 + .byte W12 + .byte En2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fs1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N06 , Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , Fs2 + .byte W12 + .byte An1 + .byte W24 + .byte Cn2 + .byte W24 + .byte En2 + .byte W24 + .byte An2 + .byte W12 + .byte N08 , Fs1 + .byte W08 + .byte Cn2 + .byte W08 + .byte Fs2 + .byte W08 + .byte Fn1 + .byte W08 + .byte Bn1 + .byte W08 + .byte Fn2 + .byte W08 + .byte En1 + .byte W08 + .byte As1 + .byte W08 + .byte En2 + .byte W08 + .byte Ds1 + .byte W08 + .byte An1 + .byte W08 + .byte Ds2 + .byte W08 + .byte Dn1 + .byte W08 + .byte Gs1 + .byte W08 + .byte Dn2 + .byte W08 + .byte Cs1 + .byte W08 + .byte Gn1 + .byte W08 + .byte Cs2 + .byte W08 + .byte Cn1 + .byte W08 + .byte Fs1 + .byte W08 + .byte Cn2 + .byte W08 + .byte Bn1 + .byte W08 + .byte Cn2 + .byte W08 + .byte As1 + .byte W08 + .byte GOTO + .word mus_vs_front_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_vs_front_4: + .byte KEYSH , mus_vs_front_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v-20 + .byte VOL , 69*mus_vs_front_mvl/mxv + .byte BEND , c_v+2 + .byte W12 + .byte N08 , En2 , v104 + .byte W08 + .byte En2 , v080 + .byte W08 + .byte N08 + .byte W08 + .byte N23 , Bn1 , v112 + .byte W24 + .byte N08 , En2 , v104 + .byte W08 + .byte En2 , v064 + .byte W08 + .byte En2 , v068 + .byte W08 + .byte En2 , v056 + .byte W08 + .byte En2 , v032 + .byte W08 + .byte N08 + .byte W08 + .byte VOICE , 1 + .byte PAN , c_v-33 + .byte BEND , c_v+0 + .byte N08 , Bn3 , v072 + .byte W08 + .byte Fn4 + .byte W08 + .byte Bn4 + .byte W08 + .byte As3 + .byte W08 + .byte En4 + .byte W08 + .byte As4 + .byte W08 + .byte An3 + .byte W08 + .byte Ds4 + .byte W08 + .byte An4 + .byte W08 + .byte Gs3 + .byte W08 + .byte Dn4 + .byte W08 + .byte Gs4 + .byte W08 + .byte Gn3 + .byte W08 + .byte Cs4 + .byte W08 + .byte Gn4 + .byte W08 + .byte Fs3 + .byte W08 + .byte Cn4 + .byte W08 + .byte Fs4 + .byte W08 + .byte Fn3 + .byte W08 + .byte Bn3 + .byte W08 + .byte Fn4 + .byte W08 + .byte N03 , En4 , v080 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Dn4 + .byte W06 +mus_vs_front_4_B1: + .byte VOICE , 38 + .byte VOL , 89*mus_vs_front_mvl/mxv + .byte PAN , c_v+0 + .byte W24 + .byte N12 , An1 , v127 + .byte W12 + .byte Gs1 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gs1 , v040 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Bn1 , v127 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn2 , v040 + .byte W12 + .byte PAN , c_v-64 + .byte N12 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Dn2 , v127 + .byte W12 + .byte Ds2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Ds2 , v040 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Bn1 , v127 + .byte W12 + .byte Cn2 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , As1 + .byte W12 + .byte N36 , Ds2 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , Dn2 + .byte W24 + .byte Cn2 + .byte W24 + .byte N12 , Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Fn1 + .byte W12 + .byte En1 + .byte W12 + .byte N06 , Ds1 + .byte W06 + .byte Fn1 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte N12 + .byte W12 + .byte Fn1 + .byte W12 + .byte An1 + .byte W12 + .byte Gs1 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Gs1 , v040 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Bn1 , v127 + .byte W12 + .byte Cn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn2 , v040 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Cn2 , v052 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Ds2 , v127 + .byte W12 + .byte Fn2 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Fn2 , v040 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Dn2 , v127 + .byte W12 + .byte Ds2 + .byte W12 + .byte N06 , Cn2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte N36 , Gn2 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , Fn2 + .byte W24 + .byte Ds2 + .byte W24 + .byte N12 , Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Fn1 + .byte W12 + .byte En1 + .byte W12 + .byte Ds1 + .byte W12 + .byte En1 + .byte W12 + .byte VOICE , 60 + .byte VOL , 79*mus_vs_front_mvl/mxv + .byte W24 + .byte PAN , c_v-32 + .byte N24 , En3 , v064 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte W24 + .byte N24 , Fn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte W24 + .byte N24 , Fs3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte W24 + .byte N24 , Gn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte 0 + .byte W12 + .byte N12 , En3 + .byte W24 + .byte Fn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte Gn3 + .byte W06 + .byte MOD , 7 + .byte W06 + .byte 0 + .byte W12 + .byte N12 , Gs3 + .byte W24 + .byte An3 + .byte W24 + .byte As3 + .byte W24 + .byte Bn3 + .byte W06 + .byte MOD , 7 + .byte W06 + .byte VOICE , 1 + .byte PAN , c_v-24 + .byte VOL , 56*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte N12 , En4 , v108 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N06 , Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte An3 + .byte W06 + .byte N12 , En4 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte VOL , 56*mus_vs_front_mvl/mxv + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N06 , Bn3 + .byte W06 + .byte Cs4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte W12 + .byte N12 , En4 + .byte W24 + .byte Bn3 + .byte W12 + .byte En4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gs3 + .byte W12 + .byte En4 + .byte W12 + .byte W12 + .byte Gs4 + .byte W12 + .byte En4 + .byte W12 + .byte Bn4 , v100 + .byte W12 + .byte Gs4 , v108 + .byte W12 + .byte En5 , v096 + .byte W12 + .byte Bn4 , v108 + .byte W12 + .byte Gs5 , v100 + .byte W12 + .byte VOICE , 46 + .byte PAN , c_v-32 + .byte VOL , 38*mus_vs_front_mvl/mxv + .byte N03 , En4 , v112 + .byte W06 + .byte Gn4 + .byte W06 + .byte Bn4 + .byte W06 + .byte En5 + .byte W06 + .byte PAN , c_v-16 + .byte N03 , Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Bn4 + .byte W06 + .byte En5 + .byte W06 + .byte Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Bn4 + .byte W06 + .byte En5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Gn5 + .byte W06 + .byte Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte PAN , c_v+15 + .byte N03 , Bn4 + .byte W06 + .byte En5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte PAN , c_v-32 + .byte N03 , En4 + .byte W06 + .byte Bn3 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte En5 + .byte W06 + .byte PAN , c_v-17 + .byte N03 , Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , En4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte En5 + .byte W06 + .byte Fs5 + .byte W06 + .byte En5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte En5 + .byte W06 + .byte PAN , c_v+16 + .byte N03 , Gs5 + .byte W06 + .byte Bn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte En5 + .byte W06 + .byte PAN , c_v-32 + .byte N03 , Bn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte En4 + .byte W06 + .byte En5 + .byte W06 + .byte Bn4 + .byte W06 + .byte En5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Cn6 + .byte W06 + .byte An5 + .byte W06 + .byte Gn5 + .byte W06 + .byte En5 + .byte W06 + .byte PAN , c_v-16 + .byte N03 , Cn5 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+31 + .byte N03 , Cn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Ds4 + .byte W06 + .byte Fs4 + .byte W06 + .byte An4 + .byte W06 + .byte PAN , c_v+15 + .byte N03 , Bn4 + .byte W06 + .byte Ds5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte PAN , c_v-32 + .byte N03 , Ds4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Ds5 + .byte W06 + .byte Fs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Cs4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Gs4 + .byte W06 + .byte PAN , c_v-16 + .byte N03 , Cs5 + .byte W06 + .byte Ds5 + .byte W06 + .byte En5 + .byte W06 + .byte Ds5 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , Cs5 + .byte W06 + .byte Gs4 + .byte W06 + .byte Fs4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v-33 + .byte N03 , Cs4 + .byte W06 + .byte Gs3 + .byte W06 + .byte Fs3 + .byte W06 + .byte En3 + .byte W06 + .byte VOL , 66*mus_vs_front_mvl/mxv + .byte PAN , c_v+32 + .byte W72 + .byte VOICE , 60 + .byte VOL , 56*mus_vs_front_mvl/mxv + .byte W12 + .byte N06 , Cs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte N12 , Gs2 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W12 + .byte N12 + .byte W36 + .byte Fs2 + .byte W24 + .byte N24 , An2 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N12 , Gs2 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W12 + .byte N12 + .byte W36 + .byte An2 + .byte W24 + .byte N24 , Fs2 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte PAN , c_v-32 + .byte VOL , 66*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 4 + .byte VOL , 37*mus_vs_front_mvl/mxv + .byte N12 , Gn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Gn3 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte PAN , c_v+23 + .byte N12 , Gn4 + .byte W12 + .byte Fs4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Fs3 + .byte W12 + .byte Cs4 + .byte W12 + .byte Bn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Fs3 + .byte W12 + .byte N08 , Gn4 + .byte W08 + .byte Bn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte PAN , c_v+24 + .byte N08 , Fs4 + .byte W08 + .byte As3 + .byte W08 + .byte Fs3 + .byte W08 + .byte PAN , c_v-33 + .byte N08 , Fn4 + .byte W08 + .byte An3 + .byte W08 + .byte Fn3 + .byte W08 + .byte PAN , c_v+23 + .byte N08 , En4 + .byte W08 + .byte Gs3 + .byte W08 + .byte En3 + .byte W08 + .byte PAN , c_v-32 + .byte N06 , Gn4 , v068 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 , v064 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 , v112 + .byte W06 + .byte Dn3 + .byte W06 + .byte VOICE , 1 + .byte PAN , c_v-22 + .byte VOL , 45*mus_vs_front_mvl/mxv + .byte W12 + .byte N12 , Cn4 , v108 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N06 , Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , Cn4 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte VOL , 46*mus_vs_front_mvl/mxv + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N06 , Gn3 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte En3 + .byte W06 + .byte W12 + .byte N12 , Cn4 + .byte W24 + .byte Gn3 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn3 + .byte W12 + .byte En3 + .byte W12 + .byte Cn4 + .byte W12 + .byte W12 + .byte En4 + .byte W12 + .byte Cn4 + .byte W12 + .byte Gn4 + .byte W12 + .byte En4 + .byte W12 + .byte Cn5 , v096 + .byte W12 + .byte Gn4 , v108 + .byte W12 + .byte En5 , v096 + .byte W12 + .byte VOICE , 46 + .byte PAN , c_v-32 + .byte VOL , 42*mus_vs_front_mvl/mxv + .byte N03 , Cn4 , v112 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte PAN , c_v-16 + .byte N03 , Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , Gn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte PAN , c_v+15 + .byte N03 , Gn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte PAN , c_v-32 + .byte N03 , Cn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte PAN , c_v-17 + .byte N03 , Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+32 + .byte N03 , Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cn4 + .byte W06 + .byte En4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte PAN , c_v+16 + .byte N03 , En5 + .byte W06 + .byte Gn5 + .byte W06 + .byte En5 + .byte W06 + .byte Cn5 + .byte W06 + .byte PAN , c_v-32 + .byte N03 , Gn4 + .byte W06 + .byte En4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Gn4 + .byte W06 + .byte Cn5 + .byte W06 + .byte Dn5 + .byte W06 + .byte En5 + .byte W06 + .byte Gs5 + .byte W06 + .byte Fn5 + .byte W06 + .byte Ds5 + .byte W06 + .byte Cn5 + .byte W06 + .byte PAN , c_v-16 + .byte N03 , Gs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cn4 + .byte W06 + .byte PAN , c_v+31 + .byte N03 , Gs3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Gn3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte PAN , c_v+15 + .byte N03 , Gn4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte PAN , c_v-32 + .byte N03 , Bn3 + .byte W06 + .byte Dn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Bn4 + .byte W06 + .byte Dn5 + .byte W06 + .byte Bn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte VOICE , 47 + .byte VOL , 78*mus_vs_front_mvl/mxv + .byte N08 , Gn2 + .byte W08 + .byte Gn2 , v080 + .byte W08 + .byte N08 + .byte W08 + .byte Dn2 , v060 + .byte W08 + .byte Gn2 , v032 + .byte W08 + .byte N08 + .byte W08 + .byte Gn2 , v112 + .byte W08 + .byte Gn2 , v080 + .byte W08 + .byte N08 + .byte W08 + .byte Dn2 , v060 + .byte W08 + .byte Gn2 , v032 + .byte W08 + .byte N08 + .byte W08 + .byte VOICE , 60 + .byte VOL , 56*mus_vs_front_mvl/mxv + .byte W48 + .byte N06 , An3 , v096 + .byte W18 + .byte N03 , Fn3 + .byte W06 + .byte N72 , Cn4 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte VOL , 48*mus_vs_front_mvl/mxv + .byte W02 + .byte 41*mus_vs_front_mvl/mxv + .byte W04 + .byte 38*mus_vs_front_mvl/mxv + .byte W02 + .byte 34*mus_vs_front_mvl/mxv + .byte W04 + .byte 29*mus_vs_front_mvl/mxv + .byte W02 + .byte 24*mus_vs_front_mvl/mxv + .byte W04 + .byte 19*mus_vs_front_mvl/mxv + .byte W02 + .byte 17*mus_vs_front_mvl/mxv + .byte W04 + .byte 56*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte N24 , Dn4 + .byte W24 + .byte N06 , Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Dn4 + .byte W06 + .byte N48 , Bn3 + .byte W24 + .byte VOL , 48*mus_vs_front_mvl/mxv + .byte MOD , 7 + .byte W02 + .byte VOL , 44*mus_vs_front_mvl/mxv + .byte W04 + .byte 40*mus_vs_front_mvl/mxv + .byte W02 + .byte 34*mus_vs_front_mvl/mxv + .byte W04 + .byte 31*mus_vs_front_mvl/mxv + .byte W02 + .byte 25*mus_vs_front_mvl/mxv + .byte W04 + .byte 22*mus_vs_front_mvl/mxv + .byte W02 + .byte 19*mus_vs_front_mvl/mxv + .byte W04 + .byte 56*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte W48 + .byte W96 + .byte VOL , 56*mus_vs_front_mvl/mxv + .byte W48 + .byte N06 + .byte W18 + .byte N03 , Gn3 + .byte W06 + .byte N72 , Dn4 + .byte W24 + .byte MOD , 6 + .byte W24 + .byte VOL , 48*mus_vs_front_mvl/mxv + .byte W02 + .byte 43*mus_vs_front_mvl/mxv + .byte W04 + .byte 39*mus_vs_front_mvl/mxv + .byte W02 + .byte 35*mus_vs_front_mvl/mxv + .byte W04 + .byte 32*mus_vs_front_mvl/mxv + .byte W02 + .byte 28*mus_vs_front_mvl/mxv + .byte W04 + .byte 22*mus_vs_front_mvl/mxv + .byte W02 + .byte 20*mus_vs_front_mvl/mxv + .byte W04 + .byte 56*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte N48 , Ds4 + .byte W24 + .byte VOL , 48*mus_vs_front_mvl/mxv + .byte MOD , 7 + .byte W02 + .byte VOL , 43*mus_vs_front_mvl/mxv + .byte W04 + .byte 39*mus_vs_front_mvl/mxv + .byte W02 + .byte 35*mus_vs_front_mvl/mxv + .byte W04 + .byte 32*mus_vs_front_mvl/mxv + .byte W02 + .byte 28*mus_vs_front_mvl/mxv + .byte W04 + .byte 22*mus_vs_front_mvl/mxv + .byte W02 + .byte 20*mus_vs_front_mvl/mxv + .byte W04 + .byte 56*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte N48 , En4 + .byte W24 + .byte VOL , 48*mus_vs_front_mvl/mxv + .byte MOD , 7 + .byte W02 + .byte VOL , 43*mus_vs_front_mvl/mxv + .byte W04 + .byte 39*mus_vs_front_mvl/mxv + .byte W02 + .byte 35*mus_vs_front_mvl/mxv + .byte W04 + .byte 32*mus_vs_front_mvl/mxv + .byte W02 + .byte 28*mus_vs_front_mvl/mxv + .byte W04 + .byte 22*mus_vs_front_mvl/mxv + .byte W02 + .byte 20*mus_vs_front_mvl/mxv + .byte W04 + .byte 56*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte N04 , Cs4 , v100 + .byte W08 + .byte N04 + .byte W08 + .byte N04 + .byte W08 + .byte N24 + .byte W32 + .byte N04 , Bn3 + .byte W08 + .byte N04 + .byte W08 + .byte N48 + .byte W24 + .byte VOL , 48*mus_vs_front_mvl/mxv + .byte MOD , 7 + .byte W02 + .byte VOL , 43*mus_vs_front_mvl/mxv + .byte W04 + .byte 39*mus_vs_front_mvl/mxv + .byte W02 + .byte 35*mus_vs_front_mvl/mxv + .byte W04 + .byte 32*mus_vs_front_mvl/mxv + .byte W02 + .byte 28*mus_vs_front_mvl/mxv + .byte W04 + .byte 22*mus_vs_front_mvl/mxv + .byte W02 + .byte 20*mus_vs_front_mvl/mxv + .byte W04 + .byte 56*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte N06 , Fn3 , v096 + .byte W18 + .byte N03 , Cn3 + .byte W06 + .byte N24 , An3 + .byte W24 + .byte N06 , Cn4 + .byte W18 + .byte N03 , An3 + .byte W06 + .byte N48 , Fn4 + .byte W24 + .byte VOL , 48*mus_vs_front_mvl/mxv + .byte MOD , 7 + .byte W02 + .byte VOL , 43*mus_vs_front_mvl/mxv + .byte W04 + .byte 39*mus_vs_front_mvl/mxv + .byte W02 + .byte 35*mus_vs_front_mvl/mxv + .byte W04 + .byte 32*mus_vs_front_mvl/mxv + .byte W02 + .byte 28*mus_vs_front_mvl/mxv + .byte W04 + .byte 22*mus_vs_front_mvl/mxv + .byte W02 + .byte 20*mus_vs_front_mvl/mxv + .byte W04 + .byte 56*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte W48 + .byte VOICE , 48 + .byte W12 + .byte N12 , Cn4 + .byte W12 + .byte N06 , Fs3 + .byte W18 + .byte N03 , Cn3 + .byte W06 + .byte N24 , An3 + .byte W24 + .byte N06 , Cn4 + .byte W18 + .byte N03 , An3 + .byte W06 + .byte N48 , Fs4 + .byte W24 + .byte VOL , 48*mus_vs_front_mvl/mxv + .byte MOD , 7 + .byte W02 + .byte VOL , 43*mus_vs_front_mvl/mxv + .byte W04 + .byte 39*mus_vs_front_mvl/mxv + .byte W02 + .byte 35*mus_vs_front_mvl/mxv + .byte W04 + .byte 32*mus_vs_front_mvl/mxv + .byte W02 + .byte 28*mus_vs_front_mvl/mxv + .byte W04 + .byte 22*mus_vs_front_mvl/mxv + .byte W02 + .byte 20*mus_vs_front_mvl/mxv + .byte W04 + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte VOL , 56*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte N48 , Cn5 , v112 + .byte W48 + .byte N96 , Dn5 + .byte W48 + .byte VOL , 52*mus_vs_front_mvl/mxv + .byte MOD , 5 + .byte W02 + .byte VOL , 50*mus_vs_front_mvl/mxv + .byte W04 + .byte 46*mus_vs_front_mvl/mxv + .byte W02 + .byte 43*mus_vs_front_mvl/mxv + .byte W04 + .byte 40*mus_vs_front_mvl/mxv + .byte W02 + .byte 38*mus_vs_front_mvl/mxv + .byte W04 + .byte 34*mus_vs_front_mvl/mxv + .byte W02 + .byte 31*mus_vs_front_mvl/mxv + .byte W04 + .byte 28*mus_vs_front_mvl/mxv + .byte W02 + .byte 25*mus_vs_front_mvl/mxv + .byte W04 + .byte 22*mus_vs_front_mvl/mxv + .byte W02 + .byte 19*mus_vs_front_mvl/mxv + .byte W04 + .byte 17*mus_vs_front_mvl/mxv + .byte W02 + .byte 15*mus_vs_front_mvl/mxv + .byte W04 + .byte 13*mus_vs_front_mvl/mxv + .byte W02 + .byte 12*mus_vs_front_mvl/mxv + .byte W04 + .byte PAN , c_v-20 + .byte VOL , 68*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte W96 + .byte GOTO + .word mus_vs_front_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_vs_front_5: + .byte KEYSH , mus_vs_front_key+0 + .byte VOICE , 87 + .byte PAN , c_v+0 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte BEND , c_v+1 + .byte W12 + .byte W96 +mus_vs_front_5_000: + .byte N05 , Fs1 , v112 + .byte W08 + .byte Cn2 + .byte W08 + .byte Fs2 + .byte W08 + .byte Fn1 + .byte W08 + .byte Bn1 + .byte W08 + .byte Fn2 + .byte W08 + .byte En1 + .byte W08 + .byte As1 + .byte W08 + .byte En2 + .byte W08 + .byte Ds1 + .byte W08 + .byte An1 + .byte W08 + .byte Ds2 + .byte W08 + .byte PEND + .byte Dn1 + .byte W08 + .byte Gs1 + .byte W08 + .byte Dn2 + .byte W08 + .byte Cs1 + .byte W08 + .byte Gn1 + .byte W08 + .byte Cs2 + .byte W08 + .byte Cn1 + .byte W08 + .byte Fs1 + .byte W08 + .byte Cn2 + .byte W08 + .byte N03 , Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte As1 + .byte W06 +mus_vs_front_5_B1: +mus_vs_front_5_001: + .byte N03 , An1 , v112 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte PEND +mus_vs_front_5_002: + .byte N03 , An1 , v112 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N09 , Bn1 + .byte W12 + .byte N03 , Ds2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N09 , Cn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_vs_front_5_001 + .byte N03 , An1 , v112 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Cn2 + .byte W12 + .byte N09 , Dn2 + .byte W12 + .byte N03 , Ds2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N09 , As1 + .byte W12 + .byte VOL , 90*mus_vs_front_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , An1 , v127 + .byte W12 + .byte BEND , c_v+1 + .byte N03 , An1 , v112 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte PATT + .word mus_vs_front_5_002 + .byte PATT + .word mus_vs_front_5_001 + .byte VOL , 90*mus_vs_front_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , An1 , v127 + .byte W12 + .byte BEND , c_v+1 + .byte N03 , An1 , v112 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Cn2 + .byte W12 + .byte N09 , Dn2 + .byte W12 + .byte N03 , Ds2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N09 , As1 + .byte W12 + .byte N05 , En1 + .byte W12 + .byte N05 + .byte W12 + .byte N21 , En2 + .byte W24 + .byte N05 , En1 + .byte W12 + .byte N05 + .byte W12 + .byte N21 , Fn2 + .byte W24 + .byte N05 , En1 + .byte W12 + .byte N05 + .byte W12 + .byte N21 , Fs2 + .byte W24 + .byte N05 , En1 + .byte W12 + .byte N05 + .byte W12 + .byte N21 , Gn2 + .byte W24 + .byte N03 , En1 + .byte W12 + .byte N09 , En2 + .byte W12 + .byte N03 , En1 + .byte W12 + .byte N09 , Fn2 + .byte W12 + .byte N03 , En1 + .byte W12 + .byte N09 , Fs2 + .byte W12 + .byte N03 , En1 + .byte W12 + .byte N09 , Gn2 + .byte W12 + .byte N03 , En1 + .byte W12 + .byte N09 , Gs2 + .byte W12 + .byte N03 , En1 + .byte W12 + .byte N09 , An2 + .byte W12 + .byte N03 , En1 + .byte W12 + .byte N09 , As2 + .byte W12 + .byte N03 , En1 + .byte W12 + .byte N09 , Bn2 + .byte W12 +mus_vs_front_5_003: + .byte N09 , En1 , v112 + .byte W12 + .byte En2 + .byte W12 + .byte En1 + .byte W12 + .byte En2 + .byte W12 + .byte En1 + .byte W12 + .byte En2 + .byte W12 + .byte En1 + .byte W12 + .byte N03 , En2 + .byte W06 + .byte Ds2 + .byte W06 + .byte PEND +mus_vs_front_5_004: + .byte N09 , En2 , v112 + .byte W12 + .byte N03 , En1 + .byte W12 + .byte N09 + .byte W12 + .byte En2 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte N03 , En2 + .byte W06 + .byte Bn1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Fs1 + .byte W06 + .byte PEND + .byte PATT + .word mus_vs_front_5_003 + .byte PATT + .word mus_vs_front_5_004 + .byte PATT + .word mus_vs_front_5_003 + .byte PATT + .word mus_vs_front_5_004 + .byte N09 , Dn1 , v112 + .byte W12 + .byte Dn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte N03 , Dn2 + .byte W06 + .byte Cs2 + .byte W06 + .byte N09 , Dn2 + .byte W12 + .byte Dn1 + .byte W12 + .byte N09 + .byte W12 + .byte Dn2 + .byte W12 + .byte An1 + .byte W12 + .byte Dn1 + .byte W12 + .byte N03 , Dn2 + .byte W06 + .byte An1 + .byte W06 + .byte Fs1 + .byte W06 + .byte En1 + .byte W06 + .byte N09 , Cs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Cs1 + .byte W12 + .byte N03 , Cs2 + .byte W06 + .byte Cn2 + .byte W06 + .byte N09 , Cs2 + .byte W12 + .byte Cs1 + .byte W12 + .byte N09 + .byte W12 + .byte Cs2 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte N03 , Cs2 + .byte W06 + .byte Gs1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Ds1 + .byte W06 +mus_vs_front_5_005: + .byte N09 , Cn1 , v112 + .byte W12 + .byte Cn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Cn1 + .byte W12 + .byte N03 , Cn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte PEND + .byte N09 + .byte W12 + .byte Bn0 + .byte W12 + .byte N09 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Bn1 + .byte W06 + .byte N03 , Fs1 + .byte W06 + .byte Ds1 + .byte W06 + .byte Cs1 + .byte W06 +mus_vs_front_5_006: + .byte N09 , Cs1 , v112 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Gn1 + .byte W12 + .byte PEND +mus_vs_front_5_007: + .byte N09 , Cs1 , v112 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Gn1 + .byte W12 + .byte En1 + .byte W12 + .byte Fs1 + .byte W12 + .byte N03 , En1 + .byte W06 + .byte Dn1 + .byte W06 + .byte N09 , Bn0 + .byte W12 + .byte PEND + .byte PATT + .word mus_vs_front_5_006 + .byte PATT + .word mus_vs_front_5_007 + .byte PATT + .word mus_vs_front_5_006 + .byte PATT + .word mus_vs_front_5_007 + .byte N09 , Cs1 , v112 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Gn1 + .byte W12 + .byte En1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Ds1 + .byte W12 + .byte En1 + .byte W12 + .byte N03 , Ds1 + .byte W06 + .byte Cs1 + .byte W06 + .byte N09 , As0 + .byte W12 +mus_vs_front_5_008: + .byte N09 , Bn0 , v112 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Fn1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte PEND + .byte Bn0 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fs1 + .byte W12 + .byte Dn1 + .byte W12 + .byte En1 + .byte W12 + .byte N03 , Ds1 + .byte W06 + .byte Cs1 + .byte W06 + .byte N09 , As0 + .byte W12 + .byte PATT + .word mus_vs_front_5_008 + .byte N09 , Cs1 , v112 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Bn0 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte N09 + .byte W24 + .byte N09 + .byte W24 + .byte N09 + .byte W24 + .byte N09 + .byte W12 + .byte W12 + .byte N09 + .byte W24 + .byte N09 + .byte W12 + .byte N09 + .byte W24 + .byte N09 + .byte W24 +mus_vs_front_5_009: + .byte N09 , Gs1 , v112 + .byte W12 + .byte Cs2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fs1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As1 + .byte W12 + .byte PEND +mus_vs_front_5_010: + .byte N09 , En1 , v112 + .byte W12 + .byte An1 + .byte W12 + .byte Ds1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Fs1 + .byte W12 + .byte PEND + .byte PATT + .word mus_vs_front_5_009 + .byte PATT + .word mus_vs_front_5_010 + .byte PATT + .word mus_vs_front_5_005 +mus_vs_front_5_011: + .byte N09 , Cn2 , v112 + .byte W12 + .byte N03 , Cn1 + .byte W12 + .byte N09 + .byte W12 + .byte Cn2 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N03 , Cn2 + .byte W06 + .byte Gn1 + .byte W06 + .byte En1 + .byte W06 + .byte Dn1 + .byte W06 + .byte PEND + .byte PATT + .word mus_vs_front_5_005 + .byte PATT + .word mus_vs_front_5_011 + .byte PATT + .word mus_vs_front_5_005 + .byte PATT + .word mus_vs_front_5_011 + .byte N09 , As0 , v112 + .byte W12 + .byte As1 + .byte W12 + .byte As0 + .byte W12 + .byte As1 + .byte W12 + .byte As0 + .byte W12 + .byte As1 + .byte W12 + .byte As0 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte An1 + .byte W06 + .byte N09 , As1 + .byte W12 + .byte As0 + .byte W12 + .byte N09 + .byte W12 + .byte As1 + .byte W12 + .byte Fn1 + .byte W12 + .byte As0 + .byte W12 + .byte N03 , As1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Dn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte N09 , An0 + .byte W12 + .byte An1 + .byte W12 + .byte An0 + .byte W12 + .byte An1 + .byte W12 + .byte An0 + .byte W12 + .byte An1 + .byte W12 + .byte An0 + .byte W12 + .byte N03 , An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte N09 , An1 + .byte W12 + .byte An0 + .byte W12 + .byte N09 + .byte W12 + .byte An1 + .byte W12 + .byte En1 + .byte W12 + .byte An0 + .byte W12 + .byte N03 , An1 + .byte W06 + .byte En1 + .byte W06 + .byte Cs1 + .byte W06 + .byte Bn0 + .byte W06 + .byte N09 , Gs0 + .byte W12 + .byte Gs1 + .byte W12 + .byte Gs0 + .byte W12 + .byte Gs1 + .byte W12 + .byte Gs0 + .byte W12 + .byte Gs1 + .byte W12 + .byte Gs0 + .byte W12 + .byte N03 , Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte N09 + .byte W12 + .byte Gn0 + .byte W12 + .byte N09 + .byte W12 + .byte Gn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Gn0 + .byte W12 + .byte N03 , Gn1 + .byte W06 + .byte Dn1 + .byte W06 + .byte Bn0 + .byte W06 + .byte An0 + .byte W06 + .byte W96 +mus_vs_front_5_012: + .byte N09 , Fn1 , v112 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N03 , Fn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fn2 + .byte W06 + .byte Cn2 + .byte W06 + .byte PEND +mus_vs_front_5_013: + .byte N09 , Fn2 , v112 + .byte W12 + .byte Fn1 + .byte W24 + .byte Cn2 + .byte W24 + .byte Fn2 + .byte W24 + .byte An2 + .byte W12 + .byte PEND + .byte Fn1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Gn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte N03 , Bn1 + .byte W06 + .byte Dn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte An1 + .byte W06 + .byte N09 , Gn1 + .byte W12 + .byte Dn1 + .byte W24 + .byte Gn1 + .byte W24 + .byte Bn1 + .byte W24 + .byte Dn2 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En2 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte N03 , En2 + .byte W06 + .byte Fn2 + .byte W06 + .byte En2 + .byte W06 + .byte Bn1 + .byte W06 + .byte N09 , En1 + .byte W12 + .byte Bn0 + .byte W24 + .byte En1 + .byte W24 + .byte Gs1 + .byte W24 + .byte Bn1 + .byte W12 + .byte An1 + .byte W12 + .byte Cs2 + .byte W12 + .byte An2 + .byte W12 + .byte En2 + .byte W12 + .byte An1 + .byte W12 + .byte En2 + .byte W12 + .byte N03 , Cs3 , v064 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte An2 + .byte W06 + .byte N09 , An1 , v112 + .byte W12 + .byte En1 + .byte W24 + .byte An1 + .byte W24 + .byte Cs2 + .byte W24 + .byte En2 + .byte W12 + .byte PATT + .word mus_vs_front_5_012 + .byte PATT + .word mus_vs_front_5_013 + .byte N09 , Fs1 , v112 + .byte W12 + .byte En2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fs1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N03 , Fs2 + .byte W06 + .byte Gn2 + .byte W06 + .byte Fs2 + .byte W06 + .byte Cn2 + .byte W06 + .byte N09 , Fs2 + .byte W12 + .byte An1 + .byte W24 + .byte Cn2 + .byte W24 + .byte En2 + .byte W24 + .byte An2 + .byte W12 + .byte PATT + .word mus_vs_front_5_000 + .byte N05 , Dn1 , v112 + .byte W08 + .byte Gs1 + .byte W08 + .byte Dn2 + .byte W08 + .byte Cs1 + .byte W08 + .byte Gn1 + .byte W08 + .byte Cs2 + .byte W08 + .byte Cn1 + .byte W08 + .byte Fs1 + .byte W08 + .byte Cn2 + .byte W08 + .byte Bn1 + .byte W08 + .byte Cn2 + .byte W08 + .byte As1 + .byte W08 + .byte GOTO + .word mus_vs_front_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_vs_front_6: + .byte KEYSH , mus_vs_front_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 80*mus_vs_front_mvl/mxv + .byte PAN , c_v+20 + .byte N04 , Bn2 , v112 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N08 , En2 + .byte W08 + .byte En2 , v080 + .byte W08 + .byte N08 + .byte W08 + .byte Bn1 , v112 + .byte W08 + .byte En2 , v084 + .byte W08 + .byte En2 , v080 + .byte W08 + .byte En2 , v112 + .byte W08 + .byte En2 , v084 + .byte W08 + .byte En2 , v080 + .byte W08 + .byte En2 , v124 + .byte W08 + .byte En2 , v092 + .byte W08 + .byte N08 + .byte W08 + .byte W96 + .byte W96 +mus_vs_front_6_B1: + .byte VOL , 90*mus_vs_front_mvl/mxv + .byte PAN , c_v+19 + .byte N12 , An2 , v112 + .byte W12 + .byte An1 + .byte W84 + .byte N12 + .byte W96 +mus_vs_front_6_000: + .byte N12 , An1 , v112 + .byte W36 + .byte N12 + .byte W24 + .byte N12 + .byte W36 + .byte PEND + .byte N12 + .byte W96 + .byte N12 + .byte W96 + .byte N12 + .byte W96 + .byte PATT + .word mus_vs_front_6_000 + .byte N12 , An1 , v112 + .byte W96 + .byte PAN , c_v-32 + .byte N08 , En1 , v127 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte PAN , c_v+25 + .byte N24 , En2 + .byte W24 + .byte PAN , c_v-31 + .byte N08 , En1 , v127 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte PAN , c_v+25 + .byte N24 , Fn2 + .byte W24 + .byte PAN , c_v-31 + .byte N08 , En1 , v127 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte PAN , c_v+28 + .byte N24 , Fs2 + .byte W24 + .byte PAN , c_v-32 + .byte N08 , En1 , v127 + .byte W12 + .byte En1 , v112 + .byte W12 + .byte PAN , c_v+25 + .byte N24 , Gn2 , v127 + .byte W24 + .byte N06 , En2 , v112 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N08 , Ds2 + .byte W08 + .byte Bn1 , v080 + .byte W08 + .byte N08 + .byte W08 + .byte PAN , c_v-16 + .byte N08 , Fs1 , v112 + .byte W08 + .byte Bn1 , v084 + .byte W08 + .byte Bn1 , v080 + .byte W08 + .byte PAN , c_v+27 + .byte N08 , Bn1 , v112 + .byte W08 + .byte Bn1 , v084 + .byte W08 + .byte Bn1 , v080 + .byte W08 + .byte PAN , c_v-16 + .byte N08 , Bn1 , v124 + .byte W08 + .byte Bn1 , v092 + .byte W08 + .byte N08 + .byte W08 + .byte VOL , 82*mus_vs_front_mvl/mxv + .byte PAN , c_v+20 + .byte N12 , En2 , v112 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte PAN , c_v-14 + .byte N06 , Bn1 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 +mus_vs_front_6_001: + .byte PAN , c_v+20 + .byte N12 , En2 , v112 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte PEND +mus_vs_front_6_002: + .byte W12 + .byte N12 , En2 , v112 + .byte W36 + .byte N12 + .byte W24 + .byte PAN , c_v-13 + .byte N06 , Bn1 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PEND + .byte PATT + .word mus_vs_front_6_001 + .byte PATT + .word mus_vs_front_6_002 + .byte PAN , c_v+19 + .byte N12 , Dn2 , v112 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte An1 + .byte W24 +mus_vs_front_6_003: + .byte N12 , Cs2 , v112 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte PEND + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte PAN , c_v-16 + .byte N12 , Gs1 + .byte W24 + .byte PAN , c_v+23 + .byte N12 , Cn2 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W12 + .byte Bn1 + .byte W36 + .byte N12 + .byte W24 + .byte PAN , c_v-12 + .byte N12 , Fs1 + .byte W24 + .byte PAN , c_v+23 + .byte VOL , 82*mus_vs_front_mvl/mxv + .byte N12 , Gs2 + .byte W36 + .byte Cs2 + .byte W48 + .byte N06 , Gs2 , v096 + .byte W06 + .byte N06 + .byte W06 + .byte PAN , c_v+16 + .byte N12 , Gs2 , v112 + .byte W12 + .byte N12 + .byte W24 + .byte N24 , Cs2 + .byte W24 + .byte N36 + .byte W36 + .byte Gs2 + .byte W36 + .byte Cs2 + .byte W48 + .byte N06 , Gs2 , v096 + .byte W06 + .byte N06 + .byte W06 +mus_vs_front_6_004: + .byte N12 , Gs2 , v112 + .byte W12 + .byte N24 + .byte W24 + .byte N36 , Cs2 + .byte W36 + .byte N24 + .byte W24 + .byte PEND + .byte N36 , Gs2 + .byte W36 + .byte N48 , Cs2 + .byte W48 + .byte N06 , Gs2 , v096 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word mus_vs_front_6_004 + .byte N12 , Gs2 , v112 + .byte W12 + .byte N24 , Cs2 + .byte W24 + .byte N48 , Gs2 + .byte W48 + .byte N06 , Gs2 , v096 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Cs2 , v112 + .byte W12 + .byte N36 + .byte W36 + .byte N24 + .byte W24 + .byte Dn2 + .byte W24 + .byte N36 , Fs2 + .byte W36 + .byte N48 , Bn1 + .byte W48 + .byte N06 , Bn1 , v096 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Fs2 , v112 + .byte W12 + .byte N24 + .byte W24 + .byte Bn1 + .byte W24 + .byte N24 + .byte W24 + .byte N06 , Bn1 , v096 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Fs2 , v112 + .byte W12 + .byte Bn1 + .byte W24 + .byte Fs2 + .byte W48 + .byte N06 , Fs2 , v096 + .byte W06 + .byte N06 + .byte W06 + .byte N12 , Bn1 , v112 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W12 + .byte Fn1 + .byte W12 + .byte PATT + .word mus_vs_front_6_003 + .byte W12 + .byte N12 , Cs2 , v112 + .byte W36 + .byte N24 , Dn2 + .byte W24 + .byte Bn1 + .byte W24 + .byte N12 , Gs2 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte PAN , c_v+23 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte c_v+16 + .byte VOL , 79*mus_vs_front_mvl/mxv + .byte N12 , Cn2 , v108 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte N06 , Gn1 + .byte W06 + .byte Gn1 , v096 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 +mus_vs_front_6_005: + .byte N12 , Cn2 , v108 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte PEND +mus_vs_front_6_006: + .byte W12 + .byte N12 , Cn2 , v108 + .byte W36 + .byte N12 + .byte W24 + .byte N06 , Gn1 + .byte W06 + .byte Gn1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PEND + .byte PATT + .word mus_vs_front_6_005 + .byte PATT + .word mus_vs_front_6_006 + .byte N12 , As1 , v100 + .byte W36 + .byte As1 , v112 + .byte W36 + .byte N12 + .byte W24 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte Fn1 + .byte W24 + .byte An1 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W12 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte En1 + .byte W24 + .byte Gs1 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W12 + .byte Gn1 + .byte W36 + .byte N12 + .byte W24 + .byte Dn1 + .byte W16 + .byte N04 , Bn2 + .byte W04 + .byte N04 + .byte W04 + .byte PAN , c_v+32 + .byte N08 , Gn2 , v064 + .byte W08 + .byte Gn2 , v032 + .byte W08 + .byte N08 + .byte W08 + .byte Dn2 , v116 + .byte W08 + .byte Gn2 , v080 + .byte W08 + .byte N08 + .byte W08 + .byte Gn2 , v064 + .byte W08 + .byte Gn2 , v032 + .byte W08 + .byte N08 + .byte W08 + .byte Dn2 , v116 + .byte W08 + .byte Gn2 , v084 + .byte W08 + .byte N08 + .byte W08 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_vs_front_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_vs_front_7: + .byte KEYSH , mus_vs_front_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte PAN , c_v-64 + .byte W12 + .byte W96 +mus_vs_front_7_000: + .byte N24 , Bn4 , v112 + .byte W24 + .byte As4 + .byte W24 + .byte An4 + .byte W24 + .byte Gs4 + .byte W24 + .byte PEND +mus_vs_front_7_001: + .byte N24 , Gn4 , v112 + .byte W24 + .byte Fs4 + .byte W24 + .byte Fn4 + .byte W24 + .byte En4 + .byte W24 + .byte PEND +mus_vs_front_7_B1: + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte W24 + .byte N12 , Fn2 , v112 + .byte W12 + .byte En2 + .byte W24 + .byte Gn2 + .byte W12 + .byte Gs2 + .byte W24 + .byte W12 + .byte As2 + .byte W12 + .byte Bn2 + .byte W24 + .byte Gn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte N06 , Fn2 + .byte W06 + .byte Gn2 + .byte W06 + .byte N12 , Fs2 + .byte W12 + .byte N36 , Cn3 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , Bn2 + .byte W24 + .byte An2 + .byte W24 + .byte N12 , Gs2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte N06 , Cn2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N12 , Cs2 + .byte W12 + .byte N12 + .byte W12 + .byte Dn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte En2 + .byte W24 + .byte Gn2 + .byte W12 + .byte Gs2 + .byte W24 + .byte W12 + .byte Cn3 + .byte W12 + .byte Dn3 + .byte W24 + .byte As2 + .byte W12 + .byte Bn2 + .byte W12 + .byte N06 , Gs2 + .byte W06 + .byte As2 + .byte W06 + .byte N12 , An2 + .byte W12 + .byte N36 , En3 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , Dn3 + .byte W24 + .byte Cn3 + .byte W24 + .byte N12 , Gs2 + .byte W12 + .byte Fs2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Gs2 + .byte W12 + .byte Cs2 + .byte W12 + .byte Dn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Cs2 + .byte W12 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte W24 + .byte N24 , Bn2 + .byte W48 + .byte Cn3 + .byte W24 + .byte W24 + .byte Cs3 + .byte W48 + .byte Dn3 + .byte W24 + .byte W12 + .byte N12 , Bn2 + .byte W24 + .byte Cn3 + .byte W24 + .byte Cs3 + .byte W24 + .byte Dn3 + .byte W12 + .byte W12 + .byte Ds3 + .byte W24 + .byte En3 + .byte W24 + .byte Fn3 + .byte W24 + .byte Fs3 + .byte W12 + .byte W12 + .byte N36 , Gs3 + .byte W36 + .byte N12 , An3 + .byte W24 + .byte Bn3 + .byte W24 + .byte Cs4 + .byte W12 + .byte N36 , Bn3 + .byte W36 + .byte N12 , Cs4 + .byte W24 + .byte N24 , En4 + .byte W24 + .byte N96 , Bn3 + .byte W96 + .byte Gs3 + .byte W96 + .byte W12 + .byte N36 + .byte W36 + .byte N12 , An3 + .byte W24 + .byte N24 , Bn3 + .byte W24 + .byte N12 , Cs4 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte N12 , Cs4 + .byte W24 + .byte N36 , En4 + .byte W36 + .byte N12 , Gn3 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W12 + .byte N36 , En3 + .byte W36 + .byte N12 , Gn3 + .byte W24 + .byte En3 + .byte W24 + .byte Gs3 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W12 + .byte N36 , En3 + .byte W36 + .byte N12 , Gs3 + .byte W24 + .byte N12 + .byte W24 + .byte An3 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W12 + .byte N36 , Fs3 + .byte W36 + .byte N12 , Gs3 + .byte W24 + .byte N24 , Bn3 + .byte W24 + .byte N96 , Cs4 + .byte W36 + .byte MOD , 8 + .byte W12 + .byte VOL , 28*mus_vs_front_mvl/mxv + .byte W02 + .byte 26*mus_vs_front_mvl/mxv + .byte W04 + .byte 25*mus_vs_front_mvl/mxv + .byte W02 + .byte 24*mus_vs_front_mvl/mxv + .byte W04 + .byte 22*mus_vs_front_mvl/mxv + .byte W02 + .byte 21*mus_vs_front_mvl/mxv + .byte W04 + .byte 19*mus_vs_front_mvl/mxv + .byte W02 + .byte 17*mus_vs_front_mvl/mxv + .byte W04 + .byte 15*mus_vs_front_mvl/mxv + .byte W02 + .byte 14*mus_vs_front_mvl/mxv + .byte W04 + .byte 11*mus_vs_front_mvl/mxv + .byte W02 + .byte 8*mus_vs_front_mvl/mxv + .byte W04 + .byte 6*mus_vs_front_mvl/mxv + .byte W02 + .byte 4*mus_vs_front_mvl/mxv + .byte W04 + .byte 2*mus_vs_front_mvl/mxv + .byte W02 + .byte 2*mus_vs_front_mvl/mxv + .byte W04 + .byte 34*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte PAN , c_v+0 + .byte W84 + .byte N06 , Gs3 , v092 + .byte W06 + .byte Bn3 + .byte W06 + .byte PAN , c_v+0 + .byte VOL , 45*mus_vs_front_mvl/mxv + .byte N12 , Cs4 + .byte W12 + .byte Gs3 + .byte W24 + .byte N36 , Gs4 + .byte W12 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte MOD , 8 + .byte W12 + .byte VOL , 22*mus_vs_front_mvl/mxv + .byte W12 + .byte 45*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte N24 , Cs5 + .byte W12 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte MOD , 9 + .byte W12 + .byte VOL , 45*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte W12 + .byte N06 , Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte N24 , Cs4 + .byte W12 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 45*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte N24 , Bn3 + .byte W12 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 45*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte N24 , An3 + .byte W12 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte MOD , 6 + .byte W12 + .byte VOL , 45*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte N12 , Fs3 + .byte W12 + .byte Gs3 + .byte W12 + .byte Fs3 + .byte W12 + .byte En3 + .byte W12 + .byte N48 , Fs3 + .byte W12 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte MOD , 6 + .byte W24 + .byte VOL , 22*mus_vs_front_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte W72 + .byte VOL , 45*mus_vs_front_mvl/mxv + .byte W12 + .byte N06 + .byte W06 + .byte An3 + .byte W06 + .byte VOL , 45*mus_vs_front_mvl/mxv + .byte N12 , Bn3 + .byte W12 + .byte Fs3 + .byte W24 + .byte N36 , Fs4 + .byte W12 + .byte MOD , 8 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte W12 + .byte 22*mus_vs_front_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 45*mus_vs_front_mvl/mxv + .byte N24 , Bn4 + .byte W12 + .byte MOD , 9 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 45*mus_vs_front_mvl/mxv + .byte W12 + .byte N06 , Fs3 + .byte W06 + .byte An3 + .byte W06 + .byte N24 , Bn3 + .byte W12 + .byte MOD , 6 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 45*mus_vs_front_mvl/mxv + .byte N24 , Fs4 + .byte W12 + .byte MOD , 6 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 45*mus_vs_front_mvl/mxv + .byte N24 , En4 + .byte W12 + .byte MOD , 6 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 45*mus_vs_front_mvl/mxv + .byte N12 , Cs4 + .byte W12 + .byte Dn4 + .byte W12 + .byte Cs4 + .byte W12 + .byte Cn4 + .byte W12 + .byte N48 , Cs4 + .byte W12 + .byte MOD , 6 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte W24 + .byte 22*mus_vs_front_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte W48 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte W48 + .byte PAN , c_v-64 + .byte N12 , Cs4 , v112 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W12 + .byte N36 , En3 + .byte W36 + .byte N12 , Fn3 + .byte W24 + .byte Gn3 + .byte W24 + .byte An3 + .byte W12 + .byte N36 , Gn3 + .byte W36 + .byte N12 , An3 + .byte W24 + .byte N24 , Cn4 + .byte W24 + .byte N96 , Gn3 + .byte W96 + .byte En3 + .byte W96 + .byte W12 + .byte N36 + .byte W36 + .byte N12 , Fn3 + .byte W24 + .byte N24 , Gn3 + .byte W24 + .byte N12 , An3 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte N12 , An3 + .byte W24 + .byte N36 , Cn4 + .byte W36 + .byte N12 , Ds4 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W12 + .byte N36 , Cn4 + .byte W36 + .byte N12 , Ds4 + .byte W24 + .byte Cn4 + .byte W24 + .byte En4 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W12 + .byte N36 , Cn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 27*mus_vs_front_mvl/mxv + .byte W02 + .byte 24*mus_vs_front_mvl/mxv + .byte W01 + .byte 21*mus_vs_front_mvl/mxv + .byte W03 + .byte 16*mus_vs_front_mvl/mxv + .byte W02 + .byte 16*mus_vs_front_mvl/mxv + .byte W01 + .byte 11*mus_vs_front_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte N12 , En4 + .byte W24 + .byte N12 + .byte W24 + .byte Fn4 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W12 + .byte N36 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 27*mus_vs_front_mvl/mxv + .byte W02 + .byte 24*mus_vs_front_mvl/mxv + .byte W01 + .byte 21*mus_vs_front_mvl/mxv + .byte W03 + .byte 16*mus_vs_front_mvl/mxv + .byte W02 + .byte 16*mus_vs_front_mvl/mxv + .byte W01 + .byte 11*mus_vs_front_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte N12 , En4 + .byte W24 + .byte N96 , Gn4 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte VOL , 31*mus_vs_front_mvl/mxv + .byte W02 + .byte 28*mus_vs_front_mvl/mxv + .byte W06 + .byte 26*mus_vs_front_mvl/mxv + .byte W04 + .byte 26*mus_vs_front_mvl/mxv + .byte W02 + .byte 25*mus_vs_front_mvl/mxv + .byte W04 + .byte 24*mus_vs_front_mvl/mxv + .byte W02 + .byte 22*mus_vs_front_mvl/mxv + .byte W04 + .byte 21*mus_vs_front_mvl/mxv + .byte W02 + .byte 19*mus_vs_front_mvl/mxv + .byte W04 + .byte 18*mus_vs_front_mvl/mxv + .byte W02 + .byte 17*mus_vs_front_mvl/mxv + .byte W04 + .byte 15*mus_vs_front_mvl/mxv + .byte W02 + .byte 14*mus_vs_front_mvl/mxv + .byte W04 + .byte 13*mus_vs_front_mvl/mxv + .byte W02 + .byte 11*mus_vs_front_mvl/mxv + .byte W04 + .byte 34*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte W06 + .byte N06 , Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte N06 , Cn5 + .byte W18 + .byte N03 , Fn4 + .byte W06 + .byte N72 + .byte W24 + .byte VOL , 30*mus_vs_front_mvl/mxv + .byte W02 + .byte 29*mus_vs_front_mvl/mxv + .byte W04 + .byte 27*mus_vs_front_mvl/mxv + .byte W02 + .byte 26*mus_vs_front_mvl/mxv + .byte W06 + .byte 26*mus_vs_front_mvl/mxv + .byte W04 + .byte 24*mus_vs_front_mvl/mxv + .byte W02 + .byte 23*mus_vs_front_mvl/mxv + .byte W04 + .byte 22*mus_vs_front_mvl/mxv + .byte W02 + .byte 21*mus_vs_front_mvl/mxv + .byte W04 + .byte 19*mus_vs_front_mvl/mxv + .byte W02 + .byte 17*mus_vs_front_mvl/mxv + .byte W04 + .byte 15*mus_vs_front_mvl/mxv + .byte W02 + .byte 13*mus_vs_front_mvl/mxv + .byte W04 + .byte 12*mus_vs_front_mvl/mxv + .byte W02 + .byte 11*mus_vs_front_mvl/mxv + .byte W04 + .byte 34*mus_vs_front_mvl/mxv + .byte N24 , Cn5 + .byte W24 + .byte Bn4 + .byte W24 + .byte An4 + .byte W24 + .byte Bn4 + .byte W24 + .byte N06 , Gn4 + .byte W06 + .byte An4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte N36 , Gn4 + .byte W12 + .byte VOL , 30*mus_vs_front_mvl/mxv + .byte W02 + .byte 27*mus_vs_front_mvl/mxv + .byte W04 + .byte 25*mus_vs_front_mvl/mxv + .byte W02 + .byte 22*mus_vs_front_mvl/mxv + .byte W04 + .byte 19*mus_vs_front_mvl/mxv + .byte W02 + .byte 17*mus_vs_front_mvl/mxv + .byte W04 + .byte 15*mus_vs_front_mvl/mxv + .byte W02 + .byte 14*mus_vs_front_mvl/mxv + .byte W04 + .byte 34*mus_vs_front_mvl/mxv + .byte N12 , Dn4 + .byte W12 + .byte N24 , Gn3 + .byte W24 + .byte VOICE , 85 + .byte N24 , Gn2 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N24 + .byte W24 + .byte VOICE , 80 + .byte W06 + .byte N06 , En4 + .byte W06 + .byte Fn4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Bn4 + .byte W18 + .byte N03 , Dn4 + .byte W06 + .byte N72 + .byte W24 + .byte VOL , 29*mus_vs_front_mvl/mxv + .byte W02 + .byte 26*mus_vs_front_mvl/mxv + .byte W04 + .byte 26*mus_vs_front_mvl/mxv + .byte W02 + .byte 24*mus_vs_front_mvl/mxv + .byte W04 + .byte 23*mus_vs_front_mvl/mxv + .byte W02 + .byte 22*mus_vs_front_mvl/mxv + .byte W04 + .byte 21*mus_vs_front_mvl/mxv + .byte W02 + .byte 19*mus_vs_front_mvl/mxv + .byte W04 + .byte 19*mus_vs_front_mvl/mxv + .byte W02 + .byte 17*mus_vs_front_mvl/mxv + .byte W04 + .byte 17*mus_vs_front_mvl/mxv + .byte W02 + .byte 16*mus_vs_front_mvl/mxv + .byte W04 + .byte 15*mus_vs_front_mvl/mxv + .byte W02 + .byte 12*mus_vs_front_mvl/mxv + .byte W04 + .byte 11*mus_vs_front_mvl/mxv + .byte W06 + .byte 34*mus_vs_front_mvl/mxv + .byte N24 , Gn4 + .byte W24 + .byte Dn4 + .byte W24 + .byte Bn4 + .byte W24 + .byte An4 + .byte W24 + .byte N06 , Cs5 + .byte W06 + .byte Dn5 + .byte W06 + .byte Cs5 + .byte W06 + .byte Bn4 + .byte W06 + .byte N48 , Cs5 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 30*mus_vs_front_mvl/mxv + .byte W02 + .byte 29*mus_vs_front_mvl/mxv + .byte W04 + .byte 26*mus_vs_front_mvl/mxv + .byte W02 + .byte 24*mus_vs_front_mvl/mxv + .byte W04 + .byte 21*mus_vs_front_mvl/mxv + .byte W02 + .byte 18*mus_vs_front_mvl/mxv + .byte W04 + .byte 15*mus_vs_front_mvl/mxv + .byte W02 + .byte 14*mus_vs_front_mvl/mxv + .byte W04 + .byte VOICE , 85 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte N02 , En3 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N24 + .byte W12 + .byte MOD , 7 + .byte VOL , 22*mus_vs_front_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte W08 + .byte N02 , Dn3 + .byte W08 + .byte N02 + .byte W08 + .byte N24 + .byte W12 + .byte MOD , 7 + .byte VOL , 22*mus_vs_front_mvl/mxv + .byte W12 + .byte VOICE , 80 + .byte MOD , 0 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte N08 , Fn4 + .byte W08 + .byte Gn4 + .byte W08 + .byte An4 + .byte W08 + .byte N06 , Cn5 + .byte W18 + .byte N03 , Fn4 + .byte W06 + .byte N36 + .byte W36 + .byte N12 , Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte An2 + .byte W24 + .byte Cn3 + .byte W24 + .byte Fn3 + .byte W24 + .byte An3 + .byte W12 + .byte N06 , Cn5 + .byte W18 + .byte N03 , Fs4 + .byte W06 + .byte N36 + .byte W36 + .byte N12 , Cn4 + .byte W12 + .byte An3 + .byte W12 + .byte Fs3 + .byte W12 + .byte Cn3 + .byte W12 + .byte An2 + .byte W24 + .byte Cn3 + .byte W24 + .byte Fs3 + .byte W24 + .byte An3 + .byte W12 + .byte PATT + .word mus_vs_front_7_000 + .byte PATT + .word mus_vs_front_7_001 + .byte GOTO + .word mus_vs_front_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_vs_front_8: + .byte KEYSH , mus_vs_front_key+0 + .byte VOICE , 83 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 35*mus_vs_front_mvl/mxv + .byte W12 + .byte W96 + .byte VOICE , 83 + .byte PAN , c_v-64 + .byte VOL , 56*mus_vs_front_mvl/mxv + .byte N04 , Cn1 , v112 + .byte W08 + .byte PAN , c_v+0 + .byte N04 , Fs1 + .byte W08 + .byte PAN , c_v+63 + .byte N04 , Cn2 + .byte W08 + .byte PAN , c_v+0 + .byte N04 , Cs1 + .byte W08 + .byte PAN , c_v-64 + .byte N04 , Gn1 + .byte W08 + .byte PAN , c_v+0 + .byte N04 , Cs2 + .byte W08 + .byte PAN , c_v+63 + .byte N04 , Dn1 + .byte W08 + .byte PAN , c_v+0 + .byte N04 , Gs1 + .byte W08 + .byte PAN , c_v-64 + .byte N04 , Dn2 + .byte W08 + .byte PAN , c_v+0 + .byte N04 , Ds1 + .byte W08 + .byte PAN , c_v+63 + .byte N04 , An1 + .byte W08 + .byte PAN , c_v+0 + .byte N04 , Ds2 + .byte W08 + .byte PAN , c_v-64 + .byte N04 , En1 + .byte W08 + .byte PAN , c_v+0 + .byte N04 , As1 + .byte W08 + .byte PAN , c_v+63 + .byte N04 , En2 + .byte W08 + .byte PAN , c_v+0 + .byte N04 , Fn1 + .byte W08 + .byte PAN , c_v-64 + .byte N04 , Bn1 + .byte W08 + .byte PAN , c_v+0 + .byte N04 , Fn2 + .byte W08 + .byte PAN , c_v+63 + .byte N04 , Fs1 + .byte W08 + .byte PAN , c_v+0 + .byte N04 , Cn2 + .byte W08 + .byte PAN , c_v-64 + .byte N04 , Fs2 + .byte W08 + .byte PAN , c_v+0 + .byte N04 , Gn1 + .byte W08 + .byte PAN , c_v+63 + .byte N04 , Cs2 + .byte W08 + .byte PAN , c_v+0 + .byte N04 , Gn2 + .byte W08 +mus_vs_front_8_B1: + .byte VOICE , 83 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte PAN , c_v+63 + .byte W24 + .byte N12 , An2 , v112 + .byte W12 + .byte Gs2 + .byte W24 + .byte Bn2 + .byte W12 + .byte Cn3 + .byte W24 + .byte W12 + .byte Dn3 + .byte W12 + .byte Ds3 + .byte W24 + .byte Bn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte N06 , An2 + .byte W06 + .byte Cn3 + .byte W06 + .byte N12 , As2 + .byte W12 + .byte N36 , Ds3 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , Dn3 + .byte W24 + .byte Cn3 + .byte W24 + .byte N12 , Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte Gs2 + .byte W12 + .byte Bn2 + .byte W12 + .byte En2 + .byte W12 + .byte Fn2 + .byte W12 + .byte En2 + .byte W12 + .byte N06 , Ds2 + .byte W06 + .byte Fn2 + .byte W06 + .byte N12 , En2 + .byte W12 + .byte N12 + .byte W12 + .byte Fn2 + .byte W12 + .byte An2 + .byte W12 + .byte Gs2 + .byte W24 + .byte Bn2 + .byte W12 + .byte Cn3 + .byte W24 + .byte W12 + .byte Ds3 + .byte W12 + .byte Fn3 + .byte W24 + .byte Dn3 + .byte W12 + .byte Ds3 + .byte W12 + .byte N06 , Cn3 + .byte W06 + .byte Dn3 + .byte W06 + .byte N12 , Cs3 + .byte W12 + .byte N36 , Gn3 + .byte W12 + .byte MOD , 6 + .byte W24 + .byte 0 + .byte N24 , Fn3 + .byte W24 + .byte Ds3 + .byte W24 + .byte N12 , Bn2 + .byte W12 + .byte An2 + .byte W12 + .byte Gs2 + .byte W12 + .byte Bn2 + .byte W12 + .byte En2 + .byte W12 + .byte Fn2 + .byte W12 + .byte En2 + .byte W12 + .byte Ds2 + .byte W12 + .byte En2 + .byte W12 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte W24 + .byte N24 , Gs2 + .byte W48 + .byte An2 + .byte W24 + .byte W24 + .byte As2 + .byte W48 + .byte Bn2 + .byte W24 + .byte W12 + .byte N12 , Gs2 + .byte W24 + .byte An2 + .byte W24 + .byte As2 + .byte W24 + .byte Bn2 + .byte W12 + .byte W12 + .byte Cn3 + .byte W24 + .byte Cs3 + .byte W24 + .byte Dn3 + .byte W24 + .byte Ds3 + .byte W12 + .byte W12 + .byte N36 , Bn3 + .byte W36 + .byte N12 , Cs4 + .byte W24 + .byte En4 + .byte W24 + .byte N12 + .byte W12 + .byte N36 , Ds4 + .byte W36 + .byte N12 , En4 + .byte W24 + .byte N24 , Gs4 + .byte W24 + .byte N96 , En4 + .byte W96 + .byte Bn3 + .byte W96 + .byte W12 + .byte N36 + .byte W36 + .byte N12 , Cs4 + .byte W24 + .byte N24 , En4 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , Ds4 + .byte W24 + .byte N12 , En4 + .byte W24 + .byte N36 , Gs4 + .byte W36 +mus_vs_front_8_000: + .byte N12 , Bn3 , v112 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte PEND + .byte W12 + .byte N36 , Gn3 + .byte W36 + .byte N12 , Bn3 + .byte W24 + .byte Gn3 + .byte W24 + .byte PATT + .word mus_vs_front_8_000 + .byte W12 + .byte N36 , Gs3 , v112 + .byte W36 + .byte N12 , Bn3 + .byte W24 + .byte N12 + .byte W24 + .byte Cn4 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W12 + .byte N36 , Bn3 + .byte W36 + .byte N12 + .byte W24 + .byte N24 , Ds4 + .byte W24 + .byte N96 , En4 + .byte W36 + .byte MOD , 8 + .byte W12 + .byte VOL , 29*mus_vs_front_mvl/mxv + .byte W02 + .byte 27*mus_vs_front_mvl/mxv + .byte W04 + .byte 26*mus_vs_front_mvl/mxv + .byte W02 + .byte 24*mus_vs_front_mvl/mxv + .byte W04 + .byte 23*mus_vs_front_mvl/mxv + .byte W02 + .byte 21*mus_vs_front_mvl/mxv + .byte W04 + .byte 19*mus_vs_front_mvl/mxv + .byte W02 + .byte 19*mus_vs_front_mvl/mxv + .byte W04 + .byte 17*mus_vs_front_mvl/mxv + .byte W02 + .byte 15*mus_vs_front_mvl/mxv + .byte W04 + .byte 13*mus_vs_front_mvl/mxv + .byte W02 + .byte 11*mus_vs_front_mvl/mxv + .byte W04 + .byte 9*mus_vs_front_mvl/mxv + .byte W02 + .byte 8*mus_vs_front_mvl/mxv + .byte W04 + .byte 5*mus_vs_front_mvl/mxv + .byte W02 + .byte 2*mus_vs_front_mvl/mxv + .byte W04 + .byte 34*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte W96 + .byte N12 , Gs2 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 +mus_vs_front_8_001: + .byte W12 + .byte N12 , Gs2 , v112 + .byte W36 + .byte Fs2 + .byte W24 + .byte N24 , An2 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte PEND +mus_vs_front_8_002: + .byte MOD , 0 + .byte N12 , Gs2 , v112 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte PEND + .byte W12 + .byte N12 + .byte W36 + .byte An2 + .byte W24 + .byte N24 , Fs2 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte PATT + .word mus_vs_front_8_002 + .byte PATT + .word mus_vs_front_8_001 +mus_vs_front_8_003: + .byte MOD , 0 + .byte N12 , Fs2 , v112 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte PEND + .byte W12 + .byte N36 , Ds2 + .byte W24 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N24 , Fs2 + .byte W24 + .byte Bn2 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte PATT + .word mus_vs_front_8_003 + .byte N12 , Fs2 , v112 + .byte W36 + .byte N12 + .byte W36 + .byte N24 , Gn2 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte PATT + .word mus_vs_front_8_002 + .byte W12 + .byte N12 , Gs2 , v112 + .byte W36 + .byte N24 , An2 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N24 , Fs2 + .byte W12 + .byte MOD , 9 + .byte W12 + .byte 0 + .byte N12 , Gs3 + .byte W12 + .byte N12 + .byte W06 + .byte MOD , 7 + .byte W06 + .byte 0 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte N24 + .byte W12 + .byte VOL , 22*mus_vs_front_mvl/mxv + .byte W06 + .byte 11*mus_vs_front_mvl/mxv + .byte W06 + .byte 34*mus_vs_front_mvl/mxv + .byte N24 + .byte W12 + .byte MOD , 9 + .byte VOL , 22*mus_vs_front_mvl/mxv + .byte W06 + .byte 11*mus_vs_front_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte N48 , Bn4 + .byte W48 + .byte As4 + .byte W48 + .byte An4 + .byte W48 + .byte Gs4 + .byte W48 + .byte N24 , Bn4 + .byte W24 + .byte As4 + .byte W24 + .byte An4 + .byte W24 + .byte Gs4 + .byte W24 + .byte N06 , Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte Gs4 + .byte W06 + .byte Gn4 + .byte W06 + .byte Fs4 + .byte W06 + .byte Fn4 + .byte W06 + .byte En4 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte Gs3 + .byte W06 + .byte En3 + .byte W06 + .byte W12 + .byte N36 , Gn3 + .byte W36 + .byte N12 , An3 + .byte W24 + .byte Cn4 + .byte W24 + .byte N12 + .byte W12 + .byte N36 , Bn3 + .byte W36 + .byte N12 , Cn4 + .byte W24 + .byte N24 , En4 + .byte W24 + .byte N96 , Cn4 + .byte W96 + .byte Gn3 + .byte W96 + .byte W12 + .byte N36 + .byte W36 + .byte N12 , An3 + .byte W24 + .byte N24 , Cn4 + .byte W24 + .byte N12 + .byte W12 + .byte N24 , Bn3 + .byte W24 + .byte N12 , Cn4 + .byte W24 + .byte N36 , En4 + .byte W36 +mus_vs_front_8_004: + .byte N12 , Gn4 , v112 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte PEND + .byte W12 + .byte N36 , Ds4 + .byte W36 + .byte N12 , Gn4 + .byte W24 + .byte Ds4 + .byte W24 + .byte PATT + .word mus_vs_front_8_004 + .byte W12 + .byte N36 , En4 , v112 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 27*mus_vs_front_mvl/mxv + .byte W02 + .byte 24*mus_vs_front_mvl/mxv + .byte W01 + .byte 21*mus_vs_front_mvl/mxv + .byte W03 + .byte 16*mus_vs_front_mvl/mxv + .byte W02 + .byte 16*mus_vs_front_mvl/mxv + .byte W01 + .byte 11*mus_vs_front_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte N12 , Gn4 + .byte W24 + .byte N12 + .byte W24 + .byte Gs4 + .byte W36 + .byte N12 + .byte W36 + .byte N12 + .byte W24 + .byte W12 + .byte N36 , Gn4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 27*mus_vs_front_mvl/mxv + .byte W02 + .byte 24*mus_vs_front_mvl/mxv + .byte W01 + .byte 21*mus_vs_front_mvl/mxv + .byte W03 + .byte 16*mus_vs_front_mvl/mxv + .byte W02 + .byte 16*mus_vs_front_mvl/mxv + .byte W01 + .byte 11*mus_vs_front_mvl/mxv + .byte W03 + .byte MOD , 0 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte N12 + .byte W24 + .byte N96 , Bn4 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte VOL , 30*mus_vs_front_mvl/mxv + .byte W02 + .byte 29*mus_vs_front_mvl/mxv + .byte W04 + .byte 27*mus_vs_front_mvl/mxv + .byte W02 + .byte 26*mus_vs_front_mvl/mxv + .byte W04 + .byte 24*mus_vs_front_mvl/mxv + .byte W02 + .byte 22*mus_vs_front_mvl/mxv + .byte W06 + .byte 20*mus_vs_front_mvl/mxv + .byte W04 + .byte 19*mus_vs_front_mvl/mxv + .byte W02 + .byte 17*mus_vs_front_mvl/mxv + .byte W04 + .byte 16*mus_vs_front_mvl/mxv + .byte W02 + .byte 14*mus_vs_front_mvl/mxv + .byte W04 + .byte 13*mus_vs_front_mvl/mxv + .byte W02 + .byte 12*mus_vs_front_mvl/mxv + .byte W04 + .byte 11*mus_vs_front_mvl/mxv + .byte W02 + .byte 10*mus_vs_front_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte W24 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte N12 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Fn2 + .byte W24 + .byte Gn3 + .byte W24 + .byte Fn3 + .byte W12 + .byte W12 + .byte An3 + .byte W24 + .byte Fn3 + .byte W24 + .byte Cn4 + .byte W12 + .byte N06 , Bn3 + .byte W06 + .byte An3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fn3 + .byte W06 + .byte N12 , Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Dn3 + .byte W24 + .byte Gn3 + .byte W24 + .byte Fn3 + .byte W12 + .byte VOICE , 82 + .byte N24 , Dn3 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N48 + .byte W48 + .byte VOICE , 83 + .byte N12 , Bn2 + .byte W12 + .byte Dn3 + .byte W12 + .byte Gn3 + .byte W12 + .byte Gn2 + .byte W24 + .byte Dn3 + .byte W24 + .byte Gn3 + .byte W12 + .byte Bn3 + .byte W12 + .byte Gn3 + .byte W24 + .byte En3 + .byte W24 + .byte Gn3 + .byte W24 + .byte Bn3 + .byte W12 + .byte An3 + .byte W12 + .byte En3 + .byte W24 + .byte Cs3 + .byte W24 + .byte Cs4 + .byte W12 + .byte VOICE , 82 + .byte N02 , An2 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N24 + .byte W12 + .byte VOL , 22*mus_vs_front_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte W08 + .byte N02 , Gn2 + .byte W08 + .byte N02 + .byte W08 + .byte N24 + .byte W12 + .byte VOL , 22*mus_vs_front_mvl/mxv + .byte MOD , 7 + .byte W12 + .byte VOICE , 83 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte N12 , Fn3 + .byte W12 + .byte En3 + .byte W12 + .byte Fn3 + .byte W12 + .byte Cn3 + .byte W12 + .byte An2 + .byte W36 + .byte Fn3 + .byte W12 + .byte An3 + .byte W24 + .byte Cn4 + .byte W18 + .byte N03 , An3 + .byte W06 + .byte N72 + .byte W12 + .byte VOL , 31*mus_vs_front_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 30*mus_vs_front_mvl/mxv + .byte W04 + .byte 29*mus_vs_front_mvl/mxv + .byte W02 + .byte 28*mus_vs_front_mvl/mxv + .byte W06 + .byte 26*mus_vs_front_mvl/mxv + .byte W04 + .byte 25*mus_vs_front_mvl/mxv + .byte W02 + .byte 24*mus_vs_front_mvl/mxv + .byte W04 + .byte 22*mus_vs_front_mvl/mxv + .byte W02 + .byte 21*mus_vs_front_mvl/mxv + .byte W04 + .byte 19*mus_vs_front_mvl/mxv + .byte W02 + .byte 17*mus_vs_front_mvl/mxv + .byte W04 + .byte 15*mus_vs_front_mvl/mxv + .byte W02 + .byte 13*mus_vs_front_mvl/mxv + .byte W04 + .byte 12*mus_vs_front_mvl/mxv + .byte W02 + .byte 10*mus_vs_front_mvl/mxv + .byte W04 + .byte 8*mus_vs_front_mvl/mxv + .byte W02 + .byte 7*mus_vs_front_mvl/mxv + .byte W10 + .byte MOD , 0 + .byte VOL , 34*mus_vs_front_mvl/mxv + .byte N12 , Fs3 + .byte W12 + .byte Cn3 + .byte W12 + .byte An2 + .byte W36 + .byte Fs3 + .byte W24 + .byte An3 + .byte W12 + .byte Cn4 + .byte W18 + .byte N03 , An3 + .byte W06 + .byte N48 + .byte W12 + .byte VOL , 28*mus_vs_front_mvl/mxv + .byte MOD , 8 + .byte W02 + .byte VOL , 26*mus_vs_front_mvl/mxv + .byte W04 + .byte 23*mus_vs_front_mvl/mxv + .byte W02 + .byte 21*mus_vs_front_mvl/mxv + .byte W04 + .byte 19*mus_vs_front_mvl/mxv + .byte W02 + .byte 17*mus_vs_front_mvl/mxv + .byte W04 + .byte 15*mus_vs_front_mvl/mxv + .byte W02 + .byte 14*mus_vs_front_mvl/mxv + .byte W04 + .byte 12*mus_vs_front_mvl/mxv + .byte W02 + .byte 10*mus_vs_front_mvl/mxv + .byte W04 + .byte 7*mus_vs_front_mvl/mxv + .byte W06 + .byte 34*mus_vs_front_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte W96 + .byte W96 + .byte GOTO + .word mus_vs_front_8_B1 + .byte FINE + +@********************** Track 9 **********************@ + +mus_vs_front_9: + .byte KEYSH , mus_vs_front_key+0 + .byte VOICE , 0 + .byte VOL , 79*mus_vs_front_mvl/mxv + .byte PAN , c_v+0 + .byte W12 + .byte N06 , Cn1 , v112 + .byte N24 , An2 + .byte W24 + .byte Cs2 + .byte W24 + .byte N06 , Cn1 + .byte N24 , Gn2 + .byte W24 + .byte En2 , v127 + .byte W24 + .byte N08 , Dn2 , v096 + .byte W08 + .byte Dn2 , v092 + .byte W08 + .byte Cn1 + .byte W08 + .byte Cn2 + .byte W08 + .byte N08 + .byte W08 + .byte Cn1 + .byte W08 + .byte Bn1 + .byte W08 + .byte N08 + .byte W08 + .byte Cn1 + .byte W08 + .byte An1 + .byte W08 + .byte N08 + .byte W08 + .byte Cn1 + .byte W08 + .byte Gn1 + .byte W08 + .byte N08 + .byte W08 + .byte Cn1 + .byte W08 + .byte Fn1 + .byte W08 + .byte N08 + .byte W08 + .byte Cn1 + .byte W08 + .byte Dn1 , v112 + .byte W08 + .byte N08 + .byte W08 + .byte Cn1 , v092 + .byte W08 + .byte N24 , Cn3 , v124 + .byte W24 +mus_vs_front_9_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte N24 , An2 , v112 + .byte W24 + .byte Cs2 + .byte W24 + .byte Gn2 + .byte W24 + .byte En2 , v127 + .byte W24 +mus_vs_front_9_000: + .byte N06 , Cn1 , v112 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte PEND +mus_vs_front_9_001: + .byte N06 , Cn1 , v112 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Dn1 + .byte W24 + .byte PEND + .byte Cn1 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W36 + .byte PATT + .word mus_vs_front_9_001 + .byte PATT + .word mus_vs_front_9_000 + .byte PATT + .word mus_vs_front_9_001 + .byte N06 , Cn1 , v112 + .byte W24 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte En1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte PATT + .word mus_vs_front_9_001 + .byte PATT + .word mus_vs_front_9_001 + .byte N06 , Cn1 , v112 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte Dn1 + .byte W24 + .byte Cn1 + .byte W12 + .byte N06 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W24 + .byte N06 + .byte W12 + .byte Dn1 + .byte W24 + .byte Cn1 + .byte W24 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W24 + .byte N06 + .byte W12 + .byte Dn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte N08 , Dn2 + .byte W08 + .byte N08 + .byte W08 + .byte Cn1 + .byte W08 + .byte Cn2 + .byte W08 + .byte N08 + .byte W08 + .byte Cn1 + .byte W08 + .byte Bn1 + .byte W08 + .byte N08 + .byte W08 + .byte Cn1 + .byte W08 + .byte An1 + .byte W08 + .byte N08 + .byte W08 + .byte Cn1 + .byte W08 + .byte Gn1 + .byte W08 + .byte N08 + .byte W08 + .byte Cn1 + .byte W08 + .byte Fn1 + .byte W08 + .byte N08 + .byte W08 + .byte Cn1 + .byte W08 + .byte Cs1 + .byte W08 + .byte N08 + .byte W08 + .byte Cn1 + .byte W08 + .byte N24 , Cn3 , v127 + .byte W24 + .byte GOTO + .word mus_vs_front_9_B1 + .byte FINE + +@********************** Track 10 **********************@ + +mus_vs_front_10: + .byte KEYSH , mus_vs_front_key+0 + .byte VOICE , 127 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-1 + .byte VOL , 45*mus_vs_front_mvl/mxv + .byte W12 + .byte W96 +mus_vs_front_10_000: + .byte N02 , Cn5 , v064 + .byte W12 + .byte Cn5 , v016 + .byte W12 + .byte Cn5 , v040 + .byte W12 + .byte Cn5 , v016 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v016 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v016 + .byte W12 + .byte PEND + .byte PATT + .word mus_vs_front_10_000 +mus_vs_front_10_B1: + .byte PATT + .word mus_vs_front_10_000 + .byte PATT + .word mus_vs_front_10_000 + .byte PATT + .word mus_vs_front_10_000 + .byte PATT + .word mus_vs_front_10_000 + .byte PATT + .word mus_vs_front_10_000 + .byte PATT + .word mus_vs_front_10_000 + .byte PATT + .word mus_vs_front_10_000 + .byte PATT + .word mus_vs_front_10_000 + .byte PATT + .word mus_vs_front_10_000 + .byte PATT + .word mus_vs_front_10_000 + .byte PATT + .word mus_vs_front_10_000 + .byte PATT + .word mus_vs_front_10_000 +mus_vs_front_10_001: + .byte N02 , Cn5 , v080 + .byte W12 + .byte Cn5 , v016 + .byte W12 + .byte Cn5 , v040 + .byte W12 + .byte Cn5 , v016 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v016 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v016 + .byte W12 + .byte PEND + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte PATT + .word mus_vs_front_10_001 + .byte VOL , 55*mus_vs_front_mvl/mxv + .byte N02 , Cn5 , v064 + .byte W12 + .byte Cn5 , v016 + .byte W12 + .byte Cn5 , v040 + .byte W12 + .byte Cn5 , v016 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v016 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v016 + .byte W12 + .byte PATT + .word mus_vs_front_10_000 + .byte PATT + .word mus_vs_front_10_000 + .byte PATT + .word mus_vs_front_10_000 + .byte PATT + .word mus_vs_front_10_000 + .byte PATT + .word mus_vs_front_10_000 + .byte PATT + .word mus_vs_front_10_000 + .byte PATT + .word mus_vs_front_10_000 + .byte PATT + .word mus_vs_front_10_000 + .byte PATT + .word mus_vs_front_10_000 + .byte PATT + .word mus_vs_front_10_000 + .byte PATT + .word mus_vs_front_10_000 + .byte VOL , 44*mus_vs_front_mvl/mxv + .byte N02 , Cn5 , v064 + .byte W12 + .byte Cn5 , v016 + .byte W12 + .byte Cn5 , v040 + .byte W12 + .byte Cn5 , v016 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v016 + .byte W12 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v016 + .byte W12 + .byte PATT + .word mus_vs_front_10_000 + .byte GOTO + .word mus_vs_front_10_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_vs_front: + .byte 10 @ NumTrks + .byte 0 @ NumBlks + .byte mus_vs_front_pri @ Priority + .byte mus_vs_front_rev @ Reverb. + + .word mus_vs_front_grp + + .word mus_vs_front_1 + .word mus_vs_front_2 + .word mus_vs_front_3 + .word mus_vs_front_4 + .word mus_vs_front_5 + .word mus_vs_front_6 + .word mus_vs_front_7 + .word mus_vs_front_8 + .word mus_vs_front_9 + .word mus_vs_front_10 + + .end diff --git a/sound/songs/mus_vs_mew.s b/sound/songs/mus_vs_mew.s new file mode 100644 index 0000000000..1156a958bc --- /dev/null +++ b/sound/songs/mus_vs_mew.s @@ -0,0 +1,3873 @@ + .include "MPlayDef.s" + + .equ mus_vs_mew_grp, voicegroup_8699E54 + .equ mus_vs_mew_pri, 0 + .equ mus_vs_mew_rev, reverb_set+50 + .equ mus_vs_mew_mvl, 127 + .equ mus_vs_mew_key, 0 + .equ mus_vs_mew_tbs, 1 + .equ mus_vs_mew_exg, 0 + .equ mus_vs_mew_cmp, 1 + + .section .rodata + .global mus_vs_mew + .align 2 + +@********************** Track 1 **********************@ + +mus_vs_mew_1: + .byte KEYSH , mus_vs_mew_key+0 + .byte TEMPO , 182*mus_vs_mew_tbs/2 + .byte VOICE , 87 + .byte PAN , c_v+0 + .byte VOL , 90*mus_vs_mew_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte N06 , En4 , v080 + .byte W06 + .byte Ds4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Dn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Cs3 + .byte W06 + .byte Dn3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte VOICE , 84 + .byte VOL , 79*mus_vs_mew_mvl/mxv + .byte N06 , Bn3 + .byte W36 + .byte Gs3 + .byte W36 + .byte Gn3 + .byte W24 + .byte W48 + .byte Fn3 + .byte W48 +mus_vs_mew_1_000: + .byte W36 + .byte N06 , Gs3 , v080 + .byte W36 + .byte Gn3 + .byte W24 + .byte PEND + .byte W36 + .byte VOL , 57*mus_vs_mew_mvl/mxv + .byte N60 , Fn3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte VOL , 89*mus_vs_mew_mvl/mxv + .byte W24 + .byte 79*mus_vs_mew_mvl/mxv + .byte MOD , 0 + .byte N06 , Bn3 + .byte W36 + .byte Gs3 + .byte W36 + .byte Gn3 + .byte W24 + .byte W48 + .byte Fn3 + .byte W48 + .byte PATT + .word mus_vs_mew_1_000 + .byte W36 + .byte N60 , Fn3 , v080 + .byte W12 + .byte MOD , 7 + .byte W48 +mus_vs_mew_1_B1: + .byte VOL , 89*mus_vs_mew_mvl/mxv + .byte MOD , 0 + .byte N06 , Fn3 , v080 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte En3 + .byte W06 + .byte Ds3 + .byte W06 + .byte En3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 +mus_vs_mew_1_001: + .byte N06 , Fn3 , v080 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte Cs4 + .byte W06 + .byte Cn4 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte PEND +mus_vs_mew_1_002: + .byte N06 , Fn3 , v080 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte Bn3 + .byte W06 + .byte Cn4 + .byte W06 + .byte PEND + .byte Cs4 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 +mus_vs_mew_1_003: + .byte N06 , Gn3 , v080 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte An3 + .byte W06 + .byte As3 + .byte W06 + .byte An3 + .byte W06 + .byte Gs3 + .byte W06 + .byte PEND + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Fn3 + .byte W06 + .byte Fs3 + .byte W06 + .byte Gn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte PATT + .word mus_vs_mew_1_003 + .byte PATT + .word mus_vs_mew_1_001 + .byte PATT + .word mus_vs_mew_1_001 + .byte PATT + .word mus_vs_mew_1_001 + .byte PATT + .word mus_vs_mew_1_002 + .byte N24 , Fs3 , v080 + .byte W24 + .byte En3 + .byte W24 + .byte Fs3 + .byte W24 + .byte An3 + .byte W24 + .byte N36 , Gs3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Fs3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , An3 + .byte W24 + .byte N72 , Cs4 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 67*mus_vs_mew_mvl/mxv + .byte W48 + .byte 90*mus_vs_mew_mvl/mxv + .byte MOD , 0 + .byte N24 , Dn4 + .byte W24 + .byte N96 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W12 + .byte VOL , 68*mus_vs_mew_mvl/mxv + .byte W72 + .byte 90*mus_vs_mew_mvl/mxv + .byte MOD , 0 + .byte N24 , Fs3 + .byte W24 + .byte En3 + .byte W24 + .byte Fs3 + .byte W24 + .byte An3 + .byte W24 + .byte N36 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Cs4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Ds4 + .byte W24 + .byte VOL , 68*mus_vs_mew_mvl/mxv + .byte N96 , En4 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte VOL , 90*mus_vs_mew_mvl/mxv + .byte W24 + .byte 68*mus_vs_mew_mvl/mxv + .byte MOD , 0 + .byte N96 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte VOL , 90*mus_vs_mew_mvl/mxv + .byte W24 + .byte 68*mus_vs_mew_mvl/mxv + .byte MOD , 0 + .byte N72 , En3 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte VOL , 90*mus_vs_mew_mvl/mxv + .byte MOD , 0 + .byte N12 + .byte W24 + .byte Fs3 + .byte W12 + .byte En3 + .byte W84 + .byte VOL , 68*mus_vs_mew_mvl/mxv + .byte N72 , Fn3 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte VOL , 90*mus_vs_mew_mvl/mxv + .byte MOD , 0 + .byte N12 + .byte W24 + .byte An3 + .byte W12 + .byte Gn3 + .byte W36 + .byte N48 , Fn3 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte GOTO + .word mus_vs_mew_1_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 2 **********************@ + +mus_vs_mew_2: + .byte KEYSH , mus_vs_mew_key+0 + .byte VOICE , 48 + .byte PAN , c_v+0 + .byte VOL , 90*mus_vs_mew_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte BEND , c_v+1 + .byte N06 , Bn4 , v064 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 + .byte Bn4 + .byte W06 + .byte As4 + .byte W06 + .byte An4 + .byte W06 + .byte An5 + .byte W06 + .byte VOICE , 4 + .byte VOL , 68*mus_vs_mew_mvl/mxv + .byte N12 , Bn4 , v084 + .byte W24 + .byte Bn4 , v032 + .byte W12 + .byte Bn3 , v084 + .byte W24 + .byte Bn3 , v032 + .byte W12 + .byte Bn3 , v080 + .byte W24 +mus_vs_mew_2_000: + .byte N12 , Bn3 , v032 + .byte W48 + .byte Bn3 , v084 + .byte W24 + .byte Bn3 , v032 + .byte W24 + .byte PEND + .byte W36 + .byte Bn3 , v084 + .byte W24 + .byte Bn3 , v032 + .byte W12 + .byte Bn3 , v084 + .byte W24 + .byte Bn3 , v032 + .byte W36 + .byte N60 , As3 , v080 + .byte W06 + .byte VOL , 23*mus_vs_mew_mvl/mxv + .byte W06 + .byte 33*mus_vs_mew_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 41*mus_vs_mew_mvl/mxv + .byte W07 + .byte 51*mus_vs_mew_mvl/mxv + .byte W05 + .byte 64*mus_vs_mew_mvl/mxv + .byte W07 + .byte 72*mus_vs_mew_mvl/mxv + .byte W24 + .byte 68*mus_vs_mew_mvl/mxv + .byte MOD , 0 + .byte N12 , Bn3 + .byte W24 + .byte Bn3 , v032 + .byte W12 + .byte Bn3 , v080 + .byte W24 + .byte Bn3 , v032 + .byte W12 + .byte Bn3 , v080 + .byte W24 + .byte PATT + .word mus_vs_mew_2_000 + .byte W36 + .byte N12 , Bn3 , v080 + .byte W24 + .byte Bn3 , v032 + .byte W12 + .byte Bn3 , v080 + .byte W24 + .byte Bn3 , v032 + .byte W36 + .byte N60 , Bn3 , v080 + .byte W12 + .byte VOL , 34*mus_vs_mew_mvl/mxv + .byte MOD , 7 + .byte W06 + .byte VOL , 39*mus_vs_mew_mvl/mxv + .byte W05 + .byte 55*mus_vs_mew_mvl/mxv + .byte W06 + .byte 68*mus_vs_mew_mvl/mxv + .byte W06 + .byte 78*mus_vs_mew_mvl/mxv + .byte W06 + .byte 86*mus_vs_mew_mvl/mxv + .byte W19 +mus_vs_mew_2_B1: + .byte VOICE , 81 + .byte VOL , 68*mus_vs_mew_mvl/mxv + .byte MOD , 0 + .byte N36 , Bn3 , v096 + .byte W36 + .byte As3 + .byte W36 + .byte N24 , Gs3 + .byte W24 + .byte N36 , Bn3 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Cs4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Bn3 + .byte W24 + .byte N72 , Cn5 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte 0 + .byte N12 , Bn4 + .byte W24 + .byte Cn5 + .byte W12 + .byte Bn4 + .byte W36 + .byte N48 , Fn5 + .byte W06 + .byte VOL , 34*mus_vs_mew_mvl/mxv + .byte W06 + .byte 36*mus_vs_mew_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 44*mus_vs_mew_mvl/mxv + .byte W06 + .byte 54*mus_vs_mew_mvl/mxv + .byte W06 + .byte 70*mus_vs_mew_mvl/mxv + .byte W06 + .byte 78*mus_vs_mew_mvl/mxv + .byte W01 + .byte 87*mus_vs_mew_mvl/mxv + .byte W12 + .byte 68*mus_vs_mew_mvl/mxv + .byte MOD , 0 + .byte N36 , En4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Cn4 + .byte W24 + .byte N36 , Fn4 + .byte W36 + .byte En4 + .byte W36 + .byte N24 , Dn4 + .byte W24 + .byte N36 , An4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Gs4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Fs4 + .byte W24 + .byte Dn4 + .byte W24 + .byte En4 + .byte W24 + .byte Fs4 + .byte W24 + .byte An4 + .byte W24 + .byte VOL , 68*mus_vs_mew_mvl/mxv + .byte N06 , Fn4 , v076 + .byte W12 + .byte MOD , 7 + .byte VOL , 68*mus_vs_mew_mvl/mxv + .byte N06 , En4 + .byte W12 + .byte N12 , Dn4 + .byte W12 + .byte VOL , 56*mus_vs_mew_mvl/mxv + .byte TIE , Cn5 , v096 + .byte W12 + .byte VOL , 45*mus_vs_mew_mvl/mxv + .byte W36 + .byte W03 + .byte 27*mus_vs_mew_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 34*mus_vs_mew_mvl/mxv + .byte W06 + .byte 38*mus_vs_mew_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte VOL , 45*mus_vs_mew_mvl/mxv + .byte W06 + .byte 50*mus_vs_mew_mvl/mxv + .byte W06 + .byte 56*mus_vs_mew_mvl/mxv + .byte W06 + .byte 61*mus_vs_mew_mvl/mxv + .byte W06 + .byte 67*mus_vs_mew_mvl/mxv + .byte W06 + .byte 74*mus_vs_mew_mvl/mxv + .byte W06 + .byte 79*mus_vs_mew_mvl/mxv + .byte W12 + .byte 85*mus_vs_mew_mvl/mxv + .byte W36 + .byte EOT + .byte MOD , 0 + .byte VOL , 44*mus_vs_mew_mvl/mxv + .byte N03 , As4 , v084 + .byte W03 + .byte TIE , Bn4 , v080 + .byte W09 + .byte MOD , 7 + .byte W12 + .byte VOL , 33*mus_vs_mew_mvl/mxv + .byte W66 + .byte 25*mus_vs_mew_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 34*mus_vs_mew_mvl/mxv + .byte W06 + .byte 38*mus_vs_mew_mvl/mxv + .byte W06 + .byte MOD , 7 + .byte VOL , 44*mus_vs_mew_mvl/mxv + .byte W06 + .byte 50*mus_vs_mew_mvl/mxv + .byte W06 + .byte 56*mus_vs_mew_mvl/mxv + .byte W06 + .byte 60*mus_vs_mew_mvl/mxv + .byte W06 + .byte 67*mus_vs_mew_mvl/mxv + .byte W06 + .byte 74*mus_vs_mew_mvl/mxv + .byte W06 + .byte 79*mus_vs_mew_mvl/mxv + .byte W12 + .byte 84*mus_vs_mew_mvl/mxv + .byte W12 + .byte 90*mus_vs_mew_mvl/mxv + .byte W24 + .byte EOT + .byte VOICE , 92 + .byte VOL , 67*mus_vs_mew_mvl/mxv + .byte MOD , 0 + .byte VOL , 68*mus_vs_mew_mvl/mxv + .byte N48 , An3 , v096 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W36 +mus_vs_mew_2_001: + .byte MOD , 0 + .byte N48 , Fs4 , v096 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , An4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte PEND + .byte 0 + .byte N96 , Gs4 + .byte W06 + .byte VOL , 22*mus_vs_mew_mvl/mxv + .byte W06 + .byte 29*mus_vs_mew_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 31*mus_vs_mew_mvl/mxv + .byte W07 + .byte 35*mus_vs_mew_mvl/mxv + .byte W05 + .byte 40*mus_vs_mew_mvl/mxv + .byte W07 + .byte 47*mus_vs_mew_mvl/mxv + .byte W05 + .byte 52*mus_vs_mew_mvl/mxv + .byte W07 + .byte 57*mus_vs_mew_mvl/mxv + .byte W05 + .byte 63*mus_vs_mew_mvl/mxv + .byte W07 + .byte 68*mus_vs_mew_mvl/mxv + .byte W05 + .byte 72*mus_vs_mew_mvl/mxv + .byte W07 + .byte 76*mus_vs_mew_mvl/mxv + .byte W24 + .byte 68*mus_vs_mew_mvl/mxv + .byte MOD , 0 + .byte N96 + .byte W06 + .byte VOL , 22*mus_vs_mew_mvl/mxv + .byte W06 + .byte 28*mus_vs_mew_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 31*mus_vs_mew_mvl/mxv + .byte W07 + .byte 36*mus_vs_mew_mvl/mxv + .byte W05 + .byte 41*mus_vs_mew_mvl/mxv + .byte W07 + .byte 46*mus_vs_mew_mvl/mxv + .byte W05 + .byte 53*mus_vs_mew_mvl/mxv + .byte W07 + .byte 56*mus_vs_mew_mvl/mxv + .byte W05 + .byte 62*mus_vs_mew_mvl/mxv + .byte W07 + .byte 65*mus_vs_mew_mvl/mxv + .byte W05 + .byte 70*mus_vs_mew_mvl/mxv + .byte W07 + .byte 75*mus_vs_mew_mvl/mxv + .byte W06 + .byte 79*mus_vs_mew_mvl/mxv + .byte W18 + .byte 68*mus_vs_mew_mvl/mxv + .byte MOD , 0 + .byte N48 , An3 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte PATT + .word mus_vs_mew_2_001 + .byte MOD , 0 + .byte N96 , Bn4 , v096 + .byte W06 + .byte VOL , 34*mus_vs_mew_mvl/mxv + .byte W06 + .byte 41*mus_vs_mew_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 43*mus_vs_mew_mvl/mxv + .byte W07 + .byte 46*mus_vs_mew_mvl/mxv + .byte W05 + .byte 48*mus_vs_mew_mvl/mxv + .byte W07 + .byte 51*mus_vs_mew_mvl/mxv + .byte W05 + .byte 55*mus_vs_mew_mvl/mxv + .byte W07 + .byte 60*mus_vs_mew_mvl/mxv + .byte W05 + .byte 67*mus_vs_mew_mvl/mxv + .byte W07 + .byte 75*mus_vs_mew_mvl/mxv + .byte W05 + .byte 79*mus_vs_mew_mvl/mxv + .byte W30 + .byte W01 + .byte 68*mus_vs_mew_mvl/mxv + .byte MOD , 0 + .byte N96 , En5 + .byte W06 + .byte VOL , 22*mus_vs_mew_mvl/mxv + .byte W06 + .byte 24*mus_vs_mew_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 28*mus_vs_mew_mvl/mxv + .byte W07 + .byte 31*mus_vs_mew_mvl/mxv + .byte W05 + .byte 36*mus_vs_mew_mvl/mxv + .byte W07 + .byte 42*mus_vs_mew_mvl/mxv + .byte W05 + .byte 50*mus_vs_mew_mvl/mxv + .byte W07 + .byte 58*mus_vs_mew_mvl/mxv + .byte W05 + .byte 68*mus_vs_mew_mvl/mxv + .byte W07 + .byte 74*mus_vs_mew_mvl/mxv + .byte W05 + .byte 83*mus_vs_mew_mvl/mxv + .byte W30 + .byte W01 + .byte 68*mus_vs_mew_mvl/mxv + .byte MOD , 0 + .byte N72 , Gs4 + .byte W06 + .byte VOL , 45*mus_vs_mew_mvl/mxv + .byte W06 + .byte 46*mus_vs_mew_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 47*mus_vs_mew_mvl/mxv + .byte W07 + .byte 49*mus_vs_mew_mvl/mxv + .byte W05 + .byte 53*mus_vs_mew_mvl/mxv + .byte W07 + .byte 55*mus_vs_mew_mvl/mxv + .byte W05 + .byte 58*mus_vs_mew_mvl/mxv + .byte W07 + .byte 60*mus_vs_mew_mvl/mxv + .byte W05 + .byte 67*mus_vs_mew_mvl/mxv + .byte W07 + .byte 72*mus_vs_mew_mvl/mxv + .byte W05 + .byte 77*mus_vs_mew_mvl/mxv + .byte W01 + .byte 79*mus_vs_mew_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte N12 + .byte W24 + .byte VOL , 68*mus_vs_mew_mvl/mxv + .byte N12 , An4 + .byte W12 + .byte N24 , Gs4 + .byte W84 + .byte VOL , 68*mus_vs_mew_mvl/mxv + .byte N72 , An4 + .byte W06 + .byte VOL , 45*mus_vs_mew_mvl/mxv + .byte W06 + .byte 46*mus_vs_mew_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 47*mus_vs_mew_mvl/mxv + .byte W07 + .byte 49*mus_vs_mew_mvl/mxv + .byte W05 + .byte 53*mus_vs_mew_mvl/mxv + .byte W07 + .byte 55*mus_vs_mew_mvl/mxv + .byte W05 + .byte 58*mus_vs_mew_mvl/mxv + .byte W07 + .byte 60*mus_vs_mew_mvl/mxv + .byte W05 + .byte 67*mus_vs_mew_mvl/mxv + .byte W07 + .byte 72*mus_vs_mew_mvl/mxv + .byte W05 + .byte 77*mus_vs_mew_mvl/mxv + .byte W01 + .byte 79*mus_vs_mew_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte N12 + .byte W24 + .byte VOL , 68*mus_vs_mew_mvl/mxv + .byte N12 , Cn5 + .byte W12 + .byte Bn4 + .byte W36 + .byte N48 , An4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte GOTO + .word mus_vs_mew_2_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 3 **********************@ + +mus_vs_mew_3: + .byte KEYSH , mus_vs_mew_key+0 + .byte VOICE , 83 + .byte PAN , c_v-64 + .byte VOL , 68*mus_vs_mew_mvl/mxv + .byte N06 , Fn2 , v092 + .byte W12 + .byte N06 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Fs2 + .byte W12 + .byte N06 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Gn2 + .byte W12 + .byte N06 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Gs2 + .byte W12 + .byte N06 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , An2 + .byte W12 + .byte N06 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , As2 + .byte W12 + .byte N06 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Bn2 + .byte W12 + .byte N06 + .byte W06 + .byte En2 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Dn2 + .byte W12 + .byte Ds2 + .byte W12 +mus_vs_mew_3_000: + .byte PAN , c_v-64 + .byte VOL , 56*mus_vs_mew_mvl/mxv + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte Bn2 , v092 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte Bn2 , v092 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte Bn2 , v092 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte Bn2 , v092 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte PEND +mus_vs_mew_3_001: + .byte PAN , c_v-64 + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte Bn2 , v092 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte Bn2 , v092 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte Bn2 , v092 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte Bn2 , v092 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte PEND + .byte PAN , c_v-64 + .byte N06 , Fn2 , v092 + .byte W06 + .byte Fn2 , v040 + .byte W06 + .byte Cn3 , v092 + .byte W06 + .byte Cn3 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte VOL , 68*mus_vs_mew_mvl/mxv + .byte N24 , Fn2 , v092 + .byte W24 + .byte PAN , c_v-64 + .byte N12 , Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn3 + .byte W12 + .byte An2 + .byte W12 + .byte PAN , c_v-64 + .byte N12 , Fn2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+63 + .byte N24 , Fn2 + .byte W24 + .byte PAN , c_v-64 + .byte N12 , An2 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , Bn2 + .byte W03 + .byte Cn3 , v088 + .byte W03 + .byte N06 , Bn2 + .byte W06 + .byte N12 , An2 , v092 + .byte W12 + .byte PATT + .word mus_vs_mew_3_000 + .byte PATT + .word mus_vs_mew_3_001 +mus_vs_mew_3_002: + .byte PAN , c_v-64 + .byte N12 , Fn2 , v092 + .byte W12 + .byte Cn3 + .byte W12 + .byte PAN , c_v+63 + .byte N24 , Fn2 + .byte W24 + .byte PAN , c_v-64 + .byte N12 , Cn3 + .byte W12 + .byte Dn3 + .byte W12 + .byte PAN , c_v+63 + .byte N12 , Cn3 + .byte W12 + .byte An2 + .byte W12 + .byte PEND + .byte PATT + .word mus_vs_mew_3_002 +mus_vs_mew_3_B1: + .byte VOICE , 80 + .byte PAN , c_v-64 + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte Bn2 , v092 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte Bn2 , v092 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte Bn2 , v092 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte Bn2 , v092 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte PATT + .word mus_vs_mew_3_001 + .byte PAN , c_v-64 + .byte VOL , 68*mus_vs_mew_mvl/mxv + .byte N72 , Cn3 , v092 + .byte W72 + .byte PAN , c_v+63 + .byte N12 , Bn2 + .byte W24 + .byte PAN , c_v-64 + .byte N12 , Cn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte W24 + .byte c_v-64 + .byte N12 , Cn3 + .byte W12 + .byte Bn2 + .byte W12 + .byte PAN , c_v+63 + .byte N03 , As2 , v096 + .byte W03 + .byte Bn2 + .byte W03 + .byte N06 , As2 + .byte W06 + .byte N12 , Gn2 , v092 + .byte W12 + .byte PATT + .word mus_vs_mew_3_000 + .byte PATT + .word mus_vs_mew_3_001 + .byte PATT + .word mus_vs_mew_3_001 + .byte PAN , c_v-64 + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte Bn2 , v092 + .byte W06 + .byte Bn2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Dn2 , v092 + .byte W06 + .byte Dn2 , v040 + .byte W06 + .byte An2 , v092 + .byte W06 + .byte An2 , v040 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Dn2 , v092 + .byte W06 + .byte Dn2 , v040 + .byte W06 + .byte An2 , v092 + .byte W06 + .byte An2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Dn2 , v092 + .byte W06 + .byte Dn2 , v040 + .byte W06 + .byte An2 , v092 + .byte W06 + .byte An2 , v040 + .byte W06 +mus_vs_mew_3_003: + .byte PAN , c_v-64 + .byte N06 , Fn2 , v092 + .byte W06 + .byte Fn2 , v040 + .byte W06 + .byte Cn3 , v092 + .byte W06 + .byte Cn3 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Fn2 , v092 + .byte W06 + .byte Fn2 , v040 + .byte W06 + .byte Cn3 , v092 + .byte W06 + .byte Cn3 , v040 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Fn2 , v092 + .byte W06 + .byte Fn2 , v040 + .byte W06 + .byte Cn3 , v092 + .byte W06 + .byte Cn3 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Fn2 , v092 + .byte W06 + .byte Fn2 , v040 + .byte W06 + .byte Cn3 , v092 + .byte W06 + .byte Cn3 , v040 + .byte W06 + .byte PEND + .byte PATT + .word mus_vs_mew_3_003 + .byte PATT + .word mus_vs_mew_3_001 + .byte PATT + .word mus_vs_mew_3_001 +mus_vs_mew_3_004: + .byte PAN , c_v-64 + .byte N06 , Dn2 , v092 + .byte W06 + .byte Dn2 , v040 + .byte W06 + .byte An2 , v092 + .byte W06 + .byte An2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Dn2 , v092 + .byte W06 + .byte Dn2 , v040 + .byte W06 + .byte An2 , v092 + .byte W06 + .byte An2 , v040 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , Dn2 , v092 + .byte W06 + .byte Dn2 , v040 + .byte W06 + .byte An2 , v092 + .byte W06 + .byte An2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , Dn2 , v092 + .byte W06 + .byte Dn2 , v040 + .byte W06 + .byte An2 , v092 + .byte W06 + .byte An2 , v040 + .byte W06 + .byte PEND + .byte PATT + .word mus_vs_mew_3_004 + .byte PATT + .word mus_vs_mew_3_001 + .byte PATT + .word mus_vs_mew_3_001 +mus_vs_mew_3_005: + .byte PAN , c_v-64 + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte An2 , v092 + .byte W06 + .byte An2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte An2 , v092 + .byte W06 + .byte An2 , v040 + .byte W06 + .byte PAN , c_v-64 + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte An2 , v092 + .byte W06 + .byte An2 , v040 + .byte W06 + .byte PAN , c_v+63 + .byte N06 , En2 , v092 + .byte W06 + .byte En2 , v040 + .byte W06 + .byte An2 , v092 + .byte W06 + .byte An2 , v040 + .byte W06 + .byte PEND + .byte PATT + .word mus_vs_mew_3_005 + .byte PATT + .word mus_vs_mew_3_001 + .byte PATT + .word mus_vs_mew_3_001 + .byte PATT + .word mus_vs_mew_3_001 + .byte PATT + .word mus_vs_mew_3_001 + .byte PATT + .word mus_vs_mew_3_003 + .byte PATT + .word mus_vs_mew_3_003 + .byte GOTO + .word mus_vs_mew_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_vs_mew_4: + .byte KEYSH , mus_vs_mew_key+0 + .byte VOICE , 33 + .byte PAN , c_v+0 + .byte VOL , 90*mus_vs_mew_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte BEND , c_v+0 + .byte N06 , Fn1 , v116 + .byte W12 + .byte N06 + .byte W06 + .byte En1 + .byte W06 + .byte Fs1 + .byte W12 + .byte N06 + .byte W06 + .byte En1 + .byte W06 + .byte Gn1 + .byte W12 + .byte N06 + .byte W06 + .byte En1 + .byte W06 + .byte Gs1 + .byte W12 + .byte N06 + .byte W06 + .byte En1 + .byte W06 + .byte An1 + .byte W12 + .byte N06 + .byte W06 + .byte En1 + .byte W06 + .byte As1 + .byte W12 + .byte N06 + .byte W06 + .byte En1 + .byte W06 + .byte Bn1 + .byte W12 + .byte N06 + .byte W06 + .byte En1 + .byte W06 + .byte N12 , Cn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte VOL , 70*mus_vs_mew_mvl/mxv + .byte N12 , En1 , v127 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , En2 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W36 + .byte N03 , Bn1 + .byte W06 + .byte Bn1 , v120 + .byte W06 + .byte N12 , Cn2 , v127 + .byte W12 + .byte Dn2 + .byte W12 + .byte An1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fn1 + .byte W24 + .byte BEND , c_v+0 + .byte N12 + .byte W12 + .byte N36 , Fn2 + .byte W09 + .byte BEND , c_v-8 + .byte W03 + .byte c_v-15 + .byte W03 + .byte c_v-21 + .byte W03 + .byte c_v-29 + .byte W03 + .byte c_v-39 + .byte W03 + .byte c_v-44 + .byte W03 + .byte c_v-52 + .byte W03 + .byte c_v-60 + .byte W03 + .byte c_v-63 + .byte W03 + .byte c_v+0 + .byte N12 , Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte Fn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte N12 + .byte W12 + .byte En2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte En1 + .byte W36 + .byte N06 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , En2 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W24 + .byte N06 , En1 , v120 + .byte W06 + .byte Fs1 + .byte W06 + .byte N12 , Bn1 , v127 + .byte W12 + .byte N06 + .byte W12 + .byte N12 , Cn2 + .byte W12 + .byte An1 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte N06 , En1 + .byte W06 + .byte Fn1 + .byte W06 + .byte An1 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , Fn2 + .byte W12 + .byte En2 + .byte W12 + .byte Dn2 + .byte W12 + .byte En2 + .byte W12 + .byte Fn1 + .byte W12 + .byte Cn2 + .byte W12 + .byte En2 + .byte W12 + .byte Fn2 + .byte W12 + .byte N06 , Fn1 + .byte W06 + .byte An1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Dn2 + .byte W06 + .byte N12 , Fn2 + .byte W12 + .byte Dn2 + .byte W12 +mus_vs_mew_4_B1: + .byte N12 , En1 , v127 + .byte W24 + .byte Ds1 + .byte W12 + .byte N06 , En1 , v120 + .byte W24 + .byte N12 , En2 , v127 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Fn1 + .byte W06 + .byte N12 , En1 + .byte W12 + .byte N06 , En1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte N24 , En1 , v127 + .byte W03 + .byte BEND , c_v-4 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v-15 + .byte W03 + .byte c_v-19 + .byte W03 + .byte c_v-25 + .byte W03 + .byte c_v-31 + .byte W03 + .byte c_v-36 + .byte W03 + .byte c_v+0 + .byte N12 , Cn2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Fn1 + .byte W24 + .byte En1 + .byte W12 + .byte N36 , Fn1 , v120 + .byte W15 + .byte BEND , c_v-4 + .byte W03 + .byte c_v-8 + .byte W03 + .byte c_v-15 + .byte W03 + .byte c_v-19 + .byte W03 + .byte c_v-25 + .byte W03 + .byte c_v-31 + .byte W03 + .byte c_v-36 + .byte W03 + .byte c_v+0 + .byte N24 , En1 , v127 + .byte W24 + .byte N06 , Fn1 + .byte W12 + .byte N12 + .byte W36 + .byte Dn2 + .byte W12 + .byte En2 + .byte W12 + .byte Cn2 + .byte W12 + .byte Dn2 + .byte W12 + .byte N24 , En1 + .byte W24 + .byte N12 , Bn1 + .byte W12 + .byte N18 , En1 + .byte W24 + .byte N12 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte N12 + .byte W12 + .byte Bn1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte As1 + .byte W12 + .byte N06 , Bn1 + .byte W12 + .byte N12 , En1 + .byte W12 + .byte Bn1 + .byte W24 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte As1 + .byte W12 + .byte Bn1 + .byte W12 + .byte N24 , En1 , v120 + .byte W24 + .byte Dn2 + .byte W24 + .byte Dn1 + .byte W24 + .byte N18 , An1 + .byte W18 + .byte N03 , Gn1 + .byte W03 + .byte Fs1 + .byte W03 + .byte N24 , Fn1 , v127 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N18 , Fn1 + .byte W24 + .byte N12 + .byte W12 + .byte N03 , Cn2 + .byte W12 + .byte N12 , Dn1 + .byte W12 + .byte Fn2 + .byte W12 + .byte N06 , An1 + .byte W12 + .byte N12 , Cn2 + .byte W12 + .byte N06 , Fn2 + .byte W12 + .byte Fn1 + .byte W06 + .byte An1 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte N12 , Fn2 + .byte W12 + .byte Ds2 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte N06 , En1 + .byte W12 + .byte N12 + .byte W12 + .byte N06 , Bn1 + .byte W12 + .byte N12 + .byte W12 + .byte As1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte N06 , Ds2 + .byte W06 + .byte En2 + .byte W06 + .byte Cn2 + .byte W06 + .byte Dn2 + .byte W06 + .byte Bn1 + .byte W06 + .byte As1 + .byte W06 + .byte An1 + .byte W06 + .byte Gs1 + .byte W06 + .byte Dn1 + .byte W12 + .byte N12 + .byte W24 + .byte N12 + .byte W12 + .byte Dn2 + .byte W12 + .byte N18 , Dn1 + .byte W24 + .byte N06 + .byte W12 + .byte N12 + .byte W24 + .byte N06 + .byte W12 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N48 , Dn2 + .byte W12 + .byte BEND , c_v-6 + .byte W03 + .byte c_v-10 + .byte W03 + .byte c_v-17 + .byte W03 + .byte c_v-23 + .byte W03 + .byte c_v-31 + .byte W03 + .byte c_v-35 + .byte W03 + .byte c_v-42 + .byte W03 + .byte c_v-47 + .byte W03 + .byte c_v-64 + .byte W12 + .byte c_v+0 + .byte N24 , Bn1 + .byte W24 + .byte N06 , Gs1 + .byte W12 + .byte Bn1 + .byte W06 + .byte Cs2 + .byte W06 + .byte N12 , En2 + .byte W12 + .byte Bn1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Ds1 + .byte W24 + .byte N36 , En2 + .byte W12 + .byte BEND , c_v-6 + .byte W06 + .byte c_v-10 + .byte W03 + .byte c_v-15 + .byte W03 + .byte c_v-20 + .byte W03 + .byte c_v-28 + .byte W03 + .byte c_v-32 + .byte W03 + .byte c_v-39 + .byte W03 + .byte c_v+0 + .byte W12 + .byte N12 , Bn1 + .byte W12 + .byte Dn2 + .byte W36 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N48 , An1 + .byte W12 + .byte BEND , c_v-6 + .byte W03 + .byte c_v-10 + .byte W03 + .byte c_v-17 + .byte W03 + .byte c_v-23 + .byte W03 + .byte c_v-31 + .byte W03 + .byte c_v-35 + .byte W03 + .byte c_v-42 + .byte W03 + .byte c_v-47 + .byte W03 + .byte c_v-64 + .byte W12 + .byte c_v+0 + .byte N12 + .byte W12 + .byte En2 + .byte W12 + .byte En1 + .byte W12 + .byte Dn2 + .byte W12 + .byte En1 + .byte W12 + .byte Cs2 + .byte W12 + .byte Gs1 + .byte W12 + .byte An1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte An1 + .byte W12 + .byte En1 + .byte W12 + .byte Gs1 + .byte W12 + .byte As1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En2 + .byte W12 + .byte N06 , Bn1 + .byte W12 + .byte N12 , Gs1 + .byte W12 + .byte N06 , Bn1 + .byte W12 + .byte Dn2 + .byte W06 + .byte En2 + .byte W06 + .byte Bn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte Gs1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fs1 + .byte W06 + .byte Fn1 + .byte W06 + .byte N12 , En1 + .byte W24 + .byte Ds1 , v120 + .byte W12 + .byte N06 , En1 , v127 + .byte W24 + .byte N06 + .byte W12 + .byte N12 , En2 , v120 + .byte W12 + .byte En1 + .byte W12 + .byte Ds2 , v127 + .byte W12 + .byte N24 , En2 + .byte W24 + .byte N18 , En1 + .byte W24 + .byte N12 , Ds1 + .byte W12 + .byte N06 , En1 , v120 + .byte W12 + .byte En1 , v127 + .byte W12 + .byte N12 , Fn1 + .byte W24 + .byte En1 , v120 + .byte W12 + .byte N18 , Fn1 , v127 + .byte W24 + .byte N12 + .byte W12 + .byte Fn2 + .byte W12 + .byte Fn1 , v120 + .byte W12 + .byte En2 , v127 + .byte W12 + .byte Fn2 + .byte W36 + .byte Cn2 + .byte W12 + .byte N06 , Dn2 + .byte W12 + .byte N12 , An1 + .byte W12 + .byte N06 , Cn2 + .byte W12 + .byte GOTO + .word mus_vs_mew_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_vs_mew_5: + .byte KEYSH , mus_vs_mew_key+0 + .byte VOICE , 24 + .byte PAN , c_v+0 + .byte VOL , 69*mus_vs_mew_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte N06 , Bn5 , v064 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte An6 + .byte W06 + .byte Bn5 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte An6 + .byte W06 + .byte Bn5 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte An6 + .byte W06 + .byte Bn5 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte An6 + .byte W06 + .byte Bn5 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte An6 + .byte W06 + .byte Bn5 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte An6 + .byte W06 + .byte Bn5 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte An6 + .byte W06 + .byte Bn5 + .byte W06 + .byte As5 + .byte W06 + .byte An5 + .byte W06 + .byte An6 + .byte W06 + .byte VOICE , 24 + .byte VOL , 56*mus_vs_mew_mvl/mxv + .byte N12 , Bn4 , v112 + .byte W06 + .byte MOD , 9 + .byte W06 + .byte 0 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Bn4 , v064 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Bn4 , v112 + .byte W06 + .byte MOD , 9 + .byte W06 + .byte 0 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn4 , v064 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Bn4 , v112 + .byte W06 + .byte MOD , 9 + .byte W06 + .byte 0 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Bn4 , v064 + .byte W24 + .byte N06 , En5 , v076 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , En4 , v096 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Bn4 , v112 + .byte W06 + .byte MOD , 9 + .byte W06 + .byte 0 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn4 , v064 + .byte W24 + .byte PAN , c_v+32 + .byte N06 , Fn4 , v112 + .byte W12 + .byte Bn4 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Fn5 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Bn4 + .byte W06 + .byte MOD , 9 + .byte W06 + .byte 0 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Bn4 , v064 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Bn4 , v112 + .byte W06 + .byte MOD , 9 + .byte W06 + .byte 0 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn4 , v064 + .byte W36 + .byte PAN , c_v+0 + .byte N60 , As4 , v112 + .byte W06 + .byte VOL , 22*mus_vs_mew_mvl/mxv + .byte W06 + .byte 29*mus_vs_mew_mvl/mxv + .byte MOD , 9 + .byte W05 + .byte VOL , 41*mus_vs_mew_mvl/mxv + .byte W07 + .byte 52*mus_vs_mew_mvl/mxv + .byte W05 + .byte 68*mus_vs_mew_mvl/mxv + .byte W07 + .byte 71*mus_vs_mew_mvl/mxv + .byte W24 + .byte 56*mus_vs_mew_mvl/mxv + .byte MOD , 0 + .byte N12 , Bn4 + .byte W06 + .byte MOD , 9 + .byte W06 + .byte 0 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Bn4 , v064 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Bn4 , v112 + .byte W06 + .byte MOD , 9 + .byte W06 + .byte 0 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn4 , v064 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Bn4 , v112 + .byte W06 + .byte MOD , 9 + .byte W06 + .byte 0 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , En4 + .byte W12 + .byte Bn4 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , En5 + .byte W12 + .byte En4 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Bn4 + .byte W06 + .byte MOD , 9 + .byte W06 + .byte 0 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn4 , v064 + .byte W24 + .byte PAN , c_v+0 + .byte N06 , Cn5 , v112 + .byte W12 + .byte Fn4 + .byte W12 + .byte An4 + .byte W12 + .byte N12 , Bn4 + .byte W06 + .byte MOD , 9 + .byte W06 + .byte PAN , c_v-32 + .byte MOD , 0 + .byte W12 + .byte N12 , Bn4 , v064 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Bn4 , v112 + .byte W06 + .byte MOD , 9 + .byte W06 + .byte 0 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Bn4 , v064 + .byte W24 + .byte PAN , c_v+0 + .byte W12 + .byte N60 , Bn4 , v112 + .byte W12 + .byte VOL , 34*mus_vs_mew_mvl/mxv + .byte MOD , 9 + .byte W06 + .byte VOL , 47*mus_vs_mew_mvl/mxv + .byte W05 + .byte 59*mus_vs_mew_mvl/mxv + .byte W06 + .byte 69*mus_vs_mew_mvl/mxv + .byte W06 + .byte 78*mus_vs_mew_mvl/mxv + .byte W06 + .byte 84*mus_vs_mew_mvl/mxv + .byte W19 +mus_vs_mew_5_B1: + .byte VOICE , 24 + .byte MOD , 0 + .byte VOL , 90*mus_vs_mew_mvl/mxv + .byte N36 , Bn4 , v104 + .byte W36 + .byte As4 + .byte W36 + .byte N24 , Gs4 + .byte W24 + .byte N36 , Bn4 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N36 , Cs5 + .byte W12 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N24 , Bn4 + .byte W24 + .byte N72 , Cn6 + .byte W12 + .byte MOD , 7 + .byte W60 + .byte 0 + .byte N12 , Bn5 + .byte W24 + .byte Cn6 + .byte W12 + .byte Bn5 + .byte W36 + .byte N48 , Fn6 + .byte W06 + .byte VOL , 31*mus_vs_mew_mvl/mxv + .byte W06 + .byte 40*mus_vs_mew_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 46*mus_vs_mew_mvl/mxv + .byte W06 + .byte 56*mus_vs_mew_mvl/mxv + .byte W06 + .byte 69*mus_vs_mew_mvl/mxv + .byte W07 + .byte 87*mus_vs_mew_mvl/mxv + .byte W12 + .byte MOD , 0 + .byte VOL , 89*mus_vs_mew_mvl/mxv + .byte N12 , En5 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gs4 , v080 + .byte W12 + .byte Bn4 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Dn5 , v104 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Gs4 , v080 + .byte W12 + .byte Bn4 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Cn5 , v104 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Gs4 , v080 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Fn5 , v104 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , Gs4 , v080 + .byte W12 + .byte Bn4 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , En5 , v104 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , Gs4 , v080 + .byte W12 + .byte Bn4 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Dn5 , v104 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Gs4 , v080 + .byte W06 + .byte En4 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , An5 , v104 + .byte W12 + .byte PAN , c_v-32 + .byte N12 , En5 , v080 + .byte W12 + .byte Bn4 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Gs5 , v104 + .byte W12 + .byte PAN , c_v+32 + .byte N12 , En5 , v080 + .byte W12 + .byte Bn4 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Fs5 , v104 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , En5 , v080 + .byte W06 + .byte Bn4 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Dn5 , v104 + .byte W12 + .byte N06 , An4 , v112 + .byte W12 + .byte N12 , En5 , v104 + .byte W12 + .byte N06 , An4 , v112 + .byte W12 + .byte N12 , Fs5 , v104 + .byte W12 + .byte N06 , Dn5 , v112 + .byte W06 + .byte Fs5 + .byte W06 + .byte N12 , An5 , v104 + .byte W12 + .byte N06 , An4 , v112 + .byte W06 + .byte Dn5 + .byte W06 + .byte VOICE , 17 + .byte VOL , 67*mus_vs_mew_mvl/mxv + .byte N06 , Fn5 + .byte W12 + .byte MOD , 7 + .byte N06 , En5 + .byte W12 + .byte N12 , Dn5 + .byte W12 + .byte N60 , Cn6 , v116 + .byte W48 + .byte W03 + .byte VOL , 27*mus_vs_mew_mvl/mxv + .byte W09 + .byte MOD , 0 + .byte VOL , 34*mus_vs_mew_mvl/mxv + .byte N12 , Cn6 , v112 + .byte W06 + .byte VOL , 38*mus_vs_mew_mvl/mxv + .byte W06 + .byte 45*mus_vs_mew_mvl/mxv + .byte N12 , An5 + .byte W06 + .byte VOL , 50*mus_vs_mew_mvl/mxv + .byte W06 + .byte 56*mus_vs_mew_mvl/mxv + .byte N12 , Fn5 + .byte W06 + .byte VOL , 61*mus_vs_mew_mvl/mxv + .byte W06 + .byte 67*mus_vs_mew_mvl/mxv + .byte N12 , Cn6 + .byte W06 + .byte VOL , 74*mus_vs_mew_mvl/mxv + .byte W06 + .byte 79*mus_vs_mew_mvl/mxv + .byte N12 , An5 + .byte W12 + .byte VOL , 85*mus_vs_mew_mvl/mxv + .byte N12 , Fn5 + .byte W12 + .byte Cn6 + .byte W12 + .byte Fn5 + .byte W12 + .byte MOD , 0 + .byte VOL , 68*mus_vs_mew_mvl/mxv + .byte N03 , As5 + .byte W03 + .byte N92 , Bn5 + .byte W09 + .byte MOD , 7 + .byte W12 + .byte VOL , 56*mus_vs_mew_mvl/mxv + .byte W66 + .byte 25*mus_vs_mew_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte VOL , 34*mus_vs_mew_mvl/mxv + .byte N12 , En6 + .byte W06 + .byte VOL , 38*mus_vs_mew_mvl/mxv + .byte W06 + .byte 44*mus_vs_mew_mvl/mxv + .byte N12 , Bn5 + .byte W06 + .byte VOL , 50*mus_vs_mew_mvl/mxv + .byte W06 + .byte 56*mus_vs_mew_mvl/mxv + .byte N12 , Gs5 + .byte W06 + .byte VOL , 60*mus_vs_mew_mvl/mxv + .byte W06 + .byte 67*mus_vs_mew_mvl/mxv + .byte N12 , En5 + .byte W06 + .byte VOL , 74*mus_vs_mew_mvl/mxv + .byte W06 + .byte 79*mus_vs_mew_mvl/mxv + .byte N06 , Bn5 + .byte W06 + .byte Gs5 + .byte W06 + .byte VOL , 84*mus_vs_mew_mvl/mxv + .byte N06 , En5 + .byte W06 + .byte Gs4 + .byte W06 + .byte VOL , 90*mus_vs_mew_mvl/mxv + .byte N06 , Bn4 + .byte W06 + .byte Ds5 + .byte W06 + .byte En5 + .byte W06 + .byte Gs5 + .byte W06 + .byte VOICE , 48 + .byte MOD , 0 + .byte VOL , 68*mus_vs_mew_mvl/mxv + .byte N48 , An3 , v084 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W36 +mus_vs_mew_5_000: + .byte MOD , 0 + .byte N48 , Fs4 , v084 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , An4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte PEND + .byte 0 + .byte N96 , Gs4 + .byte W06 + .byte VOL , 22*mus_vs_mew_mvl/mxv + .byte W06 + .byte 29*mus_vs_mew_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 32*mus_vs_mew_mvl/mxv + .byte W07 + .byte 37*mus_vs_mew_mvl/mxv + .byte W05 + .byte 43*mus_vs_mew_mvl/mxv + .byte W07 + .byte 48*mus_vs_mew_mvl/mxv + .byte W05 + .byte 55*mus_vs_mew_mvl/mxv + .byte W07 + .byte 61*mus_vs_mew_mvl/mxv + .byte W05 + .byte 68*mus_vs_mew_mvl/mxv + .byte W07 + .byte 72*mus_vs_mew_mvl/mxv + .byte W06 + .byte 75*mus_vs_mew_mvl/mxv + .byte W06 + .byte 80*mus_vs_mew_mvl/mxv + .byte W24 + .byte 68*mus_vs_mew_mvl/mxv + .byte MOD , 0 + .byte N96 + .byte W06 + .byte VOL , 23*mus_vs_mew_mvl/mxv + .byte W06 + .byte 29*mus_vs_mew_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 32*mus_vs_mew_mvl/mxv + .byte W07 + .byte 37*mus_vs_mew_mvl/mxv + .byte W05 + .byte 41*mus_vs_mew_mvl/mxv + .byte W07 + .byte 47*mus_vs_mew_mvl/mxv + .byte W05 + .byte 53*mus_vs_mew_mvl/mxv + .byte W07 + .byte 58*mus_vs_mew_mvl/mxv + .byte W05 + .byte 67*mus_vs_mew_mvl/mxv + .byte W07 + .byte 72*mus_vs_mew_mvl/mxv + .byte W05 + .byte 75*mus_vs_mew_mvl/mxv + .byte W07 + .byte 80*mus_vs_mew_mvl/mxv + .byte W24 + .byte 68*mus_vs_mew_mvl/mxv + .byte MOD , 0 + .byte N48 , An3 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte 0 + .byte N48 , Dn4 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte PATT + .word mus_vs_mew_5_000 + .byte MOD , 0 + .byte N96 , Bn4 , v084 + .byte W06 + .byte VOL , 22*mus_vs_mew_mvl/mxv + .byte W06 + .byte 23*mus_vs_mew_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 29*mus_vs_mew_mvl/mxv + .byte W07 + .byte 35*mus_vs_mew_mvl/mxv + .byte W05 + .byte 41*mus_vs_mew_mvl/mxv + .byte W07 + .byte 48*mus_vs_mew_mvl/mxv + .byte W05 + .byte 53*mus_vs_mew_mvl/mxv + .byte W07 + .byte 57*mus_vs_mew_mvl/mxv + .byte W05 + .byte 63*mus_vs_mew_mvl/mxv + .byte W07 + .byte 70*mus_vs_mew_mvl/mxv + .byte W05 + .byte 71*mus_vs_mew_mvl/mxv + .byte W30 + .byte W01 + .byte 56*mus_vs_mew_mvl/mxv + .byte MOD , 0 + .byte N96 , En5 + .byte W06 + .byte VOL , 26*mus_vs_mew_mvl/mxv + .byte W06 + .byte 29*mus_vs_mew_mvl/mxv + .byte MOD , 7 + .byte W05 + .byte VOL , 31*mus_vs_mew_mvl/mxv + .byte W07 + .byte 34*mus_vs_mew_mvl/mxv + .byte W05 + .byte 37*mus_vs_mew_mvl/mxv + .byte W07 + .byte 41*mus_vs_mew_mvl/mxv + .byte W05 + .byte 45*mus_vs_mew_mvl/mxv + .byte W07 + .byte 48*mus_vs_mew_mvl/mxv + .byte W05 + .byte 57*mus_vs_mew_mvl/mxv + .byte W07 + .byte 63*mus_vs_mew_mvl/mxv + .byte W05 + .byte 65*mus_vs_mew_mvl/mxv + .byte W07 + .byte 69*mus_vs_mew_mvl/mxv + .byte W05 + .byte 75*mus_vs_mew_mvl/mxv + .byte W19 + .byte VOICE , 24 + .byte MOD , 0 + .byte N12 , Gs5 , v112 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , En5 , v072 + .byte W12 + .byte PAN , c_v+0 + .byte N06 , Bn4 + .byte W12 + .byte N12 , Gs5 , v112 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , En5 , v072 + .byte W12 + .byte Bn4 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , Gs5 , v112 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Bn4 , v072 + .byte W06 + .byte Gs5 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , An5 , v112 + .byte W12 + .byte Gs5 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Bn3 , v088 + .byte W12 + .byte Ds4 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , En4 + .byte W06 + .byte Bn3 + .byte W06 + .byte Gs3 + .byte W06 + .byte En3 + .byte W06 + .byte PAN , c_v-32 + .byte N06 , Cn3 + .byte W06 + .byte En3 + .byte W06 + .byte Gs3 + .byte W06 + .byte Bn3 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , An5 , v112 + .byte W12 + .byte N06 , Fn5 , v072 + .byte W03 + .byte PAN , c_v-32 + .byte W09 + .byte N06 , Cn5 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , An4 + .byte W06 + .byte Fn5 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , An5 , v112 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Fn5 , v072 + .byte W12 + .byte PAN , c_v+0 + .byte N12 , An5 , v112 + .byte W12 + .byte PAN , c_v+32 + .byte N06 , Fn5 , v072 + .byte W06 + .byte Cn5 + .byte W06 + .byte PAN , c_v+0 + .byte N12 , Cn6 , v112 + .byte W12 + .byte Bn5 + .byte W12 + .byte PAN , c_v-32 + .byte N06 , Fn4 , v072 + .byte W06 + .byte An4 + .byte W06 + .byte PAN , c_v+32 + .byte N06 , Cn5 + .byte W06 + .byte Fn5 + .byte W06 + .byte PAN , c_v+0 + .byte N48 , An5 , v112 + .byte W12 + .byte MOD , 7 + .byte W36 + .byte GOTO + .word mus_vs_mew_5_B1 + .byte MOD , 0 + .byte FINE + +@********************** Track 6 **********************@ + +mus_vs_mew_6: + .byte KEYSH , mus_vs_mew_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 90*mus_vs_mew_mvl/mxv + .byte W84 + .byte N06 , Cn1 , v096 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W24 + .byte N06 + .byte N48 , Cn3 + .byte W24 + .byte N06 , Cn1 + .byte W12 + .byte Cn1 , v080 + .byte W12 + .byte Cn1 , v127 + .byte N48 , Gn2 , v088 + .byte W12 + .byte N06 , Cn1 , v064 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte Cn1 , v068 + .byte W12 + .byte Cn1 , v120 + .byte W24 +mus_vs_mew_6_000: + .byte N06 , Cn1 , v120 + .byte W12 + .byte Cn1 , v064 + .byte W24 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte Fn1 , v120 + .byte W12 + .byte PEND + .byte Cn1 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W36 + .byte Cn1 , v068 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cn1 , v096 + .byte W12 + .byte En1 , v120 + .byte W12 + .byte Cn1 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cn2 , v120 + .byte N24 , Bn2 , v096 + .byte W06 + .byte N06 , An1 , v120 + .byte W06 + .byte Fn1 + .byte W06 + .byte N06 + .byte W06 + .byte Cn1 + .byte N48 , Cs2 , v088 + .byte W12 + .byte N06 , Cn1 , v064 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte Cn1 , v068 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte PATT + .word mus_vs_mew_6_000 + .byte N06 , Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte Cn1 , v068 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cn1 , v096 + .byte W12 + .byte Bn0 , v120 + .byte W12 + .byte Cn1 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v064 + .byte W06 + .byte Cs1 , v096 + .byte N24 , Cs2 , v120 + .byte W12 + .byte N06 , An1 + .byte W06 + .byte Fn1 + .byte W06 +mus_vs_mew_6_B1: + .byte N06 , Cn1 , v120 + .byte N48 , Gn2 + .byte W24 + .byte N06 , Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Gn1 , v120 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cs1 , v096 + .byte W06 + .byte Bn1 , v120 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte N24 , Gn2 + .byte W24 + .byte N06 , Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 + .byte W12 + .byte Cn1 , v096 + .byte W12 +mus_vs_mew_6_001: + .byte N06 , Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte PEND + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Dn2 , v104 + .byte W06 + .byte An1 , v120 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte N48 , An2 , v096 + .byte W24 + .byte N06 , Cs1 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte N06 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte N06 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W24 + .byte An1 , v120 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte W06 + .byte Cs1 , v096 + .byte W06 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte N06 + .byte N24 , Bn2 , v120 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte N06 , Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 + .byte W24 + .byte Cn1 + .byte N06 , Fn2 , v096 + .byte W24 +mus_vs_mew_6_002: + .byte N06 , Cn1 , v120 + .byte W24 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte PEND + .byte N06 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 , v096 + .byte N06 , Fn2 + .byte W24 + .byte Cs1 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte Cs1 , v096 + .byte N24 , Gn2 , v120 + .byte W12 + .byte N06 , Cn1 + .byte W12 + .byte Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte Cn1 , v096 + .byte W06 + .byte Cs1 , v120 + .byte W12 + .byte Cn1 + .byte W12 + .byte Fn2 , v080 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte N06 + .byte N06 , Fn2 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 , v096 + .byte W24 + .byte Cn1 , v120 + .byte N06 , Fn2 , v096 + .byte W24 + .byte PATT + .word mus_vs_mew_6_002 + .byte N06 , Cn1 , v120 + .byte W12 + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte Cs1 , v096 + .byte N06 , Fn2 + .byte W12 + .byte Cs1 + .byte W12 + .byte VOICE , 0 + .byte N06 , Cn1 , v120 + .byte N48 , Cn3 , v096 + .byte W06 + .byte N06 , Cn1 , v120 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte Cn1 + .byte N48 , Cs2 + .byte W24 + .byte N06 , Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte N06 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W12 + .byte PATT + .word mus_vs_mew_6_001 + .byte N06 , Cn1 , v120 + .byte W24 + .byte Cs1 , v096 + .byte W12 + .byte Cn1 , v120 + .byte W24 + .byte N06 + .byte W12 + .byte Cn2 + .byte W06 + .byte An1 + .byte W06 + .byte Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte GOTO + .word mus_vs_mew_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_vs_mew_7: + .byte KEYSH , mus_vs_mew_key+0 + .byte VOICE , 127 + .byte VOL , 79*mus_vs_mew_mvl/mxv + .byte W96 + .byte W12 + .byte N03 , Cn5 , v028 + .byte W06 + .byte N03 + .byte W18 + .byte Cn5 , v044 + .byte W06 + .byte N03 + .byte W18 + .byte Cn5 , v056 + .byte W06 + .byte N03 + .byte W18 + .byte Cn5 , v084 + .byte W06 + .byte N03 + .byte W06 +mus_vs_mew_7_000: + .byte N03 , Cn5 , v108 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v100 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v100 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte PEND +mus_vs_mew_7_001: + .byte N03 , Cn5 , v080 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte N03 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v028 + .byte W24 + .byte Cn5 , v064 + .byte W12 + .byte PEND + .byte Cn5 , v108 + .byte W12 + .byte Cn5 , v032 + .byte W24 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v100 + .byte W12 + .byte Cn5 , v032 + .byte W12 +mus_vs_mew_7_002: + .byte N03 , Cn5 , v080 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v032 + .byte W12 + .byte Cn5 , v096 + .byte W12 + .byte Cn5 , v028 + .byte W12 + .byte Cn5 , v120 + .byte W06 + .byte Cn5 , v056 + .byte W18 + .byte PEND + .byte PATT + .word mus_vs_mew_7_000 + .byte PATT + .word mus_vs_mew_7_001 + .byte PATT + .word mus_vs_mew_7_000 + .byte PATT + .word mus_vs_mew_7_002 +mus_vs_mew_7_B1: +mus_vs_mew_7_003: + .byte N03 , Cn5 , v044 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte PEND +mus_vs_mew_7_004: + .byte N03 , Cn5 , v044 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W24 + .byte PEND + .byte PATT + .word mus_vs_mew_7_003 + .byte PATT + .word mus_vs_mew_7_004 + .byte W12 + .byte N03 , Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte PATT + .word mus_vs_mew_7_003 + .byte PATT + .word mus_vs_mew_7_003 + .byte PATT + .word mus_vs_mew_7_004 + .byte PATT + .word mus_vs_mew_7_003 + .byte PATT + .word mus_vs_mew_7_004 + .byte VOL , 68*mus_vs_mew_mvl/mxv + .byte N03 , Cn5 , v064 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v092 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v092 + .byte W12 +mus_vs_mew_7_005: + .byte W12 + .byte N03 , Cn5 , v064 + .byte W12 + .byte Cn5 , v072 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W24 + .byte Cn5 , v072 + .byte W12 + .byte Cn5 , v064 + .byte W12 + .byte PEND +mus_vs_mew_7_006: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v108 + .byte W12 + .byte Cn5 , v048 + .byte W24 + .byte PEND +mus_vs_mew_7_007: + .byte N03 , Cn5 , v120 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v108 + .byte W12 + .byte Cn5 , v048 + .byte W12 + .byte N03 + .byte W12 + .byte PEND + .byte Cn5 , v064 + .byte W12 + .byte Cn5 , v092 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v092 + .byte W12 + .byte N03 + .byte W12 + .byte Cn5 , v064 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v092 + .byte W12 + .byte PATT + .word mus_vs_mew_7_005 + .byte PATT + .word mus_vs_mew_7_006 + .byte PATT + .word mus_vs_mew_7_007 + .byte VOL , 79*mus_vs_mew_mvl/mxv + .byte W12 + .byte N03 , Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v088 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W06 + .byte Cn5 , v064 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte VOL , 79*mus_vs_mew_mvl/mxv + .byte N03 , Cn5 , v044 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W12 + .byte Cn5 , v032 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v044 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte Cn5 , v080 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v048 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v032 + .byte W06 + .byte Cn5 , v028 + .byte W06 + .byte Cn5 , v084 + .byte W12 + .byte Cn5 , v028 + .byte W06 + .byte N03 + .byte W06 + .byte GOTO + .word mus_vs_mew_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_vs_mew_8: + .byte KEYSH , mus_vs_mew_key+0 + .byte VOICE , 126 + .byte PAN , c_v+0 + .byte VOL , 68*mus_vs_mew_mvl/mxv + .byte W96 + .byte N12 , Gn5 , v044 + .byte W24 + .byte Gn5 , v068 + .byte W24 + .byte Gn5 , v088 + .byte W24 + .byte Gn5 , v120 + .byte W24 + .byte W96 + .byte W72 + .byte Gn5 , v088 + .byte W24 + .byte W24 + .byte N12 + .byte W72 + .byte W84 + .byte N12 + .byte W12 + .byte W96 + .byte W72 + .byte N12 + .byte W24 + .byte W96 + .byte W96 +mus_vs_mew_8_B1: + .byte W96 + .byte W84 + .byte N12 , Gn5 , v096 + .byte W12 + .byte W96 + .byte W84 + .byte Gn5 , v120 + .byte W12 + .byte Gn5 , v092 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W84 + .byte Gn5 , v096 + .byte W12 + .byte W96 + .byte W84 + .byte Gn5 , v120 + .byte W12 + .byte W96 +mus_vs_mew_8_000: + .byte N12 , Gn5 , v092 + .byte W60 + .byte N12 + .byte W36 + .byte PEND + .byte W84 + .byte Gn5 , v096 + .byte W12 + .byte W96 + .byte W96 + .byte PATT + .word mus_vs_mew_8_000 + .byte W84 + .byte N12 , Gn5 , v096 + .byte W12 + .byte W96 + .byte Gn5 , v092 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_vs_mew_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_vs_mew: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_vs_mew_pri @ Priority + .byte mus_vs_mew_rev @ Reverb. + + .word mus_vs_mew_grp + + .word mus_vs_mew_1 + .word mus_vs_mew_2 + .word mus_vs_mew_3 + .word mus_vs_mew_4 + .word mus_vs_mew_5 + .word mus_vs_mew_6 + .word mus_vs_mew_7 + .word mus_vs_mew_8 + + .end diff --git a/sound/songs/mus_vs_rekku.s b/sound/songs/mus_vs_rekku.s new file mode 100644 index 0000000000..4a6300ed2d --- /dev/null +++ b/sound/songs/mus_vs_rekku.s @@ -0,0 +1,1213 @@ + .include "MPlayDef.s" + + .equ mus_vs_rekku_grp, voicegroup_8699254 + .equ mus_vs_rekku_pri, 1 + .equ mus_vs_rekku_rev, reverb_set+50 + .equ mus_vs_rekku_mvl, 127 + .equ mus_vs_rekku_key, 0 + .equ mus_vs_rekku_tbs, 1 + .equ mus_vs_rekku_exg, 0 + .equ mus_vs_rekku_cmp, 1 + + .section .rodata + .global mus_vs_rekku + .align 2 + +@********************** Track 1 **********************@ + +mus_vs_rekku_1: + .byte KEYSH , mus_vs_rekku_key+0 + .byte TEMPO , 196*mus_vs_rekku_tbs/2 + .byte VOICE , 14 + .byte LFOS , 18 + .byte PAN , c_v+16 + .byte VOL , 80*mus_vs_rekku_mvl/mxv + .byte N48 , Cn2 , v112 + .byte W96 + .byte N48 + .byte W96 + .byte N48 + .byte W96 + .byte N48 + .byte W96 +mus_vs_rekku_1_000: + .byte VOICE , 47 + .byte PAN , c_v-32 + .byte N24 , Gn1 , v096 + .byte W24 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte PEND +mus_vs_rekku_1_001: + .byte N36 , Gn1 , v096 + .byte W36 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte PEND +mus_vs_rekku_1_002: + .byte N12 , Gn1 , v096 + .byte W12 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte PEND +mus_vs_rekku_1_003: + .byte N24 , Gn1 , v096 + .byte W24 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte N12 + .byte W12 + .byte N24 + .byte W24 + .byte PEND +mus_vs_rekku_1_B1: + .byte VOICE , 56 + .byte PAN , c_v+10 + .byte N12 , Cn4 , v100 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Cs4 + .byte W24 +mus_vs_rekku_1_004: + .byte W24 + .byte N72 , Gn3 , v100 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte PEND +mus_vs_rekku_1_005: + .byte MOD , 0 + .byte N12 , Cn4 , v100 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Cs4 + .byte W24 + .byte PEND + .byte W24 + .byte N72 , Ds4 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte PATT + .word mus_vs_rekku_1_005 + .byte PATT + .word mus_vs_rekku_1_004 + .byte PATT + .word mus_vs_rekku_1_005 + .byte W24 + .byte N72 , En4 , v100 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte VOICE , 48 + .byte MOD , 0 + .byte N12 , Fn4 , v096 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Fs4 + .byte W24 + .byte W24 + .byte N72 , Cn4 + .byte W72 + .byte N12 , Fn4 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Fs4 + .byte W24 + .byte W24 + .byte N72 , Gs4 + .byte W72 +mus_vs_rekku_1_006: + .byte N48 , Gn3 , v096 + .byte W48 + .byte Cn4 + .byte W48 + .byte PEND + .byte N96 , Gs3 + .byte W96 + .byte PATT + .word mus_vs_rekku_1_006 + .byte N96 , Gs4 , v096 + .byte W96 + .byte PATT + .word mus_vs_rekku_1_006 + .byte N96 , Gs3 , v096 + .byte W96 + .byte PATT + .word mus_vs_rekku_1_006 + .byte N96 , Gs4 , v096 + .byte W96 + .byte VOICE , 60 + .byte N48 , Ds4 + .byte W48 + .byte As3 + .byte W48 + .byte N96 , Bn3 + .byte W96 + .byte N48 , As3 + .byte W48 + .byte Ds4 + .byte W48 + .byte N96 , Bn4 + .byte W96 + .byte PATT + .word mus_vs_rekku_1_000 + .byte PATT + .word mus_vs_rekku_1_001 + .byte PATT + .word mus_vs_rekku_1_002 + .byte PATT + .word mus_vs_rekku_1_003 + .byte PATT + .word mus_vs_rekku_1_003 + .byte PATT + .word mus_vs_rekku_1_001 + .byte PATT + .word mus_vs_rekku_1_002 + .byte PATT + .word mus_vs_rekku_1_003 + .byte GOTO + .word mus_vs_rekku_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_vs_rekku_2: + .byte KEYSH , mus_vs_rekku_key+0 + .byte VOICE , 14 + .byte LFOS , 18 + .byte PAN , c_v-16 + .byte VOL , 80*mus_vs_rekku_mvl/mxv + .byte N48 , Cn3 , v108 + .byte W96 + .byte N48 + .byte W96 + .byte N48 + .byte W96 + .byte N48 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_vs_rekku_2_B1: + .byte VOICE , 56 + .byte PAN , c_v-10 + .byte N12 , Gn4 , v100 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Gs4 + .byte W24 +mus_vs_rekku_2_000: + .byte W24 + .byte N72 , Dn4 , v100 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte PEND +mus_vs_rekku_2_001: + .byte MOD , 0 + .byte N12 , Gn4 , v100 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Gs4 + .byte W24 + .byte PEND + .byte W24 + .byte N72 , As4 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte PATT + .word mus_vs_rekku_2_001 + .byte PATT + .word mus_vs_rekku_2_000 + .byte PATT + .word mus_vs_rekku_2_001 + .byte W24 + .byte N72 , Bn4 , v100 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte VOICE , 48 + .byte MOD , 0 + .byte N12 , Cn5 , v096 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Cs5 + .byte W24 + .byte W24 + .byte N72 , Gn4 + .byte W72 + .byte N12 , Cn5 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Cs5 + .byte W24 + .byte W24 + .byte N72 , Ds5 + .byte W72 + .byte VOICE , 73 + .byte N36 , Cn5 , v108 + .byte W18 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N36 , Gn4 + .byte W21 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte N24 , Fs4 + .byte W24 +mus_vs_rekku_2_002: + .byte N96 , Cs4 , v108 + .byte W36 + .byte MOD , 8 + .byte W60 + .byte PEND +mus_vs_rekku_2_003: + .byte MOD , 0 + .byte N36 , Cn5 , v108 + .byte W18 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N36 , Gn4 + .byte W21 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte N24 , Fn4 + .byte W24 + .byte PEND +mus_vs_rekku_2_004: + .byte N96 , Cs5 , v108 + .byte W36 + .byte MOD , 8 + .byte W60 + .byte PEND + .byte VOICE , 56 + .byte MOD , 0 + .byte N36 , Cn5 + .byte W18 + .byte MOD , 7 + .byte W18 + .byte 0 + .byte N36 , Gn4 + .byte W21 + .byte MOD , 7 + .byte W15 + .byte 0 + .byte N24 , Fs4 + .byte W24 + .byte PATT + .word mus_vs_rekku_2_002 + .byte PATT + .word mus_vs_rekku_2_003 + .byte PATT + .word mus_vs_rekku_2_004 + .byte VOICE , 48 + .byte MOD , 0 + .byte N36 , Gn4 , v108 + .byte W36 + .byte As4 + .byte W36 + .byte N24 , Ds5 + .byte W24 + .byte N96 , En5 + .byte W96 + .byte N36 , Ds5 + .byte W36 + .byte As4 + .byte W36 + .byte N24 , Gs4 + .byte W24 + .byte N96 , En5 + .byte W96 + .byte VOICE , 14 + .byte PAN , c_v+0 + .byte N24 , Cn4 + .byte W48 + .byte VOICE , 47 + .byte N48 , En1 , v100 + .byte W48 +mus_vs_rekku_2_005: + .byte VOICE , 14 + .byte N24 , Cn4 , v108 + .byte W48 + .byte VOICE , 47 + .byte N48 , Cn1 , v100 + .byte W48 + .byte PEND + .byte VOICE , 14 + .byte N24 , Cn4 , v108 + .byte W48 + .byte VOICE , 47 + .byte N48 , En1 , v100 + .byte W48 + .byte PATT + .word mus_vs_rekku_2_005 + .byte N24 , En1 , v100 + .byte W24 + .byte An1 + .byte W24 + .byte En1 + .byte W24 + .byte An1 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N24 + .byte W24 + .byte N12 , An1 + .byte W12 + .byte N24 , En1 + .byte W24 + .byte N12 , An1 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , En1 + .byte W24 + .byte N12 , An1 + .byte W12 + .byte N24 , En1 + .byte W24 + .byte N12 + .byte W12 + .byte An1 + .byte W12 + .byte N12 + .byte W12 + .byte N24 , En1 + .byte W24 + .byte An1 + .byte W24 + .byte N12 , En1 + .byte W12 + .byte N12 + .byte W12 + .byte An1 + .byte W12 + .byte N12 + .byte W12 + .byte GOTO + .word mus_vs_rekku_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_vs_rekku_3: + .byte KEYSH , mus_vs_rekku_key+0 + .byte VOICE , 33 + .byte VOL , 80*mus_vs_rekku_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_vs_rekku_3_B1: +mus_vs_rekku_3_000: + .byte N12 , Gn0 , v112 + .byte W48 + .byte N12 + .byte W48 + .byte PEND +mus_vs_rekku_3_001: + .byte N12 , Gn0 , v112 + .byte W48 + .byte N12 + .byte W24 + .byte N24 , Fs0 + .byte W24 + .byte PEND + .byte PATT + .word mus_vs_rekku_3_000 + .byte PATT + .word mus_vs_rekku_3_000 + .byte PATT + .word mus_vs_rekku_3_000 + .byte PATT + .word mus_vs_rekku_3_001 + .byte PATT + .word mus_vs_rekku_3_000 + .byte N12 , Gn0 , v112 + .byte W48 + .byte N12 + .byte W24 + .byte N24 , Bn0 + .byte W24 +mus_vs_rekku_3_002: + .byte N12 , Cn1 , v112 + .byte W48 + .byte N12 + .byte W48 + .byte PEND + .byte N12 + .byte W48 + .byte N12 + .byte W24 + .byte N24 , Bn0 + .byte W24 + .byte PATT + .word mus_vs_rekku_3_002 + .byte N12 , Cn1 , v112 + .byte W48 + .byte N12 + .byte W24 + .byte N24 , Cs1 + .byte W24 + .byte PATT + .word mus_vs_rekku_3_002 + .byte N12 , Cs1 , v112 + .byte W48 + .byte N12 + .byte W48 + .byte PATT + .word mus_vs_rekku_3_002 + .byte N12 , Cs1 , v112 + .byte W48 + .byte N12 + .byte W24 + .byte N24 , Bn0 + .byte W24 +mus_vs_rekku_3_003: + .byte N12 , Cn1 , v112 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte Cn1 + .byte W12 + .byte Gn1 + .byte W12 + .byte PEND +mus_vs_rekku_3_004: + .byte N12 , Cs1 , v112 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte Cs1 + .byte W12 + .byte Gs1 + .byte W12 + .byte PEND + .byte PATT + .word mus_vs_rekku_3_003 + .byte PATT + .word mus_vs_rekku_3_004 +mus_vs_rekku_3_005: + .byte N12 , Ds1 , v112 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte Ds1 + .byte W12 + .byte As1 + .byte W12 + .byte PEND +mus_vs_rekku_3_006: + .byte N12 , En1 , v112 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte En1 + .byte W12 + .byte Bn1 + .byte W12 + .byte PEND + .byte PATT + .word mus_vs_rekku_3_005 + .byte PATT + .word mus_vs_rekku_3_006 + .byte PATT + .word mus_vs_rekku_3_002 +mus_vs_rekku_3_007: + .byte N12 , Cn1 , v112 + .byte W48 + .byte N48 , Bn0 + .byte W48 + .byte PEND + .byte PATT + .word mus_vs_rekku_3_002 + .byte N12 , Cn1 , v112 + .byte W48 + .byte N36 , Gs1 + .byte W36 + .byte N06 , Gn1 + .byte W06 + .byte Fn1 + .byte W06 + .byte PATT + .word mus_vs_rekku_3_002 + .byte PATT + .word mus_vs_rekku_3_007 + .byte PATT + .word mus_vs_rekku_3_002 + .byte N12 , Cn1 , v112 + .byte W48 + .byte Gn0 + .byte W12 + .byte Gs0 + .byte W12 + .byte Gn0 + .byte W12 + .byte Fn0 + .byte W12 + .byte GOTO + .word mus_vs_rekku_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_vs_rekku_4: + .byte KEYSH , mus_vs_rekku_key+0 + .byte VOICE , 127 + .byte LFOS , 18 + .byte PAN , c_v+4 + .byte VOL , 80*mus_vs_rekku_mvl/mxv + .byte N96 , An2 , v096 + .byte W96 + .byte N96 + .byte W96 + .byte N96 + .byte W96 + .byte N96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_vs_rekku_4_B1: + .byte VOICE , 80 + .byte PAN , c_v-48 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte N12 , Gn3 , v052 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Gs3 + .byte W24 +mus_vs_rekku_4_000: + .byte W24 + .byte N72 , Dn3 , v052 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte PEND +mus_vs_rekku_4_001: + .byte MOD , 0 + .byte N12 , Gn3 , v052 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Gs3 + .byte W24 + .byte PEND + .byte W24 + .byte N72 , As3 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte PATT + .word mus_vs_rekku_4_001 + .byte PATT + .word mus_vs_rekku_4_000 + .byte PATT + .word mus_vs_rekku_4_001 + .byte W24 + .byte N72 , Bn3 , v052 + .byte W24 + .byte MOD , 7 + .byte W48 +mus_vs_rekku_4_002: + .byte MOD , 0 + .byte N12 , Cn4 , v052 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Cs4 + .byte W24 + .byte PEND + .byte W24 + .byte N72 , Gn3 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte PATT + .word mus_vs_rekku_4_002 + .byte W24 + .byte N72 , Ds4 , v052 + .byte W24 + .byte MOD , 7 + .byte W48 + .byte 0 + .byte W96 + .byte W96 + .byte 0 + .byte W96 + .byte PAN , c_v+0 + .byte N96 , Cs4 , v060 + .byte W96 + .byte MOD , 0 + .byte W96 + .byte W96 + .byte 0 + .byte W96 + .byte N96 + .byte W96 + .byte N48 , As3 + .byte W48 + .byte N24 , Ds4 + .byte W24 + .byte As4 + .byte W24 + .byte N96 , Gs4 + .byte W96 + .byte N36 , Gn4 + .byte W36 + .byte N12 , Ds4 + .byte W12 + .byte N48 , As3 + .byte W48 + .byte N96 , En4 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_vs_rekku_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_vs_rekku_5: + .byte KEYSH , mus_vs_rekku_key+0 + .byte LFOS , 18 + .byte VOL , 80*mus_vs_rekku_mvl/mxv + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 +mus_vs_rekku_5_B1: + .byte VOICE , 82 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte PAN , c_v+48 + .byte N12 , Cn3 , v052 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Cs3 + .byte W24 +mus_vs_rekku_5_000: + .byte W24 + .byte N12 , Gn2 , v052 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte MOD , 7 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PEND +mus_vs_rekku_5_001: + .byte VOICE , 82 + .byte MOD , 0 + .byte N12 , Cn3 , v052 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Cs3 + .byte W24 + .byte PEND + .byte W24 + .byte Ds3 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte MOD , 7 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PATT + .word mus_vs_rekku_5_001 + .byte PATT + .word mus_vs_rekku_5_000 + .byte PATT + .word mus_vs_rekku_5_001 + .byte W24 + .byte N12 , En3 , v052 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte MOD , 7 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 +mus_vs_rekku_5_002: + .byte VOICE , 82 + .byte MOD , 0 + .byte N12 , Fn3 , v052 + .byte W48 + .byte N24 + .byte W24 + .byte N12 , Fs3 + .byte W24 + .byte PEND + .byte W24 + .byte Cn3 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte MOD , 7 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte PATT + .word mus_vs_rekku_5_002 + .byte W24 + .byte N12 , Gs3 , v052 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte MOD , 7 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte MOD , 0 + .byte W96 + .byte W96 + .byte 0 + .byte W96 + .byte W96 + .byte 0 + .byte W96 + .byte W96 + .byte 0 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte VOICE , 82 + .byte PAN , c_v+0 + .byte N12 , Bn3 , v060 + .byte W12 + .byte Bn3 , v052 + .byte W12 + .byte N12 + .byte W12 + .byte VOICE , 83 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte N12 + .byte W12 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_vs_rekku_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_vs_rekku_6: + .byte KEYSH , mus_vs_rekku_key+0 + .byte VOICE , 47 + .byte PAN , c_v-4 + .byte VOL , 80*mus_vs_rekku_mvl/mxv + .byte N96 , Gn1 , v112 + .byte W96 + .byte N96 + .byte W96 + .byte N96 + .byte W96 + .byte Cn1 + .byte W96 +mus_vs_rekku_6_000: + .byte PAN , c_v+32 + .byte W12 + .byte N36 , Cn2 , v096 + .byte W36 + .byte N36 + .byte W36 + .byte N24 + .byte W12 + .byte PEND +mus_vs_rekku_6_001: + .byte W12 + .byte N12 , Cn2 , v096 + .byte W12 + .byte N24 + .byte W24 + .byte N24 + .byte W24 + .byte N48 + .byte W24 + .byte PEND +mus_vs_rekku_6_002: + .byte W24 + .byte N24 , Cn2 , v096 + .byte W24 + .byte N36 + .byte W36 + .byte N24 + .byte W12 + .byte PEND +mus_vs_rekku_6_003: + .byte W12 + .byte N36 , Cn2 , v096 + .byte W36 + .byte N36 + .byte W36 + .byte N12 + .byte W12 + .byte PEND +mus_vs_rekku_6_B1: +mus_vs_rekku_6_004: + .byte PAN , c_v-16 + .byte N12 , Gn1 , v112 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Gn1 + .byte W12 + .byte PAN , c_v+16 + .byte N12 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Gn1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Cn2 + .byte W12 + .byte PEND +mus_vs_rekku_6_005: + .byte PAN , c_v-16 + .byte N12 , Gn1 , v112 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v-16 + .byte N12 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Gn1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Gn1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Gn1 + .byte W12 + .byte PEND +mus_vs_rekku_6_006: + .byte PAN , c_v-16 + .byte N12 , Gn1 , v112 + .byte W12 + .byte PAN , c_v+16 + .byte N12 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Gn1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Cn2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Gn1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Cn2 + .byte W12 + .byte PEND + .byte PATT + .word mus_vs_rekku_6_004 + .byte PATT + .word mus_vs_rekku_6_004 + .byte PATT + .word mus_vs_rekku_6_005 + .byte PATT + .word mus_vs_rekku_6_006 + .byte PATT + .word mus_vs_rekku_6_004 + .byte PATT + .word mus_vs_rekku_6_004 + .byte PATT + .word mus_vs_rekku_6_005 + .byte PATT + .word mus_vs_rekku_6_006 + .byte PATT + .word mus_vs_rekku_6_004 + .byte PATT + .word mus_vs_rekku_6_004 + .byte PATT + .word mus_vs_rekku_6_005 + .byte PATT + .word mus_vs_rekku_6_006 + .byte PATT + .word mus_vs_rekku_6_004 + .byte PATT + .word mus_vs_rekku_6_004 + .byte PATT + .word mus_vs_rekku_6_005 + .byte PATT + .word mus_vs_rekku_6_006 + .byte PATT + .word mus_vs_rekku_6_004 +mus_vs_rekku_6_007: + .byte PAN , c_v-16 + .byte N12 , As1 , v112 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Ds2 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , As1 + .byte W12 + .byte PAN , c_v+16 + .byte N12 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Ds2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , As1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Ds2 + .byte W12 + .byte PEND + .byte PAN , c_v-16 + .byte N12 , As1 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Ds2 + .byte W12 + .byte PAN , c_v-16 + .byte N12 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , As1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Ds2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , As1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Ds2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , As1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 + .byte W12 + .byte PAN , c_v+16 + .byte N12 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Ds2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , As1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 , Ds2 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , As1 + .byte W12 + .byte PAN , c_v-16 + .byte N12 + .byte W12 + .byte PAN , c_v+16 + .byte N12 , Ds2 + .byte W12 + .byte PATT + .word mus_vs_rekku_6_007 + .byte PATT + .word mus_vs_rekku_6_000 + .byte PATT + .word mus_vs_rekku_6_001 + .byte PATT + .word mus_vs_rekku_6_002 +mus_vs_rekku_6_008: + .byte W12 + .byte N36 , Cn2 , v096 + .byte W36 + .byte N36 + .byte W36 + .byte N24 + .byte W12 + .byte PEND + .byte PATT + .word mus_vs_rekku_6_008 + .byte PATT + .word mus_vs_rekku_6_001 + .byte PATT + .word mus_vs_rekku_6_002 + .byte PATT + .word mus_vs_rekku_6_003 + .byte GOTO + .word mus_vs_rekku_6_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_vs_rekku: + .byte 6 @ NumTrks + .byte 0 @ NumBlks + .byte mus_vs_rekku_pri @ Priority + .byte mus_vs_rekku_rev @ Reverb. + + .word mus_vs_rekku_grp + + .word mus_vs_rekku_1 + .word mus_vs_rekku_2 + .word mus_vs_rekku_3 + .word mus_vs_rekku_4 + .word mus_vs_rekku_5 + .word mus_vs_rekku_6 + + .end diff --git a/sound/songs/mus_yama_eye.s b/sound/songs/mus_yama_eye.s new file mode 100644 index 0000000000..f2beb191d5 --- /dev/null +++ b/sound/songs/mus_yama_eye.s @@ -0,0 +1,1039 @@ + .include "MPlayDef.s" + + .equ mus_yama_eye_grp, voicegroup_869347C + .equ mus_yama_eye_pri, 0 + .equ mus_yama_eye_rev, reverb_set+50 + .equ mus_yama_eye_mvl, 127 + .equ mus_yama_eye_key, 0 + .equ mus_yama_eye_tbs, 1 + .equ mus_yama_eye_exg, 0 + .equ mus_yama_eye_cmp, 1 + + .section .rodata + .global mus_yama_eye + .align 2 + +@********************** Track 1 **********************@ + +mus_yama_eye_1: + .byte KEYSH , mus_yama_eye_key+0 + .byte TEMPO , 128*mus_yama_eye_tbs/2 + .byte VOICE , 1 + .byte LFOS , 44 + .byte PAN , c_v+4 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 38*mus_yama_eye_mvl/mxv + .byte N04 , Fs5 , v112 + .byte W16 + .byte Dn5 + .byte W04 + .byte Bn4 + .byte W04 + .byte N48 , An4 + .byte W48 + .byte N16 , Gn4 + .byte W16 + .byte N08 , Fs4 + .byte W08 +mus_yama_eye_1_B1: + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte GOTO + .word mus_yama_eye_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +mus_yama_eye_2: + .byte KEYSH , mus_yama_eye_key+0 + .byte VOICE , 60 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 62*mus_yama_eye_mvl/mxv + .byte N04 , Fs4 , v112 + .byte W16 + .byte Dn4 + .byte W04 + .byte Bn3 + .byte W04 + .byte N48 , An3 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N16 , Gn3 + .byte W16 + .byte N08 , Fs3 + .byte W08 +mus_yama_eye_2_B1: + .byte N08 , Dn4 , v096 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Fs4 + .byte W16 + .byte Dn4 + .byte W08 + .byte N48 , An3 + .byte W24 + .byte MOD , 7 + .byte VOL , 58*mus_yama_eye_mvl/mxv + .byte W04 + .byte 50*mus_yama_eye_mvl/mxv + .byte W04 + .byte 43*mus_yama_eye_mvl/mxv + .byte W04 + .byte 33*mus_yama_eye_mvl/mxv + .byte W04 + .byte 31*mus_yama_eye_mvl/mxv + .byte W04 + .byte 26*mus_yama_eye_mvl/mxv + .byte W04 + .byte MOD , 0 + .byte VOL , 63*mus_yama_eye_mvl/mxv + .byte N08 , Fs3 + .byte W08 + .byte N04 , Fn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte An3 + .byte W16 + .byte Fs3 + .byte W08 + .byte N24 , Dn3 + .byte W24 + .byte An2 + .byte W24 + .byte N04 , Fs3 + .byte W16 + .byte N04 + .byte W08 + .byte Fn3 + .byte W16 + .byte Fs3 + .byte W08 + .byte N16 , An3 + .byte W16 + .byte N04 , Gs3 + .byte W04 + .byte Gn3 + .byte W04 + .byte N24 , Fs3 + .byte W24 + .byte N72 , Gn3 + .byte W24 + .byte VOL , 62*mus_yama_eye_mvl/mxv + .byte MOD , 8 + .byte W08 + .byte VOL , 60*mus_yama_eye_mvl/mxv + .byte W04 + .byte 58*mus_yama_eye_mvl/mxv + .byte W04 + .byte 55*mus_yama_eye_mvl/mxv + .byte W04 + .byte 53*mus_yama_eye_mvl/mxv + .byte W04 + .byte 52*mus_yama_eye_mvl/mxv + .byte W04 + .byte 50*mus_yama_eye_mvl/mxv + .byte W04 + .byte 46*mus_yama_eye_mvl/mxv + .byte W04 + .byte 41*mus_yama_eye_mvl/mxv + .byte W04 + .byte 40*mus_yama_eye_mvl/mxv + .byte W04 + .byte 36*mus_yama_eye_mvl/mxv + .byte W04 + .byte 63*mus_yama_eye_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte N08 , En4 + .byte W08 + .byte N04 , Ds4 + .byte W08 + .byte En4 + .byte W08 + .byte Gn4 + .byte W16 + .byte En4 + .byte W08 + .byte N48 , Bn3 + .byte W24 + .byte VOL , 62*mus_yama_eye_mvl/mxv + .byte W04 + .byte 60*mus_yama_eye_mvl/mxv + .byte W04 + .byte 57*mus_yama_eye_mvl/mxv + .byte W04 + .byte 47*mus_yama_eye_mvl/mxv + .byte W04 + .byte 41*mus_yama_eye_mvl/mxv + .byte W04 + .byte 38*mus_yama_eye_mvl/mxv + .byte W04 + .byte 63*mus_yama_eye_mvl/mxv + .byte N08 , Cs4 + .byte W08 + .byte N04 , Cn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte En4 + .byte W16 + .byte Cs4 + .byte W08 + .byte N32 , Bn4 , v072 + .byte W32 + .byte N08 , As4 , v068 + .byte W08 + .byte N04 , An4 + .byte W08 + .byte N08 , An3 , v096 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Gs3 + .byte W16 + .byte N04 , An3 + .byte W08 + .byte N08 , Bn3 + .byte W16 + .byte N04 , Cs4 + .byte W08 + .byte N08 , Dn4 + .byte W16 + .byte N04 , En4 + .byte W08 + .byte N72 , Fs4 + .byte W24 + .byte VOL , 62*mus_yama_eye_mvl/mxv + .byte MOD , 5 + .byte W04 + .byte VOL , 60*mus_yama_eye_mvl/mxv + .byte W04 + .byte 55*mus_yama_eye_mvl/mxv + .byte W04 + .byte 52*mus_yama_eye_mvl/mxv + .byte W04 + .byte 50*mus_yama_eye_mvl/mxv + .byte W04 + .byte 46*mus_yama_eye_mvl/mxv + .byte W04 + .byte 43*mus_yama_eye_mvl/mxv + .byte W08 + .byte 40*mus_yama_eye_mvl/mxv + .byte W04 + .byte 38*mus_yama_eye_mvl/mxv + .byte W04 + .byte 36*mus_yama_eye_mvl/mxv + .byte W04 + .byte 33*mus_yama_eye_mvl/mxv + .byte W04 + .byte 63*mus_yama_eye_mvl/mxv + .byte MOD , 0 + .byte W24 + .byte GOTO + .word mus_yama_eye_2_B1 + .byte FINE + +@********************** Track 3 **********************@ + +mus_yama_eye_3: + .byte KEYSH , mus_yama_eye_key+0 + .byte VOICE , 58 + .byte BENDR , 12 + .byte LFOS , 44 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 76*mus_yama_eye_mvl/mxv + .byte N04 , An1 , v112 + .byte W16 + .byte Fs1 + .byte W04 + .byte Dn1 + .byte W04 + .byte N48 , An0 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N16 , Cs1 + .byte W24 +mus_yama_eye_3_B1: + .byte N08 , Dn1 , v112 + .byte W48 + .byte An0 + .byte W48 +mus_yama_eye_3_000: + .byte N08 , Dn1 , v112 + .byte W24 + .byte An0 + .byte W24 + .byte Dn1 + .byte W08 + .byte N04 , Cs1 , v072 + .byte W04 + .byte Cn1 + .byte W04 + .byte Bn0 + .byte W04 + .byte As0 + .byte W04 + .byte N24 , An0 , v112 + .byte W16 + .byte BEND , c_v+20 + .byte W08 + .byte PEND + .byte c_v+0 + .byte N08 , Dn1 + .byte W48 + .byte An0 + .byte W48 +mus_yama_eye_3_001: + .byte N08 , En1 , v112 + .byte W24 + .byte Bn0 + .byte W24 + .byte En1 + .byte W08 + .byte N04 , Ds1 , v072 + .byte W04 + .byte Dn1 + .byte W04 + .byte Cs1 + .byte W04 + .byte Cn1 + .byte W04 + .byte N24 , Bn0 , v112 + .byte W16 + .byte BEND , c_v+20 + .byte W08 + .byte PEND + .byte c_v+0 + .byte N08 , En1 + .byte W48 + .byte Bn0 + .byte W48 + .byte PATT + .word mus_yama_eye_3_001 + .byte BEND , c_v+0 + .byte N08 , An0 , v112 + .byte W48 + .byte En0 + .byte W48 + .byte PATT + .word mus_yama_eye_3_000 + .byte GOTO + .word mus_yama_eye_3_B1 + .byte FINE + +@********************** Track 4 **********************@ + +mus_yama_eye_4: + .byte KEYSH , mus_yama_eye_key+0 + .byte VOICE , 47 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 76*mus_yama_eye_mvl/mxv + .byte PAN , c_v+32 + .byte N04 , An2 , v124 + .byte W16 + .byte Fs2 + .byte W04 + .byte PAN , c_v+0 + .byte N04 , Dn2 , v120 + .byte W04 + .byte PAN , c_v-32 + .byte N08 , An1 , v127 + .byte W24 + .byte PAN , c_v+22 + .byte N08 , An2 , v124 + .byte W16 + .byte N04 , An2 , v112 + .byte W08 + .byte PAN , c_v-33 + .byte N08 , An1 , v127 + .byte W16 + .byte N04 , An1 , v112 + .byte W08 +mus_yama_eye_4_B1: + .byte PAN , c_v+22 + .byte BEND , c_v+0 + .byte N08 , Dn2 , v127 + .byte W48 + .byte PAN , c_v-33 + .byte N08 , An1 , v112 + .byte W48 + .byte PAN , c_v+24 + .byte BEND , c_v+0 + .byte N08 , Dn2 , v127 + .byte W24 + .byte PAN , c_v-32 + .byte N08 , An1 , v112 + .byte W24 + .byte PAN , c_v+24 + .byte N08 , Dn2 + .byte W16 + .byte N04 , Dn2 , v064 + .byte W08 + .byte PAN , c_v-33 + .byte N24 , An1 , v120 + .byte W16 + .byte BEND , c_v+20 + .byte W08 + .byte PAN , c_v+21 + .byte BEND , c_v+0 + .byte N08 , Dn2 , v127 + .byte W48 + .byte PAN , c_v-33 + .byte N08 , An1 , v112 + .byte W48 + .byte PAN , c_v+24 + .byte BEND , c_v+0 + .byte N08 , En2 , v127 + .byte W24 + .byte PAN , c_v-32 + .byte N08 , Bn1 , v112 + .byte W24 + .byte PAN , c_v+24 + .byte N08 , En2 + .byte W16 + .byte N04 , En2 , v064 + .byte W08 + .byte PAN , c_v-33 + .byte N24 , Bn1 , v120 + .byte W16 + .byte BEND , c_v+20 + .byte W08 + .byte PAN , c_v+25 + .byte BEND , c_v+0 + .byte N08 , En2 , v127 + .byte W48 + .byte PAN , c_v-32 + .byte N08 , Bn1 , v112 + .byte W48 + .byte PAN , c_v+24 + .byte BEND , c_v+0 + .byte N08 , En2 , v127 + .byte W24 + .byte PAN , c_v-32 + .byte N08 , Bn1 , v112 + .byte W24 + .byte PAN , c_v+28 + .byte N08 , En2 + .byte W16 + .byte N04 , En2 , v064 + .byte W08 + .byte PAN , c_v-33 + .byte N24 , Bn1 , v120 + .byte W16 + .byte BEND , c_v+20 + .byte W08 + .byte PAN , c_v+24 + .byte BEND , c_v+0 + .byte N08 , An1 , v127 + .byte W48 + .byte PAN , c_v-33 + .byte N08 , En1 , v112 + .byte W48 + .byte PAN , c_v+24 + .byte BEND , c_v+0 + .byte N08 , Dn2 , v127 + .byte W24 + .byte PAN , c_v-32 + .byte N08 , An1 , v112 + .byte W24 + .byte PAN , c_v+24 + .byte N08 , Dn2 + .byte W16 + .byte N04 , Dn2 , v064 + .byte W08 + .byte PAN , c_v-32 + .byte N24 , An1 , v120 + .byte W16 + .byte BEND , c_v+20 + .byte W08 + .byte GOTO + .word mus_yama_eye_4_B1 + .byte FINE + +@********************** Track 5 **********************@ + +mus_yama_eye_5: + .byte KEYSH , mus_yama_eye_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v-64 + .byte VOL , 35*mus_yama_eye_mvl/mxv + .byte N04 , An2 , v112 + .byte W16 + .byte Fs2 + .byte W04 + .byte Dn2 + .byte W04 + .byte N48 , An1 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N16 , Cs2 + .byte W16 + .byte N04 , Dn3 + .byte W04 + .byte En3 + .byte W04 +mus_yama_eye_5_B1: +mus_yama_eye_5_000: + .byte N12 , Fs3 , v112 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte Fs3 , v088 + .byte W08 + .byte N02 + .byte W16 + .byte An3 , v112 + .byte W08 + .byte Fs3 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte PEND + .byte N04 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte An3 + .byte W08 + .byte Fs3 + .byte W08 + .byte N02 + .byte W08 + .byte N08 , Fn3 + .byte W08 + .byte N02 , Fs3 + .byte W08 + .byte PATT + .word mus_yama_eye_5_000 +mus_yama_eye_5_001: + .byte N04 , Gn3 , v112 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte Bn3 + .byte W08 + .byte Gn3 + .byte W08 + .byte N02 + .byte W08 + .byte N08 , Fs3 + .byte W08 + .byte N02 , Gn3 + .byte W08 + .byte PEND + .byte N12 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte Gn3 , v088 + .byte W08 + .byte N02 + .byte W16 + .byte Gn3 , v112 + .byte W08 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte PATT + .word mus_yama_eye_5_001 + .byte N12 , En3 , v112 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte En3 , v088 + .byte W08 + .byte N02 + .byte W16 + .byte An3 , v112 + .byte W08 + .byte En3 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N04 , Dn3 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N08 , Cs3 + .byte W08 + .byte N02 , Dn3 + .byte W08 + .byte GOTO + .word mus_yama_eye_5_B1 + .byte FINE + +@********************** Track 6 **********************@ + +mus_yama_eye_6: + .byte KEYSH , mus_yama_eye_key+0 + .byte VOICE , 81 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+63 + .byte VOL , 37*mus_yama_eye_mvl/mxv + .byte N04 , Dn3 , v112 + .byte W16 + .byte An2 + .byte W04 + .byte Gn2 + .byte W04 + .byte N48 , Dn3 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N16 , Cs3 + .byte W16 + .byte N04 , Fs3 + .byte W04 + .byte Gn3 + .byte W04 +mus_yama_eye_6_B1: +mus_yama_eye_6_000: + .byte N12 , An3 , v112 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte An3 , v088 + .byte W08 + .byte N02 + .byte W16 + .byte Dn4 , v112 + .byte W08 + .byte An3 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte PEND + .byte N04 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte Dn4 + .byte W08 + .byte An3 + .byte W08 + .byte N02 + .byte W08 + .byte N08 , Gs3 + .byte W08 + .byte N02 , An3 + .byte W08 + .byte PATT + .word mus_yama_eye_6_000 +mus_yama_eye_6_001: + .byte N04 , Bn3 , v112 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte En4 + .byte W08 + .byte Bn3 + .byte W08 + .byte N02 + .byte W08 + .byte N08 , As3 + .byte W08 + .byte N02 , Bn3 + .byte W08 + .byte PEND + .byte N12 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte Bn3 , v088 + .byte W08 + .byte N02 + .byte W16 + .byte Bn3 , v112 + .byte W08 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte PATT + .word mus_yama_eye_6_001 + .byte N12 , An3 , v112 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte An3 , v088 + .byte W08 + .byte N02 + .byte W16 + .byte Cs4 , v112 + .byte W08 + .byte An3 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N04 + .byte W12 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W04 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W16 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N02 + .byte W08 + .byte N08 , Gs3 + .byte W08 + .byte N02 , An3 + .byte W08 + .byte GOTO + .word mus_yama_eye_6_B1 + .byte FINE + +@********************** Track 7 **********************@ + +mus_yama_eye_7: + .byte KEYSH , mus_yama_eye_key+0 + .byte VOICE , 0 + .byte PAN , c_v+0 + .byte VOL , 56*mus_yama_eye_mvl/mxv + .byte W96 +mus_yama_eye_7_B1: +mus_yama_eye_7_000: + .byte N04 , En1 , v112 + .byte W16 + .byte En1 , v084 + .byte W08 + .byte En1 , v112 + .byte W04 + .byte En1 , v052 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte En1 , v112 + .byte W08 + .byte En1 , v060 + .byte W08 + .byte En1 , v084 + .byte W08 + .byte En1 , v112 + .byte W04 + .byte En1 , v052 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte PEND +mus_yama_eye_7_001: + .byte N04 , En1 , v112 + .byte W08 + .byte En1 , v060 + .byte W08 + .byte En1 , v084 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v084 + .byte W08 + .byte En1 , v112 + .byte W16 + .byte En1 , v084 + .byte W08 + .byte En1 , v112 + .byte W04 + .byte En1 , v052 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte N04 + .byte W04 + .byte PEND + .byte PATT + .word mus_yama_eye_7_000 + .byte PATT + .word mus_yama_eye_7_001 + .byte PATT + .word mus_yama_eye_7_000 + .byte PATT + .word mus_yama_eye_7_001 + .byte PATT + .word mus_yama_eye_7_000 + .byte PATT + .word mus_yama_eye_7_001 + .byte GOTO + .word mus_yama_eye_7_B1 + .byte FINE + +@********************** Track 8 **********************@ + +mus_yama_eye_8: + .byte KEYSH , mus_yama_eye_key+0 + .byte VOICE , 82 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 22*mus_yama_eye_mvl/mxv + .byte W48 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte W24 +mus_yama_eye_8_B1: + .byte BEND , c_v+1 + .byte N08 , Dn4 , v112 + .byte W08 + .byte N04 , Cs4 + .byte W08 + .byte Dn4 + .byte W08 + .byte Fs4 + .byte W16 + .byte Dn4 + .byte W08 + .byte N48 , An3 + .byte W24 + .byte MOD , 7 + .byte W24 + .byte 0 + .byte N08 , Fs3 + .byte W08 + .byte N04 , Fn3 + .byte W08 + .byte Fs3 + .byte W08 + .byte An3 + .byte W16 + .byte Fs3 + .byte W08 + .byte N24 , Dn3 + .byte W24 + .byte An2 + .byte W24 + .byte N04 , Fs3 + .byte W16 + .byte N04 + .byte W08 + .byte Fn3 + .byte W16 + .byte Fs3 + .byte W08 + .byte N16 , An3 + .byte W16 + .byte N04 , Gs3 , v080 + .byte W04 + .byte Gn3 + .byte W04 + .byte N24 , Fs3 , v112 + .byte W24 + .byte N72 , Gn3 + .byte W24 + .byte MOD , 8 + .byte W48 + .byte 0 + .byte W24 + .byte N08 , En4 + .byte W08 + .byte N04 , Ds4 + .byte W08 + .byte En4 + .byte W08 + .byte Gn4 + .byte W16 + .byte En4 + .byte W08 + .byte N48 , Bn3 + .byte W48 + .byte N08 , Cs4 + .byte W08 + .byte N04 , Cn4 + .byte W08 + .byte Cs4 + .byte W08 + .byte En4 + .byte W16 + .byte Cs4 + .byte W08 + .byte N32 , Bn4 , v068 + .byte W32 + .byte N08 , As4 , v076 + .byte W08 + .byte N04 , An4 + .byte W08 + .byte N08 , An3 , v112 + .byte W16 + .byte N04 + .byte W08 + .byte N08 , Gs3 + .byte W16 + .byte N04 , An3 + .byte W08 + .byte N08 , Bn3 + .byte W16 + .byte N04 , Cs4 + .byte W08 + .byte N08 , Dn4 + .byte W16 + .byte N04 , En4 + .byte W08 + .byte N72 , Fs4 + .byte W24 + .byte MOD , 5 + .byte W48 + .byte 0 + .byte W24 + .byte GOTO + .word mus_yama_eye_8_B1 + .byte FINE + +@******************************************************@ + .align 2 + +mus_yama_eye: + .byte 8 @ NumTrks + .byte 0 @ NumBlks + .byte mus_yama_eye_pri @ Priority + .byte mus_yama_eye_rev @ Reverb. + + .word mus_yama_eye_grp + + .word mus_yama_eye_1 + .word mus_yama_eye_2 + .word mus_yama_eye_3 + .word mus_yama_eye_4 + .word mus_yama_eye_5 + .word mus_yama_eye_6 + .word mus_yama_eye_7 + .word mus_yama_eye_8 + + .end diff --git a/sound/songs/ph_choice_blend.s b/sound/songs/ph_choice_blend.s new file mode 100644 index 0000000000..6550eb7ecd --- /dev/null +++ b/sound/songs/ph_choice_blend.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_choice_blend_grp, voicegroup_86A0754 + .equ ph_choice_blend_pri, 4 + .equ ph_choice_blend_rev, 0 + .equ ph_choice_blend_mvl, 127 + .equ ph_choice_blend_key, 0 + .equ ph_choice_blend_tbs, 1 + .equ ph_choice_blend_exg, 0 + .equ ph_choice_blend_cmp, 1 + + .section .rodata + .global ph_choice_blend + .align 2 + +@********************** Track 1 **********************@ + +ph_choice_blend_1: + .byte KEYSH , ph_choice_blend_key+0 + .byte TEMPO , 120*ph_choice_blend_tbs/2 + .byte VOICE , 30 + .byte VOL , 127*ph_choice_blend_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_choice_blend: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_choice_blend_pri @ Priority + .byte ph_choice_blend_rev @ Reverb. + + .word ph_choice_blend_grp + + .word ph_choice_blend_1 + + .end diff --git a/sound/songs/ph_choice_held.s b/sound/songs/ph_choice_held.s new file mode 100644 index 0000000000..902c9bce94 --- /dev/null +++ b/sound/songs/ph_choice_held.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ ph_choice_held_grp, voicegroup_86A0754 + .equ ph_choice_held_pri, 4 + .equ ph_choice_held_rev, 0 + .equ ph_choice_held_mvl, 127 + .equ ph_choice_held_key, 0 + .equ ph_choice_held_tbs, 1 + .equ ph_choice_held_exg, 0 + .equ ph_choice_held_cmp, 1 + + .section .rodata + .global ph_choice_held + .align 2 + +@********************** Track 1 **********************@ + +ph_choice_held_1: + .byte KEYSH , ph_choice_held_key+0 + .byte TEMPO , 120*ph_choice_held_tbs/2 + .byte VOICE , 31 + .byte VOL , 127*ph_choice_held_mvl/mxv + .byte TIE , Cn3 , v127 + .byte W96 +ph_choice_held_1_B1: + .byte W96 + .byte GOTO + .word ph_choice_held_1_B1 + .byte W48 + .byte EOT , Cn3 + .byte FINE + +@******************************************************@ + .align 2 + +ph_choice_held: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_choice_held_pri @ Priority + .byte ph_choice_held_rev @ Reverb. + + .word ph_choice_held_grp + + .word ph_choice_held_1 + + .end diff --git a/sound/songs/ph_choice_solo.s b/sound/songs/ph_choice_solo.s new file mode 100644 index 0000000000..cbbcd5e4b2 --- /dev/null +++ b/sound/songs/ph_choice_solo.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_choice_solo_grp, voicegroup_86A0754 + .equ ph_choice_solo_pri, 4 + .equ ph_choice_solo_rev, 0 + .equ ph_choice_solo_mvl, 127 + .equ ph_choice_solo_key, 0 + .equ ph_choice_solo_tbs, 1 + .equ ph_choice_solo_exg, 0 + .equ ph_choice_solo_cmp, 1 + + .section .rodata + .global ph_choice_solo + .align 2 + +@********************** Track 1 **********************@ + +ph_choice_solo_1: + .byte KEYSH , ph_choice_solo_key+0 + .byte TEMPO , 120*ph_choice_solo_tbs/2 + .byte VOICE , 32 + .byte VOL , 127*ph_choice_solo_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_choice_solo: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_choice_solo_pri @ Priority + .byte ph_choice_solo_rev @ Reverb. + + .word ph_choice_solo_grp + + .word ph_choice_solo_1 + + .end diff --git a/sound/songs/ph_cloth_blend.s b/sound/songs/ph_cloth_blend.s new file mode 100644 index 0000000000..829ea3722b --- /dev/null +++ b/sound/songs/ph_cloth_blend.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_cloth_blend_grp, voicegroup_86A0754 + .equ ph_cloth_blend_pri, 4 + .equ ph_cloth_blend_rev, 0 + .equ ph_cloth_blend_mvl, 127 + .equ ph_cloth_blend_key, 0 + .equ ph_cloth_blend_tbs, 1 + .equ ph_cloth_blend_exg, 0 + .equ ph_cloth_blend_cmp, 1 + + .section .rodata + .global ph_cloth_blend + .align 2 + +@********************** Track 1 **********************@ + +ph_cloth_blend_1: + .byte KEYSH , ph_cloth_blend_key+0 + .byte TEMPO , 120*ph_cloth_blend_tbs/2 + .byte VOICE , 6 + .byte VOL , 127*ph_cloth_blend_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_cloth_blend: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_cloth_blend_pri @ Priority + .byte ph_cloth_blend_rev @ Reverb. + + .word ph_cloth_blend_grp + + .word ph_cloth_blend_1 + + .end diff --git a/sound/songs/ph_cloth_held.s b/sound/songs/ph_cloth_held.s new file mode 100644 index 0000000000..9ec3d88417 --- /dev/null +++ b/sound/songs/ph_cloth_held.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ ph_cloth_held_grp, voicegroup_86A0754 + .equ ph_cloth_held_pri, 4 + .equ ph_cloth_held_rev, 0 + .equ ph_cloth_held_mvl, 127 + .equ ph_cloth_held_key, 0 + .equ ph_cloth_held_tbs, 1 + .equ ph_cloth_held_exg, 0 + .equ ph_cloth_held_cmp, 1 + + .section .rodata + .global ph_cloth_held + .align 2 + +@********************** Track 1 **********************@ + +ph_cloth_held_1: + .byte KEYSH , ph_cloth_held_key+0 + .byte TEMPO , 120*ph_cloth_held_tbs/2 + .byte VOICE , 7 + .byte VOL , 127*ph_cloth_held_mvl/mxv + .byte TIE , Cn3 , v127 + .byte W96 +ph_cloth_held_1_B1: + .byte W96 + .byte GOTO + .word ph_cloth_held_1_B1 + .byte W48 + .byte EOT , Cn3 + .byte FINE + +@******************************************************@ + .align 2 + +ph_cloth_held: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_cloth_held_pri @ Priority + .byte ph_cloth_held_rev @ Reverb. + + .word ph_cloth_held_grp + + .word ph_cloth_held_1 + + .end diff --git a/sound/songs/ph_cloth_solo.s b/sound/songs/ph_cloth_solo.s new file mode 100644 index 0000000000..db6191897e --- /dev/null +++ b/sound/songs/ph_cloth_solo.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_cloth_solo_grp, voicegroup_86A0754 + .equ ph_cloth_solo_pri, 4 + .equ ph_cloth_solo_rev, 0 + .equ ph_cloth_solo_mvl, 127 + .equ ph_cloth_solo_key, 0 + .equ ph_cloth_solo_tbs, 1 + .equ ph_cloth_solo_exg, 0 + .equ ph_cloth_solo_cmp, 1 + + .section .rodata + .global ph_cloth_solo + .align 2 + +@********************** Track 1 **********************@ + +ph_cloth_solo_1: + .byte KEYSH , ph_cloth_solo_key+0 + .byte TEMPO , 120*ph_cloth_solo_tbs/2 + .byte VOICE , 8 + .byte VOL , 127*ph_cloth_solo_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_cloth_solo: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_cloth_solo_pri @ Priority + .byte ph_cloth_solo_rev @ Reverb. + + .word ph_cloth_solo_grp + + .word ph_cloth_solo_1 + + .end diff --git a/sound/songs/ph_cure_blend.s b/sound/songs/ph_cure_blend.s new file mode 100644 index 0000000000..8504bb1687 --- /dev/null +++ b/sound/songs/ph_cure_blend.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_cure_blend_grp, voicegroup_86A0754 + .equ ph_cure_blend_pri, 4 + .equ ph_cure_blend_rev, 0 + .equ ph_cure_blend_mvl, 127 + .equ ph_cure_blend_key, 0 + .equ ph_cure_blend_tbs, 1 + .equ ph_cure_blend_exg, 0 + .equ ph_cure_blend_cmp, 1 + + .section .rodata + .global ph_cure_blend + .align 2 + +@********************** Track 1 **********************@ + +ph_cure_blend_1: + .byte KEYSH , ph_cure_blend_key+0 + .byte TEMPO , 120*ph_cure_blend_tbs/2 + .byte VOICE , 45 + .byte VOL , 127*ph_cure_blend_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_cure_blend: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_cure_blend_pri @ Priority + .byte ph_cure_blend_rev @ Reverb. + + .word ph_cure_blend_grp + + .word ph_cure_blend_1 + + .end diff --git a/sound/songs/ph_cure_held.s b/sound/songs/ph_cure_held.s new file mode 100644 index 0000000000..d1a571851c --- /dev/null +++ b/sound/songs/ph_cure_held.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ ph_cure_held_grp, voicegroup_86A0754 + .equ ph_cure_held_pri, 4 + .equ ph_cure_held_rev, 0 + .equ ph_cure_held_mvl, 127 + .equ ph_cure_held_key, 0 + .equ ph_cure_held_tbs, 1 + .equ ph_cure_held_exg, 0 + .equ ph_cure_held_cmp, 1 + + .section .rodata + .global ph_cure_held + .align 2 + +@********************** Track 1 **********************@ + +ph_cure_held_1: + .byte KEYSH , ph_cure_held_key+0 + .byte TEMPO , 120*ph_cure_held_tbs/2 + .byte VOICE , 46 + .byte VOL , 127*ph_cure_held_mvl/mxv + .byte TIE , Cn3 , v127 + .byte W96 +ph_cure_held_1_B1: + .byte W96 + .byte GOTO + .word ph_cure_held_1_B1 + .byte W48 + .byte EOT , Cn3 + .byte FINE + +@******************************************************@ + .align 2 + +ph_cure_held: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_cure_held_pri @ Priority + .byte ph_cure_held_rev @ Reverb. + + .word ph_cure_held_grp + + .word ph_cure_held_1 + + .end diff --git a/sound/songs/ph_cure_solo.s b/sound/songs/ph_cure_solo.s new file mode 100644 index 0000000000..7784e0b5e1 --- /dev/null +++ b/sound/songs/ph_cure_solo.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_cure_solo_grp, voicegroup_86A0754 + .equ ph_cure_solo_pri, 4 + .equ ph_cure_solo_rev, 0 + .equ ph_cure_solo_mvl, 127 + .equ ph_cure_solo_key, 0 + .equ ph_cure_solo_tbs, 1 + .equ ph_cure_solo_exg, 0 + .equ ph_cure_solo_cmp, 1 + + .section .rodata + .global ph_cure_solo + .align 2 + +@********************** Track 1 **********************@ + +ph_cure_solo_1: + .byte KEYSH , ph_cure_solo_key+0 + .byte TEMPO , 120*ph_cure_solo_tbs/2 + .byte VOICE , 47 + .byte VOL , 127*ph_cure_solo_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_cure_solo: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_cure_solo_pri @ Priority + .byte ph_cure_solo_rev @ Reverb. + + .word ph_cure_solo_grp + + .word ph_cure_solo_1 + + .end diff --git a/sound/songs/ph_dress_blend.s b/sound/songs/ph_dress_blend.s new file mode 100644 index 0000000000..f5b5d56077 --- /dev/null +++ b/sound/songs/ph_dress_blend.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_dress_blend_grp, voicegroup_86A0754 + .equ ph_dress_blend_pri, 4 + .equ ph_dress_blend_rev, 0 + .equ ph_dress_blend_mvl, 127 + .equ ph_dress_blend_key, 0 + .equ ph_dress_blend_tbs, 1 + .equ ph_dress_blend_exg, 0 + .equ ph_dress_blend_cmp, 1 + + .section .rodata + .global ph_dress_blend + .align 2 + +@********************** Track 1 **********************@ + +ph_dress_blend_1: + .byte KEYSH , ph_dress_blend_key+0 + .byte TEMPO , 120*ph_dress_blend_tbs/2 + .byte VOICE , 9 + .byte VOL , 127*ph_dress_blend_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_dress_blend: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_dress_blend_pri @ Priority + .byte ph_dress_blend_rev @ Reverb. + + .word ph_dress_blend_grp + + .word ph_dress_blend_1 + + .end diff --git a/sound/songs/ph_dress_held.s b/sound/songs/ph_dress_held.s new file mode 100644 index 0000000000..0505f054eb --- /dev/null +++ b/sound/songs/ph_dress_held.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ ph_dress_held_grp, voicegroup_86A0754 + .equ ph_dress_held_pri, 4 + .equ ph_dress_held_rev, 0 + .equ ph_dress_held_mvl, 127 + .equ ph_dress_held_key, 0 + .equ ph_dress_held_tbs, 1 + .equ ph_dress_held_exg, 0 + .equ ph_dress_held_cmp, 1 + + .section .rodata + .global ph_dress_held + .align 2 + +@********************** Track 1 **********************@ + +ph_dress_held_1: + .byte KEYSH , ph_dress_held_key+0 + .byte TEMPO , 120*ph_dress_held_tbs/2 + .byte VOICE , 10 + .byte VOL , 127*ph_dress_held_mvl/mxv + .byte TIE , Cn3 , v127 + .byte W96 +ph_dress_held_1_B1: + .byte W96 + .byte GOTO + .word ph_dress_held_1_B1 + .byte W48 + .byte EOT , Cn3 + .byte FINE + +@******************************************************@ + .align 2 + +ph_dress_held: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_dress_held_pri @ Priority + .byte ph_dress_held_rev @ Reverb. + + .word ph_dress_held_grp + + .word ph_dress_held_1 + + .end diff --git a/sound/songs/ph_dress_solo.s b/sound/songs/ph_dress_solo.s new file mode 100644 index 0000000000..d38c6034ba --- /dev/null +++ b/sound/songs/ph_dress_solo.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_dress_solo_grp, voicegroup_86A0754 + .equ ph_dress_solo_pri, 4 + .equ ph_dress_solo_rev, 0 + .equ ph_dress_solo_mvl, 127 + .equ ph_dress_solo_key, 0 + .equ ph_dress_solo_tbs, 1 + .equ ph_dress_solo_exg, 0 + .equ ph_dress_solo_cmp, 1 + + .section .rodata + .global ph_dress_solo + .align 2 + +@********************** Track 1 **********************@ + +ph_dress_solo_1: + .byte KEYSH , ph_dress_solo_key+0 + .byte TEMPO , 120*ph_dress_solo_tbs/2 + .byte VOICE , 11 + .byte VOL , 127*ph_dress_solo_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_dress_solo: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_dress_solo_pri @ Priority + .byte ph_dress_solo_rev @ Reverb. + + .word ph_dress_solo_grp + + .word ph_dress_solo_1 + + .end diff --git a/sound/songs/ph_face_blend.s b/sound/songs/ph_face_blend.s new file mode 100644 index 0000000000..fb26025f4e --- /dev/null +++ b/sound/songs/ph_face_blend.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_face_blend_grp, voicegroup_86A0754 + .equ ph_face_blend_pri, 4 + .equ ph_face_blend_rev, 0 + .equ ph_face_blend_mvl, 127 + .equ ph_face_blend_key, 0 + .equ ph_face_blend_tbs, 1 + .equ ph_face_blend_exg, 0 + .equ ph_face_blend_cmp, 1 + + .section .rodata + .global ph_face_blend + .align 2 + +@********************** Track 1 **********************@ + +ph_face_blend_1: + .byte KEYSH , ph_face_blend_key+0 + .byte TEMPO , 120*ph_face_blend_tbs/2 + .byte VOICE , 3 + .byte VOL , 127*ph_face_blend_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_face_blend: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_face_blend_pri @ Priority + .byte ph_face_blend_rev @ Reverb. + + .word ph_face_blend_grp + + .word ph_face_blend_1 + + .end diff --git a/sound/songs/ph_face_held.s b/sound/songs/ph_face_held.s new file mode 100644 index 0000000000..6076aec32a --- /dev/null +++ b/sound/songs/ph_face_held.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ ph_face_held_grp, voicegroup_86A0754 + .equ ph_face_held_pri, 4 + .equ ph_face_held_rev, 0 + .equ ph_face_held_mvl, 127 + .equ ph_face_held_key, 0 + .equ ph_face_held_tbs, 1 + .equ ph_face_held_exg, 0 + .equ ph_face_held_cmp, 1 + + .section .rodata + .global ph_face_held + .align 2 + +@********************** Track 1 **********************@ + +ph_face_held_1: + .byte KEYSH , ph_face_held_key+0 + .byte TEMPO , 120*ph_face_held_tbs/2 + .byte VOICE , 4 + .byte VOL , 127*ph_face_held_mvl/mxv + .byte TIE , Cn3 , v127 + .byte W96 +ph_face_held_1_B1: + .byte W96 + .byte GOTO + .word ph_face_held_1_B1 + .byte W48 + .byte EOT , Cn3 + .byte FINE + +@******************************************************@ + .align 2 + +ph_face_held: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_face_held_pri @ Priority + .byte ph_face_held_rev @ Reverb. + + .word ph_face_held_grp + + .word ph_face_held_1 + + .end diff --git a/sound/songs/ph_face_solo.s b/sound/songs/ph_face_solo.s new file mode 100644 index 0000000000..e8d7cce38b --- /dev/null +++ b/sound/songs/ph_face_solo.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_face_solo_grp, voicegroup_86A0754 + .equ ph_face_solo_pri, 4 + .equ ph_face_solo_rev, 0 + .equ ph_face_solo_mvl, 127 + .equ ph_face_solo_key, 0 + .equ ph_face_solo_tbs, 1 + .equ ph_face_solo_exg, 0 + .equ ph_face_solo_cmp, 1 + + .section .rodata + .global ph_face_solo + .align 2 + +@********************** Track 1 **********************@ + +ph_face_solo_1: + .byte KEYSH , ph_face_solo_key+0 + .byte TEMPO , 120*ph_face_solo_tbs/2 + .byte VOICE , 5 + .byte VOL , 127*ph_face_solo_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_face_solo: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_face_solo_pri @ Priority + .byte ph_face_solo_rev @ Reverb. + + .word ph_face_solo_grp + + .word ph_face_solo_1 + + .end diff --git a/sound/songs/ph_fleece_blend.s b/sound/songs/ph_fleece_blend.s new file mode 100644 index 0000000000..57f832b81f --- /dev/null +++ b/sound/songs/ph_fleece_blend.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_fleece_blend_grp, voicegroup_86A0754 + .equ ph_fleece_blend_pri, 4 + .equ ph_fleece_blend_rev, 0 + .equ ph_fleece_blend_mvl, 127 + .equ ph_fleece_blend_key, 0 + .equ ph_fleece_blend_tbs, 1 + .equ ph_fleece_blend_exg, 0 + .equ ph_fleece_blend_cmp, 1 + + .section .rodata + .global ph_fleece_blend + .align 2 + +@********************** Track 1 **********************@ + +ph_fleece_blend_1: + .byte KEYSH , ph_fleece_blend_key+0 + .byte TEMPO , 120*ph_fleece_blend_tbs/2 + .byte VOICE , 12 + .byte VOL , 127*ph_fleece_blend_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_fleece_blend: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_fleece_blend_pri @ Priority + .byte ph_fleece_blend_rev @ Reverb. + + .word ph_fleece_blend_grp + + .word ph_fleece_blend_1 + + .end diff --git a/sound/songs/ph_fleece_held.s b/sound/songs/ph_fleece_held.s new file mode 100644 index 0000000000..22b75d1265 --- /dev/null +++ b/sound/songs/ph_fleece_held.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ ph_fleece_held_grp, voicegroup_86A0754 + .equ ph_fleece_held_pri, 4 + .equ ph_fleece_held_rev, 0 + .equ ph_fleece_held_mvl, 127 + .equ ph_fleece_held_key, 0 + .equ ph_fleece_held_tbs, 1 + .equ ph_fleece_held_exg, 0 + .equ ph_fleece_held_cmp, 1 + + .section .rodata + .global ph_fleece_held + .align 2 + +@********************** Track 1 **********************@ + +ph_fleece_held_1: + .byte KEYSH , ph_fleece_held_key+0 + .byte TEMPO , 120*ph_fleece_held_tbs/2 + .byte VOICE , 13 + .byte VOL , 127*ph_fleece_held_mvl/mxv + .byte TIE , Cn3 , v127 + .byte W96 +ph_fleece_held_1_B1: + .byte W96 + .byte GOTO + .word ph_fleece_held_1_B1 + .byte W48 + .byte EOT , Cn3 + .byte FINE + +@******************************************************@ + .align 2 + +ph_fleece_held: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_fleece_held_pri @ Priority + .byte ph_fleece_held_rev @ Reverb. + + .word ph_fleece_held_grp + + .word ph_fleece_held_1 + + .end diff --git a/sound/songs/ph_fleece_solo.s b/sound/songs/ph_fleece_solo.s new file mode 100644 index 0000000000..cd52efeb67 --- /dev/null +++ b/sound/songs/ph_fleece_solo.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_fleece_solo_grp, voicegroup_86A0754 + .equ ph_fleece_solo_pri, 4 + .equ ph_fleece_solo_rev, 0 + .equ ph_fleece_solo_mvl, 127 + .equ ph_fleece_solo_key, 0 + .equ ph_fleece_solo_tbs, 1 + .equ ph_fleece_solo_exg, 0 + .equ ph_fleece_solo_cmp, 1 + + .section .rodata + .global ph_fleece_solo + .align 2 + +@********************** Track 1 **********************@ + +ph_fleece_solo_1: + .byte KEYSH , ph_fleece_solo_key+0 + .byte TEMPO , 120*ph_fleece_solo_tbs/2 + .byte VOICE , 14 + .byte VOL , 127*ph_fleece_solo_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_fleece_solo: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_fleece_solo_pri @ Priority + .byte ph_fleece_solo_rev @ Reverb. + + .word ph_fleece_solo_grp + + .word ph_fleece_solo_1 + + .end diff --git a/sound/songs/ph_foot_blend.s b/sound/songs/ph_foot_blend.s new file mode 100644 index 0000000000..97a63d1fb0 --- /dev/null +++ b/sound/songs/ph_foot_blend.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_foot_blend_grp, voicegroup_86A0754 + .equ ph_foot_blend_pri, 4 + .equ ph_foot_blend_rev, 0 + .equ ph_foot_blend_mvl, 127 + .equ ph_foot_blend_key, 0 + .equ ph_foot_blend_tbs, 1 + .equ ph_foot_blend_exg, 0 + .equ ph_foot_blend_cmp, 1 + + .section .rodata + .global ph_foot_blend + .align 2 + +@********************** Track 1 **********************@ + +ph_foot_blend_1: + .byte KEYSH , ph_foot_blend_key+0 + .byte TEMPO , 120*ph_foot_blend_tbs/2 + .byte VOICE , 36 + .byte VOL , 127*ph_foot_blend_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_foot_blend: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_foot_blend_pri @ Priority + .byte ph_foot_blend_rev @ Reverb. + + .word ph_foot_blend_grp + + .word ph_foot_blend_1 + + .end diff --git a/sound/songs/ph_foot_held.s b/sound/songs/ph_foot_held.s new file mode 100644 index 0000000000..68fe95045c --- /dev/null +++ b/sound/songs/ph_foot_held.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ ph_foot_held_grp, voicegroup_86A0754 + .equ ph_foot_held_pri, 4 + .equ ph_foot_held_rev, 0 + .equ ph_foot_held_mvl, 127 + .equ ph_foot_held_key, 0 + .equ ph_foot_held_tbs, 1 + .equ ph_foot_held_exg, 0 + .equ ph_foot_held_cmp, 1 + + .section .rodata + .global ph_foot_held + .align 2 + +@********************** Track 1 **********************@ + +ph_foot_held_1: + .byte KEYSH , ph_foot_held_key+0 + .byte TEMPO , 120*ph_foot_held_tbs/2 + .byte VOICE , 37 + .byte VOL , 127*ph_foot_held_mvl/mxv + .byte TIE , Cn3 , v127 + .byte W96 +ph_foot_held_1_B1: + .byte W96 + .byte GOTO + .word ph_foot_held_1_B1 + .byte W48 + .byte EOT , Cn3 + .byte FINE + +@******************************************************@ + .align 2 + +ph_foot_held: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_foot_held_pri @ Priority + .byte ph_foot_held_rev @ Reverb. + + .word ph_foot_held_grp + + .word ph_foot_held_1 + + .end diff --git a/sound/songs/ph_foot_solo.s b/sound/songs/ph_foot_solo.s new file mode 100644 index 0000000000..371b9e6983 --- /dev/null +++ b/sound/songs/ph_foot_solo.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_foot_solo_grp, voicegroup_86A0754 + .equ ph_foot_solo_pri, 4 + .equ ph_foot_solo_rev, 0 + .equ ph_foot_solo_mvl, 127 + .equ ph_foot_solo_key, 0 + .equ ph_foot_solo_tbs, 1 + .equ ph_foot_solo_exg, 0 + .equ ph_foot_solo_cmp, 1 + + .section .rodata + .global ph_foot_solo + .align 2 + +@********************** Track 1 **********************@ + +ph_foot_solo_1: + .byte KEYSH , ph_foot_solo_key+0 + .byte TEMPO , 120*ph_foot_solo_tbs/2 + .byte VOICE , 38 + .byte VOL , 127*ph_foot_solo_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_foot_solo: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_foot_solo_pri @ Priority + .byte ph_foot_solo_rev @ Reverb. + + .word ph_foot_solo_grp + + .word ph_foot_solo_1 + + .end diff --git a/sound/songs/ph_goat_blend.s b/sound/songs/ph_goat_blend.s new file mode 100644 index 0000000000..35ebaeb65f --- /dev/null +++ b/sound/songs/ph_goat_blend.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_goat_blend_grp, voicegroup_86A0754 + .equ ph_goat_blend_pri, 4 + .equ ph_goat_blend_rev, 0 + .equ ph_goat_blend_mvl, 127 + .equ ph_goat_blend_key, 0 + .equ ph_goat_blend_tbs, 1 + .equ ph_goat_blend_exg, 0 + .equ ph_goat_blend_cmp, 1 + + .section .rodata + .global ph_goat_blend + .align 2 + +@********************** Track 1 **********************@ + +ph_goat_blend_1: + .byte KEYSH , ph_goat_blend_key+0 + .byte TEMPO , 120*ph_goat_blend_tbs/2 + .byte VOICE , 24 + .byte VOL , 127*ph_goat_blend_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_goat_blend: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_goat_blend_pri @ Priority + .byte ph_goat_blend_rev @ Reverb. + + .word ph_goat_blend_grp + + .word ph_goat_blend_1 + + .end diff --git a/sound/songs/ph_goat_held.s b/sound/songs/ph_goat_held.s new file mode 100644 index 0000000000..023b907bbf --- /dev/null +++ b/sound/songs/ph_goat_held.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ ph_goat_held_grp, voicegroup_86A0754 + .equ ph_goat_held_pri, 4 + .equ ph_goat_held_rev, 0 + .equ ph_goat_held_mvl, 127 + .equ ph_goat_held_key, 0 + .equ ph_goat_held_tbs, 1 + .equ ph_goat_held_exg, 0 + .equ ph_goat_held_cmp, 1 + + .section .rodata + .global ph_goat_held + .align 2 + +@********************** Track 1 **********************@ + +ph_goat_held_1: + .byte KEYSH , ph_goat_held_key+0 + .byte TEMPO , 120*ph_goat_held_tbs/2 + .byte VOICE , 25 + .byte VOL , 127*ph_goat_held_mvl/mxv + .byte TIE , Cn3 , v127 + .byte W96 +ph_goat_held_1_B1: + .byte W96 + .byte GOTO + .word ph_goat_held_1_B1 + .byte W48 + .byte EOT , Cn3 + .byte FINE + +@******************************************************@ + .align 2 + +ph_goat_held: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_goat_held_pri @ Priority + .byte ph_goat_held_rev @ Reverb. + + .word ph_goat_held_grp + + .word ph_goat_held_1 + + .end diff --git a/sound/songs/ph_goat_solo.s b/sound/songs/ph_goat_solo.s new file mode 100644 index 0000000000..21c675f2b0 --- /dev/null +++ b/sound/songs/ph_goat_solo.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_goat_solo_grp, voicegroup_86A0754 + .equ ph_goat_solo_pri, 4 + .equ ph_goat_solo_rev, 0 + .equ ph_goat_solo_mvl, 127 + .equ ph_goat_solo_key, 0 + .equ ph_goat_solo_tbs, 1 + .equ ph_goat_solo_exg, 0 + .equ ph_goat_solo_cmp, 1 + + .section .rodata + .global ph_goat_solo + .align 2 + +@********************** Track 1 **********************@ + +ph_goat_solo_1: + .byte KEYSH , ph_goat_solo_key+0 + .byte TEMPO , 120*ph_goat_solo_tbs/2 + .byte VOICE , 26 + .byte VOL , 127*ph_goat_solo_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_goat_solo: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_goat_solo_pri @ Priority + .byte ph_goat_solo_rev @ Reverb. + + .word ph_goat_solo_grp + + .word ph_goat_solo_1 + + .end diff --git a/sound/songs/ph_goose_blend.s b/sound/songs/ph_goose_blend.s new file mode 100644 index 0000000000..4e9808dd1b --- /dev/null +++ b/sound/songs/ph_goose_blend.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_goose_blend_grp, voicegroup_86A0754 + .equ ph_goose_blend_pri, 4 + .equ ph_goose_blend_rev, 0 + .equ ph_goose_blend_mvl, 127 + .equ ph_goose_blend_key, 0 + .equ ph_goose_blend_tbs, 1 + .equ ph_goose_blend_exg, 0 + .equ ph_goose_blend_cmp, 1 + + .section .rodata + .global ph_goose_blend + .align 2 + +@********************** Track 1 **********************@ + +ph_goose_blend_1: + .byte KEYSH , ph_goose_blend_key+0 + .byte TEMPO , 120*ph_goose_blend_tbs/2 + .byte VOICE , 39 + .byte VOL , 127*ph_goose_blend_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_goose_blend: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_goose_blend_pri @ Priority + .byte ph_goose_blend_rev @ Reverb. + + .word ph_goose_blend_grp + + .word ph_goose_blend_1 + + .end diff --git a/sound/songs/ph_goose_held.s b/sound/songs/ph_goose_held.s new file mode 100644 index 0000000000..e4cfab5f46 --- /dev/null +++ b/sound/songs/ph_goose_held.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ ph_goose_held_grp, voicegroup_86A0754 + .equ ph_goose_held_pri, 4 + .equ ph_goose_held_rev, 0 + .equ ph_goose_held_mvl, 127 + .equ ph_goose_held_key, 0 + .equ ph_goose_held_tbs, 1 + .equ ph_goose_held_exg, 0 + .equ ph_goose_held_cmp, 1 + + .section .rodata + .global ph_goose_held + .align 2 + +@********************** Track 1 **********************@ + +ph_goose_held_1: + .byte KEYSH , ph_goose_held_key+0 + .byte TEMPO , 120*ph_goose_held_tbs/2 + .byte VOICE , 40 + .byte VOL , 127*ph_goose_held_mvl/mxv + .byte TIE , Cn3 , v127 + .byte W96 +ph_goose_held_1_B1: + .byte W96 + .byte GOTO + .word ph_goose_held_1_B1 + .byte W48 + .byte EOT , Cn3 + .byte FINE + +@******************************************************@ + .align 2 + +ph_goose_held: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_goose_held_pri @ Priority + .byte ph_goose_held_rev @ Reverb. + + .word ph_goose_held_grp + + .word ph_goose_held_1 + + .end diff --git a/sound/songs/ph_goose_solo.s b/sound/songs/ph_goose_solo.s new file mode 100644 index 0000000000..492b4c0ef5 --- /dev/null +++ b/sound/songs/ph_goose_solo.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_goose_solo_grp, voicegroup_86A0754 + .equ ph_goose_solo_pri, 4 + .equ ph_goose_solo_rev, 0 + .equ ph_goose_solo_mvl, 127 + .equ ph_goose_solo_key, 0 + .equ ph_goose_solo_tbs, 1 + .equ ph_goose_solo_exg, 0 + .equ ph_goose_solo_cmp, 1 + + .section .rodata + .global ph_goose_solo + .align 2 + +@********************** Track 1 **********************@ + +ph_goose_solo_1: + .byte KEYSH , ph_goose_solo_key+0 + .byte TEMPO , 120*ph_goose_solo_tbs/2 + .byte VOICE , 41 + .byte VOL , 127*ph_goose_solo_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_goose_solo: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_goose_solo_pri @ Priority + .byte ph_goose_solo_rev @ Reverb. + + .word ph_goose_solo_grp + + .word ph_goose_solo_1 + + .end diff --git a/sound/songs/ph_kit_blend.s b/sound/songs/ph_kit_blend.s new file mode 100644 index 0000000000..c055e96074 --- /dev/null +++ b/sound/songs/ph_kit_blend.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_kit_blend_grp, voicegroup_86A0754 + .equ ph_kit_blend_pri, 4 + .equ ph_kit_blend_rev, 0 + .equ ph_kit_blend_mvl, 127 + .equ ph_kit_blend_key, 0 + .equ ph_kit_blend_tbs, 1 + .equ ph_kit_blend_exg, 0 + .equ ph_kit_blend_cmp, 1 + + .section .rodata + .global ph_kit_blend + .align 2 + +@********************** Track 1 **********************@ + +ph_kit_blend_1: + .byte KEYSH , ph_kit_blend_key+0 + .byte TEMPO , 120*ph_kit_blend_tbs/2 + .byte VOICE , 15 + .byte VOL , 127*ph_kit_blend_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_kit_blend: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_kit_blend_pri @ Priority + .byte ph_kit_blend_rev @ Reverb. + + .word ph_kit_blend_grp + + .word ph_kit_blend_1 + + .end diff --git a/sound/songs/ph_kit_held.s b/sound/songs/ph_kit_held.s new file mode 100644 index 0000000000..ce4cc09209 --- /dev/null +++ b/sound/songs/ph_kit_held.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ ph_kit_held_grp, voicegroup_86A0754 + .equ ph_kit_held_pri, 4 + .equ ph_kit_held_rev, 0 + .equ ph_kit_held_mvl, 127 + .equ ph_kit_held_key, 0 + .equ ph_kit_held_tbs, 1 + .equ ph_kit_held_exg, 0 + .equ ph_kit_held_cmp, 1 + + .section .rodata + .global ph_kit_held + .align 2 + +@********************** Track 1 **********************@ + +ph_kit_held_1: + .byte KEYSH , ph_kit_held_key+0 + .byte TEMPO , 120*ph_kit_held_tbs/2 + .byte VOICE , 16 + .byte VOL , 127*ph_kit_held_mvl/mxv + .byte TIE , Cn3 , v127 + .byte W96 +ph_kit_held_1_B1: + .byte W96 + .byte GOTO + .word ph_kit_held_1_B1 + .byte W48 + .byte EOT , Cn3 + .byte FINE + +@******************************************************@ + .align 2 + +ph_kit_held: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_kit_held_pri @ Priority + .byte ph_kit_held_rev @ Reverb. + + .word ph_kit_held_grp + + .word ph_kit_held_1 + + .end diff --git a/sound/songs/ph_kit_solo.s b/sound/songs/ph_kit_solo.s new file mode 100644 index 0000000000..261ea1c5d2 --- /dev/null +++ b/sound/songs/ph_kit_solo.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_kit_solo_grp, voicegroup_86A0754 + .equ ph_kit_solo_pri, 4 + .equ ph_kit_solo_rev, 0 + .equ ph_kit_solo_mvl, 127 + .equ ph_kit_solo_key, 0 + .equ ph_kit_solo_tbs, 1 + .equ ph_kit_solo_exg, 0 + .equ ph_kit_solo_cmp, 1 + + .section .rodata + .global ph_kit_solo + .align 2 + +@********************** Track 1 **********************@ + +ph_kit_solo_1: + .byte KEYSH , ph_kit_solo_key+0 + .byte TEMPO , 120*ph_kit_solo_tbs/2 + .byte VOICE , 17 + .byte VOL , 127*ph_kit_solo_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_kit_solo: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_kit_solo_pri @ Priority + .byte ph_kit_solo_rev @ Reverb. + + .word ph_kit_solo_grp + + .word ph_kit_solo_1 + + .end diff --git a/sound/songs/ph_lot_blend.s b/sound/songs/ph_lot_blend.s new file mode 100644 index 0000000000..d6a0809421 --- /dev/null +++ b/sound/songs/ph_lot_blend.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_lot_blend_grp, voicegroup_86A0754 + .equ ph_lot_blend_pri, 4 + .equ ph_lot_blend_rev, 0 + .equ ph_lot_blend_mvl, 127 + .equ ph_lot_blend_key, 0 + .equ ph_lot_blend_tbs, 1 + .equ ph_lot_blend_exg, 0 + .equ ph_lot_blend_cmp, 1 + + .section .rodata + .global ph_lot_blend + .align 2 + +@********************** Track 1 **********************@ + +ph_lot_blend_1: + .byte KEYSH , ph_lot_blend_key+0 + .byte TEMPO , 120*ph_lot_blend_tbs/2 + .byte VOICE , 21 + .byte VOL , 127*ph_lot_blend_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_lot_blend: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_lot_blend_pri @ Priority + .byte ph_lot_blend_rev @ Reverb. + + .word ph_lot_blend_grp + + .word ph_lot_blend_1 + + .end diff --git a/sound/songs/ph_lot_held.s b/sound/songs/ph_lot_held.s new file mode 100644 index 0000000000..3127546698 --- /dev/null +++ b/sound/songs/ph_lot_held.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ ph_lot_held_grp, voicegroup_86A0754 + .equ ph_lot_held_pri, 4 + .equ ph_lot_held_rev, 0 + .equ ph_lot_held_mvl, 127 + .equ ph_lot_held_key, 0 + .equ ph_lot_held_tbs, 1 + .equ ph_lot_held_exg, 0 + .equ ph_lot_held_cmp, 1 + + .section .rodata + .global ph_lot_held + .align 2 + +@********************** Track 1 **********************@ + +ph_lot_held_1: + .byte KEYSH , ph_lot_held_key+0 + .byte TEMPO , 120*ph_lot_held_tbs/2 + .byte VOICE , 22 + .byte VOL , 127*ph_lot_held_mvl/mxv + .byte TIE , Cn3 , v127 + .byte W96 +ph_lot_held_1_B1: + .byte W96 + .byte GOTO + .word ph_lot_held_1_B1 + .byte W48 + .byte EOT , Cn3 + .byte FINE + +@******************************************************@ + .align 2 + +ph_lot_held: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_lot_held_pri @ Priority + .byte ph_lot_held_rev @ Reverb. + + .word ph_lot_held_grp + + .word ph_lot_held_1 + + .end diff --git a/sound/songs/ph_lot_solo.s b/sound/songs/ph_lot_solo.s new file mode 100644 index 0000000000..265b3097e8 --- /dev/null +++ b/sound/songs/ph_lot_solo.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_lot_solo_grp, voicegroup_86A0754 + .equ ph_lot_solo_pri, 4 + .equ ph_lot_solo_rev, 0 + .equ ph_lot_solo_mvl, 127 + .equ ph_lot_solo_key, 0 + .equ ph_lot_solo_tbs, 1 + .equ ph_lot_solo_exg, 0 + .equ ph_lot_solo_cmp, 1 + + .section .rodata + .global ph_lot_solo + .align 2 + +@********************** Track 1 **********************@ + +ph_lot_solo_1: + .byte KEYSH , ph_lot_solo_key+0 + .byte TEMPO , 120*ph_lot_solo_tbs/2 + .byte VOICE , 23 + .byte VOL , 127*ph_lot_solo_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_lot_solo: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_lot_solo_pri @ Priority + .byte ph_lot_solo_rev @ Reverb. + + .word ph_lot_solo_grp + + .word ph_lot_solo_1 + + .end diff --git a/sound/songs/ph_mouth_blend.s b/sound/songs/ph_mouth_blend.s new file mode 100644 index 0000000000..ddf893f40d --- /dev/null +++ b/sound/songs/ph_mouth_blend.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_mouth_blend_grp, voicegroup_86A0754 + .equ ph_mouth_blend_pri, 4 + .equ ph_mouth_blend_rev, 0 + .equ ph_mouth_blend_mvl, 127 + .equ ph_mouth_blend_key, 0 + .equ ph_mouth_blend_tbs, 1 + .equ ph_mouth_blend_exg, 0 + .equ ph_mouth_blend_cmp, 1 + + .section .rodata + .global ph_mouth_blend + .align 2 + +@********************** Track 1 **********************@ + +ph_mouth_blend_1: + .byte KEYSH , ph_mouth_blend_key+0 + .byte TEMPO , 120*ph_mouth_blend_tbs/2 + .byte VOICE , 33 + .byte VOL , 127*ph_mouth_blend_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_mouth_blend: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_mouth_blend_pri @ Priority + .byte ph_mouth_blend_rev @ Reverb. + + .word ph_mouth_blend_grp + + .word ph_mouth_blend_1 + + .end diff --git a/sound/songs/ph_mouth_held.s b/sound/songs/ph_mouth_held.s new file mode 100644 index 0000000000..0e13ac930f --- /dev/null +++ b/sound/songs/ph_mouth_held.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ ph_mouth_held_grp, voicegroup_86A0754 + .equ ph_mouth_held_pri, 4 + .equ ph_mouth_held_rev, 0 + .equ ph_mouth_held_mvl, 127 + .equ ph_mouth_held_key, 0 + .equ ph_mouth_held_tbs, 1 + .equ ph_mouth_held_exg, 0 + .equ ph_mouth_held_cmp, 1 + + .section .rodata + .global ph_mouth_held + .align 2 + +@********************** Track 1 **********************@ + +ph_mouth_held_1: + .byte KEYSH , ph_mouth_held_key+0 + .byte TEMPO , 120*ph_mouth_held_tbs/2 + .byte VOICE , 34 + .byte VOL , 127*ph_mouth_held_mvl/mxv + .byte TIE , Cn3 , v127 + .byte W96 +ph_mouth_held_1_B1: + .byte W96 + .byte GOTO + .word ph_mouth_held_1_B1 + .byte W48 + .byte EOT , Cn3 + .byte FINE + +@******************************************************@ + .align 2 + +ph_mouth_held: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_mouth_held_pri @ Priority + .byte ph_mouth_held_rev @ Reverb. + + .word ph_mouth_held_grp + + .word ph_mouth_held_1 + + .end diff --git a/sound/songs/ph_mouth_solo.s b/sound/songs/ph_mouth_solo.s new file mode 100644 index 0000000000..0eba1245f6 --- /dev/null +++ b/sound/songs/ph_mouth_solo.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_mouth_solo_grp, voicegroup_86A0754 + .equ ph_mouth_solo_pri, 4 + .equ ph_mouth_solo_rev, 0 + .equ ph_mouth_solo_mvl, 127 + .equ ph_mouth_solo_key, 0 + .equ ph_mouth_solo_tbs, 1 + .equ ph_mouth_solo_exg, 0 + .equ ph_mouth_solo_cmp, 1 + + .section .rodata + .global ph_mouth_solo + .align 2 + +@********************** Track 1 **********************@ + +ph_mouth_solo_1: + .byte KEYSH , ph_mouth_solo_key+0 + .byte TEMPO , 120*ph_mouth_solo_tbs/2 + .byte VOICE , 35 + .byte VOL , 127*ph_mouth_solo_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_mouth_solo: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_mouth_solo_pri @ Priority + .byte ph_mouth_solo_rev @ Reverb. + + .word ph_mouth_solo_grp + + .word ph_mouth_solo_1 + + .end diff --git a/sound/songs/ph_nurse_blend.s b/sound/songs/ph_nurse_blend.s new file mode 100644 index 0000000000..484dca4f04 --- /dev/null +++ b/sound/songs/ph_nurse_blend.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_nurse_blend_grp, voicegroup_86A0754 + .equ ph_nurse_blend_pri, 4 + .equ ph_nurse_blend_rev, 0 + .equ ph_nurse_blend_mvl, 127 + .equ ph_nurse_blend_key, 0 + .equ ph_nurse_blend_tbs, 1 + .equ ph_nurse_blend_exg, 0 + .equ ph_nurse_blend_cmp, 1 + + .section .rodata + .global ph_nurse_blend + .align 2 + +@********************** Track 1 **********************@ + +ph_nurse_blend_1: + .byte KEYSH , ph_nurse_blend_key+0 + .byte TEMPO , 120*ph_nurse_blend_tbs/2 + .byte VOICE , 48 + .byte VOL , 127*ph_nurse_blend_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_nurse_blend: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_nurse_blend_pri @ Priority + .byte ph_nurse_blend_rev @ Reverb. + + .word ph_nurse_blend_grp + + .word ph_nurse_blend_1 + + .end diff --git a/sound/songs/ph_nurse_held.s b/sound/songs/ph_nurse_held.s new file mode 100644 index 0000000000..a73d199081 --- /dev/null +++ b/sound/songs/ph_nurse_held.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ ph_nurse_held_grp, voicegroup_86A0754 + .equ ph_nurse_held_pri, 4 + .equ ph_nurse_held_rev, 0 + .equ ph_nurse_held_mvl, 127 + .equ ph_nurse_held_key, 0 + .equ ph_nurse_held_tbs, 1 + .equ ph_nurse_held_exg, 0 + .equ ph_nurse_held_cmp, 1 + + .section .rodata + .global ph_nurse_held + .align 2 + +@********************** Track 1 **********************@ + +ph_nurse_held_1: + .byte KEYSH , ph_nurse_held_key+0 + .byte TEMPO , 120*ph_nurse_held_tbs/2 + .byte VOICE , 49 + .byte VOL , 127*ph_nurse_held_mvl/mxv + .byte TIE , Cn3 , v127 + .byte W96 +ph_nurse_held_1_B1: + .byte W96 + .byte GOTO + .word ph_nurse_held_1_B1 + .byte W48 + .byte EOT , Cn3 + .byte FINE + +@******************************************************@ + .align 2 + +ph_nurse_held: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_nurse_held_pri @ Priority + .byte ph_nurse_held_rev @ Reverb. + + .word ph_nurse_held_grp + + .word ph_nurse_held_1 + + .end diff --git a/sound/songs/ph_nurse_solo.s b/sound/songs/ph_nurse_solo.s new file mode 100644 index 0000000000..84d3d6db4a --- /dev/null +++ b/sound/songs/ph_nurse_solo.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_nurse_solo_grp, voicegroup_86A0754 + .equ ph_nurse_solo_pri, 4 + .equ ph_nurse_solo_rev, 0 + .equ ph_nurse_solo_mvl, 127 + .equ ph_nurse_solo_key, 0 + .equ ph_nurse_solo_tbs, 1 + .equ ph_nurse_solo_exg, 0 + .equ ph_nurse_solo_cmp, 1 + + .section .rodata + .global ph_nurse_solo + .align 2 + +@********************** Track 1 **********************@ + +ph_nurse_solo_1: + .byte KEYSH , ph_nurse_solo_key+0 + .byte TEMPO , 120*ph_nurse_solo_tbs/2 + .byte VOICE , 50 + .byte VOL , 127*ph_nurse_solo_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_nurse_solo: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_nurse_solo_pri @ Priority + .byte ph_nurse_solo_rev @ Reverb. + + .word ph_nurse_solo_grp + + .word ph_nurse_solo_1 + + .end diff --git a/sound/songs/ph_price_blend.s b/sound/songs/ph_price_blend.s new file mode 100644 index 0000000000..0fe213ad14 --- /dev/null +++ b/sound/songs/ph_price_blend.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_price_blend_grp, voicegroup_86A0754 + .equ ph_price_blend_pri, 4 + .equ ph_price_blend_rev, 0 + .equ ph_price_blend_mvl, 127 + .equ ph_price_blend_key, 0 + .equ ph_price_blend_tbs, 1 + .equ ph_price_blend_exg, 0 + .equ ph_price_blend_cmp, 1 + + .section .rodata + .global ph_price_blend + .align 2 + +@********************** Track 1 **********************@ + +ph_price_blend_1: + .byte KEYSH , ph_price_blend_key+0 + .byte TEMPO , 120*ph_price_blend_tbs/2 + .byte VOICE , 18 + .byte VOL , 127*ph_price_blend_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_price_blend: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_price_blend_pri @ Priority + .byte ph_price_blend_rev @ Reverb. + + .word ph_price_blend_grp + + .word ph_price_blend_1 + + .end diff --git a/sound/songs/ph_price_held.s b/sound/songs/ph_price_held.s new file mode 100644 index 0000000000..73f445b6ed --- /dev/null +++ b/sound/songs/ph_price_held.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ ph_price_held_grp, voicegroup_86A0754 + .equ ph_price_held_pri, 4 + .equ ph_price_held_rev, 0 + .equ ph_price_held_mvl, 127 + .equ ph_price_held_key, 0 + .equ ph_price_held_tbs, 1 + .equ ph_price_held_exg, 0 + .equ ph_price_held_cmp, 1 + + .section .rodata + .global ph_price_held + .align 2 + +@********************** Track 1 **********************@ + +ph_price_held_1: + .byte KEYSH , ph_price_held_key+0 + .byte TEMPO , 120*ph_price_held_tbs/2 + .byte VOICE , 19 + .byte VOL , 117*ph_price_held_mvl/mxv + .byte TIE , Cn3 , v127 + .byte W96 +ph_price_held_1_B1: + .byte W96 + .byte GOTO + .word ph_price_held_1_B1 + .byte W48 + .byte EOT , Cn3 + .byte FINE + +@******************************************************@ + .align 2 + +ph_price_held: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_price_held_pri @ Priority + .byte ph_price_held_rev @ Reverb. + + .word ph_price_held_grp + + .word ph_price_held_1 + + .end diff --git a/sound/songs/ph_price_solo.s b/sound/songs/ph_price_solo.s new file mode 100644 index 0000000000..bdc17db78a --- /dev/null +++ b/sound/songs/ph_price_solo.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_price_solo_grp, voicegroup_86A0754 + .equ ph_price_solo_pri, 4 + .equ ph_price_solo_rev, 0 + .equ ph_price_solo_mvl, 127 + .equ ph_price_solo_key, 0 + .equ ph_price_solo_tbs, 1 + .equ ph_price_solo_exg, 0 + .equ ph_price_solo_cmp, 1 + + .section .rodata + .global ph_price_solo + .align 2 + +@********************** Track 1 **********************@ + +ph_price_solo_1: + .byte KEYSH , ph_price_solo_key+0 + .byte TEMPO , 120*ph_price_solo_tbs/2 + .byte VOICE , 20 + .byte VOL , 127*ph_price_solo_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_price_solo: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_price_solo_pri @ Priority + .byte ph_price_solo_rev @ Reverb. + + .word ph_price_solo_grp + + .word ph_price_solo_1 + + .end diff --git a/sound/songs/ph_strut_blend.s b/sound/songs/ph_strut_blend.s new file mode 100644 index 0000000000..45b81a7470 --- /dev/null +++ b/sound/songs/ph_strut_blend.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_strut_blend_grp, voicegroup_86A0754 + .equ ph_strut_blend_pri, 4 + .equ ph_strut_blend_rev, 0 + .equ ph_strut_blend_mvl, 127 + .equ ph_strut_blend_key, 0 + .equ ph_strut_blend_tbs, 1 + .equ ph_strut_blend_exg, 0 + .equ ph_strut_blend_cmp, 1 + + .section .rodata + .global ph_strut_blend + .align 2 + +@********************** Track 1 **********************@ + +ph_strut_blend_1: + .byte KEYSH , ph_strut_blend_key+0 + .byte TEMPO , 120*ph_strut_blend_tbs/2 + .byte VOICE , 42 + .byte VOL , 127*ph_strut_blend_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_strut_blend: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_strut_blend_pri @ Priority + .byte ph_strut_blend_rev @ Reverb. + + .word ph_strut_blend_grp + + .word ph_strut_blend_1 + + .end diff --git a/sound/songs/ph_strut_held.s b/sound/songs/ph_strut_held.s new file mode 100644 index 0000000000..9f77879924 --- /dev/null +++ b/sound/songs/ph_strut_held.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ ph_strut_held_grp, voicegroup_86A0754 + .equ ph_strut_held_pri, 4 + .equ ph_strut_held_rev, 0 + .equ ph_strut_held_mvl, 127 + .equ ph_strut_held_key, 0 + .equ ph_strut_held_tbs, 1 + .equ ph_strut_held_exg, 0 + .equ ph_strut_held_cmp, 1 + + .section .rodata + .global ph_strut_held + .align 2 + +@********************** Track 1 **********************@ + +ph_strut_held_1: + .byte KEYSH , ph_strut_held_key+0 + .byte TEMPO , 120*ph_strut_held_tbs/2 + .byte VOICE , 43 + .byte VOL , 127*ph_strut_held_mvl/mxv + .byte TIE , Cn3 , v127 + .byte W96 +ph_strut_held_1_B1: + .byte W96 + .byte GOTO + .word ph_strut_held_1_B1 + .byte W48 + .byte EOT , Cn3 + .byte FINE + +@******************************************************@ + .align 2 + +ph_strut_held: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_strut_held_pri @ Priority + .byte ph_strut_held_rev @ Reverb. + + .word ph_strut_held_grp + + .word ph_strut_held_1 + + .end diff --git a/sound/songs/ph_strut_solo.s b/sound/songs/ph_strut_solo.s new file mode 100644 index 0000000000..d5ba13bd2d --- /dev/null +++ b/sound/songs/ph_strut_solo.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_strut_solo_grp, voicegroup_86A0754 + .equ ph_strut_solo_pri, 4 + .equ ph_strut_solo_rev, 0 + .equ ph_strut_solo_mvl, 127 + .equ ph_strut_solo_key, 0 + .equ ph_strut_solo_tbs, 1 + .equ ph_strut_solo_exg, 0 + .equ ph_strut_solo_cmp, 1 + + .section .rodata + .global ph_strut_solo + .align 2 + +@********************** Track 1 **********************@ + +ph_strut_solo_1: + .byte KEYSH , ph_strut_solo_key+0 + .byte TEMPO , 120*ph_strut_solo_tbs/2 + .byte VOICE , 44 + .byte VOL , 127*ph_strut_solo_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_strut_solo: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_strut_solo_pri @ Priority + .byte ph_strut_solo_rev @ Reverb. + + .word ph_strut_solo_grp + + .word ph_strut_solo_1 + + .end diff --git a/sound/songs/ph_thought_blend.s b/sound/songs/ph_thought_blend.s new file mode 100644 index 0000000000..edc8bd5393 --- /dev/null +++ b/sound/songs/ph_thought_blend.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_thought_blend_grp, voicegroup_86A0754 + .equ ph_thought_blend_pri, 4 + .equ ph_thought_blend_rev, 0 + .equ ph_thought_blend_mvl, 127 + .equ ph_thought_blend_key, 0 + .equ ph_thought_blend_tbs, 1 + .equ ph_thought_blend_exg, 0 + .equ ph_thought_blend_cmp, 1 + + .section .rodata + .global ph_thought_blend + .align 2 + +@********************** Track 1 **********************@ + +ph_thought_blend_1: + .byte KEYSH , ph_thought_blend_key+0 + .byte TEMPO , 120*ph_thought_blend_tbs/2 + .byte VOICE , 27 + .byte VOL , 127*ph_thought_blend_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_thought_blend: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_thought_blend_pri @ Priority + .byte ph_thought_blend_rev @ Reverb. + + .word ph_thought_blend_grp + + .word ph_thought_blend_1 + + .end diff --git a/sound/songs/ph_thought_held.s b/sound/songs/ph_thought_held.s new file mode 100644 index 0000000000..be78c69566 --- /dev/null +++ b/sound/songs/ph_thought_held.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ ph_thought_held_grp, voicegroup_86A0754 + .equ ph_thought_held_pri, 4 + .equ ph_thought_held_rev, 0 + .equ ph_thought_held_mvl, 127 + .equ ph_thought_held_key, 0 + .equ ph_thought_held_tbs, 1 + .equ ph_thought_held_exg, 0 + .equ ph_thought_held_cmp, 1 + + .section .rodata + .global ph_thought_held + .align 2 + +@********************** Track 1 **********************@ + +ph_thought_held_1: + .byte KEYSH , ph_thought_held_key+0 + .byte TEMPO , 120*ph_thought_held_tbs/2 + .byte VOICE , 28 + .byte VOL , 127*ph_thought_held_mvl/mxv + .byte TIE , Cn3 , v127 + .byte W96 +ph_thought_held_1_B1: + .byte W96 + .byte GOTO + .word ph_thought_held_1_B1 + .byte W48 + .byte EOT , Cn3 + .byte FINE + +@******************************************************@ + .align 2 + +ph_thought_held: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_thought_held_pri @ Priority + .byte ph_thought_held_rev @ Reverb. + + .word ph_thought_held_grp + + .word ph_thought_held_1 + + .end diff --git a/sound/songs/ph_thought_solo.s b/sound/songs/ph_thought_solo.s new file mode 100644 index 0000000000..80f782bc52 --- /dev/null +++ b/sound/songs/ph_thought_solo.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_thought_solo_grp, voicegroup_86A0754 + .equ ph_thought_solo_pri, 4 + .equ ph_thought_solo_rev, 0 + .equ ph_thought_solo_mvl, 127 + .equ ph_thought_solo_key, 0 + .equ ph_thought_solo_tbs, 1 + .equ ph_thought_solo_exg, 0 + .equ ph_thought_solo_cmp, 1 + + .section .rodata + .global ph_thought_solo + .align 2 + +@********************** Track 1 **********************@ + +ph_thought_solo_1: + .byte KEYSH , ph_thought_solo_key+0 + .byte TEMPO , 120*ph_thought_solo_tbs/2 + .byte VOICE , 29 + .byte VOL , 127*ph_thought_solo_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_thought_solo: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_thought_solo_pri @ Priority + .byte ph_thought_solo_rev @ Reverb. + + .word ph_thought_solo_grp + + .word ph_thought_solo_1 + + .end diff --git a/sound/songs/ph_trap_blend.s b/sound/songs/ph_trap_blend.s new file mode 100644 index 0000000000..ddffa32dc9 --- /dev/null +++ b/sound/songs/ph_trap_blend.s @@ -0,0 +1,41 @@ + .include "MPlayDef.s" + + .equ ph_trap_blend_grp, voicegroup_86A0754 + .equ ph_trap_blend_pri, 4 + .equ ph_trap_blend_rev, 0 + .equ ph_trap_blend_mvl, 127 + .equ ph_trap_blend_key, 0 + .equ ph_trap_blend_tbs, 1 + .equ ph_trap_blend_exg, 0 + .equ ph_trap_blend_cmp, 1 + + .section .rodata + .global ph_trap_blend + .align 2 + +@********************** Track 1 **********************@ + +ph_trap_blend_1: + .byte KEYSH , ph_trap_blend_key+0 + .byte TEMPO , 120*ph_trap_blend_tbs/2 + .byte VOICE , 0 + .byte VOL , 127*ph_trap_blend_mvl/mxv + .byte N44 , Cn3 , v127 + .byte W44 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +ph_trap_blend: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_trap_blend_pri @ Priority + .byte ph_trap_blend_rev @ Reverb. + + .word ph_trap_blend_grp + + .word ph_trap_blend_1 + + .end diff --git a/sound/songs/ph_trap_held.s b/sound/songs/ph_trap_held.s new file mode 100644 index 0000000000..af5d412a3e --- /dev/null +++ b/sound/songs/ph_trap_held.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ ph_trap_held_grp, voicegroup_86A0754 + .equ ph_trap_held_pri, 4 + .equ ph_trap_held_rev, 0 + .equ ph_trap_held_mvl, 127 + .equ ph_trap_held_key, 0 + .equ ph_trap_held_tbs, 1 + .equ ph_trap_held_exg, 0 + .equ ph_trap_held_cmp, 1 + + .section .rodata + .global ph_trap_held + .align 2 + +@********************** Track 1 **********************@ + +ph_trap_held_1: + .byte KEYSH , ph_trap_held_key+0 + .byte TEMPO , 120*ph_trap_held_tbs/2 + .byte VOICE , 1 + .byte VOL , 117*ph_trap_held_mvl/mxv + .byte TIE , Cn3 , v127 + .byte W96 +ph_trap_held_1_B1: + .byte W96 + .byte GOTO + .word ph_trap_held_1_B1 + .byte W48 + .byte EOT , Cn3 + .byte FINE + +@******************************************************@ + .align 2 + +ph_trap_held: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_trap_held_pri @ Priority + .byte ph_trap_held_rev @ Reverb. + + .word ph_trap_held_grp + + .word ph_trap_held_1 + + .end diff --git a/sound/songs/ph_trap_solo.s b/sound/songs/ph_trap_solo.s new file mode 100644 index 0000000000..efd43832b4 --- /dev/null +++ b/sound/songs/ph_trap_solo.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ ph_trap_solo_grp, voicegroup_86A0754 + .equ ph_trap_solo_pri, 4 + .equ ph_trap_solo_rev, 0 + .equ ph_trap_solo_mvl, 127 + .equ ph_trap_solo_key, 0 + .equ ph_trap_solo_tbs, 1 + .equ ph_trap_solo_exg, 0 + .equ ph_trap_solo_cmp, 1 + + .section .rodata + .global ph_trap_solo + .align 2 + +@********************** Track 1 **********************@ + +ph_trap_solo_1: + .byte KEYSH , ph_trap_solo_key+0 + .byte TEMPO , 120*ph_trap_solo_tbs/2 + .byte VOICE , 2 + .byte VOL , 127*ph_trap_solo_mvl/mxv + .byte N54 , Cn3 , v127 + .byte W54 + .byte FINE + +@******************************************************@ + .align 2 + +ph_trap_solo: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte ph_trap_solo_pri @ Priority + .byte ph_trap_solo_rev @ Reverb. + + .word ph_trap_solo_grp + + .word ph_trap_solo_1 + + .end diff --git a/sound/songs/se_a.s b/sound/songs/se_a.s new file mode 100644 index 0000000000..0362a35edd --- /dev/null +++ b/sound/songs/se_a.s @@ -0,0 +1,45 @@ + .include "MPlayDef.s" + + .equ se_a_grp, voicegroup_869D6F4 + .equ se_a_pri, 4 + .equ se_a_rev, reverb_set+50 + .equ se_a_mvl, 127 + .equ se_a_key, 0 + .equ se_a_tbs, 1 + .equ se_a_exg, 0 + .equ se_a_cmp, 1 + + .section .rodata + .global se_a + .align 2 + +@********************** Track 1 **********************@ + +se_a_1: + .byte KEYSH , se_a_key+0 + .byte TEMPO , 240*se_a_tbs/2 + .byte VOICE , 122 + .byte BENDR , 12 + .byte VOL , 95*se_a_mvl/mxv + .byte BEND , c_v+0 + .byte N72 , Cn3 , v127 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_a: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_a_pri @ Priority + .byte se_a_rev @ Reverb. + + .word se_a_grp + + .word se_a_1 + + .end diff --git a/sound/songs/se_ban.s b/sound/songs/se_ban.s new file mode 100644 index 0000000000..e81889b7d9 --- /dev/null +++ b/sound/songs/se_ban.s @@ -0,0 +1,70 @@ + .include "MPlayDef.s" + + .equ se_ban_grp, voicegroup_869D6F4 + .equ se_ban_pri, 4 + .equ se_ban_rev, reverb_set+50 + .equ se_ban_mvl, 127 + .equ se_ban_key, 0 + .equ se_ban_tbs, 1 + .equ se_ban_exg, 0 + .equ se_ban_cmp, 1 + + .section .rodata + .global se_ban + .align 2 + +@********************** Track 1 **********************@ + +se_ban_1: + .byte KEYSH , se_ban_key+0 + .byte TEMPO , 240*se_ban_tbs/2 + .byte VOICE , 2 + .byte BENDR , 12 + .byte VOL , 110*se_ban_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , En2 , v127 + .byte W03 + .byte Dn2 + .byte W03 + .byte N06 , Gn1 + .byte W06 + .byte N60 , An2 + .byte W12 + .byte W24 + .byte VOL , 94*se_ban_mvl/mxv + .byte BEND , c_v-5 + .byte W03 + .byte VOL , 81*se_ban_mvl/mxv + .byte W03 + .byte 71*se_ban_mvl/mxv + .byte BEND , c_v-12 + .byte W03 + .byte VOL , 47*se_ban_mvl/mxv + .byte W03 + .byte 32*se_ban_mvl/mxv + .byte BEND , c_v-19 + .byte W03 + .byte VOL , 20*se_ban_mvl/mxv + .byte W03 + .byte 7*se_ban_mvl/mxv + .byte BEND , c_v-28 + .byte W03 + .byte VOL , 0*se_ban_mvl/mxv + .byte BEND , c_v-37 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_ban: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_ban_pri @ Priority + .byte se_ban_rev @ Reverb. + + .word se_ban_grp + + .word se_ban_1 + + .end diff --git a/sound/songs/se_basabasa.s b/sound/songs/se_basabasa.s new file mode 100644 index 0000000000..14b618987a --- /dev/null +++ b/sound/songs/se_basabasa.s @@ -0,0 +1,123 @@ + .include "MPlayDef.s" + + .equ se_basabasa_grp, voicegroup_869D6F4 + .equ se_basabasa_pri, 5 + .equ se_basabasa_rev, reverb_set+50 + .equ se_basabasa_mvl, 127 + .equ se_basabasa_key, 0 + .equ se_basabasa_tbs, 1 + .equ se_basabasa_exg, 0 + .equ se_basabasa_cmp, 1 + + .section .rodata + .global se_basabasa + .align 2 + +@********************** Track 1 **********************@ + +se_basabasa_1: + .byte KEYSH , se_basabasa_key+0 +se_basabasa_1_B1: + .byte TEMPO , 220*se_basabasa_tbs/2 + .byte VOICE , 2 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 40*se_basabasa_mvl/mxv + .byte BEND , c_v-32 + .byte N07 , An1 , v127 + .byte W01 + .byte VOL , 52*se_basabasa_mvl/mxv + .byte PAN , c_v+10 + .byte BEND , c_v-16 + .byte W01 + .byte VOL , 68*se_basabasa_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte W01 + .byte VOL , 82*se_basabasa_mvl/mxv + .byte PAN , c_v-9 + .byte BEND , c_v+17 + .byte W01 + .byte VOL , 105*se_basabasa_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+37 + .byte W02 + .byte PAN , c_v+10 + .byte BEND , c_v+63 + .byte W03 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 40*se_basabasa_mvl/mxv + .byte PAN , c_v+10 + .byte BEND , c_v+1 + .byte N06 + .byte W02 + .byte VOL , 52*se_basabasa_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+38 + .byte W01 + .byte VOL , 79*se_basabasa_mvl/mxv + .byte PAN , c_v-9 + .byte BEND , c_v+48 + .byte W01 + .byte VOL , 105*se_basabasa_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+63 + .byte W10 + .byte W12 + .byte W12 + .byte GOTO + .word se_basabasa_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +se_basabasa_2: + .byte KEYSH , se_basabasa_key+0 +se_basabasa_2_B1: + .byte VOICE , 27 + .byte PAN , c_v+0 + .byte VOL , 52*se_basabasa_mvl/mxv + .byte N07 , Gn2 , v040 + .byte W01 + .byte VOL , 69*se_basabasa_mvl/mxv + .byte W01 + .byte 83*se_basabasa_mvl/mxv + .byte W01 + .byte 105*se_basabasa_mvl/mxv + .byte W01 + .byte 67*se_basabasa_mvl/mxv + .byte W02 + .byte 23*se_basabasa_mvl/mxv + .byte W04 + .byte VOICE , 25 + .byte VOL , 52*se_basabasa_mvl/mxv + .byte N06 , Gs4 + .byte W02 + .byte VOL , 81*se_basabasa_mvl/mxv + .byte W01 + .byte 105*se_basabasa_mvl/mxv + .byte W02 + .byte 52*se_basabasa_mvl/mxv + .byte W09 + .byte W12 + .byte W12 + .byte GOTO + .word se_basabasa_2_B1 + .byte FINE + +@******************************************************@ + .align 2 + +se_basabasa: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_basabasa_pri @ Priority + .byte se_basabasa_rev @ Reverb. + + .word se_basabasa_grp + + .word se_basabasa_1 + .word se_basabasa_2 + + .end diff --git a/sound/songs/se_bidoro.s b/sound/songs/se_bidoro.s new file mode 100644 index 0000000000..ee4b2cebd2 --- /dev/null +++ b/sound/songs/se_bidoro.s @@ -0,0 +1,61 @@ + .include "MPlayDef.s" + + .equ se_bidoro_grp, voicegroup_869D6F4 + .equ se_bidoro_pri, 5 + .equ se_bidoro_rev, reverb_set+50 + .equ se_bidoro_mvl, 127 + .equ se_bidoro_key, 0 + .equ se_bidoro_tbs, 1 + .equ se_bidoro_exg, 0 + .equ se_bidoro_cmp, 1 + + .section .rodata + .global se_bidoro + .align 2 + +@********************** Track 1 **********************@ + +se_bidoro_1: + .byte KEYSH , se_bidoro_key+0 + .byte TEMPO , 120*se_bidoro_tbs/2 + .byte VOICE , 28 + .byte VOL , 26*se_bidoro_mvl/mxv + .byte BENDR , 8 + .byte BEND , c_v+0 + .byte N01 , En3 , v116 + .byte W01 + .byte VOL , 105*se_bidoro_mvl/mxv + .byte BEND , c_v-4 + .byte N01 , Bn2 + .byte W01 + .byte BEND , c_v+3 + .byte N01 , Cn3 + .byte W04 + .byte W04 + .byte BEND , c_v+0 + .byte N04 , Bn3 + .byte W02 + .byte VOL , 26*se_bidoro_mvl/mxv + .byte BEND , c_v-7 + .byte W01 + .byte VOL , 105*se_bidoro_mvl/mxv + .byte BEND , c_v-13 + .byte W01 + .byte c_v-23 + .byte W04 + .byte FINE + +@******************************************************@ + .align 2 + +se_bidoro: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_bidoro_pri @ Priority + .byte se_bidoro_rev @ Reverb. + + .word se_bidoro_grp + + .word se_bidoro_1 + + .end diff --git a/sound/songs/se_boo.s b/sound/songs/se_boo.s new file mode 100644 index 0000000000..69d56bb749 --- /dev/null +++ b/sound/songs/se_boo.s @@ -0,0 +1,47 @@ + .include "MPlayDef.s" + + .equ se_boo_grp, voicegroup_869D0F4 + .equ se_boo_pri, 4 + .equ se_boo_rev, reverb_set+50 + .equ se_boo_mvl, 127 + .equ se_boo_key, 0 + .equ se_boo_tbs, 1 + .equ se_boo_exg, 0 + .equ se_boo_cmp, 1 + + .section .rodata + .global se_boo + .align 2 + +@********************** Track 1 **********************@ + +se_boo_1: + .byte KEYSH , se_boo_key+0 + .byte TEMPO , 100*se_boo_tbs/2 + .byte VOICE , 5 + .byte BENDR , 12 + .byte VOL , 110*se_boo_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , Cn3 , v127 + .byte W03 + .byte Cn2 , v112 + .byte W03 + .byte W03 + .byte Cn2 , v024 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_boo: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_boo_pri @ Priority + .byte se_boo_rev @ Reverb. + + .word se_boo_grp + + .word se_boo_1 + + .end diff --git a/sound/songs/se_bowa.s b/sound/songs/se_bowa.s new file mode 100644 index 0000000000..5f22f18731 --- /dev/null +++ b/sound/songs/se_bowa.s @@ -0,0 +1,45 @@ + .include "MPlayDef.s" + + .equ se_bowa_grp, voicegroup_869D0F4 + .equ se_bowa_pri, 4 + .equ se_bowa_rev, reverb_set+50 + .equ se_bowa_mvl, 127 + .equ se_bowa_key, 0 + .equ se_bowa_tbs, 1 + .equ se_bowa_exg, 0 + .equ se_bowa_cmp, 1 + + .section .rodata + .global se_bowa + .align 2 + +@********************** Track 1 **********************@ + +se_bowa_1: + .byte KEYSH , se_bowa_key+0 + .byte TEMPO , 128*se_bowa_tbs/2 + .byte VOICE , 7 + .byte BENDR , 12 + .byte VOL , 70*se_bowa_mvl/mxv + .byte BEND , c_v+2 + .byte N04 , Fn2 , v127 + .byte W04 + .byte N01 , Dn3 + .byte W02 + .byte VOICE , 8 + .byte FINE + +@******************************************************@ + .align 2 + +se_bowa: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_bowa_pri @ Priority + .byte se_bowa_rev @ Reverb. + + .word se_bowa_grp + + .word se_bowa_1 + + .end diff --git a/sound/songs/se_bowa2.s b/sound/songs/se_bowa2.s new file mode 100644 index 0000000000..06ec962d55 --- /dev/null +++ b/sound/songs/se_bowa2.s @@ -0,0 +1,83 @@ + .include "MPlayDef.s" + + .equ se_bowa2_grp, voicegroup_869D0F4 + .equ se_bowa2_pri, 5 + .equ se_bowa2_rev, reverb_set+50 + .equ se_bowa2_mvl, 127 + .equ se_bowa2_key, 0 + .equ se_bowa2_tbs, 1 + .equ se_bowa2_exg, 0 + .equ se_bowa2_cmp, 1 + + .section .rodata + .global se_bowa2 + .align 2 + +@********************** Track 1 **********************@ + +se_bowa2_1: + .byte KEYSH , se_bowa2_key+0 + .byte TEMPO , 90*se_bowa2_tbs/2 + .byte VOICE , 86 + .byte VOL , 100*se_bowa2_mvl/mxv + .byte BEND , c_v+0 + .byte N02 , Gn1 , v100 + .byte W03 + .byte N05 , Fn2 + .byte W03 + .byte W03 + .byte N06 , Fn2 , v052 + .byte W03 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_bowa2_2: + .byte KEYSH , se_bowa2_key+0 + .byte VOICE , 0 + .byte VOL , 100*se_bowa2_mvl/mxv + .byte BENDR , 12 + .byte BEND , c_v+0 + .byte N03 , Gn3 , v052 + .byte W03 + .byte Cn2 , v112 + .byte W03 + .byte W03 + .byte Cn1 , v092 + .byte W03 + .byte W03 + .byte FINE + +@********************** Track 3 **********************@ + +se_bowa2_3: + .byte KEYSH , se_bowa2_key+0 + .byte VOICE , 124 + .byte VOL , 100*se_bowa2_mvl/mxv + .byte N03 , Gn3 , v052 + .byte W03 + .byte N06 , Gs4 + .byte W03 + .byte W03 + .byte Gs4 , v020 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_bowa2: + .byte 3 @ NumTrks + .byte 0 @ NumBlks + .byte se_bowa2_pri @ Priority + .byte se_bowa2_rev @ Reverb. + + .word se_bowa2_grp + + .word se_bowa2_1 + .word se_bowa2_2 + .word se_bowa2_3 + + .end diff --git a/sound/songs/se_bt_start.s b/sound/songs/se_bt_start.s new file mode 100644 index 0000000000..46accdac75 --- /dev/null +++ b/sound/songs/se_bt_start.s @@ -0,0 +1,212 @@ + .include "MPlayDef.s" + + .equ se_bt_start_grp, voicegroup_869D6F4 + .equ se_bt_start_pri, 5 + .equ se_bt_start_rev, reverb_set+50 + .equ se_bt_start_mvl, 127 + .equ se_bt_start_key, 0 + .equ se_bt_start_tbs, 1 + .equ se_bt_start_exg, 0 + .equ se_bt_start_cmp, 1 + + .section .rodata + .global se_bt_start + .align 2 + +@********************** Track 1 **********************@ + +se_bt_start_1: + .byte KEYSH , se_bt_start_key+0 + .byte TEMPO , 110*se_bt_start_tbs/2 + .byte VOICE , 66 + .byte BENDR , 12 + .byte VOL , 90*se_bt_start_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N90 , Gs3 , v040 + .byte W06 + .byte W06 + .byte BEND , c_v+1 + .byte W04 + .byte c_v+3 + .byte W02 + .byte W04 + .byte c_v+5 + .byte W02 + .byte W04 + .byte c_v+8 + .byte W02 + .byte W03 + .byte c_v+11 + .byte W03 + .byte W03 + .byte c_v+18 + .byte W03 + .byte W02 + .byte c_v+24 + .byte W04 + .byte c_v+30 + .byte W02 + .byte c_v+38 + .byte W02 + .byte c_v+43 + .byte W02 + .byte W01 + .byte c_v+56 + .byte W02 + .byte c_v+63 + .byte W03 + .byte W03 + .byte VOL , 83*se_bt_start_mvl/mxv + .byte W03 + .byte 75*se_bt_start_mvl/mxv + .byte W04 + .byte 68*se_bt_start_mvl/mxv + .byte W02 + .byte W01 + .byte 55*se_bt_start_mvl/mxv + .byte W04 + .byte 42*se_bt_start_mvl/mxv + .byte W01 + .byte W03 + .byte 29*se_bt_start_mvl/mxv + .byte W03 + .byte 17*se_bt_start_mvl/mxv + .byte W03 + .byte 8*se_bt_start_mvl/mxv + .byte W03 + .byte W06 + .byte W06 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_bt_start_2: + .byte KEYSH , se_bt_start_key+0 + .byte VOICE , 2 + .byte VOL , 14*se_bt_start_mvl/mxv + .byte PAN , c_v-1 + .byte BEND , c_v+0 + .byte TIE , Gn3 , v100 + .byte W01 + .byte VOL , 19*se_bt_start_mvl/mxv + .byte W01 + .byte 30*se_bt_start_mvl/mxv + .byte W02 + .byte 37*se_bt_start_mvl/mxv + .byte W02 + .byte W02 + .byte 44*se_bt_start_mvl/mxv + .byte W04 + .byte 49*se_bt_start_mvl/mxv + .byte W04 + .byte 53*se_bt_start_mvl/mxv + .byte W02 + .byte W03 + .byte 58*se_bt_start_mvl/mxv + .byte W03 + .byte W02 + .byte 64*se_bt_start_mvl/mxv + .byte W04 + .byte 68*se_bt_start_mvl/mxv + .byte W03 + .byte 74*se_bt_start_mvl/mxv + .byte W03 + .byte W01 + .byte BEND , c_v+1 + .byte W01 + .byte VOL , 81*se_bt_start_mvl/mxv + .byte W04 + .byte BEND , c_v+2 + .byte W01 + .byte VOL , 90*se_bt_start_mvl/mxv + .byte W03 + .byte BEND , c_v+4 + .byte W02 + .byte W03 + .byte c_v+5 + .byte W03 + .byte W01 + .byte c_v+6 + .byte W03 + .byte c_v+6 + .byte W02 + .byte W02 + .byte c_v+8 + .byte W02 + .byte c_v+10 + .byte W02 + .byte W01 + .byte c_v+14 + .byte W02 + .byte c_v+17 + .byte W03 + .byte c_v+24 + .byte W02 + .byte c_v+30 + .byte W01 + .byte c_v+41 + .byte W01 + .byte c_v+46 + .byte W02 + .byte c_v+55 + .byte W01 + .byte c_v+60 + .byte W01 + .byte c_v+63 + .byte W01 + .byte VOL , 87*se_bt_start_mvl/mxv + .byte W03 + .byte 85*se_bt_start_mvl/mxv + .byte PAN , c_v-4 + .byte W02 + .byte VOL , 78*se_bt_start_mvl/mxv + .byte PAN , c_v+4 + .byte W02 + .byte VOL , 75*se_bt_start_mvl/mxv + .byte PAN , c_v-6 + .byte W02 + .byte W01 + .byte VOL , 69*se_bt_start_mvl/mxv + .byte PAN , c_v+6 + .byte W02 + .byte VOL , 59*se_bt_start_mvl/mxv + .byte PAN , c_v-20 + .byte W03 + .byte VOL , 49*se_bt_start_mvl/mxv + .byte PAN , c_v+22 + .byte W02 + .byte VOL , 41*se_bt_start_mvl/mxv + .byte PAN , c_v-37 + .byte W02 + .byte VOL , 30*se_bt_start_mvl/mxv + .byte PAN , c_v+37 + .byte W02 + .byte W01 + .byte VOL , 19*se_bt_start_mvl/mxv + .byte PAN , c_v-48 + .byte W02 + .byte VOL , 10*se_bt_start_mvl/mxv + .byte PAN , c_v+48 + .byte W01 + .byte VOL , 4*se_bt_start_mvl/mxv + .byte W02 + .byte EOT + .byte FINE + +@******************************************************@ + .align 2 + +se_bt_start: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_bt_start_pri @ Priority + .byte se_bt_start_rev @ Reverb. + + .word se_bt_start_grp + + .word se_bt_start_1 + .word se_bt_start_2 + + .end diff --git a/sound/songs/se_c_gaji.s b/sound/songs/se_c_gaji.s new file mode 100644 index 0000000000..20ff81efc0 --- /dev/null +++ b/sound/songs/se_c_gaji.s @@ -0,0 +1,44 @@ + .include "MPlayDef.s" + + .equ se_c_gaji_grp, voicegroup_869D6F4 + .equ se_c_gaji_pri, 5 + .equ se_c_gaji_rev, reverb_set+50 + .equ se_c_gaji_mvl, 127 + .equ se_c_gaji_key, 0 + .equ se_c_gaji_tbs, 1 + .equ se_c_gaji_exg, 0 + .equ se_c_gaji_cmp, 1 + + .section .rodata + .global se_c_gaji + .align 2 + +@********************** Track 1 **********************@ + +se_c_gaji_1: + .byte KEYSH , se_c_gaji_key+0 + .byte TEMPO , 150*se_c_gaji_tbs/2 + .byte VOICE , 14 + .byte VOL , 90*se_c_gaji_mvl/mxv + .byte BEND , c_v-7 + .byte N02 , Cn5 , v112 + .byte W02 + .byte N09 , Gn4 + .byte W04 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_c_gaji: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_c_gaji_pri @ Priority + .byte se_c_gaji_rev @ Reverb. + + .word se_c_gaji_grp + + .word se_c_gaji_1 + + .end diff --git a/sound/songs/se_c_maku_d.s b/sound/songs/se_c_maku_d.s new file mode 100644 index 0000000000..5be7e13ce9 --- /dev/null +++ b/sound/songs/se_c_maku_d.s @@ -0,0 +1,95 @@ + .include "MPlayDef.s" + + .equ se_c_maku_d_grp, voicegroup_869D6F4 + .equ se_c_maku_d_pri, 5 + .equ se_c_maku_d_rev, reverb_set+50 + .equ se_c_maku_d_mvl, 127 + .equ se_c_maku_d_key, 0 + .equ se_c_maku_d_tbs, 1 + .equ se_c_maku_d_exg, 0 + .equ se_c_maku_d_cmp, 1 + + .section .rodata + .global se_c_maku_d + .align 2 + +@********************** Track 1 **********************@ + +se_c_maku_d_1: + .byte KEYSH , se_c_maku_d_key+0 + .byte TEMPO , 150*se_c_maku_d_tbs/2 + .byte VOICE , 25 + .byte VOL , 12*se_c_maku_d_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Gs4 , v060 + .byte W01 + .byte VOL , 22*se_c_maku_d_mvl/mxv + .byte W01 + .byte 33*se_c_maku_d_mvl/mxv + .byte W01 + .byte 46*se_c_maku_d_mvl/mxv + .byte W01 + .byte 58*se_c_maku_d_mvl/mxv + .byte W02 + .byte 70*se_c_maku_d_mvl/mxv + .byte W02 + .byte 60*se_c_maku_d_mvl/mxv + .byte W01 + .byte 42*se_c_maku_d_mvl/mxv + .byte W01 + .byte 22*se_c_maku_d_mvl/mxv + .byte W02 + .byte FINE + +@********************** Track 2 **********************@ + +se_c_maku_d_2: + .byte KEYSH , se_c_maku_d_key+0 + .byte VOICE , 15 + .byte VOL , 12*se_c_maku_d_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Fn3 , v100 + .byte W01 + .byte VOL , 22*se_c_maku_d_mvl/mxv + .byte BEND , c_v-4 + .byte W01 + .byte VOL , 33*se_c_maku_d_mvl/mxv + .byte BEND , c_v-7 + .byte W01 + .byte VOL , 46*se_c_maku_d_mvl/mxv + .byte BEND , c_v-10 + .byte W01 + .byte VOL , 58*se_c_maku_d_mvl/mxv + .byte BEND , c_v-15 + .byte W02 + .byte VOL , 70*se_c_maku_d_mvl/mxv + .byte BEND , c_v-23 + .byte W01 + .byte c_v-31 + .byte W01 + .byte VOL , 60*se_c_maku_d_mvl/mxv + .byte BEND , c_v-39 + .byte W01 + .byte VOL , 42*se_c_maku_d_mvl/mxv + .byte BEND , c_v-48 + .byte W01 + .byte VOL , 22*se_c_maku_d_mvl/mxv + .byte BEND , c_v-55 + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_c_maku_d: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_c_maku_d_pri @ Priority + .byte se_c_maku_d_rev @ Reverb. + + .word se_c_maku_d_grp + + .word se_c_maku_d_1 + .word se_c_maku_d_2 + + .end diff --git a/sound/songs/se_c_maku_u.s b/sound/songs/se_c_maku_u.s new file mode 100644 index 0000000000..8b633c9540 --- /dev/null +++ b/sound/songs/se_c_maku_u.s @@ -0,0 +1,95 @@ + .include "MPlayDef.s" + + .equ se_c_maku_u_grp, voicegroup_869D6F4 + .equ se_c_maku_u_pri, 5 + .equ se_c_maku_u_rev, reverb_set+50 + .equ se_c_maku_u_mvl, 127 + .equ se_c_maku_u_key, 0 + .equ se_c_maku_u_tbs, 1 + .equ se_c_maku_u_exg, 0 + .equ se_c_maku_u_cmp, 1 + + .section .rodata + .global se_c_maku_u + .align 2 + +@********************** Track 1 **********************@ + +se_c_maku_u_1: + .byte KEYSH , se_c_maku_u_key+0 + .byte TEMPO , 150*se_c_maku_u_tbs/2 + .byte VOICE , 25 + .byte VOL , 12*se_c_maku_u_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Gs4 , v060 + .byte W01 + .byte VOL , 22*se_c_maku_u_mvl/mxv + .byte W01 + .byte 33*se_c_maku_u_mvl/mxv + .byte W01 + .byte 46*se_c_maku_u_mvl/mxv + .byte W01 + .byte 58*se_c_maku_u_mvl/mxv + .byte W02 + .byte 70*se_c_maku_u_mvl/mxv + .byte W02 + .byte 60*se_c_maku_u_mvl/mxv + .byte W01 + .byte 42*se_c_maku_u_mvl/mxv + .byte W01 + .byte 22*se_c_maku_u_mvl/mxv + .byte W02 + .byte FINE + +@********************** Track 2 **********************@ + +se_c_maku_u_2: + .byte KEYSH , se_c_maku_u_key+0 + .byte VOICE , 15 + .byte VOL , 12*se_c_maku_u_mvl/mxv + .byte BEND , c_v+0 + .byte N12 , Fn3 , v100 + .byte W01 + .byte VOL , 22*se_c_maku_u_mvl/mxv + .byte BEND , c_v+3 + .byte W01 + .byte VOL , 33*se_c_maku_u_mvl/mxv + .byte BEND , c_v+6 + .byte W01 + .byte VOL , 46*se_c_maku_u_mvl/mxv + .byte BEND , c_v+9 + .byte W01 + .byte VOL , 58*se_c_maku_u_mvl/mxv + .byte BEND , c_v+12 + .byte W02 + .byte VOL , 70*se_c_maku_u_mvl/mxv + .byte BEND , c_v+17 + .byte W01 + .byte c_v+20 + .byte W01 + .byte VOL , 60*se_c_maku_u_mvl/mxv + .byte BEND , c_v+25 + .byte W01 + .byte VOL , 42*se_c_maku_u_mvl/mxv + .byte BEND , c_v+32 + .byte W01 + .byte VOL , 22*se_c_maku_u_mvl/mxv + .byte BEND , c_v+38 + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_c_maku_u: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_c_maku_u_pri @ Priority + .byte se_c_maku_u_rev @ Reverb. + + .word se_c_maku_u_grp + + .word se_c_maku_u_1 + .word se_c_maku_u_2 + + .end diff --git a/sound/songs/se_c_pasi.s b/sound/songs/se_c_pasi.s new file mode 100644 index 0000000000..f617654835 --- /dev/null +++ b/sound/songs/se_c_pasi.s @@ -0,0 +1,45 @@ + .include "MPlayDef.s" + + .equ se_c_pasi_grp, voicegroup_869D6F4 + .equ se_c_pasi_pri, 5 + .equ se_c_pasi_rev, reverb_set+50 + .equ se_c_pasi_mvl, 127 + .equ se_c_pasi_key, 0 + .equ se_c_pasi_tbs, 1 + .equ se_c_pasi_exg, 0 + .equ se_c_pasi_cmp, 1 + + .section .rodata + .global se_c_pasi + .align 2 + +@********************** Track 1 **********************@ + +se_c_pasi_1: + .byte KEYSH , se_c_pasi_key+0 + .byte TEMPO , 150*se_c_pasi_tbs/2 + .byte VOICE , 2 + .byte BENDR , 12 + .byte VOL , 110*se_c_pasi_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N02 , Gn3 , v112 + .byte W04 + .byte Gn4 , v064 + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_c_pasi: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_c_pasi_pri @ Priority + .byte se_c_pasi_rev @ Reverb. + + .word se_c_pasi_grp + + .word se_c_pasi_1 + + .end diff --git a/sound/songs/se_c_pikon.s b/sound/songs/se_c_pikon.s new file mode 100644 index 0000000000..790b870bde --- /dev/null +++ b/sound/songs/se_c_pikon.s @@ -0,0 +1,54 @@ + .include "MPlayDef.s" + + .equ se_c_pikon_grp, voicegroup_869D6F4 + .equ se_c_pikon_pri, 5 + .equ se_c_pikon_rev, reverb_set+50 + .equ se_c_pikon_mvl, 127 + .equ se_c_pikon_key, 0 + .equ se_c_pikon_tbs, 1 + .equ se_c_pikon_exg, 0 + .equ se_c_pikon_cmp, 1 + + .section .rodata + .global se_c_pikon + .align 2 + +@********************** Track 1 **********************@ + +se_c_pikon_1: + .byte KEYSH , se_c_pikon_key+0 + .byte TEMPO , 150*se_c_pikon_tbs/2 + .byte VOICE , 14 + .byte VOL , 90*se_c_pikon_mvl/mxv + .byte BEND , c_v-7 + .byte N02 , Cn5 , v112 + .byte W02 + .byte Cn6 + .byte W04 + .byte W01 + .byte Cn6 , v060 + .byte W05 + .byte W02 + .byte Cn5 , v112 + .byte W02 + .byte Cn6 + .byte W02 + .byte W03 + .byte Cn6 , v060 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_c_pikon: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_c_pikon_pri @ Priority + .byte se_c_pikon_rev @ Reverb. + + .word se_c_pikon_grp + + .word se_c_pikon_1 + + .end diff --git a/sound/songs/se_c_syu.s b/sound/songs/se_c_syu.s new file mode 100644 index 0000000000..c15193aa6b --- /dev/null +++ b/sound/songs/se_c_syu.s @@ -0,0 +1,54 @@ + .include "MPlayDef.s" + + .equ se_c_syu_grp, voicegroup_869D6F4 + .equ se_c_syu_pri, 5 + .equ se_c_syu_rev, reverb_set+50 + .equ se_c_syu_mvl, 127 + .equ se_c_syu_key, 0 + .equ se_c_syu_tbs, 1 + .equ se_c_syu_exg, 0 + .equ se_c_syu_cmp, 1 + + .section .rodata + .global se_c_syu + .align 2 + +@********************** Track 1 **********************@ + +se_c_syu_1: + .byte KEYSH , se_c_syu_key+0 + .byte TEMPO , 150*se_c_syu_tbs/2 + .byte VOICE , 36 + .byte VOL , 49*se_c_syu_mvl/mxv + .byte BEND , c_v-64 + .byte N03 , Cn6 , v112 + .byte W01 + .byte VOL , 68*se_c_syu_mvl/mxv + .byte BEND , c_v-1 + .byte W01 + .byte VOL , 90*se_c_syu_mvl/mxv + .byte BEND , c_v+63 + .byte W01 + .byte VOL , 69*se_c_syu_mvl/mxv + .byte BEND , c_v+0 + .byte N02 , Cn6 , v040 + .byte W01 + .byte VOL , 90*se_c_syu_mvl/mxv + .byte BEND , c_v+63 + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_c_syu: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_c_syu_pri @ Priority + .byte se_c_syu_rev @ Reverb. + + .word se_c_syu_grp + + .word se_c_syu_1 + + .end diff --git a/sound/songs/se_card.s b/sound/songs/se_card.s new file mode 100644 index 0000000000..e701e6b2df --- /dev/null +++ b/sound/songs/se_card.s @@ -0,0 +1,84 @@ + .include "MPlayDef.s" + + .equ se_card_grp, voicegroup_869D0F4 + .equ se_card_pri, 4 + .equ se_card_rev, reverb_set+50 + .equ se_card_mvl, 127 + .equ se_card_key, 0 + .equ se_card_tbs, 1 + .equ se_card_exg, 0 + .equ se_card_cmp, 1 + + .section .rodata + .global se_card + .align 2 + +@********************** Track 1 **********************@ + +se_card_1: + .byte KEYSH , se_card_key+0 + .byte TEMPO , 180*se_card_tbs/2 + .byte VOICE , 2 + .byte BENDR , 12 + .byte VOL , 37*se_card_mvl/mxv + .byte BEND , c_v+63 + .byte N02 , Gn3 , v044 + .byte W01 + .byte VOL , 73*se_card_mvl/mxv + .byte W01 + .byte 100*se_card_mvl/mxv + .byte N01 , Gn4 + .byte W02 + .byte N30 , Cn4 , v127 + .byte W02 + .byte BEND , c_v+59 + .byte W01 + .byte VOL , 3*se_card_mvl/mxv + .byte W01 + .byte 25*se_card_mvl/mxv + .byte W01 + .byte 56*se_card_mvl/mxv + .byte BEND , c_v+55 + .byte W01 + .byte VOL , 77*se_card_mvl/mxv + .byte W02 + .byte 100*se_card_mvl/mxv + .byte BEND , c_v+46 + .byte W03 + .byte VOL , 92*se_card_mvl/mxv + .byte BEND , c_v+37 + .byte W03 + .byte VOL , 79*se_card_mvl/mxv + .byte BEND , c_v+28 + .byte W03 + .byte VOL , 66*se_card_mvl/mxv + .byte BEND , c_v+20 + .byte W03 + .byte VOL , 52*se_card_mvl/mxv + .byte BEND , c_v+11 + .byte W03 + .byte VOL , 38*se_card_mvl/mxv + .byte BEND , c_v+2 + .byte W03 + .byte VOL , 25*se_card_mvl/mxv + .byte BEND , c_v-7 + .byte W03 + .byte VOL , 11*se_card_mvl/mxv + .byte BEND , c_v-16 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_card: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_card_pri @ Priority + .byte se_card_rev @ Reverb. + + .word se_card_grp + + .word se_card_1 + + .end diff --git a/sound/songs/se_curtain.s b/sound/songs/se_curtain.s new file mode 100644 index 0000000000..e1423036c5 --- /dev/null +++ b/sound/songs/se_curtain.s @@ -0,0 +1,166 @@ + .include "MPlayDef.s" + + .equ se_curtain_grp, voicegroup_86A0154 + .equ se_curtain_pri, 5 + .equ se_curtain_rev, reverb_set+50 + .equ se_curtain_mvl, 127 + .equ se_curtain_key, 0 + .equ se_curtain_tbs, 1 + .equ se_curtain_exg, 0 + .equ se_curtain_cmp, 1 + + .section .rodata + .global se_curtain + .align 2 + +@********************** Track 1 **********************@ + +se_curtain_1: + .byte KEYSH , se_curtain_key+0 + .byte TEMPO , 98*se_curtain_tbs/2 + .byte PAN , c_v+0 + .byte VOL , 127*se_curtain_mvl/mxv + .byte W19 + .byte TEMPO , 112*se_curtain_tbs/2 + .byte VOICE , 38 + .byte MOD , 2 + .byte N04 , Gs1 , v120 + .byte W02 + .byte MOD , 7 + .byte W03 + .byte 1 + .byte N04 , Cn2 + .byte W02 + .byte MOD , 7 + .byte W02 + .byte 1 + .byte N04 , En2 + .byte W03 + .byte MOD , 7 + .byte W02 + .byte 1 + .byte N04 , Gs2 + .byte W03 + .byte MOD , 7 + .byte W02 + .byte 1 + .byte N04 , Cn3 + .byte W02 + .byte MOD , 7 + .byte W03 + .byte 1 + .byte N04 , Ds3 + .byte W02 + .byte MOD , 7 + .byte W03 + .byte 1 + .byte N04 , En3 , v096 + .byte W02 + .byte MOD , 7 + .byte W02 + .byte PAN , c_v-62 + .byte MOD , 1 + .byte N04 , En4 , v032 + .byte W03 + .byte MOD , 7 + .byte W02 + .byte PAN , c_v+63 + .byte MOD , 1 + .byte N04 , En3 , v048 + .byte W03 + .byte MOD , 7 + .byte W02 + .byte PAN , c_v-62 + .byte MOD , 1 + .byte N04 , En4 , v012 + .byte W02 + .byte MOD , 7 + .byte W03 + .byte PAN , c_v+63 + .byte MOD , 1 + .byte N04 , En3 , v032 + .byte W02 + .byte MOD , 7 + .byte W03 + .byte PAN , c_v-62 + .byte MOD , 1 + .byte N04 , En4 , v008 + .byte W02 + .byte MOD , 7 + .byte W02 + .byte 2 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_curtain_2: + .byte KEYSH , se_curtain_key+0 + .byte PAN , c_v+0 + .byte VOL , 112*se_curtain_mvl/mxv + .byte W19 + .byte VOICE , 100 + .byte W12 + .byte W07 + .byte N04 , Cn4 , v112 + .byte W05 + .byte As4 + .byte W07 + .byte Gs5 , v064 + .byte W05 + .byte Ds6 , v048 + .byte W07 + .byte Gn6 , v032 + .byte W05 + .byte W12 + .byte FINE + +@********************** Track 3 **********************@ + +se_curtain_3: + .byte KEYSH , se_curtain_key+0 + .byte VOICE , 125 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte MOD , 2 + .byte VOL , 86*se_curtain_mvl/mxv + .byte BEND , c_v-57 + .byte N09 , Cn5 , v064 + .byte W01 + .byte BEND , c_v-45 + .byte W01 + .byte c_v-30 + .byte W01 + .byte c_v-18 + .byte W01 + .byte c_v-11 + .byte W02 + .byte c_v+0 + .byte W03 + .byte N01 , Gn5 , v096 + .byte W10 + .byte W12 + .byte W12 + .byte W12 + .byte W12 + .byte W12 + .byte FINE + +@******************************************************@ + .align 2 + +se_curtain: + .byte 3 @ NumTrks + .byte 0 @ NumBlks + .byte se_curtain_pri @ Priority + .byte se_curtain_rev @ Reverb. + + .word se_curtain_grp + + .word se_curtain_1 + .word se_curtain_2 + .word se_curtain_3 + + .end diff --git a/sound/songs/se_curtain1.s b/sound/songs/se_curtain1.s new file mode 100644 index 0000000000..ed479e8b62 --- /dev/null +++ b/sound/songs/se_curtain1.s @@ -0,0 +1,168 @@ + .include "MPlayDef.s" + + .equ se_curtain1_grp, voicegroup_86A0154 + .equ se_curtain1_pri, 5 + .equ se_curtain1_rev, reverb_set+50 + .equ se_curtain1_mvl, 127 + .equ se_curtain1_key, 0 + .equ se_curtain1_tbs, 1 + .equ se_curtain1_exg, 0 + .equ se_curtain1_cmp, 1 + + .section .rodata + .global se_curtain1 + .align 2 + +@********************** Track 1 **********************@ + +se_curtain1_1: + .byte VOL , 127*se_curtain1_mvl/mxv + .byte KEYSH , se_curtain1_key+0 + .byte TEMPO , 112*se_curtain1_tbs/2 + .byte VOICE , 38 + .byte MOD , 2 + .byte N04 , Gs1 , v120 + .byte W02 + .byte MOD , 7 + .byte W02 + .byte 1 + .byte N04 , Cn2 + .byte W03 + .byte MOD , 7 + .byte W02 + .byte 1 + .byte N04 , En2 + .byte W03 + .byte MOD , 7 + .byte W02 + .byte 1 + .byte N04 , Gs2 + .byte W02 + .byte MOD , 7 + .byte W03 + .byte 1 + .byte N04 , Cn3 + .byte W02 + .byte MOD , 7 + .byte W03 + .byte 1 + .byte N04 , Ds3 + .byte W02 + .byte MOD , 7 + .byte W02 + .byte 1 + .byte N04 , En3 , v096 + .byte W03 + .byte MOD , 7 + .byte W02 + .byte PAN , c_v-62 + .byte MOD , 1 + .byte N04 , En4 , v032 + .byte W03 + .byte MOD , 7 + .byte W02 + .byte PAN , c_v+63 + .byte MOD , 1 + .byte N04 , En3 , v048 + .byte W02 + .byte MOD , 7 + .byte W03 + .byte PAN , c_v-62 + .byte MOD , 1 + .byte N04 , En4 , v012 + .byte W02 + .byte MOD , 7 + .byte W03 + .byte PAN , c_v+63 + .byte MOD , 1 + .byte N04 , En3 , v032 + .byte W02 + .byte MOD , 7 + .byte W02 + .byte PAN , c_v-62 + .byte MOD , 1 + .byte N04 , En4 , v008 + .byte W03 + .byte MOD , 7 + .byte W02 + .byte 2 + .byte W03 + .byte TEMPO , 98*se_curtain1_tbs/2 + .byte PAN , c_v+0 + .byte VOL , 127*se_curtain1_mvl/mxv + .byte W12 + .byte FINE + +@********************** Track 2 **********************@ + +se_curtain1_2: + .byte VOL , 127*se_curtain1_mvl/mxv + .byte KEYSH , se_curtain1_key+0 + .byte VOICE , 100 + .byte W12 + .byte W07 + .byte N04 , Cn4 , v112 + .byte W05 + .byte As4 + .byte W07 + .byte Gs5 , v064 + .byte W05 + .byte Ds6 , v048 + .byte W07 + .byte Gn6 , v032 + .byte W05 + .byte W12 + .byte PAN , c_v+0 + .byte VOL , 112*se_curtain1_mvl/mxv + .byte W12 + .byte FINE + +@********************** Track 3 **********************@ + +se_curtain1_3: + .byte KEYSH , se_curtain1_key+0 + .byte W12 + .byte W12 + .byte W12 + .byte W12 + .byte W12 + .byte VOICE , 125 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte MOD , 2 + .byte VOL , 86*se_curtain1_mvl/mxv + .byte BEND , c_v-57 + .byte N09 , Cn5 , v064 + .byte W01 + .byte BEND , c_v-45 + .byte W01 + .byte c_v-30 + .byte W01 + .byte c_v-18 + .byte W01 + .byte c_v-11 + .byte W02 + .byte c_v+0 + .byte W03 + .byte N01 , Gn5 , v096 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_curtain1: + .byte 3 @ NumTrks + .byte 0 @ NumBlks + .byte se_curtain1_pri @ Priority + .byte se_curtain1_rev @ Reverb. + + .word se_curtain1_grp + + .word se_curtain1_1 + .word se_curtain1_2 + .word se_curtain1_3 + + .end diff --git a/sound/songs/se_dansa.s b/sound/songs/se_dansa.s new file mode 100644 index 0000000000..3f53916460 --- /dev/null +++ b/sound/songs/se_dansa.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ se_dansa_grp, voicegroup_869D0F4 + .equ se_dansa_pri, 4 + .equ se_dansa_rev, reverb_set+50 + .equ se_dansa_mvl, 127 + .equ se_dansa_key, 0 + .equ se_dansa_tbs, 1 + .equ se_dansa_exg, 0 + .equ se_dansa_cmp, 1 + + .section .rodata + .global se_dansa + .align 2 + +@********************** Track 1 **********************@ + +se_dansa_1: + .byte KEYSH , se_dansa_key+0 + .byte TEMPO , 120*se_dansa_tbs/2 + .byte VOICE , 85 + .byte VOL , 100*se_dansa_mvl/mxv + .byte BEND , c_v-6 + .byte N02 , Ds2 , v052 + .byte W02 + .byte VOICE , 86 + .byte N06 , Gn3 , v092 + .byte W01 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_dansa: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_dansa_pri @ Priority + .byte se_dansa_rev @ Reverb. + + .word se_dansa_grp + + .word se_dansa_1 + + .end diff --git a/sound/songs/se_daugi.s b/sound/songs/se_daugi.s new file mode 100644 index 0000000000..f62ff522eb --- /dev/null +++ b/sound/songs/se_daugi.s @@ -0,0 +1,80 @@ + .include "MPlayDef.s" + + .equ se_daugi_grp, voicegroup_869D0F4 + .equ se_daugi_pri, 5 + .equ se_daugi_rev, reverb_set+50 + .equ se_daugi_mvl, 127 + .equ se_daugi_key, 0 + .equ se_daugi_tbs, 1 + .equ se_daugi_exg, 0 + .equ se_daugi_cmp, 1 + + .section .rodata + .global se_daugi + .align 2 + +@********************** Track 1 **********************@ + +se_daugi_1: + .byte KEYSH , se_daugi_key+0 + .byte TEMPO , 128*se_daugi_tbs/2 + .byte VOICE , 89 + .byte BENDR , 12 + .byte VOL , 90*se_daugi_mvl/mxv + .byte BEND , c_v-1 + .byte N03 , Fs2 , v127 + .byte W03 + .byte N01 , Ds3 + .byte W03 + .byte VOICE , 6 + .byte N03 , Gs3 , v100 + .byte W03 + .byte W01 + .byte N18 , Fn5 , v072 + .byte W02 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_daugi_2: + .byte KEYSH , se_daugi_key+0 + .byte VOICE , 14 + .byte VOL , 90*se_daugi_mvl/mxv + .byte BEND , c_v-8 + .byte N03 , Gs3 , v100 + .byte W03 + .byte W03 + .byte Gs3 , v060 + .byte W03 + .byte W01 + .byte N18 , Fn5 + .byte W02 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_daugi: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_daugi_pri @ Priority + .byte se_daugi_rev @ Reverb. + + .word se_daugi_grp + + .word se_daugi_1 + .word se_daugi_2 + + .end diff --git a/sound/songs/se_dendou.s b/sound/songs/se_dendou.s new file mode 100644 index 0000000000..a7e0fb4cbb --- /dev/null +++ b/sound/songs/se_dendou.s @@ -0,0 +1,197 @@ + .include "MPlayDef.s" + + .equ se_dendou_grp, voicegroup_869D6F4 + .equ se_dendou_pri, 5 + .equ se_dendou_rev, reverb_set+50 + .equ se_dendou_mvl, 127 + .equ se_dendou_key, 0 + .equ se_dendou_tbs, 1 + .equ se_dendou_exg, 0 + .equ se_dendou_cmp, 1 + + .section .rodata + .global se_dendou + .align 2 + +@********************** Track 1 **********************@ + +se_dendou_1: + .byte KEYSH , se_dendou_key+0 + .byte TEMPO , 150*se_dendou_tbs/2 + .byte VOICE , 60 + .byte BENDR , 12 + .byte VOL , 25*se_dendou_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte TIE , Bn2 , v127 + .byte W01 + .byte PAN , c_v+2 + .byte W01 + .byte c_v+5 + .byte W01 + .byte VOL , 34*se_dendou_mvl/mxv + .byte W01 + .byte PAN , c_v+2 + .byte W02 + .byte c_v+0 + .byte W01 + .byte VOL , 46*se_dendou_mvl/mxv + .byte PAN , c_v-2 + .byte W01 + .byte c_v-4 + .byte W02 + .byte VOL , 56*se_dendou_mvl/mxv + .byte PAN , c_v-2 + .byte W02 + .byte c_v+0 + .byte W01 + .byte c_v+2 + .byte W01 + .byte c_v+5 + .byte W01 + .byte VOL , 70*se_dendou_mvl/mxv + .byte W01 + .byte PAN , c_v+2 + .byte W02 + .byte c_v+0 + .byte W01 + .byte VOL , 80*se_dendou_mvl/mxv + .byte PAN , c_v-2 + .byte W01 + .byte c_v-4 + .byte W02 + .byte VOL , 88*se_dendou_mvl/mxv + .byte PAN , c_v-2 + .byte W02 + .byte c_v+0 + .byte W01 + .byte c_v+2 + .byte W01 + .byte VOL , 96*se_dendou_mvl/mxv + .byte PAN , c_v+5 + .byte W02 + .byte c_v+2 + .byte W02 + .byte VOL , 100*se_dendou_mvl/mxv + .byte PAN , c_v+0 + .byte W01 + .byte c_v-2 + .byte W01 + .byte c_v-4 + .byte W02 + .byte c_v-2 + .byte W02 +se_dendou_1_000: + .byte PAN , c_v+0 + .byte W01 + .byte c_v+2 + .byte W01 + .byte c_v+5 + .byte W02 + .byte c_v+2 + .byte W02 + .byte c_v+0 + .byte W01 + .byte c_v-2 + .byte W01 + .byte c_v-4 + .byte W02 + .byte c_v-2 + .byte W02 + .byte PEND + .byte PATT + .word se_dendou_1_000 + .byte PATT + .word se_dendou_1_000 + .byte PATT + .word se_dendou_1_000 + .byte PATT + .word se_dendou_1_000 + .byte PATT + .word se_dendou_1_000 + .byte PATT + .word se_dendou_1_000 + .byte PATT + .word se_dendou_1_000 + .byte PATT + .word se_dendou_1_000 + .byte PATT + .word se_dendou_1_000 + .byte PATT + .word se_dendou_1_000 + .byte PATT + .word se_dendou_1_000 + .byte PATT + .word se_dendou_1_000 + .byte PATT + .word se_dendou_1_000 + .byte PATT + .word se_dendou_1_000 + .byte PATT + .word se_dendou_1_000 + .byte PATT + .word se_dendou_1_000 + .byte PATT + .word se_dendou_1_000 + .byte PATT + .word se_dendou_1_000 + .byte VOL , 96*se_dendou_mvl/mxv + .byte PAN , c_v+0 + .byte W01 + .byte c_v+2 + .byte W01 + .byte c_v+5 + .byte W01 + .byte VOL , 92*se_dendou_mvl/mxv + .byte W01 + .byte PAN , c_v+2 + .byte W02 + .byte c_v+0 + .byte W01 + .byte VOL , 84*se_dendou_mvl/mxv + .byte PAN , c_v-2 + .byte W01 + .byte c_v-4 + .byte W02 + .byte VOL , 72*se_dendou_mvl/mxv + .byte PAN , c_v-2 + .byte W02 + .byte c_v+0 + .byte W01 + .byte c_v+2 + .byte W01 + .byte VOL , 63*se_dendou_mvl/mxv + .byte PAN , c_v+5 + .byte W02 + .byte VOL , 52*se_dendou_mvl/mxv + .byte PAN , c_v+2 + .byte W02 + .byte c_v+0 + .byte W01 + .byte VOL , 37*se_dendou_mvl/mxv + .byte PAN , c_v-2 + .byte W01 + .byte c_v-4 + .byte W01 + .byte VOL , 22*se_dendou_mvl/mxv + .byte W01 + .byte 12*se_dendou_mvl/mxv + .byte PAN , c_v-2 + .byte W02 + .byte EOT , Bn2 + .byte FINE + +@******************************************************@ + .align 2 + +se_dendou: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_dendou_pri @ Priority + .byte se_dendou_rev @ Reverb. + + .word se_dendou_grp + + .word se_dendou_1 + + .end diff --git a/sound/songs/se_doku.s b/sound/songs/se_doku.s new file mode 100644 index 0000000000..e8b83b05e9 --- /dev/null +++ b/sound/songs/se_doku.s @@ -0,0 +1,50 @@ + .include "MPlayDef.s" + + .equ se_doku_grp, voicegroup_869D0F4 + .equ se_doku_pri, 5 + .equ se_doku_rev, reverb_set+50 + .equ se_doku_mvl, 127 + .equ se_doku_key, 0 + .equ se_doku_tbs, 1 + .equ se_doku_exg, 0 + .equ se_doku_cmp, 1 + + .section .rodata + .global se_doku + .align 2 + +@********************** Track 1 **********************@ + +se_doku_1: + .byte KEYSH , se_doku_key+0 + .byte TEMPO , 150*se_doku_tbs/2 + .byte VOICE , 16 + .byte BENDR , 12 + .byte VOL , 110*se_doku_mvl/mxv + .byte BEND , c_v+0 + .byte N02 , Ds3 , v100 + .byte W04 + .byte N02 + .byte W05 + .byte N02 + .byte W05 + .byte N02 + .byte W05 + .byte N02 + .byte W05 + .byte FINE + +@******************************************************@ + .align 2 + +se_doku: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_doku_pri @ Priority + .byte se_doku_rev @ Reverb. + + .word se_doku_grp + + .word se_doku_1 + + .end diff --git a/sound/songs/se_door.s b/sound/songs/se_door.s new file mode 100644 index 0000000000..5784402b5f --- /dev/null +++ b/sound/songs/se_door.s @@ -0,0 +1,42 @@ + .include "MPlayDef.s" + + .equ se_door_grp, voicegroup_869D0F4 + .equ se_door_pri, 5 + .equ se_door_rev, reverb_set+50 + .equ se_door_mvl, 127 + .equ se_door_key, 0 + .equ se_door_tbs, 1 + .equ se_door_exg, 0 + .equ se_door_cmp, 1 + + .section .rodata + .global se_door + .align 2 + +@********************** Track 1 **********************@ + +se_door_1: + .byte KEYSH , se_door_key+0 + .byte TEMPO , 110*se_door_tbs/2 + .byte VOICE , 127 + .byte VOL , 80*se_door_mvl/mxv + .byte N03 , Dn3 , v127 + .byte W06 + .byte N12 , Fs3 + .byte W18 + .byte FINE + +@******************************************************@ + .align 2 + +se_door: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_door_pri @ Priority + .byte se_door_rev @ Reverb. + + .word se_door_grp + + .word se_door_1 + + .end diff --git a/sound/songs/se_e.s b/sound/songs/se_e.s new file mode 100644 index 0000000000..0cc3d1a6fa --- /dev/null +++ b/sound/songs/se_e.s @@ -0,0 +1,45 @@ + .include "MPlayDef.s" + + .equ se_e_grp, voicegroup_869D6F4 + .equ se_e_pri, 4 + .equ se_e_rev, reverb_set+50 + .equ se_e_mvl, 127 + .equ se_e_key, 0 + .equ se_e_tbs, 1 + .equ se_e_exg, 0 + .equ se_e_cmp, 1 + + .section .rodata + .global se_e + .align 2 + +@********************** Track 1 **********************@ + +se_e_1: + .byte KEYSH , se_e_key+0 + .byte TEMPO , 240*se_e_tbs/2 + .byte VOICE , 125 + .byte BENDR , 12 + .byte VOL , 120*se_e_mvl/mxv + .byte BEND , c_v+0 + .byte N72 , Cn3 , v127 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_e: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_e_pri @ Priority + .byte se_e_rev @ Reverb. + + .word se_e_grp + + .word se_e_1 + + .end diff --git a/sound/songs/se_elebeta.s b/sound/songs/se_elebeta.s new file mode 100644 index 0000000000..69ce382a8b --- /dev/null +++ b/sound/songs/se_elebeta.s @@ -0,0 +1,71 @@ + .include "MPlayDef.s" + + .equ se_elebeta_grp, voicegroup_869D6F4 + .equ se_elebeta_pri, 4 + .equ se_elebeta_rev, reverb_set+50 + .equ se_elebeta_mvl, 127 + .equ se_elebeta_key, 0 + .equ se_elebeta_tbs, 1 + .equ se_elebeta_exg, 0 + .equ se_elebeta_cmp, 1 + + .section .rodata + .global se_elebeta + .align 2 + +@********************** Track 1 **********************@ + +se_elebeta_1: + .byte KEYSH , se_elebeta_key+0 + .byte TEMPO , 150*se_elebeta_tbs/2 + .byte VOICE , 38 + .byte BENDR , 2 + .byte VOL , 100*se_elebeta_mvl/mxv + .byte BEND , c_v+0 + .byte TIE , Fs4 , v080 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte EOT + .byte FINE + +@********************** Track 2 **********************@ + +se_elebeta_2: + .byte KEYSH , se_elebeta_key+0 + .byte VOICE , 27 + .byte VOL , 100*se_elebeta_mvl/mxv + .byte TIE , Fn3 , v032 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte EOT + .byte FINE + +@******************************************************@ + .align 2 + +se_elebeta: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_elebeta_pri @ Priority + .byte se_elebeta_rev @ Reverb. + + .word se_elebeta_grp + + .word se_elebeta_1 + .word se_elebeta_2 + + .end diff --git a/sound/songs/se_esuka.s b/sound/songs/se_esuka.s new file mode 100644 index 0000000000..a86239ac4e --- /dev/null +++ b/sound/songs/se_esuka.s @@ -0,0 +1,93 @@ + .include "MPlayDef.s" + + .equ se_esuka_grp, voicegroup_869D6F4 + .equ se_esuka_pri, 4 + .equ se_esuka_rev, reverb_set+50 + .equ se_esuka_mvl, 127 + .equ se_esuka_key, 0 + .equ se_esuka_tbs, 1 + .equ se_esuka_exg, 0 + .equ se_esuka_cmp, 1 + + .section .rodata + .global se_esuka + .align 2 + +@********************** Track 1 **********************@ + +se_esuka_1: + .byte KEYSH , se_esuka_key+0 + .byte TEMPO , 150*se_esuka_tbs/2 + .byte VOICE , 38 + .byte BENDR , 2 + .byte VOL , 51*se_esuka_mvl/mxv + .byte BEND , c_v-32 + .byte TIE , En5 , v080 + .byte W01 + .byte BEND , c_v-26 + .byte W01 + .byte VOL , 56*se_esuka_mvl/mxv + .byte W01 + .byte BEND , c_v-21 + .byte W01 + .byte VOL , 62*se_esuka_mvl/mxv + .byte W02 + .byte BEND , c_v-15 + .byte W01 + .byte VOL , 69*se_esuka_mvl/mxv + .byte W01 + .byte BEND , c_v-7 + .byte W01 + .byte VOL , 75*se_esuka_mvl/mxv + .byte W01 + .byte BEND , c_v+0 + .byte W02 + .byte VOL , 85*se_esuka_mvl/mxv + .byte W02 + .byte 92*se_esuka_mvl/mxv + .byte W02 + .byte 100*se_esuka_mvl/mxv + .byte W08 + .byte W24 + .byte W24 + .byte W24 + .byte W03 + .byte 96*se_esuka_mvl/mxv + .byte W03 + .byte 88*se_esuka_mvl/mxv + .byte W03 + .byte 81*se_esuka_mvl/mxv + .byte BEND , c_v-5 + .byte W03 + .byte VOL , 74*se_esuka_mvl/mxv + .byte BEND , c_v-8 + .byte W02 + .byte VOL , 62*se_esuka_mvl/mxv + .byte BEND , c_v-12 + .byte W02 + .byte VOL , 49*se_esuka_mvl/mxv + .byte BEND , c_v-21 + .byte W03 + .byte VOL , 39*se_esuka_mvl/mxv + .byte BEND , c_v-26 + .byte W02 + .byte VOL , 25*se_esuka_mvl/mxv + .byte BEND , c_v-32 + .byte W03 + .byte EOT + .byte FINE + +@******************************************************@ + .align 2 + +se_esuka: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_esuka_pri @ Priority + .byte se_esuka_rev @ Reverb. + + .word se_esuka_grp + + .word se_esuka_1 + + .end diff --git a/sound/songs/se_exp.s b/sound/songs/se_exp.s new file mode 100644 index 0000000000..0fa2f75305 --- /dev/null +++ b/sound/songs/se_exp.s @@ -0,0 +1,333 @@ + .include "MPlayDef.s" + + .equ se_exp_grp, voicegroup_869D0F4 + .equ se_exp_pri, 5 + .equ se_exp_rev, reverb_set+50 + .equ se_exp_mvl, 127 + .equ se_exp_key, 0 + .equ se_exp_tbs, 1 + .equ se_exp_exg, 0 + .equ se_exp_cmp, 1 + + .section .rodata + .global se_exp + .align 2 + +@********************** Track 1 **********************@ + +se_exp_1: + .byte KEYSH , se_exp_key+0 + .byte TEMPO , 240*se_exp_tbs/2 + .byte VOICE , 19 + .byte BENDR , 26 + .byte VOL , 80*se_exp_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte TIE , Fn3 , v112 + .byte W01 + .byte BEND , c_v+8 + .byte W01 + .byte c_v+16 + .byte W01 + .byte c_v+22 + .byte W01 + .byte c_v+31 + .byte W02 + .byte c_v+38 + .byte W01 + .byte VOL , 71*se_exp_mvl/mxv + .byte BEND , c_v+8 + .byte W01 + .byte c_v+16 + .byte W01 + .byte c_v+22 + .byte W01 + .byte c_v+31 + .byte W02 + .byte c_v+38 + .byte W01 + .byte c_v+15 + .byte W01 + .byte VOL , 50*se_exp_mvl/mxv + .byte BEND , c_v+1 + .byte W01 + .byte c_v+0 + .byte W01 + .byte c_v+0 + .byte W02 + .byte c_v+3 + .byte W01 + .byte VOL , 51*se_exp_mvl/mxv + .byte BEND , c_v+3 + .byte W01 + .byte c_v+2 + .byte W01 + .byte c_v+5 + .byte W01 + .byte c_v+4 + .byte W02 + .byte VOL , 52*se_exp_mvl/mxv + .byte BEND , c_v+4 + .byte W01 + .byte c_v+7 + .byte W01 + .byte c_v+6 + .byte W01 + .byte c_v+5 + .byte W01 + .byte VOL , 52*se_exp_mvl/mxv + .byte BEND , c_v+8 + .byte W02 + .byte c_v+8 + .byte W01 + .byte c_v+7 + .byte W01 + .byte c_v+10 + .byte W01 + .byte VOL , 54*se_exp_mvl/mxv + .byte BEND , c_v+10 + .byte W01 + .byte c_v+9 + .byte W02 + .byte c_v+12 + .byte W01 + .byte c_v+12 + .byte W01 + .byte VOL , 55*se_exp_mvl/mxv + .byte BEND , c_v+11 + .byte W01 + .byte c_v+14 + .byte W01 + .byte c_v+13 + .byte W02 + .byte c_v+12 + .byte W01 + .byte VOL , 56*se_exp_mvl/mxv + .byte BEND , c_v+16 + .byte W01 + .byte c_v+15 + .byte W01 + .byte c_v+14 + .byte W01 + .byte c_v+17 + .byte W02 + .byte VOL , 57*se_exp_mvl/mxv + .byte BEND , c_v+17 + .byte W01 + .byte c_v+16 + .byte W01 + .byte c_v+20 + .byte W01 + .byte c_v+19 + .byte W01 + .byte VOL , 57*se_exp_mvl/mxv + .byte BEND , c_v+19 + .byte W02 + .byte c_v+21 + .byte W01 + .byte c_v+20 + .byte W01 + .byte c_v+20 + .byte W01 + .byte VOL , 59*se_exp_mvl/mxv + .byte BEND , c_v+23 + .byte W01 + .byte c_v+22 + .byte W02 + .byte c_v+21 + .byte W01 + .byte c_v+25 + .byte W01 + .byte VOL , 60*se_exp_mvl/mxv + .byte BEND , c_v+24 + .byte W01 + .byte c_v+23 + .byte W01 + .byte c_v+26 + .byte W02 + .byte c_v+25 + .byte W01 + .byte VOL , 61*se_exp_mvl/mxv + .byte BEND , c_v+24 + .byte W01 + .byte c_v+28 + .byte W01 + .byte c_v+27 + .byte W01 + .byte c_v+26 + .byte W02 + .byte VOL , 62*se_exp_mvl/mxv + .byte BEND , c_v+30 + .byte W01 + .byte c_v+29 + .byte W01 + .byte c_v+28 + .byte W01 + .byte c_v+32 + .byte W01 + .byte VOL , 62*se_exp_mvl/mxv + .byte BEND , c_v+30 + .byte W02 + .byte c_v+30 + .byte W01 + .byte c_v+33 + .byte W01 + .byte c_v+32 + .byte W01 + .byte VOL , 64*se_exp_mvl/mxv + .byte BEND , c_v+31 + .byte W01 + .byte c_v+35 + .byte W02 + .byte c_v+34 + .byte W01 + .byte c_v+33 + .byte W01 + .byte VOL , 65*se_exp_mvl/mxv + .byte BEND , c_v+37 + .byte W01 + .byte c_v+36 + .byte W01 + .byte c_v+35 + .byte W02 + .byte c_v+39 + .byte W01 + .byte VOL , 66*se_exp_mvl/mxv + .byte BEND , c_v+38 + .byte W01 + .byte c_v+37 + .byte W01 + .byte c_v+40 + .byte W01 + .byte c_v+39 + .byte W02 + .byte VOL , 67*se_exp_mvl/mxv + .byte BEND , c_v+38 + .byte W01 + .byte c_v+42 + .byte W01 + .byte c_v+41 + .byte W01 + .byte c_v+40 + .byte W01 + .byte VOL , 68*se_exp_mvl/mxv + .byte BEND , c_v+44 + .byte W02 + .byte c_v+43 + .byte W01 + .byte c_v+42 + .byte W01 + .byte c_v+46 + .byte W01 + .byte VOL , 69*se_exp_mvl/mxv + .byte BEND , c_v+45 + .byte W01 + .byte c_v+44 + .byte W02 + .byte c_v+48 + .byte W01 + .byte c_v+46 + .byte W01 + .byte VOL , 70*se_exp_mvl/mxv + .byte BEND , c_v+45 + .byte W01 + .byte c_v+49 + .byte W01 + .byte c_v+48 + .byte W02 + .byte c_v+48 + .byte W01 + .byte VOL , 71*se_exp_mvl/mxv + .byte BEND , c_v+51 + .byte W01 + .byte c_v+50 + .byte W01 + .byte c_v+49 + .byte W01 + .byte c_v+53 + .byte W02 + .byte VOL , 72*se_exp_mvl/mxv + .byte BEND , c_v+52 + .byte W01 + .byte c_v+51 + .byte W01 + .byte c_v+55 + .byte W01 + .byte c_v+53 + .byte W01 + .byte VOL , 73*se_exp_mvl/mxv + .byte BEND , c_v+52 + .byte W02 + .byte c_v+56 + .byte W01 + .byte c_v+55 + .byte W01 + .byte c_v+54 + .byte W01 + .byte VOL , 74*se_exp_mvl/mxv + .byte BEND , c_v+58 + .byte W01 + .byte c_v+57 + .byte W02 + .byte c_v+56 + .byte W01 + .byte c_v+59 + .byte W01 + .byte VOL , 75*se_exp_mvl/mxv + .byte BEND , c_v+59 + .byte W01 + .byte c_v+58 + .byte W01 + .byte c_v+62 + .byte W02 + .byte c_v+61 + .byte W01 + .byte VOL , 76*se_exp_mvl/mxv + .byte BEND , c_v+60 + .byte W01 + .byte c_v+63 + .byte W01 + .byte c_v+62 + .byte W01 + .byte c_v+61 + .byte W02 + .byte VOL , 77*se_exp_mvl/mxv + .byte BEND , c_v+63 + .byte W01 + .byte c_v+62 + .byte W01 + .byte c_v+61 + .byte W01 + .byte c_v+63 + .byte W01 + .byte VOL , 78*se_exp_mvl/mxv + .byte BEND , c_v+62 + .byte W02 + .byte c_v+61 + .byte W01 + .byte c_v+63 + .byte W01 + .byte c_v+62 + .byte W01 + .byte VOL , 79*se_exp_mvl/mxv + .byte BEND , c_v+61 + .byte W01 + .byte c_v+63 + .byte W02 + .byte EOT + .byte FINE + +@******************************************************@ + .align 2 + +se_exp: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_exp_pri @ Priority + .byte se_exp_rev @ Reverb. + + .word se_exp_grp + + .word se_exp_1 + + .end diff --git a/sound/songs/se_expmax.s b/sound/songs/se_expmax.s new file mode 100644 index 0000000000..752a5d8e7d --- /dev/null +++ b/sound/songs/se_expmax.s @@ -0,0 +1,76 @@ + .include "MPlayDef.s" + + .equ se_expmax_grp, voicegroup_869D6F4 + .equ se_expmax_pri, 5 + .equ se_expmax_rev, reverb_set+50 + .equ se_expmax_mvl, 127 + .equ se_expmax_key, 0 + .equ se_expmax_tbs, 1 + .equ se_expmax_exg, 0 + .equ se_expmax_cmp, 1 + + .section .rodata + .global se_expmax + .align 2 + +@********************** Track 1 **********************@ + +se_expmax_1: + .byte KEYSH , se_expmax_key+0 + .byte TEMPO , 150*se_expmax_tbs/2 + .byte VOICE , 46 + .byte VOL , 94*se_expmax_mvl/mxv + .byte BENDR , 2 + .byte LFOS , 40 + .byte PAN , c_v+0 + .byte BEND , c_v+15 + .byte N06 , An5 , v112 + .byte W01 + .byte N15 , En6 , v104 + .byte W02 + .byte W01 + .byte MOD , 5 + .byte W02 + .byte W03 + .byte W03 + .byte W03 + .byte W01 + .byte 0 + .byte W02 + .byte FINE + +@********************** Track 2 **********************@ + +se_expmax_2: + .byte KEYSH , se_expmax_key+0 + .byte VOICE , 53 + .byte BENDR , 2 + .byte VOL , 43*se_expmax_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+15 + .byte N06 , An4 , v108 + .byte W01 + .byte N12 , Cs6 , v104 + .byte W02 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_expmax: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_expmax_pri @ Priority + .byte se_expmax_rev @ Reverb. + + .word se_expmax_grp + + .word se_expmax_1 + .word se_expmax_2 + + .end diff --git a/sound/songs/se_fu_zaku.s b/sound/songs/se_fu_zaku.s new file mode 100644 index 0000000000..fe9907a786 --- /dev/null +++ b/sound/songs/se_fu_zaku.s @@ -0,0 +1,54 @@ + .include "MPlayDef.s" + + .equ se_fu_zaku_grp, voicegroup_869D0F4 + .equ se_fu_zaku_pri, 4 + .equ se_fu_zaku_rev, reverb_set+50 + .equ se_fu_zaku_mvl, 127 + .equ se_fu_zaku_key, 0 + .equ se_fu_zaku_tbs, 1 + .equ se_fu_zaku_exg, 0 + .equ se_fu_zaku_cmp, 1 + + .section .rodata + .global se_fu_zaku + .align 2 + +@********************** Track 1 **********************@ + +se_fu_zaku_1: + .byte KEYSH , se_fu_zaku_key+0 + .byte TEMPO , 150*se_fu_zaku_tbs/2 + .byte VOICE , 126 + .byte VOL , 120*se_fu_zaku_mvl/mxv + .byte N01 , Cn3 , v068 + .byte W01 + .byte En3 , v064 + .byte W01 + .byte Gn3 + .byte W03 + .byte N02 , An2 , v048 + .byte W08 + .byte N01 , Cn3 , v068 + .byte W01 + .byte En3 , v064 + .byte W01 + .byte Gn3 + .byte W03 + .byte N02 , An2 , v048 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_fu_zaku: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_fu_zaku_pri @ Priority + .byte se_fu_zaku_rev @ Reverb. + + .word se_fu_zaku_grp + + .word se_fu_zaku_1 + + .end diff --git a/sound/songs/se_fu_zaku2.s b/sound/songs/se_fu_zaku2.s new file mode 100644 index 0000000000..b7b8f6cf23 --- /dev/null +++ b/sound/songs/se_fu_zaku2.s @@ -0,0 +1,48 @@ + .include "MPlayDef.s" + + .equ se_fu_zaku2_grp, voicegroup_869D0F4 + .equ se_fu_zaku2_pri, 4 + .equ se_fu_zaku2_rev, reverb_set+50 + .equ se_fu_zaku2_mvl, 127 + .equ se_fu_zaku2_key, 0 + .equ se_fu_zaku2_tbs, 1 + .equ se_fu_zaku2_exg, 0 + .equ se_fu_zaku2_cmp, 1 + + .section .rodata + .global se_fu_zaku2 + .align 2 + +@********************** Track 1 **********************@ + +se_fu_zaku2_1: + .byte KEYSH , se_fu_zaku2_key+0 + .byte TEMPO , 150*se_fu_zaku2_tbs/2 + .byte VOICE , 126 + .byte VOL , 110*se_fu_zaku2_mvl/mxv + .byte N01 , An2 , v112 + .byte W01 + .byte En3 + .byte W01 + .byte Gn3 + .byte W01 + .byte W02 + .byte N02 , Cn3 , v092 + .byte W01 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_fu_zaku2: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_fu_zaku2_pri @ Priority + .byte se_fu_zaku2_rev @ Reverb. + + .word se_fu_zaku2_grp + + .word se_fu_zaku2_1 + + .end diff --git a/sound/songs/se_fu_zuzuzu.s b/sound/songs/se_fu_zuzuzu.s new file mode 100644 index 0000000000..37a63db64a --- /dev/null +++ b/sound/songs/se_fu_zuzuzu.s @@ -0,0 +1,73 @@ + .include "MPlayDef.s" + + .equ se_fu_zuzuzu_grp, voicegroup_869D0F4 + .equ se_fu_zuzuzu_pri, 4 + .equ se_fu_zuzuzu_rev, reverb_set+50 + .equ se_fu_zuzuzu_mvl, 127 + .equ se_fu_zuzuzu_key, 0 + .equ se_fu_zuzuzu_tbs, 1 + .equ se_fu_zuzuzu_exg, 0 + .equ se_fu_zuzuzu_cmp, 1 + + .section .rodata + .global se_fu_zuzuzu + .align 2 + +@********************** Track 1 **********************@ + +se_fu_zuzuzu_1: + .byte KEYSH , se_fu_zuzuzu_key+0 + .byte TEMPO , 120*se_fu_zuzuzu_tbs/2 + .byte VOICE , 126 + .byte VOL , 127*se_fu_zuzuzu_mvl/mxv + .byte N08 , An2 , v112 + .byte W03 + .byte W03 + .byte W02 + .byte N01 , Gs2 + .byte W01 + .byte W01 + .byte N08 , An2 , v096 + .byte W02 + .byte W03 + .byte W03 + .byte W01 + .byte N01 , Gs2 , v092 + .byte W01 + .byte N08 , An2 , v080 + .byte W01 + .byte W03 + .byte W03 + .byte W02 + .byte N01 , Gs2 , v076 + .byte W01 + .byte N08 , An2 , v064 + .byte W03 + .byte W03 + .byte W03 + .byte N01 , Gs2 , v060 + .byte W02 + .byte N09 , An2 , v048 + .byte W01 + .byte W03 + .byte W03 + .byte W02 + .byte N01 , Gs2 , v040 + .byte W01 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_fu_zuzuzu: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_fu_zuzuzu_pri @ Priority + .byte se_fu_zuzuzu_rev @ Reverb. + + .word se_fu_zuzuzu_grp + + .word se_fu_zuzuzu_1 + + .end diff --git a/sound/songs/se_fuusen1.s b/sound/songs/se_fuusen1.s new file mode 100644 index 0000000000..95206c2f0d --- /dev/null +++ b/sound/songs/se_fuusen1.s @@ -0,0 +1,53 @@ + .include "MPlayDef.s" + + .equ se_fuusen1_grp, voicegroup_869D6F4 + .equ se_fuusen1_pri, 4 + .equ se_fuusen1_rev, reverb_set+50 + .equ se_fuusen1_mvl, 127 + .equ se_fuusen1_key, 0 + .equ se_fuusen1_tbs, 1 + .equ se_fuusen1_exg, 0 + .equ se_fuusen1_cmp, 1 + + .section .rodata + .global se_fuusen1 + .align 2 + +@********************** Track 1 **********************@ + +se_fuusen1_1: + .byte KEYSH , se_fuusen1_key+0 + .byte TEMPO , 240*se_fuusen1_tbs/2 + .byte VOICE , 2 + .byte BENDR , 12 + .byte VOL , 105*se_fuusen1_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Cn4 , v127 + .byte W06 + .byte VOICE , 23 + .byte N02 , Cn3 , v112 + .byte W07 + .byte N01 , Cn4 + .byte W05 + .byte Cn3 , v100 + .byte W02 + .byte Gn3 , v092 + .byte W02 + .byte Cn3 , v072 + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_fuusen1: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_fuusen1_pri @ Priority + .byte se_fuusen1_rev @ Reverb. + + .word se_fuusen1_grp + + .word se_fuusen1_1 + + .end diff --git a/sound/songs/se_fuusen2.s b/sound/songs/se_fuusen2.s new file mode 100644 index 0000000000..fe72f9a0bf --- /dev/null +++ b/sound/songs/se_fuusen2.s @@ -0,0 +1,52 @@ + .include "MPlayDef.s" + + .equ se_fuusen2_grp, voicegroup_869D6F4 + .equ se_fuusen2_pri, 4 + .equ se_fuusen2_rev, reverb_set+50 + .equ se_fuusen2_mvl, 127 + .equ se_fuusen2_key, 0 + .equ se_fuusen2_tbs, 1 + .equ se_fuusen2_exg, 0 + .equ se_fuusen2_cmp, 1 + + .section .rodata + .global se_fuusen2 + .align 2 + +@********************** Track 1 **********************@ + +se_fuusen2_1: + .byte KEYSH , se_fuusen2_key+0 + .byte TEMPO , 240*se_fuusen2_tbs/2 + .byte VOICE , 2 + .byte BENDR , 12 + .byte VOL , 105*se_fuusen2_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , Gn4 , v127 + .byte W04 + .byte N01 , Gn4 , v112 + .byte W02 + .byte W02 + .byte Gs3 , v052 + .byte W04 + .byte VOICE , 23 + .byte N02 , Fn3 , v112 + .byte W04 + .byte N01 , Cn4 , v072 + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_fuusen2: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_fuusen2_pri @ Priority + .byte se_fuusen2_rev @ Reverb. + + .word se_fuusen2_grp + + .word se_fuusen2_1 + + .end diff --git a/sound/songs/se_fuusen3.s b/sound/songs/se_fuusen3.s new file mode 100644 index 0000000000..99696e78a3 --- /dev/null +++ b/sound/songs/se_fuusen3.s @@ -0,0 +1,60 @@ + .include "MPlayDef.s" + + .equ se_fuusen3_grp, voicegroup_869D6F4 + .equ se_fuusen3_pri, 4 + .equ se_fuusen3_rev, reverb_set+50 + .equ se_fuusen3_mvl, 127 + .equ se_fuusen3_key, 0 + .equ se_fuusen3_tbs, 1 + .equ se_fuusen3_exg, 0 + .equ se_fuusen3_cmp, 1 + + .section .rodata + .global se_fuusen3 + .align 2 + +@********************** Track 1 **********************@ + +se_fuusen3_1: + .byte KEYSH , se_fuusen3_key+0 + .byte TEMPO , 240*se_fuusen3_tbs/2 + .byte VOICE , 2 + .byte BENDR , 12 + .byte VOL , 105*se_fuusen3_mvl/mxv + .byte BEND , c_v+0 + .byte N02 , Fn3 , v127 + .byte W02 + .byte N01 , Cn4 , v112 + .byte W02 + .byte N03 , Fn3 , v052 + .byte W02 + .byte W02 + .byte VOICE , 23 + .byte N01 , En4 , v092 + .byte W01 + .byte Cn5 + .byte W03 + .byte Gn3 + .byte W01 + .byte En4 + .byte W02 + .byte En3 , v048 + .byte W01 + .byte Bn3 + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_fuusen3: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_fuusen3_pri @ Priority + .byte se_fuusen3_rev @ Reverb. + + .word se_fuusen3_grp + + .word se_fuusen3_1 + + .end diff --git a/sound/songs/se_hantei1.s b/sound/songs/se_hantei1.s new file mode 100644 index 0000000000..5ef1883ac6 --- /dev/null +++ b/sound/songs/se_hantei1.s @@ -0,0 +1,58 @@ + .include "MPlayDef.s" + + .equ se_hantei1_grp, voicegroup_86A0154 + .equ se_hantei1_pri, 5 + .equ se_hantei1_rev, reverb_set+50 + .equ se_hantei1_mvl, 127 + .equ se_hantei1_key, 0 + .equ se_hantei1_tbs, 1 + .equ se_hantei1_exg, 0 + .equ se_hantei1_cmp, 1 + + .section .rodata + .global se_hantei1 + .align 2 + +@********************** Track 1 **********************@ + +se_hantei1_1: + .byte KEYSH , se_hantei1_key+0 + .byte TEMPO , 92*se_hantei1_tbs/2 + .byte VOICE , 116 + .byte VOL , 127*se_hantei1_mvl/mxv + .byte PAN , c_v-62 + .byte N32 , Fn3 , v127 + .byte W12 + .byte W12 + .byte W12 + .byte FINE + +@********************** Track 2 **********************@ + +se_hantei1_2: + .byte KEYSH , se_hantei1_key+0 + .byte VOICE , 117 + .byte VOL , 127*se_hantei1_mvl/mxv + .byte PAN , c_v+63 + .byte BEND , c_v+1 + .byte N32 , An3 , v100 + .byte W12 + .byte W12 + .byte W12 + .byte FINE + +@******************************************************@ + .align 2 + +se_hantei1: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_hantei1_pri @ Priority + .byte se_hantei1_rev @ Reverb. + + .word se_hantei1_grp + + .word se_hantei1_1 + .word se_hantei1_2 + + .end diff --git a/sound/songs/se_hantei2.s b/sound/songs/se_hantei2.s new file mode 100644 index 0000000000..cacc5c82cd --- /dev/null +++ b/sound/songs/se_hantei2.s @@ -0,0 +1,70 @@ + .include "MPlayDef.s" + + .equ se_hantei2_grp, voicegroup_86A0154 + .equ se_hantei2_pri, 5 + .equ se_hantei2_rev, reverb_set+50 + .equ se_hantei2_mvl, 127 + .equ se_hantei2_key, 0 + .equ se_hantei2_tbs, 1 + .equ se_hantei2_exg, 0 + .equ se_hantei2_cmp, 1 + + .section .rodata + .global se_hantei2 + .align 2 + +@********************** Track 1 **********************@ + +se_hantei2_1: + .byte KEYSH , se_hantei2_key+0 + .byte TEMPO , 92*se_hantei2_tbs/2 + .byte VOICE , 116 + .byte VOL , 127*se_hantei2_mvl/mxv + .byte PAN , c_v-62 + .byte N04 , Fn3 , v127 + .byte W04 + .byte VOICE , 10 + .byte N04 , Cn3 + .byte W05 + .byte VOICE , 116 + .byte N32 , Fn3 + .byte W03 + .byte W12 + .byte W12 + .byte W12 + .byte FINE + +@********************** Track 2 **********************@ + +se_hantei2_2: + .byte KEYSH , se_hantei2_key+0 + .byte VOICE , 117 + .byte VOL , 127*se_hantei2_mvl/mxv + .byte PAN , c_v+63 + .byte BEND , c_v+1 + .byte N04 , Gn3 , v100 + .byte W04 + .byte Dn3 + .byte W05 + .byte N32 , Gn3 + .byte W03 + .byte W12 + .byte W12 + .byte W12 + .byte FINE + +@******************************************************@ + .align 2 + +se_hantei2: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_hantei2_pri @ Priority + .byte se_hantei2_rev @ Reverb. + + .word se_hantei2_grp + + .word se_hantei2_1 + .word se_hantei2_2 + + .end diff --git a/sound/songs/se_hashi.s b/sound/songs/se_hashi.s new file mode 100644 index 0000000000..5e7f6ae0e2 --- /dev/null +++ b/sound/songs/se_hashi.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ se_hashi_grp, voicegroup_869D6F4 + .equ se_hashi_pri, 4 + .equ se_hashi_rev, reverb_set+50 + .equ se_hashi_mvl, 127 + .equ se_hashi_key, 0 + .equ se_hashi_tbs, 1 + .equ se_hashi_exg, 0 + .equ se_hashi_cmp, 1 + + .section .rodata + .global se_hashi + .align 2 + +@********************** Track 1 **********************@ + +se_hashi_1: + .byte KEYSH , se_hashi_key+0 + .byte TEMPO , 150*se_hashi_tbs/2 + .byte VOICE , 26 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 95*se_hashi_mvl/mxv + .byte BEND , c_v+0 + .byte N01 , Cn3 , v127 + .byte W03 + .byte W03 + .byte Gn3 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_hashi: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_hashi_pri @ Priority + .byte se_hashi_rev @ Reverb. + + .word se_hashi_grp + + .word se_hashi_1 + + .end diff --git a/sound/songs/se_hazure.s b/sound/songs/se_hazure.s new file mode 100644 index 0000000000..ea5e6a5cfb --- /dev/null +++ b/sound/songs/se_hazure.s @@ -0,0 +1,55 @@ + .include "MPlayDef.s" + + .equ se_hazure_grp, voicegroup_869D0F4 + .equ se_hazure_pri, 4 + .equ se_hazure_rev, reverb_set+50 + .equ se_hazure_mvl, 127 + .equ se_hazure_key, 0 + .equ se_hazure_tbs, 1 + .equ se_hazure_exg, 0 + .equ se_hazure_cmp, 1 + + .section .rodata + .global se_hazure + .align 2 + +@********************** Track 1 **********************@ + +se_hazure_1: + .byte KEYSH , se_hazure_key+0 + .byte TEMPO , 240*se_hazure_tbs/2 + .byte VOICE , 92 + .byte BENDR , 12 + .byte VOL , 120*se_hazure_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , Cn2 , v127 + .byte W03 + .byte Cn2 , v020 + .byte W03 + .byte N18 , Cn2 , v127 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte N09 , Cn2 , v020 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_hazure: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_hazure_pri @ Priority + .byte se_hazure_rev @ Reverb. + + .word se_hazure_grp + + .word se_hazure_1 + + .end diff --git a/sound/songs/se_hi_turun.s b/sound/songs/se_hi_turun.s new file mode 100644 index 0000000000..6f46765671 --- /dev/null +++ b/sound/songs/se_hi_turun.s @@ -0,0 +1,62 @@ + .include "MPlayDef.s" + + .equ se_hi_turun_grp, voicegroup_869D6F4 + .equ se_hi_turun_pri, 4 + .equ se_hi_turun_rev, reverb_set+50 + .equ se_hi_turun_mvl, 127 + .equ se_hi_turun_key, 0 + .equ se_hi_turun_tbs, 1 + .equ se_hi_turun_exg, 0 + .equ se_hi_turun_cmp, 1 + + .section .rodata + .global se_hi_turun + .align 2 + +@********************** Track 1 **********************@ + +se_hi_turun_1: + .byte KEYSH , se_hi_turun_key+0 + .byte TEMPO , 220*se_hi_turun_tbs/2 + .byte VOICE , 9 + .byte VOL , 90*se_hi_turun_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , Gn4 , v112 + .byte W03 + .byte Dn4 + .byte W03 + .byte Gn4 + .byte W03 + .byte N21 , Gn5 + .byte W03 + .byte W03 + .byte VOL , 81*se_hi_turun_mvl/mxv + .byte BEND , c_v+6 + .byte W03 + .byte VOL , 72*se_hi_turun_mvl/mxv + .byte BEND , c_v+20 + .byte W03 + .byte VOL , 46*se_hi_turun_mvl/mxv + .byte BEND , c_v+37 + .byte W03 + .byte VOL , 24*se_hi_turun_mvl/mxv + .byte BEND , c_v+63 + .byte W03 + .byte VOL , 7*se_hi_turun_mvl/mxv + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_hi_turun: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_hi_turun_pri @ Priority + .byte se_hi_turun_rev @ Reverb. + + .word se_hi_turun_grp + + .word se_hi_turun_1 + + .end diff --git a/sound/songs/se_hinsi.s b/sound/songs/se_hinsi.s new file mode 100644 index 0000000000..f714792c0d --- /dev/null +++ b/sound/songs/se_hinsi.s @@ -0,0 +1,50 @@ + .include "MPlayDef.s" + + .equ se_hinsi_grp, voicegroup_869D0F4 + .equ se_hinsi_pri, 3 + .equ se_hinsi_rev, reverb_set+50 + .equ se_hinsi_mvl, 127 + .equ se_hinsi_key, 0 + .equ se_hinsi_tbs, 1 + .equ se_hinsi_exg, 0 + .equ se_hinsi_cmp, 1 + + .section .rodata + .global se_hinsi + .align 2 + +@********************** Track 1 **********************@ + +se_hinsi_1: + .byte KEYSH , se_hinsi_key+0 +se_hinsi_1_B1: + .byte TEMPO , 150*se_hinsi_tbs/2 + .byte VOICE , 15 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 100*se_hinsi_mvl/mxv + .byte BEND , c_v+17 + .byte N12 , Dn4 , v080 + .byte W12 + .byte BEND , c_v+31 + .byte N12 , An3 + .byte W12 + .byte W12 + .byte GOTO + .word se_hinsi_1_B1 + .byte FINE + +@******************************************************@ + .align 2 + +se_hinsi: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_hinsi_pri @ Priority + .byte se_hinsi_rev @ Reverb. + + .word se_hinsi_grp + + .word se_hinsi_1 + + .end diff --git a/sound/songs/se_i.s b/sound/songs/se_i.s new file mode 100644 index 0000000000..e39eb37723 --- /dev/null +++ b/sound/songs/se_i.s @@ -0,0 +1,45 @@ + .include "MPlayDef.s" + + .equ se_i_grp, voicegroup_869D6F4 + .equ se_i_pri, 4 + .equ se_i_rev, reverb_set+50 + .equ se_i_mvl, 127 + .equ se_i_key, 0 + .equ se_i_tbs, 1 + .equ se_i_exg, 0 + .equ se_i_cmp, 1 + + .section .rodata + .global se_i + .align 2 + +@********************** Track 1 **********************@ + +se_i_1: + .byte KEYSH , se_i_key+0 + .byte TEMPO , 240*se_i_tbs/2 + .byte VOICE , 123 + .byte BENDR , 12 + .byte VOL , 120*se_i_mvl/mxv + .byte BEND , c_v+0 + .byte N72 , Cn3 , v127 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_i: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_i_pri @ Priority + .byte se_i_rev @ Reverb. + + .word se_i_grp + + .word se_i_1 + + .end diff --git a/sound/songs/se_jido_doa.s b/sound/songs/se_jido_doa.s new file mode 100644 index 0000000000..319d3c7aa7 --- /dev/null +++ b/sound/songs/se_jido_doa.s @@ -0,0 +1,41 @@ + .include "MPlayDef.s" + + .equ se_jido_doa_grp, voicegroup_869D6F4 + .equ se_jido_doa_pri, 4 + .equ se_jido_doa_rev, reverb_set+50 + .equ se_jido_doa_mvl, 127 + .equ se_jido_doa_key, 0 + .equ se_jido_doa_tbs, 1 + .equ se_jido_doa_exg, 0 + .equ se_jido_doa_cmp, 1 + + .section .rodata + .global se_jido_doa + .align 2 + +@********************** Track 1 **********************@ + +se_jido_doa_1: + .byte KEYSH , se_jido_doa_key+0 + .byte TEMPO , 120*se_jido_doa_tbs/2 + .byte VOICE , 1 + .byte VOL , 95*se_jido_doa_mvl/mxv + .byte N12 , Cn2 , v127 + .byte W12 + .byte VOL , 0*se_jido_doa_mvl/mxv + .byte FINE + +@******************************************************@ + .align 2 + +se_jido_doa: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_jido_doa_pri @ Priority + .byte se_jido_doa_rev @ Reverb. + + .word se_jido_doa_grp + + .word se_jido_doa_1 + + .end diff --git a/sound/songs/se_jihanki.s b/sound/songs/se_jihanki.s new file mode 100644 index 0000000000..6e5360f1e4 --- /dev/null +++ b/sound/songs/se_jihanki.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ se_jihanki_grp, voicegroup_869D6F4 + .equ se_jihanki_pri, 4 + .equ se_jihanki_rev, reverb_set+50 + .equ se_jihanki_mvl, 127 + .equ se_jihanki_key, 0 + .equ se_jihanki_tbs, 1 + .equ se_jihanki_exg, 0 + .equ se_jihanki_cmp, 1 + + .section .rodata + .global se_jihanki + .align 2 + +@********************** Track 1 **********************@ + +se_jihanki_1: + .byte KEYSH , se_jihanki_key+0 + .byte TEMPO , 150*se_jihanki_tbs/2 + .byte VOICE , 8 + .byte VOL , 110*se_jihanki_mvl/mxv + .byte BEND , c_v+0 + .byte N01 , Cn4 , v092 + .byte W03 + .byte Cn5 + .byte W03 + .byte W03 + .byte N02 , En3 , v127 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_jihanki: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_jihanki_pri @ Priority + .byte se_jihanki_rev @ Reverb. + + .word se_jihanki_grp + + .word se_jihanki_1 + + .end diff --git a/sound/songs/se_jite_pyoko.s b/sound/songs/se_jite_pyoko.s new file mode 100644 index 0000000000..4d68081acb --- /dev/null +++ b/sound/songs/se_jite_pyoko.s @@ -0,0 +1,45 @@ + .include "MPlayDef.s" + + .equ se_jite_pyoko_grp, voicegroup_869D0F4 + .equ se_jite_pyoko_pri, 4 + .equ se_jite_pyoko_rev, reverb_set+50 + .equ se_jite_pyoko_mvl, 127 + .equ se_jite_pyoko_key, 0 + .equ se_jite_pyoko_tbs, 1 + .equ se_jite_pyoko_exg, 0 + .equ se_jite_pyoko_cmp, 1 + + .section .rodata + .global se_jite_pyoko + .align 2 + +@********************** Track 1 **********************@ + +se_jite_pyoko_1: + .byte KEYSH , se_jite_pyoko_key+0 + .byte TEMPO , 180*se_jite_pyoko_tbs/2 + .byte VOICE , 85 + .byte VOL , 90*se_jite_pyoko_mvl/mxv + .byte BEND , c_v-6 + .byte N02 , Cn3 , v080 + .byte W02 + .byte VOICE , 86 + .byte N03 , Cn4 , v127 + .byte W01 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_jite_pyoko: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_jite_pyoko_pri @ Priority + .byte se_jite_pyoko_rev @ Reverb. + + .word se_jite_pyoko_grp + + .word se_jite_pyoko_1 + + .end diff --git a/sound/songs/se_jitensya.s b/sound/songs/se_jitensya.s new file mode 100644 index 0000000000..3021787bba --- /dev/null +++ b/sound/songs/se_jitensya.s @@ -0,0 +1,40 @@ + .include "MPlayDef.s" + + .equ se_jitensya_grp, voicegroup_869D6F4 + .equ se_jitensya_pri, 4 + .equ se_jitensya_rev, reverb_set+50 + .equ se_jitensya_mvl, 127 + .equ se_jitensya_key, 0 + .equ se_jitensya_tbs, 1 + .equ se_jitensya_exg, 0 + .equ se_jitensya_cmp, 1 + + .section .rodata + .global se_jitensya + .align 2 + +@********************** Track 1 **********************@ + +se_jitensya_1: + .byte KEYSH , se_jitensya_key+0 + .byte TEMPO , 120*se_jitensya_tbs/2 + .byte VOICE , 0 + .byte VOL , 90*se_jitensya_mvl/mxv + .byte N96 , Cn3 , v127 + .byte W96 + .byte FINE + +@******************************************************@ + .align 2 + +se_jitensya: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_jitensya_pri @ Priority + .byte se_jitensya_rev @ Reverb. + + .word se_jitensya_grp + + .word se_jitensya_1 + + .end diff --git a/sound/songs/se_jyuni.s b/sound/songs/se_jyuni.s new file mode 100644 index 0000000000..1522cbba51 --- /dev/null +++ b/sound/songs/se_jyuni.s @@ -0,0 +1,127 @@ + .include "MPlayDef.s" + + .equ se_jyuni_grp, voicegroup_869D0F4 + .equ se_jyuni_pri, 4 + .equ se_jyuni_rev, reverb_set+50 + .equ se_jyuni_mvl, 127 + .equ se_jyuni_key, 0 + .equ se_jyuni_tbs, 1 + .equ se_jyuni_exg, 0 + .equ se_jyuni_cmp, 1 + + .section .rodata + .global se_jyuni + .align 2 + +@********************** Track 1 **********************@ + +se_jyuni_1: + .byte KEYSH , se_jyuni_key+0 + .byte TEMPO , 144*se_jyuni_tbs/2 + .byte VOICE , 48 + .byte PAN , c_v+1 + .byte VOL , 110*se_jyuni_mvl/mxv + .byte N06 , Cn3 , v060 + .byte W06 + .byte N13 , Gn3 + .byte W06 + .byte W01 + .byte VOL , 105*se_jyuni_mvl/mxv + .byte W01 + .byte 100*se_jyuni_mvl/mxv + .byte W01 + .byte 89*se_jyuni_mvl/mxv + .byte W01 + .byte 72*se_jyuni_mvl/mxv + .byte W02 + .byte 55*se_jyuni_mvl/mxv + .byte W01 + .byte 38*se_jyuni_mvl/mxv + .byte W01 + .byte 22*se_jyuni_mvl/mxv + .byte W01 + .byte 110*se_jyuni_mvl/mxv + .byte N12 , Gn3 , v032 + .byte W03 + .byte W01 + .byte VOL , 100*se_jyuni_mvl/mxv + .byte W01 + .byte 91*se_jyuni_mvl/mxv + .byte W01 + .byte 75*se_jyuni_mvl/mxv + .byte W01 + .byte 43*se_jyuni_mvl/mxv + .byte W02 + .byte 24*se_jyuni_mvl/mxv + .byte W01 + .byte 9*se_jyuni_mvl/mxv + .byte W05 + .byte FINE + +@********************** Track 2 **********************@ + +se_jyuni_2: + .byte KEYSH , se_jyuni_key+0 + .byte VOICE , 80 + .byte VOL , 110*se_jyuni_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Cn3 , v060 + .byte W06 + .byte N13 , Gn3 + .byte W06 + .byte W09 + .byte PAN , c_v-48 + .byte N12 , Gn3 , v032 + .byte W03 + .byte W12 + .byte FINE + +@********************** Track 3 **********************@ + +se_jyuni_3: + .byte KEYSH , se_jyuni_key+0 + .byte VOICE , 81 + .byte VOL , 110*se_jyuni_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Gn2 , v060 + .byte W06 + .byte N13 , Cn3 + .byte W06 + .byte W09 + .byte PAN , c_v+48 + .byte N12 , Cn3 , v032 + .byte W03 + .byte W12 + .byte FINE + +@********************** Track 4 **********************@ + +se_jyuni_4: + .byte KEYSH , se_jyuni_key+0 + .byte VOICE , 47 + .byte VOL , 110*se_jyuni_mvl/mxv + .byte N06 , Gn1 , v127 + .byte W06 + .byte N13 , Cn2 + .byte W06 + .byte W12 + .byte W12 + .byte FINE + +@******************************************************@ + .align 2 + +se_jyuni: + .byte 4 @ NumTrks + .byte 0 @ NumBlks + .byte se_jyuni_pri @ Priority + .byte se_jyuni_rev @ Reverb. + + .word se_jyuni_grp + + .word se_jyuni_1 + .word se_jyuni_2 + .word se_jyuni_3 + .word se_jyuni_4 + + .end diff --git a/sound/songs/se_kaidan.s b/sound/songs/se_kaidan.s new file mode 100644 index 0000000000..3ebf3e36ca --- /dev/null +++ b/sound/songs/se_kaidan.s @@ -0,0 +1,61 @@ + .include "MPlayDef.s" + + .equ se_kaidan_grp, voicegroup_869D0F4 + .equ se_kaidan_pri, 5 + .equ se_kaidan_rev, reverb_set+50 + .equ se_kaidan_mvl, 127 + .equ se_kaidan_key, 0 + .equ se_kaidan_tbs, 1 + .equ se_kaidan_exg, 0 + .equ se_kaidan_cmp, 1 + + .section .rodata + .global se_kaidan + .align 2 + +@********************** Track 1 **********************@ + +se_kaidan_1: + .byte KEYSH , se_kaidan_key+0 + .byte TEMPO , 120*se_kaidan_tbs/2 + .byte VOICE , 126 + .byte VOL , 120*se_kaidan_mvl/mxv + .byte N02 , An2 , v068 + .byte W02 + .byte Cn3 , v127 + .byte W01 + .byte W01 + .byte En4 , v068 + .byte W02 + .byte W03 + .byte W03 + .byte An2 + .byte W02 + .byte Cn3 , v100 + .byte W01 + .byte W01 + .byte En4 , v068 + .byte W02 + .byte W03 + .byte W03 + .byte An2 , v032 + .byte W02 + .byte Cn3 , v052 + .byte W01 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_kaidan: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_kaidan_pri @ Priority + .byte se_kaidan_rev @ Reverb. + + .word se_kaidan_grp + + .word se_kaidan_1 + + .end diff --git a/sound/songs/se_kaifuku.s b/sound/songs/se_kaifuku.s new file mode 100644 index 0000000000..b0ccef99e2 --- /dev/null +++ b/sound/songs/se_kaifuku.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ se_kaifuku_grp, voicegroup_869D0F4 + .equ se_kaifuku_pri, 5 + .equ se_kaifuku_rev, reverb_set+50 + .equ se_kaifuku_mvl, 127 + .equ se_kaifuku_key, 0 + .equ se_kaifuku_tbs, 1 + .equ se_kaifuku_exg, 0 + .equ se_kaifuku_cmp, 1 + + .section .rodata + .global se_kaifuku + .align 2 + +@********************** Track 1 **********************@ + +se_kaifuku_1: + .byte KEYSH , se_kaifuku_key+0 + .byte TEMPO , 132*se_kaifuku_tbs/2 + .byte VOICE , 91 + .byte VOL , 100*se_kaifuku_mvl/mxv + .byte BEND , c_v-6 + .byte N02 , Cn3 , v112 + .byte W04 + .byte N02 + .byte W04 + .byte VOICE , 90 + .byte N15 + .byte W16 + .byte FINE + +@******************************************************@ + .align 2 + +se_kaifuku: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_kaifuku_pri @ Priority + .byte se_kaifuku_rev @ Reverb. + + .word se_kaifuku_grp + + .word se_kaifuku_1 + + .end diff --git a/sound/songs/se_ki_gasyan.s b/sound/songs/se_ki_gasyan.s new file mode 100644 index 0000000000..7bf4ebe162 --- /dev/null +++ b/sound/songs/se_ki_gasyan.s @@ -0,0 +1,76 @@ + .include "MPlayDef.s" + + .equ se_ki_gasyan_grp, voicegroup_869D6F4 + .equ se_ki_gasyan_pri, 4 + .equ se_ki_gasyan_rev, reverb_set+50 + .equ se_ki_gasyan_mvl, 127 + .equ se_ki_gasyan_key, 0 + .equ se_ki_gasyan_tbs, 1 + .equ se_ki_gasyan_exg, 0 + .equ se_ki_gasyan_cmp, 1 + + .section .rodata + .global se_ki_gasyan + .align 2 + +@********************** Track 1 **********************@ + +se_ki_gasyan_1: + .byte KEYSH , se_ki_gasyan_key+0 + .byte TEMPO , 150*se_ki_gasyan_tbs/2 + .byte VOICE , 8 + .byte VOL , 100*se_ki_gasyan_mvl/mxv + .byte BEND , c_v+0 + .byte N01 , Cn3 , v127 + .byte W02 + .byte N02 , Gn2 + .byte W04 + .byte N17 , Cn3 + .byte W06 + .byte VOL , 98*se_ki_gasyan_mvl/mxv + .byte W01 + .byte 91*se_ki_gasyan_mvl/mxv + .byte W01 + .byte 81*se_ki_gasyan_mvl/mxv + .byte W02 + .byte 75*se_ki_gasyan_mvl/mxv + .byte W01 + .byte 60*se_ki_gasyan_mvl/mxv + .byte W01 + .byte 42*se_ki_gasyan_mvl/mxv + .byte W01 + .byte 25*se_ki_gasyan_mvl/mxv + .byte W02 + .byte 10*se_ki_gasyan_mvl/mxv + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_ki_gasyan_2: + .byte VOL , 100*se_ki_gasyan_mvl/mxv + .byte KEYSH , se_ki_gasyan_key+0 + .byte VOICE , 4 + .byte N01 , Cn3 , v064 + .byte W02 + .byte N02 + .byte W04 + .byte N02 + .byte W18 + .byte FINE + +@******************************************************@ + .align 2 + +se_ki_gasyan: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_ki_gasyan_pri @ Priority + .byte se_ki_gasyan_rev @ Reverb. + + .word se_ki_gasyan_grp + + .word se_ki_gasyan_1 + .word se_ki_gasyan_2 + + .end diff --git a/sound/songs/se_kon.s b/sound/songs/se_kon.s new file mode 100644 index 0000000000..8f9542daff --- /dev/null +++ b/sound/songs/se_kon.s @@ -0,0 +1,53 @@ + .include "MPlayDef.s" + + .equ se_kon_grp, voicegroup_869D6F4 + .equ se_kon_pri, 4 + .equ se_kon_rev, reverb_set+50 + .equ se_kon_mvl, 127 + .equ se_kon_key, 0 + .equ se_kon_tbs, 1 + .equ se_kon_exg, 0 + .equ se_kon_cmp, 1 + + .section .rodata + .global se_kon + .align 2 + +@********************** Track 1 **********************@ + +se_kon_1: + .byte KEYSH , se_kon_key+0 + .byte TEMPO , 150*se_kon_tbs/2 + .byte VOICE , 16 + .byte VOL , 100*se_kon_mvl/mxv + .byte BEND , c_v+1 + .byte N12 , Fn4 , v112 + .byte W12 + .byte FINE + +@********************** Track 2 **********************@ + +se_kon_2: + .byte KEYSH , se_kon_key+0 + .byte VOICE , 17 + .byte VOL , 100*se_kon_mvl/mxv + .byte BEND , c_v+0 + .byte N09 , Fn4 , v100 + .byte W12 + .byte FINE + +@******************************************************@ + .align 2 + +se_kon: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_kon_pri @ Priority + .byte se_kon_rev @ Reverb. + + .word se_kon_grp + + .word se_kon_1 + .word se_kon_2 + + .end diff --git a/sound/songs/se_kon2.s b/sound/songs/se_kon2.s new file mode 100644 index 0000000000..b2a605702a --- /dev/null +++ b/sound/songs/se_kon2.s @@ -0,0 +1,53 @@ + .include "MPlayDef.s" + + .equ se_kon2_grp, voicegroup_869D6F4 + .equ se_kon2_pri, 4 + .equ se_kon2_rev, reverb_set+50 + .equ se_kon2_mvl, 127 + .equ se_kon2_key, 0 + .equ se_kon2_tbs, 1 + .equ se_kon2_exg, 0 + .equ se_kon2_cmp, 1 + + .section .rodata + .global se_kon2 + .align 2 + +@********************** Track 1 **********************@ + +se_kon2_1: + .byte KEYSH , se_kon2_key+0 + .byte TEMPO , 150*se_kon2_tbs/2 + .byte VOICE , 16 + .byte VOL , 100*se_kon2_mvl/mxv + .byte BEND , c_v+1 + .byte N12 , Fn4 , v100 + .byte W12 + .byte FINE + +@********************** Track 2 **********************@ + +se_kon2_2: + .byte KEYSH , se_kon2_key+0 + .byte VOICE , 17 + .byte VOL , 100*se_kon2_mvl/mxv + .byte BEND , c_v+0 + .byte N09 , Fn4 , v088 + .byte W12 + .byte FINE + +@******************************************************@ + .align 2 + +se_kon2: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_kon2_pri @ Priority + .byte se_kon2_rev @ Reverb. + + .word se_kon2_grp + + .word se_kon2_1 + .word se_kon2_2 + + .end diff --git a/sound/songs/se_kon3.s b/sound/songs/se_kon3.s new file mode 100644 index 0000000000..ad5381683a --- /dev/null +++ b/sound/songs/se_kon3.s @@ -0,0 +1,53 @@ + .include "MPlayDef.s" + + .equ se_kon3_grp, voicegroup_869D6F4 + .equ se_kon3_pri, 4 + .equ se_kon3_rev, reverb_set+50 + .equ se_kon3_mvl, 127 + .equ se_kon3_key, 0 + .equ se_kon3_tbs, 1 + .equ se_kon3_exg, 0 + .equ se_kon3_cmp, 1 + + .section .rodata + .global se_kon3 + .align 2 + +@********************** Track 1 **********************@ + +se_kon3_1: + .byte KEYSH , se_kon3_key+0 + .byte TEMPO , 150*se_kon3_tbs/2 + .byte VOICE , 16 + .byte VOL , 100*se_kon3_mvl/mxv + .byte BEND , c_v+1 + .byte N12 , Fn4 , v088 + .byte W12 + .byte FINE + +@********************** Track 2 **********************@ + +se_kon3_2: + .byte KEYSH , se_kon3_key+0 + .byte VOICE , 17 + .byte VOL , 100*se_kon3_mvl/mxv + .byte BEND , c_v+0 + .byte N09 , Fn4 , v072 + .byte W12 + .byte FINE + +@******************************************************@ + .align 2 + +se_kon3: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_kon3_pri @ Priority + .byte se_kon3_rev @ Reverb. + + .word se_kon3_grp + + .word se_kon3_1 + .word se_kon3_2 + + .end diff --git a/sound/songs/se_kon4.s b/sound/songs/se_kon4.s new file mode 100644 index 0000000000..1b29daea0e --- /dev/null +++ b/sound/songs/se_kon4.s @@ -0,0 +1,53 @@ + .include "MPlayDef.s" + + .equ se_kon4_grp, voicegroup_869D6F4 + .equ se_kon4_pri, 4 + .equ se_kon4_rev, reverb_set+50 + .equ se_kon4_mvl, 127 + .equ se_kon4_key, 0 + .equ se_kon4_tbs, 1 + .equ se_kon4_exg, 0 + .equ se_kon4_cmp, 1 + + .section .rodata + .global se_kon4 + .align 2 + +@********************** Track 1 **********************@ + +se_kon4_1: + .byte KEYSH , se_kon4_key+0 + .byte TEMPO , 150*se_kon4_tbs/2 + .byte VOICE , 16 + .byte VOL , 100*se_kon4_mvl/mxv + .byte BEND , c_v+1 + .byte N12 , Fn4 , v076 + .byte W12 + .byte FINE + +@********************** Track 2 **********************@ + +se_kon4_2: + .byte KEYSH , se_kon4_key+0 + .byte VOICE , 17 + .byte VOL , 100*se_kon4_mvl/mxv + .byte BEND , c_v+0 + .byte N09 , Fn4 , v056 + .byte W12 + .byte FINE + +@******************************************************@ + .align 2 + +se_kon4: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_kon4_pri @ Priority + .byte se_kon4_rev @ Reverb. + + .word se_kon4_grp + + .word se_kon4_1 + .word se_kon4_2 + + .end diff --git a/sound/songs/se_kouka_h.s b/sound/songs/se_kouka_h.s new file mode 100644 index 0000000000..5f1e058016 --- /dev/null +++ b/sound/songs/se_kouka_h.s @@ -0,0 +1,105 @@ + .include "MPlayDef.s" + + .equ se_kouka_h_grp, voicegroup_869D0F4 + .equ se_kouka_h_pri, 5 + .equ se_kouka_h_rev, reverb_set+50 + .equ se_kouka_h_mvl, 127 + .equ se_kouka_h_key, 0 + .equ se_kouka_h_tbs, 1 + .equ se_kouka_h_exg, 0 + .equ se_kouka_h_cmp, 1 + + .section .rodata + .global se_kouka_h + .align 2 + +@********************** Track 1 **********************@ + +se_kouka_h_1: + .byte KEYSH , se_kouka_h_key+0 + .byte TEMPO , 90*se_kouka_h_tbs/2 + .byte VOICE , 125 + .byte VOL , 110*se_kouka_h_mvl/mxv + .byte N03 , Cn3 , v100 + .byte W03 + .byte An2 + .byte W03 + .byte Cn3 + .byte W03 + .byte N06 , Gn3 , v072 + .byte W03 + .byte W03 + .byte N03 , Cn3 , v052 + .byte W03 + .byte N06 , Gn3 , v048 + .byte W03 + .byte W03 + .byte N03 , Cn3 , v028 + .byte W03 + .byte N06 , Gn3 + .byte W03 + .byte W03 + .byte N03 , Cn3 + .byte W03 + .byte N06 , Gn3 + .byte W03 + .byte W03 + .byte N03 , Cn3 , v012 + .byte W03 + .byte N06 , Gn3 + .byte W03 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_kouka_h_2: + .byte KEYSH , se_kouka_h_key+0 + .byte VOICE , 0 + .byte VOL , 110*se_kouka_h_mvl/mxv + .byte N03 , Cn4 , v127 + .byte W03 + .byte Cn3 + .byte W03 + .byte Cn4 + .byte W03 + .byte N06 , Gn3 , v088 + .byte W03 + .byte W03 + .byte N03 , Cn3 , v064 + .byte W03 + .byte N06 , Gn3 + .byte W03 + .byte W03 + .byte N03 , Cn3 , v044 + .byte W03 + .byte N06 , Gn3 + .byte W03 + .byte W03 + .byte N03 , Cn3 , v028 + .byte W03 + .byte N06 , Gn3 + .byte W03 + .byte W03 + .byte N03 , Cn3 , v012 + .byte W03 + .byte N06 , Gn3 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_kouka_h: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_kouka_h_pri @ Priority + .byte se_kouka_h_rev @ Reverb. + + .word se_kouka_h_grp + + .word se_kouka_h_1 + .word se_kouka_h_2 + + .end diff --git a/sound/songs/se_kouka_l.s b/sound/songs/se_kouka_l.s new file mode 100644 index 0000000000..01a06fe23a --- /dev/null +++ b/sound/songs/se_kouka_l.s @@ -0,0 +1,56 @@ + .include "MPlayDef.s" + + .equ se_kouka_l_grp, voicegroup_869D0F4 + .equ se_kouka_l_pri, 5 + .equ se_kouka_l_rev, reverb_set+50 + .equ se_kouka_l_mvl, 127 + .equ se_kouka_l_key, 0 + .equ se_kouka_l_tbs, 1 + .equ se_kouka_l_exg, 0 + .equ se_kouka_l_cmp, 1 + + .section .rodata + .global se_kouka_l + .align 2 + +@********************** Track 1 **********************@ + +se_kouka_l_1: + .byte KEYSH , se_kouka_l_key+0 + .byte TEMPO , 90*se_kouka_l_tbs/2 + .byte VOICE , 127 + .byte VOL , 110*se_kouka_l_mvl/mxv + .byte N03 , Gn2 , v100 + .byte W03 + .byte N06 , As2 + .byte W03 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_kouka_l_2: + .byte KEYSH , se_kouka_l_key+0 + .byte VOICE , 0 + .byte VOL , 110*se_kouka_l_mvl/mxv + .byte N09 , As1 , v127 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_kouka_l: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_kouka_l_pri @ Priority + .byte se_kouka_l_rev @ Reverb. + + .word se_kouka_l_grp + + .word se_kouka_l_1 + .word se_kouka_l_2 + + .end diff --git a/sound/songs/se_kouka_m.s b/sound/songs/se_kouka_m.s new file mode 100644 index 0000000000..fd5527b17d --- /dev/null +++ b/sound/songs/se_kouka_m.s @@ -0,0 +1,82 @@ + .include "MPlayDef.s" + + .equ se_kouka_m_grp, voicegroup_869D0F4 + .equ se_kouka_m_pri, 5 + .equ se_kouka_m_rev, reverb_set+50 + .equ se_kouka_m_mvl, 127 + .equ se_kouka_m_key, 0 + .equ se_kouka_m_tbs, 1 + .equ se_kouka_m_exg, 0 + .equ se_kouka_m_cmp, 1 + + .section .rodata + .global se_kouka_m + .align 2 + +@********************** Track 1 **********************@ + +se_kouka_m_1: + .byte KEYSH , se_kouka_m_key+0 + .byte TEMPO , 90*se_kouka_m_tbs/2 + .byte VOICE , 125 + .byte VOL , 110*se_kouka_m_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , As2 , v100 + .byte W03 + .byte BEND , c_v-33 + .byte N36 , Ds3 + .byte W03 + .byte BEND , c_v+0 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_kouka_m_2: + .byte KEYSH , se_kouka_m_key+0 + .byte VOICE , 0 + .byte VOL , 110*se_kouka_m_mvl/mxv + .byte N03 , Cn3 , v127 + .byte W03 + .byte N18 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_kouka_m: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_kouka_m_pri @ Priority + .byte se_kouka_m_rev @ Reverb. + + .word se_kouka_m_grp + + .word se_kouka_m_1 + .word se_kouka_m_2 + + .end diff --git a/sound/songs/se_mizu.s b/sound/songs/se_mizu.s new file mode 100644 index 0000000000..7986654537 --- /dev/null +++ b/sound/songs/se_mizu.s @@ -0,0 +1,54 @@ + .include "MPlayDef.s" + + .equ se_mizu_grp, voicegroup_869D6F4 + .equ se_mizu_pri, 4 + .equ se_mizu_rev, reverb_set+50 + .equ se_mizu_mvl, 127 + .equ se_mizu_key, 0 + .equ se_mizu_tbs, 1 + .equ se_mizu_exg, 0 + .equ se_mizu_cmp, 1 + + .section .rodata + .global se_mizu + .align 2 + +@********************** Track 1 **********************@ + +se_mizu_1: + .byte KEYSH , se_mizu_key+0 + .byte TEMPO , 150*se_mizu_tbs/2 + .byte VOICE , 23 + .byte VOL , 20*se_mizu_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v-25 + .byte N03 , Gs4 , v112 + .byte W01 + .byte BEND , c_v-9 + .byte W01 + .byte c_v+9 + .byte W04 + .byte W02 + .byte VOL , 17*se_mizu_mvl/mxv + .byte BEND , c_v+18 + .byte N02 , Gs4 , v127 + .byte W01 + .byte BEND , c_v+34 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_mizu: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_mizu_pri @ Priority + .byte se_mizu_rev @ Reverb. + + .word se_mizu_grp + + .word se_mizu_1 + + .end diff --git a/sound/songs/se_moter.s b/sound/songs/se_moter.s new file mode 100644 index 0000000000..6409c4f49e --- /dev/null +++ b/sound/songs/se_moter.s @@ -0,0 +1,49 @@ + .include "MPlayDef.s" + + .equ se_moter_grp, voicegroup_869D6F4 + .equ se_moter_pri, 4 + .equ se_moter_rev, reverb_set+50 + .equ se_moter_mvl, 127 + .equ se_moter_key, 0 + .equ se_moter_tbs, 1 + .equ se_moter_exg, 0 + .equ se_moter_cmp, 1 + + .section .rodata + .global se_moter + .align 2 + +@********************** Track 1 **********************@ + +se_moter_1: + .byte KEYSH , se_moter_key+0 +se_moter_1_B1: + .byte TEMPO , 150*se_moter_tbs/2 + .byte VOICE , 15 + .byte VOL , 90*se_moter_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte TIE , Gn2 , v100 + .byte W96 + .byte W96 + .byte W48 + .byte EOT + .byte GOTO + .word se_moter_1_B1 + .byte W48 + .byte FINE + +@******************************************************@ + .align 2 + +se_moter: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_moter_pri @ Priority + .byte se_moter_rev @ Reverb. + + .word se_moter_grp + + .word se_moter_1 + + .end diff --git a/sound/songs/se_mu_pachi.s b/sound/songs/se_mu_pachi.s new file mode 100644 index 0000000000..4cff2ee8b3 --- /dev/null +++ b/sound/songs/se_mu_pachi.s @@ -0,0 +1,47 @@ + .include "MPlayDef.s" + + .equ se_mu_pachi_grp, voicegroup_869D0F4 + .equ se_mu_pachi_pri, 4 + .equ se_mu_pachi_rev, reverb_set+50 + .equ se_mu_pachi_mvl, 127 + .equ se_mu_pachi_key, 0 + .equ se_mu_pachi_tbs, 1 + .equ se_mu_pachi_exg, 0 + .equ se_mu_pachi_cmp, 1 + + .section .rodata + .global se_mu_pachi + .align 2 + +@********************** Track 1 **********************@ + +se_mu_pachi_1: + .byte KEYSH , se_mu_pachi_key+0 + .byte TEMPO , 150*se_mu_pachi_tbs/2 + .byte VOICE , 122 + .byte VOL , 100*se_mu_pachi_mvl/mxv + .byte N01 , Ds3 , v127 + .byte W02 + .byte VOICE , 126 + .byte N01 , Gs4 + .byte W01 + .byte W03 + .byte W01 + .byte Gs4 , v088 + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_mu_pachi: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_mu_pachi_pri @ Priority + .byte se_mu_pachi_rev @ Reverb. + + .word se_mu_pachi_grp + + .word se_mu_pachi_1 + + .end diff --git a/sound/songs/se_n.s b/sound/songs/se_n.s new file mode 100644 index 0000000000..bb23a81646 --- /dev/null +++ b/sound/songs/se_n.s @@ -0,0 +1,45 @@ + .include "MPlayDef.s" + + .equ se_n_grp, voicegroup_869D6F4 + .equ se_n_pri, 4 + .equ se_n_rev, reverb_set+50 + .equ se_n_mvl, 127 + .equ se_n_key, 0 + .equ se_n_tbs, 1 + .equ se_n_exg, 0 + .equ se_n_cmp, 1 + + .section .rodata + .global se_n + .align 2 + +@********************** Track 1 **********************@ + +se_n_1: + .byte KEYSH , se_n_key+0 + .byte TEMPO , 240*se_n_tbs/2 + .byte VOICE , 127 + .byte BENDR , 12 + .byte VOL , 127*se_n_mvl/mxv + .byte BEND , c_v+0 + .byte N72 , Cn3 , v127 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_n: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_n_pri @ Priority + .byte se_n_rev @ Reverb. + + .word se_n_grp + + .word se_n_1 + + .end diff --git a/sound/songs/se_nageru.s b/sound/songs/se_nageru.s new file mode 100644 index 0000000000..5cf8d3897d --- /dev/null +++ b/sound/songs/se_nageru.s @@ -0,0 +1,64 @@ + .include "MPlayDef.s" + + .equ se_nageru_grp, voicegroup_869D6F4 + .equ se_nageru_pri, 5 + .equ se_nageru_rev, reverb_set+50 + .equ se_nageru_mvl, 127 + .equ se_nageru_key, 0 + .equ se_nageru_tbs, 1 + .equ se_nageru_exg, 0 + .equ se_nageru_cmp, 1 + + .section .rodata + .global se_nageru + .align 2 + +@********************** Track 1 **********************@ + +se_nageru_1: + .byte KEYSH , se_nageru_key+0 + .byte TEMPO , 150*se_nageru_tbs/2 + .byte VOICE , 22 + .byte BENDR , 12 + .byte VOL , 120*se_nageru_mvl/mxv + .byte BEND , c_v+12 + .byte N06 , An2 , v127 + .byte W03 + .byte VOL , 78*se_nageru_mvl/mxv + .byte BEND , c_v+20 + .byte W03 + .byte VOL , 120*se_nageru_mvl/mxv + .byte BEND , c_v+36 + .byte N18 , Cn3 + .byte W02 + .byte BEND , c_v+35 + .byte W03 + .byte c_v+32 + .byte W02 + .byte c_v+26 + .byte W03 + .byte VOL , 102*se_nageru_mvl/mxv + .byte BEND , c_v+18 + .byte W02 + .byte VOL , 68*se_nageru_mvl/mxv + .byte BEND , c_v+7 + .byte W03 + .byte VOL , 34*se_nageru_mvl/mxv + .byte BEND , c_v-9 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_nageru: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_nageru_pri @ Priority + .byte se_nageru_rev @ Reverb. + + .word se_nageru_grp + + .word se_nageru_1 + + .end diff --git a/sound/songs/se_naminori.s b/sound/songs/se_naminori.s new file mode 100644 index 0000000000..fa51103bce --- /dev/null +++ b/sound/songs/se_naminori.s @@ -0,0 +1,94 @@ + .include "MPlayDef.s" + + .equ se_naminori_grp, voicegroup_869D0F4 + .equ se_naminori_pri, 4 + .equ se_naminori_rev, reverb_set+50 + .equ se_naminori_mvl, 127 + .equ se_naminori_key, 0 + .equ se_naminori_tbs, 1 + .equ se_naminori_exg, 0 + .equ se_naminori_cmp, 1 + + .section .rodata + .global se_naminori + .align 2 + +@********************** Track 1 **********************@ + +se_naminori_1: + .byte KEYSH , se_naminori_key+0 + .byte TEMPO , 220*se_naminori_tbs/2 + .byte VOICE , 123 + .byte VOL , 75*se_naminori_mvl/mxv + .byte N03 , Ds3 , v127 + .byte W03 + .byte TIE , Cn4 + .byte W21 + .byte W24 + .byte W18 + .byte VOL , 75*se_naminori_mvl/mxv + .byte W06 + .byte 71*se_naminori_mvl/mxv + .byte W05 + .byte 67*se_naminori_mvl/mxv + .byte W03 + .byte 62*se_naminori_mvl/mxv + .byte W04 + .byte 59*se_naminori_mvl/mxv + .byte W05 + .byte 57*se_naminori_mvl/mxv + .byte W03 + .byte 54*se_naminori_mvl/mxv + .byte W04 + .byte W02 + .byte 50*se_naminori_mvl/mxv + .byte W03 + .byte 49*se_naminori_mvl/mxv + .byte W03 + .byte 44*se_naminori_mvl/mxv + .byte W04 + .byte 41*se_naminori_mvl/mxv + .byte W02 + .byte 38*se_naminori_mvl/mxv + .byte W03 + .byte 35*se_naminori_mvl/mxv + .byte W03 + .byte 32*se_naminori_mvl/mxv + .byte W04 + .byte 28*se_naminori_mvl/mxv + .byte W02 + .byte 24*se_naminori_mvl/mxv + .byte W03 + .byte 21*se_naminori_mvl/mxv + .byte W03 + .byte 18*se_naminori_mvl/mxv + .byte W04 + .byte 14*se_naminori_mvl/mxv + .byte W02 + .byte 11*se_naminori_mvl/mxv + .byte W03 + .byte 9*se_naminori_mvl/mxv + .byte W03 + .byte 6*se_naminori_mvl/mxv + .byte W04 + .byte 3*se_naminori_mvl/mxv + .byte W02 + .byte 1*se_naminori_mvl/mxv + .byte W22 + .byte EOT + .byte FINE + +@******************************************************@ + .align 2 + +se_naminori: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_naminori_pri @ Priority + .byte se_naminori_rev @ Reverb. + + .word se_naminori_grp + + .word se_naminori_1 + + .end diff --git a/sound/songs/se_nigeru.s b/sound/songs/se_nigeru.s new file mode 100644 index 0000000000..2afd4af729 --- /dev/null +++ b/sound/songs/se_nigeru.s @@ -0,0 +1,64 @@ + .include "MPlayDef.s" + + .equ se_nigeru_grp, voicegroup_869D0F4 + .equ se_nigeru_pri, 5 + .equ se_nigeru_rev, reverb_set+50 + .equ se_nigeru_mvl, 127 + .equ se_nigeru_key, 0 + .equ se_nigeru_tbs, 1 + .equ se_nigeru_exg, 0 + .equ se_nigeru_cmp, 1 + + .section .rodata + .global se_nigeru + .align 2 + +@********************** Track 1 **********************@ + +se_nigeru_1: + .byte KEYSH , se_nigeru_key+0 + .byte TEMPO , 150*se_nigeru_tbs/2 + .byte VOICE , 126 + .byte VOL , 90*se_nigeru_mvl/mxv + .byte N03 , Fn4 , v120 + .byte W03 + .byte Gs4 , v112 + .byte W03 + .byte N02 , Fs3 + .byte W03 + .byte N03 , Gs4 , v072 + .byte W03 + .byte N02 , Fs3 , v096 + .byte W03 + .byte N03 , Gs4 , v056 + .byte W03 + .byte N02 , Fs3 , v080 + .byte W03 + .byte N03 , Gs4 , v040 + .byte W03 + .byte N02 , Fs3 , v064 + .byte W03 + .byte N03 , Gs4 , v024 + .byte W03 + .byte N02 , Fs3 , v048 + .byte W03 + .byte N03 , Gs4 , v020 + .byte W03 + .byte Fs3 , v028 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_nigeru: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_nigeru_pri @ Priority + .byte se_nigeru_rev @ Reverb. + + .word se_nigeru_grp + + .word se_nigeru_1 + + .end diff --git a/sound/songs/se_o.s b/sound/songs/se_o.s new file mode 100644 index 0000000000..81407f9e56 --- /dev/null +++ b/sound/songs/se_o.s @@ -0,0 +1,45 @@ + .include "MPlayDef.s" + + .equ se_o_grp, voicegroup_869D6F4 + .equ se_o_pri, 4 + .equ se_o_rev, reverb_set+50 + .equ se_o_mvl, 127 + .equ se_o_key, 0 + .equ se_o_tbs, 1 + .equ se_o_exg, 0 + .equ se_o_cmp, 1 + + .section .rodata + .global se_o + .align 2 + +@********************** Track 1 **********************@ + +se_o_1: + .byte KEYSH , se_o_key+0 + .byte TEMPO , 240*se_o_tbs/2 + .byte VOICE , 126 + .byte BENDR , 12 + .byte VOL , 120*se_o_mvl/mxv + .byte BEND , c_v+0 + .byte N72 , Cn3 , v127 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_o: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_o_pri @ Priority + .byte se_o_rev @ Reverb. + + .word se_o_grp + + .word se_o_1 + + .end diff --git a/sound/songs/se_op_basyu.s b/sound/songs/se_op_basyu.s new file mode 100644 index 0000000000..cd8991f259 --- /dev/null +++ b/sound/songs/se_op_basyu.s @@ -0,0 +1,174 @@ + .include "MPlayDef.s" + + .equ se_op_basyu_grp, voicegroup_869D0F4 + .equ se_op_basyu_pri, 5 + .equ se_op_basyu_rev, reverb_set+50 + .equ se_op_basyu_mvl, 127 + .equ se_op_basyu_key, 0 + .equ se_op_basyu_tbs, 1 + .equ se_op_basyu_exg, 0 + .equ se_op_basyu_cmp, 1 + + .section .rodata + .global se_op_basyu + .align 2 + +@********************** Track 1 **********************@ + +se_op_basyu_1: + .byte KEYSH , se_op_basyu_key+0 + .byte TEMPO , 110*se_op_basyu_tbs/2 + .byte VOICE , 123 + .byte BENDR , 12 + .byte VOL , 100*se_op_basyu_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N60 , Gs2 , v052 + .byte W06 + .byte W06 + .byte BEND , c_v+0 + .byte W02 + .byte c_v+1 + .byte W04 + .byte c_v+2 + .byte W02 + .byte c_v+3 + .byte W02 + .byte c_v+5 + .byte W02 + .byte W01 + .byte c_v+6 + .byte W02 + .byte c_v+8 + .byte W03 + .byte c_v+9 + .byte W02 + .byte c_v+11 + .byte W02 + .byte c_v+13 + .byte W02 + .byte W01 + .byte c_v+15 + .byte W02 + .byte c_v+17 + .byte W03 + .byte c_v+19 + .byte W02 + .byte c_v+24 + .byte W02 + .byte c_v+27 + .byte W02 + .byte W01 + .byte c_v+30 + .byte W02 + .byte c_v+38 + .byte W03 + .byte c_v+43 + .byte W02 + .byte c_v+56 + .byte W02 + .byte c_v+63 + .byte W02 + .byte c_v+0 + .byte N72 , Gs3 + .byte W04 + .byte BEND , c_v+0 + .byte W02 + .byte W01 + .byte c_v+1 + .byte W03 + .byte c_v+2 + .byte W02 + .byte W01 + .byte c_v+3 + .byte W02 + .byte c_v+5 + .byte W03 + .byte c_v+6 + .byte W02 + .byte c_v+8 + .byte W02 + .byte c_v+9 + .byte W02 + .byte VOL , 98*se_op_basyu_mvl/mxv + .byte W01 + .byte BEND , c_v+11 + .byte W01 + .byte VOL , 96*se_op_basyu_mvl/mxv + .byte W01 + .byte BEND , c_v+13 + .byte W01 + .byte VOL , 92*se_op_basyu_mvl/mxv + .byte W02 + .byte BEND , c_v+15 + .byte W01 + .byte VOL , 92*se_op_basyu_mvl/mxv + .byte W01 + .byte BEND , c_v+17 + .byte W01 + .byte VOL , 85*se_op_basyu_mvl/mxv + .byte W01 + .byte BEND , c_v+19 + .byte W02 + .byte VOL , 81*se_op_basyu_mvl/mxv + .byte W01 + .byte BEND , c_v+24 + .byte W01 + .byte VOL , 74*se_op_basyu_mvl/mxv + .byte W01 + .byte BEND , c_v+27 + .byte W01 + .byte VOL , 66*se_op_basyu_mvl/mxv + .byte W02 + .byte BEND , c_v+30 + .byte W01 + .byte VOL , 62*se_op_basyu_mvl/mxv + .byte W01 + .byte BEND , c_v+38 + .byte W01 + .byte VOL , 56*se_op_basyu_mvl/mxv + .byte W01 + .byte BEND , c_v+43 + .byte W02 + .byte VOL , 50*se_op_basyu_mvl/mxv + .byte W01 + .byte BEND , c_v+56 + .byte W01 + .byte VOL , 42*se_op_basyu_mvl/mxv + .byte W01 + .byte BEND , c_v+63 + .byte W01 + .byte VOL , 34*se_op_basyu_mvl/mxv + .byte W02 + .byte W01 + .byte 29*se_op_basyu_mvl/mxv + .byte W02 + .byte 25*se_op_basyu_mvl/mxv + .byte W03 + .byte 23*se_op_basyu_mvl/mxv + .byte W02 + .byte 19*se_op_basyu_mvl/mxv + .byte W02 + .byte 14*se_op_basyu_mvl/mxv + .byte W02 + .byte W01 + .byte 11*se_op_basyu_mvl/mxv + .byte W02 + .byte 5*se_op_basyu_mvl/mxv + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_op_basyu: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_op_basyu_pri @ Priority + .byte se_op_basyu_rev @ Reverb. + + .word se_op_basyu_grp + + .word se_op_basyu_1 + + .end diff --git a/sound/songs/se_pc_login.s b/sound/songs/se_pc_login.s new file mode 100644 index 0000000000..39699516bd --- /dev/null +++ b/sound/songs/se_pc_login.s @@ -0,0 +1,49 @@ + .include "MPlayDef.s" + + .equ se_pc_login_grp, voicegroup_869D0F4 + .equ se_pc_login_pri, 5 + .equ se_pc_login_rev, reverb_set+50 + .equ se_pc_login_mvl, 127 + .equ se_pc_login_key, 0 + .equ se_pc_login_tbs, 1 + .equ se_pc_login_exg, 0 + .equ se_pc_login_cmp, 1 + + .section .rodata + .global se_pc_login + .align 2 + +@********************** Track 1 **********************@ + +se_pc_login_1: + .byte KEYSH , se_pc_login_key+0 + .byte TEMPO , 144*se_pc_login_tbs/2 + .byte VOICE , 4 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 100*se_pc_login_mvl/mxv + .byte BEND , c_v-6 + .byte N08 , Cn4 , v112 + .byte W08 + .byte N04 , Cn4 , v028 + .byte W04 + .byte N08 , Cn4 , v112 + .byte W08 + .byte N04 , Cn4 , v024 + .byte W04 + .byte FINE + +@******************************************************@ + .align 2 + +se_pc_login: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_pc_login_pri @ Priority + .byte se_pc_login_rev @ Reverb. + + .word se_pc_login_grp + + .word se_pc_login_1 + + .end diff --git a/sound/songs/se_pc_off.s b/sound/songs/se_pc_off.s new file mode 100644 index 0000000000..f48d5a71a1 --- /dev/null +++ b/sound/songs/se_pc_off.s @@ -0,0 +1,48 @@ + .include "MPlayDef.s" + + .equ se_pc_off_grp, voicegroup_869D0F4 + .equ se_pc_off_pri, 5 + .equ se_pc_off_rev, reverb_set+50 + .equ se_pc_off_mvl, 127 + .equ se_pc_off_key, 0 + .equ se_pc_off_tbs, 1 + .equ se_pc_off_exg, 0 + .equ se_pc_off_cmp, 1 + + .section .rodata + .global se_pc_off + .align 2 + +@********************** Track 1 **********************@ + +se_pc_off_1: + .byte KEYSH , se_pc_off_key+0 + .byte TEMPO , 120*se_pc_off_tbs/2 + .byte VOICE , 6 + .byte VOL , 100*se_pc_off_mvl/mxv + .byte BEND , c_v-8 + .byte N04 , Cn3 , v112 + .byte W04 + .byte Cn2 + .byte W02 + .byte W02 + .byte Cn1 + .byte W04 + .byte Cn1 , v024 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_pc_off: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_pc_off_pri @ Priority + .byte se_pc_off_rev @ Reverb. + + .word se_pc_off_grp + + .word se_pc_off_1 + + .end diff --git a/sound/songs/se_pc_on.s b/sound/songs/se_pc_on.s new file mode 100644 index 0000000000..57bf86bcbf --- /dev/null +++ b/sound/songs/se_pc_on.s @@ -0,0 +1,74 @@ + .include "MPlayDef.s" + + .equ se_pc_on_grp, voicegroup_869D0F4 + .equ se_pc_on_pri, 5 + .equ se_pc_on_rev, reverb_set+50 + .equ se_pc_on_mvl, 127 + .equ se_pc_on_key, 0 + .equ se_pc_on_tbs, 1 + .equ se_pc_on_exg, 0 + .equ se_pc_on_cmp, 1 + + .section .rodata + .global se_pc_on + .align 2 + +@********************** Track 1 **********************@ + +se_pc_on_1: + .byte KEYSH , se_pc_on_key+0 + .byte TEMPO , 144*se_pc_on_tbs/2 + .byte VOICE , 4 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 100*se_pc_on_mvl/mxv + .byte BEND , c_v-11 + .byte N12 , Cn6 , v112 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte N04 , Cn5 , v080 + .byte W03 + .byte W01 + .byte Cn4 + .byte W02 + .byte W02 + .byte Gn4 + .byte W01 + .byte W03 + .byte Cn4 + .byte W03 + .byte W01 + .byte Cn5 + .byte W02 + .byte W02 + .byte Cn4 + .byte W01 + .byte W03 + .byte Cn6 , v100 + .byte W03 + .byte W01 + .byte Cn4 , v080 + .byte W02 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_pc_on: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_pc_on_pri @ Priority + .byte se_pc_on_rev @ Reverb. + + .word se_pc_on_grp + + .word se_pc_on_1 + + .end diff --git a/sound/songs/se_pin.s b/sound/songs/se_pin.s new file mode 100644 index 0000000000..2cb05015d2 --- /dev/null +++ b/sound/songs/se_pin.s @@ -0,0 +1,50 @@ + .include "MPlayDef.s" + + .equ se_pin_grp, voicegroup_869D0F4 + .equ se_pin_pri, 4 + .equ se_pin_rev, reverb_set+50 + .equ se_pin_mvl, 127 + .equ se_pin_key, 0 + .equ se_pin_tbs, 1 + .equ se_pin_exg, 0 + .equ se_pin_cmp, 1 + + .section .rodata + .global se_pin + .align 2 + +@********************** Track 1 **********************@ + +se_pin_1: + .byte KEYSH , se_pin_key+0 + .byte TEMPO , 100*se_pin_tbs/2 + .byte VOICE , 5 + .byte BENDR , 12 + .byte VOL , 60*se_pin_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , Gn5 , v127 + .byte W03 + .byte Gn6 , v112 + .byte W03 + .byte Gn6 , v024 + .byte W03 + .byte Gn6 , v068 + .byte W03 + .byte Gn6 , v024 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_pin: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_pin_pri @ Priority + .byte se_pin_rev @ Reverb. + + .word se_pin_grp + + .word se_pin_1 + + .end diff --git a/sound/songs/se_pinpon.s b/sound/songs/se_pinpon.s new file mode 100644 index 0000000000..312a33be58 --- /dev/null +++ b/sound/songs/se_pinpon.s @@ -0,0 +1,98 @@ + .include "MPlayDef.s" + + .equ se_pinpon_grp, voicegroup_869D0F4 + .equ se_pinpon_pri, 5 + .equ se_pinpon_rev, reverb_set+50 + .equ se_pinpon_mvl, 127 + .equ se_pinpon_key, 0 + .equ se_pinpon_tbs, 1 + .equ se_pinpon_exg, 0 + .equ se_pinpon_cmp, 1 + + .section .rodata + .global se_pinpon + .align 2 + +@********************** Track 1 **********************@ + +se_pinpon_1: + .byte KEYSH , se_pinpon_key+0 + .byte TEMPO , 150*se_pinpon_tbs/2 + .byte VOICE , 15 + .byte BENDR , 2 + .byte VOL , 90*se_pinpon_mvl/mxv + .byte BEND , c_v+1 + .byte N24 , Ds4 , v092 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte BEND , c_v+15 + .byte N36 , Bn3 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_pinpon_2: + .byte KEYSH , se_pinpon_key+0 + .byte VOICE , 14 + .byte VOL , 90*se_pinpon_mvl/mxv + .byte BEND , c_v+1 + .byte N24 , Ds4 , v072 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte BEND , c_v+15 + .byte N36 , Bn3 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_pinpon: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_pinpon_pri @ Priority + .byte se_pinpon_rev @ Reverb. + + .word se_pinpon_grp + + .word se_pinpon_1 + .word se_pinpon_2 + + .end diff --git a/sound/songs/se_pn_off.s b/sound/songs/se_pn_off.s new file mode 100644 index 0000000000..6c1f24d7e2 --- /dev/null +++ b/sound/songs/se_pn_off.s @@ -0,0 +1,86 @@ + .include "MPlayDef.s" + + .equ se_pn_off_grp, voicegroup_869D0F4 + .equ se_pn_off_pri, 5 + .equ se_pn_off_rev, reverb_set+50 + .equ se_pn_off_mvl, 127 + .equ se_pn_off_key, 0 + .equ se_pn_off_tbs, 1 + .equ se_pn_off_exg, 0 + .equ se_pn_off_cmp, 1 + + .section .rodata + .global se_pn_off + .align 2 + +@********************** Track 1 **********************@ + +se_pn_off_1: + .byte KEYSH , se_pn_off_key+0 + .byte TEMPO , 144*se_pn_off_tbs/2 + .byte VOICE , 4 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 100*se_pn_off_mvl/mxv + .byte BEND , c_v-6 + .byte N02 , Gn4 , v060 + .byte W02 + .byte N01 , Gn4 , v032 + .byte W01 + .byte N02 , Dn4 , v060 + .byte W03 + .byte N01 , Dn4 , v032 + .byte W01 + .byte N02 , Gn4 , v060 + .byte W02 + .byte Gn4 , v032 + .byte W03 + .byte Gn3 , v060 + .byte W02 + .byte Gn3 , v032 + .byte W04 + .byte FINE + +@********************** Track 2 **********************@ + +se_pn_off_2: + .byte KEYSH , se_pn_off_key+0 + .byte VOICE , 14 + .byte VOL , 50*se_pn_off_mvl/mxv + .byte BEND , c_v-2 + .byte W01 + .byte N02 , Gn4 , v060 + .byte W02 + .byte N01 , Gn4 , v032 + .byte W01 + .byte N02 , Dn4 , v060 + .byte W02 + .byte W01 + .byte N01 , Dn4 , v032 + .byte W01 + .byte N02 , Gn4 , v060 + .byte W02 + .byte Gn4 , v032 + .byte W02 + .byte W01 + .byte Gn3 , v060 + .byte W02 + .byte Gn3 , v032 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_pn_off: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_pn_off_pri @ Priority + .byte se_pn_off_rev @ Reverb. + + .word se_pn_off_grp + + .word se_pn_off_1 + .word se_pn_off_2 + + .end diff --git a/sound/songs/se_pn_on.s b/sound/songs/se_pn_on.s new file mode 100644 index 0000000000..d2cf38e65b --- /dev/null +++ b/sound/songs/se_pn_on.s @@ -0,0 +1,86 @@ + .include "MPlayDef.s" + + .equ se_pn_on_grp, voicegroup_869D0F4 + .equ se_pn_on_pri, 5 + .equ se_pn_on_rev, reverb_set+50 + .equ se_pn_on_mvl, 127 + .equ se_pn_on_key, 0 + .equ se_pn_on_tbs, 1 + .equ se_pn_on_exg, 0 + .equ se_pn_on_cmp, 1 + + .section .rodata + .global se_pn_on + .align 2 + +@********************** Track 1 **********************@ + +se_pn_on_1: + .byte KEYSH , se_pn_on_key+0 + .byte TEMPO , 144*se_pn_on_tbs/2 + .byte VOICE , 4 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 100*se_pn_on_mvl/mxv + .byte BEND , c_v-6 + .byte N02 , Cn4 , v060 + .byte W02 + .byte N01 , Cn4 , v032 + .byte W01 + .byte N02 , Gn4 , v060 + .byte W03 + .byte N01 , Gn4 , v032 + .byte W01 + .byte N02 , Cn4 , v060 + .byte W02 + .byte Cn4 , v032 + .byte W03 + .byte Cn5 , v060 + .byte W02 + .byte Cn5 , v032 + .byte W04 + .byte FINE + +@********************** Track 2 **********************@ + +se_pn_on_2: + .byte KEYSH , se_pn_on_key+0 + .byte VOICE , 14 + .byte VOL , 50*se_pn_on_mvl/mxv + .byte BEND , c_v-2 + .byte W01 + .byte N02 , Cn4 , v060 + .byte W02 + .byte N01 , Cn4 , v032 + .byte W01 + .byte N02 , Gn4 , v060 + .byte W02 + .byte W01 + .byte N01 , Gn4 , v032 + .byte W01 + .byte N02 , Cn4 , v060 + .byte W02 + .byte Cn4 , v032 + .byte W02 + .byte W01 + .byte Cn5 , v060 + .byte W02 + .byte Cn5 , v032 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_pn_on: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_pn_on_pri @ Priority + .byte se_pn_on_rev @ Reverb. + + .word se_pn_on_grp + + .word se_pn_on_1 + .word se_pn_on_2 + + .end diff --git a/sound/songs/se_poke_dead.s b/sound/songs/se_poke_dead.s new file mode 100644 index 0000000000..ba9726a589 --- /dev/null +++ b/sound/songs/se_poke_dead.s @@ -0,0 +1,84 @@ + .include "MPlayDef.s" + + .equ se_poke_dead_grp, voicegroup_869D0F4 + .equ se_poke_dead_pri, 5 + .equ se_poke_dead_rev, reverb_set+50 + .equ se_poke_dead_mvl, 127 + .equ se_poke_dead_key, 0 + .equ se_poke_dead_tbs, 1 + .equ se_poke_dead_exg, 0 + .equ se_poke_dead_cmp, 1 + + .section .rodata + .global se_poke_dead + .align 2 + +@********************** Track 1 **********************@ + +se_poke_dead_1: + .byte KEYSH , se_poke_dead_key+0 + .byte TEMPO , 90*se_poke_dead_tbs/2 + .byte VOICE , 90 + .byte VOL , 110*se_poke_dead_mvl/mxv + .byte BEND , c_v+0 + .byte N09 , Cn4 , v100 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_poke_dead_2: + .byte KEYSH , se_poke_dead_key+0 + .byte VOICE , 124 + .byte BENDR , 12 + .byte VOL , 82*se_poke_dead_mvl/mxv + .byte BEND , c_v+0 + .byte N05 , Gs4 , v060 + .byte W03 + .byte VOL , 94*se_poke_dead_mvl/mxv + .byte W03 + .byte 103*se_poke_dead_mvl/mxv + .byte N22 + .byte W03 + .byte VOL , 110*se_poke_dead_mvl/mxv + .byte W03 + .byte W06 + .byte W06 + .byte W06 + .byte FINE + +@********************** Track 3 **********************@ + +se_poke_dead_3: + .byte KEYSH , se_poke_dead_key+0 + .byte VOICE , 0 + .byte VOL , 110*se_poke_dead_mvl/mxv + .byte N06 , Cn3 , v080 + .byte W06 + .byte N18 , Cn3 , v092 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_poke_dead: + .byte 3 @ NumTrks + .byte 0 @ NumBlks + .byte se_poke_dead_pri @ Priority + .byte se_poke_dead_rev @ Reverb. + + .word se_poke_dead_grp + + .word se_poke_dead_1 + .word se_poke_dead_2 + .word se_poke_dead_3 + + .end diff --git a/sound/songs/se_reapoke.s b/sound/songs/se_reapoke.s new file mode 100644 index 0000000000..e16092b0bd --- /dev/null +++ b/sound/songs/se_reapoke.s @@ -0,0 +1,106 @@ + .include "MPlayDef.s" + + .equ se_reapoke_grp, voicegroup_869D6F4 + .equ se_reapoke_pri, 5 + .equ se_reapoke_rev, reverb_set+50 + .equ se_reapoke_mvl, 127 + .equ se_reapoke_key, 0 + .equ se_reapoke_tbs, 1 + .equ se_reapoke_exg, 0 + .equ se_reapoke_cmp, 1 + + .section .rodata + .global se_reapoke + .align 2 + +@********************** Track 1 **********************@ + +se_reapoke_1: + .byte KEYSH , se_reapoke_key+0 + .byte TEMPO , 220*se_reapoke_tbs/2 + .byte VOICE , 46 + .byte VOL , 95*se_reapoke_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte N03 , Cn6 , v127 + .byte W01 + .byte PAN , c_v+2 + .byte BEND , c_v+2 + .byte W01 + .byte c_v+4 + .byte W01 + .byte c_v+1 + .byte N06 , Gn6 + .byte W01 + .byte PAN , c_v+0 + .byte W02 + .byte W03 + .byte BEND , c_v+1 + .byte N03 , Cn6 , v104 + .byte W01 + .byte PAN , c_v-2 + .byte BEND , c_v+2 + .byte W02 + .byte c_v+4 + .byte W01 + .byte c_v+1 + .byte N06 , Gn6 + .byte W01 + .byte PAN , c_v+0 + .byte W04 + .byte W01 + .byte BEND , c_v+1 + .byte N03 , Cs6 , v080 + .byte W01 + .byte PAN , c_v+4 + .byte BEND , c_v+2 + .byte W01 + .byte c_v+4 + .byte W01 + .byte c_v+1 + .byte N06 , Gs6 + .byte W02 + .byte PAN , c_v+0 + .byte W04 + .byte BEND , c_v+1 + .byte N03 , Cs6 , v048 + .byte W02 + .byte PAN , c_v-5 + .byte BEND , c_v+2 + .byte W01 + .byte c_v+4 + .byte W01 + .byte c_v+1 + .byte N06 , Gs6 + .byte W01 + .byte PAN , c_v+0 + .byte W03 + .byte W02 + .byte c_v+4 + .byte BEND , c_v+1 + .byte N03 , Cs6 , v032 + .byte W01 + .byte BEND , c_v+2 + .byte W01 + .byte c_v+4 + .byte W02 + .byte c_v+0 + .byte N06 , Gs6 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_reapoke: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_reapoke_pri @ Priority + .byte se_reapoke_rev @ Reverb. + + .word se_reapoke_grp + + .word se_reapoke_1 + + .end diff --git a/sound/songs/se_regi.s b/sound/songs/se_regi.s new file mode 100644 index 0000000000..bae79679d7 --- /dev/null +++ b/sound/songs/se_regi.s @@ -0,0 +1,63 @@ + .include "MPlayDef.s" + + .equ se_regi_grp, voicegroup_869D0F4 + .equ se_regi_pri, 5 + .equ se_regi_rev, reverb_set+50 + .equ se_regi_mvl, 127 + .equ se_regi_key, 0 + .equ se_regi_tbs, 1 + .equ se_regi_exg, 0 + .equ se_regi_cmp, 1 + + .section .rodata + .global se_regi + .align 2 + +@********************** Track 1 **********************@ + +se_regi_1: + .byte KEYSH , se_regi_key+0 + .byte TEMPO , 128*se_regi_tbs/2 + .byte VOICE , 6 + .byte BENDR , 12 + .byte VOL , 90*se_regi_mvl/mxv + .byte BEND , c_v-1 + .byte N01 , Ds3 , v127 + .byte W02 + .byte N03 , Gs3 , v100 + .byte W05 + .byte N16 , Fn5 , v072 + .byte W05 + .byte W12 + .byte FINE + +@********************** Track 2 **********************@ + +se_regi_2: + .byte KEYSH , se_regi_key+0 + .byte VOICE , 14 + .byte VOL , 90*se_regi_mvl/mxv + .byte BEND , c_v-8 + .byte W02 + .byte N03 , Gs3 , v060 + .byte W05 + .byte N16 , Fn5 + .byte W05 + .byte W12 + .byte FINE + +@******************************************************@ + .align 2 + +se_regi: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_regi_pri @ Priority + .byte se_regi_rev @ Reverb. + + .word se_regi_grp + + .word se_regi_1 + .word se_regi_2 + + .end diff --git a/sound/songs/se_rg_bag1.s b/sound/songs/se_rg_bag1.s new file mode 100644 index 0000000000..60809287fd --- /dev/null +++ b/sound/songs/se_rg_bag1.s @@ -0,0 +1,60 @@ + .include "MPlayDef.s" + + .equ se_rg_bag1_grp, voicegroup_86A0154 + .equ se_rg_bag1_pri, 5 + .equ se_rg_bag1_rev, reverb_set+50 + .equ se_rg_bag1_mvl, 127 + .equ se_rg_bag1_key, 0 + .equ se_rg_bag1_tbs, 1 + .equ se_rg_bag1_exg, 0 + .equ se_rg_bag1_cmp, 1 + + .section .rodata + .global se_rg_bag1 + .align 2 + +@********************** Track 1 **********************@ + +se_rg_bag1_1: + .byte KEYSH , se_rg_bag1_key+0 + .byte TEMPO , 310*se_rg_bag1_tbs/2 + .byte VOICE , 10 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte VOL , 127*se_rg_bag1_mvl/mxv + .byte BEND , c_v+2 + .byte N01 , Cs4 , v072 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_rg_bag1_2: + .byte VOL , 127*se_rg_bag1_mvl/mxv + .byte KEYSH , se_rg_bag1_key+0 + .byte VOICE , 124 + .byte N01 , Cs5 , v072 + .byte W01 + .byte Ds5 , v104 + .byte W02 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_rg_bag1: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_rg_bag1_pri @ Priority + .byte se_rg_bag1_rev @ Reverb. + + .word se_rg_bag1_grp + + .word se_rg_bag1_1 + .word se_rg_bag1_2 + + .end diff --git a/sound/songs/se_rg_bag2.s b/sound/songs/se_rg_bag2.s new file mode 100644 index 0000000000..737d77046b --- /dev/null +++ b/sound/songs/se_rg_bag2.s @@ -0,0 +1,65 @@ + .include "MPlayDef.s" + + .equ se_rg_bag2_grp, voicegroup_86A0154 + .equ se_rg_bag2_pri, 5 + .equ se_rg_bag2_rev, reverb_set+50 + .equ se_rg_bag2_mvl, 127 + .equ se_rg_bag2_key, 0 + .equ se_rg_bag2_tbs, 1 + .equ se_rg_bag2_exg, 0 + .equ se_rg_bag2_cmp, 1 + + .section .rodata + .global se_rg_bag2 + .align 2 + +@********************** Track 1 **********************@ + +se_rg_bag2_1: + .byte KEYSH , se_rg_bag2_key+0 + .byte TEMPO , 422*se_rg_bag2_tbs/2 + .byte VOICE , 80 + .byte VOL , 64*se_rg_bag2_mvl/mxv + .byte BEND , c_v+0 + .byte N02 , Dn4 , v084 + .byte W02 + .byte BEND , c_v+17 + .byte N03 , Fs4 , v080 + .byte W01 + .byte BEND , c_v-40 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_rg_bag2_2: + .byte KEYSH , se_rg_bag2_key+0 + .byte VOICE , 2 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte VOL , 127*se_rg_bag2_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N04 , En3 , v127 + .byte W03 + .byte W01 + .byte VOICE , 2 + .byte N02 , Bn3 + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_rg_bag2: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_rg_bag2_pri @ Priority + .byte se_rg_bag2_rev @ Reverb. + + .word se_rg_bag2_grp + + .word se_rg_bag2_1 + .word se_rg_bag2_2 + + .end diff --git a/sound/songs/se_rg_card1.s b/sound/songs/se_rg_card1.s new file mode 100644 index 0000000000..eac93064eb --- /dev/null +++ b/sound/songs/se_rg_card1.s @@ -0,0 +1,48 @@ + .include "MPlayDef.s" + + .equ se_rg_card1_grp, voicegroup_86A0154 + .equ se_rg_card1_pri, 5 + .equ se_rg_card1_rev, reverb_set+50 + .equ se_rg_card1_mvl, 127 + .equ se_rg_card1_key, 0 + .equ se_rg_card1_tbs, 1 + .equ se_rg_card1_exg, 0 + .equ se_rg_card1_cmp, 1 + + .section .rodata + .global se_rg_card1 + .align 2 + +@********************** Track 1 **********************@ + +se_rg_card1_1: + .byte KEYSH , se_rg_card1_key+0 + .byte TEMPO , 182*se_rg_card1_tbs/2 + .byte VOICE , 125 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v+0 + .byte VOL , 127*se_rg_card1_mvl/mxv + .byte BEND , c_v+2 + .byte N01 , Cn4 , v127 + .byte W03 + .byte VOICE , 124 + .byte N01 , Cn5 , v064 + .byte W21 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_rg_card1: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_rg_card1_pri @ Priority + .byte se_rg_card1_rev @ Reverb. + + .word se_rg_card1_grp + + .word se_rg_card1_1 + + .end diff --git a/sound/songs/se_rg_card2.s b/sound/songs/se_rg_card2.s new file mode 100644 index 0000000000..47420cce45 --- /dev/null +++ b/sound/songs/se_rg_card2.s @@ -0,0 +1,62 @@ + .include "MPlayDef.s" + + .equ se_rg_card2_grp, voicegroup_86A0154 + .equ se_rg_card2_pri, 5 + .equ se_rg_card2_rev, reverb_set+50 + .equ se_rg_card2_mvl, 127 + .equ se_rg_card2_key, 0 + .equ se_rg_card2_tbs, 1 + .equ se_rg_card2_exg, 0 + .equ se_rg_card2_cmp, 1 + + .section .rodata + .global se_rg_card2 + .align 2 + +@********************** Track 1 **********************@ + +se_rg_card2_1: + .byte KEYSH , se_rg_card2_key+0 + .byte TEMPO , 182*se_rg_card2_tbs/2 + .byte VOICE , 125 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v+0 + .byte VOL , 16*se_rg_card2_mvl/mxv + .byte BEND , c_v+2 + .byte N24 , Gn5 , v088 + .byte W03 + .byte VOL , 32*se_rg_card2_mvl/mxv + .byte W03 + .byte 48*se_rg_card2_mvl/mxv + .byte W03 + .byte 64*se_rg_card2_mvl/mxv + .byte W03 + .byte 80*se_rg_card2_mvl/mxv + .byte W03 + .byte 96*se_rg_card2_mvl/mxv + .byte W03 + .byte 112*se_rg_card2_mvl/mxv + .byte W03 + .byte 127*se_rg_card2_mvl/mxv + .byte W03 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_rg_card2: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_rg_card2_pri @ Priority + .byte se_rg_card2_rev @ Reverb. + + .word se_rg_card2_grp + + .word se_rg_card2_1 + + .end diff --git a/sound/songs/se_rg_card3.s b/sound/songs/se_rg_card3.s new file mode 100644 index 0000000000..99d0809df1 --- /dev/null +++ b/sound/songs/se_rg_card3.s @@ -0,0 +1,110 @@ + .include "MPlayDef.s" + + .equ se_rg_card3_grp, voicegroup_86A0154 + .equ se_rg_card3_pri, 5 + .equ se_rg_card3_rev, reverb_set+50 + .equ se_rg_card3_mvl, 127 + .equ se_rg_card3_key, 0 + .equ se_rg_card3_tbs, 1 + .equ se_rg_card3_exg, 0 + .equ se_rg_card3_cmp, 1 + + .section .rodata + .global se_rg_card3 + .align 2 + +@********************** Track 1 **********************@ + +se_rg_card3_1: + .byte KEYSH , se_rg_card3_key+0 + .byte TEMPO , 174*se_rg_card3_tbs/2 + .byte VOICE , 46 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte VOL , 112*se_rg_card3_mvl/mxv + .byte PAN , c_v+0 + .byte VOL , 112*se_rg_card3_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N03 , An5 , v112 + .byte W03 + .byte VOL , 64*se_rg_card3_mvl/mxv + .byte N03 , Bn5 + .byte W03 + .byte VOL , 112*se_rg_card3_mvl/mxv + .byte PAN , c_v-48 + .byte N06 , En6 + .byte W03 + .byte VOL , 64*se_rg_card3_mvl/mxv + .byte W03 + .byte 112*se_rg_card3_mvl/mxv + .byte PAN , c_v+48 + .byte N06 , En6 , v040 + .byte W03 + .byte VOL , 64*se_rg_card3_mvl/mxv + .byte W03 + .byte PAN , c_v-48 + .byte VOL , 97*se_rg_card3_mvl/mxv + .byte N06 , En6 , v032 + .byte W03 + .byte VOL , 64*se_rg_card3_mvl/mxv + .byte W03 + .byte PAN , c_v+48 + .byte VOL , 96*se_rg_card3_mvl/mxv + .byte N06 , En6 , v024 + .byte W03 + .byte VOL , 64*se_rg_card3_mvl/mxv + .byte W03 + .byte PAN , c_v-48 + .byte VOL , 80*se_rg_card3_mvl/mxv + .byte N06 , En6 , v016 + .byte W03 + .byte VOL , 64*se_rg_card3_mvl/mxv + .byte W03 + .byte PAN , c_v+48 + .byte VOL , 80*se_rg_card3_mvl/mxv + .byte N06 , En6 , v012 + .byte W03 + .byte VOL , 48*se_rg_card3_mvl/mxv + .byte W03 + .byte N06 , En6 , v008 + .byte W03 + .byte VOL , 2*se_rg_card3_mvl/mxv + .byte W03 + .byte W24 + .byte W24 + .byte W24 + .byte FINE + +@********************** Track 2 **********************@ + +se_rg_card3_2: + .byte KEYSH , se_rg_card3_key+0 + .byte VOICE , 124 + .byte PAN , c_v+0 + .byte VOL , 64*se_rg_card3_mvl/mxv + .byte N03 , Cn5 , v092 + .byte W06 + .byte Cn5 , v032 + .byte W18 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_rg_card3: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_rg_card3_pri @ Priority + .byte se_rg_card3_rev @ Reverb. + + .word se_rg_card3_grp + + .word se_rg_card3_1 + .word se_rg_card3_2 + + .end diff --git a/sound/songs/se_rg_deomov.s b/sound/songs/se_rg_deomov.s new file mode 100644 index 0000000000..39d5c4b395 --- /dev/null +++ b/sound/songs/se_rg_deomov.s @@ -0,0 +1,204 @@ + .include "MPlayDef.s" + + .equ se_rg_deomov_grp, voicegroup_86A0154 + .equ se_rg_deomov_pri, 5 + .equ se_rg_deomov_rev, reverb_set+50 + .equ se_rg_deomov_mvl, 127 + .equ se_rg_deomov_key, 0 + .equ se_rg_deomov_tbs, 1 + .equ se_rg_deomov_exg, 0 + .equ se_rg_deomov_cmp, 1 + + .section .rodata + .global se_rg_deomov + .align 2 + +@********************** Track 1 **********************@ + +se_rg_deomov_1: + .byte KEYSH , se_rg_deomov_key+0 + .byte TEMPO , 262*se_rg_deomov_tbs/2 + .byte VOICE , 123 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte PAN , c_v+0 + .byte VOL , 40*se_rg_deomov_mvl/mxv + .byte BEND , c_v+2 + .byte N02 , Cn2 , v120 + .byte W08 + .byte N04 , Cn5 + .byte W16 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte FINE + +@********************** Track 2 **********************@ + +se_rg_deomov_2: + .byte KEYSH , se_rg_deomov_key+0 + .byte VOICE , 31 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 80*se_rg_deomov_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-64 + .byte TIE , En4 , v032 + .byte W24 + .byte W04 + .byte BEND , c_v-55 + .byte W02 + .byte c_v-50 + .byte W02 + .byte c_v-39 + .byte W02 + .byte c_v-32 + .byte W02 + .byte c_v-23 + .byte W02 + .byte c_v-18 + .byte W02 + .byte c_v-9 + .byte W02 + .byte c_v-2 + .byte W02 + .byte c_v+16 + .byte W02 + .byte c_v+23 + .byte W02 + .byte c_v+32 + .byte W02 + .byte c_v+39 + .byte W02 + .byte c_v+48 + .byte W02 + .byte c_v+56 + .byte W02 + .byte c_v+63 + .byte W16 + .byte W24 + .byte W24 + .byte VOL , 70*se_rg_deomov_mvl/mxv + .byte W04 + .byte 66*se_rg_deomov_mvl/mxv + .byte W06 + .byte 60*se_rg_deomov_mvl/mxv + .byte W06 + .byte 55*se_rg_deomov_mvl/mxv + .byte W08 + .byte 49*se_rg_deomov_mvl/mxv + .byte W06 + .byte 44*se_rg_deomov_mvl/mxv + .byte W06 + .byte 40*se_rg_deomov_mvl/mxv + .byte W06 + .byte 35*se_rg_deomov_mvl/mxv + .byte W06 + .byte 30*se_rg_deomov_mvl/mxv + .byte W04 + .byte 24*se_rg_deomov_mvl/mxv + .byte W02 + .byte 20*se_rg_deomov_mvl/mxv + .byte W02 + .byte 15*se_rg_deomov_mvl/mxv + .byte W04 + .byte 10*se_rg_deomov_mvl/mxv + .byte W06 + .byte 0*se_rg_deomov_mvl/mxv + .byte W06 + .byte EOT + .byte FINE + +@********************** Track 3 **********************@ + +se_rg_deomov_3: + .byte KEYSH , se_rg_deomov_key+0 + .byte VOICE , 50 + .byte VOL , 69*se_rg_deomov_mvl/mxv + .byte PAN , c_v-64 + .byte W24 + .byte c_v+63 + .byte N01 , Fs4 , v064 + .byte W06 + .byte Gs4 + .byte W03 + .byte PAN , c_v-64 + .byte W07 + .byte N01 , En5 + .byte W05 + .byte Fs5 + .byte W03 + .byte PAN , c_v+63 + .byte W10 + .byte N01 , Dn5 + .byte W03 + .byte Cn5 + .byte W07 + .byte PAN , c_v-64 + .byte W04 + .byte N01 , Fs3 + .byte W03 + .byte Gs3 + .byte W09 + .byte PAN , c_v+63 + .byte W04 + .byte N01 , Bn4 + .byte W04 + .byte Dn5 + .byte W04 + .byte PAN , c_v-64 + .byte W09 + .byte N01 , Fs5 + .byte W09 + .byte Cs5 + .byte W06 + .byte PAN , c_v+63 + .byte W02 + .byte N01 , Cs4 , v036 + .byte W02 + .byte As3 + .byte W08 + .byte Fs3 + .byte W03 + .byte Gs3 + .byte W09 + .byte PAN , c_v-64 + .byte W03 + .byte N01 , Dn5 , v028 + .byte W03 + .byte Cn5 + .byte W06 + .byte Fs4 + .byte W03 + .byte Cn4 + .byte W04 + .byte Gn3 + .byte W05 + .byte PAN , c_v+63 + .byte W06 + .byte N01 , Gn4 , v020 + .byte W02 + .byte An4 + .byte W16 + .byte FINE + +@******************************************************@ + .align 2 + +se_rg_deomov: + .byte 3 @ NumTrks + .byte 0 @ NumBlks + .byte se_rg_deomov_pri @ Priority + .byte se_rg_deomov_rev @ Reverb. + + .word se_rg_deomov_grp + + .word se_rg_deomov_1 + .word se_rg_deomov_2 + .word se_rg_deomov_3 + + .end diff --git a/sound/songs/se_rg_excellent.s b/sound/songs/se_rg_excellent.s new file mode 100644 index 0000000000..5f2de68a1c --- /dev/null +++ b/sound/songs/se_rg_excellent.s @@ -0,0 +1,155 @@ + .include "MPlayDef.s" + + .equ se_rg_excellent_grp, voicegroup_869D6F4 + .equ se_rg_excellent_pri, 5 + .equ se_rg_excellent_rev, reverb_set+50 + .equ se_rg_excellent_mvl, 127 + .equ se_rg_excellent_key, 0 + .equ se_rg_excellent_tbs, 1 + .equ se_rg_excellent_exg, 0 + .equ se_rg_excellent_cmp, 1 + + .section .rodata + .global se_rg_excellent + .align 2 + +@********************** Track 1 **********************@ + +se_rg_excellent_1: + .byte KEYSH , se_rg_excellent_key+0 + .byte TEMPO , 150*se_rg_excellent_tbs/2 + .byte VOICE , 46 + .byte VOL , 110*se_rg_excellent_mvl/mxv + .byte BENDR , 2 + .byte PAN , c_v+0 + .byte BEND , c_v+15 + .byte W01 + .byte N02 , Dn6 , v112 + .byte W02 + .byte Cs6 + .byte W03 + .byte PAN , c_v+8 + .byte N02 , An5 + .byte W02 + .byte Fs5 + .byte W01 + .byte W01 + .byte Dn5 + .byte W02 + .byte PAN , c_v-7 + .byte W01 + .byte N02 , Dn5 , v104 + .byte W02 + .byte Cs5 , v100 + .byte W03 + .byte PAN , c_v+0 + .byte N02 , An4 , v096 + .byte W02 + .byte Fs4 , v092 + .byte W01 + .byte W01 + .byte Dn4 , v088 + .byte W02 + .byte PAN , c_v+15 + .byte W01 + .byte N02 , Dn6 + .byte W02 + .byte Cs6 , v084 + .byte W03 + .byte An5 , v080 + .byte W02 + .byte Fs5 , v076 + .byte W01 + .byte W01 + .byte Dn5 , v072 + .byte W02 + .byte PAN , c_v-16 + .byte W01 + .byte N02 , Dn6 , v068 + .byte W02 + .byte Cs6 , v064 + .byte W03 + .byte An5 , v060 + .byte W02 + .byte Fs5 , v056 + .byte W01 + .byte W01 + .byte Dn5 , v052 + .byte W02 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_rg_excellent_2: + .byte KEYSH , se_rg_excellent_key+0 + .byte VOICE , 53 + .byte BENDR , 2 + .byte VOL , 43*se_rg_excellent_mvl/mxv + .byte BEND , c_v+15 + .byte N02 , An6 , v112 + .byte W02 + .byte Fs6 + .byte W01 + .byte W01 + .byte Dn6 + .byte W02 + .byte W01 + .byte Cs6 + .byte W02 + .byte An5 + .byte W03 + .byte N02 + .byte W02 + .byte Fs5 , v104 + .byte W01 + .byte W01 + .byte Dn5 , v100 + .byte W02 + .byte W01 + .byte Cs5 , v096 + .byte W02 + .byte An4 , v092 + .byte W03 + .byte An6 , v088 + .byte W02 + .byte Fs6 , v084 + .byte W01 + .byte W01 + .byte Dn6 , v080 + .byte W02 + .byte W01 + .byte Cs6 , v076 + .byte W02 + .byte An5 , v072 + .byte W03 + .byte An6 , v068 + .byte W02 + .byte Fs6 , v064 + .byte W01 + .byte W01 + .byte Dn6 , v060 + .byte W02 + .byte W01 + .byte Cs6 , v056 + .byte W02 + .byte An5 , v052 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_rg_excellent: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_rg_excellent_pri @ Priority + .byte se_rg_excellent_rev @ Reverb. + + .word se_rg_excellent_grp + + .word se_rg_excellent_1 + .word se_rg_excellent_2 + + .end diff --git a/sound/songs/se_rg_getting.s b/sound/songs/se_rg_getting.s new file mode 100644 index 0000000000..a16e8ba642 --- /dev/null +++ b/sound/songs/se_rg_getting.s @@ -0,0 +1,69 @@ + .include "MPlayDef.s" + + .equ se_rg_getting_grp, voicegroup_86A0154 + .equ se_rg_getting_pri, 5 + .equ se_rg_getting_rev, reverb_set+50 + .equ se_rg_getting_mvl, 127 + .equ se_rg_getting_key, 0 + .equ se_rg_getting_tbs, 1 + .equ se_rg_getting_exg, 0 + .equ se_rg_getting_cmp, 1 + + .section .rodata + .global se_rg_getting + .align 2 + +@********************** Track 1 **********************@ + +se_rg_getting_1: + .byte KEYSH , se_rg_getting_key+0 + .byte TEMPO , 310*se_rg_getting_tbs/2 + .byte VOICE , 3 + .byte XCMD , xIECV , 8 + .byte xIECL , 8 + .byte VOL , 100*se_rg_getting_mvl/mxv + .byte BEND , c_v+0 + .byte N02 , Bn3 , v120 + .byte W03 + .byte W03 + .byte W02 + .byte En4 , v127 + .byte W01 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_rg_getting_2: + .byte KEYSH , se_rg_getting_key+0 + .byte VOICE , 126 + .byte VOL , 100*se_rg_getting_mvl/mxv + .byte W03 + .byte W01 + .byte N01 , Cn2 , v120 + .byte W02 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_rg_getting: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_rg_getting_pri @ Priority + .byte se_rg_getting_rev @ Reverb. + + .word se_rg_getting_grp + + .word se_rg_getting_1 + .word se_rg_getting_2 + + .end diff --git a/sound/songs/se_rg_help_cl.s b/sound/songs/se_rg_help_cl.s new file mode 100644 index 0000000000..5c53bbd60e --- /dev/null +++ b/sound/songs/se_rg_help_cl.s @@ -0,0 +1,82 @@ + .include "MPlayDef.s" + + .equ se_rg_help_cl_grp, voicegroup_86A0154 + .equ se_rg_help_cl_pri, 5 + .equ se_rg_help_cl_rev, reverb_set+50 + .equ se_rg_help_cl_mvl, 127 + .equ se_rg_help_cl_key, 0 + .equ se_rg_help_cl_tbs, 1 + .equ se_rg_help_cl_exg, 0 + .equ se_rg_help_cl_cmp, 1 + + .section .rodata + .global se_rg_help_cl + .align 2 + +@********************** Track 1 **********************@ + +se_rg_help_cl_1: + .byte KEYSH , se_rg_help_cl_key+0 + .byte TEMPO , 420*se_rg_help_cl_tbs/2 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 95*se_rg_help_cl_mvl/mxv + .byte PAN , c_v+48 + .byte N04 , Dn5 , v092 + .byte W06 + .byte PAN , c_v-64 + .byte N04 , Dn5 , v032 + .byte W06 + .byte PAN , c_v+32 + .byte N04 , An4 , v096 + .byte W06 + .byte PAN , c_v+63 + .byte N04 , An4 , v032 + .byte W06 + .byte PAN , c_v+32 + .byte N04 , Fs4 , v092 + .byte W06 + .byte PAN , c_v-64 + .byte N04 , Fs4 , v032 + .byte W06 + .byte PAN , c_v+16 + .byte N04 , En4 , v092 + .byte W06 + .byte PAN , c_v+63 + .byte N04 , En4 , v032 + .byte W06 + .byte PAN , c_v-39 + .byte N04 , Dn4 , v096 + .byte W06 + .byte PAN , c_v+63 + .byte N04 , Dn4 , v032 + .byte W06 + .byte PAN , c_v-64 + .byte N04 + .byte W06 + .byte PAN , c_v+63 + .byte N04 , Dn4 , v016 + .byte W06 + .byte PAN , c_v-64 + .byte N04 , Dn4 , v012 + .byte W06 + .byte PAN , c_v+63 + .byte N04 , Dn4 , v004 + .byte W18 + .byte FINE + +@******************************************************@ + .align 2 + +se_rg_help_cl: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_rg_help_cl_pri @ Priority + .byte se_rg_help_cl_rev @ Reverb. + + .word se_rg_help_cl_grp + + .word se_rg_help_cl_1 + + .end diff --git a/sound/songs/se_rg_help_ng.s b/sound/songs/se_rg_help_ng.s new file mode 100644 index 0000000000..68d97880d6 --- /dev/null +++ b/sound/songs/se_rg_help_ng.s @@ -0,0 +1,64 @@ + .include "MPlayDef.s" + + .equ se_rg_help_ng_grp, voicegroup_86A0154 + .equ se_rg_help_ng_pri, 5 + .equ se_rg_help_ng_rev, reverb_set+50 + .equ se_rg_help_ng_mvl, 127 + .equ se_rg_help_ng_key, 0 + .equ se_rg_help_ng_tbs, 1 + .equ se_rg_help_ng_exg, 0 + .equ se_rg_help_ng_cmp, 1 + + .section .rodata + .global se_rg_help_ng + .align 2 + +@********************** Track 1 **********************@ + +se_rg_help_ng_1: + .byte KEYSH , se_rg_help_ng_key+0 + .byte TEMPO , 420*se_rg_help_ng_tbs/2 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 96*se_rg_help_ng_mvl/mxv + .byte N04 , Dn4 , v120 + .byte W06 + .byte PAN , c_v-64 + .byte N04 , Dn4 , v032 + .byte W06 + .byte PAN , c_v-1 + .byte N04 , Fs4 , v096 + .byte W06 + .byte PAN , c_v+63 + .byte N04 , Fs4 , v032 + .byte W06 + .byte VOICE , 92 + .byte PAN , c_v+0 + .byte VOL , 125*se_rg_help_ng_mvl/mxv + .byte N04 , An1 , v112 + .byte W10 + .byte MOD , 8 + .byte W02 + .byte N06 , An1 , v088 + .byte W06 + .byte An1 , v024 + .byte W06 + .byte MOD , 0 + .byte FINE + +@******************************************************@ + .align 2 + +se_rg_help_ng: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_rg_help_ng_pri @ Priority + .byte se_rg_help_ng_rev @ Reverb. + + .word se_rg_help_ng_grp + + .word se_rg_help_ng_1 + + .end diff --git a/sound/songs/se_rg_help_op.s b/sound/songs/se_rg_help_op.s new file mode 100644 index 0000000000..d74b24076d --- /dev/null +++ b/sound/songs/se_rg_help_op.s @@ -0,0 +1,82 @@ + .include "MPlayDef.s" + + .equ se_rg_help_op_grp, voicegroup_86A0154 + .equ se_rg_help_op_pri, 5 + .equ se_rg_help_op_rev, reverb_set+50 + .equ se_rg_help_op_mvl, 127 + .equ se_rg_help_op_key, 0 + .equ se_rg_help_op_tbs, 1 + .equ se_rg_help_op_exg, 0 + .equ se_rg_help_op_cmp, 1 + + .section .rodata + .global se_rg_help_op + .align 2 + +@********************** Track 1 **********************@ + +se_rg_help_op_1: + .byte KEYSH , se_rg_help_op_key+0 + .byte TEMPO , 420*se_rg_help_op_tbs/2 + .byte VOICE , 24 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 96*se_rg_help_op_mvl/mxv + .byte PAN , c_v-48 + .byte N04 , Dn4 , v096 + .byte W06 + .byte PAN , c_v-64 + .byte N04 , Dn4 , v032 + .byte W06 + .byte PAN , c_v-32 + .byte N04 , Fs4 , v096 + .byte W06 + .byte PAN , c_v+63 + .byte N04 , Fs4 , v032 + .byte W06 + .byte PAN , c_v-32 + .byte N04 , An4 , v096 + .byte W06 + .byte PAN , c_v-64 + .byte N04 , An4 , v032 + .byte W06 + .byte PAN , c_v-16 + .byte N04 , Cs5 , v096 + .byte W06 + .byte PAN , c_v+63 + .byte N04 , Cs5 , v032 + .byte W06 + .byte PAN , c_v+32 + .byte N04 , Dn5 , v076 + .byte W06 + .byte PAN , c_v-64 + .byte N04 , Dn5 , v032 + .byte W06 + .byte PAN , c_v+63 + .byte N04 , Dn5 , v024 + .byte W06 + .byte PAN , c_v-64 + .byte N04 , Dn5 , v016 + .byte W06 + .byte PAN , c_v+63 + .byte N04 , Dn5 , v008 + .byte W06 + .byte PAN , c_v-64 + .byte N04 , Dn5 , v004 + .byte W18 + .byte FINE + +@******************************************************@ + .align 2 + +se_rg_help_op: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_rg_help_op_pri @ Priority + .byte se_rg_help_op_rev @ Reverb. + + .word se_rg_help_op_grp + + .word se_rg_help_op_1 + + .end diff --git a/sound/songs/se_rg_kiteki.s b/sound/songs/se_rg_kiteki.s new file mode 100644 index 0000000000..88a445a590 --- /dev/null +++ b/sound/songs/se_rg_kiteki.s @@ -0,0 +1,161 @@ + .include "MPlayDef.s" + + .equ se_rg_kiteki_grp, voicegroup_86A0154 + .equ se_rg_kiteki_pri, 5 + .equ se_rg_kiteki_rev, reverb_set+50 + .equ se_rg_kiteki_mvl, 127 + .equ se_rg_kiteki_key, 0 + .equ se_rg_kiteki_tbs, 1 + .equ se_rg_kiteki_exg, 0 + .equ se_rg_kiteki_cmp, 1 + + .section .rodata + .global se_rg_kiteki + .align 2 + +@********************** Track 1 **********************@ + +se_rg_kiteki_1: + .byte KEYSH , se_rg_kiteki_key+0 + .byte TEMPO , 164*se_rg_kiteki_tbs/2 + .byte VOICE , 9 + .byte BENDR , 12 + .byte LFOS , 44 + .byte PAN , c_v+0 + .byte VOL , 96*se_rg_kiteki_mvl/mxv + .byte MOD , 1 + .byte N04 , En2 , v127 + .byte W04 + .byte N10 , En2 , v104 + .byte W20 + .byte W10 + .byte PAN , c_v-64 + .byte TIE , En2 , v127 + .byte W08 + .byte PAN , c_v-48 + .byte W06 + .byte W02 + .byte c_v-32 + .byte W08 + .byte c_v-16 + .byte W08 + .byte c_v+0 + .byte W06 + .byte c_v+16 + .byte W06 + .byte c_v+31 + .byte W06 + .byte c_v+48 + .byte W06 + .byte c_v+63 + .byte W06 + .byte W18 + .byte c_v+47 + .byte W06 + .byte c_v+40 + .byte W06 + .byte c_v+30 + .byte W06 + .byte c_v+10 + .byte W06 + .byte c_v-11 + .byte W06 + .byte c_v-25 + .byte W06 + .byte c_v-34 + .byte W06 + .byte c_v-50 + .byte W06 + .byte c_v-64 + .byte W06 + .byte W18 + .byte VOL , 80*se_rg_kiteki_mvl/mxv + .byte PAN , c_v-52 + .byte W06 + .byte VOL , 72*se_rg_kiteki_mvl/mxv + .byte PAN , c_v-41 + .byte W06 + .byte VOL , 64*se_rg_kiteki_mvl/mxv + .byte PAN , c_v-29 + .byte W06 + .byte VOL , 53*se_rg_kiteki_mvl/mxv + .byte PAN , c_v-18 + .byte W06 + .byte VOL , 48*se_rg_kiteki_mvl/mxv + .byte PAN , c_v+15 + .byte W06 + .byte VOL , 42*se_rg_kiteki_mvl/mxv + .byte PAN , c_v+25 + .byte W06 + .byte VOL , 32*se_rg_kiteki_mvl/mxv + .byte PAN , c_v+40 + .byte W02 + .byte VOL , 24*se_rg_kiteki_mvl/mxv + .byte W04 + .byte 16*se_rg_kiteki_mvl/mxv + .byte PAN , c_v+47 + .byte W04 + .byte VOL , 8*se_rg_kiteki_mvl/mxv + .byte W02 + .byte EOT + .byte VOL , 0*se_rg_kiteki_mvl/mxv + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_rg_kiteki_2: + .byte KEYSH , se_rg_kiteki_key+0 + .byte VOICE , 81 + .byte PAN , c_v+0 + .byte MOD , 15 + .byte VOL , 48*se_rg_kiteki_mvl/mxv + .byte N04 , En1 , v127 + .byte W04 + .byte N10 , En1 , v104 + .byte W20 + .byte W10 + .byte TIE , En1 , v127 + .byte W14 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte W18 + .byte VOL , 42*se_rg_kiteki_mvl/mxv + .byte W06 + .byte 36*se_rg_kiteki_mvl/mxv + .byte W06 + .byte 32*se_rg_kiteki_mvl/mxv + .byte W06 + .byte 26*se_rg_kiteki_mvl/mxv + .byte W06 + .byte 23*se_rg_kiteki_mvl/mxv + .byte W06 + .byte 15*se_rg_kiteki_mvl/mxv + .byte W06 + .byte 13*se_rg_kiteki_mvl/mxv + .byte W06 + .byte 8*se_rg_kiteki_mvl/mxv + .byte W06 + .byte EOT + .byte VOL , 0*se_rg_kiteki_mvl/mxv + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_rg_kiteki: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_rg_kiteki_pri @ Priority + .byte se_rg_kiteki_rev @ Reverb. + + .word se_rg_kiteki_grp + + .word se_rg_kiteki_1 + .word se_rg_kiteki_2 + + .end diff --git a/sound/songs/se_rg_nawamiss.s b/sound/songs/se_rg_nawamiss.s new file mode 100644 index 0000000000..f7b602153a --- /dev/null +++ b/sound/songs/se_rg_nawamiss.s @@ -0,0 +1,55 @@ + .include "MPlayDef.s" + + .equ se_rg_nawamiss_grp, voicegroup_869D0F4 + .equ se_rg_nawamiss_pri, 5 + .equ se_rg_nawamiss_rev, reverb_set+50 + .equ se_rg_nawamiss_mvl, 127 + .equ se_rg_nawamiss_key, 0 + .equ se_rg_nawamiss_tbs, 1 + .equ se_rg_nawamiss_exg, 0 + .equ se_rg_nawamiss_cmp, 1 + + .section .rodata + .global se_rg_nawamiss + .align 2 + +@********************** Track 1 **********************@ + +se_rg_nawamiss_1: + .byte KEYSH , se_rg_nawamiss_key+0 + .byte TEMPO , 240*se_rg_nawamiss_tbs/2 + .byte VOICE , 92 + .byte BENDR , 12 + .byte VOL , 127*se_rg_nawamiss_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , Cn2 , v127 + .byte W03 + .byte Cn2 , v020 + .byte W03 + .byte N18 , Cn2 , v127 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte N09 , Cn2 , v020 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_rg_nawamiss: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_rg_nawamiss_pri @ Priority + .byte se_rg_nawamiss_rev @ Reverb. + + .word se_rg_nawamiss_grp + + .word se_rg_nawamiss_1 + + .end diff --git a/sound/songs/se_rg_shop.s b/sound/songs/se_rg_shop.s new file mode 100644 index 0000000000..276d8c74c6 --- /dev/null +++ b/sound/songs/se_rg_shop.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ se_rg_shop_grp, voicegroup_86A0154 + .equ se_rg_shop_pri, 5 + .equ se_rg_shop_rev, reverb_set+50 + .equ se_rg_shop_mvl, 127 + .equ se_rg_shop_key, 0 + .equ se_rg_shop_tbs, 1 + .equ se_rg_shop_exg, 0 + .equ se_rg_shop_cmp, 1 + + .section .rodata + .global se_rg_shop + .align 2 + +@********************** Track 1 **********************@ + +se_rg_shop_1: + .byte KEYSH , se_rg_shop_key+0 + .byte TEMPO , 124*se_rg_shop_tbs/2 + .byte VOICE , 8 + .byte VOL , 80*se_rg_shop_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N30 , Cn3 , v120 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_rg_shop: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_rg_shop_pri @ Priority + .byte se_rg_shop_rev @ Reverb. + + .word se_rg_shop_grp + + .word se_rg_shop_1 + + .end diff --git a/sound/songs/se_rg_w_door.s b/sound/songs/se_rg_w_door.s new file mode 100644 index 0000000000..1c7e75219c --- /dev/null +++ b/sound/songs/se_rg_w_door.s @@ -0,0 +1,84 @@ + .include "MPlayDef.s" + + .equ se_rg_w_door_grp, voicegroup_86A0154 + .equ se_rg_w_door_pri, 5 + .equ se_rg_w_door_rev, reverb_set+50 + .equ se_rg_w_door_mvl, 127 + .equ se_rg_w_door_key, 0 + .equ se_rg_w_door_tbs, 1 + .equ se_rg_w_door_exg, 0 + .equ se_rg_w_door_cmp, 1 + + .section .rodata + .global se_rg_w_door + .align 2 + +@********************** Track 1 **********************@ + +se_rg_w_door_1: + .byte KEYSH , se_rg_w_door_key+0 + .byte TEMPO , 110*se_rg_w_door_tbs/2 + .byte VOICE , 127 + .byte VOL , 100*se_rg_w_door_mvl/mxv + .byte N03 , Fn2 , v100 + .byte N03 , As2 , v127 + .byte W06 + .byte N08 , Fs3 , v096 + .byte W06 + .byte VOL , 88*se_rg_w_door_mvl/mxv + .byte W03 + .byte 54*se_rg_w_door_mvl/mxv + .byte W03 + .byte 68*se_rg_w_door_mvl/mxv + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_rg_w_door_2: + .byte KEYSH , se_rg_w_door_key+0 + .byte VOICE , 92 + .byte BENDR , 12 + .byte VOL , 43*se_rg_w_door_mvl/mxv + .byte BEND , c_v+0 + .byte W04 + .byte c_v-50 + .byte N10 , Bn5 , v052 + .byte W02 + .byte BEND , c_v-45 + .byte W01 + .byte c_v-23 + .byte W01 + .byte c_v-2 + .byte W01 + .byte c_v+22 + .byte W01 + .byte c_v+28 + .byte W01 + .byte c_v+41 + .byte W01 + .byte VOL , 29*se_rg_w_door_mvl/mxv + .byte BEND , c_v+53 + .byte W01 + .byte c_v+60 + .byte W02 + .byte VOL , 18*se_rg_w_door_mvl/mxv + .byte BEND , c_v+63 + .byte W09 + .byte FINE + +@******************************************************@ + .align 2 + +se_rg_w_door: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_rg_w_door_pri @ Priority + .byte se_rg_w_door_rev @ Reverb. + + .word se_rg_w_door_grp + + .word se_rg_w_door_1 + .word se_rg_w_door_2 + + .end diff --git a/sound/songs/se_ru_bari.s b/sound/songs/se_ru_bari.s new file mode 100644 index 0000000000..c773d3a2f0 --- /dev/null +++ b/sound/songs/se_ru_bari.s @@ -0,0 +1,64 @@ + .include "MPlayDef.s" + + .equ se_ru_bari_grp, voicegroup_869D0F4 + .equ se_ru_bari_pri, 4 + .equ se_ru_bari_rev, reverb_set+50 + .equ se_ru_bari_mvl, 127 + .equ se_ru_bari_key, 0 + .equ se_ru_bari_tbs, 1 + .equ se_ru_bari_exg, 0 + .equ se_ru_bari_cmp, 1 + + .section .rodata + .global se_ru_bari + .align 2 + +@********************** Track 1 **********************@ + +se_ru_bari_1: + .byte KEYSH , se_ru_bari_key+0 + .byte TEMPO , 150*se_ru_bari_tbs/2 + .byte VOICE , 9 + .byte VOL , 100*se_ru_bari_mvl/mxv + .byte BEND , c_v+0 + .byte N01 , Gn5 , v088 + .byte W01 + .byte N01 + .byte W02 + .byte Cn6 , v072 + .byte W03 + .byte Cn6 , v056 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_ru_bari_2: + .byte KEYSH , se_ru_bari_key+0 + .byte VOICE , 122 + .byte VOL , 100*se_ru_bari_mvl/mxv + .byte N01 , Gn2 , v112 + .byte W02 + .byte VOICE , 123 + .byte W01 + .byte N01 , Gs4 , v096 + .byte W03 + .byte Gs4 , v112 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_ru_bari: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_ru_bari_pri @ Priority + .byte se_ru_bari_rev @ Reverb. + + .word se_ru_bari_grp + + .word se_ru_bari_1 + .word se_ru_bari_2 + + .end diff --git a/sound/songs/se_ru_gashin.s b/sound/songs/se_ru_gashin.s new file mode 100644 index 0000000000..a8016c9697 --- /dev/null +++ b/sound/songs/se_ru_gashin.s @@ -0,0 +1,64 @@ + .include "MPlayDef.s" + + .equ se_ru_gashin_grp, voicegroup_869D6F4 + .equ se_ru_gashin_pri, 4 + .equ se_ru_gashin_rev, reverb_set+50 + .equ se_ru_gashin_mvl, 127 + .equ se_ru_gashin_key, 0 + .equ se_ru_gashin_tbs, 1 + .equ se_ru_gashin_exg, 0 + .equ se_ru_gashin_cmp, 1 + + .section .rodata + .global se_ru_gashin + .align 2 + +@********************** Track 1 **********************@ + +se_ru_gashin_1: + .byte KEYSH , se_ru_gashin_key+0 + .byte TEMPO , 150*se_ru_gashin_tbs/2 + .byte VOICE , 3 + .byte VOL , 90*se_ru_gashin_mvl/mxv + .byte BEND , c_v+16 + .byte N03 , En3 , v112 + .byte W01 + .byte BEND , c_v+38 + .byte W01 + .byte c_v+62 + .byte W02 + .byte N12 , En4 + .byte W02 + .byte W06 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_ru_gashin_2: + .byte KEYSH , se_ru_gashin_key+0 + .byte VOICE , 4 + .byte VOL , 90*se_ru_gashin_mvl/mxv + .byte N03 , Gs3 , v096 + .byte W04 + .byte N12 , Gs4 + .byte W02 + .byte W06 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_ru_gashin: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_ru_gashin_pri @ Priority + .byte se_ru_gashin_rev @ Reverb. + + .word se_ru_gashin_grp + + .word se_ru_gashin_1 + .word se_ru_gashin_2 + + .end diff --git a/sound/songs/se_ru_gasyan.s b/sound/songs/se_ru_gasyan.s new file mode 100644 index 0000000000..516ca5e250 --- /dev/null +++ b/sound/songs/se_ru_gasyan.s @@ -0,0 +1,83 @@ + .include "MPlayDef.s" + + .equ se_ru_gasyan_grp, voicegroup_869D6F4 + .equ se_ru_gasyan_pri, 4 + .equ se_ru_gasyan_rev, reverb_set+50 + .equ se_ru_gasyan_mvl, 127 + .equ se_ru_gasyan_key, 0 + .equ se_ru_gasyan_tbs, 1 + .equ se_ru_gasyan_exg, 0 + .equ se_ru_gasyan_cmp, 1 + + .section .rodata + .global se_ru_gasyan + .align 2 + +@********************** Track 1 **********************@ + +se_ru_gasyan_1: + .byte KEYSH , se_ru_gasyan_key+0 + .byte TEMPO , 120*se_ru_gasyan_tbs/2 + .byte VOICE , 3 + .byte VOL , 100*se_ru_gasyan_mvl/mxv + .byte BEND , c_v+0 + .byte N01 , Gn3 , v120 + .byte W03 + .byte W01 + .byte Cn4 + .byte W01 + .byte BEND , c_v+12 + .byte W01 + .byte c_v+22 + .byte W01 + .byte N01 , Cn5 , v112 + .byte W01 + .byte BEND , c_v+35 + .byte W01 + .byte W01 + .byte c_v+46 + .byte W01 + .byte c_v+54 + .byte N01 , Cn4 , v104 + .byte W01 + .byte W01 + .byte BEND , c_v+63 + .byte W01 + .byte N01 , Cn5 , v096 + .byte W01 + .byte FINE + +@********************** Track 2 **********************@ + +se_ru_gasyan_2: + .byte KEYSH , se_ru_gasyan_key+0 + .byte VOICE , 4 + .byte VOL , 100*se_ru_gasyan_mvl/mxv + .byte N01 , Gs3 , v064 + .byte W03 + .byte W01 + .byte N01 + .byte W02 + .byte Fn4 + .byte W03 + .byte Gs3 + .byte W03 + .byte Fn4 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_ru_gasyan: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_ru_gasyan_pri @ Priority + .byte se_ru_gasyan_rev @ Reverb. + + .word se_ru_gasyan_grp + + .word se_ru_gasyan_1 + .word se_ru_gasyan_2 + + .end diff --git a/sound/songs/se_ru_hyuu.s b/sound/songs/se_ru_hyuu.s new file mode 100644 index 0000000000..291e6eb571 --- /dev/null +++ b/sound/songs/se_ru_hyuu.s @@ -0,0 +1,80 @@ + .include "MPlayDef.s" + + .equ se_ru_hyuu_grp, voicegroup_869D6F4 + .equ se_ru_hyuu_pri, 4 + .equ se_ru_hyuu_rev, reverb_set+50 + .equ se_ru_hyuu_mvl, 127 + .equ se_ru_hyuu_key, 0 + .equ se_ru_hyuu_tbs, 1 + .equ se_ru_hyuu_exg, 0 + .equ se_ru_hyuu_cmp, 1 + + .section .rodata + .global se_ru_hyuu + .align 2 + +@********************** Track 1 **********************@ + +se_ru_hyuu_1: + .byte KEYSH , se_ru_hyuu_key+0 + .byte TEMPO , 170*se_ru_hyuu_tbs/2 + .byte VOICE , 22 + .byte VOL , 110*se_ru_hyuu_mvl/mxv + .byte BEND , c_v+60 + .byte N44 , Gn3 , v080 + .byte W03 + .byte BEND , c_v+57 + .byte W03 + .byte c_v+52 + .byte W03 + .byte c_v+43 + .byte W03 + .byte c_v+36 + .byte W03 + .byte c_v+30 + .byte W03 + .byte c_v+22 + .byte W03 + .byte c_v+16 + .byte W03 + .byte VOL , 104*se_ru_hyuu_mvl/mxv + .byte BEND , c_v+11 + .byte W03 + .byte VOL , 90*se_ru_hyuu_mvl/mxv + .byte BEND , c_v+3 + .byte W03 + .byte VOL , 82*se_ru_hyuu_mvl/mxv + .byte BEND , c_v-8 + .byte W03 + .byte VOL , 71*se_ru_hyuu_mvl/mxv + .byte BEND , c_v-16 + .byte W03 + .byte VOL , 58*se_ru_hyuu_mvl/mxv + .byte BEND , c_v-24 + .byte W03 + .byte VOL , 45*se_ru_hyuu_mvl/mxv + .byte BEND , c_v-36 + .byte W03 + .byte VOL , 36*se_ru_hyuu_mvl/mxv + .byte BEND , c_v-50 + .byte W03 + .byte VOL , 11*se_ru_hyuu_mvl/mxv + .byte BEND , c_v-63 + .byte W03 + .byte VOL , 3*se_ru_hyuu_mvl/mxv + .byte FINE + +@******************************************************@ + .align 2 + +se_ru_hyuu: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_ru_hyuu_pri @ Priority + .byte se_ru_hyuu_rev @ Reverb. + + .word se_ru_hyuu_grp + + .word se_ru_hyuu_1 + + .end diff --git a/sound/songs/se_save.s b/sound/songs/se_save.s new file mode 100644 index 0000000000..ba1596224c --- /dev/null +++ b/sound/songs/se_save.s @@ -0,0 +1,78 @@ + .include "MPlayDef.s" + + .equ se_save_grp, voicegroup_869D6F4 + .equ se_save_pri, 5 + .equ se_save_rev, reverb_set+50 + .equ se_save_mvl, 127 + .equ se_save_key, 0 + .equ se_save_tbs, 1 + .equ se_save_exg, 0 + .equ se_save_cmp, 1 + + .section .rodata + .global se_save + .align 2 + +@********************** Track 1 **********************@ + +se_save_1: + .byte KEYSH , se_save_key+0 + .byte TEMPO , 150*se_save_tbs/2 + .byte VOICE , 14 + .byte VOL , 80*se_save_mvl/mxv + .byte BEND , c_v+17 + .byte N03 , En3 , v096 + .byte W03 + .byte Bn2 + .byte W03 + .byte En3 + .byte W03 + .byte Bn3 + .byte W03 + .byte N06 , Cn5 + .byte W06 + .byte N24 , Cn6 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_save_2: + .byte KEYSH , se_save_key+0 + .byte VOICE , 17 + .byte VOL , 80*se_save_mvl/mxv + .byte N03 , En3 , v100 + .byte W03 + .byte Bn2 + .byte W03 + .byte En3 + .byte W03 + .byte Bn3 + .byte W03 + .byte N06 , Cn5 + .byte W06 + .byte N24 , Cn6 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_save: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_save_pri @ Priority + .byte se_save_rev @ Reverb. + + .word se_save_grp + + .word se_save_1 + .word se_save_2 + + .end diff --git a/sound/songs/se_seikai.s b/sound/songs/se_seikai.s new file mode 100644 index 0000000000..c9012e506a --- /dev/null +++ b/sound/songs/se_seikai.s @@ -0,0 +1,44 @@ + .include "MPlayDef.s" + + .equ se_seikai_grp, voicegroup_869D0F4 + .equ se_seikai_pri, 4 + .equ se_seikai_rev, reverb_set+50 + .equ se_seikai_mvl, 127 + .equ se_seikai_key, 0 + .equ se_seikai_tbs, 1 + .equ se_seikai_exg, 0 + .equ se_seikai_cmp, 1 + + .section .rodata + .global se_seikai + .align 2 + +@********************** Track 1 **********************@ + +se_seikai_1: + .byte KEYSH , se_seikai_key+0 + .byte TEMPO , 240*se_seikai_tbs/2 + .byte VOICE , 5 + .byte BENDR , 12 + .byte VOL , 80*se_seikai_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Gn5 , v127 + .byte W06 + .byte N18 , Ds5 + .byte W18 + .byte FINE + +@******************************************************@ + .align 2 + +se_seikai: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_seikai_pri @ Priority + .byte se_seikai_rev @ Reverb. + + .word se_seikai_grp + + .word se_seikai_1 + + .end diff --git a/sound/songs/se_select.s b/sound/songs/se_select.s new file mode 100644 index 0000000000..9d5157aafa --- /dev/null +++ b/sound/songs/se_select.s @@ -0,0 +1,50 @@ + .include "MPlayDef.s" + + .equ se_select_grp, voicegroup_869D0F4 + .equ se_select_pri, 5 + .equ se_select_rev, reverb_set+50 + .equ se_select_mvl, 127 + .equ se_select_key, 0 + .equ se_select_tbs, 1 + .equ se_select_exg, 0 + .equ se_select_cmp, 1 + + .section .rodata + .global se_select + .align 2 + +@********************** Track 1 **********************@ + +se_select_1: + .byte KEYSH , se_select_key+0 + .byte TEMPO , 300*se_select_tbs/2 + .byte VOICE , 87 + .byte VOL , 80*se_select_mvl/mxv + .byte BEND , c_v+13 + .byte N03 , As5 , v068 + .byte W03 + .byte Gn6 , v127 + .byte W03 + .byte Gn6 , v068 + .byte W03 + .byte Gn6 , v127 + .byte W03 + .byte VOICE , 88 + .byte N06 , Gn6 , v068 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_select: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_select_pri @ Priority + .byte se_select_rev @ Reverb. + + .word se_select_grp + + .word se_select_1 + + .end diff --git a/sound/songs/se_suikomu.s b/sound/songs/se_suikomu.s new file mode 100644 index 0000000000..f3ebf50588 --- /dev/null +++ b/sound/songs/se_suikomu.s @@ -0,0 +1,78 @@ + .include "MPlayDef.s" + + .equ se_suikomu_grp, voicegroup_869D0F4 + .equ se_suikomu_pri, 5 + .equ se_suikomu_rev, reverb_set+50 + .equ se_suikomu_mvl, 127 + .equ se_suikomu_key, 0 + .equ se_suikomu_tbs, 1 + .equ se_suikomu_exg, 0 + .equ se_suikomu_cmp, 1 + + .section .rodata + .global se_suikomu + .align 2 + +@********************** Track 1 **********************@ + +se_suikomu_1: + .byte KEYSH , se_suikomu_key+0 + .byte VOICE , 13 + .byte BENDR , 12 + .byte VOL , 12*se_suikomu_mvl/mxv + .byte BEND , c_v+49 + .byte N06 , Gn4 , v080 + .byte W01 + .byte VOL , 44*se_suikomu_mvl/mxv + .byte BEND , c_v+22 + .byte W01 + .byte VOL , 75*se_suikomu_mvl/mxv + .byte BEND , c_v+20 + .byte W01 + .byte VOL , 87*se_suikomu_mvl/mxv + .byte BEND , c_v+33 + .byte W01 + .byte VOL , 100*se_suikomu_mvl/mxv + .byte BEND , c_v+54 + .byte W01 + .byte c_v+63 + .byte W01 + .byte W03 + .byte N03 , Gn4 , v040 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_suikomu_2: + .byte KEYSH , se_suikomu_key+0 + .byte VOICE , 123 + .byte VOL , 59*se_suikomu_mvl/mxv + .byte N06 , Gs4 , v052 + .byte W01 + .byte VOL , 72*se_suikomu_mvl/mxv + .byte W01 + .byte 90*se_suikomu_mvl/mxv + .byte W01 + .byte 100*se_suikomu_mvl/mxv + .byte W03 + .byte W03 + .byte N03 , Gs4 , v024 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_suikomu: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_suikomu_pri @ Priority + .byte se_suikomu_rev @ Reverb. + + .word se_suikomu_grp + + .word se_suikomu_1 + .word se_suikomu_2 + + .end diff --git a/sound/songs/se_t_ame.s b/sound/songs/se_t_ame.s new file mode 100644 index 0000000000..4aa1a26463 --- /dev/null +++ b/sound/songs/se_t_ame.s @@ -0,0 +1,65 @@ + .include "MPlayDef.s" + + .equ se_t_ame_grp, voicegroup_869D6F4 + .equ se_t_ame_pri, 2 + .equ se_t_ame_rev, reverb_set+50 + .equ se_t_ame_mvl, 127 + .equ se_t_ame_key, 0 + .equ se_t_ame_tbs, 1 + .equ se_t_ame_exg, 0 + .equ se_t_ame_cmp, 1 + + .section .rodata + .global se_t_ame + .align 2 + +@********************** Track 1 **********************@ + +se_t_ame_1: + .byte KEYSH , se_t_ame_key+0 + .byte TEMPO , 220*se_t_ame_tbs/2 + .byte VOICE , 36 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 15*se_t_ame_mvl/mxv + .byte BEND , c_v+0 + .byte N24 , Gn3 , v060 + .byte W03 + .byte VOL , 27*se_t_ame_mvl/mxv + .byte W03 + .byte 39*se_t_ame_mvl/mxv + .byte W03 + .byte 44*se_t_ame_mvl/mxv + .byte W03 + .byte 52*se_t_ame_mvl/mxv + .byte W03 + .byte 59*se_t_ame_mvl/mxv + .byte W03 + .byte 68*se_t_ame_mvl/mxv + .byte W03 + .byte 80*se_t_ame_mvl/mxv + .byte W03 +se_t_ame_1_B1: + .byte N60 , Gn3 , v060 + .byte W24 + .byte W24 + .byte W12 + .byte GOTO + .word se_t_ame_1_B1 + .byte W12 + .byte FINE + +@******************************************************@ + .align 2 + +se_t_ame: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_t_ame_pri @ Priority + .byte se_t_ame_rev @ Reverb. + + .word se_t_ame_grp + + .word se_t_ame_1 + + .end diff --git a/sound/songs/se_t_ame_e.s b/sound/songs/se_t_ame_e.s new file mode 100644 index 0000000000..eede8d59cc --- /dev/null +++ b/sound/songs/se_t_ame_e.s @@ -0,0 +1,74 @@ + .include "MPlayDef.s" + + .equ se_t_ame_e_grp, voicegroup_869D6F4 + .equ se_t_ame_e_pri, 2 + .equ se_t_ame_e_rev, reverb_set+50 + .equ se_t_ame_e_mvl, 127 + .equ se_t_ame_e_key, 0 + .equ se_t_ame_e_tbs, 1 + .equ se_t_ame_e_exg, 0 + .equ se_t_ame_e_cmp, 1 + + .section .rodata + .global se_t_ame_e + .align 2 + +@********************** Track 1 **********************@ + +se_t_ame_e_1: + .byte KEYSH , se_t_ame_e_key+0 + .byte TEMPO , 220*se_t_ame_e_tbs/2 + .byte VOICE , 36 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 80*se_t_ame_e_mvl/mxv + .byte BEND , c_v+0 + .byte N24 , Gn3 , v060 + .byte W03 + .byte VOL , 76*se_t_ame_e_mvl/mxv + .byte W03 + .byte 74*se_t_ame_e_mvl/mxv + .byte W03 + .byte 72*se_t_ame_e_mvl/mxv + .byte W03 + .byte 68*se_t_ame_e_mvl/mxv + .byte W03 + .byte 64*se_t_ame_e_mvl/mxv + .byte W03 + .byte 58*se_t_ame_e_mvl/mxv + .byte W03 + .byte 50*se_t_ame_e_mvl/mxv + .byte W03 + .byte 44*se_t_ame_e_mvl/mxv + .byte N24 + .byte W03 + .byte VOL , 38*se_t_ame_e_mvl/mxv + .byte W03 + .byte 34*se_t_ame_e_mvl/mxv + .byte W03 + .byte 27*se_t_ame_e_mvl/mxv + .byte W03 + .byte 20*se_t_ame_e_mvl/mxv + .byte W03 + .byte 15*se_t_ame_e_mvl/mxv + .byte W03 + .byte 10*se_t_ame_e_mvl/mxv + .byte W03 + .byte 6*se_t_ame_e_mvl/mxv + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_t_ame_e: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_t_ame_e_pri @ Priority + .byte se_t_ame_e_rev @ Reverb. + + .word se_t_ame_e_grp + + .word se_t_ame_e_1 + + .end diff --git a/sound/songs/se_t_kami.s b/sound/songs/se_t_kami.s new file mode 100644 index 0000000000..1258977a3c --- /dev/null +++ b/sound/songs/se_t_kami.s @@ -0,0 +1,98 @@ + .include "MPlayDef.s" + + .equ se_t_kami_grp, voicegroup_869D6F4 + .equ se_t_kami_pri, 3 + .equ se_t_kami_rev, reverb_set+50 + .equ se_t_kami_mvl, 127 + .equ se_t_kami_key, 0 + .equ se_t_kami_tbs, 1 + .equ se_t_kami_exg, 0 + .equ se_t_kami_cmp, 1 + + .section .rodata + .global se_t_kami + .align 2 + +@********************** Track 1 **********************@ + +se_t_kami_1: + .byte KEYSH , se_t_kami_key+0 + .byte TEMPO , 220*se_t_kami_tbs/2 + .byte VOICE , 18 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_t_kami_mvl/mxv + .byte BEND , c_v+0 + .byte N09 , En3 , v112 + .byte W03 + .byte BEND , c_v+21 + .byte W03 + .byte c_v+0 + .byte W03 + .byte c_v+6 + .byte N15 , En3 , v120 + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte c_v-9 + .byte W03 + .byte c_v-29 + .byte W06 + .byte c_v+0 + .byte N09 , Gn2 + .byte W06 + .byte BEND , c_v-8 + .byte W03 + .byte c_v-15 + .byte TIE , Gs2 , v112 + .byte W03 + .byte BEND , c_v-4 + .byte W09 + .byte c_v-8 + .byte W03 + .byte W06 + .byte c_v-13 + .byte W03 + .byte c_v-22 + .byte W09 + .byte c_v-32 + .byte W06 + .byte VOL , 102*se_t_kami_mvl/mxv + .byte BEND , c_v-38 + .byte W09 + .byte VOL , 97*se_t_kami_mvl/mxv + .byte W09 + .byte 92*se_t_kami_mvl/mxv + .byte BEND , c_v-45 + .byte W06 + .byte W03 + .byte VOL , 83*se_t_kami_mvl/mxv + .byte W06 + .byte BEND , c_v-52 + .byte W03 + .byte VOL , 72*se_t_kami_mvl/mxv + .byte W09 + .byte 63*se_t_kami_mvl/mxv + .byte W03 + .byte W06 + .byte 57*se_t_kami_mvl/mxv + .byte W06 + .byte 46*se_t_kami_mvl/mxv + .byte W12 + .byte EOT + .byte FINE + +@******************************************************@ + .align 2 + +se_t_kami: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_t_kami_pri @ Priority + .byte se_t_kami_rev @ Reverb. + + .word se_t_kami_grp + + .word se_t_kami_1 + + .end diff --git a/sound/songs/se_t_kami2.s b/sound/songs/se_t_kami2.s new file mode 100644 index 0000000000..5cf58bc22c --- /dev/null +++ b/sound/songs/se_t_kami2.s @@ -0,0 +1,80 @@ + .include "MPlayDef.s" + + .equ se_t_kami2_grp, voicegroup_869D6F4 + .equ se_t_kami2_pri, 3 + .equ se_t_kami2_rev, reverb_set+50 + .equ se_t_kami2_mvl, 127 + .equ se_t_kami2_key, 0 + .equ se_t_kami2_tbs, 1 + .equ se_t_kami2_exg, 0 + .equ se_t_kami2_cmp, 1 + + .section .rodata + .global se_t_kami2 + .align 2 + +@********************** Track 1 **********************@ + +se_t_kami2_1: + .byte KEYSH , se_t_kami2_key+0 + .byte TEMPO , 220*se_t_kami2_tbs/2 + .byte VOICE , 18 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_t_kami2_mvl/mxv + .byte BEND , c_v+35 + .byte TIE , Dn2 , v112 + .byte W03 + .byte BEND , c_v+11 + .byte W03 + .byte c_v+0 + .byte W03 + .byte c_v+6 + .byte W06 + .byte c_v+0 + .byte W09 + .byte W15 + .byte c_v+0 + .byte W06 + .byte c_v-4 + .byte W03 + .byte W06 + .byte c_v-13 + .byte W09 + .byte c_v-18 + .byte W09 + .byte VOL , 102*se_t_kami2_mvl/mxv + .byte BEND , c_v-25 + .byte W09 + .byte VOL , 97*se_t_kami2_mvl/mxv + .byte BEND , c_v-38 + .byte W09 + .byte VOL , 92*se_t_kami2_mvl/mxv + .byte BEND , c_v-45 + .byte W06 + .byte W03 + .byte VOL , 83*se_t_kami2_mvl/mxv + .byte W06 + .byte BEND , c_v-52 + .byte W03 + .byte VOL , 64*se_t_kami2_mvl/mxv + .byte W06 + .byte 47*se_t_kami2_mvl/mxv + .byte W06 + .byte EOT + .byte FINE + +@******************************************************@ + .align 2 + +se_t_kami2: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_t_kami2_pri @ Priority + .byte se_t_kami2_rev @ Reverb. + + .word se_t_kami2_grp + + .word se_t_kami2_1 + + .end diff --git a/sound/songs/se_t_koame.s b/sound/songs/se_t_koame.s new file mode 100644 index 0000000000..18de2dd470 --- /dev/null +++ b/sound/songs/se_t_koame.s @@ -0,0 +1,65 @@ + .include "MPlayDef.s" + + .equ se_t_koame_grp, voicegroup_869D6F4 + .equ se_t_koame_pri, 2 + .equ se_t_koame_rev, reverb_set+50 + .equ se_t_koame_mvl, 127 + .equ se_t_koame_key, 0 + .equ se_t_koame_tbs, 1 + .equ se_t_koame_exg, 0 + .equ se_t_koame_cmp, 1 + + .section .rodata + .global se_t_koame + .align 2 + +@********************** Track 1 **********************@ + +se_t_koame_1: + .byte KEYSH , se_t_koame_key+0 + .byte TEMPO , 220*se_t_koame_tbs/2 + .byte VOICE , 36 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 15*se_t_koame_mvl/mxv + .byte BEND , c_v+0 + .byte N24 , Bn3 , v052 + .byte W03 + .byte VOL , 27*se_t_koame_mvl/mxv + .byte W03 + .byte 39*se_t_koame_mvl/mxv + .byte W03 + .byte 44*se_t_koame_mvl/mxv + .byte W03 + .byte 52*se_t_koame_mvl/mxv + .byte W03 + .byte 59*se_t_koame_mvl/mxv + .byte W03 + .byte 68*se_t_koame_mvl/mxv + .byte W03 + .byte 80*se_t_koame_mvl/mxv + .byte W03 +se_t_koame_1_B1: + .byte N60 , Bn3 , v052 + .byte W24 + .byte W24 + .byte W12 + .byte GOTO + .word se_t_koame_1_B1 + .byte W12 + .byte FINE + +@******************************************************@ + .align 2 + +se_t_koame: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_t_koame_pri @ Priority + .byte se_t_koame_rev @ Reverb. + + .word se_t_koame_grp + + .word se_t_koame_1 + + .end diff --git a/sound/songs/se_t_koame_e.s b/sound/songs/se_t_koame_e.s new file mode 100644 index 0000000000..e66c3566ea --- /dev/null +++ b/sound/songs/se_t_koame_e.s @@ -0,0 +1,74 @@ + .include "MPlayDef.s" + + .equ se_t_koame_e_grp, voicegroup_869D6F4 + .equ se_t_koame_e_pri, 2 + .equ se_t_koame_e_rev, reverb_set+50 + .equ se_t_koame_e_mvl, 127 + .equ se_t_koame_e_key, 0 + .equ se_t_koame_e_tbs, 1 + .equ se_t_koame_e_exg, 0 + .equ se_t_koame_e_cmp, 1 + + .section .rodata + .global se_t_koame_e + .align 2 + +@********************** Track 1 **********************@ + +se_t_koame_e_1: + .byte KEYSH , se_t_koame_e_key+0 + .byte TEMPO , 220*se_t_koame_e_tbs/2 + .byte VOICE , 36 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 80*se_t_koame_e_mvl/mxv + .byte BEND , c_v+0 + .byte N24 , Bn3 , v052 + .byte W03 + .byte VOL , 76*se_t_koame_e_mvl/mxv + .byte W03 + .byte 74*se_t_koame_e_mvl/mxv + .byte W03 + .byte 72*se_t_koame_e_mvl/mxv + .byte W03 + .byte 68*se_t_koame_e_mvl/mxv + .byte W03 + .byte 64*se_t_koame_e_mvl/mxv + .byte W03 + .byte 58*se_t_koame_e_mvl/mxv + .byte W03 + .byte 50*se_t_koame_e_mvl/mxv + .byte W03 + .byte 44*se_t_koame_e_mvl/mxv + .byte N24 + .byte W03 + .byte VOL , 38*se_t_koame_e_mvl/mxv + .byte W03 + .byte 34*se_t_koame_e_mvl/mxv + .byte W03 + .byte 27*se_t_koame_e_mvl/mxv + .byte W03 + .byte 20*se_t_koame_e_mvl/mxv + .byte W03 + .byte 15*se_t_koame_e_mvl/mxv + .byte W03 + .byte 10*se_t_koame_e_mvl/mxv + .byte W03 + .byte 6*se_t_koame_e_mvl/mxv + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_t_koame_e: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_t_koame_e_pri @ Priority + .byte se_t_koame_e_rev @ Reverb. + + .word se_t_koame_e_grp + + .word se_t_koame_e_1 + + .end diff --git a/sound/songs/se_t_ooame.s b/sound/songs/se_t_ooame.s new file mode 100644 index 0000000000..e90030e5e4 --- /dev/null +++ b/sound/songs/se_t_ooame.s @@ -0,0 +1,64 @@ + .include "MPlayDef.s" + + .equ se_t_ooame_grp, voicegroup_869D6F4 + .equ se_t_ooame_pri, 2 + .equ se_t_ooame_rev, reverb_set+50 + .equ se_t_ooame_mvl, 127 + .equ se_t_ooame_key, 0 + .equ se_t_ooame_tbs, 1 + .equ se_t_ooame_exg, 0 + .equ se_t_ooame_cmp, 1 + + .section .rodata + .global se_t_ooame + .align 2 + +@********************** Track 1 **********************@ + +se_t_ooame_1: + .byte KEYSH , se_t_ooame_key+0 + .byte TEMPO , 220*se_t_ooame_tbs/2 + .byte VOICE , 36 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 18*se_t_ooame_mvl/mxv + .byte BEND , c_v+0 + .byte N24 , Cn3 , v060 + .byte W03 + .byte VOL , 33*se_t_ooame_mvl/mxv + .byte W03 + .byte 48*se_t_ooame_mvl/mxv + .byte W03 + .byte 55*se_t_ooame_mvl/mxv + .byte W03 + .byte 65*se_t_ooame_mvl/mxv + .byte W03 + .byte 74*se_t_ooame_mvl/mxv + .byte W03 + .byte 85*se_t_ooame_mvl/mxv + .byte W03 + .byte 100*se_t_ooame_mvl/mxv + .byte W03 +se_t_ooame_1_B1: + .byte N36 , Cn3 , v060 + .byte W24 + .byte W12 + .byte GOTO + .word se_t_ooame_1_B1 + .byte W12 + .byte FINE + +@******************************************************@ + .align 2 + +se_t_ooame: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_t_ooame_pri @ Priority + .byte se_t_ooame_rev @ Reverb. + + .word se_t_ooame_grp + + .word se_t_ooame_1 + + .end diff --git a/sound/songs/se_t_ooame_e.s b/sound/songs/se_t_ooame_e.s new file mode 100644 index 0000000000..35d7ceb815 --- /dev/null +++ b/sound/songs/se_t_ooame_e.s @@ -0,0 +1,74 @@ + .include "MPlayDef.s" + + .equ se_t_ooame_e_grp, voicegroup_869D6F4 + .equ se_t_ooame_e_pri, 2 + .equ se_t_ooame_e_rev, reverb_set+50 + .equ se_t_ooame_e_mvl, 127 + .equ se_t_ooame_e_key, 0 + .equ se_t_ooame_e_tbs, 1 + .equ se_t_ooame_e_exg, 0 + .equ se_t_ooame_e_cmp, 1 + + .section .rodata + .global se_t_ooame_e + .align 2 + +@********************** Track 1 **********************@ + +se_t_ooame_e_1: + .byte KEYSH , se_t_ooame_e_key+0 + .byte TEMPO , 220*se_t_ooame_e_tbs/2 + .byte VOICE , 36 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 100*se_t_ooame_e_mvl/mxv + .byte BEND , c_v+0 + .byte N24 , Cn3 , v060 + .byte W03 + .byte VOL , 96*se_t_ooame_e_mvl/mxv + .byte W03 + .byte 93*se_t_ooame_e_mvl/mxv + .byte W03 + .byte 90*se_t_ooame_e_mvl/mxv + .byte W03 + .byte 85*se_t_ooame_e_mvl/mxv + .byte W03 + .byte 81*se_t_ooame_e_mvl/mxv + .byte W03 + .byte 73*se_t_ooame_e_mvl/mxv + .byte W03 + .byte 62*se_t_ooame_e_mvl/mxv + .byte W03 + .byte 55*se_t_ooame_e_mvl/mxv + .byte N24 + .byte W03 + .byte VOL , 48*se_t_ooame_e_mvl/mxv + .byte W03 + .byte 42*se_t_ooame_e_mvl/mxv + .byte W03 + .byte 33*se_t_ooame_e_mvl/mxv + .byte W03 + .byte 25*se_t_ooame_e_mvl/mxv + .byte W03 + .byte 18*se_t_ooame_e_mvl/mxv + .byte W03 + .byte 12*se_t_ooame_e_mvl/mxv + .byte W03 + .byte 7*se_t_ooame_e_mvl/mxv + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_t_ooame_e: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_t_ooame_e_pri @ Priority + .byte se_t_ooame_e_rev @ Reverb. + + .word se_t_ooame_e_grp + + .word se_t_ooame_e_1 + + .end diff --git a/sound/songs/se_tama.s b/sound/songs/se_tama.s new file mode 100644 index 0000000000..2be220c329 --- /dev/null +++ b/sound/songs/se_tama.s @@ -0,0 +1,246 @@ + .include "MPlayDef.s" + + .equ se_tama_grp, voicegroup_869D6F4 + .equ se_tama_pri, 5 + .equ se_tama_rev, reverb_set+50 + .equ se_tama_mvl, 127 + .equ se_tama_key, 0 + .equ se_tama_tbs, 1 + .equ se_tama_exg, 0 + .equ se_tama_cmp, 1 + + .section .rodata + .global se_tama + .align 2 + +@********************** Track 1 **********************@ + +se_tama_1: + .byte KEYSH , se_tama_key+0 + .byte TEMPO , 110*se_tama_tbs/2 + .byte VOICE , 15 + .byte BENDR , 12 + .byte VOL , 100*se_tama_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+30 + .byte TIE , Cn4 , v100 + .byte W01 + .byte BEND , c_v+24 + .byte W01 + .byte c_v+19 + .byte W01 + .byte c_v+14 + .byte W01 + .byte c_v+8 + .byte W02 + .byte c_v+4 + .byte W01 + .byte c_v+2 + .byte W01 + .byte c_v+0 + .byte W04 + .byte W04 + .byte c_v+1 + .byte W02 + .byte W06 + .byte c_v+1 + .byte W06 + .byte c_v+1 + .byte W06 + .byte c_v+2 + .byte W06 + .byte c_v+3 + .byte W06 + .byte c_v+3 + .byte W06 + .byte c_v+4 + .byte W06 + .byte c_v+4 + .byte W06 + .byte c_v+5 + .byte W06 + .byte c_v+6 + .byte W06 + .byte c_v+8 + .byte W06 + .byte c_v+10 + .byte W06 + .byte c_v+12 + .byte W06 + .byte c_v+14 + .byte W06 + .byte c_v+16 + .byte W06 + .byte c_v+18 + .byte W06 + .byte c_v+20 + .byte W06 + .byte VOL , 98*se_tama_mvl/mxv + .byte BEND , c_v+22 + .byte W03 + .byte VOL , 97*se_tama_mvl/mxv + .byte W03 + .byte BEND , c_v+24 + .byte W01 + .byte VOL , 94*se_tama_mvl/mxv + .byte W03 + .byte 91*se_tama_mvl/mxv + .byte W02 + .byte BEND , c_v+26 + .byte W02 + .byte VOL , 88*se_tama_mvl/mxv + .byte W02 + .byte 85*se_tama_mvl/mxv + .byte W02 + .byte BEND , c_v+28 + .byte W02 + .byte VOL , 80*se_tama_mvl/mxv + .byte W02 + .byte 73*se_tama_mvl/mxv + .byte W02 + .byte BEND , c_v+30 + .byte W01 + .byte VOL , 68*se_tama_mvl/mxv + .byte W02 + .byte 62*se_tama_mvl/mxv + .byte W03 + .byte 55*se_tama_mvl/mxv + .byte BEND , c_v+32 + .byte W02 + .byte VOL , 47*se_tama_mvl/mxv + .byte W02 + .byte 37*se_tama_mvl/mxv + .byte W02 + .byte BEND , c_v+36 + .byte W01 + .byte VOL , 30*se_tama_mvl/mxv + .byte W01 + .byte 20*se_tama_mvl/mxv + .byte W01 + .byte 13*se_tama_mvl/mxv + .byte W01 + .byte 4*se_tama_mvl/mxv + .byte W02 + .byte EOT + .byte FINE + +@********************** Track 2 **********************@ + +se_tama_2: + .byte KEYSH , se_tama_key+0 + .byte VOICE , 25 + .byte VOL , 15*se_tama_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte TIE , Gs2 , v060 + .byte W01 + .byte VOL , 21*se_tama_mvl/mxv + .byte W01 + .byte 33*se_tama_mvl/mxv + .byte W01 + .byte 41*se_tama_mvl/mxv + .byte W01 + .byte 49*se_tama_mvl/mxv + .byte W02 + .byte 55*se_tama_mvl/mxv + .byte W01 + .byte 61*se_tama_mvl/mxv + .byte W01 + .byte 69*se_tama_mvl/mxv + .byte W01 + .byte 76*se_tama_mvl/mxv + .byte W01 + .byte 80*se_tama_mvl/mxv + .byte W02 + .byte 86*se_tama_mvl/mxv + .byte W01 + .byte 90*se_tama_mvl/mxv + .byte W01 + .byte 100*se_tama_mvl/mxv + .byte W04 + .byte W06 + .byte W06 + .byte W06 + .byte W01 + .byte BEND , c_v+1 + .byte W05 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte W02 + .byte c_v+2 + .byte W04 + .byte W01 + .byte c_v+4 + .byte W05 + .byte c_v+5 + .byte W03 + .byte VOL , 97*se_tama_mvl/mxv + .byte BEND , c_v+6 + .byte W03 + .byte VOL , 94*se_tama_mvl/mxv + .byte W01 + .byte BEND , c_v+6 + .byte W01 + .byte VOL , 87*se_tama_mvl/mxv + .byte W02 + .byte 83*se_tama_mvl/mxv + .byte BEND , c_v+8 + .byte W02 + .byte W01 + .byte VOL , 77*se_tama_mvl/mxv + .byte BEND , c_v+10 + .byte W02 + .byte VOL , 66*se_tama_mvl/mxv + .byte BEND , c_v+14 + .byte W03 + .byte VOL , 55*se_tama_mvl/mxv + .byte BEND , c_v+17 + .byte W02 + .byte VOL , 45*se_tama_mvl/mxv + .byte BEND , c_v+24 + .byte W02 + .byte VOL , 33*se_tama_mvl/mxv + .byte BEND , c_v+30 + .byte W02 + .byte c_v+41 + .byte W01 + .byte VOL , 21*se_tama_mvl/mxv + .byte BEND , c_v+46 + .byte W01 + .byte c_v+55 + .byte W01 + .byte VOL , 11*se_tama_mvl/mxv + .byte BEND , c_v+60 + .byte W01 + .byte VOL , 5*se_tama_mvl/mxv + .byte BEND , c_v+63 + .byte W02 + .byte EOT + .byte FINE + +@******************************************************@ + .align 2 + +se_tama: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_tama_pri @ Priority + .byte se_tama_rev @ Reverb. + + .word se_tama_grp + + .word se_tama_1 + .word se_tama_2 + + .end diff --git a/sound/songs/se_tamago.s b/sound/songs/se_tamago.s new file mode 100644 index 0000000000..106c388520 --- /dev/null +++ b/sound/songs/se_tamago.s @@ -0,0 +1,111 @@ + .include "MPlayDef.s" + + .equ se_tamago_grp, voicegroup_869D6F4 + .equ se_tamago_pri, 5 + .equ se_tamago_rev, reverb_set+50 + .equ se_tamago_mvl, 127 + .equ se_tamago_key, 0 + .equ se_tamago_tbs, 1 + .equ se_tamago_exg, 0 + .equ se_tamago_cmp, 1 + + .section .rodata + .global se_tamago + .align 2 + +@********************** Track 1 **********************@ + +se_tamago_1: + .byte KEYSH , se_tamago_key+0 + .byte TEMPO , 150*se_tamago_tbs/2 + .byte VOICE , 21 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 120*se_tamago_mvl/mxv + .byte BEND , c_v+1 + .byte N01 , Bn5 , v127 + .byte W01 + .byte Cn5 , v100 + .byte W01 + .byte VOICE , 18 + .byte N01 , Cn4 , v127 + .byte W02 + .byte VOICE , 36 + .byte N19 , Cn6 , v040 + .byte W02 + .byte VOL , 63*se_tamago_mvl/mxv + .byte BEND , c_v+5 + .byte W01 + .byte VOL , 77*se_tamago_mvl/mxv + .byte BEND , c_v+13 + .byte W01 + .byte VOL , 91*se_tamago_mvl/mxv + .byte BEND , c_v+21 + .byte W01 + .byte VOL , 106*se_tamago_mvl/mxv + .byte BEND , c_v+33 + .byte W01 + .byte VOL , 120*se_tamago_mvl/mxv + .byte W05 + .byte 109*se_tamago_mvl/mxv + .byte W01 + .byte 102*se_tamago_mvl/mxv + .byte W02 + .byte 84*se_tamago_mvl/mxv + .byte W01 + .byte 68*se_tamago_mvl/mxv + .byte W01 + .byte 56*se_tamago_mvl/mxv + .byte W01 + .byte 24*se_tamago_mvl/mxv + .byte W01 + .byte 10*se_tamago_mvl/mxv + .byte W02 + .byte FINE + +@********************** Track 2 **********************@ + +se_tamago_2: + .byte KEYSH , se_tamago_key+0 + .byte VOL , 120*se_tamago_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte W07 + .byte VOICE , 46 + .byte N01 , Cn6 , v100 + .byte W02 + .byte BEND , c_v+4 + .byte N01 , Gn5 , v088 + .byte W03 + .byte BEND , c_v+8 + .byte N01 , Cn6 , v072 + .byte W02 + .byte BEND , c_v+16 + .byte N01 , Gn5 , v056 + .byte W02 + .byte BEND , c_v+23 + .byte N01 , Cn6 , v040 + .byte W03 + .byte BEND , c_v+33 + .byte N01 , Gn5 , v028 + .byte W02 + .byte BEND , c_v+53 + .byte N01 , Cn6 , v012 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_tamago: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_tamago_pri @ Priority + .byte se_tamago_rev @ Reverb. + + .word se_tamago_grp + + .word se_tamago_1 + .word se_tamago_2 + + .end diff --git a/sound/songs/se_tamakoro.s b/sound/songs/se_tamakoro.s new file mode 100644 index 0000000000..e9c4e8fcbf --- /dev/null +++ b/sound/songs/se_tamakoro.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ se_tamakoro_grp, voicegroup_869D6F4 + .equ se_tamakoro_pri, 2 + .equ se_tamakoro_rev, reverb_set+50 + .equ se_tamakoro_mvl, 127 + .equ se_tamakoro_key, 0 + .equ se_tamakoro_tbs, 1 + .equ se_tamakoro_exg, 0 + .equ se_tamakoro_cmp, 1 + + .section .rodata + .global se_tamakoro + .align 2 + +@********************** Track 1 **********************@ + +se_tamakoro_1: + .byte KEYSH , se_tamakoro_key+0 + .byte TEMPO , 150*se_tamakoro_tbs/2 + .byte VOICE , 63 + .byte VOL , 110*se_tamakoro_mvl/mxv + .byte BEND , c_v+0 + .byte TIE , Dn3 , v127 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte W96 + .byte EOT + .byte FINE + +@******************************************************@ + .align 2 + +se_tamakoro: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_tamakoro_pri @ Priority + .byte se_tamakoro_rev @ Reverb. + + .word se_tamakoro_grp + + .word se_tamakoro_1 + + .end diff --git a/sound/songs/se_tamakoro_e.s b/sound/songs/se_tamakoro_e.s new file mode 100644 index 0000000000..2a7e29e429 --- /dev/null +++ b/sound/songs/se_tamakoro_e.s @@ -0,0 +1,75 @@ + .include "MPlayDef.s" + + .equ se_tamakoro_e_grp, voicegroup_869D6F4 + .equ se_tamakoro_e_pri, 2 + .equ se_tamakoro_e_rev, reverb_set+50 + .equ se_tamakoro_e_mvl, 127 + .equ se_tamakoro_e_key, 0 + .equ se_tamakoro_e_tbs, 1 + .equ se_tamakoro_e_exg, 0 + .equ se_tamakoro_e_cmp, 1 + + .section .rodata + .global se_tamakoro_e + .align 2 + +@********************** Track 1 **********************@ + +se_tamakoro_e_1: + .byte KEYSH , se_tamakoro_e_key+0 + .byte TEMPO , 150*se_tamakoro_e_tbs/2 + .byte VOICE , 63 + .byte BENDR , 6 + .byte VOL , 110*se_tamakoro_e_mvl/mxv + .byte BEND , c_v+0 + .byte N72 , Dn3 , v127 + .byte W06 + .byte VOL , 107*se_tamakoro_e_mvl/mxv + .byte BEND , c_v-3 + .byte W06 + .byte VOL , 106*se_tamakoro_e_mvl/mxv + .byte BEND , c_v-5 + .byte W06 + .byte VOL , 104*se_tamakoro_e_mvl/mxv + .byte BEND , c_v-7 + .byte W06 + .byte VOL , 102*se_tamakoro_e_mvl/mxv + .byte BEND , c_v-10 + .byte W06 + .byte VOL , 97*se_tamakoro_e_mvl/mxv + .byte BEND , c_v-12 + .byte W06 + .byte VOL , 90*se_tamakoro_e_mvl/mxv + .byte BEND , c_v-14 + .byte W06 + .byte VOL , 73*se_tamakoro_e_mvl/mxv + .byte BEND , c_v-19 + .byte W06 + .byte VOL , 58*se_tamakoro_e_mvl/mxv + .byte BEND , c_v-24 + .byte W06 + .byte VOL , 40*se_tamakoro_e_mvl/mxv + .byte BEND , c_v-29 + .byte W06 + .byte VOL , 25*se_tamakoro_e_mvl/mxv + .byte BEND , c_v-35 + .byte W06 + .byte VOL , 12*se_tamakoro_e_mvl/mxv + .byte BEND , c_v-46 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_tamakoro_e: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_tamakoro_e_pri @ Priority + .byte se_tamakoro_e_rev @ Reverb. + + .word se_tamakoro_e_grp + + .word se_tamakoro_e_1 + + .end diff --git a/sound/songs/se_tb_kara.s b/sound/songs/se_tb_kara.s new file mode 100644 index 0000000000..7e2203de0a --- /dev/null +++ b/sound/songs/se_tb_kara.s @@ -0,0 +1,43 @@ + .include "MPlayDef.s" + + .equ se_tb_kara_grp, voicegroup_869D0F4 + .equ se_tb_kara_pri, 5 + .equ se_tb_kara_rev, reverb_set+50 + .equ se_tb_kara_mvl, 127 + .equ se_tb_kara_key, 0 + .equ se_tb_kara_tbs, 1 + .equ se_tb_kara_exg, 0 + .equ se_tb_kara_cmp, 1 + + .section .rodata + .global se_tb_kara + .align 2 + +@********************** Track 1 **********************@ + +se_tb_kara_1: + .byte KEYSH , se_tb_kara_key+0 + .byte TEMPO , 150*se_tb_kara_tbs/2 + .byte VOICE , 119 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 100*se_tb_kara_mvl/mxv + .byte BEND , c_v+1 + .byte N02 , Gs4 , v040 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_tb_kara: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_tb_kara_pri @ Priority + .byte se_tb_kara_rev @ Reverb. + + .word se_tb_kara_grp + + .word se_tb_kara_1 + + .end diff --git a/sound/songs/se_tb_kon.s b/sound/songs/se_tb_kon.s new file mode 100644 index 0000000000..3f3b82a7bf --- /dev/null +++ b/sound/songs/se_tb_kon.s @@ -0,0 +1,48 @@ + .include "MPlayDef.s" + + .equ se_tb_kon_grp, voicegroup_869D6F4 + .equ se_tb_kon_pri, 5 + .equ se_tb_kon_rev, reverb_set+50 + .equ se_tb_kon_mvl, 127 + .equ se_tb_kon_key, 0 + .equ se_tb_kon_tbs, 1 + .equ se_tb_kon_exg, 0 + .equ se_tb_kon_cmp, 1 + + .section .rodata + .global se_tb_kon + .align 2 + +@********************** Track 1 **********************@ + +se_tb_kon_1: + .byte KEYSH , se_tb_kon_key+0 + .byte TEMPO , 150*se_tb_kon_tbs/2 + .byte VOICE , 16 + .byte VOL , 110*se_tb_kon_mvl/mxv + .byte BEND , c_v+1 + .byte N03 , Gs4 , v072 + .byte W01 + .byte BEND , c_v-2 + .byte W01 + .byte VOL , 58*se_tb_kon_mvl/mxv + .byte BEND , c_v-10 + .byte W01 + .byte VOL , 28*se_tb_kon_mvl/mxv + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_tb_kon: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_tb_kon_pri @ Priority + .byte se_tb_kon_rev @ Reverb. + + .word se_tb_kon_grp + + .word se_tb_kon_1 + + .end diff --git a/sound/songs/se_tb_start.s b/sound/songs/se_tb_start.s new file mode 100644 index 0000000000..809421985d --- /dev/null +++ b/sound/songs/se_tb_start.s @@ -0,0 +1,75 @@ + .include "MPlayDef.s" + + .equ se_tb_start_grp, voicegroup_869D6F4 + .equ se_tb_start_pri, 5 + .equ se_tb_start_rev, reverb_set+50 + .equ se_tb_start_mvl, 127 + .equ se_tb_start_key, 0 + .equ se_tb_start_tbs, 1 + .equ se_tb_start_exg, 0 + .equ se_tb_start_cmp, 1 + + .section .rodata + .global se_tb_start + .align 2 + +@********************** Track 1 **********************@ + +se_tb_start_1: + .byte KEYSH , se_tb_start_key+0 + .byte TEMPO , 150*se_tb_start_tbs/2 + .byte VOICE , 36 + .byte BENDR , 12 + .byte PAN , c_v-32 + .byte VOL , 16*se_tb_start_mvl/mxv + .byte BEND , c_v+1 + .byte N09 , Gn5 , v032 + .byte W01 + .byte VOL , 63*se_tb_start_mvl/mxv + .byte W01 + .byte 98*se_tb_start_mvl/mxv + .byte W01 + .byte 110*se_tb_start_mvl/mxv + .byte W01 + .byte 99*se_tb_start_mvl/mxv + .byte BEND , c_v+5 + .byte W02 + .byte VOL , 63*se_tb_start_mvl/mxv + .byte BEND , c_v+13 + .byte W01 + .byte VOL , 22*se_tb_start_mvl/mxv + .byte BEND , c_v+21 + .byte W01 + .byte VOL , 9*se_tb_start_mvl/mxv + .byte BEND , c_v+33 + .byte W04 + .byte FINE + +@********************** Track 2 **********************@ + +se_tb_start_2: + .byte KEYSH , se_tb_start_key+0 + .byte VOICE , 71 + .byte PAN , c_v+32 + .byte VOL , 110*se_tb_start_mvl/mxv + .byte BEND , c_v+1 + .byte N09 , Fs4 , v060 + .byte W06 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_tb_start: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_tb_start_pri @ Priority + .byte se_tb_start_rev @ Reverb. + + .word se_tb_start_grp + + .word se_tb_start_1 + .word se_tb_start_2 + + .end diff --git a/sound/songs/se_tk_kasya.s b/sound/songs/se_tk_kasya.s new file mode 100644 index 0000000000..77d3e134d0 --- /dev/null +++ b/sound/songs/se_tk_kasya.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ se_tk_kasya_grp, voicegroup_869D0F4 + .equ se_tk_kasya_pri, 4 + .equ se_tk_kasya_rev, reverb_set+50 + .equ se_tk_kasya_mvl, 127 + .equ se_tk_kasya_key, 0 + .equ se_tk_kasya_tbs, 1 + .equ se_tk_kasya_exg, 0 + .equ se_tk_kasya_cmp, 1 + + .section .rodata + .global se_tk_kasya + .align 2 + +@********************** Track 1 **********************@ + +se_tk_kasya_1: + .byte KEYSH , se_tk_kasya_key+0 + .byte TEMPO , 150*se_tk_kasya_tbs/2 + .byte VOICE , 126 + .byte VOL , 110*se_tk_kasya_mvl/mxv + .byte N01 , Gs3 , v127 + .byte W01 + .byte Cn4 , v068 + .byte W02 + .byte W02 + .byte N03 , Gs4 , v127 + .byte W01 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_tk_kasya: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_tk_kasya_pri @ Priority + .byte se_tk_kasya_rev @ Reverb. + + .word se_tk_kasya_grp + + .word se_tk_kasya_1 + + .end diff --git a/sound/songs/se_tk_warpin.s b/sound/songs/se_tk_warpin.s new file mode 100644 index 0000000000..1b768a770d --- /dev/null +++ b/sound/songs/se_tk_warpin.s @@ -0,0 +1,56 @@ + .include "MPlayDef.s" + + .equ se_tk_warpin_grp, voicegroup_869D0F4 + .equ se_tk_warpin_pri, 4 + .equ se_tk_warpin_rev, reverb_set+50 + .equ se_tk_warpin_mvl, 127 + .equ se_tk_warpin_key, 0 + .equ se_tk_warpin_tbs, 1 + .equ se_tk_warpin_exg, 0 + .equ se_tk_warpin_cmp, 1 + + .section .rodata + .global se_tk_warpin + .align 2 + +@********************** Track 1 **********************@ + +se_tk_warpin_1: + .byte KEYSH , se_tk_warpin_key+0 + .byte TEMPO , 110*se_tk_warpin_tbs/2 + .byte VOICE , 90 + .byte VOL , 90*se_tk_warpin_mvl/mxv + .byte N06 , En4 , v127 + .byte W03 + .byte W03 + .byte N03 , En4 , v016 + .byte W03 + .byte N06 , En4 , v112 + .byte W03 + .byte W03 + .byte N03 , En4 , v016 + .byte W03 + .byte N06 , En4 , v088 + .byte W03 + .byte W03 + .byte N03 , En4 , v016 + .byte W03 + .byte N06 , En4 , v064 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_tk_warpin: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_tk_warpin_pri @ Priority + .byte se_tk_warpin_rev @ Reverb. + + .word se_tk_warpin_grp + + .word se_tk_warpin_1 + + .end diff --git a/sound/songs/se_tk_warpout.s b/sound/songs/se_tk_warpout.s new file mode 100644 index 0000000000..02046a2cf7 --- /dev/null +++ b/sound/songs/se_tk_warpout.s @@ -0,0 +1,60 @@ + .include "MPlayDef.s" + + .equ se_tk_warpout_grp, voicegroup_869D0F4 + .equ se_tk_warpout_pri, 4 + .equ se_tk_warpout_rev, reverb_set+50 + .equ se_tk_warpout_mvl, 127 + .equ se_tk_warpout_key, 0 + .equ se_tk_warpout_tbs, 1 + .equ se_tk_warpout_exg, 0 + .equ se_tk_warpout_cmp, 1 + + .section .rodata + .global se_tk_warpout + .align 2 + +@********************** Track 1 **********************@ + +se_tk_warpout_1: + .byte KEYSH , se_tk_warpout_key+0 + .byte TEMPO , 110*se_tk_warpout_tbs/2 + .byte VOICE , 93 + .byte XCMD , xIECV , 9 + .byte xIECL , 8 + .byte VOL , 90*se_tk_warpout_mvl/mxv + .byte N06 , En5 , v064 + .byte W03 + .byte W03 + .byte N03 , En5 , v016 + .byte W03 + .byte N06 , En5 , v088 + .byte W03 + .byte W03 + .byte N03 , En5 , v016 + .byte W03 + .byte N06 , En5 , v112 + .byte W03 + .byte W03 + .byte N03 , En5 , v016 + .byte W03 + .byte N06 , En5 , v127 + .byte W03 + .byte W03 + .byte N03 , En5 , v016 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_tk_warpout: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_tk_warpout_pri @ Priority + .byte se_tk_warpout_rev @ Reverb. + + .word se_tk_warpout_grp + + .word se_tk_warpout_1 + + .end diff --git a/sound/songs/se_toreeye.s b/sound/songs/se_toreeye.s new file mode 100644 index 0000000000..47d213aec3 --- /dev/null +++ b/sound/songs/se_toreeye.s @@ -0,0 +1,146 @@ + .include "MPlayDef.s" + + .equ se_toreeye_grp, voicegroup_86A0154 + .equ se_toreeye_pri, 5 + .equ se_toreeye_rev, reverb_set+50 + .equ se_toreeye_mvl, 127 + .equ se_toreeye_key, 0 + .equ se_toreeye_tbs, 1 + .equ se_toreeye_exg, 0 + .equ se_toreeye_cmp, 1 + + .section .rodata + .global se_toreeye + .align 2 + +@********************** Track 1 **********************@ + +se_toreeye_1: + .byte KEYSH , se_toreeye_key+0 + .byte TEMPO , 136*se_toreeye_tbs/2 + .byte VOICE , 13 + .byte LFOS , 44 + .byte BENDR , 12 + .byte VOL , 120*se_toreeye_mvl/mxv + .byte PAN , c_v-16 + .byte N01 , An5 , v064 + .byte W01 + .byte Dn6 + .byte W01 + .byte An5 + .byte W01 + .byte Dn6 + .byte W01 + .byte Fs6 + .byte W02 + .byte An5 + .byte W01 + .byte Dn6 + .byte W01 + .byte An5 + .byte W01 + .byte Fs6 + .byte W01 + .byte An5 + .byte W02 + .byte N01 + .byte W01 + .byte Dn6 + .byte W01 + .byte An5 + .byte W01 + .byte Dn6 + .byte W01 + .byte Fs6 + .byte W02 + .byte An5 + .byte W01 + .byte Dn6 + .byte W01 + .byte An5 + .byte W01 + .byte Fs6 + .byte W01 + .byte An5 + .byte W02 + .byte FINE + +@********************** Track 2 **********************@ + +se_toreeye_2: + .byte KEYSH , se_toreeye_key+0 + .byte VOICE , 80 + .byte LFOS , 44 + .byte XCMD , xIECV , 18 + .byte xIECV , 16 + .byte BENDR , 12 + .byte VOL , 45*se_toreeye_mvl/mxv + .byte MOD , 2 + .byte PAN , c_v+63 + .byte BEND , c_v+2 + .byte N01 , Dn5 , v064 + .byte W01 + .byte Fs5 + .byte W01 + .byte PAN , c_v-62 + .byte N01 , Dn5 + .byte W01 + .byte Fs5 + .byte W01 + .byte PAN , c_v+63 + .byte N01 , An5 + .byte W02 + .byte Dn5 + .byte W01 + .byte PAN , c_v-61 + .byte N01 , Fs5 + .byte W01 + .byte Dn5 + .byte W01 + .byte PAN , c_v+63 + .byte N01 , An5 + .byte W01 + .byte Dn5 + .byte W02 + .byte PAN , c_v-61 + .byte N01 + .byte W01 + .byte Fs5 + .byte W01 + .byte PAN , c_v+63 + .byte N01 , Dn5 + .byte W01 + .byte Fs5 + .byte W01 + .byte PAN , c_v-61 + .byte N01 , An5 + .byte W02 + .byte Dn5 + .byte W01 + .byte PAN , c_v+63 + .byte N01 , Fs5 + .byte W01 + .byte Dn5 + .byte W01 + .byte PAN , c_v-61 + .byte N01 , An5 + .byte W01 + .byte Dn5 + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_toreeye: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_toreeye_pri @ Priority + .byte se_toreeye_rev @ Reverb. + + .word se_toreeye_grp + + .word se_toreeye_1 + .word se_toreeye_2 + + .end diff --git a/sound/songs/se_toreoff.s b/sound/songs/se_toreoff.s new file mode 100644 index 0000000000..52d7b4d362 --- /dev/null +++ b/sound/songs/se_toreoff.s @@ -0,0 +1,87 @@ + .include "MPlayDef.s" + + .equ se_toreoff_grp, voicegroup_86A0154 + .equ se_toreoff_pri, 5 + .equ se_toreoff_rev, reverb_set+50 + .equ se_toreoff_mvl, 127 + .equ se_toreoff_key, 0 + .equ se_toreoff_tbs, 1 + .equ se_toreoff_exg, 0 + .equ se_toreoff_cmp, 1 + + .section .rodata + .global se_toreoff + .align 2 + +@********************** Track 1 **********************@ + +se_toreoff_1: + .byte KEYSH , se_toreoff_key+0 + .byte TEMPO , 120*se_toreoff_tbs/2 + .byte VOICE , 10 + .byte VOL , 110*se_toreoff_mvl/mxv + .byte BEND , c_v-8 + .byte W01 + .byte N01 , Ds3 , v112 + .byte W04 + .byte Gs1 + .byte W01 + .byte Bn1 , v056 + .byte W04 + .byte Bn1 , v024 + .byte W02 + .byte W06 + .byte W06 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_toreoff_2: + .byte KEYSH , se_toreoff_key+0 + .byte VOICE , 82 + .byte VOL , 110*se_toreoff_mvl/mxv + .byte BENDR , 12 + .byte LFOS , 44 + .byte BEND , c_v+0 + .byte N01 , Cs3 , v064 + .byte W01 + .byte Fs4 , v032 + .byte W01 + .byte BEND , c_v+0 + .byte N01 , Gs5 , v028 + .byte W01 + .byte BEND , c_v+63 + .byte W01 + .byte c_v-63 + .byte N01 , Cs3 , v036 + .byte W01 + .byte BEND , c_v+63 + .byte W01 + .byte c_v-63 + .byte N01 , Bn4 , v052 + .byte W02 + .byte BEND , c_v+0 + .byte W02 + .byte N01 , Cs1 + .byte W02 + .byte W06 + .byte W06 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_toreoff: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_toreoff_pri @ Priority + .byte se_toreoff_rev @ Reverb. + + .word se_toreoff_grp + + .word se_toreoff_1 + .word se_toreoff_2 + + .end diff --git a/sound/songs/se_toy_a.s b/sound/songs/se_toy_a.s new file mode 100644 index 0000000000..26e49d8ceb --- /dev/null +++ b/sound/songs/se_toy_a.s @@ -0,0 +1,59 @@ + .include "MPlayDef.s" + + .equ se_toy_a_grp, voicegroup_869D6F4 + .equ se_toy_a_pri, 4 + .equ se_toy_a_rev, reverb_set+50 + .equ se_toy_a_mvl, 127 + .equ se_toy_a_key, 0 + .equ se_toy_a_tbs, 1 + .equ se_toy_a_exg, 0 + .equ se_toy_a_cmp, 1 + + .section .rodata + .global se_toy_a + .align 2 + +@********************** Track 1 **********************@ + +se_toy_a_1: + .byte KEYSH , se_toy_a_key+0 + .byte TEMPO , 150*se_toy_a_tbs/2 + .byte VOICE , 48 + .byte VOL , 110*se_toy_a_mvl/mxv + .byte BEND , c_v-7 + .byte N12 , An5 , v112 + .byte W06 + .byte W06 + .byte N06 , An5 , v040 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_toy_a_2: + .byte KEYSH , se_toy_a_key+0 + .byte VOICE , 17 + .byte VOL , 110*se_toy_a_mvl/mxv + .byte BEND , c_v-7 + .byte N12 , En6 , v060 + .byte W06 + .byte W06 + .byte N06 , En6 , v032 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_toy_a: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_toy_a_pri @ Priority + .byte se_toy_a_rev @ Reverb. + + .word se_toy_a_grp + + .word se_toy_a_1 + .word se_toy_a_2 + + .end diff --git a/sound/songs/se_toy_b.s b/sound/songs/se_toy_b.s new file mode 100644 index 0000000000..9524ba1b88 --- /dev/null +++ b/sound/songs/se_toy_b.s @@ -0,0 +1,59 @@ + .include "MPlayDef.s" + + .equ se_toy_b_grp, voicegroup_869D6F4 + .equ se_toy_b_pri, 4 + .equ se_toy_b_rev, reverb_set+50 + .equ se_toy_b_mvl, 127 + .equ se_toy_b_key, 0 + .equ se_toy_b_tbs, 1 + .equ se_toy_b_exg, 0 + .equ se_toy_b_cmp, 1 + + .section .rodata + .global se_toy_b + .align 2 + +@********************** Track 1 **********************@ + +se_toy_b_1: + .byte KEYSH , se_toy_b_key+0 + .byte TEMPO , 150*se_toy_b_tbs/2 + .byte VOICE , 48 + .byte VOL , 110*se_toy_b_mvl/mxv + .byte BEND , c_v-7 + .byte N12 , Bn5 , v112 + .byte W06 + .byte W06 + .byte N06 , Bn5 , v040 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_toy_b_2: + .byte KEYSH , se_toy_b_key+0 + .byte VOICE , 17 + .byte VOL , 110*se_toy_b_mvl/mxv + .byte BEND , c_v-7 + .byte N12 , Fs6 , v060 + .byte W06 + .byte W06 + .byte N06 , Fs6 , v032 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_toy_b: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_toy_b_pri @ Priority + .byte se_toy_b_rev @ Reverb. + + .word se_toy_b_grp + + .word se_toy_b_1 + .word se_toy_b_2 + + .end diff --git a/sound/songs/se_toy_c.s b/sound/songs/se_toy_c.s new file mode 100644 index 0000000000..22e9daaeab --- /dev/null +++ b/sound/songs/se_toy_c.s @@ -0,0 +1,59 @@ + .include "MPlayDef.s" + + .equ se_toy_c_grp, voicegroup_869D6F4 + .equ se_toy_c_pri, 4 + .equ se_toy_c_rev, reverb_set+50 + .equ se_toy_c_mvl, 127 + .equ se_toy_c_key, 0 + .equ se_toy_c_tbs, 1 + .equ se_toy_c_exg, 0 + .equ se_toy_c_cmp, 1 + + .section .rodata + .global se_toy_c + .align 2 + +@********************** Track 1 **********************@ + +se_toy_c_1: + .byte KEYSH , se_toy_c_key+0 + .byte TEMPO , 150*se_toy_c_tbs/2 + .byte VOICE , 48 + .byte VOL , 110*se_toy_c_mvl/mxv + .byte BEND , c_v-7 + .byte N12 , Cn5 , v112 + .byte W06 + .byte W06 + .byte N06 , Cn5 , v040 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_toy_c_2: + .byte KEYSH , se_toy_c_key+0 + .byte VOICE , 17 + .byte VOL , 110*se_toy_c_mvl/mxv + .byte BEND , c_v-7 + .byte N12 , Gn5 , v060 + .byte W06 + .byte W06 + .byte N06 , Gn5 , v032 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_toy_c: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_toy_c_pri @ Priority + .byte se_toy_c_rev @ Reverb. + + .word se_toy_c_grp + + .word se_toy_c_1 + .word se_toy_c_2 + + .end diff --git a/sound/songs/se_toy_c1.s b/sound/songs/se_toy_c1.s new file mode 100644 index 0000000000..acdbc747a2 --- /dev/null +++ b/sound/songs/se_toy_c1.s @@ -0,0 +1,59 @@ + .include "MPlayDef.s" + + .equ se_toy_c1_grp, voicegroup_869D6F4 + .equ se_toy_c1_pri, 4 + .equ se_toy_c1_rev, reverb_set+50 + .equ se_toy_c1_mvl, 127 + .equ se_toy_c1_key, 0 + .equ se_toy_c1_tbs, 1 + .equ se_toy_c1_exg, 0 + .equ se_toy_c1_cmp, 1 + + .section .rodata + .global se_toy_c1 + .align 2 + +@********************** Track 1 **********************@ + +se_toy_c1_1: + .byte KEYSH , se_toy_c1_key+0 + .byte TEMPO , 150*se_toy_c1_tbs/2 + .byte VOICE , 48 + .byte VOL , 110*se_toy_c1_mvl/mxv + .byte BEND , c_v-7 + .byte N12 , Cn6 , v112 + .byte W06 + .byte W06 + .byte N06 , Cn6 , v040 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_toy_c1_2: + .byte KEYSH , se_toy_c1_key+0 + .byte VOICE , 17 + .byte VOL , 110*se_toy_c1_mvl/mxv + .byte BEND , c_v-7 + .byte N12 , Gn6 , v060 + .byte W06 + .byte W06 + .byte N06 , Gn6 , v032 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_toy_c1: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_toy_c1_pri @ Priority + .byte se_toy_c1_rev @ Reverb. + + .word se_toy_c1_grp + + .word se_toy_c1_1 + .word se_toy_c1_2 + + .end diff --git a/sound/songs/se_toy_d.s b/sound/songs/se_toy_d.s new file mode 100644 index 0000000000..ed8911c4c1 --- /dev/null +++ b/sound/songs/se_toy_d.s @@ -0,0 +1,59 @@ + .include "MPlayDef.s" + + .equ se_toy_d_grp, voicegroup_869D6F4 + .equ se_toy_d_pri, 4 + .equ se_toy_d_rev, reverb_set+50 + .equ se_toy_d_mvl, 127 + .equ se_toy_d_key, 0 + .equ se_toy_d_tbs, 1 + .equ se_toy_d_exg, 0 + .equ se_toy_d_cmp, 1 + + .section .rodata + .global se_toy_d + .align 2 + +@********************** Track 1 **********************@ + +se_toy_d_1: + .byte KEYSH , se_toy_d_key+0 + .byte TEMPO , 150*se_toy_d_tbs/2 + .byte VOICE , 48 + .byte VOL , 110*se_toy_d_mvl/mxv + .byte BEND , c_v-7 + .byte N12 , Dn5 , v112 + .byte W06 + .byte W06 + .byte N06 , Dn5 , v040 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_toy_d_2: + .byte KEYSH , se_toy_d_key+0 + .byte VOICE , 17 + .byte VOL , 110*se_toy_d_mvl/mxv + .byte BEND , c_v-7 + .byte N12 , An5 , v060 + .byte W06 + .byte W06 + .byte N06 , An5 , v032 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_toy_d: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_toy_d_pri @ Priority + .byte se_toy_d_rev @ Reverb. + + .word se_toy_d_grp + + .word se_toy_d_1 + .word se_toy_d_2 + + .end diff --git a/sound/songs/se_toy_dango.s b/sound/songs/se_toy_dango.s new file mode 100644 index 0000000000..3dd649c2be --- /dev/null +++ b/sound/songs/se_toy_dango.s @@ -0,0 +1,52 @@ + .include "MPlayDef.s" + + .equ se_toy_dango_grp, voicegroup_869D6F4 + .equ se_toy_dango_pri, 4 + .equ se_toy_dango_rev, reverb_set+50 + .equ se_toy_dango_mvl, 127 + .equ se_toy_dango_key, 0 + .equ se_toy_dango_tbs, 1 + .equ se_toy_dango_exg, 0 + .equ se_toy_dango_cmp, 1 + + .section .rodata + .global se_toy_dango + .align 2 + +@********************** Track 1 **********************@ + +se_toy_dango_1: + .byte KEYSH , se_toy_dango_key+0 + .byte TEMPO , 150*se_toy_dango_tbs/2 + .byte VOICE , 36 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_toy_dango_mvl/mxv + .byte BEND , c_v+0 + .byte N01 , Cn4 , v112 + .byte W01 + .byte VOICE , 26 + .byte W01 + .byte N01 , Fn4 , v127 + .byte W01 + .byte W01 + .byte VOICE , 36 + .byte W02 + .byte N01 , Cn3 , v056 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_toy_dango: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_toy_dango_pri @ Priority + .byte se_toy_dango_rev @ Reverb. + + .word se_toy_dango_grp + + .word se_toy_dango_1 + + .end diff --git a/sound/songs/se_toy_e.s b/sound/songs/se_toy_e.s new file mode 100644 index 0000000000..98dd294e07 --- /dev/null +++ b/sound/songs/se_toy_e.s @@ -0,0 +1,59 @@ + .include "MPlayDef.s" + + .equ se_toy_e_grp, voicegroup_869D6F4 + .equ se_toy_e_pri, 4 + .equ se_toy_e_rev, reverb_set+50 + .equ se_toy_e_mvl, 127 + .equ se_toy_e_key, 0 + .equ se_toy_e_tbs, 1 + .equ se_toy_e_exg, 0 + .equ se_toy_e_cmp, 1 + + .section .rodata + .global se_toy_e + .align 2 + +@********************** Track 1 **********************@ + +se_toy_e_1: + .byte KEYSH , se_toy_e_key+0 + .byte TEMPO , 150*se_toy_e_tbs/2 + .byte VOICE , 48 + .byte VOL , 110*se_toy_e_mvl/mxv + .byte BEND , c_v-7 + .byte N12 , En5 , v112 + .byte W06 + .byte W06 + .byte N06 , En5 , v040 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_toy_e_2: + .byte KEYSH , se_toy_e_key+0 + .byte VOICE , 17 + .byte VOL , 110*se_toy_e_mvl/mxv + .byte BEND , c_v-7 + .byte N12 , Bn5 , v060 + .byte W06 + .byte W06 + .byte N06 , Bn5 , v032 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_toy_e: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_toy_e_pri @ Priority + .byte se_toy_e_rev @ Reverb. + + .word se_toy_e_grp + + .word se_toy_e_1 + .word se_toy_e_2 + + .end diff --git a/sound/songs/se_toy_f.s b/sound/songs/se_toy_f.s new file mode 100644 index 0000000000..30875a045d --- /dev/null +++ b/sound/songs/se_toy_f.s @@ -0,0 +1,59 @@ + .include "MPlayDef.s" + + .equ se_toy_f_grp, voicegroup_869D6F4 + .equ se_toy_f_pri, 4 + .equ se_toy_f_rev, reverb_set+50 + .equ se_toy_f_mvl, 127 + .equ se_toy_f_key, 0 + .equ se_toy_f_tbs, 1 + .equ se_toy_f_exg, 0 + .equ se_toy_f_cmp, 1 + + .section .rodata + .global se_toy_f + .align 2 + +@********************** Track 1 **********************@ + +se_toy_f_1: + .byte KEYSH , se_toy_f_key+0 + .byte TEMPO , 150*se_toy_f_tbs/2 + .byte VOICE , 48 + .byte VOL , 110*se_toy_f_mvl/mxv + .byte BEND , c_v-7 + .byte N12 , Fn5 , v112 + .byte W06 + .byte W06 + .byte N06 , Fn5 , v040 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_toy_f_2: + .byte KEYSH , se_toy_f_key+0 + .byte VOICE , 17 + .byte VOL , 110*se_toy_f_mvl/mxv + .byte BEND , c_v-7 + .byte N12 , Cn6 , v060 + .byte W06 + .byte W06 + .byte N06 , Cn6 , v032 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_toy_f: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_toy_f_pri @ Priority + .byte se_toy_f_rev @ Reverb. + + .word se_toy_f_grp + + .word se_toy_f_1 + .word se_toy_f_2 + + .end diff --git a/sound/songs/se_toy_g.s b/sound/songs/se_toy_g.s new file mode 100644 index 0000000000..2bb8365e92 --- /dev/null +++ b/sound/songs/se_toy_g.s @@ -0,0 +1,59 @@ + .include "MPlayDef.s" + + .equ se_toy_g_grp, voicegroup_869D6F4 + .equ se_toy_g_pri, 4 + .equ se_toy_g_rev, reverb_set+50 + .equ se_toy_g_mvl, 127 + .equ se_toy_g_key, 0 + .equ se_toy_g_tbs, 1 + .equ se_toy_g_exg, 0 + .equ se_toy_g_cmp, 1 + + .section .rodata + .global se_toy_g + .align 2 + +@********************** Track 1 **********************@ + +se_toy_g_1: + .byte KEYSH , se_toy_g_key+0 + .byte TEMPO , 150*se_toy_g_tbs/2 + .byte VOICE , 48 + .byte VOL , 110*se_toy_g_mvl/mxv + .byte BEND , c_v-7 + .byte N12 , Gn5 , v112 + .byte W06 + .byte W06 + .byte N06 , Gn5 , v040 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_toy_g_2: + .byte KEYSH , se_toy_g_key+0 + .byte VOICE , 17 + .byte VOL , 110*se_toy_g_mvl/mxv + .byte BEND , c_v-7 + .byte N12 , Dn6 , v060 + .byte W06 + .byte W06 + .byte N06 , Dn6 , v032 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_toy_g: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_toy_g_pri @ Priority + .byte se_toy_g_rev @ Reverb. + + .word se_toy_g_grp + + .word se_toy_g_1 + .word se_toy_g_2 + + .end diff --git a/sound/songs/se_toy_kabe.s b/sound/songs/se_toy_kabe.s new file mode 100644 index 0000000000..cfea12c639 --- /dev/null +++ b/sound/songs/se_toy_kabe.s @@ -0,0 +1,75 @@ + .include "MPlayDef.s" + + .equ se_toy_kabe_grp, voicegroup_869D6F4 + .equ se_toy_kabe_pri, 4 + .equ se_toy_kabe_rev, reverb_set+50 + .equ se_toy_kabe_mvl, 127 + .equ se_toy_kabe_key, 0 + .equ se_toy_kabe_tbs, 1 + .equ se_toy_kabe_exg, 0 + .equ se_toy_kabe_cmp, 1 + + .section .rodata + .global se_toy_kabe + .align 2 + +@********************** Track 1 **********************@ + +se_toy_kabe_1: + .byte KEYSH , se_toy_kabe_key+0 + .byte TEMPO , 240*se_toy_kabe_tbs/2 + .byte VOICE , 41 + .byte BENDR , 12 + .byte VOL , 110*se_toy_kabe_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , Fs4 , v127 + .byte W01 + .byte BEND , c_v-8 + .byte W01 + .byte c_v-23 + .byte W01 + .byte W01 + .byte c_v+0 + .byte N10 , Cn4 + .byte W02 + .byte W03 + .byte W01 + .byte VOL , 96*se_toy_kabe_mvl/mxv + .byte W02 + .byte 82*se_toy_kabe_mvl/mxv + .byte W01 + .byte 45*se_toy_kabe_mvl/mxv + .byte W01 + .byte 20*se_toy_kabe_mvl/mxv + .byte W01 + .byte W03 + .byte W01 + .byte 110*se_toy_kabe_mvl/mxv + .byte N10 , Cn4 , v040 + .byte W02 + .byte W03 + .byte W01 + .byte VOL , 96*se_toy_kabe_mvl/mxv + .byte W01 + .byte 82*se_toy_kabe_mvl/mxv + .byte W01 + .byte 45*se_toy_kabe_mvl/mxv + .byte W01 + .byte 20*se_toy_kabe_mvl/mxv + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_toy_kabe: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_toy_kabe_pri @ Priority + .byte se_toy_kabe_rev @ Reverb. + + .word se_toy_kabe_grp + + .word se_toy_kabe_1 + + .end diff --git a/sound/songs/se_track_door.s b/sound/songs/se_track_door.s new file mode 100644 index 0000000000..5f194a1062 --- /dev/null +++ b/sound/songs/se_track_door.s @@ -0,0 +1,61 @@ + .include "MPlayDef.s" + + .equ se_track_door_grp, voicegroup_869D6F4 + .equ se_track_door_pri, 4 + .equ se_track_door_rev, reverb_set+50 + .equ se_track_door_mvl, 127 + .equ se_track_door_key, 0 + .equ se_track_door_tbs, 1 + .equ se_track_door_exg, 0 + .equ se_track_door_cmp, 1 + + .section .rodata + .global se_track_door + .align 2 + +@********************** Track 1 **********************@ + +se_track_door_1: + .byte KEYSH , se_track_door_key+0 + .byte TEMPO , 150*se_track_door_tbs/2 + .byte VOICE , 8 + .byte VOL , 110*se_track_door_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , Cn2 , v092 + .byte W06 + .byte N01 , Cn3 + .byte W02 + .byte N02 , Cn4 + .byte W04 + .byte FINE + +@********************** Track 2 **********************@ + +se_track_door_2: + .byte VOL , 110*se_track_door_mvl/mxv + .byte KEYSH , se_track_door_key+0 + .byte VOICE , 4 + .byte N03 , Cn2 , v032 + .byte W05 + .byte N01 , Cn4 + .byte W01 + .byte W02 + .byte N02 + .byte W04 + .byte FINE + +@******************************************************@ + .align 2 + +se_track_door: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_track_door_pri @ Priority + .byte se_track_door_rev @ Reverb. + + .word se_track_door_grp + + .word se_track_door_1 + .word se_track_door_2 + + .end diff --git a/sound/songs/se_track_haiki.s b/sound/songs/se_track_haiki.s new file mode 100644 index 0000000000..8448148d40 --- /dev/null +++ b/sound/songs/se_track_haiki.s @@ -0,0 +1,49 @@ + .include "MPlayDef.s" + + .equ se_track_haiki_grp, voicegroup_869D0F4 + .equ se_track_haiki_pri, 4 + .equ se_track_haiki_rev, reverb_set+50 + .equ se_track_haiki_mvl, 127 + .equ se_track_haiki_key, 0 + .equ se_track_haiki_tbs, 1 + .equ se_track_haiki_exg, 0 + .equ se_track_haiki_cmp, 1 + + .section .rodata + .global se_track_haiki + .align 2 + +@********************** Track 1 **********************@ + +se_track_haiki_1: + .byte KEYSH , se_track_haiki_key+0 + .byte TEMPO , 150*se_track_haiki_tbs/2 + .byte VOICE , 120 + .byte VOL , 127*se_track_haiki_mvl/mxv + .byte N06 , Bn3 , v028 + .byte W03 + .byte W03 + .byte N21 , Gs4 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_track_haiki: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_track_haiki_pri @ Priority + .byte se_track_haiki_rev @ Reverb. + + .word se_track_haiki_grp + + .word se_track_haiki_1 + + .end diff --git a/sound/songs/se_track_move.s b/sound/songs/se_track_move.s new file mode 100644 index 0000000000..0f3b61cfcb --- /dev/null +++ b/sound/songs/se_track_move.s @@ -0,0 +1,146 @@ + .include "MPlayDef.s" + + .equ se_track_move_grp, voicegroup_869D6F4 + .equ se_track_move_pri, 4 + .equ se_track_move_rev, reverb_set+50 + .equ se_track_move_mvl, 127 + .equ se_track_move_key, 0 + .equ se_track_move_tbs, 1 + .equ se_track_move_exg, 0 + .equ se_track_move_cmp, 1 + + .section .rodata + .global se_track_move + .align 2 + +@********************** Track 1 **********************@ + +se_track_move_1: + .byte KEYSH , se_track_move_key+0 + .byte TEMPO , 150*se_track_move_tbs/2 + .byte VOICE , 10 + .byte VOL , 18*se_track_move_mvl/mxv + .byte BEND , c_v+0 + .byte N96 , Cs3 , v127 + .byte W08 + .byte VOL , 31*se_track_move_mvl/mxv + .byte W08 + .byte 42*se_track_move_mvl/mxv + .byte W08 + .byte 59*se_track_move_mvl/mxv + .byte W08 + .byte 74*se_track_move_mvl/mxv + .byte W08 + .byte 88*se_track_move_mvl/mxv + .byte W08 + .byte 106*se_track_move_mvl/mxv + .byte W08 + .byte 118*se_track_move_mvl/mxv + .byte W08 + .byte 127*se_track_move_mvl/mxv + .byte W32 +se_track_move_1_B1: + .byte TIE , Cs3 , v127 + .byte W96 + .byte W96 + .byte W96 + .byte EOT + .byte GOTO + .word se_track_move_1_B1 + .byte FINE + +@********************** Track 2 **********************@ + +se_track_move_2: + .byte KEYSH , se_track_move_key+0 + .byte VOICE , 11 + .byte VOL , 18*se_track_move_mvl/mxv + .byte W08 + .byte 31*se_track_move_mvl/mxv + .byte W04 + .byte N03 , Fn2 , v044 + .byte W04 + .byte VOL , 42*se_track_move_mvl/mxv + .byte W02 + .byte N03 , An2 + .byte W06 + .byte VOL , 59*se_track_move_mvl/mxv + .byte W06 + .byte N03 , Cs2 , v052 + .byte W02 + .byte VOL , 74*se_track_move_mvl/mxv + .byte W08 + .byte 88*se_track_move_mvl/mxv + .byte W08 + .byte 106*se_track_move_mvl/mxv + .byte N03 , Gn2 , v044 + .byte W08 + .byte VOL , 118*se_track_move_mvl/mxv + .byte W08 + .byte 127*se_track_move_mvl/mxv + .byte W08 + .byte N01 , Bn2 , v032 + .byte W12 + .byte N03 , Fn2 , v044 + .byte W12 +se_track_move_2_B1: + .byte W12 + .byte N03 , Fn2 , v044 + .byte W06 + .byte An2 , v032 + .byte W12 + .byte Cs2 , v052 + .byte W12 + .byte An2 , v032 + .byte W06 + .byte Gn2 , v044 + .byte W24 + .byte N03 + .byte W12 + .byte Fn2 + .byte W12 + .byte Gn2 + .byte W18 + .byte Cs2 , v052 + .byte W12 + .byte N01 , Bn2 , v032 + .byte W06 + .byte N03 , Fn2 , v044 + .byte W24 + .byte N03 + .byte W18 + .byte Cs2 , v052 + .byte W18 + .byte Gn2 , v044 + .byte W18 + .byte An2 + .byte W12 + .byte Cs2 , v052 + .byte W18 + .byte Gn2 , v044 + .byte W12 + .byte Fn2 + .byte W18 + .byte N01 , Bn2 , v032 + .byte W06 + .byte N03 , Fn2 , v044 + .byte W12 + .byte GOTO + .word se_track_move_2_B1 + .byte FINE + +@******************************************************@ + .align 2 + +se_track_move: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_track_move_pri @ Priority + .byte se_track_move_rev @ Reverb. + + .word se_track_move_grp + + .word se_track_move_1 + .word se_track_move_2 + + .end diff --git a/sound/songs/se_track_stop.s b/sound/songs/se_track_stop.s new file mode 100644 index 0000000000..921d180d04 --- /dev/null +++ b/sound/songs/se_track_stop.s @@ -0,0 +1,123 @@ + .include "MPlayDef.s" + + .equ se_track_stop_grp, voicegroup_869D6F4 + .equ se_track_stop_pri, 4 + .equ se_track_stop_rev, reverb_set+50 + .equ se_track_stop_mvl, 127 + .equ se_track_stop_key, 0 + .equ se_track_stop_tbs, 1 + .equ se_track_stop_exg, 0 + .equ se_track_stop_cmp, 1 + + .section .rodata + .global se_track_stop + .align 2 + +@********************** Track 1 **********************@ + +se_track_stop_1: + .byte KEYSH , se_track_stop_key+0 + .byte TEMPO , 150*se_track_stop_tbs/2 + .byte VOICE , 10 + .byte VOL , 127*se_track_stop_mvl/mxv + .byte BEND , c_v+0 + .byte TIE , Cs3 , v127 + .byte W09 + .byte BEND , c_v-9 + .byte W09 + .byte c_v-18 + .byte W06 + .byte W09 + .byte c_v-26 + .byte W09 + .byte c_v-34 + .byte W06 + .byte W06 + .byte c_v-43 + .byte W05 + .byte VOL , 123*se_track_stop_mvl/mxv + .byte W04 + .byte BEND , c_v-54 + .byte W02 + .byte VOL , 117*se_track_stop_mvl/mxv + .byte W06 + .byte 110*se_track_stop_mvl/mxv + .byte W01 + .byte BEND , c_v-64 + .byte W08 + .byte VOL , 101*se_track_stop_mvl/mxv + .byte W06 + .byte 89*se_track_stop_mvl/mxv + .byte W09 + .byte 77*se_track_stop_mvl/mxv + .byte W01 + .byte W05 + .byte 60*se_track_stop_mvl/mxv + .byte W09 + .byte 48*se_track_stop_mvl/mxv + .byte W06 + .byte 36*se_track_stop_mvl/mxv + .byte W04 + .byte W03 + .byte 23*se_track_stop_mvl/mxv + .byte W06 + .byte 8*se_track_stop_mvl/mxv + .byte W09 + .byte 0*se_track_stop_mvl/mxv + .byte W01 + .byte EOT + .byte W05 + .byte FINE + +@********************** Track 2 **********************@ + +se_track_stop_2: + .byte KEYSH , se_track_stop_key+0 + .byte VOICE , 13 + .byte VOL , 90*se_track_stop_mvl/mxv + .byte W06 + .byte N09 , Gs6 , v024 + .byte W18 + .byte W05 + .byte N15 + .byte W19 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte FINE + +@********************** Track 3 **********************@ + +se_track_stop_3: + .byte KEYSH , se_track_stop_key+0 + .byte VOICE , 12 + .byte VOL , 90*se_track_stop_mvl/mxv + .byte W06 + .byte N09 , An6 , v024 + .byte W18 + .byte W05 + .byte N15 + .byte W19 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_track_stop: + .byte 3 @ NumTrks + .byte 0 @ NumBlks + .byte se_track_stop_pri @ Priority + .byte se_track_stop_rev @ Reverb. + + .word se_track_stop_grp + + .word se_track_stop_1 + .word se_track_stop_2 + .word se_track_stop_3 + + .end diff --git a/sound/songs/se_tu_saa.s b/sound/songs/se_tu_saa.s new file mode 100644 index 0000000000..ea08c11b11 --- /dev/null +++ b/sound/songs/se_tu_saa.s @@ -0,0 +1,55 @@ + .include "MPlayDef.s" + + .equ se_tu_saa_grp, voicegroup_869D0F4 + .equ se_tu_saa_pri, 4 + .equ se_tu_saa_rev, reverb_set+50 + .equ se_tu_saa_mvl, 127 + .equ se_tu_saa_key, 0 + .equ se_tu_saa_tbs, 1 + .equ se_tu_saa_exg, 0 + .equ se_tu_saa_cmp, 1 + + .section .rodata + .global se_tu_saa + .align 2 + +@********************** Track 1 **********************@ + +se_tu_saa_1: + .byte KEYSH , se_tu_saa_key+0 + .byte TEMPO , 220*se_tu_saa_tbs/2 + .byte VOICE , 123 + .byte VOL , 90*se_tu_saa_mvl/mxv + .byte N03 , Cn4 , v060 + .byte W03 + .byte VOL , 62*se_tu_saa_mvl/mxv + .byte N32 , Gs4 + .byte W03 + .byte VOL , 68*se_tu_saa_mvl/mxv + .byte W03 + .byte 72*se_tu_saa_mvl/mxv + .byte W03 + .byte 78*se_tu_saa_mvl/mxv + .byte W03 + .byte 85*se_tu_saa_mvl/mxv + .byte W03 + .byte 90*se_tu_saa_mvl/mxv + .byte W06 + .byte W06 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_tu_saa: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_tu_saa_pri @ Priority + .byte se_tu_saa_rev @ Reverb. + + .word se_tu_saa_grp + + .word se_tu_saa_1 + + .end diff --git a/sound/songs/se_u.s b/sound/songs/se_u.s new file mode 100644 index 0000000000..41730b99dc --- /dev/null +++ b/sound/songs/se_u.s @@ -0,0 +1,45 @@ + .include "MPlayDef.s" + + .equ se_u_grp, voicegroup_869D6F4 + .equ se_u_pri, 4 + .equ se_u_rev, reverb_set+50 + .equ se_u_mvl, 127 + .equ se_u_key, 0 + .equ se_u_tbs, 1 + .equ se_u_exg, 0 + .equ se_u_cmp, 1 + + .section .rodata + .global se_u + .align 2 + +@********************** Track 1 **********************@ + +se_u_1: + .byte KEYSH , se_u_key+0 + .byte TEMPO , 240*se_u_tbs/2 + .byte VOICE , 124 + .byte BENDR , 12 + .byte VOL , 127*se_u_mvl/mxv + .byte BEND , c_v+0 + .byte N72 , Cn3 , v127 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_u: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_u_pri @ Priority + .byte se_u_rev @ Reverb. + + .word se_u_grp + + .word se_u_1 + + .end diff --git a/sound/songs/se_ussoki.s b/sound/songs/se_ussoki.s new file mode 100644 index 0000000000..811f5845fa --- /dev/null +++ b/sound/songs/se_ussoki.s @@ -0,0 +1,55 @@ + .include "MPlayDef.s" + + .equ se_ussoki_grp, voicegroup_86A0154 + .equ se_ussoki_pri, 5 + .equ se_ussoki_rev, reverb_set+50 + .equ se_ussoki_mvl, 127 + .equ se_ussoki_key, 0 + .equ se_ussoki_tbs, 1 + .equ se_ussoki_exg, 0 + .equ se_ussoki_cmp, 1 + + .section .rodata + .global se_ussoki + .align 2 + +@********************** Track 1 **********************@ + +se_ussoki_1: + .byte KEYSH , se_ussoki_key+0 + .byte TEMPO , 100*se_ussoki_tbs/2 + .byte VOICE , 127 + .byte PAN , c_v+0 + .byte VOL , 77*se_ussoki_mvl/mxv + .byte N03 , Cn5 , v096 + .byte W06 + .byte N01 , Gn5 , v064 + .byte W06 + .byte N03 , Cn5 , v100 + .byte W06 + .byte N01 , Gn5 , v064 + .byte W06 +se_ussoki_1_000: + .byte N03 , Cn5 , v096 + .byte W06 + .byte N01 , Gn5 , v064 + .byte W06 + .byte PEND + .byte PATT + .word se_ussoki_1_000 + .byte FINE + +@******************************************************@ + .align 2 + +se_ussoki: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_ussoki_pri @ Priority + .byte se_ussoki_rev @ Reverb. + + .word se_ussoki_grp + + .word se_ussoki_1 + + .end diff --git a/sound/songs/se_w003.s b/sound/songs/se_w003.s new file mode 100644 index 0000000000..afe6bde554 --- /dev/null +++ b/sound/songs/se_w003.s @@ -0,0 +1,52 @@ + .include "MPlayDef.s" + + .equ se_w003_grp, voicegroup_869D6F4 + .equ se_w003_pri, 4 + .equ se_w003_rev, reverb_set+50 + .equ se_w003_mvl, 127 + .equ se_w003_key, 0 + .equ se_w003_tbs, 1 + .equ se_w003_exg, 0 + .equ se_w003_cmp, 1 + + .section .rodata + .global se_w003 + .align 2 + +@********************** Track 1 **********************@ + +se_w003_1: + .byte KEYSH , se_w003_key+0 + .byte TEMPO , 150*se_w003_tbs/2 + .byte VOICE , 2 + .byte BENDR , 12 + .byte VOL , 110*se_w003_mvl/mxv + .byte PAN , c_v+9 + .byte BEND , c_v+0 + .byte N02 , Bn3 , v112 + .byte W04 + .byte PAN , c_v-9 + .byte N02 , Fn5 , v064 + .byte W02 + .byte PAN , c_v+0 + .byte N02 , Bn3 , v036 + .byte W03 + .byte VOICE , 18 + .byte N02 , Cn6 , v096 + .byte W15 + .byte FINE + +@******************************************************@ + .align 2 + +se_w003: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w003_pri @ Priority + .byte se_w003_rev @ Reverb. + + .word se_w003_grp + + .word se_w003_1 + + .end diff --git a/sound/songs/se_w004.s b/sound/songs/se_w004.s new file mode 100644 index 0000000000..197955051a --- /dev/null +++ b/sound/songs/se_w004.s @@ -0,0 +1,75 @@ + .include "MPlayDef.s" + + .equ se_w004_grp, voicegroup_869D6F4 + .equ se_w004_pri, 4 + .equ se_w004_rev, reverb_set+50 + .equ se_w004_mvl, 127 + .equ se_w004_key, 0 + .equ se_w004_tbs, 1 + .equ se_w004_exg, 0 + .equ se_w004_cmp, 1 + + .section .rodata + .global se_w004 + .align 2 + +@********************** Track 1 **********************@ + +se_w004_1: + .byte KEYSH , se_w004_key+0 + .byte TEMPO , 150*se_w004_tbs/2 + .byte VOICE , 6 + .byte VOL , 120*se_w004_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N03 , Cn3 , v127 + .byte W01 + .byte PAN , c_v-10 + .byte BEND , c_v-27 + .byte W01 + .byte PAN , c_v+8 + .byte BEND , c_v-47 + .byte W01 + .byte c_v-64 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte N02 , Dn3 , v084 + .byte W02 + .byte BEND , c_v-32 + .byte W18 + .byte FINE + +@********************** Track 2 **********************@ + +se_w004_2: + .byte KEYSH , se_w004_key+0 + .byte VOICE , 5 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 120*se_w004_mvl/mxv + .byte PAN , c_v+9 + .byte N03 , An2 , v052 + .byte W04 + .byte N02 + .byte W02 + .byte PAN , c_v-8 + .byte W18 + .byte FINE + +@******************************************************@ + .align 2 + +se_w004: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w004_pri @ Priority + .byte se_w004_rev @ Reverb. + + .word se_w004_grp + + .word se_w004_1 + .word se_w004_2 + + .end diff --git a/sound/songs/se_w006.s b/sound/songs/se_w006.s new file mode 100644 index 0000000000..85f38d4ad7 --- /dev/null +++ b/sound/songs/se_w006.s @@ -0,0 +1,107 @@ + .include "MPlayDef.s" + + .equ se_w006_grp, voicegroup_869D6F4 + .equ se_w006_pri, 4 + .equ se_w006_rev, reverb_set+50 + .equ se_w006_mvl, 127 + .equ se_w006_key, 0 + .equ se_w006_tbs, 1 + .equ se_w006_exg, 0 + .equ se_w006_cmp, 1 + + .section .rodata + .global se_w006 + .align 2 + +@********************** Track 1 **********************@ + +se_w006_1: + .byte KEYSH , se_w006_key+0 + .byte TEMPO , 150*se_w006_tbs/2 + .byte VOICE , 39 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 95*se_w006_mvl/mxv + .byte BEND , c_v+0 + .byte N01 , An5 , v100 + .byte W01 + .byte Fn5 , v064 + .byte W01 + .byte N06 , Gn5 , v100 + .byte W01 + .byte VOL , 85*se_w006_mvl/mxv + .byte PAN , c_v-13 + .byte W01 + .byte VOL , 59*se_w006_mvl/mxv + .byte PAN , c_v+11 + .byte W02 + .byte VOL , 33*se_w006_mvl/mxv + .byte PAN , c_v-14 + .byte W01 + .byte VOL , 5*se_w006_mvl/mxv + .byte PAN , c_v+11 + .byte W03 + .byte VOL , 95*se_w006_mvl/mxv + .byte PAN , c_v+1 + .byte N01 , An5 + .byte W02 + .byte Fn5 , v064 + .byte W01 + .byte N19 , Gn5 , v100 + .byte W01 + .byte PAN , c_v-13 + .byte W01 + .byte c_v+11 + .byte W01 + .byte c_v-14 + .byte W02 + .byte c_v+11 + .byte W01 + .byte c_v-13 + .byte W01 + .byte c_v+11 + .byte VOL , 85*se_w006_mvl/mxv + .byte W01 + .byte PAN , c_v-14 + .byte VOL , 77*se_w006_mvl/mxv + .byte W01 + .byte PAN , c_v+11 + .byte VOL , 69*se_w006_mvl/mxv + .byte W02 + .byte PAN , c_v-13 + .byte VOL , 59*se_w006_mvl/mxv + .byte W01 + .byte PAN , c_v+11 + .byte VOL , 52*se_w006_mvl/mxv + .byte W01 + .byte PAN , c_v-14 + .byte VOL , 41*se_w006_mvl/mxv + .byte W01 + .byte 33*se_w006_mvl/mxv + .byte PAN , c_v+11 + .byte W01 + .byte VOL , 23*se_w006_mvl/mxv + .byte PAN , c_v-14 + .byte W02 + .byte VOL , 14*se_w006_mvl/mxv + .byte PAN , c_v+11 + .byte W01 + .byte VOL , 5*se_w006_mvl/mxv + .byte PAN , c_v-13 + .byte W05 + .byte FINE + +@******************************************************@ + .align 2 + +se_w006: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w006_pri @ Priority + .byte se_w006_rev @ Reverb. + + .word se_w006_grp + + .word se_w006_1 + + .end diff --git a/sound/songs/se_w007.s b/sound/songs/se_w007.s new file mode 100644 index 0000000000..dceaf1b583 --- /dev/null +++ b/sound/songs/se_w007.s @@ -0,0 +1,138 @@ + .include "MPlayDef.s" + + .equ se_w007_grp, voicegroup_869D6F4 + .equ se_w007_pri, 4 + .equ se_w007_rev, reverb_set+50 + .equ se_w007_mvl, 127 + .equ se_w007_key, 0 + .equ se_w007_tbs, 1 + .equ se_w007_exg, 0 + .equ se_w007_cmp, 1 + + .section .rodata + .global se_w007 + .align 2 + +@********************** Track 1 **********************@ + +se_w007_1: + .byte KEYSH , se_w007_key+0 + .byte TEMPO , 220*se_w007_tbs/2 + .byte VOICE , 6 + .byte VOL , 110*se_w007_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N06 , Cn3 , v127 + .byte W01 + .byte BEND , c_v-9 + .byte W01 + .byte c_v-21 + .byte W01 + .byte PAN , c_v-6 + .byte BEND , c_v-40 + .byte W01 + .byte c_v-64 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N06 , En3 + .byte W01 + .byte BEND , c_v-9 + .byte W01 + .byte c_v-21 + .byte W01 + .byte PAN , c_v+7 + .byte BEND , c_v-40 + .byte W01 + .byte c_v-64 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N09 , An2 + .byte W01 + .byte BEND , c_v-9 + .byte W01 + .byte c_v-19 + .byte W01 + .byte c_v-29 + .byte W01 + .byte VOL , 86*se_w007_mvl/mxv + .byte BEND , c_v-39 + .byte W02 + .byte VOL , 69*se_w007_mvl/mxv + .byte BEND , c_v-45 + .byte W01 + .byte VOL , 53*se_w007_mvl/mxv + .byte BEND , c_v-56 + .byte W01 + .byte VOL , 20*se_w007_mvl/mxv + .byte BEND , c_v-64 + .byte W01 + .byte VOICE , 29 + .byte VOL , 110*se_w007_mvl/mxv + .byte BEND , c_v+0 + .byte N48 + .byte W03 + .byte W02 + .byte PAN , c_v-8 + .byte W04 + .byte c_v+5 + .byte W03 + .byte c_v-6 + .byte W04 + .byte c_v+6 + .byte W03 + .byte c_v-3 + .byte W08 + .byte W03 + .byte VOL , 78*se_w007_mvl/mxv + .byte W04 + .byte 64*se_w007_mvl/mxv + .byte W03 + .byte 51*se_w007_mvl/mxv + .byte W04 + .byte 38*se_w007_mvl/mxv + .byte W04 + .byte 25*se_w007_mvl/mxv + .byte W03 + .byte 12*se_w007_mvl/mxv + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_w007_2: + .byte KEYSH , se_w007_key+0 + .byte VOICE , 5 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 110*se_w007_mvl/mxv + .byte PAN , c_v+9 + .byte N03 , Gs2 , v052 + .byte W06 + .byte PAN , c_v-7 + .byte N03 + .byte W06 + .byte PAN , c_v+0 + .byte N03 + .byte W12 + .byte W24 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_w007: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w007_pri @ Priority + .byte se_w007_rev @ Reverb. + + .word se_w007_grp + + .word se_w007_1 + .word se_w007_2 + + .end diff --git a/sound/songs/se_w010.s b/sound/songs/se_w010.s new file mode 100644 index 0000000000..481087bac9 --- /dev/null +++ b/sound/songs/se_w010.s @@ -0,0 +1,70 @@ + .include "MPlayDef.s" + + .equ se_w010_grp, voicegroup_869D6F4 + .equ se_w010_pri, 4 + .equ se_w010_rev, reverb_set+50 + .equ se_w010_mvl, 127 + .equ se_w010_key, 0 + .equ se_w010_tbs, 1 + .equ se_w010_exg, 0 + .equ se_w010_cmp, 1 + + .section .rodata + .global se_w010 + .align 2 + +@********************** Track 1 **********************@ + +se_w010_1: + .byte KEYSH , se_w010_key+0 + .byte TEMPO , 220*se_w010_tbs/2 + .byte VOICE , 18 + .byte BENDR , 12 + .byte PAN , c_v+14 + .byte VOL , 42*se_w010_mvl/mxv + .byte BEND , c_v+39 + .byte N10 , Gn5 , v092 + .byte W01 + .byte VOL , 55*se_w010_mvl/mxv + .byte W01 + .byte 71*se_w010_mvl/mxv + .byte BEND , c_v+23 + .byte W01 + .byte PAN , c_v-15 + .byte VOL , 86*se_w010_mvl/mxv + .byte BEND , c_v+0 + .byte W01 + .byte VOL , 110*se_w010_mvl/mxv + .byte BEND , c_v-23 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v-34 + .byte W01 + .byte c_v-55 + .byte W01 + .byte c_v-64 + .byte W02 + .byte VOICE , 21 + .byte BEND , c_v+63 + .byte N01 , Cn5 + .byte W02 + .byte Gn5 + .byte W02 + .byte Gn5 , v064 + .byte W10 + .byte FINE + +@******************************************************@ + .align 2 + +se_w010: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w010_pri @ Priority + .byte se_w010_rev @ Reverb. + + .word se_w010_grp + + .word se_w010_1 + + .end diff --git a/sound/songs/se_w011.s b/sound/songs/se_w011.s new file mode 100644 index 0000000000..845e328986 --- /dev/null +++ b/sound/songs/se_w011.s @@ -0,0 +1,89 @@ + .include "MPlayDef.s" + + .equ se_w011_grp, voicegroup_869D6F4 + .equ se_w011_pri, 4 + .equ se_w011_rev, reverb_set+50 + .equ se_w011_mvl, 127 + .equ se_w011_key, 0 + .equ se_w011_tbs, 1 + .equ se_w011_exg, 0 + .equ se_w011_cmp, 1 + + .section .rodata + .global se_w011 + .align 2 + +@********************** Track 1 **********************@ + +se_w011_1: + .byte KEYSH , se_w011_key+0 + .byte TEMPO , 220*se_w011_tbs/2 + .byte VOICE , 18 + .byte BENDR , 12 + .byte PAN , c_v+4 + .byte VOL , 42*se_w011_mvl/mxv + .byte BEND , c_v+39 + .byte N06 , Cn5 , v084 + .byte W01 + .byte VOL , 55*se_w011_mvl/mxv + .byte BEND , c_v+18 + .byte W01 + .byte VOL , 71*se_w011_mvl/mxv + .byte BEND , c_v+0 + .byte W01 + .byte PAN , c_v-4 + .byte VOL , 86*se_w011_mvl/mxv + .byte BEND , c_v-18 + .byte W01 + .byte VOL , 110*se_w011_mvl/mxv + .byte BEND , c_v-50 + .byte W02 + .byte PAN , c_v+0 + .byte W04 + .byte VOICE , 8 + .byte PAN , c_v-11 + .byte BEND , c_v+0 + .byte N06 , Gn4 , v120 + .byte W02 + .byte PAN , c_v+11 + .byte BEND , c_v-13 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v-26 + .byte W01 + .byte PAN , c_v-12 + .byte BEND , c_v-46 + .byte W01 + .byte PAN , c_v+11 + .byte BEND , c_v-54 + .byte W09 + .byte FINE + +@********************** Track 2 **********************@ + +se_w011_2: + .byte KEYSH , se_w011_key+0 + .byte VOICE , 27 + .byte VOL , 110*se_w011_mvl/mxv + .byte PAN , c_v+0 + .byte N06 , Cn2 , v040 + .byte W10 + .byte N02 , Gn2 + .byte W14 + .byte FINE + +@******************************************************@ + .align 2 + +se_w011: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w011_pri @ Priority + .byte se_w011_rev @ Reverb. + + .word se_w011_grp + + .word se_w011_1 + .word se_w011_2 + + .end diff --git a/sound/songs/se_w013.s b/sound/songs/se_w013.s new file mode 100644 index 0000000000..78221ab6b0 --- /dev/null +++ b/sound/songs/se_w013.s @@ -0,0 +1,86 @@ + .include "MPlayDef.s" + + .equ se_w013_grp, voicegroup_869D6F4 + .equ se_w013_pri, 4 + .equ se_w013_rev, reverb_set+50 + .equ se_w013_mvl, 127 + .equ se_w013_key, 0 + .equ se_w013_tbs, 1 + .equ se_w013_exg, 0 + .equ se_w013_cmp, 1 + + .section .rodata + .global se_w013 + .align 2 + +@********************** Track 1 **********************@ + +se_w013_1: + .byte KEYSH , se_w013_key+0 + .byte TEMPO , 220*se_w013_tbs/2 + .byte VOICE , 18 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_w013_mvl/mxv + .byte PAN , c_v+14 + .byte BEND , c_v+0 + .byte N09 , Cn5 , v092 + .byte W03 + .byte PAN , c_v-15 + .byte BEND , c_v-32 + .byte W03 + .byte PAN , c_v+0 + .byte BEND , c_v+28 + .byte W03 + .byte VOICE , 2 + .byte BEND , c_v-64 + .byte N21 , Bn2 , v108 + .byte W03 + .byte BEND , c_v-55 + .byte W03 + .byte PAN , c_v+4 + .byte BEND , c_v-45 + .byte W03 + .byte PAN , c_v-5 + .byte BEND , c_v+30 + .byte W03 + .byte PAN , c_v+15 + .byte BEND , c_v+39 + .byte W03 + .byte PAN , c_v-15 + .byte BEND , c_v+54 + .byte W03 + .byte PAN , c_v+0 + .byte BEND , c_v+63 + .byte W21 + .byte FINE + +@********************** Track 2 **********************@ + +se_w013_2: + .byte KEYSH , se_w013_key+0 + .byte VOICE , 5 + .byte PAN , c_v+0 + .byte VOL , 110*se_w013_mvl/mxv + .byte N06 , Fn3 , v040 + .byte W09 + .byte N24 , Gn3 + .byte W15 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_w013: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w013_pri @ Priority + .byte se_w013_rev @ Reverb. + + .word se_w013_grp + + .word se_w013_1 + .word se_w013_2 + + .end diff --git a/sound/songs/se_w013b.s b/sound/songs/se_w013b.s new file mode 100644 index 0000000000..bbbea17041 --- /dev/null +++ b/sound/songs/se_w013b.s @@ -0,0 +1,62 @@ + .include "MPlayDef.s" + + .equ se_w013b_grp, voicegroup_869D6F4 + .equ se_w013b_pri, 4 + .equ se_w013b_rev, reverb_set+50 + .equ se_w013b_mvl, 127 + .equ se_w013b_key, 0 + .equ se_w013b_tbs, 1 + .equ se_w013b_exg, 0 + .equ se_w013b_cmp, 1 + + .section .rodata + .global se_w013b + .align 2 + +@********************** Track 1 **********************@ + +se_w013b_1: + .byte KEYSH , se_w013b_key+0 + .byte TEMPO , 250*se_w013b_tbs/2 + .byte VOICE , 22 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 90*se_w013b_mvl/mxv + .byte BEND , c_v+0 + .byte N14 , An4 , v108 + .byte W03 + .byte PAN , c_v+5 + .byte BEND , c_v+6 + .byte W01 + .byte VOL , 80*se_w013b_mvl/mxv + .byte W02 + .byte PAN , c_v+15 + .byte BEND , c_v+1 + .byte W01 + .byte VOL , 64*se_w013b_mvl/mxv + .byte W02 + .byte PAN , c_v+6 + .byte VOL , 38*se_w013b_mvl/mxv + .byte BEND , c_v-9 + .byte W02 + .byte c_v-34 + .byte W01 + .byte PAN , c_v-1 + .byte VOL , 11*se_w013b_mvl/mxv + .byte W12 + .byte FINE + +@******************************************************@ + .align 2 + +se_w013b: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w013b_pri @ Priority + .byte se_w013b_rev @ Reverb. + + .word se_w013b_grp + + .word se_w013b_1 + + .end diff --git a/sound/songs/se_w014.s b/sound/songs/se_w014.s new file mode 100644 index 0000000000..533107146a --- /dev/null +++ b/sound/songs/se_w014.s @@ -0,0 +1,211 @@ + .include "MPlayDef.s" + + .equ se_w014_grp, voicegroup_869D6F4 + .equ se_w014_pri, 4 + .equ se_w014_rev, reverb_set+50 + .equ se_w014_mvl, 127 + .equ se_w014_key, 0 + .equ se_w014_tbs, 1 + .equ se_w014_exg, 0 + .equ se_w014_cmp, 1 + + .section .rodata + .global se_w014 + .align 2 + +@********************** Track 1 **********************@ + +se_w014_1: + .byte KEYSH , se_w014_key+0 + .byte TEMPO , 150*se_w014_tbs/2 + .byte VOICE , 28 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 100*se_w014_mvl/mxv + .byte BEND , c_v+0 + .byte N01 , Fn5 , v100 + .byte W01 + .byte PAN , c_v-6 + .byte N01 , Fs5 , v088 + .byte W01 + .byte PAN , c_v+5 + .byte N01 , Gn5 + .byte W01 + .byte PAN , c_v+0 + .byte N01 , Fs5 + .byte W01 + .byte N14 , Gn5 , v100 + .byte W02 + .byte PAN , c_v-4 + .byte W01 + .byte c_v+0 + .byte W01 + .byte c_v+5 + .byte W01 + .byte c_v+0 + .byte W01 + .byte c_v-4 + .byte W02 + .byte VOL , 95*se_w014_mvl/mxv + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 92*se_w014_mvl/mxv + .byte PAN , c_v+5 + .byte W01 + .byte VOL , 87*se_w014_mvl/mxv + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 79*se_w014_mvl/mxv + .byte PAN , c_v-4 + .byte W01 + .byte VOL , 66*se_w014_mvl/mxv + .byte PAN , c_v+0 + .byte W02 + .byte VOL , 58*se_w014_mvl/mxv + .byte W01 + .byte VOICE , 22 + .byte VOL , 100*se_w014_mvl/mxv + .byte N10 , Cn4 , v092 + .byte W01 + .byte BEND , c_v+3 + .byte W01 + .byte c_v+5 + .byte W01 + .byte PAN , c_v-1 + .byte BEND , c_v+7 + .byte W02 + .byte VOL , 96*se_w014_mvl/mxv + .byte BEND , c_v+12 + .byte W01 + .byte VOL , 90*se_w014_mvl/mxv + .byte PAN , c_v-3 + .byte BEND , c_v+16 + .byte W01 + .byte VOL , 84*se_w014_mvl/mxv + .byte BEND , c_v+20 + .byte W01 + .byte VOL , 70*se_w014_mvl/mxv + .byte PAN , c_v-6 + .byte BEND , c_v+26 + .byte W01 + .byte VOL , 61*se_w014_mvl/mxv + .byte BEND , c_v+32 + .byte W03 + .byte VOL , 100*se_w014_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N10 + .byte W01 + .byte BEND , c_v+3 + .byte W01 + .byte c_v+5 + .byte W01 + .byte PAN , c_v+2 + .byte BEND , c_v+7 + .byte W02 + .byte VOL , 96*se_w014_mvl/mxv + .byte BEND , c_v+12 + .byte W01 + .byte VOL , 90*se_w014_mvl/mxv + .byte PAN , c_v+5 + .byte BEND , c_v+16 + .byte W01 + .byte VOL , 84*se_w014_mvl/mxv + .byte BEND , c_v+20 + .byte W01 + .byte VOL , 70*se_w014_mvl/mxv + .byte PAN , c_v+7 + .byte BEND , c_v+26 + .byte W01 + .byte VOL , 61*se_w014_mvl/mxv + .byte BEND , c_v+32 + .byte W03 + .byte VOL , 100*se_w014_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N16 + .byte W01 + .byte BEND , c_v+3 + .byte W01 + .byte c_v+5 + .byte W01 + .byte PAN , c_v+3 + .byte BEND , c_v+7 + .byte W02 + .byte VOL , 96*se_w014_mvl/mxv + .byte BEND , c_v+12 + .byte W01 + .byte VOL , 90*se_w014_mvl/mxv + .byte PAN , c_v-2 + .byte BEND , c_v+16 + .byte W01 + .byte VOL , 84*se_w014_mvl/mxv + .byte BEND , c_v+20 + .byte W01 + .byte VOL , 70*se_w014_mvl/mxv + .byte PAN , c_v+6 + .byte BEND , c_v+26 + .byte W01 + .byte VOL , 61*se_w014_mvl/mxv + .byte BEND , c_v+32 + .byte W02 + .byte VOL , 56*se_w014_mvl/mxv + .byte PAN , c_v-4 + .byte BEND , c_v+36 + .byte W01 + .byte VOL , 48*se_w014_mvl/mxv + .byte BEND , c_v+42 + .byte W01 + .byte VOL , 37*se_w014_mvl/mxv + .byte PAN , c_v+11 + .byte BEND , c_v+48 + .byte W01 + .byte VOL , 25*se_w014_mvl/mxv + .byte BEND , c_v+56 + .byte W01 + .byte VOL , 11*se_w014_mvl/mxv + .byte PAN , c_v-11 + .byte BEND , c_v+63 + .byte W02 + .byte FINE + +@********************** Track 2 **********************@ + +se_w014_2: + .byte KEYSH , se_w014_key+0 + .byte VOICE , 25 + .byte VOL , 100*se_w014_mvl/mxv + .byte N04 , Cn3 , v040 + .byte W04 + .byte N14 , Gs4 + .byte W08 + .byte VOL , 89*se_w014_mvl/mxv + .byte W01 + .byte 72*se_w014_mvl/mxv + .byte W01 + .byte 46*se_w014_mvl/mxv + .byte W01 + .byte 25*se_w014_mvl/mxv + .byte W01 + .byte 11*se_w014_mvl/mxv + .byte W08 + .byte W12 + .byte W12 + .byte W12 + .byte FINE + +@******************************************************@ + .align 2 + +se_w014: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w014_pri @ Priority + .byte se_w014_rev @ Reverb. + + .word se_w014_grp + + .word se_w014_1 + .word se_w014_2 + + .end diff --git a/sound/songs/se_w015.s b/sound/songs/se_w015.s new file mode 100644 index 0000000000..5bee47967d --- /dev/null +++ b/sound/songs/se_w015.s @@ -0,0 +1,104 @@ + .include "MPlayDef.s" + + .equ se_w015_grp, voicegroup_869D6F4 + .equ se_w015_pri, 4 + .equ se_w015_rev, reverb_set+50 + .equ se_w015_mvl, 127 + .equ se_w015_key, 0 + .equ se_w015_tbs, 1 + .equ se_w015_exg, 0 + .equ se_w015_cmp, 1 + + .section .rodata + .global se_w015 + .align 2 + +@********************** Track 1 **********************@ + +se_w015_1: + .byte KEYSH , se_w015_key+0 + .byte TEMPO , 220*se_w015_tbs/2 + .byte VOICE , 22 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 120*se_w015_mvl/mxv + .byte BEND , c_v+0 + .byte N15 , Cn3 , v108 + .byte W03 + .byte VOL , 102*se_w015_mvl/mxv + .byte BEND , c_v+22 + .byte W02 + .byte c_v+8 + .byte W01 + .byte VOL , 88*se_w015_mvl/mxv + .byte W03 + .byte 75*se_w015_mvl/mxv + .byte BEND , c_v-13 + .byte W03 + .byte VOL , 55*se_w015_mvl/mxv + .byte W03 + .byte VOICE , 18 + .byte VOL , 120*se_w015_mvl/mxv + .byte PAN , c_v+14 + .byte BEND , c_v+0 + .byte N09 , Cn5 , v092 + .byte W03 + .byte PAN , c_v-15 + .byte BEND , c_v-32 + .byte W03 + .byte PAN , c_v+0 + .byte BEND , c_v+28 + .byte W03 + .byte VOICE , 2 + .byte BEND , c_v-64 + .byte N21 , Cn3 , v108 + .byte W03 + .byte BEND , c_v-55 + .byte W03 + .byte PAN , c_v+4 + .byte BEND , c_v-45 + .byte W03 + .byte PAN , c_v-5 + .byte BEND , c_v+30 + .byte W03 + .byte PAN , c_v+15 + .byte BEND , c_v+39 + .byte W03 + .byte PAN , c_v-15 + .byte BEND , c_v+54 + .byte W03 + .byte PAN , c_v+0 + .byte BEND , c_v+63 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_w015_2: + .byte KEYSH , se_w015_key+0 + .byte VOICE , 5 + .byte PAN , c_v+0 + .byte VOL , 120*se_w015_mvl/mxv + .byte N15 , Cn2 , v040 + .byte W15 + .byte N06 , Fs3 + .byte W09 + .byte N24 , Gs3 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_w015: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w015_pri @ Priority + .byte se_w015_rev @ Reverb. + + .word se_w015_grp + + .word se_w015_1 + .word se_w015_2 + + .end diff --git a/sound/songs/se_w016.s b/sound/songs/se_w016.s new file mode 100644 index 0000000000..d7e9ac8a3b --- /dev/null +++ b/sound/songs/se_w016.s @@ -0,0 +1,103 @@ + .include "MPlayDef.s" + + .equ se_w016_grp, voicegroup_869D6F4 + .equ se_w016_pri, 4 + .equ se_w016_rev, reverb_set+50 + .equ se_w016_mvl, 127 + .equ se_w016_key, 0 + .equ se_w016_tbs, 1 + .equ se_w016_exg, 0 + .equ se_w016_cmp, 1 + + .section .rodata + .global se_w016 + .align 2 + +@********************** Track 1 **********************@ + +se_w016_1: + .byte KEYSH , se_w016_key+0 + .byte TEMPO , 150*se_w016_tbs/2 + .byte VOICE , 22 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 64*se_w016_mvl/mxv + .byte BEND , c_v+0 + .byte N24 , Cn3 , v108 + .byte W03 + .byte VOL , 79*se_w016_mvl/mxv + .byte BEND , c_v+22 + .byte W02 + .byte c_v+8 + .byte W01 + .byte VOL , 84*se_w016_mvl/mxv + .byte PAN , c_v-4 + .byte W03 + .byte VOL , 91*se_w016_mvl/mxv + .byte BEND , c_v+0 + .byte W03 + .byte VOL , 100*se_w016_mvl/mxv + .byte PAN , c_v-8 + .byte W03 + .byte VOL , 110*se_w016_mvl/mxv + .byte W03 + .byte PAN , c_v-12 + .byte W06 +se_w016_1_B1: + .byte PAN , c_v-17 + .byte BEND , c_v+0 + .byte N48 , Cn3 , v108 + .byte W03 + .byte BEND , c_v-7 + .byte W03 + .byte PAN , c_v-9 + .byte BEND , c_v-12 + .byte W03 + .byte c_v-20 + .byte W03 + .byte PAN , c_v-3 + .byte W03 + .byte c_v+6 + .byte BEND , c_v-13 + .byte W03 + .byte PAN , c_v+10 + .byte W03 + .byte BEND , c_v-6 + .byte W03 + .byte PAN , c_v+16 + .byte W03 + .byte BEND , c_v+6 + .byte W03 + .byte PAN , c_v+13 + .byte BEND , c_v+11 + .byte W03 + .byte c_v+20 + .byte W03 + .byte PAN , c_v+8 + .byte W03 + .byte c_v+0 + .byte BEND , c_v+12 + .byte W03 + .byte PAN , c_v-8 + .byte BEND , c_v+7 + .byte W03 + .byte PAN , c_v-11 + .byte W03 + .byte GOTO + .word se_w016_1_B1 + .byte FINE + +@******************************************************@ + .align 2 + +se_w016: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w016_pri @ Priority + .byte se_w016_rev @ Reverb. + + .word se_w016_grp + + .word se_w016_1 + + .end diff --git a/sound/songs/se_w016b.s b/sound/songs/se_w016b.s new file mode 100644 index 0000000000..5fac149e02 --- /dev/null +++ b/sound/songs/se_w016b.s @@ -0,0 +1,72 @@ + .include "MPlayDef.s" + + .equ se_w016b_grp, voicegroup_869D6F4 + .equ se_w016b_pri, 4 + .equ se_w016b_rev, reverb_set+50 + .equ se_w016b_mvl, 127 + .equ se_w016b_key, 0 + .equ se_w016b_tbs, 1 + .equ se_w016b_exg, 0 + .equ se_w016b_cmp, 1 + + .section .rodata + .global se_w016b + .align 2 + +@********************** Track 1 **********************@ + +se_w016b_1: + .byte KEYSH , se_w016b_key+0 + .byte TEMPO , 150*se_w016b_tbs/2 + .byte VOICE , 22 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_w016b_mvl/mxv + .byte BEND , c_v+0 + .byte N24 , Cn3 , v108 + .byte W02 + .byte PAN , c_v-19 + .byte W04 + .byte c_v+0 + .byte W01 + .byte VOL , 97*se_w016b_mvl/mxv + .byte W01 + .byte PAN , c_v+16 + .byte W01 + .byte VOL , 84*se_w016b_mvl/mxv + .byte W03 + .byte 76*se_w016b_mvl/mxv + .byte PAN , c_v+2 + .byte W02 + .byte VOL , 55*se_w016b_mvl/mxv + .byte PAN , c_v-8 + .byte W02 + .byte VOL , 39*se_w016b_mvl/mxv + .byte W02 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 25*se_w016b_mvl/mxv + .byte W01 + .byte PAN , c_v+8 + .byte W01 + .byte VOL , 13*se_w016b_mvl/mxv + .byte W03 + .byte 7*se_w016b_mvl/mxv + .byte PAN , c_v+0 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_w016b: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w016b_pri @ Priority + .byte se_w016b_rev @ Reverb. + + .word se_w016b_grp + + .word se_w016b_1 + + .end diff --git a/sound/songs/se_w017.s b/sound/songs/se_w017.s new file mode 100644 index 0000000000..c619f151e2 --- /dev/null +++ b/sound/songs/se_w017.s @@ -0,0 +1,125 @@ + .include "MPlayDef.s" + + .equ se_w017_grp, voicegroup_869D6F4 + .equ se_w017_pri, 4 + .equ se_w017_rev, reverb_set+50 + .equ se_w017_mvl, 127 + .equ se_w017_key, 0 + .equ se_w017_tbs, 1 + .equ se_w017_exg, 0 + .equ se_w017_cmp, 1 + + .section .rodata + .global se_w017 + .align 2 + +@********************** Track 1 **********************@ + +se_w017_1: + .byte KEYSH , se_w017_key+0 + .byte TEMPO , 220*se_w017_tbs/2 + .byte VOICE , 2 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 40*se_w017_mvl/mxv + .byte BEND , c_v-32 + .byte N10 , An1 , v127 + .byte W01 + .byte VOL , 52*se_w017_mvl/mxv + .byte PAN , c_v+10 + .byte BEND , c_v-16 + .byte W01 + .byte VOL , 68*se_w017_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte W01 + .byte VOL , 82*se_w017_mvl/mxv + .byte PAN , c_v-9 + .byte BEND , c_v+8 + .byte W01 + .byte VOL , 105*se_w017_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+19 + .byte W02 + .byte PAN , c_v+10 + .byte BEND , c_v+28 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+38 + .byte W01 + .byte PAN , c_v-9 + .byte BEND , c_v+49 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+63 + .byte W05 + .byte VOL , 40*se_w017_mvl/mxv + .byte BEND , c_v+1 + .byte N06 + .byte W01 + .byte VOL , 52*se_w017_mvl/mxv + .byte PAN , c_v+10 + .byte BEND , c_v+38 + .byte W01 + .byte VOL , 79*se_w017_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+48 + .byte W02 + .byte VOL , 105*se_w017_mvl/mxv + .byte PAN , c_v-9 + .byte BEND , c_v+63 + .byte W01 + .byte PAN , c_v+0 + .byte W05 + .byte FINE + +@********************** Track 2 **********************@ + +se_w017_2: + .byte KEYSH , se_w017_key+0 + .byte VOICE , 27 + .byte PAN , c_v+0 + .byte VOL , 52*se_w017_mvl/mxv + .byte N10 , Gn2 , v040 + .byte W01 + .byte VOL , 69*se_w017_mvl/mxv + .byte W01 + .byte 83*se_w017_mvl/mxv + .byte W01 + .byte 105*se_w017_mvl/mxv + .byte W01 + .byte 85*se_w017_mvl/mxv + .byte W02 + .byte 52*se_w017_mvl/mxv + .byte W01 + .byte 29*se_w017_mvl/mxv + .byte W01 + .byte 12*se_w017_mvl/mxv + .byte W06 + .byte VOICE , 25 + .byte VOL , 52*se_w017_mvl/mxv + .byte N06 , Gs4 + .byte W01 + .byte VOL , 81*se_w017_mvl/mxv + .byte W01 + .byte 105*se_w017_mvl/mxv + .byte W03 + .byte 52*se_w017_mvl/mxv + .byte W05 + .byte FINE + +@******************************************************@ + .align 2 + +se_w017: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w017_pri @ Priority + .byte se_w017_rev @ Reverb. + + .word se_w017_grp + + .word se_w017_1 + .word se_w017_2 + + .end diff --git a/sound/songs/se_w019.s b/sound/songs/se_w019.s new file mode 100644 index 0000000000..69a48893d3 --- /dev/null +++ b/sound/songs/se_w019.s @@ -0,0 +1,251 @@ + .include "MPlayDef.s" + + .equ se_w019_grp, voicegroup_869D6F4 + .equ se_w019_pri, 4 + .equ se_w019_rev, reverb_set+50 + .equ se_w019_mvl, 127 + .equ se_w019_key, 0 + .equ se_w019_tbs, 1 + .equ se_w019_exg, 0 + .equ se_w019_cmp, 1 + + .section .rodata + .global se_w019 + .align 2 + +@********************** Track 1 **********************@ + +se_w019_1: + .byte KEYSH , se_w019_key+0 + .byte TEMPO , 220*se_w019_tbs/2 + .byte VOICE , 2 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 90*se_w019_mvl/mxv + .byte BEND , c_v+0 + .byte N01 , En2 , v127 + .byte W01 + .byte VOL , 55*se_w019_mvl/mxv + .byte PAN , c_v+10 + .byte BEND , c_v-16 + .byte N07 , An1 + .byte W01 + .byte VOL , 71*se_w019_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte W01 + .byte VOL , 86*se_w019_mvl/mxv + .byte PAN , c_v-9 + .byte BEND , c_v+17 + .byte W01 + .byte VOL , 110*se_w019_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+33 + .byte W02 + .byte PAN , c_v+10 + .byte BEND , c_v+54 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+63 + .byte W02 + .byte VOL , 90*se_w019_mvl/mxv + .byte PAN , c_v+10 + .byte BEND , c_v+1 + .byte N04 + .byte W01 + .byte VOL , 54*se_w019_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+38 + .byte W02 + .byte VOL , 83*se_w019_mvl/mxv + .byte PAN , c_v-9 + .byte BEND , c_v+48 + .byte W01 + .byte VOL , 110*se_w019_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+63 + .byte W03 + .byte VOL , 90*se_w019_mvl/mxv + .byte BEND , c_v+0 + .byte N01 , Ds2 , v104 + .byte W02 + .byte PAN , c_v+10 + .byte VOL , 55*se_w019_mvl/mxv + .byte BEND , c_v-16 + .byte N07 , Gs1 , v100 + .byte W01 + .byte PAN , c_v+0 + .byte VOL , 71*se_w019_mvl/mxv + .byte BEND , c_v+0 + .byte W01 + .byte PAN , c_v-9 + .byte VOL , 86*se_w019_mvl/mxv + .byte BEND , c_v+17 + .byte W01 + .byte PAN , c_v+0 + .byte VOL , 110*se_w019_mvl/mxv + .byte BEND , c_v+33 + .byte W01 + .byte PAN , c_v+10 + .byte BEND , c_v+54 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+63 + .byte W02 + .byte PAN , c_v+10 + .byte VOL , 90*se_w019_mvl/mxv + .byte BEND , c_v+1 + .byte N04 + .byte W01 + .byte PAN , c_v+0 + .byte VOL , 54*se_w019_mvl/mxv + .byte BEND , c_v+38 + .byte W01 + .byte PAN , c_v-9 + .byte VOL , 83*se_w019_mvl/mxv + .byte BEND , c_v+48 + .byte W02 + .byte PAN , c_v+0 + .byte VOL , 110*se_w019_mvl/mxv + .byte BEND , c_v+63 + .byte W03 + .byte VOL , 90*se_w019_mvl/mxv + .byte BEND , c_v+0 + .byte N01 , Dn2 , v088 + .byte W01 + .byte PAN , c_v+10 + .byte VOL , 55*se_w019_mvl/mxv + .byte BEND , c_v-16 + .byte N07 , Gn1 , v060 + .byte W02 + .byte PAN , c_v+0 + .byte VOL , 71*se_w019_mvl/mxv + .byte BEND , c_v+0 + .byte W01 + .byte PAN , c_v-9 + .byte VOL , 86*se_w019_mvl/mxv + .byte BEND , c_v+17 + .byte W01 + .byte PAN , c_v+0 + .byte VOL , 110*se_w019_mvl/mxv + .byte BEND , c_v+33 + .byte W01 + .byte PAN , c_v+10 + .byte BEND , c_v+54 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+63 + .byte W03 + .byte PAN , c_v+10 + .byte VOL , 90*se_w019_mvl/mxv + .byte BEND , c_v+1 + .byte N04 + .byte W01 + .byte PAN , c_v+0 + .byte VOL , 54*se_w019_mvl/mxv + .byte BEND , c_v+38 + .byte W01 + .byte PAN , c_v-9 + .byte VOL , 83*se_w019_mvl/mxv + .byte BEND , c_v+48 + .byte W01 + .byte PAN , c_v+0 + .byte VOL , 110*se_w019_mvl/mxv + .byte BEND , c_v+63 + .byte W02 + .byte FINE + +@********************** Track 2 **********************@ + +se_w019_2: + .byte KEYSH , se_w019_key+0 + .byte VOICE , 25 + .byte PAN , c_v+0 + .byte VOL , 110*se_w019_mvl/mxv + .byte N08 , Cn2 , v040 + .byte W01 + .byte VOL , 72*se_w019_mvl/mxv + .byte W01 + .byte 87*se_w019_mvl/mxv + .byte W01 + .byte 110*se_w019_mvl/mxv + .byte W01 + .byte 89*se_w019_mvl/mxv + .byte W02 + .byte 49*se_w019_mvl/mxv + .byte W01 + .byte 14*se_w019_mvl/mxv + .byte W02 + .byte 110*se_w019_mvl/mxv + .byte N04 , Gn4 + .byte W01 + .byte VOL , 84*se_w019_mvl/mxv + .byte W02 + .byte 110*se_w019_mvl/mxv + .byte W02 + .byte 55*se_w019_mvl/mxv + .byte W02 + .byte 110*se_w019_mvl/mxv + .byte N08 , Cn2 , v032 + .byte W02 + .byte VOL , 72*se_w019_mvl/mxv + .byte W01 + .byte 87*se_w019_mvl/mxv + .byte W01 + .byte 110*se_w019_mvl/mxv + .byte W01 + .byte 89*se_w019_mvl/mxv + .byte W01 + .byte 49*se_w019_mvl/mxv + .byte W02 + .byte 14*se_w019_mvl/mxv + .byte W02 + .byte 110*se_w019_mvl/mxv + .byte N04 , Gn4 + .byte W01 + .byte VOL , 84*se_w019_mvl/mxv + .byte W01 + .byte 110*se_w019_mvl/mxv + .byte W03 + .byte 55*se_w019_mvl/mxv + .byte W02 + .byte 110*se_w019_mvl/mxv + .byte N08 , Cn2 , v020 + .byte W01 + .byte VOL , 72*se_w019_mvl/mxv + .byte W02 + .byte 87*se_w019_mvl/mxv + .byte W01 + .byte 110*se_w019_mvl/mxv + .byte W01 + .byte 89*se_w019_mvl/mxv + .byte W01 + .byte 49*se_w019_mvl/mxv + .byte W01 + .byte 14*se_w019_mvl/mxv + .byte W03 + .byte 110*se_w019_mvl/mxv + .byte N04 , Gn4 + .byte W01 + .byte VOL , 84*se_w019_mvl/mxv + .byte W01 + .byte 110*se_w019_mvl/mxv + .byte W03 + .byte 55*se_w019_mvl/mxv + .byte FINE + +@******************************************************@ + .align 2 + +se_w019: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w019_pri @ Priority + .byte se_w019_rev @ Reverb. + + .word se_w019_grp + + .word se_w019_1 + .word se_w019_2 + + .end diff --git a/sound/songs/se_w020.s b/sound/songs/se_w020.s new file mode 100644 index 0000000000..78777f914c --- /dev/null +++ b/sound/songs/se_w020.s @@ -0,0 +1,81 @@ + .include "MPlayDef.s" + + .equ se_w020_grp, voicegroup_869D6F4 + .equ se_w020_pri, 4 + .equ se_w020_rev, reverb_set+50 + .equ se_w020_mvl, 127 + .equ se_w020_key, 0 + .equ se_w020_tbs, 1 + .equ se_w020_exg, 0 + .equ se_w020_cmp, 1 + + .section .rodata + .global se_w020 + .align 2 + +@********************** Track 1 **********************@ + +se_w020_1: + .byte KEYSH , se_w020_key+0 + .byte TEMPO , 150*se_w020_tbs/2 + .byte VOICE , 38 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 100*se_w020_mvl/mxv + .byte BEND , c_v+0 + .byte N05 , Fs2 , v127 + .byte W01 + .byte PAN , c_v-5 + .byte BEND , c_v-3 + .byte W01 + .byte PAN , c_v+4 + .byte BEND , c_v-5 + .byte W01 + .byte PAN , c_v-8 + .byte BEND , c_v-9 + .byte W01 + .byte PAN , c_v+11 + .byte BEND , c_v-12 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N11 + .byte W02 + .byte BEND , c_v-10 + .byte W01 + .byte c_v-6 + .byte W01 + .byte PAN , c_v-5 + .byte BEND , c_v-4 + .byte W01 + .byte c_v+0 + .byte W01 + .byte PAN , c_v+4 + .byte BEND , c_v-3 + .byte W02 + .byte c_v+3 + .byte W01 + .byte PAN , c_v-8 + .byte BEND , c_v-9 + .byte W01 + .byte c_v-21 + .byte W01 + .byte PAN , c_v+11 + .byte BEND , c_v-28 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_w020: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w020_pri @ Priority + .byte se_w020_rev @ Reverb. + + .word se_w020_grp + + .word se_w020_1 + + .end diff --git a/sound/songs/se_w025.s b/sound/songs/se_w025.s new file mode 100644 index 0000000000..2130413f3f --- /dev/null +++ b/sound/songs/se_w025.s @@ -0,0 +1,150 @@ + .include "MPlayDef.s" + + .equ se_w025_grp, voicegroup_869D6F4 + .equ se_w025_pri, 4 + .equ se_w025_rev, reverb_set+50 + .equ se_w025_mvl, 127 + .equ se_w025_key, 0 + .equ se_w025_tbs, 1 + .equ se_w025_exg, 0 + .equ se_w025_cmp, 1 + + .section .rodata + .global se_w025 + .align 2 + +@********************** Track 1 **********************@ + +se_w025_1: + .byte KEYSH , se_w025_key+0 + .byte TEMPO , 150*se_w025_tbs/2 + .byte VOICE , 22 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 63*se_w025_mvl/mxv + .byte BEND , c_v-48 + .byte N72 , Fn4 , v108 + .byte W02 + .byte VOL , 68*se_w025_mvl/mxv + .byte BEND , c_v-43 + .byte W01 + .byte PAN , c_v+5 + .byte W01 + .byte BEND , c_v-38 + .byte W02 + .byte PAN , c_v+15 + .byte VOL , 70*se_w025_mvl/mxv + .byte W01 + .byte BEND , c_v-34 + .byte W02 + .byte PAN , c_v+6 + .byte VOL , 75*se_w025_mvl/mxv + .byte BEND , c_v-30 + .byte W03 + .byte PAN , c_v-1 + .byte BEND , c_v-28 + .byte W01 + .byte VOL , 78*se_w025_mvl/mxv + .byte W01 + .byte BEND , c_v-24 + .byte W01 + .byte PAN , c_v-9 + .byte W01 + .byte VOL , 85*se_w025_mvl/mxv + .byte BEND , c_v-21 + .byte W02 + .byte PAN , c_v-15 + .byte W01 + .byte BEND , c_v-16 + .byte W01 + .byte VOL , 90*se_w025_mvl/mxv + .byte W01 + .byte PAN , c_v-9 + .byte BEND , c_v-12 + .byte W03 + .byte PAN , c_v+0 + .byte BEND , c_v-8 + .byte W02 + .byte c_v-3 + .byte W01 + .byte PAN , c_v+5 + .byte W01 + .byte BEND , c_v+2 + .byte W02 + .byte PAN , c_v+15 + .byte W01 + .byte BEND , c_v+5 + .byte W02 + .byte PAN , c_v+6 + .byte BEND , c_v+9 + .byte W03 + .byte PAN , c_v-1 + .byte BEND , c_v+11 + .byte W02 + .byte c_v+14 + .byte W01 + .byte PAN , c_v-9 + .byte W01 + .byte BEND , c_v+19 + .byte W02 + .byte PAN , c_v-15 + .byte W01 + .byte BEND , c_v+23 + .byte W02 + .byte PAN , c_v-9 + .byte BEND , c_v+27 + .byte W03 + .byte PAN , c_v+0 + .byte BEND , c_v+29 + .byte W02 + .byte c_v+33 + .byte W01 + .byte PAN , c_v+5 + .byte W01 + .byte BEND , c_v+35 + .byte W02 + .byte VOL , 74*se_w025_mvl/mxv + .byte PAN , c_v+15 + .byte W01 + .byte BEND , c_v+38 + .byte W02 + .byte VOL , 58*se_w025_mvl/mxv + .byte PAN , c_v+6 + .byte BEND , c_v+42 + .byte W03 + .byte VOL , 47*se_w025_mvl/mxv + .byte PAN , c_v-1 + .byte BEND , c_v+45 + .byte W02 + .byte c_v+48 + .byte W01 + .byte VOL , 34*se_w025_mvl/mxv + .byte PAN , c_v-9 + .byte W01 + .byte BEND , c_v+50 + .byte W02 + .byte VOL , 22*se_w025_mvl/mxv + .byte PAN , c_v-15 + .byte W01 + .byte BEND , c_v+54 + .byte W02 + .byte VOL , 6*se_w025_mvl/mxv + .byte PAN , c_v-9 + .byte BEND , c_v+58 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_w025: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w025_pri @ Priority + .byte se_w025_rev @ Reverb. + + .word se_w025_grp + + .word se_w025_1 + + .end diff --git a/sound/songs/se_w025b.s b/sound/songs/se_w025b.s new file mode 100644 index 0000000000..00e02113ef --- /dev/null +++ b/sound/songs/se_w025b.s @@ -0,0 +1,128 @@ + .include "MPlayDef.s" + + .equ se_w025b_grp, voicegroup_869D6F4 + .equ se_w025b_pri, 4 + .equ se_w025b_rev, reverb_set+50 + .equ se_w025b_mvl, 127 + .equ se_w025b_key, 0 + .equ se_w025b_tbs, 1 + .equ se_w025b_exg, 0 + .equ se_w025b_cmp, 1 + + .section .rodata + .global se_w025b + .align 2 + +@********************** Track 1 **********************@ + +se_w025b_1: + .byte KEYSH , se_w025b_key+0 + .byte TEMPO , 220*se_w025b_tbs/2 + .byte VOICE , 6 + .byte VOL , 110*se_w025b_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N04 , En3 , v127 + .byte W01 + .byte BEND , c_v-13 + .byte W01 + .byte PAN , c_v+10 + .byte BEND , c_v-38 + .byte W01 + .byte PAN , c_v-9 + .byte BEND , c_v-64 + .byte W03 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N03 , An2 + .byte W01 + .byte PAN , c_v+7 + .byte BEND , c_v-28 + .byte W01 + .byte c_v-64 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N03 , Cn3 , v060 + .byte W01 + .byte PAN , c_v-6 + .byte BEND , c_v-28 + .byte W02 + .byte c_v-64 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N10 , Gn2 , v127 + .byte W01 + .byte BEND , c_v-8 + .byte W01 + .byte VOL , 101*se_w025b_mvl/mxv + .byte PAN , c_v-6 + .byte BEND , c_v-15 + .byte W02 + .byte c_v-20 + .byte W01 + .byte VOL , 83*se_w025b_mvl/mxv + .byte PAN , c_v+6 + .byte BEND , c_v-24 + .byte W01 + .byte c_v-30 + .byte W01 + .byte VOL , 58*se_w025b_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-39 + .byte W01 + .byte c_v-53 + .byte W02 + .byte VOL , 25*se_w025b_mvl/mxv + .byte BEND , c_v-64 + .byte W24 + .byte FINE + +@********************** Track 2 **********************@ + +se_w025b_2: + .byte KEYSH , se_w025b_key+0 + .byte VOICE , 5 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 110*se_w025b_mvl/mxv + .byte PAN , c_v+9 + .byte N03 , Gs2 , v092 + .byte W06 + .byte PAN , c_v-7 + .byte N03 , Gs2 , v052 + .byte W03 + .byte N03 + .byte W05 + .byte VOICE , 27 + .byte PAN , c_v+0 + .byte N13 + .byte W04 + .byte VOL , 101*se_w025b_mvl/mxv + .byte W02 + .byte 83*se_w025b_mvl/mxv + .byte W02 + .byte 58*se_w025b_mvl/mxv + .byte W02 + .byte W01 + .byte 25*se_w025b_mvl/mxv + .byte W23 + .byte FINE + +@******************************************************@ + .align 2 + +se_w025b: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w025b_pri @ Priority + .byte se_w025b_rev @ Reverb. + + .word se_w025b_grp + + .word se_w025b_1 + .word se_w025b_2 + + .end diff --git a/sound/songs/se_w026.s b/sound/songs/se_w026.s new file mode 100644 index 0000000000..68b8cf7aab --- /dev/null +++ b/sound/songs/se_w026.s @@ -0,0 +1,71 @@ + .include "MPlayDef.s" + + .equ se_w026_grp, voicegroup_869D6F4 + .equ se_w026_pri, 4 + .equ se_w026_rev, reverb_set+50 + .equ se_w026_mvl, 127 + .equ se_w026_key, 0 + .equ se_w026_tbs, 1 + .equ se_w026_exg, 0 + .equ se_w026_cmp, 1 + + .section .rodata + .global se_w026 + .align 2 + +@********************** Track 1 **********************@ + +se_w026_1: + .byte KEYSH , se_w026_key+0 + .byte TEMPO , 180*se_w026_tbs/2 + .byte VOICE , 22 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_w026_mvl/mxv + .byte BEND , c_v-12 + .byte N19 , Gn3 , v108 + .byte W02 + .byte BEND , c_v-5 + .byte W01 + .byte VOL , 101*se_w026_mvl/mxv + .byte W01 + .byte PAN , c_v-9 + .byte BEND , c_v+8 + .byte W02 + .byte VOL , 84*se_w026_mvl/mxv + .byte BEND , c_v+4 + .byte W02 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 64*se_w026_mvl/mxv + .byte BEND , c_v-13 + .byte W01 + .byte PAN , c_v+8 + .byte W02 + .byte VOL , 45*se_w026_mvl/mxv + .byte BEND , c_v-31 + .byte W02 + .byte VOL , 32*se_w026_mvl/mxv + .byte PAN , c_v+0 + .byte W01 + .byte VOICE , 2 + .byte W01 + .byte VOL , 13*se_w026_mvl/mxv + .byte BEND , c_v-52 + .byte W08 + .byte FINE + +@******************************************************@ + .align 2 + +se_w026: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w026_pri @ Priority + .byte se_w026_rev @ Reverb. + + .word se_w026_grp + + .word se_w026_1 + + .end diff --git a/sound/songs/se_w028.s b/sound/songs/se_w028.s new file mode 100644 index 0000000000..be57c788e2 --- /dev/null +++ b/sound/songs/se_w028.s @@ -0,0 +1,95 @@ + .include "MPlayDef.s" + + .equ se_w028_grp, voicegroup_869D6F4 + .equ se_w028_pri, 4 + .equ se_w028_rev, reverb_set+50 + .equ se_w028_mvl, 127 + .equ se_w028_key, 0 + .equ se_w028_tbs, 1 + .equ se_w028_exg, 0 + .equ se_w028_cmp, 1 + + .section .rodata + .global se_w028 + .align 2 + +@********************** Track 1 **********************@ + +se_w028_1: + .byte KEYSH , se_w028_key+0 + .byte TEMPO , 150*se_w028_tbs/2 + .byte VOICE , 26 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_w028_mvl/mxv + .byte BEND , c_v+0 + .byte N02 , Gn5 , v092 + .byte W02 + .byte Cn5 + .byte W04 + .byte VOICE , 36 + .byte VOL , 84*se_w028_mvl/mxv + .byte PAN , c_v+5 + .byte N15 , Gn5 , v040 + .byte W01 + .byte PAN , c_v-10 + .byte W01 + .byte c_v+5 + .byte W01 + .byte c_v-10 + .byte W01 + .byte VOL , 94*se_w028_mvl/mxv + .byte PAN , c_v+5 + .byte W02 + .byte c_v-10 + .byte W01 + .byte c_v+5 + .byte W01 + .byte c_v-10 + .byte W01 + .byte VOL , 110*se_w028_mvl/mxv + .byte PAN , c_v+5 + .byte W01 + .byte c_v-10 + .byte W02 + .byte VOL , 96*se_w028_mvl/mxv + .byte PAN , c_v+5 + .byte W01 + .byte VOL , 68*se_w028_mvl/mxv + .byte PAN , c_v-10 + .byte W01 + .byte VOL , 15*se_w028_mvl/mxv + .byte PAN , c_v+5 + .byte W01 + .byte c_v-10 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_w028_2: + .byte KEYSH , se_w028_key+0 + .byte VOICE , 25 + .byte VOL , 110*se_w028_mvl/mxv + .byte PAN , c_v+0 + .byte N01 , Cn3 , v040 + .byte W02 + .byte N01 + .byte W22 + .byte FINE + +@******************************************************@ + .align 2 + +se_w028: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w028_pri @ Priority + .byte se_w028_rev @ Reverb. + + .word se_w028_grp + + .word se_w028_1 + .word se_w028_2 + + .end diff --git a/sound/songs/se_w029.s b/sound/songs/se_w029.s new file mode 100644 index 0000000000..d76d2dffe2 --- /dev/null +++ b/sound/songs/se_w029.s @@ -0,0 +1,87 @@ + .include "MPlayDef.s" + + .equ se_w029_grp, voicegroup_869D6F4 + .equ se_w029_pri, 4 + .equ se_w029_rev, reverb_set+50 + .equ se_w029_mvl, 127 + .equ se_w029_key, 0 + .equ se_w029_tbs, 1 + .equ se_w029_exg, 0 + .equ se_w029_cmp, 1 + + .section .rodata + .global se_w029 + .align 2 + +@********************** Track 1 **********************@ + +se_w029_1: + .byte KEYSH , se_w029_key+0 + .byte TEMPO , 150*se_w029_tbs/2 + .byte VOICE , 2 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 25*se_w029_mvl/mxv + .byte BEND , c_v-48 + .byte N07 , Cn1 , v127 + .byte W01 + .byte VOL , 41*se_w029_mvl/mxv + .byte BEND , c_v-31 + .byte W01 + .byte PAN , c_v+7 + .byte VOL , 57*se_w029_mvl/mxv + .byte BEND , c_v-16 + .byte W01 + .byte VOL , 79*se_w029_mvl/mxv + .byte BEND , c_v+0 + .byte W01 + .byte PAN , c_v+11 + .byte VOL , 110*se_w029_mvl/mxv + .byte BEND , c_v+14 + .byte W02 + .byte c_v+32 + .byte W01 + .byte PAN , c_v+14 + .byte W01 + .byte VOL , 25*se_w029_mvl/mxv + .byte BEND , c_v-48 + .byte N07 , Dn1 + .byte W01 + .byte PAN , c_v+19 + .byte VOL , 41*se_w029_mvl/mxv + .byte BEND , c_v-31 + .byte W01 + .byte VOL , 57*se_w029_mvl/mxv + .byte BEND , c_v-16 + .byte W02 + .byte PAN , c_v+0 + .byte VOL , 79*se_w029_mvl/mxv + .byte BEND , c_v+0 + .byte W01 + .byte VOL , 110*se_w029_mvl/mxv + .byte BEND , c_v+14 + .byte W01 + .byte PAN , c_v-8 + .byte BEND , c_v+32 + .byte W02 + .byte PAN , c_v-11 + .byte W03 + .byte c_v-15 + .byte W05 + .byte VOL , 110*se_w029_mvl/mxv + .byte FINE + +@******************************************************@ + .align 2 + +se_w029: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w029_pri @ Priority + .byte se_w029_rev @ Reverb. + + .word se_w029_grp + + .word se_w029_1 + + .end diff --git a/sound/songs/se_w030.s b/sound/songs/se_w030.s new file mode 100644 index 0000000000..82595d2341 --- /dev/null +++ b/sound/songs/se_w030.s @@ -0,0 +1,67 @@ + .include "MPlayDef.s" + + .equ se_w030_grp, voicegroup_869D6F4 + .equ se_w030_pri, 4 + .equ se_w030_rev, reverb_set+50 + .equ se_w030_mvl, 127 + .equ se_w030_key, 0 + .equ se_w030_tbs, 1 + .equ se_w030_exg, 0 + .equ se_w030_cmp, 1 + + .section .rodata + .global se_w030 + .align 2 + +@********************** Track 1 **********************@ + +se_w030_1: + .byte KEYSH , se_w030_key+0 + .byte TEMPO , 150*se_w030_tbs/2 + .byte VOICE , 21 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_w030_mvl/mxv + .byte BEND , c_v+1 + .byte N01 , Bn5 , v127 + .byte W02 + .byte VOICE , 18 + .byte N01 , Cn4 + .byte W02 + .byte VOICE , 36 + .byte N06 , Gn5 , v040 + .byte W02 + .byte VOL , 58*se_w030_mvl/mxv + .byte PAN , c_v+16 + .byte BEND , c_v+5 + .byte W01 + .byte VOL , 71*se_w030_mvl/mxv + .byte PAN , c_v-14 + .byte BEND , c_v+13 + .byte W01 + .byte VOL , 84*se_w030_mvl/mxv + .byte PAN , c_v+16 + .byte BEND , c_v+21 + .byte W01 + .byte VOL , 97*se_w030_mvl/mxv + .byte PAN , c_v-14 + .byte BEND , c_v+33 + .byte W01 + .byte VOL , 110*se_w030_mvl/mxv + .byte W14 + .byte FINE + +@******************************************************@ + .align 2 + +se_w030: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w030_pri @ Priority + .byte se_w030_rev @ Reverb. + + .word se_w030_grp + + .word se_w030_1 + + .end diff --git a/sound/songs/se_w036.s b/sound/songs/se_w036.s new file mode 100644 index 0000000000..4f5f19264f --- /dev/null +++ b/sound/songs/se_w036.s @@ -0,0 +1,95 @@ + .include "MPlayDef.s" + + .equ se_w036_grp, voicegroup_869D6F4 + .equ se_w036_pri, 4 + .equ se_w036_rev, reverb_set+50 + .equ se_w036_mvl, 127 + .equ se_w036_key, 0 + .equ se_w036_tbs, 1 + .equ se_w036_exg, 0 + .equ se_w036_cmp, 1 + + .section .rodata + .global se_w036 + .align 2 + +@********************** Track 1 **********************@ + +se_w036_1: + .byte KEYSH , se_w036_key+0 + .byte TEMPO , 150*se_w036_tbs/2 + .byte VOICE , 2 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 105*se_w036_mvl/mxv + .byte BEND , c_v-48 + .byte N10 , Gn0 , v127 + .byte W02 + .byte PAN , c_v+7 + .byte BEND , c_v-32 + .byte W01 + .byte c_v-16 + .byte W01 + .byte PAN , c_v+11 + .byte BEND , c_v+0 + .byte W02 + .byte c_v+15 + .byte W01 + .byte PAN , c_v+14 + .byte W01 + .byte BEND , c_v+32 + .byte W01 + .byte PAN , c_v+19 + .byte W03 + .byte c_v+0 + .byte VOL , 105*se_w036_mvl/mxv + .byte BEND , c_v-32 + .byte N10 + .byte W02 + .byte PAN , c_v-8 + .byte BEND , c_v-16 + .byte W01 + .byte c_v+0 + .byte W01 + .byte PAN , c_v-11 + .byte BEND , c_v+16 + .byte W02 + .byte c_v+32 + .byte W01 + .byte PAN , c_v-15 + .byte W01 + .byte BEND , c_v+48 + .byte W01 + .byte PAN , c_v-20 + .byte W03 + .byte c_v+0 + .byte VOL , 105*se_w036_mvl/mxv + .byte BEND , c_v-16 + .byte N10 + .byte W02 + .byte BEND , c_v+0 + .byte W01 + .byte c_v+16 + .byte W01 + .byte c_v+32 + .byte W02 + .byte c_v+47 + .byte W02 + .byte c_v+63 + .byte W16 + .byte FINE + +@******************************************************@ + .align 2 + +se_w036: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w036_pri @ Priority + .byte se_w036_rev @ Reverb. + + .word se_w036_grp + + .word se_w036_1 + + .end diff --git a/sound/songs/se_w039.s b/sound/songs/se_w039.s new file mode 100644 index 0000000000..292a4b472f --- /dev/null +++ b/sound/songs/se_w039.s @@ -0,0 +1,63 @@ + .include "MPlayDef.s" + + .equ se_w039_grp, voicegroup_869D6F4 + .equ se_w039_pri, 4 + .equ se_w039_rev, reverb_set+50 + .equ se_w039_mvl, 127 + .equ se_w039_key, 0 + .equ se_w039_tbs, 1 + .equ se_w039_exg, 0 + .equ se_w039_cmp, 1 + + .section .rodata + .global se_w039 + .align 2 + +@********************** Track 1 **********************@ + +se_w039_1: + .byte KEYSH , se_w039_key+0 + .byte TEMPO , 150*se_w039_tbs/2 + .byte VOICE , 15 + .byte BENDR , 12 + .byte PAN , c_v+18 + .byte VOL , 48*se_w039_mvl/mxv + .byte BEND , c_v-48 + .byte N04 , Gn2 , v127 + .byte W01 + .byte VOL , 81*se_w039_mvl/mxv + .byte BEND , c_v-16 + .byte W01 + .byte VOL , 110*se_w039_mvl/mxv + .byte BEND , c_v+16 + .byte W01 + .byte c_v+0 + .byte W04 + .byte VOL , 48*se_w039_mvl/mxv + .byte PAN , c_v-16 + .byte BEND , c_v-48 + .byte N04 , An2 + .byte W01 + .byte VOL , 81*se_w039_mvl/mxv + .byte BEND , c_v-16 + .byte W01 + .byte VOL , 110*se_w039_mvl/mxv + .byte BEND , c_v+16 + .byte W15 + .byte VOL , 110*se_w039_mvl/mxv + .byte FINE + +@******************************************************@ + .align 2 + +se_w039: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w039_pri @ Priority + .byte se_w039_rev @ Reverb. + + .word se_w039_grp + + .word se_w039_1 + + .end diff --git a/sound/songs/se_w043.s b/sound/songs/se_w043.s new file mode 100644 index 0000000000..a30cc67278 --- /dev/null +++ b/sound/songs/se_w043.s @@ -0,0 +1,105 @@ + .include "MPlayDef.s" + + .equ se_w043_grp, voicegroup_869D6F4 + .equ se_w043_pri, 4 + .equ se_w043_rev, reverb_set+50 + .equ se_w043_mvl, 127 + .equ se_w043_key, 0 + .equ se_w043_tbs, 1 + .equ se_w043_exg, 0 + .equ se_w043_cmp, 1 + + .section .rodata + .global se_w043 + .align 2 + +@********************** Track 1 **********************@ + +se_w043_1: + .byte KEYSH , se_w043_key+0 + .byte TEMPO , 150*se_w043_tbs/2 + .byte VOICE , 18 + .byte VOL , 110*se_w043_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N02 , En3 , v124 + .byte W02 + .byte As3 + .byte W04 + .byte W01 + .byte N03 , En3 , v092 + .byte W05 + .byte W04 + .byte PAN , c_v-6 + .byte N02 , En3 , v076 + .byte W02 + .byte W01 + .byte PAN , c_v+6 + .byte N02 , As3 + .byte W05 + .byte PAN , c_v+0 + .byte N03 , En3 , v052 + .byte W06 + .byte W03 + .byte PAN , c_v-12 + .byte N02 , En3 , v056 + .byte W03 + .byte PAN , c_v+10 + .byte N02 , As3 + .byte W04 + .byte PAN , c_v+0 + .byte N03 , En3 , v032 + .byte W02 + .byte W06 + .byte W01 + .byte PAN , c_v-16 + .byte N02 , En3 , v044 + .byte W02 + .byte PAN , c_v+16 + .byte N02 , As3 + .byte W03 + .byte W02 + .byte PAN , c_v+0 + .byte N03 , En3 , v020 + .byte W04 + .byte FINE + +@********************** Track 2 **********************@ + +se_w043_2: + .byte KEYSH , se_w043_key+0 + .byte VOICE , 5 + .byte VOL , 110*se_w043_mvl/mxv + .byte N01 , Cn3 , v040 + .byte W03 + .byte En3 + .byte W03 + .byte W01 + .byte Gn3 + .byte W05 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_w043: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w043_pri @ Priority + .byte se_w043_rev @ Reverb. + + .word se_w043_grp + + .word se_w043_1 + .word se_w043_2 + + .end diff --git a/sound/songs/se_w044.s b/sound/songs/se_w044.s new file mode 100644 index 0000000000..93205ed91f --- /dev/null +++ b/sound/songs/se_w044.s @@ -0,0 +1,100 @@ + .include "MPlayDef.s" + + .equ se_w044_grp, voicegroup_869D6F4 + .equ se_w044_pri, 4 + .equ se_w044_rev, reverb_set+50 + .equ se_w044_mvl, 127 + .equ se_w044_key, 0 + .equ se_w044_tbs, 1 + .equ se_w044_exg, 0 + .equ se_w044_cmp, 1 + + .section .rodata + .global se_w044 + .align 2 + +@********************** Track 1 **********************@ + +se_w044_1: + .byte KEYSH , se_w044_key+0 + .byte TEMPO , 220*se_w044_tbs/2 + .byte VOICE , 26 + .byte BENDR , 12 + .byte PAN , c_v+6 + .byte VOL , 110*se_w044_mvl/mxv + .byte BEND , c_v+0 + .byte N02 , Gn3 , v112 + .byte W02 + .byte Gs3 + .byte W01 + .byte PAN , c_v-7 + .byte W01 + .byte N02 , An3 + .byte W02 + .byte PAN , c_v+7 + .byte W02 + .byte c_v-8 + .byte W02 + .byte VOICE , 21 + .byte PAN , c_v+0 + .byte N01 , Cn5 , v116 + .byte W02 + .byte PAN , c_v+10 + .byte N01 , Cn4 , v108 + .byte W01 + .byte PAN , c_v-8 + .byte N01 , Gn4 , v104 + .byte W01 + .byte PAN , c_v+0 + .byte N01 , Gn3 , v096 + .byte W01 + .byte PAN , c_v+10 + .byte N01 , Cn4 , v088 + .byte W01 + .byte PAN , c_v-8 + .byte N01 , Cn3 , v080 + .byte W02 + .byte PAN , c_v+0 + .byte N01 , Gn3 , v072 + .byte W01 + .byte PAN , c_v+10 + .byte N01 , Gn2 , v064 + .byte W01 + .byte PAN , c_v-8 + .byte N01 , Cn3 , v056 + .byte W01 + .byte PAN , c_v+0 + .byte N01 , Gn2 , v048 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_w044_2: + .byte KEYSH , se_w044_key+0 + .byte VOICE , 27 + .byte VOL , 110*se_w044_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte W10 + .byte N01 , Gn2 , v040 + .byte W08 + .byte N01 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_w044: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w044_pri @ Priority + .byte se_w044_rev @ Reverb. + + .word se_w044_grp + + .word se_w044_1 + .word se_w044_2 + + .end diff --git a/sound/songs/se_w047.s b/sound/songs/se_w047.s new file mode 100644 index 0000000000..2ad3346aa5 --- /dev/null +++ b/sound/songs/se_w047.s @@ -0,0 +1,198 @@ + .include "MPlayDef.s" + + .equ se_w047_grp, voicegroup_869D6F4 + .equ se_w047_pri, 4 + .equ se_w047_rev, reverb_set+50 + .equ se_w047_mvl, 127 + .equ se_w047_key, 0 + .equ se_w047_tbs, 1 + .equ se_w047_exg, 0 + .equ se_w047_cmp, 1 + + .section .rodata + .global se_w047 + .align 2 + +@********************** Track 1 **********************@ + +se_w047_1: + .byte KEYSH , se_w047_key+0 + .byte TEMPO , 100*se_w047_tbs/2 + .byte VOICE , 73 + .byte BENDR , 12 + .byte LFOS , 40 + .byte PAN , c_v+0 + .byte VOL , 95*se_w047_mvl/mxv + .byte BEND , c_v+0 + .byte N44 , Gn4 , v112 + .byte W06 + .byte W06 + .byte W03 + .byte MOD , 7 + .byte W03 + .byte W03 + .byte VOL , 83*se_w047_mvl/mxv + .byte W03 + .byte W03 + .byte 69*se_w047_mvl/mxv + .byte W03 + .byte W03 + .byte 50*se_w047_mvl/mxv + .byte W03 + .byte W03 + .byte 24*se_w047_mvl/mxv + .byte W03 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte VOL , 95*se_w047_mvl/mxv + .byte N21 , Fn5 + .byte W06 + .byte W06 +se_w047_1_000: + .byte VOL , 86*se_w047_mvl/mxv + .byte MOD , 7 + .byte W03 + .byte VOL , 75*se_w047_mvl/mxv + .byte W03 + .byte PEND +se_w047_1_001: + .byte VOL , 55*se_w047_mvl/mxv + .byte W03 + .byte 26*se_w047_mvl/mxv + .byte MOD , 0 + .byte W03 + .byte PEND + .byte VOL , 95*se_w047_mvl/mxv + .byte N21 , Ds5 , v112 + .byte W06 + .byte W06 + .byte PATT + .word se_w047_1_000 + .byte PATT + .word se_w047_1_001 + .byte VOL , 95*se_w047_mvl/mxv + .byte N66 , Gn4 , v112 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte MOD , 7 + .byte W06 + .byte W06 + .byte W06 + .byte VOL , 83*se_w047_mvl/mxv + .byte W06 + .byte 69*se_w047_mvl/mxv + .byte W06 + .byte 50*se_w047_mvl/mxv + .byte W06 + .byte 24*se_w047_mvl/mxv + .byte W06 + .byte MOD , 0 + .byte W06 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_w047_2: + .byte KEYSH , se_w047_key+0 + .byte VOICE , 73 + .byte LFOS , 40 + .byte VOL , 95*se_w047_mvl/mxv + .byte BEND , c_v+9 + .byte W06 + .byte W06 + .byte PAN , c_v+12 + .byte N44 , Gn4 , v060 + .byte W06 + .byte W06 + .byte W03 + .byte MOD , 7 + .byte W03 + .byte W03 + .byte VOL , 83*se_w047_mvl/mxv + .byte W03 + .byte W03 + .byte 69*se_w047_mvl/mxv + .byte W03 + .byte W03 + .byte 50*se_w047_mvl/mxv + .byte W03 + .byte W03 + .byte 24*se_w047_mvl/mxv + .byte W03 + .byte W03 + .byte MOD , 0 + .byte W03 + .byte VOL , 95*se_w047_mvl/mxv + .byte PAN , c_v-12 + .byte N21 , Fn5 + .byte W06 + .byte W06 +se_w047_2_000: + .byte VOL , 86*se_w047_mvl/mxv + .byte MOD , 7 + .byte W03 + .byte VOL , 75*se_w047_mvl/mxv + .byte W03 + .byte PEND +se_w047_2_001: + .byte VOL , 55*se_w047_mvl/mxv + .byte W03 + .byte 26*se_w047_mvl/mxv + .byte MOD , 0 + .byte W03 + .byte PEND + .byte VOL , 95*se_w047_mvl/mxv + .byte PAN , c_v+12 + .byte N21 , Ds5 , v060 + .byte W06 + .byte W06 + .byte PATT + .word se_w047_2_000 + .byte PATT + .word se_w047_2_001 + .byte VOL , 95*se_w047_mvl/mxv + .byte PAN , c_v-12 + .byte N66 , Gn4 , v060 + .byte W06 + .byte W06 + .byte PAN , c_v-8 + .byte W06 + .byte W06 + .byte MOD , 7 + .byte PAN , c_v+0 + .byte W06 + .byte W06 + .byte c_v+7 + .byte W06 + .byte VOL , 83*se_w047_mvl/mxv + .byte W06 + .byte 69*se_w047_mvl/mxv + .byte PAN , c_v+15 + .byte W06 + .byte VOL , 50*se_w047_mvl/mxv + .byte W06 + .byte 24*se_w047_mvl/mxv + .byte PAN , c_v+8 + .byte W06 + .byte MOD , 0 + .byte FINE + +@******************************************************@ + .align 2 + +se_w047: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w047_pri @ Priority + .byte se_w047_rev @ Reverb. + + .word se_w047_grp + + .word se_w047_1 + .word se_w047_2 + + .end diff --git a/sound/songs/se_w048.s b/sound/songs/se_w048.s new file mode 100644 index 0000000000..385eb5ba59 --- /dev/null +++ b/sound/songs/se_w048.s @@ -0,0 +1,161 @@ + .include "MPlayDef.s" + + .equ se_w048_grp, voicegroup_869D6F4 + .equ se_w048_pri, 4 + .equ se_w048_rev, reverb_set+50 + .equ se_w048_mvl, 127 + .equ se_w048_key, 0 + .equ se_w048_tbs, 1 + .equ se_w048_exg, 0 + .equ se_w048_cmp, 1 + + .section .rodata + .global se_w048 + .align 2 + +@********************** Track 1 **********************@ + +se_w048_1: + .byte KEYSH , se_w048_key+0 + .byte TEMPO , 150*se_w048_tbs/2 + .byte VOICE , 43 + .byte BENDR , 2 + .byte PAN , c_v+0 + .byte VOL , 61*se_w048_mvl/mxv + .byte BEND , c_v-4 + .byte N07 , Gs4 , v127 + .byte W01 + .byte PAN , c_v+6 + .byte VOL , 75*se_w048_mvl/mxv + .byte BEND , c_v-1 + .byte W01 + .byte PAN , c_v-7 + .byte VOL , 93*se_w048_mvl/mxv + .byte BEND , c_v+2 + .byte W01 + .byte PAN , c_v+9 + .byte VOL , 110*se_w048_mvl/mxv + .byte BEND , c_v+4 + .byte W01 + .byte PAN , c_v-12 + .byte BEND , c_v+7 + .byte W02 + .byte W02 + .byte VOL , 0*se_w048_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-4 + .byte N32 + .byte W01 + .byte PAN , c_v+6 + .byte BEND , c_v-1 + .byte W01 + .byte PAN , c_v-7 + .byte VOL , 36*se_w048_mvl/mxv + .byte BEND , c_v+2 + .byte W02 + .byte PAN , c_v+9 + .byte VOL , 67*se_w048_mvl/mxv + .byte BEND , c_v-1 + .byte W01 + .byte PAN , c_v-13 + .byte VOL , 84*se_w048_mvl/mxv + .byte BEND , c_v-4 + .byte W01 + .byte PAN , c_v+6 + .byte BEND , c_v-6 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 92*se_w048_mvl/mxv + .byte BEND , c_v-8 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v-7 + .byte W02 + .byte PAN , c_v+6 + .byte VOL , 99*se_w048_mvl/mxv + .byte BEND , c_v-4 + .byte W01 + .byte PAN , c_v-7 + .byte BEND , c_v-1 + .byte W01 + .byte VOL , 105*se_w048_mvl/mxv + .byte PAN , c_v+9 + .byte BEND , c_v+2 + .byte W01 + .byte VOL , 110*se_w048_mvl/mxv + .byte PAN , c_v-13 + .byte BEND , c_v-1 + .byte W01 + .byte PAN , c_v-1 + .byte BEND , c_v-4 + .byte W02 + .byte VOL , 46*se_w048_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-1 + .byte W01 + .byte PAN , c_v+6 + .byte BEND , c_v+2 + .byte W01 + .byte VOL , 67*se_w048_mvl/mxv + .byte PAN , c_v-7 + .byte BEND , c_v-1 + .byte W01 + .byte PAN , c_v+9 + .byte BEND , c_v-4 + .byte W01 + .byte VOL , 84*se_w048_mvl/mxv + .byte PAN , c_v-13 + .byte BEND , c_v-6 + .byte W02 + .byte VOL , 100*se_w048_mvl/mxv + .byte PAN , c_v+6 + .byte BEND , c_v-8 + .byte W01 + .byte VOL , 110*se_w048_mvl/mxv + .byte PAN , c_v-6 + .byte BEND , c_v-7 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v-4 + .byte W01 + .byte PAN , c_v+6 + .byte BEND , c_v-1 + .byte W01 + .byte VOL , 101*se_w048_mvl/mxv + .byte PAN , c_v-7 + .byte BEND , c_v+2 + .byte W02 + .byte VOL , 85*se_w048_mvl/mxv + .byte PAN , c_v+9 + .byte BEND , c_v-1 + .byte W01 + .byte VOL , 75*se_w048_mvl/mxv + .byte PAN , c_v-13 + .byte BEND , c_v-4 + .byte W01 + .byte VOL , 48*se_w048_mvl/mxv + .byte PAN , c_v-1 + .byte BEND , c_v-6 + .byte W01 + .byte VOL , 24*se_w048_mvl/mxv + .byte BEND , c_v-8 + .byte W01 + .byte VOL , 6*se_w048_mvl/mxv + .byte BEND , c_v-7 + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_w048: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w048_pri @ Priority + .byte se_w048_rev @ Reverb. + + .word se_w048_grp + + .word se_w048_1 + + .end diff --git a/sound/songs/se_w052.s b/sound/songs/se_w052.s new file mode 100644 index 0000000000..e7a6de8d92 --- /dev/null +++ b/sound/songs/se_w052.s @@ -0,0 +1,61 @@ + .include "MPlayDef.s" + + .equ se_w052_grp, voicegroup_869D6F4 + .equ se_w052_pri, 4 + .equ se_w052_rev, reverb_set+50 + .equ se_w052_mvl, 127 + .equ se_w052_key, 0 + .equ se_w052_tbs, 1 + .equ se_w052_exg, 0 + .equ se_w052_cmp, 1 + + .section .rodata + .global se_w052 + .align 2 + +@********************** Track 1 **********************@ + +se_w052_1: + .byte KEYSH , se_w052_key+0 + .byte TEMPO , 150*se_w052_tbs/2 + .byte VOICE , 29 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 61*se_w052_mvl/mxv + .byte BEND , c_v+8 + .byte N10 , Gn3 , v127 + .byte W01 + .byte VOL , 84*se_w052_mvl/mxv + .byte W01 + .byte 97*se_w052_mvl/mxv + .byte BEND , c_v+16 + .byte W01 + .byte VOL , 110*se_w052_mvl/mxv + .byte W01 + .byte BEND , c_v+7 + .byte W02 + .byte c_v-12 + .byte W01 + .byte VOL , 89*se_w052_mvl/mxv + .byte W01 + .byte 64*se_w052_mvl/mxv + .byte BEND , c_v-42 + .byte W01 + .byte VOL , 34*se_w052_mvl/mxv + .byte W15 + .byte FINE + +@******************************************************@ + .align 2 + +se_w052: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w052_pri @ Priority + .byte se_w052_rev @ Reverb. + + .word se_w052_grp + + .word se_w052_1 + + .end diff --git a/sound/songs/se_w053.s b/sound/songs/se_w053.s new file mode 100644 index 0000000000..97e92a7226 --- /dev/null +++ b/sound/songs/se_w053.s @@ -0,0 +1,175 @@ + .include "MPlayDef.s" + + .equ se_w053_grp, voicegroup_869D6F4 + .equ se_w053_pri, 4 + .equ se_w053_rev, reverb_set+50 + .equ se_w053_mvl, 127 + .equ se_w053_key, 0 + .equ se_w053_tbs, 1 + .equ se_w053_exg, 0 + .equ se_w053_cmp, 1 + + .section .rodata + .global se_w053 + .align 2 + +@********************** Track 1 **********************@ + +se_w053_1: + .byte KEYSH , se_w053_key+0 + .byte TEMPO , 150*se_w053_tbs/2 + .byte VOICE , 29 + .byte BENDR , 12 + .byte VOL , 110*se_w053_mvl/mxv + .byte PAN , c_v+4 + .byte BEND , c_v+50 + .byte TIE , Cn3 , v127 + .byte W01 + .byte BEND , c_v+32 + .byte W02 + .byte PAN , c_v-5 + .byte BEND , c_v+16 + .byte W02 + .byte c_v-8 + .byte W02 + .byte PAN , c_v+8 + .byte BEND , c_v-15 + .byte W02 + .byte c_v-10 + .byte W01 + .byte PAN , c_v-9 + .byte W02 + .byte BEND , c_v+0 + .byte W02 + .byte PAN , c_v+4 + .byte BEND , c_v+2 + .byte W04 + .byte PAN , c_v-5 + .byte BEND , c_v+10 + .byte W03 + .byte PAN , c_v+0 + .byte BEND , c_v+16 + .byte W03 + .byte PAN , c_v+4 + .byte W01 + .byte BEND , c_v+21 + .byte W02 + .byte PAN , c_v-5 + .byte W04 + .byte c_v+8 + .byte W03 + .byte c_v-9 + .byte W04 + .byte c_v+4 + .byte W04 + .byte c_v-5 + .byte W03 + .byte c_v+0 + .byte W03 +se_w053_1_000: + .byte PAN , c_v+4 + .byte W03 + .byte c_v-5 + .byte W04 + .byte c_v+8 + .byte W03 + .byte c_v-9 + .byte W04 + .byte c_v+4 + .byte W04 + .byte c_v-5 + .byte W03 + .byte c_v+0 + .byte W03 + .byte PEND + .byte PATT + .word se_w053_1_000 + .byte PATT + .word se_w053_1_000 + .byte PATT + .word se_w053_1_000 + .byte PAN , c_v+4 + .byte W03 + .byte c_v-5 + .byte W03 + .byte VOL , 103*se_w053_mvl/mxv + .byte W01 + .byte PAN , c_v+8 + .byte W03 + .byte VOL , 96*se_w053_mvl/mxv + .byte PAN , c_v-9 + .byte W04 + .byte c_v+4 + .byte W02 + .byte VOL , 88*se_w053_mvl/mxv + .byte W02 + .byte PAN , c_v-5 + .byte W03 + .byte c_v+0 + .byte W01 + .byte VOL , 73*se_w053_mvl/mxv + .byte W02 + .byte PAN , c_v+4 + .byte W03 + .byte VOL , 62*se_w053_mvl/mxv + .byte PAN , c_v-5 + .byte W04 + .byte c_v+8 + .byte W01 + .byte VOL , 47*se_w053_mvl/mxv + .byte W02 + .byte PAN , c_v-9 + .byte W03 + .byte VOL , 27*se_w053_mvl/mxv + .byte W01 + .byte PAN , c_v+4 + .byte W04 + .byte VOL , 10*se_w053_mvl/mxv + .byte PAN , c_v-5 + .byte W03 + .byte c_v+0 + .byte W03 + .byte EOT , Cn3 + .byte FINE + +@********************** Track 2 **********************@ + +se_w053_2: + .byte KEYSH , se_w053_key+0 + .byte VOICE , 27 + .byte PAN , c_v+0 + .byte VOL , 110*se_w053_mvl/mxv + .byte N24 , Fn2 , v060 + .byte W10 + .byte VOL , 99*se_w053_mvl/mxv + .byte W05 + .byte 82*se_w053_mvl/mxv + .byte W04 + .byte 54*se_w053_mvl/mxv + .byte W02 + .byte 25*se_w053_mvl/mxv + .byte W03 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_w053: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w053_pri @ Priority + .byte se_w053_rev @ Reverb. + + .word se_w053_grp + + .word se_w053_1 + .word se_w053_2 + + .end diff --git a/sound/songs/se_w054.s b/sound/songs/se_w054.s new file mode 100644 index 0000000000..f6a25e9480 --- /dev/null +++ b/sound/songs/se_w054.s @@ -0,0 +1,94 @@ + .include "MPlayDef.s" + + .equ se_w054_grp, voicegroup_869D6F4 + .equ se_w054_pri, 4 + .equ se_w054_rev, reverb_set+50 + .equ se_w054_mvl, 127 + .equ se_w054_key, 0 + .equ se_w054_tbs, 1 + .equ se_w054_exg, 0 + .equ se_w054_cmp, 1 + + .section .rodata + .global se_w054 + .align 2 + +@********************** Track 1 **********************@ + +se_w054_1: + .byte KEYSH , se_w054_key+0 + .byte TEMPO , 150*se_w054_tbs/2 + .byte VOICE , 36 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 7*se_w054_mvl/mxv + .byte BEND , c_v+1 + .byte N18 , Cn5 , v052 + .byte W01 + .byte VOL , 20*se_w054_mvl/mxv + .byte PAN , c_v+16 + .byte BEND , c_v-8 + .byte W01 + .byte VOL , 41*se_w054_mvl/mxv + .byte PAN , c_v-14 + .byte BEND , c_v-16 + .byte W01 + .byte VOL , 70*se_w054_mvl/mxv + .byte PAN , c_v+16 + .byte BEND , c_v-8 + .byte W01 + .byte VOL , 93*se_w054_mvl/mxv + .byte PAN , c_v-14 + .byte BEND , c_v+0 + .byte W02 + .byte PAN , c_v+0 + .byte VOL , 110*se_w054_mvl/mxv + .byte BEND , c_v+8 + .byte W01 + .byte PAN , c_v+16 + .byte BEND , c_v+16 + .byte W01 + .byte PAN , c_v-14 + .byte W01 + .byte VOL , 98*se_w054_mvl/mxv + .byte PAN , c_v+16 + .byte BEND , c_v+10 + .byte W01 + .byte VOL , 85*se_w054_mvl/mxv + .byte PAN , c_v-14 + .byte BEND , c_v+4 + .byte W02 + .byte VOL , 69*se_w054_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-7 + .byte W01 + .byte VOL , 51*se_w054_mvl/mxv + .byte PAN , c_v+16 + .byte BEND , c_v-22 + .byte W01 + .byte PAN , c_v-14 + .byte VOL , 38*se_w054_mvl/mxv + .byte BEND , c_v-28 + .byte W01 + .byte VOL , 17*se_w054_mvl/mxv + .byte BEND , c_v-32 + .byte W01 + .byte VOL , 4*se_w054_mvl/mxv + .byte BEND , c_v-38 + .byte W08 + .byte FINE + +@******************************************************@ + .align 2 + +se_w054: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w054_pri @ Priority + .byte se_w054_rev @ Reverb. + + .word se_w054_grp + + .word se_w054_1 + + .end diff --git a/sound/songs/se_w056.s b/sound/songs/se_w056.s new file mode 100644 index 0000000000..0fc470c5dd --- /dev/null +++ b/sound/songs/se_w056.s @@ -0,0 +1,124 @@ + .include "MPlayDef.s" + + .equ se_w056_grp, voicegroup_869D6F4 + .equ se_w056_pri, 4 + .equ se_w056_rev, reverb_set+50 + .equ se_w056_mvl, 127 + .equ se_w056_key, 0 + .equ se_w056_tbs, 1 + .equ se_w056_exg, 0 + .equ se_w056_cmp, 1 + + .section .rodata + .global se_w056 + .align 2 + +@********************** Track 1 **********************@ + +se_w056_1: + .byte KEYSH , se_w056_key+0 + .byte TEMPO , 150*se_w056_tbs/2 + .byte VOICE , 36 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 115*se_w056_mvl/mxv + .byte BEND , c_v+0 + .byte TIE , Gn2 , v127 + .byte W06 + .byte PAN , c_v-4 + .byte W06 + .byte c_v-10 + .byte W06 + .byte c_v-5 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+4 + .byte W06 + .byte c_v+11 + .byte W06 + .byte c_v+4 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v-4 + .byte W06 + .byte c_v-10 + .byte W06 + .byte c_v-5 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+4 + .byte W06 + .byte c_v+11 + .byte W02 + .byte VOL , 103*se_w056_mvl/mxv + .byte W04 + .byte PAN , c_v+4 + .byte W01 + .byte VOL , 85*se_w056_mvl/mxv + .byte W05 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 71*se_w056_mvl/mxv + .byte W05 + .byte 52*se_w056_mvl/mxv + .byte PAN , c_v-4 + .byte W04 + .byte VOL , 32*se_w056_mvl/mxv + .byte W02 + .byte PAN , c_v-10 + .byte W03 + .byte VOL , 11*se_w056_mvl/mxv + .byte W03 + .byte PAN , c_v-5 + .byte W01 + .byte VOL , 6*se_w056_mvl/mxv + .byte W05 + .byte EOT + .byte FINE + +@********************** Track 2 **********************@ + +se_w056_2: + .byte KEYSH , se_w056_key+0 + .byte VOL , 58*se_w056_mvl/mxv + .byte N14 , Gn3 , v080 + .byte W01 + .byte VOICE , 25 + .byte VOL , 76*se_w056_mvl/mxv + .byte W01 + .byte 89*se_w056_mvl/mxv + .byte W01 + .byte 100*se_w056_mvl/mxv + .byte W01 + .byte 115*se_w056_mvl/mxv + .byte W06 + .byte 90*se_w056_mvl/mxv + .byte W02 + .byte 76*se_w056_mvl/mxv + .byte W01 + .byte 58*se_w056_mvl/mxv + .byte W11 + .byte W24 + .byte W24 + .byte W24 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_w056: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w056_pri @ Priority + .byte se_w056_rev @ Reverb. + + .word se_w056_grp + + .word se_w056_1 + .word se_w056_2 + + .end diff --git a/sound/songs/se_w057.s b/sound/songs/se_w057.s new file mode 100644 index 0000000000..a923e580b4 --- /dev/null +++ b/sound/songs/se_w057.s @@ -0,0 +1,109 @@ + .include "MPlayDef.s" + + .equ se_w057_grp, voicegroup_869D6F4 + .equ se_w057_pri, 4 + .equ se_w057_rev, reverb_set+50 + .equ se_w057_mvl, 127 + .equ se_w057_key, 0 + .equ se_w057_tbs, 1 + .equ se_w057_exg, 0 + .equ se_w057_cmp, 1 + + .section .rodata + .global se_w057 + .align 2 + +@********************** Track 1 **********************@ + +se_w057_1: + .byte KEYSH , se_w057_key+0 + .byte TEMPO , 150*se_w057_tbs/2 + .byte VOICE , 36 + .byte BENDR , 12 + .byte VOL , 27*se_w057_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N96 , Cn3 , v112 + .byte W04 + .byte VOL , 45*se_w057_mvl/mxv + .byte W02 + .byte PAN , c_v-4 + .byte W02 + .byte BEND , c_v+4 + .byte W01 + .byte VOL , 60*se_w057_mvl/mxv + .byte W03 + .byte PAN , c_v-10 + .byte W02 + .byte BEND , c_v+9 + .byte W01 + .byte VOL , 88*se_w057_mvl/mxv + .byte W03 + .byte PAN , c_v-5 + .byte W02 + .byte BEND , c_v+14 + .byte W04 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 110*se_w057_mvl/mxv + .byte W02 + .byte BEND , c_v+19 + .byte W03 + .byte PAN , c_v+4 + .byte W02 + .byte BEND , c_v+24 + .byte W04 + .byte PAN , c_v+11 + .byte W06 + .byte c_v+4 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v-4 + .byte W02 + .byte BEND , c_v+19 + .byte W04 + .byte PAN , c_v-10 + .byte W01 + .byte VOL , 98*se_w057_mvl/mxv + .byte W05 + .byte 81*se_w057_mvl/mxv + .byte PAN , c_v-5 + .byte BEND , c_v+12 + .byte W06 + .byte VOL , 68*se_w057_mvl/mxv + .byte PAN , c_v+0 + .byte W03 + .byte BEND , c_v+17 + .byte W01 + .byte VOL , 50*se_w057_mvl/mxv + .byte W02 + .byte PAN , c_v+4 + .byte W03 + .byte VOL , 31*se_w057_mvl/mxv + .byte W03 + .byte PAN , c_v+11 + .byte BEND , c_v+22 + .byte W02 + .byte VOL , 11*se_w057_mvl/mxv + .byte W04 + .byte 6*se_w057_mvl/mxv + .byte PAN , c_v+4 + .byte BEND , c_v+30 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_w057: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w057_pri @ Priority + .byte se_w057_rev @ Reverb. + + .word se_w057_grp + + .word se_w057_1 + + .end diff --git a/sound/songs/se_w059.s b/sound/songs/se_w059.s new file mode 100644 index 0000000000..e4108ecde4 --- /dev/null +++ b/sound/songs/se_w059.s @@ -0,0 +1,103 @@ + .include "MPlayDef.s" + + .equ se_w059_grp, voicegroup_869D6F4 + .equ se_w059_pri, 4 + .equ se_w059_rev, reverb_set+50 + .equ se_w059_mvl, 127 + .equ se_w059_key, 0 + .equ se_w059_tbs, 1 + .equ se_w059_exg, 0 + .equ se_w059_cmp, 1 + + .section .rodata + .global se_w059 + .align 2 + +@********************** Track 1 **********************@ + +se_w059_1: + .byte KEYSH , se_w059_key+0 + .byte TEMPO , 150*se_w059_tbs/2 + .byte VOICE , 22 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 64*se_w059_mvl/mxv + .byte BEND , c_v+0 + .byte N24 , Gn3 , v108 + .byte W03 + .byte VOL , 79*se_w059_mvl/mxv + .byte BEND , c_v+22 + .byte W02 + .byte c_v+8 + .byte W01 + .byte VOL , 84*se_w059_mvl/mxv + .byte PAN , c_v-4 + .byte W03 + .byte VOL , 91*se_w059_mvl/mxv + .byte BEND , c_v+0 + .byte W03 + .byte VOL , 100*se_w059_mvl/mxv + .byte PAN , c_v-8 + .byte W03 + .byte VOL , 110*se_w059_mvl/mxv + .byte W03 + .byte PAN , c_v-12 + .byte W06 +se_w059_1_B1: + .byte PAN , c_v-17 + .byte BEND , c_v+0 + .byte N48 , Gn3 , v108 + .byte W03 + .byte BEND , c_v-7 + .byte W03 + .byte PAN , c_v-9 + .byte BEND , c_v-12 + .byte W03 + .byte c_v-20 + .byte W03 + .byte PAN , c_v-3 + .byte W03 + .byte c_v+6 + .byte BEND , c_v-13 + .byte W03 + .byte PAN , c_v+10 + .byte W03 + .byte BEND , c_v-6 + .byte W03 + .byte PAN , c_v+16 + .byte W03 + .byte BEND , c_v+6 + .byte W03 + .byte PAN , c_v+13 + .byte BEND , c_v+11 + .byte W03 + .byte c_v+20 + .byte W03 + .byte PAN , c_v+8 + .byte W03 + .byte c_v+0 + .byte BEND , c_v+12 + .byte W03 + .byte PAN , c_v-8 + .byte BEND , c_v+7 + .byte W03 + .byte PAN , c_v-11 + .byte W03 + .byte GOTO + .word se_w059_1_B1 + .byte FINE + +@******************************************************@ + .align 2 + +se_w059: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w059_pri @ Priority + .byte se_w059_rev @ Reverb. + + .word se_w059_grp + + .word se_w059_1 + + .end diff --git a/sound/songs/se_w059b.s b/sound/songs/se_w059b.s new file mode 100644 index 0000000000..597c5817e0 --- /dev/null +++ b/sound/songs/se_w059b.s @@ -0,0 +1,72 @@ + .include "MPlayDef.s" + + .equ se_w059b_grp, voicegroup_869D6F4 + .equ se_w059b_pri, 4 + .equ se_w059b_rev, reverb_set+50 + .equ se_w059b_mvl, 127 + .equ se_w059b_key, 0 + .equ se_w059b_tbs, 1 + .equ se_w059b_exg, 0 + .equ se_w059b_cmp, 1 + + .section .rodata + .global se_w059b + .align 2 + +@********************** Track 1 **********************@ + +se_w059b_1: + .byte KEYSH , se_w059b_key+0 + .byte TEMPO , 150*se_w059b_tbs/2 + .byte VOICE , 22 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_w059b_mvl/mxv + .byte BEND , c_v+0 + .byte N24 , Gn3 , v108 + .byte W02 + .byte PAN , c_v-19 + .byte W04 + .byte c_v+0 + .byte W01 + .byte VOL , 97*se_w059b_mvl/mxv + .byte W01 + .byte PAN , c_v+16 + .byte W01 + .byte VOL , 84*se_w059b_mvl/mxv + .byte W03 + .byte 76*se_w059b_mvl/mxv + .byte PAN , c_v+2 + .byte W02 + .byte VOL , 55*se_w059b_mvl/mxv + .byte PAN , c_v-8 + .byte W02 + .byte VOL , 39*se_w059b_mvl/mxv + .byte W02 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 25*se_w059b_mvl/mxv + .byte W01 + .byte PAN , c_v+8 + .byte W01 + .byte VOL , 13*se_w059b_mvl/mxv + .byte W03 + .byte 7*se_w059b_mvl/mxv + .byte PAN , c_v+0 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_w059b: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w059b_pri @ Priority + .byte se_w059b_rev @ Reverb. + + .word se_w059b_grp + + .word se_w059b_1 + + .end diff --git a/sound/songs/se_w060.s b/sound/songs/se_w060.s new file mode 100644 index 0000000000..590fe4d7ff --- /dev/null +++ b/sound/songs/se_w060.s @@ -0,0 +1,144 @@ + .include "MPlayDef.s" + + .equ se_w060_grp, voicegroup_869D6F4 + .equ se_w060_pri, 4 + .equ se_w060_rev, reverb_set+50 + .equ se_w060_mvl, 127 + .equ se_w060_key, 0 + .equ se_w060_tbs, 1 + .equ se_w060_exg, 0 + .equ se_w060_cmp, 1 + + .section .rodata + .global se_w060 + .align 2 + +@********************** Track 1 **********************@ + +se_w060_1: + .byte KEYSH , se_w060_key+0 + .byte TEMPO , 190*se_w060_tbs/2 + .byte VOICE , 45 + .byte BENDR , 8 + .byte PAN , c_v+0 + .byte VOL , 38*se_w060_mvl/mxv + .byte MOD , 30 + .byte BEND , c_v+1 + .byte N42 , As2 , v120 + .byte W01 + .byte PAN , c_v+3 + .byte W01 + .byte c_v+5 + .byte VOL , 57*se_w060_mvl/mxv + .byte W01 + .byte PAN , c_v+9 + .byte W01 + .byte VOL , 71*se_w060_mvl/mxv + .byte W02 + .byte PAN , c_v+5 + .byte W01 + .byte c_v+1 + .byte VOL , 82*se_w060_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte W01 + .byte c_v-3 + .byte VOL , 94*se_w060_mvl/mxv + .byte W01 + .byte PAN , c_v-6 + .byte W02 + .byte c_v-10 + .byte VOL , 110*se_w060_mvl/mxv + .byte W02 + .byte PAN , c_v-6 + .byte W01 + .byte c_v-3 + .byte W01 + .byte c_v+0 + .byte W02 + .byte W06 + .byte c_v+3 + .byte W01 + .byte c_v+5 + .byte W01 + .byte c_v+9 + .byte W02 + .byte c_v+5 + .byte W02 + .byte c_v+1 + .byte VOL , 95*se_w060_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte W01 + .byte c_v-3 + .byte VOL , 83*se_w060_mvl/mxv + .byte W01 + .byte PAN , c_v-6 + .byte W01 + .byte c_v-10 + .byte VOL , 71*se_w060_mvl/mxv + .byte W02 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 56*se_w060_mvl/mxv + .byte W01 + .byte PAN , c_v-3 + .byte W01 + .byte VOL , 38*se_w060_mvl/mxv + .byte W03 + .byte PAN , c_v+0 + .byte FINE + +@********************** Track 2 **********************@ + +se_w060_2: + .byte KEYSH , se_w060_key+0 + .byte VOICE , 47 + .byte BENDR , 8 + .byte PAN , c_v+0 + .byte VOL , 38*se_w060_mvl/mxv + .byte MOD , 30 + .byte BEND , c_v+1 + .byte N42 , As1 , v040 + .byte W02 + .byte VOL , 57*se_w060_mvl/mxv + .byte W02 + .byte 71*se_w060_mvl/mxv + .byte W02 + .byte W01 + .byte 82*se_w060_mvl/mxv + .byte W02 + .byte 94*se_w060_mvl/mxv + .byte W03 + .byte 110*se_w060_mvl/mxv + .byte W06 + .byte W06 + .byte W06 + .byte 95*se_w060_mvl/mxv + .byte W02 + .byte 83*se_w060_mvl/mxv + .byte W02 + .byte 71*se_w060_mvl/mxv + .byte W02 + .byte W01 + .byte 56*se_w060_mvl/mxv + .byte W02 + .byte 38*se_w060_mvl/mxv + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_w060: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w060_pri @ Priority + .byte se_w060_rev @ Reverb. + + .word se_w060_grp + + .word se_w060_1 + .word se_w060_2 + + .end diff --git a/sound/songs/se_w060b.s b/sound/songs/se_w060b.s new file mode 100644 index 0000000000..cfe9f5d48b --- /dev/null +++ b/sound/songs/se_w060b.s @@ -0,0 +1,216 @@ + .include "MPlayDef.s" + + .equ se_w060b_grp, voicegroup_869D6F4 + .equ se_w060b_pri, 4 + .equ se_w060b_rev, reverb_set+50 + .equ se_w060b_mvl, 127 + .equ se_w060b_key, 0 + .equ se_w060b_tbs, 1 + .equ se_w060b_exg, 0 + .equ se_w060b_cmp, 1 + + .section .rodata + .global se_w060b + .align 2 + +@********************** Track 1 **********************@ + +se_w060b_1: + .byte KEYSH , se_w060b_key+0 + .byte TEMPO , 190*se_w060b_tbs/2 + .byte VOICE , 45 + .byte BENDR , 8 + .byte VOL , 36*se_w060b_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-44 + .byte N12 , Gs2 , v127 + .byte W01 + .byte VOL , 52*se_w060b_mvl/mxv + .byte PAN , c_v+6 + .byte BEND , c_v-20 + .byte W01 + .byte VOL , 67*se_w060b_mvl/mxv + .byte PAN , c_v-6 + .byte BEND , c_v+17 + .byte W01 + .byte VOL , 78*se_w060b_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+27 + .byte W01 + .byte VOL , 105*se_w060b_mvl/mxv + .byte PAN , c_v+6 + .byte BEND , c_v+44 + .byte W02 + .byte PAN , c_v-6 + .byte BEND , c_v+63 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+44 + .byte W01 + .byte VOL , 86*se_w060b_mvl/mxv + .byte PAN , c_v+6 + .byte BEND , c_v+28 + .byte W01 + .byte VOL , 55*se_w060b_mvl/mxv + .byte PAN , c_v-6 + .byte BEND , c_v+17 + .byte W01 + .byte VOL , 33*se_w060b_mvl/mxv + .byte BEND , c_v+5 + .byte W02 + .byte VOICE , 37 + .byte VOL , 105*se_w060b_mvl/mxv + .byte N02 , Gs3 , v080 + .byte W01 + .byte BEND , c_v+16 + .byte W01 + .byte VOICE , 45 + .byte VOL , 36*se_w060b_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-44 + .byte N12 , As2 , v127 + .byte W01 + .byte VOL , 52*se_w060b_mvl/mxv + .byte PAN , c_v+6 + .byte BEND , c_v-20 + .byte W01 + .byte VOL , 67*se_w060b_mvl/mxv + .byte PAN , c_v-6 + .byte BEND , c_v+17 + .byte W02 + .byte VOL , 78*se_w060b_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+27 + .byte W01 + .byte VOL , 105*se_w060b_mvl/mxv + .byte PAN , c_v+11 + .byte BEND , c_v+44 + .byte W01 + .byte PAN , c_v-11 + .byte BEND , c_v+63 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+44 + .byte W01 + .byte VOL , 86*se_w060b_mvl/mxv + .byte PAN , c_v+11 + .byte BEND , c_v+28 + .byte W02 + .byte VOL , 55*se_w060b_mvl/mxv + .byte PAN , c_v-11 + .byte BEND , c_v+17 + .byte W01 + .byte VOL , 33*se_w060b_mvl/mxv + .byte BEND , c_v+5 + .byte W01 + .byte VOICE , 37 + .byte VOL , 105*se_w060b_mvl/mxv + .byte N02 , As3 , v056 + .byte W01 + .byte BEND , c_v+16 + .byte W01 + .byte VOICE , 45 + .byte VOL , 36*se_w060b_mvl/mxv + .byte BEND , c_v-44 + .byte N12 , Gs2 , v080 + .byte W02 + .byte VOL , 52*se_w060b_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-20 + .byte W01 + .byte VOL , 67*se_w060b_mvl/mxv + .byte PAN , c_v+6 + .byte BEND , c_v+17 + .byte W01 + .byte VOL , 78*se_w060b_mvl/mxv + .byte PAN , c_v-6 + .byte BEND , c_v+27 + .byte W01 + .byte VOL , 105*se_w060b_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+44 + .byte W01 + .byte PAN , c_v+6 + .byte BEND , c_v+63 + .byte W02 + .byte PAN , c_v-6 + .byte BEND , c_v+44 + .byte W01 + .byte VOL , 86*se_w060b_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+28 + .byte W01 + .byte VOL , 55*se_w060b_mvl/mxv + .byte PAN , c_v+6 + .byte BEND , c_v+17 + .byte W01 + .byte VOL , 33*se_w060b_mvl/mxv + .byte PAN , c_v-6 + .byte BEND , c_v+5 + .byte W01 + .byte VOICE , 37 + .byte VOL , 105*se_w060b_mvl/mxv + .byte N02 , Gs3 , v024 + .byte W02 + .byte BEND , c_v+16 + .byte W01 + .byte VOICE , 45 + .byte VOL , 36*se_w060b_mvl/mxv + .byte BEND , c_v-44 + .byte N12 , As2 , v040 + .byte W01 + .byte VOL , 52*se_w060b_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-20 + .byte W01 + .byte VOL , 67*se_w060b_mvl/mxv + .byte PAN , c_v+6 + .byte BEND , c_v+17 + .byte W01 + .byte VOL , 78*se_w060b_mvl/mxv + .byte PAN , c_v-6 + .byte BEND , c_v+27 + .byte W02 + .byte VOL , 105*se_w060b_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+44 + .byte W01 + .byte PAN , c_v+11 + .byte BEND , c_v+63 + .byte W01 + .byte PAN , c_v-11 + .byte BEND , c_v+44 + .byte W01 + .byte VOL , 86*se_w060b_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+28 + .byte W01 + .byte VOL , 55*se_w060b_mvl/mxv + .byte PAN , c_v+11 + .byte BEND , c_v+17 + .byte W02 + .byte VOL , 33*se_w060b_mvl/mxv + .byte BEND , c_v+5 + .byte W01 + .byte VOICE , 37 + .byte VOL , 105*se_w060b_mvl/mxv + .byte N02 , As3 , v016 + .byte W01 + .byte BEND , c_v+16 + .byte W04 + .byte FINE + +@******************************************************@ + .align 2 + +se_w060b: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w060b_pri @ Priority + .byte se_w060b_rev @ Reverb. + + .word se_w060b_grp + + .word se_w060b_1 + + .end diff --git a/sound/songs/se_w062.s b/sound/songs/se_w062.s new file mode 100644 index 0000000000..41d76328a1 --- /dev/null +++ b/sound/songs/se_w062.s @@ -0,0 +1,173 @@ + .include "MPlayDef.s" + + .equ se_w062_grp, voicegroup_869D6F4 + .equ se_w062_pri, 4 + .equ se_w062_rev, reverb_set+50 + .equ se_w062_mvl, 127 + .equ se_w062_key, 0 + .equ se_w062_tbs, 1 + .equ se_w062_exg, 0 + .equ se_w062_cmp, 1 + + .section .rodata + .global se_w062 + .align 2 + +@********************** Track 1 **********************@ + +se_w062_1: + .byte KEYSH , se_w062_key+0 + .byte TEMPO , 150*se_w062_tbs/2 + .byte VOICE , 9 + .byte BENDR , 2 + .byte PAN , c_v+0 + .byte VOL , 24*se_w062_mvl/mxv + .byte BEND , c_v-17 + .byte N78 , Bn4 , v080 + .byte W01 + .byte VOL , 32*se_w062_mvl/mxv + .byte PAN , c_v+6 + .byte W01 + .byte VOL , 38*se_w062_mvl/mxv + .byte PAN , c_v-7 + .byte W01 + .byte VOL , 48*se_w062_mvl/mxv + .byte PAN , c_v+9 + .byte W01 + .byte VOL , 66*se_w062_mvl/mxv + .byte PAN , c_v-13 + .byte W02 + .byte VOL , 78*se_w062_mvl/mxv + .byte PAN , c_v+6 + .byte W01 + .byte VOL , 94*se_w062_mvl/mxv + .byte PAN , c_v-6 + .byte W01 + .byte VOL , 110*se_w062_mvl/mxv + .byte PAN , c_v+0 + .byte W01 + .byte c_v+6 + .byte W01 + .byte c_v-7 + .byte W02 +se_w062_1_000: + .byte PAN , c_v+9 + .byte W01 + .byte c_v-13 + .byte W01 + .byte c_v+6 + .byte W01 + .byte c_v-6 + .byte W01 + .byte c_v+0 + .byte W02 + .byte PEND +se_w062_1_001: + .byte PAN , c_v+6 + .byte W01 + .byte c_v-7 + .byte W01 + .byte c_v+9 + .byte W01 + .byte c_v-13 + .byte W01 + .byte c_v+6 + .byte W02 + .byte PEND + .byte c_v-6 + .byte W01 + .byte c_v+0 + .byte W01 + .byte c_v+6 + .byte W01 + .byte c_v-7 + .byte W01 + .byte c_v+9 + .byte W02 + .byte c_v-13 + .byte W01 + .byte c_v+6 + .byte W01 + .byte c_v-6 + .byte W01 + .byte c_v+0 + .byte W01 + .byte c_v+6 + .byte W02 + .byte c_v-7 + .byte W01 + .byte c_v+9 + .byte W01 + .byte c_v-13 + .byte W01 + .byte c_v+6 + .byte W01 + .byte c_v-6 + .byte W02 + .byte c_v+0 + .byte W01 + .byte c_v+6 + .byte W01 + .byte c_v-7 + .byte W01 + .byte c_v+9 + .byte W01 + .byte c_v-13 + .byte W02 + .byte c_v+6 + .byte W01 + .byte c_v-6 + .byte W01 + .byte c_v+0 + .byte W01 + .byte c_v+6 + .byte W01 + .byte c_v-7 + .byte W02 + .byte PATT + .word se_w062_1_000 + .byte PATT + .word se_w062_1_001 + .byte PAN , c_v-6 + .byte W01 + .byte c_v+0 + .byte W01 + .byte c_v+6 + .byte W01 + .byte VOL , 103*se_w062_mvl/mxv + .byte PAN , c_v-7 + .byte W01 + .byte VOL , 91*se_w062_mvl/mxv + .byte PAN , c_v+9 + .byte W02 + .byte VOL , 72*se_w062_mvl/mxv + .byte PAN , c_v-13 + .byte W01 + .byte VOL , 58*se_w062_mvl/mxv + .byte PAN , c_v+6 + .byte W01 + .byte VOL , 38*se_w062_mvl/mxv + .byte PAN , c_v-6 + .byte W01 + .byte VOL , 15*se_w062_mvl/mxv + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 7*se_w062_mvl/mxv + .byte PAN , c_v+6 + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_w062: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w062_pri @ Priority + .byte se_w062_rev @ Reverb. + + .word se_w062_grp + + .word se_w062_1 + + .end diff --git a/sound/songs/se_w062b.s b/sound/songs/se_w062b.s new file mode 100644 index 0000000000..1b7d0cb19b --- /dev/null +++ b/sound/songs/se_w062b.s @@ -0,0 +1,131 @@ + .include "MPlayDef.s" + + .equ se_w062b_grp, voicegroup_869D6F4 + .equ se_w062b_pri, 4 + .equ se_w062b_rev, reverb_set+50 + .equ se_w062b_mvl, 127 + .equ se_w062b_key, 0 + .equ se_w062b_tbs, 1 + .equ se_w062b_exg, 0 + .equ se_w062b_cmp, 1 + + .section .rodata + .global se_w062b + .align 2 + +@********************** Track 1 **********************@ + +se_w062b_1: + .byte KEYSH , se_w062b_key+0 + .byte TEMPO , 150*se_w062b_tbs/2 + .byte VOICE , 9 + .byte BENDR , 2 + .byte PAN , c_v+0 + .byte VOL , 26*se_w062b_mvl/mxv + .byte BEND , c_v-23 + .byte N09 , Dn5 , v127 + .byte W01 + .byte VOL , 34*se_w062b_mvl/mxv + .byte PAN , c_v+6 + .byte BEND , c_v-20 + .byte W01 + .byte VOL , 42*se_w062b_mvl/mxv + .byte PAN , c_v-7 + .byte BEND , c_v-16 + .byte W01 + .byte VOL , 52*se_w062b_mvl/mxv + .byte PAN , c_v+9 + .byte W01 + .byte VOL , 72*se_w062b_mvl/mxv + .byte PAN , c_v-13 + .byte BEND , c_v-18 + .byte W02 + .byte VOL , 85*se_w062b_mvl/mxv + .byte PAN , c_v+6 + .byte BEND , c_v-21 + .byte W01 + .byte VOL , 102*se_w062b_mvl/mxv + .byte PAN , c_v-6 + .byte BEND , c_v-23 + .byte W01 + .byte VOL , 120*se_w062b_mvl/mxv + .byte BEND , c_v-24 + .byte W02 + .byte VOL , 26*se_w062b_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-23 + .byte N09 , Dn5 , v100 + .byte W02 + .byte VOL , 34*se_w062b_mvl/mxv + .byte PAN , c_v+6 + .byte BEND , c_v-20 + .byte W01 + .byte VOL , 42*se_w062b_mvl/mxv + .byte PAN , c_v-7 + .byte BEND , c_v-16 + .byte W01 + .byte VOL , 52*se_w062b_mvl/mxv + .byte PAN , c_v+9 + .byte W01 + .byte VOL , 72*se_w062b_mvl/mxv + .byte PAN , c_v-13 + .byte BEND , c_v-18 + .byte W01 + .byte VOL , 85*se_w062b_mvl/mxv + .byte PAN , c_v+6 + .byte BEND , c_v-21 + .byte W02 + .byte VOL , 102*se_w062b_mvl/mxv + .byte PAN , c_v-6 + .byte BEND , c_v-23 + .byte W01 + .byte VOL , 120*se_w062b_mvl/mxv + .byte BEND , c_v-24 + .byte W02 + .byte VOL , 26*se_w062b_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-23 + .byte N09 , Dn5 , v080 + .byte W01 + .byte VOL , 34*se_w062b_mvl/mxv + .byte PAN , c_v+6 + .byte BEND , c_v-20 + .byte W02 + .byte VOL , 42*se_w062b_mvl/mxv + .byte PAN , c_v-7 + .byte BEND , c_v-16 + .byte W01 + .byte VOL , 52*se_w062b_mvl/mxv + .byte PAN , c_v+9 + .byte W01 + .byte VOL , 72*se_w062b_mvl/mxv + .byte PAN , c_v-13 + .byte BEND , c_v-18 + .byte W01 + .byte VOL , 85*se_w062b_mvl/mxv + .byte PAN , c_v+6 + .byte BEND , c_v-21 + .byte W01 + .byte VOL , 102*se_w062b_mvl/mxv + .byte PAN , c_v-6 + .byte BEND , c_v-23 + .byte W02 + .byte VOL , 120*se_w062b_mvl/mxv + .byte BEND , c_v-24 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_w062b: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w062b_pri @ Priority + .byte se_w062b_rev @ Reverb. + + .word se_w062b_grp + + .word se_w062b_1 + + .end diff --git a/sound/songs/se_w063.s b/sound/songs/se_w063.s new file mode 100644 index 0000000000..e38b6166a9 --- /dev/null +++ b/sound/songs/se_w063.s @@ -0,0 +1,84 @@ + .include "MPlayDef.s" + + .equ se_w063_grp, voicegroup_869D6F4 + .equ se_w063_pri, 4 + .equ se_w063_rev, reverb_set+50 + .equ se_w063_mvl, 127 + .equ se_w063_key, 0 + .equ se_w063_tbs, 1 + .equ se_w063_exg, 0 + .equ se_w063_cmp, 1 + + .section .rodata + .global se_w063 + .align 2 + +@********************** Track 1 **********************@ + +se_w063_1: + .byte KEYSH , se_w063_key+0 + .byte TEMPO , 150*se_w063_tbs/2 + .byte VOICE , 18 + .byte VOL , 110*se_w063_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N02 , En3 , v127 + .byte W03 + .byte N01 , As3 + .byte W03 + .byte N02 , Gn3 + .byte W03 + .byte N01 , Cs4 + .byte W03 + .byte PAN , c_v+7 + .byte N02 , En3 , v072 + .byte W03 + .byte N01 , As3 + .byte W03 + .byte PAN , c_v-7 + .byte N02 , Gn3 , v040 + .byte W03 + .byte N01 , Cs4 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_w063_2: + .byte KEYSH , se_w063_key+0 + .byte VOICE , 5 + .byte VOL , 110*se_w063_mvl/mxv + .byte N01 , Cn3 , v040 + .byte W02 + .byte N01 + .byte W04 + .byte N01 + .byte W02 + .byte N01 + .byte W04 +se_w063_2_000: + .byte N01 , Cn3 , v020 + .byte W02 + .byte N01 + .byte W04 + .byte PEND + .byte PATT + .word se_w063_2_000 + .byte FINE + +@******************************************************@ + .align 2 + +se_w063: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w063_pri @ Priority + .byte se_w063_rev @ Reverb. + + .word se_w063_grp + + .word se_w063_1 + .word se_w063_2 + + .end diff --git a/sound/songs/se_w063b.s b/sound/songs/se_w063b.s new file mode 100644 index 0000000000..e7502afa65 --- /dev/null +++ b/sound/songs/se_w063b.s @@ -0,0 +1,115 @@ + .include "MPlayDef.s" + + .equ se_w063b_grp, voicegroup_869D6F4 + .equ se_w063b_pri, 4 + .equ se_w063b_rev, reverb_set+50 + .equ se_w063b_mvl, 127 + .equ se_w063b_key, 0 + .equ se_w063b_tbs, 1 + .equ se_w063b_exg, 0 + .equ se_w063b_cmp, 1 + + .section .rodata + .global se_w063b + .align 2 + +@********************** Track 1 **********************@ + +se_w063b_1: + .byte KEYSH , se_w063b_key+0 + .byte TEMPO , 150*se_w063b_tbs/2 + .byte VOICE , 45 + .byte VOL , 110*se_w063b_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N03 , Gn3 , v092 + .byte W01 + .byte BEND , c_v+11 + .byte W01 + .byte c_v+28 + .byte W01 + .byte c_v+0 + .byte N02 , Cs4 + .byte W01 + .byte BEND , c_v+30 + .byte W02 + .byte c_v+0 + .byte N03 , As3 + .byte W01 + .byte BEND , c_v+11 + .byte W01 + .byte c_v+28 + .byte W01 + .byte c_v+0 + .byte N02 , En4 + .byte W01 + .byte BEND , c_v+30 + .byte W02 + .byte PAN , c_v+7 + .byte BEND , c_v+0 + .byte N03 , Gn3 , v040 + .byte W01 + .byte BEND , c_v+11 + .byte W01 + .byte c_v+28 + .byte W01 + .byte c_v+0 + .byte N02 , Cs4 + .byte W01 + .byte BEND , c_v+30 + .byte W02 + .byte PAN , c_v-7 + .byte BEND , c_v+0 + .byte N03 , As3 , v016 + .byte W01 + .byte BEND , c_v+11 + .byte W01 + .byte c_v+28 + .byte W01 + .byte c_v+0 + .byte N02 , En4 + .byte W01 + .byte BEND , c_v+30 + .byte W02 + .byte FINE + +@********************** Track 2 **********************@ + +se_w063b_2: + .byte KEYSH , se_w063b_key+0 + .byte VOICE , 5 + .byte VOL , 110*se_w063b_mvl/mxv + .byte N01 , Cn3 , v032 + .byte W02 + .byte N01 + .byte W04 + .byte N01 + .byte W02 + .byte N01 + .byte W04 +se_w063b_2_000: + .byte N01 , Cn3 , v020 + .byte W02 + .byte N01 + .byte W04 + .byte PEND + .byte PATT + .word se_w063b_2_000 + .byte FINE + +@******************************************************@ + .align 2 + +se_w063b: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w063b_pri @ Priority + .byte se_w063b_rev @ Reverb. + + .word se_w063b_grp + + .word se_w063b_1 + .word se_w063b_2 + + .end diff --git a/sound/songs/se_w070.s b/sound/songs/se_w070.s new file mode 100644 index 0000000000..8b6965fc43 --- /dev/null +++ b/sound/songs/se_w070.s @@ -0,0 +1,84 @@ + .include "MPlayDef.s" + + .equ se_w070_grp, voicegroup_869D6F4 + .equ se_w070_pri, 4 + .equ se_w070_rev, reverb_set+50 + .equ se_w070_mvl, 127 + .equ se_w070_key, 0 + .equ se_w070_tbs, 1 + .equ se_w070_exg, 0 + .equ se_w070_cmp, 1 + + .section .rodata + .global se_w070 + .align 2 + +@********************** Track 1 **********************@ + +se_w070_1: + .byte KEYSH , se_w070_key+0 + .byte TEMPO , 150*se_w070_tbs/2 + .byte VOICE , 26 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_w070_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , Gn2 , v127 + .byte W03 + .byte PAN , c_v+6 + .byte N03 , Fs2 , v120 + .byte W04 + .byte PAN , c_v-6 + .byte N03 , Fn2 , v116 + .byte W03 + .byte PAN , c_v+11 + .byte N03 , En2 , v112 + .byte W04 + .byte PAN , c_v-11 + .byte N03 , Ds2 , v108 + .byte W04 + .byte PAN , c_v+0 + .byte N03 , Dn2 , v100 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_w070_2: + .byte KEYSH , se_w070_key+0 + .byte VOICE , 5 + .byte PAN , c_v+0 + .byte VOL , 110*se_w070_mvl/mxv + .byte N02 , Fn2 , v072 + .byte W02 + .byte N01 + .byte W01 + .byte N02 , Gn2 + .byte W03 + .byte N01 , Gs2 , v060 + .byte W01 + .byte N02 , Cn3 , v040 + .byte W03 + .byte Cn3 , v032 + .byte W04 + .byte N01 , Cn3 , v028 + .byte W04 + .byte Cn3 , v020 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_w070: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w070_pri @ Priority + .byte se_w070_rev @ Reverb. + + .word se_w070_grp + + .word se_w070_1 + .word se_w070_2 + + .end diff --git a/sound/songs/se_w071.s b/sound/songs/se_w071.s new file mode 100644 index 0000000000..a00177607c --- /dev/null +++ b/sound/songs/se_w071.s @@ -0,0 +1,73 @@ + .include "MPlayDef.s" + + .equ se_w071_grp, voicegroup_869D6F4 + .equ se_w071_pri, 4 + .equ se_w071_rev, reverb_set+50 + .equ se_w071_mvl, 127 + .equ se_w071_key, 0 + .equ se_w071_tbs, 1 + .equ se_w071_exg, 0 + .equ se_w071_cmp, 1 + + .section .rodata + .global se_w071 + .align 2 + +@********************** Track 1 **********************@ + +se_w071_1: + .byte KEYSH , se_w071_key+0 + .byte TEMPO , 150*se_w071_tbs/2 + .byte VOICE , 24 + .byte VOL , 110*se_w071_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N01 , Cn6 , v127 + .byte W01 + .byte Gn6 , v112 + .byte W01 + .byte VOICE , 38 + .byte VOL , 58*se_w071_mvl/mxv + .byte N08 , Gn4 + .byte W01 + .byte VOL , 68*se_w071_mvl/mxv + .byte PAN , c_v+8 + .byte BEND , c_v-20 + .byte W01 + .byte VOL , 75*se_w071_mvl/mxv + .byte PAN , c_v-8 + .byte BEND , c_v-48 + .byte W02 + .byte VOL , 83*se_w071_mvl/mxv + .byte PAN , c_v+8 + .byte BEND , c_v-18 + .byte W01 + .byte VOL , 90*se_w071_mvl/mxv + .byte PAN , c_v-8 + .byte BEND , c_v+10 + .byte W01 + .byte VOL , 101*se_w071_mvl/mxv + .byte PAN , c_v+9 + .byte BEND , c_v+39 + .byte W01 + .byte VOL , 110*se_w071_mvl/mxv + .byte PAN , c_v-8 + .byte BEND , c_v+63 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_w071: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w071_pri @ Priority + .byte se_w071_rev @ Reverb. + + .word se_w071_grp + + .word se_w071_1 + + .end diff --git a/sound/songs/se_w071b.s b/sound/songs/se_w071b.s new file mode 100644 index 0000000000..d52fbad2a7 --- /dev/null +++ b/sound/songs/se_w071b.s @@ -0,0 +1,155 @@ + .include "MPlayDef.s" + + .equ se_w071b_grp, voicegroup_869D6F4 + .equ se_w071b_pri, 4 + .equ se_w071b_rev, reverb_set+50 + .equ se_w071b_mvl, 127 + .equ se_w071b_key, 0 + .equ se_w071b_tbs, 1 + .equ se_w071b_exg, 0 + .equ se_w071b_cmp, 1 + + .section .rodata + .global se_w071b + .align 2 + +@********************** Track 1 **********************@ + +se_w071b_1: + .byte KEYSH , se_w071b_key+0 + .byte TEMPO , 150*se_w071b_tbs/2 + .byte VOICE , 46 + .byte VOL , 110*se_w071b_mvl/mxv + .byte BENDR , 2 + .byte PAN , c_v+0 + .byte BEND , c_v+15 + .byte W01 + .byte N02 , Dn6 , v112 + .byte W02 + .byte Cs6 + .byte W03 + .byte PAN , c_v+8 + .byte N02 , An5 + .byte W02 + .byte Fs5 + .byte W01 + .byte W01 + .byte Dn5 + .byte W02 + .byte PAN , c_v-7 + .byte W01 + .byte N02 , Dn5 , v104 + .byte W02 + .byte Cs5 , v100 + .byte W03 + .byte PAN , c_v+0 + .byte N02 , An4 , v096 + .byte W02 + .byte Fs4 , v092 + .byte W01 + .byte W01 + .byte Dn4 , v088 + .byte W02 + .byte PAN , c_v+15 + .byte W01 + .byte N02 , Dn6 + .byte W02 + .byte Cs6 , v084 + .byte W03 + .byte An5 , v080 + .byte W02 + .byte Fs5 , v076 + .byte W01 + .byte W01 + .byte Dn5 , v072 + .byte W02 + .byte PAN , c_v-16 + .byte W01 + .byte N02 , Dn6 , v068 + .byte W02 + .byte Cs6 , v064 + .byte W03 + .byte An5 , v060 + .byte W02 + .byte Fs5 , v056 + .byte W01 + .byte W01 + .byte Dn5 , v052 + .byte W02 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_w071b_2: + .byte KEYSH , se_w071b_key+0 + .byte VOICE , 53 + .byte BENDR , 2 + .byte VOL , 43*se_w071b_mvl/mxv + .byte BEND , c_v+15 + .byte N02 , An6 , v112 + .byte W02 + .byte Fs6 + .byte W01 + .byte W01 + .byte Dn6 + .byte W02 + .byte W01 + .byte Cs6 + .byte W02 + .byte An5 + .byte W03 + .byte N02 + .byte W02 + .byte Fs5 , v104 + .byte W01 + .byte W01 + .byte Dn5 , v100 + .byte W02 + .byte W01 + .byte Cs5 , v096 + .byte W02 + .byte An4 , v092 + .byte W03 + .byte An6 , v088 + .byte W02 + .byte Fs6 , v084 + .byte W01 + .byte W01 + .byte Dn6 , v080 + .byte W02 + .byte W01 + .byte Cs6 , v076 + .byte W02 + .byte An5 , v072 + .byte W03 + .byte An6 , v068 + .byte W02 + .byte Fs6 , v064 + .byte W01 + .byte W01 + .byte Dn6 , v060 + .byte W02 + .byte W01 + .byte Cs6 , v056 + .byte W02 + .byte An5 , v052 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_w071b: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w071b_pri @ Priority + .byte se_w071b_rev @ Reverb. + + .word se_w071b_grp + + .word se_w071b_1 + .word se_w071b_2 + + .end diff --git a/sound/songs/se_w076.s b/sound/songs/se_w076.s new file mode 100644 index 0000000000..8ba5148793 --- /dev/null +++ b/sound/songs/se_w076.s @@ -0,0 +1,164 @@ + .include "MPlayDef.s" + + .equ se_w076_grp, voicegroup_869D6F4 + .equ se_w076_pri, 4 + .equ se_w076_rev, reverb_set+50 + .equ se_w076_mvl, 127 + .equ se_w076_key, 0 + .equ se_w076_tbs, 1 + .equ se_w076_exg, 0 + .equ se_w076_cmp, 1 + + .section .rodata + .global se_w076 + .align 2 + +@********************** Track 1 **********************@ + +se_w076_1: + .byte KEYSH , se_w076_key+0 + .byte TEMPO , 150*se_w076_tbs/2 + .byte VOICE , 36 + .byte BENDR , 24 + .byte VOL , 25*se_w076_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+63 + .byte TIE , Cn4 , v112 + .byte W04 + .byte VOL , 40*se_w076_mvl/mxv + .byte W02 + .byte PAN , c_v-4 + .byte BEND , c_v+52 + .byte W03 + .byte VOL , 55*se_w076_mvl/mxv + .byte W03 + .byte PAN , c_v-10 + .byte BEND , c_v+41 + .byte W03 + .byte VOL , 80*se_w076_mvl/mxv + .byte W03 + .byte PAN , c_v-5 + .byte BEND , c_v+30 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v+22 + .byte W01 + .byte VOL , 100*se_w076_mvl/mxv + .byte W05 + .byte PAN , c_v+4 + .byte BEND , c_v+63 + .byte W06 + .byte PAN , c_v+11 + .byte BEND , c_v+52 + .byte W06 + .byte PAN , c_v+4 + .byte BEND , c_v+41 + .byte W04 + .byte c_v+33 + .byte W02 + .byte PAN , c_v+0 + .byte W03 + .byte BEND , c_v+25 + .byte W03 + .byte PAN , c_v-4 + .byte W03 + .byte BEND , c_v+22 + .byte W03 + .byte PAN , c_v-10 + .byte W06 + .byte c_v-5 + .byte BEND , c_v+17 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v+9 + .byte W06 + .byte PAN , c_v+4 + .byte W02 + .byte BEND , c_v+4 + .byte W04 + .byte PAN , c_v+11 + .byte W06 + .byte c_v+4 + .byte BEND , c_v+0 + .byte W06 + .byte PAN , c_v+0 + .byte W06 + .byte c_v-4 + .byte W02 + .byte BEND , c_v-3 + .byte W04 + .byte PAN , c_v-10 + .byte W06 + .byte c_v-5 + .byte W04 + .byte BEND , c_v-5 + .byte W02 + .byte PAN , c_v+0 + .byte W06 + .byte c_v+4 + .byte W02 + .byte BEND , c_v-7 + .byte W04 + .byte PAN , c_v+11 + .byte W06 + .byte c_v+4 + .byte W01 + .byte BEND , c_v-10 + .byte W05 + .byte PAN , c_v+0 + .byte W03 + .byte BEND , c_v-13 + .byte W03 + .byte PAN , c_v-4 + .byte W06 + .byte c_v-10 + .byte BEND , c_v-18 + .byte W03 + .byte VOL , 89*se_w076_mvl/mxv + .byte W03 + .byte PAN , c_v-5 + .byte W02 + .byte VOL , 74*se_w076_mvl/mxv + .byte BEND , c_v-25 + .byte W04 + .byte PAN , c_v+0 + .byte W02 + .byte VOL , 62*se_w076_mvl/mxv + .byte W01 + .byte BEND , c_v-32 + .byte W03 + .byte PAN , c_v+4 + .byte W01 + .byte VOL , 45*se_w076_mvl/mxv + .byte W01 + .byte BEND , c_v-40 + .byte W04 + .byte VOL , 28*se_w076_mvl/mxv + .byte PAN , c_v+11 + .byte BEND , c_v-49 + .byte W03 + .byte c_v-64 + .byte W01 + .byte VOL , 10*se_w076_mvl/mxv + .byte W02 + .byte PAN , c_v+4 + .byte W02 + .byte VOL , 5*se_w076_mvl/mxv + .byte W04 + .byte EOT + .byte FINE + +@******************************************************@ + .align 2 + +se_w076: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w076_pri @ Priority + .byte se_w076_rev @ Reverb. + + .word se_w076_grp + + .word se_w076_1 + + .end diff --git a/sound/songs/se_w077.s b/sound/songs/se_w077.s new file mode 100644 index 0000000000..15c871f9d6 --- /dev/null +++ b/sound/songs/se_w077.s @@ -0,0 +1,58 @@ + .include "MPlayDef.s" + + .equ se_w077_grp, voicegroup_869D6F4 + .equ se_w077_pri, 4 + .equ se_w077_rev, reverb_set+50 + .equ se_w077_mvl, 127 + .equ se_w077_key, 0 + .equ se_w077_tbs, 1 + .equ se_w077_exg, 0 + .equ se_w077_cmp, 1 + + .section .rodata + .global se_w077 + .align 2 + +@********************** Track 1 **********************@ + +se_w077_1: + .byte KEYSH , se_w077_key+0 + .byte TEMPO , 150*se_w077_tbs/2 + .byte VOICE , 18 + .byte BENDR , 12 + .byte VOL , 55*se_w077_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte N01 , Cn6 , v100 + .byte W01 + .byte VOL , 110*se_w077_mvl/mxv + .byte W01 + .byte VOICE , 36 + .byte VOL , 55*se_w077_mvl/mxv + .byte N02 , Gn6 , v080 + .byte W01 + .byte VOL , 110*se_w077_mvl/mxv + .byte W04 + .byte PAN , c_v+20 + .byte N01 , Gn6 , v024 + .byte W03 + .byte Gn6 , v016 + .byte W02 + .byte PAN , c_v-21 + .byte W12 + .byte FINE + +@******************************************************@ + .align 2 + +se_w077: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w077_pri @ Priority + .byte se_w077_rev @ Reverb. + + .word se_w077_grp + + .word se_w077_1 + + .end diff --git a/sound/songs/se_w080.s b/sound/songs/se_w080.s new file mode 100644 index 0000000000..f05e744636 --- /dev/null +++ b/sound/songs/se_w080.s @@ -0,0 +1,205 @@ + .include "MPlayDef.s" + + .equ se_w080_grp, voicegroup_869D6F4 + .equ se_w080_pri, 4 + .equ se_w080_rev, reverb_set+50 + .equ se_w080_mvl, 127 + .equ se_w080_key, 0 + .equ se_w080_tbs, 1 + .equ se_w080_exg, 0 + .equ se_w080_cmp, 1 + + .section .rodata + .global se_w080 + .align 2 + +@********************** Track 1 **********************@ + +se_w080_1: + .byte KEYSH , se_w080_key+0 + .byte TEMPO , 150*se_w080_tbs/2 + .byte VOICE , 46 + .byte VOL , 95*se_w080_mvl/mxv + .byte BENDR , 2 + .byte PAN , c_v+0 + .byte BEND , c_v+15 + .byte W03 + .byte N06 , Dn6 , v112 + .byte W03 + .byte W03 + .byte An5 , v104 + .byte W03 + .byte W03 + .byte Dn6 , v100 + .byte W03 + .byte W03 + .byte An5 + .byte W03 + .byte W03 + .byte PAN , c_v-4 + .byte N06 , Dn6 , v096 + .byte W03 + .byte W03 + .byte PAN , c_v+0 + .byte N06 , An5 , v092 + .byte W03 + .byte W03 + .byte PAN , c_v+4 + .byte N06 , Dn6 , v088 + .byte W03 + .byte W03 + .byte PAN , c_v+0 + .byte N06 , An5 , v084 + .byte W03 + .byte W03 + .byte PAN , c_v-4 + .byte N06 , Dn6 , v080 + .byte W03 + .byte W03 + .byte PAN , c_v+0 + .byte N06 , An5 , v076 + .byte W03 + .byte W03 + .byte PAN , c_v+4 + .byte N06 , Dn6 + .byte W03 + .byte W03 + .byte PAN , c_v+0 + .byte N06 , An5 , v072 + .byte W03 + .byte W03 + .byte PAN , c_v-4 + .byte N06 , Dn6 , v068 + .byte W03 + .byte W03 + .byte PAN , c_v+0 + .byte N06 , An5 , v064 + .byte W03 + .byte W03 + .byte PAN , c_v+4 + .byte N06 , Dn6 , v060 + .byte W03 + .byte W03 + .byte PAN , c_v+0 + .byte N06 , An5 , v056 + .byte W03 + .byte W03 + .byte PAN , c_v-8 + .byte N06 , Dn6 , v052 + .byte W03 + .byte W03 + .byte PAN , c_v+0 + .byte N06 , An5 , v048 + .byte W03 + .byte W03 + .byte PAN , c_v+8 + .byte N06 , Dn6 , v044 + .byte W03 + .byte W03 + .byte PAN , c_v+0 + .byte N06 , An5 , v040 + .byte W03 + .byte W03 + .byte PAN , c_v-8 + .byte N06 , Dn6 , v036 + .byte W03 + .byte W03 + .byte PAN , c_v+0 + .byte N06 , An5 , v032 + .byte W03 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_w080_2: + .byte KEYSH , se_w080_key+0 + .byte VOICE , 53 + .byte BENDR , 2 + .byte VOL , 43*se_w080_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+15 + .byte N06 , En6 , v108 + .byte W03 + .byte W03 + .byte Bn5 , v104 + .byte W03 + .byte W03 + .byte En6 , v100 + .byte W03 + .byte W03 + .byte Bn5 , v096 + .byte W03 + .byte W03 + .byte En6 , v092 + .byte W03 + .byte W03 + .byte Bn5 , v088 + .byte W03 + .byte W03 + .byte En6 + .byte W03 + .byte W03 + .byte Bn5 , v084 + .byte W03 + .byte W03 + .byte En6 , v080 + .byte W03 + .byte W03 + .byte Bn5 , v076 + .byte W03 + .byte W03 + .byte En6 , v072 + .byte W03 + .byte W03 + .byte Bn5 , v068 + .byte W03 + .byte W03 + .byte En6 , v064 + .byte W03 + .byte W03 + .byte Bn5 + .byte W03 + .byte W03 + .byte En6 , v060 + .byte W03 + .byte W03 + .byte Bn5 , v056 + .byte W03 + .byte W03 + .byte En6 , v052 + .byte W03 + .byte W03 + .byte Bn5 , v048 + .byte W03 + .byte W03 + .byte En6 , v044 + .byte W03 + .byte W03 + .byte Bn5 , v040 + .byte W03 + .byte W03 + .byte En6 , v036 + .byte W03 + .byte W03 + .byte Bn5 , v032 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_w080: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w080_pri @ Priority + .byte se_w080_rev @ Reverb. + + .word se_w080_grp + + .word se_w080_1 + .word se_w080_2 + + .end diff --git a/sound/songs/se_w081.s b/sound/songs/se_w081.s new file mode 100644 index 0000000000..1c185dc914 --- /dev/null +++ b/sound/songs/se_w081.s @@ -0,0 +1,80 @@ + .include "MPlayDef.s" + + .equ se_w081_grp, voicegroup_869D6F4 + .equ se_w081_pri, 4 + .equ se_w081_rev, reverb_set+50 + .equ se_w081_mvl, 127 + .equ se_w081_key, 0 + .equ se_w081_tbs, 1 + .equ se_w081_exg, 0 + .equ se_w081_cmp, 1 + + .section .rodata + .global se_w081 + .align 2 + +@********************** Track 1 **********************@ + +se_w081_1: + .byte KEYSH , se_w081_key+0 + .byte TEMPO , 250*se_w081_tbs/2 + .byte VOICE , 22 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_w081_mvl/mxv + .byte BEND , c_v+0 + .byte N48 , Fn4 , v108 + .byte W03 + .byte PAN , c_v+5 + .byte BEND , c_v+6 + .byte W03 + .byte PAN , c_v+15 + .byte BEND , c_v+12 + .byte W03 + .byte PAN , c_v+6 + .byte BEND , c_v+21 + .byte W02 + .byte c_v+8 + .byte W01 + .byte PAN , c_v-1 + .byte W03 + .byte c_v-9 + .byte BEND , c_v-8 + .byte W03 + .byte PAN , c_v-15 + .byte BEND , c_v-14 + .byte W03 + .byte PAN , c_v-9 + .byte BEND , c_v-8 + .byte W03 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte W06 + .byte VOL , 90*se_w081_mvl/mxv + .byte W03 + .byte 71*se_w081_mvl/mxv + .byte W03 + .byte 58*se_w081_mvl/mxv + .byte W03 + .byte 41*se_w081_mvl/mxv + .byte W03 + .byte 27*se_w081_mvl/mxv + .byte W03 + .byte 7*se_w081_mvl/mxv + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_w081: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w081_pri @ Priority + .byte se_w081_rev @ Reverb. + + .word se_w081_grp + + .word se_w081_1 + + .end diff --git a/sound/songs/se_w081b.s b/sound/songs/se_w081b.s new file mode 100644 index 0000000000..d817690e93 --- /dev/null +++ b/sound/songs/se_w081b.s @@ -0,0 +1,134 @@ + .include "MPlayDef.s" + + .equ se_w081b_grp, voicegroup_869D6F4 + .equ se_w081b_pri, 4 + .equ se_w081b_rev, reverb_set+50 + .equ se_w081b_mvl, 127 + .equ se_w081b_key, 0 + .equ se_w081b_tbs, 1 + .equ se_w081b_exg, 0 + .equ se_w081b_cmp, 1 + + .section .rodata + .global se_w081b + .align 2 + +@********************** Track 1 **********************@ + +se_w081b_1: + .byte KEYSH , se_w081b_key+0 + .byte TEMPO , 250*se_w081b_tbs/2 + .byte VOICE , 10 + .byte BENDR , 12 + .byte VOL , 105*se_w081b_mvl/mxv + .byte PAN , c_v-1 + .byte BEND , c_v+0 + .byte N09 , En4 , v112 + .byte W03 + .byte BEND , c_v+6 + .byte W03 + .byte c_v+12 + .byte W05 + .byte c_v+8 + .byte W01 + .byte PAN , c_v+16 + .byte N09 , Gn4 + .byte W03 + .byte BEND , c_v-8 + .byte W03 + .byte c_v-14 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v-11 + .byte N09 , En4 + .byte W03 + .byte BEND , c_v-5 + .byte W03 + .byte c_v+1 + .byte W05 + .byte c_v-3 + .byte W01 + .byte PAN , c_v-16 + .byte N09 , Gn4 + .byte W03 + .byte BEND , c_v-19 + .byte W03 + .byte c_v-25 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v-19 + .byte N09 , En4 + .byte W03 + .byte BEND , c_v-13 + .byte W03 + .byte c_v-6 + .byte W05 + .byte c_v-10 + .byte W01 + .byte PAN , c_v+16 + .byte N09 , Gn4 , v096 + .byte W03 + .byte BEND , c_v-27 + .byte W03 + .byte c_v-32 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v-32 + .byte N09 , En4 , v084 + .byte W03 + .byte BEND , c_v-26 + .byte W03 + .byte c_v-19 + .byte W05 + .byte c_v-23 + .byte W01 + .byte PAN , c_v-16 + .byte N09 , Gn4 , v060 + .byte W03 + .byte BEND , c_v-40 + .byte W03 + .byte c_v-45 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_w081b_2: + .byte KEYSH , se_w081b_key+0 + .byte VOICE , 5 + .byte VOL , 105*se_w081b_mvl/mxv + .byte PAN , c_v+9 + .byte N09 , Cn3 , v052 + .byte W12 + .byte PAN , c_v-7 + .byte N09 , Gn2 + .byte W12 +se_w081b_2_000: + .byte PAN , c_v+9 + .byte N09 , Cn3 , v052 + .byte W12 + .byte PAN , c_v-6 + .byte N09 , Gn2 + .byte W12 + .byte PEND + .byte PATT + .word se_w081b_2_000 + .byte PATT + .word se_w081b_2_000 + .byte FINE + +@******************************************************@ + .align 2 + +se_w081b: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w081b_pri @ Priority + .byte se_w081b_rev @ Reverb. + + .word se_w081b_grp + + .word se_w081b_1 + .word se_w081b_2 + + .end diff --git a/sound/songs/se_w082.s b/sound/songs/se_w082.s new file mode 100644 index 0000000000..03c2e7162e --- /dev/null +++ b/sound/songs/se_w082.s @@ -0,0 +1,150 @@ + .include "MPlayDef.s" + + .equ se_w082_grp, voicegroup_869D6F4 + .equ se_w082_pri, 4 + .equ se_w082_rev, reverb_set+50 + .equ se_w082_mvl, 127 + .equ se_w082_key, 0 + .equ se_w082_tbs, 1 + .equ se_w082_exg, 0 + .equ se_w082_cmp, 1 + + .section .rodata + .global se_w082 + .align 2 + +@********************** Track 1 **********************@ + +se_w082_1: + .byte KEYSH , se_w082_key+0 + .byte TEMPO , 150*se_w082_tbs/2 + .byte VOICE , 29 + .byte BENDR , 12 + .byte PAN , c_v+5 + .byte VOL , 21*se_w082_mvl/mxv + .byte BEND , c_v+0 + .byte N10 , An2 , v127 + .byte W02 + .byte VOL , 47*se_w082_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 88*se_w082_mvl/mxv + .byte W02 + .byte PAN , c_v-5 + .byte W01 + .byte VOL , 120*se_w082_mvl/mxv + .byte W02 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 21*se_w082_mvl/mxv + .byte BEND , c_v+10 + .byte N10 , Bn2 + .byte W02 + .byte PAN , c_v+5 + .byte W01 + .byte VOL , 47*se_w082_mvl/mxv + .byte W02 + .byte PAN , c_v+0 + .byte VOL , 88*se_w082_mvl/mxv + .byte W03 + .byte PAN , c_v-5 + .byte VOL , 120*se_w082_mvl/mxv + .byte W03 + .byte PAN , c_v-2 + .byte VOL , 21*se_w082_mvl/mxv + .byte BEND , c_v+18 + .byte N10 , Cs3 + .byte W03 + .byte PAN , c_v+5 + .byte VOL , 47*se_w082_mvl/mxv + .byte W02 + .byte 88*se_w082_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 120*se_w082_mvl/mxv + .byte W02 + .byte PAN , c_v-5 + .byte W02 + .byte VOL , 20*se_w082_mvl/mxv + .byte BEND , c_v+29 + .byte N10 , Dn3 + .byte W01 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 47*se_w082_mvl/mxv + .byte W02 + .byte PAN , c_v+5 + .byte W01 + .byte VOL , 88*se_w082_mvl/mxv + .byte W02 + .byte PAN , c_v+0 + .byte VOL , 120*se_w082_mvl/mxv + .byte W03 + .byte PAN , c_v-5 + .byte W01 + .byte VOL , 21*se_w082_mvl/mxv + .byte BEND , c_v+37 + .byte N10 , En3 + .byte W02 + .byte PAN , c_v-2 + .byte VOL , 46*se_w082_mvl/mxv + .byte W03 + .byte PAN , c_v+5 + .byte VOL , 102*se_w082_mvl/mxv + .byte W02 + .byte 120*se_w082_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte W03 + .byte c_v-5 + .byte VOL , 20*se_w082_mvl/mxv + .byte BEND , c_v+42 + .byte N20 , Fs3 + .byte W02 + .byte VOL , 47*se_w082_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 88*se_w082_mvl/mxv + .byte W02 + .byte PAN , c_v+5 + .byte W01 + .byte VOL , 120*se_w082_mvl/mxv + .byte W02 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 99*se_w082_mvl/mxv + .byte BEND , c_v+50 + .byte W02 + .byte PAN , c_v-5 + .byte W01 + .byte VOL , 74*se_w082_mvl/mxv + .byte W01 + .byte BEND , c_v+56 + .byte W01 + .byte PAN , c_v-2 + .byte VOL , 53*se_w082_mvl/mxv + .byte W03 + .byte 34*se_w082_mvl/mxv + .byte BEND , c_v+63 + .byte W01 + .byte VOL , 15*se_w082_mvl/mxv + .byte W23 + .byte FINE + +@******************************************************@ + .align 2 + +se_w082: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w082_pri @ Priority + .byte se_w082_rev @ Reverb. + + .word se_w082_grp + + .word se_w082_1 + + .end diff --git a/sound/songs/se_w085.s b/sound/songs/se_w085.s new file mode 100644 index 0000000000..77b21eaa45 --- /dev/null +++ b/sound/songs/se_w085.s @@ -0,0 +1,117 @@ + .include "MPlayDef.s" + + .equ se_w085_grp, voicegroup_869D6F4 + .equ se_w085_pri, 4 + .equ se_w085_rev, reverb_set+50 + .equ se_w085_mvl, 127 + .equ se_w085_key, 0 + .equ se_w085_tbs, 1 + .equ se_w085_exg, 0 + .equ se_w085_cmp, 1 + + .section .rodata + .global se_w085 + .align 2 + +@********************** Track 1 **********************@ + +se_w085_1: + .byte KEYSH , se_w085_key+0 + .byte TEMPO , 220*se_w085_tbs/2 + .byte VOICE , 18 + .byte VOL , 120*se_w085_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+32 + .byte N06 , Dn3 , v127 + .byte W02 + .byte PAN , c_v-8 + .byte W01 + .byte BEND , c_v+0 + .byte W01 + .byte PAN , c_v-16 + .byte W02 + .byte c_v+0 + .byte BEND , c_v+32 + .byte N06 , Dn2 , v104 + .byte W02 + .byte PAN , c_v+9 + .byte W01 + .byte BEND , c_v-12 + .byte W01 + .byte PAN , c_v+16 + .byte W02 + .byte c_v+0 + .byte BEND , c_v+0 + .byte N21 , Dn3 , v127 + .byte W03 + .byte PAN , c_v-8 + .byte W03 + .byte c_v-15 + .byte W01 + .byte BEND , c_v-13 + .byte W02 + .byte PAN , c_v-7 + .byte W01 + .byte BEND , c_v-23 + .byte W02 + .byte VOL , 100*se_w085_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-40 + .byte W01 + .byte VOL , 86*se_w085_mvl/mxv + .byte W01 + .byte BEND , c_v-54 + .byte W01 + .byte PAN , c_v+10 + .byte VOL , 68*se_w085_mvl/mxv + .byte W02 + .byte 37*se_w085_mvl/mxv + .byte BEND , c_v-64 + .byte W01 + .byte PAN , c_v+16 + .byte W02 + .byte VOL , 17*se_w085_mvl/mxv + .byte W01 + .byte PAN , c_v+10 + .byte W15 + .byte FINE + +@********************** Track 2 **********************@ + +se_w085_2: + .byte KEYSH , se_w085_key+0 + .byte VOICE , 5 + .byte VOL , 120*se_w085_mvl/mxv + .byte PAN , c_v-7 + .byte N02 , En3 , v048 + .byte W05 + .byte PAN , c_v+10 + .byte N02 , En3 , v040 + .byte W06 + .byte PAN , c_v-7 + .byte N02 , En3 , v032 + .byte W07 + .byte PAN , c_v+10 + .byte N02 , En3 , v024 + .byte W06 + .byte PAN , c_v-7 + .byte N02 , En3 , v016 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_w085: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w085_pri @ Priority + .byte se_w085_rev @ Reverb. + + .word se_w085_grp + + .word se_w085_1 + .word se_w085_2 + + .end diff --git a/sound/songs/se_w085b.s b/sound/songs/se_w085b.s new file mode 100644 index 0000000000..e48058f000 --- /dev/null +++ b/sound/songs/se_w085b.s @@ -0,0 +1,85 @@ + .include "MPlayDef.s" + + .equ se_w085b_grp, voicegroup_869D6F4 + .equ se_w085b_pri, 4 + .equ se_w085b_rev, reverb_set+50 + .equ se_w085b_mvl, 127 + .equ se_w085b_key, 0 + .equ se_w085b_tbs, 1 + .equ se_w085b_exg, 0 + .equ se_w085b_cmp, 1 + + .section .rodata + .global se_w085b + .align 2 + +@********************** Track 1 **********************@ + +se_w085b_1: + .byte KEYSH , se_w085b_key+0 + .byte TEMPO , 220*se_w085b_tbs/2 + .byte VOICE , 18 + .byte VOL , 100*se_w085b_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N03 , Cn4 , v088 + .byte W06 + .byte PAN , c_v-9 + .byte N03 , Cn4 , v080 + .byte W06 + .byte PAN , c_v+9 + .byte N03 , Cn4 , v072 + .byte W06 + .byte PAN , c_v-16 + .byte N03 , Cn4 , v064 + .byte W06 + .byte PAN , c_v+16 + .byte N03 , Cn4 , v060 + .byte W06 + .byte PAN , c_v-16 + .byte N03 , Cn4 , v052 + .byte W18 + .byte FINE + +@********************** Track 2 **********************@ + +se_w085b_2: + .byte KEYSH , se_w085b_key+0 + .byte VOICE , 5 + .byte VOL , 100*se_w085b_mvl/mxv + .byte PAN , c_v+9 + .byte N02 , Gn3 , v072 + .byte W06 + .byte PAN , c_v-7 + .byte N02 , Gn3 , v068 + .byte W06 + .byte PAN , c_v+9 + .byte N02 , Gn3 , v064 + .byte W06 + .byte PAN , c_v-7 + .byte N02 , Gn3 , v060 + .byte W06 + .byte PAN , c_v+9 + .byte N02 , Gn3 , v056 + .byte W06 + .byte PAN , c_v-7 + .byte N02 , Gn3 , v048 + .byte W18 + .byte FINE + +@******************************************************@ + .align 2 + +se_w085b: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w085b_pri @ Priority + .byte se_w085b_rev @ Reverb. + + .word se_w085b_grp + + .word se_w085b_1 + .word se_w085b_2 + + .end diff --git a/sound/songs/se_w086.s b/sound/songs/se_w086.s new file mode 100644 index 0000000000..def12458b6 --- /dev/null +++ b/sound/songs/se_w086.s @@ -0,0 +1,106 @@ + .include "MPlayDef.s" + + .equ se_w086_grp, voicegroup_869D6F4 + .equ se_w086_pri, 4 + .equ se_w086_rev, reverb_set+50 + .equ se_w086_mvl, 127 + .equ se_w086_key, 0 + .equ se_w086_tbs, 1 + .equ se_w086_exg, 0 + .equ se_w086_cmp, 1 + + .section .rodata + .global se_w086 + .align 2 + +@********************** Track 1 **********************@ + +se_w086_1: + .byte KEYSH , se_w086_key+0 + .byte TEMPO , 150*se_w086_tbs/2 + .byte VOICE , 18 + .byte VOL , 110*se_w086_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+32 + .byte N06 , Gn3 , v127 + .byte W02 + .byte PAN , c_v-8 + .byte W01 + .byte BEND , c_v+0 + .byte W03 + .byte PAN , c_v+0 + .byte BEND , c_v+32 + .byte N04 , Cn3 + .byte W02 + .byte PAN , c_v+9 + .byte W01 + .byte BEND , c_v-12 + .byte W03 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N01 , Gn3 + .byte W02 + .byte Bn2 + .byte W02 + .byte N13 , Gn3 + .byte W02 + .byte VOL , 96*se_w086_mvl/mxv + .byte W01 + .byte 85*se_w086_mvl/mxv + .byte W01 + .byte BEND , c_v-23 + .byte W01 + .byte VOL , 66*se_w086_mvl/mxv + .byte W01 + .byte BEND , c_v-40 + .byte W01 + .byte VOL , 36*se_w086_mvl/mxv + .byte W01 + .byte BEND , c_v-54 + .byte W02 + .byte VOL , 12*se_w086_mvl/mxv + .byte W01 + .byte BEND , c_v-64 + .byte W21 + .byte FINE + +@********************** Track 2 **********************@ + +se_w086_2: + .byte KEYSH , se_w086_key+0 + .byte VOICE , 5 + .byte VOL , 110*se_w086_mvl/mxv + .byte PAN , c_v-7 + .byte N02 , En3 , v052 + .byte W04 + .byte PAN , c_v+10 + .byte N02 , En3 , v044 + .byte W04 + .byte PAN , c_v-7 + .byte N02 , En3 , v036 + .byte W04 + .byte PAN , c_v+10 + .byte N02 , En3 , v028 + .byte W04 + .byte PAN , c_v-7 + .byte N02 , En3 , v020 + .byte W08 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_w086: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w086_pri @ Priority + .byte se_w086_rev @ Reverb. + + .word se_w086_grp + + .word se_w086_1 + .word se_w086_2 + + .end diff --git a/sound/songs/se_w088.s b/sound/songs/se_w088.s new file mode 100644 index 0000000000..fee82242a6 --- /dev/null +++ b/sound/songs/se_w088.s @@ -0,0 +1,65 @@ + .include "MPlayDef.s" + + .equ se_w088_grp, voicegroup_869D6F4 + .equ se_w088_pri, 4 + .equ se_w088_rev, reverb_set+50 + .equ se_w088_mvl, 127 + .equ se_w088_key, 0 + .equ se_w088_tbs, 1 + .equ se_w088_exg, 0 + .equ se_w088_cmp, 1 + + .section .rodata + .global se_w088 + .align 2 + +@********************** Track 1 **********************@ + +se_w088_1: + .byte KEYSH , se_w088_key+0 + .byte TEMPO , 150*se_w088_tbs/2 + .byte VOICE , 26 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 105*se_w088_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , En3 , v127 + .byte W03 + .byte PAN , c_v-8 + .byte BEND , c_v-34 + .byte W03 + .byte PAN , c_v+7 + .byte N03 , Gn3 , v100 + .byte W03 + .byte PAN , c_v-15 + .byte BEND , c_v+4 + .byte N06 , En3 , v127 + .byte W03 + .byte PAN , c_v+16 + .byte BEND , c_v-13 + .byte W03 + .byte PAN , c_v-1 + .byte BEND , c_v+0 + .byte N06 , Cn3 , v084 + .byte W06 + .byte BEND , c_v-20 + .byte N06 , En3 , v068 + .byte W03 + .byte BEND , c_v-41 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_w088: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w088_pri @ Priority + .byte se_w088_rev @ Reverb. + + .word se_w088_grp + + .word se_w088_1 + + .end diff --git a/sound/songs/se_w089.s b/sound/songs/se_w089.s new file mode 100644 index 0000000000..edbc5dac80 --- /dev/null +++ b/sound/songs/se_w089.s @@ -0,0 +1,326 @@ + .include "MPlayDef.s" + + .equ se_w089_grp, voicegroup_869D6F4 + .equ se_w089_pri, 4 + .equ se_w089_rev, reverb_set+50 + .equ se_w089_mvl, 127 + .equ se_w089_key, 0 + .equ se_w089_tbs, 1 + .equ se_w089_exg, 0 + .equ se_w089_cmp, 1 + + .section .rodata + .global se_w089 + .align 2 + +@********************** Track 1 **********************@ + +se_w089_1: + .byte KEYSH , se_w089_key+0 + .byte TEMPO , 150*se_w089_tbs/2 + .byte VOICE , 26 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_w089_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , Cs2 , v127 + .byte W03 + .byte PAN , c_v+6 + .byte N03 , Cn2 , v120 + .byte W03 + .byte W01 + .byte PAN , c_v-6 + .byte N03 , Bn1 , v116 + .byte W03 + .byte PAN , c_v+11 + .byte N03 , Cn2 , v112 + .byte W02 +se_w089_1_000: + .byte W02 + .byte PAN , c_v-11 + .byte N03 , Cs2 , v108 + .byte W04 + .byte PEND +se_w089_1_001: + .byte PAN , c_v+0 + .byte N03 , Cn2 , v100 + .byte W03 + .byte PAN , c_v+6 + .byte N03 , Cs2 , v116 + .byte W03 + .byte PEND +se_w089_1_002: + .byte W01 + .byte PAN , c_v-6 + .byte N03 , Cn2 , v112 + .byte W03 + .byte PAN , c_v+11 + .byte N03 , Cs2 , v108 + .byte W02 + .byte PEND +se_w089_1_003: + .byte W02 + .byte PAN , c_v-11 + .byte N03 , Cn2 , v100 + .byte W04 + .byte PEND +se_w089_1_004: + .byte PAN , c_v+0 + .byte N03 , Cs2 , v116 + .byte W03 + .byte PAN , c_v+6 + .byte N03 , Cn2 , v112 + .byte W03 + .byte PEND +se_w089_1_005: + .byte W01 + .byte PAN , c_v-6 + .byte N03 , Cs2 , v108 + .byte W03 + .byte PAN , c_v+11 + .byte N03 , Cn2 , v100 + .byte W02 + .byte PEND +se_w089_1_006: + .byte W02 + .byte PAN , c_v-11 + .byte N03 , Cs2 , v116 + .byte W04 + .byte PEND + .byte PAN , c_v+0 + .byte N03 , Cn2 , v112 + .byte W03 + .byte PAN , c_v+6 + .byte N03 , Cs2 , v108 + .byte W03 + .byte W01 + .byte PAN , c_v-6 + .byte N03 , Cn2 , v100 + .byte W03 + .byte PAN , c_v+11 + .byte N03 , Cs2 , v116 + .byte W02 + .byte W02 + .byte PAN , c_v-11 + .byte N03 , Cn2 , v112 + .byte W04 +se_w089_1_007: + .byte PAN , c_v+0 + .byte N03 , Cs2 , v108 + .byte W03 + .byte PAN , c_v+6 + .byte N03 , Cn2 , v100 + .byte W03 + .byte PEND +se_w089_1_008: + .byte W01 + .byte PAN , c_v-6 + .byte N03 , Cs2 , v116 + .byte W03 + .byte PAN , c_v+11 + .byte N03 , Cn2 , v112 + .byte W02 + .byte PEND + .byte PATT + .word se_w089_1_000 + .byte PATT + .word se_w089_1_001 + .byte PATT + .word se_w089_1_002 + .byte PATT + .word se_w089_1_003 + .byte PATT + .word se_w089_1_007 + .byte PATT + .word se_w089_1_008 + .byte PATT + .word se_w089_1_000 + .byte PATT + .word se_w089_1_001 + .byte PATT + .word se_w089_1_002 + .byte PATT + .word se_w089_1_003 + .byte PATT + .word se_w089_1_004 + .byte PATT + .word se_w089_1_005 + .byte PATT + .word se_w089_1_006 + .byte VOL , 106*se_w089_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , Cn2 , v112 + .byte W03 + .byte VOL , 103*se_w089_mvl/mxv + .byte PAN , c_v+6 + .byte N03 , Cs2 , v108 + .byte W03 + .byte W01 + .byte VOL , 97*se_w089_mvl/mxv + .byte PAN , c_v-6 + .byte N03 , Cn2 , v100 + .byte W03 + .byte VOL , 89*se_w089_mvl/mxv + .byte PAN , c_v+11 + .byte N03 , Cs2 , v116 + .byte W02 + .byte W02 + .byte VOL , 85*se_w089_mvl/mxv + .byte PAN , c_v-11 + .byte N03 , Cn2 , v112 + .byte W04 + .byte VOL , 78*se_w089_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , Cs2 , v108 + .byte W03 + .byte VOL , 72*se_w089_mvl/mxv + .byte PAN , c_v+6 + .byte N03 , Cn2 , v100 + .byte W03 + .byte W01 + .byte VOL , 66*se_w089_mvl/mxv + .byte PAN , c_v-6 + .byte N03 , Cs2 , v116 + .byte W03 + .byte VOL , 58*se_w089_mvl/mxv + .byte PAN , c_v+11 + .byte N03 , Cn2 , v112 + .byte W02 + .byte W02 + .byte VOL , 46*se_w089_mvl/mxv + .byte PAN , c_v-11 + .byte N03 , Cs2 , v108 + .byte W04 + .byte VOL , 30*se_w089_mvl/mxv + .byte PAN , c_v+0 + .byte N03 , Cn2 , v100 + .byte W03 + .byte VOL , 12*se_w089_mvl/mxv + .byte PAN , c_v+6 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_w089_2: + .byte KEYSH , se_w089_key+0 + .byte VOICE , 5 + .byte PAN , c_v+0 + .byte VOL , 110*se_w089_mvl/mxv + .byte N02 , Fn2 , v072 + .byte W02 + .byte N01 + .byte W01 + .byte N02 , Gn2 + .byte W03 + .byte N01 , Gs2 , v060 + .byte W06 + .byte VOICE , 27 + .byte N06 , Bn1 , v080 + .byte W06 +se_w089_2_000: + .byte PAN , c_v+0 + .byte N06 , Bn1 , v080 + .byte W06 + .byte PEND + .byte N06 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word se_w089_2_000 + .byte N06 , Bn1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word se_w089_2_000 + .byte N06 , Bn1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word se_w089_2_000 + .byte N06 , Bn1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word se_w089_2_000 + .byte N06 , Bn1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word se_w089_2_000 + .byte N06 , Bn1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word se_w089_2_000 + .byte N06 , Bn1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte PATT + .word se_w089_2_000 + .byte N06 , Bn1 , v080 + .byte W06 + .byte N06 + .byte W06 + .byte VOL , 106*se_w089_mvl/mxv + .byte PAN , c_v+0 + .byte N06 + .byte W03 + .byte VOL , 103*se_w089_mvl/mxv + .byte W03 + .byte N06 + .byte W01 + .byte VOL , 97*se_w089_mvl/mxv + .byte W03 + .byte 89*se_w089_mvl/mxv + .byte W02 + .byte N06 + .byte W02 + .byte VOL , 85*se_w089_mvl/mxv + .byte W04 + .byte 78*se_w089_mvl/mxv + .byte PAN , c_v+0 + .byte N06 + .byte W03 + .byte VOL , 72*se_w089_mvl/mxv + .byte W03 + .byte N06 + .byte W01 + .byte VOL , 66*se_w089_mvl/mxv + .byte W03 + .byte 58*se_w089_mvl/mxv + .byte W02 + .byte N06 + .byte W02 + .byte VOL , 46*se_w089_mvl/mxv + .byte W04 + .byte 30*se_w089_mvl/mxv + .byte PAN , c_v+0 + .byte N06 + .byte W03 + .byte VOL , 12*se_w089_mvl/mxv + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_w089: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w089_pri @ Priority + .byte se_w089_rev @ Reverb. + + .word se_w089_grp + + .word se_w089_1 + .word se_w089_2 + + .end diff --git a/sound/songs/se_w091.s b/sound/songs/se_w091.s new file mode 100644 index 0000000000..0087a4cebe --- /dev/null +++ b/sound/songs/se_w091.s @@ -0,0 +1,66 @@ + .include "MPlayDef.s" + + .equ se_w091_grp, voicegroup_869D6F4 + .equ se_w091_pri, 4 + .equ se_w091_rev, reverb_set+50 + .equ se_w091_mvl, 127 + .equ se_w091_key, 0 + .equ se_w091_tbs, 1 + .equ se_w091_exg, 0 + .equ se_w091_cmp, 1 + + .section .rodata + .global se_w091 + .align 2 + +@********************** Track 1 **********************@ + +se_w091_1: + .byte KEYSH , se_w091_key+0 + .byte TEMPO , 150*se_w091_tbs/2 + .byte VOICE , 36 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 115*se_w091_mvl/mxv + .byte BEND , c_v+0 + .byte N01 , Cn2 , v112 + .byte W01 + .byte VOICE , 26 + .byte N02 , Cn3 , v127 + .byte W01 + .byte PAN , c_v+5 + .byte BEND , c_v+4 + .byte W01 + .byte c_v+16 + .byte N03 + .byte W01 + .byte PAN , c_v-8 + .byte BEND , c_v+28 + .byte W02 + .byte c_v+45 + .byte W01 + .byte VOICE , 36 + .byte PAN , c_v+12 + .byte BEND , c_v+0 + .byte N02 , Cn3 , v056 + .byte W02 + .byte W03 + .byte PAN , c_v-12 + .byte N02 , Cn3 , v036 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_w091: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w091_pri @ Priority + .byte se_w091_rev @ Reverb. + + .word se_w091_grp + + .word se_w091_1 + + .end diff --git a/sound/songs/se_w092.s b/sound/songs/se_w092.s new file mode 100644 index 0000000000..4f42d38fb6 --- /dev/null +++ b/sound/songs/se_w092.s @@ -0,0 +1,87 @@ + .include "MPlayDef.s" + + .equ se_w092_grp, voicegroup_869D6F4 + .equ se_w092_pri, 4 + .equ se_w092_rev, reverb_set+50 + .equ se_w092_mvl, 127 + .equ se_w092_key, 0 + .equ se_w092_tbs, 1 + .equ se_w092_exg, 0 + .equ se_w092_cmp, 1 + + .section .rodata + .global se_w092 + .align 2 + +@********************** Track 1 **********************@ + +se_w092_1: + .byte KEYSH , se_w092_key+0 + .byte TEMPO , 150*se_w092_tbs/2 + .byte VOICE , 31 + .byte VOL , 110*se_w092_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N02 , Dn2 , v127 + .byte W01 + .byte BEND , c_v+32 + .byte W01 + .byte VOICE , 23 + .byte BEND , c_v+0 + .byte N02 , Gn1 , v112 + .byte W01 + .byte PAN , c_v+8 + .byte BEND , c_v+63 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N02 , Cn2 + .byte W02 + .byte PAN , c_v-7 + .byte BEND , c_v+16 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte W01 + .byte N01 + .byte W01 + .byte PAN , c_v+8 + .byte N01 , Cn3 + .byte W01 + .byte VOICE , 31 + .byte PAN , c_v-16 + .byte N01 , Dn2 + .byte W02 + .byte VOICE , 23 + .byte PAN , c_v+0 + .byte N01 , Cn2 + .byte W01 + .byte VOICE , 31 + .byte PAN , c_v+16 + .byte N01 , Dn2 , v096 + .byte W01 + .byte VOICE , 23 + .byte PAN , c_v-8 + .byte BEND , c_v+16 + .byte N01 , Cn3 + .byte W02 + .byte PAN , c_v+8 + .byte N01 , Cn2 + .byte W08 + .byte FINE + +@******************************************************@ + .align 2 + +se_w092: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w092_pri @ Priority + .byte se_w092_rev @ Reverb. + + .word se_w092_grp + + .word se_w092_1 + + .end diff --git a/sound/songs/se_w100.s b/sound/songs/se_w100.s new file mode 100644 index 0000000000..cd6170c976 --- /dev/null +++ b/sound/songs/se_w100.s @@ -0,0 +1,165 @@ + .include "MPlayDef.s" + + .equ se_w100_grp, voicegroup_869D6F4 + .equ se_w100_pri, 4 + .equ se_w100_rev, reverb_set+50 + .equ se_w100_mvl, 127 + .equ se_w100_key, 0 + .equ se_w100_tbs, 1 + .equ se_w100_exg, 0 + .equ se_w100_cmp, 1 + + .section .rodata + .global se_w100 + .align 2 + +@********************** Track 1 **********************@ + +se_w100_1: + .byte KEYSH , se_w100_key+0 + .byte TEMPO , 150*se_w100_tbs/2 + .byte VOICE , 45 + .byte BENDR , 24 + .byte PAN , c_v+0 + .byte VOL , 32*se_w100_mvl/mxv + .byte MOD , 30 + .byte BEND , c_v+0 + .byte N06 , Cn3 , v127 + .byte W01 + .byte BEND , c_v+4 + .byte W01 + .byte VOL , 49*se_w100_mvl/mxv + .byte PAN , c_v+5 + .byte BEND , c_v+9 + .byte W01 + .byte c_v+16 + .byte W01 + .byte VOL , 61*se_w100_mvl/mxv + .byte BEND , c_v+24 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+2 + .byte N06 , Dn3 , v116 + .byte W01 + .byte VOL , 71*se_w100_mvl/mxv + .byte BEND , c_v+7 + .byte W01 + .byte PAN , c_v-4 + .byte BEND , c_v+12 + .byte W01 + .byte VOL , 81*se_w100_mvl/mxv + .byte BEND , c_v+18 + .byte W01 + .byte c_v+27 + .byte W02 + .byte VOL , 95*se_w100_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+4 + .byte N06 , En3 , v112 + .byte W01 + .byte BEND , c_v+9 + .byte W01 + .byte PAN , c_v+6 + .byte BEND , c_v+14 + .byte W01 + .byte c_v+20 + .byte W01 + .byte c_v+29 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+6 + .byte N06 , Fn3 + .byte W01 + .byte BEND , c_v+11 + .byte W01 + .byte PAN , c_v-6 + .byte BEND , c_v+15 + .byte W01 + .byte c_v+22 + .byte W01 + .byte c_v+31 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+9 + .byte N06 , Gn3 , v108 + .byte W01 + .byte BEND , c_v+14 + .byte W01 + .byte PAN , c_v+8 + .byte BEND , c_v+18 + .byte W01 + .byte c_v+25 + .byte W01 + .byte c_v+34 + .byte W02 + .byte VOL , 82*se_w100_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+14 + .byte N06 , An3 , v100 + .byte W01 + .byte BEND , c_v+18 + .byte W01 + .byte VOL , 71*se_w100_mvl/mxv + .byte PAN , c_v-8 + .byte BEND , c_v+23 + .byte W01 + .byte c_v+30 + .byte W01 + .byte VOL , 61*se_w100_mvl/mxv + .byte BEND , c_v+38 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+14 + .byte N06 , Bn3 , v060 + .byte W01 + .byte BEND , c_v+18 + .byte W01 + .byte PAN , c_v+8 + .byte BEND , c_v+23 + .byte W01 + .byte c_v+30 + .byte W01 + .byte c_v+38 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+14 + .byte N06 , Cn4 , v040 + .byte W01 + .byte BEND , c_v+18 + .byte W01 + .byte PAN , c_v-8 + .byte BEND , c_v+23 + .byte W01 + .byte c_v+30 + .byte W01 + .byte c_v+38 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+14 + .byte N06 , Dn4 , v020 + .byte W01 + .byte BEND , c_v+18 + .byte W01 + .byte PAN , c_v+8 + .byte BEND , c_v+23 + .byte W01 + .byte c_v+30 + .byte W01 + .byte c_v+38 + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_w100: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w100_pri @ Priority + .byte se_w100_rev @ Reverb. + + .word se_w100_grp + + .word se_w100_1 + + .end diff --git a/sound/songs/se_w103.s b/sound/songs/se_w103.s new file mode 100644 index 0000000000..cc4e81cff1 --- /dev/null +++ b/sound/songs/se_w103.s @@ -0,0 +1,112 @@ + .include "MPlayDef.s" + + .equ se_w103_grp, voicegroup_869D6F4 + .equ se_w103_pri, 4 + .equ se_w103_rev, reverb_set+50 + .equ se_w103_mvl, 127 + .equ se_w103_key, 0 + .equ se_w103_tbs, 1 + .equ se_w103_exg, 0 + .equ se_w103_cmp, 1 + + .section .rodata + .global se_w103 + .align 2 + +@********************** Track 1 **********************@ + +se_w103_1: + .byte VOL , 110*se_w103_mvl/mxv + .byte KEYSH , se_w103_key+0 + .byte TEMPO , 150*se_w103_tbs/2 + .byte VOICE , 44 + .byte BENDR , 2 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N21 , Fs5 , v112 + .byte W01 + .byte PAN , c_v-5 + .byte W01 + .byte c_v-10 + .byte VOL , 15*se_w103_mvl/mxv + .byte W01 + .byte PAN , c_v-4 + .byte VOL , 41*se_w103_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte VOL , 69*se_w103_mvl/mxv + .byte W02 + .byte PAN , c_v+4 + .byte W01 + .byte c_v+10 + .byte VOL , 84*se_w103_mvl/mxv + .byte W01 + .byte PAN , c_v+4 + .byte W01 + .byte VOL , 97*se_w103_mvl/mxv + .byte PAN , c_v+0 + .byte W01 + .byte c_v-5 + .byte W02 + .byte VOL , 110*se_w103_mvl/mxv + .byte PAN , c_v-10 + .byte W01 + .byte c_v-4 + .byte W01 + .byte c_v+0 + .byte W01 + .byte c_v+4 + .byte W01 + .byte c_v+10 + .byte W02 + .byte VOL , 100*se_w103_mvl/mxv + .byte PAN , c_v+4 + .byte W01 + .byte VOL , 84*se_w103_mvl/mxv + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 55*se_w103_mvl/mxv + .byte W02 + .byte BEND , c_v+0 + .byte W02 + .byte FINE + +@********************** Track 2 **********************@ + +se_w103_2: + .byte VOL , 110*se_w103_mvl/mxv + .byte KEYSH , se_w103_key+0 + .byte VOICE , 42 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N21 , Fn6 , v064 + .byte W06 + .byte PAN , c_v+0 + .byte W03 + .byte c_v+0 + .byte W03 + .byte W03 + .byte c_v+0 + .byte W03 + .byte W01 + .byte c_v+0 + .byte W03 + .byte BEND , c_v+0 + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_w103: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w103_pri @ Priority + .byte se_w103_rev @ Reverb. + + .word se_w103_grp + + .word se_w103_1 + .word se_w103_2 + + .end diff --git a/sound/songs/se_w104.s b/sound/songs/se_w104.s new file mode 100644 index 0000000000..e5c6ca0c08 --- /dev/null +++ b/sound/songs/se_w104.s @@ -0,0 +1,71 @@ + .include "MPlayDef.s" + + .equ se_w104_grp, voicegroup_869D6F4 + .equ se_w104_pri, 4 + .equ se_w104_rev, reverb_set+50 + .equ se_w104_mvl, 127 + .equ se_w104_key, 0 + .equ se_w104_tbs, 1 + .equ se_w104_exg, 0 + .equ se_w104_cmp, 1 + + .section .rodata + .global se_w104 + .align 2 + +@********************** Track 1 **********************@ + +se_w104_1: + .byte KEYSH , se_w104_key+0 + .byte TEMPO , 150*se_w104_tbs/2 + .byte VOICE , 22 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_w104_mvl/mxv + .byte BEND , c_v-18 + .byte N19 , Dn3 , v108 + .byte W02 + .byte BEND , c_v-7 + .byte W01 + .byte VOL , 101*se_w104_mvl/mxv + .byte W01 + .byte PAN , c_v-9 + .byte BEND , c_v+8 + .byte W02 + .byte VOL , 84*se_w104_mvl/mxv + .byte BEND , c_v+4 + .byte W02 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 64*se_w104_mvl/mxv + .byte BEND , c_v-13 + .byte W01 + .byte PAN , c_v+8 + .byte W02 + .byte VOL , 45*se_w104_mvl/mxv + .byte BEND , c_v-31 + .byte W02 + .byte VOL , 32*se_w104_mvl/mxv + .byte PAN , c_v+0 + .byte W01 + .byte VOICE , 2 + .byte W01 + .byte VOL , 13*se_w104_mvl/mxv + .byte BEND , c_v-52 + .byte W08 + .byte FINE + +@******************************************************@ + .align 2 + +se_w104: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w104_pri @ Priority + .byte se_w104_rev @ Reverb. + + .word se_w104_grp + + .word se_w104_1 + + .end diff --git a/sound/songs/se_w107.s b/sound/songs/se_w107.s new file mode 100644 index 0000000000..a6b5be9180 --- /dev/null +++ b/sound/songs/se_w107.s @@ -0,0 +1,165 @@ + .include "MPlayDef.s" + + .equ se_w107_grp, voicegroup_869D6F4 + .equ se_w107_pri, 4 + .equ se_w107_rev, reverb_set+50 + .equ se_w107_mvl, 127 + .equ se_w107_key, 0 + .equ se_w107_tbs, 1 + .equ se_w107_exg, 0 + .equ se_w107_cmp, 1 + + .section .rodata + .global se_w107 + .align 2 + +@********************** Track 1 **********************@ + +se_w107_1: + .byte KEYSH , se_w107_key+0 + .byte TEMPO , 150*se_w107_tbs/2 + .byte VOICE , 45 + .byte BENDR , 24 + .byte PAN , c_v+0 + .byte VOL , 32*se_w107_mvl/mxv + .byte MOD , 30 + .byte BEND , c_v+39 + .byte N06 , Dn4 , v127 + .byte W01 + .byte BEND , c_v+31 + .byte W01 + .byte VOL , 49*se_w107_mvl/mxv + .byte PAN , c_v+5 + .byte BEND , c_v+23 + .byte W01 + .byte c_v+15 + .byte W01 + .byte VOL , 61*se_w107_mvl/mxv + .byte BEND , c_v+8 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+35 + .byte N06 , Cn4 , v116 + .byte W01 + .byte VOL , 71*se_w107_mvl/mxv + .byte BEND , c_v+27 + .byte W01 + .byte PAN , c_v-4 + .byte BEND , c_v+19 + .byte W01 + .byte VOL , 81*se_w107_mvl/mxv + .byte BEND , c_v+12 + .byte W01 + .byte c_v+5 + .byte W02 + .byte VOL , 95*se_w107_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+32 + .byte N06 , Bn3 , v112 + .byte W01 + .byte BEND , c_v+24 + .byte W01 + .byte PAN , c_v+6 + .byte BEND , c_v+16 + .byte W01 + .byte c_v+8 + .byte W01 + .byte c_v+1 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+28 + .byte N06 , An3 + .byte W01 + .byte BEND , c_v+20 + .byte W01 + .byte PAN , c_v-6 + .byte BEND , c_v+12 + .byte W01 + .byte c_v+5 + .byte W01 + .byte c_v-2 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+24 + .byte N06 , Gn3 , v108 + .byte W01 + .byte BEND , c_v+16 + .byte W01 + .byte PAN , c_v+8 + .byte BEND , c_v+9 + .byte W01 + .byte c_v+1 + .byte W01 + .byte c_v-6 + .byte W02 + .byte VOL , 82*se_w107_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+21 + .byte N06 , Fn3 , v100 + .byte W01 + .byte BEND , c_v+13 + .byte W01 + .byte VOL , 71*se_w107_mvl/mxv + .byte PAN , c_v-8 + .byte BEND , c_v+5 + .byte W01 + .byte c_v-2 + .byte W01 + .byte VOL , 61*se_w107_mvl/mxv + .byte BEND , c_v-10 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+17 + .byte N06 , En3 , v060 + .byte W01 + .byte BEND , c_v+9 + .byte W01 + .byte PAN , c_v+8 + .byte BEND , c_v+2 + .byte W01 + .byte c_v-6 + .byte W01 + .byte c_v-13 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+14 + .byte N06 , Dn3 , v040 + .byte W01 + .byte BEND , c_v+6 + .byte W01 + .byte PAN , c_v-8 + .byte BEND , c_v-2 + .byte W01 + .byte c_v-10 + .byte W01 + .byte c_v-17 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+12 + .byte N06 , Cn3 , v020 + .byte W01 + .byte BEND , c_v+4 + .byte W01 + .byte PAN , c_v+8 + .byte BEND , c_v-4 + .byte W01 + .byte c_v-11 + .byte W01 + .byte c_v-18 + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_w107: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w107_pri @ Priority + .byte se_w107_rev @ Reverb. + + .word se_w107_grp + + .word se_w107_1 + + .end diff --git a/sound/songs/se_w109.s b/sound/songs/se_w109.s new file mode 100644 index 0000000000..70a23ca94d --- /dev/null +++ b/sound/songs/se_w109.s @@ -0,0 +1,117 @@ + .include "MPlayDef.s" + + .equ se_w109_grp, voicegroup_869D6F4 + .equ se_w109_pri, 4 + .equ se_w109_rev, reverb_set+50 + .equ se_w109_mvl, 127 + .equ se_w109_key, 0 + .equ se_w109_tbs, 1 + .equ se_w109_exg, 0 + .equ se_w109_cmp, 1 + + .section .rodata + .global se_w109 + .align 2 + +@********************** Track 1 **********************@ + +se_w109_1: + .byte KEYSH , se_w109_key+0 + .byte TEMPO , 220*se_w109_tbs/2 + .byte VOICE , 52 + .byte VOL , 127*se_w109_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N03 , As3 , v120 + .byte W01 + .byte BEND , c_v-8 + .byte W01 + .byte c_v-16 + .byte W01 + .byte c_v-1 + .byte N12 , As2 , v127 + .byte W03 + .byte PAN , c_v+4 + .byte BEND , c_v+8 + .byte W02 + .byte PAN , c_v-4 + .byte BEND , c_v+11 + .byte W01 + .byte c_v+18 + .byte W01 + .byte PAN , c_v+10 + .byte BEND , c_v+28 + .byte W02 + .byte c_v+35 + .byte W01 + .byte PAN , c_v-10 + .byte W02 + .byte c_v+0 + .byte BEND , c_v+0 + .byte N03 , As3 , v108 + .byte W01 + .byte BEND , c_v-8 + .byte W02 + .byte c_v-17 + .byte W01 + .byte c_v-1 + .byte N12 , As2 + .byte W02 + .byte PAN , c_v+4 + .byte BEND , c_v+8 + .byte W03 + .byte PAN , c_v-4 + .byte BEND , c_v+11 + .byte W01 + .byte c_v+18 + .byte W01 + .byte PAN , c_v+10 + .byte BEND , c_v+28 + .byte W01 + .byte c_v+35 + .byte W01 + .byte PAN , c_v-10 + .byte W03 + .byte c_v+0 + .byte BEND , c_v+0 + .byte N03 , As3 , v072 + .byte W01 + .byte BEND , c_v-8 + .byte W01 + .byte c_v-16 + .byte W01 + .byte c_v-1 + .byte N12 , As2 + .byte W03 + .byte PAN , c_v+4 + .byte BEND , c_v+8 + .byte W02 + .byte PAN , c_v-4 + .byte BEND , c_v+11 + .byte W01 + .byte c_v+18 + .byte W02 + .byte PAN , c_v+10 + .byte BEND , c_v+28 + .byte W01 + .byte c_v+35 + .byte W01 + .byte PAN , c_v-10 + .byte W04 + .byte FINE + +@******************************************************@ + .align 2 + +se_w109: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w109_pri @ Priority + .byte se_w109_rev @ Reverb. + + .word se_w109_grp + + .word se_w109_1 + + .end diff --git a/sound/songs/se_w112.s b/sound/songs/se_w112.s new file mode 100644 index 0000000000..0720b35491 --- /dev/null +++ b/sound/songs/se_w112.s @@ -0,0 +1,276 @@ + .include "MPlayDef.s" + + .equ se_w112_grp, voicegroup_869D6F4 + .equ se_w112_pri, 4 + .equ se_w112_rev, reverb_set+50 + .equ se_w112_mvl, 127 + .equ se_w112_key, 0 + .equ se_w112_tbs, 1 + .equ se_w112_exg, 0 + .equ se_w112_cmp, 1 + + .section .rodata + .global se_w112 + .align 2 + +@********************** Track 1 **********************@ + +se_w112_1: + .byte KEYSH , se_w112_key+0 + .byte TEMPO , 150*se_w112_tbs/2 + .byte VOICE , 19 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 95*se_w112_mvl/mxv + .byte BEND , c_v+3 + .byte N06 , Cn6 , v088 + .byte W01 + .byte VOL , 88*se_w112_mvl/mxv + .byte BEND , c_v-8 + .byte W01 + .byte PAN , c_v+5 + .byte VOL , 56*se_w112_mvl/mxv + .byte BEND , c_v-17 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 24*se_w112_mvl/mxv + .byte BEND , c_v-34 + .byte W01 + .byte PAN , c_v+0 + .byte VOL , 11*se_w112_mvl/mxv + .byte BEND , c_v-45 + .byte W02 + .byte VOL , 95*se_w112_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Cn6 , v084 + .byte W01 + .byte VOL , 88*se_w112_mvl/mxv + .byte BEND , c_v-11 + .byte W01 + .byte PAN , c_v+5 + .byte VOL , 56*se_w112_mvl/mxv + .byte BEND , c_v-20 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 24*se_w112_mvl/mxv + .byte BEND , c_v-37 + .byte W01 + .byte PAN , c_v+0 + .byte VOL , 11*se_w112_mvl/mxv + .byte BEND , c_v-47 + .byte W02 + .byte VOL , 95*se_w112_mvl/mxv + .byte BEND , c_v-1 + .byte N06 , Cn6 , v076 + .byte W01 + .byte VOL , 88*se_w112_mvl/mxv + .byte BEND , c_v-11 + .byte W01 + .byte PAN , c_v+5 + .byte VOL , 56*se_w112_mvl/mxv + .byte BEND , c_v-21 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 24*se_w112_mvl/mxv + .byte BEND , c_v-38 + .byte W01 + .byte PAN , c_v+0 + .byte VOL , 11*se_w112_mvl/mxv + .byte BEND , c_v-48 + .byte W02 + .byte VOL , 95*se_w112_mvl/mxv + .byte BEND , c_v-1 + .byte N06 , Cn6 , v064 + .byte W01 + .byte VOL , 88*se_w112_mvl/mxv + .byte BEND , c_v-11 + .byte W01 + .byte PAN , c_v+5 + .byte VOL , 56*se_w112_mvl/mxv + .byte BEND , c_v-21 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 24*se_w112_mvl/mxv + .byte BEND , c_v-38 + .byte W01 + .byte PAN , c_v+0 + .byte VOL , 11*se_w112_mvl/mxv + .byte BEND , c_v-48 + .byte W02 + .byte VOL , 95*se_w112_mvl/mxv + .byte BEND , c_v-2 + .byte N06 , Cn6 , v056 + .byte W01 + .byte PAN , c_v+5 + .byte VOL , 88*se_w112_mvl/mxv + .byte BEND , c_v-12 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 56*se_w112_mvl/mxv + .byte BEND , c_v-22 + .byte W01 + .byte PAN , c_v+8 + .byte VOL , 24*se_w112_mvl/mxv + .byte BEND , c_v-39 + .byte W01 + .byte PAN , c_v-10 + .byte VOL , 11*se_w112_mvl/mxv + .byte BEND , c_v-49 + .byte W02 + .byte PAN , c_v+0 + .byte VOL , 95*se_w112_mvl/mxv + .byte BEND , c_v-2 + .byte N06 , Cn6 , v044 + .byte W01 + .byte PAN , c_v+5 + .byte VOL , 88*se_w112_mvl/mxv + .byte BEND , c_v-12 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 56*se_w112_mvl/mxv + .byte BEND , c_v-22 + .byte W01 + .byte PAN , c_v+8 + .byte VOL , 24*se_w112_mvl/mxv + .byte BEND , c_v-39 + .byte W01 + .byte PAN , c_v-10 + .byte VOL , 11*se_w112_mvl/mxv + .byte BEND , c_v-49 + .byte W02 + .byte VOL , 95*se_w112_mvl/mxv + .byte BEND , c_v-2 + .byte N06 , Cn6 , v036 + .byte W01 + .byte PAN , c_v+5 + .byte VOL , 88*se_w112_mvl/mxv + .byte BEND , c_v-13 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 56*se_w112_mvl/mxv + .byte BEND , c_v-22 + .byte W01 + .byte PAN , c_v+8 + .byte VOL , 24*se_w112_mvl/mxv + .byte BEND , c_v-39 + .byte W01 + .byte PAN , c_v-10 + .byte VOL , 11*se_w112_mvl/mxv + .byte BEND , c_v-49 + .byte W02 + .byte PAN , c_v+0 + .byte VOL , 95*se_w112_mvl/mxv + .byte BEND , c_v-2 + .byte N06 , Cn6 , v028 + .byte W01 + .byte PAN , c_v+5 + .byte VOL , 88*se_w112_mvl/mxv + .byte BEND , c_v-13 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 56*se_w112_mvl/mxv + .byte BEND , c_v-22 + .byte W01 + .byte PAN , c_v+8 + .byte VOL , 24*se_w112_mvl/mxv + .byte BEND , c_v-39 + .byte W01 + .byte PAN , c_v-10 + .byte VOL , 11*se_w112_mvl/mxv + .byte BEND , c_v-49 + .byte W02 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_w112_2: + .byte KEYSH , se_w112_key+0 + .byte VOICE , 53 + .byte PAN , c_v+0 + .byte VOL , 95*se_w112_mvl/mxv + .byte BEND , c_v-5 + .byte W02 + .byte N06 , An5 , v064 + .byte W02 + .byte VOL , 88*se_w112_mvl/mxv + .byte W02 + .byte 56*se_w112_mvl/mxv + .byte W01 + .byte 24*se_w112_mvl/mxv + .byte W01 + .byte 95*se_w112_mvl/mxv + .byte N06 , An5 , v056 + .byte W02 + .byte VOL , 88*se_w112_mvl/mxv + .byte W02 +se_w112_2_000: + .byte VOL , 56*se_w112_mvl/mxv + .byte W01 + .byte 24*se_w112_mvl/mxv + .byte W01 + .byte 95*se_w112_mvl/mxv + .byte N06 , An5 , v052 + .byte W02 + .byte VOL , 88*se_w112_mvl/mxv + .byte W02 + .byte PEND + .byte PATT + .word se_w112_2_000 + .byte VOL , 56*se_w112_mvl/mxv + .byte W01 + .byte 24*se_w112_mvl/mxv + .byte W01 + .byte 95*se_w112_mvl/mxv + .byte N06 , An5 , v048 + .byte W02 + .byte VOL , 88*se_w112_mvl/mxv + .byte W02 + .byte 56*se_w112_mvl/mxv + .byte W01 + .byte 24*se_w112_mvl/mxv + .byte W01 + .byte 95*se_w112_mvl/mxv + .byte N06 , An5 , v044 + .byte W02 + .byte VOL , 88*se_w112_mvl/mxv + .byte W02 + .byte 56*se_w112_mvl/mxv + .byte W01 + .byte 24*se_w112_mvl/mxv + .byte W01 + .byte 95*se_w112_mvl/mxv + .byte N06 , An5 , v040 + .byte W02 + .byte VOL , 88*se_w112_mvl/mxv + .byte W02 + .byte 56*se_w112_mvl/mxv + .byte W01 + .byte 24*se_w112_mvl/mxv + .byte W01 + .byte 95*se_w112_mvl/mxv + .byte N06 , An5 , v036 + .byte W02 + .byte VOL , 88*se_w112_mvl/mxv + .byte W02 + .byte 56*se_w112_mvl/mxv + .byte W01 + .byte 24*se_w112_mvl/mxv + .byte W05 + .byte FINE + +@******************************************************@ + .align 2 + +se_w112: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w112_pri @ Priority + .byte se_w112_rev @ Reverb. + + .word se_w112_grp + + .word se_w112_1 + .word se_w112_2 + + .end diff --git a/sound/songs/se_w114.s b/sound/songs/se_w114.s new file mode 100644 index 0000000000..825a68a659 --- /dev/null +++ b/sound/songs/se_w114.s @@ -0,0 +1,250 @@ + .include "MPlayDef.s" + + .equ se_w114_grp, voicegroup_869D6F4 + .equ se_w114_pri, 4 + .equ se_w114_rev, reverb_set+50 + .equ se_w114_mvl, 127 + .equ se_w114_key, 0 + .equ se_w114_tbs, 1 + .equ se_w114_exg, 0 + .equ se_w114_cmp, 1 + + .section .rodata + .global se_w114 + .align 2 + +@********************** Track 1 **********************@ + +se_w114_1: + .byte KEYSH , se_w114_key+0 + .byte TEMPO , 190*se_w114_tbs/2 + .byte VOICE , 45 + .byte BENDR , 8 + .byte PAN , c_v-47 + .byte VOL , 10*se_w114_mvl/mxv + .byte MOD , 30 + .byte BEND , c_v+1 + .byte TIE , As2 , v100 + .byte W03 + .byte VOL , 14*se_w114_mvl/mxv + .byte W03 + .byte 22*se_w114_mvl/mxv + .byte PAN , c_v-45 + .byte W02 + .byte VOL , 31*se_w114_mvl/mxv + .byte W02 + .byte 39*se_w114_mvl/mxv + .byte W02 + .byte PAN , c_v-43 + .byte W02 + .byte VOL , 45*se_w114_mvl/mxv + .byte W02 + .byte 50*se_w114_mvl/mxv + .byte W02 + .byte PAN , c_v-41 + .byte W01 + .byte VOL , 61*se_w114_mvl/mxv + .byte W02 + .byte 66*se_w114_mvl/mxv + .byte W03 + .byte PAN , c_v-39 + .byte VOL , 73*se_w114_mvl/mxv + .byte W02 + .byte 78*se_w114_mvl/mxv + .byte W04 + .byte 84*se_w114_mvl/mxv + .byte PAN , c_v-37 + .byte W03 + .byte VOL , 91*se_w114_mvl/mxv + .byte W03 + .byte 98*se_w114_mvl/mxv + .byte PAN , c_v-35 + .byte W02 + .byte VOL , 104*se_w114_mvl/mxv + .byte W04 + .byte 110*se_w114_mvl/mxv + .byte PAN , c_v-32 + .byte W06 + .byte c_v-28 + .byte W06 + .byte c_v-25 + .byte VOL , 106*se_w114_mvl/mxv + .byte W04 + .byte 104*se_w114_mvl/mxv + .byte W02 + .byte PAN , c_v-23 + .byte W03 + .byte VOL , 101*se_w114_mvl/mxv + .byte W03 + .byte PAN , c_v-20 + .byte W03 + .byte VOL , 97*se_w114_mvl/mxv + .byte W03 + .byte PAN , c_v-17 + .byte W02 + .byte VOL , 91*se_w114_mvl/mxv + .byte W04 + .byte PAN , c_v-13 + .byte W03 + .byte VOL , 88*se_w114_mvl/mxv + .byte W03 + .byte PAN , c_v-10 + .byte W03 + .byte VOL , 81*se_w114_mvl/mxv + .byte W03 + .byte PAN , c_v-7 + .byte W04 + .byte VOL , 75*se_w114_mvl/mxv + .byte W02 + .byte PAN , c_v-3 + .byte W02 + .byte VOL , 74*se_w114_mvl/mxv + .byte W02 + .byte 76*se_w114_mvl/mxv + .byte W02 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 79*se_w114_mvl/mxv + .byte W02 + .byte 83*se_w114_mvl/mxv + .byte W03 + .byte W01 + .byte 86*se_w114_mvl/mxv + .byte W02 + .byte PAN , c_v+2 + .byte VOL , 90*se_w114_mvl/mxv + .byte W03 + .byte 95*se_w114_mvl/mxv + .byte W03 + .byte 98*se_w114_mvl/mxv + .byte W03 + .byte PAN , c_v+7 + .byte VOL , 102*se_w114_mvl/mxv + .byte W02 + .byte 104*se_w114_mvl/mxv + .byte W04 + .byte PAN , c_v+10 + .byte VOL , 110*se_w114_mvl/mxv + .byte W06 + .byte PAN , c_v+14 + .byte W06 + .byte c_v+16 + .byte W02 + .byte VOL , 106*se_w114_mvl/mxv + .byte W04 + .byte PAN , c_v+19 + .byte W01 + .byte VOL , 100*se_w114_mvl/mxv + .byte W05 + .byte PAN , c_v+22 + .byte VOL , 94*se_w114_mvl/mxv + .byte W06 + .byte PAN , c_v+25 + .byte VOL , 88*se_w114_mvl/mxv + .byte W04 + .byte 83*se_w114_mvl/mxv + .byte W02 + .byte PAN , c_v+27 + .byte W06 + .byte c_v+29 + .byte VOL , 75*se_w114_mvl/mxv + .byte W06 + .byte PAN , c_v+32 + .byte VOL , 64*se_w114_mvl/mxv + .byte W06 + .byte PAN , c_v+34 + .byte W01 + .byte VOL , 55*se_w114_mvl/mxv + .byte W05 + .byte PAN , c_v+38 + .byte W01 + .byte VOL , 47*se_w114_mvl/mxv + .byte W05 + .byte PAN , c_v+41 + .byte W01 + .byte VOL , 41*se_w114_mvl/mxv + .byte W05 + .byte PAN , c_v+44 + .byte VOL , 32*se_w114_mvl/mxv + .byte W03 + .byte 25*se_w114_mvl/mxv + .byte W03 + .byte PAN , c_v+47 + .byte W01 + .byte VOL , 12*se_w114_mvl/mxv + .byte W03 + .byte 6*se_w114_mvl/mxv + .byte W02 + .byte EOT + .byte FINE + +@********************** Track 2 **********************@ + +se_w114_2: + .byte KEYSH , se_w114_key+0 + .byte VOICE , 70 + .byte BENDR , 8 + .byte PAN , c_v+0 + .byte VOL , 110*se_w114_mvl/mxv + .byte BEND , c_v+0 + .byte N24 , Fn4 , v020 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte Fs4 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte Gn4 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte Gs4 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte Gn4 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte Fs4 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte Fn4 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte En4 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte N18 , Ds4 + .byte W06 + .byte W06 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_w114: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w114_pri @ Priority + .byte se_w114_rev @ Reverb. + + .word se_w114_grp + + .word se_w114_1 + .word se_w114_2 + + .end diff --git a/sound/songs/se_w115.s b/sound/songs/se_w115.s new file mode 100644 index 0000000000..6641f3a675 --- /dev/null +++ b/sound/songs/se_w115.s @@ -0,0 +1,267 @@ + .include "MPlayDef.s" + + .equ se_w115_grp, voicegroup_869D6F4 + .equ se_w115_pri, 4 + .equ se_w115_rev, reverb_set+50 + .equ se_w115_mvl, 127 + .equ se_w115_key, 0 + .equ se_w115_tbs, 1 + .equ se_w115_exg, 0 + .equ se_w115_cmp, 1 + + .section .rodata + .global se_w115 + .align 2 + +@********************** Track 1 **********************@ + +se_w115_1: + .byte KEYSH , se_w115_key+0 + .byte TEMPO , 150*se_w115_tbs/2 + .byte VOICE , 19 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 90*se_w115_mvl/mxv + .byte BEND , c_v+6 + .byte N06 , Gn6 , v080 + .byte W01 + .byte BEND , c_v-4 + .byte W01 + .byte PAN , c_v+5 + .byte VOL , 74*se_w115_mvl/mxv + .byte BEND , c_v-14 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 60*se_w115_mvl/mxv + .byte BEND , c_v-31 + .byte W01 + .byte PAN , c_v+0 + .byte VOL , 20*se_w115_mvl/mxv + .byte BEND , c_v-41 + .byte W02 + .byte VOL , 90*se_w115_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Gn6 , v072 + .byte W01 + .byte BEND , c_v-11 + .byte W01 + .byte PAN , c_v+5 + .byte VOL , 74*se_w115_mvl/mxv + .byte BEND , c_v-20 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 60*se_w115_mvl/mxv + .byte BEND , c_v-37 + .byte W01 + .byte PAN , c_v+0 + .byte VOL , 20*se_w115_mvl/mxv + .byte BEND , c_v-47 + .byte W02 + .byte VOL , 90*se_w115_mvl/mxv + .byte BEND , c_v-1 + .byte N06 , Gn6 , v068 + .byte W01 + .byte BEND , c_v-11 + .byte W01 + .byte PAN , c_v+5 + .byte VOL , 74*se_w115_mvl/mxv + .byte BEND , c_v-21 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 60*se_w115_mvl/mxv + .byte BEND , c_v-38 + .byte W01 + .byte PAN , c_v+0 + .byte VOL , 20*se_w115_mvl/mxv + .byte BEND , c_v-48 + .byte W02 + .byte VOL , 90*se_w115_mvl/mxv + .byte BEND , c_v-1 + .byte N06 , Gn6 , v060 + .byte W01 + .byte BEND , c_v-11 + .byte W01 + .byte PAN , c_v+5 + .byte VOL , 74*se_w115_mvl/mxv + .byte BEND , c_v-21 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 60*se_w115_mvl/mxv + .byte BEND , c_v-38 + .byte W01 + .byte PAN , c_v+0 + .byte VOL , 20*se_w115_mvl/mxv + .byte BEND , c_v-48 + .byte W02 + .byte VOL , 90*se_w115_mvl/mxv + .byte BEND , c_v-2 + .byte N06 , Gn6 , v052 + .byte W01 + .byte PAN , c_v+5 + .byte BEND , c_v-12 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 74*se_w115_mvl/mxv + .byte BEND , c_v-22 + .byte W01 + .byte PAN , c_v+8 + .byte VOL , 60*se_w115_mvl/mxv + .byte BEND , c_v-39 + .byte W01 + .byte PAN , c_v-10 + .byte VOL , 20*se_w115_mvl/mxv + .byte BEND , c_v-49 + .byte W02 + .byte PAN , c_v+0 + .byte VOL , 90*se_w115_mvl/mxv + .byte BEND , c_v-2 + .byte N06 , Gn6 , v048 + .byte W01 + .byte PAN , c_v+5 + .byte BEND , c_v-12 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 74*se_w115_mvl/mxv + .byte BEND , c_v-22 + .byte W01 + .byte PAN , c_v+8 + .byte VOL , 60*se_w115_mvl/mxv + .byte BEND , c_v-39 + .byte W01 + .byte PAN , c_v-10 + .byte VOL , 20*se_w115_mvl/mxv + .byte BEND , c_v-49 + .byte W02 + .byte VOL , 90*se_w115_mvl/mxv + .byte BEND , c_v-2 + .byte N06 , Gn6 , v040 + .byte W01 + .byte PAN , c_v+5 + .byte BEND , c_v-13 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 74*se_w115_mvl/mxv + .byte BEND , c_v-22 + .byte W01 + .byte PAN , c_v+8 + .byte VOL , 60*se_w115_mvl/mxv + .byte BEND , c_v-39 + .byte W01 + .byte PAN , c_v-10 + .byte VOL , 20*se_w115_mvl/mxv + .byte BEND , c_v-49 + .byte W02 + .byte PAN , c_v+0 + .byte VOL , 90*se_w115_mvl/mxv + .byte BEND , c_v-2 + .byte N06 , Gn6 , v032 + .byte W01 + .byte PAN , c_v+5 + .byte BEND , c_v-13 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 74*se_w115_mvl/mxv + .byte BEND , c_v-22 + .byte W01 + .byte PAN , c_v+8 + .byte VOL , 60*se_w115_mvl/mxv + .byte BEND , c_v-39 + .byte W01 + .byte PAN , c_v-10 + .byte VOL , 20*se_w115_mvl/mxv + .byte BEND , c_v-49 + .byte W02 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_w115_2: + .byte KEYSH , se_w115_key+0 + .byte VOICE , 53 + .byte PAN , c_v+0 + .byte VOL , 90*se_w115_mvl/mxv + .byte W02 + .byte N06 , En6 , v064 + .byte W02 + .byte VOL , 74*se_w115_mvl/mxv + .byte W02 + .byte 60*se_w115_mvl/mxv + .byte W01 + .byte 20*se_w115_mvl/mxv + .byte W01 + .byte 90*se_w115_mvl/mxv + .byte N06 , En6 , v056 + .byte W02 + .byte VOL , 74*se_w115_mvl/mxv + .byte W02 +se_w115_2_000: + .byte VOL , 60*se_w115_mvl/mxv + .byte W01 + .byte 20*se_w115_mvl/mxv + .byte W01 + .byte 90*se_w115_mvl/mxv + .byte N06 , En6 , v052 + .byte W02 + .byte VOL , 74*se_w115_mvl/mxv + .byte W02 + .byte PEND + .byte PATT + .word se_w115_2_000 + .byte VOL , 60*se_w115_mvl/mxv + .byte W01 + .byte 20*se_w115_mvl/mxv + .byte W01 + .byte 90*se_w115_mvl/mxv + .byte N06 , En6 , v048 + .byte W02 + .byte VOL , 74*se_w115_mvl/mxv + .byte W02 + .byte 60*se_w115_mvl/mxv + .byte W01 + .byte 20*se_w115_mvl/mxv + .byte W01 + .byte 90*se_w115_mvl/mxv + .byte N06 , En6 , v044 + .byte W02 + .byte VOL , 74*se_w115_mvl/mxv + .byte W02 + .byte 60*se_w115_mvl/mxv + .byte W01 + .byte 20*se_w115_mvl/mxv + .byte W01 + .byte 90*se_w115_mvl/mxv + .byte N06 , En6 , v040 + .byte W02 + .byte VOL , 74*se_w115_mvl/mxv + .byte W02 + .byte 60*se_w115_mvl/mxv + .byte W01 + .byte 20*se_w115_mvl/mxv + .byte W01 + .byte 90*se_w115_mvl/mxv + .byte N06 , En6 , v036 + .byte W02 + .byte VOL , 74*se_w115_mvl/mxv + .byte W02 + .byte 60*se_w115_mvl/mxv + .byte W01 + .byte 20*se_w115_mvl/mxv + .byte W05 + .byte FINE + +@******************************************************@ + .align 2 + +se_w115: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w115_pri @ Priority + .byte se_w115_rev @ Reverb. + + .word se_w115_grp + + .word se_w115_1 + .word se_w115_2 + + .end diff --git a/sound/songs/se_w118.s b/sound/songs/se_w118.s new file mode 100644 index 0000000000..c4c27a65ea --- /dev/null +++ b/sound/songs/se_w118.s @@ -0,0 +1,79 @@ + .include "MPlayDef.s" + + .equ se_w118_grp, voicegroup_869D6F4 + .equ se_w118_pri, 4 + .equ se_w118_rev, reverb_set+50 + .equ se_w118_mvl, 127 + .equ se_w118_key, 0 + .equ se_w118_tbs, 1 + .equ se_w118_exg, 0 + .equ se_w118_cmp, 1 + + .section .rodata + .global se_w118 + .align 2 + +@********************** Track 1 **********************@ + +se_w118_1: + .byte KEYSH , se_w118_key+0 + .byte TEMPO , 150*se_w118_tbs/2 + .byte VOICE , 37 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 115*se_w118_mvl/mxv + .byte BEND , c_v+0 + .byte N15 , En3 , v127 + .byte W01 + .byte PAN , c_v+4 + .byte BEND , c_v-4 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v-7 + .byte W01 + .byte PAN , c_v-4 + .byte BEND , c_v-11 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v-5 + .byte W02 + .byte PAN , c_v+4 + .byte BEND , c_v+0 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+3 + .byte W01 + .byte PAN , c_v-4 + .byte BEND , c_v+6 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+9 + .byte W01 + .byte PAN , c_v+4 + .byte BEND , c_v+14 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+20 + .byte W01 + .byte PAN , c_v-4 + .byte BEND , c_v+25 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+46 + .byte W10 + .byte FINE + +@******************************************************@ + .align 2 + +se_w118: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w118_pri @ Priority + .byte se_w118_rev @ Reverb. + + .word se_w118_grp + + .word se_w118_1 + + .end diff --git a/sound/songs/se_w120.s b/sound/songs/se_w120.s new file mode 100644 index 0000000000..9d5f2278e3 --- /dev/null +++ b/sound/songs/se_w120.s @@ -0,0 +1,74 @@ + .include "MPlayDef.s" + + .equ se_w120_grp, voicegroup_869D6F4 + .equ se_w120_pri, 4 + .equ se_w120_rev, reverb_set+50 + .equ se_w120_mvl, 127 + .equ se_w120_key, 0 + .equ se_w120_tbs, 1 + .equ se_w120_exg, 0 + .equ se_w120_cmp, 1 + + .section .rodata + .global se_w120 + .align 2 + +@********************** Track 1 **********************@ + +se_w120_1: + .byte KEYSH , se_w120_key+0 + .byte TEMPO , 150*se_w120_tbs/2 + .byte VOICE , 41 + .byte VOL , 115*se_w120_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N01 , Gn3 , v127 + .byte W01 + .byte Cn3 + .byte W01 + .byte N24 , An3 + .byte W06 + .byte PAN , c_v+6 + .byte W04 + .byte c_v+0 + .byte W01 + .byte VOL , 102*se_w120_mvl/mxv + .byte W02 + .byte PAN , c_v-8 + .byte VOL , 88*se_w120_mvl/mxv + .byte W03 + .byte 78*se_w120_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 67*se_w120_mvl/mxv + .byte W01 + .byte BEND , c_v-2 + .byte W01 + .byte PAN , c_v+7 + .byte VOL , 45*se_w120_mvl/mxv + .byte W02 + .byte BEND , c_v-8 + .byte W01 + .byte VOL , 13*se_w120_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v-15 + .byte W22 + .byte FINE + +@******************************************************@ + .align 2 + +se_w120: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w120_pri @ Priority + .byte se_w120_rev @ Reverb. + + .word se_w120_grp + + .word se_w120_1 + + .end diff --git a/sound/songs/se_w122.s b/sound/songs/se_w122.s new file mode 100644 index 0000000000..1a5b7cc3f5 --- /dev/null +++ b/sound/songs/se_w122.s @@ -0,0 +1,129 @@ + .include "MPlayDef.s" + + .equ se_w122_grp, voicegroup_869D6F4 + .equ se_w122_pri, 4 + .equ se_w122_rev, reverb_set+50 + .equ se_w122_mvl, 127 + .equ se_w122_key, 0 + .equ se_w122_tbs, 1 + .equ se_w122_exg, 0 + .equ se_w122_cmp, 1 + + .section .rodata + .global se_w122 + .align 2 + +@********************** Track 1 **********************@ + +se_w122_1: + .byte KEYSH , se_w122_key+0 + .byte TEMPO , 150*se_w122_tbs/2 + .byte VOICE , 31 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_w122_mvl/mxv + .byte BEND , c_v-5 + .byte N32 , Cn3 , v127 + .byte W01 + .byte PAN , c_v+4 + .byte BEND , c_v-9 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v-13 + .byte W01 + .byte PAN , c_v-4 + .byte BEND , c_v-20 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v-25 + .byte W02 + .byte PAN , c_v+4 + .byte BEND , c_v-39 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v-6 + .byte W01 + .byte PAN , c_v-4 + .byte BEND , c_v-3 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+6 + .byte W01 + .byte PAN , c_v+4 + .byte BEND , c_v+3 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+9 + .byte W01 + .byte PAN , c_v-4 + .byte BEND , c_v+6 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+12 + .byte W01 + .byte PAN , c_v+4 + .byte BEND , c_v+8 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+16 + .byte W02 + .byte PAN , c_v-4 + .byte VOL , 102*se_w122_mvl/mxv + .byte BEND , c_v+12 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+16 + .byte W01 + .byte PAN , c_v+4 + .byte VOL , 97*se_w122_mvl/mxv + .byte BEND , c_v+18 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+14 + .byte W01 + .byte PAN , c_v-4 + .byte VOL , 92*se_w122_mvl/mxv + .byte BEND , c_v+18 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+20 + .byte W01 + .byte PAN , c_v+4 + .byte VOL , 88*se_w122_mvl/mxv + .byte BEND , c_v+17 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+12 + .byte W01 + .byte PAN , c_v-4 + .byte VOL , 81*se_w122_mvl/mxv + .byte BEND , c_v+16 + .byte W01 + .byte PAN , c_v+0 + .byte VOL , 64*se_w122_mvl/mxv + .byte BEND , c_v+12 + .byte W02 + .byte PAN , c_v+4 + .byte VOL , 49*se_w122_mvl/mxv + .byte BEND , c_v+14 + .byte W01 + .byte PAN , c_v+0 + .byte VOL , 25*se_w122_mvl/mxv + .byte BEND , c_v+11 + .byte W05 + .byte FINE + +@******************************************************@ + .align 2 + +se_w122: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w122_pri @ Priority + .byte se_w122_rev @ Reverb. + + .word se_w122_grp + + .word se_w122_1 + + .end diff --git a/sound/songs/se_w127.s b/sound/songs/se_w127.s new file mode 100644 index 0000000000..bb1ef4bf66 --- /dev/null +++ b/sound/songs/se_w127.s @@ -0,0 +1,137 @@ + .include "MPlayDef.s" + + .equ se_w127_grp, voicegroup_869D6F4 + .equ se_w127_pri, 4 + .equ se_w127_rev, reverb_set+50 + .equ se_w127_mvl, 127 + .equ se_w127_key, 0 + .equ se_w127_tbs, 1 + .equ se_w127_exg, 0 + .equ se_w127_cmp, 1 + + .section .rodata + .global se_w127 + .align 2 + +@********************** Track 1 **********************@ + +se_w127_1: + .byte KEYSH , se_w127_key+0 + .byte TEMPO , 150*se_w127_tbs/2 + .byte VOICE , 36 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 115*se_w127_mvl/mxv + .byte BEND , c_v-18 + .byte N60 , Gn2 , v127 + .byte W03 + .byte PAN , c_v+3 + .byte BEND , c_v-16 + .byte W04 + .byte PAN , c_v+6 + .byte BEND , c_v-14 + .byte W03 + .byte PAN , c_v+3 + .byte BEND , c_v-11 + .byte W02 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v-8 + .byte W04 + .byte PAN , c_v-3 + .byte BEND , c_v-5 + .byte W03 + .byte PAN , c_v-6 + .byte BEND , c_v-2 + .byte W03 + .byte W01 + .byte PAN , c_v-3 + .byte BEND , c_v+1 + .byte W03 + .byte PAN , c_v+0 + .byte BEND , c_v+4 + .byte W04 + .byte PAN , c_v+3 + .byte BEND , c_v+7 + .byte W02 + .byte VOL , 109*se_w127_mvl/mxv + .byte W02 + .byte PAN , c_v+6 + .byte BEND , c_v+10 + .byte W02 + .byte VOL , 103*se_w127_mvl/mxv + .byte W01 + .byte PAN , c_v+3 + .byte BEND , c_v+13 + .byte W03 + .byte VOL , 92*se_w127_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+16 + .byte W03 + .byte VOL , 79*se_w127_mvl/mxv + .byte PAN , c_v-3 + .byte BEND , c_v+18 + .byte W02 + .byte W02 + .byte VOL , 62*se_w127_mvl/mxv + .byte PAN , c_v-6 + .byte BEND , c_v+21 + .byte W04 + .byte VOL , 40*se_w127_mvl/mxv + .byte PAN , c_v-3 + .byte BEND , c_v+26 + .byte W02 + .byte VOL , 22*se_w127_mvl/mxv + .byte BEND , c_v+33 + .byte W01 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 8*se_w127_mvl/mxv + .byte BEND , c_v+43 + .byte W02 + .byte FINE + +@********************** Track 2 **********************@ + +se_w127_2: + .byte KEYSH , se_w127_key+0 + .byte VOICE , 25 + .byte VOL , 115*se_w127_mvl/mxv + .byte N06 , Cn3 , v040 + .byte W06 + .byte Gn2 + .byte W06 +se_w127_2_000: + .byte N06 , Cn3 , v040 + .byte W06 + .byte Gn2 + .byte W06 + .byte PEND + .byte PATT + .word se_w127_2_000 + .byte N06 , Cn3 , v032 + .byte W06 + .byte Gn2 + .byte W06 + .byte Cn3 , v012 + .byte W06 + .byte Gn2 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_w127: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w127_pri @ Priority + .byte se_w127_rev @ Reverb. + + .word se_w127_grp + + .word se_w127_1 + .word se_w127_2 + + .end diff --git a/sound/songs/se_w129.s b/sound/songs/se_w129.s new file mode 100644 index 0000000000..acd83d0f2f --- /dev/null +++ b/sound/songs/se_w129.s @@ -0,0 +1,111 @@ + .include "MPlayDef.s" + + .equ se_w129_grp, voicegroup_869D6F4 + .equ se_w129_pri, 4 + .equ se_w129_rev, reverb_set+50 + .equ se_w129_mvl, 127 + .equ se_w129_key, 0 + .equ se_w129_tbs, 1 + .equ se_w129_exg, 0 + .equ se_w129_cmp, 1 + + .section .rodata + .global se_w129 + .align 2 + +@********************** Track 1 **********************@ + +se_w129_1: + .byte KEYSH , se_w129_key+0 + .byte TEMPO , 180*se_w129_tbs/2 + .byte VOICE , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 100*se_w129_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Ds6 , v100 + .byte W01 + .byte BEND , c_v-11 + .byte W01 + .byte PAN , c_v+5 + .byte VOL , 90*se_w129_mvl/mxv + .byte BEND , c_v-20 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 77*se_w129_mvl/mxv + .byte BEND , c_v-37 + .byte W01 + .byte PAN , c_v+0 + .byte VOL , 37*se_w129_mvl/mxv + .byte BEND , c_v-47 + .byte W02 + .byte VOL , 100*se_w129_mvl/mxv + .byte BEND , c_v+0 + .byte N06 + .byte W01 + .byte PAN , c_v+5 + .byte BEND , c_v-11 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 90*se_w129_mvl/mxv + .byte BEND , c_v-20 + .byte W01 + .byte PAN , c_v+8 + .byte VOL , 77*se_w129_mvl/mxv + .byte BEND , c_v-37 + .byte W01 + .byte PAN , c_v-10 + .byte VOL , 37*se_w129_mvl/mxv + .byte BEND , c_v-47 + .byte W02 + .byte VOL , 100*se_w129_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Ds6 , v056 + .byte W01 + .byte PAN , c_v+5 + .byte BEND , c_v-11 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 90*se_w129_mvl/mxv + .byte BEND , c_v-20 + .byte W01 + .byte PAN , c_v+8 + .byte VOL , 77*se_w129_mvl/mxv + .byte BEND , c_v-37 + .byte W01 + .byte PAN , c_v-10 + .byte VOL , 37*se_w129_mvl/mxv + .byte BEND , c_v-47 + .byte W02 + .byte FINE + +@********************** Track 2 **********************@ + +se_w129_2: + .byte KEYSH , se_w129_key+0 + .byte VOICE , 53 + .byte VOL , 100*se_w129_mvl/mxv + .byte W02 + .byte N06 , Cn6 , v040 + .byte W04 + .byte W02 + .byte N04 , Cn6 , v032 + .byte W04 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_w129: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w129_pri @ Priority + .byte se_w129_rev @ Reverb. + + .word se_w129_grp + + .word se_w129_1 + .word se_w129_2 + + .end diff --git a/sound/songs/se_w145.s b/sound/songs/se_w145.s new file mode 100644 index 0000000000..adb6509e48 --- /dev/null +++ b/sound/songs/se_w145.s @@ -0,0 +1,57 @@ + .include "MPlayDef.s" + + .equ se_w145_grp, voicegroup_869D6F4 + .equ se_w145_pri, 4 + .equ se_w145_rev, reverb_set+50 + .equ se_w145_mvl, 127 + .equ se_w145_key, 0 + .equ se_w145_tbs, 1 + .equ se_w145_exg, 0 + .equ se_w145_cmp, 1 + + .section .rodata + .global se_w145 + .align 2 + +@********************** Track 1 **********************@ + +se_w145_1: + .byte KEYSH , se_w145_key+0 + .byte TEMPO , 220*se_w145_tbs/2 + .byte VOICE , 23 + .byte VOL , 95*se_w145_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N09 , Cn3 , v127 + .byte W03 + .byte PAN , c_v-16 + .byte BEND , c_v+6 + .byte W01 + .byte c_v+16 + .byte W02 + .byte PAN , c_v+16 + .byte BEND , c_v+37 + .byte W01 + .byte c_v+48 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v-1 + .byte N03 , En3 + .byte W15 + .byte FINE + +@******************************************************@ + .align 2 + +se_w145: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w145_pri @ Priority + .byte se_w145_rev @ Reverb. + + .word se_w145_grp + + .word se_w145_1 + + .end diff --git a/sound/songs/se_w145b.s b/sound/songs/se_w145b.s new file mode 100644 index 0000000000..ed7e48c0ca --- /dev/null +++ b/sound/songs/se_w145b.s @@ -0,0 +1,60 @@ + .include "MPlayDef.s" + + .equ se_w145b_grp, voicegroup_869D6F4 + .equ se_w145b_pri, 4 + .equ se_w145b_rev, reverb_set+50 + .equ se_w145b_mvl, 127 + .equ se_w145b_key, 0 + .equ se_w145b_tbs, 1 + .equ se_w145b_exg, 0 + .equ se_w145b_cmp, 1 + + .section .rodata + .global se_w145b + .align 2 + +@********************** Track 1 **********************@ + +se_w145b_1: + .byte KEYSH , se_w145b_key+0 + .byte TEMPO , 220*se_w145b_tbs/2 + .byte VOICE , 24 + .byte VOL , 110*se_w145b_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte W03 + .byte N09 , Gn4 , v127 + .byte W02 + .byte BEND , c_v+31 + .byte W02 + .byte c_v-34 + .byte W17 + .byte FINE + +@********************** Track 2 **********************@ + +se_w145b_2: + .byte KEYSH , se_w145b_key+0 + .byte VOICE , 4 + .byte VOL , 110*se_w145b_mvl/mxv + .byte PAN , c_v+0 + .byte N01 , Cn4 , v044 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_w145b: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w145b_pri @ Priority + .byte se_w145b_rev @ Reverb. + + .word se_w145b_grp + + .word se_w145b_1 + .word se_w145b_2 + + .end diff --git a/sound/songs/se_w145c.s b/sound/songs/se_w145c.s new file mode 100644 index 0000000000..c1e108a992 --- /dev/null +++ b/sound/songs/se_w145c.s @@ -0,0 +1,62 @@ + .include "MPlayDef.s" + + .equ se_w145c_grp, voicegroup_869D6F4 + .equ se_w145c_pri, 4 + .equ se_w145c_rev, reverb_set+50 + .equ se_w145c_mvl, 127 + .equ se_w145c_key, 0 + .equ se_w145c_tbs, 1 + .equ se_w145c_exg, 0 + .equ se_w145c_cmp, 1 + + .section .rodata + .global se_w145c + .align 2 + +@********************** Track 1 **********************@ + +se_w145c_1: + .byte KEYSH , se_w145c_key+0 + .byte TEMPO , 220*se_w145c_tbs/2 + .byte VOICE , 23 + .byte VOL , 95*se_w145c_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N12 , Gn2 , v127 + .byte W06 + .byte PAN , c_v-17 + .byte BEND , c_v+6 + .byte W01 + .byte c_v+16 + .byte W02 + .byte PAN , c_v+16 + .byte BEND , c_v+25 + .byte W01 + .byte c_v+31 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v-1 + .byte W03 + .byte N06 + .byte W03 + .byte BEND , c_v+6 + .byte W01 + .byte c_v+13 + .byte W05 + .byte FINE + +@******************************************************@ + .align 2 + +se_w145c: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w145c_pri @ Priority + .byte se_w145c_rev @ Reverb. + + .word se_w145c_grp + + .word se_w145c_1 + + .end diff --git a/sound/songs/se_w146.s b/sound/songs/se_w146.s new file mode 100644 index 0000000000..e2dafa3e55 --- /dev/null +++ b/sound/songs/se_w146.s @@ -0,0 +1,79 @@ + .include "MPlayDef.s" + + .equ se_w146_grp, voicegroup_869D6F4 + .equ se_w146_pri, 4 + .equ se_w146_rev, reverb_set+50 + .equ se_w146_mvl, 127 + .equ se_w146_key, 0 + .equ se_w146_tbs, 1 + .equ se_w146_exg, 0 + .equ se_w146_cmp, 1 + + .section .rodata + .global se_w146 + .align 2 + +@********************** Track 1 **********************@ + +se_w146_1: + .byte KEYSH , se_w146_key+0 + .byte TEMPO , 150*se_w146_tbs/2 + .byte VOICE , 19 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 5*se_w146_mvl/mxv + .byte BEND , c_v+0 + .byte N07 , Bn5 , v080 + .byte W01 + .byte VOL , 55*se_w146_mvl/mxv + .byte PAN , c_v+11 + .byte BEND , c_v+3 + .byte W01 + .byte VOL , 67*se_w146_mvl/mxv + .byte PAN , c_v+22 + .byte BEND , c_v+0 + .byte W01 + .byte VOL , 90*se_w146_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-6 + .byte W01 + .byte PAN , c_v-12 + .byte BEND , c_v-14 + .byte W02 + .byte VOL , 4*se_w146_mvl/mxv + .byte PAN , c_v-22 + .byte BEND , c_v-23 + .byte W01 + .byte PAN , c_v-13 + .byte BEND , c_v+0 + .byte N04 , Cn6 + .byte W01 + .byte VOL , 66*se_w146_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte W01 + .byte VOL , 90*se_w146_mvl/mxv + .byte PAN , c_v+11 + .byte BEND , c_v+3 + .byte W01 + .byte VOL , 4*se_w146_mvl/mxv + .byte PAN , c_v+21 + .byte BEND , c_v+5 + .byte W14 + .byte VOL , 90*se_w146_mvl/mxv + .byte FINE + +@******************************************************@ + .align 2 + +se_w146: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w146_pri @ Priority + .byte se_w146_rev @ Reverb. + + .word se_w146_grp + + .word se_w146_1 + + .end diff --git a/sound/songs/se_w151.s b/sound/songs/se_w151.s new file mode 100644 index 0000000000..7dbc969633 --- /dev/null +++ b/sound/songs/se_w151.s @@ -0,0 +1,202 @@ + .include "MPlayDef.s" + + .equ se_w151_grp, voicegroup_869D6F4 + .equ se_w151_pri, 4 + .equ se_w151_rev, reverb_set+50 + .equ se_w151_mvl, 127 + .equ se_w151_key, 0 + .equ se_w151_tbs, 1 + .equ se_w151_exg, 0 + .equ se_w151_cmp, 1 + + .section .rodata + .global se_w151 + .align 2 + +@********************** Track 1 **********************@ + +se_w151_1: + .byte KEYSH , se_w151_key+0 + .byte TEMPO , 150*se_w151_tbs/2 + .byte VOICE , 31 + .byte VOL , 110*se_w151_mvl/mxv + .byte BENDR , 24 + .byte PAN , c_v+0 + .byte BEND , c_v-37 + .byte N06 , Gn0 , v127 + .byte W01 + .byte BEND , c_v-16 + .byte W01 + .byte c_v+0 + .byte W01 + .byte c_v+27 + .byte W01 + .byte c_v+46 + .byte W02 + .byte VOICE , 23 + .byte PAN , c_v+11 + .byte N01 , Cn1 + .byte W01 + .byte PAN , c_v-10 + .byte N01 , Cn2 + .byte W01 + .byte VOICE , 31 + .byte PAN , c_v+6 + .byte BEND , c_v-37 + .byte N06 , Dn1 + .byte W01 + .byte BEND , c_v-16 + .byte W01 + .byte c_v+0 + .byte W02 + .byte c_v+27 + .byte W01 + .byte c_v+46 + .byte W01 + .byte VOICE , 23 + .byte PAN , c_v-1 + .byte N01 , Fn1 + .byte W01 + .byte PAN , c_v-10 + .byte N01 , Fn2 + .byte W01 + .byte VOICE , 31 + .byte PAN , c_v+0 + .byte BEND , c_v-37 + .byte N02 , Gn0 + .byte W02 + .byte BEND , c_v-16 + .byte W01 + .byte c_v+0 + .byte W01 + .byte PAN , c_v+5 + .byte BEND , c_v+27 + .byte N02 + .byte W01 + .byte BEND , c_v+46 + .byte W01 + .byte VOICE , 23 + .byte PAN , c_v+10 + .byte N01 , Cn1 + .byte W02 + .byte PAN , c_v-9 + .byte N01 , Cn2 + .byte W01 + .byte VOICE , 31 + .byte PAN , c_v+0 + .byte BEND , c_v-37 + .byte N06 , Dn1 + .byte W01 + .byte BEND , c_v-16 + .byte W01 + .byte c_v+0 + .byte W01 + .byte c_v+27 + .byte W02 + .byte c_v+46 + .byte W01 + .byte VOICE , 23 + .byte PAN , c_v+5 + .byte N01 , Cn1 + .byte W01 + .byte PAN , c_v-8 + .byte N01 , Cn2 + .byte W01 + .byte VOICE , 31 + .byte PAN , c_v+0 + .byte BEND , c_v-37 + .byte N06 , Gn0 , v112 + .byte W01 + .byte BEND , c_v-16 + .byte W02 + .byte c_v+0 + .byte W01 + .byte c_v+27 + .byte W01 + .byte c_v+46 + .byte W01 + .byte VOICE , 23 + .byte PAN , c_v+11 + .byte N01 , Cn1 , v100 + .byte W01 + .byte PAN , c_v-10 + .byte N01 , Cn2 , v096 + .byte W02 + .byte VOICE , 31 + .byte PAN , c_v+6 + .byte BEND , c_v-37 + .byte N06 , Dn1 + .byte W01 + .byte BEND , c_v-16 + .byte W01 + .byte c_v+0 + .byte W01 + .byte c_v+27 + .byte W01 + .byte c_v+46 + .byte W02 + .byte VOICE , 23 + .byte PAN , c_v-1 + .byte N01 , Fn1 , v084 + .byte W01 + .byte PAN , c_v-10 + .byte N01 , Fn2 + .byte W01 + .byte VOICE , 31 + .byte PAN , c_v+0 + .byte BEND , c_v-37 + .byte N02 , Gn0 , v080 + .byte W01 + .byte BEND , c_v-16 + .byte W01 + .byte c_v+0 + .byte W02 + .byte PAN , c_v+5 + .byte BEND , c_v+27 + .byte N02 , Gn0 , v072 + .byte W01 + .byte BEND , c_v+46 + .byte W01 + .byte VOICE , 23 + .byte PAN , c_v+10 + .byte N01 , Cn1 , v068 + .byte W01 + .byte PAN , c_v-9 + .byte N01 , Cn2 + .byte W01 + .byte VOICE , 31 + .byte PAN , c_v+0 + .byte BEND , c_v-37 + .byte N06 , Dn1 , v064 + .byte W02 + .byte BEND , c_v-16 + .byte W01 + .byte c_v+0 + .byte W01 + .byte c_v+27 + .byte W01 + .byte c_v+46 + .byte W01 + .byte VOICE , 23 + .byte PAN , c_v+5 + .byte N01 , Cn1 , v056 + .byte W02 + .byte PAN , c_v-8 + .byte N01 , Cn2 , v052 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_w151: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w151_pri @ Priority + .byte se_w151_rev @ Reverb. + + .word se_w151_grp + + .word se_w151_1 + + .end diff --git a/sound/songs/se_w152.s b/sound/songs/se_w152.s new file mode 100644 index 0000000000..8197a9424c --- /dev/null +++ b/sound/songs/se_w152.s @@ -0,0 +1,58 @@ + .include "MPlayDef.s" + + .equ se_w152_grp, voicegroup_869D6F4 + .equ se_w152_pri, 4 + .equ se_w152_rev, reverb_set+50 + .equ se_w152_mvl, 127 + .equ se_w152_key, 0 + .equ se_w152_tbs, 1 + .equ se_w152_exg, 0 + .equ se_w152_cmp, 1 + + .section .rodata + .global se_w152 + .align 2 + +@********************** Track 1 **********************@ + +se_w152_1: + .byte KEYSH , se_w152_key+0 + .byte TEMPO , 150*se_w152_tbs/2 + .byte VOICE , 23 + .byte VOL , 100*se_w152_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+2 + .byte N02 , Dn3 , v127 + .byte W01 + .byte PAN , c_v-10 + .byte BEND , c_v+4 + .byte W02 + .byte PAN , c_v+8 + .byte BEND , c_v+6 + .byte N02 , Dn3 , v084 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+9 + .byte W02 + .byte c_v-1 + .byte W02 + .byte c_v+32 + .byte N02 , Dn3 , v056 + .byte W16 + .byte FINE + +@******************************************************@ + .align 2 + +se_w152: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w152_pri @ Priority + .byte se_w152_rev @ Reverb. + + .word se_w152_grp + + .word se_w152_1 + + .end diff --git a/sound/songs/se_w153.s b/sound/songs/se_w153.s new file mode 100644 index 0000000000..1dd05a3dfb --- /dev/null +++ b/sound/songs/se_w153.s @@ -0,0 +1,118 @@ + .include "MPlayDef.s" + + .equ se_w153_grp, voicegroup_869D6F4 + .equ se_w153_pri, 4 + .equ se_w153_rev, reverb_set+50 + .equ se_w153_mvl, 127 + .equ se_w153_key, 0 + .equ se_w153_tbs, 1 + .equ se_w153_exg, 0 + .equ se_w153_cmp, 1 + + .section .rodata + .global se_w153 + .align 2 + +@********************** Track 1 **********************@ + +se_w153_1: + .byte KEYSH , se_w153_key+0 + .byte TEMPO , 150*se_w153_tbs/2 + .byte VOICE , 41 + .byte VOL , 125*se_w153_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N01 , Ds3 , v127 + .byte W01 + .byte As2 + .byte W02 + .byte PAN , c_v-8 + .byte N02 , Gn3 + .byte W01 + .byte PAN , c_v+7 + .byte W03 + .byte c_v+0 + .byte N01 , Ds3 + .byte W01 + .byte As2 + .byte W02 + .byte N54 , Fn3 + .byte W11 + .byte BEND , c_v+3 + .byte W03 + .byte W02 + .byte PAN , c_v+6 + .byte BEND , c_v+7 + .byte W04 + .byte PAN , c_v+0 + .byte W01 + .byte BEND , c_v+10 + .byte W02 + .byte PAN , c_v-8 + .byte W01 + .byte BEND , c_v+16 + .byte W03 + .byte PAN , c_v+0 + .byte W01 + .byte BEND , c_v+20 + .byte W02 + .byte PAN , c_v+7 + .byte W02 + .byte BEND , c_v+25 + .byte W02 + .byte PAN , c_v+0 + .byte W04 + .byte c_v-8 + .byte BEND , c_v+20 + .byte W03 + .byte PAN , c_v+6 + .byte W01 + .byte BEND , c_v+10 + .byte W03 + .byte PAN , c_v-8 + .byte W02 + .byte BEND , c_v+3 + .byte W01 + .byte PAN , c_v+7 + .byte W04 + .byte c_v-8 + .byte W10 + .byte FINE + +@********************** Track 2 **********************@ + +se_w153_2: + .byte KEYSH , se_w153_key+0 + .byte VOICE , 4 + .byte VOL , 125*se_w153_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte N02 , Cn3 , v052 + .byte W01 + .byte VOL , 74*se_w153_mvl/mxv + .byte W06 + .byte 125*se_w153_mvl/mxv + .byte N02 + .byte W01 + .byte VOL , 74*se_w153_mvl/mxv + .byte W16 + .byte W24 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_w153: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w153_pri @ Priority + .byte se_w153_rev @ Reverb. + + .word se_w153_grp + + .word se_w153_1 + .word se_w153_2 + + .end diff --git a/sound/songs/se_w155.s b/sound/songs/se_w155.s new file mode 100644 index 0000000000..6f9fdca4c3 --- /dev/null +++ b/sound/songs/se_w155.s @@ -0,0 +1,57 @@ + .include "MPlayDef.s" + + .equ se_w155_grp, voicegroup_869D6F4 + .equ se_w155_pri, 4 + .equ se_w155_rev, reverb_set+50 + .equ se_w155_mvl, 127 + .equ se_w155_key, 0 + .equ se_w155_tbs, 1 + .equ se_w155_exg, 0 + .equ se_w155_cmp, 1 + + .section .rodata + .global se_w155 + .align 2 + +@********************** Track 1 **********************@ + +se_w155_1: + .byte KEYSH , se_w155_key+0 + .byte TEMPO , 150*se_w155_tbs/2 + .byte VOICE , 24 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_w155_mvl/mxv + .byte BEND , c_v+0 + .byte N01 , Cn5 , v127 + .byte W01 + .byte PAN , c_v+10 + .byte N01 , Cn6 + .byte W01 + .byte PAN , c_v+0 + .byte N01 , Cn5 + .byte W04 + .byte N01 + .byte W01 + .byte PAN , c_v-11 + .byte N01 , Cn6 + .byte W01 + .byte PAN , c_v+0 + .byte N01 , Cn5 + .byte W04 + .byte FINE + +@******************************************************@ + .align 2 + +se_w155: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w155_pri @ Priority + .byte se_w155_rev @ Reverb. + + .word se_w155_grp + + .word se_w155_1 + + .end diff --git a/sound/songs/se_w161.s b/sound/songs/se_w161.s new file mode 100644 index 0000000000..cd4d002ea0 --- /dev/null +++ b/sound/songs/se_w161.s @@ -0,0 +1,99 @@ + .include "MPlayDef.s" + + .equ se_w161_grp, voicegroup_869D6F4 + .equ se_w161_pri, 4 + .equ se_w161_rev, reverb_set+50 + .equ se_w161_mvl, 127 + .equ se_w161_key, 0 + .equ se_w161_tbs, 1 + .equ se_w161_exg, 0 + .equ se_w161_cmp, 1 + + .section .rodata + .global se_w161 + .align 2 + +@********************** Track 1 **********************@ + +se_w161_1: + .byte KEYSH , se_w161_key+0 + .byte TEMPO , 220*se_w161_tbs/2 + .byte VOICE , 58 + .byte BENDR , 24 + .byte PAN , c_v+0 + .byte VOL , 19*se_w161_mvl/mxv + .byte BEND , c_v-32 + .byte N16 , Gn1 , v127 + .byte W01 + .byte VOL , 43*se_w161_mvl/mxv + .byte BEND , c_v-20 + .byte W01 + .byte VOL , 72*se_w161_mvl/mxv + .byte BEND , c_v-8 + .byte W01 + .byte VOL , 92*se_w161_mvl/mxv + .byte BEND , c_v+7 + .byte W01 + .byte VOL , 109*se_w161_mvl/mxv + .byte BEND , c_v+19 + .byte W02 + .byte c_v+28 + .byte W01 + .byte c_v+40 + .byte W01 + .byte c_v+28 + .byte W01 + .byte VOL , 102*se_w161_mvl/mxv + .byte BEND , c_v+19 + .byte W01 + .byte VOL , 88*se_w161_mvl/mxv + .byte BEND , c_v+5 + .byte W02 + .byte VOL , 69*se_w161_mvl/mxv + .byte BEND , c_v-9 + .byte W01 + .byte VOL , 37*se_w161_mvl/mxv + .byte BEND , c_v-20 + .byte W01 + .byte VOL , 17*se_w161_mvl/mxv + .byte BEND , c_v-34 + .byte W10 + .byte FINE + +@********************** Track 2 **********************@ + +se_w161_2: + .byte KEYSH , se_w161_key+0 + .byte VOICE , 4 + .byte VOL , 110*se_w161_mvl/mxv + .byte N02 , Gs3 , v032 + .byte W02 + .byte Gn3 + .byte W02 + .byte Fn3 + .byte W03 + .byte En3 + .byte W02 + .byte Dn3 + .byte W03 + .byte Cn3 + .byte W02 + .byte Gs2 + .byte W10 + .byte FINE + +@******************************************************@ + .align 2 + +se_w161: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w161_pri @ Priority + .byte se_w161_rev @ Reverb. + + .word se_w161_grp + + .word se_w161_1 + .word se_w161_2 + + .end diff --git a/sound/songs/se_w161b.s b/sound/songs/se_w161b.s new file mode 100644 index 0000000000..4ddc6552ff --- /dev/null +++ b/sound/songs/se_w161b.s @@ -0,0 +1,124 @@ + .include "MPlayDef.s" + + .equ se_w161b_grp, voicegroup_869D6F4 + .equ se_w161b_pri, 4 + .equ se_w161b_rev, reverb_set+50 + .equ se_w161b_mvl, 127 + .equ se_w161b_key, 0 + .equ se_w161b_tbs, 1 + .equ se_w161b_exg, 0 + .equ se_w161b_cmp, 1 + + .section .rodata + .global se_w161b + .align 2 + +@********************** Track 1 **********************@ + +se_w161b_1: + .byte KEYSH , se_w161b_key+0 + .byte TEMPO , 220*se_w161b_tbs/2 + .byte VOICE , 18 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_w161b_mvl/mxv + .byte BEND , c_v+0 + .byte N09 , An3 , v127 + .byte W03 + .byte BEND , c_v+21 + .byte W03 + .byte c_v+0 + .byte W03 + .byte c_v+6 + .byte N15 , An3 , v120 + .byte W03 + .byte BEND , c_v+2 + .byte W01 + .byte PAN , c_v+10 + .byte W02 + .byte BEND , c_v-9 + .byte W03 + .byte PAN , c_v-9 + .byte BEND , c_v-29 + .byte W06 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N09 , Cn3 , v127 + .byte W06 + .byte BEND , c_v-8 + .byte W03 + .byte c_v-15 + .byte N60 , Cs3 , v124 + .byte W03 + .byte BEND , c_v-4 + .byte W03 + .byte PAN , c_v+10 + .byte W06 + .byte c_v+0 + .byte BEND , c_v-8 + .byte W03 + .byte W03 + .byte PAN , c_v-9 + .byte W03 + .byte BEND , c_v-13 + .byte W03 + .byte PAN , c_v+0 + .byte BEND , c_v-22 + .byte W06 + .byte VOL , 103*se_w161b_mvl/mxv + .byte PAN , c_v+10 + .byte W03 + .byte BEND , c_v-32 + .byte W03 + .byte PAN , c_v+0 + .byte W03 + .byte VOL , 95*se_w161b_mvl/mxv + .byte BEND , c_v-38 + .byte W03 + .byte PAN , c_v-9 + .byte W05 + .byte BEND , c_v-45 + .byte W01 + .byte VOL , 66*se_w161b_mvl/mxv + .byte PAN , c_v+0 + .byte W05 + .byte c_v+10 + .byte W01 + .byte BEND , c_v-52 + .byte W03 + .byte VOL , 21*se_w161b_mvl/mxv + .byte W02 + .byte PAN , c_v+0 + .byte W04 + .byte FINE + +@********************** Track 2 **********************@ + +se_w161b_2: + .byte KEYSH , se_w161b_key+0 + .byte VOICE , 4 + .byte VOL , 110*se_w161b_mvl/mxv + .byte N06 , Cn3 , v060 + .byte W09 + .byte N15 + .byte W15 + .byte W24 + .byte W24 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_w161b: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w161b_pri @ Priority + .byte se_w161b_rev @ Reverb. + + .word se_w161b_grp + + .word se_w161b_1 + .word se_w161b_2 + + .end diff --git a/sound/songs/se_w166.s b/sound/songs/se_w166.s new file mode 100644 index 0000000000..f7ff47e55b --- /dev/null +++ b/sound/songs/se_w166.s @@ -0,0 +1,68 @@ + .include "MPlayDef.s" + + .equ se_w166_grp, voicegroup_869D6F4 + .equ se_w166_pri, 4 + .equ se_w166_rev, reverb_set+50 + .equ se_w166_mvl, 127 + .equ se_w166_key, 0 + .equ se_w166_tbs, 1 + .equ se_w166_exg, 0 + .equ se_w166_cmp, 1 + + .section .rodata + .global se_w166 + .align 2 + +@********************** Track 1 **********************@ + +se_w166_1: + .byte KEYSH , se_w166_key+0 + .byte TEMPO , 180*se_w166_tbs/2 + .byte VOICE , 38 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_w166_mvl/mxv + .byte BEND , c_v+0 + .byte N02 , Gn4 , v127 + .byte W01 + .byte VOL , 74*se_w166_mvl/mxv + .byte BEND , c_v-11 + .byte W01 + .byte VOICE , 31 + .byte VOL , 40*se_w166_mvl/mxv + .byte BEND , c_v-1 + .byte N03 , Cs5 + .byte W01 + .byte VOL , 64*se_w166_mvl/mxv + .byte PAN , c_v-6 + .byte BEND , c_v-12 + .byte W01 + .byte VOL , 86*se_w166_mvl/mxv + .byte PAN , c_v+4 + .byte BEND , c_v-16 + .byte W02 + .byte VOL , 110*se_w166_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N02 , As5 + .byte W01 + .byte BEND , c_v+12 + .byte W01 + .byte VOL , 0*se_w166_mvl/mxv + .byte W04 + .byte FINE + +@******************************************************@ + .align 2 + +se_w166: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w166_pri @ Priority + .byte se_w166_rev @ Reverb. + + .word se_w166_grp + + .word se_w166_1 + + .end diff --git a/sound/songs/se_w171.s b/sound/songs/se_w171.s new file mode 100644 index 0000000000..3eb21a30c4 --- /dev/null +++ b/sound/songs/se_w171.s @@ -0,0 +1,146 @@ + .include "MPlayDef.s" + + .equ se_w171_grp, voicegroup_869D6F4 + .equ se_w171_pri, 4 + .equ se_w171_rev, reverb_set+50 + .equ se_w171_mvl, 127 + .equ se_w171_key, 0 + .equ se_w171_tbs, 1 + .equ se_w171_exg, 0 + .equ se_w171_cmp, 1 + + .section .rodata + .global se_w171 + .align 2 + +@********************** Track 1 **********************@ + +se_w171_1: + .byte KEYSH , se_w171_key+0 + .byte TEMPO , 220*se_w171_tbs/2 + .byte VOICE , 3 + .byte VOL , 110*se_w171_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte W06 + .byte N03 , Gn2 , v092 + .byte W06 + .byte PAN , c_v-16 + .byte N03 , Gn2 , v088 + .byte W09 + .byte PAN , c_v-1 + .byte N03 , Fs3 , v104 + .byte W03 + .byte W03 + .byte PAN , c_v+16 + .byte N03 , Fs3 , v088 + .byte W06 + .byte PAN , c_v+0 + .byte N03 , Ds3 + .byte W06 + .byte PAN , c_v-16 + .byte N03 + .byte W09 + .byte PAN , c_v-1 + .byte N03 , An2 , v096 + .byte W06 + .byte PAN , c_v+17 + .byte N03 , An2 , v088 + .byte W09 + .byte PAN , c_v-1 + .byte N03 , Gs3 , v104 + .byte W06 + .byte PAN , c_v-16 + .byte N03 , Gs3 , v088 + .byte W03 + .byte W03 + .byte PAN , c_v-1 + .byte N03 , Fn3 + .byte W06 + .byte PAN , c_v+16 + .byte N03 + .byte W15 + .byte FINE + +@********************** Track 2 **********************@ + +se_w171_2: + .byte KEYSH , se_w171_key+0 + .byte VOICE , 20 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 110*se_w171_mvl/mxv + .byte PAN , c_v-7 + .byte BEND , c_v+55 + .byte N03 , Cn2 , v100 + .byte W06 + .byte PAN , c_v+6 + .byte BEND , c_v+36 + .byte N03 + .byte W06 + .byte PAN , c_v-7 + .byte BEND , c_v+17 + .byte N03 + .byte W06 + .byte PAN , c_v+6 + .byte BEND , c_v+2 + .byte N03 + .byte W06 + .byte PAN , c_v-7 + .byte BEND , c_v-8 + .byte N03 + .byte W06 + .byte PAN , c_v+6 + .byte BEND , c_v+12 + .byte N03 + .byte W06 + .byte PAN , c_v-7 + .byte BEND , c_v+6 + .byte N03 + .byte W06 + .byte PAN , c_v+6 + .byte BEND , c_v+0 + .byte N03 + .byte W06 + .byte PAN , c_v-7 + .byte BEND , c_v-6 + .byte N03 + .byte W06 + .byte PAN , c_v+6 + .byte BEND , c_v-19 + .byte N03 + .byte W06 + .byte PAN , c_v-7 + .byte BEND , c_v-31 + .byte N03 + .byte W06 + .byte PAN , c_v+6 + .byte BEND , c_v-44 + .byte N03 + .byte W06 + .byte PAN , c_v-7 + .byte BEND , c_v-55 + .byte N03 + .byte W06 + .byte PAN , c_v+6 + .byte BEND , c_v-64 + .byte N03 + .byte W18 + .byte FINE + +@******************************************************@ + .align 2 + +se_w171: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w171_pri @ Priority + .byte se_w171_rev @ Reverb. + + .word se_w171_grp + + .word se_w171_1 + .word se_w171_2 + + .end diff --git a/sound/songs/se_w172.s b/sound/songs/se_w172.s new file mode 100644 index 0000000000..eba79321c9 --- /dev/null +++ b/sound/songs/se_w172.s @@ -0,0 +1,124 @@ + .include "MPlayDef.s" + + .equ se_w172_grp, voicegroup_869D6F4 + .equ se_w172_pri, 4 + .equ se_w172_rev, reverb_set+50 + .equ se_w172_mvl, 127 + .equ se_w172_key, 0 + .equ se_w172_tbs, 1 + .equ se_w172_exg, 0 + .equ se_w172_cmp, 1 + + .section .rodata + .global se_w172 + .align 2 + +@********************** Track 1 **********************@ + +se_w172_1: + .byte KEYSH , se_w172_key+0 + .byte TEMPO , 150*se_w172_tbs/2 + .byte VOICE , 29 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 22*se_w172_mvl/mxv + .byte BEND , c_v+0 + .byte N30 , Dn4 , v127 + .byte W01 + .byte VOL , 49*se_w172_mvl/mxv + .byte W01 + .byte 71*se_w172_mvl/mxv + .byte W01 + .byte 95*se_w172_mvl/mxv + .byte BEND , c_v+8 + .byte W01 + .byte VOL , 110*se_w172_mvl/mxv + .byte W02 + .byte PAN , c_v+5 + .byte BEND , c_v+16 + .byte W01 + .byte VOL , 95*se_w172_mvl/mxv + .byte W02 + .byte 88*se_w172_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+7 + .byte W01 + .byte VOL , 93*se_w172_mvl/mxv + .byte W02 + .byte 110*se_w172_mvl/mxv + .byte PAN , c_v-5 + .byte BEND , c_v+0 + .byte W02 + .byte VOL , 86*se_w172_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v-9 + .byte W01 + .byte VOL , 63*se_w172_mvl/mxv + .byte W02 + .byte 37*se_w172_mvl/mxv + .byte BEND , c_v-24 + .byte W03 + .byte VOL , 13*se_w172_mvl/mxv + .byte BEND , c_v-46 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_w172_2: + .byte KEYSH , se_w172_key+0 + .byte VOICE , 27 + .byte PAN , c_v+0 + .byte VOL , 22*se_w172_mvl/mxv + .byte N30 , Gn2 , v032 + .byte W01 + .byte VOL , 49*se_w172_mvl/mxv + .byte W01 + .byte 71*se_w172_mvl/mxv + .byte W01 + .byte 95*se_w172_mvl/mxv + .byte W01 + .byte 110*se_w172_mvl/mxv + .byte W02 + .byte W01 + .byte 95*se_w172_mvl/mxv + .byte W02 + .byte 88*se_w172_mvl/mxv + .byte W01 + .byte 93*se_w172_mvl/mxv + .byte W02 + .byte 110*se_w172_mvl/mxv + .byte W02 + .byte 86*se_w172_mvl/mxv + .byte W01 + .byte W01 + .byte 63*se_w172_mvl/mxv + .byte W02 + .byte 37*se_w172_mvl/mxv + .byte W03 + .byte 13*se_w172_mvl/mxv + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_w172: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w172_pri @ Priority + .byte se_w172_rev @ Reverb. + + .word se_w172_grp + + .word se_w172_1 + .word se_w172_2 + + .end diff --git a/sound/songs/se_w172b.s b/sound/songs/se_w172b.s new file mode 100644 index 0000000000..05f08456ac --- /dev/null +++ b/sound/songs/se_w172b.s @@ -0,0 +1,99 @@ + .include "MPlayDef.s" + + .equ se_w172b_grp, voicegroup_869D6F4 + .equ se_w172b_pri, 4 + .equ se_w172b_rev, reverb_set+50 + .equ se_w172b_mvl, 127 + .equ se_w172b_key, 0 + .equ se_w172b_tbs, 1 + .equ se_w172b_exg, 0 + .equ se_w172b_cmp, 1 + + .section .rodata + .global se_w172b + .align 2 + +@********************** Track 1 **********************@ + +se_w172b_1: + .byte KEYSH , se_w172b_key+0 + .byte TEMPO , 150*se_w172b_tbs/2 + .byte VOICE , 29 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_w172b_mvl/mxv + .byte BEND , c_v+0 + .byte N48 , Cn4 , v127 + .byte W06 + .byte PAN , c_v+4 + .byte W03 + .byte BEND , c_v+2 + .byte W03 + .byte PAN , c_v+10 + .byte W03 + .byte BEND , c_v+5 + .byte W03 + .byte VOL , 98*se_w172b_mvl/mxv + .byte PAN , c_v+4 + .byte W03 + .byte BEND , c_v+3 + .byte W03 + .byte VOL , 88*se_w172b_mvl/mxv + .byte PAN , c_v+0 + .byte W03 + .byte BEND , c_v-5 + .byte W03 + .byte VOL , 68*se_w172b_mvl/mxv + .byte PAN , c_v-5 + .byte W03 + .byte c_v+7 + .byte BEND , c_v-9 + .byte W03 + .byte VOL , 44*se_w172b_mvl/mxv + .byte PAN , c_v+0 + .byte W03 + .byte BEND , c_v-15 + .byte W03 + .byte VOL , 13*se_w172b_mvl/mxv + .byte BEND , c_v-24 + .byte W03 + .byte c_v-40 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_w172b_2: + .byte KEYSH , se_w172b_key+0 + .byte VOICE , 27 + .byte PAN , c_v+0 + .byte VOL , 110*se_w172b_mvl/mxv + .byte N48 , Gn2 , v032 + .byte W18 + .byte VOL , 98*se_w172b_mvl/mxv + .byte W06 + .byte 88*se_w172b_mvl/mxv + .byte W06 + .byte 68*se_w172b_mvl/mxv + .byte W06 + .byte 44*se_w172b_mvl/mxv + .byte W06 + .byte 13*se_w172b_mvl/mxv + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_w172b: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w172b_pri @ Priority + .byte se_w172b_rev @ Reverb. + + .word se_w172b_grp + + .word se_w172b_1 + .word se_w172b_2 + + .end diff --git a/sound/songs/se_w173.s b/sound/songs/se_w173.s new file mode 100644 index 0000000000..8e20a45f45 --- /dev/null +++ b/sound/songs/se_w173.s @@ -0,0 +1,105 @@ + .include "MPlayDef.s" + + .equ se_w173_grp, voicegroup_869D6F4 + .equ se_w173_pri, 4 + .equ se_w173_rev, reverb_set+50 + .equ se_w173_mvl, 127 + .equ se_w173_key, 0 + .equ se_w173_tbs, 1 + .equ se_w173_exg, 0 + .equ se_w173_cmp, 1 + + .section .rodata + .global se_w173 + .align 2 + +@********************** Track 1 **********************@ + +se_w173_1: + .byte KEYSH , se_w173_key+0 + .byte TEMPO , 220*se_w173_tbs/2 + .byte VOICE , 38 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 27*se_w173_mvl/mxv + .byte BEND , c_v+0 + .byte N10 , An1 , v127 + .byte W01 + .byte VOL , 75*se_w173_mvl/mxv + .byte W01 + .byte 120*se_w173_mvl/mxv + .byte W04 + .byte W02 + .byte 75*se_w173_mvl/mxv + .byte W01 + .byte 28*se_w173_mvl/mxv + .byte W03 + .byte VOICE , 36 + .byte VOL , 83*se_w173_mvl/mxv + .byte N18 , En2 , v112 + .byte W02 + .byte VOL , 87*se_w173_mvl/mxv + .byte W02 + .byte 91*se_w173_mvl/mxv + .byte W02 + .byte W01 + .byte 97*se_w173_mvl/mxv + .byte W02 + .byte 102*se_w173_mvl/mxv + .byte W01 + .byte 109*se_w173_mvl/mxv + .byte W02 + .byte 113*se_w173_mvl/mxv + .byte W01 + .byte 120*se_w173_mvl/mxv + .byte W05 + .byte FINE + +@********************** Track 2 **********************@ + +se_w173_2: + .byte VOL , 120*se_w173_mvl/mxv + .byte KEYSH , se_w173_key+0 + .byte VOICE , 27 + .byte N01 , En2 , v052 + .byte W02 + .byte Dn2 + .byte W02 + .byte En2 + .byte W02 + .byte W01 + .byte Dn2 + .byte W02 + .byte En2 + .byte W03 + .byte W01 + .byte En2 , v064 + .byte W02 + .byte Gs2 + .byte W03 + .byte Dn3 + .byte W02 + .byte En2 + .byte W02 + .byte Gs2 + .byte W02 + .byte W01 + .byte Dn3 + .byte W05 + .byte FINE + +@******************************************************@ + .align 2 + +se_w173: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w173_pri @ Priority + .byte se_w173_rev @ Reverb. + + .word se_w173_grp + + .word se_w173_1 + .word se_w173_2 + + .end diff --git a/sound/songs/se_w179.s b/sound/songs/se_w179.s new file mode 100644 index 0000000000..400c35a9f1 --- /dev/null +++ b/sound/songs/se_w179.s @@ -0,0 +1,336 @@ + .include "MPlayDef.s" + + .equ se_w179_grp, voicegroup_869D6F4 + .equ se_w179_pri, 4 + .equ se_w179_rev, reverb_set+50 + .equ se_w179_mvl, 127 + .equ se_w179_key, 0 + .equ se_w179_tbs, 1 + .equ se_w179_exg, 0 + .equ se_w179_cmp, 1 + + .section .rodata + .global se_w179 + .align 2 + +@********************** Track 1 **********************@ + +se_w179_1: + .byte KEYSH , se_w179_key+0 + .byte TEMPO , 150*se_w179_tbs/2 + .byte VOICE , 19 + .byte BENDR , 24 + .byte VOL , 100*se_w179_mvl/mxv + .byte PAN , c_v+0 + .byte VOL , 100*se_w179_mvl/mxv + .byte N03 , Cn5 , v092 + .byte W01 + .byte VOL , 72*se_w179_mvl/mxv + .byte W01 + .byte 40*se_w179_mvl/mxv + .byte BEND , c_v+31 + .byte W01 + .byte VOICE , 22 + .byte PAN , c_v-10 + .byte BEND , c_v+0 + .byte N01 , Gn4 , v127 + .byte W01 + .byte VOICE , 19 + .byte VOL , 100*se_w179_mvl/mxv + .byte PAN , c_v-1 + .byte BEND , c_v-33 + .byte N03 , Cs5 , v092 + .byte W02 + .byte VOL , 72*se_w179_mvl/mxv + .byte W01 + .byte 40*se_w179_mvl/mxv + .byte BEND , c_v+31 + .byte W01 + .byte VOICE , 22 + .byte PAN , c_v+10 + .byte BEND , c_v+0 + .byte N01 , Gs4 , v127 + .byte W01 + .byte VOICE , 19 + .byte VOL , 100*se_w179_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-33 + .byte N03 , Dn5 , v092 + .byte W01 + .byte VOL , 72*se_w179_mvl/mxv + .byte W02 + .byte 40*se_w179_mvl/mxv + .byte BEND , c_v+31 + .byte W01 + .byte VOICE , 22 + .byte PAN , c_v-14 + .byte BEND , c_v+0 + .byte N01 , An4 , v127 + .byte W01 + .byte VOICE , 19 + .byte VOL , 100*se_w179_mvl/mxv + .byte PAN , c_v-1 + .byte BEND , c_v-33 + .byte N03 , Ds5 , v092 + .byte W01 + .byte VOL , 72*se_w179_mvl/mxv + .byte W01 + .byte 40*se_w179_mvl/mxv + .byte BEND , c_v+31 + .byte W02 + .byte VOICE , 22 + .byte PAN , c_v+14 + .byte BEND , c_v+0 + .byte N01 , As4 , v127 + .byte W01 + .byte VOICE , 19 + .byte VOL , 100*se_w179_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-33 + .byte N03 , En5 , v092 + .byte W01 + .byte VOL , 72*se_w179_mvl/mxv + .byte W01 + .byte 40*se_w179_mvl/mxv + .byte BEND , c_v+31 + .byte W01 + .byte VOICE , 22 + .byte PAN , c_v-18 + .byte BEND , c_v+0 + .byte N01 , Bn4 , v127 + .byte W02 + .byte VOICE , 19 + .byte VOL , 100*se_w179_mvl/mxv + .byte PAN , c_v-1 + .byte BEND , c_v-33 + .byte N03 , Fn5 , v092 + .byte W01 + .byte VOL , 72*se_w179_mvl/mxv + .byte W01 + .byte 40*se_w179_mvl/mxv + .byte BEND , c_v+31 + .byte W01 + .byte VOICE , 22 + .byte PAN , c_v+18 + .byte BEND , c_v+0 + .byte N01 , Cn5 , v127 + .byte W01 + .byte VOICE , 19 + .byte VOL , 100*se_w179_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-33 + .byte N03 , Fs5 , v092 + .byte W02 + .byte VOL , 72*se_w179_mvl/mxv + .byte W01 + .byte 40*se_w179_mvl/mxv + .byte BEND , c_v+31 + .byte W01 + .byte VOICE , 22 + .byte PAN , c_v-14 + .byte BEND , c_v+0 + .byte N01 , Cs5 , v127 + .byte W01 + .byte VOICE , 19 + .byte VOL , 100*se_w179_mvl/mxv + .byte PAN , c_v-1 + .byte BEND , c_v-33 + .byte N03 , Gn5 , v092 + .byte W01 + .byte VOL , 72*se_w179_mvl/mxv + .byte W02 + .byte 40*se_w179_mvl/mxv + .byte BEND , c_v+31 + .byte W01 + .byte VOICE , 22 + .byte PAN , c_v+14 + .byte BEND , c_v+0 + .byte N01 , Dn5 , v127 + .byte W01 + .byte VOICE , 19 + .byte VOL , 100*se_w179_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-33 + .byte N03 , Gs5 , v092 + .byte W01 + .byte VOL , 72*se_w179_mvl/mxv + .byte W01 + .byte 40*se_w179_mvl/mxv + .byte BEND , c_v+31 + .byte W02 + .byte VOICE , 22 + .byte PAN , c_v-10 + .byte BEND , c_v+0 + .byte N01 , Ds5 , v127 + .byte W01 + .byte VOICE , 19 + .byte VOL , 100*se_w179_mvl/mxv + .byte PAN , c_v-1 + .byte BEND , c_v-33 + .byte N03 , An5 , v092 + .byte W01 + .byte VOL , 72*se_w179_mvl/mxv + .byte W01 + .byte 40*se_w179_mvl/mxv + .byte BEND , c_v+31 + .byte W01 + .byte VOICE , 22 + .byte PAN , c_v+10 + .byte BEND , c_v+0 + .byte N01 , En5 , v127 + .byte W02 + .byte VOICE , 19 + .byte VOL , 100*se_w179_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-33 + .byte N03 , As5 , v092 + .byte W01 + .byte VOL , 72*se_w179_mvl/mxv + .byte W01 + .byte 40*se_w179_mvl/mxv + .byte BEND , c_v+31 + .byte W01 + .byte VOICE , 22 + .byte PAN , c_v-10 + .byte BEND , c_v+0 + .byte N01 , Fn5 , v127 + .byte W01 + .byte VOICE , 19 + .byte VOL , 100*se_w179_mvl/mxv + .byte PAN , c_v-1 + .byte BEND , c_v-33 + .byte N03 , Bn5 , v092 + .byte W02 + .byte VOL , 72*se_w179_mvl/mxv + .byte W01 + .byte 40*se_w179_mvl/mxv + .byte BEND , c_v+31 + .byte W01 + .byte VOICE , 22 + .byte PAN , c_v+10 + .byte BEND , c_v+0 + .byte N01 , Fs5 , v127 + .byte W01 + .byte BEND , c_v-33 + .byte W03 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_w179_2: + .byte KEYSH , se_w179_key+0 + .byte VOICE , 17 + .byte VOL , 100*se_w179_mvl/mxv + .byte W02 + .byte BEND , c_v+31 + .byte N03 , Cn5 , v040 + .byte W01 + .byte BEND , c_v+0 + .byte W01 + .byte c_v-33 + .byte W02 + .byte W01 + .byte c_v+31 + .byte N03 , Cs5 + .byte W01 + .byte BEND , c_v+0 + .byte W01 + .byte c_v-33 + .byte W03 + .byte c_v+31 + .byte N03 , Dn5 + .byte W01 + .byte BEND , c_v+0 + .byte W01 + .byte c_v-33 + .byte W02 + .byte c_v+31 + .byte N03 , Ds5 + .byte W02 + .byte BEND , c_v+0 + .byte W01 + .byte c_v-33 + .byte W02 + .byte c_v+31 + .byte N03 , En5 + .byte W01 + .byte BEND , c_v+0 + .byte W02 + .byte c_v-33 + .byte W02 + .byte c_v+31 + .byte N03 , Fn5 + .byte W01 + .byte BEND , c_v+0 + .byte W01 + .byte c_v-33 + .byte W02 + .byte W01 + .byte c_v+31 + .byte N03 , Fs5 + .byte W01 + .byte BEND , c_v+0 + .byte W01 + .byte c_v-33 + .byte W03 + .byte c_v+31 + .byte N03 , Gn5 + .byte W01 + .byte BEND , c_v+0 + .byte W01 + .byte c_v-33 + .byte W02 + .byte c_v+31 + .byte N03 , Gs5 + .byte W02 + .byte BEND , c_v+0 + .byte W01 + .byte c_v-33 + .byte W02 + .byte c_v+31 + .byte N03 , An5 + .byte W01 + .byte BEND , c_v+0 + .byte W02 + .byte c_v-33 + .byte W02 + .byte c_v+31 + .byte N03 , As5 + .byte W01 + .byte BEND , c_v+0 + .byte W01 + .byte c_v-33 + .byte W02 + .byte W01 + .byte c_v+31 + .byte N03 , Bn5 + .byte W01 + .byte BEND , c_v+0 + .byte W01 + .byte c_v-33 + .byte W03 + .byte c_v+31 + .byte N03 , Bn5 , v020 + .byte W01 + .byte BEND , c_v+0 + .byte W01 + .byte c_v-33 + .byte W04 + .byte FINE + +@******************************************************@ + .align 2 + +se_w179: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w179_pri @ Priority + .byte se_w179_rev @ Reverb. + + .word se_w179_grp + + .word se_w179_1 + .word se_w179_2 + + .end diff --git a/sound/songs/se_w185.s b/sound/songs/se_w185.s new file mode 100644 index 0000000000..b73ec83866 --- /dev/null +++ b/sound/songs/se_w185.s @@ -0,0 +1,89 @@ + .include "MPlayDef.s" + + .equ se_w185_grp, voicegroup_869D6F4 + .equ se_w185_pri, 4 + .equ se_w185_rev, reverb_set+50 + .equ se_w185_mvl, 127 + .equ se_w185_key, 0 + .equ se_w185_tbs, 1 + .equ se_w185_exg, 0 + .equ se_w185_cmp, 1 + + .section .rodata + .global se_w185 + .align 2 + +@********************** Track 1 **********************@ + +se_w185_1: + .byte KEYSH , se_w185_key+0 + .byte TEMPO , 150*se_w185_tbs/2 + .byte VOICE , 45 + .byte VOL , 100*se_w185_mvl/mxv + .byte BENDR , 2 + .byte PAN , c_v+0 + .byte BEND , c_v-5 + .byte N06 , Cn3 , v112 + .byte W01 + .byte BEND , c_v+10 + .byte W01 + .byte c_v+37 + .byte W01 + .byte c_v+55 + .byte W03 + .byte PAN , c_v-9 + .byte BEND , c_v-5 + .byte N06 , Cs3 , v096 + .byte W01 + .byte BEND , c_v+10 + .byte W01 + .byte c_v+37 + .byte W01 + .byte c_v+55 + .byte W03 + .byte PAN , c_v+7 + .byte BEND , c_v-5 + .byte N06 , Dn3 , v080 + .byte W01 + .byte BEND , c_v+10 + .byte W01 + .byte c_v+37 + .byte W01 + .byte c_v+55 + .byte W03 + .byte PAN , c_v-14 + .byte BEND , c_v-5 + .byte N06 , Ds3 , v060 + .byte W01 + .byte BEND , c_v+10 + .byte W01 + .byte c_v+37 + .byte W01 + .byte c_v+55 + .byte W03 + .byte PAN , c_v+14 + .byte BEND , c_v-5 + .byte N06 , En3 , v040 + .byte W01 + .byte BEND , c_v+10 + .byte W01 + .byte c_v+37 + .byte W01 + .byte c_v+55 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_w185: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w185_pri @ Priority + .byte se_w185_rev @ Reverb. + + .word se_w185_grp + + .word se_w185_1 + + .end diff --git a/sound/songs/se_w187.s b/sound/songs/se_w187.s new file mode 100644 index 0000000000..6ed1453a1e --- /dev/null +++ b/sound/songs/se_w187.s @@ -0,0 +1,72 @@ + .include "MPlayDef.s" + + .equ se_w187_grp, voicegroup_869D6F4 + .equ se_w187_pri, 4 + .equ se_w187_rev, reverb_set+50 + .equ se_w187_mvl, 127 + .equ se_w187_key, 0 + .equ se_w187_tbs, 1 + .equ se_w187_exg, 0 + .equ se_w187_cmp, 1 + + .section .rodata + .global se_w187 + .align 2 + +@********************** Track 1 **********************@ + +se_w187_1: + .byte KEYSH , se_w187_key+0 + .byte TEMPO , 150*se_w187_tbs/2 + .byte VOICE , 6 + .byte BENDR , 12 + .byte VOL , 115*se_w187_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N19 , An2 , v127 + .byte W01 + .byte BEND , c_v-6 + .byte W01 + .byte c_v-10 + .byte W01 + .byte c_v-14 + .byte W01 + .byte c_v-12 + .byte W02 + .byte c_v-14 + .byte W01 + .byte c_v-18 + .byte W01 + .byte VOL , 108*se_w187_mvl/mxv + .byte BEND , c_v-20 + .byte W01 + .byte c_v-22 + .byte W01 + .byte VOL , 94*se_w187_mvl/mxv + .byte W03 + .byte 78*se_w187_mvl/mxv + .byte W01 + .byte 62*se_w187_mvl/mxv + .byte W01 + .byte 40*se_w187_mvl/mxv + .byte W01 + .byte 27*se_w187_mvl/mxv + .byte W02 + .byte 12*se_w187_mvl/mxv + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_w187: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w187_pri @ Priority + .byte se_w187_rev @ Reverb. + + .word se_w187_grp + + .word se_w187_1 + + .end diff --git a/sound/songs/se_w195.s b/sound/songs/se_w195.s new file mode 100644 index 0000000000..7974c7ef79 --- /dev/null +++ b/sound/songs/se_w195.s @@ -0,0 +1,221 @@ + .include "MPlayDef.s" + + .equ se_w195_grp, voicegroup_869D6F4 + .equ se_w195_pri, 4 + .equ se_w195_rev, reverb_set+50 + .equ se_w195_mvl, 127 + .equ se_w195_key, 0 + .equ se_w195_tbs, 1 + .equ se_w195_exg, 0 + .equ se_w195_cmp, 1 + + .section .rodata + .global se_w195 + .align 2 + +@********************** Track 1 **********************@ + +se_w195_1: + .byte KEYSH , se_w195_key+0 + .byte TEMPO , 100*se_w195_tbs/2 + .byte VOICE , 73 + .byte BENDR , 12 + .byte LFOS , 40 + .byte PAN , c_v+7 + .byte VOL , 25*se_w195_mvl/mxv + .byte BEND , c_v+0 + .byte W03 + .byte VOL , 29*se_w195_mvl/mxv + .byte W03 + .byte 33*se_w195_mvl/mxv + .byte N48 , An3 , v112 + .byte W03 + .byte VOL , 40*se_w195_mvl/mxv + .byte W01 + .byte PAN , c_v+4 + .byte W02 +se_w195_1_000: + .byte VOL , 45*se_w195_mvl/mxv + .byte MOD , 8 + .byte W03 + .byte VOL , 51*se_w195_mvl/mxv + .byte W03 + .byte PEND +se_w195_1_001: + .byte VOL , 56*se_w195_mvl/mxv + .byte PAN , c_v+0 + .byte W03 + .byte VOL , 62*se_w195_mvl/mxv + .byte W03 + .byte PEND +se_w195_1_002: + .byte VOL , 72*se_w195_mvl/mxv + .byte PAN , c_v-4 + .byte W03 + .byte VOL , 81*se_w195_mvl/mxv + .byte W03 + .byte PEND +se_w195_1_003: + .byte VOL , 92*se_w195_mvl/mxv + .byte PAN , c_v-8 + .byte W03 + .byte VOL , 100*se_w195_mvl/mxv + .byte W03 + .byte PEND + .byte PAN , c_v-4 + .byte W06 + .byte VOL , 82*se_w195_mvl/mxv + .byte PAN , c_v+0 + .byte W03 + .byte VOL , 52*se_w195_mvl/mxv + .byte W03 + .byte 25*se_w195_mvl/mxv + .byte MOD , 0 + .byte PAN , c_v+4 + .byte W03 + .byte VOL , 29*se_w195_mvl/mxv + .byte W01 + .byte PAN , c_v+7 + .byte W02 + .byte VOL , 33*se_w195_mvl/mxv + .byte N72 , Gs3 , v112 + .byte W03 + .byte VOL , 40*se_w195_mvl/mxv + .byte W01 + .byte PAN , c_v+4 + .byte W02 + .byte PATT + .word se_w195_1_000 + .byte PATT + .word se_w195_1_001 + .byte PATT + .word se_w195_1_002 + .byte PATT + .word se_w195_1_003 + .byte PAN , c_v-4 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+4 + .byte W03 + .byte VOL , 87*se_w195_mvl/mxv + .byte W03 + .byte 75*se_w195_mvl/mxv + .byte PAN , c_v+7 + .byte W03 + .byte VOL , 62*se_w195_mvl/mxv + .byte W03 + .byte 48*se_w195_mvl/mxv + .byte PAN , c_v+4 + .byte W03 + .byte VOL , 33*se_w195_mvl/mxv + .byte W03 + .byte 25*se_w195_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte W02 + .byte VOL , 10*se_w195_mvl/mxv + .byte W03 + .byte W01 + .byte PAN , c_v-4 + .byte W05 + .byte FINE + +@********************** Track 2 **********************@ + +se_w195_2: + .byte KEYSH , se_w195_key+0 + .byte VOICE , 73 + .byte VOL , 25*se_w195_mvl/mxv + .byte PAN , c_v-17 + .byte N48 , Cn4 , v100 + .byte W03 + .byte VOL , 29*se_w195_mvl/mxv + .byte W03 + .byte 33*se_w195_mvl/mxv + .byte W03 + .byte 40*se_w195_mvl/mxv + .byte W03 +se_w195_2_000: + .byte VOL , 45*se_w195_mvl/mxv + .byte MOD , 8 + .byte W03 + .byte VOL , 51*se_w195_mvl/mxv + .byte W03 + .byte PEND + .byte 56*se_w195_mvl/mxv + .byte W03 + .byte 62*se_w195_mvl/mxv + .byte W03 + .byte 72*se_w195_mvl/mxv + .byte W03 + .byte 81*se_w195_mvl/mxv + .byte W03 + .byte 92*se_w195_mvl/mxv + .byte W03 + .byte 100*se_w195_mvl/mxv + .byte W03 + .byte W06 + .byte 82*se_w195_mvl/mxv + .byte W03 + .byte 52*se_w195_mvl/mxv + .byte W03 + .byte 25*se_w195_mvl/mxv + .byte MOD , 0 + .byte N72 , Bn3 , v100 + .byte W03 + .byte VOL , 29*se_w195_mvl/mxv + .byte W03 + .byte 33*se_w195_mvl/mxv + .byte W03 + .byte 40*se_w195_mvl/mxv + .byte W03 + .byte PATT + .word se_w195_2_000 + .byte VOL , 56*se_w195_mvl/mxv + .byte W03 + .byte 62*se_w195_mvl/mxv + .byte W03 + .byte 72*se_w195_mvl/mxv + .byte W03 + .byte 81*se_w195_mvl/mxv + .byte W03 + .byte 92*se_w195_mvl/mxv + .byte W03 + .byte 100*se_w195_mvl/mxv + .byte W03 + .byte W06 + .byte W06 + .byte W03 + .byte 87*se_w195_mvl/mxv + .byte W03 + .byte 75*se_w195_mvl/mxv + .byte W03 + .byte 62*se_w195_mvl/mxv + .byte W03 + .byte 48*se_w195_mvl/mxv + .byte W03 + .byte 33*se_w195_mvl/mxv + .byte W03 + .byte 25*se_w195_mvl/mxv + .byte W03 + .byte 10*se_w195_mvl/mxv + .byte W03 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_w195: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w195_pri @ Priority + .byte se_w195_rev @ Reverb. + + .word se_w195_grp + + .word se_w195_1 + .word se_w195_2 + + .end diff --git a/sound/songs/se_w196.s b/sound/songs/se_w196.s new file mode 100644 index 0000000000..2148d991b0 --- /dev/null +++ b/sound/songs/se_w196.s @@ -0,0 +1,72 @@ + .include "MPlayDef.s" + + .equ se_w196_grp, voicegroup_869D6F4 + .equ se_w196_pri, 4 + .equ se_w196_rev, reverb_set+50 + .equ se_w196_mvl, 127 + .equ se_w196_key, 0 + .equ se_w196_tbs, 1 + .equ se_w196_exg, 0 + .equ se_w196_cmp, 1 + + .section .rodata + .global se_w196 + .align 2 + +@********************** Track 1 **********************@ + +se_w196_1: + .byte KEYSH , se_w196_key+0 + .byte TEMPO , 150*se_w196_tbs/2 + .byte VOICE , 3 + .byte VOL , 100*se_w196_mvl/mxv + .byte PAN , c_v+0 + .byte N01 , Ds4 , v112 + .byte W04 + .byte PAN , c_v+6 + .byte N01 , Bn4 , v040 + .byte W04 + .byte PAN , c_v-5 + .byte N01 , Ds4 , v112 + .byte W01 + .byte PAN , c_v+0 + .byte N01 , Bn4 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_w196_2: + .byte KEYSH , se_w196_key+0 + .byte VOICE , 5 + .byte VOL , 100*se_w196_mvl/mxv + .byte PAN , c_v+0 + .byte N01 , Dn4 , v040 + .byte W04 + .byte Bn3 + .byte W02 + .byte PAN , c_v-7 + .byte W02 + .byte c_v+9 + .byte W01 + .byte N01 , Dn4 + .byte W01 + .byte PAN , c_v-7 + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_w196: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w196_pri @ Priority + .byte se_w196_rev @ Reverb. + + .word se_w196_grp + + .word se_w196_1 + .word se_w196_2 + + .end diff --git a/sound/songs/se_w197.s b/sound/songs/se_w197.s new file mode 100644 index 0000000000..150d847c9b --- /dev/null +++ b/sound/songs/se_w197.s @@ -0,0 +1,95 @@ + .include "MPlayDef.s" + + .equ se_w197_grp, voicegroup_869D6F4 + .equ se_w197_pri, 4 + .equ se_w197_rev, reverb_set+50 + .equ se_w197_mvl, 127 + .equ se_w197_key, 0 + .equ se_w197_tbs, 1 + .equ se_w197_exg, 0 + .equ se_w197_cmp, 1 + + .section .rodata + .global se_w197 + .align 2 + +@********************** Track 1 **********************@ + +se_w197_1: + .byte KEYSH , se_w197_key+0 + .byte TEMPO , 220*se_w197_tbs/2 + .byte VOICE , 54 + .byte VOL , 100*se_w197_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+1 + .byte N03 , As5 , v127 + .byte W01 + .byte PAN , c_v+2 + .byte BEND , c_v+2 + .byte W01 + .byte c_v+4 + .byte W01 + .byte c_v+1 + .byte N06 , Bn5 + .byte W01 + .byte PAN , c_v+0 + .byte W02 + .byte W03 + .byte BEND , c_v+1 + .byte N03 , As5 , v104 + .byte W01 + .byte PAN , c_v-2 + .byte BEND , c_v+2 + .byte W02 + .byte c_v+4 + .byte W01 + .byte c_v+1 + .byte N06 , Bn5 + .byte W01 + .byte PAN , c_v+0 + .byte W04 + .byte W01 + .byte BEND , c_v+1 + .byte N03 , As5 , v080 + .byte W01 + .byte PAN , c_v+4 + .byte BEND , c_v+2 + .byte W01 + .byte c_v+4 + .byte W01 + .byte c_v+1 + .byte N06 , Bn5 + .byte W02 + .byte PAN , c_v+0 + .byte W04 + .byte BEND , c_v+1 + .byte N03 , As5 , v048 + .byte W02 + .byte PAN , c_v-5 + .byte BEND , c_v+2 + .byte W01 + .byte c_v+4 + .byte W01 + .byte c_v+1 + .byte N06 , Bn5 + .byte W01 + .byte PAN , c_v+0 + .byte W03 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_w197: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w197_pri @ Priority + .byte se_w197_rev @ Reverb. + + .word se_w197_grp + + .word se_w197_1 + + .end diff --git a/sound/songs/se_w199.s b/sound/songs/se_w199.s new file mode 100644 index 0000000000..a3ec167cd4 --- /dev/null +++ b/sound/songs/se_w199.s @@ -0,0 +1,69 @@ + .include "MPlayDef.s" + + .equ se_w199_grp, voicegroup_869D6F4 + .equ se_w199_pri, 4 + .equ se_w199_rev, reverb_set+50 + .equ se_w199_mvl, 127 + .equ se_w199_key, 0 + .equ se_w199_tbs, 1 + .equ se_w199_exg, 0 + .equ se_w199_cmp, 1 + + .section .rodata + .global se_w199 + .align 2 + +@********************** Track 1 **********************@ + +se_w199_1: + .byte KEYSH , se_w199_key+0 + .byte TEMPO , 150*se_w199_tbs/2 + .byte VOICE , 40 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_w199_mvl/mxv + .byte BEND , c_v+0 + .byte N01 , Cn4 , v100 + .byte W01 + .byte Gn3 , v064 + .byte W01 + .byte N03 , Bn3 , v100 + .byte W01 + .byte PAN , c_v+6 + .byte BEND , c_v+6 + .byte W01 + .byte PAN , c_v-5 + .byte BEND , c_v-6 + .byte W02 + .byte PAN , c_v+6 + .byte BEND , c_v+6 + .byte N01 , Cn4 + .byte W01 + .byte Gn3 , v064 + .byte W02 + .byte PAN , c_v-5 + .byte BEND , c_v-6 + .byte N01 , Bn3 , v100 + .byte W01 + .byte Gn3 , v064 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N06 , Bn3 , v100 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_w199: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w199_pri @ Priority + .byte se_w199_rev @ Reverb. + + .word se_w199_grp + + .word se_w199_1 + + .end diff --git a/sound/songs/se_w201.s b/sound/songs/se_w201.s new file mode 100644 index 0000000000..6a221dc65e --- /dev/null +++ b/sound/songs/se_w201.s @@ -0,0 +1,290 @@ + .include "MPlayDef.s" + + .equ se_w201_grp, voicegroup_869D6F4 + .equ se_w201_pri, 4 + .equ se_w201_rev, reverb_set+50 + .equ se_w201_mvl, 127 + .equ se_w201_key, 0 + .equ se_w201_tbs, 1 + .equ se_w201_exg, 0 + .equ se_w201_cmp, 1 + + .section .rodata + .global se_w201 + .align 2 + +@********************** Track 1 **********************@ + +se_w201_1: + .byte KEYSH , se_w201_key+0 + .byte TEMPO , 200*se_w201_tbs/2 + .byte VOICE , 2 + .byte BENDR , 12 + .byte PAN , c_v-48 + .byte VOL , 11*se_w201_mvl/mxv + .byte BEND , c_v+0 + .byte TIE , En3 , v127 + .byte W03 + .byte VOL , 17*se_w201_mvl/mxv + .byte BEND , c_v+22 + .byte W02 + .byte c_v+8 + .byte W01 + .byte VOL , 24*se_w201_mvl/mxv + .byte W03 + .byte 32*se_w201_mvl/mxv + .byte BEND , c_v+0 + .byte W03 + .byte VOL , 52*se_w201_mvl/mxv + .byte W03 + .byte 65*se_w201_mvl/mxv + .byte W03 + .byte 76*se_w201_mvl/mxv + .byte W02 + .byte 88*se_w201_mvl/mxv + .byte PAN , c_v-43 + .byte W02 + .byte VOL , 98*se_w201_mvl/mxv + .byte W02 + .byte BEND , c_v+0 + .byte W02 + .byte VOL , 111*se_w201_mvl/mxv + .byte W01 + .byte BEND , c_v-7 + .byte W01 + .byte VOL , 127*se_w201_mvl/mxv + .byte W02 + .byte BEND , c_v-12 + .byte W02 + .byte PAN , c_v-38 + .byte W01 + .byte BEND , c_v-20 + .byte W06 + .byte c_v-13 + .byte W05 + .byte PAN , c_v-31 + .byte W01 + .byte BEND , c_v-6 + .byte W03 + .byte W03 + .byte c_v+6 + .byte W03 + .byte c_v+11 + .byte W03 + .byte c_v+20 + .byte W01 + .byte PAN , c_v-21 + .byte W05 + .byte BEND , c_v+12 + .byte W03 + .byte c_v+7 + .byte W06 + .byte PAN , c_v-16 + .byte BEND , c_v+0 + .byte W03 + .byte c_v-7 + .byte W03 + .byte c_v-12 + .byte W03 + .byte c_v-20 + .byte W06 + .byte PAN , c_v-7 + .byte BEND , c_v-13 + .byte W06 + .byte c_v-6 + .byte W03 + .byte c_v+0 + .byte W03 + .byte PAN , c_v+2 + .byte BEND , c_v+22 + .byte W02 + .byte c_v+8 + .byte W04 + .byte c_v+0 + .byte W05 + .byte PAN , c_v+10 + .byte W10 + .byte BEND , c_v+0 + .byte W01 + .byte PAN , c_v+16 + .byte W02 + .byte BEND , c_v-7 + .byte W03 + .byte c_v-12 + .byte W03 + .byte PAN , c_v+24 + .byte BEND , c_v-20 + .byte W06 + .byte c_v-13 + .byte W05 + .byte PAN , c_v+32 + .byte W01 + .byte BEND , c_v-6 + .byte W03 + .byte W03 + .byte c_v+6 + .byte W03 + .byte c_v+11 + .byte W03 + .byte c_v+20 + .byte W01 + .byte PAN , c_v+40 + .byte W05 + .byte BEND , c_v+12 + .byte W03 + .byte c_v+7 + .byte W04 + .byte VOL , 114*se_w201_mvl/mxv + .byte W02 + .byte BEND , c_v+0 + .byte W01 + .byte PAN , c_v+48 + .byte W01 + .byte VOL , 104*se_w201_mvl/mxv + .byte W01 + .byte BEND , c_v-7 + .byte W03 + .byte VOL , 93*se_w201_mvl/mxv + .byte BEND , c_v-12 + .byte W03 + .byte VOL , 82*se_w201_mvl/mxv + .byte BEND , c_v-20 + .byte W04 + .byte VOL , 67*se_w201_mvl/mxv + .byte W02 + .byte BEND , c_v-13 + .byte W01 + .byte VOL , 52*se_w201_mvl/mxv + .byte W03 + .byte 32*se_w201_mvl/mxv + .byte W02 + .byte 13*se_w201_mvl/mxv + .byte BEND , c_v-6 + .byte W03 + .byte EOT + .byte FINE + +@********************** Track 2 **********************@ + +se_w201_2: + .byte KEYSH , se_w201_key+0 + .byte VOICE , 57 + .byte PAN , c_v+0 + .byte VOL , 60*se_w201_mvl/mxv + .byte N03 , Cn3 , v100 + .byte W03 + .byte En3 , v080 + .byte W04 + .byte Dn3 + .byte W03 + .byte Cn3 , v100 + .byte W04 + .byte En3 , v080 + .byte W04 + .byte Dn3 + .byte W03 + .byte Cn3 , v100 + .byte W03 +se_w201_2_000: + .byte W01 + .byte N03 , En3 , v080 + .byte W03 + .byte Dn3 + .byte W04 + .byte Cn3 , v100 + .byte W04 + .byte En3 , v080 + .byte W03 + .byte Dn3 + .byte W04 + .byte Cn3 , v100 + .byte W03 + .byte En3 , v080 + .byte W02 + .byte PEND + .byte W02 + .byte Dn3 + .byte W04 + .byte Cn3 , v100 + .byte W03 + .byte En3 , v080 + .byte W04 + .byte Dn3 + .byte W03 + .byte Cn3 , v100 + .byte W04 + .byte En3 , v080 + .byte W04 + .byte Cn3 , v100 + .byte W03 + .byte En3 , v080 + .byte W04 + .byte Dn3 + .byte W03 + .byte Cn3 , v100 + .byte W04 + .byte En3 , v080 + .byte W04 + .byte Dn3 + .byte W03 + .byte Cn3 , v100 + .byte W03 + .byte PATT + .word se_w201_2_000 + .byte W02 + .byte N03 , Cn3 , v076 + .byte W04 + .byte En3 , v064 + .byte W03 + .byte Dn3 , v060 + .byte W04 + .byte Cn3 , v076 + .byte W03 + .byte En3 , v052 + .byte W04 + .byte Dn3 , v048 + .byte W04 + .byte Cn3 , v068 + .byte W03 + .byte En3 , v044 + .byte W04 + .byte Dn3 , v040 + .byte W03 + .byte Cn3 , v056 + .byte W04 + .byte En3 , v032 + .byte W04 + .byte Dn3 + .byte W03 + .byte Cn3 , v048 + .byte W03 + .byte W01 + .byte En3 , v024 + .byte W03 + .byte Dn3 , v020 + .byte W04 + .byte Cn3 , v036 + .byte W04 + .byte En3 , v016 + .byte W03 + .byte Dn3 , v012 + .byte W04 + .byte Cn3 , v028 + .byte W05 + .byte FINE + +@******************************************************@ + .align 2 + +se_w201: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w201_pri @ Priority + .byte se_w201_rev @ Reverb. + + .word se_w201_grp + + .word se_w201_1 + .word se_w201_2 + + .end diff --git a/sound/songs/se_w202.s b/sound/songs/se_w202.s new file mode 100644 index 0000000000..5ec79eac85 --- /dev/null +++ b/sound/songs/se_w202.s @@ -0,0 +1,81 @@ + .include "MPlayDef.s" + + .equ se_w202_grp, voicegroup_869D6F4 + .equ se_w202_pri, 4 + .equ se_w202_rev, reverb_set+50 + .equ se_w202_mvl, 127 + .equ se_w202_key, 0 + .equ se_w202_tbs, 1 + .equ se_w202_exg, 0 + .equ se_w202_cmp, 1 + + .section .rodata + .global se_w202 + .align 2 + +@********************** Track 1 **********************@ + +se_w202_1: + .byte KEYSH , se_w202_key+0 + .byte TEMPO , 150*se_w202_tbs/2 + .byte VOICE , 36 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_w202_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , Gn2 , v127 + .byte W02 + .byte PAN , c_v+3 + .byte BEND , c_v+2 + .byte W01 + .byte VOICE , 23 + .byte N02 , Cn3 , v104 + .byte W01 + .byte PAN , c_v-3 + .byte BEND , c_v+5 + .byte W02 + .byte VOICE , 36 + .byte N02 , Cn2 , v127 + .byte W01 + .byte PAN , c_v+7 + .byte W01 + .byte VOICE , 23 + .byte BEND , c_v+4 + .byte N06 , Cn3 , v104 + .byte W01 + .byte PAN , c_v-6 + .byte BEND , c_v+0 + .byte W01 + .byte c_v-5 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v-12 + .byte W01 + .byte c_v-23 + .byte W01 + .byte VOICE , 36 + .byte BEND , c_v+0 + .byte N03 , An2 , v100 + .byte W04 + .byte PAN , c_v+5 + .byte N03 , Bn2 , v076 + .byte W03 + .byte PAN , c_v-6 + .byte N02 , Cs3 , v040 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_w202: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w202_pri @ Priority + .byte se_w202_rev @ Reverb. + + .word se_w202_grp + + .word se_w202_1 + + .end diff --git a/sound/songs/se_w204.s b/sound/songs/se_w204.s new file mode 100644 index 0000000000..bda9a2c1f5 --- /dev/null +++ b/sound/songs/se_w204.s @@ -0,0 +1,96 @@ + .include "MPlayDef.s" + + .equ se_w204_grp, voicegroup_869D6F4 + .equ se_w204_pri, 4 + .equ se_w204_rev, reverb_set+50 + .equ se_w204_mvl, 127 + .equ se_w204_key, 0 + .equ se_w204_tbs, 1 + .equ se_w204_exg, 0 + .equ se_w204_cmp, 1 + + .section .rodata + .global se_w204 + .align 2 + +@********************** Track 1 **********************@ + +se_w204_1: + .byte KEYSH , se_w204_key+0 + .byte TEMPO , 150*se_w204_tbs/2 + .byte VOICE , 37 + .byte BENDR , 24 + .byte PAN , c_v+0 + .byte VOL , 25*se_w204_mvl/mxv + .byte BEND , c_v+11 + .byte N02 , Fn4 , v127 + .byte W01 + .byte VOL , 42*se_w204_mvl/mxv + .byte PAN , c_v+4 + .byte BEND , c_v+5 + .byte W01 + .byte VOL , 62*se_w204_mvl/mxv + .byte PAN , c_v-4 + .byte BEND , c_v+0 + .byte N15 + .byte W01 + .byte VOL , 77*se_w204_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+5 + .byte W01 + .byte VOL , 84*se_w204_mvl/mxv + .byte PAN , c_v+4 + .byte BEND , c_v+12 + .byte W02 + .byte VOL , 96*se_w204_mvl/mxv + .byte PAN , c_v-4 + .byte BEND , c_v+20 + .byte W01 + .byte VOL , 100*se_w204_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+25 + .byte W01 + .byte PAN , c_v+4 + .byte BEND , c_v+30 + .byte W01 + .byte PAN , c_v-4 + .byte BEND , c_v+34 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+40 + .byte W02 + .byte VOL , 94*se_w204_mvl/mxv + .byte PAN , c_v+4 + .byte W01 + .byte VOL , 85*se_w204_mvl/mxv + .byte PAN , c_v-4 + .byte BEND , c_v+37 + .byte W01 + .byte VOL , 66*se_w204_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+36 + .byte W01 + .byte VOL , 49*se_w204_mvl/mxv + .byte PAN , c_v+4 + .byte BEND , c_v+34 + .byte W01 + .byte VOL , 32*se_w204_mvl/mxv + .byte PAN , c_v-4 + .byte BEND , c_v+32 + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_w204: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w204_pri @ Priority + .byte se_w204_rev @ Reverb. + + .word se_w204_grp + + .word se_w204_1 + + .end diff --git a/sound/songs/se_w207.s b/sound/songs/se_w207.s new file mode 100644 index 0000000000..99bbd05edb --- /dev/null +++ b/sound/songs/se_w207.s @@ -0,0 +1,77 @@ + .include "MPlayDef.s" + + .equ se_w207_grp, voicegroup_869D6F4 + .equ se_w207_pri, 4 + .equ se_w207_rev, reverb_set+50 + .equ se_w207_mvl, 127 + .equ se_w207_key, 0 + .equ se_w207_tbs, 1 + .equ se_w207_exg, 0 + .equ se_w207_cmp, 1 + + .section .rodata + .global se_w207 + .align 2 + +@********************** Track 1 **********************@ + +se_w207_1: + .byte KEYSH , se_w207_key+0 + .byte TEMPO , 190*se_w207_tbs/2 + .byte VOICE , 2 + .byte BENDR , 8 + .byte PAN , c_v+0 + .byte VOL , 28*se_w207_mvl/mxv + .byte BEND , c_v+0 + .byte N15 , An1 , v127 + .byte W01 + .byte VOL , 60*se_w207_mvl/mxv + .byte W01 + .byte 111*se_w207_mvl/mxv + .byte W01 + .byte 120*se_w207_mvl/mxv + .byte W01 + .byte BEND , c_v-3 + .byte W02 + .byte PAN , c_v+5 + .byte BEND , c_v-6 + .byte W01 + .byte PAN , c_v-4 + .byte BEND , c_v-8 + .byte W01 + .byte VOL , 109*se_w207_mvl/mxv + .byte PAN , c_v+9 + .byte BEND , c_v-10 + .byte W01 + .byte PAN , c_v-9 + .byte BEND , c_v-14 + .byte W01 + .byte VOL , 95*se_w207_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-19 + .byte W02 + .byte VOL , 71*se_w207_mvl/mxv + .byte BEND , c_v-29 + .byte W01 + .byte VOL , 41*se_w207_mvl/mxv + .byte BEND , c_v-38 + .byte W01 + .byte VOL , 15*se_w207_mvl/mxv + .byte BEND , c_v-52 + .byte W04 + .byte FINE + +@******************************************************@ + .align 2 + +se_w207: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w207_pri @ Priority + .byte se_w207_rev @ Reverb. + + .word se_w207_grp + + .word se_w207_1 + + .end diff --git a/sound/songs/se_w207b.s b/sound/songs/se_w207b.s new file mode 100644 index 0000000000..9df74ae9b0 --- /dev/null +++ b/sound/songs/se_w207b.s @@ -0,0 +1,56 @@ + .include "MPlayDef.s" + + .equ se_w207b_grp, voicegroup_869D6F4 + .equ se_w207b_pri, 4 + .equ se_w207b_rev, reverb_set+50 + .equ se_w207b_mvl, 127 + .equ se_w207b_key, 0 + .equ se_w207b_tbs, 1 + .equ se_w207b_exg, 0 + .equ se_w207b_cmp, 1 + + .section .rodata + .global se_w207b + .align 2 + +@********************** Track 1 **********************@ + +se_w207b_1: + .byte KEYSH , se_w207b_key+0 + .byte TEMPO , 150*se_w207b_tbs/2 + .byte VOICE , 56 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 65*se_w207b_mvl/mxv + .byte BEND , c_v+8 + .byte N01 , Cs6 , v112 + .byte W01 + .byte BEND , c_v+0 + .byte N01 , Dn6 , v100 + .byte W01 + .byte Dn6 , v060 + .byte W04 + .byte BEND , c_v-8 + .byte N01 , Ds6 , v112 + .byte W01 + .byte BEND , c_v+0 + .byte N01 , En6 , v100 + .byte W01 + .byte En6 , v060 + .byte W04 + .byte FINE + +@******************************************************@ + .align 2 + +se_w207b: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w207b_pri @ Priority + .byte se_w207b_rev @ Reverb. + + .word se_w207b_grp + + .word se_w207b_1 + + .end diff --git a/sound/songs/se_w208.s b/sound/songs/se_w208.s new file mode 100644 index 0000000000..fb4c2fd1bb --- /dev/null +++ b/sound/songs/se_w208.s @@ -0,0 +1,129 @@ + .include "MPlayDef.s" + + .equ se_w208_grp, voicegroup_869D6F4 + .equ se_w208_pri, 4 + .equ se_w208_rev, reverb_set+50 + .equ se_w208_mvl, 127 + .equ se_w208_key, 0 + .equ se_w208_tbs, 1 + .equ se_w208_exg, 0 + .equ se_w208_cmp, 1 + + .section .rodata + .global se_w208 + .align 2 + +@********************** Track 1 **********************@ + +se_w208_1: + .byte KEYSH , se_w208_key+0 + .byte TEMPO , 180*se_w208_tbs/2 + .byte VOICE , 16 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 100*se_w208_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , An6 , v100 + .byte W01 + .byte BEND , c_v-11 + .byte W01 + .byte PAN , c_v+5 + .byte VOL , 90*se_w208_mvl/mxv + .byte BEND , c_v-20 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 77*se_w208_mvl/mxv + .byte BEND , c_v-37 + .byte W01 + .byte PAN , c_v+0 + .byte VOL , 37*se_w208_mvl/mxv + .byte BEND , c_v-47 + .byte W02 + .byte N02 , An6 , v056 + .byte W01 + .byte PAN , c_v+5 + .byte W01 + .byte c_v-6 + .byte VOL , 100*se_w208_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , An6 , v100 + .byte W01 + .byte PAN , c_v+8 + .byte BEND , c_v-11 + .byte W01 + .byte PAN , c_v-10 + .byte VOL , 90*se_w208_mvl/mxv + .byte BEND , c_v-20 + .byte W02 + .byte PAN , c_v+1 + .byte VOL , 77*se_w208_mvl/mxv + .byte BEND , c_v-37 + .byte W01 + .byte PAN , c_v+5 + .byte VOL , 37*se_w208_mvl/mxv + .byte BEND , c_v-47 + .byte W01 + .byte PAN , c_v-6 + .byte N02 , An6 , v056 + .byte W01 + .byte PAN , c_v+8 + .byte W01 + .byte c_v-10 + .byte VOL , 100*se_w208_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , An6 , v072 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v-11 + .byte W01 + .byte PAN , c_v+5 + .byte VOL , 90*se_w208_mvl/mxv + .byte BEND , c_v-20 + .byte W01 + .byte PAN , c_v-6 + .byte VOL , 77*se_w208_mvl/mxv + .byte BEND , c_v-37 + .byte W01 + .byte PAN , c_v+8 + .byte VOL , 37*se_w208_mvl/mxv + .byte BEND , c_v-47 + .byte W01 + .byte PAN , c_v-10 + .byte W02 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_w208_2: + .byte KEYSH , se_w208_key+0 + .byte VOICE , 53 + .byte VOL , 100*se_w208_mvl/mxv + .byte W02 + .byte N06 , Fs6 , v040 + .byte W04 + .byte W04 + .byte N06 + .byte W02 + .byte W06 + .byte W01 + .byte Fs6 , v032 + .byte W05 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_w208: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w208_pri @ Priority + .byte se_w208_rev @ Reverb. + + .word se_w208_grp + + .word se_w208_1 + .word se_w208_2 + + .end diff --git a/sound/songs/se_w213.s b/sound/songs/se_w213.s new file mode 100644 index 0000000000..c8a6bc45ee --- /dev/null +++ b/sound/songs/se_w213.s @@ -0,0 +1,126 @@ + .include "MPlayDef.s" + + .equ se_w213_grp, voicegroup_869D6F4 + .equ se_w213_pri, 4 + .equ se_w213_rev, reverb_set+50 + .equ se_w213_mvl, 127 + .equ se_w213_key, 0 + .equ se_w213_tbs, 1 + .equ se_w213_exg, 0 + .equ se_w213_cmp, 1 + + .section .rodata + .global se_w213 + .align 2 + +@********************** Track 1 **********************@ + +se_w213_1: + .byte KEYSH , se_w213_key+0 + .byte TEMPO , 210*se_w213_tbs/2 + .byte VOICE , 46 + .byte VOL , 95*se_w213_mvl/mxv + .byte BENDR , 2 + .byte PAN , c_v+0 + .byte BEND , c_v+15 + .byte W03 + .byte N06 , Cn6 , v116 + .byte W03 + .byte W03 + .byte En6 , v108 + .byte W03 + .byte W03 + .byte Cs5 , v100 + .byte W03 + .byte W03 + .byte Gs5 , v088 + .byte W03 + .byte W03 + .byte PAN , c_v-4 + .byte N06 , Cs6 , v080 + .byte W03 + .byte W03 + .byte PAN , c_v+0 + .byte N06 , Dn6 , v072 + .byte W03 + .byte W03 + .byte PAN , c_v+4 + .byte N06 , Fs6 , v060 + .byte W03 + .byte W03 + .byte PAN , c_v+0 + .byte N06 , Ds5 , v052 + .byte W03 + .byte W03 + .byte PAN , c_v-4 + .byte N06 , As5 , v040 + .byte W03 + .byte W03 + .byte PAN , c_v+0 + .byte W03 + .byte W03 + .byte c_v+4 + .byte W03 + .byte W03 + .byte c_v+0 + .byte FINE + +@********************** Track 2 **********************@ + +se_w213_2: + .byte KEYSH , se_w213_key+0 + .byte VOICE , 53 + .byte BENDR , 2 + .byte VOL , 43*se_w213_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+15 + .byte N06 , Cn5 , v120 + .byte W03 + .byte W03 + .byte Gn5 , v112 + .byte W03 + .byte W03 + .byte Cn6 , v104 + .byte W03 + .byte W03 + .byte Cs6 , v092 + .byte W03 + .byte W03 + .byte Fn6 , v084 + .byte W03 + .byte W03 + .byte Dn5 , v076 + .byte W03 + .byte W03 + .byte An5 , v064 + .byte W03 + .byte W03 + .byte Dn6 , v056 + .byte W03 + .byte W03 + .byte Ds6 , v048 + .byte W03 + .byte W03 + .byte Gn6 , v036 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_w213: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w213_pri @ Priority + .byte se_w213_rev @ Reverb. + + .word se_w213_grp + + .word se_w213_1 + .word se_w213_2 + + .end diff --git a/sound/songs/se_w213b.s b/sound/songs/se_w213b.s new file mode 100644 index 0000000000..c0d3dfe4ae --- /dev/null +++ b/sound/songs/se_w213b.s @@ -0,0 +1,127 @@ + .include "MPlayDef.s" + + .equ se_w213b_grp, voicegroup_869D6F4 + .equ se_w213b_pri, 4 + .equ se_w213b_rev, reverb_set+50 + .equ se_w213b_mvl, 127 + .equ se_w213b_key, 0 + .equ se_w213b_tbs, 1 + .equ se_w213b_exg, 0 + .equ se_w213b_cmp, 1 + + .section .rodata + .global se_w213b + .align 2 + +@********************** Track 1 **********************@ + +se_w213b_1: + .byte KEYSH , se_w213b_key+0 + .byte TEMPO , 150*se_w213b_tbs/2 + .byte VOICE , 61 + .byte BENDR , 44 + .byte PAN , c_v+0 + .byte VOL , 110*se_w213b_mvl/mxv + .byte MOD , 30 + .byte BEND , c_v+2 + .byte N54 , Dn4 , v080 + .byte W12 + .byte PAN , c_v-4 + .byte W12 + .byte c_v-10 + .byte W12 + .byte c_v-4 + .byte W12 + .byte c_v+0 + .byte W06 + .byte N54 , Cn4 + .byte W06 + .byte PAN , c_v+6 + .byte W12 + .byte c_v+9 + .byte W12 + .byte c_v+5 + .byte W12 + .byte c_v+0 + .byte W12 + .byte c_v-4 + .byte N54 , Dn4 + .byte W12 + .byte PAN , c_v-10 + .byte W12 + .byte c_v-4 + .byte W12 + .byte c_v+0 + .byte W12 + .byte c_v+6 + .byte W06 + .byte N54 , Cn4 + .byte W06 + .byte PAN , c_v+9 + .byte W12 + .byte c_v+5 + .byte W12 + .byte c_v+0 + .byte W12 + .byte c_v-4 + .byte W12 + .byte FINE + +@********************** Track 2 **********************@ + +se_w213b_2: + .byte KEYSH , se_w213b_key+0 + .byte VOICE , 62 + .byte BENDR , 44 + .byte VOL , 110*se_w213b_mvl/mxv + .byte MOD , 30 + .byte PAN , c_v+1 + .byte BEND , c_v+1 + .byte N24 , Dn4 , v040 + .byte W24 + .byte W02 + .byte PAN , c_v+47 + .byte N24 , Dn4 , v032 + .byte W22 + .byte W06 + .byte PAN , c_v+0 + .byte N24 , Cn4 , v040 + .byte W18 + .byte W08 + .byte PAN , c_v-49 + .byte N24 , Cn4 , v032 + .byte W16 + .byte W12 + .byte PAN , c_v+1 + .byte N24 , Dn4 , v040 + .byte W12 + .byte W14 + .byte PAN , c_v+47 + .byte N24 , Dn4 , v032 + .byte W10 + .byte W18 + .byte PAN , c_v+0 + .byte N24 , Cn4 , v040 + .byte W06 + .byte W20 + .byte PAN , c_v-48 + .byte N24 , Cn4 , v032 + .byte W04 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_w213b: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w213b_pri @ Priority + .byte se_w213b_rev @ Reverb. + + .word se_w213b_grp + + .word se_w213b_1 + .word se_w213b_2 + + .end diff --git a/sound/songs/se_w215.s b/sound/songs/se_w215.s new file mode 100644 index 0000000000..3682396428 --- /dev/null +++ b/sound/songs/se_w215.s @@ -0,0 +1,83 @@ + .include "MPlayDef.s" + + .equ se_w215_grp, voicegroup_869D6F4 + .equ se_w215_pri, 4 + .equ se_w215_rev, reverb_set+50 + .equ se_w215_mvl, 127 + .equ se_w215_key, 0 + .equ se_w215_tbs, 1 + .equ se_w215_exg, 0 + .equ se_w215_cmp, 1 + + .section .rodata + .global se_w215 + .align 2 + +@********************** Track 1 **********************@ + +se_w215_1: + .byte KEYSH , se_w215_key+0 + .byte TEMPO , 150*se_w215_tbs/2 + .byte VOICE , 51 + .byte BENDR , 2 + .byte PAN , c_v+0 + .byte VOL , 90*se_w215_mvl/mxv + .byte BEND , c_v+4 + .byte N03 , As5 , v100 + .byte W01 + .byte PAN , c_v-13 + .byte W01 + .byte c_v+11 + .byte W01 + .byte c_v+1 + .byte N01 , An5 + .byte W01 + .byte MOD , 7 + .byte N18 , Bn5 + .byte W02 + .byte PAN , c_v+11 + .byte W01 + .byte MOD , 0 + .byte PAN , c_v-14 + .byte W01 + .byte c_v+11 + .byte W01 + .byte c_v-13 + .byte W01 + .byte c_v+11 + .byte W02 + .byte c_v-14 + .byte W01 + .byte c_v+11 + .byte W01 + .byte c_v-13 + .byte W01 + .byte c_v+11 + .byte W01 + .byte MOD , 7 + .byte PAN , c_v-14 + .byte W02 + .byte c_v+11 + .byte W01 + .byte c_v-14 + .byte W01 + .byte c_v+11 + .byte W01 + .byte c_v-13 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_w215: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w215_pri @ Priority + .byte se_w215_rev @ Reverb. + + .word se_w215_grp + + .word se_w215_1 + + .end diff --git a/sound/songs/se_w221.s b/sound/songs/se_w221.s new file mode 100644 index 0000000000..f336673099 --- /dev/null +++ b/sound/songs/se_w221.s @@ -0,0 +1,105 @@ + .include "MPlayDef.s" + + .equ se_w221_grp, voicegroup_869D6F4 + .equ se_w221_pri, 4 + .equ se_w221_rev, reverb_set+50 + .equ se_w221_mvl, 127 + .equ se_w221_key, 0 + .equ se_w221_tbs, 1 + .equ se_w221_exg, 0 + .equ se_w221_cmp, 1 + + .section .rodata + .global se_w221 + .align 2 + +@********************** Track 1 **********************@ + +se_w221_1: + .byte KEYSH , se_w221_key+0 + .byte TEMPO , 150*se_w221_tbs/2 + .byte VOICE , 29 + .byte BENDR , 12 + .byte VOL , 110*se_w221_mvl/mxv + .byte PAN , c_v+5 + .byte BEND , c_v+0 + .byte N04 , Cn3 , v127 + .byte W03 + .byte PAN , c_v+0 + .byte W01 + .byte N18 , Gn4 + .byte W02 + .byte PAN , c_v-5 + .byte W01 + .byte VOL , 98*se_w221_mvl/mxv + .byte BEND , c_v+2 + .byte W02 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 83*se_w221_mvl/mxv + .byte BEND , c_v+6 + .byte W02 + .byte PAN , c_v+5 + .byte W01 + .byte BEND , c_v+9 + .byte W01 + .byte VOL , 63*se_w221_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte W01 + .byte BEND , c_v+13 + .byte W02 + .byte VOL , 44*se_w221_mvl/mxv + .byte PAN , c_v-5 + .byte W02 + .byte VOL , 28*se_w221_mvl/mxv + .byte BEND , c_v+20 + .byte W01 + .byte PAN , c_v-2 + .byte W01 + .byte VOL , 12*se_w221_mvl/mxv + .byte W02 + .byte FINE + +@********************** Track 2 **********************@ + +se_w221_2: + .byte KEYSH , se_w221_key+0 + .byte VOICE , 27 + .byte PAN , c_v+0 + .byte VOL , 110*se_w221_mvl/mxv + .byte N01 , Gn2 , v032 + .byte W02 + .byte N01 + .byte W02 + .byte N18 + .byte W03 + .byte VOL , 98*se_w221_mvl/mxv + .byte W03 + .byte 83*se_w221_mvl/mxv + .byte W04 + .byte 63*se_w221_mvl/mxv + .byte W04 + .byte 44*se_w221_mvl/mxv + .byte W02 + .byte 28*se_w221_mvl/mxv + .byte W02 + .byte 12*se_w221_mvl/mxv + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_w221: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w221_pri @ Priority + .byte se_w221_rev @ Reverb. + + .word se_w221_grp + + .word se_w221_1 + .word se_w221_2 + + .end diff --git a/sound/songs/se_w221b.s b/sound/songs/se_w221b.s new file mode 100644 index 0000000000..7a96cf1de4 --- /dev/null +++ b/sound/songs/se_w221b.s @@ -0,0 +1,180 @@ + .include "MPlayDef.s" + + .equ se_w221b_grp, voicegroup_869D6F4 + .equ se_w221b_pri, 4 + .equ se_w221b_rev, reverb_set+50 + .equ se_w221b_mvl, 127 + .equ se_w221b_key, 0 + .equ se_w221b_tbs, 1 + .equ se_w221b_exg, 0 + .equ se_w221b_cmp, 1 + + .section .rodata + .global se_w221b + .align 2 + +@********************** Track 1 **********************@ + +se_w221b_1: + .byte KEYSH , se_w221b_key+0 + .byte TEMPO , 150*se_w221b_tbs/2 + .byte VOICE , 29 + .byte BENDR , 12 + .byte VOL , 22*se_w221b_mvl/mxv + .byte PAN , c_v+5 + .byte BEND , c_v+0 + .byte N96 , Gn3 , v127 + .byte W01 + .byte VOL , 49*se_w221b_mvl/mxv + .byte W01 + .byte 71*se_w221b_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte VOL , 95*se_w221b_mvl/mxv + .byte BEND , c_v+8 + .byte W01 + .byte VOL , 110*se_w221b_mvl/mxv + .byte W02 + .byte PAN , c_v-5 + .byte BEND , c_v+16 + .byte W03 + .byte VOL , 97*se_w221b_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+7 + .byte W03 + .byte PAN , c_v+5 + .byte BEND , c_v+0 + .byte W01 + .byte VOL , 84*se_w221b_mvl/mxv + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v-9 + .byte W03 + .byte VOL , 76*se_w221b_mvl/mxv + .byte PAN , c_v-5 + .byte BEND , c_v-24 + .byte W03 + .byte PAN , c_v-2 + .byte BEND , c_v-46 + .byte W03 + .byte VOL , 84*se_w221b_mvl/mxv + .byte PAN , c_v+5 + .byte W03 + .byte c_v+0 + .byte W01 + .byte VOL , 92*se_w221b_mvl/mxv + .byte W02 + .byte PAN , c_v-5 + .byte W01 + .byte BEND , c_v-32 + .byte W02 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 86*se_w221b_mvl/mxv + .byte W02 + .byte PAN , c_v+5 + .byte W02 + .byte BEND , c_v-18 + .byte W01 + .byte VOL , 78*se_w221b_mvl/mxv + .byte PAN , c_v+0 + .byte W03 + .byte c_v-5 + .byte W02 + .byte VOL , 71*se_w221b_mvl/mxv + .byte W01 + .byte PAN , c_v-2 + .byte W03 + .byte c_v+5 + .byte W03 + .byte c_v+0 + .byte VOL , 78*se_w221b_mvl/mxv + .byte W03 + .byte PAN , c_v-5 + .byte W02 + .byte VOL , 86*se_w221b_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte W03 + .byte c_v+5 + .byte W02 + .byte VOL , 90*se_w221b_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte W03 + .byte c_v-5 + .byte W03 + .byte c_v-2 + .byte W01 + .byte VOL , 80*se_w221b_mvl/mxv + .byte W02 + .byte PAN , c_v+5 + .byte W03 + .byte c_v+0 + .byte W01 + .byte VOL , 86*se_w221b_mvl/mxv + .byte W02 + .byte PAN , c_v-5 + .byte W03 + .byte c_v+0 + .byte VOL , 83*se_w221b_mvl/mxv + .byte W03 + .byte PAN , c_v+5 + .byte VOL , 63*se_w221b_mvl/mxv + .byte W03 + .byte 37*se_w221b_mvl/mxv + .byte PAN , c_v+0 + .byte W03 + .byte c_v-5 + .byte VOL , 13*se_w221b_mvl/mxv + .byte W03 + .byte PAN , c_v-2 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_w221b_2: + .byte KEYSH , se_w221b_key+0 + .byte VOICE , 27 + .byte VOL , 22*se_w221b_mvl/mxv + .byte N96 , Gn2 , v032 + .byte W01 + .byte VOL , 49*se_w221b_mvl/mxv + .byte W01 + .byte 71*se_w221b_mvl/mxv + .byte W01 + .byte 95*se_w221b_mvl/mxv + .byte W01 + .byte 110*se_w221b_mvl/mxv + .byte W05 + .byte 97*se_w221b_mvl/mxv + .byte W15 + .byte W24 + .byte W24 + .byte W09 + .byte 83*se_w221b_mvl/mxv + .byte W03 + .byte 63*se_w221b_mvl/mxv + .byte W03 + .byte 37*se_w221b_mvl/mxv + .byte W03 + .byte 13*se_w221b_mvl/mxv + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_w221b: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w221b_pri @ Priority + .byte se_w221b_rev @ Reverb. + + .word se_w221b_grp + + .word se_w221b_1 + .word se_w221b_2 + + .end diff --git a/sound/songs/se_w226.s b/sound/songs/se_w226.s new file mode 100644 index 0000000000..afa9e09193 --- /dev/null +++ b/sound/songs/se_w226.s @@ -0,0 +1,169 @@ + .include "MPlayDef.s" + + .equ se_w226_grp, voicegroup_869D6F4 + .equ se_w226_pri, 4 + .equ se_w226_rev, reverb_set+50 + .equ se_w226_mvl, 127 + .equ se_w226_key, 0 + .equ se_w226_tbs, 1 + .equ se_w226_exg, 0 + .equ se_w226_cmp, 1 + + .section .rodata + .global se_w226 + .align 2 + +@********************** Track 1 **********************@ + +se_w226_1: + .byte KEYSH , se_w226_key+0 + .byte VOICE , 19 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 12*se_w226_mvl/mxv + .byte BEND , c_v+49 + .byte N06 , Gn4 , v080 + .byte W01 + .byte VOL , 44*se_w226_mvl/mxv + .byte BEND , c_v+22 + .byte W01 + .byte VOL , 62*se_w226_mvl/mxv + .byte PAN , c_v+8 + .byte VOL , 75*se_w226_mvl/mxv + .byte BEND , c_v+20 + .byte W01 + .byte VOL , 87*se_w226_mvl/mxv + .byte BEND , c_v+33 + .byte W01 + .byte VOL , 96*se_w226_mvl/mxv + .byte PAN , c_v-7 + .byte VOL , 100*se_w226_mvl/mxv + .byte BEND , c_v+54 + .byte W01 + .byte c_v+63 + .byte W01 + .byte W02 + .byte PAN , c_v+0 + .byte N04 , Gn4 , v040 + .byte W01 + .byte W03 + .byte W03 + .byte VOICE , 45 + .byte MOD , 30 + .byte BENDR , 24 + .byte VOL , 54*se_w226_mvl/mxv + .byte BEND , c_v+0 + .byte N06 , Gn3 , v108 + .byte W01 + .byte VOL , 70*se_w226_mvl/mxv + .byte BEND , c_v+4 + .byte W01 + .byte PAN , c_v+5 + .byte VOL , 80*se_w226_mvl/mxv + .byte BEND , c_v+9 + .byte W01 + .byte VOL , 100*se_w226_mvl/mxv + .byte BEND , c_v+16 + .byte W01 + .byte c_v+24 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+2 + .byte N06 , An3 , v100 + .byte W01 + .byte BEND , c_v+7 + .byte W01 + .byte PAN , c_v-4 + .byte BEND , c_v+12 + .byte W01 + .byte c_v+18 + .byte W01 + .byte c_v+27 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+4 + .byte N06 , Bn3 , v060 + .byte W01 + .byte BEND , c_v+9 + .byte W01 + .byte PAN , c_v+6 + .byte BEND , c_v+14 + .byte W01 + .byte c_v+20 + .byte W01 + .byte c_v+29 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+6 + .byte N06 , Cn4 , v040 + .byte W01 + .byte BEND , c_v+11 + .byte W01 + .byte PAN , c_v-6 + .byte BEND , c_v+15 + .byte W01 + .byte c_v+22 + .byte W01 + .byte c_v+31 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+9 + .byte N06 , Dn4 , v020 + .byte W01 + .byte BEND , c_v+14 + .byte W01 + .byte PAN , c_v+8 + .byte BEND , c_v+18 + .byte W01 + .byte c_v+25 + .byte W01 + .byte c_v+34 + .byte W02 + .byte FINE + +@********************** Track 2 **********************@ + +se_w226_2: + .byte KEYSH , se_w226_key+0 + .byte VOICE , 57 + .byte VOL , 59*se_w226_mvl/mxv + .byte N06 , Gs4 , v052 + .byte W01 + .byte VOL , 72*se_w226_mvl/mxv + .byte W01 + .byte 90*se_w226_mvl/mxv + .byte W01 + .byte 100*se_w226_mvl/mxv + .byte W03 + .byte W02 + .byte N04 , Gs4 , v024 + .byte W01 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_w226: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w226_pri @ Priority + .byte se_w226_rev @ Reverb. + + .word se_w226_grp + + .word se_w226_1 + .word se_w226_2 + + .end diff --git a/sound/songs/se_w227.s b/sound/songs/se_w227.s new file mode 100644 index 0000000000..523acfbb92 --- /dev/null +++ b/sound/songs/se_w227.s @@ -0,0 +1,58 @@ + .include "MPlayDef.s" + + .equ se_w227_grp, voicegroup_869D6F4 + .equ se_w227_pri, 4 + .equ se_w227_rev, reverb_set+50 + .equ se_w227_mvl, 127 + .equ se_w227_key, 0 + .equ se_w227_tbs, 1 + .equ se_w227_exg, 0 + .equ se_w227_cmp, 1 + + .section .rodata + .global se_w227 + .align 2 + +@********************** Track 1 **********************@ + +se_w227_1: + .byte KEYSH , se_w227_key+0 + .byte TEMPO , 150*se_w227_tbs/2 + .byte VOICE , 59 + .byte BENDR , 12 + .byte VOL , 110*se_w227_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N06 , En3 , v127 + .byte W01 + .byte PAN , c_v+8 + .byte W01 + .byte c_v-9 + .byte W01 + .byte c_v+14 + .byte W01 + .byte c_v-10 + .byte W02 + .byte c_v+0 + .byte N03 , An3 , v048 + .byte W01 + .byte PAN , c_v+16 + .byte W01 + .byte c_v-16 + .byte W04 + .byte FINE + +@******************************************************@ + .align 2 + +se_w227: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w227_pri @ Priority + .byte se_w227_rev @ Reverb. + + .word se_w227_grp + + .word se_w227_1 + + .end diff --git a/sound/songs/se_w227b.s b/sound/songs/se_w227b.s new file mode 100644 index 0000000000..915e5d544a --- /dev/null +++ b/sound/songs/se_w227b.s @@ -0,0 +1,173 @@ + .include "MPlayDef.s" + + .equ se_w227b_grp, voicegroup_869D6F4 + .equ se_w227b_pri, 4 + .equ se_w227b_rev, reverb_set+50 + .equ se_w227b_mvl, 127 + .equ se_w227b_key, 0 + .equ se_w227b_tbs, 1 + .equ se_w227b_exg, 0 + .equ se_w227b_cmp, 1 + + .section .rodata + .global se_w227b + .align 2 + +@********************** Track 1 **********************@ + +se_w227b_1: + .byte KEYSH , se_w227b_key+0 + .byte TEMPO , 150*se_w227b_tbs/2 + .byte VOICE , 60 + .byte BENDR , 12 + .byte VOL , 25*se_w227b_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte TIE , Cn3 , v127 + .byte W01 + .byte PAN , c_v+2 + .byte W01 + .byte c_v+5 + .byte W01 + .byte VOL , 34*se_w227b_mvl/mxv + .byte W01 + .byte PAN , c_v+2 + .byte W02 + .byte c_v+0 + .byte W01 + .byte VOL , 46*se_w227b_mvl/mxv + .byte PAN , c_v-2 + .byte W01 + .byte c_v-4 + .byte W02 + .byte VOL , 56*se_w227b_mvl/mxv + .byte PAN , c_v-2 + .byte W02 + .byte c_v+0 + .byte W01 + .byte c_v+2 + .byte W01 + .byte c_v+5 + .byte W01 + .byte VOL , 70*se_w227b_mvl/mxv + .byte W01 + .byte PAN , c_v+2 + .byte W02 + .byte c_v+0 + .byte W01 + .byte VOL , 80*se_w227b_mvl/mxv + .byte PAN , c_v-2 + .byte W01 + .byte c_v-4 + .byte W02 + .byte VOL , 88*se_w227b_mvl/mxv + .byte PAN , c_v-2 + .byte W02 + .byte c_v+0 + .byte W01 + .byte c_v+2 + .byte W01 + .byte VOL , 96*se_w227b_mvl/mxv + .byte PAN , c_v+5 + .byte W02 + .byte c_v+2 + .byte W02 + .byte VOL , 100*se_w227b_mvl/mxv + .byte PAN , c_v+0 + .byte W01 + .byte c_v-2 + .byte W01 + .byte c_v-4 + .byte W02 + .byte c_v-2 + .byte W02 +se_w227b_1_000: + .byte PAN , c_v+0 + .byte W01 + .byte c_v+2 + .byte W01 + .byte c_v+5 + .byte W02 + .byte c_v+2 + .byte W02 + .byte c_v+0 + .byte W01 + .byte c_v-2 + .byte W01 + .byte c_v-4 + .byte W02 + .byte c_v-2 + .byte W02 + .byte PEND + .byte PATT + .word se_w227b_1_000 + .byte PATT + .word se_w227b_1_000 + .byte PATT + .word se_w227b_1_000 + .byte PATT + .word se_w227b_1_000 + .byte PATT + .word se_w227b_1_000 + .byte PATT + .word se_w227b_1_000 + .byte VOL , 96*se_w227b_mvl/mxv + .byte PAN , c_v+0 + .byte W01 + .byte c_v+2 + .byte W01 + .byte c_v+5 + .byte W01 + .byte VOL , 92*se_w227b_mvl/mxv + .byte W01 + .byte PAN , c_v+2 + .byte W02 + .byte c_v+0 + .byte W01 + .byte VOL , 84*se_w227b_mvl/mxv + .byte PAN , c_v-2 + .byte W01 + .byte c_v-4 + .byte W02 + .byte VOL , 72*se_w227b_mvl/mxv + .byte PAN , c_v-2 + .byte W02 + .byte c_v+0 + .byte W01 + .byte c_v+2 + .byte W01 + .byte VOL , 63*se_w227b_mvl/mxv + .byte PAN , c_v+5 + .byte W02 + .byte VOL , 52*se_w227b_mvl/mxv + .byte PAN , c_v+2 + .byte W02 + .byte c_v+0 + .byte W01 + .byte VOL , 37*se_w227b_mvl/mxv + .byte PAN , c_v-2 + .byte W01 + .byte c_v-4 + .byte W01 + .byte VOL , 22*se_w227b_mvl/mxv + .byte W01 + .byte 12*se_w227b_mvl/mxv + .byte PAN , c_v-2 + .byte W02 + .byte EOT , Cn3 + .byte FINE + +@******************************************************@ + .align 2 + +se_w227b: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w227b_pri @ Priority + .byte se_w227b_rev @ Reverb. + + .word se_w227b_grp + + .word se_w227b_1 + + .end diff --git a/sound/songs/se_w230.s b/sound/songs/se_w230.s new file mode 100644 index 0000000000..4c339d0ebe --- /dev/null +++ b/sound/songs/se_w230.s @@ -0,0 +1,192 @@ + .include "MPlayDef.s" + + .equ se_w230_grp, voicegroup_869D6F4 + .equ se_w230_pri, 4 + .equ se_w230_rev, reverb_set+50 + .equ se_w230_mvl, 127 + .equ se_w230_key, 0 + .equ se_w230_tbs, 1 + .equ se_w230_exg, 0 + .equ se_w230_cmp, 1 + + .section .rodata + .global se_w230 + .align 2 + +@********************** Track 1 **********************@ + +se_w230_1: + .byte KEYSH , se_w230_key+0 + .byte TEMPO , 150*se_w230_tbs/2 + .byte VOICE , 61 + .byte BENDR , 44 + .byte PAN , c_v+0 + .byte VOL , 110*se_w230_mvl/mxv + .byte BEND , c_v+2 + .byte N36 , En3 , v096 + .byte W12 + .byte PAN , c_v-4 + .byte BEND , c_v+2 + .byte W12 + .byte PAN , c_v-10 + .byte BEND , c_v+4 + .byte W12 + .byte PAN , c_v-4 + .byte BEND , c_v+5 + .byte N36 , Fn3 + .byte W12 + .byte PAN , c_v+0 + .byte BEND , c_v+6 + .byte W12 + .byte PAN , c_v+6 + .byte BEND , c_v+7 + .byte W12 + .byte PAN , c_v+9 + .byte BEND , c_v+8 + .byte N36 , En3 , v088 + .byte W12 + .byte PAN , c_v+5 + .byte BEND , c_v+8 + .byte W12 + .byte PAN , c_v+0 + .byte BEND , c_v+9 + .byte W12 + .byte PAN , c_v-4 + .byte BEND , c_v+10 + .byte N60 , Fs3 , v056 + .byte W12 + .byte PAN , c_v-10 + .byte BEND , c_v+11 + .byte W12 + .byte PAN , c_v-4 + .byte BEND , c_v+12 + .byte W04 + .byte VOL , 103*se_w230_mvl/mxv + .byte W04 + .byte 97*se_w230_mvl/mxv + .byte W04 + .byte PAN , c_v+0 + .byte BEND , c_v+12 + .byte W01 + .byte VOL , 91*se_w230_mvl/mxv + .byte W05 + .byte 81*se_w230_mvl/mxv + .byte W03 + .byte 72*se_w230_mvl/mxv + .byte W03 + .byte PAN , c_v+6 + .byte BEND , c_v+13 + .byte W01 + .byte VOL , 62*se_w230_mvl/mxv + .byte W02 + .byte 51*se_w230_mvl/mxv + .byte W03 + .byte 39*se_w230_mvl/mxv + .byte W02 + .byte 24*se_w230_mvl/mxv + .byte W02 + .byte 12*se_w230_mvl/mxv + .byte W02 + .byte FINE + +@********************** Track 2 **********************@ + +se_w230_2: + .byte KEYSH , se_w230_key+0 + .byte VOICE , 22 + .byte BENDR , 44 + .byte PAN , c_v+1 + .byte VOL , 38*se_w230_mvl/mxv + .byte BEND , c_v+1 + .byte TIE , Gn3 , v100 + .byte W03 + .byte VOL , 50*se_w230_mvl/mxv + .byte W04 + .byte 62*se_w230_mvl/mxv + .byte W02 + .byte BEND , c_v-1 + .byte W01 + .byte VOL , 65*se_w230_mvl/mxv + .byte W04 + .byte 74*se_w230_mvl/mxv + .byte W04 + .byte 78*se_w230_mvl/mxv + .byte BEND , c_v-2 + .byte W03 + .byte VOL , 86*se_w230_mvl/mxv + .byte W03 + .byte 95*se_w230_mvl/mxv + .byte W03 + .byte 105*se_w230_mvl/mxv + .byte W01 + .byte BEND , c_v-4 + .byte W03 + .byte VOL , 110*se_w230_mvl/mxv + .byte W13 + .byte BEND , c_v-2 + .byte W04 + .byte W10 + .byte c_v-1 + .byte W10 + .byte c_v+0 + .byte W04 + .byte W03 + .byte c_v+1 + .byte W10 + .byte c_v+1 + .byte W11 + .byte W02 + .byte c_v+2 + .byte W14 + .byte c_v+3 + .byte W08 + .byte VOL , 105*se_w230_mvl/mxv + .byte W03 + .byte 101*se_w230_mvl/mxv + .byte W05 + .byte 96*se_w230_mvl/mxv + .byte W04 + .byte BEND , c_v+2 + .byte W01 + .byte VOL , 91*se_w230_mvl/mxv + .byte W03 + .byte 86*se_w230_mvl/mxv + .byte W05 + .byte 78*se_w230_mvl/mxv + .byte W03 + .byte W02 + .byte 68*se_w230_mvl/mxv + .byte W01 + .byte BEND , c_v+1 + .byte W04 + .byte VOL , 58*se_w230_mvl/mxv + .byte W03 + .byte 48*se_w230_mvl/mxv + .byte W04 + .byte 37*se_w230_mvl/mxv + .byte BEND , c_v+0 + .byte W04 + .byte VOL , 23*se_w230_mvl/mxv + .byte W01 + .byte BEND , c_v-1 + .byte W02 + .byte VOL , 12*se_w230_mvl/mxv + .byte W03 + .byte EOT + .byte FINE + +@******************************************************@ + .align 2 + +se_w230: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w230_pri @ Priority + .byte se_w230_rev @ Reverb. + + .word se_w230_grp + + .word se_w230_1 + .word se_w230_2 + + .end diff --git a/sound/songs/se_w231.s b/sound/songs/se_w231.s new file mode 100644 index 0000000000..25ea2b4fbb --- /dev/null +++ b/sound/songs/se_w231.s @@ -0,0 +1,74 @@ + .include "MPlayDef.s" + + .equ se_w231_grp, voicegroup_869D6F4 + .equ se_w231_pri, 4 + .equ se_w231_rev, reverb_set+50 + .equ se_w231_mvl, 127 + .equ se_w231_key, 0 + .equ se_w231_tbs, 1 + .equ se_w231_exg, 0 + .equ se_w231_cmp, 1 + + .section .rodata + .global se_w231 + .align 2 + +@********************** Track 1 **********************@ + +se_w231_1: + .byte KEYSH , se_w231_key+0 + .byte TEMPO , 150*se_w231_tbs/2 + .byte VOICE , 28 + .byte VOL , 100*se_w231_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+16 + .byte N03 , Gs3 , v080 + .byte W01 + .byte BEND , c_v+38 + .byte W01 + .byte c_v+62 + .byte W02 + .byte N17 , Gs4 , v096 + .byte W03 + .byte PAN , c_v+6 + .byte W02 + .byte c_v+0 + .byte W03 + .byte c_v-8 + .byte W02 + .byte c_v+0 + .byte W02 + .byte c_v+6 + .byte W03 + .byte c_v+0 + .byte W05 + .byte FINE + +@********************** Track 2 **********************@ + +se_w231_2: + .byte KEYSH , se_w231_key+0 + .byte VOICE , 4 + .byte VOL , 100*se_w231_mvl/mxv + .byte PAN , c_v+0 + .byte N01 , En4 , v060 + .byte W04 + .byte N17 , Gs4 , v096 + .byte W20 + .byte FINE + +@******************************************************@ + .align 2 + +se_w231: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w231_pri @ Priority + .byte se_w231_rev @ Reverb. + + .word se_w231_grp + + .word se_w231_1 + .word se_w231_2 + + .end diff --git a/sound/songs/se_w233.s b/sound/songs/se_w233.s new file mode 100644 index 0000000000..c7753d21e8 --- /dev/null +++ b/sound/songs/se_w233.s @@ -0,0 +1,75 @@ + .include "MPlayDef.s" + + .equ se_w233_grp, voicegroup_869D6F4 + .equ se_w233_pri, 4 + .equ se_w233_rev, reverb_set+50 + .equ se_w233_mvl, 127 + .equ se_w233_key, 0 + .equ se_w233_tbs, 1 + .equ se_w233_exg, 0 + .equ se_w233_cmp, 1 + + .section .rodata + .global se_w233 + .align 2 + +@********************** Track 1 **********************@ + +se_w233_1: + .byte KEYSH , se_w233_key+0 + .byte TEMPO , 220*se_w233_tbs/2 + .byte VOICE , 22 + .byte VOL , 110*se_w233_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+16 + .byte BEND , c_v+46 + .byte N09 , Cn3 , v127 + .byte W03 + .byte VOL , 104*se_w233_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+23 + .byte W03 + .byte VOL , 93*se_w233_mvl/mxv + .byte PAN , c_v-16 + .byte BEND , c_v-15 + .byte W03 + .byte VOICE , 21 + .byte VOL , 110*se_w233_mvl/mxv + .byte BEND , c_v+0 + .byte N03 , Gn4 + .byte W06 + .byte PAN , c_v+16 + .byte N03 , Cn5 + .byte W09 + .byte FINE + +@********************** Track 2 **********************@ + +se_w233_2: + .byte KEYSH , se_w233_key+0 + .byte VOICE , 4 + .byte VOL , 110*se_w233_mvl/mxv + .byte W09 + .byte PAN , c_v+8 + .byte N03 , Cn3 , v052 + .byte W06 + .byte PAN , c_v-7 + .byte N03 + .byte W09 + .byte FINE + +@******************************************************@ + .align 2 + +se_w233: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w233_pri @ Priority + .byte se_w233_rev @ Reverb. + + .word se_w233_grp + + .word se_w233_1 + .word se_w233_2 + + .end diff --git a/sound/songs/se_w233b.s b/sound/songs/se_w233b.s new file mode 100644 index 0000000000..86166b3456 --- /dev/null +++ b/sound/songs/se_w233b.s @@ -0,0 +1,108 @@ + .include "MPlayDef.s" + + .equ se_w233b_grp, voicegroup_869D6F4 + .equ se_w233b_pri, 4 + .equ se_w233b_rev, reverb_set+50 + .equ se_w233b_mvl, 127 + .equ se_w233b_key, 0 + .equ se_w233b_tbs, 1 + .equ se_w233b_exg, 0 + .equ se_w233b_cmp, 1 + + .section .rodata + .global se_w233b + .align 2 + +@********************** Track 1 **********************@ + +se_w233b_1: + .byte KEYSH , se_w233b_key+0 + .byte TEMPO , 220*se_w233b_tbs/2 + .byte VOICE , 6 + .byte VOL , 110*se_w233b_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N06 , Cn3 , v127 + .byte W01 + .byte BEND , c_v-9 + .byte W01 + .byte c_v-21 + .byte W01 + .byte PAN , c_v-6 + .byte BEND , c_v-40 + .byte W01 + .byte c_v-64 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N06 , En3 + .byte W01 + .byte BEND , c_v-9 + .byte W01 + .byte c_v-21 + .byte W01 + .byte PAN , c_v+7 + .byte BEND , c_v-40 + .byte W01 + .byte c_v-64 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N09 , An2 + .byte W01 + .byte BEND , c_v-9 + .byte W01 + .byte c_v-19 + .byte W01 + .byte c_v-29 + .byte W01 + .byte VOL , 86*se_w233b_mvl/mxv + .byte BEND , c_v-39 + .byte W02 + .byte VOL , 69*se_w233b_mvl/mxv + .byte BEND , c_v-45 + .byte W01 + .byte VOL , 53*se_w233b_mvl/mxv + .byte BEND , c_v-56 + .byte W01 + .byte VOL , 20*se_w233b_mvl/mxv + .byte BEND , c_v-64 + .byte W04 + .byte c_v-64 + .byte FINE + +@********************** Track 2 **********************@ + +se_w233b_2: + .byte KEYSH , se_w233b_key+0 + .byte VOICE , 5 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 110*se_w233b_mvl/mxv + .byte PAN , c_v+9 + .byte N03 , Gs2 , v052 + .byte W06 + .byte PAN , c_v-7 + .byte N03 + .byte W06 + .byte PAN , c_v+0 + .byte N03 + .byte W12 + .byte FINE + +@******************************************************@ + .align 2 + +se_w233b: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w233b_pri @ Priority + .byte se_w233b_rev @ Reverb. + + .word se_w233b_grp + + .word se_w233b_1 + .word se_w233b_2 + + .end diff --git a/sound/songs/se_w234.s b/sound/songs/se_w234.s new file mode 100644 index 0000000000..b79c2bd1fa --- /dev/null +++ b/sound/songs/se_w234.s @@ -0,0 +1,135 @@ + .include "MPlayDef.s" + + .equ se_w234_grp, voicegroup_869D6F4 + .equ se_w234_pri, 5 + .equ se_w234_rev, reverb_set+50 + .equ se_w234_mvl, 127 + .equ se_w234_key, 0 + .equ se_w234_tbs, 1 + .equ se_w234_exg, 0 + .equ se_w234_cmp, 1 + + .section .rodata + .global se_w234 + .align 2 + +@********************** Track 1 **********************@ + +se_w234_1: + .byte KEYSH , se_w234_key+0 + .byte TEMPO , 150*se_w234_tbs/2 + .byte VOICE , 46 + .byte VOL , 95*se_w234_mvl/mxv + .byte BENDR , 2 + .byte PAN , c_v+0 + .byte BEND , c_v+15 + .byte W03 + .byte N06 , Ds6 , v112 + .byte W03 + .byte W03 + .byte En5 , v104 + .byte W03 + .byte W03 + .byte Ds6 , v096 + .byte W03 + .byte W03 + .byte En5 , v088 + .byte W03 + .byte W03 + .byte PAN , c_v-4 + .byte N06 , Ds6 , v080 + .byte W03 + .byte W03 + .byte PAN , c_v+0 + .byte N06 , En5 , v072 + .byte W03 + .byte W03 + .byte PAN , c_v+4 + .byte N06 , Ds6 , v064 + .byte W03 + .byte W03 + .byte PAN , c_v+0 + .byte N06 , En5 , v056 + .byte W03 + .byte W03 + .byte PAN , c_v-4 + .byte N06 , Ds6 , v044 + .byte W03 + .byte W03 + .byte PAN , c_v+0 + .byte N06 , En5 , v036 + .byte W03 + .byte W03 + .byte PAN , c_v+4 + .byte N06 , Ds6 , v028 + .byte W03 + .byte W03 + .byte PAN , c_v+0 + .byte N06 , En5 , v020 + .byte W03 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_w234_2: + .byte KEYSH , se_w234_key+0 + .byte VOICE , 53 + .byte BENDR , 2 + .byte VOL , 43*se_w234_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+15 + .byte N06 , Gs6 , v108 + .byte W03 + .byte W03 + .byte Bn5 + .byte W03 + .byte W03 + .byte Gs6 , v100 + .byte W03 + .byte W03 + .byte Bn5 , v092 + .byte W03 + .byte W03 + .byte Gs6 , v084 + .byte W03 + .byte W03 + .byte Bn5 , v076 + .byte W03 + .byte W03 + .byte Gs6 , v068 + .byte W03 + .byte W03 + .byte Bn5 , v060 + .byte W03 + .byte W03 + .byte Gs6 , v052 + .byte W03 + .byte W03 + .byte Bn5 , v040 + .byte W03 + .byte W03 + .byte Gs6 , v032 + .byte W03 + .byte W03 + .byte Bn5 , v024 + .byte W03 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_w234: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w234_pri @ Priority + .byte se_w234_rev @ Reverb. + + .word se_w234_grp + + .word se_w234_1 + .word se_w234_2 + + .end diff --git a/sound/songs/se_w236.s b/sound/songs/se_w236.s new file mode 100644 index 0000000000..efb97ca226 --- /dev/null +++ b/sound/songs/se_w236.s @@ -0,0 +1,218 @@ + .include "MPlayDef.s" + + .equ se_w236_grp, voicegroup_869D6F4 + .equ se_w236_pri, 4 + .equ se_w236_rev, reverb_set+50 + .equ se_w236_mvl, 127 + .equ se_w236_key, 0 + .equ se_w236_tbs, 1 + .equ se_w236_exg, 0 + .equ se_w236_cmp, 1 + + .section .rodata + .global se_w236 + .align 2 + +@********************** Track 1 **********************@ + +se_w236_1: + .byte KEYSH , se_w236_key+0 + .byte TEMPO , 150*se_w236_tbs/2 + .byte VOICE , 46 + .byte VOL , 100*se_w236_mvl/mxv + .byte BENDR , 4 + .byte PAN , c_v+0 + .byte MOD , 6 + .byte BEND , c_v+3 + .byte N01 , Ds6 , v092 + .byte W01 + .byte Dn6 + .byte W01 + .byte Gn5 + .byte W01 + .byte N20 , Gn6 , v100 + .byte W21 +se_w236_1_000: + .byte N01 , Ds6 , v056 + .byte W01 + .byte Dn6 + .byte W01 + .byte Gn5 + .byte W01 + .byte N20 , Gn6 , v064 + .byte W03 + .byte PAN , c_v+6 + .byte W04 + .byte c_v-4 + .byte W05 + .byte c_v+6 + .byte W05 + .byte c_v-4 + .byte W04 + .byte PEND +se_w236_1_001: + .byte PAN , c_v+0 + .byte N01 , Gs5 , v092 + .byte W01 + .byte Gn5 + .byte W01 + .byte Cn5 + .byte W01 + .byte N20 , Cn6 , v100 + .byte W21 + .byte PEND +se_w236_1_002: + .byte PAN , c_v+16 + .byte N01 , Gs5 , v056 + .byte W01 + .byte Gn5 + .byte W01 + .byte Cn5 + .byte W01 + .byte N20 , Cn6 , v064 + .byte W21 + .byte PEND +se_w236_1_003: + .byte PAN , c_v-16 + .byte N01 , Gs5 , v040 + .byte W01 + .byte Gn5 + .byte W01 + .byte Cn5 + .byte W01 + .byte N20 , Cn6 + .byte W21 + .byte PEND +se_w236_1_004: + .byte PAN , c_v+32 + .byte N01 , Gs5 , v020 + .byte W01 + .byte Gn5 + .byte W01 + .byte Cn5 + .byte W01 + .byte PAN , c_v-32 + .byte N20 , Cn6 + .byte W21 + .byte PEND + .byte PAN , c_v+0 + .byte N01 , Ds6 , v092 + .byte W01 + .byte Dn6 + .byte W01 + .byte Gn5 + .byte W01 + .byte N20 , Gn6 , v100 + .byte W21 + .byte PATT + .word se_w236_1_000 + .byte PATT + .word se_w236_1_001 + .byte PATT + .word se_w236_1_002 + .byte PATT + .word se_w236_1_003 + .byte PATT + .word se_w236_1_004 + .byte FINE + +@********************** Track 2 **********************@ + +se_w236_2: + .byte KEYSH , se_w236_key+0 + .byte VOICE , 55 + .byte PAN , c_v+0 + .byte VOL , 39*se_w236_mvl/mxv + .byte BEND , c_v-4 + .byte W10 + .byte N01 , Ds6 , v112 + .byte W02 + .byte Dn6 + .byte W01 + .byte Gn5 + .byte W01 + .byte N04 , Gn6 + .byte W05 + .byte Gn6 , v096 + .byte W05 +se_w236_2_000: + .byte PAN , c_v+50 + .byte N04 , Gn6 , v080 + .byte W04 + .byte PAN , c_v-48 + .byte N04 , Gn6 , v064 + .byte W05 + .byte PAN , c_v+50 + .byte N04 , Gn6 , v048 + .byte W05 + .byte PAN , c_v-49 + .byte N04 , Gn6 , v032 + .byte W10 + .byte PEND +se_w236_2_001: + .byte PAN , c_v+0 + .byte W10 + .byte N01 , Gs5 , v112 + .byte W02 + .byte Gn5 + .byte W01 + .byte Cn5 + .byte W01 + .byte N04 , Cn6 + .byte W05 + .byte Cn6 , v096 + .byte W05 + .byte PEND +se_w236_2_002: + .byte PAN , c_v+50 + .byte N04 , Cn6 , v080 + .byte W04 + .byte PAN , c_v-48 + .byte N04 , Cn6 , v064 + .byte W05 + .byte PAN , c_v+50 + .byte N04 , Cn6 , v048 + .byte W05 + .byte PAN , c_v-49 + .byte N04 , Cn6 , v032 + .byte W10 + .byte PEND + .byte W24 + .byte W24 + .byte PAN , c_v+0 + .byte W10 + .byte N01 , Ds6 , v112 + .byte W02 + .byte Dn6 + .byte W01 + .byte Gn5 + .byte W01 + .byte N04 , Gn6 + .byte W05 + .byte Gn6 , v096 + .byte W05 + .byte PATT + .word se_w236_2_000 + .byte PATT + .word se_w236_2_001 + .byte PATT + .word se_w236_2_002 + .byte W24 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_w236: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w236_pri @ Priority + .byte se_w236_rev @ Reverb. + + .word se_w236_grp + + .word se_w236_1 + .word se_w236_2 + + .end diff --git a/sound/songs/se_w239.s b/sound/songs/se_w239.s new file mode 100644 index 0000000000..db32b876d8 --- /dev/null +++ b/sound/songs/se_w239.s @@ -0,0 +1,210 @@ + .include "MPlayDef.s" + + .equ se_w239_grp, voicegroup_869D6F4 + .equ se_w239_pri, 4 + .equ se_w239_rev, reverb_set+50 + .equ se_w239_mvl, 127 + .equ se_w239_key, 0 + .equ se_w239_tbs, 1 + .equ se_w239_exg, 0 + .equ se_w239_cmp, 1 + + .section .rodata + .global se_w239 + .align 2 + +@********************** Track 1 **********************@ + +se_w239_1: + .byte KEYSH , se_w239_key+0 + .byte TEMPO , 150*se_w239_tbs/2 + .byte VOICE , 22 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 67*se_w239_mvl/mxv + .byte BEND , c_v+0 + .byte TIE , Dn2 , v127 + .byte W03 + .byte VOL , 83*se_w239_mvl/mxv + .byte BEND , c_v+22 + .byte W03 + .byte VOL , 88*se_w239_mvl/mxv + .byte PAN , c_v-4 + .byte W03 + .byte VOL , 95*se_w239_mvl/mxv + .byte W02 + .byte BEND , c_v+8 + .byte W01 + .byte VOL , 105*se_w239_mvl/mxv + .byte PAN , c_v-8 + .byte W03 + .byte VOL , 115*se_w239_mvl/mxv + .byte W02 + .byte BEND , c_v+0 + .byte W01 + .byte PAN , c_v-12 + .byte W06 + .byte c_v-17 + .byte BEND , c_v+0 + .byte W03 + .byte c_v-7 + .byte W03 + .byte PAN , c_v-9 + .byte W06 + .byte c_v-3 + .byte W01 + .byte BEND , c_v-12 + .byte W02 + .byte PAN , c_v+6 + .byte W03 + .byte c_v+10 + .byte W06 + .byte c_v+16 + .byte W01 + .byte BEND , c_v-20 + .byte W05 + .byte PAN , c_v+13 + .byte W06 + .byte c_v+8 + .byte W03 + .byte c_v+0 + .byte W01 + .byte BEND , c_v-13 + .byte W02 + .byte PAN , c_v-8 + .byte W03 + .byte c_v-11 + .byte W03 + .byte c_v-17 + .byte W01 + .byte BEND , c_v-6 + .byte W05 + .byte PAN , c_v-9 + .byte W06 + .byte c_v-3 + .byte W03 + .byte c_v+6 + .byte W03 + .byte c_v+10 + .byte W01 + .byte BEND , c_v+6 + .byte W05 + .byte PAN , c_v+16 + .byte W06 + .byte c_v+13 + .byte W06 + .byte c_v+8 + .byte W03 + .byte c_v+0 + .byte BEND , c_v+11 + .byte W03 + .byte PAN , c_v-8 + .byte W03 + .byte c_v-11 + .byte VOL , 103*se_w239_mvl/mxv + .byte W03 + .byte PAN , c_v-17 + .byte W01 + .byte BEND , c_v+20 + .byte W05 + .byte PAN , c_v-9 + .byte W01 + .byte VOL , 97*se_w239_mvl/mxv + .byte W05 + .byte PAN , c_v-3 + .byte W01 + .byte BEND , c_v+12 + .byte W02 + .byte PAN , c_v+6 + .byte VOL , 88*se_w239_mvl/mxv + .byte W03 + .byte PAN , c_v+10 + .byte W02 + .byte BEND , c_v+7 + .byte W02 + .byte VOL , 79*se_w239_mvl/mxv + .byte W02 + .byte PAN , c_v+16 + .byte W04 + .byte VOL , 62*se_w239_mvl/mxv + .byte BEND , c_v+0 + .byte W02 + .byte PAN , c_v+13 + .byte W04 + .byte VOL , 45*se_w239_mvl/mxv + .byte W02 + .byte PAN , c_v+8 + .byte W01 + .byte BEND , c_v-7 + .byte W01 + .byte VOL , 33*se_w239_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte W03 + .byte c_v-8 + .byte W01 + .byte VOL , 18*se_w239_mvl/mxv + .byte W02 + .byte PAN , c_v-11 + .byte W03 + .byte EOT + .byte FINE + +@********************** Track 2 **********************@ + +se_w239_2: + .byte KEYSH , se_w239_key+0 + .byte VOICE , 25 + .byte VOL , 67*se_w239_mvl/mxv + .byte TIE , Gs4 , v012 + .byte W03 + .byte VOL , 83*se_w239_mvl/mxv + .byte W03 + .byte 88*se_w239_mvl/mxv + .byte W03 + .byte 95*se_w239_mvl/mxv + .byte W03 + .byte 105*se_w239_mvl/mxv + .byte W03 + .byte 115*se_w239_mvl/mxv + .byte W09 + .byte W24 + .byte W24 + .byte W24 + .byte W21 + .byte 103*se_w239_mvl/mxv + .byte W03 + .byte W07 + .byte 97*se_w239_mvl/mxv + .byte W08 + .byte 88*se_w239_mvl/mxv + .byte W07 + .byte 79*se_w239_mvl/mxv + .byte W02 + .byte W04 + .byte 62*se_w239_mvl/mxv + .byte W06 + .byte 45*se_w239_mvl/mxv + .byte W04 + .byte 33*se_w239_mvl/mxv + .byte W05 + .byte 18*se_w239_mvl/mxv + .byte W05 + .byte EOT + .byte FINE + +@******************************************************@ + .align 2 + +se_w239: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w239_pri @ Priority + .byte se_w239_rev @ Reverb. + + .word se_w239_grp + + .word se_w239_1 + .word se_w239_2 + + .end diff --git a/sound/songs/se_w240.s b/sound/songs/se_w240.s new file mode 100644 index 0000000000..5e4741f1f6 --- /dev/null +++ b/sound/songs/se_w240.s @@ -0,0 +1,116 @@ + .include "MPlayDef.s" + + .equ se_w240_grp, voicegroup_869D6F4 + .equ se_w240_pri, 4 + .equ se_w240_rev, reverb_set+50 + .equ se_w240_mvl, 127 + .equ se_w240_key, 0 + .equ se_w240_tbs, 1 + .equ se_w240_exg, 0 + .equ se_w240_cmp, 1 + + .section .rodata + .global se_w240 + .align 2 + +@********************** Track 1 **********************@ + +se_w240_1: + .byte KEYSH , se_w240_key+0 + .byte TEMPO , 220*se_w240_tbs/2 + .byte VOICE , 36 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 20*se_w240_mvl/mxv + .byte BEND , c_v+0 + .byte TIE , Gn3 , v064 + .byte W03 + .byte VOL , 37*se_w240_mvl/mxv + .byte W03 + .byte 53*se_w240_mvl/mxv + .byte W03 + .byte 60*se_w240_mvl/mxv + .byte W03 + .byte 71*se_w240_mvl/mxv + .byte W03 + .byte 81*se_w240_mvl/mxv + .byte W03 + .byte 93*se_w240_mvl/mxv + .byte W03 + .byte 110*se_w240_mvl/mxv + .byte W03 + .byte PAN , c_v+3 + .byte W06 + .byte c_v+11 + .byte W12 + .byte c_v+20 + .byte W06 + .byte c_v+25 + .byte W12 + .byte c_v+14 + .byte W06 + .byte c_v+8 + .byte W06 + .byte W06 + .byte c_v-3 + .byte W12 + .byte c_v-16 + .byte W06 + .byte W06 + .byte c_v-26 + .byte W12 + .byte c_v-16 + .byte W06 + .byte VOL , 104*se_w240_mvl/mxv + .byte PAN , c_v-5 + .byte W03 + .byte VOL , 101*se_w240_mvl/mxv + .byte W03 + .byte 98*se_w240_mvl/mxv + .byte PAN , c_v+6 + .byte W03 + .byte VOL , 93*se_w240_mvl/mxv + .byte W03 + .byte 90*se_w240_mvl/mxv + .byte PAN , c_v+14 + .byte W03 + .byte VOL , 86*se_w240_mvl/mxv + .byte W03 + .byte 83*se_w240_mvl/mxv + .byte W03 + .byte 77*se_w240_mvl/mxv + .byte W03 + .byte 73*se_w240_mvl/mxv + .byte PAN , c_v+24 + .byte W03 + .byte VOL , 66*se_w240_mvl/mxv + .byte W03 + .byte 58*se_w240_mvl/mxv + .byte W03 + .byte 44*se_w240_mvl/mxv + .byte W03 + .byte 32*se_w240_mvl/mxv + .byte PAN , c_v+15 + .byte W03 + .byte VOL , 16*se_w240_mvl/mxv + .byte W03 + .byte 1*se_w240_mvl/mxv + .byte PAN , c_v+4 + .byte W06 + .byte EOT + .byte FINE + +@******************************************************@ + .align 2 + +se_w240: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w240_pri @ Priority + .byte se_w240_rev @ Reverb. + + .word se_w240_grp + + .word se_w240_1 + + .end diff --git a/sound/songs/se_w250.s b/sound/songs/se_w250.s new file mode 100644 index 0000000000..d8d9d4dfc2 --- /dev/null +++ b/sound/songs/se_w250.s @@ -0,0 +1,125 @@ + .include "MPlayDef.s" + + .equ se_w250_grp, voicegroup_869D6F4 + .equ se_w250_pri, 4 + .equ se_w250_rev, reverb_set+50 + .equ se_w250_mvl, 127 + .equ se_w250_key, 0 + .equ se_w250_tbs, 1 + .equ se_w250_exg, 0 + .equ se_w250_cmp, 1 + + .section .rodata + .global se_w250 + .align 2 + +@********************** Track 1 **********************@ + +se_w250_1: + .byte KEYSH , se_w250_key+0 + .byte TEMPO , 150*se_w250_tbs/2 + .byte VOICE , 36 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 115*se_w250_mvl/mxv + .byte BEND , c_v-18 + .byte TIE , Dn2 , v127 + .byte W03 + .byte BEND , c_v-12 + .byte W03 + .byte PAN , c_v-5 + .byte W02 + .byte BEND , c_v-8 + .byte W04 + .byte PAN , c_v-10 + .byte W01 + .byte BEND , c_v-3 + .byte W03 + .byte c_v+2 + .byte W02 + .byte PAN , c_v-13 + .byte W04 + .byte BEND , c_v+5 + .byte W02 + .byte PAN , c_v-16 + .byte W04 + .byte BEND , c_v+14 + .byte W02 + .byte PAN , c_v-14 + .byte W06 + .byte c_v-9 + .byte BEND , c_v+18 + .byte W06 + .byte PAN , c_v-6 + .byte W01 + .byte BEND , c_v+24 + .byte W05 + .byte PAN , c_v+0 + .byte W06 + .byte c_v+3 + .byte W06 + .byte c_v+7 + .byte W06 + .byte c_v+11 + .byte BEND , c_v+17 + .byte W06 + .byte PAN , c_v+16 + .byte BEND , c_v+10 + .byte W06 + .byte PAN , c_v+11 + .byte W01 + .byte BEND , c_v+5 + .byte W05 + .byte PAN , c_v+6 + .byte W02 + .byte VOL , 103*se_w250_mvl/mxv + .byte W01 + .byte BEND , c_v+0 + .byte W03 + .byte PAN , c_v+4 + .byte W01 + .byte VOL , 85*se_w250_mvl/mxv + .byte W01 + .byte BEND , c_v-5 + .byte W04 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 71*se_w250_mvl/mxv + .byte W02 + .byte BEND , c_v-8 + .byte W03 + .byte VOL , 52*se_w250_mvl/mxv + .byte PAN , c_v-4 + .byte W03 + .byte BEND , c_v-12 + .byte W01 + .byte VOL , 32*se_w250_mvl/mxv + .byte W02 + .byte PAN , c_v-10 + .byte W03 + .byte VOL , 11*se_w250_mvl/mxv + .byte BEND , c_v-19 + .byte W03 + .byte PAN , c_v-15 + .byte W01 + .byte VOL , 6*se_w250_mvl/mxv + .byte W01 + .byte BEND , c_v-28 + .byte W04 + .byte EOT + .byte FINE + +@******************************************************@ + .align 2 + +se_w250: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w250_pri @ Priority + .byte se_w250_rev @ Reverb. + + .word se_w250_grp + + .word se_w250_1 + + .end diff --git a/sound/songs/se_w253.s b/sound/songs/se_w253.s new file mode 100644 index 0000000000..b72c587809 --- /dev/null +++ b/sound/songs/se_w253.s @@ -0,0 +1,86 @@ + .include "MPlayDef.s" + + .equ se_w253_grp, voicegroup_869D6F4 + .equ se_w253_pri, 4 + .equ se_w253_rev, reverb_set+50 + .equ se_w253_mvl, 127 + .equ se_w253_key, 0 + .equ se_w253_tbs, 1 + .equ se_w253_exg, 0 + .equ se_w253_cmp, 1 + + .section .rodata + .global se_w253 + .align 2 + +@********************** Track 1 **********************@ + +se_w253_1: + .byte KEYSH , se_w253_key+0 + .byte TEMPO , 150*se_w253_tbs/2 + .byte VOICE , 60 + .byte BENDR , 12 + .byte VOL , 25*se_w253_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N24 , Gs2 , v127 + .byte W01 + .byte PAN , c_v+2 + .byte VOL , 51*se_w253_mvl/mxv + .byte W01 + .byte PAN , c_v+5 + .byte VOL , 74*se_w253_mvl/mxv + .byte W01 + .byte 89*se_w253_mvl/mxv + .byte BEND , c_v+1 + .byte W01 + .byte PAN , c_v+2 + .byte VOL , 100*se_w253_mvl/mxv + .byte W02 + .byte PAN , c_v+0 + .byte W01 + .byte c_v-2 + .byte BEND , c_v+4 + .byte W01 + .byte PAN , c_v-4 + .byte W02 + .byte c_v-2 + .byte BEND , c_v+5 + .byte W02 + .byte PAN , c_v+0 + .byte W01 + .byte c_v+2 + .byte W01 + .byte c_v+5 + .byte W02 + .byte c_v+2 + .byte W02 + .byte c_v+0 + .byte W01 + .byte VOL , 85*se_w253_mvl/mxv + .byte PAN , c_v-2 + .byte W01 + .byte c_v-4 + .byte VOL , 62*se_w253_mvl/mxv + .byte W01 + .byte 33*se_w253_mvl/mxv + .byte W01 + .byte PAN , c_v-2 + .byte VOL , 11*se_w253_mvl/mxv + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_w253: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w253_pri @ Priority + .byte se_w253_rev @ Reverb. + + .word se_w253_grp + + .word se_w253_1 + + .end diff --git a/sound/songs/se_w255.s b/sound/songs/se_w255.s new file mode 100644 index 0000000000..0384eef6e2 --- /dev/null +++ b/sound/songs/se_w255.s @@ -0,0 +1,88 @@ + .include "MPlayDef.s" + + .equ se_w255_grp, voicegroup_869D6F4 + .equ se_w255_pri, 4 + .equ se_w255_rev, reverb_set+50 + .equ se_w255_mvl, 127 + .equ se_w255_key, 0 + .equ se_w255_tbs, 1 + .equ se_w255_exg, 0 + .equ se_w255_cmp, 1 + + .section .rodata + .global se_w255 + .align 2 + +@********************** Track 1 **********************@ + +se_w255_1: + .byte KEYSH , se_w255_key+0 + .byte TEMPO , 150*se_w255_tbs/2 + .byte VOICE , 65 + .byte BENDR , 12 + .byte VOL , 110*se_w255_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N03 , Gn3 , v112 + .byte W01 + .byte PAN , c_v-7 + .byte BEND , c_v-17 + .byte W01 + .byte PAN , c_v+8 + .byte BEND , c_v-36 + .byte W01 + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N03 , Gn4 + .byte W02 + .byte PAN , c_v-7 + .byte BEND , c_v+15 + .byte W01 + .byte PAN , c_v+8 + .byte BEND , c_v+28 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N03 , Gn4 , v064 + .byte W01 + .byte PAN , c_v-7 + .byte BEND , c_v+15 + .byte W02 + .byte PAN , c_v+8 + .byte BEND , c_v+28 + .byte W03 + .byte FINE + +@********************** Track 2 **********************@ + +se_w255_2: + .byte KEYSH , se_w255_key+0 + .byte VOICE , 57 + .byte VOL , 110*se_w255_mvl/mxv + .byte N03 , En3 , v052 + .byte W03 + .byte W01 + .byte N03 + .byte W02 + .byte W03 + .byte En3 , v032 + .byte W03 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_w255: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w255_pri @ Priority + .byte se_w255_rev @ Reverb. + + .word se_w255_grp + + .word se_w255_1 + .word se_w255_2 + + .end diff --git a/sound/songs/se_w257.s b/sound/songs/se_w257.s new file mode 100644 index 0000000000..2b4196d5c5 --- /dev/null +++ b/sound/songs/se_w257.s @@ -0,0 +1,206 @@ + .include "MPlayDef.s" + + .equ se_w257_grp, voicegroup_869D6F4 + .equ se_w257_pri, 4 + .equ se_w257_rev, reverb_set+50 + .equ se_w257_mvl, 127 + .equ se_w257_key, 0 + .equ se_w257_tbs, 1 + .equ se_w257_exg, 0 + .equ se_w257_cmp, 1 + + .section .rodata + .global se_w257 + .align 2 + +@********************** Track 1 **********************@ + +se_w257_1: + .byte KEYSH , se_w257_key+0 + .byte TEMPO , 150*se_w257_tbs/2 + .byte VOICE , 29 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 23*se_w257_mvl/mxv + .byte BEND , c_v+0 + .byte TIE , Fn4 , v127 + .byte W01 + .byte VOL , 51*se_w257_mvl/mxv + .byte W01 + .byte 75*se_w257_mvl/mxv + .byte W01 + .byte 99*se_w257_mvl/mxv + .byte BEND , c_v+8 + .byte W01 + .byte VOL , 115*se_w257_mvl/mxv + .byte W02 + .byte PAN , c_v+6 + .byte BEND , c_v+16 + .byte W01 + .byte VOL , 99*se_w257_mvl/mxv + .byte W02 + .byte 92*se_w257_mvl/mxv + .byte BEND , c_v+7 + .byte W01 + .byte VOL , 97*se_w257_mvl/mxv + .byte W02 + .byte 105*se_w257_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte W03 + .byte VOL , 110*se_w257_mvl/mxv + .byte BEND , c_v-9 + .byte W03 + .byte PAN , c_v-8 + .byte BEND , c_v-24 + .byte W03 + .byte VOL , 115*se_w257_mvl/mxv + .byte BEND , c_v-38 + .byte W03 + .byte PAN , c_v+0 + .byte BEND , c_v-41 + .byte W04 + .byte c_v-45 + .byte W02 + .byte PAN , c_v+6 + .byte W02 + .byte BEND , c_v-39 + .byte W04 + .byte PAN , c_v+0 + .byte W03 + .byte BEND , c_v-35 + .byte W03 + .byte PAN , c_v-8 + .byte W03 + .byte BEND , c_v-30 + .byte W03 + .byte PAN , c_v+0 + .byte W03 + .byte BEND , c_v-26 + .byte W03 + .byte PAN , c_v+6 + .byte W01 + .byte BEND , c_v-22 + .byte W05 + .byte PAN , c_v+0 + .byte BEND , c_v-18 + .byte W04 + .byte c_v-13 + .byte W02 + .byte PAN , c_v-8 + .byte W06 + .byte c_v+0 + .byte W06 + .byte c_v+6 + .byte W03 + .byte BEND , c_v-7 + .byte W03 + .byte PAN , c_v+0 + .byte W04 + .byte BEND , c_v-3 + .byte W02 + .byte PAN , c_v-8 + .byte VOL , 113*se_w257_mvl/mxv + .byte W04 + .byte 110*se_w257_mvl/mxv + .byte W02 + .byte PAN , c_v+0 + .byte W02 + .byte BEND , c_v-7 + .byte W02 + .byte VOL , 105*se_w257_mvl/mxv + .byte W02 + .byte PAN , c_v+6 + .byte W03 + .byte VOL , 98*se_w257_mvl/mxv + .byte BEND , c_v-11 + .byte W03 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 91*se_w257_mvl/mxv + .byte W03 + .byte 81*se_w257_mvl/mxv + .byte BEND , c_v-15 + .byte W02 + .byte PAN , c_v-8 + .byte W02 + .byte VOL , 74*se_w257_mvl/mxv + .byte W01 + .byte BEND , c_v-22 + .byte W03 + .byte PAN , c_v+0 + .byte VOL , 63*se_w257_mvl/mxv + .byte W01 + .byte BEND , c_v-30 + .byte W01 + .byte VOL , 50*se_w257_mvl/mxv + .byte W02 + .byte 40*se_w257_mvl/mxv + .byte BEND , c_v-39 + .byte W02 + .byte PAN , c_v+6 + .byte W01 + .byte VOL , 28*se_w257_mvl/mxv + .byte BEND , c_v-52 + .byte W02 + .byte VOL , 17*se_w257_mvl/mxv + .byte W03 + .byte EOT + .byte FINE + +@********************** Track 2 **********************@ + +se_w257_2: + .byte KEYSH , se_w257_key+0 + .byte VOICE , 27 + .byte PAN , c_v+0 + .byte VOL , 23*se_w257_mvl/mxv + .byte N30 , Gn2 , v032 + .byte W01 + .byte VOL , 51*se_w257_mvl/mxv + .byte W01 + .byte 75*se_w257_mvl/mxv + .byte W01 + .byte 99*se_w257_mvl/mxv + .byte W01 + .byte 115*se_w257_mvl/mxv + .byte W03 + .byte 99*se_w257_mvl/mxv + .byte W02 + .byte 92*se_w257_mvl/mxv + .byte W01 + .byte 97*se_w257_mvl/mxv + .byte W02 + .byte 115*se_w257_mvl/mxv + .byte W12 + .byte PAN , c_v+0 + .byte W12 + .byte W12 + .byte c_v+0 + .byte W12 + .byte W12 + .byte c_v+0 + .byte W12 + .byte W12 + .byte c_v+0 + .byte W12 + .byte W12 + .byte c_v+0 + .byte W12 + .byte FINE + +@******************************************************@ + .align 2 + +se_w257: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w257_pri @ Priority + .byte se_w257_rev @ Reverb. + + .word se_w257_grp + + .word se_w257_1 + .word se_w257_2 + + .end diff --git a/sound/songs/se_w258.s b/sound/songs/se_w258.s new file mode 100644 index 0000000000..50d03090ab --- /dev/null +++ b/sound/songs/se_w258.s @@ -0,0 +1,98 @@ + .include "MPlayDef.s" + + .equ se_w258_grp, voicegroup_869D6F4 + .equ se_w258_pri, 4 + .equ se_w258_rev, reverb_set+50 + .equ se_w258_mvl, 127 + .equ se_w258_key, 0 + .equ se_w258_tbs, 1 + .equ se_w258_exg, 0 + .equ se_w258_cmp, 1 + + .section .rodata + .global se_w258 + .align 2 + +@********************** Track 1 **********************@ + +se_w258_1: + .byte KEYSH , se_w258_key+0 + .byte TEMPO , 150*se_w258_tbs/2 + .byte VOICE , 3 + .byte VOL , 100*se_w258_mvl/mxv + .byte PAN , c_v+0 + .byte N01 , Fn4 , v112 + .byte W04 + .byte PAN , c_v+6 + .byte N02 , Ds5 , v040 + .byte W02 + .byte W02 + .byte PAN , c_v-5 + .byte N01 , Gn4 , v112 + .byte W01 + .byte PAN , c_v+0 + .byte N01 , Ds5 + .byte W03 + .byte W01 + .byte PAN , c_v+6 + .byte N02 , Ds5 , v020 + .byte W03 + .byte PAN , c_v-5 + .byte N01 , Gn4 , v064 + .byte W02 + .byte PAN , c_v+0 + .byte N01 , Ds5 + .byte W03 + .byte PAN , c_v+11 + .byte N02 , Ds5 , v020 + .byte W03 + .byte W01 + .byte PAN , c_v-13 + .byte N01 , Gn4 , v064 + .byte W01 + .byte PAN , c_v+0 + .byte N01 , Ds5 + .byte W04 + .byte FINE + +@********************** Track 2 **********************@ + +se_w258_2: + .byte KEYSH , se_w258_key+0 + .byte VOICE , 4 + .byte VOL , 100*se_w258_mvl/mxv + .byte PAN , c_v+0 + .byte N01 , Dn4 , v040 + .byte W04 + .byte Bn3 + .byte W02 + .byte W03 + .byte Dn4 + .byte W03 + .byte W01 + .byte Bn3 , v032 + .byte W05 + .byte Dn4 + .byte W03 + .byte Bn3 , v012 + .byte W03 + .byte W02 + .byte Dn4 + .byte W04 + .byte FINE + +@******************************************************@ + .align 2 + +se_w258: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w258_pri @ Priority + .byte se_w258_rev @ Reverb. + + .word se_w258_grp + + .word se_w258_1 + .word se_w258_2 + + .end diff --git a/sound/songs/se_w260.s b/sound/songs/se_w260.s new file mode 100644 index 0000000000..e219c7d2e9 --- /dev/null +++ b/sound/songs/se_w260.s @@ -0,0 +1,67 @@ + .include "MPlayDef.s" + + .equ se_w260_grp, voicegroup_869D6F4 + .equ se_w260_pri, 4 + .equ se_w260_rev, reverb_set+50 + .equ se_w260_mvl, 127 + .equ se_w260_key, 0 + .equ se_w260_tbs, 1 + .equ se_w260_exg, 0 + .equ se_w260_cmp, 1 + + .section .rodata + .global se_w260 + .align 2 + +@********************** Track 1 **********************@ + +se_w260_1: + .byte KEYSH , se_w260_key+0 + .byte TEMPO , 150*se_w260_tbs/2 + .byte VOICE , 41 + .byte VOL , 100*se_w260_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N01 , Dn5 , v127 + .byte W01 + .byte Gn4 + .byte W01 + .byte N09 , En5 + .byte W02 + .byte PAN , c_v+6 + .byte W02 + .byte VOL , 92*se_w260_mvl/mxv + .byte PAN , c_v-8 + .byte W01 + .byte VOL , 83*se_w260_mvl/mxv + .byte PAN , c_v+6 + .byte W01 + .byte VOL , 71*se_w260_mvl/mxv + .byte PAN , c_v-8 + .byte BEND , c_v-4 + .byte W01 + .byte VOL , 46*se_w260_mvl/mxv + .byte PAN , c_v+11 + .byte BEND , c_v-8 + .byte W01 + .byte VOL , 22*se_w260_mvl/mxv + .byte PAN , c_v-12 + .byte BEND , c_v-15 + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_w260: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w260_pri @ Priority + .byte se_w260_rev @ Reverb. + + .word se_w260_grp + + .word se_w260_1 + + .end diff --git a/sound/songs/se_w268.s b/sound/songs/se_w268.s new file mode 100644 index 0000000000..124cf85bfb --- /dev/null +++ b/sound/songs/se_w268.s @@ -0,0 +1,186 @@ + .include "MPlayDef.s" + + .equ se_w268_grp, voicegroup_869D6F4 + .equ se_w268_pri, 4 + .equ se_w268_rev, reverb_set+50 + .equ se_w268_mvl, 127 + .equ se_w268_key, 0 + .equ se_w268_tbs, 1 + .equ se_w268_exg, 0 + .equ se_w268_cmp, 1 + + .section .rodata + .global se_w268 + .align 2 + +@********************** Track 1 **********************@ + +se_w268_1: + .byte KEYSH , se_w268_key+0 + .byte TEMPO , 150*se_w268_tbs/2 + .byte VOICE , 18 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 34*se_w268_mvl/mxv + .byte BEND , c_v+0 + .byte N66 , Cn5 , v127 + .byte W01 + .byte PAN , c_v-2 + .byte W01 + .byte VOL , 43*se_w268_mvl/mxv + .byte PAN , c_v+0 + .byte W01 + .byte c_v+2 + .byte BEND , c_v-2 + .byte W01 + .byte VOL , 58*se_w268_mvl/mxv + .byte PAN , c_v+0 + .byte W02 + .byte c_v-2 + .byte W01 + .byte VOL , 70*se_w268_mvl/mxv + .byte PAN , c_v-4 + .byte BEND , c_v-4 + .byte W01 + .byte PAN , c_v-2 + .byte W01 + .byte VOL , 76*se_w268_mvl/mxv + .byte PAN , c_v+0 + .byte W01 + .byte c_v+2 + .byte BEND , c_v-6 + .byte W02 + .byte VOL , 90*se_w268_mvl/mxv + .byte PAN , c_v+4 + .byte W01 + .byte c_v+2 + .byte W01 + .byte c_v+0 + .byte BEND , c_v-8 + .byte W01 + .byte PAN , c_v+0 + .byte W01 + .byte c_v-2 + .byte W02 + .byte c_v+0 + .byte BEND , c_v-13 + .byte W01 + .byte PAN , c_v+2 + .byte W01 + .byte c_v+0 + .byte W01 + .byte c_v-2 + .byte BEND , c_v-15 + .byte W01 + .byte PAN , c_v-4 + .byte W02 + .byte c_v-2 + .byte W01 + .byte c_v+0 + .byte BEND , c_v-19 + .byte W01 + .byte PAN , c_v+2 + .byte W01 + .byte c_v+4 + .byte BEND , c_v-22 + .byte W01 + .byte PAN , c_v+2 + .byte W02 + .byte c_v+0 + .byte BEND , c_v-19 + .byte W01 + .byte PAN , c_v+0 + .byte W01 + .byte c_v-2 + .byte BEND , c_v-17 + .byte W01 + .byte PAN , c_v+0 + .byte W01 + .byte c_v+2 + .byte W02 + .byte c_v+0 + .byte BEND , c_v-19 + .byte W01 + .byte PAN , c_v-2 + .byte W01 + .byte c_v-4 + .byte W01 + .byte c_v-2 + .byte BEND , c_v-22 + .byte W01 + .byte PAN , c_v+0 + .byte W02 + .byte c_v+2 + .byte BEND , c_v-28 + .byte W01 + .byte PAN , c_v+4 + .byte BEND , c_v-24 + .byte W01 + .byte PAN , c_v+2 + .byte W01 + .byte VOL , 84*se_w268_mvl/mxv + .byte PAN , c_v+0 + .byte W01 + .byte c_v+0 + .byte W02 + .byte c_v-2 + .byte W01 + .byte VOL , 78*se_w268_mvl/mxv + .byte PAN , c_v+0 + .byte W01 + .byte c_v+2 + .byte BEND , c_v-27 + .byte W01 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 70*se_w268_mvl/mxv + .byte PAN , c_v-2 + .byte W02 + .byte c_v-4 + .byte W01 + .byte VOL , 55*se_w268_mvl/mxv + .byte PAN , c_v-2 + .byte BEND , c_v-29 + .byte W01 + .byte PAN , c_v+0 + .byte W01 + .byte VOL , 46*se_w268_mvl/mxv + .byte PAN , c_v+2 + .byte W01 + .byte c_v+4 + .byte BEND , c_v-31 + .byte W02 + .byte VOL , 36*se_w268_mvl/mxv + .byte PAN , c_v+2 + .byte W01 + .byte c_v+0 + .byte W01 + .byte VOL , 24*se_w268_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-36 + .byte W01 + .byte PAN , c_v-2 + .byte W01 + .byte VOL , 13*se_w268_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v-42 + .byte W02 + .byte VOL , 5*se_w268_mvl/mxv + .byte PAN , c_v+2 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_w268: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_w268_pri @ Priority + .byte se_w268_rev @ Reverb. + + .word se_w268_grp + + .word se_w268_1 + + .end diff --git a/sound/songs/se_w280.s b/sound/songs/se_w280.s new file mode 100644 index 0000000000..62972a0253 --- /dev/null +++ b/sound/songs/se_w280.s @@ -0,0 +1,100 @@ + .include "MPlayDef.s" + + .equ se_w280_grp, voicegroup_869D6F4 + .equ se_w280_pri, 4 + .equ se_w280_rev, reverb_set+50 + .equ se_w280_mvl, 127 + .equ se_w280_key, 0 + .equ se_w280_tbs, 1 + .equ se_w280_exg, 0 + .equ se_w280_cmp, 1 + + .section .rodata + .global se_w280 + .align 2 + +@********************** Track 1 **********************@ + +se_w280_1: + .byte KEYSH , se_w280_key+0 + .byte TEMPO , 150*se_w280_tbs/2 + .byte VOICE , 41 + .byte VOL , 110*se_w280_mvl/mxv + .byte PAN , c_v+0 + .byte N01 , Cn4 , v127 + .byte W01 + .byte N03 , Cn5 + .byte W01 + .byte PAN , c_v+5 + .byte W01 + .byte c_v-6 + .byte W01 + .byte VOICE , 3 + .byte PAN , c_v+0 + .byte N01 , Gs4 , v112 + .byte W02 + .byte W03 + .byte PAN , c_v+7 + .byte N01 , Dn5 , v096 + .byte W03 + .byte W02 + .byte PAN , c_v+0 + .byte N01 , Gs4 , v084 + .byte W04 + .byte W01 + .byte PAN , c_v-8 + .byte N01 , Dn5 , v068 + .byte W05 + .byte PAN , c_v+7 + .byte N01 , Gs4 , v052 + .byte W04 + .byte PAN , c_v-8 + .byte N01 , Dn5 , v032 + .byte W02 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_w280_2: + .byte KEYSH , se_w280_key+0 + .byte VOICE , 4 + .byte VOL , 110*se_w280_mvl/mxv + .byte PAN , c_v+0 + .byte N01 , Cn3 , v064 + .byte W01 + .byte N03 , Gn3 + .byte W05 + .byte W01 + .byte N02 , En4 , v040 + .byte W05 + .byte Gn3 + .byte W04 + .byte En4 , v032 + .byte W02 + .byte W03 + .byte Gn3 + .byte W03 + .byte W02 + .byte En4 , v020 + .byte W04 + .byte W01 + .byte Gn3 + .byte W05 + .byte FINE + +@******************************************************@ + .align 2 + +se_w280: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w280_pri @ Priority + .byte se_w280_rev @ Reverb. + + .word se_w280_grp + + .word se_w280_1 + .word se_w280_2 + + .end diff --git a/sound/songs/se_w281.s b/sound/songs/se_w281.s new file mode 100644 index 0000000000..45f70b47a1 --- /dev/null +++ b/sound/songs/se_w281.s @@ -0,0 +1,127 @@ + .include "MPlayDef.s" + + .equ se_w281_grp, voicegroup_869D6F4 + .equ se_w281_pri, 4 + .equ se_w281_rev, reverb_set+50 + .equ se_w281_mvl, 127 + .equ se_w281_key, 0 + .equ se_w281_tbs, 1 + .equ se_w281_exg, 0 + .equ se_w281_cmp, 1 + + .section .rodata + .global se_w281 + .align 2 + +@********************** Track 1 **********************@ + +se_w281_1: + .byte VOL , 110*se_w281_mvl/mxv + .byte KEYSH , se_w281_key+0 + .byte TEMPO , 150*se_w281_tbs/2 + .byte VOICE , 61 + .byte BENDR , 44 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N48 , Cn4 , v108 + .byte W02 + .byte BEND , c_v-1 + .byte W01 + .byte c_v+0 + .byte W03 + .byte c_v+0 + .byte W01 + .byte c_v+0 + .byte W02 + .byte c_v+0 + .byte W01 + .byte c_v+0 + .byte W02 + .byte PAN , c_v-4 + .byte W01 + .byte BEND , c_v+0 + .byte W01 + .byte c_v+1 + .byte W02 + .byte c_v+1 + .byte W02 + .byte c_v+1 + .byte W02 + .byte c_v+1 + .byte W01 + .byte c_v+1 + .byte W03 + .byte PAN , c_v-10 + .byte BEND , c_v+1 + .byte W01 + .byte c_v+2 + .byte W02 + .byte c_v+2 + .byte W03 + .byte c_v+1 + .byte W02 + .byte c_v+2 + .byte W01 + .byte c_v+1 + .byte W03 + .byte PAN , c_v-4 + .byte BEND , c_v+1 + .byte W01 + .byte c_v+1 + .byte W02 + .byte c_v+1 + .byte W01 + .byte c_v+0 + .byte W02 + .byte c_v+0 + .byte W01 + .byte c_v-1 + .byte W01 + .byte c_v-1 + .byte W01 + .byte c_v-3 + .byte W01 + .byte c_v-3 + .byte W02 + .byte FINE + +@********************** Track 2 **********************@ + +se_w281_2: + .byte KEYSH , se_w281_key+0 + .byte VOICE , 66 + .byte BENDR , 44 + .byte PAN , c_v+1 + .byte VOL , 110*se_w281_mvl/mxv + .byte N48 , Dn3 , v020 + .byte W24 + .byte W03 + .byte VOL , 103*se_w281_mvl/mxv + .byte W04 + .byte 96*se_w281_mvl/mxv + .byte W03 + .byte 83*se_w281_mvl/mxv + .byte W04 + .byte 67*se_w281_mvl/mxv + .byte W04 + .byte 49*se_w281_mvl/mxv + .byte W03 + .byte 23*se_w281_mvl/mxv + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_w281: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w281_pri @ Priority + .byte se_w281_rev @ Reverb. + + .word se_w281_grp + + .word se_w281_1 + .word se_w281_2 + + .end diff --git a/sound/songs/se_w287.s b/sound/songs/se_w287.s new file mode 100644 index 0000000000..9b38309fe6 --- /dev/null +++ b/sound/songs/se_w287.s @@ -0,0 +1,283 @@ + .include "MPlayDef.s" + + .equ se_w287_grp, voicegroup_869D6F4 + .equ se_w287_pri, 4 + .equ se_w287_rev, reverb_set+50 + .equ se_w287_mvl, 127 + .equ se_w287_key, 0 + .equ se_w287_tbs, 1 + .equ se_w287_exg, 0 + .equ se_w287_cmp, 1 + + .section .rodata + .global se_w287 + .align 2 + +@********************** Track 1 **********************@ + +se_w287_1: + .byte KEYSH , se_w287_key+0 + .byte TEMPO , 170*se_w287_tbs/2 + .byte VOICE , 67 + .byte VOL , 70*se_w287_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N02 , An5 , v076 + .byte W01 + .byte BEND , c_v+0 + .byte W01 + .byte c_v+2 + .byte W01 + .byte PAN , c_v+6 + .byte BEND , c_v+5 + .byte N02 , An4 + .byte W01 + .byte BEND , c_v+8 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+12 + .byte N02 , Dn5 + .byte W01 + .byte BEND , c_v+16 + .byte W01 + .byte c_v+23 + .byte W01 + .byte PAN , c_v-6 + .byte BEND , c_v+32 + .byte N02 , Dn4 + .byte W01 + .byte BEND , c_v+42 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N02 , As5 + .byte W01 + .byte BEND , c_v+0 + .byte W01 + .byte c_v+2 + .byte W01 + .byte PAN , c_v+6 + .byte BEND , c_v+5 + .byte N02 , As4 + .byte W01 + .byte BEND , c_v+8 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+12 + .byte N02 , Ds5 + .byte W01 + .byte BEND , c_v+16 + .byte W01 + .byte c_v+23 + .byte W01 + .byte PAN , c_v-6 + .byte BEND , c_v+32 + .byte N02 , Ds4 + .byte W01 + .byte BEND , c_v+42 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N02 , Bn5 + .byte W01 + .byte BEND , c_v+0 + .byte W01 + .byte c_v+2 + .byte W01 + .byte PAN , c_v+6 + .byte BEND , c_v+5 + .byte N02 , Bn4 + .byte W01 + .byte BEND , c_v+8 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+12 + .byte N02 , En5 + .byte W01 + .byte BEND , c_v+16 + .byte W01 + .byte c_v+23 + .byte W01 + .byte PAN , c_v-6 + .byte BEND , c_v+32 + .byte N02 , En4 + .byte W01 + .byte BEND , c_v+42 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N02 , Cn6 + .byte W01 + .byte BEND , c_v+0 + .byte W01 + .byte c_v+2 + .byte W01 + .byte PAN , c_v+6 + .byte BEND , c_v+5 + .byte N02 , Cn5 + .byte W01 + .byte BEND , c_v+8 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+12 + .byte N02 , Fn5 + .byte W01 + .byte BEND , c_v+16 + .byte W01 + .byte c_v+23 + .byte W01 + .byte PAN , c_v-6 + .byte BEND , c_v+32 + .byte N02 , Fn4 + .byte W01 + .byte BEND , c_v+42 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N02 , Cs6 + .byte W01 + .byte BEND , c_v+0 + .byte W01 + .byte c_v+2 + .byte W01 + .byte PAN , c_v+6 + .byte BEND , c_v+5 + .byte N02 , Cs5 + .byte W01 + .byte BEND , c_v+8 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+12 + .byte N02 , Fn5 , v056 + .byte W01 + .byte BEND , c_v+16 + .byte W01 + .byte c_v+23 + .byte W01 + .byte PAN , c_v-12 + .byte BEND , c_v+32 + .byte N02 , Fn4 + .byte W01 + .byte BEND , c_v+42 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N02 , Cs6 + .byte W01 + .byte BEND , c_v+0 + .byte W01 + .byte c_v+2 + .byte W01 + .byte PAN , c_v+12 + .byte BEND , c_v+5 + .byte N02 , Cs5 + .byte W01 + .byte BEND , c_v+8 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+12 + .byte N02 , Fn5 , v032 + .byte W01 + .byte BEND , c_v+16 + .byte W01 + .byte c_v+23 + .byte W01 + .byte PAN , c_v-16 + .byte BEND , c_v+32 + .byte N02 , Fn4 + .byte W01 + .byte BEND , c_v+42 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+0 + .byte N02 , Cs6 + .byte W01 + .byte BEND , c_v+0 + .byte W01 + .byte c_v+2 + .byte W01 + .byte PAN , c_v+16 + .byte BEND , c_v+5 + .byte N02 , Cs5 + .byte W01 + .byte BEND , c_v+8 + .byte W02 + .byte FINE + +@********************** Track 2 **********************@ + +se_w287_2: + .byte KEYSH , se_w287_key+0 + .byte VOICE , 55 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 70*se_w287_mvl/mxv + .byte N02 , Cn3 , v052 + .byte W03 + .byte N02 + .byte W03 + .byte W01 + .byte Cs3 + .byte W03 + .byte N02 + .byte W02 + .byte W02 + .byte Dn3 + .byte W04 + .byte N02 + .byte W03 + .byte Ds3 + .byte W03 + .byte W01 + .byte N02 + .byte W03 + .byte En3 + .byte W02 + .byte W02 + .byte N02 + .byte W04 + .byte Fn3 + .byte W03 + .byte N02 + .byte W03 + .byte W01 + .byte Fs3 + .byte W03 + .byte N02 + .byte W02 + .byte W02 + .byte Gn3 + .byte W04 + .byte Gn3 , v032 + .byte W03 + .byte Gs3 + .byte W03 + .byte W01 + .byte N02 + .byte W03 + .byte An3 , v020 + .byte W02 + .byte W02 + .byte N02 + .byte W04 + .byte As3 , v012 + .byte W03 + .byte N02 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_w287: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w287_pri @ Priority + .byte se_w287_rev @ Reverb. + + .word se_w287_grp + + .word se_w287_1 + .word se_w287_2 + + .end diff --git a/sound/songs/se_w287b.s b/sound/songs/se_w287b.s new file mode 100644 index 0000000000..96313d020e --- /dev/null +++ b/sound/songs/se_w287b.s @@ -0,0 +1,271 @@ + .include "MPlayDef.s" + + .equ se_w287b_grp, voicegroup_869D6F4 + .equ se_w287b_pri, 4 + .equ se_w287b_rev, reverb_set+50 + .equ se_w287b_mvl, 127 + .equ se_w287b_key, 0 + .equ se_w287b_tbs, 1 + .equ se_w287b_exg, 0 + .equ se_w287b_cmp, 1 + + .section .rodata + .global se_w287b + .align 2 + +@********************** Track 1 **********************@ + +se_w287b_1: + .byte KEYSH , se_w287b_key+0 + .byte TEMPO , 170*se_w287b_tbs/2 + .byte VOICE , 67 + .byte VOL , 70*se_w287b_mvl/mxv + .byte PAN , c_v+0 + .byte BEND , c_v+42 + .byte N02 , Cs6 , v076 + .byte W01 + .byte BEND , c_v+31 + .byte W01 + .byte c_v+24 + .byte W01 + .byte PAN , c_v+6 + .byte BEND , c_v+16 + .byte N02 , Cs5 + .byte W01 + .byte BEND , c_v+12 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+8 + .byte N02 , Fs5 + .byte W01 + .byte BEND , c_v+5 + .byte W01 + .byte c_v+2 + .byte W01 + .byte PAN , c_v-6 + .byte BEND , c_v+0 + .byte N02 , Fs4 + .byte W03 + .byte PAN , c_v+0 + .byte BEND , c_v+42 + .byte N02 , Cn6 + .byte W01 + .byte BEND , c_v+31 + .byte W01 + .byte c_v+24 + .byte W01 + .byte PAN , c_v+6 + .byte BEND , c_v+16 + .byte N02 , Cn5 + .byte W01 + .byte BEND , c_v+12 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+8 + .byte N02 , Fn5 + .byte W01 + .byte BEND , c_v+5 + .byte W01 + .byte c_v+2 + .byte W01 + .byte PAN , c_v-6 + .byte BEND , c_v+0 + .byte N02 , Fn4 + .byte W03 + .byte PAN , c_v+0 + .byte BEND , c_v+42 + .byte N02 , Bn5 + .byte W01 + .byte BEND , c_v+31 + .byte W01 + .byte c_v+24 + .byte W01 + .byte PAN , c_v+6 + .byte BEND , c_v+16 + .byte N02 , Bn4 + .byte W01 + .byte BEND , c_v+12 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+8 + .byte N02 , En5 + .byte W01 + .byte BEND , c_v+5 + .byte W01 + .byte c_v+2 + .byte W01 + .byte PAN , c_v-6 + .byte BEND , c_v+0 + .byte N02 , En4 + .byte W03 + .byte PAN , c_v+0 + .byte BEND , c_v+42 + .byte N02 , As5 + .byte W01 + .byte BEND , c_v+31 + .byte W01 + .byte c_v+24 + .byte W01 + .byte PAN , c_v+6 + .byte BEND , c_v+16 + .byte N02 , As4 + .byte W01 + .byte BEND , c_v+12 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+8 + .byte N02 , Ds5 + .byte W01 + .byte BEND , c_v+5 + .byte W01 + .byte c_v+2 + .byte W01 + .byte PAN , c_v-6 + .byte BEND , c_v+0 + .byte N02 , Ds4 + .byte W03 + .byte PAN , c_v+0 + .byte BEND , c_v+42 + .byte N02 , An5 + .byte W01 + .byte BEND , c_v+31 + .byte W01 + .byte c_v+24 + .byte W01 + .byte PAN , c_v+6 + .byte BEND , c_v+16 + .byte N02 , An4 + .byte W01 + .byte BEND , c_v+12 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+8 + .byte N02 , Cs5 , v056 + .byte W01 + .byte BEND , c_v+5 + .byte W01 + .byte c_v+2 + .byte W01 + .byte PAN , c_v-12 + .byte BEND , c_v+0 + .byte N02 , Cs4 + .byte W03 + .byte PAN , c_v+0 + .byte BEND , c_v+42 + .byte N02 , An5 + .byte W01 + .byte BEND , c_v+31 + .byte W01 + .byte c_v+24 + .byte W01 + .byte PAN , c_v+12 + .byte BEND , c_v+16 + .byte N02 , An4 + .byte W01 + .byte BEND , c_v+12 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v+8 + .byte N02 , Cs5 , v032 + .byte W01 + .byte BEND , c_v+5 + .byte W01 + .byte c_v+2 + .byte W01 + .byte PAN , c_v-16 + .byte BEND , c_v+0 + .byte N02 , Cs4 + .byte W03 + .byte PAN , c_v+0 + .byte BEND , c_v+42 + .byte N02 , An5 + .byte W01 + .byte BEND , c_v+31 + .byte W01 + .byte c_v+24 + .byte W01 + .byte PAN , c_v+16 + .byte BEND , c_v+16 + .byte N02 , An4 + .byte W01 + .byte BEND , c_v+12 + .byte W02 + .byte FINE + +@********************** Track 2 **********************@ + +se_w287b_2: + .byte KEYSH , se_w287b_key+0 + .byte VOICE , 55 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 70*se_w287b_mvl/mxv + .byte N02 , As3 , v052 + .byte W03 + .byte N02 + .byte W03 + .byte W01 + .byte An3 + .byte W03 + .byte N02 + .byte W02 + .byte W02 + .byte Gs3 + .byte W04 + .byte N02 + .byte W03 + .byte Gn3 + .byte W03 + .byte W01 + .byte N02 + .byte W03 + .byte Fs3 + .byte W02 + .byte W02 + .byte N02 + .byte W04 + .byte Fn3 + .byte W03 + .byte N02 + .byte W03 + .byte W01 + .byte En3 + .byte W03 + .byte N02 + .byte W02 + .byte W02 + .byte Ds3 + .byte W04 + .byte Ds3 , v032 + .byte W03 + .byte Dn3 + .byte W03 + .byte W01 + .byte N02 + .byte W03 + .byte Cs3 , v020 + .byte W02 + .byte W02 + .byte N02 + .byte W04 + .byte Cn3 , v012 + .byte W03 + .byte N02 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_w287b: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w287b_pri @ Priority + .byte se_w287b_rev @ Reverb. + + .word se_w287b_grp + + .word se_w287b_1 + .word se_w287b_2 + + .end diff --git a/sound/songs/se_w291.s b/sound/songs/se_w291.s new file mode 100644 index 0000000000..22b7015398 --- /dev/null +++ b/sound/songs/se_w291.s @@ -0,0 +1,123 @@ + .include "MPlayDef.s" + + .equ se_w291_grp, voicegroup_869D6F4 + .equ se_w291_pri, 4 + .equ se_w291_rev, reverb_set+50 + .equ se_w291_mvl, 127 + .equ se_w291_key, 0 + .equ se_w291_tbs, 1 + .equ se_w291_exg, 0 + .equ se_w291_cmp, 1 + + .section .rodata + .global se_w291 + .align 2 + +@********************** Track 1 **********************@ + +se_w291_1: + .byte KEYSH , se_w291_key+0 + .byte TEMPO , 150*se_w291_tbs/2 + .byte VOICE , 36 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 105*se_w291_mvl/mxv + .byte BEND , c_v-18 + .byte N06 , Fn2 , v127 + .byte W03 + .byte PAN , c_v+3 + .byte BEND , c_v-16 + .byte W04 + .byte PAN , c_v+6 + .byte BEND , c_v-14 + .byte N04 + .byte W03 + .byte PAN , c_v+3 + .byte BEND , c_v-11 + .byte W02 + .byte N36 , Gn3 , v092 + .byte W02 + .byte PAN , c_v+0 + .byte BEND , c_v-8 + .byte W04 + .byte PAN , c_v-3 + .byte BEND , c_v-5 + .byte W02 + .byte VOL , 100*se_w291_mvl/mxv + .byte W01 + .byte PAN , c_v-6 + .byte BEND , c_v-2 + .byte W03 + .byte VOL , 94*se_w291_mvl/mxv + .byte W01 + .byte PAN , c_v-3 + .byte BEND , c_v+1 + .byte W02 + .byte VOL , 84*se_w291_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v+4 + .byte W04 + .byte PAN , c_v+3 + .byte VOL , 72*se_w291_mvl/mxv + .byte BEND , c_v+2 + .byte W04 + .byte PAN , c_v+6 + .byte VOL , 57*se_w291_mvl/mxv + .byte BEND , c_v-3 + .byte W03 + .byte PAN , c_v+3 + .byte VOL , 37*se_w291_mvl/mxv + .byte BEND , c_v-7 + .byte W03 + .byte VOL , 20*se_w291_mvl/mxv + .byte W01 + .byte PAN , c_v+0 + .byte BEND , c_v-11 + .byte W01 + .byte VOL , 7*se_w291_mvl/mxv + .byte W02 + .byte PAN , c_v-3 + .byte BEND , c_v-16 + .byte W02 + .byte FINE + +@********************** Track 2 **********************@ + +se_w291_2: + .byte KEYSH , se_w291_key+0 + .byte VOICE , 25 + .byte VOL , 105*se_w291_mvl/mxv + .byte N06 , An2 , v040 + .byte W06 + .byte Gn2 + .byte W06 + .byte Gs3 , v044 + .byte W07 + .byte Gs3 , v036 + .byte W05 + .byte W02 + .byte Gs3 , v028 + .byte W07 + .byte Gs3 , v020 + .byte W03 + .byte W04 + .byte Gs3 , v012 + .byte W08 + .byte FINE + +@******************************************************@ + .align 2 + +se_w291: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w291_pri @ Priority + .byte se_w291_rev @ Reverb. + + .word se_w291_grp + + .word se_w291_1 + .word se_w291_2 + + .end diff --git a/sound/songs/se_w298.s b/sound/songs/se_w298.s new file mode 100644 index 0000000000..d28d2e4477 --- /dev/null +++ b/sound/songs/se_w298.s @@ -0,0 +1,121 @@ + .include "MPlayDef.s" + + .equ se_w298_grp, voicegroup_869D6F4 + .equ se_w298_pri, 4 + .equ se_w298_rev, reverb_set+50 + .equ se_w298_mvl, 127 + .equ se_w298_key, 0 + .equ se_w298_tbs, 1 + .equ se_w298_exg, 0 + .equ se_w298_cmp, 1 + + .section .rodata + .global se_w298 + .align 2 + +@********************** Track 1 **********************@ + +se_w298_1: + .byte KEYSH , se_w298_key+0 + .byte TEMPO , 170*se_w298_tbs/2 + .byte VOICE , 37 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_w298_mvl/mxv + .byte BEND , c_v-4 + .byte N03 , Gn4 , v100 + .byte W06 + .byte PAN , c_v+16 + .byte N03 , Gn4 , v056 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , An5 , v100 + .byte W03 + .byte W03 + .byte PAN , c_v-15 + .byte N03 , An5 , v056 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , Cn6 , v100 + .byte W06 + .byte PAN , c_v+16 + .byte N03 , Cn6 , v056 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , Gn4 , v072 + .byte W03 + .byte W03 + .byte PAN , c_v-16 + .byte N03 , Gn4 , v028 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , An5 , v072 + .byte W06 + .byte PAN , c_v+16 + .byte N03 , An5 , v028 + .byte W03 + .byte PAN , c_v+0 + .byte N03 , Cn6 , v072 + .byte W03 + .byte W03 + .byte PAN , c_v-16 + .byte N03 , Cn6 , v028 + .byte W03 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_w298_2: + .byte KEYSH , se_w298_key+0 + .byte VOICE , 47 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte MOD , 20 + .byte VOL , 44*se_w298_mvl/mxv + .byte BEND , c_v-2 + .byte W03 + .byte N03 , Gn3 , v112 + .byte W03 + .byte W03 + .byte Gn3 , v068 + .byte W03 + .byte An4 , v112 + .byte W06 + .byte An4 , v068 + .byte W03 + .byte Cn5 , v112 + .byte W03 + .byte W03 + .byte Cn5 , v068 + .byte W03 + .byte Gn3 , v080 + .byte W06 + .byte Gn3 , v036 + .byte W03 + .byte An4 , v080 + .byte W03 + .byte W03 + .byte An4 , v036 + .byte W03 + .byte Cn5 , v080 + .byte W06 + .byte Cn5 , v036 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_w298: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w298_pri @ Priority + .byte se_w298_rev @ Reverb. + + .word se_w298_grp + + .word se_w298_1 + .word se_w298_2 + + .end diff --git a/sound/songs/se_w320.s b/sound/songs/se_w320.s new file mode 100644 index 0000000000..02eb2719ee --- /dev/null +++ b/sound/songs/se_w320.s @@ -0,0 +1,130 @@ + .include "MPlayDef.s" + + .equ se_w320_grp, voicegroup_869D6F4 + .equ se_w320_pri, 4 + .equ se_w320_rev, reverb_set+50 + .equ se_w320_mvl, 127 + .equ se_w320_key, 0 + .equ se_w320_tbs, 1 + .equ se_w320_exg, 0 + .equ se_w320_cmp, 1 + + .section .rodata + .global se_w320 + .align 2 + +@********************** Track 1 **********************@ + +se_w320_1: + .byte KEYSH , se_w320_key+0 + .byte TEMPO , 100*se_w320_tbs/2 + .byte VOICE , 64 + .byte BENDR , 2 + .byte LFOS , 40 + .byte PAN , c_v+0 + .byte VOL , 70*se_w320_mvl/mxv + .byte BEND , c_v-16 + .byte N21 , Gn5 , v112 + .byte W03 + .byte BEND , c_v-8 + .byte W03 + .byte c_v+0 + .byte W03 + .byte MOD , 10 + .byte W03 + .byte W09 + .byte 0 + .byte W03 + .byte N09 , An5 + .byte W12 + .byte En5 + .byte W12 + .byte BEND , c_v-14 + .byte N66 , Gn5 + .byte W06 + .byte BEND , c_v-8 + .byte W06 + .byte c_v-4 + .byte W06 + .byte c_v+0 + .byte W06 + .byte MOD , 10 + .byte W12 + .byte W12 + .byte W06 + .byte VOL , 61*se_w320_mvl/mxv + .byte W06 + .byte 51*se_w320_mvl/mxv + .byte W06 + .byte 36*se_w320_mvl/mxv + .byte W06 + .byte 18*se_w320_mvl/mxv + .byte W12 + .byte FINE + +@********************** Track 2 **********************@ + +se_w320_2: + .byte KEYSH , se_w320_key+0 + .byte VOICE , 64 + .byte BENDR , 2 + .byte LFOS , 40 + .byte VOL , 70*se_w320_mvl/mxv + .byte W12 + .byte PAN , c_v+12 + .byte BEND , c_v-16 + .byte N21 , Gn5 , v072 + .byte W03 + .byte BEND , c_v-8 + .byte W03 + .byte c_v+0 + .byte W03 + .byte MOD , 10 + .byte W03 + .byte W09 + .byte 0 + .byte W03 + .byte PAN , c_v-12 + .byte N09 , An5 + .byte W12 + .byte PAN , c_v+14 + .byte N09 , En5 + .byte W12 + .byte PAN , c_v-15 + .byte BEND , c_v-14 + .byte N66 , Gn5 + .byte W06 + .byte BEND , c_v-8 + .byte W06 + .byte c_v-4 + .byte W06 + .byte c_v+0 + .byte W06 + .byte MOD , 10 + .byte W12 + .byte W06 + .byte VOL , 61*se_w320_mvl/mxv + .byte W06 + .byte 51*se_w320_mvl/mxv + .byte W06 + .byte 36*se_w320_mvl/mxv + .byte W06 + .byte 18*se_w320_mvl/mxv + .byte W12 + .byte FINE + +@******************************************************@ + .align 2 + +se_w320: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w320_pri @ Priority + .byte se_w320_rev @ Reverb. + + .word se_w320_grp + + .word se_w320_1 + .word se_w320_2 + + .end diff --git a/sound/songs/se_w322.s b/sound/songs/se_w322.s new file mode 100644 index 0000000000..1529dd78a8 --- /dev/null +++ b/sound/songs/se_w322.s @@ -0,0 +1,208 @@ + .include "MPlayDef.s" + + .equ se_w322_grp, voicegroup_869D6F4 + .equ se_w322_pri, 4 + .equ se_w322_rev, reverb_set+50 + .equ se_w322_mvl, 127 + .equ se_w322_key, 0 + .equ se_w322_tbs, 1 + .equ se_w322_exg, 0 + .equ se_w322_cmp, 1 + + .section .rodata + .global se_w322 + .align 2 + +@********************** Track 1 **********************@ + +se_w322_1: + .byte KEYSH , se_w322_key+0 + .byte TEMPO , 150*se_w322_tbs/2 + .byte VOICE , 46 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 110*se_w322_mvl/mxv + .byte BEND , c_v-4 + .byte N09 , As5 , v112 + .byte W06 + .byte W03 + .byte PAN , c_v-5 + .byte N08 , Cn5 + .byte W03 + .byte W06 + .byte PAN , c_v-9 + .byte N10 , Gn5 + .byte W06 + .byte W04 + .byte PAN , c_v-5 + .byte N09 , Fn6 + .byte W02 + .byte W06 + .byte W02 + .byte PAN , c_v+0 + .byte N09 , An5 + .byte W04 + .byte W06 + .byte PAN , c_v+4 + .byte N09 , As5 + .byte W06 + .byte W03 + .byte PAN , c_v+9 + .byte N08 , Cn5 , v108 + .byte W03 + .byte W06 + .byte PAN , c_v+4 + .byte N10 , Gn5 , v104 + .byte W06 + .byte W04 + .byte PAN , c_v+0 + .byte N09 , Fn6 , v096 + .byte W02 + .byte W06 + .byte W02 + .byte PAN , c_v-5 + .byte N09 , An5 , v092 + .byte W04 + .byte W04 + .byte PAN , c_v-9 + .byte W02 + .byte N09 , As5 , v084 + .byte W06 + .byte W03 + .byte PAN , c_v-5 + .byte N08 , Cn5 , v080 + .byte W03 + .byte W06 + .byte N10 , Gn5 , v072 + .byte W01 + .byte PAN , c_v+0 + .byte W05 + .byte W04 + .byte c_v+4 + .byte N09 , Fn6 , v068 + .byte W02 + .byte W06 + .byte W02 + .byte PAN , c_v+9 + .byte N09 , An5 , v060 + .byte W04 + .byte W04 + .byte PAN , c_v+4 + .byte W02 + .byte N09 , As5 , v056 + .byte W06 + .byte W03 + .byte PAN , c_v+0 + .byte N08 , Cn5 , v052 + .byte W03 + .byte W06 + .byte N10 , Gn5 , v044 + .byte W01 + .byte PAN , c_v-5 + .byte W05 + .byte W03 + .byte c_v-9 + .byte W01 + .byte N09 , Fn6 , v040 + .byte W02 + .byte W06 + .byte W02 + .byte PAN , c_v-5 + .byte N09 , An5 , v032 + .byte W04 + .byte W06 + .byte PAN , c_v+0 + .byte W06 + .byte FINE + +@********************** Track 2 **********************@ + +se_w322_2: + .byte KEYSH , se_w322_key+0 + .byte VOICE , 53 + .byte XCMD , xIECV , 9 + .byte xIECL , 8 + .byte VOL , 43*se_w322_mvl/mxv + .byte BEND , c_v-2 + .byte W04 + .byte N08 , Fn5 , v112 + .byte W02 + .byte W06 + .byte W01 + .byte N10 , Ds5 + .byte W05 + .byte W06 + .byte N09 , As6 + .byte W06 + .byte W03 + .byte Cn6 + .byte W03 + .byte W06 + .byte N10 , Fn5 + .byte W06 + .byte W04 + .byte N08 + .byte W02 + .byte W06 + .byte W01 + .byte N10 , Ds5 , v104 + .byte W05 + .byte W06 + .byte N09 , As6 , v100 + .byte W06 + .byte W03 + .byte Cn6 , v092 + .byte W03 + .byte W06 + .byte N10 , Fn5 , v088 + .byte W06 + .byte W04 + .byte N08 , Fn5 , v080 + .byte W02 + .byte W06 + .byte W01 + .byte N10 , Ds5 , v076 + .byte W05 + .byte W06 + .byte N09 , As6 , v072 + .byte W06 + .byte W03 + .byte Cn6 , v064 + .byte W03 + .byte W06 + .byte N10 , Fn5 , v060 + .byte W06 + .byte W04 + .byte N08 , Fn5 , v052 + .byte W02 + .byte W06 + .byte W01 + .byte N10 , Ds5 , v048 + .byte W05 + .byte W06 + .byte N09 , As6 , v040 + .byte W06 + .byte W03 + .byte Cn6 , v036 + .byte W03 + .byte W06 + .byte N12 , Fn5 , v032 + .byte W06 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_w322: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w322_pri @ Priority + .byte se_w322_rev @ Reverb. + + .word se_w322_grp + + .word se_w322_1 + .word se_w322_2 + + .end diff --git a/sound/songs/se_w327.s b/sound/songs/se_w327.s new file mode 100644 index 0000000000..29056c7a0a --- /dev/null +++ b/sound/songs/se_w327.s @@ -0,0 +1,103 @@ + .include "MPlayDef.s" + + .equ se_w327_grp, voicegroup_869D6F4 + .equ se_w327_pri, 4 + .equ se_w327_rev, reverb_set+50 + .equ se_w327_mvl, 127 + .equ se_w327_key, 0 + .equ se_w327_tbs, 1 + .equ se_w327_exg, 0 + .equ se_w327_cmp, 1 + + .section .rodata + .global se_w327 + .align 2 + +@********************** Track 1 **********************@ + +se_w327_1: + .byte KEYSH , se_w327_key+0 + .byte TEMPO , 220*se_w327_tbs/2 + .byte VOICE , 41 + .byte VOL , 110*se_w327_mvl/mxv + .byte BENDR , 12 + .byte PAN , c_v+6 + .byte BEND , c_v+0 + .byte N02 , Cn4 , v127 + .byte W03 + .byte VOL , 104*se_w327_mvl/mxv + .byte W03 + .byte 93*se_w327_mvl/mxv + .byte PAN , c_v-6 + .byte N02 , Cn5 + .byte W03 + .byte VOL , 110*se_w327_mvl/mxv + .byte W01 + .byte VOICE , 22 + .byte PAN , c_v+0 + .byte N24 , Cn4 , v060 + .byte W02 + .byte W02 + .byte BEND , c_v+0 + .byte W04 + .byte c_v+1 + .byte W03 + .byte c_v+1 + .byte W01 + .byte VOL , 105*se_w327_mvl/mxv + .byte W02 + .byte BEND , c_v+0 + .byte W01 + .byte VOL , 103*se_w327_mvl/mxv + .byte W02 + .byte 91*se_w327_mvl/mxv + .byte BEND , c_v+0 + .byte W03 + .byte VOL , 77*se_w327_mvl/mxv + .byte BEND , c_v-1 + .byte W02 + .byte VOL , 61*se_w327_mvl/mxv + .byte BEND , c_v-2 + .byte W01 + .byte VOL , 38*se_w327_mvl/mxv + .byte W01 + .byte 15*se_w327_mvl/mxv + .byte BEND , c_v-3 + .byte W02 + .byte FINE + +@********************** Track 2 **********************@ + +se_w327_2: + .byte KEYSH , se_w327_key+0 + .byte VOICE , 4 + .byte VOL , 110*se_w327_mvl/mxv + .byte N02 , Cn3 , v060 + .byte W03 + .byte Gn2 + .byte W03 + .byte Gs4 + .byte W04 + .byte Gs4 , v020 + .byte W02 + .byte W06 + .byte W06 + .byte W06 + .byte W06 + .byte FINE + +@******************************************************@ + .align 2 + +se_w327: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w327_pri @ Priority + .byte se_w327_rev @ Reverb. + + .word se_w327_grp + + .word se_w327_1 + .word se_w327_2 + + .end diff --git a/sound/songs/se_w328.s b/sound/songs/se_w328.s new file mode 100644 index 0000000000..61c99a878d --- /dev/null +++ b/sound/songs/se_w328.s @@ -0,0 +1,197 @@ + .include "MPlayDef.s" + + .equ se_w328_grp, voicegroup_869D6F4 + .equ se_w328_pri, 4 + .equ se_w328_rev, reverb_set+50 + .equ se_w328_mvl, 127 + .equ se_w328_key, 0 + .equ se_w328_tbs, 1 + .equ se_w328_exg, 0 + .equ se_w328_cmp, 1 + + .section .rodata + .global se_w328 + .align 2 + +@********************** Track 1 **********************@ + +se_w328_1: + .byte KEYSH , se_w328_key+0 + .byte TEMPO , 150*se_w328_tbs/2 + .byte VOICE , 22 + .byte BENDR , 12 + .byte PAN , c_v+0 + .byte VOL , 64*se_w328_mvl/mxv + .byte BEND , c_v+0 + .byte N96 , En2 , v127 + .byte W03 + .byte VOL , 79*se_w328_mvl/mxv + .byte BEND , c_v+22 + .byte W02 + .byte c_v+8 + .byte W01 + .byte VOL , 84*se_w328_mvl/mxv + .byte PAN , c_v-4 + .byte W03 + .byte VOL , 91*se_w328_mvl/mxv + .byte BEND , c_v+0 + .byte W03 + .byte VOL , 100*se_w328_mvl/mxv + .byte PAN , c_v-8 + .byte W03 + .byte VOL , 110*se_w328_mvl/mxv + .byte W03 + .byte PAN , c_v-12 + .byte W06 + .byte c_v-17 + .byte BEND , c_v+0 + .byte W03 + .byte c_v-7 + .byte W03 + .byte PAN , c_v-9 + .byte BEND , c_v-12 + .byte W03 + .byte c_v-20 + .byte W03 + .byte PAN , c_v-3 + .byte W03 + .byte c_v+6 + .byte BEND , c_v-13 + .byte W03 + .byte PAN , c_v+10 + .byte W03 + .byte BEND , c_v-6 + .byte W03 + .byte PAN , c_v+16 + .byte W03 + .byte BEND , c_v+6 + .byte W03 + .byte PAN , c_v+13 + .byte BEND , c_v+11 + .byte W03 + .byte c_v+20 + .byte W03 + .byte PAN , c_v+8 + .byte W03 + .byte c_v+0 + .byte BEND , c_v+12 + .byte W03 + .byte PAN , c_v-8 + .byte BEND , c_v+7 + .byte W03 + .byte PAN , c_v-11 + .byte W03 + .byte c_v-17 + .byte VOL , 98*se_w328_mvl/mxv + .byte BEND , c_v+0 + .byte W03 + .byte VOL , 90*se_w328_mvl/mxv + .byte BEND , c_v-7 + .byte W03 + .byte PAN , c_v-9 + .byte BEND , c_v-12 + .byte W01 + .byte VOL , 80*se_w328_mvl/mxv + .byte W02 + .byte BEND , c_v-20 + .byte W01 + .byte VOL , 71*se_w328_mvl/mxv + .byte W02 + .byte PAN , c_v-3 + .byte W02 + .byte VOL , 58*se_w328_mvl/mxv + .byte W01 + .byte PAN , c_v+6 + .byte BEND , c_v-13 + .byte W03 + .byte PAN , c_v+10 + .byte VOL , 45*se_w328_mvl/mxv + .byte W02 + .byte 27*se_w328_mvl/mxv + .byte W01 + .byte BEND , c_v-6 + .byte W01 + .byte VOL , 11*se_w328_mvl/mxv + .byte W02 + .byte FINE + +@********************** Track 2 **********************@ + +se_w328_2: + .byte KEYSH , se_w328_key+0 + .byte VOICE , 57 + .byte PAN , c_v+0 + .byte VOL , 110*se_w328_mvl/mxv + .byte N03 , Cn3 , v100 + .byte W03 + .byte En3 , v080 + .byte W04 + .byte Dn3 + .byte W03 + .byte Cn3 , v100 + .byte W04 + .byte En3 , v080 + .byte W04 + .byte Dn3 + .byte W03 + .byte Cn3 , v100 + .byte W03 + .byte W01 + .byte En3 , v080 + .byte W03 + .byte Dn3 + .byte W04 + .byte Cn3 , v100 + .byte W04 + .byte En3 , v080 + .byte W03 + .byte Dn3 + .byte W04 + .byte Cn3 , v100 + .byte W03 + .byte En3 , v080 + .byte W02 + .byte W02 + .byte Dn3 + .byte W04 + .byte Cn3 , v100 + .byte W03 + .byte En3 , v080 + .byte W04 + .byte Dn3 + .byte W03 + .byte Cn3 , v100 + .byte W04 + .byte En3 , v080 + .byte W04 + .byte Dn3 + .byte W03 + .byte Cn3 , v092 + .byte W04 + .byte En3 , v060 + .byte W03 + .byte Dn3 , v052 + .byte W04 + .byte Cn3 , v060 + .byte W04 + .byte En3 , v032 + .byte W03 + .byte N02 , Dn3 , v020 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_w328: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_w328_pri @ Priority + .byte se_w328_rev @ Reverb. + + .word se_w328_grp + + .word se_w328_1 + .word se_w328_2 + + .end diff --git a/sound/songs/se_wall_hit.s b/sound/songs/se_wall_hit.s new file mode 100644 index 0000000000..2c3421dc0c --- /dev/null +++ b/sound/songs/se_wall_hit.s @@ -0,0 +1,41 @@ + .include "MPlayDef.s" + + .equ se_wall_hit_grp, voicegroup_869D0F4 + .equ se_wall_hit_pri, 2 + .equ se_wall_hit_rev, reverb_set+50 + .equ se_wall_hit_mvl, 127 + .equ se_wall_hit_key, 0 + .equ se_wall_hit_tbs, 1 + .equ se_wall_hit_exg, 0 + .equ se_wall_hit_cmp, 1 + + .section .rodata + .global se_wall_hit + .align 2 + +@********************** Track 1 **********************@ + +se_wall_hit_1: + .byte KEYSH , se_wall_hit_key+0 + .byte TEMPO , 220*se_wall_hit_tbs/2 + .byte VOICE , 89 + .byte VOL , 80*se_wall_hit_mvl/mxv + .byte BEND , c_v+0 + .byte N18 , Gn1 , v127 + .byte W24 + .byte FINE + +@******************************************************@ + .align 2 + +se_wall_hit: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_wall_hit_pri @ Priority + .byte se_wall_hit_rev @ Reverb. + + .word se_wall_hit_grp + + .word se_wall_hit_1 + + .end diff --git a/sound/songs/se_win_open.s b/sound/songs/se_win_open.s new file mode 100644 index 0000000000..8dd6857614 --- /dev/null +++ b/sound/songs/se_win_open.s @@ -0,0 +1,42 @@ + .include "MPlayDef.s" + + .equ se_win_open_grp, voicegroup_869D0F4 + .equ se_win_open_pri, 5 + .equ se_win_open_rev, reverb_set+50 + .equ se_win_open_mvl, 127 + .equ se_win_open_key, 0 + .equ se_win_open_tbs, 1 + .equ se_win_open_exg, 0 + .equ se_win_open_cmp, 1 + + .section .rodata + .global se_win_open + .align 2 + +@********************** Track 1 **********************@ + +se_win_open_1: + .byte KEYSH , se_win_open_key+0 + .byte TEMPO , 220*se_win_open_tbs/2 + .byte VOICE , 127 + .byte VOL , 110*se_win_open_mvl/mxv + .byte N03 , Ds3 , v127 + .byte W03 + .byte N15 , Gn4 + .byte W21 + .byte FINE + +@******************************************************@ + .align 2 + +se_win_open: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_win_open_pri @ Priority + .byte se_win_open_rev @ Reverb. + + .word se_win_open_grp + + .word se_win_open_1 + + .end diff --git a/sound/songs/se_z_page.s b/sound/songs/se_z_page.s new file mode 100644 index 0000000000..bc4a2873ef --- /dev/null +++ b/sound/songs/se_z_page.s @@ -0,0 +1,54 @@ + .include "MPlayDef.s" + + .equ se_z_page_grp, voicegroup_869D0F4 + .equ se_z_page_pri, 5 + .equ se_z_page_rev, reverb_set+50 + .equ se_z_page_mvl, 127 + .equ se_z_page_key, 0 + .equ se_z_page_tbs, 1 + .equ se_z_page_exg, 0 + .equ se_z_page_cmp, 1 + + .section .rodata + .global se_z_page + .align 2 + +@********************** Track 1 **********************@ + +se_z_page_1: + .byte KEYSH , se_z_page_key+0 + .byte TEMPO , 100*se_z_page_tbs/2 + .byte VOICE , 4 + .byte BENDR , 12 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 90*se_z_page_mvl/mxv + .byte BEND , c_v+4 + .byte N01 , Cn5 , v064 + .byte W01 + .byte Cn5 , v020 + .byte W01 + .byte Cn5 , v064 + .byte W01 + .byte Cn5 , v020 + .byte W01 + .byte Cn6 , v064 + .byte W02 + .byte Cn6 , v020 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_z_page: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_z_page_pri @ Priority + .byte se_z_page_rev @ Reverb. + + .word se_z_page_grp + + .word se_z_page_1 + + .end diff --git a/sound/songs/se_z_scroll.s b/sound/songs/se_z_scroll.s new file mode 100644 index 0000000000..2b3f0d6875 --- /dev/null +++ b/sound/songs/se_z_scroll.s @@ -0,0 +1,46 @@ + .include "MPlayDef.s" + + .equ se_z_scroll_grp, voicegroup_869D0F4 + .equ se_z_scroll_pri, 5 + .equ se_z_scroll_rev, reverb_set+50 + .equ se_z_scroll_mvl, 127 + .equ se_z_scroll_key, 0 + .equ se_z_scroll_tbs, 1 + .equ se_z_scroll_exg, 0 + .equ se_z_scroll_cmp, 1 + + .section .rodata + .global se_z_scroll + .align 2 + +@********************** Track 1 **********************@ + +se_z_scroll_1: + .byte KEYSH , se_z_scroll_key+0 + .byte TEMPO , 100*se_z_scroll_tbs/2 + .byte VOICE , 4 + .byte BENDR , 12 + .byte XCMD , xIECV , 10 + .byte xIECL , 8 + .byte VOL , 40*se_z_scroll_mvl/mxv + .byte BEND , c_v+4 + .byte N01 , Gn4 , v127 + .byte W01 + .byte Gn4 , v020 + .byte W02 + .byte FINE + +@******************************************************@ + .align 2 + +se_z_scroll: + .byte 1 @ NumTrks + .byte 0 @ NumBlks + .byte se_z_scroll_pri @ Priority + .byte se_z_scroll_rev @ Reverb. + + .word se_z_scroll_grp + + .word se_z_scroll_1 + + .end diff --git a/sound/songs/se_z_search.s b/sound/songs/se_z_search.s new file mode 100644 index 0000000000..268da5ad1b --- /dev/null +++ b/sound/songs/se_z_search.s @@ -0,0 +1,304 @@ + .include "MPlayDef.s" + + .equ se_z_search_grp, voicegroup_869D0F4 + .equ se_z_search_pri, 5 + .equ se_z_search_rev, reverb_set+50 + .equ se_z_search_mvl, 127 + .equ se_z_search_key, 0 + .equ se_z_search_tbs, 1 + .equ se_z_search_exg, 0 + .equ se_z_search_cmp, 1 + + .section .rodata + .global se_z_search + .align 2 + +@********************** Track 1 **********************@ + +se_z_search_1: + .byte KEYSH , se_z_search_key+0 + .byte TEMPO , 144*se_z_search_tbs/2 + .byte VOICE , 4 + .byte XCMD , xIECV , 12 + .byte xIECL , 10 + .byte VOL , 100*se_z_search_mvl/mxv + .byte BEND , c_v-6 + .byte N02 , Ds5 , v060 + .byte W02 + .byte BEND , c_v+6 + .byte N01 , Ds4 , v040 + .byte W01 + .byte BEND , c_v-6 + .byte N02 , Ds4 , v060 + .byte W03 + .byte BEND , c_v+6 + .byte N01 , Ds3 , v040 + .byte W01 + .byte BEND , c_v-6 + .byte N02 , Ds5 , v060 + .byte W02 + .byte BEND , c_v+6 + .byte N01 , Ds4 , v040 + .byte W01 + .byte BEND , c_v-6 + .byte N02 , As4 , v060 + .byte W03 + .byte BEND , c_v+6 + .byte N01 , As3 , v040 + .byte W01 + .byte BEND , c_v-6 + .byte N02 , Ds5 , v060 + .byte W02 + .byte BEND , c_v+6 + .byte N01 , Ds4 , v040 + .byte W02 + .byte BEND , c_v-6 + .byte N02 , As4 , v060 + .byte W02 + .byte BEND , c_v+6 + .byte N01 , As3 , v040 + .byte W01 + .byte BEND , c_v-6 + .byte N02 , Ds5 , v060 + .byte W03 + .byte BEND , c_v+6 + .byte N01 , Ds4 , v040 + .byte W01 + .byte BEND , c_v-6 + .byte N02 , Ds4 , v060 + .byte W02 + .byte BEND , c_v+6 + .byte N01 , Ds3 , v040 + .byte W01 + .byte BEND , c_v-6 + .byte N02 , Ds5 , v060 + .byte W03 + .byte BEND , c_v+6 + .byte N01 , Ds4 , v040 + .byte W01 + .byte BEND , c_v-6 + .byte N02 , Ds4 , v060 + .byte W02 + .byte BEND , c_v+6 + .byte N01 , Ds3 , v040 + .byte W02 + .byte BEND , c_v-6 + .byte N02 , Ds5 , v060 + .byte W02 + .byte BEND , c_v+6 + .byte N01 , Ds4 , v040 + .byte W01 + .byte BEND , c_v-6 + .byte N02 , As4 , v060 + .byte W03 + .byte BEND , c_v+6 + .byte N01 , As3 , v040 + .byte W01 + .byte BEND , c_v-6 + .byte N02 , Ds5 , v060 + .byte W02 + .byte BEND , c_v+6 + .byte N01 , Ds4 , v040 + .byte W01 + .byte BEND , c_v-6 + .byte N02 , As4 , v060 + .byte W02 + .byte W01 + .byte BEND , c_v+6 + .byte N01 , As3 , v040 + .byte W01 + .byte BEND , c_v-6 + .byte N02 , Ds5 , v060 + .byte W02 + .byte BEND , c_v+6 + .byte N01 , Ds4 , v040 + .byte W02 + .byte BEND , c_v-6 + .byte N02 , Ds4 , v060 + .byte W02 + .byte BEND , c_v+6 + .byte N01 , Ds3 , v040 + .byte W01 + .byte BEND , c_v-6 + .byte N02 , Ds5 , v060 + .byte W03 + .byte BEND , c_v+6 + .byte N01 , Ds4 , v040 + .byte W01 + .byte BEND , c_v-6 + .byte N02 , As4 , v060 + .byte W02 + .byte BEND , c_v+6 + .byte N01 , As3 , v040 + .byte W01 + .byte BEND , c_v-6 + .byte N02 , Ds4 , v060 + .byte W03 + .byte BEND , c_v+6 + .byte N01 , Ds3 , v040 + .byte W01 + .byte BEND , c_v-7 + .byte N02 , Ds5 , v060 + .byte W04 + .byte FINE + +@********************** Track 2 **********************@ + +se_z_search_2: + .byte KEYSH , se_z_search_key+0 + .byte VOICE , 14 + .byte VOL , 50*se_z_search_mvl/mxv + .byte BEND , c_v-8 + .byte W01 + .byte N02 , Ds5 , v060 + .byte W01 + .byte BEND , c_v+4 + .byte W01 + .byte c_v-8 + .byte N01 , Ds4 , v040 + .byte W01 + .byte N02 , Ds4 , v060 + .byte W02 + .byte BEND , c_v+4 + .byte W01 + .byte c_v-8 + .byte N01 , Ds3 , v040 + .byte W01 + .byte N02 , Ds5 , v060 + .byte W01 + .byte BEND , c_v+4 + .byte W01 + .byte c_v-8 + .byte N01 , Ds4 , v040 + .byte W02 + .byte N02 , As4 , v060 + .byte W01 + .byte BEND , c_v+4 + .byte W01 + .byte c_v-8 + .byte N01 , As3 , v040 + .byte W01 + .byte N02 , Ds5 , v060 + .byte W01 + .byte BEND , c_v+4 + .byte W02 + .byte c_v-8 + .byte N01 , Ds4 , v040 + .byte W01 + .byte N02 , As4 , v060 + .byte W01 + .byte BEND , c_v+4 + .byte W01 + .byte c_v-8 + .byte N01 , As3 , v040 + .byte W01 + .byte N02 , Ds5 , v060 + .byte W02 + .byte BEND , c_v+4 + .byte W01 + .byte c_v-8 + .byte N01 , Ds4 , v040 + .byte W01 + .byte N02 , Ds4 , v060 + .byte W01 + .byte BEND , c_v+4 + .byte W01 + .byte c_v-8 + .byte N01 , Ds3 , v040 + .byte W02 + .byte N02 , Ds5 , v060 + .byte W01 + .byte BEND , c_v+4 + .byte W01 + .byte c_v-8 + .byte N01 , Ds4 , v040 + .byte W01 + .byte N02 , Ds4 , v060 + .byte W01 + .byte BEND , c_v+4 + .byte W02 + .byte c_v-8 + .byte N01 , Ds3 , v040 + .byte W01 + .byte N02 , Ds5 , v060 + .byte W01 + .byte BEND , c_v+4 + .byte W01 + .byte c_v-8 + .byte N01 , Ds4 , v040 + .byte W01 + .byte N02 , As4 , v060 + .byte W02 + .byte BEND , c_v+4 + .byte W01 + .byte c_v-8 + .byte N01 , As3 , v040 + .byte W01 + .byte N02 , Ds5 , v060 + .byte W01 + .byte BEND , c_v+4 + .byte W01 + .byte c_v-8 + .byte N01 , Ds4 , v040 + .byte W02 + .byte N02 , As4 , v060 + .byte W01 + .byte BEND , c_v+4 + .byte W01 + .byte c_v-8 + .byte N01 , As3 , v040 + .byte W01 + .byte N02 , Ds5 , v060 + .byte W01 + .byte BEND , c_v+4 + .byte W02 + .byte c_v-8 + .byte N01 , Ds4 , v040 + .byte W01 + .byte N02 , Ds4 , v060 + .byte W01 + .byte BEND , c_v+4 + .byte W01 + .byte c_v-8 + .byte N01 , Ds3 , v040 + .byte W01 + .byte N02 , Ds5 , v060 + .byte W02 + .byte BEND , c_v+4 + .byte W01 + .byte c_v-8 + .byte N01 , Ds4 , v040 + .byte W01 + .byte N02 , As4 , v060 + .byte W01 + .byte BEND , c_v+4 + .byte W01 + .byte c_v-8 + .byte N01 , As3 , v040 + .byte W02 + .byte N02 , Ds4 , v060 + .byte W01 + .byte BEND , c_v+4 + .byte W01 + .byte c_v-8 + .byte N01 , Ds3 , v040 + .byte W01 + .byte N02 , Ds5 , v060 + .byte W03 + .byte FINE + +@******************************************************@ + .align 2 + +se_z_search: + .byte 2 @ NumTrks + .byte 0 @ NumBlks + .byte se_z_search_pri @ Priority + .byte se_z_search_rev @ Reverb. + + .word se_z_search_grp + + .word se_z_search_1 + .word se_z_search_2 + + .end diff --git a/sound/voice_groups.inc b/sound/voice_groups.inc new file mode 100644 index 0000000000..c7b64aceda --- /dev/null +++ b/sound/voice_groups.inc @@ -0,0 +1,21945 @@ + .align 2 +voicegroup_pokemon_cry:: @ 8675D04 + voice_keysplit_all voicegroup_8675FEC @ 8675D04 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8675D10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675D1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675D28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675D34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675D40 + voice_square_2 2, 0, 0, 9, 2 @ 8675D4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675D58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675D64 + voice_directsound 60, 0, DirectSoundWaveData_86B5D04, 255, 165, 51, 235 @ 8675D70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675D7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675D88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675D94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675DA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675DAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675DB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675DC4 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 127 @ 8675DD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675DDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675DE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675DF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675E00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675E0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675E18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675E24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675E30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675E3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675E48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675E54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675E60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675E6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675E78 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 149 @ 8675E84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675E90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675E9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675EA8 + voice_directsound 60, 0, DirectSoundWaveData_86B776C, 255, 235, 128, 115 @ 8675EB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675EC0 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 8675ECC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675ED8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675EE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675EF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675EFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F2C + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 204, 193, 239 @ 8675F38 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8675F44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675F98 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8675FA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675FB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675FBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675FC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675FD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675FE0 + + .align 2 +voicegroup_8675FEC:: @ 8675FEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675FEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8675FF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676004 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676010 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867601C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676028 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676034 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676040 + voice_square_1 0, 2, 0, 1, 6, 0 @ 867604C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676058 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676064 + voice_programmable_wave ProgrammableWaveData_86B4830, 0, 7, 15, 1 @ 8676070 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867607C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676088 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676094 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86760A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86760AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86760B8 + voice_square_2 2, 0, 1, 6, 0 @ 86760C4 + voice_programmable_wave ProgrammableWaveData_86B4850, 0, 7, 15, 1 @ 86760D0 + voice_square_1 0, 2, 0, 1, 6, 0 @ 86760DC + voice_square_2 3, 0, 1, 6, 0 @ 86760E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86760F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676100 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867610C + voice_square_1 0, 0, 0, 1, 6, 0 @ 8676118 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676124 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676130 + voice_directsound 60, 0, DirectSoundWaveData_86BA7E8, 255, 0, 255, 0 @ 867613C + + .align 2 +voicegroup_8676148:: @ 8676148 + voice_directsound 60, 0, DirectSoundWaveData_86BBE98, 255, 165, 154, 127 @ 8676148 + voice_directsound 60, 0, DirectSoundWaveData_86BD1DC, 255, 165, 154, 127 @ 8676154 + voice_directsound 60, 0, DirectSoundWaveData_86BDC80, 255, 165, 206, 127 @ 8676160 + voice_directsound 60, 0, DirectSoundWaveData_86BEF94, 255, 165, 206, 127 @ 867616C + voice_directsound 60, 0, DirectSoundWaveData_86C2590, 255, 0, 255, 0 @ 8676178 + voice_directsound 60, 0, DirectSoundWaveData_86C2A68, 255, 0, 255, 0 @ 8676184 + voice_directsound 60, 0, DirectSoundWaveData_86C4344, 255, 0, 255, 0 @ 8676190 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_86C566C, 255, 0, 255, 242 @ 867619C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86761A8 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_86C5B0C, 255, 0, 255, 242 @ 86761B4 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_86C6200, 255, 255, 255, 127 @ 86761C0 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_86C6A90, 255, 0, 255, 242 @ 86761CC + voice_directsound 48, 44, DirectSoundWaveData_86C7308, 255, 210, 77, 204 @ 86761D8 + voice_directsound_no_resample 60, 79, DirectSoundWaveData_86C8348, 255, 127, 0, 188 @ 86761E4 + voice_directsound 51, 54, DirectSoundWaveData_86C7308, 255, 216, 77, 204 @ 86761F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86761FC + voice_directsound 54, 64, DirectSoundWaveData_86C7308, 255, 216, 77, 204 @ 8676208 + voice_directsound_no_resample 60, 79, DirectSoundWaveData_86C875C, 255, 242, 141, 0 @ 8676214 + voice_directsound 57, 69, DirectSoundWaveData_86C7308, 255, 210, 77, 204 @ 8676220 + voice_directsound 60, 79, DirectSoundWaveData_86C7308, 255, 204, 77, 204 @ 867622C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676238 + voice_directsound 62, 84, DirectSoundWaveData_86C7308, 255, 204, 77, 204 @ 8676244 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676250 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867625C + voice_directsound_no_resample 70, 49, DirectSoundWaveData_86C958C, 255, 165, 103, 231 @ 8676268 + voice_directsound_no_resample 32, 34, DirectSoundWaveData_86CA520, 255, 127, 77, 204 @ 8676274 + voice_directsound_no_resample 60, 14, DirectSoundWaveData_86CADD4, 255, 235, 0, 165 @ 8676280 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867628C + voice_directsound_no_resample 30, 54, DirectSoundWaveData_86CB6B8, 255, 246, 0, 216 @ 8676298 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86762A4 + voice_directsound_no_resample 30, 54, DirectSoundWaveData_86CB6B8, 255, 246, 0, 216 @ 86762B0 + voice_directsound_no_resample 30, 64, DirectSoundWaveData_86CB6B8, 8, 0, 255, 216 @ 86762BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86762C8 + voice_directsound_no_resample 72, 104, DirectSoundWaveData_86CC5E4, 255, 0, 255, 0 @ 86762D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86762E0 + voice_directsound_no_resample 72, 94, DirectSoundWaveData_86CCAFC, 255, 0, 255, 0 @ 86762EC + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86CD0C4, 255, 0, 255, 0 @ 86762F8 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86CDFDC, 255, 180, 175, 228 @ 8676304 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86CDFDC, 255, 0, 255, 242 @ 8676310 + voice_directsound_no_resample 64, 54, DirectSoundWaveData_86C6200, 255, 255, 255, 127 @ 867631C + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86C6A90, 255, 0, 255, 242 @ 8676328 + voice_directsound 64, 24, DirectSoundWaveData_86CF950, 255, 0, 255, 226 @ 8676334 + voice_directsound_no_resample 64, 80, DirectSoundWaveData_86C6A90, 255, 0, 255, 242 @ 8676340 + voice_directsound 68, 34, DirectSoundWaveData_86CF950, 255, 0, 255, 226 @ 867634C + voice_directsound_no_resample 60, 64, DirectSoundWaveData_86C5B0C, 255, 0, 255, 242 @ 8676358 + voice_directsound 72, 44, DirectSoundWaveData_86CF950, 255, 0, 255, 226 @ 8676364 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_86C5B0C, 255, 0, 255, 242 @ 8676370 + voice_directsound 76, 84, DirectSoundWaveData_86CF950, 255, 0, 255, 226 @ 867637C + voice_directsound 80, 94, DirectSoundWaveData_86CF950, 255, 0, 255, 226 @ 8676388 + voice_directsound_no_resample 33, 89, DirectSoundWaveData_86CB6B8, 255, 235, 0, 231 @ 8676394 + voice_directsound 84, 104, DirectSoundWaveData_86CF950, 255, 0, 255, 235 @ 86763A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86763AC + voice_directsound 63, 64, DirectSoundWaveData_86CB6B8, 255, 235, 0, 231 @ 86763B8 + voice_directsound_no_resample 64, 24, DirectSoundWaveData_86D1A2C, 255, 165, 103, 231 @ 86763C4 + + .align 2 +voicegroup_86763D0:: @ 86763D0 + voice_directsound_no_resample 64, 34, DirectSoundWaveData_86CA520, 255, 127, 77, 204 @ 86763D0 + voice_directsound_no_resample 64, 14, DirectSoundWaveData_86CADD4, 255, 231, 0, 188 @ 86763DC + voice_directsound_no_resample 64, 89, DirectSoundWaveData_86D925C, 255, 0, 255, 242 @ 86763E8 + voice_directsound_no_resample 64, 29, DirectSoundWaveData_86CB6B8, 255, 235, 0, 231 @ 86763F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676400 + voice_directsound_no_resample 64, 54, DirectSoundWaveData_86CB6B8, 255, 235, 0, 231 @ 867640C + voice_directsound_no_resample 64, 54, DirectSoundWaveData_86CB6B8, 8, 0, 255, 216 @ 8676418 + voice_directsound_no_resample 64, 94, DirectSoundWaveData_86D9C14, 255, 0, 255, 0 @ 8676424 + voice_directsound_no_resample 64, 34, DirectSoundWaveData_86CC5E4, 255, 0, 255, 0 @ 8676430 + voice_directsound_no_resample 64, 34, DirectSoundWaveData_86CCAFC, 255, 0, 255, 0 @ 867643C + voice_directsound_no_resample 64, 90, DirectSoundWaveData_86CCAFC, 255, 0, 255, 0 @ 8676448 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676454 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676460 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867646C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676478 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676484 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676490 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867649C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86764A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86764B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86764C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86764CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86764D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86764E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86764F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86764FC + voice_directsound_no_resample 64, 39, DirectSoundWaveData_86DAA94, 255, 242, 103, 188 @ 8676508 + voice_directsound_no_resample 64, 79, DirectSoundWaveData_86DAA94, 255, 242, 103, 188 @ 8676514 + voice_directsound_no_resample 64, 39, DirectSoundWaveData_86DAA94, 255, 165, 103, 188 @ 8676520 + voice_directsound_no_resample 64, 24, DirectSoundWaveData_86DB908, 255, 0, 255, 0 @ 867652C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676538 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676544 + voice_directsound_no_resample 64, 104, DirectSoundWaveData_86DD11C, 255, 0, 255, 0 @ 8676550 + voice_directsound 63, 64, DirectSoundWaveData_86DE6C0, 255, 0, 255, 0 @ 867655C + voice_directsound 50, 84, DirectSoundWaveData_86DFCA4, 255, 0, 255, 0 @ 8676568 + voice_directsound 64, 84, DirectSoundWaveData_86DFCA4, 255, 0, 255, 0 @ 8676574 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_86DE6C0, 255, 0, 255, 0 @ 8676580 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86CDFDC, 255, 180, 175, 228 @ 867658C + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86CDFDC, 255, 0, 255, 242 @ 8676598 + voice_directsound_no_resample 64, 54, DirectSoundWaveData_86C6200, 255, 255, 255, 127 @ 86765A4 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86C6A90, 255, 0, 255, 242 @ 86765B0 + voice_directsound 64, 24, DirectSoundWaveData_86CF950, 255, 0, 255, 226 @ 86765BC + voice_directsound_no_resample 64, 80, DirectSoundWaveData_86C6A90, 255, 0, 255, 242 @ 86765C8 + voice_directsound 68, 34, DirectSoundWaveData_86CF950, 255, 0, 255, 226 @ 86765D4 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_86C5B0C, 255, 0, 255, 242 @ 86765E0 + voice_directsound 72, 44, DirectSoundWaveData_86CF950, 255, 0, 255, 226 @ 86765EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86765F8 + voice_directsound 76, 84, DirectSoundWaveData_86CF950, 255, 0, 255, 226 @ 8676604 + voice_directsound 80, 94, DirectSoundWaveData_86CF950, 255, 0, 255, 226 @ 8676610 + voice_directsound_no_resample 33, 89, DirectSoundWaveData_86CB6B8, 255, 235, 0, 231 @ 867661C + voice_directsound 64, 104, DirectSoundWaveData_86DE6C0, 255, 0, 255, 235 @ 8676628 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676634 + voice_directsound 63, 64, DirectSoundWaveData_86CB6B8, 255, 235, 0, 231 @ 8676640 + voice_directsound_no_resample 64, 24, DirectSoundWaveData_86D1A2C, 255, 165, 103, 231 @ 867664C + + .align 2 +voicegroup_8676658:: @ 8676658 + voice_directsound_no_resample 66, 34, DirectSoundWaveData_86CA520, 255, 127, 77, 204 @ 8676658 + voice_directsound_no_resample 64, 14, DirectSoundWaveData_86CADD4, 255, 231, 0, 188 @ 8676664 + voice_directsound_no_resample 64, 89, DirectSoundWaveData_86D925C, 255, 0, 255, 242 @ 8676670 + voice_directsound_no_resample 64, 29, DirectSoundWaveData_86CB6B8, 255, 235, 0, 231 @ 867667C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676688 + voice_directsound_no_resample 64, 54, DirectSoundWaveData_86CB6B8, 255, 235, 0, 231 @ 8676694 + voice_directsound_no_resample 64, 54, DirectSoundWaveData_86CB6B8, 8, 0, 255, 216 @ 86766A0 + voice_directsound_no_resample 64, 94, DirectSoundWaveData_86D9C14, 255, 0, 255, 0 @ 86766AC + voice_directsound_no_resample 64, 34, DirectSoundWaveData_86CC5E4, 255, 0, 255, 0 @ 86766B8 + voice_directsound_no_resample 64, 34, DirectSoundWaveData_86CCAFC, 255, 0, 255, 0 @ 86766C4 + voice_directsound_no_resample 64, 90, DirectSoundWaveData_86CCAFC, 255, 0, 255, 0 @ 86766D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86766DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86766E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86766F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676700 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867670C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676718 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676724 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676730 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867673C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676748 + voice_directsound_no_resample 61, 84, DirectSoundWaveData_86C4344, 255, 0, 255, 0 @ 8676754 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86C2A68, 255, 0, 255, 0 @ 8676760 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867676C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676778 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676784 + voice_directsound_no_resample 64, 39, DirectSoundWaveData_86DAA94, 255, 242, 103, 188 @ 8676790 + voice_directsound_no_resample 64, 79, DirectSoundWaveData_86DAA94, 255, 242, 103, 188 @ 867679C + voice_directsound_no_resample 64, 39, DirectSoundWaveData_86DAA94, 255, 165, 103, 188 @ 86767A8 + voice_directsound_no_resample 64, 24, DirectSoundWaveData_86DB908, 255, 0, 255, 0 @ 86767B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86767C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86767CC + voice_directsound_no_resample 64, 104, DirectSoundWaveData_86DD11C, 255, 0, 255, 0 @ 86767D8 + voice_directsound 63, 64, DirectSoundWaveData_86DE6C0, 255, 0, 255, 0 @ 86767E4 + voice_directsound 50, 84, DirectSoundWaveData_86DFCA4, 255, 0, 255, 0 @ 86767F0 + voice_directsound 64, 84, DirectSoundWaveData_86DFCA4, 255, 0, 255, 0 @ 86767FC + voice_directsound 62, 64, DirectSoundWaveData_86CD0C4, 255, 0, 255, 0 @ 8676808 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86CDFDC, 255, 180, 175, 228 @ 8676814 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86CDFDC, 255, 0, 255, 242 @ 8676820 + voice_directsound_no_resample 64, 54, DirectSoundWaveData_86C6200, 255, 255, 255, 127 @ 867682C + voice_directsound 65, 64, DirectSoundWaveData_86C6A90, 255, 0, 255, 242 @ 8676838 + voice_directsound 64, 24, DirectSoundWaveData_86CF950, 255, 0, 255, 226 @ 8676844 + voice_directsound_no_resample 64, 80, DirectSoundWaveData_86C6A90, 255, 0, 255, 242 @ 8676850 + voice_directsound 68, 34, DirectSoundWaveData_86CF950, 255, 0, 255, 226 @ 867685C + voice_directsound_no_resample 60, 64, DirectSoundWaveData_86C5B0C, 255, 0, 255, 242 @ 8676868 + voice_directsound 72, 44, DirectSoundWaveData_86CF950, 255, 0, 255, 226 @ 8676874 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676880 + voice_directsound 76, 84, DirectSoundWaveData_86CF950, 255, 0, 255, 226 @ 867688C + voice_directsound 80, 94, DirectSoundWaveData_86CF950, 255, 0, 255, 226 @ 8676898 + voice_directsound 56, 89, DirectSoundWaveData_86CB6B8, 255, 235, 0, 231 @ 86768A4 + voice_directsound 64, 104, DirectSoundWaveData_86DE6C0, 255, 0, 255, 235 @ 86768B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86768BC + voice_directsound 63, 64, DirectSoundWaveData_86CB6B8, 255, 235, 0, 231 @ 86768C8 + voice_directsound_no_resample 64, 24, DirectSoundWaveData_86D1A2C, 255, 165, 103, 231 @ 86768D4 + voice_directsound_no_resample 66, 34, DirectSoundWaveData_86CA520, 255, 127, 77, 204 @ 86768E0 + voice_directsound 64, 14, DirectSoundWaveData_86CADD4, 255, 231, 0, 188 @ 86768EC + voice_directsound 64, 89, DirectSoundWaveData_86D925C, 255, 0, 255, 242 @ 86768F8 + voice_directsound 60, 29, DirectSoundWaveData_86CB6B8, 255, 235, 0, 231 @ 8676904 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676910 + voice_directsound 58, 54, DirectSoundWaveData_86CB6B8, 255, 235, 0, 231 @ 867691C + voice_directsound 62, 54, DirectSoundWaveData_86CB6B8, 8, 0, 255, 216 @ 8676928 + voice_directsound 64, 94, DirectSoundWaveData_86D9C14, 255, 0, 255, 0 @ 8676934 + voice_directsound 64, 34, DirectSoundWaveData_86CC5E4, 255, 0, 255, 0 @ 8676940 + voice_directsound 64, 34, DirectSoundWaveData_86CCAFC, 255, 0, 255, 0 @ 867694C + voice_directsound 64, 90, DirectSoundWaveData_86CCAFC, 255, 0, 255, 0 @ 8676958 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676964 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676970 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867697C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676988 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676994 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86769A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86769AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86769B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86769C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86769D0 + voice_directsound 61, 84, DirectSoundWaveData_86C4344, 255, 0, 255, 0 @ 86769DC + voice_directsound 64, 64, DirectSoundWaveData_86C2A68, 255, 0, 255, 0 @ 86769E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86769F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676A00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676A0C + voice_directsound 64, 39, DirectSoundWaveData_86DAA94, 255, 242, 103, 188 @ 8676A18 + voice_directsound 64, 79, DirectSoundWaveData_86DAA94, 255, 242, 103, 188 @ 8676A24 + voice_directsound 64, 39, DirectSoundWaveData_86DAA94, 255, 165, 103, 188 @ 8676A30 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86DB908, 255, 0, 255, 0 @ 8676A3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676A48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676A54 + voice_directsound 64, 104, DirectSoundWaveData_86DD11C, 255, 0, 255, 0 @ 8676A60 + voice_directsound 63, 64, DirectSoundWaveData_86DE6C0, 255, 0, 255, 0 @ 8676A6C + voice_directsound 50, 84, DirectSoundWaveData_86DFCA4, 255, 0, 255, 0 @ 8676A78 + voice_directsound 64, 84, DirectSoundWaveData_86DFCA4, 255, 0, 255, 0 @ 8676A84 + + .align 2 +voicegroup_8676A90:: @ 8676A90 + voice_directsound 60, 0, DirectSoundWaveData_86E0D98, 255, 252, 0, 239 @ 8676A90 + voice_directsound 60, 0, DirectSoundWaveData_86E1CF8, 255, 250, 0, 221 @ 8676A9C + voice_directsound 60, 0, DirectSoundWaveData_86E3358, 255, 250, 0, 221 @ 8676AA8 + voice_directsound 60, 0, DirectSoundWaveData_86E48B4, 255, 247, 0, 221 @ 8676AB4 + + .align 2 +voicegroup_8676AC0:: @ 8676AC0 + voice_directsound 60, 0, DirectSoundWaveData_86E5440, 255, 0, 255, 196 @ 8676AC0 + voice_directsound 60, 0, DirectSoundWaveData_86E89E4, 255, 0, 255, 196 @ 8676ACC + voice_directsound 60, 0, DirectSoundWaveData_86EAD00, 255, 0, 255, 196 @ 8676AD8 + + .align 2 +voicegroup_8676AE4:: @ 8676AE4 + voice_directsound 60, 0, DirectSoundWaveData_86EE3CC, 255, 0, 193, 127 @ 8676AE4 + voice_directsound 60, 0, DirectSoundWaveData_86EF71C, 255, 0, 193, 127 @ 8676AF0 + voice_directsound 60, 0, DirectSoundWaveData_86F0C2C, 255, 0, 193, 127 @ 8676AFC + voice_square_1_alt 38, 2, 1, 0, 0, 0 @ 8676B08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676B14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676B20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676B2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676B38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676B44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676B50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676B5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676B68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676B74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676B80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676B8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676B98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676BA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676BB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676BBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676BC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676BD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676BE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676BEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676BF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676C04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676C10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676C1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676C28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676C34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676C40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676C4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676C58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676C64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676C70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676C7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676C88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676C94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676CA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676CAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676CB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676CC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676CD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676CDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676CE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676CF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676D00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676D0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676D18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676D24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676D30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676D3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676D48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676D54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676D60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676D6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676D78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676D84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676D90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676D9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676DA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676DB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676DC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676DCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676DD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676DE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676DF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676DFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676E08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676E14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676E20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676E2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676E38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676E44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676E50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676E5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676E68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676E74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676E80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676E8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676E98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676EA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676EB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676EBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676EC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676ED4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676EE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676EEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676EF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676F04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676F10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676F1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676F28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676F34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676F40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676F4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676F58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676F64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676F70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676F7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676F88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676F94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676FA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676FAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676FB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676FC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676FD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676FDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676FE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8676FF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677000 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867700C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677018 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677024 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677030 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867703C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677048 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677054 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677060 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867706C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677078 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677084 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677090 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867709C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86770A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86770B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86770C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86770CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86770D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86770E4 + voice_square_1_alt 36, 2, 0, 1, 4, 2 @ 86770F0 + voice_square_1_alt 21, 2, 0, 0, 15, 2 @ 86770FC + + .align 2 +voicegroup_8677108:: @ 8677108 + voice_directsound 60, 0, DirectSoundWaveData_86F204C, 255, 0, 255, 165 @ 8677108 + voice_directsound 60, 0, DirectSoundWaveData_86F30E8, 255, 0, 255, 165 @ 8677114 + + .align 2 +voicegroup_8677120:: @ 8677120 + voice_directsound 60, 0, DirectSoundWaveData_86F4144, 255, 0, 224, 165 @ 8677120 + voice_directsound 60, 0, DirectSoundWaveData_86FB0D8, 255, 0, 218, 165 @ 867712C + + .align 2 +voicegroup_8677138:: @ 8677138 + voice_keysplit_all voicegroup_867C838 @ 8677138 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677144 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677150 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867715C + voice_square_2 3, 0, 4, 0, 1 @ 8677168 + voice_square_1 0, 3, 0, 4, 0, 1 @ 8677174 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677180 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867718C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677198 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86771A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86771B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86771BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86771C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86771D4 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 216, 90, 242 @ 86771E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86771EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86771F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677204 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677210 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867721C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677228 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677234 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677240 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867724C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677258 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677264 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677270 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867727C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677288 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677294 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86772A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86772AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86772B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86772C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86772D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86772DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86772E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86772F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677300 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867730C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677318 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677324 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677330 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867733C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677348 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677354 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 204 @ 8677360 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867736C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8677378 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677384 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677390 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867739C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86773A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86773B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86773C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86773CC + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86773D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86773E4 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86773F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86773FC + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8677408 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677414 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677420 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867742C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677438 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677444 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677450 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867745C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677468 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677474 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677480 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867748C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677498 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86774A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86774B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86774BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86774C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86774D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86774E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86774EC + voice_square_2 3, 0, 1, 7, 1 @ 86774F8 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 2 @ 8677504 + voice_square_1 0, 3, 0, 1, 7, 1 @ 8677510 + voice_square_1 0, 3, 0, 0, 7, 1 @ 867751C + + .align 2 +voicegroup_8677528:: @ 8677528 + voice_keysplit_all voicegroup_867A438 @ 8677528 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677534 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677540 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867754C + voice_square_1_alt 0, 3, 0, 2, 4, 0 @ 8677558 + voice_square_2_alt 3, 0, 2, 4, 0 @ 8677564 + voice_square_2_alt 2, 0, 3, 0, 0 @ 8677570 + voice_square_2_alt 2, 0, 3, 0, 0 @ 867757C + voice_square_1_alt 0, 2, 0, 3, 0, 0 @ 8677588 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677594 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86775A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86775AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86775B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86775C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86775D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86775DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86775E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86775F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677600 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867760C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677618 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677624 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677630 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867763C + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 149 @ 8677648 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677654 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677660 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867766C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677678 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677684 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677690 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867769C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86776A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86776B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86776C0 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 149 @ 86776CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86776D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86776E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86776F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86776FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677708 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677714 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677720 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867772C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677738 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677744 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677750 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867775C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8677768 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677774 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677780 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867778C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677798 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86777A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86777B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86777BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86777C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86777D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86777E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86777EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86777F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677804 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677810 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867781C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677828 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677834 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677840 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867784C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677858 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677864 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677870 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867787C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677888 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 8677894 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 1 @ 86778A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86778AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86778B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86778C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86778D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86778DC + voice_square_2_alt 2, 1, 1, 7, 1 @ 86778E8 + voice_square_1_alt 0, 2, 1, 1, 7, 1 @ 86778F4 + voice_square_1_alt 0, 2, 0, 0, 7, 1 @ 8677900 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867790C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677918 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677924 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677930 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867793C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677948 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677954 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677960 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867796C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677978 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677984 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677990 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867799C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86779A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86779B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86779C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86779CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86779D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86779E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86779F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86779FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677A08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677A14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677A20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677A2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677A38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677A44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677A50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677A5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677A68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677A74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677A80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677A8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677A98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677AA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677AB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677ABC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677AC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677AD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677AE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677AEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677AF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677B04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677B10 + voice_noise_alt 0, 0, 1, 0, 0 @ 8677B1C + + .align 2 +voicegroup_8677B28:: @ 8677B28 + voice_keysplit_all voicegroup_8675FEC @ 8677B28 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8677B34 + voice_directsound 60, 0, DirectSoundWaveData_87322BC, 255, 178, 180, 165 @ 8677B40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677B4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677B58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677B64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677B70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677B7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677B88 + voice_directsound 60, 0, DirectSoundWaveData_86B5D04, 255, 165, 51, 235 @ 8677B94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677BA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677BAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677BB8 + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 8677BC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677BD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677BDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677BE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677BF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677C00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677C0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677C18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677C24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677C30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677C3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677C48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677C54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677C60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677C6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677C78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677C84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677C90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677C9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677CA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677CB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677CC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677CCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677CD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677CE4 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 8677CF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677CFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677D08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677D14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677D20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677D2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677D38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677D44 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 204 @ 8677D50 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 8677D5C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8677D68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677D74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677D80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677D8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677D98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677DA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677DB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677DBC + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8677DC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677DD4 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8677DE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677DEC + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8677DF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677E04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677E10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677E1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677E28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677E34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677E40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677E4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677E58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677E64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677E70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677E7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677E88 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 8677E94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677EA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677EAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677EB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677EC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677ED0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677EDC + voice_square_2_alt 2, 0, 1, 7, 1 @ 8677EE8 + voice_square_1_alt 0, 2, 0, 1, 7, 1 @ 8677EF4 + voice_square_2_alt 3, 0, 1, 7, 1 @ 8677F00 + voice_square_1_alt 0, 3, 0, 1, 7, 1 @ 8677F0C + voice_square_2_alt 2, 0, 1, 4, 1 @ 8677F18 + voice_square_1_alt 0, 2, 0, 1, 4, 1 @ 8677F24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677F30 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 2 @ 8677F3C + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 2 @ 8677F48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677F54 + voice_square_2 2, 0, 1, 4, 1 @ 8677F60 + voice_square_1 0, 2, 0, 1, 4, 1 @ 8677F6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677F78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677F84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677F90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677F9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677FA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677FB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677FC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677FCC + voice_square_1_alt 29, 2, 0, 2, 0, 0 @ 8677FD8 + voice_square_1_alt 22, 2, 0, 2, 0, 0 @ 8677FE4 + + .align 2 +voicegroup_8677FF0:: @ 8677FF0 + voice_keysplit_all voicegroup_8675FEC @ 8677FF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8677FFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678008 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678014 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678020 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867802C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678038 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678044 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678050 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867805C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678068 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678074 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678080 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867808C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678098 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86780A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86780B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86780BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86780C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86780D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86780E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86780EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86780F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678104 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678110 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867811C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678128 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678134 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678140 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867814C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678158 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678164 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678170 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867817C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678188 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678194 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86781A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86781AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86781B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86781C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86781D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86781DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86781E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86781F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678200 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867820C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678218 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 8678224 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8678230 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867823C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678248 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678254 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678260 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867826C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678278 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678284 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8678290 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867829C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86782A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86782B4 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86782C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86782CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86782D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86782E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86782F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86782FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678308 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678314 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678320 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867832C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678338 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678344 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678350 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867835C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678368 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678374 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678380 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867838C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678398 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86783A4 + voice_square_2_alt 1, 0, 1, 7, 1 @ 86783B0 + voice_square_1_alt 0, 1, 0, 1, 7, 1 @ 86783BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86783C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86783D4 + voice_square_2_alt 3, 0, 1, 7, 1 @ 86783E0 + voice_square_1_alt 0, 3, 0, 1, 7, 1 @ 86783EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86783F8 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 1 @ 8678404 + voice_square_1_alt 0, 1, 0, 0, 7, 1 @ 8678410 + voice_square_1_alt 0, 3, 0, 0, 7, 1 @ 867841C + + .align 2 +voicegroup_8678428:: @ 8678428 + voice_keysplit_all voicegroup_8675FEC @ 8678428 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8678434 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678440 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867844C + voice_square_2_alt 3, 0, 1, 6, 1 @ 8678458 + voice_square_1_alt 0, 3, 0, 1, 6, 1 @ 8678464 + voice_square_2_alt 2, 0, 1, 6, 1 @ 8678470 + voice_square_1_alt 0, 2, 0, 1, 6, 1 @ 867847C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678488 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678494 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86784A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86784AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86784B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86784C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86784D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86784DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86784E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86784F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678500 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867850C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678518 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678524 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678530 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867853C + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 149 @ 8678548 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678554 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678560 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867856C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678578 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678584 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678590 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867859C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86785A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86785B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86785C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86785CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86785D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86785E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86785F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86785FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678608 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678614 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678620 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867862C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678638 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678644 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 8678650 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867865C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8678668 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678674 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678680 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867868C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678698 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86786A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86786B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86786BC + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86786C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86786D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86786E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86786EC + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86786F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678704 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678710 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867871C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678728 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678734 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678740 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867874C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678758 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678764 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678770 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867877C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678788 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 8678794 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86787A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86787AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86787B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86787C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86787D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86787DC + voice_square_2_alt 3, 0, 1, 7, 1 @ 86787E8 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 1 @ 86787F4 + voice_square_1_alt 0, 3, 0, 1, 7, 1 @ 8678800 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 0 @ 867880C + voice_square_1_alt 0, 3, 0, 0, 7, 0 @ 8678818 + + .align 2 +voicegroup_8678824:: @ 8678824 + voice_keysplit_all voicegroup_8678C74 @ 8678824 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8678830 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867883C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678848 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678854 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678860 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867886C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678878 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678884 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678890 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867889C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86788A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86788B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86788C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86788CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86788D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86788E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86788F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86788FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678908 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678914 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678920 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867892C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678938 + voice_square_2 3, 0, 2, 0, 0 @ 8678944 + voice_square_1 0, 3, 0, 2, 0, 0 @ 8678950 + voice_square_2 3, 0, 6, 0, 0 @ 867895C + voice_square_1 0, 3, 0, 6, 0, 0 @ 8678968 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678974 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678980 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867898C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678998 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86789A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86789B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86789BC + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 149 @ 86789C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86789D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86789E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86789EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86789F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A58 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8678A64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678A94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678AA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678AAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678AB8 + voice_directsound 60, 0, DirectSoundWaveData_87410E0, 255, 0, 255, 165 @ 8678AC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678AD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678ADC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678AE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678AF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678B00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678B0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678B18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678B24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678B30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678B3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678B48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678B54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678B60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678B6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678B78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678B84 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 8678B90 + voice_programmable_wave ProgrammableWaveData_86B4830, 0, 7, 15, 1 @ 8678B9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678BA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678BB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678BC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678BCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678BD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678BE4 + voice_programmable_wave_alt ProgrammableWaveData_86B4850, 0, 7, 15, 2 @ 8678BF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678BFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678C08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678C14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678C20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678C2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678C38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678C44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678C50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678C5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678C68 + + .align 2 +voicegroup_8678C74:: @ 8678C74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678C74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678C80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678C8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678C98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678CA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678CB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678CBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678CC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678CD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678CE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678CEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678CF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678D04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678D10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678D1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678D28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678D34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678D40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678D4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678D58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678D64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678D70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678D7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678D88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678D94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678DA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678DAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678DB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678DC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678DD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678DDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678DE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678DF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E00 + voice_noise_alt 0, 0, 2, 0, 2 @ 8678E0C + voice_noise_alt 0, 0, 1, 0, 1 @ 8678E18 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_86C566C, 255, 0, 255, 242 @ 8678E24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E30 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_86C5B0C, 255, 0, 255, 242 @ 8678E3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E48 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_86C6A90, 255, 0, 255, 242 @ 8678E54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678E9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678EA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678EB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678EC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678ECC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678ED8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678EE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678EF0 + voice_directsound_no_resample 32, 74, DirectSoundWaveData_86CA520, 255, 127, 77, 204 @ 8678EFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678F08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678F14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678F20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678F2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678F38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678F44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678F50 + voice_directsound_no_resample 72, 66, DirectSoundWaveData_86CC5E4, 255, 0, 255, 0 @ 8678F5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678F68 + voice_directsound_no_resample 72, 62, DirectSoundWaveData_86CCAFC, 255, 0, 255, 0 @ 8678F74 + + .align 2 +voicegroup_8678F80:: @ 8678F80 + voice_keysplit_all voicegroup_8675FEC @ 8678F80 + voice_square_2_alt 2, 0, 3, 3, 1 @ 8678F8C + voice_square_1_alt 0, 2, 0, 3, 3, 1 @ 8678F98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678FA4 + voice_square_2_alt 2, 0, 1, 7, 2 @ 8678FB0 + voice_square_1_alt 0, 2, 0, 1, 7, 2 @ 8678FBC + voice_square_2_alt 2, 1, 1, 0, 0 @ 8678FC8 + voice_square_1_alt 0, 2, 1, 1, 0, 0 @ 8678FD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678FE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678FEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8678FF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679004 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679010 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867901C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679028 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679034 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679040 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867904C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679058 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679064 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679070 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867907C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679088 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679094 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86790A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86790AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86790B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86790C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86790D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86790DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86790E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86790F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679100 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867910C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679118 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679124 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679130 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867913C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679148 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679154 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679160 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867916C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679178 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679184 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679190 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 867919C + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 204 @ 86791A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86791B4 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86791C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86791CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86791D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86791E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86791F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86791FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679208 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679214 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679220 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867922C + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8679238 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679244 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8679250 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867925C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679268 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679274 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679280 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867928C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679298 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86792A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86792B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86792BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86792C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86792D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86792E0 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 86792EC + voice_programmable_wave ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 86792F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679304 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679310 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867931C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679328 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679334 + voice_square_2_alt 2, 1, 1, 7, 2 @ 8679340 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 2 @ 867934C + voice_square_1_alt 0, 2, 1, 1, 7, 2 @ 8679358 + voice_square_2_alt 3, 1, 1, 7, 2 @ 8679364 + voice_square_1_alt 0, 3, 1, 1, 7, 2 @ 8679370 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 3 @ 867937C + voice_square_1_alt 0, 2, 0, 0, 7, 2 @ 8679388 + voice_square_1_alt 0, 3, 0, 0, 7, 2 @ 8679394 + voice_square_2_alt 1, 1, 2, 6, 2 @ 86793A0 + voice_square_1_alt 0, 1, 1, 2, 6, 2 @ 86793AC + voice_square_1_alt 0, 1, 0, 0, 6, 2 @ 86793B8 + + .align 2 +voicegroup_86793C4:: @ 86793C4 + voice_keysplit_all voicegroup_8675FEC @ 86793C4 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86793D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86793DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86793E8 + voice_square_2_alt 0, 0, 1, 7, 1 @ 86793F4 + voice_square_1_alt 0, 0, 0, 1, 7, 1 @ 8679400 + voice_square_1_alt 0, 0, 0, 0, 7, 1 @ 867940C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679418 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679424 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679430 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867943C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679448 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679454 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679460 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867946C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679478 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679484 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679490 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867949C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86794A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86794B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86794C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86794CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86794D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86794E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86794F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86794FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679508 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679514 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679520 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867952C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679538 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679544 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679550 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867955C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679568 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679574 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679580 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867958C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679598 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86795A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86795B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86795BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86795C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86795D4 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 86795E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86795EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86795F8 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8679604 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679610 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867961C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679628 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679634 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679640 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867964C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679658 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679664 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679670 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867967C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679688 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679694 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86796A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86796AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86796B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86796C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86796D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86796DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86796E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86796F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679700 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867970C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679718 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679724 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 8679730 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867973C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679748 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679754 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679760 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867976C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679778 + voice_square_2_alt 2, 0, 1, 7, 1 @ 8679784 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 2 @ 8679790 + voice_square_1_alt 0, 2, 0, 1, 7, 1 @ 867979C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86797A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86797B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86797C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86797CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86797D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86797E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86797F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86797FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679808 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679814 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679820 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867982C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679838 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679844 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679850 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867985C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679868 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679874 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679880 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867988C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679898 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86798A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86798B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86798BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86798C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86798D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86798E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86798EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86798F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679904 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679910 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867991C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679928 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679934 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679940 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867994C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679958 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679964 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679970 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867997C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679988 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679994 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86799A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86799AC + voice_noise_alt 1, 0, 1, 0, 3 @ 86799B8 + + .align 2 +voicegroup_86799C4:: @ 86799C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86799C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86799D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86799DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86799E8 + voice_square_2_alt 1, 0, 1, 7, 1 @ 86799F4 + voice_square_1_alt 0, 1, 0, 1, 7, 1 @ 8679A00 + voice_square_2_alt 2, 0, 2, 6, 1 @ 8679A0C + voice_square_1_alt 0, 2, 0, 2, 6, 1 @ 8679A18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679A24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679A30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679A3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679A48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679A54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679A60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679A6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679A78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679A84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679A90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679A9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679AA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679AB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679AC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679ACC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679AD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679AE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679AF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679AFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679B08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679B14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679B20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679B2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679B38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679B44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679B50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679B5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679B68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679B74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679B80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679B8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679B98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679BA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679BB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679BBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679BC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679BD4 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 8679BE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679BEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679BF8 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8679C04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C70 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8679C7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679C88 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8679C94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679CA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679CAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679CB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679CC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679CD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679CDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679CE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679CF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679D00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679D0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679D18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679D24 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 8679D30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679D3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679D48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679D54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679D60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679D6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679D78 + voice_square_2_alt 2, 0, 1, 7, 1 @ 8679D84 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 2 @ 8679D90 + voice_square_1_alt 0, 2, 0, 1, 7, 1 @ 8679D9C + voice_square_1_alt 0, 2, 0, 0, 7, 1 @ 8679DA8 + voice_square_1_alt 0, 1, 0, 0, 7, 1 @ 8679DB4 + + .align 2 +voicegroup_8679DC0:: @ 8679DC0 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8679DC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679DCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679DD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679DE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679DF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679DFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679E08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679E14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679E20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679E2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679E38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679E44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679E50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679E5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679E68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679E74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679E80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679E8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679E98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679EA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679EB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679EBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679EC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679ED4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679EE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679EEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679EF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679F04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679F10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679F1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679F28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679F34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679F40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679F4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679F58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679F64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679F70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679F7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679F88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679F94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679FA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679FAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679FB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679FC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679FD0 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 8679FDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679FE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8679FF4 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867A000 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A00C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A018 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A024 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A030 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A03C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A048 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A054 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A060 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A06C + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 867A078 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A084 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A090 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A09C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A0A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A0B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A0C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A0CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A0D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A0E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A0F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A0FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A108 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A114 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A120 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A12C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A138 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A144 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A150 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A15C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A168 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A174 + voice_square_2 2, 0, 1, 7, 1 @ 867A180 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A18C + voice_square_1 0, 2, 0, 1, 7, 1 @ 867A198 + voice_square_2_alt 1, 0, 1, 6, 2 @ 867A1A4 + voice_square_1_alt 0, 1, 0, 1, 6, 2 @ 867A1B0 + voice_square_1_alt 0, 1, 0, 0, 6, 2 @ 867A1BC + voice_square_1 0, 2, 0, 0, 7, 1 @ 867A1C8 + + .align 2 +voicegroup_867A1D4:: @ 867A1D4 + voice_keysplit_all voicegroup_8675FEC @ 867A1D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A1E0 + voice_square_2_alt 3, 0, 2, 0, 0 @ 867A1EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A1F8 + voice_square_2_alt 3, 0, 1, 6, 0 @ 867A204 + voice_square_1_alt 0, 3, 0, 1, 6, 0 @ 867A210 + voice_square_1_alt 0, 3, 0, 0, 6, 0 @ 867A21C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A228 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A234 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A240 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A24C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A258 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A264 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A270 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A27C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A288 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A294 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A2A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A2AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A2B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A2C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A2D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A2DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A2E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A2F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A300 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A30C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A318 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A324 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A330 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A33C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A348 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A354 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A360 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A36C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A378 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A384 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A390 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A39C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A3A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A3B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A3C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A3CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A3D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A3E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A3F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A3FC + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867A408 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867A414 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A420 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A42C + + .align 2 +voicegroup_867A438:: @ 867A438 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A438 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A444 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A450 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A45C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A468 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867A474 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A480 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 867A48C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A498 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867A4A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A4B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A4BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A4C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A4D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A4E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A4EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A4F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A504 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A510 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A51C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A528 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A534 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 867A540 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A54C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A558 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A564 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A570 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A57C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A588 + voice_square_2_alt 0, 0, 1, 7, 0 @ 867A594 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 1 @ 867A5A0 + voice_square_1_alt 0, 0, 0, 1, 7, 0 @ 867A5AC + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 0 @ 867A5B8 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 867A5C4 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 1 @ 867A5D0 + voice_square_1_alt 0, 0, 0, 0, 7, 0 @ 867A5DC + voice_directsound_no_resample 60, 64, DirectSoundWaveData_86C566C, 255, 0, 255, 242 @ 867A5E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A5F4 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_86C5B0C, 255, 0, 255, 242 @ 867A600 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A60C + voice_directsound_no_resample 60, 64, DirectSoundWaveData_86C6A90, 255, 0, 255, 242 @ 867A618 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A624 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A630 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A63C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A648 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A654 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A660 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A66C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A678 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A684 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A690 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A69C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A6A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A6B4 + voice_directsound_no_resample 32, 34, DirectSoundWaveData_86CA520, 255, 127, 77, 204 @ 867A6C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A6CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A6D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A6E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A6F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A6FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A708 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A714 + voice_directsound_no_resample 72, 67, DirectSoundWaveData_86CC5E4, 255, 0, 255, 0 @ 867A720 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A72C + voice_directsound_no_resample 72, 61, DirectSoundWaveData_86CCAFC, 255, 0, 255, 0 @ 867A738 + + .align 2 +voicegroup_867A744:: @ 867A744 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 867A744 + voice_keysplit_all voicegroup_8675FEC @ 867A750 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A75C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A768 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A774 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A780 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A78C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A798 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A7A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A7B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A7BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A7C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A7D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A7E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A7EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A7F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A804 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A810 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A81C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A828 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A834 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A840 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A84C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A858 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A864 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A870 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A87C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A888 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A894 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A8A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A8AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A8B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A8C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A8D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A8DC + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 149 @ 867A8E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A8F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A900 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A90C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A918 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A924 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A930 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A93C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A948 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A954 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A960 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 867A96C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A978 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867A984 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A990 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A99C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A9A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A9B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A9C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A9CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A9D8 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867A9E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A9F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867A9FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AA08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AA14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AA20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AA2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AA38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AA44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AA50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AA5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AA68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AA74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AA80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AA8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AA98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AAA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AAB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AABC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AAC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AAD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AAE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AAEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AAF8 + voice_square_2_alt 2, 0, 1, 7, 0 @ 867AB04 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 1 @ 867AB10 + voice_square_1_alt 0, 2, 0, 1, 7, 0 @ 867AB1C + voice_square_2_alt 2, 0, 1, 6, 1 @ 867AB28 + voice_square_1_alt 0, 2, 0, 1, 6, 1 @ 867AB34 + voice_square_2_alt 3, 0, 1, 7, 0 @ 867AB40 + voice_square_1_alt 0, 3, 0, 1, 7, 0 @ 867AB4C + voice_square_1_alt 0, 2, 0, 0, 7, 0 @ 867AB58 + voice_square_1_alt 0, 3, 0, 0, 7, 0 @ 867AB64 + + .align 2 +voicegroup_867AB70:: @ 867AB70 + voice_keysplit_all voicegroup_8675FEC @ 867AB70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AB7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AB88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AB94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ABA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ABAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ABB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ABC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ABD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ABDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ABE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ABF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AC00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AC0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AC18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AC24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AC30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AC3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AC48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AC54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AC60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AC6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AC78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AC84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AC90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AC9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ACA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ACB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ACC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ACCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ACD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ACE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ACF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ACFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AD08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AD14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AD20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AD2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AD38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AD44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AD50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AD5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AD68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AD74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AD80 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 867AD8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AD98 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867ADA4 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867ADB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ADBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ADC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ADD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ADE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ADEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ADF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE04 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867AE10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE34 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867AE40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AE94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AEA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AEAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AEB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AEC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AED0 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 867AEDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AEE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AEF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AF00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AF0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AF18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AF24 + voice_square_2_alt 2, 0, 1, 7, 0 @ 867AF30 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 1 @ 867AF3C + voice_square_1_alt 0, 2, 0, 1, 7, 0 @ 867AF48 + voice_square_2_alt 2, 0, 2, 0, 0 @ 867AF54 + voice_square_2_alt 3, 0, 1, 7, 0 @ 867AF60 + voice_square_1_alt 0, 3, 0, 1, 7, 0 @ 867AF6C + voice_square_1_alt 0, 2, 0, 2, 0, 0 @ 867AF78 + voice_square_1_alt 0, 3, 0, 0, 7, 0 @ 867AF84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AF90 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 0 @ 867AF9C + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 1 @ 867AFA8 + + .align 2 +voicegroup_867AFB4:: @ 867AFB4 + voice_keysplit_all voicegroup_8675FEC @ 867AFB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AFC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AFCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AFD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AFE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AFF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867AFFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B008 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B014 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B020 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B02C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B038 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B044 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B050 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B05C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B068 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B074 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B080 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B08C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B098 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B0A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B0B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B0BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B0C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B0D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B0E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B0EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B0F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B104 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B110 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B11C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B128 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B134 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B140 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B14C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B158 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B164 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B170 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B17C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B188 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B194 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B1A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B1AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B1B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B1C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B1D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B1DC + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867B1E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B1F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B200 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B20C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B218 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B224 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B230 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B23C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B248 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867B254 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B260 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 867B26C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B278 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B284 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B290 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B29C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B2A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B2B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B2C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B2CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B2D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B2E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B2F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B2FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B308 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B314 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 867B320 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B32C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B338 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B344 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B350 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B35C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B368 + voice_square_2_alt 1, 0, 1, 7, 1 @ 867B374 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 1 @ 867B380 + voice_square_1_alt 0, 1, 0, 1, 7, 1 @ 867B38C + voice_square_2_alt 2, 0, 1, 0, 0 @ 867B398 + + .align 2 +voicegroup_867B3A4:: @ 867B3A4 + voice_keysplit_all voicegroup_8675FEC @ 867B3A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B3B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B3BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B3C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B3D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B3E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B3EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B3F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B404 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B410 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B41C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B428 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B434 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B440 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B44C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B458 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B464 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B470 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B47C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B488 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B494 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B4A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B4AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B4B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B4C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B4D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B4DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B4E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B4F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B500 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B50C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B518 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B524 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B530 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B53C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B548 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B554 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B560 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B56C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B578 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B584 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B590 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B59C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B5A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B5B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B5C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B5CC + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867B5D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B5E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B5F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B5FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B608 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B614 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B620 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B62C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B638 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B644 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B650 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B65C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B668 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867B674 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B680 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B68C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B698 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B6A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B6B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B6BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B6C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B6D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B6E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B6EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B6F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B704 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B710 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B71C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B728 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B734 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B740 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B74C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B758 + voice_square_2_alt 2, 0, 1, 9, 0 @ 867B764 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 0 @ 867B770 + voice_square_1_alt 0, 2, 0, 1, 9, 0 @ 867B77C + voice_square_2_alt 3, 0, 1, 7, 0 @ 867B788 + voice_square_1_alt 0, 3, 0, 1, 7, 0 @ 867B794 + + .align 2 +voicegroup_867B7A0:: @ 867B7A0 + voice_keysplit_all voicegroup_8675FEC @ 867B7A0 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 867B7AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B7B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B7C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B7D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B7DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B7E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B7F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B800 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B80C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B818 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B824 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B830 + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 867B83C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B848 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B854 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B860 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B86C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B878 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B884 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B890 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B89C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B8A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B8B4 + voice_square_2 1, 0, 2, 0, 0 @ 867B8C0 + voice_square_1 0, 1, 0, 2, 0, 0 @ 867B8CC + voice_square_2 1, 0, 6, 0, 0 @ 867B8D8 + voice_square_1 0, 1, 0, 6, 0, 0 @ 867B8E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B8F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B8FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B908 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B914 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B920 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B92C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B938 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B944 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B950 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B95C + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 867B968 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B974 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B980 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B98C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B998 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B9A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B9B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B9BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B9C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B9D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B9E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B9EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867B9F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BA04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BA10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BA1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BA28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BA34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BA40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BA4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BA58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BA64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BA70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BA7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BA88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BA94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BAA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BAAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BAB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BAC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BAD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BADC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BAE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BAF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BB00 + voice_programmable_wave ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 867BB0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BB18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BB24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BB30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BB3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BB48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BB54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BB60 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 867BB6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BB78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BB84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BB90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BB9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BBA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BBB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BBC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BBCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BBD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BBE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BBF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BBFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BC08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BC14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BC20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BC2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BC38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BC44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BC50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BC5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BC68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BC74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BC80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BC8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BC98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BCA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BCB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BCBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BCC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BCD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BCE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BCEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BCF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BD04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BD10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BD1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BD28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BD34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BD40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BD4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BD58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BD64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BD70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BD7C + voice_noise_alt 0, 0, 4, 1, 4 @ 867BD88 + voice_noise_alt 0, 0, 1, 0, 2 @ 867BD94 + + .align 2 +voicegroup_867BDA0:: @ 867BDA0 + voice_keysplit_all voicegroup_8675FEC @ 867BDA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BDAC + voice_square_1 0, 3, 0, 1, 0, 0 @ 867BDB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BDC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BDD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BDDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BDE8 + voice_square_2 0, 0, 2, 0, 0 @ 867BDF4 + voice_square_1 0, 0, 0, 2, 0, 0 @ 867BE00 + voice_square_2 0, 0, 6, 0, 0 @ 867BE0C + voice_square_1 0, 0, 0, 6, 0, 0 @ 867BE18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BE24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BE30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BE3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BE48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BE54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BE60 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 127 @ 867BE6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BE78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BE84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BE90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BE9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BEA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BEB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BEC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BECC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BED8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BEE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BEF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BEFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BF08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BF14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BF20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BF2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BF38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BF44 + voice_directsound 60, 0, DirectSoundWaveData_86B776C, 255, 235, 128, 99 @ 867BF50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BF5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BF68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BF74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BF80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BF8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BF98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BFA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BFB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BFBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BFC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BFD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BFE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BFEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867BFF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C004 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C010 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C01C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C028 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C034 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867C040 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C04C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C058 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C064 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C070 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C07C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C088 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C094 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C0A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C0AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C0B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C0C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C0D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C0DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C0E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C0F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C100 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C10C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C118 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C124 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C130 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C13C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C148 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C154 + voice_square_2 2, 0, 2, 0, 0 @ 867C160 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 867C16C + voice_square_2 3, 0, 4, 0, 0 @ 867C178 + + .align 2 +voicegroup_867C184:: @ 867C184 + voice_keysplit_all voicegroup_8675FEC @ 867C184 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C190 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C19C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C1A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C1B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C1C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C1CC + voice_square_2_alt 1, 0, 2, 4, 0 @ 867C1D8 + voice_square_1_alt 0, 1, 0, 2, 7, 0 @ 867C1E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C1F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C1FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C208 + voice_square_2_alt 2, 0, 2, 0, 0 @ 867C214 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C220 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 216, 90, 242 @ 867C22C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C238 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C244 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C250 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C25C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C268 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C274 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C280 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C28C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C298 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C2A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C2B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C2BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C2C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C2D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C2E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C2EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C2F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C304 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C310 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C31C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C328 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C334 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C340 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C34C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C358 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C364 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C370 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C37C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C388 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C394 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 867C3A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C3AC + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867C3B8 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867C3C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C3D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C3DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C3E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C3F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C400 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C40C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C418 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867C424 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C430 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C43C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C448 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867C454 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C460 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C46C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C478 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C484 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C490 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C49C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C4A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C4B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C4C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C4CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C4D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C4E4 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 867C4F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C4FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C508 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C514 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C520 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C52C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C538 + voice_square_2_alt 3, 0, 1, 7, 0 @ 867C544 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 1 @ 867C550 + voice_square_1_alt 0, 3, 0, 1, 7, 0 @ 867C55C + voice_square_2_alt 3, 0, 1, 0, 0 @ 867C568 + voice_square_1_alt 0, 3, 0, 1, 0, 0 @ 867C574 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C580 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C58C + voice_square_1_alt 0, 0, 0, 1, 7, 0 @ 867C598 + + .align 2 +voicegroup_867C5A4:: @ 867C5A4 + voice_keysplit_all voicegroup_867C838 @ 867C5A4 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 867C5B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C5BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C5C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C5D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C5E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C5EC + voice_square_2_alt 3, 0, 2, 4, 0 @ 867C5F8 + voice_square_1_alt 0, 3, 0, 2, 4, 0 @ 867C604 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C610 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C61C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C628 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C634 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C640 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 216, 90, 242 @ 867C64C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C658 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C664 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 37, 165, 180, 127 @ 867C670 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C67C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C688 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C694 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C6A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C6AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C6B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C6C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C6D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C6DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C6E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C6F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C700 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C70C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C718 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C724 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C730 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C73C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C748 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C754 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C760 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C76C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C778 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C784 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C790 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C79C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C7A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C7B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C7C0 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 867C7CC + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867C7D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C7E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C7F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C7FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C808 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C814 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C820 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C82C + + .align 2 +voicegroup_867C838:: @ 867C838 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C838 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C844 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C850 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C85C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C868 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867C874 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C880 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C88C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C898 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C8A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C8B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C8BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C8C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C8D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C8E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C8EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C8F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C904 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C910 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C91C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C928 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C934 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C940 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C94C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C958 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C964 + voice_programmable_wave_alt ProgrammableWaveData_86B4850, 0, 7, 15, 1 @ 867C970 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C97C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C988 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C994 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C9A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C9AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C9B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C9C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C9D0 + voice_directsound 60, 0, DirectSoundWaveData_873A594, 255, 165, 154, 127 @ 867C9DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C9E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867C9F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA0C + voice_directsound_no_resample 60, 64, DirectSoundWaveData_86C6A90, 255, 0, 255, 242 @ 867CA18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CA9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CAA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CAB4 + voice_directsound_no_resample 32, 49, DirectSoundWaveData_86CA520, 255, 127, 77, 204 @ 867CAC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CACC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CAD8 + voice_directsound_no_resample 30, 54, DirectSoundWaveData_86CB6B8, 8, 0, 255, 216 @ 867CAE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CAF0 + voice_directsound_no_resample 30, 54, DirectSoundWaveData_86CB6B8, 255, 246, 0, 216 @ 867CAFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CB08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CB14 + voice_directsound_no_resample 72, 79, DirectSoundWaveData_86CC5E4, 255, 0, 255, 0 @ 867CB20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CB2C + voice_directsound_no_resample 72, 74, DirectSoundWaveData_86CCAFC, 255, 0, 255, 0 @ 867CB38 + + .align 2 +voicegroup_867CB44:: @ 867CB44 + voice_keysplit_all voicegroup_8678C74 @ 867CB44 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 867CB50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CB5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CB68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CB74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CB80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CB8C + voice_square_2_alt 3, 0, 3, 4, 0 @ 867CB98 + voice_square_1_alt 0, 3, 0, 3, 4, 0 @ 867CBA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CBB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CBBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CBC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CBD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CBE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CBEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CBF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CC04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CC10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CC1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CC28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CC34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CC40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CC4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CC58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CC64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CC70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CC7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CC88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CC94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CCA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CCAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CCB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CCC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CCD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CCDC + voice_directsound 60, 0, DirectSoundWaveData_86FFDC0, 255, 250, 0, 149 @ 867CCE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CCF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CD00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CD0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CD18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CD24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CD30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CD3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CD48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CD54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CD60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CD6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CD78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CD84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CD90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CD9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CDA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CDB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CDC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CDCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CDD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CDE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CDF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CDFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CE08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CE14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CE20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CE2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CE38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CE44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CE50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CE5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CE68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CE74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CE80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CE8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CE98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CEA4 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 867CEB0 + voice_programmable_wave ProgrammableWaveData_86B4830, 0, 7, 15, 1 @ 867CEBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CEC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CED4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CEE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CEEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CEF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CF04 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 2 @ 867CF10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CF1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CF28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CF34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CF40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CF4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CF58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CF64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CF70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CF7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CF88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CF94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CFA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CFAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CFB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CFC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CFD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CFDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CFE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867CFF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D000 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D00C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D018 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D024 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D030 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D03C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D048 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D054 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D060 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D06C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D078 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D084 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D090 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D09C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D0A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D0B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D0C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D0CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D0D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D0E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D0F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D0FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D108 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D114 + voice_noise_alt 0, 0, 1, 0, 0 @ 867D120 + voice_noise_alt 0, 0, 4, 1, 4 @ 867D12C + voice_noise_alt 0, 0, 1, 0, 2 @ 867D138 + + .align 2 +voicegroup_867D144:: @ 867D144 + voice_keysplit_all voicegroup_8675FEC @ 867D144 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D150 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D15C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D168 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D174 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D180 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D18C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D198 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D1A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D1B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D1BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D1C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D1D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D1E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D1EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D1F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D204 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D210 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D21C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D228 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D234 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D240 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D24C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D258 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D264 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D270 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D27C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D288 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D294 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D2A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D2AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D2B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D2C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D2D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D2DC + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 149 @ 867D2E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D2F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D300 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D30C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D318 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D324 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D330 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D33C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D348 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D354 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D360 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 867D36C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D378 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867D384 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D390 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D39C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D3A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D3B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D3C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D3CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D3D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D3E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D3F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D3FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D408 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867D414 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D420 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D42C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D438 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D444 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D450 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D45C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D468 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D474 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D480 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D48C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D498 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D4A4 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 867D4B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D4BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D4C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D4D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D4E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D4EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D4F8 + voice_square_2_alt 2, 0, 1, 4, 1 @ 867D504 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D510 + voice_square_1_alt 0, 2, 0, 1, 4, 1 @ 867D51C + + .align 2 +voicegroup_867D528:: @ 867D528 + voice_keysplit_all voicegroup_8675FEC @ 867D528 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 867D534 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D540 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D54C + voice_square_2 2, 0, 1, 4, 2 @ 867D558 + voice_square_1 0, 2, 0, 1, 4, 1 @ 867D564 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D570 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D57C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D588 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D594 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D5A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D5AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D5B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D5C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D5D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D5DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D5E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D5F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D600 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D60C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D618 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D624 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D630 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D63C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D648 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D654 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D660 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D66C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D678 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D684 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D690 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D69C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D6A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D6B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D6C0 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 867D6CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D6D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D6E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D6F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D6FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D708 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D714 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D720 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D72C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D738 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 867D744 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D750 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D75C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867D768 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D774 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D780 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D78C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D798 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D7A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D7B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D7BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D7C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D7D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D7E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D7EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D7F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D804 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D810 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D81C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D828 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D834 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D840 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D84C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D858 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D864 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D870 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D87C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D888 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 867D894 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D8A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D8AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D8B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D8C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D8D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D8DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D8E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D8F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D900 + voice_programmable_wave ProgrammableWaveData_86B4920, 0, 7, 15, 2 @ 867D90C + + .align 2 +voicegroup_867D918:: @ 867D918 + voice_keysplit_all voicegroup_867C838 @ 867D918 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 867D924 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D930 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D93C + voice_square_2_alt 2, 0, 1, 7, 1 @ 867D948 + voice_square_1_alt 0, 2, 0, 1, 7, 1 @ 867D954 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D960 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D96C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D978 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D984 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D990 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D99C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D9A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D9B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D9C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D9CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D9D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D9E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D9F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867D9FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DA08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DA14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DA20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DA2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DA38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DA44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DA50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DA5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DA68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DA74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DA80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DA8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DA98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DAA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DAB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DABC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DAC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DAD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DAE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DAEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DAF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB40 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867DB4C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867DB58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DB94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DBA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DBAC + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867DBB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DBC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DBD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DBDC + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867DBE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DBF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DC00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DC0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DC18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DC24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DC30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DC3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DC48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DC54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DC60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DC6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DC78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DC84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DC90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DC9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DCA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DCB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DCC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DCCC + voice_square_2_alt 3, 0, 1, 6, 1 @ 867DCD8 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 2 @ 867DCE4 + voice_square_1_alt 0, 3, 0, 1, 6, 1 @ 867DCF0 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 0 @ 867DCFC + voice_square_1_alt 0, 3, 0, 0, 6, 1 @ 867DD08 + + .align 2 +voicegroup_867DD14:: @ 867DD14 + voice_keysplit_all voicegroup_8675FEC @ 867DD14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DD20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DD2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DD38 + voice_square_2_alt 2, 0, 1, 6, 1 @ 867DD44 + voice_square_1_alt 0, 2, 0, 1, 6, 1 @ 867DD50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DD5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DD68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DD74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DD80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DD8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DD98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DDA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DDB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DDBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DDC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DDD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DDE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DDEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DDF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DE04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DE10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DE1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DE28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DE34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DE40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DE4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DE58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DE64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DE70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DE7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DE88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DE94 + voice_directsound 60, 0, DirectSoundWaveData_86FFDC0, 255, 253, 0, 149 @ 867DEA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DEAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DEB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DEC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DED0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DEDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DEE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DEF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DF00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DF0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DF18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DF24 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 867DF30 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 867DF3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DF48 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867DF54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DF60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DF6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DF78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DF84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DF90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DF9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DFA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DFB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DFC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DFCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DFD8 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867DFE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DFF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867DFFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E008 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E014 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E020 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E02C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E038 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E044 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E050 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E05C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E068 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E074 + voice_programmable_wave ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 867E080 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E08C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E098 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E0A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E0B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E0BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E0C8 + voice_square_2_alt 2, 0, 2, 4, 1 @ 867E0D4 + voice_square_1_alt 0, 2, 0, 2, 4, 1 @ 867E0E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E0EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E0F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E104 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E110 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E11C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E128 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E134 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E140 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E14C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E158 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E164 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E170 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E17C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E188 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E194 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E1A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E1AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E1B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E1C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E1D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E1DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E1E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E1F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E200 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E20C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E218 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E224 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E230 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E23C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E248 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E254 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E260 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E26C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E278 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E284 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E290 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E29C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E2A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E2B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E2C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E2CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E2D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E2E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E2F0 + voice_noise_alt 0, 0, 4, 1, 4 @ 867E2FC + voice_noise_alt 0, 0, 1, 0, 2 @ 867E308 + + .align 2 +voicegroup_867E314:: @ 867E314 + voice_keysplit_all voicegroup_867C838 @ 867E314 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E320 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E32C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E338 + voice_square_2_alt 2, 0, 2, 4, 1 @ 867E344 + voice_square_1_alt 0, 2, 0, 2, 4, 1 @ 867E350 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E35C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E368 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E374 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E380 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E38C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E398 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E3A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E3B0 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 216, 90, 242 @ 867E3BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E3C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E3D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E3E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E3EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E3F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E404 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E410 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E41C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E428 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E434 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E440 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E44C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E458 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E464 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E470 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E47C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E488 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E494 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E4A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E4AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E4B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E4C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E4D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E4DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E4E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E4F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E500 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E50C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E518 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E524 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E530 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 867E53C + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 867E548 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867E554 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E560 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E56C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E578 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E584 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E590 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E59C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E5A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E5B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E5C0 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 867E5CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E5D8 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867E5E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E5F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E5FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E608 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E614 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E620 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E62C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E638 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E644 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E650 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E65C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E668 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E674 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E680 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E68C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E698 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E6A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E6B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E6BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E6C8 + voice_square_2_alt 0, 0, 1, 7, 1 @ 867E6D4 + voice_programmable_wave_alt ProgrammableWaveData_86B4850, 0, 7, 15, 2 @ 867E6E0 + voice_square_1_alt 0, 0, 0, 1, 7, 1 @ 867E6EC + voice_square_1_alt 0, 0, 0, 0, 7, 1 @ 867E6F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E704 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E710 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E71C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E728 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 2 @ 867E734 + + .align 2 +voicegroup_867E740:: @ 867E740 + voice_keysplit_all voicegroup_8675FEC @ 867E740 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E74C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E758 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E764 + voice_square_2 2, 0, 1, 4, 1 @ 867E770 + voice_square_1 0, 2, 0, 1, 4, 1 @ 867E77C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E788 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E794 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E7A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E7AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E7B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E7C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E7D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E7DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E7E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E7F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E800 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 127 @ 867E80C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E818 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E824 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E830 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E83C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E848 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E854 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E860 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E86C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E878 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E884 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E890 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E89C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E8A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E8B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E8C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E8CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E8D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E8E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E8F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E8FC + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 867E908 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E914 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E920 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E92C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E938 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E944 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E950 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E95C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E968 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E974 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E980 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E98C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E998 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E9A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E9B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E9BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E9C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E9D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E9E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E9EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867E9F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EA04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EA10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EA1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EA28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EA34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EA40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EA4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EA58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EA64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EA70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EA7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EA88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EA94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EAA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EAAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EAB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EAC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EAD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EADC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EAE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EAF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EB00 + voice_programmable_wave_alt ProgrammableWaveData_86B4850, 0, 7, 15, 0 @ 867EB0C + + .align 2 +voicegroup_867EB18:: @ 867EB18 + voice_keysplit_all voicegroup_8675FEC @ 867EB18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EB24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EB30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EB3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EB48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EB54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EB60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EB6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EB78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EB84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EB90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EB9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EBA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EBB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EBC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EBCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EBD8 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 165 @ 867EBE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EBF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EBFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EC08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EC14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EC20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EC2C + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 867EC38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EC44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EC50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EC5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EC68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EC74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EC80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EC8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EC98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ECA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ECB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ECBC + voice_directsound 60, 0, DirectSoundWaveData_86B776C, 255, 235, 128, 99 @ 867ECC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ECD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ECE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ECEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ECF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED4C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867ED58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867ED94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EDA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EDAC + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867EDB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EDC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EDD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EDDC + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867EDE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EDF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EE00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EE0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EE18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EE24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EE30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EE3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EE48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EE54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EE60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EE6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EE78 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 867EE84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EE90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EE9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EEA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EEB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EEC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EECC + voice_square_1_alt 0, 2, 0, 2, 4, 0 @ 867EED8 + voice_square_2_alt 1, 0, 2, 4, 0 @ 867EEE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EEF0 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 867EEFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EF08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EF14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EF20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EF2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EF38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EF44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EF50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EF5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EF68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EF74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EF80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EF8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EF98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EFA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EFB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EFBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EFC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EFD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EFE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EFEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867EFF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F004 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F010 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F01C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F028 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F034 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F040 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F04C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F058 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F064 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F070 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F07C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F088 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F094 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F0A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F0AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F0B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F0C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F0D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F0DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F0E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F0F4 + voice_noise_alt 0, 0, 1, 7, 1 @ 867F100 + voice_noise_alt 0, 0, 1, 0, 0 @ 867F10C + + .align 2 +voicegroup_867F118:: @ 867F118 + voice_keysplit_all voicegroup_8675FEC @ 867F118 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F124 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F130 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F13C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F148 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F154 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F160 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F16C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F178 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F184 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F190 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F19C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F1A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F1B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F1C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F1CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F1D8 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 165 @ 867F1E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F1F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F1FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F208 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F214 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F220 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F22C + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 867F238 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F244 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F250 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F25C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F268 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F274 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F280 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F28C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F298 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F2A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F2B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F2BC + voice_directsound 60, 0, DirectSoundWaveData_86B776C, 255, 235, 128, 99 @ 867F2C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F2D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F2E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F2EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F2F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F304 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F310 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F31C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F328 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F334 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F340 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F34C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867F358 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F364 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F370 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F37C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F388 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F394 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F3A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F3AC + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867F3B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F3C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F3D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F3DC + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867F3E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F3F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F400 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F40C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F418 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F424 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F430 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F43C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F448 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F454 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F460 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F46C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F478 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 867F484 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F490 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F49C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F4A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F4B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F4C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F4CC + voice_square_1_alt 0, 2, 0, 2, 4, 0 @ 867F4D8 + voice_square_2_alt 1, 0, 2, 4, 0 @ 867F4E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F4F0 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 867F4FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F508 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F514 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F520 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F52C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F538 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F544 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F550 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F55C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F568 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F574 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F580 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F58C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F598 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F5A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F5B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F5BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F5C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F5D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F5E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F5EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F5F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F604 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F610 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F61C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F628 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F634 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F640 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F64C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F658 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F664 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F670 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F67C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F688 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F694 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F6A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F6AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F6B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F6C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F6D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F6DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F6E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F6F4 + voice_noise_alt 0, 0, 1, 7, 1 @ 867F700 + voice_noise_alt 0, 0, 1, 0, 0 @ 867F70C + + .align 2 +voicegroup_867F718:: @ 867F718 + voice_keysplit_all voicegroup_8675FEC @ 867F718 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F724 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F730 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F73C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F748 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F754 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F760 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F76C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F778 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F784 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F790 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F79C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F7A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F7B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F7C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F7CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F7D8 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 165 @ 867F7E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F7F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F7FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F808 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F814 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F820 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F82C + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 867F838 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F844 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F850 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F85C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F868 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F874 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F880 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F88C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F898 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F8A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F8B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F8BC + voice_directsound 60, 0, DirectSoundWaveData_86B776C, 255, 235, 128, 99 @ 867F8C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F8D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F8E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F8EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F8F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F904 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F910 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F91C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F928 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F934 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F940 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F94C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867F958 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F964 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F970 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F97C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F988 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F994 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F9A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F9AC + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867F9B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F9C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F9D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F9DC + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867F9E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867F9F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FA00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FA0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FA18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FA24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FA30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FA3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FA48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FA54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FA60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FA6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FA78 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 867FA84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FA90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FA9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FAA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FAB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FAC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FACC + voice_square_1_alt 0, 2, 0, 2, 4, 0 @ 867FAD8 + voice_square_2_alt 1, 0, 2, 4, 0 @ 867FAE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FAF0 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 867FAFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FB08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FB14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FB20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FB2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FB38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FB44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FB50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FB5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FB68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FB74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FB80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FB8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FB98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FBA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FBB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FBBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FBC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FBD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FBE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FBEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FBF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FC04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FC10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FC1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FC28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FC34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FC40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FC4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FC58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FC64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FC70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FC7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FC88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FC94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FCA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FCAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FCB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FCC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FCD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FCDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FCE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FCF4 + voice_noise_alt 0, 0, 1, 7, 1 @ 867FD00 + voice_noise_alt 0, 0, 1, 0, 0 @ 867FD0C + + .align 2 +voicegroup_867FD18:: @ 867FD18 + voice_keysplit_all voicegroup_8675FEC @ 867FD18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FD24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FD30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FD3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FD48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FD54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FD60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FD6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FD78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FD84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FD90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FD9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FDA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FDB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FDC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FDCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FDD8 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 165 @ 867FDE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FDF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FDFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FE08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FE14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FE20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FE2C + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 867FE38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FE44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FE50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FE5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FE68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FE74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FE80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FE8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FE98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FEA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FEB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FEBC + voice_directsound 60, 0, DirectSoundWaveData_86B776C, 255, 235, 128, 99 @ 867FEC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FED4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FEE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FEEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FEF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF4C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 867FF58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FF94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FFA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FFAC + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 867FFB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FFC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FFD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FFDC + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 867FFE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 867FFF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680000 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868000C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680018 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680024 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680030 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868003C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680048 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680054 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680060 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868006C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680078 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 8680084 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680090 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868009C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86800A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86800B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86800C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86800CC + voice_square_1_alt 0, 2, 0, 2, 4, 0 @ 86800D8 + voice_square_2_alt 1, 0, 2, 4, 0 @ 86800E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86800F0 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 86800FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680108 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680114 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680120 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868012C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680138 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680144 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680150 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868015C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680168 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680174 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680180 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868018C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680198 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86801A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86801B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86801BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86801C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86801D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86801E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86801EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86801F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680204 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680210 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868021C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680228 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680234 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680240 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868024C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680258 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680264 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680270 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868027C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680288 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680294 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86802A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86802AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86802B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86802C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86802D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86802DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86802E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86802F4 + voice_noise_alt 0, 0, 1, 7, 1 @ 8680300 + voice_noise_alt 0, 0, 1, 0, 0 @ 868030C + + .align 2 +voicegroup_8680318:: @ 8680318 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680318 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8680324 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680330 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868033C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680348 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680354 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680360 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868036C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680378 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680384 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680390 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868039C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86803A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86803B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86803C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86803CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86803D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86803E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86803F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86803FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680408 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680414 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680420 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868042C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680438 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680444 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680450 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868045C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680468 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680474 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680480 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868048C + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 149 @ 8680498 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86804A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86804B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86804BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86804C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86804D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86804E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86804EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86804F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680504 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680510 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868051C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680528 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680534 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680540 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868054C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8680558 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680564 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680570 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868057C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680588 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680594 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86805A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86805AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86805B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86805C4 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86805D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86805DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86805E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86805F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680600 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868060C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680618 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680624 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680630 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868063C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680648 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680654 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680660 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868066C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680678 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 8680684 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680690 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868069C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86806A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86806B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86806C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86806CC + voice_square_2_alt 1, 0, 2, 4, 0 @ 86806D8 + + .align 2 +voicegroup_86806E4:: @ 86806E4 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86806E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86806F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86806FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680708 + voice_square_1_alt 0, 2, 0, 5, 1, 7 @ 8680714 + voice_square_2_alt 3, 0, 4, 3, 6 @ 8680720 + voice_square_2_alt 2, 1, 1, 4, 0 @ 868072C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680738 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680744 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680750 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868075C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680768 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680774 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680780 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868078C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680798 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86807A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86807B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86807BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86807C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86807D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86807E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86807EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86807F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680804 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680810 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868081C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680828 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680834 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680840 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868084C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680858 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680864 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680870 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868087C + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 224 @ 8680888 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680894 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86808A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86808AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86808B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86808C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86808D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86808DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86808E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86808F4 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 8680900 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868090C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680918 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8680924 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680930 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868093C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680948 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680954 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680960 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868096C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680978 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680984 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680990 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868099C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86809A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86809B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86809C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86809CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86809D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86809E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86809F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86809FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680A08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680A14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680A20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680A2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680A38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680A44 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 8680A50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680A5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680A68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680A74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680A80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680A8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680A98 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 1 @ 8680AA4 + + .align 2 +voicegroup_8680AB0:: @ 8680AB0 + voice_keysplit_all voicegroup_8675FEC @ 8680AB0 + voice_square_1_alt 0, 1, 0, 2, 0, 1 @ 8680ABC + voice_square_1_alt 0, 3, 1, 2, 6, 0 @ 8680AC8 + voice_square_2_alt 3, 1, 2, 6, 0 @ 8680AD4 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 1 @ 8680AE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680AEC + voice_square_2_alt 1, 0, 2, 0, 1 @ 8680AF8 + voice_programmable_wave_alt ProgrammableWaveData_86B4860, 1, 7, 15, 1 @ 8680B04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680B10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680B1C + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8680B28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680B34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680B40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680B4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680B58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680B64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680B70 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 210 @ 8680B7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680B88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680B94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680BA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680BAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680BB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680BC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680BD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680BDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680BE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680BF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680C00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680C0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680C18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680C24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680C30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680C3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680C48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680C54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680C60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680C6C + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 216 @ 8680C78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680C84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680C90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680C9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680CA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680CB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680CC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680CCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680CD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680CE4 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8680CF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680CFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680D08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680D14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680D20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680D2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680D38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680D44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680D50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680D5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680D68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680D74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680D80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680D8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680D98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680DA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680DB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680DBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680DC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680DD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680DE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680DEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680DF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680E04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680E10 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 8680E1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680E28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680E34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680E40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680E4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680E58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680E64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680E70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680E7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680E88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680E94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680EA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680EAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680EB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680EC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680ED0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680EDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680EE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680EF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680F00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680F0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680F18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680F24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680F30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680F3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680F48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680F54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680F60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680F6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680F78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680F84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680F90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680F9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680FA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680FB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680FC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680FCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680FD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680FE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680FF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8680FFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681008 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681014 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681020 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868102C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681038 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681044 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681050 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868105C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681068 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681074 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681080 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868108C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681098 + voice_noise_alt 0, 0, 1, 0, 0 @ 86810A4 + + .align 2 +voicegroup_86810B0:: @ 86810B0 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86810B0 + voice_programmable_wave_alt ProgrammableWaveData_86B4900, 0, 1, 12, 0 @ 86810BC + voice_square_1_alt 0, 0, 1, 1, 9, 0 @ 86810C8 + voice_square_2_alt 2, 0, 2, 6, 3 @ 86810D4 + voice_programmable_wave_alt ProgrammableWaveData_86B4850, 0, 7, 15, 1 @ 86810E0 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 216 @ 86810EC + voice_square_2_alt 1, 0, 2, 6, 3 @ 86810F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681104 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681110 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868111C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681128 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681134 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681140 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868114C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681158 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681164 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681170 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868117C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681188 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681194 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86811A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86811AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86811B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86811C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86811D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86811DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86811E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86811F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681200 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868120C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681218 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681224 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681230 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868123C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681248 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681254 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681260 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868126C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681278 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681284 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681290 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868129C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86812A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86812B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86812C0 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 165 @ 86812CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86812D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86812E4 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86812F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86812FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681308 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681314 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681320 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868132C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681338 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681344 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681350 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868135C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681368 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681374 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681380 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868138C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681398 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86813A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86813B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86813BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86813C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86813D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86813E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86813EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86813F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681404 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681410 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 868141C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681428 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681434 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681440 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868144C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681458 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681464 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681470 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868147C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681488 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681494 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86814A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86814AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86814B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86814C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86814D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86814DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86814E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86814F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681500 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868150C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681518 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681524 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681530 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868153C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681548 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681554 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681560 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868156C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681578 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681584 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681590 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868159C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86815A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86815B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86815C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86815CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86815D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86815E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86815F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86815FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681608 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681614 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681620 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868162C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681638 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681644 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681650 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868165C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681668 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681674 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681680 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868168C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681698 + voice_noise_alt 0, 0, 1, 0, 0 @ 86816A4 + + .align 2 +voicegroup_86816B0:: @ 86816B0 + voice_keysplit_all voicegroup_8675FEC @ 86816B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86816BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86816C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86816D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86816E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86816EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86816F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681704 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681710 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868171C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681728 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681734 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681740 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868174C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681758 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681764 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681770 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868177C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681788 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681794 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86817A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86817AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86817B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86817C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86817D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86817DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86817E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86817F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681800 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868180C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681818 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681824 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681830 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868183C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681848 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681854 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681860 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868186C + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 8681878 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681884 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681890 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868189C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86818A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86818B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86818C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86818CC + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 204 @ 86818D8 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 204, 193, 239 @ 86818E4 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86818F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86818FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681908 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681914 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681920 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868192C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681938 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681944 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8681950 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868195C + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8681968 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681974 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8681980 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868198C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681998 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86819A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86819B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86819BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86819C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86819D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86819E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86819EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86819F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681A04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681A10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681A1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681A28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681A34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681A40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681A4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681A58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681A64 + voice_square_2_alt 2, 0, 1, 6, 2 @ 8681A70 + voice_programmable_wave_alt ProgrammableWaveData_86B4920, 0, 7, 15, 0 @ 8681A7C + voice_square_2_alt 3, 0, 1, 4, 1 @ 8681A88 + voice_programmable_wave_alt ProgrammableWaveData_86B4850, 1, 7, 15, 2 @ 8681A94 + voice_square_2_alt 1, 1, 1, 4, 1 @ 8681AA0 + voice_square_1_alt 0, 1, 1, 2, 4, 1 @ 8681AAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681AB8 + voice_square_2_alt 2, 0, 1, 6, 1 @ 8681AC4 + voice_square_1_alt 0, 2, 0, 1, 6, 1 @ 8681AD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681ADC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681AE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681AF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681B00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681B0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681B18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681B24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681B30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681B3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681B48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681B54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681B60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681B6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681B78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681B84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681B90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681B9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681BA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681BB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681BC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681BCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681BD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681BE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681BF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681BFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681C08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681C14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681C20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681C2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681C38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681C44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681C50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681C5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681C68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681C74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681C80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681C8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681C98 + voice_noise_alt 0, 0, 1, 0, 0 @ 8681CA4 + + .align 2 +voicegroup_8681CB0:: @ 8681CB0 + voice_keysplit_all voicegroup_8675FEC @ 8681CB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681CBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681CC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681CD4 + voice_square_1_alt 0, 2, 0, 7, 3, 3 @ 8681CE0 + voice_square_1_alt 0, 2, 0, 1, 4, 1 @ 8681CEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681CF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681D04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681D10 + voice_directsound 60, 0, DirectSoundWaveData_86B5D04, 255, 204, 51, 242 @ 8681D1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681D28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681D34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681D40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681D4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681D58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681D64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681D70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681D7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681D88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681D94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681DA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681DAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681DB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681DC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681DD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681DDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681DE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681DF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681E00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681E0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681E18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681E24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681E30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681E3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681E48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681E54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681E60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681E6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681E78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681E84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681E90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681E9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681EA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681EB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681EC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681ECC + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 8681ED8 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 239 @ 8681EE4 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8681EF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681EFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F44 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8681F50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F5C + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8681F68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F74 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8681F80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681F98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681FA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681FB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681FBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681FC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681FD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681FE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681FEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8681FF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682004 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682010 + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 7, 15, 0 @ 868201C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682028 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682034 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682040 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868204C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682058 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682064 + voice_square_2_alt 3, 0, 4, 4, 0 @ 8682070 + voice_square_1_alt 0, 3, 0, 3, 6, 0 @ 868207C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682088 + voice_square_1_alt 0, 0, 0, 3, 3, 0 @ 8682094 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 12, 1 @ 86820A0 + voice_square_2_alt 1, 0, 1, 4, 3 @ 86820AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86820B8 + voice_square_2_alt 0, 0, 2, 4, 0 @ 86820C4 + + .align 2 +voicegroup_86820D0:: @ 86820D0 + voice_keysplit_all voicegroup_8675FEC @ 86820D0 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86820DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86820E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86820F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682100 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868210C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682118 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682124 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682130 + voice_directsound 60, 0, DirectSoundWaveData_86B5D04, 255, 165, 51, 242 @ 868213C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682148 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682154 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682160 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868216C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682178 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682184 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682190 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868219C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86821A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86821B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86821C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86821CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86821D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86821E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86821F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86821FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682208 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682214 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682220 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868222C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682238 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682244 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682250 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868225C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682268 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 8682274 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682280 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868228C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682298 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86822A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86822B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86822BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86822C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86822D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86822E0 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 86822EC + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 86822F8 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 226 @ 8682304 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8682310 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868231C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682328 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682334 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682340 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868234C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682358 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682364 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8682370 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868237C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682388 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682394 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86823A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86823AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86823B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86823C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86823D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86823DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86823E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86823F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682400 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868240C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682418 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682424 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682430 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 868243C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682448 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682454 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682460 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868246C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682478 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682484 + voice_square_1_alt 0, 2, 0, 2, 4, 1 @ 8682490 + voice_square_2_alt 1, 1, 3, 4, 2 @ 868249C + voice_square_1_alt 0, 3, 0, 1, 4, 1 @ 86824A8 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 1, 7, 15, 0 @ 86824B4 + voice_square_2_alt 2, 0, 2, 4, 2 @ 86824C0 + voice_square_2_alt 1, 1, 3, 4, 2 @ 86824CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86824D8 + voice_square_1_alt 0, 2, 1, 4, 4, 2 @ 86824E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86824F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86824FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682508 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682514 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682520 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868252C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682538 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682544 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682550 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868255C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682568 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682574 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682580 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868258C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682598 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86825A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86825B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86825BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86825C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86825D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86825E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86825EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86825F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682604 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682610 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868261C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682628 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682634 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682640 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868264C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682658 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682664 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682670 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868267C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682688 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682694 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86826A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86826AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86826B8 + voice_noise_alt 0, 0, 1, 0, 0 @ 86826C4 + + .align 2 +voicegroup_86826D0:: @ 86826D0 + voice_keysplit_all voicegroup_8675FEC @ 86826D0 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86826DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86826E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86826F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682700 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868270C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682718 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682724 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682730 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868273C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682748 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682754 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682760 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868276C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682778 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682784 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682790 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 210 @ 868279C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86827A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86827B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86827C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86827CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86827D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86827E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86827F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86827FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682808 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682814 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682820 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868282C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682838 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682844 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682850 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868285C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682868 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 8682874 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682880 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868288C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682898 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86828A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86828B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86828BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86828C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86828D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86828E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86828EC + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 86828F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682904 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682910 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868291C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682928 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682934 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682940 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868294C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682958 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682964 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682970 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868297C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682988 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682994 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86829A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86829AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86829B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86829C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86829D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86829DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86829E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86829F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682A00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682A0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682A18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682A24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682A30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682A3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682A48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682A54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682A60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682A6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682A78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682A84 + voice_square_2_alt 3, 0, 1, 4, 1 @ 8682A90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682A9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682AA8 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 1 @ 8682AB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682AC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682ACC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682AD8 + voice_square_1_alt 0, 1, 0, 2, 4, 1 @ 8682AE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682AF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682AFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682B08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682B14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682B20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682B2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682B38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682B44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682B50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682B5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682B68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682B74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682B80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682B8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682B98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682BA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682BB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682BBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682BC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682BD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682BE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682BEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682BF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682C04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682C10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682C1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682C28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682C34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682C40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682C4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682C58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682C64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682C70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682C7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682C88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682C94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682CA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682CAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682CB8 + voice_noise_alt 0, 0, 1, 0, 0 @ 8682CC4 + + .align 2 +voicegroup_8682CD0:: @ 8682CD0 + voice_keysplit_all voicegroup_8675FEC @ 8682CD0 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8682CDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682CE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682CF4 + voice_square_2_alt 2, 1, 4, 4, 2 @ 8682D00 + voice_square_1_alt 0, 2, 0, 3, 4, 1 @ 8682D0C + voice_square_2_alt 2, 1, 3, 4, 2 @ 8682D18 + voice_square_1_alt 0, 2, 0, 3, 4, 1 @ 8682D24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682D30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682D3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682D48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682D54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682D60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682D6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682D78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682D84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682D90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682D9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682DA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682DB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682DC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682DCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682DD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682DE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682DF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682DFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682E08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682E14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682E20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682E2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682E38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682E44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682E50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682E5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682E68 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 8682E74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682E80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682E8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682E98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682EA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682EB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682EBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682EC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682ED4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682EE0 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 99 @ 8682EEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682EF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682F04 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8682F10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682F1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682F28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682F34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682F40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682F4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682F58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682F64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682F70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682F7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682F88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682F94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682FA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682FAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682FB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682FC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682FD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682FDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682FE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8682FF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683000 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868300C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683018 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683024 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683030 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 868303C + + .align 2 +voicegroup_8683048:: @ 8683048 + voice_keysplit_all voicegroup_8675FEC @ 8683048 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683054 + voice_square_1 0, 3, 1, 2, 6, 0 @ 8683060 + voice_square_2 3, 1, 2, 6, 0 @ 868306C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683078 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683084 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683090 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868309C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86830A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86830B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86830C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86830CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86830D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86830E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86830F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86830FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683108 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683114 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683120 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868312C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683138 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683144 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683150 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868315C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683168 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683174 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683180 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868318C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683198 + voice_programmable_wave_alt ProgrammableWaveData_86B4860, 0, 7, 15, 0 @ 86831A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86831B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86831BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86831C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86831D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86831E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86831EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86831F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683204 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683210 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868321C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683228 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683234 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683240 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868324C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683258 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683264 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683270 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 226 @ 868327C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8683288 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683294 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86832A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86832AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86832B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86832C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86832D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86832DC + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86832E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86832F4 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8683300 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868330C + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8683318 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683324 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683330 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868333C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683348 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683354 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683360 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868336C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683378 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683384 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683390 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868339C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86833A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86833B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86833C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86833CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86833D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86833E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86833F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86833FC + voice_square_2_alt 1, 0, 1, 6, 1 @ 8683408 + voice_square_1_alt 0, 0, 0, 1, 7, 1 @ 8683414 + voice_programmable_wave_alt ProgrammableWaveData_86B4850, 0, 7, 15, 1 @ 8683420 + voice_square_2_alt 0, 0, 1, 4, 2 @ 868342C + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 1 @ 8683438 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683444 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683450 + voice_square_1_alt 0, 1, 0, 7, 6, 1 @ 868345C + voice_square_2_alt 2, 0, 1, 6, 1 @ 8683468 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683474 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683480 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868348C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683498 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86834A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86834B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86834BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86834C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86834D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86834E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86834EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86834F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683504 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683510 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868351C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683528 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683534 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683540 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868354C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683558 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683564 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683570 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868357C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683588 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683594 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86835A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86835AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86835B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86835C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86835D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86835DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86835E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86835F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683600 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868360C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683618 + voice_noise_alt 0, 0, 1, 9, 4 @ 8683624 + voice_noise_alt 0, 3, 1, 10, 0 @ 8683630 + voice_noise_alt 0, 0, 2, 0, 0 @ 868363C + + .align 2 +voicegroup_8683648:: @ 8683648 + voice_keysplit_all voicegroup_8675FEC @ 8683648 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8683654 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683660 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868366C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683678 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683684 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683690 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868369C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86836A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86836B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86836C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86836CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86836D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86836E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86836F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86836FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683708 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683714 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683720 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868372C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683738 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683744 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683750 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868375C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683768 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683774 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683780 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868378C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683798 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86837A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86837B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86837BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86837C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86837D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86837E0 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 86837EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86837F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683804 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683810 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868381C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683828 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683834 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683840 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868384C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683858 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 8683864 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683870 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868387C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8683888 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683894 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86838A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86838AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86838B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86838C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86838D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86838DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86838E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86838F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683900 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868390C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683918 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683924 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683930 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868393C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683948 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683954 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683960 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868396C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683978 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683984 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683990 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868399C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86839A8 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 86839B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86839C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86839CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86839D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86839E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86839F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86839FC + voice_square_2_alt 2, 0, 1, 4, 2 @ 8683A08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683A14 + voice_square_1_alt 0, 3, 0, 1, 4, 1 @ 8683A20 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 12, 0 @ 8683A2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683A38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683A44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683A50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683A5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683A68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683A74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683A80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683A8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683A98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683AA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683AB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683ABC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683AC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683AD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683AE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683AEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683AF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683B04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683B10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683B1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683B28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683B34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683B40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683B4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683B58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683B64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683B70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683B7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683B88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683B94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683BA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683BAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683BB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683BC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683BD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683BDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683BE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683BF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683C00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683C0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683C18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683C24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683C30 + voice_noise_alt 0, 0, 1, 0, 0 @ 8683C3C + + .align 2 +voicegroup_8683C48:: @ 8683C48 + voice_keysplit_all voicegroup_8675FEC @ 8683C48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683C54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683C60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683C6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683C78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683C84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683C90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683C9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683CA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683CB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683CC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683CCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683CD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683CE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683CF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683CFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683D08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683D14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683D20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683D2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683D38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683D44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683D50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683D5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683D68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683D74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683D80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683D8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683D98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683DA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683DB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683DBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683DC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683DD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683DE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683DEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683DF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683E04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683E10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683E1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683E28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683E34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683E40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683E4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683E58 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 8683E64 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 8683E70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683E7C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8683E88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683E94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683EA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683EAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683EB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683EC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683ED0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683EDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683EE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683EF4 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8683F00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683F0C + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8683F18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683F24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683F30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683F3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683F48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683F54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683F60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683F6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683F78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683F84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683F90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683F9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683FA8 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 8683FB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683FC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683FCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683FD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683FE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683FF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8683FFC + voice_square_2_alt 2, 0, 1, 5, 2 @ 8684008 + voice_square_1_alt 0, 3, 0, 1, 4, 1 @ 8684014 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 8684020 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868402C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684038 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684044 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684050 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868405C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684068 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684074 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684080 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868408C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684098 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86840A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86840B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86840BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86840C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86840D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86840E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86840EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86840F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684104 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684110 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868411C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684128 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684134 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684140 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868414C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684158 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684164 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684170 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868417C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684188 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684194 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86841A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86841AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86841B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86841C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86841D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86841DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86841E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86841F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684200 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868420C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684218 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684224 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684230 + voice_noise_alt 0, 0, 1, 0, 0 @ 868423C + + .align 2 +voicegroup_8684248:: @ 8684248 + voice_keysplit_all voicegroup_8675FEC @ 8684248 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684254 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684260 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868426C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684278 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684284 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684290 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868429C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86842A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86842B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86842C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86842CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86842D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86842E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86842F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86842FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684308 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684314 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684320 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868432C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684338 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684344 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684350 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868435C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684368 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684374 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684380 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868438C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684398 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86843A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86843B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86843BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86843C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86843D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86843E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86843EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86843F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684404 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 8684410 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868441C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684428 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684434 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684440 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868444C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684458 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684464 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 204 @ 8684470 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 204, 193, 239 @ 868447C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8684488 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684494 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86844A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86844AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86844B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86844C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86844D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86844DC + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86844E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86844F4 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8684500 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868450C + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8684518 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684524 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684530 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868453C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684548 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684554 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684560 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868456C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684578 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684584 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684590 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868459C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86845A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86845B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86845C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86845CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86845D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86845E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86845F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86845FC + voice_square_2_alt 2, 0, 1, 4, 1 @ 8684608 + voice_square_1_alt 0, 3, 0, 1, 6, 0 @ 8684614 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 8684620 + voice_programmable_wave_alt ProgrammableWaveData_86B4860, 0, 7, 15, 2 @ 868462C + voice_square_2_alt 1, 1, 1, 4, 1 @ 8684638 + voice_square_1_alt 0, 1, 0, 1, 4, 2 @ 8684644 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684650 + voice_square_2_alt 2, 0, 1, 6, 1 @ 868465C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684668 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684674 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684680 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868468C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684698 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86846A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86846B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86846BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86846C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86846D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86846E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86846EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86846F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684704 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684710 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868471C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684728 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684734 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684740 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868474C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684758 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684764 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684770 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868477C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684788 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684794 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86847A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86847AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86847B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86847C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86847D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86847DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86847E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86847F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684800 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868480C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684818 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684824 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684830 + voice_noise_alt 0, 0, 1, 0, 0 @ 868483C + + .align 2 +voicegroup_8684848:: @ 8684848 + voice_keysplit_all voicegroup_8675FEC @ 8684848 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684854 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684860 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868486C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684878 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684884 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684890 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868489C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86848A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86848B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86848C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86848CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86848D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86848E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86848F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86848FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684908 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684914 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684920 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868492C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684938 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684944 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684950 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868495C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684968 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684974 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684980 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868498C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684998 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86849A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86849B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86849BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86849C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86849D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86849E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86849EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86849F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684A04 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 8684A10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684A1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684A28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684A34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684A40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684A4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684A58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684A64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684A70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684A7C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8684A88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684A94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684AA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684AAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684AB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684AC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684AD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684ADC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684AE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684AF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B0C + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8684B18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684B9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684BA8 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 8684BB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684BC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684BCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684BD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684BE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684BF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684BFC + voice_square_2_alt 0, 0, 1, 4, 1 @ 8684C08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684C14 + voice_square_1_alt 0, 0, 0, 1, 4, 1 @ 8684C20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684C2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684C38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684C44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684C50 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 1 @ 8684C5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684C68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684C74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684C80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684C8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684C98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684CA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684CB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684CBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684CC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684CD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684CE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684CEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684CF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684D04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684D10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684D1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684D28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684D34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684D40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684D4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684D58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684D64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684D70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684D7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684D88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684D94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684DA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684DAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684DB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684DC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684DD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684DDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684DE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684DF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684E00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684E0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684E18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684E24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684E30 + voice_noise_alt 0, 0, 1, 0, 0 @ 8684E3C + + .align 2 +voicegroup_8684E48:: @ 8684E48 + voice_keysplit_all voicegroup_8675FEC @ 8684E48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684E54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684E60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684E6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684E78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684E84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684E90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684E9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684EA8 + voice_directsound 60, 0, DirectSoundWaveData_86B5D04, 255, 188, 51, 242 @ 8684EB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684EC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684ECC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684ED8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684EE4 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 128, 165, 90, 216 @ 8684EF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684EFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684F08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684F14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684F20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684F2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684F38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684F44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684F50 + voice_directsound 60, 0, DirectSoundWaveData_872DE98, 255, 0, 255, 127 @ 8684F5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684F68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684F74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684F80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684F8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684F98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684FA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684FB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684FBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684FC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684FD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684FE0 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 8684FEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8684FF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685004 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685010 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868501C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685028 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685034 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685040 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868504C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685058 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 8685064 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 8685070 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 226 @ 868507C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8685088 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685094 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86850A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86850AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86850B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86850C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86850D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86850DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86850E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86850F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685100 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868510C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685118 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685124 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685130 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868513C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685148 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685154 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685160 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868516C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685178 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685184 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685190 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868519C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86851A8 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 86851B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86851C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86851CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86851D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86851E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86851F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86851FC + voice_square_1_alt 0, 2, 0, 1, 4, 1 @ 8685208 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685214 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 1, 4, 10, 1 @ 8685220 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868522C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685238 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685244 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685250 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868525C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685268 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685274 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685280 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868528C + voice_square_2_alt 2, 1, 5, 9, 1 @ 8685298 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86852A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86852B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86852BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86852C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86852D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86852E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86852EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86852F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685304 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685310 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868531C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685328 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685334 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685340 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868534C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685358 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685364 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685370 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868537C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685388 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685394 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86853A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86853AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86853B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86853C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86853D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86853DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86853E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86853F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685400 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868540C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685418 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685424 + voice_noise_alt 0, 0, 1, 7, 1 @ 8685430 + voice_noise_alt 0, 0, 1, 0, 0 @ 868543C + + .align 2 +voicegroup_8685448:: @ 8685448 + voice_keysplit_all voicegroup_8675FEC @ 8685448 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685454 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685460 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868546C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685478 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685484 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685490 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868549C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86854A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86854B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86854C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86854CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86854D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86854E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86854F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86854FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685508 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 210 @ 8685514 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685520 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868552C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685538 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685544 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685550 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868555C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685568 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685574 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685580 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868558C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685598 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86855A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86855B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86855BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86855C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86855D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86855E0 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 86855EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86855F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685604 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685610 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868561C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685628 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685634 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685640 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868564C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685658 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685664 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685670 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868567C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685688 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685694 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86856A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86856AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86856B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86856C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86856D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86856DC + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86856E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86856F4 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8685700 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868570C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685718 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685724 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685730 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868573C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685748 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685754 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685760 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868576C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685778 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685784 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685790 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868579C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86857A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86857B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86857C0 + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 7, 15, 0 @ 86857CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86857D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86857E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86857F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86857FC + voice_square_1_alt 0, 2, 0, 1, 4, 1 @ 8685808 + voice_square_2_alt 2, 0, 1, 4, 1 @ 8685814 + voice_square_2_alt 0, 0, 1, 4, 1 @ 8685820 + voice_square_1_alt 0, 0, 0, 1, 4, 1 @ 868582C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685838 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685844 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685850 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868585C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685868 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685874 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685880 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868588C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685898 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86858A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86858B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86858BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86858C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86858D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86858E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86858EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86858F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685904 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685910 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868591C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685928 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685934 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685940 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868594C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685958 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685964 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685970 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868597C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685988 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685994 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86859A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86859AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86859B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86859C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86859D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86859DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86859E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86859F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685A00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685A0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685A18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685A24 + voice_noise_alt 0, 0, 2, 4, 0 @ 8685A30 + voice_noise_alt 0, 0, 1, 0, 0 @ 8685A3C + + .align 2 +voicegroup_8685A48:: @ 8685A48 + voice_keysplit_all voicegroup_8675FEC @ 8685A48 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8685A54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685A60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685A6C + voice_square_2_alt 1, 1, 1, 6, 2 @ 8685A78 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 8685A84 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 8685A90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685A9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685AA8 + voice_directsound 60, 0, DirectSoundWaveData_86B5D04, 255, 165, 51, 242 @ 8685AB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685AC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685ACC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685AD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685AE4 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 8685AF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685AFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685B08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685B14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685B20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685B2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685B38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685B44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685B50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685B5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685B68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685B74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685B80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685B8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685B98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685BA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685BB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685BBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685BC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685BD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685BE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685BEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685BF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685C04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685C10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685C1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685C28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685C34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685C40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685C4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685C58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685C64 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8685C70 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 239 @ 8685C7C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8685C88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685C94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685CA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685CAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685CB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685CC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685CD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685CDC + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8685CE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685CF4 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8685D00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685D0C + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8685D18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685D24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685D30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685D3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685D48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685D54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685D60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685D6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685D78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685D84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685D90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685D9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685DA8 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 8685DB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685DC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685DCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685DD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685DE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685DF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685DFC + voice_square_1_alt 0, 2, 0, 1, 6, 2 @ 8685E08 + voice_square_2_alt 2, 0, 1, 6, 0 @ 8685E14 + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 7, 15, 0 @ 8685E20 + voice_square_1_alt 0, 1, 0, 1, 4, 1 @ 8685E2C + voice_square_1_alt 0, 1, 1, 2, 4, 0 @ 8685E38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685E44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685E50 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 8685E5C + voice_square_2_alt 3, 0, 1, 6, 2 @ 8685E68 + + .align 2 +voicegroup_8685E74:: @ 8685E74 + voice_keysplit_all voicegroup_8675FEC @ 8685E74 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8685E80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685E8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685E98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685EA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685EB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685EBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685EC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685ED4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685EE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685EEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685EF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685F04 + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 8685F10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685F1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685F28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685F34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685F40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685F4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685F58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685F64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685F70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685F7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685F88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685F94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685FA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685FAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685FB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685FC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685FD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685FDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685FE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8685FF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686000 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868600C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686018 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686024 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686030 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868603C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686048 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686054 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686060 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868606C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686078 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686084 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 128, 226, 0, 38 @ 8686090 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868609C + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 86860A8 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86860B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86860C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86860CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86860D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86860E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86860F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86860FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686108 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8686114 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686120 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 868612C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686138 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8686144 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686150 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868615C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686168 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686174 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686180 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868618C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686198 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86861A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86861B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86861BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86861C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86861D4 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 86861E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86861EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86861F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686204 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686210 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868621C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686228 + voice_square_2_alt 1, 1, 1, 6, 1 @ 8686234 + voice_square_1_alt 0, 1, 0, 4, 4, 1 @ 8686240 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868624C + voice_square_2_alt 2, 0, 7, 3, 3 @ 8686258 + voice_square_1_alt 0, 2, 0, 7, 3, 3 @ 8686264 + voice_square_1_alt 0, 3, 2, 2, 7, 0 @ 8686270 + voice_square_2_alt 1, 1, 2, 3, 0 @ 868627C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686288 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686294 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86862A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86862AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86862B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86862C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86862D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86862DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86862E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86862F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686300 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868630C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686318 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686324 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686330 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868633C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686348 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686354 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686360 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868636C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686378 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686384 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686390 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868639C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86863A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86863B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86863C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86863CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86863D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86863E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86863F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86863FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686408 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686414 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686420 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868642C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686438 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686444 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686450 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868645C + voice_noise_alt 0, 0, 1, 0, 0 @ 8686468 + + .align 2 +voicegroup_8686474:: @ 8686474 + voice_keysplit_all voicegroup_8675FEC @ 8686474 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686480 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868648C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686498 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86864A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86864B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86864BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86864C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86864D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86864E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86864EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86864F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686504 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686510 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868651C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686528 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686534 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 210 @ 8686540 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868654C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686558 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686564 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686570 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868657C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686588 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686594 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86865A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86865AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86865B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86865C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86865D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86865DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86865E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86865F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686600 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868660C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686618 + voice_directsound 60, 0, DirectSoundWaveData_86B776C, 255, 235, 128, 115 @ 8686624 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686630 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868663C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686648 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686654 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686660 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868666C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686678 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686684 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686690 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868669C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86866A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86866B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86866C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86866CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86866D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86866E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86866F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86866FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686708 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8686714 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686720 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868672C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686738 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686744 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686750 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868675C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686768 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686774 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686780 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868678C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686798 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86867A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86867B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86867BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86867C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86867D4 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 86867E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86867EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86867F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686804 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686810 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868681C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686828 + voice_square_1_alt 0, 2, 0, 1, 4, 1 @ 8686834 + voice_square_2_alt 2, 0, 1, 4, 1 @ 8686840 + voice_square_2_alt 0, 0, 1, 4, 1 @ 868684C + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 7, 15, 0 @ 8686858 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 8686864 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686870 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868687C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686888 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686894 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86868A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86868AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86868B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86868C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86868D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86868DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86868E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86868F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686900 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868690C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686918 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686924 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686930 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868693C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686948 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686954 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686960 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868696C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686978 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686984 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686990 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868699C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86869A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86869B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86869C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86869CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86869D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86869E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86869F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86869FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686A08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686A14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686A20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686A2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686A38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686A44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686A50 + voice_noise_alt 0, 0, 1, 7, 1 @ 8686A5C + voice_noise_alt 0, 0, 1, 0, 0 @ 8686A68 + + .align 2 +voicegroup_8686A74:: @ 8686A74 + voice_keysplit_all voicegroup_8675FEC @ 8686A74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686A80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686A8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686A98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686AA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686AB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686ABC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686AC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686AD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686AE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686AEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686AF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686B04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686B10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686B1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686B28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686B34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686B40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686B4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686B58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686B64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686B70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686B7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686B88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686B94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686BA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686BAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686BB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686BC4 + voice_programmable_wave_alt ProgrammableWaveData_86B4910, 0, 7, 15, 0 @ 8686BD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686BDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686BE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686BF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686C00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686C0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686C18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686C24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686C30 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 8686C3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686C48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686C54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686C60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686C6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686C78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686C84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686C90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686C9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686CA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686CB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686CC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686CCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686CD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686CE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686CF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686CFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686D08 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8686D14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686D20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686D2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686D38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686D44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686D50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686D5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686D68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686D74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686D80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686D8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686D98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686DA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686DB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686DBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686DC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686DD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686DE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686DEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686DF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686E04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686E10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686E1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686E28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686E34 + voice_square_2_alt 0, 0, 1, 4, 1 @ 8686E40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686E4C + voice_square_1_alt 0, 1, 0, 1, 4, 1 @ 8686E58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686E64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686E70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686E7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686E88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686E94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686EA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686EAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686EB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686EC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686ED0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686EDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686EE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686EF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686F00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686F0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686F18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686F24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686F30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686F3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686F48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686F54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686F60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686F6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686F78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686F84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686F90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686F9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686FA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686FB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686FC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686FCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686FD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686FE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686FF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8686FFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687008 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687014 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687020 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868702C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687038 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687044 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687050 + voice_noise_alt 0, 0, 1, 7, 1 @ 868705C + voice_noise_alt 0, 0, 1, 0, 0 @ 8687068 + + .align 2 +voicegroup_8687074:: @ 8687074 + voice_keysplit_all voicegroup_8675FEC @ 8687074 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687080 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868708C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687098 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86870A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86870B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86870BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86870C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86870D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86870E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86870EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86870F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687104 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687110 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868711C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687128 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687134 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 165 @ 8687140 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868714C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687158 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687164 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687170 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868717C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687188 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687194 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86871A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86871AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86871B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86871C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86871D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86871DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86871E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86871F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687200 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868720C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687218 + voice_directsound 60, 0, DirectSoundWaveData_86B776C, 255, 235, 128, 99 @ 8687224 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687230 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868723C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687248 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687254 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687260 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868726C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687278 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687284 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687290 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868729C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86872A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86872B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86872C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86872CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86872D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86872E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86872F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86872FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687308 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8687314 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687320 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868732C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687338 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687344 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687350 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868735C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687368 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687374 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687380 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868738C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687398 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86873A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86873B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86873BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86873C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86873D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86873E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86873EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86873F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687404 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687410 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868741C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687428 + voice_square_1_alt 0, 1, 0, 1, 4, 1 @ 8687434 + voice_square_2_alt 1, 0, 1, 4, 1 @ 8687440 + voice_square_2_alt 0, 0, 1, 4, 1 @ 868744C + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 7, 15, 0 @ 8687458 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 8687464 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687470 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868747C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687488 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687494 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86874A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86874AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86874B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86874C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86874D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86874DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86874E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86874F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687500 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868750C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687518 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687524 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687530 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868753C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687548 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687554 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687560 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868756C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687578 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687584 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687590 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868759C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86875A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86875B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86875C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86875CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86875D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86875E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86875F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86875FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687608 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687614 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687620 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868762C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687638 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687644 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687650 + voice_noise_alt 0, 0, 1, 7, 1 @ 868765C + voice_noise_alt 0, 0, 1, 0, 0 @ 8687668 + + .align 2 +voicegroup_8687674:: @ 8687674 + voice_keysplit_all voicegroup_8675FEC @ 8687674 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687680 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868768C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687698 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86876A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86876B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86876BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86876C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86876D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86876E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86876EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86876F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687704 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687710 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868771C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687728 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687734 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687740 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868774C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687758 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687764 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687770 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868777C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687788 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 8687794 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86877A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86877AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86877B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86877C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86877D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86877DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86877E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86877F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687800 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868780C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687818 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687824 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687830 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868783C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687848 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687854 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687860 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868786C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687878 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687884 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687890 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868789C + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 86878A8 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86878B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86878C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86878CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86878D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86878E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86878F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86878FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687908 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687914 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687920 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868792C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687938 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8687944 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687950 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868795C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687968 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687974 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687980 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868798C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687998 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86879A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86879B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86879BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86879C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86879D4 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 86879E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86879EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86879F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687A04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687A10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687A1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687A28 + voice_square_1_alt 0, 0, 0, 1, 4, 1 @ 8687A34 + voice_square_2_alt 0, 0, 1, 4, 1 @ 8687A40 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 8687A4C + voice_square_2_alt 3, 0, 1, 4, 1 @ 8687A58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687A64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687A70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687A7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687A88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687A94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687AA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687AAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687AB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687AC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687AD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687ADC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687AE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687AF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687B00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687B0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687B18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687B24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687B30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687B3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687B48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687B54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687B60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687B6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687B78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687B84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687B90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687B9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687BA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687BB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687BC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687BCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687BD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687BE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687BF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687BFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687C08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687C14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687C20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687C2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687C38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687C44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687C50 + voice_noise_alt 0, 0, 1, 7, 1 @ 8687C5C + voice_noise_alt 0, 0, 1, 0, 0 @ 8687C68 + + .align 2 +voicegroup_8687C74:: @ 8687C74 + voice_keysplit_all voicegroup_8675FEC @ 8687C74 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8687C80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687C8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687C98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687CA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687CB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687CBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687CC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687CD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687CE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687CEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687CF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687D04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687D10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687D1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687D28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687D34 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 165 @ 8687D40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687D4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687D58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687D64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687D70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687D7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687D88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687D94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687DA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687DAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687DB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687DC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687DD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687DDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687DE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687DF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687E00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687E0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687E18 + voice_directsound 60, 0, DirectSoundWaveData_86B776C, 255, 235, 128, 99 @ 8687E24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687E30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687E3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687E48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687E54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687E60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687E6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687E78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687E84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687E90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687E9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687EA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687EB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687EC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687ECC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687ED8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687EE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687EF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687EFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687F08 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8687F14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687F20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687F2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687F38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687F44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687F50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687F5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687F68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687F74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687F80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687F8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687F98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687FA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687FB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687FBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687FC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687FD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687FE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687FEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8687FF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688004 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688010 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868801C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688028 + voice_square_1_alt 0, 1, 0, 1, 4, 1 @ 8688034 + voice_square_2_alt 1, 0, 1, 4, 1 @ 8688040 + voice_square_2_alt 0, 0, 1, 4, 1 @ 868804C + voice_programmable_wave_alt ProgrammableWaveData_86B4850, 0, 7, 15, 0 @ 8688058 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 8688064 + voice_square_1_alt 0, 2, 0, 1, 4, 1 @ 8688070 + voice_square_2_alt 2, 0, 1, 4, 1 @ 868807C + voice_programmable_wave_alt ProgrammableWaveData_86B4920, 0, 7, 15, 0 @ 8688088 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688094 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86880A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86880AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86880B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86880C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86880D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86880DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86880E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86880F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688100 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868810C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688118 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688124 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688130 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868813C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688148 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688154 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688160 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868816C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688178 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688184 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688190 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868819C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86881A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86881B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86881C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86881CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86881D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86881E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86881F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86881FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688208 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688214 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688220 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868822C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688238 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688244 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688250 + voice_noise_alt 0, 0, 1, 7, 1 @ 868825C + voice_noise_alt 0, 0, 1, 0, 0 @ 8688268 + + .align 2 +voicegroup_8688274:: @ 8688274 + voice_keysplit_all voicegroup_8675FEC @ 8688274 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688280 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868828C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688298 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86882A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86882B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86882BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86882C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86882D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86882E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86882EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86882F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688304 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688310 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868831C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688328 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688334 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688340 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868834C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688358 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688364 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688370 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868837C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688388 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 8688394 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86883A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86883AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86883B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86883C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86883D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86883DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86883E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86883F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688400 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868840C + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 8688418 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688424 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688430 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 868843C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688448 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688454 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688460 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868846C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688478 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688484 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 8688490 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868849C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86884A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86884B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86884C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86884CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86884D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86884E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86884F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86884FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688508 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688514 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688520 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868852C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688538 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688544 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688550 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868855C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688568 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688574 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688580 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868858C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688598 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86885A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86885B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86885BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86885C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86885D4 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 86885E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86885EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86885F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688604 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688610 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868861C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688628 + voice_square_1 0, 1, 0, 1, 4, 1 @ 8688634 + voice_square_2_alt 1, 0, 1, 4, 1 @ 8688640 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 3 @ 868864C + voice_square_2_alt 3, 0, 1, 4, 1 @ 8688658 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688664 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688670 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868867C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688688 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688694 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86886A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86886AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86886B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86886C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86886D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86886DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86886E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86886F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688700 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868870C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688718 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688724 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688730 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868873C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688748 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688754 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688760 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868876C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688778 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688784 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688790 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868879C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86887A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86887B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86887C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86887CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86887D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86887E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86887F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86887FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688808 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688814 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688820 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868882C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688838 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688844 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688850 + voice_noise_alt 0, 0, 1, 7, 1 @ 868885C + voice_noise_alt 0, 0, 1, 0, 0 @ 8688868 + + .align 2 +voicegroup_8688874:: @ 8688874 + voice_keysplit_all voicegroup_8675FEC @ 8688874 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8688880 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868888C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688898 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86888A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86888B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86888BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86888C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86888D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86888E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86888EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86888F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688904 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688910 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868891C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688928 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688934 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 210 @ 8688940 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868894C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688958 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688964 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688970 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868897C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688988 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 8688994 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86889A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86889AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86889B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86889C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86889D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86889DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86889E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86889F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688A00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688A0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688A18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688A24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688A30 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 8688A3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688A48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688A54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688A60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688A6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688A78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688A84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688A90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688A9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688AA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688AB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688AC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688ACC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688AD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688AE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688AF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688AFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688B08 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8688B14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688B20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688B2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688B38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688B44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688B50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688B5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688B68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688B74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688B80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688B8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688B98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688BA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688BB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688BBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688BC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688BD4 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 8688BE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688BEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688BF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688C04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688C10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688C1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688C28 + voice_square_1_alt 0, 1, 0, 1, 4, 1 @ 8688C34 + voice_square_2_alt 1, 0, 1, 4, 1 @ 8688C40 + voice_square_2_alt 0, 0, 1, 4, 1 @ 8688C4C + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 7, 15, 0 @ 8688C58 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 8688C64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688C70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688C7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688C88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688C94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688CA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688CAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688CB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688CC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688CD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688CDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688CE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688CF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688D00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688D0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688D18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688D24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688D30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688D3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688D48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688D54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688D60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688D6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688D78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688D84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688D90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688D9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688DA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688DB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688DC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688DCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688DD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688DE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688DF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688DFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688E08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688E14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688E20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688E2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688E38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688E44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688E50 + voice_noise_alt 0, 0, 1, 7, 1 @ 8688E5C + voice_noise_alt 0, 0, 1, 0, 0 @ 8688E68 + + .align 2 +voicegroup_8688E74:: @ 8688E74 + voice_keysplit_all voicegroup_8675FEC @ 8688E74 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8688E80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688E8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688E98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688EA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688EB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688EBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688EC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688ED4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688EE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688EEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688EF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688F04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688F10 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 8688F1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688F28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688F34 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 210 @ 8688F40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688F4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688F58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688F64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688F70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688F7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688F88 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 8688F94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688FA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688FAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688FB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688FC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688FD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688FDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688FE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8688FF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689000 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868900C + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 8689018 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689024 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689030 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 868903C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689048 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689054 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689060 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868906C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689078 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689084 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689090 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868909C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86890A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86890B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86890C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86890CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86890D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86890E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86890F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86890FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689108 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8689114 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689120 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868912C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689138 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689144 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689150 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868915C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689168 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689174 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689180 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868918C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689198 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86891A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86891B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86891BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86891C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86891D4 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 86891E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86891EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86891F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689204 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689210 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868921C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689228 + voice_square_1 0, 2, 0, 2, 3, 1 @ 8689234 + voice_square_2_alt 2, 0, 2, 3, 1 @ 8689240 + voice_square_2_alt 0, 0, 1, 4, 1 @ 868924C + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 7, 15, 0 @ 8689258 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 8689264 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689270 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868927C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689288 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689294 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86892A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86892AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86892B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86892C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86892D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86892DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86892E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86892F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689300 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868930C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689318 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689324 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689330 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868933C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689348 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689354 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689360 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868936C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689378 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689384 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689390 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868939C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86893A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86893B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86893C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86893CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86893D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86893E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86893F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86893FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689408 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689414 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689420 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868942C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689438 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689444 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689450 + voice_noise_alt 0, 0, 1, 7, 1 @ 868945C + voice_noise_alt 0, 0, 1, 0, 0 @ 8689468 + + .align 2 +voicegroup_8689474:: @ 8689474 + voice_keysplit_all voicegroup_8675FEC @ 8689474 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689480 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868948C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689498 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86894A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86894B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86894BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86894C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86894D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86894E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86894EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86894F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689504 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689510 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868951C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689528 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689534 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 210 @ 8689540 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868954C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689558 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689564 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689570 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868957C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689588 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 8689594 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86895A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86895AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86895B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86895C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86895D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86895DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86895E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86895F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689600 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868960C + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 8689618 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689624 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689630 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 868963C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689648 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689654 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689660 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868966C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689678 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689684 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 8689690 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868969C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86896A8 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86896B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86896C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86896CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86896D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86896E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86896F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86896FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689708 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689714 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689720 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 868972C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689738 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689744 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689750 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868975C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689768 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689774 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689780 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868978C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689798 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86897A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86897B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86897BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86897C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86897D4 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 86897E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86897EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86897F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689804 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689810 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868981C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689828 + voice_square_1_alt 0, 0, 0, 1, 4, 1 @ 8689834 + voice_square_2_alt 0, 0, 1, 4, 1 @ 8689840 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868984C + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 3 @ 8689858 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689864 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689870 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868987C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689888 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689894 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86898A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86898AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86898B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86898C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86898D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86898DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86898E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86898F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689900 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868990C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689918 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689924 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689930 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868993C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689948 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689954 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689960 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868996C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689978 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689984 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689990 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868999C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86899A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86899B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86899C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86899CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86899D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86899E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86899F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86899FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689A08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689A14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689A20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689A2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689A38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689A44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689A50 + voice_noise_alt 0, 0, 1, 7, 1 @ 8689A5C + voice_noise_alt 0, 0, 1, 0, 0 @ 8689A68 + + .align 2 +voicegroup_8689A74:: @ 8689A74 + voice_keysplit_all voicegroup_8675FEC @ 8689A74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689A80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689A8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689A98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689AA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689AB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689ABC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689AC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689AD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689AE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689AEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689AF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689B04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689B10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689B1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689B28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689B34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689B40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689B4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689B58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689B64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689B70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689B7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689B88 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 8689B94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689BA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689BAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689BB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689BC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689BD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689BDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689BE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689BF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689C00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689C0C + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 8689C18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689C24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689C30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689C3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689C48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689C54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689C60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689C6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689C78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689C84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689C90 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8689C9C + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 8689CA8 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8689CB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689CC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689CCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689CD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689CE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689CF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689CFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689D08 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8689D14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689D20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689D2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689D38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689D44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689D50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689D5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689D68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689D74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689D80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689D8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689D98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689DA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689DB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689DBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689DC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689DD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689DE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689DEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689DF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689E04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689E10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689E1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689E28 + voice_square_1_alt 0, 0, 0, 1, 4, 1 @ 8689E34 + voice_square_2_alt 2, 0, 1, 4, 1 @ 8689E40 + voice_square_2_alt 0, 0, 1, 4, 1 @ 8689E4C + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 7, 15, 0 @ 8689E58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689E64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689E70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689E7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689E88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689E94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689EA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689EAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689EB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689EC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689ED0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689EDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689EE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689EF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689F00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689F0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689F18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689F24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689F30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689F3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689F48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689F54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689F60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689F6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689F78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689F84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689F90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689F9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689FA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689FB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689FC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689FCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689FD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689FE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689FF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8689FFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A008 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A014 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A020 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A02C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A038 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A044 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A050 + voice_noise_alt 0, 0, 2, 4, 0 @ 868A05C + voice_noise_alt 0, 0, 1, 0, 0 @ 868A068 + + .align 2 +voicegroup_868A074:: @ 868A074 + voice_keysplit_all voicegroup_8675FEC @ 868A074 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A080 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A08C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A098 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A0A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A0B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A0BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A0C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A0D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A0E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A0EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A0F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A104 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A110 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A11C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A128 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A134 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A140 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A14C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A158 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A164 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A170 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A17C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A188 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A194 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A1A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A1AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A1B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A1C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A1D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A1DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A1E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A1F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A200 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A20C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A218 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A224 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A230 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A23C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A248 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A254 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A260 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A26C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A278 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A284 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A290 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A29C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A2A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A2B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A2C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A2CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A2D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A2E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A2F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A2FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A308 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 868A314 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A320 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 868A32C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A338 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868A344 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A350 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A35C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A368 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A374 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A380 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A38C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A398 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A3A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A3B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A3BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A3C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A3D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A3E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A3EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A3F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A404 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A410 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A41C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A428 + voice_square_1_alt 0, 0, 0, 1, 4, 1 @ 868A434 + voice_square_2_alt 0, 0, 1, 4, 1 @ 868A440 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A44C + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 2 @ 868A458 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A464 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A470 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A47C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A488 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A494 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A4A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A4AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A4B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A4C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A4D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A4DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A4E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A4F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A500 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A50C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A518 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A524 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A530 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A53C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A548 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A554 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A560 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A56C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A578 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A584 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A590 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A59C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A5A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A5B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A5C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A5CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A5D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A5E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A5F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A5FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A608 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A614 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A620 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A62C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A638 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A644 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A650 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A65C + voice_noise_alt 0, 0, 1, 0, 0 @ 868A668 + + .align 2 +voicegroup_868A674:: @ 868A674 + voice_keysplit_all voicegroup_8675FEC @ 868A674 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 868A680 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A68C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A698 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A6A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A6B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A6BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A6C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A6D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A6E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A6EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A6F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A704 + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 868A710 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A71C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A728 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A734 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 210 @ 868A740 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A74C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A758 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A764 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A770 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A77C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A788 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 868A794 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A7A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A7AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A7B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A7C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A7D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A7DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A7E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A7F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A800 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A80C + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 868A818 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A824 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A830 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A83C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A848 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A854 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A860 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A86C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A878 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A884 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A890 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868A89C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A8A8 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868A8B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A8C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A8CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A8D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A8E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A8F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A8FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A908 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 868A914 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A920 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A92C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A938 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868A944 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A950 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A95C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A968 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A974 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A980 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A98C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A998 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A9A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A9B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A9BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A9C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A9D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A9E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A9EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868A9F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AA04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AA10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AA1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AA28 + voice_square_1_alt 0, 2, 0, 1, 4, 1 @ 868AA34 + voice_square_2_alt 2, 0, 1, 4, 1 @ 868AA40 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 868AA4C + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 7, 15, 0 @ 868AA58 + voice_square_2_alt 0, 0, 1, 4, 0 @ 868AA64 + voice_square_1_alt 0, 0, 0, 1, 4, 0 @ 868AA70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AA7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AA88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AA94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AAA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AAAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AAB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AAC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AAD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AADC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AAE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AAF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AB00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AB0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AB18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AB24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AB30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AB3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AB48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AB54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AB60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AB6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AB78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AB84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AB90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AB9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ABA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ABB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ABC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ABCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ABD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ABE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ABF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ABFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AC08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AC14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AC20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AC2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AC38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AC44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AC50 + voice_noise_alt 0, 0, 2, 4, 0 @ 868AC5C + voice_noise_alt 0, 0, 1, 0, 0 @ 868AC68 + + .align 2 +voicegroup_868AC74:: @ 868AC74 + voice_keysplit_all voicegroup_8675FEC @ 868AC74 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 868AC80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AC8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AC98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ACA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ACB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ACBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ACC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ACD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ACE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ACEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ACF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AD04 + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 868AD10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AD1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AD28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AD34 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 210 @ 868AD40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AD4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AD58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AD64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AD70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AD7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AD88 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 868AD94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ADA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ADAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ADB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ADC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ADD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ADDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ADE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ADF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AE00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AE0C + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 868AE18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AE24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AE30 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 868AE3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AE48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AE54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AE60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AE6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AE78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AE84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AE90 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868AE9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AEA8 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868AEB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AEC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AECC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AED8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AEE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AEF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AEFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF08 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 868AF14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF38 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868AF44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AF98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AFA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AFB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AFBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AFC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AFD4 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 868AFE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AFEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868AFF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B004 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B010 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B01C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B028 + voice_square_1_alt 0, 2, 0, 2, 4, 1 @ 868B034 + voice_square_2_alt 2, 0, 2, 4, 1 @ 868B040 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 868B04C + voice_square_2_alt 0, 0, 1, 4, 0 @ 868B058 + voice_square_1_alt 0, 0, 0, 1, 4, 0 @ 868B064 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B070 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B07C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B088 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B094 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B0A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B0AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B0B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B0C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B0D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B0DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B0E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B0F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B100 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B10C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B118 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B124 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B130 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B13C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B148 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B154 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B160 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B16C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B178 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B184 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B190 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B19C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B1A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B1B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B1C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B1CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B1D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B1E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B1F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B1FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B208 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B214 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B220 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B22C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B238 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B244 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B250 + voice_noise_alt 0, 0, 2, 4, 0 @ 868B25C + voice_noise_alt 0, 0, 1, 0, 0 @ 868B268 + + .align 2 +voicegroup_868B274:: @ 868B274 + voice_keysplit_all voicegroup_8675FEC @ 868B274 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B280 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B28C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B298 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B2A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B2B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B2BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B2C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B2D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B2E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B2EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B2F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B304 + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 868B310 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B31C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B328 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B334 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B340 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B34C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B358 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B364 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B370 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B37C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B388 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B394 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B3A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B3AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B3B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B3C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B3D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B3DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B3E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B3F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B400 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B40C + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 868B418 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B424 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B430 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B43C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B448 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B454 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B460 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B46C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B478 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B484 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B490 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B49C + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 216 @ 868B4A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B4B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B4C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B4CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B4D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B4E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B4F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B4FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B508 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B514 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B520 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B52C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B538 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B544 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B550 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B55C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B568 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B574 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B580 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B58C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B598 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B5A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B5B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B5BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B5C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B5D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B5E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B5EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B5F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B604 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B610 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B61C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B628 + voice_square_1_alt 0, 2, 0, 1, 4, 0 @ 868B634 + voice_square_2_alt 2, 0, 1, 4, 0 @ 868B640 + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 7, 15, 0 @ 868B64C + voice_square_2_alt 0, 0, 1, 4, 1 @ 868B658 + voice_square_1_alt 0, 1, 0, 1, 4, 1 @ 868B664 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B670 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B67C + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 868B688 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B694 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B6A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B6AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B6B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B6C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B6D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B6DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B6E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B6F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B700 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B70C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B718 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B724 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B730 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B73C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B748 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B754 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B760 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B76C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B778 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B784 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B790 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B79C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B7A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B7B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B7C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B7CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B7D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B7E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B7F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B7FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B808 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B814 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B820 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B82C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B838 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B844 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B850 + voice_noise_alt 0, 0, 2, 4, 0 @ 868B85C + voice_noise_alt 0, 0, 1, 0, 0 @ 868B868 + + .align 2 +voicegroup_868B874:: @ 868B874 + voice_keysplit_all voicegroup_8675FEC @ 868B874 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 868B880 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B88C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B898 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B8A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B8B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B8BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B8C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B8D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B8E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B8EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B8F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B904 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B910 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 868B91C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B928 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B934 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B940 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B94C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B958 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B964 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B970 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B97C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B988 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B994 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B9A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B9AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B9B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B9C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B9D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B9DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B9E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868B9F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BA00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BA0C + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 868BA18 + voice_directsound 60, 0, DirectSoundWaveData_86B776C, 255, 235, 128, 99 @ 868BA24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BA30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BA3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BA48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BA54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BA60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BA6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BA78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BA84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BA90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BA9C + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 868BAA8 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868BAB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BAC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BACC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BAD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BAE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BAF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BAFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB08 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 868BB14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB20 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 868BB2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB38 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868BB44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BB98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BBA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BBB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BBBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BBC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BBD4 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 868BBE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BBEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BBF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BC04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BC10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BC1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BC28 + voice_square_1_alt 0, 1, 0, 2, 3, 1 @ 868BC34 + voice_square_2_alt 2, 0, 1, 4, 1 @ 868BC40 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 868BC4C + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 0 @ 868BC58 + voice_square_2_alt 1, 0, 1, 4, 1 @ 868BC64 + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 7, 15, 1 @ 868BC70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BC7C + voice_square_1_alt 0, 0, 0, 2, 3, 1 @ 868BC88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BC94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BCA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BCAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BCB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BCC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BCD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BCDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BCE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BCF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BD00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BD0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BD18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BD24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BD30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BD3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BD48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BD54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BD60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BD6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BD78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BD84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BD90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BD9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BDA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BDB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BDC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BDCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BDD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BDE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BDF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BDFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BE08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BE14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BE20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BE2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BE38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BE44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BE50 + voice_noise_alt 0, 0, 3, 4, 0 @ 868BE5C + voice_noise_alt 0, 0, 1, 0, 0 @ 868BE68 + + .align 2 +voicegroup_868BE74:: @ 868BE74 + voice_keysplit_all voicegroup_8675FEC @ 868BE74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BE80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BE8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BE98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BEA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BEB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BEBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BEC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BED4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BEE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BEEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BEF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BF04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BF10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BF1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BF28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BF34 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 165 @ 868BF40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BF4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BF58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BF64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BF70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BF7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BF88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BF94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BFA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BFAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BFB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BFC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BFD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BFDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BFE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868BFF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C000 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C00C + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 868C018 + voice_directsound 60, 0, DirectSoundWaveData_86B776C, 255, 235, 128, 99 @ 868C024 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C030 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C03C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C048 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C054 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C060 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C06C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C078 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C084 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C090 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C09C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C0A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C0B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C0C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C0CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C0D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C0E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C0F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C0FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C108 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 868C114 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C120 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C12C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C138 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C144 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C150 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C15C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C168 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C174 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C180 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C18C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C198 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C1A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C1B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C1BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C1C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C1D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C1E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C1EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C1F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C204 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C210 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C21C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C228 + voice_square_1_alt 0, 1, 0, 1, 4, 1 @ 868C234 + voice_square_2_alt 1, 0, 1, 4, 1 @ 868C240 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 868C24C + voice_programmable_wave_alt ProgrammableWaveData_86B4910, 0, 7, 15, 0 @ 868C258 + voice_square_1_alt 0, 0, 0, 1, 4, 1 @ 868C264 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C270 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C27C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C288 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C294 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C2A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C2AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C2B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C2C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C2D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C2DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C2E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C2F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C300 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C30C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C318 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C324 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C330 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C33C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C348 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C354 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C360 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C36C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C378 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C384 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C390 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C39C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C3A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C3B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C3C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C3CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C3D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C3E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C3F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C3FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C408 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C414 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C420 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C42C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C438 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C444 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C450 + voice_noise_alt 0, 0, 1, 7, 1 @ 868C45C + voice_noise_alt 0, 0, 1, 0, 0 @ 868C468 + + .align 2 +voicegroup_868C474:: @ 868C474 + voice_keysplit_all voicegroup_8675FEC @ 868C474 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C480 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C48C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C498 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C4A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C4B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C4BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C4C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C4D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C4E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C4EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C4F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C504 + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 868C510 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C51C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C528 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C534 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 210 @ 868C540 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C54C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C558 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C564 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C570 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C57C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C588 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 868C594 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C5A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C5AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C5B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C5C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C5D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C5DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C5E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C5F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C600 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C60C + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 196 @ 868C618 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C624 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C630 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C63C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C648 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C654 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C660 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C66C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C678 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C684 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C690 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868C69C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C6A8 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868C6B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C6C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C6CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C6D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C6E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C6F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C6FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C708 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C714 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C720 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C72C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C738 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C744 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C750 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C75C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C768 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C774 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C780 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C78C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C798 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C7A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C7B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C7BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C7C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C7D4 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 868C7E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C7EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C7F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C804 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C810 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C81C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C828 + voice_square_1_alt 0, 1, 0, 1, 4, 1 @ 868C834 + voice_square_2_alt 1, 0, 1, 4, 1 @ 868C840 + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 7, 15, 0 @ 868C84C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C858 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C864 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C870 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C87C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C888 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C894 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C8A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C8AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C8B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C8C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C8D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C8DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C8E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C8F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C900 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C90C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C918 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C924 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C930 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C93C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C948 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C954 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C960 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C96C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C978 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C984 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C990 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C99C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C9A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C9B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C9C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C9CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C9D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C9E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C9F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868C9FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CA08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CA14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CA20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CA2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CA38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CA44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CA50 + voice_noise_alt 0, 0, 2, 4, 0 @ 868CA5C + voice_noise_alt 0, 0, 1, 0, 0 @ 868CA68 + + .align 2 +voicegroup_868CA74:: @ 868CA74 + voice_keysplit_all voicegroup_8675FEC @ 868CA74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CA80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CA8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CA98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CAA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CAB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CABC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CAC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CAD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CAE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CAEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CAF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CB04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CB10 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 868CB1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CB28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CB34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CB40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CB4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CB58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CB64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CB70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CB7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CB88 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 868CB94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CBA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CBAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CBB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CBC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CBD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CBDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CBE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CBF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CC00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CC0C + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 196 @ 868CC18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CC24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CC30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CC3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CC48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CC54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CC60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CC6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CC78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CC84 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 868CC90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CC9C + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 868CCA8 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868CCB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CCC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CCCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CCD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CCE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CCF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CCFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD38 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868CD44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CD98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CDA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CDB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CDBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CDC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CDD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CDE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CDEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CDF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CE04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CE10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CE1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CE28 + voice_square_1_alt 0, 1, 0, 1, 4, 1 @ 868CE34 + voice_square_2_alt 1, 0, 1, 4, 1 @ 868CE40 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 868CE4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CE58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CE64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CE70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CE7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CE88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CE94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CEA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CEAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CEB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CEC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CED0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CEDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CEE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CEF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CF00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CF0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CF18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CF24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CF30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CF3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CF48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CF54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CF60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CF6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CF78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CF84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CF90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CF9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CFA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CFB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CFC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CFCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CFD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CFE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CFF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868CFFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D008 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D014 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D020 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D02C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D038 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D044 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D050 + voice_noise_alt 0, 0, 2, 4, 0 @ 868D05C + voice_noise_alt 0, 0, 2, 0, 2 @ 868D068 + + .align 2 +voicegroup_868D074:: @ 868D074 + voice_keysplit_all voicegroup_8675FEC @ 868D074 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 868D080 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D08C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D098 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D0A4 + voice_square_2_alt 3, 0, 2, 4, 1 @ 868D0B0 + voice_square_2_alt 0, 0, 1, 6, 2 @ 868D0BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D0C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D0D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D0E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D0EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D0F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D104 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D110 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 868D11C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D128 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D134 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 210 @ 868D140 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D14C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D158 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D164 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D170 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D17C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D188 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 868D194 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D1A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D1AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D1B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D1C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D1D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D1DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D1E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D1F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D200 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D20C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D218 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D224 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D230 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D23C + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 6, 2 @ 868D248 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D254 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D260 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D26C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D278 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D284 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 868D290 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868D29C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D2A8 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868D2B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D2C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D2CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D2D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D2E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D2F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D2FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D308 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D314 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D320 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D32C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D338 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D344 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D350 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D35C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D368 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D374 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D380 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D38C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D398 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D3A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D3B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D3BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D3C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D3D4 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 868D3E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D3EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D3F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D404 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D410 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D41C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D428 + voice_square_1_alt 0, 3, 0, 2, 4, 1 @ 868D434 + voice_square_2_alt 3, 0, 1, 6, 2 @ 868D440 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 0 @ 868D44C + voice_square_1_alt 0, 2, 0, 2, 6, 5 @ 868D458 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 4, 4 @ 868D464 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D470 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D47C + voice_square_2_alt 2, 0, 1, 6, 2 @ 868D488 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D494 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D4A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D4AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D4B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D4C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D4D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D4DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D4E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D4F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D500 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D50C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D518 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D524 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D530 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D53C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D548 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D554 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D560 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D56C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D578 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D584 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D590 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D59C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D5A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D5B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D5C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D5CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D5D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D5E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D5F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D5FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D608 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D614 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D620 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D62C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D638 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D644 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D650 + voice_noise_alt 0, 0, 1, 7, 1 @ 868D65C + voice_noise_alt 0, 0, 1, 0, 0 @ 868D668 + + .align 2 +voicegroup_868D674:: @ 868D674 + voice_keysplit_all voicegroup_8675FEC @ 868D674 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D680 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D68C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D698 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D6A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D6B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D6BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D6C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D6D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D6E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D6EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D6F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D704 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D710 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D71C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D728 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D734 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D740 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D74C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D758 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D764 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D770 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D77C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D788 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 868D794 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D7A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D7AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D7B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D7C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D7D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D7DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D7E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D7F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D800 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D80C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D818 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D824 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D830 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 868D83C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D848 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D854 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D860 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D86C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D878 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D884 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 868D890 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868D89C + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 868D8A8 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868D8B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D8C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D8CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D8D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D8E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D8F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D8FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D908 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D914 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D920 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D92C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D938 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868D944 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D950 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D95C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D968 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D974 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D980 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D98C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D998 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D9A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D9B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D9BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D9C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D9D4 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 868D9E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D9EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868D9F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DA04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DA10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DA1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DA28 + voice_square_1_alt 0, 1, 0, 1, 4, 1 @ 868DA34 + voice_square_2_alt 1, 0, 1, 4, 1 @ 868DA40 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 868DA4C + voice_square_2_alt 3, 0, 1, 4, 1 @ 868DA58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DA64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DA70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DA7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DA88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DA94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DAA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DAAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DAB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DAC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DAD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DADC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DAE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DAF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DB00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DB0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DB18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DB24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DB30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DB3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DB48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DB54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DB60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DB6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DB78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DB84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DB90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DB9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DBA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DBB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DBC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DBCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DBD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DBE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DBF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DBFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DC08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DC14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DC20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DC2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DC38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DC44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DC50 + voice_noise_alt 0, 0, 1, 7, 1 @ 868DC5C + voice_noise_alt 0, 0, 1, 0, 0 @ 868DC68 + + .align 2 +voicegroup_868DC74:: @ 868DC74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DC74 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 868DC80 + + .align 2 +voicegroup_868DC8C:: @ 868DC8C + voice_keysplit_all voicegroup_8675FEC @ 868DC8C + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 868DC98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DCA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DCB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DCBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DCC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DCD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DCE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DCEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DCF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DD04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DD10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DD1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DD28 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 868DD34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DD40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DD4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DD58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DD64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DD70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DD7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DD88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DD94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DDA0 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 868DDAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DDB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DDC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DDD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DDDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DDE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DDF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DE00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DE0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DE18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DE24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DE30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DE3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DE48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DE54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DE60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DE6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DE78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DE84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DE90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DE9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DEA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DEB4 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 868DEC0 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868DECC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DED8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DEE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DEF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DEFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF20 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 868DF2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF50 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868DF5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DF98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DFA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DFB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DFBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DFC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DFD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DFE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DFEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868DFF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E004 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E010 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E01C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E028 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E034 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E040 + voice_square_1_alt 0, 3, 0, 2, 4, 1 @ 868E04C + voice_square_2_alt 3, 0, 1, 6, 2 @ 868E058 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 868E064 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 4, 4 @ 868E070 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E07C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E088 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E094 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E0A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E0AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E0B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E0C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E0D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E0DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E0E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E0F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E100 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E10C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E118 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E124 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E130 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E13C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E148 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E154 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E160 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E16C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E178 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E184 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E190 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E19C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E1A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E1B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E1C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E1CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E1D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E1E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E1F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E1FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E208 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E214 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E220 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E22C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E238 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E244 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E250 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E25C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E268 + voice_noise_alt 0, 0, 1, 7, 1 @ 868E274 + voice_noise_alt 0, 0, 1, 0, 0 @ 868E280 + + .align 2 +voicegroup_868E28C:: @ 868E28C + voice_keysplit_all voicegroup_8675FEC @ 868E28C + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 868E298 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E2A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E2B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E2BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E2C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E2D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E2E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E2EC + voice_directsound 60, 0, DirectSoundWaveData_86B5D04, 255, 165, 72, 249 @ 868E2F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E304 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E310 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E31C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E328 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E334 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E340 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E34C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E358 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E364 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E370 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E37C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E388 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E394 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E3A0 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 128, 249, 25, 76 @ 868E3AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E3B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E3C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E3D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E3DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E3E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E3F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E400 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E40C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E418 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E424 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 868E430 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E43C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E448 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E454 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E460 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E46C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E478 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E484 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E490 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E49C + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 868E4A8 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 868E4B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E4C0 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868E4CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E4D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E4E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E4F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E4FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E508 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E514 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E520 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E52C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E538 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 868E544 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E550 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868E55C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E568 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E574 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E580 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E58C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E598 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E5A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E5B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E5BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E5C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E5D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E5E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E5EC + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 868E5F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E604 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E610 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E61C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E628 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E634 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E640 + voice_square_1_alt 0, 2, 0, 1, 4, 1 @ 868E64C + voice_square_2_alt 2, 0, 1, 4, 2 @ 868E658 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 6, 4 @ 868E664 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 2, 6, 1 @ 868E670 + + .align 2 +voicegroup_868E67C:: @ 868E67C + voice_keysplit_all voicegroup_8675FEC @ 868E67C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E688 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E694 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E6A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E6AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E6B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E6C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E6D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E6DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E6E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E6F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E700 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E70C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E718 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 868E724 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E730 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E73C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E748 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E754 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E760 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E76C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E778 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E784 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E790 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 868E79C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E7A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E7B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E7C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E7CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E7D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E7E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E7F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E7FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E808 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E814 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E820 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E82C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E838 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E844 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E850 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E85C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E868 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E874 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E880 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E88C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E898 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868E8A4 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 868E8B0 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868E8BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E8C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E8D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E8E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E8EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E8F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E904 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E910 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E91C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E928 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E934 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E940 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868E94C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E958 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E964 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E970 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E97C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E988 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E994 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E9A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E9AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E9B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E9C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E9D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E9DC + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 868E9E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868E9F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EA00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EA0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EA18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EA24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EA30 + voice_square_1_alt 0, 1, 0, 2, 4, 0 @ 868EA3C + voice_square_2_alt 1, 0, 2, 4, 0 @ 868EA48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EA54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EA60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EA6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EA78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EA84 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 1 @ 868EA90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EA9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EAA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EAB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EAC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EACC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EAD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EAE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EAF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EAFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EB08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EB14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EB20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EB2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EB38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EB44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EB50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EB5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EB68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EB74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EB80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EB8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EB98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EBA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EBB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EBBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EBC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EBD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EBE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EBEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EBF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EC04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EC10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EC1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EC28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EC34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EC40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EC4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EC58 + voice_noise_alt 0, 0, 1, 7, 1 @ 868EC64 + voice_noise_alt 0, 0, 1, 0, 0 @ 868EC70 + + .align 2 +voicegroup_868EC7C:: @ 868EC7C + voice_keysplit_all voicegroup_8675FEC @ 868EC7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EC88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EC94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ECA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ECAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ECB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ECC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ECD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ECDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ECE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ECF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ED00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ED0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ED18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ED24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ED30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ED3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ED48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ED54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ED60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ED6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ED78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ED84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868ED90 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 868ED9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EDA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EDB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EDC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EDCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EDD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EDE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EDF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EDFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EE08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EE14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EE20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EE2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EE38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EE44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EE50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EE5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EE68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EE74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EE80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EE8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EE98 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868EEA4 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 868EEB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EEBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EEC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EED4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EEE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EEEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EEF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF10 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 868EF1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EF94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EFA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EFAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EFB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EFC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EFD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EFDC + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 868EFE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868EFF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F000 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F00C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F018 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F024 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F030 + voice_square_1_alt 0, 2, 1, 2, 4, 0 @ 868F03C + voice_square_2_alt 1, 0, 2, 4, 0 @ 868F048 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F054 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 1 @ 868F060 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 13, 1 @ 868F06C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F078 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F084 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F090 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F09C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F0A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F0B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F0C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F0CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F0D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F0E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F0F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F0FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F108 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F114 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F120 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F12C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F138 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F144 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F150 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F15C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F168 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F174 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F180 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F18C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F198 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F1A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F1B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F1BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F1C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F1D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F1E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F1EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F1F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F204 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F210 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F21C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F228 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F234 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F240 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F24C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F258 + voice_noise_alt 0, 0, 1, 7, 1 @ 868F264 + voice_noise_alt 0, 0, 1, 0, 0 @ 868F270 + + .align 2 +voicegroup_868F27C:: @ 868F27C + voice_keysplit_all voicegroup_8675FEC @ 868F27C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F288 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F294 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F2A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F2AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F2B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F2C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F2D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F2DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F2E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F2F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F300 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F30C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F318 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 868F324 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F330 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F33C + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 165 @ 868F348 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F354 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F360 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F36C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F378 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F384 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F390 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 868F39C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F3A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F3B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F3C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F3CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F3D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F3E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F3F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F3FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F408 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F414 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 868F420 + voice_directsound 60, 0, DirectSoundWaveData_86B776C, 255, 235, 128, 99 @ 868F42C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F438 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F444 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F450 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F45C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F468 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F474 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F480 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F48C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F498 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 868F4A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F4B0 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 868F4BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F4C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F4D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F4E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F4EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F4F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F504 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F510 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 868F51C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F528 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F534 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F540 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868F54C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F558 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F564 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F570 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F57C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F588 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F594 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F5A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F5AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F5B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F5C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F5D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F5DC + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 868F5E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F5F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F600 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F60C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F618 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F624 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F630 + voice_square_1_alt 0, 2, 0, 2, 4, 0 @ 868F63C + voice_square_2_alt 1, 0, 2, 4, 0 @ 868F648 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F654 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 868F660 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F66C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F678 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F684 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F690 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F69C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F6A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F6B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F6C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F6CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F6D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F6E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F6F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F6FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F708 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F714 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F720 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F72C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F738 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F744 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F750 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F75C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F768 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F774 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F780 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F78C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F798 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F7A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F7B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F7BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F7C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F7D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F7E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F7EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F7F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F804 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F810 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F81C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F828 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F834 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F840 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F84C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F858 + voice_noise_alt 0, 0, 1, 7, 1 @ 868F864 + voice_noise_alt 0, 0, 1, 0, 0 @ 868F870 + + .align 2 +voicegroup_868F87C:: @ 868F87C + voice_keysplit_all voicegroup_8675FEC @ 868F87C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F888 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F894 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F8A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F8AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F8B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F8C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F8D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F8DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F8E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F8F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F900 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F90C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F918 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F924 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F930 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F93C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F948 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F954 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F960 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F96C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F978 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F984 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F990 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F99C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F9A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F9B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F9C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F9CC + voice_programmable_wave_alt ProgrammableWaveData_86B4910, 0, 7, 15, 0 @ 868F9D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F9E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F9F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868F9FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FA08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FA14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FA20 + voice_directsound 60, 0, DirectSoundWaveData_86B776C, 255, 235, 128, 99 @ 868FA2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FA38 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 868FA44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FA50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FA5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FA68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FA74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FA80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FA8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FA98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FAA4 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 868FAB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FABC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FAC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FAD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FAE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FAEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FAF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB10 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 868FB1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB40 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 868FB4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FB94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FBA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FBAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FBB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FBC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FBD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FBDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FBE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FBF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FC00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FC0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FC18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FC24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FC30 + voice_square_1_alt 0, 0, 0, 1, 4, 1 @ 868FC3C + voice_square_2_alt 0, 0, 1, 4, 1 @ 868FC48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FC54 + voice_programmable_wave_alt ProgrammableWaveData_86B4920, 0, 7, 15, 0 @ 868FC60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FC6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FC78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FC84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FC90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FC9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FCA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FCB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FCC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FCCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FCD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FCE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FCF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FCFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FD08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FD14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FD20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FD2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FD38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FD44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FD50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FD5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FD68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FD74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FD80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FD8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FD98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FDA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FDB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FDBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FDC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FDD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FDE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FDEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FDF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FE04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FE10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FE1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FE28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FE34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FE40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FE4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FE58 + voice_noise_alt 0, 0, 1, 7, 1 @ 868FE64 + voice_noise_alt 0, 0, 1, 0, 0 @ 868FE70 + + .align 2 +voicegroup_868FE7C:: @ 868FE7C + voice_keysplit_all voicegroup_8675FEC @ 868FE7C + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 868FE88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FE94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FEA0 + voice_square_2_alt 1, 1, 1, 6, 2 @ 868FEAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FEB8 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 868FEC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FED0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FEDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FEE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FEF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FF00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FF0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FF18 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 868FF24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FF30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FF3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FF48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FF54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FF60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FF6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FF78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FF84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FF90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FF9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FFA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FFB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FFC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FFCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FFD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FFE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FFF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 868FFFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690008 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690014 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690020 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869002C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690038 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690044 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690050 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869005C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690068 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690074 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690080 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869008C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690098 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 86900A4 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 239 @ 86900B0 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86900BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86900C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86900D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86900E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86900EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86900F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690104 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690110 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869011C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690128 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8690134 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690140 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869014C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690158 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690164 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690170 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869017C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690188 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690194 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86901A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86901AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86901B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86901C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86901D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86901DC + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 86901E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86901F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690200 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869020C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690218 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690224 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690230 + voice_square_1_alt 0, 1, 0, 1, 6, 2 @ 869023C + voice_square_2_alt 1, 0, 2, 4, 0 @ 8690248 + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 7, 15, 0 @ 8690254 + voice_square_1_alt 0, 1, 0, 1, 4, 1 @ 8690260 + voice_square_1_alt 0, 1, 1, 1, 6, 0 @ 869026C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690278 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690284 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 0 @ 8690290 + voice_square_2_alt 3, 0, 1, 6, 2 @ 869029C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86902A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86902B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86902C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86902CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86902D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86902E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86902F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86902FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690308 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690314 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690320 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869032C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690338 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690344 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690350 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869035C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690368 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690374 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690380 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869038C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690398 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86903A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86903B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86903BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86903C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86903D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86903E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86903EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86903F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690404 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690410 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869041C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690428 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690434 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690440 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869044C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690458 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690464 + voice_noise_alt 0, 0, 1, 0, 0 @ 8690470 + + .align 2 +voicegroup_869047C:: @ 869047C + voice_keysplit_all voicegroup_8675FEC @ 869047C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690488 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690494 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86904A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86904AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86904B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86904C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86904D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86904DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86904E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86904F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690500 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869050C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690518 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 8690524 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690530 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869053C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690548 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690554 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690560 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869056C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690578 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690584 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690590 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869059C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86905A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86905B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86905C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86905CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86905D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86905E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86905F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86905FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690608 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690614 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690620 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869062C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690638 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690644 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690650 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869065C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690668 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690674 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690680 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869068C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690698 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86906A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86906B0 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86906BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86906C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86906D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86906E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86906EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86906F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690704 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690710 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869071C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690728 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690734 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690740 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869074C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690758 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690764 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690770 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869077C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690788 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690794 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86907A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86907AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86907B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86907C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86907D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86907DC + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 86907E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86907F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690800 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869080C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690818 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690824 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690830 + voice_square_1_alt 0, 1, 0, 2, 4, 3 @ 869083C + voice_square_2_alt 2, 0, 2, 4, 0 @ 8690848 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 8690854 + voice_programmable_wave_alt ProgrammableWaveData_86B4920, 0, 7, 15, 0 @ 8690860 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 869086C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690878 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690884 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690890 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869089C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86908A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86908B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86908C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86908CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86908D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86908E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86908F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86908FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690908 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690914 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690920 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869092C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690938 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690944 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690950 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869095C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690968 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690974 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690980 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869098C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690998 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86909A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86909B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86909BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86909C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86909D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86909E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86909EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86909F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690A04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690A10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690A1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690A28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690A34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690A40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690A4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690A58 + voice_noise_alt 0, 0, 1, 7, 1 @ 8690A64 + voice_noise_alt 0, 0, 1, 0, 0 @ 8690A70 + + .align 2 +voicegroup_8690A7C:: @ 8690A7C + voice_keysplit_all voicegroup_8675FEC @ 8690A7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690A88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690A94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690AA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690AAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690AB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690AC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690AD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690ADC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690AE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690AF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690B00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690B0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690B18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690B24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690B30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690B3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690B48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690B54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690B60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690B6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690B78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690B84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690B90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690B9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690BA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690BB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690BC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690BCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690BD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690BE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690BF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690BFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690C08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690C14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690C20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690C2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690C38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690C44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690C50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690C5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690C68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690C74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690C80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690C8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690C98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690CA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690CB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690CBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690CC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690CD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690CE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690CEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690CF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690D04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690D10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690D1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690D28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690D34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690D40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690D4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690D58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690D64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690D70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690D7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690D88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690D94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690DA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690DAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690DB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690DC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690DD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690DDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690DE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690DF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690E00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690E0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690E18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690E24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690E30 + voice_square_1_alt 0, 0, 0, 2, 4, 1 @ 8690E3C + voice_square_2_alt 0, 0, 2, 4, 1 @ 8690E48 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 8690E54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690E60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690E6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690E78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690E84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690E90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690E9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690EA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690EB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690EC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690ECC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690ED8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690EE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690EF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690EFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690F08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690F14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690F20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690F2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690F38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690F44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690F50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690F5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690F68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690F74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690F80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690F8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690F98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690FA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690FB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690FBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690FC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690FD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690FE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690FEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8690FF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691004 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691010 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869101C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691028 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691034 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691040 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869104C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691058 + voice_noise_alt 0, 0, 1, 7, 1 @ 8691064 + voice_noise_alt 0, 0, 1, 0, 0 @ 8691070 + + .align 2 +voicegroup_869107C:: @ 869107C + voice_keysplit_all voicegroup_8675FEC @ 869107C + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8691088 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691094 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86910A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86910AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86910B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86910C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86910D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86910DC + voice_directsound 60, 0, DirectSoundWaveData_86B5D04, 255, 165, 72, 249 @ 86910E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86910F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691100 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869110C + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 8691118 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691124 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691130 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869113C + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 165 @ 8691148 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691154 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691160 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869116C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691178 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691184 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691190 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 128, 249, 25, 76 @ 869119C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86911A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86911B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86911C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86911CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86911D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86911E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86911F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86911FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691208 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691214 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 8691220 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869122C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691238 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691244 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691250 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869125C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691268 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691274 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691280 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869128C + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 226, 0, 38 @ 8691298 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 86912A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86912B0 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86912BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86912C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86912D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86912E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86912EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86912F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691304 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691310 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869131C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691328 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8691334 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691340 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869134C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691358 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691364 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691370 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869137C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691388 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691394 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86913A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86913AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86913B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86913C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86913D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86913DC + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 86913E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86913F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691400 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869140C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691418 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691424 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691430 + voice_square_1_alt 0, 2, 0, 1, 5, 2 @ 869143C + voice_square_2_alt 2, 0, 1, 5, 2 @ 8691448 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 7, 0 @ 8691454 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 2, 6, 1 @ 8691460 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869146C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691478 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691484 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691490 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869149C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86914A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86914B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86914C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86914CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86914D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86914E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86914F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86914FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691508 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691514 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691520 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869152C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691538 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691544 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691550 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869155C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691568 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691574 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691580 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869158C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691598 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86915A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86915B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86915BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86915C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86915D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86915E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86915EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86915F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691604 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691610 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869161C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691628 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691634 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691640 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869164C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691658 + voice_noise_alt 0, 0, 1, 7, 1 @ 8691664 + voice_noise_alt 0, 0, 1, 0, 0 @ 8691670 + + .align 2 +voicegroup_869167C:: @ 869167C + voice_keysplit_all voicegroup_8675FEC @ 869167C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691688 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691694 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86916A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86916AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86916B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86916C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86916D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86916DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86916E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86916F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691700 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869170C + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 8691718 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691724 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691730 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869173C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691748 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691754 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691760 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869176C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691778 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691784 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691790 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 128, 249, 25, 76 @ 869179C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86917A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86917B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86917C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86917CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86917D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86917E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86917F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86917FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691808 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691814 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691820 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869182C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691838 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 8691844 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691850 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869185C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691868 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691874 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691880 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869188C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691898 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 86918A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86918B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86918BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86918C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86918D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86918E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86918EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86918F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691904 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691910 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869191C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691928 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691934 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691940 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869194C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691958 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691964 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691970 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869197C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691988 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691994 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86919A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86919AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86919B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86919C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86919D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86919DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86919E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86919F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691A00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691A0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691A18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691A24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691A30 + voice_square_1_alt 0, 2, 0, 1, 4, 1 @ 8691A3C + voice_square_2_alt 2, 0, 1, 4, 2 @ 8691A48 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 7, 0 @ 8691A54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691A60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691A6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691A78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691A84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691A90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691A9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691AA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691AB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691AC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691ACC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691AD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691AE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691AF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691AFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691B08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691B14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691B20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691B2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691B38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691B44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691B50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691B5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691B68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691B74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691B80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691B8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691B98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691BA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691BB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691BBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691BC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691BD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691BE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691BEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691BF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691C04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691C10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691C1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691C28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691C34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691C40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691C4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691C58 + voice_noise_alt 0, 0, 1, 7, 1 @ 8691C64 + voice_noise_alt 0, 0, 1, 0, 0 @ 8691C70 + + .align 2 +voicegroup_8691C7C:: @ 8691C7C + voice_keysplit_all voicegroup_8675FEC @ 8691C7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691C88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691C94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691CA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691CAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691CB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691CC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691CD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691CDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691CE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691CF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691D00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691D0C + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 8691D18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691D24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691D30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691D3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691D48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691D54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691D60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691D6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691D78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691D84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691D90 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 128, 249, 25, 76 @ 8691D9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691DA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691DB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691DC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691DCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691DD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691DE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691DF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691DFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691E08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691E14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691E20 + voice_directsound 60, 0, DirectSoundWaveData_86B776C, 255, 235, 128, 99 @ 8691E2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691E38 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 8691E44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691E50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691E5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691E68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691E74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691E80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691E8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691E98 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 8691EA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691EB0 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8691EBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691EC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691ED4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691EE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691EEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691EF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F28 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8691F34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F40 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8691F4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691F94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691FA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691FAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691FB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691FC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691FD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691FDC + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 8691FE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8691FF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692000 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869200C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692018 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692024 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692030 + voice_square_1_alt 0, 1, 0, 1, 4, 1 @ 869203C + voice_square_2_alt 1, 0, 1, 4, 1 @ 8692048 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 7, 0 @ 8692054 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692060 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869206C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692078 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692084 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692090 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869209C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86920A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86920B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86920C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86920CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86920D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86920E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86920F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86920FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692108 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692114 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692120 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869212C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692138 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692144 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692150 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869215C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692168 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692174 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692180 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869218C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692198 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86921A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86921B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86921BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86921C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86921D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86921E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86921EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86921F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692204 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692210 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869221C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692228 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692234 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692240 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869224C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692258 + voice_noise_alt 0, 0, 1, 7, 1 @ 8692264 + voice_noise_alt 0, 0, 1, 0, 0 @ 8692270 + + .align 2 +voicegroup_869227C:: @ 869227C + voice_keysplit_all voicegroup_8675FEC @ 869227C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692288 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692294 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86922A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86922AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86922B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86922C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86922D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86922DC + voice_directsound 60, 0, DirectSoundWaveData_86B5D04, 255, 165, 72, 249 @ 86922E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86922F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692300 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869230C + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 8692318 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 8692324 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692330 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869233C + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 210 @ 8692348 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692354 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692360 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869236C + voice_directsound 60, 0, DirectSoundWaveData_87410E0, 255, 0, 255, 165 @ 8692378 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692384 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692390 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 128, 249, 25, 76 @ 869239C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86923A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86923B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86923C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86923CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86923D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86923E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86923F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86923FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692408 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692414 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692420 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869242C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692438 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692444 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692450 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869245C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692468 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692474 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692480 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869248C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692498 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86924A4 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 86924B0 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86924BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86924C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86924D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86924E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86924EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86924F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692504 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692510 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869251C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692528 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692534 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692540 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869254C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692558 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692564 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692570 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869257C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692588 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692594 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86925A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86925AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86925B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86925C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86925D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86925DC + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 86925E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86925F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692600 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869260C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692618 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692624 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692630 + voice_square_1_alt 0, 0, 0, 1, 4, 1 @ 869263C + voice_square_2_alt 0, 0, 1, 4, 1 @ 8692648 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 7, 0 @ 8692654 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692660 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869266C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692678 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692684 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692690 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869269C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86926A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86926B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86926C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86926CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86926D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86926E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86926F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86926FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692708 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692714 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692720 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869272C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692738 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692744 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692750 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869275C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692768 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692774 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692780 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869278C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692798 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86927A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86927B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86927BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86927C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86927D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86927E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86927EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86927F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692804 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692810 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869281C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692828 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692834 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692840 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869284C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692858 + voice_noise_alt 0, 0, 1, 7, 1 @ 8692864 + voice_noise_alt 0, 0, 1, 0, 0 @ 8692870 + + .align 2 +voicegroup_869287C:: @ 869287C + voice_keysplit_all voicegroup_8675FEC @ 869287C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692888 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692894 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86928A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86928AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86928B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86928C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86928D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86928DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86928E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86928F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692900 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869290C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692918 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692924 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692930 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869293C + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 210 @ 8692948 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692954 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692960 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869296C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692978 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692984 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692990 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 869299C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86929A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86929B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86929C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86929CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86929D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86929E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86929F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86929FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692A08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692A14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692A20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692A2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692A38 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 8692A44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692A50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692A5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692A68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692A74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692A80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692A8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692A98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692AA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692AB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692ABC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692AC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692AD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692AE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692AEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692AF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692B04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692B10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692B1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692B28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692B34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692B40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692B4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692B58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692B64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692B70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692B7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692B88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692B94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692BA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692BAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692BB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692BC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692BD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692BDC + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 8692BE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692BF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692C00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692C0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692C18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692C24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692C30 + voice_square_1_alt 0, 1, 0, 1, 4, 1 @ 8692C3C + voice_square_2_alt 1, 0, 1, 4, 1 @ 8692C48 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 3 @ 8692C54 + voice_square_2_alt 3, 0, 1, 4, 1 @ 8692C60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692C6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692C78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692C84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692C90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692C9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692CA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692CB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692CC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692CCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692CD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692CE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692CF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692CFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692D08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692D14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692D20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692D2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692D38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692D44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692D50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692D5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692D68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692D74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692D80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692D8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692D98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692DA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692DB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692DBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692DC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692DD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692DE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692DEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692DF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692E04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692E10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692E1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692E28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692E34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692E40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692E4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692E58 + voice_noise_alt 0, 0, 1, 7, 1 @ 8692E64 + voice_noise_alt 0, 0, 1, 0, 0 @ 8692E70 + + .align 2 +voicegroup_8692E7C:: @ 8692E7C + voice_keysplit_all voicegroup_8675FEC @ 8692E7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692E88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692E94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692EA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692EAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692EB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692EC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692ED0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692EDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692EE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692EF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692F00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692F0C + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 8692F18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692F24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692F30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692F3C + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 210 @ 8692F48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692F54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692F60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692F6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692F78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692F84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692F90 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 8692F9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692FA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692FB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692FC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692FCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692FD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692FE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692FF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8692FFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693008 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693014 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693020 + voice_directsound 60, 0, DirectSoundWaveData_86B776C, 255, 235, 128, 99 @ 869302C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693038 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 8693044 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693050 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869305C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693068 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693074 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693080 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869308C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693098 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86930A4 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 86930B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86930BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86930C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86930D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86930E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86930EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86930F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693104 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693110 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869311C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693128 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693134 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693140 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869314C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693158 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693164 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693170 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869317C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693188 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693194 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86931A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86931AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86931B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86931C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86931D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86931DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86931E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86931F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693200 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869320C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693218 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693224 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693230 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869323C + voice_square_2_alt 0, 0, 1, 4, 1 @ 8693248 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693254 + voice_square_1_alt 0, 0, 0, 1, 4, 1 @ 8693260 + voice_programmable_wave_alt ProgrammableWaveData_86B4910, 0, 7, 15, 0 @ 869326C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693278 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693284 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693290 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869329C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86932A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86932B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86932C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86932CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86932D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86932E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86932F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86932FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693308 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693314 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693320 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869332C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693338 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693344 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693350 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869335C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693368 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693374 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693380 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869338C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693398 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86933A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86933B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86933BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86933C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86933D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86933E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86933EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86933F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693404 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693410 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869341C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693428 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693434 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693440 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869344C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693458 + voice_noise_alt 0, 0, 1, 7, 1 @ 8693464 + voice_noise_alt 0, 0, 1, 0, 0 @ 8693470 + + .align 2 +voicegroup_869347C:: @ 869347C + voice_keysplit_all voicegroup_8675FEC @ 869347C + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8693488 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693494 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86934A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86934AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86934B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86934C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86934D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86934DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86934E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86934F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693500 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869350C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693518 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 8693524 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693530 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869353C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693548 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693554 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693560 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869356C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693578 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693584 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693590 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869359C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86935A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86935B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86935C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86935CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86935D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86935E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86935F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86935FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693608 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693614 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693620 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869362C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693638 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693644 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693650 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869365C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693668 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693674 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693680 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869368C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693698 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86936A4 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 249 @ 86936B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86936BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86936C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86936D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86936E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86936EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86936F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693704 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693710 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869371C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693728 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8693734 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693740 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869374C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693758 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693764 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693770 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869377C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693788 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693794 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86937A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86937AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86937B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86937C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86937D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86937DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86937E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86937F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693800 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869380C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693818 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693824 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693830 + voice_square_1_alt 0, 3, 0, 1, 4, 1 @ 869383C + voice_square_2_alt 3, 0, 1, 4, 1 @ 8693848 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 7, 0 @ 8693854 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693860 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869386C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693878 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693884 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693890 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869389C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86938A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86938B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86938C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86938CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86938D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86938E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86938F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86938FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693908 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693914 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693920 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869392C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693938 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693944 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693950 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869395C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693968 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693974 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693980 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869398C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693998 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86939A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86939B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86939BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86939C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86939D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86939E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86939EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86939F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693A04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693A10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693A1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693A28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693A34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693A40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693A4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693A58 + voice_noise_alt 0, 0, 1, 7, 1 @ 8693A64 + voice_noise_alt 0, 0, 1, 0, 0 @ 8693A70 + + .align 2 +voicegroup_8693A7C:: @ 8693A7C + voice_keysplit_all voicegroup_8675FEC @ 8693A7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693A88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693A94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693AA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693AAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693AB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693AC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693AD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693ADC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693AE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693AF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693B00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693B0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693B18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693B24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693B30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693B3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693B48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693B54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693B60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693B6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693B78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693B84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693B90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693B9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693BA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693BB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693BC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693BCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693BD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693BE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693BF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693BFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693C08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693C14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693C20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693C2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693C38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693C44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693C50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693C5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693C68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693C74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693C80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693C8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693C98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693CA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693CB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693CBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693CC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693CD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693CE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693CEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693CF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D10 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8693D1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D28 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8693D34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693D94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693DA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693DAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693DB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693DC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693DD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693DDC + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 8693DE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693DF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693E00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693E0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693E18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693E24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693E30 + voice_square_1_alt 0, 0, 0, 1, 4, 0 @ 8693E3C + voice_square_2_alt 0, 0, 1, 4, 0 @ 8693E48 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 7, 0 @ 8693E54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693E60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693E6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693E78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693E84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693E90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693E9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693EA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693EB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693EC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693ECC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693ED8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693EE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693EF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693EFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693F08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693F14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693F20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693F2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693F38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693F44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693F50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693F5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693F68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693F74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693F80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693F8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693F98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693FA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693FB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693FBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693FC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693FD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693FE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693FEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8693FF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694004 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694010 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869401C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694028 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694034 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694040 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869404C + voice_directsound 60, 0, DirectSoundWaveData_873ECD8, 255, 255, 255, 127 @ 8694058 + voice_directsound 60, 0, DirectSoundWaveData_86C6200, 255, 255, 255, 127 @ 8694064 + voice_noise_alt 0, 0, 1, 0, 0 @ 8694070 + + .align 2 +voicegroup_869407C:: @ 869407C + voice_keysplit_all voicegroup_8675FEC @ 869407C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694088 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694094 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86940A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86940AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86940B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86940C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86940D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86940DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86940E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86940F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694100 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869410C + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 8694118 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694124 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694130 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869413C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694148 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694154 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694160 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869416C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694178 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694184 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694190 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869419C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86941A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86941B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86941C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86941CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86941D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86941E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86941F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86941FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694208 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694214 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694220 + voice_directsound 60, 0, DirectSoundWaveData_86B776C, 255, 235, 128, 99 @ 869422C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694238 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 8694244 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694250 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869425C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694268 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694274 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694280 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869428C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694298 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86942A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86942B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86942BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86942C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86942D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86942E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86942EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86942F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694304 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694310 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869431C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694328 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694334 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694340 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869434C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694358 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694364 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694370 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869437C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694388 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694394 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86943A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86943AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86943B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86943C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86943D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86943DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86943E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86943F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694400 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869440C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694418 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694424 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694430 + voice_square_1_alt 0, 0, 0, 1, 4, 0 @ 869443C + voice_square_2_alt 0, 0, 1, 4, 0 @ 8694448 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 7, 0 @ 8694454 + voice_square_1_alt 0, 1, 2, 1, 5, 0 @ 8694460 + voice_square_2_alt 1, 2, 1, 5, 0 @ 869446C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694478 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694484 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694490 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869449C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86944A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86944B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86944C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86944CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86944D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86944E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86944F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86944FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694508 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694514 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694520 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869452C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694538 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694544 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694550 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869455C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694568 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694574 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694580 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869458C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694598 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86945A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86945B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86945BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86945C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86945D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86945E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86945EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86945F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694604 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694610 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869461C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694628 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694634 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694640 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869464C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694658 + voice_noise_alt 0, 0, 1, 7, 1 @ 8694664 + voice_noise_alt 0, 0, 1, 0, 0 @ 8694670 + + .align 2 +voicegroup_869467C:: @ 869467C + voice_keysplit_all voicegroup_8675FEC @ 869467C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694688 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694694 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86946A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86946AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86946B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86946C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86946D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86946DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86946E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86946F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694700 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869470C + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 8694718 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694724 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694730 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869473C + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 210 @ 8694748 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694754 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694760 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869476C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694778 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694784 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694790 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 869479C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86947A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86947B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86947C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86947CC + voice_programmable_wave_alt ProgrammableWaveData_86B4910, 0, 7, 15, 0 @ 86947D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86947E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86947F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86947FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694808 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694814 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694820 + voice_directsound 60, 0, DirectSoundWaveData_86B776C, 255, 235, 128, 99 @ 869482C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694838 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 8694844 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694850 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869485C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694868 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694874 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694880 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869488C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694898 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86948A4 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 86948B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86948BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86948C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86948D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86948E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86948EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86948F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694904 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694910 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869491C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694928 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694934 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694940 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869494C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694958 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694964 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694970 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869497C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694988 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694994 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86949A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86949AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86949B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86949C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86949D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86949DC + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 86949E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86949F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694A00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694A0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694A18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694A24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694A30 + voice_square_1_alt 0, 0, 0, 1, 4, 1 @ 8694A3C + voice_square_1_alt 0, 2, 1, 1, 4, 1 @ 8694A48 + voice_square_2_alt 2, 1, 1, 4, 1 @ 8694A54 + voice_square_2_alt 1, 0, 1, 4, 1 @ 8694A60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694A6C + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 8694A78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694A84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694A90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694A9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694AA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694AB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694AC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694ACC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694AD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694AE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694AF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694AFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694B08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694B14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694B20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694B2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694B38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694B44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694B50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694B5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694B68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694B74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694B80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694B8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694B98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694BA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694BB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694BBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694BC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694BD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694BE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694BEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694BF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694C04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694C10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694C1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694C28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694C34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694C40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694C4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694C58 + voice_noise_alt 0, 0, 1, 7, 1 @ 8694C64 + voice_noise_alt 0, 0, 1, 0, 0 @ 8694C70 + + .align 2 +voicegroup_8694C7C:: @ 8694C7C + voice_keysplit_all voicegroup_8675FEC @ 8694C7C + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8694C88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694C94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694CA0 + voice_square_1_alt 0, 1, 1, 5, 2, 4 @ 8694CAC + voice_square_2_alt 1, 1, 5, 2, 4 @ 8694CB8 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 8694CC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694CD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694CDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694CE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694CF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694D00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694D0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694D18 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 8694D24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694D30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694D3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694D48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694D54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694D60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694D6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694D78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694D84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694D90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694D9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694DA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694DB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694DC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694DCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694DD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694DE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694DF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694DFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694E08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694E14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694E20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694E2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694E38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694E44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694E50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694E5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694E68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694E74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694E80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694E8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694E98 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8694EA4 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 239 @ 8694EB0 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8694EBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694EC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694ED4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694EE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694EEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694EF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F10 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8694F1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F28 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 8694F34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F40 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8694F4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694F94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694FA0 + voice_square_1_alt 0, 1, 1, 2, 4, 1 @ 8694FAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694FB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694FC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694FD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8694FDC + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 8694FE8 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 8694FF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695000 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869500C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695018 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695024 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695030 + voice_square_2_alt 1, 1, 1, 6, 0 @ 869503C + voice_square_1_alt 0, 0, 0, 4, 6, 2 @ 8695048 + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 7, 15, 0 @ 8695054 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695060 + voice_square_1_alt 0, 0, 0, 1, 6, 0 @ 869506C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695078 + voice_square_2_alt 1, 1, 4, 6, 1 @ 8695084 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 8695090 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869509C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86950A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86950B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86950C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86950CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86950D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86950E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86950F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86950FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695108 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695114 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695120 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869512C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695138 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695144 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695150 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869515C + voice_square_2_alt 0, 1, 2, 4, 1 @ 8695168 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695174 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695180 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869518C + voice_square_2_alt 0, 1, 1, 6, 1 @ 8695198 + + .align 2 +voicegroup_86951A4:: @ 86951A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86951A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86951B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86951BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86951C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86951D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86951E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86951EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86951F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695204 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695210 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869521C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695228 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695234 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695240 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869524C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695258 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695264 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695270 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869527C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695288 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695294 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86952A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86952AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86952B8 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 248 @ 86952C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86952D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86952DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86952E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86952F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695300 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869530C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695318 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695324 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695330 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869533C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695348 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695354 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695360 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869536C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695378 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695384 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695390 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869539C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86953A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86953B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86953C0 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 165 @ 86953CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86953D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86953E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86953F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86953FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695408 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695414 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695420 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869542C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695438 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695444 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695450 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869545C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695468 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695474 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695480 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869548C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695498 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86954A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86954B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86954BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86954C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86954D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86954E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86954EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86954F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695504 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695510 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869551C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695528 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695534 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695540 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869554C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695558 + voice_square_1_alt 0, 2, 0, 6, 0, 6 @ 8695564 + voice_square_2_alt 2, 0, 6, 0, 6 @ 8695570 + + .align 2 +voicegroup_869557C:: @ 869557C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869557C + voice_keysplit_all voicegroup_8676148 @ 8695588 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695594 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86955A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86955AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86955B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86955C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86955D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86955DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86955E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86955F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695600 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869560C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695618 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 8695624 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695630 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869563C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695648 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695654 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695660 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869566C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695678 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695684 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695690 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 869569C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86956A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86956B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86956C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86956CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86956D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86956E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86956F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86956FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695708 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695714 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695720 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869572C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695738 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695744 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695750 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869575C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695768 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695774 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695780 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869578C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695798 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 86957A4 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 239 @ 86957B0 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86957BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86957C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86957D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86957E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86957EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86957F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695804 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695810 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869581C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695828 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695834 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695840 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869584C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695858 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695864 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695870 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869587C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695888 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695894 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86958A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86958AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86958B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86958C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86958D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86958DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86958E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86958F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695900 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869590C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695918 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695924 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695930 + voice_square_1_alt 0, 1, 1, 1, 6, 0 @ 869593C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695948 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695954 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 1 @ 8695960 + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 7, 15, 1 @ 869596C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695978 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695984 + voice_square_2_alt 1, 0, 0, 10, 1 @ 8695990 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869599C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86959A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86959B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86959C0 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 1 @ 86959CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86959D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86959E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86959F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86959FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695A08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695A14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695A20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695A2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695A38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695A44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695A50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695A5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695A68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695A74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695A80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695A8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695A98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695AA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695AB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695ABC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695AC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695AD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695AE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695AEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695AF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695B04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695B10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695B1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695B28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695B34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695B40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695B4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695B58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695B64 + voice_noise_alt 0, 0, 2, 6, 1 @ 8695B70 + + .align 2 +voicegroup_8695B7C:: @ 8695B7C + voice_keysplit_all voicegroup_86763D0 @ 8695B7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695B88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695B94 + voice_directsound 60, 0, DirectSoundWaveData_8701A10, 255, 0, 206, 242 @ 8695BA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695BAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695BB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695BC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695BD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695BDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695BE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695BF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695C00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695C0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695C18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695C24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695C30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695C3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695C48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695C54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695C60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695C6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695C78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695C84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695C90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695C9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695CA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695CB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695CC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695CCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695CD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695CE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695CF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695CFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695D08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695D14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695D20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695D2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695D38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695D44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695D50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695D5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695D68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695D74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695D80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695D8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695D98 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8695DA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695DB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695DBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695DC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695DD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695DE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695DEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695DF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695E04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695E10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695E1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695E28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695E34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695E40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695E4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695E58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695E64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695E70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695E7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695E88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695E94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695EA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695EAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695EB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695EC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695ED0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695EDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695EE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695EF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695F00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695F0C + voice_directsound 60, 0, DirectSoundWaveData_8703214, 255, 0, 255, 204 @ 8695F18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695F24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695F30 + voice_square_1_alt 0, 1, 2, 0, 12, 5 @ 8695F3C + voice_square_2_alt 0, 0, 0, 10, 4 @ 8695F48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695F54 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 0, 15, 0 @ 8695F60 + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 7, 15, 0 @ 8695F6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695F78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695F84 + voice_square_2_alt 1, 2, 0, 12, 5 @ 8695F90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695F9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695FA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695FB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695FC0 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 0, 15, 0 @ 8695FCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695FD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695FE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695FF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8695FFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696008 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696014 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696020 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869602C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696038 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696044 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696050 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869605C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696068 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696074 + voice_directsound 60, 0, DirectSoundWaveData_8706DCC, 255, 0, 206, 242 @ 8696080 + + .align 2 +voicegroup_869608C:: @ 869608C + voice_keysplit_all voicegroup_8676148 @ 869608C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696098 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86960A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86960B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86960BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86960C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86960D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86960E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86960EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86960F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696104 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696110 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869611C + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 216 @ 8696128 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696134 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696140 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869614C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696158 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696164 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696170 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869617C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696188 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696194 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86961A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86961AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86961B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86961C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86961D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86961DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86961E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86961F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696200 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869620C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696218 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696224 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696230 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869623C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696248 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696254 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696260 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869626C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696278 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696284 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696290 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869629C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86962A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86962B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86962C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86962CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86962D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86962E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86962F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86962FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696308 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696314 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696320 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869632C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696338 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696344 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696350 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869635C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696368 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696374 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696380 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869638C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696398 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86963A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86963B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86963BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86963C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86963D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86963E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86963EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86963F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696404 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696410 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869641C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696428 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696434 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696440 + voice_square_1_alt 0, 2, 0, 2, 9, 4 @ 869644C + voice_square_2_alt 2, 0, 2, 9, 4 @ 8696458 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 1 @ 8696464 + + .align 2 +voicegroup_8696470:: @ 8696470 + voice_keysplit_all voicegroup_8676148 @ 8696470 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 869647C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696488 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696494 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86964A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86964AC + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 86964B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86964C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86964D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86964DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86964E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86964F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696500 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869650C + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 8696518 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696524 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696530 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 64, 38, 128, 226 @ 869653C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696548 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696554 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696560 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869656C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696578 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696584 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 128, 249, 25, 76 @ 8696590 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869659C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86965A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86965B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86965C0 + voice_directsound 60, 0, DirectSoundWaveData_8709004, 255, 0, 255, 127 @ 86965CC + voice_directsound 60, 0, DirectSoundWaveData_870AE74, 255, 0, 255, 127 @ 86965D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86965E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86965F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86965FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696608 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696614 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696620 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869662C + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 8696638 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696644 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696650 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869665C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696668 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696674 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696680 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869668C + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8696698 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 86966A4 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86966B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86966BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86966C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86966D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86966E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86966EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86966F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696704 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8696710 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869671C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696728 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696734 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8696740 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869674C + voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 127 @ 8696758 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696764 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696770 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869677C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696788 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696794 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86967A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86967AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86967B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86967C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86967D0 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 86967DC + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 86967E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86967F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696800 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869680C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696818 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696824 + voice_square_1_alt 0, 2, 0, 1, 4, 1 @ 8696830 + voice_square_2_alt 2, 0, 1, 4, 1 @ 869683C + voice_square_2_alt 0, 0, 1, 4, 1 @ 8696848 + voice_square_1_alt 0, 0, 0, 1, 4, 1 @ 8696854 + voice_programmable_wave_alt ProgrammableWaveData_86B4850, 0, 7, 15, 0 @ 8696860 + voice_square_1_alt 0, 3, 0, 1, 4, 1 @ 869686C + voice_square_2_alt 3, 0, 1, 4, 1 @ 8696878 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 8696884 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696890 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869689C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86968A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86968B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86968C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86968CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86968D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86968E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86968F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86968FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696908 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696914 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696920 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869692C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696938 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696944 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696950 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869695C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696968 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696974 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696980 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869698C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696998 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86969A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86969B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86969BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86969C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86969D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86969E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86969EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86969F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696A04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696A10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696A1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696A28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696A34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696A40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696A4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696A58 + voice_noise_alt 0, 0, 1, 0, 0 @ 8696A64 + + .align 2 +voicegroup_8696A70:: @ 8696A70 + voice_keysplit_all voicegroup_8676148 @ 8696A70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696A7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696A88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696A94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696AA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696AAC + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 8696AB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696AC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696AD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696ADC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696AE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696AF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696B00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696B0C + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 8696B18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696B24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696B30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696B3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696B48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696B54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696B60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696B6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696B78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696B84 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 128, 249, 25, 76 @ 8696B90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696B9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696BA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696BB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696BC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696BCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696BD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696BE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696BF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696BFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696C08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696C14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696C20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696C2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696C38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696C44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696C50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696C5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696C68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696C74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696C80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696C8C + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8696C98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CA4 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8696CB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CE0 + voice_directsound 60, 0, DirectSoundWaveData_86BA7E8, 255, 0, 255, 0 @ 8696CEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696CF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D34 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8696D40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696D94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696DA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696DAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696DB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696DC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696DD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696DDC + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 8696DE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696DF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696E00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696E0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696E18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696E24 + voice_square_1_alt 0, 2, 0, 1, 4, 1 @ 8696E30 + voice_square_2_alt 2, 0, 1, 4, 1 @ 8696E3C + voice_square_2_alt 0, 0, 1, 4, 1 @ 8696E48 + voice_square_1_alt 0, 0, 0, 1, 4, 1 @ 8696E54 + voice_programmable_wave_alt ProgrammableWaveData_86B4850, 0, 7, 15, 0 @ 8696E60 + voice_square_1_alt 0, 3, 0, 1, 4, 1 @ 8696E6C + voice_square_2_alt 3, 0, 1, 4, 1 @ 8696E78 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 8696E84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696E90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696E9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696EA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696EB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696EC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696ECC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696ED8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696EE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696EF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696EFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696F08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696F14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696F20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696F2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696F38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696F44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696F50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696F5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696F68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696F74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696F80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696F8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696F98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696FA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696FB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696FBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696FC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696FD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696FE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696FEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8696FF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697004 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697010 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869701C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697028 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697034 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697040 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869704C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697058 + voice_noise_alt 0, 0, 1, 0, 0 @ 8697064 + + .align 2 +voicegroup_8697070:: @ 8697070 + voice_keysplit_all voicegroup_8676658 @ 8697070 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 869707C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697088 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697094 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86970A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86970AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86970B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86970C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86970D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86970DC + voice_directsound 60, 0, DirectSoundWaveData_8710AB8, 255, 188, 139, 239 @ 86970E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86970F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697100 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869710C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697118 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697124 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697130 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869713C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697148 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697154 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697160 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869716C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697178 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697184 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 128, 249, 25, 76 @ 8697190 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869719C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86971A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86971B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86971C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86971CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86971D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86971E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86971F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86971FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697208 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 8697214 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697220 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869722C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697238 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697244 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697250 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869725C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697268 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697274 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697280 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869728C + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8697298 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86972A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86972B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86972BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86972C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86972D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86972E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86972EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86972F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697304 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697310 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869731C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697328 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697334 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697340 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869734C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697358 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697364 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697370 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869737C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697388 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697394 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86973A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86973AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86973B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86973C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86973D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86973DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86973E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86973F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697400 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869740C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697418 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697424 + voice_square_1_alt 0, 0, 0, 1, 13, 4 @ 8697430 + voice_square_2_alt 0, 0, 0, 9, 2 @ 869743C + voice_square_2_alt 1, 0, 0, 7, 1 @ 8697448 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697454 + voice_programmable_wave_alt ProgrammableWaveData_86B4860, 0, 7, 15, 1 @ 8697460 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869746C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697478 + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 0, 15, 0 @ 8697484 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697490 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869749C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86974A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86974B4 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 1 @ 86974C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86974CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86974D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86974E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86974F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86974FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697508 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697514 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697520 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869752C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697538 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697544 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697550 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869755C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697568 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697574 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697580 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869758C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697598 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86975A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86975B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86975BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86975C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86975D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86975E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86975EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86975F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697604 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697610 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869761C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697628 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697634 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697640 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869764C + voice_noise_alt 0, 0, 1, 7, 1 @ 8697658 + voice_noise_alt 0, 0, 1, 0, 0 @ 8697664 + + .align 2 +voicegroup_8697670:: @ 8697670 + voice_keysplit_all voicegroup_8676658 @ 8697670 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869767C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697688 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697694 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86976A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86976AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86976B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86976C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86976D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86976DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86976E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86976F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697700 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869770C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697718 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697724 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697730 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869773C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697748 + voice_directsound 60, 0, DirectSoundWaveData_8715038, 255, 76, 154, 188 @ 8697754 + voice_directsound 60, 0, DirectSoundWaveData_8717980, 255, 76, 154, 188 @ 8697760 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869776C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697778 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697784 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697790 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869779C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86977A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86977B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86977C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86977CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86977D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86977E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86977F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86977FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697808 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 8697814 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697820 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869782C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697838 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697844 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697850 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869785C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697868 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697874 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697880 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869788C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697898 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86978A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86978B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86978BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86978C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86978D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86978E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86978EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86978F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697904 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697910 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869791C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697928 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697934 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697940 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869794C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697958 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697964 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697970 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869797C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697988 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697994 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86979A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86979AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86979B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86979C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86979D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86979DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86979E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86979F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697A00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697A0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697A18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697A24 + voice_square_1_alt 0, 0, 0, 0, 13, 1 @ 8697A30 + voice_square_2_alt 0, 0, 0, 12, 1 @ 8697A3C + voice_programmable_wave_alt ProgrammableWaveData_86B4920, 0, 7, 15, 0 @ 8697A48 + + .align 2 +voicegroup_8697A54:: @ 8697A54 + voice_keysplit_all voicegroup_8676148 @ 8697A54 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8697A60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697A6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697A78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697A84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697A90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697A9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697AA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697AB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697AC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697ACC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697AD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697AE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697AF0 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 8697AFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697B08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697B14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697B20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697B2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697B38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697B44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697B50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697B5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697B68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697B74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697B80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697B8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697B98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697BA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697BB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697BBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697BC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697BD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697BE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697BEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697BF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697C04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697C10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697C1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697C28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697C34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697C40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697C4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697C58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697C64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697C70 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8697C7C + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 239 @ 8697C88 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8697C94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697CA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697CAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697CB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697CC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697CD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697CDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697CE8 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8697CF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D18 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8697D24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697D9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697DA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697DB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697DC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697DCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697DD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697DE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697DF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697DFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697E08 + voice_square_1_alt 0, 1, 1, 1, 6, 0 @ 8697E14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697E20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697E2C + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 1 @ 8697E38 + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 7, 15, 1 @ 8697E44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697E50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697E5C + voice_square_2_alt 3, 0, 0, 10, 1 @ 8697E68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697E74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697E80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697E8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697E98 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 1 @ 8697EA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697EB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697EBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697EC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697ED4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697EE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697EEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697EF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697F04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697F10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697F1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697F28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697F34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697F40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697F4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697F58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697F64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697F70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697F7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697F88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697F94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697FA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697FAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697FB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697FC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697FD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697FDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697FE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8697FF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698000 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869800C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698018 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698024 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698030 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869803C + voice_noise_alt 0, 0, 2, 6, 1 @ 8698048 + + .align 2 +voicegroup_8698054:: @ 8698054 + voice_keysplit_all voicegroup_8676148 @ 8698054 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698060 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869806C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698078 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698084 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698090 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869809C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86980A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86980B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86980C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86980CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86980D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86980E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86980F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86980FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698108 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698114 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 127 @ 8698120 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869812C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698138 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698144 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698150 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869815C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698168 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698174 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698180 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869818C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698198 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86981A4 + voice_directsound 60, 0, DirectSoundWaveData_8709004, 255, 0, 255, 226 @ 86981B0 + voice_directsound 60, 0, DirectSoundWaveData_870AE74, 255, 0, 255, 195 @ 86981BC + voice_directsound 60, 0, DirectSoundWaveData_88DA388, 255, 0, 255, 195 @ 86981C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86981D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86981E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86981EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86981F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698204 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698210 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869821C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698228 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698234 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698240 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869824C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698258 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698264 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698270 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869827C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698288 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698294 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86982A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86982AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86982B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86982C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86982D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86982DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86982E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86982F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698300 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869830C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698318 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698324 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698330 + voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 195 @ 869833C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698348 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698354 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698360 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869836C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698378 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698384 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698390 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869839C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86983A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86983B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86983C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86983CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86983D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86983E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86983F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86983FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698408 + voice_square_1_alt 0, 1, 0, 1, 7, 1 @ 8698414 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698420 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869842C + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 1 @ 8698438 + voice_programmable_wave_alt ProgrammableWaveData_86B4910, 0, 7, 15, 1 @ 8698444 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698450 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869845C + voice_square_2_alt 3, 0, 1, 7, 1 @ 8698468 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698474 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698480 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869848C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698498 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 1 @ 86984A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86984B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86984BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86984C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86984D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86984E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86984EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86984F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698504 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698510 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869851C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698528 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698534 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698540 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869854C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698558 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698564 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698570 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869857C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698588 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698594 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86985A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86985AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86985B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86985C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86985D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86985DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86985E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86985F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698600 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869860C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698618 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698624 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698630 + voice_noise_alt 0, 0, 1, 7, 1 @ 869863C + voice_noise_alt 0, 0, 2, 6, 1 @ 8698648 + + .align 2 +voicegroup_8698654:: @ 8698654 + voice_keysplit_all voicegroup_86763D0 @ 8698654 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8698660 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869866C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698678 + voice_programmable_wave_alt ProgrammableWaveData_86B4970, 0, 7, 15, 1 @ 8698684 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698690 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869869C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86986A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86986B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86986C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86986CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86986D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86986E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86986F0 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 86986FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698708 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698714 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 210 @ 8698720 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869872C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698738 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698744 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698750 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869875C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698768 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 76 @ 8698774 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698780 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869878C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698798 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86987A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86987B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86987BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86987C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86987D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86987E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86987EC + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 86987F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698804 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698810 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 128, 252, 0, 115 @ 869881C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698828 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698834 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698840 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869884C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698858 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698864 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698870 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 869887C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698888 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8698894 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86988A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86988AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86988B8 + voice_directsound 60, 0, DirectSoundWaveData_86BA7E8, 128, 165, 128, 188 @ 86988C4 + voice_directsound 60, 0, DirectSoundWaveData_87190E0, 128, 165, 128, 204 @ 86988D0 + voice_directsound 60, 0, DirectSoundWaveData_871A724, 128, 165, 128, 188 @ 86988DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86988E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86988F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698900 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869890C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698918 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8698924 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698930 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869893C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698948 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698954 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698960 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869896C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698978 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698984 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698990 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869899C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86989A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86989B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86989C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86989CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86989D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86989E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86989F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86989FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698A08 + voice_square_1_alt 0, 1, 0, 0, 7, 0 @ 8698A14 + voice_square_2_alt 1, 0, 0, 6, 0 @ 8698A20 + voice_square_2_alt 3, 0, 0, 6, 0 @ 8698A2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698A38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698A44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698A50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698A5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698A68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698A74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698A80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698A8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698A98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698AA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698AB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698ABC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698AC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698AD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698AE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698AEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698AF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698B04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698B10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698B1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698B28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698B34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698B40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698B4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698B58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698B64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698B70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698B7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698B88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698B94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698BA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698BAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698BB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698BC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698BD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698BDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698BE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698BF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698C00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698C0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698C18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698C24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698C30 + voice_noise_alt 0, 0, 7, 10, 1 @ 8698C3C + voice_noise_alt 0, 0, 2, 6, 1 @ 8698C48 + + .align 2 +voicegroup_8698C54:: @ 8698C54 + voice_keysplit_all voicegroup_8676148 @ 8698C54 + voice_programmable_wave_alt ProgrammableWaveData_86B4990, 0, 7, 15, 1 @ 8698C60 + voice_programmable_wave_alt ProgrammableWaveData_86B49B0, 0, 7, 15, 1 @ 8698C6C + voice_programmable_wave_alt ProgrammableWaveData_86B49A0, 0, 7, 15, 1 @ 8698C78 + voice_programmable_wave_alt ProgrammableWaveData_86B4970, 0, 7, 15, 1 @ 8698C84 + voice_programmable_wave_alt ProgrammableWaveData_86B4980, 0, 7, 15, 1 @ 8698C90 + voice_programmable_wave_alt ProgrammableWaveData_86B48B0, 0, 7, 15, 1 @ 8698C9C + voice_programmable_wave_alt ProgrammableWaveData_86B48C0, 0, 7, 15, 1 @ 8698CA8 + voice_programmable_wave_alt ProgrammableWaveData_86B48D0, 0, 7, 15, 1 @ 8698CB4 + voice_programmable_wave_alt ProgrammableWaveData_86B48E0, 0, 7, 15, 1 @ 8698CC0 + voice_programmable_wave_alt ProgrammableWaveData_86B48F0, 0, 7, 15, 1 @ 8698CCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698CD8 + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 8698CE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698CF0 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 8698CFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698D08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698D14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698D20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698D2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698D38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698D44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698D50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698D5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698D68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698D74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698D80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698D8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698D98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698DA4 + voice_directsound 60, 0, DirectSoundWaveData_8709004, 255, 0, 255, 195 @ 8698DB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698DBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698DC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698DD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698DE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698DEC + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 8698DF8 + voice_directsound 60, 0, DirectSoundWaveData_86B776C, 255, 235, 128, 99 @ 8698E04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698E10 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 8698E1C + voice_programmable_wave_alt ProgrammableWaveData_86B4920, 0, 7, 15, 1 @ 8698E28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698E34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698E40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698E4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698E58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698E64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698E70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698E7C + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 180, 246 @ 8698E88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698E94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698EA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698EAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698EB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698EC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698ED0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698EDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698EE8 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8698EF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F18 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8698F24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698F9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698FA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698FB4 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 127 @ 8698FC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698FCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698FD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698FE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698FF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8698FFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699008 + voice_square_1_alt 0, 2, 0, 7, 7, 0 @ 8699014 + voice_square_2_alt 2, 0, 7, 7, 0 @ 8699020 + voice_square_2_alt 1, 0, 7, 7, 0 @ 869902C + voice_square_2_alt 0, 0, 7, 7, 0 @ 8699038 + voice_square_2_alt 3, 0, 7, 7, 0 @ 8699044 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699050 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869905C + voice_programmable_wave_alt ProgrammableWaveData_86B4910, 0, 7, 15, 1 @ 8699068 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699074 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699080 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869908C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699098 + voice_square_1_alt 0, 1, 0, 7, 7, 0 @ 86990A4 + voice_square_1_alt 0, 0, 0, 7, 7, 0 @ 86990B0 + voice_square_1_alt 0, 3, 0, 7, 7, 0 @ 86990BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86990C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86990D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86990E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86990EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86990F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699104 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699110 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869911C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699128 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699134 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699140 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869914C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699158 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699164 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699170 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869917C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699188 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699194 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86991A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86991AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86991B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86991C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86991D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86991DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86991E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86991F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699200 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869920C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699218 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699224 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699230 + voice_noise_alt 0, 0, 1, 7, 1 @ 869923C + voice_noise_alt 0, 0, 2, 6, 1 @ 8699248 + + .align 2 +voicegroup_8699254:: @ 8699254 + voice_keysplit_all voicegroup_8675FEC @ 8699254 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699260 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869926C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699278 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699284 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699290 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869929C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86992A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86992B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86992C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86992CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86992D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86992E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86992F0 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 216, 90, 242 @ 86992FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699308 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699314 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699320 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869932C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699338 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699344 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699350 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869935C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699368 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699374 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699380 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869938C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699398 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86993A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86993B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86993BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86993C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86993D4 + voice_directsound 60, 0, DirectSoundWaveData_86FFDC0, 255, 253, 0, 149 @ 86993E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86993EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86993F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699404 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699410 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869941C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699428 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699434 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699440 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869944C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699458 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699464 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699470 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869947C + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 8699488 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8699494 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86994A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86994AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86994B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86994C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86994D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86994DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86994E8 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86994F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699500 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869950C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699518 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8699524 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699530 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869953C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699548 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699554 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699560 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869956C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699578 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699584 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699590 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869959C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86995A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86995B4 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 86995C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86995CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86995D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86995E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86995F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86995FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699608 + voice_square_2 3, 0, 1, 7, 1 @ 8699614 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699620 + voice_square_1 0, 3, 0, 1, 7, 1 @ 869962C + voice_square_1 0, 3, 0, 0, 7, 1 @ 8699638 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699644 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699650 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869965C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699668 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699674 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699680 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869968C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699698 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86996A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86996B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86996BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86996C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86996D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86996E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86996EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86996F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699704 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699710 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869971C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699728 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699734 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699740 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869974C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699758 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699764 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699770 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869977C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699788 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699794 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86997A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86997AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86997B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86997C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86997D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86997DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86997E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86997F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699800 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869980C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699818 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699824 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699830 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869983C + voice_directsound 60, 0, DirectSoundWaveData_86CB6B8, 255, 246, 0, 216 @ 8699848 + + .align 2 +voicegroup_8699854:: @ 8699854 + voice_keysplit_all voicegroup_8676148 @ 8699854 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8699860 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869986C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699878 + voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 128, 249, 0, 188 @ 8699884 + voice_directsound 60, 0, DirectSoundWaveData_871F234, 255, 188, 103, 165 @ 8699890 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869989C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86998A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86998B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86998C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86998CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86998D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86998E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86998F0 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 86998FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699908 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699914 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 127 @ 8699920 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869992C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699938 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699944 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699950 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869995C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699968 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 128, 249, 25, 204 @ 8699974 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 165, 128, 204 @ 8699980 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869998C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699998 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86999A4 + voice_directsound 60, 0, DirectSoundWaveData_8709004, 255, 0, 255, 127 @ 86999B0 + voice_directsound 60, 0, DirectSoundWaveData_870AE74, 255, 165, 154, 165 @ 86999BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86999C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86999D4 + voice_directsound 60, 0, DirectSoundWaveData_86FFDC0, 255, 253, 0, 149 @ 86999E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86999EC + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 198 @ 86999F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699A04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699A10 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 146 @ 8699A1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699A28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699A34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699A40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699A4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699A58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699A64 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 8699A70 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 8699A7C + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 8699A88 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 8699A94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699AA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699AAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699AB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699AC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699AD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699ADC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699AE8 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 8699AF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B18 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 8699B24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B30 + voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 165, 180, 165 @ 8699B3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699B9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699BA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699BB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699BC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699BCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699BD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699BE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699BF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699BFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699C08 + voice_square_1_alt 0, 1, 0, 2, 7, 2 @ 8699C14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699C20 + voice_square_2_alt 0, 0, 1, 6, 0 @ 8699C2C + voice_square_2_alt 3, 0, 3, 6, 2 @ 8699C38 + voice_square_2_alt 0, 0, 2, 6, 5 @ 8699C44 + voice_square_1_alt 0, 0, 0, 1, 6, 0 @ 8699C50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699C5C + voice_programmable_wave_alt ProgrammableWaveData_86B4970, 0, 7, 15, 1 @ 8699C68 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 8699C74 + voice_programmable_wave_alt ProgrammableWaveData_86B4910, 0, 1, 9, 2 @ 8699C80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699C8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699C98 + voice_square_2_alt 2, 0, 2, 6, 3 @ 8699CA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699CB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699CBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699CC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699CD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699CE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699CEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699CF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699D04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699D10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699D1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699D28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699D34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699D40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699D4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699D58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699D64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699D70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699D7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699D88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699D94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699DA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699DAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699DB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699DC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699DD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699DDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699DE8 + voice_directsound 60, 0, DirectSoundWaveData_88DA388, 255, 0, 255, 165 @ 8699DF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E30 + voice_noise_alt 0, 0, 2, 6, 2 @ 8699E3C + voice_noise_alt 0, 0, 1, 6, 0 @ 8699E48 + + .align 2 +voicegroup_8699E54:: @ 8699E54 + voice_keysplit_all voicegroup_8676148 @ 8699E54 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 8699E60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E78 + voice_square_2_alt 3, 0, 2, 6, 5 @ 8699E84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699E9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699EA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699EB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699EC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699ECC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699ED8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699EE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699EF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699EFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699F08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699F14 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 128, 146, 190, 115 @ 8699F20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699F2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699F38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699F44 + voice_directsound 60, 0, DirectSoundWaveData_87410E0, 255, 0, 255, 165 @ 8699F50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699F5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699F68 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 165, 128, 216 @ 8699F74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699F80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699F8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699F98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699FA4 + voice_directsound 60, 0, DirectSoundWaveData_8709004, 255, 0, 255, 127 @ 8699FB0 + voice_directsound 60, 0, DirectSoundWaveData_870AE74, 255, 0, 255, 127 @ 8699FBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699FC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699FD4 + voice_directsound 60, 0, DirectSoundWaveData_86FFDC0, 255, 253, 0, 149 @ 8699FE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699FEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 8699FF8 + voice_directsound 60, 0, DirectSoundWaveData_86BEF94, 255, 165, 180, 216 @ 869A004 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A010 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 869A01C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A028 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A034 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A040 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A04C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A058 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A064 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A070 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A07C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A088 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869A094 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A0A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A0AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A0B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A0C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A0D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A0DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A0E8 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869A0F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A100 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A10C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A118 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869A124 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A130 + voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 127 @ 869A13C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A148 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A154 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A160 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A16C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A178 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A184 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A190 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A19C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A1A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A1B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A1C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A1CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A1D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A1E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A1F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A1FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A208 + voice_square_1_alt 0, 1, 0, 2, 7, 2 @ 869A214 + voice_square_2_alt 3, 0, 3, 3, 0 @ 869A220 + voice_programmable_wave_alt ProgrammableWaveData_86B4970, 0, 3, 6, 5 @ 869A22C + voice_square_1_alt 0, 0, 0, 2, 7, 2 @ 869A238 + voice_programmable_wave_alt ProgrammableWaveData_86B4970, 0, 7, 15, 0 @ 869A244 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A250 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A25C + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 869A268 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A274 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A280 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A28C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A298 + voice_square_2_alt 2, 0, 2, 6, 3 @ 869A2A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A2B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A2BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A2C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A2D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A2E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A2EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A2F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A304 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A310 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A31C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A328 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A334 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A340 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A34C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A358 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A364 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A370 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A37C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A388 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A394 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A3A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A3AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A3B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A3C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A3D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A3DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A3E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A3F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A400 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A40C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A418 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A424 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A430 + voice_noise_alt 0, 0, 2, 6, 0 @ 869A43C + voice_noise_alt 0, 0, 1, 6, 1 @ 869A448 + + .align 2 +voicegroup_869A454:: @ 869A454 + voice_keysplit_all voicegroup_8675FEC @ 869A454 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A460 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A46C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A478 + voice_square_2 2, 0, 1, 1, 1 @ 869A484 + voice_square_1 0, 2, 0, 1, 1, 1 @ 869A490 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A49C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A4A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A4B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A4C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A4CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A4D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A4E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A4F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A4FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A508 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A514 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A520 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A52C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A538 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A544 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A550 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A55C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A568 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A574 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A580 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A58C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A598 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A5A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A5B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A5BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A5C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A5D4 + voice_directsound 60, 0, DirectSoundWaveData_86FFDC0, 255, 253, 0, 149 @ 869A5E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A5EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A5F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A604 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A610 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A61C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A628 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A634 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A640 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A64C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A658 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A664 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A670 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 869A67C + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869A688 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869A694 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A6A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A6AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A6B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A6C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A6D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A6DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A6E8 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869A6F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A700 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 869A70C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A718 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869A724 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A730 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A73C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A748 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A754 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A760 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A76C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A778 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A784 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A790 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A79C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A7A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A7B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A7C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A7CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A7D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A7E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A7F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A7FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A808 + voice_square_2 3, 0, 1, 7, 1 @ 869A814 + voice_programmable_wave_alt ProgrammableWaveData_86B4850, 0, 7, 15, 2 @ 869A820 + + .align 2 +voicegroup_869A82C:: @ 869A82C + voice_keysplit_all voicegroup_8675FEC @ 869A82C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A838 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A844 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A850 + voice_square_2 0, 0, 1, 7, 1 @ 869A85C + voice_square_1 0, 0, 0, 1, 7, 1 @ 869A868 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A874 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A880 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A88C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A898 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A8A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A8B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A8BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A8C8 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 250, 0, 242 @ 869A8D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A8E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A8EC + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 127 @ 869A8F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A904 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A910 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A91C + voice_directsound 60, 0, DirectSoundWaveData_87410E0, 255, 0, 255, 165 @ 869A928 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A934 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A940 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A94C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A958 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A964 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A970 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A97C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A988 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A994 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A9A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A9AC + voice_directsound 60, 0, DirectSoundWaveData_86FFDC0, 255, 253, 0, 149 @ 869A9B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A9C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A9D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A9DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869A9E8 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 869A9F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AA00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AA0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AA18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AA24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AA30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AA3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AA48 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 869AA54 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869AA60 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869AA6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AA78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AA84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AA90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AA9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AAA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AAB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AAC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AACC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AAD8 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 869AAE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AAF0 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869AAFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AB08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AB14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AB20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AB2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AB38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AB44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AB50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AB5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AB68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AB74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AB80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AB8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AB98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869ABA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869ABB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869ABBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869ABC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869ABD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869ABE0 + voice_square_2 2, 0, 1, 7, 1 @ 869ABEC + voice_programmable_wave_alt ProgrammableWaveData_86B4850, 0, 7, 15, 2 @ 869ABF8 + voice_square_1 0, 2, 0, 1, 7, 1 @ 869AC04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AC10 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 2 @ 869AC1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AC28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AC34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AC40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AC4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AC58 + voice_directsound 60, 0, DirectSoundWaveData_873A594, 255, 0, 255, 127 @ 869AC64 + + .align 2 +voicegroup_869AC70:: @ 869AC70 + voice_keysplit_all voicegroup_8675FEC @ 869AC70 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 869AC7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AC88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AC94 + voice_square_2 0, 0, 2, 4, 1 @ 869ACA0 + voice_square_1 0, 0, 0, 2, 4, 1 @ 869ACAC + voice_square_2 3, 0, 1, 7, 1 @ 869ACB8 + voice_square_1 0, 3, 0, 1, 7, 1 @ 869ACC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869ACD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869ACDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869ACE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869ACF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AD00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AD0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AD18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AD24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AD30 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 127 @ 869AD3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AD48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AD54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AD60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AD6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AD78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AD84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AD90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AD9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869ADA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869ADB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869ADC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869ADCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869ADD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869ADE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869ADF0 + voice_directsound 60, 0, DirectSoundWaveData_86FFDC0, 255, 253, 0, 149 @ 869ADFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AE08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AE14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AE20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AE2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AE38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AE44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AE50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AE5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AE68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AE74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AE80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AE8C + voice_directsound_no_resample 60, 0, DirectSoundWaveData_87205DC, 255, 246, 0, 226 @ 869AE98 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869AEA4 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869AEB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AEBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AEC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AED4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AEE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AEEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AEF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF04 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869AF10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF34 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869AF40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AF94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AFA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AFAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AFB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AFC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AFD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AFDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AFE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869AFF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B000 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B00C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B018 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B024 + voice_square_2 2, 0, 1, 7, 1 @ 869B030 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 2 @ 869B03C + voice_square_1 0, 2, 0, 1, 7, 1 @ 869B048 + voice_square_2 1, 0, 1, 9, 1 @ 869B054 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B060 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B06C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B078 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B084 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B090 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B09C + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 2 @ 869B0A8 + + .align 2 +voicegroup_869B0B4:: @ 869B0B4 + voice_keysplit_all voicegroup_8675FEC @ 869B0B4 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 869B0C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B0CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B0D8 + voice_square_2 2, 0, 2, 6, 1 @ 869B0E4 + voice_square_1 0, 2, 0, 2, 6, 1 @ 869B0F0 + voice_square_2 3, 0, 2, 4, 1 @ 869B0FC + voice_square_1 0, 3, 0, 2, 4, 1 @ 869B108 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B114 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B120 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B12C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B138 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B144 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B150 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B15C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B168 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B174 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B180 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B18C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B198 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B1A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B1B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B1BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B1C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B1D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B1E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B1EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B1F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B204 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B210 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B21C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B228 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B234 + voice_directsound 60, 0, DirectSoundWaveData_86FFDC0, 255, 253, 0, 149 @ 869B240 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B24C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B258 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B264 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B270 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B27C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B288 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B294 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B2A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B2AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B2B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B2C4 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 869B2D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B2DC + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869B2E8 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869B2F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B300 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B30C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B318 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B324 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B330 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B33C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B348 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869B354 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B360 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B36C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B378 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869B384 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B390 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B39C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B3A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B3B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B3C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B3CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B3D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B3E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B3F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B3FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B408 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B414 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B420 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B42C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B438 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B444 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B450 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B45C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B468 + voice_square_2 2, 0, 1, 7, 1 @ 869B474 + voice_programmable_wave_alt ProgrammableWaveData_86B4850, 0, 7, 15, 2 @ 869B480 + voice_square_1 0, 2, 0, 1, 7, 1 @ 869B48C + voice_square_1 0, 2, 0, 0, 7, 1 @ 869B498 + voice_square_2 3, 0, 1, 7, 1 @ 869B4A4 + voice_square_1 0, 3, 0, 1, 7, 1 @ 869B4B0 + voice_square_1 0, 3, 0, 0, 7, 1 @ 869B4BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B4C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B4D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B4E0 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 2 @ 869B4EC + + .align 2 +voicegroup_869B4F8:: @ 869B4F8 + voice_keysplit_all voicegroup_8675FEC @ 869B4F8 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 869B504 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B510 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B51C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B528 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B534 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B540 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B54C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B558 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B564 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B570 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B57C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B588 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B594 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B5A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B5AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B5B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B5C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B5D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B5DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B5E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B5F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B600 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B60C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B618 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B624 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B630 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B63C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B648 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B654 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B660 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B66C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B678 + voice_directsound 60, 0, DirectSoundWaveData_86FFDC0, 255, 253, 0, 149 @ 869B684 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B690 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B69C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B6A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B6B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B6C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B6CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B6D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B6E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B6F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B6FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B708 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 869B714 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B720 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869B72C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869B738 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B744 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B750 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B75C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B768 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B774 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B780 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B78C + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869B798 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B7A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B7B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B7BC + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869B7C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B7D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B7E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B7EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B7F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B804 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B810 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B81C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B828 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B834 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B840 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B84C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B858 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 869B864 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B870 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B87C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B888 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B894 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B8A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B8AC + voice_square_2 2, 0, 1, 7, 1 @ 869B8B8 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 2 @ 869B8C4 + voice_square_1 0, 2, 0, 1, 7, 1 @ 869B8D0 + voice_square_2 0, 0, 1, 7, 1 @ 869B8DC + voice_square_1 0, 0, 0, 1, 7, 1 @ 869B8E8 + voice_square_1 0, 0, 0, 0, 7, 1 @ 869B8F4 + + .align 2 +voicegroup_869B900:: @ 869B900 + voice_keysplit_all voicegroup_8675FEC @ 869B900 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B90C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B918 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B924 + voice_square_2 1, 0, 1, 6, 1 @ 869B930 + voice_square_1 0, 1, 0, 1, 6, 1 @ 869B93C + voice_square_2 2, 0, 1, 6, 1 @ 869B948 + voice_square_1 0, 2, 0, 1, 6, 1 @ 869B954 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B960 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B96C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B978 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B984 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B990 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B99C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B9A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B9B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B9C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B9CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B9D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B9E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B9F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869B9FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BA08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BA14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BA20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BA2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BA38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BA44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BA50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BA5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BA68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BA74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BA80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BA8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BA98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BAA4 + voice_directsound 60, 0, DirectSoundWaveData_86B776C, 255, 235, 128, 99 @ 869BAB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BABC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BAC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BAD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BAE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BAEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BAF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BB04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BB10 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 869BB1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BB28 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869BB34 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869BB40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BB4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BB58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BB64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BB70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BB7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BB88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BB94 + voice_directsound 60, 0, DirectSoundWaveData_873A594, 255, 165, 154, 127 @ 869BBA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BBAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BBB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BBC4 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869BBD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BBDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BBE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BBF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BC00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BC0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BC18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BC24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BC30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BC3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BC48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BC54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BC60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BC6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BC78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BC84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BC90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BC9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BCA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BCB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BCC0 + voice_programmable_wave_alt ProgrammableWaveData_86B4850, 0, 7, 15, 2 @ 869BCCC + voice_square_1 0, 3, 0, 1, 9, 1 @ 869BCD8 + voice_square_1 0, 3, 0, 0, 9, 1 @ 869BCE4 + + .align 2 +voicegroup_869BCF0:: @ 869BCF0 + voice_keysplit_all voicegroup_8675FEC @ 869BCF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BCFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BD08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BD14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BD20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BD2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BD38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BD44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BD50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BD5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BD68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BD74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BD80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BD8C + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 216, 90, 242 @ 869BD98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BDA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BDB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BDBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BDC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BDD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BDE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BDEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BDF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BE04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BE10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BE1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BE28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BE34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BE40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BE4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BE58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BE64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BE70 + voice_directsound 60, 0, DirectSoundWaveData_86FFDC0, 255, 253, 0, 149 @ 869BE7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BE88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BE94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BEA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BEAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BEB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BEC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BED0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BEDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BEE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BEF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF18 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869BF24 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869BF30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF84 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869BF90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BF9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BFA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BFB4 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869BFC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BFCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BFD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BFE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BFF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869BFFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C008 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C014 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C020 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C02C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C038 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C044 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C050 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 869C05C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C068 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C074 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C080 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C08C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C098 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C0A4 + voice_square_2 3, 0, 1, 7, 1 @ 869C0B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C0BC + voice_square_1 0, 3, 0, 1, 7, 1 @ 869C0C8 + voice_square_1 0, 3, 0, 0, 7, 1 @ 869C0D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C0E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C0EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C0F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C104 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C110 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C11C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C128 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C134 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C140 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C14C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C158 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C164 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C170 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C17C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C188 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C194 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C1A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C1AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C1B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C1C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C1D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C1DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C1E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C1F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C200 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C20C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C218 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C224 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C230 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C23C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C248 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C254 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C260 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C26C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C278 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C284 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C290 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C29C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C2A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C2B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C2C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C2CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C2D8 + voice_directsound 60, 0, DirectSoundWaveData_86CB6B8, 255, 246, 0, 216 @ 869C2E4 + + .align 2 +voicegroup_869C2F0:: @ 869C2F0 + voice_keysplit_all voicegroup_8675FEC @ 869C2F0 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 869C2FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C308 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C314 + voice_square_2 2, 0, 2, 3, 1 @ 869C320 + voice_square_1 0, 2, 0, 2, 3, 1 @ 869C32C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C338 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C344 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C350 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C35C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C368 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C374 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C380 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C38C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C398 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C3A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C3B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C3BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C3C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C3D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C3E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C3EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C3F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C404 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C410 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C41C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C428 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C434 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C440 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C44C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C458 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C464 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C470 + voice_directsound 60, 0, DirectSoundWaveData_86FFDC0, 255, 253, 0, 149 @ 869C47C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C488 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C494 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C4A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C4AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C4B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C4C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C4D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C4DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C4E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C4F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C500 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C50C + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 869C518 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869C524 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869C530 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C53C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C548 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C554 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C560 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C56C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C578 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C584 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869C590 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C59C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C5A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C5B4 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869C5C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C5CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C5D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C5E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C5F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C5FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C608 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C614 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C620 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C62C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C638 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C644 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C650 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C65C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C668 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C674 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C680 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C68C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C698 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C6A4 + voice_square_2 3, 0, 1, 7, 1 @ 869C6B0 + voice_programmable_wave_alt ProgrammableWaveData_86B4850, 0, 7, 15, 2 @ 869C6BC + voice_square_1 0, 3, 0, 1, 7, 1 @ 869C6C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C6D4 + voice_square_2 2, 0, 1, 7, 1 @ 869C6E0 + voice_square_1 0, 2, 0, 1, 7, 1 @ 869C6EC + voice_square_2 3, 0, 2, 7, 1 @ 869C6F8 + + .align 2 +voicegroup_869C704:: @ 869C704 + voice_keysplit_all voicegroup_8675FEC @ 869C704 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C710 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C71C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C728 + voice_square_2 2, 0, 2, 3, 1 @ 869C734 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C740 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C74C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C758 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C764 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C770 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C77C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C788 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C794 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C7A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C7AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C7B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C7C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C7D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C7DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C7E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C7F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C800 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C80C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C818 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C824 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C830 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C83C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C848 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C854 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C860 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C86C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C878 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C884 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C890 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C89C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C8A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C8B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C8C0 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 869C8CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C8D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C8E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C8F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C8FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C908 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C914 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C920 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C92C + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869C938 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869C944 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C950 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C95C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C968 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C974 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C980 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C98C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C998 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869C9A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C9B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C9BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C9C8 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869C9D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C9E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C9EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869C9F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CA04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CA10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CA1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CA28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CA34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CA40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CA4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CA58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CA64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CA70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CA7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CA88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CA94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CAA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CAAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CAB8 + voice_square_2 3, 0, 1, 7, 1 @ 869CAC4 + voice_programmable_wave_alt ProgrammableWaveData_86B4850, 0, 7, 15, 2 @ 869CAD0 + voice_square_1 0, 3, 0, 1, 7, 1 @ 869CADC + voice_square_1 0, 3, 0, 0, 7, 1 @ 869CAE8 + + .align 2 +voicegroup_869CAF4:: @ 869CAF4 + voice_keysplit_all voicegroup_8675FEC @ 869CAF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CB00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CB0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CB18 + voice_square_2 0, 1, 1, 7, 1 @ 869CB24 + voice_square_1 0, 0, 1, 1, 7, 1 @ 869CB30 + voice_square_1 0, 0, 0, 0, 7, 1 @ 869CB3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CB48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CB54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CB60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CB6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CB78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CB84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CB90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CB9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CBA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CBB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CBC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CBCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CBD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CBE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CBF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CBFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CC08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CC14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CC20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CC2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CC38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CC44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CC50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CC5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CC68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CC74 + voice_directsound 60, 0, DirectSoundWaveData_86B776C, 255, 235, 128, 99 @ 869CC80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CC8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CC98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CCA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CCB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CCBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CCC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CCD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CCE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CCEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CCF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD1C + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869CD28 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869CD34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CD88 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 869CD94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CDA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CDAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CDB8 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 869CDC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CDD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CDDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CDE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CDF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CE00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CE0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CE18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CE24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CE30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CE3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CE48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CE54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CE60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CE6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CE78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CE84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CE90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CE9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CEA8 + voice_square_2 3, 1, 1, 6, 1 @ 869CEB4 + voice_programmable_wave_alt ProgrammableWaveData_86B4850, 0, 7, 15, 2 @ 869CEC0 + voice_square_1 0, 3, 1, 1, 6, 1 @ 869CECC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CED8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CEE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CEF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CEFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CF08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CF14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CF20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CF2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CF38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CF44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CF50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CF5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CF68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CF74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CF80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CF8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CF98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CFA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CFB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CFBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CFC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CFD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CFE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CFEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869CFF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D004 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D010 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D01C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D028 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D034 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D040 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D04C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D058 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D064 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D070 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D07C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D088 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D094 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D0A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D0AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D0B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D0C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D0D0 + voice_directsound 60, 0, DirectSoundWaveData_86CB6B8, 255, 235, 0, 216 @ 869D0DC + voice_directsound 60, 0, DirectSoundWaveData_86CB6B8, 255, 246, 0, 216 @ 869D0E8 + + .align 2 +voicegroup_869D0F4:: @ 869D0F4 + voice_directsound 60, 0, DirectSoundWaveData_8721AAC, 255, 249, 103, 165 @ 869D0F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D100 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D10C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D118 + voice_square_1_alt 0, 2, 0, 2, 0, 0 @ 869D124 + voice_square_1_alt 0, 0, 0, 2, 0, 1 @ 869D130 + voice_square_1_alt 0, 2, 0, 4, 0, 1 @ 869D13C + voice_square_1_alt 44, 2, 0, 4, 0, 0 @ 869D148 + voice_square_1_alt 38, 0, 0, 4, 0, 0 @ 869D154 + voice_square_1_alt 0, 0, 0, 7, 0, 0 @ 869D160 + voice_square_1_alt 0, 2, 2, 0, 15, 0 @ 869D16C + voice_square_1_alt 0, 1, 2, 0, 15, 0 @ 869D178 + voice_square_1_alt 23, 1, 0, 1, 9, 0 @ 869D184 + voice_directsound 60, 0, DirectSoundWaveData_87224B8, 255, 0, 255, 165 @ 869D190 + voice_directsound 60, 0, DirectSoundWaveData_87224B8, 255, 226, 0, 165 @ 869D19C + voice_square_1_alt 0, 2, 0, 6, 0, 1 @ 869D1A8 + voice_square_1_alt 36, 0, 0, 2, 0, 0 @ 869D1B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D1C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D1CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D1D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D1E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D1F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D1FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D208 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D214 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D220 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D22C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D238 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D244 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D250 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D25C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D268 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D274 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D280 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D28C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D298 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D2A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D2B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D2BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D2C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D2D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D2E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D2EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D2F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D304 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D310 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D31C + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 869D328 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 869D334 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D340 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D34C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D358 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D364 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D370 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D37C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D388 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D394 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D3A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D3AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D3B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D3C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D3D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D3DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D3E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D3F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D400 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D40C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D418 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D424 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D430 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D43C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D448 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D454 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D460 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D46C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D478 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D484 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D490 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D49C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D4A8 + voice_square_2_alt 3, 0, 1, 0, 1 @ 869D4B4 + voice_square_1_alt 0, 3, 0, 1, 0, 1 @ 869D4C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D4CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D4D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D4E4 + voice_square_1_alt 46, 2, 0, 4, 0, 0 @ 869D4F0 + voice_square_1_alt 38, 2, 0, 4, 0, 0 @ 869D4FC + voice_square_1_alt 119, 2, 0, 0, 15, 1 @ 869D508 + voice_square_1_alt 0, 2, 0, 0, 15, 1 @ 869D514 + voice_square_1_alt 106, 2, 0, 2, 0, 0 @ 869D520 + voice_square_1_alt 23, 2, 0, 1, 9, 0 @ 869D52C + voice_square_1_alt 21, 2, 0, 1, 9, 0 @ 869D538 + voice_square_1_alt 0, 0, 0, 0, 15, 1 @ 869D544 + voice_square_1_alt 47, 2, 0, 2, 6, 0 @ 869D550 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D55C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D568 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D574 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D580 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D58C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D598 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D5A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D5B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D5BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D5C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D5D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D5E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D5EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D5F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D604 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D610 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D61C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D628 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D634 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D640 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D64C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D658 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D664 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D670 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D67C + voice_noise 0, 0, 7, 15, 0 @ 869D688 + voice_noise 0, 2, 7, 15, 0 @ 869D694 + voice_noise_alt 0, 2, 0, 15, 0 @ 869D6A0 + voice_noise_alt 1, 0, 0, 15, 0 @ 869D6AC + voice_noise_alt 0, 0, 0, 15, 0 @ 869D6B8 + voice_noise_alt 0, 0, 3, 0, 0 @ 869D6C4 + voice_noise_alt 0, 0, 2, 0, 0 @ 869D6D0 + voice_noise_alt 0, 0, 1, 0, 0 @ 869D6DC + voice_noise_alt 0, 0, 1, 0, 1 @ 869D6E8 + + .align 2 +voicegroup_869D6F4:: @ 869D6F4 + voice_directsound_no_resample 60, 0, DirectSoundWaveData_87240CC, 255, 249, 0, 165 @ 869D6F4 + voice_directsound_alt 60, 0, DirectSoundWaveData_87240CC, 255, 0, 255, 165 @ 869D700 + voice_directsound 60, 0, DirectSoundWaveData_8721AAC, 255, 0, 255, 165 @ 869D70C + voice_directsound 60, 0, DirectSoundWaveData_86B5D04, 255, 242, 0, 127 @ 869D718 + voice_noise_alt 0, 0, 1, 0, 1 @ 869D724 + voice_noise_alt 1, 0, 1, 0, 1 @ 869D730 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 255, 165 @ 869D73C + voice_square_1_alt 0, 2, 0, 2, 0, 1 @ 869D748 + voice_directsound 60, 0, DirectSoundWaveData_8725A2C, 255, 0, 255, 165 @ 869D754 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 0, 255, 127 @ 869D760 + voice_directsound 60, 0, DirectSoundWaveData_872762C, 255, 0, 255, 127 @ 869D76C + voice_noise_alt 1, 0, 2, 0, 0 @ 869D778 + voice_square_1 103, 3, 2, 7, 0, 0 @ 869D784 + voice_square_2 3, 2, 7, 0, 0 @ 869D790 + voice_directsound 60, 0, DirectSoundWaveData_87224B8, 255, 226, 0, 127 @ 869D79C + voice_directsound 60, 0, DirectSoundWaveData_872921C, 255, 0, 255, 0 @ 869D7A8 + voice_directsound 60, 0, DirectSoundWaveData_87224B8, 255, 204, 0, 127 @ 869D7B4 + voice_square_1_alt 0, 2, 0, 2, 0, 1 @ 869D7C0 + voice_directsound 60, 0, DirectSoundWaveData_872A5D0, 255, 0, 255, 127 @ 869D7CC + voice_directsound 60, 0, DirectSoundWaveData_87224B8, 255, 0, 255, 127 @ 869D7D8 + voice_square_1 103, 0, 0, 7, 0, 0 @ 869D7E4 + voice_directsound 60, 0, DirectSoundWaveData_86C6A90, 255, 0, 255, 127 @ 869D7F0 + voice_directsound 60, 0, DirectSoundWaveData_872CC54, 255, 0, 255, 127 @ 869D7FC + voice_directsound 60, 0, DirectSoundWaveData_872DE98, 255, 0, 255, 127 @ 869D808 + voice_directsound 60, 0, DirectSoundWaveData_86C5B0C, 255, 0, 255, 127 @ 869D814 + voice_noise_alt 0, 0, 7, 15, 1 @ 869D820 + voice_directsound 60, 0, DirectSoundWaveData_872EEA8, 255, 0, 255, 127 @ 869D82C + voice_noise_alt 1, 0, 7, 15, 1 @ 869D838 + voice_directsound 60, 0, DirectSoundWaveData_86B5D04, 255, 246, 0, 127 @ 869D844 + voice_directsound 60, 0, DirectSoundWaveData_87301B0, 255, 0, 255, 127 @ 869D850 + voice_square_1_alt 19, 2, 0, 2, 0, 0 @ 869D85C + voice_directsound 60, 0, DirectSoundWaveData_87322BC, 255, 0, 255, 127 @ 869D868 + voice_square_1 103, 0, 0, 0, 15, 0 @ 869D874 + voice_directsound_alt 60, 0, DirectSoundWaveData_87301B0, 255, 0, 255, 127 @ 869D880 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 255, 255, 127 @ 869D88C + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 0, 255, 127 @ 869D898 + voice_directsound 60, 0, DirectSoundWaveData_8734298, 255, 0, 255, 127 @ 869D8A4 + voice_directsound 60, 0, DirectSoundWaveData_87322BC, 255, 242, 0, 0 @ 869D8B0 + voice_directsound 60, 0, DirectSoundWaveData_87364A8, 255, 0, 255, 0 @ 869D8BC + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 869D8C8 + voice_directsound 60, 0, DirectSoundWaveData_86C8348, 255, 127, 0, 188 @ 869D8D4 + voice_directsound 60, 0, DirectSoundWaveData_87385E4, 255, 249, 0, 165 @ 869D8E0 + voice_square_1 0, 0, 4, 6, 0, 0 @ 869D8EC + voice_directsound 60, 0, DirectSoundWaveData_86B5D04, 13, 0, 255, 127 @ 869D8F8 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 13, 0, 255, 127 @ 869D904 + voice_directsound 60, 0, DirectSoundWaveData_873A594, 255, 0, 255, 127 @ 869D910 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 252, 0, 204 @ 869D91C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869D928 + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 869D934 + voice_square_1 0, 0, 4, 0, 15, 0 @ 869D940 + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 188, 0, 0 @ 869D94C + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 226, 0, 127 @ 869D958 + voice_directsound 60, 0, DirectSoundWaveData_86CB6B8, 26, 0, 255, 127 @ 869D964 + voice_square_1_alt 0, 2, 0, 1, 0, 0 @ 869D970 + voice_directsound 60, 0, DirectSoundWaveData_86B5D04, 255, 252, 0, 127 @ 869D97C + voice_square_1_alt 0, 1, 0, 2, 0, 0 @ 869D988 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 127, 0, 127 @ 869D994 + voice_noise_alt 0, 1, 6, 0, 0 @ 869D9A0 + voice_directsound 60, 0, DirectSoundWaveData_86B776C, 255, 255, 255, 127 @ 869D9AC + voice_directsound 60, 0, DirectSoundWaveData_86C6200, 255, 255, 255, 127 @ 869D9B8 + voice_directsound 60, 0, DirectSoundWaveData_873ECD8, 255, 255, 255, 127 @ 869D9C4 + voice_directsound 60, 0, DirectSoundWaveData_86FB0D8, 11, 242, 0, 127 @ 869D9D0 + voice_square_1_alt 0, 2, 4, 6, 0, 0 @ 869D9DC + voice_directsound 60, 0, DirectSoundWaveData_8740818, 255, 255, 255, 127 @ 869D9E8 + voice_directsound 60, 0, DirectSoundWaveData_87410E0, 255, 0, 255, 165 @ 869D9F4 + voice_directsound 60, 0, DirectSoundWaveData_86C7308, 255, 0, 255, 165 @ 869DA00 + voice_noise_alt 0, 5, 7, 15, 1 @ 869DA0C + voice_directsound 60, 0, DirectSoundWaveData_87224B8, 128, 242, 0, 165 @ 869DA18 + voice_directsound 60, 0, DirectSoundWaveData_86E89E4, 255, 0, 255, 165 @ 869DA24 + voice_square_1 0, 0, 1, 5, 0, 0 @ 869DA30 + voice_noise_alt 0, 6, 6, 0, 1 @ 869DA3C + voice_noise_alt 0, 3, 6, 0, 1 @ 869DA48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DA54 + voice_directsound 60, 0, DirectSoundWaveData_87322BC, 15, 127, 231, 127 @ 869DA60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DA6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DA78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DA84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DA90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DA9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DAA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DAB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DAC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DACC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DAD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DAE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DAF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DAFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DB08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DB14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DB20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DB2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DB38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DB44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DB50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DB5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DB68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DB74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DB80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DB8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DB98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DBA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DBB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DBBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DBC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DBD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DBE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DBEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DBF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DC04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DC10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DC1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DC28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DC34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DC40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DC4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DC58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DC64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DC70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DC7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DC88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DC94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 869DCA0 + voice_directsound 60, 0, DirectSoundWaveData_87424B0, 255, 0, 255, 165 @ 869DCAC + voice_directsound 60, 0, DirectSoundWaveData_87430C0, 255, 0, 255, 165 @ 869DCB8 + voice_directsound 60, 0, DirectSoundWaveData_8743C50, 255, 0, 255, 165 @ 869DCC4 + voice_directsound 60, 0, DirectSoundWaveData_87446EC, 255, 0, 255, 165 @ 869DCD0 + voice_directsound 60, 0, DirectSoundWaveData_8745034, 255, 0, 255, 165 @ 869DCDC + voice_directsound 60, 0, DirectSoundWaveData_8745A7C, 255, 0, 255, 165 @ 869DCE8 + + .align 2 +gCryTable:: @ 869DCF4 + cry Cry_Bulbasaur @ 869DCF4 + cry Cry_Ivysaur @ 869DD00 + cry Cry_Venusaur @ 869DD0C + cry Cry_Charmander @ 869DD18 + cry Cry_Charmeleon @ 869DD24 + cry Cry_Charizard @ 869DD30 + cry Cry_Squirtle @ 869DD3C + cry Cry_Wartortle @ 869DD48 + cry Cry_Blastoise @ 869DD54 + cry Cry_Caterpie @ 869DD60 + cry Cry_Metapod @ 869DD6C + cry Cry_Butterfree @ 869DD78 + cry Cry_Weedle @ 869DD84 + cry Cry_Kakuna @ 869DD90 + cry Cry_Beedrill @ 869DD9C + cry Cry_Pidgey @ 869DDA8 + cry Cry_Pidgeotto @ 869DDB4 + cry Cry_Pidgeot @ 869DDC0 + cry Cry_Rattata @ 869DDCC + cry Cry_Raticate @ 869DDD8 + cry Cry_Spearow @ 869DDE4 + cry Cry_Fearow @ 869DDF0 + cry Cry_Ekans @ 869DDFC + cry Cry_Arbok @ 869DE08 + cry Cry_Pikachu @ 869DE14 + cry Cry_Raichu @ 869DE20 + cry Cry_Sandshrew @ 869DE2C + cry Cry_Sandslash @ 869DE38 + cry Cry_NidoranF @ 869DE44 + cry Cry_Nidorina @ 869DE50 + cry Cry_Nidoqueen @ 869DE5C + cry Cry_NidoranM @ 869DE68 + cry Cry_Nidorino @ 869DE74 + cry Cry_Nidoking @ 869DE80 + cry Cry_Clefairy @ 869DE8C + cry Cry_Clefable @ 869DE98 + cry Cry_Vulpix @ 869DEA4 + cry Cry_Ninetales @ 869DEB0 + cry Cry_Jigglypuff @ 869DEBC + cry Cry_Wigglytuff @ 869DEC8 + cry Cry_Zubat @ 869DED4 + cry Cry_Golbat @ 869DEE0 + cry Cry_Oddish @ 869DEEC + cry Cry_Gloom @ 869DEF8 + cry Cry_Vileplume @ 869DF04 + cry Cry_Paras @ 869DF10 + cry Cry_Parasect @ 869DF1C + cry Cry_Venonat @ 869DF28 + cry Cry_Venomoth @ 869DF34 + cry Cry_Diglett @ 869DF40 + cry Cry_Dugtrio @ 869DF4C + cry Cry_Meowth @ 869DF58 + cry Cry_Persian @ 869DF64 + cry Cry_Psyduck @ 869DF70 + cry Cry_Golduck @ 869DF7C + cry Cry_Mankey @ 869DF88 + cry Cry_Primeape @ 869DF94 + cry Cry_Growlithe @ 869DFA0 + cry Cry_Arcanine @ 869DFAC + cry Cry_Poliwag @ 869DFB8 + cry Cry_Poliwhirl @ 869DFC4 + cry Cry_Poliwrath @ 869DFD0 + cry Cry_Abra @ 869DFDC + cry Cry_Kadabra @ 869DFE8 + cry Cry_Alakazam @ 869DFF4 + cry Cry_Machop @ 869E000 + cry Cry_Machoke @ 869E00C + cry Cry_Machamp @ 869E018 + cry Cry_Bellsprout @ 869E024 + cry Cry_Weepinbell @ 869E030 + cry Cry_Victreebel @ 869E03C + cry Cry_Tentacool @ 869E048 + cry Cry_Tentacruel @ 869E054 + cry Cry_Geodude @ 869E060 + cry Cry_Graveler @ 869E06C + cry Cry_Golem @ 869E078 + cry Cry_Ponyta @ 869E084 + cry Cry_Rapidash @ 869E090 + cry Cry_Slowpoke @ 869E09C + cry Cry_Slowbro @ 869E0A8 + cry Cry_Magnemite @ 869E0B4 + cry Cry_Magneton @ 869E0C0 + cry Cry_Farfetchd @ 869E0CC + cry Cry_Doduo @ 869E0D8 + cry Cry_Dodrio @ 869E0E4 + cry Cry_Seel @ 869E0F0 + cry Cry_Dewgong @ 869E0FC + cry Cry_Grimer @ 869E108 + cry Cry_Muk @ 869E114 + cry Cry_Shellder @ 869E120 + cry Cry_Cloyster @ 869E12C + cry Cry_Gastly @ 869E138 + cry Cry_Haunter @ 869E144 + cry Cry_Gengar @ 869E150 + cry Cry_Onix @ 869E15C + cry Cry_Drowzee @ 869E168 + cry Cry_Hypno @ 869E174 + cry Cry_Krabby @ 869E180 + cry Cry_Kingler @ 869E18C + cry Cry_Voltorb @ 869E198 + cry Cry_Electrode @ 869E1A4 + cry Cry_Exeggcute @ 869E1B0 + cry Cry_Exeggutor @ 869E1BC + cry Cry_Cubone @ 869E1C8 + cry Cry_Marowak @ 869E1D4 + cry Cry_Hitmonlee @ 869E1E0 + cry Cry_Hitmonchan @ 869E1EC + cry Cry_Lickitung @ 869E1F8 + cry Cry_Koffing @ 869E204 + cry Cry_Weezing @ 869E210 + cry Cry_Rhyhorn @ 869E21C + cry Cry_Rhydon @ 869E228 + cry Cry_Chansey @ 869E234 + cry Cry_Tangela @ 869E240 + cry Cry_Kangaskhan @ 869E24C + cry Cry_Horsea @ 869E258 + cry Cry_Seadra @ 869E264 + cry Cry_Goldeen @ 869E270 + cry Cry_Seaking @ 869E27C + cry Cry_Staryu @ 869E288 + cry Cry_Starmie @ 869E294 + cry Cry_MrMime @ 869E2A0 + cry Cry_Scyther @ 869E2AC + cry Cry_Jynx @ 869E2B8 + cry Cry_Electabuzz @ 869E2C4 + cry Cry_Magmar @ 869E2D0 + cry Cry_Pinsir @ 869E2DC + cry Cry_Tauros @ 869E2E8 + cry Cry_Magikarp @ 869E2F4 + cry Cry_Gyarados @ 869E300 + cry Cry_Lapras @ 869E30C + cry Cry_Ditto @ 869E318 + cry Cry_Eevee @ 869E324 + cry Cry_Vaporeon @ 869E330 + cry Cry_Jolteon @ 869E33C + cry Cry_Flareon @ 869E348 + cry Cry_Porygon @ 869E354 + cry Cry_Omanyte @ 869E360 + cry Cry_Omastar @ 869E36C + cry Cry_Kabuto @ 869E378 + cry Cry_Kabutops @ 869E384 + cry Cry_Aerodactyl @ 869E390 + cry Cry_Snorlax @ 869E39C + cry Cry_Articuno @ 869E3A8 + cry Cry_Zapdos @ 869E3B4 + cry Cry_Moltres @ 869E3C0 + cry Cry_Dratini @ 869E3CC + cry Cry_Dragonair @ 869E3D8 + cry Cry_Dragonite @ 869E3E4 + cry Cry_Mewtwo @ 869E3F0 + cry Cry_Mew @ 869E3FC + cry Cry_Chikorita @ 869E408 + cry Cry_Bayleef @ 869E414 + cry Cry_Meganium @ 869E420 + cry Cry_Cyndaquil @ 869E42C + cry Cry_Quilava @ 869E438 + cry Cry_Typhlosion @ 869E444 + cry Cry_Totodile @ 869E450 + cry Cry_Croconaw @ 869E45C + cry Cry_Feraligatr @ 869E468 + cry Cry_Sentret @ 869E474 + cry Cry_Furret @ 869E480 + cry Cry_Hoothoot @ 869E48C + cry Cry_Noctowl @ 869E498 + cry Cry_Ledyba @ 869E4A4 + cry Cry_Ledian @ 869E4B0 + cry Cry_Spinarak @ 869E4BC + cry Cry_Ariados @ 869E4C8 + cry Cry_Crobat @ 869E4D4 + cry Cry_Chinchou @ 869E4E0 + cry Cry_Lanturn @ 869E4EC + cry Cry_Pichu @ 869E4F8 + cry Cry_Cleffa @ 869E504 + cry Cry_Igglybuff @ 869E510 + cry Cry_Togepi @ 869E51C + cry Cry_Togetic @ 869E528 + cry Cry_Natu @ 869E534 + cry Cry_Xatu @ 869E540 + cry Cry_Mareep @ 869E54C + cry Cry_Flaaffy @ 869E558 + cry Cry_Ampharos @ 869E564 + cry Cry_Bellossom @ 869E570 + cry Cry_Marill @ 869E57C + cry Cry_Azumarill @ 869E588 + cry Cry_Sudowoodo @ 869E594 + cry Cry_Politoed @ 869E5A0 + cry Cry_Hoppip @ 869E5AC + cry Cry_Skiploom @ 869E5B8 + cry Cry_Jumpluff @ 869E5C4 + cry Cry_Aipom @ 869E5D0 + cry Cry_Sunkern @ 869E5DC + cry Cry_Sunflora @ 869E5E8 + cry Cry_Yanma @ 869E5F4 + cry Cry_Wooper @ 869E600 + cry Cry_Quagsire @ 869E60C + cry Cry_Espeon @ 869E618 + cry Cry_Umbreon @ 869E624 + cry Cry_Murkrow @ 869E630 + cry Cry_Slowking @ 869E63C + cry Cry_Misdreavus @ 869E648 + cry Cry_Unown @ 869E654 + cry Cry_Wobbuffet @ 869E660 + cry Cry_Girafarig @ 869E66C + cry Cry_Pineco @ 869E678 + cry Cry_Forretress @ 869E684 + cry Cry_Dunsparce @ 869E690 + cry Cry_Gligar @ 869E69C + cry Cry_Steelix @ 869E6A8 + cry Cry_Snubbull @ 869E6B4 + cry Cry_Granbull @ 869E6C0 + cry Cry_Qwilfish @ 869E6CC + cry Cry_Scizor @ 869E6D8 + cry Cry_Shuckle @ 869E6E4 + cry Cry_Heracross @ 869E6F0 + cry Cry_Sneasel @ 869E6FC + cry Cry_Teddiursa @ 869E708 + cry Cry_Ursaring @ 869E714 + cry Cry_Slugma @ 869E720 + cry Cry_Magcargo @ 869E72C + cry Cry_Swinub @ 869E738 + cry Cry_Piloswine @ 869E744 + cry Cry_Corsola @ 869E750 + cry Cry_Remoraid @ 869E75C + cry Cry_Octillery @ 869E768 + cry Cry_Delibird @ 869E774 + cry Cry_Mantine @ 869E780 + cry Cry_Skarmory @ 869E78C + cry Cry_Houndour @ 869E798 + cry Cry_Houndoom @ 869E7A4 + cry Cry_Kingdra @ 869E7B0 + cry Cry_Phanpy @ 869E7BC + cry Cry_Donphan @ 869E7C8 + cry Cry_Porygon2 @ 869E7D4 + cry Cry_Stantler @ 869E7E0 + cry Cry_Smeargle @ 869E7EC + cry Cry_Tyrogue @ 869E7F8 + cry Cry_Hitmontop @ 869E804 + cry Cry_Smoochum @ 869E810 + cry Cry_Elekid @ 869E81C + cry Cry_Magby @ 869E828 + cry Cry_Miltank @ 869E834 + cry Cry_Blissey @ 869E840 + cry Cry_Raikou @ 869E84C + cry Cry_Entei @ 869E858 + cry Cry_Suicune @ 869E864 + cry Cry_Larvitar @ 869E870 + cry Cry_Pupitar @ 869E87C + cry Cry_Tyranitar @ 869E888 + cry Cry_Lugia @ 869E894 + cry Cry_HoOh @ 869E8A0 + cry Cry_Celebi @ 869E8AC + cry Cry_Kecleon @ 869E8B8 + cry Cry_Roselia @ 869E8C4 + cry Cry_Torkoal @ 869E8D0 + cry Cry_Electrike @ 869E8DC + cry Cry_Manectric @ 869E8E8 + cry Cry_Duskull @ 869E8F4 + cry Cry_Latias @ 869E900 + cry Cry_Wynaut @ 869E90C + cry Cry_Seviper @ 869E918 + cry Cry_Sharpedo @ 869E924 + cry Cry_Zangoose @ 869E930 + cry Cry_Azurill @ 869E93C + cry Cry_Swablu @ 869E948 + cry Cry_Altaria @ 869E954 + cry Cry_Unused265 @ 869E960 + cry Cry_Taillow @ 869E96C + cry Cry_Swellow @ 869E978 + cry Cry_Unused268 @ 869E984 + cry Cry_Spinda @ 869E990 + cry Cry_Torchic @ 869E99C + cry Cry_Combusken @ 869E9A8 + cry Cry_Blaziken @ 869E9B4 + cry Cry_Treecko @ 869E9C0 + cry Cry_Grovyle @ 869E9CC + cry Cry_Sceptile @ 869E9D8 + cry Cry_Mudkip @ 869E9E4 + cry Cry_Marshtomp @ 869E9F0 + cry Cry_Swampert @ 869E9FC + cry Cry_Pelipper @ 869EA08 + cry Cry_Wingull @ 869EA14 + cry Cry_Banette @ 869EA20 + cry Cry_Shuppet @ 869EA2C + cry Cry_Lotad @ 869EA38 + cry Cry_Lombre @ 869EA44 + cry Cry_Ludicolo @ 869EA50 + cry Cry_Seedot @ 869EA5C + cry Cry_Nuzleaf @ 869EA68 + cry Cry_Shiftry @ 869EA74 + cry Cry_Carvanha @ 869EA80 + cry Cry_Wurmple @ 869EA8C + cry Cry_Silcoon @ 869EA98 + cry Cry_Beautifly @ 869EAA4 + cry Cry_Cascoon @ 869EAB0 + cry Cry_Dustox @ 869EABC + cry Cry_Ralts @ 869EAC8 + cry Cry_Kirlia @ 869EAD4 + cry Cry_Gardevoir @ 869EAE0 + cry Cry_Slakoth @ 869EAEC + cry Cry_Vigoroth @ 869EAF8 + cry Cry_Slaking @ 869EB04 + cry Cry_Nincada @ 869EB10 + cry Cry_Ninjask @ 869EB1C + cry Cry_Shedinja @ 869EB28 + cry Cry_Makuhita @ 869EB34 + cry Cry_Hariyama @ 869EB40 + cry Cry_Nosepass @ 869EB4C + cry Cry_Glalie @ 869EB58 + cry Cry_Plusle @ 869EB64 + cry Cry_Minun @ 869EB70 + cry Cry_Surskit @ 869EB7C + cry Cry_Masquerain @ 869EB88 + cry Cry_Skitty @ 869EB94 + cry Cry_Delcatty @ 869EBA0 + cry Cry_Gulpin @ 869EBAC + cry Cry_Swalot @ 869EBB8 + cry Cry_Numel @ 869EBC4 + cry Cry_Camerupt @ 869EBD0 + cry Cry_Barboach @ 869EBDC + cry Cry_Whiscash @ 869EBE8 + cry Cry_Corphish @ 869EBF4 + cry Cry_Crawdaunt @ 869EC00 + cry Cry_Spoink @ 869EC0C + cry Cry_Grumpig @ 869EC18 + cry Cry_Trapinch @ 869EC24 + cry Cry_Vibrava @ 869EC30 + cry Cry_Flygon @ 869EC3C + cry Cry_Cacnea @ 869EC48 + cry Cry_Cacturne @ 869EC54 + cry Cry_Baltoy @ 869EC60 + cry Cry_Claydol @ 869EC6C + cry Cry_Lunatone @ 869EC78 + cry Cry_Solrock @ 869EC84 + cry Cry_Feebas @ 869EC90 + cry Cry_Milotic @ 869EC9C + cry Cry_Absol @ 869ECA8 + cry Cry_Meditite @ 869ECB4 + cry Cry_Medicham @ 869ECC0 + cry Cry_Spheal @ 869ECCC + cry Cry_Sealeo @ 869ECD8 + cry Cry_Walrein @ 869ECE4 + cry Cry_Clamperl @ 869ECF0 + cry Cry_Huntail @ 869ECFC + cry Cry_Gorebyss @ 869ED08 + cry Cry_Lileep @ 869ED14 + cry Cry_Cradily @ 869ED20 + cry Cry_Anorith @ 869ED2C + cry Cry_Armaldo @ 869ED38 + cry Cry_Beldum @ 869ED44 + cry Cry_Metang @ 869ED50 + cry Cry_Metagross @ 869ED5C + cry Cry_Bagon @ 869ED68 + cry Cry_Shelgon @ 869ED74 + cry Cry_Regirock @ 869ED80 + cry Cry_Regice @ 869ED8C + cry Cry_Registeel @ 869ED98 + cry Cry_Castform @ 869EDA4 + cry Cry_Volbeat @ 869EDB0 + cry Cry_Illumise @ 869EDBC + cry Cry_Poochyena @ 869EDC8 + cry Cry_Mightyena @ 869EDD4 + cry Cry_Dusclops @ 869EDE0 + cry Cry_Sableye @ 869EDEC + cry Cry_Mawile @ 869EDF8 + cry Cry_Aron @ 869EE04 + cry Cry_Lairon @ 869EE10 + cry Cry_Aggron @ 869EE1C + cry Cry_Relicanth @ 869EE28 + cry Cry_Luvdisc @ 869EE34 + cry Cry_Groudon @ 869EE40 + cry Cry_Kyogre @ 869EE4C + cry Cry_Rayquaza @ 869EE58 + cry Cry_Salamence @ 869EE64 + cry Cry_Breloom @ 869EE70 + cry Cry_Shroomish @ 869EE7C + cry Cry_Linoone @ 869EE88 + cry Cry_Tropius @ 869EE94 + cry Cry_Wailmer @ 869EEA0 + cry Cry_Zigzagoon @ 869EEAC + cry Cry_Exploud @ 869EEB8 + cry Cry_Loudred @ 869EEC4 + cry Cry_Wailord @ 869EED0 + cry Cry_Whismur @ 869EEDC + cry Cry_Snorunt @ 869EEE8 + cry Cry_Latios @ 869EEF4 + cry Cry_Jirachi @ 869EF00 + cry Cry_Deoxys @ 869EF0C + cry Cry_Chimecho @ 869EF18 + + .align 2 +gCryTable2:: @ 869EF24 + cry2 Cry_Bulbasaur @ 869EF24 + cry2 Cry_Ivysaur @ 869EF30 + cry2 Cry_Venusaur @ 869EF3C + cry2 Cry_Charmander @ 869EF48 + cry2 Cry_Charmeleon @ 869EF54 + cry2 Cry_Charizard @ 869EF60 + cry2 Cry_Squirtle @ 869EF6C + cry2 Cry_Wartortle @ 869EF78 + cry2 Cry_Blastoise @ 869EF84 + cry2 Cry_Caterpie @ 869EF90 + cry2 Cry_Metapod @ 869EF9C + cry2 Cry_Butterfree @ 869EFA8 + cry2 Cry_Weedle @ 869EFB4 + cry2 Cry_Kakuna @ 869EFC0 + cry2 Cry_Beedrill @ 869EFCC + cry2 Cry_Pidgey @ 869EFD8 + cry2 Cry_Pidgeotto @ 869EFE4 + cry2 Cry_Pidgeot @ 869EFF0 + cry2 Cry_Rattata @ 869EFFC + cry2 Cry_Raticate @ 869F008 + cry2 Cry_Spearow @ 869F014 + cry2 Cry_Fearow @ 869F020 + cry2 Cry_Ekans @ 869F02C + cry2 Cry_Arbok @ 869F038 + cry2 Cry_Pikachu @ 869F044 + cry2 Cry_Raichu @ 869F050 + cry2 Cry_Sandshrew @ 869F05C + cry2 Cry_Sandslash @ 869F068 + cry2 Cry_NidoranF @ 869F074 + cry2 Cry_Nidorina @ 869F080 + cry2 Cry_Nidoqueen @ 869F08C + cry2 Cry_NidoranM @ 869F098 + cry2 Cry_Nidorino @ 869F0A4 + cry2 Cry_Nidoking @ 869F0B0 + cry2 Cry_Clefairy @ 869F0BC + cry2 Cry_Clefable @ 869F0C8 + cry2 Cry_Vulpix @ 869F0D4 + cry2 Cry_Ninetales @ 869F0E0 + cry2 Cry_Jigglypuff @ 869F0EC + cry2 Cry_Wigglytuff @ 869F0F8 + cry2 Cry_Zubat @ 869F104 + cry2 Cry_Golbat @ 869F110 + cry2 Cry_Oddish @ 869F11C + cry2 Cry_Gloom @ 869F128 + cry2 Cry_Vileplume @ 869F134 + cry2 Cry_Paras @ 869F140 + cry2 Cry_Parasect @ 869F14C + cry2 Cry_Venonat @ 869F158 + cry2 Cry_Venomoth @ 869F164 + cry2 Cry_Diglett @ 869F170 + cry2 Cry_Dugtrio @ 869F17C + cry2 Cry_Meowth @ 869F188 + cry2 Cry_Persian @ 869F194 + cry2 Cry_Psyduck @ 869F1A0 + cry2 Cry_Golduck @ 869F1AC + cry2 Cry_Mankey @ 869F1B8 + cry2 Cry_Primeape @ 869F1C4 + cry2 Cry_Growlithe @ 869F1D0 + cry2 Cry_Arcanine @ 869F1DC + cry2 Cry_Poliwag @ 869F1E8 + cry2 Cry_Poliwhirl @ 869F1F4 + cry2 Cry_Poliwrath @ 869F200 + cry2 Cry_Abra @ 869F20C + cry2 Cry_Kadabra @ 869F218 + cry2 Cry_Alakazam @ 869F224 + cry2 Cry_Machop @ 869F230 + cry2 Cry_Machoke @ 869F23C + cry2 Cry_Machamp @ 869F248 + cry2 Cry_Bellsprout @ 869F254 + cry2 Cry_Weepinbell @ 869F260 + cry2 Cry_Victreebel @ 869F26C + cry2 Cry_Tentacool @ 869F278 + cry2 Cry_Tentacruel @ 869F284 + cry2 Cry_Geodude @ 869F290 + cry2 Cry_Graveler @ 869F29C + cry2 Cry_Golem @ 869F2A8 + cry2 Cry_Ponyta @ 869F2B4 + cry2 Cry_Rapidash @ 869F2C0 + cry2 Cry_Slowpoke @ 869F2CC + cry2 Cry_Slowbro @ 869F2D8 + cry2 Cry_Magnemite @ 869F2E4 + cry2 Cry_Magneton @ 869F2F0 + cry2 Cry_Farfetchd @ 869F2FC + cry2 Cry_Doduo @ 869F308 + cry2 Cry_Dodrio @ 869F314 + cry2 Cry_Seel @ 869F320 + cry2 Cry_Dewgong @ 869F32C + cry2 Cry_Grimer @ 869F338 + cry2 Cry_Muk @ 869F344 + cry2 Cry_Shellder @ 869F350 + cry2 Cry_Cloyster @ 869F35C + cry2 Cry_Gastly @ 869F368 + cry2 Cry_Haunter @ 869F374 + cry2 Cry_Gengar @ 869F380 + cry2 Cry_Onix @ 869F38C + cry2 Cry_Drowzee @ 869F398 + cry2 Cry_Hypno @ 869F3A4 + cry2 Cry_Krabby @ 869F3B0 + cry2 Cry_Kingler @ 869F3BC + cry2 Cry_Voltorb @ 869F3C8 + cry2 Cry_Electrode @ 869F3D4 + cry2 Cry_Exeggcute @ 869F3E0 + cry2 Cry_Exeggutor @ 869F3EC + cry2 Cry_Cubone @ 869F3F8 + cry2 Cry_Marowak @ 869F404 + cry2 Cry_Hitmonlee @ 869F410 + cry2 Cry_Hitmonchan @ 869F41C + cry2 Cry_Lickitung @ 869F428 + cry2 Cry_Koffing @ 869F434 + cry2 Cry_Weezing @ 869F440 + cry2 Cry_Rhyhorn @ 869F44C + cry2 Cry_Rhydon @ 869F458 + cry2 Cry_Chansey @ 869F464 + cry2 Cry_Tangela @ 869F470 + cry2 Cry_Kangaskhan @ 869F47C + cry2 Cry_Horsea @ 869F488 + cry2 Cry_Seadra @ 869F494 + cry2 Cry_Goldeen @ 869F4A0 + cry2 Cry_Seaking @ 869F4AC + cry2 Cry_Staryu @ 869F4B8 + cry2 Cry_Starmie @ 869F4C4 + cry2 Cry_MrMime @ 869F4D0 + cry2 Cry_Scyther @ 869F4DC + cry2 Cry_Jynx @ 869F4E8 + cry2 Cry_Electabuzz @ 869F4F4 + cry2 Cry_Magmar @ 869F500 + cry2 Cry_Pinsir @ 869F50C + cry2 Cry_Tauros @ 869F518 + cry2 Cry_Magikarp @ 869F524 + cry2 Cry_Gyarados @ 869F530 + cry2 Cry_Lapras @ 869F53C + cry2 Cry_Ditto @ 869F548 + cry2 Cry_Eevee @ 869F554 + cry2 Cry_Vaporeon @ 869F560 + cry2 Cry_Jolteon @ 869F56C + cry2 Cry_Flareon @ 869F578 + cry2 Cry_Porygon @ 869F584 + cry2 Cry_Omanyte @ 869F590 + cry2 Cry_Omastar @ 869F59C + cry2 Cry_Kabuto @ 869F5A8 + cry2 Cry_Kabutops @ 869F5B4 + cry2 Cry_Aerodactyl @ 869F5C0 + cry2 Cry_Snorlax @ 869F5CC + cry2 Cry_Articuno @ 869F5D8 + cry2 Cry_Zapdos @ 869F5E4 + cry2 Cry_Moltres @ 869F5F0 + cry2 Cry_Dratini @ 869F5FC + cry2 Cry_Dragonair @ 869F608 + cry2 Cry_Dragonite @ 869F614 + cry2 Cry_Mewtwo @ 869F620 + cry2 Cry_Mew @ 869F62C + cry2 Cry_Chikorita @ 869F638 + cry2 Cry_Bayleef @ 869F644 + cry2 Cry_Meganium @ 869F650 + cry2 Cry_Cyndaquil @ 869F65C + cry2 Cry_Quilava @ 869F668 + cry2 Cry_Typhlosion @ 869F674 + cry2 Cry_Totodile @ 869F680 + cry2 Cry_Croconaw @ 869F68C + cry2 Cry_Feraligatr @ 869F698 + cry2 Cry_Sentret @ 869F6A4 + cry2 Cry_Furret @ 869F6B0 + cry2 Cry_Hoothoot @ 869F6BC + cry2 Cry_Noctowl @ 869F6C8 + cry2 Cry_Ledyba @ 869F6D4 + cry2 Cry_Ledian @ 869F6E0 + cry2 Cry_Spinarak @ 869F6EC + cry2 Cry_Ariados @ 869F6F8 + cry2 Cry_Crobat @ 869F704 + cry2 Cry_Chinchou @ 869F710 + cry2 Cry_Lanturn @ 869F71C + cry2 Cry_Pichu @ 869F728 + cry2 Cry_Cleffa @ 869F734 + cry2 Cry_Igglybuff @ 869F740 + cry2 Cry_Togepi @ 869F74C + cry2 Cry_Togetic @ 869F758 + cry2 Cry_Natu @ 869F764 + cry2 Cry_Xatu @ 869F770 + cry2 Cry_Mareep @ 869F77C + cry2 Cry_Flaaffy @ 869F788 + cry2 Cry_Ampharos @ 869F794 + cry2 Cry_Bellossom @ 869F7A0 + cry2 Cry_Marill @ 869F7AC + cry2 Cry_Azumarill @ 869F7B8 + cry2 Cry_Sudowoodo @ 869F7C4 + cry2 Cry_Politoed @ 869F7D0 + cry2 Cry_Hoppip @ 869F7DC + cry2 Cry_Skiploom @ 869F7E8 + cry2 Cry_Jumpluff @ 869F7F4 + cry2 Cry_Aipom @ 869F800 + cry2 Cry_Sunkern @ 869F80C + cry2 Cry_Sunflora @ 869F818 + cry2 Cry_Yanma @ 869F824 + cry2 Cry_Wooper @ 869F830 + cry2 Cry_Quagsire @ 869F83C + cry2 Cry_Espeon @ 869F848 + cry2 Cry_Umbreon @ 869F854 + cry2 Cry_Murkrow @ 869F860 + cry2 Cry_Slowking @ 869F86C + cry2 Cry_Misdreavus @ 869F878 + cry2 Cry_Unown @ 869F884 + cry2 Cry_Wobbuffet @ 869F890 + cry2 Cry_Girafarig @ 869F89C + cry2 Cry_Pineco @ 869F8A8 + cry2 Cry_Forretress @ 869F8B4 + cry2 Cry_Dunsparce @ 869F8C0 + cry2 Cry_Gligar @ 869F8CC + cry2 Cry_Steelix @ 869F8D8 + cry2 Cry_Snubbull @ 869F8E4 + cry2 Cry_Granbull @ 869F8F0 + cry2 Cry_Qwilfish @ 869F8FC + cry2 Cry_Scizor @ 869F908 + cry2 Cry_Shuckle @ 869F914 + cry2 Cry_Heracross @ 869F920 + cry2 Cry_Sneasel @ 869F92C + cry2 Cry_Teddiursa @ 869F938 + cry2 Cry_Ursaring @ 869F944 + cry2 Cry_Slugma @ 869F950 + cry2 Cry_Magcargo @ 869F95C + cry2 Cry_Swinub @ 869F968 + cry2 Cry_Piloswine @ 869F974 + cry2 Cry_Corsola @ 869F980 + cry2 Cry_Remoraid @ 869F98C + cry2 Cry_Octillery @ 869F998 + cry2 Cry_Delibird @ 869F9A4 + cry2 Cry_Mantine @ 869F9B0 + cry2 Cry_Skarmory @ 869F9BC + cry2 Cry_Houndour @ 869F9C8 + cry2 Cry_Houndoom @ 869F9D4 + cry2 Cry_Kingdra @ 869F9E0 + cry2 Cry_Phanpy @ 869F9EC + cry2 Cry_Donphan @ 869F9F8 + cry2 Cry_Porygon2 @ 869FA04 + cry2 Cry_Stantler @ 869FA10 + cry2 Cry_Smeargle @ 869FA1C + cry2 Cry_Tyrogue @ 869FA28 + cry2 Cry_Hitmontop @ 869FA34 + cry2 Cry_Smoochum @ 869FA40 + cry2 Cry_Elekid @ 869FA4C + cry2 Cry_Magby @ 869FA58 + cry2 Cry_Miltank @ 869FA64 + cry2 Cry_Blissey @ 869FA70 + cry2 Cry_Raikou @ 869FA7C + cry2 Cry_Entei @ 869FA88 + cry2 Cry_Suicune @ 869FA94 + cry2 Cry_Larvitar @ 869FAA0 + cry2 Cry_Pupitar @ 869FAAC + cry2 Cry_Tyranitar @ 869FAB8 + cry2 Cry_Lugia @ 869FAC4 + cry2 Cry_HoOh @ 869FAD0 + cry2 Cry_Celebi @ 869FADC + cry2 Cry_Kecleon @ 869FAE8 + cry2 Cry_Roselia @ 869FAF4 + cry2 Cry_Torkoal @ 869FB00 + cry2 Cry_Electrike @ 869FB0C + cry2 Cry_Manectric @ 869FB18 + cry2 Cry_Duskull @ 869FB24 + cry2 Cry_Latias @ 869FB30 + cry2 Cry_Wynaut @ 869FB3C + cry2 Cry_Seviper @ 869FB48 + cry2 Cry_Sharpedo @ 869FB54 + cry2 Cry_Zangoose @ 869FB60 + cry2 Cry_Azurill @ 869FB6C + cry2 Cry_Swablu @ 869FB78 + cry2 Cry_Altaria @ 869FB84 + cry2 Cry_Unused265 @ 869FB90 + cry2 Cry_Taillow @ 869FB9C + cry2 Cry_Swellow @ 869FBA8 + cry2 Cry_Unused268 @ 869FBB4 + cry2 Cry_Spinda @ 869FBC0 + cry2 Cry_Torchic @ 869FBCC + cry2 Cry_Combusken @ 869FBD8 + cry2 Cry_Blaziken @ 869FBE4 + cry2 Cry_Treecko @ 869FBF0 + cry2 Cry_Grovyle @ 869FBFC + cry2 Cry_Sceptile @ 869FC08 + cry2 Cry_Mudkip @ 869FC14 + cry2 Cry_Marshtomp @ 869FC20 + cry2 Cry_Swampert @ 869FC2C + cry2 Cry_Pelipper @ 869FC38 + cry2 Cry_Wingull @ 869FC44 + cry2 Cry_Banette @ 869FC50 + cry2 Cry_Shuppet @ 869FC5C + cry2 Cry_Lotad @ 869FC68 + cry2 Cry_Lombre @ 869FC74 + cry2 Cry_Ludicolo @ 869FC80 + cry2 Cry_Seedot @ 869FC8C + cry2 Cry_Nuzleaf @ 869FC98 + cry2 Cry_Shiftry @ 869FCA4 + cry2 Cry_Carvanha @ 869FCB0 + cry2 Cry_Wurmple @ 869FCBC + cry2 Cry_Silcoon @ 869FCC8 + cry2 Cry_Beautifly @ 869FCD4 + cry2 Cry_Cascoon @ 869FCE0 + cry2 Cry_Dustox @ 869FCEC + cry2 Cry_Ralts @ 869FCF8 + cry2 Cry_Kirlia @ 869FD04 + cry2 Cry_Gardevoir @ 869FD10 + cry2 Cry_Slakoth @ 869FD1C + cry2 Cry_Vigoroth @ 869FD28 + cry2 Cry_Slaking @ 869FD34 + cry2 Cry_Nincada @ 869FD40 + cry2 Cry_Ninjask @ 869FD4C + cry2 Cry_Shedinja @ 869FD58 + cry2 Cry_Makuhita @ 869FD64 + cry2 Cry_Hariyama @ 869FD70 + cry2 Cry_Nosepass @ 869FD7C + cry2 Cry_Glalie @ 869FD88 + cry2 Cry_Plusle @ 869FD94 + cry2 Cry_Minun @ 869FDA0 + cry2 Cry_Surskit @ 869FDAC + cry2 Cry_Masquerain @ 869FDB8 + cry2 Cry_Skitty @ 869FDC4 + cry2 Cry_Delcatty @ 869FDD0 + cry2 Cry_Gulpin @ 869FDDC + cry2 Cry_Swalot @ 869FDE8 + cry2 Cry_Numel @ 869FDF4 + cry2 Cry_Camerupt @ 869FE00 + cry2 Cry_Barboach @ 869FE0C + cry2 Cry_Whiscash @ 869FE18 + cry2 Cry_Corphish @ 869FE24 + cry2 Cry_Crawdaunt @ 869FE30 + cry2 Cry_Spoink @ 869FE3C + cry2 Cry_Grumpig @ 869FE48 + cry2 Cry_Trapinch @ 869FE54 + cry2 Cry_Vibrava @ 869FE60 + cry2 Cry_Flygon @ 869FE6C + cry2 Cry_Cacnea @ 869FE78 + cry2 Cry_Cacturne @ 869FE84 + cry2 Cry_Baltoy @ 869FE90 + cry2 Cry_Claydol @ 869FE9C + cry2 Cry_Lunatone @ 869FEA8 + cry2 Cry_Solrock @ 869FEB4 + cry2 Cry_Feebas @ 869FEC0 + cry2 Cry_Milotic @ 869FECC + cry2 Cry_Absol @ 869FED8 + cry2 Cry_Meditite @ 869FEE4 + cry2 Cry_Medicham @ 869FEF0 + cry2 Cry_Spheal @ 869FEFC + cry2 Cry_Sealeo @ 869FF08 + cry2 Cry_Walrein @ 869FF14 + cry2 Cry_Clamperl @ 869FF20 + cry2 Cry_Huntail @ 869FF2C + cry2 Cry_Gorebyss @ 869FF38 + cry2 Cry_Lileep @ 869FF44 + cry2 Cry_Cradily @ 869FF50 + cry2 Cry_Anorith @ 869FF5C + cry2 Cry_Armaldo @ 869FF68 + cry2 Cry_Beldum @ 869FF74 + cry2 Cry_Metang @ 869FF80 + cry2 Cry_Metagross @ 869FF8C + cry2 Cry_Bagon @ 869FF98 + cry2 Cry_Shelgon @ 869FFA4 + cry2 Cry_Regirock @ 869FFB0 + cry2 Cry_Regice @ 869FFBC + cry2 Cry_Registeel @ 869FFC8 + cry2 Cry_Castform @ 869FFD4 + cry2 Cry_Volbeat @ 869FFE0 + cry2 Cry_Illumise @ 869FFEC + cry2 Cry_Poochyena @ 869FFF8 + cry2 Cry_Mightyena @ 86A0004 + cry2 Cry_Dusclops @ 86A0010 + cry2 Cry_Sableye @ 86A001C + cry2 Cry_Mawile @ 86A0028 + cry2 Cry_Aron @ 86A0034 + cry2 Cry_Lairon @ 86A0040 + cry2 Cry_Aggron @ 86A004C + cry2 Cry_Relicanth @ 86A0058 + cry2 Cry_Luvdisc @ 86A0064 + cry2 Cry_Groudon @ 86A0070 + cry2 Cry_Kyogre @ 86A007C + cry2 Cry_Rayquaza @ 86A0088 + cry2 Cry_Salamence @ 86A0094 + cry2 Cry_Breloom @ 86A00A0 + cry2 Cry_Shroomish @ 86A00AC + cry2 Cry_Linoone @ 86A00B8 + cry2 Cry_Tropius @ 86A00C4 + cry2 Cry_Wailmer @ 86A00D0 + cry2 Cry_Zigzagoon @ 86A00DC + cry2 Cry_Exploud @ 86A00E8 + cry2 Cry_Loudred @ 86A00F4 + cry2 Cry_Wailord @ 86A0100 + cry2 Cry_Whismur @ 86A010C + cry2 Cry_Snorunt @ 86A0118 + cry2 Cry_Latios @ 86A0124 + cry2 Cry_Jirachi @ 86A0130 + cry2 Cry_Deoxys @ 86A013C + cry2 Cry_Chimecho @ 86A0148 + + .align 2 +voicegroup_86A0154:: @ 86A0154 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0154 + voice_directsound 60, 0, DirectSoundWaveData_86CC5E4, 255, 0, 255, 0 @ 86A0160 + voice_directsound 60, 0, DirectSoundWaveData_86CCAFC, 255, 0, 255, 0 @ 86A016C + voice_directsound 60, 0, DirectSoundWaveData_86C6200, 255, 226, 25, 0 @ 86A0178 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0184 + voice_directsound 60, 0, DirectSoundWaveData_8725A2C, 255, 0, 255, 165 @ 86A0190 + voice_directsound 60, 0, DirectSoundWaveData_86D1A2C, 255, 165, 103, 231 @ 86A019C + voice_directsound 60, 0, DirectSoundWaveData_86DAA94, 255, 204, 128, 249 @ 86A01A8 + voice_directsound 60, 0, DirectSoundWaveData_88D4A18, 255, 0, 255, 76 @ 86A01B4 + voice_directsound 60, 0, DirectSoundWaveData_88D6978, 255, 0, 206, 204 @ 86A01C0 + voice_directsound 60, 0, DirectSoundWaveData_86C2A68, 255, 0, 206, 38 @ 86A01CC + voice_directsound 60, 0, DirectSoundWaveData_86C4344, 255, 0, 206, 0 @ 86A01D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A01E4 + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 216 @ 86A01F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A01FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0208 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0214 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0220 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A022C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0238 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0244 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0250 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A025C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0268 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 165, 128, 204 @ 86A0274 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0280 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A028C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0298 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02BC + voice_directsound 60, 0, DirectSoundWaveData_88DA388, 255, 0, 255, 165 @ 86A02C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A02F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0304 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0310 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 86A031C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0328 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0334 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0340 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A034C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0358 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0364 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0370 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 252, 0, 204 @ 86A037C + voice_directsound 60, 0, DirectSoundWaveData_87410E0, 255, 0, 255, 165 @ 86A0388 + voice_directsound 60, 0, DirectSoundWaveData_87224B8, 255, 204, 0, 127 @ 86A0394 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A03A0 + voice_square_1_alt 0, 2, 0, 0, 15, 0 @ 86A03AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A03B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A03C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A03D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A03DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A03E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A03F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0400 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86A040C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0418 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0424 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0430 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A043C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0448 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0454 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0460 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A046C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0478 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0484 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0490 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A049C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A04A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A04B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A04C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A04CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A04D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A04E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A04F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A04FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0508 + voice_square_1_alt 0, 2, 0, 0, 10, 4 @ 86A0514 + voice_square_1_alt 0, 3, 0, 0, 10, 3 @ 86A0520 + voice_square_1_alt 0, 2, 0, 0, 10, 1 @ 86A052C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0538 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0544 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0550 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A055C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0568 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0574 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0580 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A058C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0598 + voice_square_1_alt 0, 0, 0, 0, 15, 1 @ 86A05A4 + voice_square_1_alt 0, 0, 0, 2, 5, 6 @ 86A05B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A05BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A05C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A05D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A05E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A05EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A05F8 + voice_square_1_alt 29, 2, 0, 2, 0, 0 @ 86A0604 + voice_square_1_alt 22, 2, 0, 2, 0, 0 @ 86A0610 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A061C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0628 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0634 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0640 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A064C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0658 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0664 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0670 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A067C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0688 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0694 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A06A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A06AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A06B8 + voice_directsound 60, 0, DirectSoundWaveData_86DE6C0, 255, 0, 255, 0 @ 86A06C4 + voice_directsound 60, 0, DirectSoundWaveData_86CF950, 255, 0, 255, 226 @ 86A06D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A06DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A06E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A06F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0700 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A070C + voice_noise_alt 0, 0, 1, 9, 2 @ 86A0718 + voice_noise_alt 0, 0, 4, 3, 1 @ 86A0724 + voice_noise_alt 0, 0, 1, 12, 0 @ 86A0730 + voice_noise_alt 1, 0, 1, 9, 0 @ 86A073C + voice_noise_alt 0, 0, 2, 6, 0 @ 86A0748 + + .align 2 +voicegroup_86A0754:: @ 86A0754 + voice_directsound 60, 0, DirectSoundWaveData_88DBBC0, 255, 0, 255, 0 @ 86A0754 + voice_directsound 60, 0, DirectSoundWaveData_88DC220, 255, 0, 255, 0 @ 86A0760 + voice_directsound 60, 0, DirectSoundWaveData_88DC704, 255, 0, 255, 0 @ 86A076C + voice_directsound 60, 0, DirectSoundWaveData_88DD054, 255, 0, 255, 0 @ 86A0778 + voice_directsound 60, 0, DirectSoundWaveData_88DDAC4, 255, 0, 255, 0 @ 86A0784 + voice_directsound 60, 0, DirectSoundWaveData_88DDDE4, 255, 0, 255, 0 @ 86A0790 + voice_directsound 60, 0, DirectSoundWaveData_88DEA6C, 255, 0, 255, 0 @ 86A079C + voice_directsound 60, 0, DirectSoundWaveData_88DF08C, 255, 0, 255, 0 @ 86A07A8 + voice_directsound 60, 0, DirectSoundWaveData_88DF414, 255, 0, 255, 0 @ 86A07B4 + voice_directsound 60, 0, DirectSoundWaveData_88E01F8, 255, 0, 255, 0 @ 86A07C0 + voice_directsound 60, 0, DirectSoundWaveData_88E0B68, 255, 0, 255, 0 @ 86A07CC + voice_directsound 60, 0, DirectSoundWaveData_88E0F04, 255, 0, 255, 0 @ 86A07D8 + voice_directsound 60, 0, DirectSoundWaveData_88E16B8, 255, 0, 255, 0 @ 86A07E4 + voice_directsound 60, 0, DirectSoundWaveData_88E2414, 255, 0, 255, 0 @ 86A07F0 + voice_directsound 60, 0, DirectSoundWaveData_88E2658, 255, 0, 255, 0 @ 86A07FC + voice_directsound 60, 0, DirectSoundWaveData_88E3498, 255, 0, 255, 0 @ 86A0808 + voice_directsound 60, 0, DirectSoundWaveData_88E3DEC, 255, 0, 255, 0 @ 86A0814 + voice_directsound 60, 0, DirectSoundWaveData_88E4140, 255, 0, 255, 0 @ 86A0820 + voice_directsound 60, 0, DirectSoundWaveData_88E4774, 255, 0, 255, 0 @ 86A082C + voice_directsound 60, 0, DirectSoundWaveData_88E53E0, 255, 0, 255, 0 @ 86A0838 + voice_directsound 60, 0, DirectSoundWaveData_88E5978, 255, 0, 255, 0 @ 86A0844 + voice_directsound 60, 0, DirectSoundWaveData_88E647C, 255, 0, 255, 0 @ 86A0850 + voice_directsound 60, 0, DirectSoundWaveData_88E6A80, 255, 0, 255, 0 @ 86A085C + voice_directsound 60, 0, DirectSoundWaveData_88E6C78, 255, 0, 255, 0 @ 86A0868 + voice_directsound 60, 0, DirectSoundWaveData_88E75DC, 255, 0, 255, 0 @ 86A0874 + voice_directsound 60, 0, DirectSoundWaveData_88E8568, 255, 0, 255, 0 @ 86A0880 + voice_directsound 60, 0, DirectSoundWaveData_88E8BA0, 255, 0, 255, 0 @ 86A088C + voice_directsound 60, 0, DirectSoundWaveData_88E9674, 255, 0, 255, 0 @ 86A0898 + voice_directsound 60, 0, DirectSoundWaveData_88EA5B8, 255, 0, 255, 0 @ 86A08A4 + voice_directsound 60, 0, DirectSoundWaveData_88EAB30, 255, 0, 255, 0 @ 86A08B0 + voice_directsound 60, 0, DirectSoundWaveData_88EB97C, 255, 0, 255, 0 @ 86A08BC + voice_directsound 60, 0, DirectSoundWaveData_88EC884, 255, 0, 255, 0 @ 86A08C8 + voice_directsound 60, 0, DirectSoundWaveData_88ED358, 255, 0, 255, 0 @ 86A08D4 + voice_directsound 60, 0, DirectSoundWaveData_88EDEEC, 255, 0, 255, 0 @ 86A08E0 + voice_directsound 60, 0, DirectSoundWaveData_88EE8C4, 255, 0, 255, 0 @ 86A08EC + voice_directsound 60, 0, DirectSoundWaveData_88EEF04, 255, 0, 255, 0 @ 86A08F8 + voice_directsound 60, 0, DirectSoundWaveData_88EF9E4, 255, 0, 255, 0 @ 86A0904 + voice_directsound 60, 0, DirectSoundWaveData_88F0020, 255, 0, 255, 0 @ 86A0910 + voice_directsound 60, 0, DirectSoundWaveData_88F0738, 255, 0, 255, 0 @ 86A091C + voice_directsound 60, 0, DirectSoundWaveData_88F1074, 255, 0, 255, 0 @ 86A0928 + voice_directsound 60, 0, DirectSoundWaveData_88F1830, 255, 0, 255, 0 @ 86A0934 + voice_directsound 60, 0, DirectSoundWaveData_88F1D94, 255, 0, 255, 0 @ 86A0940 + voice_directsound 60, 0, DirectSoundWaveData_88F2B08, 255, 0, 255, 0 @ 86A094C + voice_directsound 60, 0, DirectSoundWaveData_88F2F84, 255, 0, 255, 0 @ 86A0958 + voice_directsound 60, 0, DirectSoundWaveData_88F3470, 255, 0, 255, 0 @ 86A0964 + voice_directsound 60, 0, DirectSoundWaveData_88F3C38, 255, 0, 255, 0 @ 86A0970 + voice_directsound 60, 0, DirectSoundWaveData_88F4834, 255, 0, 255, 0 @ 86A097C + voice_directsound 60, 0, DirectSoundWaveData_88F4BAC, 255, 0, 255, 0 @ 86A0988 + voice_directsound 60, 0, DirectSoundWaveData_88F5368, 255, 0, 255, 0 @ 86A0994 + voice_directsound 60, 0, DirectSoundWaveData_88F5FCC, 255, 0, 255, 0 @ 86A09A0 + voice_directsound 60, 0, DirectSoundWaveData_88F6498, 255, 0, 255, 0 @ 86A09AC + voice_keysplit_all voicegroup_8675FEC @ 86A09B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A09C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A09D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A09DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A09E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A09F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0A00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0A0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0A18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0A24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0A30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0A3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0A48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0A54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0A60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0A6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0A78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0A84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0A90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0A9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0AA8 + voice_directsound 60, 0, DirectSoundWaveData_88F6F48, 255, 249, 25, 248 @ 86A0AB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0AC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0ACC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0AD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0AE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0AF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0AFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0B08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0B14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0B20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0B2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0B38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0B44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0B50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0B5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0B68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0B74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0B80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0B8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0B98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0BA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0BB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0BBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0BC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0BD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0BE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0BEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0BF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0C04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0C10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0C1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0C28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0C34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0C40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0C4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0C58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0C64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0C70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0C7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0C88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0C94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0CA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0CAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0CB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0CC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0CD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0CDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0CE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0CF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0D00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0D0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0D18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0D24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0D30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0D3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0D48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0D54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0D60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0D6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0D78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0D84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0D90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0D9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0DA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0DB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0DC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0DCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0DD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0DE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0DF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0DFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0E08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0E14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0E20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0E2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0E38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0E44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0E50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0E5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0E68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0E74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0E80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0E8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0E98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0EA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0EB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0EBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0EC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0ED4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0EE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0EEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0EF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0F04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0F10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0F1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0F28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0F34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0F40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0F4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0F58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0F64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0F70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0F7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0F88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0F94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0FA0 + voice_noise_alt 0, 0, 1, 7, 1 @ 86A0FAC + + .align 2 +voicegroup_86A0FB8:: @ 86A0FB8 + voice_keysplit_all voicegroup_8676148 @ 86A0FB8 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A0FC4 + voice_directsound 60, 0, DirectSoundWaveData_88F8318, 128, 204, 51, 242 @ 86A0FD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0FDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0FE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A0FF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1000 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A100C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1018 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1024 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1030 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A103C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1048 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1054 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1060 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A106C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1078 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1084 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1090 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A109C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A10A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A10B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A10C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A10CC + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 128, 204, 103, 226 @ 86A10D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A10E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A10F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A10FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1108 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1114 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1120 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A112C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1138 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1144 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1150 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A115C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1168 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1174 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1180 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A118C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1198 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A11A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A11B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A11BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A11C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A11D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A11E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A11EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A11F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1204 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1210 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A121C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1228 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1234 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1240 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A124C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1258 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1264 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1270 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A127C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1288 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1294 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A12A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A12AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A12B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A12C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A12D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A12DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A12E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A12F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1300 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A130C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1318 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1324 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1330 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A133C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1348 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1354 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1360 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A136C + voice_square_1_alt 0, 1, 0, 2, 3, 5 @ 86A1378 + voice_square_2_alt 3, 0, 2, 6, 5 @ 86A1384 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1390 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A139C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A13A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A13B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A13C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A13CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A13D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A13E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A13F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A13FC + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 9, 1 @ 86A1408 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1414 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1420 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A142C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1438 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1444 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1450 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A145C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1468 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1474 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1480 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A148C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1498 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A14A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A14B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A14BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A14C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A14D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A14E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A14EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A14F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1504 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1510 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A151C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1528 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1534 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1540 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A154C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1558 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1564 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1570 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A157C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1588 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1594 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A15A0 + voice_noise_alt 0, 0, 1, 0, 1 @ 86A15AC + + .align 2 +voicegroup_86A15B8:: @ 86A15B8 + voice_keysplit_all voicegroup_8676148 @ 86A15B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A15C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A15D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A15DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A15E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A15F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1600 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A160C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1618 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1624 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1630 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A163C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1648 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1654 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 97, 236 @ 86A1660 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A166C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1678 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 128, 146, 118, 137 @ 86A1684 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1690 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A169C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A16A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A16B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A16C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A16CC + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 51, 204, 92, 226 @ 86A16D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A16E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A16F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A16FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1708 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1714 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1720 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A172C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1738 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1744 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1750 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A175C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1768 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1774 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1780 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A178C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1798 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A17A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A17B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A17BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A17C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A17D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A17E0 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 165, 154, 235 @ 86A17EC + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A17F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1804 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1810 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A181C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1828 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1834 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1840 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A184C + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A1858 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1864 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86A1870 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A187C + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A1888 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1894 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A18A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A18AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A18B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A18C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A18D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A18DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A18E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A18F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1900 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A190C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1918 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 86A1924 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1930 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A193C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1948 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1954 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1960 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A196C + voice_square_1_alt 0, 2, 0, 4, 2, 2 @ 86A1978 + voice_square_2_alt 3, 0, 1, 7, 5 @ 86A1984 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 4, 6, 0 @ 86A1990 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A199C + voice_programmable_wave_alt ProgrammableWaveData_86B4920, 0, 4, 6, 0 @ 86A19A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A19B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A19C0 + voice_square_1_alt 0, 0, 0, 4, 2, 2 @ 86A19CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A19D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A19E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A19F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A19FC + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 2, 9, 1 @ 86A1A08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1A14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1A20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1A2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1A38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1A44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1A50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1A5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1A68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1A74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1A80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1A8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1A98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1AA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1AB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1ABC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1AC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1AD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1AE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1AEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1AF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1B04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1B10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1B1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1B28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1B34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1B40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1B4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1B58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1B64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1B70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1B7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1B88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1B94 + voice_noise_alt 0, 0, 2, 6, 0 @ 86A1BA0 + voice_noise_alt 0, 0, 1, 8, 1 @ 86A1BAC + + .align 2 +voicegroup_86A1BB8:: @ 86A1BB8 + voice_keysplit_all voicegroup_8676148 @ 86A1BB8 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A1BC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1BD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1BDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1BE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1BF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1C00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1C0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1C18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1C24 + voice_directsound 60, 0, DirectSoundWaveData_86DD11C, 255, 0, 255, 0 @ 86A1C30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1C3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1C48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1C54 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 86A1C60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1C6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1C78 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 128, 146, 108, 137 @ 86A1C84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1C90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1C9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1CA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1CB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1CC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1CCC + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 128, 204, 103, 226 @ 86A1CD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1CE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1CF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1CFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1D08 + voice_directsound 60, 0, DirectSoundWaveData_8709004, 255, 0, 255, 127 @ 86A1D14 + voice_directsound 60, 0, DirectSoundWaveData_870AE74, 255, 0, 255, 127 @ 86A1D20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1D2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1D38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1D44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1D50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1D5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1D68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1D74 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 86A1D80 + voice_directsound 60, 0, DirectSoundWaveData_87224B8, 255, 0, 255, 127 @ 86A1D8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1D98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1DA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1DB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1DBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1DC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1DD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1DE0 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 153 @ 86A1DEC + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A1DF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E4C + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A1E58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E7C + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A1E88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1E94 + voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 127 @ 86A1EA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1EAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1EB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1EC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1ED0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1EDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1EE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1EF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1F00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1F0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1F18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1F24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1F30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1F3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1F48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1F54 + voice_directsound 60, 0, DirectSoundWaveData_88F94DC, 255, 0, 255, 127 @ 86A1F60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1F6C + voice_square_1_alt 0, 1, 0, 1, 9, 0 @ 86A1F78 + voice_square_2_alt 3, 0, 2, 9, 1 @ 86A1F84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1F90 + voice_square_2_alt 2, 1, 0, 9, 1 @ 86A1F9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1FA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1FB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1FC0 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86A1FCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1FD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1FE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1FF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A1FFC + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 0, 15, 0 @ 86A2008 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2014 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2020 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A202C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2038 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2044 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2050 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A205C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2068 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2074 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2080 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A208C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2098 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A20A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A20B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A20BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A20C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A20D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A20E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A20EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A20F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2104 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2110 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A211C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2128 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2134 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2140 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A214C + voice_directsound 60, 0, DirectSoundWaveData_88DA388, 255, 0, 255, 165 @ 86A2158 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2164 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2170 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A217C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2188 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2194 + voice_noise_alt 0, 0, 2, 6, 0 @ 86A21A0 + voice_noise_alt 0, 0, 1, 8, 1 @ 86A21AC + + .align 2 +voicegroup_86A21B8:: @ 86A21B8 + voice_keysplit_all voicegroup_8675FEC @ 86A21B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A21C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A21D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A21DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A21E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A21F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2200 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A220C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2218 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2224 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2230 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A223C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2248 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2254 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2260 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A226C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2278 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2284 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2290 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A229C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A22A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A22B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A22C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A22CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A22D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A22E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A22F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A22FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2308 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2314 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2320 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A232C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2338 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2344 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2350 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A235C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2368 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2374 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2380 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A238C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2398 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A23A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A23B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A23BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A23C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A23D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A23E0 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 86A23EC + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A23F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2404 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2410 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A241C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2428 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2434 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2440 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A244C + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A2458 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2464 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2470 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A247C + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A2488 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2494 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A24A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A24AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A24B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A24C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A24D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A24DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A24E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A24F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2500 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A250C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2518 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2524 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2530 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A253C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2548 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2554 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2560 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A256C + voice_square_2_alt 2, 0, 1, 7, 1 @ 86A2578 + voice_square_1_alt 0, 2, 0, 1, 7, 1 @ 86A2584 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2590 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A259C + voice_square_2_alt 3, 0, 1, 7, 1 @ 86A25A8 + voice_square_1_alt 0, 3, 0, 1, 7, 1 @ 86A25B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A25C0 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 1 @ 86A25CC + voice_square_1_alt 0, 2, 0, 0, 7, 1 @ 86A25D8 + voice_square_1_alt 0, 3, 0, 0, 7, 1 @ 86A25E4 + + .align 2 +voicegroup_86A25F0:: @ 86A25F0 + voice_keysplit_all voicegroup_8676148 @ 86A25F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A25FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2608 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2614 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2620 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A262C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2638 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2644 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2650 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A265C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2668 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2674 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2680 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A268C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2698 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A26A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A26B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A26BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A26C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A26D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A26E0 + voice_directsound 60, 0, DirectSoundWaveData_87410E0, 85, 137, 180, 204 @ 86A26EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A26F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2704 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2710 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A271C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2728 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2734 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2740 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A274C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2758 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2764 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2770 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A277C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2788 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2794 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A27A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A27AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A27B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A27C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A27D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A27DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A27E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A27F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2800 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A280C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2818 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2824 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2830 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A283C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2848 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2854 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2860 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A286C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2878 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2884 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2890 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A289C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A28A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A28B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A28C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A28CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A28D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A28E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A28F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A28FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2908 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2914 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2920 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A292C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2938 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2944 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2950 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A295C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2968 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2974 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2980 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A298C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2998 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A29A4 + voice_square_1_alt 0, 2, 0, 0, 9, 0 @ 86A29B0 + voice_square_2_alt 2, 0, 0, 9, 0 @ 86A29BC + voice_square_1_alt 0, 0, 1, 2, 6, 0 @ 86A29C8 + + .align 2 +voicegroup_86A29D4:: @ 86A29D4 + voice_keysplit_all voicegroup_8676148 @ 86A29D4 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A29E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A29EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A29F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2A04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2A10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2A1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2A28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2A34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2A40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2A4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2A58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2A64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2A70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2A7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2A88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2A94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2AA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2AAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2AB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2AC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2AD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2ADC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2AE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2AF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2B00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2B0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2B18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2B24 + voice_directsound 60, 0, DirectSoundWaveData_8709004, 255, 0, 255, 127 @ 86A2B30 + voice_directsound 60, 0, DirectSoundWaveData_870AE74, 255, 0, 255, 127 @ 86A2B3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2B48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2B54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2B60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2B6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2B78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2B84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2B90 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 86A2B9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2BA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2BB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2BC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2BCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2BD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2BE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2BF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2BFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2C08 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A2C14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2C20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2C2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2C38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2C44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2C50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2C5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2C68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2C74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2C80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2C8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2C98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2CA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2CB0 + voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 127 @ 86A2CBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2CC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2CD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2CE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2CEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2CF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2D04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2D10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2D1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2D28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2D34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2D40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2D4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2D58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2D64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2D70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2D7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2D88 + voice_square_2_alt 0, 0, 5, 0, 0 @ 86A2D94 + voice_square_1_alt 0, 0, 0, 5, 0, 0 @ 86A2DA0 + voice_square_1_alt 0, 2, 2, 4, 10, 0 @ 86A2DAC + voice_square_2_alt 0, 0, 5, 0, 0 @ 86A2DB8 + voice_square_1_alt 0, 1, 0, 5, 0, 0 @ 86A2DC4 + voice_square_2_alt 3, 2, 4, 10, 0 @ 86A2DD0 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 1, 5, 0, 3 @ 86A2DDC + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 1, 5, 0, 3 @ 86A2DE8 + voice_square_2_alt 1, 0, 1, 10, 2 @ 86A2DF4 + voice_square_1_alt 0, 1, 0, 1, 10, 0 @ 86A2E00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2E0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2E18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2E24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2E30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2E3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2E48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2E54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2E60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2E6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2E78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2E84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2E90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2E9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2EA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2EB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2EC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2ECC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2ED8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2EE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2EF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2EFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2F08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2F14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2F20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2F2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2F38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2F44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2F50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2F5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2F68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2F74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2F80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2F8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2F98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2FA4 + voice_noise_alt 0, 0, 0, 15, 0 @ 86A2FB0 + voice_noise_alt 0, 0, 2, 4, 0 @ 86A2FBC + voice_noise_alt 0, 0, 1, 0, 0 @ 86A2FC8 + + .align 2 +voicegroup_86A2FD4:: @ 86A2FD4 + voice_keysplit_all voicegroup_8676148 @ 86A2FD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2FE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2FEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A2FF8 + voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 165, 180, 165 @ 86A3004 + voice_directsound 60, 0, DirectSoundWaveData_871F234, 255, 137, 154, 165 @ 86A3010 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A301C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3028 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3034 + voice_directsound 60, 0, DirectSoundWaveData_86B5D04, 255, 204, 51, 242 @ 86A3040 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A304C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3058 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3064 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3070 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 86A307C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3088 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3094 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A30A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A30AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A30B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A30C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A30D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A30DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A30E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A30F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3100 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A310C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3118 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3124 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3130 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A313C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3148 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3154 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3160 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A316C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3178 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3184 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3190 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A319C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A31A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A31B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A31C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A31CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A31D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A31E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A31F0 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 0, 242 @ 86A31FC + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 153 @ 86A3208 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A3214 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3220 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A322C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3238 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3244 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3250 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A325C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3268 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A3274 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3280 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86A328C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3298 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A32A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A32B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A32BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A32C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A32D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A32E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A32EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A32F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3304 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3310 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A331C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3328 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3334 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3340 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A334C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3358 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3364 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3370 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A337C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3388 + voice_square_1_alt 0, 1, 1, 2, 3, 1 @ 86A3394 + voice_square_2_alt 1, 1, 2, 3, 1 @ 86A33A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A33AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A33B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A33C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A33D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A33DC + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 2, 4, 1 @ 86A33E8 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 2, 4, 1 @ 86A33F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3400 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A340C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3418 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3424 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3430 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A343C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3448 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3454 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3460 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A346C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3478 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3484 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3490 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A349C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A34A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A34B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A34C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A34CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A34D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A34E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A34F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A34FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3508 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3514 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3520 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A352C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3538 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3544 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3550 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A355C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3568 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3574 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3580 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A358C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3598 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A35A4 + voice_noise_alt 0, 0, 0, 15, 0 @ 86A35B0 + voice_noise_alt 0, 0, 2, 4, 0 @ 86A35BC + voice_noise_alt 0, 0, 1, 0, 1 @ 86A35C8 + + .align 2 +voicegroup_86A35D4:: @ 86A35D4 + voice_keysplit_all voicegroup_8676148 @ 86A35D4 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A35E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A35EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A35F8 + voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86A3604 + voice_directsound 60, 65, DirectSoundWaveData_871F234, 255, 204, 77, 246 @ 86A3610 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A361C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3628 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3634 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3640 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A364C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3658 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3664 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3670 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A367C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3688 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3694 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 76, 133, 137 @ 86A36A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A36AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A36B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A36C4 + voice_directsound 60, 0, DirectSoundWaveData_87410E0, 64, 188, 108, 165 @ 86A36D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A36DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A36E8 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 127 @ 86A36F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3700 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A370C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3718 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3724 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3730 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A373C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3748 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3754 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3760 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A376C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3778 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3784 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3790 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A379C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A37A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A37B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A37C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A37CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A37D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A37E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A37F0 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86A37FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3808 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A3814 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3820 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A382C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3838 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3844 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3850 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A385C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3868 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A3874 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3880 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A388C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3898 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A38A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A38B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A38BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A38C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A38D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A38E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A38EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A38F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3904 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3910 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A391C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3928 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3934 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 86A3940 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A394C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3958 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3964 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3970 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A397C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3988 + voice_square_1_alt 0, 0, 0, 2, 5, 2 @ 86A3994 + voice_square_2_alt 3, 0, 1, 6, 3 @ 86A39A0 + voice_square_2_alt 0, 0, 2, 6, 5 @ 86A39AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A39B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A39C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A39D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A39DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A39E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A39F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3A00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3A0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3A18 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 0, 12, 0 @ 86A3A24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3A30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3A3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3A48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3A54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3A60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3A6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3A78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3A84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3A90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3A9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3AA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3AB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3AC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3ACC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3AD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3AE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3AF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3AFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3B08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3B14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3B20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3B2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3B38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3B44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3B50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3B5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3B68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3B74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3B80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3B8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3B98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3BA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3BB0 + voice_noise_alt 0, 0, 2, 6, 0 @ 86A3BBC + voice_noise_alt 0, 0, 1, 6, 0 @ 86A3BC8 + + .align 2 +voicegroup_86A3BD4:: @ 86A3BD4 + voice_keysplit_all voicegroup_8676148 @ 86A3BD4 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A3BE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3BEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3BF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3C04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3C10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3C1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3C28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3C34 + voice_directsound 60, 0, DirectSoundWaveData_86B5D04, 255, 165, 51, 242 @ 86A3C40 + voice_directsound 60, 0, DirectSoundWaveData_86DD11C, 255, 0, 255, 0 @ 86A3C4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3C58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3C64 + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 86A3C70 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 86A3C7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3C88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3C94 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 128, 127, 103, 201 @ 86A3CA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3CAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3CB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3CC4 + voice_directsound 60, 0, DirectSoundWaveData_87410E0, 37, 127, 77, 165 @ 86A3CD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3CDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3CE8 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 51, 204, 92, 226 @ 86A3CF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3D00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3D0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3D18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3D24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3D30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3D3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3D48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3D54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3D60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3D6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3D78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3D84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3D90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3D9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3DA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3DB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3DC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3DCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3DD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3DE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3DF0 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 226 @ 86A3DFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3E08 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A3E14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3E20 + voice_square_1_alt 0, 2, 0, 2, 3, 1 @ 86A3E2C + voice_square_2_alt 3, 0, 2, 7, 2 @ 86A3E38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3E44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3E50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3E5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3E68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3E74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3E80 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86A3E8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3E98 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A3EA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3EB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3EBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3EC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3ED4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3EE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3EEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3EF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3F04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3F10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3F1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3F28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3F34 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 86A3F40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3F4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3F58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3F64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3F70 + voice_directsound 60, 0, DirectSoundWaveData_88F94DC, 255, 0, 255, 127 @ 86A3F7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3F88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3F94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3FA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3FAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3FB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3FC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3FD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3FDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3FE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A3FF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4000 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A400C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4018 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86A4024 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4030 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A403C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4048 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4054 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4060 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A406C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4078 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4084 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4090 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A409C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A40A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A40B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A40C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A40CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A40D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A40E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A40F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A40FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4108 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4114 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4120 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A412C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4138 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4144 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4150 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A415C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4168 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4174 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4180 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A418C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4198 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A41A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A41B0 + voice_noise_alt 0, 0, 1, 6, 1 @ 86A41BC + voice_noise_alt 0, 0, 1, 6, 1 @ 86A41C8 + + .align 2 +voicegroup_86A41D4:: @ 86A41D4 + voice_keysplit_all voicegroup_8675FEC @ 86A41D4 + voice_square_1 0, 2, 0, 2, 3, 1 @ 86A41E0 + voice_square_2_alt 2, 0, 2, 3, 1 @ 86A41EC + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86A41F8 + + .align 2 +voicegroup_86A4204:: @ 86A4204 + voice_keysplit_all voicegroup_8676148 @ 86A4204 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A4210 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A421C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4228 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4234 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4240 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A424C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4258 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4264 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4270 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A427C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4288 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4294 + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 86A42A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A42AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A42B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A42C4 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 76, 133, 137 @ 86A42D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A42DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A42E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A42F4 + voice_directsound 60, 0, DirectSoundWaveData_87410E0, 64, 188, 108, 165 @ 86A4300 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A430C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4318 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 85, 249, 25, 127 @ 86A4324 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4330 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A433C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4348 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4354 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4360 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A436C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4378 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4384 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4390 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A439C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A43A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A43B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A43C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A43CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A43D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A43E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A43F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A43FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4408 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4414 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4420 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A442C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4438 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A4444 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4450 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A445C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4468 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4474 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4480 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A448C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4498 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A44A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A44B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A44BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A44C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A44D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A44E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A44EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A44F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4504 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4510 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A451C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4528 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4534 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4540 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A454C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4558 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4564 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 86A4570 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A457C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4588 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4594 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A45A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A45AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A45B8 + voice_square_1_alt 0, 0, 0, 2, 5, 2 @ 86A45C4 + voice_square_2_alt 3, 0, 2, 7, 3 @ 86A45D0 + voice_square_2_alt 2, 0, 2, 6, 5 @ 86A45DC + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 1, 7, 0, 6 @ 86A45E8 + voice_square_1_alt 0, 1, 0, 2, 4, 2 @ 86A45F4 + voice_programmable_wave_alt ProgrammableWaveData_86B4850, 0, 2, 9, 0 @ 86A4600 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A460C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4618 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4624 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4630 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A463C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4648 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4654 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4660 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A466C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4678 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4684 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4690 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A469C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A46A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A46B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A46C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A46CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A46D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A46E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A46F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A46FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4708 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4714 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4720 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A472C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4738 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4744 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4750 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A475C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4768 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4774 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4780 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A478C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4798 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A47A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A47B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A47BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A47C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A47D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A47E0 + voice_noise_alt 0, 0, 2, 6, 0 @ 86A47EC + voice_noise_alt 0, 0, 1, 6, 0 @ 86A47F8 + + .align 2 +voicegroup_86A4804:: @ 86A4804 + voice_keysplit_all voicegroup_8676148 @ 86A4804 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4810 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A481C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4828 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4834 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4840 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A484C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4858 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4864 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4870 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A487C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4888 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4894 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A48A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A48AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A48B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A48C4 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 64, 188, 128, 201 @ 86A48D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A48DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A48E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A48F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4900 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A490C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4918 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 64, 195, 103, 220 @ 86A4924 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4930 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A493C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4948 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4954 + voice_directsound 60, 0, DirectSoundWaveData_8709004, 128, 195, 72, 127 @ 86A4960 + voice_directsound 60, 0, DirectSoundWaveData_870AE74, 85, 188, 103, 160 @ 86A496C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4978 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4984 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4990 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A499C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A49A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A49B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A49C0 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 128, 188, 77, 115 @ 86A49CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A49D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A49E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A49F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A49FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4A08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4A14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4A20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4A2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4A38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4A44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4A50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4A5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4A68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4A74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4A80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4A8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4A98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4AA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4AB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4ABC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4AC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4AD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4AE0 + voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 175, 154, 127 @ 86A4AEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4AF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4B04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4B10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4B1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4B28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4B34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4B40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4B4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4B58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4B64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4B70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4B7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4B88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4B94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4BA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4BAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4BB8 + voice_square_1_alt 0, 2, 0, 2, 6, 4 @ 86A4BC4 + voice_square_2_alt 2, 0, 2, 5, 5 @ 86A4BD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4BDC + voice_programmable_wave_alt ProgrammableWaveData_86B4900, 0, 7, 15, 0 @ 86A4BE8 + + .align 2 +voicegroup_86A4BF4:: @ 86A4BF4 + voice_keysplit_all voicegroup_8676148 @ 86A4BF4 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A4C00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4C0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4C18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4C24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4C30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4C3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4C48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4C54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4C60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4C6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4C78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4C84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4C90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4C9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4CA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4CB4 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 128, 160, 123, 165 @ 86A4CC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4CCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4CD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4CE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4CF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4CFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4D08 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 0 @ 86A4D14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4D20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4D2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4D38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4D44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4D50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4D5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4D68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4D74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4D80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4D8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4D98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4DA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4DB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4DBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4DC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4DD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4DE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4DEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4DF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E28 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A4E34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4E94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4EA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4EAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4EB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4EC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4ED0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4EDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4EE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4EF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4F00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4F0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4F18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4F24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4F30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4F3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4F48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4F54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4F60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4F6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4F78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4F84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4F90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4F9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4FA8 + voice_square_2_alt 3, 0, 2, 3, 2 @ 86A4FB4 + voice_square_1_alt 0, 2, 0, 2, 3, 1 @ 86A4FC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4FCC + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86A4FD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4FE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4FF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A4FFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5008 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5014 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5020 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A502C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5038 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5044 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5050 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A505C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5068 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5074 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5080 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A508C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5098 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A50A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A50B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A50BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A50C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A50D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A50E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A50EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A50F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5104 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5110 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A511C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5128 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5134 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5140 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A514C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5158 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5164 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5170 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A517C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5188 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5194 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A51A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A51AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A51B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A51C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A51D0 + voice_noise_alt 0, 0, 1, 9, 0 @ 86A51DC + voice_noise_alt 0, 0, 1, 6, 1 @ 86A51E8 + + .align 2 +voicegroup_86A51F4:: @ 86A51F4 + voice_keysplit_all voicegroup_8676148 @ 86A51F4 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A5200 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A520C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5218 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5224 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5230 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A523C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5248 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5254 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5260 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A526C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5278 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5284 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5290 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A529C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A52A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A52B4 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 85, 188, 92, 165 @ 86A52C0 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 85, 127, 180, 165 @ 86A52CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A52D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A52E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A52F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A52FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5308 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 51, 204, 92, 226 @ 86A5314 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5320 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A532C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5338 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5344 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5350 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A535C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5368 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5374 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5380 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A538C + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 216 @ 86A5398 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A53A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A53B0 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 86A53BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A53C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A53D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A53E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A53EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A53F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5404 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5410 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A541C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5428 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A5434 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5440 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A544C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5458 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5464 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5470 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A547C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5488 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5494 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A54A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A54AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A54B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A54C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A54D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A54DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A54E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A54F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5500 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A550C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5518 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5524 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5530 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A553C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5548 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5554 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5560 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A556C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5578 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5584 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5590 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A559C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A55A8 + voice_square_2_alt 3, 0, 2, 4, 2 @ 86A55B4 + voice_square_2_alt 1, 0, 2, 4, 3 @ 86A55C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A55CC + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86A55D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A55E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A55F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A55FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5608 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5614 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5620 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A562C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5638 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5644 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5650 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A565C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5668 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5674 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5680 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A568C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5698 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A56A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A56B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A56BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A56C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A56D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A56E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A56EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A56F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5704 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5710 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A571C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5728 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5734 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5740 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A574C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5758 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5764 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5770 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A577C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5788 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5794 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A57A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A57AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A57B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A57C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A57D0 + voice_noise_alt 0, 0, 1, 9, 0 @ 86A57DC + voice_noise_alt 0, 0, 1, 6, 0 @ 86A57E8 + + .align 2 +voicegroup_86A57F4:: @ 86A57F4 + voice_keysplit_all voicegroup_8676148 @ 86A57F4 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A5800 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A580C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5818 + voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86A5824 + voice_directsound 60, 65, DirectSoundWaveData_871F234, 255, 204, 77, 246 @ 86A5830 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A583C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5848 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5854 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5860 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A586C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5878 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5884 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5890 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A589C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A58A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A58B4 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 76, 133, 137 @ 86A58C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A58CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A58D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A58E4 + voice_directsound 60, 0, DirectSoundWaveData_87410E0, 64, 188, 108, 165 @ 86A58F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A58FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5908 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 127 @ 86A5914 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5920 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A592C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5938 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5944 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5950 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A595C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5968 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5974 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5980 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A598C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5998 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A59A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A59B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A59BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A59C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A59D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A59E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A59EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A59F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A10 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86A5A1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A28 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A5A34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5A88 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A5A94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5AA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5AAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5AB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5AC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5AD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5ADC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5AE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5AF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5B00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5B0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5B18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5B24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5B30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5B3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5B48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5B54 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 86A5B60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5B6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5B78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5B84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5B90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5B9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5BA8 + voice_square_1_alt 0, 0, 0, 2, 5, 2 @ 86A5BB4 + voice_square_2_alt 3, 0, 0, 9, 0 @ 86A5BC0 + voice_square_2_alt 0, 0, 2, 6, 5 @ 86A5BCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5BD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5BE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5BF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5BFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5C08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5C14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5C20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5C2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5C38 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 0, 12, 0 @ 86A5C44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5C50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5C5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5C68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5C74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5C80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5C8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5C98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5CA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5CB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5CBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5CC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5CD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5CE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5CEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5CF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5D04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5D10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5D1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5D28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5D34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5D40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5D4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5D58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5D64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5D70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5D7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5D88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5D94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5DA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5DAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5DB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5DC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5DD0 + voice_noise_alt 0, 0, 2, 6, 0 @ 86A5DDC + voice_noise_alt 0, 0, 1, 6, 0 @ 86A5DE8 + + .align 2 +voicegroup_86A5DF4:: @ 86A5DF4 + voice_keysplit_all voicegroup_8676148 @ 86A5DF4 + voice_directsound 60, 0, DirectSoundWaveData_88F8318, 255, 165, 103, 235 @ 86A5E00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5E0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5E18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5E24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5E30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5E3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5E48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5E54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5E60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5E6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5E78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5E84 + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 86A5E90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5E9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5EA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5EB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5EC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5ECC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5ED8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5EE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5EF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5EFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5F08 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 85, 249, 25, 226 @ 86A5F14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5F20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5F2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5F38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5F44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5F50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5F5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5F68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5F74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5F80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5F8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5F98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5FA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5FB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5FBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5FC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5FD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5FE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5FEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A5FF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6004 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6010 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A601C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6028 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A6034 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6040 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A604C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6058 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6064 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6070 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A607C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6088 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6094 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A60A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A60AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A60B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A60C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A60D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A60DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A60E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A60F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6100 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A610C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6118 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6124 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6130 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A613C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6148 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6154 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6160 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A616C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6178 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6184 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6190 + voice_directsound 60, 0, DirectSoundWaveData_88F94DC, 43, 76, 103, 216 @ 86A619C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A61A8 + voice_square_2_alt 2, 0, 2, 4, 4 @ 86A61B4 + voice_square_1_alt 0, 2, 0, 0, 15, 0 @ 86A61C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A61CC + voice_square_2_alt 2, 0, 0, 15, 0 @ 86A61D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A61E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A61F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A61FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6208 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6214 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6220 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A622C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6238 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 86A6244 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6250 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A625C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6268 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6274 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6280 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A628C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6298 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A62A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A62B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A62BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A62C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A62D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A62E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A62EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A62F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6304 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6310 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A631C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6328 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6334 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6340 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A634C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6358 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6364 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6370 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A637C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6388 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6394 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A63A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A63AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A63B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A63C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A63D0 + voice_noise_alt 0, 0, 1, 9, 0 @ 86A63DC + voice_noise_alt 0, 0, 1, 6, 2 @ 86A63E8 + + .align 2 +voicegroup_86A63F4:: @ 86A63F4 + voice_keysplit_all voicegroup_8675FEC @ 86A63F4 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A6400 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A640C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6418 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6424 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6430 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A643C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6448 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6454 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6460 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A646C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6478 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6484 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6490 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A649C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A64A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A64B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A64C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A64CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A64D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A64E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A64F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A64FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6508 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 64, 249, 25, 226 @ 86A6514 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6520 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A652C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6538 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6544 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6550 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A655C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6568 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6574 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6580 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A658C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6598 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A65A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A65B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A65BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A65C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A65D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A65E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A65EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A65F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6604 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6610 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A661C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6628 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A6634 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6640 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A664C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6658 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6664 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6670 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A667C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6688 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6694 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A66A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A66AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A66B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A66C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A66D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A66DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A66E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A66F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6700 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A670C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6718 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6724 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6730 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A673C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6748 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6754 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6760 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A676C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6778 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6784 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6790 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A679C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A67A8 + voice_square_1_alt 0, 2, 0, 0, 6, 1 @ 86A67B4 + voice_square_2_alt 2, 0, 0, 6, 1 @ 86A67C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A67CC + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 2, 4, 2 @ 86A67D8 + + .align 2 +voicegroup_86A67E4:: @ 86A67E4 + voice_keysplit_all voicegroup_8676148 @ 86A67E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A67F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A67FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6808 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6814 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6820 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A682C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6838 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6844 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6850 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A685C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6868 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6874 + voice_directsound 60, 0, DirectSoundWaveData_87224B8, 255, 226, 0, 127 @ 86A6880 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 86A688C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6898 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A68A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A68B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A68BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A68C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A68D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A68E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A68EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A68F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6904 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6910 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A691C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6928 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6934 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6940 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A694C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6958 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6964 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6970 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A697C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6988 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6994 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69AC + voice_directsound 60, 0, DirectSoundWaveData_87224B8, 255, 0, 255, 127 @ 86A69B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A69F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A18 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A6A24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6A90 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86A6A9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6AA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6AB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6AC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6ACC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6AD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6AE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6AF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6AFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6B08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6B14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6B20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6B2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6B38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6B44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6B50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6B5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6B68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6B74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6B80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6B8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6B98 + voice_square_1_alt 0, 2, 0, 0, 12, 0 @ 86A6BA4 + voice_square_2_alt 2, 0, 0, 12, 0 @ 86A6BB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6BBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6BC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6BD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6BE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6BEC + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86A6BF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6C04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6C10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6C1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6C28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6C34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6C40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6C4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6C58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6C64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6C70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6C7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6C88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6C94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6CA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6CAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6CB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6CC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6CD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6CDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6CE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6CF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6D00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6D0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6D18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6D24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6D30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6D3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6D48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6D54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6D60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6D6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6D78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6D84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6D90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6D9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6DA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6DB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6DC0 + voice_noise_alt 0, 0, 3, 5, 2 @ 86A6DCC + voice_noise_alt 0, 0, 1, 6, 5 @ 86A6DD8 + + .align 2 +voicegroup_86A6DE4:: @ 86A6DE4 + voice_keysplit_all voicegroup_86B429C @ 86A6DE4 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A6DF0 + voice_square_1_alt 0, 2, 0, 0, 12, 0 @ 86A6DFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6E08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6E14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6E20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6E2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6E38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6E44 + voice_directsound 60, 0, DirectSoundWaveData_86B5D04, 255, 165, 51, 242 @ 86A6E50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6E5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6E68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6E74 + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 86A6E80 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 86A6E8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6E98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6EA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6EB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6EBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6EC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6ED4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6EE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6EEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6EF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6F04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6F10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6F1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6F28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6F34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6F40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6F4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6F58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6F64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6F70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6F7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6F88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6F94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6FA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6FAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6FB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6FC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6FD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6FDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6FE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A6FF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7000 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86A700C + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 165, 154, 153 @ 86A7018 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A7024 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7030 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A703C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7048 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7054 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7060 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A706C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7078 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A7084 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7090 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86A709C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A70A8 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A70B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A70C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A70CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A70D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A70E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A70F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A70FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7108 + voice_directsound 60, 0, DirectSoundWaveData_86BBE98, 43, 188, 103, 165 @ 86A7114 + voice_directsound 60, 0, DirectSoundWaveData_86BD1DC, 43, 165, 103, 165 @ 86A7120 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A712C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7138 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7144 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 86A7150 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A715C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7168 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7174 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7180 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A718C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7198 + voice_square_1_alt 0, 1, 1, 2, 3, 1 @ 86A71A4 + voice_square_2_alt 1, 0, 2, 4, 2 @ 86A71B0 + voice_square_1_alt 0, 1, 0, 2, 6, 1 @ 86A71BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A71C8 + voice_square_1_alt 0, 0, 0, 2, 3, 1 @ 86A71D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A71E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A71EC + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86A71F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7204 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7210 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A721C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7228 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 86A7234 + + .align 2 +voicegroup_86A7240:: @ 86A7240 + voice_keysplit_all voicegroup_8676148 @ 86A7240 + voice_directsound 60, 0, DirectSoundWaveData_88F8318, 255, 165, 103, 235 @ 86A724C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7258 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7264 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7270 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A727C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7288 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7294 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A72A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A72AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A72B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A72C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A72D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A72DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A72E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A72F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7300 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A730C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7318 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7324 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7330 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A733C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7348 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7354 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7360 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A736C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7378 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7384 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7390 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A739C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A73A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A73B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A73C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A73CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A73D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A73E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A73F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A73FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7408 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7414 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7420 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A742C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7438 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7444 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7450 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A745C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7468 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7474 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7480 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A748C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7498 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A74A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A74B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A74BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A74C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A74D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A74E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A74EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A74F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7504 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7510 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A751C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7528 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7534 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7540 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A754C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7558 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7564 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7570 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A757C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7588 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7594 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A75A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A75AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A75B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A75C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A75D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A75DC + voice_directsound 60, 0, DirectSoundWaveData_88F94DC, 85, 204, 77, 127 @ 86A75E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A75F4 + voice_square_2_alt 1, 0, 1, 4, 6 @ 86A7600 + voice_square_1_alt 0, 1, 0, 2, 4, 5 @ 86A760C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7618 + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 7, 15, 0 @ 86A7624 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7630 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A763C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7648 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7654 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7660 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A766C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7678 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7684 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7690 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A769C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A76A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A76B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A76C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A76CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A76D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A76E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A76F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A76FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7708 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7714 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7720 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A772C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7738 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7744 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7750 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A775C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7768 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7774 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7780 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A778C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7798 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A77A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A77B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A77BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A77C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A77D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A77E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A77EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A77F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7804 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7810 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A781C + voice_noise_alt 0, 0, 2, 4, 0 @ 86A7828 + voice_noise_alt 0, 0, 1, 0, 0 @ 86A7834 + + .align 2 +voicegroup_86A7840:: @ 86A7840 + voice_keysplit_all voicegroup_8676148 @ 86A7840 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A784C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7858 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7864 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7870 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A787C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7888 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7894 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A78A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A78AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A78B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A78C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A78D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A78DC + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 86A78E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A78F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7900 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A790C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7918 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7924 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7930 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A793C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7948 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7954 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7960 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A796C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7978 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7984 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7990 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A799C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A79A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A79B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A79C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A79CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A79D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A79E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A79F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A79FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7A08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7A14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7A20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7A2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7A38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7A44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7A50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7A5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7A68 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 127 @ 86A7A74 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A7A80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7A8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7A98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7AA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7AB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7ABC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7AC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7AD4 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A7AE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7AEC + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86A7AF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7B04 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A7B10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7B1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7B28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7B34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7B40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7B4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7B58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7B64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7B70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7B7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7B88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7B94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7BA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7BAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7BB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7BC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7BD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7BDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7BE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7BF4 + voice_square_1_alt 0, 1, 1, 2, 3, 1 @ 86A7C00 + voice_square_2_alt 1, 0, 2, 4, 2 @ 86A7C0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7C18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7C24 + voice_square_1_alt 0, 0, 0, 2, 3, 1 @ 86A7C30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7C3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7C48 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86A7C54 + + .align 2 +voicegroup_86A7C60:: @ 86A7C60 + voice_keysplit_all voicegroup_8676148 @ 86A7C60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7C6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7C78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7C84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7C90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7C9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7CA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7CB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7CC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7CCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7CD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7CE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7CF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7CFC + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 97, 236 @ 86A7D08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7D14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7D20 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 128, 160, 175, 165 @ 86A7D2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7D38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7D44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7D50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7D5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7D68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7D74 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 165, 128, 204 @ 86A7D80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7D8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7D98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7DA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7DB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7DBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7DC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7DD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7DE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7DEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7DF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7E04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7E10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7E1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7E28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7E34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7E40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7E4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7E58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7E64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7E70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7E7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7E88 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 127, 154, 235 @ 86A7E94 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A7EA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7EAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7EB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7EC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7ED0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7EDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7EE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7EF4 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A7F00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7F0C + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86A7F18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7F24 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A7F30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7F3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7F48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7F54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7F60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7F6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7F78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7F84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7F90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7F9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7FA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7FB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7FC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7FCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7FD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7FE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7FF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A7FFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8008 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8014 + voice_square_1_alt 0, 2, 0, 4, 2, 1 @ 86A8020 + voice_square_2_alt 3, 0, 1, 5, 2 @ 86A802C + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 4, 6, 0 @ 86A8038 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8044 + voice_programmable_wave_alt ProgrammableWaveData_86B4920, 0, 4, 6, 0 @ 86A8050 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A805C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8068 + voice_square_1_alt 0, 1, 0, 2, 4, 1 @ 86A8074 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8080 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A808C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8098 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A80A4 + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 2, 9, 1 @ 86A80B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A80BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A80C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A80D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A80E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A80EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A80F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8104 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8110 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A811C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8128 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8134 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8140 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A814C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8158 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8164 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8170 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A817C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8188 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8194 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A81A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A81AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A81B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A81C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A81D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A81DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A81E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A81F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8200 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A820C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8218 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8224 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8230 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A823C + voice_noise_alt 0, 0, 2, 6, 0 @ 86A8248 + voice_noise_alt 0, 0, 1, 6, 1 @ 86A8254 + + .align 2 +voicegroup_86A8260:: @ 86A8260 + voice_keysplit_all voicegroup_8676148 @ 86A8260 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A826C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8278 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8284 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8290 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A829C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A82A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A82B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A82C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A82CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A82D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A82E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A82F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A82FC + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 97, 236 @ 86A8308 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8314 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8320 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A832C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8338 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8344 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8350 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A835C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8368 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8374 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8380 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A838C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8398 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A83A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A83B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A83BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A83C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A83D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A83E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A83EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A83F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8404 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8410 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A841C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8428 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8434 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8440 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A844C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8458 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8464 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8470 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A847C + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86A8488 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 127, 154, 235 @ 86A8494 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A84A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A84AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A84B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A84C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A84D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A84DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A84E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A84F4 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A8500 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A850C + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86A8518 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8524 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A8530 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A853C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8548 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8554 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8560 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A856C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8578 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8584 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8590 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A859C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A85A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A85B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A85C0 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 86A85CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A85D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A85E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A85F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A85FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8608 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8614 + voice_square_1_alt 0, 1, 0, 3, 5, 2 @ 86A8620 + voice_square_2_alt 3, 0, 3, 4, 2 @ 86A862C + voice_square_2_alt 0, 0, 2, 6, 5 @ 86A8638 + voice_square_1_alt 0, 0, 0, 1, 6, 2 @ 86A8644 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8650 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A865C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8668 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8674 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8680 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A868C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8698 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A86A4 + voice_programmable_wave_alt ProgrammableWaveData_86B48A0, 0, 1, 12, 0 @ 86A86B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A86BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A86C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A86D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A86E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A86EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A86F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8704 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8710 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A871C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8728 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8734 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8740 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A874C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8758 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8764 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8770 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A877C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8788 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8794 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A87A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A87AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A87B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A87C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A87D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A87DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A87E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A87F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8800 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A880C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8818 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8824 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8830 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A883C + voice_noise_alt 0, 0, 2, 6, 0 @ 86A8848 + voice_noise_alt 0, 0, 1, 6, 2 @ 86A8854 + + .align 2 +voicegroup_86A8860:: @ 86A8860 + voice_keysplit_all voicegroup_8676148 @ 86A8860 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A886C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8878 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8884 + voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 249, 0, 165 @ 86A8890 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A889C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A88A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A88B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A88C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A88CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A88D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A88E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A88F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A88FC + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 97, 236 @ 86A8908 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8914 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8920 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A892C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8938 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8944 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8950 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A895C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8968 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8974 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8980 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A898C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8998 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A89A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A89B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A89BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A89C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A89D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A89E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A89EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A89F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8A04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8A10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8A1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8A28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8A34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8A40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8A4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8A58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8A64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8A70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8A7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8A88 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 127, 154, 235 @ 86A8A94 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A8AA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8AAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8AB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8AC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8AD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8ADC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8AE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8AF4 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A8B00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8B0C + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86A8B18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8B24 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A8B30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8B3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8B48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8B54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8B60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8B6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8B78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8B84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8B90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8B9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8BA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8BB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8BC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8BCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8BD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8BE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8BF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8BFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8C08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8C14 + voice_square_1_alt 0, 1, 0, 0, 10, 0 @ 86A8C20 + voice_square_2_alt 1, 0, 0, 10, 0 @ 86A8C2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8C38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8C44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8C50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8C5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8C68 + voice_programmable_wave_alt ProgrammableWaveData_86B4860, 0, 0, 12, 0 @ 86A8C74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8C80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8C8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8C98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8CA4 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 0, 12, 0 @ 86A8CB0 + + .align 2 +voicegroup_86A8CBC:: @ 86A8CBC + voice_keysplit_all voicegroup_8676148 @ 86A8CBC + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A8CC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8CD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8CE0 + voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 249, 0, 165 @ 86A8CEC + voice_directsound 60, 0, DirectSoundWaveData_871F234, 255, 188, 103, 165 @ 86A8CF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8D04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8D10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8D1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8D28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8D34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8D40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8D4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8D58 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 86A8D64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8D70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8D7C + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 127 @ 86A8D88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8D94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8DA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8DAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8DB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8DC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8DD0 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 128, 249, 25, 127 @ 86A8DDC + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 165, 128, 204 @ 86A8DE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8DF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8E00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8E0C + voice_directsound 60, 0, DirectSoundWaveData_8709004, 255, 0, 255, 127 @ 86A8E18 + voice_directsound 60, 0, DirectSoundWaveData_870AE74, 255, 165, 154, 165 @ 86A8E24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8E30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8E3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8E48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8E54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8E60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8E6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8E78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8E84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8E90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8E9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8EA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8EB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8EC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8ECC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8ED8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8EE4 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 86A8EF0 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A8EFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F50 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A8F5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F80 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A8F8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8F98 + voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 165, 180, 165 @ 86A8FA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8FB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8FBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8FC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8FD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8FE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8FEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A8FF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9004 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9010 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A901C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9028 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9034 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9040 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A904C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9058 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9064 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9070 + voice_square_1_alt 0, 1, 0, 2, 7, 2 @ 86A907C + voice_square_2_alt 3, 0, 3, 6, 2 @ 86A9088 + voice_square_2_alt 3, 0, 2, 6, 5 @ 86A9094 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 3, 6, 5 @ 86A90A0 + voice_square_2_alt 0, 0, 2, 6, 5 @ 86A90AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A90B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A90C4 + voice_programmable_wave_alt ProgrammableWaveData_86B4850, 0, 7, 15, 1 @ 86A90D0 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 86A90DC + voice_programmable_wave_alt ProgrammableWaveData_86B4910, 0, 1, 9, 2 @ 86A90E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A90F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9100 + voice_square_2_alt 2, 0, 2, 6, 3 @ 86A910C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9118 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9124 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9130 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A913C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9148 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9154 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9160 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A916C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9178 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9184 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9190 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A919C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A91A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A91B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A91C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A91CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A91D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A91E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A91F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A91FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9208 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9214 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9220 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A922C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9238 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9244 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9250 + voice_directsound 60, 0, DirectSoundWaveData_88DA388, 255, 0, 255, 165 @ 86A925C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9268 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9274 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9280 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A928C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9298 + voice_noise_alt 0, 0, 2, 6, 2 @ 86A92A4 + voice_noise_alt 0, 0, 1, 6, 0 @ 86A92B0 + + .align 2 +voicegroup_86A92BC:: @ 86A92BC + voice_keysplit_all voicegroup_8676148 @ 86A92BC + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A92C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A92D4 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86A92E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A92EC + voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 249, 0, 165 @ 86A92F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9304 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9310 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A931C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9328 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9334 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9340 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A934C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9358 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9364 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9370 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A937C + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 127 @ 86A9388 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9394 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A93A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A93AC + voice_directsound 60, 0, DirectSoundWaveData_87410E0, 255, 0, 255, 165 @ 86A93B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A93C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A93D0 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 165, 128, 204 @ 86A93DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A93E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A93F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9400 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A940C + voice_directsound 60, 0, DirectSoundWaveData_8709004, 255, 0, 255, 127 @ 86A9418 + voice_directsound 60, 0, DirectSoundWaveData_870AE74, 255, 0, 255, 127 @ 86A9424 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9430 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A943C + voice_square_2_alt 3, 0, 4, 4, 4 @ 86A9448 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9454 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9460 + voice_directsound 60, 0, DirectSoundWaveData_86BEF94, 255, 165, 180, 216 @ 86A946C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9478 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9484 + voice_square_2_alt 1, 0, 1, 7, 5 @ 86A9490 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A949C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A94A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A94B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A94C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A94CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A94D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A94E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A94F0 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A94FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9508 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9514 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9520 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A952C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9538 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9544 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9550 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A955C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9568 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9574 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9580 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A958C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9598 + voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 127 @ 86A95A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A95B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A95BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A95C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A95D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A95E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A95EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A95F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9604 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9610 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A961C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9628 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9634 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9640 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A964C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9658 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9664 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9670 + voice_square_2_alt 2, 0, 2, 3, 1 @ 86A967C + voice_square_1_alt 0, 0, 0, 2, 7, 5 @ 86A9688 + voice_square_1_alt 0, 3, 0, 2, 6, 5 @ 86A9694 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A96A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A96AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A96B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A96C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A96D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A96DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A96E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A96F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9700 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A970C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9718 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9724 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9730 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A973C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9748 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9754 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9760 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A976C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9778 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9784 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9790 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A979C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A97A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A97B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A97C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A97CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A97D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A97E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A97F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A97FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9808 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9814 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9820 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A982C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9838 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9844 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9850 + voice_directsound 60, 0, DirectSoundWaveData_88DA388, 255, 0, 255, 165 @ 86A985C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9868 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9874 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9880 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A988C + voice_noise_alt 0, 0, 0, 15, 0 @ 86A9898 + voice_noise_alt 0, 0, 2, 6, 0 @ 86A98A4 + voice_noise_alt 0, 0, 1, 6, 0 @ 86A98B0 + + .align 2 +voicegroup_86A98BC:: @ 86A98BC + voice_keysplit_all voicegroup_8676148 @ 86A98BC + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A98C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A98D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A98E0 + voice_square_2_alt 3, 0, 2, 6, 5 @ 86A98EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A98F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9904 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9910 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A991C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9928 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9934 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9940 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A994C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9958 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9964 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9970 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A997C + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 128, 146, 190, 115 @ 86A9988 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9994 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A99A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A99AC + voice_directsound 60, 0, DirectSoundWaveData_87410E0, 255, 0, 255, 165 @ 86A99B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A99C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A99D0 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 165, 128, 204 @ 86A99DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A99E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A99F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9A00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9A0C + voice_directsound 60, 0, DirectSoundWaveData_8709004, 255, 0, 255, 127 @ 86A9A18 + voice_directsound 60, 0, DirectSoundWaveData_870AE74, 255, 0, 255, 127 @ 86A9A24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9A30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9A3C + voice_directsound 60, 0, DirectSoundWaveData_86FFDC0, 255, 253, 0, 149 @ 86A9A48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9A54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9A60 + voice_directsound 60, 0, DirectSoundWaveData_86BEF94, 255, 165, 180, 216 @ 86A9A6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9A78 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 86A9A84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9A90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9A9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9AA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9AB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9AC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9ACC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9AD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9AE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9AF0 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86A9AFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B50 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86A9B5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B80 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86A9B8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9B98 + voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 127 @ 86A9BA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9BB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9BBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9BC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9BD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9BE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9BEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9BF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9C04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9C10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9C1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9C28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9C34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9C40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9C4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9C58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9C64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9C70 + voice_square_1_alt 0, 1, 0, 2, 7, 2 @ 86A9C7C + voice_square_2_alt 3, 0, 3, 3, 0 @ 86A9C88 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 3, 6, 5 @ 86A9C94 + voice_square_1_alt 0, 0, 0, 2, 7, 2 @ 86A9CA0 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 86A9CAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9CB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9CC4 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 86A9CD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9CDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9CE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9CF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9D00 + voice_square_2_alt 2, 0, 2, 6, 3 @ 86A9D0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9D18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9D24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9D30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9D3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9D48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9D54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9D60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9D6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9D78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9D84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9D90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9D9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9DA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9DB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9DC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9DCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9DD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9DE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9DF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9DFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9E08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9E14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9E20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9E2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9E38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9E44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9E50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9E5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9E68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9E74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9E80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9E8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9E98 + voice_noise_alt 0, 0, 2, 6, 0 @ 86A9EA4 + voice_noise_alt 0, 0, 1, 6, 1 @ 86A9EB0 + + .align 2 +voicegroup_86A9EBC:: @ 86A9EBC + voice_keysplit_all voicegroup_8676148 @ 86A9EBC + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86A9EC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9ED4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9EE0 + voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 249, 0, 165 @ 86A9EEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9EF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9F04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9F10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9F1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9F28 + voice_directsound 60, 0, DirectSoundWaveData_86DD11C, 255, 0, 255, 0 @ 86A9F34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9F40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9F4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9F58 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 86A9F64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9F70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9F7C + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 128, 146, 108, 137 @ 86A9F88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9F94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9FA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9FAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9FB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9FC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9FD0 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 128, 204, 103, 226 @ 86A9FDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9FE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86A9FF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA000 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA00C + voice_directsound 60, 0, DirectSoundWaveData_8709004, 255, 0, 255, 127 @ 86AA018 + voice_directsound 60, 0, DirectSoundWaveData_870AE74, 255, 0, 255, 127 @ 86AA024 + voice_directsound 60, 0, DirectSoundWaveData_88DA388, 255, 0, 255, 165 @ 86AA030 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA03C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA048 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA054 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 86AA060 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA06C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA078 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 86AA084 + voice_directsound 60, 0, DirectSoundWaveData_87224B8, 255, 0, 255, 127 @ 86AA090 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA09C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA0A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA0B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA0C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA0CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA0D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA0E4 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 153 @ 86AA0F0 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AA0FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA108 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA114 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA120 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA12C + voice_directsound 60, 0, DirectSoundWaveData_86BA7E8, 255, 0, 255, 0 @ 86AA138 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA144 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA150 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86AA15C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA168 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA174 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA180 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86AA18C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA198 + voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 236, 188 @ 86AA1A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA1B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA1BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA1C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA1D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA1E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA1EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA1F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA204 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA210 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA21C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA228 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA234 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA240 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA24C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA258 + voice_directsound 60, 0, DirectSoundWaveData_88F94DC, 255, 0, 255, 127 @ 86AA264 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA270 + voice_square_1_alt 0, 1, 0, 1, 9, 0 @ 86AA27C + voice_square_2_alt 3, 0, 1, 10, 1 @ 86AA288 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA294 + voice_square_2_alt 2, 1, 0, 9, 1 @ 86AA2A0 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 86AA2AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA2B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA2C4 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86AA2D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA2DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA2E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA2F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA300 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 0, 15, 0 @ 86AA30C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA318 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA324 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA330 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA33C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA348 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA354 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA360 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA36C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA378 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA384 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA390 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA39C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA3A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA3B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA3C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA3CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA3D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA3E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA3F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA3FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA408 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA414 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA420 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA42C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA438 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA444 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA450 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA45C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA468 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA474 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA480 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA48C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA498 + voice_noise_alt 0, 0, 2, 6, 0 @ 86AA4A4 + voice_noise_alt 0, 0, 1, 8, 1 @ 86AA4B0 + + .align 2 +voicegroup_86AA4BC:: @ 86AA4BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA4BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA4C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA4D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA4E0 + voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 64, 249, 0, 188 @ 86AA4EC + voice_directsound 60, 0, DirectSoundWaveData_871F234, 51, 249, 0, 165 @ 86AA4F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA504 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA510 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA51C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA528 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA534 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA540 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA54C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA558 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA564 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA570 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA57C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA588 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA594 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA5A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA5AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA5B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA5C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA5D0 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 85, 249, 25, 127 @ 86AA5DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA5E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA5F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA600 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA60C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA618 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA624 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA630 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA63C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA648 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA654 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA660 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA66C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA678 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA684 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA690 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA69C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA6A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA6B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA6C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA6CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA6D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA6E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA6F0 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AA6FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA708 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA714 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA720 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA72C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA738 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA744 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA750 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA75C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA768 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA774 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA780 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA78C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA798 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA7A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA7B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA7BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA7C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA7D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA7E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA7EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA7F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA804 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA810 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA81C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA828 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA834 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA840 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA84C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA858 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA864 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA870 + voice_square_1_alt 0, 2, 0, 7, 0, 6 @ 86AA87C + voice_square_2_alt 1, 1, 5, 1, 6 @ 86AA888 + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 1, 7, 0, 6 @ 86AA894 + voice_square_1_alt 0, 0, 1, 4, 3, 6 @ 86AA8A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA8AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA8B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA8C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA8D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA8DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA8E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA8F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA900 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA90C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA918 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA924 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA930 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA93C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA948 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA954 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA960 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA96C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA978 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA984 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA990 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA99C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA9A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA9B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA9C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA9CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA9D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA9E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA9F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AA9FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAA08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAA14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAA20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAA2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAA38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAA44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAA50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAA5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAA68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAA74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAA80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAA8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAA98 + voice_noise_alt 0, 0, 2, 4, 0 @ 86AAAA4 + voice_noise_alt 0, 0, 1, 0, 0 @ 86AAAB0 + + .align 2 +voicegroup_86AAABC:: @ 86AAABC + voice_keysplit_all voicegroup_8675FEC @ 86AAABC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAAC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAAD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAAE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAAEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAAF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAB04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAB10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAB1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAB28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAB34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAB40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAB4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAB58 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 86AAB64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAB70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAB7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAB88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAB94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AABA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AABAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AABB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AABC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AABD0 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 128, 249, 25, 127 @ 86AABDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AABE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AABF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAC00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAC0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAC18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAC24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAC30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAC3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAC48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAC54 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 86AAC60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAC6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAC78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAC84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAC90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAC9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AACA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AACB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AACC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AACCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AACD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AACE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AACF0 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AACFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAD08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAD14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAD20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAD2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAD38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAD44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAD50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAD5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAD68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAD74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAD80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAD8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAD98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AADA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AADB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AADBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AADC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AADD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AADE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AADEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AADF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAE04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAE10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAE1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAE28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAE34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAE40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAE4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAE58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAE64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAE70 + voice_square_1_alt 0, 1, 0, 2, 3, 1 @ 86AAE7C + voice_square_2_alt 1, 0, 2, 4, 2 @ 86AAE88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAE94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAEA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAEAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAEB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAEC4 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86AAED0 + + .align 2 +voicegroup_86AAEDC:: @ 86AAEDC + voice_keysplit_all voicegroup_8676148 @ 86AAEDC + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86AAEE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAEF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAF00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAF0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAF18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAF24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAF30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAF3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAF48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAF54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAF60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAF6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAF78 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 86AAF84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAF90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAF9C + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 127 @ 86AAFA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAFB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAFC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAFCC + voice_directsound 60, 0, DirectSoundWaveData_87410E0, 255, 0, 255, 165 @ 86AAFD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAFE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAFF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AAFFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB008 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB014 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB020 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB02C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB038 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB044 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB050 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB05C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB068 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB074 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB080 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB08C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB098 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB0A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB0B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB0BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB0C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB0D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB0E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB0EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB0F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB104 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB110 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AB11C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB128 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB134 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB140 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB14C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB158 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB164 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB170 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86AB17C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB188 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86AB194 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB1A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB1AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB1B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB1C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB1D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB1DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB1E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB1F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB200 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB20C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB218 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB224 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB230 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB23C + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 86AB248 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB254 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB260 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB26C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB278 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB284 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB290 + voice_square_1_alt 0, 2, 0, 2, 6, 4 @ 86AB29C + voice_square_2_alt 2, 0, 2, 6, 2 @ 86AB2A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB2B4 + voice_square_2_alt 1, 0, 2, 6, 2 @ 86AB2C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB2CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB2D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB2E4 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86AB2F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB2FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB308 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB314 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB320 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB32C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB338 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB344 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB350 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB35C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB368 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB374 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB380 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB38C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB398 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB3A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB3B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB3BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB3C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB3D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB3E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB3EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB3F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB404 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB410 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB41C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB428 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB434 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB440 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB44C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB458 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB464 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB470 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB47C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB488 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB494 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB4A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB4AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB4B8 + voice_noise_alt 0, 0, 2, 4, 0 @ 86AB4C4 + voice_noise_alt 0, 0, 1, 0, 0 @ 86AB4D0 + + .align 2 +voicegroup_86AB4DC:: @ 86AB4DC + voice_keysplit_all voicegroup_8676148 @ 86AB4DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB4E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB4F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB500 + voice_directsound 60, 0, DirectSoundWaveData_871F234, 64, 188, 108, 244 @ 86AB50C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB518 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB524 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB530 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB53C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB548 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB554 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB560 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB56C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB578 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 86AB584 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB590 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB59C + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 64, 195, 92, 235 @ 86AB5A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB5B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB5C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB5CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB5D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB5E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB5F0 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 128, 249, 25, 127 @ 86AB5FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB608 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB614 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB620 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB62C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB638 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB644 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB650 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB65C + voice_directsound 60, 0, DirectSoundWaveData_86FFDC0, 64, 204, 113, 235 @ 86AB668 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB674 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB680 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB68C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB698 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB6A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB6B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB6BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB6C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB6D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB6E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB6EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB6F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB704 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB710 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AB71C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB728 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB734 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB740 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB74C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB758 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB764 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB770 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB77C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB788 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB794 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB7A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB7AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB7B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB7C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB7D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB7DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB7E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB7F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB800 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB80C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB818 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB824 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB830 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB83C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB848 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB854 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB860 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB86C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB878 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB884 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB890 + voice_square_1_alt 0, 1, 0, 0, 6, 0 @ 86AB89C + voice_square_2_alt 1, 0, 0, 6, 0 @ 86AB8A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB8B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB8C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB8CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB8D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB8E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB8F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB8FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB908 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB914 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB920 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86AB92C + + .align 2 +voicegroup_86AB938:: @ 86AB938 + voice_keysplit_all voicegroup_8676148 @ 86AB938 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86AB944 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB950 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB95C + voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86AB968 + voice_directsound 60, 65, DirectSoundWaveData_871F234, 255, 204, 77, 246 @ 86AB974 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB980 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB98C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB998 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB9A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB9B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB9BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB9C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB9D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB9E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB9EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AB9F8 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 76, 133, 137 @ 86ABA04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABA10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABA1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABA28 + voice_directsound 60, 0, DirectSoundWaveData_87410E0, 64, 188, 108, 165 @ 86ABA34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABA40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABA4C + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 127 @ 86ABA58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABA64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABA70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABA7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABA88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABA94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABAA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABAAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABAB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABAC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABAD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABADC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABAE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABAF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB54 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86ABB60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB6C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86ABB78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABB9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABBA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABBB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABBC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABBCC + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86ABBD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABBE4 + voice_directsound 60, 0, DirectSoundWaveData_88D6978, 255, 0, 206, 204 @ 86ABBF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABBFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABC08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABC14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABC20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABC2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABC38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABC44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABC50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABC5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABC68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABC74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABC80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABC8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABC98 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 86ABCA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABCB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABCBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABCC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABCD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABCE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABCEC + voice_square_1_alt 0, 0, 0, 1, 5, 2 @ 86ABCF8 + voice_square_2_alt 3, 0, 3, 4, 2 @ 86ABD04 + voice_square_2_alt 0, 0, 2, 6, 5 @ 86ABD10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABD1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABD28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABD34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABD40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABD4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABD58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABD64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABD70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABD7C + voice_programmable_wave_alt ProgrammableWaveData_86B4900, 0, 0, 12, 0 @ 86ABD88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABD94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABDA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABDAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABDB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABDC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABDD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABDDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABDE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABDF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABE00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABE0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABE18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABE24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABE30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABE3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABE48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABE54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABE60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABE6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABE78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABE84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABE90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABE9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABEA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABEB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABEC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABECC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABED8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABEE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABEF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABEFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF14 + voice_noise_alt 0, 0, 2, 6, 0 @ 86ABF20 + voice_noise_alt 0, 0, 1, 6, 0 @ 86ABF2C + + .align 2 +voicegroup_86ABF38:: @ 86ABF38 + voice_keysplit_all voicegroup_8676148 @ 86ABF38 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86ABF44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF5C + voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 128, 180, 108, 209 @ 86ABF68 + voice_directsound 60, 65, DirectSoundWaveData_871F234, 85, 204, 77, 246 @ 86ABF74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABF98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABFA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABFB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABFBC + voice_square_1_alt 0, 2, 0, 0, 10, 6 @ 86ABFC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABFD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABFE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABFEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ABFF8 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 76, 133, 137 @ 86AC004 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC010 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC01C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC028 + voice_directsound 60, 0, DirectSoundWaveData_87410E0, 64, 188, 108, 165 @ 86AC034 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC040 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC04C + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 127 @ 86AC058 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC064 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC070 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC07C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC088 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC094 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC0A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC0AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC0B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC0C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC0D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC0DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC0E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC0F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC100 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC10C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC118 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC124 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC130 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC13C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC148 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC154 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86AC160 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC16C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AC178 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC184 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC190 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC19C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC1A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC1B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC1C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC1CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC1D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC1E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC1F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC1FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC208 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC214 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC220 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC22C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC238 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC244 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC250 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC25C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC268 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC274 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC280 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC28C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC298 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 86AC2A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC2B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC2BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC2C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC2D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC2E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC2EC + voice_square_2_alt 2, 0, 2, 6, 2 @ 86AC2F8 + voice_square_1_alt 0, 2, 0, 1, 7, 4 @ 86AC304 + voice_programmable_wave_alt ProgrammableWaveData_86B4920, 0, 0, 12, 0 @ 86AC310 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC31C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC328 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC334 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC340 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC34C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC358 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC364 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC370 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC37C + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 0, 12, 0 @ 86AC388 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC394 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC3A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC3AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC3B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC3C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC3D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC3DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC3E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC3F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC400 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC40C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC418 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC424 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC430 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC43C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC448 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC454 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC460 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC46C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC478 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC484 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC490 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC49C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC4A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC4B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC4C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC4CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC4D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC4E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC4F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC4FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC508 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC514 + voice_noise_alt 0, 0, 2, 6, 0 @ 86AC520 + voice_noise_alt 0, 0, 1, 6, 0 @ 86AC52C + + .align 2 +voicegroup_86AC538:: @ 86AC538 + voice_keysplit_all voicegroup_8676148 @ 86AC538 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86AC544 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC550 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC55C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC568 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC574 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC580 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC58C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC598 + voice_directsound 60, 0, DirectSoundWaveData_86B5D04, 255, 165, 51, 242 @ 86AC5A4 + voice_directsound 60, 0, DirectSoundWaveData_86DD11C, 255, 0, 255, 0 @ 86AC5B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC5BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC5C8 + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 86AC5D4 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 86AC5E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC5EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC5F8 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 37, 165, 103, 127 @ 86AC604 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC610 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC61C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC628 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC634 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC640 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC64C + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 204, 92, 226 @ 86AC658 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC664 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC670 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC67C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC688 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC694 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC6A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC6AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC6B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC6C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC6D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC6DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC6E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC6F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC700 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC70C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC718 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC724 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC730 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC73C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC748 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC754 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 226 @ 86AC760 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC76C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AC778 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC784 + voice_square_1_alt 0, 2, 0, 2, 10, 1 @ 86AC790 + voice_square_2_alt 2, 0, 2, 6, 6 @ 86AC79C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC7A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC7B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC7C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC7CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC7D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC7E4 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86AC7F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC7FC + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86AC808 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC814 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC820 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC82C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC838 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC844 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC850 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC85C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC868 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC874 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC880 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC88C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC898 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 0, 255, 165 @ 86AC8A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC8B0 + voice_directsound 60, 0, DirectSoundWaveData_88F9F3C, 255, 191, 97, 165 @ 86AC8BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC8C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC8D4 + voice_directsound 60, 0, DirectSoundWaveData_88F94DC, 255, 0, 255, 127 @ 86AC8E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC8EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC8F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC904 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC910 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC91C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC928 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC934 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC940 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC94C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC958 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC964 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC970 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC97C + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86AC988 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC994 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC9A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC9AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC9B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC9C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC9D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC9DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC9E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AC9F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACA00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACA0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACA18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACA24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACA30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACA3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACA48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACA54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACA60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACA6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACA78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACA84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACA90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACA9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACAA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACAB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACAC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACACC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACAD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACAE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACAF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACAFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACB08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACB14 + voice_noise_alt 0, 0, 1, 9, 0 @ 86ACB20 + voice_noise_alt 0, 0, 1, 6, 1 @ 86ACB2C + + .align 2 +voicegroup_86ACB38:: @ 86ACB38 + voice_keysplit_all voicegroup_8676148 @ 86ACB38 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86ACB44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACB50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACB5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACB68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACB74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACB80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACB8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACB98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACBA4 + voice_directsound 60, 0, DirectSoundWaveData_86DD11C, 255, 0, 255, 0 @ 86ACBB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACBBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACBC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACBD4 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 86ACBE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACBEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACBF8 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 128, 146, 108, 137 @ 86ACC04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACC10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACC1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACC28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACC34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACC40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACC4C + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 128, 204, 103, 226 @ 86ACC58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACC64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACC70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACC7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACC88 + voice_directsound 60, 0, DirectSoundWaveData_8709004, 255, 0, 255, 127 @ 86ACC94 + voice_directsound 60, 0, DirectSoundWaveData_870AE74, 255, 0, 255, 127 @ 86ACCA0 + voice_directsound 60, 0, DirectSoundWaveData_88DA388, 255, 0, 255, 165 @ 86ACCAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACCB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACCC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACCD0 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 86ACCDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACCE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACCF4 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 86ACD00 + voice_directsound 60, 0, DirectSoundWaveData_87224B8, 255, 0, 255, 127 @ 86ACD0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD60 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 153 @ 86ACD6C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86ACD78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACD9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACDA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACDB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACDC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACDCC + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86ACDD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACDE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACDF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACDFC + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86ACE08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACE14 + voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 236, 188 @ 86ACE20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACE2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACE38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACE44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACE50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACE5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACE68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACE74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACE80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACE8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACE98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACEA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACEB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACEBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACEC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACED4 + voice_directsound 60, 0, DirectSoundWaveData_88F94DC, 255, 0, 255, 127 @ 86ACEE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACEEC + voice_square_1_alt 0, 3, 0, 1, 9, 0 @ 86ACEF8 + voice_square_2_alt 3, 0, 2, 9, 1 @ 86ACF04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACF10 + voice_square_2_alt 2, 1, 0, 9, 1 @ 86ACF1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACF28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACF34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACF40 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86ACF4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACF58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACF64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACF70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACF7C + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 0, 15, 0 @ 86ACF88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACF94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACFA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACFAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACFB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACFC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACFD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACFDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACFE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ACFF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD000 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD00C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD018 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD024 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD030 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD03C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD048 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD054 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD060 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD06C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD078 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD084 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD090 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD09C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD0A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD0B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD0C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD0CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD0D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD0E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD0F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD0FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD108 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD114 + voice_noise_alt 0, 0, 2, 6, 0 @ 86AD120 + voice_noise_alt 0, 0, 1, 8, 1 @ 86AD12C + + .align 2 +voicegroup_86AD138:: @ 86AD138 + voice_keysplit_all voicegroup_8676148 @ 86AD138 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD144 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD150 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD15C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD168 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD174 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD180 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD18C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD198 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD1A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD1B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD1BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD1C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD1D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD1E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD1EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD1F8 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 76, 133, 137 @ 86AD204 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD210 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD21C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD228 + voice_directsound 60, 0, DirectSoundWaveData_87410E0, 64, 188, 108, 165 @ 86AD234 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD240 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD24C + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 128, 249, 25, 127 @ 86AD258 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD264 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD270 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD27C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD288 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD294 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD2A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD2AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD2B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD2C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD2D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD2DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD2E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD2F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD300 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD30C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD318 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD324 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD330 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD33C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD348 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD354 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD360 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD36C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD378 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD384 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD390 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD39C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD3A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD3B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD3C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD3CC + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86AD3D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD3E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD3F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD3FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD408 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD414 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD420 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD42C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD438 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD444 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD450 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD45C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD468 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD474 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD480 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD48C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD498 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD4A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD4B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD4BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD4C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD4D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD4E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD4EC + voice_square_1_alt 0, 0, 0, 1, 10, 4 @ 86AD4F8 + voice_square_2_alt 3, 0, 2, 8, 3 @ 86AD504 + voice_square_2_alt 2, 0, 2, 6, 5 @ 86AD510 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD51C + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 0, 6, 0 @ 86AD528 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD534 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD540 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD54C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD558 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD564 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD570 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD57C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD588 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD594 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD5A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD5AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD5B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD5C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD5D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD5DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD5E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD5F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD600 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD60C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD618 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD624 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD630 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD63C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD648 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD654 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD660 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD66C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD678 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD684 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD690 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD69C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD6A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD6B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD6C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD6CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD6D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD6E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD6F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD6FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD708 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD714 + voice_noise_alt 0, 0, 2, 6, 0 @ 86AD720 + voice_noise_alt 0, 0, 1, 6, 0 @ 86AD72C + + .align 2 +voicegroup_86AD738:: @ 86AD738 + voice_keysplit_all voicegroup_8676148 @ 86AD738 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86AD744 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD750 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD75C + voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86AD768 + voice_directsound 60, 65, DirectSoundWaveData_871F234, 255, 204, 77, 246 @ 86AD774 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD780 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD78C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD798 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD7A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD7B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD7BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD7C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD7D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD7E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD7EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD7F8 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 76, 133, 137 @ 86AD804 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD810 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD81C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD828 + voice_directsound 60, 0, DirectSoundWaveData_87410E0, 64, 188, 108, 165 @ 86AD834 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD840 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD84C + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 127 @ 86AD858 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD864 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD870 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD87C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD888 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD894 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD8A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD8AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD8B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD8C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD8D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD8DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD8E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD8F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD900 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD90C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD918 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD924 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD930 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD93C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD948 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 86AD954 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86AD960 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD96C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AD978 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD984 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD990 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD99C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD9A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD9B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD9C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD9CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD9D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD9E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD9F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AD9FC + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86ADA08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADA14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADA20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADA2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADA38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADA44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADA50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADA5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADA68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADA74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADA80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADA8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADA98 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 86ADAA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADAB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADABC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADAC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADAD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADAE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADAEC + voice_square_1_alt 0, 1, 0, 1, 4, 2 @ 86ADAF8 + voice_square_2_alt 3, 0, 2, 6, 4 @ 86ADB04 + voice_square_2_alt 0, 0, 2, 6, 5 @ 86ADB10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADB1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADB28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADB34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADB40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADB4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADB58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADB64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADB70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADB7C + voice_programmable_wave_alt ProgrammableWaveData_86B4900, 0, 0, 12, 0 @ 86ADB88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADB94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADBA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADBAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADBB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADBC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADBD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADBDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADBE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADBF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADC00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADC0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADC18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADC24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADC30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADC3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADC48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADC54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADC60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADC6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADC78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADC84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADC90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADC9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADCA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADCB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADCC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADCCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADCD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADCE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADCF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADCFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADD08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADD14 + voice_noise_alt 0, 0, 2, 6, 0 @ 86ADD20 + voice_noise_alt 0, 0, 1, 6, 0 @ 86ADD2C + + .align 2 +voicegroup_86ADD38:: @ 86ADD38 + voice_keysplit_all voicegroup_8675FEC @ 86ADD38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADD44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADD50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADD5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADD68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADD74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADD80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADD8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADD98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADDA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADDB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADDBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADDC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADDD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADDE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADDEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADDF8 + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 210 @ 86ADE04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADE10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADE1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADE28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADE34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADE40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADE4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADE58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADE64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADE70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADE7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADE88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADE94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADEA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADEAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADEB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADEC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADED0 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 86ADEDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADEE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADEF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADF00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADF0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADF18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADF24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADF30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADF3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADF48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADF54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADF60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADF6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADF78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADF84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADF90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADF9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADFA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADFB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADFC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADFCC + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86ADFD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADFE4 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86ADFF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86ADFFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE008 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE014 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE020 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE02C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE038 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE044 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE050 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE05C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE068 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE074 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE080 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE08C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE098 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE0A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE0B0 + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 7, 15, 0 @ 86AE0BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE0C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE0D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE0E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE0EC + voice_square_1_alt 0, 2, 0, 1, 4, 1 @ 86AE0F8 + voice_square_2_alt 2, 0, 1, 4, 1 @ 86AE104 + voice_square_2_alt 0, 0, 1, 4, 1 @ 86AE110 + voice_square_1_alt 0, 0, 0, 1, 4, 1 @ 86AE11C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE128 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE134 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE140 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE14C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE158 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE164 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE170 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE17C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE188 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE194 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE1A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE1AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE1B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE1C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE1D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE1DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE1E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE1F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE200 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE20C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE218 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE224 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE230 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE23C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE248 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE254 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE260 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE26C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE278 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE284 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE290 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE29C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE2A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE2B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE2C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE2CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE2D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE2E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE2F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE2FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE308 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE314 + voice_noise_alt 0, 0, 2, 4, 0 @ 86AE320 + voice_noise_alt 0, 0, 1, 0, 0 @ 86AE32C + + .align 2 +voicegroup_86AE338:: @ 86AE338 + voice_keysplit_all voicegroup_8675FEC @ 86AE338 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE344 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE350 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE35C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE368 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE374 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE380 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE38C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE398 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE3A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE3B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE3BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE3C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE3D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE3E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE3EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE3F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE404 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE410 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE41C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE428 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE434 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE440 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE44C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE458 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE464 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE470 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE47C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE488 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE494 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE4A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE4AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE4B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE4C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE4D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE4DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE4E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE4F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE500 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE50C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE518 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE524 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE530 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE53C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE548 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE554 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE560 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 86AE56C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE578 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE584 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE590 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE59C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE5A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE5B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE5C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE5CC + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86AE5D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE5E4 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86AE5F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE5FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE608 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE614 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE620 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE62C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE638 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE644 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE650 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE65C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE668 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE674 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE680 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE68C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE698 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 86AE6A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE6B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE6BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE6C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE6D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE6E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE6EC + voice_square_2_alt 1, 0, 1, 7, 1 @ 86AE6F8 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 1 @ 86AE704 + voice_square_1_alt 0, 1, 0, 1, 7, 1 @ 86AE710 + voice_square_2_alt 2, 0, 1, 0, 0 @ 86AE71C + + .align 2 +voicegroup_86AE728:: @ 86AE728 + voice_keysplit_all voicegroup_8675FEC @ 86AE728 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE734 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE740 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE74C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE758 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE764 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE770 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE77C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE788 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE794 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE7A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE7AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE7B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE7C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE7D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE7DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE7E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE7F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE800 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE80C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE818 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE824 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE830 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE83C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE848 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE854 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE860 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE86C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE878 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE884 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE890 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE89C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE8A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE8B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE8C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE8CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE8D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE8E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE8F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE8FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE908 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE914 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE920 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE92C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE938 + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 86AE944 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE950 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 86AE95C + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AE968 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE974 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE980 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE98C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE998 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE9A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE9B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE9BC + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86AE9C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE9D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE9E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AE9EC + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86AE9F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEA04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEA10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEA1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEA28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEA34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEA40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEA4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEA58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEA64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEA70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEA7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEA88 + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 86AEA94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEAA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEAAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEAB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEAC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEAD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEADC + voice_square_2_alt 2, 0, 1, 7, 0 @ 86AEAE8 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 1 @ 86AEAF4 + voice_square_1_alt 0, 2, 0, 1, 7, 0 @ 86AEB00 + voice_square_2_alt 2, 0, 2, 0, 0 @ 86AEB0C + voice_square_2_alt 3, 0, 1, 7, 0 @ 86AEB18 + voice_square_1_alt 0, 3, 0, 1, 7, 0 @ 86AEB24 + voice_square_1_alt 0, 2, 0, 2, 0, 0 @ 86AEB30 + voice_square_1_alt 0, 3, 0, 0, 7, 0 @ 86AEB3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEB48 + voice_programmable_wave_alt ProgrammableWaveData_86B4880, 0, 7, 15, 0 @ 86AEB54 + voice_programmable_wave_alt ProgrammableWaveData_86B4890, 0, 7, 15, 1 @ 86AEB60 + + .align 2 +voicegroup_86AEB6C:: @ 86AEB6C + voice_keysplit_all voicegroup_8676148 @ 86AEB6C + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86AEB78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEB84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEB90 + voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86AEB9C + voice_directsound 60, 65, DirectSoundWaveData_871F234, 255, 204, 77, 246 @ 86AEBA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEBB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEBC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEBCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEBD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEBE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEBF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEBFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEC08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEC14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEC20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEC2C + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 76, 133, 137 @ 86AEC38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEC44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEC50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEC5C + voice_directsound 60, 0, DirectSoundWaveData_87410E0, 64, 188, 108, 165 @ 86AEC68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEC74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEC80 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 127 @ 86AEC8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEC98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AECA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AECB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AECBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AECC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AECD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AECE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AECEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AECF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AED04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AED10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AED1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AED28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AED34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AED40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AED4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AED58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AED64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AED70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AED7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AED88 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86AED94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEDA0 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AEDAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEDB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEDC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEDD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEDDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEDE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEDF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEE00 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86AEE0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEE18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEE24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEE30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEE3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEE48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEE54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEE60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEE6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEE78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEE84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEE90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEE9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEEA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEEB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEEC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEECC + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 86AEED8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEEE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEEF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEEFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEF08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEF14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEF20 + voice_square_1_alt 0, 1, 0, 2, 5, 2 @ 86AEF2C + voice_square_2_alt 3, 0, 2, 6, 3 @ 86AEF38 + voice_square_2_alt 0, 0, 2, 6, 5 @ 86AEF44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEF50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEF5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEF68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEF74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEF80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEF8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEF98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEFA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEFB0 + voice_programmable_wave_alt ProgrammableWaveData_86B4900, 0, 0, 12, 0 @ 86AEFBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEFC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEFD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEFE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEFEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AEFF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF004 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF010 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF01C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF028 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF034 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF040 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF04C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF058 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF064 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF070 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF07C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF088 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF094 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF0A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF0AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF0B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF0C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF0D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF0DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF0E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF0F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF100 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF10C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF118 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF124 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF130 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF13C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF148 + voice_noise_alt 0, 0, 2, 6, 0 @ 86AF154 + voice_noise_alt 0, 0, 1, 6, 0 @ 86AF160 + + .align 2 +voicegroup_86AF16C:: @ 86AF16C + voice_keysplit_all voicegroup_8676148 @ 86AF16C + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86AF178 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF184 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF190 + voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86AF19C + voice_directsound 60, 65, DirectSoundWaveData_871F234, 128, 204, 77, 246 @ 86AF1A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF1B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF1C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF1CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF1D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF1E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF1F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF1FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF208 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 86AF214 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF220 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF22C + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 51, 0, 203, 127 @ 86AF238 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF244 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF250 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF25C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF268 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF274 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF280 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 128, 249, 25, 127 @ 86AF28C + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 64, 216, 51, 224 @ 86AF298 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF2A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF2B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF2BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF2C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF2D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF2E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF2EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF2F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF304 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 86AF310 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF31C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF328 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF334 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF340 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF34C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF358 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF364 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF370 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF37C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF388 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF394 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF3A0 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AF3AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF3B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF3C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF3D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF3DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF3E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF3F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF400 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF40C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF418 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF424 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF430 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF43C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF448 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF454 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF460 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF46C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF478 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF484 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF490 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF49C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF4A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF4B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF4C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF4CC + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 86AF4D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF4E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF4F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF4FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF508 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF514 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF520 + voice_square_1_alt 0, 1, 0, 2, 3, 4 @ 86AF52C + voice_square_2_alt 3, 0, 3, 3, 2 @ 86AF538 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF544 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF550 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF55C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF568 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF574 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF580 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF58C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF598 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF5A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF5B0 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86AF5BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF5C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF5D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF5E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF5EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF5F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF604 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF610 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF61C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF628 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF634 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF640 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF64C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF658 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF664 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF670 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF67C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF688 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF694 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF6A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF6AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF6B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF6C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF6D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF6DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF6E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF6F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF700 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF70C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF718 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF724 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF730 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF73C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF748 + voice_noise_alt 0, 0, 2, 6, 0 @ 86AF754 + voice_noise_alt 0, 0, 1, 3, 2 @ 86AF760 + + .align 2 +voicegroup_86AF76C:: @ 86AF76C + voice_keysplit_all voicegroup_8676148 @ 86AF76C + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86AF778 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF784 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF790 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF79C + voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 249, 0, 165 @ 86AF7A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF7B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF7C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF7CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF7D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF7E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF7F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF7FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF808 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF814 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF820 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF82C + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 0, 255, 127 @ 86AF838 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF844 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF850 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF85C + voice_directsound 60, 0, DirectSoundWaveData_87410E0, 255, 0, 255, 165 @ 86AF868 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF874 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF880 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF88C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF898 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF8A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF8B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF8BC + voice_directsound 60, 0, DirectSoundWaveData_8709004, 128, 0, 255, 214 @ 86AF8C8 + voice_directsound 60, 0, DirectSoundWaveData_870AE74, 128, 0, 255, 206 @ 86AF8D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF8E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF8EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF8F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF904 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF910 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF91C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF928 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 165 @ 86AF934 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF940 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF94C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF958 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF964 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF970 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF97C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF988 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF994 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF9A0 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86AF9AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF9B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF9C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF9D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF9DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF9E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AF9F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA00 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86AFA0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA30 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86AFA3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA48 + voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 209 @ 86AFA54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFA9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFAA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFAB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFAC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFACC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFAD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFAE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFAF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFAFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFB08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFB14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFB20 + voice_square_1_alt 0, 3, 0, 2, 3, 4 @ 86AFB2C + voice_square_2_alt 3, 0, 2, 3, 4 @ 86AFB38 + voice_square_1_alt 0, 3, 0, 2, 3, 4 @ 86AFB44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFB50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFB5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFB68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFB74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFB80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFB8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFB98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFBA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFBB0 + voice_programmable_wave_alt ProgrammableWaveData_86B4840, 0, 7, 15, 0 @ 86AFBBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFBC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFBD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFBE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFBEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFBF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFC04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFC10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFC1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFC28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFC34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFC40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFC4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFC58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFC64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFC70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFC7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFC88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFC94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFCA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFCAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFCB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFCC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFCD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFCDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFCE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFCF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFD00 + voice_directsound 60, 0, DirectSoundWaveData_88DA388, 255, 0, 255, 165 @ 86AFD0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFD18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFD24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFD30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFD3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFD48 + voice_noise_alt 0, 0, 2, 6, 0 @ 86AFD54 + voice_noise_alt 0, 0, 1, 3, 1 @ 86AFD60 + voice_keysplit_all voicegroup_86B0378 @ 86AFD6C + voice_square_1_alt 0, 2, 0, 2, 9, 1 @ 86AFD78 + voice_square_2_alt 2, 0, 2, 9, 1 @ 86AFD84 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86AFD90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFD9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFDA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFDB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFDC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFDCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFDD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFDE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFDF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFDFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFE08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFE14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFE20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFE2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFE38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFE44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFE50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFE5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFE68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFE74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFE80 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 165, 154, 127 @ 86AFE8C + voice_keysplit_all voicegroup_8676148 @ 86AFE98 + voice_square_1_alt 0, 2, 0, 2, 3, 1 @ 86AFEA4 + voice_square_2_alt 2, 0, 2, 3, 1 @ 86AFEB0 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86AFEBC + + .align 2 +voicegroup_86AFEC8:: @ 86AFEC8 + voice_keysplit_all voicegroup_86B0378 @ 86AFEC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFED4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFEE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFEEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFEF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFF04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFF10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFF1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFF28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFF34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFF40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFF4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFF58 + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 86AFF64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFF70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFF7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFF88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFF94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFFA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFFAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFFB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFFC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFFD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFFDC + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 85, 165, 154, 127 @ 86AFFE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86AFFF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0000 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B000C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0018 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0024 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0030 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B003C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0048 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0054 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0060 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B006C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0078 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0084 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0090 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B009C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B00A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B00B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B00C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B00CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B00D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B00E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B00F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B00FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0108 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0114 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0120 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B012C + + .align 2 +voicegroup_86B0138:: @ 86B0138 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0138 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0144 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0150 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B015C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0168 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0174 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0180 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B018C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0198 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B01A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B01B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B01BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B01C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B01D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B01E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B01EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B01F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0204 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0210 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B021C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0228 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0234 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0240 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B024C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0258 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0264 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0270 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B027C + voice_square_1_alt 0, 2, 0, 2, 7, 1 @ 86B0288 + voice_square_2_alt 2, 0, 2, 9, 1 @ 86B0294 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B02A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B02AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B02B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B02C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B02D0 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 86B02DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B02E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B02F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0300 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B030C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0318 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0324 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0330 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B033C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0348 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0354 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0360 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B036C + + .align 2 +voicegroup_86B0378:: @ 86B0378 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0378 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0384 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0390 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B039C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B03A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B03B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B03C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B03CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B03D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B03E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B03F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B03FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0408 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0414 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0420 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B042C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0438 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0444 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0450 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B045C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0468 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0474 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0480 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B048C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0498 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B04A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B04B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B04BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B04C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B04D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B04E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B04EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B04F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0504 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0510 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86DB908, 255, 0, 255, 0 @ 86B051C + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86CD0C4, 255, 0, 255, 0 @ 86B0528 + voice_directsound_no_resample 67, 71, DirectSoundWaveData_86CDFDC, 255, 180, 175, 228 @ 86B0534 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86CDFDC, 255, 0, 255, 242 @ 86B0540 + voice_directsound_no_resample 65, 0, DirectSoundWaveData_86C6200, 255, 255, 255, 127 @ 86B054C + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86C6A90, 255, 0, 255, 242 @ 86B0558 + voice_directsound 64, 24, DirectSoundWaveData_86CF950, 255, 0, 255, 226 @ 86B0564 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0570 + voice_directsound 68, 29, DirectSoundWaveData_86CF950, 255, 0, 255, 226 @ 86B057C + voice_directsound_no_resample 60, 64, DirectSoundWaveData_86C5B0C, 255, 0, 255, 242 @ 86B0588 + voice_directsound 72, 64, DirectSoundWaveData_86CF950, 255, 0, 255, 226 @ 86B0594 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B05A0 + voice_directsound 76, 39, DirectSoundWaveData_86CF950, 255, 0, 255, 226 @ 86B05AC + voice_directsound 80, 89, DirectSoundWaveData_86CF950, 255, 0, 255, 226 @ 86B05B8 + voice_directsound_no_resample 33, 10, DirectSoundWaveData_86CB6B8, 255, 235, 0, 231 @ 86B05C4 + voice_directsound 84, 104, DirectSoundWaveData_86CF950, 255, 0, 255, 235 @ 86B05D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B05DC + voice_directsound 63, 64, DirectSoundWaveData_86CB6B8, 255, 235, 0, 231 @ 86B05E8 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86D1A2C, 255, 165, 103, 231 @ 86B05F4 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86CA520, 255, 127, 77, 204 @ 86B0600 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86CADD4, 255, 231, 0, 188 @ 86B060C + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86D925C, 255, 0, 255, 242 @ 86B0618 + voice_directsound_no_resample 64, 118, DirectSoundWaveData_86CB6B8, 255, 235, 0, 231 @ 86B0624 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0630 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86CB6B8, 255, 235, 0, 231 @ 86B063C + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86CB6B8, 8, 0, 255, 216 @ 86B0648 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86D9C14, 255, 0, 255, 0 @ 86B0654 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86CC5E4, 255, 0, 255, 0 @ 86B0660 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86CCAFC, 255, 0, 255, 0 @ 86B066C + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86CCAFC, 255, 0, 255, 0 @ 86B0678 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0684 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0690 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B069C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B06A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B06B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B06C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B06CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B06D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B06E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B06F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B06FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0708 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0714 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0720 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B072C + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86DAA94, 255, 242, 103, 188 @ 86B0738 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86DAA94, 255, 242, 103, 188 @ 86B0744 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86DAA94, 255, 165, 103, 188 @ 86B0750 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86DB908, 255, 0, 255, 0 @ 86B075C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0768 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0774 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86DD11C, 255, 0, 255, 0 @ 86B0780 + voice_directsound 63, 64, DirectSoundWaveData_86DE6C0, 255, 0, 255, 0 @ 86B078C + voice_directsound 50, 64, DirectSoundWaveData_86DFCA4, 255, 0, 255, 0 @ 86B0798 + voice_directsound 64, 64, DirectSoundWaveData_86DFCA4, 255, 0, 255, 0 @ 86B07A4 + + .align 2 +voicegroup_86B07B0:: @ 86B07B0 + voice_keysplit_all voicegroup_86B0378 @ 86B07B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B07BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B07C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B07D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B07E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B07EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B07F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0804 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0810 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B081C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0828 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0834 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0840 + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 204, 103, 165 @ 86B084C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0858 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0864 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0870 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B087C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0888 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0894 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B08A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B08AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B08B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B08C4 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 165, 154, 165 @ 86B08D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B08DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B08E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B08F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0900 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B090C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0918 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0924 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0930 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B093C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0948 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0954 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0960 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B096C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0978 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0984 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0990 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B099C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B09A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B09B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B09C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B09CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B09D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B09E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B09F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B09FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0A08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0A14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0A20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0A2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0A38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0A44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0A50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0A5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0A68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0A74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0A80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0A8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0A98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0AA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0AB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0ABC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0AC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0AD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0AE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0AEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0AF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0B04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0B10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0B1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0B28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0B34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0B40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0B4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0B58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0B64 + voice_square_1_alt 0, 2, 0, 2, 7, 1 @ 86B0B70 + voice_square_2_alt 2, 0, 2, 7, 1 @ 86B0B7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0B88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0B94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0BA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0BAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0BB8 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 0, 15, 1 @ 86B0BC4 + + .align 2 +voicegroup_86B0BD0:: @ 86B0BD0 + voice_keysplit_all voicegroup_86B0378 @ 86B0BD0 + voice_keysplit_all voicegroup_86B0138 @ 86B0BDC + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86B0BE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0BF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0C00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0C0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0C18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0C24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0C30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0C3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0C48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0C54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0C60 + voice_directsound 60, 0, DirectSoundWaveData_873E2A4, 255, 235, 0, 204 @ 86B0C6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0C78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0C84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0C90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0C9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0CA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0CB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0CC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0CCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0CD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0CE4 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 85, 165, 154, 127 @ 86B0CF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0CFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0D08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0D14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0D20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0D2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0D38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0D44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0D50 + voice_directsound 60, 0, DirectSoundWaveData_86FFDC0, 255, 253, 0, 149 @ 86B0D5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0D68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0D74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0D80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0D8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0D98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0DA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0DB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0DBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0DC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0DD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0DE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0DEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0DF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E04 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86B0E10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E64 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86B0E70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E7C + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86B0E88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0E94 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86B0EA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0EAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0EB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0EC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0ED0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0EDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0EE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0EF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0F00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0F0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0F18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0F24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0F30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0F3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0F48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0F54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0F60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0F6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0F78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0F84 + voice_square_1_alt 0, 3, 0, 0, 10, 0 @ 86B0F90 + voice_square_2_alt 0, 0, 1, 9, 0 @ 86B0F9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0FA8 + voice_square_2_alt 3, 0, 1, 9, 0 @ 86B0FB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0FC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0FCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0FD8 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 0 @ 86B0FE4 + + .align 2 +voicegroup_86B0FF0:: @ 86B0FF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B0FF0 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86B0FFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1008 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1014 + voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 64, 249, 0, 188 @ 86B1020 + voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 249, 0, 165 @ 86B102C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1038 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1044 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1050 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B105C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1068 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1074 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1080 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B108C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1098 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B10A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B10B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B10BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B10C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B10D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B10E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B10EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B10F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1104 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1110 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B111C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1128 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1134 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1140 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B114C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1158 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1164 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1170 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B117C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1188 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1194 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B11A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B11AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B11B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B11C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B11D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B11DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B11E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B11F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1200 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B120C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1218 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1224 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1230 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B123C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1248 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1254 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1260 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B126C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1278 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1284 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1290 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B129C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B12A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B12B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B12C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B12CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B12D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B12E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B12F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B12FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1308 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1314 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1320 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B132C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1338 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1344 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1350 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B135C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1368 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1374 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1380 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B138C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1398 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B13A4 + voice_square_1_alt 0, 2, 0, 2, 3, 1 @ 86B13B0 + voice_square_2_alt 2, 0, 2, 3, 1 @ 86B13BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B13C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B13D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B13E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B13EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B13F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1404 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1410 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B141C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1428 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1434 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86B1440 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B144C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1458 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1464 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1470 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B147C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1488 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1494 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B14A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B14AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B14B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B14C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B14D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B14DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B14E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B14F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1500 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B150C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1518 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1524 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1530 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B153C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1548 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1554 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1560 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B156C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1578 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1584 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1590 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B159C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B15A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B15B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B15C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B15CC + voice_directsound_no_resample 60, 0, DirectSoundWaveData_86C6200, 255, 255, 255, 127 @ 86B15D8 + voice_noise_alt 0, 0, 1, 0, 0 @ 86B15E4 + + .align 2 +voicegroup_86B15F0:: @ 86B15F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B15F0 + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86B15FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1608 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1614 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1620 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B162C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1638 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1644 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1650 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B165C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1668 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1674 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1680 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B168C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1698 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B16A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B16B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B16BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B16C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B16D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B16E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B16EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B16F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1704 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1710 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B171C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1728 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1734 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1740 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B174C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1758 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1764 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1770 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B177C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1788 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1794 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B17A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B17AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B17B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B17C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B17D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B17DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B17E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B17F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1800 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B180C + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 242, 51, 242 @ 86B1818 + + .align 2 +voicegroup_86B1824:: @ 86B1824 + voice_keysplit_all voicegroup_8676148 @ 86B1824 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1830 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B183C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1848 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1854 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1860 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B186C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1878 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1884 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1890 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B189C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B18A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B18B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B18C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B18CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B18D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B18E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B18F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B18FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1908 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1914 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1920 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B192C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1938 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1944 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1950 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B195C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1968 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1974 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1980 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B198C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1998 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B19A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B19B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B19BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B19C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B19D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B19E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B19EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B19F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1A04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1A10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1A1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1A28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1A34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1A40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1A4C + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 0, 193, 76 @ 86B1A58 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86B1A64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1A70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1A7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1A88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1A94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1AA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1AAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1AB8 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86B1AC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1AD0 + voice_keysplit voicegroup_8677108, KeySplitTable_86B477C @ 86B1ADC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1AE8 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86B1AF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1B00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1B0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1B18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1B24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1B30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1B3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1B48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1B54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1B60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1B6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1B78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1B84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1B90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1B9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1BA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1BB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1BC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1BCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1BD8 + voice_square_1_alt 0, 1, 1, 2, 3, 1 @ 86B1BE4 + voice_square_2_alt 1, 0, 2, 6, 2 @ 86B1BF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1BFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1C08 + voice_square_1_alt 0, 0, 0, 2, 3, 1 @ 86B1C14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1C20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1C2C + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86B1C38 + + .align 2 +voicegroup_86B1C44:: @ 86B1C44 + voice_keysplit_all voicegroup_8676148 @ 86B1C44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1C50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1C5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1C68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1C74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1C80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1C8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1C98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1CA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1CB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1CBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1CC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1CD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1CE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1CEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1CF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1D04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1D10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1D1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1D28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1D34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1D40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1D4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1D58 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 128, 249, 25, 127 @ 86B1D64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1D70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1D7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1D88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1D94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1DA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1DAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1DB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1DC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1DD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1DDC + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 86B1DE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1DF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1E00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1E0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1E18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1E24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1E30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1E3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1E48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1E54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1E60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1E6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1E78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1E84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1E90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1E9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1EA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1EB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1EC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1ECC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1ED8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1EE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1EF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1EFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1F08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1F14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1F20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1F2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1F38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1F44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1F50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1F5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1F68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1F74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1F80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1F8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1F98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1FA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1FB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1FBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1FC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1FD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1FE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1FEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B1FF8 + voice_square_1_alt 0, 2, 0, 2, 4, 1 @ 86B2004 + voice_square_2_alt 2, 0, 2, 4, 1 @ 86B2010 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B201C + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86B2028 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2034 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2040 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B204C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2058 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2064 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2070 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B207C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2088 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2094 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B20A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B20AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B20B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B20C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B20D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B20DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B20E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B20F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2100 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B210C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2118 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2124 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2130 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B213C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2148 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2154 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2160 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B216C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2178 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2184 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2190 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B219C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B21A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B21B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B21C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B21CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B21D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B21E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B21F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B21FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2208 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2214 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2220 + voice_noise_alt 0, 0, 2, 6, 0 @ 86B222C + voice_noise_alt 0, 0, 1, 3, 1 @ 86B2238 + + .align 2 +voicegroup_86B2244:: @ 86B2244 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2244 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2250 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B225C + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86B2268 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2274 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2280 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B228C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2298 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B22A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B22B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B22BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B22C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B22D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B22E0 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 86B22EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B22F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2304 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2310 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B231C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2328 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2334 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2340 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B234C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2358 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2364 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2370 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B237C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2388 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2394 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23AC + voice_directsound 60, 0, DirectSoundWaveData_88DA388, 255, 0, 255, 165 @ 86B23B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B23F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2400 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 86B240C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2418 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2424 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2430 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B243C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2448 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2454 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2460 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B246C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2478 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2484 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2490 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B249C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B24A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B24B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B24C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B24CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B24D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B24E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B24F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B24FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2508 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2514 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2520 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B252C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2538 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2544 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2550 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B255C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2568 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2574 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2580 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B258C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2598 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B25A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B25B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B25BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B25C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B25D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B25E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B25EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B25F8 + voice_square_2_alt 3, 0, 0, 15, 0 @ 86B2604 + voice_square_1_alt 0, 2, 0, 0, 15, 0 @ 86B2610 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B261C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2628 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2634 + voice_directsound 60, 0, DirectSoundWaveData_86BA7E8, 255, 0, 255, 0 @ 86B2640 + + .align 2 +voicegroup_86B264C:: @ 86B264C + voice_keysplit_all voicegroup_8676148 @ 86B264C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2658 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2664 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2670 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B267C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2688 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2694 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B26A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B26AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B26B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B26C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B26D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B26DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B26E8 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 86B26F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2700 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B270C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2718 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2724 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2730 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B273C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2748 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2754 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2760 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B276C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2778 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2784 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2790 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B279C + voice_directsound 60, 0, DirectSoundWaveData_8709004, 128, 0, 255, 214 @ 86B27A8 + voice_directsound 60, 0, DirectSoundWaveData_870AE74, 128, 0, 255, 206 @ 86B27B4 + voice_directsound 60, 0, DirectSoundWaveData_88DA388, 255, 0, 255, 165 @ 86B27C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B27CC + voice_directsound 60, 0, DirectSoundWaveData_86FFDC0, 255, 253, 0, 149 @ 86B27D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B27E4 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 86B27F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B27FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2808 + voice_directsound 60, 0, DirectSoundWaveData_86B86A4, 255, 252, 0, 115 @ 86B2814 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2820 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B282C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2838 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2844 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2850 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B285C + voice_directsound 60, 0, DirectSoundWaveData_8726EF0, 255, 216, 0, 165 @ 86B2868 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2874 + voice_directsound 60, 0, DirectSoundWaveData_86B9318, 255, 246, 0, 226 @ 86B2880 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86B288C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2898 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28BC + voice_directsound 60, 0, DirectSoundWaveData_86BA7E8, 85, 0, 154, 165 @ 86B28C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28E0 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86B28EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B28F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2904 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2910 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86B291C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2928 + voice_directsound 60, 0, DirectSoundWaveData_870DE64, 255, 0, 255, 209 @ 86B2934 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2940 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B294C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2958 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2964 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2970 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B297C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2988 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2994 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B29A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B29AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B29B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B29C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B29D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B29DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B29E8 + voice_directsound 60, 0, DirectSoundWaveData_88F94DC, 255, 0, 255, 127 @ 86B29F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2A00 + voice_square_2_alt 2, 0, 0, 15, 0 @ 86B2A0C + voice_square_1_alt 0, 2, 0, 0, 15, 0 @ 86B2A18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2A24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2A30 + voice_programmable_wave_alt ProgrammableWaveData_86B4920, 0, 7, 15, 0 @ 86B2A3C + voice_programmable_wave_alt ProgrammableWaveData_86B4910, 0, 7, 15, 0 @ 86B2A48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2A54 + voice_programmable_wave_alt ProgrammableWaveData_86B4870, 0, 7, 15, 0 @ 86B2A60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2A6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2A78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2A84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2A90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2A9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2AA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2AB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2AC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2ACC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2AD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2AE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2AF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2AFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2B08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2B14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2B20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2B2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2B38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2B44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2B50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2B5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2B68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2B74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2B80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2B8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2B98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2BA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2BB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2BBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2BC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2BD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2BE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2BEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2BF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2C04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2C10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2C1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2C28 + voice_noise_alt 0, 0, 2, 6, 0 @ 86B2C34 + voice_noise_alt 0, 0, 1, 6, 1 @ 86B2C40 + + .align 2 +voicegroup_86B2C4C:: @ 86B2C4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2C4C + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86B2C58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2C64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2C70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2C7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2C88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2C94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2CA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2CAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2CB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2CC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2CD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2CDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2CE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2CF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2D00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2D0C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2D18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2D24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2D30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2D3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2D48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2D54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2D60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2D6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2D78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2D84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2D90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2D9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2DA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2DB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2DC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2DCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2DD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2DE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2DF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2DFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2E08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2E14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2E20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2E2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2E38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2E44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2E50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2E5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2E68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2E74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2E80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2E8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2E98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2EA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2EB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2EBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2EC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2ED4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2EE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2EEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2EF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2F04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2F10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2F1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2F28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2F34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2F40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2F4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2F58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2F64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2F70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2F7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2F88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2F94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2FA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2FAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2FB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2FC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2FD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2FDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2FE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B2FF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3000 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B300C + voice_square_2_alt 3, 0, 0, 15, 0 @ 86B3018 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3024 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3030 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B303C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3048 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3054 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3060 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B306C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3078 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3084 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3090 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B309C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B30A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B30B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B30C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B30CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B30D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B30E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B30F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B30FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3108 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3114 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3120 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B312C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3138 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3144 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3150 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B315C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3168 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3174 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3180 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B318C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3198 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B31A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B31B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B31BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B31C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B31D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B31E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B31EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B31F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3204 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3210 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B321C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3228 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3234 + voice_noise_alt 0, 0, 2, 6, 0 @ 86B3240 + + .align 2 +voicegroup_86B324C:: @ 86B324C + voice_keysplit_all voicegroup_8676148 @ 86B324C + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86B3258 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3264 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3270 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B327C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3288 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3294 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B32A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B32AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B32B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B32C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B32D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B32DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B32E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B32F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3300 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B330C + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 255, 76, 133, 137 @ 86B3318 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3324 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3330 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B333C + voice_directsound 60, 0, DirectSoundWaveData_87410E0, 64, 188, 108, 165 @ 86B3348 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3354 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3360 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 255, 249, 25, 127 @ 86B336C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3378 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3384 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3390 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B339C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B33A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B33B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B33C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B33CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B33D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B33E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B33F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B33FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3408 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3414 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3420 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B342C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3438 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3444 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3450 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B345C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3468 + voice_directsound 60, 0, DirectSoundWaveData_873D874, 255, 246, 0, 235 @ 86B3474 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3480 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86B348C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3498 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B34A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B34B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B34BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B34C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B34D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B34E0 + voice_keysplit voicegroup_8676AE4, KeySplitTable_86B4728 @ 86B34EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B34F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3504 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3510 + voice_keysplit voicegroup_8677120, KeySplitTable_86B47C4 @ 86B351C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3528 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3534 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3540 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B354C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3558 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3564 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3570 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B357C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3588 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3594 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B35A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B35AC + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 86B35B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B35C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B35D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B35DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B35E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B35F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3600 + voice_square_1_alt 0, 0, 0, 2, 5, 2 @ 86B360C + voice_square_2_alt 1, 0, 1, 7, 1 @ 86B3618 + voice_square_2_alt 0, 0, 2, 6, 5 @ 86B3624 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3630 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B363C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3648 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3654 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3660 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B366C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3678 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3684 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3690 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 0, 12, 0 @ 86B369C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B36A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B36B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B36C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B36CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B36D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B36E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B36F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B36FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3708 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3714 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3720 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B372C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3738 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3744 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3750 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B375C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3768 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3774 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3780 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B378C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3798 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B37A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B37B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B37BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B37C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B37D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B37E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B37EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B37F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3804 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3810 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B381C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3828 + voice_noise_alt 0, 0, 2, 6, 0 @ 86B3834 + voice_noise_alt 0, 0, 1, 6, 1 @ 86B3840 + + .align 2 +voicegroup_86B384C:: @ 86B384C + voice_keysplit_all voicegroup_8676148 @ 86B384C + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86B3858 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3864 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3870 + voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86B387C + voice_directsound 60, 65, DirectSoundWaveData_871F234, 128, 204, 77, 246 @ 86B3888 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3894 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B38A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B38AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B38B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B38C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B38D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B38DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B38E8 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 86B38F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3900 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B390C + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 51, 0, 203, 127 @ 86B3918 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3924 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3930 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B393C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3948 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3954 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3960 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 128, 249, 25, 127 @ 86B396C + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 64, 216, 51, 224 @ 86B3978 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3984 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3990 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B399C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B39A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B39B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B39C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B39CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B39D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B39E4 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 86B39F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B39FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3A08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3A14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3A20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3A2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3A38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3A44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3A50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3A5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3A68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3A74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3A80 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86B3A8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3A98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3AA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3AB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3ABC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3AC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3AD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3AE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3AEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3AF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3B04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3B10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3B1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3B28 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3B34 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3B40 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3B4C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3B58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3B64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3B70 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3B7C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3B88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3B94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3BA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3BAC + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 86B3BB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3BC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3BD0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3BDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3BE8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3BF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3C00 + voice_square_1_alt 0, 1, 0, 2, 6, 1 @ 86B3C0C + voice_square_2_alt 3, 0, 3, 3, 2 @ 86B3C18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3C24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3C30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3C3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3C48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3C54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3C60 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3C6C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3C78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3C84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3C90 + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 2 @ 86B3C9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3CA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3CB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3CC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3CCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3CD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3CE4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3CF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3CFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3D08 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3D14 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3D20 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3D2C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3D38 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3D44 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3D50 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3D5C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3D68 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3D74 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3D80 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3D8C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3D98 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3DA4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3DB0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3DBC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3DC8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3DD4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3DE0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3DEC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3DF8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3E04 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3E10 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3E1C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3E28 + voice_noise_alt 0, 0, 2, 7, 0 @ 86B3E34 + voice_noise_alt 0, 0, 1, 9, 1 @ 86B3E40 + + .align 2 +voicegroup_86B3E4C:: @ 86B3E4C + voice_keysplit_all voicegroup_8676148 @ 86B3E4C + voice_keysplit voicegroup_8676A90, KeySplitTable_86B4698 @ 86B3E58 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3E64 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3E70 + voice_directsound 60, 0, DirectSoundWaveData_871CBCC, 255, 188, 128, 226 @ 86B3E7C + voice_directsound 60, 65, DirectSoundWaveData_871F234, 128, 204, 77, 246 @ 86B3E88 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3E94 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3EA0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3EAC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3EB8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3EC4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3ED0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3EDC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3EE8 + voice_directsound 60, 0, DirectSoundWaveData_8736C74, 255, 165, 90, 216 @ 86B3EF4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3F00 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3F0C + voice_directsound 60, 0, DirectSoundWaveData_86B63A8, 51, 0, 203, 127 @ 86B3F18 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3F24 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3F30 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3F3C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3F48 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3F54 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3F60 + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 128, 249, 25, 127 @ 86B3F6C + voice_directsound 60, 0, DirectSoundWaveData_88D8418, 64, 216, 51, 224 @ 86B3F78 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3F84 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3F90 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3F9C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3FA8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3FB4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3FC0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3FCC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3FD8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3FE4 + voice_directsound 60, 0, DirectSoundWaveData_86B6BA0, 255, 253, 0, 188 @ 86B3FF0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B3FFC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4008 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4014 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4020 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B402C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4038 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4044 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4050 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B405C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4068 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4074 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4080 + voice_keysplit voicegroup_8676AC0, KeySplitTable_86B46E0 @ 86B408C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4098 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B40A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B40B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B40BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B40C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B40D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B40E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B40EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B40F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4104 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4110 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B411C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4128 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4134 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4140 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B414C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4158 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4164 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4170 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B417C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4188 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4194 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B41A0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B41AC + voice_directsound 60, 0, DirectSoundWaveData_86FF65C, 255, 127, 231, 127 @ 86B41B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B41C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B41D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B41DC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B41E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B41F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4200 + voice_square_1_alt 0, 2, 0, 2, 6, 3 @ 86B420C + voice_square_2_alt 3, 0, 2, 7, 2 @ 86B4218 + voice_square_1_alt 0, 1, 0, 2, 6, 2 @ 86B4224 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4230 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B423C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4248 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4254 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4260 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B426C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4278 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4284 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4290 + + .align 2 +voicegroup_86B429C:: @ 86B429C + voice_programmable_wave_alt ProgrammableWaveData_86B4830, 0, 7, 15, 2 @ 86B429C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B42A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B42B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B42C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B42CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B42D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B42E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B42F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B42FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4308 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4314 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4320 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B432C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4338 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4344 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4350 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B435C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4368 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4374 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4380 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B438C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4398 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B43A4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B43B0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B43BC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B43C8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B43D4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B43E0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B43EC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B43F8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4404 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4410 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B441C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4428 + voice_noise_alt 0, 0, 2, 7, 0 @ 86B4434 + voice_noise_alt 0, 0, 1, 9, 1 @ 86B4440 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86CD0C4, 255, 0, 255, 0 @ 86B444C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4458 + voice_directsound_no_resample 64, 52, DirectSoundWaveData_86C6A90, 255, 0, 255, 242 @ 86B4464 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4470 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B447C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4488 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4494 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44A0 + voice_directsound_no_resample 60, 64, DirectSoundWaveData_86C5B0C, 255, 0, 255, 242 @ 86B44AC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44B8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44C4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44D0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44DC + voice_directsound_no_resample 33, 104, DirectSoundWaveData_86CB6B8, 255, 235, 0, 231 @ 86B44E8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B44F4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4500 + voice_directsound 63, 64, DirectSoundWaveData_86CB6B8, 255, 235, 0, 231 @ 86B450C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4518 + voice_directsound_no_resample 64, 34, DirectSoundWaveData_86CA520, 255, 127, 77, 204 @ 86B4524 + voice_directsound_no_resample 64, 14, DirectSoundWaveData_86CADD4, 255, 231, 0, 188 @ 86B4530 + voice_directsound_no_resample 64, 89, DirectSoundWaveData_86D925C, 255, 0, 255, 242 @ 86B453C + voice_directsound_no_resample 64, 24, DirectSoundWaveData_86CB6B8, 255, 235, 0, 231 @ 86B4548 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4554 + voice_directsound_no_resample 64, 54, DirectSoundWaveData_86CB6B8, 255, 235, 0, 231 @ 86B4560 + voice_directsound_no_resample 64, 54, DirectSoundWaveData_86CB6B8, 8, 0, 255, 216 @ 86B456C + voice_directsound_no_resample 64, 94, DirectSoundWaveData_86D9C14, 255, 0, 255, 0 @ 86B4578 + voice_directsound_no_resample 64, 34, DirectSoundWaveData_86CC5E4, 255, 0, 255, 0 @ 86B4584 + voice_directsound_no_resample 64, 34, DirectSoundWaveData_86CCAFC, 255, 0, 255, 0 @ 86B4590 + voice_directsound_no_resample 64, 90, DirectSoundWaveData_86CCAFC, 255, 0, 255, 0 @ 86B459C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B45A8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B45B4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B45C0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B45CC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B45D8 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B45E4 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B45F0 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B45FC + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4608 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4614 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4620 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B462C + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4638 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4644 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B4650 + voice_directsound_no_resample 64, 39, DirectSoundWaveData_86DAA94, 255, 242, 103, 188 @ 86B465C + voice_directsound_no_resample 64, 79, DirectSoundWaveData_86DAA94, 255, 242, 103, 188 @ 86B4668 + voice_directsound_no_resample 64, 39, DirectSoundWaveData_86DAA94, 255, 165, 103, 188 @ 86B4674 + voice_directsound_no_resample 64, 64, DirectSoundWaveData_86DB908, 255, 0, 255, 0 @ 86B4680 + voice_square_1 0, 2, 0, 0, 15, 0 @ 86B468C diff --git a/src/battle_1.c b/src/battle_1.c deleted file mode 100644 index 5e4ef55832..0000000000 --- a/src/battle_1.c +++ /dev/null @@ -1,17 +0,0 @@ - -// Includes -#include "global.h" - -// Static type declarations - -// Static RAM declarations - -IWRAM_DATA u32 gUnknown_03000DD4; -IWRAM_DATA u32 gUnknown_03000DD8; -IWRAM_DATA u32 gUnknown_03000DDC; - -// Static ROM declarations - -// .rodata - -// .text diff --git a/src/battle_2.c b/src/battle_2.c deleted file mode 100644 index 24b43bdbd2..0000000000 --- a/src/battle_2.c +++ /dev/null @@ -1,5645 +0,0 @@ -#include "global.h" -#include "battle.h" -#include "recorded_battle.h" -#include "main.h" -#include "load_save.h" -#include "gpu_regs.h" -#include "unknown_task.h" -#include "battle_setup.h" -#include "pokemon.h" -#include "palette.h" -#include "task.h" -#include "event_data.h" -#include "species.h" -#include "berry.h" -#include "text.h" -#include "item.h" -#include "items.h" -#include "hold_effects.h" -#include "link.h" -#include "bg.h" -#include "dma3.h" -#include "string_util.h" -#include "malloc.h" -#include "event_data.h" -#include "m4a.h" -#include "window.h" -#include "rng.h" -#include "songs.h" -#include "sound.h" -#include "battle_message.h" -#include "sprite.h" -#include "util.h" -#include "trig.h" -#include "battle_ai_script_commands.h" -#include "battle_move_effects.h" -#include "battle_controllers.h" -#include "pokedex.h" -#include "abilities.h" -#include "moves.h" -#include "trainer_classes.h" -#include "evolution_scene.h" -#include "roamer.h" -#include "tv.h" -#include "safari_zone.h" -#include "battle_string_ids.h" - -struct UnknownStruct6 -{ - u16 unk0[0xA0]; - u8 fillerA0[0x640]; - u16 unk780[0xA0]; -}; - -struct UnknownPokemonStruct2 -{ - /*0x00*/ u16 species; - /*0x02*/ u16 heldItem; - /*0x04*/ u8 nickname[POKEMON_NAME_LENGTH + 1]; - /*0x0F*/ u8 level; - /*0x10*/ u16 hp; - /*0x12*/ u16 maxhp; - /*0x14*/ u32 status; - /*0x18*/ u32 personality; - /*0x1C*/ u8 gender; - /*0x1D*/ u8 language; -}; - -extern u8 gBattleCommunication[]; -extern u8 gBattleTerrain; -extern u16 gBattle_BG0_X; -extern u16 gBattle_BG0_Y; -extern u16 gBattle_BG1_X; -extern u16 gBattle_BG1_Y; -extern u16 gBattle_BG2_X; -extern u16 gBattle_BG2_Y; -extern u16 gBattle_BG3_X; -extern u16 gBattle_BG3_Y; -extern u16 gPartnerTrainerId; -extern u16 gBattle_WIN0H; -extern u16 gBattle_WIN0V; -extern u16 gBattle_WIN1H; -extern u16 gBattle_WIN1V; -extern u16 gTrainerBattleOpponent_A; -extern u16 gTrainerBattleOpponent_B; -extern struct BattleEnigmaBerry gEnigmaBerries[BATTLE_BANKS_COUNT]; -extern void (*gPreBattleCallback1)(void); -extern void (*gBattleMainFunc)(void); -extern void (*gCB2_AfterEvolution)(void); -extern struct UnknownPokemonStruct2 gUnknown_02022FF8[3]; // what is it used for? -extern struct UnknownPokemonStruct2* gUnknown_02023058; // what is it used for? -extern u8 gUnknown_02039B28[]; // possibly a struct? -extern struct UnknownStruct6 gUnknown_02038C28; // todo: identify & document -extern struct MusicPlayerInfo gMPlay_SE1; -extern struct MusicPlayerInfo gMPlay_SE2; -extern u8 gDecompressionBuffer[]; -extern u16 gUnknown_020243FC; -extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT]; -extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void); -extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200]; -extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200]; -extern u8 gStringBank; -extern u32 gUnknown_02022F88; -extern u32 gHitMarker; -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; -extern u8 gBattleMonForms[BATTLE_BANKS_COUNT]; -extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT]; -extern u16 gPaydayMoney; -extern u16 gBattleWeather; -extern u16 gPauseCounterBattle; -extern u16 gRandomTurnNumber; -extern u8 gActiveBank; -extern u8 gNoOfAllBanks; -extern u8 gBankAttacker; -extern u8 gBankTarget; -extern u8 gLeveledUpInBattle; -extern u8 gAbsentBankFlags; -extern u32 gBattleExecBuffer; -extern u8 gMultiHitCounter; -extern u8 gBattleMoveFlags; -extern s32 gBattleMoveDamage; -extern const u8* gUnknown_02024230[BATTLE_BANKS_COUNT]; -extern u16 gUnknownMovesUsedByBanks[BATTLE_BANKS_COUNT]; -extern u16 gLastUsedMovesByBanks[BATTLE_BANKS_COUNT]; -extern u16 gUnknown_02024250[BATTLE_BANKS_COUNT]; -extern u16 gUnknown_02024258[BATTLE_BANKS_COUNT]; -extern u16 gUnknown_02024260[BATTLE_BANKS_COUNT]; -extern u16 gLockedMoves[BATTLE_BANKS_COUNT]; -extern u8 gUnknown_02024270[BATTLE_BANKS_COUNT]; -extern u8 gUnknown_02024284[BATTLE_BANKS_COUNT]; -extern u32 gStatuses3[BATTLE_BANKS_COUNT]; -extern u16 gSideAffecting[2]; -extern u16 gCurrentMove; -extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT]; -extern u8 gMoveSelectionCursor[BATTLE_BANKS_COUNT]; -extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; -extern u8 gBanksByTurnOrder[BATTLE_BANKS_COUNT]; -extern u8 gActionForBanks[BATTLE_BANKS_COUNT]; -extern u16 gChosenMovesByBanks[BATTLE_BANKS_COUNT]; -extern u8 gCurrentActionFuncId; -extern u8 gLastUsedAbility; -extern u8 gUnknown_0203CF00[]; -extern const u8* gBattlescriptPtrsForSelection[BATTLE_BANKS_COUNT]; -extern const u8* gBattlescriptCurrInstr; -extern u32 gBattlePalaceMoveSelectionRngValue; -extern u8 gActionsByTurnOrder[BATTLE_BANKS_COUNT]; -extern u8 gCurrentTurnActionNumber; -extern u16 gDynamicBasePower; -extern u8 gCritMultiplier; -extern u8 gCurrMovePos; -extern u8 gUnknown_020241E9; -extern u16 gLastUsedMove; - -extern const struct BattleMove gBattleMoves[]; -extern const u16 gUnknown_08C004E0[]; // battle textbox palette -extern const struct BgTemplate gUnknown_0831AA08[]; -extern const struct WindowTemplate * const gUnknown_0831ABA0[]; -extern const u8 gUnknown_0831ACE0[]; -extern const u8 gStatStageRatios[][2]; -extern const u8 * const gBattleScriptsForMoveEffects[]; -extern const u8 * const gBattlescriptsForBallThrow[]; -extern const u8 * const gBattlescriptsForRunningByItem[]; -extern const u8 * const gUnknown_082DBD3C[]; -extern const u8 * const gBattlescriptsForSafariActions[]; - -// strings -extern const u8 gText_LinkStandby3[]; -extern const u8 gText_RecordBattleToPass[]; -extern const u8 gText_BattleYesNoChoice[]; -extern const u8 gText_BattleRecordCouldntBeSaved[]; -extern const u8 gText_BattleRecordedOnPass[]; -extern const u8 gText_ShedinjaJapaneseName[]; -extern const u8 gText_EmptyString3[]; -extern const u8 gText_Poison[]; -extern const u8 gText_Sleep[]; -extern const u8 gText_Paralysis[]; -extern const u8 gText_Burn[]; -extern const u8 gText_Ice[]; -extern const u8 gText_Confusion[]; -extern const u8 gText_Love[]; - -// battlescripts -extern const u8 gUnknown_082DB8BE[]; -extern const u8 gUnknown_082DB881[]; -extern const u8 BattleScript_ActionSelectionItemsCantBeUsed[]; -extern const u8 gUnknown_082DAB11[]; -extern const u8 gUnknown_082DB9BA[]; -extern const u8 gUnknown_082DAAFE[]; -extern const u8 gUnknown_082DAB0B[]; -extern const u8 BattleScript_FocusPunchSetUp[]; -extern const u8 BattleScript_LinkBattleWonOrLost[]; -extern const u8 BattleScript_FrontierTrainerBattleWon[]; -extern const u8 BattleScript_LocalTrainerBattleWon[]; -extern const u8 BattleScript_PayDayMoneyAndPickUpItems[]; -extern const u8 BattleScript_LocalBattleLost[]; -extern const u8 gUnknown_082DB9C8[]; -extern const u8 gUnknown_082DAA0B[]; -extern const u8 gUnknown_082DB9C1[]; -extern const u8 BattleScript_RanAwayUsingMonAbility[]; -extern const u8 BattleScript_SmokeBallEscape[]; -extern const u8 BattleScript_GotAwaySafely[]; -extern const u8 BattleScript_WildMonFled[]; -extern const u8 BattleScript_MoveUsedLoafingAround[]; -extern const u8 BattleScript_ActionSwitch[]; -extern const u8 BattleScript_PrintFailedToRunString[]; - -// functions -extern void dp12_8087EA4(void); -extern void sub_80356D0(void); -extern void GetFrontierTrainerName(u8* dst, u16 trainerId); // battle tower -extern void sub_8166188(void); // battle tower, sets link battle mons level but why? -extern void sub_8165B88(u8* dst, u16 trainerId); // battle tower, gets language -extern void sub_81DB4DC(u8* dst, u8 arg2); // -extern void sub_81B9150(void); -extern void sub_800AC34(void); -extern void sub_80B3AF8(u8 taskId); // cable club -extern void sub_8076918(u8 bank); -extern void SetHealthboxSpriteVisible(u8 healthoxSpriteId); -extern void sub_81A56B4(void); // battle frontier 2 -extern u8 sub_81A9E28(void); // battle frontier 2 -extern void sub_81A56E8(u8 bank); // battle frontier 2 -extern void sub_81B8FB0(u8, u8); // party menu -extern u8 pokemon_order_func(u8); // party menu -extern bool8 InBattlePyramid(void); - -// this file's functions -static void CB2_InitBattleInternal(void); -static void CB2_PreInitMultiBattle(void); -static void CB2_PreInitIngamePlayerPartnerBattle(void); -static void CB2_HandleStartMultiPartnerBattle(void); -static void CB2_HandleStartMultiBattle(void); -static void CB2_HandleStartBattle(void); -static void TryCorrectShedinjaLanguage(struct Pokemon *mon); -static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 firstTrainer); -static void BattleMainCB1(void); -static void sub_8038538(struct Sprite *sprite); -static void sub_8038F14(void); -static void sub_8038F34(void); -static void sub_80392A8(void); -static void sub_803937C(void); -static void sub_803939C(void); -static void sub_803980C(struct Sprite *sprite); -static void sub_8039838(struct Sprite *sprite); -static void sub_8039894(struct Sprite *sprite); -static void sub_80398D0(struct Sprite *sprite); -static void sub_8039A48(struct Sprite *sprite); -static void sub_8039AF4(struct Sprite *sprite); -static void SpriteCallbackDummy_3(struct Sprite *sprite); -static void oac_poke_ally_(struct Sprite *sprite); -static void SpecialStatusesClear(void); -static void TurnValuesCleanUp(bool8 var0); -static void SpriteCB_HealthBoxBounce(struct Sprite *sprite); -static void BattleStartClearSetData(void); -static void BattleIntroGetMonsData(void); -static void BattleIntroPrepareBackgroundSlide(void); -static void BattleIntroDrawTrainersOrMonsSprites(void); -static void BattleIntroDrawPartySummaryScreens(void); -static void BattleIntroPrintTrainerWantsToBattle(void); -static void BattleIntroPrintWildMonAttacked(void); -static void BattleIntroPrintOpponentSendsOut(void); -static void BattleIntroPrintPlayerSendsOut(void); -static void BattleIntroOpponent1SendsOutMonAnimation(void); -static void BattleIntroOpponent2SendsOutMonAnimation(void); -static void BattleIntroRecordMonsToDex(void); -static void BattleIntroPlayer1SendsOutMonAnimation(void); -static void TryDoEventsBeforeFirstTurn(void); -static void HandleTurnActionSelectionState(void); -static void RunTurnActionsFunctions(void); -static void SetActionsAndBanksTurnOrder(void); -static void sub_803CDF8(void); -static bool8 sub_803CDB8(void); -static void CheckFocusPunch_ClearVarsBeforeTurnStarts(void); -static void FreeResetData_ReturnToOvOrDoEvolutions(void); -static void ReturnFromBattleToOverworld(void); -static void TryEvolvePokemon(void); -static void WaitForEvoSceneToFinish(void); -static void HandleEndTurn_ContinueBattle(void); -static void HandleEndTurn_BattleWon(void); -static void HandleEndTurn_BattleLost(void); -static void HandleEndTurn_RanFromBattle(void); -static void HandleEndTurn_MonFled(void); -static void HandleEndTurn_FinishBattle(void); -static void HandleAction_UseMove(void); -static void HandleAction_Switch(void); -static void HandleAction_UseItem(void); -static void HandleAction_Run(void); -static void HandleAction_WatchesCarefully(void); -static void HandleAction_SafariZoneBallThrow(void); -static void HandleAction_ThrowPokeblock(void); -static void HandleAction_GoNear(void); -static void HandleAction_SafriZoneRun(void); -static void HandleAction_Action9(void); -static void HandleAction_Action11(void); -static void HandleAction_NothingIsFainted(void); -static void HandleAction_ActionFinished(void); - -// rom const data -static void (* const sTurnActionsFuncsTable[])(void) = -{ - HandleAction_UseMove, // ACTION_USE_MOVE - HandleAction_UseItem, // ACTION_USE_ITEM - HandleAction_Switch, // ACTION_SWITCH - HandleAction_Run, // ACTION_RUN - HandleAction_WatchesCarefully, // ACTION_WATCHES_CAREFULLY - HandleAction_SafariZoneBallThrow, // ACTION_SAFARI_ZONE_BALL - HandleAction_ThrowPokeblock, // ACTION_POKEBLOCK_CASE - HandleAction_GoNear, // ACTION_GO_NEAR - HandleAction_SafriZoneRun, // ACTION_SAFARI_ZONE_RUN - HandleAction_Action9, // ACTION_9 - HandleAction_RunBattleScript, // ACTION_RUN_BATTLESCRIPT - HandleAction_Action11, // not sure about this one - HandleAction_ActionFinished, // ACTION_FINISHED - HandleAction_NothingIsFainted, // ACTION_NOTHING_FAINTED -}; - -static void (* const sEndTurnFuncsTable[])(void) = -{ - HandleEndTurn_ContinueBattle, // battle outcome 0 - HandleEndTurn_BattleWon, // BATTLE_WON - HandleEndTurn_BattleLost, // BATTLE_LOST - HandleEndTurn_BattleLost, // BATTLE_DREW - HandleEndTurn_RanFromBattle, // BATTLE_RAN - HandleEndTurn_FinishBattle, // BATTLE_PLAYER_TELEPORTED - HandleEndTurn_MonFled, // BATTLE_POKE_FLED - HandleEndTurn_FinishBattle, // BATTLE_CAUGHT - HandleEndTurn_FinishBattle, // battle outcome 8 - HandleEndTurn_FinishBattle, // BATTLE_FORFEITED - HandleEndTurn_FinishBattle, // BATTLE_OPPONENT_TELEPORTED -}; - -const u8 gStatusConditionString_PoisonJpn[8] = _("どく$$$$$"); -const u8 gStatusConditionString_SleepJpn[8] = _("ねむり$$$$"); -const u8 gStatusConditionString_ParalysisJpn[8] = _("まひ$$$$$"); -const u8 gStatusConditionString_BurnJpn[8] = _("やけど$$$$"); -const u8 gStatusConditionString_IceJpn[8] = _("こおり$$$$"); -const u8 gStatusConditionString_ConfusionJpn[8] = _("こんらん$$$"); -const u8 gStatusConditionString_LoveJpn[8] = _("メロメロ$$$"); - -const u8 * const gStatusConditionStringsTable[7][2] = -{ - {gStatusConditionString_PoisonJpn, gText_Poison}, - {gStatusConditionString_SleepJpn, gText_Sleep}, - {gStatusConditionString_ParalysisJpn, gText_Paralysis}, - {gStatusConditionString_BurnJpn, gText_Burn}, - {gStatusConditionString_IceJpn, gText_Ice}, - {gStatusConditionString_ConfusionJpn, gText_Confusion}, - {gStatusConditionString_LoveJpn, gText_Love} -}; - -static const u8 sUnknown_0831BCE0[][3] = {{0, 0, 0}, {3, 5, 0}, {2, 3, 0}, {1, 2, 0}, {1, 1, 0}}; -static const u8 sUnknown_0831BCEF[] = {4, 3, 2, 1}; -static const u8 sUnknown_0831BCF3[] = {4, 4, 4, 4}; - -void CB2_InitBattle(void) -{ - MoveSaveBlocks_ResetHeap(); - AllocateBattleResrouces(); - AllocateBattleSpritesData(); - AllocateMonSpritesGfx(); - sub_8185F84(); - - if (gBattleTypeFlags & BATTLE_TYPE_MULTI) - { - if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) - { - CB2_InitBattleInternal(); - } - else if (!(gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER)) - { - HandleLinkBattleSetup(); - SetMainCallback2(CB2_PreInitMultiBattle); - } - else - { - SetMainCallback2(CB2_PreInitIngamePlayerPartnerBattle); - } - gBattleCommunication[MULTIUSE_STATE] = 0; - } - else - { - CB2_InitBattleInternal(); - } -} - -static void CB2_InitBattleInternal(void) -{ - s32 i; - - SetHBlankCallback(NULL); - SetVBlankCallback(NULL); - - CpuFill32(0, (void*)(VRAM), VRAM_SIZE); - - SetGpuReg(REG_OFFSET_MOSAIC, 0); - SetGpuReg(REG_OFFSET_WIN0H, 240); - SetGpuReg(REG_OFFSET_WIN0V, 0x5051); - SetGpuReg(REG_OFFSET_WININ, 0); - SetGpuReg(REG_OFFSET_WINOUT, 0); - - gBattle_WIN0H = 240; - - if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gPartnerTrainerId != STEVEN_PARTNER_ID) - { - gBattle_WIN0V = 159; - gBattle_WIN1H = 240; - gBattle_WIN1V = 32; - } - else - { - gBattle_WIN0V = 0x5051; - dp12_8087EA4(); - - for (i = 0; i < 80; i++) - { - gUnknown_02038C28.unk0[i] = 0xF0; - gUnknown_02038C28.unk780[i] = 0xF0; - } - for (i = 80; i < 160; i++) - { - #ifndef NONMATCHING - asm(""::"r"(i)); // needed to match - #endif // NONMATCHING - - gUnknown_02038C28.unk0[i] = 0xFF10; - gUnknown_02038C28.unk780[i] = 0xFF10; - } - - sub_80BA038(gUnknown_0831AC70); - } - - ResetPaletteFade(); - gBattle_BG0_X = 0; - gBattle_BG0_Y = 0; - gBattle_BG1_X = 0; - gBattle_BG1_Y = 0; - gBattle_BG2_X = 0; - gBattle_BG2_Y = 0; - gBattle_BG3_X = 0; - gBattle_BG3_Y = 0; - - gBattleTerrain = BattleSetup_GetTerrainId(); - if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) - gBattleTerrain = BATTLE_TERRAIN_INSIDE; - - sub_80356D0(); - LoadBattleTextboxAndBackground(); - ResetSpriteData(); - ResetTasks(); - LoadBattleEntryBackground(); - FreeAllSpritePalettes(); - gReservedSpritePaletteCount = 4; - SetVBlankCallback(VBlankCB_Battle); - SetUpBattleVarsAndBirchZigzagoon(); - - if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) - SetMainCallback2(CB2_HandleStartMultiPartnerBattle); - else if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) - SetMainCallback2(CB2_HandleStartMultiPartnerBattle); - else if (gBattleTypeFlags & BATTLE_TYPE_MULTI) - SetMainCallback2(CB2_HandleStartMultiBattle); - else - SetMainCallback2(CB2_HandleStartBattle); - - if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED))) - { - CreateNPCTrainerParty(&gEnemyParty[0], gTrainerBattleOpponent_A, TRUE); - if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) - CreateNPCTrainerParty(&gEnemyParty[3], gTrainerBattleOpponent_B, FALSE); - SetWildMonHeldItem(); - } - - gMain.inBattle = TRUE; - gSaveBlock2Ptr->field_CA9_b = 0; - - for (i = 0; i < 6; i++) - AdjustFriendship(&gPlayerParty[i], 3); - - gBattleCommunication[MULTIUSE_STATE] = 0; -} - -static void sub_8036A5C(void) -{ - u16 r6 = 0; - u16 species = 0; - u16 hp = 0; - u32 status = 0; - s32 i; - - for (i = 0; i < 6; i++) - { - species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); - hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); - status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS); - - if (species == SPECIES_NONE) - continue; - if (species != SPECIES_EGG && hp != 0 && status == 0) - r6 |= 1 << i * 2; - - if (species == SPECIES_NONE) - continue; - if (hp != 0 && (species == SPECIES_EGG || status != 0)) - r6 |= 2 << i * 2; - - if (species == SPECIES_NONE) - continue; - if (species != SPECIES_EGG && hp == 0) - r6 |= 3 << i * 2; - } - - gBattleStruct->field_182 = r6; - *(&gBattleStruct->field_183) = r6 >> 8; - gBattleStruct->field_183 |= FlagGet(SYS_FRONTIER_PASS) << 7; -} - -static void SetPlayerBerryDataInBattleStruct(void) -{ - s32 i; - struct BattleStruct *battleStruct = gBattleStruct; - struct BattleEnigmaBerry *battleBerry = &battleStruct->battleEnigmaBerry; - - if (IsEnigmaBerryValid() == TRUE) - { - for (i = 0; i < BERRY_NAME_COUNT - 1; i++) - battleBerry->name[i] = gSaveBlock1Ptr->enigmaBerry.berry.name[i]; - battleBerry->name[i] = EOS; - - for (i = 0; i < BERRY_ITEM_EFFECT_COUNT; i++) - battleBerry->itemEffect[i] = gSaveBlock1Ptr->enigmaBerry.itemEffect[i]; - - battleBerry->holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; - battleBerry->holdEffectParam = gSaveBlock1Ptr->enigmaBerry.holdEffectParam; - } - else - { - const struct Berry* berryData = GetBerryInfo(ItemIdToBerryType(ITEM_ENIGMA_BERRY)); - - for (i = 0; i < BERRY_NAME_COUNT - 1; i++) - battleBerry->name[i] = berryData->name[i]; - battleBerry->name[i] = EOS; - - for (i = 0; i < BERRY_ITEM_EFFECT_COUNT; i++) - battleBerry->itemEffect[i] = 0; - - battleBerry->holdEffect = HOLD_EFFECT_NONE; - battleBerry->holdEffectParam = 0; - } -} - -static void SetAllPlayersBerryData(void) -{ - s32 i; - s32 j; - - if (!(gBattleTypeFlags & BATTLE_TYPE_LINK)) - { - if (IsEnigmaBerryValid() == TRUE) - { - for (i = 0; i < BERRY_NAME_COUNT - 1; i++) - { - gEnigmaBerries[0].name[i] = gSaveBlock1Ptr->enigmaBerry.berry.name[i]; - gEnigmaBerries[2].name[i] = gSaveBlock1Ptr->enigmaBerry.berry.name[i]; - } - gEnigmaBerries[0].name[i] = EOS; - gEnigmaBerries[2].name[i] = EOS; - - for (i = 0; i < BERRY_ITEM_EFFECT_COUNT; i++) - { - gEnigmaBerries[0].itemEffect[i] = gSaveBlock1Ptr->enigmaBerry.itemEffect[i]; - gEnigmaBerries[2].itemEffect[i] = gSaveBlock1Ptr->enigmaBerry.itemEffect[i]; - } - - gEnigmaBerries[0].holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; - gEnigmaBerries[2].holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; - gEnigmaBerries[0].holdEffectParam = gSaveBlock1Ptr->enigmaBerry.holdEffectParam; - gEnigmaBerries[2].holdEffectParam = gSaveBlock1Ptr->enigmaBerry.holdEffectParam; - } - else - { - const struct Berry* berryData = GetBerryInfo(ItemIdToBerryType(ITEM_ENIGMA_BERRY)); - - for (i = 0; i < BERRY_NAME_COUNT - 1; i++) - { - gEnigmaBerries[0].name[i] = berryData->name[i]; - gEnigmaBerries[2].name[i] = berryData->name[i]; - } - gEnigmaBerries[0].name[i] = EOS; - gEnigmaBerries[2].name[i] = EOS; - - for (i = 0; i < BERRY_ITEM_EFFECT_COUNT; i++) - { - gEnigmaBerries[0].itemEffect[i] = 0; - gEnigmaBerries[2].itemEffect[i] = 0; - } - - gEnigmaBerries[0].holdEffect = 0; - gEnigmaBerries[2].holdEffect = 0; - gEnigmaBerries[0].holdEffectParam = 0; - gEnigmaBerries[2].holdEffectParam = 0; - } - } - else - { - s32 numPlayers; - struct BattleEnigmaBerry *src; - u8 r4; - - if (gBattleTypeFlags & BATTLE_TYPE_MULTI) - { - if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) - numPlayers = 2; - else - numPlayers = 4; - - for (i = 0; i < numPlayers; i++) - { - src = (struct BattleEnigmaBerry *)(gBlockRecvBuffer[i] + 2); - r4 = gLinkPlayers[i].lp_field_18; - - for (j = 0; j < BERRY_NAME_COUNT - 1; j++) - gEnigmaBerries[r4].name[j] = src->name[j]; - gEnigmaBerries[r4].name[j] = EOS; - - for (j = 0; j < BERRY_ITEM_EFFECT_COUNT; j++) - gEnigmaBerries[r4].itemEffect[j] = src->itemEffect[j]; - - gEnigmaBerries[r4].holdEffect = src->holdEffect; - gEnigmaBerries[r4].holdEffectParam = src->holdEffectParam; - } - } - else - { - for (i = 0; i < 2; i++) - { - src = (struct BattleEnigmaBerry *)(gBlockRecvBuffer[i] + 2); - - for (j = 0; j < BERRY_NAME_COUNT - 1; j++) - { - gEnigmaBerries[i].name[j] = src->name[j]; - gEnigmaBerries[i + 2].name[j] = src->name[j]; - } - gEnigmaBerries[i].name[j] = EOS; - gEnigmaBerries[i + 2].name[j] = EOS; - - for (j = 0; j < BERRY_ITEM_EFFECT_COUNT; j++) - { - gEnigmaBerries[i].itemEffect[j] = src->itemEffect[j]; - gEnigmaBerries[i + 2].itemEffect[j] = src->itemEffect[j]; - } - - gEnigmaBerries[i].holdEffect = src->holdEffect; - gEnigmaBerries[i + 2].holdEffect = src->holdEffect; - gEnigmaBerries[i].holdEffectParam = src->holdEffectParam; - gEnigmaBerries[i + 2].holdEffectParam = src->holdEffectParam; - } - } - } -} - -static void sub_8036EB8(u8 arg0, u8 arg1) -{ - u8 var = 0; - - if (gBlockRecvBuffer[0][0] == 256) - { - if (arg1 == 0) - gBattleTypeFlags |= BATTLE_TYPE_WILD | BATTLE_TYPE_TRAINER; - else - gBattleTypeFlags |= BATTLE_TYPE_TRAINER; - var++; - } - - if (var == 0) - { - s32 i; - - for (i = 0; i < arg0; i++) - { - if (gBlockRecvBuffer[0][0] != gBlockRecvBuffer[i][0]) - break; - } - - if (i == arg0) - { - if (arg1 == 0) - gBattleTypeFlags |= BATTLE_TYPE_WILD | BATTLE_TYPE_TRAINER; - else - gBattleTypeFlags |= BATTLE_TYPE_TRAINER; - var++; - } - - if (var == 0) - { - for (i = 0; i < arg0; i++) - { - if (gBlockRecvBuffer[i][0] == 0x300) - { - if (i != arg1 && i < arg1) - break; - } - if (gBlockRecvBuffer[i][0] > 0x300 && i != arg1) - break; - } - - if (i == arg0) - gBattleTypeFlags |= BATTLE_TYPE_WILD | BATTLE_TYPE_TRAINER; - else - gBattleTypeFlags |= BATTLE_TYPE_TRAINER; - } - } -} - -static void CB2_HandleStartBattle(void) -{ - u8 playerMultiplayerId; - u8 enemyMultiplayerId; - - RunTasks(); - AnimateSprites(); - BuildOamBuffer(); - - playerMultiplayerId = GetMultiplayerId(); - gBattleScripting.multiplayerId = playerMultiplayerId; - enemyMultiplayerId = playerMultiplayerId ^ BIT_SIDE; - - switch (gBattleCommunication[MULTIUSE_STATE]) - { - case 0: - if (!IsDma3ManagerBusyWithBgCopy()) - { - ShowBg(0); - ShowBg(1); - ShowBg(2); - ShowBg(3); - sub_805EF14(); - gBattleCommunication[MULTIUSE_STATE] = 1; - } - if (gLinkVSyncDisabled) - sub_800E0E8(); - break; - case 1: - if (gBattleTypeFlags & BATTLE_TYPE_LINK) - { - if (gReceivedRemoteLinkPlayers != 0) - { - if (sub_800A520()) - { - *(&gBattleStruct->field_180) = 0; - *(&gBattleStruct->field_181) = 3; - sub_8036A5C(); - SetPlayerBerryDataInBattleStruct(); - - if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_C00) - { - gLinkPlayers[0].lp_field_18 = 0; - gLinkPlayers[1].lp_field_18 = 1; - } - - SendBlock(bitmask_all_link_players_but_self(), &gBattleStruct->field_180, 32); - gBattleCommunication[MULTIUSE_STATE] = 2; - } - if (gLinkVSyncDisabled) - sub_800DFB4(0, 0); - } - } - else - { - if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) - gBattleTypeFlags |= BATTLE_TYPE_WILD; - gBattleCommunication[MULTIUSE_STATE] = 15; - SetAllPlayersBerryData(); - } - break; - case 2: - if ((GetBlockReceivedStatus() & 3) == 3) - { - u8 taskId; - - ResetBlockReceivedFlags(); - sub_8036EB8(2, playerMultiplayerId); - SetAllPlayersBerryData(); - taskId = CreateTask(task00_0800F6FC, 0); - gTasks[taskId].data[1] = 0x10E; - gTasks[taskId].data[2] = 0x5A; - gTasks[taskId].data[5] = 0; - gTasks[taskId].data[3] = gBattleStruct->field_182 | (gBattleStruct->field_183 << 8); - gTasks[taskId].data[4] = gBlockRecvBuffer[enemyMultiplayerId][1]; - sub_8185F90(gBlockRecvBuffer[playerMultiplayerId][1]); - sub_8185F90(gBlockRecvBuffer[enemyMultiplayerId][1]); - sub_8068AA4(); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 3: - if (sub_800A520()) - { - SendBlock(bitmask_all_link_players_but_self(), gPlayerParty, sizeof(struct Pokemon) * 2); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 4: - if ((GetBlockReceivedStatus() & 3) == 3) - { - ResetBlockReceivedFlags(); - memcpy(gEnemyParty, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon) * 2); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 7: - if (sub_800A520()) - { - SendBlock(bitmask_all_link_players_but_self(), gPlayerParty + 2, sizeof(struct Pokemon) * 2); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 8: - if ((GetBlockReceivedStatus() & 3) == 3) - { - ResetBlockReceivedFlags(); - memcpy(gEnemyParty + 2, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon) * 2); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 11: - if (sub_800A520()) - { - SendBlock(bitmask_all_link_players_but_self(), gPlayerParty + 4, sizeof(struct Pokemon) * 2); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 12: - if ((GetBlockReceivedStatus() & 3) == 3) - { - ResetBlockReceivedFlags(); - memcpy(gEnemyParty + 4, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon) * 2); - TryCorrectShedinjaLanguage(&gEnemyParty[0]); - TryCorrectShedinjaLanguage(&gEnemyParty[1]); - TryCorrectShedinjaLanguage(&gEnemyParty[2]); - TryCorrectShedinjaLanguage(&gEnemyParty[3]); - TryCorrectShedinjaLanguage(&gEnemyParty[4]); - TryCorrectShedinjaLanguage(&gEnemyParty[5]); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 15: - sub_8032768(); - sub_8184E58(); - gBattleCommunication[SPRITES_INIT_STATE1] = 0; - gBattleCommunication[SPRITES_INIT_STATE2] = 0; - if (gBattleTypeFlags & BATTLE_TYPE_LINK) - { - s32 i; - - for (i = 0; i < 2 && (gLinkPlayers[i].version & 0xFF) == VERSION_EMERALD; i++); - - if (i == 2) - gBattleCommunication[MULTIUSE_STATE] = 16; - else - gBattleCommunication[MULTIUSE_STATE] = 18; - } - else - { - gBattleCommunication[MULTIUSE_STATE] = 18; - } - break; - case 16: - if (sub_800A520()) - { - SendBlock(bitmask_all_link_players_but_self(), &gRecordedBattleRngSeed, sizeof(gRecordedBattleRngSeed)); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 17: - if ((GetBlockReceivedStatus() & 3) == 3) - { - ResetBlockReceivedFlags(); - if (!(gBattleTypeFlags & BATTLE_TYPE_WILD)) - memcpy(&gRecordedBattleRngSeed, gBlockRecvBuffer[enemyMultiplayerId], sizeof(gRecordedBattleRngSeed)); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 18: - if (BattleInitAllSprites(&gBattleCommunication[SPRITES_INIT_STATE1], &gBattleCommunication[SPRITES_INIT_STATE2])) - { - gPreBattleCallback1 = gMain.callback1; - gMain.callback1 = BattleMainCB1; - SetMainCallback2(BattleMainCB2); - if (gBattleTypeFlags & BATTLE_TYPE_LINK) - { - gBattleTypeFlags |= BATTLE_TYPE_20; - } - } - break; - case 5: - case 9: - case 13: - gBattleCommunication[MULTIUSE_STATE]++; - gBattleCommunication[1] = 1; - case 6: - case 10: - case 14: - if (--gBattleCommunication[1] == 0) - gBattleCommunication[MULTIUSE_STATE]++; - break; - } -} - -static void CB2_HandleStartMultiPartnerBattle(void) -{ - u8 playerMultiplayerId; - u8 enemyMultiplayerId; - - RunTasks(); - AnimateSprites(); - BuildOamBuffer(); - - playerMultiplayerId = GetMultiplayerId(); - gBattleScripting.multiplayerId = playerMultiplayerId; - enemyMultiplayerId = playerMultiplayerId ^ BIT_SIDE; - - switch (gBattleCommunication[MULTIUSE_STATE]) - { - case 0: - if (!IsDma3ManagerBusyWithBgCopy()) - { - ShowBg(0); - ShowBg(1); - ShowBg(2); - ShowBg(3); - sub_805EF14(); - gBattleCommunication[MULTIUSE_STATE] = 1; - } - if (gLinkVSyncDisabled) - sub_800E0E8(); - // fall through - case 1: - if (gBattleTypeFlags & BATTLE_TYPE_LINK) - { - if (gReceivedRemoteLinkPlayers != 0) - { - u8 language; - - gLinkPlayers[0].lp_field_18 = 0; - gLinkPlayers[1].lp_field_18 = 2; - gLinkPlayers[2].lp_field_18 = 1; - gLinkPlayers[3].lp_field_18 = 3; - GetFrontierTrainerName(gLinkPlayers[2].name, gTrainerBattleOpponent_A); - GetFrontierTrainerName(gLinkPlayers[3].name, gTrainerBattleOpponent_B); - sub_8165B88(&language, gTrainerBattleOpponent_A); - gLinkPlayers[2].language = language; - sub_8165B88(&language, gTrainerBattleOpponent_B); - gLinkPlayers[3].language = language; - - if (sub_800A520()) - { - *(&gBattleStruct->field_180) = 0; - *(&gBattleStruct->field_181) = 3; - sub_8036A5C(); - SetPlayerBerryDataInBattleStruct(); - SendBlock(bitmask_all_link_players_but_self(), &gBattleStruct->field_180, 32); - gBattleCommunication[MULTIUSE_STATE] = 2; - } - - if (gLinkVSyncDisabled) - sub_800DFB4(0, 0); - } - } - else - { - if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) - gBattleTypeFlags |= BATTLE_TYPE_WILD; - gBattleCommunication[MULTIUSE_STATE] = 13; - SetAllPlayersBerryData(); - } - break; - case 2: - if ((GetBlockReceivedStatus() & 3) == 3) - { - u8 taskId; - - ResetBlockReceivedFlags(); - sub_8036EB8(2, playerMultiplayerId); - SetAllPlayersBerryData(); - taskId = CreateTask(task00_0800F6FC, 0); - gTasks[taskId].data[1] = 0x10E; - gTasks[taskId].data[2] = 0x5A; - gTasks[taskId].data[5] = 0; - gTasks[taskId].data[3] = 0x145; - gTasks[taskId].data[4] = 0x145; - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 3: - if (sub_800A520()) - { - SendBlock(bitmask_all_link_players_but_self(), gPlayerParty, sizeof(struct Pokemon) * 2); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 4: - if ((GetBlockReceivedStatus() & 3) == 3) - { - ResetBlockReceivedFlags(); - if (gLinkPlayers[playerMultiplayerId].lp_field_18 != 0) - { - memcpy(gPlayerParty, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon) * 2); - memcpy(gPlayerParty + 3, gBlockRecvBuffer[playerMultiplayerId], sizeof(struct Pokemon) * 2); - } - else - { - memcpy(gPlayerParty, gBlockRecvBuffer[playerMultiplayerId], sizeof(struct Pokemon) * 2); - memcpy(gPlayerParty + 3, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon) * 2); - } - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 5: - if (sub_800A520()) - { - SendBlock(bitmask_all_link_players_but_self(), gPlayerParty + 2, sizeof(struct Pokemon)); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 6: - if ((GetBlockReceivedStatus() & 3) == 3) - { - ResetBlockReceivedFlags(); - if (gLinkPlayers[playerMultiplayerId].lp_field_18 != 0) - { - memcpy(gPlayerParty + 2, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon)); - memcpy(gPlayerParty + 5, gBlockRecvBuffer[playerMultiplayerId], sizeof(struct Pokemon)); - } - else - { - memcpy(gPlayerParty + 2, gBlockRecvBuffer[playerMultiplayerId], sizeof(struct Pokemon)); - memcpy(gPlayerParty + 5, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon)); - } - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 7: - if (sub_800A520()) - { - SendBlock(bitmask_all_link_players_but_self(), gEnemyParty, sizeof(struct Pokemon) * 2); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 8: - if ((GetBlockReceivedStatus() & 3) == 3) - { - ResetBlockReceivedFlags(); - if (GetMultiplayerId() != 0) - { - memcpy(gEnemyParty, gBlockRecvBuffer[0], sizeof(struct Pokemon) * 2); - } - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 9: - if (sub_800A520()) - { - SendBlock(bitmask_all_link_players_but_self(), gEnemyParty + 2, sizeof(struct Pokemon) * 2); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 10: - if ((GetBlockReceivedStatus() & 3) == 3) - { - ResetBlockReceivedFlags(); - if (GetMultiplayerId() != 0) - { - memcpy(gEnemyParty + 2, gBlockRecvBuffer[0], sizeof(struct Pokemon) * 2); - } - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 11: - if (sub_800A520()) - { - SendBlock(bitmask_all_link_players_but_self(), gEnemyParty + 4, sizeof(struct Pokemon) * 2); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 12: - if ((GetBlockReceivedStatus() & 3) == 3) - { - ResetBlockReceivedFlags(); - if (GetMultiplayerId() != 0) - memcpy(gEnemyParty + 4, gBlockRecvBuffer[0], sizeof(struct Pokemon) * 2); - TryCorrectShedinjaLanguage(&gPlayerParty[0]); - TryCorrectShedinjaLanguage(&gPlayerParty[1]); - TryCorrectShedinjaLanguage(&gPlayerParty[2]); - TryCorrectShedinjaLanguage(&gPlayerParty[3]); - TryCorrectShedinjaLanguage(&gPlayerParty[4]); - TryCorrectShedinjaLanguage(&gPlayerParty[5]); - TryCorrectShedinjaLanguage(&gEnemyParty[0]); - TryCorrectShedinjaLanguage(&gEnemyParty[1]); - TryCorrectShedinjaLanguage(&gEnemyParty[2]); - TryCorrectShedinjaLanguage(&gEnemyParty[3]); - TryCorrectShedinjaLanguage(&gEnemyParty[4]); - TryCorrectShedinjaLanguage(&gEnemyParty[5]); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 13: - sub_8032768(); - sub_8184E58(); - gBattleCommunication[SPRITES_INIT_STATE1] = 0; - gBattleCommunication[SPRITES_INIT_STATE2] = 0; - if (gBattleTypeFlags & BATTLE_TYPE_LINK) - { - gBattleCommunication[MULTIUSE_STATE] = 14; - } - else - { - gBattleCommunication[MULTIUSE_STATE] = 16; - } - break; - case 14: - if (sub_800A520()) - { - SendBlock(bitmask_all_link_players_but_self(), &gRecordedBattleRngSeed, sizeof(gRecordedBattleRngSeed)); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 15: - if ((GetBlockReceivedStatus() & 3) == 3) - { - ResetBlockReceivedFlags(); - if (!(gBattleTypeFlags & BATTLE_TYPE_WILD)) - memcpy(&gRecordedBattleRngSeed, gBlockRecvBuffer[enemyMultiplayerId], sizeof(gRecordedBattleRngSeed)); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 16: - if (BattleInitAllSprites(&gBattleCommunication[SPRITES_INIT_STATE1], &gBattleCommunication[SPRITES_INIT_STATE2])) - { - sub_8166188(); - gPreBattleCallback1 = gMain.callback1; - gMain.callback1 = BattleMainCB1; - SetMainCallback2(BattleMainCB2); - if (gBattleTypeFlags & BATTLE_TYPE_LINK) - { - gBattleTypeFlags |= BATTLE_TYPE_20; - } - } - break; - } -} - -static void sub_80379F8(u8 arrayIdPlus) -{ - s32 i; - - for (i = 0; i < 3; i++) - { - gUnknown_02022FF8[i].species = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_SPECIES); - gUnknown_02022FF8[i].heldItem = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_HELD_ITEM); - GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_NICKNAME, gUnknown_02022FF8[i].nickname); - gUnknown_02022FF8[i].level = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_LEVEL); - gUnknown_02022FF8[i].hp = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_HP); - gUnknown_02022FF8[i].maxhp = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_MAX_HP); - gUnknown_02022FF8[i].status = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_STATUS); - gUnknown_02022FF8[i].personality = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_PERSONALITY); - gUnknown_02022FF8[i].gender = GetMonGender(&gPlayerParty[arrayIdPlus + i]); - StripExtCtrlCodes(gUnknown_02022FF8[i].nickname); - if (GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_LANGUAGE) != LANGUAGE_JAPANESE) - sub_81DB4DC(gUnknown_02022FF8[i].nickname, 0); - } - memcpy(gUnknown_02023058, gUnknown_02022FF8, sizeof(gUnknown_02022FF8)); -} - -static void CB2_PreInitMultiBattle(void) -{ - s32 i; - u8 playerMultiplierId; - s32 numPlayers = 4; - u8 r4 = 0xF; - u32* savedBattleTypeFlags; - void (**savedCallback)(void); - - if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) - { - numPlayers = 2; - r4 = 3; - } - - playerMultiplierId = GetMultiplayerId(); - gBattleScripting.multiplayerId = playerMultiplierId; - savedCallback = &gBattleStruct->savedCallback; - savedBattleTypeFlags = &gBattleStruct->savedBattleTypeFlags; - - RunTasks(); - AnimateSprites(); - BuildOamBuffer(); - - switch (gBattleCommunication[MULTIUSE_STATE]) - { - case 0: - if (gReceivedRemoteLinkPlayers != 0 && sub_800A520()) - { - gUnknown_02023058 = Alloc(sizeof(struct UnknownPokemonStruct2) * 3); - sub_80379F8(0); - SendBlock(bitmask_all_link_players_but_self(), gUnknown_02023058, sizeof(struct UnknownPokemonStruct2) * 3); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 1: - if ((GetBlockReceivedStatus() & r4) == r4) - { - ResetBlockReceivedFlags(); - for (i = 0; i < numPlayers; i++) - { - if (i == playerMultiplierId) - continue; - - if (numPlayers == 4) - { - if ((!(gLinkPlayers[i].lp_field_18 & 1) && !(gLinkPlayers[playerMultiplierId].lp_field_18 & 1)) - || (gLinkPlayers[i].lp_field_18 & 1 && gLinkPlayers[playerMultiplierId].lp_field_18 & 1)) - { - memcpy(gUnknown_02022FF8, gBlockRecvBuffer[i], sizeof(struct UnknownPokemonStruct2) * 3); - } - } - else - { - memcpy(gUnknown_02022FF8, gBlockRecvBuffer[i], sizeof(struct UnknownPokemonStruct2) * 3); - } - } - gBattleCommunication[MULTIUSE_STATE]++; - *savedCallback = gMain.savedCallback; - *savedBattleTypeFlags = gBattleTypeFlags; - gMain.savedCallback = CB2_PreInitMultiBattle; - sub_81B9150(); - } - break; - case 2: - if (sub_800A520() && !gPaletteFade.active) - { - gBattleCommunication[MULTIUSE_STATE]++; - if (gLinkVSyncDisabled) - sub_800ADF8(); - else - sub_800AC34(); - } - break; - case 3: - if (gLinkVSyncDisabled) - { - if (sub_8010500()) - { - gBattleTypeFlags = *savedBattleTypeFlags; - gMain.savedCallback = *savedCallback; - SetMainCallback2(CB2_InitBattleInternal); - Free(gUnknown_02023058); - gUnknown_02023058 = NULL; - } - } - else if (gReceivedRemoteLinkPlayers == 0) - { - gBattleTypeFlags = *savedBattleTypeFlags; - gMain.savedCallback = *savedCallback; - SetMainCallback2(CB2_InitBattleInternal); - Free(gUnknown_02023058); - gUnknown_02023058 = NULL; - } - break; - } -} - -static void CB2_PreInitIngamePlayerPartnerBattle(void) -{ - u32* savedBattleTypeFlags; - void (**savedCallback)(void); - - savedCallback = &gBattleStruct->savedCallback; - savedBattleTypeFlags = &gBattleStruct->savedBattleTypeFlags; - - RunTasks(); - AnimateSprites(); - BuildOamBuffer(); - - switch (gBattleCommunication[MULTIUSE_STATE]) - { - case 0: - gUnknown_02023058 = Alloc(sizeof(struct UnknownPokemonStruct2) * 3); - sub_80379F8(3); - gBattleCommunication[MULTIUSE_STATE]++; - *savedCallback = gMain.savedCallback; - *savedBattleTypeFlags = gBattleTypeFlags; - gMain.savedCallback = CB2_PreInitIngamePlayerPartnerBattle; - sub_81B9150(); - break; - case 1: - if (!gPaletteFade.active) - { - gBattleCommunication[MULTIUSE_STATE] = 2; - gBattleTypeFlags = *savedBattleTypeFlags; - gMain.savedCallback = *savedCallback; - SetMainCallback2(CB2_InitBattleInternal); - Free(gUnknown_02023058); - gUnknown_02023058 = NULL; - } - break; - } -} - -static void CB2_HandleStartMultiBattle(void) -{ - u8 playerMultiplayerId; - s32 id; - u8 var; - - playerMultiplayerId = GetMultiplayerId(); - gBattleScripting.multiplayerId = playerMultiplayerId; - - RunTasks(); - AnimateSprites(); - BuildOamBuffer(); - - switch (gBattleCommunication[MULTIUSE_STATE]) - { - case 0: - if (!IsDma3ManagerBusyWithBgCopy()) - { - ShowBg(0); - ShowBg(1); - ShowBg(2); - ShowBg(3); - sub_805EF14(); - gBattleCommunication[MULTIUSE_STATE] = 1; - } - if (gLinkVSyncDisabled) - sub_800E0E8(); - break; - case 1: - if (gBattleTypeFlags & BATTLE_TYPE_LINK) - { - if (gReceivedRemoteLinkPlayers != 0) - { - if (sub_800A520()) - { - *(&gBattleStruct->field_180) = 0; - *(&gBattleStruct->field_181) = 3; - sub_8036A5C(); - SetPlayerBerryDataInBattleStruct(); - - SendBlock(bitmask_all_link_players_but_self(), &gBattleStruct->field_180, 32); - gBattleCommunication[MULTIUSE_STATE]++; - } - if (gLinkVSyncDisabled) - sub_800DFB4(0, 0); - } - } - else - { - if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) - gBattleTypeFlags |= BATTLE_TYPE_WILD; - gBattleCommunication[MULTIUSE_STATE] = 7; - SetAllPlayersBerryData(); - } - break; - case 2: - if ((GetBlockReceivedStatus() & 0xF) == 0xF) - { - ResetBlockReceivedFlags(); - sub_8036EB8(4, playerMultiplayerId); - SetAllPlayersBerryData(); - sub_8068AA4(); - var = CreateTask(task00_0800F6FC, 0); - gTasks[var].data[1] = 0x10E; - gTasks[var].data[2] = 0x5A; - gTasks[var].data[5] = 0; - gTasks[var].data[3] = 0; - gTasks[var].data[4] = 0; - - for (id = 0; id < MAX_LINK_PLAYERS; id++) - { - sub_8185F90(gBlockRecvBuffer[id][1]); - switch (gLinkPlayers[id].lp_field_18) - { - case 0: - gTasks[var].data[3] |= gBlockRecvBuffer[id][1] & 0x3F; - break; - case 1: - gTasks[var].data[4] |= gBlockRecvBuffer[id][1] & 0x3F; - break; - case 2: - gTasks[var].data[3] |= (gBlockRecvBuffer[id][1] & 0x3F) << 6; - break; - case 3: - gTasks[var].data[4] |= (gBlockRecvBuffer[id][1] & 0x3F) << 6; - break; - } - } - ZeroEnemyPartyMons(); - gBattleCommunication[MULTIUSE_STATE]++; - } - else - break; - // fall through - case 3: - if (sub_800A520()) - { - SendBlock(bitmask_all_link_players_but_self(), gPlayerParty, sizeof(struct Pokemon) * 2); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 4: - if ((GetBlockReceivedStatus() & 0xF) == 0xF) - { - ResetBlockReceivedFlags(); - for (id = 0; id < MAX_LINK_PLAYERS; id++) - { - if (id == playerMultiplayerId) - { - switch (gLinkPlayers[id].lp_field_18) - { - case 0: - case 3: - memcpy(gPlayerParty, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2); - break; - case 1: - case 2: - memcpy(gPlayerParty + 3, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2); - break; - } - } - else - { - if ((!(gLinkPlayers[id].lp_field_18 & 1) && !(gLinkPlayers[playerMultiplayerId].lp_field_18 & 1)) - || ((gLinkPlayers[id].lp_field_18 & 1) && (gLinkPlayers[playerMultiplayerId].lp_field_18 & 1))) - { - switch (gLinkPlayers[id].lp_field_18) - { - case 0: - case 3: - memcpy(gPlayerParty, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2); - break; - case 1: - case 2: - memcpy(gPlayerParty + 3, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2); - break; - } - } - else - { - switch (gLinkPlayers[id].lp_field_18) - { - case 0: - case 3: - memcpy(gEnemyParty, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2); - break; - case 1: - case 2: - memcpy(gEnemyParty + 3, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2); - break; - } - } - } - } - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 5: - if (sub_800A520()) - { - SendBlock(bitmask_all_link_players_but_self(), gPlayerParty + 2, sizeof(struct Pokemon)); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 6: - if ((GetBlockReceivedStatus() & 0xF) == 0xF) - { - ResetBlockReceivedFlags(); - for (id = 0; id < MAX_LINK_PLAYERS; id++) - { - if (id == playerMultiplayerId) - { - switch (gLinkPlayers[id].lp_field_18) - { - case 0: - case 3: - memcpy(gPlayerParty + 2, gBlockRecvBuffer[id], sizeof(struct Pokemon)); - break; - case 1: - case 2: - memcpy(gPlayerParty + 5, gBlockRecvBuffer[id], sizeof(struct Pokemon)); - break; - } - } - else - { - if ((!(gLinkPlayers[id].lp_field_18 & 1) && !(gLinkPlayers[playerMultiplayerId].lp_field_18 & 1)) - || ((gLinkPlayers[id].lp_field_18 & 1) && (gLinkPlayers[playerMultiplayerId].lp_field_18 & 1))) - { - switch (gLinkPlayers[id].lp_field_18) - { - case 0: - case 3: - memcpy(gPlayerParty + 2, gBlockRecvBuffer[id], sizeof(struct Pokemon)); - break; - case 1: - case 2: - memcpy(gPlayerParty + 5, gBlockRecvBuffer[id], sizeof(struct Pokemon)); - break; - } - } - else - { - switch (gLinkPlayers[id].lp_field_18) - { - case 0: - case 3: - memcpy(gEnemyParty + 2, gBlockRecvBuffer[id], sizeof(struct Pokemon)); - break; - case 1: - case 2: - memcpy(gEnemyParty + 5, gBlockRecvBuffer[id], sizeof(struct Pokemon)); - break; - } - } - } - } - TryCorrectShedinjaLanguage(&gPlayerParty[0]); - TryCorrectShedinjaLanguage(&gPlayerParty[1]); - TryCorrectShedinjaLanguage(&gPlayerParty[2]); - TryCorrectShedinjaLanguage(&gPlayerParty[3]); - TryCorrectShedinjaLanguage(&gPlayerParty[4]); - TryCorrectShedinjaLanguage(&gPlayerParty[5]); - - TryCorrectShedinjaLanguage(&gEnemyParty[0]); - TryCorrectShedinjaLanguage(&gEnemyParty[1]); - TryCorrectShedinjaLanguage(&gEnemyParty[2]); - TryCorrectShedinjaLanguage(&gEnemyParty[3]); - TryCorrectShedinjaLanguage(&gEnemyParty[4]); - TryCorrectShedinjaLanguage(&gEnemyParty[5]); - - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 7: - sub_8032768(); - sub_8184E58(); - gBattleCommunication[SPRITES_INIT_STATE1] = 0; - gBattleCommunication[SPRITES_INIT_STATE2] = 0; - if (gBattleTypeFlags & BATTLE_TYPE_LINK) - { - for (id = 0; id < 4 && (gLinkPlayers[id].version & 0xFF) == 3; id++); - - if (id == 4) - gBattleCommunication[MULTIUSE_STATE] = 8; - else - gBattleCommunication[MULTIUSE_STATE] = 10; - } - else - { - gBattleCommunication[MULTIUSE_STATE] = 10; - } - break; - case 8: - if (sub_800A520()) - { - u32* ptr = (u32*)(&gBattleStruct->field_180); - ptr[0] = gBattleTypeFlags; - ptr[1] = gRecordedBattleRngSeed; // UB: overwrites berry data - SendBlock(bitmask_all_link_players_but_self(), ptr, 8); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 9: - if ((GetBlockReceivedStatus() & 0xF) == 0xF) - { - ResetBlockReceivedFlags(); - for (var = 0; var < 4; var++) - { - u32 blockValue = gBlockRecvBuffer[var][0]; - if (blockValue & 4) - { - memcpy(&gRecordedBattleRngSeed, &gBlockRecvBuffer[var][2], sizeof(gRecordedBattleRngSeed)); - break; - } - } - - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 10: - if (BattleInitAllSprites(&gBattleCommunication[SPRITES_INIT_STATE1], &gBattleCommunication[SPRITES_INIT_STATE2])) - { - gPreBattleCallback1 = gMain.callback1; - gMain.callback1 = BattleMainCB1; - SetMainCallback2(BattleMainCB2); - if (gBattleTypeFlags & BATTLE_TYPE_LINK) - { - gTrainerBattleOpponent_A = TRAINER_OPPONENT_800; - gBattleTypeFlags |= BATTLE_TYPE_20; - } - } - break; - } -} - -void BattleMainCB2(void) -{ - AnimateSprites(); - BuildOamBuffer(); - RunTextPrinters(); - UpdatePaletteFade(); - RunTasks(); - - if (gMain.heldKeys & B_BUTTON && gBattleTypeFlags & BATTLE_TYPE_RECORDED && sub_8186450()) - { - gScriptResult = gBattleOutcome = BATTLE_PLAYER_TELEPORTED; - ResetPaletteFadeControl(); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); - SetMainCallback2(CB2_QuitRecordedBattle); - } -} - -static void FreeRestoreBattleData(void) -{ - gMain.callback1 = gPreBattleCallback1; - gUnknown_02039B28[0x15] = 3; - gMain.inBattle = 0; - ZeroEnemyPartyMons(); - m4aSongNumStop(0x5A); - FreeMonSpritesGfx(); - FreeBattleSpritesData(); - FreeBattleResources(); -} - -void CB2_QuitRecordedBattle(void) -{ - UpdatePaletteFade(); - if (!gPaletteFade.active) - { - m4aMPlayStop(&gMPlay_SE1); - m4aMPlayStop(&gMPlay_SE2); - FreeRestoreBattleData(); - FreeAllWindowBuffers(); - SetMainCallback2(gMain.savedCallback); - } -} - -void sub_8038528(struct Sprite* sprite) -{ - sprite->data0 = 0; - sprite->callback = sub_8038538; -} - -static void sub_8038538(struct Sprite *sprite) -{ - u16 *arr = (u16*)(gDecompressionBuffer); - - switch (sprite->data0) - { - case 0: - sprite->data0++; - sprite->data1 = 0; - sprite->data2 = 0x281; - sprite->data3 = 0; - sprite->data4 = 1; - // fall through - case 1: - sprite->data4--; - if (sprite->data4 == 0) - { - s32 i; - s32 r2; - s32 r0; - - sprite->data4 = 2; - r2 = sprite->data1 + sprite->data3 * 32; - r0 = sprite->data2 - sprite->data3 * 32; - for (i = 0; i < 29; i += 2) - { - arr[r2 + i] = 0x3D; - arr[r0 + i] = 0x3D; - } - sprite->data3++; - if (sprite->data3 == 21) - { - sprite->data0++; - sprite->data1 = 32; - } - } - break; - case 2: - sprite->data1--; - if (sprite->data1 == 20) - SetMainCallback2(CB2_InitBattle); - break; - } -} - -static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 firstTrainer) -{ - u32 nameHash = 0; - u32 personalityValue; - u8 fixedIV; - s32 i, j; - u8 monsCount; - - if (trainerNum == SECRET_BASE_OPPONENT) - return 0; - - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && !(gBattleTypeFlags & (BATTLE_TYPE_FRONTIER - | BATTLE_TYPE_EREADER_TRAINER - | BATTLE_TYPE_x4000000))) - { - if (firstTrainer == TRUE) - ZeroEnemyPartyMons(); - - if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) - { - if (gTrainers[trainerNum].partySize > 3) - monsCount = 3; - else - monsCount = gTrainers[trainerNum].partySize; - } - else - { - monsCount = gTrainers[trainerNum].partySize; - } - - for (i = 0; i < monsCount; i++) - { - - if (gTrainers[trainerNum].doubleBattle == TRUE) - personalityValue = 0x80; - else if (gTrainers[trainerNum].encounterMusic_gender & 0x80) - personalityValue = 0x78; - else - personalityValue = 0x88; - - for (j = 0; gTrainers[trainerNum].trainerName[j] != 0xFF; j++) - nameHash += gTrainers[trainerNum].trainerName[j]; - - switch (gTrainers[trainerNum].partyFlags) - { - case 0: - { - const struct TrainerMonNoItemDefaultMoves *partyData = gTrainers[trainerNum].party.NoItemDefaultMoves; - - for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++) - nameHash += gSpeciesNames[partyData[i].species][j]; - - personalityValue += nameHash << 8; - fixedIV = partyData[i].iv * 31 / 255; - CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, OT_ID_RANDOM_NO_SHINY, 0); - break; - } - case PARTY_FLAG_CUSTOM_MOVES: - { - const struct TrainerMonNoItemCustomMoves *partyData = gTrainers[trainerNum].party.NoItemCustomMoves; - - for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++) - nameHash += gSpeciesNames[partyData[i].species][j]; - - personalityValue += nameHash << 8; - fixedIV = partyData[i].iv * 31 / 255; - CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, 2, 0); - - for (j = 0; j < 4; j++) - { - SetMonData(&party[i], MON_DATA_MOVE1 + j, &partyData[i].moves[j]); - SetMonData(&party[i], MON_DATA_PP1 + j, &gBattleMoves[partyData[i].moves[j]].pp); - } - break; - } - case PARTY_FLAG_HAS_ITEM: - { - const struct TrainerMonItemDefaultMoves *partyData = gTrainers[trainerNum].party.ItemDefaultMoves; - - for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++) - nameHash += gSpeciesNames[partyData[i].species][j]; - - personalityValue += nameHash << 8; - fixedIV = partyData[i].iv * 31 / 255; - CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, 2, 0); - - SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem); - break; - } - case PARTY_FLAG_CUSTOM_MOVES | PARTY_FLAG_HAS_ITEM: - { - const struct TrainerMonItemCustomMoves *partyData = gTrainers[trainerNum].party.ItemCustomMoves; - - for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++) - nameHash += gSpeciesNames[partyData[i].species][j]; - - personalityValue += nameHash << 8; - fixedIV = partyData[i].iv * 31 / 255; - CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, 2, 0); - - SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem); - - for (j = 0; j < 4; j++) - { - SetMonData(&party[i], MON_DATA_MOVE1 + j, &partyData[i].moves[j]); - SetMonData(&party[i], MON_DATA_PP1 + j, &gBattleMoves[partyData[i].moves[j]].pp); - } - break; - } - } - } - - gBattleTypeFlags |= gTrainers[trainerNum].doubleBattle; - } - - return gTrainers[trainerNum].partySize; -} - -void sub_8038A04(void) // unused -{ - if (REG_VCOUNT < 0xA0 && REG_VCOUNT >= 0x6F) - SetGpuReg(REG_OFFSET_BG0CNT, 0x9800); -} - -void VBlankCB_Battle(void) -{ - // change gRngSeed every vblank unless the battle could be recorded - if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_FRONTIER | BATTLE_TYPE_RECORDED))) - Random(); - - SetGpuReg(REG_OFFSET_BG0HOFS, gBattle_BG0_X); - SetGpuReg(REG_OFFSET_BG0VOFS, gBattle_BG0_Y); - SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); - SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); - SetGpuReg(REG_OFFSET_BG2HOFS, gBattle_BG2_X); - SetGpuReg(REG_OFFSET_BG2VOFS, gBattle_BG2_Y); - SetGpuReg(REG_OFFSET_BG3HOFS, gBattle_BG3_X); - SetGpuReg(REG_OFFSET_BG3VOFS, gBattle_BG3_Y); - SetGpuReg(REG_OFFSET_WIN0H, gBattle_WIN0H); - SetGpuReg(REG_OFFSET_WIN0V, gBattle_WIN0V); - SetGpuReg(REG_OFFSET_WIN1H, gBattle_WIN1H); - SetGpuReg(REG_OFFSET_WIN1V, gBattle_WIN1V); - LoadOam(); - ProcessSpriteCopyRequests(); - TransferPlttBuffer(); - sub_80BA0A8(); -} - -void nullsub_17(void) -{ - -} - -static void sub_8038B04(struct Sprite *sprite) -{ - if (sprite->data0 != 0) - sprite->pos1.x = sprite->data1 + ((sprite->data2 & 0xFF00) >> 8); - else - sprite->pos1.x = sprite->data1 - ((sprite->data2 & 0xFF00) >> 8); - - sprite->data2 += 0x180; - - if (sprite->affineAnimEnded) - { - FreeSpriteTilesByTag(0x2710); - FreeSpritePaletteByTag(0x2710); - FreeSpriteOamMatrix(sprite); - DestroySprite(sprite); - } -} - -void sub_8038B74(struct Sprite *sprite) -{ - StartSpriteAffineAnim(sprite, 1); - sprite->callback = sub_8038B04; - PlaySE(SE_BT_START); -} - -static void sub_8038B94(u8 taskId) -{ - struct Pokemon *sp4 = NULL; - struct Pokemon *sp8 = NULL; - u8 r2 = gBattleScripting.multiplayerId; - u32 r7; - s32 i; - - if (gBattleTypeFlags & BATTLE_TYPE_MULTI) - { - switch (gLinkPlayers[r2].lp_field_18) - { - case 0: - case 2: - sp4 = gPlayerParty; - sp8 = gEnemyParty; - break; - case 1: - case 3: - sp4 = gEnemyParty; - sp8 = gPlayerParty; - break; - } - } - else - { - sp4 = gPlayerParty; - sp8 = gEnemyParty; - } - - r7 = 0; - for (i = 0; i < 6; i++) - { - u16 species = GetMonData(&sp4[i], MON_DATA_SPECIES2); - u16 hp = GetMonData(&sp4[i], MON_DATA_HP); - u32 status = GetMonData(&sp4[i], MON_DATA_STATUS); - - if (species == SPECIES_NONE) - continue; - if (species != SPECIES_EGG && hp != 0 && status == 0) - r7 |= 1 << i * 2; - - if (species == 0) - continue; - if (hp != 0 && (species == SPECIES_EGG || status != 0)) - r7 |= 2 << i * 2; - - if (species == 0) - continue; - if (species != SPECIES_EGG && hp == 0) - r7 |= 3 << i * 2; - } - gTasks[taskId].data[3] = r7; - - r7 = 0; - for (i = 0; i < 6; i++) - { - u16 species = GetMonData(&sp8[i], MON_DATA_SPECIES2); - u16 hp = GetMonData(&sp8[i], MON_DATA_HP); - u32 status = GetMonData(&sp8[i], MON_DATA_STATUS); - - if (species == SPECIES_NONE) - continue; - if (species != SPECIES_EGG && hp != 0 && status == 0) - r7 |= 1 << i * 2; - - if (species == SPECIES_NONE) - continue; - if (hp != 0 && (species == SPECIES_EGG || status != 0)) - r7 |= 2 << i * 2; - - if (species == SPECIES_NONE) - continue; - if (species != SPECIES_EGG && hp == 0) - r7 |= 3 << i * 2; - } - gTasks[taskId].data[4] = r7; -} - -void sub_8038D64(void) -{ - s32 i; - u8 taskId; - - SetHBlankCallback(NULL); - SetVBlankCallback(NULL); - gBattleTypeFlags &= ~(BATTLE_TYPE_20); - - if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) - { - SetMainCallback2(gMain.savedCallback); - FreeBattleResources(); - FreeBattleSpritesData(); - FreeMonSpritesGfx(); - } - else - { - CpuFill32(0, (void*)(VRAM), VRAM_SIZE); - SetGpuReg(REG_OFFSET_MOSAIC, 0); - SetGpuReg(REG_OFFSET_WIN0H, 0xF0); - SetGpuReg(REG_OFFSET_WIN0V, 0x5051); - SetGpuReg(REG_OFFSET_WININ, 0); - SetGpuReg(REG_OFFSET_WINOUT, 0); - gBattle_WIN0H = 0xF0; - gBattle_WIN0V = 0x5051; - dp12_8087EA4(); - - for (i = 0; i < 80; i++) - { - gUnknown_02038C28.unk0[i] = 0xF0; - gUnknown_02038C28.unk780[i] = 0xF0; - } - for (i = 80; i < 160; i++) - { - asm(""::"r"(i)); // Needed to stop the compiler from optimizing out the loop counter - gUnknown_02038C28.unk0[i] = 0xFF10; - gUnknown_02038C28.unk780[i] = 0xFF10; - } - - ResetPaletteFade(); - - gBattle_BG0_X = 0; - gBattle_BG0_Y = 0; - gBattle_BG1_X = 0; - gBattle_BG1_Y = 0; - gBattle_BG2_X = 0; - gBattle_BG2_Y = 0; - gBattle_BG3_X = 0; - gBattle_BG3_Y = 0; - - sub_80356D0(); - LoadCompressedPalette(gUnknown_08C004E0, 0, 64); - ApplyPlayerChosenFrameToBattleMenu(); - ResetSpriteData(); - ResetTasks(); - LoadBattleEntryBackground(); - SetGpuReg(REG_OFFSET_WINOUT, 0x37); - FreeAllSpritePalettes(); - gReservedSpritePaletteCount = 4; - SetVBlankCallback(VBlankCB_Battle); - - taskId = CreateTask(task00_0800F6FC, 0); - gTasks[taskId].data[1] = 0x10E; - gTasks[taskId].data[2] = 0x5A; - gTasks[taskId].data[5] = 1; - sub_8038B94(taskId); - SetMainCallback2(sub_8038F14); - gBattleCommunication[MULTIUSE_STATE] = 0; - } -} - -static void sub_8038F14(void) -{ - sub_8038F34(); - AnimateSprites(); - BuildOamBuffer(); - RunTextPrinters(); - UpdatePaletteFade(); - RunTasks(); -} - -static void sub_8038F34(void) -{ - s32 i; - - switch (gBattleCommunication[MULTIUSE_STATE]) - { - case 0: - ShowBg(0); - ShowBg(1); - ShowBg(2); - gBattleCommunication[1] = 0xFF; - gBattleCommunication[MULTIUSE_STATE]++; - break; - case 1: - if (--gBattleCommunication[1] == 0) - { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 2: - if (!gPaletteFade.active) - { - u8 monsCount; - - gMain.field_439_x4 = sub_8185FAC(); - - if (gBattleTypeFlags & BATTLE_TYPE_MULTI) - monsCount = 4; - else - monsCount = 2; - - for (i = 0; i < monsCount && (gLinkPlayers[i].version & 0xFF) == VERSION_EMERALD; i++); - - if (!gSaveBlock2Ptr->field_CA9_b && i == monsCount) - { - if (FlagGet(SYS_FRONTIER_PASS)) - { - FreeAllWindowBuffers(); - SetMainCallback2(sub_80392A8); - } - else if (!gMain.field_439_x4) - { - SetMainCallback2(gMain.savedCallback); - FreeBattleResources(); - FreeBattleSpritesData(); - FreeMonSpritesGfx(); - } - else if (gReceivedRemoteLinkPlayers == 0) - { - CreateTask(sub_80B3AF8, 5); - gBattleCommunication[MULTIUSE_STATE]++; - } - else - { - gBattleCommunication[MULTIUSE_STATE]++; - } - } - else - { - SetMainCallback2(gMain.savedCallback); - FreeBattleResources(); - FreeBattleSpritesData(); - FreeMonSpritesGfx(); - } - } - break; - case 3: - CpuFill32(0, (void*)(VRAM), VRAM_SIZE); - - for (i = 0; i < 2; i++) - LoadChosenBattleElement(i); - - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); - gBattleCommunication[MULTIUSE_STATE]++; - break; - case 4: - if (!gPaletteFade.active) - gBattleCommunication[MULTIUSE_STATE]++; - break; - case 5: - if (!FuncIsActiveTask(sub_80B3AF8)) - gBattleCommunication[MULTIUSE_STATE]++; - break; - case 6: - if (sub_800A520() == TRUE) - { - sub_800ADF8(); - BattleHandleAddTextPrinter(gText_LinkStandby3, 0); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 7: - if (!IsTextPrinterActive(0)) - { - if (sub_800A520() == TRUE) - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 8: - if (!gLinkVSyncDisabled) - sub_800AC34(); - gBattleCommunication[MULTIUSE_STATE]++; - break; - case 9: - if (!gMain.field_439_x4 || gLinkVSyncDisabled || gReceivedRemoteLinkPlayers != 1) - { - gMain.field_439_x4 = 0; - SetMainCallback2(gMain.savedCallback); - FreeBattleResources(); - FreeBattleSpritesData(); - FreeMonSpritesGfx(); - } - break; - } -} - -u32 sub_80391E0(u8 arrayId, u8 caseId) -{ - u32 ret = 0; - - switch (caseId) - { - case 0: - ret = gUnknown_0831AA08[arrayId].bg; - break; - case 1: - ret = gUnknown_0831AA08[arrayId].charBaseIndex; - break; - case 2: - ret = gUnknown_0831AA08[arrayId].mapBaseIndex; - break; - case 3: - ret = gUnknown_0831AA08[arrayId].screenSize; - break; - case 4: - ret = gUnknown_0831AA08[arrayId].paletteMode; - break; - case 5: - ret = gUnknown_0831AA08[arrayId].priority; - break; - case 6: - ret = gUnknown_0831AA08[arrayId].baseTile; - break; - } - - return ret; -} - -static void sub_80392A8(void) -{ - s32 i; - - SetHBlankCallback(NULL); - SetVBlankCallback(NULL); - CpuFill32(0, (void*)(VRAM), VRAM_SIZE); - ResetPaletteFade(); - gBattle_BG0_X = 0; - gBattle_BG0_Y = 0; - gBattle_BG1_X = 0; - gBattle_BG1_Y = 0; - gBattle_BG2_X = 0; - gBattle_BG2_Y = 0; - gBattle_BG3_X = 0; - gBattle_BG3_Y = 0; - sub_80356D0(); - SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); - ApplyPlayerChosenFrameToBattleMenu(); - - for (i = 0; i < 2; i++) - LoadChosenBattleElement(i); - - ResetSpriteData(); - ResetTasks(); - FreeAllSpritePalettes(); - gReservedSpritePaletteCount = 4; - SetVBlankCallback(VBlankCB_Battle); - SetMainCallback2(sub_803937C); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); - gBattleCommunication[MULTIUSE_STATE] = 0; -} - -static void sub_803937C(void) -{ - sub_803939C(); - AnimateSprites(); - BuildOamBuffer(); - RunTextPrinters(); - UpdatePaletteFade(); - RunTasks(); -} - -static void sub_803939C(void) -{ - switch (gBattleCommunication[MULTIUSE_STATE]) - { - case 0: - ShowBg(0); - ShowBg(1); - ShowBg(2); - gBattleCommunication[MULTIUSE_STATE]++; - break; - case 1: - if (gMain.field_439_x4 && gReceivedRemoteLinkPlayers == 0) - CreateTask(sub_80B3AF8, 5); - gBattleCommunication[MULTIUSE_STATE]++; - break; - case 2: - if (!FuncIsActiveTask(sub_80B3AF8)) - gBattleCommunication[MULTIUSE_STATE]++; - break; - case 3: - if (!gPaletteFade.active) - { - BattleHandleAddTextPrinter(gText_RecordBattleToPass, 0); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 4: - if (!IsTextPrinterActive(0)) - { - HandleBattleWindow(0x18, 8, 0x1D, 0xD, 0); - BattleHandleAddTextPrinter(gText_BattleYesNoChoice, 0xC); - gBattleCommunication[CURSOR_POSITION] = 1; - BattleCreateYesNoCursorAt(1); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 5: - if (gMain.newKeys & DPAD_UP) - { - if (gBattleCommunication[CURSOR_POSITION] != 0) - { - PlaySE(SE_SELECT); - BattleDestroyYesNoCursorAt(gBattleCommunication[CURSOR_POSITION]); - gBattleCommunication[CURSOR_POSITION] = 0; - BattleCreateYesNoCursorAt(0); - } - } - else if (gMain.newKeys & DPAD_DOWN) - { - if (gBattleCommunication[CURSOR_POSITION] == 0) - { - PlaySE(SE_SELECT); - BattleDestroyYesNoCursorAt(gBattleCommunication[CURSOR_POSITION]); - gBattleCommunication[CURSOR_POSITION] = 1; - BattleCreateYesNoCursorAt(1); - } - } - else if (gMain.newKeys & A_BUTTON) - { - PlaySE(SE_SELECT); - if (gBattleCommunication[CURSOR_POSITION] == 0) - { - HandleBattleWindow(0x18, 8, 0x1D, 0xD, WINDOW_CLEAR); - gBattleCommunication[1] = MoveRecordedBattleToSaveData(); - gBattleCommunication[MULTIUSE_STATE] = 10; - } - else - { - gBattleCommunication[MULTIUSE_STATE]++; - } - } - else if (gMain.newKeys & B_BUTTON) - { - PlaySE(SE_SELECT); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 6: - if (sub_800A520() == TRUE) - { - HandleBattleWindow(0x18, 8, 0x1D, 0xD, WINDOW_CLEAR); - if (gMain.field_439_x4) - { - sub_800ADF8(); - BattleHandleAddTextPrinter(gText_LinkStandby3, 0); - } - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 8: - if (--gBattleCommunication[1] == 0) - { - if (gMain.field_439_x4 && !gLinkVSyncDisabled) - sub_800AC34(); - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 9: - if (!gMain.field_439_x4 || gLinkVSyncDisabled || gReceivedRemoteLinkPlayers != 1) - { - gMain.field_439_x4 = 0; - if (!gPaletteFade.active) - { - SetMainCallback2(gMain.savedCallback); - FreeBattleResources(); - FreeBattleSpritesData(); - FreeMonSpritesGfx(); - } - } - break; - case 10: - if (gBattleCommunication[1] == 1) - { - PlaySE(SE_SAVE); - BattleStringExpandPlaceholdersToDisplayedString(gText_BattleRecordedOnPass); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); - gBattleCommunication[1] = 0x80; - gBattleCommunication[MULTIUSE_STATE]++; - } - else - { - BattleStringExpandPlaceholdersToDisplayedString(gText_BattleRecordCouldntBeSaved); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); - gBattleCommunication[1] = 0x80; - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 11: - if (sub_800A520() == TRUE && !IsTextPrinterActive(0) && --gBattleCommunication[1] == 0) - { - if (gMain.field_439_x4) - { - sub_800ADF8(); - BattleHandleAddTextPrinter(gText_LinkStandby3, 0); - } - gBattleCommunication[MULTIUSE_STATE]++; - } - break; - case 12: - case 7: - if (!IsTextPrinterActive(0)) - { - if (gMain.field_439_x4) - { - if (sub_800A520() == TRUE) - { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); - gBattleCommunication[1] = 0x20; - gBattleCommunication[MULTIUSE_STATE] = 8; - } - - } - else - { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); - gBattleCommunication[1] = 0x20; - gBattleCommunication[MULTIUSE_STATE] = 8; - } - } - break; - } -} - -static void TryCorrectShedinjaLanguage(struct Pokemon *mon) -{ - u8 nickname[POKEMON_NAME_LENGTH + 1]; - u8 language = LANGUAGE_JAPANESE; - - if (GetMonData(mon, MON_DATA_SPECIES) == SPECIES_SHEDINJA - && GetMonData(mon, MON_DATA_LANGUAGE) != language) - { - GetMonData(mon, MON_DATA_NICKNAME, nickname); - if (StringCompareWithoutExtCtrlCodes(nickname, gText_ShedinjaJapaneseName) == 0) - SetMonData(mon, MON_DATA_LANGUAGE, &language); - } -} - -u32 sub_80397C4(u32 setId, u32 tableId) -{ - return gUnknown_0831ABA0[setId][tableId].width * 8; -} - -#define tBank data0 -#define tSpeciesId data2 - -void oac_poke_opponent(struct Sprite *sprite) -{ - sprite->callback = sub_803980C; - StartSpriteAnimIfDifferent(sprite, 0); - BeginNormalPaletteFade(0x20000, 0, 10, 10, 0x2108); -} - -static void sub_803980C(struct Sprite *sprite) -{ - if ((gUnknown_020243FC & 1) == 0) - { - sprite->pos2.x += 2; - if (sprite->pos2.x == 0) - { - sprite->callback = sub_8039838; - } - } -} - -static void sub_8039838(struct Sprite *sprite) -{ - if (sprite->animEnded) - { - sub_8076918(sprite->tBank); - SetHealthboxSpriteVisible(gHealthBoxesIds[sprite->tBank]); - sprite->callback = sub_8039894; - StartSpriteAnimIfDifferent(sprite, 0); - BeginNormalPaletteFade(0x20000, 0, 10, 0, 0x2108); - } -} - -static void sub_8039894(struct Sprite *sprite) -{ - if (!gPaletteFade.active) - { - BattleAnimateFrontSprite(sprite, sprite->tSpeciesId, FALSE, 1); - } -} - -void SpriteCallbackDummy_2(struct Sprite *sprite) -{ - -} - -static void sub_80398BC(struct Sprite *sprite) // unused? -{ - sprite->data3 = 6; - sprite->data4 = 1; - sprite->callback = sub_80398D0; -} - -static void sub_80398D0(struct Sprite *sprite) -{ - sprite->data4--; - if (sprite->data4 == 0) - { - sprite->data4 = 8; - sprite->invisible ^= 1; - sprite->data3--; - if (sprite->data3 == 0) - { - sprite->invisible = FALSE; - sprite->callback = SpriteCallbackDummy_2; - gUnknown_02022F88 = 0; - } - } -} - -// to get rid of once the struct is declared in a header -struct MonCoords -{ - // This would use a bitfield, but sub_8079F44 - // uses it as a u8 and casting won't match. - u8 coords; // u8 x:4, y:4; - u8 y_offset; -}; - -extern const struct MonCoords gMonFrontPicCoords[]; -extern const struct MonCoords gCastformFrontSpriteCoords[]; - -void sub_8039934(struct Sprite *sprite) -{ - u8 bank = sprite->tBank; - u16 species; - u8 yOffset; - - if (gBattleSpritesDataPtr->bankData[bank].transformSpecies != 0) - species = gBattleSpritesDataPtr->bankData[bank].transformSpecies; - else - species = sprite->tSpeciesId; - - GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_PERSONALITY); // Unused return value - - if (species == SPECIES_UNOWN) - { - u32 personalityValue = GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_PERSONALITY); - u16 unownForm = ((((personalityValue & 0x3000000) >> 18) | ((personalityValue & 0x30000) >> 12) | ((personalityValue & 0x300) >> 6) | (personalityValue & 3)) % 0x1C); - u16 unownSpecies; - - if (unownForm == 0) - unownSpecies = SPECIES_UNOWN; // Use the A Unown form - else - unownSpecies = NUM_SPECIES + unownForm; // Use one of the other Unown letters - - yOffset = gMonFrontPicCoords[unownSpecies].y_offset; - } - else if (species == SPECIES_CASTFORM) - { - yOffset = gCastformFrontSpriteCoords[gBattleMonForms[bank]].y_offset; - } - else if (species > NUM_SPECIES) - { - yOffset = gMonFrontPicCoords[SPECIES_NONE].y_offset; - } - else - { - yOffset = gMonFrontPicCoords[species].y_offset; - } - - sprite->data3 = 8 - yOffset / 8; - sprite->data4 = 1; - sprite->callback = sub_8039A48; -} - -static void sub_8039A48(struct Sprite *sprite) -{ - s32 i; - - sprite->data4--; - if (sprite->data4 == 0) - { - sprite->data4 = 2; - sprite->pos2.y += 8; - sprite->data3--; - if (sprite->data3 < 0) - { - FreeSpriteOamMatrix(sprite); - DestroySprite(sprite); - } - else - { - u8 *dst = (u8 *)gMonSpritesGfxPtr->sprites[GetBankIdentity(sprite->tBank)] + (gBattleMonForms[sprite->tBank] << 11) + (sprite->data3 << 8); - - for (i = 0; i < 0x100; i++) - *(dst++) = 0; - - StartSpriteAnim(sprite, gBattleMonForms[sprite->tBank]); - } - } -} - -void sub_8039AD8(struct Sprite *sprite) -{ - sprite->data3 = 8; - sprite->data4 = sprite->invisible; - sprite->callback = sub_8039AF4; -} - -static void sub_8039AF4(struct Sprite *sprite) -{ - sprite->data3--; - if (sprite->data3 == 0) - { - sprite->invisible ^= 1; - sprite->data3 = 8; - } -} - -void sub_8039B2C(struct Sprite *sprite) -{ - sprite->invisible = sprite->data4; - sprite->data4 = FALSE; - sprite->callback = SpriteCallbackDummy_2; -} - -void sub_8039B58(struct Sprite *sprite) -{ - if (sprite->affineAnimEnded) - { - if (!(gHitMarker & HITMARKER_NO_ANIMATIONS) || gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) - { - if (HasTwoFramesAnimation(sprite->tSpeciesId)) - StartSpriteAnim(sprite, 1); - } - BattleAnimateFrontSprite(sprite, sprite->tSpeciesId, TRUE, 1); - } -} - -void sub_8039BB4(struct Sprite *sprite) -{ - sprite->callback = oac_poke_ally_; -} - -static void oac_poke_ally_(struct Sprite *sprite) -{ - if ((gUnknown_020243FC & 1) == 0) - { - sprite->pos2.x -= 2; - if (sprite->pos2.x == 0) - { - sprite->callback = SpriteCallbackDummy_3; - sprite->data1 = 0; - } - } -} - -void sub_80105DC(struct Sprite *sprite) -{ - sprite->callback = SpriteCallbackDummy_3; -} - -static void SpriteCallbackDummy_3(struct Sprite *sprite) -{ -} - -void sub_8039C00(struct Sprite *sprite) -{ - if (!(gUnknown_020243FC & 1)) - { - sprite->pos2.x += sprite->data1; - sprite->pos2.y += sprite->data2; - } -} - -void dp11b_obj_instanciate(u8 bank, u8 b, s8 c, s8 d) -{ - u8 bounceHealthBoxSpriteId; - u8 spriteId2; - - if (b) - { - if (gBattleSpritesDataPtr->healthBoxesData[bank].flag_x2) - return; - } - else - { - if (gBattleSpritesDataPtr->healthBoxesData[bank].flag_x4) - return; - } - - bounceHealthBoxSpriteId = CreateInvisibleSpriteWithCallback(SpriteCB_HealthBoxBounce); - if (b == TRUE) - { - spriteId2 = gHealthBoxesIds[bank]; - gBattleSpritesDataPtr->healthBoxesData[bank].field_2 = bounceHealthBoxSpriteId; - gBattleSpritesDataPtr->healthBoxesData[bank].flag_x2 = 1; - gSprites[bounceHealthBoxSpriteId].data0 = 0x80; - } - else - { - spriteId2 = gBankSpriteIds[bank]; - gBattleSpritesDataPtr->healthBoxesData[bank].field_3 = bounceHealthBoxSpriteId; - gBattleSpritesDataPtr->healthBoxesData[bank].flag_x4 = 1; - gSprites[bounceHealthBoxSpriteId].data0 = 0xC0; - } - gSprites[bounceHealthBoxSpriteId].data1 = c; - gSprites[bounceHealthBoxSpriteId].data2 = d; - gSprites[bounceHealthBoxSpriteId].data3 = spriteId2; - gSprites[bounceHealthBoxSpriteId].data4 = b; - gSprites[spriteId2].pos2.x = 0; - gSprites[spriteId2].pos2.y = 0; -} - -void dp11b_obj_free(u8 bank, bool8 b) -{ - u8 r4; - - if (b == TRUE) - { - if (!gBattleSpritesDataPtr->healthBoxesData[bank].flag_x2) - return; - - r4 = gSprites[gBattleSpritesDataPtr->healthBoxesData[bank].field_2].data3; - DestroySprite(&gSprites[gBattleSpritesDataPtr->healthBoxesData[bank].field_2]); - gBattleSpritesDataPtr->healthBoxesData[bank].flag_x2 = 0; - } - else - { - if (!gBattleSpritesDataPtr->healthBoxesData[bank].flag_x4) - return; - - r4 = gSprites[gBattleSpritesDataPtr->healthBoxesData[bank].field_3].data3; - DestroySprite(&gSprites[gBattleSpritesDataPtr->healthBoxesData[bank].field_3]); - gBattleSpritesDataPtr->healthBoxesData[bank].flag_x4 = 0; - } - gSprites[r4].pos2.x = 0; - gSprites[r4].pos2.y = 0; -} - -static void SpriteCB_HealthBoxBounce(struct Sprite *sprite) -{ - u8 spriteId = sprite->data3; - s32 var; - - if (sprite->data4 == 1) - var = sprite->data0; - else - var = sprite->data0; - - gSprites[spriteId].pos2.y = Sin(var, sprite->data2) + sprite->data2; - sprite->data0 = (sprite->data0 + sprite->data1) & 0xFF; -} - -void sub_8039E44(struct Sprite *sprite) -{ - if (sprite->affineAnimEnded) - BattleAnimateBackSprite(sprite, sprite->tSpeciesId); -} - -void sub_8039E60(struct Sprite *sprite) -{ - sub_8039E9C(sprite); - if (sprite->animEnded) - sprite->callback = SpriteCallbackDummy_3; -} - -void sub_8039E84(struct Sprite *sprite) -{ - StartSpriteAnim(sprite, 1); - sprite->callback = sub_8039E60; -} - -void sub_8039E9C(struct Sprite *sprite) -{ - if (sprite->animDelayCounter == 0) - sprite->centerToCornerVecX = gUnknown_0831ACE0[sprite->animCmdIndex]; -} - -void nullsub_20(void) -{ - -} - -void BeginBattleIntro(void) -{ - BattleStartClearSetData(); - gBattleCommunication[1] = 0; - gBattleMainFunc = BattleIntroGetMonsData; -} - -static void BattleMainCB1(void) -{ - gBattleMainFunc(); - - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - gBattleBankFunc[gActiveBank](); -} - -static void BattleStartClearSetData(void) -{ - s32 i; - u32 j; - u8 *dataPtr; - - TurnValuesCleanUp(FALSE); - SpecialStatusesClear(); - - for (i = 0; i < BATTLE_BANKS_COUNT; i++) - { - gStatuses3[i] = 0; - - dataPtr = (u8 *)&gDisableStructs[i]; - for (j = 0; j < sizeof(struct DisableStruct); j++) - dataPtr[j] = 0; - - gDisableStructs[i].isFirstTurn= 2; - gUnknown_02024284[i] = 0; - gLastUsedMovesByBanks[i] = 0; - gUnknown_02024250[i] = 0; - gUnknown_02024258[i] = 0; - gUnknown_02024260[i] = 0; - gUnknown_02024270[i] = 0xFF; - gLockedMoves[i] = 0; - gUnknownMovesUsedByBanks[i] = 0; - gBattleResources->flags->flags[i] = 0; - gUnknown_02024230[i] = 0; - } - - for (i = 0; i < 2; i++) - { - gSideAffecting[i] = 0; - - dataPtr = (u8 *)&gSideTimers[i]; - for (j = 0; j < sizeof(struct SideTimer); j++) - dataPtr[j] = 0; - } - - gBankAttacker = 0; - gBankTarget = 0; - gBattleWeather = 0; - - dataPtr = (u8 *)&gWishFutureKnock; - for (i = 0; i < sizeof(struct WishFutureKnock); i++) - dataPtr[i] = 0; - - gHitMarker = 0; - - if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) - { - if (!(gBattleTypeFlags & BATTLE_TYPE_LINK) && gSaveBlock2Ptr->optionsBattleSceneOff == TRUE) - gHitMarker |= HITMARKER_NO_ANIMATIONS; - } - else if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) && sub_8185FB8()) - gHitMarker |= HITMARKER_NO_ANIMATIONS; - - gBattleScripting.battleStyle = gSaveBlock2Ptr->optionsBattleStyle; - - gMultiHitCounter = 0; - gBattleOutcome = 0; - gBattleExecBuffer = 0; - gPaydayMoney = 0; - gBattleResources->battleScriptsStack->size = 0; - gBattleResources->battleCallbackStack->size = 0; - - for (i = 0; i < BATTLE_COMMUNICATION_ENTRIES_COUNT; i++) - gBattleCommunication[i] = 0; - - gPauseCounterBattle = 0; - gBattleMoveDamage = 0; - gUnknown_020243FC = 0; - gBattleScripting.animTurn = 0; - gBattleScripting.animTargetsHit = 0; - gLeveledUpInBattle = 0; - gAbsentBankFlags = 0; - gBattleStruct->runTries = 0; - gBattleStruct->field_79 = 0; - gBattleStruct->field_7A = 0; - *(&gBattleStruct->field_7C) = gBaseStats[GetMonData(&gEnemyParty[0], MON_DATA_SPECIES)].catchRate * 100 / 1275; - gBattleStruct->field_7B = 3; - gBattleStruct->wildVictorySong = 0; - gBattleStruct->moneyMultiplier = 1; - - for (i = 0; i < 8; i++) - { - *((u8 *)gBattleStruct->mirrorMoves + i) = 0; - *((u8 *)gBattleStruct->usedHeldItems + i) = 0; - *((u8 *)gBattleStruct->choicedMove + i) = 0; - *((u8 *)gBattleStruct->changedItems + i) = 0; - *(i + 0 * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; - *(i + 1 * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; - *(i + 2 * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; - *(i + 3 * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; - } - - for (i = 0; i < 4; i++) - { - *(gBattleStruct->field_294 + i) = 6; - } - - gBattleStruct->field_DF = 0; - gBattleStruct->field_92 = 0; - - gRandomTurnNumber = Random(); - - dataPtr = (u8 *)(&gBattleResults); - for (i = 0; i < sizeof(struct BattleResults); i++) - dataPtr[i] = 0; - - gBattleResults.unk5_6 = IsMonShiny(&gEnemyParty[0]); - - gBattleStruct->field_2A0 = 0; - gBattleStruct->field_2A1 = 0; -} - -void SwitchInClearSetData(void) -{ - struct DisableStruct disableStructCopy = gDisableStructs[gActiveBank]; - s32 i; - u8 *ptr; - - if (gBattleMoves[gCurrentMove].effect != EFFECT_BATON_PASS) - { - for (i = 0; i < BATTLE_STATS_NO; i++) - gBattleMons[gActiveBank].statStages[i] = 6; - for (i = 0; i < gNoOfAllBanks; i++) - { - if ((gBattleMons[i].status2 & STATUS2_ESCAPE_PREVENTION) && gDisableStructs[i].bankPreventingEscape == gActiveBank) - gBattleMons[i].status2 &= ~STATUS2_ESCAPE_PREVENTION; - if ((gStatuses3[i] & STATUS3_ALWAYS_HITS) && gDisableStructs[i].bankWithSureHit == gActiveBank) - { - gStatuses3[i] &= ~STATUS3_ALWAYS_HITS; - gDisableStructs[i].bankWithSureHit = 0; - } - } - } - if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) - { - gBattleMons[gActiveBank].status2 &= (STATUS2_CONFUSION | STATUS2_FOCUS_ENERGY | STATUS2_SUBSTITUTE | STATUS2_ESCAPE_PREVENTION | STATUS2_CURSED); - gStatuses3[gActiveBank] &= (STATUS3_LEECHSEED_BANK | STATUS3_LEECHSEED | STATUS3_ALWAYS_HITS | STATUS3_PERISH_SONG | STATUS3_ROOTED | STATUS3_MUDSPORT | STATUS3_WATERSPORT); - - for (i = 0; i < gNoOfAllBanks; i++) - { - if (GetBankSide(gActiveBank) != GetBankSide(i) - && (gStatuses3[i] & STATUS3_ALWAYS_HITS) != 0 - && (gDisableStructs[i].bankWithSureHit == gActiveBank)) - { - gStatuses3[i] &= ~STATUS3_ALWAYS_HITS; - gStatuses3[i] |= 0x10; - } - } - } - else - { - gBattleMons[gActiveBank].status2 = 0; - gStatuses3[gActiveBank] = 0; - } - - for (i = 0; i < gNoOfAllBanks; i++) - { - if (gBattleMons[i].status2 & STATUS2_INFATUATED_WITH(gActiveBank)) - gBattleMons[i].status2 &= ~(STATUS2_INFATUATED_WITH(gActiveBank)); - if ((gBattleMons[i].status2 & STATUS2_WRAPPED) && *(gBattleStruct->wrappedBy + i) == gActiveBank) - gBattleMons[i].status2 &= ~(STATUS2_WRAPPED); - } - - gActionSelectionCursor[gActiveBank] = 0; - gMoveSelectionCursor[gActiveBank] = 0; - - ptr = (u8 *)&gDisableStructs[gActiveBank]; - for (i = 0; i < sizeof(struct DisableStruct); i++) - ptr[i] = 0; - - if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) - { - gDisableStructs[gActiveBank].substituteHP = disableStructCopy.substituteHP; - gDisableStructs[gActiveBank].bankWithSureHit = disableStructCopy.bankWithSureHit; - gDisableStructs[gActiveBank].perishSong1 = disableStructCopy.perishSong1; - gDisableStructs[gActiveBank].perishSong2 = disableStructCopy.perishSong2; - gDisableStructs[gActiveBank].bankPreventingEscape = disableStructCopy.bankPreventingEscape; - } - - gBattleMoveFlags = 0; - gDisableStructs[gActiveBank].isFirstTurn= 2; - gDisableStructs[gActiveBank].truantUnknownBit = disableStructCopy.truantUnknownBit; - gLastUsedMovesByBanks[gActiveBank] = 0; - gUnknown_02024250[gActiveBank] = 0; - gUnknown_02024258[gActiveBank] = 0; - gUnknown_02024260[gActiveBank] = 0; - gUnknownMovesUsedByBanks[gActiveBank] = 0; - gUnknown_02024270[gActiveBank] = 0xFF; - - *(gBattleStruct->mirrorMoves + gActiveBank * 2 + 0) = 0; - *(gBattleStruct->mirrorMoves + gActiveBank * 2 + 1) = 0; - *(0 * 2 + gActiveBank * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; - *(0 * 2 + gActiveBank * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0; - *(1 * 2 + gActiveBank * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; - *(1 * 2 + gActiveBank * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0; - *(2 * 2 + gActiveBank * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; - *(2 * 2 + gActiveBank * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0; - *(3 * 2 + gActiveBank * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; - *(3 * 2 + gActiveBank * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0; - - gBattleStruct->field_92 &= ~(gBitTable[gActiveBank]); - - for (i = 0; i < gNoOfAllBanks; i++) - { - if (i != gActiveBank && GetBankSide(i) != GetBankSide(gActiveBank)) - { - *(gBattleStruct->mirrorMoves + i * 2 + 0) = 0; - *(gBattleStruct->mirrorMoves + i * 2 + 1) = 0; - } - *(i * 8 + gActiveBank * 2 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; - *(i * 8 + gActiveBank * 2 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0; - } - - *(u8*)((u8*)(&gBattleStruct->choicedMove[gActiveBank]) + 0) = 0; - *(u8*)((u8*)(&gBattleStruct->choicedMove[gActiveBank]) + 1) = 0; - - gBattleResources->flags->flags[gActiveBank] = 0; - gCurrentMove = 0; - gBattleStruct->field_DA = 0xFF; - - ClearBankMoveHistory(gActiveBank); - ClearBankAbilityHistory(gActiveBank); -} - -void FaintClearSetData(void) -{ - s32 i; - u8 *ptr; - - for (i = 0; i < BATTLE_STATS_NO; i++) - gBattleMons[gActiveBank].statStages[i] = 6; - - gBattleMons[gActiveBank].status2 = 0; - gStatuses3[gActiveBank] = 0; - - for (i = 0; i < gNoOfAllBanks; i++) - { - if ((gBattleMons[i].status2 & STATUS2_ESCAPE_PREVENTION) && gDisableStructs[i].bankPreventingEscape == gActiveBank) - gBattleMons[i].status2 &= ~STATUS2_ESCAPE_PREVENTION; - if (gBattleMons[i].status2 & STATUS2_INFATUATED_WITH(gActiveBank)) - gBattleMons[i].status2 &= ~(STATUS2_INFATUATED_WITH(gActiveBank)); - if ((gBattleMons[i].status2 & STATUS2_WRAPPED) && *(gBattleStruct->wrappedBy + i) == gActiveBank) - gBattleMons[i].status2 &= ~(STATUS2_WRAPPED); - } - - gActionSelectionCursor[gActiveBank] = 0; - gMoveSelectionCursor[gActiveBank] = 0; - - ptr = (u8 *)&gDisableStructs[gActiveBank]; - for (i = 0; i < sizeof(struct DisableStruct); i++) - ptr[i] = 0; - - gProtectStructs[gActiveBank].protected = 0; - gProtectStructs[gActiveBank].endured = 0; - gProtectStructs[gActiveBank].onlyStruggle = 0; - gProtectStructs[gActiveBank].helpingHand = 0; - gProtectStructs[gActiveBank].bounceMove = 0; - gProtectStructs[gActiveBank].stealMove = 0; - gProtectStructs[gActiveBank].flag0Unknown = 0; - gProtectStructs[gActiveBank].prlzImmobility = 0; - gProtectStructs[gActiveBank].confusionSelfDmg = 0; - gProtectStructs[gActiveBank].targetNotAffected = 0; - gProtectStructs[gActiveBank].chargingTurn = 0; - gProtectStructs[gActiveBank].fleeFlag = 0; - gProtectStructs[gActiveBank].usedImprisionedMove = 0; - gProtectStructs[gActiveBank].loveImmobility = 0; - gProtectStructs[gActiveBank].usedDisabledMove = 0; - gProtectStructs[gActiveBank].usedTauntedMove = 0; - gProtectStructs[gActiveBank].flag2Unknown = 0; - gProtectStructs[gActiveBank].flinchImmobility = 0; - gProtectStructs[gActiveBank].notFirstStrike = 0; - - gDisableStructs[gActiveBank].isFirstTurn = 2; - - gLastUsedMovesByBanks[gActiveBank] = 0; - gUnknown_02024250[gActiveBank] = 0; - gUnknown_02024258[gActiveBank] = 0; - gUnknown_02024260[gActiveBank] = 0; - gUnknownMovesUsedByBanks[gActiveBank] = 0; - gUnknown_02024270[gActiveBank] = 0xFF; - - *(u8*)((u8*)(&gBattleStruct->choicedMove[gActiveBank]) + 0) = 0; - *(u8*)((u8*)(&gBattleStruct->choicedMove[gActiveBank]) + 1) = 0; - - *(gBattleStruct->mirrorMoves + gActiveBank * 2 + 0) = 0; - *(gBattleStruct->mirrorMoves + gActiveBank * 2 + 1) = 0; - *(0 * 2 + gActiveBank * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; - *(0 * 2 + gActiveBank * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0; - *(1 * 2 + gActiveBank * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; - *(1 * 2 + gActiveBank * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0; - *(2 * 2 + gActiveBank * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; - *(2 * 2 + gActiveBank * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0; - *(3 * 2 + gActiveBank * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; - *(3 * 2 + gActiveBank * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0; - - gBattleStruct->field_92 &= ~(gBitTable[gActiveBank]); - - for (i = 0; i < gNoOfAllBanks; i++) - { - if (i != gActiveBank && GetBankSide(i) != GetBankSide(gActiveBank)) - { - *(gBattleStruct->mirrorMoves + i * 2 + 0) = 0; - *(gBattleStruct->mirrorMoves + i * 2 + 1) = 0; - } - *(i * 8 + gActiveBank * 2 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; - *(i * 8 + gActiveBank * 2 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0; - } - - gBattleResources->flags->flags[gActiveBank] = 0; - - gBattleMons[gActiveBank].type1 = gBaseStats[gBattleMons[gActiveBank].species].type1; - gBattleMons[gActiveBank].type2 = gBaseStats[gBattleMons[gActiveBank].species].type2; - - ClearBankMoveHistory(gActiveBank); - ClearBankAbilityHistory(gActiveBank); -} - -static void BattleIntroGetMonsData(void) -{ - switch (gBattleCommunication[MULTIUSE_STATE]) - { - case 0: - gActiveBank = gBattleCommunication[1]; - EmitGetMonData(0, 0, 0); - MarkBufferBankForExecution(gActiveBank); - gBattleCommunication[MULTIUSE_STATE]++; - break; - case 1: - if (gBattleExecBuffer == 0) - { - gBattleCommunication[1]++; - if (gBattleCommunication[1] == gNoOfAllBanks) - gBattleMainFunc = BattleIntroPrepareBackgroundSlide; - else - gBattleCommunication[MULTIUSE_STATE] = 0; - } - break; - } -} - -static void BattleIntroPrepareBackgroundSlide(void) -{ - if (gBattleExecBuffer == 0) - { - gActiveBank = GetBankByIdentity(0); - EmitIntroSlide(0, gBattleTerrain); - MarkBufferBankForExecution(gActiveBank); - gBattleMainFunc = BattleIntroDrawTrainersOrMonsSprites; - gBattleCommunication[0] = 0; - gBattleCommunication[1] = 0; - } -} - -static void BattleIntroDrawTrainersOrMonsSprites(void) -{ - u8 *ptr; - s32 i; - - if (gBattleExecBuffer) - return; - - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - { - if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) - && GetBankSide(gActiveBank) == SIDE_PLAYER) - { - ptr = (u8 *)&gBattleMons[gActiveBank]; - for (i = 0; i < sizeof(struct BattlePokemon); i++) - ptr[i] = 0; - } - else - { - u16* hpOnSwitchout; - - ptr = (u8 *)&gBattleMons[gActiveBank]; - for (i = 0; i < sizeof(struct BattlePokemon); i++) - ptr[i] = gBattleBufferB[gActiveBank][4 + i]; - - gBattleMons[gActiveBank].type1 = gBaseStats[gBattleMons[gActiveBank].species].type1; - gBattleMons[gActiveBank].type2 = gBaseStats[gBattleMons[gActiveBank].species].type2; - gBattleMons[gActiveBank].ability = GetAbilityBySpecies(gBattleMons[gActiveBank].species, gBattleMons[gActiveBank].altAbility); - hpOnSwitchout = &gBattleStruct->hpOnSwitchout[GetBankSide(gActiveBank)]; - *hpOnSwitchout = gBattleMons[gActiveBank].hp; - for (i = 0; i < BATTLE_STATS_NO; i++) - gBattleMons[gActiveBank].statStages[i] = 6; - gBattleMons[gActiveBank].status2 = 0; - } - - if (GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON1) - { - EmitDrawTrainerPic(0); - MarkBufferBankForExecution(gActiveBank); - } - - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) - { - if (GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON1) - { - EmitDrawTrainerPic(0); - MarkBufferBankForExecution(gActiveBank); - } - if (GetBankSide(gActiveBank) == SIDE_OPPONENT - && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER - | BATTLE_TYPE_FRONTIER - | BATTLE_TYPE_LINK - | BATTLE_TYPE_x2000000 - | BATTLE_TYPE_x4000000))) - { - HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), FLAG_SET_SEEN, gBattleMons[gActiveBank].personality); - } - } - else - { - if (GetBankSide(gActiveBank) == SIDE_OPPONENT) - { - if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER - | BATTLE_TYPE_FRONTIER - | BATTLE_TYPE_LINK - | BATTLE_TYPE_x2000000 - | BATTLE_TYPE_x4000000))) - { - HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), FLAG_SET_SEEN, gBattleMons[gActiveBank].personality); - } - EmitLoadMonSprite(0); - MarkBufferBankForExecution(gActiveBank); - gBattleResults.lastOpponentSpecies = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES, NULL); - } - } - - if (gBattleTypeFlags & BATTLE_TYPE_MULTI) - { - if (GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON2 - || GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON2) - { - EmitDrawTrainerPic(0); - MarkBufferBankForExecution(gActiveBank); - } - } - - if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON2) - { - EmitDrawTrainerPic(0); - MarkBufferBankForExecution(gActiveBank); - } - - if (gBattleTypeFlags & BATTLE_TYPE_ARENA) - sub_81A56B4(); - } - gBattleMainFunc = BattleIntroDrawPartySummaryScreens; -} - -static void BattleIntroDrawPartySummaryScreens(void) -{ - s32 i; - struct HpAndStatus hpStatus[6]; - - if (gBattleExecBuffer) - return; - - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) - { - for (i = 0; i < 6; i++) - { - if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE - || GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) - { - hpStatus[i].hp = 0xFFFF; - hpStatus[i].status = 0; - } - else - { - hpStatus[i].hp = GetMonData(&gEnemyParty[i], MON_DATA_HP); - hpStatus[i].status = GetMonData(&gEnemyParty[i], MON_DATA_STATUS); - } - } - gActiveBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1); - EmitDrawPartyStatusSummary(0, hpStatus, 0x80); - MarkBufferBankForExecution(gActiveBank); - - for (i = 0; i < 6; i++) - { - if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_NONE - || GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) - { - hpStatus[i].hp = 0xFFFF; - hpStatus[i].status = 0; - } - else - { - hpStatus[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); - hpStatus[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS); - } - } - gActiveBank = GetBankByIdentity(IDENTITY_PLAYER_MON1); - EmitDrawPartyStatusSummary(0, hpStatus, 0x80); - MarkBufferBankForExecution(gActiveBank); - - gBattleMainFunc = BattleIntroPrintTrainerWantsToBattle; - } - else - { - // The struct gets set here, but nothing is ever done with it since - // wild battles don't show the party summary. - // Still, there's no point in having dead code. - - for (i = 0; i < 6; i++) - { - if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_NONE - || GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) - { - hpStatus[i].hp = 0xFFFF; - hpStatus[i].status = 0; - } - else - { - hpStatus[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); - hpStatus[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS); - } - } - - gBattleMainFunc = BattleIntroPrintWildMonAttacked; - } - -} - -static void BattleIntroPrintTrainerWantsToBattle(void) -{ - if (gBattleExecBuffer == 0) - { - gActiveBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1); - PrepareStringBattle(STRINGID_INTROMSG, gActiveBank); - gBattleMainFunc = BattleIntroPrintOpponentSendsOut; - } -} - -static void BattleIntroPrintWildMonAttacked(void) -{ - if (gBattleExecBuffer == 0) - { - gBattleMainFunc = BattleIntroPrintPlayerSendsOut; - PrepareStringBattle(STRINGID_INTROMSG, 0); - } -} - -static void BattleIntroPrintOpponentSendsOut(void) -{ - u32 identity; - - if (gBattleExecBuffer) - return; - - if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) - identity = IDENTITY_OPPONENT_MON1; - else if (gBattleTypeFlags & BATTLE_TYPE_x2000000) - { - if (gBattleTypeFlags & BATTLE_TYPE_x80000000) - identity = IDENTITY_OPPONENT_MON1; - else - identity = IDENTITY_PLAYER_MON1; - } - else - identity = IDENTITY_OPPONENT_MON1; - - PrepareStringBattle(STRINGID_INTROSENDOUT, GetBankByIdentity(identity)); - gBattleMainFunc = BattleIntroOpponent1SendsOutMonAnimation; -} - -static void BattleIntroOpponent2SendsOutMonAnimation(void) -{ - u32 identity; - - if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) - identity = IDENTITY_OPPONENT_MON2; - else if (gBattleTypeFlags & BATTLE_TYPE_x2000000) - { - if (gBattleTypeFlags & BATTLE_TYPE_x80000000) - identity = IDENTITY_OPPONENT_MON2; - else - identity = IDENTITY_PLAYER_MON2; - } - else - identity = IDENTITY_OPPONENT_MON2; - - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - { - if (GetBankIdentity(gActiveBank) == identity) - { - EmitIntroTrainerBallThrow(0); - MarkBufferBankForExecution(gActiveBank); - } - } - - gBattleMainFunc = BattleIntroRecordMonsToDex; -} - -#ifdef NONMATCHING -static void BattleIntroOpponent1SendsOutMonAnimation(void) -{ - u32 identity; - - if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) - identity = IDENTITY_OPPONENT_MON1; - else if (gBattleTypeFlags & BATTLE_TYPE_x2000000) - { - if (gBattleTypeFlags & BATTLE_TYPE_x80000000) - identity = IDENTITY_OPPONENT_MON1; - else - identity = IDENTITY_PLAYER_MON1; - } - else - identity = IDENTITY_OPPONENT_MON1; - - if (gBattleExecBuffer) - return; - - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - { - if (GetBankIdentity(gActiveBank) == identity) - { - EmitIntroTrainerBallThrow(0); - MarkBufferBankForExecution(gActiveBank); - if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS)) - { - gBattleMainFunc = BattleIntroOpponent2SendsOutMonAnimation; - return; - } - } - } - - gBattleMainFunc = BattleIntroRecordMonsToDex; -} - -#else -__attribute__((naked)) -static void BattleIntroOpponent1SendsOutMonAnimation(void) -{ - asm(".syntax unified\n\ - push {r4-r6,lr}\n\ - ldr r0, =gBattleTypeFlags\n\ - ldr r2, [r0]\n\ - movs r0, 0x80\n\ - lsls r0, 17\n\ - ands r0, r2\n\ - cmp r0, 0\n\ - beq _0803B298\n\ - movs r0, 0x80\n\ - lsls r0, 18\n\ - ands r0, r2\n\ - cmp r0, 0\n\ - beq _0803B298\n\ - movs r1, 0x80\n\ - lsls r1, 24\n\ - ands r1, r2\n\ - negs r0, r1\n\ - orrs r0, r1\n\ - lsrs r5, r0, 31\n\ - b _0803B29A\n\ - .pool\n\ -_0803B288:\n\ - ldr r1, =gBattleMainFunc\n\ - ldr r0, =BattleIntroOpponent2SendsOutMonAnimation\n\ - b _0803B2F0\n\ - .pool\n\ -_0803B298:\n\ - movs r5, 0x1\n\ -_0803B29A:\n\ - ldr r0, =gBattleExecBuffer\n\ - ldr r2, [r0]\n\ - cmp r2, 0\n\ - bne _0803B2F2\n\ - ldr r0, =gActiveBank\n\ - strb r2, [r0]\n\ - ldr r1, =gNoOfAllBanks\n\ - adds r4, r0, 0\n\ - ldrb r1, [r1]\n\ - cmp r2, r1\n\ - bcs _0803B2EC\n\ - adds r6, r4, 0\n\ -_0803B2B2:\n\ - ldrb r0, [r4]\n\ - bl GetBankIdentity\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - cmp r0, r5\n\ - bne _0803B2D8\n\ - movs r0, 0\n\ - bl EmitIntroTrainerBallThrow\n\ - ldrb r0, [r4]\n\ - bl MarkBufferBankForExecution\n\ - ldr r0, =gBattleTypeFlags\n\ - ldr r0, [r0]\n\ - ldr r1, =0x00008040\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0803B288\n\ -_0803B2D8:\n\ - ldrb r0, [r6]\n\ - adds r0, 0x1\n\ - strb r0, [r6]\n\ - ldr r1, =gNoOfAllBanks\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - ldr r4, =gActiveBank\n\ - ldrb r1, [r1]\n\ - cmp r0, r1\n\ - bcc _0803B2B2\n\ -_0803B2EC:\n\ - ldr r1, =gBattleMainFunc\n\ - ldr r0, =BattleIntroRecordMonsToDex\n\ -_0803B2F0:\n\ - str r0, [r1]\n\ -_0803B2F2:\n\ - pop {r4-r6}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - .syntax divided"); -} - -#endif // NONMATCHING - -static void BattleIntroRecordMonsToDex(void) -{ - if (gBattleExecBuffer == 0) - { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - { - if (GetBankSide(gActiveBank) == SIDE_OPPONENT - && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER - | BATTLE_TYPE_FRONTIER - | BATTLE_TYPE_LINK - | BATTLE_TYPE_x2000000 - | BATTLE_TYPE_x4000000))) - { - HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), FLAG_SET_SEEN, gBattleMons[gActiveBank].personality); - } - } - gBattleMainFunc = BattleIntroPrintPlayerSendsOut; - } -} - -void sub_803B3AC(void) // unused -{ - if (gBattleExecBuffer == 0) - gBattleMainFunc = BattleIntroPrintPlayerSendsOut; -} - -static void BattleIntroPrintPlayerSendsOut(void) -{ - if (gBattleExecBuffer == 0) - { - u8 identity; - - if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) - identity = IDENTITY_PLAYER_MON1; - else if (gBattleTypeFlags & BATTLE_TYPE_x2000000) - { - if (gBattleTypeFlags & BATTLE_TYPE_x80000000) - identity = IDENTITY_PLAYER_MON1; - else - identity = IDENTITY_OPPONENT_MON1; - } - else - identity = IDENTITY_PLAYER_MON1; - - if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) - PrepareStringBattle(STRINGID_INTROSENDOUT, GetBankByIdentity(identity)); - - gBattleMainFunc = BattleIntroPlayer1SendsOutMonAnimation; - } -} - -static void BattleIntroPlayer2SendsOutMonAnimation(void) -{ - u32 identity; - - if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) - identity = IDENTITY_PLAYER_MON2; - else if (gBattleTypeFlags & BATTLE_TYPE_x2000000) - { - if (gBattleTypeFlags & BATTLE_TYPE_x80000000) - identity = IDENTITY_PLAYER_MON2; - else - identity = IDENTITY_OPPONENT_MON2; - } - else - identity = IDENTITY_PLAYER_MON2; - - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - { - if (GetBankIdentity(gActiveBank) == identity) - { - EmitIntroTrainerBallThrow(0); - MarkBufferBankForExecution(gActiveBank); - } - } - - gBattleStruct->switchInAbilitiesCounter = 0; - gBattleStruct->switchInItemsCounter = 0; - gBattleStruct->overworldWeatherDone = FALSE; - - gBattleMainFunc = TryDoEventsBeforeFirstTurn; -} - -static void BattleIntroPlayer1SendsOutMonAnimation(void) -{ - u32 identity; - - if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) - identity = IDENTITY_PLAYER_MON1; - else if (gBattleTypeFlags & BATTLE_TYPE_x2000000) - { - if (gBattleTypeFlags & BATTLE_TYPE_x80000000) - identity = IDENTITY_PLAYER_MON1; - else - identity = IDENTITY_OPPONENT_MON1; - } - else - identity = IDENTITY_PLAYER_MON1; - - if (gBattleExecBuffer) - return; - - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - { - if (GetBankIdentity(gActiveBank) == identity) - { - EmitIntroTrainerBallThrow(0); - MarkBufferBankForExecution(gActiveBank); - if (gBattleTypeFlags & (BATTLE_TYPE_MULTI)) - { - gBattleMainFunc = BattleIntroPlayer2SendsOutMonAnimation; - return; - } - } - } - - gBattleStruct->switchInAbilitiesCounter = 0; - gBattleStruct->switchInItemsCounter = 0; - gBattleStruct->overworldWeatherDone = FALSE; - - gBattleMainFunc = TryDoEventsBeforeFirstTurn; -} - -void sub_803B598(void) // unused -{ - if (gBattleExecBuffer == 0) - { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - { - if (GetBankSide(gActiveBank) == SIDE_PLAYER) - { - EmitSwitchInAnim(0, gBattlePartyID[gActiveBank], FALSE); - MarkBufferBankForExecution(gActiveBank); - } - } - - gBattleStruct->switchInAbilitiesCounter = 0; - gBattleStruct->switchInItemsCounter = 0; - gBattleStruct->overworldWeatherDone = FALSE; - - gBattleMainFunc = TryDoEventsBeforeFirstTurn; - } -} - -static void TryDoEventsBeforeFirstTurn(void) -{ - s32 i; - s32 j; - u8 effect = 0; - - if (gBattleExecBuffer) - return; - - if (gBattleStruct->switchInAbilitiesCounter == 0) - { - for (i = 0; i < gNoOfAllBanks; i++) - gBanksByTurnOrder[i] = i; - for (i = 0; i < gNoOfAllBanks - 1; i++) - { - for (j = i + 1; j < gNoOfAllBanks; j++) - { - if (GetWhoStrikesFirst(gBanksByTurnOrder[i], gBanksByTurnOrder[j], TRUE) != 0) - SwapTurnOrder(i, j); - } - } - } - if (!gBattleStruct->overworldWeatherDone - && AbilityBattleEffects(0, 0, 0, ABILITYEFFECT_SWITCH_IN_WEATHER, 0) != 0) - { - gBattleStruct->overworldWeatherDone = TRUE; - return; - } - // check all switch in abilities happening from the fastest mon to slowest - while (gBattleStruct->switchInAbilitiesCounter < gNoOfAllBanks) - { - if (AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gBanksByTurnOrder[gBattleStruct->switchInAbilitiesCounter], 0, 0, 0) != 0) - effect++; - - gBattleStruct->switchInAbilitiesCounter++; - - if (effect) - return; - } - if (AbilityBattleEffects(ABILITYEFFECT_INTIMIDATE1, 0, 0, 0, 0) != 0) - return; - if (AbilityBattleEffects(ABILITYEFFECT_TRACE, 0, 0, 0, 0) != 0) - return; - // check all switch in items having effect from the fastest mon to slowest - while (gBattleStruct->switchInItemsCounter < gNoOfAllBanks) - { - if (ItemBattleEffects(ITEMEFFECT_ON_SWITCH_IN, gBanksByTurnOrder[gBattleStruct->switchInItemsCounter], 0) != 0) - effect++; - - gBattleStruct->switchInItemsCounter++; - - if (effect) - return; - } - for (i = 0; i < BATTLE_BANKS_COUNT; i++) - { - *(gBattleStruct->field_5C + i) = 6; - gActionForBanks[i] = ACTION_INIT_VALUE; - gChosenMovesByBanks[i] = MOVE_NONE; - } - TurnValuesCleanUp(FALSE); - SpecialStatusesClear(); - *(&gBattleStruct->field_91) = gAbsentBankFlags; - BattleHandleAddTextPrinter(gText_EmptyString3, 0); - gBattleMainFunc = HandleTurnActionSelectionState; - ResetSentPokesToOpponentValue(); - - for (i = 0; i < BATTLE_COMMUNICATION_ENTRIES_COUNT; i++) - gBattleCommunication[i] = 0; - - for (i = 0; i < gNoOfAllBanks; i++) - gBattleMons[i].status2 &= ~(STATUS2_FLINCHED); - - *(&gBattleStruct->turnEffectsTracker) = 0; - *(&gBattleStruct->turnEffectsBank) = 0; - *(&gBattleStruct->field_1A0) = 0; - *(&gBattleStruct->field_1A1) = 0; - gBattleScripting.atk49_state = 0; - gBattleStruct->field_4D = 0; - gBattleStruct->turncountersTracker = 0; - gBattleMoveFlags = 0; - - gRandomTurnNumber = Random(); - - if (gBattleTypeFlags & BATTLE_TYPE_ARENA) - { - StopCryAndClearCrySongs(); - BattleScriptExecute(gUnknown_082DB8BE); - } -} - -static void HandleEndTurn_ContinueBattle(void) -{ - s32 i; - - if (gBattleExecBuffer == 0) - { - gBattleMainFunc = BattleTurnPassed; - for (i = 0; i < BATTLE_COMMUNICATION_ENTRIES_COUNT; i++) - gBattleCommunication[i] = 0; - for (i = 0; i < gNoOfAllBanks; i++) - { - gBattleMons[i].status2 &= ~(STATUS2_FLINCHED); - if ((gBattleMons[i].status1 & STATUS_SLEEP) && (gBattleMons[i].status2 & STATUS2_MULTIPLETURNS)) - CancelMultiTurnMoves(i); - } - gBattleStruct->turnEffectsTracker = 0; - gBattleStruct->turnEffectsBank = 0; - gBattleStruct->field_1A0 = 0; - gBattleStruct->field_1A1 = 0; - gBattleStruct->turncountersTracker = 0; - gBattleMoveFlags = 0; - } -} - -void BattleTurnPassed(void) -{ - s32 i; - - TurnValuesCleanUp(TRUE); - if (gBattleOutcome == 0) - { - if (UpdateTurnCounters() != 0) - return; - if (TurnBasedEffects() != 0) - return; - } - if (sub_8041728() != 0) - return; - gBattleStruct->field_4D = 0; - if (sub_8041364() != 0) - return; - - TurnValuesCleanUp(FALSE); - gHitMarker &= ~(HITMARKER_NO_ATTACKSTRING); - gHitMarker &= ~(HITMARKER_UNABLE_TO_USE_MOVE); - gHitMarker &= ~(HITMARKER_x400000); - gHitMarker &= ~(HITMARKER_x100000); - gBattleScripting.animTurn = 0; - gBattleScripting.animTargetsHit = 0; - gBattleScripting.atk49_state = 0; - gBattleMoveDamage = 0; - gBattleMoveFlags = 0; - - for (i = 0; i < 5; i++) - gBattleCommunication[i] = 0; - - if (gBattleOutcome != 0) - { - gCurrentActionFuncId = 12; - gBattleMainFunc = RunTurnActionsFunctions; - return; - } - - if (gBattleResults.battleTurnCounter < 0xFF) - { - gBattleResults.battleTurnCounter++; - gBattleStruct->field_DA++; - } - - for (i = 0; i < gNoOfAllBanks; i++) - { - gActionForBanks[i] = ACTION_INIT_VALUE; - gChosenMovesByBanks[i] = MOVE_NONE; - } - - for (i = 0; i < 4; i++) - *(gBattleStruct->field_5C + i) = 6; - - *(&gBattleStruct->field_91) = gAbsentBankFlags; - BattleHandleAddTextPrinter(gText_EmptyString3, 0); - gBattleMainFunc = HandleTurnActionSelectionState; - gRandomTurnNumber = Random(); - - if (gBattleTypeFlags & BATTLE_TYPE_PALACE) - BattleScriptExecute(gUnknown_082DB881); - else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->field_DA == 0) - BattleScriptExecute(gUnknown_082DB8BE); -} - -u8 IsRunningFromBattleImpossible(void) -{ - u8 holdEffect; - u8 side; - s32 i; - - if (gBattleMons[gActiveBank].item == ITEM_ENIGMA_BERRY) - holdEffect = gEnigmaBerries[gActiveBank].holdEffect; - else - holdEffect = ItemId_GetHoldEffect(gBattleMons[gActiveBank].item); - - gStringBank = gActiveBank; - - if (holdEffect == HOLD_EFFECT_CAN_ALWAYS_RUN) - return 0; - if (gBattleTypeFlags & BATTLE_TYPE_LINK) - return 0; - if (gBattleMons[gActiveBank].ability == ABILITY_RUN_AWAY) - return 0; - - side = GetBankSide(gActiveBank); - - for (i = 0; i < gNoOfAllBanks; i++) - { - if (side != GetBankSide(i) - && gBattleMons[i].ability == ABILITY_SHADOW_TAG) - { - gBattleScripting.bank = i; - gLastUsedAbility = gBattleMons[i].ability; - gBattleCommunication[MULTISTRING_CHOOSER] = 2; - return 2; - } - if (side != GetBankSide(i) - && gBattleMons[gActiveBank].ability != ABILITY_LEVITATE - && gBattleMons[gActiveBank].type1 != TYPE_FLYING - && gBattleMons[gActiveBank].type2 != TYPE_FLYING - && gBattleMons[i].ability == ABILITY_ARENA_TRAP) - { - gBattleScripting.bank = i; - gLastUsedAbility = gBattleMons[i].ability; - gBattleCommunication[MULTISTRING_CHOOSER] = 2; - return 2; - } - } - i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BANK, gActiveBank, ABILITY_MAGNET_PULL, 0, 0); - if (i != 0 && (gBattleMons[gActiveBank].type1 == TYPE_STEEL || gBattleMons[gActiveBank].type2 == TYPE_STEEL)) - { - gBattleScripting.bank = i - 1; - gLastUsedAbility = gBattleMons[i - 1].ability; - gBattleCommunication[MULTISTRING_CHOOSER] = 2; - return 2; - } - if ((gBattleMons[gActiveBank].status2 & (STATUS2_ESCAPE_PREVENTION | STATUS2_WRAPPED)) - || (gStatuses3[gActiveBank] & STATUS3_ROOTED)) - { - gBattleCommunication[MULTISTRING_CHOOSER] = 0; - return 1; - } - if (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE) - { - gBattleCommunication[MULTISTRING_CHOOSER] = 1; - return 1; - } - return 0; -} - -void sub_803BDA0(u8 bank) -{ - s32 i; - u8 r4; - u8 r1; - - // gBattleStruct->field_60[bank][i] - - for (i = 0; i < 3; i++) - gUnknown_0203CF00[i] = *(bank * 3 + i + (u8*)(gBattleStruct->field_60)); - - r4 = pokemon_order_func(gBattlePartyID[bank]); - r1 = pokemon_order_func(*(gBattleStruct->field_5C + bank)); - sub_81B8FB0(r4, r1); - - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - { - for (i = 0; i < 3; i++) - { - *(bank * 3 + i + (u8*)(gBattleStruct->field_60)) = gUnknown_0203CF00[i]; - *((bank ^ BIT_MON) * 3 + i + (u8*)(gBattleStruct->field_60)) = gUnknown_0203CF00[i]; - } - } - else - { - for (i = 0; i < 3; i++) - { - *(bank * 3 + i + (u8*)(gBattleStruct->field_60)) = gUnknown_0203CF00[i]; - } - } -} - -enum -{ - STATE_TURN_START_RECORD, - STATE_BEFORE_ACTION_CHOSEN, - STATE_WAIT_ACTION_CHOSEN, - STATE_WAIT_ACTION_CASE_CHOSEN, - STATE_WAIT_ACTION_CONFIRMED_STANDBY, - STATE_WAIT_ACTION_CONFIRMED, - STATE_SELECTION_SCRIPT, - STATE_WAIT_SET_BEFORE_ACTION, - STATE_SELECTION_SCRIPT_MAY_RUN -}; - -static void HandleTurnActionSelectionState(void) -{ - s32 i; - - gBattleCommunication[ACTIONS_CONFIRMED_COUNT] = 0; - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - { - u8 identity = GetBankIdentity(gActiveBank); - switch (gBattleCommunication[gActiveBank]) - { - case STATE_TURN_START_RECORD: // recorded battle related on start of every turn - sub_8185FD0(); - gBattleCommunication[gActiveBank] = STATE_BEFORE_ACTION_CHOSEN; - break; - case STATE_BEFORE_ACTION_CHOSEN: // choose an action - *(gBattleStruct->field_5C + gActiveBank) = 6; - if (gBattleTypeFlags & BATTLE_TYPE_MULTI - || !(identity & BIT_MON) - || gBattleStruct->field_91 & gBitTable[GetBankByIdentity(identity ^ BIT_MON)] - || gBattleCommunication[GetBankByIdentity(identity ^ BIT_MON)] == 5) - { - if (gBattleStruct->field_91 & gBitTable[gActiveBank]) - { - gActionForBanks[gActiveBank] = ACTION_NOTHING_FAINTED; - if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) - gBattleCommunication[gActiveBank] = STATE_WAIT_ACTION_CONFIRMED; - else - gBattleCommunication[gActiveBank] = STATE_WAIT_ACTION_CONFIRMED_STANDBY; - } - else - { - if (gBattleMons[gActiveBank].status2 & STATUS2_MULTIPLETURNS - || gBattleMons[gActiveBank].status2 & STATUS2_RECHARGE) - { - gActionForBanks[gActiveBank] = ACTION_USE_MOVE; - gBattleCommunication[gActiveBank] = STATE_WAIT_ACTION_CONFIRMED_STANDBY; - } - else - { - EmitChooseAction(0, gActionForBanks[0], gBattleBufferB[0][1] | (gBattleBufferB[0][2] << 8)); - MarkBufferBankForExecution(gActiveBank); - gBattleCommunication[gActiveBank]++; - } - } - } - break; - case STATE_WAIT_ACTION_CHOSEN: // try to perform an action - if (!(gBattleExecBuffer & ((gBitTable[gActiveBank]) | (0xF0000000) | (gBitTable[gActiveBank] << 4) | (gBitTable[gActiveBank] << 8) | (gBitTable[gActiveBank] << 0xC)))) - { - RecordedBattle_SetBankAction(gActiveBank, gBattleBufferB[gActiveBank][1]); - gActionForBanks[gActiveBank] = gBattleBufferB[gActiveBank][1]; - - switch (gBattleBufferB[gActiveBank][1]) - { - case ACTION_USE_MOVE: - if (AreAllMovesUnusable()) - { - gBattleCommunication[gActiveBank] = STATE_SELECTION_SCRIPT; - *(gBattleStruct->selectionScriptFinished + gActiveBank) = FALSE; - *(gBattleStruct->stateIdAfterSelScript + gActiveBank) = STATE_WAIT_ACTION_CONFIRMED_STANDBY; - *(gBattleStruct->moveTarget + gActiveBank) = gBattleBufferB[gActiveBank][3]; - return; - } - else if (gDisableStructs[gActiveBank].encoredMove != 0) - { - gChosenMovesByBanks[gActiveBank] = gDisableStructs[gActiveBank].encoredMove; - *(gBattleStruct->chosenMovePositions + gActiveBank) = gDisableStructs[gActiveBank].encoredMovePos; - gBattleCommunication[gActiveBank] = STATE_WAIT_ACTION_CONFIRMED_STANDBY; - return; - } - else - { - struct ChooseMoveStruct moveInfo; - - moveInfo.species = gBattleMons[gActiveBank].species; - moveInfo.monType1 = gBattleMons[gActiveBank].type1; - moveInfo.monType2 = gBattleMons[gActiveBank].type2; - - for (i = 0; i < 4; i++) - { - moveInfo.moves[i] = gBattleMons[gActiveBank].moves[i]; - moveInfo.currentPp[i] = gBattleMons[gActiveBank].pp[i]; - moveInfo.maxPp[i] = CalculatePPWithBonus( - gBattleMons[gActiveBank].moves[i], - gBattleMons[gActiveBank].ppBonuses, - i); - } - - EmitChooseMove(0, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0, FALSE, &moveInfo); - MarkBufferBankForExecution(gActiveBank); - } - break; - case ACTION_USE_ITEM: - if (gBattleTypeFlags & (BATTLE_TYPE_LINK - | BATTLE_TYPE_FRONTIER_NO_PYRAMID - | BATTLE_TYPE_EREADER_TRAINER - | BATTLE_TYPE_x2000000)) - { - RecordedBattle_ClearBankAction(gActiveBank, 1); - gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_ActionSelectionItemsCantBeUsed; - gBattleCommunication[gActiveBank] = STATE_SELECTION_SCRIPT; - *(gBattleStruct->selectionScriptFinished + gActiveBank) = FALSE; - *(gBattleStruct->stateIdAfterSelScript + gActiveBank) = STATE_BEFORE_ACTION_CHOSEN; - return; - } - else - { - EmitChooseItem(0, gBattleStruct->field_60[gActiveBank]); - MarkBufferBankForExecution(gActiveBank); - } - break; - case ACTION_SWITCH: - *(gBattleStruct->field_58 + gActiveBank) = gBattlePartyID[gActiveBank]; - if (gBattleMons[gActiveBank].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION) - || gBattleTypeFlags & BATTLE_TYPE_ARENA - || gStatuses3[gActiveBank] & STATUS3_ROOTED) - { - EmitChoosePokemon(0, 2, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBank]); - } - else if ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBank, ABILITY_SHADOW_TAG, 0, 0)) - || ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBank, ABILITY_ARENA_TRAP, 0, 0)) - && gBattleMons[gActiveBank].type1 != TYPE_FLYING - && gBattleMons[gActiveBank].type2 != TYPE_FLYING - && gBattleMons[gActiveBank].ability != ABILITY_LEVITATE) - || ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BANK, gActiveBank, ABILITY_MAGNET_PULL, 0, 0)) - && (gBattleMons[gActiveBank].type1 == TYPE_STEEL - || gBattleMons[gActiveBank].type2 == TYPE_STEEL))) - { - EmitChoosePokemon(0, ((i - 1) << 4) | 4, 6, gLastUsedAbility, gBattleStruct->field_60[gActiveBank]); - } - else - { - if (gActiveBank == 2 && gActionForBanks[0] == ACTION_SWITCH) - EmitChoosePokemon(0, 0, *(gBattleStruct->field_5C + 0), ABILITY_NONE, gBattleStruct->field_60[gActiveBank]); - else if (gActiveBank == 3 && gActionForBanks[1] == ACTION_SWITCH) - EmitChoosePokemon(0, 0, *(gBattleStruct->field_5C + 1), ABILITY_NONE, gBattleStruct->field_60[gActiveBank]); - else - EmitChoosePokemon(0, 0, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBank]); - } - MarkBufferBankForExecution(gActiveBank); - break; - case ACTION_SAFARI_ZONE_BALL: - if (IsPlayerPartyAndPokemonStorageFull()) - { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DAB11; - gBattleCommunication[gActiveBank] = STATE_SELECTION_SCRIPT; - *(gBattleStruct->selectionScriptFinished + gActiveBank) = FALSE; - *(gBattleStruct->stateIdAfterSelScript + gActiveBank) = STATE_BEFORE_ACTION_CHOSEN; - return; - } - break; - case ACTION_POKEBLOCK_CASE: - EmitChooseItem(0, gBattleStruct->field_60[gActiveBank]); - MarkBufferBankForExecution(gActiveBank); - break; - case ACTION_CANCEL_PARTNER: - gBattleCommunication[gActiveBank] = 7; - gBattleCommunication[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)] = 1; - RecordedBattle_ClearBankAction(gActiveBank, 1); - if (gBattleMons[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)].status2 & STATUS2_MULTIPLETURNS - || gBattleMons[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)].status2 & STATUS2_RECHARGE) - { - EmitCmd50(0); - MarkBufferBankForExecution(gActiveBank); - return; - } - else if (gActionForBanks[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)] == ACTION_SWITCH) - { - RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON), 2); - } - else if (gActionForBanks[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)] == ACTION_RUN) - { - RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON), 1); - } - else if (gActionForBanks[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)] == ACTION_USE_MOVE - && (gProtectStructs[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)].onlyStruggle - || gDisableStructs[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)].encoredMove)) - { - RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON), 1); - } - else if (gBattleTypeFlags & BATTLE_TYPE_PALACE - && gActionForBanks[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)] == ACTION_USE_MOVE) - { - gRngValue = gBattlePalaceMoveSelectionRngValue; - RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON), 1); - } - else - { - RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON), 3); - } - EmitCmd50(0); - MarkBufferBankForExecution(gActiveBank); - return; - } - - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER - && gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_x4000000) - && gBattleBufferB[gActiveBank][1] == ACTION_RUN) - { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB9BA; - gBattleCommunication[gActiveBank] = 8; - *(gBattleStruct->selectionScriptFinished + gActiveBank) = FALSE; - *(gBattleStruct->stateIdAfterSelScript + gActiveBank) = STATE_BEFORE_ACTION_CHOSEN; - return; - } - else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER - && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) - && gBattleBufferB[gActiveBank][1] == ACTION_RUN) - { - BattleScriptExecute(gUnknown_082DAAFE); - gBattleCommunication[gActiveBank] = 1; - } - else if (IsRunningFromBattleImpossible() != 0 - && gBattleBufferB[gActiveBank][1] == ACTION_RUN) - { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DAB0B; - gBattleCommunication[gActiveBank] = STATE_SELECTION_SCRIPT; - *(gBattleStruct->selectionScriptFinished + gActiveBank) = FALSE; - *(gBattleStruct->stateIdAfterSelScript + gActiveBank) = STATE_BEFORE_ACTION_CHOSEN; - return; - } - else - { - gBattleCommunication[gActiveBank]++; - } - } - break; - case STATE_WAIT_ACTION_CASE_CHOSEN: - if (!(gBattleExecBuffer & ((gBitTable[gActiveBank]) | (0xF0000000) | (gBitTable[gActiveBank] << 4) | (gBitTable[gActiveBank] << 8) | (gBitTable[gActiveBank] << 0xC)))) - { - switch (gActionForBanks[gActiveBank]) - { - case ACTION_USE_MOVE: - switch (gBattleBufferB[gActiveBank][1]) - { - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - gActionForBanks[gActiveBank] = gBattleBufferB[gActiveBank][1]; - return; - case 15: - gActionForBanks[gActiveBank] = ACTION_SWITCH; - sub_803CDF8(); - return; - default: - sub_818603C(2); - if ((gBattleBufferB[gActiveBank][2] | (gBattleBufferB[gActiveBank][3] << 8)) == 0xFFFF) - { - gBattleCommunication[gActiveBank] = 1; - RecordedBattle_ClearBankAction(gActiveBank, 1); - } - else if (TrySetCantSelectMoveBattleScript()) - { - RecordedBattle_ClearBankAction(gActiveBank, 1); - gBattleCommunication[gActiveBank] = STATE_SELECTION_SCRIPT; - *(gBattleStruct->selectionScriptFinished + gActiveBank) = FALSE; - gBattleBufferB[gActiveBank][1] = 0; - *(gBattleStruct->stateIdAfterSelScript + gActiveBank) = STATE_WAIT_ACTION_CHOSEN; - return; - } - else - { - if (!(gBattleTypeFlags & BATTLE_TYPE_PALACE)) - { - RecordedBattle_SetBankAction(gActiveBank, gBattleBufferB[gActiveBank][2]); - RecordedBattle_SetBankAction(gActiveBank, gBattleBufferB[gActiveBank][3]); - } - *(gBattleStruct->chosenMovePositions + gActiveBank) = gBattleBufferB[gActiveBank][2]; - gChosenMovesByBanks[gActiveBank] = gBattleMons[gActiveBank].moves[*(gBattleStruct->chosenMovePositions + gActiveBank)]; - *(gBattleStruct->moveTarget + gActiveBank) = gBattleBufferB[gActiveBank][3]; - gBattleCommunication[gActiveBank]++; - } - break; - } - break; - case ACTION_USE_ITEM: - if ((gBattleBufferB[gActiveBank][1] | (gBattleBufferB[gActiveBank][2] << 8)) == 0) - { - gBattleCommunication[gActiveBank] = 1; - } - else - { - gLastUsedItem = (gBattleBufferB[gActiveBank][1] | (gBattleBufferB[gActiveBank][2] << 8)); - gBattleCommunication[gActiveBank]++; - } - break; - case ACTION_SWITCH: - if (gBattleBufferB[gActiveBank][1] == 6) - { - gBattleCommunication[gActiveBank] = 1; - RecordedBattle_ClearBankAction(gActiveBank, 1); - } - else - { - sub_803CDF8(); - gBattleCommunication[gActiveBank]++; - } - break; - case ACTION_RUN: - gHitMarker |= HITMARKER_RUN; - gBattleCommunication[gActiveBank]++; - break; - case ACTION_WATCHES_CAREFULLY: - gBattleCommunication[gActiveBank]++; - break; - case ACTION_SAFARI_ZONE_BALL: - gBattleCommunication[gActiveBank]++; - break; - case ACTION_POKEBLOCK_CASE: - if ((gBattleBufferB[gActiveBank][1] | (gBattleBufferB[gActiveBank][2] << 8)) != 0) - { - gBattleCommunication[gActiveBank]++; - } - else - { - gBattleCommunication[gActiveBank] = STATE_BEFORE_ACTION_CHOSEN; - } - break; - case ACTION_GO_NEAR: - gBattleCommunication[gActiveBank]++; - break; - case ACTION_SAFARI_ZONE_RUN: - gHitMarker |= HITMARKER_RUN; - gBattleCommunication[gActiveBank]++; - break; - case ACTION_9: - gBattleCommunication[gActiveBank]++; - break; - } - } - break; - case STATE_WAIT_ACTION_CONFIRMED_STANDBY: - if (!(gBattleExecBuffer & ((gBitTable[gActiveBank]) | (0xF0000000) | (gBitTable[gActiveBank] << 4) | (gBitTable[gActiveBank] << 8) | (gBitTable[gActiveBank] << 0xC)))) - { - i = (sub_803CDB8() != 0); - - if (((gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_DOUBLE)) != BATTLE_TYPE_DOUBLE) - || (identity & BIT_MON) - || (*(&gBattleStruct->field_91) & gBitTable[GetBankByIdentity(identity ^ BIT_MON)])) - { - EmitLinkStandbyMsg(0, 0, i); - } - else - { - EmitLinkStandbyMsg(0, 1, i); - } - MarkBufferBankForExecution(gActiveBank); - gBattleCommunication[gActiveBank]++; - } - break; - case STATE_WAIT_ACTION_CONFIRMED: - if (!(gBattleExecBuffer & ((gBitTable[gActiveBank]) | (0xF0000000) | (gBitTable[gActiveBank] << 4) | (gBitTable[gActiveBank] << 8) | (gBitTable[gActiveBank] << 0xC)))) - { - gBattleCommunication[ACTIONS_CONFIRMED_COUNT]++; - } - break; - case STATE_SELECTION_SCRIPT: - if (*(gBattleStruct->selectionScriptFinished + gActiveBank)) - { - gBattleCommunication[gActiveBank] = *(gBattleStruct->stateIdAfterSelScript + gActiveBank); - } - else - { - gBankAttacker = gActiveBank; - gBattlescriptCurrInstr = gBattlescriptPtrsForSelection[gActiveBank]; - if (!(gBattleExecBuffer & ((gBitTable[gActiveBank]) | (0xF0000000) | (gBitTable[gActiveBank] << 4) | (gBitTable[gActiveBank] << 8) | (gBitTable[gActiveBank] << 0xC)))) - { - gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); - } - gBattlescriptPtrsForSelection[gActiveBank] = gBattlescriptCurrInstr; - } - break; - case STATE_WAIT_SET_BEFORE_ACTION: - if (!(gBattleExecBuffer & ((gBitTable[gActiveBank]) | (0xF0000000) | (gBitTable[gActiveBank] << 4) | (gBitTable[gActiveBank] << 8) | (gBitTable[gActiveBank] << 0xC)))) - { - gBattleCommunication[gActiveBank] = 1; - } - break; - case STATE_SELECTION_SCRIPT_MAY_RUN: - if (*(gBattleStruct->selectionScriptFinished + gActiveBank)) - { - if (gBattleBufferB[gActiveBank][1] == 13) - { - gHitMarker |= HITMARKER_RUN; - gActionForBanks[gActiveBank] = ACTION_RUN; - gBattleCommunication[gActiveBank] = STATE_WAIT_ACTION_CONFIRMED_STANDBY; - } - else - { - RecordedBattle_ClearBankAction(gActiveBank, 1); - gBattleCommunication[gActiveBank] = *(gBattleStruct->stateIdAfterSelScript + gActiveBank); - } - } - else - { - gBankAttacker = gActiveBank; - gBattlescriptCurrInstr = gBattlescriptPtrsForSelection[gActiveBank]; - if (!(gBattleExecBuffer & ((gBitTable[gActiveBank]) | (0xF0000000) | (gBitTable[gActiveBank] << 4) | (gBitTable[gActiveBank] << 8) | (gBitTable[gActiveBank] << 0xC)))) - { - gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); - } - gBattlescriptPtrsForSelection[gActiveBank] = gBattlescriptCurrInstr; - } - break; - } - } - - // check if everyone chose actions - if (gBattleCommunication[ACTIONS_CONFIRMED_COUNT] == gNoOfAllBanks) - { - sub_818603C(1); - gBattleMainFunc = SetActionsAndBanksTurnOrder; - - if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) - { - for (i = 0; i < gNoOfAllBanks; i++) - { - if (gActionForBanks[i] == ACTION_SWITCH) - sub_80571DC(i, *(gBattleStruct->field_5C + i)); - } - } - } -} - -static bool8 sub_803CDB8(void) -{ - s32 i, var; - - for (var = 0, i = 0; i < gNoOfAllBanks; i++) - { - if (gBattleCommunication[i] == 5) - var++; - } - - if (var + 1 == gNoOfAllBanks) - return TRUE; - else - return FALSE; -} - -static void sub_803CDF8(void) -{ - *(gBattleStruct->field_5C + gActiveBank) = gBattleBufferB[gActiveBank][1]; - RecordedBattle_SetBankAction(gActiveBank, gBattleBufferB[gActiveBank][1]); - - if (gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_MULTI) - { - *(gActiveBank * 3 + (u8*)(gBattleStruct->field_60) + 0) &= 0xF; - *(gActiveBank * 3 + (u8*)(gBattleStruct->field_60) + 0) |= (gBattleBufferB[gActiveBank][2] & 0xF0); - *(gActiveBank * 3 + (u8*)(gBattleStruct->field_60) + 1) = gBattleBufferB[gActiveBank][3]; - - *((gActiveBank ^ BIT_MON) * 3 + (u8*)(gBattleStruct->field_60) + 0) &= (0xF0); - *((gActiveBank ^ BIT_MON) * 3 + (u8*)(gBattleStruct->field_60) + 0) |= (gBattleBufferB[gActiveBank][2] & 0xF0) >> 4; - *((gActiveBank ^ BIT_MON) * 3 + (u8*)(gBattleStruct->field_60) + 2) = gBattleBufferB[gActiveBank][3]; - } -} - -void SwapTurnOrder(u8 id1, u8 id2) -{ - u32 temp = gActionsByTurnOrder[id1]; - gActionsByTurnOrder[id1] = gActionsByTurnOrder[id2]; - gActionsByTurnOrder[id2] = temp; - - temp = gBanksByTurnOrder[id1]; - gBanksByTurnOrder[id1] = gBanksByTurnOrder[id2]; - gBanksByTurnOrder[id2] = temp; -} - -u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreChosenMoves) -{ - u8 strikesFirst = 0; - u8 speedMultiplierBank1 = 0, speedMultiplierBank2 = 0; - u32 speedBank1 = 0, speedBank2 = 0; - u8 holdEffect = 0; - u8 holdEffectParam = 0; - u16 moveBank1 = 0, moveBank2 = 0; - - if (WEATHER_HAS_EFFECT) - { - if ((gBattleMons[bank1].ability == ABILITY_SWIFT_SWIM && gBattleWeather & WEATHER_RAIN_ANY) - || (gBattleMons[bank1].ability == ABILITY_CHLOROPHYLL && gBattleWeather & WEATHER_SUN_ANY)) - speedMultiplierBank1 = 2; - else - speedMultiplierBank1 = 1; - - if ((gBattleMons[bank2].ability == ABILITY_SWIFT_SWIM && gBattleWeather & WEATHER_RAIN_ANY) - || (gBattleMons[bank2].ability == ABILITY_CHLOROPHYLL && gBattleWeather & WEATHER_SUN_ANY)) - speedMultiplierBank2 = 2; - else - speedMultiplierBank2 = 1; - } - else - { - speedMultiplierBank1 = 1; - speedMultiplierBank2 = 1; - } - - speedBank1 = (gBattleMons[bank1].speed * speedMultiplierBank1) - * (gStatStageRatios[gBattleMons[bank1].statStages[STAT_STAGE_SPEED]][0]) - / (gStatStageRatios[gBattleMons[bank1].statStages[STAT_STAGE_SPEED]][1]); - - if (gBattleMons[bank1].item == ITEM_ENIGMA_BERRY) - { - holdEffect = gEnigmaBerries[bank1].holdEffect; - holdEffectParam = gEnigmaBerries[bank1].holdEffectParam; - } - else - { - holdEffect = ItemId_GetHoldEffect(gBattleMons[bank1].item); - holdEffectParam = ItemId_GetHoldEffectParam(gBattleMons[bank1].item); - } - - // badge boost - if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 | BATTLE_TYPE_FRONTIER)) - && FlagGet(BADGE03_GET) - && GetBankSide(bank1) == SIDE_PLAYER) - { - speedBank1 = (speedBank1 * 110) / 100; - } - - if (holdEffect == HOLD_EFFECT_MACHO_BRACE) - speedBank1 /= 2; - - if (gBattleMons[bank1].status1 & STATUS_PARALYSIS) - speedBank1 /= 4; - - if (holdEffect == HOLD_EFFECT_QUICK_CLAW && gRandomTurnNumber < (0xFFFF * holdEffectParam) / 100) - speedBank1 = UINT_MAX; - - // check second bank's speed - - speedBank2 = (gBattleMons[bank2].speed * speedMultiplierBank2) - * (gStatStageRatios[gBattleMons[bank2].statStages[STAT_STAGE_SPEED]][0]) - / (gStatStageRatios[gBattleMons[bank2].statStages[STAT_STAGE_SPEED]][1]); - - if (gBattleMons[bank2].item == ITEM_ENIGMA_BERRY) - { - holdEffect = gEnigmaBerries[bank2].holdEffect; - holdEffectParam = gEnigmaBerries[bank2].holdEffectParam; - } - else - { - holdEffect = ItemId_GetHoldEffect(gBattleMons[bank2].item); - holdEffectParam = ItemId_GetHoldEffectParam(gBattleMons[bank2].item); - } - - // badge boost - if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 | BATTLE_TYPE_FRONTIER)) - && FlagGet(BADGE03_GET) - && GetBankSide(bank2) == SIDE_PLAYER) - { - speedBank2 = (speedBank2 * 110) / 100; - } - - if (holdEffect == HOLD_EFFECT_MACHO_BRACE) - speedBank2 /= 2; - - if (gBattleMons[bank2].status1 & STATUS_PARALYSIS) - speedBank2 /= 4; - - if (holdEffect == HOLD_EFFECT_QUICK_CLAW && gRandomTurnNumber < (0xFFFF * holdEffectParam) / 100) - speedBank2 = UINT_MAX; - - if (ignoreChosenMoves) - { - moveBank1 = MOVE_NONE; - moveBank2 = MOVE_NONE; - } - else - { - if (gActionForBanks[bank1] == ACTION_USE_MOVE) - { - if (gProtectStructs[bank1].onlyStruggle) - moveBank1 = MOVE_STRUGGLE; - else - moveBank1 = gBattleMons[bank1].moves[*(gBattleStruct->chosenMovePositions + bank1)]; - } - else - moveBank1 = MOVE_NONE; - - if (gActionForBanks[bank2] == ACTION_USE_MOVE) - { - if (gProtectStructs[bank2].onlyStruggle) - moveBank2 = MOVE_STRUGGLE; - else - moveBank2 = gBattleMons[bank2].moves[*(gBattleStruct->chosenMovePositions + bank2)]; - } - else - moveBank2 = MOVE_NONE; - } - - // both move priorities are different than 0 - if (gBattleMoves[moveBank1].priority != 0 || gBattleMoves[moveBank2].priority != 0) - { - // both priorities are the same - if (gBattleMoves[moveBank1].priority == gBattleMoves[moveBank2].priority) - { - if (speedBank1 == speedBank2 && Random() & 1) - strikesFirst = 2; // same speeds, same priorities - else if (speedBank1 < speedBank2) - strikesFirst = 1; // bank2 has more speed - - // else bank1 has more speed - } - else if (gBattleMoves[moveBank1].priority < gBattleMoves[moveBank2].priority) - strikesFirst = 1; // bank2's move has greater priority - - // else bank1's move has greater priority - } - // both priorities are equal to 0 - else - { - if (speedBank1 == speedBank2 && Random() & 1) - strikesFirst = 2; // same speeds, same priorities - else if (speedBank1 < speedBank2) - strikesFirst = 1; // bank2 has more speed - - // else bank1 has more speed - } - - return strikesFirst; -} - -static void SetActionsAndBanksTurnOrder(void) -{ - s32 var = 0; - s32 i, j; - - if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) - { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - { - gActionsByTurnOrder[var] = gActionForBanks[gActiveBank]; - gBanksByTurnOrder[var] = gActiveBank; - var++; - } - } - else - { - if (gBattleTypeFlags & BATTLE_TYPE_LINK) - { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - { - if (gActionForBanks[gActiveBank] == ACTION_RUN) - { - var = 5; - break; - } - } - } - else - { - if (gActionForBanks[0] == ACTION_RUN) - { - gActiveBank = 0; - var = 5; - } - if (gActionForBanks[2] == ACTION_RUN) - { - gActiveBank = 2; - var = 5; - } - } - - if (var == 5) - { - gActionsByTurnOrder[0] = gActionForBanks[gActiveBank]; - gBanksByTurnOrder[0] = gActiveBank; - var = 1; - for (i = 0; i < gNoOfAllBanks; i++) - { - if (i != gActiveBank) - { - gActionsByTurnOrder[var] = gActionForBanks[i]; - gBanksByTurnOrder[var] = i; - var++; - } - } - gBattleMainFunc = CheckFocusPunch_ClearVarsBeforeTurnStarts; - gBattleStruct->focusPunchBank = 0; - return; - } - else - { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - { - if (gActionForBanks[gActiveBank] == ACTION_USE_ITEM || gActionForBanks[gActiveBank] == ACTION_SWITCH) - { - gActionsByTurnOrder[var] = gActionForBanks[gActiveBank]; - gBanksByTurnOrder[var] = gActiveBank; - var++; - } - } - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - { - if (gActionForBanks[gActiveBank] != ACTION_USE_ITEM && gActionForBanks[gActiveBank] != ACTION_SWITCH) - { - gActionsByTurnOrder[var] = gActionForBanks[gActiveBank]; - gBanksByTurnOrder[var] = gActiveBank; - var++; - } - } - for (i = 0; i < gNoOfAllBanks - 1; i++) - { - for (j = i + 1; j < gNoOfAllBanks; j++) - { - u8 bank1 = gBanksByTurnOrder[i]; - u8 bank2 = gBanksByTurnOrder[j]; - if (gActionsByTurnOrder[i] != ACTION_USE_ITEM - && gActionsByTurnOrder[j] != ACTION_USE_ITEM - && gActionsByTurnOrder[i] != ACTION_SWITCH - && gActionsByTurnOrder[j] != ACTION_SWITCH) - { - if (GetWhoStrikesFirst(bank1, bank2, FALSE)) - SwapTurnOrder(i, j); - } - } - } - } - } - gBattleMainFunc = CheckFocusPunch_ClearVarsBeforeTurnStarts; - gBattleStruct->focusPunchBank = 0; -} - -static void TurnValuesCleanUp(bool8 var0) -{ - s32 i; - u8 *dataPtr; - - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - { - if (var0) - { - gProtectStructs[gActiveBank].protected = 0; - gProtectStructs[gActiveBank].endured = 0; - } - else - { - dataPtr = (u8*)(&gProtectStructs[gActiveBank]); - for (i = 0; i < sizeof(struct ProtectStruct); i++) - dataPtr[i] = 0; - - if (gDisableStructs[gActiveBank].isFirstTurn) - gDisableStructs[gActiveBank].isFirstTurn--; - - if (gDisableStructs[gActiveBank].rechargeCounter) - { - gDisableStructs[gActiveBank].rechargeCounter--; - if (gDisableStructs[gActiveBank].rechargeCounter == 0) - gBattleMons[gActiveBank].status2 &= ~(STATUS2_RECHARGE); - } - } - - if (gDisableStructs[gActiveBank].substituteHP == 0) - gBattleMons[gActiveBank].status2 &= ~(STATUS2_SUBSTITUTE); - } - - gSideTimers[0].followmeTimer = 0; - gSideTimers[1].followmeTimer = 0; -} - -static void SpecialStatusesClear(void) -{ - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - { - s32 i; - u8 *dataPtr = (u8*)(&gSpecialStatuses[gActiveBank]); - - for (i = 0; i < sizeof(struct SpecialStatus); i++) - dataPtr[i] = 0; - } -} - -static void CheckFocusPunch_ClearVarsBeforeTurnStarts(void) -{ - if (!(gHitMarker & HITMARKER_RUN)) - { - while (gBattleStruct->focusPunchBank < gNoOfAllBanks) - { - gActiveBank = gBankAttacker = gBattleStruct->focusPunchBank; - gBattleStruct->focusPunchBank++; - if (gChosenMovesByBanks[gActiveBank] == MOVE_FOCUS_PUNCH - && !(gBattleMons[gActiveBank].status1 & STATUS_SLEEP) - && !(gDisableStructs[gBankAttacker].truantCounter) - && !(gProtectStructs[gActiveBank].onlyStruggle)) - { - BattleScriptExecute(BattleScript_FocusPunchSetUp); - return; - } - } - } - - TryClearRageStatuses(); - gCurrentTurnActionNumber = 0; -{ - // something stupid needed to match - u8 zero; - gCurrentActionFuncId = gActionsByTurnOrder[(zero = 0)]; -} - gDynamicBasePower = 0; - gBattleStruct->dynamicMoveType = 0; - gBattleMainFunc = RunTurnActionsFunctions; - gBattleCommunication[3] = 0; - gBattleCommunication[4] = 0; - gBattleScripting.field_16 = 0; - gBattleResources->battleScriptsStack->size = 0; -} - -static void RunTurnActionsFunctions(void) -{ - if (gBattleOutcome != 0) - gCurrentActionFuncId = 12; - - *(&gBattleStruct->field_4B) = gCurrentTurnActionNumber; - sTurnActionsFuncsTable[gCurrentActionFuncId](); - - if (gCurrentTurnActionNumber >= gNoOfAllBanks) // everyone did their actions, turn finished - { - gHitMarker &= ~(HITMARKER_x100000); - gBattleMainFunc = sEndTurnFuncsTable[gBattleOutcome & 0x7F]; - } - else - { - if (gBattleStruct->field_4B != gCurrentTurnActionNumber) // action turn has been done, clear hitmarker bits for another bank - { - gHitMarker &= ~(HITMARKER_NO_ATTACKSTRING); - gHitMarker &= ~(HITMARKER_UNABLE_TO_USE_MOVE); - } - } -} - -static void HandleEndTurn_BattleWon(void) -{ - gCurrentActionFuncId = 0; - - if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) - { - gScriptResult = gBattleOutcome; - gBattleTextBuff1[0] = gBattleOutcome; - gBankAttacker = GetBankByIdentity(IDENTITY_PLAYER_MON1); - gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost; - gBattleOutcome &= ~(BATTLE_OUTCOME_BIT_x80); - } - else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER - && gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_x4000000 | BATTLE_TYPE_EREADER_TRAINER)) - { - BattleMusicStop(); - gBattlescriptCurrInstr = BattleScript_FrontierTrainerBattleWon; - - if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_3FE) - PlayBGM(BGM_KACHI3); - else - PlayBGM(BGM_KACHI1); - } - else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && !(gBattleTypeFlags & BATTLE_TYPE_LINK)) - { - BattleMusicStop(); - gBattlescriptCurrInstr = BattleScript_LocalTrainerBattleWon; - - switch (gTrainers[gTrainerBattleOpponent_A].trainerClass) - { - case CLASS_ELITE_FOUR: - case CLASS_CHAMPION: - PlayBGM(BGM_KACHI5); - break; - case CLASS_TEAM_AQUA: - case CLASS_TEAM_MAGMA: - case CLASS_AQUA_ADMIN: - case CLASS_AQUA_LEADER: - case CLASS_MAGMA_ADMIN: - case CLASS_MAGMA_LEADER: - PlayBGM(BGM_KACHI4); - break; - case CLASS_LEADER: - PlayBGM(BGM_KACHI3); - break; - default: - PlayBGM(BGM_KACHI1); - break; - } - } - else - { - gBattlescriptCurrInstr = BattleScript_PayDayMoneyAndPickUpItems; - } - - gBattleMainFunc = HandleEndTurn_FinishBattle; -} - -static void HandleEndTurn_BattleLost(void) -{ - gCurrentActionFuncId = 0; - - if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) - { - if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) - { - if (gBattleOutcome & BATTLE_OUTCOME_BIT_x80) - { - gBattlescriptCurrInstr = gUnknown_082DB9C8; - gBattleOutcome &= ~(BATTLE_OUTCOME_BIT_x80); - gSaveBlock2Ptr->field_CA9_b = 1; - } - else - { - gBattlescriptCurrInstr = gUnknown_082DAA0B; - gBattleOutcome &= ~(BATTLE_OUTCOME_BIT_x80); - } - } - else - { - gBattleTextBuff1[0] = gBattleOutcome; - gBankAttacker = GetBankByIdentity(IDENTITY_PLAYER_MON1); - gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost; - gBattleOutcome &= ~(BATTLE_OUTCOME_BIT_x80); - } - } - else - { - gBattlescriptCurrInstr = BattleScript_LocalBattleLost; - } - - gBattleMainFunc = HandleEndTurn_FinishBattle; -} - -static void HandleEndTurn_RanFromBattle(void) -{ - gCurrentActionFuncId = 0; - - if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER && gBattleTypeFlags & BATTLE_TYPE_TRAINER) - { - gBattlescriptCurrInstr = gUnknown_082DB9C1; - gBattleOutcome = BATTLE_FORFEITED; - gSaveBlock2Ptr->field_CA9_b = 1; - } - else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) - { - gBattlescriptCurrInstr = gUnknown_082DB9C1; - gBattleOutcome = BATTLE_FORFEITED; - } - else - { - switch (gProtectStructs[gBankAttacker].fleeFlag) - { - default: - gBattlescriptCurrInstr = BattleScript_GotAwaySafely; - break; - case 1: - gBattlescriptCurrInstr = BattleScript_SmokeBallEscape; - break; - case 2: - gBattlescriptCurrInstr = BattleScript_RanAwayUsingMonAbility; - break; - } - } - - gBattleMainFunc = HandleEndTurn_FinishBattle; -} - -static void HandleEndTurn_MonFled(void) -{ - gCurrentActionFuncId = 0; - - PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBankAttacker, gBattlePartyID[gBankAttacker]); - gBattlescriptCurrInstr = BattleScript_WildMonFled; - - gBattleMainFunc = HandleEndTurn_FinishBattle; -} - -static void HandleEndTurn_FinishBattle(void) -{ - if (gCurrentActionFuncId == 0xB || gCurrentActionFuncId == 0xC) - { - if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK - | BATTLE_TYPE_x2000000 - | BATTLE_TYPE_FIRST_BATTLE - | BATTLE_TYPE_SAFARI - | BATTLE_TYPE_EREADER_TRAINER - | BATTLE_TYPE_WALLY_TUTORIAL - | BATTLE_TYPE_FRONTIER))) - { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - { - if (GetBankSide(gActiveBank) == SIDE_PLAYER) - { - if (gBattleResults.playerMon1Species == SPECIES_NONE) - { - gBattleResults.playerMon1Species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES, NULL); - GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_NICKNAME, gBattleResults.playerMon1Name); - } - else - { - gBattleResults.playerMon2Species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES, NULL); - GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_NICKNAME, gBattleResults.playerMon2Name); - } - } - } - PutPokemonTodayCaughtOnAir(); - } - - if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK - | BATTLE_TYPE_x2000000 - | BATTLE_TYPE_TRAINER - | BATTLE_TYPE_FIRST_BATTLE - | BATTLE_TYPE_SAFARI - | BATTLE_TYPE_FRONTIER - | BATTLE_TYPE_EREADER_TRAINER - | BATTLE_TYPE_WALLY_TUTORIAL)) - && gBattleResults.unk5_6) - { - sub_80EE184(); - } - - sub_8186444(); - BeginFastPaletteFade(3); - FadeOutMapMusic(5); - gBattleMainFunc = FreeResetData_ReturnToOvOrDoEvolutions; - gCB2_AfterEvolution = BattleMainCB2; - } - else - { - if (gBattleExecBuffer == 0) - gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); - } -} - -static void FreeResetData_ReturnToOvOrDoEvolutions(void) -{ - if (!gPaletteFade.active) - { - ResetSpriteData(); - if (gLeveledUpInBattle == 0 || gBattleOutcome != BATTLE_WON) - { - gBattleMainFunc = ReturnFromBattleToOverworld; - return; - } - else - { - gBattleMainFunc = TryEvolvePokemon; - } - } - - FreeAllWindowBuffers(); - if (!(gBattleTypeFlags & BATTLE_TYPE_LINK)) - { - FreeMonSpritesGfx(); - FreeBattleResources(); - FreeBattleSpritesData(); - } -} - -static void TryEvolvePokemon(void) -{ - s32 i; - - while (gLeveledUpInBattle != 0) - { - for (i = 0; i < 6; i++) - { - if (gLeveledUpInBattle & gBitTable[i]) - { - u16 species; - u8 levelUpBits = gLeveledUpInBattle; - - levelUpBits &= ~(gBitTable[i]); - gLeveledUpInBattle = levelUpBits; - - species = GetEvolutionTargetSpecies(&gPlayerParty[i], 0, levelUpBits); - if (species != SPECIES_NONE) - { - FreeAllWindowBuffers(); - gBattleMainFunc = WaitForEvoSceneToFinish; - EvolutionScene(&gPlayerParty[i], species, TRUE, i); - return; - } - } - } - } - - gBattleMainFunc = ReturnFromBattleToOverworld; -} - -static void WaitForEvoSceneToFinish(void) -{ - if (gMain.callback2 == BattleMainCB2) - gBattleMainFunc = TryEvolvePokemon; -} - -static void ReturnFromBattleToOverworld(void) -{ - if (!(gBattleTypeFlags & BATTLE_TYPE_LINK)) - { - RandomlyGivePartyPokerus(gPlayerParty); - PartySpreadPokerus(gPlayerParty); - } - - if (gBattleTypeFlags & BATTLE_TYPE_LINK && gReceivedRemoteLinkPlayers != 0) - return; - - gScriptResult = gBattleOutcome; - gMain.inBattle = 0; - gMain.callback1 = gPreBattleCallback1; - - if (gBattleTypeFlags & BATTLE_TYPE_ROAMER) - { - UpdateRoamerHPStatus(&gEnemyParty[0]); - if ((gBattleOutcome & BATTLE_WON) || gBattleOutcome == BATTLE_CAUGHT) - SetRoamerInactive(); - } - - m4aSongNumStop(0x5A); - SetMainCallback2(gMain.savedCallback); -} - -void RunBattleScriptCommands_PopCallbacksStack(void) -{ - if (gCurrentActionFuncId == 0xB || gCurrentActionFuncId == 0xC) - { - if (BATTLE_CALLBACKS_STACK->size != 0) - BATTLE_CALLBACKS_STACK->size--; - gBattleMainFunc = BATTLE_CALLBACKS_STACK->function[BATTLE_CALLBACKS_STACK->size]; - } - else - { - if (gBattleExecBuffer == 0) - gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); - } -} - -void RunBattleScriptCommands(void) -{ - if (gBattleExecBuffer == 0) - gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); -} - -static void HandleAction_UseMove(void) -{ - u8 side; - u8 var = 4; - - gBankAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; - - if (*(&gBattleStruct->field_91) & gBitTable[gBankAttacker]) - { - gCurrentActionFuncId = ACTION_FINISHED; - return; - } - - gCritMultiplier = 1; - gBattleScripting.dmgMultiplier = 1; - gBattleStruct->atkCancellerTracker = 0; - gBattleMoveFlags = 0; - gMultiHitCounter = 0; - gBattleCommunication[6] = 0; - gCurrMovePos = gUnknown_020241E9 = *(gBattleStruct->chosenMovePositions + gBankAttacker); - - // choose move - if (gProtectStructs[gBankAttacker].onlyStruggle) - { - gProtectStructs[gBankAttacker].onlyStruggle = 0; - gCurrentMove = gLastUsedMove = MOVE_STRUGGLE; - gHitMarker |= HITMARKER_NO_PPDEDUCT; - *(gBattleStruct->moveTarget + gBankAttacker) = GetMoveTarget(MOVE_STRUGGLE, 0); - } - else if (gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS || gBattleMons[gBankAttacker].status2 & STATUS2_RECHARGE) - { - gCurrentMove = gLastUsedMove = gLockedMoves[gBankAttacker]; - } - // encore forces you to use the same move - else if (gDisableStructs[gBankAttacker].encoredMove != MOVE_NONE - && gDisableStructs[gBankAttacker].encoredMove == gBattleMons[gBankAttacker].moves[gDisableStructs[gBankAttacker].encoredMovePos]) - { - gCurrentMove = gLastUsedMove = gDisableStructs[gBankAttacker].encoredMove; - gCurrMovePos = gUnknown_020241E9 = gDisableStructs[gBankAttacker].encoredMovePos; - *(gBattleStruct->moveTarget + gBankAttacker) = GetMoveTarget(gCurrentMove, 0); - } - // check if the encored move wasn't overwritten - else if (gDisableStructs[gBankAttacker].encoredMove != MOVE_NONE - && gDisableStructs[gBankAttacker].encoredMove != gBattleMons[gBankAttacker].moves[gDisableStructs[gBankAttacker].encoredMovePos]) - { - gCurrMovePos = gUnknown_020241E9 = gDisableStructs[gBankAttacker].encoredMovePos; - gCurrentMove = gLastUsedMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; - gDisableStructs[gBankAttacker].encoredMove = MOVE_NONE; - gDisableStructs[gBankAttacker].encoredMovePos = 0; - gDisableStructs[gBankAttacker].encoreTimer1 = 0; - *(gBattleStruct->moveTarget + gBankAttacker) = GetMoveTarget(gCurrentMove, 0); - } - else if (gBattleMons[gBankAttacker].moves[gCurrMovePos] != gChosenMovesByBanks[gBankAttacker]) - { - gCurrentMove = gLastUsedMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; - *(gBattleStruct->moveTarget + gBankAttacker) = GetMoveTarget(gCurrentMove, 0); - } - else - { - gCurrentMove = gLastUsedMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; - } - - if (gBattleMons[gBankAttacker].hp != 0) - { - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) - gBattleResults.lastUsedMovePlayer = gCurrentMove; - else - gBattleResults.lastUsedMoveOpponent = gCurrentMove; - } - - // choose target - side = GetBankSide(gBankAttacker) ^ BIT_SIDE; - if (gSideTimers[side].followmeTimer != 0 - && gBattleMoves[gCurrentMove].target == MOVE_TARGET_SELECTED - && GetBankSide(gBankAttacker) != GetBankSide(gSideTimers[side].followmeTarget) - && gBattleMons[gSideTimers[side].followmeTarget].hp != 0) - { - gBankTarget = gSideTimers[side].followmeTarget; - } - else if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - && gSideTimers[side].followmeTimer == 0 - && (gBattleMoves[gCurrentMove].power != 0 - || gBattleMoves[gCurrentMove].target != MOVE_TARGET_x10) - && gBattleMons[*(gBattleStruct->moveTarget + gBankAttacker)].ability != ABILITY_LIGHTNING_ROD - && gBattleMoves[gCurrentMove].type == TYPE_ELECTRIC) - { - side = GetBankSide(gBankAttacker); - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - { - if (side != GetBankSide(gActiveBank) - && *(gBattleStruct->moveTarget + gBankAttacker) != gActiveBank - && gBattleMons[gActiveBank].ability == ABILITY_LIGHTNING_ROD - && BankGetTurnOrder(gActiveBank) < var) - { - var = BankGetTurnOrder(gActiveBank); - } - } - if (var == 4) - { - if (gBattleMoves[gLastUsedMove].target & MOVE_TARGET_RANDOM) - { - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) - { - if (Random() & 1) - gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON1); - else - gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON2); - } - else - { - if (Random() & 1) - gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON1); - else - gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON2); - } - } - else - { - gBankTarget = *(gBattleStruct->moveTarget + gBankAttacker); - } - - if (gAbsentBankFlags & gBitTable[gBankTarget]) - { - if (GetBankSide(gBankAttacker) != GetBankSide(gBankTarget)) - { - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON); - } - else - { - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_SIDE); - if (gAbsentBankFlags & gBitTable[gBankTarget]) - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON); - } - } - } - else - { - gActiveBank = gBanksByTurnOrder[var]; - RecordAbilityBattle(gActiveBank, gBattleMons[gActiveBank].ability); - gSpecialStatuses[gActiveBank].lightningRodRedirected = 1; - gBankTarget = gActiveBank; - } - } - else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE - && gBattleMoves[gLastUsedMove].target & MOVE_TARGET_RANDOM) - { - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) - { - if (Random() & 1) - gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON1); - else - gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON2); - } - else - { - if (Random() & 1) - gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON1); - else - gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON2); - } - - if (gAbsentBankFlags & gBitTable[gBankTarget] - && GetBankSide(gBankAttacker) != GetBankSide(gBankTarget)) - { - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON); - } - } - else - { - gBankTarget = *(gBattleStruct->moveTarget + gBankAttacker); - if (gAbsentBankFlags & gBitTable[gBankTarget]) - { - if (GetBankSide(gBankAttacker) != GetBankSide(gBankTarget)) - { - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON); - } - else - { - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_SIDE); - if (gAbsentBankFlags & gBitTable[gBankTarget]) - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON); - } - } - } - - // choose battlescript - if (gBattleTypeFlags & BATTLE_TYPE_PALACE - && gProtectStructs[gBankAttacker].flag_x10) - { - if (gBattleMons[gBankAttacker].hp == 0) - { - gCurrentActionFuncId = 12; - return; - } - else if (gUnknown_02024230[gBankAttacker] != NULL) - { - gBattleCommunication[MULTISTRING_CHOOSER] = 4; - gBattlescriptCurrInstr = gUnknown_02024230[gBankAttacker]; - gUnknown_02024230[gBankAttacker] = NULL; - } - else - { - gBattleCommunication[MULTISTRING_CHOOSER] = 4; - gBattlescriptCurrInstr = BattleScript_MoveUsedLoafingAround; - } - } - else - { - gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]; - } - - if (gBattleTypeFlags & BATTLE_TYPE_ARENA) - sub_81A56E8(gBankAttacker); - - gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; -} - -static void HandleAction_Switch(void) -{ - gBankAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; - gBattle_BG0_X = 0; - gBattle_BG0_Y = 0; - gActionSelectionCursor[gBankAttacker] = 0; - gMoveSelectionCursor[gBankAttacker] = 0; - - PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBankAttacker, *(gBattleStruct->field_58 + gBankAttacker)) - - gBattleScripting.bank = gBankAttacker; - gBattlescriptCurrInstr = BattleScript_ActionSwitch; - gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; - - if (gBattleResults.playerSwitchesCounter < 255) - gBattleResults.playerSwitchesCounter++; -} - -static void HandleAction_UseItem(void) -{ - gBankAttacker = gBankTarget = gBanksByTurnOrder[gCurrentTurnActionNumber]; - gBattle_BG0_X = 0; - gBattle_BG0_Y = 0; - ClearFuryCutterDestinyBondGrudge(gBankAttacker); - gLastUsedItem = gBattleBufferB[gBankAttacker][1] | (gBattleBufferB[gBankAttacker][2] << 8); - - if (gLastUsedItem <= ITEM_PREMIER_BALL) // is ball - { - gBattlescriptCurrInstr = gBattlescriptsForBallThrow[gLastUsedItem]; - } - else if (gLastUsedItem == ITEM_POKE_DOLL || gLastUsedItem == ITEM_FLUFFY_TAIL) - { - gBattlescriptCurrInstr = gBattlescriptsForRunningByItem[0]; - } - else if (GetBankSide(gBankAttacker) == SIDE_PLAYER) - { - gBattlescriptCurrInstr = gUnknown_082DBD3C[0]; - } - else - { - gBattleScripting.bank = gBankAttacker; - - switch (*(gBattleStruct->AI_itemType + (gBankAttacker >> 1))) - { - case AI_ITEM_FULL_RESTORE: - case AI_ITEM_HEAL_HP: - break; - case AI_ITEM_CURE_CONDITION: - gBattleCommunication[MULTISTRING_CHOOSER] = 0; - if (*(gBattleStruct->AI_itemFlags + gBankAttacker / 2) & 1) - { - if (*(gBattleStruct->AI_itemFlags + gBankAttacker / 2) & 0x3E) - gBattleCommunication[MULTISTRING_CHOOSER] = 5; - } - else - { - while (!(*(gBattleStruct->AI_itemFlags + gBankAttacker / 2) & 1)) - { - *(gBattleStruct->AI_itemFlags + gBankAttacker / 2) >>= 1; - gBattleCommunication[MULTISTRING_CHOOSER]++; - } - } - break; - case AI_ITEM_X_STAT: - gBattleCommunication[MULTISTRING_CHOOSER] = 4; - if (*(gBattleStruct->AI_itemFlags + (gBankAttacker >> 1)) & 0x80) - { - gBattleCommunication[MULTISTRING_CHOOSER] = 5; - } - else - { - PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_ATK) - PREPARE_STRING_BUFFER(gBattleTextBuff2, 0xD2) - - while (!((*(gBattleStruct->AI_itemFlags + (gBankAttacker >> 1))) & 1)) - { - *(gBattleStruct->AI_itemFlags + gBankAttacker / 2) >>= 1; - gBattleTextBuff1[2]++; - } - - gBattleScripting.animArg1 = gBattleTextBuff1[2] + 14; - gBattleScripting.animArg2 = 0; - } - break; - case AI_ITEM_GUARD_SPECS: - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - gBattleCommunication[MULTISTRING_CHOOSER] = 2; - else - gBattleCommunication[MULTISTRING_CHOOSER] = 0; - break; - } - - gBattlescriptCurrInstr = gUnknown_082DBD3C[*(gBattleStruct->AI_itemType + gBankAttacker / 2)]; - } - gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; -} - -bool8 TryRunFromBattle(u8 bank) -{ - bool8 effect = FALSE; - u8 holdEffect; - u8 pyramidMultiplier; - u8 speedVar; - - if (gBattleMons[bank].item == ITEM_ENIGMA_BERRY) - holdEffect = gEnigmaBerries[bank].holdEffect; - else - holdEffect = ItemId_GetHoldEffect(gBattleMons[bank].item); - - gStringBank = bank; - - if (holdEffect == HOLD_EFFECT_CAN_ALWAYS_RUN) - { - gLastUsedItem = gBattleMons[bank].item ; - gProtectStructs[bank].fleeFlag = 1; - effect++; - } - else if (gBattleMons[bank].ability == ABILITY_RUN_AWAY) - { - if (InBattlePyramid()) - { - gBattleStruct->runTries++; - pyramidMultiplier = sub_81A9E28(); - speedVar = (gBattleMons[bank].speed * pyramidMultiplier) / (gBattleMons[bank ^ BIT_SIDE].speed) + (gBattleStruct->runTries * 30); - if (speedVar > (Random() & 0xFF)) - { - gLastUsedAbility = ABILITY_RUN_AWAY; - gProtectStructs[bank].fleeFlag = 2; - effect++; - } - } - else - { - gLastUsedAbility = ABILITY_RUN_AWAY; - gProtectStructs[bank].fleeFlag = 2; - effect++; - } - } - else if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_x4000000) && gBattleTypeFlags & BATTLE_TYPE_TRAINER) - { - effect++; - } - else - { - if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) - { - if (InBattlePyramid()) - { - pyramidMultiplier = sub_81A9E28(); - speedVar = (gBattleMons[bank].speed * pyramidMultiplier) / (gBattleMons[bank ^ BIT_SIDE].speed) + (gBattleStruct->runTries * 30); - if (speedVar > (Random() & 0xFF)) - effect++; - } - else if (gBattleMons[bank].speed < gBattleMons[bank ^ BIT_SIDE].speed) - { - speedVar = (gBattleMons[bank].speed * 128) / (gBattleMons[bank ^ BIT_SIDE].speed) + (gBattleStruct->runTries * 30); - if (speedVar > (Random() & 0xFF)) - effect++; - } - else // same speed or faster - { - effect++; - } - } - - gBattleStruct->runTries++; - } - - if (effect) - { - gCurrentTurnActionNumber = gNoOfAllBanks; - gBattleOutcome = BATTLE_RAN; - } - - return effect; -} - -static void HandleAction_Run(void) -{ - gBankAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; - - if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) - { - gCurrentTurnActionNumber = gNoOfAllBanks; - - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - { - if (GetBankSide(gActiveBank) == SIDE_PLAYER) - { - if (gActionForBanks[gActiveBank] == ACTION_RUN) - gBattleOutcome |= BATTLE_LOST; - } - else - { - if (gActionForBanks[gActiveBank] == ACTION_RUN) - gBattleOutcome |= BATTLE_WON; - } - } - - gBattleOutcome |= BATTLE_OUTCOME_BIT_x80; - gSaveBlock2Ptr->field_CA9_b = 1; - } - else - { - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) - { - if (!TryRunFromBattle(gBankAttacker)) // failed to run away - { - ClearFuryCutterDestinyBondGrudge(gBankAttacker); - gBattleCommunication[MULTISTRING_CHOOSER] = 3; - gBattlescriptCurrInstr = BattleScript_PrintFailedToRunString; - gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; - } - } - else - { - if (gBattleMons[gBankAttacker].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) - { - gBattleCommunication[MULTISTRING_CHOOSER] = 4; - gBattlescriptCurrInstr = BattleScript_PrintFailedToRunString; - gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; - } - else - { - gCurrentTurnActionNumber = gNoOfAllBanks; - gBattleOutcome = BATTLE_POKE_FLED; - } - } - } -} - -static void HandleAction_WatchesCarefully(void) -{ - gBankAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; - gBattle_BG0_X = 0; - gBattle_BG0_Y = 0; - gBattlescriptCurrInstr = gBattlescriptsForSafariActions[0]; - gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; -} - -static void HandleAction_SafariZoneBallThrow(void) -{ - gBankAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; - gBattle_BG0_X = 0; - gBattle_BG0_Y = 0; - gNumSafariBalls--; - gLastUsedItem = ITEM_SAFARI_BALL; - gBattlescriptCurrInstr = gBattlescriptsForBallThrow[ITEM_SAFARI_BALL]; - gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; -} - -static void HandleAction_ThrowPokeblock(void) -{ - gBankAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; - gBattle_BG0_X = 0; - gBattle_BG0_Y = 0; - gBattleCommunication[MULTISTRING_CHOOSER] = gBattleBufferB[gBankAttacker][1] - 1; - gLastUsedItem = gBattleBufferB[gBankAttacker][2]; - - if (gBattleResults.field_1F < 0xFF) - gBattleResults.field_1F++; - if (gBattleStruct->field_7A < 3) - gBattleStruct->field_7A++; - if (gBattleStruct->field_7B > 1) - { - if (gBattleStruct->field_7B < sUnknown_0831BCE0[gBattleStruct->field_7A][gBattleCommunication[MULTISTRING_CHOOSER]]) - gBattleStruct->field_7B = 1; - else - gBattleStruct->field_7B -= sUnknown_0831BCE0[gBattleStruct->field_7A][gBattleCommunication[MULTISTRING_CHOOSER]]; - } - - gBattlescriptCurrInstr = gBattlescriptsForSafariActions[2]; - gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; -} - -static void HandleAction_GoNear(void) -{ - gBankAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; - gBattle_BG0_X = 0; - gBattle_BG0_Y = 0; - - gBattleStruct->field_7C += sUnknown_0831BCEF[gBattleStruct->field_79]; - if (gBattleStruct->field_7C > 20) - gBattleStruct->field_7C = 20; - - gBattleStruct->field_7B +=sUnknown_0831BCF3[gBattleStruct->field_79]; - if (gBattleStruct->field_7B > 20) - gBattleStruct->field_7B = 20; - - if (gBattleStruct->field_79 < 3) - { - gBattleStruct->field_79++; - gBattleCommunication[MULTISTRING_CHOOSER] = 0; - } - else - { - gBattleCommunication[MULTISTRING_CHOOSER] = 1; - } - gBattlescriptCurrInstr = gBattlescriptsForSafariActions[1]; - gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; -} - -static void HandleAction_SafriZoneRun(void) -{ - gBankAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; - PlaySE(SE_NIGERU); - gCurrentTurnActionNumber = gNoOfAllBanks; - gBattleOutcome = BATTLE_RAN; -} - -static void HandleAction_Action9(void) -{ - gBankAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; - gBattle_BG0_X = 0; - gBattle_BG0_Y = 0; - - PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBankAttacker, gBattlePartyID[gBankAttacker]) - - gBattlescriptCurrInstr = gBattlescriptsForSafariActions[3]; - gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; - gActionsByTurnOrder[1] = ACTION_FINISHED; -} - -static void HandleAction_Action11(void) -{ - if (!sub_8041728()) - { - gBattleStruct->field_4D = 0; - gCurrentActionFuncId = ACTION_FINISHED; - } -} - -static void HandleAction_NothingIsFainted(void) -{ - gCurrentTurnActionNumber++; - gCurrentActionFuncId = gActionsByTurnOrder[gCurrentTurnActionNumber]; - gHitMarker &= ~(HITMARKER_DESTINYBOND | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_ATTACKSTRING_PRINTED - | HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_IGNORE_ON_AIR - | HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_x100000 - | HITMARKER_OBEYS | HITMARKER_x10 | HITMARKER_SYNCHRONISE_EFFECT - | HITMARKER_x8000000 | HITMARKER_x4000000); -} - -static void HandleAction_ActionFinished(void) -{ - *(gBattleStruct->field_5C + gBanksByTurnOrder[gCurrentTurnActionNumber]) = 6; - gCurrentTurnActionNumber++; - gCurrentActionFuncId = gActionsByTurnOrder[gCurrentTurnActionNumber]; - SpecialStatusesClear(); - gHitMarker &= ~(HITMARKER_DESTINYBOND | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_ATTACKSTRING_PRINTED - | HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_IGNORE_ON_AIR - | HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_x100000 - | HITMARKER_OBEYS | HITMARKER_x10 | HITMARKER_SYNCHRONISE_EFFECT - | HITMARKER_x8000000 | HITMARKER_x4000000); - - gCurrentMove = 0; - gBattleMoveDamage = 0; - gBattleMoveFlags = 0; - gBattleScripting.animTurn = 0; - gBattleScripting.animTargetsHit = 0; - gUnknown_02024250[gBankAttacker] = 0; - gUnknown_02024258[gBankAttacker] = 0; - gBattleStruct->dynamicMoveType = 0; - gDynamicBasePower = 0; - gBattleScripting.atk49_state = 0; - gBattleCommunication[3] = 0; - gBattleCommunication[4] = 0; - gBattleScripting.field_16 = 0; - gBattleResources->battleScriptsStack->size = 0; -} diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index 24377eacc6..d6ccf93053 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -2,17 +2,18 @@ #include "battle_ai_script_commands.h" #include "pokemon.h" #include "battle.h" -#include "species.h" -#include "abilities.h" -#include "rng.h" +#include "battle_setup.h" +#include "constants/species.h" +#include "constants/abilities.h" +#include "random.h" #include "item.h" -#include "battle_move_effects.h" -#include "moves.h" +#include "constants/battle_move_effects.h" +#include "constants/moves.h" #include "util.h" +#include "constants/battle_ai.h" #define AIScriptRead32(ptr) ((ptr)[0] | (ptr)[1] << 8 | (ptr)[2] << 16 | (ptr)[3] << 24) #define AIScriptRead16(ptr) ((ptr)[0] | (ptr)[1] << 8) -#define AIScriptRead8(ptr) ((ptr)[0]) #define AIScriptReadPtr(ptr) (const u8*) AIScriptRead32(ptr) #define AI_ACTION_DONE 0x0001 @@ -27,14 +28,6 @@ #define AI_THINKING_STRUCT ((struct AI_ThinkingStruct *)(gBattleResources->ai)) #define BATTLE_HISTORY ((struct BattleHistory *)(gBattleResources->battleHistory)) -enum -{ - AI_TARGET, - AI_USER, - AI_TARGET_PARTNER, - AI_USER_PARTNER -}; - // AI states enum { @@ -52,26 +45,7 @@ in order to read the next command correctly. refer to battle_ai_scripts.s for th AI scripts. */ -extern u32 gBattleTypeFlags; -extern u8 gActiveBank; -extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; -extern u16 gCurrentMove; -extern u8 gBankTarget; -extern u8 gAbsentBankFlags; -extern u16 gLastUsedMovesByBanks[BATTLE_BANKS_COUNT]; -extern u16 gTrainerBattleOpponent_A; -extern u16 gTrainerBattleOpponent_B; -extern u32 gStatuses3[BATTLE_BANKS_COUNT]; -extern u16 gSideAffecting[2]; -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; -extern u16 gDynamicBasePower; -extern u8 gBattleMoveFlags; -extern s32 gBattleMoveDamage; -extern u8 gCritMultiplier; -extern u16 gBattleWeather; - extern const struct BattleMove gBattleMoves[]; -extern const struct BaseStats gBaseStats[]; extern const u8 * const gBattleAI_ScriptsTable[]; extern u32 GetAiScriptsInRecordedBattle(); @@ -105,30 +79,30 @@ static void BattleAICmd_if_less_than(void); static void BattleAICmd_if_more_than(void); static void BattleAICmd_if_equal(void); static void BattleAICmd_if_not_equal(void); -static void BattleAICmd_if_less_than_32(void); -static void BattleAICmd_if_more_than_32(void); -static void BattleAICmd_if_equal_32(void); -static void BattleAICmd_if_not_equal_32(void); +static void BattleAICmd_if_less_than_ptr(void); +static void BattleAICmd_if_more_than_ptr(void); +static void BattleAICmd_if_equal_ptr(void); +static void BattleAICmd_if_not_equal_ptr(void); static void BattleAICmd_if_move(void); static void BattleAICmd_if_not_move(void); static void BattleAICmd_if_in_bytes(void); static void BattleAICmd_if_not_in_bytes(void); static void BattleAICmd_if_in_hwords(void); static void BattleAICmd_if_not_in_hwords(void); -static void BattleAICmd_if_user_can_damage(void); -static void BattleAICmd_if_user_cant_damage(void); +static void BattleAICmd_if_user_has_attacking_move(void); +static void BattleAICmd_if_user_has_no_attacking_moves(void); static void BattleAICmd_get_turn_count(void); static void BattleAICmd_get_type(void); -static void BattleAICmd_get_last_used_bank_move_power(void); -static void BattleAICmd_is_most_powerful_move(void); +static void BattleAICmd_get_considered_move_power(void); +static void BattleAICmd_get_how_powerful_move_is(void); static void BattleAICmd_get_last_used_bank_move(void); -static void BattleAICmd_if_arg_equal(void); -static void BattleAICmd_if_arg_not_equal(void); -static void BattleAICmd_if_would_go_first(void); -static void BattleAICmd_if_would_not_go_first(void); +static void BattleAICmd_if_equal_(void); +static void BattleAICmd_if_not_equal_(void); +static void BattleAICmd_if_user_goes(void); +static void BattleAICmd_if_user_doesnt_go(void); static void BattleAICmd_nullsub_2A(void); static void BattleAICmd_nullsub_2B(void); -static void BattleAICmd_count_alive_pokemon(void); +static void BattleAICmd_count_usable_party_mons(void); static void BattleAICmd_get_considered_move(void); static void BattleAICmd_get_considered_move_effect(void); static void BattleAICmd_get_ability(void); @@ -148,17 +122,17 @@ static void BattleAICmd_if_stat_level_not_equal(void); static void BattleAICmd_if_can_faint(void); static void BattleAICmd_if_cant_faint(void); static void BattleAICmd_if_has_move(void); -static void BattleAICmd_if_dont_have_move(void); -static void BattleAICmd_if_move_effect(void); -static void BattleAICmd_if_not_move_effect(void); +static void BattleAICmd_if_doesnt_have_move(void); +static void BattleAICmd_if_has_move_with_effect(void); +static void BattleAICmd_if_doesnt_have_move_with_effect(void); static void BattleAICmd_if_any_move_disabled_or_encored(void); static void BattleAICmd_if_curr_move_disabled_or_encored(void); static void BattleAICmd_flee(void); -static void BattleAICmd_if_random_100(void); +static void BattleAICmd_if_random_safari_flee(void); static void BattleAICmd_watch(void); static void BattleAICmd_get_hold_effect(void); static void BattleAICmd_get_gender(void); -static void BattleAICmd_is_first_turn(void); +static void BattleAICmd_is_first_turn_for(void); static void BattleAICmd_get_stockpile_count(void); static void BattleAICmd_is_double_battle(void); static void BattleAICmd_get_used_held_item(void); @@ -173,7 +147,7 @@ static void BattleAICmd_nullsub_55(void); static void BattleAICmd_nullsub_56(void); static void BattleAICmd_nullsub_57(void); static void BattleAICmd_call(void); -static void BattleAICmd_jump(void); +static void BattleAICmd_goto(void); static void BattleAICmd_end(void); static void BattleAICmd_if_level_cond(void); static void BattleAICmd_if_target_taunted(void); @@ -187,7 +161,7 @@ static void BattleAICmd_if_holds_item(void); // ewram EWRAM_DATA const u8 *gAIScriptPtr = NULL; -EWRAM_DATA static u8 sBank_AI = 0; +EWRAM_DATA static u8 sBattler_AI = 0; // const rom data @@ -216,30 +190,30 @@ static const BattleAICmdFunc sBattleAICmdTable[] = BattleAICmd_if_more_than, // 0x12 BattleAICmd_if_equal, // 0x13 BattleAICmd_if_not_equal, // 0x14 - BattleAICmd_if_less_than_32, // 0x15 - BattleAICmd_if_more_than_32, // 0x16 - BattleAICmd_if_equal_32, // 0x17 - BattleAICmd_if_not_equal_32, // 0x18 + BattleAICmd_if_less_than_ptr, // 0x15 + BattleAICmd_if_more_than_ptr, // 0x16 + BattleAICmd_if_equal_ptr, // 0x17 + BattleAICmd_if_not_equal_ptr, // 0x18 BattleAICmd_if_move, // 0x19 BattleAICmd_if_not_move, // 0x1A BattleAICmd_if_in_bytes, // 0x1B BattleAICmd_if_not_in_bytes, // 0x1C BattleAICmd_if_in_hwords, // 0x1D BattleAICmd_if_not_in_hwords, // 0x1E - BattleAICmd_if_user_can_damage, // 0x1F - BattleAICmd_if_user_cant_damage, // 0x20 + BattleAICmd_if_user_has_attacking_move, // 0x1F + BattleAICmd_if_user_has_no_attacking_moves, // 0x20 BattleAICmd_get_turn_count, // 0x21 BattleAICmd_get_type, // 0x22 - BattleAICmd_get_last_used_bank_move_power, // 0x23 - BattleAICmd_is_most_powerful_move, // 0x24 + BattleAICmd_get_considered_move_power, // 0x23 + BattleAICmd_get_how_powerful_move_is, // 0x24 BattleAICmd_get_last_used_bank_move, // 0x25 - BattleAICmd_if_arg_equal, // 0x26 - BattleAICmd_if_arg_not_equal, // 0x27 - BattleAICmd_if_would_go_first, // 0x28 - BattleAICmd_if_would_not_go_first, // 0x29 + BattleAICmd_if_equal_, // 0x26 + BattleAICmd_if_not_equal_, // 0x27 + BattleAICmd_if_user_goes, // 0x28 + BattleAICmd_if_user_doesnt_go, // 0x29 BattleAICmd_nullsub_2A, // 0x2A BattleAICmd_nullsub_2B, // 0x2B - BattleAICmd_count_alive_pokemon, // 0x2C + BattleAICmd_count_usable_party_mons, // 0x2C BattleAICmd_get_considered_move, // 0x2D BattleAICmd_get_considered_move_effect, // 0x2E BattleAICmd_get_ability, // 0x2F @@ -259,17 +233,17 @@ static const BattleAICmdFunc sBattleAICmdTable[] = BattleAICmd_if_can_faint, // 0x3D BattleAICmd_if_cant_faint, // 0x3E BattleAICmd_if_has_move, // 0x3F - BattleAICmd_if_dont_have_move, // 0x40 - BattleAICmd_if_move_effect, // 0x41 - BattleAICmd_if_not_move_effect, // 0x42 + BattleAICmd_if_doesnt_have_move, // 0x40 + BattleAICmd_if_has_move_with_effect, // 0x41 + BattleAICmd_if_doesnt_have_move_with_effect, // 0x42 BattleAICmd_if_any_move_disabled_or_encored, // 0x43 BattleAICmd_if_curr_move_disabled_or_encored, // 0x44 BattleAICmd_flee, // 0x45 - BattleAICmd_if_random_100, // 0x46 + BattleAICmd_if_random_safari_flee, // 0x46 BattleAICmd_watch, // 0x47 BattleAICmd_get_hold_effect, // 0x48 BattleAICmd_get_gender, // 0x49 - BattleAICmd_is_first_turn, // 0x4A + BattleAICmd_is_first_turn_for, // 0x4A BattleAICmd_get_stockpile_count, // 0x4B BattleAICmd_is_double_battle, // 0x4C BattleAICmd_get_used_held_item, // 0x4D @@ -284,7 +258,7 @@ static const BattleAICmdFunc sBattleAICmdTable[] = BattleAICmd_nullsub_56, // 0x56 BattleAICmd_nullsub_57, // 0x57 BattleAICmd_call, // 0x58 - BattleAICmd_jump, // 0x59 + BattleAICmd_goto, // 0x59 BattleAICmd_end, // 0x5A BattleAICmd_if_level_cond, // 0x5B BattleAICmd_if_target_taunted, // 0x5C @@ -360,7 +334,7 @@ void BattleAI_SetupAIData(u8 defaultScoreMoves) defaultScoreMoves >>= 1; } - moveLimitations = CheckMoveLimitations(gActiveBank, 0, 0xFF); + moveLimitations = CheckMoveLimitations(gActiveBattler, 0, 0xFF); // ignore moves that aren't possible to use for (i = 0; i < 4; i++) @@ -371,36 +345,38 @@ void BattleAI_SetupAIData(u8 defaultScoreMoves) AI_THINKING_STRUCT->simulatedRNG[i] = 100 - (Random() % 16); } gBattleResources->AI_ScriptsStack->size = 0; - sBank_AI = gActiveBank; + sBattler_AI = gActiveBattler; // decide a random target bank in doubles if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - gBankTarget = (Random() & 2) + (GetBankSide(gActiveBank) ^ 1); - if (gAbsentBankFlags & gBitTable[gBankTarget]) - gBankTarget ^= 2; + gBattlerTarget = (Random() & BIT_FLANK) + (GetBattlerSide(gActiveBattler) ^ BIT_SIDE); + if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + gBattlerTarget ^= BIT_FLANK; } // in singles there's only one choice else - gBankTarget = sBank_AI ^ 1; + { + gBattlerTarget = sBattler_AI ^ BIT_SIDE; + } if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) AI_THINKING_STRUCT->aiFlags = GetAiScriptsInRecordedBattle(); else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) - AI_THINKING_STRUCT->aiFlags = 0x40000000; + AI_THINKING_STRUCT->aiFlags = AI_SCRIPT_SAFARI; else if (gBattleTypeFlags & BATTLE_TYPE_ROAMER) - AI_THINKING_STRUCT->aiFlags = 0x20000000; + AI_THINKING_STRUCT->aiFlags = AI_SCRIPT_ROAMING; else if (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE) - AI_THINKING_STRUCT->aiFlags = 0x80000000; + AI_THINKING_STRUCT->aiFlags = AI_SCRIPT_FIRST_BATTLE; else if (gBattleTypeFlags & BATTLE_TYPE_FACTORY) AI_THINKING_STRUCT->aiFlags = GetAiScriptsInBattleFactory(); else if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_x4000000 | BATTLE_TYPE_SECRET_BASE)) - AI_THINKING_STRUCT->aiFlags = 7; // the smartest possible set + AI_THINKING_STRUCT->aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_CHECK_VIABILITY | AI_SCRIPT_TRY_TO_FAINT; else if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) AI_THINKING_STRUCT->aiFlags = gTrainers[gTrainerBattleOpponent_A].aiFlags | gTrainers[gTrainerBattleOpponent_B].aiFlags; else AI_THINKING_STRUCT->aiFlags = gTrainers[gTrainerBattleOpponent_A].aiFlags; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - AI_THINKING_STRUCT->aiFlags |= 0x80; // act smart in doubles and don't attack your partner + AI_THINKING_STRUCT->aiFlags |= AI_SCRIPT_DOUBLE_BATTLE; // act smart in doubles and don't attack your partner } u8 BattleAI_ChooseMoveOrAction(void) @@ -450,7 +426,7 @@ static u8 BattleAI_ChooseMoveOrAction_Singles(void) for (i = 1; i < 4; i++) { - if (gBattleMons[sBank_AI].moves[i] != 0) // emerald adds an extra move ID check for some reason. + if (gBattleMons[sBattler_AI].moves[i] != 0) // emerald adds an extra move ID check for some reason. { // in ruby, the order of these if statements are reversed. if (currentMoveArray[0] == AI_THINKING_STRUCT->score[i]) @@ -485,7 +461,7 @@ static u8 BattleAI_ChooseMoveOrAction_Doubles(void) for (i = 0; i < 4; i++) { - if (i == sBank_AI || gBattleMons[i].hp == 0) + if (i == sBattler_AI || gBattleMons[i].hp == 0) { actionOrMoveIndex[i] = -1; bestMovePointsForTarget[i] = -1; @@ -497,9 +473,9 @@ static u8 BattleAI_ChooseMoveOrAction_Doubles(void) else BattleAI_SetupAIData(0xF); - gBankTarget = i; + gBattlerTarget = i; - if ((i & BIT_SIDE) != (sBank_AI & BIT_SIDE)) + if ((i & BIT_SIDE) != (sBattler_AI & BIT_SIDE)) RecordLastUsedMoveByTarget(); AI_THINKING_STRUCT->aiLogicId = 0; @@ -527,7 +503,7 @@ static u8 BattleAI_ChooseMoveOrAction_Doubles(void) mostViableMovesNo = 1; for (j = 1; j < 4; j++) { - if (gBattleMons[sBank_AI].moves[j] != 0) + if (gBattleMons[sBattler_AI].moves[j] != 0) { if (mostViableMovesScores[0] == AI_THINKING_STRUCT->score[j]) { @@ -548,7 +524,7 @@ static u8 BattleAI_ChooseMoveOrAction_Doubles(void) bestMovePointsForTarget[i] = mostViableMovesScores[0]; // don't use a move against ally if it has less than 100 pts - if (i == (sBank_AI ^ BIT_MON) && bestMovePointsForTarget[i] < 100) + if (i == (sBattler_AI ^ BIT_FLANK) && bestMovePointsForTarget[i] < 100) { bestMovePointsForTarget[i] = -1; mostViableMovesScores[0] = mostViableMovesScores[0]; // needed to match @@ -579,8 +555,8 @@ static u8 BattleAI_ChooseMoveOrAction_Doubles(void) } } - gBankTarget = mostViableTargetsArray[Random() % mostViableTargetsNo]; - return actionOrMoveIndex[gBankTarget]; + gBattlerTarget = mostViableTargetsArray[Random() % mostViableTargetsNo]; + return actionOrMoveIndex[gBattlerTarget]; } static void BattleAI_DoAIProcessing(void) @@ -593,13 +569,13 @@ static void BattleAI_DoAIProcessing(void) break; case AIState_SettingUp: gAIScriptPtr = gBattleAI_ScriptsTable[AI_THINKING_STRUCT->aiLogicId]; // set AI ptr to logic ID. - if (gBattleMons[sBank_AI].pp[AI_THINKING_STRUCT->movesetIndex] == 0) + if (gBattleMons[sBattler_AI].pp[AI_THINKING_STRUCT->movesetIndex] == 0) { AI_THINKING_STRUCT->moveConsidered = 0; } else { - AI_THINKING_STRUCT->moveConsidered = gBattleMons[sBank_AI].moves[AI_THINKING_STRUCT->movesetIndex]; + AI_THINKING_STRUCT->moveConsidered = gBattleMons[sBattler_AI].moves[AI_THINKING_STRUCT->movesetIndex]; } AI_THINKING_STRUCT->aiState++; break; @@ -633,18 +609,18 @@ static void RecordLastUsedMoveByTarget(void) for (i = 0; i < 4; i++) { - if (gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] == gLastUsedMovesByBanks[gBankTarget]) + if (gBattleResources->battleHistory->usedMoves[gBattlerTarget].moves[i] == gLastMoves[gBattlerTarget]) break; - if (gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] != gLastUsedMovesByBanks[gBankTarget] // HACK: This redundant condition is a hack to make the asm match. - && gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] == 0) + if (gBattleResources->battleHistory->usedMoves[gBattlerTarget].moves[i] != gLastMoves[gBattlerTarget] // HACK: This redundant condition is a hack to make the asm match. + && gBattleResources->battleHistory->usedMoves[gBattlerTarget].moves[i] == 0) { - gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] = gLastUsedMovesByBanks[gBankTarget]; + gBattleResources->battleHistory->usedMoves[gBattlerTarget].moves[i] = gLastMoves[gBattlerTarget]; break; } } } -void ClearBankMoveHistory(u8 bank) +void ClearBattlerMoveHistory(u8 bank) { s32 i; @@ -657,7 +633,7 @@ void RecordAbilityBattle(u8 bank, u8 abilityId) gBattleResources->battleHistory->abilities[bank] = abilityId; } -void ClearBankAbilityHistory(u8 bank) +void ClearBattlerAbilityHistory(u8 bank) { gBattleResources->battleHistory->abilities[bank] = 0; } @@ -724,14 +700,14 @@ static void BattleAICmd_score(void) static void BattleAICmd_if_hp_less_than(void) { - u16 index; + u16 bank; if (gAIScriptPtr[1] == AI_USER) - index = sBank_AI; + bank = sBattler_AI; else - index = gBankTarget; + bank = gBattlerTarget; - if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) < gAIScriptPtr[2]) + if ((u32)(100 * gBattleMons[bank].hp / gBattleMons[bank].maxHP) < gAIScriptPtr[2]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -739,14 +715,14 @@ static void BattleAICmd_if_hp_less_than(void) static void BattleAICmd_if_hp_more_than(void) { - u16 index; + u16 bank; if (gAIScriptPtr[1] == AI_USER) - index = sBank_AI; + bank = sBattler_AI; else - index = gBankTarget; + bank = gBattlerTarget; - if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) > gAIScriptPtr[2]) + if ((u32)(100 * gBattleMons[bank].hp / gBattleMons[bank].maxHP) > gAIScriptPtr[2]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -754,14 +730,14 @@ static void BattleAICmd_if_hp_more_than(void) static void BattleAICmd_if_hp_equal(void) { - u16 index; + u16 bank; if (gAIScriptPtr[1] == AI_USER) - index = sBank_AI; + bank = sBattler_AI; else - index = gBankTarget; + bank = gBattlerTarget; - if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) == gAIScriptPtr[2]) + if ((u32)(100 * gBattleMons[bank].hp / gBattleMons[bank].maxHP) == gAIScriptPtr[2]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -769,14 +745,14 @@ static void BattleAICmd_if_hp_equal(void) static void BattleAICmd_if_hp_not_equal(void) { - u16 index; + u16 bank; if (gAIScriptPtr[1] == AI_USER) - index = sBank_AI; + bank = sBattler_AI; else - index = gBankTarget; + bank = gBattlerTarget; - if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) != gAIScriptPtr[2]) + if ((u32)(100 * gBattleMons[bank].hp / gBattleMons[bank].maxHP) != gAIScriptPtr[2]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -784,17 +760,17 @@ static void BattleAICmd_if_hp_not_equal(void) static void BattleAICmd_if_status(void) { - u16 index; - u32 arg; + u16 bank; + u32 status; if (gAIScriptPtr[1] == AI_USER) - index = sBank_AI; + bank = sBattler_AI; else - index = gBankTarget; + bank = gBattlerTarget; - arg = AIScriptRead32(gAIScriptPtr + 2); + status = AIScriptRead32(gAIScriptPtr + 2); - if ((gBattleMons[index].status1 & arg) != 0) + if ((gBattleMons[bank].status1 & status) != 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -802,17 +778,17 @@ static void BattleAICmd_if_status(void) static void BattleAICmd_if_not_status(void) { - u16 index; - u32 arg; + u16 bank; + u32 status; if (gAIScriptPtr[1] == AI_USER) - index = sBank_AI; + bank = sBattler_AI; else - index = gBankTarget; + bank = gBattlerTarget; - arg = AIScriptRead32(gAIScriptPtr + 2); + status = AIScriptRead32(gAIScriptPtr + 2); - if ((gBattleMons[index].status1 & arg) == 0) + if ((gBattleMons[bank].status1 & status) == 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -820,17 +796,17 @@ static void BattleAICmd_if_not_status(void) static void BattleAICmd_if_status2(void) { - u16 index; - u32 arg; + u16 bank; + u32 status; if (gAIScriptPtr[1] == AI_USER) - index = sBank_AI; + bank = sBattler_AI; else - index = gBankTarget; + bank = gBattlerTarget; - arg = AIScriptRead32(gAIScriptPtr + 2); + status = AIScriptRead32(gAIScriptPtr + 2); - if ((gBattleMons[index].status2 & arg) != 0) + if ((gBattleMons[bank].status2 & status) != 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -838,17 +814,17 @@ static void BattleAICmd_if_status2(void) static void BattleAICmd_if_not_status2(void) { - u16 index; - u32 arg; + u16 bank; + u32 status; if (gAIScriptPtr[1] == AI_USER) - index = sBank_AI; + bank = sBattler_AI; else - index = gBankTarget; + bank = gBattlerTarget; - arg = AIScriptRead32(gAIScriptPtr + 2); + status = AIScriptRead32(gAIScriptPtr + 2); - if ((gBattleMons[index].status2 & arg) == 0) + if ((gBattleMons[bank].status2 & status) == 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -856,17 +832,17 @@ static void BattleAICmd_if_not_status2(void) static void BattleAICmd_if_status3(void) { - u16 index; - u32 arg; + u16 bank; + u32 status; if (gAIScriptPtr[1] == AI_USER) - index = sBank_AI; + bank = sBattler_AI; else - index = gBankTarget; + bank = gBattlerTarget; - arg = AIScriptRead32(gAIScriptPtr + 2); + status = AIScriptRead32(gAIScriptPtr + 2); - if ((gStatuses3[index] & arg) != 0) + if ((gStatuses3[bank] & status) != 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -874,17 +850,17 @@ static void BattleAICmd_if_status3(void) static void BattleAICmd_if_not_status3(void) { - u16 index; - u32 arg; + u16 bank; + u32 status; if (gAIScriptPtr[1] == AI_USER) - index = sBank_AI; + bank = sBattler_AI; else - index = gBankTarget; + bank = gBattlerTarget; - arg = AIScriptRead32(gAIScriptPtr + 2); + status = AIScriptRead32(gAIScriptPtr + 2); - if ((gStatuses3[index] & arg) == 0) + if ((gStatuses3[bank] & status) == 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -892,18 +868,18 @@ static void BattleAICmd_if_not_status3(void) static void BattleAICmd_if_side_affecting(void) { - u16 index; - u32 arg1, arg2; + u16 bank; + u32 side, status; if (gAIScriptPtr[1] == AI_USER) - index = sBank_AI; + bank = sBattler_AI; else - index = gBankTarget; + bank = gBattlerTarget; - arg1 = GetBankIdentity(index) & 1; - arg2 = AIScriptRead32(gAIScriptPtr + 2); + side = GET_BATTLER_SIDE(bank); + status = AIScriptRead32(gAIScriptPtr + 2); - if ((gSideAffecting[arg1] & arg2) != 0) + if ((gSideStatuses[side] & status) != 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -911,18 +887,18 @@ static void BattleAICmd_if_side_affecting(void) static void BattleAICmd_if_not_side_affecting(void) { - u16 index; - u32 arg1, arg2; + u16 bank; + u32 side, status; if (gAIScriptPtr[1] == AI_USER) - index = sBank_AI; + bank = sBattler_AI; else - index = gBankTarget; + bank = gBattlerTarget; - arg1 = GetBankIdentity(index) & 1; - arg2 = AIScriptRead32(gAIScriptPtr + 2); + side = GET_BATTLER_SIDE(bank); + status = AIScriptRead32(gAIScriptPtr + 2); - if ((gSideAffecting[arg1] & arg2) == 0) + if ((gSideStatuses[side] & status) == 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -960,41 +936,41 @@ static void BattleAICmd_if_not_equal(void) gAIScriptPtr += 6; } -static void BattleAICmd_if_less_than_32(void) +static void BattleAICmd_if_less_than_ptr(void) { - const u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1); + const u8 *value = AIScriptReadPtr(gAIScriptPtr + 1); - if (AI_THINKING_STRUCT->funcResult < *temp) + if (AI_THINKING_STRUCT->funcResult < *value) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); else gAIScriptPtr += 9; } -static void BattleAICmd_if_more_than_32(void) +static void BattleAICmd_if_more_than_ptr(void) { - const u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1); + const u8 *value = AIScriptReadPtr(gAIScriptPtr + 1); - if (AI_THINKING_STRUCT->funcResult > *temp) + if (AI_THINKING_STRUCT->funcResult > *value) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); else gAIScriptPtr += 9; } -static void BattleAICmd_if_equal_32(void) +static void BattleAICmd_if_equal_ptr(void) { - const u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1); + const u8 *value = AIScriptReadPtr(gAIScriptPtr + 1); - if (AI_THINKING_STRUCT->funcResult == *temp) + if (AI_THINKING_STRUCT->funcResult == *value) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); else gAIScriptPtr += 9; } -static void BattleAICmd_if_not_equal_32(void) +static void BattleAICmd_if_not_equal_ptr(void) { - const u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1); + const u8 *value = AIScriptReadPtr(gAIScriptPtr + 1); - if (AI_THINKING_STRUCT->funcResult != *temp) + if (AI_THINKING_STRUCT->funcResult != *value) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); else gAIScriptPtr += 9; @@ -1084,14 +1060,14 @@ static void BattleAICmd_if_not_in_hwords(void) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); } -static void BattleAICmd_if_user_can_damage(void) +static void BattleAICmd_if_user_has_attacking_move(void) { s32 i; for (i = 0; i < 4; i++) { - if (gBattleMons[sBank_AI].moves[i] != 0 - && gBattleMoves[gBattleMons[sBank_AI].moves[i]].power != 0) + if (gBattleMons[sBattler_AI].moves[i] != 0 + && gBattleMoves[gBattleMons[sBattler_AI].moves[i]].power != 0) break; } if (i == 4) @@ -1100,14 +1076,14 @@ static void BattleAICmd_if_user_can_damage(void) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); } -static void BattleAICmd_if_user_cant_damage(void) +static void BattleAICmd_if_user_has_no_attacking_moves(void) { s32 i; for (i = 0; i < 4; i++) { - if (gBattleMons[sBank_AI].moves[i] != 0 - && gBattleMoves[gBattleMons[sBank_AI].moves[i]].power != 0) + if (gBattleMons[sBattler_AI].moves[i] != 0 + && gBattleMoves[gBattleMons[sBattler_AI].moves[i]].power != 0) break; } if (i != 4) @@ -1128,38 +1104,38 @@ static void BattleAICmd_get_type(void) switch (typeVar) { - case 1: // player primary type - AI_THINKING_STRUCT->funcResult = gBattleMons[sBank_AI].type1; + case AI_TYPE1_USER: // AI user primary type + AI_THINKING_STRUCT->funcResult = gBattleMons[sBattler_AI].type1; break; - case 0: // enemy primary type - AI_THINKING_STRUCT->funcResult = gBattleMons[gBankTarget].type1; + case AI_TYPE1_TARGET: // target primary type + AI_THINKING_STRUCT->funcResult = gBattleMons[gBattlerTarget].type1; break; - case 3: // player secondary type - AI_THINKING_STRUCT->funcResult = gBattleMons[sBank_AI].type2; + case AI_TYPE2_USER: // AI user secondary type + AI_THINKING_STRUCT->funcResult = gBattleMons[sBattler_AI].type2; break; - case 2: // enemy secondary type - AI_THINKING_STRUCT->funcResult = gBattleMons[gBankTarget].type2; + case AI_TYPE2_TARGET: // target secondary type + AI_THINKING_STRUCT->funcResult = gBattleMons[gBattlerTarget].type2; break; - case 4: // type of move being pointed to + case AI_TYPE_MOVE: // type of move being pointed to AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->moveConsidered].type; break; } gAIScriptPtr += 2; } -static u8 BattleAI_GetWantedBank(u8 index) +static u8 BattleAI_GetWantedBank(u8 bank) { - switch (index) + switch (bank) { case AI_USER: - return sBank_AI; + return sBattler_AI; case AI_TARGET: default: - return gBankTarget; + return gBattlerTarget; case AI_USER_PARTNER: - return sBank_AI ^ BIT_MON; + return sBattler_AI ^ BIT_FLANK; case AI_TARGET_PARTNER: - return gBankTarget ^ BIT_MON; + return gBattlerTarget ^ BIT_FLANK; } } @@ -1169,23 +1145,23 @@ static void BattleAICmd_is_of_type(void) if(gBattleMons[bank].type1 == gAIScriptPtr[2] || gBattleMons[bank].type2 == gAIScriptPtr[2]) { - AI_THINKING_STRUCT->funcResult = 1; + AI_THINKING_STRUCT->funcResult = TRUE; } else { - AI_THINKING_STRUCT->funcResult = 0; + AI_THINKING_STRUCT->funcResult = FALSE; } gAIScriptPtr += 3; } -static void BattleAICmd_get_last_used_bank_move_power(void) +static void BattleAICmd_get_considered_move_power(void) { AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power; gAIScriptPtr += 1; } -static void BattleAICmd_is_most_powerful_move(void) +static void BattleAICmd_get_how_powerful_move_is(void) { s32 i, checkedMove; s32 moveDmgs[4]; @@ -1202,24 +1178,24 @@ static void BattleAICmd_is_most_powerful_move(void) gDynamicBasePower = 0; *(&gBattleStruct->dynamicMoveType) = 0; gBattleScripting.dmgMultiplier = 1; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gCritMultiplier = 1; for (checkedMove = 0; checkedMove < 4; checkedMove++) { for (i = 0; sDiscouragedPowerfulMoveEffects[i] != 0xFFFF; i++) { - if (gBattleMoves[gBattleMons[sBank_AI].moves[checkedMove]].effect == sDiscouragedPowerfulMoveEffects[i]) + if (gBattleMoves[gBattleMons[sBattler_AI].moves[checkedMove]].effect == sDiscouragedPowerfulMoveEffects[i]) break; } - if (gBattleMons[sBank_AI].moves[checkedMove] != MOVE_NONE + if (gBattleMons[sBattler_AI].moves[checkedMove] != MOVE_NONE && sDiscouragedPowerfulMoveEffects[i] == 0xFFFF - && gBattleMoves[gBattleMons[sBank_AI].moves[checkedMove]].power > 1) + && gBattleMoves[gBattleMons[sBattler_AI].moves[checkedMove]].power > 1) { - gCurrentMove = gBattleMons[sBank_AI].moves[checkedMove]; - AI_CalcDmg(sBank_AI, gBankTarget); - TypeCalc(gCurrentMove, sBank_AI, gBankTarget); + gCurrentMove = gBattleMons[sBattler_AI].moves[checkedMove]; + AI_CalcDmg(sBattler_AI, gBattlerTarget); + TypeCalc(gCurrentMove, sBattler_AI, gBattlerTarget); moveDmgs[checkedMove] = gBattleMoveDamage * AI_THINKING_STRUCT->simulatedRNG[checkedMove] / 100; if (moveDmgs[checkedMove] == 0) moveDmgs[checkedMove] = 1; @@ -1237,13 +1213,13 @@ static void BattleAICmd_is_most_powerful_move(void) } if (checkedMove == 4) - AI_THINKING_STRUCT->funcResult = 2; // is the most powerful + AI_THINKING_STRUCT->funcResult = MOVE_MOST_POWERFUL; // is the most powerful else - AI_THINKING_STRUCT->funcResult = 1; // not most powerful + AI_THINKING_STRUCT->funcResult = MOVE_NOT_MOST_POWERFUL; // not most powerful } else { - AI_THINKING_STRUCT->funcResult = 0; // highly discouraged in terms of power + AI_THINKING_STRUCT->funcResult = MOVE_POWER_DISCOURAGED; // highly discouraged in terms of power } gAIScriptPtr++; @@ -1252,14 +1228,14 @@ static void BattleAICmd_is_most_powerful_move(void) static void BattleAICmd_get_last_used_bank_move(void) { if (gAIScriptPtr[1] == AI_USER) - AI_THINKING_STRUCT->funcResult = gLastUsedMovesByBanks[sBank_AI]; + AI_THINKING_STRUCT->funcResult = gLastMoves[sBattler_AI]; else - AI_THINKING_STRUCT->funcResult = gLastUsedMovesByBanks[gBankTarget]; + AI_THINKING_STRUCT->funcResult = gLastMoves[gBattlerTarget]; gAIScriptPtr += 2; } -static void BattleAICmd_if_arg_equal(void) +static void BattleAICmd_if_equal_(void) // same as if_equal { if (gAIScriptPtr[1] == AI_THINKING_STRUCT->funcResult) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); @@ -1267,7 +1243,7 @@ static void BattleAICmd_if_arg_equal(void) gAIScriptPtr += 6; } -static void BattleAICmd_if_arg_not_equal(void) +static void BattleAICmd_if_not_equal_(void) // same as if_not_equal { if (gAIScriptPtr[1] != AI_THINKING_STRUCT->funcResult) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); @@ -1275,17 +1251,17 @@ static void BattleAICmd_if_arg_not_equal(void) gAIScriptPtr += 6; } -static void BattleAICmd_if_would_go_first(void) +static void BattleAICmd_if_user_goes(void) { - if (GetWhoStrikesFirst(sBank_AI, gBankTarget, TRUE) == gAIScriptPtr[1]) + if (GetWhoStrikesFirst(sBattler_AI, gBattlerTarget, TRUE) == gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; } -static void BattleAICmd_if_would_not_go_first(void) +static void BattleAICmd_if_user_doesnt_go(void) { - if (GetWhoStrikesFirst(sBank_AI, gBankTarget, TRUE) != gAIScriptPtr[1]) + if (GetWhoStrikesFirst(sBattler_AI, gBattlerTarget, TRUE) != gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; @@ -1299,9 +1275,9 @@ static void BattleAICmd_nullsub_2B(void) { } -static void BattleAICmd_count_alive_pokemon(void) +static void BattleAICmd_count_usable_party_mons(void) { - u8 index; + u8 bank; u8 bankOnField1, bankOnField2; struct Pokemon *party; int i; @@ -1309,29 +1285,29 @@ static void BattleAICmd_count_alive_pokemon(void) AI_THINKING_STRUCT->funcResult = 0; if (gAIScriptPtr[1] == AI_USER) - index = sBank_AI; + bank = sBattler_AI; else - index = gBankTarget; + bank = gBattlerTarget; - if (GetBankSide(index) == SIDE_PLAYER) + if (GetBattlerSide(bank) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - u32 status; - bankOnField1 = gBattlePartyID[index]; - status = GetBankIdentity(index) ^ 2; - bankOnField2 = gBattlePartyID[GetBankByIdentity(status)]; + u32 position; + bankOnField1 = gBattlerPartyIndexes[bank]; + position = GetBattlerPosition(bank) ^ BIT_FLANK; + bankOnField2 = gBattlerPartyIndexes[GetBattlerAtPosition(position)]; } else // in singles there's only one bank by side { - bankOnField1 = gBattlePartyID[index]; - bankOnField2 = gBattlePartyID[index]; + bankOnField1 = gBattlerPartyIndexes[bank]; + bankOnField2 = gBattlerPartyIndexes[bank]; } - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { if (i != bankOnField1 && i != bankOnField2 && GetMonData(&party[i], MON_DATA_HP) != 0 @@ -1359,60 +1335,60 @@ static void BattleAICmd_get_considered_move_effect(void) static void BattleAICmd_get_ability(void) { - u8 index; + u8 bank; if (gAIScriptPtr[1] == AI_USER) - index = sBank_AI; + bank = sBattler_AI; else - index = gBankTarget; + bank = gBattlerTarget; - if(gActiveBank != index) + if (gActiveBattler != bank) { - if(BATTLE_HISTORY->abilities[index] != 0) + if (BATTLE_HISTORY->abilities[bank] != 0) { - AI_THINKING_STRUCT->funcResult = BATTLE_HISTORY->abilities[index]; + AI_THINKING_STRUCT->funcResult = BATTLE_HISTORY->abilities[bank]; gAIScriptPtr += 2; return; } // abilities that prevent fleeing. - if (gBattleMons[index].ability == ABILITY_SHADOW_TAG - || gBattleMons[index].ability == ABILITY_MAGNET_PULL - || gBattleMons[index].ability == ABILITY_ARENA_TRAP) + if (gBattleMons[bank].ability == ABILITY_SHADOW_TAG + || gBattleMons[bank].ability == ABILITY_MAGNET_PULL + || gBattleMons[bank].ability == ABILITY_ARENA_TRAP) { - AI_THINKING_STRUCT->funcResult = gBattleMons[index].ability; + AI_THINKING_STRUCT->funcResult = gBattleMons[bank].ability; gAIScriptPtr += 2; return; } - if (gBaseStats[gBattleMons[index].species].ability1 != ABILITY_NONE) + if (gBaseStats[gBattleMons[bank].species].ability1 != ABILITY_NONE) { - if (gBaseStats[gBattleMons[index].species].ability2 != ABILITY_NONE) + if (gBaseStats[gBattleMons[bank].species].ability2 != ABILITY_NONE) { // AI has no knowledge of opponent, so it guesses which ability. if (Random() & 1) { - AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[index].species].ability1; + AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[bank].species].ability1; } else { - AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[index].species].ability2; + AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[bank].species].ability2; } } else { - AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[index].species].ability1; // it's definitely ability 1. + AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[bank].species].ability1; // it's definitely ability 1. } } else { - AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[index].species].ability2; // AI cant actually reach this part since every mon has at least 1 ability. + AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[bank].species].ability2; // AI cant actually reach this part since every mon has at least 1 ability. } } else { // The AI knows its own ability. - AI_THINKING_STRUCT->funcResult = gBattleMons[index].ability; + AI_THINKING_STRUCT->funcResult = gBattleMons[bank].ability; } gAIScriptPtr += 2; } @@ -1488,31 +1464,31 @@ static void BattleAICmd_get_highest_type_effectiveness(void) dynamicMoveType = &gBattleStruct->dynamicMoveType; *dynamicMoveType = 0; gBattleScripting.dmgMultiplier = 1; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gCritMultiplier = 1; AI_THINKING_STRUCT->funcResult = 0; for (i = 0; i < 4; i++) { - gBattleMoveDamage = 40; - gCurrentMove = gBattleMons[sBank_AI].moves[i]; + gBattleMoveDamage = AI_EFFECTIVENESS_x1; + gCurrentMove = gBattleMons[sBattler_AI].moves[i]; if (gCurrentMove) { - TypeCalc(gCurrentMove, sBank_AI, gBankTarget); + TypeCalc(gCurrentMove, sBattler_AI, gBattlerTarget); // reduce by 1/3. if (gBattleMoveDamage == 120) - gBattleMoveDamage = 80; + gBattleMoveDamage = AI_EFFECTIVENESS_x2; if (gBattleMoveDamage == 240) - gBattleMoveDamage = 160; + gBattleMoveDamage = AI_EFFECTIVENESS_x4; if (gBattleMoveDamage == 30) - gBattleMoveDamage = 20; + gBattleMoveDamage = AI_EFFECTIVENESS_x0_5; if (gBattleMoveDamage == 15) - gBattleMoveDamage = 10; + gBattleMoveDamage = AI_EFFECTIVENESS_x0_25; - if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED) - gBattleMoveDamage = 0; + if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) + gBattleMoveDamage = AI_EFFECTIVENESS_x0; if (AI_THINKING_STRUCT->funcResult < gBattleMoveDamage) AI_THINKING_STRUCT->funcResult = gBattleMoveDamage; @@ -1528,25 +1504,25 @@ static void BattleAICmd_if_type_effectiveness(void) gDynamicBasePower = 0; gBattleStruct->dynamicMoveType = 0; gBattleScripting.dmgMultiplier = 1; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gCritMultiplier = 1; - gBattleMoveDamage = 40; + gBattleMoveDamage = AI_EFFECTIVENESS_x1; gCurrentMove = AI_THINKING_STRUCT->moveConsidered; - TypeCalc(gCurrentMove, sBank_AI, gBankTarget); + TypeCalc(gCurrentMove, sBattler_AI, gBattlerTarget); if (gBattleMoveDamage == 120) - gBattleMoveDamage = 80; + gBattleMoveDamage = AI_EFFECTIVENESS_x2; if (gBattleMoveDamage == 240) - gBattleMoveDamage = 160; + gBattleMoveDamage = AI_EFFECTIVENESS_x4; if (gBattleMoveDamage == 30) - gBattleMoveDamage = 20; + gBattleMoveDamage = AI_EFFECTIVENESS_x0_5; if (gBattleMoveDamage == 15) - gBattleMoveDamage = 10; + gBattleMoveDamage = AI_EFFECTIVENESS_x0_25; - if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED) - gBattleMoveDamage = 0; + if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) + gBattleMoveDamage = AI_EFFECTIVENESS_x0; // store gBattleMoveDamage in a u8 variable because gAIScriptPtr[1] is a u8. damageVar = gBattleMoveDamage; @@ -1570,23 +1546,23 @@ static void BattleAICmd_if_status_in_party(void) struct Pokemon *party; int i; u32 statusToCompareTo; - u8 index; + u8 bank; switch(gAIScriptPtr[1]) { case AI_USER: - index = sBank_AI; + bank = sBattler_AI; break; default: - index = gBankTarget; + bank = gBattlerTarget; break; } - party = (GetBankSide(index) == 0) ? gPlayerParty : gEnemyParty; + party = (GetBattlerSide(bank) == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; statusToCompareTo = AIScriptRead32(gAIScriptPtr + 2); - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { u16 species = GetMonData(&party[i], MON_DATA_SPECIES); u16 hp = GetMonData(&party[i], MON_DATA_HP); @@ -1607,23 +1583,23 @@ static void BattleAICmd_if_status_not_in_party(void) struct Pokemon *party; int i; u32 statusToCompareTo; - u8 index; + u8 bank; switch(gAIScriptPtr[1]) { case 1: - index = sBank_AI; + bank = sBattler_AI; break; default: - index = gBankTarget; + bank = gBattlerTarget; break; } - party = (GetBankSide(index) == 0) ? gPlayerParty : gEnemyParty; + party = (GetBattlerSide(bank) == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; statusToCompareTo = AIScriptRead32(gAIScriptPtr + 2); - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { u16 species = GetMonData(&party[i], MON_DATA_SPECIES); u16 hp = GetMonData(&party[i], MON_DATA_HP); @@ -1641,13 +1617,13 @@ static void BattleAICmd_if_status_not_in_party(void) static void BattleAICmd_get_weather(void) { if (gBattleWeather & WEATHER_RAIN_ANY) - AI_THINKING_STRUCT->funcResult = 1; + AI_THINKING_STRUCT->funcResult = AI_WEATHER_RAIN; if (gBattleWeather & WEATHER_SANDSTORM_ANY) - AI_THINKING_STRUCT->funcResult = 2; + AI_THINKING_STRUCT->funcResult = AI_WEATHER_SANDSTORM; if (gBattleWeather & WEATHER_SUN_ANY) - AI_THINKING_STRUCT->funcResult = 0; + AI_THINKING_STRUCT->funcResult = AI_WEATHER_SUN; if (gBattleWeather & WEATHER_HAIL_ANY) - AI_THINKING_STRUCT->funcResult = 3; + AI_THINKING_STRUCT->funcResult = AI_WEATHER_HAIL; gAIScriptPtr += 1; } @@ -1673,9 +1649,9 @@ static void BattleAICmd_if_stat_level_less_than(void) u32 bank; if (gAIScriptPtr[1] == AI_USER) - bank = sBank_AI; + bank = sBattler_AI; else - bank = gBankTarget; + bank = gBattlerTarget; if (gBattleMons[bank].statStages[gAIScriptPtr[2]] < gAIScriptPtr[3]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); @@ -1688,9 +1664,9 @@ static void BattleAICmd_if_stat_level_more_than(void) u32 bank; if (gAIScriptPtr[1] == AI_USER) - bank = sBank_AI; + bank = sBattler_AI; else - bank = gBankTarget; + bank = gBattlerTarget; if (gBattleMons[bank].statStages[gAIScriptPtr[2]] > gAIScriptPtr[3]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); @@ -1703,9 +1679,9 @@ static void BattleAICmd_if_stat_level_equal(void) u32 bank; if (gAIScriptPtr[1] == AI_USER) - bank = sBank_AI; + bank = sBattler_AI; else - bank = gBankTarget; + bank = gBattlerTarget; if (gBattleMons[bank].statStages[gAIScriptPtr[2]] == gAIScriptPtr[3]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); @@ -1718,9 +1694,9 @@ static void BattleAICmd_if_stat_level_not_equal(void) u32 bank; if (gAIScriptPtr[1] == AI_USER) - bank = sBank_AI; + bank = sBattler_AI; else - bank = gBankTarget; + bank = gBattlerTarget; if (gBattleMons[bank].statStages[gAIScriptPtr[2]] != gAIScriptPtr[3]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); @@ -1739,11 +1715,11 @@ static void BattleAICmd_if_can_faint(void) gDynamicBasePower = 0; gBattleStruct->dynamicMoveType = 0; gBattleScripting.dmgMultiplier = 1; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gCritMultiplier = 1; gCurrentMove = AI_THINKING_STRUCT->moveConsidered; - AI_CalcDmg(sBank_AI, gBankTarget); - TypeCalc(gCurrentMove, sBank_AI, gBankTarget); + AI_CalcDmg(sBattler_AI, gBattlerTarget); + TypeCalc(gCurrentMove, sBattler_AI, gBattlerTarget); gBattleMoveDamage = gBattleMoveDamage * AI_THINKING_STRUCT->simulatedRNG[AI_THINKING_STRUCT->movesetIndex] / 100; @@ -1751,7 +1727,7 @@ static void BattleAICmd_if_can_faint(void) if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if (gBattleMons[gBankTarget].hp <= gBattleMoveDamage) + if (gBattleMons[gBattlerTarget].hp <= gBattleMoveDamage) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1768,17 +1744,17 @@ static void BattleAICmd_if_cant_faint(void) gDynamicBasePower = 0; gBattleStruct->dynamicMoveType = 0; gBattleScripting.dmgMultiplier = 1; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gCritMultiplier = 1; gCurrentMove = AI_THINKING_STRUCT->moveConsidered; - AI_CalcDmg(sBank_AI, gBankTarget); - TypeCalc(gCurrentMove, sBank_AI, gBankTarget); + AI_CalcDmg(sBattler_AI, gBattlerTarget); + TypeCalc(gCurrentMove, sBattler_AI, gBattlerTarget); gBattleMoveDamage = gBattleMoveDamage * AI_THINKING_STRUCT->simulatedRNG[AI_THINKING_STRUCT->movesetIndex] / 100; // this macro is missing the damage 0 = 1 assumption. - if (gBattleMons[gBankTarget].hp > gBattleMoveDamage) + if (gBattleMons[gBattlerTarget].hp > gBattleMoveDamage) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -1787,14 +1763,14 @@ static void BattleAICmd_if_cant_faint(void) static void BattleAICmd_if_has_move(void) { int i; - const u16 *temp_ptr = (u16 *)(gAIScriptPtr + 2); + const u16 *movePtr = (u16 *)(gAIScriptPtr + 2); - switch(gAIScriptPtr[1]) + switch (gAIScriptPtr[1]) { case AI_USER: for (i = 0; i < 4; i++) { - if (gBattleMons[sBank_AI].moves[i] == *temp_ptr) + if (gBattleMons[sBattler_AI].moves[i] == *movePtr) break; } if (i == 4) @@ -1808,7 +1784,7 @@ static void BattleAICmd_if_has_move(void) return; } case AI_USER_PARTNER: - if (gBattleMons[sBank_AI ^ 2].hp == 0) + if (gBattleMons[sBattler_AI ^ BIT_FLANK].hp == 0) { gAIScriptPtr += 8; return; @@ -1817,7 +1793,7 @@ static void BattleAICmd_if_has_move(void) { for (i = 0; i < 4; i++) { - if (gBattleMons[sBank_AI ^ 2].moves[i] == *temp_ptr) + if (gBattleMons[sBattler_AI ^ BIT_FLANK].moves[i] == *movePtr) break; } } @@ -1835,7 +1811,7 @@ static void BattleAICmd_if_has_move(void) case AI_TARGET_PARTNER: for (i = 0; i < 4; i++) { - if (BATTLE_HISTORY->usedMoves[gBankTarget].moves[i] == *temp_ptr) + if (BATTLE_HISTORY->usedMoves[gBattlerTarget].moves[i] == *movePtr) break; } if (i == 4) @@ -1851,10 +1827,10 @@ static void BattleAICmd_if_has_move(void) } } -static void BattleAICmd_if_dont_have_move(void) +static void BattleAICmd_if_doesnt_have_move(void) { int i; - const u16 *temp_ptr = (u16 *)(gAIScriptPtr + 2); + const u16 *movePtr = (u16 *)(gAIScriptPtr + 2); switch(gAIScriptPtr[1]) { @@ -1862,7 +1838,7 @@ static void BattleAICmd_if_dont_have_move(void) case AI_USER_PARTNER: // UB: no separate check for user partner for (i = 0; i < 4; i++) { - if (gBattleMons[sBank_AI].moves[i] == *temp_ptr) + if (gBattleMons[sBattler_AI].moves[i] == *movePtr) break; } if (i != 4) @@ -1879,7 +1855,7 @@ static void BattleAICmd_if_dont_have_move(void) case AI_TARGET_PARTNER: for (i = 0; i < 4; i++) { - if (BATTLE_HISTORY->usedMoves[gBankTarget].moves[i] == *temp_ptr) + if (BATTLE_HISTORY->usedMoves[gBattlerTarget].moves[i] == *movePtr) break; } if (i != 4) @@ -1895,7 +1871,7 @@ static void BattleAICmd_if_dont_have_move(void) } } -static void BattleAICmd_if_move_effect(void) +static void BattleAICmd_if_has_move_with_effect(void) { int i; @@ -1905,7 +1881,7 @@ static void BattleAICmd_if_move_effect(void) case AI_USER_PARTNER: for (i = 0; i < 4; i++) { - if(gBattleMons[sBank_AI].moves[i] != 0 && gBattleMoves[gBattleMons[sBank_AI].moves[i]].effect == gAIScriptPtr[2]) + if (gBattleMons[sBattler_AI].moves[i] != 0 && gBattleMoves[gBattleMons[sBattler_AI].moves[i]].effect == gAIScriptPtr[2]) break; } if (i == 4) @@ -1917,7 +1893,8 @@ static void BattleAICmd_if_move_effect(void) case AI_TARGET_PARTNER: for (i = 0; i < 4; i++) { - if (gBattleMons[sBank_AI].moves[i] != 0 && gBattleMoves[BATTLE_HISTORY->usedMoves[gBankTarget].moves[i]].effect == gAIScriptPtr[2]) + // UB: checks sBattler_AI instead of gBattlerTarget + if (gBattleMons[sBattler_AI].moves[i] != 0 && gBattleMoves[BATTLE_HISTORY->usedMoves[gBattlerTarget].moves[i]].effect == gAIScriptPtr[2]) break; } if (i == 4) @@ -1928,7 +1905,7 @@ static void BattleAICmd_if_move_effect(void) } } -static void BattleAICmd_if_not_move_effect(void) +static void BattleAICmd_if_doesnt_have_move_with_effect(void) { int i; @@ -1938,7 +1915,7 @@ static void BattleAICmd_if_not_move_effect(void) case AI_USER_PARTNER: for (i = 0; i < 4; i++) { - if(gBattleMons[sBank_AI].moves[i] != 0 && gBattleMoves[gBattleMons[sBank_AI].moves[i]].effect == gAIScriptPtr[2]) + if(gBattleMons[sBattler_AI].moves[i] != 0 && gBattleMoves[gBattleMons[sBattler_AI].moves[i]].effect == gAIScriptPtr[2]) break; } if (i != 4) @@ -1950,7 +1927,7 @@ static void BattleAICmd_if_not_move_effect(void) case AI_TARGET_PARTNER: for (i = 0; i < 4; i++) { - if (BATTLE_HISTORY->usedMoves[gBankTarget].moves[i] && gBattleMoves[BATTLE_HISTORY->usedMoves[gBankTarget].moves[i]].effect == gAIScriptPtr[2]) + if (BATTLE_HISTORY->usedMoves[gBattlerTarget].moves[i] && gBattleMoves[BATTLE_HISTORY->usedMoves[gBattlerTarget].moves[i]].effect == gAIScriptPtr[2]) break; } if (i != 4) @@ -1966,9 +1943,9 @@ static void BattleAICmd_if_any_move_disabled_or_encored(void) u8 bank; if (gAIScriptPtr[1] == AI_USER) - bank = sBank_AI; + bank = sBattler_AI; else - bank = gBankTarget; + bank = gBattlerTarget; if (gAIScriptPtr[2] == 0) { @@ -1998,7 +1975,7 @@ static void BattleAICmd_if_curr_move_disabled_or_encored(void) switch (gAIScriptPtr[1]) { case 0: - if (gDisableStructs[gActiveBank].disabledMove == AI_THINKING_STRUCT->moveConsidered) + if (gDisableStructs[gActiveBattler].disabledMove == AI_THINKING_STRUCT->moveConsidered) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); return; @@ -2006,7 +1983,7 @@ static void BattleAICmd_if_curr_move_disabled_or_encored(void) gAIScriptPtr += 6; return; case 1: - if (gDisableStructs[gActiveBank].encoredMove == AI_THINKING_STRUCT->moveConsidered) + if (gDisableStructs[gActiveBattler].encoredMove == AI_THINKING_STRUCT->moveConsidered) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); return; @@ -2024,7 +2001,7 @@ static void BattleAICmd_flee(void) AI_THINKING_STRUCT->aiAction |= (AI_ACTION_DONE | AI_ACTION_FLEE | AI_ACTION_DO_NOT_ATTACK); } -static void BattleAICmd_if_random_100(void) +static void BattleAICmd_if_random_safari_flee(void) { u8 safariFleeRate = gBattleStruct->field_7B * 5; // safari flee rate, from 0-20 @@ -2042,17 +2019,14 @@ static void BattleAICmd_watch(void) static void BattleAICmd_get_hold_effect(void) { u8 bank; - u16 status; if (gAIScriptPtr[1] == AI_USER) - bank = sBank_AI; + bank = sBattler_AI; else - bank = gBankTarget; + bank = gBattlerTarget; - if (gActiveBank != bank) - { + if (gActiveBattler != bank) AI_THINKING_STRUCT->funcResult = ItemId_GetHoldEffect(BATTLE_HISTORY->itemEffects[bank]); - } else AI_THINKING_STRUCT->funcResult = ItemId_GetHoldEffect(gBattleMons[bank].item); @@ -2065,7 +2039,7 @@ static void BattleAICmd_if_holds_item(void) u16 item; u8 var1, var2; - if ((bank & BIT_SIDE) == (sBank_AI & BIT_SIDE)) + if ((bank & BIT_SIDE) == (sBattler_AI & BIT_SIDE)) item = gBattleMons[bank].item; else item = BATTLE_HISTORY->itemEffects[bank]; @@ -2085,23 +2059,23 @@ static void BattleAICmd_get_gender(void) u8 bank; if (gAIScriptPtr[1] == AI_USER) - bank = sBank_AI; + bank = sBattler_AI; else - bank = gBankTarget; + bank = gBattlerTarget; AI_THINKING_STRUCT->funcResult = GetGenderFromSpeciesAndPersonality(gBattleMons[bank].species, gBattleMons[bank].personality); gAIScriptPtr += 2; } -static void BattleAICmd_is_first_turn(void) +static void BattleAICmd_is_first_turn_for(void) { u8 bank; if (gAIScriptPtr[1] == AI_USER) - bank = sBank_AI; + bank = sBattler_AI; else - bank = gBankTarget; + bank = gBattlerTarget; AI_THINKING_STRUCT->funcResult = gDisableStructs[bank].isFirstTurn; @@ -2113,9 +2087,9 @@ static void BattleAICmd_get_stockpile_count(void) u8 bank; if (gAIScriptPtr[1] == AI_USER) - bank = sBank_AI; + bank = sBattler_AI; else - bank = gBankTarget; + bank = gBattlerTarget; AI_THINKING_STRUCT->funcResult = gDisableStructs[bank].stockpileCounter; @@ -2134,9 +2108,9 @@ static void BattleAICmd_get_used_held_item(void) u8 bank; if (gAIScriptPtr[1] == AI_USER) - bank = sBank_AI; + bank = sBattler_AI; else - bank = gBankTarget; + bank = gBattlerTarget; // This is likely a leftover from Ruby's code and its ugly ewram access #ifdef NONMATCHING @@ -2174,9 +2148,9 @@ static void BattleAICmd_get_protect_count(void) u8 bank; if (gAIScriptPtr[1] == AI_USER) - bank = sBank_AI; + bank = sBattler_AI; else - bank = gBankTarget; + bank = gBattlerTarget; AI_THINKING_STRUCT->funcResult = gDisableStructs[bank].protectUses; @@ -2213,7 +2187,7 @@ static void BattleAICmd_call(void) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); } -static void BattleAICmd_jump(void) +static void BattleAICmd_goto(void) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); } @@ -2229,7 +2203,7 @@ static void BattleAICmd_if_level_cond(void) switch (gAIScriptPtr[1]) { case 0: // greater than - if (gBattleMons[sBank_AI].level > gBattleMons[gBankTarget].level) + if (gBattleMons[sBattler_AI].level > gBattleMons[gBattlerTarget].level) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); return; @@ -2237,7 +2211,7 @@ static void BattleAICmd_if_level_cond(void) gAIScriptPtr += 6; return; case 1: // less than - if (gBattleMons[sBank_AI].level < gBattleMons[gBankTarget].level) + if (gBattleMons[sBattler_AI].level < gBattleMons[gBattlerTarget].level) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); return; @@ -2245,7 +2219,7 @@ static void BattleAICmd_if_level_cond(void) gAIScriptPtr += 6; return; case 2: // equal - if (gBattleMons[sBank_AI].level == gBattleMons[gBankTarget].level) + if (gBattleMons[sBattler_AI].level == gBattleMons[gBattlerTarget].level) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); return; @@ -2257,7 +2231,7 @@ static void BattleAICmd_if_level_cond(void) static void BattleAICmd_if_target_taunted(void) { - if (gDisableStructs[gBankTarget].tauntTimer1 != 0) + if (gDisableStructs[gBattlerTarget].tauntTimer1 != 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -2265,7 +2239,7 @@ static void BattleAICmd_if_target_taunted(void) static void BattleAICmd_if_target_not_taunted(void) { - if (gDisableStructs[gBankTarget].tauntTimer1 == 0) + if (gDisableStructs[gBattlerTarget].tauntTimer1 == 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -2273,7 +2247,7 @@ static void BattleAICmd_if_target_not_taunted(void) static void BattleAICmd_if_target_is_ally(void) { - if((sBank_AI & 1) == (gBankTarget & 1)) + if ((sBattler_AI & BIT_SIDE) == (gBattlerTarget & BIT_SIDE)) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); else gAIScriptPtr += 5; @@ -2281,9 +2255,9 @@ static void BattleAICmd_if_target_is_ally(void) static void BattleAICmd_if_flash_fired(void) { - u8 index = BattleAI_GetWantedBank(gAIScriptPtr[1]); + u8 bank = BattleAI_GetWantedBank(gAIScriptPtr[1]); - if(gBattleResources->flags->flags[index] & UNKNOWN_FLAG_FLASH_FIRE) + if (gBattleResources->flags->flags[bank] & UNKNOWN_FLAG_FLASH_FIRE) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index a57df85fbf..b0fcc2e294 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -1,30 +1,16 @@ #include "global.h" #include "battle.h" #include "battle_controllers.h" -#include "abilities.h" -#include "moves.h" +#include "constants/abilities.h" +#include "constants/moves.h" #include "pokemon.h" -#include "species.h" -#include "rng.h" +#include "constants/species.h" +#include "random.h" #include "util.h" -#include "items.h" +#include "constants/items.h" #include "pokemon_item_effects.h" -extern u8 gActiveBank; -extern u8 gAbsentBankFlags; -extern u32 gBattleTypeFlags; -extern u32 gStatuses3[BATTLE_BANKS_COUNT]; -extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; -extern u16 gUnknown_02024250[BATTLE_BANKS_COUNT]; -extern u8 gUnknown_02024270[BATTLE_BANKS_COUNT]; -extern u16 gDynamicBasePower; -extern u8 gBattleMoveFlags; -extern u8 gCritMultiplier; -extern s32 gBattleMoveDamage; - extern const struct BattleMove gBattleMoves[]; -extern const struct BaseStats gBaseStats[]; extern const u8 gTypeEffectiveness[]; extern const u8 * const gItemEffectTable[]; // todo: fix once struct is declared @@ -35,11 +21,11 @@ static bool8 ShouldUseItem(void); static bool8 ShouldSwitchIfPerishSong(void) { - if (gStatuses3[gActiveBank] & STATUS3_PERISH_SONG - && gDisableStructs[gActiveBank].perishSong1 == 0) + if (gStatuses3[gActiveBattler] & STATUS3_PERISH_SONG + && gDisableStructs[gActiveBattler].perishSongTimer1 == 0) { - *(gBattleStruct->field_294 + gActiveBank) = 6; - EmitTwoReturnValues(1, ACTION_SWITCH, 0); + *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = 6; + BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0); return TRUE; } @@ -48,7 +34,7 @@ static bool8 ShouldSwitchIfPerishSong(void) static bool8 ShouldSwitchIfWonderGuard(void) { - u8 opposingIdentity; + u8 opposingPosition; u8 opposingBank; u8 moveFlags; s32 i, j; @@ -60,27 +46,27 @@ static bool8 ShouldSwitchIfWonderGuard(void) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) return FALSE; - opposingIdentity = GetBankIdentity(gActiveBank) ^ BIT_SIDE; + opposingPosition = BATTLE_OPPOSITE(GetBattlerPosition(gActiveBattler)); - if (gBattleMons[GetBankByIdentity(opposingIdentity)].ability != ABILITY_WONDER_GUARD) + if (gBattleMons[GetBattlerAtPosition(opposingPosition)].ability != ABILITY_WONDER_GUARD) return FALSE; // check if pokemon has a super effective move - for (opposingBank = GetBankByIdentity(opposingIdentity), i = 0; i < 4; i++) + for (opposingBank = GetBattlerAtPosition(opposingPosition), i = 0; i < 4; i++) { - move = gBattleMons[gActiveBank].moves[i]; + move = gBattleMons[gActiveBattler].moves[i]; if (move == MOVE_NONE) continue; moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); - if (moveFlags & MOVESTATUS_SUPEREFFECTIVE) + if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE) return FALSE; } // get party information if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_x800000)) { - if ((gActiveBank & BIT_MON) == 0) + if ((gActiveBattler & BIT_FLANK) == 0) firstId = 0, lastId = 3; else firstId = 3, lastId = 6; @@ -90,7 +76,7 @@ static bool8 ShouldSwitchIfWonderGuard(void) firstId = 0, lastId = 6; } - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; @@ -104,24 +90,24 @@ static bool8 ShouldSwitchIfWonderGuard(void) continue; if (GetMonData(&party[i], MON_DATA_SPECIES2) == SPECIES_EGG) continue; - if (i == gBattlePartyID[gActiveBank]) + if (i == gBattlerPartyIndexes[gActiveBattler]) continue; GetMonData(&party[i], MON_DATA_SPECIES); // unused return value GetMonData(&party[i], MON_DATA_ALT_ABILITY); // unused return value - for (opposingBank = GetBankByIdentity(opposingIdentity), j = 0; j < 4; j++) + for (opposingBank = GetBattlerAtPosition(opposingPosition), j = 0; j < 4; j++) { move = GetMonData(&party[i], MON_DATA_MOVE1 + j); if (move == MOVE_NONE) continue; moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); - if (moveFlags & MOVESTATUS_SUPEREFFECTIVE && Random() % 3 < 2) + if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && Random() % 3 < 2) { // we found a mon - *(gBattleStruct->field_294 + gActiveBank) = i; - EmitTwoReturnValues(1, ACTION_SWITCH, 0); + *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; + BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0); return TRUE; } } @@ -141,42 +127,42 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) if (HasSuperEffectiveMoveAgainstOpponents(TRUE) && Random() % 3 != 0) return FALSE; - if (gUnknown_02024250[gActiveBank] == 0) + if (gLastLandedMoves[gActiveBattler] == 0) return FALSE; - if (gUnknown_02024250[gActiveBank] == 0xFFFF) + if (gLastLandedMoves[gActiveBattler] == 0xFFFF) return FALSE; - if (gBattleMoves[gUnknown_02024250[gActiveBank]].power == 0) + if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0) return FALSE; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - bankIn1 = gActiveBank; - if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)]) - bankIn2 = gActiveBank; + bankIn1 = gActiveBattler; + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))]) + bankIn2 = gActiveBattler; else - bankIn2 = GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON); + bankIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); } else { - bankIn1 = gActiveBank; - bankIn2 = gActiveBank; + bankIn1 = gActiveBattler; + bankIn2 = gActiveBattler; } - if (gBattleMoves[gUnknown_02024250[gActiveBank]].type == TYPE_FIRE) + if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_FIRE) absorbingTypeAbility = ABILITY_FLASH_FIRE; - else if (gBattleMoves[gUnknown_02024250[gActiveBank]].type == TYPE_WATER) + else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_WATER) absorbingTypeAbility = ABILITY_WATER_ABSORB; - else if (gBattleMoves[gUnknown_02024250[gActiveBank]].type == TYPE_ELECTRIC) + else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_ELECTRIC) absorbingTypeAbility = ABILITY_VOLT_ABSORB; else return FALSE; - if (gBattleMons[gActiveBank].ability == absorbingTypeAbility) + if (gBattleMons[gActiveBattler].ability == absorbingTypeAbility) return FALSE; if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_x800000)) { - if ((gActiveBank & BIT_MON) == 0) + if ((gActiveBattler & BIT_FLANK) == 0) firstId = 0, lastId = 3; else firstId = 3, lastId = 6; @@ -186,7 +172,7 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) firstId = 0, lastId = 6; } - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; @@ -202,13 +188,13 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) continue; if (GetMonData(&party[i], MON_DATA_SPECIES2) == SPECIES_EGG) continue; - if (i == gBattlePartyID[bankIn1]) + if (i == gBattlerPartyIndexes[bankIn1]) continue; - if (i == gBattlePartyID[bankIn2]) + if (i == gBattlerPartyIndexes[bankIn2]) continue; - if (i == *(gBattleStruct->field_5C + bankIn1)) + if (i == *(gBattleStruct->monToSwitchIntoId + bankIn1)) continue; - if (i == *(gBattleStruct->field_5C + bankIn2)) + if (i == *(gBattleStruct->monToSwitchIntoId + bankIn2)) continue; species = GetMonData(&party[i], MON_DATA_SPECIES); @@ -220,8 +206,8 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) if (absorbingTypeAbility == monAbility && Random() & 1) { // we found a mon - *(gBattleStruct->field_294 + gActiveBank) = i; - EmitTwoReturnValues(1, ACTION_SWITCH, 0); + *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; + BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0); return TRUE; } } @@ -231,34 +217,34 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) static bool8 ShouldSwitchIfNaturalCure(void) { - if (!(gBattleMons[gActiveBank].status1 & STATUS_SLEEP)) + if (!(gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP)) return FALSE; - if (gBattleMons[gActiveBank].ability != ABILITY_NATURAL_CURE) + if (gBattleMons[gActiveBattler].ability != ABILITY_NATURAL_CURE) return FALSE; - if (gBattleMons[gActiveBank].hp < gBattleMons[gActiveBank].maxHP / 2) + if (gBattleMons[gActiveBattler].hp < gBattleMons[gActiveBattler].maxHP / 2) return FALSE; - if ((gUnknown_02024250[gActiveBank] == 0 || gUnknown_02024250[gActiveBank] == 0xFFFF) && Random() & 1) + if ((gLastLandedMoves[gActiveBattler] == 0 || gLastLandedMoves[gActiveBattler] == 0xFFFF) && Random() & 1) { - *(gBattleStruct->field_294 + gActiveBank) = 6; - EmitTwoReturnValues(1, ACTION_SWITCH, 0); + *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = 6; + BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0); return TRUE; } - else if (gBattleMoves[gUnknown_02024250[gActiveBank]].power == 0 && Random() & 1) + else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0 && Random() & 1) { - *(gBattleStruct->field_294 + gActiveBank) = 6; - EmitTwoReturnValues(1, ACTION_SWITCH, 0); + *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = 6; + BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0); return TRUE; } - if (FindMonWithFlagsAndSuperEffective(MOVESTATUS_NOTAFFECTED, 1)) + if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_DOESNT_AFFECT_FOE, 1)) return TRUE; - if (FindMonWithFlagsAndSuperEffective(MOVESTATUS_NOTVERYEFFECTIVE, 1)) + if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_NOT_VERY_EFFECTIVE, 1)) return TRUE; if (Random() & 1) { - *(gBattleStruct->field_294 + gActiveBank) = 6; - EmitTwoReturnValues(1, ACTION_SWITCH, 0); + *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = 6; + BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0); return TRUE; } @@ -267,25 +253,25 @@ static bool8 ShouldSwitchIfNaturalCure(void) static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng) { - u8 opposingIdentity; + u8 opposingPosition; u8 opposingBank; s32 i; u8 moveFlags; u16 move; - opposingIdentity = GetBankIdentity(gActiveBank) ^ BIT_SIDE; - opposingBank = GetBankByIdentity(opposingIdentity); + opposingPosition = BATTLE_OPPOSITE(GetBattlerPosition(gActiveBattler)); + opposingBank = GetBattlerAtPosition(opposingPosition); - if (!(gAbsentBankFlags & gBitTable[opposingBank])) + if (!(gAbsentBattlerFlags & gBitTable[opposingBank])) { for (i = 0; i < 4; i++) { - move = gBattleMons[gActiveBank].moves[i]; + move = gBattleMons[gActiveBattler].moves[i]; if (move == MOVE_NONE) continue; moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); - if (moveFlags & MOVESTATUS_SUPEREFFECTIVE) + if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE) { if (noRng) return TRUE; @@ -297,18 +283,18 @@ static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng) if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) return FALSE; - opposingBank = GetBankByIdentity(opposingIdentity ^ BIT_MON); + opposingBank = GetBattlerAtPosition(BATTLE_PARTNER(opposingPosition)); - if (!(gAbsentBankFlags & gBitTable[opposingBank])) + if (!(gAbsentBattlerFlags & gBitTable[opposingBank])) { for (i = 0; i < 4; i++) { - move = gBattleMons[gActiveBank].moves[i]; + move = gBattleMons[gActiveBattler].moves[i]; if (move == MOVE_NONE) continue; moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); - if (moveFlags & MOVESTATUS_SUPEREFFECTIVE) + if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE) { if (noRng) return TRUE; @@ -328,8 +314,8 @@ static bool8 AreStatsRaised(void) for (i = 0; i < BATTLE_STATS_NO; i++) { - if (gBattleMons[gActiveBank].statStages[i] > 6) - buffedStatsValue += gBattleMons[gActiveBank].statStages[i] - 6; + if (gBattleMons[gActiveBattler].statStages[i] > 6) + buffedStatsValue += gBattleMons[gActiveBattler].statStages[i] - 6; } return (buffedStatsValue > 3); @@ -345,32 +331,32 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) u16 move; u8 moveFlags; - if (gUnknown_02024250[gActiveBank] == 0) + if (gLastLandedMoves[gActiveBattler] == 0) return FALSE; - if (gUnknown_02024250[gActiveBank] == 0xFFFF) + if (gLastLandedMoves[gActiveBattler] == 0xFFFF) return FALSE; - if (gUnknown_02024270[gActiveBank] == 0xFF) + if (gLastHitBy[gActiveBattler] == 0xFF) return FALSE; - if (gBattleMoves[gUnknown_02024250[gActiveBank]].power == 0) + if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0) return FALSE; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - bankIn1 = gActiveBank; - if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)]) - bankIn2 = gActiveBank; + bankIn1 = gActiveBattler; + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))]) + bankIn2 = gActiveBattler; else - bankIn2 = GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON); + bankIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); } else { - bankIn1 = gActiveBank; - bankIn2 = gActiveBank; + bankIn1 = gActiveBattler; + bankIn2 = gActiveBattler; } if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_x800000)) { - if ((gActiveBank & BIT_MON) == 0) + if ((gActiveBattler & BIT_FLANK) == 0) firstId = 0, lastId = 3; else firstId = 3, lastId = 6; @@ -380,7 +366,7 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) firstId = 0, lastId = 6; } - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; @@ -396,13 +382,13 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) continue; if (GetMonData(&party[i], MON_DATA_SPECIES2) == SPECIES_EGG) continue; - if (i == gBattlePartyID[bankIn1]) + if (i == gBattlerPartyIndexes[bankIn1]) continue; - if (i == gBattlePartyID[bankIn2]) + if (i == gBattlerPartyIndexes[bankIn2]) continue; - if (i == *(gBattleStruct->field_5C + bankIn1)) + if (i == *(gBattleStruct->monToSwitchIntoId + bankIn1)) continue; - if (i == *(gBattleStruct->field_5C + bankIn2)) + if (i == *(gBattleStruct->monToSwitchIntoId + bankIn2)) continue; species = GetMonData(&party[i], MON_DATA_SPECIES); @@ -411,10 +397,10 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) else monAbility = gBaseStats[species].ability1; - moveFlags = AI_TypeCalc(gUnknown_02024250[gActiveBank], species, monAbility); + moveFlags = AI_TypeCalc(gLastLandedMoves[gActiveBattler], species, monAbility); if (moveFlags & flags) { - bankIn1 = gUnknown_02024270[gActiveBank]; + bankIn1 = gLastHitBy[gActiveBattler]; for (j = 0; j < 4; j++) { @@ -423,10 +409,10 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) continue; moveFlags = AI_TypeCalc(move, gBattleMons[bankIn1].species, gBattleMons[bankIn1].ability); - if (moveFlags & MOVESTATUS_SUPEREFFECTIVE && Random() % moduloPercent == 0) + if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && Random() % moduloPercent == 0) { - *(gBattleStruct->field_294 + gActiveBank) = i; - EmitTwoReturnValues(1, ACTION_SWITCH, 0); + *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; + BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0); return TRUE; } } @@ -446,19 +432,19 @@ static bool8 ShouldSwitch(void) s32 i; s32 availableToSwitch; - if (gBattleMons[*(activeBankPtr = &gActiveBank)].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) + if (gBattleMons[*(activeBankPtr = &gActiveBattler)].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) return FALSE; - if (gStatuses3[gActiveBank] & STATUS3_ROOTED) + if (gStatuses3[gActiveBattler] & STATUS3_ROOTED) return FALSE; - if (AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBank, ABILITY_SHADOW_TAG, 0, 0)) + if (AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBattler, ABILITY_SHADOW_TAG, 0, 0)) return FALSE; - if (AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBank, ABILITY_ARENA_TRAP, 0, 0)) + if (AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBattler, ABILITY_ARENA_TRAP, 0, 0)) return FALSE; // misses the flying or levitate check if (AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_MAGNET_PULL, 0, 0)) { - if (gBattleMons[gActiveBank].type1 == TYPE_STEEL) + if (gBattleMons[gActiveBattler].type1 == TYPE_STEEL) return FALSE; - if (gBattleMons[gActiveBank].type2 == TYPE_STEEL) + if (gBattleMons[gActiveBattler].type2 == TYPE_STEEL) return FALSE; } if (gBattleTypeFlags & BATTLE_TYPE_ARENA) @@ -468,10 +454,10 @@ static bool8 ShouldSwitch(void) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { bankIn1 = *activeBankPtr; - if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankIdentity(*activeBankPtr) ^ BIT_MON)]) + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(GetBattlerPosition(*activeBankPtr) ^ BIT_FLANK)]) bankIn2 = *activeBankPtr; else - bankIn2 = GetBankByIdentity(GetBankIdentity(*activeBankPtr) ^ BIT_MON); + bankIn2 = GetBattlerAtPosition(GetBattlerPosition(*activeBankPtr) ^ BIT_FLANK); } else { @@ -481,7 +467,7 @@ static bool8 ShouldSwitch(void) if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_x800000)) { - if ((gActiveBank & BIT_MON) == 0) + if ((gActiveBattler & BIT_FLANK) == 0) firstId = 0, lastId = 3; else firstId = 3, lastId = 6; @@ -491,7 +477,7 @@ static bool8 ShouldSwitch(void) firstId = 0, lastId = 6; } - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; @@ -504,13 +490,13 @@ static bool8 ShouldSwitch(void) continue; if (GetMonData(&party[i], MON_DATA_SPECIES2) == SPECIES_EGG) continue; - if (i == gBattlePartyID[bankIn1]) + if (i == gBattlerPartyIndexes[bankIn1]) continue; - if (i == gBattlePartyID[bankIn2]) + if (i == gBattlerPartyIndexes[bankIn2]) continue; - if (i == *(gBattleStruct->field_5C + bankIn1)) + if (i == *(gBattleStruct->monToSwitchIntoId + bankIn1)) continue; - if (i == *(gBattleStruct->field_5C + bankIn2)) + if (i == *(gBattleStruct->monToSwitchIntoId + bankIn2)) continue; availableToSwitch++; @@ -530,8 +516,8 @@ static bool8 ShouldSwitch(void) return FALSE; if (AreStatsRaised()) return FALSE; - if (FindMonWithFlagsAndSuperEffective(MOVESTATUS_NOTAFFECTED, 2) - || FindMonWithFlagsAndSuperEffective(MOVESTATUS_NOTVERYEFFECTIVE, 3)) + if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_DOESNT_AFFECT_FOE, 2) + || FindMonWithFlagsAndSuperEffective(MOVE_RESULT_NOT_VERY_EFFECTIVE, 3)) return TRUE; return FALSE; @@ -543,9 +529,9 @@ void AI_TrySwitchOrUseItem(void) u8 bankIn1, bankIn2; s32 firstId; s32 lastId; // + 1 - u8 bankIdentity = GetBankIdentity(gActiveBank); + u8 bankIdentity = GetBattlerPosition(gActiveBattler); - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; @@ -554,25 +540,25 @@ void AI_TrySwitchOrUseItem(void) { if (ShouldSwitch()) { - if (*(gBattleStruct->field_294 + gActiveBank) == 6) + if (*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) == 6) { s32 monToSwitchId = GetMostSuitableMonToSwitchInto(); if (monToSwitchId == 6) { if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - bankIn1 = GetBankByIdentity(bankIdentity); + bankIn1 = GetBattlerAtPosition(bankIdentity); bankIn2 = bankIn1; } else { - bankIn1 = GetBankByIdentity(bankIdentity); - bankIn2 = GetBankByIdentity(bankIdentity ^ BIT_MON); + bankIn1 = GetBattlerAtPosition(bankIdentity); + bankIn2 = GetBattlerAtPosition(bankIdentity ^ BIT_FLANK); } if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_x800000)) { - if ((gActiveBank & BIT_MON) == 0) + if ((gActiveBattler & BIT_FLANK) == 0) firstId = 0, lastId = 3; else firstId = 3, lastId = 6; @@ -586,23 +572,23 @@ void AI_TrySwitchOrUseItem(void) { if (GetMonData(&party[monToSwitchId], MON_DATA_HP) == 0) continue; - if (monToSwitchId == gBattlePartyID[bankIn1]) + if (monToSwitchId == gBattlerPartyIndexes[bankIn1]) continue; - if (monToSwitchId == gBattlePartyID[bankIn2]) + if (monToSwitchId == gBattlerPartyIndexes[bankIn2]) continue; - if (monToSwitchId == *(gBattleStruct->field_5C + bankIn1)) + if (monToSwitchId == *(gBattleStruct->monToSwitchIntoId + bankIn1)) continue; - if (monToSwitchId == *(gBattleStruct->field_5C + bankIn2)) + if (monToSwitchId == *(gBattleStruct->monToSwitchIntoId + bankIn2)) continue; break; } } - *(gBattleStruct->field_294 + gActiveBank) = monToSwitchId; + *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = monToSwitchId; } - *(gBattleStruct->field_5C + gActiveBank) = *(gBattleStruct->field_294 + gActiveBank); + *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler); return; } else if (ShouldUseItem()) @@ -611,31 +597,28 @@ void AI_TrySwitchOrUseItem(void) } } - EmitTwoReturnValues(1, ACTION_USE_MOVE, (gActiveBank ^ BIT_SIDE) << 8); + BtlController_EmitTwoReturnValues(1, B_ACTION_USE_MOVE, (gActiveBattler ^ BIT_SIDE) << 8); } -#define TYPE_FORESIGHT 0xFE -#define TYPE_ENDTABLE 0xFF - static void ModulateByTypeEffectiveness(u8 atkType, u8 defType1, u8 defType2, u8 *var) { s32 i = 0; - while (gTypeEffectiveness[i] != TYPE_ENDTABLE) + while (TYPE_EFFECT_ATK_TYPE(i) != TYPE_ENDTABLE) { - if (gTypeEffectiveness[i] == TYPE_FORESIGHT) + if (TYPE_EFFECT_ATK_TYPE(i) == TYPE_FORESIGHT) { i += 3; continue; } - else if (gTypeEffectiveness[i] == atkType) + else if (TYPE_EFFECT_ATK_TYPE(i) == atkType) { // check type1 - if (gTypeEffectiveness[i + 1] == defType1) - *var = (*var * gTypeEffectiveness[i + 2]) / 10; + if (TYPE_EFFECT_DEF_TYPE(i) == defType1) + *var = (*var * TYPE_EFFECT_MULTIPLIER(i)) / 10; // check type2 - if (gTypeEffectiveness[i + 1] == defType2 && defType1 != defType2) - *var = (*var * gTypeEffectiveness[i + 2]) / 10; + if (TYPE_EFFECT_DEF_TYPE(i) == defType2 && defType1 != defType2) + *var = (*var * TYPE_EFFECT_MULTIPLIER(i)) / 10; } i += 3; } @@ -654,34 +637,34 @@ u8 GetMostSuitableMonToSwitchInto(void) u8 invalidMons; u16 move; - if (*(gBattleStruct->field_5C + gActiveBank) != 6) - return *(gBattleStruct->field_5C + gActiveBank); + if (*(gBattleStruct->monToSwitchIntoId + gActiveBattler) != 6) + return *(gBattleStruct->monToSwitchIntoId + gActiveBattler); if (gBattleTypeFlags & BATTLE_TYPE_ARENA) - return gBattlePartyID[gActiveBank] + 1; + return gBattlerPartyIndexes[gActiveBattler] + 1; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - bankIn1 = gActiveBank; - if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON)]) - bankIn2 = gActiveBank; + bankIn1 = gActiveBattler; + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK)]) + bankIn2 = gActiveBattler; else - bankIn2 = GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_MON); + bankIn2 = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK); // UB: It considers the opponent only player's side even though it can battle alongside player; - opposingBank = Random() & BIT_MON; - if (gAbsentBankFlags & gBitTable[opposingBank]) - opposingBank ^= BIT_MON; + opposingBank = Random() & BIT_FLANK; + if (gAbsentBattlerFlags & gBitTable[opposingBank]) + opposingBank ^= BIT_FLANK; } else { - opposingBank = GetBankByIdentity(GetBankIdentity(gActiveBank) ^ BIT_SIDE); - bankIn1 = gActiveBank; - bankIn2 = gActiveBank; + opposingBank = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_SIDE); + bankIn1 = gActiveBattler; + bankIn2 = gActiveBattler; } if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_x800000)) { - if ((gActiveBank & BIT_MON) == 0) + if ((gActiveBattler & BIT_FLANK) == 0) firstId = 0, lastId = 3; else firstId = 3, lastId = 6; @@ -691,7 +674,7 @@ u8 GetMostSuitableMonToSwitchInto(void) firstId = 0, lastId = 6; } - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; @@ -709,10 +692,10 @@ u8 GetMostSuitableMonToSwitchInto(void) if (species != SPECIES_NONE && GetMonData(&party[i], MON_DATA_HP) != 0 && !(gBitTable[i] & invalidMons) - && gBattlePartyID[bankIn1] != i - && gBattlePartyID[bankIn2] != i - && i != *(gBattleStruct->field_5C + bankIn1) - && i != *(gBattleStruct->field_5C + bankIn2)) + && gBattlerPartyIndexes[bankIn1] != i + && gBattlerPartyIndexes[bankIn2] != i + && i != *(gBattleStruct->monToSwitchIntoId + bankIn1) + && i != *(gBattleStruct->monToSwitchIntoId + bankIn2)) { u8 type1 = gBaseStats[species].type1; u8 type2 = gBaseStats[species].type2; @@ -737,7 +720,7 @@ u8 GetMostSuitableMonToSwitchInto(void) for (i = 0; i < 4; i++) { move = GetMonData(&party[bestMonId], MON_DATA_MOVE1 + i); - if (move != MOVE_NONE && TypeCalc(move, gActiveBank, opposingBank) & MOVESTATUS_SUPEREFFECTIVE) + if (move != MOVE_NONE && TypeCalc(move, gActiveBattler, opposingBank) & MOVE_RESULT_SUPER_EFFECTIVE) break; } @@ -755,7 +738,7 @@ u8 GetMostSuitableMonToSwitchInto(void) gDynamicBasePower = 0; gBattleStruct->dynamicMoveType = 0; gBattleScripting.dmgMultiplier = 1; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gCritMultiplier = 1; bestDmg = 0; bestMonId = 6; @@ -767,13 +750,13 @@ u8 GetMostSuitableMonToSwitchInto(void) continue; if (GetMonData(&party[i], MON_DATA_HP) == 0) continue; - if (gBattlePartyID[bankIn1] == i) + if (gBattlerPartyIndexes[bankIn1] == i) continue; - if (gBattlePartyID[bankIn2] == i) + if (gBattlerPartyIndexes[bankIn2] == i) continue; - if (i == *(gBattleStruct->field_5C + bankIn1)) + if (i == *(gBattleStruct->monToSwitchIntoId + bankIn1)) continue; - if (i == *(gBattleStruct->field_5C + bankIn2)) + if (i == *(gBattleStruct->monToSwitchIntoId + bankIn2)) continue; for (j = 0; j < 4; j++) @@ -782,8 +765,8 @@ u8 GetMostSuitableMonToSwitchInto(void) gBattleMoveDamage = 0; if (move != MOVE_NONE && gBattleMoves[move].power != 1) { - AI_CalcDmg(gActiveBank, opposingBank); - TypeCalc(move, gActiveBank, opposingBank); + AI_CalcDmg(gActiveBattler, opposingBank); + TypeCalc(move, gActiveBattler, opposingBank); } if (bestDmg < gBattleMoveDamage) { @@ -820,10 +803,10 @@ static bool8 ShouldUseItem(void) u8 validMons = 0; bool8 shouldUse = FALSE; - if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON2) + if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_RIGHT) return FALSE; - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; @@ -858,14 +841,14 @@ static bool8 ShouldUseItem(void) else itemEffects = gItemEffectTable[item - 13]; - *(gBattleStruct->AI_itemType + gActiveBank / 2) = GetAI_ItemType(item, itemEffects); + *(gBattleStruct->AI_itemType + gActiveBattler / 2) = GetAI_ItemType(item, itemEffects); - switch (*(gBattleStruct->AI_itemType + gActiveBank / 2)) + switch (*(gBattleStruct->AI_itemType + gActiveBattler / 2)) { case AI_ITEM_FULL_RESTORE: - if (gBattleMons[gActiveBank].hp >= gBattleMons[gActiveBank].maxHP / 4) + if (gBattleMons[gActiveBattler].hp >= gBattleMons[gActiveBattler].maxHP / 4) break; - if (gBattleMons[gActiveBank].hp == 0) + if (gBattleMons[gActiveBattler].hp == 0) break; shouldUse = TRUE; break; @@ -873,65 +856,65 @@ static bool8 ShouldUseItem(void) paramOffset = GetItemEffectParamOffset(item, 4, 4); if (paramOffset == 0) break; - if (gBattleMons[gActiveBank].hp == 0) + if (gBattleMons[gActiveBattler].hp == 0) break; - if (gBattleMons[gActiveBank].hp < gBattleMons[gActiveBank].maxHP / 4 || gBattleMons[gActiveBank].maxHP - gBattleMons[gActiveBank].hp > itemEffects[paramOffset]) + if (gBattleMons[gActiveBattler].hp < gBattleMons[gActiveBattler].maxHP / 4 || gBattleMons[gActiveBattler].maxHP - gBattleMons[gActiveBattler].hp > itemEffects[paramOffset]) shouldUse = TRUE; break; case AI_ITEM_CURE_CONDITION: - *(gBattleStruct->AI_itemFlags + gActiveBank / 2) = 0; - if (itemEffects[3] & 0x20 && gBattleMons[gActiveBank].status1 & STATUS_SLEEP) + *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) = 0; + if (itemEffects[3] & 0x20 && gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP) { - *(gBattleStruct->AI_itemFlags + gActiveBank / 2) |= 0x20; + *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x20; shouldUse = TRUE; } - if (itemEffects[3] & 0x10 && (gBattleMons[gActiveBank].status1 & STATUS_POISON || gBattleMons[gActiveBank].status1 & STATUS_TOXIC_POISON)) + if (itemEffects[3] & 0x10 && (gBattleMons[gActiveBattler].status1 & STATUS1_POISON || gBattleMons[gActiveBattler].status1 & STATUS1_TOXIC_POISON)) { - *(gBattleStruct->AI_itemFlags + gActiveBank / 2) |= 0x10; + *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x10; shouldUse = TRUE; } - if (itemEffects[3] & 0x8 && gBattleMons[gActiveBank].status1 & STATUS_BURN) + if (itemEffects[3] & 0x8 && gBattleMons[gActiveBattler].status1 & STATUS1_BURN) { - *(gBattleStruct->AI_itemFlags + gActiveBank / 2) |= 0x8; + *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x8; shouldUse = TRUE; } - if (itemEffects[3] & 0x4 && gBattleMons[gActiveBank].status1 & STATUS_FREEZE) + if (itemEffects[3] & 0x4 && gBattleMons[gActiveBattler].status1 & STATUS1_FREEZE) { - *(gBattleStruct->AI_itemFlags + gActiveBank / 2) |= 0x4; + *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x4; shouldUse = TRUE; } - if (itemEffects[3] & 0x2 && gBattleMons[gActiveBank].status1 & STATUS_PARALYSIS) + if (itemEffects[3] & 0x2 && gBattleMons[gActiveBattler].status1 & STATUS1_PARALYSIS) { - *(gBattleStruct->AI_itemFlags + gActiveBank / 2) |= 0x2; + *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x2; shouldUse = TRUE; } - if (itemEffects[3] & 0x1 && gBattleMons[gActiveBank].status2 & STATUS2_CONFUSION) + if (itemEffects[3] & 0x1 && gBattleMons[gActiveBattler].status2 & STATUS2_CONFUSION) { - *(gBattleStruct->AI_itemFlags + gActiveBank / 2) |= 0x1; + *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x1; shouldUse = TRUE; } break; case AI_ITEM_X_STAT: - *(gBattleStruct->AI_itemFlags + gActiveBank / 2) = 0; - if (gDisableStructs[gActiveBank].isFirstTurn == 0) + *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) = 0; + if (gDisableStructs[gActiveBattler].isFirstTurn == 0) break; if (itemEffects[0] & 0xF) - *(gBattleStruct->AI_itemFlags + gActiveBank / 2) |= 0x1; + *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x1; if (itemEffects[1] & 0xF0) - *(gBattleStruct->AI_itemFlags + gActiveBank / 2) |= 0x2; + *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x2; if (itemEffects[1] & 0xF) - *(gBattleStruct->AI_itemFlags + gActiveBank / 2) |= 0x4; + *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x4; if (itemEffects[2] & 0xF) - *(gBattleStruct->AI_itemFlags + gActiveBank / 2) |= 0x8; + *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x8; if (itemEffects[2] & 0xF0) - *(gBattleStruct->AI_itemFlags + gActiveBank / 2) |= 0x20; + *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x20; if (itemEffects[0] & 0x30) - *(gBattleStruct->AI_itemFlags + gActiveBank / 2) |= 0x80; + *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x80; shouldUse = TRUE; break; case AI_ITEM_GUARD_SPECS: - bankSide = GetBankSide(gActiveBank); - if (gDisableStructs[gActiveBank].isFirstTurn != 0 && gSideTimers[bankSide].mistTimer == 0) + bankSide = GetBattlerSide(gActiveBattler); + if (gDisableStructs[gActiveBattler].isFirstTurn != 0 && gSideTimers[bankSide].mistTimer == 0) shouldUse = TRUE; break; case AI_ITEM_NOT_RECOGNIZABLE: @@ -940,8 +923,8 @@ static bool8 ShouldUseItem(void) if (shouldUse) { - EmitTwoReturnValues(1, ACTION_USE_ITEM, 0); - *(gBattleStruct->chosenItem + (gActiveBank / 2) * 2) = item; + BtlController_EmitTwoReturnValues(1, B_ACTION_USE_ITEM, 0); + *(gBattleStruct->chosenItem + (gActiveBattler / 2) * 2) = item; gBattleResources->battleHistory->trainerItems[i] = 0; return shouldUse; } diff --git a/src/battle_anim.c b/src/battle_anim.c index fa3ac73bef..7606f701d8 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -1,6 +1,7 @@ #include "global.h" #include "battle.h" #include "battle_anim.h" +#include "constants/battle_anim.h" #include "sprite.h" #include "contest.h" #include "m4a.h" @@ -24,8 +25,6 @@ #define ANIM_SPRITE_INDEX_COUNT 8 -extern u8 gBankAttacker; -extern u8 gBankTarget; extern u16 gBattle_WIN0H; extern u16 gBattle_WIN0V; extern u16 gBattle_WIN1H; @@ -34,12 +33,9 @@ extern u16 gBattle_BG1_X; extern u16 gBattle_BG1_Y; extern u16 gBattle_BG2_X; extern u16 gBattle_BG2_Y; -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; -extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT]; -extern struct MusicPlayerInfo gMPlay_BGM; -extern struct MusicPlayerInfo gMPlay_SE1; -extern struct MusicPlayerInfo gMPlay_SE2; -extern u8 gDecompressionBuffer[]; +extern struct MusicPlayerInfo gMPlayInfo_BGM; +extern struct MusicPlayerInfo gMPlayInfo_SE1; +extern struct MusicPlayerInfo gMPlayInfo_SE2; extern const u16 gUnknown_082C8D64[]; extern const u8 * const gBattleAnims_Moves[]; @@ -67,7 +63,7 @@ static void ScriptCmd_return(void); static void ScriptCmd_setarg(void); static void ScriptCmd_choosetwoturnanim(void); static void ScriptCmd_jumpifmoveturn(void); -static void ScriptCmd_jump(void); +static void ScriptCmd_goto(void); static void ScriptCmd_fadetobg(void); static void ScriptCmd_restorebg(void); static void ScriptCmd_waitbgfadeout(void); @@ -129,9 +125,9 @@ EWRAM_DATA static u8 sMonAnimTaskIdArray[2] = {0}; EWRAM_DATA u8 gAnimMoveTurn = 0; EWRAM_DATA static u8 sAnimBackgroundFadeState = 0; EWRAM_DATA static u16 sAnimMoveIndex = 0; // set but unused. -EWRAM_DATA u8 gAnimBankAttacker = 0; -EWRAM_DATA u8 gAnimBankTarget = 0; -EWRAM_DATA u16 gAnimSpeciesByBanks[BATTLE_BANKS_COUNT] = {0}; +EWRAM_DATA u8 gBattleAnimAttacker = 0; +EWRAM_DATA u8 gBattleAnimTarget = 0; +EWRAM_DATA u16 gAnimSpeciesByBanks[MAX_BATTLERS_COUNT] = {0}; EWRAM_DATA u8 gUnknown_02038440 = 0; // const rom data @@ -156,7 +152,7 @@ static void (* const sScriptCmdTable[])(void) = ScriptCmd_setarg, ScriptCmd_choosetwoturnanim, ScriptCmd_jumpifmoveturn, - ScriptCmd_jump, + ScriptCmd_goto, ScriptCmd_fadetobg, ScriptCmd_restorebg, ScriptCmd_waitbgfadeout, @@ -213,15 +209,15 @@ void ClearBattleAnimationVars(void) gAnimMoveTurn = 0; sAnimBackgroundFadeState = 0; sAnimMoveIndex = 0; - gAnimBankAttacker = 0; - gAnimBankTarget = 0; + gBattleAnimAttacker = 0; + gBattleAnimTarget = 0; gUnknown_02038440 = 0; } void DoMoveAnim(u16 move) { - gAnimBankAttacker = gBankAttacker; - gAnimBankTarget = gBankTarget; + gBattleAnimAttacker = gBattlerAttacker; + gBattleAnimTarget = gBattlerTarget; LaunchBattleAnimation(gBattleAnims_Moves, move, TRUE); } @@ -233,12 +229,12 @@ void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMo { sub_80A8278(); UpdateOamPriorityInAllHealthboxes(0); - for (i = 0; i < BATTLE_BANKS_COUNT; i++) + for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - if (GetBankSide(i) != 0) - gAnimSpeciesByBanks[i] = GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_SPECIES); + if (GetBattlerSide(i) != 0) + gAnimSpeciesByBanks[i] = GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES); else - gAnimSpeciesByBanks[i] = GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_SPECIES); + gAnimSpeciesByBanks[i] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES); } } else @@ -271,7 +267,7 @@ void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMo { if (tableId == gUnknown_082C8D64[i]) { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 128); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 128); break; } } @@ -408,7 +404,7 @@ static void ScriptCmd_createsprite(void) else argVar *= -1; - subpriority = sub_80A82E4(gAnimBankTarget) + (s8)(argVar); + subpriority = sub_80A82E4(gBattleAnimTarget) + (s8)(argVar); } else { @@ -417,13 +413,13 @@ static void ScriptCmd_createsprite(void) else argVar *= -1; - subpriority = sub_80A82E4(gAnimBankAttacker) + (s8)(argVar); + subpriority = sub_80A82E4(gBattleAnimAttacker) + (s8)(argVar); } if (subpriority < 3) subpriority = 3; - CreateSpriteAndAnimate(template, sub_80A5C6C(gAnimBankTarget, 2), sub_80A5C6C(gAnimBankTarget, 3), subpriority); + CreateSpriteAndAnimate(template, GetBattlerSpriteCoord(gBattleAnimTarget, 2), GetBattlerSpriteCoord(gBattleAnimTarget, 3), subpriority); gAnimVisualTaskCount++; } @@ -513,8 +509,8 @@ static void ScriptCmd_end(void) } else { - m4aMPlayStop(&gMPlay_SE1); - m4aMPlayStop(&gMPlay_SE2); + m4aMPlayStop(&gMPlayInfo_SE1); + m4aMPlayStop(&gMPlayInfo_SE2); } } @@ -533,7 +529,7 @@ static void ScriptCmd_end(void) if (!continuousAnim) // may have been used for debug? { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 256); if (!IsContest()) { sub_80A8278(); @@ -564,7 +560,7 @@ static void sub_80A40F4(u8 taskId) u8 newTaskId; s16 *selfData = gTasks[taskId].data; - u8 bankSpriteId = gBankSpriteIds[selfData[t1_MONBG_BANK]]; + u8 bankSpriteId = gBattlerSpriteIds[selfData[t1_MONBG_BANK]]; gSprites[bankSpriteId].invisible = 1; if (!selfData[t1_CREATE_ANOTHER_TASK]) @@ -605,15 +601,15 @@ static void ScriptCmd_monbg(void) sBattleAnimScriptPtr++; animBank = sBattleAnimScriptPtr[0]; - if (animBank & ANIM_BANK_TARGET) - bank = gAnimBankTarget; + if (animBank & ANIM_TARGET) + bank = gBattleAnimTarget; else - bank = gAnimBankAttacker; + bank = gBattleAnimAttacker; - if (IsAnimBankSpriteVisible(bank)) + if (IsBattlerSpriteVisible(bank)) { - u8 identity = GetBankIdentity(bank); - if (identity == IDENTITY_OPPONENT_MON1 || identity == IDENTITY_PLAYER_MON2 || IsContest()) + u8 position = GetBattlerPosition(bank); + if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) toBG_2 = FALSE; else toBG_2 = TRUE; @@ -628,11 +624,11 @@ static void ScriptCmd_monbg(void) } - bank ^= BIT_MON; - if (IsAnimBankSpriteVisible(bank)) + bank ^= BIT_FLANK; + if (IsBattlerSpriteVisible(bank)) { - u8 identity = GetBankIdentity(bank); - if (identity == IDENTITY_OPPONENT_MON1 || identity == IDENTITY_PLAYER_MON2 || IsContest()) + u8 position = GetBattlerPosition(bank); + if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) toBG_2 = FALSE; else toBG_2 = TRUE; @@ -651,20 +647,20 @@ static void ScriptCmd_monbg(void) gAnimScriptCallback = WaitAnimFrameCount; } -bool8 IsAnimBankSpriteVisible(u8 bank) +bool8 IsBattlerSpriteVisible(u8 bank) { if (IsContest()) { - if (bank == gAnimBankAttacker) + if (bank == gBattleAnimAttacker) return TRUE; else return FALSE; } - if (!IsBankSpritePresent(bank)) + if (!IsBattlerSpritePresent(bank)) return FALSE; if (IsContest()) return TRUE; // this line wont ever be reached. - if (!gBattleSpritesDataPtr->bankData[bank].invisible || !gSprites[gBankSpriteIds[bank]].invisible) + if (!gBattleSpritesDataPtr->battlerData[bank].invisible || !gSprites[gBattlerSpriteIds[bank]].invisible) return TRUE; return FALSE; @@ -698,7 +694,7 @@ void sub_80A438C(u8 bank, bool8 toBG_2, bool8 setSpriteInvisible) SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 1); SetAnimBgAttribute(1, BG_ANIM_AREA_OVERFLOW_MODE, 0); - bankSpriteId = gBankSpriteIds[bank]; + bankSpriteId = gBattlerSpriteIds[bank]; gBattle_BG1_X = -(gSprites[bankSpriteId].pos1.x + gSprites[bankSpriteId].pos2.x) + 0x20; if (IsContest() && IsSpeciesNotUnown(gContestResources->field_18->field_0)) @@ -706,7 +702,7 @@ void sub_80A438C(u8 bank, bool8 toBG_2, bool8 setSpriteInvisible) gBattle_BG1_Y = -(gSprites[bankSpriteId].pos1.y + gSprites[bankSpriteId].pos2.y) + 0x20; if (setSpriteInvisible) - gSprites[gBankSpriteIds[bank]].invisible = 1; + gSprites[gBattlerSpriteIds[bank]].invisible = 1; SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); @@ -717,7 +713,7 @@ void sub_80A438C(u8 bank, bool8 toBG_2, bool8 setSpriteInvisible) if (IsContest()) bankIdentity = 0; else - bankIdentity = GetBankIdentity(bank); + bankIdentity = GetBattlerPosition(bank); sub_8118FBC(1, 0, 0, bankIdentity, unknownStruct.unk8, unknownStruct.unk0, unknownStruct.unk4, unknownStruct.unkA); @@ -735,13 +731,13 @@ void sub_80A438C(u8 bank, bool8 toBG_2, bool8 setSpriteInvisible) SetAnimBgAttribute(2, BG_ANIM_SCREEN_SIZE, 1); SetAnimBgAttribute(2, BG_ANIM_AREA_OVERFLOW_MODE, 0); - bankSpriteId = gBankSpriteIds[bank]; + bankSpriteId = gBattlerSpriteIds[bank]; gBattle_BG2_X = -(gSprites[bankSpriteId].pos1.x + gSprites[bankSpriteId].pos2.x) + 0x20; gBattle_BG2_Y = -(gSprites[bankSpriteId].pos1.y + gSprites[bankSpriteId].pos2.y) + 0x20; if (setSpriteInvisible) - gSprites[gBankSpriteIds[bank]].invisible = 1; + gSprites[gBattlerSpriteIds[bank]].invisible = 1; SetGpuReg(REG_OFFSET_BG2HOFS, gBattle_BG2_X); SetGpuReg(REG_OFFSET_BG2VOFS, gBattle_BG2_Y); @@ -749,7 +745,7 @@ void sub_80A438C(u8 bank, bool8 toBG_2, bool8 setSpriteInvisible) LoadPalette(&gPlttBufferUnfaded[0x100 + bank * 16], 0x90, 0x20); CpuCopy32(&gPlttBufferUnfaded[0x100 + bank * 16], (void*)(BG_PLTT + 0x120), 0x20); - sub_8118FBC(2, 0, 0, GetBankIdentity(bank), unknownStruct.unk8, unknownStruct.unk0 + 0x1000, unknownStruct.unk4 + 0x400, unknownStruct.unkA); + sub_8118FBC(2, 0, 0, GetBattlerPosition(bank), unknownStruct.unk8, unknownStruct.unk0 + 0x1000, unknownStruct.unk4 + 0x400, unknownStruct.unkA); } } @@ -862,20 +858,20 @@ static void ScriptCmd_clearmonbg(void) sBattleAnimScriptPtr++; animBankId = sBattleAnimScriptPtr[0]; - if (animBankId == ANIM_BANK_ATTACKER) - animBankId = ANIM_BANK_ATK_PARTNER; - else if (animBankId == ANIM_BANK_TARGET) - animBankId = ANIM_BANK_DEF_PARTNER; + if (animBankId == ANIM_ATTACKER) + animBankId = ANIM_ATK_PARTNER; + else if (animBankId == ANIM_TARGET) + animBankId = ANIM_DEF_PARTNER; - if (animBankId == ANIM_BANK_ATTACKER || animBankId == ANIM_BANK_ATK_PARTNER) - bank = gAnimBankAttacker; + if (animBankId == ANIM_ATTACKER || animBankId == ANIM_ATK_PARTNER) + bank = gBattleAnimAttacker; else - bank = gAnimBankTarget; + bank = gBattleAnimTarget; if (sMonAnimTaskIdArray[0] != 0xFF) - gSprites[gBankSpriteIds[bank]].invisible = 0; + gSprites[gBattlerSpriteIds[bank]].invisible = 0; if (animBankId > 1 && sMonAnimTaskIdArray[1] != 0xFF) - gSprites[gBankSpriteIds[bank ^ BIT_MON]].invisible = 0; + gSprites[gBattlerSpriteIds[bank ^ BIT_FLANK]].invisible = 0; else animBankId = 0; @@ -892,8 +888,8 @@ static void sub_80A4980(u8 taskId) if (gTasks[taskId].data[1] != 1) { u8 to_BG2; - u8 identity = GetBankIdentity(gTasks[taskId].data[2]); - if (identity == IDENTITY_OPPONENT_MON1 || identity == IDENTITY_PLAYER_MON2 || IsContest()) + u8 position = GetBattlerPosition(gTasks[taskId].data[2]); + if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) to_BG2 = FALSE; else to_BG2 = TRUE; @@ -924,20 +920,20 @@ static void ScriptCmd_monbg_22(void) animBankId = sBattleAnimScriptPtr[0]; - if (animBankId == ANIM_BANK_ATTACKER) - animBankId = ANIM_BANK_ATK_PARTNER; - else if (animBankId == ANIM_BANK_TARGET) - animBankId = ANIM_BANK_DEF_PARTNER; + if (animBankId == ANIM_ATTACKER) + animBankId = ANIM_ATK_PARTNER; + else if (animBankId == ANIM_TARGET) + animBankId = ANIM_DEF_PARTNER; - if (animBankId == ANIM_BANK_ATTACKER || animBankId == ANIM_BANK_ATK_PARTNER) - bank = gAnimBankAttacker; + if (animBankId == ANIM_ATTACKER || animBankId == ANIM_ATK_PARTNER) + bank = gBattleAnimAttacker; else - bank = gAnimBankTarget; + bank = gBattleAnimTarget; - if (IsAnimBankSpriteVisible(bank)) + if (IsBattlerSpriteVisible(bank)) { - u8 identity = GetBankIdentity(bank); - if (identity == IDENTITY_OPPONENT_MON1 || identity == IDENTITY_PLAYER_MON2 || IsContest()) + u8 position = GetBattlerPosition(bank); + if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) toBG_2 = FALSE; else toBG_2 = TRUE; @@ -945,11 +941,11 @@ static void ScriptCmd_monbg_22(void) sub_80A438C(bank, toBG_2, FALSE); } - bank ^= BIT_MON; - if (animBankId > 1 && IsAnimBankSpriteVisible(bank)) + bank ^= BIT_FLANK; + if (animBankId > 1 && IsBattlerSpriteVisible(bank)) { - u8 identity = GetBankIdentity(bank); - if (identity == IDENTITY_OPPONENT_MON1 || identity == IDENTITY_PLAYER_MON2 || IsContest()) + u8 position = GetBattlerPosition(bank); + if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) toBG_2 = FALSE; else toBG_2 = TRUE; @@ -969,20 +965,20 @@ static void ScriptCmd_clearmonbg_23(void) sBattleAnimScriptPtr++; animBankId = sBattleAnimScriptPtr[0]; - if (animBankId == ANIM_BANK_ATTACKER) - animBankId = ANIM_BANK_ATK_PARTNER; - else if (animBankId == ANIM_BANK_TARGET) - animBankId = ANIM_BANK_DEF_PARTNER; + if (animBankId == ANIM_ATTACKER) + animBankId = ANIM_ATK_PARTNER; + else if (animBankId == ANIM_TARGET) + animBankId = ANIM_DEF_PARTNER; - if (animBankId == ANIM_BANK_ATTACKER || animBankId == ANIM_BANK_ATK_PARTNER) - bank = gAnimBankAttacker; + if (animBankId == ANIM_ATTACKER || animBankId == ANIM_ATK_PARTNER) + bank = gBattleAnimAttacker; else - bank = gAnimBankTarget; + bank = gBattleAnimTarget; - if (IsAnimBankSpriteVisible(bank)) - gSprites[gBankSpriteIds[bank]].invisible = 0; - if (animBankId > 1 && IsAnimBankSpriteVisible(bank ^ BIT_MON)) - gSprites[gBankSpriteIds[bank ^ BIT_MON]].invisible = 0; + if (IsBattlerSpriteVisible(bank)) + gSprites[gBattlerSpriteIds[bank]].invisible = 0; + if (animBankId > 1 && IsBattlerSpriteVisible(bank ^ BIT_FLANK)) + gSprites[gBattlerSpriteIds[bank ^ BIT_FLANK]].invisible = 0; else animBankId = 0; @@ -1000,15 +996,15 @@ static void sub_80A4BB0(u8 taskId) { bool8 toBG_2; u8 bank = gTasks[taskId].data[2]; - u8 identity = GetBankIdentity(bank); - if (identity == IDENTITY_OPPONENT_MON1 || identity == IDENTITY_PLAYER_MON2 || IsContest()) + u8 position = GetBattlerPosition(bank); + if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) toBG_2 = FALSE; else toBG_2 = TRUE; - if (IsAnimBankSpriteVisible(bank)) + if (IsBattlerSpriteVisible(bank)) sub_80A477C(toBG_2); - if (gTasks[taskId].data[0] > 1 && IsAnimBankSpriteVisible(bank ^ BIT_MON)) + if (gTasks[taskId].data[0] > 1 && IsBattlerSpriteVisible(bank ^ BIT_FLANK)) sub_80A477C(toBG_2 ^ 1); DestroyTask(taskId); @@ -1099,7 +1095,7 @@ static void ScriptCmd_jumpifmoveturn(void) sBattleAnimScriptPtr += 4; } -static void ScriptCmd_jump(void) +static void ScriptCmd_goto(void) { sBattleAnimScriptPtr++; sBattleAnimScriptPtr = SCRIPT_READ_PTR(sBattleAnimScriptPtr); @@ -1144,7 +1140,7 @@ static void ScriptCmd_fadetobgfromset(void) if (IsContest()) gTasks[taskId].tBackgroundId = bg3; - else if (GetBankSide(gAnimBankTarget) == SIDE_PLAYER) + else if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) gTasks[taskId].tBackgroundId = bg2; else gTasks[taskId].tBackgroundId = bg1; @@ -1269,21 +1265,21 @@ static void ScriptCmd_changebg(void) s8 BattleAnimAdjustPanning(s8 pan) { - if (!IsContest() && gBattleSpritesDataPtr->healthBoxesData[gAnimBankAttacker].statusAnimActive) + if (!IsContest() && gBattleSpritesDataPtr->healthBoxesData[gBattleAnimAttacker].statusAnimActive) { - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) pan = PAN_SIDE_OPPONENT; else pan = PAN_SIDE_PLAYER; } else if (IsContest()) { - if (gAnimBankAttacker != gAnimBankTarget || gAnimBankAttacker != 2 || pan != PAN_SIDE_OPPONENT) + if (gBattleAnimAttacker != gBattleAnimTarget || gBattleAnimAttacker != 2 || pan != PAN_SIDE_OPPONENT) pan *= -1; } - else if (GetBankSide(gAnimBankAttacker) == SIDE_PLAYER) + else if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { - if (GetBankSide(gAnimBankTarget) == SIDE_PLAYER) + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) { if (pan == PAN_SIDE_OPPONENT) pan = PAN_SIDE_PLAYER; @@ -1291,7 +1287,7 @@ s8 BattleAnimAdjustPanning(s8 pan) pan *= -1; } } - else if (GetBankSide(gAnimBankTarget) == SIDE_OPPONENT) + else if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT) { if (pan == PAN_SIDE_PLAYER) pan = PAN_SIDE_OPPONENT; @@ -1311,16 +1307,16 @@ s8 BattleAnimAdjustPanning(s8 pan) s8 BattleAnimAdjustPanning2(s8 pan) { - if (!IsContest() && gBattleSpritesDataPtr->healthBoxesData[gAnimBankAttacker].statusAnimActive) + if (!IsContest() && gBattleSpritesDataPtr->healthBoxesData[gBattleAnimAttacker].statusAnimActive) { - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) pan = PAN_SIDE_OPPONENT; else pan = PAN_SIDE_PLAYER; } else { - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER || IsContest()) + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER || IsContest()) pan = -pan; } return pan; @@ -1649,8 +1645,8 @@ static void ScriptCmd_waitsound(void) { if (++sSoundAnimFramesToWait > 90) { - m4aMPlayStop(&gMPlay_SE1); - m4aMPlayStop(&gMPlay_SE2); + m4aMPlayStop(&gMPlayInfo_SE1); + m4aMPlayStop(&gMPlayInfo_SE2); sSoundAnimFramesToWait = 0; } else @@ -1699,13 +1695,13 @@ static void ScriptCmd_monbgprio_28(void) wantedBank = sBattleAnimScriptPtr[1]; sBattleAnimScriptPtr += 2; - if (wantedBank != ANIM_BANK_ATTACKER) - bank = gAnimBankTarget; + if (wantedBank != ANIM_ATTACKER) + bank = gBattleAnimTarget; else - bank = gAnimBankAttacker; + bank = gBattleAnimAttacker; - bankIdentity = GetBankIdentity(bank); - if (!IsContest() && (bankIdentity == IDENTITY_PLAYER_MON1 || bankIdentity == IDENTITY_OPPONENT_MON2)) + bankIdentity = GetBattlerPosition(bank); + if (!IsContest() && (bankIdentity == B_POSITION_PLAYER_LEFT || bankIdentity == B_POSITION_OPPONENT_RIGHT)) { SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); SetAnimBgAttribute(2, BG_ANIM_PRIORITY, 2); @@ -1730,15 +1726,15 @@ static void ScriptCmd_monbgprio_2A(void) wantedBank = sBattleAnimScriptPtr[1]; sBattleAnimScriptPtr += 2; - if (GetBankSide(gAnimBankAttacker) != GetBankSide(gAnimBankTarget)) + if (GetBattlerSide(gBattleAnimAttacker) != GetBattlerSide(gBattleAnimTarget)) { - if (wantedBank != ANIM_BANK_ATTACKER) - bank = gAnimBankTarget; + if (wantedBank != ANIM_ATTACKER) + bank = gBattleAnimTarget; else - bank = gAnimBankAttacker; + bank = gBattleAnimAttacker; - bankIdentity = GetBankIdentity(bank); - if (!IsContest() && (bankIdentity == IDENTITY_PLAYER_MON1 || bankIdentity == IDENTITY_OPPONENT_MON2)) + bankIdentity = GetBattlerPosition(bank); + if (!IsContest() && (bankIdentity == B_POSITION_PLAYER_LEFT || bankIdentity == B_POSITION_OPPONENT_RIGHT)) { SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); SetAnimBgAttribute(2, BG_ANIM_PRIORITY, 2); @@ -1750,7 +1746,7 @@ static void ScriptCmd_invisible(void) { u8 spriteId; - spriteId = GetAnimBankSpriteId(sBattleAnimScriptPtr[1]); + spriteId = GetAnimBattlerSpriteId(sBattleAnimScriptPtr[1]); if (spriteId != 0xFF) gSprites[spriteId].invisible = 1; @@ -1761,7 +1757,7 @@ static void ScriptCmd_visible(void) { u8 spriteId; - spriteId = GetAnimBankSpriteId(sBattleAnimScriptPtr[1]); + spriteId = GetAnimBattlerSpriteId(sBattleAnimScriptPtr[1]); if (spriteId != 0xFF) gSprites[spriteId].invisible = 0; @@ -1777,17 +1773,17 @@ static void ScriptCmd_doublebattle_2D(void) wantedBank = sBattleAnimScriptPtr[1]; sBattleAnimScriptPtr += 2; if (!IsContest() && IsDoubleBattle() - && GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget)) + && GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) { - if (wantedBank == ANIM_BANK_ATTACKER) + if (wantedBank == ANIM_ATTACKER) { - r4 = sub_80A8364(gAnimBankAttacker); - spriteId = GetAnimBankSpriteId(0); + r4 = sub_80A8364(gBattleAnimAttacker); + spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); } else { - r4 = sub_80A8364(gAnimBankTarget); - spriteId = GetAnimBankSpriteId(1); + r4 = sub_80A8364(gBattleAnimTarget); + spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); } if (spriteId != 0xFF) { @@ -1812,17 +1808,17 @@ static void ScriptCmd_doublebattle_2E(void) wantedBank = sBattleAnimScriptPtr[1]; sBattleAnimScriptPtr += 2; if (!IsContest() && IsDoubleBattle() - && GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget)) + && GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) { - if (wantedBank == ANIM_BANK_ATTACKER) + if (wantedBank == ANIM_ATTACKER) { - r4 = sub_80A8364(gAnimBankAttacker); - spriteId = GetAnimBankSpriteId(0); + r4 = sub_80A8364(gBattleAnimAttacker); + spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); } else { - r4 = sub_80A8364(gAnimBankTarget); - spriteId = GetAnimBankSpriteId(1); + r4 = sub_80A8364(gBattleAnimTarget); + spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); } if (spriteId != 0xFF && r4 == 2) @@ -1832,7 +1828,7 @@ static void ScriptCmd_doublebattle_2E(void) static void ScriptCmd_stopsound(void) { - m4aMPlayStop(&gMPlay_SE1); - m4aMPlayStop(&gMPlay_SE2); + m4aMPlayStop(&gMPlayInfo_SE1); + m4aMPlayStop(&gMPlayInfo_SE2); sBattleAnimScriptPtr++; } diff --git a/src/battle_bg.c b/src/battle_bg.c new file mode 100644 index 0000000000..f493bafeaa --- /dev/null +++ b/src/battle_bg.c @@ -0,0 +1,752 @@ +#include "global.h" +#include "battle.h" +#include "sprite.h" +#include "constants/trainers.h" +#include "graphics.h" +#include "decompress.h" +#include "bg.h" +#include "palette.h" +#include "main.h" +#include "gpu_regs.h" +#include "link.h" +#include "battle_message.h" +#include "task.h" +#include "trig.h" +#include "sound.h" +#include "constants/songs.h" +#include "strings.h" +#include "window.h" +#include "text_window.h" +#include "menu.h" +#include "battle_setup.h" + +struct BattleBackground +{ + const void *tileset; + const void *tilemap; + const void *entryTileset; + const void *entryTilemap; + const void *palette; +}; + +extern const struct SpriteTemplate gUnknown_0831A9D0; +extern const struct SpriteTemplate gUnknown_0831A9E8; +extern const struct CompressedSpriteSheet gUnknown_0831AA00; +extern const struct BgTemplate gUnknown_0831AA08[4]; +extern const struct WindowTemplate *gUnknown_0831ABA0[]; +extern const struct BattleBackground gBattleTerrainTable[]; + +extern u16 gBattle_BG1_X; +extern u16 gBattle_BG1_Y; +extern u16 gBattle_BG2_X; +extern u16 gBattle_BG2_Y; + +extern u8 GetCurrentMapBattleScene(void); + +void sub_8035658(void) +{ + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_0831AA08, ARRAY_COUNT(gUnknown_0831AA08)); + + if (gBattleTypeFlags & BATTLE_TYPE_ARENA) + { + gBattleScripting.field_24 = 1; + SetBgTilemapBuffer(1, gUnknown_02023060); + SetBgTilemapBuffer(2, gUnknown_02023060); + } + else + { + gBattleScripting.field_24 = 0; + } + + InitWindows(gUnknown_0831ABA0[gBattleScripting.field_24]); + DeactivateAllTextPrinters(); +} + +void sub_80356D0(void) +{ + DisableInterrupts(INTR_FLAG_HBLANK); + EnableInterrupts(INTR_FLAG_VBLANK | INTR_FLAG_VCOUNT | INTR_FLAG_TIMER3 | INTR_FLAG_SERIAL); + sub_8035658(); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON | DISPCNT_WIN0_ON | DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); +} + +void ApplyPlayerChosenFrameToBattleMenu(void) +{ + sub_809882C(2, 0x12, 0x10); + sub_809882C(2, 0x22, 0x10); + LoadCompressedPalette(gUnknown_08D85600, 0x50, 0x20); + + if (gBattleTypeFlags & BATTLE_TYPE_ARENA) + { + sub_81978B0(0x70); + copy_textbox_border_tile_patterns_to_vram(0, 0x30, 0x70); + gPlttBufferUnfaded[0x76] = 0; + CpuCopy16(&gPlttBufferUnfaded[0x76], &gPlttBufferFaded[0x76], 2); + } +} + +void DrawMainBattleBackground(void) +{ + if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_FRONTIER | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_x2000000)) + { + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_Frontier, 0x20, 0x60); + } + else if (gBattleTypeFlags & BATTLE_TYPE_GROUDON) + { + LZDecompressVram(gBattleTerrainTiles_Cave, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Cave, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_Groudon, 0x20, 0x60); + } + else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE) + { + LZDecompressVram(gBattleTerrainTiles_Water, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Water, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_Kyogre, 0x20, 0x60); + } + else if (gBattleTypeFlags & BATTLE_TYPE_RAYQUAZA) + { + LZDecompressVram(gBattleTerrainTiles_Rayquaza, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Rayquaza, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_Rayquaza, 0x20, 0x60); + } + else + { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass; + if (trainerClass == TRAINER_CLASS_LEADER) + { + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, 0x20, 0x60); + return; + } + else if (trainerClass == TRAINER_CLASS_CHAMPION) + { + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_StadiumWallace, 0x20, 0x60); + return; + } + } + + switch (GetCurrentMapBattleScene()) + { + default: + case MAP_BATTLE_SCENE_NORMAL: + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tileset, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tilemap, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainTable[gBattleTerrain].palette, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_GYM: + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_MAGMA: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_AQUA: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_SIDNEY: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_PHOEBE: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_GLACIA: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_DRAKE: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_FRONTIER: + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_Frontier, 0x20, 0x60); + break; + } + } +} + +void LoadBattleTextboxAndBackground(void) +{ + LZDecompressVram(gBattleTextboxTiles, (void*)(VRAM)); + CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0); + CopyBgTilemapBufferToVram(0); + LoadCompressedPalette(gBattleTextboxPalette, 0, 0x40); + ApplyPlayerChosenFrameToBattleMenu(); + + DrawMainBattleBackground(); +} + +static void sub_8035AE4(u8 taskId, u8 bank, u8 bgId, u8 destX, u8 destY) +{ + s32 i; + u16 var = 0; + u16 src[6]; + + if (gBattleTypeFlags & BATTLE_TYPE_MULTI) + { + if (gTasks[taskId].data[5] != 0) + { + switch (bank) + { + case 0: + var = 0x3F & gTasks[taskId].data[3]; + break; + case 1: + var = (0xFC0 & gTasks[taskId].data[4]) >> 6; + break; + case 2: + var = (0xFC0 & gTasks[taskId].data[3]) >> 6; + break; + case 3: + var = 0x3F & gTasks[taskId].data[4]; + break; + } + } + else + { + switch (bank) + { + case 0: + var = 0x3F & gTasks[taskId].data[3]; + break; + case 1: + var = 0x3F & gTasks[taskId].data[4]; + break; + case 2: + var = (0xFC0 & gTasks[taskId].data[3]) >> 6; + break; + case 3: + var = (0xFC0 & gTasks[taskId].data[4]) >> 6; + break; + } + } + + for (i = 0; i < 3; i++) + { + src[i] = ((var & (3 << (i * 2))) >> (i * 2)) + 0x6001; + } + + CopyToBgTilemapBufferRect_ChangePalette(bgId, src, destX, destY, 3, 1, 0x11); + CopyBgTilemapBufferToVram(bgId); + } + else + { + if (bank == gBattleScripting.multiplayerId) + var = gTasks[taskId].data[3]; + else + var = gTasks[taskId].data[4]; + + for (i = 0; i < 6; i++) + { + src[i] = ((var & (3 << (i * 2))) >> (i * 2)) + 0x6001; + } + + CopyToBgTilemapBufferRect_ChangePalette(bgId, src, destX, destY, 6, 1, 0x11); + CopyBgTilemapBufferToVram(bgId); + } +} + +static void sub_8035C4C(void) +{ + if (gBattleOutcome == B_OUTCOME_DREW) + { + BattleHandleAddTextPrinter(gText_Draw, 0x15); + } + else if (gBattleTypeFlags & BATTLE_TYPE_MULTI) + { + if (gBattleOutcome == B_OUTCOME_WON) + { + switch (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18) + { + case 0: + BattleHandleAddTextPrinter(gText_Win, 0x16); + BattleHandleAddTextPrinter(gText_Loss, 0x17); + break; + case 1: + BattleHandleAddTextPrinter(gText_Win, 0x17); + BattleHandleAddTextPrinter(gText_Loss, 0x16); + break; + case 2: + BattleHandleAddTextPrinter(gText_Win, 0x16); + BattleHandleAddTextPrinter(gText_Loss, 0x17); + break; + case 3: + BattleHandleAddTextPrinter(gText_Win, 0x17); + BattleHandleAddTextPrinter(gText_Loss, 0x16); + break; + } + } + else + { + switch (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18) + { + case 0: + BattleHandleAddTextPrinter(gText_Win, 0x17); + BattleHandleAddTextPrinter(gText_Loss, 0x16); + break; + case 1: + BattleHandleAddTextPrinter(gText_Win, 0x16); + BattleHandleAddTextPrinter(gText_Loss, 0x17); + break; + case 2: + BattleHandleAddTextPrinter(gText_Win, 0x17); + BattleHandleAddTextPrinter(gText_Loss, 0x16); + break; + case 3: + BattleHandleAddTextPrinter(gText_Win, 0x16); + BattleHandleAddTextPrinter(gText_Loss, 0x17); + break; + } + } + } + else if (gBattleOutcome == B_OUTCOME_WON) + { + if (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18 != 0) + { + BattleHandleAddTextPrinter(gText_Win, 0x17); + BattleHandleAddTextPrinter(gText_Loss, 0x16); + } + else + { + BattleHandleAddTextPrinter(gText_Win, 0x16); + BattleHandleAddTextPrinter(gText_Loss, 0x17); + } + } + else + { + if (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18 != 0) + { + BattleHandleAddTextPrinter(gText_Win, 0x16); + BattleHandleAddTextPrinter(gText_Loss, 0x17); + } + else + { + BattleHandleAddTextPrinter(gText_Win, 0x17); + BattleHandleAddTextPrinter(gText_Loss, 0x16); + } + } +} + +void sub_8035D74(u8 taskId) +{ + struct LinkPlayer *linkPlayer; + u8 *name; + s32 i, palId; + + switch (gTasks[taskId].data[0]) + { + case 0: + if (gBattleTypeFlags & BATTLE_TYPE_MULTI) + { + for (i = 0; i < MAX_BATTLERS_COUNT; i++) + { + name = gLinkPlayers[i].name; + linkPlayer = &gLinkPlayers[i]; + + switch (linkPlayer->lp_field_18) + { + case 0: + BattleHandleAddTextPrinter(name, 0x11); + sub_8035AE4(taskId, linkPlayer->lp_field_18, 1, 2, 4); + break; + case 1: + BattleHandleAddTextPrinter(name, 0x12); + sub_8035AE4(taskId, linkPlayer->lp_field_18, 2, 2, 4); + break; + case 2: + BattleHandleAddTextPrinter(name, 0x13); + sub_8035AE4(taskId, linkPlayer->lp_field_18, 1, 2, 8); + break; + case 3: + BattleHandleAddTextPrinter(name, 0x14); + sub_8035AE4(taskId, linkPlayer->lp_field_18, 2, 2, 8); + break; + } + } + } + else + { + u8 playerId = gBattleScripting.multiplayerId; + u8 opponentId = playerId ^ BIT_SIDE; + u8 opponentId_copy = opponentId; + + if (gLinkPlayers[playerId].lp_field_18 != 0) + opponentId = playerId, playerId = opponentId_copy; + + name = gLinkPlayers[playerId].name; + BattleHandleAddTextPrinter(name, 0xF); + + name = gLinkPlayers[opponentId].name; + BattleHandleAddTextPrinter(name, 0x10); + + sub_8035AE4(taskId, playerId, 1, 2, 7); + sub_8035AE4(taskId, opponentId, 2, 2, 7); + } + gTasks[taskId].data[0]++; + break; + case 1: + palId = AllocSpritePalette(0x2710); + gPlttBufferUnfaded[palId * 16 + 0x10F] = gPlttBufferFaded[palId * 16 + 0x10F] = 0x7FFF; + gBattleStruct->field_7D = CreateSprite(&gUnknown_0831A9D0, 111, 80, 0); + gBattleStruct->field_7E = CreateSprite(&gUnknown_0831A9E8, 129, 80, 0); + gSprites[gBattleStruct->field_7D].invisible = 1; + gSprites[gBattleStruct->field_7E].invisible = 1; + gTasks[taskId].data[0]++; + break; + case 2: + if (gTasks[taskId].data[5] != 0) + { + gBattle_BG1_X = -(20) - (Sin2(gTasks[taskId].data[1]) / 32); + gBattle_BG2_X = -(140) - (Sin2(gTasks[taskId].data[2]) / 32); + gBattle_BG1_Y = -36; + gBattle_BG2_Y = -36; + } + else + { + gBattle_BG1_X = -(20) - (Sin2(gTasks[taskId].data[1]) / 32); + gBattle_BG1_Y = (Cos2(gTasks[taskId].data[1]) / 32) - 164; + gBattle_BG2_X = -(140) - (Sin2(gTasks[taskId].data[2]) / 32); + gBattle_BG2_Y = (Cos2(gTasks[taskId].data[2]) / 32) - 164; + } + + if (gTasks[taskId].data[2] != 0) + { + gTasks[taskId].data[2] -= 2; + gTasks[taskId].data[1] += 2; + } + else + { + if (gTasks[taskId].data[5] != 0) + sub_8035C4C(); + + PlaySE(SE_W231); + DestroyTask(taskId); + gSprites[gBattleStruct->field_7D].invisible = 0; + gSprites[gBattleStruct->field_7E].invisible = 0; + gSprites[gBattleStruct->field_7E].oam.tileNum += 0x40; + gSprites[gBattleStruct->field_7D].data[0] = 0; + gSprites[gBattleStruct->field_7E].data[0] = 1; + gSprites[gBattleStruct->field_7D].data[1] = gSprites[gBattleStruct->field_7D].pos1.x; + gSprites[gBattleStruct->field_7E].data[1] = gSprites[gBattleStruct->field_7E].pos1.x; + gSprites[gBattleStruct->field_7D].data[2] = 0; + gSprites[gBattleStruct->field_7E].data[2] = 0; + } + break; + } +} + +void LoadBattleEntryBackground(void) +{ + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + { + LZDecompressVram(gUnknown_08D778F0, (void*)(VRAM + 0x4000)); + LZDecompressVram(gUnknown_08D77B0C, (void*)(VRAM + 0x10000)); + LoadCompressedPalette(gUnknown_08D77AE4, 0x60, 0x20); + SetBgAttribute(1, BG_CTRL_ATTR_MAPBASEINDEX, 1); + SetGpuReg(REG_OFFSET_BG1CNT, 0x5C04); + CopyToBgTilemapBuffer(1, gUnknown_08D779D8, 0, 0); + CopyToBgTilemapBuffer(2, gUnknown_08D779D8, 0, 0); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + SetGpuReg(REG_OFFSET_WININ, 0x36); + SetGpuReg(REG_OFFSET_WINOUT, 0x36); + gBattle_BG1_Y = 0xFF5C; + gBattle_BG2_Y = 0xFF5C; + LoadCompressedObjectPicUsingHeap(&gUnknown_0831AA00); + } + else if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 | BATTLE_TYPE_EREADER_TRAINER)) + { + if (!(gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) || gPartnerTrainerId == STEVEN_PARTNER_ID) + { + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void*)(VRAM + 0x4000)); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void*)(VRAM + 0xE000)); + } + else + { + SetBgAttribute(1, BG_CTRL_ATTR_VISIBLE, 2); + SetBgAttribute(2, BG_CTRL_ATTR_VISIBLE, 2); + CopyToBgTilemapBuffer(1, gUnknown_08D857A8, 0, 0); + CopyToBgTilemapBuffer(2, gUnknown_08D85A1C, 0, 0); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + } + } + else if (gBattleTypeFlags & BATTLE_TYPE_GROUDON) + { + LZDecompressVram(gBattleTerrainAnimTiles_Cave, (void*)(VRAM + 0x4000)); + LZDecompressVram(gBattleTerrainAnimTilemap_Cave, (void*)(VRAM + 0xE000)); + } + else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE) + { + LZDecompressVram(gBattleTerrainAnimTiles_Underwater, (void*)(VRAM + 0x4000)); + LZDecompressVram(gBattleTerrainAnimTilemap_Underwater, (void*)(VRAM + 0xE000)); + } + else if (gBattleTypeFlags & BATTLE_TYPE_RAYQUAZA) + { + LZDecompressVram(gBattleTerrainAnimTiles_Rayquaza, (void*)(VRAM + 0x4000)); + LZDecompressVram(gBattleTerrainAnimTilemap_Rayquaza, (void*)(VRAM + 0xE000)); + } + else + { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass; + if (trainerClass == TRAINER_CLASS_LEADER) + { + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void*)(VRAM + 0x4000)); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void*)(VRAM + 0xE000)); + return; + } + else if (trainerClass == TRAINER_CLASS_CHAMPION) + { + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void*)(VRAM + 0x4000)); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void*)(VRAM + 0xE000)); + return; + } + } + + if (GetCurrentMapBattleScene() == MAP_BATTLE_SCENE_NORMAL) + { + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTileset, (void*)(VRAM + 0x4000)); + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTilemap, (void*)(VRAM + 0xE000)); + } + else + { + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void*)(VRAM + 0x4000)); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void*)(VRAM + 0xE000)); + } + } +} + +bool8 LoadChosenBattleElement(u8 caseId) +{ + bool8 ret = FALSE; + + switch (caseId) + { + case 0: + LZDecompressVram(gBattleTextboxTiles, (void*)(VRAM)); + break; + case 1: + CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0); + CopyBgTilemapBufferToVram(0); + break; + case 2: + LoadCompressedPalette(gBattleTextboxPalette, 0, 0x40); + break; + case 3: + if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 | BATTLE_TYPE_EREADER_TRAINER)) + { + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); + } + else if (gBattleTypeFlags & BATTLE_TYPE_GROUDON) + { + LZDecompressVram(gBattleTerrainTiles_Cave, (void*)(VRAM + 0x8000)); + } + else + { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass; + if (trainerClass == TRAINER_CLASS_LEADER) + { + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); + break; + } + else if (trainerClass == TRAINER_CLASS_CHAMPION) + { + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + break; + } + } + + switch (GetCurrentMapBattleScene()) + { + default: + case MAP_BATTLE_SCENE_NORMAL: + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tileset, (void*)(VRAM + 0x8000)); + break; + case MAP_BATTLE_SCENE_GYM: + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); + break; + case MAP_BATTLE_SCENE_MAGMA: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + break; + case MAP_BATTLE_SCENE_AQUA: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + break; + case MAP_BATTLE_SCENE_SIDNEY: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + break; + case MAP_BATTLE_SCENE_PHOEBE: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + break; + case MAP_BATTLE_SCENE_GLACIA: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + break; + case MAP_BATTLE_SCENE_DRAKE: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + break; + case MAP_BATTLE_SCENE_FRONTIER: + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); + break; + } + } + break; + case 4: + if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 | BATTLE_TYPE_EREADER_TRAINER)) + { + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); + } + else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) + { + if (gGameVersion == VERSION_RUBY) + LZDecompressVram(gBattleTerrainTilemap_Cave, (void*)(VRAM + 0xD000)); + else + LZDecompressVram(gBattleTerrainTilemap_Water, (void*)(VRAM + 0xD000)); + } + else + { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass; + if (trainerClass == TRAINER_CLASS_LEADER) + { + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); + break; + } + else if (trainerClass == TRAINER_CLASS_CHAMPION) + { + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + break; + } + } + + switch (GetCurrentMapBattleScene()) + { + default: + case MAP_BATTLE_SCENE_NORMAL: + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tilemap, (void*)(VRAM + 0xD000)); + break; + case MAP_BATTLE_SCENE_GYM: + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); + break; + case MAP_BATTLE_SCENE_MAGMA: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + break; + case MAP_BATTLE_SCENE_AQUA: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + break; + case MAP_BATTLE_SCENE_SIDNEY: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + break; + case MAP_BATTLE_SCENE_PHOEBE: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + break; + case MAP_BATTLE_SCENE_GLACIA: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + break; + case MAP_BATTLE_SCENE_DRAKE: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + break; + case MAP_BATTLE_SCENE_FRONTIER: + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); + break; + } + } + break; + case 5: + if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 | BATTLE_TYPE_EREADER_TRAINER)) + { + LoadCompressedPalette(gBattleTerrainPalette_Frontier, 0x20, 0x60); + } + else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) + { + if (gGameVersion == VERSION_RUBY) + LoadCompressedPalette(gBattleTerrainPalette_Groudon, 0x20, 0x60); + else + LoadCompressedPalette(gBattleTerrainPalette_Kyogre, 0x20, 0x60); + } + else + { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass; + if (trainerClass == TRAINER_CLASS_LEADER) + { + LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, 0x20, 0x60); + break; + } + else if (trainerClass == TRAINER_CLASS_CHAMPION) + { + LoadCompressedPalette(gBattleTerrainPalette_StadiumWallace, 0x20, 0x60); + break; + } + } + + switch (GetCurrentMapBattleScene()) + { + default: + case MAP_BATTLE_SCENE_NORMAL: + LoadCompressedPalette(gBattleTerrainTable[gBattleTerrain].palette, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_GYM: + LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_MAGMA: + LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_AQUA: + LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_SIDNEY: + LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_PHOEBE: + LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_GLACIA: + LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_DRAKE: + LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_FRONTIER: + LoadCompressedPalette(gBattleTerrainPalette_Frontier, 0x20, 0x60); + break; + } + } + break; + case 6: + ApplyPlayerChosenFrameToBattleMenu(); + break; + default: + ret = TRUE; + break; + } + + return ret; +} diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 968f6d49fb..290236f4a7 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -4,13 +4,15 @@ #include "battle_message.h" #include "battle_interface.h" #include "battle_anim.h" +#include "constants/battle_anim.h" #include "battle_ai_script_commands.h" #include "battle_link_817C95C.h" #include "pokemon.h" #include "link.h" #include "util.h" #include "main.h" -#include "songs.h" +#include "constants/songs.h" +#include "constants/trainers.h" #include "sound.h" #include "window.h" #include "m4a.h" @@ -22,47 +24,23 @@ #include "reshow_battle_screen.h" #include "pokeball.h" #include "data2.h" +#include "battle_setup.h" -extern u32 gBattleExecBuffer; -extern u8 gActiveBank; -extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT]; -extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT]; -extern u8 gNoOfAllBanks; -extern bool8 gDoingBattleAnim; -extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void); -extern void (*gPreBattleCallback1)(void); -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; -extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200]; -extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200]; -extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; extern struct SpriteTemplate gUnknown_0202499C; -extern u16 gScriptItemId; -extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT]; -extern u8 gBattleOutcome; extern u16 gBattle_BG0_X; extern u16 gBattle_BG0_Y; -extern u16 gUnknown_020243FC; -extern u8 gUnknown_03005D7C[BATTLE_BANKS_COUNT]; -extern u8 gBattleMonForms[BATTLE_BANKS_COUNT]; -extern u16 gPartnerTrainerId; -extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); -extern u8 gBankTarget; -extern u8 gAbsentBankFlags; -extern u8 gUnknown_020244B4[]; -extern u32 gTransformedPersonalities[BATTLE_BANKS_COUNT]; -extern struct MusicPlayerInfo gMPlay_BGM; +extern struct MusicPlayerInfo gMPlayInfo_BGM; extern struct UnusedControllerStruct gUnknown_02022D0C; -extern u16 gTrainerBattleOpponent_A; -extern u16 gTrainerBattleOpponent_B; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern const struct BattleMove gBattleMoves[]; -extern const u8 gUnknown_0831F578[]; +extern const u8 gFacilityClassToPicIndex[]; extern void sub_8172EF0(u8 bank, struct Pokemon *mon); extern void sub_806A068(u16, u8); extern void sub_81851A8(u8 *); extern u16 sub_8068B48(void); +extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); // this file's functions static void LinkOpponentHandleGetMonData(void); @@ -82,7 +60,7 @@ static void LinkOpponentHandleBallThrowAnim(void); static void LinkOpponentHandlePause(void); static void LinkOpponentHandleMoveAnimation(void); static void LinkOpponentHandlePrintString(void); -static void LinkOpponentHandlePrintStringPlayerOnly(void); +static void LinkOpponentHandlePrintSelectionString(void); static void LinkOpponentHandleChooseAction(void); static void LinkOpponentHandleUnknownYesNoBox(void); static void LinkOpponentHandleChooseMove(void); @@ -108,7 +86,7 @@ static void LinkOpponentHandleCmd39(void); static void LinkOpponentHandleCmd40(void); static void LinkOpponentHandleHitAnimation(void); static void LinkOpponentHandleCmd42(void); -static void LinkOpponentHandleEffectivenessSound(void); +static void LinkOpponentHandlePlaySE(void); static void LinkOpponentHandlePlayFanfareOrBGM(void); static void LinkOpponentHandleFaintingCry(void); static void LinkOpponentHandleIntroSlide(void); @@ -154,7 +132,7 @@ static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = LinkOpponentHandlePause, LinkOpponentHandleMoveAnimation, LinkOpponentHandlePrintString, - LinkOpponentHandlePrintStringPlayerOnly, + LinkOpponentHandlePrintSelectionString, LinkOpponentHandleChooseAction, LinkOpponentHandleUnknownYesNoBox, LinkOpponentHandleChooseMove, @@ -180,7 +158,7 @@ static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = LinkOpponentHandleCmd40, LinkOpponentHandleHitAnimation, LinkOpponentHandleCmd42, - LinkOpponentHandleEffectivenessSound, + LinkOpponentHandlePlaySE, LinkOpponentHandlePlayFanfareOrBGM, LinkOpponentHandleFaintingCry, LinkOpponentHandleIntroSlide, @@ -202,15 +180,15 @@ static void nullsub_28(void) void SetControllerToLinkOpponent(void) { - gBattleBankFunc[gActiveBank] = LinkOpponentBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = LinkOpponentBufferRunCommand; } static void LinkOpponentBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBank]) + if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) { - if (gBattleBufferA[gActiveBank][0] < ARRAY_COUNT(sLinkOpponentBufferCommands)) - sLinkOpponentBufferCommands[gBattleBufferA[gActiveBank][0]](); + if (gBattleBufferA[gActiveBattler][0] < ARRAY_COUNT(sLinkOpponentBufferCommands)) + sLinkOpponentBufferCommands[gBattleBufferA[gActiveBattler][0]](); else LinkOpponentBufferExecCompleted(); } @@ -218,32 +196,32 @@ static void LinkOpponentBufferRunCommand(void) static void CompleteOnBankSpriteCallbackDummy(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) LinkOpponentBufferExecCompleted(); } static void CompleteOnBankSpriteCallbackDummy2(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) LinkOpponentBufferExecCompleted(); } static void sub_8064470(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { - FreeTrainerFrontPicPalette(gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam); - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); + FreeTrainerFrontPicPalette(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); LinkOpponentBufferExecCompleted(); } } static void sub_80644D8(void) { - if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 == 0xFF) + if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 == 0xFF) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 = 0; LinkOpponentBufferExecCompleted(); } } @@ -255,13 +233,13 @@ static void sub_8064520(void) if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) r8 = TRUE; } else { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gHealthBoxesIds[gActiveBank ^ BIT_MON]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy) { r8 = TRUE; } @@ -270,39 +248,39 @@ static void sub_8064520(void) if (r8) { - if (r4 || !IsAnimBankSpriteVisible(gActiveBank ^ BIT_MON)) + if (r4 || !IsBattlerSpriteVisible(BATTLE_PARTNER(gActiveBattler))) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1) return; - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x1) + if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].field_1_x1) return; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].field_1_x1 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); } else { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1) return; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 = 0; - if (GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON2) + if (GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_RIGHT) { FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); } } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 = 3; - gBattleBankFunc[gActiveBank] = sub_80644D8; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 = 3; + gBattlerControllerFuncs[gActiveBattler] = sub_80644D8; } } @@ -310,106 +288,106 @@ static void sub_8064734(void) { bool32 r10 = FALSE; - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1) { - sub_8172EF0(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]); + sub_8172EF0(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); } if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x1) + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].flag_x80 + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].field_1_x1) { - sub_8172EF0(gActiveBank ^ BIT_MON, &gEnemyParty[gBattlePartyID[gActiveBank ^ BIT_MON]]); + sub_8172EF0(BATTLE_PARTNER(gActiveBattler), &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]]); } - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x80) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank ^ BIT_MON], &gEnemyParty[gBattlePartyID[gActiveBank ^ BIT_MON]], HEALTHBOX_ALL); - sub_8076918(gActiveBank ^ BIT_MON); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank ^ BIT_MON]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)], &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], HEALTHBOX_ALL); + sub_8076918(BATTLE_PARTNER(gActiveBattler)); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]); } - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gEnemyParty[gBattlePartyID[gActiveBank]], HEALTHBOX_ALL); - sub_8076918(gActiveBank); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80 = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x80 = 1; } - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x40 - && gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x40 + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x40 + && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x80 + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].field_1_x40 && !IsCryPlayingOrClearCrySongs()) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x20) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x20) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK) { - if (GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON1) - m4aMPlayContinue(&gMPlay_BGM); + if (GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_LEFT) + m4aMPlayContinue(&gMPlayInfo_BGM); } else { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); } } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x20 = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x20 = 1; r10 = TRUE; } if (r10) { - if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { - if (gBattleTypeFlags & BATTLE_TYPE_MULTI && GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON2) + if (gBattleTypeFlags & BATTLE_TYPE_MULTI && GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_RIGHT) { - if (++gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 == 1) + if (++gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 == 1) return; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 = 0; } if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank ^ BIT_MON]]); - SetBankEnemyShadowSpriteCallback(gActiveBank ^ BIT_MON, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank ^ BIT_MON]], MON_DATA_SPECIES)); + DestroySprite(&gSprites[gUnknown_03005D7C[BATTLE_PARTNER(gActiveBattler)]]); + SetBattlerShadowSpriteCallback(BATTLE_PARTNER(gActiveBattler), GetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], MON_DATA_SPECIES)); } - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]); - SetBankEnemyShadowSpriteCallback(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler]]); + SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); gBattleSpritesDataPtr->animationData->field_9_x1 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x20 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x20 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x80 = 0; - gBattleBankFunc[gActiveBank] = sub_8064520; + gBattlerControllerFuncs[gActiveBattler] = sub_8064520; } } } static void sub_8064B04(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gBankSpriteIds[gActiveBank]].pos2.x == 0) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80) { - sub_8172EF0(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]); + sub_8172EF0(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); } else { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); LinkOpponentBufferExecCompleted(); @@ -420,13 +398,13 @@ static void sub_8064B04(void) static void CompleteOnHealthbarDone(void) { - s16 hpValue = sub_8074AA0(gActiveBank, gHealthBoxesIds[gActiveBank], HEALTH_BAR, 0); + s16 hpValue = sub_8074AA0(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); if (hpValue != -1) { - UpdateHpTextInHealthbox(gHealthBoxesIds[gActiveBank], hpValue, HP_CURRENT); + UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], hpValue, HP_CURRENT); } else { @@ -436,21 +414,21 @@ static void CompleteOnHealthbarDone(void) static void sub_8064C14(void) { - if (!gSprites[gBankSpriteIds[gActiveBank]].inUse) + if (!gSprites[gBattlerSpriteIds[gActiveBattler]].inUse) { - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); LinkOpponentBufferExecCompleted(); } } static void sub_8064C58(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_805EEE0(gActiveBank); - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + HideBattlerShadowSprite(gActiveBattler); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); LinkOpponentBufferExecCompleted(); } } @@ -463,42 +441,42 @@ static void CompleteOnInactiveTextPrinter(void) static void DoHitAnimBlinkSpriteEffect(void) { - u8 spriteId = gBankSpriteIds[gActiveBank]; + u8 spriteId = gBattlerSpriteIds[gActiveBattler]; - if (gSprites[spriteId].data1 == 32) + if (gSprites[spriteId].data[1] == 32) { - gSprites[spriteId].data1 = 0; + gSprites[spriteId].data[1] = 0; gSprites[spriteId].invisible = 0; gDoingBattleAnim = FALSE; LinkOpponentBufferExecCompleted(); } else { - if ((gSprites[spriteId].data1 % 4) == 0) + if ((gSprites[spriteId].data[1] % 4) == 0) gSprites[spriteId].invisible ^= 1; - gSprites[spriteId].data1++; + gSprites[spriteId].data[1]++; } } static void sub_8064D60(void) { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE); + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); - gBattleBankFunc[gActiveBank] = sub_8064DD0; + gBattlerControllerFuncs[gActiveBattler] = sub_8064DD0; } } static void sub_8064DD0(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive && !IsCryPlayingOrClearCrySongs()) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive && !IsCryPlayingOrClearCrySongs()) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy - || gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy_2) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + || gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy_2) { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); LinkOpponentBufferExecCompleted(); } } @@ -506,67 +484,67 @@ static void sub_8064DD0(void) static void sub_8064E50(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 - && gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 + && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 0); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gEnemyParty[gBattlePartyID[gActiveBank]], HEALTHBOX_ALL); - sub_8076918(gActiveBank); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); - CopyBattleSpriteInvisibility(gActiveBank); - gBattleBankFunc[gActiveBank] = sub_8064D60; + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); + CopyBattleSpriteInvisibility(gActiveBattler); + gBattlerControllerFuncs[gActiveBattler] = sub_8064D60; } } static void sub_8064F40(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80) { - sub_8172EF0(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]); + sub_8172EF0(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); } - if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8) + if (gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) { - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]); - SetBankEnemyShadowSpriteCallback(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); - gBattleBankFunc[gActiveBank] = sub_8064E50; + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler]]); + SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); + gBattlerControllerFuncs[gActiveBattler] = sub_8064E50; } } static void CompleteOnFinishedStatusAnimation(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].statusAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive) LinkOpponentBufferExecCompleted(); } static void CompleteOnFinishedBattleAnimation(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animFromTableActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive) LinkOpponentBufferExecCompleted(); } static void LinkOpponentBufferExecCompleted(void) { - gBattleBankFunc[gActiveBank] = LinkOpponentBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = LinkOpponentBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleBufferA[gActiveBank][0] = CONTROLLER_TERMINATOR_NOP; + gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else { - gBattleExecBuffer &= ~gBitTable[gActiveBank]; + gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; } } @@ -577,13 +555,13 @@ static void LinkOpponentHandleGetMonData(void) u8 monToCheck; s32 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - size += CopyLinkOpponentMonData(gBattlePartyID[gActiveBank], monData); + size += CopyLinkOpponentMonData(gBattlerPartyIndexes[gActiveBattler], monData); } else { - monToCheck = gBattleBufferA[gActiveBank][2]; + monToCheck = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (monToCheck & 1) @@ -591,7 +569,7 @@ static void LinkOpponentHandleGetMonData(void) monToCheck >>= 1; } } - EmitDataTransfer(1, size, monData); + BtlController_EmitDataTransfer(1, size, monData); LinkOpponentBufferExecCompleted(); } @@ -605,7 +583,7 @@ static u32 CopyLinkOpponentMonData(u8 monId, u8 *dst) u32 data32; s32 size = 0; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case REQUEST_ALL_BATTLE: battleMon.species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES); @@ -671,7 +649,7 @@ static u32 CopyLinkOpponentMonData(u8 monId, u8 *dst) case REQUEST_MOVE2_BATTLE: case REQUEST_MOVE3_BATTLE: case REQUEST_MOVE4_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - REQUEST_MOVE1_BATTLE); + data16 = GetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE); dst[0] = data16; dst[1] = data16 >> 8; size = 2; @@ -686,7 +664,7 @@ static u32 CopyLinkOpponentMonData(u8 monId, u8 *dst) case REQUEST_PPMOVE2_BATTLE: case REQUEST_PPMOVE3_BATTLE: case REQUEST_PPMOVE4_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - REQUEST_PPMOVE1_BATTLE); + dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE); size = 1; break; case REQUEST_OTID_BATTLE: @@ -911,13 +889,13 @@ static void LinkOpponentHandleSetMonData(void) u8 monToCheck; u8 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - SetLinkOpponentMonData(gBattlePartyID[gActiveBank]); + SetLinkOpponentMonData(gBattlerPartyIndexes[gActiveBattler]); } else { - monToCheck = gBattleBufferA[gActiveBank][2]; + monToCheck = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (monToCheck & 1) @@ -930,11 +908,11 @@ static void LinkOpponentHandleSetMonData(void) static void SetLinkOpponentMonData(u8 monId) { - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBank][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBank][3]; + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBattler][3]; + struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBattler][3]; s32 i; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case REQUEST_ALL_BATTLE: { @@ -975,10 +953,10 @@ static void SetLinkOpponentMonData(u8 monId) } break; case REQUEST_SPECIES_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HELDITEM_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MOVES_PP_BATTLE: for (i = 0; i < 4; i++) @@ -992,196 +970,196 @@ static void SetLinkOpponentMonData(u8 monId) case REQUEST_MOVE2_BATTLE: case REQUEST_MOVE3_BATTLE: case REQUEST_MOVE4_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - REQUEST_MOVE1_BATTLE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_PP_DATA_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_PP1, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP2, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP3, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP4, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBank][7]); + SetMonData(&gEnemyParty[monId], MON_DATA_PP1, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_PP2, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gEnemyParty[monId], MON_DATA_PP3, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gEnemyParty[monId], MON_DATA_PP4, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBattler][7]); break; case REQUEST_PPMOVE1_BATTLE: case REQUEST_PPMOVE2_BATTLE: case REQUEST_PPMOVE3_BATTLE: case REQUEST_PPMOVE4_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - REQUEST_PPMOVE1_BATTLE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_OTID_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_OT_ID, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_OT_ID, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_EXP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_EXP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_EXP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HP_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_HP_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_FRIENDSHIP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_POKERUS_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_POKERUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_POKERUS, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_LOCATION_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_LEVEL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_GAME_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_POKEBALL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ALL_IVS_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); + SetMonData(&gEnemyParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][7]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][8]); break; case REQUEST_HP_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_PERSONALITY_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CHECKSUM_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_STATUS_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_STATUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_STATUS, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_LEVEL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_HP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MAX_HP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_ATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_ATK, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_DEF, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPEED, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPATK, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_COOL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_COOL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_COOL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_BEAUTY_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CUTE_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_CUTE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_CUTE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SMART_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SMART, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SMART, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_TOUGH_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_TOUGH, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_TOUGH, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SHEEN_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SHEEN, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SHEEN, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_COOL_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_BEAUTY_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CUTE_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SMART_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_TOUGH_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; } } static void LinkOpponentHandleSetRawMonData(void) { - u8 *dst = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; + u8 *dst = (u8 *)&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1]; u8 i; - for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) - dst[i] = gBattleBufferA[gActiveBank][3 + i]; + for (i = 0; i < gBattleBufferA[gActiveBattler][2]; i++) + dst[i] = gBattleBufferA[gActiveBattler][3 + i]; LinkOpponentBufferExecCompleted(); } static void LinkOpponentHandleLoadMonSprite(void) { - u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlePartyID[gActiveBank]], gActiveBank); - sub_806A068(species, GetBankIdentity(gActiveBank)); + BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + sub_806A068(species, GetBattlerPosition(gActiveBattler)); - gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, - sub_80A5C6C(gActiveBank, 2), - sub_80A6138(gActiveBank), - sub_80A82E4(gActiveBank)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, + GetBattlerSpriteCoord(gActiveBattler, 2), + GetBattlerSpriteDefault_Y(gActiveBattler), + sub_80A82E4(gActiveBattler)); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; - gSprites[gBankSpriteIds[gActiveBank]].data0 = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]); + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); - SetBankEnemyShadowSpriteCallback(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); + SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); - gBattleBankFunc[gActiveBank] = sub_8064B04; + gBattlerControllerFuncs[gActiveBattler] = sub_8064B04; } static void LinkOpponentHandleSwitchInAnim(void) { - gBattlePartyID[gActiveBank] = gBattleBufferA[gActiveBank][1]; - sub_8066494(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattleBankFunc[gActiveBank] = sub_8064F40; + gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; + sub_8066494(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattlerControllerFuncs[gActiveBattler] = sub_8064F40; } static void sub_8066494(u8 bank, bool8 dontClearSubstituteBit) @@ -1189,66 +1167,66 @@ static void sub_8066494(u8 bank, bool8 dontClearSubstituteBit) u16 species; ClearTemporarySpeciesSpriteData(bank, dontClearSubstituteBit); - gBattlePartyID[bank] = gBattleBufferA[bank][1]; - species = GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES); + gBattlerPartyIndexes[bank] = gBattleBufferA[bank][1]; + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714); - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlePartyID[bank]], bank); - sub_806A068(species, GetBankIdentity(bank)); + BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[bank]], bank); + sub_806A068(species, GetBattlerPosition(bank)); - gBankSpriteIds[bank] = CreateSprite( + gBattlerSpriteIds[bank] = CreateSprite( &gUnknown_0202499C, - sub_80A5C6C(bank, 2), - sub_80A6138(bank), + GetBattlerSpriteCoord(bank, 2), + GetBattlerSpriteDefault_Y(bank), sub_80A82E4(bank)); - gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank]; - gSprites[gUnknown_03005D7C[bank]].data2 = bank; + gSprites[gUnknown_03005D7C[bank]].data[1] = gBattlerSpriteIds[bank]; + gSprites[gUnknown_03005D7C[bank]].data[2] = bank; - gSprites[gBankSpriteIds[bank]].data0 = bank; - gSprites[gBankSpriteIds[bank]].data2 = species; - gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; + gSprites[gBattlerSpriteIds[bank]].data[0] = bank; + gSprites[gBattlerSpriteIds[bank]].data[2] = species; + gSprites[gBattlerSpriteIds[bank]].oam.paletteNum = bank; - StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[bank]], gBattleMonForms[bank]); - gSprites[gBankSpriteIds[bank]].invisible = TRUE; - gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[bank]].invisible = TRUE; + gSprites[gBattlerSpriteIds[bank]].callback = SpriteCallbackDummy; - gSprites[gUnknown_03005D7C[bank]].data0 = sub_80753E8(0, 0xFE); + gSprites[gUnknown_03005D7C[bank]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT); } static void LinkOpponentHandleReturnMonToBall(void) { - if (gBattleBufferA[gActiveBank][1] == 0) + if (gBattleBufferA[gActiveBattler][1] == 0) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - gBattleBankFunc[gActiveBank] = DoSwitchOutAnimation; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + gBattlerControllerFuncs[gActiveBattler] = DoSwitchOutAnimation; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_805EEE0(gActiveBank); - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + HideBattlerShadowSprite(gActiveBattler); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); LinkOpponentBufferExecCompleted(); } } static void DoSwitchOutAnimation(void) { - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState) + switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) { case 0: - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; break; case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_OPPONENT_MON); - gBattleBankFunc[gActiveBank] = sub_8064C58; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SWITCH_OUT_OPPONENT_MON); + gBattlerControllerFuncs[gActiveBattler] = sub_8064C58; } break; } @@ -1261,39 +1239,39 @@ static void LinkOpponentHandleDrawTrainerPic(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if ((GetBankIdentity(gActiveBank) & BIT_MON) != 0) // second mon + if ((GetBattlerPosition(gActiveBattler) & BIT_FLANK) != 0) // second mon xPos = 152; else // first mon xPos = 200; if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) { - if (gActiveBank == 1) + if (gActiveBattler == 1) trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_A); else trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_B); } else { - if ((gLinkPlayers[GetBankMultiplayerId(gActiveBank)].version & 0xFF) == VERSION_FIRE_RED - || (gLinkPlayers[GetBankMultiplayerId(gActiveBank)].version & 0xFF) == VERSION_LEAF_GREEN) + if ((gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_FIRE_RED + || (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_LEAF_GREEN) { - if (gLinkPlayers[GetBankMultiplayerId(gActiveBank)].gender != 0) - trainerPicId = gUnknown_0831F578[0x4F]; + if (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender != 0) + trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_10]; else - trainerPicId = gUnknown_0831F578[0x4E]; + trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_9]; } - else if ((gLinkPlayers[GetBankMultiplayerId(gActiveBank)].version & 0xFF) == VERSION_RUBY - || (gLinkPlayers[GetBankMultiplayerId(gActiveBank)].version & 0xFF) == VERSION_SAPPHIRE) + else if ((gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_RUBY + || (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_SAPPHIRE) { - if (gLinkPlayers[GetBankMultiplayerId(gActiveBank)].gender != 0) - trainerPicId = gUnknown_0831F578[0x51]; + if (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender != 0) + trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_12]; else - trainerPicId = gUnknown_0831F578[0x50]; + trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_11]; } else { - trainerPicId = PlayerGenderToFrontTrainerPicId(gLinkPlayers[GetBankMultiplayerId(gActiveBank)].gender); + trainerPicId = PlayerGenderToFrontTrainerPicId(gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender); } } } @@ -1308,17 +1286,17 @@ static void LinkOpponentHandleDrawTrainerPic(void) || (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].version & 0xFF) == VERSION_LEAF_GREEN) { if (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].gender != 0) - trainerPicId = gUnknown_0831F578[0x4F]; + trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_10]; else - trainerPicId = gUnknown_0831F578[0x4E]; + trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_9]; } else if ((gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].version & 0xFF) == VERSION_RUBY || (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].version & 0xFF) == VERSION_SAPPHIRE) { if (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].gender != 0) - trainerPicId = gUnknown_0831F578[0x51]; + trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_12]; else - trainerPicId = gUnknown_0831F578[0x50]; + trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_11]; } else { @@ -1326,73 +1304,73 @@ static void LinkOpponentHandleDrawTrainerPic(void) } } - DecompressTrainerFrontPic(trainerPicId, gActiveBank); - sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, + DecompressTrainerFrontPic(trainerPicId, gActiveBattler); + sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, - sub_80A82E4(gActiveBank)); + sub_80A82E4(gActiveBattler)); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; - gSprites[gBankSpriteIds[gActiveBank]].data0 = 2; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); - gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam = trainerPicId; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 2; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; - gBattleBankFunc[gActiveBank] = CompleteOnBankSpriteCallbackDummy; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy; } static void LinkOpponentHandleTrainerSlide(void) { u32 trainerPicId; - if (gActiveBank == 1) + if (gActiveBattler == 1) trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_A); else trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_B); - DecompressTrainerFrontPic(trainerPicId, gActiveBank); - sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, 176, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, 0x1E); + DecompressTrainerFrontPic(trainerPicId, gActiveBattler); + sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, 176, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, 0x1E); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 96; - gSprites[gBankSpriteIds[gActiveBank]].pos1.x += 32; - gSprites[gBankSpriteIds[gActiveBank]].data0 = -2; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); - gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam = trainerPicId; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 96; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.x += 32; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; - gBattleBankFunc[gActiveBank] = CompleteOnBankSpriteCallbackDummy2; // this line is redundant, because LinkOpponentBufferExecCompleted changes the battle bank function + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy2; // this line is redundant, because LinkOpponentBufferExecCompleted changes the battle bank function LinkOpponentBufferExecCompleted(); } static void LinkOpponentHandleTrainerSlideBack(void) { - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data0 = 35; - gSprites[gBankSpriteIds[gActiveBank]].data2 = 280; - gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC; - StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy); - gBattleBankFunc[gActiveBank] = sub_8064470; + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; + StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); + gBattlerControllerFuncs[gActiveBattler] = sub_8064470; } static void LinkOpponentHandleFaintAnimation(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState == 0) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState == 0) { - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState++; + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState++; } else { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_OPPONENT); - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8039934; - gBattleBankFunc[gActiveBank] = sub_8064C14; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_8039934; + gBattlerControllerFuncs[gActiveBattler] = sub_8064C14; } } } @@ -1419,25 +1397,25 @@ static void LinkOpponentHandlePause(void) static void LinkOpponentHandleMoveAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u16 move = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); + u16 move = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); - gAnimMoveTurn = gBattleBufferA[gActiveBank][3]; - gAnimMovePower = gBattleBufferA[gActiveBank][4] | (gBattleBufferA[gActiveBank][5] << 8); - gAnimMoveDmg = gBattleBufferA[gActiveBank][6] | (gBattleBufferA[gActiveBank][7] << 8) | (gBattleBufferA[gActiveBank][8] << 16) | (gBattleBufferA[gActiveBank][9] << 24); - gAnimFriendship = gBattleBufferA[gActiveBank][10]; - gWeatherMoveAnim = gBattleBufferA[gActiveBank][12] | (gBattleBufferA[gActiveBank][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBank][16]; - gTransformedPersonalities[gActiveBank] = gAnimDisableStructPtr->transformedMonPersonality; + gAnimMoveTurn = gBattleBufferA[gActiveBattler][3]; + gAnimMovePower = gBattleBufferA[gActiveBattler][4] | (gBattleBufferA[gActiveBattler][5] << 8); + gAnimMoveDmg = gBattleBufferA[gActiveBattler][6] | (gBattleBufferA[gActiveBattler][7] << 8) | (gBattleBufferA[gActiveBattler][8] << 16) | (gBattleBufferA[gActiveBattler][9] << 24); + gAnimFriendship = gBattleBufferA[gActiveBattler][10]; + gWeatherMoveAnim = gBattleBufferA[gActiveBattler][12] | (gBattleBufferA[gActiveBattler][13] << 8); + gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; + gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; if (IsMoveWithoutAnimation(move, gAnimMoveTurn)) // always returns FALSE { LinkOpponentBufferExecCompleted(); } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - gBattleBankFunc[gActiveBank] = LinkOpponentDoMoveAnimation; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + gBattlerControllerFuncs[gActiveBattler] = LinkOpponentDoMoveAnimation; sub_817E0FC(move, gWeatherMoveAnim, gAnimDisableStructPtr); } } @@ -1445,26 +1423,26 @@ static void LinkOpponentHandleMoveAnimation(void) static void LinkOpponentDoMoveAnimation(void) { - u16 move = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); - u8 multihit = gBattleBufferA[gActiveBank][11]; + u16 move = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); + u8 multihit = gBattleBufferA[gActiveBattler][11]; - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState) + switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) { case 0: - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute - && !gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8) + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute + && !gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8) { - gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 1; - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); + gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 1; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; break; case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { sub_805EB9C(0); DoMoveAnim(move); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 2; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; } break; case 2: @@ -1472,20 +1450,20 @@ static void LinkOpponentDoMoveAnimation(void) if (!gAnimScriptActive) { sub_805EB9C(1); - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute && multihit < 2) + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) { - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE); - gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 0; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); + gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 0; } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 3; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 3; } break; case 3: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - sub_805E394(); - TrySetBehindSubstituteSpriteBit(gActiveBank, gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; + CopyAllBattleSpritesInvisibilities(); + TrySetBehindSubstituteSpriteBit(gActiveBattler, gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; LinkOpponentBufferExecCompleted(); } break; @@ -1498,14 +1476,14 @@ static void LinkOpponentHandlePrintString(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - stringId = (u16*)(&gBattleBufferA[gActiveBank][2]); + stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); - gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; sub_817C95C(*stringId); } -static void LinkOpponentHandlePrintStringPlayerOnly(void) +static void LinkOpponentHandlePrintSelectionString(void) { LinkOpponentBufferExecCompleted(); } @@ -1545,23 +1523,23 @@ static void LinkOpponentHandleHealthBarUpdate(void) s16 hpVal; LoadBattleBarGfx(0); - hpVal = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + hpVal = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); if (hpVal != INSTANT_HP_BAR_DROP) { - u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); - u32 curHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_HP); + u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); + u32 curHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - SetBattleBarStruct(gActiveBank, gHealthBoxesIds[gActiveBank], maxHP, curHP, hpVal); + SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, curHP, hpVal); } else { - u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - SetBattleBarStruct(gActiveBank, gHealthBoxesIds[gActiveBank], maxHP, 0, hpVal); + SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, 0, hpVal); } - gBattleBankFunc[gActiveBank] = CompleteOnHealthbarDone; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; } static void LinkOpponentHandleExpUpdate(void) @@ -1571,24 +1549,24 @@ static void LinkOpponentHandleExpUpdate(void) static void LinkOpponentHandleStatusIconUpdate(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { u8 bank; - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gEnemyParty[gBattlePartyID[gActiveBank]], HEALTHBOX_STATUS_ICON); - bank = gActiveBank; + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); + bank = gActiveBattler; gBattleSpritesDataPtr->healthBoxesData[bank].statusAnimActive = 0; - gBattleBankFunc[gActiveBank] = CompleteOnFinishedStatusAnimation; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } static void LinkOpponentHandleStatusAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - DoStatusAnimation(gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8) | (gBattleBufferA[gActiveBank][4] << 16) | (gBattleBufferA[gActiveBank][5] << 24)); - gBattleBankFunc[gActiveBank] = CompleteOnFinishedStatusAnimation; + InitAndLaunchChosenStatusAnimation(gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8) | (gBattleBufferA[gActiveBattler][4] << 16) | (gBattleBufferA[gActiveBattler][5] << 24)); + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } @@ -1645,7 +1623,7 @@ static void LinkOpponentHandleCmd37(void) static void LinkOpponentHandleCmd38(void) { - gUnknown_02022D0C.field_0 = gBattleBufferA[gActiveBank][1]; + gUnknown_02022D0C.field_0 = gBattleBufferA[gActiveBattler][1]; LinkOpponentBufferExecCompleted(); } @@ -1663,16 +1641,16 @@ static void LinkOpponentHandleCmd40(void) static void LinkOpponentHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) { LinkOpponentBufferExecCompleted(); } else { gDoingBattleAnim = TRUE; - gSprites[gBankSpriteIds[gActiveBank]].data1 = 0; - DoHitAnimHealthboxEffect(gActiveBank); - gBattleBankFunc[gActiveBank] = DoHitAnimBlinkSpriteEffect; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; + DoHitAnimHealthboxEffect(gActiveBattler); + gBattlerControllerFuncs[gActiveBattler] = DoHitAnimBlinkSpriteEffect; } } @@ -1681,29 +1659,29 @@ static void LinkOpponentHandleCmd42(void) LinkOpponentBufferExecCompleted(); } -static void LinkOpponentHandleEffectivenessSound(void) +static void LinkOpponentHandlePlaySE(void) { s8 pan; - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) pan = PAN_SIDE_PLAYER; else pan = PAN_SIDE_OPPONENT; - PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan); + PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan); LinkOpponentBufferExecCompleted(); } static void LinkOpponentHandlePlayFanfareOrBGM(void) { - if (gBattleBufferA[gActiveBank][3]) + if (gBattleBufferA[gActiveBattler][3]) { - BattleMusicStop(); - PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + BattleStopLowHpSound(); + PlayBGM(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); } else { - PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); } LinkOpponentBufferExecCompleted(); @@ -1711,7 +1689,7 @@ static void LinkOpponentHandlePlayFanfareOrBGM(void) static void LinkOpponentHandleFaintingCry(void) { - u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); PlayCry3(species, 25, 5); LinkOpponentBufferExecCompleted(); @@ -1719,8 +1697,8 @@ static void LinkOpponentHandleFaintingCry(void) static void LinkOpponentHandleIntroSlide(void) { - HandleIntroSlide(gBattleBufferA[gActiveBank][1]); - gUnknown_020243FC |= 1; + HandleIntroSlide(gBattleBufferA[gActiveBattler][1]); + gIntroSlideFlags |= 1; LinkOpponentBufferExecCompleted(); } @@ -1729,46 +1707,46 @@ static void LinkOpponentHandleIntroTrainerBallThrow(void) u8 paletteNum; u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - gSprites[gBankSpriteIds[gActiveBank]].data0 = 35; - gSprites[gBankSpriteIds[gActiveBank]].data2 = 280; - gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; - StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], sub_80676FC); + StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_80676FC); taskId = CreateTask(sub_8067618, 5); - gTasks[taskId].data[0] = gActiveBank; + gTasks[taskId].data[0] = gActiveBattler; - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1) - gTasks[gUnknown_020244B4[gActiveBank]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; gBattleSpritesDataPtr->animationData->field_9_x1 = 1; - gBattleBankFunc[gActiveBank] = nullsub_28; + gBattlerControllerFuncs[gActiveBattler] = nullsub_28; } static void sub_8067618(u8 taskId) { - u8 savedActiveBank = gActiveBank; + u8 savedActiveBank = gActiveBattler; - gActiveBank = gTasks[taskId].data[0]; + gActiveBattler = gTasks[taskId].data[0]; if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_8066494(gActiveBank, FALSE); + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_8066494(gActiveBattler, FALSE); } else { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_8066494(gActiveBank, FALSE); - gActiveBank ^= BIT_MON; - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_8066494(gActiveBank, FALSE); - gActiveBank ^= BIT_MON; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_8066494(gActiveBattler, FALSE); + gActiveBattler = BATTLE_PARTNER(gActiveBattler); + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_8066494(gActiveBattler, FALSE); + gActiveBattler = BATTLE_PARTNER(gActiveBattler); } - gBattleBankFunc[gActiveBank] = sub_8064734; - gActiveBank = savedActiveBank; + gBattlerControllerFuncs[gActiveBattler] = sub_8064734; + gActiveBattler = savedActiveBank; DestroyTask(taskId); } @@ -1781,50 +1759,50 @@ static void sub_80676FC(struct Sprite *sprite) static void LinkOpponentHandleDrawPartyStatusSummary(void) { - if (gBattleBufferA[gActiveBank][1] != 0 && GetBankSide(gActiveBank) == SIDE_PLAYER) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { LinkOpponentBufferExecCompleted(); } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1 = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1 = 1; - if (gBattleBufferA[gActiveBank][2] != 0) + if (gBattleBufferA[gActiveBattler][2] != 0) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1E < 2) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1E < 2) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1E++; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1E++; return; } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1E = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1E = 0; } } - gUnknown_020244B4[gActiveBank] = CreatePartyStatusSummarySprites(gActiveBank, (struct HpAndStatus *)&gBattleBufferA[gActiveBank][4], gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][2]); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5 = 0; + gBattlerStatusSummaryTaskId[gActiveBattler] = CreatePartyStatusSummarySprites(gActiveBattler, (struct HpAndStatus *)&gBattleBufferA[gActiveBattler][4], gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][2]); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0; - if (gBattleBufferA[gActiveBank][2] != 0) - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5 = 0x5D; + if (gBattleBufferA[gActiveBattler][2] != 0) + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0x5D; - gBattleBankFunc[gActiveBank] = sub_806782C; + gBattlerControllerFuncs[gActiveBattler] = sub_806782C; } } static void sub_806782C(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5++ > 0x5C) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5++ > 0x5C) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0; LinkOpponentBufferExecCompleted(); } } static void LinkOpponentHandleCmd49(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1) - gTasks[gUnknown_020244B4[gActiveBank]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; LinkOpponentBufferExecCompleted(); } @@ -1835,25 +1813,25 @@ static void LinkOpponentHandleCmd50(void) static void LinkOpponentHandleSpriteInvisibility(void) { - if (IsBankSpritePresent(gActiveBank)) + if (IsBattlerSpritePresent(gActiveBattler)) { - gSprites[gBankSpriteIds[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; - CopyBattleSpriteInvisibility(gActiveBank); + gSprites[gBattlerSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; + CopyBattleSpriteInvisibility(gActiveBattler); } LinkOpponentBufferExecCompleted(); } static void LinkOpponentHandleBattleAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u8 animationId = gBattleBufferA[gActiveBank][1]; - u16 argument = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 animationId = gBattleBufferA[gActiveBattler][1]; + u16 argument = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - if (DoBattleAnimationFromTable(gActiveBank, gActiveBank, gActiveBank, animationId, argument)) + if (TryHandleLaunchBattleTableAnimation(gActiveBattler, gActiveBattler, gActiveBattler, animationId, argument)) LinkOpponentBufferExecCompleted(); else - gBattleBankFunc[gActiveBank] = CompleteOnFinishedBattleAnimation; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation; sub_817E32C(animationId); } @@ -1861,7 +1839,7 @@ static void LinkOpponentHandleBattleAnimation(void) static void LinkOpponentHandleLinkStandbyMsg(void) { - sub_81851A8(&gBattleBufferA[gActiveBank][2]); + sub_81851A8(&gBattleBufferA[gActiveBattler][2]); LinkOpponentBufferExecCompleted(); } @@ -1872,18 +1850,18 @@ static void LinkOpponentHandleResetActionMoveSelection(void) static void LinkOpponentHandleCmd55(void) { - sub_81851A8(&gBattleBufferA[gActiveBank][4]); + sub_81851A8(&gBattleBufferA[gActiveBattler][4]); - if (gBattleBufferA[gActiveBank][1] == BATTLE_DREW) - gBattleOutcome = gBattleBufferA[gActiveBank][1]; + if (gBattleBufferA[gActiveBattler][1] == B_OUTCOME_DREW) + gBattleOutcome = gBattleBufferA[gActiveBattler][1]; else - gBattleOutcome = gBattleBufferA[gActiveBank][1] ^ BATTLE_DREW; + gBattleOutcome = gBattleBufferA[gActiveBattler][1] ^ B_OUTCOME_DREW; - gSaveBlock2Ptr->field_CA9_b = gBattleBufferA[gActiveBank][2]; + gSaveBlock2Ptr->field_CA9_b = gBattleBufferA[gActiveBattler][2]; FadeOutMapMusic(5); BeginFastPaletteFade(3); LinkOpponentBufferExecCompleted(); - gBattleBankFunc[gActiveBank] = sub_80587B0; + gBattlerControllerFuncs[gActiveBattler] = sub_80587B0; } static void nullsub_92(void) diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 4a70a4dc1a..9d2c79922c 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -4,13 +4,14 @@ #include "battle_message.h" #include "battle_interface.h" #include "battle_anim.h" +#include "constants/battle_anim.h" #include "battle_ai_script_commands.h" #include "battle_link_817C95C.h" #include "pokemon.h" #include "link.h" #include "util.h" #include "main.h" -#include "songs.h" +#include "constants/songs.h" #include "sound.h" #include "window.h" #include "m4a.h" @@ -22,34 +23,11 @@ #include "reshow_battle_screen.h" #include "pokeball.h" #include "data2.h" +#include "battle_setup.h" -extern u32 gBattleExecBuffer; -extern u8 gActiveBank; -extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT]; -extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT]; -extern u8 gNoOfAllBanks; -extern bool8 gDoingBattleAnim; -extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void); -extern void (*gPreBattleCallback1)(void); -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; -extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200]; -extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200]; -extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; extern struct SpriteTemplate gUnknown_0202499C; -extern u16 gScriptItemId; -extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT]; -extern u8 gBattleOutcome; extern u16 gBattle_BG0_X; extern u16 gBattle_BG0_Y; -extern u16 gUnknown_020243FC; -extern u8 gUnknown_03005D7C[BATTLE_BANKS_COUNT]; -extern u8 gBattleMonForms[BATTLE_BANKS_COUNT]; -extern u16 gPartnerTrainerId; -extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); -extern u8 gBankTarget; -extern u8 gAbsentBankFlags; -extern u8 gUnknown_020244B4[]; -extern u32 gTransformedPersonalities[BATTLE_BANKS_COUNT]; extern struct UnusedControllerStruct gUnknown_02022D0C; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; @@ -59,6 +37,7 @@ extern const struct BattleMove gBattleMoves[]; extern void sub_8172EF0(u8 bank, struct Pokemon *mon); extern void sub_806A068(u16, u8); extern void sub_81851A8(u8 *); +extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); // this file's functions static void LinkPartnerHandleGetMonData(void); @@ -78,7 +57,7 @@ static void LinkPartnerHandleBallThrowAnim(void); static void LinkPartnerHandlePause(void); static void LinkPartnerHandleMoveAnimation(void); static void LinkPartnerHandlePrintString(void); -static void LinkPartnerHandlePrintStringPlayerOnly(void); +static void LinkPartnerHandlePrintSelectionString(void); static void LinkPartnerHandleChooseAction(void); static void LinkPartnerHandleUnknownYesNoBox(void); static void LinkPartnerHandleChooseMove(void); @@ -104,7 +83,7 @@ static void LinkPartnerHandleCmd39(void); static void LinkPartnerHandleCmd40(void); static void LinkPartnerHandleHitAnimation(void); static void LinkPartnerHandleCmd42(void); -static void LinkPartnerHandleEffectivenessSound(void); +static void LinkPartnerHandlePlaySE(void); static void LinkPartnerHandlePlayFanfareOrBGM(void); static void LinkPartnerHandleFaintingCry(void); static void LinkPartnerHandleIntroSlide(void); @@ -149,7 +128,7 @@ static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = LinkPartnerHandlePause, LinkPartnerHandleMoveAnimation, LinkPartnerHandlePrintString, - LinkPartnerHandlePrintStringPlayerOnly, + LinkPartnerHandlePrintSelectionString, LinkPartnerHandleChooseAction, LinkPartnerHandleUnknownYesNoBox, LinkPartnerHandleChooseMove, @@ -175,7 +154,7 @@ static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = LinkPartnerHandleCmd40, LinkPartnerHandleHitAnimation, LinkPartnerHandleCmd42, - LinkPartnerHandleEffectivenessSound, + LinkPartnerHandlePlaySE, LinkPartnerHandlePlayFanfareOrBGM, LinkPartnerHandleFaintingCry, LinkPartnerHandleIntroSlide, @@ -197,15 +176,15 @@ static void nullsub_112(void) void SetControllerToLinkPartner(void) { - gBattleBankFunc[gActiveBank] = LinkPartnerBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = LinkPartnerBufferRunCommand; } static void LinkPartnerBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBank]) + if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) { - if (gBattleBufferA[gActiveBank][0] < ARRAY_COUNT(sLinkPartnerBufferCommands)) - sLinkPartnerBufferCommands[gBattleBufferA[gActiveBank][0]](); + if (gBattleBufferA[gActiveBattler][0] < ARRAY_COUNT(sLinkPartnerBufferCommands)) + sLinkPartnerBufferCommands[gBattleBufferA[gActiveBattler][0]](); else LinkPartnerBufferExecCompleted(); } @@ -213,26 +192,26 @@ static void LinkPartnerBufferRunCommand(void) static void CompleteOnBankSpriteCallbackDummy(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) LinkPartnerBufferExecCompleted(); } static void sub_814AF54(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { nullsub_25(0); - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); LinkPartnerBufferExecCompleted(); } } static void sub_814AFBC(void) { - if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 == 0xFF) + if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 == 0xFF) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 = 0; LinkPartnerBufferExecCompleted(); } } @@ -243,13 +222,13 @@ static void sub_814B004(void) if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) r6 = TRUE; } else { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gHealthBoxesIds[gActiveBank ^ BIT_MON]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy) { r6 = TRUE; } @@ -260,84 +239,84 @@ static void sub_814B004(void) if (r6) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 = 3; - gBattleBankFunc[gActiveBank] = sub_814AFBC; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 = 3; + gBattlerControllerFuncs[gActiveBattler] = sub_814AFBC; } } static void sub_814B0E8(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8 - && gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy - && ++gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 != 1) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive + && gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + && ++gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 != 1) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 = 0; if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank ^ BIT_MON]]); - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank ^ BIT_MON], &gPlayerParty[gBattlePartyID[gActiveBank ^ BIT_MON]], HEALTHBOX_ALL); - sub_8076918(gActiveBank ^ BIT_MON); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank ^ BIT_MON]); + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler ^ BIT_FLANK]]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler ^ BIT_FLANK); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]); } - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]); - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], HEALTHBOX_ALL); - sub_8076918(gActiveBank); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler]]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); gBattleSpritesDataPtr->animationData->field_9_x1 = 0; - gBattleBankFunc[gActiveBank] = sub_814B004; + gBattlerControllerFuncs[gActiveBattler] = sub_814B004; } } static void sub_814B290(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].animEnded && gSprites[gBankSpriteIds[gActiveBank]].pos2.x == 0) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded && gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0) LinkPartnerBufferExecCompleted(); } static void CompleteOnHealthbarDone(void) { - s16 hpValue = sub_8074AA0(gActiveBank, gHealthBoxesIds[gActiveBank], HEALTH_BAR, 0); + s16 hpValue = sub_8074AA0(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); if (hpValue != -1) { - UpdateHpTextInHealthbox(gHealthBoxesIds[gActiveBank], hpValue, HP_CURRENT); + UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], hpValue, HP_CURRENT); } else { - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); LinkPartnerBufferExecCompleted(); } } static void sub_814B340(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].pos1.y + gSprites[gBankSpriteIds[gActiveBank]].pos2.y > DISPLAY_HEIGHT) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y > DISPLAY_HEIGHT) { - u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); nullsub_24(species); - FreeOamMatrix(gSprites[gBankSpriteIds[gActiveBank]].oam.matrixNum); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + FreeOamMatrix(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.matrixNum); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); LinkPartnerBufferExecCompleted(); } } static void sub_814B3DC(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); LinkPartnerBufferExecCompleted(); } } @@ -350,39 +329,39 @@ static void CompleteOnInactiveTextPrinter(void) static void DoHitAnimBlinkSpriteEffect(void) { - u8 spriteId = gBankSpriteIds[gActiveBank]; + u8 spriteId = gBattlerSpriteIds[gActiveBattler]; - if (gSprites[spriteId].data1 == 32) + if (gSprites[spriteId].data[1] == 32) { - gSprites[spriteId].data1 = 0; + gSprites[spriteId].data[1] = 0; gSprites[spriteId].invisible = 0; gDoingBattleAnim = FALSE; LinkPartnerBufferExecCompleted(); } else { - if ((gSprites[spriteId].data1 % 4) == 0) + if ((gSprites[spriteId].data[1] % 4) == 0) gSprites[spriteId].invisible ^= 1; - gSprites[spriteId].data1++; + gSprites[spriteId].data[1]++; } } static void sub_814B4E0(void) { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { - CopyBattleSpriteInvisibility(gActiveBank); - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE); + CopyBattleSpriteInvisibility(gActiveBattler); + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); - gBattleBankFunc[gActiveBank] = sub_814B554; + gBattlerControllerFuncs[gActiveBattler] = sub_814B554; } } static void sub_814B554(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive - && gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive + && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { LinkPartnerBufferExecCompleted(); } @@ -390,66 +369,66 @@ static void sub_814B554(void) static void sub_814B5A8(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); CreateTask(c3_0802FDF4, 10); - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 0); - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], HEALTHBOX_ALL); - sub_8076918(gActiveBank); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); - gBattleBankFunc[gActiveBank] = sub_814B4E0; + gBattlerControllerFuncs[gActiveBattler] = sub_814B4E0; } } static void sub_814B69C(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) { - sub_8172EF0(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]); + sub_8172EF0(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); } - if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8) + if (gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) { - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]); - gBattleBankFunc[gActiveBank] = sub_814B5A8; + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler]]); + gBattlerControllerFuncs[gActiveBattler] = sub_814B5A8; } } static void LinkPartnerBufferExecCompleted(void) { - gBattleBankFunc[gActiveBank] = LinkPartnerBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = LinkPartnerBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleBufferA[gActiveBank][0] = CONTROLLER_TERMINATOR_NOP; + gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else { - gBattleExecBuffer &= ~gBitTable[gActiveBank]; + gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; } } static void CompleteOnFinishedStatusAnimation(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].statusAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive) LinkPartnerBufferExecCompleted(); } static void CompleteOnFinishedBattleAnimation(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animFromTableActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive) LinkPartnerBufferExecCompleted(); } @@ -460,13 +439,13 @@ static void LinkPartnerHandleGetMonData(void) u8 monToCheck; s32 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - size += CopyLinkPartnerMonData(gBattlePartyID[gActiveBank], monData); + size += CopyLinkPartnerMonData(gBattlerPartyIndexes[gActiveBattler], monData); } else { - monToCheck = gBattleBufferA[gActiveBank][2]; + monToCheck = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (monToCheck & 1) @@ -474,7 +453,7 @@ static void LinkPartnerHandleGetMonData(void) monToCheck >>= 1; } } - EmitDataTransfer(1, size, monData); + BtlController_EmitDataTransfer(1, size, monData); LinkPartnerBufferExecCompleted(); } @@ -488,7 +467,7 @@ static u32 CopyLinkPartnerMonData(u8 monId, u8 *dst) u32 data32; s32 size = 0; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case REQUEST_ALL_BATTLE: battleMon.species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); @@ -554,7 +533,7 @@ static u32 CopyLinkPartnerMonData(u8 monId, u8 *dst) case REQUEST_MOVE2_BATTLE: case REQUEST_MOVE3_BATTLE: case REQUEST_MOVE4_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - REQUEST_MOVE1_BATTLE); + data16 = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE); dst[0] = data16; dst[1] = data16 >> 8; size = 2; @@ -569,7 +548,7 @@ static u32 CopyLinkPartnerMonData(u8 monId, u8 *dst) case REQUEST_PPMOVE2_BATTLE: case REQUEST_PPMOVE3_BATTLE: case REQUEST_PPMOVE4_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - REQUEST_PPMOVE1_BATTLE); + dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE); size = 1; break; case REQUEST_OTID_BATTLE: @@ -794,13 +773,13 @@ static void LinkPartnerHandleSetMonData(void) u8 monToCheck; u8 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - SetLinkPartnerMonData(gBattlePartyID[gActiveBank]); + SetLinkPartnerMonData(gBattlerPartyIndexes[gActiveBattler]); } else { - monToCheck = gBattleBufferA[gActiveBank][2]; + monToCheck = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (monToCheck & 1) @@ -813,11 +792,11 @@ static void LinkPartnerHandleSetMonData(void) static void SetLinkPartnerMonData(u8 monId) { - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBank][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBank][3]; + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBattler][3]; + struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBattler][3]; s32 i; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case REQUEST_ALL_BATTLE: { @@ -858,10 +837,10 @@ static void SetLinkPartnerMonData(u8 monId) } break; case REQUEST_SPECIES_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HELDITEM_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MOVES_PP_BATTLE: for (i = 0; i < 4; i++) @@ -875,167 +854,167 @@ static void SetLinkPartnerMonData(u8 monId) case REQUEST_MOVE2_BATTLE: case REQUEST_MOVE3_BATTLE: case REQUEST_MOVE4_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - REQUEST_MOVE1_BATTLE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_PP_DATA_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PP1, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP2, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP3, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP4, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBank][7]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP1, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP2, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP3, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP4, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBattler][7]); break; case REQUEST_PPMOVE1_BATTLE: case REQUEST_PPMOVE2_BATTLE: case REQUEST_PPMOVE3_BATTLE: case REQUEST_PPMOVE4_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - REQUEST_PPMOVE1_BATTLE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_OTID_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_OT_ID, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_OT_ID, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_EXP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HP_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_HP_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_FRIENDSHIP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_POKERUS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_POKERUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_POKERUS, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_LOCATION_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_LEVEL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_GAME_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_POKEBALL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ALL_IVS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); + SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][7]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][8]); break; case REQUEST_HP_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_PERSONALITY_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CHECKSUM_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_STATUS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_STATUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_STATUS, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_LEVEL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_HP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MAX_HP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_ATK, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_DEF, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPEED, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPATK, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_COOL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_COOL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_COOL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_BEAUTY_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CUTE_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CUTE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_CUTE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SMART_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SMART, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SMART, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_TOUGH_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SHEEN_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SHEEN, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SHEEN, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_COOL_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_BEAUTY_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CUTE_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SMART_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_TOUGH_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; } - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); } static void LinkPartnerHandleSetRawMonData(void) { - u8 *dst = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; + u8 *dst = (u8 *)&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1]; u8 i; - for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) - dst[i] = gBattleBufferA[gActiveBank][3 + i]; + for (i = 0; i < gBattleBufferA[gActiveBattler][2]; i++) + dst[i] = gBattleBufferA[gActiveBattler][3 + i]; LinkPartnerBufferExecCompleted(); } @@ -1044,28 +1023,28 @@ static void LinkPartnerHandleLoadMonSprite(void) { u16 species; - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); - sub_806A068(species, GetBankIdentity(gActiveBank)); + BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); + sub_806A068(species, GetBattlerPosition(gActiveBattler)); - gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, - sub_80A5C6C(gActiveBank, 2), - sub_80A6138(gActiveBank), - sub_80A82E4(gActiveBank)); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; - gSprites[gBankSpriteIds[gActiveBank]].data0 = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]); - gBattleBankFunc[gActiveBank] = sub_814B290; + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, + GetBattlerSpriteCoord(gActiveBattler, 2), + GetBattlerSpriteDefault_Y(gActiveBattler), + sub_80A82E4(gActiveBattler)); + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); + gBattlerControllerFuncs[gActiveBattler] = sub_814B290; } static void LinkPartnerHandleSwitchInAnim(void) { - ClearTemporarySpeciesSpriteData(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattlePartyID[gActiveBank] = gBattleBufferA[gActiveBank][1]; - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - sub_814CC98(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattleBankFunc[gActiveBank] = sub_814B69C; + ClearTemporarySpeciesSpriteData(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; + BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + sub_814CC98(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattlerControllerFuncs[gActiveBattler] = sub_814B69C; } static void sub_814CC98(u8 bank, bool8 dontClearSubstituteBit) @@ -1073,64 +1052,64 @@ static void sub_814CC98(u8 bank, bool8 dontClearSubstituteBit) u16 species; ClearTemporarySpeciesSpriteData(bank, dontClearSubstituteBit); - gBattlePartyID[bank] = gBattleBufferA[bank][1]; - species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES); + gBattlerPartyIndexes[bank] = gBattleBufferA[bank][1]; + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714); - sub_806A068(species, GetBankIdentity(bank)); + sub_806A068(species, GetBattlerPosition(bank)); - gBankSpriteIds[bank] = CreateSprite( + gBattlerSpriteIds[bank] = CreateSprite( &gUnknown_0202499C, - sub_80A5C6C(bank, 2), - sub_80A6138(bank), + GetBattlerSpriteCoord(bank, 2), + GetBattlerSpriteDefault_Y(bank), sub_80A82E4(bank)); - gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank]; - gSprites[gUnknown_03005D7C[bank]].data2 = bank; + gSprites[gUnknown_03005D7C[bank]].data[1] = gBattlerSpriteIds[bank]; + gSprites[gUnknown_03005D7C[bank]].data[2] = bank; - gSprites[gBankSpriteIds[bank]].data0 = bank; - gSprites[gBankSpriteIds[bank]].data2 = species; - gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; + gSprites[gBattlerSpriteIds[bank]].data[0] = bank; + gSprites[gBattlerSpriteIds[bank]].data[2] = species; + gSprites[gBattlerSpriteIds[bank]].oam.paletteNum = bank; - StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[bank]], gBattleMonForms[bank]); - gSprites[gBankSpriteIds[bank]].invisible = TRUE; - gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[bank]].invisible = TRUE; + gSprites[gBattlerSpriteIds[bank]].callback = SpriteCallbackDummy; - gSprites[gUnknown_03005D7C[bank]].data0 = sub_80753E8(0, 0xFF); + gSprites[gUnknown_03005D7C[bank]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); } static void LinkPartnerHandleReturnMonToBall(void) { - if (gBattleBufferA[gActiveBank][1] == 0) + if (gBattleBufferA[gActiveBattler][1] == 0) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - gBattleBankFunc[gActiveBank] = DoSwitchOutAnimation; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + gBattlerControllerFuncs[gActiveBattler] = DoSwitchOutAnimation; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); LinkPartnerBufferExecCompleted(); } } static void DoSwitchOutAnimation(void) { - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState) + switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) { case 0: - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; break; case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_PLAYER_MON); - gBattleBankFunc[gActiveBank] = sub_814B3DC; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SWITCH_OUT_PLAYER_MON); + gBattlerControllerFuncs[gActiveBattler] = sub_814B3DC; } break; } @@ -1143,7 +1122,7 @@ static void LinkPartnerHandleDrawTrainerPic(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if ((GetBankIdentity(gActiveBank) & BIT_MON) != 0) // second mon + if ((GetBattlerPosition(gActiveBattler) & BIT_FLANK) != 0) // second mon xPos = 90; else // first mon xPos = 32; @@ -1153,31 +1132,31 @@ static void LinkPartnerHandleDrawTrainerPic(void) xPos = 80; } - if ((gLinkPlayers[GetBankMultiplayerId(gActiveBank)].version & 0xFF) == VERSION_FIRE_RED - || (gLinkPlayers[GetBankMultiplayerId(gActiveBank)].version & 0xFF) == VERSION_LEAF_GREEN) + if ((gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_FIRE_RED + || (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_LEAF_GREEN) { - trainerPicId = gLinkPlayers[GetBankMultiplayerId(gActiveBank)].gender + BACK_PIC_RED; + trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender + BACK_PIC_RED; } - else if ((gLinkPlayers[GetBankMultiplayerId(gActiveBank)].version & 0xFF) == VERSION_RUBY - || (gLinkPlayers[GetBankMultiplayerId(gActiveBank)].version & 0xFF) == VERSION_SAPPHIRE) + else if ((gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_RUBY + || (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_SAPPHIRE) { - trainerPicId = gLinkPlayers[GetBankMultiplayerId(gActiveBank)].gender + BACK_PIC_RS_BRENDAN; + trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender + BACK_PIC_RS_BRENDAN; } else { - trainerPicId = gLinkPlayers[GetBankMultiplayerId(gActiveBank)].gender; + trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender; } - DecompressTrainerBackPic(trainerPicId, gActiveBank); - sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, xPos, (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80, sub_80A82E4(gActiveBank)); + DecompressTrainerBackPic(trainerPicId, gActiveBattler); + sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80, sub_80A82E4(gActiveBattler)); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240; - gSprites[gBankSpriteIds[gActiveBank]].data0 = -2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; - gBattleBankFunc[gActiveBank] = CompleteOnBankSpriteCallbackDummy; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy; } static void LinkPartnerHandleTrainerSlide(void) @@ -1187,34 +1166,34 @@ static void LinkPartnerHandleTrainerSlide(void) static void LinkPartnerHandleTrainerSlideBack(void) { - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data0 = 35; - gSprites[gBankSpriteIds[gActiveBank]].data2 = -40; - gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC; - StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy); - gBattleBankFunc[gActiveBank] = sub_814AF54; + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; + StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); + gBattlerControllerFuncs[gActiveBattler] = sub_814AF54; } static void LinkPartnerHandleFaintAnimation(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState == 0) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState == 0) { - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState++; + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState++; } else { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_PLAYER); - gSprites[gBankSpriteIds[gActiveBank]].data1 = 0; - gSprites[gBankSpriteIds[gActiveBank]].data2 = 5; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8039C00; - gBattleBankFunc[gActiveBank] = sub_814B340; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 5; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_8039C00; + gBattlerControllerFuncs[gActiveBattler] = sub_814B340; } } } @@ -1241,25 +1220,25 @@ static void LinkPartnerHandlePause(void) static void LinkPartnerHandleMoveAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u16 move = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); + u16 move = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); - gAnimMoveTurn = gBattleBufferA[gActiveBank][3]; - gAnimMovePower = gBattleBufferA[gActiveBank][4] | (gBattleBufferA[gActiveBank][5] << 8); - gAnimMoveDmg = gBattleBufferA[gActiveBank][6] | (gBattleBufferA[gActiveBank][7] << 8) | (gBattleBufferA[gActiveBank][8] << 16) | (gBattleBufferA[gActiveBank][9] << 24); - gAnimFriendship = gBattleBufferA[gActiveBank][10]; - gWeatherMoveAnim = gBattleBufferA[gActiveBank][12] | (gBattleBufferA[gActiveBank][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBank][16]; - gTransformedPersonalities[gActiveBank] = gAnimDisableStructPtr->transformedMonPersonality; + gAnimMoveTurn = gBattleBufferA[gActiveBattler][3]; + gAnimMovePower = gBattleBufferA[gActiveBattler][4] | (gBattleBufferA[gActiveBattler][5] << 8); + gAnimMoveDmg = gBattleBufferA[gActiveBattler][6] | (gBattleBufferA[gActiveBattler][7] << 8) | (gBattleBufferA[gActiveBattler][8] << 16) | (gBattleBufferA[gActiveBattler][9] << 24); + gAnimFriendship = gBattleBufferA[gActiveBattler][10]; + gWeatherMoveAnim = gBattleBufferA[gActiveBattler][12] | (gBattleBufferA[gActiveBattler][13] << 8); + gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; + gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; if (IsMoveWithoutAnimation(move, gAnimMoveTurn)) // always returns FALSE { LinkPartnerBufferExecCompleted(); } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - gBattleBankFunc[gActiveBank] = LinkPartnerDoMoveAnimation; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + gBattlerControllerFuncs[gActiveBattler] = LinkPartnerDoMoveAnimation; sub_817E0FC(move, gWeatherMoveAnim, gAnimDisableStructPtr); } } @@ -1267,26 +1246,26 @@ static void LinkPartnerHandleMoveAnimation(void) static void LinkPartnerDoMoveAnimation(void) { - u16 move = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); - u8 multihit = gBattleBufferA[gActiveBank][11]; + u16 move = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); + u8 multihit = gBattleBufferA[gActiveBattler][11]; - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState) + switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) { case 0: - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute - && !gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8) + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute + && !gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8) { - gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 1; - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); + gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 1; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; break; case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { sub_805EB9C(0); DoMoveAnim(move); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 2; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; } break; case 2: @@ -1294,20 +1273,20 @@ static void LinkPartnerDoMoveAnimation(void) if (!gAnimScriptActive) { sub_805EB9C(1); - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute && multihit < 2) + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) { - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE); - gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 0; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); + gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 0; } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 3; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 3; } break; case 3: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - sub_805E394(); - TrySetBehindSubstituteSpriteBit(gActiveBank, gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; + CopyAllBattleSpritesInvisibilities(); + TrySetBehindSubstituteSpriteBit(gActiveBattler, gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; LinkPartnerBufferExecCompleted(); } break; @@ -1320,14 +1299,14 @@ static void LinkPartnerHandlePrintString(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - stringId = (u16*)(&gBattleBufferA[gActiveBank][2]); + stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); - gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; sub_817C95C(*stringId); } -static void LinkPartnerHandlePrintStringPlayerOnly(void) +static void LinkPartnerHandlePrintSelectionString(void) { LinkPartnerBufferExecCompleted(); } @@ -1367,23 +1346,23 @@ static void LinkPartnerHandleHealthBarUpdate(void) s16 hpVal; LoadBattleBarGfx(0); - hpVal = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + hpVal = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); if (hpVal != INSTANT_HP_BAR_DROP) { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); - u32 curHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); + u32 curHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - SetBattleBarStruct(gActiveBank, gHealthBoxesIds[gActiveBank], maxHP, curHP, hpVal); + SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, curHP, hpVal); } else { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - SetBattleBarStruct(gActiveBank, gHealthBoxesIds[gActiveBank], maxHP, 0, hpVal); + SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, 0, hpVal); } - gBattleBankFunc[gActiveBank] = CompleteOnHealthbarDone; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; } static void LinkPartnerHandleExpUpdate(void) @@ -1393,24 +1372,24 @@ static void LinkPartnerHandleExpUpdate(void) static void LinkPartnerHandleStatusIconUpdate(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { u8 bank; - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], HEALTHBOX_STATUS_ICON); - bank = gActiveBank; + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); + bank = gActiveBattler; gBattleSpritesDataPtr->healthBoxesData[bank].statusAnimActive = 0; - gBattleBankFunc[gActiveBank] = CompleteOnFinishedStatusAnimation; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } static void LinkPartnerHandleStatusAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - DoStatusAnimation(gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8) | (gBattleBufferA[gActiveBank][4] << 16) | (gBattleBufferA[gActiveBank][5] << 24)); - gBattleBankFunc[gActiveBank] = CompleteOnFinishedStatusAnimation; + InitAndLaunchChosenStatusAnimation(gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8) | (gBattleBufferA[gActiveBattler][4] << 16) | (gBattleBufferA[gActiveBattler][5] << 24)); + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } @@ -1467,7 +1446,7 @@ static void LinkPartnerHandleCmd37(void) static void LinkPartnerHandleCmd38(void) { - gUnknown_02022D0C.field_0 = gBattleBufferA[gActiveBank][1]; + gUnknown_02022D0C.field_0 = gBattleBufferA[gActiveBattler][1]; LinkPartnerBufferExecCompleted(); } @@ -1485,16 +1464,16 @@ static void LinkPartnerHandleCmd40(void) static void LinkPartnerHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) { LinkPartnerBufferExecCompleted(); } else { gDoingBattleAnim = TRUE; - gSprites[gBankSpriteIds[gActiveBank]].data1 = 0; - DoHitAnimHealthboxEffect(gActiveBank); - gBattleBankFunc[gActiveBank] = DoHitAnimBlinkSpriteEffect; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; + DoHitAnimHealthboxEffect(gActiveBattler); + gBattlerControllerFuncs[gActiveBattler] = DoHitAnimBlinkSpriteEffect; } } @@ -1503,29 +1482,29 @@ static void LinkPartnerHandleCmd42(void) LinkPartnerBufferExecCompleted(); } -static void LinkPartnerHandleEffectivenessSound(void) +static void LinkPartnerHandlePlaySE(void) { s8 pan; - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) pan = PAN_SIDE_PLAYER; else pan = PAN_SIDE_OPPONENT; - PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan); + PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan); LinkPartnerBufferExecCompleted(); } static void LinkPartnerHandlePlayFanfareOrBGM(void) { - if (gBattleBufferA[gActiveBank][3]) + if (gBattleBufferA[gActiveBattler][3]) { - BattleMusicStop(); - PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + BattleStopLowHpSound(); + PlayBGM(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); } else { - PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); } LinkPartnerBufferExecCompleted(); @@ -1533,7 +1512,7 @@ static void LinkPartnerHandlePlayFanfareOrBGM(void) static void LinkPartnerHandleFaintingCry(void) { - u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); PlayCry3(species, -25, 5); LinkPartnerBufferExecCompleted(); @@ -1541,8 +1520,8 @@ static void LinkPartnerHandleFaintingCry(void) static void LinkPartnerHandleIntroSlide(void) { - HandleIntroSlide(gBattleBufferA[gActiveBank][1]); - gUnknown_020243FC |= 1; + HandleIntroSlide(gBattleBufferA[gActiveBattler][1]); + gIntroSlideFlags |= 1; LinkPartnerBufferExecCompleted(); } @@ -1552,46 +1531,46 @@ static void LinkPartnerHandleIntroTrainerBallThrow(void) u8 taskId; u32 trainerPicId; - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - gSprites[gBankSpriteIds[gActiveBank]].data0 = 50; - gSprites[gBankSpriteIds[gActiveBank]].data2 = -40; - gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC; - gSprites[gBankSpriteIds[gActiveBank]].data5 = gActiveBank; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler; - StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], sub_805CC00); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1); + StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); paletteNum = AllocSpritePalette(0xD6F9); - if ((gLinkPlayers[GetBankMultiplayerId(gActiveBank)].version & 0xFF) == VERSION_FIRE_RED - || (gLinkPlayers[GetBankMultiplayerId(gActiveBank)].version & 0xFF) == VERSION_LEAF_GREEN) + if ((gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_FIRE_RED + || (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_LEAF_GREEN) { - trainerPicId = gLinkPlayers[GetBankMultiplayerId(gActiveBank)].gender + BACK_PIC_RED; + trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender + BACK_PIC_RED; } - else if ((gLinkPlayers[GetBankMultiplayerId(gActiveBank)].version & 0xFF) == VERSION_RUBY - || (gLinkPlayers[GetBankMultiplayerId(gActiveBank)].version & 0xFF) == VERSION_SAPPHIRE) + else if ((gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_RUBY + || (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_SAPPHIRE) { - trainerPicId = gLinkPlayers[GetBankMultiplayerId(gActiveBank)].gender + BACK_PIC_RS_BRENDAN; + trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender + BACK_PIC_RS_BRENDAN; } else { - trainerPicId = gLinkPlayers[GetBankMultiplayerId(gActiveBank)].gender; + trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender; } LoadCompressedPalette(gTrainerBackPicPaletteTable[trainerPicId].data, 0x100 + paletteNum * 16, 32); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = paletteNum; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; taskId = CreateTask(sub_814DCCC, 5); - gTasks[taskId].data[0] = gActiveBank; + gTasks[taskId].data[0] = gActiveBattler; - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1) - gTasks[gUnknown_020244B4[gActiveBank]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; gBattleSpritesDataPtr->animationData->field_9_x1 = 1; - gBattleBankFunc[gActiveBank] = nullsub_112; + gBattlerControllerFuncs[gActiveBattler] = nullsub_112; } static void sub_814DCCC(u8 taskId) @@ -1602,62 +1581,62 @@ static void sub_814DCCC(u8 taskId) } else { - u8 savedActiveBank = gActiveBank; + u8 savedActiveBank = gActiveBattler; - gActiveBank = gTasks[taskId].data[0]; + gActiveBattler = gTasks[taskId].data[0]; if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_814CC98(gActiveBank, FALSE); + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_814CC98(gActiveBattler, FALSE); } else { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_814CC98(gActiveBank, FALSE); - gActiveBank ^= BIT_MON; - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - sub_814CC98(gActiveBank, FALSE); - gActiveBank ^= BIT_MON; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_814CC98(gActiveBattler, FALSE); + gActiveBattler ^= BIT_FLANK; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + sub_814CC98(gActiveBattler, FALSE); + gActiveBattler ^= BIT_FLANK; } - gBattleBankFunc[gActiveBank] = sub_814B0E8; - gActiveBank = savedActiveBank; + gBattlerControllerFuncs[gActiveBattler] = sub_814B0E8; + gActiveBattler = savedActiveBank; DestroyTask(taskId); } } static void LinkPartnerHandleDrawPartyStatusSummary(void) { - if (gBattleBufferA[gActiveBank][1] != 0 && GetBankSide(gActiveBank) == SIDE_PLAYER) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { LinkPartnerBufferExecCompleted(); } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1 = 1; - gUnknown_020244B4[gActiveBank] = CreatePartyStatusSummarySprites(gActiveBank, (struct HpAndStatus *)&gBattleBufferA[gActiveBank][4], gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][2]); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1 = 1; + gBattlerStatusSummaryTaskId[gActiveBattler] = CreatePartyStatusSummarySprites(gActiveBattler, (struct HpAndStatus *)&gBattleBufferA[gActiveBattler][4], gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][2]); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0; - if (gBattleBufferA[gActiveBank][2] != 0) - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5 = 0x5D; + if (gBattleBufferA[gActiveBattler][2] != 0) + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0x5D; - gBattleBankFunc[gActiveBank] = sub_814DE9C; + gBattlerControllerFuncs[gActiveBattler] = sub_814DE9C; } } static void sub_814DE9C(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5++ > 0x5C) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5++ > 0x5C) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0; LinkPartnerBufferExecCompleted(); } } static void LinkPartnerHandleCmd49(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1) - gTasks[gUnknown_020244B4[gActiveBank]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; LinkPartnerBufferExecCompleted(); } @@ -1668,25 +1647,25 @@ static void LinkPartnerHandleCmd50(void) static void LinkPartnerHandleSpriteInvisibility(void) { - if (IsBankSpritePresent(gActiveBank)) + if (IsBattlerSpritePresent(gActiveBattler)) { - gSprites[gBankSpriteIds[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; - CopyBattleSpriteInvisibility(gActiveBank); + gSprites[gBattlerSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; + CopyBattleSpriteInvisibility(gActiveBattler); } LinkPartnerBufferExecCompleted(); } static void LinkPartnerHandleBattleAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u8 animationId = gBattleBufferA[gActiveBank][1]; - u16 argument = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 animationId = gBattleBufferA[gActiveBattler][1]; + u16 argument = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - if (DoBattleAnimationFromTable(gActiveBank, gActiveBank, gActiveBank, animationId, argument)) + if (TryHandleLaunchBattleTableAnimation(gActiveBattler, gActiveBattler, gActiveBattler, animationId, argument)) LinkPartnerBufferExecCompleted(); else - gBattleBankFunc[gActiveBank] = CompleteOnFinishedBattleAnimation; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation; sub_817E32C(animationId); } @@ -1694,7 +1673,7 @@ static void LinkPartnerHandleBattleAnimation(void) static void LinkPartnerHandleLinkStandbyMsg(void) { - sub_81851A8(&gBattleBufferA[gActiveBank][2]); + sub_81851A8(&gBattleBufferA[gActiveBattler][2]); LinkPartnerBufferExecCompleted(); } @@ -1705,13 +1684,13 @@ static void LinkPartnerHandleResetActionMoveSelection(void) static void LinkPartnerHandleCmd55(void) { - sub_81851A8(&gBattleBufferA[gActiveBank][4]); - gBattleOutcome = gBattleBufferA[gActiveBank][1]; - gSaveBlock2Ptr->field_CA9_b = gBattleBufferA[gActiveBank][2]; + sub_81851A8(&gBattleBufferA[gActiveBattler][4]); + gBattleOutcome = gBattleBufferA[gActiveBattler][1]; + gSaveBlock2Ptr->field_CA9_b = gBattleBufferA[gActiveBattler][2]; FadeOutMapMusic(5); BeginFastPaletteFade(3); LinkPartnerBufferExecCompleted(); - gBattleBankFunc[gActiveBank] = sub_80587B0; + gBattlerControllerFuncs[gActiveBattler] = sub_80587B0; } static void nullsub_113(void) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 7ffd9d64b4..5a3732f8b1 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -4,6 +4,7 @@ #include "battle_message.h" #include "battle_interface.h" #include "battle_anim.h" +#include "constants/battle_anim.h" #include "battle_link_817C95C.h" #include "battle_ai_script_commands.h" #include "pokemon.h" @@ -11,10 +12,10 @@ #include "util.h" #include "main.h" #include "item.h" -#include "items.h" -#include "songs.h" +#include "constants/items.h" +#include "constants/songs.h" #include "sound.h" -#include "moves.h" +#include "constants/moves.h" #include "window.h" #include "m4a.h" #include "palette.h" @@ -23,36 +24,16 @@ #include "string_util.h" #include "bg.h" #include "reshow_battle_screen.h" -#include "rng.h" +#include "random.h" #include "pokeball.h" #include "data2.h" +#include "battle_setup.h" -extern u32 gBattleExecBuffer; -extern u8 gActiveBank; -extern u8 gBankTarget; -extern u8 gAbsentBankFlags; -extern bool8 gDoingBattleAnim; -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; -extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT]; -extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200]; -extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200]; -extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT]; -extern struct MusicPlayerInfo gMPlay_BGM; -extern u8 gUnknown_03005D7C[BATTLE_BANKS_COUNT]; -extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void); -extern void *gUnknown_020244D8; -extern void *gUnknown_020244DC; -extern u8 gBattleMonForms[BATTLE_BANKS_COUNT]; extern struct SpriteTemplate gUnknown_0202499C; -extern struct UnusedControllerStruct gUnknown_02022D0C; -extern u16 gTrainerBattleOpponent_A; -extern u16 gTrainerBattleOpponent_B; -extern u32 gTransformedPersonalities[BATTLE_BANKS_COUNT]; extern u16 gBattle_BG0_X; extern u16 gBattle_BG0_Y; -extern u16 gUnknown_020243FC; -extern u8 gUnknown_020244B4[]; -extern void (*gPreBattleCallback1)(void); +extern struct MusicPlayerInfo gMPlayInfo_BGM; +extern struct UnusedControllerStruct gUnknown_02022D0C; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern const struct BattleMove gBattleMoves[]; @@ -83,7 +64,7 @@ static void OpponentHandleBallThrow(void); static void OpponentHandlePause(void); static void OpponentHandleMoveAnimation(void); static void OpponentHandlePrintString(void); -static void OpponentHandlePrintStringPlayerOnly(void); +static void OpponentHandlePrintSelectionString(void); static void OpponentHandleChooseAction(void); static void OpponentHandleUnknownYesNoBox(void); static void OpponentHandleChooseMove(void); @@ -109,7 +90,7 @@ static void OpponentHandleCmd39(void); static void OpponentHandleCmd40(void); static void OpponentHandleHitAnimation(void); static void OpponentHandleCmd42(void); -static void OpponentHandleEffectivenessSound(void); +static void OpponentHandlePlaySE(void); static void OpponentHandlePlayFanfareOrBGM(void); static void OpponentHandleFaintingCry(void); static void OpponentHandleIntroSlide(void); @@ -155,7 +136,7 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = OpponentHandlePause, OpponentHandleMoveAnimation, OpponentHandlePrintString, - OpponentHandlePrintStringPlayerOnly, + OpponentHandlePrintSelectionString, OpponentHandleChooseAction, OpponentHandleUnknownYesNoBox, OpponentHandleChooseMove, @@ -181,7 +162,7 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = OpponentHandleCmd40, OpponentHandleHitAnimation, OpponentHandleCmd42, - OpponentHandleEffectivenessSound, + OpponentHandlePlaySE, OpponentHandlePlayFanfareOrBGM, OpponentHandleFaintingCry, OpponentHandleIntroSlide, @@ -206,15 +187,15 @@ static void nullsub_26(void) void SetControllerToOpponent(void) { - gBattleBankFunc[gActiveBank] = OpponentBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = OpponentBufferRunCommand; } static void OpponentBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBank]) + if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) { - if (gBattleBufferA[gActiveBank][0] < ARRAY_COUNT(sOpponentBufferCommands)) - sOpponentBufferCommands[gBattleBufferA[gActiveBank][0]](); + if (gBattleBufferA[gActiveBattler][0] < ARRAY_COUNT(sOpponentBufferCommands)) + sOpponentBufferCommands[gBattleBufferA[gActiveBattler][0]](); else OpponentBufferExecCompleted(); } @@ -222,32 +203,32 @@ static void OpponentBufferRunCommand(void) static void CompleteOnBankSpriteCallbackDummy(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) OpponentBufferExecCompleted(); } static void CompleteOnBankSpriteCallbackDummy2(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) OpponentBufferExecCompleted(); } static void sub_805F240(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { - FreeTrainerFrontPicPalette(gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam); - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); + FreeTrainerFrontPicPalette(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); OpponentBufferExecCompleted(); } } static void sub_805F2A8(void) { - if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 == 0xFF) + if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 == 0xFF) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 = 0; OpponentBufferExecCompleted(); } } @@ -259,42 +240,42 @@ static void sub_805F2F0(void) if (!IsDoubleBattle() || ((IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI)) || (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS))) { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) var = TRUE; var2 = FALSE; } else { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gHealthBoxesIds[gActiveBank ^ BIT_MON]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy) var = TRUE; var2 = TRUE; } - gUnknown_020244D8 = &gBattleSpritesDataPtr->healthBoxesData[gActiveBank]; - gUnknown_020244DC = &gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON]; + gUnknown_020244D8 = &gBattleSpritesDataPtr->healthBoxesData[gActiveBattler]; + gUnknown_020244DC = &gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK]; if (var) { if (var2 == TRUE) { - if (var2 && gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 && gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x1) + if (var2 && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].field_1_x1) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].field_1_x1 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); } else return; } - else if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1) + else if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1) { - if (GetBankIdentity(gActiveBank) == 3) + if (GetBattlerPosition(gActiveBattler) == 3) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 == 0 && gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x1 == 0) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80 == 0 && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].field_1_x1 == 0) { FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); @@ -302,14 +283,14 @@ static void sub_805F2F0(void) else return; } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 = 0; } else return; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 = 3; - gBattleBankFunc[gActiveBank] = sub_805F2A8; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 = 3; + gBattlerControllerFuncs[gActiveBattler] = sub_805F2A8; } } @@ -318,60 +299,60 @@ static void sub_805F560(void) bool32 sp = FALSE; bool32 r10 = FALSE; - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1) - sub_8172EF0(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]); - if (!(gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI) && IsDoubleBattle() && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x1) - sub_8172EF0(gActiveBank ^ BIT_MON, &gEnemyParty[gBattlePartyID[gActiveBank ^ BIT_MON]]); - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1) + sub_8172EF0(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); + if (!(gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI) && IsDoubleBattle() && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].field_1_x1) + sub_8172EF0(gActiveBattler ^ BIT_FLANK, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]); + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x80) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank ^ BIT_MON], &gEnemyParty[gBattlePartyID[gActiveBank ^ BIT_MON]], HEALTHBOX_ALL); - sub_8076918(gActiveBank ^ BIT_MON); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank ^ BIT_MON]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler ^ BIT_FLANK); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]); } - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gEnemyParty[gBattlePartyID[gActiveBank]], HEALTHBOX_ALL); - sub_8076918(gActiveBank); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80 = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x80 = 1; } - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x40 - && gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x40 + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x40 + && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x80 + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].field_1_x40 && !IsCryPlayingOrClearCrySongs()) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x20) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x20) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK) { - if (GetBankIdentity(gActiveBank) == 1) - m4aMPlayContinue(&gMPlay_BGM); + if (GetBattlerPosition(gActiveBattler) == 1) + m4aMPlayContinue(&gMPlayInfo_BGM); } else - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x20 = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x20 = 1; sp = TRUE; } if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { r10 = TRUE; } } else { - if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gUnknown_03005D7C[gActiveBank ^ BIT_MON]].callback == SpriteCallbackDummy - && gSprites[gBankSpriteIds[gActiveBank ^ BIT_MON]].callback == SpriteCallbackDummy) + if (gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gUnknown_03005D7C[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy) { r10 = TRUE; } @@ -381,29 +362,29 @@ static void sub_805F560(void) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank ^ BIT_MON]]); - SetBankEnemyShadowSpriteCallback(gActiveBank ^ BIT_MON, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank ^ BIT_MON]], MON_DATA_SPECIES)); + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler ^ BIT_FLANK]]); + SetBattlerShadowSpriteCallback(gActiveBattler ^ BIT_FLANK, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], MON_DATA_SPECIES)); } - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]); - SetBankEnemyShadowSpriteCallback(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler]]); + SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); gBattleSpritesDataPtr->animationData->field_9_x1 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x20 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x20 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x80 = 0; - gBattleBankFunc[gActiveBank] = sub_805F2F0; + gBattlerControllerFuncs[gActiveBattler] = sub_805F2F0; } } static void sub_805F994(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].pos2.x == 0 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1) - sub_8172EF0(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]); + if (gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1) + sub_8172EF0(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy && gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); OpponentBufferExecCompleted(); @@ -412,11 +393,11 @@ static void sub_805F994(void) static void CompleteOnHealthbarDone(void) { - s16 hpValue = sub_8074AA0(gActiveBank, gHealthBoxesIds[gActiveBank], HEALTH_BAR, 0); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); + s16 hpValue = sub_8074AA0(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); if (hpValue != -1) { - UpdateHpTextInHealthbox(gHealthBoxesIds[gActiveBank], hpValue, HP_CURRENT); + UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], hpValue, HP_CURRENT); } else OpponentBufferExecCompleted(); @@ -424,21 +405,21 @@ static void CompleteOnHealthbarDone(void) static void sub_805FAC4(void) { - if (!gSprites[gBankSpriteIds[gActiveBank]].inUse) + if (!gSprites[gBattlerSpriteIds[gActiveBattler]].inUse) { - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); OpponentBufferExecCompleted(); } } static void sub_805FB08(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_805EEE0(gActiveBank); - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + HideBattlerShadowSprite(gActiveBattler); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); OpponentBufferExecCompleted(); } } @@ -451,40 +432,40 @@ static void CompleteOnInactiveTextPrinter(void) static void DoHitAnimBlinkSpriteEffect(void) { - u8 spriteId = gBankSpriteIds[gActiveBank]; + u8 spriteId = gBattlerSpriteIds[gActiveBattler]; - if (gSprites[spriteId].data1 == 32) + if (gSprites[spriteId].data[1] == 32) { - gSprites[spriteId].data1 = 0; + gSprites[spriteId].data[1] = 0; gSprites[spriteId].invisible = 0; gDoingBattleAnim = FALSE; OpponentBufferExecCompleted(); } else { - if ((gSprites[spriteId].data1 % 4) == 0) + if ((gSprites[spriteId].data[1] % 4) == 0) gSprites[spriteId].invisible ^= 1; - gSprites[spriteId].data1++; + gSprites[spriteId].data[1]++; } } static void sub_805FC10(void) { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE); - gBattleBankFunc[gActiveBank] = sub_805FC80; + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); + gBattlerControllerFuncs[gActiveBattler] = sub_805FC80; } } static void sub_805FC80(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive && !IsCryPlayingOrClearCrySongs()) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive && !IsCryPlayingOrClearCrySongs()) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy || gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy_2) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy || gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy_2) { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); OpponentBufferExecCompleted(); } } @@ -492,60 +473,60 @@ static void sub_805FC80(void) static void sub_805FD00(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 && gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 0); - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gEnemyParty[gBattlePartyID[gActiveBank]], HEALTHBOX_ALL); - sub_8076918(gActiveBank); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); - CopyBattleSpriteInvisibility(gActiveBank); - gBattleBankFunc[gActiveBank] = sub_805FC10; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); + CopyBattleSpriteInvisibility(gActiveBattler); + gBattlerControllerFuncs[gActiveBattler] = sub_805FC10; } } static void sub_805FDF0(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8) - sub_8172EF0(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]); + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) + sub_8172EF0(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); - if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8) + if (gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) { - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]); - SetBankEnemyShadowSpriteCallback(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); - gBattleBankFunc[gActiveBank] = sub_805FD00; + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler]]); + SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); + gBattlerControllerFuncs[gActiveBattler] = sub_805FD00; } } static void CompleteOnFinishedStatusAnimation(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].statusAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive) OpponentBufferExecCompleted(); } static void CompleteOnFinishedBattleAnimation(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animFromTableActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive) OpponentBufferExecCompleted(); } static void OpponentBufferExecCompleted(void) { - gBattleBankFunc[gActiveBank] = OpponentBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = OpponentBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleBufferA[gActiveBank][0] = CONTROLLER_TERMINATOR_NOP; + gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else { - gBattleExecBuffer &= ~gBitTable[gActiveBank]; + gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; } } @@ -556,13 +537,13 @@ static void OpponentHandleGetMonData(void) u8 monToCheck; s32 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - size += GetOpponentMonData(gBattlePartyID[gActiveBank], monData); + size += GetOpponentMonData(gBattlerPartyIndexes[gActiveBattler], monData); } else { - monToCheck = gBattleBufferA[gActiveBank][2]; + monToCheck = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (monToCheck & 1) @@ -570,7 +551,7 @@ static void OpponentHandleGetMonData(void) monToCheck >>= 1; } } - EmitDataTransfer(1, size, monData); + BtlController_EmitDataTransfer(1, size, monData); OpponentBufferExecCompleted(); } @@ -584,7 +565,7 @@ static u32 GetOpponentMonData(u8 monId, u8 *dst) u32 data32; s32 size = 0; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case REQUEST_ALL_BATTLE: battleMon.species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES); @@ -650,7 +631,7 @@ static u32 GetOpponentMonData(u8 monId, u8 *dst) case REQUEST_MOVE2_BATTLE: case REQUEST_MOVE3_BATTLE: case REQUEST_MOVE4_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - REQUEST_MOVE1_BATTLE); + data16 = GetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE); dst[0] = data16; dst[1] = data16 >> 8; size = 2; @@ -665,7 +646,7 @@ static u32 GetOpponentMonData(u8 monId, u8 *dst) case REQUEST_PPMOVE2_BATTLE: case REQUEST_PPMOVE3_BATTLE: case REQUEST_PPMOVE4_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - REQUEST_PPMOVE1_BATTLE); + dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE); size = 1; break; case REQUEST_OTID_BATTLE: @@ -883,14 +864,14 @@ static u32 GetOpponentMonData(u8 monId, u8 *dst) static void OpponentHandleGetRawMonData(void) { struct BattlePokemon battleMon; - u8 *src = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; - u8 *dst = (u8 *)&battleMon + gBattleBufferA[gActiveBank][1]; + u8 *src = (u8 *)&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1]; + u8 *dst = (u8 *)&battleMon + gBattleBufferA[gActiveBattler][1]; u8 i; - for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) + for (i = 0; i < gBattleBufferA[gActiveBattler][2]; i++) dst[i] = src[i]; - EmitDataTransfer(1, gBattleBufferA[gActiveBank][2], dst); + BtlController_EmitDataTransfer(1, gBattleBufferA[gActiveBattler][2], dst); OpponentBufferExecCompleted(); } @@ -899,13 +880,13 @@ static void OpponentHandleSetMonData(void) u8 monToCheck; u8 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - SetOpponentMonData(gBattlePartyID[gActiveBank]); + SetOpponentMonData(gBattlerPartyIndexes[gActiveBattler]); } else { - monToCheck = gBattleBufferA[gActiveBank][2]; + monToCheck = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (monToCheck & 1) @@ -918,11 +899,11 @@ static void OpponentHandleSetMonData(void) static void SetOpponentMonData(u8 monId) { - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBank][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBank][3]; + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBattler][3]; + struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBattler][3]; s32 i; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case REQUEST_ALL_BATTLE: { @@ -963,10 +944,10 @@ static void SetOpponentMonData(u8 monId) } break; case REQUEST_SPECIES_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HELDITEM_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MOVES_PP_BATTLE: for (i = 0; i < 4; i++) @@ -980,198 +961,198 @@ static void SetOpponentMonData(u8 monId) case REQUEST_MOVE2_BATTLE: case REQUEST_MOVE3_BATTLE: case REQUEST_MOVE4_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - REQUEST_MOVE1_BATTLE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_PP_DATA_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_PP1, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP2, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP3, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP4, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBank][7]); + SetMonData(&gEnemyParty[monId], MON_DATA_PP1, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_PP2, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gEnemyParty[monId], MON_DATA_PP3, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gEnemyParty[monId], MON_DATA_PP4, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBattler][7]); break; case REQUEST_PPMOVE1_BATTLE: case REQUEST_PPMOVE2_BATTLE: case REQUEST_PPMOVE3_BATTLE: case REQUEST_PPMOVE4_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - REQUEST_PPMOVE1_BATTLE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_OTID_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_OT_ID, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_OT_ID, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_EXP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_EXP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_EXP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HP_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_HP_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_FRIENDSHIP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_POKERUS_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_POKERUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_POKERUS, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_LOCATION_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_LEVEL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_GAME_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_POKEBALL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ALL_IVS_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); + SetMonData(&gEnemyParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][7]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][8]); break; case REQUEST_HP_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_PERSONALITY_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CHECKSUM_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_STATUS_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_STATUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_STATUS, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_LEVEL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_HP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MAX_HP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_ATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_ATK, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_DEF, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPEED, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPATK, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_COOL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_COOL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_COOL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_BEAUTY_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CUTE_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_CUTE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_CUTE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SMART_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SMART, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SMART, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_TOUGH_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_TOUGH, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_TOUGH, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SHEEN_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SHEEN, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SHEEN, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_COOL_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_BEAUTY_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CUTE_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SMART_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_TOUGH_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; } } static void OpponentHandleSetRawMonData(void) { - u8 *dst = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; + u8 *dst = (u8 *)&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1]; u8 i; - for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) - dst[i] = gBattleBufferA[gActiveBank][3 + i]; + for (i = 0; i < gBattleBufferA[gActiveBattler][2]; i++) + dst[i] = gBattleBufferA[gActiveBattler][3 + i]; OpponentBufferExecCompleted(); } static void OpponentHandleLoadMonSprite(void) { - u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlePartyID[gActiveBank]], gActiveBank); - sub_806A068(species, GetBankIdentity(gActiveBank)); + BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + sub_806A068(species, GetBattlerPosition(gActiveBattler)); - gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, - sub_80A5C6C(gActiveBank, 2), - sub_80A6138(gActiveBank), - sub_80A82E4(gActiveBank)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, + GetBattlerSpriteCoord(gActiveBattler, 2), + GetBattlerSpriteDefault_Y(gActiveBattler), + sub_80A82E4(gActiveBattler)); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; - gSprites[gBankSpriteIds[gActiveBank]].data0 = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].data2 = species; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]); + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = species; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); - SetBankEnemyShadowSpriteCallback(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); + SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); - gBattleBankFunc[gActiveBank] = sub_805F994; + gBattlerControllerFuncs[gActiveBattler] = sub_805F994; } static void OpponentHandleSwitchInAnim(void) { - *(gBattleStruct->field_5C + gActiveBank) = 6; - gBattlePartyID[gActiveBank] = gBattleBufferA[gActiveBank][1]; - sub_80613DC(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattleBankFunc[gActiveBank] = sub_805FDF0; + *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = 6; + gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; + sub_80613DC(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattlerControllerFuncs[gActiveBattler] = sub_805FDF0; } static void sub_80613DC(u8 bank, bool8 dontClearSubstituteBit) @@ -1179,66 +1160,66 @@ static void sub_80613DC(u8 bank, bool8 dontClearSubstituteBit) u16 species; ClearTemporarySpeciesSpriteData(bank, dontClearSubstituteBit); - gBattlePartyID[bank] = gBattleBufferA[bank][1]; - species = GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES); + gBattlerPartyIndexes[bank] = gBattleBufferA[bank][1]; + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714); - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlePartyID[bank]], bank); - sub_806A068(species, GetBankIdentity(bank)); + BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[bank]], bank); + sub_806A068(species, GetBattlerPosition(bank)); - gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, - sub_80A5C6C(bank, 2), - sub_80A6138(bank), + gBattlerSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, + GetBattlerSpriteCoord(bank, 2), + GetBattlerSpriteDefault_Y(bank), sub_80A82E4(bank)); - gSprites[gBankSpriteIds[bank]].data0 = bank; - gSprites[gBankSpriteIds[bank]].data2 = species; + gSprites[gBattlerSpriteIds[bank]].data[0] = bank; + gSprites[gBattlerSpriteIds[bank]].data[2] = species; - gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank]; - gSprites[gUnknown_03005D7C[bank]].data2 = bank; + gSprites[gUnknown_03005D7C[bank]].data[1] = gBattlerSpriteIds[bank]; + gSprites[gUnknown_03005D7C[bank]].data[2] = bank; - gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; + gSprites[gBattlerSpriteIds[bank]].oam.paletteNum = bank; - StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[bank]], gBattleMonForms[bank]); - gSprites[gBankSpriteIds[bank]].invisible = TRUE; - gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[bank]].invisible = TRUE; + gSprites[gBattlerSpriteIds[bank]].callback = SpriteCallbackDummy; - gSprites[gUnknown_03005D7C[bank]].data0 = sub_80753E8(0, 0xFE); + gSprites[gUnknown_03005D7C[bank]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT); } static void OpponentHandleReturnMonToBall(void) { - if (gBattleBufferA[gActiveBank][1] == 0) + if (gBattleBufferA[gActiveBattler][1] == 0) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - gBattleBankFunc[gActiveBank] = DoSwitchOutAnimation; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + gBattlerControllerFuncs[gActiveBattler] = DoSwitchOutAnimation; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_805EEE0(gActiveBank); - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + HideBattlerShadowSprite(gActiveBattler); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); OpponentBufferExecCompleted(); } } static void DoSwitchOutAnimation(void) { - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState) + switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) { case 0: - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; break; case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_OPPONENT_MON); - gBattleBankFunc[gActiveBank] = sub_805FB08; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SWITCH_OUT_OPPONENT_MON); + gBattlerControllerFuncs[gActiveBattler] = sub_805FB08; } break; } @@ -1261,7 +1242,7 @@ static void OpponentHandleDrawTrainerPic(void) { if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) { - if (gActiveBank == 1) + if (gActiveBattler == 1) trainerPicId = sub_81D5588(gTrainerBattleOpponent_A); else trainerPicId = sub_81D5588(gTrainerBattleOpponent_B); @@ -1275,7 +1256,7 @@ static void OpponentHandleDrawTrainerPic(void) { if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_x800000)) { - if (gActiveBank == 1) + if (gActiveBattler == 1) trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_A); else trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_B); @@ -1291,7 +1272,7 @@ static void OpponentHandleDrawTrainerPic(void) } else if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) { - if (gActiveBank != 1) + if (gActiveBattler != 1) trainerPicId = gTrainers[gTrainerBattleOpponent_B].trainerPic; else trainerPicId = gTrainers[gTrainerBattleOpponent_A].trainerPic; @@ -1303,7 +1284,7 @@ static void OpponentHandleDrawTrainerPic(void) if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS)) { - if ((GetBankIdentity(gActiveBank) & BIT_MON) != 0) // second mon + if ((GetBattlerPosition(gActiveBattler) & BIT_FLANK) != 0) // second mon xPos = 152; else // first mon xPos = 200; @@ -1313,20 +1294,20 @@ static void OpponentHandleDrawTrainerPic(void) xPos = 176; } - DecompressTrainerFrontPic(trainerPicId, gActiveBank); - sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, + DecompressTrainerFrontPic(trainerPicId, gActiveBattler); + sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, - sub_80A82E4(gActiveBank)); + sub_80A82E4(gActiveBattler)); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; - gSprites[gBankSpriteIds[gActiveBank]].data0 = 2; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); - gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam = trainerPicId; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 2; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; - gBattleBankFunc[gActiveBank] = CompleteOnBankSpriteCallbackDummy; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy; } static void OpponentHandleTrainerSlide(void) @@ -1345,7 +1326,7 @@ static void OpponentHandleTrainerSlide(void) { if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) { - if (gActiveBank == 1) + if (gActiveBattler == 1) trainerPicId = sub_81D5588(gTrainerBattleOpponent_A); else trainerPicId = sub_81D5588(gTrainerBattleOpponent_B); @@ -1359,7 +1340,7 @@ static void OpponentHandleTrainerSlide(void) { if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_x800000)) { - if (gActiveBank == 1) + if (gActiveBattler == 1) trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_A); else trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_B); @@ -1375,7 +1356,7 @@ static void OpponentHandleTrainerSlide(void) } else if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) { - if (gActiveBank != 1) + if (gActiveBattler != 1) trainerPicId = gTrainers[gTrainerBattleOpponent_B].trainerPic; else trainerPicId = gTrainers[gTrainerBattleOpponent_A].trainerPic; @@ -1385,47 +1366,47 @@ static void OpponentHandleTrainerSlide(void) trainerPicId = gTrainers[gTrainerBattleOpponent_A].trainerPic; } - DecompressTrainerFrontPic(trainerPicId, gActiveBank); - sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, 176, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, 0x1E); + DecompressTrainerFrontPic(trainerPicId, gActiveBattler); + sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, 176, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, 0x1E); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 96; - gSprites[gBankSpriteIds[gActiveBank]].pos1.x += 32; - gSprites[gBankSpriteIds[gActiveBank]].data0 = -2; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); - gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam = trainerPicId; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 96; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.x += 32; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; - gBattleBankFunc[gActiveBank] = CompleteOnBankSpriteCallbackDummy2; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy2; } static void OpponentHandleTrainerSlideBack(void) { - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data0 = 35; - gSprites[gBankSpriteIds[gActiveBank]].data2 = 280; - gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC; - StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy); - gBattleBankFunc[gActiveBank] = sub_805F240; + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; + StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); + gBattlerControllerFuncs[gActiveBattler] = sub_805F240; } static void OpponentHandleFaintAnimation(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState == 0) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState == 0) { - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState++; + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState++; } else { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_OPPONENT); - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8039934; - gBattleBankFunc[gActiveBank] = sub_805FAC4; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_8039934; + gBattlerControllerFuncs[gActiveBattler] = sub_805FAC4; } } } @@ -1452,51 +1433,51 @@ static void OpponentHandlePause(void) static void OpponentHandleMoveAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u16 move = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); + u16 move = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); - gAnimMoveTurn = gBattleBufferA[gActiveBank][3]; - gAnimMovePower = gBattleBufferA[gActiveBank][4] | (gBattleBufferA[gActiveBank][5] << 8); - gAnimMoveDmg = gBattleBufferA[gActiveBank][6] | (gBattleBufferA[gActiveBank][7] << 8) | (gBattleBufferA[gActiveBank][8] << 16) | (gBattleBufferA[gActiveBank][9] << 24); - gAnimFriendship = gBattleBufferA[gActiveBank][10]; - gWeatherMoveAnim = gBattleBufferA[gActiveBank][12] | (gBattleBufferA[gActiveBank][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBank][16]; - gTransformedPersonalities[gActiveBank] = gAnimDisableStructPtr->transformedMonPersonality; + gAnimMoveTurn = gBattleBufferA[gActiveBattler][3]; + gAnimMovePower = gBattleBufferA[gActiveBattler][4] | (gBattleBufferA[gActiveBattler][5] << 8); + gAnimMoveDmg = gBattleBufferA[gActiveBattler][6] | (gBattleBufferA[gActiveBattler][7] << 8) | (gBattleBufferA[gActiveBattler][8] << 16) | (gBattleBufferA[gActiveBattler][9] << 24); + gAnimFriendship = gBattleBufferA[gActiveBattler][10]; + gWeatherMoveAnim = gBattleBufferA[gActiveBattler][12] | (gBattleBufferA[gActiveBattler][13] << 8); + gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; + gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; if (IsMoveWithoutAnimation(move, gAnimMoveTurn)) // always returns FALSE { OpponentBufferExecCompleted(); } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - gBattleBankFunc[gActiveBank] = OpponentDoMoveAnimation; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + gBattlerControllerFuncs[gActiveBattler] = OpponentDoMoveAnimation; } } } static void OpponentDoMoveAnimation(void) { - u16 move = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); - u8 multihit = gBattleBufferA[gActiveBank][11]; + u16 move = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); + u8 multihit = gBattleBufferA[gActiveBattler][11]; - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState) + switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) { case 0: - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute - && !gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8) + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute + && !gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8) { - gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 1; - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); + gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 1; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; break; case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { sub_805EB9C(0); DoMoveAnim(move); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 2; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; } break; case 2: @@ -1504,20 +1485,20 @@ static void OpponentDoMoveAnimation(void) if (!gAnimScriptActive) { sub_805EB9C(1); - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute && multihit < 2) + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) { - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE); - gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 0; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); + gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 0; } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 3; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 3; } break; case 3: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - sub_805E394(); - TrySetBehindSubstituteSpriteBit(gActiveBank, gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; + CopyAllBattleSpritesInvisibilities(); + TrySetBehindSubstituteSpriteBit(gActiveBattler, gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; OpponentBufferExecCompleted(); } break; @@ -1530,14 +1511,14 @@ static void OpponentHandlePrintString(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - stringId = (u16*)(&gBattleBufferA[gActiveBank][2]); + stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); - gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter; - sub_81A57E4(gActiveBank, *stringId); + gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; + sub_81A57E4(gActiveBattler, *stringId); } -static void OpponentHandlePrintStringPlayerOnly(void) +static void OpponentHandlePrintSelectionString(void) { OpponentBufferExecCompleted(); } @@ -1557,13 +1538,13 @@ static void OpponentHandleChooseMove(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - EmitTwoReturnValues(1, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(1, 10, ChooseMoveAndTargetInBattlePalace()); OpponentBufferExecCompleted(); } else { u8 chosenMoveId; - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBank][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBattler][4]); if (gBattleTypeFlags & (BATTLE_TYPE_TRAINER | BATTLE_TYPE_FIRST_BATTLE | BATTLE_TYPE_SAFARI | BATTLE_TYPE_ROAMER)) { @@ -1574,24 +1555,24 @@ static void OpponentHandleChooseMove(void) switch (chosenMoveId) { case 5: - EmitTwoReturnValues(1, ACTION_WATCHES_CAREFULLY, 0); + BtlController_EmitTwoReturnValues(1, B_ACTION_SAFARI_WATCH_CAREFULLY, 0); break; case 4: - EmitTwoReturnValues(1, ACTION_RUN, 0); + BtlController_EmitTwoReturnValues(1, B_ACTION_RUN, 0); break; case 6: - EmitTwoReturnValues(1, 15, gBankTarget); + BtlController_EmitTwoReturnValues(1, 15, gBattlerTarget); break; default: if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & (MOVE_TARGET_USER | MOVE_TARGET_x10)) - gBankTarget = gActiveBank; + gBattlerTarget = gActiveBattler; if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & MOVE_TARGET_BOTH) { - gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON1); - if (gAbsentBankFlags & gBitTable[gBankTarget]) - gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON2); + gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); } - EmitTwoReturnValues(1, 10, (chosenMoveId) | (gBankTarget << 8)); + BtlController_EmitTwoReturnValues(1, 10, (chosenMoveId) | (gBattlerTarget << 8)); break; } OpponentBufferExecCompleted(); @@ -1606,11 +1587,11 @@ static void OpponentHandleChooseMove(void) } while (move == MOVE_NONE); if (gBattleMoves[move].target & (MOVE_TARGET_USER | MOVE_TARGET_x10)) - EmitTwoReturnValues(1, 10, (chosenMoveId) | (gActiveBank << 8)); + BtlController_EmitTwoReturnValues(1, 10, (chosenMoveId) | (gActiveBattler << 8)); else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - EmitTwoReturnValues(1, 10, (chosenMoveId) | (GetBankByIdentity(Random() & 2) << 8)); + BtlController_EmitTwoReturnValues(1, 10, (chosenMoveId) | (GetBattlerAtPosition(Random() & 2) << 8)); else - EmitTwoReturnValues(1, 10, (chosenMoveId) | (GetBankByIdentity(IDENTITY_PLAYER_MON1) << 8)); + BtlController_EmitTwoReturnValues(1, 10, (chosenMoveId) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8)); OpponentBufferExecCompleted(); } @@ -1619,7 +1600,7 @@ static void OpponentHandleChooseMove(void) static void OpponentHandleChooseItem(void) { - EmitOneReturnValue(1, *(gBattleStruct->chosenItem + (gActiveBank / 2) * 2)); + BtlController_EmitOneReturnValue(1, *(gBattleStruct->chosenItem + (gActiveBattler / 2) * 2)); OpponentBufferExecCompleted(); } @@ -1627,7 +1608,7 @@ static void OpponentHandleChoosePokemon(void) { s32 chosenMonId; - if (*(gBattleStruct->field_294 + gActiveBank) == 6) + if (*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) == 6) { chosenMonId = GetMostSuitableMonToSwitchInto(); @@ -1637,17 +1618,17 @@ static void OpponentHandleChoosePokemon(void) if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - bank2 = bank1 = GetBankByIdentity(IDENTITY_OPPONENT_MON1); + bank2 = bank1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); } else { - bank1 = GetBankByIdentity(IDENTITY_OPPONENT_MON1); - bank2 = GetBankByIdentity(IDENTITY_OPPONENT_MON2); + bank1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + bank2 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); } if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_x800000)) { - if (gActiveBank == 1) + if (gActiveBattler == 1) firstId = 0, lastId = 3; else firstId = 3, lastId = 6; @@ -1660,8 +1641,8 @@ static void OpponentHandleChoosePokemon(void) for (chosenMonId = firstId; chosenMonId < lastId; chosenMonId++) { if (GetMonData(&gEnemyParty[chosenMonId], MON_DATA_HP) != 0 - && chosenMonId != gBattlePartyID[bank1] - && chosenMonId != gBattlePartyID[bank2]) + && chosenMonId != gBattlerPartyIndexes[bank1] + && chosenMonId != gBattlerPartyIndexes[bank2]) { break; } @@ -1670,13 +1651,13 @@ static void OpponentHandleChoosePokemon(void) } else { - chosenMonId = *(gBattleStruct->field_294 + gActiveBank); - *(gBattleStruct->field_294 + gActiveBank) = 6; + chosenMonId = *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler); + *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = 6; } - *(gBattleStruct->field_5C + gActiveBank) = chosenMonId; - EmitChosenMonReturnValue(1, chosenMonId, NULL); + *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = chosenMonId; + BtlController_EmitChosenMonReturnValue(1, chosenMonId, NULL); OpponentBufferExecCompleted(); } @@ -1690,23 +1671,23 @@ static void OpponentHandleHealthBarUpdate(void) s16 hpVal; LoadBattleBarGfx(0); - hpVal = (gBattleBufferA[gActiveBank][3] << 8) | gBattleBufferA[gActiveBank][2]; + hpVal = (gBattleBufferA[gActiveBattler][3] << 8) | gBattleBufferA[gActiveBattler][2]; if (hpVal != INSTANT_HP_BAR_DROP) { - u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); - u32 curHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_HP); + u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); + u32 curHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - SetBattleBarStruct(gActiveBank, gHealthBoxesIds[gActiveBank], maxHP, curHP, hpVal); + SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, curHP, hpVal); } else { - u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - SetBattleBarStruct(gActiveBank, gHealthBoxesIds[gActiveBank], maxHP, 0, hpVal); + SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, 0, hpVal); } - gBattleBankFunc[gActiveBank] = CompleteOnHealthbarDone; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; } static void OpponentHandleExpUpdate(void) @@ -1716,24 +1697,24 @@ static void OpponentHandleExpUpdate(void) static void OpponentHandleStatusIconUpdate(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { u8 bank; - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gEnemyParty[gBattlePartyID[gActiveBank]], HEALTHBOX_STATUS_ICON); - bank = gActiveBank; + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); + bank = gActiveBattler; gBattleSpritesDataPtr->healthBoxesData[bank].statusAnimActive = 0; - gBattleBankFunc[gActiveBank] = CompleteOnFinishedStatusAnimation; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } static void OpponentHandleStatusAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - DoStatusAnimation(gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8) | (gBattleBufferA[gActiveBank][4] << 16) | (gBattleBufferA[gActiveBank][5] << 24)); - gBattleBankFunc[gActiveBank] = CompleteOnFinishedStatusAnimation; + InitAndLaunchChosenStatusAnimation(gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8) | (gBattleBufferA[gActiveBattler][4] << 16) | (gBattleBufferA[gActiveBattler][5] << 24)); + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } @@ -1790,7 +1771,7 @@ static void OpponentHandleCmd37(void) static void OpponentHandleCmd38(void) { - gUnknown_02022D0C.field_0 = gBattleBufferA[gActiveBank][1]; + gUnknown_02022D0C.field_0 = gBattleBufferA[gActiveBattler][1]; OpponentBufferExecCompleted(); } @@ -1808,16 +1789,16 @@ static void OpponentHandleCmd40(void) static void OpponentHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) { OpponentBufferExecCompleted(); } else { gDoingBattleAnim = TRUE; - gSprites[gBankSpriteIds[gActiveBank]].data1 = 0; - DoHitAnimHealthboxEffect(gActiveBank); - gBattleBankFunc[gActiveBank] = DoHitAnimBlinkSpriteEffect; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; + DoHitAnimHealthboxEffect(gActiveBattler); + gBattlerControllerFuncs[gActiveBattler] = DoHitAnimBlinkSpriteEffect; } } @@ -1826,29 +1807,29 @@ static void OpponentHandleCmd42(void) OpponentBufferExecCompleted(); } -static void OpponentHandleEffectivenessSound(void) +static void OpponentHandlePlaySE(void) { s8 pan; - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) pan = PAN_SIDE_PLAYER; else pan = PAN_SIDE_OPPONENT; - PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan); + PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan); OpponentBufferExecCompleted(); } static void OpponentHandlePlayFanfareOrBGM(void) { - if (gBattleBufferA[gActiveBank][3]) + if (gBattleBufferA[gActiveBattler][3]) { - BattleMusicStop(); - PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + BattleStopLowHpSound(); + PlayBGM(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); } else { - PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); } OpponentBufferExecCompleted(); @@ -1856,7 +1837,7 @@ static void OpponentHandlePlayFanfareOrBGM(void) static void OpponentHandleFaintingCry(void) { - u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); PlayCry3(species, 25, 5); OpponentBufferExecCompleted(); @@ -1864,8 +1845,8 @@ static void OpponentHandleFaintingCry(void) static void OpponentHandleIntroSlide(void) { - HandleIntroSlide(gBattleBufferA[gActiveBank][1]); - gUnknown_020243FC |= 1; + HandleIntroSlide(gBattleBufferA[gActiveBattler][1]); + gIntroSlideFlags |= 1; OpponentBufferExecCompleted(); } @@ -1874,23 +1855,23 @@ static void OpponentHandleIntroTrainerBallThrow(void) u8 paletteNum; u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - gSprites[gBankSpriteIds[gActiveBank]].data0 = 35; - gSprites[gBankSpriteIds[gActiveBank]].data2 = 280; - gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; - StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], sub_806280C); + StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_806280C); taskId = CreateTask(sub_8062828, 5); - gTasks[taskId].data[0] = gActiveBank; + gTasks[taskId].data[0] = gActiveBattler; - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1) - gTasks[gUnknown_020244B4[gActiveBank]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; gBattleSpritesDataPtr->animationData->field_9_x1 = 1; - gBattleBankFunc[gActiveBank] = nullsub_26; + gBattlerControllerFuncs[gActiveBattler] = nullsub_26; } static void sub_806280C(struct Sprite *sprite) @@ -1902,79 +1883,79 @@ static void sub_806280C(struct Sprite *sprite) static void sub_8062828(u8 taskId) { - u8 savedActiveBank = gActiveBank; + u8 savedActiveBank = gActiveBattler; - gActiveBank = gTasks[taskId].data[0]; + gActiveBattler = gTasks[taskId].data[0]; if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_80613DC(gActiveBank, FALSE); + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_80613DC(gActiveBattler, FALSE); } else if ((gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS)) { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_80613DC(gActiveBank, FALSE); + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_80613DC(gActiveBattler, FALSE); } else { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_80613DC(gActiveBank, FALSE); - gActiveBank ^= BIT_MON; - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_80613DC(gActiveBank, FALSE); - gActiveBank ^= BIT_MON; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_80613DC(gActiveBattler, FALSE); + gActiveBattler ^= BIT_FLANK; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_80613DC(gActiveBattler, FALSE); + gActiveBattler ^= BIT_FLANK; } - gBattleBankFunc[gActiveBank] = sub_805F560; - gActiveBank = savedActiveBank; + gBattlerControllerFuncs[gActiveBattler] = sub_805F560; + gActiveBattler = savedActiveBank; DestroyTask(taskId); } static void OpponentHandleDrawPartyStatusSummary(void) { - if (gBattleBufferA[gActiveBank][1] != 0 && GetBankSide(gActiveBank) == SIDE_PLAYER) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { OpponentBufferExecCompleted(); } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1 = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1 = 1; - if (gBattleBufferA[gActiveBank][2] != 0) + if (gBattleBufferA[gActiveBattler][2] != 0) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1E < 2) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1E < 2) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1E++; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1E++; return; } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1E = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1E = 0; } } - gUnknown_020244B4[gActiveBank] = CreatePartyStatusSummarySprites(gActiveBank, (struct HpAndStatus *)&gBattleBufferA[gActiveBank][4], gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][2]); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5 = 0; + gBattlerStatusSummaryTaskId[gActiveBattler] = CreatePartyStatusSummarySprites(gActiveBattler, (struct HpAndStatus *)&gBattleBufferA[gActiveBattler][4], gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][2]); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0; - if (gBattleBufferA[gActiveBank][2] != 0) - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5 = 0x5D; + if (gBattleBufferA[gActiveBattler][2] != 0) + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0x5D; - gBattleBankFunc[gActiveBank] = sub_8062A2C; + gBattlerControllerFuncs[gActiveBattler] = sub_8062A2C; } } static void sub_8062A2C(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5++ > 0x5C) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5++ > 0x5C) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0; OpponentBufferExecCompleted(); } } static void OpponentHandleCmd49(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1) - gTasks[gUnknown_020244B4[gActiveBank]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; OpponentBufferExecCompleted(); } @@ -1985,25 +1966,25 @@ static void OpponentHandleCmd50(void) static void OpponentHandleSpriteInvisibility(void) { - if (IsBankSpritePresent(gActiveBank)) + if (IsBattlerSpritePresent(gActiveBattler)) { - gSprites[gBankSpriteIds[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; - CopyBattleSpriteInvisibility(gActiveBank); + gSprites[gBattlerSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; + CopyBattleSpriteInvisibility(gActiveBattler); } OpponentBufferExecCompleted(); } static void OpponentHandleBattleAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u8 animationId = gBattleBufferA[gActiveBank][1]; - u16 argument = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 animationId = gBattleBufferA[gActiveBattler][1]; + u16 argument = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - if (DoBattleAnimationFromTable(gActiveBank, gActiveBank, gActiveBank, animationId, argument)) + if (TryHandleLaunchBattleTableAnimation(gActiveBattler, gActiveBattler, gActiveBattler, animationId, argument)) OpponentBufferExecCompleted(); else - gBattleBankFunc[gActiveBank] = CompleteOnFinishedBattleAnimation; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation; } } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 10d361cb9b..897122ddde 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -4,16 +4,17 @@ #include "battle_message.h" #include "battle_interface.h" #include "battle_anim.h" +#include "constants/battle_anim.h" #include "battle_link_817C95C.h" #include "pokemon.h" #include "link.h" #include "util.h" #include "main.h" #include "item.h" -#include "items.h" -#include "songs.h" +#include "constants/items.h" +#include "constants/songs.h" #include "sound.h" -#include "moves.h" +#include "constants/moves.h" #include "window.h" #include "m4a.h" #include "palette.h" @@ -22,47 +23,22 @@ #include "string_util.h" #include "bg.h" #include "reshow_battle_screen.h" -#include "rng.h" +#include "random.h" #include "pokeball.h" #include "data2.h" +#include "battle_setup.h" +#include "item_use.h" +#include "recorded_battle.h" -extern u32 gBattleExecBuffer; -extern u8 gActiveBank; -extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT]; -extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT]; -extern u8 gMoveSelectionCursor[BATTLE_BANKS_COUNT]; -extern u8 gAbsentBankFlags; -extern u8 gNoOfAllBanks; -extern bool8 gDoingBattleAnim; -extern u8 gPlayerDpadHoldFrames; -extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void); -extern void (*gPreBattleCallback1)(void); -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; -extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200]; -extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200]; -extern u8 gMultiUsePlayerCursor; -extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; -extern struct MusicPlayerInfo gMPlay_BGM; -extern u16 gPartnerTrainerId; -extern struct SpriteTemplate gUnknown_0202499C; -extern u8 gBattleMonForms[BATTLE_BANKS_COUNT]; -extern u16 gScriptItemId; extern u8 gUnknown_0203CEE8; extern u8 gUnknown_0203CEE9; extern u8 gUnknown_0203CF00[]; -extern u8 gUnknown_03005D7C[BATTLE_BANKS_COUNT]; -extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT]; -extern u8 gBattleOutcome; -extern u8 gNumberOfMovesToChoose; extern u16 gBattle_BG0_X; extern u16 gBattle_BG0_Y; extern s32 gUnknown_0203CD70; -extern u8 gBankInMenu; -extern u32 gBattlePalaceMoveSelectionRngValue; -extern u32 gTransformedPersonalities[BATTLE_BANKS_COUNT]; -extern u8 gUnknown_020244B4[]; -extern u16 gUnknown_020243FC; extern struct UnusedControllerStruct gUnknown_02022D0C; +extern struct MusicPlayerInfo gMPlayInfo_BGM; +extern struct SpriteTemplate gUnknown_0202499C; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; @@ -102,7 +78,7 @@ static void PlayerHandleBallThrowAnim(void); static void PlayerHandlePause(void); static void PlayerHandleMoveAnimation(void); static void PlayerHandlePrintString(void); -static void PlayerHandlePrintStringPlayerOnly(void); +static void PlayerHandlePrintSelectionString(void); static void PlayerHandleChooseAction(void); static void PlayerHandleUnknownYesNoBox(void); static void PlayerHandleChooseMove(void); @@ -128,7 +104,7 @@ static void PlayerHandleCmd39(void); static void PlayerHandleCmd40(void); static void PlayerHandleHitAnimation(void); static void PlayerHandleCmd42(void); -static void PlayerHandleEffectivenessSound(void); +static void PlayerHandlePlaySE(void); static void PlayerHandlePlayFanfareOrBGM(void); static void PlayerHandleFaintingCry(void); static void PlayerHandleIntroSlide(void); @@ -189,7 +165,7 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = PlayerHandlePause, PlayerHandleMoveAnimation, PlayerHandlePrintString, - PlayerHandlePrintStringPlayerOnly, + PlayerHandlePrintSelectionString, PlayerHandleChooseAction, PlayerHandleUnknownYesNoBox, PlayerHandleChooseMove, @@ -215,7 +191,7 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = PlayerHandleCmd40, PlayerHandleHitAnimation, PlayerHandleCmd42, - PlayerHandleEffectivenessSound, + PlayerHandlePlaySE, PlayerHandlePlayFanfareOrBGM, PlayerHandleFaintingCry, PlayerHandleIntroSlide, @@ -231,10 +207,10 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = nullsub_22 }; -static const u8 sTargetIdentities[] = {IDENTITY_PLAYER_MON1, IDENTITY_PLAYER_MON2, IDENTITY_OPPONENT_MON2, IDENTITY_OPPONENT_MON1}; +static const u8 sTargetIdentities[] = {B_POSITION_PLAYER_LEFT, B_POSITION_PLAYER_RIGHT, B_POSITION_OPPONENT_RIGHT, B_POSITION_OPPONENT_LEFT}; // unknown unused data -static const u8 gUnknown_0831C5FC[] = {0x48, 0x48, 0x20, 0x5a, 0x50, 0x50, 0x50, 0x58}; +static const u8 sUnknown_0831C5FC[] = {0x48, 0x48, 0x20, 0x5a, 0x50, 0x50, 0x50, 0x58}; void nullsub_21(void) { @@ -242,33 +218,33 @@ void nullsub_21(void) void SetControllerToPlayer(void) { - gBattleBankFunc[gActiveBank] = PlayerBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = PlayerBufferRunCommand; gDoingBattleAnim = FALSE; gPlayerDpadHoldFrames = 0; } static void PlayerBufferExecCompleted(void) { - gBattleBankFunc[gActiveBank] = PlayerBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = PlayerBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleBufferA[gActiveBank][0] = CONTROLLER_TERMINATOR_NOP; + gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else { - gBattleExecBuffer &= ~gBitTable[gActiveBank]; + gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; } } static void PlayerBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBank]) + if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) { - if (gBattleBufferA[gActiveBank][0] < ARRAY_COUNT(sPlayerBufferCommands)) - sPlayerBufferCommands[gBattleBufferA[gActiveBank][0]](); + if (gBattleBufferA[gActiveBattler][0] < ARRAY_COUNT(sPlayerBufferCommands)) + sPlayerBufferCommands[gBattleBufferA[gActiveBattler][0]](); else PlayerBufferExecCompleted(); } @@ -276,16 +252,16 @@ static void PlayerBufferRunCommand(void) static void CompleteOnBankSpritePosX_0(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].pos2.x == 0) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0) PlayerBufferExecCompleted(); } static void HandleInputChooseAction(void) { - u16 itemId = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u16 itemId = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - dp11b_obj_instanciate(gActiveBank, 1, 7, 1); - dp11b_obj_instanciate(gActiveBank, 0, 7, 1); + dp11b_obj_instanciate(gActiveBattler, 1, 7, 1); + dp11b_obj_instanciate(gActiveBattler, 0, 7, 1); if (gMain.newAndRepeatedKeys & DPAD_ANY && gSaveBlock2Ptr->optionsButtonMode == 2) gPlayerDpadHoldFrames++; @@ -296,71 +272,71 @@ static void HandleInputChooseAction(void) { PlaySE(SE_SELECT); - switch (gActionSelectionCursor[gActiveBank]) + switch (gActionSelectionCursor[gActiveBattler]) { case 0: - EmitTwoReturnValues(1, ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(1, B_ACTION_USE_MOVE, 0); break; case 1: - EmitTwoReturnValues(1, ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(1, B_ACTION_USE_ITEM, 0); break; case 2: - EmitTwoReturnValues(1, ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0); break; case 3: - EmitTwoReturnValues(1, ACTION_RUN, 0); + BtlController_EmitTwoReturnValues(1, B_ACTION_RUN, 0); break; } PlayerBufferExecCompleted(); } else if (gMain.newKeys & DPAD_LEFT) { - if (gActionSelectionCursor[gActiveBank] & 1) // if is ACTION_USE_ITEM or ACTION_RUN + if (gActionSelectionCursor[gActiveBattler] & 1) // if is B_ACTION_USE_ITEM or B_ACTION_RUN { PlaySE(SE_SELECT); - ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 1; - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBank], 0); + ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 1; + ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); } } else if (gMain.newKeys & DPAD_RIGHT) { - if (!(gActionSelectionCursor[gActiveBank] & 1)) // if is ACTION_USE_MOVE or ACTION_SWITCH + if (!(gActionSelectionCursor[gActiveBattler] & 1)) // if is B_ACTION_USE_MOVE or B_ACTION_SWITCH { PlaySE(SE_SELECT); - ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 1; - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBank], 0); + ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 1; + ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); } } else if (gMain.newKeys & DPAD_UP) { - if (gActionSelectionCursor[gActiveBank] & 2) // if is ACTION_SWITCH or ACTION_RUN + if (gActionSelectionCursor[gActiveBattler] & 2) // if is B_ACTION_SWITCH or B_ACTION_RUN { PlaySE(SE_SELECT); - ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 2; - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBank], 0); + ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 2; + ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); } } else if (gMain.newKeys & DPAD_DOWN) { - if (!(gActionSelectionCursor[gActiveBank] & 2)) // if is ACTION_USE_MOVE or ACTION_USE_ITEM + if (!(gActionSelectionCursor[gActiveBattler] & 2)) // if is B_ACTION_USE_MOVE or B_ACTION_USE_ITEM { PlaySE(SE_SELECT); - ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 2; - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBank], 0); + ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 2; + ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); } } else if (gMain.newKeys & B_BUTTON || gPlayerDpadHoldFrames > 59) { if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - && GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON2 - && !(gAbsentBankFlags & gBitTable[GetBankByIdentity(IDENTITY_PLAYER_MON1)]) + && GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_RIGHT + && !(gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - if (gBattleBufferA[gActiveBank][1] == ACTION_USE_ITEM) + if (gBattleBufferA[gActiveBattler][1] == B_ACTION_USE_ITEM) { // Add item to bag if it is a ball if (itemId <= ITEM_PREMIER_BALL) @@ -369,7 +345,7 @@ static void HandleInputChooseAction(void) return; } PlaySE(SE_SELECT); - EmitTwoReturnValues(1, ACTION_CANCEL_PARTNER, 0); + BtlController_EmitTwoReturnValues(1, B_ACTION_CANCEL_PARTNER, 0); PlayerBufferExecCompleted(); } } @@ -381,9 +357,9 @@ static void HandleInputChooseAction(void) static void sub_80577F0(void) // unused { - dp11b_obj_free(gActiveBank, 1); - dp11b_obj_free(gActiveBank, 0); - gBattleBankFunc[gActiveBank] = HandleInputChooseTarget; + dp11b_obj_free(gActiveBattler, 1); + dp11b_obj_free(gActiveBattler, 0); + gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseTarget; } static void HandleInputChooseTarget(void) @@ -396,14 +372,14 @@ static void HandleInputChooseTarget(void) // what a weird loop i = 0; - if (gNoOfAllBanks != 0) + if (gBattlersCount != 0) { do { if (i != gMultiUsePlayerCursor) dp11b_obj_free(i, 1); i++; - } while (i < gNoOfAllBanks); + } while (i < gBattlersCount); } if (gMain.heldKeys & DPAD_ANY && gSaveBlock2Ptr->optionsButtonMode == 2) @@ -414,30 +390,30 @@ static void HandleInputChooseTarget(void) if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - gSprites[gBankSpriteIds[gMultiUsePlayerCursor]].callback = sub_8039B2C; - EmitTwoReturnValues(1, 10, gMoveSelectionCursor[gActiveBank] | (gMultiUsePlayerCursor << 8)); + gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = sub_8039B2C; + BtlController_EmitTwoReturnValues(1, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); dp11b_obj_free(gMultiUsePlayerCursor, 1); PlayerBufferExecCompleted(); } else if (gMain.newKeys & B_BUTTON || gPlayerDpadHoldFrames > 59) { PlaySE(SE_SELECT); - gSprites[gBankSpriteIds[gMultiUsePlayerCursor]].callback = sub_8039B2C; - gBattleBankFunc[gActiveBank] = HandleInputChooseMove; - dp11b_obj_instanciate(gActiveBank, 1, 7, 1); - dp11b_obj_instanciate(gActiveBank, 0, 7, 1); + gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = sub_8039B2C; + gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseMove; + dp11b_obj_instanciate(gActiveBattler, 1, 7, 1); + dp11b_obj_instanciate(gActiveBattler, 0, 7, 1); dp11b_obj_free(gMultiUsePlayerCursor, 1); } else if (gMain.newKeys & (DPAD_LEFT | DPAD_UP)) { PlaySE(SE_SELECT); - gSprites[gBankSpriteIds[gMultiUsePlayerCursor]].callback = sub_8039B2C; + gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = sub_8039B2C; do { - u8 currSelIdentity = GetBankIdentity(gMultiUsePlayerCursor); + u8 currSelIdentity = GetBattlerPosition(gMultiUsePlayerCursor); - for (i = 0; i < BATTLE_BANKS_COUNT; i++) + for (i = 0; i < MAX_BATTLERS_COUNT; i++) { if (currSelIdentity == identities[i]) break; @@ -446,40 +422,40 @@ static void HandleInputChooseTarget(void) { if (--i < 0) i = 4; // UB: array out of range - gMultiUsePlayerCursor = GetBankByIdentity(identities[i]); - } while (gMultiUsePlayerCursor == gNoOfAllBanks); + gMultiUsePlayerCursor = GetBattlerAtPosition(identities[i]); + } while (gMultiUsePlayerCursor == gBattlersCount); i = 0; - switch (GetBankIdentity(gMultiUsePlayerCursor)) + switch (GetBattlerPosition(gMultiUsePlayerCursor)) { - case IDENTITY_PLAYER_MON1: - case IDENTITY_PLAYER_MON2: - if (gActiveBank != gMultiUsePlayerCursor) + case B_POSITION_PLAYER_LEFT: + case B_POSITION_PLAYER_RIGHT: + if (gActiveBattler != gMultiUsePlayerCursor) i++; - else if (gBattleMoves[GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBank])].target & MOVE_TARGET_USER) + else if (gBattleMoves[GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBattler])].target & MOVE_TARGET_USER) i++; break; - case IDENTITY_OPPONENT_MON1: - case IDENTITY_OPPONENT_MON2: + case B_POSITION_OPPONENT_LEFT: + case B_POSITION_OPPONENT_RIGHT: i++; break; } - if (gAbsentBankFlags & gBitTable[gMultiUsePlayerCursor]) + if (gAbsentBattlerFlags & gBitTable[gMultiUsePlayerCursor]) i = 0; } while (i == 0); - gSprites[gBankSpriteIds[gMultiUsePlayerCursor]].callback = sub_8039AD8; + gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = sub_8039AD8; } else if (gMain.newKeys & (DPAD_RIGHT | DPAD_DOWN)) { PlaySE(SE_SELECT); - gSprites[gBankSpriteIds[gMultiUsePlayerCursor]].callback = sub_8039B2C; + gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = sub_8039B2C; do { - u8 currSelIdentity = GetBankIdentity(gMultiUsePlayerCursor); + u8 currSelIdentity = GetBattlerPosition(gMultiUsePlayerCursor); - for (i = 0; i < BATTLE_BANKS_COUNT; i++) + for (i = 0; i < MAX_BATTLERS_COUNT; i++) { if (currSelIdentity == identities[i]) break; @@ -488,36 +464,36 @@ static void HandleInputChooseTarget(void) { if (++i > 3) i = 0; - gMultiUsePlayerCursor = GetBankByIdentity(identities[i]); - } while (gMultiUsePlayerCursor == gNoOfAllBanks); + gMultiUsePlayerCursor = GetBattlerAtPosition(identities[i]); + } while (gMultiUsePlayerCursor == gBattlersCount); i = 0; - switch (GetBankIdentity(gMultiUsePlayerCursor)) + switch (GetBattlerPosition(gMultiUsePlayerCursor)) { - case IDENTITY_PLAYER_MON1: - case IDENTITY_PLAYER_MON2: - if (gActiveBank != gMultiUsePlayerCursor) + case B_POSITION_PLAYER_LEFT: + case B_POSITION_PLAYER_RIGHT: + if (gActiveBattler != gMultiUsePlayerCursor) i++; - else if (gBattleMoves[GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBank])].target & MOVE_TARGET_USER) + else if (gBattleMoves[GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBattler])].target & MOVE_TARGET_USER) i++; break; - case IDENTITY_OPPONENT_MON1: - case IDENTITY_OPPONENT_MON2: + case B_POSITION_OPPONENT_LEFT: + case B_POSITION_OPPONENT_RIGHT: i++; break; } - if (gAbsentBankFlags & gBitTable[gMultiUsePlayerCursor]) + if (gAbsentBattlerFlags & gBitTable[gMultiUsePlayerCursor]) i = 0; } while (i == 0); - gSprites[gBankSpriteIds[gMultiUsePlayerCursor]].callback = sub_8039AD8; + gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = sub_8039AD8; } } static void HandleInputChooseMove(void) { bool32 canSelectTarget = FALSE; - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBank][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBattler][4]); if (gMain.heldKeys & DPAD_ANY && gSaveBlock2Ptr->optionsButtonMode == 2) gPlayerDpadHoldFrames++; @@ -529,7 +505,7 @@ static void HandleInputChooseMove(void) u8 moveTarget; PlaySE(SE_SELECT); - if (moveInfo->moves[gMoveSelectionCursor[gActiveBank]] == MOVE_CURSE) + if (moveInfo->moves[gMoveSelectionCursor[gActiveBattler]] == MOVE_CURSE) { if (moveInfo->monType1 != TYPE_GHOST && moveInfo->monType2 != TYPE_GHOST) moveTarget = MOVE_TARGET_x10; @@ -538,17 +514,17 @@ static void HandleInputChooseMove(void) } else { - moveTarget = gBattleMoves[moveInfo->moves[gMoveSelectionCursor[gActiveBank]]].target; + moveTarget = gBattleMoves[moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]].target; } if (moveTarget & MOVE_TARGET_x10) - gMultiUsePlayerCursor = gActiveBank; + gMultiUsePlayerCursor = gActiveBattler; else - gMultiUsePlayerCursor = GetBankByIdentity((GetBankIdentity(gActiveBank) & BIT_SIDE) ^ BIT_SIDE); + gMultiUsePlayerCursor = GetBattlerAtPosition((GetBattlerPosition(gActiveBattler) & BIT_SIDE) ^ BIT_SIDE); - if (!gBattleBufferA[gActiveBank][1]) // not a double battle + if (!gBattleBufferA[gActiveBattler][1]) // not a double battle { - if (moveTarget & MOVE_TARGET_USER && !gBattleBufferA[gActiveBank][2]) + if (moveTarget & MOVE_TARGET_USER && !gBattleBufferA[gActiveBattler][2]) canSelectTarget++; } else // double battle @@ -556,88 +532,88 @@ static void HandleInputChooseMove(void) if (!(moveTarget & (MOVE_TARGET_RANDOM | MOVE_TARGET_BOTH | MOVE_TARGET_DEPENDS | MOVE_TARGET_FOES_AND_ALLY | MOVE_TARGET_OPPONENTS_FIELD | MOVE_TARGET_x10))) canSelectTarget++; // either selected or user - if (moveInfo->currentPp[gMoveSelectionCursor[gActiveBank]] == 0) + if (moveInfo->currentPp[gMoveSelectionCursor[gActiveBattler]] == 0) { canSelectTarget = FALSE; } else if (!(moveTarget & (MOVE_TARGET_x10 | MOVE_TARGET_USER)) && CountAliveMonsInBattle(BATTLE_ALIVE_EXCEPT_ACTIVE) <= 1) { - gMultiUsePlayerCursor = GetDefaultMoveTarget(gActiveBank); + gMultiUsePlayerCursor = GetDefaultMoveTarget(gActiveBattler); canSelectTarget = FALSE; } } if (!canSelectTarget) { - EmitTwoReturnValues(1, 10, gMoveSelectionCursor[gActiveBank] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(1, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); PlayerBufferExecCompleted(); } else { - gBattleBankFunc[gActiveBank] = HandleInputChooseTarget; + gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseTarget; if (moveTarget & (MOVE_TARGET_x10 | MOVE_TARGET_USER)) - gMultiUsePlayerCursor = gActiveBank; - else if (gAbsentBankFlags & gBitTable[GetBankByIdentity(IDENTITY_OPPONENT_MON1)]) - gMultiUsePlayerCursor = GetBankByIdentity(IDENTITY_OPPONENT_MON2); + gMultiUsePlayerCursor = gActiveBattler; + else if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)]) + gMultiUsePlayerCursor = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); else - gMultiUsePlayerCursor = GetBankByIdentity(IDENTITY_OPPONENT_MON1); + gMultiUsePlayerCursor = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - gSprites[gBankSpriteIds[gMultiUsePlayerCursor]].callback = sub_8039AD8; + gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = sub_8039AD8; } } else if (gMain.newKeys & B_BUTTON || gPlayerDpadHoldFrames > 59) { PlaySE(SE_SELECT); - EmitTwoReturnValues(1, 10, 0xFFFF); + BtlController_EmitTwoReturnValues(1, 10, 0xFFFF); PlayerBufferExecCompleted(); } else if (gMain.newKeys & DPAD_LEFT) { - if (gMoveSelectionCursor[gActiveBank] & 1) + if (gMoveSelectionCursor[gActiveBattler] & 1) { - MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBank]); - gMoveSelectionCursor[gActiveBank] ^= 1; + MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBattler]); + gMoveSelectionCursor[gActiveBattler] ^= 1; PlaySE(SE_SELECT); - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBank], 0); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); MoveSelectionDisplayPpNumber(); MoveSelectionDisplayMoveType(); } } else if (gMain.newKeys & DPAD_RIGHT) { - if (!(gMoveSelectionCursor[gActiveBank] & 1) - && (gMoveSelectionCursor[gActiveBank] ^ 1) < gNumberOfMovesToChoose) + if (!(gMoveSelectionCursor[gActiveBattler] & 1) + && (gMoveSelectionCursor[gActiveBattler] ^ 1) < gNumberOfMovesToChoose) { - MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBank]); - gMoveSelectionCursor[gActiveBank] ^= 1; + MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBattler]); + gMoveSelectionCursor[gActiveBattler] ^= 1; PlaySE(SE_SELECT); - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBank], 0); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); MoveSelectionDisplayPpNumber(); MoveSelectionDisplayMoveType(); } } else if (gMain.newKeys & DPAD_UP) { - if (gMoveSelectionCursor[gActiveBank] & 2) + if (gMoveSelectionCursor[gActiveBattler] & 2) { - MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBank]); - gMoveSelectionCursor[gActiveBank] ^= 2; + MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBattler]); + gMoveSelectionCursor[gActiveBattler] ^= 2; PlaySE(SE_SELECT); - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBank], 0); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); MoveSelectionDisplayPpNumber(); MoveSelectionDisplayMoveType(); } } else if (gMain.newKeys & DPAD_DOWN) { - if (!(gMoveSelectionCursor[gActiveBank] & 2) - && (gMoveSelectionCursor[gActiveBank] ^ 2) < gNumberOfMovesToChoose) + if (!(gMoveSelectionCursor[gActiveBattler] & 2) + && (gMoveSelectionCursor[gActiveBattler] ^ 2) < gNumberOfMovesToChoose) { - MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBank]); - gMoveSelectionCursor[gActiveBank] ^= 2; + MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBattler]); + gMoveSelectionCursor[gActiveBattler] ^= 2; PlaySE(SE_SELECT); - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBank], 0); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); MoveSelectionDisplayPpNumber(); MoveSelectionDisplayMoveType(); } @@ -646,16 +622,16 @@ static void HandleInputChooseMove(void) { if (gNumberOfMovesToChoose > 1 && !(gBattleTypeFlags & BATTLE_TYPE_LINK)) { - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBank], 29); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 29); - if (gMoveSelectionCursor[gActiveBank] != 0) + if (gMoveSelectionCursor[gActiveBattler] != 0) gMultiUsePlayerCursor = 0; else - gMultiUsePlayerCursor = gMoveSelectionCursor[gActiveBank] + 1; + gMultiUsePlayerCursor = gMoveSelectionCursor[gActiveBattler] + 1; MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 27); BattleHandleAddTextPrinter(gText_BattleSwitchWhich, 0xB); - gBattleBankFunc[gActiveBank] = HandleMoveSwitchting; + gBattlerControllerFuncs[gActiveBattler] = HandleMoveSwitchting; } } } @@ -676,35 +652,35 @@ u32 sub_8057FBC(void) // unused gBattle_BG0_Y = 0x140; var = 0xFF; } - if (gMain.newKeys & DPAD_LEFT && gMoveSelectionCursor[gActiveBank] & 1) + if (gMain.newKeys & DPAD_LEFT && gMoveSelectionCursor[gActiveBattler] & 1) { - MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBank]); - gMoveSelectionCursor[gActiveBank] ^= 1; + MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBattler]); + gMoveSelectionCursor[gActiveBattler] ^= 1; PlaySE(SE_SELECT); - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBank], 0); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); } - if (gMain.newKeys & DPAD_RIGHT && !(gMoveSelectionCursor[gActiveBank] & 1) - && (gMoveSelectionCursor[gActiveBank] ^ 1) < gNumberOfMovesToChoose) + if (gMain.newKeys & DPAD_RIGHT && !(gMoveSelectionCursor[gActiveBattler] & 1) + && (gMoveSelectionCursor[gActiveBattler] ^ 1) < gNumberOfMovesToChoose) { - MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBank]); - gMoveSelectionCursor[gActiveBank] ^= 1; + MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBattler]); + gMoveSelectionCursor[gActiveBattler] ^= 1; PlaySE(SE_SELECT); - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBank], 0); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); } - if (gMain.newKeys & DPAD_UP && gMoveSelectionCursor[gActiveBank] & 2) + if (gMain.newKeys & DPAD_UP && gMoveSelectionCursor[gActiveBattler] & 2) { - MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBank]); - gMoveSelectionCursor[gActiveBank] ^= 2; + MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBattler]); + gMoveSelectionCursor[gActiveBattler] ^= 2; PlaySE(SE_SELECT); - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBank], 0); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); } - if (gMain.newKeys & DPAD_DOWN && !(gMoveSelectionCursor[gActiveBank] & 2) - && (gMoveSelectionCursor[gActiveBank] ^ 2) < gNumberOfMovesToChoose) + if (gMain.newKeys & DPAD_DOWN && !(gMoveSelectionCursor[gActiveBattler] & 2) + && (gMoveSelectionCursor[gActiveBattler] ^ 2) < gNumberOfMovesToChoose) { - MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBank]); - gMoveSelectionCursor[gActiveBank] ^= 2; + MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBattler]); + gMoveSelectionCursor[gActiveBattler] ^= 2; PlaySE(SE_SELECT); - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBank], 0); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); } return var; @@ -720,73 +696,73 @@ static void HandleMoveSwitchting(void) { PlaySE(SE_SELECT); - if (gMoveSelectionCursor[gActiveBank] != gMultiUsePlayerCursor) + if (gMoveSelectionCursor[gActiveBattler] != gMultiUsePlayerCursor) { - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBank][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBattler][4]); s32 i; // swap moves and pp - i = moveInfo->moves[gMoveSelectionCursor[gActiveBank]]; - moveInfo->moves[gMoveSelectionCursor[gActiveBank]] = moveInfo->moves[gMultiUsePlayerCursor]; + i = moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]; + moveInfo->moves[gMoveSelectionCursor[gActiveBattler]] = moveInfo->moves[gMultiUsePlayerCursor]; moveInfo->moves[gMultiUsePlayerCursor] = i; - i = moveInfo->currentPp[gMoveSelectionCursor[gActiveBank]]; - moveInfo->currentPp[gMoveSelectionCursor[gActiveBank]] = moveInfo->currentPp[gMultiUsePlayerCursor]; + i = moveInfo->currentPp[gMoveSelectionCursor[gActiveBattler]]; + moveInfo->currentPp[gMoveSelectionCursor[gActiveBattler]] = moveInfo->currentPp[gMultiUsePlayerCursor]; moveInfo->currentPp[gMultiUsePlayerCursor] = i; - i = moveInfo->maxPp[gMoveSelectionCursor[gActiveBank]]; - moveInfo->maxPp[gMoveSelectionCursor[gActiveBank]] = moveInfo->maxPp[gMultiUsePlayerCursor]; + i = moveInfo->maxPp[gMoveSelectionCursor[gActiveBattler]]; + moveInfo->maxPp[gMoveSelectionCursor[gActiveBattler]] = moveInfo->maxPp[gMultiUsePlayerCursor]; moveInfo->maxPp[gMultiUsePlayerCursor] = i; - if (gDisableStructs[gActiveBank].unk18_b & gBitTable[gMoveSelectionCursor[gActiveBank]]) + if (gDisableStructs[gActiveBattler].unk18_b & gBitTable[gMoveSelectionCursor[gActiveBattler]]) { - gDisableStructs[gActiveBank].unk18_b &= (~gBitTable[gMoveSelectionCursor[gActiveBank]]); - gDisableStructs[gActiveBank].unk18_b |= gBitTable[gMultiUsePlayerCursor]; + gDisableStructs[gActiveBattler].unk18_b &= (~gBitTable[gMoveSelectionCursor[gActiveBattler]]); + gDisableStructs[gActiveBattler].unk18_b |= gBitTable[gMultiUsePlayerCursor]; } MoveSelectionDisplayMoveNames(); for (i = 0; i < 4; i++) - perMovePPBonuses[i] = (gBattleMons[gActiveBank].ppBonuses & (3 << (i * 2))) >> (i * 2); + perMovePPBonuses[i] = (gBattleMons[gActiveBattler].ppBonuses & (3 << (i * 2))) >> (i * 2); - totalPPBonuses = perMovePPBonuses[gMoveSelectionCursor[gActiveBank]]; - perMovePPBonuses[gMoveSelectionCursor[gActiveBank]] = perMovePPBonuses[gMultiUsePlayerCursor]; + totalPPBonuses = perMovePPBonuses[gMoveSelectionCursor[gActiveBattler]]; + perMovePPBonuses[gMoveSelectionCursor[gActiveBattler]] = perMovePPBonuses[gMultiUsePlayerCursor]; perMovePPBonuses[gMultiUsePlayerCursor] = totalPPBonuses; totalPPBonuses = 0; for (i = 0; i < 4; i++) totalPPBonuses |= perMovePPBonuses[i] << (i * 2); - gBattleMons[gActiveBank].ppBonuses = totalPPBonuses; + gBattleMons[gActiveBattler].ppBonuses = totalPPBonuses; for (i = 0; i < 4; i++) { - gBattleMons[gActiveBank].moves[i] = moveInfo->moves[i]; - gBattleMons[gActiveBank].pp[i] = moveInfo->currentPp[i]; + gBattleMons[gActiveBattler].moves[i] = moveInfo->moves[i]; + gBattleMons[gActiveBattler].pp[i] = moveInfo->currentPp[i]; } - if (!(gBattleMons[gActiveBank].status2 & STATUS2_TRANSFORMED)) + if (!(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) { for (i = 0; i < 4; i++) { - moveStruct.moves[i] = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + i); - moveStruct.currentPp[i] = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_PP1 + i); + moveStruct.moves[i] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + i); + moveStruct.currentPp[i] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_PP1 + i); } - totalPPBonuses = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_PP_BONUSES); + totalPPBonuses = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_PP_BONUSES); for (i = 0; i < 4; i++) perMovePPBonuses[i] = (totalPPBonuses & (3 << (i * 2))) >> (i * 2); - i = moveStruct.moves[gMoveSelectionCursor[gActiveBank]]; - moveStruct.moves[gMoveSelectionCursor[gActiveBank]] = moveStruct.moves[gMultiUsePlayerCursor]; + i = moveStruct.moves[gMoveSelectionCursor[gActiveBattler]]; + moveStruct.moves[gMoveSelectionCursor[gActiveBattler]] = moveStruct.moves[gMultiUsePlayerCursor]; moveStruct.moves[gMultiUsePlayerCursor] = i; - i = moveStruct.currentPp[gMoveSelectionCursor[gActiveBank]]; - moveStruct.currentPp[gMoveSelectionCursor[gActiveBank]] = moveStruct.currentPp[gMultiUsePlayerCursor]; + i = moveStruct.currentPp[gMoveSelectionCursor[gActiveBattler]]; + moveStruct.currentPp[gMoveSelectionCursor[gActiveBattler]] = moveStruct.currentPp[gMultiUsePlayerCursor]; moveStruct.currentPp[gMultiUsePlayerCursor] = i; - totalPPBonuses = perMovePPBonuses[gMoveSelectionCursor[gActiveBank]]; - perMovePPBonuses[gMoveSelectionCursor[gActiveBank]] = perMovePPBonuses[gMultiUsePlayerCursor]; + totalPPBonuses = perMovePPBonuses[gMoveSelectionCursor[gActiveBattler]]; + perMovePPBonuses[gMoveSelectionCursor[gActiveBattler]] = perMovePPBonuses[gMultiUsePlayerCursor]; perMovePPBonuses[gMultiUsePlayerCursor] = totalPPBonuses; totalPPBonuses = 0; @@ -795,17 +771,17 @@ static void HandleMoveSwitchting(void) for (i = 0; i < 4; i++) { - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + i, &moveStruct.moves[i]); - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_PP1 + i, &moveStruct.currentPp[i]); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + i, &moveStruct.moves[i]); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_PP1 + i, &moveStruct.currentPp[i]); } - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_PP_BONUSES, &totalPPBonuses); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_PP_BONUSES, &totalPPBonuses); } } - gBattleBankFunc[gActiveBank] = HandleInputChooseMove; - gMoveSelectionCursor[gActiveBank] = gMultiUsePlayerCursor; - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBank], 0); + gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseMove; + gMoveSelectionCursor[gActiveBattler] = gMultiUsePlayerCursor; + MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); MoveSelectionDisplayPpString(); MoveSelectionDisplayPpNumber(); MoveSelectionDisplayMoveType(); @@ -814,8 +790,8 @@ static void HandleMoveSwitchting(void) { PlaySE(SE_SELECT); MoveSelectionDestroyCursorAt(gMultiUsePlayerCursor); - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBank], 0); - gBattleBankFunc[gActiveBank] = HandleInputChooseMove; + MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); + gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseMove; MoveSelectionDisplayPpString(); MoveSelectionDisplayPpNumber(); MoveSelectionDisplayMoveType(); @@ -824,15 +800,15 @@ static void HandleMoveSwitchting(void) { if (gMultiUsePlayerCursor & 1) { - if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBank]) - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBank], 29); + if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBattler]) + MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 29); else MoveSelectionDestroyCursorAt(gMultiUsePlayerCursor); gMultiUsePlayerCursor ^= 1; PlaySE(SE_SELECT); - if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBank]) + if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBattler]) MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 0); else MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 27); @@ -842,15 +818,15 @@ static void HandleMoveSwitchting(void) { if (!(gMultiUsePlayerCursor & 1) && (gMultiUsePlayerCursor ^ 1) < gNumberOfMovesToChoose) { - if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBank]) - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBank], 29); + if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBattler]) + MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 29); else MoveSelectionDestroyCursorAt(gMultiUsePlayerCursor); gMultiUsePlayerCursor ^= 1; PlaySE(SE_SELECT); - if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBank]) + if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBattler]) MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 0); else MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 27); @@ -860,15 +836,15 @@ static void HandleMoveSwitchting(void) { if (gMultiUsePlayerCursor & 2) { - if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBank]) - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBank], 29); + if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBattler]) + MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 29); else MoveSelectionDestroyCursorAt(gMultiUsePlayerCursor); gMultiUsePlayerCursor ^= 2; PlaySE(SE_SELECT); - if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBank]) + if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBattler]) MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 0); else MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 27); @@ -878,15 +854,15 @@ static void HandleMoveSwitchting(void) { if (!(gMultiUsePlayerCursor & 2) && (gMultiUsePlayerCursor ^ 2) < gNumberOfMovesToChoose) { - if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBank]) - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBank], 29); + if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBattler]) + MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 29); else MoveSelectionDestroyCursorAt(gMultiUsePlayerCursor); gMultiUsePlayerCursor ^= 2; PlaySE(SE_SELECT); - if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBank]) + if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBattler]) MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 0); else MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 27); @@ -904,7 +880,7 @@ static void sub_80586F8(void) gMain.inBattle = 0; gMain.callback1 = gPreBattleCallback1; SetMainCallback2(sub_8038D64); - if (gBattleOutcome == BATTLE_WON) + if (gBattleOutcome == B_OUTCOME_WON) sub_817E3F4(); FreeAllWindowBuffers(); } @@ -917,7 +893,7 @@ static void sub_80586F8(void) gMain.inBattle = 0; gMain.callback1 = gPreBattleCallback1; SetMainCallback2(sub_8038D64); - if (gBattleOutcome == BATTLE_WON) + if (gBattleOutcome == B_OUTCOME_WON) sub_817E3F4(); FreeAllWindowBuffers(); } @@ -937,7 +913,7 @@ void sub_80587B0(void) else sub_800ADF8(); - gBattleBankFunc[gActiveBank] = sub_80586F8; + gBattlerControllerFuncs[gActiveBattler] = sub_80586F8; } } else @@ -952,32 +928,32 @@ void sub_80587B0(void) static void CompleteOnBankSpriteCallbackDummy(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) PlayerBufferExecCompleted(); } static void CompleteOnBankSpriteCallbackDummy2(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) PlayerBufferExecCompleted(); } static void sub_80588B4(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { nullsub_25(gSaveBlock2Ptr->playerGender); - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); PlayerBufferExecCompleted(); } } static void sub_8058924(void) { - if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 == 0xFF) + if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 == 0xFF) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 = 0; PlayerBufferExecCompleted(); } } @@ -988,33 +964,33 @@ static void sub_805896C(void) if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) var = TRUE; } else { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gHealthBoxesIds[gActiveBank ^ BIT_MON]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy) var = TRUE; } - if (var && gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 - && gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x1) + if (var && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 + && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].field_1_x1) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].field_1_x1 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); if (IsDoubleBattle()) - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank ^ BIT_MON]], gActiveBank ^ BIT_MON); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], gActiveBattler ^ BIT_FLANK); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 = 3; - gBattleBankFunc[gActiveBank] = sub_8058924; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 = 3; + gBattlerControllerFuncs[gActiveBattler] = sub_8058924; } } @@ -1023,58 +999,58 @@ static void sub_8058B40(void) bool32 r9 = FALSE; bool32 r8 = FALSE; - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8) - sub_8172EF0(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]); - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8) - sub_8172EF0(gActiveBank ^ BIT_MON, &gPlayerParty[gBattlePartyID[gActiveBank ^ BIT_MON]]); + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) + sub_8172EF0(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) + sub_8172EF0(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]); - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x80) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank ^ BIT_MON], &gPlayerParty[gBattlePartyID[gActiveBank ^ BIT_MON]], HEALTHBOX_ALL); - sub_8076918(gActiveBank ^ BIT_MON); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank ^ BIT_MON]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler ^ BIT_FLANK); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]); } - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], HEALTHBOX_ALL); - sub_8076918(gActiveBank); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80 = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x80 = 1; } - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x40 - && gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x40 + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x40 + && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x80 + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].field_1_x40 && !IsCryPlayingOrClearCrySongs()) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x20) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x20) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK) - m4aMPlayContinue(&gMPlay_BGM); + m4aMPlayContinue(&gMPlayInfo_BGM); else - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x20 = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x20 = 1; r9 = TRUE; } if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { r8 = TRUE; } } else { - if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gUnknown_03005D7C[gActiveBank ^ BIT_MON]].callback == SpriteCallbackDummy - && gSprites[gBankSpriteIds[gActiveBank ^ BIT_MON]].callback == SpriteCallbackDummy) + if (gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gUnknown_03005D7C[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy) { r8 = TRUE; } @@ -1083,63 +1059,63 @@ static void sub_8058B40(void) if (r9 && r8) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank ^ BIT_MON]]); - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]); + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler ^ BIT_FLANK]]); + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler]]); gBattleSpritesDataPtr->animationData->field_9_x1 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x20 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x20 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x80 = 0; - gBattleBankFunc[gActiveBank] = sub_805896C; + gBattlerControllerFuncs[gActiveBattler] = sub_805896C; } } static void sub_8058EDC(void) { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy - && gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 - && gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 + && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { - CopyBattleSpriteInvisibility(gActiveBank); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 = 0; + CopyBattleSpriteInvisibility(gActiveBattler); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE); + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); - gBattleBankFunc[gActiveBank] = sub_8058FC0; + gBattlerControllerFuncs[gActiveBattler] = sub_8058FC0; } } static void sub_8058FC0(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive && !IsCryPlayingOrClearCrySongs()) { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); PlayerBufferExecCompleted(); } } static void sub_805902C(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) { - sub_8172EF0(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]); + sub_8172EF0(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); } - if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8) + if (gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) { - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]); - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], HEALTHBOX_ALL); - sub_8076918(gActiveBank); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); - gBattleBankFunc[gActiveBank] = sub_8058EDC; + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler]]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); + gBattlerControllerFuncs[gActiveBattler] = sub_8058EDC; } } @@ -1147,24 +1123,24 @@ void c3_0802FDF4(u8 taskId) { if (!IsCryPlayingOrClearCrySongs()) { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); DestroyTask(taskId); } } static void CompleteOnHealthbarDone(void) { - s16 hpValue = sub_8074AA0(gActiveBank, gHealthBoxesIds[gActiveBank], HEALTH_BAR, 0); + s16 hpValue = sub_8074AA0(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); if (hpValue != -1) { - UpdateHpTextInHealthbox(gHealthBoxesIds[gActiveBank], hpValue, HP_CURRENT); + UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], hpValue, HP_CURRENT); } else { - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); PlayerBufferExecCompleted(); } } @@ -1186,7 +1162,7 @@ static void Task_GiveExpToMon(u8 taskId) u8 bank = gTasks[taskId].tExpTask_bank; s16 gainedExp = gTasks[taskId].tExpTask_gainedExp; - if (IsDoubleBattle() == TRUE || monId != gBattlePartyID[bank]) // give exp without the expbar + if (IsDoubleBattle() == TRUE || monId != gBattlerPartyIndexes[bank]) // give exp without the expbar { struct Pokemon *mon = &gPlayerParty[monId]; u16 species = GetMonData(mon, MON_DATA_SPECIES); @@ -1201,13 +1177,13 @@ static void Task_GiveExpToMon(u8 taskId) SetMonData(mon, MON_DATA_EXP, &nextLvlExp); CalculateMonStats(mon); gainedExp -= nextLvlExp - currExp; - savedActiveBank = gActiveBank; - gActiveBank = bank; - EmitTwoReturnValues(1, RET_VALUE_LEVELLED_UP, gainedExp); - gActiveBank = savedActiveBank; + savedActiveBank = gActiveBattler; + gActiveBattler = bank; + BtlController_EmitTwoReturnValues(1, RET_VALUE_LEVELLED_UP, gainedExp); + gActiveBattler = savedActiveBank; if (IsDoubleBattle() == TRUE - && ((u16)(monId) == gBattlePartyID[bank] || (u16)(monId) == gBattlePartyID[bank ^ BIT_MON])) + && ((u16)(monId) == gBattlerPartyIndexes[bank] || (u16)(monId) == gBattlerPartyIndexes[bank ^ BIT_FLANK])) gTasks[taskId].func = sub_8059544; else gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter; @@ -1216,7 +1192,7 @@ static void Task_GiveExpToMon(u8 taskId) { currExp += gainedExp; SetMonData(mon, MON_DATA_EXP, &currExp); - gBattleBankFunc[bank] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[bank] = CompleteOnInactiveTextPrinter; DestroyTask(taskId); } } @@ -1240,7 +1216,7 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId) exp -= currLvlExp; expToNextLvl = gExperienceTables[gBaseStats[species].growthRate][level + 1] - currLvlExp; - SetBattleBarStruct(bank, gHealthBoxesIds[bank], expToNextLvl, exp, -gainedExp); + SetBattleBarStruct(bank, gHealthboxSpriteIds[bank], expToNextLvl, exp, -gainedExp); PlaySE(SE_EXP); gTasks[taskId].func = sub_8059400; } @@ -1258,8 +1234,8 @@ static void sub_8059400(u8 taskId) u8 bank = gTasks[taskId].tExpTask_bank; s16 r4; - r4 = sub_8074AA0(bank, gHealthBoxesIds[bank], EXP_BAR, 0); - SetHealthboxSpriteVisible(gHealthBoxesIds[bank]); + r4 = sub_8074AA0(bank, gHealthboxSpriteIds[bank], EXP_BAR, 0); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[bank]); if (r4 == -1) { u8 level; @@ -1280,17 +1256,17 @@ static void sub_8059400(u8 taskId) SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &expOnNextLvl); CalculateMonStats(&gPlayerParty[monId]); gainedExp -= expOnNextLvl - currExp; - savedActiveBank = gActiveBank; - gActiveBank = bank; - EmitTwoReturnValues(1, RET_VALUE_LEVELLED_UP, gainedExp); - gActiveBank = savedActiveBank; + savedActiveBank = gActiveBattler; + gActiveBattler = bank; + BtlController_EmitTwoReturnValues(1, RET_VALUE_LEVELLED_UP, gainedExp); + gActiveBattler = savedActiveBank; gTasks[taskId].func = sub_8059544; } else { currExp += gainedExp; SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &currExp); - gBattleBankFunc[bank] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[bank] = CompleteOnInactiveTextPrinter; DestroyTask(taskId); } } @@ -1302,10 +1278,10 @@ static void sub_8059544(u8 taskId) u8 bank = gTasks[taskId].tExpTask_bank; u8 monIndex = gTasks[taskId].tExpTask_monId; - if (IsDoubleBattle() == TRUE && monIndex == gBattlePartyID[bank ^ BIT_MON]) - bank ^= BIT_MON; + if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[bank ^ BIT_FLANK]) + bank ^= BIT_FLANK; - DoSpecialBattleAnimation(bank, bank, bank, B_ANIM_LVL_UP); + InitAndLaunchSpecialAnimation(bank, bank, bank, B_ANIM_LVL_UP); gTasks[taskId].func = sub_80595A4; } @@ -1319,10 +1295,10 @@ static void sub_80595A4(u8 taskId) GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value - if (IsDoubleBattle() == TRUE && monIndex == gBattlePartyID[bank ^ BIT_MON]) - UpdateHealthboxAttribute(gHealthBoxesIds[bank ^ BIT_MON], &gPlayerParty[monIndex], HEALTHBOX_ALL); + if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[bank ^ BIT_FLANK]) + UpdateHealthboxAttribute(gHealthboxSpriteIds[bank ^ BIT_FLANK], &gPlayerParty[monIndex], HEALTHBOX_ALL); else - UpdateHealthboxAttribute(gHealthBoxesIds[bank], &gPlayerParty[monIndex], HEALTHBOX_ALL); + UpdateHealthboxAttribute(gHealthboxSpriteIds[bank], &gPlayerParty[monIndex], HEALTHBOX_ALL); gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter; } @@ -1336,31 +1312,31 @@ static void DestroyExpTaskAndCompleteOnInactiveTextPrinter(u8 taskId) monIndex = gTasks[taskId].tExpTask_monId; GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value bank = gTasks[taskId].tExpTask_bank; - gBattleBankFunc[bank] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[bank] = CompleteOnInactiveTextPrinter; DestroyTask(taskId); } static void sub_80596A8(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].pos1.y + gSprites[gBankSpriteIds[gActiveBank]].pos2.y > DISPLAY_HEIGHT) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y > DISPLAY_HEIGHT) { - u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); nullsub_24(species); - FreeOamMatrix(gSprites[gBankSpriteIds[gActiveBank]].oam.matrixNum); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + FreeOamMatrix(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.matrixNum); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); PlayerBufferExecCompleted(); } } static void sub_8059744(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); PlayerBufferExecCompleted(); } } @@ -1377,9 +1353,9 @@ static void sub_80597CC(void) { u8 r4; - gBattleBankFunc[gActiveBank] = sub_8059828; - r4 = gTasks[gUnknown_03005D7C[gActiveBank]].data[0]; - DestroyTask(gUnknown_03005D7C[gActiveBank]); + gBattlerControllerFuncs[gActiveBattler] = sub_8059828; + r4 = gTasks[gUnknown_03005D7C[gActiveBattler]].data[0]; + DestroyTask(gUnknown_03005D7C[gActiveBattler]); FreeAllWindowBuffers(); sub_81B89AC(r4); } @@ -1390,11 +1366,11 @@ static void sub_8059828(void) if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { if (gUnknown_0203CEE8 == 1) - EmitChosenMonReturnValue(1, gUnknown_0203CEE9, gUnknown_0203CF00); + BtlController_EmitChosenMonReturnValue(1, gUnknown_0203CEE9, gUnknown_0203CF00); else - EmitChosenMonReturnValue(1, 6, NULL); + BtlController_EmitChosenMonReturnValue(1, 6, NULL); - if ((gBattleBufferA[gActiveBank][1] & 0xF) == 1) + if ((gBattleBufferA[gActiveBattler][1] & 0xF) == 1) PrintLinkStandbyMsg(); PlayerBufferExecCompleted(); @@ -1405,7 +1381,7 @@ static void OpenBagAndChooseItem(void) { if (!gPaletteFade.active) { - gBattleBankFunc[gActiveBank] = CompleteWhenChoseItem; + gBattlerControllerFuncs[gActiveBattler] = CompleteWhenChoseItem; nullsub_35(); FreeAllWindowBuffers(); sub_81AABB0(); @@ -1416,33 +1392,33 @@ static void CompleteWhenChoseItem(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - EmitOneReturnValue(1, gScriptItemId); + BtlController_EmitOneReturnValue(1, gSpecialVar_ItemId); PlayerBufferExecCompleted(); } } static void CompleteOnSpecialAnimDone(void) { - if (!gDoingBattleAnim || !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gDoingBattleAnim || !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) PlayerBufferExecCompleted(); } static void DoHitAnimBlinkSpriteEffect(void) { - u8 spriteId = gBankSpriteIds[gActiveBank]; + u8 spriteId = gBattlerSpriteIds[gActiveBattler]; - if (gSprites[spriteId].data1 == 32) + if (gSprites[spriteId].data[1] == 32) { - gSprites[spriteId].data1 = 0; + gSprites[spriteId].data[1] = 0; gSprites[spriteId].invisible = 0; gDoingBattleAnim = FALSE; PlayerBufferExecCompleted(); } else { - if ((gSprites[spriteId].data1 % 4) == 0) + if ((gSprites[spriteId].data[1] % 4) == 0) gSprites[spriteId].invisible ^= 1; - gSprites[spriteId].data1++; + gSprites[spriteId].data[1]++; } } @@ -1468,9 +1444,9 @@ static void PlayerHandleUnknownYesNoInput(void) PlaySE(SE_SELECT); if (gMultiUsePlayerCursor != 0) - EmitTwoReturnValues(1, 0xE, 0); + BtlController_EmitTwoReturnValues(1, 0xE, 0); else - EmitTwoReturnValues(1, 0xD, 0); + BtlController_EmitTwoReturnValues(1, 0xD, 0); PlayerBufferExecCompleted(); } @@ -1485,7 +1461,7 @@ static void PlayerHandleUnknownYesNoInput(void) static void MoveSelectionDisplayMoveNames(void) { s32 i; - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBank][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBattler][4]); gNumberOfMovesToChoose = 0; for (i = 0; i < 4; i++) @@ -1509,15 +1485,15 @@ static void MoveSelectionDisplayPpNumber(void) u8 *txtPtr; struct ChooseMoveStruct *moveInfo; - if (gBattleBufferA[gActiveBank][2] == TRUE) // check if we didn't want to display pp number + if (gBattleBufferA[gActiveBattler][2] == TRUE) // check if we didn't want to display pp number return; SetPpNumbersPaletteInMoveSelection(); - moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBank][4]); - txtPtr = ConvertIntToDecimalStringN(gDisplayedStringBattle, moveInfo->currentPp[gMoveSelectionCursor[gActiveBank]], STR_CONV_MODE_RIGHT_ALIGN, 2); + moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBattler][4]); + txtPtr = ConvertIntToDecimalStringN(gDisplayedStringBattle, moveInfo->currentPp[gMoveSelectionCursor[gActiveBattler]], STR_CONV_MODE_RIGHT_ALIGN, 2); txtPtr[0] = CHAR_SLASH; txtPtr++; - ConvertIntToDecimalStringN(txtPtr, moveInfo->maxPp[gMoveSelectionCursor[gActiveBank]], STR_CONV_MODE_RIGHT_ALIGN, 2); + ConvertIntToDecimalStringN(txtPtr, moveInfo->maxPp[gMoveSelectionCursor[gActiveBattler]], STR_CONV_MODE_RIGHT_ALIGN, 2); BattleHandleAddTextPrinter(gDisplayedStringBattle, 9); } @@ -1525,7 +1501,7 @@ static void MoveSelectionDisplayPpNumber(void) static void MoveSelectionDisplayMoveType(void) { u8 *txtPtr; - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBank][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBattler][4]); txtPtr = StringCopy(gDisplayedStringBattle, gText_MoveInterfaceType); txtPtr[0] = EXT_CTRL_CODE_BEGIN; @@ -1535,7 +1511,7 @@ static void MoveSelectionDisplayMoveType(void) txtPtr[0] = 1; txtPtr++; - StringCopy(txtPtr, gTypeNames[gBattleMoves[moveInfo->moves[gMoveSelectionCursor[gActiveBank]]].type]); + StringCopy(txtPtr, gTypeNames[gBattleMoves[moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]].type]); BattleHandleAddTextPrinter(gDisplayedStringBattle, 10); } @@ -1591,13 +1567,13 @@ void SetCB2ToReshowScreenAfterMenu2(void) static void CompleteOnFinishedStatusAnimation(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].statusAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive) PlayerBufferExecCompleted(); } static void CompleteOnFinishedBattleAnimation(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animFromTableActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive) PlayerBufferExecCompleted(); } @@ -1618,13 +1594,13 @@ static void PlayerHandleGetMonData(void) u8 monToCheck; s32 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - size += CopyPlayerMonData(gBattlePartyID[gActiveBank], monData); + size += CopyPlayerMonData(gBattlerPartyIndexes[gActiveBattler], monData); } else { - monToCheck = gBattleBufferA[gActiveBank][2]; + monToCheck = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (monToCheck & 1) @@ -1632,7 +1608,7 @@ static void PlayerHandleGetMonData(void) monToCheck >>= 1; } } - EmitDataTransfer(1, size, monData); + BtlController_EmitDataTransfer(1, size, monData); PlayerBufferExecCompleted(); } @@ -1646,7 +1622,7 @@ static u32 CopyPlayerMonData(u8 monId, u8 *dst) u32 data32; s32 size = 0; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case REQUEST_ALL_BATTLE: battleMon.species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); @@ -1712,7 +1688,7 @@ static u32 CopyPlayerMonData(u8 monId, u8 *dst) case REQUEST_MOVE2_BATTLE: case REQUEST_MOVE3_BATTLE: case REQUEST_MOVE4_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - REQUEST_MOVE1_BATTLE); + data16 = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE); dst[0] = data16; dst[1] = data16 >> 8; size = 2; @@ -1727,7 +1703,7 @@ static u32 CopyPlayerMonData(u8 monId, u8 *dst) case REQUEST_PPMOVE2_BATTLE: case REQUEST_PPMOVE3_BATTLE: case REQUEST_PPMOVE4_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - REQUEST_PPMOVE1_BATTLE); + dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE); size = 1; break; case REQUEST_OTID_BATTLE: @@ -1945,14 +1921,14 @@ static u32 CopyPlayerMonData(u8 monId, u8 *dst) void PlayerHandleGetRawMonData(void) { struct BattlePokemon battleMon; - u8 *src = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; - u8 *dst = (u8 *)&battleMon + gBattleBufferA[gActiveBank][1]; + u8 *src = (u8 *)&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1]; + u8 *dst = (u8 *)&battleMon + gBattleBufferA[gActiveBattler][1]; u8 i; - for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) + for (i = 0; i < gBattleBufferA[gActiveBattler][2]; i++) dst[i] = src[i]; - EmitDataTransfer(1, gBattleBufferA[gActiveBank][2], dst); + BtlController_EmitDataTransfer(1, gBattleBufferA[gActiveBattler][2], dst); PlayerBufferExecCompleted(); } @@ -1961,13 +1937,13 @@ static void PlayerHandleSetMonData(void) u8 monToCheck; u8 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - SetPlayerMonData(gBattlePartyID[gActiveBank]); + SetPlayerMonData(gBattlerPartyIndexes[gActiveBattler]); } else { - monToCheck = gBattleBufferA[gActiveBank][2]; + monToCheck = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (monToCheck & 1) @@ -1980,11 +1956,11 @@ static void PlayerHandleSetMonData(void) static void SetPlayerMonData(u8 monId) { - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBank][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBank][3]; + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBattler][3]; + struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBattler][3]; s32 i; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case REQUEST_ALL_BATTLE: { @@ -2025,10 +2001,10 @@ static void SetPlayerMonData(u8 monId) } break; case REQUEST_SPECIES_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HELDITEM_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MOVES_PP_BATTLE: for (i = 0; i < 4; i++) @@ -2042,187 +2018,187 @@ static void SetPlayerMonData(u8 monId) case REQUEST_MOVE2_BATTLE: case REQUEST_MOVE3_BATTLE: case REQUEST_MOVE4_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - REQUEST_MOVE1_BATTLE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_PP_DATA_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PP1, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP2, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP3, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP4, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBank][7]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP1, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP2, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP3, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP4, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBattler][7]); break; case REQUEST_PPMOVE1_BATTLE: case REQUEST_PPMOVE2_BATTLE: case REQUEST_PPMOVE3_BATTLE: case REQUEST_PPMOVE4_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - REQUEST_PPMOVE1_BATTLE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_OTID_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_OT_ID, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_OT_ID, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_EXP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HP_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_HP_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_FRIENDSHIP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_POKERUS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_POKERUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_POKERUS, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_LOCATION_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_LEVEL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_GAME_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_POKEBALL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ALL_IVS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); + SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][7]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][8]); break; case REQUEST_HP_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_PERSONALITY_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CHECKSUM_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_STATUS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_STATUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_STATUS, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_LEVEL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_HP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MAX_HP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_ATK, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_DEF, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPEED, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPATK, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_COOL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_COOL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_COOL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_BEAUTY_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CUTE_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CUTE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_CUTE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SMART_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SMART, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SMART, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_TOUGH_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SHEEN_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SHEEN, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SHEEN, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_COOL_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_BEAUTY_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CUTE_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SMART_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_TOUGH_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; } - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); } static void PlayerHandleSetRawMonData(void) { - u8 *dst = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; + u8 *dst = (u8 *)&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1]; u8 i; - for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) - dst[i] = gBattleBufferA[gActiveBank][3 + i]; + for (i = 0; i < gBattleBufferA[gActiveBattler][2]; i++) + dst[i] = gBattleBufferA[gActiveBattler][3 + i]; PlayerBufferExecCompleted(); } static void PlayerHandleLoadMonSprite(void) { - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gBattleBankFunc[gActiveBank] = CompleteOnBankSpritePosX_0; + BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpritePosX_0; } static void PlayerHandleSwitchInAnim(void) { - ClearTemporarySpeciesSpriteData(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattlePartyID[gActiveBank] = gBattleBufferA[gActiveBank][1]; - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - gActionSelectionCursor[gActiveBank] = 0; - gMoveSelectionCursor[gActiveBank] = 0; - sub_805B258(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattleBankFunc[gActiveBank] = sub_805902C; + ClearTemporarySpeciesSpriteData(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; + BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + gActionSelectionCursor[gActiveBattler] = 0; + gMoveSelectionCursor[gActiveBattler] = 0; + sub_805B258(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattlerControllerFuncs[gActiveBattler] = sub_805902C; } static void sub_805B258(u8 bank, bool8 dontClearSubstituteBit) @@ -2230,64 +2206,64 @@ static void sub_805B258(u8 bank, bool8 dontClearSubstituteBit) u16 species; ClearTemporarySpeciesSpriteData(bank, dontClearSubstituteBit); - gBattlePartyID[bank] = gBattleBufferA[bank][1]; - species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES); + gBattlerPartyIndexes[bank] = gBattleBufferA[bank][1]; + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714); - sub_806A068(species, GetBankIdentity(bank)); + sub_806A068(species, GetBattlerPosition(bank)); - gBankSpriteIds[bank] = CreateSprite( + gBattlerSpriteIds[bank] = CreateSprite( &gUnknown_0202499C, - sub_80A5C6C(bank, 2), - sub_80A6138(bank), + GetBattlerSpriteCoord(bank, 2), + GetBattlerSpriteDefault_Y(bank), sub_80A82E4(bank)); - gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank]; - gSprites[gUnknown_03005D7C[bank]].data2 = bank; + gSprites[gUnknown_03005D7C[bank]].data[1] = gBattlerSpriteIds[bank]; + gSprites[gUnknown_03005D7C[bank]].data[2] = bank; - gSprites[gBankSpriteIds[bank]].data0 = bank; - gSprites[gBankSpriteIds[bank]].data2 = species; - gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; + gSprites[gBattlerSpriteIds[bank]].data[0] = bank; + gSprites[gBattlerSpriteIds[bank]].data[2] = species; + gSprites[gBattlerSpriteIds[bank]].oam.paletteNum = bank; - StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[bank]], gBattleMonForms[bank]); - gSprites[gBankSpriteIds[bank]].invisible = TRUE; - gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[bank]].invisible = TRUE; + gSprites[gBattlerSpriteIds[bank]].callback = SpriteCallbackDummy; - gSprites[gUnknown_03005D7C[bank]].data0 = sub_80753E8(0, 0xFF); + gSprites[gUnknown_03005D7C[bank]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); } static void PlayerHandleReturnMonToBall(void) { - if (gBattleBufferA[gActiveBank][1] == 0) + if (gBattleBufferA[gActiveBattler][1] == 0) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - gBattleBankFunc[gActiveBank] = DoSwitchOutAnimation; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + gBattlerControllerFuncs[gActiveBattler] = DoSwitchOutAnimation; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); PlayerBufferExecCompleted(); } } static void DoSwitchOutAnimation(void) { - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState) + switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) { case 0: - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; break; case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_PLAYER_MON); - gBattleBankFunc[gActiveBank] = sub_8059744; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SWITCH_OUT_PLAYER_MON); + gBattlerControllerFuncs[gActiveBattler] = sub_8059744; } break; } @@ -2325,7 +2301,7 @@ static void PlayerHandleDrawTrainerPic(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if ((GetBankIdentity(gActiveBank) & BIT_MON) != 0) // second mon + if ((GetBattlerPosition(gActiveBattler) & BIT_FLANK) != 0) // second mon xPos = 90; else // first mon xPos = 32; @@ -2351,32 +2327,32 @@ static void PlayerHandleDrawTrainerPic(void) if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gPartnerTrainerId != STEVEN_PARTNER_ID) { trainerPicId = PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender); - DecompressTrainerFrontPic(trainerPicId, gActiveBank); - sub_806A1C0(trainerPicId, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBank)); + DecompressTrainerFrontPic(trainerPicId, gActiveBattler); + sub_806A1C0(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBattler)); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240; - gSprites[gBankSpriteIds[gActiveBank]].pos2.y = 48; - gSprites[gBankSpriteIds[gActiveBank]].data0 = -2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC; - gSprites[gBankSpriteIds[gActiveBank]].oam.affineMode = 0; - gSprites[gBankSpriteIds[gActiveBank]].hFlip = 1; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y = 48; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = 0; + gSprites[gBattlerSpriteIds[gActiveBattler]].hFlip = 1; } // use the back pic in any other scenario else { - DecompressTrainerBackPic(trainerPicId, gActiveBank); - sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBank)); + DecompressTrainerBackPic(trainerPicId, gActiveBattler); + sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBattler)); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240; - gSprites[gBankSpriteIds[gActiveBank]].data0 = -2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; } - gBattleBankFunc[gActiveBank] = CompleteOnBankSpriteCallbackDummy; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy; } static void PlayerHandleTrainerSlide(void) @@ -2405,49 +2381,49 @@ static void PlayerHandleTrainerSlide(void) trainerPicId = gSaveBlock2Ptr->playerGender; } - DecompressTrainerBackPic(trainerPicId, gActiveBank); - sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, 80, (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80, 30); + DecompressTrainerBackPic(trainerPicId, gActiveBattler); + sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, 80, (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80, 30); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -96; - gSprites[gBankSpriteIds[gActiveBank]].data0 = 2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -96; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 2; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; - gBattleBankFunc[gActiveBank] = CompleteOnBankSpriteCallbackDummy2; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy2; } static void PlayerHandleTrainerSlideBack(void) { - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data0 = 50; - gSprites[gBankSpriteIds[gActiveBank]].data2 = -40; - gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC; - StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1); - gBattleBankFunc[gActiveBank] = sub_80588B4; + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; + StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); + gBattlerControllerFuncs[gActiveBattler] = sub_80588B4; } static void PlayerHandleFaintAnimation(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState == 0) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState == 0) { - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState++; + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState++; } else { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_PLAYER); - gSprites[gBankSpriteIds[gActiveBank]].data1 = 0; - gSprites[gBankSpriteIds[gActiveBank]].data2 = 5; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8039C00; - gBattleBankFunc[gActiveBank] = sub_80596A8; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 5; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_8039C00; + gBattlerControllerFuncs[gActiveBattler] = sub_80596A8; } } } @@ -2462,23 +2438,23 @@ static void PlayerHandleSuccessBallThrowAnim(void) { gBattleSpritesDataPtr->animationData->ballThrowCaseId = BALL_3_SHAKES_SUCCESS; gDoingBattleAnim = TRUE; - DoSpecialBattleAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_BALL_THROW); - gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW); + gBattlerControllerFuncs[gActiveBattler] = CompleteOnSpecialAnimDone; } static void PlayerHandleBallThrowAnim(void) { - u8 ballThrowCaseId = gBattleBufferA[gActiveBank][1]; + u8 ballThrowCaseId = gBattleBufferA[gActiveBattler][1]; gBattleSpritesDataPtr->animationData->ballThrowCaseId = ballThrowCaseId; gDoingBattleAnim = TRUE; - DoSpecialBattleAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_BALL_THROW); - gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW); + gBattlerControllerFuncs[gActiveBattler] = CompleteOnSpecialAnimDone; } static void PlayerHandlePause(void) { - u8 var = gBattleBufferA[gActiveBank][1]; + u8 var = gBattleBufferA[gActiveBattler][1]; // WTF is this?? while (var != 0) @@ -2489,25 +2465,25 @@ static void PlayerHandlePause(void) static void PlayerHandleMoveAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u16 move = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); + u16 move = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); - gAnimMoveTurn = gBattleBufferA[gActiveBank][3]; - gAnimMovePower = gBattleBufferA[gActiveBank][4] | (gBattleBufferA[gActiveBank][5] << 8); - gAnimMoveDmg = gBattleBufferA[gActiveBank][6] | (gBattleBufferA[gActiveBank][7] << 8) | (gBattleBufferA[gActiveBank][8] << 16) | (gBattleBufferA[gActiveBank][9] << 24); - gAnimFriendship = gBattleBufferA[gActiveBank][10]; - gWeatherMoveAnim = gBattleBufferA[gActiveBank][12] | (gBattleBufferA[gActiveBank][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBank][16]; - gTransformedPersonalities[gActiveBank] = gAnimDisableStructPtr->transformedMonPersonality; + gAnimMoveTurn = gBattleBufferA[gActiveBattler][3]; + gAnimMovePower = gBattleBufferA[gActiveBattler][4] | (gBattleBufferA[gActiveBattler][5] << 8); + gAnimMoveDmg = gBattleBufferA[gActiveBattler][6] | (gBattleBufferA[gActiveBattler][7] << 8) | (gBattleBufferA[gActiveBattler][8] << 16) | (gBattleBufferA[gActiveBattler][9] << 24); + gAnimFriendship = gBattleBufferA[gActiveBattler][10]; + gWeatherMoveAnim = gBattleBufferA[gActiveBattler][12] | (gBattleBufferA[gActiveBattler][13] << 8); + gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; + gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; if (IsMoveWithoutAnimation(move, gAnimMoveTurn)) // always returns FALSE { PlayerBufferExecCompleted(); } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - gBattleBankFunc[gActiveBank] = PlayerDoMoveAnimation; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + gBattlerControllerFuncs[gActiveBattler] = PlayerDoMoveAnimation; sub_817E0FC(move, gWeatherMoveAnim, gAnimDisableStructPtr); } } @@ -2515,26 +2491,26 @@ static void PlayerHandleMoveAnimation(void) static void PlayerDoMoveAnimation(void) { - u16 move = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); - u8 multihit = gBattleBufferA[gActiveBank][11]; + u16 move = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); + u8 multihit = gBattleBufferA[gActiveBattler][11]; - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState) + switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) { case 0: - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute - && !gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8) + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute + && !gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8) { - gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 1; - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); + gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 1; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; break; case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { sub_805EB9C(0); DoMoveAnim(move); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 2; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; } break; case 2: @@ -2542,20 +2518,20 @@ static void PlayerDoMoveAnimation(void) if (!gAnimScriptActive) { sub_805EB9C(1); - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute && multihit < 2) + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) { - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE); - gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 0; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); + gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 0; } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 3; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 3; } break; case 3: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - sub_805E394(); - TrySetBehindSubstituteSpriteBit(gActiveBank, gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; + CopyAllBattleSpritesInvisibilities(); + TrySetBehindSubstituteSpriteBit(gActiveBattler, gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; PlayerBufferExecCompleted(); } break; @@ -2568,17 +2544,17 @@ static void PlayerHandlePrintString(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - stringId = (u16*)(&gBattleBufferA[gActiveBank][2]); + stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); - gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter2; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter2; sub_817C95C(*stringId); - sub_81A57E4(gActiveBank, *stringId); + sub_81A57E4(gActiveBattler, *stringId); } -static void PlayerHandlePrintStringPlayerOnly(void) +static void PlayerHandlePrintSelectionString(void) { - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) PlayerHandlePrintString(); else PlayerBufferExecCompleted(); @@ -2590,7 +2566,7 @@ static void HandleChooseActionAfterDma3(void) { gBattle_BG0_X = 0; gBattle_BG0_Y = 160; - gBattleBankFunc[gActiveBank] = HandleInputChooseAction; + gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseAction; } } @@ -2598,27 +2574,27 @@ static void PlayerHandleChooseAction(void) { s32 i; - gBattleBankFunc[gActiveBank] = HandleChooseActionAfterDma3; + gBattlerControllerFuncs[gActiveBattler] = HandleChooseActionAfterDma3; sub_817F2A8(); BattleHandleAddTextPrinter(gText_BattleMenu, 2); for (i = 0; i < 4; i++) ActionSelectionDestroyCursorAt(i); - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBank], 0); + ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillPkmnDo); BattleHandleAddTextPrinter(gDisplayedStringBattle, 1); } static void PlayerHandleUnknownYesNoBox(void) { - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { HandleBattleWindow(0x18, 8, 0x1D, 0xD, 0); BattleHandleAddTextPrinter(gText_BattleYesNoChoice, 12); gMultiUsePlayerCursor = 1; BattleCreateYesNoCursorAt(1); - gBattleBankFunc[gActiveBank] = PlayerHandleUnknownYesNoInput; + gBattlerControllerFuncs[gActiveBattler] = PlayerHandleUnknownYesNoInput; } else { @@ -2632,16 +2608,16 @@ static void HandleChooseMoveAfterDma3(void) { gBattle_BG0_X = 0; gBattle_BG0_Y = 320; - gBattleBankFunc[gActiveBank] = HandleInputChooseMove; + gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseMove; } } static void PlayerChooseMoveInBattlePalace(void) { - if (--*(gBattleStruct->field_298 + gActiveBank) == 0) + if (--*(gBattleStruct->field_298 + gActiveBattler) == 0) { gBattlePalaceMoveSelectionRngValue = gRngValue; - EmitTwoReturnValues(1, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(1, 10, ChooseMoveAndTargetInBattlePalace()); PlayerBufferExecCompleted(); } } @@ -2650,13 +2626,13 @@ static void PlayerHandleChooseMove(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - *(gBattleStruct->field_298 + gActiveBank) = 8; - gBattleBankFunc[gActiveBank] = PlayerChooseMoveInBattlePalace; + *(gBattleStruct->field_298 + gActiveBattler) = 8; + gBattlerControllerFuncs[gActiveBattler] = PlayerChooseMoveInBattlePalace; } else { InitMoveSelectionsVarsAndStrings(); - gBattleBankFunc[gActiveBank] = HandleChooseMoveAfterDma3; + gBattlerControllerFuncs[gActiveBattler] = HandleChooseMoveAfterDma3; } } @@ -2664,7 +2640,7 @@ void InitMoveSelectionsVarsAndStrings(void) { MoveSelectionDisplayMoveNames(); gMultiUsePlayerCursor = 0xFF; - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBank], 0); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); MoveSelectionDisplayPpString(); MoveSelectionDisplayPpNumber(); MoveSelectionDisplayMoveType(); @@ -2675,11 +2651,11 @@ static void PlayerHandleChooseItem(void) s32 i; BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); - gBattleBankFunc[gActiveBank] = OpenBagAndChooseItem; - gBankInMenu = gActiveBank; + gBattlerControllerFuncs[gActiveBattler] = OpenBagAndChooseItem; + gBattlerInMenuId = gActiveBattler; for (i = 0; i < 3; i++) - gUnknown_0203CF00[i] = gBattleBufferA[gActiveBank][1 + i]; + gUnknown_0203CF00[i] = gBattleBufferA[gActiveBattler][1 + i]; } static void PlayerHandleChoosePokemon(void) @@ -2687,29 +2663,29 @@ static void PlayerHandleChoosePokemon(void) s32 i; for (i = 0; i < 3; i++) - gUnknown_0203CF00[i] = gBattleBufferA[gActiveBank][4 + i]; + gUnknown_0203CF00[i] = gBattleBufferA[gActiveBattler][4 + i]; - if (gBattleTypeFlags & BATTLE_TYPE_ARENA && (gBattleBufferA[gActiveBank][1] & 0xF) != 2) + if (gBattleTypeFlags & BATTLE_TYPE_ARENA && (gBattleBufferA[gActiveBattler][1] & 0xF) != 2) { - EmitChosenMonReturnValue(1, gBattlePartyID[gActiveBank] + 1, gUnknown_0203CF00); + BtlController_EmitChosenMonReturnValue(1, gBattlerPartyIndexes[gActiveBattler] + 1, gUnknown_0203CF00); PlayerBufferExecCompleted(); } else { - gUnknown_03005D7C[gActiveBank] = CreateTask(TaskDummy, 0xFF); - gTasks[gUnknown_03005D7C[gActiveBank]].data[0] = gBattleBufferA[gActiveBank][1] & 0xF; - *(&gBattleStruct->field_49) = gBattleBufferA[gActiveBank][1] >> 4; - *(&gBattleStruct->field_8B) = gBattleBufferA[gActiveBank][2]; - *(&gBattleStruct->field_B0) = gBattleBufferA[gActiveBank][3]; + gUnknown_03005D7C[gActiveBattler] = CreateTask(TaskDummy, 0xFF); + gTasks[gUnknown_03005D7C[gActiveBattler]].data[0] = gBattleBufferA[gActiveBattler][1] & 0xF; + *(&gBattleStruct->field_49) = gBattleBufferA[gActiveBattler][1] >> 4; + *(&gBattleStruct->field_8B) = gBattleBufferA[gActiveBattler][2]; + *(&gBattleStruct->field_B0) = gBattleBufferA[gActiveBattler][3]; BeginNormalPaletteFade(-1, 0, 0, 16, 0); - gBattleBankFunc[gActiveBank] = sub_80597CC; - gBankInMenu = gActiveBank; + gBattlerControllerFuncs[gActiveBattler] = sub_80597CC; + gBattlerInMenuId = gActiveBattler; } } static void PlayerHandleCmd23(void) { - BattleMusicStop(); + BattleStopLowHpSound(); BeginNormalPaletteFade(-1, 2, 0, 16, 0); PlayerBufferExecCompleted(); } @@ -2719,32 +2695,32 @@ static void PlayerHandleHealthBarUpdate(void) s16 hpVal; LoadBattleBarGfx(0); - hpVal = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + hpVal = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); if (hpVal > 0) gUnknown_0203CD70 += hpVal; if (hpVal != INSTANT_HP_BAR_DROP) { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); - u32 curHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); + u32 curHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - SetBattleBarStruct(gActiveBank, gHealthBoxesIds[gActiveBank], maxHP, curHP, hpVal); + SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, curHP, hpVal); } else { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - SetBattleBarStruct(gActiveBank, gHealthBoxesIds[gActiveBank], maxHP, 0, hpVal); - UpdateHpTextInHealthbox(gHealthBoxesIds[gActiveBank], 0, HP_CURRENT); + SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, 0, hpVal); + UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], 0, HP_CURRENT); } - gBattleBankFunc[gActiveBank] = CompleteOnHealthbarDone; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; } static void PlayerHandleExpUpdate(void) { - u8 monId = gBattleBufferA[gActiveBank][1]; + u8 monId = gBattleBufferA[gActiveBattler][1]; if (GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL) >= MAX_MON_LEVEL) { @@ -2757,12 +2733,12 @@ static void PlayerHandleExpUpdate(void) LoadBattleBarGfx(1); GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); // unused return value - expPointsToGive = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + expPointsToGive = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); taskId = CreateTask(Task_GiveExpToMon, 10); gTasks[taskId].tExpTask_monId = monId; gTasks[taskId].tExpTask_gainedExp = expPointsToGive; - gTasks[taskId].tExpTask_bank = gActiveBank; - gBattleBankFunc[gActiveBank] = nullsub_21; + gTasks[taskId].tExpTask_bank = gActiveBattler; + gBattlerControllerFuncs[gActiveBattler] = nullsub_21; } } @@ -2773,32 +2749,32 @@ static void PlayerHandleExpUpdate(void) static void PlayerHandleStatusIconUpdate(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { u8 bank; - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], HEALTHBOX_STATUS_ICON); - bank = gActiveBank; + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); + bank = gActiveBattler; gBattleSpritesDataPtr->healthBoxesData[bank].statusAnimActive = 0; - gBattleBankFunc[gActiveBank] = CompleteOnFinishedStatusAnimation; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } static void PlayerHandleStatusAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - DoStatusAnimation(gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8) | (gBattleBufferA[gActiveBank][4] << 16) | (gBattleBufferA[gActiveBank][5] << 24)); - gBattleBankFunc[gActiveBank] = CompleteOnFinishedStatusAnimation; + InitAndLaunchChosenStatusAnimation(gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8) | (gBattleBufferA[gActiveBattler][4] << 16) | (gBattleBufferA[gActiveBattler][5] << 24)); + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } static void PlayerHandleStatusXor(void) { - u8 val = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_STATUS) ^ gBattleBufferA[gActiveBank][1]; + u8 val = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_STATUS) ^ gBattleBufferA[gActiveBattler][1]; - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_STATUS, &val); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_STATUS, &val); PlayerBufferExecCompleted(); } @@ -2809,13 +2785,13 @@ static void PlayerHandleDataTransfer(void) static void PlayerHandleDMA3Transfer(void) { - u32 dstArg = gBattleBufferA[gActiveBank][1] - | (gBattleBufferA[gActiveBank][2] << 8) - | (gBattleBufferA[gActiveBank][3] << 16) - | (gBattleBufferA[gActiveBank][4] << 24); - u16 sizeArg = gBattleBufferA[gActiveBank][5] | (gBattleBufferA[gActiveBank][6] << 8); + u32 dstArg = gBattleBufferA[gActiveBattler][1] + | (gBattleBufferA[gActiveBattler][2] << 8) + | (gBattleBufferA[gActiveBattler][3] << 16) + | (gBattleBufferA[gActiveBattler][4] << 24); + u16 sizeArg = gBattleBufferA[gActiveBattler][5] | (gBattleBufferA[gActiveBattler][6] << 8); - const u8 *src = &gBattleBufferA[gActiveBank][7]; + const u8 *src = &gBattleBufferA[gActiveBattler][7]; u8 *dst = (u8*)(dstArg); u32 size = sizeArg; @@ -2836,7 +2812,7 @@ static void PlayerHandleDMA3Transfer(void) static void PlayerHandlePlayBGM(void) { - PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayBGM(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); PlayerBufferExecCompleted(); } @@ -2847,25 +2823,25 @@ static void PlayerHandleCmd32(void) static void PlayerHandleTwoReturnValues(void) { - EmitTwoReturnValues(1, 0, 0); + BtlController_EmitTwoReturnValues(1, 0, 0); PlayerBufferExecCompleted(); } static void PlayerHandleChosenMonReturnValue(void) { - EmitChosenMonReturnValue(1, 0, NULL); + BtlController_EmitChosenMonReturnValue(1, 0, NULL); PlayerBufferExecCompleted(); } static void PlayerHandleOneReturnValue(void) { - EmitOneReturnValue(1, 0); + BtlController_EmitOneReturnValue(1, 0); PlayerBufferExecCompleted(); } static void PlayerHandleOneReturnValue_Duplicate(void) { - EmitOneReturnValue_Duplicate(1, 0); + BtlController_EmitOneReturnValue_Duplicate(1, 0); PlayerBufferExecCompleted(); } @@ -2877,7 +2853,7 @@ static void PlayerHandleCmd37(void) static void PlayerHandleCmd38(void) { - gUnknown_02022D0C.field_0 = gBattleBufferA[gActiveBank][1]; + gUnknown_02022D0C.field_0 = gBattleBufferA[gActiveBattler][1]; PlayerBufferExecCompleted(); } @@ -2895,16 +2871,16 @@ static void PlayerHandleCmd40(void) static void PlayerHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) { PlayerBufferExecCompleted(); } else { gDoingBattleAnim = TRUE; - gSprites[gBankSpriteIds[gActiveBank]].data1 = 0; - DoHitAnimHealthboxEffect(gActiveBank); - gBattleBankFunc[gActiveBank] = DoHitAnimBlinkSpriteEffect; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; + DoHitAnimHealthboxEffect(gActiveBattler); + gBattlerControllerFuncs[gActiveBattler] = DoHitAnimBlinkSpriteEffect; } } @@ -2913,29 +2889,29 @@ static void PlayerHandleCmd42(void) PlayerBufferExecCompleted(); } -static void PlayerHandleEffectivenessSound(void) +static void PlayerHandlePlaySE(void) { s8 pan; - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) pan = PAN_SIDE_PLAYER; else pan = PAN_SIDE_OPPONENT; - PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan); + PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan); PlayerBufferExecCompleted(); } static void PlayerHandlePlayFanfareOrBGM(void) { - if (gBattleBufferA[gActiveBank][3]) + if (gBattleBufferA[gActiveBattler][3]) { - BattleMusicStop(); - PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + BattleStopLowHpSound(); + PlayBGM(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); } else { - PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); } PlayerBufferExecCompleted(); @@ -2943,7 +2919,7 @@ static void PlayerHandlePlayFanfareOrBGM(void) static void PlayerHandleFaintingCry(void) { - u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); PlayCry3(species, -25, 5); PlayerBufferExecCompleted(); @@ -2951,8 +2927,8 @@ static void PlayerHandleFaintingCry(void) static void PlayerHandleIntroSlide(void) { - HandleIntroSlide(gBattleBufferA[gActiveBank][1]); - gUnknown_020243FC |= 1; + HandleIntroSlide(gBattleBufferA[gActiveBattler][1]); + gIntroSlideFlags |= 1; PlayerBufferExecCompleted(); } @@ -2961,40 +2937,40 @@ static void PlayerHandleIntroTrainerBallThrow(void) u8 paletteNum; u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - gSprites[gBankSpriteIds[gActiveBank]].data0 = 50; - gSprites[gBankSpriteIds[gActiveBank]].data2 = -40; - gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC; - gSprites[gBankSpriteIds[gActiveBank]].data5 = gActiveBank; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler; - StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], sub_805CC00); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1); + StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); paletteNum = AllocSpritePalette(0xD6F8); LoadCompressedPalette(gTrainerBackPicPaletteTable[gSaveBlock2Ptr->playerGender].data, 0x100 + paletteNum * 16, 32); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = paletteNum; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; taskId = CreateTask(task05_08033660, 5); - gTasks[taskId].data[0] = gActiveBank; + gTasks[taskId].data[0] = gActiveBattler; - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1) - gTasks[gUnknown_020244B4[gActiveBank]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; gBattleSpritesDataPtr->animationData->field_9_x1 = 1; - gBattleBankFunc[gActiveBank] = nullsub_21; + gBattlerControllerFuncs[gActiveBattler] = nullsub_21; } void sub_805CC00(struct Sprite *sprite) { - u8 bank = sprite->data5; + u8 bank = sprite->data[5]; FreeSpriteOamMatrix(sprite); FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(sprite->oam.paletteNum)); DestroySprite(sprite); - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlePartyID[bank]], bank); - StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], 0); + BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[bank]], bank); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[bank]], 0); } static void task05_08033660(u8 taskId) @@ -3005,93 +2981,93 @@ static void task05_08033660(u8 taskId) } else { - u8 savedActiveBank = gActiveBank; + u8 savedActiveBank = gActiveBattler; - gActiveBank = gTasks[taskId].data[0]; + gActiveBattler = gTasks[taskId].data[0]; if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_805B258(gActiveBank, FALSE); + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_805B258(gActiveBattler, FALSE); } else { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_805B258(gActiveBank, FALSE); - gActiveBank ^= BIT_MON; - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - sub_805B258(gActiveBank, FALSE); - gActiveBank ^= BIT_MON; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_805B258(gActiveBattler, FALSE); + gActiveBattler ^= BIT_FLANK; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + sub_805B258(gActiveBattler, FALSE); + gActiveBattler ^= BIT_FLANK; } - gBattleBankFunc[gActiveBank] = sub_8058B40; - gActiveBank = savedActiveBank; + gBattlerControllerFuncs[gActiveBattler] = sub_8058B40; + gActiveBattler = savedActiveBank; DestroyTask(taskId); } } static void PlayerHandleDrawPartyStatusSummary(void) { - if (gBattleBufferA[gActiveBank][1] != 0 && GetBankSide(gActiveBank) == SIDE_PLAYER) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { PlayerBufferExecCompleted(); } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1 = 1; - gUnknown_020244B4[gActiveBank] = CreatePartyStatusSummarySprites(gActiveBank, (struct HpAndStatus *)&gBattleBufferA[gActiveBank][4], gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][2]); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1 = 1; + gBattlerStatusSummaryTaskId[gActiveBattler] = CreatePartyStatusSummarySprites(gActiveBattler, (struct HpAndStatus *)&gBattleBufferA[gActiveBattler][4], gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][2]); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0; - if (gBattleBufferA[gActiveBank][2] != 0) - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5 = 0x5D; + if (gBattleBufferA[gActiveBattler][2] != 0) + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0x5D; - gBattleBankFunc[gActiveBank] = sub_805CE38; + gBattlerControllerFuncs[gActiveBattler] = sub_805CE38; } } static void sub_805CE38(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5++ > 0x5C) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5++ > 0x5C) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0; PlayerBufferExecCompleted(); } } static void PlayerHandleCmd49(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1) - gTasks[gUnknown_020244B4[gActiveBank]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; PlayerBufferExecCompleted(); } static void PlayerHandleCmd50(void) { - dp11b_obj_free(gActiveBank, 1); - dp11b_obj_free(gActiveBank, 0); + dp11b_obj_free(gActiveBattler, 1); + dp11b_obj_free(gActiveBattler, 0); PlayerBufferExecCompleted(); } static void PlayerHandleSpriteInvisibility(void) { - if (IsBankSpritePresent(gActiveBank)) + if (IsBattlerSpritePresent(gActiveBattler)) { - gSprites[gBankSpriteIds[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; - CopyBattleSpriteInvisibility(gActiveBank); + gSprites[gBattlerSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; + CopyBattleSpriteInvisibility(gActiveBattler); } PlayerBufferExecCompleted(); } static void PlayerHandleBattleAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u8 animationId = gBattleBufferA[gActiveBank][1]; - u16 argument = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 animationId = gBattleBufferA[gActiveBattler][1]; + u16 argument = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - if (DoBattleAnimationFromTable(gActiveBank, gActiveBank, gActiveBank, animationId, argument)) + if (TryHandleLaunchBattleTableAnimation(gActiveBattler, gActiveBattler, gActiveBattler, animationId, argument)) PlayerBufferExecCompleted(); else - gBattleBankFunc[gActiveBank] = CompleteOnFinishedBattleAnimation; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation; sub_817E32C(animationId); } @@ -3099,15 +3075,15 @@ static void PlayerHandleBattleAnimation(void) static void PlayerHandleLinkStandbyMsg(void) { - sub_81851A8(&gBattleBufferA[gActiveBank][2]); - switch (gBattleBufferA[gActiveBank][1]) + sub_81851A8(&gBattleBufferA[gActiveBattler][2]); + switch (gBattleBufferA[gActiveBattler][1]) { case 0: PrintLinkStandbyMsg(); // fall through case 1: - dp11b_obj_free(gActiveBank, 1); - dp11b_obj_free(gActiveBank, 0); + dp11b_obj_free(gActiveBattler, 1); + dp11b_obj_free(gActiveBattler, 0); break; case 2: PrintLinkStandbyMsg(); @@ -3118,17 +3094,17 @@ static void PlayerHandleLinkStandbyMsg(void) static void PlayerHandleResetActionMoveSelection(void) { - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case RESET_ACTION_MOVE_SELECTION: - gActionSelectionCursor[gActiveBank] = 0; - gMoveSelectionCursor[gActiveBank] = 0; + gActionSelectionCursor[gActiveBattler] = 0; + gMoveSelectionCursor[gActiveBattler] = 0; break; case RESET_ACTION_SELECTION: - gActionSelectionCursor[gActiveBank] = 0; + gActionSelectionCursor[gActiveBattler] = 0; break; case RESET_MOVE_SELECTION: - gMoveSelectionCursor[gActiveBank] = 0; + gMoveSelectionCursor[gActiveBattler] = 0; break; } PlayerBufferExecCompleted(); @@ -3136,13 +3112,13 @@ static void PlayerHandleResetActionMoveSelection(void) static void PlayerHandleCmd55(void) { - sub_81851A8(&gBattleBufferA[gActiveBank][4]); - gBattleOutcome = gBattleBufferA[gActiveBank][1]; - gSaveBlock2Ptr->field_CA9_b = gBattleBufferA[gActiveBank][2]; + sub_81851A8(&gBattleBufferA[gActiveBattler][4]); + gBattleOutcome = gBattleBufferA[gActiveBattler][1]; + gSaveBlock2Ptr->field_CA9_b = gBattleBufferA[gActiveBattler][2]; FadeOutMapMusic(5); BeginFastPaletteFade(3); PlayerBufferExecCompleted(); - gBattleBankFunc[gActiveBank] = sub_80587B0; + gBattlerControllerFuncs[gActiveBattler] = sub_80587B0; } static void nullsub_22(void) diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 34fd8a3eb7..159fdb2ffa 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -4,12 +4,13 @@ #include "battle_message.h" #include "battle_interface.h" #include "battle_anim.h" +#include "constants/battle_anim.h" #include "battle_ai_script_commands.h" #include "pokemon.h" #include "link.h" #include "util.h" #include "main.h" -#include "songs.h" +#include "constants/songs.h" #include "sound.h" #include "window.h" #include "m4a.h" @@ -21,35 +22,12 @@ #include "reshow_battle_screen.h" #include "pokeball.h" #include "data2.h" +#include "battle_setup.h" +#include "item_use.h" -extern u32 gBattleExecBuffer; -extern u8 gActiveBank; -extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT]; -extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT]; -extern u8 gNoOfAllBanks; -extern bool8 gDoingBattleAnim; -extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void); -extern void (*gPreBattleCallback1)(void); -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; -extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200]; -extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200]; -extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; extern struct SpriteTemplate gUnknown_0202499C; -extern u16 gScriptItemId; -extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT]; -extern u8 gBattleOutcome; extern u16 gBattle_BG0_X; extern u16 gBattle_BG0_Y; -extern u8 gBankInMenu; -extern u16 gUnknown_020243FC; -extern u8 gUnknown_03005D7C[BATTLE_BANKS_COUNT]; -extern u8 gBattleMonForms[BATTLE_BANKS_COUNT]; -extern u16 gPartnerTrainerId; -extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); -extern u8 gBankTarget; -extern u8 gAbsentBankFlags; -extern u8 gUnknown_020244B4[]; -extern u32 gTransformedPersonalities[BATTLE_BANKS_COUNT]; extern struct UnusedControllerStruct gUnknown_02022D0C; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; @@ -59,6 +37,7 @@ extern const struct BattleMove gBattleMoves[]; extern void sub_81358F4(void); extern void sub_8172EF0(u8 bank, struct Pokemon *mon); extern void sub_806A068(u16, u8); +extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); // this file's functions static void PlayerPartnerHandleGetMonData(void); @@ -78,7 +57,7 @@ static void PlayerPartnerHandleBallThrowAnim(void); static void PlayerPartnerHandlePause(void); static void PlayerPartnerHandleMoveAnimation(void); static void PlayerPartnerHandlePrintString(void); -static void PlayerPartnerHandlePrintStringPlayerOnly(void); +static void PlayerPartnerHandlePrintSelectionString(void); static void PlayerPartnerHandleChooseAction(void); static void PlayerPartnerHandleUnknownYesNoBox(void); static void PlayerPartnerHandleChooseMove(void); @@ -104,7 +83,7 @@ static void PlayerPartnerHandleCmd39(void); static void PlayerPartnerHandleCmd40(void); static void PlayerPartnerHandleHitAnimation(void); static void PlayerPartnerHandleCmd42(void); -static void PlayerPartnerHandleEffectivenessSound(void); +static void PlayerPartnerHandlePlaySE(void); static void PlayerPartnerHandlePlayFanfareOrBGM(void); static void PlayerPartnerHandleFaintingCry(void); static void PlayerPartnerHandleIntroSlide(void); @@ -155,7 +134,7 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = PlayerPartnerHandlePause, PlayerPartnerHandleMoveAnimation, PlayerPartnerHandlePrintString, - PlayerPartnerHandlePrintStringPlayerOnly, + PlayerPartnerHandlePrintSelectionString, PlayerPartnerHandleChooseAction, PlayerPartnerHandleUnknownYesNoBox, PlayerPartnerHandleChooseMove, @@ -181,7 +160,7 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = PlayerPartnerHandleCmd40, PlayerPartnerHandleHitAnimation, PlayerPartnerHandleCmd42, - PlayerPartnerHandleEffectivenessSound, + PlayerPartnerHandlePlaySE, PlayerPartnerHandlePlayFanfareOrBGM, PlayerPartnerHandleFaintingCry, PlayerPartnerHandleIntroSlide, @@ -198,7 +177,7 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = }; // unknown unused data -static const u8 gUnknown_08617254[] = +static const u8 sUnknown_08617254[] = { 0x83, 0x4d, 0xf3, 0x5f, 0x6f, 0x4f, 0xeb, 0x3e, 0x67, 0x2e, 0x10, 0x46, 0x8c, 0x3d, 0x28, 0x35, @@ -212,15 +191,15 @@ static void nullsub_77(void) void SetControllerToPlayerPartner(void) { - gBattleBankFunc[gActiveBank] = PlayerPartnerBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = PlayerPartnerBufferRunCommand; } static void PlayerPartnerBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBank]) + if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) { - if (gBattleBufferA[gActiveBank][0] < ARRAY_COUNT(sPlayerPartnerBufferCommands)) - sPlayerPartnerBufferCommands[gBattleBufferA[gActiveBank][0]](); + if (gBattleBufferA[gActiveBattler][0] < ARRAY_COUNT(sPlayerPartnerBufferCommands)) + sPlayerPartnerBufferCommands[gBattleBufferA[gActiveBattler][0]](); else PlayerPartnerBufferExecCompleted(); } @@ -228,26 +207,26 @@ static void PlayerPartnerBufferRunCommand(void) static void CompleteOnBankSpriteCallbackDummy(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) PlayerPartnerBufferExecCompleted(); } static void sub_81BAE98(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { nullsub_25(0); - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); PlayerPartnerBufferExecCompleted(); } } static void sub_81BAF00(void) { - if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 == 0xFF) + if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 == 0xFF) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 = 0; PlayerPartnerBufferExecCompleted(); } } @@ -258,13 +237,13 @@ static void sub_81BAF48(void) if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) r6 = TRUE; } else { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gHealthBoxesIds[gActiveBank ^ BIT_MON]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy) { r6 = TRUE; } @@ -275,59 +254,59 @@ static void sub_81BAF48(void) if (r6) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 = 3; - gBattleBankFunc[gActiveBank] = sub_81BAF00; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 = 3; + gBattlerControllerFuncs[gActiveBattler] = sub_81BAF00; } } static void sub_81BB02C(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8 - && gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy - && ++gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 != 1) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive + && gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + && ++gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 != 1) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 = 0; if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank ^ BIT_MON]]); - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank ^ BIT_MON], &gPlayerParty[gBattlePartyID[gActiveBank ^ BIT_MON]], HEALTHBOX_ALL); - sub_8076918(gActiveBank ^ BIT_MON); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank ^ BIT_MON]); + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler ^ BIT_FLANK]]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler ^ BIT_FLANK); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]); } - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]); - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], HEALTHBOX_ALL); - sub_8076918(gActiveBank); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler]]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); gBattleSpritesDataPtr->animationData->field_9_x1 = 0; - gBattleBankFunc[gActiveBank] = sub_81BAF48; + gBattlerControllerFuncs[gActiveBattler] = sub_81BAF48; } } static void sub_81BB1D4(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].animEnded && gSprites[gBankSpriteIds[gActiveBank]].pos2.x == 0) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded && gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0) PlayerPartnerBufferExecCompleted(); } static void CompleteOnHealthbarDone(void) { - s16 hpValue = sub_8074AA0(gActiveBank, gHealthBoxesIds[gActiveBank], HEALTH_BAR, 0); + s16 hpValue = sub_8074AA0(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); if (hpValue != -1) { - UpdateHpTextInHealthbox(gHealthBoxesIds[gActiveBank], hpValue, HP_CURRENT); + UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], hpValue, HP_CURRENT); } else { - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); PlayerPartnerBufferExecCompleted(); } } @@ -350,7 +329,7 @@ static void Task_GiveExpToMon(u8 taskId) u8 bank = gTasks[taskId].tExpTask_bank; s16 gainedExp = gTasks[taskId].tExpTask_gainedExp; - if (IsDoubleBattle() == TRUE || monId != gBattlePartyID[bank]) // give exp without the expbar + if (IsDoubleBattle() == TRUE || monId != gBattlerPartyIndexes[bank]) // give exp without the expbar { struct Pokemon *mon = &gPlayerParty[monId]; u16 species = GetMonData(mon, MON_DATA_SPECIES); @@ -365,13 +344,13 @@ static void Task_GiveExpToMon(u8 taskId) SetMonData(mon, MON_DATA_EXP, &nextLvlExp); CalculateMonStats(mon); gainedExp -= nextLvlExp - currExp; - savedActiveBank = gActiveBank; - gActiveBank = bank; - EmitTwoReturnValues(1, RET_VALUE_LEVELLED_UP, gainedExp); - gActiveBank = savedActiveBank; + savedActiveBank = gActiveBattler; + gActiveBattler = bank; + BtlController_EmitTwoReturnValues(1, RET_VALUE_LEVELLED_UP, gainedExp); + gActiveBattler = savedActiveBank; if (IsDoubleBattle() == TRUE - && ((u16)(monId) == gBattlePartyID[bank] || (u16)(monId) == gBattlePartyID[bank ^ BIT_MON])) + && ((u16)(monId) == gBattlerPartyIndexes[bank] || (u16)(monId) == gBattlerPartyIndexes[bank ^ BIT_FLANK])) gTasks[taskId].func = sub_81BB628; else gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter; @@ -380,7 +359,7 @@ static void Task_GiveExpToMon(u8 taskId) { currExp += gainedExp; SetMonData(mon, MON_DATA_EXP, &currExp); - gBattleBankFunc[bank] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[bank] = CompleteOnInactiveTextPrinter; DestroyTask(taskId); } } @@ -404,7 +383,7 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId) exp -= currLvlExp; expToNextLvl = gExperienceTables[gBaseStats[species].growthRate][level + 1] - currLvlExp; - SetBattleBarStruct(bank, gHealthBoxesIds[bank], expToNextLvl, exp, -gainedExp); + SetBattleBarStruct(bank, gHealthboxSpriteIds[bank], expToNextLvl, exp, -gainedExp); PlaySE(SE_EXP); gTasks[taskId].func = sub_81BB4E4; } @@ -422,8 +401,8 @@ static void sub_81BB4E4(u8 taskId) u8 bank = gTasks[taskId].tExpTask_bank; s16 r4; - r4 = sub_8074AA0(bank, gHealthBoxesIds[bank], EXP_BAR, 0); - SetHealthboxSpriteVisible(gHealthBoxesIds[bank]); + r4 = sub_8074AA0(bank, gHealthboxSpriteIds[bank], EXP_BAR, 0); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[bank]); if (r4 == -1) { u8 level; @@ -444,17 +423,17 @@ static void sub_81BB4E4(u8 taskId) SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &expOnNextLvl); CalculateMonStats(&gPlayerParty[monId]); gainedExp -= expOnNextLvl - currExp; - savedActiveBank = gActiveBank; - gActiveBank = bank; - EmitTwoReturnValues(1, RET_VALUE_LEVELLED_UP, gainedExp); - gActiveBank = savedActiveBank; + savedActiveBank = gActiveBattler; + gActiveBattler = bank; + BtlController_EmitTwoReturnValues(1, RET_VALUE_LEVELLED_UP, gainedExp); + gActiveBattler = savedActiveBank; gTasks[taskId].func = sub_81BB628; } else { currExp += gainedExp; SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &currExp); - gBattleBankFunc[bank] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[bank] = CompleteOnInactiveTextPrinter; DestroyTask(taskId); } } @@ -466,10 +445,10 @@ static void sub_81BB628(u8 taskId) u8 bank = gTasks[taskId].tExpTask_bank; u8 monIndex = gTasks[taskId].tExpTask_monId; - if (IsDoubleBattle() == TRUE && monIndex == gBattlePartyID[bank ^ BIT_MON]) - bank ^= BIT_MON; + if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[bank ^ BIT_FLANK]) + bank ^= BIT_FLANK; - DoSpecialBattleAnimation(bank, bank, bank, B_ANIM_LVL_UP); + InitAndLaunchSpecialAnimation(bank, bank, bank, B_ANIM_LVL_UP); gTasks[taskId].func = sub_81BB688; } @@ -483,10 +462,10 @@ static void sub_81BB688(u8 taskId) GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value - if (IsDoubleBattle() == TRUE && monIndex == gBattlePartyID[bank ^ BIT_MON]) - UpdateHealthboxAttribute(gHealthBoxesIds[bank ^ BIT_MON], &gPlayerParty[monIndex], HEALTHBOX_ALL); + if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[bank ^ BIT_FLANK]) + UpdateHealthboxAttribute(gHealthboxSpriteIds[bank ^ BIT_FLANK], &gPlayerParty[monIndex], HEALTHBOX_ALL); else - UpdateHealthboxAttribute(gHealthBoxesIds[bank], &gPlayerParty[monIndex], HEALTHBOX_ALL); + UpdateHealthboxAttribute(gHealthboxSpriteIds[bank], &gPlayerParty[monIndex], HEALTHBOX_ALL); gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter; } @@ -500,31 +479,31 @@ static void DestroyExpTaskAndCompleteOnInactiveTextPrinter(u8 taskId) monIndex = gTasks[taskId].tExpTask_monId; GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value bank = gTasks[taskId].tExpTask_bank; - gBattleBankFunc[bank] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[bank] = CompleteOnInactiveTextPrinter; DestroyTask(taskId); } static void sub_81BB78C(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].pos1.y + gSprites[gBankSpriteIds[gActiveBank]].pos2.y > DISPLAY_HEIGHT) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y > DISPLAY_HEIGHT) { - u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); nullsub_24(species); - FreeOamMatrix(gSprites[gBankSpriteIds[gActiveBank]].oam.matrixNum); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + FreeOamMatrix(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.matrixNum); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); PlayerPartnerBufferExecCompleted(); } } static void sub_81BB828(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); PlayerPartnerBufferExecCompleted(); } } @@ -537,39 +516,39 @@ static void CompleteOnInactiveTextPrinter2(void) static void DoHitAnimBlinkSpriteEffect(void) { - u8 spriteId = gBankSpriteIds[gActiveBank]; + u8 spriteId = gBattlerSpriteIds[gActiveBattler]; - if (gSprites[spriteId].data1 == 32) + if (gSprites[spriteId].data[1] == 32) { - gSprites[spriteId].data1 = 0; + gSprites[spriteId].data[1] = 0; gSprites[spriteId].invisible = 0; gDoingBattleAnim = FALSE; PlayerPartnerBufferExecCompleted(); } else { - if ((gSprites[spriteId].data1 % 4) == 0) + if ((gSprites[spriteId].data[1] % 4) == 0) gSprites[spriteId].invisible ^= 1; - gSprites[spriteId].data1++; + gSprites[spriteId].data[1]++; } } static void sub_81BB92C(void) { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { - CopyBattleSpriteInvisibility(gActiveBank); - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE); + CopyBattleSpriteInvisibility(gActiveBattler); + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); - gBattleBankFunc[gActiveBank] = sub_81BB9A0; + gBattlerControllerFuncs[gActiveBattler] = sub_81BB9A0; } } static void sub_81BB9A0(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive - && gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive + && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { PlayerPartnerBufferExecCompleted(); } @@ -577,66 +556,66 @@ static void sub_81BB9A0(void) static void sub_81BB9F4(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); CreateTask(c3_0802FDF4, 10); - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 0); - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], HEALTHBOX_ALL); - sub_8076918(gActiveBank); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); - gBattleBankFunc[gActiveBank] = sub_81BB92C; + gBattlerControllerFuncs[gActiveBattler] = sub_81BB92C; } } static void sub_81BBAE8(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) { - sub_8172EF0(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]); + sub_8172EF0(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); } - if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8) + if (gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) { - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]); - gBattleBankFunc[gActiveBank] = sub_81BB9F4; + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler]]); + gBattlerControllerFuncs[gActiveBattler] = sub_81BB9F4; } } static void PlayerPartnerBufferExecCompleted(void) { - gBattleBankFunc[gActiveBank] = PlayerPartnerBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = PlayerPartnerBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleBufferA[gActiveBank][0] = CONTROLLER_TERMINATOR_NOP; + gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else { - gBattleExecBuffer &= ~gBitTable[gActiveBank]; + gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; } } static void CompleteOnFinishedStatusAnimation(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].statusAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive) PlayerPartnerBufferExecCompleted(); } static void CompleteOnFinishedBattleAnimation(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animFromTableActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive) PlayerPartnerBufferExecCompleted(); } @@ -647,13 +626,13 @@ static void PlayerPartnerHandleGetMonData(void) u8 monToCheck; s32 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - size += CopyPlayerPartnerMonData(gBattlePartyID[gActiveBank], monData); + size += CopyPlayerPartnerMonData(gBattlerPartyIndexes[gActiveBattler], monData); } else { - monToCheck = gBattleBufferA[gActiveBank][2]; + monToCheck = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (monToCheck & 1) @@ -661,7 +640,7 @@ static void PlayerPartnerHandleGetMonData(void) monToCheck >>= 1; } } - EmitDataTransfer(1, size, monData); + BtlController_EmitDataTransfer(1, size, monData); PlayerPartnerBufferExecCompleted(); } @@ -675,7 +654,7 @@ static u32 CopyPlayerPartnerMonData(u8 monId, u8 *dst) u32 data32; s32 size = 0; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case REQUEST_ALL_BATTLE: battleMon.species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); @@ -741,7 +720,7 @@ static u32 CopyPlayerPartnerMonData(u8 monId, u8 *dst) case REQUEST_MOVE2_BATTLE: case REQUEST_MOVE3_BATTLE: case REQUEST_MOVE4_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - REQUEST_MOVE1_BATTLE); + data16 = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE); dst[0] = data16; dst[1] = data16 >> 8; size = 2; @@ -756,7 +735,7 @@ static u32 CopyPlayerPartnerMonData(u8 monId, u8 *dst) case REQUEST_PPMOVE2_BATTLE: case REQUEST_PPMOVE3_BATTLE: case REQUEST_PPMOVE4_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - REQUEST_PPMOVE1_BATTLE); + dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE); size = 1; break; case REQUEST_OTID_BATTLE: @@ -981,13 +960,13 @@ static void PlayerPartnerHandleSetMonData(void) u8 monToCheck; u8 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - SetPlayerPartnerMonData(gBattlePartyID[gActiveBank]); + SetPlayerPartnerMonData(gBattlerPartyIndexes[gActiveBattler]); } else { - monToCheck = gBattleBufferA[gActiveBank][2]; + monToCheck = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (monToCheck & 1) @@ -1000,11 +979,11 @@ static void PlayerPartnerHandleSetMonData(void) static void SetPlayerPartnerMonData(u8 monId) { - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBank][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBank][3]; + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBattler][3]; + struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBattler][3]; s32 i; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case REQUEST_ALL_BATTLE: { @@ -1045,10 +1024,10 @@ static void SetPlayerPartnerMonData(u8 monId) } break; case REQUEST_SPECIES_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HELDITEM_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MOVES_PP_BATTLE: for (i = 0; i < 4; i++) @@ -1062,167 +1041,167 @@ static void SetPlayerPartnerMonData(u8 monId) case REQUEST_MOVE2_BATTLE: case REQUEST_MOVE3_BATTLE: case REQUEST_MOVE4_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - REQUEST_MOVE1_BATTLE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_PP_DATA_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PP1, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP2, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP3, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP4, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBank][7]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP1, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP2, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP3, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP4, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBattler][7]); break; case REQUEST_PPMOVE1_BATTLE: case REQUEST_PPMOVE2_BATTLE: case REQUEST_PPMOVE3_BATTLE: case REQUEST_PPMOVE4_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - REQUEST_PPMOVE1_BATTLE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_OTID_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_OT_ID, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_OT_ID, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_EXP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HP_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_HP_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_FRIENDSHIP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_POKERUS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_POKERUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_POKERUS, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_LOCATION_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_LEVEL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_GAME_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_POKEBALL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ALL_IVS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); + SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][7]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][8]); break; case REQUEST_HP_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_PERSONALITY_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CHECKSUM_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_STATUS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_STATUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_STATUS, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_LEVEL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_HP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MAX_HP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_ATK, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_DEF, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPEED, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPATK, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_COOL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_COOL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_COOL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_BEAUTY_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CUTE_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CUTE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_CUTE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SMART_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SMART, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SMART, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_TOUGH_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SHEEN_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SHEEN, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SHEEN, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_COOL_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_BEAUTY_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CUTE_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SMART_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_TOUGH_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; } - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); } static void PlayerPartnerHandleSetRawMonData(void) { - u8 *dst = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; + u8 *dst = (u8 *)&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1]; u8 i; - for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) - dst[i] = gBattleBufferA[gActiveBank][3 + i]; + for (i = 0; i < gBattleBufferA[gActiveBattler][2]; i++) + dst[i] = gBattleBufferA[gActiveBattler][3 + i]; PlayerPartnerBufferExecCompleted(); } @@ -1231,28 +1210,28 @@ static void PlayerPartnerHandleLoadMonSprite(void) { u16 species; - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); - sub_806A068(species, GetBankIdentity(gActiveBank)); + BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); + sub_806A068(species, GetBattlerPosition(gActiveBattler)); - gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, - sub_80A5C6C(gActiveBank, 2), - sub_80A6138(gActiveBank), - sub_80A82E4(gActiveBank)); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; - gSprites[gBankSpriteIds[gActiveBank]].data0 = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]); - gBattleBankFunc[gActiveBank] = sub_81BB1D4; + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, + GetBattlerSpriteCoord(gActiveBattler, 2), + GetBattlerSpriteDefault_Y(gActiveBattler), + sub_80A82E4(gActiveBattler)); + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); + gBattlerControllerFuncs[gActiveBattler] = sub_81BB1D4; } static void PlayerPartnerHandleSwitchInAnim(void) { - ClearTemporarySpeciesSpriteData(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattlePartyID[gActiveBank] = gBattleBufferA[gActiveBank][1]; - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - sub_81BD0E4(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattleBankFunc[gActiveBank] = sub_81BBAE8; + ClearTemporarySpeciesSpriteData(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; + BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + sub_81BD0E4(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattlerControllerFuncs[gActiveBattler] = sub_81BBAE8; } static void sub_81BD0E4(u8 bank, bool8 dontClearSubstituteBit) @@ -1260,64 +1239,64 @@ static void sub_81BD0E4(u8 bank, bool8 dontClearSubstituteBit) u16 species; ClearTemporarySpeciesSpriteData(bank, dontClearSubstituteBit); - gBattlePartyID[bank] = gBattleBufferA[bank][1]; - species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES); + gBattlerPartyIndexes[bank] = gBattleBufferA[bank][1]; + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714); - sub_806A068(species, GetBankIdentity(bank)); + sub_806A068(species, GetBattlerPosition(bank)); - gBankSpriteIds[bank] = CreateSprite( + gBattlerSpriteIds[bank] = CreateSprite( &gUnknown_0202499C, - sub_80A5C6C(bank, 2), - sub_80A6138(bank), + GetBattlerSpriteCoord(bank, 2), + GetBattlerSpriteDefault_Y(bank), sub_80A82E4(bank)); - gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank]; - gSprites[gUnknown_03005D7C[bank]].data2 = bank; + gSprites[gUnknown_03005D7C[bank]].data[1] = gBattlerSpriteIds[bank]; + gSprites[gUnknown_03005D7C[bank]].data[2] = bank; - gSprites[gBankSpriteIds[bank]].data0 = bank; - gSprites[gBankSpriteIds[bank]].data2 = species; - gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; + gSprites[gBattlerSpriteIds[bank]].data[0] = bank; + gSprites[gBattlerSpriteIds[bank]].data[2] = species; + gSprites[gBattlerSpriteIds[bank]].oam.paletteNum = bank; - StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[bank]], gBattleMonForms[bank]); - gSprites[gBankSpriteIds[bank]].invisible = TRUE; - gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[bank]].invisible = TRUE; + gSprites[gBattlerSpriteIds[bank]].callback = SpriteCallbackDummy; - gSprites[gUnknown_03005D7C[bank]].data0 = sub_80753E8(0, 0xFF); + gSprites[gUnknown_03005D7C[bank]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); } static void PlayerPartnerHandleReturnMonToBall(void) { - if (gBattleBufferA[gActiveBank][1] == 0) + if (gBattleBufferA[gActiveBattler][1] == 0) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - gBattleBankFunc[gActiveBank] = DoSwitchOutAnimation; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + gBattlerControllerFuncs[gActiveBattler] = DoSwitchOutAnimation; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); PlayerPartnerBufferExecCompleted(); } } static void DoSwitchOutAnimation(void) { - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState) + switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) { case 0: - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; break; case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_PLAYER_MON); - gBattleBankFunc[gActiveBank] = sub_81BB828; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SWITCH_OUT_PLAYER_MON); + gBattlerControllerFuncs[gActiveBattler] = sub_81BB828; } break; } @@ -1347,31 +1326,31 @@ static void PlayerPartnerHandleDrawTrainerPic(void) // Use back pic only if the partner is Steven if (gPartnerTrainerId == STEVEN_PARTNER_ID) { - DecompressTrainerBackPic(trainerPicId, gActiveBank); - sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBank)); + DecompressTrainerBackPic(trainerPicId, gActiveBattler); + sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBattler)); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240; - gSprites[gBankSpriteIds[gActiveBank]].data0 = -2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; } else // otherwise use front sprite { - DecompressTrainerFrontPic(trainerPicId, gActiveBank); - sub_806A1C0(trainerPicId, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBank)); + DecompressTrainerFrontPic(trainerPicId, gActiveBattler); + sub_806A1C0(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBattler)); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240; - gSprites[gBankSpriteIds[gActiveBank]].pos2.y = 48; - gSprites[gBankSpriteIds[gActiveBank]].data0 = -2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC; - gSprites[gBankSpriteIds[gActiveBank]].oam.affineMode = 0; - gSprites[gBankSpriteIds[gActiveBank]].hFlip = 1; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y = 48; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = 0; + gSprites[gBattlerSpriteIds[gActiveBattler]].hFlip = 1; } - gBattleBankFunc[gActiveBank] = CompleteOnBankSpriteCallbackDummy; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy; } static void PlayerPartnerHandleTrainerSlide(void) @@ -1381,34 +1360,34 @@ static void PlayerPartnerHandleTrainerSlide(void) static void PlayerPartnerHandleTrainerSlideBack(void) { - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data0 = 35; - gSprites[gBankSpriteIds[gActiveBank]].data2 = -40; - gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC; - StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy); - gBattleBankFunc[gActiveBank] = sub_81BAE98; + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; + StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); + gBattlerControllerFuncs[gActiveBattler] = sub_81BAE98; } static void PlayerPartnerHandleFaintAnimation(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState == 0) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState == 0) { - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState++; + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState++; } else { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_PLAYER); - gSprites[gBankSpriteIds[gActiveBank]].data1 = 0; - gSprites[gBankSpriteIds[gActiveBank]].data2 = 5; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8039C00; - gBattleBankFunc[gActiveBank] = sub_81BB78C; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 5; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_8039C00; + gBattlerControllerFuncs[gActiveBattler] = sub_81BB78C; } } } @@ -1435,51 +1414,51 @@ static void PlayerPartnerHandlePause(void) static void PlayerPartnerHandleMoveAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u16 move = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); + u16 move = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); - gAnimMoveTurn = gBattleBufferA[gActiveBank][3]; - gAnimMovePower = gBattleBufferA[gActiveBank][4] | (gBattleBufferA[gActiveBank][5] << 8); - gAnimMoveDmg = gBattleBufferA[gActiveBank][6] | (gBattleBufferA[gActiveBank][7] << 8) | (gBattleBufferA[gActiveBank][8] << 16) | (gBattleBufferA[gActiveBank][9] << 24); - gAnimFriendship = gBattleBufferA[gActiveBank][10]; - gWeatherMoveAnim = gBattleBufferA[gActiveBank][12] | (gBattleBufferA[gActiveBank][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBank][16]; - gTransformedPersonalities[gActiveBank] = gAnimDisableStructPtr->transformedMonPersonality; + gAnimMoveTurn = gBattleBufferA[gActiveBattler][3]; + gAnimMovePower = gBattleBufferA[gActiveBattler][4] | (gBattleBufferA[gActiveBattler][5] << 8); + gAnimMoveDmg = gBattleBufferA[gActiveBattler][6] | (gBattleBufferA[gActiveBattler][7] << 8) | (gBattleBufferA[gActiveBattler][8] << 16) | (gBattleBufferA[gActiveBattler][9] << 24); + gAnimFriendship = gBattleBufferA[gActiveBattler][10]; + gWeatherMoveAnim = gBattleBufferA[gActiveBattler][12] | (gBattleBufferA[gActiveBattler][13] << 8); + gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; + gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; if (IsMoveWithoutAnimation(move, gAnimMoveTurn)) // always returns FALSE { PlayerPartnerBufferExecCompleted(); } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - gBattleBankFunc[gActiveBank] = PlayerPartnerDoMoveAnimation; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + gBattlerControllerFuncs[gActiveBattler] = PlayerPartnerDoMoveAnimation; } } } static void PlayerPartnerDoMoveAnimation(void) { - u16 move = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); - u8 multihit = gBattleBufferA[gActiveBank][11]; + u16 move = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); + u8 multihit = gBattleBufferA[gActiveBattler][11]; - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState) + switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) { case 0: - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute - && !gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8) + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute + && !gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8) { - gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 1; - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); + gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 1; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; break; case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { sub_805EB9C(0); DoMoveAnim(move); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 2; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; } break; case 2: @@ -1487,20 +1466,20 @@ static void PlayerPartnerDoMoveAnimation(void) if (!gAnimScriptActive) { sub_805EB9C(1); - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute && multihit < 2) + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) { - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE); - gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 0; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); + gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 0; } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 3; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 3; } break; case 3: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - sub_805E394(); - TrySetBehindSubstituteSpriteBit(gActiveBank, gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; + CopyAllBattleSpritesInvisibilities(); + TrySetBehindSubstituteSpriteBit(gActiveBattler, gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; PlayerPartnerBufferExecCompleted(); } break; @@ -1513,13 +1492,13 @@ static void PlayerPartnerHandlePrintString(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - stringId = (u16*)(&gBattleBufferA[gActiveBank][2]); + stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); - gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter2; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter2; } -static void PlayerPartnerHandlePrintStringPlayerOnly(void) +static void PlayerPartnerHandlePrintSelectionString(void) { PlayerPartnerBufferExecCompleted(); } @@ -1538,21 +1517,21 @@ static void PlayerPartnerHandleUnknownYesNoBox(void) static void PlayerPartnerHandleChooseMove(void) { u8 chosenMoveId; - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBank][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBattler][4]); BattleAI_SetupAIData(0xF); chosenMoveId = BattleAI_ChooseMoveOrAction(); if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & (MOVE_TARGET_x10 | MOVE_TARGET_USER)) - gBankTarget = gActiveBank; + gBattlerTarget = gActiveBattler; if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & MOVE_TARGET_BOTH) { - gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON1); - if (gAbsentBankFlags & gBitTable[gBankTarget]) - gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON2); + gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); } - EmitTwoReturnValues(1, 10, chosenMoveId | (gBankTarget << 8)); + BtlController_EmitTwoReturnValues(1, 10, chosenMoveId | (gBattlerTarget << 8)); PlayerPartnerBufferExecCompleted(); } @@ -1567,22 +1546,22 @@ static void PlayerPartnerHandleChoosePokemon(void) if (chosenMonId == 6) // just switch to the next mon { - u8 playerMonIdentity = GetBankByIdentity(IDENTITY_PLAYER_MON1); - u8 selfIdentity = GetBankByIdentity(IDENTITY_PLAYER_MON2); + u8 playerMonIdentity = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + u8 selfIdentity = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); for (chosenMonId = 3; chosenMonId < 6; chosenMonId++) { if (GetMonData(&gPlayerParty[chosenMonId], MON_DATA_HP) != 0 - && chosenMonId != gBattlePartyID[playerMonIdentity] - && chosenMonId != gBattlePartyID[selfIdentity]) + && chosenMonId != gBattlerPartyIndexes[playerMonIdentity] + && chosenMonId != gBattlerPartyIndexes[selfIdentity]) { break; } } } - *(gBattleStruct->field_5C + gActiveBank) = chosenMonId; - EmitChosenMonReturnValue(1, chosenMonId, NULL); + *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = chosenMonId; + BtlController_EmitChosenMonReturnValue(1, chosenMonId, NULL); PlayerPartnerBufferExecCompleted(); } @@ -1596,28 +1575,28 @@ static void PlayerPartnerHandleHealthBarUpdate(void) s16 hpVal; LoadBattleBarGfx(0); - hpVal = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + hpVal = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); if (hpVal != INSTANT_HP_BAR_DROP) { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); - u32 curHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); + u32 curHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - SetBattleBarStruct(gActiveBank, gHealthBoxesIds[gActiveBank], maxHP, curHP, hpVal); + SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, curHP, hpVal); } else { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - SetBattleBarStruct(gActiveBank, gHealthBoxesIds[gActiveBank], maxHP, 0, hpVal); + SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, 0, hpVal); } - gBattleBankFunc[gActiveBank] = CompleteOnHealthbarDone; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; } static void PlayerPartnerHandleExpUpdate(void) { - u8 monId = gBattleBufferA[gActiveBank][1]; + u8 monId = gBattleBufferA[gActiveBattler][1]; if (GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL) >= MAX_MON_LEVEL) { @@ -1630,12 +1609,12 @@ static void PlayerPartnerHandleExpUpdate(void) LoadBattleBarGfx(1); GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); // unused return value - expPointsToGive = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + expPointsToGive = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); taskId = CreateTask(Task_GiveExpToMon, 10); gTasks[taskId].tExpTask_monId = monId; gTasks[taskId].tExpTask_gainedExp = expPointsToGive; - gTasks[taskId].tExpTask_bank = gActiveBank; - gBattleBankFunc[gActiveBank] = nullsub_21; + gTasks[taskId].tExpTask_bank = gActiveBattler; + gBattlerControllerFuncs[gActiveBattler] = nullsub_21; } } @@ -1646,24 +1625,24 @@ static void PlayerPartnerHandleExpUpdate(void) static void PlayerPartnerHandleStatusIconUpdate(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { u8 bank; - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], HEALTHBOX_STATUS_ICON); - bank = gActiveBank; + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); + bank = gActiveBattler; gBattleSpritesDataPtr->healthBoxesData[bank].statusAnimActive = 0; - gBattleBankFunc[gActiveBank] = CompleteOnFinishedStatusAnimation; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } static void PlayerPartnerHandleStatusAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - DoStatusAnimation(gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8) | (gBattleBufferA[gActiveBank][4] << 16) | (gBattleBufferA[gActiveBank][5] << 24)); - gBattleBankFunc[gActiveBank] = CompleteOnFinishedStatusAnimation; + InitAndLaunchChosenStatusAnimation(gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8) | (gBattleBufferA[gActiveBattler][4] << 16) | (gBattleBufferA[gActiveBattler][5] << 24)); + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } @@ -1720,7 +1699,7 @@ static void PlayerPartnerHandleCmd37(void) static void PlayerPartnerHandleCmd38(void) { - gUnknown_02022D0C.field_0 = gBattleBufferA[gActiveBank][1]; + gUnknown_02022D0C.field_0 = gBattleBufferA[gActiveBattler][1]; PlayerPartnerBufferExecCompleted(); } @@ -1738,16 +1717,16 @@ static void PlayerPartnerHandleCmd40(void) static void PlayerPartnerHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) { PlayerPartnerBufferExecCompleted(); } else { gDoingBattleAnim = TRUE; - gSprites[gBankSpriteIds[gActiveBank]].data1 = 0; - DoHitAnimHealthboxEffect(gActiveBank); - gBattleBankFunc[gActiveBank] = DoHitAnimBlinkSpriteEffect; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; + DoHitAnimHealthboxEffect(gActiveBattler); + gBattlerControllerFuncs[gActiveBattler] = DoHitAnimBlinkSpriteEffect; } } @@ -1756,29 +1735,29 @@ static void PlayerPartnerHandleCmd42(void) PlayerPartnerBufferExecCompleted(); } -static void PlayerPartnerHandleEffectivenessSound(void) +static void PlayerPartnerHandlePlaySE(void) { s8 pan; - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) pan = PAN_SIDE_PLAYER; else pan = PAN_SIDE_OPPONENT; - PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan); + PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan); PlayerPartnerBufferExecCompleted(); } static void PlayerPartnerHandlePlayFanfareOrBGM(void) { - if (gBattleBufferA[gActiveBank][3]) + if (gBattleBufferA[gActiveBattler][3]) { - BattleMusicStop(); - PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + BattleStopLowHpSound(); + PlayBGM(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); } else { - PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); } PlayerPartnerBufferExecCompleted(); @@ -1786,7 +1765,7 @@ static void PlayerPartnerHandlePlayFanfareOrBGM(void) static void PlayerPartnerHandleFaintingCry(void) { - u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); PlayCry3(species, -25, 5); PlayerPartnerBufferExecCompleted(); @@ -1794,8 +1773,8 @@ static void PlayerPartnerHandleFaintingCry(void) static void PlayerPartnerHandleIntroSlide(void) { - HandleIntroSlide(gBattleBufferA[gActiveBank][1]); - gUnknown_020243FC |= 1; + HandleIntroSlide(gBattleBufferA[gActiveBattler][1]); + gIntroSlideFlags |= 1; PlayerPartnerBufferExecCompleted(); } @@ -1804,16 +1783,16 @@ static void PlayerPartnerHandleIntroTrainerBallThrow(void) u8 paletteNum; u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - gSprites[gBankSpriteIds[gActiveBank]].data0 = 50; - gSprites[gBankSpriteIds[gActiveBank]].data2 = -40; - gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC; - gSprites[gBankSpriteIds[gActiveBank]].data5 = gActiveBank; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler; - StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], sub_805CC00); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1); + StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); paletteNum = AllocSpritePalette(0xD6F9); if (gPartnerTrainerId == STEVEN_PARTNER_ID) @@ -1828,16 +1807,16 @@ static void PlayerPartnerHandleIntroTrainerBallThrow(void) } - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = paletteNum; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; taskId = CreateTask(sub_81BE2C8, 5); - gTasks[taskId].data[0] = gActiveBank; + gTasks[taskId].data[0] = gActiveBattler; - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1) - gTasks[gUnknown_020244B4[gActiveBank]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; gBattleSpritesDataPtr->animationData->field_9_x1 = 1; - gBattleBankFunc[gActiveBank] = nullsub_77; + gBattlerControllerFuncs[gActiveBattler] = nullsub_77; } static void sub_81BE2C8(u8 taskId) @@ -1848,62 +1827,62 @@ static void sub_81BE2C8(u8 taskId) } else { - u8 savedActiveBank = gActiveBank; + u8 savedActiveBank = gActiveBattler; - gActiveBank = gTasks[taskId].data[0]; + gActiveBattler = gTasks[taskId].data[0]; if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_81BD0E4(gActiveBank, FALSE); + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_81BD0E4(gActiveBattler, FALSE); } else { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_81BD0E4(gActiveBank, FALSE); - gActiveBank ^= BIT_MON; - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - sub_81BD0E4(gActiveBank, FALSE); - gActiveBank ^= BIT_MON; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_81BD0E4(gActiveBattler, FALSE); + gActiveBattler ^= BIT_FLANK; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + sub_81BD0E4(gActiveBattler, FALSE); + gActiveBattler ^= BIT_FLANK; } - gBattleBankFunc[gActiveBank] = sub_81BB02C; - gActiveBank = savedActiveBank; + gBattlerControllerFuncs[gActiveBattler] = sub_81BB02C; + gActiveBattler = savedActiveBank; DestroyTask(taskId); } } static void PlayerPartnerHandleDrawPartyStatusSummary(void) { - if (gBattleBufferA[gActiveBank][1] != 0 && GetBankSide(gActiveBank) == SIDE_PLAYER) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { PlayerPartnerBufferExecCompleted(); } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1 = 1; - gUnknown_020244B4[gActiveBank] = CreatePartyStatusSummarySprites(gActiveBank, (struct HpAndStatus *)&gBattleBufferA[gActiveBank][4], gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][2]); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1 = 1; + gBattlerStatusSummaryTaskId[gActiveBattler] = CreatePartyStatusSummarySprites(gActiveBattler, (struct HpAndStatus *)&gBattleBufferA[gActiveBattler][4], gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][2]); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0; - if (gBattleBufferA[gActiveBank][2] != 0) - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5 = 0x5D; + if (gBattleBufferA[gActiveBattler][2] != 0) + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0x5D; - gBattleBankFunc[gActiveBank] = sub_81BE498; + gBattlerControllerFuncs[gActiveBattler] = sub_81BE498; } } static void sub_81BE498(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5++ > 0x5C) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5++ > 0x5C) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0; PlayerPartnerBufferExecCompleted(); } } static void PlayerPartnerHandleCmd49(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1) - gTasks[gUnknown_020244B4[gActiveBank]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; PlayerPartnerBufferExecCompleted(); } @@ -1914,25 +1893,25 @@ static void PlayerPartnerHandleCmd50(void) static void PlayerPartnerHandleSpriteInvisibility(void) { - if (IsBankSpritePresent(gActiveBank)) + if (IsBattlerSpritePresent(gActiveBattler)) { - gSprites[gBankSpriteIds[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; - CopyBattleSpriteInvisibility(gActiveBank); + gSprites[gBattlerSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; + CopyBattleSpriteInvisibility(gActiveBattler); } PlayerPartnerBufferExecCompleted(); } static void PlayerPartnerHandleBattleAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u8 animationId = gBattleBufferA[gActiveBank][1]; - u16 argument = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 animationId = gBattleBufferA[gActiveBattler][1]; + u16 argument = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - if (DoBattleAnimationFromTable(gActiveBank, gActiveBank, gActiveBank, animationId, argument)) + if (TryHandleLaunchBattleTableAnimation(gActiveBattler, gActiveBattler, gActiveBattler, animationId, argument)) PlayerPartnerBufferExecCompleted(); else - gBattleBankFunc[gActiveBank] = CompleteOnFinishedBattleAnimation; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation; } } @@ -1948,11 +1927,11 @@ static void PlayerPartnerHandleResetActionMoveSelection(void) static void PlayerPartnerHandleCmd55(void) { - gBattleOutcome = gBattleBufferA[gActiveBank][1]; + gBattleOutcome = gBattleBufferA[gActiveBattler][1]; FadeOutMapMusic(5); BeginFastPaletteFade(3); PlayerPartnerBufferExecCompleted(); - gBattleBankFunc[gActiveBank] = sub_80587B0; + gBattlerControllerFuncs[gActiveBattler] = sub_80587B0; } static void nullsub_128(void) diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 0dc7631ce8..855dfc554b 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -4,6 +4,7 @@ #include "battle_message.h" #include "battle_interface.h" #include "battle_anim.h" +#include "constants/battle_anim.h" #include "battle_ai_script_commands.h" #include "battle_link_817C95C.h" #include "recorded_battle.h" @@ -11,7 +12,7 @@ #include "link.h" #include "util.h" #include "main.h" -#include "songs.h" +#include "constants/songs.h" #include "sound.h" #include "window.h" #include "m4a.h" @@ -23,38 +24,14 @@ #include "reshow_battle_screen.h" #include "pokeball.h" #include "data2.h" +#include "item_use.h" +#include "battle_setup.h" -extern u32 gBattleExecBuffer; -extern u8 gActiveBank; -extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT]; -extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT]; -extern u8 gNoOfAllBanks; -extern bool8 gDoingBattleAnim; -extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void); -extern void (*gPreBattleCallback1)(void); -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; -extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200]; -extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200]; -extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; extern struct SpriteTemplate gUnknown_0202499C; -extern u16 gScriptItemId; -extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT]; -extern u8 gBattleOutcome; extern u16 gBattle_BG0_X; extern u16 gBattle_BG0_Y; -extern u16 gUnknown_020243FC; -extern u8 gUnknown_03005D7C[BATTLE_BANKS_COUNT]; -extern u8 gBattleMonForms[BATTLE_BANKS_COUNT]; -extern u16 gPartnerTrainerId; -extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); -extern u8 gBankTarget; -extern u8 gAbsentBankFlags; -extern u8 gUnknown_020244B4[]; -extern u32 gTransformedPersonalities[BATTLE_BANKS_COUNT]; -extern struct MusicPlayerInfo gMPlay_BGM; +extern struct MusicPlayerInfo gMPlayInfo_BGM; extern struct UnusedControllerStruct gUnknown_02022D0C; -extern u16 gTrainerBattleOpponent_A; -extern u16 gTrainerBattleOpponent_B; extern u8 gUnknown_0203C7B4; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; @@ -62,6 +39,7 @@ extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern void sub_8172EF0(u8 bank, struct Pokemon *mon); extern void sub_806A068(u16, u8); extern u16 sub_8068B48(void); +extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); // this file's functions static void RecordedOpponentHandleGetMonData(void); @@ -81,7 +59,7 @@ static void RecordedOpponentHandleBallThrowAnim(void); static void RecordedOpponentHandlePause(void); static void RecordedOpponentHandleMoveAnimation(void); static void RecordedOpponentHandlePrintString(void); -static void RecordedOpponentHandlePrintStringPlayerOnly(void); +static void RecordedOpponentHandlePrintSelectionString(void); static void RecordedOpponentHandleChooseAction(void); static void RecordedOpponentHandleUnknownYesNoBox(void); static void RecordedOpponentHandleChooseMove(void); @@ -107,7 +85,7 @@ static void RecordedOpponentHandleCmd39(void); static void RecordedOpponentHandleCmd40(void); static void RecordedOpponentHandleHitAnimation(void); static void RecordedOpponentHandleCmd42(void); -static void RecordedOpponentHandleEffectivenessSound(void); +static void RecordedOpponentHandlePlaySE(void); static void RecordedOpponentHandlePlayFanfareOrBGM(void); static void RecordedOpponentHandleFaintingCry(void); static void RecordedOpponentHandleIntroSlide(void); @@ -153,7 +131,7 @@ static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void RecordedOpponentHandlePause, RecordedOpponentHandleMoveAnimation, RecordedOpponentHandlePrintString, - RecordedOpponentHandlePrintStringPlayerOnly, + RecordedOpponentHandlePrintSelectionString, RecordedOpponentHandleChooseAction, RecordedOpponentHandleUnknownYesNoBox, RecordedOpponentHandleChooseMove, @@ -179,7 +157,7 @@ static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void RecordedOpponentHandleCmd40, RecordedOpponentHandleHitAnimation, RecordedOpponentHandleCmd42, - RecordedOpponentHandleEffectivenessSound, + RecordedOpponentHandlePlaySE, RecordedOpponentHandlePlayFanfareOrBGM, RecordedOpponentHandleFaintingCry, RecordedOpponentHandleIntroSlide, @@ -201,15 +179,15 @@ static void nullsub_70(void) void SetControllerToRecordedOpponent(void) { - gBattleBankFunc[gActiveBank] = RecordedOpponentBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = RecordedOpponentBufferRunCommand; } static void RecordedOpponentBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBank]) + if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) { - if (gBattleBufferA[gActiveBank][0] < ARRAY_COUNT(sRecordedOpponentBufferCommands)) - sRecordedOpponentBufferCommands[gBattleBufferA[gActiveBank][0]](); + if (gBattleBufferA[gActiveBattler][0] < ARRAY_COUNT(sRecordedOpponentBufferCommands)) + sRecordedOpponentBufferCommands[gBattleBufferA[gActiveBattler][0]](); else RecordedOpponentBufferExecCompleted(); } @@ -217,32 +195,32 @@ static void RecordedOpponentBufferRunCommand(void) static void CompleteOnBankSpriteCallbackDummy(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) RecordedOpponentBufferExecCompleted(); } static void CompleteOnBankSpriteCallbackDummy2(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) RecordedOpponentBufferExecCompleted(); } static void sub_81865C8(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { - FreeTrainerFrontPicPalette(gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam); - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); + FreeTrainerFrontPicPalette(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); RecordedOpponentBufferExecCompleted(); } } static void sub_8186630(void) { - if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 == 0xFF) + if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 == 0xFF) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 = 0; RecordedOpponentBufferExecCompleted(); } } @@ -253,43 +231,39 @@ static void sub_8186678(void) if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gBankSpriteIds[gActiveBank]].animEnded) - { + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded) var = TRUE; - } } else { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gHealthBoxesIds[gActiveBank ^ BIT_MON]].callback == SpriteCallbackDummy - && gSprites[gBankSpriteIds[gActiveBank]].animEnded - && gSprites[gBankSpriteIds[gActiveBank ^ BIT_MON]].animEnded) - { + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded + && gSprites[gBattlerSpriteIds[gActiveBattler ^ BIT_FLANK]].animEnded) var = TRUE; - } } if (var) { - if (GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON1) + if (GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_LEFT) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1) return; - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x1) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].field_1_x1) return; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].field_1_x1 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 = 3; - gBattleBankFunc[gActiveBank] = sub_8186630; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 = 3; + gBattlerControllerFuncs[gActiveBattler] = sub_8186630; } } @@ -298,63 +272,63 @@ static void sub_818686C(void) bool32 r9 = FALSE; bool32 r8 = FALSE; - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8) - sub_8172EF0(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]); - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8) - sub_8172EF0(gActiveBank ^ BIT_MON, &gEnemyParty[gBattlePartyID[gActiveBank ^ BIT_MON]]); + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) + sub_8172EF0(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) + sub_8172EF0(gActiveBattler ^ BIT_FLANK, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]); - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x80) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank ^ BIT_MON], &gEnemyParty[gBattlePartyID[gActiveBank ^ BIT_MON]], HEALTHBOX_ALL); - sub_8076918(gActiveBank ^ BIT_MON); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank ^ BIT_MON]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler ^ BIT_FLANK); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]); } - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gEnemyParty[gBattlePartyID[gActiveBank]], HEALTHBOX_ALL); - sub_8076918(gActiveBank); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80 = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x80 = 1; } - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x40 - && gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x40 + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x40 + && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x80 + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].field_1_x40 && !IsCryPlayingOrClearCrySongs()) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x20) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x20) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK) { - if (GetBankIdentity(gActiveBank) == IDENTITY_OPPONENT_MON1) - m4aMPlayContinue(&gMPlay_BGM); + if (GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_LEFT) + m4aMPlayContinue(&gMPlayInfo_BGM); } else { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); } } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x20 = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x20 = 1; r9 = TRUE; } if (!IsDoubleBattle()) { - if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { r8 = TRUE; } } else { - if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gUnknown_03005D7C[gActiveBank ^ BIT_MON]].callback == SpriteCallbackDummy - && gSprites[gBankSpriteIds[gActiveBank ^ BIT_MON]].callback == SpriteCallbackDummy) + if (gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gUnknown_03005D7C[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy) { r8 = TRUE; } @@ -364,36 +338,36 @@ static void sub_818686C(void) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank ^ BIT_MON]]); - SetBankEnemyShadowSpriteCallback(gActiveBank ^ BIT_MON, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank ^ BIT_MON]], MON_DATA_SPECIES)); + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler ^ BIT_FLANK]]); + SetBattlerShadowSpriteCallback(gActiveBattler ^ BIT_FLANK, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], MON_DATA_SPECIES)); } - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]); - SetBankEnemyShadowSpriteCallback(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler]]); + SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); gBattleSpritesDataPtr->animationData->field_9_x1 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x20 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x20 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x80 = 0; - gBattleBankFunc[gActiveBank] = sub_8186678; + gBattlerControllerFuncs[gActiveBattler] = sub_8186678; } } static void sub_8186C48(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gBankSpriteIds[gActiveBank]].pos2.x == 0) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80) { - sub_8172EF0(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]); + sub_8172EF0(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); } else { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); RecordedOpponentBufferExecCompleted(); @@ -404,13 +378,13 @@ static void sub_8186C48(void) static void CompleteOnHealthbarDone(void) { - s16 hpValue = sub_8074AA0(gActiveBank, gHealthBoxesIds[gActiveBank], HEALTH_BAR, 0); + s16 hpValue = sub_8074AA0(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); if (hpValue != -1) { - UpdateHpTextInHealthbox(gHealthBoxesIds[gActiveBank], hpValue, HP_CURRENT); + UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], hpValue, HP_CURRENT); } else { @@ -420,21 +394,21 @@ static void CompleteOnHealthbarDone(void) static void sub_8186D58(void) { - if (!gSprites[gBankSpriteIds[gActiveBank]].inUse) + if (!gSprites[gBattlerSpriteIds[gActiveBattler]].inUse) { - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); RecordedOpponentBufferExecCompleted(); } } static void sub_8186D9C(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_805EEE0(gActiveBank); - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + HideBattlerShadowSprite(gActiveBattler); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); RecordedOpponentBufferExecCompleted(); } } @@ -447,43 +421,43 @@ static void CompleteOnInactiveTextPrinter(void) static void DoHitAnimBlinkSpriteEffect(void) { - u8 spriteId = gBankSpriteIds[gActiveBank]; + u8 spriteId = gBattlerSpriteIds[gActiveBattler]; - if (gSprites[spriteId].data1 == 32) + if (gSprites[spriteId].data[1] == 32) { - gSprites[spriteId].data1 = 0; + gSprites[spriteId].data[1] = 0; gSprites[spriteId].invisible = 0; gDoingBattleAnim = FALSE; RecordedOpponentBufferExecCompleted(); } else { - if ((gSprites[spriteId].data1 % 4) == 0) + if ((gSprites[spriteId].data[1] % 4) == 0) gSprites[spriteId].invisible ^= 1; - gSprites[spriteId].data1++; + gSprites[spriteId].data[1]++; } } static void sub_8186EA4(void) { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE); + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); - gBattleBankFunc[gActiveBank] = sub_8186F14; + gBattlerControllerFuncs[gActiveBattler] = sub_8186F14; } } static void sub_8186F14(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive && !IsCryPlayingOrClearCrySongs()) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy - || gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy_2) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + || gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy_2) { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); RecordedOpponentBufferExecCompleted(); } } @@ -491,67 +465,67 @@ static void sub_8186F14(void) static void sub_8186F94(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 - && gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 + && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 0); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gEnemyParty[gBattlePartyID[gActiveBank]], HEALTHBOX_ALL); - sub_8076918(gActiveBank); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); - CopyBattleSpriteInvisibility(gActiveBank); - gBattleBankFunc[gActiveBank] = sub_8186EA4; + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); + CopyBattleSpriteInvisibility(gActiveBattler); + gBattlerControllerFuncs[gActiveBattler] = sub_8186EA4; } } static void sub_8187084(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80) { - sub_8172EF0(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]); + sub_8172EF0(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); } - if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8) + if (gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) { - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]); - SetBankEnemyShadowSpriteCallback(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); - gBattleBankFunc[gActiveBank] = sub_8186F94; + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler]]); + SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); + gBattlerControllerFuncs[gActiveBattler] = sub_8186F94; } } static void CompleteOnFinishedStatusAnimation(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].statusAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive) RecordedOpponentBufferExecCompleted(); } static void CompleteOnFinishedBattleAnimation(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animFromTableActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive) RecordedOpponentBufferExecCompleted(); } static void RecordedOpponentBufferExecCompleted(void) { - gBattleBankFunc[gActiveBank] = RecordedOpponentBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = RecordedOpponentBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleBufferA[gActiveBank][0] = CONTROLLER_TERMINATOR_NOP; + gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else { - gBattleExecBuffer &= ~gBitTable[gActiveBank]; + gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; } } @@ -562,13 +536,13 @@ static void RecordedOpponentHandleGetMonData(void) u8 monToCheck; s32 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - size += CopyRecordedOpponentMonData(gBattlePartyID[gActiveBank], monData); + size += CopyRecordedOpponentMonData(gBattlerPartyIndexes[gActiveBattler], monData); } else { - monToCheck = gBattleBufferA[gActiveBank][2]; + monToCheck = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (monToCheck & 1) @@ -576,7 +550,7 @@ static void RecordedOpponentHandleGetMonData(void) monToCheck >>= 1; } } - EmitDataTransfer(1, size, monData); + BtlController_EmitDataTransfer(1, size, monData); RecordedOpponentBufferExecCompleted(); } @@ -590,7 +564,7 @@ static u32 CopyRecordedOpponentMonData(u8 monId, u8 *dst) u32 data32; s32 size = 0; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case REQUEST_ALL_BATTLE: battleMon.species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES); @@ -656,7 +630,7 @@ static u32 CopyRecordedOpponentMonData(u8 monId, u8 *dst) case REQUEST_MOVE2_BATTLE: case REQUEST_MOVE3_BATTLE: case REQUEST_MOVE4_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - REQUEST_MOVE1_BATTLE); + data16 = GetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE); dst[0] = data16; dst[1] = data16 >> 8; size = 2; @@ -671,7 +645,7 @@ static u32 CopyRecordedOpponentMonData(u8 monId, u8 *dst) case REQUEST_PPMOVE2_BATTLE: case REQUEST_PPMOVE3_BATTLE: case REQUEST_PPMOVE4_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - REQUEST_PPMOVE1_BATTLE); + dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE); size = 1; break; case REQUEST_OTID_BATTLE: @@ -896,13 +870,13 @@ static void RecordedOpponentHandleSetMonData(void) u8 monToCheck; u8 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - SetRecordedOpponentMonData(gBattlePartyID[gActiveBank]); + SetRecordedOpponentMonData(gBattlerPartyIndexes[gActiveBattler]); } else { - monToCheck = gBattleBufferA[gActiveBank][2]; + monToCheck = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (monToCheck & 1) @@ -915,11 +889,11 @@ static void RecordedOpponentHandleSetMonData(void) static void SetRecordedOpponentMonData(u8 monId) { - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBank][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBank][3]; + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBattler][3]; + struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBattler][3]; s32 i; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case REQUEST_ALL_BATTLE: { @@ -960,10 +934,10 @@ static void SetRecordedOpponentMonData(u8 monId) } break; case REQUEST_SPECIES_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HELDITEM_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MOVES_PP_BATTLE: for (i = 0; i < 4; i++) @@ -977,198 +951,198 @@ static void SetRecordedOpponentMonData(u8 monId) case REQUEST_MOVE2_BATTLE: case REQUEST_MOVE3_BATTLE: case REQUEST_MOVE4_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - REQUEST_MOVE1_BATTLE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_PP_DATA_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_PP1, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP2, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP3, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP4, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBank][7]); + SetMonData(&gEnemyParty[monId], MON_DATA_PP1, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_PP2, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gEnemyParty[monId], MON_DATA_PP3, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gEnemyParty[monId], MON_DATA_PP4, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBattler][7]); break; case REQUEST_PPMOVE1_BATTLE: case REQUEST_PPMOVE2_BATTLE: case REQUEST_PPMOVE3_BATTLE: case REQUEST_PPMOVE4_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - REQUEST_PPMOVE1_BATTLE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_OTID_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_OT_ID, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_OT_ID, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_EXP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_EXP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_EXP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HP_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_HP_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_FRIENDSHIP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_POKERUS_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_POKERUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_POKERUS, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_LOCATION_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_LEVEL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_GAME_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_POKEBALL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ALL_IVS_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); + SetMonData(&gEnemyParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][7]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][8]); break; case REQUEST_HP_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_PERSONALITY_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CHECKSUM_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_STATUS_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_STATUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_STATUS, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_LEVEL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_HP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MAX_HP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_ATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_ATK, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_DEF, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPEED, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPATK, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_COOL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_COOL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_COOL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_BEAUTY_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CUTE_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_CUTE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_CUTE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SMART_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SMART, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SMART, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_TOUGH_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_TOUGH, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_TOUGH, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SHEEN_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SHEEN, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SHEEN, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_COOL_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_BEAUTY_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CUTE_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SMART_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_TOUGH_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; } } static void RecordedOpponentHandleSetRawMonData(void) { - u8 *dst = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; + u8 *dst = (u8 *)&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1]; u8 i; - for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) - dst[i] = gBattleBufferA[gActiveBank][3 + i]; + for (i = 0; i < gBattleBufferA[gActiveBattler][2]; i++) + dst[i] = gBattleBufferA[gActiveBattler][3 + i]; RecordedOpponentBufferExecCompleted(); } static void RecordedOpponentHandleLoadMonSprite(void) { - u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlePartyID[gActiveBank]], gActiveBank); - sub_806A068(species, GetBankIdentity(gActiveBank)); + BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + sub_806A068(species, GetBattlerPosition(gActiveBattler)); - gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, - sub_80A5C6C(gActiveBank, 2), - sub_80A6138(gActiveBank), - sub_80A82E4(gActiveBank)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, + GetBattlerSpriteCoord(gActiveBattler, 2), + GetBattlerSpriteDefault_Y(gActiveBattler), + sub_80A82E4(gActiveBattler)); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; - gSprites[gBankSpriteIds[gActiveBank]].data0 = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]); + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); - SetBankEnemyShadowSpriteCallback(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); + SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); - gBattleBankFunc[gActiveBank] = sub_8186C48; + gBattlerControllerFuncs[gActiveBattler] = sub_8186C48; } static void RecordedOpponentHandleSwitchInAnim(void) { - gBattlePartyID[gActiveBank] = gBattleBufferA[gActiveBank][1]; - sub_81885D8(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattleBankFunc[gActiveBank] = sub_8187084; + gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; + sub_81885D8(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattlerControllerFuncs[gActiveBattler] = sub_8187084; } static void sub_81885D8(u8 bank, bool8 dontClearSubstituteBit) @@ -1176,65 +1150,65 @@ static void sub_81885D8(u8 bank, bool8 dontClearSubstituteBit) u16 species; ClearTemporarySpeciesSpriteData(bank, dontClearSubstituteBit); - gBattlePartyID[bank] = gBattleBufferA[bank][1]; - species = GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES); + gBattlerPartyIndexes[bank] = gBattleBufferA[bank][1]; + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714); - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlePartyID[bank]], bank); - sub_806A068(species, GetBankIdentity(bank)); + BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[bank]], bank); + sub_806A068(species, GetBattlerPosition(bank)); - gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, - sub_80A5C6C(bank, 2), - sub_80A6138(bank), + gBattlerSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, + GetBattlerSpriteCoord(bank, 2), + GetBattlerSpriteDefault_Y(bank), sub_80A82E4(bank)); - gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank]; - gSprites[gUnknown_03005D7C[bank]].data2 = bank; + gSprites[gUnknown_03005D7C[bank]].data[1] = gBattlerSpriteIds[bank]; + gSprites[gUnknown_03005D7C[bank]].data[2] = bank; - gSprites[gBankSpriteIds[bank]].data0 = bank; - gSprites[gBankSpriteIds[bank]].data2 = species; - gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; + gSprites[gBattlerSpriteIds[bank]].data[0] = bank; + gSprites[gBattlerSpriteIds[bank]].data[2] = species; + gSprites[gBattlerSpriteIds[bank]].oam.paletteNum = bank; - StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[bank]], gBattleMonForms[bank]); - gSprites[gBankSpriteIds[bank]].invisible = TRUE; - gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[bank]].invisible = TRUE; + gSprites[gBattlerSpriteIds[bank]].callback = SpriteCallbackDummy; - gSprites[gUnknown_03005D7C[bank]].data0 = sub_80753E8(0, 0xFE); + gSprites[gUnknown_03005D7C[bank]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT); } static void RecordedOpponentHandleReturnMonToBall(void) { - if (gBattleBufferA[gActiveBank][1] == 0) + if (gBattleBufferA[gActiveBattler][1] == 0) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - gBattleBankFunc[gActiveBank] = DoSwitchOutAnimation; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + gBattlerControllerFuncs[gActiveBattler] = DoSwitchOutAnimation; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_805EEE0(gActiveBank); - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + HideBattlerShadowSprite(gActiveBattler); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); RecordedOpponentBufferExecCompleted(); } } static void DoSwitchOutAnimation(void) { - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState) + switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) { case 0: - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; break; case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_OPPONENT_MON); - gBattleBankFunc[gActiveBank] = sub_8186D9C; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SWITCH_OUT_OPPONENT_MON); + gBattlerControllerFuncs[gActiveBattler] = sub_8186D9C; } break; } @@ -1247,21 +1221,21 @@ static void RecordedOpponentHandleDrawTrainerPic(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if ((GetBankIdentity(gActiveBank) & BIT_MON) != 0) // second mon + if ((GetBattlerPosition(gActiveBattler) & BIT_FLANK) != 0) // second mon xPos = 152; else // first mon xPos = 200; if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) { - if (gActiveBank == 1) + if (gActiveBattler == 1) trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_A); else trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_B); } else { - trainerPicId = PlayerGenderToFrontTrainerPicId(sub_8185F40()); + trainerPicId = PlayerGenderToFrontTrainerPicId(GetActiveBattlerLinkPlayerGender()); } } else @@ -1277,20 +1251,20 @@ static void RecordedOpponentHandleDrawTrainerPic(void) } } - DecompressTrainerFrontPic(trainerPicId, gActiveBank); - sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, + DecompressTrainerFrontPic(trainerPicId, gActiveBattler); + sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, - sub_80A82E4(gActiveBank)); + sub_80A82E4(gActiveBattler)); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; - gSprites[gBankSpriteIds[gActiveBank]].data0 = 2; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); - gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam = trainerPicId; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 2; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; - gBattleBankFunc[gActiveBank] = CompleteOnBankSpriteCallbackDummy; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy; } static void RecordedOpponentHandleTrainerSlide(void) @@ -1300,31 +1274,31 @@ static void RecordedOpponentHandleTrainerSlide(void) static void RecordedOpponentHandleTrainerSlideBack(void) { - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data0 = 35; - gSprites[gBankSpriteIds[gActiveBank]].data2 = 280; - gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC; - StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy); - gBattleBankFunc[gActiveBank] = sub_81865C8; + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; + StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); + gBattlerControllerFuncs[gActiveBattler] = sub_81865C8; } static void RecordedOpponentHandleFaintAnimation(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState == 0) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState == 0) { - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState++; + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState++; } else { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_OPPONENT); - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8039934; - gBattleBankFunc[gActiveBank] = sub_8186D58; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_8039934; + gBattlerControllerFuncs[gActiveBattler] = sub_8186D58; } } } @@ -1351,51 +1325,51 @@ static void RecordedOpponentHandlePause(void) static void RecordedOpponentHandleMoveAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u16 move = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); + u16 move = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); - gAnimMoveTurn = gBattleBufferA[gActiveBank][3]; - gAnimMovePower = gBattleBufferA[gActiveBank][4] | (gBattleBufferA[gActiveBank][5] << 8); - gAnimMoveDmg = gBattleBufferA[gActiveBank][6] | (gBattleBufferA[gActiveBank][7] << 8) | (gBattleBufferA[gActiveBank][8] << 16) | (gBattleBufferA[gActiveBank][9] << 24); - gAnimFriendship = gBattleBufferA[gActiveBank][10]; - gWeatherMoveAnim = gBattleBufferA[gActiveBank][12] | (gBattleBufferA[gActiveBank][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBank][16]; - gTransformedPersonalities[gActiveBank] = gAnimDisableStructPtr->transformedMonPersonality; + gAnimMoveTurn = gBattleBufferA[gActiveBattler][3]; + gAnimMovePower = gBattleBufferA[gActiveBattler][4] | (gBattleBufferA[gActiveBattler][5] << 8); + gAnimMoveDmg = gBattleBufferA[gActiveBattler][6] | (gBattleBufferA[gActiveBattler][7] << 8) | (gBattleBufferA[gActiveBattler][8] << 16) | (gBattleBufferA[gActiveBattler][9] << 24); + gAnimFriendship = gBattleBufferA[gActiveBattler][10]; + gWeatherMoveAnim = gBattleBufferA[gActiveBattler][12] | (gBattleBufferA[gActiveBattler][13] << 8); + gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; + gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; if (IsMoveWithoutAnimation(move, gAnimMoveTurn)) // always returns FALSE { RecordedOpponentBufferExecCompleted(); } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - gBattleBankFunc[gActiveBank] = RecordedOpponentDoMoveAnimation; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + gBattlerControllerFuncs[gActiveBattler] = RecordedOpponentDoMoveAnimation; } } } static void RecordedOpponentDoMoveAnimation(void) { - u16 move = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); - u8 multihit = gBattleBufferA[gActiveBank][11]; + u16 move = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); + u8 multihit = gBattleBufferA[gActiveBattler][11]; - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState) + switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) { case 0: - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute - && !gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8) + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute + && !gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8) { - gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 1; - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); + gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 1; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; break; case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { sub_805EB9C(0); DoMoveAnim(move); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 2; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; } break; case 2: @@ -1403,20 +1377,20 @@ static void RecordedOpponentDoMoveAnimation(void) if (!gAnimScriptActive) { sub_805EB9C(1); - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute && multihit < 2) + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) { - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE); - gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 0; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); + gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 0; } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 3; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 3; } break; case 3: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - sub_805E394(); - TrySetBehindSubstituteSpriteBit(gActiveBank, gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; + CopyAllBattleSpritesInvisibilities(); + TrySetBehindSubstituteSpriteBit(gActiveBattler, gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; RecordedOpponentBufferExecCompleted(); } break; @@ -1429,20 +1403,20 @@ static void RecordedOpponentHandlePrintString(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - stringId = (u16*)(&gBattleBufferA[gActiveBank][2]); + stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); - gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; } -static void RecordedOpponentHandlePrintStringPlayerOnly(void) +static void RecordedOpponentHandlePrintSelectionString(void) { RecordedOpponentBufferExecCompleted(); } static void RecordedOpponentHandleChooseAction(void) { - EmitTwoReturnValues(1, RecordedBattle_ReadBankAction(gActiveBank), 0); + BtlController_EmitTwoReturnValues(1, RecordedBattle_GetBattlerAction(gActiveBattler), 0); RecordedOpponentBufferExecCompleted(); } @@ -1455,13 +1429,13 @@ static void RecordedOpponentHandleChooseMove(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - EmitTwoReturnValues(1, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(1, 10, ChooseMoveAndTargetInBattlePalace()); } else { - u8 moveId = RecordedBattle_ReadBankAction(gActiveBank); - u8 target = RecordedBattle_ReadBankAction(gActiveBank); - EmitTwoReturnValues(1, 10, moveId | (target << 8)); + u8 moveId = RecordedBattle_GetBattlerAction(gActiveBattler); + u8 target = RecordedBattle_GetBattlerAction(gActiveBattler); + BtlController_EmitTwoReturnValues(1, 10, moveId | (target << 8)); } RecordedOpponentBufferExecCompleted(); @@ -1474,8 +1448,8 @@ static void RecordedOpponentHandleChooseItem(void) static void RecordedOpponentHandleChoosePokemon(void) { - *(gBattleStruct->field_5C + gActiveBank) = RecordedBattle_ReadBankAction(gActiveBank); - EmitChosenMonReturnValue(1, *(gBattleStruct->field_5C + gActiveBank), NULL); + *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = RecordedBattle_GetBattlerAction(gActiveBattler); + BtlController_EmitChosenMonReturnValue(1, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); RecordedOpponentBufferExecCompleted(); } @@ -1489,23 +1463,23 @@ static void RecordedOpponentHandleHealthBarUpdate(void) s16 hpVal; LoadBattleBarGfx(0); - hpVal = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + hpVal = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); if (hpVal != INSTANT_HP_BAR_DROP) { - u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); - u32 curHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_HP); + u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); + u32 curHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - SetBattleBarStruct(gActiveBank, gHealthBoxesIds[gActiveBank], maxHP, curHP, hpVal); + SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, curHP, hpVal); } else { - u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - SetBattleBarStruct(gActiveBank, gHealthBoxesIds[gActiveBank], maxHP, 0, hpVal); + SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, 0, hpVal); } - gBattleBankFunc[gActiveBank] = CompleteOnHealthbarDone; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; } static void RecordedOpponentHandleExpUpdate(void) @@ -1515,24 +1489,24 @@ static void RecordedOpponentHandleExpUpdate(void) static void RecordedOpponentHandleStatusIconUpdate(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { u8 bank; - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gEnemyParty[gBattlePartyID[gActiveBank]], HEALTHBOX_STATUS_ICON); - bank = gActiveBank; + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); + bank = gActiveBattler; gBattleSpritesDataPtr->healthBoxesData[bank].statusAnimActive = 0; - gBattleBankFunc[gActiveBank] = CompleteOnFinishedStatusAnimation; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } static void RecordedOpponentHandleStatusAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - DoStatusAnimation(gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8) | (gBattleBufferA[gActiveBank][4] << 16) | (gBattleBufferA[gActiveBank][5] << 24)); - gBattleBankFunc[gActiveBank] = CompleteOnFinishedStatusAnimation; + InitAndLaunchChosenStatusAnimation(gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8) | (gBattleBufferA[gActiveBattler][4] << 16) | (gBattleBufferA[gActiveBattler][5] << 24)); + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } @@ -1589,7 +1563,7 @@ static void RecordedOpponentHandleCmd37(void) static void RecordedOpponentHandleCmd38(void) { - gUnknown_02022D0C.field_0 = gBattleBufferA[gActiveBank][1]; + gUnknown_02022D0C.field_0 = gBattleBufferA[gActiveBattler][1]; RecordedOpponentBufferExecCompleted(); } @@ -1607,16 +1581,16 @@ static void RecordedOpponentHandleCmd40(void) static void RecordedOpponentHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) { RecordedOpponentBufferExecCompleted(); } else { gDoingBattleAnim = TRUE; - gSprites[gBankSpriteIds[gActiveBank]].data1 = 0; - DoHitAnimHealthboxEffect(gActiveBank); - gBattleBankFunc[gActiveBank] = DoHitAnimBlinkSpriteEffect; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; + DoHitAnimHealthboxEffect(gActiveBattler); + gBattlerControllerFuncs[gActiveBattler] = DoHitAnimBlinkSpriteEffect; } } @@ -1625,29 +1599,29 @@ static void RecordedOpponentHandleCmd42(void) RecordedOpponentBufferExecCompleted(); } -static void RecordedOpponentHandleEffectivenessSound(void) +static void RecordedOpponentHandlePlaySE(void) { s8 pan; - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) pan = PAN_SIDE_PLAYER; else pan = PAN_SIDE_OPPONENT; - PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan); + PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan); RecordedOpponentBufferExecCompleted(); } static void RecordedOpponentHandlePlayFanfareOrBGM(void) { - if (gBattleBufferA[gActiveBank][3]) + if (gBattleBufferA[gActiveBattler][3]) { - BattleMusicStop(); - PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + BattleStopLowHpSound(); + PlayBGM(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); } else { - PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); } RecordedOpponentBufferExecCompleted(); @@ -1655,7 +1629,7 @@ static void RecordedOpponentHandlePlayFanfareOrBGM(void) static void RecordedOpponentHandleFaintingCry(void) { - u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); PlayCry3(species, 25, 5); RecordedOpponentBufferExecCompleted(); @@ -1663,8 +1637,8 @@ static void RecordedOpponentHandleFaintingCry(void) static void RecordedOpponentHandleIntroSlide(void) { - HandleIntroSlide(gBattleBufferA[gActiveBank][1]); - gUnknown_020243FC |= 1; + HandleIntroSlide(gBattleBufferA[gActiveBattler][1]); + gIntroSlideFlags |= 1; RecordedOpponentBufferExecCompleted(); } @@ -1673,46 +1647,46 @@ static void RecordedOpponentHandleIntroTrainerBallThrow(void) u8 paletteNum; u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - gSprites[gBankSpriteIds[gActiveBank]].data0 = 35; - gSprites[gBankSpriteIds[gActiveBank]].data2 = 280; - gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; - StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], sub_818962C); + StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_818962C); taskId = CreateTask(sub_8189548, 5); - gTasks[taskId].data[0] = gActiveBank; + gTasks[taskId].data[0] = gActiveBattler; - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1) - gTasks[gUnknown_020244B4[gActiveBank]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; gBattleSpritesDataPtr->animationData->field_9_x1 = 1; - gBattleBankFunc[gActiveBank] = nullsub_70; + gBattlerControllerFuncs[gActiveBattler] = nullsub_70; } static void sub_8189548(u8 taskId) { - u8 savedActiveBank = gActiveBank; + u8 savedActiveBank = gActiveBattler; - gActiveBank = gTasks[taskId].data[0]; + gActiveBattler = gTasks[taskId].data[0]; if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_81885D8(gActiveBank, FALSE); + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_81885D8(gActiveBattler, FALSE); } else { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_81885D8(gActiveBank, FALSE); - gActiveBank ^= BIT_MON; - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_81885D8(gActiveBank, FALSE); - gActiveBank ^= BIT_MON; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_81885D8(gActiveBattler, FALSE); + gActiveBattler ^= BIT_FLANK; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_81885D8(gActiveBattler, FALSE); + gActiveBattler ^= BIT_FLANK; } - gBattleBankFunc[gActiveBank] = sub_818686C; - gActiveBank = savedActiveBank; + gBattlerControllerFuncs[gActiveBattler] = sub_818686C; + gActiveBattler = savedActiveBank; DestroyTask(taskId); } @@ -1725,50 +1699,50 @@ static void sub_818962C(struct Sprite *sprite) static void RecordedOpponentHandleDrawPartyStatusSummary(void) { - if (gBattleBufferA[gActiveBank][1] != 0 && GetBankSide(gActiveBank) == SIDE_PLAYER) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { RecordedOpponentBufferExecCompleted(); } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1 = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1 = 1; - if (gBattleBufferA[gActiveBank][2] != 0) + if (gBattleBufferA[gActiveBattler][2] != 0) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1E < 2) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1E < 2) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1E++; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1E++; return; } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1E = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1E = 0; } } - gUnknown_020244B4[gActiveBank] = CreatePartyStatusSummarySprites(gActiveBank, (struct HpAndStatus *)&gBattleBufferA[gActiveBank][4], gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][2]); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5 = 0; + gBattlerStatusSummaryTaskId[gActiveBattler] = CreatePartyStatusSummarySprites(gActiveBattler, (struct HpAndStatus *)&gBattleBufferA[gActiveBattler][4], gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][2]); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0; - if (gBattleBufferA[gActiveBank][2] != 0) - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5 = 0x5D; + if (gBattleBufferA[gActiveBattler][2] != 0) + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0x5D; - gBattleBankFunc[gActiveBank] = sub_818975C; + gBattlerControllerFuncs[gActiveBattler] = sub_818975C; } } static void sub_818975C(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5++ > 0x5C) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5++ > 0x5C) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0; RecordedOpponentBufferExecCompleted(); } } static void RecordedOpponentHandleCmd49(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1) - gTasks[gUnknown_020244B4[gActiveBank]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; RecordedOpponentBufferExecCompleted(); } @@ -1779,25 +1753,25 @@ static void RecordedOpponentHandleCmd50(void) static void RecordedOpponentHandleSpriteInvisibility(void) { - if (IsBankSpritePresent(gActiveBank)) + if (IsBattlerSpritePresent(gActiveBattler)) { - gSprites[gBankSpriteIds[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; - CopyBattleSpriteInvisibility(gActiveBank); + gSprites[gBattlerSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; + CopyBattleSpriteInvisibility(gActiveBattler); } RecordedOpponentBufferExecCompleted(); } static void RecordedOpponentHandleBattleAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u8 animationId = gBattleBufferA[gActiveBank][1]; - u16 argument = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 animationId = gBattleBufferA[gActiveBattler][1]; + u16 argument = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - if (DoBattleAnimationFromTable(gActiveBank, gActiveBank, gActiveBank, animationId, argument)) + if (TryHandleLaunchBattleTableAnimation(gActiveBattler, gActiveBattler, gActiveBattler, animationId, argument)) RecordedOpponentBufferExecCompleted(); else - gBattleBankFunc[gActiveBank] = CompleteOnFinishedBattleAnimation; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation; } } @@ -1813,15 +1787,15 @@ static void RecordedOpponentHandleResetActionMoveSelection(void) static void RecordedOpponentHandleCmd55(void) { - if (gBattleBufferA[gActiveBank][1] == BATTLE_DREW) - gBattleOutcome = gBattleBufferA[gActiveBank][1]; + if (gBattleBufferA[gActiveBattler][1] == B_OUTCOME_DREW) + gBattleOutcome = gBattleBufferA[gActiveBattler][1]; else - gBattleOutcome = gBattleBufferA[gActiveBank][1] ^ BATTLE_DREW; + gBattleOutcome = gBattleBufferA[gActiveBattler][1] ^ B_OUTCOME_DREW; FadeOutMapMusic(5); BeginFastPaletteFade(3); RecordedOpponentBufferExecCompleted(); - gBattleBankFunc[gActiveBank] = sub_80587B0; + gBattlerControllerFuncs[gActiveBattler] = sub_80587B0; } static void nullsub_119(void) diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index a3343a3913..4efe5babf8 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -4,13 +4,14 @@ #include "battle_message.h" #include "battle_interface.h" #include "battle_anim.h" +#include "constants/battle_anim.h" #include "battle_ai_script_commands.h" #include "recorded_battle.h" #include "pokemon.h" #include "link.h" #include "util.h" #include "main.h" -#include "songs.h" +#include "constants/songs.h" #include "sound.h" #include "window.h" #include "m4a.h" @@ -22,38 +23,14 @@ #include "reshow_battle_screen.h" #include "pokeball.h" #include "data2.h" +#include "item_use.h" -extern u32 gBattleExecBuffer; -extern u8 gActiveBank; -extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT]; -extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT]; -extern u8 gNoOfAllBanks; -extern bool8 gDoingBattleAnim; -extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void); -extern void (*gPreBattleCallback1)(void); -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; -extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200]; -extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200]; -extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; extern struct SpriteTemplate gUnknown_0202499C; -extern u16 gScriptItemId; -extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT]; -extern u8 gBattleOutcome; extern u16 gBattle_BG0_X; extern u16 gBattle_BG0_Y; -extern u8 gBankInMenu; -extern u16 gUnknown_020243FC; -extern u8 gUnknown_03005D7C[BATTLE_BANKS_COUNT]; -extern u8 gBattleMonForms[BATTLE_BANKS_COUNT]; -extern u16 gPartnerTrainerId; -extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); -extern u8 gBankTarget; -extern u8 gAbsentBankFlags; -extern u8 gUnknown_020244B4[]; -extern u32 gTransformedPersonalities[BATTLE_BANKS_COUNT]; -extern u8 gBattleCommunication[]; +extern u32 gTransformedPersonalities[MAX_BATTLERS_COUNT]; extern u8 gUnknown_0203C7B4; -extern struct MusicPlayerInfo gMPlay_BGM; +extern struct MusicPlayerInfo gMPlayInfo_BGM; extern struct UnusedControllerStruct gUnknown_02022D0C; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; @@ -62,6 +39,7 @@ extern const struct BattleMove gBattleMoves[]; extern void sub_8172EF0(u8 bank, struct Pokemon *mon); extern void sub_806A068(u16, u8); +extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); // this file's functions static void RecordedPlayerHandleGetMonData(void); @@ -81,7 +59,7 @@ static void RecordedPlayerHandleBallThrowAnim(void); static void RecordedPlayerHandlePause(void); static void RecordedPlayerHandleMoveAnimation(void); static void RecordedPlayerHandlePrintString(void); -static void RecordedPlayerHandlePrintStringPlayerOnly(void); +static void RecordedPlayerHandlePrintSelectionString(void); static void RecordedPlayerHandleChooseAction(void); static void RecordedPlayerHandleUnknownYesNoBox(void); static void RecordedPlayerHandleChooseMove(void); @@ -107,7 +85,7 @@ static void RecordedPlayerHandleCmd39(void); static void RecordedPlayerHandleCmd40(void); static void RecordedPlayerHandleHitAnimation(void); static void RecordedPlayerHandleCmd42(void); -static void RecordedPlayerHandleEffectivenessSound(void); +static void RecordedPlayerHandlePlaySE(void); static void RecordedPlayerHandlePlayFanfareOrBGM(void); static void RecordedPlayerHandleFaintingCry(void); static void RecordedPlayerHandleIntroSlide(void); @@ -152,7 +130,7 @@ static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) RecordedPlayerHandlePause, RecordedPlayerHandleMoveAnimation, RecordedPlayerHandlePrintString, - RecordedPlayerHandlePrintStringPlayerOnly, + RecordedPlayerHandlePrintSelectionString, RecordedPlayerHandleChooseAction, RecordedPlayerHandleUnknownYesNoBox, RecordedPlayerHandleChooseMove, @@ -178,7 +156,7 @@ static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) RecordedPlayerHandleCmd40, RecordedPlayerHandleHitAnimation, RecordedPlayerHandleCmd42, - RecordedPlayerHandleEffectivenessSound, + RecordedPlayerHandlePlaySE, RecordedPlayerHandlePlayFanfareOrBGM, RecordedPlayerHandleFaintingCry, RecordedPlayerHandleIntroSlide, @@ -200,15 +178,15 @@ static void nullsub_120(void) void SetControllerToRecordedPlayer(void) { - gBattleBankFunc[gActiveBank] = RecordedPlayerBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = RecordedPlayerBufferRunCommand; } static void RecordedPlayerBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBank]) + if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) { - if (gBattleBufferA[gActiveBank][0] < ARRAY_COUNT(sRecordedPlayerBufferCommands)) - sRecordedPlayerBufferCommands[gBattleBufferA[gActiveBank][0]](); + if (gBattleBufferA[gActiveBattler][0] < ARRAY_COUNT(sRecordedPlayerBufferCommands)) + sRecordedPlayerBufferCommands[gBattleBufferA[gActiveBattler][0]](); else RecordedPlayerBufferExecCompleted(); } @@ -216,26 +194,26 @@ static void RecordedPlayerBufferRunCommand(void) static void CompleteOnBankSpriteCallbackDummy(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) RecordedPlayerBufferExecCompleted(); } static void sub_81899F0(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { nullsub_25(0); - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); RecordedPlayerBufferExecCompleted(); } } static void sub_8189A58(void) { - if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 == 0xFF) + if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 == 0xFF) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 = 0; RecordedPlayerBufferExecCompleted(); } } @@ -244,53 +222,53 @@ static void sub_8189AA0(void) { bool32 r6 = FALSE; - if (GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON1) + if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_LEFT) { if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) r6 = TRUE; } else { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gHealthBoxesIds[gActiveBank ^ BIT_MON]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy) { r6 = TRUE; } } - if (r6 && gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 - && gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x1) + if (r6 && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 + && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].field_1_x1) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].field_1_x1 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); if (IsDoubleBattle()) - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank ^ BIT_MON]], gActiveBank ^ BIT_MON); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], gActiveBattler ^ BIT_FLANK); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 = 3; - gBattleBankFunc[gActiveBank] = sub_8189A58; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 = 3; + gBattlerControllerFuncs[gActiveBattler] = sub_8189A58; } } else { if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) r6 = TRUE; } else { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gHealthBoxesIds[gActiveBank ^ BIT_MON]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]].callback == SpriteCallbackDummy) { r6 = TRUE; } @@ -301,8 +279,8 @@ static void sub_8189AA0(void) if (r6) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 = 3; - gBattleBankFunc[gActiveBank] = sub_8189A58; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 = 3; + gBattlerControllerFuncs[gActiveBattler] = sub_8189A58; } } } @@ -311,118 +289,118 @@ static void sub_8189D40(void) { bool32 r10 = FALSE; - if (GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON1) + if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_LEFT) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) { - sub_8172EF0(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]); + sub_8172EF0(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); } - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80 + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) { - sub_8172EF0(gActiveBank ^ BIT_MON, &gPlayerParty[gBattlePartyID[gActiveBank ^ BIT_MON]]); + sub_8172EF0(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]); } } - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x80) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank ^ BIT_MON], &gPlayerParty[gBattlePartyID[gActiveBank ^ BIT_MON]], HEALTHBOX_ALL); - sub_8076918(gActiveBank ^ BIT_MON); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank ^ BIT_MON]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler ^ BIT_FLANK); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]); } - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], HEALTHBOX_ALL); - sub_8076918(gActiveBank); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80 = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x80 = 1; } - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x40 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x40 + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x80 + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x40 + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].field_1_x40 && !IsCryPlayingOrClearCrySongs()) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x20) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x20) { if ((gBattleTypeFlags & BATTLE_TYPE_LINK) && (gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - if (GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON1) - m4aMPlayContinue(&gMPlay_BGM); + if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_LEFT) + m4aMPlayContinue(&gMPlayInfo_BGM); } else { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); } } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x20 = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x20 = 1; r10 = TRUE; } - if (r10 && gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (r10 && gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank ^ BIT_MON]]); + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler ^ BIT_FLANK]]); - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]); + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler]]); gBattleSpritesDataPtr->animationData->field_9_x1 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x20 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80 = 0; - gBattleBankFunc[gActiveBank] = sub_8189AA0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x20 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x80 = 0; + gBattlerControllerFuncs[gActiveBattler] = sub_8189AA0; } } static void sub_818A064(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].animEnded && gSprites[gBankSpriteIds[gActiveBank]].pos2.x == 0) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded && gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0) RecordedPlayerBufferExecCompleted(); } static void CompleteOnHealthbarDone(void) { - s16 hpValue = sub_8074AA0(gActiveBank, gHealthBoxesIds[gActiveBank], HEALTH_BAR, 0); + s16 hpValue = sub_8074AA0(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); if (hpValue != -1) { - UpdateHpTextInHealthbox(gHealthBoxesIds[gActiveBank], hpValue, HP_CURRENT); + UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], hpValue, HP_CURRENT); } else { - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); RecordedPlayerBufferExecCompleted(); } } static void sub_818A114(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].pos1.y + gSprites[gBankSpriteIds[gActiveBank]].pos2.y > DISPLAY_HEIGHT) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y > DISPLAY_HEIGHT) { - u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); nullsub_24(species); - FreeOamMatrix(gSprites[gBankSpriteIds[gActiveBank]].oam.matrixNum); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + FreeOamMatrix(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.matrixNum); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); RecordedPlayerBufferExecCompleted(); } } static void sub_818A1B0(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); RecordedPlayerBufferExecCompleted(); } } @@ -435,39 +413,39 @@ static void CompleteOnInactiveTextPrinter(void) static void DoHitAnimBlinkSpriteEffect(void) { - u8 spriteId = gBankSpriteIds[gActiveBank]; + u8 spriteId = gBattlerSpriteIds[gActiveBattler]; - if (gSprites[spriteId].data1 == 32) + if (gSprites[spriteId].data[1] == 32) { - gSprites[spriteId].data1 = 0; + gSprites[spriteId].data[1] = 0; gSprites[spriteId].invisible = 0; gDoingBattleAnim = FALSE; RecordedPlayerBufferExecCompleted(); } else { - if ((gSprites[spriteId].data1 % 4) == 0) + if ((gSprites[spriteId].data[1] % 4) == 0) gSprites[spriteId].invisible ^= 1; - gSprites[spriteId].data1++; + gSprites[spriteId].data[1]++; } } static void sub_818A2B4(void) { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { - CopyBattleSpriteInvisibility(gActiveBank); - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE); + CopyBattleSpriteInvisibility(gActiveBattler); + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); - gBattleBankFunc[gActiveBank] = sub_818A328; + gBattlerControllerFuncs[gActiveBattler] = sub_818A328; } } static void sub_818A328(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive - && gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive + && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { RecordedPlayerBufferExecCompleted(); } @@ -475,66 +453,66 @@ static void sub_818A328(void) static void sub_818A37C(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); CreateTask(c3_0802FDF4, 10); - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 0); - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], HEALTHBOX_ALL); - sub_8076918(gActiveBank); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); - gBattleBankFunc[gActiveBank] = sub_818A2B4; + gBattlerControllerFuncs[gActiveBattler] = sub_818A2B4; } } static void sub_818A470(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) { - sub_8172EF0(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]); + sub_8172EF0(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); } - if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8) + if (gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) { - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]); - gBattleBankFunc[gActiveBank] = sub_818A37C; + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler]]); + gBattlerControllerFuncs[gActiveBattler] = sub_818A37C; } } static void RecordedPlayerBufferExecCompleted(void) { - gBattleBankFunc[gActiveBank] = RecordedPlayerBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = RecordedPlayerBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleBufferA[gActiveBank][0] = CONTROLLER_TERMINATOR_NOP; + gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else { - gBattleExecBuffer &= ~gBitTable[gActiveBank]; + gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; } } static void CompleteOnFinishedStatusAnimation(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].statusAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive) RecordedPlayerBufferExecCompleted(); } static void CompleteOnFinishedBattleAnimation(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animFromTableActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive) RecordedPlayerBufferExecCompleted(); } @@ -545,13 +523,13 @@ static void RecordedPlayerHandleGetMonData(void) u8 monToCheck; s32 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - size += CopyRecordedPlayerMonData(gBattlePartyID[gActiveBank], monData); + size += CopyRecordedPlayerMonData(gBattlerPartyIndexes[gActiveBattler], monData); } else { - monToCheck = gBattleBufferA[gActiveBank][2]; + monToCheck = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (monToCheck & 1) @@ -559,7 +537,7 @@ static void RecordedPlayerHandleGetMonData(void) monToCheck >>= 1; } } - EmitDataTransfer(1, size, monData); + BtlController_EmitDataTransfer(1, size, monData); RecordedPlayerBufferExecCompleted(); } @@ -573,7 +551,7 @@ static u32 CopyRecordedPlayerMonData(u8 monId, u8 *dst) u32 data32; s32 size = 0; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case REQUEST_ALL_BATTLE: battleMon.species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); @@ -639,7 +617,7 @@ static u32 CopyRecordedPlayerMonData(u8 monId, u8 *dst) case REQUEST_MOVE2_BATTLE: case REQUEST_MOVE3_BATTLE: case REQUEST_MOVE4_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - REQUEST_MOVE1_BATTLE); + data16 = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE); dst[0] = data16; dst[1] = data16 >> 8; size = 2; @@ -654,7 +632,7 @@ static u32 CopyRecordedPlayerMonData(u8 monId, u8 *dst) case REQUEST_PPMOVE2_BATTLE: case REQUEST_PPMOVE3_BATTLE: case REQUEST_PPMOVE4_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - REQUEST_PPMOVE1_BATTLE); + dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE); size = 1; break; case REQUEST_OTID_BATTLE: @@ -879,13 +857,13 @@ static void RecordedPlayerHandleSetMonData(void) u8 monToCheck; u8 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - SetRecordedPlayerMonData(gBattlePartyID[gActiveBank]); + SetRecordedPlayerMonData(gBattlerPartyIndexes[gActiveBattler]); } else { - monToCheck = gBattleBufferA[gActiveBank][2]; + monToCheck = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (monToCheck & 1) @@ -898,11 +876,11 @@ static void RecordedPlayerHandleSetMonData(void) static void SetRecordedPlayerMonData(u8 monId) { - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBank][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBank][3]; + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBattler][3]; + struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBattler][3]; s32 i; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case REQUEST_ALL_BATTLE: { @@ -943,10 +921,10 @@ static void SetRecordedPlayerMonData(u8 monId) } break; case REQUEST_SPECIES_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HELDITEM_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MOVES_PP_BATTLE: for (i = 0; i < 4; i++) @@ -960,167 +938,167 @@ static void SetRecordedPlayerMonData(u8 monId) case REQUEST_MOVE2_BATTLE: case REQUEST_MOVE3_BATTLE: case REQUEST_MOVE4_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - REQUEST_MOVE1_BATTLE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_PP_DATA_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PP1, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP2, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP3, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP4, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBank][7]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP1, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP2, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP3, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP4, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBattler][7]); break; case REQUEST_PPMOVE1_BATTLE: case REQUEST_PPMOVE2_BATTLE: case REQUEST_PPMOVE3_BATTLE: case REQUEST_PPMOVE4_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - REQUEST_PPMOVE1_BATTLE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_OTID_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_OT_ID, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_OT_ID, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_EXP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HP_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_HP_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_FRIENDSHIP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_POKERUS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_POKERUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_POKERUS, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_LOCATION_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_LEVEL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_GAME_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_POKEBALL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ALL_IVS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); + SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][7]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][8]); break; case REQUEST_HP_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_PERSONALITY_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CHECKSUM_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_STATUS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_STATUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_STATUS, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_LEVEL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_HP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MAX_HP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_ATK, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_DEF, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPEED, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPATK, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_COOL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_COOL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_COOL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_BEAUTY_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CUTE_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CUTE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_CUTE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SMART_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SMART, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SMART, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_TOUGH_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SHEEN_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SHEEN, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SHEEN, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_COOL_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_BEAUTY_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CUTE_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SMART_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_TOUGH_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; } - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); } static void RecordedPlayerHandleSetRawMonData(void) { - u8 *dst = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; + u8 *dst = (u8 *)&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1]; u8 i; - for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) - dst[i] = gBattleBufferA[gActiveBank][3 + i]; + for (i = 0; i < gBattleBufferA[gActiveBattler][2]; i++) + dst[i] = gBattleBufferA[gActiveBattler][3 + i]; RecordedPlayerBufferExecCompleted(); } @@ -1129,28 +1107,28 @@ static void RecordedPlayerHandleLoadMonSprite(void) { u16 species; - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); - sub_806A068(species, GetBankIdentity(gActiveBank)); + BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); + sub_806A068(species, GetBattlerPosition(gActiveBattler)); - gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, - sub_80A5C6C(gActiveBank, 2), - sub_80A6138(gActiveBank), - sub_80A82E4(gActiveBank)); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; - gSprites[gBankSpriteIds[gActiveBank]].data0 = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]); - gBattleBankFunc[gActiveBank] = sub_818A064; + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, + GetBattlerSpriteCoord(gActiveBattler, 2), + GetBattlerSpriteDefault_Y(gActiveBattler), + sub_80A82E4(gActiveBattler)); + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); + gBattlerControllerFuncs[gActiveBattler] = sub_818A064; } static void RecordedPlayerHandleSwitchInAnim(void) { - ClearTemporarySpeciesSpriteData(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattlePartyID[gActiveBank] = gBattleBufferA[gActiveBank][1]; - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - sub_818BA6C(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattleBankFunc[gActiveBank] = sub_818A470; + ClearTemporarySpeciesSpriteData(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; + BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + sub_818BA6C(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattlerControllerFuncs[gActiveBattler] = sub_818A470; } static void sub_818BA6C(u8 bank, bool8 dontClearSubstituteBit) @@ -1158,64 +1136,64 @@ static void sub_818BA6C(u8 bank, bool8 dontClearSubstituteBit) u16 species; ClearTemporarySpeciesSpriteData(bank, dontClearSubstituteBit); - gBattlePartyID[bank] = gBattleBufferA[bank][1]; - species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES); + gBattlerPartyIndexes[bank] = gBattleBufferA[bank][1]; + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714); - sub_806A068(species, GetBankIdentity(bank)); + sub_806A068(species, GetBattlerPosition(bank)); - gBankSpriteIds[bank] = CreateSprite( + gBattlerSpriteIds[bank] = CreateSprite( &gUnknown_0202499C, - sub_80A5C6C(bank, 2), - sub_80A6138(bank), + GetBattlerSpriteCoord(bank, 2), + GetBattlerSpriteDefault_Y(bank), sub_80A82E4(bank)); - gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank]; - gSprites[gUnknown_03005D7C[bank]].data2 = bank; + gSprites[gUnknown_03005D7C[bank]].data[1] = gBattlerSpriteIds[bank]; + gSprites[gUnknown_03005D7C[bank]].data[2] = bank; - gSprites[gBankSpriteIds[bank]].data0 = bank; - gSprites[gBankSpriteIds[bank]].data2 = species; - gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; + gSprites[gBattlerSpriteIds[bank]].data[0] = bank; + gSprites[gBattlerSpriteIds[bank]].data[2] = species; + gSprites[gBattlerSpriteIds[bank]].oam.paletteNum = bank; - StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[bank]], gBattleMonForms[bank]); - gSprites[gBankSpriteIds[bank]].invisible = TRUE; - gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[bank]].invisible = TRUE; + gSprites[gBattlerSpriteIds[bank]].callback = SpriteCallbackDummy; - gSprites[gUnknown_03005D7C[bank]].data0 = sub_80753E8(0, 0xFF); + gSprites[gUnknown_03005D7C[bank]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); } static void RecordedPlayerHandleReturnMonToBall(void) { - if (gBattleBufferA[gActiveBank][1] == 0) + if (gBattleBufferA[gActiveBattler][1] == 0) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - gBattleBankFunc[gActiveBank] = DoSwitchOutAnimation; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + gBattlerControllerFuncs[gActiveBattler] = DoSwitchOutAnimation; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); RecordedPlayerBufferExecCompleted(); } } static void DoSwitchOutAnimation(void) { - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState) + switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) { case 0: - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; break; case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_PLAYER_MON); - gBattleBankFunc[gActiveBank] = sub_818A1B0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SWITCH_OUT_PLAYER_MON); + gBattlerControllerFuncs[gActiveBattler] = sub_818A1B0; } break; } @@ -1229,7 +1207,7 @@ static void RecordedPlayerHandleDrawTrainerPic(void) if (gBattleTypeFlags & BATTLE_TYPE_x2000000) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI) - trainerPicId = sub_8185F40(); + trainerPicId = GetActiveBattlerLinkPlayerGender(); else trainerPicId = gLinkPlayers[gUnknown_0203C7B4].gender; } @@ -1240,7 +1218,7 @@ static void RecordedPlayerHandleDrawTrainerPic(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if ((GetBankIdentity(gActiveBank) & BIT_MON) != 0) // second mon + if ((GetBattlerPosition(gActiveBattler) & BIT_FLANK) != 0) // second mon xPos = 90; else // first mon xPos = 32; @@ -1265,31 +1243,31 @@ static void RecordedPlayerHandleDrawTrainerPic(void) if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) { trainerPicId = PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender); - DecompressTrainerFrontPic(trainerPicId, gActiveBank); - sub_806A1C0(trainerPicId, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBank)); + DecompressTrainerFrontPic(trainerPicId, gActiveBattler); + sub_806A1C0(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBattler)); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240; - gSprites[gBankSpriteIds[gActiveBank]].pos2.y = 48; - gSprites[gBankSpriteIds[gActiveBank]].data0 = -2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC; - gSprites[gBankSpriteIds[gActiveBank]].oam.affineMode = 0; - gSprites[gBankSpriteIds[gActiveBank]].hFlip = 1; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y = 48; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = 0; + gSprites[gBattlerSpriteIds[gActiveBattler]].hFlip = 1; } else { - DecompressTrainerBackPic(trainerPicId, gActiveBank); - sub_806A12C(trainerPicId, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBank)); + DecompressTrainerBackPic(trainerPicId, gActiveBattler); + sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBattler)); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240; - gSprites[gBankSpriteIds[gActiveBank]].data0 = -2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; } - gBattleBankFunc[gActiveBank] = CompleteOnBankSpriteCallbackDummy; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy; } static void RecordedPlayerHandleTrainerSlide(void) @@ -1299,34 +1277,34 @@ static void RecordedPlayerHandleTrainerSlide(void) static void RecordedPlayerHandleTrainerSlideBack(void) { - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data0 = 35; - gSprites[gBankSpriteIds[gActiveBank]].data2 = -40; - gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC; - StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy); - gBattleBankFunc[gActiveBank] = sub_81899F0; + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; + StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); + gBattlerControllerFuncs[gActiveBattler] = sub_81899F0; } static void RecordedPlayerHandleFaintAnimation(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState == 0) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState == 0) { - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState++; + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState++; } else { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); PlaySE12WithPanning(SE_POKE_DEAD, -64); - gSprites[gBankSpriteIds[gActiveBank]].data1 = 0; - gSprites[gBankSpriteIds[gActiveBank]].data2 = 5; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8039C00; - gBattleBankFunc[gActiveBank] = sub_818A114; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 5; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_8039C00; + gBattlerControllerFuncs[gActiveBattler] = sub_818A114; } } } @@ -1353,51 +1331,51 @@ static void RecordedPlayerHandlePause(void) static void RecordedPlayerHandleMoveAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u16 move = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); + u16 move = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); - gAnimMoveTurn = gBattleBufferA[gActiveBank][3]; - gAnimMovePower = gBattleBufferA[gActiveBank][4] | (gBattleBufferA[gActiveBank][5] << 8); - gAnimMoveDmg = gBattleBufferA[gActiveBank][6] | (gBattleBufferA[gActiveBank][7] << 8) | (gBattleBufferA[gActiveBank][8] << 16) | (gBattleBufferA[gActiveBank][9] << 24); - gAnimFriendship = gBattleBufferA[gActiveBank][10]; - gWeatherMoveAnim = gBattleBufferA[gActiveBank][12] | (gBattleBufferA[gActiveBank][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBank][16]; - gTransformedPersonalities[gActiveBank] = gAnimDisableStructPtr->transformedMonPersonality; + gAnimMoveTurn = gBattleBufferA[gActiveBattler][3]; + gAnimMovePower = gBattleBufferA[gActiveBattler][4] | (gBattleBufferA[gActiveBattler][5] << 8); + gAnimMoveDmg = gBattleBufferA[gActiveBattler][6] | (gBattleBufferA[gActiveBattler][7] << 8) | (gBattleBufferA[gActiveBattler][8] << 16) | (gBattleBufferA[gActiveBattler][9] << 24); + gAnimFriendship = gBattleBufferA[gActiveBattler][10]; + gWeatherMoveAnim = gBattleBufferA[gActiveBattler][12] | (gBattleBufferA[gActiveBattler][13] << 8); + gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; + gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; if (IsMoveWithoutAnimation(move, gAnimMoveTurn)) // always returns FALSE { RecordedPlayerBufferExecCompleted(); } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - gBattleBankFunc[gActiveBank] = RecordedPlayerDoMoveAnimation; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + gBattlerControllerFuncs[gActiveBattler] = RecordedPlayerDoMoveAnimation; } } } static void RecordedPlayerDoMoveAnimation(void) { - u16 move = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); - u8 multihit = gBattleBufferA[gActiveBank][11]; + u16 move = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); + u8 multihit = gBattleBufferA[gActiveBattler][11]; - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState) + switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) { case 0: - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute - && !gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8) + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute + && !gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8) { - gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 1; - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); + gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 1; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; break; case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { sub_805EB9C(0); DoMoveAnim(move); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 2; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; } break; case 2: @@ -1405,20 +1383,20 @@ static void RecordedPlayerDoMoveAnimation(void) if (!gAnimScriptActive) { sub_805EB9C(1); - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute && multihit < 2) + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) { - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE); - gBattleSpritesDataPtr->bankData[gActiveBank].flag_x8 = 0; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); + gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 0; } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 3; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 3; } break; case 3: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - sub_805E394(); - TrySetBehindSubstituteSpriteBit(gActiveBank, gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; + CopyAllBattleSpritesInvisibilities(); + TrySetBehindSubstituteSpriteBit(gActiveBattler, gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; RecordedPlayerBufferExecCompleted(); } break; @@ -1431,22 +1409,22 @@ static void RecordedPlayerHandlePrintString(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - stringId = (u16*)(&gBattleBufferA[gActiveBank][2]); + stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); - gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; } -static void RecordedPlayerHandlePrintStringPlayerOnly(void) +static void RecordedPlayerHandlePrintSelectionString(void) { RecordedPlayerBufferExecCompleted(); } static void ChooseActionInBattlePalace(void) { - if (gBattleCommunication[4] >= gNoOfAllBanks / 2) + if (gBattleCommunication[4] >= gBattlersCount / 2) { - EmitTwoReturnValues(1, RecordedBattle_ReadBankAction(gActiveBank), 0); + BtlController_EmitTwoReturnValues(1, RecordedBattle_GetBattlerAction(gActiveBattler), 0); RecordedPlayerBufferExecCompleted(); } } @@ -1455,11 +1433,11 @@ static void RecordedPlayerHandleChooseAction(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gBattleBankFunc[gActiveBank] = ChooseActionInBattlePalace; + gBattlerControllerFuncs[gActiveBattler] = ChooseActionInBattlePalace; } else { - EmitTwoReturnValues(1, RecordedBattle_ReadBankAction(gActiveBank), 0); + BtlController_EmitTwoReturnValues(1, RecordedBattle_GetBattlerAction(gActiveBattler), 0); RecordedPlayerBufferExecCompleted(); } } @@ -1473,13 +1451,13 @@ static void RecordedPlayerHandleChooseMove(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - EmitTwoReturnValues(1, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(1, 10, ChooseMoveAndTargetInBattlePalace()); } else { - u8 moveId = RecordedBattle_ReadBankAction(gActiveBank); - u8 target = RecordedBattle_ReadBankAction(gActiveBank); - EmitTwoReturnValues(1, 10, moveId | (target << 8)); + u8 moveId = RecordedBattle_GetBattlerAction(gActiveBattler); + u8 target = RecordedBattle_GetBattlerAction(gActiveBattler); + BtlController_EmitTwoReturnValues(1, 10, moveId | (target << 8)); } RecordedPlayerBufferExecCompleted(); @@ -1492,8 +1470,8 @@ static void RecordedPlayerHandleChooseItem(void) static void RecordedPlayerHandleChoosePokemon(void) { - *(gBattleStruct->field_5C + gActiveBank) = RecordedBattle_ReadBankAction(gActiveBank); - EmitChosenMonReturnValue(1, *(gBattleStruct->field_5C + gActiveBank), NULL); + *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = RecordedBattle_GetBattlerAction(gActiveBattler); + BtlController_EmitChosenMonReturnValue(1, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); RecordedPlayerBufferExecCompleted(); } @@ -1507,24 +1485,24 @@ static void RecordedPlayerHandleHealthBarUpdate(void) s16 hpVal; LoadBattleBarGfx(0); - hpVal = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + hpVal = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); if (hpVal != INSTANT_HP_BAR_DROP) { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); - u32 curHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); + u32 curHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - SetBattleBarStruct(gActiveBank, gHealthBoxesIds[gActiveBank], maxHP, curHP, hpVal); + SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, curHP, hpVal); } else { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - SetBattleBarStruct(gActiveBank, gHealthBoxesIds[gActiveBank], maxHP, 0, hpVal); - UpdateHpTextInHealthbox(gHealthBoxesIds[gActiveBank], 0, HP_CURRENT); + SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, 0, hpVal); + UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], 0, HP_CURRENT); } - gBattleBankFunc[gActiveBank] = CompleteOnHealthbarDone; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; } static void RecordedPlayerHandleExpUpdate(void) @@ -1534,24 +1512,24 @@ static void RecordedPlayerHandleExpUpdate(void) static void RecordedPlayerHandleStatusIconUpdate(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { u8 bank; - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], HEALTHBOX_STATUS_ICON); - bank = gActiveBank; + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); + bank = gActiveBattler; gBattleSpritesDataPtr->healthBoxesData[bank].statusAnimActive = 0; - gBattleBankFunc[gActiveBank] = CompleteOnFinishedStatusAnimation; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } static void RecordedPlayerHandleStatusAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - DoStatusAnimation(gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8) | (gBattleBufferA[gActiveBank][4] << 16) | (gBattleBufferA[gActiveBank][5] << 24)); - gBattleBankFunc[gActiveBank] = CompleteOnFinishedStatusAnimation; + InitAndLaunchChosenStatusAnimation(gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8) | (gBattleBufferA[gActiveBattler][4] << 16) | (gBattleBufferA[gActiveBattler][5] << 24)); + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } @@ -1608,7 +1586,7 @@ static void RecordedPlayerHandleCmd37(void) static void RecordedPlayerHandleCmd38(void) { - gUnknown_02022D0C.field_0 = gBattleBufferA[gActiveBank][1]; + gUnknown_02022D0C.field_0 = gBattleBufferA[gActiveBattler][1]; RecordedPlayerBufferExecCompleted(); } @@ -1626,16 +1604,16 @@ static void RecordedPlayerHandleCmd40(void) static void RecordedPlayerHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) { RecordedPlayerBufferExecCompleted(); } else { gDoingBattleAnim = TRUE; - gSprites[gBankSpriteIds[gActiveBank]].data1 = 0; - DoHitAnimHealthboxEffect(gActiveBank); - gBattleBankFunc[gActiveBank] = DoHitAnimBlinkSpriteEffect; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; + DoHitAnimHealthboxEffect(gActiveBattler); + gBattlerControllerFuncs[gActiveBattler] = DoHitAnimBlinkSpriteEffect; } } @@ -1644,29 +1622,29 @@ static void RecordedPlayerHandleCmd42(void) RecordedPlayerBufferExecCompleted(); } -static void RecordedPlayerHandleEffectivenessSound(void) +static void RecordedPlayerHandlePlaySE(void) { s8 pan; - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) pan = PAN_SIDE_PLAYER; else pan = PAN_SIDE_OPPONENT; - PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan); + PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan); RecordedPlayerBufferExecCompleted(); } static void RecordedPlayerHandlePlayFanfareOrBGM(void) { - if (gBattleBufferA[gActiveBank][3]) + if (gBattleBufferA[gActiveBattler][3]) { - BattleMusicStop(); - PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + BattleStopLowHpSound(); + PlayBGM(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); } else { - PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); } RecordedPlayerBufferExecCompleted(); @@ -1674,7 +1652,7 @@ static void RecordedPlayerHandlePlayFanfareOrBGM(void) static void RecordedPlayerHandleFaintingCry(void) { - u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); PlayCry3(species, -25, 5); RecordedPlayerBufferExecCompleted(); @@ -1682,8 +1660,8 @@ static void RecordedPlayerHandleFaintingCry(void) static void RecordedPlayerHandleIntroSlide(void) { - HandleIntroSlide(gBattleBufferA[gActiveBank][1]); - gUnknown_020243FC |= 1; + HandleIntroSlide(gBattleBufferA[gActiveBattler][1]); + gIntroSlideFlags |= 1; RecordedPlayerBufferExecCompleted(); } @@ -1693,35 +1671,35 @@ static void RecordedPlayerHandleIntroTrainerBallThrow(void) u8 taskId; u32 trainerPicId; - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - gSprites[gBankSpriteIds[gActiveBank]].data0 = 50; - gSprites[gBankSpriteIds[gActiveBank]].data2 = -40; - gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC; - gSprites[gBankSpriteIds[gActiveBank]].data5 = gActiveBank; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler; - StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], sub_805CC00); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1); + StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); paletteNum = AllocSpritePalette(0xD6F9); if (gBattleTypeFlags & BATTLE_TYPE_x2000000) - trainerPicId = gLinkPlayers[GetBankMultiplayerId(gActiveBank)].gender; + trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender; else trainerPicId = gSaveBlock2Ptr->playerGender; LoadCompressedPalette(gTrainerBackPicPaletteTable[trainerPicId].data, 0x100 + paletteNum * 16, 32); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = paletteNum; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; taskId = CreateTask(sub_818CC24, 5); - gTasks[taskId].data[0] = gActiveBank; + gTasks[taskId].data[0] = gActiveBattler; - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1) - gTasks[gUnknown_020244B4[gActiveBank]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; gBattleSpritesDataPtr->animationData->field_9_x1 = 1; - gBattleBankFunc[gActiveBank] = nullsub_120; + gBattlerControllerFuncs[gActiveBattler] = nullsub_120; } static void sub_818CC24(u8 taskId) @@ -1732,62 +1710,62 @@ static void sub_818CC24(u8 taskId) } else { - u8 savedActiveBank = gActiveBank; + u8 savedActiveBank = gActiveBattler; - gActiveBank = gTasks[taskId].data[0]; + gActiveBattler = gTasks[taskId].data[0]; if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_818BA6C(gActiveBank, FALSE); + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_818BA6C(gActiveBattler, FALSE); } else { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_818BA6C(gActiveBank, FALSE); - gActiveBank ^= BIT_MON; - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - sub_818BA6C(gActiveBank, FALSE); - gActiveBank ^= BIT_MON; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_818BA6C(gActiveBattler, FALSE); + gActiveBattler ^= BIT_FLANK; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + sub_818BA6C(gActiveBattler, FALSE); + gActiveBattler ^= BIT_FLANK; } - gBattleBankFunc[gActiveBank] = sub_8189D40; - gActiveBank = savedActiveBank; + gBattlerControllerFuncs[gActiveBattler] = sub_8189D40; + gActiveBattler = savedActiveBank; DestroyTask(taskId); } } static void RecordedPlayerHandleDrawPartyStatusSummary(void) { - if (gBattleBufferA[gActiveBank][1] != 0 && GetBankSide(gActiveBank) == SIDE_PLAYER) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { RecordedPlayerBufferExecCompleted(); } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1 = 1; - gUnknown_020244B4[gActiveBank] = CreatePartyStatusSummarySprites(gActiveBank, (struct HpAndStatus *)&gBattleBufferA[gActiveBank][4], gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][2]); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1 = 1; + gBattlerStatusSummaryTaskId[gActiveBattler] = CreatePartyStatusSummarySprites(gActiveBattler, (struct HpAndStatus *)&gBattleBufferA[gActiveBattler][4], gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][2]); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0; - if (gBattleBufferA[gActiveBank][2] != 0) - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5 = 0x5D; + if (gBattleBufferA[gActiveBattler][2] != 0) + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0x5D; - gBattleBankFunc[gActiveBank] = sub_818CDF4; + gBattlerControllerFuncs[gActiveBattler] = sub_818CDF4; } } static void sub_818CDF4(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5++ > 0x5C) + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5++ > 0x5C) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_5 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0; RecordedPlayerBufferExecCompleted(); } } static void RecordedPlayerHandleCmd49(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1) - gTasks[gUnknown_020244B4[gActiveBank]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; RecordedPlayerBufferExecCompleted(); } @@ -1798,25 +1776,25 @@ static void RecordedPlayerHandleCmd50(void) static void RecordedPlayerHandleSpriteInvisibility(void) { - if (IsBankSpritePresent(gActiveBank)) + if (IsBattlerSpritePresent(gActiveBattler)) { - gSprites[gBankSpriteIds[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; - CopyBattleSpriteInvisibility(gActiveBank); + gSprites[gBattlerSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; + CopyBattleSpriteInvisibility(gActiveBattler); } RecordedPlayerBufferExecCompleted(); } static void RecordedPlayerHandleBattleAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u8 animationId = gBattleBufferA[gActiveBank][1]; - u16 argument = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 animationId = gBattleBufferA[gActiveBattler][1]; + u16 argument = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - if (DoBattleAnimationFromTable(gActiveBank, gActiveBank, gActiveBank, animationId, argument)) + if (TryHandleLaunchBattleTableAnimation(gActiveBattler, gActiveBattler, gActiveBattler, animationId, argument)) RecordedPlayerBufferExecCompleted(); else - gBattleBankFunc[gActiveBank] = CompleteOnFinishedBattleAnimation; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation; } } @@ -1832,11 +1810,11 @@ static void RecordedPlayerHandleResetActionMoveSelection(void) static void RecordedPlayerHandleCmd55(void) { - gBattleOutcome = gBattleBufferA[gActiveBank][1]; + gBattleOutcome = gBattleBufferA[gActiveBattler][1]; FadeOutMapMusic(5); BeginFastPaletteFade(3); RecordedPlayerBufferExecCompleted(); - gBattleBankFunc[gActiveBank] = sub_80587B0; + gBattlerControllerFuncs[gActiveBattler] = sub_80587B0; } static void nullsub_121(void) diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 0c5b698cfe..f65d11a848 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -4,11 +4,12 @@ #include "battle_message.h" #include "battle_interface.h" #include "battle_anim.h" +#include "constants/battle_anim.h" #include "pokemon.h" #include "link.h" #include "util.h" #include "main.h" -#include "songs.h" +#include "constants/songs.h" #include "sound.h" #include "window.h" #include "m4a.h" @@ -19,27 +20,13 @@ #include "reshow_battle_screen.h" #include "pokeball.h" #include "data2.h" +#include "pokeblock.h" +#include "item_use.h" -extern u32 gBattleExecBuffer; -extern u8 gActiveBank; -extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT]; -extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT]; -extern u8 gNoOfAllBanks; -extern bool8 gDoingBattleAnim; -extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void); -extern void (*gPreBattleCallback1)(void); -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; -extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200]; -extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200]; -extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; +extern struct BattlePokemon gBattleMons[MAX_BATTLERS_COUNT]; extern struct SpriteTemplate gUnknown_0202499C; -extern u16 gScriptItemId; -extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT]; -extern u8 gBattleOutcome; extern u16 gBattle_BG0_X; extern u16 gBattle_BG0_Y; -extern u8 gBankInMenu; -extern u16 gUnknown_020243FC; extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; @@ -66,7 +53,7 @@ static void SafariHandleBallThrowAnim(void); static void SafariHandlePause(void); static void SafariHandleMoveAnimation(void); static void SafariHandlePrintString(void); -static void SafariHandlePrintStringPlayerOnly(void); +static void SafariHandlePrintSelectionString(void); static void SafariHandleChooseAction(void); static void SafariHandleUnknownYesNoBox(void); static void SafariHandleChooseMove(void); @@ -92,7 +79,7 @@ static void SafariHandleCmd39(void); static void SafariHandleCmd40(void); static void SafariHandleHitAnimation(void); static void SafariHandleCmd42(void); -static void SafariHandleEffectivenessSound(void); +static void SafariHandlePlaySE(void); static void SafariHandlePlayFanfareOrBGM(void); static void SafariHandleFaintingCry(void); static void SafariHandleIntroSlide(void); @@ -130,7 +117,7 @@ static void (*const sSafariBufferCommands[CONTROLLER_CMDS_COUNT])(void) = SafariHandlePause, SafariHandleMoveAnimation, SafariHandlePrintString, - SafariHandlePrintStringPlayerOnly, + SafariHandlePrintSelectionString, SafariHandleChooseAction, SafariHandleUnknownYesNoBox, SafariHandleChooseMove, @@ -156,7 +143,7 @@ static void (*const sSafariBufferCommands[CONTROLLER_CMDS_COUNT])(void) = SafariHandleCmd40, SafariHandleHitAnimation, SafariHandleCmd42, - SafariHandleEffectivenessSound, + SafariHandlePlaySE, SafariHandlePlayFanfareOrBGM, SafariHandleFaintingCry, SafariHandleIntroSlide, @@ -178,15 +165,15 @@ static void nullsub_114(void) void SetControllerToSafari(void) { - gBattleBankFunc[gActiveBank] = SafariBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = SafariBufferRunCommand; } static void SafariBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBank]) + if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) { - if (gBattleBufferA[gActiveBank][0] < ARRAY_COUNT(sSafariBufferCommands)) - sSafariBufferCommands[gBattleBufferA[gActiveBank][0]](); + if (gBattleBufferA[gActiveBattler][0] < ARRAY_COUNT(sSafariBufferCommands)) + sSafariBufferCommands[gBattleBufferA[gActiveBattler][0]](); else SafariBufferExecCompleted(); } @@ -198,68 +185,68 @@ static void HandleInputChooseAction(void) { PlaySE(SE_SELECT); - switch (gActionSelectionCursor[gActiveBank]) + switch (gActionSelectionCursor[gActiveBattler]) { case 0: - EmitTwoReturnValues(1, ACTION_SAFARI_ZONE_BALL, 0); + BtlController_EmitTwoReturnValues(1, B_ACTION_SAFARI_BALL, 0); break; case 1: - EmitTwoReturnValues(1, ACTION_POKEBLOCK_CASE, 0); + BtlController_EmitTwoReturnValues(1, B_ACTION_SAFARI_POKEBLOCK, 0); break; case 2: - EmitTwoReturnValues(1, ACTION_GO_NEAR, 0); + BtlController_EmitTwoReturnValues(1, B_ACTION_SAFARI_GO_NEAR, 0); break; case 3: - EmitTwoReturnValues(1, ACTION_SAFARI_ZONE_RUN, 0); + BtlController_EmitTwoReturnValues(1, B_ACTION_SAFARI_RUN, 0); break; } SafariBufferExecCompleted(); } else if (gMain.newKeys & DPAD_LEFT) { - if (gActionSelectionCursor[gActiveBank] & 1) + if (gActionSelectionCursor[gActiveBattler] & 1) { PlaySE(SE_SELECT); - ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 1; - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBank], 0); + ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 1; + ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); } } else if (gMain.newKeys & DPAD_RIGHT) { - if (!(gActionSelectionCursor[gActiveBank] & 1)) + if (!(gActionSelectionCursor[gActiveBattler] & 1)) { PlaySE(SE_SELECT); - ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 1; - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBank], 0); + ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 1; + ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); } } else if (gMain.newKeys & DPAD_UP) { - if (gActionSelectionCursor[gActiveBank] & 2) + if (gActionSelectionCursor[gActiveBattler] & 2) { PlaySE(SE_SELECT); - ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 2; - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBank], 0); + ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 2; + ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); } } else if (gMain.newKeys & DPAD_DOWN) { - if (!(gActionSelectionCursor[gActiveBank] & 2)) + if (!(gActionSelectionCursor[gActiveBattler] & 2)) { PlaySE(SE_SELECT); - ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 2; - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBank], 0); + ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 2; + ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); } } } static void CompleteOnBankSpriteCallbackDummy(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) SafariBufferExecCompleted(); } @@ -271,7 +258,7 @@ static void CompleteOnInactiveTextPrinter(void) static void CompleteOnHealthboxSpriteCallbackDummy(void) { - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) SafariBufferExecCompleted(); } @@ -287,17 +274,17 @@ static void sub_81595E4(void) static void CompleteOnSpecialAnimDone(void) { - if (!gDoingBattleAnim || !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gDoingBattleAnim || !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) SafariBufferExecCompleted(); } -static void OpenPokeblockCase(void) +static void SafariOpenPokeblockCase(void) { if (!gPaletteFade.active) { - gBattleBankFunc[gActiveBank] = CompleteWhenChosePokeblock; + gBattlerControllerFuncs[gActiveBattler] = CompleteWhenChosePokeblock; FreeAllWindowBuffers(); - sub_81358F4(); + OpenPokeblockCaseInBattle(); } } @@ -305,36 +292,36 @@ static void CompleteWhenChosePokeblock(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - EmitOneReturnValue(1, gScriptItemId); + BtlController_EmitOneReturnValue(1, gSpecialVar_ItemId); SafariBufferExecCompleted(); } } static void CompleteOnFinishedBattleAnimation(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animFromTableActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive) SafariBufferExecCompleted(); } static void SafariBufferExecCompleted(void) { - gBattleBankFunc[gActiveBank] = SafariBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = SafariBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleBufferA[gActiveBank][0] = CONTROLLER_TERMINATOR_NOP; + gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else { - gBattleExecBuffer &= ~gBitTable[gActiveBank]; + gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; } } static void CompleteOnFinishedStatusAnimation(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].statusAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive) SafariBufferExecCompleted(); } @@ -375,18 +362,18 @@ static void SafariHandleReturnMonToBall(void) static void SafariHandleDrawTrainerPic(void) { - DecompressTrainerBackPic(gSaveBlock2Ptr->playerGender, gActiveBank); - sub_806A12C(gSaveBlock2Ptr->playerGender, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + DecompressTrainerBackPic(gSaveBlock2Ptr->playerGender, gActiveBattler); + sub_806A12C(gSaveBlock2Ptr->playerGender, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_0202499C, 80, (8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].coords) * 4 + 80, 30); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240; - gSprites[gBankSpriteIds[gActiveBank]].data0 = -2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC; - gBattleBankFunc[gActiveBank] = CompleteOnBankSpriteCallbackDummy; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy; } static void SafariHandleTrainerSlide(void) @@ -413,18 +400,18 @@ static void SafariHandleSuccessBallThrowAnim(void) { gBattleSpritesDataPtr->animationData->ballThrowCaseId = BALL_3_SHAKES_SUCCESS; gDoingBattleAnim = TRUE; - DoSpecialBattleAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_SAFARI_BALL_THROW); - gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW); + gBattlerControllerFuncs[gActiveBattler] = CompleteOnSpecialAnimDone; } static void SafariHandleBallThrowAnim(void) { - u8 ballThrowCaseId = gBattleBufferA[gActiveBank][1]; + u8 ballThrowCaseId = gBattleBufferA[gActiveBattler][1]; gBattleSpritesDataPtr->animationData->ballThrowCaseId = ballThrowCaseId; gDoingBattleAnim = TRUE; - DoSpecialBattleAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_SAFARI_BALL_THROW); - gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW); + gBattlerControllerFuncs[gActiveBattler] = CompleteOnSpecialAnimDone; } static void SafariHandlePause(void) @@ -443,15 +430,15 @@ static void SafariHandlePrintString(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - stringId = (u16*)(&gBattleBufferA[gActiveBank][2]); + stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); - gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; } -static void SafariHandlePrintStringPlayerOnly(void) +static void SafariHandlePrintSelectionString(void) { - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) SafariHandlePrintString(); else SafariBufferExecCompleted(); @@ -463,7 +450,7 @@ static void HandleChooseActionAfterDma3(void) { gBattle_BG0_X = 0; gBattle_BG0_Y = 160; - gBattleBankFunc[gActiveBank] = HandleInputChooseAction; + gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseAction; } } @@ -471,13 +458,13 @@ static void SafariHandleChooseAction(void) { s32 i; - gBattleBankFunc[gActiveBank] = HandleChooseActionAfterDma3; + gBattlerControllerFuncs[gActiveBattler] = HandleChooseActionAfterDma3; BattleHandleAddTextPrinter(gText_SafariZoneMenu, 2); for (i = 0; i < 4; i++) ActionSelectionDestroyCursorAt(i); - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBank], 0); + ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillPkmnDo2); BattleHandleAddTextPrinter(gDisplayedStringBattle, 1); } @@ -497,8 +484,8 @@ static void SafariHandleChooseItem(void) s32 i; BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); - gBattleBankFunc[gActiveBank] = OpenPokeblockCase; - gBankInMenu = gActiveBank; + gBattlerControllerFuncs[gActiveBattler] = SafariOpenPokeblockCase; + gBattlerInMenuId = gActiveBattler; } static void SafariHandleChoosePokemon(void) @@ -523,7 +510,7 @@ static void SafariHandleExpUpdate(void) static void SafariHandleStatusIconUpdate(void) { - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], HEALTHBOX_SAFARI_BALLS_TEXT); + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_SAFARI_BALLS_TEXT); SafariBufferExecCompleted(); } @@ -607,29 +594,29 @@ static void SafariHandleCmd42(void) SafariBufferExecCompleted(); } -static void SafariHandleEffectivenessSound(void) +static void SafariHandlePlaySE(void) { s8 pan; - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) pan = PAN_SIDE_PLAYER; else pan = PAN_SIDE_OPPONENT; - PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan); + PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan); SafariBufferExecCompleted(); } static void SafariHandlePlayFanfareOrBGM(void) { - if (gBattleBufferA[gActiveBank][3]) + if (gBattleBufferA[gActiveBattler][3]) { - BattleMusicStop(); - PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + BattleStopLowHpSound(); + PlayBGM(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); } else { - PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); } SafariBufferExecCompleted(); @@ -637,7 +624,7 @@ static void SafariHandlePlayFanfareOrBGM(void) static void SafariHandleFaintingCry(void) { - u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); PlayCry1(species, 25); SafariBufferExecCompleted(); @@ -645,17 +632,17 @@ static void SafariHandleFaintingCry(void) static void SafariHandleIntroSlide(void) { - HandleIntroSlide(gBattleBufferA[gActiveBank][1]); - gUnknown_020243FC |= 1; + HandleIntroSlide(gBattleBufferA[gActiveBattler][1]); + gIntroSlideFlags |= 1; SafariBufferExecCompleted(); } static void SafariHandleIntroTrainerBallThrow(void) { - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], HEALTHBOX_SAFARI_ALL_TEXT); - sub_8076918(gActiveBank); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); - gBattleBankFunc[gActiveBank] = CompleteOnHealthboxSpriteCallbackDummy; + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_SAFARI_ALL_TEXT); + sub_8076918(gActiveBattler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); + gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthboxSpriteCallbackDummy; } static void SafariHandleDrawPartyStatusSummary(void) @@ -680,13 +667,13 @@ static void SafariHandleSpriteInvisibility(void) static void SafariHandleBattleAnimation(void) { - u8 animationId = gBattleBufferA[gActiveBank][1]; - u16 argument = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 animationId = gBattleBufferA[gActiveBattler][1]; + u16 argument = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - if (DoBattleAnimationFromTable(gActiveBank, gActiveBank, gActiveBank, animationId, argument)) + if (TryHandleLaunchBattleTableAnimation(gActiveBattler, gActiveBattler, gActiveBattler, animationId, argument)) SafariBufferExecCompleted(); else - gBattleBankFunc[gActiveBank] = CompleteOnFinishedBattleAnimation; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation; } static void SafariHandleLinkStandbyMsg(void) @@ -701,12 +688,12 @@ static void SafariHandleResetActionMoveSelection(void) static void SafariHandleCmd55(void) { - gBattleOutcome = gBattleBufferA[gActiveBank][1]; + gBattleOutcome = gBattleBufferA[gActiveBattler][1]; FadeOutMapMusic(5); BeginFastPaletteFade(3); SafariBufferExecCompleted(); if ((gBattleTypeFlags & BATTLE_TYPE_LINK) && !(gBattleTypeFlags & BATTLE_TYPE_WILD)) - gBattleBankFunc[gActiveBank] = sub_81595E4; + gBattlerControllerFuncs[gActiveBattler] = sub_81595E4; } static void nullsub_115(void) diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index c2addd30c0..ad028b719c 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -4,16 +4,17 @@ #include "battle_message.h" #include "battle_interface.h" #include "battle_anim.h" +#include "constants/battle_anim.h" #include "battle_link_817C95C.h" #include "pokemon.h" #include "link.h" #include "util.h" #include "main.h" #include "item.h" -#include "items.h" -#include "songs.h" +#include "constants/items.h" +#include "constants/songs.h" #include "sound.h" -#include "moves.h" +#include "constants/moves.h" #include "window.h" #include "m4a.h" #include "palette.h" @@ -22,42 +23,18 @@ #include "string_util.h" #include "bg.h" #include "reshow_battle_screen.h" -#include "rng.h" +#include "random.h" #include "pokeball.h" #include "data2.h" #include "party_menu.h" +#include "battle_setup.h" +#include "item_use.h" -extern u32 gBattleExecBuffer; -extern u8 gActiveBank; -extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT]; -extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT]; -extern u8 gMoveSelectionCursor[BATTLE_BANKS_COUNT]; -extern u8 gAbsentBankFlags; -extern u8 gNoOfAllBanks; -extern bool8 gDoingBattleAnim; -extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void); -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; -extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200]; -extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200]; -extern u8 gMultiUsePlayerCursor; -extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; -extern struct MusicPlayerInfo gMPlay_BGM; -extern u16 gPartnerTrainerId; +extern struct MusicPlayerInfo gMPlayInfo_BGM; extern struct SpriteTemplate gUnknown_0202499C; -extern u8 gBattleMonForms[BATTLE_BANKS_COUNT]; -extern u16 gScriptItemId; -extern u8 gUnknown_03005D7C[BATTLE_BANKS_COUNT]; -extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT]; -extern u8 gBattleOutcome; -extern u8 gNumberOfMovesToChoose; extern u16 gBattle_BG0_X; extern u16 gBattle_BG0_Y; extern s32 gUnknown_0203CD70; -extern u8 gBankInMenu; -extern u32 gBattlePalaceMoveSelectionRngValue; -extern u32 gTransformedPersonalities[BATTLE_BANKS_COUNT]; -extern u8 gUnknown_020244B4[]; -extern u16 gUnknown_020243FC; extern struct UnusedControllerStruct gUnknown_02022D0C; extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; @@ -86,7 +63,7 @@ static void WallyHandleBallThrowAnim(void); static void WallyHandlePause(void); static void WallyHandleMoveAnimation(void); static void WallyHandlePrintString(void); -static void WallyHandlePrintStringPlayerOnly(void); +static void WallyHandlePrintSelectionString(void); static void WallyHandleChooseAction(void); static void WallyHandleUnknownYesNoBox(void); static void WallyHandleChooseMove(void); @@ -112,7 +89,7 @@ static void WallyHandleCmd39(void); static void WallyHandleCmd40(void); static void WallyHandleHitAnimation(void); static void WallyHandleCmd42(void); -static void WallyHandleEffectivenessSound(void); +static void WallyHandlePlaySE(void); static void WallyHandlePlayFanfareOrBGM(void); static void WallyHandleFaintingCry(void); static void WallyHandleIntroSlide(void); @@ -155,7 +132,7 @@ static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) = WallyHandlePause, WallyHandleMoveAnimation, WallyHandlePrintString, - WallyHandlePrintStringPlayerOnly, + WallyHandlePrintSelectionString, WallyHandleChooseAction, WallyHandleUnknownYesNoBox, WallyHandleChooseMove, @@ -181,7 +158,7 @@ static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) = WallyHandleCmd40, WallyHandleHitAnimation, WallyHandleCmd42, - WallyHandleEffectivenessSound, + WallyHandlePlaySE, WallyHandlePlayFanfareOrBGM, WallyHandleFaintingCry, WallyHandleIntroSlide, @@ -203,7 +180,7 @@ static void nullsub_117(void) void SetControllerToWally(void) { - gBattleBankFunc[gActiveBank] = WallyBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = WallyBufferRunCommand; gBattleStruct->wallyBattleState = 0; gBattleStruct->wallyMovesState = 0; gBattleStruct->wallyWaitFrames = 0; @@ -212,10 +189,10 @@ void SetControllerToWally(void) static void WallyBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBank]) + if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) { - if (gBattleBufferA[gActiveBank][0] < ARRAY_COUNT(sWallyBufferCommands)) - sWallyBufferCommands[gBattleBufferA[gActiveBank][0]](); + if (gBattleBufferA[gActiveBattler][0] < ARRAY_COUNT(sWallyBufferCommands)) + sWallyBufferCommands[gBattleBufferA[gActiveBattler][0]](); else WallyBufferExecCompleted(); } @@ -232,7 +209,7 @@ static void WallyHandleActions(void) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - EmitTwoReturnValues(1, ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(1, B_ACTION_USE_MOVE, 0); WallyBufferExecCompleted(); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -243,7 +220,7 @@ static void WallyHandleActions(void) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - EmitTwoReturnValues(1, ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(1, B_ACTION_USE_MOVE, 0); WallyBufferExecCompleted(); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -253,7 +230,7 @@ static void WallyHandleActions(void) case 3: if (--gBattleStruct->wallyWaitFrames == 0) { - EmitTwoReturnValues(1, 9, 0); + BtlController_EmitTwoReturnValues(1, 9, 0); WallyBufferExecCompleted(); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -274,7 +251,7 @@ static void WallyHandleActions(void) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - EmitTwoReturnValues(1, ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(1, B_ACTION_USE_ITEM, 0); WallyBufferExecCompleted(); } break; @@ -283,7 +260,7 @@ static void WallyHandleActions(void) static void CompleteOnBankSpriteCallbackDummy(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) WallyBufferExecCompleted(); } @@ -303,7 +280,7 @@ static void OpenBagAfterPaletteFade(void) { if (!gPaletteFade.active) { - gBattleBankFunc[gActiveBank] = CompleteOnChosenItem; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnChosenItem; nullsub_35(); FreeAllWindowBuffers(); DoWallyTutorialBagMenu(); @@ -314,37 +291,37 @@ static void CompleteOnChosenItem(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - EmitOneReturnValue(1, gScriptItemId); + BtlController_EmitOneReturnValue(1, gSpecialVar_ItemId); WallyBufferExecCompleted(); } } static void sub_816864C(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8) - sub_8172EF0(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]); - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8) - sub_8172EF0(gActiveBank ^ BIT_MON, &gPlayerParty[gBattlePartyID[gActiveBank ^ BIT_MON]]); + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) + sub_8172EF0(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) + sub_8172EF0(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]); - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8 - && gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive + && gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank ^ BIT_MON]]); - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank ^ BIT_MON], &gPlayerParty[gBattlePartyID[gActiveBank ^ BIT_MON]], HEALTHBOX_ALL); - sub_8076918(gActiveBank ^ BIT_MON); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank ^ BIT_MON]); + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler ^ BIT_FLANK]]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler ^ BIT_FLANK); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler ^ BIT_FLANK]); } - DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]); - UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], HEALTHBOX_ALL); - sub_8076918(gActiveBank); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); + DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBattler]]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); + sub_8076918(gActiveBattler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); gBattleSpritesDataPtr->animationData->field_9_x1 = 0; - gBattleBankFunc[gActiveBank] = sub_8168818; + gBattlerControllerFuncs[gActiveBattler] = sub_8168818; } } @@ -353,23 +330,23 @@ static void sub_8168818(void) { bool32 r4 = FALSE; - if (gSprites[gHealthBoxesIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) r4 = TRUE; - if (r4 && gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 - && gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x1) + if (r4 && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 + && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].field_1_x1) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 = 0; - gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80 = 0; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].field_1_x1 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); CreateTask(c3_0802FDF4, 10); - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); WallyBufferExecCompleted(); } @@ -377,82 +354,82 @@ static void sub_8168818(void) static void CompleteOnHealthbarDone(void) { - s16 hpValue = sub_8074AA0(gActiveBank, gHealthBoxesIds[gActiveBank], HEALTH_BAR, 0); + s16 hpValue = sub_8074AA0(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); - SetHealthboxSpriteVisible(gHealthBoxesIds[gActiveBank]); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); if (hpValue != -1) { - UpdateHpTextInHealthbox(gHealthBoxesIds[gActiveBank], hpValue, HP_CURRENT); + UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], hpValue, HP_CURRENT); } else { - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); WallyBufferExecCompleted(); } } static void DoHitAnimBlinkSpriteEffect(void) { - u8 spriteId = gBankSpriteIds[gActiveBank]; + u8 spriteId = gBattlerSpriteIds[gActiveBattler]; - if (gSprites[spriteId].data1 == 32) + if (gSprites[spriteId].data[1] == 32) { - gSprites[spriteId].data1 = 0; + gSprites[spriteId].data[1] = 0; gSprites[spriteId].invisible = 0; gDoingBattleAnim = FALSE; WallyBufferExecCompleted(); } else { - if ((gSprites[spriteId].data1 % 4) == 0) + if ((gSprites[spriteId].data[1] % 4) == 0) gSprites[spriteId].invisible ^= 1; - gSprites[spriteId].data1++; + gSprites[spriteId].data[1]++; } } static void sub_8168A20(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); WallyBufferExecCompleted(); } } static void CompleteOnBankSpriteCallbackDummy2(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) WallyBufferExecCompleted(); } static void CompleteOnFinishedBattleAnimation(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animFromTableActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive) WallyBufferExecCompleted(); } static void WallyBufferExecCompleted(void) { - gBattleBankFunc[gActiveBank] = WallyBufferRunCommand; + gBattlerControllerFuncs[gActiveBattler] = WallyBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleBufferA[gActiveBank][0] = CONTROLLER_TERMINATOR_NOP; + gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else { - gBattleExecBuffer &= ~gBitTable[gActiveBank]; + gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; } } static void CompleteOnFinishedStatusAnimation(void) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].statusAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive) WallyBufferExecCompleted(); } @@ -463,13 +440,13 @@ static void WallyHandleGetMonData(void) u8 monToCheck; s32 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - size += CopyWallyMonData(gBattlePartyID[gActiveBank], monData); + size += CopyWallyMonData(gBattlerPartyIndexes[gActiveBattler], monData); } else { - monToCheck = gBattleBufferA[gActiveBank][2]; + monToCheck = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (monToCheck & 1) @@ -477,7 +454,7 @@ static void WallyHandleGetMonData(void) monToCheck >>= 1; } } - EmitDataTransfer(1, size, monData); + BtlController_EmitDataTransfer(1, size, monData); WallyBufferExecCompleted(); } @@ -491,7 +468,7 @@ static u32 CopyWallyMonData(u8 monId, u8 *dst) u32 data32; s32 size = 0; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case REQUEST_ALL_BATTLE: battleMon.species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); @@ -557,7 +534,7 @@ static u32 CopyWallyMonData(u8 monId, u8 *dst) case REQUEST_MOVE2_BATTLE: case REQUEST_MOVE3_BATTLE: case REQUEST_MOVE4_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - REQUEST_MOVE1_BATTLE); + data16 = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE); dst[0] = data16; dst[1] = data16 >> 8; size = 2; @@ -572,7 +549,7 @@ static u32 CopyWallyMonData(u8 monId, u8 *dst) case REQUEST_PPMOVE2_BATTLE: case REQUEST_PPMOVE3_BATTLE: case REQUEST_PPMOVE4_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - REQUEST_PPMOVE1_BATTLE); + dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE); size = 1; break; case REQUEST_OTID_BATTLE: @@ -797,13 +774,13 @@ static void WallyHandleSetMonData(void) u8 monToCheck; u8 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - SetWallyMonData(gBattlePartyID[gActiveBank]); + SetWallyMonData(gBattlerPartyIndexes[gActiveBattler]); } else { - monToCheck = gBattleBufferA[gActiveBank][2]; + monToCheck = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (monToCheck & 1) @@ -816,11 +793,11 @@ static void WallyHandleSetMonData(void) static void SetWallyMonData(u8 monId) { - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBank][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBank][3]; + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBattler][3]; + struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBattler][3]; s32 i; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case REQUEST_ALL_BATTLE: { @@ -861,10 +838,10 @@ static void SetWallyMonData(u8 monId) } break; case REQUEST_SPECIES_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HELDITEM_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MOVES_PP_BATTLE: for (i = 0; i < 4; i++) @@ -878,158 +855,158 @@ static void SetWallyMonData(u8 monId) case REQUEST_MOVE2_BATTLE: case REQUEST_MOVE3_BATTLE: case REQUEST_MOVE4_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - REQUEST_MOVE1_BATTLE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_PP_DATA_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PP1, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP2, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP3, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP4, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBank][7]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP1, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP2, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP3, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP4, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBattler][7]); break; case REQUEST_PPMOVE1_BATTLE: case REQUEST_PPMOVE2_BATTLE: case REQUEST_PPMOVE3_BATTLE: case REQUEST_PPMOVE4_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - REQUEST_PPMOVE1_BATTLE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_OTID_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_OT_ID, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_OT_ID, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_EXP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HP_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_HP_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_FRIENDSHIP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_POKERUS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_POKERUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_POKERUS, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_LOCATION_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_LEVEL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MET_GAME_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_POKEBALL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ALL_IVS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); + SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][7]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][8]); break; case REQUEST_HP_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_PERSONALITY_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CHECKSUM_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_STATUS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_STATUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_STATUS, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_LEVEL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_HP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_HP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_MAX_HP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_ATK_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_ATK, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_DEF_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_DEF, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPEED_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPEED, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPATK_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPATK, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SPDEF_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_COOL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_COOL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_COOL, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_BEAUTY_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CUTE_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CUTE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_CUTE, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SMART_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SMART, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SMART, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_TOUGH_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SHEEN_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SHEEN, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SHEEN, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_COOL_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_BEAUTY_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_CUTE_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_SMART_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case REQUEST_TOUGH_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; } - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); } static void WallyHandleSetRawMonData(void) @@ -1049,48 +1026,48 @@ static void WallyHandleSwitchInAnim(void) static void WallyHandleReturnMonToBall(void) { - if (gBattleBufferA[gActiveBank][1] == 0) + if (gBattleBufferA[gActiveBattler][1] == 0) { - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SWITCH_OUT_PLAYER_MON); - gBattleBankFunc[gActiveBank] = sub_8168A20; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SWITCH_OUT_PLAYER_MON); + gBattlerControllerFuncs[gActiveBattler] = sub_8168A20; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - SetHealthboxSpriteInvisible(gHealthBoxesIds[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); WallyBufferExecCompleted(); } } static void WallyHandleDrawTrainerPic(void) { - DecompressTrainerBackPic(BACK_PIC_WALLY, gActiveBank); - sub_806A12C(BACK_PIC_WALLY, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, + DecompressTrainerBackPic(BACK_PIC_WALLY, gActiveBattler); + sub_806A12C(BACK_PIC_WALLY, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, 80, 80 + 4 * (8 - gTrainerBackPicCoords[BACK_PIC_WALLY].coords), 30); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240; - gSprites[gBankSpriteIds[gActiveBank]].data0 = -2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC; - gBattleBankFunc[gActiveBank] = CompleteOnBankSpriteCallbackDummy; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy; } static void WallyHandleTrainerSlide(void) { - DecompressTrainerBackPic(BACK_PIC_WALLY, gActiveBank); - sub_806A12C(BACK_PIC_WALLY, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C, + DecompressTrainerBackPic(BACK_PIC_WALLY, gActiveBattler); + sub_806A12C(BACK_PIC_WALLY, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, 80, 80 + 4 * (8 - gTrainerBackPicCoords[BACK_PIC_WALLY].coords), 30); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -96; - gSprites[gBankSpriteIds[gActiveBank]].data0 = 2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC; - gBattleBankFunc[gActiveBank] = CompleteOnBankSpriteCallbackDummy2; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -96; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 2; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy2; } static void WallyHandleTrainerSlideBack(void) @@ -1112,18 +1089,18 @@ static void WallyHandleSuccessBallThrowAnim(void) { gBattleSpritesDataPtr->animationData->ballThrowCaseId = BALL_3_SHAKES_SUCCESS; gDoingBattleAnim = TRUE; - DoSpecialBattleAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_SAFARI_BALL_THROW); - gBattleBankFunc[gActiveBank] = CompleteOnFinishedAnimation; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW); + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedAnimation; } static void WallyHandleBallThrowAnim(void) { - u8 ballThrowCaseId = gBattleBufferA[gActiveBank][1]; + u8 ballThrowCaseId = gBattleBufferA[gActiveBattler][1]; gBattleSpritesDataPtr->animationData->ballThrowCaseId = ballThrowCaseId; gDoingBattleAnim = TRUE; - DoSpecialBattleAnimation(gActiveBank, gActiveBank, GetBankByIdentity(IDENTITY_OPPONENT_MON1), B_ANIM_SAFARI_BALL_THROW); - gBattleBankFunc[gActiveBank] = CompleteOnFinishedAnimation; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW); + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedAnimation; } static void WallyHandlePause(void) @@ -1133,46 +1110,46 @@ static void WallyHandlePause(void) static void WallyHandleMoveAnimation(void) { - u16 move = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); + u16 move = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); - gAnimMoveTurn = gBattleBufferA[gActiveBank][3]; - gAnimMovePower = gBattleBufferA[gActiveBank][4] | (gBattleBufferA[gActiveBank][5] << 8); - gAnimMoveDmg = gBattleBufferA[gActiveBank][6] | (gBattleBufferA[gActiveBank][7] << 8) | (gBattleBufferA[gActiveBank][8] << 16) | (gBattleBufferA[gActiveBank][9] << 24); - gAnimFriendship = gBattleBufferA[gActiveBank][10]; - gWeatherMoveAnim = gBattleBufferA[gActiveBank][12] | (gBattleBufferA[gActiveBank][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBank][16]; - gTransformedPersonalities[gActiveBank] = gAnimDisableStructPtr->transformedMonPersonality; + gAnimMoveTurn = gBattleBufferA[gActiveBattler][3]; + gAnimMovePower = gBattleBufferA[gActiveBattler][4] | (gBattleBufferA[gActiveBattler][5] << 8); + gAnimMoveDmg = gBattleBufferA[gActiveBattler][6] | (gBattleBufferA[gActiveBattler][7] << 8) | (gBattleBufferA[gActiveBattler][8] << 16) | (gBattleBufferA[gActiveBattler][9] << 24); + gAnimFriendship = gBattleBufferA[gActiveBattler][10]; + gWeatherMoveAnim = gBattleBufferA[gActiveBattler][12] | (gBattleBufferA[gActiveBattler][13] << 8); + gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; + gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; if (IsMoveWithoutAnimation(move, gAnimMoveTurn)) // always returns FALSE { WallyBufferExecCompleted(); } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; - gBattleBankFunc[gActiveBank] = WallyDoMoveAnimation; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + gBattlerControllerFuncs[gActiveBattler] = WallyDoMoveAnimation; } } static void WallyDoMoveAnimation(void) { - u16 move = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); + u16 move = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState) + switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) { case 0: - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) { - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_SUBSTITUTE_TO_MON); + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; break; case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { sub_805EB9C(0); DoMoveAnim(move); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 2; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; } break; case 2: @@ -1180,19 +1157,19 @@ static void WallyDoMoveAnimation(void) if (!gAnimScriptActive) { sub_805EB9C(1); - if (gBattleSpritesDataPtr->bankData[gActiveBank].behindSubstitute) + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) { - DoSpecialBattleAnimation(gActiveBank, gActiveBank, gActiveBank, B_ANIM_MON_TO_SUBSTITUTE); + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 3; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 3; } break; case 3: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { - sub_805E394(); - TrySetBehindSubstituteSpriteBit(gActiveBank, gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0; + CopyAllBattleSpritesInvisibilities(); + TrySetBehindSubstituteSpriteBit(gActiveBattler, gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; WallyBufferExecCompleted(); } break; @@ -1205,15 +1182,15 @@ static void WallyHandlePrintString(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - stringId = (u16*)(&gBattleBufferA[gActiveBank][2]); + stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); - gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; } -static void WallyHandlePrintStringPlayerOnly(void) +static void WallyHandlePrintSelectionString(void) { - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) WallyHandlePrintString(); else WallyBufferExecCompleted(); @@ -1225,7 +1202,7 @@ static void HandleChooseActionAfterDma3(void) { gBattle_BG0_X = 0; gBattle_BG0_Y = 160; - gBattleBankFunc[gActiveBank] = WallyHandleActions; + gBattlerControllerFuncs[gActiveBattler] = WallyHandleActions; } } @@ -1233,13 +1210,13 @@ static void WallyHandleChooseAction(void) { s32 i; - gBattleBankFunc[gActiveBank] = HandleChooseActionAfterDma3; + gBattlerControllerFuncs[gActiveBattler] = HandleChooseActionAfterDma3; BattleHandleAddTextPrinter(gText_BattleMenu, 2); for (i = 0; i < 4; i++) ActionSelectionDestroyCursorAt(i); - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBank], 0); + ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillWallyDo); BattleHandleAddTextPrinter(gDisplayedStringBattle, 1); } @@ -1270,7 +1247,7 @@ static void WallyHandleChooseMove(void) if (--gBattleStruct->wallyMoveFrames == 0) { PlaySE(SE_SELECT); - EmitTwoReturnValues(1, 10, 0x100); + BtlController_EmitTwoReturnValues(1, 10, 0x100); WallyBufferExecCompleted(); } break; @@ -1280,8 +1257,8 @@ static void WallyHandleChooseMove(void) static void WallyHandleChooseItem(void) { BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); - gBattleBankFunc[gActiveBank] = OpenBagAfterPaletteFade; - gBankInMenu = gActiveBank; + gBattlerControllerFuncs[gActiveBattler] = OpenBagAfterPaletteFade; + gBattlerInMenuId = gActiveBattler; } static void WallyHandleChoosePokemon(void) @@ -1299,24 +1276,24 @@ static void WallyHandleHealthBarUpdate(void) s16 hpVal; LoadBattleBarGfx(0); - hpVal = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + hpVal = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); if (hpVal != INSTANT_HP_BAR_DROP) { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); - u32 curHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); + u32 curHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - SetBattleBarStruct(gActiveBank, gHealthBoxesIds[gActiveBank], maxHP, curHP, hpVal); + SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, curHP, hpVal); } else { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - SetBattleBarStruct(gActiveBank, gHealthBoxesIds[gActiveBank], maxHP, 0, hpVal); - UpdateHpTextInHealthbox(gHealthBoxesIds[gActiveBank], 0, HP_CURRENT); + SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, 0, hpVal); + UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], 0, HP_CURRENT); } - gBattleBankFunc[gActiveBank] = CompleteOnHealthbarDone; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; } static void WallyHandleExpUpdate(void) @@ -1401,16 +1378,16 @@ static void WallyHandleCmd40(void) static void WallyHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) + if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) { WallyBufferExecCompleted(); } else { gDoingBattleAnim = TRUE; - gSprites[gBankSpriteIds[gActiveBank]].data1 = 0; - DoHitAnimHealthboxEffect(gActiveBank); - gBattleBankFunc[gActiveBank] = DoHitAnimBlinkSpriteEffect; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; + DoHitAnimHealthboxEffect(gActiveBattler); + gBattlerControllerFuncs[gActiveBattler] = DoHitAnimBlinkSpriteEffect; } } @@ -1419,22 +1396,22 @@ static void WallyHandleCmd42(void) WallyBufferExecCompleted(); } -static void WallyHandleEffectivenessSound(void) +static void WallyHandlePlaySE(void) { - PlaySE(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlaySE(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); WallyBufferExecCompleted(); } static void WallyHandlePlayFanfareOrBGM(void) { - if (gBattleBufferA[gActiveBank][3]) + if (gBattleBufferA[gActiveBattler][3]) { - BattleMusicStop(); - PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + BattleStopLowHpSound(); + PlayBGM(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); } else { - PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); } WallyBufferExecCompleted(); @@ -1442,7 +1419,7 @@ static void WallyHandlePlayFanfareOrBGM(void) static void WallyHandleFaintingCry(void) { - u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); PlayCry1(species, 25); WallyBufferExecCompleted(); @@ -1450,8 +1427,8 @@ static void WallyHandleFaintingCry(void) static void WallyHandleIntroSlide(void) { - HandleIntroSlide(gBattleBufferA[gActiveBank][1]); - gUnknown_020243FC |= 1; + HandleIntroSlide(gBattleBufferA[gActiveBattler][1]); + gIntroSlideFlags |= 1; WallyBufferExecCompleted(); } @@ -1460,56 +1437,56 @@ static void WallyHandleIntroTrainerBallThrow(void) u8 paletteNum; u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); + oamt_add_pos2_onto_pos1(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - gSprites[gBankSpriteIds[gActiveBank]].data0 = 50; - gSprites[gBankSpriteIds[gActiveBank]].data2 = -40; - gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC; - gSprites[gBankSpriteIds[gActiveBank]].data5 = gActiveBank; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler; - StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], sub_805CC00); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1); + StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); paletteNum = AllocSpritePalette(0xD6F8); LoadCompressedPalette(gTrainerBackPicPaletteTable[BACK_PIC_WALLY].data, 0x100 + paletteNum * 16, 32); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = paletteNum; + gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; taskId = CreateTask(sub_816AC04, 5); - gTasks[taskId].data[0] = gActiveBank; + gTasks[taskId].data[0] = gActiveBattler; - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1) - gTasks[gUnknown_020244B4[gActiveBank]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; gBattleSpritesDataPtr->animationData->field_9_x1 = 1; - gBattleBankFunc[gActiveBank] = nullsub_21; + gBattlerControllerFuncs[gActiveBattler] = nullsub_21; } static void sub_816AA80(u8 bank) { u16 species; - gBattleSpritesDataPtr->bankData[bank].transformSpecies = 0; - gBattlePartyID[bank] = gBattleBufferA[bank][1]; - species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES); + gBattleSpritesDataPtr->battlerData[bank].transformSpecies = 0; + gBattlerPartyIndexes[bank] = gBattleBufferA[bank][1]; + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714); - sub_806A068(species, GetBankIdentity(bank)); - gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, - sub_80A5C6C(bank, 2), - sub_80A6138(bank), + sub_806A068(species, GetBattlerPosition(bank)); + gBattlerSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, + GetBattlerSpriteCoord(bank, 2), + GetBattlerSpriteDefault_Y(bank), sub_80A82E4(bank)); - gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank]; - gSprites[gUnknown_03005D7C[bank]].data2 = bank; + gSprites[gUnknown_03005D7C[bank]].data[1] = gBattlerSpriteIds[bank]; + gSprites[gUnknown_03005D7C[bank]].data[2] = bank; - gSprites[gBankSpriteIds[bank]].data0 = bank; - gSprites[gBankSpriteIds[bank]].data2 = species; - gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; + gSprites[gBattlerSpriteIds[bank]].data[0] = bank; + gSprites[gBattlerSpriteIds[bank]].data[2] = species; + gSprites[gBattlerSpriteIds[bank]].oam.paletteNum = bank; - StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); - gSprites[gBankSpriteIds[bank]].invisible = TRUE; - gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; - gSprites[gUnknown_03005D7C[bank]].data0 = sub_80753E8(0, 0xFF); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[bank]], gBattleMonForms[bank]); + gSprites[gBattlerSpriteIds[bank]].invisible = TRUE; + gSprites[gBattlerSpriteIds[bank]].callback = SpriteCallbackDummy; + gSprites[gUnknown_03005D7C[bank]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); } static void sub_816AC04(u8 taskId) @@ -1520,27 +1497,27 @@ static void sub_816AC04(u8 taskId) } else { - u8 savedActiveBank = gActiveBank; + u8 savedActiveBank = gActiveBattler; - gActiveBank = gTasks[taskId].data[0]; - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_816AA80(gActiveBank); - gBattleBankFunc[gActiveBank] = sub_816864C; - gActiveBank = savedActiveBank; + gActiveBattler = gTasks[taskId].data[0]; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + sub_816AA80(gActiveBattler); + gBattlerControllerFuncs[gActiveBattler] = sub_816864C; + gActiveBattler = savedActiveBank; DestroyTask(taskId); } } static void WallyHandleDrawPartyStatusSummary(void) { - if (gBattleBufferA[gActiveBank][1] != 0 && GetBankSide(gActiveBank) == SIDE_PLAYER) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { WallyBufferExecCompleted(); } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x1 = 1; - gUnknown_020244B4[gActiveBank] = CreatePartyStatusSummarySprites(gActiveBank, (struct HpAndStatus *)&gBattleBufferA[gActiveBank][4], gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][2]); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1 = 1; + gBattlerStatusSummaryTaskId[gActiveBattler] = CreatePartyStatusSummarySprites(gActiveBattler, (struct HpAndStatus *)&gBattleBufferA[gActiveBattler][4], gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][2]); WallyBufferExecCompleted(); } } @@ -1562,13 +1539,13 @@ static void WallyHandleSpriteInvisibility(void) static void WallyHandleBattleAnimation(void) { - u8 animationId = gBattleBufferA[gActiveBank][1]; - u16 argument = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 animationId = gBattleBufferA[gActiveBattler][1]; + u16 argument = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - if (DoBattleAnimationFromTable(gActiveBank, gActiveBank, gActiveBank, animationId, argument)) + if (TryHandleLaunchBattleTableAnimation(gActiveBattler, gActiveBattler, gActiveBattler, animationId, argument)) WallyBufferExecCompleted(); else - gBattleBankFunc[gActiveBank] = CompleteOnFinishedBattleAnimation; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation; } static void WallyHandleLinkStandbyMsg(void) @@ -1583,13 +1560,13 @@ static void WallyHandleResetActionMoveSelection(void) static void WallyHandleCmd55(void) { - gBattleOutcome = gBattleBufferA[gActiveBank][1]; + gBattleOutcome = gBattleBufferA[gActiveBattler][1]; FadeOutMapMusic(5); BeginFastPaletteFade(3); WallyBufferExecCompleted(); if (!(gBattleTypeFlags & BATTLE_TYPE_WILD) && gBattleTypeFlags & BATTLE_TYPE_LINK) - gBattleBankFunc[gActiveBank] = sub_80587B0; + gBattlerControllerFuncs[gActiveBattler] = sub_80587B0; } static void nullsub_118(void) diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 5c874438e8..cbb4fff69c 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -6,43 +6,19 @@ #include "battle_ai_script_commands.h" #include "battle_anim.h" #include "pokemon.h" -#include "species.h" +#include "constants/species.h" #include "recorded_battle.h" #include "util.h" -#include "abilities.h" +#include "constants/abilities.h" #include "battle_message.h" -extern u32 gBattleTypeFlags; -extern u32 gBattleExecBuffer; -extern void (*gBattleMainFunc)(void); -extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void); -extern u8 gBanksByIdentity[BATTLE_BANKS_COUNT]; -extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT]; -extern u8 gMoveSelectionCursor[BATTLE_BANKS_COUNT]; -extern u8 gNoOfAllBanks; -extern u8 gActiveBank; +extern u8 gBattleBuffersTransferData[0x100]; extern u8 gUnknown_0202428C; extern u32 gUnknown_02022FF4; extern u8 gUnknown_0203C7B4; -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; -extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200]; -extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200]; -extern u8 gBattleBuffersTransferData[0x100]; extern u8 gUnknown_02022D08; extern u8 gUnknown_02022D09; extern u8 gUnknown_02022D0A; -extern u8 gBankAttacker; -extern u8 gBankTarget; -extern u8 gAbsentBankFlags; -extern u8 gEffectBank; -extern u16 gBattleWeather; -extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; -extern u16 gCurrentMove; -extern u16 gLastUsedMove; -extern u16 gLastUsedItem; -extern u8 gBattleOutcome; -extern u8 gLastUsedAbility; -extern u8 gStringBank; extern const struct BattleMove gBattleMoves[]; @@ -51,8 +27,8 @@ extern void sub_81B8D64(u8 bank, u8 arg1); // party_menu // this file's funcionts static void CreateTasksForSendRecvLinkBuffers(void); -static void SetControllersVariablesInLinkBattle(void); -static void SetControllersVariables(void); +static void InitLinkBtlControllers(void); +static void InitSinglePlayerBtlControllers(void); static void SetBattlePartyIds(void); static void Task_HandleSendLinkBuffersData(u8 taskId); static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId); @@ -64,7 +40,7 @@ void HandleLinkBattleSetup(void) if (gLinkVSyncDisabled) sub_800B488(); if (!gReceivedRemoteLinkPlayers) - sub_8009734(); + OpenLink(); CreateTask(task00_08081A90, 0); CreateTasksForSendRecvLinkBuffers(); } @@ -76,16 +52,16 @@ void SetUpBattleVarsAndBirchZigzagoon(void) gBattleMainFunc = nullsub_20; - for (i = 0; i < BATTLE_BANKS_COUNT; i++) + for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - gBattleBankFunc[i] = nullsub_21; - gBanksByIdentity[i] = 0xFF; + gBattlerControllerFuncs[i] = nullsub_21; + gBattlerPositions[i] = 0xFF; gActionSelectionCursor[i] = 0; gMoveSelectionCursor[i] = 0; } HandleLinkBattleSetup(); - gBattleExecBuffer = 0; + gBattleControllerExecFlags = 0; ClearBattleAnimationVars(); ClearBattleMonForms(); BattleAI_HandleItemUseBeforeAISetup(0xF); @@ -113,18 +89,18 @@ void sub_8032768(void) sub_8184DA4(2); if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) - sub_8185EB8(); + RecordedBattle_SaveParties(); if (gBattleTypeFlags & BATTLE_TYPE_LINK) - SetControllersVariablesInLinkBattle(); + InitLinkBtlControllers(); else - SetControllersVariables(); + InitSinglePlayerBtlControllers(); SetBattlePartyIds(); if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) sub_81B8D64(i, 0); } @@ -135,7 +111,7 @@ void sub_8032768(void) *(gBattleStruct->field_204 + i) = 0; } -static void SetControllersVariables(void) +static void InitSinglePlayerBtlControllers(void) { s32 i; @@ -145,62 +121,62 @@ static void SetControllersVariables(void) if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) { - gBattleBankFunc[0] = SetControllerToRecordedPlayer; - gBanksByIdentity[0] = IDENTITY_PLAYER_MON1; + gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; + gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; - gBattleBankFunc[1] = SetControllerToOpponent; - gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1; + gBattlerControllerFuncs[1] = SetControllerToOpponent; + gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; - gBattleBankFunc[2] = SetControllerToPlayerPartner; - gBanksByIdentity[2] = IDENTITY_PLAYER_MON2; + gBattlerControllerFuncs[2] = SetControllerToPlayerPartner; + gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; - gBattleBankFunc[3] = SetControllerToOpponent; - gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2; + gBattlerControllerFuncs[3] = SetControllerToOpponent; + gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; } else { - gBattleBankFunc[0] = SetControllerToPlayer; - gBanksByIdentity[0] = IDENTITY_PLAYER_MON1; + gBattlerControllerFuncs[0] = SetControllerToPlayer; + gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; - gBattleBankFunc[1] = SetControllerToOpponent; - gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1; + gBattlerControllerFuncs[1] = SetControllerToOpponent; + gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; - gBattleBankFunc[2] = SetControllerToPlayerPartner; - gBanksByIdentity[2] = IDENTITY_PLAYER_MON2; + gBattlerControllerFuncs[2] = SetControllerToPlayerPartner; + gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; - gBattleBankFunc[3] = SetControllerToOpponent; - gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2; + gBattlerControllerFuncs[3] = SetControllerToOpponent; + gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; } - gNoOfAllBanks = 4; + gBattlersCount = 4; sub_81B8D64(0, 0); sub_81B8D64(1, 0); sub_81B8D64(2, 1); sub_81B8D64(3, 1); - gBattlePartyID[0] = 0; - gBattlePartyID[1] = 0; - gBattlePartyID[2] = 3; - gBattlePartyID[3] = 3; + gBattlerPartyIndexes[0] = 0; + gBattlerPartyIndexes[1] = 0; + gBattlerPartyIndexes[2] = 3; + gBattlerPartyIndexes[3] = 3; } else if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { gBattleMainFunc = BeginBattleIntro; if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) - gBattleBankFunc[0] = SetControllerToSafari; + gBattlerControllerFuncs[0] = SetControllerToSafari; else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) - gBattleBankFunc[0] = SetControllerToWally; + gBattlerControllerFuncs[0] = SetControllerToWally; else - gBattleBankFunc[0] = SetControllerToPlayer; + gBattlerControllerFuncs[0] = SetControllerToPlayer; - gBanksByIdentity[0] = IDENTITY_PLAYER_MON1; + gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; - gBattleBankFunc[1] = SetControllerToOpponent; - gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1; + gBattlerControllerFuncs[1] = SetControllerToOpponent; + gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; - gNoOfAllBanks = 2; + gBattlersCount = 2; if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) { @@ -210,32 +186,32 @@ static void SetControllersVariables(void) { gBattleMainFunc = BeginBattleIntro; - gBattleBankFunc[0] = SetControllerToRecordedPlayer; - gBanksByIdentity[0] = IDENTITY_PLAYER_MON1; + gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; + gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; - gBattleBankFunc[1] = SetControllerToRecordedOpponent; - gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1; + gBattlerControllerFuncs[1] = SetControllerToRecordedOpponent; + gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; - gNoOfAllBanks = 2; + gBattlersCount = 2; } else // see how the banks are switched { - gBattleBankFunc[1] = SetControllerToRecordedPlayer; - gBanksByIdentity[1] = IDENTITY_PLAYER_MON1; + gBattlerControllerFuncs[1] = SetControllerToRecordedPlayer; + gBattlerPositions[1] = B_POSITION_PLAYER_LEFT; - gBattleBankFunc[0] = SetControllerToRecordedOpponent; - gBanksByIdentity[0] = IDENTITY_OPPONENT_MON1; + gBattlerControllerFuncs[0] = SetControllerToRecordedOpponent; + gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT; - gNoOfAllBanks = 2; + gBattlersCount = 2; } } else { - gBattleBankFunc[0] = SetControllerToRecordedPlayer; - gBanksByIdentity[0] = IDENTITY_PLAYER_MON1; + gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; + gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; - gBattleBankFunc[1] = SetControllerToOpponent; - gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1; + gBattlerControllerFuncs[1] = SetControllerToOpponent; + gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; } } } @@ -243,19 +219,19 @@ static void SetControllersVariables(void) { gBattleMainFunc = BeginBattleIntro; - gBattleBankFunc[0] = SetControllerToPlayer; - gBanksByIdentity[0] = IDENTITY_PLAYER_MON1; + gBattlerControllerFuncs[0] = SetControllerToPlayer; + gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; - gBattleBankFunc[1] = SetControllerToOpponent; - gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1; + gBattlerControllerFuncs[1] = SetControllerToOpponent; + gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; - gBattleBankFunc[2] = SetControllerToPlayer; - gBanksByIdentity[2] = IDENTITY_PLAYER_MON2; + gBattlerControllerFuncs[2] = SetControllerToPlayer; + gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; - gBattleBankFunc[3] = SetControllerToOpponent; - gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2; + gBattlerControllerFuncs[3] = SetControllerToOpponent; + gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; - gNoOfAllBanks = 4; + gBattlersCount = 4; if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) { @@ -263,35 +239,35 @@ static void SetControllersVariables(void) { gBattleMainFunc = BeginBattleIntro; - gBattleBankFunc[0] = SetControllerToRecordedPlayer; - gBanksByIdentity[0] = 0; + gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; + gBattlerPositions[0] = 0; - gBattleBankFunc[1] = SetControllerToOpponent; - gBanksByIdentity[1] = 1; + gBattlerControllerFuncs[1] = SetControllerToOpponent; + gBattlerPositions[1] = 1; - gBattleBankFunc[2] = SetControllerToRecordedPlayer; - gBanksByIdentity[2] = 2; + gBattlerControllerFuncs[2] = SetControllerToRecordedPlayer; + gBattlerPositions[2] = 2; - gBattleBankFunc[3] = SetControllerToOpponent; - gBanksByIdentity[3] = 3; + gBattlerControllerFuncs[3] = SetControllerToOpponent; + gBattlerPositions[3] = 3; - gNoOfAllBanks = 4; + gBattlersCount = 4; sub_81B8D64(0, 0); sub_81B8D64(1, 0); sub_81B8D64(2, 1); sub_81B8D64(3, 1); - gBattlePartyID[0] = 0; - gBattlePartyID[1] = 0; - gBattlePartyID[2] = 3; - gBattlePartyID[3] = 3; + gBattlerPartyIndexes[0] = 0; + gBattlerPartyIndexes[1] = 0; + gBattlerPartyIndexes[2] = 3; + gBattlerPartyIndexes[3] = 3; } else if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { u8 var; // multiplayer Id in a recorded battle? - for (var = gUnknown_0203C7B4, i = 0; i < BATTLE_BANKS_COUNT; i++) + for (var = gUnknown_0203C7B4, i = 0; i < MAX_BATTLERS_COUNT; i++) { switch (gLinkPlayers[i].lp_field_18) { @@ -307,53 +283,53 @@ static void SetControllersVariables(void) if (i == var) { - gBattleBankFunc[gLinkPlayers[i].lp_field_18] = SetControllerToRecordedPlayer; + gBattlerControllerFuncs[gLinkPlayers[i].lp_field_18] = SetControllerToRecordedPlayer; switch (gLinkPlayers[i].lp_field_18) { case 0: case 3: - gBanksByIdentity[gLinkPlayers[i].lp_field_18] = IDENTITY_PLAYER_MON1; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0; + gBattlerPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_PLAYER_LEFT; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0; break; case 1: case 2: - gBanksByIdentity[gLinkPlayers[i].lp_field_18] = IDENTITY_PLAYER_MON2; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3; + gBattlerPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_PLAYER_RIGHT; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3; break; } } else if ((!(gLinkPlayers[i].lp_field_18 & 1) && !(gLinkPlayers[var].lp_field_18 & 1)) || ((gLinkPlayers[i].lp_field_18 & 1) && (gLinkPlayers[var].lp_field_18 & 1))) { - gBattleBankFunc[gLinkPlayers[i].lp_field_18] = SetControllerToRecordedPlayer; + gBattlerControllerFuncs[gLinkPlayers[i].lp_field_18] = SetControllerToRecordedPlayer; switch (gLinkPlayers[i].lp_field_18) { case 0: case 3: - gBanksByIdentity[gLinkPlayers[i].lp_field_18] = IDENTITY_PLAYER_MON1; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0; + gBattlerPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_PLAYER_LEFT; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0; break; case 1: case 2: - gBanksByIdentity[gLinkPlayers[i].lp_field_18] = IDENTITY_PLAYER_MON2; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3; + gBattlerPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_PLAYER_RIGHT; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3; break; } } else { - gBattleBankFunc[gLinkPlayers[i].lp_field_18] = SetControllerToRecordedOpponent; + gBattlerControllerFuncs[gLinkPlayers[i].lp_field_18] = SetControllerToRecordedOpponent; switch (gLinkPlayers[i].lp_field_18) { case 0: case 3: - gBanksByIdentity[gLinkPlayers[i].lp_field_18] = IDENTITY_OPPONENT_MON1; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0; + gBattlerPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_OPPONENT_LEFT; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0; break; case 1: case 2: - gBanksByIdentity[gLinkPlayers[i].lp_field_18] = IDENTITY_OPPONENT_MON2; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3; + gBattlerPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_OPPONENT_RIGHT; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3; break; } } @@ -361,59 +337,59 @@ static void SetControllersVariables(void) } else if (gBattleTypeFlags & BATTLE_TYPE_WILD) { - gBattleBankFunc[0] = SetControllerToRecordedPlayer; - gBanksByIdentity[0] = IDENTITY_PLAYER_MON1; + gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; + gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; - gBattleBankFunc[2] = SetControllerToRecordedPlayer; - gBanksByIdentity[2] = IDENTITY_PLAYER_MON2; + gBattlerControllerFuncs[2] = SetControllerToRecordedPlayer; + gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; if (gBattleTypeFlags & BATTLE_TYPE_x2000000) { - gBattleBankFunc[1] = SetControllerToRecordedOpponent; - gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1; + gBattlerControllerFuncs[1] = SetControllerToRecordedOpponent; + gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; - gBattleBankFunc[3] = SetControllerToRecordedOpponent; - gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2; + gBattlerControllerFuncs[3] = SetControllerToRecordedOpponent; + gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; } else { - gBattleBankFunc[1] = SetControllerToOpponent; - gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1; + gBattlerControllerFuncs[1] = SetControllerToOpponent; + gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; - gBattleBankFunc[3] = SetControllerToOpponent; - gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2; + gBattlerControllerFuncs[3] = SetControllerToOpponent; + gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; } } else { - gBattleBankFunc[1] = SetControllerToRecordedPlayer; - gBanksByIdentity[1] = IDENTITY_PLAYER_MON1; + gBattlerControllerFuncs[1] = SetControllerToRecordedPlayer; + gBattlerPositions[1] = B_POSITION_PLAYER_LEFT; - gBattleBankFunc[3] = SetControllerToRecordedPlayer; - gBanksByIdentity[3] = IDENTITY_PLAYER_MON2; + gBattlerControllerFuncs[3] = SetControllerToRecordedPlayer; + gBattlerPositions[3] = B_POSITION_PLAYER_RIGHT; if (gBattleTypeFlags & BATTLE_TYPE_x2000000) { - gBattleBankFunc[0] = SetControllerToRecordedOpponent; - gBanksByIdentity[0] = IDENTITY_OPPONENT_MON1; + gBattlerControllerFuncs[0] = SetControllerToRecordedOpponent; + gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT; - gBattleBankFunc[2] = SetControllerToRecordedOpponent; - gBanksByIdentity[2] = IDENTITY_OPPONENT_MON2; + gBattlerControllerFuncs[2] = SetControllerToRecordedOpponent; + gBattlerPositions[2] = B_POSITION_OPPONENT_RIGHT; } else { - gBattleBankFunc[0] = SetControllerToOpponent; - gBanksByIdentity[0] = IDENTITY_OPPONENT_MON1; + gBattlerControllerFuncs[0] = SetControllerToOpponent; + gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT; - gBattleBankFunc[2] = SetControllerToOpponent; - gBanksByIdentity[2] = IDENTITY_OPPONENT_MON2; + gBattlerControllerFuncs[2] = SetControllerToOpponent; + gBattlerPositions[2] = B_POSITION_OPPONENT_RIGHT; } } } } } -static void SetControllersVariablesInLinkBattle(void) +static void InitLinkBtlControllers(void) { s32 i; u8 multiplayerId; @@ -424,23 +400,23 @@ static void SetControllersVariablesInLinkBattle(void) { gBattleMainFunc = BeginBattleIntro; - gBattleBankFunc[0] = SetControllerToPlayer; - gBanksByIdentity[0] = IDENTITY_PLAYER_MON1; + gBattlerControllerFuncs[0] = SetControllerToPlayer; + gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; - gBattleBankFunc[1] = SetControllerToLinkOpponent; - gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1; + gBattlerControllerFuncs[1] = SetControllerToLinkOpponent; + gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; - gNoOfAllBanks = 2; + gBattlersCount = 2; } else { - gBattleBankFunc[1] = SetControllerToPlayer; - gBanksByIdentity[1] = IDENTITY_PLAYER_MON1; + gBattlerControllerFuncs[1] = SetControllerToPlayer; + gBattlerPositions[1] = B_POSITION_PLAYER_LEFT; - gBattleBankFunc[0] = SetControllerToLinkOpponent; - gBanksByIdentity[0] = IDENTITY_OPPONENT_MON1; + gBattlerControllerFuncs[0] = SetControllerToLinkOpponent; + gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT; - gNoOfAllBanks = 2; + gBattlersCount = 2; } } else if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) && gBattleTypeFlags & BATTLE_TYPE_DOUBLE) @@ -449,35 +425,35 @@ static void SetControllersVariablesInLinkBattle(void) { gBattleMainFunc = BeginBattleIntro; - gBattleBankFunc[0] = SetControllerToPlayer; - gBanksByIdentity[0] = IDENTITY_PLAYER_MON1; + gBattlerControllerFuncs[0] = SetControllerToPlayer; + gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; - gBattleBankFunc[1] = SetControllerToLinkOpponent; - gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1; + gBattlerControllerFuncs[1] = SetControllerToLinkOpponent; + gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; - gBattleBankFunc[2] = SetControllerToPlayer; - gBanksByIdentity[2] = IDENTITY_PLAYER_MON2; + gBattlerControllerFuncs[2] = SetControllerToPlayer; + gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; - gBattleBankFunc[3] = SetControllerToLinkOpponent; - gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2; + gBattlerControllerFuncs[3] = SetControllerToLinkOpponent; + gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; - gNoOfAllBanks = 4; + gBattlersCount = 4; } else { - gBattleBankFunc[1] = SetControllerToPlayer; - gBanksByIdentity[1] = IDENTITY_PLAYER_MON1; + gBattlerControllerFuncs[1] = SetControllerToPlayer; + gBattlerPositions[1] = B_POSITION_PLAYER_LEFT; - gBattleBankFunc[0] = SetControllerToLinkOpponent; - gBanksByIdentity[0] = IDENTITY_OPPONENT_MON1; + gBattlerControllerFuncs[0] = SetControllerToLinkOpponent; + gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT; - gBattleBankFunc[3] = SetControllerToPlayer; - gBanksByIdentity[3] = IDENTITY_PLAYER_MON2; + gBattlerControllerFuncs[3] = SetControllerToPlayer; + gBattlerPositions[3] = B_POSITION_PLAYER_RIGHT; - gBattleBankFunc[2] = SetControllerToLinkOpponent; - gBanksByIdentity[2] = IDENTITY_OPPONENT_MON2; + gBattlerControllerFuncs[2] = SetControllerToLinkOpponent; + gBattlerPositions[2] = B_POSITION_OPPONENT_RIGHT; - gNoOfAllBanks = 4; + gBattlersCount = 4; } } else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) @@ -486,45 +462,45 @@ static void SetControllersVariablesInLinkBattle(void) { gBattleMainFunc = BeginBattleIntro; - gBattleBankFunc[0] = SetControllerToPlayer; - gBanksByIdentity[0] = IDENTITY_PLAYER_MON1; + gBattlerControllerFuncs[0] = SetControllerToPlayer; + gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; - gBattleBankFunc[1] = SetControllerToOpponent; - gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1; + gBattlerControllerFuncs[1] = SetControllerToOpponent; + gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; - gBattleBankFunc[2] = SetControllerToLinkPartner; - gBanksByIdentity[2] = IDENTITY_PLAYER_MON2; + gBattlerControllerFuncs[2] = SetControllerToLinkPartner; + gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; - gBattleBankFunc[3] = SetControllerToOpponent; - gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2; + gBattlerControllerFuncs[3] = SetControllerToOpponent; + gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; - gNoOfAllBanks = 4; + gBattlersCount = 4; } else { - gBattleBankFunc[0] = SetControllerToLinkPartner; - gBanksByIdentity[0] = IDENTITY_PLAYER_MON1; + gBattlerControllerFuncs[0] = SetControllerToLinkPartner; + gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; - gBattleBankFunc[1] = SetControllerToLinkOpponent; - gBanksByIdentity[1] = IDENTITY_OPPONENT_MON1; + gBattlerControllerFuncs[1] = SetControllerToLinkOpponent; + gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; - gBattleBankFunc[2] = SetControllerToPlayer; - gBanksByIdentity[2] = IDENTITY_PLAYER_MON2; + gBattlerControllerFuncs[2] = SetControllerToPlayer; + gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; - gBattleBankFunc[3] = SetControllerToLinkOpponent; - gBanksByIdentity[3] = IDENTITY_OPPONENT_MON2; + gBattlerControllerFuncs[3] = SetControllerToLinkOpponent; + gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; - gNoOfAllBanks = 4; + gBattlersCount = 4; } sub_81B8D64(0, 0); sub_81B8D64(1, 0); sub_81B8D64(2, 1); sub_81B8D64(3, 1); - gBattlePartyID[0] = 0; - gBattlePartyID[1] = 0; - gBattlePartyID[2] = 3; - gBattlePartyID[3] = 3; + gBattlerPartyIndexes[0] = 0; + gBattlerPartyIndexes[1] = 0; + gBattlerPartyIndexes[2] = 3; + gBattlerPartyIndexes[3] = 3; } else { @@ -533,7 +509,7 @@ static void SetControllersVariablesInLinkBattle(void) if (gBattleTypeFlags & BATTLE_TYPE_WILD) gBattleMainFunc = BeginBattleIntro; - for (i = 0; i < BATTLE_BANKS_COUNT; i++) + for (i = 0; i < MAX_BATTLERS_COUNT; i++) { switch (gLinkPlayers[i].lp_field_18) { @@ -549,18 +525,18 @@ static void SetControllersVariablesInLinkBattle(void) if (i == multiplayerId) { - gBattleBankFunc[gLinkPlayers[i].lp_field_18] = SetControllerToPlayer; + gBattlerControllerFuncs[gLinkPlayers[i].lp_field_18] = SetControllerToPlayer; switch (gLinkPlayers[i].lp_field_18) { case 0: case 3: - gBanksByIdentity[gLinkPlayers[i].lp_field_18] = 0; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0; + gBattlerPositions[gLinkPlayers[i].lp_field_18] = 0; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0; break; case 1: case 2: - gBanksByIdentity[gLinkPlayers[i].lp_field_18] = 2; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3; + gBattlerPositions[gLinkPlayers[i].lp_field_18] = 2; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3; break; } } @@ -569,42 +545,42 @@ static void SetControllersVariablesInLinkBattle(void) if ((!(gLinkPlayers[i].lp_field_18 & 1) && !(gLinkPlayers[multiplayerId].lp_field_18 & 1)) || ((gLinkPlayers[i].lp_field_18 & 1) && (gLinkPlayers[multiplayerId].lp_field_18 & 1))) { - gBattleBankFunc[gLinkPlayers[i].lp_field_18] = SetControllerToLinkPartner; + gBattlerControllerFuncs[gLinkPlayers[i].lp_field_18] = SetControllerToLinkPartner; switch (gLinkPlayers[i].lp_field_18) { case 0: case 3: - gBanksByIdentity[gLinkPlayers[i].lp_field_18] = 0; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0; + gBattlerPositions[gLinkPlayers[i].lp_field_18] = 0; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0; break; case 1: case 2: - gBanksByIdentity[gLinkPlayers[i].lp_field_18] = 2; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3; + gBattlerPositions[gLinkPlayers[i].lp_field_18] = 2; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3; break; } } else { - gBattleBankFunc[gLinkPlayers[i].lp_field_18] = SetControllerToLinkOpponent; + gBattlerControllerFuncs[gLinkPlayers[i].lp_field_18] = SetControllerToLinkOpponent; switch (gLinkPlayers[i].lp_field_18) { case 0: case 3: - gBanksByIdentity[gLinkPlayers[i].lp_field_18] = 1; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0; + gBattlerPositions[gLinkPlayers[i].lp_field_18] = 1; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0; break; case 1: case 2: - gBanksByIdentity[gLinkPlayers[i].lp_field_18] = 3; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3; + gBattlerPositions[gLinkPlayers[i].lp_field_18] = 3; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3; break; } } } } - gNoOfAllBanks = 4; + gBattlersCount = 4; } } @@ -614,20 +590,20 @@ static void SetBattlePartyIds(void) if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { for (j = 0; j < 6; j++) { if (i < 2) { - if (GET_BANK_SIDE2(i) == SIDE_PLAYER) + if (GET_BATTLER_SIDE2(i) == B_SIDE_PLAYER) { if (GetMonData(&gPlayerParty[j], MON_DATA_HP) != 0 && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES2) != SPECIES_NONE && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES2) != SPECIES_EGG && GetMonData(&gPlayerParty[j], MON_DATA_IS_EGG) == 0) { - gBattlePartyID[i] = j; + gBattlerPartyIndexes[i] = j; break; } } @@ -638,22 +614,22 @@ static void SetBattlePartyIds(void) && GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != SPECIES_EGG && GetMonData(&gEnemyParty[j], MON_DATA_IS_EGG) == 0) { - gBattlePartyID[i] = j; + gBattlerPartyIndexes[i] = j; break; } } } else { - if (GET_BANK_SIDE2(i) == SIDE_PLAYER) + if (GET_BATTLER_SIDE2(i) == B_SIDE_PLAYER) { if (GetMonData(&gPlayerParty[j], MON_DATA_HP) != 0 && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES) != SPECIES_NONE // Probably a typo by Game Freak. The rest use SPECIES2. && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES2) != SPECIES_EGG && GetMonData(&gPlayerParty[j], MON_DATA_IS_EGG) == 0 - && gBattlePartyID[i - 2] != j) + && gBattlerPartyIndexes[i - 2] != j) { - gBattlePartyID[i] = j; + gBattlerPartyIndexes[i] = j; break; } } @@ -663,9 +639,9 @@ static void SetBattlePartyIds(void) && GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != SPECIES_NONE && GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != SPECIES_EGG && GetMonData(&gEnemyParty[j], MON_DATA_IS_EGG) == 0 - && gBattlePartyID[i - 2] != j) + && gBattlerPartyIndexes[i - 2] != j) { - gBattlePartyID[i] = j; + gBattlerPartyIndexes[i] = j; break; } } @@ -674,7 +650,7 @@ static void SetBattlePartyIds(void) } if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) - gBattlePartyID[1] = 0, gBattlePartyID[3] = 3; + gBattlerPartyIndexes[1] = 0, gBattlerPartyIndexes[3] = 3; } } @@ -693,14 +669,14 @@ static void PrepareBufferDataTransfer(u8 bufferId, u8 *data, u16 size) case 0: for (i = 0; i < size; i++) { - gBattleBufferA[gActiveBank][i] = *data; + gBattleBufferA[gActiveBattler][i] = *data; data++; } break; case 1: for (i = 0; i < size; i++) { - gBattleBufferB[gActiveBank][i] = *data; + gBattleBufferB[gActiveBattler][i] = *data; data++; } break; @@ -751,13 +727,13 @@ void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data) gTasks[gUnknown_02022D08].data[14] = 0; } gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_BUFFER_ID] = bufferId; - gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ACTIVE_BANK] = gActiveBank; - gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ATTACKER] = gBankAttacker; - gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_TARGET] = gBankTarget; + gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ACTIVE_BANK] = gActiveBattler; + gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ATTACKER] = gBattlerAttacker; + gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_TARGET] = gBattlerTarget; gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_SIZE_LO] = alignedSize; gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_SIZE_HI] = (alignedSize & 0x0000FF00) >> 8; - gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ABSENT_BANK_FLAGS] = gAbsentBankFlags; - gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_EFFECT_BANK] = gEffectBank; + gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ABSENT_BANK_FLAGS] = gAbsentBattlerFlags; + gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_EFFECT_BANK] = gEffectBattler; for (i = 0; i < size; i++) gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_DATA + i] = data[i]; @@ -793,9 +769,9 @@ static void Task_HandleSendLinkBuffersData(u8 taskId) else var = (gBattleTypeFlags & BATTLE_TYPE_MULTI) ? 4 : 2; - if (sub_800ABAC() >= var) + if (GetLinkPlayerCount_2() >= var) { - if (sub_800ABBC()) + if (IsLinkMaster()) { sub_800A620(); gTasks[taskId].data[11]++; @@ -912,7 +888,7 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) switch (gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 0]) { case 0: - if (gBattleExecBuffer & gBitTable[bank]) + if (gBattleControllerExecFlags & gBitTable[bank]) return; memcpy(gBattleBufferA[bank], &gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 8], blockSize); @@ -920,10 +896,10 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) if (!(gBattleTypeFlags & BATTLE_TYPE_WILD)) { - gBankAttacker = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 2]; - gBankTarget = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 3]; - gAbsentBankFlags = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 6]; - gEffectBank = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 7]; + gBattlerAttacker = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 2]; + gBattlerTarget = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 3]; + gAbsentBattlerFlags = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 6]; + gEffectBattler = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 7]; } break; case 1: @@ -931,7 +907,7 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) break; case 2: var = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA]; - gBattleExecBuffer &= ~(gBitTable[bank] << (var * 4)); + gBattleControllerExecFlags &= ~(gBitTable[bank] << (var * 4)); break; } @@ -939,7 +915,7 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) } } -void EmitGetMonData(u8 bufferId, u8 requestId, u8 monToCheck) +void BtlController_EmitGetMonData(u8 bufferId, u8 requestId, u8 monToCheck) { gBattleBuffersTransferData[0] = CONTROLLER_GETMONDATA; gBattleBuffersTransferData[1] = requestId; @@ -948,7 +924,7 @@ void EmitGetMonData(u8 bufferId, u8 requestId, u8 monToCheck) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitGetRawMonData(u8 bufferId, u8 monId, u8 bytes) +void BtlController_EmitGetRawMonData(u8 bufferId, u8 monId, u8 bytes) { gBattleBuffersTransferData[0] = CONTROLLER_GETRAWMONDATA; gBattleBuffersTransferData[1] = monId; @@ -957,7 +933,7 @@ void EmitGetRawMonData(u8 bufferId, u8 monId, u8 bytes) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitSetMonData(u8 bufferId, u8 requestId, u8 monToCheck, u8 bytes, void *data) +void BtlController_EmitSetMonData(u8 bufferId, u8 requestId, u8 monToCheck, u8 bytes, void *data) { s32 i; @@ -969,7 +945,7 @@ void EmitSetMonData(u8 bufferId, u8 requestId, u8 monToCheck, u8 bytes, void *da PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 3 + bytes); } -void EmitSetRawMonData(u8 bufferId, u8 monId, u8 bytes, void *data) +void BtlController_EmitSetRawMonData(u8 bufferId, u8 monId, u8 bytes, void *data) { s32 i; @@ -981,7 +957,7 @@ void EmitSetRawMonData(u8 bufferId, u8 monId, u8 bytes, void *data) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, bytes + 3); } -void EmitLoadMonSprite(u8 bufferId) +void BtlController_EmitLoadMonSprite(u8 bufferId) { gBattleBuffersTransferData[0] = CONTROLLER_LOADMONSPRITE; gBattleBuffersTransferData[1] = CONTROLLER_LOADMONSPRITE; @@ -990,7 +966,7 @@ void EmitLoadMonSprite(u8 bufferId) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitSwitchInAnim(u8 bufferId, u8 partyId, bool8 dontClearSubstituteBit) +void BtlController_EmitSwitchInAnim(u8 bufferId, u8 partyId, bool8 dontClearSubstituteBit) { gBattleBuffersTransferData[0] = CONTROLLER_SWITCHINANIM; gBattleBuffersTransferData[1] = partyId; @@ -999,14 +975,14 @@ void EmitSwitchInAnim(u8 bufferId, u8 partyId, bool8 dontClearSubstituteBit) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitReturnMonToBall(u8 bufferId, u8 arg1) +void BtlController_EmitReturnMonToBall(u8 bufferId, u8 arg1) { gBattleBuffersTransferData[0] = CONTROLLER_RETURNMONTOBALL; gBattleBuffersTransferData[1] = arg1; PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 2); } -void EmitDrawTrainerPic(u8 bufferId) +void BtlController_EmitDrawTrainerPic(u8 bufferId) { gBattleBuffersTransferData[0] = CONTROLLER_DRAWTRAINERPIC; gBattleBuffersTransferData[1] = CONTROLLER_DRAWTRAINERPIC; @@ -1015,7 +991,7 @@ void EmitDrawTrainerPic(u8 bufferId) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitTrainerSlide(u8 bufferId) +void BtlController_EmitTrainerSlide(u8 bufferId) { gBattleBuffersTransferData[0] = CONTROLLER_TRAINERSLIDE; gBattleBuffersTransferData[1] = CONTROLLER_TRAINERSLIDE; @@ -1024,7 +1000,7 @@ void EmitTrainerSlide(u8 bufferId) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitTrainerSlideBack(u8 bufferId) +void BtlController_EmitTrainerSlideBack(u8 bufferId) { gBattleBuffersTransferData[0] = CONTROLLER_TRAINERSLIDEBACK; gBattleBuffersTransferData[1] = CONTROLLER_TRAINERSLIDEBACK; @@ -1033,7 +1009,7 @@ void EmitTrainerSlideBack(u8 bufferId) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitFaintAnimation(u8 bufferId) +void BtlController_EmitFaintAnimation(u8 bufferId) { gBattleBuffersTransferData[0] = CONTROLLER_FAINTANIMATION; gBattleBuffersTransferData[1] = CONTROLLER_FAINTANIMATION; @@ -1042,7 +1018,7 @@ void EmitFaintAnimation(u8 bufferId) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitPaletteFade(u8 bufferId) +void BtlController_EmitPaletteFade(u8 bufferId) { gBattleBuffersTransferData[0] = CONTROLLER_PALETTEFADE; gBattleBuffersTransferData[1] = CONTROLLER_PALETTEFADE; @@ -1051,7 +1027,7 @@ void EmitPaletteFade(u8 bufferId) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitSuccessBallThrowAnim(u8 bufferId) +void BtlController_EmitSuccessBallThrowAnim(u8 bufferId) { gBattleBuffersTransferData[0] = CONTROLLER_SUCCESSBALLTHROWANIM; gBattleBuffersTransferData[1] = CONTROLLER_SUCCESSBALLTHROWANIM; @@ -1060,14 +1036,14 @@ void EmitSuccessBallThrowAnim(u8 bufferId) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitBallThrowAnim(u8 bufferId, u8 caseId) +void BtlController_EmitBallThrowAnim(u8 bufferId, u8 caseId) { gBattleBuffersTransferData[0] = CONTROLLER_BALLTHROWANIM; gBattleBuffersTransferData[1] = caseId; PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 2); } -void EmitPause(u8 bufferId, u8 toWait, void *data) +void BtlController_EmitPause(u8 bufferId, u8 toWait, void *data) { s32 i; @@ -1078,7 +1054,7 @@ void EmitPause(u8 bufferId, u8 toWait, void *data) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, toWait * 3 + 2); } -void EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr, u8 multihit) +void BtlController_EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr, u8 multihit) { gBattleBuffersTransferData[0] = CONTROLLER_MOVEANIMATION; gBattleBuffersTransferData[1] = move; @@ -1108,7 +1084,7 @@ void EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 16 + sizeof(struct DisableStruct)); } -void EmitPrintString(u8 bufferId, u16 stringID) +void BtlController_EmitPrintString(u8 bufferId, u16 stringID) { s32 i; struct StringInfoBattle* stringInfo; @@ -1120,16 +1096,16 @@ void EmitPrintString(u8 bufferId, u16 stringID) stringInfo = (struct StringInfoBattle*)(&gBattleBuffersTransferData[4]); stringInfo->currentMove = gCurrentMove; - stringInfo->lastMove = gLastUsedMove; + stringInfo->originallyUsedMove = gChosenMove; stringInfo->lastItem = gLastUsedItem; stringInfo->lastAbility = gLastUsedAbility; - stringInfo->scrActive = gBattleScripting.bank; + stringInfo->scrActive = gBattleScripting.battler; stringInfo->unk1605E = gBattleStruct->field_52; stringInfo->hpScale = gBattleStruct->hpScale; - stringInfo->StringBank = gStringBank; + stringInfo->StringBank = gPotentialItemEffectBattler; stringInfo->moveType = gBattleMoves[gCurrentMove].type; - for (i = 0; i < BATTLE_BANKS_COUNT; i++) + for (i = 0; i < MAX_BATTLERS_COUNT; i++) stringInfo->abilities[i] = gBattleMons[i].ability; for (i = 0; i < TEXT_BUFF_ARRAY_COUNT; i++) { @@ -1140,10 +1116,10 @@ void EmitPrintString(u8 bufferId, u16 stringID) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, sizeof(struct StringInfoBattle) + 4); } -void EmitPrintStringPlayerOnly(u8 bufferId, u16 stringID) +void BtlController_EmitPrintSelectionString(u8 bufferId, u16 stringID) { s32 i; - struct StringInfoBattle* stringInfo; + struct StringInfoBattle *stringInfo; gBattleBuffersTransferData[0] = CONTROLLER_PRINTSTRINGPLAYERONLY; gBattleBuffersTransferData[1] = CONTROLLER_PRINTSTRINGPLAYERONLY; @@ -1152,13 +1128,13 @@ void EmitPrintStringPlayerOnly(u8 bufferId, u16 stringID) stringInfo = (struct StringInfoBattle*)(&gBattleBuffersTransferData[4]); stringInfo->currentMove = gCurrentMove; - stringInfo->lastMove = gLastUsedMove; + stringInfo->originallyUsedMove = gChosenMove; stringInfo->lastItem = gLastUsedItem; stringInfo->lastAbility = gLastUsedAbility; - stringInfo->scrActive = gBattleScripting.bank; + stringInfo->scrActive = gBattleScripting.battler; stringInfo->unk1605E = gBattleStruct->field_52; - for (i = 0; i < BATTLE_BANKS_COUNT; i++) + for (i = 0; i < MAX_BATTLERS_COUNT; i++) stringInfo->abilities[i] = gBattleMons[i].ability; for (i = 0; i < TEXT_BUFF_ARRAY_COUNT; i++) { @@ -1169,7 +1145,7 @@ void EmitPrintStringPlayerOnly(u8 bufferId, u16 stringID) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, sizeof(struct StringInfoBattle) + 4); } -void EmitChooseAction(u8 bufferId, u8 arg1, u16 arg2) +void BtlController_EmitChooseAction(u8 bufferId, u8 arg1, u16 arg2) { gBattleBuffersTransferData[0] = CONTROLLER_CHOOSEACTION; gBattleBuffersTransferData[1] = arg1; @@ -1178,7 +1154,7 @@ void EmitChooseAction(u8 bufferId, u8 arg1, u16 arg2) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitUnknownYesNoBox(u8 bufferId) +void BtlController_EmitUnknownYesNoBox(u8 bufferId) { gBattleBuffersTransferData[0] = CONTROLLER_UNKNOWNYESNOBOX; gBattleBuffersTransferData[1] = CONTROLLER_UNKNOWNYESNOBOX; @@ -1187,7 +1163,7 @@ void EmitUnknownYesNoBox(u8 bufferId) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData) +void BtlController_EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData) { s32 i; @@ -1200,7 +1176,7 @@ void EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, sizeof(*movePpData) + 4); } -void EmitChooseItem(u8 bufferId, u8 *arg1) +void BtlController_EmitChooseItem(u8 bufferId, u8 *arg1) { s32 i; @@ -1210,7 +1186,7 @@ void EmitChooseItem(u8 bufferId, u8 *arg1) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, u8* arg4) +void BtlController_EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, u8* arg4) { s32 i; @@ -1223,7 +1199,7 @@ void EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, u8* arg4) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 8); // but only 7 bytes were written } -void EmitCmd23(u8 bufferId) +void BtlController_EmitCmd23(u8 bufferId) { gBattleBuffersTransferData[0] = CONTROLLER_23; gBattleBuffersTransferData[1] = CONTROLLER_23; @@ -1233,7 +1209,7 @@ void EmitCmd23(u8 bufferId) } // why is the argument u16 if it's being cast to s16 anyway? -void EmitHealthBarUpdate(u8 bufferId, u16 hpValue) +void BtlController_EmitHealthBarUpdate(u8 bufferId, u16 hpValue) { gBattleBuffersTransferData[0] = CONTROLLER_HEALTHBARUPDATE; gBattleBuffersTransferData[1] = 0; @@ -1243,7 +1219,7 @@ void EmitHealthBarUpdate(u8 bufferId, u16 hpValue) } // why is the argument u16 if it's being cast to s16 anyway? -void EmitExpUpdate(u8 bufferId, u8 partyId, u16 expPoints) +void BtlController_EmitExpUpdate(u8 bufferId, u8 partyId, u16 expPoints) { gBattleBuffersTransferData[0] = CONTROLLER_EXPUPDATE; gBattleBuffersTransferData[1] = partyId; @@ -1252,7 +1228,7 @@ void EmitExpUpdate(u8 bufferId, u8 partyId, u16 expPoints) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitStatusIconUpdate(u8 bufferId, u32 status1, u32 status2) +void BtlController_EmitStatusIconUpdate(u8 bufferId, u32 status1, u32 status2) { gBattleBuffersTransferData[0] = CONTROLLER_STATUSICONUPDATE; gBattleBuffersTransferData[1] = status1; @@ -1266,7 +1242,7 @@ void EmitStatusIconUpdate(u8 bufferId, u32 status1, u32 status2) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 9); } -void EmitStatusAnimation(u8 bufferId, bool8 status2, u32 status) +void BtlController_EmitStatusAnimation(u8 bufferId, bool8 status2, u32 status) { gBattleBuffersTransferData[0] = CONTROLLER_STATUSANIMATION; gBattleBuffersTransferData[1] = status2; @@ -1277,14 +1253,14 @@ void EmitStatusAnimation(u8 bufferId, bool8 status2, u32 status) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 6); } -void EmitStatusXor(u8 bufferId, u8 b) +void BtlController_EmitStatusXor(u8 bufferId, u8 b) { gBattleBuffersTransferData[0] = CONTROLLER_STATUSXOR; gBattleBuffersTransferData[1] = b; PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 2); } -void EmitDataTransfer(u8 bufferId, u16 size, void *data) +void BtlController_EmitDataTransfer(u8 bufferId, u16 size, void *data) { s32 i; @@ -1297,7 +1273,7 @@ void EmitDataTransfer(u8 bufferId, u16 size, void *data) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, size + 4); } -void EmitDMA3Transfer(u8 bufferId, void *dst, u16 size, void *data) +void BtlController_EmitDMA3Transfer(u8 bufferId, void *dst, u16 size, void *data) { s32 i; @@ -1313,7 +1289,7 @@ void EmitDMA3Transfer(u8 bufferId, void *dst, u16 size, void *data) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, size + 7); } -void EmitPlayBGM(u8 bufferId, u16 songId, void *unusedDumbDataParameter) +void BtlController_EmitPlayBGM(u8 bufferId, u16 songId, void *unusedDumbDataParameter) { s32 i; @@ -1325,7 +1301,7 @@ void EmitPlayBGM(u8 bufferId, u16 songId, void *unusedDumbDataParameter) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, songId + 3); } -void EmitCmd32(u8 bufferId, u16 size, void *data) +void BtlController_EmitCmd32(u8 bufferId, u16 size, void *data) { s32 i; @@ -1337,7 +1313,7 @@ void EmitCmd32(u8 bufferId, u16 size, void *data) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, size + 3); } -void EmitTwoReturnValues(u8 bufferId, u8 arg1, u16 arg2) +void BtlController_EmitTwoReturnValues(u8 bufferId, u8 arg1, u16 arg2) { gBattleBuffersTransferData[0] = CONTROLLER_TWORETURNVALUES; gBattleBuffersTransferData[1] = arg1; @@ -1346,7 +1322,7 @@ void EmitTwoReturnValues(u8 bufferId, u8 arg1, u16 arg2) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitChosenMonReturnValue(u8 bufferId, u8 b, u8 *c) +void BtlController_EmitChosenMonReturnValue(u8 bufferId, u8 b, u8 *c) { s32 i; @@ -1357,7 +1333,7 @@ void EmitChosenMonReturnValue(u8 bufferId, u8 b, u8 *c) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 5); } -void EmitOneReturnValue(u8 bufferId, u16 arg1) +void BtlController_EmitOneReturnValue(u8 bufferId, u16 arg1) { gBattleBuffersTransferData[0] = CONTROLLER_ONERETURNVALUE; gBattleBuffersTransferData[1] = arg1; @@ -1366,7 +1342,7 @@ void EmitOneReturnValue(u8 bufferId, u16 arg1) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitOneReturnValue_Duplicate(u8 bufferId, u16 b) +void BtlController_EmitOneReturnValue_Duplicate(u8 bufferId, u16 b) { gBattleBuffersTransferData[0] = CONTROLLER_ONERETURNVALUE_DUPLICATE; gBattleBuffersTransferData[1] = b; @@ -1375,7 +1351,7 @@ void EmitOneReturnValue_Duplicate(u8 bufferId, u16 b) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitCmd37(u8 bufferId) +void BtlController_EmitCmd37(u8 bufferId) { gBattleBuffersTransferData[0] = CONTROLLER_37; gBattleBuffersTransferData[1] = CONTROLLER_37; @@ -1384,14 +1360,14 @@ void EmitCmd37(u8 bufferId) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitCmd38(u8 bufferId, u8 b) +void BtlController_EmitCmd38(u8 bufferId, u8 b) { gBattleBuffersTransferData[0] = CONTROLLER_38; gBattleBuffersTransferData[1] = b; PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 2); } -void EmitCmd39(u8 bufferId) +void BtlController_EmitCmd39(u8 bufferId) { gBattleBuffersTransferData[0] = CONTROLLER_39; gBattleBuffersTransferData[1] = CONTROLLER_39; @@ -1400,7 +1376,7 @@ void EmitCmd39(u8 bufferId) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitCmd40(u8 bufferId) +void BtlController_EmitCmd40(u8 bufferId) { gBattleBuffersTransferData[0] = CONTROLLER_40; gBattleBuffersTransferData[1] = CONTROLLER_40; @@ -1409,7 +1385,7 @@ void EmitCmd40(u8 bufferId) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitHitAnimation(u8 bufferId) +void BtlController_EmitHitAnimation(u8 bufferId) { gBattleBuffersTransferData[0] = CONTROLLER_HITANIMATION; gBattleBuffersTransferData[1] = CONTROLLER_HITANIMATION; @@ -1418,7 +1394,7 @@ void EmitHitAnimation(u8 bufferId) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitCmd42(u8 bufferId) +void BtlController_EmitCmd42(u8 bufferId) { gBattleBuffersTransferData[0] = CONTROLLER_42; gBattleBuffersTransferData[1] = CONTROLLER_42; @@ -1427,7 +1403,7 @@ void EmitCmd42(u8 bufferId) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitEffectivenessSound(u8 bufferId, u16 songId) +void BtlController_EmitPlaySE(u8 bufferId, u16 songId) { gBattleBuffersTransferData[0] = CONTROLLER_EFFECTIVENESSSOUND; gBattleBuffersTransferData[1] = songId; @@ -1436,7 +1412,7 @@ void EmitEffectivenessSound(u8 bufferId, u16 songId) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitPlayFanfareOrBGM(u8 bufferId, u16 songId, bool8 playBGM) +void BtlController_EmitPlayFanfareOrBGM(u8 bufferId, u16 songId, bool8 playBGM) { gBattleBuffersTransferData[0] = CONTROLLER_PLAYFANFAREORBGM; gBattleBuffersTransferData[1] = songId; @@ -1445,7 +1421,7 @@ void EmitPlayFanfareOrBGM(u8 bufferId, u16 songId, bool8 playBGM) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitFaintingCry(u8 bufferId) +void BtlController_EmitFaintingCry(u8 bufferId) { gBattleBuffersTransferData[0] = CONTROLLER_FAINTINGCRY; gBattleBuffersTransferData[1] = CONTROLLER_FAINTINGCRY; @@ -1454,14 +1430,14 @@ void EmitFaintingCry(u8 bufferId) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitIntroSlide(u8 bufferId, u8 terrainId) +void BtlController_EmitIntroSlide(u8 bufferId, u8 terrainId) { gBattleBuffersTransferData[0] = CONTROLLER_INTROSLIDE; gBattleBuffersTransferData[1] = terrainId; PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 2); } -void EmitIntroTrainerBallThrow(u8 bufferId) +void BtlController_EmitIntroTrainerBallThrow(u8 bufferId) { gBattleBuffersTransferData[0] = CONTROLLER_INTROTRAINERBALLTHROW; gBattleBuffersTransferData[1] = CONTROLLER_INTROTRAINERBALLTHROW; @@ -1470,7 +1446,7 @@ void EmitIntroTrainerBallThrow(u8 bufferId) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 arg2) +void BtlController_EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 arg2) { s32 i; @@ -1483,7 +1459,7 @@ void EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, sizeof(struct HpAndStatus) * 6 + 4); } -void EmitCmd49(u8 bufferId) +void BtlController_EmitCmd49(u8 bufferId) { gBattleBuffersTransferData[0] = CONTROLLER_49; gBattleBuffersTransferData[1] = CONTROLLER_49; @@ -1492,7 +1468,7 @@ void EmitCmd49(u8 bufferId) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitCmd50(u8 bufferId) +void BtlController_EmitCmd50(u8 bufferId) { gBattleBuffersTransferData[0] = CONTROLLER_50; gBattleBuffersTransferData[1] = CONTROLLER_50; @@ -1501,7 +1477,7 @@ void EmitCmd50(u8 bufferId) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible) +void BtlController_EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible) { gBattleBuffersTransferData[0] = CONTROLLER_SPRITEINVISIBILITY; gBattleBuffersTransferData[1] = isInvisible; @@ -1510,7 +1486,7 @@ void EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument) +void BtlController_EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument) { gBattleBuffersTransferData[0] = CONTROLLER_BATTLEANIMATION; gBattleBuffersTransferData[1] = animationId; @@ -1519,7 +1495,7 @@ void EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitLinkStandbyMsg(u8 bufferId, u8 arg1, bool32 arg2) +void BtlController_EmitLinkStandbyMsg(u8 bufferId, u8 arg1, bool32 arg2) { bool8 arg2_ = arg2; gBattleBuffersTransferData[0] = CONTROLLER_LINKSTANDBYMSG; @@ -1533,14 +1509,14 @@ void EmitLinkStandbyMsg(u8 bufferId, u8 arg1, bool32 arg2) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, gBattleBuffersTransferData[2] + 4); } -void EmitResetActionMoveSelection(u8 bufferId, u8 caseId) +void BtlController_EmitResetActionMoveSelection(u8 bufferId, u8 caseId) { gBattleBuffersTransferData[0] = CONTROLLER_RESETACTIONMOVESELECTION; gBattleBuffersTransferData[1] = caseId; PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 2); } -void EmitCmd55(u8 bufferId, u8 arg1) +void BtlController_EmitCmd55(u8 bufferId, u8 arg1) { gBattleBuffersTransferData[0] = CONTROLLER_55; gBattleBuffersTransferData[1] = arg1; diff --git a/src/battle_dome_cards.c b/src/battle_dome_cards.c index e6c67b20e9..076a4d3428 100644 --- a/src/battle_dome_cards.c +++ b/src/battle_dome_cards.c @@ -4,7 +4,7 @@ #include "sprite.h" #include "window.h" #include "malloc.h" -#include "species.h" +#include "constants/species.h" #include "palette.h" #include "decompress.h" #include "battle_dome_cards.h" @@ -19,7 +19,7 @@ extern const union AffineAnimCmd *const gUnknown_082FF694[]; extern const union AnimCmd *const gUnknown_082FF70C[]; extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[NUM_SPECIES]; extern const union AnimCmd *const *const gUnknown_0830536C[]; -extern const u8 gUnknown_0831F578[]; +extern const u8 gFacilityClassToPicIndex[]; // Static type declarations @@ -119,7 +119,7 @@ static void sub_818D0C4(u16 species, u32 otId, u32 personality, u8 paletteSlot, if (paletteTag == 0xFFFF) { gUnknown_0203CCEC.paletteTag |= 0xFFFF; - LoadCompressedPalette(species_and_otid_get_pal(species, otId, personality), 0x100 + paletteSlot * 0x10, 0x20); + LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, otId, personality), 0x100 + paletteSlot * 0x10, 0x20); } else { @@ -146,7 +146,7 @@ static void sub_818D180(u16 species, u32 otId, u32 personality, u8 paletteSlot, { if (!isTrainer) { - LoadCompressedPalette(species_and_otid_get_pal(species, otId, personality), paletteSlot * 0x10, 0x20); + LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, otId, personality), paletteSlot * 0x10, 0x20); } else { @@ -421,9 +421,9 @@ u8 sub_818D97C(u8 a0, u8 a1) switch (a0) { default: - return gUnknown_0831F578[0x3F]; + return gFacilityClassToPicIndex[0x3F]; case 0: - return gUnknown_0831F578[0x3C]; + return gFacilityClassToPicIndex[0x3C]; } } return a0; diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c new file mode 100644 index 0000000000..803b3eeab4 --- /dev/null +++ b/src/battle_gfx_sfx_util.c @@ -0,0 +1,1291 @@ +#include "global.h" +#include "battle.h" +#include "battle_controllers.h" +#include "battle_ai_script_commands.h" +#include "battle_anim.h" +#include "constants/battle_anim.h" +#include "battle_interface.h" +#include "main.h" +#include "malloc.h" +#include "random.h" +#include "util.h" +#include "pokemon.h" +#include "constants/moves.h" +#include "task.h" +#include "sprite.h" +#include "sound.h" +#include "m4a.h" +#include "constants/species.h" +#include "decompress.h" +#include "data2.h" +#include "palette.h" +#include "blend_palette.h" +#include "contest.h" +#include "constants/songs.h" +#include "constants/rgb.h" + +extern struct MusicPlayerInfo gMPlayInfo_SE1; +extern struct MusicPlayerInfo gMPlayInfo_SE2; +extern struct MusicPlayerInfo gMPlayInfo_BGM; + +extern const struct BattleMove gBattleMoves[]; +extern const u8 gUnknown_0831C604[]; +extern const u8 * const gBattleAnims_VariousTable[]; +extern const u8 * const gBattleAnims_Special[]; +extern const struct CompressedSpriteSheet gMonFrontPicTable[]; +extern const struct CompressedSpriteSheet gMonBackPicTable[]; +extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; +extern const struct CompressedSpriteSheet gTrainerBackPicTable[]; +extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; +extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; +extern const union AnimCmd* const * const gMonAnimationsSpriteAnimsPtrTable[]; +extern const struct SpriteTemplate gUnknown_08329D98[4]; +extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow; +extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow; +extern const u8 gEnemyMonElevation[]; + +// graphics +extern const u32 gUnknown_08C093F0[]; +extern const u32 gSubstituteDollTilemap[]; +extern const u32 gSubstituteDollGfx[]; +extern const u16 gSubstituteDollPal[]; +extern const u8 gUnknown_08C1F1C8[]; +extern const u8 gUnknown_08C1F46C[]; +extern const u8 gUnknown_08C1F5E8[]; +extern const u8 gUnknown_08C1F76C[]; +extern const u8 gUnknown_08C1F8E8[]; +extern const u8 gBlankGfxCompressed[]; +extern const u16 gBattleInterface_BallStatusBarPal[]; +extern const u16 gBattleInterface_BallDisplayPal[]; + +extern u8 sub_80688F8(u8, u8 battlerId); +extern u8 pokemon_order_func(u8); // party menu +extern void sub_81B8C68(void); + +// this file's functions +static u8 sub_805D4A8(u16 move); +static u16 BattlePalaceGetTargetRetValue(void); +static void sub_805D7EC(struct Sprite *sprite); +static bool8 ShouldAnimBeDoneRegardlessOfSubsitute(u8 animId); +static void Task_ClearBitWhenBattleTableAnimDone(u8 taskId); +static void Task_ClearBitWhenSpecialAnimDone(u8 taskId); +static void ClearSpritesBankHealthboxAnimData(void); + +// const rom data +static const struct CompressedSpriteSheet gUnknown_0832C0D0 = +{ + gUnknown_08C1F1C8, 0x1000, TAG_HEALTHBOX_PLAYER1_TILE +}; + +static const struct CompressedSpriteSheet gUnknown_0832C0D8 = +{ + gUnknown_08C1F46C, 0x1000, TAG_HEALTHBOX_OPPONENT1_TILE +}; + +static const struct CompressedSpriteSheet gUnknown_0832C0E0[2] = +{ + {gUnknown_08C1F5E8, 0x800, TAG_HEALTHBOX_PLAYER1_TILE}, + {gUnknown_08C1F5E8, 0x800, TAG_HEALTHBOX_PLAYER2_TILE} +}; + +static const struct CompressedSpriteSheet gUnknown_0832C0F0[2] = +{ + {gUnknown_08C1F76C, 0x800, TAG_HEALTHBOX_OPPONENT1_TILE}, + {gUnknown_08C1F76C, 0x800, TAG_HEALTHBOX_OPPONENT2_TILE} +}; + +static const struct CompressedSpriteSheet gUnknown_0832C100 = +{ + gUnknown_08C1F8E8, 0x1000, TAG_HEALTHBOX_SAFARI_TILE +}; + +static const struct CompressedSpriteSheet gUnknown_0832C108[MAX_BATTLERS_COUNT] = +{ + {gBlankGfxCompressed, 0x0100, 0xd704}, + {gBlankGfxCompressed, 0x0120, 0xd705}, + {gBlankGfxCompressed, 0x0100, 0xd706}, + {gBlankGfxCompressed, 0x0120, 0xd707} +}; + +static const struct SpritePalette gUnknown_0832C128[2] = +{ + {gBattleInterface_BallStatusBarPal, TAG_HEALTHBOX_PAL}, + {gBattleInterface_BallDisplayPal, 0xd704} +}; + +// code +void AllocateBattleSpritesData(void) +{ + gBattleSpritesDataPtr = AllocZeroed(sizeof(struct BattleSpriteData)); + gBattleSpritesDataPtr->battlerData = AllocZeroed(sizeof(struct BattleSpriteInfo) * MAX_BATTLERS_COUNT); + gBattleSpritesDataPtr->healthBoxesData = AllocZeroed(sizeof(struct BattleHealthboxInfo) * MAX_BATTLERS_COUNT); + gBattleSpritesDataPtr->animationData = AllocZeroed(sizeof(struct BattleAnimationInfo)); + gBattleSpritesDataPtr->battleBars = AllocZeroed(sizeof(struct BattleBarInfo) * MAX_BATTLERS_COUNT); +} + +void FreeBattleSpritesData(void) +{ + if (gBattleSpritesDataPtr == NULL) + return; + + FREE_AND_SET_NULL(gBattleSpritesDataPtr->battleBars); + FREE_AND_SET_NULL(gBattleSpritesDataPtr->animationData); + FREE_AND_SET_NULL(gBattleSpritesDataPtr->healthBoxesData); + FREE_AND_SET_NULL(gBattleSpritesDataPtr->battlerData); + FREE_AND_SET_NULL(gBattleSpritesDataPtr); +} + +u16 ChooseMoveAndTargetInBattlePalace(void) +{ + s32 i, var1, var2; + s32 chosenMoveId = -1; + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBattler][4]); + u8 unusableMovesBits = CheckMoveLimitations(gActiveBattler, 0, 0xFF); + s32 percent = Random() % 100; + + i = (gBattleStruct->field_92 & gBitTable[gActiveBattler]) ? 2 : 0; + var2 = i; + var1 = i + 2; + + for (; i < var1; i++) + { + if (gUnknown_0831C494[GetNatureFromPersonality(gBattleMons[gActiveBattler].personality)][i] > percent) + break; + } + + percent = i - var2; + if (i == var1) + percent = 2; + + for (var2 = 0, i = 0; i < 4; i++) + { + if (moveInfo->moves[i] == MOVE_NONE) + break; + if (percent == sub_805D4A8(moveInfo->moves[i]) && moveInfo->currentPp[i] != 0) + var2 |= gBitTable[i]; + } + + if (var2 != 0) + { + gBattleStruct->field_92 &= 0xF; + gBattleStruct->field_92 |= (var2 << 4); + BattleAI_SetupAIData(var2); + chosenMoveId = BattleAI_ChooseMoveOrAction(); + } + + if (chosenMoveId == -1) + { + if (unusableMovesBits != 0xF) + { + var1 = 0, var2 = 0; + + for (i = 0; i < 4; i++) + { + if (sub_805D4A8(moveInfo->moves[i]) == 0 && !(gBitTable[i] & unusableMovesBits)) + var1 += 0x1; + if (sub_805D4A8(moveInfo->moves[i]) == 1 && !(gBitTable[i] & unusableMovesBits)) + var1 += 0x10; + if (sub_805D4A8(moveInfo->moves[i]) == 2 && !(gBitTable[i] & unusableMovesBits)) + var1 += 0x100; + } + + if ((var1 & 0xF) > 1) + var2++; + if ((var1 & 0xF0) > 0x1F) + var2++; + if ((var1 & 0xF0) > 0x1FF) + var2++; + + if (var2 > 1 || var2 == 0) + { + do + { + i = Random() % 4; + if (!(gBitTable[i] & unusableMovesBits)) + chosenMoveId = i; + } while (chosenMoveId == -1); + } + else + { + if ((var1 & 0xF) > 1) + var2 = 0; + if ((var1 & 0xF0) > 0x1F) + var2 = 1; + if ((var1 & 0xF0) > 0x1FF) + var2 = 2; + + do + { + i = Random() % 4; + if (!(gBitTable[i] & unusableMovesBits) && var2 == sub_805D4A8(moveInfo->moves[i])) + chosenMoveId = i; + } while (chosenMoveId == -1); + } + + if (Random() % 100 > 49) + { + gProtectStructs[gActiveBattler].flag_x10 = 1; + return 0; + } + } + else + { + gProtectStructs[gActiveBattler].flag_x10 = 1; + return 0; + } + } + + if (moveInfo->moves[chosenMoveId] == MOVE_CURSE) + { + if (moveInfo->monType1 != TYPE_GHOST && moveInfo->monType2 != TYPE_GHOST) + var1 = MOVE_TARGET_x10; + else + var1 = MOVE_TARGET_SELECTED; + } + else + { + var1 = gBattleMoves[moveInfo->moves[chosenMoveId]].target; + } + + if (var1 & MOVE_TARGET_x10) + chosenMoveId |= (gActiveBattler << 8); + else if (var1 == MOVE_TARGET_SELECTED) + chosenMoveId |= (BattlePalaceGetTargetRetValue()); + else + chosenMoveId |= (GetBattlerAtPosition((GetBattlerPosition(gActiveBattler) & BIT_SIDE) ^ BIT_SIDE) << 8); + + return chosenMoveId; +} + +static u8 sub_805D4A8(u16 move) +{ + switch (gBattleMoves[move].target) + { + case MOVE_TARGET_SELECTED: + case MOVE_TARGET_USER: + case MOVE_TARGET_RANDOM: + case MOVE_TARGET_BOTH: + case MOVE_TARGET_FOES_AND_ALLY: + if (gBattleMoves[move].power == 0) + return 2; + else + return 0; + break; + case MOVE_TARGET_DEPENDS: + case MOVE_TARGET_OPPONENTS_FIELD: + return 2; + case MOVE_TARGET_x10: + return 1; + default: + return 0; + } +} + +static u16 BattlePalaceGetTargetRetValue(void) +{ + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + u8 opposing1, opposing2; + + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + { + opposing1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + opposing2 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + } + else + { + opposing1 = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + opposing2 = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); + } + + if (gBattleMons[opposing1].hp == gBattleMons[opposing2].hp) + return (((gActiveBattler & BIT_SIDE) ^ BIT_SIDE) + (Random() & 2)) << 8; + + switch (gUnknown_0831C604[GetNatureFromPersonality(gBattleMons[gActiveBattler].personality)]) + { + case 0: + if (gBattleMons[opposing1].hp > gBattleMons[opposing2].hp) + return opposing1 << 8; + else + return opposing2 << 8; + case 1: + if (gBattleMons[opposing1].hp < gBattleMons[opposing2].hp) + return opposing1 << 8; + else + return opposing2 << 8; + case 2: + return (((gActiveBattler & BIT_SIDE) ^ BIT_SIDE) + (Random() & 2)) << 8; + } + } + + return (gActiveBattler ^ BIT_SIDE) << 8; +} + +void sub_805D714(struct Sprite *sprite) +{ + u8 spriteId = sprite->data[1]; + + if (!gSprites[spriteId].affineAnimEnded) + return; + if (gSprites[spriteId].invisible) + return; + + if (gSprites[spriteId].animPaused) + { + gSprites[spriteId].animPaused = 0; + } + else + { + if (gSprites[spriteId].animEnded) + sprite->callback = SpriteCallbackDummy; + } +} + +void sub_805D770(struct Sprite *sprite, bool8 arg1) +{ + sprite->animPaused = 1; + sprite->callback = SpriteCallbackDummy; + + if (!arg1) + StartSpriteAffineAnim(sprite, 1); + else + StartSpriteAffineAnim(sprite, 1); + + AnimateSprite(sprite); +} + +void sub_805D7AC(struct Sprite *sprite) +{ + if (!(gIntroSlideFlags & 1)) + { + sprite->pos2.x += sprite->data[0]; + if (sprite->pos2.x == 0) + { + if (sprite->pos2.y != 0) + sprite->callback = sub_805D7EC; + else + sprite->callback = SpriteCallbackDummy; + } + } +} + +static void sub_805D7EC(struct Sprite *sprite) +{ + sprite->pos2.y -= 2; + if (sprite->pos2.y == 0) + sprite->callback = SpriteCallbackDummy; +} + +void InitAndLaunchChosenStatusAnimation(bool8 isStatus2, u32 status) +{ + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive = 1; + if (!isStatus2) + { + if (status == STATUS1_FREEZE) + LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_FRZ); + else if (status == STATUS1_POISON || status & STATUS1_TOXIC_POISON) + LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_PSN); + else if (status == STATUS1_BURN) + LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_BRN); + else if (status & STATUS1_SLEEP) + LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_SLP); + else if (status == STATUS1_PARALYSIS) + LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_PRZ); + else // no animation + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive = 0; + } + else + { + if (status & STATUS2_INFATUATION) + LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_INFATUATION); + else if (status & STATUS2_CONFUSION) + LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_CONFUSION); + else if (status & STATUS2_CURSED) + LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_CURSED); + else if (status & STATUS2_NIGHTMARE) + LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_NIGHTMARE); + else if (status & STATUS2_WRAPPED) + LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_WRAPPED); // this animation doesn't actually exist + else // no animation + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive = 0; + } +} + +#define tBattlerId data[0] + +bool8 TryHandleLaunchBattleTableAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId, u16 argument) +{ + u8 taskId; + + if (tableId == B_ANIM_CASTFORM_CHANGE && (argument & 0x80)) + { + gBattleMonForms[activeBank] = (argument & ~(0x80)); + return TRUE; + } + if (gBattleSpritesDataPtr->battlerData[activeBank].behindSubstitute + && !ShouldAnimBeDoneRegardlessOfSubsitute(tableId)) + { + return TRUE; + } + if (gBattleSpritesDataPtr->battlerData[activeBank].behindSubstitute + && tableId == B_ANIM_SUBSTITUTE_FADE + && gSprites[gBattlerSpriteIds[activeBank]].invisible) + { + LoadBattleMonGfxAndAnimate(activeBank, TRUE, gBattlerSpriteIds[activeBank]); + ClearBehindSubstituteBit(activeBank); + return TRUE; + } + + gBattleAnimAttacker = atkBank; + gBattleAnimTarget = defBank; + gBattleSpritesDataPtr->animationData->animArg = argument; + LaunchBattleAnimation(gBattleAnims_VariousTable, tableId, FALSE); + taskId = CreateTask(Task_ClearBitWhenBattleTableAnimDone, 10); + gTasks[taskId].tBattlerId = activeBank; + gBattleSpritesDataPtr->healthBoxesData[gTasks[taskId].tBattlerId].animFromTableActive = 1; + + return FALSE; +} + +static void Task_ClearBitWhenBattleTableAnimDone(u8 taskId) +{ + gAnimScriptCallback(); + if (!gAnimScriptActive) + { + gBattleSpritesDataPtr->healthBoxesData[gTasks[taskId].tBattlerId].animFromTableActive = 0; + DestroyTask(taskId); + } +} + +#undef tBattlerId + +static bool8 ShouldAnimBeDoneRegardlessOfSubsitute(u8 animId) +{ + switch (animId) + { + case B_ANIM_SUBSTITUTE_FADE: + case B_ANIM_RAIN_CONTINUES: + case B_ANIM_SUN_CONTINUES: + case B_ANIM_SANDSTORM_CONTINUES: + case B_ANIM_HAIL_CONTINUES: + case B_ANIM_SNATCH_MOVE: + return TRUE; + default: + return FALSE; + } +} + +#define tBattlerId data[0] + +void InitAndLaunchSpecialAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId) +{ + u8 taskId; + + gBattleAnimAttacker = atkBank; + gBattleAnimTarget = defBank; + LaunchBattleAnimation(gBattleAnims_Special, tableId, FALSE); + taskId = CreateTask(Task_ClearBitWhenSpecialAnimDone, 10); + gTasks[taskId].tBattlerId = activeBank; + gBattleSpritesDataPtr->healthBoxesData[gTasks[taskId].tBattlerId].specialAnimActive = 1; +} + +static void Task_ClearBitWhenSpecialAnimDone(u8 taskId) +{ + gAnimScriptCallback(); + if (!gAnimScriptActive) + { + gBattleSpritesDataPtr->healthBoxesData[gTasks[taskId].tBattlerId].specialAnimActive = 0; + DestroyTask(taskId); + } +} + +#undef tBattlerId + +// great function to include newly added moves that don't have animation yet +bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn) +{ + return FALSE; +} + +bool8 mplay_80342A4(u8 battlerId) +{ + u8 zero = 0; + + if (IsSEPlaying()) + { + gBattleSpritesDataPtr->healthBoxesData[battlerId].field_8++; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_8 < 30) + return TRUE; + + m4aMPlayStop(&gMPlayInfo_SE1); + m4aMPlayStop(&gMPlayInfo_SE2); + } + if (zero == 0) + { + gBattleSpritesDataPtr->healthBoxesData[battlerId].field_8 = 0; + return FALSE; + } + + return TRUE; +} + +void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId) +{ + u32 monsPersonality, currentPersonality, otId; + u16 species; + u8 position; + u16 paletteOffset; + const void *lzPaletteData; + + monsPersonality = GetMonData(mon, MON_DATA_PERSONALITY); + + if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE) + { + species = GetMonData(mon, MON_DATA_SPECIES); + currentPersonality = monsPersonality; + } + else + { + species = gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies; + currentPersonality = gTransformedPersonalities[battlerId]; + } + + otId = GetMonData(mon, MON_DATA_OT_ID); + position = GetBattlerPosition(battlerId); + HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], + gMonSpritesGfxPtr->sprites[position], + species, currentPersonality); + + paletteOffset = 0x100 + battlerId * 16; + + if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE) + lzPaletteData = GetMonFrontSpritePal(mon); + else + lzPaletteData = GetFrontSpritePalFromSpeciesAndPersonality(species, otId, monsPersonality); + + LZDecompressWram(lzPaletteData, gDecompressionBuffer); + LoadPalette(gDecompressionBuffer, paletteOffset, 0x20); + LoadPalette(gDecompressionBuffer, 0x80 + battlerId * 16, 0x20); + + if (species == SPECIES_CASTFORM) + { + paletteOffset = 0x100 + battlerId * 16; + LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette[0]); + LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, 0x20); + } + + // transform's pink color + if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE) + { + BlendPalette(paletteOffset, 16, 6, RGB_WHITE); + CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32); + } +} + +void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId) +{ + u32 monsPersonality, currentPersonality, otId; + u16 species; + u8 position; + u16 paletteOffset; + const void *lzPaletteData; + + monsPersonality = GetMonData(mon, MON_DATA_PERSONALITY); + + if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE) + { + species = GetMonData(mon, MON_DATA_SPECIES); + currentPersonality = monsPersonality; + } + else + { + species = gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies; + currentPersonality = gTransformedPersonalities[battlerId]; + } + + otId = GetMonData(mon, MON_DATA_OT_ID); + position = GetBattlerPosition(battlerId); + + if (sub_80688F8(1, battlerId) == 1 || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE) + { + HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species], + gMonSpritesGfxPtr->sprites[position], + species, currentPersonality); + } + else + { + HandleLoadSpecialPokePic(&gMonBackPicTable[species], + gMonSpritesGfxPtr->sprites[position], + species, currentPersonality); + } + + paletteOffset = 0x100 + battlerId * 16; + + if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE) + lzPaletteData = GetMonFrontSpritePal(mon); + else + lzPaletteData = GetFrontSpritePalFromSpeciesAndPersonality(species, otId, monsPersonality); + + LZDecompressWram(lzPaletteData, gDecompressionBuffer); + LoadPalette(gDecompressionBuffer, paletteOffset, 0x20); + LoadPalette(gDecompressionBuffer, 0x80 + battlerId * 16, 0x20); + + if (species == SPECIES_CASTFORM) + { + paletteOffset = 0x100 + battlerId * 16; + LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette[0]); + LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, 0x20); + } + + // transform's pink color + if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE) + { + BlendPalette(paletteOffset, 16, 6, RGB_WHITE); + CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32); + } +} + +void nullsub_23(void) +{ +} + +void nullsub_24(u16 species) +{ +} + +void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId) +{ + u8 position = GetBattlerPosition(battlerId); + DecompressPicFromTable_2(&gTrainerFrontPicTable[frontPicId], + gMonSpritesGfxPtr->sprites[position], + SPECIES_NONE); + LoadCompressedObjectPalette(&gTrainerFrontPicPaletteTable[frontPicId]); +} + +void DecompressTrainerBackPic(u16 backPicId, u8 battlerId) +{ + u8 position = GetBattlerPosition(battlerId); + DecompressPicFromTable_2(&gTrainerBackPicTable[backPicId], + gMonSpritesGfxPtr->sprites[position], + SPECIES_NONE); + LoadCompressedPalette(gTrainerBackPicPaletteTable[backPicId].data, + 0x100 + 16 * battlerId, 0x20); +} + +void nullsub_25(u8 arg0) +{ +} + +void FreeTrainerFrontPicPalette(u16 frontPicId) +{ + FreeSpritePaletteByTag(gTrainerFrontPicPaletteTable[frontPicId].tag); +} + +void sub_805DFFC(void) +{ + u8 numberOfBanks = 0; + u8 i; + + LoadSpritePalette(&gUnknown_0832C128[0]); + LoadSpritePalette(&gUnknown_0832C128[1]); + if (!IsDoubleBattle()) + { + LoadCompressedObjectPic(&gUnknown_0832C0D0); + LoadCompressedObjectPic(&gUnknown_0832C0D8); + numberOfBanks = 2; + } + else + { + LoadCompressedObjectPic(&gUnknown_0832C0E0[0]); + LoadCompressedObjectPic(&gUnknown_0832C0E0[1]); + LoadCompressedObjectPic(&gUnknown_0832C0F0[0]); + LoadCompressedObjectPic(&gUnknown_0832C0F0[1]); + numberOfBanks = 4; + } + for (i = 0; i < numberOfBanks; i++) + LoadCompressedObjectPic(&gUnknown_0832C108[gBattlerPositions[i]]); +} + +bool8 BattleLoadAllHealthBoxesGfx(u8 state) +{ + bool8 retVal = FALSE; + + if (state != 0) + { + if (state == 1) + { + LoadSpritePalette(&gUnknown_0832C128[0]); + LoadSpritePalette(&gUnknown_0832C128[1]); + } + else if (!IsDoubleBattle()) + { + if (state == 2) + { + if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) + LoadCompressedObjectPic(&gUnknown_0832C100); + else + LoadCompressedObjectPic(&gUnknown_0832C0D0); + } + else if (state == 3) + LoadCompressedObjectPic(&gUnknown_0832C0D8); + else if (state == 4) + LoadCompressedObjectPic(&gUnknown_0832C108[gBattlerPositions[0]]); + else if (state == 5) + LoadCompressedObjectPic(&gUnknown_0832C108[gBattlerPositions[1]]); + else + retVal = TRUE; + } + else + { + if (state == 2) + LoadCompressedObjectPic(&gUnknown_0832C0E0[0]); + else if (state == 3) + LoadCompressedObjectPic(&gUnknown_0832C0E0[1]); + else if (state == 4) + LoadCompressedObjectPic(&gUnknown_0832C0F0[0]); + else if (state == 5) + LoadCompressedObjectPic(&gUnknown_0832C0F0[1]); + else if (state == 6) + LoadCompressedObjectPic(&gUnknown_0832C108[gBattlerPositions[0]]); + else if (state == 7) + LoadCompressedObjectPic(&gUnknown_0832C108[gBattlerPositions[1]]); + else if (state == 8) + LoadCompressedObjectPic(&gUnknown_0832C108[gBattlerPositions[2]]); + else if (state == 9) + LoadCompressedObjectPic(&gUnknown_0832C108[gBattlerPositions[3]]); + else + retVal = TRUE; + } + } + + return retVal; +} + +void LoadBattleBarGfx(u8 arg0) +{ + LZDecompressWram(gUnknown_08C093F0, gMonSpritesGfxPtr->barFontGfx); +} + +bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId) +{ + bool8 retVal = FALSE; + + switch (*state1) + { + case 0: + ClearSpritesBankHealthboxAnimData(); + (*state1)++; + break; + case 1: + if (!BattleLoadAllHealthBoxesGfx(*battlerId)) + { + (*battlerId)++; + } + else + { + *battlerId = 0; + (*state1)++; + } + break; + case 2: + (*state1)++; + break; + case 3: + if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) && *battlerId == 0) + gHealthboxSpriteIds[*battlerId] = CreateSafariPlayerHealthboxSprites(); + else + gHealthboxSpriteIds[*battlerId] = CreateBattlerHealthboxSprites(*battlerId); + + (*battlerId)++; + if (*battlerId == gBattlersCount) + { + *battlerId = 0; + (*state1)++; + } + break; + case 4: + InitBattlerHealthboxCoords(*battlerId); + if (gBattlerPositions[*battlerId] <= 1) + DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battlerId], FALSE); + else + DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battlerId], TRUE); + + (*battlerId)++; + if (*battlerId == gBattlersCount) + { + *battlerId = 0; + (*state1)++; + } + break; + case 5: + if (GetBattlerSide(*battlerId) == B_SIDE_PLAYER) + { + if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) + UpdateHealthboxAttribute(gHealthboxSpriteIds[*battlerId], &gPlayerParty[gBattlerPartyIndexes[*battlerId]], HEALTHBOX_ALL); + } + else + { + UpdateHealthboxAttribute(gHealthboxSpriteIds[*battlerId], &gEnemyParty[gBattlerPartyIndexes[*battlerId]], HEALTHBOX_ALL); + } + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[*battlerId]); + (*battlerId)++; + if (*battlerId == gBattlersCount) + { + *battlerId = 0; + (*state1)++; + } + break; + case 6: + LoadAndCreateEnemyShadowSprites(); + sub_81B8C68(); + retVal = TRUE; + break; + } + + return retVal; +} + +void ClearSpritesHealthboxAnimData(void) +{ + memset(gBattleSpritesDataPtr->healthBoxesData, 0, sizeof(struct BattleHealthboxInfo) * MAX_BATTLERS_COUNT); + memset(gBattleSpritesDataPtr->animationData, 0, sizeof(struct BattleAnimationInfo)); +} + +static void ClearSpritesBankHealthboxAnimData(void) +{ + ClearSpritesHealthboxAnimData(); + memset(gBattleSpritesDataPtr->battlerData, 0, sizeof(struct BattleSpriteInfo) * MAX_BATTLERS_COUNT); +} + +void CopyAllBattleSpritesInvisibilities(void) +{ + s32 i; + + for (i = 0; i < gBattlersCount; i++) + gBattleSpritesDataPtr->battlerData[i].invisible = gSprites[gBattlerSpriteIds[i]].invisible; +} + +void CopyBattleSpriteInvisibility(u8 battlerId) +{ + gBattleSpritesDataPtr->battlerData[battlerId].invisible = gSprites[gBattlerSpriteIds[battlerId]].invisible; +} + +void HandleSpeciesGfxDataChange(u8 bankAtk, u8 bankDef, bool8 notTransform) +{ + u16 paletteOffset; + u32 personalityValue; + u32 otId; + u8 position; + const u8 *lzPaletteData; + + if (notTransform) + { + StartSpriteAnim(&gSprites[gBattlerSpriteIds[bankAtk]], gBattleSpritesDataPtr->animationData->animArg); + paletteOffset = 0x100 + bankAtk * 16; + LoadPalette(gBattleStruct->castformPalette[gBattleSpritesDataPtr->animationData->animArg], paletteOffset, 32); + gBattleMonForms[bankAtk] = gBattleSpritesDataPtr->animationData->animArg; + if (gBattleSpritesDataPtr->battlerData[bankAtk].transformSpecies != SPECIES_NONE) + { + BlendPalette(paletteOffset, 16, 6, RGB_WHITE); + CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32); + } + gSprites[gBattlerSpriteIds[bankAtk]].pos1.y = GetBattlerSpriteDefault_Y(bankAtk); + } + else + { + const void *src; + void *dst; + u16 targetSpecies; + + if (IsContest()) + { + position = 0; + targetSpecies = gContestResources->field_18->field_2; + personalityValue = gContestResources->field_18->field_8; + otId = gContestResources->field_18->field_C; + + HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[targetSpecies], + gMonSpritesGfxPtr->sprites[0], + targetSpecies, + gContestResources->field_18->field_10); + } + else + { + position = GetBattlerPosition(bankAtk); + + if (GetBattlerSide(bankDef) == B_SIDE_OPPONENT) + targetSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[bankDef]], MON_DATA_SPECIES); + else + targetSpecies = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bankDef]], MON_DATA_SPECIES); + + if (GetBattlerSide(bankAtk) == B_SIDE_PLAYER) + { + personalityValue = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bankAtk]], MON_DATA_PERSONALITY); + otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bankAtk]], MON_DATA_OT_ID); + + HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[targetSpecies], + gMonSpritesGfxPtr->sprites[position], + targetSpecies, + gTransformedPersonalities[bankAtk]); + } + else + { + personalityValue = GetMonData(&gEnemyParty[gBattlerPartyIndexes[bankAtk]], MON_DATA_PERSONALITY); + otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[bankAtk]], MON_DATA_OT_ID); + + HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[targetSpecies], + gMonSpritesGfxPtr->sprites[position], + targetSpecies, + gTransformedPersonalities[bankAtk]); + } + } + + src = gMonSpritesGfxPtr->sprites[position]; + dst = (void *)(VRAM + 0x10000 + gSprites[gBattlerSpriteIds[bankAtk]].oam.tileNum * 32); + DmaCopy32(3, src, dst, 0x800); + paletteOffset = 0x100 + bankAtk * 16; + lzPaletteData = GetFrontSpritePalFromSpeciesAndPersonality(targetSpecies, otId, personalityValue); + LZDecompressWram(lzPaletteData, gDecompressionBuffer); + LoadPalette(gDecompressionBuffer, paletteOffset, 32); + + if (targetSpecies == SPECIES_CASTFORM) + { + gSprites[gBattlerSpriteIds[bankAtk]].anims = gMonAnimationsSpriteAnimsPtrTable[targetSpecies]; + LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette[0]); + LoadPalette(gBattleStruct->castformPalette[0] + gBattleMonForms[bankDef] * 16, paletteOffset, 32); + } + + BlendPalette(paletteOffset, 16, 6, RGB_WHITE); + CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32); + + if (!IsContest()) + { + gBattleSpritesDataPtr->battlerData[bankAtk].transformSpecies = targetSpecies; + gBattleMonForms[bankAtk] = gBattleMonForms[bankDef]; + } + + gSprites[gBattlerSpriteIds[bankAtk]].pos1.y = GetBattlerSpriteDefault_Y(bankAtk); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[bankAtk]], gBattleMonForms[bankAtk]); + } +} + +void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite) +{ + u8 position; + s32 i; + u32 var; + const void *substitutePal; + + if (!loadMonSprite) + { + if (IsContest()) + position = 0; + else + position = GetBattlerPosition(battlerId); + + if (IsContest()) + LZDecompressVram(gSubstituteDollTilemap, gMonSpritesGfxPtr->sprites[position]); + else if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + LZDecompressVram(gSubstituteDollGfx, gMonSpritesGfxPtr->sprites[position]); + else + LZDecompressVram(gSubstituteDollTilemap, gMonSpritesGfxPtr->sprites[position]); + + i = 1; + var = battlerId * 16; + substitutePal = gSubstituteDollPal; + for (; i < 4; i++) + { + register void *dmaSrc asm("r0") = gMonSpritesGfxPtr->sprites[position]; + void *dmaDst = (i * 0x800) + dmaSrc; + u32 dmaSize = 0x800; + DmaCopy32(3, dmaSrc, dmaDst, dmaSize); + i++;i--; + } + + LoadCompressedPalette(substitutePal, 0x100 + var, 32); + } + else + { + if (!IsContest()) + { + if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); + else + BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battlerId]], battlerId); + } + } +} + +void LoadBattleMonGfxAndAnimate(u8 battlerId, bool8 loadMonSprite, u8 spriteId) +{ + BattleLoadSubstituteOrMonSpriteGfx(battlerId, loadMonSprite); + StartSpriteAnim(&gSprites[spriteId], gBattleMonForms[battlerId]); + + if (!loadMonSprite) + gSprites[spriteId].pos1.y = GetSubstituteSpriteDefault_Y(battlerId); + else + gSprites[spriteId].pos1.y = GetBattlerSpriteDefault_Y(battlerId); +} + +void TrySetBehindSubstituteSpriteBit(u8 battlerId, u16 move) +{ + if (move == MOVE_SUBSTITUTE) + gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute = 1; +} + +void ClearBehindSubstituteBit(u8 battlerId) +{ + gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute = 0; +} + +void HandleLowHpMusicChange(struct Pokemon *mon, u8 battlerId) +{ + u16 hp = GetMonData(mon, MON_DATA_HP); + u16 maxHP = GetMonData(mon, MON_DATA_MAX_HP); + + if (GetHPBarLevel(hp, maxHP) == HP_BAR_RED) + { + if (!gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong) + { + if (!gBattleSpritesDataPtr->battlerData[battlerId ^ BIT_FLANK].lowHpSong) + PlaySE(SE_HINSI); + gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong = 1; + } + } + else + { + gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong = 0; + if (!IsDoubleBattle()) + { + m4aSongNumStop(SE_HINSI); + return; + } + if (IsDoubleBattle() && !gBattleSpritesDataPtr->battlerData[battlerId ^ BIT_FLANK].lowHpSong) + { + m4aSongNumStop(SE_HINSI); + return; + } + } +} + +void BattleStopLowHpSound(void) +{ + u8 playerBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + + gBattleSpritesDataPtr->battlerData[playerBank].lowHpSong = 0; + if (IsDoubleBattle()) + gBattleSpritesDataPtr->battlerData[playerBank ^ BIT_FLANK].lowHpSong = 0; + + m4aSongNumStop(SE_HINSI); +} + +u8 GetMonHPBarLevel(struct Pokemon *mon) +{ + u16 hp = GetMonData(mon, MON_DATA_HP); + u16 maxHP = GetMonData(mon, MON_DATA_MAX_HP); + + return GetHPBarLevel(hp, maxHP); +} + +void sub_805EAE8(void) +{ + if (gMain.inBattle) + { + u8 playerBank1 = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + u8 playerBank2 = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); + u8 bank1PartyId = pokemon_order_func(gBattlerPartyIndexes[playerBank1]); + u8 bank2PartyId = pokemon_order_func(gBattlerPartyIndexes[playerBank2]); + + if (GetMonData(&gPlayerParty[bank1PartyId], MON_DATA_HP) != 0) + HandleLowHpMusicChange(&gPlayerParty[bank1PartyId], playerBank1); + if (IsDoubleBattle() && GetMonData(&gPlayerParty[bank2PartyId], MON_DATA_HP) != 0) + HandleLowHpMusicChange(&gPlayerParty[bank2PartyId], playerBank2); + } +} + +void sub_805EB9C(u8 affineMode) +{ + s32 i; + + for (i = 0; i < gBattlersCount; i++) + { + if (IsBattlerSpritePresent(i)) + { + gSprites[gBattlerSpriteIds[i]].oam.affineMode = affineMode; + if (affineMode == 0) + { + gBattleSpritesDataPtr->healthBoxesData[i].field_6 = gSprites[gBattlerSpriteIds[i]].oam.matrixNum; + gSprites[gBattlerSpriteIds[i]].oam.matrixNum = 0; + } + else + { + gSprites[gBattlerSpriteIds[i]].oam.matrixNum = gBattleSpritesDataPtr->healthBoxesData[i].field_6; + } + } + } +} + +#define tBattlerId data[0] + +void LoadAndCreateEnemyShadowSprites(void) +{ + u8 battlerId; + + LoadCompressedObjectPic(&gSpriteSheet_EnemyShadow); + + battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, GetBattlerSpriteCoord(battlerId, 0), GetBattlerSpriteCoord(battlerId, 1) + 29, 0xC8); + gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].data[0] = battlerId; + + if (IsDoubleBattle()) + { + battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, GetBattlerSpriteCoord(battlerId, 0), GetBattlerSpriteCoord(battlerId, 1) + 29, 0xC8); + gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].data[0] = battlerId; + } +} + +void SpriteCB_EnemyShadow(struct Sprite *shadowSprite) +{ + bool8 invisible = FALSE; + u8 battlerId = shadowSprite->tBattlerId; + struct Sprite *bankSprite = &gSprites[gBattlerSpriteIds[battlerId]]; + + if (!bankSprite->inUse || !IsBattlerSpritePresent(battlerId)) + { + shadowSprite->callback = SpriteCB_SetInvisible; + return; + } + if (gAnimScriptActive || bankSprite->invisible) + invisible = TRUE; + else if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE + && gEnemyMonElevation[gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies] == 0) + invisible = TRUE; + + if (gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute) + invisible = TRUE; + + shadowSprite->pos1.x = bankSprite->pos1.x; + shadowSprite->pos2.x = bankSprite->pos2.x; + shadowSprite->invisible = invisible; +} + +#undef tBattlerId + +void SpriteCB_SetInvisible(struct Sprite *sprite) +{ + sprite->invisible = 1; +} + +void SetBattlerShadowSpriteCallback(u8 battlerId, u16 species) +{ + // The player's shadow is never seen + if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + return; + + if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE) + species = gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies; + + if (gEnemyMonElevation[species] != 0) + gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_EnemyShadow; + else + gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_SetInvisible; +} + +void HideBattlerShadowSprite(u8 battlerId) +{ + gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_SetInvisible; +} + +void sub_805EF14(void) +{ + u16 *vramPtr = (u16*)(VRAM + 0x240); + s32 i; + s32 j; + + for (i = 0; i < 9; i++) + { + for (j = 0; j < 16; j++) + { + if (!(*vramPtr & 0xF000)) + *vramPtr |= 0xF000; + if (!(*vramPtr & 0x0F00)) + *vramPtr |= 0x0F00; + if (!(*vramPtr & 0x00F0)) + *vramPtr |= 0x00F0; + if (!(*vramPtr & 0x000F)) + *vramPtr |= 0x000F; + vramPtr++; + } + } +} + +void ClearTemporarySpeciesSpriteData(u8 battlerId, bool8 dontClearSubstitute) +{ + gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies = SPECIES_NONE; + gBattleMonForms[battlerId] = 0; + if (!dontClearSubstitute) + ClearBehindSubstituteBit(battlerId); +} + +void AllocateMonSpritesGfx(void) +{ + u8 i = 0, j; + + gMonSpritesGfxPtr = NULL; + gMonSpritesGfxPtr = AllocZeroed(sizeof(*gMonSpritesGfxPtr)); + gMonSpritesGfxPtr->firstDecompressed = AllocZeroed(0x8000); + + for (i = 0; i < MAX_BATTLERS_COUNT; i++) + { + gMonSpritesGfxPtr->sprites[i] = gMonSpritesGfxPtr->firstDecompressed + (i * 0x2000); + *(gMonSpritesGfxPtr->templates + i) = gUnknown_08329D98[i]; + + for (j = 0; j < 4; j++) + { + gMonSpritesGfxPtr->field_74[i][j].data = gMonSpritesGfxPtr->sprites[i] + (j * 0x800); + gMonSpritesGfxPtr->field_74[i][j].size = 0x800; + } + + gMonSpritesGfxPtr->templates[i].images = gMonSpritesGfxPtr->field_74[i]; + } + + gMonSpritesGfxPtr->barFontGfx = AllocZeroed(0x1000); +} + +void FreeMonSpritesGfx(void) +{ + if (gMonSpritesGfxPtr == NULL) + return; + + if (gMonSpritesGfxPtr->field_17C != NULL) + FREE_AND_SET_NULL(gMonSpritesGfxPtr->field_17C); + if (gMonSpritesGfxPtr->field_178 != NULL) + FREE_AND_SET_NULL(gMonSpritesGfxPtr->field_178); + + FREE_AND_SET_NULL(gMonSpritesGfxPtr->barFontGfx); + FREE_AND_SET_NULL(gMonSpritesGfxPtr->firstDecompressed); + gMonSpritesGfxPtr->sprites[0] = NULL; + gMonSpritesGfxPtr->sprites[1] = NULL; + gMonSpritesGfxPtr->sprites[2] = NULL; + gMonSpritesGfxPtr->sprites[3] = NULL; + FREE_AND_SET_NULL(gMonSpritesGfxPtr); +} + +bool32 ShouldPlayNormalPokeCry(struct Pokemon *mon) +{ + s16 hp, maxHP; + s32 barLevel; + + if (GetMonData(mon, MON_DATA_STATUS) & (STATUS1_ANY | STATUS1_TOXIC_COUNTER)) + return FALSE; + + hp = GetMonData(mon, MON_DATA_HP); + maxHP = GetMonData(mon, MON_DATA_MAX_HP); + + barLevel = GetHPBarLevel(hp, maxHP); + if (barLevel <= HP_BAR_YELLOW) + return FALSE; + + return TRUE; +} diff --git a/src/battle_interface.c b/src/battle_interface.c index 5f582a3669..bc6ff11228 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -8,18 +8,19 @@ #include "string_util.h" #include "text.h" #include "sound.h" -#include "songs.h" +#include "constants/songs.h" #include "decompress.h" #include "task.h" #include "util.h" #include "gpu_regs.h" #include "battle_message.h" -#include "species.h" +#include "constants/species.h" #include "pokedex.h" #include "palette.h" #include "international_string_util.h" #include "safari_zone.h" #include "battle_anim.h" +#include "constants/rgb.h" struct TestingBar { @@ -152,11 +153,6 @@ enum HEALTHBOX_GFX_117, }; -extern u8 gBanksByIdentity[BATTLE_BANKS_COUNT]; -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; -extern u8 gNoOfAllBanks; -extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT]; - extern const u8 * const gNatureNamePointers[]; extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; @@ -176,10 +172,6 @@ extern const u16 gBattleInterface_BallStatusBarPal[]; extern const u16 gBattleInterface_BallDisplayPal[]; extern const u8 gHealthboxElementsGfxTable[][32]; -// functions -extern void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, struct TextColor *color, s8 speed, const u8 *str); // menu.h -extern void LoadBattleBarGfx(u8 arg0); - // this file's functions static const u8 *GetHealthboxElementGfxPtr(u8 elementId); @@ -556,13 +548,13 @@ enum PAL_STATUS_BRN }; -static const u16 sStatusIconPalettes[] = +static const u16 sStatusIconColors[] = { - 0x6198, // PAL_STATUS_PSN - 0xEF7, // PAL_STATUS_PAR - 0x4694, // PAL_STATUS_SLP - 0x72D1, // PAL_STATUS_FRZ - 0x29DC // PAL_STATUS_BRN + RGB(24, 12, 24), // PAL_STATUS_PSN + RGB(23, 23, 3), // PAL_STATUS_PAR + RGB(20, 20, 17), // PAL_STATUS_SLP + RGB(17, 22, 28), // PAL_STATUS_FRZ + RGB(28, 14, 10) // PAL_STATUS_BRN }; static const struct WindowTemplate sHealthboxWindowTemplate = {0, 0, 0, 8, 2, 0, 0}; // width = 8, height = 2 @@ -898,7 +890,7 @@ void sub_80724A8(s16 arg0, s16 arg1, u16 *arg2) // healthboxSpriteId_2 refers to the other part // there's also one other sprite that appears to be a black square? dont fully understand its role -u8 CreateBankHealthboxSprites(u8 bank) +u8 CreateBattlerHealthboxSprites(u8 battler) { s16 data6 = 0; u8 healthboxSpriteId_1, healthboxSpriteId_2; @@ -907,7 +899,7 @@ u8 CreateBankHealthboxSprites(u8 bank) if (!IsDoubleBattle()) { - if (GetBankSide(bank) == SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { healthboxSpriteId_1 = CreateSprite(&sHealthboxPlayerSpriteTemplates[0], 240, 160, 1); healthboxSpriteId_2 = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[0], 240, 160, 1); @@ -927,19 +919,19 @@ u8 CreateBankHealthboxSprites(u8 bank) data6 = 2; } gSprites[healthboxSpriteId_1].oam.affineParam = healthboxSpriteId_2; - gSprites[healthboxSpriteId_2].data5 = healthboxSpriteId_1; + gSprites[healthboxSpriteId_2].data[5] = healthboxSpriteId_1; gSprites[healthboxSpriteId_2].callback = sub_8072924; } else { - if (GetBankSide(bank) == SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { - healthboxSpriteId_1 = CreateSprite(&sHealthboxPlayerSpriteTemplates[GetBankIdentity(bank) / 2], 240, 160, 1); - healthboxSpriteId_2 = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[GetBankIdentity(bank) / 2], 240, 160, 1); + healthboxSpriteId_1 = CreateSprite(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battler) / 2], 240, 160, 1); + healthboxSpriteId_2 = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battler) / 2], 240, 160, 1); gSprites[healthboxSpriteId_1].oam.affineParam = healthboxSpriteId_2; - gSprites[healthboxSpriteId_2].data5 = healthboxSpriteId_1; + gSprites[healthboxSpriteId_2].data[5] = healthboxSpriteId_1; gSprites[healthboxSpriteId_2].oam.tileNum += 32; gSprites[healthboxSpriteId_2].callback = sub_8072924; @@ -947,12 +939,12 @@ u8 CreateBankHealthboxSprites(u8 bank) } else { - healthboxSpriteId_1 = CreateSprite(&sHealthboxOpponentSpriteTemplates[GetBankIdentity(bank) / 2], 240, 160, 1); - healthboxSpriteId_2 = CreateSpriteAtEnd(&sHealthboxOpponentSpriteTemplates[GetBankIdentity(bank) / 2], 240, 160, 1); + healthboxSpriteId_1 = CreateSprite(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battler) / 2], 240, 160, 1); + healthboxSpriteId_2 = CreateSpriteAtEnd(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battler) / 2], 240, 160, 1); gSprites[healthboxSpriteId_1].oam.affineParam = healthboxSpriteId_2; - gSprites[healthboxSpriteId_2].data5 = healthboxSpriteId_1; + gSprites[healthboxSpriteId_2].data[5] = healthboxSpriteId_1; gSprites[healthboxSpriteId_2].oam.tileNum += 32; gSprites[healthboxSpriteId_2].callback = sub_8072924; @@ -960,22 +952,22 @@ u8 CreateBankHealthboxSprites(u8 bank) } } - unkSpriteId = CreateSpriteAtEnd(&sUnknown_0832C1C0[gBanksByIdentity[bank]], 140, 60, 0); + unkSpriteId = CreateSpriteAtEnd(&sUnknown_0832C1C0[gBattlerPositions[battler]], 140, 60, 0); unkSpritePtr = &gSprites[unkSpriteId]; - SetSubspriteTables(unkSpritePtr, &sUnknown_0832C28C[GetBankSide(bank)]); + SetSubspriteTables(unkSpritePtr, &sUnknown_0832C28C[GetBattlerSide(battler)]); unkSpritePtr->subspriteMode = 2; unkSpritePtr->oam.priority = 1; CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void*)(OBJ_VRAM0 + unkSpritePtr->oam.tileNum * 32), 64); - gSprites[healthboxSpriteId_1].data5 = unkSpriteId; - gSprites[healthboxSpriteId_1].data6 = bank; + gSprites[healthboxSpriteId_1].data[5] = unkSpriteId; + gSprites[healthboxSpriteId_1].data[6] = battler; gSprites[healthboxSpriteId_1].invisible = 1; gSprites[healthboxSpriteId_2].invisible = 1; - unkSpritePtr->data5 = healthboxSpriteId_1; - unkSpritePtr->data6 = data6; + unkSpritePtr->data[5] = healthboxSpriteId_1; + unkSpritePtr->data[6] = data6; unkSpritePtr->invisible = 1; return healthboxSpriteId_1; @@ -994,7 +986,7 @@ u8 CreateSafariPlayerHealthboxSprites(void) gSprites[healthboxSpriteId_2].oam.tileNum += 64; gSprites[healthboxSpriteId_1].oam.affineParam = healthboxSpriteId_2; - gSprites[healthboxSpriteId_2].data5 = healthboxSpriteId_1; + gSprites[healthboxSpriteId_2].data[5] = healthboxSpriteId_1; gSprites[healthboxSpriteId_2].callback = sub_8072924; @@ -1008,9 +1000,9 @@ static const u8 *GetHealthboxElementGfxPtr(u8 elementId) static void sub_80728B4(struct Sprite *sprite) { - u8 var = sprite->data5; + u8 var = sprite->data[5]; - switch (sprite->data6) + switch (sprite->data[6]) { case 0: sprite->pos1.x = gSprites[var].pos1.x + 16; @@ -1033,7 +1025,7 @@ static void sub_80728B4(struct Sprite *sprite) static void sub_8072924(struct Sprite *sprite) { - u8 otherSpriteId = sprite->data5; + u8 otherSpriteId = sprite->data[5]; sprite->pos1.x = gSprites[otherSpriteId].pos1.x + 64; sprite->pos1.y = gSprites[otherSpriteId].pos1.y; @@ -1054,14 +1046,14 @@ void SetBattleBarStruct(u8 bank, u8 healthboxSpriteId, s32 maxVal, s32 currVal, void SetHealthboxSpriteInvisible(u8 healthboxSpriteId) { gSprites[healthboxSpriteId].invisible = 1; - gSprites[gSprites[healthboxSpriteId].data5].invisible = 1; + gSprites[gSprites[healthboxSpriteId].data[5]].invisible = 1; gSprites[gSprites[healthboxSpriteId].oam.affineParam].invisible = 1; } void SetHealthboxSpriteVisible(u8 healthboxSpriteId) { gSprites[healthboxSpriteId].invisible = 0; - gSprites[gSprites[healthboxSpriteId].data5].invisible = 0; + gSprites[gSprites[healthboxSpriteId].data[5]].invisible = 0; gSprites[gSprites[healthboxSpriteId].oam.affineParam].invisible = 0; } @@ -1074,7 +1066,7 @@ static void UpdateSpritePos(u8 spriteId, s16 x, s16 y) void DestoryHealthboxSprite(u8 healthboxSpriteId) { DestroySprite(&gSprites[gSprites[healthboxSpriteId].oam.affineParam]); - DestroySprite(&gSprites[gSprites[healthboxSpriteId].data5]); + DestroySprite(&gSprites[gSprites[healthboxSpriteId].data[5]]); DestroySprite(&gSprites[healthboxSpriteId]); } @@ -1087,11 +1079,11 @@ void UpdateOamPriorityInAllHealthboxes(u8 priority) { s32 i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - u8 healthboxSpriteId_1 = gHealthBoxesIds[i]; - u8 healthboxSpriteId_2 = gSprites[gHealthBoxesIds[i]].oam.affineParam; - u8 healthboxSpriteId_3 = gSprites[gHealthBoxesIds[i]].data5; + u8 healthboxSpriteId_1 = gHealthboxSpriteIds[i]; + u8 healthboxSpriteId_2 = gSprites[gHealthboxSpriteIds[i]].oam.affineParam; + u8 healthboxSpriteId_3 = gSprites[gHealthboxSpriteIds[i]].data[5]; gSprites[healthboxSpriteId_1].oam.priority = priority; gSprites[healthboxSpriteId_2].oam.priority = priority; @@ -1099,37 +1091,37 @@ void UpdateOamPriorityInAllHealthboxes(u8 priority) } } -void SetBankHealthboxSpritePos(u8 bank) +void InitBattlerHealthboxCoords(u8 battler) { s16 x = 0, y = 0; if (!IsDoubleBattle()) { - if (GetBankSide(bank) != SIDE_PLAYER) + if (GetBattlerSide(battler) != B_SIDE_PLAYER) x = 44, y = 30; else x = 158, y = 88; } else { - switch (GetBankIdentity(bank)) + switch (GetBattlerPosition(battler)) { - case IDENTITY_PLAYER_MON1: + case B_POSITION_PLAYER_LEFT: x = 159, y = 76; break; - case IDENTITY_PLAYER_MON2: + case B_POSITION_PLAYER_RIGHT: x = 171, y = 101; break; - case IDENTITY_OPPONENT_MON1: + case B_POSITION_OPPONENT_LEFT: x = 44, y = 19; break; - case IDENTITY_OPPONENT_MON2: + case B_POSITION_OPPONENT_RIGHT: x = 32, y = 44; break; } } - UpdateSpritePos(gHealthBoxesIds[bank], x, y); + UpdateSpritePos(gHealthboxSpriteIds[battler], x, y); } static void UpdateLvlInHealthbox(u8 healthboxSpriteId, u8 lvl) @@ -1156,7 +1148,7 @@ static void UpdateLvlInHealthbox(u8 healthboxSpriteId, u8 lvl) windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(text, xPos, 3, 2, &windowId); spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * 32; - if (GetBankSide(gSprites[healthboxSpriteId].data6) == SIDE_PLAYER) + if (GetBattlerSide(gSprites[healthboxSpriteId].data[6]) == B_SIDE_PLAYER) { objVram = (void*)(OBJ_VRAM0); if (!IsDoubleBattle()) @@ -1180,7 +1172,7 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent) u8 text[32]; void *objVram; - if (GetBankSide(gSprites[healthboxSpriteId].data6) == SIDE_PLAYER && !IsDoubleBattle()) + if (GetBattlerSide(gSprites[healthboxSpriteId].data[6]) == B_SIDE_PLAYER && !IsDoubleBattle()) { spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * 32; if (maxOrCurrent != HP_CURRENT) // singles, max @@ -1210,11 +1202,11 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent) } else { - u8 bank; + u8 battler; memcpy(text, sUnknown_0832C3C4, sizeof(sUnknown_0832C3C4)); - bank = gSprites[healthboxSpriteId].data6; - if (IsDoubleBattle() == TRUE || GetBankSide(bank) == SIDE_OPPONENT) + battler = gSprites[healthboxSpriteId].data[6]; + if (IsDoubleBattle() == TRUE || GetBattlerSide(battler) == B_SIDE_OPPONENT) { UpdateHpTextInHealthboxInDoubles(healthboxSpriteId, value, maxOrCurrent); } @@ -1223,7 +1215,7 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent) u32 var; u8 i; - if (GetBankSide(gSprites[healthboxSpriteId].data6) == SIDE_PLAYER) + if (GetBattlerSide(gSprites[healthboxSpriteId].data[6]) == B_SIDE_PLAYER) { if (maxOrCurrent == HP_CURRENT) var = 29; @@ -1239,11 +1231,11 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent) } ConvertIntToDecimalStringN(text + 6, value, STR_CONV_MODE_RIGHT_ALIGN, 3); - RenderTextFont9(gMonSpritesGfxPtr->fontPixels, 9, text); + RenderTextFont9(gMonSpritesGfxPtr->barFontGfx, 9, text); for (i = 0; i < 3; i++) { - CpuCopy32(&gMonSpritesGfxPtr->fontPixels[i * 64 + 32], + CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[i * 64 + 32], (void*)((OBJ_VRAM0) + 32 * (gSprites[healthboxSpriteId].oam.tileNum + var + i)), 0x20); } @@ -1258,11 +1250,11 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 u8 text[32]; void *objVram; - if (GetBankSide(gSprites[healthboxSpriteId].data6) == SIDE_PLAYER) + if (GetBattlerSide(gSprites[healthboxSpriteId].data[6]) == B_SIDE_PLAYER) { - if (gBattleSpritesDataPtr->bankData[gSprites[healthboxSpriteId].data6].hpNumbersNoBars) // don't print text if only bars are visible + if (gBattleSpritesDataPtr->battlerData[gSprites[healthboxSpriteId].data[6]].hpNumbersNoBars) // don't print text if only bars are visible { - spriteTileNum = gSprites[gSprites[healthboxSpriteId].data5].oam.tileNum * 32; + spriteTileNum = gSprites[gSprites[healthboxSpriteId].data[5]].oam.tileNum * 32; objVram = (void*)(OBJ_VRAM0) + spriteTileNum; if (maxOrCurrent != HP_CURRENT) // doubles, max hp @@ -1292,9 +1284,9 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 u8 bank; memcpy(text, sUnknown_0832C3D8, sizeof(sUnknown_0832C3D8)); - bank = gSprites[healthboxSpriteId].data6; + bank = gSprites[healthboxSpriteId].data[6]; - if (gBattleSpritesDataPtr->bankData[bank].hpNumbersNoBars) // don't print text if only bars are visible + if (gBattleSpritesDataPtr->battlerData[bank].hpNumbersNoBars) // don't print text if only bars are visible { u8 var = 4; u8 r7; @@ -1304,23 +1296,23 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 if (maxOrCurrent == HP_CURRENT) var = 0; - r7 = gSprites[healthboxSpriteId].data5; + r7 = gSprites[healthboxSpriteId].data[5]; txtPtr = ConvertIntToDecimalStringN(text + 6, value, STR_CONV_MODE_RIGHT_ALIGN, 3); if (!maxOrCurrent) StringCopy(txtPtr, gText_Slash); - RenderTextFont9(gMonSpritesGfxPtr->fontPixels, 9, text); + RenderTextFont9(gMonSpritesGfxPtr->barFontGfx, 9, text); for (i = var; i < var + 3; i++) { if (i < 3) { - CpuCopy32(&gMonSpritesGfxPtr->fontPixels[((i - var) * 64) + 32], + CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[((i - var) * 64) + 32], (void*)((OBJ_VRAM0) + 32 * (1 + gSprites[r7].oam.tileNum + i)), 0x20); } else { - CpuCopy32(&gMonSpritesGfxPtr->fontPixels[((i - var) * 64) + 32], + CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[((i - var) * 64) + 32], (void*)((OBJ_VRAM0 + 0x20) + 32 * (i + gSprites[r7].oam.tileNum)), 0x20); } @@ -1328,14 +1320,14 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 if (maxOrCurrent == HP_CURRENT) { - CpuCopy32(&gMonSpritesGfxPtr->fontPixels[224], + CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[224], (void*)((OBJ_VRAM0) + ((gSprites[r7].oam.tileNum + 4) * 32)), 0x20); CpuFill32(0, (void*)((OBJ_VRAM0) + (gSprites[r7].oam.tileNum * 32)), 0x20); } else { - if (GetBankSide(bank) == SIDE_PLAYER) // impossible to reach part, because the bank is from the opponent's side + if (GetBattlerSide(bank) == B_SIDE_PLAYER) // impossible to reach part, because the bank is from the opponent's side { CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_116), (void*)(OBJ_VRAM0) + ((gSprites[healthboxSpriteId].oam.tileNum + 52) * 32), @@ -1350,15 +1342,15 @@ static void sub_80730D4(u8 healthboxSpriteId, struct Pokemon *mon) { u8 text[20]; s32 j, var2; - u8 *fontPixels; + u8 *barFontGfx; u8 i, var, nature, healthboxSpriteId_2; memcpy(text, sUnknown_0832C3C4, sizeof(sUnknown_0832C3C4)); - fontPixels = &gMonSpritesGfxPtr->fontPixels[0x520 + (GetBankIdentity(gSprites[healthboxSpriteId].data6) * 384)]; + barFontGfx = &gMonSpritesGfxPtr->barFontGfx[0x520 + (GetBattlerPosition(gSprites[healthboxSpriteId].data[6]) * 384)]; var = 5; nature = GetNature(mon); StringCopy(text + 6, gNatureNamePointers[nature]); - RenderTextFont9(fontPixels, 9, text); + RenderTextFont9(barFontGfx, 9, text); for (j = 6, i = 0; i < var; i++, j++) { @@ -1371,39 +1363,39 @@ static void sub_80730D4(u8 healthboxSpriteId, struct Pokemon *mon) else elementId = 43; - CpuCopy32(GetHealthboxElementGfxPtr(elementId), fontPixels + (i * 64), 0x20); + CpuCopy32(GetHealthboxElementGfxPtr(elementId), barFontGfx + (i * 64), 0x20); } for (j = 1; j < var + 1; j++) { var2 = (gSprites[healthboxSpriteId].oam.tileNum + (j - (j / 8 * 8)) + (j / 8 * 64)) * 32; - CpuCopy32(fontPixels, (void*)(OBJ_VRAM0) + (var2), 0x20); - fontPixels += 0x20; + CpuCopy32(barFontGfx, (void*)(OBJ_VRAM0) + (var2), 0x20); + barFontGfx += 0x20; var2 = (8 + gSprites[healthboxSpriteId].oam.tileNum + (j - (j / 8 * 8)) + (j / 8 * 64)) * 32; - CpuCopy32(fontPixels, (void*)(OBJ_VRAM0) + (var2), 0x20); - fontPixels += 0x20; + CpuCopy32(barFontGfx, (void*)(OBJ_VRAM0) + (var2), 0x20); + barFontGfx += 0x20; } - healthboxSpriteId_2 = gSprites[healthboxSpriteId].data5; + healthboxSpriteId_2 = gSprites[healthboxSpriteId].data[5]; ConvertIntToDecimalStringN(text + 6, gBattleStruct->field_7C, STR_CONV_MODE_RIGHT_ALIGN, 2); ConvertIntToDecimalStringN(text + 9, gBattleStruct->field_7B, STR_CONV_MODE_RIGHT_ALIGN, 2); text[5] = CHAR_SPACE; text[8] = CHAR_SLASH; - RenderTextFont9(gMonSpritesGfxPtr->fontPixels, 9, text); + RenderTextFont9(gMonSpritesGfxPtr->barFontGfx, 9, text); j = healthboxSpriteId_2; // needed to match for some reason for (j = 0; j < 5; j++) { if (j <= 1) { - CpuCopy32(&gMonSpritesGfxPtr->fontPixels[0x40 * j + 0x20], + CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[0x40 * j + 0x20], (void*)(OBJ_VRAM0) + (gSprites[healthboxSpriteId_2].oam.tileNum + 2 + j) * 32, 32); } else { - CpuCopy32(&gMonSpritesGfxPtr->fontPixels[0x40 * j + 0x20], + CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[0x40 * j + 0x20], (void*)(OBJ_VRAM0 + 0xC0) + (j + gSprites[healthboxSpriteId_2].oam.tileNum) * 32, 32); } @@ -1415,17 +1407,17 @@ void SwapHpBarsWithHpText(void) s32 i; u8 spriteId; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - if (gSprites[gHealthBoxesIds[i]].callback == SpriteCallbackDummy - && GetBankSide(i) != SIDE_OPPONENT - && (IsDoubleBattle() || GetBankSide(i) != SIDE_PLAYER)) + if (gSprites[gHealthboxSpriteIds[i]].callback == SpriteCallbackDummy + && GetBattlerSide(i) != B_SIDE_OPPONENT + && (IsDoubleBattle() || GetBattlerSide(i) != B_SIDE_PLAYER)) { bool8 noBars; - gBattleSpritesDataPtr->bankData[i].hpNumbersNoBars ^= 1; - noBars = gBattleSpritesDataPtr->bankData[i].hpNumbersNoBars; - if (GetBankSide(i) == SIDE_PLAYER) + gBattleSpritesDataPtr->battlerData[i].hpNumbersNoBars ^= 1; + noBars = gBattleSpritesDataPtr->battlerData[i].hpNumbersNoBars; + if (GetBattlerSide(i) == B_SIDE_PLAYER) { if (!IsDoubleBattle()) continue; @@ -1434,17 +1426,17 @@ void SwapHpBarsWithHpText(void) if (noBars == TRUE) // bars to text { - spriteId = gSprites[gHealthBoxesIds[i]].data5; + spriteId = gSprites[gHealthboxSpriteIds[i]].data[5]; CpuFill32(0, (void*)(OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32), 0x100); - UpdateHpTextInHealthboxInDoubles(gHealthBoxesIds[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_HP), HP_CURRENT); - UpdateHpTextInHealthboxInDoubles(gHealthBoxesIds[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_MAX_HP), HP_MAX); + UpdateHpTextInHealthboxInDoubles(gHealthboxSpriteIds[i], GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_HP), HP_CURRENT); + UpdateHpTextInHealthboxInDoubles(gHealthboxSpriteIds[i], GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_MAX_HP), HP_MAX); } else // text to bars { - UpdateStatusIconInHealthbox(gHealthBoxesIds[i]); - UpdateHealthboxAttribute(gHealthBoxesIds[i], &gPlayerParty[gBattlePartyID[i]], HEALTHBOX_HEALTH_BAR); - CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_117), (void*)(OBJ_VRAM0 + 0x680 + gSprites[gHealthBoxesIds[i]].oam.tileNum * 32), 32); + UpdateStatusIconInHealthbox(gHealthboxSpriteIds[i]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[i], &gPlayerParty[gBattlerPartyIndexes[i]], HEALTHBOX_HEALTH_BAR); + CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_117), (void*)(OBJ_VRAM0 + 0x680 + gSprites[gHealthboxSpriteIds[i]].oam.tileNum * 32), 32); } } else @@ -1453,26 +1445,26 @@ void SwapHpBarsWithHpText(void) { if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) { - sub_80730D4(gHealthBoxesIds[i], &gEnemyParty[gBattlePartyID[i]]); + sub_80730D4(gHealthboxSpriteIds[i], &gEnemyParty[gBattlerPartyIndexes[i]]); } else { - spriteId = gSprites[gHealthBoxesIds[i]].data5; + spriteId = gSprites[gHealthboxSpriteIds[i]].data[5]; CpuFill32(0, (void *)(OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32), 0x100); - UpdateHpTextInHealthboxInDoubles(gHealthBoxesIds[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_HP), HP_CURRENT); - UpdateHpTextInHealthboxInDoubles(gHealthBoxesIds[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_MAX_HP), HP_MAX); + UpdateHpTextInHealthboxInDoubles(gHealthboxSpriteIds[i], GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_HP), HP_CURRENT); + UpdateHpTextInHealthboxInDoubles(gHealthboxSpriteIds[i], GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_MAX_HP), HP_MAX); } } else // text to bars { - UpdateStatusIconInHealthbox(gHealthBoxesIds[i]); - UpdateHealthboxAttribute(gHealthBoxesIds[i], &gEnemyParty[gBattlePartyID[i]], HEALTHBOX_HEALTH_BAR); + UpdateStatusIconInHealthbox(gHealthboxSpriteIds[i]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[i], &gEnemyParty[gBattlerPartyIndexes[i]], HEALTHBOX_HEALTH_BAR); if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) - UpdateHealthboxAttribute(gHealthBoxesIds[i], &gEnemyParty[gBattlePartyID[i]], HEALTHBOX_NICK); + UpdateHealthboxAttribute(gHealthboxSpriteIds[i], &gEnemyParty[gBattlerPartyIndexes[i]], HEALTHBOX_NICK); } } - gSprites[gHealthBoxesIds[i]].data7 ^= 1; + gSprites[gHealthboxSpriteIds[i]].data[7] ^= 1; } } } @@ -1486,9 +1478,9 @@ u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 ar u8 ballIconSpritesIds[6]; u8 taskId; - if (!arg2 || GetBankIdentity(bank) != IDENTITY_OPPONENT_MON2) + if (!arg2 || GetBattlerPosition(bank) != B_POSITION_OPPONENT_RIGHT) { - if (GetBankSide(bank) == SIDE_PLAYER) + if (GetBattlerSide(bank) == B_SIDE_PLAYER) { isOpponent = FALSE; bar_X = 136, bar_Y = 96; @@ -1524,7 +1516,7 @@ u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 ar barSpriteId = CreateSprite(&sStatusSummaryBarSpriteTemplates[isOpponent], bar_X, bar_Y, 10); SetSubspriteTables(&gSprites[barSpriteId], sStatusSummaryBar_SubspriteTable); gSprites[barSpriteId].pos2.x = bar_pos2_X; - gSprites[barSpriteId].data0 = bar_data0; + gSprites[barSpriteId].data[0] = bar_data0; if (isOpponent) { @@ -1536,7 +1528,7 @@ u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 ar gSprites[barSpriteId].pos1.x += 96; } - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { ballIconSpritesIds[i] = CreateSpriteAtEnd(&sStatusSummaryBallsSpriteTemplates[isOpponent], bar_X, bar_Y - 4, 9); @@ -1549,25 +1541,25 @@ u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 ar gSprites[ballIconSpritesIds[i]].pos2.y = 0; } - gSprites[ballIconSpritesIds[i]].data0 = barSpriteId; + gSprites[ballIconSpritesIds[i]].data[0] = barSpriteId; if (!isOpponent) { gSprites[ballIconSpritesIds[i]].pos1.x += 10 * i + 24; - gSprites[ballIconSpritesIds[i]].data1 = i * 7 + 10; + gSprites[ballIconSpritesIds[i]].data[1] = i * 7 + 10; gSprites[ballIconSpritesIds[i]].pos2.x = 120; } else { gSprites[ballIconSpritesIds[i]].pos1.x -= 10 * (5 - i) + 24; - gSprites[ballIconSpritesIds[i]].data1 = (6 - i) * 7 + 10; + gSprites[ballIconSpritesIds[i]].data[1] = (6 - i) * 7 + 10; gSprites[ballIconSpritesIds[i]].pos2.x = -120; } - gSprites[ballIconSpritesIds[i]].data2 = isOpponent; + gSprites[ballIconSpritesIds[i]].data[2] = isOpponent; } - if (GetBankSide(bank) == SIDE_PLAYER) + if (GetBattlerSide(bank) == B_SIDE_PLAYER) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { @@ -1576,7 +1568,7 @@ u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 ar if (partyInfo[i].hp == 0xFFFF) // empty slot or an egg { gSprites[ballIconSpritesIds[i]].oam.tileNum += 1; - gSprites[ballIconSpritesIds[i]].data7 = 1; + gSprites[ballIconSpritesIds[i]].data[7] = 1; } else if (partyInfo[i].hp == 0) // fainted mon { @@ -1595,7 +1587,7 @@ u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 ar if (partyInfo[j].hp == 0xFFFF) // empty slot or an egg { gSprites[ballIconSpritesIds[var]].oam.tileNum += 1; - gSprites[ballIconSpritesIds[var]].data7 = 1; + gSprites[ballIconSpritesIds[var]].data[7] = 1; var--; continue; } @@ -1624,7 +1616,7 @@ u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 ar if (partyInfo[i].hp == 0xFFFF) // empty slot or an egg { gSprites[ballIconSpritesIds[var]].oam.tileNum += 1; - gSprites[ballIconSpritesIds[var]].data7 = 1; + gSprites[ballIconSpritesIds[var]].data[7] = 1; } else if (partyInfo[i].hp == 0) // fainted mon { @@ -1644,7 +1636,7 @@ u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 ar if (partyInfo[j].hp == 0xFFFF) // empty slot or an egg { gSprites[ballIconSpritesIds[i]].oam.tileNum += 1; - gSprites[ballIconSpritesIds[i]].data7 = 1; + gSprites[ballIconSpritesIds[i]].data[7] = 1; i++; continue; } @@ -1712,23 +1704,23 @@ void sub_8073C30(u8 taskId) { for (i = 0; i < 6; i++) { - if (GetBankSide(bank) != SIDE_PLAYER) + if (GetBattlerSide(bank) != B_SIDE_PLAYER) { - gSprites[sp[5 - i]].data1 = 7 * i; - gSprites[sp[5 - i]].data3 = 0; - gSprites[sp[5 - i]].data4 = 0; + gSprites[sp[5 - i]].data[1] = 7 * i; + gSprites[sp[5 - i]].data[3] = 0; + gSprites[sp[5 - i]].data[4] = 0; gSprites[sp[5 - i]].callback = sub_8074158; } else { - gSprites[sp[i]].data1 = 7 * i; - gSprites[sp[i]].data3 = 0; - gSprites[sp[i]].data4 = 0; + gSprites[sp[i]].data[1] = 7 * i; + gSprites[sp[i]].data[3] = 0; + gSprites[sp[i]].data[4] = 0; gSprites[sp[i]].callback = sub_8074158; } } - gSprites[r10].data0 /= 2; - gSprites[r10].data1 = 0; + gSprites[r10].data[0] /= 2; + gSprites[r10].data[1] = 0; gSprites[r10].callback = sub_8074090; SetSubspriteTables(&gSprites[r10], sUnknown_0832C2CC); gTasks[taskId].func = sub_8073E08; @@ -1831,17 +1823,17 @@ static void sub_8073F98(u8 taskId) static void SpriteCB_StatusSummaryBar(struct Sprite *sprite) { if (sprite->pos2.x != 0) - sprite->pos2.x += sprite->data0; + sprite->pos2.x += sprite->data[0]; } static void sub_8074090(struct Sprite *sprite) { - sprite->data1 += 32; - if (sprite->data0 > 0) - sprite->pos2.x += sprite->data1 >> 4; + sprite->data[1] += 32; + if (sprite->data[0] > 0) + sprite->pos2.x += sprite->data[1] >> 4; else - sprite->pos2.x -= sprite->data1 >> 4; - sprite->data1 &= 0xF; + sprite->pos2.x -= sprite->data[1] >> 4; + sprite->data[1] &= 0xF; } static void SpriteCB_StatusSummaryBallsOnBattleStart(struct Sprite *sprite) @@ -1850,16 +1842,16 @@ static void SpriteCB_StatusSummaryBallsOnBattleStart(struct Sprite *sprite) u16 var2; s8 pan; - if (sprite->data1 > 0) + if (sprite->data[1] > 0) { - sprite->data1--; + sprite->data[1]--; return; } - var1 = sprite->data2; - var2 = sprite->data3; + var1 = sprite->data[2]; + var2 = sprite->data[3]; var2 += 56; - sprite->data3 = var2 & 0xFFF0; + sprite->data[3] = var2 & 0xFFF0; if (var1 != 0) { @@ -1880,7 +1872,7 @@ static void SpriteCB_StatusSummaryBallsOnBattleStart(struct Sprite *sprite) if (var1 != 0) pan = PAN_SIDE_PLAYER; - if (sprite->data7 != 0) + if (sprite->data[7] != 0) PlaySE2WithPanning(SE_TB_KARA, pan); else PlaySE1WithPanning(SE_TB_KON, pan); @@ -1894,15 +1886,15 @@ static void sub_8074158(struct Sprite *sprite) u8 var1; u16 var2; - if (sprite->data1 > 0) + if (sprite->data[1] > 0) { - sprite->data1--; + sprite->data[1]--; return; } - var1 = sprite->data2; - var2 = sprite->data3; + var1 = sprite->data[2]; + var2 = sprite->data[3]; var2 += 56; - sprite->data3 = var2 & 0xFFF0; + sprite->data[3] = var2 & 0xFFF0; if (var1 != 0) sprite->pos2.x += var2 >> 4; else @@ -1917,7 +1909,7 @@ static void sub_8074158(struct Sprite *sprite) static void SpriteCB_StatusSummaryBallsOnSwitchout(struct Sprite *sprite) { - u8 barSpriteId = sprite->data0; + u8 barSpriteId = sprite->data[0]; sprite->pos2.x = gSprites[barSpriteId].pos2.x; sprite->pos2.y = gSprites[barSpriteId].pos2.y; @@ -1964,7 +1956,7 @@ static void UpdateNickInHealthbox(u8 healthboxSpriteId, struct Pokemon *mon) spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * 32; - if (GetBankSide(gSprites[healthboxSpriteId].data6) == SIDE_PLAYER) + if (GetBattlerSide(gSprites[healthboxSpriteId].data[6]) == B_SIDE_PLAYER) { sub_8075198((void*)(0x6010040 + spriteTileNum), windowTileData, 6); ptr = (void*)(OBJ_VRAM0); @@ -1991,13 +1983,13 @@ static void TryAddPokeballIconToHealthbox(u8 healthboxSpriteId, bool8 noStatus) if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) return; - bank = gSprites[healthboxSpriteId].data6; - if (GetBankSide(bank) == SIDE_PLAYER) + bank = gSprites[healthboxSpriteId].data[6]; + if (GetBattlerSide(bank) == B_SIDE_PLAYER) return; - if (!GetSetPokedexFlag(SpeciesToNationalPokedexNum(GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES)), FLAG_GET_CAUGHT)) + if (!GetSetPokedexFlag(SpeciesToNationalPokedexNum(GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES)), FLAG_GET_CAUGHT)) return; - healthboxSpriteId_2 = gSprites[healthboxSpriteId].data5; + healthboxSpriteId_2 = gSprites[healthboxSpriteId].data[5]; if (noStatus) CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_70), (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId_2].oam.tileNum + 8) * 32), 32); @@ -2014,11 +2006,11 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) s16 tileNumAdder; u8 statusPalId; - bank = gSprites[healthboxSpriteId].data6; - healthboxSpriteId_2 = gSprites[healthboxSpriteId].data5; - if (GetBankSide(bank) == SIDE_PLAYER) + bank = gSprites[healthboxSpriteId].data[6]; + healthboxSpriteId_2 = gSprites[healthboxSpriteId].data[5]; + if (GetBattlerSide(bank) == B_SIDE_PLAYER) { - status = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_STATUS); + status = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_STATUS); if (!IsDoubleBattle()) tileNumAdder = 0x1A; else @@ -2026,31 +2018,31 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) } else { - status = GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_STATUS); + status = GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_STATUS); tileNumAdder = 0x11; } - if (status & STATUS_SLEEP) + if (status & STATUS1_SLEEP) { statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBankId(HEALTHBOX_GFX_STATUS_SLP_BANK0, bank)); statusPalId = PAL_STATUS_SLP; } - else if (status & STATUS_PSN_ANY) + else if (status & STATUS1_PSN_ANY) { statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBankId(HEALTHBOX_GFX_STATUS_PSN_BANK0, bank)); statusPalId = PAL_STATUS_PSN; } - else if (status & STATUS_BURN) + else if (status & STATUS1_BURN) { statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBankId(HEALTHBOX_GFX_STATUS_BRN_BANK0, bank)); statusPalId = PAL_STATUS_BRN; } - else if (status & STATUS_FREEZE) + else if (status & STATUS1_FREEZE) { statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBankId(HEALTHBOX_GFX_STATUS_FRZ_BANK0, bank)); statusPalId = PAL_STATUS_FRZ; } - else if (status & STATUS_PARALYSIS) + else if (status & STATUS1_PARALYSIS) { statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBankId(HEALTHBOX_GFX_STATUS_PRZ_BANK0, bank)); statusPalId = PAL_STATUS_PAR; @@ -2062,7 +2054,7 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) for (i = 0; i < 3; i++) CpuCopy32(statusGfxPtr, (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder + i) * 32), 32); - if (!gBattleSpritesDataPtr->bankData[bank].hpNumbersNoBars) + if (!gBattleSpritesDataPtr->battlerData[bank].hpNumbersNoBars) CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void *)(OBJ_VRAM0 + gSprites[healthboxSpriteId_2].oam.tileNum * 32), 64); TryAddPokeballIconToHealthbox(healthboxSpriteId, TRUE); @@ -2072,12 +2064,12 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) pltAdder = gSprites[healthboxSpriteId].oam.paletteNum * 16; pltAdder += bank + 12; - FillPalette(sStatusIconPalettes[statusPalId], pltAdder + 0x100, 2); + FillPalette(sStatusIconColors[statusPalId], pltAdder + 0x100, 2); CpuCopy16(gPlttBufferUnfaded + 0x100 + pltAdder, (void*)(OBJ_PLTT + pltAdder * 2), 2); CpuCopy32(statusGfxPtr, (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder) * 32), 96); - if (IsDoubleBattle() == TRUE || GetBankSide(bank) == SIDE_OPPONENT) + if (IsDoubleBattle() == TRUE || GetBattlerSide(bank) == B_SIDE_OPPONENT) { - if (!gBattleSpritesDataPtr->bankData[bank].hpNumbersNoBars) + if (!gBattleSpritesDataPtr->battlerData[bank].hpNumbersNoBars) { CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_0), (void*)(OBJ_VRAM0 + gSprites[healthboxSpriteId_2].oam.tileNum * 32), 32); CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_65), (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId_2].oam.tileNum + 1) * 32), 32); @@ -2178,12 +2170,12 @@ static void UpdateLeftNoOfBallsTextOnHealthbox(u8 healthboxSpriteId) void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elementId) { s32 maxHp, currHp; - u8 bank = gSprites[healthboxSpriteId].data6; + u8 bank = gSprites[healthboxSpriteId].data[6]; if (elementId == HEALTHBOX_ALL && !IsDoubleBattle()) - GetBankSide(bank); // pointless function call + GetBattlerSide(bank); // pointless function call - if (GetBankSide(gSprites[healthboxSpriteId].data6) == SIDE_PLAYER) + if (GetBattlerSide(gSprites[healthboxSpriteId].data[6]) == B_SIDE_PLAYER) { u8 isDoubles; @@ -2275,7 +2267,7 @@ s32 sub_8074AA0(u8 bank, u8 healthboxSpriteId, u8 whichBar, u8 arg3) 8, expFraction); } - if (whichBar == EXP_BAR || (whichBar == HEALTH_BAR && !gBattleSpritesDataPtr->bankData[bank].hpNumbersNoBars)) + if (whichBar == EXP_BAR || (whichBar == HEALTH_BAR && !gBattleSpritesDataPtr->battlerData[bank].hpNumbersNoBars)) sub_8074B9C(bank, whichBar); if (var == -1) @@ -2308,7 +2300,7 @@ static void sub_8074B9C(u8 bank, u8 whichBar) } for (i = 0; i < 6; i++) { - u8 healthboxSpriteId_2 = gSprites[gBattleSpritesDataPtr->battleBars[bank].healthboxSpriteId].data5; + u8 healthboxSpriteId_2 = gSprites[gBattleSpritesDataPtr->battleBars[bank].healthboxSpriteId].data[5]; if (i < 2) CpuCopy32(GetHealthboxElementGfxPtr(barElementId) + array[i] * 32, (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId_2].oam.tileNum + 2 + i) * 32), 32); @@ -2323,7 +2315,7 @@ static void sub_8074B9C(u8 bank, u8 whichBar) gBattleSpritesDataPtr->battleBars[bank].receivedValue, &gBattleSpritesDataPtr->battleBars[bank].field_10, array, 8); - level = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_LEVEL); + level = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_LEVEL); if (level == MAX_MON_LEVEL) { for (i = 0; i < 8; i++) @@ -2545,19 +2537,19 @@ u8 GetHPBarLevel(s16 hp, s16 maxhp) if (hp == maxhp) { - result = 4; + result = HP_BAR_FULL; } else { u8 fraction = GetScaledHPFraction(hp, maxhp, 48); if (fraction > 24) - result = 3; + result = HP_BAR_GREEN; else if (fraction > 9) - result = 2; + result = HP_BAR_YELLOW; else if (fraction > 0) - result = 1; + result = HP_BAR_RED; else - result = 0; + result = HP_BAR_EMPTY; } return result; @@ -2566,17 +2558,17 @@ u8 GetHPBarLevel(s16 hp, s16 maxhp) static u8* AddTextPrinterAndCreateWindowOnHealthbox(const u8 *str, u32 x, u32 y, u32 arg3, u32 *windowId) { u16 winId; - struct TextColor color; + u8 color[3]; struct WindowTemplate winTemplate = sHealthboxWindowTemplate; winId = AddWindow(&winTemplate); FillWindowPixelBuffer(winId, (arg3 << 4) | (arg3)); - color.fgColor = arg3; - color.bgColor = 1; - color.shadowColor = 3; + color[0] = arg3; + color[1] = 1; + color[2] = 3; - AddTextPrinterParametrized2(winId, 0, x, y, 0, 0, &color, -1, str); + AddTextPrinterParameterized2(winId, 0, x, y, 0, 0, color, -1, str); *windowId = winId; return (u8*)(GetWindowAttribute(winId, WINDOW_TILE_DATA)); diff --git a/src/battle_main.c b/src/battle_main.c new file mode 100644 index 0000000000..3c4a616007 --- /dev/null +++ b/src/battle_main.c @@ -0,0 +1,5640 @@ +#include "global.h" +#include "battle.h" +#include "recorded_battle.h" +#include "main.h" +#include "load_save.h" +#include "gpu_regs.h" +#include "scanline_effect.h" +#include "battle_setup.h" +#include "battle_scripts.h" +#include "battle_interface.h" +#include "pokemon.h" +#include "palette.h" +#include "task.h" +#include "event_data.h" +#include "constants/species.h" +#include "berry.h" +#include "text.h" +#include "item.h" +#include "constants/items.h" +#include "constants/hold_effects.h" +#include "constants/trainers.h" +#include "link.h" +#include "bg.h" +#include "dma3.h" +#include "string_util.h" +#include "malloc.h" +#include "event_data.h" +#include "m4a.h" +#include "window.h" +#include "random.h" +#include "constants/songs.h" +#include "sound.h" +#include "battle_message.h" +#include "sprite.h" +#include "util.h" +#include "trig.h" +#include "battle_ai_script_commands.h" +#include "constants/battle_move_effects.h" +#include "battle_controllers.h" +#include "pokedex.h" +#include "constants/abilities.h" +#include "constants/moves.h" +#include "evolution_scene.h" +#include "roamer.h" +#include "tv.h" +#include "safari_zone.h" +#include "constants/battle_string_ids.h" +#include "data2.h" +#include "decompress.h" +#include "international_string_util.h" +#include "pokeball.h" + +struct UnknownPokemonStruct2 +{ + /*0x00*/ u16 species; + /*0x02*/ u16 heldItem; + /*0x04*/ u8 nickname[POKEMON_NAME_LENGTH + 1]; + /*0x0F*/ u8 level; + /*0x10*/ u16 hp; + /*0x12*/ u16 maxhp; + /*0x14*/ u32 status; + /*0x18*/ u32 personality; + /*0x1C*/ u8 gender; + /*0x1D*/ u8 language; +}; + +extern u16 gBattle_BG0_X; +extern u16 gBattle_BG0_Y; +extern u16 gBattle_BG1_X; +extern u16 gBattle_BG1_Y; +extern u16 gBattle_BG2_X; +extern u16 gBattle_BG2_Y; +extern u16 gBattle_BG3_X; +extern u16 gBattle_BG3_Y; +extern u16 gBattle_WIN0H; +extern u16 gBattle_WIN0V; +extern u16 gBattle_WIN1H; +extern u16 gBattle_WIN1V; +extern struct MusicPlayerInfo gMPlayInfo_SE1; +extern struct MusicPlayerInfo gMPlayInfo_SE2; +extern u8 gUnknown_0203CF00[]; + +extern const struct BattleMove gBattleMoves[]; +extern const u16 gBattleTextboxPalette[]; // battle textbox palette +extern const struct BgTemplate gUnknown_0831AA08[]; +extern const struct WindowTemplate * const gUnknown_0831ABA0[]; +extern const u8 gUnknown_0831ACE0[]; +extern const u8 gStatStageRatios[][2]; +extern const u8 * const gBattleScriptsForMoveEffects[]; +extern const u8 * const gBattlescriptsForBallThrow[]; +extern const u8 * const gBattlescriptsForRunningByItem[]; +extern const u8 * const gBattlescriptsForUsingItem[]; +extern const u8 * const gBattlescriptsForSafariActions[]; +extern const struct ScanlineEffectParams gUnknown_0831AC70; + +// strings +extern const u8 gText_LinkStandby3[]; +extern const u8 gText_RecordBattleToPass[]; +extern const u8 gText_BattleYesNoChoice[]; +extern const u8 gText_BattleRecordCouldntBeSaved[]; +extern const u8 gText_BattleRecordedOnPass[]; +extern const u8 gText_ShedinjaJapaneseName[]; +extern const u8 gText_EmptyString3[]; +extern const u8 gText_Poison[]; +extern const u8 gText_Sleep[]; +extern const u8 gText_Paralysis[]; +extern const u8 gText_Burn[]; +extern const u8 gText_Ice[]; +extern const u8 gText_Confusion[]; +extern const u8 gText_Love[]; + +// functions +extern void GetFrontierTrainerName(u8* dst, u16 trainerId); // battle tower +extern void sub_8166188(void); // battle tower, sets link battle mons level but why? +extern void sub_8165B88(u8* dst, u16 trainerId); // battle tower, gets language +extern void sub_81B9150(void); +extern void sub_80B3AF8(u8 taskId); // cable club +extern void sub_81A56B4(void); // battle frontier 2 +extern u8 sub_81A9E28(void); // battle frontier 2 +extern void sub_81A56E8(u8 battlerId); // battle frontier 2 +extern void sub_81B8FB0(u8, u8); // party menu +extern u8 pokemon_order_func(u8); // party menu +extern bool8 InBattlePyramid(void); + +// this file's functions +static void CB2_InitBattleInternal(void); +static void CB2_PreInitMultiBattle(void); +static void CB2_PreInitIngamePlayerPartnerBattle(void); +static void CB2_HandleStartMultiPartnerBattle(void); +static void CB2_HandleStartMultiBattle(void); +static void CB2_HandleStartBattle(void); +static void TryCorrectShedinjaLanguage(struct Pokemon *mon); +static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 firstTrainer); +static void BattleMainCB1(void); +static void sub_8038538(struct Sprite *sprite); +static void sub_8038F14(void); +static void sub_8038F34(void); +static void sub_80392A8(void); +static void sub_803937C(void); +static void sub_803939C(void); +static void sub_803980C(struct Sprite *sprite); +static void sub_8039838(struct Sprite *sprite); +static void sub_8039894(struct Sprite *sprite); +static void sub_80398D0(struct Sprite *sprite); +static void sub_8039A48(struct Sprite *sprite); +static void sub_8039AF4(struct Sprite *sprite); +static void SpriteCallbackDummy_3(struct Sprite *sprite); +static void oac_poke_ally_(struct Sprite *sprite); +static void SpecialStatusesClear(void); +static void TurnValuesCleanUp(bool8 var0); +static void SpriteCB_HealthBoxBounce(struct Sprite *sprite); +static void BattleStartClearSetData(void); +static void BattleIntroGetMonsData(void); +static void BattleIntroPrepareBackgroundSlide(void); +static void BattleIntroDrawTrainersOrMonsSprites(void); +static void BattleIntroDrawPartySummaryScreens(void); +static void BattleIntroPrintTrainerWantsToBattle(void); +static void BattleIntroPrintWildMonAttacked(void); +static void BattleIntroPrintOpponentSendsOut(void); +static void BattleIntroPrintPlayerSendsOut(void); +static void BattleIntroOpponent1SendsOutMonAnimation(void); +static void BattleIntroOpponent2SendsOutMonAnimation(void); +static void BattleIntroRecordMonsToDex(void); +static void BattleIntroPlayer1SendsOutMonAnimation(void); +static void TryDoEventsBeforeFirstTurn(void); +static void HandleTurnActionSelectionState(void); +static void RunTurnActionsFunctions(void); +static void SetActionsAndBattlersTurnOrder(void); +static void sub_803CDF8(void); +static bool8 sub_803CDB8(void); +static void CheckFocusPunch_ClearVarsBeforeTurnStarts(void); +static void FreeResetData_ReturnToOvOrDoEvolutions(void); +static void ReturnFromBattleToOverworld(void); +static void TryEvolvePokemon(void); +static void WaitForEvoSceneToFinish(void); +static void HandleEndTurn_ContinueBattle(void); +static void HandleEndTurn_BattleWon(void); +static void HandleEndTurn_BattleLost(void); +static void HandleEndTurn_RanFromBattle(void); +static void HandleEndTurn_MonFled(void); +static void HandleEndTurn_FinishBattle(void); +static void HandleAction_UseMove(void); +static void HandleAction_Switch(void); +static void HandleAction_UseItem(void); +static void HandleAction_Run(void); +static void HandleAction_WatchesCarefully(void); +static void HandleAction_SafariZoneBallThrow(void); +static void HandleAction_ThrowPokeblock(void); +static void HandleAction_GoNear(void); +static void HandleAction_SafriZoneRun(void); +static void HandleAction_Action9(void); +static void HandleAction_Action11(void); +static void HandleAction_NothingIsFainted(void); +static void HandleAction_ActionFinished(void); + +// EWRAM vars +EWRAM_DATA static u32 sUnusedUnknownArray[25] = {0}; +EWRAM_DATA u32 gBattleTypeFlags = 0; +EWRAM_DATA u8 gBattleTerrain = 0; +EWRAM_DATA u32 gUnknown_02022FF4 = 0; +EWRAM_DATA struct UnknownPokemonStruct2 gUnknown_02022FF8[3] = {0}; // what is it used for? +EWRAM_DATA struct UnknownPokemonStruct2* gUnknown_02023058 = NULL; // what is it used for? +EWRAM_DATA u8 *gUnknown_0202305C = NULL; +EWRAM_DATA u8 *gUnknown_02023060 = NULL; +EWRAM_DATA u8 gBattleBufferA[MAX_BATTLERS_COUNT][0x200] = {0}; +EWRAM_DATA u8 gBattleBufferB[MAX_BATTLERS_COUNT][0x200] = {0}; +EWRAM_DATA u8 gActiveBattler = 0; +EWRAM_DATA u32 gBattleControllerExecFlags = 0; +EWRAM_DATA u8 gBattlersCount = 0; +EWRAM_DATA u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u8 gBattlerPositions[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u8 gActionsByTurnOrder[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u8 gBattleTurnOrder[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u8 gCurrentTurnActionNumber = 0; +EWRAM_DATA u8 gCurrentActionFuncId = 0; +EWRAM_DATA struct BattlePokemon gBattleMons[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u8 gBattlerSpriteIds[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u8 gCurrMovePos = 0; +EWRAM_DATA u8 gChosenMovePos = 0; +EWRAM_DATA u16 gCurrentMove = 0; +EWRAM_DATA u16 gChosenMove = 0; +EWRAM_DATA u16 gRandomMove = 0; +EWRAM_DATA s32 gBattleMoveDamage = 0; +EWRAM_DATA s32 gHpDealt = 0; +EWRAM_DATA s32 gTakenDmg[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u16 gLastUsedItem = 0; +EWRAM_DATA u8 gLastUsedAbility = 0; +EWRAM_DATA u8 gBattlerAttacker = 0; +EWRAM_DATA u8 gBattlerTarget = 0; +EWRAM_DATA u8 gBattlerFainted = 0; +EWRAM_DATA u8 gEffectBattler = 0; +EWRAM_DATA u8 gPotentialItemEffectBattler = 0; +EWRAM_DATA u8 gAbsentBattlerFlags = 0; +EWRAM_DATA u8 gCritMultiplier = 0; +EWRAM_DATA u8 gMultiHitCounter = 0; +EWRAM_DATA const u8 *gBattlescriptCurrInstr = NULL; +EWRAM_DATA u32 gUnusedBattleMainVar = 0; +EWRAM_DATA u8 gChosenActionByBattler[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA const u8 *gSelectionBattleScripts[MAX_BATTLERS_COUNT] = {NULL}; +EWRAM_DATA const u8 *gPalaceSelectionBattleScripts[MAX_BATTLERS_COUNT] = {NULL}; +EWRAM_DATA u16 gLastPrintedMoves[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u16 gLastMoves[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u16 gLastLandedMoves[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u16 gLastHitByType[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u16 gLastResultingMoves[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u16 gLockedMoves[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u8 gLastHitBy[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u16 gChosenMoveByBattler[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u8 gMoveResultFlags = 0; +EWRAM_DATA u32 gHitMarker = 0; +EWRAM_DATA static u8 sUnusedBattlersArray[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u8 gTakenDmgByBattler[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u8 gUnknown_0202428C = 0; +EWRAM_DATA u16 gSideStatuses[2] = {0}; +EWRAM_DATA struct SideTimer gSideTimers[2] = {0}; +EWRAM_DATA u32 gStatuses3[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA struct DisableStruct gDisableStructs[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u16 gPauseCounterBattle = 0; +EWRAM_DATA u16 gPaydayMoney = 0; +EWRAM_DATA u16 gRandomTurnNumber = 0; +EWRAM_DATA u8 gBattleCommunication[BATTLE_COMMUNICATION_ENTRIES_COUNT] = {0}; +EWRAM_DATA u8 gBattleOutcome = 0; +EWRAM_DATA struct ProtectStruct gProtectStructs[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA struct SpecialStatus gSpecialStatuses[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u16 gBattleWeather = 0; +EWRAM_DATA struct WishFutureKnock gWishFutureKnock = {0}; +EWRAM_DATA u16 gIntroSlideFlags = 0; +EWRAM_DATA u8 gSentPokesToOpponent[2] = {0}; +EWRAM_DATA u16 gDynamicBasePower = 0; +EWRAM_DATA u16 gExpShareExp = 0; +EWRAM_DATA struct BattleEnigmaBerry gEnigmaBerries[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA struct BattleScripting gBattleScripting = {0}; +EWRAM_DATA struct BattleStruct *gBattleStruct = NULL; +EWRAM_DATA u8 *gLinkBattleSendBuffer = NULL; +EWRAM_DATA u8 *gLinkBattleRecvBuffer = NULL; +EWRAM_DATA struct BattleResources *gBattleResources = NULL; +EWRAM_DATA u8 gActionSelectionCursor[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u8 gMoveSelectionCursor[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u8 gBattlerStatusSummaryTaskId[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u8 gBattlerInMenuId = 0; +EWRAM_DATA bool8 gDoingBattleAnim = FALSE; +EWRAM_DATA u32 gTransformedPersonalities[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u8 gPlayerDpadHoldFrames = 0; +EWRAM_DATA struct BattleSpriteData *gBattleSpritesDataPtr = NULL; +EWRAM_DATA struct MonSpritesGfx *gMonSpritesGfxPtr = NULL; +EWRAM_DATA struct BattleHealthboxInfo *gUnknown_020244D8 = NULL; +EWRAM_DATA struct BattleHealthboxInfo *gUnknown_020244DC = NULL; +EWRAM_DATA u16 gBattleMovePower = 0; +EWRAM_DATA u16 gMoveToLearn = 0; +EWRAM_DATA u8 gBattleMonForms[MAX_BATTLERS_COUNT] = {0}; + +// IWRAM common vars +void (*gPreBattleCallback1)(void); +void (*gBattleMainFunc)(void); +struct BattleResults gBattleResults; +u8 gLeveledUpInBattle; +void (*gBattlerControllerFuncs[MAX_BATTLERS_COUNT])(void); +u8 gHealthboxSpriteIds[MAX_BATTLERS_COUNT]; +u8 gMultiUsePlayerCursor; +u8 gNumberOfMovesToChoose; +u8 gUnknown_03005D7C[MAX_BATTLERS_COUNT]; + +// rom const data +static void (* const sTurnActionsFuncsTable[])(void) = +{ + HandleAction_UseMove, // B_ACTION_USE_MOVE + HandleAction_UseItem, // B_ACTION_USE_ITEM + HandleAction_Switch, // B_ACTION_SWITCH + HandleAction_Run, // B_ACTION_RUN + HandleAction_WatchesCarefully, // B_ACTION_SAFARI_WATCH_CAREFULLY + HandleAction_SafariZoneBallThrow, // B_ACTION_SAFARI_BALL + HandleAction_ThrowPokeblock, // B_ACTION_SAFARI_POKEBLOCK + HandleAction_GoNear, // B_ACTION_SAFARI_GO_NEAR + HandleAction_SafriZoneRun, // B_ACTION_SAFARI_RUN + HandleAction_Action9, // B_ACTION_UNKNOWN9 + HandleAction_RunBattleScript, // B_ACTION_EXEC_SCRIPT + HandleAction_Action11, // not sure about this one + HandleAction_ActionFinished, // B_ACTION_FINISHED + HandleAction_NothingIsFainted, // B_ACTION_NOTHING_FAINTED +}; + +static void (* const sEndTurnFuncsTable[])(void) = +{ + HandleEndTurn_ContinueBattle, // battle outcome 0 + HandleEndTurn_BattleWon, // B_OUTCOME_WON + HandleEndTurn_BattleLost, // B_OUTCOME_LOST + HandleEndTurn_BattleLost, // B_OUTCOME_DREW + HandleEndTurn_RanFromBattle, // B_OUTCOME_RAN + HandleEndTurn_FinishBattle, // B_OUTCOME_PLAYER_TELEPORTED + HandleEndTurn_MonFled, // B_OUTCOME_MON_FLED + HandleEndTurn_FinishBattle, // B_OUTCOME_CAUGHT + HandleEndTurn_FinishBattle, // battle outcome 8 + HandleEndTurn_FinishBattle, // B_OUTCOME_FORFEITED + HandleEndTurn_FinishBattle, // B_OUTCOME_MON_TELEPORTED +}; + +const u8 gStatusConditionString_PoisonJpn[8] = _("どく$$$$$"); +const u8 gStatusConditionString_SleepJpn[8] = _("ねむり$$$$"); +const u8 gStatusConditionString_ParalysisJpn[8] = _("まひ$$$$$"); +const u8 gStatusConditionString_BurnJpn[8] = _("やけど$$$$"); +const u8 gStatusConditionString_IceJpn[8] = _("こおり$$$$"); +const u8 gStatusConditionString_ConfusionJpn[8] = _("こんらん$$$"); +const u8 gStatusConditionString_LoveJpn[8] = _("メロメロ$$$"); + +const u8 * const gStatusConditionStringsTable[7][2] = +{ + {gStatusConditionString_PoisonJpn, gText_Poison}, + {gStatusConditionString_SleepJpn, gText_Sleep}, + {gStatusConditionString_ParalysisJpn, gText_Paralysis}, + {gStatusConditionString_BurnJpn, gText_Burn}, + {gStatusConditionString_IceJpn, gText_Ice}, + {gStatusConditionString_ConfusionJpn, gText_Confusion}, + {gStatusConditionString_LoveJpn, gText_Love} +}; + +static const u8 sUnknown_0831BCE0[][3] = {{0, 0, 0}, {3, 5, 0}, {2, 3, 0}, {1, 2, 0}, {1, 1, 0}}; +static const u8 sUnknown_0831BCEF[] = {4, 3, 2, 1}; +static const u8 sUnknown_0831BCF3[] = {4, 4, 4, 4}; + +void CB2_InitBattle(void) +{ + MoveSaveBlocks_ResetHeap(); + AllocateBattleResources(); + AllocateBattleSpritesData(); + AllocateMonSpritesGfx(); + sub_8185F84(); + + if (gBattleTypeFlags & BATTLE_TYPE_MULTI) + { + if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) + { + CB2_InitBattleInternal(); + } + else if (!(gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER)) + { + HandleLinkBattleSetup(); + SetMainCallback2(CB2_PreInitMultiBattle); + } + else + { + SetMainCallback2(CB2_PreInitIngamePlayerPartnerBattle); + } + gBattleCommunication[MULTIUSE_STATE] = 0; + } + else + { + CB2_InitBattleInternal(); + } +} + +static void CB2_InitBattleInternal(void) +{ + s32 i; + + SetHBlankCallback(NULL); + SetVBlankCallback(NULL); + + CpuFill32(0, (void*)(VRAM), VRAM_SIZE); + + SetGpuReg(REG_OFFSET_MOSAIC, 0); + SetGpuReg(REG_OFFSET_WIN0H, 240); + SetGpuReg(REG_OFFSET_WIN0V, 0x5051); + SetGpuReg(REG_OFFSET_WININ, 0); + SetGpuReg(REG_OFFSET_WINOUT, 0); + + gBattle_WIN0H = 240; + + if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gPartnerTrainerId != STEVEN_PARTNER_ID) + { + gBattle_WIN0V = 159; + gBattle_WIN1H = 240; + gBattle_WIN1V = 32; + } + else + { + gBattle_WIN0V = 0x5051; + ScanlineEffect_Clear(); + + for (i = 0; i < 80; i++) + { + gScanlineEffectRegBuffers[0][i] = 0xF0; + gScanlineEffectRegBuffers[1][i] = 0xF0; + } + for (i = 80; i < 160; i++) + { + asm(""::"r"(i)); + gScanlineEffectRegBuffers[0][i] = 0xFF10; + gScanlineEffectRegBuffers[1][i] = 0xFF10; + } + + ScanlineEffect_SetParams(gUnknown_0831AC70); + } + + ResetPaletteFade(); + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + gBattle_BG2_X = 0; + gBattle_BG2_Y = 0; + gBattle_BG3_X = 0; + gBattle_BG3_Y = 0; + + gBattleTerrain = BattleSetup_GetTerrainId(); + if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) + gBattleTerrain = BATTLE_TERRAIN_BUILDING; + + sub_80356D0(); + LoadBattleTextboxAndBackground(); + ResetSpriteData(); + ResetTasks(); + LoadBattleEntryBackground(); + FreeAllSpritePalettes(); + gReservedSpritePaletteCount = 4; + SetVBlankCallback(VBlankCB_Battle); + SetUpBattleVarsAndBirchZigzagoon(); + + if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) + SetMainCallback2(CB2_HandleStartMultiPartnerBattle); + else if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) + SetMainCallback2(CB2_HandleStartMultiPartnerBattle); + else if (gBattleTypeFlags & BATTLE_TYPE_MULTI) + SetMainCallback2(CB2_HandleStartMultiBattle); + else + SetMainCallback2(CB2_HandleStartBattle); + + if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED))) + { + CreateNPCTrainerParty(&gEnemyParty[0], gTrainerBattleOpponent_A, TRUE); + if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) + CreateNPCTrainerParty(&gEnemyParty[3], gTrainerBattleOpponent_B, FALSE); + SetWildMonHeldItem(); + } + + gMain.inBattle = TRUE; + gSaveBlock2Ptr->field_CA9_b = 0; + + for (i = 0; i < 6; i++) + AdjustFriendship(&gPlayerParty[i], 3); + + gBattleCommunication[MULTIUSE_STATE] = 0; +} + +static void sub_8036A5C(void) +{ + u16 r6 = 0; + u16 species = 0; + u16 hp = 0; + u32 status = 0; + s32 i; + + for (i = 0; i < PARTY_SIZE; i++) + { + species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); + hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); + status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS); + + if (species == SPECIES_NONE) + continue; + if (species != SPECIES_EGG && hp != 0 && status == 0) + r6 |= 1 << i * 2; + + if (species == SPECIES_NONE) + continue; + if (hp != 0 && (species == SPECIES_EGG || status != 0)) + r6 |= 2 << i * 2; + + if (species == SPECIES_NONE) + continue; + if (species != SPECIES_EGG && hp == 0) + r6 |= 3 << i * 2; + } + + gBattleStruct->field_182 = r6; + *(&gBattleStruct->field_183) = r6 >> 8; + gBattleStruct->field_183 |= FlagGet(FLAG_SYS_FRONTIER_PASS) << 7; +} + +static void SetPlayerBerryDataInBattleStruct(void) +{ + s32 i; + struct BattleStruct *battleStruct = gBattleStruct; + struct BattleEnigmaBerry *battleBerry = &battleStruct->battleEnigmaBerry; + + if (IsEnigmaBerryValid() == TRUE) + { + for (i = 0; i < BERRY_NAME_COUNT - 1; i++) + battleBerry->name[i] = gSaveBlock1Ptr->enigmaBerry.berry.name[i]; + battleBerry->name[i] = EOS; + + for (i = 0; i < BERRY_ITEM_EFFECT_COUNT; i++) + battleBerry->itemEffect[i] = gSaveBlock1Ptr->enigmaBerry.itemEffect[i]; + + battleBerry->holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; + battleBerry->holdEffectParam = gSaveBlock1Ptr->enigmaBerry.holdEffectParam; + } + else + { + const struct Berry* berryData = GetBerryInfo(ItemIdToBerryType(ITEM_ENIGMA_BERRY)); + + for (i = 0; i < BERRY_NAME_COUNT - 1; i++) + battleBerry->name[i] = berryData->name[i]; + battleBerry->name[i] = EOS; + + for (i = 0; i < BERRY_ITEM_EFFECT_COUNT; i++) + battleBerry->itemEffect[i] = 0; + + battleBerry->holdEffect = HOLD_EFFECT_NONE; + battleBerry->holdEffectParam = 0; + } +} + +static void SetAllPlayersBerryData(void) +{ + s32 i; + s32 j; + + if (!(gBattleTypeFlags & BATTLE_TYPE_LINK)) + { + if (IsEnigmaBerryValid() == TRUE) + { + for (i = 0; i < BERRY_NAME_COUNT - 1; i++) + { + gEnigmaBerries[0].name[i] = gSaveBlock1Ptr->enigmaBerry.berry.name[i]; + gEnigmaBerries[2].name[i] = gSaveBlock1Ptr->enigmaBerry.berry.name[i]; + } + gEnigmaBerries[0].name[i] = EOS; + gEnigmaBerries[2].name[i] = EOS; + + for (i = 0; i < BERRY_ITEM_EFFECT_COUNT; i++) + { + gEnigmaBerries[0].itemEffect[i] = gSaveBlock1Ptr->enigmaBerry.itemEffect[i]; + gEnigmaBerries[2].itemEffect[i] = gSaveBlock1Ptr->enigmaBerry.itemEffect[i]; + } + + gEnigmaBerries[0].holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; + gEnigmaBerries[2].holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; + gEnigmaBerries[0].holdEffectParam = gSaveBlock1Ptr->enigmaBerry.holdEffectParam; + gEnigmaBerries[2].holdEffectParam = gSaveBlock1Ptr->enigmaBerry.holdEffectParam; + } + else + { + const struct Berry* berryData = GetBerryInfo(ItemIdToBerryType(ITEM_ENIGMA_BERRY)); + + for (i = 0; i < BERRY_NAME_COUNT - 1; i++) + { + gEnigmaBerries[0].name[i] = berryData->name[i]; + gEnigmaBerries[2].name[i] = berryData->name[i]; + } + gEnigmaBerries[0].name[i] = EOS; + gEnigmaBerries[2].name[i] = EOS; + + for (i = 0; i < BERRY_ITEM_EFFECT_COUNT; i++) + { + gEnigmaBerries[0].itemEffect[i] = 0; + gEnigmaBerries[2].itemEffect[i] = 0; + } + + gEnigmaBerries[0].holdEffect = 0; + gEnigmaBerries[2].holdEffect = 0; + gEnigmaBerries[0].holdEffectParam = 0; + gEnigmaBerries[2].holdEffectParam = 0; + } + } + else + { + s32 numPlayers; + struct BattleEnigmaBerry *src; + u8 r4; + + if (gBattleTypeFlags & BATTLE_TYPE_MULTI) + { + if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) + numPlayers = 2; + else + numPlayers = 4; + + for (i = 0; i < numPlayers; i++) + { + src = (struct BattleEnigmaBerry *)(gBlockRecvBuffer[i] + 2); + r4 = gLinkPlayers[i].lp_field_18; + + for (j = 0; j < BERRY_NAME_COUNT - 1; j++) + gEnigmaBerries[r4].name[j] = src->name[j]; + gEnigmaBerries[r4].name[j] = EOS; + + for (j = 0; j < BERRY_ITEM_EFFECT_COUNT; j++) + gEnigmaBerries[r4].itemEffect[j] = src->itemEffect[j]; + + gEnigmaBerries[r4].holdEffect = src->holdEffect; + gEnigmaBerries[r4].holdEffectParam = src->holdEffectParam; + } + } + else + { + for (i = 0; i < 2; i++) + { + src = (struct BattleEnigmaBerry *)(gBlockRecvBuffer[i] + 2); + + for (j = 0; j < BERRY_NAME_COUNT - 1; j++) + { + gEnigmaBerries[i].name[j] = src->name[j]; + gEnigmaBerries[i + 2].name[j] = src->name[j]; + } + gEnigmaBerries[i].name[j] = EOS; + gEnigmaBerries[i + 2].name[j] = EOS; + + for (j = 0; j < BERRY_ITEM_EFFECT_COUNT; j++) + { + gEnigmaBerries[i].itemEffect[j] = src->itemEffect[j]; + gEnigmaBerries[i + 2].itemEffect[j] = src->itemEffect[j]; + } + + gEnigmaBerries[i].holdEffect = src->holdEffect; + gEnigmaBerries[i + 2].holdEffect = src->holdEffect; + gEnigmaBerries[i].holdEffectParam = src->holdEffectParam; + gEnigmaBerries[i + 2].holdEffectParam = src->holdEffectParam; + } + } + } +} + +static void sub_8036EB8(u8 arg0, u8 arg1) +{ + u8 var = 0; + + if (gBlockRecvBuffer[0][0] == 256) + { + if (arg1 == 0) + gBattleTypeFlags |= BATTLE_TYPE_WILD | BATTLE_TYPE_TRAINER; + else + gBattleTypeFlags |= BATTLE_TYPE_TRAINER; + var++; + } + + if (var == 0) + { + s32 i; + + for (i = 0; i < arg0; i++) + { + if (gBlockRecvBuffer[0][0] != gBlockRecvBuffer[i][0]) + break; + } + + if (i == arg0) + { + if (arg1 == 0) + gBattleTypeFlags |= BATTLE_TYPE_WILD | BATTLE_TYPE_TRAINER; + else + gBattleTypeFlags |= BATTLE_TYPE_TRAINER; + var++; + } + + if (var == 0) + { + for (i = 0; i < arg0; i++) + { + if (gBlockRecvBuffer[i][0] == 0x300) + { + if (i != arg1 && i < arg1) + break; + } + if (gBlockRecvBuffer[i][0] > 0x300 && i != arg1) + break; + } + + if (i == arg0) + gBattleTypeFlags |= BATTLE_TYPE_WILD | BATTLE_TYPE_TRAINER; + else + gBattleTypeFlags |= BATTLE_TYPE_TRAINER; + } + } +} + +static void CB2_HandleStartBattle(void) +{ + u8 playerMultiplayerId; + u8 enemyMultiplayerId; + + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + + playerMultiplayerId = GetMultiplayerId(); + gBattleScripting.multiplayerId = playerMultiplayerId; + enemyMultiplayerId = playerMultiplayerId ^ BIT_SIDE; + + switch (gBattleCommunication[MULTIUSE_STATE]) + { + case 0: + if (!IsDma3ManagerBusyWithBgCopy()) + { + ShowBg(0); + ShowBg(1); + ShowBg(2); + ShowBg(3); + sub_805EF14(); + gBattleCommunication[MULTIUSE_STATE] = 1; + } + if (gLinkVSyncDisabled) + sub_800E0E8(); + break; + case 1: + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + { + if (gReceivedRemoteLinkPlayers != 0) + { + if (sub_800A520()) + { + *(&gBattleStruct->field_180) = 0; + *(&gBattleStruct->field_181) = 3; + sub_8036A5C(); + SetPlayerBerryDataInBattleStruct(); + + if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_C00) + { + gLinkPlayers[0].lp_field_18 = 0; + gLinkPlayers[1].lp_field_18 = 1; + } + + SendBlock(bitmask_all_link_players_but_self(), &gBattleStruct->field_180, 32); + gBattleCommunication[MULTIUSE_STATE] = 2; + } + if (gLinkVSyncDisabled) + sub_800DFB4(0, 0); + } + } + else + { + if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) + gBattleTypeFlags |= BATTLE_TYPE_WILD; + gBattleCommunication[MULTIUSE_STATE] = 15; + SetAllPlayersBerryData(); + } + break; + case 2: + if ((GetBlockReceivedStatus() & 3) == 3) + { + u8 taskId; + + ResetBlockReceivedFlags(); + sub_8036EB8(2, playerMultiplayerId); + SetAllPlayersBerryData(); + taskId = CreateTask(sub_8035D74, 0); + gTasks[taskId].data[1] = 0x10E; + gTasks[taskId].data[2] = 0x5A; + gTasks[taskId].data[5] = 0; + gTasks[taskId].data[3] = gBattleStruct->field_182 | (gBattleStruct->field_183 << 8); + gTasks[taskId].data[4] = gBlockRecvBuffer[enemyMultiplayerId][1]; + sub_8185F90(gBlockRecvBuffer[playerMultiplayerId][1]); + sub_8185F90(gBlockRecvBuffer[enemyMultiplayerId][1]); + sub_8068AA4(); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 3: + if (sub_800A520()) + { + SendBlock(bitmask_all_link_players_but_self(), gPlayerParty, sizeof(struct Pokemon) * 2); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 4: + if ((GetBlockReceivedStatus() & 3) == 3) + { + ResetBlockReceivedFlags(); + memcpy(gEnemyParty, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon) * 2); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 7: + if (sub_800A520()) + { + SendBlock(bitmask_all_link_players_but_self(), gPlayerParty + 2, sizeof(struct Pokemon) * 2); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 8: + if ((GetBlockReceivedStatus() & 3) == 3) + { + ResetBlockReceivedFlags(); + memcpy(gEnemyParty + 2, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon) * 2); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 11: + if (sub_800A520()) + { + SendBlock(bitmask_all_link_players_but_self(), gPlayerParty + 4, sizeof(struct Pokemon) * 2); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 12: + if ((GetBlockReceivedStatus() & 3) == 3) + { + ResetBlockReceivedFlags(); + memcpy(gEnemyParty + 4, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon) * 2); + TryCorrectShedinjaLanguage(&gEnemyParty[0]); + TryCorrectShedinjaLanguage(&gEnemyParty[1]); + TryCorrectShedinjaLanguage(&gEnemyParty[2]); + TryCorrectShedinjaLanguage(&gEnemyParty[3]); + TryCorrectShedinjaLanguage(&gEnemyParty[4]); + TryCorrectShedinjaLanguage(&gEnemyParty[5]); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 15: + sub_8032768(); + sub_8184E58(); + gBattleCommunication[SPRITES_INIT_STATE1] = 0; + gBattleCommunication[SPRITES_INIT_STATE2] = 0; + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + { + s32 i; + + for (i = 0; i < 2 && (gLinkPlayers[i].version & 0xFF) == VERSION_EMERALD; i++); + + if (i == 2) + gBattleCommunication[MULTIUSE_STATE] = 16; + else + gBattleCommunication[MULTIUSE_STATE] = 18; + } + else + { + gBattleCommunication[MULTIUSE_STATE] = 18; + } + break; + case 16: + if (sub_800A520()) + { + SendBlock(bitmask_all_link_players_but_self(), &gRecordedBattleRngSeed, sizeof(gRecordedBattleRngSeed)); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 17: + if ((GetBlockReceivedStatus() & 3) == 3) + { + ResetBlockReceivedFlags(); + if (!(gBattleTypeFlags & BATTLE_TYPE_WILD)) + memcpy(&gRecordedBattleRngSeed, gBlockRecvBuffer[enemyMultiplayerId], sizeof(gRecordedBattleRngSeed)); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 18: + if (BattleInitAllSprites(&gBattleCommunication[SPRITES_INIT_STATE1], &gBattleCommunication[SPRITES_INIT_STATE2])) + { + gPreBattleCallback1 = gMain.callback1; + gMain.callback1 = BattleMainCB1; + SetMainCallback2(BattleMainCB2); + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + { + gBattleTypeFlags |= BATTLE_TYPE_20; + } + } + break; + case 5: + case 9: + case 13: + gBattleCommunication[MULTIUSE_STATE]++; + gBattleCommunication[1] = 1; + case 6: + case 10: + case 14: + if (--gBattleCommunication[1] == 0) + gBattleCommunication[MULTIUSE_STATE]++; + break; + } +} + +static void CB2_HandleStartMultiPartnerBattle(void) +{ + u8 playerMultiplayerId; + u8 enemyMultiplayerId; + + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + + playerMultiplayerId = GetMultiplayerId(); + gBattleScripting.multiplayerId = playerMultiplayerId; + enemyMultiplayerId = playerMultiplayerId ^ BIT_SIDE; + + switch (gBattleCommunication[MULTIUSE_STATE]) + { + case 0: + if (!IsDma3ManagerBusyWithBgCopy()) + { + ShowBg(0); + ShowBg(1); + ShowBg(2); + ShowBg(3); + sub_805EF14(); + gBattleCommunication[MULTIUSE_STATE] = 1; + } + if (gLinkVSyncDisabled) + sub_800E0E8(); + // fall through + case 1: + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + { + if (gReceivedRemoteLinkPlayers != 0) + { + u8 language; + + gLinkPlayers[0].lp_field_18 = 0; + gLinkPlayers[1].lp_field_18 = 2; + gLinkPlayers[2].lp_field_18 = 1; + gLinkPlayers[3].lp_field_18 = 3; + GetFrontierTrainerName(gLinkPlayers[2].name, gTrainerBattleOpponent_A); + GetFrontierTrainerName(gLinkPlayers[3].name, gTrainerBattleOpponent_B); + sub_8165B88(&language, gTrainerBattleOpponent_A); + gLinkPlayers[2].language = language; + sub_8165B88(&language, gTrainerBattleOpponent_B); + gLinkPlayers[3].language = language; + + if (sub_800A520()) + { + *(&gBattleStruct->field_180) = 0; + *(&gBattleStruct->field_181) = 3; + sub_8036A5C(); + SetPlayerBerryDataInBattleStruct(); + SendBlock(bitmask_all_link_players_but_self(), &gBattleStruct->field_180, 32); + gBattleCommunication[MULTIUSE_STATE] = 2; + } + + if (gLinkVSyncDisabled) + sub_800DFB4(0, 0); + } + } + else + { + if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) + gBattleTypeFlags |= BATTLE_TYPE_WILD; + gBattleCommunication[MULTIUSE_STATE] = 13; + SetAllPlayersBerryData(); + } + break; + case 2: + if ((GetBlockReceivedStatus() & 3) == 3) + { + u8 taskId; + + ResetBlockReceivedFlags(); + sub_8036EB8(2, playerMultiplayerId); + SetAllPlayersBerryData(); + taskId = CreateTask(sub_8035D74, 0); + gTasks[taskId].data[1] = 0x10E; + gTasks[taskId].data[2] = 0x5A; + gTasks[taskId].data[5] = 0; + gTasks[taskId].data[3] = 0x145; + gTasks[taskId].data[4] = 0x145; + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 3: + if (sub_800A520()) + { + SendBlock(bitmask_all_link_players_but_self(), gPlayerParty, sizeof(struct Pokemon) * 2); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 4: + if ((GetBlockReceivedStatus() & 3) == 3) + { + ResetBlockReceivedFlags(); + if (gLinkPlayers[playerMultiplayerId].lp_field_18 != 0) + { + memcpy(gPlayerParty, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon) * 2); + memcpy(gPlayerParty + 3, gBlockRecvBuffer[playerMultiplayerId], sizeof(struct Pokemon) * 2); + } + else + { + memcpy(gPlayerParty, gBlockRecvBuffer[playerMultiplayerId], sizeof(struct Pokemon) * 2); + memcpy(gPlayerParty + 3, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon) * 2); + } + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 5: + if (sub_800A520()) + { + SendBlock(bitmask_all_link_players_but_self(), gPlayerParty + 2, sizeof(struct Pokemon)); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 6: + if ((GetBlockReceivedStatus() & 3) == 3) + { + ResetBlockReceivedFlags(); + if (gLinkPlayers[playerMultiplayerId].lp_field_18 != 0) + { + memcpy(gPlayerParty + 2, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon)); + memcpy(gPlayerParty + 5, gBlockRecvBuffer[playerMultiplayerId], sizeof(struct Pokemon)); + } + else + { + memcpy(gPlayerParty + 2, gBlockRecvBuffer[playerMultiplayerId], sizeof(struct Pokemon)); + memcpy(gPlayerParty + 5, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon)); + } + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 7: + if (sub_800A520()) + { + SendBlock(bitmask_all_link_players_but_self(), gEnemyParty, sizeof(struct Pokemon) * 2); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 8: + if ((GetBlockReceivedStatus() & 3) == 3) + { + ResetBlockReceivedFlags(); + if (GetMultiplayerId() != 0) + { + memcpy(gEnemyParty, gBlockRecvBuffer[0], sizeof(struct Pokemon) * 2); + } + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 9: + if (sub_800A520()) + { + SendBlock(bitmask_all_link_players_but_self(), gEnemyParty + 2, sizeof(struct Pokemon) * 2); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 10: + if ((GetBlockReceivedStatus() & 3) == 3) + { + ResetBlockReceivedFlags(); + if (GetMultiplayerId() != 0) + { + memcpy(gEnemyParty + 2, gBlockRecvBuffer[0], sizeof(struct Pokemon) * 2); + } + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 11: + if (sub_800A520()) + { + SendBlock(bitmask_all_link_players_but_self(), gEnemyParty + 4, sizeof(struct Pokemon) * 2); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 12: + if ((GetBlockReceivedStatus() & 3) == 3) + { + ResetBlockReceivedFlags(); + if (GetMultiplayerId() != 0) + memcpy(gEnemyParty + 4, gBlockRecvBuffer[0], sizeof(struct Pokemon) * 2); + TryCorrectShedinjaLanguage(&gPlayerParty[0]); + TryCorrectShedinjaLanguage(&gPlayerParty[1]); + TryCorrectShedinjaLanguage(&gPlayerParty[2]); + TryCorrectShedinjaLanguage(&gPlayerParty[3]); + TryCorrectShedinjaLanguage(&gPlayerParty[4]); + TryCorrectShedinjaLanguage(&gPlayerParty[5]); + TryCorrectShedinjaLanguage(&gEnemyParty[0]); + TryCorrectShedinjaLanguage(&gEnemyParty[1]); + TryCorrectShedinjaLanguage(&gEnemyParty[2]); + TryCorrectShedinjaLanguage(&gEnemyParty[3]); + TryCorrectShedinjaLanguage(&gEnemyParty[4]); + TryCorrectShedinjaLanguage(&gEnemyParty[5]); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 13: + sub_8032768(); + sub_8184E58(); + gBattleCommunication[SPRITES_INIT_STATE1] = 0; + gBattleCommunication[SPRITES_INIT_STATE2] = 0; + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + { + gBattleCommunication[MULTIUSE_STATE] = 14; + } + else + { + gBattleCommunication[MULTIUSE_STATE] = 16; + } + break; + case 14: + if (sub_800A520()) + { + SendBlock(bitmask_all_link_players_but_self(), &gRecordedBattleRngSeed, sizeof(gRecordedBattleRngSeed)); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 15: + if ((GetBlockReceivedStatus() & 3) == 3) + { + ResetBlockReceivedFlags(); + if (!(gBattleTypeFlags & BATTLE_TYPE_WILD)) + memcpy(&gRecordedBattleRngSeed, gBlockRecvBuffer[enemyMultiplayerId], sizeof(gRecordedBattleRngSeed)); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 16: + if (BattleInitAllSprites(&gBattleCommunication[SPRITES_INIT_STATE1], &gBattleCommunication[SPRITES_INIT_STATE2])) + { + sub_8166188(); + gPreBattleCallback1 = gMain.callback1; + gMain.callback1 = BattleMainCB1; + SetMainCallback2(BattleMainCB2); + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + { + gBattleTypeFlags |= BATTLE_TYPE_20; + } + } + break; + } +} + +static void sub_80379F8(u8 arrayIdPlus) +{ + s32 i; + + for (i = 0; i < 3; i++) + { + gUnknown_02022FF8[i].species = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_SPECIES); + gUnknown_02022FF8[i].heldItem = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_HELD_ITEM); + GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_NICKNAME, gUnknown_02022FF8[i].nickname); + gUnknown_02022FF8[i].level = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_LEVEL); + gUnknown_02022FF8[i].hp = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_HP); + gUnknown_02022FF8[i].maxhp = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_MAX_HP); + gUnknown_02022FF8[i].status = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_STATUS); + gUnknown_02022FF8[i].personality = GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_PERSONALITY); + gUnknown_02022FF8[i].gender = GetMonGender(&gPlayerParty[arrayIdPlus + i]); + StripExtCtrlCodes(gUnknown_02022FF8[i].nickname); + if (GetMonData(&gPlayerParty[arrayIdPlus + i], MON_DATA_LANGUAGE) != LANGUAGE_JAPANESE) + PadNameString(gUnknown_02022FF8[i].nickname, CHAR_SPACE); + } + memcpy(gUnknown_02023058, gUnknown_02022FF8, sizeof(gUnknown_02022FF8)); +} + +static void CB2_PreInitMultiBattle(void) +{ + s32 i; + u8 playerMultiplierId; + s32 numPlayers = 4; + u8 r4 = 0xF; + u32* savedBattleTypeFlags; + void (**savedCallback)(void); + + if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) + { + numPlayers = 2; + r4 = 3; + } + + playerMultiplierId = GetMultiplayerId(); + gBattleScripting.multiplayerId = playerMultiplierId; + savedCallback = &gBattleStruct->savedCallback; + savedBattleTypeFlags = &gBattleStruct->savedBattleTypeFlags; + + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + + switch (gBattleCommunication[MULTIUSE_STATE]) + { + case 0: + if (gReceivedRemoteLinkPlayers != 0 && sub_800A520()) + { + gUnknown_02023058 = Alloc(sizeof(struct UnknownPokemonStruct2) * 3); + sub_80379F8(0); + SendBlock(bitmask_all_link_players_but_self(), gUnknown_02023058, sizeof(struct UnknownPokemonStruct2) * 3); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 1: + if ((GetBlockReceivedStatus() & r4) == r4) + { + ResetBlockReceivedFlags(); + for (i = 0; i < numPlayers; i++) + { + if (i == playerMultiplierId) + continue; + + if (numPlayers == 4) + { + if ((!(gLinkPlayers[i].lp_field_18 & 1) && !(gLinkPlayers[playerMultiplierId].lp_field_18 & 1)) + || (gLinkPlayers[i].lp_field_18 & 1 && gLinkPlayers[playerMultiplierId].lp_field_18 & 1)) + { + memcpy(gUnknown_02022FF8, gBlockRecvBuffer[i], sizeof(struct UnknownPokemonStruct2) * 3); + } + } + else + { + memcpy(gUnknown_02022FF8, gBlockRecvBuffer[i], sizeof(struct UnknownPokemonStruct2) * 3); + } + } + gBattleCommunication[MULTIUSE_STATE]++; + *savedCallback = gMain.savedCallback; + *savedBattleTypeFlags = gBattleTypeFlags; + gMain.savedCallback = CB2_PreInitMultiBattle; + sub_81B9150(); + } + break; + case 2: + if (sub_800A520() && !gPaletteFade.active) + { + gBattleCommunication[MULTIUSE_STATE]++; + if (gLinkVSyncDisabled) + sub_800ADF8(); + else + sub_800AC34(); + } + break; + case 3: + if (gLinkVSyncDisabled) + { + if (sub_8010500()) + { + gBattleTypeFlags = *savedBattleTypeFlags; + gMain.savedCallback = *savedCallback; + SetMainCallback2(CB2_InitBattleInternal); + Free(gUnknown_02023058); + gUnknown_02023058 = NULL; + } + } + else if (gReceivedRemoteLinkPlayers == 0) + { + gBattleTypeFlags = *savedBattleTypeFlags; + gMain.savedCallback = *savedCallback; + SetMainCallback2(CB2_InitBattleInternal); + Free(gUnknown_02023058); + gUnknown_02023058 = NULL; + } + break; + } +} + +static void CB2_PreInitIngamePlayerPartnerBattle(void) +{ + u32* savedBattleTypeFlags; + void (**savedCallback)(void); + + savedCallback = &gBattleStruct->savedCallback; + savedBattleTypeFlags = &gBattleStruct->savedBattleTypeFlags; + + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + + switch (gBattleCommunication[MULTIUSE_STATE]) + { + case 0: + gUnknown_02023058 = Alloc(sizeof(struct UnknownPokemonStruct2) * 3); + sub_80379F8(3); + gBattleCommunication[MULTIUSE_STATE]++; + *savedCallback = gMain.savedCallback; + *savedBattleTypeFlags = gBattleTypeFlags; + gMain.savedCallback = CB2_PreInitIngamePlayerPartnerBattle; + sub_81B9150(); + break; + case 1: + if (!gPaletteFade.active) + { + gBattleCommunication[MULTIUSE_STATE] = 2; + gBattleTypeFlags = *savedBattleTypeFlags; + gMain.savedCallback = *savedCallback; + SetMainCallback2(CB2_InitBattleInternal); + Free(gUnknown_02023058); + gUnknown_02023058 = NULL; + } + break; + } +} + +static void CB2_HandleStartMultiBattle(void) +{ + u8 playerMultiplayerId; + s32 id; + u8 var; + + playerMultiplayerId = GetMultiplayerId(); + gBattleScripting.multiplayerId = playerMultiplayerId; + + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + + switch (gBattleCommunication[MULTIUSE_STATE]) + { + case 0: + if (!IsDma3ManagerBusyWithBgCopy()) + { + ShowBg(0); + ShowBg(1); + ShowBg(2); + ShowBg(3); + sub_805EF14(); + gBattleCommunication[MULTIUSE_STATE] = 1; + } + if (gLinkVSyncDisabled) + sub_800E0E8(); + break; + case 1: + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + { + if (gReceivedRemoteLinkPlayers != 0) + { + if (sub_800A520()) + { + *(&gBattleStruct->field_180) = 0; + *(&gBattleStruct->field_181) = 3; + sub_8036A5C(); + SetPlayerBerryDataInBattleStruct(); + + SendBlock(bitmask_all_link_players_but_self(), &gBattleStruct->field_180, 32); + gBattleCommunication[MULTIUSE_STATE]++; + } + if (gLinkVSyncDisabled) + sub_800DFB4(0, 0); + } + } + else + { + if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) + gBattleTypeFlags |= BATTLE_TYPE_WILD; + gBattleCommunication[MULTIUSE_STATE] = 7; + SetAllPlayersBerryData(); + } + break; + case 2: + if ((GetBlockReceivedStatus() & 0xF) == 0xF) + { + ResetBlockReceivedFlags(); + sub_8036EB8(4, playerMultiplayerId); + SetAllPlayersBerryData(); + sub_8068AA4(); + var = CreateTask(sub_8035D74, 0); + gTasks[var].data[1] = 0x10E; + gTasks[var].data[2] = 0x5A; + gTasks[var].data[5] = 0; + gTasks[var].data[3] = 0; + gTasks[var].data[4] = 0; + + for (id = 0; id < MAX_LINK_PLAYERS; id++) + { + sub_8185F90(gBlockRecvBuffer[id][1]); + switch (gLinkPlayers[id].lp_field_18) + { + case 0: + gTasks[var].data[3] |= gBlockRecvBuffer[id][1] & 0x3F; + break; + case 1: + gTasks[var].data[4] |= gBlockRecvBuffer[id][1] & 0x3F; + break; + case 2: + gTasks[var].data[3] |= (gBlockRecvBuffer[id][1] & 0x3F) << 6; + break; + case 3: + gTasks[var].data[4] |= (gBlockRecvBuffer[id][1] & 0x3F) << 6; + break; + } + } + ZeroEnemyPartyMons(); + gBattleCommunication[MULTIUSE_STATE]++; + } + else + break; + // fall through + case 3: + if (sub_800A520()) + { + SendBlock(bitmask_all_link_players_but_self(), gPlayerParty, sizeof(struct Pokemon) * 2); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 4: + if ((GetBlockReceivedStatus() & 0xF) == 0xF) + { + ResetBlockReceivedFlags(); + for (id = 0; id < MAX_LINK_PLAYERS; id++) + { + if (id == playerMultiplayerId) + { + switch (gLinkPlayers[id].lp_field_18) + { + case 0: + case 3: + memcpy(gPlayerParty, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2); + break; + case 1: + case 2: + memcpy(gPlayerParty + 3, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2); + break; + } + } + else + { + if ((!(gLinkPlayers[id].lp_field_18 & 1) && !(gLinkPlayers[playerMultiplayerId].lp_field_18 & 1)) + || ((gLinkPlayers[id].lp_field_18 & 1) && (gLinkPlayers[playerMultiplayerId].lp_field_18 & 1))) + { + switch (gLinkPlayers[id].lp_field_18) + { + case 0: + case 3: + memcpy(gPlayerParty, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2); + break; + case 1: + case 2: + memcpy(gPlayerParty + 3, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2); + break; + } + } + else + { + switch (gLinkPlayers[id].lp_field_18) + { + case 0: + case 3: + memcpy(gEnemyParty, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2); + break; + case 1: + case 2: + memcpy(gEnemyParty + 3, gBlockRecvBuffer[id], sizeof(struct Pokemon) * 2); + break; + } + } + } + } + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 5: + if (sub_800A520()) + { + SendBlock(bitmask_all_link_players_but_self(), gPlayerParty + 2, sizeof(struct Pokemon)); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 6: + if ((GetBlockReceivedStatus() & 0xF) == 0xF) + { + ResetBlockReceivedFlags(); + for (id = 0; id < MAX_LINK_PLAYERS; id++) + { + if (id == playerMultiplayerId) + { + switch (gLinkPlayers[id].lp_field_18) + { + case 0: + case 3: + memcpy(gPlayerParty + 2, gBlockRecvBuffer[id], sizeof(struct Pokemon)); + break; + case 1: + case 2: + memcpy(gPlayerParty + 5, gBlockRecvBuffer[id], sizeof(struct Pokemon)); + break; + } + } + else + { + if ((!(gLinkPlayers[id].lp_field_18 & 1) && !(gLinkPlayers[playerMultiplayerId].lp_field_18 & 1)) + || ((gLinkPlayers[id].lp_field_18 & 1) && (gLinkPlayers[playerMultiplayerId].lp_field_18 & 1))) + { + switch (gLinkPlayers[id].lp_field_18) + { + case 0: + case 3: + memcpy(gPlayerParty + 2, gBlockRecvBuffer[id], sizeof(struct Pokemon)); + break; + case 1: + case 2: + memcpy(gPlayerParty + 5, gBlockRecvBuffer[id], sizeof(struct Pokemon)); + break; + } + } + else + { + switch (gLinkPlayers[id].lp_field_18) + { + case 0: + case 3: + memcpy(gEnemyParty + 2, gBlockRecvBuffer[id], sizeof(struct Pokemon)); + break; + case 1: + case 2: + memcpy(gEnemyParty + 5, gBlockRecvBuffer[id], sizeof(struct Pokemon)); + break; + } + } + } + } + TryCorrectShedinjaLanguage(&gPlayerParty[0]); + TryCorrectShedinjaLanguage(&gPlayerParty[1]); + TryCorrectShedinjaLanguage(&gPlayerParty[2]); + TryCorrectShedinjaLanguage(&gPlayerParty[3]); + TryCorrectShedinjaLanguage(&gPlayerParty[4]); + TryCorrectShedinjaLanguage(&gPlayerParty[5]); + + TryCorrectShedinjaLanguage(&gEnemyParty[0]); + TryCorrectShedinjaLanguage(&gEnemyParty[1]); + TryCorrectShedinjaLanguage(&gEnemyParty[2]); + TryCorrectShedinjaLanguage(&gEnemyParty[3]); + TryCorrectShedinjaLanguage(&gEnemyParty[4]); + TryCorrectShedinjaLanguage(&gEnemyParty[5]); + + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 7: + sub_8032768(); + sub_8184E58(); + gBattleCommunication[SPRITES_INIT_STATE1] = 0; + gBattleCommunication[SPRITES_INIT_STATE2] = 0; + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + { + for (id = 0; id < 4 && (gLinkPlayers[id].version & 0xFF) == 3; id++); + + if (id == 4) + gBattleCommunication[MULTIUSE_STATE] = 8; + else + gBattleCommunication[MULTIUSE_STATE] = 10; + } + else + { + gBattleCommunication[MULTIUSE_STATE] = 10; + } + break; + case 8: + if (sub_800A520()) + { + u32* ptr = (u32*)(&gBattleStruct->field_180); + ptr[0] = gBattleTypeFlags; + ptr[1] = gRecordedBattleRngSeed; // UB: overwrites berry data + SendBlock(bitmask_all_link_players_but_self(), ptr, 8); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 9: + if ((GetBlockReceivedStatus() & 0xF) == 0xF) + { + ResetBlockReceivedFlags(); + for (var = 0; var < 4; var++) + { + u32 blockValue = gBlockRecvBuffer[var][0]; + if (blockValue & 4) + { + memcpy(&gRecordedBattleRngSeed, &gBlockRecvBuffer[var][2], sizeof(gRecordedBattleRngSeed)); + break; + } + } + + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 10: + if (BattleInitAllSprites(&gBattleCommunication[SPRITES_INIT_STATE1], &gBattleCommunication[SPRITES_INIT_STATE2])) + { + gPreBattleCallback1 = gMain.callback1; + gMain.callback1 = BattleMainCB1; + SetMainCallback2(BattleMainCB2); + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + { + gTrainerBattleOpponent_A = TRAINER_OPPONENT_800; + gBattleTypeFlags |= BATTLE_TYPE_20; + } + } + break; + } +} + +void BattleMainCB2(void) +{ + AnimateSprites(); + BuildOamBuffer(); + RunTextPrinters(); + UpdatePaletteFade(); + RunTasks(); + + if (gMain.heldKeys & B_BUTTON && gBattleTypeFlags & BATTLE_TYPE_RECORDED && sub_8186450()) + { + gSpecialVar_Result = gBattleOutcome = B_OUTCOME_PLAYER_TELEPORTED; + ResetPaletteFadeControl(); + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + SetMainCallback2(CB2_QuitRecordedBattle); + } +} + +static void FreeRestoreBattleData(void) +{ + gMain.callback1 = gPreBattleCallback1; + gScanlineEffect.state = 3; + gMain.inBattle = 0; + ZeroEnemyPartyMons(); + m4aSongNumStop(0x5A); + FreeMonSpritesGfx(); + FreeBattleSpritesData(); + FreeBattleResources(); +} + +void CB2_QuitRecordedBattle(void) +{ + UpdatePaletteFade(); + if (!gPaletteFade.active) + { + m4aMPlayStop(&gMPlayInfo_SE1); + m4aMPlayStop(&gMPlayInfo_SE2); + FreeRestoreBattleData(); + FreeAllWindowBuffers(); + SetMainCallback2(gMain.savedCallback); + } +} + +void sub_8038528(struct Sprite* sprite) +{ + sprite->data[0] = 0; + sprite->callback = sub_8038538; +} + +static void sub_8038538(struct Sprite *sprite) +{ + u16 *arr = (u16*)(gDecompressionBuffer); + + switch (sprite->data[0]) + { + case 0: + sprite->data[0]++; + sprite->data[1] = 0; + sprite->data[2] = 0x281; + sprite->data[3] = 0; + sprite->data[4] = 1; + // fall through + case 1: + sprite->data[4]--; + if (sprite->data[4] == 0) + { + s32 i; + s32 r2; + s32 r0; + + sprite->data[4] = 2; + r2 = sprite->data[1] + sprite->data[3] * 32; + r0 = sprite->data[2] - sprite->data[3] * 32; + for (i = 0; i < 29; i += 2) + { + arr[r2 + i] = 0x3D; + arr[r0 + i] = 0x3D; + } + sprite->data[3]++; + if (sprite->data[3] == 21) + { + sprite->data[0]++; + sprite->data[1] = 32; + } + } + break; + case 2: + sprite->data[1]--; + if (sprite->data[1] == 20) + SetMainCallback2(CB2_InitBattle); + break; + } +} + +static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 firstTrainer) +{ + u32 nameHash = 0; + u32 personalityValue; + u8 fixedIV; + s32 i, j; + u8 monsCount; + + if (trainerNum == SECRET_BASE_OPPONENT) + return 0; + + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && !(gBattleTypeFlags & (BATTLE_TYPE_FRONTIER + | BATTLE_TYPE_EREADER_TRAINER + | BATTLE_TYPE_x4000000))) + { + if (firstTrainer == TRUE) + ZeroEnemyPartyMons(); + + if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) + { + if (gTrainers[trainerNum].partySize > 3) + monsCount = 3; + else + monsCount = gTrainers[trainerNum].partySize; + } + else + { + monsCount = gTrainers[trainerNum].partySize; + } + + for (i = 0; i < monsCount; i++) + { + + if (gTrainers[trainerNum].doubleBattle == TRUE) + personalityValue = 0x80; + else if (gTrainers[trainerNum].encounterMusic_gender & 0x80) + personalityValue = 0x78; + else + personalityValue = 0x88; + + for (j = 0; gTrainers[trainerNum].trainerName[j] != EOS; j++) + nameHash += gTrainers[trainerNum].trainerName[j]; + + switch (gTrainers[trainerNum].partyFlags) + { + case 0: + { + const struct TrainerMonNoItemDefaultMoves *partyData = gTrainers[trainerNum].party.NoItemDefaultMoves; + + for (j = 0; gSpeciesNames[partyData[i].species][j] != EOS; j++) + nameHash += gSpeciesNames[partyData[i].species][j]; + + personalityValue += nameHash << 8; + fixedIV = partyData[i].iv * 31 / 255; + CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, OT_ID_RANDOM_NO_SHINY, 0); + break; + } + case F_TRAINER_PARTY_CUSTOM_MOVESET: + { + const struct TrainerMonNoItemCustomMoves *partyData = gTrainers[trainerNum].party.NoItemCustomMoves; + + for (j = 0; gSpeciesNames[partyData[i].species][j] != EOS; j++) + nameHash += gSpeciesNames[partyData[i].species][j]; + + personalityValue += nameHash << 8; + fixedIV = partyData[i].iv * 31 / 255; + CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, 2, 0); + + for (j = 0; j < 4; j++) + { + SetMonData(&party[i], MON_DATA_MOVE1 + j, &partyData[i].moves[j]); + SetMonData(&party[i], MON_DATA_PP1 + j, &gBattleMoves[partyData[i].moves[j]].pp); + } + break; + } + case F_TRAINER_PARTY_HELD_ITEM: + { + const struct TrainerMonItemDefaultMoves *partyData = gTrainers[trainerNum].party.ItemDefaultMoves; + + for (j = 0; gSpeciesNames[partyData[i].species][j] != EOS; j++) + nameHash += gSpeciesNames[partyData[i].species][j]; + + personalityValue += nameHash << 8; + fixedIV = partyData[i].iv * 31 / 255; + CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, 2, 0); + + SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem); + break; + } + case F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM: + { + const struct TrainerMonItemCustomMoves *partyData = gTrainers[trainerNum].party.ItemCustomMoves; + + for (j = 0; gSpeciesNames[partyData[i].species][j] != EOS; j++) + nameHash += gSpeciesNames[partyData[i].species][j]; + + personalityValue += nameHash << 8; + fixedIV = partyData[i].iv * 31 / 255; + CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, 2, 0); + + SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem); + + for (j = 0; j < 4; j++) + { + SetMonData(&party[i], MON_DATA_MOVE1 + j, &partyData[i].moves[j]); + SetMonData(&party[i], MON_DATA_PP1 + j, &gBattleMoves[partyData[i].moves[j]].pp); + } + break; + } + } + } + + gBattleTypeFlags |= gTrainers[trainerNum].doubleBattle; + } + + return gTrainers[trainerNum].partySize; +} + +void sub_8038A04(void) // unused +{ + if (REG_VCOUNT < 0xA0 && REG_VCOUNT >= 0x6F) + SetGpuReg(REG_OFFSET_BG0CNT, 0x9800); +} + +void VBlankCB_Battle(void) +{ + // change gRngSeed every vblank unless the battle could be recorded + if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_FRONTIER | BATTLE_TYPE_RECORDED))) + Random(); + + SetGpuReg(REG_OFFSET_BG0HOFS, gBattle_BG0_X); + SetGpuReg(REG_OFFSET_BG0VOFS, gBattle_BG0_Y); + SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); + SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); + SetGpuReg(REG_OFFSET_BG2HOFS, gBattle_BG2_X); + SetGpuReg(REG_OFFSET_BG2VOFS, gBattle_BG2_Y); + SetGpuReg(REG_OFFSET_BG3HOFS, gBattle_BG3_X); + SetGpuReg(REG_OFFSET_BG3VOFS, gBattle_BG3_Y); + SetGpuReg(REG_OFFSET_WIN0H, gBattle_WIN0H); + SetGpuReg(REG_OFFSET_WIN0V, gBattle_WIN0V); + SetGpuReg(REG_OFFSET_WIN1H, gBattle_WIN1H); + SetGpuReg(REG_OFFSET_WIN1V, gBattle_WIN1V); + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + ScanlineEffect_InitHBlankDmaTransfer(); +} + +void nullsub_17(void) +{ + +} + +static void sub_8038B04(struct Sprite *sprite) +{ + if (sprite->data[0] != 0) + sprite->pos1.x = sprite->data[1] + ((sprite->data[2] & 0xFF00) >> 8); + else + sprite->pos1.x = sprite->data[1] - ((sprite->data[2] & 0xFF00) >> 8); + + sprite->data[2] += 0x180; + + if (sprite->affineAnimEnded) + { + FreeSpriteTilesByTag(0x2710); + FreeSpritePaletteByTag(0x2710); + FreeSpriteOamMatrix(sprite); + DestroySprite(sprite); + } +} + +void sub_8038B74(struct Sprite *sprite) +{ + StartSpriteAffineAnim(sprite, 1); + sprite->callback = sub_8038B04; + PlaySE(SE_BT_START); +} + +static void sub_8038B94(u8 taskId) +{ + struct Pokemon *sp4 = NULL; + struct Pokemon *sp8 = NULL; + u8 r2 = gBattleScripting.multiplayerId; + u32 r7; + s32 i; + + if (gBattleTypeFlags & BATTLE_TYPE_MULTI) + { + switch (gLinkPlayers[r2].lp_field_18) + { + case 0: + case 2: + sp4 = gPlayerParty; + sp8 = gEnemyParty; + break; + case 1: + case 3: + sp4 = gEnemyParty; + sp8 = gPlayerParty; + break; + } + } + else + { + sp4 = gPlayerParty; + sp8 = gEnemyParty; + } + + r7 = 0; + for (i = 0; i < PARTY_SIZE; i++) + { + u16 species = GetMonData(&sp4[i], MON_DATA_SPECIES2); + u16 hp = GetMonData(&sp4[i], MON_DATA_HP); + u32 status = GetMonData(&sp4[i], MON_DATA_STATUS); + + if (species == SPECIES_NONE) + continue; + if (species != SPECIES_EGG && hp != 0 && status == 0) + r7 |= 1 << i * 2; + + if (species == 0) + continue; + if (hp != 0 && (species == SPECIES_EGG || status != 0)) + r7 |= 2 << i * 2; + + if (species == 0) + continue; + if (species != SPECIES_EGG && hp == 0) + r7 |= 3 << i * 2; + } + gTasks[taskId].data[3] = r7; + + r7 = 0; + for (i = 0; i < PARTY_SIZE; i++) + { + u16 species = GetMonData(&sp8[i], MON_DATA_SPECIES2); + u16 hp = GetMonData(&sp8[i], MON_DATA_HP); + u32 status = GetMonData(&sp8[i], MON_DATA_STATUS); + + if (species == SPECIES_NONE) + continue; + if (species != SPECIES_EGG && hp != 0 && status == 0) + r7 |= 1 << i * 2; + + if (species == SPECIES_NONE) + continue; + if (hp != 0 && (species == SPECIES_EGG || status != 0)) + r7 |= 2 << i * 2; + + if (species == SPECIES_NONE) + continue; + if (species != SPECIES_EGG && hp == 0) + r7 |= 3 << i * 2; + } + gTasks[taskId].data[4] = r7; +} + +void sub_8038D64(void) +{ + s32 i; + u8 taskId; + + SetHBlankCallback(NULL); + SetVBlankCallback(NULL); + gBattleTypeFlags &= ~(BATTLE_TYPE_20); + + if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) + { + SetMainCallback2(gMain.savedCallback); + FreeBattleResources(); + FreeBattleSpritesData(); + FreeMonSpritesGfx(); + } + else + { + CpuFill32(0, (void*)(VRAM), VRAM_SIZE); + SetGpuReg(REG_OFFSET_MOSAIC, 0); + SetGpuReg(REG_OFFSET_WIN0H, 0xF0); + SetGpuReg(REG_OFFSET_WIN0V, 0x5051); + SetGpuReg(REG_OFFSET_WININ, 0); + SetGpuReg(REG_OFFSET_WINOUT, 0); + gBattle_WIN0H = 0xF0; + gBattle_WIN0V = 0x5051; + ScanlineEffect_Clear(); + + for (i = 0; i < 80; i++) + { + gScanlineEffectRegBuffers[0][i] = 0xF0; + gScanlineEffectRegBuffers[1][i] = 0xF0; + } + for (i = 80; i < 160; i++) + { + asm(""::"r"(i)); // Needed to stop the compiler from optimizing out the loop counter + gScanlineEffectRegBuffers[0][i] = 0xFF10; + gScanlineEffectRegBuffers[1][i] = 0xFF10; + } + + ResetPaletteFade(); + + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + gBattle_BG2_X = 0; + gBattle_BG2_Y = 0; + gBattle_BG3_X = 0; + gBattle_BG3_Y = 0; + + sub_80356D0(); + LoadCompressedPalette(gBattleTextboxPalette, 0, 64); + ApplyPlayerChosenFrameToBattleMenu(); + ResetSpriteData(); + ResetTasks(); + LoadBattleEntryBackground(); + SetGpuReg(REG_OFFSET_WINOUT, 0x37); + FreeAllSpritePalettes(); + gReservedSpritePaletteCount = 4; + SetVBlankCallback(VBlankCB_Battle); + + taskId = CreateTask(sub_8035D74, 0); + gTasks[taskId].data[1] = 0x10E; + gTasks[taskId].data[2] = 0x5A; + gTasks[taskId].data[5] = 1; + sub_8038B94(taskId); + SetMainCallback2(sub_8038F14); + gBattleCommunication[MULTIUSE_STATE] = 0; + } +} + +static void sub_8038F14(void) +{ + sub_8038F34(); + AnimateSprites(); + BuildOamBuffer(); + RunTextPrinters(); + UpdatePaletteFade(); + RunTasks(); +} + +static void sub_8038F34(void) +{ + s32 i; + + switch (gBattleCommunication[MULTIUSE_STATE]) + { + case 0: + ShowBg(0); + ShowBg(1); + ShowBg(2); + gBattleCommunication[1] = 0xFF; + gBattleCommunication[MULTIUSE_STATE]++; + break; + case 1: + if (--gBattleCommunication[1] == 0) + { + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 2: + if (!gPaletteFade.active) + { + u8 monsCount; + + gMain.field_439_x4 = sub_8185FAC(); + + if (gBattleTypeFlags & BATTLE_TYPE_MULTI) + monsCount = 4; + else + monsCount = 2; + + for (i = 0; i < monsCount && (gLinkPlayers[i].version & 0xFF) == VERSION_EMERALD; i++); + + if (!gSaveBlock2Ptr->field_CA9_b && i == monsCount) + { + if (FlagGet(FLAG_SYS_FRONTIER_PASS)) + { + FreeAllWindowBuffers(); + SetMainCallback2(sub_80392A8); + } + else if (!gMain.field_439_x4) + { + SetMainCallback2(gMain.savedCallback); + FreeBattleResources(); + FreeBattleSpritesData(); + FreeMonSpritesGfx(); + } + else if (gReceivedRemoteLinkPlayers == 0) + { + CreateTask(sub_80B3AF8, 5); + gBattleCommunication[MULTIUSE_STATE]++; + } + else + { + gBattleCommunication[MULTIUSE_STATE]++; + } + } + else + { + SetMainCallback2(gMain.savedCallback); + FreeBattleResources(); + FreeBattleSpritesData(); + FreeMonSpritesGfx(); + } + } + break; + case 3: + CpuFill32(0, (void*)(VRAM), VRAM_SIZE); + + for (i = 0; i < 2; i++) + LoadChosenBattleElement(i); + + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + gBattleCommunication[MULTIUSE_STATE]++; + break; + case 4: + if (!gPaletteFade.active) + gBattleCommunication[MULTIUSE_STATE]++; + break; + case 5: + if (!FuncIsActiveTask(sub_80B3AF8)) + gBattleCommunication[MULTIUSE_STATE]++; + break; + case 6: + if (sub_800A520() == TRUE) + { + sub_800ADF8(); + BattleHandleAddTextPrinter(gText_LinkStandby3, 0); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 7: + if (!IsTextPrinterActive(0)) + { + if (sub_800A520() == TRUE) + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 8: + if (!gLinkVSyncDisabled) + sub_800AC34(); + gBattleCommunication[MULTIUSE_STATE]++; + break; + case 9: + if (!gMain.field_439_x4 || gLinkVSyncDisabled || gReceivedRemoteLinkPlayers != 1) + { + gMain.field_439_x4 = 0; + SetMainCallback2(gMain.savedCallback); + FreeBattleResources(); + FreeBattleSpritesData(); + FreeMonSpritesGfx(); + } + break; + } +} + +u32 sub_80391E0(u8 arrayId, u8 caseId) +{ + u32 ret = 0; + + switch (caseId) + { + case 0: + ret = gUnknown_0831AA08[arrayId].bg; + break; + case 1: + ret = gUnknown_0831AA08[arrayId].charBaseIndex; + break; + case 2: + ret = gUnknown_0831AA08[arrayId].mapBaseIndex; + break; + case 3: + ret = gUnknown_0831AA08[arrayId].screenSize; + break; + case 4: + ret = gUnknown_0831AA08[arrayId].paletteMode; + break; + case 5: + ret = gUnknown_0831AA08[arrayId].priority; + break; + case 6: + ret = gUnknown_0831AA08[arrayId].baseTile; + break; + } + + return ret; +} + +static void sub_80392A8(void) +{ + s32 i; + + SetHBlankCallback(NULL); + SetVBlankCallback(NULL); + CpuFill32(0, (void*)(VRAM), VRAM_SIZE); + ResetPaletteFade(); + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + gBattle_BG2_X = 0; + gBattle_BG2_Y = 0; + gBattle_BG3_X = 0; + gBattle_BG3_Y = 0; + sub_80356D0(); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + ApplyPlayerChosenFrameToBattleMenu(); + + for (i = 0; i < 2; i++) + LoadChosenBattleElement(i); + + ResetSpriteData(); + ResetTasks(); + FreeAllSpritePalettes(); + gReservedSpritePaletteCount = 4; + SetVBlankCallback(VBlankCB_Battle); + SetMainCallback2(sub_803937C); + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + gBattleCommunication[MULTIUSE_STATE] = 0; +} + +static void sub_803937C(void) +{ + sub_803939C(); + AnimateSprites(); + BuildOamBuffer(); + RunTextPrinters(); + UpdatePaletteFade(); + RunTasks(); +} + +static void sub_803939C(void) +{ + switch (gBattleCommunication[MULTIUSE_STATE]) + { + case 0: + ShowBg(0); + ShowBg(1); + ShowBg(2); + gBattleCommunication[MULTIUSE_STATE]++; + break; + case 1: + if (gMain.field_439_x4 && gReceivedRemoteLinkPlayers == 0) + CreateTask(sub_80B3AF8, 5); + gBattleCommunication[MULTIUSE_STATE]++; + break; + case 2: + if (!FuncIsActiveTask(sub_80B3AF8)) + gBattleCommunication[MULTIUSE_STATE]++; + break; + case 3: + if (!gPaletteFade.active) + { + BattleHandleAddTextPrinter(gText_RecordBattleToPass, 0); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 4: + if (!IsTextPrinterActive(0)) + { + HandleBattleWindow(0x18, 8, 0x1D, 0xD, 0); + BattleHandleAddTextPrinter(gText_BattleYesNoChoice, 0xC); + gBattleCommunication[CURSOR_POSITION] = 1; + BattleCreateYesNoCursorAt(1); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 5: + if (gMain.newKeys & DPAD_UP) + { + if (gBattleCommunication[CURSOR_POSITION] != 0) + { + PlaySE(SE_SELECT); + BattleDestroyYesNoCursorAt(gBattleCommunication[CURSOR_POSITION]); + gBattleCommunication[CURSOR_POSITION] = 0; + BattleCreateYesNoCursorAt(0); + } + } + else if (gMain.newKeys & DPAD_DOWN) + { + if (gBattleCommunication[CURSOR_POSITION] == 0) + { + PlaySE(SE_SELECT); + BattleDestroyYesNoCursorAt(gBattleCommunication[CURSOR_POSITION]); + gBattleCommunication[CURSOR_POSITION] = 1; + BattleCreateYesNoCursorAt(1); + } + } + else if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + if (gBattleCommunication[CURSOR_POSITION] == 0) + { + HandleBattleWindow(0x18, 8, 0x1D, 0xD, WINDOW_CLEAR); + gBattleCommunication[1] = MoveRecordedBattleToSaveData(); + gBattleCommunication[MULTIUSE_STATE] = 10; + } + else + { + gBattleCommunication[MULTIUSE_STATE]++; + } + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 6: + if (sub_800A520() == TRUE) + { + HandleBattleWindow(0x18, 8, 0x1D, 0xD, WINDOW_CLEAR); + if (gMain.field_439_x4) + { + sub_800ADF8(); + BattleHandleAddTextPrinter(gText_LinkStandby3, 0); + } + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 8: + if (--gBattleCommunication[1] == 0) + { + if (gMain.field_439_x4 && !gLinkVSyncDisabled) + sub_800AC34(); + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 9: + if (!gMain.field_439_x4 || gLinkVSyncDisabled || gReceivedRemoteLinkPlayers != 1) + { + gMain.field_439_x4 = 0; + if (!gPaletteFade.active) + { + SetMainCallback2(gMain.savedCallback); + FreeBattleResources(); + FreeBattleSpritesData(); + FreeMonSpritesGfx(); + } + } + break; + case 10: + if (gBattleCommunication[1] == 1) + { + PlaySE(SE_SAVE); + BattleStringExpandPlaceholdersToDisplayedString(gText_BattleRecordedOnPass); + BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + gBattleCommunication[1] = 0x80; + gBattleCommunication[MULTIUSE_STATE]++; + } + else + { + BattleStringExpandPlaceholdersToDisplayedString(gText_BattleRecordCouldntBeSaved); + BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + gBattleCommunication[1] = 0x80; + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 11: + if (sub_800A520() == TRUE && !IsTextPrinterActive(0) && --gBattleCommunication[1] == 0) + { + if (gMain.field_439_x4) + { + sub_800ADF8(); + BattleHandleAddTextPrinter(gText_LinkStandby3, 0); + } + gBattleCommunication[MULTIUSE_STATE]++; + } + break; + case 12: + case 7: + if (!IsTextPrinterActive(0)) + { + if (gMain.field_439_x4) + { + if (sub_800A520() == TRUE) + { + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + gBattleCommunication[1] = 0x20; + gBattleCommunication[MULTIUSE_STATE] = 8; + } + + } + else + { + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + gBattleCommunication[1] = 0x20; + gBattleCommunication[MULTIUSE_STATE] = 8; + } + } + break; + } +} + +static void TryCorrectShedinjaLanguage(struct Pokemon *mon) +{ + u8 nickname[POKEMON_NAME_LENGTH + 1]; + u8 language = LANGUAGE_JAPANESE; + + if (GetMonData(mon, MON_DATA_SPECIES) == SPECIES_SHEDINJA + && GetMonData(mon, MON_DATA_LANGUAGE) != language) + { + GetMonData(mon, MON_DATA_NICKNAME, nickname); + if (StringCompareWithoutExtCtrlCodes(nickname, gText_ShedinjaJapaneseName) == 0) + SetMonData(mon, MON_DATA_LANGUAGE, &language); + } +} + +u32 sub_80397C4(u32 setId, u32 tableId) +{ + return gUnknown_0831ABA0[setId][tableId].width * 8; +} + +#define sBattler data[0] +#define sSpeciesId data[2] + +void oac_poke_opponent(struct Sprite *sprite) +{ + sprite->callback = sub_803980C; + StartSpriteAnimIfDifferent(sprite, 0); + BeginNormalPaletteFade(0x20000, 0, 10, 10, 0x2108); +} + +static void sub_803980C(struct Sprite *sprite) +{ + if ((gIntroSlideFlags & 1) == 0) + { + sprite->pos2.x += 2; + if (sprite->pos2.x == 0) + { + sprite->callback = sub_8039838; + } + } +} + +static void sub_8039838(struct Sprite *sprite) +{ + if (sprite->animEnded) + { + sub_8076918(sprite->sBattler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[sprite->sBattler]); + sprite->callback = sub_8039894; + StartSpriteAnimIfDifferent(sprite, 0); + BeginNormalPaletteFade(0x20000, 0, 10, 0, 0x2108); + } +} + +static void sub_8039894(struct Sprite *sprite) +{ + if (!gPaletteFade.active) + { + BattleAnimateFrontSprite(sprite, sprite->sSpeciesId, FALSE, 1); + } +} + +void SpriteCallbackDummy_2(struct Sprite *sprite) +{ + +} + +static void sub_80398BC(struct Sprite *sprite) // unused? +{ + sprite->data[3] = 6; + sprite->data[4] = 1; + sprite->callback = sub_80398D0; +} + +static void sub_80398D0(struct Sprite *sprite) +{ + sprite->data[4]--; + if (sprite->data[4] == 0) + { + sprite->data[4] = 8; + sprite->invisible ^= 1; + sprite->data[3]--; + if (sprite->data[3] == 0) + { + sprite->invisible = FALSE; + sprite->callback = SpriteCallbackDummy_2; + sUnusedUnknownArray[0] = 0; + } + } +} + +extern const struct MonCoords gMonFrontPicCoords[]; +extern const struct MonCoords gCastformFrontSpriteCoords[]; + +void sub_8039934(struct Sprite *sprite) +{ + u8 battler = sprite->sBattler; + u16 species; + u8 yOffset; + + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != 0) + species = gBattleSpritesDataPtr->battlerData[battler].transformSpecies; + else + species = sprite->sSpeciesId; + + GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_PERSONALITY); // Unused return value + + if (species == SPECIES_UNOWN) + { + u32 personalityValue = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_PERSONALITY); + u16 unownForm = ((((personalityValue & 0x3000000) >> 18) | ((personalityValue & 0x30000) >> 12) | ((personalityValue & 0x300) >> 6) | (personalityValue & 3)) % 0x1C); + u16 unownSpecies; + + if (unownForm == 0) + unownSpecies = SPECIES_UNOWN; // Use the A Unown form + else + unownSpecies = NUM_SPECIES + unownForm; // Use one of the other Unown letters + + yOffset = gMonFrontPicCoords[unownSpecies].y_offset; + } + else if (species == SPECIES_CASTFORM) + { + yOffset = gCastformFrontSpriteCoords[gBattleMonForms[battler]].y_offset; + } + else if (species > NUM_SPECIES) + { + yOffset = gMonFrontPicCoords[SPECIES_NONE].y_offset; + } + else + { + yOffset = gMonFrontPicCoords[species].y_offset; + } + + sprite->data[3] = 8 - yOffset / 8; + sprite->data[4] = 1; + sprite->callback = sub_8039A48; +} + +static void sub_8039A48(struct Sprite *sprite) +{ + s32 i; + + sprite->data[4]--; + if (sprite->data[4] == 0) + { + sprite->data[4] = 2; + sprite->pos2.y += 8; + sprite->data[3]--; + if (sprite->data[3] < 0) + { + FreeSpriteOamMatrix(sprite); + DestroySprite(sprite); + } + else + { + u8 *dst = (u8 *)gMonSpritesGfxPtr->sprites[GetBattlerPosition(sprite->sBattler)] + (gBattleMonForms[sprite->sBattler] << 11) + (sprite->data[3] << 8); + + for (i = 0; i < 0x100; i++) + *(dst++) = 0; + + StartSpriteAnim(sprite, gBattleMonForms[sprite->sBattler]); + } + } +} + +void sub_8039AD8(struct Sprite *sprite) +{ + sprite->data[3] = 8; + sprite->data[4] = sprite->invisible; + sprite->callback = sub_8039AF4; +} + +static void sub_8039AF4(struct Sprite *sprite) +{ + sprite->data[3]--; + if (sprite->data[3] == 0) + { + sprite->invisible ^= 1; + sprite->data[3] = 8; + } +} + +void sub_8039B2C(struct Sprite *sprite) +{ + sprite->invisible = sprite->data[4]; + sprite->data[4] = FALSE; + sprite->callback = SpriteCallbackDummy_2; +} + +void sub_8039B58(struct Sprite *sprite) +{ + if (sprite->affineAnimEnded) + { + if (!(gHitMarker & HITMARKER_NO_ANIMATIONS) || gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) + { + if (HasTwoFramesAnimation(sprite->sSpeciesId)) + StartSpriteAnim(sprite, 1); + } + BattleAnimateFrontSprite(sprite, sprite->sSpeciesId, TRUE, 1); + } +} + +void sub_8039BB4(struct Sprite *sprite) +{ + sprite->callback = oac_poke_ally_; +} + +static void oac_poke_ally_(struct Sprite *sprite) +{ + if ((gIntroSlideFlags & 1) == 0) + { + sprite->pos2.x -= 2; + if (sprite->pos2.x == 0) + { + sprite->callback = SpriteCallbackDummy_3; + sprite->data[1] = 0; + } + } +} + +void sub_80105DC(struct Sprite *sprite) +{ + sprite->callback = SpriteCallbackDummy_3; +} + +static void SpriteCallbackDummy_3(struct Sprite *sprite) +{ +} + +void sub_8039C00(struct Sprite *sprite) +{ + if (!(gIntroSlideFlags & 1)) + { + sprite->pos2.x += sprite->data[1]; + sprite->pos2.y += sprite->data[2]; + } +} + +void dp11b_obj_instanciate(u8 battler, u8 b, s8 c, s8 d) +{ + u8 bounceHealthBoxSpriteId; + u8 spriteId2; + + if (b) + { + if (gBattleSpritesDataPtr->healthBoxesData[battler].flag_x2) + return; + } + else + { + if (gBattleSpritesDataPtr->healthBoxesData[battler].flag_x4) + return; + } + + bounceHealthBoxSpriteId = CreateInvisibleSpriteWithCallback(SpriteCB_HealthBoxBounce); + if (b == TRUE) + { + spriteId2 = gHealthboxSpriteIds[battler]; + gBattleSpritesDataPtr->healthBoxesData[battler].field_2 = bounceHealthBoxSpriteId; + gBattleSpritesDataPtr->healthBoxesData[battler].flag_x2 = 1; + gSprites[bounceHealthBoxSpriteId].data[0] = 0x80; + } + else + { + spriteId2 = gBattlerSpriteIds[battler]; + gBattleSpritesDataPtr->healthBoxesData[battler].field_3 = bounceHealthBoxSpriteId; + gBattleSpritesDataPtr->healthBoxesData[battler].flag_x4 = 1; + gSprites[bounceHealthBoxSpriteId].data[0] = 0xC0; + } + gSprites[bounceHealthBoxSpriteId].data[1] = c; + gSprites[bounceHealthBoxSpriteId].data[2] = d; + gSprites[bounceHealthBoxSpriteId].data[3] = spriteId2; + gSprites[bounceHealthBoxSpriteId].data[4] = b; + gSprites[spriteId2].pos2.x = 0; + gSprites[spriteId2].pos2.y = 0; +} + +void dp11b_obj_free(u8 battler, bool8 b) +{ + u8 r4; + + if (b == TRUE) + { + if (!gBattleSpritesDataPtr->healthBoxesData[battler].flag_x2) + return; + + r4 = gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].field_2].data[3]; + DestroySprite(&gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].field_2]); + gBattleSpritesDataPtr->healthBoxesData[battler].flag_x2 = 0; + } + else + { + if (!gBattleSpritesDataPtr->healthBoxesData[battler].flag_x4) + return; + + r4 = gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].field_3].data[3]; + DestroySprite(&gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].field_3]); + gBattleSpritesDataPtr->healthBoxesData[battler].flag_x4 = 0; + } + gSprites[r4].pos2.x = 0; + gSprites[r4].pos2.y = 0; +} + +static void SpriteCB_HealthBoxBounce(struct Sprite *sprite) +{ + u8 spriteId = sprite->data[3]; + s32 var; + + if (sprite->data[4] == 1) + var = sprite->data[0]; + else + var = sprite->data[0]; + + gSprites[spriteId].pos2.y = Sin(var, sprite->data[2]) + sprite->data[2]; + sprite->data[0] = (sprite->data[0] + sprite->data[1]) & 0xFF; +} + +void sub_8039E44(struct Sprite *sprite) +{ + if (sprite->affineAnimEnded) + BattleAnimateBackSprite(sprite, sprite->sSpeciesId); +} + +void sub_8039E60(struct Sprite *sprite) +{ + sub_8039E9C(sprite); + if (sprite->animEnded) + sprite->callback = SpriteCallbackDummy_3; +} + +void sub_8039E84(struct Sprite *sprite) +{ + StartSpriteAnim(sprite, 1); + sprite->callback = sub_8039E60; +} + +void sub_8039E9C(struct Sprite *sprite) +{ + if (sprite->animDelayCounter == 0) + sprite->centerToCornerVecX = gUnknown_0831ACE0[sprite->animCmdIndex]; +} + +void nullsub_20(void) +{ + +} + +void BeginBattleIntro(void) +{ + BattleStartClearSetData(); + gBattleCommunication[1] = 0; + gBattleMainFunc = BattleIntroGetMonsData; +} + +static void BattleMainCB1(void) +{ + gBattleMainFunc(); + + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + gBattlerControllerFuncs[gActiveBattler](); +} + +static void BattleStartClearSetData(void) +{ + s32 i; + u32 j; + u8 *dataPtr; + + TurnValuesCleanUp(FALSE); + SpecialStatusesClear(); + + for (i = 0; i < MAX_BATTLERS_COUNT; i++) + { + gStatuses3[i] = 0; + + dataPtr = (u8 *)&gDisableStructs[i]; + for (j = 0; j < sizeof(struct DisableStruct); j++) + dataPtr[j] = 0; + + gDisableStructs[i].isFirstTurn = 2; + sUnusedBattlersArray[i] = 0; + gLastMoves[i] = 0; + gLastLandedMoves[i] = 0; + gLastHitByType[i] = 0; + gLastResultingMoves[i] = 0; + gLastHitBy[i] = 0xFF; + gLockedMoves[i] = 0; + gLastPrintedMoves[i] = 0; + gBattleResources->flags->flags[i] = 0; + gPalaceSelectionBattleScripts[i] = 0; + } + + for (i = 0; i < 2; i++) + { + gSideStatuses[i] = 0; + + dataPtr = (u8 *)&gSideTimers[i]; + for (j = 0; j < sizeof(struct SideTimer); j++) + dataPtr[j] = 0; + } + + gBattlerAttacker = 0; + gBattlerTarget = 0; + gBattleWeather = 0; + + dataPtr = (u8 *)&gWishFutureKnock; + for (i = 0; i < sizeof(struct WishFutureKnock); i++) + dataPtr[i] = 0; + + gHitMarker = 0; + + if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) + { + if (!(gBattleTypeFlags & BATTLE_TYPE_LINK) && gSaveBlock2Ptr->optionsBattleSceneOff == TRUE) + gHitMarker |= HITMARKER_NO_ANIMATIONS; + } + else if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) && GetBattleStyleInRecordedBattle()) + gHitMarker |= HITMARKER_NO_ANIMATIONS; + + gBattleScripting.battleStyle = gSaveBlock2Ptr->optionsBattleStyle; + + gMultiHitCounter = 0; + gBattleOutcome = 0; + gBattleControllerExecFlags = 0; + gPaydayMoney = 0; + gBattleResources->battleScriptsStack->size = 0; + gBattleResources->battleCallbackStack->size = 0; + + for (i = 0; i < BATTLE_COMMUNICATION_ENTRIES_COUNT; i++) + gBattleCommunication[i] = 0; + + gPauseCounterBattle = 0; + gBattleMoveDamage = 0; + gIntroSlideFlags = 0; + gBattleScripting.animTurn = 0; + gBattleScripting.animTargetsHit = 0; + gLeveledUpInBattle = 0; + gAbsentBattlerFlags = 0; + gBattleStruct->runTries = 0; + gBattleStruct->field_79 = 0; + gBattleStruct->field_7A = 0; + *(&gBattleStruct->field_7C) = gBaseStats[GetMonData(&gEnemyParty[0], MON_DATA_SPECIES)].catchRate * 100 / 1275; + gBattleStruct->field_7B = 3; + gBattleStruct->wildVictorySong = 0; + gBattleStruct->moneyMultiplier = 1; + + for (i = 0; i < 8; i++) + { + *((u8 *)gBattleStruct->mirrorMoves + i) = 0; + *((u8 *)gBattleStruct->usedHeldItems + i) = 0; + *((u8 *)gBattleStruct->choicedMove + i) = 0; + *((u8 *)gBattleStruct->changedItems + i) = 0; + *(i + 0 * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; + *(i + 1 * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; + *(i + 2 * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; + *(i + 3 * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; + } + + for (i = 0; i < MAX_BATTLERS_COUNT; i++) + { + *(gBattleStruct->AI_monToSwitchIntoId + i) = 6; + } + + gBattleStruct->field_DF = 0; + gBattleStruct->field_92 = 0; + + gRandomTurnNumber = Random(); + + dataPtr = (u8 *)(&gBattleResults); + for (i = 0; i < sizeof(struct BattleResults); i++) + dataPtr[i] = 0; + + gBattleResults.unk5_6 = IsMonShiny(&gEnemyParty[0]); + + gBattleStruct->field_2A0 = 0; + gBattleStruct->field_2A1 = 0; +} + +void SwitchInClearSetData(void) +{ + struct DisableStruct disableStructCopy = gDisableStructs[gActiveBattler]; + s32 i; + u8 *ptr; + + if (gBattleMoves[gCurrentMove].effect != EFFECT_BATON_PASS) + { + for (i = 0; i < BATTLE_STATS_NO; i++) + gBattleMons[gActiveBattler].statStages[i] = 6; + for (i = 0; i < gBattlersCount; i++) + { + if ((gBattleMons[i].status2 & STATUS2_ESCAPE_PREVENTION) && gDisableStructs[i].battlerPreventingEscape == gActiveBattler) + gBattleMons[i].status2 &= ~STATUS2_ESCAPE_PREVENTION; + if ((gStatuses3[i] & STATUS3_ALWAYS_HITS) && gDisableStructs[i].battlerWithSureHit == gActiveBattler) + { + gStatuses3[i] &= ~STATUS3_ALWAYS_HITS; + gDisableStructs[i].battlerWithSureHit = 0; + } + } + } + if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) + { + gBattleMons[gActiveBattler].status2 &= (STATUS2_CONFUSION | STATUS2_FOCUS_ENERGY | STATUS2_SUBSTITUTE | STATUS2_ESCAPE_PREVENTION | STATUS2_CURSED); + gStatuses3[gActiveBattler] &= (STATUS3_LEECHSEED_BANK | STATUS3_LEECHSEED | STATUS3_ALWAYS_HITS | STATUS3_PERISH_SONG | STATUS3_ROOTED | STATUS3_MUDSPORT | STATUS3_WATERSPORT); + + for (i = 0; i < gBattlersCount; i++) + { + if (GetBattlerSide(gActiveBattler) != GetBattlerSide(i) + && (gStatuses3[i] & STATUS3_ALWAYS_HITS) != 0 + && (gDisableStructs[i].battlerWithSureHit == gActiveBattler)) + { + gStatuses3[i] &= ~(STATUS3_ALWAYS_HITS); + gStatuses3[i] |= 0x10; + } + } + } + else + { + gBattleMons[gActiveBattler].status2 = 0; + gStatuses3[gActiveBattler] = 0; + } + + for (i = 0; i < gBattlersCount; i++) + { + if (gBattleMons[i].status2 & STATUS2_INFATUATED_WITH(gActiveBattler)) + gBattleMons[i].status2 &= ~(STATUS2_INFATUATED_WITH(gActiveBattler)); + if ((gBattleMons[i].status2 & STATUS2_WRAPPED) && *(gBattleStruct->wrappedBy + i) == gActiveBattler) + gBattleMons[i].status2 &= ~(STATUS2_WRAPPED); + } + + gActionSelectionCursor[gActiveBattler] = 0; + gMoveSelectionCursor[gActiveBattler] = 0; + + ptr = (u8 *)&gDisableStructs[gActiveBattler]; + for (i = 0; i < sizeof(struct DisableStruct); i++) + ptr[i] = 0; + + if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) + { + gDisableStructs[gActiveBattler].substituteHP = disableStructCopy.substituteHP; + gDisableStructs[gActiveBattler].battlerWithSureHit = disableStructCopy.battlerWithSureHit; + gDisableStructs[gActiveBattler].perishSongTimer1 = disableStructCopy.perishSongTimer1; + gDisableStructs[gActiveBattler].perishSongTimer2 = disableStructCopy.perishSongTimer2; + gDisableStructs[gActiveBattler].battlerPreventingEscape = disableStructCopy.battlerPreventingEscape; + } + + gMoveResultFlags = 0; + gDisableStructs[gActiveBattler].isFirstTurn = 2; + gDisableStructs[gActiveBattler].truantUnknownBit = disableStructCopy.truantUnknownBit; + gLastMoves[gActiveBattler] = 0; + gLastLandedMoves[gActiveBattler] = 0; + gLastHitByType[gActiveBattler] = 0; + gLastResultingMoves[gActiveBattler] = 0; + gLastPrintedMoves[gActiveBattler] = 0; + gLastHitBy[gActiveBattler] = 0xFF; + + *(gBattleStruct->mirrorMoves + gActiveBattler * 2 + 0) = 0; + *(gBattleStruct->mirrorMoves + gActiveBattler * 2 + 1) = 0; + *(0 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; + *(0 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0; + *(1 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; + *(1 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0; + *(2 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; + *(2 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0; + *(3 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; + *(3 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0; + + gBattleStruct->field_92 &= ~(gBitTable[gActiveBattler]); + + for (i = 0; i < gBattlersCount; i++) + { + if (i != gActiveBattler && GetBattlerSide(i) != GetBattlerSide(gActiveBattler)) + { + *(gBattleStruct->mirrorMoves + i * 2 + 0) = 0; + *(gBattleStruct->mirrorMoves + i * 2 + 1) = 0; + } + *(i * 8 + gActiveBattler * 2 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; + *(i * 8 + gActiveBattler * 2 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0; + } + + *(u8*)((u8*)(&gBattleStruct->choicedMove[gActiveBattler]) + 0) = 0; + *(u8*)((u8*)(&gBattleStruct->choicedMove[gActiveBattler]) + 1) = 0; + + gBattleResources->flags->flags[gActiveBattler] = 0; + gCurrentMove = 0; + gBattleStruct->field_DA = 0xFF; + + ClearBattlerMoveHistory(gActiveBattler); + ClearBattlerAbilityHistory(gActiveBattler); +} + +void FaintClearSetData(void) +{ + s32 i; + u8 *ptr; + + for (i = 0; i < BATTLE_STATS_NO; i++) + gBattleMons[gActiveBattler].statStages[i] = 6; + + gBattleMons[gActiveBattler].status2 = 0; + gStatuses3[gActiveBattler] = 0; + + for (i = 0; i < gBattlersCount; i++) + { + if ((gBattleMons[i].status2 & STATUS2_ESCAPE_PREVENTION) && gDisableStructs[i].battlerPreventingEscape == gActiveBattler) + gBattleMons[i].status2 &= ~STATUS2_ESCAPE_PREVENTION; + if (gBattleMons[i].status2 & STATUS2_INFATUATED_WITH(gActiveBattler)) + gBattleMons[i].status2 &= ~(STATUS2_INFATUATED_WITH(gActiveBattler)); + if ((gBattleMons[i].status2 & STATUS2_WRAPPED) && *(gBattleStruct->wrappedBy + i) == gActiveBattler) + gBattleMons[i].status2 &= ~(STATUS2_WRAPPED); + } + + gActionSelectionCursor[gActiveBattler] = 0; + gMoveSelectionCursor[gActiveBattler] = 0; + + ptr = (u8 *)&gDisableStructs[gActiveBattler]; + for (i = 0; i < sizeof(struct DisableStruct); i++) + ptr[i] = 0; + + gProtectStructs[gActiveBattler].protected = 0; + gProtectStructs[gActiveBattler].endured = 0; + gProtectStructs[gActiveBattler].onlyStruggle = 0; + gProtectStructs[gActiveBattler].helpingHand = 0; + gProtectStructs[gActiveBattler].bounceMove = 0; + gProtectStructs[gActiveBattler].stealMove = 0; + gProtectStructs[gActiveBattler].flag0Unknown = 0; + gProtectStructs[gActiveBattler].prlzImmobility = 0; + gProtectStructs[gActiveBattler].confusionSelfDmg = 0; + gProtectStructs[gActiveBattler].targetNotAffected = 0; + gProtectStructs[gActiveBattler].chargingTurn = 0; + gProtectStructs[gActiveBattler].fleeFlag = 0; + gProtectStructs[gActiveBattler].usedImprisionedMove = 0; + gProtectStructs[gActiveBattler].loveImmobility = 0; + gProtectStructs[gActiveBattler].usedDisabledMove = 0; + gProtectStructs[gActiveBattler].usedTauntedMove = 0; + gProtectStructs[gActiveBattler].flag2Unknown = 0; + gProtectStructs[gActiveBattler].flinchImmobility = 0; + gProtectStructs[gActiveBattler].notFirstStrike = 0; + + gDisableStructs[gActiveBattler].isFirstTurn = 2; + + gLastMoves[gActiveBattler] = 0; + gLastLandedMoves[gActiveBattler] = 0; + gLastHitByType[gActiveBattler] = 0; + gLastResultingMoves[gActiveBattler] = 0; + gLastPrintedMoves[gActiveBattler] = 0; + gLastHitBy[gActiveBattler] = 0xFF; + + *(u8*)((u8*)(&gBattleStruct->choicedMove[gActiveBattler]) + 0) = 0; + *(u8*)((u8*)(&gBattleStruct->choicedMove[gActiveBattler]) + 1) = 0; + + *(gBattleStruct->mirrorMoves + gActiveBattler * 2 + 0) = 0; + *(gBattleStruct->mirrorMoves + gActiveBattler * 2 + 1) = 0; + *(0 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; + *(0 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0; + *(1 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; + *(1 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0; + *(2 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; + *(2 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0; + *(3 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; + *(3 * 2 + gActiveBattler * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0; + + gBattleStruct->field_92 &= ~(gBitTable[gActiveBattler]); + + for (i = 0; i < gBattlersCount; i++) + { + if (i != gActiveBattler && GetBattlerSide(i) != GetBattlerSide(gActiveBattler)) + { + *(gBattleStruct->mirrorMoves + i * 2 + 0) = 0; + *(gBattleStruct->mirrorMoves + i * 2 + 1) = 0; + } + *(i * 8 + gActiveBattler * 2 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0; + *(i * 8 + gActiveBattler * 2 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = 0; + } + + gBattleResources->flags->flags[gActiveBattler] = 0; + + gBattleMons[gActiveBattler].type1 = gBaseStats[gBattleMons[gActiveBattler].species].type1; + gBattleMons[gActiveBattler].type2 = gBaseStats[gBattleMons[gActiveBattler].species].type2; + + ClearBattlerMoveHistory(gActiveBattler); + ClearBattlerAbilityHistory(gActiveBattler); +} + +static void BattleIntroGetMonsData(void) +{ + switch (gBattleCommunication[MULTIUSE_STATE]) + { + case 0: + gActiveBattler = gBattleCommunication[1]; + BtlController_EmitGetMonData(0, 0, 0); + MarkBattlerForControllerExec(gActiveBattler); + gBattleCommunication[MULTIUSE_STATE]++; + break; + case 1: + if (gBattleControllerExecFlags == 0) + { + gBattleCommunication[1]++; + if (gBattleCommunication[1] == gBattlersCount) + gBattleMainFunc = BattleIntroPrepareBackgroundSlide; + else + gBattleCommunication[MULTIUSE_STATE] = 0; + } + break; + } +} + +static void BattleIntroPrepareBackgroundSlide(void) +{ + if (gBattleControllerExecFlags == 0) + { + gActiveBattler = GetBattlerAtPosition(0); + BtlController_EmitIntroSlide(0, gBattleTerrain); + MarkBattlerForControllerExec(gActiveBattler); + gBattleMainFunc = BattleIntroDrawTrainersOrMonsSprites; + gBattleCommunication[0] = 0; + gBattleCommunication[1] = 0; + } +} + +static void BattleIntroDrawTrainersOrMonsSprites(void) +{ + u8 *ptr; + s32 i; + + if (gBattleControllerExecFlags) + return; + + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + { + if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) + && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + { + ptr = (u8 *)&gBattleMons[gActiveBattler]; + for (i = 0; i < sizeof(struct BattlePokemon); i++) + ptr[i] = 0; + } + else + { + u16* hpOnSwitchout; + + ptr = (u8 *)&gBattleMons[gActiveBattler]; + for (i = 0; i < sizeof(struct BattlePokemon); i++) + ptr[i] = gBattleBufferB[gActiveBattler][4 + i]; + + gBattleMons[gActiveBattler].type1 = gBaseStats[gBattleMons[gActiveBattler].species].type1; + gBattleMons[gActiveBattler].type2 = gBaseStats[gBattleMons[gActiveBattler].species].type2; + gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].altAbility); + hpOnSwitchout = &gBattleStruct->hpOnSwitchout[GetBattlerSide(gActiveBattler)]; + *hpOnSwitchout = gBattleMons[gActiveBattler].hp; + for (i = 0; i < BATTLE_STATS_NO; i++) + gBattleMons[gActiveBattler].statStages[i] = 6; + gBattleMons[gActiveBattler].status2 = 0; + } + + if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_LEFT) + { + BtlController_EmitDrawTrainerPic(0); + MarkBattlerForControllerExec(gActiveBattler); + } + + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + if (GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_LEFT) + { + BtlController_EmitDrawTrainerPic(0); + MarkBattlerForControllerExec(gActiveBattler); + } + if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT + && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER + | BATTLE_TYPE_FRONTIER + | BATTLE_TYPE_LINK + | BATTLE_TYPE_x2000000 + | BATTLE_TYPE_x4000000))) + { + HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality); + } + } + else + { + if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT) + { + if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER + | BATTLE_TYPE_FRONTIER + | BATTLE_TYPE_LINK + | BATTLE_TYPE_x2000000 + | BATTLE_TYPE_x4000000))) + { + HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality); + } + BtlController_EmitLoadMonSprite(0); + MarkBattlerForControllerExec(gActiveBattler); + gBattleResults.lastOpponentSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES, NULL); + } + } + + if (gBattleTypeFlags & BATTLE_TYPE_MULTI) + { + if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_RIGHT + || GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_RIGHT) + { + BtlController_EmitDrawTrainerPic(0); + MarkBattlerForControllerExec(gActiveBattler); + } + } + + if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_RIGHT) + { + BtlController_EmitDrawTrainerPic(0); + MarkBattlerForControllerExec(gActiveBattler); + } + + if (gBattleTypeFlags & BATTLE_TYPE_ARENA) + sub_81A56B4(); + } + gBattleMainFunc = BattleIntroDrawPartySummaryScreens; +} + +static void BattleIntroDrawPartySummaryScreens(void) +{ + s32 i; + struct HpAndStatus hpStatus[6]; + + if (gBattleControllerExecFlags) + return; + + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + for (i = 0; i < PARTY_SIZE; i++) + { + if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE + || GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) + { + hpStatus[i].hp = 0xFFFF; + hpStatus[i].status = 0; + } + else + { + hpStatus[i].hp = GetMonData(&gEnemyParty[i], MON_DATA_HP); + hpStatus[i].status = GetMonData(&gEnemyParty[i], MON_DATA_STATUS); + } + } + gActiveBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + BtlController_EmitDrawPartyStatusSummary(0, hpStatus, 0x80); + MarkBattlerForControllerExec(gActiveBattler); + + for (i = 0; i < PARTY_SIZE; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_NONE + || GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) + { + hpStatus[i].hp = 0xFFFF; + hpStatus[i].status = 0; + } + else + { + hpStatus[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); + hpStatus[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS); + } + } + gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + BtlController_EmitDrawPartyStatusSummary(0, hpStatus, 0x80); + MarkBattlerForControllerExec(gActiveBattler); + + gBattleMainFunc = BattleIntroPrintTrainerWantsToBattle; + } + else + { + // The struct gets set here, but nothing is ever done with it since + // wild battles don't show the party summary. + // Still, there's no point in having dead code. + + for (i = 0; i < 6; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_NONE + || GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) + { + hpStatus[i].hp = 0xFFFF; + hpStatus[i].status = 0; + } + else + { + hpStatus[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); + hpStatus[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS); + } + } + + gBattleMainFunc = BattleIntroPrintWildMonAttacked; + } + +} + +static void BattleIntroPrintTrainerWantsToBattle(void) +{ + if (gBattleControllerExecFlags == 0) + { + gActiveBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + PrepareStringBattle(STRINGID_INTROMSG, gActiveBattler); + gBattleMainFunc = BattleIntroPrintOpponentSendsOut; + } +} + +static void BattleIntroPrintWildMonAttacked(void) +{ + if (gBattleControllerExecFlags == 0) + { + gBattleMainFunc = BattleIntroPrintPlayerSendsOut; + PrepareStringBattle(STRINGID_INTROMSG, 0); + } +} + +static void BattleIntroPrintOpponentSendsOut(void) +{ + u32 position; + + if (gBattleControllerExecFlags) + return; + + if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) + position = B_POSITION_OPPONENT_LEFT; + else if (gBattleTypeFlags & BATTLE_TYPE_x2000000) + { + if (gBattleTypeFlags & BATTLE_TYPE_x80000000) + position = B_POSITION_OPPONENT_LEFT; + else + position = B_POSITION_PLAYER_LEFT; + } + else + position = B_POSITION_OPPONENT_LEFT; + + PrepareStringBattle(STRINGID_INTROSENDOUT, GetBattlerAtPosition(position)); + gBattleMainFunc = BattleIntroOpponent1SendsOutMonAnimation; +} + +static void BattleIntroOpponent2SendsOutMonAnimation(void) +{ + u32 position; + + if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) + position = B_POSITION_OPPONENT_RIGHT; + else if (gBattleTypeFlags & BATTLE_TYPE_x2000000) + { + if (gBattleTypeFlags & BATTLE_TYPE_x80000000) + position = B_POSITION_OPPONENT_RIGHT; + else + position = B_POSITION_PLAYER_RIGHT; + } + else + position = B_POSITION_OPPONENT_RIGHT; + + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + { + if (GetBattlerPosition(gActiveBattler) == position) + { + BtlController_EmitIntroTrainerBallThrow(0); + MarkBattlerForControllerExec(gActiveBattler); + } + } + + gBattleMainFunc = BattleIntroRecordMonsToDex; +} + +#ifdef NONMATCHING +static void BattleIntroOpponent1SendsOutMonAnimation(void) +{ + u32 position; + + if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) + position = B_POSITION_OPPONENT_LEFT; + else if (gBattleTypeFlags & BATTLE_TYPE_x2000000) + { + if (gBattleTypeFlags & BATTLE_TYPE_x80000000) + position = B_POSITION_OPPONENT_LEFT; + else + position = B_POSITION_PLAYER_LEFT; + } + else + position = B_POSITION_OPPONENT_LEFT; + + if (gBattleControllerExecFlags) + return; + + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + { + if (GetBattlerPosition(gActiveBattler) == position) + { + BtlController_EmitIntroTrainerBallThrow(0); + MarkBattlerForControllerExec(gActiveBattler); + if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS)) + { + gBattleMainFunc = BattleIntroOpponent2SendsOutMonAnimation; + return; + } + } + } + + gBattleMainFunc = BattleIntroRecordMonsToDex; +} + +#else +__attribute__((naked)) +static void BattleIntroOpponent1SendsOutMonAnimation(void) +{ + asm(".syntax unified\n\ + push {r4-r6,lr}\n\ + ldr r0, =gBattleTypeFlags\n\ + ldr r2, [r0]\n\ + movs r0, 0x80\n\ + lsls r0, 17\n\ + ands r0, r2\n\ + cmp r0, 0\n\ + beq _0803B298\n\ + movs r0, 0x80\n\ + lsls r0, 18\n\ + ands r0, r2\n\ + cmp r0, 0\n\ + beq _0803B298\n\ + movs r1, 0x80\n\ + lsls r1, 24\n\ + ands r1, r2\n\ + negs r0, r1\n\ + orrs r0, r1\n\ + lsrs r5, r0, 31\n\ + b _0803B29A\n\ + .pool\n\ +_0803B288:\n\ + ldr r1, =gBattleMainFunc\n\ + ldr r0, =BattleIntroOpponent2SendsOutMonAnimation\n\ + b _0803B2F0\n\ + .pool\n\ +_0803B298:\n\ + movs r5, 0x1\n\ +_0803B29A:\n\ + ldr r0, =gBattleControllerExecFlags\n\ + ldr r2, [r0]\n\ + cmp r2, 0\n\ + bne _0803B2F2\n\ + ldr r0, =gActiveBattler\n\ + strb r2, [r0]\n\ + ldr r1, =gBattlersCount\n\ + adds r4, r0, 0\n\ + ldrb r1, [r1]\n\ + cmp r2, r1\n\ + bcs _0803B2EC\n\ + adds r6, r4, 0\n\ +_0803B2B2:\n\ + ldrb r0, [r4]\n\ + bl GetBattlerPosition\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + cmp r0, r5\n\ + bne _0803B2D8\n\ + movs r0, 0\n\ + bl BtlController_EmitIntroTrainerBallThrow\n\ + ldrb r0, [r4]\n\ + bl MarkBattlerForControllerExec\n\ + ldr r0, =gBattleTypeFlags\n\ + ldr r0, [r0]\n\ + ldr r1, =0x00008040\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _0803B288\n\ +_0803B2D8:\n\ + ldrb r0, [r6]\n\ + adds r0, 0x1\n\ + strb r0, [r6]\n\ + ldr r1, =gBattlersCount\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + ldr r4, =gActiveBattler\n\ + ldrb r1, [r1]\n\ + cmp r0, r1\n\ + bcc _0803B2B2\n\ +_0803B2EC:\n\ + ldr r1, =gBattleMainFunc\n\ + ldr r0, =BattleIntroRecordMonsToDex\n\ +_0803B2F0:\n\ + str r0, [r1]\n\ +_0803B2F2:\n\ + pop {r4-r6}\n\ + pop {r0}\n\ + bx r0\n\ + .pool\n\ + .syntax divided"); +} + +#endif // NONMATCHING + +static void BattleIntroRecordMonsToDex(void) +{ + if (gBattleControllerExecFlags == 0) + { + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + { + if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT + && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER + | BATTLE_TYPE_FRONTIER + | BATTLE_TYPE_LINK + | BATTLE_TYPE_x2000000 + | BATTLE_TYPE_x4000000))) + { + HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality); + } + } + gBattleMainFunc = BattleIntroPrintPlayerSendsOut; + } +} + +void sub_803B3AC(void) // unused +{ + if (gBattleControllerExecFlags == 0) + gBattleMainFunc = BattleIntroPrintPlayerSendsOut; +} + +static void BattleIntroPrintPlayerSendsOut(void) +{ + if (gBattleControllerExecFlags == 0) + { + u8 position; + + if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) + position = B_POSITION_PLAYER_LEFT; + else if (gBattleTypeFlags & BATTLE_TYPE_x2000000) + { + if (gBattleTypeFlags & BATTLE_TYPE_x80000000) + position = B_POSITION_PLAYER_LEFT; + else + position = B_POSITION_OPPONENT_LEFT; + } + else + position = B_POSITION_PLAYER_LEFT; + + if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) + PrepareStringBattle(STRINGID_INTROSENDOUT, GetBattlerAtPosition(position)); + + gBattleMainFunc = BattleIntroPlayer1SendsOutMonAnimation; + } +} + +static void BattleIntroPlayer2SendsOutMonAnimation(void) +{ + u32 position; + + if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) + position = B_POSITION_PLAYER_RIGHT; + else if (gBattleTypeFlags & BATTLE_TYPE_x2000000) + { + if (gBattleTypeFlags & BATTLE_TYPE_x80000000) + position = B_POSITION_PLAYER_RIGHT; + else + position = B_POSITION_OPPONENT_RIGHT; + } + else + position = B_POSITION_PLAYER_RIGHT; + + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + { + if (GetBattlerPosition(gActiveBattler) == position) + { + BtlController_EmitIntroTrainerBallThrow(0); + MarkBattlerForControllerExec(gActiveBattler); + } + } + + gBattleStruct->switchInAbilitiesCounter = 0; + gBattleStruct->switchInItemsCounter = 0; + gBattleStruct->overworldWeatherDone = FALSE; + + gBattleMainFunc = TryDoEventsBeforeFirstTurn; +} + +static void BattleIntroPlayer1SendsOutMonAnimation(void) +{ + u32 position; + + if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) + position = B_POSITION_PLAYER_LEFT; + else if (gBattleTypeFlags & BATTLE_TYPE_x2000000) + { + if (gBattleTypeFlags & BATTLE_TYPE_x80000000) + position = B_POSITION_PLAYER_LEFT; + else + position = B_POSITION_OPPONENT_LEFT; + } + else + position = B_POSITION_PLAYER_LEFT; + + if (gBattleControllerExecFlags) + return; + + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + { + if (GetBattlerPosition(gActiveBattler) == position) + { + BtlController_EmitIntroTrainerBallThrow(0); + MarkBattlerForControllerExec(gActiveBattler); + if (gBattleTypeFlags & (BATTLE_TYPE_MULTI)) + { + gBattleMainFunc = BattleIntroPlayer2SendsOutMonAnimation; + return; + } + } + } + + gBattleStruct->switchInAbilitiesCounter = 0; + gBattleStruct->switchInItemsCounter = 0; + gBattleStruct->overworldWeatherDone = FALSE; + + gBattleMainFunc = TryDoEventsBeforeFirstTurn; +} + +void sub_803B598(void) // unused +{ + if (gBattleControllerExecFlags == 0) + { + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + { + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + { + BtlController_EmitSwitchInAnim(0, gBattlerPartyIndexes[gActiveBattler], FALSE); + MarkBattlerForControllerExec(gActiveBattler); + } + } + + gBattleStruct->switchInAbilitiesCounter = 0; + gBattleStruct->switchInItemsCounter = 0; + gBattleStruct->overworldWeatherDone = FALSE; + + gBattleMainFunc = TryDoEventsBeforeFirstTurn; + } +} + +static void TryDoEventsBeforeFirstTurn(void) +{ + s32 i; + s32 j; + u8 effect = 0; + + if (gBattleControllerExecFlags) + return; + + if (gBattleStruct->switchInAbilitiesCounter == 0) + { + for (i = 0; i < gBattlersCount; i++) + gBattleTurnOrder[i] = i; + for (i = 0; i < gBattlersCount - 1; i++) + { + for (j = i + 1; j < gBattlersCount; j++) + { + if (GetWhoStrikesFirst(gBattleTurnOrder[i], gBattleTurnOrder[j], TRUE) != 0) + SwapTurnOrder(i, j); + } + } + } + if (!gBattleStruct->overworldWeatherDone + && AbilityBattleEffects(0, 0, 0, ABILITYEFFECT_SWITCH_IN_WEATHER, 0) != 0) + { + gBattleStruct->overworldWeatherDone = TRUE; + return; + } + // check all switch in abilities happening from the fastest mon to slowest + while (gBattleStruct->switchInAbilitiesCounter < gBattlersCount) + { + if (AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gBattleTurnOrder[gBattleStruct->switchInAbilitiesCounter], 0, 0, 0) != 0) + effect++; + + gBattleStruct->switchInAbilitiesCounter++; + + if (effect) + return; + } + if (AbilityBattleEffects(ABILITYEFFECT_INTIMIDATE1, 0, 0, 0, 0) != 0) + return; + if (AbilityBattleEffects(ABILITYEFFECT_TRACE, 0, 0, 0, 0) != 0) + return; + // check all switch in items having effect from the fastest mon to slowest + while (gBattleStruct->switchInItemsCounter < gBattlersCount) + { + if (ItemBattleEffects(ITEMEFFECT_ON_SWITCH_IN, gBattleTurnOrder[gBattleStruct->switchInItemsCounter], 0) != 0) + effect++; + + gBattleStruct->switchInItemsCounter++; + + if (effect) + return; + } + for (i = 0; i < MAX_BATTLERS_COUNT; i++) + { + *(gBattleStruct->monToSwitchIntoId + i) = 6; + gChosenActionByBattler[i] = B_ACTION_NONE; + gChosenMoveByBattler[i] = MOVE_NONE; + } + TurnValuesCleanUp(FALSE); + SpecialStatusesClear(); + *(&gBattleStruct->field_91) = gAbsentBattlerFlags; + BattleHandleAddTextPrinter(gText_EmptyString3, 0); + gBattleMainFunc = HandleTurnActionSelectionState; + ResetSentPokesToOpponentValue(); + + for (i = 0; i < BATTLE_COMMUNICATION_ENTRIES_COUNT; i++) + gBattleCommunication[i] = 0; + + for (i = 0; i < gBattlersCount; i++) + gBattleMons[i].status2 &= ~(STATUS2_FLINCHED); + + *(&gBattleStruct->turnEffectsTracker) = 0; + *(&gBattleStruct->turnEffectsBattlerId) = 0; + *(&gBattleStruct->wishPerishSongState) = 0; + *(&gBattleStruct->wishPerishSongBattlerId) = 0; + gBattleScripting.atk49_state = 0; + gBattleStruct->faintedActionsState = 0; + gBattleStruct->turnCountersTracker = 0; + gMoveResultFlags = 0; + + gRandomTurnNumber = Random(); + + if (gBattleTypeFlags & BATTLE_TYPE_ARENA) + { + StopCryAndClearCrySongs(); + BattleScriptExecute(BattleScript_82DB8BE); + } +} + +static void HandleEndTurn_ContinueBattle(void) +{ + s32 i; + + if (gBattleControllerExecFlags == 0) + { + gBattleMainFunc = BattleTurnPassed; + for (i = 0; i < BATTLE_COMMUNICATION_ENTRIES_COUNT; i++) + gBattleCommunication[i] = 0; + for (i = 0; i < gBattlersCount; i++) + { + gBattleMons[i].status2 &= ~(STATUS2_FLINCHED); + if ((gBattleMons[i].status1 & STATUS1_SLEEP) && (gBattleMons[i].status2 & STATUS2_MULTIPLETURNS)) + CancelMultiTurnMoves(i); + } + gBattleStruct->turnEffectsTracker = 0; + gBattleStruct->turnEffectsBattlerId = 0; + gBattleStruct->wishPerishSongState = 0; + gBattleStruct->wishPerishSongBattlerId = 0; + gBattleStruct->turnCountersTracker = 0; + gMoveResultFlags = 0; + } +} + +void BattleTurnPassed(void) +{ + s32 i; + + TurnValuesCleanUp(TRUE); + if (gBattleOutcome == 0) + { + if (UpdateTurnCounters() != 0) + return; + if (TurnBasedEffects() != 0) + return; + } + if (HandleFaintedMonActions() != 0) + return; + gBattleStruct->faintedActionsState = 0; + if (HandleWishPerishSongOnTurnEnd() != 0) + return; + + TurnValuesCleanUp(FALSE); + gHitMarker &= ~(HITMARKER_NO_ATTACKSTRING); + gHitMarker &= ~(HITMARKER_UNABLE_TO_USE_MOVE); + gHitMarker &= ~(HITMARKER_x400000); + gHitMarker &= ~(HITMARKER_x100000); + gBattleScripting.animTurn = 0; + gBattleScripting.animTargetsHit = 0; + gBattleScripting.atk49_state = 0; + gBattleMoveDamage = 0; + gMoveResultFlags = 0; + + for (i = 0; i < 5; i++) + gBattleCommunication[i] = 0; + + if (gBattleOutcome != 0) + { + gCurrentActionFuncId = 12; + gBattleMainFunc = RunTurnActionsFunctions; + return; + } + + if (gBattleResults.battleTurnCounter < 0xFF) + { + gBattleResults.battleTurnCounter++; + gBattleStruct->field_DA++; + } + + for (i = 0; i < gBattlersCount; i++) + { + gChosenActionByBattler[i] = B_ACTION_NONE; + gChosenMoveByBattler[i] = MOVE_NONE; + } + + for (i = 0; i < 4; i++) + *(gBattleStruct->monToSwitchIntoId + i) = 6; + + *(&gBattleStruct->field_91) = gAbsentBattlerFlags; + BattleHandleAddTextPrinter(gText_EmptyString3, 0); + gBattleMainFunc = HandleTurnActionSelectionState; + gRandomTurnNumber = Random(); + + if (gBattleTypeFlags & BATTLE_TYPE_PALACE) + BattleScriptExecute(BattleScript_82DB881); + else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->field_DA == 0) + BattleScriptExecute(BattleScript_82DB8BE); +} + +u8 IsRunningFromBattleImpossible(void) +{ + u8 holdEffect; + u8 side; + s32 i; + + if (gBattleMons[gActiveBattler].item == ITEM_ENIGMA_BERRY) + holdEffect = gEnigmaBerries[gActiveBattler].holdEffect; + else + holdEffect = ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item); + + gPotentialItemEffectBattler = gActiveBattler; + + if (holdEffect == HOLD_EFFECT_CAN_ALWAYS_RUN) + return 0; + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + return 0; + if (gBattleMons[gActiveBattler].ability == ABILITY_RUN_AWAY) + return 0; + + side = GetBattlerSide(gActiveBattler); + + for (i = 0; i < gBattlersCount; i++) + { + if (side != GetBattlerSide(i) + && gBattleMons[i].ability == ABILITY_SHADOW_TAG) + { + gBattleScripting.battler = i; + gLastUsedAbility = gBattleMons[i].ability; + gBattleCommunication[MULTISTRING_CHOOSER] = 2; + return 2; + } + if (side != GetBattlerSide(i) + && gBattleMons[gActiveBattler].ability != ABILITY_LEVITATE + && gBattleMons[gActiveBattler].type1 != TYPE_FLYING + && gBattleMons[gActiveBattler].type2 != TYPE_FLYING + && gBattleMons[i].ability == ABILITY_ARENA_TRAP) + { + gBattleScripting.battler = i; + gLastUsedAbility = gBattleMons[i].ability; + gBattleCommunication[MULTISTRING_CHOOSER] = 2; + return 2; + } + } + i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BANK, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0); + if (i != 0 && (gBattleMons[gActiveBattler].type1 == TYPE_STEEL || gBattleMons[gActiveBattler].type2 == TYPE_STEEL)) + { + gBattleScripting.battler = i - 1; + gLastUsedAbility = gBattleMons[i - 1].ability; + gBattleCommunication[MULTISTRING_CHOOSER] = 2; + return 2; + } + if ((gBattleMons[gActiveBattler].status2 & (STATUS2_ESCAPE_PREVENTION | STATUS2_WRAPPED)) + || (gStatuses3[gActiveBattler] & STATUS3_ROOTED)) + { + gBattleCommunication[MULTISTRING_CHOOSER] = 0; + return 1; + } + if (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE) + { + gBattleCommunication[MULTISTRING_CHOOSER] = 1; + return 1; + } + return 0; +} + +void sub_803BDA0(u8 battler) +{ + s32 i; + u8 r4; + u8 r1; + + // gBattleStruct->field_60[battler][i] + + for (i = 0; i < 3; i++) + gUnknown_0203CF00[i] = *(battler * 3 + i + (u8*)(gBattleStruct->field_60)); + + r4 = pokemon_order_func(gBattlerPartyIndexes[battler]); + r1 = pokemon_order_func(*(gBattleStruct->monToSwitchIntoId + battler)); + sub_81B8FB0(r4, r1); + + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + for (i = 0; i < 3; i++) + { + *(battler * 3 + i + (u8*)(gBattleStruct->field_60)) = gUnknown_0203CF00[i]; + *(BATTLE_PARTNER(battler) * 3 + i + (u8*)(gBattleStruct->field_60)) = gUnknown_0203CF00[i]; + } + } + else + { + for (i = 0; i < 3; i++) + { + *(battler * 3 + i + (u8*)(gBattleStruct->field_60)) = gUnknown_0203CF00[i]; + } + } +} + +enum +{ + STATE_TURN_START_RECORD, + STATE_BEFORE_ACTION_CHOSEN, + STATE_WAIT_ACTION_CHOSEN, + STATE_WAIT_ACTION_CASE_CHOSEN, + STATE_WAIT_ACTION_CONFIRMED_STANDBY, + STATE_WAIT_ACTION_CONFIRMED, + STATE_SELECTION_SCRIPT, + STATE_WAIT_SET_BEFORE_ACTION, + STATE_SELECTION_SCRIPT_MAY_RUN +}; + +static void HandleTurnActionSelectionState(void) +{ + s32 i; + + gBattleCommunication[ACTIONS_CONFIRMED_COUNT] = 0; + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + { + u8 position = GetBattlerPosition(gActiveBattler); + switch (gBattleCommunication[gActiveBattler]) + { + case STATE_TURN_START_RECORD: // recorded battle related on start of every turn + RecordedBattle_CopyBattlerMoves(); + gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; + break; + case STATE_BEFORE_ACTION_CHOSEN: // choose an action + *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = 6; + if (gBattleTypeFlags & BATTLE_TYPE_MULTI + || !(position & BIT_FLANK) + || gBattleStruct->field_91 & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(position))] + || gBattleCommunication[GetBattlerAtPosition(BATTLE_PARTNER(position))] == 5) + { + if (gBattleStruct->field_91 & gBitTable[gActiveBattler]) + { + gChosenActionByBattler[gActiveBattler] = B_ACTION_NOTHING_FAINTED; + if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) + gBattleCommunication[gActiveBattler] = STATE_WAIT_ACTION_CONFIRMED; + else + gBattleCommunication[gActiveBattler] = STATE_WAIT_ACTION_CONFIRMED_STANDBY; + } + else + { + if (gBattleMons[gActiveBattler].status2 & STATUS2_MULTIPLETURNS + || gBattleMons[gActiveBattler].status2 & STATUS2_RECHARGE) + { + gChosenActionByBattler[gActiveBattler] = B_ACTION_USE_MOVE; + gBattleCommunication[gActiveBattler] = STATE_WAIT_ACTION_CONFIRMED_STANDBY; + } + else + { + BtlController_EmitChooseAction(0, gChosenActionByBattler[0], gBattleBufferB[0][1] | (gBattleBufferB[0][2] << 8)); + MarkBattlerForControllerExec(gActiveBattler); + gBattleCommunication[gActiveBattler]++; + } + } + } + break; + case STATE_WAIT_ACTION_CHOSEN: // try to perform an action + if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) + { + RecordedBattle_SetBattlerAction(gActiveBattler, gBattleBufferB[gActiveBattler][1]); + gChosenActionByBattler[gActiveBattler] = gBattleBufferB[gActiveBattler][1]; + + switch (gBattleBufferB[gActiveBattler][1]) + { + case B_ACTION_USE_MOVE: + if (AreAllMovesUnusable()) + { + gBattleCommunication[gActiveBattler] = STATE_SELECTION_SCRIPT; + *(gBattleStruct->selectionScriptFinished + gActiveBattler) = FALSE; + *(gBattleStruct->stateIdAfterSelScript + gActiveBattler) = STATE_WAIT_ACTION_CONFIRMED_STANDBY; + *(gBattleStruct->moveTarget + gActiveBattler) = gBattleBufferB[gActiveBattler][3]; + return; + } + else if (gDisableStructs[gActiveBattler].encoredMove != 0) + { + gChosenMoveByBattler[gActiveBattler] = gDisableStructs[gActiveBattler].encoredMove; + *(gBattleStruct->chosenMovePositions + gActiveBattler) = gDisableStructs[gActiveBattler].encoredMovePos; + gBattleCommunication[gActiveBattler] = STATE_WAIT_ACTION_CONFIRMED_STANDBY; + return; + } + else + { + struct ChooseMoveStruct moveInfo; + + moveInfo.species = gBattleMons[gActiveBattler].species; + moveInfo.monType1 = gBattleMons[gActiveBattler].type1; + moveInfo.monType2 = gBattleMons[gActiveBattler].type2; + + for (i = 0; i < 4; i++) + { + moveInfo.moves[i] = gBattleMons[gActiveBattler].moves[i]; + moveInfo.currentPp[i] = gBattleMons[gActiveBattler].pp[i]; + moveInfo.maxPp[i] = CalculatePPWithBonus( + gBattleMons[gActiveBattler].moves[i], + gBattleMons[gActiveBattler].ppBonuses, + i); + } + + BtlController_EmitChooseMove(0, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0, FALSE, &moveInfo); + MarkBattlerForControllerExec(gActiveBattler); + } + break; + case B_ACTION_USE_ITEM: + if (gBattleTypeFlags & (BATTLE_TYPE_LINK + | BATTLE_TYPE_FRONTIER_NO_PYRAMID + | BATTLE_TYPE_EREADER_TRAINER + | BATTLE_TYPE_x2000000)) + { + RecordedBattle_ClearBattlerAction(gActiveBattler, 1); + gSelectionBattleScripts[gActiveBattler] = BattleScript_ActionSelectionItemsCantBeUsed; + gBattleCommunication[gActiveBattler] = STATE_SELECTION_SCRIPT; + *(gBattleStruct->selectionScriptFinished + gActiveBattler) = FALSE; + *(gBattleStruct->stateIdAfterSelScript + gActiveBattler) = STATE_BEFORE_ACTION_CHOSEN; + return; + } + else + { + BtlController_EmitChooseItem(0, gBattleStruct->field_60[gActiveBattler]); + MarkBattlerForControllerExec(gActiveBattler); + } + break; + case B_ACTION_SWITCH: + *(gBattleStruct->field_58 + gActiveBattler) = gBattlerPartyIndexes[gActiveBattler]; + if (gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION) + || gBattleTypeFlags & BATTLE_TYPE_ARENA + || gStatuses3[gActiveBattler] & STATUS3_ROOTED) + { + BtlController_EmitChoosePokemon(0, 2, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); + } + else if ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBattler, ABILITY_SHADOW_TAG, 0, 0)) + || ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBattler, ABILITY_ARENA_TRAP, 0, 0)) + && gBattleMons[gActiveBattler].type1 != TYPE_FLYING + && gBattleMons[gActiveBattler].type2 != TYPE_FLYING + && gBattleMons[gActiveBattler].ability != ABILITY_LEVITATE) + || ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BANK, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0)) + && (gBattleMons[gActiveBattler].type1 == TYPE_STEEL + || gBattleMons[gActiveBattler].type2 == TYPE_STEEL))) + { + BtlController_EmitChoosePokemon(0, ((i - 1) << 4) | 4, 6, gLastUsedAbility, gBattleStruct->field_60[gActiveBattler]); + } + else + { + if (gActiveBattler == 2 && gChosenActionByBattler[0] == B_ACTION_SWITCH) + BtlController_EmitChoosePokemon(0, 0, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); + else if (gActiveBattler == 3 && gChosenActionByBattler[1] == B_ACTION_SWITCH) + BtlController_EmitChoosePokemon(0, 0, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); + else + BtlController_EmitChoosePokemon(0, 0, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); + } + MarkBattlerForControllerExec(gActiveBattler); + break; + case B_ACTION_SAFARI_BALL: + if (IsPlayerPartyAndPokemonStorageFull()) + { + gSelectionBattleScripts[gActiveBattler] = BattleScript_PrintFullBox; + gBattleCommunication[gActiveBattler] = STATE_SELECTION_SCRIPT; + *(gBattleStruct->selectionScriptFinished + gActiveBattler) = FALSE; + *(gBattleStruct->stateIdAfterSelScript + gActiveBattler) = STATE_BEFORE_ACTION_CHOSEN; + return; + } + break; + case B_ACTION_SAFARI_POKEBLOCK: + BtlController_EmitChooseItem(0, gBattleStruct->field_60[gActiveBattler]); + MarkBattlerForControllerExec(gActiveBattler); + break; + case B_ACTION_CANCEL_PARTNER: + gBattleCommunication[gActiveBattler] = 7; + gBattleCommunication[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))] = 1; + RecordedBattle_ClearBattlerAction(gActiveBattler, 1); + if (gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_MULTIPLETURNS + || gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_RECHARGE) + { + BtlController_EmitCmd50(0); + MarkBattlerForControllerExec(gActiveBattler); + return; + } + else if (gChosenActionByBattler[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))] == B_ACTION_SWITCH) + { + RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))), 2); + } + else if (gChosenActionByBattler[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))] == B_ACTION_RUN) + { + RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))), 1); + } + else if (gChosenActionByBattler[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))] == B_ACTION_USE_MOVE + && (gProtectStructs[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].onlyStruggle + || gDisableStructs[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].encoredMove)) + { + RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))), 1); + } + else if (gBattleTypeFlags & BATTLE_TYPE_PALACE + && gChosenActionByBattler[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))] == B_ACTION_USE_MOVE) + { + gRngValue = gBattlePalaceMoveSelectionRngValue; + RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))), 1); + } + else + { + RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))), 3); + } + BtlController_EmitCmd50(0); + MarkBattlerForControllerExec(gActiveBattler); + return; + } + + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER + && gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_x4000000) + && gBattleBufferB[gActiveBattler][1] == B_ACTION_RUN) + { + gSelectionBattleScripts[gActiveBattler] = BattleScript_AskIfWantsToForfeitMatch; + gBattleCommunication[gActiveBattler] = 8; + *(gBattleStruct->selectionScriptFinished + gActiveBattler) = FALSE; + *(gBattleStruct->stateIdAfterSelScript + gActiveBattler) = STATE_BEFORE_ACTION_CHOSEN; + return; + } + else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER + && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) + && gBattleBufferB[gActiveBattler][1] == B_ACTION_RUN) + { + BattleScriptExecute(BattleScript_PrintCantRunFromTrainer); + gBattleCommunication[gActiveBattler] = 1; + } + else if (IsRunningFromBattleImpossible() + && gBattleBufferB[gActiveBattler][1] == B_ACTION_RUN) + { + gSelectionBattleScripts[gActiveBattler] = BattleScript_PrintCantEscapeFromBattle; + gBattleCommunication[gActiveBattler] = STATE_SELECTION_SCRIPT; + *(gBattleStruct->selectionScriptFinished + gActiveBattler) = FALSE; + *(gBattleStruct->stateIdAfterSelScript + gActiveBattler) = STATE_BEFORE_ACTION_CHOSEN; + return; + } + else + { + gBattleCommunication[gActiveBattler]++; + } + } + break; + case STATE_WAIT_ACTION_CASE_CHOSEN: + if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) + { + switch (gChosenActionByBattler[gActiveBattler]) + { + case B_ACTION_USE_MOVE: + switch (gBattleBufferB[gActiveBattler][1]) + { + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + gChosenActionByBattler[gActiveBattler] = gBattleBufferB[gActiveBattler][1]; + return; + case 15: + gChosenActionByBattler[gActiveBattler] = B_ACTION_SWITCH; + sub_803CDF8(); + return; + default: + sub_818603C(2); + if ((gBattleBufferB[gActiveBattler][2] | (gBattleBufferB[gActiveBattler][3] << 8)) == 0xFFFF) + { + gBattleCommunication[gActiveBattler] = 1; + RecordedBattle_ClearBattlerAction(gActiveBattler, 1); + } + else if (TrySetCantSelectMoveBattleScript()) + { + RecordedBattle_ClearBattlerAction(gActiveBattler, 1); + gBattleCommunication[gActiveBattler] = STATE_SELECTION_SCRIPT; + *(gBattleStruct->selectionScriptFinished + gActiveBattler) = FALSE; + gBattleBufferB[gActiveBattler][1] = 0; + *(gBattleStruct->stateIdAfterSelScript + gActiveBattler) = STATE_WAIT_ACTION_CHOSEN; + return; + } + else + { + if (!(gBattleTypeFlags & BATTLE_TYPE_PALACE)) + { + RecordedBattle_SetBattlerAction(gActiveBattler, gBattleBufferB[gActiveBattler][2]); + RecordedBattle_SetBattlerAction(gActiveBattler, gBattleBufferB[gActiveBattler][3]); + } + *(gBattleStruct->chosenMovePositions + gActiveBattler) = gBattleBufferB[gActiveBattler][2]; + gChosenMoveByBattler[gActiveBattler] = gBattleMons[gActiveBattler].moves[*(gBattleStruct->chosenMovePositions + gActiveBattler)]; + *(gBattleStruct->moveTarget + gActiveBattler) = gBattleBufferB[gActiveBattler][3]; + gBattleCommunication[gActiveBattler]++; + } + break; + } + break; + case B_ACTION_USE_ITEM: + if ((gBattleBufferB[gActiveBattler][1] | (gBattleBufferB[gActiveBattler][2] << 8)) == 0) + { + gBattleCommunication[gActiveBattler] = 1; + } + else + { + gLastUsedItem = (gBattleBufferB[gActiveBattler][1] | (gBattleBufferB[gActiveBattler][2] << 8)); + gBattleCommunication[gActiveBattler]++; + } + break; + case B_ACTION_SWITCH: + if (gBattleBufferB[gActiveBattler][1] == 6) + { + gBattleCommunication[gActiveBattler] = 1; + RecordedBattle_ClearBattlerAction(gActiveBattler, 1); + } + else + { + sub_803CDF8(); + gBattleCommunication[gActiveBattler]++; + } + break; + case B_ACTION_RUN: + gHitMarker |= HITMARKER_RUN; + gBattleCommunication[gActiveBattler]++; + break; + case B_ACTION_SAFARI_WATCH_CAREFULLY: + gBattleCommunication[gActiveBattler]++; + break; + case B_ACTION_SAFARI_BALL: + gBattleCommunication[gActiveBattler]++; + break; + case B_ACTION_SAFARI_POKEBLOCK: + if ((gBattleBufferB[gActiveBattler][1] | (gBattleBufferB[gActiveBattler][2] << 8)) != 0) + { + gBattleCommunication[gActiveBattler]++; + } + else + { + gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; + } + break; + case B_ACTION_SAFARI_GO_NEAR: + gBattleCommunication[gActiveBattler]++; + break; + case B_ACTION_SAFARI_RUN: + gHitMarker |= HITMARKER_RUN; + gBattleCommunication[gActiveBattler]++; + break; + case B_ACTION_UNKNOWN9: + gBattleCommunication[gActiveBattler]++; + break; + } + } + break; + case STATE_WAIT_ACTION_CONFIRMED_STANDBY: + if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) + { + i = (sub_803CDB8() != 0); + + if (((gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_DOUBLE)) != BATTLE_TYPE_DOUBLE) + || (position & BIT_FLANK) + || (*(&gBattleStruct->field_91) & gBitTable[GetBattlerAtPosition(position ^ BIT_FLANK)])) + { + BtlController_EmitLinkStandbyMsg(0, 0, i); + } + else + { + BtlController_EmitLinkStandbyMsg(0, 1, i); + } + MarkBattlerForControllerExec(gActiveBattler); + gBattleCommunication[gActiveBattler]++; + } + break; + case STATE_WAIT_ACTION_CONFIRMED: + if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) + { + gBattleCommunication[ACTIONS_CONFIRMED_COUNT]++; + } + break; + case STATE_SELECTION_SCRIPT: + if (*(gBattleStruct->selectionScriptFinished + gActiveBattler)) + { + gBattleCommunication[gActiveBattler] = *(gBattleStruct->stateIdAfterSelScript + gActiveBattler); + } + else + { + gBattlerAttacker = gActiveBattler; + gBattlescriptCurrInstr = gSelectionBattleScripts[gActiveBattler]; + if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) + { + gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); + } + gSelectionBattleScripts[gActiveBattler] = gBattlescriptCurrInstr; + } + break; + case STATE_WAIT_SET_BEFORE_ACTION: + if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) + { + gBattleCommunication[gActiveBattler] = 1; + } + break; + case STATE_SELECTION_SCRIPT_MAY_RUN: + if (*(gBattleStruct->selectionScriptFinished + gActiveBattler)) + { + if (gBattleBufferB[gActiveBattler][1] == 13) + { + gHitMarker |= HITMARKER_RUN; + gChosenActionByBattler[gActiveBattler] = B_ACTION_RUN; + gBattleCommunication[gActiveBattler] = STATE_WAIT_ACTION_CONFIRMED_STANDBY; + } + else + { + RecordedBattle_ClearBattlerAction(gActiveBattler, 1); + gBattleCommunication[gActiveBattler] = *(gBattleStruct->stateIdAfterSelScript + gActiveBattler); + } + } + else + { + gBattlerAttacker = gActiveBattler; + gBattlescriptCurrInstr = gSelectionBattleScripts[gActiveBattler]; + if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) + { + gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); + } + gSelectionBattleScripts[gActiveBattler] = gBattlescriptCurrInstr; + } + break; + } + } + + // check if everyone chose actions + if (gBattleCommunication[ACTIONS_CONFIRMED_COUNT] == gBattlersCount) + { + sub_818603C(1); + gBattleMainFunc = SetActionsAndBattlersTurnOrder; + + if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) + { + for (i = 0; i < gBattlersCount; i++) + { + if (gChosenActionByBattler[i] == B_ACTION_SWITCH) + sub_80571DC(i, *(gBattleStruct->monToSwitchIntoId + i)); + } + } + } +} + +static bool8 sub_803CDB8(void) +{ + s32 i, var; + + for (var = 0, i = 0; i < gBattlersCount; i++) + { + if (gBattleCommunication[i] == 5) + var++; + } + + if (var + 1 == gBattlersCount) + return TRUE; + else + return FALSE; +} + +static void sub_803CDF8(void) +{ + *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = gBattleBufferB[gActiveBattler][1]; + RecordedBattle_SetBattlerAction(gActiveBattler, gBattleBufferB[gActiveBattler][1]); + + if (gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_MULTI) + { + *(gActiveBattler * 3 + (u8*)(gBattleStruct->field_60) + 0) &= 0xF; + *(gActiveBattler * 3 + (u8*)(gBattleStruct->field_60) + 0) |= (gBattleBufferB[gActiveBattler][2] & 0xF0); + *(gActiveBattler * 3 + (u8*)(gBattleStruct->field_60) + 1) = gBattleBufferB[gActiveBattler][3]; + + *((gActiveBattler ^ BIT_FLANK) * 3 + (u8*)(gBattleStruct->field_60) + 0) &= (0xF0); + *((gActiveBattler ^ BIT_FLANK) * 3 + (u8*)(gBattleStruct->field_60) + 0) |= (gBattleBufferB[gActiveBattler][2] & 0xF0) >> 4; + *((gActiveBattler ^ BIT_FLANK) * 3 + (u8*)(gBattleStruct->field_60) + 2) = gBattleBufferB[gActiveBattler][3]; + } +} + +void SwapTurnOrder(u8 id1, u8 id2) +{ + u32 temp = gActionsByTurnOrder[id1]; + gActionsByTurnOrder[id1] = gActionsByTurnOrder[id2]; + gActionsByTurnOrder[id2] = temp; + + temp = gBattleTurnOrder[id1]; + gBattleTurnOrder[id1] = gBattleTurnOrder[id2]; + gBattleTurnOrder[id2] = temp; +} + +u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) +{ + u8 strikesFirst = 0; + u8 speedMultiplierBattler1 = 0, speedMultiplierBattler2 = 0; + u32 speedBattler1 = 0, speedBattler2 = 0; + u8 holdEffect = 0; + u8 holdEffectParam = 0; + u16 moveBattler1 = 0, moveBattler2 = 0; + + if (WEATHER_HAS_EFFECT) + { + if ((gBattleMons[battler1].ability == ABILITY_SWIFT_SWIM && gBattleWeather & WEATHER_RAIN_ANY) + || (gBattleMons[battler1].ability == ABILITY_CHLOROPHYLL && gBattleWeather & WEATHER_SUN_ANY)) + speedMultiplierBattler1 = 2; + else + speedMultiplierBattler1 = 1; + + if ((gBattleMons[battler2].ability == ABILITY_SWIFT_SWIM && gBattleWeather & WEATHER_RAIN_ANY) + || (gBattleMons[battler2].ability == ABILITY_CHLOROPHYLL && gBattleWeather & WEATHER_SUN_ANY)) + speedMultiplierBattler2 = 2; + else + speedMultiplierBattler2 = 1; + } + else + { + speedMultiplierBattler1 = 1; + speedMultiplierBattler2 = 1; + } + + speedBattler1 = (gBattleMons[battler1].speed * speedMultiplierBattler1) + * (gStatStageRatios[gBattleMons[battler1].statStages[STAT_SPEED]][0]) + / (gStatStageRatios[gBattleMons[battler1].statStages[STAT_SPEED]][1]); + + if (gBattleMons[battler1].item == ITEM_ENIGMA_BERRY) + { + holdEffect = gEnigmaBerries[battler1].holdEffect; + holdEffectParam = gEnigmaBerries[battler1].holdEffectParam; + } + else + { + holdEffect = ItemId_GetHoldEffect(gBattleMons[battler1].item); + holdEffectParam = ItemId_GetHoldEffectParam(gBattleMons[battler1].item); + } + + // badge boost + if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 | BATTLE_TYPE_FRONTIER)) + && FlagGet(FLAG_BADGE03_GET) + && GetBattlerSide(battler1) == B_SIDE_PLAYER) + { + speedBattler1 = (speedBattler1 * 110) / 100; + } + + if (holdEffect == HOLD_EFFECT_MACHO_BRACE) + speedBattler1 /= 2; + + if (gBattleMons[battler1].status1 & STATUS1_PARALYSIS) + speedBattler1 /= 4; + + if (holdEffect == HOLD_EFFECT_QUICK_CLAW && gRandomTurnNumber < (0xFFFF * holdEffectParam) / 100) + speedBattler1 = UINT_MAX; + + // check second battlerId's speed + + speedBattler2 = (gBattleMons[battler2].speed * speedMultiplierBattler2) + * (gStatStageRatios[gBattleMons[battler2].statStages[STAT_SPEED]][0]) + / (gStatStageRatios[gBattleMons[battler2].statStages[STAT_SPEED]][1]); + + if (gBattleMons[battler2].item == ITEM_ENIGMA_BERRY) + { + holdEffect = gEnigmaBerries[battler2].holdEffect; + holdEffectParam = gEnigmaBerries[battler2].holdEffectParam; + } + else + { + holdEffect = ItemId_GetHoldEffect(gBattleMons[battler2].item); + holdEffectParam = ItemId_GetHoldEffectParam(gBattleMons[battler2].item); + } + + // badge boost + if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 | BATTLE_TYPE_FRONTIER)) + && FlagGet(FLAG_BADGE03_GET) + && GetBattlerSide(battler2) == B_SIDE_PLAYER) + { + speedBattler2 = (speedBattler2 * 110) / 100; + } + + if (holdEffect == HOLD_EFFECT_MACHO_BRACE) + speedBattler2 /= 2; + + if (gBattleMons[battler2].status1 & STATUS1_PARALYSIS) + speedBattler2 /= 4; + + if (holdEffect == HOLD_EFFECT_QUICK_CLAW && gRandomTurnNumber < (0xFFFF * holdEffectParam) / 100) + speedBattler2 = UINT_MAX; + + if (ignoreChosenMoves) + { + moveBattler1 = MOVE_NONE; + moveBattler2 = MOVE_NONE; + } + else + { + if (gChosenActionByBattler[battler1] == B_ACTION_USE_MOVE) + { + if (gProtectStructs[battler1].onlyStruggle) + moveBattler1 = MOVE_STRUGGLE; + else + moveBattler1 = gBattleMons[battler1].moves[*(gBattleStruct->chosenMovePositions + battler1)]; + } + else + moveBattler1 = MOVE_NONE; + + if (gChosenActionByBattler[battler2] == B_ACTION_USE_MOVE) + { + if (gProtectStructs[battler2].onlyStruggle) + moveBattler2 = MOVE_STRUGGLE; + else + moveBattler2 = gBattleMons[battler2].moves[*(gBattleStruct->chosenMovePositions + battler2)]; + } + else + moveBattler2 = MOVE_NONE; + } + + // both move priorities are different than 0 + if (gBattleMoves[moveBattler1].priority != 0 || gBattleMoves[moveBattler2].priority != 0) + { + // both priorities are the same + if (gBattleMoves[moveBattler1].priority == gBattleMoves[moveBattler2].priority) + { + if (speedBattler1 == speedBattler2 && Random() & 1) + strikesFirst = 2; // same speeds, same priorities + else if (speedBattler1 < speedBattler2) + strikesFirst = 1; // battler2 has more speed + + // else battler1 has more speed + } + else if (gBattleMoves[moveBattler1].priority < gBattleMoves[moveBattler2].priority) + strikesFirst = 1; // battler2's move has greater priority + + // else battler1's move has greater priority + } + // both priorities are equal to 0 + else + { + if (speedBattler1 == speedBattler2 && Random() & 1) + strikesFirst = 2; // same speeds, same priorities + else if (speedBattler1 < speedBattler2) + strikesFirst = 1; // battler2 has more speed + + // else battler1 has more speed + } + + return strikesFirst; +} + +static void SetActionsAndBattlersTurnOrder(void) +{ + s32 var = 0; + s32 i, j; + + if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) + { + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + { + gActionsByTurnOrder[var] = gChosenActionByBattler[gActiveBattler]; + gBattleTurnOrder[var] = gActiveBattler; + var++; + } + } + else + { + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + { + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + { + if (gChosenActionByBattler[gActiveBattler] == B_ACTION_RUN) + { + var = 5; + break; + } + } + } + else + { + if (gChosenActionByBattler[0] == B_ACTION_RUN) + { + gActiveBattler = 0; + var = 5; + } + if (gChosenActionByBattler[2] == B_ACTION_RUN) + { + gActiveBattler = 2; + var = 5; + } + } + + if (var == 5) + { + gActionsByTurnOrder[0] = gChosenActionByBattler[gActiveBattler]; + gBattleTurnOrder[0] = gActiveBattler; + var = 1; + for (i = 0; i < gBattlersCount; i++) + { + if (i != gActiveBattler) + { + gActionsByTurnOrder[var] = gChosenActionByBattler[i]; + gBattleTurnOrder[var] = i; + var++; + } + } + gBattleMainFunc = CheckFocusPunch_ClearVarsBeforeTurnStarts; + gBattleStruct->focusPunchBattlerId = 0; + return; + } + else + { + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + { + if (gChosenActionByBattler[gActiveBattler] == B_ACTION_USE_ITEM || gChosenActionByBattler[gActiveBattler] == B_ACTION_SWITCH) + { + gActionsByTurnOrder[var] = gChosenActionByBattler[gActiveBattler]; + gBattleTurnOrder[var] = gActiveBattler; + var++; + } + } + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + { + if (gChosenActionByBattler[gActiveBattler] != B_ACTION_USE_ITEM && gChosenActionByBattler[gActiveBattler] != B_ACTION_SWITCH) + { + gActionsByTurnOrder[var] = gChosenActionByBattler[gActiveBattler]; + gBattleTurnOrder[var] = gActiveBattler; + var++; + } + } + for (i = 0; i < gBattlersCount - 1; i++) + { + for (j = i + 1; j < gBattlersCount; j++) + { + u8 battler1 = gBattleTurnOrder[i]; + u8 battler2 = gBattleTurnOrder[j]; + if (gActionsByTurnOrder[i] != B_ACTION_USE_ITEM + && gActionsByTurnOrder[j] != B_ACTION_USE_ITEM + && gActionsByTurnOrder[i] != B_ACTION_SWITCH + && gActionsByTurnOrder[j] != B_ACTION_SWITCH) + { + if (GetWhoStrikesFirst(battler1, battler2, FALSE)) + SwapTurnOrder(i, j); + } + } + } + } + } + gBattleMainFunc = CheckFocusPunch_ClearVarsBeforeTurnStarts; + gBattleStruct->focusPunchBattlerId = 0; +} + +static void TurnValuesCleanUp(bool8 var0) +{ + s32 i; + u8 *dataPtr; + + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + { + if (var0) + { + gProtectStructs[gActiveBattler].protected = 0; + gProtectStructs[gActiveBattler].endured = 0; + } + else + { + dataPtr = (u8*)(&gProtectStructs[gActiveBattler]); + for (i = 0; i < sizeof(struct ProtectStruct); i++) + dataPtr[i] = 0; + + if (gDisableStructs[gActiveBattler].isFirstTurn) + gDisableStructs[gActiveBattler].isFirstTurn--; + + if (gDisableStructs[gActiveBattler].rechargeCounter) + { + gDisableStructs[gActiveBattler].rechargeCounter--; + if (gDisableStructs[gActiveBattler].rechargeCounter == 0) + gBattleMons[gActiveBattler].status2 &= ~(STATUS2_RECHARGE); + } + } + + if (gDisableStructs[gActiveBattler].substituteHP == 0) + gBattleMons[gActiveBattler].status2 &= ~(STATUS2_SUBSTITUTE); + } + + gSideTimers[0].followmeTimer = 0; + gSideTimers[1].followmeTimer = 0; +} + +static void SpecialStatusesClear(void) +{ + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + { + s32 i; + u8 *dataPtr = (u8*)(&gSpecialStatuses[gActiveBattler]); + + for (i = 0; i < sizeof(struct SpecialStatus); i++) + dataPtr[i] = 0; + } +} + +static void CheckFocusPunch_ClearVarsBeforeTurnStarts(void) +{ + if (!(gHitMarker & HITMARKER_RUN)) + { + while (gBattleStruct->focusPunchBattlerId < gBattlersCount) + { + gActiveBattler = gBattlerAttacker = gBattleStruct->focusPunchBattlerId; + gBattleStruct->focusPunchBattlerId++; + if (gChosenMoveByBattler[gActiveBattler] == MOVE_FOCUS_PUNCH + && !(gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP) + && !(gDisableStructs[gBattlerAttacker].truantCounter) + && !(gProtectStructs[gActiveBattler].onlyStruggle)) + { + BattleScriptExecute(BattleScript_FocusPunchSetUp); + return; + } + } + } + + TryClearRageStatuses(); + gCurrentTurnActionNumber = 0; +{ + // something stupid needed to match + u8 zero; + gCurrentActionFuncId = gActionsByTurnOrder[(zero = 0)]; +} + gDynamicBasePower = 0; + gBattleStruct->dynamicMoveType = 0; + gBattleMainFunc = RunTurnActionsFunctions; + gBattleCommunication[3] = 0; + gBattleCommunication[4] = 0; + gBattleScripting.multihitMoveEffect = 0; + gBattleResources->battleScriptsStack->size = 0; +} + +static void RunTurnActionsFunctions(void) +{ + if (gBattleOutcome != 0) + gCurrentActionFuncId = 12; + + *(&gBattleStruct->savedTurnActionNumber) = gCurrentTurnActionNumber; + sTurnActionsFuncsTable[gCurrentActionFuncId](); + + if (gCurrentTurnActionNumber >= gBattlersCount) // everyone did their actions, turn finished + { + gHitMarker &= ~(HITMARKER_x100000); + gBattleMainFunc = sEndTurnFuncsTable[gBattleOutcome & 0x7F]; + } + else + { + if (gBattleStruct->savedTurnActionNumber != gCurrentTurnActionNumber) // action turn has been done, clear hitmarker bits for another battlerId + { + gHitMarker &= ~(HITMARKER_NO_ATTACKSTRING); + gHitMarker &= ~(HITMARKER_UNABLE_TO_USE_MOVE); + } + } +} + +static void HandleEndTurn_BattleWon(void) +{ + gCurrentActionFuncId = 0; + + if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) + { + gSpecialVar_Result = gBattleOutcome; + gBattleTextBuff1[0] = gBattleOutcome; + gBattlerAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost; + gBattleOutcome &= ~(B_OUTCOME_LINK_BATTLE_RAN); + } + else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER + && gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_x4000000 | BATTLE_TYPE_EREADER_TRAINER)) + { + BattleStopLowHpSound(); + gBattlescriptCurrInstr = BattleScript_FrontierTrainerBattleWon; + + if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_3FE) + PlayBGM(MUS_KACHI3); + else + PlayBGM(MUS_KACHI1); + } + else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && !(gBattleTypeFlags & BATTLE_TYPE_LINK)) + { + BattleStopLowHpSound(); + gBattlescriptCurrInstr = BattleScript_LocalTrainerBattleWon; + + switch (gTrainers[gTrainerBattleOpponent_A].trainerClass) + { + case TRAINER_CLASS_ELITE_FOUR: + case TRAINER_CLASS_CHAMPION: + PlayBGM(MUS_KACHI5); + break; + case TRAINER_CLASS_TEAM_AQUA: + case TRAINER_CLASS_TEAM_MAGMA: + case TRAINER_CLASS_AQUA_ADMIN: + case TRAINER_CLASS_AQUA_LEADER: + case TRAINER_CLASS_MAGMA_ADMIN: + case TRAINER_CLASS_MAGMA_LEADER: + PlayBGM(MUS_KACHI4); + break; + case TRAINER_CLASS_LEADER: + PlayBGM(MUS_KACHI3); + break; + default: + PlayBGM(MUS_KACHI1); + break; + } + } + else + { + gBattlescriptCurrInstr = BattleScript_PayDayMoneyAndPickUpItems; + } + + gBattleMainFunc = HandleEndTurn_FinishBattle; +} + +static void HandleEndTurn_BattleLost(void) +{ + gCurrentActionFuncId = 0; + + if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) + { + if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) + { + if (gBattleOutcome & B_OUTCOME_LINK_BATTLE_RAN) + { + gBattlescriptCurrInstr = BattleScript_PrintPlayerForfeitedLinkBattle; + gBattleOutcome &= ~(B_OUTCOME_LINK_BATTLE_RAN); + gSaveBlock2Ptr->field_CA9_b = 1; + } + else + { + gBattlescriptCurrInstr = BattleScript_82DAA0B; + gBattleOutcome &= ~(B_OUTCOME_LINK_BATTLE_RAN); + } + } + else + { + gBattleTextBuff1[0] = gBattleOutcome; + gBattlerAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost; + gBattleOutcome &= ~(B_OUTCOME_LINK_BATTLE_RAN); + } + } + else + { + gBattlescriptCurrInstr = BattleScript_LocalBattleLost; + } + + gBattleMainFunc = HandleEndTurn_FinishBattle; +} + +static void HandleEndTurn_RanFromBattle(void) +{ + gCurrentActionFuncId = 0; + + if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER && gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + gBattlescriptCurrInstr = BattleScript_PrintPlayerForfeited; + gBattleOutcome = B_OUTCOME_FORFEITED; + gSaveBlock2Ptr->field_CA9_b = 1; + } + else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) + { + gBattlescriptCurrInstr = BattleScript_PrintPlayerForfeited; + gBattleOutcome = B_OUTCOME_FORFEITED; + } + else + { + switch (gProtectStructs[gBattlerAttacker].fleeFlag) + { + default: + gBattlescriptCurrInstr = BattleScript_GotAwaySafely; + break; + case 1: + gBattlescriptCurrInstr = BattleScript_SmokeBallEscape; + break; + case 2: + gBattlescriptCurrInstr = BattleScript_RanAwayUsingMonAbility; + break; + } + } + + gBattleMainFunc = HandleEndTurn_FinishBattle; +} + +static void HandleEndTurn_MonFled(void) +{ + gCurrentActionFuncId = 0; + + PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBattlerAttacker, gBattlerPartyIndexes[gBattlerAttacker]); + gBattlescriptCurrInstr = BattleScript_WildMonFled; + + gBattleMainFunc = HandleEndTurn_FinishBattle; +} + +static void HandleEndTurn_FinishBattle(void) +{ + if (gCurrentActionFuncId == 0xB || gCurrentActionFuncId == 0xC) + { + if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK + | BATTLE_TYPE_x2000000 + | BATTLE_TYPE_FIRST_BATTLE + | BATTLE_TYPE_SAFARI + | BATTLE_TYPE_EREADER_TRAINER + | BATTLE_TYPE_WALLY_TUTORIAL + | BATTLE_TYPE_FRONTIER))) + { + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + { + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + { + if (gBattleResults.playerMon1Species == SPECIES_NONE) + { + gBattleResults.playerMon1Species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES, NULL); + GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_NICKNAME, gBattleResults.playerMon1Name); + } + else + { + gBattleResults.playerMon2Species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES, NULL); + GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_NICKNAME, gBattleResults.playerMon2Name); + } + } + } + PutPokemonTodayCaughtOnAir(); + } + + if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK + | BATTLE_TYPE_x2000000 + | BATTLE_TYPE_TRAINER + | BATTLE_TYPE_FIRST_BATTLE + | BATTLE_TYPE_SAFARI + | BATTLE_TYPE_FRONTIER + | BATTLE_TYPE_EREADER_TRAINER + | BATTLE_TYPE_WALLY_TUTORIAL)) + && gBattleResults.unk5_6) + { + sub_80EE184(); + } + + sub_8186444(); + BeginFastPaletteFade(3); + FadeOutMapMusic(5); + gBattleMainFunc = FreeResetData_ReturnToOvOrDoEvolutions; + gCB2_AfterEvolution = BattleMainCB2; + } + else + { + if (gBattleControllerExecFlags == 0) + gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); + } +} + +static void FreeResetData_ReturnToOvOrDoEvolutions(void) +{ + if (!gPaletteFade.active) + { + ResetSpriteData(); + if (gLeveledUpInBattle == 0 || gBattleOutcome != B_OUTCOME_WON) + { + gBattleMainFunc = ReturnFromBattleToOverworld; + return; + } + else + { + gBattleMainFunc = TryEvolvePokemon; + } + } + + FreeAllWindowBuffers(); + if (!(gBattleTypeFlags & BATTLE_TYPE_LINK)) + { + FreeMonSpritesGfx(); + FreeBattleResources(); + FreeBattleSpritesData(); + } +} + +static void TryEvolvePokemon(void) +{ + s32 i; + + while (gLeveledUpInBattle != 0) + { + for (i = 0; i < PARTY_SIZE; i++) + { + if (gLeveledUpInBattle & gBitTable[i]) + { + u16 species; + u8 levelUpBits = gLeveledUpInBattle; + + levelUpBits &= ~(gBitTable[i]); + gLeveledUpInBattle = levelUpBits; + + species = GetEvolutionTargetSpecies(&gPlayerParty[i], 0, levelUpBits); + if (species != SPECIES_NONE) + { + FreeAllWindowBuffers(); + gBattleMainFunc = WaitForEvoSceneToFinish; + EvolutionScene(&gPlayerParty[i], species, TRUE, i); + return; + } + } + } + } + + gBattleMainFunc = ReturnFromBattleToOverworld; +} + +static void WaitForEvoSceneToFinish(void) +{ + if (gMain.callback2 == BattleMainCB2) + gBattleMainFunc = TryEvolvePokemon; +} + +static void ReturnFromBattleToOverworld(void) +{ + if (!(gBattleTypeFlags & BATTLE_TYPE_LINK)) + { + RandomlyGivePartyPokerus(gPlayerParty); + PartySpreadPokerus(gPlayerParty); + } + + if (gBattleTypeFlags & BATTLE_TYPE_LINK && gReceivedRemoteLinkPlayers != 0) + return; + + gSpecialVar_Result = gBattleOutcome; + gMain.inBattle = 0; + gMain.callback1 = gPreBattleCallback1; + + if (gBattleTypeFlags & BATTLE_TYPE_ROAMER) + { + UpdateRoamerHPStatus(&gEnemyParty[0]); + if ((gBattleOutcome & B_OUTCOME_WON) || gBattleOutcome == B_OUTCOME_CAUGHT) + SetRoamerInactive(); + } + + m4aSongNumStop(0x5A); + SetMainCallback2(gMain.savedCallback); +} + +void RunBattleScriptCommands_PopCallbacksStack(void) +{ + if (gCurrentActionFuncId == 0xB || gCurrentActionFuncId == 0xC) + { + if (gBattleResources->battleCallbackStack->size != 0) + gBattleResources->battleCallbackStack->size--; + gBattleMainFunc = gBattleResources->battleCallbackStack->function[gBattleResources->battleCallbackStack->size]; + } + else + { + if (gBattleControllerExecFlags == 0) + gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); + } +} + +void RunBattleScriptCommands(void) +{ + if (gBattleControllerExecFlags == 0) + gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); +} + +static void HandleAction_UseMove(void) +{ + u8 side; + u8 var = 4; + + gBattlerAttacker = gBattleTurnOrder[gCurrentTurnActionNumber]; + + if (*(&gBattleStruct->field_91) & gBitTable[gBattlerAttacker]) + { + gCurrentActionFuncId = B_ACTION_FINISHED; + return; + } + + gCritMultiplier = 1; + gBattleScripting.dmgMultiplier = 1; + gBattleStruct->atkCancellerTracker = 0; + gMoveResultFlags = 0; + gMultiHitCounter = 0; + gBattleCommunication[6] = 0; + gCurrMovePos = gChosenMovePos = *(gBattleStruct->chosenMovePositions + gBattlerAttacker); + + // choose move + if (gProtectStructs[gBattlerAttacker].onlyStruggle) + { + gProtectStructs[gBattlerAttacker].onlyStruggle = 0; + gCurrentMove = gChosenMove = MOVE_STRUGGLE; + gHitMarker |= HITMARKER_NO_PPDEDUCT; + *(gBattleStruct->moveTarget + gBattlerAttacker) = GetMoveTarget(MOVE_STRUGGLE, 0); + } + else if (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS || gBattleMons[gBattlerAttacker].status2 & STATUS2_RECHARGE) + { + gCurrentMove = gChosenMove = gLockedMoves[gBattlerAttacker]; + } + // encore forces you to use the same move + else if (gDisableStructs[gBattlerAttacker].encoredMove != MOVE_NONE + && gDisableStructs[gBattlerAttacker].encoredMove == gBattleMons[gBattlerAttacker].moves[gDisableStructs[gBattlerAttacker].encoredMovePos]) + { + gCurrentMove = gChosenMove = gDisableStructs[gBattlerAttacker].encoredMove; + gCurrMovePos = gChosenMovePos = gDisableStructs[gBattlerAttacker].encoredMovePos; + *(gBattleStruct->moveTarget + gBattlerAttacker) = GetMoveTarget(gCurrentMove, 0); + } + // check if the encored move wasn't overwritten + else if (gDisableStructs[gBattlerAttacker].encoredMove != MOVE_NONE + && gDisableStructs[gBattlerAttacker].encoredMove != gBattleMons[gBattlerAttacker].moves[gDisableStructs[gBattlerAttacker].encoredMovePos]) + { + gCurrMovePos = gChosenMovePos = gDisableStructs[gBattlerAttacker].encoredMovePos; + gCurrentMove = gChosenMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos]; + gDisableStructs[gBattlerAttacker].encoredMove = MOVE_NONE; + gDisableStructs[gBattlerAttacker].encoredMovePos = 0; + gDisableStructs[gBattlerAttacker].encoreTimer1 = 0; + *(gBattleStruct->moveTarget + gBattlerAttacker) = GetMoveTarget(gCurrentMove, 0); + } + else if (gBattleMons[gBattlerAttacker].moves[gCurrMovePos] != gChosenMoveByBattler[gBattlerAttacker]) + { + gCurrentMove = gChosenMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos]; + *(gBattleStruct->moveTarget + gBattlerAttacker) = GetMoveTarget(gCurrentMove, 0); + } + else + { + gCurrentMove = gChosenMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos]; + } + + if (gBattleMons[gBattlerAttacker].hp != 0) + { + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) + gBattleResults.lastUsedMovePlayer = gCurrentMove; + else + gBattleResults.lastUsedMoveOpponent = gCurrentMove; + } + + // choose target + side = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE; + if (gSideTimers[side].followmeTimer != 0 + && gBattleMoves[gCurrentMove].target == MOVE_TARGET_SELECTED + && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gSideTimers[side].followmeTarget) + && gBattleMons[gSideTimers[side].followmeTarget].hp != 0) + { + gBattlerTarget = gSideTimers[side].followmeTarget; + } + else if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + && gSideTimers[side].followmeTimer == 0 + && (gBattleMoves[gCurrentMove].power != 0 + || gBattleMoves[gCurrentMove].target != MOVE_TARGET_x10) + && gBattleMons[*(gBattleStruct->moveTarget + gBattlerAttacker)].ability != ABILITY_LIGHTNING_ROD + && gBattleMoves[gCurrentMove].type == TYPE_ELECTRIC) + { + side = GetBattlerSide(gBattlerAttacker); + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + { + if (side != GetBattlerSide(gActiveBattler) + && *(gBattleStruct->moveTarget + gBattlerAttacker) != gActiveBattler + && gBattleMons[gActiveBattler].ability == ABILITY_LIGHTNING_ROD + && GetBattlerTurnOrderNum(gActiveBattler) < var) + { + var = GetBattlerTurnOrderNum(gActiveBattler); + } + } + if (var == 4) + { + if (gBattleMoves[gChosenMove].target & MOVE_TARGET_RANDOM) + { + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) + { + if (Random() & 1) + gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + else + gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + } + else + { + if (Random() & 1) + gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + else + gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); + } + } + else + { + gBattlerTarget = *(gBattleStruct->moveTarget + gBattlerAttacker); + } + + if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + { + if (GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget)) + { + gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerTarget) ^ BIT_FLANK); + } + else + { + gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_SIDE); + if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerTarget) ^ BIT_FLANK); + } + } + } + else + { + gActiveBattler = gBattleTurnOrder[var]; + RecordAbilityBattle(gActiveBattler, gBattleMons[gActiveBattler].ability); + gSpecialStatuses[gActiveBattler].lightningRodRedirected = 1; + gBattlerTarget = gActiveBattler; + } + } + else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE + && gBattleMoves[gChosenMove].target & MOVE_TARGET_RANDOM) + { + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) + { + if (Random() & 1) + gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + else + gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + } + else + { + if (Random() & 1) + gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + else + gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); + } + + if (gAbsentBattlerFlags & gBitTable[gBattlerTarget] + && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget)) + { + gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerTarget) ^ BIT_FLANK); + } + } + else + { + gBattlerTarget = *(gBattleStruct->moveTarget + gBattlerAttacker); + if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + { + if (GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget)) + { + gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerTarget) ^ BIT_FLANK); + } + else + { + gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_SIDE); + if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerTarget) ^ BIT_FLANK); + } + } + } + + // choose battlescript + if (gBattleTypeFlags & BATTLE_TYPE_PALACE + && gProtectStructs[gBattlerAttacker].flag_x10) + { + if (gBattleMons[gBattlerAttacker].hp == 0) + { + gCurrentActionFuncId = B_ACTION_FINISHED; + return; + } + else if (gPalaceSelectionBattleScripts[gBattlerAttacker] != NULL) + { + gBattleCommunication[MULTISTRING_CHOOSER] = 4; + gBattlescriptCurrInstr = gPalaceSelectionBattleScripts[gBattlerAttacker]; + gPalaceSelectionBattleScripts[gBattlerAttacker] = NULL; + } + else + { + gBattleCommunication[MULTISTRING_CHOOSER] = 4; + gBattlescriptCurrInstr = BattleScript_MoveUsedLoafingAround; + } + } + else + { + gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]; + } + + if (gBattleTypeFlags & BATTLE_TYPE_ARENA) + sub_81A56E8(gBattlerAttacker); + + gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; +} + +static void HandleAction_Switch(void) +{ + gBattlerAttacker = gBattleTurnOrder[gCurrentTurnActionNumber]; + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + gActionSelectionCursor[gBattlerAttacker] = 0; + gMoveSelectionCursor[gBattlerAttacker] = 0; + + PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBattlerAttacker, *(gBattleStruct->field_58 + gBattlerAttacker)) + + gBattleScripting.battler = gBattlerAttacker; + gBattlescriptCurrInstr = BattleScript_ActionSwitch; + gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; + + if (gBattleResults.playerSwitchesCounter < 255) + gBattleResults.playerSwitchesCounter++; +} + +static void HandleAction_UseItem(void) +{ + gBattlerAttacker = gBattlerTarget = gBattleTurnOrder[gCurrentTurnActionNumber]; + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + ClearFuryCutterDestinyBondGrudge(gBattlerAttacker); + gLastUsedItem = gBattleBufferB[gBattlerAttacker][1] | (gBattleBufferB[gBattlerAttacker][2] << 8); + + if (gLastUsedItem <= ITEM_PREMIER_BALL) // is ball + { + gBattlescriptCurrInstr = gBattlescriptsForBallThrow[gLastUsedItem]; + } + else if (gLastUsedItem == ITEM_POKE_DOLL || gLastUsedItem == ITEM_FLUFFY_TAIL) + { + gBattlescriptCurrInstr = gBattlescriptsForRunningByItem[0]; + } + else if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) + { + gBattlescriptCurrInstr = gBattlescriptsForUsingItem[0]; + } + else + { + gBattleScripting.battler = gBattlerAttacker; + + switch (*(gBattleStruct->AI_itemType + (gBattlerAttacker >> 1))) + { + case AI_ITEM_FULL_RESTORE: + case AI_ITEM_HEAL_HP: + break; + case AI_ITEM_CURE_CONDITION: + gBattleCommunication[MULTISTRING_CHOOSER] = 0; + if (*(gBattleStruct->AI_itemFlags + gBattlerAttacker / 2) & 1) + { + if (*(gBattleStruct->AI_itemFlags + gBattlerAttacker / 2) & 0x3E) + gBattleCommunication[MULTISTRING_CHOOSER] = 5; + } + else + { + while (!(*(gBattleStruct->AI_itemFlags + gBattlerAttacker / 2) & 1)) + { + *(gBattleStruct->AI_itemFlags + gBattlerAttacker / 2) >>= 1; + gBattleCommunication[MULTISTRING_CHOOSER]++; + } + } + break; + case AI_ITEM_X_STAT: + gBattleCommunication[MULTISTRING_CHOOSER] = 4; + if (*(gBattleStruct->AI_itemFlags + (gBattlerAttacker >> 1)) & 0x80) + { + gBattleCommunication[MULTISTRING_CHOOSER] = 5; + } + else + { + PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_ATK) + PREPARE_STRING_BUFFER(gBattleTextBuff2, 0xD2) + + while (!((*(gBattleStruct->AI_itemFlags + (gBattlerAttacker >> 1))) & 1)) + { + *(gBattleStruct->AI_itemFlags + gBattlerAttacker / 2) >>= 1; + gBattleTextBuff1[2]++; + } + + gBattleScripting.animArg1 = gBattleTextBuff1[2] + 14; + gBattleScripting.animArg2 = 0; + } + break; + case AI_ITEM_GUARD_SPECS: + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + gBattleCommunication[MULTISTRING_CHOOSER] = 2; + else + gBattleCommunication[MULTISTRING_CHOOSER] = 0; + break; + } + + gBattlescriptCurrInstr = gBattlescriptsForUsingItem[*(gBattleStruct->AI_itemType + gBattlerAttacker / 2)]; + } + gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; +} + +bool8 TryRunFromBattle(u8 battler) +{ + bool8 effect = FALSE; + u8 holdEffect; + u8 pyramidMultiplier; + u8 speedVar; + + if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY) + holdEffect = gEnigmaBerries[battler].holdEffect; + else + holdEffect = ItemId_GetHoldEffect(gBattleMons[battler].item); + + gPotentialItemEffectBattler = battler; + + if (holdEffect == HOLD_EFFECT_CAN_ALWAYS_RUN) + { + gLastUsedItem = gBattleMons[battler].item ; + gProtectStructs[battler].fleeFlag = 1; + effect++; + } + else if (gBattleMons[battler].ability == ABILITY_RUN_AWAY) + { + if (InBattlePyramid()) + { + gBattleStruct->runTries++; + pyramidMultiplier = sub_81A9E28(); + speedVar = (gBattleMons[battler].speed * pyramidMultiplier) / (gBattleMons[BATTLE_OPPOSITE(battler)].speed) + (gBattleStruct->runTries * 30); + if (speedVar > (Random() & 0xFF)) + { + gLastUsedAbility = ABILITY_RUN_AWAY; + gProtectStructs[battler].fleeFlag = 2; + effect++; + } + } + else + { + gLastUsedAbility = ABILITY_RUN_AWAY; + gProtectStructs[battler].fleeFlag = 2; + effect++; + } + } + else if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_x4000000) && gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + effect++; + } + else + { + if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + { + if (InBattlePyramid()) + { + pyramidMultiplier = sub_81A9E28(); + speedVar = (gBattleMons[battler].speed * pyramidMultiplier) / (gBattleMons[BATTLE_OPPOSITE(battler)].speed) + (gBattleStruct->runTries * 30); + if (speedVar > (Random() & 0xFF)) + effect++; + } + else if (gBattleMons[battler].speed < gBattleMons[BATTLE_OPPOSITE(battler)].speed) + { + speedVar = (gBattleMons[battler].speed * 128) / (gBattleMons[BATTLE_OPPOSITE(battler)].speed) + (gBattleStruct->runTries * 30); + if (speedVar > (Random() & 0xFF)) + effect++; + } + else // same speed or faster + { + effect++; + } + } + + gBattleStruct->runTries++; + } + + if (effect) + { + gCurrentTurnActionNumber = gBattlersCount; + gBattleOutcome = B_OUTCOME_RAN; + } + + return effect; +} + +static void HandleAction_Run(void) +{ + gBattlerAttacker = gBattleTurnOrder[gCurrentTurnActionNumber]; + + if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) + { + gCurrentTurnActionNumber = gBattlersCount; + + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + { + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + { + if (gChosenActionByBattler[gActiveBattler] == B_ACTION_RUN) + gBattleOutcome |= B_OUTCOME_LOST; + } + else + { + if (gChosenActionByBattler[gActiveBattler] == B_ACTION_RUN) + gBattleOutcome |= B_OUTCOME_WON; + } + } + + gBattleOutcome |= B_OUTCOME_LINK_BATTLE_RAN; + gSaveBlock2Ptr->field_CA9_b = 1; + } + else + { + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) + { + if (!TryRunFromBattle(gBattlerAttacker)) // failed to run away + { + ClearFuryCutterDestinyBondGrudge(gBattlerAttacker); + gBattleCommunication[MULTISTRING_CHOOSER] = 3; + gBattlescriptCurrInstr = BattleScript_PrintFailedToRunString; + gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; + } + } + else + { + if (gBattleMons[gBattlerAttacker].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) + { + gBattleCommunication[MULTISTRING_CHOOSER] = 4; + gBattlescriptCurrInstr = BattleScript_PrintFailedToRunString; + gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; + } + else + { + gCurrentTurnActionNumber = gBattlersCount; + gBattleOutcome = B_OUTCOME_MON_FLED; + } + } + } +} + +static void HandleAction_WatchesCarefully(void) +{ + gBattlerAttacker = gBattleTurnOrder[gCurrentTurnActionNumber]; + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + gBattlescriptCurrInstr = gBattlescriptsForSafariActions[0]; + gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; +} + +static void HandleAction_SafariZoneBallThrow(void) +{ + gBattlerAttacker = gBattleTurnOrder[gCurrentTurnActionNumber]; + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + gNumSafariBalls--; + gLastUsedItem = ITEM_SAFARI_BALL; + gBattlescriptCurrInstr = gBattlescriptsForBallThrow[ITEM_SAFARI_BALL]; + gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; +} + +static void HandleAction_ThrowPokeblock(void) +{ + gBattlerAttacker = gBattleTurnOrder[gCurrentTurnActionNumber]; + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + gBattleCommunication[MULTISTRING_CHOOSER] = gBattleBufferB[gBattlerAttacker][1] - 1; + gLastUsedItem = gBattleBufferB[gBattlerAttacker][2]; + + if (gBattleResults.field_1F < 0xFF) + gBattleResults.field_1F++; + if (gBattleStruct->field_7A < 3) + gBattleStruct->field_7A++; + if (gBattleStruct->field_7B > 1) + { + if (gBattleStruct->field_7B < sUnknown_0831BCE0[gBattleStruct->field_7A][gBattleCommunication[MULTISTRING_CHOOSER]]) + gBattleStruct->field_7B = 1; + else + gBattleStruct->field_7B -= sUnknown_0831BCE0[gBattleStruct->field_7A][gBattleCommunication[MULTISTRING_CHOOSER]]; + } + + gBattlescriptCurrInstr = gBattlescriptsForSafariActions[2]; + gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; +} + +static void HandleAction_GoNear(void) +{ + gBattlerAttacker = gBattleTurnOrder[gCurrentTurnActionNumber]; + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + + gBattleStruct->field_7C += sUnknown_0831BCEF[gBattleStruct->field_79]; + if (gBattleStruct->field_7C > 20) + gBattleStruct->field_7C = 20; + + gBattleStruct->field_7B +=sUnknown_0831BCF3[gBattleStruct->field_79]; + if (gBattleStruct->field_7B > 20) + gBattleStruct->field_7B = 20; + + if (gBattleStruct->field_79 < 3) + { + gBattleStruct->field_79++; + gBattleCommunication[MULTISTRING_CHOOSER] = 0; + } + else + { + gBattleCommunication[MULTISTRING_CHOOSER] = 1; + } + gBattlescriptCurrInstr = gBattlescriptsForSafariActions[1]; + gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; +} + +static void HandleAction_SafriZoneRun(void) +{ + gBattlerAttacker = gBattleTurnOrder[gCurrentTurnActionNumber]; + PlaySE(SE_NIGERU); + gCurrentTurnActionNumber = gBattlersCount; + gBattleOutcome = B_OUTCOME_RAN; +} + +static void HandleAction_Action9(void) +{ + gBattlerAttacker = gBattleTurnOrder[gCurrentTurnActionNumber]; + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + + PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBattlerAttacker, gBattlerPartyIndexes[gBattlerAttacker]) + + gBattlescriptCurrInstr = gBattlescriptsForSafariActions[3]; + gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; + gActionsByTurnOrder[1] = B_ACTION_FINISHED; +} + +static void HandleAction_Action11(void) +{ + if (!HandleFaintedMonActions()) + { + gBattleStruct->faintedActionsState = 0; + gCurrentActionFuncId = B_ACTION_FINISHED; + } +} + +static void HandleAction_NothingIsFainted(void) +{ + gCurrentTurnActionNumber++; + gCurrentActionFuncId = gActionsByTurnOrder[gCurrentTurnActionNumber]; + gHitMarker &= ~(HITMARKER_DESTINYBOND | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_ATTACKSTRING_PRINTED + | HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_IGNORE_ON_AIR + | HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_x100000 + | HITMARKER_OBEYS | HITMARKER_x10 | HITMARKER_SYNCHRONISE_EFFECT + | HITMARKER_x8000000 | HITMARKER_x4000000); +} + +static void HandleAction_ActionFinished(void) +{ + *(gBattleStruct->monToSwitchIntoId + gBattleTurnOrder[gCurrentTurnActionNumber]) = 6; + gCurrentTurnActionNumber++; + gCurrentActionFuncId = gActionsByTurnOrder[gCurrentTurnActionNumber]; + SpecialStatusesClear(); + gHitMarker &= ~(HITMARKER_DESTINYBOND | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_ATTACKSTRING_PRINTED + | HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_IGNORE_ON_AIR + | HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_x100000 + | HITMARKER_OBEYS | HITMARKER_x10 | HITMARKER_SYNCHRONISE_EFFECT + | HITMARKER_x8000000 | HITMARKER_x4000000); + + gCurrentMove = 0; + gBattleMoveDamage = 0; + gMoveResultFlags = 0; + gBattleScripting.animTurn = 0; + gBattleScripting.animTargetsHit = 0; + gLastLandedMoves[gBattlerAttacker] = 0; + gLastHitByType[gBattlerAttacker] = 0; + gBattleStruct->dynamicMoveType = 0; + gDynamicBasePower = 0; + gBattleScripting.atk49_state = 0; + gBattleCommunication[3] = 0; + gBattleCommunication[4] = 0; + gBattleScripting.multihitMoveEffect = 0; + gBattleResources->battleScriptsStack->size = 0; +} diff --git a/src/battle_message.c b/src/battle_message.c index 52c0c7af58..2b9783f1a1 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -1,34 +1,23 @@ #include "global.h" #include "battle.h" #include "battle_message.h" -#include "battle_string_ids.h" -#include "moves.h" +#include "constants/battle_string_ids.h" +#include "constants/moves.h" #include "text.h" #include "string_util.h" -#include "items.h" +#include "constants/items.h" #include "event_data.h" #include "link.h" #include "item.h" #include "window.h" #include "palette.h" #include "battle_controllers.h" +#include "battle_setup.h" +#include "menu.h" +#include "recorded_battle.h" +#include "international_string_util.h" -extern u16 gLastUsedItem; -extern u8 gLastUsedAbility; -extern u8 gActiveBank; -extern u8 gBankAttacker; -extern u8 gBankTarget; -extern u8 gStringBank; -extern u8 gEffectBank; -extern u8 gAbilitiesPerBank[BATTLE_BANKS_COUNT]; -extern u32 gBattleTypeFlags; -extern u16 gTrainerBattleOpponent_A; -extern u16 gTrainerBattleOpponent_B; -extern u16 gPartnerTrainerId; -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; -extern struct BattleEnigmaBerry gEnigmaBerries[BATTLE_BANKS_COUNT]; -extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200]; -extern u8 gMoveSelectionCursor[BATTLE_BANKS_COUNT]; +extern u8 gBattlerAbilities[MAX_BATTLERS_COUNT]; extern u8 gUnknown_0203C7B4; extern struct StringInfoBattle *gStringInfo; @@ -54,12 +43,7 @@ extern void sub_81D5554(u8 *txtPtr, u16 trainerId); // pokenav extern void GetEreaderTrainerName(u8 *txtPtr); extern void sub_81A36D0(u8 arg0, u16 trainerId); // battle_frontier_2 extern void sub_81D572C(u8 arg0, u16 trainerId); // pokenav -extern const u8* GetTrainer1LoseText(void); // battle_setup -extern const u8* GetTrainer2LoseText(void); // battle_setup extern void GetFrontierTrainerName(u8 *dst, u16 trainerId); -extern s32 GetStringCenterAlignXOffsetWithLetterSpacing(u8 fontId, const u8 *str, s32 totalWidth, s16 letterSpacing); -extern u8 sub_8185FC4(void); -extern u8 sav2_get_text_speed(void); // this file's functions static void sub_814F8F8(u8 *textPtr); @@ -485,8 +469,8 @@ const u8 gText_PkmnBrokeFree[] = _("Oh, no!\nThe POKéMON broke free!"); const u8 gText_ItAppearedCaught[] = _("Aww!\nIt appeared to be caught!"); const u8 gText_AarghAlmostHadIt[] = _("Aargh!\nAlmost had it!"); const u8 gText_ShootSoClose[] = _("Shoot!\nIt was so close, too!"); -const u8 gText_GotchaPkmnCaught[] = _("Gotcha!\n{B_OPPONENT_MON1_NAME} was caught!{UNKNOWN_A}{PLAY_BGM BGM_KACHI22}\p"); -const u8 gText_GotchaPkmnCaught2[] = _("Gotcha!\n{B_OPPONENT_MON1_NAME} was caught!{UNKNOWN_A}{PLAY_BGM BGM_KACHI22}{PAUSE 127}"); +const u8 gText_GotchaPkmnCaught[] = _("Gotcha!\n{B_OPPONENT_MON1_NAME} was caught!{UNKNOWN_A}{PLAY_BGM MUS_KACHI22}\p"); +const u8 gText_GotchaPkmnCaught2[] = _("Gotcha!\n{B_OPPONENT_MON1_NAME} was caught!{UNKNOWN_A}{PLAY_BGM MUS_KACHI22}{PAUSE 127}"); const u8 gText_GiveNicknameCaptured[] = _("Give a nickname to the\ncaptured {B_OPPONENT_MON1_NAME}?"); const u8 gText_PkmnSentToPC[] = _("{B_OPPONENT_MON1_NAME} was sent to\n{B_PC_CREATOR_NAME} PC."); const u8 gText_Someones[] = _("someone’s"); @@ -932,58 +916,237 @@ const u16 gSandStormHailDmgStringIds[] = STRINGID_PKMNBUFFETEDBYSANDSTORM, STRINGID_PKMNPELTEDBYHAIL }; -// todo once battlescripts are dumped -const u16 gTooLazyToSplitThemStringIds[] = +const u16 gSandStormHailEndStringIds[] = { - STRINGID_SANDSTORMSUBSIDED, STRINGID_HAILSTOPPED, STRINGID_RAINCONTINUES, STRINGID_DOWNPOURCONTINUES, - STRINGID_RAINSTOPPED, STRINGID_PKMNPROTECTEDITSELF2, STRINGID_PKMNBRACEDITSELF, - STRINGID_BUTITFAILED, STRINGID_BUTITFAILED, STRINGID_PKMNRAISEDDEF, - STRINGID_PKMNRAISEDDEFALITTLE, STRINGID_PKMNRAISEDSPDEF, STRINGID_PKMNRAISEDSPDEFALITTLE, - STRINGID_PKMNCOVEREDBYVEIL, STRINGID_PKMNSEEDED, STRINGID_PKMNEVADEDATTACK, + STRINGID_SANDSTORMSUBSIDED, STRINGID_HAILSTOPPED +}; + +const u16 gRainContinuesStringIds[] = +{ + STRINGID_RAINCONTINUES, STRINGID_DOWNPOURCONTINUES, STRINGID_RAINSTOPPED +}; + +const u16 gProtectLikeUsedStringIds[] = +{ + STRINGID_PKMNPROTECTEDITSELF2, STRINGID_PKMNBRACEDITSELF, STRINGID_BUTITFAILED +}; + +const u16 gReflectLightScreenSafeguardStringIds[] = +{ + STRINGID_BUTITFAILED, STRINGID_PKMNRAISEDDEF, STRINGID_PKMNRAISEDDEFALITTLE, + STRINGID_PKMNRAISEDSPDEF, STRINGID_PKMNRAISEDSPDEFALITTLE, STRINGID_PKMNCOVEREDBYVEIL +}; + +const u16 gLeechSeedStringIds[] = +{ + STRINGID_PKMNSEEDED, STRINGID_PKMNEVADEDATTACK, STRINGID_ITDOESNTAFFECT, STRINGID_PKMNSAPPEDBYLEECHSEED, STRINGID_ITSUCKEDLIQUIDOOZE, - STRINGID_PKMNWENTTOSLEEP, STRINGID_PKMNSLEPTHEALTHY, STRINGID_PKMNMAKINGUPROAR, - STRINGID_PKMNCALMEDDOWN, STRINGID_PKMNSTOCKPILED, STRINGID_PKMNCANTSTOCKPILE, - STRINGID_PKMNWOKEUP, STRINGID_PKMNWOKEUPINUPROAR, STRINGID_FAILEDTOSWALLOW, - STRINGID_PKMNHPFULL, STRINGID_PKMNCANTSLEEPINUPROAR2, STRINGID_UPROARKEPTPKMNAWAKE, - STRINGID_PKMNSTAYEDAWAKEUSING, STRINGID_PKMNSSTATCHANGED, STRINGID_PKMNSSTATCHANGED2, - STRINGID_STATSWONTINCREASE, STRINGID_EMPTYSTRING3, STRINGID_USINGXTHEYOFZN, - STRINGID_PKMNUSEDXTOGETPUMPED, STRINGID_PKMNSSTATCHANGED3, STRINGID_PKMNSSTATCHANGED4, - STRINGID_STATSWONTDECREASE, STRINGID_EMPTYSTRING3, STRINGID_PKMNWHIPPEDWHIRLWIND, - STRINGID_PKMNTOOKSUNLIGHT, STRINGID_PKMNLOWEREDHEAD, STRINGID_PKMNISGLOWING, - STRINGID_PKMNFLEWHIGH, STRINGID_PKMNDUGHOLE, STRINGID_PKMNHIDUNDERWATER, - STRINGID_PKMNSPRANGUP, STRINGID_PKMNSQUEEZEDBYBIND, STRINGID_PKMNWRAPPEDBY, - STRINGID_PKMNTRAPPEDINVORTEX, STRINGID_PKMNCLAMPED, STRINGID_PKMNTRAPPEDINVORTEX, - STRINGID_PKMNTRAPPEDBYSANDTOMB, STRINGID_PKMNSHROUDEDINMIST, STRINGID_BUTITFAILED, - STRINGID_PKMNGETTINGPUMPED, STRINGID_BUTITFAILED, STRINGID_PKMNTRANSFORMEDINTO, - STRINGID_BUTITFAILED, STRINGID_PKMNMADESUBSTITUTE, STRINGID_TOOWEAKFORSUBSTITUTE, - STRINGID_PKMNWASPOISONED, STRINGID_PKMNPOISONEDBY, STRINGID_PKMNWASPARALYZED, - STRINGID_PKMNWASPARALYZEDBY, STRINGID_PKMNFELLASLEEP, STRINGID_PKMNMADESLEEP, - STRINGID_PKMNWASBURNED, STRINGID_PKMNBURNEDBY, STRINGID_PKMNWASFROZEN, - STRINGID_PKMNFROZENBY, STRINGID_PKMNWASDEFROSTED2, STRINGID_PKMNWASDEFROSTEDBY, - STRINGID_ATTACKMISSED, STRINGID_PKMNUNAFFECTED, STRINGID_PKMNFELLINLOVE, - STRINGID_PKMNSXINFATUATEDY, STRINGID_PKMNENERGYDRAINED, STRINGID_ITSUCKEDLIQUIDOOZE, - STRINGID_ELECTRICITYWEAKENED, STRINGID_FIREWEAKENED, STRINGID_BELLCHIMED, - STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, - STRINGID_SOOTHINGAROMA, STRINGID_PKMNFORESAWATTACK, STRINGID_PKMNCHOSEXASDESTINY, - STRINGID_PKMNBROKEFREE, STRINGID_ITAPPEAREDCAUGHT, STRINGID_AARGHALMOSTHADIT, - STRINGID_SHOOTSOCLOSE, STRINGID_ITISRAINING, STRINGID_ITISRAINING, +}; + +const u16 gRestUsedStringIds[] = +{ + STRINGID_PKMNWENTTOSLEEP, STRINGID_PKMNSLEPTHEALTHY +}; + +const u16 gUproarOverTurnStringIds[] = +{ + STRINGID_PKMNMAKINGUPROAR, STRINGID_PKMNCALMEDDOWN +}; + +const u16 gStockpileUsedStringIds[] = +{ + STRINGID_PKMNSTOCKPILED, STRINGID_PKMNCANTSTOCKPILE, +}; + +const u16 gWokeUpStringIds[] = +{ + STRINGID_PKMNWOKEUP, STRINGID_PKMNWOKEUPINUPROAR +}; + +const u16 gSwallowFailStringIds[] = +{ + STRINGID_FAILEDTOSWALLOW, STRINGID_PKMNHPFULL +}; + +const u16 gUproarAwakeStringIds[] = +{ + STRINGID_PKMNCANTSLEEPINUPROAR2, STRINGID_UPROARKEPTPKMNAWAKE, STRINGID_PKMNSTAYEDAWAKEUSING +}; + +const u16 gStatUpStringIds[] = +{ + STRINGID_PKMNSSTATCHANGED, STRINGID_PKMNSSTATCHANGED2, STRINGID_STATSWONTINCREASE, + STRINGID_EMPTYSTRING3, STRINGID_USINGXTHEYOFZN, STRINGID_PKMNUSEDXTOGETPUMPED +}; + +const u16 gStatDownStringIds[] = +{ + STRINGID_PKMNSSTATCHANGED3, STRINGID_PKMNSSTATCHANGED4, STRINGID_STATSWONTDECREASE, STRINGID_EMPTYSTRING3 +}; + +const u16 gFirstTurnOfTwoStringIds[] = +{ + STRINGID_PKMNWHIPPEDWHIRLWIND, STRINGID_PKMNTOOKSUNLIGHT, STRINGID_PKMNLOWEREDHEAD, STRINGID_PKMNISGLOWING, + STRINGID_PKMNFLEWHIGH, STRINGID_PKMNDUGHOLE, STRINGID_PKMNHIDUNDERWATER, STRINGID_PKMNSPRANGUP +}; + +const u16 gWrappedStringIds[] = +{ + STRINGID_PKMNSQUEEZEDBYBIND, STRINGID_PKMNWRAPPEDBY, STRINGID_PKMNTRAPPEDINVORTEX, + STRINGID_PKMNCLAMPED, STRINGID_PKMNTRAPPEDINVORTEX, STRINGID_PKMNTRAPPEDBYSANDTOMB +}; + +const u16 gMistUsedStringIds[] = +{ + STRINGID_PKMNSHROUDEDINMIST, STRINGID_BUTITFAILED +}; + +const u16 gFocusEnergyUsedStringIds[] = +{ + STRINGID_PKMNGETTINGPUMPED, STRINGID_BUTITFAILED +}; + +const u16 gTransformUsedStringIds[] = +{ + STRINGID_PKMNTRANSFORMEDINTO, STRINGID_BUTITFAILED +}; + +const u16 gSubsituteUsedStringIds[] = +{ + STRINGID_PKMNMADESUBSTITUTE, STRINGID_TOOWEAKFORSUBSTITUTE +}; + +const u16 gGotPoisonedStringIds[] = +{ + STRINGID_PKMNWASPOISONED, STRINGID_PKMNPOISONEDBY +}; + +const u16 gGotParalyzedStringIds[] = +{ + STRINGID_PKMNWASPARALYZED, STRINGID_PKMNWASPARALYZEDBY +}; + +const u16 gFellAsleepStringIds[] = +{ + STRINGID_PKMNFELLASLEEP, STRINGID_PKMNMADESLEEP, +}; + +const u16 gGotBurnedStringIds[] = +{ + STRINGID_PKMNWASBURNED, STRINGID_PKMNBURNEDBY +}; + +const u16 gGotFrozenStringIds[] = +{ + STRINGID_PKMNWASFROZEN, STRINGID_PKMNFROZENBY +}; + +const u16 gGotDefrostedStringIds[] = +{ + STRINGID_PKMNWASDEFROSTED2, STRINGID_PKMNWASDEFROSTEDBY +}; + +const u16 gKOFailedStringIds[] = +{ + STRINGID_ATTACKMISSED, STRINGID_PKMNUNAFFECTED +}; + +const u16 gAttractUsedStringIds[] = +{ + STRINGID_PKMNFELLINLOVE, STRINGID_PKMNSXINFATUATEDY +}; + +const u16 gLeechSeedDrainStringIds[] = +{ + STRINGID_PKMNENERGYDRAINED, STRINGID_ITSUCKEDLIQUIDOOZE +}; + +const u16 gSportsUsedStringIds[] = +{ + STRINGID_ELECTRICITYWEAKENED, STRINGID_FIREWEAKENED +}; + +const u16 gPartyStatusHealStringIds[] = +{ + STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, + // interesting how there are four instances of the same string + STRINGID_SOOTHINGAROMA +}; + +const u16 gFutureMoveUsedStringIds[] = +{ + STRINGID_PKMNFORESAWATTACK, STRINGID_PKMNCHOSEXASDESTINY +}; + +const u16 gBallEscapeStringIds[] = +{ + STRINGID_PKMNBROKEFREE, STRINGID_ITAPPEAREDCAUGHT, STRINGID_AARGHALMOSTHADIT, STRINGID_SHOOTSOCLOSE +}; + +const u16 gWeatherContinuesStringIds[] = +{ STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING, - STRINGID_SANDSTORMISRAGING, STRINGID_ITISRAINING, STRINGID_ITISRAINING, - STRINGID_ITISRAINING, STRINGID_SUNLIGHTSTRONG, STRINGID_ITISRAINING, - STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_PKMNLOAFING, - STRINGID_PKMNWONTOBEY, STRINGID_PKMNTURNEDAWAY, STRINGID_PKMNPRETENDNOTNOTICE, - STRINGID_PKMNINCAPABLEOFPOWER, STRINGID_CREPTCLOSER, STRINGID_CANTGETCLOSER, - STRINGID_PKMNCURIOUSABOUTX, STRINGID_PKMNENTHRALLEDBYX, STRINGID_PKMNIGNOREDX, + STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_SANDSTORMISRAGING, + STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING, + STRINGID_SUNLIGHTSTRONG, STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING +}; + +const u16 gInobedientStringIds[] = +{ + STRINGID_PKMNLOAFING, STRINGID_PKMNWONTOBEY, STRINGID_PKMNTURNEDAWAY, + STRINGID_PKMNPRETENDNOTNOTICE, STRINGID_PKMNINCAPABLEOFPOWER +}; + +const u16 gSafariGetNearStringIds[] = +{ + STRINGID_CREPTCLOSER, STRINGID_CANTGETCLOSER +}; + +const u16 gSafariPokeblockResultStringIds[] = +{ + STRINGID_PKMNCURIOUSABOUTX, STRINGID_PKMNENTHRALLEDBYX, STRINGID_PKMNIGNOREDX +}; + +const u16 gTrainerItemCuredStatusStringIds[] = +{ STRINGID_PKMNSITEMSNAPPEDOUT, STRINGID_PKMNSITEMCUREDPARALYSIS, STRINGID_PKMNSITEMDEFROSTEDIT, - STRINGID_PKMNSITEMHEALEDBURN, STRINGID_PKMNSITEMCUREDPOISON, STRINGID_PKMNSITEMWOKEIT, - STRINGID_PKMNSITEMCUREDPROBLEM, STRINGID_PKMNSITEMNORMALIZEDSTATUS, STRINGID_PKMNSXPREVENTSBURNS, - STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY, STRINGID_PKMNPREVENTSPARALYSISWITH, - STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY, STRINGID_PKMNPREVENTSPOISONINGWITH, - STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY, STRINGID_PKMNOBTAINEDX, - STRINGID_PKMNOBTAINEDX2, STRINGID_PKMNOBTAINEDXYOBTAINEDZ, STRINGID_PKMNRAISEDFIREPOWERWITH, - STRINGID_PKMNSXMADEYINEFFECTIVE, STRINGID_PKMNTRANSFERREDSOMEONESPC, STRINGID_PKMNTRANSFERREDLANETTESPC, - STRINGID_PKMNBOXSOMEONESPCFULL, STRINGID_PKMNBOXLANETTESPCFULL, + STRINGID_PKMNSITEMHEALEDBURN, STRINGID_PKMNSITEMCUREDPOISON, STRINGID_PKMNSITEMWOKEIT +}; + +const u16 gBerryEffectStringIds[] = +{ + STRINGID_PKMNSITEMCUREDPROBLEM, STRINGID_PKMNSITEMNORMALIZEDSTATUS +}; + +const u16 gBRNPreventionStringIds[] = +{ + STRINGID_PKMNSXPREVENTSBURNS, STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY +}; + +const u16 gPRLZPreventionStringIds[] = +{ + STRINGID_PKMNPREVENTSPARALYSISWITH, STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY +}; + +const u16 gPSNPreventionStringIds[] = +{ + STRINGID_PKMNPREVENTSPOISONINGWITH, STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY +}; + +const u16 gItemSwapStringIds[] = +{ + STRINGID_PKMNOBTAINEDX, STRINGID_PKMNOBTAINEDX2, STRINGID_PKMNOBTAINEDXYOBTAINEDZ +}; + +const u16 gFlashFireStringIds[] = +{ + STRINGID_PKMNRAISEDFIREPOWERWITH, STRINGID_PKMNSXMADEYINEFFECTIVE +}; + +const u16 gCaughtMonStringIds[] = +{ + STRINGID_PKMNTRANSFERREDSOMEONESPC, STRINGID_PKMNTRANSFERREDLANETTESPC, STRINGID_PKMNBOXSOMEONESPCFULL, STRINGID_PKMNBOXLANETTESPCFULL, }; const u16 gTrappingMoves[] = @@ -1102,9 +1265,10 @@ const u8 gText_PkmnGettingIntoPosition[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is const u8 gText_PkmnBeganGrowlingDeeply[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} began growling deeply!"); const u8 gText_PkmnEagerForMore[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is eager for more!"); -const u16 gUnknown_085CCF0A[] = +const u16 gStringIds_85CCF0A[] = { - 0x016E, 0x016F, 0x0170, 0x0171 + STRINGID_GLINTAPPEARSINEYE, STRINGID_PKMNGETTINGINTOPOSITION, + STRINGID_PKMNBEGANGROWLINGDEEPLY, STRINGID_PKMNEAGERFORMORE }; const u8 gText_RefIfNothingIsDecided[] = _("REFEREE: If nothing is decided in\n3 turns, we will go to judging!"); @@ -1145,6 +1309,8 @@ const u8 gText_BattleRecordedOnPass[] = _("{B_PLAYER_NAME}’s battle result was const u8 gText_LinkTrainerWantsToBattlePause[] = _("{B_20}\nwants to battle!{PAUSE 49}"); const u8 gText_TwoLinkTrainersWantToBattlePause[] = _("{B_20} and {B_21}\nwant to battle!{PAUSE 49}"); +// This is four lists of moves which use a different attack string in Japanese +// to the default. See the documentation for sub_814F950 for more detail. static const u16 sUnknownMoveTable[] = { MOVE_SWORDS_DANCE, MOVE_STRENGTH, MOVE_GROWTH, @@ -1159,16 +1325,16 @@ static const u16 sUnknownMoveTable[] = MOVE_TRICK, MOVE_ASSIST, MOVE_INGRAIN, MOVE_KNOCK_OFF, MOVE_CAMOUFLAGE, MOVE_ASTONISH, MOVE_ODOR_SLEUTH, MOVE_GRASS_WHISTLE, MOVE_SHEER_COLD, MOVE_MUDDY_WATER, - MOVE_IRON_DEFENSE, MOVE_BOUNCE, MOVE_NONE, + MOVE_IRON_DEFENSE, MOVE_BOUNCE, 0, MOVE_TELEPORT, MOVE_RECOVER, MOVE_BIDE, MOVE_AMNESIA, - MOVE_FLAIL, MOVE_TAUNT, MOVE_BULK_UP, MOVE_NONE, + MOVE_FLAIL, MOVE_TAUNT, MOVE_BULK_UP, 0, MOVE_MEDITATE, MOVE_AGILITY, MOVE_MIMIC, MOVE_DOUBLE_TEAM, MOVE_BARRAGE, MOVE_TRANSFORM, MOVE_STRUGGLE, MOVE_SCARY_FACE, MOVE_CHARGE, MOVE_WISH, MOVE_BRICK_BREAK, MOVE_YAWN, MOVE_FEATHER_DANCE, MOVE_TEETER_DANCE, MOVE_MUD_SPORT, - MOVE_FAKE_TEARS, MOVE_WATER_SPORT, MOVE_CALM_MIND, MOVE_NONE, + MOVE_FAKE_TEARS, MOVE_WATER_SPORT, MOVE_CALM_MIND, 0, MOVE_POUND, MOVE_SCRATCH, MOVE_VICE_GRIP, MOVE_WING_ATTACK, MOVE_FLY, MOVE_BIND, MOVE_SLAM, @@ -1182,12 +1348,12 @@ static const u16 sUnknownMoveTable[] = MOVE_FORESIGHT, MOVE_CHARM, MOVE_ATTRACT, MOVE_ROCK_SMASH, MOVE_UPROAR, MOVE_SPIT_UP, MOVE_SWALLOW, MOVE_TORMENT, MOVE_FLATTER, MOVE_ROLE_PLAY, MOVE_ENDEAVOR, MOVE_TICKLE, - MOVE_COVET, MOVE_NONE + MOVE_COVET, 0 }; static const u8 sDummyWeirdStatusString[] = {EOS, EOS, EOS, EOS, EOS, EOS, EOS, EOS, 0, 0}; -static const u8 gUnknown_085CD42C[] = +static const u8 sUnknown_085CD42C[] = { 0xFF, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0xF, 0x6, 0x0, 0x0, 0xFF, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0xF, 0x6, 0x0, 0x0, 0xEE, 0x1, 0x0, 0x1, 0x0, @@ -1212,7 +1378,7 @@ static const u8 gUnknown_085CD42C[] = 0x6, 0x0, 0x0, 0x0, 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0x0, 0x0 }; -static const u8 gUnknown_085CD54C[] = +static const u8 sUnknown_085CD54C[] = { 0xFF, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0xF, 0x6, 0x0, 0x0, 0xFF, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0xF, 0x6, 0x0, 0x0, 0xEE, 0x1, 0x0, 0x1, 0x0, @@ -1239,7 +1405,7 @@ static const u8 gUnknown_085CD54C[] = static const u8 * const gUnknown_085CD660[] = { - gUnknown_085CD42C, gUnknown_085CD54C + sUnknown_085CD42C, sUnknown_085CD54C }; static const u8 sRecordedBattleTextSpeeds[] = {8, 4, 1, 0}; @@ -1249,18 +1415,18 @@ void BufferStringBattle(u16 stringID) s32 i; const u8* stringPtr = NULL; - gStringInfo = (struct StringInfoBattle*)(&gBattleBufferA[gActiveBank][4]); + gStringInfo = (struct StringInfoBattle*)(&gBattleBufferA[gActiveBattler][4]); gLastUsedItem = gStringInfo->lastItem; gLastUsedAbility = gStringInfo->lastAbility; - gBattleScripting.bank = gStringInfo->scrActive; + gBattleScripting.battler = gStringInfo->scrActive; *(&gBattleStruct->field_52) = gStringInfo->unk1605E; *(&gBattleStruct->hpScale) = gStringInfo->hpScale; - gStringBank = gStringInfo->StringBank; + gPotentialItemEffectBattler = gStringInfo->StringBank; *(&gBattleStruct->stringMoveType) = gStringInfo->moveType; - for (i = 0; i < BATTLE_BANKS_COUNT; i++) + for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - gAbilitiesPerBank[i] = gStringInfo->abilities[i]; + gBattlerAbilities[i] = gStringInfo->abilities[i]; } for (i = 0; i < TEXT_BUFF_ARRAY_COUNT; i++) { @@ -1320,7 +1486,7 @@ void BufferStringBattle(u16 stringID) } break; case STRINGID_INTROSENDOUT: // poke first send-out - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { @@ -1365,7 +1531,7 @@ void BufferStringBattle(u16 stringID) } break; case STRINGID_RETURNMON: // sending poke to ball msg - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { if (*(&gBattleStruct->hpScale) == 0) stringPtr = gText_PkmnThatsEnough; @@ -1392,7 +1558,7 @@ void BufferStringBattle(u16 stringID) } break; case STRINGID_SWITCHINMON: // switch-in msg - if (GetBankSide(gBattleScripting.bank) == SIDE_PLAYER) + if (GetBattlerSide(gBattleScripting.battler) == B_SIDE_PLAYER) { if (*(&gBattleStruct->hpScale) == 0 || gBattleTypeFlags & BATTLE_TYPE_DOUBLE) stringPtr = gText_GoPkmn2; @@ -1409,7 +1575,7 @@ void BufferStringBattle(u16 stringID) { if (gBattleTypeFlags & BATTLE_TYPE_x800000) { - if (gBattleScripting.bank == 1) + if (gBattleScripting.battler == 1) stringPtr = gText_Trainer1SentOutPkmn2; else stringPtr = gText_Trainer2SentOutPkmn; @@ -1428,7 +1594,7 @@ void BufferStringBattle(u16 stringID) { if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) { - if (gBattleScripting.bank == 1) + if (gBattleScripting.battler == 1) stringPtr = gText_Trainer1SentOutPkmn2; else stringPtr = gText_Trainer2SentOutPkmn; @@ -1452,13 +1618,13 @@ void BufferStringBattle(u16 stringID) stringPtr = gText_AttackerUsedX; break; case STRINGID_BATTLEEND: // battle end - if (gBattleTextBuff1[0] & BATTLE_OUTCOME_BIT_x80) + if (gBattleTextBuff1[0] & B_OUTCOME_LINK_BATTLE_RAN) { - gBattleTextBuff1[0] &= ~(BATTLE_OUTCOME_BIT_x80); - if (GetBankSide(gActiveBank) == SIDE_OPPONENT && gBattleTextBuff1[0] != BATTLE_DREW) - gBattleTextBuff1[0] ^= (BATTLE_LOST | BATTLE_WON); + gBattleTextBuff1[0] &= ~(B_OUTCOME_LINK_BATTLE_RAN); + if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT && gBattleTextBuff1[0] != B_OUTCOME_DREW) + gBattleTextBuff1[0] ^= (B_OUTCOME_LOST | B_OUTCOME_WON); - if (gBattleTextBuff1[0] == BATTLE_LOST || gBattleTextBuff1[0] == BATTLE_DREW) + if (gBattleTextBuff1[0] == B_OUTCOME_LOST || gBattleTextBuff1[0] == B_OUTCOME_DREW) stringPtr = gText_GotAwaySafely; else if (gBattleTypeFlags & BATTLE_TYPE_MULTI) stringPtr = gText_TwoWildFled; @@ -1467,23 +1633,23 @@ void BufferStringBattle(u16 stringID) } else { - if (GetBankSide(gActiveBank) == SIDE_OPPONENT && gBattleTextBuff1[0] != BATTLE_DREW) - gBattleTextBuff1[0] ^= (BATTLE_LOST | BATTLE_WON); + if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT && gBattleTextBuff1[0] != B_OUTCOME_DREW) + gBattleTextBuff1[0] ^= (B_OUTCOME_LOST | B_OUTCOME_WON); if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { switch (gBattleTextBuff1[0]) { - case BATTLE_WON: + case B_OUTCOME_WON: if (gBattleTypeFlags & BATTLE_TYPE_x800000) stringPtr = gText_TwoInGameTrainersDefeated; else stringPtr = gText_TwoLinkTrainersDefeated; break; - case BATTLE_LOST: + case B_OUTCOME_LOST: stringPtr = gText_PlayerLostToTwo; break; - case BATTLE_DREW: + case B_OUTCOME_DREW: stringPtr = gText_PlayerBattledToDrawVsTwo; break; } @@ -1492,13 +1658,13 @@ void BufferStringBattle(u16 stringID) { switch (gBattleTextBuff1[0]) { - case BATTLE_WON: + case B_OUTCOME_WON: stringPtr = gText_PlayerDefeatedLinkTrainerTrainer1; break; - case BATTLE_LOST: + case B_OUTCOME_LOST: stringPtr = gText_PlayerLostAgainstTrainer1; break; - case BATTLE_DREW: + case B_OUTCOME_DREW: stringPtr = gText_PlayerBattledToDrawTrainer1; break; } @@ -1507,13 +1673,13 @@ void BufferStringBattle(u16 stringID) { switch (gBattleTextBuff1[0]) { - case BATTLE_WON: + case B_OUTCOME_WON: stringPtr = gText_PlayerDefeatedLinkTrainer; break; - case BATTLE_LOST: + case B_OUTCOME_LOST: stringPtr = gText_PlayerLostAgainstLinkTrainer; break; - case BATTLE_DREW: + case B_OUTCOME_DREW: stringPtr = gText_PlayerBattledToDrawLinkTrainer; break; } @@ -1573,7 +1739,7 @@ static const u8* TryGetStatusString(u8* src) } #define HANDLE_NICKNAME_STRING_CASE(bank, monIndex) \ - if (GetBankSide(bank) != SIDE_PLAYER) \ + if (GetBattlerSide(bank) != B_SIDE_PLAYER) \ { \ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) \ toCpy = gText_FoePkmnPrefix; \ @@ -1655,80 +1821,80 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst) toCpy = gStringVar3; break; case B_TXT_PLAYER_MON1_NAME: // first player poke name - GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(IDENTITY_PLAYER_MON1)]], + GetMonData(&gPlayerParty[gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case B_TXT_OPPONENT_MON1_NAME: // first enemy poke name - GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(IDENTITY_OPPONENT_MON1)]], + GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case B_TXT_PLAYER_MON2_NAME: // second player poke name - GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(IDENTITY_PLAYER_MON2)]], + GetMonData(&gPlayerParty[gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT)]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case B_TXT_OPPONENT_MON2_NAME: // second enemy poke name - GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(IDENTITY_OPPONENT_MON2)]], + GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT)]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case B_TXT_LINK_PLAYER_MON1_NAME: // link first player poke name - GetMonData(&gPlayerParty[gBattlePartyID[gLinkPlayers[multiplayerID].lp_field_18]], + GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case B_TXT_LINK_OPPONENT_MON1_NAME: // link first opponent poke name - GetMonData(&gEnemyParty[gBattlePartyID[gLinkPlayers[multiplayerID].lp_field_18 ^ 1]], + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18 ^ 1]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case B_TXT_LINK_PLAYER_MON2_NAME: // link second player poke name - GetMonData(&gPlayerParty[gBattlePartyID[gLinkPlayers[multiplayerID].lp_field_18 ^ 2]], + GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18 ^ 2]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case B_TXT_LINK_OPPONENT_MON2_NAME: // link second opponent poke name - GetMonData(&gEnemyParty[gBattlePartyID[gLinkPlayers[multiplayerID].lp_field_18 ^ 3]], + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18 ^ 3]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case B_TXT_ATK_NAME_WITH_PREFIX_MON1: // attacker name with prefix, only bank 0/1 - HANDLE_NICKNAME_STRING_CASE(gBankAttacker, - gBattlePartyID[GetBankByIdentity(GET_BANK_SIDE(gBankAttacker))]) + HANDLE_NICKNAME_STRING_CASE(gBattlerAttacker, + gBattlerPartyIndexes[GetBattlerAtPosition(GET_BATTLER_SIDE(gBattlerAttacker))]) break; case B_TXT_ATK_PARTNER_NAME: // attacker partner name - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) - GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(GET_BANK_SIDE(gBankAttacker)) + 2]], MON_DATA_NICKNAME, text); + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) + GetMonData(&gPlayerParty[gBattlerPartyIndexes[GetBattlerAtPosition(GET_BATTLER_SIDE(gBattlerAttacker)) + 2]], MON_DATA_NICKNAME, text); else - GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(GET_BANK_SIDE(gBankAttacker)) + 2]], MON_DATA_NICKNAME, text); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(GET_BATTLER_SIDE(gBattlerAttacker)) + 2]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case B_TXT_ATK_NAME_WITH_PREFIX: // attacker name with prefix - HANDLE_NICKNAME_STRING_CASE(gBankAttacker, gBattlePartyID[gBankAttacker]) + HANDLE_NICKNAME_STRING_CASE(gBattlerAttacker, gBattlerPartyIndexes[gBattlerAttacker]) break; case B_TXT_DEF_NAME_WITH_PREFIX: // target name with prefix - HANDLE_NICKNAME_STRING_CASE(gBankTarget, gBattlePartyID[gBankTarget]) + HANDLE_NICKNAME_STRING_CASE(gBattlerTarget, gBattlerPartyIndexes[gBattlerTarget]) break; case B_TXT_EFF_NAME_WITH_PREFIX: // effect bank name with prefix - HANDLE_NICKNAME_STRING_CASE(gEffectBank, gBattlePartyID[gEffectBank]) + HANDLE_NICKNAME_STRING_CASE(gEffectBattler, gBattlerPartyIndexes[gEffectBattler]) break; case B_TXT_ACTIVE_NAME_WITH_PREFIX: // active bank name with prefix - HANDLE_NICKNAME_STRING_CASE(gActiveBank, gBattlePartyID[gActiveBank]) + HANDLE_NICKNAME_STRING_CASE(gActiveBattler, gBattlerPartyIndexes[gActiveBattler]) break; case B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX: // scripting active bank name with prefix - HANDLE_NICKNAME_STRING_CASE(gBattleScripting.bank, gBattlePartyID[gBattleScripting.bank]) + HANDLE_NICKNAME_STRING_CASE(gBattleScripting.battler, gBattlerPartyIndexes[gBattleScripting.battler]) break; case B_TXT_CURRENT_MOVE: // current move name if (gStringInfo->currentMove > LAST_MOVE_INDEX) @@ -1736,11 +1902,11 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst) else toCpy = gMoveNames[gStringInfo->currentMove]; break; - case B_TXT_LAST_MOVE: // last used move name - if (gStringInfo->lastMove > LAST_MOVE_INDEX) + case B_TXT_LAST_MOVE: // originally used move name + if (gStringInfo->originallyUsedMove > LAST_MOVE_INDEX) toCpy = gText_UnknownMoveTypes[gBattleStruct->stringMoveType]; else - toCpy = gMoveNames[gStringInfo->lastMove]; + toCpy = gMoveNames[gStringInfo->originallyUsedMove]; break; case B_TXT_LAST_ITEM: // last used item if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) @@ -1749,10 +1915,10 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst) { if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - if ((gBattleScripting.multiplayerId != 0 && (gStringBank & BIT_SIDE)) - || (gBattleScripting.multiplayerId == 0 && !(gStringBank & BIT_SIDE))) + if ((gBattleScripting.multiplayerId != 0 && (gPotentialItemEffectBattler & BIT_SIDE)) + || (gBattleScripting.multiplayerId == 0 && !(gPotentialItemEffectBattler & BIT_SIDE))) { - StringCopy(text, gEnigmaBerries[gStringBank].name); + StringCopy(text, gEnigmaBerries[gPotentialItemEffectBattler].name); StringAppend(text, gText_BerrySuffix); toCpy = text; } @@ -1763,9 +1929,9 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst) } else { - if (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18 == gStringBank) + if (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18 == gPotentialItemEffectBattler) { - StringCopy(text, gEnigmaBerries[gStringBank].name); + StringCopy(text, gEnigmaBerries[gPotentialItemEffectBattler].name); StringAppend(text, gText_BerrySuffix); toCpy = text; } @@ -1789,16 +1955,16 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst) toCpy = gAbilityNames[gLastUsedAbility]; break; case B_TXT_ATK_ABILITY: // attacker ability - toCpy = gAbilityNames[gAbilitiesPerBank[gBankAttacker]]; + toCpy = gAbilityNames[gBattlerAbilities[gBattlerAttacker]]; break; case B_TXT_DEF_ABILITY: // target ability - toCpy = gAbilityNames[gAbilitiesPerBank[gBankTarget]]; + toCpy = gAbilityNames[gBattlerAbilities[gBattlerTarget]]; break; case B_TXT_SCR_ACTIVE_ABILITY: // scripting active ability - toCpy = gAbilityNames[gAbilitiesPerBank[gBattleScripting.bank]]; + toCpy = gAbilityNames[gBattlerAbilities[gBattleScripting.battler]]; break; case B_TXT_EFF_ABILITY: // effect bank ability - toCpy = gAbilityNames[gAbilitiesPerBank[gEffectBank]]; + toCpy = gAbilityNames[gBattlerAbilities[gEffectBattler]]; break; case B_TXT_TRAINER1_CLASS: // trainer class name if (gBattleTypeFlags & BATTLE_TYPE_SECRET_BASE) @@ -1858,16 +2024,16 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst) toCpy = gLinkPlayers[multiplayerID].name; break; case B_TXT_1F: // link partner name? - toCpy = gLinkPlayers[GetBankMultiplayerId(2 ^ gLinkPlayers[multiplayerID].lp_field_18)].name; + toCpy = gLinkPlayers[GetBattlerMultiplayerId(2 ^ gLinkPlayers[multiplayerID].lp_field_18)].name; break; case B_TXT_20: // link opponent 1 name? - toCpy = gLinkPlayers[GetBankMultiplayerId(1 ^ gLinkPlayers[multiplayerID].lp_field_18)].name; + toCpy = gLinkPlayers[GetBattlerMultiplayerId(1 ^ gLinkPlayers[multiplayerID].lp_field_18)].name; break; case B_TXT_21: // link opponent 2 name? - toCpy = gLinkPlayers[GetBankMultiplayerId(3 ^ gLinkPlayers[multiplayerID].lp_field_18)].name; + toCpy = gLinkPlayers[GetBattlerMultiplayerId(3 ^ gLinkPlayers[multiplayerID].lp_field_18)].name; break; case B_TXT_22: // link scripting active name - toCpy = gLinkPlayers[GetBankMultiplayerId(gBattleScripting.bank)].name; + toCpy = gLinkPlayers[GetBattlerMultiplayerId(gBattleScripting.battler)].name; break; case B_TXT_PLAYER_NAME: // player name if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) @@ -1888,7 +2054,7 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst) } else { - toCpy = GetTrainer1LoseText(); + toCpy = GetTrainerALoseText(); } break; case B_TXT_TRAINER1_WIN_TEXT: // trainerA win text @@ -1904,46 +2070,46 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst) } break; case B_TXT_26: // ? - HANDLE_NICKNAME_STRING_CASE(gBattleScripting.bank, *(&gBattleStruct->field_52)) + HANDLE_NICKNAME_STRING_CASE(gBattleScripting.battler, *(&gBattleStruct->field_52)) break; case B_TXT_PC_CREATOR_NAME: // lanette pc - if (FlagGet(SYS_PC_LANETTE)) + if (FlagGet(FLAG_SYS_PC_LANETTE)) toCpy = gText_Lanettes; else toCpy = gText_Someones; break; case B_TXT_ATK_PREFIX2: - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) toCpy = gText_AllyPkmnPrefix2; else toCpy = gText_FoePkmnPrefix3; break; case B_TXT_DEF_PREFIX2: - if (GetBankSide(gBankTarget) == SIDE_PLAYER) + if (GetBattlerSide(gBattlerTarget) == B_SIDE_PLAYER) toCpy = gText_AllyPkmnPrefix2; else toCpy = gText_FoePkmnPrefix3; break; case B_TXT_ATK_PREFIX1: - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) toCpy = gText_AllyPkmnPrefix; else toCpy = gText_FoePkmnPrefix2; break; case B_TXT_DEF_PREFIX1: - if (GetBankSide(gBankTarget) == SIDE_PLAYER) + if (GetBattlerSide(gBattlerTarget) == B_SIDE_PLAYER) toCpy = gText_AllyPkmnPrefix; else toCpy = gText_FoePkmnPrefix2; break; case B_TXT_ATK_PREFIX3: - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) toCpy = gText_AllyPkmnPrefix3; else toCpy = gText_FoePkmnPrefix4; break; case B_TXT_DEF_PREFIX3: - if (GetBankSide(gBankTarget) == SIDE_PLAYER) + if (GetBattlerSide(gBattlerTarget) == B_SIDE_PLAYER) toCpy = gText_AllyPkmnPrefix3; else toCpy = gText_FoePkmnPrefix4; @@ -1985,7 +2151,7 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst) } else { - toCpy = GetTrainer2LoseText(); + toCpy = GetTrainerBLoseText(); } break; case B_TXT_TRAINER2_WIN_TEXT: @@ -2085,7 +2251,7 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) srcID += 2; break; case B_BUFF_MON_NICK_WITH_PREFIX: // poke nick with prefix - if (GetBankSide(src[srcID + 1]) == SIDE_PLAYER) + if (GetBattlerSide(src[srcID + 1]) == B_SIDE_PLAYER) { GetMonData(&gPlayerParty[src[srcID + 2]], MON_DATA_NICKNAME, text); } @@ -2111,14 +2277,14 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) srcID += 3; break; case B_BUFF_MON_NICK: // poke nick without prefix - if (GetBankSide(src[srcID + 1]) == SIDE_PLAYER) + if (GetBattlerSide(src[srcID + 1]) == B_SIDE_PLAYER) GetMonData(&gPlayerParty[src[srcID + 2]], MON_DATA_NICKNAME, dst); else GetMonData(&gEnemyParty[src[srcID + 2]], MON_DATA_NICKNAME, dst); StringGetEnd10(dst); srcID += 3; break; - case B_BUFF_NEGATIVE_FLAVOUR: // flavour table + case B_BUFF_NEGATIVE_FLAVOR: // flavor table StringAppend(dst, gPokeblockWasTooXStringTable[src[srcID + 1]]); srcID += 2; break; @@ -2132,9 +2298,9 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) { if (hword == ITEM_ENIGMA_BERRY) { - if (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18 == gStringBank) + if (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18 == gPotentialItemEffectBattler) { - StringCopy(dst, gEnigmaBerries[gStringBank].name); + StringCopy(dst, gEnigmaBerries[gPotentialItemEffectBattler].name); StringAppend(dst, gText_BerrySuffix); } else @@ -2151,6 +2317,10 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) } } +// Loads one of two text strings into the provided buffer. This is functionally +// unused, since the value loaded into the buffer is not read; it loaded one of +// two particles (either "は" or "の") which works in tandem with sub_814F950 +// below to effect changes in the meaning of the line. static void sub_814F8F8(u8* textBuff) { s32 counter = 0; @@ -2158,7 +2328,7 @@ static void sub_814F8F8(u8* textBuff) while (counter != 4) { - if (sUnknownMoveTable[i] == MOVE_NONE) + if (sUnknownMoveTable[i] == 0) counter++; if (sUnknownMoveTable[i++] == gStringInfo->currentMove) break; @@ -2173,6 +2343,24 @@ static void sub_814F8F8(u8* textBuff) } } +// Appends "!" to the text buffer `dst`. In the original Japanese this looked +// into the table of moves at sUnknownMoveTable and varied the line accordingly. +// +// gText_ExclamationMark was a plain "!", used for any attack not on the list. +// It resulted in the translation "'s !". +// +// gText_ExclamationMark2 was "を つかった!". This resulted in the translation +// " used !", which was used for all attacks in English. +// +// gText_ExclamationMark3 was "した!". This was used for those moves whose +// names were verbs, such as Recover, and resulted in translations like " +// recovered itself!". +// +// gText_ExclamationMark4 was "を した!" This resulted in a translation of +// " did an !". +// +// gText_ExclamationMark5 was " こうげき!" This resulted in a translation of +// "'s attack!". static void sub_814F950(u8* dst) { s32 counter = 0; @@ -2237,7 +2425,7 @@ void BattleHandleAddTextPrinter(const u8 *text, u8 arg1) textSubPrinter.letterSpacing = r8[(12 * arg1) + 4]; textSubPrinter.lineSpacing = r8[(12 * arg1) + 5]; textSubPrinter.fontColor_l = 0; - textSubPrinter.fontColor_h = r8[(12 * arg1) + 7]; + textSubPrinter.fgColor = r8[(12 * arg1) + 7]; textSubPrinter.bgColor = r8[(12 * arg1) + 8]; textSubPrinter.shadowColor = r8[(12 * arg1) + 9]; @@ -2264,9 +2452,9 @@ void BattleHandleAddTextPrinter(const u8 *text, u8 arg1) if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) speed = 1; else if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) - speed = sRecordedBattleTextSpeeds[sub_8185FC4()]; + speed = sRecordedBattleTextSpeeds[GetTextSpeedInRecordedBattle()]; else - speed = sav2_get_text_speed(); + speed = GetPlayerTextSpeed(); gTextFlags.flag_0 = 1; } @@ -2287,10 +2475,10 @@ void BattleHandleAddTextPrinter(const u8 *text, u8 arg1) void SetPpNumbersPaletteInMoveSelection(void) { - struct ChooseMoveStruct *chooseMoveStruct = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBank][4]); + struct ChooseMoveStruct *chooseMoveStruct = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBattler][4]); const u16 *palPtr = gUnknown_08D85620; - u8 var = GetCurrentPpToMaxPpState(chooseMoveStruct->currentPp[gMoveSelectionCursor[gActiveBank]], - chooseMoveStruct->maxPp[gMoveSelectionCursor[gActiveBank]]); + u8 var = GetCurrentPpToMaxPpState(chooseMoveStruct->currentPp[gMoveSelectionCursor[gActiveBattler]], + chooseMoveStruct->maxPp[gMoveSelectionCursor[gActiveBattler]]); gPlttBufferUnfaded[92] = palPtr[(var * 2) + 0]; gPlttBufferUnfaded[91] = palPtr[(var * 2) + 1]; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index c6cec7f0dd..4d40d83a84 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1,20 +1,25 @@ #include "global.h" #include "battle.h" -#include "battle_move_effects.h" +#include "constants/battle_move_effects.h" +#include "constants/battle_script_commands.h" #include "battle_message.h" #include "battle_ai_script_commands.h" -#include "moves.h" -#include "abilities.h" +#include "battle_scripts.h" +#include "constants/moves.h" +#include "constants/abilities.h" #include "item.h" -#include "items.h" -#include "hold_effects.h" +#include "constants/items.h" +#include "constants/hold_effects.h" #include "util.h" #include "pokemon.h" #include "calculate_base_damage.h" -#include "rng.h" +#include "random.h" #include "battle_controllers.h" -#include "species.h" -#include "songs.h" +#include "battle_interface.h" +#include "constants/species.h" +#include "constants/songs.h" +#include "constants/trainers.h" +#include "constants/battle_anim.h" #include "text.h" #include "sound.h" #include "pokedex.h" @@ -34,81 +39,16 @@ #include "pokemon_storage_system.h" #include "task.h" #include "naming_screen.h" -#include "battle_string_ids.h" +#include "constants/battle_string_ids.h" +#include "battle_setup.h" +#include "overworld.h" -// variables - -extern u8 gCritMultiplier; -extern s32 gBattleMoveDamage; -extern u32 gStatuses3[BATTLE_BANKS_COUNT]; -extern u32 gBattleTypeFlags; -extern struct BattleEnigmaBerry gEnigmaBerries[BATTLE_BANKS_COUNT]; -extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; -extern u8 gActiveBank; -extern u32 gBattleExecBuffer; -extern u8 gNoOfAllBanks; -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; -extern u8 gBanksByTurnOrder[BATTLE_BANKS_COUNT]; -extern u8 gActionsByTurnOrder[BATTLE_BANKS_COUNT]; -extern u16 gCurrentMove; -extern u8 gLastUsedAbility; -extern u16 gBattleWeather; -extern u8 gStringBank; -extern u8 gEffectBank; -extern u8 gAbsentBankFlags; -extern u8 gMultiHitCounter; -extern u16 gChosenMovesByBanks[BATTLE_BANKS_COUNT]; -extern u16 gSideAffecting[2]; -extern u16 gPauseCounterBattle; -extern u16 gPaydayMoney; -extern u16 gRandomTurnNumber; -extern u8 gBattleOutcome; -extern u8 gBattleTerrain; -extern u8 gBankAttacker; -extern u8 gBankTarget; -extern const u8* gBattlescriptCurrInstr; -extern u8 gCurrMovePos; -extern u8 gCurrentActionFuncId; -extern u32 gHitMarker; -extern u8 gBattleMoveFlags; -extern u8 gBattleCommunication[]; -extern u16 gUnknown_02024250[4]; -extern u16 gUnknown_02024258[4]; -extern u16 gUnknown_02024260[4]; -extern u8 gUnknown_02024270[4]; -extern u8 gStringBank; -extern u16 gDynamicBasePower; -extern u16 gLastUsedItem; -extern u16 gBattleMovePower; -extern s32 gHpDealt; -extern s32 gTakenDmg[BATTLE_BANKS_COUNT]; -extern u8 gTakenDmgBanks[BATTLE_BANKS_COUNT]; -extern u8 gSentPokesToOpponent[2]; -extern u8 gBank1; -extern u16 gExpShareExp; -extern u8 gLeveledUpInBattle; -extern void (*gBattleMainFunc)(void); -extern u8 gPlayerPartyCount; -extern u16 gMoveToLearn; -extern u16 gRandomMove; -extern u8 gBankInMenu; -extern u8 gActionForBanks[BATTLE_BANKS_COUNT]; -extern u8 gCurrentTurnActionNumber; -extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200]; -extern u16 gLockedMoves[BATTLE_BANKS_COUNT]; -extern u16 gPartnerTrainerId; -extern u16 gLastUsedMove; -extern u16 gUnknownMovesUsedByBanks[BATTLE_BANKS_COUNT]; -extern u16 gLastUsedMovesByBanks[BATTLE_BANKS_COUNT]; -extern u16 gTrainerBattleOpponent_A; -extern u16 gTrainerBattleOpponent_B; -extern u8 gUnknown_020241E9; extern u16 gBattle_BG1_X; extern u16 gBattle_BG1_Y; extern u16 gBattle_BG2_X; extern u16 gBattle_BG2_Y; extern u16 gBattle_BG3_X; -extern struct MusicPlayerInfo gMPlay_BGM; +extern struct MusicPlayerInfo gMPlayInfo_BGM; struct TrainerMoney { @@ -117,19 +57,15 @@ struct TrainerMoney }; extern const struct BattleMove gBattleMoves[]; -extern const struct BaseStats gBaseStats[]; -extern const u8 gTypeEffectiveness[]; -extern const u16 gMissStringIds[]; -extern const u16 gTrappingMoves[]; +extern const u8 gTypeEffectiveness[336]; extern const struct TrainerMoney gTrainerMoneyTable[]; extern const u8* const gBattleScriptsForMoveEffects[]; // functions -extern void sub_81A5718(u8 bank); // battle frontier 2 +extern void sub_81A5718(u8 battlerId); // battle frontier 2 extern void sub_81A56B4(void); // battle frontier 2 extern void sub_81BFA38(struct Pokemon* party, u8 monPartyId, u8 monCount, void (*callback)(void), u16 move); // pokemon summary screen extern u8 sub_81C1B94(void); // pokemon summary screen -extern void IncrementGameStat(u8 statId); // rom_4 extern void sub_81D388C(struct Pokemon* mon, void* statStoreLocation); // pokenav.s extern void sub_81D3640(u8 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); // pokenav.s extern void sub_81D3784(u8 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); // pokenav.s @@ -137,98 +73,14 @@ extern u8* GetMonNickname(struct Pokemon* mon, u8* dst); // party_menu extern u8 sub_81A5258(u8* arg0); // battle frontier 2 extern void sub_81A5BF8(void); // battle frontier 2 extern void sub_81A5D44(void); // battle frontier 2 -extern void sub_81B8E80(u8 bank, u8, u8); // party menu +extern void sub_81B8E80(u8 battlerId, u8, u8); // party menu extern bool8 sub_81B1250(void); // ? -extern u8 GetScaledHPFraction(s16 hp, s16 maxhp, u8 scale); // battle interface extern bool8 InBattlePike(void); extern bool8 InBattlePyramid(void); extern u16 GetBattlePyramidPickupItemId(void); extern u8 sav1_map_get_light_level(void); extern u8 sub_813B21C(void); extern u16 get_unknown_box_id(void); -extern void sub_80356D0(void); - -// BattleScripts -extern const u8 BattleScript_MoveEnd[]; -extern const u8 BattleScript_NoPPForMove[]; -extern const u8 BattleScript_MagicCoatBounce[]; -extern const u8 BattleScript_TookAttack[]; -extern const u8 BattleScript_SnatchedMove[]; -extern const u8 BattleScript_Pausex20[]; -extern const u8 BattleScript_SubstituteFade[]; -extern const u8 BattleScript_HangedOnMsg[]; -extern const u8 BattleScript_OneHitKOMsg[]; -extern const u8 BattleScript_EnduredMsg[]; -extern const u8 BattleScript_PSNPrevention[]; -extern const u8 BattleScript_BRNPrevention[]; -extern const u8 BattleScript_PRLZPrevention[]; -extern const u8 BattleScript_FlinchPrevention[]; -extern const u8 BattleScript_StatUp[]; -extern const u8 BattleScript_StatDown[]; -extern const u8 BattleScript_NoItemSteal[]; -extern const u8 BattleScript_ItemSteal[]; -extern const u8 BattleScript_RapidSpinAway[]; -extern const u8 BattleScript_TargetPRLZHeal[]; -extern const u8 BattleScript_KnockedOff[]; -extern const u8 BattleScript_StickyHoldActivates[]; -extern const u8 BattleScript_AllStatsUp[]; -extern const u8 BattleScript_AtkDefDown[]; -extern const u8 BattleScript_SAtkDown2[]; -extern const u8 BattleScript_LevelUp[]; -extern const u8 BattleScript_WrapFree[]; -extern const u8 BattleScript_LeechSeedFree[]; -extern const u8 BattleScript_SpikesFree[]; -extern const u8 BattleScript_ButItFailed[]; -extern const u8 BattleScript_ObliviousPreventsAttraction[]; -extern const u8 BattleScript_MistProtected[]; -extern const u8 BattleScript_AbilityNoStatLoss[]; -extern const u8 BattleScript_AbilityNoSpecificStatLoss[]; -extern const u8 BattleScript_TrainerBallBlock[]; -extern const u8 BattleScript_WallyBallThrow[]; -extern const u8 BattleScript_SuccessBallThrow[]; -extern const u8 BattleScript_ShakeBallThrow[]; -extern const u8 BattleScript_FaintAttacker[]; -extern const u8 BattleScript_FaintTarget[]; -extern const u8 BattleScript_DestinyBondTakesLife[]; -extern const u8 BattleScript_GrudgeTakesPp[]; -extern const u8 BattleScript_RageIsBuilding[]; -extern const u8 BattleScript_DefrostedViaFireMove[]; -extern const u8 gUnknown_082DB87D[]; -extern const u8 gUnknown_082DAE90[]; -extern const u8 gUnknown_082DAE59[]; -extern const u8 gUnknown_082DAEC7[]; -extern const u8 BattleScript_MoveEffectSleep[]; -extern const u8 BattleScript_MoveEffectPoison[]; -extern const u8 BattleScript_MoveEffectBurn[]; -extern const u8 BattleScript_MoveEffectFreeze[]; -extern const u8 BattleScript_MoveEffectParalysis[]; -extern const u8 BattleScript_MoveEffectToxic[]; -extern const u8 BattleScript_MoveEffectConfusion[]; -extern const u8 BattleScript_MoveEffectUproar[]; -extern const u8 BattleScript_MoveEffectPayDay[]; -extern const u8 BattleScript_MoveEffectWrap[]; -extern const u8 BattleScript_MoveEffectRecoil33[]; -extern const u8 BattleScript_DampStopsExplosion[]; -extern const u8 BattleScript_MistProtected[]; -extern const u8 BattleScript_AbilityNoStatLoss[]; -extern const u8 BattleScript_AbilityNoSpecificStatLoss[]; -extern const u8 BattleScript_ButItFailed[]; -extern const u8 gUnknown_082DADD8[]; -extern const u8 BattleScript_PrintPayDayMoneyString[]; -extern const u8 BattleScript_SturdyPreventsOHKO[]; -extern const u8 BattleScript_ObliviousPreventsAttraction[]; -extern const u8 BattleScript_PauseEffectivenessSoundResultMsgEndMove[]; -extern const u8 BattleScript_CastformChange[]; -extern const u8 BattleScript_TrainerBallBlock[]; -extern const u8 BattleScript_WallyBallThrow[]; -extern const u8 BattleScript_SuccessBallThrow[]; -extern const u8 BattleScript_ShakeBallThrow[]; -extern const u8 BattleScript_PresentDamageTarget[]; -extern const u8 BattleScript_AlreadyAtFullHp[]; -extern const u8 BattleScript_PresentHealTarget[]; -extern const u8 BattleScript_WrapFree[]; -extern const u8 BattleScript_LeechSeedFree[]; -extern const u8 BattleScript_SpikesFree[]; // strings extern const u8 gText_BattleYesNoChoice[]; @@ -243,14 +95,15 @@ extern const u8 gText_BattleYesNoChoice[]; #define BS2ScriptRead16(ptr) ((ptr)[0] + ((ptr)[1] << 8)) #define BS2ScriptReadPtr(ptr) ((void *)BS2ScriptRead32(ptr)) -#define TARGET_PROTECT_AFFECTED ((gProtectStructs[gBankTarget].protected && gBattleMoves[gCurrentMove].flags & FLAG_PROTECT_AFFECTED)) +#define DEFENDER_IS_PROTECTED ((gProtectStructs[gBattlerTarget].protected) && (gBattleMoves[gCurrentMove].flags & FLAG_PROTECT_AFFECTED)) -#define TARGET_TURN_DAMAGED (((gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special))) +#define TARGET_TURN_DAMAGED (gSpecialStatuses[gBattlerTarget].physicalDmg != 0 \ + || gSpecialStatuses[gBattlerTarget].specialDmg != 0) // this file's functions static bool8 IsTwoTurnsMove(u16 move); -static void DestinyBondFlagUpdate(void); -static u8 AttacksThisTurn(u8 bank, u16 move); // Note: returns 1 if it's a charging turn, otherwise 2. +static void TrySetDestinyBondToHappen(void); +static u8 AttacksThisTurn(u8 battlerId, u16 move); // Note: returns 1 if it's a charging turn, otherwise 2. static void CheckWonderGuardAndLevitate(void); static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8, const u8* BS_ptr); static bool32 IsMonGettingExpSentOut(void); @@ -269,41 +122,41 @@ static void atk01_accuracycheck(void); static void atk02_attackstring(void); static void atk03_ppreduce(void); static void atk04_critcalc(void); -static void atk05_damagecalc1(void); +static void atk05_damagecalc(void); static void atk06_typecalc(void); -static void atk07_dmg_adjustment(void); -static void atk08_dmg_adjustment2(void); +static void atk07_adjustnormaldamage(void); +static void atk08_adjustnormaldamage2(void); static void atk09_attackanimation(void); static void atk0A_waitanimation(void); static void atk0B_healthbarupdate(void); static void atk0C_datahpupdate(void); static void atk0D_critmessage(void); -static void atk0E_effectiveness_sound(void); +static void atk0E_effectivenesssound(void); static void atk0F_resultmessage(void); static void atk10_printstring(void); -static void atk11_printstring_playeronly(void); +static void atk11_printselectionstring(void); static void atk12_waitmessage(void); static void atk13_printfromtable(void); -static void atk14_printfromtable_playeronly(void); +static void atk14_printselectionstringfromtable(void); static void atk15_seteffectwithchance(void); static void atk16_seteffectprimary(void); static void atk17_seteffectsecondary(void); -static void atk18_status_effect_clear(void); -static void atk19_faint_pokemon(void); -static void atk1A_faint_animation(void); -static void atk1B_faint_effects_clear(void); +static void atk18_clearstatusfromeffect(void); +static void atk19_tryfaintmon(void); +static void atk1A_dofaintanimation(void); +static void atk1B_cleareffectsonfaint(void); static void atk1C_jumpifstatus(void); static void atk1D_jumpifstatus2(void); static void atk1E_jumpifability(void); static void atk1F_jumpifsideaffecting(void); static void atk20_jumpifstat(void); -static void atk21_jumpifstatus3(void); +static void atk21_jumpifstatus3condition(void); static void atk22_jumpiftype(void); static void atk23_getexp(void); static void atk24(void); -static void atk25_move_values_cleanup(void); -static void atk26_set_multihit(void); -static void atk27_decrement_multihit(void); +static void atk25_movevaluescleanup(void); +static void atk26_setmultihit(void); +static void atk27_decrementmultihit(void); static void atk28_goto(void); static void atk29_jumpifbyte(void); static void atk2A_jumpifhalfword(void); @@ -314,7 +167,7 @@ static void atk2E_setbyte(void); static void atk2F_addbyte(void); static void atk30_subbyte(void); static void atk31_copyarray(void); -static void atk32_copyarray_withindex(void); +static void atk32_copyarraywithindex(void); static void atk33_orbyte(void); static void atk34_orhalfword(void); static void atk35_orword(void); @@ -328,75 +181,75 @@ static void atk3C_return(void); static void atk3D_end(void); static void atk3E_end2(void); static void atk3F_end3(void); -static void atk40_jump_if_move_affected_by_protect(void); +static void atk40_jumpifaffectedbyprotect(void); static void atk41_call(void); static void atk42_jumpiftype2(void); static void atk43_jumpifabilitypresent(void); -static void atk44_end_selection_script(void); +static void atk44_endselectionscript(void); static void atk45_playanimation(void); static void atk46_playanimation2(void); static void atk47_setgraphicalstatchangevalues(void); static void atk48_playstatchangeanimation(void); static void atk49_moveend(void); static void atk4A_typecalc2(void); -static void atk4B_return_atk_to_ball(void); -static void atk4C_copy_poke_data(void); -static void atk4D_switch_data_update(void); -static void atk4E_switchin_anim(void); -static void atk4F_jump_if_cannot_switch(void); +static void atk4B_returnatktoball(void); +static void atk4C_getswitchedmondata(void); +static void atk4D_switchindataupdate(void); +static void atk4E_switchinanim(void); +static void atk4F_jumpifcantswitch(void); static void atk50_openpartyscreen(void); -static void atk51_switch_handle_order(void); -static void atk52_switch_in_effects(void); -static void atk53_trainer_slide(void); -static void atk54_effectiveness_sound(void); -static void atk55_play_fanfare(void); -static void atk56_fainting_cry(void); +static void atk51_switchhandleorder(void); +static void atk52_switchineffects(void); +static void atk53_trainerslidein(void); +static void atk54_playse(void); +static void atk55_fanfare(void); +static void atk56_playfaintcry(void); static void atk57(void); -static void atk58_return_to_ball(void); -static void atk59_learnmove_inbattle(void); +static void atk58_returntoball(void); +static void atk59_handlelearnnewmove(void); static void atk5A_yesnoboxlearnmove(void); static void atk5B_yesnoboxstoplearningmove(void); static void atk5C_hitanimation(void); static void atk5D_getmoneyreward(void); -static void atk5E_8025A70(void); -static void atk5F_8025B24(void); -static void atk60_increment_gamestat(void); -static void atk61_draw_party_status_summary(void); -static void atk62_08025C6C(void); +static void atk5E(void); +static void atk5F(void); +static void atk60_incrementgamestat(void); +static void atk61_drawpartystatussummary(void); +static void atk62(void); static void atk63_jumptorandomattack(void); static void atk64_statusanimation(void); static void atk65_status2animation(void); static void atk66_chosenstatusanimation(void); static void atk67_yesnobox(void); -static void atk68_80246A0(void); -static void atk69_dmg_adjustment3(void); +static void atk68_cancelallactions(void); +static void atk69_adjustsetdamage(void); static void atk6A_removeitem(void); static void atk6B_atknameinbuff1(void); -static void atk6C_draw_lvlupbox(void); -static void atk6D_reset_sentpokes_value(void); -static void atk6E_set_atk_to_player0(void); -static void atk6F_set_visible(void); -static void atk70_record_last_used_ability(void); -static void atk71_buffer_move_to_learn(void); -static void atk72_jump_if_run_attempt_success(void); -static void atk73_hp_thresholds(void); -static void atk74_hp_thresholds2(void); -static void atk75_item_effect_on_opponent(void); +static void atk6C_drawlvlupbox(void); +static void atk6D_resetsentmonsvalue(void); +static void atk6E_setatktoplayer0(void); +static void atk6F_makevisible(void); +static void atk70_recordlastability(void); +static void atk71_buffermovetolearn(void); +static void atk72_jumpifplayerran(void); +static void atk73_hpthresholds(void); +static void atk74_hpthresholds2(void); +static void atk75_useitemonopponent(void); static void atk76_various(void); -static void atk77_set_protect_like(void); +static void atk77_setprotectlike(void); static void atk78_faintifabilitynotdamp(void); static void atk79_setatkhptozero(void); -static void atk7A_jumpwhiletargetvalid(void); -static void atk7B_healhalfHP_if_possible(void); +static void atk7A_jumpifnexttargetvalid(void); +static void atk7B_tryhealhalfhealth(void); static void atk7C_trymirrormove(void); -static void atk7D_set_rain(void); +static void atk7D_setrain(void); static void atk7E_setreflect(void); static void atk7F_setseeded(void); static void atk80_manipulatedamage(void); -static void atk81_setrest(void); +static void atk81_trysetrest(void); static void atk82_jumpifnotfirstturn(void); static void atk83_nop(void); -static void atk84_jump_if_cant_sleep(void); +static void atk84_jumpifcantmakeasleep(void); static void atk85_stockpile(void); static void atk86_stockpiletobasedamage(void); static void atk87_stockpiletohpheal(void); @@ -405,22 +258,22 @@ static void atk89_statbuffchange(void); static void atk8A_normalisebuffs(void); static void atk8B_setbide(void); static void atk8C_confuseifrepeatingattackends(void); -static void atk8D_setmultihit_counter(void); -static void atk8E_init_multihit_string(void); +static void atk8D_setmultihitcounter(void); +static void atk8E_initmultihitstring(void); static void atk8F_forcerandomswitch(void); -static void atk90_conversion_type_change(void); +static void atk90_tryconversiontypechange(void); static void atk91_givepaydaymoney(void); static void atk92_setlightscreen(void); -static void atk93_ko_move(void); +static void atk93_tryKO(void); static void atk94_damagetohalftargethp(void); static void atk95_setsandstorm(void); static void atk96_weatherdamage(void); -static void atk97_try_infatuation(void); -static void atk98_status_icon_update(void); +static void atk97_tryinfatuating(void); +static void atk98_updatestatusicon(void); static void atk99_setmist(void); -static void atk9A_set_focusenergy(void); +static void atk9A_setfocusenergy(void); static void atk9B_transformdataexecution(void); -static void atk9C_set_substitute(void); +static void atk9C_setsubstitute(void); static void atk9D_mimicattackcopy(void); static void atk9E_metronome(void); static void atk9F_dmgtolevel(void); @@ -428,39 +281,39 @@ static void atkA0_psywavedamageeffect(void); static void atkA1_counterdamagecalculator(void); static void atkA2_mirrorcoatdamagecalculator(void); static void atkA3_disablelastusedattack(void); -static void atkA4_setencore(void); +static void atkA4_trysetencore(void); static void atkA5_painsplitdmgcalc(void); static void atkA6_settypetorandomresistance(void); static void atkA7_setalwayshitflag(void); static void atkA8_copymovepermanently(void); -static void atkA9_sleeptalk_choose_move(void); -static void atkAA_set_destinybond(void); -static void atkAB_DestinyBondFlagUpdate(void); +static void atkA9_trychoosesleeptalkmove(void); +static void atkAA_setdestinybond(void); +static void atkAB_trysetdestinybondtohappen(void); static void atkAC_remaininghptopower(void); -static void atkAD_spite_ppreduce(void); -static void atkAE_heal_party_status(void); +static void atkAD_tryspiteppreduce(void); +static void atkAE_healpartystatus(void); static void atkAF_cursetarget(void); -static void atkB0_set_spikes(void); -static void atkB1_set_foresight(void); -static void atkB2_setperishsong(void); +static void atkB0_trysetspikes(void); +static void atkB1_setforesight(void); +static void atkB2_trysetperishsong(void); static void atkB3_rolloutdamagecalculation(void); static void atkB4_jumpifconfusedandstatmaxed(void); static void atkB5_furycuttercalc(void); static void atkB6_happinesstodamagecalculation(void); static void atkB7_presentdamagecalculation(void); -static void atkB8_set_safeguard(void); +static void atkB8_setsafeguard(void); static void atkB9_magnitudedamagecalculation(void); static void atkBA_jumpifnopursuitswitchdmg(void); static void atkBB_setsunny(void); static void atkBC_maxattackhalvehp(void); static void atkBD_copyfoestats(void); static void atkBE_rapidspinfree(void); -static void atkBF_set_defense_curl(void); +static void atkBF_setdefensecurlbit(void); static void atkC0_recoverbasedonsunlight(void); -static void atkC1_hidden_power(void); -static void atkC2_selectnexttarget(void); -static void atkC3_setfutureattack(void); -static void atkC4_beat_up(void); +static void atkC1_hiddenpowercalc(void); +static void atkC2_selectfirstvalidtarget(void); +static void atkC3_trysetfutureattack(void); +static void atkC4_trydobeatup(void); static void atkC5_setsemiinvulnerablebit(void); static void atkC6_clearsemiinvulnerablebit(void); static void atkC7_setminimize(void); @@ -473,46 +326,46 @@ static void atkCD_cureifburnedparalysedorpoisoned(void); static void atkCE_settorment(void); static void atkCF_jumpifnodamage(void); static void atkD0_settaunt(void); -static void atkD1_set_helpinghand(void); -static void atkD2_swap_items(void); -static void atkD3_copy_ability(void); -static void atkD4_wish_effect(void); -static void atkD5_setroots(void); +static void atkD1_trysethelpinghand(void); +static void atkD2_tryswapitems(void); +static void atkD3_trycopyability(void); +static void atkD4_trywish(void); +static void atkD5_trysetroots(void); static void atkD6_doubledamagedealtifdamaged(void); static void atkD7_setyawn(void); static void atkD8_setdamagetohealthdifference(void); static void atkD9_scaledamagebyhealthratio(void); -static void atkDA_abilityswap(void); -static void atkDB_imprisoneffect(void); -static void atkDC_setgrudge(void); +static void atkDA_tryswapabilities(void); +static void atkDB_tryimprision(void); +static void atkDC_trysetgrudge(void); static void atkDD_weightdamagecalculation(void); static void atkDE_asistattackselect(void); -static void atkDF_setmagiccoat(void); -static void atkE0_setstealstatchange(void); -static void atkE1_intimidate_string_loader(void); -static void atkE2_switchout_abilities(void); +static void atkDF_trysetmagiccoat(void); +static void atkE0_trysetsnatch(void); +static void atkE1_trygetintimidatetarget(void); +static void atkE2_switchoutabilities(void); static void atkE3_jumpifhasnohp(void); static void atkE4_getsecretpowereffect(void); static void atkE5_pickup(void); -static void atkE6_castform_change_animation(void); -static void atkE7_castform_data_change(void); +static void atkE6_docastformchangeanimation(void); +static void atkE7_trycastformdatachange(void); static void atkE8_settypebasedhalvers(void); static void atkE9_setweatherballtype(void); -static void atkEA_recycleitem(void); +static void atkEA_tryrecycleitem(void); static void atkEB_settypetoterrain(void); -static void atkEC_pursuit_sth(void); -static void atkED_802B4B4(void); +static void atkEC_pursuitrelated(void); +static void atkEF_snatchsetbanks(void); static void atkEE_removelightscreenreflect(void); -static void atkEF_pokeball_catch_calculation(void); -static void atkF0_give_caught_mon(void); -static void atkF1_set_caught_mon_dex_flags(void); -static void atkF2_display_dex_info(void); -static void atkF3_nickname_caught_poke(void); +static void atkEF_handleballthrow(void); +static void atkF0_givecaughtmon(void); +static void atkF1_trysetcaughtmondexflags(void); +static void atkF2_displaydexinfo(void); +static void atkF3_trygivecaughtmonnick(void); static void atkF4_subattackerhpbydmg(void); static void atkF5_removeattackerstatus1(void); -static void atkF6_action_finished(void); -static void atkF7_turn_finished(void); -static void atkF8_trainer_slide_back(void); +static void atkF6_finishaction(void); +static void atkF7_finishturn(void); +static void atkF8_trainerslideout(void); void (* const gBattleScriptingCommandsTable[])(void) = { @@ -521,41 +374,41 @@ void (* const gBattleScriptingCommandsTable[])(void) = atk02_attackstring, atk03_ppreduce, atk04_critcalc, - atk05_damagecalc1, + atk05_damagecalc, atk06_typecalc, - atk07_dmg_adjustment, - atk08_dmg_adjustment2, + atk07_adjustnormaldamage, + atk08_adjustnormaldamage2, atk09_attackanimation, atk0A_waitanimation, atk0B_healthbarupdate, atk0C_datahpupdate, atk0D_critmessage, - atk0E_effectiveness_sound, + atk0E_effectivenesssound, atk0F_resultmessage, atk10_printstring, - atk11_printstring_playeronly, + atk11_printselectionstring, atk12_waitmessage, atk13_printfromtable, - atk14_printfromtable_playeronly, + atk14_printselectionstringfromtable, atk15_seteffectwithchance, atk16_seteffectprimary, atk17_seteffectsecondary, - atk18_status_effect_clear, - atk19_faint_pokemon, - atk1A_faint_animation, - atk1B_faint_effects_clear, + atk18_clearstatusfromeffect, + atk19_tryfaintmon, + atk1A_dofaintanimation, + atk1B_cleareffectsonfaint, atk1C_jumpifstatus, atk1D_jumpifstatus2, atk1E_jumpifability, atk1F_jumpifsideaffecting, atk20_jumpifstat, - atk21_jumpifstatus3, + atk21_jumpifstatus3condition, atk22_jumpiftype, atk23_getexp, atk24, - atk25_move_values_cleanup, - atk26_set_multihit, - atk27_decrement_multihit, + atk25_movevaluescleanup, + atk26_setmultihit, + atk27_decrementmultihit, atk28_goto, atk29_jumpifbyte, atk2A_jumpifhalfword, @@ -566,7 +419,7 @@ void (* const gBattleScriptingCommandsTable[])(void) = atk2F_addbyte, atk30_subbyte, atk31_copyarray, - atk32_copyarray_withindex, + atk32_copyarraywithindex, atk33_orbyte, atk34_orhalfword, atk35_orword, @@ -580,75 +433,75 @@ void (* const gBattleScriptingCommandsTable[])(void) = atk3D_end, atk3E_end2, atk3F_end3, - atk40_jump_if_move_affected_by_protect, + atk40_jumpifaffectedbyprotect, atk41_call, atk42_jumpiftype2, atk43_jumpifabilitypresent, - atk44_end_selection_script, + atk44_endselectionscript, atk45_playanimation, atk46_playanimation2, atk47_setgraphicalstatchangevalues, atk48_playstatchangeanimation, atk49_moveend, atk4A_typecalc2, - atk4B_return_atk_to_ball, - atk4C_copy_poke_data, - atk4D_switch_data_update, - atk4E_switchin_anim, - atk4F_jump_if_cannot_switch, + atk4B_returnatktoball, + atk4C_getswitchedmondata, + atk4D_switchindataupdate, + atk4E_switchinanim, + atk4F_jumpifcantswitch, atk50_openpartyscreen, - atk51_switch_handle_order, - atk52_switch_in_effects, - atk53_trainer_slide, - atk54_effectiveness_sound, - atk55_play_fanfare, - atk56_fainting_cry, + atk51_switchhandleorder, + atk52_switchineffects, + atk53_trainerslidein, + atk54_playse, + atk55_fanfare, + atk56_playfaintcry, atk57, - atk58_return_to_ball, - atk59_learnmove_inbattle, + atk58_returntoball, + atk59_handlelearnnewmove, atk5A_yesnoboxlearnmove, atk5B_yesnoboxstoplearningmove, atk5C_hitanimation, atk5D_getmoneyreward, - atk5E_8025A70, - atk5F_8025B24, - atk60_increment_gamestat, - atk61_draw_party_status_summary, - atk62_08025C6C, + atk5E, + atk5F, + atk60_incrementgamestat, + atk61_drawpartystatussummary, + atk62, atk63_jumptorandomattack, atk64_statusanimation, atk65_status2animation, atk66_chosenstatusanimation, atk67_yesnobox, - atk68_80246A0, - atk69_dmg_adjustment3, + atk68_cancelallactions, + atk69_adjustsetdamage, atk6A_removeitem, atk6B_atknameinbuff1, - atk6C_draw_lvlupbox, - atk6D_reset_sentpokes_value, - atk6E_set_atk_to_player0, - atk6F_set_visible, - atk70_record_last_used_ability, - atk71_buffer_move_to_learn, - atk72_jump_if_run_attempt_success, - atk73_hp_thresholds, - atk74_hp_thresholds2, - atk75_item_effect_on_opponent, + atk6C_drawlvlupbox, + atk6D_resetsentmonsvalue, + atk6E_setatktoplayer0, + atk6F_makevisible, + atk70_recordlastability, + atk71_buffermovetolearn, + atk72_jumpifplayerran, + atk73_hpthresholds, + atk74_hpthresholds2, + atk75_useitemonopponent, atk76_various, - atk77_set_protect_like, + atk77_setprotectlike, atk78_faintifabilitynotdamp, atk79_setatkhptozero, - atk7A_jumpwhiletargetvalid, - atk7B_healhalfHP_if_possible, + atk7A_jumpifnexttargetvalid, + atk7B_tryhealhalfhealth, atk7C_trymirrormove, - atk7D_set_rain, + atk7D_setrain, atk7E_setreflect, atk7F_setseeded, atk80_manipulatedamage, - atk81_setrest, + atk81_trysetrest, atk82_jumpifnotfirstturn, atk83_nop, - atk84_jump_if_cant_sleep, + atk84_jumpifcantmakeasleep, atk85_stockpile, atk86_stockpiletobasedamage, atk87_stockpiletohpheal, @@ -657,22 +510,22 @@ void (* const gBattleScriptingCommandsTable[])(void) = atk8A_normalisebuffs, atk8B_setbide, atk8C_confuseifrepeatingattackends, - atk8D_setmultihit_counter, - atk8E_init_multihit_string, + atk8D_setmultihitcounter, + atk8E_initmultihitstring, atk8F_forcerandomswitch, - atk90_conversion_type_change, + atk90_tryconversiontypechange, atk91_givepaydaymoney, atk92_setlightscreen, - atk93_ko_move, + atk93_tryKO, atk94_damagetohalftargethp, atk95_setsandstorm, atk96_weatherdamage, - atk97_try_infatuation, - atk98_status_icon_update, + atk97_tryinfatuating, + atk98_updatestatusicon, atk99_setmist, - atk9A_set_focusenergy, + atk9A_setfocusenergy, atk9B_transformdataexecution, - atk9C_set_substitute, + atk9C_setsubstitute, atk9D_mimicattackcopy, atk9E_metronome, atk9F_dmgtolevel, @@ -680,39 +533,39 @@ void (* const gBattleScriptingCommandsTable[])(void) = atkA1_counterdamagecalculator, atkA2_mirrorcoatdamagecalculator, atkA3_disablelastusedattack, - atkA4_setencore, + atkA4_trysetencore, atkA5_painsplitdmgcalc, atkA6_settypetorandomresistance, atkA7_setalwayshitflag, atkA8_copymovepermanently, - atkA9_sleeptalk_choose_move, - atkAA_set_destinybond, - atkAB_DestinyBondFlagUpdate, + atkA9_trychoosesleeptalkmove, + atkAA_setdestinybond, + atkAB_trysetdestinybondtohappen, atkAC_remaininghptopower, - atkAD_spite_ppreduce, - atkAE_heal_party_status, + atkAD_tryspiteppreduce, + atkAE_healpartystatus, atkAF_cursetarget, - atkB0_set_spikes, - atkB1_set_foresight, - atkB2_setperishsong, + atkB0_trysetspikes, + atkB1_setforesight, + atkB2_trysetperishsong, atkB3_rolloutdamagecalculation, atkB4_jumpifconfusedandstatmaxed, atkB5_furycuttercalc, atkB6_happinesstodamagecalculation, atkB7_presentdamagecalculation, - atkB8_set_safeguard, + atkB8_setsafeguard, atkB9_magnitudedamagecalculation, atkBA_jumpifnopursuitswitchdmg, atkBB_setsunny, atkBC_maxattackhalvehp, atkBD_copyfoestats, atkBE_rapidspinfree, - atkBF_set_defense_curl, + atkBF_setdefensecurlbit, atkC0_recoverbasedonsunlight, - atkC1_hidden_power, - atkC2_selectnexttarget, - atkC3_setfutureattack, - atkC4_beat_up, + atkC1_hiddenpowercalc, + atkC2_selectfirstvalidtarget, + atkC3_trysetfutureattack, + atkC4_trydobeatup, atkC5_setsemiinvulnerablebit, atkC6_clearsemiinvulnerablebit, atkC7_setminimize, @@ -725,46 +578,46 @@ void (* const gBattleScriptingCommandsTable[])(void) = atkCE_settorment, atkCF_jumpifnodamage, atkD0_settaunt, - atkD1_set_helpinghand, - atkD2_swap_items, - atkD3_copy_ability, - atkD4_wish_effect, - atkD5_setroots, + atkD1_trysethelpinghand, + atkD2_tryswapitems, + atkD3_trycopyability, + atkD4_trywish, + atkD5_trysetroots, atkD6_doubledamagedealtifdamaged, atkD7_setyawn, atkD8_setdamagetohealthdifference, atkD9_scaledamagebyhealthratio, - atkDA_abilityswap, - atkDB_imprisoneffect, - atkDC_setgrudge, + atkDA_tryswapabilities, + atkDB_tryimprision, + atkDC_trysetgrudge, atkDD_weightdamagecalculation, atkDE_asistattackselect, - atkDF_setmagiccoat, - atkE0_setstealstatchange, - atkE1_intimidate_string_loader, - atkE2_switchout_abilities, + atkDF_trysetmagiccoat, + atkE0_trysetsnatch, + atkE1_trygetintimidatetarget, + atkE2_switchoutabilities, atkE3_jumpifhasnohp, atkE4_getsecretpowereffect, atkE5_pickup, - atkE6_castform_change_animation, - atkE7_castform_data_change, + atkE6_docastformchangeanimation, + atkE7_trycastformdatachange, atkE8_settypebasedhalvers, atkE9_setweatherballtype, - atkEA_recycleitem, + atkEA_tryrecycleitem, atkEB_settypetoterrain, - atkEC_pursuit_sth, - atkED_802B4B4, + atkEC_pursuitrelated, + atkEF_snatchsetbanks, atkEE_removelightscreenreflect, - atkEF_pokeball_catch_calculation, - atkF0_give_caught_mon, - atkF1_set_caught_mon_dex_flags, - atkF2_display_dex_info, - atkF3_nickname_caught_poke, + atkEF_handleballthrow, + atkF0_givecaughtmon, + atkF1_trysetcaughtmondexflags, + atkF2_displaydexinfo, + atkF3_trygivecaughtmonnick, atkF4_subattackerhpbydmg, atkF5_removeattackerstatus1, - atkF6_action_finished, - atkF7_turn_finished, - atkF8_trainer_slide_back + atkF6_finishaction, + atkF7_finishturn, + atkF8_trainerslideout }; struct StatFractions @@ -796,12 +649,12 @@ static const u16 sCriticalHitChance[] = {16, 8, 4, 3, 2}; static const u32 sStatusFlagsForMoveEffects[] = { 0x00000000, - STATUS_SLEEP, - STATUS_POISON, - STATUS_BURN, - STATUS_FREEZE, - STATUS_PARALYSIS, - STATUS_TOXIC_POISON, + STATUS1_SLEEP, + STATUS1_POISON, + STATUS1_BURN, + STATUS1_FREEZE, + STATUS1_PARALYSIS, + STATUS1_TOXIC_POISON, STATUS2_CONFUSION, STATUS2_FLINCHED, 0x00000000, @@ -828,7 +681,7 @@ static const u32 sStatusFlagsForMoveEffects[] = 0x00000000, 0x00000000, STATUS2_ESCAPE_PREVENTION, - 0x08000000, + STATUS2_NIGHTMARE, 0x00000000, 0x00000000, 0x00000000, @@ -1037,11 +890,11 @@ static const u16 sRarePickupItems[] = ITEM_FULL_RESTORE, ITEM_ETHER, ITEM_WHITE_HERB, - ITEM_TM44, + ITEM_TM44_REST, ITEM_ELIXIR, - ITEM_TM01, + ITEM_TM01_FOCUS_PUNCH, ITEM_LEFTOVERS, - ITEM_TM26, + ITEM_TM26_EARTHQUAKE, }; static const u8 sPickupProbabilities[] = @@ -1068,22 +921,33 @@ static const u8 sBallCatchBonuses[] = 20, 15, 10, 15 // Ultra, Great, Poke, Safari }; -// could be a 2d array or a struct -const ALIGNED(4) u8 gUnknown_0831C494[] = +const ALIGNED(4) u8 gUnknown_0831C494[][4] = { - 0x3d, 0x44, 0x3d, 0x44, 0x14, 0x2d, 0x54, 0x5c, - 0x46, 0x55, 0x20, 0x5c, 0x26, 0x45, 0x46, 0x55, - 0x14, 0x5a, 0x46, 0x5c, 0x1e, 0x32, 0x20, 0x5a, - 0x38, 0x4e, 0x38, 0x4e, 0x19, 0x28, 0x4b, 0x5a, - 0x45, 0x4b, 0x1c, 0x53, 0x23, 0x2d, 0x1d, 0x23, - 0x3e, 0x48, 0x1e, 0x32, 0x3a, 0x5f, 0x58, 0x5e, - 0x22, 0x2d, 0x1d, 0x28, 0x23, 0x28, 0x23, 0x5f, - 0x38, 0x4e, 0x38, 0x4e, 0x23, 0x50, 0x22, 0x5e, - 0x2c, 0x5e, 0x22, 0x28, 0x38, 0x4e, 0x38, 0x4e, - 0x1e, 0x58, 0x1e, 0x58, 0x1e, 0x2b, 0x1b, 0x21, - 0x28, 0x5a, 0x19, 0x57, 0x12, 0x58, 0x5a, 0x5f, - 0x58, 0x5e, 0x16, 0x2a, 0x2a, 0x5c, 0x2a, 0x2f, - 0x38, 0x4e, 0x38, 0x4e + {0x3d, 0x44, 0x3d, 0x44}, + {0x14, 0x2d, 0x54, 0x5c}, + {0x46, 0x55, 0x20, 0x5c}, + {0x26, 0x45, 0x46, 0x55}, + {0x14, 0x5a, 0x46, 0x5c}, + {0x1e, 0x32, 0x20, 0x5a}, + {0x38, 0x4e, 0x38, 0x4e}, + {0x19, 0x28, 0x4b, 0x5a}, + {0x45, 0x4b, 0x1c, 0x53}, + {0x23, 0x2d, 0x1d, 0x23}, + {0x3e, 0x48, 0x1e, 0x32}, + {0x3a, 0x5f, 0x58, 0x5e}, + {0x22, 0x2d, 0x1d, 0x28}, + {0x23, 0x28, 0x23, 0x5f}, + {0x38, 0x4e, 0x38, 0x4e}, + {0x23, 0x50, 0x22, 0x5e}, + {0x2c, 0x5e, 0x22, 0x28}, + {0x38, 0x4e, 0x38, 0x4e}, + {0x1e, 0x58, 0x1e, 0x58}, + {0x1e, 0x2b, 0x1b, 0x21}, + {0x28, 0x5a, 0x19, 0x57}, + {0x12, 0x58, 0x5a, 0x5f}, + {0x58, 0x5e, 0x16, 0x2a}, + {0x2a, 0x5c, 0x2a, 0x2f}, + {0x38, 0x4e, 0x38, 0x4e} }; static const u8 sUnknown_0831C4F8[] = @@ -1100,10 +964,10 @@ static void atk00_attackcanceler(void) if (gBattleOutcome != 0) { - gCurrentActionFuncId = ACTION_FINISHED; + gCurrentActionFuncId = B_ACTION_FINISHED; return; } - if (gBattleMons[gBankAttacker].hp == 0 && !(gHitMarker & HITMARKER_NO_ATTACKSTRING)) + if (gBattleMons[gBattlerAttacker].hp == 0 && !(gHitMarker & HITMARKER_NO_ATTACKSTRING)) { gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; gBattlescriptCurrInstr = BattleScript_MoveEnd; @@ -1111,21 +975,21 @@ static void atk00_attackcanceler(void) } if (AtkCanceller_UnableToUseMove()) return; - if (AbilityBattleEffects(ABILITYEFFECT_MOVES_BLOCK, gBankTarget, 0, 0, 0)) + if (AbilityBattleEffects(ABILITYEFFECT_MOVES_BLOCK, gBattlerTarget, 0, 0, 0)) return; - if (!gBattleMons[gBankAttacker].pp[gCurrMovePos] && gCurrentMove != MOVE_STRUGGLE && !(gHitMarker & 0x800200) - && !(gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS)) + if (!gBattleMons[gBattlerAttacker].pp[gCurrMovePos] && gCurrentMove != MOVE_STRUGGLE && !(gHitMarker & 0x800200) + && !(gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS)) { gBattlescriptCurrInstr = BattleScript_NoPPForMove; - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; return; } gHitMarker &= ~(HITMARKER_x800000); - if (!(gHitMarker & HITMARKER_OBEYS) && !(gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS)) + if (!(gHitMarker & HITMARKER_OBEYS) && !(gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS)) { - i = IsPokeDisobedient(); // why use the 'i' variable...? + i = IsMonDisobedient(); // why use the 'i' variable...? switch (i) { case 0: @@ -1134,51 +998,51 @@ static void atk00_attackcanceler(void) gHitMarker |= HITMARKER_OBEYS; return; default: - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; return; } } gHitMarker |= HITMARKER_OBEYS; - if (gProtectStructs[gBankTarget].bounceMove && gBattleMoves[gCurrentMove].flags & FLAG_MAGICCOAT_AFFECTED) + if (gProtectStructs[gBattlerTarget].bounceMove && gBattleMoves[gCurrentMove].flags & FLAG_MAGICCOAT_AFFECTED) { - PressurePPLose(gBankAttacker, gBankTarget, MOVE_MAGIC_COAT); - gProtectStructs[gBankTarget].bounceMove = 0; + PressurePPLose(gBattlerAttacker, gBattlerTarget, MOVE_MAGIC_COAT); + gProtectStructs[gBattlerTarget].bounceMove = 0; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MagicCoatBounce; return; } - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - if ((gProtectStructs[gBanksByTurnOrder[i]].stealMove) && gBattleMoves[gCurrentMove].flags & FLAG_SNATCH_AFFECTED) + if ((gProtectStructs[gBattleTurnOrder[i]].stealMove) && gBattleMoves[gCurrentMove].flags & FLAG_SNATCH_AFFECTED) { - PressurePPLose(gBankAttacker, gBanksByTurnOrder[i], MOVE_SNATCH); - gProtectStructs[gBanksByTurnOrder[i]].stealMove = 0; - gBattleScripting.bank = gBanksByTurnOrder[i]; + PressurePPLose(gBattlerAttacker, gBattleTurnOrder[i], MOVE_SNATCH); + gProtectStructs[gBattleTurnOrder[i]].stealMove = 0; + gBattleScripting.battler = gBattleTurnOrder[i]; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SnatchedMove; return; } } - if (gSpecialStatuses[gBankTarget].lightningRodRedirected) + if (gSpecialStatuses[gBattlerTarget].lightningRodRedirected) { - gSpecialStatuses[gBankTarget].lightningRodRedirected = 0; + gSpecialStatuses[gBattlerTarget].lightningRodRedirected = 0; gLastUsedAbility = ABILITY_LIGHTNING_ROD; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_TookAttack; - RecordAbilityBattle(gBankTarget, gLastUsedAbility); + RecordAbilityBattle(gBattlerTarget, gLastUsedAbility); } - else if (TARGET_PROTECT_AFFECTED - && (gCurrentMove != MOVE_CURSE || (gBattleMons[gBankAttacker].type1 == TYPE_GHOST || gBattleMons[gBankAttacker].type2 == TYPE_GHOST)) - && ((!IsTwoTurnsMove(gCurrentMove) || (gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS)))) + else if (DEFENDER_IS_PROTECTED + && (gCurrentMove != MOVE_CURSE || (gBattleMons[gBattlerAttacker].type1 == TYPE_GHOST || gBattleMons[gBattlerAttacker].type2 == TYPE_GHOST)) + && ((!IsTwoTurnsMove(gCurrentMove) || (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS)))) { - CancelMultiTurnMoves(gBankAttacker); - gBattleMoveFlags |= MOVESTATUS_MISSED; - gUnknown_02024250[gBankTarget] = 0; - gUnknown_02024258[gBankTarget] = 0; + CancelMultiTurnMoves(gBattlerAttacker); + gMoveResultFlags |= MOVE_RESULT_MISSED; + gLastLandedMoves[gBattlerTarget] = 0; + gLastHitByType[gBattlerTarget] = 0; gBattleCommunication[6] = 1; gBattlescriptCurrInstr++; } @@ -1190,27 +1054,27 @@ static void atk00_attackcanceler(void) static void JumpIfMoveFailed(u8 adder, u16 move) { - const void* BS_ptr = gBattlescriptCurrInstr + adder; - if (gBattleMoveFlags & MOVESTATUS_NOEFFECT) + const u8 *BS_ptr = gBattlescriptCurrInstr + adder; + if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT) { - gUnknown_02024250[gBankTarget] = 0; - gUnknown_02024258[gBankTarget] = 0; + gLastLandedMoves[gBattlerTarget] = 0; + gLastHitByType[gBattlerTarget] = 0; BS_ptr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } else { - DestinyBondFlagUpdate(); - if (AbilityBattleEffects(ABILITYEFFECT_ABSORBING, gBankTarget, 0, 0, move)) + TrySetDestinyBondToHappen(); + if (AbilityBattleEffects(ABILITYEFFECT_ABSORBING, gBattlerTarget, 0, 0, move)) return; } gBattlescriptCurrInstr = BS_ptr; } -static void atk40_jump_if_move_affected_by_protect(void) +static void atk40_jumpifaffectedbyprotect(void) { - if (TARGET_PROTECT_AFFECTED) + if (DEFENDER_IS_PROTECTED) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; JumpIfMoveFailed(5, 0); gBattleCommunication[6] = 1; } @@ -1223,9 +1087,9 @@ static void atk40_jump_if_move_affected_by_protect(void) bool8 JumpIfMoveAffectedByProtect(u16 move) { bool8 affected = FALSE; - if (TARGET_PROTECT_AFFECTED) + if (DEFENDER_IS_PROTECTED) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; JumpIfMoveFailed(7, move); gBattleCommunication[6] = 1; affected = TRUE; @@ -1233,35 +1097,35 @@ bool8 JumpIfMoveAffectedByProtect(u16 move) return affected; } -bool8 AccuracyCalcHelper(u16 move) +static bool8 AccuracyCalcHelper(u16 move) { - if (gStatuses3[gBankTarget] & STATUS3_ALWAYS_HITS && gDisableStructs[gBankTarget].bankWithSureHit == gBankAttacker) + if (gStatuses3[gBattlerTarget] & STATUS3_ALWAYS_HITS && gDisableStructs[gBattlerTarget].battlerWithSureHit == gBattlerAttacker) { JumpIfMoveFailed(7, move); return TRUE; } - if (!(gHitMarker & HITMARKER_IGNORE_ON_AIR) && gStatuses3[gBankTarget] & STATUS3_ON_AIR) + if (!(gHitMarker & HITMARKER_IGNORE_ON_AIR) && gStatuses3[gBattlerTarget] & STATUS3_ON_AIR) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; JumpIfMoveFailed(7, move); return TRUE; } gHitMarker &= ~HITMARKER_IGNORE_ON_AIR; - if (!(gHitMarker & HITMARKER_IGNORE_UNDERGROUND) && gStatuses3[gBankTarget] & STATUS3_UNDERGROUND) + if (!(gHitMarker & HITMARKER_IGNORE_UNDERGROUND) && gStatuses3[gBattlerTarget] & STATUS3_UNDERGROUND) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; JumpIfMoveFailed(7, move); return TRUE; } gHitMarker &= ~HITMARKER_IGNORE_UNDERGROUND; - if (!(gHitMarker & HITMARKER_IGNORE_UNDERWATER) && gStatuses3[gBankTarget] & STATUS3_UNDERWATER) + if (!(gHitMarker & HITMARKER_IGNORE_UNDERWATER) && gStatuses3[gBattlerTarget] & STATUS3_UNDERWATER) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; JumpIfMoveFailed(7, move); return TRUE; } @@ -1284,16 +1148,16 @@ static void atk01_accuracycheck(void) if (move == 0xFFFE || move == 0xFFFF) { - if (gStatuses3[gBankTarget] & STATUS3_ALWAYS_HITS && move == 0xFFFF && gDisableStructs[gBankTarget].bankWithSureHit == gBankAttacker) + if (gStatuses3[gBattlerTarget] & STATUS3_ALWAYS_HITS && move == 0xFFFF && gDisableStructs[gBattlerTarget].battlerWithSureHit == gBattlerAttacker) gBattlescriptCurrInstr += 7; - else if (gStatuses3[gBankTarget] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER)) + else if (gStatuses3[gBattlerTarget] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER)) gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); else if (!JumpIfMoveAffectedByProtect(0)) gBattlescriptCurrInstr += 7; } else { - u8 type, moveAcc, holdEffect, quality; + u8 type, moveAcc, holdEffect, param; s8 buff; u16 calc; @@ -1307,15 +1171,15 @@ static void atk01_accuracycheck(void) if (AccuracyCalcHelper(move)) return; - if (gBattleMons[gBankTarget].status2 & STATUS2_FORESIGHT) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_FORESIGHT) { - u8 acc = gBattleMons[gBankAttacker].statStages[STAT_STAGE_ACC]; + u8 acc = gBattleMons[gBattlerAttacker].statStages[STAT_ACC]; buff = acc; } else { - u8 acc = gBattleMons[gBankAttacker].statStages[STAT_STAGE_ACC]; - buff = acc + 6 - gBattleMons[gBankTarget].statStages[STAT_STAGE_EVASION]; + u8 acc = gBattleMons[gBattlerAttacker].statStages[STAT_ACC]; + buff = acc + 6 - gBattleMons[gBattlerTarget].statStages[STAT_EVASION]; } if (buff < 0) @@ -1331,33 +1195,33 @@ static void atk01_accuracycheck(void) calc = sAccuracyStageRatios[buff].dividend * moveAcc; calc /= sAccuracyStageRatios[buff].divisor; - if (gBattleMons[gBankAttacker].ability == ABILITY_COMPOUND_EYES) + if (gBattleMons[gBattlerAttacker].ability == ABILITY_COMPOUND_EYES) calc = (calc * 130) / 100; // 1.3 compound eyes boost - if (WEATHER_HAS_EFFECT && gBattleMons[gBankTarget].ability == ABILITY_SAND_VEIL && gBattleWeather & WEATHER_SANDSTORM_ANY) + if (WEATHER_HAS_EFFECT && gBattleMons[gBattlerTarget].ability == ABILITY_SAND_VEIL && gBattleWeather & WEATHER_SANDSTORM_ANY) calc = (calc * 80) / 100; // 1.2 sand veil loss - if (gBattleMons[gBankAttacker].ability == ABILITY_HUSTLE && type < 9) + if (gBattleMons[gBattlerAttacker].ability == ABILITY_HUSTLE && type < 9) calc = (calc * 80) / 100; // 1.2 hustle loss - if (gBattleMons[gBankTarget].item == ITEM_ENIGMA_BERRY) + if (gBattleMons[gBattlerTarget].item == ITEM_ENIGMA_BERRY) { - holdEffect = gEnigmaBerries[gBankTarget].holdEffect; - quality = gEnigmaBerries[gBankTarget].holdEffectParam; + holdEffect = gEnigmaBerries[gBattlerTarget].holdEffect; + param = gEnigmaBerries[gBattlerTarget].holdEffectParam; } else { - holdEffect = ItemId_GetHoldEffect(gBattleMons[gBankTarget].item); - quality = ItemId_GetHoldEffectParam(gBattleMons[gBankTarget].item); + holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattlerTarget].item); + param = ItemId_GetHoldEffectParam(gBattleMons[gBattlerTarget].item); } - gStringBank = gBankTarget; + gPotentialItemEffectBattler = gBattlerTarget; if (holdEffect == HOLD_EFFECT_EVASION_UP) - calc = (calc * (100 - quality)) / 100; + calc = (calc * (100 - param)) / 100; // final calculation if ((Random() % 100 + 1) > calc) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && (gBattleMoves[move].target == MOVE_TARGET_BOTH || gBattleMoves[move].target == MOVE_TARGET_FOES_AND_ALLY)) gBattleCommunication[6] = 2; @@ -1372,11 +1236,11 @@ static void atk01_accuracycheck(void) static void atk02_attackstring(void) { - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; if (!(gHitMarker & (HITMARKER_NO_ATTACKSTRING | HITMARKER_ATTACKSTRING_PRINTED))) { - PrepareStringBattle(STRINGID_USEDMOVE, gBankAttacker); + PrepareStringBattle(STRINGID_USEDMOVE, gBattlerAttacker); gHitMarker |= HITMARKER_ATTACKSTRING_PRINTED; } gBattlescriptCurrInstr++; @@ -1387,42 +1251,42 @@ static void atk03_ppreduce(void) { s32 ppToDeduct = 1; - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; - if (!gSpecialStatuses[gBankAttacker].flag20) + if (!gSpecialStatuses[gBattlerAttacker].flag20) { switch (gBattleMoves[gCurrentMove].target) { case MOVE_TARGET_FOES_AND_ALLY: - ppToDeduct += AbilityBattleEffects(ABILITYEFFECT_COUNT_ON_FIELD, gBankAttacker, ABILITY_PRESSURE, 0, 0); + ppToDeduct += AbilityBattleEffects(ABILITYEFFECT_COUNT_ON_FIELD, gBattlerAttacker, ABILITY_PRESSURE, 0, 0); break; case MOVE_TARGET_BOTH: case MOVE_TARGET_OPPONENTS_FIELD: - ppToDeduct += AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIDE, gBankAttacker, ABILITY_PRESSURE, 0, 0); + ppToDeduct += AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIDE, gBattlerAttacker, ABILITY_PRESSURE, 0, 0); break; default: - if (gBankAttacker != gBankTarget && gBattleMons[gBankTarget].ability == ABILITY_PRESSURE) + if (gBattlerAttacker != gBattlerTarget && gBattleMons[gBattlerTarget].ability == ABILITY_PRESSURE) ppToDeduct++; break; } } - if (!(gHitMarker & (HITMARKER_NO_PPDEDUCT | HITMARKER_NO_ATTACKSTRING)) && gBattleMons[gBankAttacker].pp[gCurrMovePos]) + if (!(gHitMarker & (HITMARKER_NO_PPDEDUCT | HITMARKER_NO_ATTACKSTRING)) && gBattleMons[gBattlerAttacker].pp[gCurrMovePos]) { - gProtectStructs[gBankAttacker].notFirstStrike = 1; + gProtectStructs[gBattlerAttacker].notFirstStrike = 1; - if (gBattleMons[gBankAttacker].pp[gCurrMovePos] > ppToDeduct) - gBattleMons[gBankAttacker].pp[gCurrMovePos] -= ppToDeduct; + if (gBattleMons[gBattlerAttacker].pp[gCurrMovePos] > ppToDeduct) + gBattleMons[gBattlerAttacker].pp[gCurrMovePos] -= ppToDeduct; else - gBattleMons[gBankAttacker].pp[gCurrMovePos] = 0; + gBattleMons[gBattlerAttacker].pp[gCurrMovePos] = 0; - if (!(gBattleMons[gBankAttacker].status2 & STATUS2_TRANSFORMED) - && !((gDisableStructs[gBankAttacker].unk18_b) & gBitTable[gCurrMovePos])) + if (!(gBattleMons[gBattlerAttacker].status2 & STATUS2_TRANSFORMED) + && !((gDisableStructs[gBattlerAttacker].unk18_b) & gBitTable[gCurrMovePos])) { - gActiveBank = gBankAttacker; - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + gCurrMovePos, 0, 1, &gBattleMons[gBankAttacker].pp[gCurrMovePos]); - MarkBufferBankForExecution(gBankAttacker); + gActiveBattler = gBattlerAttacker; + BtlController_EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + gCurrMovePos, 0, 1, &gBattleMons[gBattlerAttacker].pp[gCurrMovePos]); + MarkBattlerForControllerExec(gBattlerAttacker); } } @@ -1435,29 +1299,29 @@ static void atk04_critcalc(void) u8 holdEffect; u16 item, critChance; - item = gBattleMons[gBankAttacker].item; + item = gBattleMons[gBattlerAttacker].item; if (item == ITEM_ENIGMA_BERRY) - holdEffect = gEnigmaBerries[gBankAttacker].holdEffect; + holdEffect = gEnigmaBerries[gBattlerAttacker].holdEffect; else holdEffect = ItemId_GetHoldEffect(item); - gStringBank = gBankAttacker; + gPotentialItemEffectBattler = gBattlerAttacker; - critChance = 2 * ((gBattleMons[gBankAttacker].status2 & STATUS2_FOCUS_ENERGY) != 0) + critChance = 2 * ((gBattleMons[gBattlerAttacker].status2 & STATUS2_FOCUS_ENERGY) != 0) + (gBattleMoves[gCurrentMove].effect == EFFECT_HIGH_CRITICAL) + (gBattleMoves[gCurrentMove].effect == EFFECT_SKY_ATTACK) + (gBattleMoves[gCurrentMove].effect == EFFECT_BLAZE_KICK) + (gBattleMoves[gCurrentMove].effect == EFFECT_POISON_TAIL) + (holdEffect == HOLD_EFFECT_SCOPE_LENS) - + 2 * (holdEffect == HOLD_EFFECT_LUCKY_PUNCH && gBattleMons[gBankAttacker].species == SPECIES_CHANSEY) - + 2 * (holdEffect == HOLD_EFFECT_STICK && gBattleMons[gBankAttacker].species == SPECIES_FARFETCHD); + + 2 * (holdEffect == HOLD_EFFECT_LUCKY_PUNCH && gBattleMons[gBattlerAttacker].species == SPECIES_CHANSEY) + + 2 * (holdEffect == HOLD_EFFECT_STICK && gBattleMons[gBattlerAttacker].species == SPECIES_FARFETCHD); if (critChance > 4) critChance = 4; - if ((gBattleMons[gBankTarget].ability != ABILITY_BATTLE_ARMOR && gBattleMons[gBankTarget].ability != ABILITY_SHELL_ARMOR) - && !(gStatuses3[gBankAttacker] & STATUS3_CANT_SCORE_A_CRIT) + if ((gBattleMons[gBattlerTarget].ability != ABILITY_BATTLE_ARMOR && gBattleMons[gBattlerTarget].ability != ABILITY_SHELL_ARMOR) + && !(gStatuses3[gBattlerAttacker] & STATUS3_CANT_SCORE_A_CRIT) && !(gBattleTypeFlags & (BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_FIRST_BATTLE)) && !(Random() % sCriticalHitChance[critChance])) gCritMultiplier = 2; @@ -1467,34 +1331,34 @@ static void atk04_critcalc(void) gBattlescriptCurrInstr++; } -static void atk05_damagecalc1(void) +static void atk05_damagecalc(void) { - u16 sideStatus = gSideAffecting[GET_BANK_SIDE(gBankTarget)]; - gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankTarget], gCurrentMove, + u16 sideStatus = gSideStatuses[GET_BATTLER_SIDE(gBattlerTarget)]; + gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattlerAttacker], &gBattleMons[gBattlerTarget], gCurrentMove, sideStatus, gDynamicBasePower, - gBattleStruct->dynamicMoveType, gBankAttacker, gBankTarget); + gBattleStruct->dynamicMoveType, gBattlerAttacker, gBattlerTarget); gBattleMoveDamage = gBattleMoveDamage * gCritMultiplier * gBattleScripting.dmgMultiplier; - if (gStatuses3[gBankAttacker] & STATUS3_CHARGED_UP && gBattleMoves[gCurrentMove].type == TYPE_ELECTRIC) + if (gStatuses3[gBattlerAttacker] & STATUS3_CHARGED_UP && gBattleMoves[gCurrentMove].type == TYPE_ELECTRIC) gBattleMoveDamage *= 2; - if (gProtectStructs[gBankAttacker].helpingHand) + if (gProtectStructs[gBattlerAttacker].helpingHand) gBattleMoveDamage = gBattleMoveDamage * 15 / 10; gBattlescriptCurrInstr++; } -void AI_CalcDmg(u8 bankAtk, u8 bankDef) +void AI_CalcDmg(u8 attacker, u8 defender) { - u16 sideStatus = gSideAffecting[GET_BANK_SIDE(bankDef)]; - gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[bankAtk], &gBattleMons[bankDef], gCurrentMove, + u16 sideStatus = gSideStatuses[GET_BATTLER_SIDE(defender)]; + gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[attacker], &gBattleMons[defender], gCurrentMove, sideStatus, gDynamicBasePower, - gBattleStruct->dynamicMoveType, bankAtk, bankDef); + gBattleStruct->dynamicMoveType, attacker, defender); gDynamicBasePower = 0; gBattleMoveDamage = gBattleMoveDamage * gCritMultiplier * gBattleScripting.dmgMultiplier; - if (gStatuses3[bankAtk] & STATUS3_CHARGED_UP && gBattleMoves[gCurrentMove].type == TYPE_ELECTRIC) + if (gStatuses3[attacker] & STATUS3_CHARGED_UP && gBattleMoves[gCurrentMove].type == TYPE_ELECTRIC) gBattleMoveDamage *= 2; - if (gProtectStructs[bankAtk].helpingHand) + if (gProtectStructs[attacker].helpingHand) gBattleMoveDamage = gBattleMoveDamage * 15 / 10; } @@ -1507,34 +1371,31 @@ static void ModulateDmgByType(u8 multiplier) switch (multiplier) { case TYPE_MUL_NO_EFFECT: - gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED; - gBattleMoveFlags &= ~MOVESTATUS_NOTVERYEFFECTIVE; - gBattleMoveFlags &= ~MOVESTATUS_SUPEREFFECTIVE; + gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; + gMoveResultFlags &= ~MOVE_RESULT_NOT_VERY_EFFECTIVE; + gMoveResultFlags &= ~MOVE_RESULT_SUPER_EFFECTIVE; break; case TYPE_MUL_NOT_EFFECTIVE: - if (gBattleMoves[gCurrentMove].power && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + if (gBattleMoves[gCurrentMove].power && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - if (gBattleMoveFlags & MOVESTATUS_SUPEREFFECTIVE) - gBattleMoveFlags &= ~MOVESTATUS_SUPEREFFECTIVE; + if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) + gMoveResultFlags &= ~MOVE_RESULT_SUPER_EFFECTIVE; else - gBattleMoveFlags |= MOVESTATUS_NOTVERYEFFECTIVE; + gMoveResultFlags |= MOVE_RESULT_NOT_VERY_EFFECTIVE; } break; case TYPE_MUL_SUPER_EFFECTIVE: - if (gBattleMoves[gCurrentMove].power && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + if (gBattleMoves[gCurrentMove].power && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - if (gBattleMoveFlags & MOVESTATUS_NOTVERYEFFECTIVE) - gBattleMoveFlags &= ~MOVESTATUS_NOTVERYEFFECTIVE; + if (gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE) + gMoveResultFlags &= ~MOVE_RESULT_NOT_VERY_EFFECTIVE; else - gBattleMoveFlags |= MOVESTATUS_SUPEREFFECTIVE; + gMoveResultFlags |= MOVE_RESULT_SUPER_EFFECTIVE; } break; } } -#define TYPE_FORESIGHT 0xFE -#define TYPE_ENDTABLE 0xFF - static void atk06_typecalc(void) { s32 i = 0; @@ -1549,59 +1410,59 @@ static void atk06_typecalc(void) GET_MOVE_TYPE(gCurrentMove, moveType); // check stab - if (gBattleMons[gBankAttacker].type1 == moveType || gBattleMons[gBankAttacker].type2 == moveType) + if (gBattleMons[gBattlerAttacker].type1 == moveType || gBattleMons[gBattlerAttacker].type2 == moveType) { gBattleMoveDamage = gBattleMoveDamage * 15; gBattleMoveDamage = gBattleMoveDamage / 10; } - if (gBattleMons[gBankTarget].ability == ABILITY_LEVITATE && moveType == TYPE_GROUND) + if (gBattleMons[gBattlerTarget].ability == ABILITY_LEVITATE && moveType == TYPE_GROUND) { - gLastUsedAbility = gBattleMons[gBankTarget].ability; - gBattleMoveFlags |= (MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED); - gUnknown_02024250[gBankTarget] = 0; - gUnknown_02024258[gBankTarget] = 0; + gLastUsedAbility = gBattleMons[gBattlerTarget].ability; + gMoveResultFlags |= (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE); + gLastLandedMoves[gBattlerTarget] = 0; + gLastHitByType[gBattlerTarget] = 0; gBattleCommunication[6] = moveType; - RecordAbilityBattle(gBankTarget, gLastUsedAbility); + RecordAbilityBattle(gBattlerTarget, gLastUsedAbility); } else { - while (gTypeEffectiveness[i] != TYPE_ENDTABLE) + while (TYPE_EFFECT_ATK_TYPE(i) != TYPE_ENDTABLE) { - if (gTypeEffectiveness[i] == TYPE_FORESIGHT) + if (TYPE_EFFECT_ATK_TYPE(i) == TYPE_FORESIGHT) { - if (gBattleMons[gBankTarget].status2 & STATUS2_FORESIGHT) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_FORESIGHT) break; i += 3; continue; } - else if (gTypeEffectiveness[i] == moveType) + else if (TYPE_EFFECT_ATK_TYPE(i) == moveType) { // check type1 - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1) - ModulateDmgByType(gTypeEffectiveness[i + 2]); + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type1) + ModulateDmgByType(TYPE_EFFECT_MULTIPLIER(i)); // check type2 - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 && - gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2) - ModulateDmgByType(gTypeEffectiveness[i + 2]); + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type2 && + gBattleMons[gBattlerTarget].type1 != gBattleMons[gBattlerTarget].type2) + ModulateDmgByType(TYPE_EFFECT_MULTIPLIER(i)); } i += 3; } } - if (gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD && AttacksThisTurn(gBankAttacker, gCurrentMove) == 2 - && (!(gBattleMoveFlags & MOVESTATUS_SUPEREFFECTIVE) || ((gBattleMoveFlags & (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)) == (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE))) + if (gBattleMons[gBattlerTarget].ability == ABILITY_WONDER_GUARD && AttacksThisTurn(gBattlerAttacker, gCurrentMove) == 2 + && (!(gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) || ((gMoveResultFlags & (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)) == (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE))) && gBattleMoves[gCurrentMove].power) { gLastUsedAbility = ABILITY_WONDER_GUARD; - gBattleMoveFlags |= MOVESTATUS_MISSED; - gUnknown_02024250[gBankTarget] = 0; - gUnknown_02024258[gBankTarget] = 0; + gMoveResultFlags |= MOVE_RESULT_MISSED; + gLastLandedMoves[gBattlerTarget] = 0; + gLastHitByType[gBattlerTarget] = 0; gBattleCommunication[6] = 3; - RecordAbilityBattle(gBankTarget, gLastUsedAbility); + RecordAbilityBattle(gBattlerTarget, gLastUsedAbility); } - if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED) - gProtectStructs[gBankAttacker].targetNotAffected = 1; + if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) + gProtectStructs[gBattlerAttacker].targetNotAffected = 1; gBattlescriptCurrInstr++; } @@ -1617,65 +1478,66 @@ static void CheckWonderGuardAndLevitate(void) GET_MOVE_TYPE(gCurrentMove, moveType); - if (gBattleMons[gBankTarget].ability == ABILITY_LEVITATE && moveType == TYPE_GROUND) + if (gBattleMons[gBattlerTarget].ability == ABILITY_LEVITATE && moveType == TYPE_GROUND) { gLastUsedAbility = ABILITY_LEVITATE; gBattleCommunication[6] = moveType; - RecordAbilityBattle(gBankTarget, ABILITY_LEVITATE); + RecordAbilityBattle(gBattlerTarget, ABILITY_LEVITATE); return; } - while (gTypeEffectiveness[i] != TYPE_ENDTABLE) + while (TYPE_EFFECT_ATK_TYPE(i) != TYPE_ENDTABLE) { - if (gTypeEffectiveness[i] == TYPE_FORESIGHT) + if (TYPE_EFFECT_ATK_TYPE(i) == TYPE_FORESIGHT) { - if (gBattleMons[gBankTarget].status2 & STATUS2_FORESIGHT) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_FORESIGHT) break; i += 3; continue; } - if (gTypeEffectiveness[i] == moveType) + if (TYPE_EFFECT_ATK_TYPE(i) == moveType) { // check no effect - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1 && gTypeEffectiveness[i + 2] == 0) + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type1 + && TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NO_EFFECT) { - gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED; - gProtectStructs[gBankAttacker].targetNotAffected = 1; + gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; + gProtectStructs[gBattlerAttacker].targetNotAffected = 1; } - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 && - gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 && - gTypeEffectiveness[i + 2] == TYPE_MUL_NO_EFFECT) + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type2 && + gBattleMons[gBattlerTarget].type1 != gBattleMons[gBattlerTarget].type2 && + TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NO_EFFECT) { - gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED; - gProtectStructs[gBankAttacker].targetNotAffected = 1; + gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; + gProtectStructs[gBattlerAttacker].targetNotAffected = 1; } // check super effective - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1 && gTypeEffectiveness[i + 2] == 20) + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type1 && TYPE_EFFECT_MULTIPLIER(i) == 20) flags |= 1; - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 - && gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 - && gTypeEffectiveness[i + 2] == TYPE_MUL_SUPER_EFFECTIVE) + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type2 + && gBattleMons[gBattlerTarget].type1 != gBattleMons[gBattlerTarget].type2 + && TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_SUPER_EFFECTIVE) flags |= 1; // check not very effective - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1 && gTypeEffectiveness[i + 2] == 5) + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type1 && TYPE_EFFECT_MULTIPLIER(i) == 5) flags |= 2; - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 - && gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 - && gTypeEffectiveness[i + 2] == TYPE_MUL_NOT_EFFECTIVE) + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type2 + && gBattleMons[gBattlerTarget].type1 != gBattleMons[gBattlerTarget].type2 + && TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NOT_EFFECTIVE) flags |= 2; } i += 3; } - if (gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD && AttacksThisTurn(gBankAttacker, gCurrentMove) == 2) + if (gBattleMons[gBattlerTarget].ability == ABILITY_WONDER_GUARD && AttacksThisTurn(gBattlerAttacker, gCurrentMove) == 2) { if (((flags & 2) || !(flags & 1)) && gBattleMoves[gCurrentMove].power) { gLastUsedAbility = ABILITY_WONDER_GUARD; gBattleCommunication[6] = 3; - RecordAbilityBattle(gBankTarget, ABILITY_WONDER_GUARD); + RecordAbilityBattle(gBattlerTarget, ABILITY_WONDER_GUARD); } } } @@ -1689,32 +1551,32 @@ static void ModulateDmgByType2(u8 multiplier, u16 move, u8* flags) // same as Mo switch (multiplier) { case TYPE_MUL_NO_EFFECT: - *flags |= MOVESTATUS_NOTAFFECTED; - *flags &= ~MOVESTATUS_NOTVERYEFFECTIVE; - *flags &= ~MOVESTATUS_SUPEREFFECTIVE; + *flags |= MOVE_RESULT_DOESNT_AFFECT_FOE; + *flags &= ~MOVE_RESULT_NOT_VERY_EFFECTIVE; + *flags &= ~MOVE_RESULT_SUPER_EFFECTIVE; break; case TYPE_MUL_NOT_EFFECTIVE: - if (gBattleMoves[move].power && !(*flags & MOVESTATUS_NOEFFECT)) + if (gBattleMoves[move].power && !(*flags & MOVE_RESULT_NO_EFFECT)) { - if (*flags & MOVESTATUS_SUPEREFFECTIVE) - *flags &= ~MOVESTATUS_SUPEREFFECTIVE; + if (*flags & MOVE_RESULT_SUPER_EFFECTIVE) + *flags &= ~MOVE_RESULT_SUPER_EFFECTIVE; else - *flags |= MOVESTATUS_NOTVERYEFFECTIVE; + *flags |= MOVE_RESULT_NOT_VERY_EFFECTIVE; } break; case TYPE_MUL_SUPER_EFFECTIVE: - if (gBattleMoves[move].power && !(*flags & MOVESTATUS_NOEFFECT)) + if (gBattleMoves[move].power && !(*flags & MOVE_RESULT_NO_EFFECT)) { - if (*flags & MOVESTATUS_NOTVERYEFFECTIVE) - *flags &= ~MOVESTATUS_NOTVERYEFFECTIVE; + if (*flags & MOVE_RESULT_NOT_VERY_EFFECTIVE) + *flags &= ~MOVE_RESULT_NOT_VERY_EFFECTIVE; else - *flags |= MOVESTATUS_SUPEREFFECTIVE; + *flags |= MOVE_RESULT_SUPER_EFFECTIVE; } break; } } -u8 TypeCalc(u16 move, u8 bankAtk, u8 bankDef) +u8 TypeCalc(u16 move, u8 attacker, u8 defender) { s32 i = 0; u8 flags = 0; @@ -1726,48 +1588,48 @@ u8 TypeCalc(u16 move, u8 bankAtk, u8 bankDef) moveType = gBattleMoves[move].type; // check stab - if (gBattleMons[bankAtk].type1 == moveType || gBattleMons[bankAtk].type2 == moveType) + if (gBattleMons[attacker].type1 == moveType || gBattleMons[attacker].type2 == moveType) { gBattleMoveDamage = gBattleMoveDamage * 15; gBattleMoveDamage = gBattleMoveDamage / 10; } - if (gBattleMons[bankDef].ability == ABILITY_LEVITATE && moveType == TYPE_GROUND) + if (gBattleMons[defender].ability == ABILITY_LEVITATE && moveType == TYPE_GROUND) { - flags |= (MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED); + flags |= (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE); } else { - while (gTypeEffectiveness[i]!= TYPE_ENDTABLE) + while (TYPE_EFFECT_ATK_TYPE(i) != TYPE_ENDTABLE) { - if (gTypeEffectiveness[i] == TYPE_FORESIGHT) + if (TYPE_EFFECT_ATK_TYPE(i) == TYPE_FORESIGHT) { - if (gBattleMons[bankDef].status2 & STATUS2_FORESIGHT) + if (gBattleMons[defender].status2 & STATUS2_FORESIGHT) break; i += 3; continue; } - else if (gTypeEffectiveness[i] == moveType) + else if (TYPE_EFFECT_ATK_TYPE(i) == moveType) { // check type1 - if (gTypeEffectiveness[i + 1] == gBattleMons[bankDef].type1) - ModulateDmgByType2(gTypeEffectiveness[i + 2], move, &flags); + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[defender].type1) + ModulateDmgByType2(TYPE_EFFECT_MULTIPLIER(i), move, &flags); // check type2 - if (gTypeEffectiveness[i + 1] == gBattleMons[bankDef].type2 && - gBattleMons[bankDef].type1 != gBattleMons[bankDef].type2) - ModulateDmgByType2(gTypeEffectiveness[i + 2], move, &flags); + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[defender].type2 && + gBattleMons[defender].type1 != gBattleMons[defender].type2) + ModulateDmgByType2(TYPE_EFFECT_MULTIPLIER(i), move, &flags); } i += 3; } } - if (gBattleMons[bankDef].ability == ABILITY_WONDER_GUARD && !(flags & MOVESTATUS_MISSED) - && AttacksThisTurn(bankAtk, move) == 2 - && (!(flags & MOVESTATUS_SUPEREFFECTIVE) || ((flags & (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)) == (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE))) + if (gBattleMons[defender].ability == ABILITY_WONDER_GUARD && !(flags & MOVE_RESULT_MISSED) + && AttacksThisTurn(attacker, move) == 2 + && (!(flags & MOVE_RESULT_SUPER_EFFECTIVE) || ((flags & (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)) == (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE))) && gBattleMoves[move].power) { - flags |= MOVESTATUS_MISSED; + flags |= MOVE_RESULT_MISSED; } return flags; } @@ -1786,33 +1648,33 @@ u8 AI_TypeCalc(u16 move, u16 targetSpecies, u8 targetAbility) if (targetAbility == ABILITY_LEVITATE && moveType == TYPE_GROUND) { - flags = MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED; + flags = MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE; } else { - while (gTypeEffectiveness[i] != TYPE_ENDTABLE) + while (TYPE_EFFECT_ATK_TYPE(i) != TYPE_ENDTABLE) { - if (gTypeEffectiveness[i] == TYPE_FORESIGHT) + if (TYPE_EFFECT_ATK_TYPE(i) == TYPE_FORESIGHT) { i += 3; continue; } - if (gTypeEffectiveness[i] == moveType) + if (TYPE_EFFECT_ATK_TYPE(i) == moveType) { // check type1 - if (gTypeEffectiveness[i + 1] == type1) - ModulateDmgByType2(gTypeEffectiveness[i + 2], move, &flags); + if (TYPE_EFFECT_DEF_TYPE(i) == type1) + ModulateDmgByType2(TYPE_EFFECT_MULTIPLIER(i), move, &flags); // check type2 - if (gTypeEffectiveness[i + 1] == type2 && type1 != type2) - ModulateDmgByType2(gTypeEffectiveness[i + 2], move, &flags); + if (TYPE_EFFECT_DEF_TYPE(i) == type2 && type1 != type2) + ModulateDmgByType2(TYPE_EFFECT_MULTIPLIER(i), move, &flags); } i += 3; } } if (targetAbility == ABILITY_WONDER_GUARD - && (!(flags & MOVESTATUS_SUPEREFFECTIVE) || ((flags & (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)) == (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE))) + && (!(flags & MOVE_RESULT_SUPER_EFFECTIVE) || ((flags & (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)) == (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE))) && gBattleMoves[move].power) - flags |= MOVESTATUS_NOTAFFECTED; + flags |= MOVE_RESULT_DOESNT_AFFECT_FOE; return flags; } @@ -1836,94 +1698,96 @@ static void Unused_ApplyRandomDmgMultiplier(void) ApplyRandomDmgMultiplier(); } -static void atk07_dmg_adjustment(void) +static void atk07_adjustnormaldamage(void) { - u8 holdEffect, quality; + u8 holdEffect, param; ApplyRandomDmgMultiplier(); - if (gBattleMons[gBankTarget].item == ITEM_ENIGMA_BERRY) + if (gBattleMons[gBattlerTarget].item == ITEM_ENIGMA_BERRY) { - holdEffect = gEnigmaBerries[gBankTarget].holdEffect, quality = gEnigmaBerries[gBankTarget].holdEffectParam; + holdEffect = gEnigmaBerries[gBattlerTarget].holdEffect; + param = gEnigmaBerries[gBattlerTarget].holdEffectParam; } else { - holdEffect = ItemId_GetHoldEffect(gBattleMons[gBankTarget].item); - quality = ItemId_GetHoldEffectParam(gBattleMons[gBankTarget].item); + holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattlerTarget].item); + param = ItemId_GetHoldEffectParam(gBattleMons[gBattlerTarget].item); } - gStringBank = gBankTarget; + gPotentialItemEffectBattler = gBattlerTarget; - if (holdEffect == HOLD_EFFECT_FOCUS_BAND && (Random() % 100) < quality) + if (holdEffect == HOLD_EFFECT_FOCUS_BAND && (Random() % 100) < param) { - RecordItemEffectBattle(gBankTarget, holdEffect); - gSpecialStatuses[gBankTarget].focusBanded = 1; + RecordItemEffectBattle(gBattlerTarget, holdEffect); + gSpecialStatuses[gBattlerTarget].focusBanded = 1; } - if (gBattleMons[gBankTarget].status2 & STATUS2_SUBSTITUTE) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE) goto END; - if (gBattleMoves[gCurrentMove].effect != EFFECT_FALSE_SWIPE && !gProtectStructs[gBankTarget].endured - && !gSpecialStatuses[gBankTarget].focusBanded) + if (gBattleMoves[gCurrentMove].effect != EFFECT_FALSE_SWIPE && !gProtectStructs[gBattlerTarget].endured + && !gSpecialStatuses[gBattlerTarget].focusBanded) goto END; - if (gBattleMons[gBankTarget].hp > gBattleMoveDamage) + if (gBattleMons[gBattlerTarget].hp > gBattleMoveDamage) goto END; - gBattleMoveDamage = gBattleMons[gBankTarget].hp - 1; + gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1; - if (gProtectStructs[gBankTarget].endured) + if (gProtectStructs[gBattlerTarget].endured) { - gBattleMoveFlags |= MOVESTATUS_ENDURED; + gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; } - else if (gSpecialStatuses[gBankTarget].focusBanded) + else if (gSpecialStatuses[gBattlerTarget].focusBanded) { - gBattleMoveFlags |= MOVESTATUS_HUNGON; - gLastUsedItem = gBattleMons[gBankTarget].item; + gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; + gLastUsedItem = gBattleMons[gBattlerTarget].item; } END: gBattlescriptCurrInstr++; } -static void atk08_dmg_adjustment2(void) // The same as 0x7 except it doesn't check for false swipe move effect. +static void atk08_adjustnormaldamage2(void) // The same as 0x7 except it doesn't check for false swipe move effect. { - u8 holdEffect, quality; + u8 holdEffect, param; ApplyRandomDmgMultiplier(); - if (gBattleMons[gBankTarget].item == ITEM_ENIGMA_BERRY) + if (gBattleMons[gBattlerTarget].item == ITEM_ENIGMA_BERRY) { - holdEffect = gEnigmaBerries[gBankTarget].holdEffect, quality = gEnigmaBerries[gBankTarget].holdEffectParam; + holdEffect = gEnigmaBerries[gBattlerTarget].holdEffect; + param = gEnigmaBerries[gBattlerTarget].holdEffectParam; } else { - holdEffect = ItemId_GetHoldEffect(gBattleMons[gBankTarget].item); - quality = ItemId_GetHoldEffectParam(gBattleMons[gBankTarget].item); + holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattlerTarget].item); + param = ItemId_GetHoldEffectParam(gBattleMons[gBattlerTarget].item); } - gStringBank = gBankTarget; + gPotentialItemEffectBattler = gBattlerTarget; - if (holdEffect == HOLD_EFFECT_FOCUS_BAND && (Random() % 100) < quality) + if (holdEffect == HOLD_EFFECT_FOCUS_BAND && (Random() % 100) < param) { - RecordItemEffectBattle(gBankTarget, holdEffect); - gSpecialStatuses[gBankTarget].focusBanded = 1; + RecordItemEffectBattle(gBattlerTarget, holdEffect); + gSpecialStatuses[gBattlerTarget].focusBanded = 1; } - if (gBattleMons[gBankTarget].status2 & STATUS2_SUBSTITUTE) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE) goto END; - if (!gProtectStructs[gBankTarget].endured && !gSpecialStatuses[gBankTarget].focusBanded) + if (!gProtectStructs[gBattlerTarget].endured && !gSpecialStatuses[gBattlerTarget].focusBanded) goto END; - if (gBattleMons[gBankTarget].hp > gBattleMoveDamage) + if (gBattleMons[gBattlerTarget].hp > gBattleMoveDamage) goto END; - gBattleMoveDamage = gBattleMons[gBankTarget].hp - 1; + gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1; - if (gProtectStructs[gBankTarget].endured) + if (gProtectStructs[gBattlerTarget].endured) { - gBattleMoveFlags |= MOVESTATUS_ENDURED; + gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; } - else if (gSpecialStatuses[gBankTarget].focusBanded) + else if (gSpecialStatuses[gBattlerTarget].focusBanded) { - gBattleMoveFlags |= MOVESTATUS_HUNGON; - gLastUsedItem = gBattleMons[gBankTarget].item; + gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; + gLastUsedItem = gBattleMons[gBattlerTarget].item; } END: @@ -1932,7 +1796,7 @@ static void atk08_dmg_adjustment2(void) // The same as 0x7 except it doesn't che static void atk09_attackanimation(void) { - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; if ((gHitMarker & HITMARKER_NO_ANIMATIONS) && (gCurrentMove != MOVE_TRANSFORM && gCurrentMove != MOVE_SUBSTITUTE)) @@ -1952,17 +1816,17 @@ static void atk09_attackanimation(void) gBattlescriptCurrInstr++; return; } - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { u8 multihit; - gActiveBank = gBankAttacker; + gActiveBattler = gBattlerAttacker; - if (gBattleMons[gBankTarget].status2 & STATUS2_SUBSTITUTE) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE) multihit = gMultiHitCounter; else if (gMultiHitCounter != 0 && gMultiHitCounter != 1) { - if (gBattleMons[gBankTarget].hp <= gBattleMoveDamage) + if (gBattleMons[gBattlerTarget].hp <= gBattleMoveDamage) multihit = 1; else multihit = gMultiHitCounter; @@ -1970,10 +1834,10 @@ static void atk09_attackanimation(void) else multihit = gMultiHitCounter; - EmitMoveAnimation(0, gCurrentMove, gBattleScripting.animTurn, gBattleMovePower, gBattleMoveDamage, gBattleMons[gBankAttacker].friendship, &gDisableStructs[gBankAttacker], multihit); + BtlController_EmitMoveAnimation(0, gCurrentMove, gBattleScripting.animTurn, gBattleMovePower, gBattleMoveDamage, gBattleMons[gBattlerAttacker].friendship, &gDisableStructs[gBattlerAttacker], multihit); gBattleScripting.animTurn += 1; gBattleScripting.animTargetsHit += 1; - MarkBufferBankForExecution(gBankAttacker); + MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr++; } else @@ -1986,22 +1850,22 @@ static void atk09_attackanimation(void) static void atk0A_waitanimation(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) gBattlescriptCurrInstr++; } static void atk0B_healthbarupdate(void) { - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBank].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) + if (gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBattler].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) { - PrepareStringBattle(STRINGID_SUBSTITUTEDAMAGED, gActiveBank); + PrepareStringBattle(STRINGID_SUBSTITUTEDAMAGED, gActiveBattler); } else { @@ -2015,10 +1879,10 @@ static void atk0B_healthbarupdate(void) else healthValue = maxPossibleDmgValue; - EmitHealthBarUpdate(0, healthValue); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitHealthBarUpdate(0, healthValue); + MarkBattlerForControllerExec(gActiveBattler); - if (GetBankSide(gActiveBank) == SIDE_PLAYER && gBattleMoveDamage > 0) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleMoveDamage > 0) gBattleResults.unk5_0 = 1; } } @@ -2030,7 +1894,7 @@ static void atk0C_datahpupdate(void) { u32 moveType; - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; if (gBattleStruct->dynamicMoveType == 0) @@ -2040,27 +1904,27 @@ static void atk0C_datahpupdate(void) else moveType = gBattleMoves[gCurrentMove].type; - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBank].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + if (gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBattler].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) { - if (gDisableStructs[gActiveBank].substituteHP >= gBattleMoveDamage) + if (gDisableStructs[gActiveBattler].substituteHP >= gBattleMoveDamage) { - if (gSpecialStatuses[gActiveBank].moveturnLostHP == 0) - gSpecialStatuses[gActiveBank].moveturnLostHP = gBattleMoveDamage; - gDisableStructs[gActiveBank].substituteHP -= gBattleMoveDamage; + if (gSpecialStatuses[gActiveBattler].dmg == 0) + gSpecialStatuses[gActiveBattler].dmg = gBattleMoveDamage; + gDisableStructs[gActiveBattler].substituteHP -= gBattleMoveDamage; gHpDealt = gBattleMoveDamage; } else { - if (gSpecialStatuses[gActiveBank].moveturnLostHP == 0) - gSpecialStatuses[gActiveBank].moveturnLostHP = gDisableStructs[gActiveBank].substituteHP; - gHpDealt = gDisableStructs[gActiveBank].substituteHP; - gDisableStructs[gActiveBank].substituteHP = 0; + if (gSpecialStatuses[gActiveBattler].dmg == 0) + gSpecialStatuses[gActiveBattler].dmg = gDisableStructs[gActiveBattler].substituteHP; + gHpDealt = gDisableStructs[gActiveBattler].substituteHP; + gDisableStructs[gActiveBattler].substituteHP = 0; } // check substitute fading - if (gDisableStructs[gActiveBank].substituteHP == 0) + if (gDisableStructs[gActiveBattler].substituteHP == 0) { gBattlescriptCurrInstr += 2; BattleScriptPushCursor(); @@ -2073,9 +1937,9 @@ static void atk0C_datahpupdate(void) gHitMarker &= ~(HITMARKER_IGNORE_SUBSTITUTE); if (gBattleMoveDamage < 0) // hp goes up { - gBattleMons[gActiveBank].hp -= gBattleMoveDamage; - if (gBattleMons[gActiveBank].hp > gBattleMons[gActiveBank].maxHP) - gBattleMons[gActiveBank].hp = gBattleMons[gActiveBank].maxHP; + gBattleMons[gActiveBattler].hp -= gBattleMoveDamage; + if (gBattleMons[gActiveBattler].hp > gBattleMons[gActiveBattler].maxHP) + gBattleMons[gActiveBattler].hp = gBattleMons[gActiveBattler].maxHP; } else // hp goes down @@ -2086,125 +1950,125 @@ static void atk0C_datahpupdate(void) } else { - gTakenDmg[gActiveBank] += gBattleMoveDamage; - if (gBattlescriptCurrInstr[1] == BS_GET_TARGET) - gTakenDmgBanks[gActiveBank] = gBankAttacker; + gTakenDmg[gActiveBattler] += gBattleMoveDamage; + if (gBattlescriptCurrInstr[1] == BS_TARGET) + gTakenDmgByBattler[gActiveBattler] = gBattlerAttacker; else - gTakenDmgBanks[gActiveBank] = gBankTarget; + gTakenDmgByBattler[gActiveBattler] = gBattlerTarget; } - if (gBattleMons[gActiveBank].hp > gBattleMoveDamage) + if (gBattleMons[gActiveBattler].hp > gBattleMoveDamage) { - gBattleMons[gActiveBank].hp -= gBattleMoveDamage; + gBattleMons[gActiveBattler].hp -= gBattleMoveDamage; gHpDealt = gBattleMoveDamage; } else { - gHpDealt = gBattleMons[gActiveBank].hp; - gBattleMons[gActiveBank].hp = 0; + gHpDealt = gBattleMons[gActiveBattler].hp; + gBattleMons[gActiveBattler].hp = 0; } - if (!gSpecialStatuses[gActiveBank].moveturnLostHP && !(gHitMarker & HITMARKER_x100000)) - gSpecialStatuses[gActiveBank].moveturnLostHP = gHpDealt; + if (!gSpecialStatuses[gActiveBattler].dmg && !(gHitMarker & HITMARKER_x100000)) + gSpecialStatuses[gActiveBattler].dmg = gHpDealt; - if (moveType <= 8 && !(gHitMarker & HITMARKER_x100000) && gCurrentMove != MOVE_PAIN_SPLIT) + if (IS_MOVE_PHYSICAL(moveType) && !(gHitMarker & HITMARKER_x100000) && gCurrentMove != MOVE_PAIN_SPLIT) { - gProtectStructs[gActiveBank].physicalDmg = gHpDealt; - gSpecialStatuses[gActiveBank].moveturnLostHP_physical = gHpDealt; - if (gBattlescriptCurrInstr[1] == BS_GET_TARGET) + gProtectStructs[gActiveBattler].physicalDmg = gHpDealt; + gSpecialStatuses[gActiveBattler].physicalDmg = gHpDealt; + if (gBattlescriptCurrInstr[1] == BS_TARGET) { - gProtectStructs[gActiveBank].physicalBank = gBankAttacker; - gSpecialStatuses[gActiveBank].moveturnPhysicalBank = gBankAttacker; + gProtectStructs[gActiveBattler].physicalBattlerId = gBattlerAttacker; + gSpecialStatuses[gActiveBattler].physicalBattlerId = gBattlerAttacker; } else { - gProtectStructs[gActiveBank].physicalBank = gBankTarget; - gSpecialStatuses[gActiveBank].moveturnPhysicalBank = gBankTarget; + gProtectStructs[gActiveBattler].physicalBattlerId = gBattlerTarget; + gSpecialStatuses[gActiveBattler].physicalBattlerId = gBattlerTarget; } } - else if (moveType > 8 && !(gHitMarker & HITMARKER_x100000)) + else if (!IS_MOVE_PHYSICAL(moveType) && !(gHitMarker & HITMARKER_x100000)) { - gProtectStructs[gActiveBank].specialDmg = gHpDealt; - gSpecialStatuses[gActiveBank].moveturnLostHP_special = gHpDealt; - if (gBattlescriptCurrInstr[1] == BS_GET_TARGET) + gProtectStructs[gActiveBattler].specialDmg = gHpDealt; + gSpecialStatuses[gActiveBattler].specialDmg = gHpDealt; + if (gBattlescriptCurrInstr[1] == BS_TARGET) { - gProtectStructs[gActiveBank].specialBank = gBankAttacker; - gSpecialStatuses[gActiveBank].moveturnSpecialBank = gBankAttacker; + gProtectStructs[gActiveBattler].specialBattlerId = gBattlerAttacker; + gSpecialStatuses[gActiveBattler].specialBattlerId = gBattlerAttacker; } else { - gProtectStructs[gActiveBank].specialBank = gBankTarget; - gSpecialStatuses[gActiveBank].moveturnSpecialBank = gBankTarget; + gProtectStructs[gActiveBattler].specialBattlerId = gBattlerTarget; + gSpecialStatuses[gActiveBattler].specialBattlerId = gBattlerTarget; } } } gHitMarker &= ~(HITMARKER_x100000); - EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBank].hp); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBattler].hp); + MarkBattlerForControllerExec(gActiveBattler); } } else { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - if (gSpecialStatuses[gActiveBank].moveturnLostHP == 0) - gSpecialStatuses[gActiveBank].moveturnLostHP = 0xFFFF; + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + if (gSpecialStatuses[gActiveBattler].dmg == 0) + gSpecialStatuses[gActiveBattler].dmg = 0xFFFF; } gBattlescriptCurrInstr += 2; } static void atk0D_critmessage(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { - if (gCritMultiplier == 2 && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + if (gCritMultiplier == 2 && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - PrepareStringBattle(STRINGID_CRITICALHIT, gBankAttacker); + PrepareStringBattle(STRINGID_CRITICALHIT, gBattlerAttacker); gBattleCommunication[MSG_DISPLAY] = 1; } gBattlescriptCurrInstr++; } } -static void atk0E_effectiveness_sound(void) +static void atk0E_effectivenesssound(void) { - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; - gActiveBank = gBankTarget; - if (!(gBattleMoveFlags & MOVESTATUS_MISSED)) + gActiveBattler = gBattlerTarget; + if (!(gMoveResultFlags & MOVE_RESULT_MISSED)) { - switch (gBattleMoveFlags & (u8)(~(MOVESTATUS_MISSED))) + switch (gMoveResultFlags & (u8)(~(MOVE_RESULT_MISSED))) { - case MOVESTATUS_SUPEREFFECTIVE: - EmitEffectivenessSound(0, SE_KOUKA_H); - MarkBufferBankForExecution(gActiveBank); + case MOVE_RESULT_SUPER_EFFECTIVE: + BtlController_EmitPlaySE(0, SE_KOUKA_H); + MarkBattlerForControllerExec(gActiveBattler); break; - case MOVESTATUS_NOTVERYEFFECTIVE: - EmitEffectivenessSound(0, SE_KOUKA_L); - MarkBufferBankForExecution(gActiveBank); + case MOVE_RESULT_NOT_VERY_EFFECTIVE: + BtlController_EmitPlaySE(0, SE_KOUKA_L); + MarkBattlerForControllerExec(gActiveBattler); break; - case MOVESTATUS_NOTAFFECTED: - case MOVESTATUS_FAILED: + case MOVE_RESULT_DOESNT_AFFECT_FOE: + case MOVE_RESULT_FAILED: // no sound break; - case MOVESTATUS_ENDURED: - case MOVESTATUS_ONEHITKO: - case MOVESTATUS_HUNGON: + case MOVE_RESULT_FOE_ENDURED: + case MOVE_RESULT_ONE_HIT_KO: + case MOVE_RESULT_FOE_HUNG_ON: default: - if (gBattleMoveFlags & MOVESTATUS_SUPEREFFECTIVE) + if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) { - EmitEffectivenessSound(0, SE_KOUKA_H); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitPlaySE(0, SE_KOUKA_H); + MarkBattlerForControllerExec(gActiveBattler); } - else if (gBattleMoveFlags & MOVESTATUS_NOTVERYEFFECTIVE) + else if (gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE) { - EmitEffectivenessSound(0, SE_KOUKA_L); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitPlaySE(0, SE_KOUKA_L); + MarkBattlerForControllerExec(gActiveBattler); } - else if (!(gBattleMoveFlags & (MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED))) + else if (!(gMoveResultFlags & (MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED))) { - EmitEffectivenessSound(0, SE_KOUKA_M); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitPlaySE(0, SE_KOUKA_M); + MarkBattlerForControllerExec(gActiveBattler); } break; } @@ -2216,10 +2080,10 @@ static void atk0F_resultmessage(void) { u32 stringId = 0; - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; - if (gBattleMoveFlags & MOVESTATUS_MISSED && (!(gBattleMoveFlags & MOVESTATUS_NOTAFFECTED) || gBattleCommunication[6] > 2)) + if (gMoveResultFlags & MOVE_RESULT_MISSED && (!(gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) || gBattleCommunication[6] > 2)) { stringId = gMissStringIds[gBattleCommunication[6]]; gBattleCommunication[MSG_DISPLAY] = 1; @@ -2227,64 +2091,64 @@ static void atk0F_resultmessage(void) else { gBattleCommunication[MSG_DISPLAY] = 1; - switch (gBattleMoveFlags & (u8)(~(MOVESTATUS_MISSED))) + switch (gMoveResultFlags & (u8)(~(MOVE_RESULT_MISSED))) { - case MOVESTATUS_SUPEREFFECTIVE: + case MOVE_RESULT_SUPER_EFFECTIVE: stringId = STRINGID_SUPEREFFECTIVE; break; - case MOVESTATUS_NOTVERYEFFECTIVE: + case MOVE_RESULT_NOT_VERY_EFFECTIVE: stringId = STRINGID_NOTVERYEFFECTIVE; break; - case MOVESTATUS_ONEHITKO: + case MOVE_RESULT_ONE_HIT_KO: stringId = STRINGID_ONEHITKO; break; - case MOVESTATUS_ENDURED: + case MOVE_RESULT_FOE_ENDURED: stringId = STRINGID_PKMNENDUREDHIT; break; - case MOVESTATUS_FAILED: + case MOVE_RESULT_FAILED: stringId = STRINGID_BUTITFAILED; break; - case MOVESTATUS_NOTAFFECTED: + case MOVE_RESULT_DOESNT_AFFECT_FOE: stringId = STRINGID_ITDOESNTAFFECT; break; - case MOVESTATUS_HUNGON: - gLastUsedItem = gBattleMons[gBankTarget].item; - gStringBank = gBankTarget; - gBattleMoveFlags &= ~(MOVESTATUS_ENDURED | MOVESTATUS_HUNGON); + case MOVE_RESULT_FOE_HUNG_ON: + gLastUsedItem = gBattleMons[gBattlerTarget].item; + gPotentialItemEffectBattler = gBattlerTarget; + gMoveResultFlags &= ~(MOVE_RESULT_FOE_ENDURED | MOVE_RESULT_FOE_HUNG_ON); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_HangedOnMsg; return; default: - if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED) + if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) { stringId = STRINGID_ITDOESNTAFFECT; } - else if (gBattleMoveFlags & MOVESTATUS_ONEHITKO) + else if (gMoveResultFlags & MOVE_RESULT_ONE_HIT_KO) { - gBattleMoveFlags &= ~(MOVESTATUS_ONEHITKO); - gBattleMoveFlags &= ~(MOVESTATUS_SUPEREFFECTIVE); - gBattleMoveFlags &= ~(MOVESTATUS_NOTVERYEFFECTIVE); + gMoveResultFlags &= ~(MOVE_RESULT_ONE_HIT_KO); + gMoveResultFlags &= ~(MOVE_RESULT_SUPER_EFFECTIVE); + gMoveResultFlags &= ~(MOVE_RESULT_NOT_VERY_EFFECTIVE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_OneHitKOMsg; return; } - else if (gBattleMoveFlags & MOVESTATUS_ENDURED) + else if (gMoveResultFlags & MOVE_RESULT_FOE_ENDURED) { - gBattleMoveFlags &= ~(MOVESTATUS_ENDURED | MOVESTATUS_HUNGON); + gMoveResultFlags &= ~(MOVE_RESULT_FOE_ENDURED | MOVE_RESULT_FOE_HUNG_ON); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_EnduredMsg; return; } - else if (gBattleMoveFlags & MOVESTATUS_HUNGON) + else if (gMoveResultFlags & MOVE_RESULT_FOE_HUNG_ON) { - gLastUsedItem = gBattleMons[gBankTarget].item; - gStringBank = gBankTarget; - gBattleMoveFlags &= ~(MOVESTATUS_ENDURED | MOVESTATUS_HUNGON); + gLastUsedItem = gBattleMons[gBattlerTarget].item; + gPotentialItemEffectBattler = gBattlerTarget; + gMoveResultFlags &= ~(MOVE_RESULT_FOE_ENDURED | MOVE_RESULT_FOE_HUNG_ON); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_HangedOnMsg; return; } - else if (gBattleMoveFlags & MOVESTATUS_FAILED) + else if (gMoveResultFlags & MOVE_RESULT_FAILED) { stringId = STRINGID_BUTITFAILED; } @@ -2296,28 +2160,28 @@ static void atk0F_resultmessage(void) } if (stringId) - PrepareStringBattle(stringId, gBankAttacker); + PrepareStringBattle(stringId, gBattlerAttacker); gBattlescriptCurrInstr++; } static void atk10_printstring(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { u16 var = BS2ScriptRead16(gBattlescriptCurrInstr + 1); - PrepareStringBattle(var, gBankAttacker); + PrepareStringBattle(var, gBattlerAttacker); gBattlescriptCurrInstr += 3; gBattleCommunication[MSG_DISPLAY] = 1; } } -static void atk11_printstring_playeronly(void) +static void atk11_printselectionstring(void) { - gActiveBank = gBankAttacker; + gActiveBattler = gBattlerAttacker; - EmitPrintStringPlayerOnly(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1)); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitPrintSelectionString(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1)); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; gBattleCommunication[MSG_DISPLAY] = 1; @@ -2325,7 +2189,7 @@ static void atk11_printstring_playeronly(void) static void atk12_waitmessage(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { if (!gBattleCommunication[MSG_DISPLAY]) { @@ -2346,40 +2210,40 @@ static void atk12_waitmessage(void) static void atk13_printfromtable(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { const u16 *ptr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); ptr += gBattleCommunication[MULTISTRING_CHOOSER]; - PrepareStringBattle(*ptr, gBankAttacker); + PrepareStringBattle(*ptr, gBattlerAttacker); gBattlescriptCurrInstr += 5; gBattleCommunication[MSG_DISPLAY] = 1; } } -static void atk14_printfromtable_playeronly(void) +static void atk14_printselectionstringfromtable(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { const u16 *ptr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); ptr += gBattleCommunication[MULTISTRING_CHOOSER]; - gActiveBank = gBankAttacker; - EmitPrintStringPlayerOnly(0, *ptr); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBattlerAttacker; + BtlController_EmitPrintSelectionString(0, *ptr); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; gBattleCommunication[MSG_DISPLAY] = 1; } } -u8 BankGetTurnOrder(u8 bank) +u8 GetBattlerTurnOrderNum(u8 battlerId) { s32 i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - if (gBanksByTurnOrder[i] == bank) + if (gBattleTurnOrder[i] == battlerId) break; } return i; @@ -2406,67 +2270,67 @@ void SetMoveEffect(bool8 primary, u8 certain) if (gBattleCommunication[MOVE_EFFECT_BYTE] & MOVE_EFFECT_AFFECTS_USER) { - gEffectBank = gBankAttacker; // bank that effects get applied on + gEffectBattler = gBattlerAttacker; // battlerId that effects get applied on gBattleCommunication[MOVE_EFFECT_BYTE] &= ~(MOVE_EFFECT_AFFECTS_USER); affectsUser = MOVE_EFFECT_AFFECTS_USER; - gBattleScripting.bank = gBankTarget; // theoretically the attacker + gBattleScripting.battler = gBattlerTarget; // theoretically the attacker } else { - gEffectBank = gBankTarget; - gBattleScripting.bank = gBankAttacker; + gEffectBattler = gBattlerTarget; + gBattleScripting.battler = gBattlerAttacker; } - if (gBattleMons[gEffectBank].ability == ABILITY_SHIELD_DUST && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) + if (gBattleMons[gEffectBattler].ability == ABILITY_SHIELD_DUST && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && !primary && gBattleCommunication[MOVE_EFFECT_BYTE] <= 9) INCREMENT_RESET_RETURN - if (gSideAffecting[GET_BANK_SIDE(gEffectBank)] & SIDE_STATUS_SAFEGUARD && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) + if (gSideStatuses[GET_BATTLER_SIDE(gEffectBattler)] & SIDE_STATUS_SAFEGUARD && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && !primary && gBattleCommunication[MOVE_EFFECT_BYTE] <= 7) INCREMENT_RESET_RETURN - if (gBattleMons[gEffectBank].hp == 0 + if (gBattleMons[gEffectBattler].hp == 0 && gBattleCommunication[MOVE_EFFECT_BYTE] != MOVE_EFFECT_PAYDAY && gBattleCommunication[MOVE_EFFECT_BYTE] != MOVE_EFFECT_STEAL_ITEM) INCREMENT_RESET_RETURN - if (gBattleMons[gEffectBank].status2 & STATUS2_SUBSTITUTE && affectsUser != MOVE_EFFECT_AFFECTS_USER) + if (gBattleMons[gEffectBattler].status2 & STATUS2_SUBSTITUTE && affectsUser != MOVE_EFFECT_AFFECTS_USER) INCREMENT_RESET_RETURN if (gBattleCommunication[MOVE_EFFECT_BYTE] <= 6) // status change { switch (sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]) { - case STATUS_SLEEP: + case STATUS1_SLEEP: // check active uproar - if (gBattleMons[gEffectBank].ability != ABILITY_SOUNDPROOF) + if (gBattleMons[gEffectBattler].ability != ABILITY_SOUNDPROOF) { - for (gActiveBank = 0; - gActiveBank < gNoOfAllBanks && !(gBattleMons[gActiveBank].status2 & STATUS2_UPROAR); - gActiveBank++) + for (gActiveBattler = 0; + gActiveBattler < gBattlersCount && !(gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR); + gActiveBattler++) {} } else - gActiveBank = gNoOfAllBanks; + gActiveBattler = gBattlersCount; - if (gBattleMons[gEffectBank].status1) + if (gBattleMons[gEffectBattler].status1) break; - if (gActiveBank != gNoOfAllBanks) + if (gActiveBattler != gBattlersCount) break; - if (gBattleMons[gEffectBank].ability == ABILITY_VITAL_SPIRIT) + if (gBattleMons[gEffectBattler].ability == ABILITY_VITAL_SPIRIT) break; - if (gBattleMons[gEffectBank].ability == ABILITY_INSOMNIA) + if (gBattleMons[gEffectBattler].ability == ABILITY_INSOMNIA) break; - CancelMultiTurnMoves(gEffectBank); + CancelMultiTurnMoves(gEffectBattler); statusChanged = TRUE; break; - case STATUS_POISON: - if (gBattleMons[gEffectBank].ability == ABILITY_IMMUNITY + case STATUS1_POISON: + if (gBattleMons[gEffectBattler].ability == ABILITY_IMMUNITY && (primary == TRUE || certain == MOVE_EFFECT_CERTAIN)) { gLastUsedAbility = ABILITY_IMMUNITY; - RecordAbilityBattle(gEffectBank, ABILITY_IMMUNITY); + RecordAbilityBattle(gEffectBattler, ABILITY_IMMUNITY); BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_PSNPrevention; @@ -2482,8 +2346,8 @@ void SetMoveEffect(bool8 primary, u8 certain) } RESET_RETURN } - if ((gBattleMons[gEffectBank].type1 == TYPE_POISON || gBattleMons[gEffectBank].type2 == TYPE_POISON - || gBattleMons[gEffectBank].type1 == TYPE_STEEL || gBattleMons[gEffectBank].type2 == TYPE_STEEL) + if ((gBattleMons[gEffectBattler].type1 == TYPE_POISON || gBattleMons[gEffectBattler].type2 == TYPE_POISON + || gBattleMons[gEffectBattler].type1 == TYPE_STEEL || gBattleMons[gEffectBattler].type2 == TYPE_STEEL) && (gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && (primary == TRUE || certain == MOVE_EFFECT_CERTAIN)) { @@ -2493,27 +2357,27 @@ void SetMoveEffect(bool8 primary, u8 certain) gBattleCommunication[MULTISTRING_CHOOSER] = 2; RESET_RETURN } - if (gBattleMons[gEffectBank].type1 == TYPE_POISON) + if (gBattleMons[gEffectBattler].type1 == TYPE_POISON) break; - if (gBattleMons[gEffectBank].type2 == TYPE_POISON) + if (gBattleMons[gEffectBattler].type2 == TYPE_POISON) break; - if (gBattleMons[gEffectBank].type1 == TYPE_STEEL) + if (gBattleMons[gEffectBattler].type1 == TYPE_STEEL) break; - if (gBattleMons[gEffectBank].type2 == TYPE_STEEL) + if (gBattleMons[gEffectBattler].type2 == TYPE_STEEL) break; - if (gBattleMons[gEffectBank].status1) + if (gBattleMons[gEffectBattler].status1) break; - if (gBattleMons[gEffectBank].ability == ABILITY_IMMUNITY) + if (gBattleMons[gEffectBattler].ability == ABILITY_IMMUNITY) break; statusChanged = TRUE; break; - case STATUS_BURN: - if (gBattleMons[gEffectBank].ability == ABILITY_WATER_VEIL + case STATUS1_BURN: + if (gBattleMons[gEffectBattler].ability == ABILITY_WATER_VEIL && (primary == TRUE || certain == MOVE_EFFECT_CERTAIN)) { gLastUsedAbility = ABILITY_WATER_VEIL; - RecordAbilityBattle(gEffectBank, ABILITY_WATER_VEIL); + RecordAbilityBattle(gEffectBattler, ABILITY_WATER_VEIL); BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_BRNPrevention; @@ -2528,8 +2392,8 @@ void SetMoveEffect(bool8 primary, u8 certain) } RESET_RETURN } - if ((gBattleMons[gEffectBank].type1 == TYPE_FIRE - || gBattleMons[gEffectBank].type2 == TYPE_FIRE) + if ((gBattleMons[gEffectBattler].type1 == TYPE_FIRE + || gBattleMons[gEffectBattler].type2 == TYPE_FIRE) && (gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && (primary == TRUE || certain == MOVE_EFFECT_CERTAIN)) { @@ -2539,41 +2403,41 @@ void SetMoveEffect(bool8 primary, u8 certain) gBattleCommunication[MULTISTRING_CHOOSER] = 2; RESET_RETURN } - if (gBattleMons[gEffectBank].type1 == TYPE_FIRE) + if (gBattleMons[gEffectBattler].type1 == TYPE_FIRE) break; - if (gBattleMons[gEffectBank].type2 == TYPE_FIRE) + if (gBattleMons[gEffectBattler].type2 == TYPE_FIRE) break; - if (gBattleMons[gEffectBank].ability == ABILITY_WATER_VEIL) + if (gBattleMons[gEffectBattler].ability == ABILITY_WATER_VEIL) break; - if (gBattleMons[gEffectBank].status1) + if (gBattleMons[gEffectBattler].status1) break; statusChanged = TRUE; break; - case STATUS_FREEZE: + case STATUS1_FREEZE: if (WEATHER_HAS_EFFECT && gBattleWeather & WEATHER_SUN_ANY) noSunCanFreeze = FALSE; - if (gBattleMons[gEffectBank].type1 == TYPE_ICE) + if (gBattleMons[gEffectBattler].type1 == TYPE_ICE) break; - if (gBattleMons[gEffectBank].type2 == TYPE_ICE) + if (gBattleMons[gEffectBattler].type2 == TYPE_ICE) break; - if (gBattleMons[gEffectBank].status1) + if (gBattleMons[gEffectBattler].status1) break; if (noSunCanFreeze == 0) break; - if (gBattleMons[gEffectBank].ability == ABILITY_MAGMA_ARMOR) + if (gBattleMons[gEffectBattler].ability == ABILITY_MAGMA_ARMOR) break; - CancelMultiTurnMoves(gEffectBank); + CancelMultiTurnMoves(gEffectBattler); statusChanged = TRUE; break; - case STATUS_PARALYSIS: - if (gBattleMons[gEffectBank].ability == ABILITY_LIMBER) + case STATUS1_PARALYSIS: + if (gBattleMons[gEffectBattler].ability == ABILITY_LIMBER) { if (primary == TRUE || certain == MOVE_EFFECT_CERTAIN) { gLastUsedAbility = ABILITY_LIMBER; - RecordAbilityBattle(gEffectBank, ABILITY_LIMBER); + RecordAbilityBattle(gEffectBattler, ABILITY_LIMBER); BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_PRLZPrevention; @@ -2592,16 +2456,16 @@ void SetMoveEffect(bool8 primary, u8 certain) else break; } - if (gBattleMons[gEffectBank].status1) + if (gBattleMons[gEffectBattler].status1) break; statusChanged = TRUE; break; - case STATUS_TOXIC_POISON: - if (gBattleMons[gEffectBank].ability == ABILITY_IMMUNITY && (primary == TRUE || certain == MOVE_EFFECT_CERTAIN)) + case STATUS1_TOXIC_POISON: + if (gBattleMons[gEffectBattler].ability == ABILITY_IMMUNITY && (primary == TRUE || certain == MOVE_EFFECT_CERTAIN)) { gLastUsedAbility = ABILITY_IMMUNITY; - RecordAbilityBattle(gEffectBank, ABILITY_IMMUNITY); + RecordAbilityBattle(gEffectBattler, ABILITY_IMMUNITY); BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_PSNPrevention; @@ -2617,8 +2481,8 @@ void SetMoveEffect(bool8 primary, u8 certain) } RESET_RETURN } - if ((gBattleMons[gEffectBank].type1 == TYPE_POISON || gBattleMons[gEffectBank].type2 == TYPE_POISON - || gBattleMons[gEffectBank].type1 == TYPE_STEEL || gBattleMons[gEffectBank].type2 == TYPE_STEEL) + if ((gBattleMons[gEffectBattler].type1 == TYPE_POISON || gBattleMons[gEffectBattler].type2 == TYPE_POISON + || gBattleMons[gEffectBattler].type1 == TYPE_STEEL || gBattleMons[gEffectBattler].type2 == TYPE_STEEL) && (gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && (primary == TRUE || certain == MOVE_EFFECT_CERTAIN)) { @@ -2628,25 +2492,25 @@ void SetMoveEffect(bool8 primary, u8 certain) gBattleCommunication[MULTISTRING_CHOOSER] = 2; RESET_RETURN } - if (gBattleMons[gEffectBank].status1) + if (gBattleMons[gEffectBattler].status1) break; - if (gBattleMons[gEffectBank].type1 != TYPE_POISON - && gBattleMons[gEffectBank].type2 != TYPE_POISON - && gBattleMons[gEffectBank].type1 != TYPE_STEEL - && gBattleMons[gEffectBank].type2 != TYPE_STEEL) + if (gBattleMons[gEffectBattler].type1 != TYPE_POISON + && gBattleMons[gEffectBattler].type2 != TYPE_POISON + && gBattleMons[gEffectBattler].type1 != TYPE_STEEL + && gBattleMons[gEffectBattler].type2 != TYPE_STEEL) { - if (gBattleMons[gEffectBank].ability == ABILITY_IMMUNITY) + if (gBattleMons[gEffectBattler].ability == ABILITY_IMMUNITY) break; // It's redundant, because at this point we know the status1 value is 0. - gBattleMons[gEffectBank].status1 &= ~(STATUS_TOXIC_POISON); - gBattleMons[gEffectBank].status1 &= ~(STATUS_POISON); + gBattleMons[gEffectBattler].status1 &= ~(STATUS1_TOXIC_POISON); + gBattleMons[gEffectBattler].status1 &= ~(STATUS1_POISON); statusChanged = TRUE; break; } else { - gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED; + gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; } break; } @@ -2654,16 +2518,16 @@ void SetMoveEffect(bool8 primary, u8 certain) { BattleScriptPush(gBattlescriptCurrInstr + 1); - if (sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]] == STATUS_SLEEP) - gBattleMons[gEffectBank].status1 |= ((Random() & 3) + 2); + if (sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]] == STATUS1_SLEEP) + gBattleMons[gEffectBattler].status1 |= ((Random() & 3) + 2); else - gBattleMons[gEffectBank].status1 |= sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]; + gBattleMons[gEffectBattler].status1 |= sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]; gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; - gActiveBank = gEffectBank; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gEffectBank].status1); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gEffectBattler; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gEffectBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD) { @@ -2698,7 +2562,7 @@ void SetMoveEffect(bool8 primary, u8 certain) } else { - if (gBattleMons[gEffectBank].status2 & sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]) + if (gBattleMons[gEffectBattler].status2 & sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]) { gBattlescriptCurrInstr++; } @@ -2708,26 +2572,26 @@ void SetMoveEffect(bool8 primary, u8 certain) switch (gBattleCommunication[MOVE_EFFECT_BYTE]) { case MOVE_EFFECT_CONFUSION: - if (gBattleMons[gEffectBank].ability == ABILITY_OWN_TEMPO - || gBattleMons[gEffectBank].status2 & STATUS2_CONFUSION) + if (gBattleMons[gEffectBattler].ability == ABILITY_OWN_TEMPO + || gBattleMons[gEffectBattler].status2 & STATUS2_CONFUSION) { gBattlescriptCurrInstr++; } else { - gBattleMons[gEffectBank].status2 |= (((Random()) % 0x4)) + 2; + gBattleMons[gEffectBattler].status2 |= (((Random()) % 0x4)) + 2; BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; } break; case MOVE_EFFECT_FLINCH: - if (gBattleMons[gEffectBank].ability == ABILITY_INNER_FOCUS) + if (gBattleMons[gEffectBattler].ability == ABILITY_INNER_FOCUS) { if (primary == TRUE || certain == MOVE_EFFECT_CERTAIN) { gLastUsedAbility = ABILITY_INNER_FOCUS; - RecordAbilityBattle(gEffectBank, ABILITY_INNER_FOCUS); + RecordAbilityBattle(gEffectBattler, ABILITY_INNER_FOCUS); gBattlescriptCurrInstr = BattleScript_FlinchPrevention; } else @@ -2737,18 +2601,18 @@ void SetMoveEffect(bool8 primary, u8 certain) } else { - if (BankGetTurnOrder(gEffectBank) > gCurrentTurnActionNumber) - gBattleMons[gEffectBank].status2 |= sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]; + if (GetBattlerTurnOrderNum(gEffectBattler) > gCurrentTurnActionNumber) + gBattleMons[gEffectBattler].status2 |= sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]; gBattlescriptCurrInstr++; } break; case MOVE_EFFECT_UPROAR: - if (!(gBattleMons[gEffectBank].status2 & STATUS2_UPROAR)) + if (!(gBattleMons[gEffectBattler].status2 & STATUS2_UPROAR)) { - gBattleMons[gEffectBank].status2 |= STATUS2_MULTIPLETURNS; - gLockedMoves[gEffectBank] = gCurrentMove; - gBattleMons[gEffectBank].status2 |= ((Random() & 3) + 2) << 4; + gBattleMons[gEffectBattler].status2 |= STATUS2_MULTIPLETURNS; + gLockedMoves[gEffectBattler] = gCurrentMove; + gBattleMons[gEffectBattler].status2 |= ((Random() & 3) + 2) << 4; BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; @@ -2759,10 +2623,10 @@ void SetMoveEffect(bool8 primary, u8 certain) } break; case MOVE_EFFECT_PAYDAY: - if (GET_BANK_SIDE(gBankAttacker) == SIDE_PLAYER) + if (GET_BATTLER_SIDE(gBattlerAttacker) == B_SIDE_PLAYER) { u16 PayDay = gPaydayMoney; - gPaydayMoney += (gBattleMons[gBankAttacker].level * 5); + gPaydayMoney += (gBattleMons[gBattlerAttacker].level * 5); if (PayDay > gPaydayMoney) gPaydayMoney = 0xFFFF; } @@ -2770,7 +2634,7 @@ void SetMoveEffect(bool8 primary, u8 certain) gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; break; case MOVE_EFFECT_TRI_ATTACK: - if (gBattleMons[gEffectBank].status1) + if (gBattleMons[gEffectBattler].status1) { gBattlescriptCurrInstr++; } @@ -2781,23 +2645,23 @@ void SetMoveEffect(bool8 primary, u8 certain) } break; case MOVE_EFFECT_CHARGING: - gBattleMons[gEffectBank].status2 |= STATUS2_MULTIPLETURNS; - gLockedMoves[gEffectBank] = gCurrentMove; - gProtectStructs[gEffectBank].chargingTurn = 1; + gBattleMons[gEffectBattler].status2 |= STATUS2_MULTIPLETURNS; + gLockedMoves[gEffectBattler] = gCurrentMove; + gProtectStructs[gEffectBattler].chargingTurn = 1; gBattlescriptCurrInstr++; break; case MOVE_EFFECT_WRAP: - if (gBattleMons[gEffectBank].status2 & STATUS2_WRAPPED) + if (gBattleMons[gEffectBattler].status2 & STATUS2_WRAPPED) { gBattlescriptCurrInstr++; } else { - gBattleMons[gEffectBank].status2 |= ((Random() & 3) + 3) << 0xD; + gBattleMons[gEffectBattler].status2 |= ((Random() & 3) + 3) << 0xD; - *(gBattleStruct->wrappedMove + gEffectBank * 2 + 0) = gCurrentMove; - *(gBattleStruct->wrappedMove + gEffectBank * 2 + 1) = gCurrentMove >> 8; - *(gBattleStruct->wrappedBy + gEffectBank) = gBankAttacker; + *(gBattleStruct->wrappedMove + gEffectBattler * 2 + 0) = gCurrentMove; + *(gBattleStruct->wrappedMove + gEffectBattler * 2 + 1) = gCurrentMove >> 8; + *(gBattleStruct->wrappedBy + gEffectBattler) = gBattlerAttacker; BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; @@ -2904,13 +2768,13 @@ void SetMoveEffect(bool8 primary, u8 certain) } break; case MOVE_EFFECT_RECHARGE: - gBattleMons[gEffectBank].status2 |= STATUS2_RECHARGE; - gDisableStructs[gEffectBank].rechargeCounter = 2; - gLockedMoves[gEffectBank] = gCurrentMove; + gBattleMons[gEffectBattler].status2 |= STATUS2_RECHARGE; + gDisableStructs[gEffectBattler].rechargeCounter = 2; + gLockedMoves[gEffectBattler] = gCurrentMove; gBattlescriptCurrInstr++; break; case MOVE_EFFECT_RAGE: - gBattleMons[gBankAttacker].status2 |= STATUS2_RAGE; + gBattleMons[gBattlerAttacker].status2 |= STATUS2_RAGE; gBattlescriptCurrInstr++; break; case MOVE_EFFECT_STEAL_ITEM: @@ -2921,8 +2785,8 @@ void SetMoveEffect(bool8 primary, u8 certain) break; } - side = GetBankSide(gBankAttacker); - if (GetBankSide(gBankAttacker) == SIDE_OPPONENT + side = GetBattlerSide(gBattlerAttacker); + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_OPPONENT && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_FRONTIER @@ -2938,56 +2802,56 @@ void SetMoveEffect(bool8 primary, u8 certain) | BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 | BATTLE_TYPE_SECRET_BASE)) - && (gWishFutureKnock.knockedOffPokes[side] & gBitTable[gBattlePartyID[gBankAttacker]])) + && (gWishFutureKnock.knockedOffPokes[side] & gBitTable[gBattlerPartyIndexes[gBattlerAttacker]])) { gBattlescriptCurrInstr++; } - else if (gBattleMons[gBankTarget].item - && gBattleMons[gBankTarget].ability == ABILITY_STICKY_HOLD) + else if (gBattleMons[gBattlerTarget].item + && gBattleMons[gBattlerTarget].ability == ABILITY_STICKY_HOLD) { BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_NoItemSteal; - gLastUsedAbility = gBattleMons[gBankTarget].ability; - RecordAbilityBattle(gBankTarget, gLastUsedAbility); + gLastUsedAbility = gBattleMons[gBattlerTarget].ability; + RecordAbilityBattle(gBattlerTarget, gLastUsedAbility); } - else if (gBattleMons[gBankAttacker].item != 0 - || gBattleMons[gBankTarget].item == ITEM_ENIGMA_BERRY - || IS_ITEM_MAIL(gBattleMons[gBankTarget].item) - || gBattleMons[gBankTarget].item == 0) + else if (gBattleMons[gBattlerAttacker].item != 0 + || gBattleMons[gBattlerTarget].item == ITEM_ENIGMA_BERRY + || IS_ITEM_MAIL(gBattleMons[gBattlerTarget].item) + || gBattleMons[gBattlerTarget].item == 0) { gBattlescriptCurrInstr++; } else { - u16* changedItem = &gBattleStruct->changedItems[gBankAttacker]; - gLastUsedItem = *changedItem = gBattleMons[gBankTarget].item; - gBattleMons[gBankTarget].item = 0; + u16* changedItem = &gBattleStruct->changedItems[gBattlerAttacker]; + gLastUsedItem = *changedItem = gBattleMons[gBattlerTarget].item; + gBattleMons[gBattlerTarget].item = 0; - gActiveBank = gBankAttacker; - EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gLastUsedItem); - MarkBufferBankForExecution(gBankAttacker); + gActiveBattler = gBattlerAttacker; + BtlController_EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gLastUsedItem); + MarkBattlerForControllerExec(gBattlerAttacker); - gActiveBank = gBankTarget; - EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gBankTarget].item); - MarkBufferBankForExecution(gBankTarget); + gActiveBattler = gBattlerTarget; + BtlController_EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gBattlerTarget].item); + MarkBattlerForControllerExec(gBattlerTarget); BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_ItemSteal; - *(u8*)((u8*)(&gBattleStruct->choicedMove[gBankTarget]) + 0) = 0; - *(u8*)((u8*)(&gBattleStruct->choicedMove[gBankTarget]) + 1) = 0; + *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattlerTarget]) + 0) = 0; + *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattlerTarget]) + 1) = 0; } } break; case MOVE_EFFECT_PREVENT_ESCAPE: - gBattleMons[gBankTarget].status2 |= STATUS2_ESCAPE_PREVENTION; - gDisableStructs[gBankTarget].bankPreventingEscape = gBankAttacker; + gBattleMons[gBattlerTarget].status2 |= STATUS2_ESCAPE_PREVENTION; + gDisableStructs[gBattlerTarget].battlerPreventingEscape = gBattlerAttacker; gBattlescriptCurrInstr++; break; case MOVE_EFFECT_NIGHTMARE: - gBattleMons[gBankTarget].status2 |= STATUS2_NIGHTMARE; + gBattleMons[gBattlerTarget].status2 |= STATUS2_NIGHTMARE; gBattlescriptCurrInstr++; break; case MOVE_EFFECT_ALL_STATS_UP: @@ -2999,17 +2863,17 @@ void SetMoveEffect(bool8 primary, u8 certain) gBattlescriptCurrInstr = BattleScript_RapidSpinAway; break; case MOVE_EFFECT_REMOVE_PARALYSIS: // Smelling salts - if (!(gBattleMons[gBankTarget].status1 & STATUS_PARALYSIS)) + if (!(gBattleMons[gBattlerTarget].status1 & STATUS1_PARALYSIS)) { gBattlescriptCurrInstr++; } else { - gBattleMons[gBankTarget].status1 &= ~(STATUS_PARALYSIS); + gBattleMons[gBattlerTarget].status1 &= ~(STATUS1_PARALYSIS); - gActiveBank = gBankTarget; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBattlerTarget; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_TargetPRLZHeal; @@ -3028,21 +2892,21 @@ void SetMoveEffect(bool8 primary, u8 certain) gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; break; case MOVE_EFFECT_THRASH: - if (gBattleMons[gEffectBank].status2 & STATUS2_LOCK_CONFUSE) + if (gBattleMons[gEffectBattler].status2 & STATUS2_LOCK_CONFUSE) { gBattlescriptCurrInstr++; } else { - gBattleMons[gEffectBank].status2 |= STATUS2_MULTIPLETURNS; - gLockedMoves[gEffectBank] = gCurrentMove; - gBattleMons[gEffectBank].status2 |= (((Random() & 1) + 2) << 0xA); + gBattleMons[gEffectBattler].status2 |= STATUS2_MULTIPLETURNS; + gLockedMoves[gEffectBattler] = gCurrentMove; + gBattleMons[gEffectBattler].status2 |= (((Random() & 1) + 2) << 0xA); } break; case MOVE_EFFECT_KNOCK_OFF: - if (gBattleMons[gEffectBank].ability == ABILITY_STICKY_HOLD) + if (gBattleMons[gEffectBattler].ability == ABILITY_STICKY_HOLD) { - if (gBattleMons[gEffectBank].item == 0) + if (gBattleMons[gEffectBattler].item == 0) { gBattlescriptCurrInstr++; } @@ -3050,23 +2914,23 @@ void SetMoveEffect(bool8 primary, u8 certain) { gLastUsedAbility = ABILITY_STICKY_HOLD; gBattlescriptCurrInstr = BattleScript_StickyHoldActivates; - RecordAbilityBattle(gEffectBank, ABILITY_STICKY_HOLD); + RecordAbilityBattle(gEffectBattler, ABILITY_STICKY_HOLD); } break; } - if (gBattleMons[gEffectBank].item) + if (gBattleMons[gEffectBattler].item) { - side = GetBankSide(gEffectBank); + side = GetBattlerSide(gEffectBattler); - gLastUsedItem = gBattleMons[gEffectBank].item; - gBattleMons[gEffectBank].item = 0; - gWishFutureKnock.knockedOffPokes[side] |= gBitTable[gBattlePartyID[gEffectBank]]; + gLastUsedItem = gBattleMons[gEffectBattler].item; + gBattleMons[gEffectBattler].item = 0; + gWishFutureKnock.knockedOffPokes[side] |= gBitTable[gBattlerPartyIndexes[gEffectBattler]]; BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_KnockedOff; - *(u8*)((u8*)(&gBattleStruct->choicedMove[gEffectBank]) + 0) = 0; - *(u8*)((u8*)(&gBattleStruct->choicedMove[gEffectBank]) + 1) = 0; + *(u8*)((u8*)(&gBattleStruct->choicedMove[gEffectBattler]) + 0) = 0; + *(u8*)((u8*)(&gBattleStruct->choicedMove[gEffectBattler]) + 1) = 0; } else { @@ -3088,20 +2952,20 @@ static void atk15_seteffectwithchance(void) { u32 percentChance; - if (gBattleMons[gBankAttacker].ability == ABILITY_SERENE_GRACE) + if (gBattleMons[gBattlerAttacker].ability == ABILITY_SERENE_GRACE) percentChance = gBattleMoves[gCurrentMove].secondaryEffectChance * 2; else percentChance = gBattleMoves[gCurrentMove].secondaryEffectChance; if (gBattleCommunication[MOVE_EFFECT_BYTE] & MOVE_EFFECT_CERTAIN - && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { gBattleCommunication[MOVE_EFFECT_BYTE] &= ~(MOVE_EFFECT_CERTAIN); SetMoveEffect(0, MOVE_EFFECT_CERTAIN); } else if (Random() % 100 < percentChance && gBattleCommunication[MOVE_EFFECT_BYTE] - && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { if (percentChance >= 100) SetMoveEffect(0, MOVE_EFFECT_CERTAIN); @@ -3114,7 +2978,7 @@ static void atk15_seteffectwithchance(void) } gBattleCommunication[MOVE_EFFECT_BYTE] = 0; - gBattleScripting.field_16 = 0; + gBattleScripting.multihitMoveEffect = 0; } static void atk16_seteffectprimary(void) @@ -3127,34 +2991,34 @@ static void atk17_seteffectsecondary(void) SetMoveEffect(FALSE, 0); } -static void atk18_status_effect_clear(void) +static void atk18_clearstatusfromeffect(void) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); if (gBattleCommunication[MOVE_EFFECT_BYTE] <= MOVE_EFFECT_TOXIC) - gBattleMons[gActiveBank].status1 &= (~sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]); + gBattleMons[gActiveBattler].status1 &= (~sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]); else - gBattleMons[gActiveBank].status2 &= (~sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]); + gBattleMons[gActiveBattler].status2 &= (~sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]); gBattleCommunication[MOVE_EFFECT_BYTE] = 0; gBattlescriptCurrInstr += 2; - gBattleScripting.field_16 = 0; + gBattleScripting.multihitMoveEffect = 0; } -static void atk19_faint_pokemon(void) +static void atk19_tryfaintmon(void) { const u8 *BS_ptr; if (gBattlescriptCurrInstr[2] != 0) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - if (gHitMarker & HITMARKER_FAINTED(gActiveBank)) + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + if (gHitMarker & HITMARKER_FAINTED(gActiveBattler)) { BS_ptr = BSScriptReadPtr(gBattlescriptCurrInstr + 3); BattleScriptPop(); gBattlescriptCurrInstr = BS_ptr; - gSideAffecting[GetBankSide(gActiveBank)] &= ~(SIDE_STATUS_SPIKES_DAMAGED); + gSideStatuses[GetBattlerSide(gActiveBattler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED); } else { @@ -3163,62 +3027,62 @@ static void atk19_faint_pokemon(void) } else { - u8 bank; + u8 battlerId; - if (gBattlescriptCurrInstr[1] == BS_GET_ATTACKER) + if (gBattlescriptCurrInstr[1] == BS_ATTACKER) { - gActiveBank = gBankAttacker; - bank = gBankTarget; + gActiveBattler = gBattlerAttacker; + battlerId = gBattlerTarget; BS_ptr = BattleScript_FaintAttacker; } else { - gActiveBank = gBankTarget; - bank = gBankAttacker; + gActiveBattler = gBattlerTarget; + battlerId = gBattlerAttacker; BS_ptr = BattleScript_FaintTarget; } - if (!(gAbsentBankFlags & gBitTable[gActiveBank]) - && gBattleMons[gActiveBank].hp == 0) + if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler]) + && gBattleMons[gActiveBattler].hp == 0) { - gHitMarker |= HITMARKER_FAINTED(gActiveBank); + gHitMarker |= HITMARKER_FAINTED(gActiveBattler); BattleScriptPush(gBattlescriptCurrInstr + 7); gBattlescriptCurrInstr = BS_ptr; - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { gHitMarker |= HITMARKER_x400000; if (gBattleResults.playerFaintCounter < 0xFF) gBattleResults.playerFaintCounter++; - AdjustFriendshipOnBattleFaint(gActiveBank); + AdjustFriendshipOnBattleFaint(gActiveBattler); } else { if (gBattleResults.opponentFaintCounter < 0xFF) gBattleResults.opponentFaintCounter++; - gBattleResults.lastOpponentSpecies = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES, NULL); + gBattleResults.lastOpponentSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES, NULL); } - if ((gHitMarker & HITMARKER_DESTINYBOND) && gBattleMons[gBankAttacker].hp != 0) + if ((gHitMarker & HITMARKER_DESTINYBOND) && gBattleMons[gBattlerAttacker].hp != 0) { gHitMarker &= ~(HITMARKER_DESTINYBOND); BattleScriptPush(gBattlescriptCurrInstr); - gBattleMoveDamage = gBattleMons[bank].hp; + gBattleMoveDamage = gBattleMons[battlerId].hp; gBattlescriptCurrInstr = BattleScript_DestinyBondTakesLife; } - if ((gStatuses3[gBankTarget] & STATUS3_GRUDGE) + if ((gStatuses3[gBattlerTarget] & STATUS3_GRUDGE) && !(gHitMarker & HITMARKER_GRUDGE) - && GetBankSide(gBankAttacker) != GetBankSide(gBankTarget) - && gBattleMons[gBankAttacker].hp != 0 + && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget) + && gBattleMons[gBattlerAttacker].hp != 0 && gCurrentMove != MOVE_STRUGGLE) { - u8 moveIndex = *(gBattleStruct->chosenMovePositions + gBankAttacker); + u8 moveIndex = *(gBattleStruct->chosenMovePositions + gBattlerAttacker); - gBattleMons[gBankAttacker].pp[moveIndex] = 0; + gBattleMons[gBattlerAttacker].pp[moveIndex] = 0; BattleScriptPush(gBattlescriptCurrInstr); gBattlescriptCurrInstr = BattleScript_GrudgeTakesPp; - gActiveBank = gBankAttacker; - EmitSetMonData(0, moveIndex + REQUEST_PPMOVE1_BATTLE, 0, 1, &gBattleMons[gActiveBank].pp[moveIndex]); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBattlerAttacker; + BtlController_EmitSetMonData(0, moveIndex + REQUEST_PPMOVE1_BATTLE, 0, 1, &gBattleMons[gActiveBattler].pp[moveIndex]); + MarkBattlerForControllerExec(gActiveBattler); - PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleMons[gBankAttacker].moves[moveIndex]) + PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerAttacker].moves[moveIndex]) } } else @@ -3228,28 +3092,28 @@ static void atk19_faint_pokemon(void) } } -static void atk1A_faint_animation(void) +static void atk1A_dofaintanimation(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - EmitFaintAnimation(0); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + BtlController_EmitFaintAnimation(0); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } } -static void atk1B_faint_effects_clear(void) +static void atk1B_cleareffectsonfaint(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - if (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || gBattleMons[gActiveBank].hp == 0) + if (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || gBattleMons[gActiveBattler].hp == 0) { - gBattleMons[gActiveBank].status1 = 0; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 0x4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gBattleMons[gActiveBattler].status1 = 0; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 0x4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); } FaintClearSetData(); // Effects like attractions, trapping, etc. @@ -3259,11 +3123,11 @@ static void atk1B_faint_effects_clear(void) static void atk1C_jumpifstatus(void) { - u8 bank = GetBattleBank(gBattlescriptCurrInstr[1]); + u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); u32 flags = BS2ScriptRead32(gBattlescriptCurrInstr + 2); const u8* jumpPtr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 6); - if (gBattleMons[bank].status1 & flags && gBattleMons[bank].hp) + if (gBattleMons[battlerId].status1 & flags && gBattleMons[battlerId].hp) gBattlescriptCurrInstr = jumpPtr; else gBattlescriptCurrInstr += 10; @@ -3271,11 +3135,11 @@ static void atk1C_jumpifstatus(void) static void atk1D_jumpifstatus2(void) { - u8 bank = GetBattleBank(gBattlescriptCurrInstr[1]); + u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); u32 flags = BS2ScriptRead32(gBattlescriptCurrInstr + 2); const u8* jumpPtr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 6); - if (gBattleMons[bank].status2 & flags && gBattleMons[bank].hp) + if (gBattleMons[battlerId].status2 & flags && gBattleMons[battlerId].hp) gBattlescriptCurrInstr = jumpPtr; else gBattlescriptCurrInstr += 10; @@ -3283,45 +3147,45 @@ static void atk1D_jumpifstatus2(void) static void atk1E_jumpifability(void) { - u8 bank; + u8 battlerId; u8 ability = gBattlescriptCurrInstr[2]; const u8* jumpPtr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 3); - if (gBattlescriptCurrInstr[1] == BS_GET_ATTACKER_SIDE) + if (gBattlescriptCurrInstr[1] == BS_ATTACKER_SIDE) { - bank = AbilityBattleEffects(ABILITYEFFECT_CHECK_BANK_SIDE, gBankAttacker, ability, 0, 0); - if (bank) + battlerId = AbilityBattleEffects(ABILITYEFFECT_CHECK_BANK_SIDE, gBattlerAttacker, ability, 0, 0); + if (battlerId) { gLastUsedAbility = ability; gBattlescriptCurrInstr = jumpPtr; - RecordAbilityBattle(bank - 1, gLastUsedAbility); - gBattleScripting.field_15 = bank - 1; + RecordAbilityBattle(battlerId - 1, gLastUsedAbility); + gBattleScripting.battlerWithAbility = battlerId - 1; } else gBattlescriptCurrInstr += 7; } - else if (gBattlescriptCurrInstr[1] == BS_GET_NOT_ATTACKER_SIDE) + else if (gBattlescriptCurrInstr[1] == BS_NOT_ATTACKER_SIDE) { - bank = AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gBankAttacker, ability, 0, 0); - if (bank) + battlerId = AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gBattlerAttacker, ability, 0, 0); + if (battlerId) { gLastUsedAbility = ability; gBattlescriptCurrInstr = jumpPtr; - RecordAbilityBattle(bank - 1, gLastUsedAbility); - gBattleScripting.field_15 = bank - 1; + RecordAbilityBattle(battlerId - 1, gLastUsedAbility); + gBattleScripting.battlerWithAbility = battlerId - 1; } else gBattlescriptCurrInstr += 7; } else { - bank = GetBattleBank(gBattlescriptCurrInstr[1]); - if (gBattleMons[bank].ability == ability) + battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + if (gBattleMons[battlerId].ability == ability) { gLastUsedAbility = ability; gBattlescriptCurrInstr = jumpPtr; - RecordAbilityBattle(bank, gLastUsedAbility); - gBattleScripting.field_15 = bank; + RecordAbilityBattle(battlerId, gLastUsedAbility); + gBattleScripting.battlerWithAbility = battlerId; } else gBattlescriptCurrInstr += 7; @@ -3334,15 +3198,15 @@ static void atk1F_jumpifsideaffecting(void) u16 flags; const u8* jumpPtr; - if (gBattlescriptCurrInstr[1] == BS_GET_ATTACKER) - side = GET_BANK_SIDE(gBankAttacker); + if (gBattlescriptCurrInstr[1] == BS_ATTACKER) + side = GET_BATTLER_SIDE(gBattlerAttacker); else - side = GET_BANK_SIDE(gBankTarget); + side = GET_BATTLER_SIDE(gBattlerTarget); flags = BS2ScriptRead16(gBattlescriptCurrInstr + 2); jumpPtr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 4); - if (gSideAffecting[side] & flags) + if (gSideStatuses[side] & flags) gBattlescriptCurrInstr = jumpPtr; else gBattlescriptCurrInstr += 8; @@ -3351,8 +3215,8 @@ static void atk1F_jumpifsideaffecting(void) static void atk20_jumpifstat(void) { u8 ret = 0; - u8 bank = GetBattleBank(gBattlescriptCurrInstr[1]); - u8 value = gBattleMons[bank].statStages[gBattlescriptCurrInstr[3]]; + u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + u8 value = gBattleMons[battlerId].statStages[gBattlescriptCurrInstr[3]]; switch (gBattlescriptCurrInstr[2]) { @@ -3388,25 +3252,25 @@ static void atk20_jumpifstat(void) gBattlescriptCurrInstr += 9; } -static void atk21_jumpifstatus3(void) +static void atk21_jumpifstatus3condition(void) { u32 flags; - const u8* jumpPtr; + const u8 *jumpPtr; - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); flags = BS2ScriptRead32(gBattlescriptCurrInstr + 2); jumpPtr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 7); if (gBattlescriptCurrInstr[6]) { - if ((gStatuses3[gActiveBank] & flags) != 0) + if ((gStatuses3[gActiveBattler] & flags) != 0) gBattlescriptCurrInstr += 11; else gBattlescriptCurrInstr = jumpPtr; } else { - if ((gStatuses3[gActiveBank] & flags) != 0) + if ((gStatuses3[gActiveBattler] & flags) != 0) gBattlescriptCurrInstr = jumpPtr; else gBattlescriptCurrInstr += 11; @@ -3415,11 +3279,11 @@ static void atk21_jumpifstatus3(void) static void atk22_jumpiftype(void) { - u8 bank = GetBattleBank(gBattlescriptCurrInstr[1]); + u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); u8 type = gBattlescriptCurrInstr[2]; const u8* jumpPtr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 3); - if (gBattleMons[bank].type1 == type || gBattleMons[bank].type2 == type) + if (gBattleMons[battlerId].type1 == type || gBattleMons[battlerId].type2 == type) gBattlescriptCurrInstr = jumpPtr; else gBattlescriptCurrInstr += 7; @@ -3435,13 +3299,13 @@ static void atk23_getexp(void) s32 viaExpShare = 0; u16* exp = &gBattleStruct->expValue; - gBank1 = GetBattleBank(gBattlescriptCurrInstr[1]); - sentIn = gSentPokesToOpponent[(gBank1 & 2) >> 1]; + gBattlerFainted = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + sentIn = gSentPokesToOpponent[(gBattlerFainted & 2) >> 1]; switch (gBattleScripting.atk23_state) { case 0: // check if should receive exp at all - if (GetBankSide(gBank1) != SIDE_OPPONENT || (gBattleTypeFlags & + if (GetBattlerSide(gBattlerFainted) != B_SIDE_OPPONENT || (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 | BATTLE_TYPE_x4000000 @@ -3455,7 +3319,7 @@ static void atk23_getexp(void) else { gBattleScripting.atk23_state++; - gBattleStruct->field_DF |= gBitTable[gBattlePartyID[gBank1]]; + gBattleStruct->field_DF |= gBitTable[gBattlerPartyIndexes[gBattlerFainted]]; } break; case 1: // calculate experience points to redistribute @@ -3481,7 +3345,7 @@ static void atk23_getexp(void) viaExpShare++; } - calculatedExp = gBaseStats[gBattleMons[gBank1].species].expYield * gBattleMons[gBank1].level / 7; + calculatedExp = gBaseStats[gBattleMons[gBattlerFainted].species].expYield * gBattleMons[gBattlerFainted].level / 7; if (viaExpShare) // at least one mon is getting exp via exp share { @@ -3502,14 +3366,14 @@ static void atk23_getexp(void) } gBattleScripting.atk23_state++; - gBattleStruct->expGetterId = 0; + gBattleStruct->expGetterMonId = 0; gBattleStruct->sentInPokes = sentIn; } // fall through case 2: // set exp value to the poke in expgetter_id and print message - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { - item = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_HELD_ITEM); + item = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_HELD_ITEM); if (item == ITEM_ENIGMA_BERRY) holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; @@ -3522,7 +3386,7 @@ static void atk23_getexp(void) gBattleScripting.atk23_state = 5; gBattleMoveDamage = 0; // used for exp } - else if (GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_LEVEL) == MAX_MON_LEVEL) + else if (GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL) == MAX_MON_LEVEL) { *(&gBattleStruct->sentInPokes) >>= 1; gBattleScripting.atk23_state = 5; @@ -3533,12 +3397,12 @@ static void atk23_getexp(void) // music change in wild battle after fainting a poke if (!(gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gBattleMons[0].hp && !gBattleStruct->wildVictorySong) { - BattleMusicStop(); + BattleStopLowHpSound(); PlayBGM(0x161); gBattleStruct->wildVictorySong++; } - if (GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_HP)) + if (GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_HP)) { if (gBattleStruct->sentInPokes & 1) gBattleMoveDamage = *exp; @@ -3552,10 +3416,10 @@ static void atk23_getexp(void) if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) gBattleMoveDamage = (gBattleMoveDamage * 150) / 100; - if (IsTradedMon(&gPlayerParty[gBattleStruct->expGetterId])) + if (IsTradedMon(&gPlayerParty[gBattleStruct->expGetterMonId])) { // check if the pokemon doesn't belong to the player - if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gBattleStruct->expGetterId >= 3) + if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gBattleStruct->expGetterMonId >= 3) { i = 0x149; } @@ -3570,31 +3434,31 @@ static void atk23_getexp(void) i = 0x149; } - // get exp getter bank + // get exp getter battlerId if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - if (!(gBattlePartyID[2] != gBattleStruct->expGetterId) && !(gAbsentBankFlags & gBitTable[2])) - gBattleStruct->expGetterBank = 2; + if (!(gBattlerPartyIndexes[2] != gBattleStruct->expGetterMonId) && !(gAbsentBattlerFlags & gBitTable[2])) + gBattleStruct->expGetterBattlerId = 2; else { - if (!(gAbsentBankFlags & gBitTable[0])) - gBattleStruct->expGetterBank = 0; + if (!(gAbsentBattlerFlags & gBitTable[0])) + gBattleStruct->expGetterBattlerId = 0; else - gBattleStruct->expGetterBank = 2; + gBattleStruct->expGetterBattlerId = 2; } } else - gBattleStruct->expGetterBank = 0; + gBattleStruct->expGetterBattlerId = 0; - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattleStruct->expGetterBank, gBattleStruct->expGetterId) + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattleStruct->expGetterBattlerId, gBattleStruct->expGetterMonId) // buffer 'gained' or 'gained a boosted' PREPARE_STRING_BUFFER(gBattleTextBuff2, i) PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff3, 5, gBattleMoveDamage) - PrepareStringBattle(STRINGID_PKMNGAINEDEXP, gBattleStruct->expGetterBank); - MonGainEVs(&gPlayerParty[gBattleStruct->expGetterId], gBattleMons[gBank1].species); + PrepareStringBattle(STRINGID_PKMNGAINEDEXP, gBattleStruct->expGetterBattlerId); + MonGainEVs(&gPlayerParty[gBattleStruct->expGetterMonId], gBattleMons[gBattlerFainted].species); } gBattleStruct->sentInPokes >>= 1; gBattleScripting.atk23_state++; @@ -3602,72 +3466,72 @@ static void atk23_getexp(void) } break; case 3: // Set stats and give exp - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { - gBattleBufferB[gBattleStruct->expGetterBank][0] = 0; - if (GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_HP) && GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_LEVEL) != MAX_MON_LEVEL) + gBattleBufferB[gBattleStruct->expGetterBattlerId][0] = 0; + if (GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_HP) && GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL) != MAX_MON_LEVEL) { - BATTLE_LVLUP_STATS->hp = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_MAX_HP); - BATTLE_LVLUP_STATS->atk = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_ATK); - BATTLE_LVLUP_STATS->def = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_DEF); - BATTLE_LVLUP_STATS->spd = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_SPEED); - BATTLE_LVLUP_STATS->spAtk = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_SPATK); - BATTLE_LVLUP_STATS->spDef = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_SPDEF); + gBattleResources->statsBeforeLvlUp->hp = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MAX_HP); + gBattleResources->statsBeforeLvlUp->atk = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_ATK); + gBattleResources->statsBeforeLvlUp->def = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_DEF); + gBattleResources->statsBeforeLvlUp->spd = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPEED); + gBattleResources->statsBeforeLvlUp->spAtk = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPATK); + gBattleResources->statsBeforeLvlUp->spDef = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPDEF); - gActiveBank = gBattleStruct->expGetterBank; - EmitExpUpdate(0, gBattleStruct->expGetterId, gBattleMoveDamage); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBattleStruct->expGetterBattlerId; + BtlController_EmitExpUpdate(0, gBattleStruct->expGetterMonId, gBattleMoveDamage); + MarkBattlerForControllerExec(gActiveBattler); } gBattleScripting.atk23_state++; } break; case 4: // lvl up if necessary - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { - gActiveBank = gBattleStruct->expGetterBank; - if (gBattleBufferB[gActiveBank][0] == CONTROLLER_TWORETURNVALUES && gBattleBufferB[gActiveBank][1] == RET_VALUE_LEVELLED_UP) + gActiveBattler = gBattleStruct->expGetterBattlerId; + if (gBattleBufferB[gActiveBattler][0] == CONTROLLER_TWORETURNVALUES && gBattleBufferB[gActiveBattler][1] == RET_VALUE_LEVELLED_UP) { - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlePartyID[gActiveBank] == gBattleStruct->expGetterId) - sub_805E990(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterMonId) + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBank, gBattleStruct->expGetterId) + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattleStruct->expGetterMonId) - PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 3, GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_LEVEL)) + PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 3, GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL)) BattleScriptPushCursor(); - gLeveledUpInBattle |= gBitTable[gBattleStruct->expGetterId]; + gLeveledUpInBattle |= gBitTable[gBattleStruct->expGetterMonId]; gBattlescriptCurrInstr = BattleScript_LevelUp; - gBattleMoveDamage = (gBattleBufferB[gActiveBank][2] | (gBattleBufferB[gActiveBank][3] << 8)); - AdjustFriendship(&gPlayerParty[gBattleStruct->expGetterId], 0); + gBattleMoveDamage = (gBattleBufferB[gActiveBattler][2] | (gBattleBufferB[gActiveBattler][3] << 8)); + AdjustFriendship(&gPlayerParty[gBattleStruct->expGetterMonId], 0); // update battle mon structure after level up - if (gBattlePartyID[0] == gBattleStruct->expGetterId && gBattleMons[0].hp) + if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterMonId && gBattleMons[0].hp) { - gBattleMons[0].level = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_LEVEL); - gBattleMons[0].hp = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_HP); - gBattleMons[0].maxHP = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_MAX_HP); - gBattleMons[0].attack = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_ATK); - gBattleMons[0].defense = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_DEF); + gBattleMons[0].level = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL); + gBattleMons[0].hp = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_HP); + gBattleMons[0].maxHP = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MAX_HP); + gBattleMons[0].attack = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_ATK); + gBattleMons[0].defense = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_DEF); // Why is this duplicated? - gBattleMons[0].speed = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_SPEED); - gBattleMons[0].speed = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_SPEED); + gBattleMons[0].speed = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPEED); + gBattleMons[0].speed = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPEED); - gBattleMons[0].spAttack = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_SPATK); - gBattleMons[0].spDefense = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_SPDEF); + gBattleMons[0].spAttack = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPATK); + gBattleMons[0].spDefense = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPDEF); } // What is else if? - if (gBattlePartyID[2] == gBattleStruct->expGetterId && gBattleMons[2].hp && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + if (gBattlerPartyIndexes[2] == gBattleStruct->expGetterMonId && gBattleMons[2].hp && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - gBattleMons[2].level = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_LEVEL); - gBattleMons[2].hp = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_HP); - gBattleMons[2].maxHP = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_MAX_HP); - gBattleMons[2].attack = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_ATK); - gBattleMons[2].defense = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_DEF); + gBattleMons[2].level = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL); + gBattleMons[2].hp = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_HP); + gBattleMons[2].maxHP = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MAX_HP); + gBattleMons[2].attack = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_ATK); + gBattleMons[2].defense = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_DEF); // Duplicated again, but this time there's no Sp Defense - gBattleMons[2].speed = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_SPEED); - gBattleMons[2].speed = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_SPEED); + gBattleMons[2].speed = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPEED); + gBattleMons[2].speed = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPEED); - gBattleMons[2].spAttack = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_SPATK); + gBattleMons[2].spAttack = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPATK); } gBattleScripting.atk23_state = 5; } @@ -3683,19 +3547,19 @@ static void atk23_getexp(void) gBattleScripting.atk23_state = 3; else { - gBattleStruct->expGetterId++; - if (gBattleStruct->expGetterId <= 5) + gBattleStruct->expGetterMonId++; + if (gBattleStruct->expGetterMonId <= 5) gBattleScripting.atk23_state = 2; // loop again else gBattleScripting.atk23_state = 6; // we're done } break; case 6: // increment instruction - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { // not sure why gf clears the item and ability here - gBattleMons[gBank1].item = 0; - gBattleMons[gBank1].ability = 0; + gBattleMons[gBattlerFainted].item = 0; + gBattleMons[gBattlerFainted].ability = 0; gBattlescriptCurrInstr += 2; } break; @@ -3708,7 +3572,7 @@ static void atk24(void) u16 HP_count = 0; s32 i; - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gPartnerTrainerId == STEVEN_PARTNER_ID) @@ -3724,7 +3588,7 @@ static void atk24(void) for (i = 0; i < 6; i++) { if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) && !GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) - && (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || !(gBattleStruct->field_2A0 & gBitTable[i]))) + && (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || !(gBattleStruct->field_2A0 & gBitTable[i]))) { HP_count += GetMonData(&gPlayerParty[i], MON_DATA_HP); } @@ -3732,7 +3596,7 @@ static void atk24(void) } if (HP_count == 0) - gBattleOutcome |= BATTLE_LOST; + gBattleOutcome |= B_OUTCOME_LOST; for (HP_count = 0, i = 0; i < 6; i++) { @@ -3744,7 +3608,7 @@ static void atk24(void) } if (HP_count == 0) - gBattleOutcome |= BATTLE_WON; + gBattleOutcome |= B_OUTCOME_WON; if (gBattleOutcome == 0 && (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))) { @@ -3752,13 +3616,13 @@ static void atk24(void) s32 foundOpponent; // Impossible to decompile loops. - for (foundPlayer = 0, i = 0; i < gNoOfAllBanks; i += 2) + for (foundPlayer = 0, i = 0; i < gBattlersCount; i += 2) { if (HITMARKER_UNK(i) & gHitMarker && !gSpecialStatuses[i].flag40) foundPlayer++; } - for (foundOpponent = 0, i = 1; i < gNoOfAllBanks; i += 2) + for (foundOpponent = 0, i = 1; i < gBattlersCount; i += 2) { if (HITMARKER_UNK(i) & gHitMarker && !gSpecialStatuses[i].flag40) foundOpponent++; @@ -3794,7 +3658,7 @@ static void atk24(void) mov r7, r8\n\ push {r7}\n\ movs r6, 0\n\ - ldr r0, =gBattleExecBuffer\n\ + ldr r0, =gBattleControllerExecFlags\n\ ldr r0, [r0]\n\ cmp r0, 0\n\ beq _0804ACE2\n\ @@ -3967,7 +3831,7 @@ static void atk24(void) beq _0804AF1A\n\ movs r3, 0\n\ movs r5, 0\n\ - ldr r0, =gNoOfAllBanks\n\ + ldr r0, =gBattlersCount\n\ ldrb r1, [r0]\n\ mov r12, r0\n\ ldr r7, =gBattlescriptCurrInstr\n\ @@ -4082,7 +3946,7 @@ static void atk24(void) static void MoveValuesCleanUp(void) { - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gBattleScripting.dmgMultiplier = 1; gCritMultiplier = 1; gBattleCommunication[MOVE_EFFECT_BYTE] = 0; @@ -4091,19 +3955,19 @@ static void MoveValuesCleanUp(void) gHitMarker &= ~(HITMARKER_SYNCHRONISE_EFFECT); } -static void atk25_move_values_cleanup(void) +static void atk25_movevaluescleanup(void) { MoveValuesCleanUp(); gBattlescriptCurrInstr += 1; } -static void atk26_set_multihit(void) +static void atk26_setmultihit(void) { gMultiHitCounter = gBattlescriptCurrInstr[1]; gBattlescriptCurrInstr += 2; } -static void atk27_decrement_multihit(void) +static void atk27_decrementmultihit(void) { if (--gMultiHitCounter == 0) gBattlescriptCurrInstr += 5; @@ -4313,7 +4177,7 @@ static void atk31_copyarray(void) gBattlescriptCurrInstr += 10; } -static void atk32_copyarray_withindex(void) +static void atk32_copyarraywithindex(void) { u8* dest = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); const u8* src = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5); @@ -4381,7 +4245,7 @@ static void atk38_bicword(void) static void atk39_pause(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { u16 value = BS2ScriptRead16(gBattlescriptCurrInstr + 1); if (++gPauseCounterBattle >= value) @@ -4394,19 +4258,19 @@ static void atk39_pause(void) static void atk3A_waitstate(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) gBattlescriptCurrInstr++; } static void atk3B_healthbar_update(void) { - if (gBattlescriptCurrInstr[1] == BS_GET_TARGET) - gActiveBank = gBankTarget; + if (gBattlescriptCurrInstr[1] == BS_TARGET) + gActiveBattler = gBattlerTarget; else - gActiveBank = gBankAttacker; + gActiveBattler = gBattlerAttacker; - EmitHealthBarUpdate(0, gBattleMoveDamage); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitHealthBarUpdate(0, gBattleMoveDamage); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -4418,25 +4282,25 @@ static void atk3C_return(void) static void atk3D_end(void) { if (gBattleTypeFlags & BATTLE_TYPE_ARENA) - sub_81A5718(gBankAttacker); + sub_81A5718(gBattlerAttacker); - gBattleMoveFlags = 0; - gActiveBank = 0; + gMoveResultFlags = 0; + gActiveBattler = 0; gCurrentActionFuncId = 0xB; } static void atk3E_end2(void) { - gActiveBank = 0; + gActiveBattler = 0; gCurrentActionFuncId = 0xB; } static void atk3F_end3(void) // pops the main function stack { BattleScriptPop(); - if (BATTLE_CALLBACKS_STACK->size) - BATTLE_CALLBACKS_STACK->size--; - gBattleMainFunc = BATTLE_CALLBACKS_STACK->function[BATTLE_CALLBACKS_STACK->size]; + if (gBattleResources->battleCallbackStack->size != 0) + gBattleResources->battleCallbackStack->size--; + gBattleMainFunc = gBattleResources->battleCallbackStack->function[gBattleResources->battleCallbackStack->size]; } static void atk41_call(void) @@ -4447,9 +4311,9 @@ static void atk41_call(void) static void atk42_jumpiftype2(void) { - u8 bank = GetBattleBank(gBattlescriptCurrInstr[1]); + u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - if (gBattlescriptCurrInstr[2] == gBattleMons[bank].type1 || gBattlescriptCurrInstr[2] == gBattleMons[bank].type2) + if (gBattlescriptCurrInstr[2] == gBattleMons[battlerId].type1 || gBattlescriptCurrInstr[2] == gBattleMons[battlerId].type2) gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 3); else gBattlescriptCurrInstr += 7; @@ -4463,24 +4327,24 @@ static void atk43_jumpifabilitypresent(void) gBattlescriptCurrInstr += 6; } -static void atk44_end_selection_script(void) +static void atk44_endselectionscript(void) { - *(gBankAttacker + gBattleStruct->selectionScriptFinished) = TRUE; + *(gBattlerAttacker + gBattleStruct->selectionScriptFinished) = TRUE; } static void atk45_playanimation(void) { const u16* argumentPtr; - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); argumentPtr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 3); if (gBattlescriptCurrInstr[2] == B_ANIM_STATS_CHANGE || gBattlescriptCurrInstr[2] == B_ANIM_SNATCH_MOVE || gBattlescriptCurrInstr[2] == B_ANIM_SUBSTITUTE_FADE) { - EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 7; } else if (gHitMarker & HITMARKER_NO_ANIMATIONS) @@ -4493,18 +4357,18 @@ static void atk45_playanimation(void) || gBattlescriptCurrInstr[2] == B_ANIM_SANDSTORM_CONTINUES || gBattlescriptCurrInstr[2] == B_ANIM_HAIL_CONTINUES) { - EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 7; } - else if (gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) + else if (gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) { gBattlescriptCurrInstr += 7; } else { - EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 7; } } @@ -4514,7 +4378,7 @@ static void atk46_playanimation2(void) // animation Id is stored in the first po const u16* argumentPtr; const u8* animationIdPtr; - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); animationIdPtr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 2); argumentPtr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 6); @@ -4522,8 +4386,8 @@ static void atk46_playanimation2(void) // animation Id is stored in the first po || *animationIdPtr == B_ANIM_SNATCH_MOVE || *animationIdPtr == B_ANIM_SUBSTITUTE_FADE) { - EmitBattleAnimation(0, *animationIdPtr, *argumentPtr); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitBattleAnimation(0, *animationIdPtr, *argumentPtr); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 10; } else if (gHitMarker & HITMARKER_NO_ANIMATIONS) @@ -4535,18 +4399,18 @@ static void atk46_playanimation2(void) // animation Id is stored in the first po || *animationIdPtr == B_ANIM_SANDSTORM_CONTINUES || *animationIdPtr == B_ANIM_HAIL_CONTINUES) { - EmitBattleAnimation(0, *animationIdPtr, *argumentPtr); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitBattleAnimation(0, *animationIdPtr, *argumentPtr); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 10; } - else if (gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) + else if (gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) { gBattlescriptCurrInstr += 10; } else { - EmitBattleAnimation(0, *animationIdPtr, *argumentPtr); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitBattleAnimation(0, *animationIdPtr, *argumentPtr); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 10; } } @@ -4583,7 +4447,7 @@ static void atk48_playstatchangeanimation(void) s32 changeableStats = 0; u32 statsToCheck = 0; - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); statsToCheck = gBattlescriptCurrInstr[2]; if (gBattlescriptCurrInstr[3] & ATK48_STAT_NEGATIVE) // goes down @@ -4595,19 +4459,19 @@ static void atk48_playstatchangeanimation(void) { if (!(gBattlescriptCurrInstr[3] & ATK48_LOWER_FAIL_CHECK)) { - if (gBattleMons[gActiveBank].statStages[currStat] > 0) + if (gBattleMons[gActiveBattler].statStages[currStat] > 0) { statAnimId = checkingStatAnimId; changeableStats++; } } - else if (!gSideTimers[GET_BANK_SIDE(gActiveBank)].mistTimer - && gBattleMons[gActiveBank].ability != ABILITY_CLEAR_BODY - && gBattleMons[gActiveBank].ability != ABILITY_WHITE_SMOKE - && !(gBattleMons[gActiveBank].ability == ABILITY_KEEN_EYE && currStat == STAT_STAGE_ACC) - && !(gBattleMons[gActiveBank].ability == ABILITY_HYPER_CUTTER && currStat == STAT_STAGE_ATK)) + else if (!gSideTimers[GET_BATTLER_SIDE(gActiveBattler)].mistTimer + && gBattleMons[gActiveBattler].ability != ABILITY_CLEAR_BODY + && gBattleMons[gActiveBattler].ability != ABILITY_WHITE_SMOKE + && !(gBattleMons[gActiveBattler].ability == ABILITY_KEEN_EYE && currStat == STAT_ACC) + && !(gBattleMons[gActiveBattler].ability == ABILITY_HYPER_CUTTER && currStat == STAT_ATK)) { - if (gBattleMons[gActiveBank].statStages[currStat] > 0) + if (gBattleMons[gActiveBattler].statStages[currStat] > 0) { statAnimId = checkingStatAnimId; changeableStats++; @@ -4630,7 +4494,7 @@ static void atk48_playstatchangeanimation(void) checkingStatAnimId = (gBattlescriptCurrInstr[3] & ATK48_STAT_BY_TWO) ? 0x26 : 0xE; while (statsToCheck != 0) { - if (statsToCheck & 1 && gBattleMons[gActiveBank].statStages[currStat] < 0xC) + if (statsToCheck & 1 && gBattleMons[gActiveBattler].statStages[currStat] < 0xC) { statAnimId = checkingStatAnimId; changeableStats++; @@ -4653,8 +4517,8 @@ static void atk48_playstatchangeanimation(void) } else if (changeableStats != 0 && gBattleScripting.field_1B == 0) { - EmitBattleAnimation(0, B_ANIM_STATS_CHANGE, statAnimId); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitBattleAnimation(0, B_ANIM_STATS_CHANGE, statAnimId); + MarkBattlerForControllerExec(gActiveBattler); if (gBattlescriptCurrInstr[3] & ATK48_BIT_x4 && changeableStats > 1) gBattleScripting.field_1B = 1; gBattlescriptCurrInstr += 4; @@ -4684,8 +4548,8 @@ static void atk48_playstatchangeanimation(void) ldr r0, [r5]\n\ ldrb r0, [r0, 0x1]\n\ str r3, [sp]\n\ - bl GetBattleBank\n\ - ldr r2, =gActiveBank\n\ + bl GetBattlerForBattleScript\n\ + ldr r2, =gActiveBattler\n\ strb r0, [r2]\n\ ldr r0, [r5]\n\ ldrb r4, [r0, 0x2]\n\ @@ -4722,7 +4586,7 @@ _0804BA26:\n\ ands r0, r1\n\ cmp r0, 0\n\ beq _0804BA58\n\ - ldr r0, =gActiveBank\n\ + ldr r0, =gActiveBattler\n\ ldrb r1, [r0]\n\ movs r0, 0x58\n\ muls r0, r1\n\ @@ -4730,10 +4594,10 @@ _0804BA26:\n\ b _0804BAA0\n\ .pool\n\ _0804BA58:\n\ - ldr r6, =gActiveBank\n\ + ldr r6, =gActiveBattler\n\ ldrb r0, [r6]\n\ str r3, [sp]\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ mov r1, r10\n\ ands r1, r0\n\ lsls r0, r1, 1\n\ @@ -4881,10 +4745,10 @@ _0804BB6C:\n\ movs r1, 0x1\n\ mov r2, r8\n\ str r3, [sp]\n\ - bl EmitBattleAnimation\n\ - ldr r0, =gActiveBank\n\ + bl BtlController_EmitBattleAnimation\n\ + ldr r0, =gActiveBattler\n\ ldrb r0, [r0]\n\ - bl MarkBufferBankForExecution\n\ + bl MarkBattlerForControllerExec\n\ ldr r0, =gBattlescriptCurrInstr\n\ ldr r0, [r0]\n\ ldrb r1, [r0, 0x3]\n\ @@ -4930,25 +4794,24 @@ static void atk49_moveend(void) u8 holdEffectAtk; u16 *choicedMoveAtk; u8 arg1, arg2; - u16 lastMove; + u16 originallyUsedMove; effect = FALSE; - if (gLastUsedMove == 0xFFFF) - lastMove = 0; + if (gChosenMove == 0xFFFF) + originallyUsedMove = 0; else - lastMove = gLastUsedMove; + originallyUsedMove = gChosenMove; arg1 = gBattlescriptCurrInstr[1]; arg2 = gBattlescriptCurrInstr[2]; - if (gBattleMons[gBankAttacker].item == ITEM_ENIGMA_BERRY) - holdEffectAtk = gEnigmaBerries[gBankAttacker].holdEffect; + if (gBattleMons[gBattlerAttacker].item == ITEM_ENIGMA_BERRY) + holdEffectAtk = gEnigmaBerries[gBattlerAttacker].holdEffect; else - holdEffectAtk = ItemId_GetHoldEffect(gBattleMons[gBankAttacker].item); - - choicedMoveAtk = &gBattleStruct->choicedMove[gBankAttacker]; + holdEffectAtk = ItemId_GetHoldEffect(gBattleMons[gBattlerAttacker].item); + choicedMoveAtk = &gBattleStruct->choicedMove[gBattlerAttacker]; GET_MOVE_TYPE(gCurrentMove, moveType); do @@ -4956,13 +4819,13 @@ static void atk49_moveend(void) switch (gBattleScripting.atk49_state) { case 0: // rage check - if (gBattleMons[gBankTarget].status2 & STATUS2_RAGE - && gBattleMons[gBankTarget].hp != 0 && gBankAttacker != gBankTarget - && GetBankSide(gBankAttacker) != GetBankSide(gBankTarget) - && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT) && TARGET_TURN_DAMAGED - && gBattleMoves[gCurrentMove].power && gBattleMons[gBankTarget].statStages[STAT_STAGE_ATK] <= 0xB) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_RAGE + && gBattleMons[gBattlerTarget].hp != 0 && gBattlerAttacker != gBattlerTarget + && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget) + && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && TARGET_TURN_DAMAGED + && gBattleMoves[gCurrentMove].power && gBattleMons[gBattlerTarget].statStages[STAT_ATK] <= 0xB) { - gBattleMons[gBankTarget].statStages[STAT_STAGE_ATK]++; + gBattleMons[gBattlerTarget].statStages[STAT_ATK]++; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_RageIsBuilding; effect = TRUE; @@ -4970,15 +4833,15 @@ static void atk49_moveend(void) gBattleScripting.atk49_state++; break; case 1: // defrosting check - if (gBattleMons[gBankTarget].status1 & STATUS_FREEZE - && gBattleMons[gBankTarget].hp != 0 && gBankAttacker != gBankTarget - && gSpecialStatuses[gBankTarget].moveturnLostHP_special - && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT) && moveType == TYPE_FIRE) + if (gBattleMons[gBattlerTarget].status1 & STATUS1_FREEZE + && gBattleMons[gBattlerTarget].hp != 0 && gBattlerAttacker != gBattlerTarget + && gSpecialStatuses[gBattlerTarget].specialDmg + && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && moveType == TYPE_FIRE) { - gBattleMons[gBankTarget].status1 &= ~(STATUS_FREEZE); - gActiveBank = gBankTarget; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBankTarget].status1); - MarkBufferBankForExecution(gActiveBank); + gBattleMons[gBattlerTarget].status1 &= ~(STATUS1_FREEZE); + gActiveBattler = gBattlerTarget; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBattlerTarget].status1); + MarkBattlerForControllerExec(gActiveBattler); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_DefrostedViaFireMove; effect = TRUE; @@ -4986,41 +4849,41 @@ static void atk49_moveend(void) gBattleScripting.atk49_state++; break; case 2: // target synchronize - if (AbilityBattleEffects(ABILITYEFFECT_SYNCHRONIZE, gBankTarget, 0, 0, 0)) + if (AbilityBattleEffects(ABILITYEFFECT_SYNCHRONIZE, gBattlerTarget, 0, 0, 0)) effect = TRUE; gBattleScripting.atk49_state++; break; case 3: // contact abilities - if (AbilityBattleEffects(ABILITYEFFECT_CONTACT, gBankTarget, 0, 0, 0)) + if (AbilityBattleEffects(ABILITYEFFECT_CONTACT, gBattlerTarget, 0, 0, 0)) effect = TRUE; gBattleScripting.atk49_state++; break; case 4: // status immunities if (AbilityBattleEffects(ABILITYEFFECT_IMMUNITY, 0, 0, 0, 0)) - effect = TRUE; // it loops through all banks, so we increment after its done with all banks + effect = TRUE; // it loops through all battlers, so we increment after its done with all battlers else gBattleScripting.atk49_state++; break; case 5: // attacker synchronize - if (AbilityBattleEffects(ABILITYEFFECT_ATK_SYNCHRONIZE, gBankAttacker, 0, 0, 0)) + if (AbilityBattleEffects(ABILITYEFFECT_ATK_SYNCHRONIZE, gBattlerAttacker, 0, 0, 0)) effect = TRUE; gBattleScripting.atk49_state++; break; case 6: // update choice band move if (!(gHitMarker & HITMARKER_OBEYS) || holdEffectAtk != HOLD_EFFECT_CHOICE_BAND - || gLastUsedMove == MOVE_STRUGGLE || (*choicedMoveAtk != 0 && *choicedMoveAtk != 0xFFFF)) + || gChosenMove == MOVE_STRUGGLE || (*choicedMoveAtk != 0 && *choicedMoveAtk != 0xFFFF)) goto LOOP; - if (gLastUsedMove == MOVE_BATON_PASS && !(gBattleMoveFlags & MOVESTATUS_FAILED)) + if (gChosenMove == MOVE_BATON_PASS && !(gMoveResultFlags & MOVE_RESULT_FAILED)) { gBattleScripting.atk49_state++; break; } - *choicedMoveAtk = gLastUsedMove; + *choicedMoveAtk = gChosenMove; LOOP: { for (i = 0; i < 4; i++) { - if (gBattleMons[gBankAttacker].moves[i] == *choicedMoveAtk) + if (gBattleMons[gBattlerAttacker].moves[i] == *choicedMoveAtk) break; } if (i == 4) @@ -5030,7 +4893,7 @@ static void atk49_moveend(void) } break; case 7: // changed held items - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { u16* changedItem = &gBattleStruct->changedItems[i]; if (*changedItem != 0) @@ -5041,7 +4904,7 @@ static void atk49_moveend(void) } gBattleScripting.atk49_state++; break; - case 11: // item effects for all banks + case 11: // item effects for all battlers if (ItemBattleEffects(3, 0, FALSE)) effect = TRUE; else @@ -5053,47 +4916,47 @@ static void atk49_moveend(void) gBattleScripting.atk49_state++; break; case 8: // make attacker sprite invisible - if (gStatuses3[gBankAttacker] & (STATUS3_SEMI_INVULNERABLE) + if (gStatuses3[gBattlerAttacker] & (STATUS3_SEMI_INVULNERABLE) && gHitMarker & HITMARKER_NO_ANIMATIONS) { - gActiveBank = gBankAttacker; - EmitSpriteInvisibility(0, TRUE); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBattlerAttacker; + BtlController_EmitSpriteInvisibility(0, TRUE); + MarkBattlerForControllerExec(gActiveBattler); gBattleScripting.atk49_state++; return; } gBattleScripting.atk49_state++; break; case 9: // make attacker sprite visible - if (gBattleMoveFlags & MOVESTATUS_NOEFFECT - || !(gStatuses3[gBankAttacker] & (STATUS3_SEMI_INVULNERABLE)) - || WasUnableToUseMove(gBankAttacker)) + if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT + || !(gStatuses3[gBattlerAttacker] & (STATUS3_SEMI_INVULNERABLE)) + || WasUnableToUseMove(gBattlerAttacker)) { - gActiveBank = gBankAttacker; - EmitSpriteInvisibility(0, FALSE); - MarkBufferBankForExecution(gActiveBank); - gStatuses3[gBankAttacker] &= ~(STATUS3_SEMI_INVULNERABLE); - gSpecialStatuses[gBankAttacker].restoredBankSprite = 1; + gActiveBattler = gBattlerAttacker; + BtlController_EmitSpriteInvisibility(0, FALSE); + MarkBattlerForControllerExec(gActiveBattler); + gStatuses3[gBattlerAttacker] &= ~(STATUS3_SEMI_INVULNERABLE); + gSpecialStatuses[gBattlerAttacker].restoredBankSprite = 1; gBattleScripting.atk49_state++; return; } gBattleScripting.atk49_state++; break; case 10: // make target sprite visible - if (!gSpecialStatuses[gBankTarget].restoredBankSprite && gBankTarget < gNoOfAllBanks - && !(gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE)) + if (!gSpecialStatuses[gBattlerTarget].restoredBankSprite && gBattlerTarget < gBattlersCount + && !(gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE)) { - gActiveBank = gBankTarget; - EmitSpriteInvisibility(0, FALSE); - MarkBufferBankForExecution(gActiveBank); - gStatuses3[gBankTarget] &= ~(STATUS3_SEMI_INVULNERABLE); + gActiveBattler = gBattlerTarget; + BtlController_EmitSpriteInvisibility(0, FALSE); + MarkBattlerForControllerExec(gActiveBattler); + gStatuses3[gBattlerTarget] &= ~(STATUS3_SEMI_INVULNERABLE); gBattleScripting.atk49_state++; return; } gBattleScripting.atk49_state++; break; case 13: // update substitute - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gDisableStructs[i].substituteHP == 0) gBattleMons[i].status2 &= ~(STATUS2_SUBSTITUTE); @@ -5103,87 +4966,87 @@ static void atk49_moveend(void) case 14: // This case looks interesting, although I am not certain what it does. Probably fine tunes edge cases. if (gHitMarker & HITMARKER_PURSUIT_TRAP) { - gActiveBank = gBankAttacker; - gBankAttacker = gBankTarget; - gBankTarget = gActiveBank; + gActiveBattler = gBattlerAttacker; + gBattlerAttacker = gBattlerTarget; + gBattlerTarget = gActiveBattler; gHitMarker &= ~(HITMARKER_PURSUIT_TRAP); } if (gHitMarker & HITMARKER_ATTACKSTRING_PRINTED) { - gUnknownMovesUsedByBanks[gBankAttacker] = gLastUsedMove; + gLastPrintedMoves[gBattlerAttacker] = gChosenMove; } - if (!(gAbsentBankFlags & gBitTable[gBankAttacker]) - && !(gBattleStruct->field_91 & gBitTable[gBankAttacker]) - && gBattleMoves[lastMove].effect != EFFECT_BATON_PASS) + if (!(gAbsentBattlerFlags & gBitTable[gBattlerAttacker]) + && !(gBattleStruct->field_91 & gBitTable[gBattlerAttacker]) + && gBattleMoves[originallyUsedMove].effect != EFFECT_BATON_PASS) { if (gHitMarker & HITMARKER_OBEYS) { - gLastUsedMovesByBanks[gBankAttacker] = gLastUsedMove; - gUnknown_02024260[gBankAttacker] = gCurrentMove; + gLastMoves[gBattlerAttacker] = gChosenMove; + gLastResultingMoves[gBattlerAttacker] = gCurrentMove; } else { - gLastUsedMovesByBanks[gBankAttacker] = 0xFFFF; - gUnknown_02024260[gBankAttacker] = 0xFFFF; + gLastMoves[gBattlerAttacker] = 0xFFFF; + gLastResultingMoves[gBattlerAttacker] = 0xFFFF; } - if (!(gHitMarker & HITMARKER_FAINTED(gBankTarget))) - gUnknown_02024270[gBankTarget] = gBankAttacker; + if (!(gHitMarker & HITMARKER_FAINTED(gBattlerTarget))) + gLastHitBy[gBattlerTarget] = gBattlerAttacker; - if (gHitMarker & HITMARKER_OBEYS && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + if (gHitMarker & HITMARKER_OBEYS && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - if (gLastUsedMove == 0xFFFF) + if (gChosenMove == 0xFFFF) { - gUnknown_02024250[gBankTarget] = gLastUsedMove; + gLastLandedMoves[gBattlerTarget] = gChosenMove; } else { - gUnknown_02024250[gBankTarget] = gCurrentMove; - GET_MOVE_TYPE(gCurrentMove, gUnknown_02024258[gBankTarget]); + gLastLandedMoves[gBattlerTarget] = gCurrentMove; + GET_MOVE_TYPE(gCurrentMove, gLastHitByType[gBattlerTarget]); } } else { - gUnknown_02024250[gBankTarget] = 0xFFFF; + gLastLandedMoves[gBattlerTarget] = 0xFFFF; } } gBattleScripting.atk49_state++; break; case 15: // mirror move - if (!(gAbsentBankFlags & gBitTable[gBankAttacker]) && !(gBattleStruct->field_91 & gBitTable[gBankAttacker]) - && gBattleMoves[lastMove].flags & FLAG_MIRROR_MOVE_AFFECTED && gHitMarker & HITMARKER_OBEYS - && gBankAttacker != gBankTarget && !(gHitMarker & HITMARKER_FAINTED(gBankTarget)) - && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + if (!(gAbsentBattlerFlags & gBitTable[gBattlerAttacker]) && !(gBattleStruct->field_91 & gBitTable[gBattlerAttacker]) + && gBattleMoves[originallyUsedMove].flags & FLAG_MIRROR_MOVE_AFFECTED && gHitMarker & HITMARKER_OBEYS + && gBattlerAttacker != gBattlerTarget && !(gHitMarker & HITMARKER_FAINTED(gBattlerTarget)) + && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { u8 target, attacker; - *(gBattleStruct->mirrorMoves + gBankTarget * 2 + 0) = gLastUsedMove; - *(gBattleStruct->mirrorMoves + gBankTarget * 2 + 1) = gLastUsedMove >> 8; + *(gBattleStruct->mirrorMoves + gBattlerTarget * 2 + 0) = gChosenMove; + *(gBattleStruct->mirrorMoves + gBattlerTarget * 2 + 1) = gChosenMove >> 8; - target = gBankTarget; - attacker = gBankAttacker; - *(attacker * 2 + target * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = gLastUsedMove; + target = gBattlerTarget; + attacker = gBattlerAttacker; + *(attacker * 2 + target * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = gChosenMove; - target = gBankTarget; - attacker = gBankAttacker; - *(attacker * 2 + target * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = gLastUsedMove >> 8; + target = gBattlerTarget; + attacker = gBattlerAttacker; + *(attacker * 2 + target * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = gChosenMove >> 8; } gBattleScripting.atk49_state++; break; case 16: // if (!(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) && gBattleTypeFlags & BATTLE_TYPE_DOUBLE - && !gProtectStructs[gBankAttacker].chargingTurn && gBattleMoves[gCurrentMove].target == MOVE_TARGET_BOTH + && !gProtectStructs[gBattlerAttacker].chargingTurn && gBattleMoves[gCurrentMove].target == MOVE_TARGET_BOTH && !(gHitMarker & HITMARKER_NO_ATTACKSTRING)) { - u8 bank = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON); - if (gBattleMons[bank].hp != 0) + u8 battlerId = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerTarget))); + if (gBattleMons[battlerId].hp != 0) { - gBankTarget = bank; + gBattlerTarget = battlerId; gHitMarker |= HITMARKER_NO_ATTACKSTRING; gBattleScripting.atk49_state = 0; MoveValuesCleanUp(); BattleScriptPush(gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]); - gBattlescriptCurrInstr = gUnknown_082DB87D; + gBattlescriptCurrInstr = BattleScript_82DB87D; return; } else @@ -5214,21 +5077,21 @@ static void atk4A_typecalc2(void) s32 i = 0; u8 moveType = gBattleMoves[gCurrentMove].type; - if (gBattleMons[gBankTarget].ability == ABILITY_LEVITATE && moveType == TYPE_GROUND) + if (gBattleMons[gBattlerTarget].ability == ABILITY_LEVITATE && moveType == TYPE_GROUND) { - gLastUsedAbility = gBattleMons[gBankTarget].ability; - gBattleMoveFlags |= (MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED); - gUnknown_02024250[gBankTarget] = 0; + gLastUsedAbility = gBattleMons[gBattlerTarget].ability; + gMoveResultFlags |= (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE); + gLastLandedMoves[gBattlerTarget] = 0; gBattleCommunication[6] = moveType; - RecordAbilityBattle(gBankTarget, gLastUsedAbility); + RecordAbilityBattle(gBattlerTarget, gLastUsedAbility); } else { - while (gTypeEffectiveness[i]!= TYPE_ENDTABLE) + while (TYPE_EFFECT_ATK_TYPE(i) != TYPE_ENDTABLE) { - if (gTypeEffectiveness[i] == TYPE_FORESIGHT) + if (TYPE_EFFECT_ATK_TYPE(i) == TYPE_FORESIGHT) { - if (gBattleMons[gBankTarget].status2 & STATUS2_FORESIGHT) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_FORESIGHT) { break; } @@ -5239,45 +5102,45 @@ static void atk4A_typecalc2(void) } } - if (gTypeEffectiveness[i] == moveType) + if (TYPE_EFFECT_ATK_TYPE(i) == moveType) { // check type1 - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1) + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type1) { - if (gTypeEffectiveness[i + 2] == 0) + if (TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NO_EFFECT) { - gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED; + gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; break; } - if (gTypeEffectiveness[i + 2] == 5) + if (TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NOT_EFFECTIVE) { - flags |= MOVESTATUS_NOTVERYEFFECTIVE; + flags |= MOVE_RESULT_NOT_VERY_EFFECTIVE; } - if (gTypeEffectiveness[i + 2] == 20) + if (TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_SUPER_EFFECTIVE) { - flags |= MOVESTATUS_SUPEREFFECTIVE; + flags |= MOVE_RESULT_SUPER_EFFECTIVE; } } // check type2 - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2) + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type2) { - if (gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 - && gTypeEffectiveness[i + 2] == 0) + if (gBattleMons[gBattlerTarget].type1 != gBattleMons[gBattlerTarget].type2 + && TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NO_EFFECT) { - gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED; + gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; break; } - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 - && gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 - && gTypeEffectiveness[i + 2] == 5) + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type2 + && gBattleMons[gBattlerTarget].type1 != gBattleMons[gBattlerTarget].type2 + && TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NOT_EFFECTIVE) { - flags |= MOVESTATUS_NOTVERYEFFECTIVE; + flags |= MOVE_RESULT_NOT_VERY_EFFECTIVE; } - if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 - && gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 - && gTypeEffectiveness[i + 2] == 20) + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type2 + && gBattleMons[gBattlerTarget].type1 != gBattleMons[gBattlerTarget].type2 + && TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_SUPER_EFFECTIVE) { - flags |= MOVESTATUS_SUPEREFFECTIVE; + flags |= MOVE_RESULT_SUPER_EFFECTIVE; } } } @@ -5285,125 +5148,122 @@ static void atk4A_typecalc2(void) } } - if (gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD - && !(flags & MOVESTATUS_NOEFFECT) - && AttacksThisTurn(gBankAttacker, gCurrentMove) == 2 - && (!(flags & MOVESTATUS_SUPEREFFECTIVE) || ((flags & (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)) == (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE))) + if (gBattleMons[gBattlerTarget].ability == ABILITY_WONDER_GUARD + && !(flags & MOVE_RESULT_NO_EFFECT) + && AttacksThisTurn(gBattlerAttacker, gCurrentMove) == 2 + && (!(flags & MOVE_RESULT_SUPER_EFFECTIVE) || ((flags & (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)) == (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE))) && gBattleMoves[gCurrentMove].power) { gLastUsedAbility = ABILITY_WONDER_GUARD; - gBattleMoveFlags |= MOVESTATUS_MISSED; - gUnknown_02024250[gBankTarget] = 0; + gMoveResultFlags |= MOVE_RESULT_MISSED; + gLastLandedMoves[gBattlerTarget] = 0; gBattleCommunication[6] = 3; - RecordAbilityBattle(gBankTarget, gLastUsedAbility); + RecordAbilityBattle(gBattlerTarget, gLastUsedAbility); } - if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED) - gProtectStructs[gBankAttacker].targetNotAffected = 1; + if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) + gProtectStructs[gBattlerAttacker].targetNotAffected = 1; gBattlescriptCurrInstr++; } -static void atk4B_return_atk_to_ball(void) +static void atk4B_returnatktoball(void) { - gActiveBank = gBankAttacker; - if (!(gHitMarker & HITMARKER_FAINTED(gActiveBank))) + gActiveBattler = gBattlerAttacker; + if (!(gHitMarker & HITMARKER_FAINTED(gActiveBattler))) { - EmitReturnMonToBall(0, 0); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitReturnMonToBall(0, 0); + MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr++; } -static void atk4C_copy_poke_data(void) +static void atk4C_getswitchedmondata(void) { - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - gBattlePartyID[gActiveBank] = *(gBattleStruct->field_5C + gActiveBank); + gBattlerPartyIndexes[gActiveBattler] = *(gBattleStruct->monToSwitchIntoId + gActiveBattler); - EmitGetMonData(0, 0, gBitTable[gBattlePartyID[gActiveBank]]); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitGetMonData(0, REQUEST_ALL_BATTLE, gBitTable[gBattlerPartyIndexes[gActiveBattler]]); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } -static void atk4D_switch_data_update(void) +static void atk4D_switchindataupdate(void) { struct BattlePokemon oldData; s32 i; u8 *monData; - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - oldData = gBattleMons[gActiveBank]; - monData = (u8*)(&gBattleMons[gActiveBank]); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + oldData = gBattleMons[gActiveBattler]; + monData = (u8*)(&gBattleMons[gActiveBattler]); for (i = 0; i < sizeof(struct BattlePokemon); i++) { - monData[i] = gBattleBufferB[gActiveBank][4 + i]; + monData[i] = gBattleBufferB[gActiveBattler][4 + i]; } - gBattleMons[gActiveBank].type1 = gBaseStats[gBattleMons[gActiveBank].species].type1; - gBattleMons[gActiveBank].type2 = gBaseStats[gBattleMons[gActiveBank].species].type2; - gBattleMons[gActiveBank].ability = GetAbilityBySpecies(gBattleMons[gActiveBank].species, gBattleMons[gActiveBank].altAbility); + gBattleMons[gActiveBattler].type1 = gBaseStats[gBattleMons[gActiveBattler].species].type1; + gBattleMons[gActiveBattler].type2 = gBaseStats[gBattleMons[gActiveBattler].species].type2; + gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].altAbility); // check knocked off item - i = GetBankSide(gActiveBank); - if (gWishFutureKnock.knockedOffPokes[i] & gBitTable[gBattlePartyID[gActiveBank]]) + i = GetBattlerSide(gActiveBattler); + if (gWishFutureKnock.knockedOffPokes[i] & gBitTable[gBattlerPartyIndexes[gActiveBattler]]) { - gBattleMons[gActiveBank].item = 0; + gBattleMons[gActiveBattler].item = 0; } if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) { - for (i = 0; i < 8; i++) + for (i = 0; i < BATTLE_STATS_NO; i++) { - gBattleMons[gActiveBank].statStages[i] = oldData.statStages[i]; + gBattleMons[gActiveBattler].statStages[i] = oldData.statStages[i]; } - gBattleMons[gActiveBank].status2 = oldData.status2; + gBattleMons[gActiveBattler].status2 = oldData.status2; } SwitchInClearSetData(); - if (gBattleTypeFlags & BATTLE_TYPE_PALACE && gBattleMons[gActiveBank].maxHP / 2 >= gBattleMons[gActiveBank].hp - && gBattleMons[gActiveBank].hp != 0 && !(gBattleMons[gActiveBank].status1 & STATUS_SLEEP)) + if (gBattleTypeFlags & BATTLE_TYPE_PALACE && gBattleMons[gActiveBattler].maxHP / 2 >= gBattleMons[gActiveBattler].hp + && gBattleMons[gActiveBattler].hp != 0 && !(gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP)) { - gBattleStruct->field_92 |= gBitTable[gActiveBank]; + gBattleStruct->field_92 |= gBitTable[gActiveBattler]; } - gBattleScripting.bank = gActiveBank; - gBattleTextBuff1[0] = PLACEHOLDER_BEGIN; - gBattleTextBuff1[1] = 7; - gBattleTextBuff1[2] = gActiveBank; - gBattleTextBuff1[3] = gBattlePartyID[gActiveBank]; - gBattleTextBuff1[4] = EOS; + gBattleScripting.battler = gActiveBattler; + + PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gActiveBattler, gBattlerPartyIndexes[gActiveBattler]); gBattlescriptCurrInstr += 2; } -static void atk4E_switchin_anim(void) +static void atk4E_switchinanim(void) { - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - if (GetBankSide(gActiveBank) == SIDE_OPPONENT + if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_x2000000 | BATTLE_TYPE_x4000000 | BATTLE_TYPE_FRONTIER))) - HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), FLAG_SET_SEEN, gBattleMons[gActiveBank].personality); + HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality); - gAbsentBankFlags &= ~(gBitTable[gActiveBank]); + gAbsentBattlerFlags &= ~(gBitTable[gActiveBattler]); - EmitSwitchInAnim(0, gBattlePartyID[gActiveBank], gBattlescriptCurrInstr[2]); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitSwitchInAnim(0, gBattlerPartyIndexes[gActiveBattler], gBattlescriptCurrInstr[2]); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; @@ -5411,18 +5271,18 @@ static void atk4E_switchin_anim(void) sub_81A56B4(); } -static void atk4F_jump_if_cannot_switch(void) +static void atk4F_jumpifcantswitch(void) { s32 val = 0; s32 compareVar = 0; struct Pokemon *party = NULL; s32 r7 = 0; - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1] & ~(ATK4F_DONT_CHECK_STATUSES)); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~(ATK4F_DONT_CHECK_STATUSES)); if (!(gBattlescriptCurrInstr[1] & ATK4F_DONT_CHECK_STATUSES) - && ((gBattleMons[gActiveBank].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) - || (gStatuses3[gActiveBank] & STATUS3_ROOTED))) + && ((gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) + || (gStatuses3[gActiveBattler] & STATUS3_ROOTED))) { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2); } @@ -5431,13 +5291,13 @@ static void atk4F_jump_if_cannot_switch(void) #ifndef NONMATCHING asm("":::"r5"); #endif // NONMATCHING - if (GetBankSide(gActiveBank) == SIDE_OPPONENT) + if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT) party = gEnemyParty; else party = gPlayerParty; val = 0; - if (2 & gActiveBank) + if (2 & gActiveBattler) val = 3; for (compareVar = val + 3; val < compareVar; val++) @@ -5445,7 +5305,7 @@ static void atk4F_jump_if_cannot_switch(void) if (GetMonData(&party[val], MON_DATA_SPECIES) != SPECIES_NONE && !GetMonData(&party[val], MON_DATA_IS_EGG) && GetMonData(&party[val], MON_DATA_HP) != 0 - && gBattlePartyID[gActiveBank] != val) + && gBattlerPartyIndexes[gActiveBattler] != val) break; } @@ -5458,19 +5318,19 @@ static void atk4F_jump_if_cannot_switch(void) { if (gBattleTypeFlags & BATTLE_TYPE_x800000) { - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { party = gPlayerParty; val = 0; - if (sub_806D82C(GetBankMultiplayerId(gActiveBank)) == TRUE) + if (sub_806D82C(GetBattlerMultiplayerId(gActiveBattler)) == TRUE) val = 3; } else { party = gEnemyParty; - if (gActiveBank == 1) + if (gActiveBattler == 1) val = 0; else val = 3; @@ -5478,14 +5338,14 @@ static void atk4F_jump_if_cannot_switch(void) } else { - if (GetBankSide(gActiveBank) == SIDE_OPPONENT) + if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT) party = gEnemyParty; else party = gPlayerParty; val = 0; - if (sub_806D82C(GetBankMultiplayerId(gActiveBank)) == TRUE) + if (sub_806D82C(GetBattlerMultiplayerId(gActiveBattler)) == TRUE) val = 3; } @@ -5494,7 +5354,7 @@ static void atk4F_jump_if_cannot_switch(void) if (GetMonData(&party[val], MON_DATA_SPECIES) != SPECIES_NONE && !GetMonData(&party[val], MON_DATA_IS_EGG) && GetMonData(&party[val], MON_DATA_HP) != 0 - && gBattlePartyID[gActiveBank] != val) + && gBattlerPartyIndexes[gActiveBattler] != val) break; } @@ -5503,12 +5363,12 @@ static void atk4F_jump_if_cannot_switch(void) else gBattlescriptCurrInstr += 6; } - else if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && GetBankSide(gActiveBank) == SIDE_OPPONENT) + else if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT) { party = gEnemyParty; val = 0; - if (gActiveBank == 3) + if (gActiveBattler == 3) val = 3; for (compareVar = val + 3; val < compareVar; val++) @@ -5516,7 +5376,7 @@ static void atk4F_jump_if_cannot_switch(void) if (GetMonData(&party[val], MON_DATA_SPECIES) != SPECIES_NONE && !GetMonData(&party[val], MON_DATA_IS_EGG) && GetMonData(&party[val], MON_DATA_HP) != 0 - && gBattlePartyID[gActiveBank] != val) + && gBattlerPartyIndexes[gActiveBattler] != val) break; } @@ -5527,12 +5387,12 @@ static void atk4F_jump_if_cannot_switch(void) } else { - if (GetBankSide(gActiveBank) == SIDE_OPPONENT) + if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT) { - r7 = GetBankByIdentity(1); + r7 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - compareVar = GetBankByIdentity(3); + compareVar = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); else compareVar = r7; @@ -5540,10 +5400,10 @@ static void atk4F_jump_if_cannot_switch(void) } else { - r7 = GetBankByIdentity(0); + r7 = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - compareVar = GetBankByIdentity(2); + compareVar = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); else compareVar = r7; @@ -5554,7 +5414,7 @@ static void atk4F_jump_if_cannot_switch(void) if (GetMonData(&party[val], MON_DATA_HP) != 0 && GetMonData(&party[val], MON_DATA_SPECIES) != SPECIES_NONE && !GetMonData(&party[val], MON_DATA_IS_EGG) - && val != gBattlePartyID[r7] && val != gBattlePartyID[compareVar]) + && val != gBattlerPartyIndexes[r7] && val != gBattlerPartyIndexes[compareVar]) break; } @@ -5567,22 +5427,22 @@ static void atk4F_jump_if_cannot_switch(void) static void sub_804CF10(u8 arg0) { - *(gBattleStruct->field_58 + gActiveBank) = gBattlePartyID[gActiveBank]; - *(gBattleStruct->field_5C + gActiveBank) = 6; - gBattleStruct->field_93 &= ~(gBitTable[gActiveBank]); + *(gBattleStruct->field_58 + gActiveBattler) = gBattlerPartyIndexes[gActiveBattler]; + *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = 6; + gBattleStruct->field_93 &= ~(gBitTable[gActiveBattler]); - EmitChoosePokemon(0, 1, arg0, 0, gBattleStruct->field_60[gActiveBank]); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitChoosePokemon(0, 1, arg0, 0, gBattleStruct->field_60[gActiveBattler]); + MarkBattlerForControllerExec(gActiveBattler); } static void atk50_openpartyscreen(void) { u32 flags; u8 hitmarkerFaintBits; - u8 bank; + u8 battlerId; const u8 *jumpPtr; - bank = 0; + battlerId = 0; flags = 0; jumpPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 2); @@ -5590,27 +5450,27 @@ static void atk50_openpartyscreen(void) { if ((gBattleTypeFlags & (BATTLE_TYPE_DOUBLE | BATTLE_TYPE_MULTI)) != BATTLE_TYPE_DOUBLE) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { - if (gHitMarker & HITMARKER_FAINTED(gActiveBank)) + if (gHitMarker & HITMARKER_FAINTED(gActiveBattler)) { - if (sub_80423F4(gActiveBank, 6, 6)) + if (sub_80423F4(gActiveBattler, 6, 6)) { - gAbsentBankFlags |= gBitTable[gActiveBank]; - gHitMarker &= ~(HITMARKER_FAINTED(gActiveBank)); - EmitLinkStandbyMsg(0, 2, 0); - MarkBufferBankForExecution(gActiveBank); + gAbsentBattlerFlags |= gBitTable[gActiveBattler]; + gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler)); + BtlController_EmitLinkStandbyMsg(0, 2, 0); + MarkBattlerForControllerExec(gActiveBattler); } - else if (!gSpecialStatuses[gActiveBank].flag40) + else if (!gSpecialStatuses[gActiveBattler].flag40) { sub_804CF10(6); - gSpecialStatuses[gActiveBank].flag40 = 1; + gSpecialStatuses[gActiveBattler].flag40 = 1; } } else { - EmitLinkStandbyMsg(0, 2, 0); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitLinkStandbyMsg(0, 2, 0); + MarkBattlerForControllerExec(gActiveBattler); } } } @@ -5622,88 +5482,88 @@ static void atk50_openpartyscreen(void) if (gBitTable[0] & hitmarkerFaintBits) { - gActiveBank = 0; + gActiveBattler = 0; if (sub_80423F4(0, 6, 6)) { - gAbsentBankFlags |= gBitTable[gActiveBank]; - gHitMarker &= ~(HITMARKER_FAINTED(gActiveBank)); - EmitCmd42(0); - MarkBufferBankForExecution(gActiveBank); + gAbsentBattlerFlags |= gBitTable[gActiveBattler]; + gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler)); + BtlController_EmitCmd42(0); + MarkBattlerForControllerExec(gActiveBattler); } - else if (!gSpecialStatuses[gActiveBank].flag40) + else if (!gSpecialStatuses[gActiveBattler].flag40) { - sub_804CF10(gBattleStruct->field_5C[2]); - gSpecialStatuses[gActiveBank].flag40 = 1; + sub_804CF10(gBattleStruct->monToSwitchIntoId[2]); + gSpecialStatuses[gActiveBattler].flag40 = 1; } else { - EmitLinkStandbyMsg(0, 2, 0); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitLinkStandbyMsg(0, 2, 0); + MarkBattlerForControllerExec(gActiveBattler); flags |= 1; } } if (gBitTable[2] & hitmarkerFaintBits && !(gBitTable[0] & hitmarkerFaintBits)) { - gActiveBank = 2; + gActiveBattler = 2; if (sub_80423F4(2, 6, 6)) { - gAbsentBankFlags |= gBitTable[gActiveBank]; - gHitMarker &= ~(HITMARKER_FAINTED(gActiveBank)); - EmitCmd42(0); - MarkBufferBankForExecution(gActiveBank); + gAbsentBattlerFlags |= gBitTable[gActiveBattler]; + gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler)); + BtlController_EmitCmd42(0); + MarkBattlerForControllerExec(gActiveBattler); } - else if (!gSpecialStatuses[gActiveBank].flag40) + else if (!gSpecialStatuses[gActiveBattler].flag40) { - sub_804CF10(gBattleStruct->field_5C[0]); - gSpecialStatuses[gActiveBank].flag40 = 1; + sub_804CF10(gBattleStruct->monToSwitchIntoId[0]); + gSpecialStatuses[gActiveBattler].flag40 = 1; } else if (!(flags & 1)) { - EmitLinkStandbyMsg(0, 2, 0); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitLinkStandbyMsg(0, 2, 0); + MarkBattlerForControllerExec(gActiveBattler); } } if (gBitTable[1] & hitmarkerFaintBits) { - gActiveBank = 1; + gActiveBattler = 1; if (sub_80423F4(1, 6, 6)) { - gAbsentBankFlags |= gBitTable[gActiveBank]; - gHitMarker &= ~(HITMARKER_FAINTED(gActiveBank)); - EmitCmd42(0); - MarkBufferBankForExecution(gActiveBank); + gAbsentBattlerFlags |= gBitTable[gActiveBattler]; + gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler)); + BtlController_EmitCmd42(0); + MarkBattlerForControllerExec(gActiveBattler); } - else if (!gSpecialStatuses[gActiveBank].flag40) + else if (!gSpecialStatuses[gActiveBattler].flag40) { - sub_804CF10(gBattleStruct->field_5C[3]); - gSpecialStatuses[gActiveBank].flag40 = 1; + sub_804CF10(gBattleStruct->monToSwitchIntoId[3]); + gSpecialStatuses[gActiveBattler].flag40 = 1; } else { - EmitLinkStandbyMsg(0, 2, 0); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitLinkStandbyMsg(0, 2, 0); + MarkBattlerForControllerExec(gActiveBattler); flags |= 2; } } if (gBitTable[3] & hitmarkerFaintBits && !(gBitTable[1] & hitmarkerFaintBits)) { - gActiveBank = 3; + gActiveBattler = 3; if (sub_80423F4(3, 6, 6)) { - gAbsentBankFlags |= gBitTable[gActiveBank]; - gHitMarker &= ~(HITMARKER_FAINTED(gActiveBank)); - EmitCmd42(0); - MarkBufferBankForExecution(gActiveBank); + gAbsentBattlerFlags |= gBitTable[gActiveBattler]; + gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler)); + BtlController_EmitCmd42(0); + MarkBattlerForControllerExec(gActiveBattler); } - else if (!gSpecialStatuses[gActiveBank].flag40) + else if (!gSpecialStatuses[gActiveBattler].flag40) { - sub_804CF10(gBattleStruct->field_5C[1]); - gSpecialStatuses[gActiveBank].flag40 = 1; + sub_804CF10(gBattleStruct->monToSwitchIntoId[1]); + gSpecialStatuses[gActiveBattler].flag40 = 1; } else if (!(flags & 2)) { - EmitLinkStandbyMsg(0, 2, 0); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitLinkStandbyMsg(0, 2, 0); + MarkBattlerForControllerExec(gActiveBattler); } } @@ -5713,13 +5573,13 @@ static void atk50_openpartyscreen(void) flag40_2 = gSpecialStatuses[2].flag40; if (!flag40_2 && hitmarkerFaintBits != 0) { - if (gAbsentBankFlags & gBitTable[0]) - gActiveBank = 2; + if (gAbsentBattlerFlags & gBitTable[0]) + gActiveBattler = 2; else - gActiveBank = 0; + gActiveBattler = 0; - EmitLinkStandbyMsg(0, 2, 0); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitLinkStandbyMsg(0, 2, 0); + MarkBattlerForControllerExec(gActiveBattler); } } @@ -5729,13 +5589,13 @@ static void atk50_openpartyscreen(void) flag40_3 = gSpecialStatuses[3].flag40; if (!flag40_3 && hitmarkerFaintBits != 0) { - if (gAbsentBankFlags & gBitTable[1]) - gActiveBank = 3; + if (gAbsentBattlerFlags & gBitTable[1]) + gActiveBattler = 3; else - gActiveBank = 1; + gActiveBattler = 1; - EmitLinkStandbyMsg(0, 2, 0); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitLinkStandbyMsg(0, 2, 0); + MarkBattlerForControllerExec(gActiveBattler); } } } @@ -5750,34 +5610,34 @@ static void atk50_openpartyscreen(void) hitmarkerFaintBits = gHitMarker >> 0x1C; if (gBitTable[2] & hitmarkerFaintBits && gBitTable[0] & hitmarkerFaintBits) { - gActiveBank = 2; + gActiveBattler = 2; if (sub_80423F4(2, gBattleBufferB[0][1], 6)) { - gAbsentBankFlags |= gBitTable[gActiveBank]; - gHitMarker &= ~(HITMARKER_FAINTED(gActiveBank)); - EmitCmd42(0); - MarkBufferBankForExecution(gActiveBank); + gAbsentBattlerFlags |= gBitTable[gActiveBattler]; + gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler)); + BtlController_EmitCmd42(0); + MarkBattlerForControllerExec(gActiveBattler); } - else if (!gSpecialStatuses[gActiveBank].flag40) + else if (!gSpecialStatuses[gActiveBattler].flag40) { - sub_804CF10(gBattleStruct->field_5C[0]); - gSpecialStatuses[gActiveBank].flag40 = 1; + sub_804CF10(gBattleStruct->monToSwitchIntoId[0]); + gSpecialStatuses[gActiveBattler].flag40 = 1; } } if (gBitTable[3] & hitmarkerFaintBits && hitmarkerFaintBits & gBitTable[1]) { - gActiveBank = 3; + gActiveBattler = 3; if (sub_80423F4(3, gBattleBufferB[1][1], 6)) { - gAbsentBankFlags |= gBitTable[gActiveBank]; - gHitMarker &= ~(HITMARKER_FAINTED(gActiveBank)); - EmitCmd42(0); - MarkBufferBankForExecution(gActiveBank); + gAbsentBattlerFlags |= gBitTable[gActiveBattler]; + gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler)); + BtlController_EmitCmd42(0); + MarkBattlerForControllerExec(gActiveBattler); } - else if (!gSpecialStatuses[gActiveBank].flag40) + else if (!gSpecialStatuses[gActiveBattler].flag40) { - sub_804CF10(gBattleStruct->field_5C[1]); - gSpecialStatuses[gActiveBank].flag40 = 1; + sub_804CF10(gBattleStruct->monToSwitchIntoId[1]); + gSpecialStatuses[gActiveBattler].flag40 = 1; } } gBattlescriptCurrInstr += 6; @@ -5794,17 +5654,17 @@ static void atk50_openpartyscreen(void) hitmarkerFaintBits = gHitMarker >> 0x1C; - gBank1 = 0; + gBattlerFainted = 0; while (1) { - if (gBitTable[gBank1] & hitmarkerFaintBits) + if (gBitTable[gBattlerFainted] & hitmarkerFaintBits) break; - if (gBank1 >= gNoOfAllBanks) + if (gBattlerFainted >= gBattlersCount) break; - gBank1++; + gBattlerFainted++; } - if (gBank1 == gNoOfAllBanks) + if (gBattlerFainted == gBattlersCount) gBattlescriptCurrInstr = jumpPtr; } else @@ -5814,76 +5674,76 @@ static void atk50_openpartyscreen(void) else hitmarkerFaintBits = 1; - bank = GetBattleBank(gBattlescriptCurrInstr[1] & ~(0x80)); - if (gSpecialStatuses[bank].flag40) + battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~(0x80)); + if (gSpecialStatuses[battlerId].flag40) { gBattlescriptCurrInstr += 6; } - else if (sub_80423F4(bank, 6, 6)) + else if (sub_80423F4(battlerId, 6, 6)) { - gActiveBank = bank; - gAbsentBankFlags |= gBitTable[gActiveBank]; - gHitMarker &= ~(HITMARKER_FAINTED(gActiveBank)); + gActiveBattler = battlerId; + gAbsentBattlerFlags |= gBitTable[gActiveBattler]; + gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler)); gBattlescriptCurrInstr = jumpPtr; } else { - gActiveBank = bank; - *(gBattleStruct->field_58 + gActiveBank) = gBattlePartyID[gActiveBank]; - *(gBattleStruct->field_5C + gActiveBank) = 6; - gBattleStruct->field_93 &= ~(gBitTable[gActiveBank]); + gActiveBattler = battlerId; + *(gBattleStruct->field_58 + gActiveBattler) = gBattlerPartyIndexes[gActiveBattler]; + *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = 6; + gBattleStruct->field_93 &= ~(gBitTable[gActiveBattler]); - EmitChoosePokemon(0, hitmarkerFaintBits, *(gBattleStruct->field_5C + (gActiveBank ^ 2)), 0, gBattleStruct->field_60[gActiveBank]); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitChoosePokemon(0, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + (gActiveBattler ^ 2)), 0, gBattleStruct->field_60[gActiveBattler]); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 6; - if (GetBankIdentity(gActiveBank) == 0 && gBattleResults.playerSwitchesCounter < 0xFF) + if (GetBattlerPosition(gActiveBattler) == 0 && gBattleResults.playerSwitchesCounter < 0xFF) gBattleResults.playerSwitchesCounter++; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { - if (gActiveBank != bank) + if (gActiveBattler != battlerId) { - EmitLinkStandbyMsg(0, 2, 0); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitLinkStandbyMsg(0, 2, 0); + MarkBattlerForControllerExec(gActiveBattler); } } } else { - gActiveBank = GetBankByIdentity(GetBankIdentity(bank) ^ BIT_SIDE); - if (gAbsentBankFlags & gBitTable[gActiveBank]) - gActiveBank ^= BIT_MON; + gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(battlerId) ^ BIT_SIDE); + if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) + gActiveBattler ^= BIT_FLANK; - EmitLinkStandbyMsg(0, 2, 0); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitLinkStandbyMsg(0, 2, 0); + MarkBattlerForControllerExec(gActiveBattler); } } } } -static void atk51_switch_handle_order(void) +static void atk51_switchhandleorder(void) { s32 i; - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); switch (gBattlescriptCurrInstr[2]) { case 0: - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleBufferB[i][0] == 0x22) { - *(gBattleStruct->field_5C + i) = gBattleBufferB[i][1]; + *(gBattleStruct->monToSwitchIntoId + i) = gBattleBufferB[i][1]; if (!(gBattleStruct->field_93 & gBitTable[i])) { - RecordedBattle_SetBankAction(i, gBattleBufferB[i][1]); + RecordedBattle_SetBattlerAction(i, gBattleBufferB[i][1]); gBattleStruct->field_93 |= gBitTable[i]; } } @@ -5891,40 +5751,40 @@ static void atk51_switch_handle_order(void) break; case 1: if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) - sub_803BDA0(gActiveBank); + sub_803BDA0(gActiveBattler); break; case 2: - if (!(gBattleStruct->field_93 & gBitTable[gActiveBank])) + if (!(gBattleStruct->field_93 & gBitTable[gActiveBattler])) { - RecordedBattle_SetBankAction(gActiveBank, gBattleBufferB[gActiveBank][1]); - gBattleStruct->field_93 |= gBitTable[gActiveBank]; + RecordedBattle_SetBattlerAction(gActiveBattler, gBattleBufferB[gActiveBattler][1]); + gBattleStruct->field_93 |= gBitTable[gActiveBattler]; } // fall through case 3: - gBattleCommunication[0] = gBattleBufferB[gActiveBank][1]; - *(gBattleStruct->field_5C + gActiveBank) = gBattleBufferB[gActiveBank][1]; + gBattleCommunication[0] = gBattleBufferB[gActiveBattler][1]; + *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = gBattleBufferB[gActiveBattler][1]; if (gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_MULTI) { - *(gActiveBank * 3 + (u8*)(gBattleStruct->field_60) + 0) &= 0xF; - *(gActiveBank * 3 + (u8*)(gBattleStruct->field_60) + 0) |= (gBattleBufferB[gActiveBank][2] & 0xF0); - *(gActiveBank * 3 + (u8*)(gBattleStruct->field_60) + 1) = gBattleBufferB[gActiveBank][3]; + *(gActiveBattler * 3 + (u8*)(gBattleStruct->field_60) + 0) &= 0xF; + *(gActiveBattler * 3 + (u8*)(gBattleStruct->field_60) + 0) |= (gBattleBufferB[gActiveBattler][2] & 0xF0); + *(gActiveBattler * 3 + (u8*)(gBattleStruct->field_60) + 1) = gBattleBufferB[gActiveBattler][3]; - *((gActiveBank ^ BIT_MON) * 3 + (u8*)(gBattleStruct->field_60) + 0) &= (0xF0); - *((gActiveBank ^ BIT_MON) * 3 + (u8*)(gBattleStruct->field_60) + 0) |= (gBattleBufferB[gActiveBank][2] & 0xF0) >> 4; - *((gActiveBank ^ BIT_MON) * 3 + (u8*)(gBattleStruct->field_60) + 2) = gBattleBufferB[gActiveBank][3]; + *((gActiveBattler ^ BIT_FLANK) * 3 + (u8*)(gBattleStruct->field_60) + 0) &= (0xF0); + *((gActiveBattler ^ BIT_FLANK) * 3 + (u8*)(gBattleStruct->field_60) + 0) |= (gBattleBufferB[gActiveBattler][2] & 0xF0) >> 4; + *((gActiveBattler ^ BIT_FLANK) * 3 + (u8*)(gBattleStruct->field_60) + 2) = gBattleBufferB[gActiveBattler][3]; } else if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) { - sub_80571DC(gActiveBank, *(gBattleStruct->field_5C + gActiveBank)); + sub_80571DC(gActiveBattler, *(gBattleStruct->monToSwitchIntoId + gActiveBattler)); } else { - sub_803BDA0(gActiveBank); + sub_803BDA0(gActiveBattler); } - PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[gBankAttacker].species) - PREPARE_MON_NICK_BUFFER(gBattleTextBuff2, gActiveBank, gBattleBufferB[gActiveBank][1]) + PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerAttacker].species) + PREPARE_MON_NICK_BUFFER(gBattleTextBuff2, gActiveBattler, gBattleBufferB[gActiveBattler][1]) break; } @@ -5932,65 +5792,65 @@ static void atk51_switch_handle_order(void) gBattlescriptCurrInstr += 3; } -static void atk52_switch_in_effects(void) +static void atk52_switchineffects(void) { s32 i; - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - sub_803FA70(gActiveBank); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + sub_803FA70(gActiveBattler); - gHitMarker &= ~(HITMARKER_FAINTED(gActiveBank)); - gSpecialStatuses[gActiveBank].flag40 = 0; + gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler)); + gSpecialStatuses[gActiveBattler].flag40 = 0; - if (!(gSideAffecting[GetBankSide(gActiveBank)] & SIDE_STATUS_SPIKES_DAMAGED) - && (gSideAffecting[GetBankSide(gActiveBank)] & SIDE_STATUS_SPIKES) - && gBattleMons[gActiveBank].type1 != TYPE_FLYING - && gBattleMons[gActiveBank].type2 != TYPE_FLYING - && gBattleMons[gActiveBank].ability != ABILITY_LEVITATE) + if (!(gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_SPIKES_DAMAGED) + && (gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_SPIKES) + && gBattleMons[gActiveBattler].type1 != TYPE_FLYING + && gBattleMons[gActiveBattler].type2 != TYPE_FLYING + && gBattleMons[gActiveBattler].ability != ABILITY_LEVITATE) { u8 spikesDmg; - gSideAffecting[GetBankSide(gActiveBank)] |= SIDE_STATUS_SPIKES_DAMAGED; + gSideStatuses[GetBattlerSide(gActiveBattler)] |= SIDE_STATUS_SPIKES_DAMAGED; - gBattleMons[gActiveBank].status2 &= ~(STATUS2_DESTINY_BOND); + gBattleMons[gActiveBattler].status2 &= ~(STATUS2_DESTINY_BOND); gHitMarker &= ~(HITMARKER_DESTINYBOND); - spikesDmg = (5 - gSideTimers[GetBankSide(gActiveBank)].spikesAmount) * 2; - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / (spikesDmg); + spikesDmg = (5 - gSideTimers[GetBattlerSide(gActiveBattler)].spikesAmount) * 2; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / (spikesDmg); if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - gBattleScripting.bank = gActiveBank; + gBattleScripting.battler = gActiveBattler; BattleScriptPushCursor(); - if (gBattlescriptCurrInstr[1] == 0) - gBattlescriptCurrInstr = gUnknown_082DAE90; - else if (gBattlescriptCurrInstr[1] == 1) - gBattlescriptCurrInstr = gUnknown_082DAE59; + if (gBattlescriptCurrInstr[1] == BS_TARGET) + gBattlescriptCurrInstr = BattleScript_SpikesOnTarget; + else if (gBattlescriptCurrInstr[1] == BS_ATTACKER) + gBattlescriptCurrInstr = BattleScript_SpikesOnAttacker; else - gBattlescriptCurrInstr = gUnknown_082DAEC7; + gBattlescriptCurrInstr = BattleScript_SpikesOnFaintedBattler; } else { - if (gBattleMons[gActiveBank].ability == ABILITY_TRUANT && !gDisableStructs[gActiveBank].truantUnknownBit) - gDisableStructs[gActiveBank].truantCounter = 1; + if (gBattleMons[gActiveBattler].ability == ABILITY_TRUANT && !gDisableStructs[gActiveBattler].truantUnknownBit) + gDisableStructs[gActiveBattler].truantCounter = 1; - gDisableStructs[gActiveBank].truantUnknownBit = 0; + gDisableStructs[gActiveBattler].truantUnknownBit = 0; - if (AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gActiveBank, 0, 0, 0) == 0 && - ItemBattleEffects(0, gActiveBank, 0) == 0) + if (AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gActiveBattler, 0, 0, 0) == 0 && + ItemBattleEffects(0, gActiveBattler, 0) == 0) { - gSideAffecting[GetBankSide(gActiveBank)] &= ~(SIDE_STATUS_SPIKES_DAMAGED); + gSideStatuses[GetBattlerSide(gActiveBattler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED); - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - if (gBanksByTurnOrder[i] == gActiveBank) - gActionsByTurnOrder[i] = ACTION_CANCEL_PARTNER; + if (gBattleTurnOrder[i] == gActiveBattler) + gActionsByTurnOrder[i] = B_ACTION_CANCEL_PARTNER; } - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - u16* hpOnSwitchout = &gBattleStruct->hpOnSwitchout[GetBankSide(i)]; + u16* hpOnSwitchout = &gBattleStruct->hpOnSwitchout[GetBattlerSide(i)]; *hpOnSwitchout = gBattleMons[i].hp; } @@ -5998,14 +5858,14 @@ static void atk52_switch_in_effects(void) { u32 hitmarkerFaintBits = gHitMarker >> 0x1C; - gBank1++; + gBattlerFainted++; while (1) { - if (hitmarkerFaintBits & gBitTable[gBank1] && !(gAbsentBankFlags & gBitTable[gBank1])) + if (hitmarkerFaintBits & gBitTable[gBattlerFainted] && !(gAbsentBattlerFlags & gBitTable[gBattlerFainted])) break; - if (gBank1 >= gNoOfAllBanks) + if (gBattlerFainted >= gBattlersCount) break; - gBank1++; + gBattlerFainted++; } } gBattlescriptCurrInstr += 2; @@ -6013,68 +5873,68 @@ static void atk52_switch_in_effects(void) } } -static void atk53_trainer_slide(void) +static void atk53_trainerslidein(void) { - gActiveBank = GetBankByIdentity(gBattlescriptCurrInstr[1]); - EmitTrainerSlide(0); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = GetBattlerAtPosition(gBattlescriptCurrInstr[1]); + BtlController_EmitTrainerSlide(0); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } -static void atk54_effectiveness_sound(void) +static void atk54_playse(void) { - gActiveBank = gBankAttacker; - EmitEffectivenessSound(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1)); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBattlerAttacker; + BtlController_EmitPlaySE(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1)); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; } -static void atk55_play_fanfare(void) +static void atk55_fanfare(void) { - gActiveBank = gBankAttacker; - EmitPlayFanfareOrBGM(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1), FALSE); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBattlerAttacker; + BtlController_EmitPlayFanfareOrBGM(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1), FALSE); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; } -static void atk56_fainting_cry(void) +static void atk56_playfaintcry(void) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - EmitFaintingCry(0); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + BtlController_EmitFaintingCry(0); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } static void atk57(void) { - gActiveBank = GetBankByIdentity(0); - EmitCmd55(0, gBattleOutcome); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + BtlController_EmitCmd55(0, gBattleOutcome); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 1; } -static void atk58_return_to_ball(void) +static void atk58_returntoball(void) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - EmitReturnMonToBall(0, 1); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + BtlController_EmitReturnMonToBall(0, 1); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } -static void atk59_learnmove_inbattle(void) +static void atk59_handlelearnnewmove(void) { - const u8* jumpPtr1 = BSScriptReadPtr(gBattlescriptCurrInstr + 1); - const u8* jumpPtr2 = BSScriptReadPtr(gBattlescriptCurrInstr + 5); + const u8 *jumpPtr1 = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + const u8 *jumpPtr2 = BSScriptReadPtr(gBattlescriptCurrInstr + 5); - u16 ret = MonTryLearningNewMove(&gPlayerParty[gBattleStruct->expGetterId], gBattlescriptCurrInstr[9]); + u16 ret = MonTryLearningNewMove(&gPlayerParty[gBattleStruct->expGetterMonId], gBattlescriptCurrInstr[9]); while (ret == 0xFFFE) - ret = MonTryLearningNewMove(&gPlayerParty[gBattleStruct->expGetterId], 0); + ret = MonTryLearningNewMove(&gPlayerParty[gBattleStruct->expGetterMonId], 0); if (ret == 0) { @@ -6086,20 +5946,20 @@ static void atk59_learnmove_inbattle(void) } else { - gActiveBank = GetBankByIdentity(0); + gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - if (gBattlePartyID[gActiveBank] == gBattleStruct->expGetterId - && !(gBattleMons[gActiveBank].status2 & STATUS2_TRANSFORMED)) + if (gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterMonId + && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) { - GiveMoveToBattleMon(&gBattleMons[gActiveBank], ret); + GiveMoveToBattleMon(&gBattleMons[gActiveBattler], ret); } if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - gActiveBank = GetBankByIdentity(2); - if (gBattlePartyID[gActiveBank] == gBattleStruct->expGetterId - && !(gBattleMons[gActiveBank].status2 & STATUS2_TRANSFORMED)) + gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); + if (gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterMonId + && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) { - GiveMoveToBattleMon(&gBattleMons[gActiveBank], ret); + GiveMoveToBattleMon(&gBattleMons[gActiveBattler], ret); } } @@ -6109,7 +5969,7 @@ static void atk59_learnmove_inbattle(void) static void atk5A_yesnoboxlearnmove(void) { - gActiveBank = 0; + gActiveBattler = 0; switch (gBattleScripting.learnMoveState) { @@ -6159,7 +6019,7 @@ static void atk5A_yesnoboxlearnmove(void) if (!gPaletteFade.active) { FreeAllWindowBuffers(); - sub_81BFA38(gPlayerParty, gBattleStruct->expGetterId, gPlayerPartyCount - 1, ReshowBattleScreenAfterMenu, gMoveToLearn); + sub_81BFA38(gPlayerParty, gBattleStruct->expGetterMonId, gPlayerPartyCount - 1, ReshowBattleScreenAfterMenu, gMoveToLearn); gBattleScripting.learnMoveState++; } break; @@ -6179,10 +6039,10 @@ static void atk5A_yesnoboxlearnmove(void) } else { - u16 moveId = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_MOVE1 + movePosition); + u16 moveId = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MOVE1 + movePosition); if (IsHMMove2(moveId)) { - PrepareStringBattle(STRINGID_HMMOVESCANTBEFORGOTTEN, gActiveBank); + PrepareStringBattle(STRINGID_HMMOVESCANTBEFORGOTTEN, gActiveBattler); gBattleScripting.learnMoveState = 6; } else @@ -6191,10 +6051,10 @@ static void atk5A_yesnoboxlearnmove(void) PREPARE_MOVE_BUFFER(gBattleTextBuff2, moveId) - RemoveMonPPBonus(&gPlayerParty[gBattleStruct->expGetterId], movePosition); - SetMonMoveSlot(&gPlayerParty[gBattleStruct->expGetterId], gMoveToLearn, movePosition); + RemoveMonPPBonus(&gPlayerParty[gBattleStruct->expGetterMonId], movePosition); + SetMonMoveSlot(&gPlayerParty[gBattleStruct->expGetterMonId], gMoveToLearn, movePosition); - if (gBattlePartyID[0] == gBattleStruct->expGetterId + if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterMonId && !(gBattleMons[0].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[0].unk18_b & gBitTable[movePosition])) { @@ -6202,7 +6062,7 @@ static void atk5A_yesnoboxlearnmove(void) SetBattleMonMoveSlot(&gBattleMons[0], gMoveToLearn, movePosition); } if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE - && gBattlePartyID[2] == gBattleStruct->expGetterId + && gBattlerPartyIndexes[2] == gBattleStruct->expGetterMonId && !(gBattleMons[2].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[2].unk18_b & gBitTable[movePosition])) { @@ -6218,7 +6078,7 @@ static void atk5A_yesnoboxlearnmove(void) gBattlescriptCurrInstr += 5; break; case 6: - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { gBattleScripting.learnMoveState = 2; } @@ -6275,16 +6135,16 @@ static void atk5B_yesnoboxstoplearningmove(void) static void atk5C_hitanimation(void) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - if (gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT) { gBattlescriptCurrInstr += 2; } - else if (!(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE) || !(gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE) || gDisableStructs[gActiveBank].substituteHP == 0) + else if (!(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE) || !(gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE) || gDisableStructs[gActiveBattler].substituteHP == 0) { - EmitHitAnimation(0); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitHitAnimation(0); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } else @@ -6301,7 +6161,7 @@ static u32 GetTrainerMoneyToGive(u16 trainerId) if (trainerId == SECRET_BASE_OPPONENT) { - moneyReward = 20 * gBattleResources->secretBase->partyLevels[0] * gBattleStruct->moneyMultiplier; + moneyReward = 20 * gBattleResources->secretBase->party.levels[0] * gBattleStruct->moneyMultiplier; } else { @@ -6313,19 +6173,19 @@ static u32 GetTrainerMoneyToGive(u16 trainerId) lastMonLevel = party[gTrainers[trainerId].partySize - 1].lvl; } break; - case PARTY_FLAG_CUSTOM_MOVES: + case F_TRAINER_PARTY_CUSTOM_MOVESET: { const struct TrainerMonNoItemCustomMoves *party = gTrainers[trainerId].party.NoItemCustomMoves; lastMonLevel = party[gTrainers[trainerId].partySize - 1].lvl; } break; - case PARTY_FLAG_HAS_ITEM: + case F_TRAINER_PARTY_HELD_ITEM: { const struct TrainerMonItemDefaultMoves *party = gTrainers[trainerId].party.ItemDefaultMoves; lastMonLevel = party[gTrainers[trainerId].partySize - 1].lvl; } break; - case PARTY_FLAG_CUSTOM_MOVES | PARTY_FLAG_HAS_ITEM: + case F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM: { const struct TrainerMonItemCustomMoves *party = gTrainers[trainerId].party.ItemCustomMoves; lastMonLevel = party[gTrainers[trainerId].partySize - 1].lvl; @@ -6363,26 +6223,26 @@ static void atk5D_getmoneyreward(void) gBattlescriptCurrInstr++; } -static void atk5E_8025A70(void) +static void atk5E(void) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); switch (gBattleCommunication[0]) { case 0: - EmitGetMonData(0, REQUEST_ALL_BATTLE, 0); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitGetMonData(0, REQUEST_ALL_BATTLE, 0); + MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[0]++; break; case 1: - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { s32 i; - struct BattlePokemon* bufferPoke = (struct BattlePokemon*) &gBattleBufferB[gActiveBank][4]; + struct BattlePokemon* bufferPoke = (struct BattlePokemon*) &gBattleBufferB[gActiveBattler][4]; for (i = 0; i < 4; i++) { - gBattleMons[gActiveBank].moves[i] = bufferPoke->moves[i]; - gBattleMons[gActiveBank].pp[i] = bufferPoke->pp[i]; + gBattleMons[gActiveBattler].moves[i] = bufferPoke->moves[i]; + gBattleMons[gActiveBattler].pp[i] = bufferPoke->pp[i]; } gBattlescriptCurrInstr += 2; } @@ -6390,11 +6250,11 @@ static void atk5E_8025A70(void) } } -static void atk5F_8025B24(void) +static void atk5F(void) { - gActiveBank = gBankAttacker; - gBankAttacker = gBankTarget; - gBankTarget = gActiveBank; + gActiveBattler = gBattlerAttacker; + gBattlerAttacker = gBattlerTarget; + gBattlerTarget = gActiveBattler; if (gHitMarker & HITMARKER_PURSUIT_TRAP) gHitMarker &= ~(HITMARKER_PURSUIT_TRAP); @@ -6404,26 +6264,26 @@ static void atk5F_8025B24(void) gBattlescriptCurrInstr++; } -static void atk60_increment_gamestat(void) +static void atk60_incrementgamestat(void) { - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) IncrementGameStat(gBattlescriptCurrInstr[1]); gBattlescriptCurrInstr += 2; } -static void atk61_draw_party_status_summary(void) +static void atk61_drawpartystatussummary(void) { s32 i; struct Pokemon* party; struct HpAndStatus hpStatuses[6]; - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; @@ -6443,42 +6303,42 @@ static void atk61_draw_party_status_summary(void) } } - EmitDrawPartyStatusSummary(0, hpStatuses, 1); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitDrawPartyStatusSummary(0, hpStatuses, 1); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } -static void atk62_08025C6C(void) +static void atk62(void) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - EmitCmd49(0); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + BtlController_EmitCmd49(0); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } static void atk63_jumptorandomattack(void) { - if (gBattlescriptCurrInstr[1] != 0) + if (gBattlescriptCurrInstr[1]) gCurrentMove = gRandomMove; else - gLastUsedMove = gCurrentMove = gRandomMove; + gChosenMove = gCurrentMove = gRandomMove; gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]; } static void atk64_statusanimation(void) { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) - && gDisableStructs[gActiveBank].substituteHP == 0 + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + if (!(gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) + && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - EmitStatusAnimation(0, FALSE, gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitStatusAnimation(0, FALSE, gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr += 2; } @@ -6488,16 +6348,16 @@ static void atk65_status2animation(void) { u32 wantedToAnimate; - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); wantedToAnimate = BSScriptRead32(gBattlescriptCurrInstr + 2); - if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) - && gDisableStructs[gActiveBank].substituteHP == 0 + if (!(gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) + && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - EmitStatusAnimation(0, TRUE, gBattleMons[gActiveBank].status2 & wantedToAnimate); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitStatusAnimation(0, TRUE, gBattleMons[gActiveBattler].status2 & wantedToAnimate); + MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr += 6; } @@ -6507,16 +6367,16 @@ static void atk66_chosenstatusanimation(void) { u32 wantedStatus; - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); wantedStatus = BSScriptRead32(gBattlescriptCurrInstr + 3); - if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) - && gDisableStructs[gActiveBank].substituteHP == 0 + if (!(gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) + && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - EmitStatusAnimation(0, gBattlescriptCurrInstr[2], wantedStatus); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitStatusAnimation(0, gBattlescriptCurrInstr[2], wantedStatus); + MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr += 7; } @@ -6565,56 +6425,57 @@ static void atk67_yesnobox(void) } } -static void atk68_80246A0(void) +static void atk68_cancelallactions(void) { s32 i; - for (i = 0; i < gNoOfAllBanks; i++) - gActionsByTurnOrder[i] = ACTION_CANCEL_PARTNER; + for (i = 0; i < gBattlersCount; i++) + gActionsByTurnOrder[i] = B_ACTION_CANCEL_PARTNER; gBattlescriptCurrInstr++; } -static void atk69_dmg_adjustment3(void) // The same as 0x7, except there's no random damage multiplier. +static void atk69_adjustsetdamage(void) // The same as 0x7, except there's no random damage multiplier. { - u8 holdEffect, quality; + u8 holdEffect, param; - if (gBattleMons[gBankTarget].item == ITEM_ENIGMA_BERRY) + if (gBattleMons[gBattlerTarget].item == ITEM_ENIGMA_BERRY) { - holdEffect = gEnigmaBerries[gBankTarget].holdEffect, quality = gEnigmaBerries[gBankTarget].holdEffectParam; + holdEffect = gEnigmaBerries[gBattlerTarget].holdEffect; + param = gEnigmaBerries[gBattlerTarget].holdEffectParam; } else { - holdEffect = ItemId_GetHoldEffect(gBattleMons[gBankTarget].item); - quality = ItemId_GetHoldEffectParam(gBattleMons[gBankTarget].item); + holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattlerTarget].item); + param = ItemId_GetHoldEffectParam(gBattleMons[gBattlerTarget].item); } - gStringBank = gBankTarget; + gPotentialItemEffectBattler = gBattlerTarget; - if (holdEffect == HOLD_EFFECT_FOCUS_BAND && (Random() % 100) < quality) + if (holdEffect == HOLD_EFFECT_FOCUS_BAND && (Random() % 100) < param) { - RecordItemEffectBattle(gBankTarget, holdEffect); - gSpecialStatuses[gBankTarget].focusBanded = 1; + RecordItemEffectBattle(gBattlerTarget, holdEffect); + gSpecialStatuses[gBattlerTarget].focusBanded = 1; } - if (gBattleMons[gBankTarget].status2 & STATUS2_SUBSTITUTE) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE) goto END; - if (gBattleMoves[gCurrentMove].effect != EFFECT_FALSE_SWIPE && !gProtectStructs[gBankTarget].endured - && !gSpecialStatuses[gBankTarget].focusBanded) + if (gBattleMoves[gCurrentMove].effect != EFFECT_FALSE_SWIPE && !gProtectStructs[gBattlerTarget].endured + && !gSpecialStatuses[gBattlerTarget].focusBanded) goto END; - if (gBattleMons[gBankTarget].hp > gBattleMoveDamage) + if (gBattleMons[gBattlerTarget].hp > gBattleMoveDamage) goto END; - gBattleMoveDamage = gBattleMons[gBankTarget].hp - 1; + gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1; - if (gProtectStructs[gBankTarget].endured) + if (gProtectStructs[gBattlerTarget].endured) { - gBattleMoveFlags |= MOVESTATUS_ENDURED; + gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; } - else if (gSpecialStatuses[gBankTarget].focusBanded) + else if (gSpecialStatuses[gBattlerTarget].focusBanded) { - gBattleMoveFlags |= MOVESTATUS_HUNGON; - gLastUsedItem = gBattleMons[gBankTarget].item; + gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; + gLastUsedItem = gBattleMons[gBattlerTarget].item; } END: @@ -6625,26 +6486,26 @@ static void atk6A_removeitem(void) { u16* usedHeldItem; - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - usedHeldItem = &gBattleStruct->usedHeldItems[gActiveBank]; - *usedHeldItem = gBattleMons[gActiveBank].item; - gBattleMons[gActiveBank].item = 0; + usedHeldItem = &gBattleStruct->usedHeldItems[gActiveBattler]; + *usedHeldItem = gBattleMons[gActiveBattler].item; + gBattleMons[gActiveBattler].item = 0; - EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBank].item); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBattler].item); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } static void atk6B_atknameinbuff1(void) { - PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBankAttacker, gBattlePartyID[gBankAttacker]) + PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBattlerAttacker, gBattlerPartyIndexes[gBattlerAttacker]) gBattlescriptCurrInstr++; } -static void atk6C_draw_lvlupbox(void) +static void atk6C_drawlvlupbox(void) { if (gBattleScripting.atk6C_state == 0) { @@ -6740,7 +6601,7 @@ static void sub_804F100(void) { struct StatsArray currentStats; - sub_81D388C(&gPlayerParty[gBattleStruct->expGetterId], ¤tStats); + sub_81D388C(&gPlayerParty[gBattleStruct->expGetterMonId], ¤tStats); sub_81D3640(0xD, gBattleResources->statsBeforeLvlUp, ¤tStats, 0xE, 0xD, 0xF); } @@ -6748,7 +6609,7 @@ static void sub_804F144(void) { struct StatsArray currentStats; - sub_81D388C(&gPlayerParty[gBattleStruct->expGetterId], ¤tStats); + sub_81D388C(&gPlayerParty[gBattleStruct->expGetterMonId], ¤tStats); sub_81D3784(0xD, ¤tStats, 0xE, 0xD, 0xF); } @@ -6791,9 +6652,9 @@ static void PutLevelAndGenderOnLvlUpBox(void) u8 *txtPtr; u32 var; - monLevel = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_LEVEL); - monGender = GetMonGender(&gPlayerParty[gBattleStruct->expGetterId]); - GetMonNickname(&gPlayerParty[gBattleStruct->expGetterId], gStringVar4); + monLevel = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL); + monGender = GetMonGender(&gPlayerParty[gBattleStruct->expGetterMonId]); + GetMonNickname(&gPlayerParty[gBattleStruct->expGetterMonId], gStringVar4); subPrinter.current_text_offset = gStringVar4; subPrinter.windowId = 14; @@ -6805,7 +6666,7 @@ static void PutLevelAndGenderOnLvlUpBox(void) subPrinter.letterSpacing = 0; subPrinter.lineSpacing = 0; subPrinter.fontColor_l = TEXT_COLOR_TRANSPARENT; - subPrinter.fontColor_h = TEXT_COLOR_WHITE; + subPrinter.fgColor = TEXT_COLOR_WHITE; subPrinter.bgColor = TEXT_COLOR_TRANSPARENT; subPrinter.shadowColor = TEXT_COLOR_DARK_GREY; @@ -6859,8 +6720,8 @@ static bool8 sub_804F344(void) return (gBattle_BG2_X != 0x1A0); } -#define sDestroy data0 -#define sSavedLvlUpBoxXPosition data1 +#define sDestroy data[0] +#define sSavedLvlUpBoxXPosition data[1] static void PutMonIconOnLvlUpBox(void) { @@ -6869,8 +6730,8 @@ static void PutMonIconOnLvlUpBox(void) struct SpriteSheet iconSheet; struct SpritePalette iconPalSheet; - u16 species = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_SPECIES); - u32 personality = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_PERSONALITY); + u16 species = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPECIES); + u32 personality = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_PERSONALITY); const u8* iconPtr = GetMonIconPtr(species, personality, 1); iconSheet.data = iconPtr; @@ -6910,40 +6771,40 @@ static void SpriteCB_MonIconOnLvlUpBox(struct Sprite* sprite) static bool32 IsMonGettingExpSentOut(void) { - if (gBattlePartyID[0] == gBattleStruct->expGetterId) + if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterMonId) return TRUE; - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattlePartyID[2] == gBattleStruct->expGetterId) + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattlerPartyIndexes[2] == gBattleStruct->expGetterMonId) return TRUE; return FALSE; } -static void atk6D_reset_sentpokes_value(void) +static void atk6D_resetsentmonsvalue(void) { ResetSentPokesToOpponentValue(); gBattlescriptCurrInstr++; } -static void atk6E_set_atk_to_player0(void) +static void atk6E_setatktoplayer0(void) { - gBankAttacker = GetBankByIdentity(0); + gBattlerAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); gBattlescriptCurrInstr++; } -static void atk6F_set_visible(void) +static void atk6F_makevisible(void) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - EmitSpriteInvisibility(0, FALSE); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + BtlController_EmitSpriteInvisibility(0, FALSE); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } -static void atk70_record_last_used_ability(void) +static void atk70_recordlastability(void) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - RecordAbilityBattle(gActiveBank, gLastUsedAbility); - gBattlescriptCurrInstr += 1; // UB: Should be + 2, one byte for command and one byte for bank argument. + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + RecordAbilityBattle(gActiveBattler, gLastUsedAbility); + gBattlescriptCurrInstr += 1; // UB: Should be + 2, one byte for command and one byte for battlerId argument. } void BufferMoveToLearnIntoBattleTextBuff2(void) @@ -6951,29 +6812,29 @@ void BufferMoveToLearnIntoBattleTextBuff2(void) PREPARE_MOVE_BUFFER(gBattleTextBuff2, gMoveToLearn); } -static void atk71_buffer_move_to_learn(void) +static void atk71_buffermovetolearn(void) { BufferMoveToLearnIntoBattleTextBuff2(); gBattlescriptCurrInstr++; } -static void atk72_jump_if_run_attempt_success(void) +static void atk72_jumpifplayerran(void) { - if (TryRunFromBattle(gBank1)) + if (TryRunFromBattle(gBattlerFainted)) gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); else gBattlescriptCurrInstr += 5; } -static void atk73_hp_thresholds(void) +static void atk73_hpthresholds(void) { u8 opposingBank; s32 result; if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - opposingBank = gActiveBank ^ BIT_SIDE; + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + opposingBank = gActiveBattler ^ BIT_SIDE; result = gBattleMons[opposingBank].hp * 100 / gBattleMons[opposingBank].maxHP; if (result == 0) @@ -6992,7 +6853,7 @@ static void atk73_hp_thresholds(void) gBattlescriptCurrInstr += 2; } -static void atk74_hp_thresholds2(void) +static void atk74_hpthresholds2(void) { u8 opposingBank; s32 result; @@ -7000,9 +6861,9 @@ static void atk74_hp_thresholds2(void) if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - opposingBank = gActiveBank ^ BIT_SIDE; - hpSwitchout = *(gBattleStruct->hpOnSwitchout + GetBankSide(opposingBank)); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + opposingBank = gActiveBattler ^ BIT_SIDE; + hpSwitchout = *(gBattleStruct->hpOnSwitchout + GetBattlerSide(opposingBank)); result = (hpSwitchout - gBattleMons[opposingBank].hp) * 100 / hpSwitchout; if (gBattleMons[opposingBank].hp >= hpSwitchout) @@ -7018,10 +6879,10 @@ static void atk74_hp_thresholds2(void) gBattlescriptCurrInstr += 2; } -static void atk75_item_effect_on_opponent(void) +static void atk75_useitemonopponent(void) { - gBankInMenu = gBankAttacker; - ExecuteTableBasedItemEffect(&gEnemyParty[gBattlePartyID[gBankAttacker]], gLastUsedItem, gBattlePartyID[gBankAttacker], 0, 1); + gBattlerInMenuId = gBattlerAttacker; + ExecuteTableBasedItemEffect(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker]], gLastUsedItem, gBattlerPartyIndexes[gBattlerAttacker], 0, 1); gBattlescriptCurrInstr += 1; } @@ -7031,52 +6892,52 @@ static void atk76_various(void) u8 side; s32 i; - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); switch (gBattlescriptCurrInstr[2]) { case VARIOUS_CANCEL_MULTI_TURN_MOVES: - CancelMultiTurnMoves(gActiveBank); + CancelMultiTurnMoves(gActiveBattler); break; case VARIOUS_SET_MAGIC_COAT_TARGET: - gBankAttacker = gBankTarget; - side = GetBankSide(gBankAttacker) ^ 1; + gBattlerAttacker = gBattlerTarget; + side = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE; if (gSideTimers[side].followmeTimer != 0 && gBattleMons[gSideTimers[side].followmeTarget].hp != 0) - gBankTarget = gSideTimers[side].followmeTarget; + gBattlerTarget = gSideTimers[side].followmeTarget; else - gBankTarget = gActiveBank; + gBattlerTarget = gActiveBattler; break; - case VARIOUS_CAN_RUN_FROM_BATTLE: + case VARIOUS_IS_RUNNING_IMPOSSIBLE: gBattleCommunication[0] = IsRunningFromBattleImpossible(); break; case VARIOUS_GET_MOVE_TARGET: - gBankTarget = GetMoveTarget(gCurrentMove, 0); + gBattlerTarget = GetMoveTarget(gCurrentMove, 0); break; case 4: - if (gHitMarker & HITMARKER_FAINTED(gActiveBank)) + if (gHitMarker & HITMARKER_FAINTED(gActiveBattler)) gBattleCommunication[0] = 1; else gBattleCommunication[0] = 0; break; case VARIOUS_RESET_INTIMIDATE_TRACE_BITS: - gSpecialStatuses[gActiveBank].intimidatedPoke = 0; - gSpecialStatuses[gActiveBank].traced = 0; + gSpecialStatuses[gActiveBattler].intimidatedPoke = 0; + gSpecialStatuses[gActiveBattler].traced = 0; break; case VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP: - if (gBattlePartyID[0] == gBattleStruct->expGetterId || gBattlePartyID[2] == gBattleStruct->expGetterId) + if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterMonId || gBattlerPartyIndexes[2] == gBattleStruct->expGetterMonId) { u16 *choicedMove; - if (gBattlePartyID[0] == gBattleStruct->expGetterId) - gActiveBank = 0; + if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterMonId) + gActiveBattler = 0; else - gActiveBank = 2; + gActiveBattler = 2; - choicedMove = &gBattleStruct->choicedMove[gActiveBank]; + choicedMove = &gBattleStruct->choicedMove[gActiveBattler]; for (i = 0; i < 4; i++) { - if (gBattleMons[gActiveBank].moves[i] == *choicedMove) + if (gBattleMons[gActiveBattler].moves[i] == *choicedMove) break; } if (i == 4) @@ -7094,15 +6955,15 @@ static void atk76_various(void) break; case 8: gBattleCommunication[0] = 0; - gBattleScripting.bank = gActiveBank = gBattleCommunication[1]; - if (!(gBattleStruct->field_92 & gBitTable[gActiveBank]) - && gBattleMons[gActiveBank].maxHP / 2 >= gBattleMons[gActiveBank].hp - && gBattleMons[gActiveBank].hp != 0 - && !(gBattleMons[gActiveBank].status1 & STATUS_SLEEP)) + gBattleScripting.battler = gActiveBattler = gBattleCommunication[1]; + if (!(gBattleStruct->field_92 & gBitTable[gActiveBattler]) + && gBattleMons[gActiveBattler].maxHP / 2 >= gBattleMons[gActiveBattler].hp + && gBattleMons[gActiveBattler].hp != 0 + && !(gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP)) { - gBattleStruct->field_92 |= gBitTable[gActiveBank]; + gBattleStruct->field_92 |= gBitTable[gActiveBattler]; gBattleCommunication[0] = 1; - gBattleCommunication[MULTISTRING_CHOOSER] = sUnknown_0831C4F8[GetNatureFromPersonality(gBattleMons[gActiveBank].personality)]; + gBattleCommunication[MULTISTRING_CHOOSER] = sUnknown_0831C4F8[GetNatureFromPersonality(gBattleMons[gActiveBattler].personality)]; } break; case 9: @@ -7115,14 +6976,14 @@ static void atk76_various(void) case 10: gBattleMons[1].hp = 0; gHitMarker |= HITMARKER_FAINTED(1); - gBattleStruct->field_2A1 |= gBitTable[gBattlePartyID[1]]; + gBattleStruct->field_2A1 |= gBitTable[gBattlerPartyIndexes[1]]; gDisableStructs[1].truantUnknownBit = 1; break; case 11: gBattleMons[0].hp = 0; gHitMarker |= HITMARKER_FAINTED(0); gHitMarker |= HITMARKER_x400000; - gBattleStruct->field_2A0 |= gBitTable[gBattlePartyID[0]]; + gBattleStruct->field_2A0 |= gBitTable[gBattlerPartyIndexes[0]]; gDisableStructs[0].truantUnknownBit = 1; break; case 12: @@ -7131,14 +6992,14 @@ static void atk76_various(void) gHitMarker |= HITMARKER_FAINTED(0); gHitMarker |= HITMARKER_FAINTED(1); gHitMarker |= HITMARKER_x400000; - gBattleStruct->field_2A0 |= gBitTable[gBattlePartyID[0]]; - gBattleStruct->field_2A1 |= gBitTable[gBattlePartyID[1]]; + gBattleStruct->field_2A0 |= gBitTable[gBattlerPartyIndexes[0]]; + gBattleStruct->field_2A1 |= gBitTable[gBattlerPartyIndexes[1]]; gDisableStructs[0].truantUnknownBit = 1; gDisableStructs[1].truantUnknownBit = 1; break; case VARIOUS_EMIT_YESNOBOX: - EmitUnknownYesNoBox(0); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitUnknownYesNoBox(0); + MarkBattlerForControllerExec(gActiveBattler); break; case 14: sub_81A5BF8(); @@ -7159,82 +7020,82 @@ static void atk76_various(void) return; break; case VARIOUS_RETURN_OPPONENT_MON1: - gActiveBank = 1; - if (gBattleMons[gActiveBank].hp != 0) + gActiveBattler = 1; + if (gBattleMons[gActiveBattler].hp != 0) { - EmitReturnMonToBall(0, 0); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitReturnMonToBall(0, 0); + MarkBattlerForControllerExec(gActiveBattler); } break; case VARIOUS_RETURN_OPPONENT_MON2: - if (gNoOfAllBanks > 3) + if (gBattlersCount > 3) { - gActiveBank = 3; - if (gBattleMons[gActiveBank].hp != 0) + gActiveBattler = 3; + if (gBattleMons[gActiveBattler].hp != 0) { - EmitReturnMonToBall(0, 0); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitReturnMonToBall(0, 0); + MarkBattlerForControllerExec(gActiveBattler); } } break; case 21: - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x55); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x55); break; case 22: - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); break; case 23: - gBattleStruct->field_2A2 |= gBitTable[gActiveBank]; + gBattleStruct->field_2A2 |= gBitTable[gActiveBattler]; break; case 24: - if (sub_805725C(gActiveBank)) + if (sub_805725C(gActiveBattler)) return; break; case VARIOUS_SET_TELEPORT_OUTCOME: - if (GetBankSide(gActiveBank) == SIDE_PLAYER) - gBattleOutcome = BATTLE_PLAYER_TELEPORTED; + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + gBattleOutcome = B_OUTCOME_PLAYER_TELEPORTED; else - gBattleOutcome = BATTLE_OPPONENT_TELEPORTED; + gBattleOutcome = B_OUTCOME_MON_TELEPORTED; break; case VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC: - EmitPlayFanfareOrBGM(0, BGM_KACHI1, TRUE); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitPlayFanfareOrBGM(0, MUS_KACHI1, TRUE); + MarkBattlerForControllerExec(gActiveBattler); break; } gBattlescriptCurrInstr += 3; } -static void atk77_set_protect_like(void) // protect and endure +static void atk77_setprotectlike(void) // protect and endure { bool8 notLastTurn = TRUE; - u16 lastMove = gUnknown_02024260[gBankAttacker]; + u16 lastMove = gLastResultingMoves[gBattlerAttacker]; if (lastMove != MOVE_PROTECT && lastMove != MOVE_DETECT && lastMove != MOVE_ENDURE) - gDisableStructs[gBankAttacker].protectUses = 0; + gDisableStructs[gBattlerAttacker].protectUses = 0; - if (gCurrentTurnActionNumber == (gNoOfAllBanks - 1)) + if (gCurrentTurnActionNumber == (gBattlersCount - 1)) notLastTurn = FALSE; - if (sProtectSuccessRates[gDisableStructs[gBankAttacker].protectUses] >= Random() && notLastTurn) + if (sProtectSuccessRates[gDisableStructs[gBattlerAttacker].protectUses] >= Random() && notLastTurn) { if (gBattleMoves[gCurrentMove].effect == EFFECT_PROTECT) { - gProtectStructs[gBankAttacker].protected = 1; + gProtectStructs[gBattlerAttacker].protected = 1; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } if (gBattleMoves[gCurrentMove].effect == EFFECT_ENDURE) { - gProtectStructs[gBankAttacker].endured = 1; + gProtectStructs[gBattlerAttacker].endured = 1; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } - gDisableStructs[gBankAttacker].protectUses++; + gDisableStructs[gBattlerAttacker].protectUses++; } else { - gDisableStructs[gBankAttacker].protectUses = 0; + gDisableStructs[gBattlerAttacker].protectUses = 0; gBattleCommunication[MULTISTRING_CHOOSER] = 2; - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; } gBattlescriptCurrInstr++; @@ -7242,88 +7103,90 @@ static void atk77_set_protect_like(void) // protect and endure static void atk78_faintifabilitynotdamp(void) { - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; - for (gBankTarget = 0; gBankTarget < gNoOfAllBanks; gBankTarget++) + for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount; gBattlerTarget++) { - if (gBattleMons[gBankTarget].ability == ABILITY_DAMP) + if (gBattleMons[gBattlerTarget].ability == ABILITY_DAMP) break; } - if (gBankTarget == gNoOfAllBanks) + if (gBattlerTarget == gBattlersCount) { - gActiveBank = gBankAttacker; - gBattleMoveDamage = gBattleMons[gActiveBank].hp; - EmitHealthBarUpdate(0, INSTANT_HP_BAR_DROP); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBattlerAttacker; + gBattleMoveDamage = gBattleMons[gActiveBattler].hp; + BtlController_EmitHealthBarUpdate(0, INSTANT_HP_BAR_DROP); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr++; - for (gBankTarget = 0; gBankTarget < gNoOfAllBanks; gBankTarget++) + for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount; gBattlerTarget++) { - if (gBankTarget == gBankAttacker) + if (gBattlerTarget == gBattlerAttacker) continue; - if (!(gAbsentBankFlags & gBitTable[gBankTarget])) + if (!(gAbsentBattlerFlags & gBitTable[gBattlerTarget])) break; } } else { gLastUsedAbility = ABILITY_DAMP; - RecordAbilityBattle(gBankTarget, gBattleMons[gBankTarget].ability); + RecordAbilityBattle(gBattlerTarget, gBattleMons[gBattlerTarget].ability); gBattlescriptCurrInstr = BattleScript_DampStopsExplosion; } } static void atk79_setatkhptozero(void) { - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; - gActiveBank = gBankAttacker; - gBattleMons[gActiveBank].hp = 0; - EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBank].hp); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBattlerAttacker; + gBattleMons[gActiveBattler].hp = 0; + BtlController_EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBattler].hp); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr++; } -static void atk7A_jumpwhiletargetvalid(void) // Used by intimidate to loop through all targets. +static void atk7A_jumpifnexttargetvalid(void) { - const u8* jumpPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + const u8 *jumpPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - for (gBankTarget++; ; gBankTarget++) + for (gBattlerTarget++; ; gBattlerTarget++) { - if (gBankTarget == gBankAttacker) + if (gBattlerTarget == gBattlerAttacker) continue; - if (!(gAbsentBankFlags & gBitTable[gBankTarget])) + if (!(gAbsentBattlerFlags & gBitTable[gBattlerTarget])) break; } - if (gBankTarget >= gNoOfAllBanks) + if (gBattlerTarget >= gBattlersCount) gBattlescriptCurrInstr += 5; else gBattlescriptCurrInstr = jumpPtr; } else + { gBattlescriptCurrInstr += 5; + } } -static void atk7B_healhalfHP_if_possible(void) +static void atk7B_tryhealhalfhealth(void) { const u8* failPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); - if (gBattlescriptCurrInstr[5] == BS_GET_ATTACKER) - gBankTarget = gBankAttacker; + if (gBattlescriptCurrInstr[5] == BS_ATTACKER) + gBattlerTarget = gBattlerAttacker; - gBattleMoveDamage = gBattleMons[gBankTarget].maxHP / 2; + gBattleMoveDamage = gBattleMons[gBattlerTarget].maxHP / 2; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; - if (gBattleMons[gBankTarget].hp == gBattleMons[gBankTarget].maxHP) + if (gBattleMons[gBattlerTarget].hp == gBattleMons[gBattlerTarget].maxHP) gBattlescriptCurrInstr = failPtr; else gBattlescriptCurrInstr += 6; @@ -7339,12 +7202,12 @@ static void atk7C_trymirrormove(void) for (i = 0; i < 3; i++) movesArray[i] = 0; - for (validMovesCount = 0, i = 0; i < gNoOfAllBanks; i++) + for (validMovesCount = 0, i = 0; i < gBattlersCount; i++) { - if (i != gBankAttacker) + if (i != gBattlerAttacker) { - move = *(i * 2 + gBankAttacker * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) - | (*(i * 2 + gBankAttacker * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) << 8); + move = *(i * 2 + gBattlerAttacker * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) + | (*(i * 2 + gBattlerAttacker * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) << 8); if (move != 0 && move != 0xFFFF) { @@ -7354,14 +7217,14 @@ static void atk7C_trymirrormove(void) } } - move = *(gBattleStruct->mirrorMoves + gBankAttacker * 2 + 0) - | (*(gBattleStruct->mirrorMoves + gBankAttacker * 2 + 1) << 8); + move = *(gBattleStruct->mirrorMoves + gBattlerAttacker * 2 + 0) + | (*(gBattleStruct->mirrorMoves + gBattlerAttacker * 2 + 1) << 8); if (move != 0 && move != 0xFFFF) { gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); gCurrentMove = move; - gBankTarget = GetMoveTarget(gCurrentMove, 0); + gBattlerTarget = GetMoveTarget(gCurrentMove, 0); gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]; } else if (validMovesCount) @@ -7369,21 +7232,21 @@ static void atk7C_trymirrormove(void) gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); i = Random() % validMovesCount; gCurrentMove = movesArray[i]; - gBankTarget = GetMoveTarget(gCurrentMove, 0); + gBattlerTarget = GetMoveTarget(gCurrentMove, 0); gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]; } else { - gSpecialStatuses[gBankAttacker].flag20 = 1; + gSpecialStatuses[gBattlerAttacker].flag20 = 1; gBattlescriptCurrInstr++; } } -static void atk7D_set_rain(void) +static void atk7D_setrain(void) { if (gBattleWeather & WEATHER_RAIN_ANY) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 2; } else @@ -7397,16 +7260,16 @@ static void atk7D_set_rain(void) static void atk7E_setreflect(void) { - if (gSideAffecting[GET_BANK_SIDE(gBankAttacker)] & SIDE_STATUS_REFLECT) + if (gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] & SIDE_STATUS_REFLECT) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } else { - gSideAffecting[GET_BANK_SIDE(gBankAttacker)] |= SIDE_STATUS_REFLECT; - gSideTimers[GET_BANK_SIDE(gBankAttacker)].reflectTimer = 5; - gSideTimers[GET_BANK_SIDE(gBankAttacker)].reflectBank = gBankAttacker; + gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] |= SIDE_STATUS_REFLECT; + gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].reflectTimer = 5; + gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].reflectBattlerId = gBattlerAttacker; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMonsInBattle(BATTLE_ALIVE_ATK_SIDE) == 2) gBattleCommunication[MULTISTRING_CHOOSER] = 2; @@ -7418,20 +7281,20 @@ static void atk7E_setreflect(void) static void atk7F_setseeded(void) { - if (gBattleMoveFlags & MOVESTATUS_NOEFFECT || gStatuses3[gBankTarget] & STATUS3_LEECHSEED) + if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT || gStatuses3[gBattlerTarget] & STATUS3_LEECHSEED) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } - else if (gBattleMons[gBankTarget].type1 == TYPE_GRASS || gBattleMons[gBankTarget].type2 == TYPE_GRASS) + else if (gBattleMons[gBattlerTarget].type1 == TYPE_GRASS || gBattleMons[gBattlerTarget].type2 == TYPE_GRASS) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 2; } else { - gStatuses3[gBankTarget] |= gBankAttacker; - gStatuses3[gBankTarget] |= STATUS3_LEECHSEED; + gStatuses3[gBattlerTarget] |= gBattlerAttacker; + gStatuses3[gBattlerTarget] |= STATUS3_LEECHSEED; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } @@ -7449,8 +7312,8 @@ static void atk80_manipulatedamage(void) gBattleMoveDamage /= 2; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if ((gBattleMons[gBankTarget].maxHP / 2) < gBattleMoveDamage) - gBattleMoveDamage = gBattleMons[gBankTarget].maxHP / 2; + if ((gBattleMons[gBattlerTarget].maxHP / 2) < gBattleMoveDamage) + gBattleMoveDamage = gBattleMons[gBattlerTarget].maxHP / 2; break; case ATK80_DMG_DOUBLED: gBattleMoveDamage *= 2; @@ -7460,26 +7323,26 @@ static void atk80_manipulatedamage(void) gBattlescriptCurrInstr += 2; } -static void atk81_setrest(void) +static void atk81_trysetrest(void) { - const u8* failJump = BSScriptReadPtr(gBattlescriptCurrInstr + 1); - gActiveBank = gBankTarget = gBankAttacker; - gBattleMoveDamage = gBattleMons[gBankTarget].maxHP * (-1); + const u8 *failJump = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gActiveBattler = gBattlerTarget = gBattlerAttacker; + gBattleMoveDamage = gBattleMons[gBattlerTarget].maxHP * (-1); - if (gBattleMons[gBankTarget].hp == gBattleMons[gBankTarget].maxHP) + if (gBattleMons[gBattlerTarget].hp == gBattleMons[gBattlerTarget].maxHP) { gBattlescriptCurrInstr = failJump; } else { - if (gBattleMons[gBankTarget].status1 & ((u8)(~STATUS_SLEEP))) + if (gBattleMons[gBattlerTarget].status1 & ((u8)(~STATUS1_SLEEP))) gBattleCommunication[MULTISTRING_CHOOSER] = 1; else gBattleCommunication[MULTISTRING_CHOOSER] = 0; - gBattleMons[gBankTarget].status1 = 3; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gBattleMons[gBattlerTarget].status1 = 3; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; } } @@ -7488,7 +7351,7 @@ static void atk82_jumpifnotfirstturn(void) { const u8* failJump = BSScriptReadPtr(gBattlescriptCurrInstr + 1); - if (gDisableStructs[gBankAttacker].isFirstTurn) + if (gDisableStructs[gBattlerAttacker].isFirstTurn) gBattlescriptCurrInstr += 5; else gBattlescriptCurrInstr = failJump; @@ -7499,20 +7362,20 @@ static void atk83_nop(void) gBattlescriptCurrInstr++; } -bool8 UproarWakeUpCheck(u8 bank) +bool8 UproarWakeUpCheck(u8 battlerId) { s32 i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - if (!(gBattleMons[i].status2 & STATUS2_UPROAR) || gBattleMons[bank].ability == ABILITY_SOUNDPROOF) + if (!(gBattleMons[i].status2 & STATUS2_UPROAR) || gBattleMons[battlerId].ability == ABILITY_SOUNDPROOF) continue; - gBattleScripting.bank = i; + gBattleScripting.battler = i; - if (gBankTarget == 0xFF) - gBankTarget = i; - else if (gBankTarget == i) + if (gBattlerTarget == 0xFF) + gBattlerTarget = i; + else if (gBattlerTarget == i) gBattleCommunication[MULTISTRING_CHOOSER] = 0; else gBattleCommunication[MULTISTRING_CHOOSER] = 1; @@ -7520,27 +7383,27 @@ bool8 UproarWakeUpCheck(u8 bank) break; } - if (i == gNoOfAllBanks) + if (i == gBattlersCount) return FALSE; else return TRUE; } -static void atk84_jump_if_cant_sleep(void) +static void atk84_jumpifcantmakeasleep(void) { - const u8* jumpPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + const u8 *jumpPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); - if (UproarWakeUpCheck(gBankTarget)) + if (UproarWakeUpCheck(gBattlerTarget)) { gBattlescriptCurrInstr = jumpPtr; } - else if (gBattleMons[gBankTarget].ability == ABILITY_INSOMNIA - || gBattleMons[gBankTarget].ability == ABILITY_VITAL_SPIRIT) + else if (gBattleMons[gBattlerTarget].ability == ABILITY_INSOMNIA + || gBattleMons[gBattlerTarget].ability == ABILITY_VITAL_SPIRIT) { - gLastUsedAbility = gBattleMons[gBankTarget].ability; + gLastUsedAbility = gBattleMons[gBattlerTarget].ability; gBattleCommunication[MULTISTRING_CHOOSER] = 2; gBattlescriptCurrInstr = jumpPtr; - RecordAbilityBattle(gBankTarget, gLastUsedAbility); + RecordAbilityBattle(gBattlerTarget, gLastUsedAbility); } else { @@ -7550,16 +7413,16 @@ static void atk84_jump_if_cant_sleep(void) static void atk85_stockpile(void) { - if (gDisableStructs[gBankAttacker].stockpileCounter == 3) + if (gDisableStructs[gBattlerAttacker].stockpileCounter == 3) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } else { - gDisableStructs[gBankAttacker].stockpileCounter++; + gDisableStructs[gBattlerAttacker].stockpileCounter++; - PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff1, 1, gDisableStructs[gBankAttacker].stockpileCounter) + PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff1, 1, gDisableStructs[gBattlerAttacker].stockpileCounter) gBattleCommunication[MULTISTRING_CHOOSER] = 0; } @@ -7569,7 +7432,7 @@ static void atk85_stockpile(void) static void atk86_stockpiletobasedamage(void) { const u8* jumpPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); - if (gDisableStructs[gBankAttacker].stockpileCounter == 0) + if (gDisableStructs[gBattlerAttacker].stockpileCounter == 0) { gBattlescriptCurrInstr = jumpPtr; } @@ -7577,17 +7440,17 @@ static void atk86_stockpiletobasedamage(void) { if (gBattleCommunication[6] != 1) { - gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankTarget], gCurrentMove, - gSideAffecting[GET_BANK_SIDE(gBankTarget)], 0, - 0, gBankAttacker, gBankTarget) - * gDisableStructs[gBankAttacker].stockpileCounter; - gBattleScripting.animTurn = gDisableStructs[gBankAttacker].stockpileCounter; + gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattlerAttacker], &gBattleMons[gBattlerTarget], gCurrentMove, + gSideStatuses[GET_BATTLER_SIDE(gBattlerTarget)], 0, + 0, gBattlerAttacker, gBattlerTarget) + * gDisableStructs[gBattlerAttacker].stockpileCounter; + gBattleScripting.animTurn = gDisableStructs[gBattlerAttacker].stockpileCounter; - if (gProtectStructs[gBankAttacker].helpingHand) + if (gProtectStructs[gBattlerAttacker].helpingHand) gBattleMoveDamage = gBattleMoveDamage * 15 / 10; } - gDisableStructs[gBankAttacker].stockpileCounter = 0; + gDisableStructs[gBattlerAttacker].stockpileCounter = 0; gBattlescriptCurrInstr += 5; } } @@ -7596,30 +7459,30 @@ static void atk87_stockpiletohpheal(void) { const u8* jumpPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); - if (gDisableStructs[gBankAttacker].stockpileCounter == 0) + if (gDisableStructs[gBattlerAttacker].stockpileCounter == 0) { gBattlescriptCurrInstr = jumpPtr; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } - else if (gBattleMons[gBankAttacker].maxHP == gBattleMons[gBankAttacker].hp) + else if (gBattleMons[gBattlerAttacker].maxHP == gBattleMons[gBattlerAttacker].hp) { - gDisableStructs[gBankAttacker].stockpileCounter = 0; + gDisableStructs[gBattlerAttacker].stockpileCounter = 0; gBattlescriptCurrInstr = jumpPtr; - gBankTarget = gBankAttacker; + gBattlerTarget = gBattlerAttacker; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } else { - gBattleMoveDamage = gBattleMons[gBankAttacker].maxHP / (1 << (3 - gDisableStructs[gBankAttacker].stockpileCounter)); + gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / (1 << (3 - gDisableStructs[gBattlerAttacker].stockpileCounter)); if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; - gBattleScripting.animTurn = gDisableStructs[gBankAttacker].stockpileCounter; - gDisableStructs[gBankAttacker].stockpileCounter = 0; + gBattleScripting.animTurn = gDisableStructs[gBattlerAttacker].stockpileCounter; + gDisableStructs[gBattlerAttacker].stockpileCounter = 0; gBattlescriptCurrInstr += 5; - gBankTarget = gBankAttacker; + gBattlerTarget = gBattlerAttacker; } } @@ -7632,16 +7495,16 @@ static void atk88_negativedamage(void) gBattlescriptCurrInstr++; } -static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8* BS_ptr) +static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) { - bool8 certain = 0; + bool8 certain = FALSE; bool8 notProtectAffected = FALSE; u32 index; if (flags & MOVE_EFFECT_AFFECTS_USER) - gActiveBank = gBankAttacker; + gActiveBattler = gBattlerAttacker; else - gActiveBank = gBankTarget; + gActiveBattler = gBattlerTarget; flags &= ~(MOVE_EFFECT_AFFECTS_USER); @@ -7657,21 +7520,21 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8* BS_ptr) if ((statValue << 0x18) < 0) // stat decrease { - if (gSideTimers[GET_BANK_SIDE(gActiveBank)].mistTimer + if (gSideTimers[GET_BATTLER_SIDE(gActiveBattler)].mistTimer && !certain && gCurrentMove != MOVE_CURSE) { if (flags == STAT_CHANGE_BS_PTR) { - if (gSpecialStatuses[gActiveBank].statLowered) + if (gSpecialStatuses[gActiveBattler].statLowered) { gBattlescriptCurrInstr = BS_ptr; } else { BattleScriptPush(BS_ptr); - gBattleScripting.bank = gActiveBank; + gBattleScripting.battler = gActiveBattler; gBattlescriptCurrInstr = BattleScript_MistProtected; - gSpecialStatuses[gActiveBank].statLowered = 1; + gSpecialStatuses[gActiveBattler].statLowered = 1; } } return STAT_CHANGE_DIDNT_WORK; @@ -7682,55 +7545,55 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8* BS_ptr) gBattlescriptCurrInstr = BattleScript_ButItFailed; return STAT_CHANGE_DIDNT_WORK; } - else if ((gBattleMons[gActiveBank].ability == ABILITY_CLEAR_BODY - || gBattleMons[gActiveBank].ability == ABILITY_WHITE_SMOKE) + else if ((gBattleMons[gActiveBattler].ability == ABILITY_CLEAR_BODY + || gBattleMons[gActiveBattler].ability == ABILITY_WHITE_SMOKE) && !certain && gCurrentMove != MOVE_CURSE) { if (flags == STAT_CHANGE_BS_PTR) { - if (gSpecialStatuses[gActiveBank].statLowered) + if (gSpecialStatuses[gActiveBattler].statLowered) { gBattlescriptCurrInstr = BS_ptr; } else { BattleScriptPush(BS_ptr); - gBattleScripting.bank = gActiveBank; + gBattleScripting.battler = gActiveBattler; gBattlescriptCurrInstr = BattleScript_AbilityNoStatLoss; - gLastUsedAbility = gBattleMons[gActiveBank].ability; - RecordAbilityBattle(gActiveBank, gLastUsedAbility); - gSpecialStatuses[gActiveBank].statLowered = 1; + gLastUsedAbility = gBattleMons[gActiveBattler].ability; + RecordAbilityBattle(gActiveBattler, gLastUsedAbility); + gSpecialStatuses[gActiveBattler].statLowered = 1; } } return STAT_CHANGE_DIDNT_WORK; } - else if (gBattleMons[gActiveBank].ability == ABILITY_KEEN_EYE - && !certain && statId == STAT_STAGE_ACC) + else if (gBattleMons[gActiveBattler].ability == ABILITY_KEEN_EYE + && !certain && statId == STAT_ACC) { if (flags == STAT_CHANGE_BS_PTR) { BattleScriptPush(BS_ptr); - gBattleScripting.bank = gActiveBank; + gBattleScripting.battler = gActiveBattler; gBattlescriptCurrInstr = BattleScript_AbilityNoSpecificStatLoss; - gLastUsedAbility = gBattleMons[gActiveBank].ability; - RecordAbilityBattle(gActiveBank, gLastUsedAbility); + gLastUsedAbility = gBattleMons[gActiveBattler].ability; + RecordAbilityBattle(gActiveBattler, gLastUsedAbility); } return STAT_CHANGE_DIDNT_WORK; } - else if (gBattleMons[gActiveBank].ability == ABILITY_HYPER_CUTTER - && !certain && statId == STAT_STAGE_ATK) + else if (gBattleMons[gActiveBattler].ability == ABILITY_HYPER_CUTTER + && !certain && statId == STAT_ATK) { if (flags == STAT_CHANGE_BS_PTR) { BattleScriptPush(BS_ptr); - gBattleScripting.bank = gActiveBank; + gBattleScripting.battler = gActiveBattler; gBattlescriptCurrInstr = BattleScript_AbilityNoSpecificStatLoss; - gLastUsedAbility = gBattleMons[gActiveBank].ability; - RecordAbilityBattle(gActiveBank, gLastUsedAbility); + gLastUsedAbility = gBattleMons[gActiveBattler].ability; + RecordAbilityBattle(gActiveBattler, gLastUsedAbility); } return STAT_CHANGE_DIDNT_WORK; } - else if (gBattleMons[gActiveBank].ability == ABILITY_SHIELD_DUST && flags == 0) + else if (gBattleMons[gActiveBattler].ability == ABILITY_SHIELD_DUST && flags == 0) { return STAT_CHANGE_DIDNT_WORK; } @@ -7742,22 +7605,22 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8* BS_ptr) if (statValue == -2) { gBattleTextBuff2[1] = B_BUFF_STRING; - gBattleTextBuff2[2] = 0xD3; // harshly - gBattleTextBuff2[3] = 0xD3 >> 8; + gBattleTextBuff2[2] = STRINGID_STATHARSHLY; + gBattleTextBuff2[3] = STRINGID_STATHARSHLY >> 8; index = 4; } gBattleTextBuff2[index] = B_BUFF_STRING; index++; - gBattleTextBuff2[index] = 0xD4; // fell + gBattleTextBuff2[index] = STRINGID_STATFELL; index++; - gBattleTextBuff2[index] = 0xD4 >> 8; + gBattleTextBuff2[index] = STRINGID_STATFELL >> 8; index++; gBattleTextBuff2[index] = B_BUFF_EOS; - if (gBattleMons[gActiveBank].statStages[statId] == 0) + if (gBattleMons[gActiveBattler].statStages[statId] == 0) gBattleCommunication[MULTISTRING_CHOOSER] = 2; else - gBattleCommunication[MULTISTRING_CHOOSER] = (gBankTarget == gActiveBank); + gBattleCommunication[MULTISTRING_CHOOSER] = (gBattlerTarget == gActiveBattler); } } @@ -7769,32 +7632,32 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8* BS_ptr) if (statValue == 2) { gBattleTextBuff2[1] = B_BUFF_STRING; - gBattleTextBuff2[2] = 0xD1; // sharply - gBattleTextBuff2[3] = 0xD1 >> 8; + gBattleTextBuff2[2] = STRINGID_STATSHARPLY; + gBattleTextBuff2[3] = STRINGID_STATSHARPLY >> 8; index = 4; } gBattleTextBuff2[index] = B_BUFF_STRING; index++; - gBattleTextBuff2[index] = 0xD2; // rose + gBattleTextBuff2[index] = STRINGID_STATROSE; index++; - gBattleTextBuff2[index] = 0xD2 >> 8; + gBattleTextBuff2[index] = STRINGID_STATROSE >> 8; index++; gBattleTextBuff2[index] = B_BUFF_EOS; - if (gBattleMons[gActiveBank].statStages[statId] == 0xC) + if (gBattleMons[gActiveBattler].statStages[statId] == 0xC) gBattleCommunication[MULTISTRING_CHOOSER] = 2; else - gBattleCommunication[MULTISTRING_CHOOSER] = (gBankTarget == gActiveBank); + gBattleCommunication[MULTISTRING_CHOOSER] = (gBattlerTarget == gActiveBattler); } - gBattleMons[gActiveBank].statStages[statId] += statValue; - if (gBattleMons[gActiveBank].statStages[statId] < 0) - gBattleMons[gActiveBank].statStages[statId] = 0; - if (gBattleMons[gActiveBank].statStages[statId] > 0xC) - gBattleMons[gActiveBank].statStages[statId] = 0xC; + gBattleMons[gActiveBattler].statStages[statId] += statValue; + if (gBattleMons[gActiveBattler].statStages[statId] < 0) + gBattleMons[gActiveBattler].statStages[statId] = 0; + if (gBattleMons[gActiveBattler].statStages[statId] > 0xC) + gBattleMons[gActiveBattler].statStages[statId] = 0xC; if (gBattleCommunication[MULTISTRING_CHOOSER] == 2 && flags & STAT_CHANGE_BS_PTR) - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; if (gBattleCommunication[MULTISTRING_CHOOSER] == 2 && !(flags & STAT_CHANGE_BS_PTR)) return STAT_CHANGE_DIDNT_WORK; @@ -7813,7 +7676,7 @@ static void atk8A_normalisebuffs(void) // haze { s32 i, j; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { for (j = 0; j < BATTLE_STATS_NO; j++) gBattleMons[i].statStages[j] = 6; @@ -7824,23 +7687,23 @@ static void atk8A_normalisebuffs(void) // haze static void atk8B_setbide(void) { - gBattleMons[gBankAttacker].status2 |= STATUS2_MULTIPLETURNS; - gLockedMoves[gBankAttacker] = gCurrentMove; - gTakenDmg[gBankAttacker] = 0; - gBattleMons[gBankAttacker].status2 |= (STATUS2_BIDE - 0x100); // 2 turns + gBattleMons[gBattlerAttacker].status2 |= STATUS2_MULTIPLETURNS; + gLockedMoves[gBattlerAttacker] = gCurrentMove; + gTakenDmg[gBattlerAttacker] = 0; + gBattleMons[gBattlerAttacker].status2 |= (STATUS2_BIDE - 0x100); // 2 turns gBattlescriptCurrInstr++; } static void atk8C_confuseifrepeatingattackends(void) { - if (!(gBattleMons[gBankAttacker].status2 & STATUS2_LOCK_CONFUSE)) + if (!(gBattleMons[gBattlerAttacker].status2 & STATUS2_LOCK_CONFUSE)) gBattleCommunication[MOVE_EFFECT_BYTE] = (MOVE_EFFECT_THRASH | MOVE_EFFECT_AFFECTS_USER); gBattlescriptCurrInstr++; } -static void atk8D_setmultihit_counter(void) +static void atk8D_setmultihitcounter(void) { if (gBattlescriptCurrInstr[1]) { @@ -7858,39 +7721,39 @@ static void atk8D_setmultihit_counter(void) gBattlescriptCurrInstr += 2; } -static void atk8E_init_multihit_string(void) +static void atk8E_initmultihitstring(void) { PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) gBattlescriptCurrInstr++; } -static bool8 sub_8051064(void) +static bool8 TryDoForceSwitchOut(void) { - if (gBattleMons[gBankAttacker].level >= gBattleMons[gBankTarget].level) + if (gBattleMons[gBattlerAttacker].level >= gBattleMons[gBattlerTarget].level) { - *(gBattleStruct->field_58 + gBankTarget) = gBattlePartyID[gBankTarget]; + *(gBattleStruct->field_58 + gBattlerTarget) = gBattlerPartyIndexes[gBattlerTarget]; } else { u16 random = Random() & 0xFF; - if ((u32)((random * (gBattleMons[gBankAttacker].level + gBattleMons[gBankTarget].level) >> 8) + 1) <= (gBattleMons[gBankTarget].level / 4)) + if ((u32)((random * (gBattleMons[gBattlerAttacker].level + gBattleMons[gBattlerTarget].level) >> 8) + 1) <= (gBattleMons[gBattlerTarget].level / 4)) { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); return FALSE; } - *(gBattleStruct->field_58 + gBankTarget) = gBattlePartyID[gBankTarget]; + *(gBattleStruct->field_58 + gBattlerTarget) = gBattlerPartyIndexes[gBattlerTarget]; } - gBattlescriptCurrInstr = gUnknown_082DADD8; + gBattlescriptCurrInstr = BattleScript_SuccessForceOut; return TRUE; } static void atk8F_forcerandomswitch(void) { s32 i; - s32 bank1PartyId = 0; - s32 bank2PartyId = 0; + s32 battler1PartyId = 0; + s32 battler2PartyId = 0; #ifdef NONMATCHING s32 lastMonId = 0; // + 1 @@ -7906,7 +7769,7 @@ static void atk8F_forcerandomswitch(void) if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER)) { - if (GetBankSide(gBankTarget) == SIDE_PLAYER) + if (GetBattlerSide(gBattlerTarget) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; @@ -7915,7 +7778,7 @@ static void atk8F_forcerandomswitch(void) || (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER && gBattleTypeFlags & BATTLE_TYPE_x2000000) || (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER)) { - if ((gBankTarget & BIT_MON) != 0) + if ((gBattlerTarget & BIT_FLANK) != 0) { firstMonId = 3; lastMonId = 6; @@ -7927,13 +7790,13 @@ static void atk8F_forcerandomswitch(void) } monsCount = 3; minNeeded = 1; - bank2PartyId = gBattlePartyID[gBankTarget]; - bank1PartyId = gBattlePartyID[gBankTarget ^ BIT_MON]; + battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; + battler1PartyId = gBattlerPartyIndexes[gBattlerTarget ^ BIT_FLANK]; } else if ((gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK) || (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_x2000000)) { - if (sub_806D82C(GetBankMultiplayerId(gBankTarget)) == 1) + if (sub_806D82C(GetBattlerMultiplayerId(gBattlerTarget)) == 1) { firstMonId = 3; lastMonId = 6; @@ -7945,12 +7808,12 @@ static void atk8F_forcerandomswitch(void) } monsCount = 3; minNeeded = 1; - bank2PartyId = gBattlePartyID[gBankTarget]; - bank1PartyId = gBattlePartyID[gBankTarget ^ BIT_MON]; + battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; + battler1PartyId = gBattlerPartyIndexes[gBattlerTarget ^ BIT_FLANK]; } else if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) { - if (GetBankSide(gBankTarget) == SIDE_PLAYER) + if (GetBattlerSide(gBattlerTarget) == B_SIDE_PLAYER) { firstMonId = 0; lastMonId = 6; @@ -7959,7 +7822,7 @@ static void atk8F_forcerandomswitch(void) } else { - if ((gBankTarget & BIT_MON) != 0) + if ((gBattlerTarget & BIT_FLANK) != 0) { firstMonId = 3; lastMonId = 6; @@ -7972,8 +7835,8 @@ static void atk8F_forcerandomswitch(void) monsCount = 3; minNeeded = 1; } - bank2PartyId = gBattlePartyID[gBankTarget]; - bank1PartyId = gBattlePartyID[gBankTarget ^ BIT_MON]; + battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; + battler1PartyId = gBattlerPartyIndexes[gBattlerTarget ^ BIT_FLANK]; } else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { @@ -7981,8 +7844,8 @@ static void atk8F_forcerandomswitch(void) lastMonId = 6; monsCount = 6; minNeeded = 2; - bank2PartyId = gBattlePartyID[gBankTarget]; - bank1PartyId = gBattlePartyID[gBankTarget ^ BIT_MON]; + battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; + battler1PartyId = gBattlerPartyIndexes[gBattlerTarget ^ BIT_FLANK]; } else { @@ -7990,8 +7853,8 @@ static void atk8F_forcerandomswitch(void) lastMonId = 6; monsCount = 6; minNeeded = 1; - bank2PartyId = gBattlePartyID[gBankTarget]; // there is only one pokemon out in single battles - bank1PartyId = gBattlePartyID[gBankTarget]; + battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; // there is only one pokemon out in single battles + battler1PartyId = gBattlerPartyIndexes[gBattlerTarget]; } for (i = firstMonId; i < lastMonId; i++) @@ -8010,44 +7873,44 @@ static void atk8F_forcerandomswitch(void) } else { - if (sub_8051064()) + if (TryDoForceSwitchOut()) { do { i = Random() % monsCount; i += firstMonId; } - while (i == bank2PartyId - || i == bank1PartyId + while (i == battler2PartyId + || i == battler1PartyId || GetMonData(&party[i], MON_DATA_SPECIES) == SPECIES_NONE || GetMonData(&party[i], MON_DATA_IS_EGG) == TRUE || GetMonData(&party[i], MON_DATA_HP) == 0); } - *(gBattleStruct->field_5C + gBankTarget) = i; + *(gBattleStruct->monToSwitchIntoId + gBattlerTarget) = i; if (!sub_81B1250()) - sub_803BDA0(gBankTarget); + sub_803BDA0(gBattlerTarget); if ((gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) || (gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_MULTI) || (gBattleTypeFlags & BATTLE_TYPE_x2000000 && gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) || (gBattleTypeFlags & BATTLE_TYPE_x2000000 && gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - sub_81B8E80(gBankTarget, i, 0); - sub_81B8E80(gBankTarget ^ BIT_MON, i, 1); + sub_81B8E80(gBattlerTarget, i, 0); + sub_81B8E80(gBattlerTarget ^ BIT_FLANK, i, 1); } if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) - sub_80571DC(gBankTarget, i); + sub_80571DC(gBattlerTarget, i); } } else { - sub_8051064(); + TryDoForceSwitchOut(); } } -static void atk90_conversion_type_change(void) // randomly changes user's type to one of its moves' type +static void atk90_tryconversiontypechange(void) // randomly changes user's type to one of its moves' type { u8 validMoves = 0; u8 moveChecked; @@ -8055,7 +7918,7 @@ static void atk90_conversion_type_change(void) // randomly changes user's type t while (validMoves < 4) { - if (gBattleMons[gBankAttacker].moves[validMoves] == 0) + if (gBattleMons[gBattlerAttacker].moves[validMoves] == 0) break; validMoves++; @@ -8063,17 +7926,17 @@ static void atk90_conversion_type_change(void) // randomly changes user's type t for (moveChecked = 0; moveChecked < validMoves; moveChecked++) { - moveType = gBattleMoves[gBattleMons[gBankAttacker].moves[moveChecked]].type; + moveType = gBattleMoves[gBattleMons[gBattlerAttacker].moves[moveChecked]].type; if (moveType == TYPE_MYSTERY) { - if (gBattleMons[gBankAttacker].type1 == TYPE_GHOST || gBattleMons[gBankAttacker].type2 == TYPE_GHOST) + if (gBattleMons[gBattlerAttacker].type1 == TYPE_GHOST || gBattleMons[gBattlerAttacker].type2 == TYPE_GHOST) moveType = TYPE_GHOST; else moveType = TYPE_NORMAL; } - if (moveType != gBattleMons[gBankAttacker].type1 - && moveType != gBattleMons[gBankAttacker].type2) + if (moveType != gBattleMons[gBattlerAttacker].type1 + && moveType != gBattleMons[gBattlerAttacker].type2) { break; } @@ -8090,20 +7953,20 @@ static void atk90_conversion_type_change(void) // randomly changes user's type t while ((moveChecked = Random() & 3) >= validMoves); - moveType = gBattleMoves[gBattleMons[gBankAttacker].moves[moveChecked]].type; + moveType = gBattleMoves[gBattleMons[gBattlerAttacker].moves[moveChecked]].type; if (moveType == TYPE_MYSTERY) { - if (gBattleMons[gBankAttacker].type1 == TYPE_GHOST || gBattleMons[gBankAttacker].type2 == TYPE_GHOST) + if (gBattleMons[gBattlerAttacker].type1 == TYPE_GHOST || gBattleMons[gBattlerAttacker].type2 == TYPE_GHOST) moveType = TYPE_GHOST; else moveType = TYPE_NORMAL; } } - while (moveType == gBattleMons[gBankAttacker].type1 || moveType == gBattleMons[gBankAttacker].type2); + while (moveType == gBattleMons[gBattlerAttacker].type1 || moveType == gBattleMons[gBattlerAttacker].type2); - gBattleMons[gBankAttacker].type1 = moveType; - gBattleMons[gBankAttacker].type2 = moveType; + gBattleMons[gBattlerAttacker].type1 = moveType; + gBattleMons[gBattlerAttacker].type2 = moveType; PREPARE_TYPE_BUFFER(gBattleTextBuff1, moveType) @@ -8131,16 +7994,16 @@ static void atk91_givepaydaymoney(void) static void atk92_setlightscreen(void) { - if (gSideAffecting[GET_BANK_SIDE(gBankAttacker)] & SIDE_STATUS_LIGHTSCREEN) + if (gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] & SIDE_STATUS_LIGHTSCREEN) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } else { - gSideAffecting[GET_BANK_SIDE(gBankAttacker)] |= SIDE_STATUS_LIGHTSCREEN; - gSideTimers[GET_BANK_SIDE(gBankAttacker)].lightscreenTimer = 5; - gSideTimers[GET_BANK_SIDE(gBankAttacker)].lightscreenBank = gBankAttacker; + gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] |= SIDE_STATUS_LIGHTSCREEN; + gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].lightscreenTimer = 5; + gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].lightscreenBattlerId = gBattlerAttacker; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMonsInBattle(BATTLE_ALIVE_ATK_SIDE) == 2) gBattleCommunication[MULTISTRING_CHOOSER] = 4; @@ -8151,84 +8014,84 @@ static void atk92_setlightscreen(void) gBattlescriptCurrInstr++; } -static void atk93_ko_move(void) +static void atk93_tryKO(void) { u8 holdEffect, param; - if (gBattleMons[gBankTarget].item == ITEM_ENIGMA_BERRY) + if (gBattleMons[gBattlerTarget].item == ITEM_ENIGMA_BERRY) { - holdEffect = gEnigmaBerries[gBankTarget].holdEffect; - param = gEnigmaBerries[gBankTarget].holdEffectParam; + holdEffect = gEnigmaBerries[gBattlerTarget].holdEffect; + param = gEnigmaBerries[gBattlerTarget].holdEffectParam; } else { - holdEffect = ItemId_GetHoldEffect(gBattleMons[gBankTarget].item); - param = ItemId_GetHoldEffectParam(gBattleMons[gBankTarget].item); + holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattlerTarget].item); + param = ItemId_GetHoldEffectParam(gBattleMons[gBattlerTarget].item); } - gStringBank = gBankTarget; + gPotentialItemEffectBattler = gBattlerTarget; if (holdEffect == HOLD_EFFECT_FOCUS_BAND && (Random() % 100) < param) { - RecordItemEffectBattle(gBankTarget, HOLD_EFFECT_FOCUS_BAND); - gSpecialStatuses[gBankTarget].focusBanded = 1; + RecordItemEffectBattle(gBattlerTarget, HOLD_EFFECT_FOCUS_BAND); + gSpecialStatuses[gBattlerTarget].focusBanded = 1; } - if (gBattleMons[gBankTarget].ability == ABILITY_STURDY) + if (gBattleMons[gBattlerTarget].ability == ABILITY_STURDY) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gLastUsedAbility = ABILITY_STURDY; gBattlescriptCurrInstr = BattleScript_SturdyPreventsOHKO; - RecordAbilityBattle(gBankTarget, ABILITY_STURDY); + RecordAbilityBattle(gBattlerTarget, ABILITY_STURDY); } else { u16 chance; - if (!(gStatuses3[gBankTarget] & STATUS3_ALWAYS_HITS)) + if (!(gStatuses3[gBattlerTarget] & STATUS3_ALWAYS_HITS)) { - chance = gBattleMoves[gCurrentMove].accuracy + (gBattleMons[gBankAttacker].level - gBattleMons[gBankTarget].level); - if (Random() % 100 + 1 < chance && gBattleMons[gBankAttacker].level >= gBattleMons[gBankTarget].level) + chance = gBattleMoves[gCurrentMove].accuracy + (gBattleMons[gBattlerAttacker].level - gBattleMons[gBattlerTarget].level); + if (Random() % 100 + 1 < chance && gBattleMons[gBattlerAttacker].level >= gBattleMons[gBattlerTarget].level) chance = TRUE; else chance = FALSE; } - else if (gDisableStructs[gBankTarget].bankWithSureHit == gBankAttacker - && gBattleMons[gBankAttacker].level >= gBattleMons[gBankTarget].level) + else if (gDisableStructs[gBattlerTarget].battlerWithSureHit == gBattlerAttacker + && gBattleMons[gBattlerAttacker].level >= gBattleMons[gBattlerTarget].level) { chance = TRUE; } else { - chance = gBattleMoves[gCurrentMove].accuracy + (gBattleMons[gBankAttacker].level - gBattleMons[gBankTarget].level); - if (Random() % 100 + 1 < chance && gBattleMons[gBankAttacker].level >= gBattleMons[gBankTarget].level) + chance = gBattleMoves[gCurrentMove].accuracy + (gBattleMons[gBattlerAttacker].level - gBattleMons[gBattlerTarget].level); + if (Random() % 100 + 1 < chance && gBattleMons[gBattlerAttacker].level >= gBattleMons[gBattlerTarget].level) chance = TRUE; else chance = FALSE; } if (chance) { - if (gProtectStructs[gBankTarget].endured) + if (gProtectStructs[gBattlerTarget].endured) { - gBattleMoveDamage = gBattleMons[gBankTarget].hp - 1; - gBattleMoveFlags |= MOVESTATUS_ENDURED; + gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1; + gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; } - else if (gSpecialStatuses[gBankTarget].focusBanded) + else if (gSpecialStatuses[gBattlerTarget].focusBanded) { - gBattleMoveDamage = gBattleMons[gBankTarget].hp - 1; - gBattleMoveFlags |= MOVESTATUS_HUNGON; - gLastUsedItem = gBattleMons[gBankTarget].item; + gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - 1; + gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; + gLastUsedItem = gBattleMons[gBattlerTarget].item; } else { - gBattleMoveDamage = gBattleMons[gBankTarget].hp; - gBattleMoveFlags |= MOVESTATUS_ONEHITKO; + gBattleMoveDamage = gBattleMons[gBattlerTarget].hp; + gMoveResultFlags |= MOVE_RESULT_ONE_HIT_KO; } gBattlescriptCurrInstr += 5; } else { - gBattleMoveFlags |= MOVESTATUS_MISSED; - if (gBattleMons[gBankAttacker].level >= gBattleMons[gBankTarget].level) + gMoveResultFlags |= MOVE_RESULT_MISSED; + if (gBattleMons[gBattlerAttacker].level >= gBattleMons[gBattlerTarget].level) gBattleCommunication[MULTISTRING_CHOOSER] = 0; else gBattleCommunication[MULTISTRING_CHOOSER] = 1; @@ -8239,7 +8102,7 @@ static void atk93_ko_move(void) static void atk94_damagetohalftargethp(void) // super fang { - gBattleMoveDamage = gBattleMons[gBankTarget].hp / 2; + gBattleMoveDamage = gBattleMons[gBattlerTarget].hp / 2; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; @@ -8250,7 +8113,7 @@ static void atk95_setsandstorm(void) { if (gBattleWeather & WEATHER_SANDSTORM_ANY) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 2; } else @@ -8268,17 +8131,17 @@ static void atk96_weatherdamage(void) { if (gBattleWeather & WEATHER_SANDSTORM_ANY) { - if (gBattleMons[gBankAttacker].type1 != TYPE_ROCK - && gBattleMons[gBankAttacker].type1 != TYPE_STEEL - && gBattleMons[gBankAttacker].type1 != TYPE_GROUND - && gBattleMons[gBankAttacker].type2 != TYPE_ROCK - && gBattleMons[gBankAttacker].type2 != TYPE_STEEL - && gBattleMons[gBankAttacker].type2 != TYPE_GROUND - && gBattleMons[gBankAttacker].ability != ABILITY_SAND_VEIL - && !(gStatuses3[gBankAttacker] & STATUS3_UNDERGROUND) - && !(gStatuses3[gBankAttacker] & STATUS3_UNDERWATER)) + if (gBattleMons[gBattlerAttacker].type1 != TYPE_ROCK + && gBattleMons[gBattlerAttacker].type1 != TYPE_STEEL + && gBattleMons[gBattlerAttacker].type1 != TYPE_GROUND + && gBattleMons[gBattlerAttacker].type2 != TYPE_ROCK + && gBattleMons[gBattlerAttacker].type2 != TYPE_STEEL + && gBattleMons[gBattlerAttacker].type2 != TYPE_GROUND + && gBattleMons[gBattlerAttacker].ability != ABILITY_SAND_VEIL + && !(gStatuses3[gBattlerAttacker] & STATUS3_UNDERGROUND) + && !(gStatuses3[gBattlerAttacker] & STATUS3_UNDERWATER)) { - gBattleMoveDamage = gBattleMons[gBankAttacker].maxHP / 16; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; } @@ -8289,12 +8152,12 @@ static void atk96_weatherdamage(void) } if (gBattleWeather & WEATHER_HAIL) { - if (gBattleMons[gBankAttacker].type1 != TYPE_ICE - && gBattleMons[gBankAttacker].type2 != TYPE_ICE - && !(gStatuses3[gBankAttacker] & STATUS3_UNDERGROUND) - && !(gStatuses3[gBankAttacker] & STATUS3_UNDERWATER)) + if (gBattleMons[gBattlerAttacker].type1 != TYPE_ICE + && gBattleMons[gBattlerAttacker].type2 != TYPE_ICE + && !(gStatuses3[gBattlerAttacker] & STATUS3_UNDERGROUND) + && !(gStatuses3[gBattlerAttacker] & STATUS3_UNDERWATER)) { - gBattleMoveDamage = gBattleMons[gBankAttacker].maxHP / 16; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; } @@ -8309,27 +8172,27 @@ static void atk96_weatherdamage(void) gBattleMoveDamage = 0; } - if (gAbsentBankFlags & gBitTable[gBankAttacker]) + if (gAbsentBattlerFlags & gBitTable[gBattlerAttacker]) gBattleMoveDamage = 0; gBattlescriptCurrInstr++; } -static void atk97_try_infatuation(void) +static void atk97_tryinfatuating(void) { struct Pokemon *monAttacker, *monTarget; u16 speciesAttacker, speciesTarget; u32 personalityAttacker, personalityTarget; - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) - monAttacker = &gPlayerParty[gBattlePartyID[gBankAttacker]]; + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) + monAttacker = &gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]]; else - monAttacker = &gEnemyParty[gBattlePartyID[gBankAttacker]]; + monAttacker = &gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker]]; - if (GetBankSide(gBankTarget) == SIDE_PLAYER) - monTarget = &gPlayerParty[gBattlePartyID[gBankTarget]]; + if (GetBattlerSide(gBattlerTarget) == B_SIDE_PLAYER) + monTarget = &gPlayerParty[gBattlerPartyIndexes[gBattlerTarget]]; else - monTarget = &gEnemyParty[gBattlePartyID[gBankTarget]]; + monTarget = &gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]]; speciesAttacker = GetMonData(monAttacker, MON_DATA_SPECIES); personalityAttacker = GetMonData(monAttacker, MON_DATA_PERSONALITY); @@ -8337,16 +8200,16 @@ static void atk97_try_infatuation(void) speciesTarget = GetMonData(monTarget, MON_DATA_SPECIES); personalityTarget = GetMonData(monTarget, MON_DATA_PERSONALITY); - if (gBattleMons[gBankTarget].ability == ABILITY_OBLIVIOUS) + if (gBattleMons[gBattlerTarget].ability == ABILITY_OBLIVIOUS) { gBattlescriptCurrInstr = BattleScript_ObliviousPreventsAttraction; gLastUsedAbility = ABILITY_OBLIVIOUS; - RecordAbilityBattle(gBankTarget, ABILITY_OBLIVIOUS); + RecordAbilityBattle(gBattlerTarget, ABILITY_OBLIVIOUS); } else { if (GetGenderFromSpeciesAndPersonality(speciesAttacker, personalityAttacker) == GetGenderFromSpeciesAndPersonality(speciesTarget, personalityTarget) - || gBattleMons[gBankTarget].status2 & STATUS2_INFATUATION + || gBattleMons[gBattlerTarget].status2 & STATUS2_INFATUATION || GetGenderFromSpeciesAndPersonality(speciesAttacker, personalityAttacker) == MON_GENDERLESS || GetGenderFromSpeciesAndPersonality(speciesTarget, personalityTarget) == MON_GENDERLESS) { @@ -8354,39 +8217,39 @@ static void atk97_try_infatuation(void) } else { - gBattleMons[gBankTarget].status2 |= STATUS2_INFATUATED_WITH(gBankAttacker); + gBattleMons[gBattlerTarget].status2 |= STATUS2_INFATUATED_WITH(gBattlerAttacker); gBattlescriptCurrInstr += 5; } } } -static void atk98_status_icon_update(void) +static void atk98_updatestatusicon(void) { - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; if (gBattlescriptCurrInstr[1] != BS_ATTACKER_WITH_PARTNER) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - EmitStatusIconUpdate(0, gBattleMons[gActiveBank].status1, gBattleMons[gActiveBank].status2); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + BtlController_EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } else { - gActiveBank = gBankAttacker; - if (!(gAbsentBankFlags & gBitTable[gActiveBank])) + gActiveBattler = gBattlerAttacker; + if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { - EmitStatusIconUpdate(0, gBattleMons[gActiveBank].status1, gBattleMons[gActiveBank].status2); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + MarkBattlerForControllerExec(gActiveBattler); } if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - gActiveBank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_MON); - if (!(gAbsentBankFlags & gBitTable[gActiveBank])) + gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_FLANK); + if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { - EmitStatusIconUpdate(0, gBattleMons[gActiveBank].status1, gBattleMons[gActiveBank].status2); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + MarkBattlerForControllerExec(gActiveBattler); } } gBattlescriptCurrInstr += 2; @@ -8395,31 +8258,31 @@ static void atk98_status_icon_update(void) static void atk99_setmist(void) { - if (gSideTimers[GET_BANK_SIDE(gBankAttacker)].mistTimer) + if (gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].mistTimer) { - gBattleMoveFlags |= MOVESTATUS_FAILED; + gMoveResultFlags |= MOVE_RESULT_FAILED; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } else { - gSideTimers[GET_BANK_SIDE(gBankAttacker)].mistTimer = 5; - gSideTimers[GET_BANK_SIDE(gBankAttacker)].mistBank = gBankAttacker; - gSideAffecting[GET_BANK_SIDE(gBankAttacker)] |= SIDE_STATUS_MIST; + gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].mistTimer = 5; + gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].mistBattlerId = gBattlerAttacker; + gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] |= SIDE_STATUS_MIST; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } gBattlescriptCurrInstr++; } -static void atk9A_set_focusenergy(void) +static void atk9A_setfocusenergy(void) { - if (gBattleMons[gBankAttacker].status2 & STATUS2_FOCUS_ENERGY) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_FOCUS_ENERGY) { - gBattleMoveFlags |= MOVESTATUS_FAILED; + gMoveResultFlags |= MOVE_RESULT_FAILED; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } else { - gBattleMons[gBankAttacker].status2 |= STATUS2_FOCUS_ENERGY; + gBattleMons[gBattlerAttacker].status2 |= STATUS2_FOCUS_ENERGY; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } gBattlescriptCurrInstr++; @@ -8427,12 +8290,12 @@ static void atk9A_set_focusenergy(void) static void atk9B_transformdataexecution(void) { - gLastUsedMove = 0xFFFF; + gChosenMove = 0xFFFF; gBattlescriptCurrInstr++; - if (gBattleMons[gBankTarget].status2 & STATUS2_TRANSFORMED - || gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_TRANSFORMED + || gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE) { - gBattleMoveFlags |= MOVESTATUS_FAILED; + gMoveResultFlags |= MOVE_RESULT_FAILED; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } else @@ -8440,55 +8303,55 @@ static void atk9B_transformdataexecution(void) s32 i; u8 *battleMonAttacker, *battleMonTarget; - gBattleMons[gBankAttacker].status2 |= STATUS2_TRANSFORMED; - gDisableStructs[gBankAttacker].disabledMove = 0; - gDisableStructs[gBankAttacker].disableTimer1 = 0; - gDisableStructs[gBankAttacker].transformedMonPersonality = gBattleMons[gBankTarget].personality; - gDisableStructs[gBankAttacker].unk18_b = 0; + gBattleMons[gBattlerAttacker].status2 |= STATUS2_TRANSFORMED; + gDisableStructs[gBattlerAttacker].disabledMove = 0; + gDisableStructs[gBattlerAttacker].disableTimer1 = 0; + gDisableStructs[gBattlerAttacker].transformedMonPersonality = gBattleMons[gBattlerTarget].personality; + gDisableStructs[gBattlerAttacker].unk18_b = 0; - PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[gBankTarget].species) + PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerTarget].species) - battleMonAttacker = (u8*)(&gBattleMons[gBankAttacker]); - battleMonTarget = (u8*)(&gBattleMons[gBankTarget]); + battleMonAttacker = (u8*)(&gBattleMons[gBattlerAttacker]); + battleMonTarget = (u8*)(&gBattleMons[gBattlerTarget]); for (i = 0; i < offsetof(struct BattlePokemon, pp); i++) battleMonAttacker[i] = battleMonTarget[i]; for (i = 0; i < 4; i++) { - if (gBattleMoves[gBattleMons[gBankAttacker].moves[i]].pp < 5) - gBattleMons[gBankAttacker].pp[i] = gBattleMoves[gBattleMons[gBankAttacker].moves[i]].pp; + if (gBattleMoves[gBattleMons[gBattlerAttacker].moves[i]].pp < 5) + gBattleMons[gBattlerAttacker].pp[i] = gBattleMoves[gBattleMons[gBattlerAttacker].moves[i]].pp; else - gBattleMons[gBankAttacker].pp[i] = 5; + gBattleMons[gBattlerAttacker].pp[i] = 5; } - gActiveBank = gBankAttacker; - EmitResetActionMoveSelection(0, RESET_MOVE_SELECTION); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBattlerAttacker; + BtlController_EmitResetActionMoveSelection(0, RESET_MOVE_SELECTION); + MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[MULTISTRING_CHOOSER] = 0; } } -static void atk9C_set_substitute(void) +static void atk9C_setsubstitute(void) { - u32 hp = gBattleMons[gBankAttacker].maxHP / 4; - if (gBattleMons[gBankAttacker].maxHP / 4 == 0) + u32 hp = gBattleMons[gBattlerAttacker].maxHP / 4; + if (gBattleMons[gBattlerAttacker].maxHP / 4 == 0) hp = 1; - if (gBattleMons[gBankAttacker].hp <= hp) + if (gBattleMons[gBattlerAttacker].hp <= hp) { gBattleMoveDamage = 0; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } else { - gBattleMoveDamage = gBattleMons[gBankAttacker].maxHP / 4; // one bit value will only work for pokemon which max hp can go to 1020(which is more than possible in games) + gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 4; // one bit value will only work for pokemon which max hp can go to 1020(which is more than possible in games) if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - gBattleMons[gBankAttacker].status2 |= STATUS2_SUBSTITUTE; - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_WRAPPED); - gDisableStructs[gBankAttacker].substituteHP = gBattleMoveDamage; + gBattleMons[gBattlerAttacker].status2 |= STATUS2_SUBSTITUTE; + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_WRAPPED); + gDisableStructs[gBattlerAttacker].substituteHP = gBattleMoveDamage; gBattleCommunication[MULTISTRING_CHOOSER] = 0; gHitMarker |= HITMARKER_IGNORE_SUBSTITUTE; } @@ -8507,12 +8370,12 @@ static bool8 IsMoveUncopyableByMimic(u16 move) static void atk9D_mimicattackcopy(void) { - gLastUsedMove = 0xFFFF; + gChosenMove = 0xFFFF; - if (IsMoveUncopyableByMimic(gLastUsedMovesByBanks[gBankTarget]) - || gBattleMons[gBankAttacker].status2 & STATUS2_TRANSFORMED - || gLastUsedMovesByBanks[gBankTarget] == 0 - || gLastUsedMovesByBanks[gBankTarget] == 0xFFFF) + if (IsMoveUncopyableByMimic(gLastMoves[gBattlerTarget]) + || gBattleMons[gBattlerAttacker].status2 & STATUS2_TRANSFORMED + || gLastMoves[gBattlerTarget] == 0 + || gLastMoves[gBattlerTarget] == 0xFFFF) { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } @@ -8522,22 +8385,22 @@ static void atk9D_mimicattackcopy(void) for (i = 0; i < 4; i++) { - if (gBattleMons[gBankAttacker].moves[i] == gLastUsedMovesByBanks[gBankTarget]) + if (gBattleMons[gBattlerAttacker].moves[i] == gLastMoves[gBattlerTarget]) break; } if (i == 4) { - gBattleMons[gBankAttacker].moves[gCurrMovePos] = gLastUsedMovesByBanks[gBankTarget]; - if (gBattleMoves[gLastUsedMovesByBanks[gBankTarget]].pp < 5) - gBattleMons[gBankAttacker].pp[gCurrMovePos] = gBattleMoves[gLastUsedMovesByBanks[gBankTarget]].pp; + gBattleMons[gBattlerAttacker].moves[gCurrMovePos] = gLastMoves[gBattlerTarget]; + if (gBattleMoves[gLastMoves[gBattlerTarget]].pp < 5) + gBattleMons[gBattlerAttacker].pp[gCurrMovePos] = gBattleMoves[gLastMoves[gBattlerTarget]].pp; else - gBattleMons[gBankAttacker].pp[gCurrMovePos] = 5; + gBattleMons[gBattlerAttacker].pp[gCurrMovePos] = 5; - PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastUsedMovesByBanks[gBankTarget]) + PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastMoves[gBattlerTarget]) - gDisableStructs[gBankAttacker].unk18_b |= gBitTable[gCurrMovePos]; + gDisableStructs[gBattlerAttacker].unk18_b |= gBitTable[gCurrMovePos]; gBattlescriptCurrInstr += 5; } else @@ -8547,13 +8410,11 @@ static void atk9D_mimicattackcopy(void) } } -#ifdef NONMATCHING static void atk9E_metronome(void) { while (1) { - const u16 *move; - s32 i, j; + s32 i; gCurrentMove = (Random() & 0x1FF) + 1; if (gCurrentMove > LAST_MOVE_INDEX) @@ -8561,105 +8422,29 @@ static void atk9E_metronome(void) for (i = 0; i < 4; i++); // ? - for (move = sMovesForbiddenToCopy; ; move++) + i = -1; + while (1) { - if (*move == gCurrentMove) + i++; + if (sMovesForbiddenToCopy[i] == gCurrentMove) break; - if (*move == METRONOME_FORBIDDEN_END) + if (sMovesForbiddenToCopy[i] == METRONOME_FORBIDDEN_END) break; } - if (*move == METRONOME_FORBIDDEN_END) - break; + if (sMovesForbiddenToCopy[i] == METRONOME_FORBIDDEN_END) + { + gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); + gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]; + gBattlerTarget = GetMoveTarget(gCurrentMove, 0); + return; + } } - - gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); - gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]; - gBankTarget = GetMoveTarget(gCurrentMove, 0); } -#else -__attribute__((naked)) -static void atk9E_metronome(void) -{ - asm( - "\n\ - .syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r8\n\ - push {r7}\n\ - ldr r7, =gCurrentMove\n\ - movs r6, 0xB1\n\ - lsls r6, 1\n\ - ldr r5, =sMovesForbiddenToCopy\n\ - ldr r0, =gBattlescriptCurrInstr\n\ - mov r8, r0\n\ -_080524EE:\n\ - bl Random\n\ - ldr r2, =0x000001ff\n\ - adds r1, r2, 0\n\ - ands r0, r1\n\ - adds r0, 0x1\n\ - strh r0, [r7]\n\ - cmp r0, r6\n\ - bhi _080524EE\n\ - movs r0, 0x3\n\ -_08052502:\n\ - subs r0, 0x1\n\ - cmp r0, 0\n\ - bge _08052502\n\ - ldr r4, =gCurrentMove\n\ - ldrh r2, [r4]\n\ - ldr r3, =0x0000ffff\n\ - subs r0, r5, 0x2\n\ -_08052510:\n\ - adds r0, 0x2\n\ - ldrh r1, [r0]\n\ - cmp r1, r2\n\ - beq _0805251C\n\ - cmp r1, r3\n\ - bne _08052510\n\ -_0805251C:\n\ - ldr r0, =0x0000ffff\n\ - cmp r1, r0\n\ - bne _080524EE\n\ - ldr r2, =gHitMarker\n\ - ldr r0, [r2]\n\ - ldr r1, =0xfffffbff\n\ - ands r0, r1\n\ - str r0, [r2]\n\ - ldr r3, =gBattleScriptsForMoveEffects\n\ - ldr r2, =gBattleMoves\n\ - ldrh r1, [r4]\n\ - lsls r0, r1, 1\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - adds r0, r2\n\ - ldrb r0, [r0]\n\ - lsls r0, 2\n\ - adds r0, r3\n\ - ldr r0, [r0]\n\ - mov r1, r8\n\ - str r0, [r1]\n\ - ldrh r0, [r4]\n\ - movs r1, 0\n\ - bl GetMoveTarget\n\ - ldr r1, =gBankTarget\n\ - strb r0, [r1]\n\ - pop {r3}\n\ - mov r8, r3\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - .syntax divided"); -} - -#endif // NONMATCHING - static void atk9F_dmgtolevel(void) { - gBattleMoveDamage = gBattleMons[gBankAttacker].level; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].level; gBattlescriptCurrInstr++; } @@ -8670,54 +8455,54 @@ static void atkA0_psywavedamageeffect(void) while ((randDamage = (Random() & 0xF)) > 10); randDamage *= 10; - gBattleMoveDamage = gBattleMons[gBankAttacker].level * (randDamage + 50) / 100; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].level * (randDamage + 50) / 100; gBattlescriptCurrInstr++; } static void atkA1_counterdamagecalculator(void) { - u8 sideAttacker = GetBankSide(gBankAttacker); - u8 sideTarget = GetBankSide(gProtectStructs[gBankAttacker].physicalBank); + u8 sideAttacker = GetBattlerSide(gBattlerAttacker); + u8 sideTarget = GetBattlerSide(gProtectStructs[gBattlerAttacker].physicalBattlerId); - if (gProtectStructs[gBankAttacker].physicalDmg + if (gProtectStructs[gBattlerAttacker].physicalDmg && sideAttacker != sideTarget - && gBattleMons[gProtectStructs[gBankAttacker].physicalBank].hp) + && gBattleMons[gProtectStructs[gBattlerAttacker].physicalBattlerId].hp) { - gBattleMoveDamage = gProtectStructs[gBankAttacker].physicalDmg * 2; + gBattleMoveDamage = gProtectStructs[gBattlerAttacker].physicalDmg * 2; if (gSideTimers[sideTarget].followmeTimer && gBattleMons[gSideTimers[sideTarget].followmeTarget].hp) - gBankTarget = gSideTimers[sideTarget].followmeTarget; + gBattlerTarget = gSideTimers[sideTarget].followmeTarget; else - gBankTarget = gProtectStructs[gBankAttacker].physicalBank; + gBattlerTarget = gProtectStructs[gBattlerAttacker].physicalBattlerId; gBattlescriptCurrInstr += 5; } else { - gSpecialStatuses[gBankAttacker].flag20 = 1; + gSpecialStatuses[gBattlerAttacker].flag20 = 1; gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } } static void atkA2_mirrorcoatdamagecalculator(void) // a copy of atkA1 with the physical -> special field changes { - u8 sideAttacker = GetBankSide(gBankAttacker); - u8 sideTarget = GetBankSide(gProtectStructs[gBankAttacker].specialBank); + u8 sideAttacker = GetBattlerSide(gBattlerAttacker); + u8 sideTarget = GetBattlerSide(gProtectStructs[gBattlerAttacker].specialBattlerId); - if (gProtectStructs[gBankAttacker].specialDmg && sideAttacker != sideTarget && gBattleMons[gProtectStructs[gBankAttacker].specialBank].hp) + if (gProtectStructs[gBattlerAttacker].specialDmg && sideAttacker != sideTarget && gBattleMons[gProtectStructs[gBattlerAttacker].specialBattlerId].hp) { - gBattleMoveDamage = gProtectStructs[gBankAttacker].specialDmg * 2; + gBattleMoveDamage = gProtectStructs[gBattlerAttacker].specialDmg * 2; if (gSideTimers[sideTarget].followmeTimer && gBattleMons[gSideTimers[sideTarget].followmeTarget].hp) - gBankTarget = gSideTimers[sideTarget].followmeTarget; + gBattlerTarget = gSideTimers[sideTarget].followmeTarget; else - gBankTarget = gProtectStructs[gBankAttacker].specialBank; + gBattlerTarget = gProtectStructs[gBattlerAttacker].specialBattlerId; gBattlescriptCurrInstr += 5; } else { - gSpecialStatuses[gBankAttacker].flag20 = 1; + gSpecialStatuses[gBattlerAttacker].flag20 = 1; gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } } @@ -8728,17 +8513,17 @@ static void atkA3_disablelastusedattack(void) for (i = 0; i < 4; i++) { - if (gBattleMons[gBankTarget].moves[i] == gLastUsedMovesByBanks[gBankTarget]) + if (gBattleMons[gBattlerTarget].moves[i] == gLastMoves[gBattlerTarget]) break; } - if (gDisableStructs[gBankTarget].disabledMove == 0 - && i != 4 && gBattleMons[gBankTarget].pp[i] != 0) + if (gDisableStructs[gBattlerTarget].disabledMove == 0 + && i != 4 && gBattleMons[gBattlerTarget].pp[i] != 0) { - PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleMons[gBankTarget].moves[i]) + PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerTarget].moves[i]) - gDisableStructs[gBankTarget].disabledMove = gBattleMons[gBankTarget].moves[i]; - gDisableStructs[gBankTarget].disableTimer1 = (Random() & 3) + 2; - gDisableStructs[gBankTarget].disableTimer2 = gDisableStructs[gBankTarget].disableTimer1; // used to save the random amount of turns? + gDisableStructs[gBattlerTarget].disabledMove = gBattleMons[gBattlerTarget].moves[i]; + gDisableStructs[gBattlerTarget].disableTimer1 = (Random() & 3) + 2; + gDisableStructs[gBattlerTarget].disableTimer2 = gDisableStructs[gBattlerTarget].disableTimer1; // used to save the random amount of turns? gBattlescriptCurrInstr += 5; } else @@ -8747,30 +8532,30 @@ static void atkA3_disablelastusedattack(void) } } -static void atkA4_setencore(void) +static void atkA4_trysetencore(void) { s32 i; for (i = 0; i < 4; i++) { - if (gBattleMons[gBankTarget].moves[i] == gLastUsedMovesByBanks[gBankTarget]) + if (gBattleMons[gBattlerTarget].moves[i] == gLastMoves[gBattlerTarget]) break; } - if (gLastUsedMovesByBanks[gBankTarget] == MOVE_STRUGGLE - || gLastUsedMovesByBanks[gBankTarget] == MOVE_ENCORE - || gLastUsedMovesByBanks[gBankTarget] == MOVE_MIRROR_MOVE) + if (gLastMoves[gBattlerTarget] == MOVE_STRUGGLE + || gLastMoves[gBattlerTarget] == MOVE_ENCORE + || gLastMoves[gBattlerTarget] == MOVE_MIRROR_MOVE) { i = 4; } - if (gDisableStructs[gBankTarget].encoredMove == 0 - && i != 4 && gBattleMons[gBankTarget].pp[i] != 0) + if (gDisableStructs[gBattlerTarget].encoredMove == 0 + && i != 4 && gBattleMons[gBattlerTarget].pp[i] != 0) { - gDisableStructs[gBankTarget].encoredMove = gBattleMons[gBankTarget].moves[i]; - gDisableStructs[gBankTarget].encoredMovePos = i; - gDisableStructs[gBankTarget].encoreTimer1 = (Random() & 3) + 3; - gDisableStructs[gBankTarget].encoreTimer2 = gDisableStructs[gBankTarget].encoreTimer1; + gDisableStructs[gBattlerTarget].encoredMove = gBattleMons[gBattlerTarget].moves[i]; + gDisableStructs[gBattlerTarget].encoredMovePos = i; + gDisableStructs[gBattlerTarget].encoreTimer1 = (Random() & 3) + 3; + gDisableStructs[gBattlerTarget].encoreTimer2 = gDisableStructs[gBattlerTarget].encoreTimer1; gBattlescriptCurrInstr += 5; } else @@ -8781,10 +8566,10 @@ static void atkA4_setencore(void) static void atkA5_painsplitdmgcalc(void) { - if (!(gBattleMons[gBankTarget].status2 & STATUS2_SUBSTITUTE)) + if (!(gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE)) { - s32 hpDiff = (gBattleMons[gBankAttacker].hp + gBattleMons[gBankTarget].hp) / 2; - s32 painSplitHp = gBattleMoveDamage = gBattleMons[gBankTarget].hp - hpDiff; + s32 hpDiff = (gBattleMons[gBattlerAttacker].hp + gBattleMons[gBattlerTarget].hp) / 2; + s32 painSplitHp = gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - hpDiff; u8* storeLoc = (void*)(&gBattleScripting.painSplitHp); storeLoc[0] = (painSplitHp); @@ -8792,8 +8577,8 @@ static void atkA5_painsplitdmgcalc(void) storeLoc[2] = (painSplitHp & 0x00FF0000) >> 16; storeLoc[3] = (painSplitHp & 0xFF000000) >> 24; - gBattleMoveDamage = gBattleMons[gBankAttacker].hp - hpDiff; - gSpecialStatuses[gBankTarget].moveturnLostHP = 0xFFFF; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].hp - hpDiff; + gSpecialStatuses[gBattlerTarget].dmg = 0xFFFF; gBattlescriptCurrInstr += 5; } @@ -8803,338 +8588,97 @@ static void atkA5_painsplitdmgcalc(void) } } -#ifdef NONMATCHING static void atkA6_settypetorandomresistance(void) // conversion 2 { - if (gUnknown_02024250[gBankAttacker] == 0 - || gUnknown_02024250[gBankAttacker] == 0xFFFF) + if (gLastLandedMoves[gBattlerAttacker] == 0 + || gLastLandedMoves[gBattlerAttacker] == 0xFFFF) { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } - else if (IsTwoTurnsMove(gUnknown_02024250[gBankAttacker]) - && gBattleMons[gUnknown_02024270[gBankAttacker]].status2 & STATUS2_MULTIPLETURNS) + else if (IsTwoTurnsMove(gLastLandedMoves[gBattlerAttacker]) + && gBattleMons[gLastHitBy[gBattlerAttacker]].status2 & STATUS2_MULTIPLETURNS) { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } else { - s32 type = 0, rands = 0; - do + s32 i, j, rands; + + for (rands = 0; rands < 1000; rands++) { - while (((type = (Random() & 0x7F)) > 0x70)); + while (((i = (Random() & 0x7F)) > sizeof(gTypeEffectiveness) / 3)); - type *= 3; + i *= 3; - if (gTypeEffectiveness[type] == gUnknown_02024258[gBankAttacker] - && gTypeEffectiveness[type + 2] <= 5 - && gBattleMons[gBankAttacker].type1 != gTypeEffectiveness[type + 1] - && gBattleMons[gBankAttacker].type2 != gTypeEffectiveness[type + 1]) + if (TYPE_EFFECT_ATK_TYPE(i) == gLastHitByType[gBattlerAttacker] + && TYPE_EFFECT_MULTIPLIER(i) <= TYPE_MUL_NOT_EFFECTIVE + && gBattleMons[gBattlerAttacker].type1 != TYPE_EFFECT_DEF_TYPE(i) + && gBattleMons[gBattlerAttacker].type2 != TYPE_EFFECT_DEF_TYPE(i)) { - gBattleMons[gBankAttacker].type1 = type; - gBattleMons[gBankAttacker].type2 = type; + gBattleMons[gBattlerAttacker].type1 = TYPE_EFFECT_DEF_TYPE(i); + gBattleMons[gBattlerAttacker].type2 = TYPE_EFFECT_DEF_TYPE(i); - PREPARE_TYPE_BUFFER(gBattleTextBuff1, type) + PREPARE_TYPE_BUFFER(gBattleTextBuff1, TYPE_EFFECT_DEF_TYPE(i)) gBattlescriptCurrInstr += 5; return; } + } - rands++; - } while (rands <= 999); - - type = 0, rands = 0; - do + for (j = 0, rands = 0; rands < sizeof(gTypeEffectiveness); j += 3, rands += 3) { - s8 var = (s8)(gTypeEffectiveness[type]); - if (var > -1 || var < -2) + switch (TYPE_EFFECT_ATK_TYPE(j)) { - if (gTypeEffectiveness[type] == gUnknown_02024258[gBankAttacker] - && gTypeEffectiveness[type + 2] <= 5 - && gBattleMons[gBankAttacker].type1 != gTypeEffectiveness[type + 1] - && gBattleMons[gBankAttacker].type2 != gTypeEffectiveness[type + 1]) + case TYPE_ENDTABLE: + case TYPE_FORESIGHT: + break; + default: + if (TYPE_EFFECT_ATK_TYPE(j) == gLastHitByType[gBattlerAttacker] + && TYPE_EFFECT_MULTIPLIER(j) <= 5 + && gBattleMons[gBattlerAttacker].type1 != TYPE_EFFECT_DEF_TYPE(i) + && gBattleMons[gBattlerAttacker].type2 != TYPE_EFFECT_DEF_TYPE(i)) { - gBattleMons[gBankAttacker].type1 = gTypeEffectiveness[rands + 1]; - gBattleMons[gBankAttacker].type2 = gTypeEffectiveness[rands + 1]; + gBattleMons[gBattlerAttacker].type1 = TYPE_EFFECT_DEF_TYPE(rands); + gBattleMons[gBattlerAttacker].type2 = TYPE_EFFECT_DEF_TYPE(rands); - PREPARE_TYPE_BUFFER(gBattleTextBuff1, gTypeEffectiveness[rands + 1]) + PREPARE_TYPE_BUFFER(gBattleTextBuff1, TYPE_EFFECT_DEF_TYPE(rands)) gBattlescriptCurrInstr += 5; return; } + break; } - type += 3, rands += 3; - } while (rands < 336); + } gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } } -#else -__attribute__((naked)) -static void atkA6_settypetorandomresistance(void) // conversion 2 -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - ldr r1, =gUnknown_02024250\n\ - ldr r4, =gBankAttacker\n\ - ldrb r0, [r4]\n\ - lsls r0, 1\n\ - adds r2, r0, r1\n\ - ldrh r1, [r2]\n\ - cmp r1, 0\n\ - beq _08052B7E\n\ - ldr r0, =0x0000ffff\n\ - cmp r1, r0\n\ - beq _08052B7E\n\ - ldrh r0, [r2]\n\ - bl IsTwoTurnsMove\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - beq _08052C1C\n\ - ldr r1, =gBattleMons\n\ - ldr r2, =gUnknown_02024270\n\ - ldrb r0, [r4]\n\ - adds r0, r2\n\ - ldrb r2, [r0]\n\ - movs r0, 0x58\n\ - muls r0, r2\n\ - adds r1, 0x50\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - movs r1, 0x80\n\ - lsls r1, 5\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _08052C1C\n\ -_08052B7E:\n\ - ldr r3, =gBattlescriptCurrInstr\n\ - ldr r2, [r3]\n\ - ldrb r1, [r2, 0x1]\n\ - ldrb r0, [r2, 0x2]\n\ - lsls r0, 8\n\ - orrs r1, r0\n\ - ldrb r0, [r2, 0x3]\n\ - lsls r0, 16\n\ - orrs r1, r0\n\ - ldrb r0, [r2, 0x4]\n\ - lsls r0, 24\n\ - orrs r1, r0\n\ - str r1, [r3]\n\ - b _08052D08\n\ - .pool\n\ -_08052BB4:\n\ - mov r0, r12\n\ - strb r5, [r0]\n\ - mov r1, r10\n\ - ldrb r0, [r1]\n\ - muls r0, r2\n\ - adds r0, r7\n\ - adds r0, 0x22\n\ - strb r5, [r0]\n\ - ldr r1, =gBattleTextBuff1\n\ - movs r0, 0xFD\n\ - strb r0, [r1]\n\ - movs r0, 0x3\n\ - strb r0, [r1, 0x1]\n\ - strb r5, [r1, 0x2]\n\ - movs r0, 0xFF\n\ - strb r0, [r1, 0x3]\n\ - ldr r1, =gBattlescriptCurrInstr\n\ - b _08052C0A\n\ - .pool\n\ -_08052BE0:\n\ - mov r0, r8\n\ - adds r0, 0x1\n\ - adds r0, r3\n\ - ldrb r2, [r0]\n\ - strb r2, [r4]\n\ - mov r4, r10\n\ - ldrb r0, [r4]\n\ - muls r0, r6\n\ - ldr r7, =gBattleMons\n\ - adds r0, r7\n\ - adds r0, 0x22\n\ - strb r2, [r0]\n\ - ldr r1, =gBattleTextBuff1\n\ - movs r0, 0xFD\n\ - strb r0, [r1]\n\ - movs r0, 0x3\n\ - strb r0, [r1, 0x1]\n\ - strb r2, [r1, 0x2]\n\ - movs r0, 0xFF\n\ - strb r0, [r1, 0x3]\n\ - mov r1, r12\n\ -_08052C0A:\n\ - ldr r0, [r1]\n\ - adds r0, 0x5\n\ - str r0, [r1]\n\ - b _08052D08\n\ - .pool\n\ -_08052C1C:\n\ - movs r4, 0\n\ - mov r8, r4\n\ - movs r7, 0x7F\n\ - mov r9, r7\n\ -_08052C24:\n\ - bl Random\n\ - mov r4, r9\n\ - ands r4, r0\n\ - cmp r4, 0x70\n\ - bhi _08052C24\n\ - lsls r0, r4, 1\n\ - adds r4, r0, r4\n\ - ldr r6, =gTypeEffectiveness\n\ - adds r3, r4, r6\n\ - ldr r1, =gUnknown_02024258\n\ - ldr r2, =gBankAttacker\n\ - ldrb r5, [r2]\n\ - lsls r0, r5, 1\n\ - adds r0, r1\n\ - ldrb r1, [r3]\n\ - mov r10, r2\n\ - ldrh r0, [r0]\n\ - cmp r1, r0\n\ - bne _08052C80\n\ - adds r0, r4, 0x2\n\ - adds r0, r6\n\ - ldrb r0, [r0]\n\ - cmp r0, 0x5\n\ - bhi _08052C80\n\ - ldr r7, =gBattleMons\n\ - movs r2, 0x58\n\ - adds r0, r5, 0\n\ - muls r0, r2\n\ - adds r3, r0, r7\n\ - movs r0, 0x21\n\ - adds r0, r3\n\ - mov r12, r0\n\ - adds r0, r4, 0x1\n\ - adds r0, r6\n\ - ldrb r5, [r0]\n\ - mov r1, r12\n\ - ldrb r0, [r1]\n\ - adds r1, r5, 0\n\ - cmp r0, r1\n\ - beq _08052C80\n\ - adds r0, r3, 0\n\ - adds r0, 0x22\n\ - ldrb r0, [r0]\n\ - cmp r0, r1\n\ - bne _08052BB4\n\ -_08052C80:\n\ - movs r7, 0x1\n\ - add r8, r7\n\ - ldr r0, =0x000003e7\n\ - cmp r8, r0\n\ - ble _08052C24\n\ - movs r0, 0\n\ - mov r8, r0\n\ - ldr r1, =gBattlescriptCurrInstr\n\ - mov r12, r1\n\ - ldr r3, =gTypeEffectiveness\n\ - adds r0, r4, 0x1\n\ - adds r0, r3\n\ - mov r9, r0\n\ - adds r5, r3, 0\n\ -_08052C9C:\n\ - ldrb r1, [r5]\n\ - cmp r1, 0xFF\n\ - bgt _08052CA6\n\ - cmp r1, 0xFE\n\ - bge _08052CE0\n\ -_08052CA6:\n\ - mov r4, r10\n\ - ldrb r2, [r4]\n\ - lsls r0, r2, 1\n\ - ldr r7, =gUnknown_02024258\n\ - adds r0, r7\n\ - ldrh r0, [r0]\n\ - cmp r1, r0\n\ - bne _08052CE0\n\ - ldrb r0, [r5, 0x2]\n\ - cmp r0, 0x5\n\ - bhi _08052CE0\n\ - movs r6, 0x58\n\ - adds r0, r2, 0\n\ - muls r0, r6\n\ - ldr r1, =gBattleMons\n\ - adds r2, r0, r1\n\ - adds r4, r2, 0\n\ - adds r4, 0x21\n\ - ldrb r0, [r4]\n\ - mov r7, r9\n\ - ldrb r1, [r7]\n\ - cmp r0, r1\n\ - beq _08052CE0\n\ - adds r0, r2, 0\n\ - adds r0, 0x22\n\ - ldrb r0, [r0]\n\ - cmp r0, r1\n\ - beq _08052CE0\n\ - b _08052BE0\n\ -_08052CE0:\n\ - adds r5, 0x3\n\ - movs r0, 0x3\n\ - add r8, r0\n\ - ldr r0, =0x0000014f\n\ - cmp r8, r0\n\ - bls _08052C9C\n\ - mov r1, r12\n\ - ldr r2, [r1]\n\ - ldrb r1, [r2, 0x1]\n\ - ldrb r0, [r2, 0x2]\n\ - lsls r0, 8\n\ - orrs r1, r0\n\ - ldrb r0, [r2, 0x3]\n\ - lsls r0, 16\n\ - orrs r1, r0\n\ - ldrb r0, [r2, 0x4]\n\ - lsls r0, 24\n\ - orrs r1, r0\n\ - mov r4, r12\n\ - str r1, [r4]\n\ -_08052D08:\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - .syntax divided"); -} -#endif // NONMATCHING - static void atkA7_setalwayshitflag(void) { - gStatuses3[gBankTarget] &= ~(STATUS3_ALWAYS_HITS); - gStatuses3[gBankTarget] |= 0x10; - gDisableStructs[gBankTarget].bankWithSureHit = gBankAttacker; + gStatuses3[gBattlerTarget] &= ~(STATUS3_ALWAYS_HITS); + gStatuses3[gBattlerTarget] |= 0x10; + gDisableStructs[gBattlerTarget].battlerWithSureHit = gBattlerAttacker; gBattlescriptCurrInstr++; } static void atkA8_copymovepermanently(void) // sketch { - gLastUsedMove = 0xFFFF; + gChosenMove = 0xFFFF; - if (!(gBattleMons[gBankAttacker].status2 & STATUS2_TRANSFORMED) - && gUnknownMovesUsedByBanks[gBankTarget] != MOVE_STRUGGLE - && gUnknownMovesUsedByBanks[gBankTarget] != 0 - && gUnknownMovesUsedByBanks[gBankTarget] != 0xFFFF - && gUnknownMovesUsedByBanks[gBankTarget] != MOVE_SKETCH) + if (!(gBattleMons[gBattlerAttacker].status2 & STATUS2_TRANSFORMED) + && gLastPrintedMoves[gBattlerTarget] != MOVE_STRUGGLE + && gLastPrintedMoves[gBattlerTarget] != 0 + && gLastPrintedMoves[gBattlerTarget] != 0xFFFF + && gLastPrintedMoves[gBattlerTarget] != MOVE_SKETCH) { s32 i; for (i = 0; i < 4; i++) { - if (gBattleMons[gBankAttacker].moves[i] == MOVE_SKETCH) + if (gBattleMons[gBattlerAttacker].moves[i] == MOVE_SKETCH) continue; - if (gBattleMons[gBankAttacker].moves[i] == gUnknownMovesUsedByBanks[gBankTarget]) + if (gBattleMons[gBattlerAttacker].moves[i] == gLastPrintedMoves[gBattlerTarget]) break; } @@ -9146,21 +8690,21 @@ static void atkA8_copymovepermanently(void) // sketch { struct MovePpInfo movePpData; - gBattleMons[gBankAttacker].moves[gCurrMovePos] = gUnknownMovesUsedByBanks[gBankTarget]; - gBattleMons[gBankAttacker].pp[gCurrMovePos] = gBattleMoves[gUnknownMovesUsedByBanks[gBankTarget]].pp; - gActiveBank = gBankAttacker; + gBattleMons[gBattlerAttacker].moves[gCurrMovePos] = gLastPrintedMoves[gBattlerTarget]; + gBattleMons[gBattlerAttacker].pp[gCurrMovePos] = gBattleMoves[gLastPrintedMoves[gBattlerTarget]].pp; + gActiveBattler = gBattlerAttacker; for (i = 0; i < 4; i++) { - movePpData.moves[i] = gBattleMons[gBankAttacker].moves[i]; - movePpData.pp[i] = gBattleMons[gBankAttacker].pp[i]; + movePpData.moves[i] = gBattleMons[gBattlerAttacker].moves[i]; + movePpData.pp[i] = gBattleMons[gBattlerAttacker].pp[i]; } - movePpData.ppBonuses = gBattleMons[gBankAttacker].ppBonuses; + movePpData.ppBonuses = gBattleMons[gBattlerAttacker].ppBonuses; - EmitSetMonData(0, REQUEST_MOVES_PP_BATTLE, 0, sizeof(struct MovePpInfo), &movePpData); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitSetMonData(0, REQUEST_MOVES_PP_BATTLE, 0, sizeof(struct MovePpInfo), &movePpData); + MarkBattlerForControllerExec(gActiveBattler); - PREPARE_MOVE_BUFFER(gBattleTextBuff1, gUnknownMovesUsedByBanks[gBankTarget]) + PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastPrintedMoves[gBattlerTarget]) gBattlescriptCurrInstr += 5; } @@ -9177,7 +8721,7 @@ static bool8 IsTwoTurnsMove(u16 move) || gBattleMoves[move].effect == EFFECT_RAZOR_WIND || gBattleMoves[move].effect == EFFECT_SKY_ATTACK || gBattleMoves[move].effect == EFFECT_SOLARBEAM - || gBattleMoves[move].effect == EFFECT_FLY + || gBattleMoves[move].effect == EFFECT_SEMI_INVULNERABLE || gBattleMoves[move].effect == EFFECT_BIDE) return TRUE; else @@ -9193,7 +8737,7 @@ static bool8 IsInvalidForSleepTalkOrAssist(u16 move) return FALSE; } -static u8 AttacksThisTurn(u8 bank, u16 move) // Note: returns 1 if it's a charging turn, otherwise 2 +static u8 AttacksThisTurn(u8 battlerId, u16 move) // Note: returns 1 if it's a charging turn, otherwise 2 { // first argument is unused if (gBattleMoves[move].effect == EFFECT_SOLARBEAM @@ -9204,7 +8748,7 @@ static u8 AttacksThisTurn(u8 bank, u16 move) // Note: returns 1 if it's a chargi || gBattleMoves[move].effect == EFFECT_RAZOR_WIND || gBattleMoves[move].effect == EFFECT_SKY_ATTACK || gBattleMoves[move].effect == EFFECT_SOLARBEAM - || gBattleMoves[move].effect == EFFECT_FLY + || gBattleMoves[move].effect == EFFECT_SEMI_INVULNERABLE || gBattleMoves[move].effect == EFFECT_BIDE) { if ((gHitMarker & HITMARKER_x8000000)) @@ -9213,24 +8757,24 @@ static u8 AttacksThisTurn(u8 bank, u16 move) // Note: returns 1 if it's a chargi return 2; } -static void atkA9_sleeptalk_choose_move(void) +static void atkA9_trychoosesleeptalkmove(void) { s32 i; u8 unusableMovesBits = 0; for (i = 0; i < 4; i++) { - if (IsInvalidForSleepTalkOrAssist(gBattleMons[gBankAttacker].moves[i]) - || gBattleMons[gBankAttacker].moves[i] == MOVE_FOCUS_PUNCH - || gBattleMons[gBankAttacker].moves[i] == MOVE_UPROAR - || IsTwoTurnsMove(gBattleMons[gBankAttacker].moves[i])) + if (IsInvalidForSleepTalkOrAssist(gBattleMons[gBattlerAttacker].moves[i]) + || gBattleMons[gBattlerAttacker].moves[i] == MOVE_FOCUS_PUNCH + || gBattleMons[gBattlerAttacker].moves[i] == MOVE_UPROAR + || IsTwoTurnsMove(gBattleMons[gBattlerAttacker].moves[i])) { unusableMovesBits |= gBitTable[i]; } } - unusableMovesBits = CheckMoveLimitations(gBankAttacker, unusableMovesBits, ~(MOVE_LIMITATION_PP)); + unusableMovesBits = CheckMoveLimitations(gBattlerAttacker, unusableMovesBits, ~(MOVE_LIMITATION_PP)); if (unusableMovesBits == 0xF) // all 4 moves cannot be chosen { gBattlescriptCurrInstr += 5; @@ -9244,25 +8788,25 @@ static void atkA9_sleeptalk_choose_move(void) movePosition = Random() & 3; } while ((gBitTable[movePosition] & unusableMovesBits)); - gRandomMove = gBattleMons[gBankAttacker].moves[movePosition]; + gRandomMove = gBattleMons[gBattlerAttacker].moves[movePosition]; gCurrMovePos = movePosition; gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); - gBankTarget = GetMoveTarget(gRandomMove, 0); + gBattlerTarget = GetMoveTarget(gRandomMove, 0); gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } } -static void atkAA_set_destinybond(void) +static void atkAA_setdestinybond(void) { - gBattleMons[gBankAttacker].status2 |= STATUS2_DESTINY_BOND; + gBattleMons[gBattlerAttacker].status2 |= STATUS2_DESTINY_BOND; gBattlescriptCurrInstr++; } -static void DestinyBondFlagUpdate(void) +static void TrySetDestinyBondToHappen(void) { - u8 sideAttacker = GetBankSide(gBankAttacker); - u8 sideTarget = GetBankSide(gBankTarget); - if (gBattleMons[gBankTarget].status2 & STATUS2_DESTINY_BOND + u8 sideAttacker = GetBattlerSide(gBattlerAttacker); + u8 sideTarget = GetBattlerSide(gBattlerTarget); + if (gBattleMons[gBattlerTarget].status2 & STATUS2_DESTINY_BOND && sideAttacker != sideTarget && !(gHitMarker & HITMARKER_GRUDGE)) { @@ -9270,16 +8814,16 @@ static void DestinyBondFlagUpdate(void) } } -static void atkAB_DestinyBondFlagUpdate(void) +static void atkAB_trysetdestinybondtohappen(void) { - DestinyBondFlagUpdate(); + TrySetDestinyBondToHappen(); gBattlescriptCurrInstr++; } static void atkAC_remaininghptopower(void) { s32 i; - s32 hpFraction = GetScaledHPFraction(gBattleMons[gBankAttacker].hp, gBattleMons[gBankAttacker].maxHP, 48); + s32 hpFraction = GetScaledHPFraction(gBattleMons[gBattlerAttacker].hp, gBattleMons[gBattlerAttacker].maxHP, 48); for (i = 0; i < (s32) sizeof(sFlailHpScaleToPowerTable); i += 2) { @@ -9291,45 +8835,45 @@ static void atkAC_remaininghptopower(void) gBattlescriptCurrInstr++; } -static void atkAD_spite_ppreduce(void) +static void atkAD_tryspiteppreduce(void) { - if (gLastUsedMovesByBanks[gBankTarget] != 0 - && gLastUsedMovesByBanks[gBankTarget] != 0xFFFF) + if (gLastMoves[gBattlerTarget] != 0 + && gLastMoves[gBattlerTarget] != 0xFFFF) { s32 i; for (i = 0; i < 4; i++) { - if (gLastUsedMovesByBanks[gBankTarget] == gBattleMons[gBankTarget].moves[i]) + if (gLastMoves[gBattlerTarget] == gBattleMons[gBattlerTarget].moves[i]) break; } - if (i != 4 && gBattleMons[gBankTarget].pp[i] > 1) + if (i != 4 && gBattleMons[gBattlerTarget].pp[i] > 1) { s32 ppToDeduct = (Random() & 3) + 2; - if (gBattleMons[gBankTarget].pp[i] < ppToDeduct) - ppToDeduct = gBattleMons[gBankTarget].pp[i]; + if (gBattleMons[gBattlerTarget].pp[i] < ppToDeduct) + ppToDeduct = gBattleMons[gBattlerTarget].pp[i]; - PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastUsedMovesByBanks[gBankTarget]) + PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastMoves[gBattlerTarget]) ConvertIntToDecimalStringN(gBattleTextBuff2, ppToDeduct, 0, 1); PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 1, ppToDeduct) - gBattleMons[gBankTarget].pp[i] -= ppToDeduct; - gActiveBank = gBankTarget; + gBattleMons[gBattlerTarget].pp[i] -= ppToDeduct; + gActiveBattler = gBattlerTarget; - if (!(gDisableStructs[gActiveBank].unk18_b & gBitTable[i]) - && !(gBattleMons[gActiveBank].status2 & STATUS2_TRANSFORMED)) + if (!(gDisableStructs[gActiveBattler].unk18_b & gBitTable[i]) + && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) { - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBank].pp[i]); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBattler].pp[i]); + MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr += 5; - if (gBattleMons[gBankTarget].pp[i] == 0) - CancelMultiTurnMoves(gBankTarget); + if (gBattleMons[gBattlerTarget].pp[i] == 0) + CancelMultiTurnMoves(gBattlerTarget); } else { @@ -9342,7 +8886,7 @@ static void atkAD_spite_ppreduce(void) } } -static void atkAE_heal_party_status(void) +static void atkAE_healpartystatus(void) { u32 zero = 0; u8 toHeal = 0; @@ -9354,35 +8898,35 @@ static void atkAE_heal_party_status(void) gBattleCommunication[MULTISTRING_CHOOSER] = 0; - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; - if (gBattleMons[gBankAttacker].ability != ABILITY_SOUNDPROOF) + if (gBattleMons[gBattlerAttacker].ability != ABILITY_SOUNDPROOF) { - gBattleMons[gBankAttacker].status1 = 0; - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[gBattlerAttacker].status1 = 0; + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_NIGHTMARE); } else { - RecordAbilityBattle(gBankAttacker, gBattleMons[gBankAttacker].ability); + RecordAbilityBattle(gBattlerAttacker, gBattleMons[gBattlerAttacker].ability); gBattleCommunication[MULTISTRING_CHOOSER] |= 1; } - gActiveBank = gBattleScripting.bank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_MON); + gActiveBattler = gBattleScripting.battler = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_FLANK); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE - && !(gAbsentBankFlags & gBitTable[gActiveBank])) + && !(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { - if (gBattleMons[gActiveBank].ability != ABILITY_SOUNDPROOF) + if (gBattleMons[gActiveBattler].ability != ABILITY_SOUNDPROOF) { - gBattleMons[gActiveBank].status1 = 0; - gBattleMons[gActiveBank].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[gActiveBattler].status1 = 0; + gBattleMons[gActiveBattler].status2 &= ~(STATUS2_NIGHTMARE); } else { - RecordAbilityBattle(gActiveBank, gBattleMons[gActiveBank].ability); + RecordAbilityBattle(gActiveBattler, gBattleMons[gActiveBattler].ability); gBattleCommunication[MULTISTRING_CHOOSER] |= 2; } } @@ -9396,12 +8940,12 @@ static void atkAE_heal_party_status(void) { u8 ability; - if (gBattlePartyID[gBankAttacker] == i) - ability = gBattleMons[gBankAttacker].ability; + if (gBattlerPartyIndexes[gBattlerAttacker] == i) + ability = gBattleMons[gBattlerAttacker].ability; else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE - && gBattlePartyID[gActiveBank] == i - && !(gAbsentBankFlags & gBitTable[gActiveBank])) - ability = gBattleMons[gActiveBank].ability; + && gBattlerPartyIndexes[gActiveBattler] == i + && !(gAbsentBattlerFlags & gBitTable[gActiveBattler])) + ability = gBattleMons[gActiveBattler].ability; else ability = GetAbilityBySpecies(species, abilityBit); @@ -9415,24 +8959,24 @@ static void atkAE_heal_party_status(void) gBattleCommunication[MULTISTRING_CHOOSER] = 4; toHeal = 0x3F; - gBattleMons[gBankAttacker].status1 = 0; - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[gBattlerAttacker].status1 = 0; + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_NIGHTMARE); - gActiveBank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2); + gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_FLANK); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE - && !(gAbsentBankFlags & gBitTable[gActiveBank])) + && !(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { - gBattleMons[gActiveBank].status1 = 0; - gBattleMons[gActiveBank].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[gActiveBattler].status1 = 0; + gBattleMons[gActiveBattler].status2 &= ~(STATUS2_NIGHTMARE); } } if (toHeal) { - gActiveBank = gBankAttacker; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, toHeal, 4, &zero); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBattlerAttacker; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, toHeal, 4, &zero); + MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr++; @@ -9440,14 +8984,14 @@ static void atkAE_heal_party_status(void) static void atkAF_cursetarget(void) { - if (gBattleMons[gBankTarget].status2 & STATUS2_CURSED) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_CURSED) { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } else { - gBattleMons[gBankTarget].status2 |= STATUS2_CURSED; - gBattleMoveDamage = gBattleMons[gBankAttacker].maxHP / 2; + gBattleMons[gBattlerTarget].status2 |= STATUS2_CURSED; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 2; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; @@ -9455,35 +8999,35 @@ static void atkAF_cursetarget(void) } } -static void atkB0_set_spikes(void) +static void atkB0_trysetspikes(void) { - u8 targetSide = GetBankSide(gBankAttacker) ^ BIT_SIDE; + u8 targetSide = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE; if (gSideTimers[targetSide].spikesAmount == 3) { - gSpecialStatuses[gBankAttacker].flag20 = 1; + gSpecialStatuses[gBattlerAttacker].flag20 = 1; gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } else { - gSideAffecting[targetSide] |= SIDE_STATUS_SPIKES; + gSideStatuses[targetSide] |= SIDE_STATUS_SPIKES; gSideTimers[targetSide].spikesAmount++; gBattlescriptCurrInstr += 5; } } -static void atkB1_set_foresight(void) +static void atkB1_setforesight(void) { - gBattleMons[gBankTarget].status2 |= STATUS2_FORESIGHT; + gBattleMons[gBattlerTarget].status2 |= STATUS2_FORESIGHT; gBattlescriptCurrInstr++; } -static void atkB2_setperishsong(void) +static void atkB2_trysetperishsong(void) { s32 i; s32 notAffectedCount = 0; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gStatuses3[i] & STATUS3_PERISH_SONG || gBattleMons[i].ability == ABILITY_SOUNDPROOF) @@ -9493,14 +9037,14 @@ static void atkB2_setperishsong(void) else { gStatuses3[i] |= STATUS3_PERISH_SONG; - gDisableStructs[i].perishSong1 = 3; - gDisableStructs[i].perishSong2 = 3; + gDisableStructs[i].perishSongTimer1 = 3; + gDisableStructs[i].perishSongTimer2 = 3; } } - PressurePPLoseOnUsingPerishSong(gBankAttacker); + PressurePPLoseOnUsingPerishSong(gBattlerAttacker); - if (notAffectedCount == gNoOfAllBanks) + if (notAffectedCount == gBattlersCount) gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); else gBattlescriptCurrInstr += 5; @@ -9508,33 +9052,33 @@ static void atkB2_setperishsong(void) static void atkB3_rolloutdamagecalculation(void) { - if (gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT) { - CancelMultiTurnMoves(gBankAttacker); - gBattlescriptCurrInstr = BattleScript_PauseEffectivenessSoundResultMsgEndMove; + CancelMultiTurnMoves(gBattlerAttacker); + gBattlescriptCurrInstr = BattleScript_MoveMissedPause; } else { s32 i; - if (!(gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS)) // first hit + if (!(gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS)) // first hit { - gDisableStructs[gBankAttacker].rolloutCounter1 = 5; - gDisableStructs[gBankAttacker].rolloutCounter2 = 5; - gBattleMons[gBankAttacker].status2 |= STATUS2_MULTIPLETURNS; - gLockedMoves[gBankAttacker] = gCurrentMove; + gDisableStructs[gBattlerAttacker].rolloutCounter1 = 5; + gDisableStructs[gBattlerAttacker].rolloutCounter2 = 5; + gBattleMons[gBattlerAttacker].status2 |= STATUS2_MULTIPLETURNS; + gLockedMoves[gBattlerAttacker] = gCurrentMove; } - if (--gDisableStructs[gBankAttacker].rolloutCounter1 == 0) // last hit + if (--gDisableStructs[gBattlerAttacker].rolloutCounter1 == 0) // last hit { - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_MULTIPLETURNS); + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_MULTIPLETURNS); } gDynamicBasePower = gBattleMoves[gCurrentMove].power; - for (i = 1; i < (5 - gDisableStructs[gBankAttacker].rolloutCounter1); i++) + for (i = 1; i < (5 - gDisableStructs[gBattlerAttacker].rolloutCounter1); i++) gDynamicBasePower *= 2; - if (gBattleMons[gBankAttacker].status2 & STATUS2_DEFENSE_CURL) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_DEFENSE_CURL) gDynamicBasePower *= 2; gBattlescriptCurrInstr++; @@ -9543,8 +9087,8 @@ static void atkB3_rolloutdamagecalculation(void) static void atkB4_jumpifconfusedandstatmaxed(void) { - if (gBattleMons[gBankTarget].status2 & STATUS2_CONFUSION - && gBattleMons[gBankTarget].statStages[gBattlescriptCurrInstr[1]] == 0xC) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_CONFUSION + && gBattleMons[gBattlerTarget].statStages[gBattlescriptCurrInstr[1]] == 0xC) gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2); else gBattlescriptCurrInstr += 6; @@ -9552,21 +9096,21 @@ static void atkB4_jumpifconfusedandstatmaxed(void) static void atkB5_furycuttercalc(void) { - if (gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT) { - gDisableStructs[gBankAttacker].furyCutterCounter = 0; - gBattlescriptCurrInstr = BattleScript_PauseEffectivenessSoundResultMsgEndMove; + gDisableStructs[gBattlerAttacker].furyCutterCounter = 0; + gBattlescriptCurrInstr = BattleScript_MoveMissedPause; } else { s32 i; - if (gDisableStructs[gBankAttacker].furyCutterCounter != 5) - gDisableStructs[gBankAttacker].furyCutterCounter++; + if (gDisableStructs[gBattlerAttacker].furyCutterCounter != 5) + gDisableStructs[gBattlerAttacker].furyCutterCounter++; gDynamicBasePower = gBattleMoves[gCurrentMove].power; - for (i = 1; i < gDisableStructs[gBankAttacker].furyCutterCounter; i++) + for (i = 1; i < gDisableStructs[gBattlerAttacker].furyCutterCounter; i++) gDynamicBasePower *= 2; gBattlescriptCurrInstr++; @@ -9576,9 +9120,9 @@ static void atkB5_furycuttercalc(void) static void atkB6_happinesstodamagecalculation(void) { if (gBattleMoves[gCurrentMove].effect == EFFECT_RETURN) - gDynamicBasePower = 10 * (gBattleMons[gBankAttacker].friendship) / 25; + gDynamicBasePower = 10 * (gBattleMons[gBattlerAttacker].friendship) / 25; else // EFFECT_FRUSTRATION - gDynamicBasePower = 10 * (255 - gBattleMons[gBankAttacker].friendship) / 25; + gDynamicBasePower = 10 * (255 - gBattleMons[gBattlerAttacker].friendship) / 25; gBattlescriptCurrInstr++; } @@ -9595,34 +9139,34 @@ static void atkB7_presentdamagecalculation(void) gDynamicBasePower = 120; else { - gBattleMoveDamage = gBattleMons[gBankTarget].maxHP / 4; + gBattleMoveDamage = gBattleMons[gBattlerTarget].maxHP / 4; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; } if (rand < 204) - gBattlescriptCurrInstr = BattleScript_PresentDamageTarget; - else if (gBattleMons[gBankTarget].maxHP == gBattleMons[gBankTarget].hp) + gBattlescriptCurrInstr = BattleScript_HitFromCritCalc; + else if (gBattleMons[gBattlerTarget].maxHP == gBattleMons[gBattlerTarget].hp) gBattlescriptCurrInstr = BattleScript_AlreadyAtFullHp; else { - gBattleMoveFlags &= ~(MOVESTATUS_NOTAFFECTED); + gMoveResultFlags &= ~(MOVE_RESULT_DOESNT_AFFECT_FOE); gBattlescriptCurrInstr = BattleScript_PresentHealTarget; } } -static void atkB8_set_safeguard(void) +static void atkB8_setsafeguard(void) { - if (gSideAffecting[GET_BANK_SIDE(gBankAttacker)] & SIDE_STATUS_SAFEGUARD) + if (gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] & SIDE_STATUS_SAFEGUARD) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } else { - gSideAffecting[GET_BANK_SIDE(gBankAttacker)] |= SIDE_STATUS_SAFEGUARD; - gSideTimers[GET_BANK_SIDE(gBankAttacker)].safeguardTimer = 5; - gSideTimers[GET_BANK_SIDE(gBankAttacker)].safeguardBank = gBankAttacker; + gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] |= SIDE_STATUS_SAFEGUARD; + gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].safeguardTimer = 5; + gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].safeguardBattlerId = gBattlerAttacker; gBattleCommunication[MULTISTRING_CHOOSER] = 5; } @@ -9672,11 +9216,11 @@ static void atkB9_magnitudedamagecalculation(void) PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff1, 2, magnitude) - for (gBankTarget = 0; gBankTarget < gNoOfAllBanks; gBankTarget++) + for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount; gBattlerTarget++) { - if (gBankTarget == gBankAttacker) + if (gBattlerTarget == gBattlerAttacker) continue; - if (!(gAbsentBankFlags & gBitTable[gBankTarget])) // a valid target was found + if (!(gAbsentBattlerFlags & gBitTable[gBattlerTarget])) // a valid target was found break; } @@ -9687,36 +9231,36 @@ static void atkBA_jumpifnopursuitswitchdmg(void) { if (gMultiHitCounter == 1) { - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) - gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON1); + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) + gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); else - gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON1); + gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); } else { - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) - gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON2); + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) + gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); else - gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON2); + gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); } - if (gActionForBanks[gBankTarget] == 0 - && gBankAttacker == *(gBattleStruct->moveTarget + gBankTarget) - && !(gBattleMons[gBankTarget].status1 & (STATUS_SLEEP | STATUS_FREEZE)) - && gBattleMons[gBankAttacker].hp - && !gDisableStructs[gBankTarget].truantCounter - && gChosenMovesByBanks[gBankTarget] == MOVE_PURSUIT) + if (gChosenActionByBattler[gBattlerTarget] == B_ACTION_USE_MOVE + && gBattlerAttacker == *(gBattleStruct->moveTarget + gBattlerTarget) + && !(gBattleMons[gBattlerTarget].status1 & (STATUS1_SLEEP | STATUS1_FREEZE)) + && gBattleMons[gBattlerAttacker].hp + && !gDisableStructs[gBattlerTarget].truantCounter + && gChosenMoveByBattler[gBattlerTarget] == MOVE_PURSUIT) { s32 i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - if (gBanksByTurnOrder[i] == gBankTarget) + if (gBattleTurnOrder[i] == gBattlerTarget) gActionsByTurnOrder[i] = 11; } gCurrentMove = MOVE_PURSUIT; - gCurrMovePos = gUnknown_020241E9 = *(gBattleStruct->chosenMovePositions + gBankTarget); + gCurrMovePos = gChosenMovePos = *(gBattleStruct->chosenMovePositions + gBattlerTarget); gBattlescriptCurrInstr += 5; gBattleScripting.animTurn = 1; gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); @@ -9731,7 +9275,7 @@ static void atkBB_setsunny(void) { if (gBattleWeather & WEATHER_SUN_ANY) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 2; } else @@ -9746,16 +9290,16 @@ static void atkBB_setsunny(void) static void atkBC_maxattackhalvehp(void) // belly drum { - u32 halfHp = gBattleMons[gBankAttacker].maxHP / 2; + u32 halfHp = gBattleMons[gBattlerAttacker].maxHP / 2; - if (!(gBattleMons[gBankAttacker].maxHP / 2)) + if (!(gBattleMons[gBattlerAttacker].maxHP / 2)) halfHp = 1; - if (gBattleMons[gBankAttacker].statStages[STAT_STAGE_ATK] < 12 - && gBattleMons[gBankAttacker].hp > halfHp) + if (gBattleMons[gBattlerAttacker].statStages[STAT_ATK] < 12 + && gBattleMons[gBattlerAttacker].hp > halfHp) { - gBattleMons[gBankAttacker].statStages[STAT_STAGE_ATK] = 12; - gBattleMoveDamage = gBattleMons[gBankAttacker].maxHP / 2; + gBattleMons[gBattlerAttacker].statStages[STAT_ATK] = 12; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 2; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; @@ -9773,7 +9317,7 @@ static void atkBD_copyfoestats(void) // psych up for (i = 0; i < BATTLE_STATS_NO; i++) { - gBattleMons[gBankAttacker].statStages[i] = gBattleMons[gBankTarget].statStages[i]; + gBattleMons[gBattlerAttacker].statStages[i] = gBattleMons[gBattlerTarget].statStages[i]; } gBattlescriptCurrInstr += 5; // Has an unused jump ptr(possibly for a failed attempt) parameter. @@ -9781,32 +9325,32 @@ static void atkBD_copyfoestats(void) // psych up static void atkBE_rapidspinfree(void) { - if (gBattleMons[gBankAttacker].status2 & STATUS2_WRAPPED) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_WRAPPED) { - gBattleScripting.bank = gBankTarget; - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_WRAPPED); - gBankTarget = *(gBattleStruct->wrappedBy + gBankAttacker); + gBattleScripting.battler = gBattlerTarget; + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_WRAPPED); + gBattlerTarget = *(gBattleStruct->wrappedBy + gBattlerAttacker); gBattleTextBuff1[0] = B_BUFF_PLACEHOLDER_BEGIN; gBattleTextBuff1[1] = B_BUFF_MOVE; - gBattleTextBuff1[2] = *(gBattleStruct->wrappedMove + gBankAttacker * 2 + 0); - gBattleTextBuff1[3] = *(gBattleStruct->wrappedMove + gBankAttacker * 2 + 1); + gBattleTextBuff1[2] = *(gBattleStruct->wrappedMove + gBattlerAttacker * 2 + 0); + gBattleTextBuff1[3] = *(gBattleStruct->wrappedMove + gBattlerAttacker * 2 + 1); gBattleTextBuff1[4] = B_BUFF_EOS; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_WrapFree; } - else if (gStatuses3[gBankAttacker] & STATUS3_LEECHSEED) + else if (gStatuses3[gBattlerAttacker] & STATUS3_LEECHSEED) { - gStatuses3[gBankAttacker] &= ~(STATUS3_LEECHSEED); - gStatuses3[gBankAttacker] &= ~(STATUS3_LEECHSEED_BANK); + gStatuses3[gBattlerAttacker] &= ~(STATUS3_LEECHSEED); + gStatuses3[gBattlerAttacker] &= ~(STATUS3_LEECHSEED_BANK); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_LeechSeedFree; } - else if (gSideAffecting[GetBankSide(gBankAttacker)] & SIDE_STATUS_SPIKES) + else if (gSideStatuses[GetBattlerSide(gBattlerAttacker)] & SIDE_STATUS_SPIKES) { - gSideAffecting[GetBankSide(gBankAttacker)] &= ~(SIDE_STATUS_SPIKES); - gSideTimers[GetBankSide(gBankAttacker)].spikesAmount = 0; + gSideStatuses[GetBattlerSide(gBattlerAttacker)] &= ~(SIDE_STATUS_SPIKES); + gSideTimers[GetBattlerSide(gBattlerAttacker)].spikesAmount = 0; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SpikesFree; } @@ -9816,24 +9360,24 @@ static void atkBE_rapidspinfree(void) } } -static void atkBF_set_defense_curl(void) +static void atkBF_setdefensecurlbit(void) { - gBattleMons[gBankAttacker].status2 |= STATUS2_DEFENSE_CURL; + gBattleMons[gBattlerAttacker].status2 |= STATUS2_DEFENSE_CURL; gBattlescriptCurrInstr++; } static void atkC0_recoverbasedonsunlight(void) { - gBankTarget = gBankAttacker; + gBattlerTarget = gBattlerAttacker; - if (gBattleMons[gBankAttacker].hp != gBattleMons[gBankAttacker].maxHP) + if (gBattleMons[gBattlerAttacker].hp != gBattleMons[gBattlerAttacker].maxHP) { if (gBattleWeather == 0 || !WEATHER_HAS_EFFECT) - gBattleMoveDamage = gBattleMons[gBankAttacker].maxHP / 2; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 2; else if (gBattleWeather & WEATHER_SUN_ANY) - gBattleMoveDamage = 20 * gBattleMons[gBankAttacker].maxHP / 30; + gBattleMoveDamage = 20 * gBattleMons[gBattlerAttacker].maxHP / 30; else // not sunny weather - gBattleMoveDamage = gBattleMons[gBankAttacker].maxHP / 4; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 4; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; @@ -9848,24 +9392,24 @@ static void atkC0_recoverbasedonsunlight(void) } #ifdef NONMATCHING -static void atkC1_hidden_power(void) +static void atkC1_hiddenpowercalc(void) { - s32 powerBits; - s32 typeBits; + u32 powerBits = 0; + u32 typeBits = 0; - powerBits = ((gBattleMons[gBankAttacker].hpIV & 2) >> 1) - | ((gBattleMons[gBankAttacker].attackIV & 2) << 0) - | ((gBattleMons[gBankAttacker].defenseIV & 2) << 1) - | ((gBattleMons[gBankAttacker].speedIV & 2) << 2) - | ((gBattleMons[gBankAttacker].spAttackIV & 2) << 3) - | ((gBattleMons[gBankAttacker].spDefenseIV & 2) << 4); + powerBits |= ((gBattleMons[gBattlerAttacker].hpIV & 2) >> 1); + powerBits |= ((gBattleMons[gBattlerAttacker].attackIV & 2) << 0); + powerBits |= ((gBattleMons[gBattlerAttacker].defenseIV & 2) << 1); + powerBits |= ((gBattleMons[gBattlerAttacker].speedIV & 2) << 2); + powerBits |= ((gBattleMons[gBattlerAttacker].spAttackIV & 2) << 3); + powerBits |= ((gBattleMons[gBattlerAttacker].spDefenseIV & 2) << 4); - typeBits = ((gBattleMons[gBankAttacker].hpIV & 1) << 0) - | ((gBattleMons[gBankAttacker].attackIV & 1) << 1) - | ((gBattleMons[gBankAttacker].defenseIV & 1) << 2) - | ((gBattleMons[gBankAttacker].speedIV & 1) << 3) - | ((gBattleMons[gBankAttacker].spAttackIV & 1) << 4) - | ((gBattleMons[gBankAttacker].spDefenseIV & 1) << 5); + typeBits |= ((gBattleMons[gBattlerAttacker].hpIV & 1) << 0); + typeBits |= ((gBattleMons[gBattlerAttacker].attackIV & 1) << 1); + typeBits |= ((gBattleMons[gBattlerAttacker].defenseIV & 1) << 2); + typeBits |= ((gBattleMons[gBattlerAttacker].speedIV & 1) << 3); + typeBits |= ((gBattleMons[gBattlerAttacker].spAttackIV & 1) << 4); + typeBits |= ((gBattleMons[gBattlerAttacker].spDefenseIV & 1) << 5); gDynamicBasePower = (40 * powerBits) / 63 + 30; @@ -9879,7 +9423,7 @@ static void atkC1_hidden_power(void) #else __attribute__((naked)) -static void atkC1_hidden_power(void) +static void atkC1_hiddenpowercalc(void) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ @@ -9888,7 +9432,7 @@ static void atkC1_hidden_power(void) mov r5, r8\n\ push {r5-r7}\n\ ldr r2, =gBattleMons\n\ - ldr r0, =gBankAttacker\n\ + ldr r0, =gBattlerAttacker\n\ ldrb r1, [r0]\n\ movs r0, 0x58\n\ adds r4, r1, 0\n\ @@ -10022,36 +9566,36 @@ _080544F0:\n\ } #endif // NONMATCHING -static void atkC2_selectnexttarget(void) +static void atkC2_selectfirstvalidtarget(void) { - for (gBankTarget = 0; gBankTarget < gNoOfAllBanks; gBankTarget++) + for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount; gBattlerTarget++) { - if (gBankTarget == gBankAttacker) + if (gBattlerTarget == gBattlerAttacker) continue; - if (!(gAbsentBankFlags & gBitTable[gBankTarget])) + if (!(gAbsentBattlerFlags & gBitTable[gBattlerTarget])) break; } gBattlescriptCurrInstr++; } -static void atkC3_setfutureattack(void) +static void atkC3_trysetfutureattack(void) { - if (gWishFutureKnock.futureSightCounter[gBankTarget] != 0) + if (gWishFutureKnock.futureSightCounter[gBattlerTarget] != 0) { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } else { - gSideAffecting[GET_BANK_SIDE(gBankTarget)] |= SIDE_STATUS_FUTUREATTACK; - gWishFutureKnock.futureSightMove[gBankTarget] = gCurrentMove; - gWishFutureKnock.futureSightAttacker[gBankTarget] = gBankAttacker; - gWishFutureKnock.futureSightCounter[gBankTarget] = 3; - gWishFutureKnock.futureSightDmg[gBankTarget] = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankTarget], gCurrentMove, - gSideAffecting[GET_BANK_SIDE(gBankTarget)], 0, - 0, gBankAttacker, gBankTarget); + gSideStatuses[GET_BATTLER_SIDE(gBattlerTarget)] |= SIDE_STATUS_FUTUREATTACK; + gWishFutureKnock.futureSightMove[gBattlerTarget] = gCurrentMove; + gWishFutureKnock.futureSightAttacker[gBattlerTarget] = gBattlerAttacker; + gWishFutureKnock.futureSightCounter[gBattlerTarget] = 3; + gWishFutureKnock.futureSightDmg[gBattlerTarget] = CalculateBaseDamage(&gBattleMons[gBattlerAttacker], &gBattleMons[gBattlerTarget], gCurrentMove, + gSideStatuses[GET_BATTLER_SIDE(gBattlerTarget)], 0, + 0, gBattlerAttacker, gBattlerTarget); - if (gProtectStructs[gBankAttacker].helpingHand) - gWishFutureKnock.futureSightDmg[gBankTarget] = gWishFutureKnock.futureSightDmg[gBankTarget] * 15 / 10; + if (gProtectStructs[gBattlerAttacker].helpingHand) + gWishFutureKnock.futureSightDmg[gBattlerTarget] = gWishFutureKnock.futureSightDmg[gBattlerTarget] * 15 / 10; if (gCurrentMove == MOVE_DOOM_DESIRE) gBattleCommunication[MULTISTRING_CHOOSER] = 1; @@ -10062,16 +9606,16 @@ static void atkC3_setfutureattack(void) } } -static void atkC4_beat_up(void) +static void atkC4_trydobeatup(void) { - struct Pokemon* party; + struct Pokemon *party; - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; - if (gBattleMons[gBankTarget].hp == 0) + if (gBattleMons[gBattlerTarget].hp == 0) { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } @@ -10088,16 +9632,16 @@ static void atkC4_beat_up(void) } if (gBattleCommunication[0] < 6) { - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBankAttacker, gBattleCommunication[0]) + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattlerAttacker, gBattleCommunication[0]) gBattlescriptCurrInstr += 9; gBattleMoveDamage = gBaseStats[GetMonData(&party[gBattleCommunication[0]], MON_DATA_SPECIES)].baseAttack; gBattleMoveDamage *= gBattleMoves[gCurrentMove].power; gBattleMoveDamage *= (GetMonData(&party[gBattleCommunication[0]], MON_DATA_LEVEL) * 2 / 5 + 2); - gBattleMoveDamage /= gBaseStats[gBattleMons[gBankTarget].species].baseDefense; + gBattleMoveDamage /= gBaseStats[gBattleMons[gBattlerTarget].species].baseDefense; gBattleMoveDamage = (gBattleMoveDamage / 50) + 2; - if (gProtectStructs[gBankAttacker].helpingHand) + if (gProtectStructs[gBattlerAttacker].helpingHand) gBattleMoveDamage = gBattleMoveDamage * 15 / 10; gBattleCommunication[0]++; @@ -10115,13 +9659,13 @@ static void atkC5_setsemiinvulnerablebit(void) { case MOVE_FLY: case MOVE_BOUNCE: - gStatuses3[gBankAttacker] |= STATUS3_ON_AIR; + gStatuses3[gBattlerAttacker] |= STATUS3_ON_AIR; break; case MOVE_DIG: - gStatuses3[gBankAttacker] |= STATUS3_UNDERGROUND; + gStatuses3[gBattlerAttacker] |= STATUS3_UNDERGROUND; break; case MOVE_DIVE: - gStatuses3[gBankAttacker] |= STATUS3_UNDERWATER; + gStatuses3[gBattlerAttacker] |= STATUS3_UNDERWATER; break; } @@ -10134,13 +9678,13 @@ static void atkC6_clearsemiinvulnerablebit(void) { case MOVE_FLY: case MOVE_BOUNCE: - gStatuses3[gBankAttacker] &= ~STATUS3_ON_AIR; + gStatuses3[gBattlerAttacker] &= ~STATUS3_ON_AIR; break; case MOVE_DIG: - gStatuses3[gBankAttacker] &= ~STATUS3_UNDERGROUND; + gStatuses3[gBattlerAttacker] &= ~STATUS3_UNDERGROUND; break; case MOVE_DIVE: - gStatuses3[gBankAttacker] &= ~STATUS3_UNDERWATER; + gStatuses3[gBattlerAttacker] &= ~STATUS3_UNDERWATER; break; } @@ -10150,7 +9694,7 @@ static void atkC6_clearsemiinvulnerablebit(void) static void atkC7_setminimize(void) { if (gHitMarker & HITMARKER_OBEYS) - gStatuses3[gBankAttacker] |= STATUS3_MINIMIZED; + gStatuses3[gBattlerAttacker] |= STATUS3_MINIMIZED; gBattlescriptCurrInstr++; } @@ -10159,7 +9703,7 @@ static void atkC8_sethail(void) { if (gBattleWeather & WEATHER_HAIL_ANY) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 2; } else @@ -10174,34 +9718,34 @@ static void atkC8_sethail(void) static void atkC9_jumpifattackandspecialattackcannotfall(void) // memento { - if (gBattleMons[gBankTarget].statStages[STAT_STAGE_ATK] == 0 - && gBattleMons[gBankTarget].statStages[STAT_STAGE_SPATK] == 0 + if (gBattleMons[gBattlerTarget].statStages[STAT_ATK] == 0 + && gBattleMons[gBattlerTarget].statStages[STAT_SPATK] == 0 && gBattleCommunication[6] != 1) { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } else { - gActiveBank = gBankAttacker; - gBattleMoveDamage = gBattleMons[gActiveBank].hp; - EmitHealthBarUpdate(0, INSTANT_HP_BAR_DROP); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBattlerAttacker; + gBattleMoveDamage = gBattleMons[gActiveBattler].hp; + BtlController_EmitHealthBarUpdate(0, INSTANT_HP_BAR_DROP); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; } } static void atkCA_setforcedtarget(void) // follow me { - gSideTimers[GetBankSide(gBankAttacker)].followmeTimer = 1; - gSideTimers[GetBankSide(gBankAttacker)].followmeTarget = gBankAttacker; + gSideTimers[GetBattlerSide(gBattlerAttacker)].followmeTimer = 1; + gSideTimers[GetBattlerSide(gBattlerAttacker)].followmeTarget = gBattlerAttacker; gBattlescriptCurrInstr++; } static void atkCB_setcharge(void) { - gStatuses3[gBankAttacker] |= STATUS3_CHARGED_UP; - gDisableStructs[gBankAttacker].chargeTimer1 = 2; - gDisableStructs[gBankAttacker].chargeTimer2 = 2; + gStatuses3[gBattlerAttacker] |= STATUS3_CHARGED_UP; + gDisableStructs[gBattlerAttacker].chargeTimer1 = 2; + gDisableStructs[gBattlerAttacker].chargeTimer2 = 2; gBattlescriptCurrInstr++; } @@ -10209,20 +9753,20 @@ static void atkCC_callterrainattack(void) // nature power { gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); gCurrentMove = sNaturePowerMoves[gBattleTerrain]; - gBankTarget = GetMoveTarget(gCurrentMove, 0); + gBattlerTarget = GetMoveTarget(gCurrentMove, 0); BattleScriptPush(gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]); gBattlescriptCurrInstr++; } static void atkCD_cureifburnedparalysedorpoisoned(void) // refresh { - if (gBattleMons[gBankAttacker].status1 & (STATUS_POISON | STATUS_BURN | STATUS_PARALYSIS | STATUS_TOXIC_POISON)) + if (gBattleMons[gBattlerAttacker].status1 & (STATUS1_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON)) { - gBattleMons[gBankAttacker].status1 = 0; + gBattleMons[gBattlerAttacker].status1 = 0; gBattlescriptCurrInstr += 5; - gActiveBank = gBankAttacker; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBattlerAttacker; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); } else { @@ -10232,20 +9776,20 @@ static void atkCD_cureifburnedparalysedorpoisoned(void) // refresh static void atkCE_settorment(void) { - if (gBattleMons[gBankTarget].status2 & STATUS2_TORMENT) + if (gBattleMons[gBattlerTarget].status2 & STATUS2_TORMENT) { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } else { - gBattleMons[gBankTarget].status2 |= STATUS2_TORMENT; + gBattleMons[gBattlerTarget].status2 |= STATUS2_TORMENT; gBattlescriptCurrInstr += 5; } } static void atkCF_jumpifnodamage(void) { - if (gProtectStructs[gBankAttacker].physicalDmg || gProtectStructs[gBankAttacker].specialDmg) + if (gProtectStructs[gBattlerAttacker].physicalDmg || gProtectStructs[gBattlerAttacker].specialDmg) gBattlescriptCurrInstr += 5; else gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); @@ -10253,10 +9797,10 @@ static void atkCF_jumpifnodamage(void) static void atkD0_settaunt(void) { - if (gDisableStructs[gBankTarget].tauntTimer1 == 0) + if (gDisableStructs[gBattlerTarget].tauntTimer1 == 0) { - gDisableStructs[gBankTarget].tauntTimer1 = 2; - gDisableStructs[gBankTarget].tauntTimer2 = 2; + gDisableStructs[gBattlerTarget].tauntTimer1 = 2; + gDisableStructs[gBattlerTarget].tauntTimer2 = 2; gBattlescriptCurrInstr += 5; } else @@ -10265,16 +9809,16 @@ static void atkD0_settaunt(void) } } -static void atkD1_set_helpinghand(void) +static void atkD1_trysethelpinghand(void) { - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_MON); + gBattlerTarget = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_FLANK); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE - && !(gAbsentBankFlags & gBitTable[gBankTarget]) - && !gProtectStructs[gBankAttacker].helpingHand - && !gProtectStructs[gBankTarget].helpingHand) + && !(gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + && !gProtectStructs[gBattlerAttacker].helpingHand + && !gProtectStructs[gBattlerTarget].helpingHand) { - gProtectStructs[gBankTarget].helpingHand = 1; + gProtectStructs[gBattlerTarget].helpingHand = 1; gBattlescriptCurrInstr += 5; } else @@ -10283,11 +9827,11 @@ static void atkD1_set_helpinghand(void) } } -static void atkD2_swap_items(void) // trick +static void atkD2_tryswapitems(void) // trick { // opponent can't swap items with player in regular battles if (gBattleTypeFlags & BATTLE_TYPE_x4000000 - || (GetBankSide(gBankAttacker) == SIDE_OPPONENT + || (GetBattlerSide(gBattlerAttacker) == B_SIDE_OPPONENT && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_FRONTIER @@ -10298,8 +9842,8 @@ static void atkD2_swap_items(void) // trick } else { - u8 sideAttacker = GetBankSide(gBankAttacker); - u8 sideTarget = GetBankSide(gBankTarget); + u8 sideAttacker = GetBattlerSide(gBattlerAttacker); + u8 sideTarget = GetBattlerSide(gBattlerTarget); // you can't swap items if they were knocked off in regular battles if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK @@ -10307,53 +9851,53 @@ static void atkD2_swap_items(void) // trick | BATTLE_TYPE_FRONTIER | BATTLE_TYPE_SECRET_BASE | BATTLE_TYPE_x2000000)) - && (gWishFutureKnock.knockedOffPokes[sideAttacker] & gBitTable[gBattlePartyID[gBankAttacker]] - || gWishFutureKnock.knockedOffPokes[sideTarget] & gBitTable[gBattlePartyID[gBankTarget]])) + && (gWishFutureKnock.knockedOffPokes[sideAttacker] & gBitTable[gBattlerPartyIndexes[gBattlerAttacker]] + || gWishFutureKnock.knockedOffPokes[sideTarget] & gBitTable[gBattlerPartyIndexes[gBattlerTarget]])) { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } // can't swap if two pokemon don't have an item // or if either of them is an enigma berry or a mail - else if ((gBattleMons[gBankAttacker].item == 0 && gBattleMons[gBankTarget].item == 0) - || gBattleMons[gBankAttacker].item == ITEM_ENIGMA_BERRY - || gBattleMons[gBankTarget].item == ITEM_ENIGMA_BERRY - || IS_ITEM_MAIL(gBattleMons[gBankAttacker].item) - || IS_ITEM_MAIL(gBattleMons[gBankTarget].item)) + else if ((gBattleMons[gBattlerAttacker].item == 0 && gBattleMons[gBattlerTarget].item == 0) + || gBattleMons[gBattlerAttacker].item == ITEM_ENIGMA_BERRY + || gBattleMons[gBattlerTarget].item == ITEM_ENIGMA_BERRY + || IS_ITEM_MAIL(gBattleMons[gBattlerAttacker].item) + || IS_ITEM_MAIL(gBattleMons[gBattlerTarget].item)) { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } // check if ability prevents swapping - else if (gBattleMons[gBankTarget].ability == ABILITY_STICKY_HOLD) + else if (gBattleMons[gBattlerTarget].ability == ABILITY_STICKY_HOLD) { gBattlescriptCurrInstr = BattleScript_StickyHoldActivates; - gLastUsedAbility = gBattleMons[gBankTarget].ability; - RecordAbilityBattle(gBankTarget, gLastUsedAbility); + gLastUsedAbility = gBattleMons[gBattlerTarget].ability; + RecordAbilityBattle(gBattlerTarget, gLastUsedAbility); } // took a while, but all checks passed and items can be safely swapped else { u16 oldItemAtk, *newItemAtk; - newItemAtk = &gBattleStruct->changedItems[gBankAttacker]; - oldItemAtk = gBattleMons[gBankAttacker].item; - *newItemAtk = gBattleMons[gBankTarget].item; + newItemAtk = &gBattleStruct->changedItems[gBattlerAttacker]; + oldItemAtk = gBattleMons[gBattlerAttacker].item; + *newItemAtk = gBattleMons[gBattlerTarget].item; - gBattleMons[gBankAttacker].item = 0; - gBattleMons[gBankTarget].item = oldItemAtk; + gBattleMons[gBattlerAttacker].item = 0; + gBattleMons[gBattlerTarget].item = oldItemAtk; - gActiveBank = gBankAttacker; - EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, newItemAtk); - MarkBufferBankForExecution(gBankAttacker); + gActiveBattler = gBattlerAttacker; + BtlController_EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, newItemAtk); + MarkBattlerForControllerExec(gBattlerAttacker); - gActiveBank = gBankTarget; - EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gBankTarget].item); - MarkBufferBankForExecution(gBankTarget); + gActiveBattler = gBattlerTarget; + BtlController_EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gBattlerTarget].item); + MarkBattlerForControllerExec(gBattlerTarget); - *(u8*)((u8*)(&gBattleStruct->choicedMove[gBankTarget]) + 0) = 0; - *(u8*)((u8*)(&gBattleStruct->choicedMove[gBankTarget]) + 1) = 0; + *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattlerTarget]) + 0) = 0; + *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattlerTarget]) + 1) = 0; - *(u8*)((u8*)(&gBattleStruct->choicedMove[gBankAttacker]) + 0) = 0; - *(u8*)((u8*)(&gBattleStruct->choicedMove[gBankAttacker]) + 1) = 0; + *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattlerAttacker]) + 0) = 0; + *(u8*)((u8*)(&gBattleStruct->choicedMove[gBattlerAttacker]) + 1) = 0; gBattlescriptCurrInstr += 5; @@ -10370,13 +9914,13 @@ static void atkD2_swap_items(void) // trick } } -static void atkD3_copy_ability(void) // role play +static void atkD3_trycopyability(void) // role play { - if (gBattleMons[gBankTarget].ability != 0 - && gBattleMons[gBankTarget].ability != ABILITY_WONDER_GUARD) + if (gBattleMons[gBattlerTarget].ability != 0 + && gBattleMons[gBattlerTarget].ability != ABILITY_WONDER_GUARD) { - gBattleMons[gBankAttacker].ability = gBattleMons[gBankTarget].ability; - gLastUsedAbility = gBattleMons[gBankTarget].ability; + gBattleMons[gBattlerAttacker].ability = gBattleMons[gBattlerTarget].ability; + gLastUsedAbility = gBattleMons[gBattlerTarget].ability; gBattlescriptCurrInstr += 5; } else @@ -10385,15 +9929,15 @@ static void atkD3_copy_ability(void) // role play } } -static void atkD4_wish_effect(void) +static void atkD4_trywish(void) { switch (gBattlescriptCurrInstr[1]) { case 0: // use wish - if (gWishFutureKnock.wishCounter[gBankAttacker] == 0) + if (gWishFutureKnock.wishCounter[gBattlerAttacker] == 0) { - gWishFutureKnock.wishCounter[gBankAttacker] = 2; - gWishFutureKnock.wishUserID[gBankAttacker] = gBattlePartyID[gBankAttacker]; + gWishFutureKnock.wishCounter[gBattlerAttacker] = 2; + gWishFutureKnock.wishMonId[gBattlerAttacker] = gBattlerPartyIndexes[gBattlerAttacker]; gBattlescriptCurrInstr += 6; } else @@ -10402,14 +9946,14 @@ static void atkD4_wish_effect(void) } break; case 1: // heal effect - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBankTarget, gWishFutureKnock.wishUserID[gBankTarget]) + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattlerTarget, gWishFutureKnock.wishMonId[gBattlerTarget]) - gBattleMoveDamage = gBattleMons[gBankTarget].maxHP / 2; + gBattleMoveDamage = gBattleMons[gBattlerTarget].maxHP / 2; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; - if (gBattleMons[gBankTarget].hp == gBattleMons[gBankTarget].maxHP) + if (gBattleMons[gBattlerTarget].hp == gBattleMons[gBattlerTarget].maxHP) gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2); else gBattlescriptCurrInstr += 6; @@ -10418,25 +9962,25 @@ static void atkD4_wish_effect(void) } } -static void atkD5_setroots(void) // ingrain +static void atkD5_trysetroots(void) // ingrain { - if (gStatuses3[gBankAttacker] & STATUS3_ROOTED) + if (gStatuses3[gBattlerAttacker] & STATUS3_ROOTED) { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } else { - gStatuses3[gBankAttacker] |= STATUS3_ROOTED; + gStatuses3[gBattlerAttacker] |= STATUS3_ROOTED; gBattlescriptCurrInstr += 5; } } static void atkD6_doubledamagedealtifdamaged(void) { - if ((gProtectStructs[gBankAttacker].physicalDmg - && gProtectStructs[gBankAttacker].physicalBank == gBankTarget) - || (gProtectStructs[gBankAttacker].specialDmg - && gProtectStructs[gBankAttacker].specialBank == gBankTarget)) + if ((gProtectStructs[gBattlerAttacker].physicalDmg + && gProtectStructs[gBattlerAttacker].physicalBattlerId == gBattlerTarget) + || (gProtectStructs[gBattlerAttacker].specialDmg + && gProtectStructs[gBattlerAttacker].specialBattlerId == gBattlerTarget)) { gBattleScripting.dmgMultiplier = 2; } @@ -10446,27 +9990,27 @@ static void atkD6_doubledamagedealtifdamaged(void) static void atkD7_setyawn(void) { - if (gStatuses3[gBankTarget] & STATUS3_YAWN - || gBattleMons[gBankTarget].status1 & STATUS_ANY) + if (gStatuses3[gBattlerTarget] & STATUS3_YAWN + || gBattleMons[gBattlerTarget].status1 & STATUS1_ANY) { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } else { - gStatuses3[gBankTarget] |= 0x1000; + gStatuses3[gBattlerTarget] |= 0x1000; gBattlescriptCurrInstr += 5; } } static void atkD8_setdamagetohealthdifference(void) { - if (gBattleMons[gBankTarget].hp <= gBattleMons[gBankAttacker].hp) + if (gBattleMons[gBattlerTarget].hp <= gBattleMons[gBattlerAttacker].hp) { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } else { - gBattleMoveDamage = gBattleMons[gBankTarget].hp - gBattleMons[gBankAttacker].hp; + gBattleMoveDamage = gBattleMons[gBattlerTarget].hp - gBattleMons[gBattlerAttacker].hp; gBattlescriptCurrInstr += 5; } } @@ -10476,48 +10020,48 @@ static void atkD9_scaledamagebyhealthratio(void) if (gDynamicBasePower == 0) { u8 power = gBattleMoves[gCurrentMove].power; - gDynamicBasePower = gBattleMons[gBankAttacker].hp * power / gBattleMons[gBankAttacker].maxHP; + gDynamicBasePower = gBattleMons[gBattlerAttacker].hp * power / gBattleMons[gBattlerAttacker].maxHP; if (gDynamicBasePower == 0) gDynamicBasePower = 1; } gBattlescriptCurrInstr++; } -static void atkDA_abilityswap(void) // skill swap +static void atkDA_tryswapabilities(void) // skill swap { - if ((gBattleMons[gBankAttacker].ability == 0 - && gBattleMons[gBankTarget].ability == 0) - || gBattleMons[gBankAttacker].ability == ABILITY_WONDER_GUARD - || gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD - || gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if ((gBattleMons[gBattlerAttacker].ability == 0 + && gBattleMons[gBattlerTarget].ability == 0) + || gBattleMons[gBattlerAttacker].ability == ABILITY_WONDER_GUARD + || gBattleMons[gBattlerTarget].ability == ABILITY_WONDER_GUARD + || gMoveResultFlags & MOVE_RESULT_NO_EFFECT) { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } else { - u8 abilityAtk = gBattleMons[gBankAttacker].ability; - gBattleMons[gBankAttacker].ability = gBattleMons[gBankTarget].ability; - gBattleMons[gBankTarget].ability = abilityAtk; + u8 abilityAtk = gBattleMons[gBattlerAttacker].ability; + gBattleMons[gBattlerAttacker].ability = gBattleMons[gBattlerTarget].ability; + gBattleMons[gBattlerTarget].ability = abilityAtk; gBattlescriptCurrInstr += 5; } } -static void atkDB_imprisoneffect(void) +static void atkDB_tryimprision(void) { - if ((gStatuses3[gBankAttacker] & STATUS3_IMPRISONED_OTHERS)) + if ((gStatuses3[gBattlerAttacker] & STATUS3_IMPRISONED_OTHERS)) { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } else { - u8 bank, sideAttacker; + u8 battlerId, sideAttacker; - sideAttacker = GetBankSide(gBankAttacker); - PressurePPLoseOnUsingImprision(gBankAttacker); - for (bank = 0; bank < gNoOfAllBanks; bank++) + sideAttacker = GetBattlerSide(gBattlerAttacker); + PressurePPLoseOnUsingImprision(gBattlerAttacker); + for (battlerId = 0; battlerId < gBattlersCount; battlerId++) { - if (sideAttacker != GetBankSide(bank)) + if (sideAttacker != GetBattlerSide(battlerId)) { s32 attackerMoveId; for (attackerMoveId = 0; attackerMoveId < 4; attackerMoveId++) @@ -10525,8 +10069,8 @@ static void atkDB_imprisoneffect(void) s32 i; for (i = 0; i < 4; i++) { - if (gBattleMons[gBankAttacker].moves[attackerMoveId] == gBattleMons[bank].moves[i] - && gBattleMons[gBankAttacker].moves[attackerMoveId] != MOVE_NONE) + if (gBattleMons[gBattlerAttacker].moves[attackerMoveId] == gBattleMons[battlerId].moves[i] + && gBattleMons[gBattlerAttacker].moves[attackerMoveId] != MOVE_NONE) break; } if (i != 4) @@ -10534,26 +10078,26 @@ static void atkDB_imprisoneffect(void) } if (attackerMoveId != 4) { - gStatuses3[gBankAttacker] |= STATUS3_IMPRISONED_OTHERS; + gStatuses3[gBattlerAttacker] |= STATUS3_IMPRISONED_OTHERS; gBattlescriptCurrInstr += 5; break; } } } - if (bank == gNoOfAllBanks) // In Generation 3 games, Imprison fails if the user doesn't share any moves with any of the foes + if (battlerId == gBattlersCount) // In Generation 3 games, Imprison fails if the user doesn't share any moves with any of the foes gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } } -static void atkDC_setgrudge(void) +static void atkDC_trysetgrudge(void) { - if (gStatuses3[gBankAttacker] & STATUS3_GRUDGE) + if (gStatuses3[gBattlerAttacker] & STATUS3_GRUDGE) { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } else { - gStatuses3[gBankAttacker] |= STATUS3_GRUDGE; + gStatuses3[gBattlerAttacker] |= STATUS3_GRUDGE; gBattlescriptCurrInstr += 5; } } @@ -10563,7 +10107,7 @@ static void atkDD_weightdamagecalculation(void) s32 i; for (i = 0; sWeightToDamageTable[i] != 0xFFFF; i += 2) { - if (sWeightToDamageTable[i] > GetPokedexHeightWeight(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 1)) + if (sWeightToDamageTable[i] > GetPokedexHeightWeight(SpeciesToNationalPokedexNum(gBattleMons[gBattlerTarget].species), 1)) break; } @@ -10582,14 +10126,14 @@ static void atkDE_asistattackselect(void) s32 monId, moveId; u16* movesArray = gBattleStruct->assistPossibleMoves; - if (GET_BANK_SIDE(gBankAttacker) != SIDE_PLAYER) + if (GET_BATTLER_SIDE(gBattlerAttacker) != B_SIDE_PLAYER) party = gEnemyParty; else party = gPlayerParty; for (monId = 0; monId < 6; monId++) { - if (monId == gBattlePartyID[gBankAttacker]) + if (monId == gBattlerPartyIndexes[gBattlerAttacker]) continue; if (GetMonData(&party[monId], MON_DATA_SPECIES2) == SPECIES_NONE) continue; @@ -10619,7 +10163,7 @@ static void atkDE_asistattackselect(void) { gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); gRandomMove = movesArray[((Random() & 0xFF) * chooseableMovesNo) >> 8]; - gBankTarget = GetMoveTarget(gRandomMove, 0); + gBattlerTarget = GetMoveTarget(gRandomMove, 0); gBattlescriptCurrInstr += 5; } else @@ -10628,68 +10172,68 @@ static void atkDE_asistattackselect(void) } } -static void atkDF_setmagiccoat(void) +static void atkDF_trysetmagiccoat(void) { - gBankTarget = gBankAttacker; - gSpecialStatuses[gBankAttacker].flag20 = 1; - if (gCurrentTurnActionNumber == gNoOfAllBanks - 1) // moves last turn + gBattlerTarget = gBattlerAttacker; + gSpecialStatuses[gBattlerAttacker].flag20 = 1; + if (gCurrentTurnActionNumber == gBattlersCount - 1) // moves last turn { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } else { - gProtectStructs[gBankAttacker].bounceMove = 1; + gProtectStructs[gBattlerAttacker].bounceMove = 1; gBattlescriptCurrInstr += 5; } } -static void atkE0_setstealstatchange(void) // snatch +static void atkE0_trysetsnatch(void) // snatch { - gSpecialStatuses[gBankAttacker].flag20 = 1; - if (gCurrentTurnActionNumber == gNoOfAllBanks - 1) // moves last turn + gSpecialStatuses[gBattlerAttacker].flag20 = 1; + if (gCurrentTurnActionNumber == gBattlersCount - 1) // moves last turn { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } else { - gProtectStructs[gBankAttacker].stealMove = 1; + gProtectStructs[gBattlerAttacker].stealMove = 1; gBattlescriptCurrInstr += 5; } } -static void atkE1_intimidate_string_loader(void) +static void atkE1_trygetintimidatetarget(void) { u8 side; - gBattleScripting.bank = gBattleStruct->intimidateBank; - side = GetBankSide(gBattleScripting.bank); + gBattleScripting.battler = gBattleStruct->intimidateBank; + side = GetBattlerSide(gBattleScripting.battler); - PREPARE_ABILITY_BUFFER(gBattleTextBuff1, gBattleMons[gBattleScripting.bank].ability) + PREPARE_ABILITY_BUFFER(gBattleTextBuff1, gBattleMons[gBattleScripting.battler].ability) - for (;gBankTarget < gNoOfAllBanks; gBankTarget++) + for (;gBattlerTarget < gBattlersCount; gBattlerTarget++) { - if (GetBankSide(gBankTarget) == side) + if (GetBattlerSide(gBattlerTarget) == side) continue; - if (!(gAbsentBankFlags & gBitTable[gBankTarget])) + if (!(gAbsentBattlerFlags & gBitTable[gBattlerTarget])) break; } - if (gBankTarget >= gNoOfAllBanks) + if (gBattlerTarget >= gBattlersCount) gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); else gBattlescriptCurrInstr += 5; } -static void atkE2_switchout_abilities(void) +static void atkE2_switchoutabilities(void) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - switch (gBattleMons[gActiveBank].ability) + switch (gBattleMons[gActiveBattler].ability) { case ABILITY_NATURAL_CURE: - gBattleMons[gActiveBank].status1 = 0; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, gBitTable[*(gBattleStruct->field_58 + gActiveBank)], 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gBattleMons[gActiveBattler].status1 = 0; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, gBitTable[*(gBattleStruct->field_58 + gActiveBattler)], 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); break; } @@ -10698,9 +10242,9 @@ static void atkE2_switchout_abilities(void) static void atkE3_jumpifhasnohp(void) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - if (gBattleMons[gActiveBank].hp == 0) + if (gBattleMons[gActiveBattler].hp == 0) gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2); else gBattlescriptCurrInstr += 6; @@ -10728,7 +10272,7 @@ static void atkE4_getsecretpowereffect(void) case BATTLE_TERRAIN_POND: gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_SPD_MINUS_1; break; - case BATTLE_TERRAIN_ROCK: + case BATTLE_TERRAIN_MOUNTAIN: gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_CONFUSION; break; case BATTLE_TERRAIN_CAVE: @@ -10817,25 +10361,25 @@ static void atkE5_pickup(void) gBattlescriptCurrInstr++; } -static void atkE6_castform_change_animation(void) +static void atkE6_docastformchangeanimation(void) { - gActiveBank = gBattleScripting.bank; + gActiveBattler = gBattleScripting.battler; - if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE) + if (gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE) *(&gBattleStruct->formToChangeInto) |= 0x80; - EmitBattleAnimation(0, B_ANIM_CASTFORM_CHANGE, gBattleStruct->formToChangeInto); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitBattleAnimation(0, B_ANIM_CASTFORM_CHANGE, gBattleStruct->formToChangeInto); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr++; } -static void atkE7_castform_data_change(void) +static void atkE7_trycastformdatachange(void) { u8 form; gBattlescriptCurrInstr++; - form = CastformDataTypeChange(gBattleScripting.bank); + form = CastformDataTypeChange(gBattleScripting.battler); if (form) { BattleScriptPushCursorAndCallback(BattleScript_CastformChange); @@ -10849,18 +10393,18 @@ static void atkE8_settypebasedhalvers(void) // water and mud sport if (gBattleMoves[gCurrentMove].effect == EFFECT_MUD_SPORT) { - if (!(gStatuses3[gBankAttacker] & STATUS3_MUDSPORT)) + if (!(gStatuses3[gBattlerAttacker] & STATUS3_MUDSPORT)) { - gStatuses3[gBankAttacker] |= STATUS3_MUDSPORT; + gStatuses3[gBattlerAttacker] |= STATUS3_MUDSPORT; gBattleCommunication[MULTISTRING_CHOOSER] = 0; worked = TRUE; } } else // water sport { - if (!(gStatuses3[gBankAttacker] & STATUS3_WATERSPORT)) + if (!(gStatuses3[gBattlerAttacker] & STATUS3_WATERSPORT)) { - gStatuses3[gBankAttacker] |= STATUS3_WATERSPORT; + gStatuses3[gBattlerAttacker] |= STATUS3_WATERSPORT; gBattleCommunication[MULTISTRING_CHOOSER] = 1; worked = TRUE; } @@ -10893,20 +10437,20 @@ static void atkE9_setweatherballtype(void) gBattlescriptCurrInstr++; } -static void atkEA_recycleitem(void) +static void atkEA_tryrecycleitem(void) { u16 *usedHeldItem; - gActiveBank = gBankAttacker; - usedHeldItem = &gBattleStruct->usedHeldItems[gActiveBank]; - if (*usedHeldItem != 0 && gBattleMons[gActiveBank].item == 0) + gActiveBattler = gBattlerAttacker; + usedHeldItem = &gBattleStruct->usedHeldItems[gActiveBattler]; + if (*usedHeldItem != 0 && gBattleMons[gActiveBattler].item == 0) { gLastUsedItem = *usedHeldItem; *usedHeldItem = 0; - gBattleMons[gActiveBank].item = gLastUsedItem; + gBattleMons[gActiveBattler].item = gLastUsedItem; - EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBank].item); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBattler].item); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; } @@ -10918,11 +10462,11 @@ static void atkEA_recycleitem(void) static void atkEB_settypetoterrain(void) { - if (gBattleMons[gBankAttacker].type1 != sTerrainToType[gBattleTerrain] - && gBattleMons[gBankAttacker].type2 != sTerrainToType[gBattleTerrain]) + if (gBattleMons[gBattlerAttacker].type1 != sTerrainToType[gBattleTerrain] + && gBattleMons[gBattlerAttacker].type2 != sTerrainToType[gBattleTerrain]) { - gBattleMons[gBankAttacker].type1 = sTerrainToType[gBattleTerrain]; - gBattleMons[gBankAttacker].type2 = sTerrainToType[gBattleTerrain]; + gBattleMons[gBattlerAttacker].type1 = sTerrainToType[gBattleTerrain]; + gBattleMons[gBattlerAttacker].type2 = sTerrainToType[gBattleTerrain]; PREPARE_TYPE_BUFFER(gBattleTextBuff1, sTerrainToType[gBattleTerrain]) @@ -10934,21 +10478,21 @@ static void atkEB_settypetoterrain(void) } } -static void atkEC_pursuit_sth(void) +static void atkEC_pursuitrelated(void) { - gActiveBank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_MON); + gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_FLANK); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE - && !(gAbsentBankFlags & gBitTable[gActiveBank]) - && gActionForBanks[gActiveBank] == 0 - && gChosenMovesByBanks[gActiveBank] == MOVE_PURSUIT) + && !(gAbsentBattlerFlags & gBitTable[gActiveBattler]) + && gChosenActionByBattler[gActiveBattler] == 0 + && gChosenMoveByBattler[gActiveBattler] == MOVE_PURSUIT) { - gActionsByTurnOrder[gActiveBank] = 11; + gActionsByTurnOrder[gActiveBattler] = 11; gCurrentMove = MOVE_PURSUIT; gBattlescriptCurrInstr += 5; gBattleScripting.animTurn = 1; - gBattleScripting.field_20 = gBankAttacker; - gBankAttacker = gActiveBank; + gBattleScripting.field_20 = gBattlerAttacker; + gBattlerAttacker = gActiveBattler; } else { @@ -10956,27 +10500,27 @@ static void atkEC_pursuit_sth(void) } } -static void atkED_802B4B4(void) +static void atkEF_snatchsetbanks(void) { - gEffectBank = gBankAttacker; + gEffectBattler = gBattlerAttacker; - if (gBankAttacker == gBankTarget) - gBankAttacker = gBankTarget = gBattleScripting.bank; + if (gBattlerAttacker == gBattlerTarget) + gBattlerAttacker = gBattlerTarget = gBattleScripting.battler; else - gBankTarget = gBattleScripting.bank; + gBattlerTarget = gBattleScripting.battler; - gBattleScripting.bank = gEffectBank; + gBattleScripting.battler = gEffectBattler; gBattlescriptCurrInstr++; } static void atkEE_removelightscreenreflect(void) // brick break { - u8 opposingSide = GetBankSide(gBankAttacker) ^ BIT_SIDE; + u8 opposingSide = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE; if (gSideTimers[opposingSide].reflectTimer || gSideTimers[opposingSide].lightscreenTimer) { - gSideAffecting[opposingSide] &= ~(SIDE_STATUS_REFLECT); - gSideAffecting[opposingSide] &= ~(SIDE_STATUS_LIGHTSCREEN); + gSideStatuses[opposingSide] &= ~(SIDE_STATUS_REFLECT); + gSideStatuses[opposingSide] &= ~(SIDE_STATUS_LIGHTSCREEN); gSideTimers[opposingSide].reflectTimer = 0; gSideTimers[opposingSide].lightscreenTimer = 0; gBattleScripting.animTurn = 1; @@ -10991,26 +10535,26 @@ static void atkEE_removelightscreenreflect(void) // brick break gBattlescriptCurrInstr++; } -static void atkEF_pokeball_catch_calculation(void) +static void atkEF_handleballthrow(void) { u8 ballMultiplier = 0; - if (gBattleExecBuffer) + if (gBattleControllerExecFlags) return; - gActiveBank = gBankAttacker; - gBankTarget = gBankAttacker ^ BIT_SIDE; + gActiveBattler = gBattlerAttacker; + gBattlerTarget = gBattlerAttacker ^ BIT_SIDE; if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - EmitBallThrowAnim(0, BALL_TRAINER_BLOCK); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitBallThrowAnim(0, BALL_TRAINER_BLOCK); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr = BattleScript_TrainerBallBlock; } else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) { - EmitBallThrowAnim(0, BALL_3_SHAKES_SUCCESS); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitBallThrowAnim(0, BALL_3_SHAKES_SUCCESS); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr = BattleScript_WallyBallThrow; } else @@ -11021,17 +10565,17 @@ static void atkEF_pokeball_catch_calculation(void) if (gLastUsedItem == ITEM_SAFARI_BALL) catchRate = gBattleStruct->field_7C * 1275 / 100; else - catchRate = gBaseStats[gBattleMons[gBankTarget].species].catchRate; + catchRate = gBaseStats[gBattleMons[gBattlerTarget].species].catchRate; if (gLastUsedItem > ITEM_SAFARI_BALL) { switch (gLastUsedItem) { case ITEM_NET_BALL: - if (gBattleMons[gBankTarget].type1 == TYPE_WATER - || gBattleMons[gBankTarget].type2 == TYPE_WATER - || gBattleMons[gBankTarget].type1 == TYPE_BUG - || gBattleMons[gBankTarget].type2 == TYPE_BUG) + if (gBattleMons[gBattlerTarget].type1 == TYPE_WATER + || gBattleMons[gBattlerTarget].type2 == TYPE_WATER + || gBattleMons[gBattlerTarget].type1 == TYPE_BUG + || gBattleMons[gBattlerTarget].type2 == TYPE_BUG) ballMultiplier = 30; else ballMultiplier = 10; @@ -11043,9 +10587,9 @@ static void atkEF_pokeball_catch_calculation(void) ballMultiplier = 10; break; case ITEM_NEST_BALL: - if (gBattleMons[gBankTarget].level < 40) + if (gBattleMons[gBattlerTarget].level < 40) { - ballMultiplier = 40 - gBattleMons[gBankTarget].level; + ballMultiplier = 40 - gBattleMons[gBattlerTarget].level; if (ballMultiplier <= 9) ballMultiplier = 10; } @@ -11055,7 +10599,7 @@ static void atkEF_pokeball_catch_calculation(void) } break; case ITEM_REPEAT_BALL: - if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), FLAG_GET_CAUGHT)) + if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBattlerTarget].species), FLAG_GET_CAUGHT)) ballMultiplier = 30; else ballMultiplier = 10; @@ -11075,12 +10619,12 @@ static void atkEF_pokeball_catch_calculation(void) ballMultiplier = sBallCatchBonuses[gLastUsedItem - 2]; odds = (catchRate * ballMultiplier / 10) - * (gBattleMons[gBankTarget].maxHP * 3 - gBattleMons[gBankTarget].hp * 2) - / (3 * gBattleMons[gBankTarget].maxHP); + * (gBattleMons[gBattlerTarget].maxHP * 3 - gBattleMons[gBattlerTarget].hp * 2) + / (3 * gBattleMons[gBattlerTarget].maxHP); - if (gBattleMons[gBankTarget].status1 & (STATUS_SLEEP | STATUS_FREEZE)) + if (gBattleMons[gBattlerTarget].status1 & (STATUS1_SLEEP | STATUS1_FREEZE)) odds *= 2; - if (gBattleMons[gBankTarget].status1 & (STATUS_POISON | STATUS_BURN | STATUS_PARALYSIS | STATUS_TOXIC_POISON)) + if (gBattleMons[gBattlerTarget].status1 & (STATUS1_POISON | STATUS1_BURN | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON)) odds = (odds * 15) / 10; if (gLastUsedItem != ITEM_SAFARI_BALL) @@ -11098,10 +10642,10 @@ static void atkEF_pokeball_catch_calculation(void) if (odds > 254) // mon caught { - EmitBallThrowAnim(0, BALL_3_SHAKES_SUCCESS); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitBallThrowAnim(0, BALL_3_SHAKES_SUCCESS); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; - SetMonData(&gEnemyParty[gBattlePartyID[gBankTarget]], MON_DATA_POKEBALL, &gLastUsedItem); + SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_POKEBALL, &gLastUsedItem); if (CalculatePlayerPartyCount() == 6) gBattleCommunication[MULTISTRING_CHOOSER] = 0; @@ -11120,13 +10664,13 @@ static void atkEF_pokeball_catch_calculation(void) if (gLastUsedItem == ITEM_MASTER_BALL) shakes = BALL_3_SHAKES_SUCCESS; // why calculate the shakes before that check? - EmitBallThrowAnim(0, shakes); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitBallThrowAnim(0, shakes); + MarkBattlerForControllerExec(gActiveBattler); if (shakes == BALL_3_SHAKES_SUCCESS) // mon caught, copy of the code above { gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; - SetMonData(&gEnemyParty[gBattlePartyID[gBankTarget]], MON_DATA_POKEBALL, &gLastUsedItem); + SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_POKEBALL, &gLastUsedItem); if (CalculatePlayerPartyCount() == 6) gBattleCommunication[MULTISTRING_CHOOSER] = 0; @@ -11142,36 +10686,36 @@ static void atkEF_pokeball_catch_calculation(void) } } -static void atkF0_give_caught_mon(void) +static void atkF0_givecaughtmon(void) { - if (GiveMonToPlayer(&gEnemyParty[gBattlePartyID[gBankAttacker ^ BIT_SIDE]]) != MON_GIVEN_TO_PARTY) + if (GiveMonToPlayer(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]]) != MON_GIVEN_TO_PARTY) { if (!sub_813B21C()) { gBattleCommunication[MULTISTRING_CHOOSER] = 0; StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_STORAGE_UNKNOWN))); - GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gStringVar2); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gStringVar2); } else { StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_STORAGE_UNKNOWN))); - GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gStringVar2); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gStringVar2); StringCopy(gStringVar3, GetBoxNamePtr(get_unknown_box_id())); gBattleCommunication[MULTISTRING_CHOOSER] = 2; } - if (FlagGet(SYS_PC_LANETTE)) + if (FlagGet(FLAG_SYS_PC_LANETTE)) gBattleCommunication[MULTISTRING_CHOOSER]++; } - gBattleResults.caughtMonSpecies = GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ BIT_SIDE]], MON_DATA_SPECIES, NULL); - GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gBattleResults.caughtMonNick); - gBattleResults.caughtMonBall = GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ BIT_SIDE]], MON_DATA_POKEBALL, NULL); + gBattleResults.caughtMonSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_SPECIES, NULL); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gBattleResults.caughtMonNick); + gBattleResults.caughtMonBall = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_POKEBALL, NULL); gBattlescriptCurrInstr++; } -static void atkF1_set_caught_mon_dex_flags(void) +static void atkF1_trysetcaughtmondexflags(void) { u16 species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, NULL); u32 personality = GetMonData(&gEnemyParty[0], MON_DATA_PERSONALITY, NULL); @@ -11187,7 +10731,7 @@ static void atkF1_set_caught_mon_dex_flags(void) } } -static void atkF2_display_dex_info(void) +static void atkF2_displaydexinfo(void) { u16 species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, NULL); @@ -11202,8 +10746,8 @@ static void atkF2_display_dex_info(void) { FreeAllWindowBuffers(); gBattleCommunication[TASK_ID] = CreateDexDisplayMonDataTask(SpeciesToNationalPokedexNum(species), - gBattleMons[gBankTarget].otId, - gBattleMons[gBankTarget].personality); + gBattleMons[gBattlerTarget].otId, + gBattleMons[gBattlerTarget].personality); gBattleCommunication[0]++; } break; @@ -11306,7 +10850,7 @@ void BattleDestroyYesNoCursorAt(u8 cursorPosition) CopyBgTilemapBufferToVram(0); } -static void atkF3_nickname_caught_poke(void) +static void atkF3_trygivecaughtmonnick(void) { switch (gBattleCommunication[MULTIUSE_STATE]) { @@ -11354,13 +10898,13 @@ static void atkF3_nickname_caught_poke(void) case 2: if (!gPaletteFade.active) { - GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gBattleStruct->caughtMonNick); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gBattleStruct->caughtMonNick); FreeAllWindowBuffers(); DoNamingScreen(NAMING_SCREEN_CAUGHT_MON, gBattleStruct->caughtMonNick, - GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ BIT_SIDE]], MON_DATA_SPECIES), - GetMonGender(&gEnemyParty[gBattlePartyID[gBankAttacker ^ BIT_SIDE]]), - GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ BIT_SIDE]], MON_DATA_PERSONALITY, NULL), + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_SPECIES), + GetMonGender(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]]), + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_PERSONALITY, NULL), BattleMainCB2); gBattleCommunication[MULTIUSE_STATE]++; @@ -11369,7 +10913,7 @@ static void atkF3_nickname_caught_poke(void) case 3: if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active ) { - SetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gBattleStruct->caughtMonNick); + SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gBattleStruct->caughtMonNick); gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } break; @@ -11384,32 +10928,32 @@ static void atkF3_nickname_caught_poke(void) static void atkF4_subattackerhpbydmg(void) { - gBattleMons[gBankAttacker].hp -= gBattleMoveDamage; + gBattleMons[gBattlerAttacker].hp -= gBattleMoveDamage; gBattlescriptCurrInstr++; } static void atkF5_removeattackerstatus1(void) { - gBattleMons[gBankAttacker].status1 = 0; + gBattleMons[gBattlerAttacker].status1 = 0; gBattlescriptCurrInstr++; } -static void atkF6_action_finished(void) +static void atkF6_finishaction(void) { - gCurrentActionFuncId = ACTION_FINISHED; + gCurrentActionFuncId = B_ACTION_FINISHED; } -static void atkF7_turn_finished(void) +static void atkF7_finishturn(void) { - gCurrentActionFuncId = ACTION_FINISHED; - gCurrentTurnActionNumber = gNoOfAllBanks; + gCurrentActionFuncId = B_ACTION_FINISHED; + gCurrentTurnActionNumber = gBattlersCount; } -static void atkF8_trainer_slide_back(void) +static void atkF8_trainerslideout(void) { - gActiveBank = GetBankByIdentity(gBattlescriptCurrInstr[1]); - EmitTrainerSlideBack(0); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = GetBattlerAtPosition(gBattlescriptCurrInstr[1]); + BtlController_EmitTrainerSlideBack(0); + MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } diff --git a/src/battle_setup.c b/src/battle_setup.c new file mode 100644 index 0000000000..52ed99b21c --- /dev/null +++ b/src/battle_setup.c @@ -0,0 +1,1874 @@ +#include "global.h" +#include "constants/trainers.h" +#include "battle.h" +#include "battle_setup.h" +#include "battle_transition.h" +#include "main.h" +#include "task.h" +#include "pokemon_3.h" +#include "safari_zone.h" +#include "script.h" +#include "constants/game_stat.h" +#include "event_data.h" +#include "constants/species.h" +#include "constants/songs.h" +#include "metatile_behavior.h" +#include "constants/maps.h" +#include "field_player_avatar.h" +#include "fieldmap.h" +#include "random.h" +#include "starter_choose.h" +#include "script_pokemon_80F8.h" +#include "constants/items.h" +#include "palette.h" +#include "window.h" +#include "field_map_obj.h" +#include "event_scripts.h" +#include "trainer_see.h" +#include "field_message_box.h" +#include "sound.h" +#include "strings.h" +#include "secret_base.h" +#include "string_util.h" +#include "overworld.h" +#include "field_weather.h" + +enum +{ + TRAINER_PARAM_LOAD_VAL_8BIT, + TRAINER_PARAM_LOAD_VAL_16BIT, + TRAINER_PARAM_LOAD_VAL_32BIT, + TRAINER_PARAM_CLEAR_VAL_8BIT, + TRAINER_PARAM_CLEAR_VAL_16BIT, + TRAINER_PARAM_CLEAR_VAL_32BIT, + TRAINER_PARAM_LOAD_SCRIPT_RET_ADDR, +}; + +struct TrainerBattleParameter +{ + void *varPtr; + u8 ptrType; +}; + +extern bool8 InBattlePyramid(void); +extern bool8 InBattlePike(void); +extern bool32 InTrainerHill(void); +extern bool32 FieldPoisonEffectIsRunning(void); +extern void overworld_free_bg_tilemaps(void); +extern void prev_quest_postbuffer_cursor_backup_reset(void); +extern void ResetPoisonStepCounter(void); +extern void sub_81BE72C(void); +extern void FreezeMapObjects(void); +extern void sub_808BCF4(void); +extern void sub_80EECC8(void); +extern void Overworld_ClearSavedMusic(void); +extern void CB2_WhiteOut(void); +extern void sub_80AF6F0(void); +extern void PlayBattleBGM(void); +extern void sub_81DA57C(void); +extern u8 Overworld_GetFlashLevel(void); +extern u16 sub_81A9AA8(u8 localId); +extern u16 sub_81D6180(u8 localId); +extern bool8 GetBattlePyramidTrainerFlag(u8 mapObjId); +extern bool8 GetTrainerHillTrainerFlag(u8 mapObjId); +extern bool8 sub_81D5C18(void); +extern void sub_816306C(u8 a0); +extern void sub_8163048(u8 a0); +extern void sub_81A9B04(void); +extern void sub_81D639C(void); +extern void sub_81D6384(void); +extern void sub_81D61E8(void); +extern void sub_80982B8(void); +extern void sub_81A9EDC(u16 a0); +extern void sub_81D572C(u8 a0, u16 arg1); + +// this file's functions +static void DoBattlePikeWildBattle(void); +static void DoSafariBattle(void); +static void DoStandardWildBattle(void); +static void CB2_EndWildBattle(void); +static void CB2_EndScriptedWildBattle(void); +static u8 GetWildBattleTransition(void); +static u8 GetTrainerBattleTransition(void); +static void sub_80B1218(void); +static void sub_80B1234(void); +static void CB2_GiveStarter(void); +static void CB2_StartFirstBattle(void); +static void CB2_EndFirstBattle(void); +static void CB2_EndTrainerBattle(void); +static bool32 IsPlayerDefeated(u32 battleOutcome); +static u16 GetRematchTrainerId(u16 trainerId); +static void RegisterTrainerInMatchCall(void); +static void HandleRematchVarsOnBattleEnd(void); +static const u8 *GetIntroSpeechOfApproachingTrainer(void); +static const u8 *GetTrainerCantBattleSpeech(void); + +// ewram vars +EWRAM_DATA static u16 sTrainerBattleMode = 0; +EWRAM_DATA u16 gTrainerBattleOpponent_A = 0; +EWRAM_DATA u16 gTrainerBattleOpponent_B = 0; +EWRAM_DATA u16 gPartnerTrainerId = 0; +EWRAM_DATA static u16 sTrainerMapObjectLocalId = 0; +EWRAM_DATA static u8 *sTrainerAIntroSpeech = NULL; +EWRAM_DATA static u8 *sTrainerBIntroSpeech = NULL; +EWRAM_DATA static u8 *sTrainerADefeatSpeech = NULL; +EWRAM_DATA static u8 *sTrainerBDefeatSpeech = NULL; +EWRAM_DATA static u8 *sTrainerVictorySpeech = NULL; +EWRAM_DATA static u8 *sTrainerCannotBattleSpeech = NULL; +EWRAM_DATA static u8 *sTrainerBattleEndScript = NULL; +EWRAM_DATA static u8 *sTrainerABattleScriptRetAddr = NULL; +EWRAM_DATA static u8 *sTrainerBBattleScriptRetAddr = NULL; +EWRAM_DATA static bool8 sShouldCheckTrainerBScript = FALSE; +EWRAM_DATA static u8 sNoOfPossibleTrainerRetScripts = 0; + +// const rom data + +// The first transition is used if the enemy pokemon are lower level than our pokemon. +// Otherwise, the second transition is used. +static const u8 sBattleTransitionTable_Wild[][2] = +{ + {B_TRANSITION_SLICE, B_TRANSITION_WHITEFADE}, // Normal + {B_TRANSITION_CLOCKWISE_BLACKFADE, B_TRANSITION_GRID_SQUARES}, // Cave + {B_TRANSITION_BLUR, B_TRANSITION_GRID_SQUARES}, // Cave with flash used + {B_TRANSITION_WAVE, B_TRANSITION_RIPPLE}, // Water +}; + +static const u8 sBattleTransitionTable_Trainer[][2] = +{ + {B_TRANSITION_POKEBALLS_TRAIL, B_TRANSITION_SHARDS}, // Normal + {B_TRANSITION_SHUFFLE, B_TRANSITION_BIG_POKEBALL}, // Cave + {B_TRANSITION_BLUR, B_TRANSITION_GRID_SQUARES}, // Cave with flash used + {B_TRANSITION_SWIRL, B_TRANSITION_RIPPLE}, // Water +}; + +static const u8 sUnknown_0854FE98[] = +{ + B_TRANSITION_29, B_TRANSITION_30, B_TRANSITION_31, B_TRANSITION_32, + B_TRANSITION_34, B_TRANSITION_35, B_TRANSITION_36, B_TRANSITION_37, + B_TRANSITION_38, B_TRANSITION_39, B_TRANSITION_40, B_TRANSITION_41 +}; + +static const u8 sUnknown_0854FEA4[] = +{ + B_TRANSITION_31, B_TRANSITION_32, B_TRANSITION_33 +}; + +static const u8 sUnknown_0854FEA7[] = +{ + B_TRANSITION_29, B_TRANSITION_31, B_TRANSITION_32, B_TRANSITION_33 +}; + +static const struct TrainerBattleParameter sOrdinaryBattleParams[] = +{ + {&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT}, + {&gTrainerBattleOpponent_A, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerMapObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerAIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, + {&sTrainerADefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, + {&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, + {&sTrainerCannotBattleSpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, + {&sTrainerABattleScriptRetAddr, TRAINER_PARAM_CLEAR_VAL_32BIT}, + {&sTrainerBattleEndScript, TRAINER_PARAM_LOAD_SCRIPT_RET_ADDR}, +}; + +static const struct TrainerBattleParameter sContinueScriptBattleParams[] = +{ + {&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT}, + {&gTrainerBattleOpponent_A, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerMapObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerAIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, + {&sTrainerADefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, + {&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, + {&sTrainerCannotBattleSpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, + {&sTrainerABattleScriptRetAddr, TRAINER_PARAM_LOAD_VAL_32BIT}, + {&sTrainerBattleEndScript, TRAINER_PARAM_LOAD_SCRIPT_RET_ADDR}, +}; + +static const struct TrainerBattleParameter sDoubleBattleParams[] = +{ + {&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT}, + {&gTrainerBattleOpponent_A, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerMapObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerAIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, + {&sTrainerADefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, + {&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, + {&sTrainerCannotBattleSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, + {&sTrainerABattleScriptRetAddr, TRAINER_PARAM_CLEAR_VAL_32BIT}, + {&sTrainerBattleEndScript, TRAINER_PARAM_LOAD_SCRIPT_RET_ADDR}, +}; + +static const struct TrainerBattleParameter sOrdinaryNoIntroBattleParams[] = +{ + {&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT}, + {&gTrainerBattleOpponent_A, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerMapObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerAIntroSpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, + {&sTrainerADefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, + {&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, + {&sTrainerCannotBattleSpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, + {&sTrainerABattleScriptRetAddr, TRAINER_PARAM_CLEAR_VAL_32BIT}, + {&sTrainerBattleEndScript, TRAINER_PARAM_LOAD_SCRIPT_RET_ADDR}, +}; + +static const struct TrainerBattleParameter sContinueScriptDoubleBattleParams[] = +{ + {&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT}, + {&gTrainerBattleOpponent_A, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerMapObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerAIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, + {&sTrainerADefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, + {&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, + {&sTrainerCannotBattleSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, + {&sTrainerABattleScriptRetAddr, TRAINER_PARAM_LOAD_VAL_32BIT}, + {&sTrainerBattleEndScript, TRAINER_PARAM_LOAD_SCRIPT_RET_ADDR}, +}; + +static const struct TrainerBattleParameter sTrainerBOrdinaryBattleParams[] = +{ + {&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT}, + {&gTrainerBattleOpponent_B, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerMapObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerBIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, + {&sTrainerBDefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, + {&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, + {&sTrainerCannotBattleSpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, + {&sTrainerBBattleScriptRetAddr, TRAINER_PARAM_CLEAR_VAL_32BIT}, + {&sTrainerBattleEndScript, TRAINER_PARAM_LOAD_SCRIPT_RET_ADDR}, +}; + +static const struct TrainerBattleParameter sTrainerBContinueScriptBattleParams[] = +{ + {&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT}, + {&gTrainerBattleOpponent_B, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerMapObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerBIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, + {&sTrainerBDefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, + {&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, + {&sTrainerCannotBattleSpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, + {&sTrainerBBattleScriptRetAddr, TRAINER_PARAM_LOAD_VAL_32BIT}, + {&sTrainerBattleEndScript, TRAINER_PARAM_LOAD_SCRIPT_RET_ADDR}, +}; + +const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES] = +{ + {{0x0025, 0x0028, 0x0029, 0x002a, 0x002b}, 0x0000, 0x0021}, + {{0x02e1, 0x032c, 0x032d, 0x032e, 0x032f}, 0x0000, 0x0014}, + {{0x002c, 0x002f, 0x0030, 0x0031, 0x0032}, 0x0000, 0x001a}, + {{0x0039, 0x003c, 0x003d, 0x003e, 0x003f}, 0x0000, 0x0018}, + {{0x0040, 0x0043, 0x0044, 0x0045, 0x0046}, 0x0000, 0x0018}, + {{0x02af, 0x02b0, 0x02b1, 0x02b2, 0x02b3}, 0x0000, 0x0027}, + {{0x02ff, 0x033c, 0x033d, 0x033e, 0x033f}, 0x0000, 0x0024}, + {{0x005e, 0x0065, 0x0066, 0x0067, 0x0068}, 0x0000, 0x001a}, + {{0x004e, 0x0054, 0x0055, 0x0056, 0x0057}, 0x0000, 0x001a}, + {{0x006c, 0x006e, 0x006f, 0x0070, 0x0071}, 0x0018, 0x0014}, + {{0x0072, 0x0078, 0x0079, 0x007a, 0x007b}, 0x0000, 0x0013}, + {{0x0090, 0x034c, 0x034d, 0x034e, 0x034f}, 0x0018, 0x0038}, + {{0x007f, 0x0084, 0x0085, 0x0086, 0x0087}, 0x0000, 0x0024}, + {{0x0088, 0x008b, 0x008c, 0x008d, 0x008e}, 0x0000, 0x0013}, + {{0x008f, 0x0093, 0x0094, 0x0095, 0x0096}, 0x0000, 0x001d}, + {{0x009b, 0x00af, 0x00b0, 0x00b1, 0x00b2}, 0x0000, 0x0016}, + {{0x00b7, 0x00b8, 0x00b9, 0x00ba, 0x00bb}, 0x0000, 0x001e}, + {{0x02a0, 0x0338, 0x0339, 0x033a, 0x033b}, 0x0000, 0x002a}, + {{0x00c3, 0x0340, 0x0341, 0x0342, 0x0343}, 0x0000, 0x0026}, + {{0x00c4, 0x00c5, 0x00c6, 0x00c7, 0x00c8}, 0x0000, 0x0021}, + {{0x00ce, 0x00cf, 0x00d0, 0x00d1, 0x00d2}, 0x0000, 0x001d}, + {{0x00d8, 0x00db, 0x00dc, 0x00dd, 0x00de}, 0x0018, 0x000d}, + {{0x02a9, 0x02aa, 0x02ab, 0x02ac, 0x02ad}, 0x0018, 0x0001}, + {{0x00e2, 0x00e4, 0x00e5, 0x00e6, 0x00e7}, 0x0000, 0x0023}, + {{0x00ee, 0x00ef, 0x00f0, 0x00f1, 0x00f2}, 0x0000, 0x0026}, + {{0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd}, 0x0000, 0x0026}, + {{0x00fe, 0x0101, 0x0102, 0x0103, 0x0104}, 0x0000, 0x0024}, + {{0x0118, 0x011a, 0x011b, 0x011c, 0x011d}, 0x0000, 0x001f}, + {{0x0111, 0x0114, 0x0115, 0x0116, 0x0117}, 0x0000, 0x001f}, + {{0x011f, 0x0120, 0x0121, 0x0122, 0x0123}, 0x0000, 0x0020}, + {{0x012e, 0x012f, 0x0130, 0x0131, 0x0132}, 0x0000, 0x0019}, + {{0x0125, 0x0127, 0x0128, 0x0129, 0x012a}, 0x0000, 0x0012}, + {{0x0133, 0x0134, 0x0135, 0x0136, 0x0137}, 0x0000, 0x001e}, + {{0x0139, 0x013a, 0x013b, 0x013c, 0x013d}, 0x0018, 0x000c}, + {{0x013e, 0x0148, 0x0149, 0x014a, 0x014b}, 0x0000, 0x0011}, + {{0x0153, 0x015a, 0x015b, 0x015c, 0x015d}, 0x0000, 0x0015}, + {{0x0178, 0x017b, 0x017c, 0x017d, 0x017e}, 0x0000, 0x002b}, + {{0x0171, 0x0172, 0x0173, 0x0174, 0x0175}, 0x0000, 0x0020}, + {{0x0166, 0x0168, 0x0169, 0x016a, 0x016b}, 0x0000, 0x0019}, + {{0x016c, 0x016d, 0x016e, 0x016f, 0x0170}, 0x0000, 0x0020}, + {{0x0182, 0x0184, 0x0185, 0x0186, 0x0187}, 0x0000, 0x002b}, + {{0x0161, 0x0162, 0x0163, 0x0164, 0x0165}, 0x0000, 0x0019}, + {{0x0179, 0x0334, 0x0335, 0x0336, 0x0337}, 0x0000, 0x0029}, + {{0x0188, 0x0189, 0x018a, 0x018b, 0x018c}, 0x0018, 0x0001}, + {{0x0196, 0x0199, 0x019a, 0x019b, 0x019c}, 0x0000, 0x0023}, + {{0x01a3, 0x01a5, 0x01a6, 0x01a7, 0x01a8}, 0x0000, 0x001c}, + {{0x01ab, 0x01ae, 0x01af, 0x01b0, 0x01b1}, 0x0000, 0x001e}, + {{0x01b2, 0x01b5, 0x01b6, 0x01b7, 0x01b8}, 0x0000, 0x001c}, + {{0x01c1, 0x01d1, 0x01d2, 0x01d3, 0x01d4}, 0x0000, 0x0027}, + {{0x01da, 0x01dd, 0x01de, 0x01df, 0x01e0}, 0x0018, 0x000d}, + {{0x01e1, 0x01e2, 0x01e7, 0x01e8, 0x01e9}, 0x0000, 0x0012}, + {{0x01ec, 0x01f1, 0x01f2, 0x01f3, 0x01f4}, 0x0000, 0x0028}, + {{0x02e4, 0x0330, 0x0331, 0x0332, 0x0333}, 0x0000, 0x0017}, + {{0x0200, 0x0203, 0x0204, 0x0205, 0x0206}, 0x0000, 0x0019}, + {{0x0221, 0x0224, 0x0225, 0x0226, 0x0227}, 0x0000, 0x0020}, + {{0x021a, 0x021d, 0x021e, 0x021f, 0x0220}, 0x0000, 0x0020}, + {{0x0009, 0x0348, 0x0349, 0x034a, 0x034b}, 0x0018, 0x0011}, + {{0x022f, 0x0232, 0x0233, 0x0234, 0x0235}, 0x0000, 0x0022}, + {{0x0228, 0x022b, 0x022c, 0x022d, 0x022e}, 0x0000, 0x0022}, + {{0x025c, 0x025f, 0x0260, 0x0261, 0x0262}, 0x0000, 0x0013}, + {{0x026d, 0x026e, 0x026f, 0x0270, 0x0271}, 0x0018, 0x000b}, + {{0x0273, 0x027c, 0x027d, 0x027e, 0x027f}, 0x0000, 0x001b}, + {{0x0001, 0x0344, 0x0345, 0x0346, 0x0347}, 0x0018, 0x000c}, + {{0x0282, 0x0283, 0x0284, 0x0285, 0x0286}, 0x0018, 0x003e}, + {{0x0291, 0x0292, 0x0293, 0x0294, 0x0294}, 0x0018, 0x002b}, + {{0x0109, 0x0302, 0x0303, 0x0304, 0x0305}, 0x0000, 0x0003}, + {{0x010a, 0x0306, 0x0307, 0x0308, 0x0309}, 0x0000, 0x000b}, + {{0x010b, 0x030a, 0x030b, 0x030c, 0x030d}, 0x0000, 0x0002}, + {{0x010c, 0x030e, 0x030f, 0x0310, 0x0311}, 0x0000, 0x000c}, + {{0x010d, 0x0312, 0x0313, 0x0314, 0x0315}, 0x0000, 0x0000}, + {{0x010e, 0x0316, 0x0317, 0x0318, 0x0319}, 0x0000, 0x0004}, + {{0x010f, 0x031a, 0x031b, 0x031c, 0x031d}, 0x0000, 0x0006}, + {{0x0110, 0x031e, 0x031f, 0x0320, 0x0321}, 0x0000, 0x0007}, + {{0x0105, 0x0105, 0x0105, 0x0105, 0x0105}, 0x0000, 0x0008}, + {{0x0106, 0x0106, 0x0106, 0x0106, 0x0106}, 0x0000, 0x0008}, + {{0x0107, 0x0107, 0x0107, 0x0107, 0x0107}, 0x0000, 0x0008}, + {{0x0108, 0x0108, 0x0108, 0x0108, 0x0108}, 0x0000, 0x0008}, + {{0x014f, 0x014f, 0x014f, 0x014f, 0x014f}, 0x0000, 0x0008}, +}; + +static const u16 sBadgeFlags[8] = +{ + FLAG_BADGE01_GET, FLAG_BADGE02_GET, FLAG_BADGE03_GET, FLAG_BADGE04_GET, + FLAG_BADGE05_GET, FLAG_BADGE06_GET, FLAG_BADGE07_GET, FLAG_BADGE08_GET, +}; + +#define tState data[0] +#define tTransition data[1] + +static void Task_BattleStart(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + switch (tState) + { + case 0: + if (!FieldPoisonEffectIsRunning()) // is poison not active? + { + BattleTransition_StartOnField(tTransition); + sub_81BE72C(); + tState++; // go to case 1. + } + break; + case 1: + if (IsBattleTransitionDone() == TRUE) + { + overworld_free_bg_tilemaps(); + SetMainCallback2(CB2_InitBattle); + prev_quest_postbuffer_cursor_backup_reset(); + ResetPoisonStepCounter(); + DestroyTask(taskId); + } + break; + } +} + +static void CreateBattleStartTask(u8 transition, u16 song) +{ + u8 taskId = CreateTask(Task_BattleStart, 1); + + gTasks[taskId].tTransition = transition; + PlayMapChosenOrBattleBGM(song); +} + +#undef tState +#undef tTransition + +void BattleSetup_StartWildBattle(void) +{ + if (GetSafariZoneFlag()) + DoSafariBattle(); + else + DoStandardWildBattle(); +} + +void BattleSetup_StartBattlePikeWildBattle(void) +{ + DoBattlePikeWildBattle(); +} + +static void DoStandardWildBattle(void) +{ + ScriptContext2_Enable(); + FreezeMapObjects(); + sub_808BCF4(); + gMain.savedCallback = CB2_EndWildBattle; + gBattleTypeFlags = 0; + if (InBattlePyramid()) + { + VarSet(VAR_0x400E, 0); + gBattleTypeFlags |= BATTLE_TYPE_PYRAMID; + } + CreateBattleStartTask(GetWildBattleTransition(), 0); + IncrementGameStat(GAME_STAT_TOTAL_BATTLES); + IncrementGameStat(GAME_STAT_WILD_BATTLES); + sub_80EECC8(); + sub_80B1218(); +} + +void BattleSetup_StartRoamerBattle(void) +{ + ScriptContext2_Enable(); + FreezeMapObjects(); + sub_808BCF4(); + gMain.savedCallback = CB2_EndWildBattle; + gBattleTypeFlags = BATTLE_TYPE_ROAMER; + CreateBattleStartTask(GetWildBattleTransition(), 0); + IncrementGameStat(GAME_STAT_TOTAL_BATTLES); + IncrementGameStat(GAME_STAT_WILD_BATTLES); + sub_80EECC8(); + sub_80B1218(); +} + +static void DoSafariBattle(void) +{ + ScriptContext2_Enable(); + FreezeMapObjects(); + sub_808BCF4(); + gMain.savedCallback = CB2_EndSafariBattle; + gBattleTypeFlags = BATTLE_TYPE_SAFARI; + CreateBattleStartTask(GetWildBattleTransition(), 0); +} + +static void DoBattlePikeWildBattle(void) +{ + ScriptContext2_Enable(); + FreezeMapObjects(); + sub_808BCF4(); + gMain.savedCallback = CB2_EndWildBattle; + gBattleTypeFlags = BATTLE_TYPE_PIKE; + CreateBattleStartTask(GetWildBattleTransition(), 0); + IncrementGameStat(GAME_STAT_TOTAL_BATTLES); + IncrementGameStat(GAME_STAT_WILD_BATTLES); + sub_80EECC8(); + sub_80B1218(); +} + +static void DoTrainerBattle(void) +{ + CreateBattleStartTask(GetTrainerBattleTransition(), 0); + IncrementGameStat(GAME_STAT_TOTAL_BATTLES); + IncrementGameStat(GAME_STAT_TRAINER_BATTLES); + sub_80B1234(); +} + +static void sub_80B0828(void) +{ + if (InBattlePyramid()) + CreateBattleStartTask(sub_80B100C(10), 0); + else + CreateBattleStartTask(sub_80B100C(11), 0); + + IncrementGameStat(GAME_STAT_TOTAL_BATTLES); + IncrementGameStat(GAME_STAT_TRAINER_BATTLES); + sub_80B1234(); +} + +// Initiates battle where Wally catches Ralts +void StartWallyTutorialBattle(void) +{ + CreateMaleMon(&gEnemyParty[0], SPECIES_RALTS, 5); + ScriptContext2_Enable(); + gMain.savedCallback = c2_exit_to_overworld_1_continue_scripts_restart_music; + gBattleTypeFlags = BATTLE_TYPE_WALLY_TUTORIAL; + CreateBattleStartTask(B_TRANSITION_SLICE, 0); +} + +void BattleSetup_StartScriptedWildBattle(void) +{ + ScriptContext2_Enable(); + gMain.savedCallback = CB2_EndScriptedWildBattle; + gBattleTypeFlags = 0; + CreateBattleStartTask(GetWildBattleTransition(), 0); + IncrementGameStat(GAME_STAT_TOTAL_BATTLES); + IncrementGameStat(GAME_STAT_WILD_BATTLES); + sub_80EECC8(); + sub_80B1218(); +} + +void BattleSetup_StartLatiBattle(void) +{ + ScriptContext2_Enable(); + gMain.savedCallback = CB2_EndScriptedWildBattle; + gBattleTypeFlags = BATTLE_TYPE_LEGENDARY; + CreateBattleStartTask(GetWildBattleTransition(), 0); + IncrementGameStat(GAME_STAT_TOTAL_BATTLES); + IncrementGameStat(GAME_STAT_WILD_BATTLES); + sub_80EECC8(); + sub_80B1218(); +} + +void BattleSetup_StartLegendaryBattle(void) +{ + ScriptContext2_Enable(); + gMain.savedCallback = CB2_EndScriptedWildBattle; + gBattleTypeFlags = BATTLE_TYPE_LEGENDARY; + + switch (GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, NULL)) + { + default: + case SPECIES_GROUDON: + gBattleTypeFlags |= BATTLE_TYPE_GROUDON; + CreateBattleStartTask(B_TRANSITION_GROUDON, MUS_BATTLE34); + break; + case SPECIES_KYOGRE: + gBattleTypeFlags |= BATTLE_TYPE_KYOGRE; + CreateBattleStartTask(B_TRANSITION_KYOGRE, MUS_BATTLE34); + break; + case SPECIES_RAYQUAZA: + gBattleTypeFlags |= BATTLE_TYPE_RAYQUAZA; + CreateBattleStartTask(B_TRANSITION_RAYQUAZA, MUS_VS_REKKU); + break; + case SPECIES_DEOXYS: + CreateBattleStartTask(B_TRANSITION_BLUR, MUS_RG_VS_DEO); + break; + case SPECIES_LUGIA: + case SPECIES_HO_OH: + CreateBattleStartTask(B_TRANSITION_BLUR, MUS_RG_VS_DEN); + break; + case SPECIES_MEW: + CreateBattleStartTask(B_TRANSITION_GRID_SQUARES, MUS_VS_MEW); + break; + } + + IncrementGameStat(GAME_STAT_TOTAL_BATTLES); + IncrementGameStat(GAME_STAT_WILD_BATTLES); + sub_80EECC8(); + sub_80B1218(); +} + +void StartGroudonKyogreBattle(void) +{ + ScriptContext2_Enable(); + gMain.savedCallback = CB2_EndScriptedWildBattle; + gBattleTypeFlags = BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_KYOGRE_GROUDON; + + if (gGameVersion == VERSION_RUBY) + CreateBattleStartTask(B_TRANSITION_SHARDS, MUS_BATTLE34); // GROUDON + else + CreateBattleStartTask(B_TRANSITION_RIPPLE, MUS_BATTLE34); // KYOGRE + + IncrementGameStat(GAME_STAT_TOTAL_BATTLES); + IncrementGameStat(GAME_STAT_WILD_BATTLES); + sub_80EECC8(); + sub_80B1218(); +} + +void StartRegiBattle(void) +{ + u8 transitionId; + u16 species; + + ScriptContext2_Enable(); + gMain.savedCallback = CB2_EndScriptedWildBattle; + gBattleTypeFlags = BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_REGI; + + species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES); + switch (species) + { + case SPECIES_REGIROCK: + transitionId = B_TRANSITION_REGIROCK; + break; + case SPECIES_REGICE: + transitionId = B_TRANSITION_REGICE; + break; + case SPECIES_REGISTEEL: + transitionId = B_TRANSITION_REGISTEEL; + break; + default: + transitionId = B_TRANSITION_GRID_SQUARES; + break; + } + CreateBattleStartTask(transitionId, MUS_BATTLE36); + + IncrementGameStat(GAME_STAT_TOTAL_BATTLES); + IncrementGameStat(GAME_STAT_WILD_BATTLES); + sub_80EECC8(); + sub_80B1218(); +} + +static void CB2_EndWildBattle(void) +{ + CpuFill16(0, (void*)(BG_PLTT), BG_PLTT_SIZE); + ResetOamRange(0, 128); + + if (IsPlayerDefeated(gBattleOutcome) == TRUE && !InBattlePyramid() && !InBattlePike()) + { + SetMainCallback2(CB2_WhiteOut); + } + else + { + SetMainCallback2(c2_exit_to_overworld_2_switch); + gFieldCallback = sub_80AF6F0; + } +} + +static void CB2_EndScriptedWildBattle(void) +{ + CpuFill16(0, (void*)(BG_PLTT), BG_PLTT_SIZE); + ResetOamRange(0, 128); + + if (IsPlayerDefeated(gBattleOutcome) == TRUE) + { + if (InBattlePyramid()) + SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); + else + SetMainCallback2(CB2_WhiteOut); + } + else + { + SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); + } +} + +u8 BattleSetup_GetTerrainId(void) +{ + u16 tileBehavior; + s16 x, y; + + PlayerGetDestCoords(&x, &y); + tileBehavior = MapGridGetMetatileBehaviorAt(x, y); + + if (MetatileBehavior_IsTallGrass(tileBehavior)) + return BATTLE_TERRAIN_GRASS; + if (MetatileBehavior_IsLongGrass(tileBehavior)) + return BATTLE_TERRAIN_LONG_GRASS; + if (MetatileBehavior_IsSandOrDeepSand(tileBehavior)) + return BATTLE_TERRAIN_SAND; + + switch (gMapHeader.mapType) + { + case MAP_TYPE_TOWN: + case MAP_TYPE_CITY: + case MAP_TYPE_ROUTE: + break; + case MAP_TYPE_UNDERGROUND: + if (MetatileBehavior_IsMB_0B(tileBehavior)) + return BATTLE_TERRAIN_BUILDING; + if (MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior)) + return BATTLE_TERRAIN_POND; + return BATTLE_TERRAIN_CAVE; + case MAP_TYPE_INDOOR: + case MAP_TYPE_SECRET_BASE: + return BATTLE_TERRAIN_BUILDING; + case MAP_TYPE_UNDERWATER: + return BATTLE_TERRAIN_UNDERWATER; + case MAP_TYPE_6: + if (MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior)) + return BATTLE_TERRAIN_WATER; + return BATTLE_TERRAIN_PLAIN; + } + if (MetatileBehavior_IsDeepOrOceanWater(tileBehavior)) + return BATTLE_TERRAIN_WATER; + if (MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior)) + return BATTLE_TERRAIN_POND; + if (MetatileBehavior_IsMountain(tileBehavior)) + return BATTLE_TERRAIN_MOUNTAIN; + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) + { + if (MetatileBehavior_GetBridgeSth(tileBehavior)) + return BATTLE_TERRAIN_POND; + if (MetatileBehavior_IsBridge(tileBehavior) == TRUE) + return BATTLE_TERRAIN_WATER; + } + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE113) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE113)) + return BATTLE_TERRAIN_SAND; + if (GetSav1Weather() == 8) + return BATTLE_TERRAIN_SAND; + + return BATTLE_TERRAIN_PLAIN; +} + +static u8 GetBattleTransitionTypeByMap(void) +{ + u16 tileBehavior; + s16 x, y; + + PlayerGetDestCoords(&x, &y); + tileBehavior = MapGridGetMetatileBehaviorAt(x, y); + if (Overworld_GetFlashLevel()) + return B_TRANSITION_SHUFFLE; + if (!MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior)) + { + switch (gMapHeader.mapType) + { + case MAP_TYPE_UNDERGROUND: + return B_TRANSITION_SWIRL; + case MAP_TYPE_UNDERWATER: + return B_TRANSITION_BIG_POKEBALL; + default: + return B_TRANSITION_BLUR; + } + } + return B_TRANSITION_BIG_POKEBALL; +} + +static u16 GetSumOfPlayerPartyLevel(u8 numMons) +{ + u8 sum = 0; + int i; + + for (i = 0; i < PARTY_SIZE; i++) + { + u32 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); + + if (species != SPECIES_EGG && species != SPECIES_NONE && GetMonData(&gPlayerParty[i], MON_DATA_HP) != 0) + { + sum += GetMonData(&gPlayerParty[i], MON_DATA_LEVEL); + if (--numMons == 0) + break; + } + } + return sum; +} + +static u8 GetSumOfEnemyPartyLevel(u16 opponentId, u8 numMons) +{ + u8 i; + u8 sum; + u32 count = numMons; + + if (gTrainers[opponentId].partySize < count) + count = gTrainers[opponentId].partySize; + + sum = 0; + + switch (gTrainers[opponentId].partyFlags) + { + case 0: + { + const struct TrainerMonNoItemDefaultMoves *party; + party = gTrainers[opponentId].party.NoItemDefaultMoves; + for (i = 0; i < count; i++) + sum += party[i].lvl; + } + break; + case F_TRAINER_PARTY_CUSTOM_MOVESET: + { + const struct TrainerMonNoItemCustomMoves *party; + party = gTrainers[opponentId].party.NoItemCustomMoves; + for (i = 0; i < count; i++) + sum += party[i].lvl; + } + break; + case F_TRAINER_PARTY_HELD_ITEM: + { + const struct TrainerMonItemDefaultMoves *party; + party = gTrainers[opponentId].party.ItemDefaultMoves; + for (i = 0; i < count; i++) + sum += party[i].lvl; + } + break; + case F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM: + { + const struct TrainerMonItemCustomMoves *party; + party = gTrainers[opponentId].party.ItemCustomMoves; + for (i = 0; i < count; i++) + sum += party[i].lvl; + } + break; + } + + return sum; +} + +static u8 GetWildBattleTransition(void) +{ + u8 transitionType = GetBattleTransitionTypeByMap(); + u8 enemyLevel = GetMonData(&gEnemyParty[0], MON_DATA_LEVEL); + u8 playerLevel = GetSumOfPlayerPartyLevel(1); + + if (enemyLevel < playerLevel) + { + if (InBattlePyramid()) + return B_TRANSITION_BLUR; + else + return sBattleTransitionTable_Wild[transitionType][0]; + } + else + { + if (InBattlePyramid()) + return B_TRANSITION_GRID_SQUARES; + else + return sBattleTransitionTable_Wild[transitionType][1]; + } +} + +static u8 GetTrainerBattleTransition(void) +{ + u8 minPartyCount; + u8 transitionType; + u8 enemyLevel; + u8 playerLevel; + + if (gTrainerBattleOpponent_A == SECRET_BASE_OPPONENT) + return B_TRANSITION_CHAMPION; + + if (gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_ELITE_FOUR) + { + if (gTrainerBattleOpponent_A == TRAINER_SIDNEY) + return B_TRANSITION_SYDNEY; + if (gTrainerBattleOpponent_A == TRAINER_PHOEBE) + return B_TRANSITION_PHOEBE; + if (gTrainerBattleOpponent_A == TRAINER_GLACIA) + return B_TRANSITION_GLACIA; + if (gTrainerBattleOpponent_A == TRAINER_DRAKE) + return B_TRANSITION_DRAKE; + return B_TRANSITION_CHAMPION; + } + + if (gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_CHAMPION) + return B_TRANSITION_CHAMPION; + + if (gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_TEAM_MAGMA + || gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_MAGMA_LEADER + || gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_MAGMA_ADMIN) + return B_TRANSITION_MAGMA; + + if (gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_TEAM_AQUA + || gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_AQUA_LEADER + || gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_AQUA_ADMIN) + return B_TRANSITION_AQUA; + + if (gTrainers[gTrainerBattleOpponent_A].doubleBattle == TRUE) + minPartyCount = 2; // double battles always at least have 2 pokemon. + else + minPartyCount = 1; + + transitionType = GetBattleTransitionTypeByMap(); + enemyLevel = GetSumOfEnemyPartyLevel(gTrainerBattleOpponent_A, minPartyCount); + playerLevel = GetSumOfPlayerPartyLevel(minPartyCount); + + if (enemyLevel < playerLevel) + return sBattleTransitionTable_Trainer[transitionType][0]; + else + return sBattleTransitionTable_Trainer[transitionType][1]; +} + +u8 sub_80B100C(s32 arg0) +{ + u16 var; + u8 enemyLevel = GetMonData(&gEnemyParty[0], MON_DATA_LEVEL); + u8 playerLevel = GetSumOfPlayerPartyLevel(1); + + if (enemyLevel < playerLevel) + { + switch (arg0) + { + case 11: + case 12: + case 13: + return B_TRANSITION_POKEBALLS_TRAIL; + case 10: + return sUnknown_0854FEA4[Random() % ARRAY_COUNT(sUnknown_0854FEA4)]; + case 3: + return sUnknown_0854FEA7[Random() % ARRAY_COUNT(sUnknown_0854FEA7)]; + } + + if (VarGet(VAR_0x40CE) != 3) + return sUnknown_0854FE98[Random() % ARRAY_COUNT(sUnknown_0854FE98)]; + } + else + { + switch (arg0) + { + case 11: + case 12: + case 13: + return B_TRANSITION_BIG_POKEBALL; + case 10: + return sUnknown_0854FEA4[Random() % ARRAY_COUNT(sUnknown_0854FEA4)]; + case 3: + return sUnknown_0854FEA7[Random() % ARRAY_COUNT(sUnknown_0854FEA7)]; + } + + if (VarGet(VAR_0x40CE) != 3) + return sUnknown_0854FE98[Random() % ARRAY_COUNT(sUnknown_0854FE98)]; + } + + var = gSaveBlock2Ptr->field_CB4[gSaveBlock2Ptr->battlePyramidWildHeaderId * 2 + 0] + + gSaveBlock2Ptr->field_CB4[gSaveBlock2Ptr->battlePyramidWildHeaderId * 2 + 1]; + + return sUnknown_0854FE98[var % ARRAY_COUNT(sUnknown_0854FE98)]; +} + +void ChooseStarter(void) +{ + SetMainCallback2(CB2_ChooseStarter); + gMain.savedCallback = CB2_GiveStarter; +} + +static void CB2_GiveStarter(void) +{ + u16 starterMon; + + *GetVarPointer(VAR_FIRST_POKE) = gSpecialVar_Result; + starterMon = GetStarterPokemon(gSpecialVar_Result); + ScriptGiveMon(starterMon, 5, 0, 0, 0, 0); + ResetTasks(); + PlayBattleBGM(); + SetMainCallback2(CB2_StartFirstBattle); + BattleTransition_Start(B_TRANSITION_BLUR); +} + +static void CB2_StartFirstBattle(void) +{ + UpdatePaletteFade(); + RunTasks(); + + if (IsBattleTransitionDone() == TRUE) + { + gBattleTypeFlags = BATTLE_TYPE_FIRST_BATTLE; + gMain.savedCallback = CB2_EndFirstBattle; + FreeAllWindowBuffers(); + SetMainCallback2(CB2_InitBattle); + prev_quest_postbuffer_cursor_backup_reset(); + ResetPoisonStepCounter(); + IncrementGameStat(GAME_STAT_TOTAL_BATTLES); + IncrementGameStat(GAME_STAT_WILD_BATTLES); + sub_80EECC8(); + sub_80B1218(); + } +} + +static void CB2_EndFirstBattle(void) +{ + Overworld_ClearSavedMusic(); + SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); +} + +static void sub_80B1218(void) +{ + if (GetGameStat(GAME_STAT_WILD_BATTLES) % 60 == 0) + sub_81DA57C(); +} + +static void sub_80B1234(void) +{ + if (GetGameStat(GAME_STAT_TRAINER_BATTLES) % 20 == 0) + sub_81DA57C(); +} + +// why not just use the macros? maybe its because they didnt want to uncast const every time? +static u32 TrainerBattleLoadArg32(const u8 *ptr) +{ + return T1_READ_32(ptr); +} + +static u16 TrainerBattleLoadArg16(const u8 *ptr) +{ + return T1_READ_16(ptr); +} + +static u8 TrainerBattleLoadArg8(const u8 *ptr) +{ + return T1_READ_8(ptr); +} + +static u16 GetTrainerAFlag(void) +{ + return FLAG_TRAINER_FLAG_START + gTrainerBattleOpponent_A; +} + +static u16 GetTrainerBFlag(void) +{ + return FLAG_TRAINER_FLAG_START + gTrainerBattleOpponent_B; +} + +static bool32 IsPlayerDefeated(u32 battleOutcome) +{ + switch (battleOutcome) + { + case B_OUTCOME_LOST: + case B_OUTCOME_DREW: + return TRUE; + case B_OUTCOME_WON: + case B_OUTCOME_RAN: + case B_OUTCOME_PLAYER_TELEPORTED: + case B_OUTCOME_MON_FLED: + case B_OUTCOME_CAUGHT: + return FALSE; + default: + return FALSE; + } +} + +void ResetTrainerOpponentIds(void) +{ + gTrainerBattleOpponent_A = 0; + gTrainerBattleOpponent_B = 0; +} + +static void InitTrainerBattleVariables(void) +{ + sTrainerBattleMode = 0; + if (gApproachingTrainerId == 0) + { + sTrainerAIntroSpeech = NULL; + sTrainerADefeatSpeech = NULL; + sTrainerABattleScriptRetAddr = NULL; + } + else + { + sTrainerBIntroSpeech = NULL; + sTrainerBDefeatSpeech = NULL; + sTrainerBBattleScriptRetAddr = NULL; + } + sTrainerMapObjectLocalId = 0; + sTrainerVictorySpeech = NULL; + sTrainerCannotBattleSpeech = NULL; + sTrainerBattleEndScript = NULL; +} + +static inline void SetU8(void *ptr, u8 value) +{ + *(u8*)(ptr) = value; +} + +static inline void SetU16(void *ptr, u16 value) +{ + *(u16*)(ptr) = value; +} + +static inline void SetU32(void *ptr, u32 value) +{ + *(u32*)(ptr) = value; +} + +static inline void SetPtr(const void *ptr, const void* value) +{ + *(const void**)(ptr) = value; +} + +static void TrainerBattleLoadArgs(const struct TrainerBattleParameter *specs, const u8 *data) +{ + while (1) + { + switch (specs->ptrType) + { + case TRAINER_PARAM_LOAD_VAL_8BIT: + SetU8(specs->varPtr, TrainerBattleLoadArg8(data)); + data += 1; + break; + case TRAINER_PARAM_LOAD_VAL_16BIT: + SetU16(specs->varPtr, TrainerBattleLoadArg16(data)); + data += 2; + break; + case TRAINER_PARAM_LOAD_VAL_32BIT: + SetU32(specs->varPtr, TrainerBattleLoadArg32(data)); + data += 4; + break; + case TRAINER_PARAM_CLEAR_VAL_8BIT: + SetU8(specs->varPtr, 0); + break; + case TRAINER_PARAM_CLEAR_VAL_16BIT: + SetU16(specs->varPtr, 0); + break; + case TRAINER_PARAM_CLEAR_VAL_32BIT: + SetU32(specs->varPtr, 0); + break; + case TRAINER_PARAM_LOAD_SCRIPT_RET_ADDR: + SetPtr(specs->varPtr, data); + return; + } + specs++; + } +} + +void SetMapVarsToTrainer(void) +{ + if (sTrainerMapObjectLocalId != 0) + { + gSpecialVar_LastTalked = sTrainerMapObjectLocalId; + gSelectedMapObject = GetFieldObjectIdByLocalIdAndMap(sTrainerMapObjectLocalId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + } +} + +const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data) +{ + InitTrainerBattleVariables(); + sTrainerBattleMode = TrainerBattleLoadArg8(data); + + switch (sTrainerBattleMode) + { + case 3: + TrainerBattleLoadArgs(sOrdinaryNoIntroBattleParams, data); + return EventScript_2713C2; + case 4: + TrainerBattleLoadArgs(sDoubleBattleParams, data); + SetMapVarsToTrainer(); + return EventScript_TryDoDoubleTrainerBattle; + case 2: + if (gApproachingTrainerId == 0) + { + TrainerBattleLoadArgs(sContinueScriptBattleParams, data); + SetMapVarsToTrainer(); + } + else + { + TrainerBattleLoadArgs(sTrainerBContinueScriptBattleParams, data); + } + return EventScript_271362; + case 1: + TrainerBattleLoadArgs(sContinueScriptBattleParams, data); + SetMapVarsToTrainer(); + return EventScript_271362; + case 6: + case 8: + TrainerBattleLoadArgs(sContinueScriptDoubleBattleParams, data); + SetMapVarsToTrainer(); + return EventScript_TryDoDoubleTrainerBattle; + case 7: + TrainerBattleLoadArgs(sDoubleBattleParams, data); + SetMapVarsToTrainer(); + gTrainerBattleOpponent_A = GetRematchTrainerId(gTrainerBattleOpponent_A); + return EventScript_TryDoDoubleRematchBattle; + case 5: + TrainerBattleLoadArgs(sOrdinaryBattleParams, data); + SetMapVarsToTrainer(); + gTrainerBattleOpponent_A = GetRematchTrainerId(gTrainerBattleOpponent_A); + return EventScript_2713D1; + case 9: + if (gApproachingTrainerId == 0) + { + TrainerBattleLoadArgs(sOrdinaryBattleParams, data); + SetMapVarsToTrainer(); + gTrainerBattleOpponent_A = sub_81A9AA8(gSpecialVar_LastTalked); + } + else + { + TrainerBattleLoadArgs(sTrainerBOrdinaryBattleParams, data); + gTrainerBattleOpponent_B = sub_81A9AA8(gSpecialVar_LastTalked); + } + return EventScript_271362; + case 10: + TrainerBattleLoadArgs(sOrdinaryBattleParams, data); + return NULL; + case 11: + TrainerBattleLoadArgs(sTrainerBOrdinaryBattleParams, data); + return NULL; + case 12: + if (gApproachingTrainerId == 0) + { + TrainerBattleLoadArgs(sOrdinaryBattleParams, data); + SetMapVarsToTrainer(); + gTrainerBattleOpponent_A = sub_81D6180(gSpecialVar_LastTalked); + } + else + { + TrainerBattleLoadArgs(sTrainerBOrdinaryBattleParams, data); + gTrainerBattleOpponent_B = sub_81D6180(gSpecialVar_LastTalked); + } + return EventScript_271362; + default: + if (gApproachingTrainerId == 0) + { + TrainerBattleLoadArgs(sOrdinaryBattleParams, data); + SetMapVarsToTrainer(); + } + else + { + TrainerBattleLoadArgs(sTrainerBOrdinaryBattleParams, data); + } + return EventScript_271362; + } +} + +void ConfigureAndSetUpOneTrainerBattle(u8 trainerMapObjId, const u8 *trainerScript) +{ + gSelectedMapObject = trainerMapObjId; + gSpecialVar_LastTalked = gMapObjects[trainerMapObjId].localId; + BattleSetup_ConfigureTrainerBattle(trainerScript + 1); + ScriptContext1_SetupScript(EventScript_271354); + ScriptContext2_Enable(); +} + +void ConfigureTwoTrainersBattle(u8 trainerMapObjId, const u8 *trainerScript) +{ + gSelectedMapObject = trainerMapObjId; + gSpecialVar_LastTalked = gMapObjects[trainerMapObjId].localId; + BattleSetup_ConfigureTrainerBattle(trainerScript + 1); +} + +void SetUpTwoTrainersBattle(void) +{ + ScriptContext1_SetupScript(EventScript_271354); + ScriptContext2_Enable(); +} + +bool32 GetTrainerFlagFromScriptPointer(const u8 *data) +{ + u32 flag = TrainerBattleLoadArg16(data + 2); + return FlagGet(FLAG_TRAINER_FLAG_START + flag); +} + +void sub_80B16D8(void) +{ + struct MapObject *mapObject = &gMapObjects[gSelectedMapObject]; + + npc_set_running_behaviour_etc(mapObject, npc_running_behaviour_by_direction(mapObject->mapobj_unk_18)); +} + +u8 GetTrainerBattleMode(void) +{ + return sTrainerBattleMode; +} + +bool8 GetTrainerFlag(void) +{ + if (InBattlePyramid()) + return GetBattlePyramidTrainerFlag(gSelectedMapObject); + else if (InTrainerHill()) + return GetTrainerHillTrainerFlag(gSelectedMapObject); + else + return FlagGet(GetTrainerAFlag()); +} + +static void SetBattledTrainersFlags(void) +{ + if (gTrainerBattleOpponent_B != 0) + FlagSet(GetTrainerBFlag()); + FlagSet(GetTrainerAFlag()); +} + +static void SetBattledTrainerFlag(void) +{ + FlagSet(GetTrainerAFlag()); +} + +bool8 HasTrainerBeenFought(u16 trainerId) +{ + return FlagGet(FLAG_TRAINER_FLAG_START + trainerId); +} + +void SetTrainerFlag(u16 trainerId) +{ + FlagSet(FLAG_TRAINER_FLAG_START + trainerId); +} + +void ClearTrainerFlag(u16 trainerId) +{ + FlagClear(FLAG_TRAINER_FLAG_START + trainerId); +} + +void BattleSetup_StartTrainerBattle(void) +{ + if (gNoOfApproachingTrainers == 2) + gBattleTypeFlags = (BATTLE_TYPE_DOUBLE | BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_TRAINER); + else + gBattleTypeFlags = (BATTLE_TYPE_TRAINER); + + if (InBattlePyramid()) + { + VarSet(VAR_0x400E, 0); + gBattleTypeFlags |= BATTLE_TYPE_PYRAMID; + + if (gNoOfApproachingTrainers == 2) + { + sub_816306C(1); + ZeroMonData(&gEnemyParty[1]); + ZeroMonData(&gEnemyParty[2]); + ZeroMonData(&gEnemyParty[4]); + ZeroMonData(&gEnemyParty[5]); + } + else + { + sub_8163048(1); + ZeroMonData(&gEnemyParty[1]); + ZeroMonData(&gEnemyParty[2]); + } + + sub_81A9B04(); + } + else if (sub_81D5C18()) + { + gBattleTypeFlags |= BATTLE_TYPE_x4000000; + + if (gNoOfApproachingTrainers == 2) + sub_81D639C(); + else + sub_81D6384(); + + sub_81D61E8(); + } + + sNoOfPossibleTrainerRetScripts = gNoOfApproachingTrainers; + gNoOfApproachingTrainers = 0; + sShouldCheckTrainerBScript = FALSE; + gUnknown_03006080 = 0; + gMain.savedCallback = CB2_EndTrainerBattle; + + if (InBattlePyramid() || sub_81D5C18()) + sub_80B0828(); + else + DoTrainerBattle(); + + ScriptContext1_Stop(); +} + +static void CB2_EndTrainerBattle(void) +{ + if (gTrainerBattleOpponent_A == SECRET_BASE_OPPONENT) + { + SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); + } + else if (IsPlayerDefeated(gBattleOutcome) == TRUE) + { + if (InBattlePyramid() || sub_81D5C18()) + SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); + else + SetMainCallback2(CB2_WhiteOut); + } + else + { + SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); + if (!InBattlePyramid() && !sub_81D5C18()) + { + RegisterTrainerInMatchCall(); + SetBattledTrainersFlags(); + } + } +} + +static void CB2_EndRematchBattle(void) +{ + if (gTrainerBattleOpponent_A == SECRET_BASE_OPPONENT) + { + SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); + } + else if (IsPlayerDefeated(gBattleOutcome) == TRUE) + { + SetMainCallback2(CB2_WhiteOut); + } + else + { + SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); + RegisterTrainerInMatchCall(); + SetBattledTrainersFlags(); + HandleRematchVarsOnBattleEnd(); + } +} + +void BattleSetup_StartRematchBattle(void) +{ + gBattleTypeFlags = BATTLE_TYPE_TRAINER; + gMain.savedCallback = CB2_EndRematchBattle; + DoTrainerBattle(); + ScriptContext1_Stop(); +} + +void ShowTrainerIntroSpeech(void) +{ + if (InBattlePyramid()) + { + if (gNoOfApproachingTrainers == 0 || gNoOfApproachingTrainers == 1) + sub_81A9EDC(sub_81A9AA8(gSpecialVar_LastTalked)); + else + sub_81A9EDC(sub_81A9AA8(gMapObjects[gApproachingTrainers[gApproachingTrainerId].mapObjectId].localId)); + + sub_80982B8(); + } + else if (sub_81D5C18()) + { + if (gNoOfApproachingTrainers == 0 || gNoOfApproachingTrainers == 1) + sub_81D572C(2, sub_81D6180(gSpecialVar_LastTalked)); + else + sub_81D572C(2, sub_81D6180(gMapObjects[gApproachingTrainers[gApproachingTrainerId].mapObjectId].localId)); + + sub_80982B8(); + } + else + { + ShowFieldMessage(GetIntroSpeechOfApproachingTrainer()); + } +} + +const u8 *BattleSetup_GetScriptAddrAfterBattle(void) +{ + if (sTrainerBattleEndScript != NULL) + return sTrainerBattleEndScript; + else + return EventScript_TestSignpostMsg; +} + +const u8 *BattleSetup_GetTrainerPostBattleScript(void) +{ + if (sShouldCheckTrainerBScript) + { + sShouldCheckTrainerBScript = FALSE; + if (sTrainerBBattleScriptRetAddr != NULL) + { + gUnknown_03006080 = 1; + return sTrainerBBattleScriptRetAddr; + } + } + else + { + if (sTrainerABattleScriptRetAddr != NULL) + { + gUnknown_03006080 = 0; + return sTrainerABattleScriptRetAddr; + } + } + + return EventScript_TryGetTrainerScript; +} + +void ShowTrainerCantBattleSpeech(void) +{ + ShowFieldMessage(GetTrainerCantBattleSpeech()); +} + +void SetUpTrainerEncounterMusic(void) +{ + u16 trainerId; + u16 music; + + if (gApproachingTrainerId == 0) + trainerId = gTrainerBattleOpponent_A; + else + trainerId = gTrainerBattleOpponent_B; + + if (sTrainerBattleMode != TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC + && sTrainerBattleMode != TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC) + { + switch (GetTrainerEncounterMusicId(trainerId)) + { + case TRAINER_ENCOUNTER_MUSIC_MALE: + music = MUS_BOYEYE; + break; + case TRAINER_ENCOUNTER_MUSIC_FEMALE: + music = MUS_GIRLEYE; + break; + case TRAINER_ENCOUNTER_MUSIC_GIRL: + music = MUS_SYOUJOEYE; + break; + case TRAINER_ENCOUNTER_MUSIC_INTENSE: + music = MUS_HAGESHII; + break; + case TRAINER_ENCOUNTER_MUSIC_COOL: + music = MUS_KAKKOII; + break; + case TRAINER_ENCOUNTER_MUSIC_AQUA: + music = MUS_AQA_0; + break; + case TRAINER_ENCOUNTER_MUSIC_MAGMA: + music = MUS_MGM0; + break; + case TRAINER_ENCOUNTER_MUSIC_SWIMMER: + music = MUS_SWIMEYE; + break; + case TRAINER_ENCOUNTER_MUSIC_TWINS: + music = MUS_HUTAGO; + break; + case TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR: + music = MUS_SITENNOU; + break; + case TRAINER_ENCOUNTER_MUSIC_HIKER: + music = MUS_YAMA_EYE; + break; + case TRAINER_ENCOUNTER_MUSIC_INTERVIEWER: + music = MUS_INTER_V; + break; + case TRAINER_ENCOUNTER_MUSIC_RICH: + music = MUS_TEST; + break; + default: + music = MUS_AYASII; + } + PlayNewMapMusic(music); + } +} + +static const u8 *ReturnEmptyStringIfNull(const u8 *string) +{ + if (string == NULL) + return gText_EmptyString2; + else + return string; +} + +static const u8 *GetIntroSpeechOfApproachingTrainer(void) +{ + if (gApproachingTrainerId == 0) + return ReturnEmptyStringIfNull(sTrainerAIntroSpeech); + else + return ReturnEmptyStringIfNull(sTrainerBIntroSpeech); +} + +const u8 *GetTrainerALoseText(void) +{ + const u8 *string; + + if (gTrainerBattleOpponent_A == SECRET_BASE_OPPONENT) + string = GetSecretBaseTrainerLoseText(); + else + string = sTrainerADefeatSpeech; + + StringExpandPlaceholders(gStringVar4, ReturnEmptyStringIfNull(string)); + return gStringVar4; +} + +const u8 *GetTrainerBLoseText(void) +{ + StringExpandPlaceholders(gStringVar4, ReturnEmptyStringIfNull(sTrainerBDefeatSpeech)); + return gStringVar4; +} + +const u8 *GetTrainerWonSpeech(void) +{ + return ReturnEmptyStringIfNull(sTrainerVictorySpeech); +} + +static const u8 *GetTrainerCantBattleSpeech(void) +{ + return ReturnEmptyStringIfNull(sTrainerCannotBattleSpeech); +} + +static s32 FirstBattleTrainerIdToRematchTableId(const struct RematchTrainer *table, u16 trainerId) +{ + s32 i; + + for (i = 0; i < REMATCH_TABLE_ENTRIES; i++) + { + if (table[i].trainerIds[0] == trainerId) + return i; + } + + return -1; +} + +static s32 TrainerIdToRematchTableId(const struct RematchTrainer *table, u16 trainerId) +{ + s32 i, j; + + for (i = 0; i < REMATCH_TABLE_ENTRIES; i++) + { + for (j = 0; j < REMATCHES_COUNT; j++) + { + if (table[i].trainerIds[j] == 0) + break; + if (table[i].trainerIds[j] == trainerId) + return i; + } + } + + return -1; +} + +static bool32 sub_80B1D94(s32 rematchTableId) +{ + if (rematchTableId >= REMATCH_ELITE_FOUR_ENTRIES) + return TRUE; + else if (rematchTableId == REMATCH_WALLY_ENTRY) + return (FlagGet(FLAG_0x07E) == FALSE); + else + return FALSE; +} + +static void SetRematchIdForTrainer(const struct RematchTrainer *table, u32 tableId) +{ + s32 i; + + for (i = 1; i < REMATCHES_COUNT; i++) + { + u16 trainerId = table[tableId].trainerIds[i]; + + if (trainerId == 0) + break; + if (!HasTrainerBeenFought(trainerId)) + break; + } + + gSaveBlock1Ptr->trainerRematches[tableId] = i; +} + +static bool32 UpdateRandomTrainerRematches(const struct RematchTrainer *table, u16 mapGroup, u16 mapNum) +{ + s32 i; + bool32 ret = FALSE; + + for (i = 0; i <= REMATCH_WALLY_ENTRY; i++) + { + if (table[i].mapGroup == mapGroup && table[i].mapNum == mapNum && !sub_80B1D94(i)) + { + if (gSaveBlock1Ptr->trainerRematches[i] != 0) + { + // Trainer already wants a rematch. Don't bother updating it + ret = TRUE; + } + else if (FlagGet(FLAG_MATCH_CALL_REGISTERED + i) + && (Random() % 100) <= 30) // 31% chance of getting a rematch + { + SetRematchIdForTrainer(table, i); + ret = TRUE; + } + } + } + + return ret; +} + +void UpdateRematchIfDefeated(s32 rematchTableId) +{ + if (HasTrainerBeenFought(gRematchTable[rematchTableId].trainerIds[0]) == TRUE) + SetRematchIdForTrainer(gRematchTable, rematchTableId); +} + +static bool32 DoesSomeoneWantRematchIn_(const struct RematchTrainer *table, u16 mapGroup, u16 mapNum) +{ + s32 i; + + for (i = 0; i < REMATCH_TABLE_ENTRIES; i++) + { + if (table[i].mapGroup == mapGroup && table[i].mapNum == mapNum && gSaveBlock1Ptr->trainerRematches[i] != 0) + return TRUE; + } + + return FALSE; +} + +static bool32 IsRematchTrainerIn_(const struct RematchTrainer *table, u16 mapGroup, u16 mapNum) +{ + s32 i; + + for (i = 0; i < REMATCH_TABLE_ENTRIES; i++) + { + if (table[i].mapGroup == mapGroup && table[i].mapNum == mapNum) + return TRUE; + } + + return FALSE; +} + +static bool8 IsFirstTrainerIdReadyForRematch(const struct RematchTrainer *table, u16 firstBattleTrainerId) +{ + s32 tableId = FirstBattleTrainerIdToRematchTableId(table, firstBattleTrainerId); + + if (tableId == -1) + return FALSE; + if (tableId >= 100) + return FALSE; + if (gSaveBlock1Ptr->trainerRematches[tableId] == 0) + return FALSE; + + return TRUE; +} + +static bool8 IsTrainerReadyForRematch_(const struct RematchTrainer *table, u16 trainerId) +{ + s32 tableId = TrainerIdToRematchTableId(table, trainerId); + + if (tableId == -1) + return FALSE; + if (tableId >= 100) + return FALSE; + if (gSaveBlock1Ptr->trainerRematches[tableId] == 0) + return FALSE; + + return TRUE; +} + +static u16 GetRematchTrainerIdFromTable(const struct RematchTrainer *table, u16 firstBattleTrainerId) +{ + const struct RematchTrainer *trainerEntry; + s32 i; + s32 tableId = FirstBattleTrainerIdToRematchTableId(table, firstBattleTrainerId); + + if (tableId == -1) + return FALSE; + + trainerEntry = &table[tableId]; + for (i = 1; i < REMATCHES_COUNT; i++) + { + if (trainerEntry->trainerIds[i] == 0) // previous entry was this trainer's last one + return trainerEntry->trainerIds[i - 1]; + if (!HasTrainerBeenFought(trainerEntry->trainerIds[i])) + return trainerEntry->trainerIds[i]; + } + + return trainerEntry->trainerIds[REMATCHES_COUNT - 1]; // already beaten at max stage +} + +static u16 GetLastBeatenRematchTrainerIdFromTable(const struct RematchTrainer *table, u16 firstBattleTrainerId) +{ + const struct RematchTrainer *trainerEntry; + s32 i; + s32 tableId = FirstBattleTrainerIdToRematchTableId(table, firstBattleTrainerId); + + if (tableId == -1) + return FALSE; + + trainerEntry = &table[tableId]; + for (i = 1; i < REMATCHES_COUNT; i++) + { + if (trainerEntry->trainerIds[i] == 0) // previous entry was this trainer's last one + return trainerEntry->trainerIds[i - 1]; + if (!HasTrainerBeenFought(trainerEntry->trainerIds[i])) + return trainerEntry->trainerIds[i - 1]; + } + + return trainerEntry->trainerIds[REMATCHES_COUNT - 1]; // already beaten at max stage +} + +static void ClearTrainerWantRematchState(const struct RematchTrainer *table, u16 firstBattleTrainerId) +{ + s32 tableId = TrainerIdToRematchTableId(table, firstBattleTrainerId); + + if (tableId != -1) + gSaveBlock1Ptr->trainerRematches[tableId] = 0; +} + +static u32 GetTrainerMatchCallFlag(u32 trainerId) +{ + s32 i; + + for (i = 0; i < REMATCH_TABLE_ENTRIES; i++) + { + if (gRematchTable[i].trainerIds[0] == trainerId) + return FLAG_MATCH_CALL_REGISTERED + i; + } + + return 0xFFFF; +} + +static void RegisterTrainerInMatchCall(void) +{ + if (FlagGet(FLAG_HAS_MATCH_CALL)) + { + u32 matchCallFlagId = GetTrainerMatchCallFlag(gTrainerBattleOpponent_A); + if (matchCallFlagId != 0xFFFF) + FlagSet(matchCallFlagId); + } +} + +static bool8 WasSecondRematchWon(const struct RematchTrainer *table, u16 firstBattleTrainerId) +{ + s32 tableId = FirstBattleTrainerIdToRematchTableId(table, firstBattleTrainerId); + + if (tableId == -1) + return FALSE; + if (!HasTrainerBeenFought(table[tableId].trainerIds[1])) + return FALSE; + + return TRUE; +} + +static bool32 HasAtLeastFiveBadges(void) +{ + s32 i, count; + + for (count = 0, i = 0; i < ARRAY_COUNT(sBadgeFlags); i++) + { + if (FlagGet(sBadgeFlags[i]) == TRUE) + { + if (++count >= 5) + return TRUE; + } + } + + return FALSE; +} + +#define STEP_COUNTER_MAX 255 + +void IncrementRematchStepCounter(void) +{ + if (HasAtLeastFiveBadges()) + { + if (gSaveBlock1Ptr->trainerRematchStepCounter >= STEP_COUNTER_MAX) + gSaveBlock1Ptr->trainerRematchStepCounter = STEP_COUNTER_MAX; + else + gSaveBlock1Ptr->trainerRematchStepCounter++; + } +} + +static bool32 IsRematchStepCounterMaxed(void) +{ + if (HasAtLeastFiveBadges() && gSaveBlock1Ptr->trainerRematchStepCounter >= STEP_COUNTER_MAX) + return TRUE; + else + return FALSE; +} + +void TryUpdateRandomTrainerRematches(u16 mapGroup, u16 mapNum) +{ + if (IsRematchStepCounterMaxed() && UpdateRandomTrainerRematches(gRematchTable, mapGroup, mapNum) == TRUE) + gSaveBlock1Ptr->trainerRematchStepCounter = 0; +} + +bool32 DoesSomeoneWantRematchIn(u16 mapGroup, u16 mapNum) +{ + return DoesSomeoneWantRematchIn_(gRematchTable, mapGroup, mapNum); +} + +bool32 IsRematchTrainerIn(u16 mapGroup, u16 mapNum) +{ + return IsRematchTrainerIn_(gRematchTable, mapGroup, mapNum); +} + +static u16 GetRematchTrainerId(u16 trainerId) +{ + return GetRematchTrainerIdFromTable(gRematchTable, trainerId); +} + +u16 GetLastBeatenRematchTrainerId(u16 trainerId) +{ + return GetLastBeatenRematchTrainerIdFromTable(gRematchTable, trainerId); +} + +bool8 ShouldTryRematchBattle(void) +{ + if (IsFirstTrainerIdReadyForRematch(gRematchTable, gTrainerBattleOpponent_A)) + return TRUE; + + return WasSecondRematchWon(gRematchTable, gTrainerBattleOpponent_A); +} + +bool8 IsTrainerReadyForRematch(void) +{ + return IsTrainerReadyForRematch_(gRematchTable, gTrainerBattleOpponent_A); +} + +static void HandleRematchVarsOnBattleEnd(void) +{ + ClearTrainerWantRematchState(gRematchTable, gTrainerBattleOpponent_A); + SetBattledTrainersFlags(); +} + +void ShouldTryGetTrainerScript(void) +{ + if (sNoOfPossibleTrainerRetScripts > 1) + { + sNoOfPossibleTrainerRetScripts = 0; + sShouldCheckTrainerBScript = TRUE; + gSpecialVar_Result = TRUE; + } + else + { + sShouldCheckTrainerBScript = FALSE; + gSpecialVar_Result = FALSE; + } +} + +u16 CountBattledRematchTeams(u16 trainerId) +{ + s32 i; + + if (HasTrainerBeenFought(gRematchTable[trainerId].trainerIds[0]) != TRUE) + return 0; + + for (i = 1; i < REMATCHES_COUNT; i++) + { + if (gRematchTable[trainerId].trainerIds[i] == 0) + break; + if (!HasTrainerBeenFought(gRematchTable[trainerId].trainerIds[i])) + break; + } + + return i; +} diff --git a/src/battle_transition.c b/src/battle_transition.c new file mode 100644 index 0000000000..e0d208f232 --- /dev/null +++ b/src/battle_transition.c @@ -0,0 +1,4346 @@ +#include "global.h" +#include "battle_transition.h" +#include "unk_transition.h" +#include "main.h" +#include "overworld.h" +#include "task.h" +#include "palette.h" +#include "trig.h" +#include "field_effect.h" +#include "field_camera.h" +#include "random.h" +#include "sprite.h" +#include "sound.h" +#include "constants/songs.h" +#include "constants/trainers.h" +#include "field_camera.h" +#include "scanline_effect.h" +#include "malloc.h" +#include "gpu_regs.h" +#include "decompress.h" +#include "bg.h" +#include "blend_palette.h" + +struct TransitionData +{ + vu8 VBlank_DMA; + u16 WININ; + u16 WINOUT; + u16 WIN0H; + u16 WIN0V; + u16 field_A; // unused + u16 field_C; // unused + u16 BLDCNT; + u16 BLDALPHA; + u16 BLDY; + s16 field_14; + s16 field_16; + s16 BG0HOFS_1; + s16 BG0HOFS_2; + s16 BG0VOFS; // used but not set + s16 field_1E; // unused + s16 field_20; + s16 field_22; // unused + s16 data[11]; +}; + +struct StructRectangularSpiral +{ + u8 field_0; + s16 field_2; + u8 field_4; + s16 field_6; + u8 field_8; +}; + +typedef bool8 (*TransitionStateFunc)(struct Task *task); +typedef bool8 (*TransitionSpriteCallback)(struct Sprite *sprite); + +extern u16 gBattle_BG0_X; +extern u16 gBattle_BG0_Y; + +extern const struct OamData gFieldObjectBaseOam_32x32; + +extern void sub_80AC3D0(void); + +// this file's functions +static void LaunchBattleTransitionTask(u8 transitionId); +static void Task_BattleTransitionMain(u8 taskId); +static void Phase1Task_TransitionAll(u8 taskId); +static void Phase2Task_Blur(u8 taskId); +static void Phase2Task_Swirl(u8 taskId); +static void Phase2Task_Shuffle(u8 taskId); +static void Phase2Task_BigPokeball(u8 taskId); +static void Phase2Task_PokeballsTrail(u8 taskId); +static void Phase2Task_Clockwise_BlackFade(u8 taskId); +static void Phase2Task_Ripple(u8 taskId); +static void Phase2Task_Wave(u8 taskId); +static void Phase2Task_Slice(u8 taskId); +static void Phase2Task_WhiteFade(u8 taskId); +static void Phase2Task_GridSquares(u8 taskId); +static void Phase2Task_Shards(u8 taskId); +static void Phase2Task_Sydney(u8 taskId); +static void Phase2Task_Phoebe(u8 taskId); +static void Phase2Task_Glacia(u8 taskId); +static void Phase2Task_Drake(u8 taskId); +static void Phase2Task_Champion(u8 taskId); +static void Phase2Task_Aqua(u8 taskId); +static void Phase2Task_Magma(u8 taskId); +static void Phase2Task_Regice(u8 taskId); +static void Phase2Task_Registeel(u8 taskId); +static void Phase2Task_Regirock(u8 taskId); +static void Phase2Task_Kyogre(u8 taskId); +static void Phase2Task_Groudon(u8 taskId); +static void Phase2Task_Rayquaza(u8 taskId); +static void Phase2Task_ShredSplit(u8 taskId); +static void Phase2Task_Blackhole1(u8 taskId); +static void Phase2Task_Blackhole2(u8 taskId); +static void Phase2Task_RectangularSpiral(u8 taskId); +static void Phase2Task_29(u8 taskId); +static void Phase2Task_30(u8 taskId); +static void Phase2Task_31(u8 taskId); +static void Phase2Task_32(u8 taskId); +static void Phase2Task_33(u8 taskId); +static void VBlankCB_BattleTransition(void); +static void VBlankCB_Phase2_Swirl(void); +static void HBlankCB_Phase2_Swirl(void); +static void VBlankCB_Phase2_Shuffle(void); +static void HBlankCB_Phase2_Shuffle(void); +static void VBlankCB0_Phase2_BigPokeball(void); +static void VBlankCB1_Phase2_BigPokeball(void); +static void VBlankCB_Phase2_Clockwise_BlackFade(void); +static void VBlankCB_Phase2_Ripple(void); +static void HBlankCB_Phase2_Ripple(void); +static void VBlankCB_Phase2_30(void); +static void HBlankCB_Phase2_30(void); +static void VBlankCB_Phase2_Wave(void); +static void VBlankCB_Phase2_Slice(void); +static void HBlankCB_Phase2_Slice(void); +static void VBlankCB0_Phase2_WhiteFade(void); +static void VBlankCB1_Phase2_WhiteFade(void); +static void HBlankCB_Phase2_WhiteFade(void); +static void VBlankCB_Phase2_Shards(void); +static void VBlankCB_Phase2_Rayquaza(void); +static bool8 Phase2_Blur_Func1(struct Task *task); +static bool8 Phase2_Blur_Func2(struct Task *task); +static bool8 Phase2_Blur_Func3(struct Task *task); +static bool8 Phase2_Swirl_Func1(struct Task *task); +static bool8 Phase2_Swirl_Func2(struct Task *task); +static bool8 Phase2_Shuffle_Func1(struct Task *task); +static bool8 Phase2_Shuffle_Func2(struct Task *task); +static bool8 Phase2_Aqua_Func1(struct Task *task); +static bool8 Phase2_Aqua_Func2(struct Task *task); +static bool8 Phase2_Magma_Func1(struct Task *task); +static bool8 Phase2_Magma_Func2(struct Task *task); +static bool8 Phase2_FramesCountdown(struct Task *task); +static bool8 Phase2_Regi_Func1(struct Task *task); +static bool8 Phase2_Regice_Func2(struct Task *task); +static bool8 Phase2_Registeel_Func2(struct Task *task); +static bool8 Phase2_Regirock_Func2(struct Task *task); +static bool8 Phase2_WeatherTrio_Func1(struct Task *task); +static bool8 Phase2_WaitPaletteFade(struct Task *task); +static bool8 Phase2_Kyogre_Func3(struct Task *task); +static bool8 Phase2_Kyogre_Func4(struct Task *task); +static bool8 Phase2_Kyogre_Func5(struct Task *task); +static bool8 Phase2_Groudon_Func3(struct Task *task); +static bool8 Phase2_Groudon_Func4(struct Task *task); +static bool8 Phase2_Groudon_Func5(struct Task *task); +static bool8 Phase2_WeatherDuo_Func6(struct Task *task); +static bool8 Phase2_WeatherDuo_Func7(struct Task *task); +static bool8 Phase2_BigPokeball_Func1(struct Task *task); +static bool8 Phase2_BigPokeball_Func2(struct Task *task); +static bool8 Phase2_BigPokeball_Func3(struct Task *task); +static bool8 Phase2_BigPokeball_Func4(struct Task *task); +static bool8 Phase2_BigPokeball_Func5(struct Task *task); +static bool8 Phase2_BigPokeball_Func6(struct Task *task); +static bool8 Phase2_PokeballsTrail_Func1(struct Task *task); +static bool8 Phase2_PokeballsTrail_Func2(struct Task *task); +static bool8 Phase2_PokeballsTrail_Func3(struct Task *task); +static bool8 Phase2_Clockwise_BlackFade_Func1(struct Task *task); +static bool8 Phase2_Clockwise_BlackFade_Func2(struct Task *task); +static bool8 Phase2_Clockwise_BlackFade_Func3(struct Task *task); +static bool8 Phase2_Clockwise_BlackFade_Func4(struct Task *task); +static bool8 Phase2_Clockwise_BlackFade_Func5(struct Task *task); +static bool8 Phase2_Clockwise_BlackFade_Func6(struct Task *task); +static bool8 Phase2_Clockwise_BlackFade_Func7(struct Task *task); +static bool8 Phase2_Ripple_Func1(struct Task *task); +static bool8 Phase2_Ripple_Func2(struct Task *task); +static bool8 Phase2_Wave_Func1(struct Task *task); +static bool8 Phase2_Wave_Func2(struct Task *task); +static bool8 Phase2_Wave_Func3(struct Task *task); +static bool8 Phase2_Slice_Func1(struct Task *task); +static bool8 Phase2_Slice_Func2(struct Task *task); +static bool8 Phase2_Slice_Func3(struct Task *task); +static bool8 Phase2_WhiteFade_Func1(struct Task *task); +static bool8 Phase2_WhiteFade_Func2(struct Task *task); +static bool8 Phase2_WhiteFade_Func3(struct Task *task); +static bool8 Phase2_WhiteFade_Func4(struct Task *task); +static bool8 Phase2_WhiteFade_Func5(struct Task *task); +static bool8 Phase2_GridSquares_Func1(struct Task *task); +static bool8 Phase2_GridSquares_Func2(struct Task *task); +static bool8 Phase2_GridSquares_Func3(struct Task *task); +static bool8 Phase2_Shards_Func1(struct Task *task); +static bool8 Phase2_Shards_Func2(struct Task *task); +static bool8 Phase2_Shards_Func3(struct Task *task); +static bool8 Phase2_Shards_Func4(struct Task *task); +static bool8 Phase2_Shards_Func5(struct Task *task); +static bool8 Phase2_ShredSplit_Func1(struct Task *task); +static bool8 Phase2_ShredSplit_Func2(struct Task *task); +static bool8 Phase2_ShredSplit_Func3(struct Task *task); +static bool8 Phase2_ShredSplit_Func4(struct Task *task); +static bool8 Phase2_Blackhole_Func1(struct Task *task); +static bool8 Phase2_Blackhole1_Func2(struct Task *task); +static bool8 Phase2_Blackhole1_Func3(struct Task *task); +static bool8 Phase2_Blackhole2_Func2(struct Task *task); +static bool8 Phase2_RectangularSpiral_Func1(struct Task *task); +static bool8 Phase2_RectangularSpiral_Func2(struct Task *task); +static bool8 Phase2_RectangularSpiral_Func3(struct Task *task); +static bool8 Phase2_29_Func1(struct Task *task); +static bool8 Phase2_29_Func2(struct Task *task); +static bool8 Phase2_30_Func1(struct Task *task); +static bool8 Phase2_30_Func2(struct Task *task); +static bool8 Phase2_30_Func3(struct Task *task); +static bool8 Phase2_30_Func4(struct Task *task); +static bool8 Phase2_Rayquaza_Func3(struct Task *task); +static bool8 Phase2_Rayquaza_Func4(struct Task *task); +static bool8 Phase2_Rayquaza_Func5(struct Task *task); +static bool8 Phase2_Rayquaza_Func6(struct Task *task); +static bool8 Phase2_Rayquaza_Func7(struct Task *task); +static bool8 Phase2_Rayquaza_Func8(struct Task *task); +static bool8 Phase2_Rayquaza_Func9(struct Task *task); +static bool8 Phase2_31_Func1(struct Task *task); +static bool8 Phase2_31_Func2(struct Task *task); +static bool8 Phase2_31_Func3(struct Task *task); +static bool8 Phase2_31_33_Func5(struct Task *task); +static bool8 Phase2_33_Func1(struct Task *task); +static bool8 Phase2_33_Func2(struct Task *task); +static bool8 Phase2_33_Func3(struct Task *task); +static bool8 Phase2_33_Func4(struct Task *task); +static bool8 Phase2_32_Func1(struct Task *task); +static bool8 Phase2_32_Func2(struct Task *task); +static bool8 Phase2_32_Func3(struct Task *task); +static bool8 Phase2_32_Func4(struct Task *task); +static bool8 Phase2_32_Func5(struct Task *task); +static bool8 Phase2_Mugshot_Func1(struct Task *task); +static bool8 Phase2_Mugshot_Func2(struct Task *task); +static bool8 Phase2_Mugshot_Func3(struct Task *task); +static bool8 Phase2_Mugshot_Func4(struct Task *task); +static bool8 Phase2_Mugshot_Func5(struct Task *task); +static bool8 Phase2_Mugshot_Func6(struct Task *task); +static bool8 Phase2_Mugshot_Func7(struct Task *task); +static bool8 Phase2_Mugshot_Func8(struct Task *task); +static bool8 Phase2_Mugshot_Func9(struct Task *task); +static bool8 Phase2_Mugshot_Func10(struct Task *task); +static void Phase2Task_MugShotTransition(u8 taskId); +static void Mugshots_CreateOpponentPlayerSprites(struct Task *task); +static void VBlankCB0_Phase2_Mugshots(void); +static void VBlankCB1_Phase2_Mugshots(void); +static void HBlankCB_Phase2_Mugshots(void); +static bool8 Transition_Phase1(struct Task *task); +static bool8 Transition_WaitForPhase1(struct Task *task); +static bool8 Transition_Phase2(struct Task *task); +static bool8 Transition_WaitForPhase2(struct Task *task); +static void sub_8149F08(void); +static void sub_8149F84(void); +static void CreatePhase1Task(s16 a0, s16 a1, s16 a2, s16 a3, s16 a4); +static void sub_814A014(u16 *a0, s16 a1, s16 a2, s16 a3); +static void sub_8149F98(s16 *array, s16 sinAdd, s16 index, s16 indexIncrementer, s16 amplitude, s16 arrSize); +static void sub_8149F40(u16 **a0); +static void sub_814A1AC(s16 *a0, s16 a1, s16 a2, s16 a3, s16 a4, s16 a5, s16 a6); +static bool8 sub_814A228(s16 *a0, bool8 a1, bool8 a2); +static void sub_8148484(s16 spriteId, s16 value); +static void sub_814849C(s16 spriteId); +static s16 sub_81484B8(s16 spriteId); +static bool8 Phase1_TransitionAll_Func1(struct Task *task); +static bool8 Phase1_TransitionAll_Func2(struct Task *task); +static bool8 IsPhase1Done(void); +static bool16 sub_8149048(const s16 * const *arg0, struct StructRectangularSpiral *arg1); +static void sub_814713C(struct Sprite *sprite); +static void sub_8148380(struct Sprite *sprite); +static void sub_8149864(struct Sprite *sprite); +static bool8 sub_81483A8(struct Sprite *sprite); +static bool8 sub_81483AC(struct Sprite *sprite); +static bool8 sub_81483F8(struct Sprite *sprite); +static bool8 sub_814842C(struct Sprite *sprite); +static bool8 sub_8148458(struct Sprite *sprite); + +// iwram bss vars +IWRAM_DATA static s16 sUnusedRectangularSpiralVar; +IWRAM_DATA static u8 sTestingTransitionId; +IWRAM_DATA static u8 sTestingTransitionState; +IWRAM_DATA static struct StructRectangularSpiral sRectangularSpiralTransition[4]; + +// ewram vars +EWRAM_DATA static struct TransitionData *sTransitionStructPtr = NULL; + +// const rom data +static const u32 sBigPokeball_Tileset[] = INCBIN_U32("graphics/battle_transitions/big_pokeball.4bpp"); +static const u32 sPokeballTrail_Tileset[] = INCBIN_U32("graphics/battle_transitions/pokeball_trail.4bpp"); +static const u8 sSpriteImage_85B98F0[] = INCBIN_U8("graphics/battle_transitions/pokeball.4bpp"); +static const u32 sUnknown_085B9AF0[] = INCBIN_U32("graphics/battle_transitions/elite_four_bg.4bpp"); +static const u8 sSpriteImage_85B9CD0[] = INCBIN_U8("graphics/battle_transitions/unused_brendan.4bpp"); +static const u8 sSpriteImage_85BA4D0[] = INCBIN_U8("graphics/battle_transitions/unused_lass.4bpp"); +static const u32 sShrinkingBoxTileset[] = INCBIN_U32("graphics/battle_transitions/shrinking_box.4bpp"); +static const u32 sEvilTeam_Palette[] = INCBIN_U32("graphics/battle_transitions/evil_team.gbapal"); +static const u32 sTeamAqua_Tileset[] = INCBIN_U32("graphics/battle_transitions/team_aqua.4bpp.lz"); +static const u32 sTeamAqua_Tilemap[] = INCBIN_U32("graphics/battle_transitions/team_aqua.bin.lz"); +static const u32 sTeamMagma_Tileset[] = INCBIN_U32("graphics/battle_transitions/team_magma.4bpp.lz"); +static const u32 sTeamMagma_Tilemap[] = INCBIN_U32("graphics/battle_transitions/team_magma.bin.lz"); +static const u32 gUnknown_085BBC14[] = INCBIN_U32("graphics/battle_transitions/85BBC14.4bpp"); +static const u32 gUnknown_085BC2B4[] = INCBIN_U32("graphics/battle_transitions/85BC2B4.gbapal"); +static const u32 gUnknown_085BC2D4[] = INCBIN_U32("graphics/battle_transitions/85BC2D4.gbapal"); +static const u32 gUnknown_085BC2F4[] = INCBIN_U32("graphics/battle_transitions/85BC2F4.gbapal"); +static const u32 gUnknown_085BC314[] = INCBIN_U32("graphics/battle_transitions/85BC314.bin"); +static const u32 gUnknown_085BCB14[] = INCBIN_U32("graphics/battle_transitions/85BCB14.bin"); +static const u32 gUnknown_085BD314[] = INCBIN_U32("graphics/battle_transitions/85BD314.bin"); +static const u16 gUnknown_085BDB14[] = INCBIN_U16("graphics/battle_transitions/85BDB14.gbapal"); +static const u32 gUnknown_085BDB34[] = INCBIN_U32("graphics/battle_transitions/kyogre.4bpp.lz"); +static const u32 gUnknown_085BE1E8[] = INCBIN_U32("graphics/battle_transitions/kyogre.bin.lz"); +static const u32 gUnknown_085BE51C[] = INCBIN_U32("graphics/battle_transitions/groudon.4bpp.lz"); +static const u32 gUnknown_085BEA88[] = INCBIN_U32("graphics/battle_transitions/groudon.bin.lz"); +static const u16 gUnknown_085BEDA0[] = INCBIN_U16("graphics/battle_transitions/kyogre_pt1.gbapal"); +static const u16 gUnknown_085BEEE0[] = INCBIN_U16("graphics/battle_transitions/kyogre_pt2.gbapal"); +static const u16 gUnknown_085BF0A0[] = INCBIN_U16("graphics/battle_transitions/groudon_pt1.gbapal"); +static const u16 gUnknown_085BF2A0[] = INCBIN_U16("graphics/battle_transitions/groudon_pt2.gbapal"); +static const u16 gUnknown_085BF4A0[] = INCBIN_U16("graphics/battle_transitions/rayquaza.gbapal"); +static const u32 gUnknown_085BF6A0[] = INCBIN_U32("graphics/battle_transitions/rayquaza.4bpp"); +static const u32 gUnknown_085C6BE0[] = INCBIN_U32("graphics/battle_transitions/rayquaza.bin"); +static const u32 gUnknown_085C7BE0[] = INCBIN_U32("graphics/battle_transitions/frontier_brain.gbapal"); +static const u32 gUnknown_085C7C00[] = INCBIN_U32("graphics/battle_transitions/frontier_brain.4bpp.lz"); +static const u32 gUnknown_085C828C[] = INCBIN_U32("graphics/battle_transitions/frontier_brain.bin.lz"); +static const u32 gUnknown_085C8578[] = INCBIN_U32("graphics/battle_transitions/frontier_squares_blanktiles.gbapal"); +static const u32 gUnknown_085C8598[] = INCBIN_U32("graphics/battle_transitions/frontier_square_1.4bpp.lz"); +static const u32 gUnknown_085C86F4[] = INCBIN_U32("graphics/battle_transitions/frontier_square_2.4bpp.lz"); +static const u32 gUnknown_085C87F4[] = INCBIN_U32("graphics/battle_transitions/frontier_square_3.4bpp.lz"); +static const u32 gUnknown_085C88A4[] = INCBIN_U32("graphics/battle_transitions/frontier_square_4.4bpp.lz"); +static const u32 gUnknown_085C8928[] = INCBIN_U32("graphics/battle_transitions/frontier_squares.bin"); + +static const TaskFunc sPhase1_Tasks[B_TRANSITION_COUNT] = +{ + [0 ... B_TRANSITION_COUNT - 1] = &Phase1Task_TransitionAll +}; + +static const TaskFunc sPhase2_Tasks[B_TRANSITION_COUNT] = +{ + Phase2Task_Blur, // 0 + Phase2Task_Swirl, // 1 + Phase2Task_Shuffle, // 2 + Phase2Task_BigPokeball, // 3 + Phase2Task_PokeballsTrail, // 4 + Phase2Task_Clockwise_BlackFade, // 5 + Phase2Task_Ripple, // 6 + Phase2Task_Wave, // 7 + Phase2Task_Slice, // 8 + Phase2Task_WhiteFade, // 9 + Phase2Task_GridSquares, // 10 + Phase2Task_Shards, // 11 + Phase2Task_Sydney, // 12 + Phase2Task_Phoebe, // 13 + Phase2Task_Glacia, // 14 + Phase2Task_Drake, // 15 + Phase2Task_Champion, // 16 + Phase2Task_Aqua, // 17 + Phase2Task_Magma, // 18 + Phase2Task_Regice, // 19 + Phase2Task_Registeel, // 20 + Phase2Task_Regirock, // 21 + Phase2Task_Kyogre, // 22 + Phase2Task_Groudon, // 23 + Phase2Task_Rayquaza, // 24 + Phase2Task_ShredSplit, // 25 + Phase2Task_Blackhole1, // 26 + Phase2Task_Blackhole2, // 27 + Phase2Task_RectangularSpiral, // 28 + Phase2Task_29, // 29 + Phase2Task_30, // 30 + Phase2Task_31, // 31 + Phase2Task_32, // 32 + Phase2Task_33, // 33 + Phase2Task_34, // 34 + Phase2Task_35, // 35 + Phase2Task_36, // 36 + Phase2Task_37, // 37 + Phase2Task_38, // 38 + Phase2Task_39, // 39 + Phase2Task_40, // 40 + Phase2Task_41, // 41 +}; + +static const TransitionStateFunc sMainTransitionPhases[] = +{ + &Transition_Phase1, + &Transition_WaitForPhase1, + &Transition_Phase2, + &Transition_WaitForPhase2 +}; + +static const TransitionStateFunc sPhase2_Blur_Funcs[] = +{ + Phase2_Blur_Func1, + Phase2_Blur_Func2, + Phase2_Blur_Func3 +}; + +static const TransitionStateFunc sPhase2_Swirl_Funcs[] = +{ + Phase2_Swirl_Func1, + Phase2_Swirl_Func2, +}; + +static const TransitionStateFunc sPhase2_Shuffle_Funcs[] = +{ + Phase2_Shuffle_Func1, + Phase2_Shuffle_Func2, +}; + +static const TransitionStateFunc sPhase2_Aqua_Funcs[] = +{ + Phase2_Aqua_Func1, + Phase2_Aqua_Func2, + Phase2_BigPokeball_Func3, + Phase2_BigPokeball_Func4, + Phase2_BigPokeball_Func5, + Phase2_FramesCountdown, + Phase2_BigPokeball_Func6 +}; + +static const TransitionStateFunc sPhase2_Magma_Funcs[] = +{ + Phase2_Magma_Func1, + Phase2_Magma_Func2, + Phase2_BigPokeball_Func3, + Phase2_BigPokeball_Func4, + Phase2_BigPokeball_Func5, + Phase2_FramesCountdown, + Phase2_BigPokeball_Func6 +}; + +static const TransitionStateFunc sPhase2_BigPokeball_Funcs[] = +{ + Phase2_BigPokeball_Func1, + Phase2_BigPokeball_Func2, + Phase2_BigPokeball_Func3, + Phase2_BigPokeball_Func4, + Phase2_BigPokeball_Func5, + Phase2_BigPokeball_Func6 +}; + +static const TransitionStateFunc sPhase2_Regice_Funcs[] = +{ + Phase2_Regi_Func1, + Phase2_Regice_Func2, + Phase2_BigPokeball_Func3, + Phase2_BigPokeball_Func4, + Phase2_BigPokeball_Func5, + Phase2_BigPokeball_Func6 +}; + +static const TransitionStateFunc sPhase2_Registeel_Funcs[] = +{ + Phase2_Regi_Func1, + Phase2_Registeel_Func2, + Phase2_BigPokeball_Func3, + Phase2_BigPokeball_Func4, + Phase2_BigPokeball_Func5, + Phase2_BigPokeball_Func6 +}; + +static const TransitionStateFunc sPhase2_Regirock_Funcs[] = +{ + Phase2_Regi_Func1, + Phase2_Regirock_Func2, + Phase2_BigPokeball_Func3, + Phase2_BigPokeball_Func4, + Phase2_BigPokeball_Func5, + Phase2_BigPokeball_Func6 +}; + +static const TransitionStateFunc sPhase2_Kyogre_Funcs[] = +{ + Phase2_WeatherTrio_Func1, + Phase2_WaitPaletteFade, + Phase2_Kyogre_Func3, + Phase2_Kyogre_Func4, + Phase2_Kyogre_Func5, + Phase2_FramesCountdown, + Phase2_WeatherDuo_Func6, + Phase2_WeatherDuo_Func7 +}; + +static const TransitionStateFunc sPhase2_PokeballsTrail_Funcs[] = +{ + Phase2_PokeballsTrail_Func1, + Phase2_PokeballsTrail_Func2, + Phase2_PokeballsTrail_Func3 +}; + +static const s16 sUnknown_085C8B88[2] = {-16, 256}; +static const s16 sUnknown_085C8B8C[5] = {0, 32, 64, 18, 48}; +static const s16 sUnknown_085C8B96[2] = {8, -8}; + +static const TransitionStateFunc sPhase2_Clockwise_BlackFade_Funcs[] = +{ + Phase2_Clockwise_BlackFade_Func1, + Phase2_Clockwise_BlackFade_Func2, + Phase2_Clockwise_BlackFade_Func3, + Phase2_Clockwise_BlackFade_Func4, + Phase2_Clockwise_BlackFade_Func5, + Phase2_Clockwise_BlackFade_Func6, + Phase2_Clockwise_BlackFade_Func7 +}; + +static const TransitionStateFunc sPhase2_Ripple_Funcs[] = +{ + Phase2_Ripple_Func1, + Phase2_Ripple_Func2 +}; + +static const TransitionStateFunc sPhase2_Wave_Funcs[] = +{ + Phase2_Wave_Func1, + Phase2_Wave_Func2, + Phase2_Wave_Func3 +}; + +static const TransitionStateFunc sPhase2_Mugshot_Funcs[] = +{ + Phase2_Mugshot_Func1, + Phase2_Mugshot_Func2, + Phase2_Mugshot_Func3, + Phase2_Mugshot_Func4, + Phase2_Mugshot_Func5, + Phase2_Mugshot_Func6, + Phase2_Mugshot_Func7, + Phase2_Mugshot_Func8, + Phase2_Mugshot_Func9, + Phase2_Mugshot_Func10 +}; + +static const u8 sMugshotsTrainerPicIDsTable[MUGSHOTS_COUNT] = +{ + TRAINER_PIC_ELITE_FOUR_SIDNEY, + TRAINER_PIC_ELITE_FOUR_PHOEBE, + TRAINER_PIC_ELITE_FOUR_GLACIA, + TRAINER_PIC_ELITE_FOUR_DRAKE, + TRAINER_PIC_CHAMPION_WALLACE +}; +static const s16 sMugshotsOpponentRotationScales[MUGSHOTS_COUNT][2] = +{ + {0x200, 0x200}, + {0x200, 0x200}, + {0x1B0, 0x1B0}, + {0x1A0, 0x1A0}, + {0x188, 0x188}, +}; +static const s16 sMugshotsOpponentCoords[MUGSHOTS_COUNT][2] = +{ + {0, 0}, + {0, 0}, + {-4, 4}, + {0, 5}, + {-8, 7}, +}; + +static const TransitionSpriteCallback sUnknown_085C8C24[] = +{ + sub_81483A8, + sub_81483AC, + sub_81483F8, + sub_814842C, + sub_81483A8, + sub_8148458, + sub_81483A8 +}; + +static const s16 sUnknown_085C8C40[2] = {12, -12}; +static const s16 sUnknown_085C8C44[2] = {-1, 1}; + +static const TransitionStateFunc sPhase2_Slice_Funcs[] = +{ + Phase2_Slice_Func1, + Phase2_Slice_Func2, + Phase2_Slice_Func3 +}; + +static const TransitionStateFunc sPhase2_ShredSplit_Funcs[] = +{ + Phase2_ShredSplit_Func1, + Phase2_ShredSplit_Func2, + Phase2_ShredSplit_Func3, + Phase2_ShredSplit_Func4 +}; + +static const u8 gUnknown_085C8C64[] = {39, 119}; +static const s16 gUnknown_085C8C66[] = {1, -1}; + +static const TransitionStateFunc sPhase2_Blackhole1_Funcs[] = +{ + Phase2_Blackhole_Func1, + Phase2_Blackhole1_Func2, + Phase2_Blackhole1_Func3 +}; + +static const TransitionStateFunc sPhase2_Blackhole2_Funcs[] = +{ + Phase2_Blackhole_Func1, + Phase2_Blackhole2_Func2 +}; + +static const s16 gUnknown_085C8C80[] = {-6, 4}; + +static const TransitionStateFunc sPhase2_RectangularSpiral_Funcs[] = +{ + Phase2_RectangularSpiral_Func1, + Phase2_RectangularSpiral_Func2, + Phase2_RectangularSpiral_Func3 +}; + +static const s16 gUnknown_085C8C90[] = {1, 27, 275, -1}; +static const s16 gUnknown_085C8C98[] = {2, 486, -1}; +static const s16 gUnknown_085C8C9E[] = {3, 262, -1}; +static const s16 gUnknown_085C8CA4[] = {4, 507, -2}; +static const s16 gUnknown_085C8CAA[] = {1, 213, -1}; +static const s16 gUnknown_085C8CB0[] = {2, 548, -2}; +static const s16 gUnknown_085C8CB6[] = {3, 196, -1}; +static const s16 gUnknown_085C8CBC[] = {4, 573, 309, -1}; +static const s16 gUnknown_085C8CC4[] = {1, 474, -1}; +static const s16 gUnknown_085C8CCA[] = {2, 295, 32, -1}; +static const s16 gUnknown_085C8CD2[] = {3, 58, -1}; +static const s16 gUnknown_085C8CD8[] = {4, 455, -1}; +static const s16 gUnknown_085C8CDE[] = {1, 540, -1}; +static const s16 gUnknown_085C8CE4[] = {2, 229, -1}; +static const s16 gUnknown_085C8CEA[] = {3, 244, 28, -1}; +static const s16 gUnknown_085C8CF2[] = {4, 517, -1}; + +static const s16 *const gUnknown_085C8CF8[] = +{ + gUnknown_085C8C90, + gUnknown_085C8CA4, + gUnknown_085C8C98, + gUnknown_085C8C9E, + gUnknown_085C8CEA, + gUnknown_085C8CE4, + gUnknown_085C8CF2, + gUnknown_085C8CDE +}; + +static const s16 *const gUnknown_085C8D18[] = +{ + gUnknown_085C8CBC, + gUnknown_085C8CB0, + gUnknown_085C8CB6, + gUnknown_085C8CAA, + gUnknown_085C8CCA, + gUnknown_085C8CD8, + gUnknown_085C8CC4, + gUnknown_085C8CD2 +}; + +static const s16 *const *const gUnknown_085C8D38[] = +{ + gUnknown_085C8CF8, + gUnknown_085C8D18 +}; + +static const TransitionStateFunc sPhase2_Groudon_Funcs[] = +{ + Phase2_WeatherTrio_Func1, + Phase2_WaitPaletteFade, + Phase2_Groudon_Func3, + Phase2_Groudon_Func4, + Phase2_Groudon_Func5, + Phase2_FramesCountdown, + Phase2_WeatherDuo_Func6, + Phase2_WeatherDuo_Func7 +}; + +static const TransitionStateFunc sPhase2_Rayquaza_Funcs[] = +{ + Phase2_WeatherTrio_Func1, + Phase2_WaitPaletteFade, + Phase2_Rayquaza_Func3, + Phase2_Rayquaza_Func4, + Phase2_Rayquaza_Func5, + Phase2_Rayquaza_Func6, + Phase2_Rayquaza_Func7, + Phase2_Rayquaza_Func8, + Phase2_Rayquaza_Func9, + Phase2_Blackhole1_Func2, + Phase2_Blackhole1_Func3 +}; + +static const TransitionStateFunc sPhase2_WhiteFade_Funcs[] = +{ + Phase2_WhiteFade_Func1, + Phase2_WhiteFade_Func2, + Phase2_WhiteFade_Func3, + Phase2_WhiteFade_Func4, + Phase2_WhiteFade_Func5 +}; + +static const s16 sUnknown_085C8DA0[] = {0, 20, 15, 40, 10, 25, 35, 5}; + +static const TransitionStateFunc sPhase2_GridSquares_Funcs[] = +{ + Phase2_GridSquares_Func1, + Phase2_GridSquares_Func2, + Phase2_GridSquares_Func3 +}; + +static const TransitionStateFunc sPhase2_Shards_Funcs[] = +{ + Phase2_Shards_Func1, + Phase2_Shards_Func2, + Phase2_Shards_Func3, + Phase2_Shards_Func4, + Phase2_Shards_Func5 +}; + +static const s16 sUnknown_085C8DD0[][5] = +{ + {56, 0, 0, 160, 0}, + {104, 160, 240, 88, 1}, + {240, 72, 56, 0, 1}, + {0, 32, 144, 160, 0}, + {144, 160, 184, 0, 1}, + {56, 0, 168, 160, 0}, + {168, 160, 48, 0, 1}, +}; + +static const s16 sUnknown_085C8E16[] = {8, 4, 2, 1, 1, 1, 0}; + +static const TransitionStateFunc sPhase1_TransitionAll_Funcs[] = +{ + Phase1_TransitionAll_Func1, + Phase1_TransitionAll_Func2 +}; + +static const struct SpriteFrameImage sSpriteImageTable_85C8E2C[] = +{ + sSpriteImage_85B98F0, 0x200 +}; + +static const union AnimCmd sSpriteAnim_85C8E34[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_85C8E3C[] = +{ + sSpriteAnim_85C8E34 +}; + +static const union AffineAnimCmd sSpriteAffineAnim_85C8E40[] = +{ + AFFINEANIMCMD_FRAME(0, 0, -4, 1), + AFFINEANIMCMD_JUMP(0) +}; + +static const union AffineAnimCmd sSpriteAffineAnim_85C8E50[] = +{ + AFFINEANIMCMD_FRAME(0, 0, 4, 1), + AFFINEANIMCMD_JUMP(0) +}; + +static const union AffineAnimCmd *const sSpriteAffineAnimTable_85C8E60[] = +{ + sSpriteAffineAnim_85C8E40, + sSpriteAffineAnim_85C8E50 +}; + +static const struct SpriteTemplate gUnknown_085C8E68 = +{ + .tileTag = 0xFFFF, + .paletteTag = 4105, + .oam = &gFieldObjectBaseOam_32x32, + .anims = sSpriteAnimTable_85C8E3C, + .images = sSpriteImageTable_85C8E2C, + .affineAnims = sSpriteAffineAnimTable_85C8E60, + .callback = sub_814713C +}; + +static const struct OamData gOamData_85C8E80 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct SpriteFrameImage sSpriteImageTable_85C8E88[] = +{ + sSpriteImage_85B9CD0, 0x800 +}; + +static const struct SpriteFrameImage sSpriteImageTable_85C8E90[] = +{ + sSpriteImage_85BA4D0, 0x800 +}; + +static const union AnimCmd sSpriteAnim_85C8E98[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_85C8EA0[] = +{ + sSpriteAnim_85C8E98 +}; + +static const struct SpriteTemplate sSpriteTemplate_85C8EA4 = +{ + .tileTag = 0xFFFF, + .paletteTag = 4106, + .oam = &gOamData_85C8E80, + .anims = sSpriteAnimTable_85C8EA0, + .images = sSpriteImageTable_85C8E88, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8148380 +}; + +static const struct SpriteTemplate sSpriteTemplate_85C8EBC = +{ + .tileTag = 0xFFFF, + .paletteTag = 4106, + .oam = &gOamData_85C8E80, + .anims = sSpriteAnimTable_85C8EA0, + .images = sSpriteImageTable_85C8E90, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8148380 +}; + +static const u16 gFieldEffectObjectPalette10[] = INCBIN_U16("graphics/map_objects/palettes/field_effect_object_palette_10.gbapal"); + +const struct SpritePalette gFieldEffectObjectPaletteInfo10 = +{ + gFieldEffectObjectPalette10, 0x1009 +}; + +static const u16 sMugshotPal_Sydney[] = INCBIN_U16("graphics/battle_transitions/sidney_bg.gbapal"); +static const u16 sMugshotPal_Phoebe[] = INCBIN_U16("graphics/battle_transitions/phoebe_bg.gbapal"); +static const u16 sMugshotPal_Glacia[] = INCBIN_U16("graphics/battle_transitions/glacia_bg.gbapal"); +static const u16 sMugshotPal_Drake[] = INCBIN_U16("graphics/battle_transitions/drake_bg.gbapal"); +static const u16 sMugshotPal_Champion[] = INCBIN_U16("graphics/battle_transitions/wallace_bg.gbapal"); +static const u16 sMugshotPal_Brendan[] = INCBIN_U16("graphics/battle_transitions/brendan_bg.gbapal"); +static const u16 sMugshotPal_May[] = INCBIN_U16("graphics/battle_transitions/may_bg.gbapal"); + +static const u16 *const sOpponentMugshotsPals[MUGSHOTS_COUNT] = +{ + sMugshotPal_Sydney, + sMugshotPal_Phoebe, + sMugshotPal_Glacia, + sMugshotPal_Drake, + sMugshotPal_Champion +}; + +static const u16 *const sPlayerMugshotsPals[2] = +{ + sMugshotPal_Brendan, + sMugshotPal_May +}; + +static const u16 sUnusedTrainerPalette[] = INCBIN_U16("graphics/battle_transitions/unused_trainer.gbapal"); +static const struct SpritePalette sSpritePalette_UnusedTrainer = +{ + sUnusedTrainerPalette, 0x100A +}; + +static const u16 sBigPokeball_Tilemap[] = INCBIN_U16("graphics/battle_transitions/big_pokeball_map.bin"); +static const u16 sMugshotsTilemap[] = INCBIN_U16("graphics/battle_transitions/elite_four_bg_map.bin"); + +static const TransitionStateFunc sPhase2_29_Funcs[] = +{ + Phase2_29_Func1, + Phase2_29_Func2, + Phase2_BigPokeball_Func3, + Phase2_BigPokeball_Func4, + Phase2_BigPokeball_Func5, + Phase2_BigPokeball_Func6 +}; + +static const TransitionStateFunc sPhase2_30_Funcs[] = +{ + Phase2_30_Func1, + Phase2_30_Func2, + Phase2_30_Func3, + Phase2_30_Func4 +}; + +static const TransitionStateFunc sPhase2_31_Funcs[] = +{ + Phase2_31_Func1, + Phase2_31_Func2, + Phase2_31_Func3, + Phase2_31_33_Func5 +}; + +static const TransitionStateFunc sPhase2_33_Funcs[] = +{ + Phase2_33_Func1, + Phase2_33_Func2, + Phase2_33_Func3, + Phase2_33_Func4, + Phase2_31_33_Func5 +}; + +static const TransitionStateFunc sPhase2_32_Funcs[] = +{ + Phase2_32_Func1, + Phase2_32_Func2, + Phase2_32_Func3, + Phase2_32_Func4, + Phase2_32_Func5 +}; + +static const u8 gUnknown_085C9A30[] = {0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x1b, 0x14, 0x0d, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x07, 0x0e, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x13, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x0f, 0x10, 0x11, 0x12}; +static const u8 gUnknown_085C9A53[] = {0x00, 0x10, 0x29, 0x16, 0x2c, 0x02, 0x2b, 0x15, 0x2e, 0x1b, 0x09, 0x30, 0x26, 0x05, 0x39, 0x3b, 0x0c, 0x3f, 0x23, 0x1c, 0x0a, 0x35, 0x07, 0x31, 0x27, 0x17, 0x37, 0x01, 0x3e, 0x11, 0x3d, 0x1e, 0x06, 0x22, 0x0f, 0x33, 0x20, 0x3a, 0x0d, 0x2d, 0x25, 0x34, 0x0b, 0x18, 0x3c, 0x13, 0x38, 0x21, 0x1d, 0x32, 0x28, 0x36, 0x0e, 0x03, 0x2f, 0x14, 0x12, 0x19, 0x04, 0x24, 0x1a, 0x2a, 0x1f, 0x08, 0x00}; + +// code +static void CB2_TestBattleTransition(void) +{ + switch (sTestingTransitionState) + { + case 0: + LaunchBattleTransitionTask(sTestingTransitionId); + sTestingTransitionState++; + break; + case 1: + if (IsBattleTransitionDone()) + { + sTestingTransitionState = 0; + SetMainCallback2(c2_exit_to_overworld_2_switch); + } + break; + } + + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void TestBattleTransition(u8 transitionId) +{ + sTestingTransitionId = transitionId; + SetMainCallback2(CB2_TestBattleTransition); +} + +void BattleTransition_StartOnField(u8 transitionId) +{ + gMain.callback2 = CB2_OverworldBasic; + LaunchBattleTransitionTask(transitionId); +} + +void BattleTransition_Start(u8 transitionId) +{ + LaunchBattleTransitionTask(transitionId); +} + +// in all tasks data[0] is reserved for the state +#define tState data[0] + +// main task that launches sub-tasks for phase1 and phase2 +#define tTransitionId data[1] +#define tTransitionDone data[15] + +bool8 IsBattleTransitionDone(void) +{ + u8 taskId = FindTaskIdByFunc(Task_BattleTransitionMain); + if (gTasks[taskId].tTransitionDone) + { + DestroyTask(taskId); + FREE_AND_SET_NULL(sTransitionStructPtr); + return TRUE; + } + else + { + return FALSE; + } +} + +static void LaunchBattleTransitionTask(u8 transitionId) +{ + u8 taskId = CreateTask(Task_BattleTransitionMain, 2); + gTasks[taskId].tTransitionId = transitionId; + sTransitionStructPtr = AllocZeroed(sizeof(*sTransitionStructPtr)); +} + +static void Task_BattleTransitionMain(u8 taskId) +{ + while (sMainTransitionPhases[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 Transition_Phase1(struct Task *task) +{ + sub_80AC3D0(); + CpuCopy32(gPlttBufferFaded, gPlttBufferUnfaded, 0x400); + if (sPhase1_Tasks[task->tTransitionId] != NULL) + { + CreateTask(sPhase1_Tasks[task->tTransitionId], 4); + task->tState++; + return FALSE; + } + else + { + task->tState = 2; + return TRUE; + } +} + +static bool8 Transition_WaitForPhase1(struct Task *task) +{ + if (FindTaskIdByFunc(sPhase1_Tasks[task->tTransitionId]) == 0xFF) + { + task->tState++; + return TRUE; + } + else + { + return FALSE; + } +} + +static bool8 Transition_Phase2(struct Task *task) +{ + CreateTask(sPhase2_Tasks[task->tTransitionId], 0); + task->tState++; + return FALSE; +} + +static bool8 Transition_WaitForPhase2(struct Task *task) +{ + task->tTransitionDone = FALSE; + if (FindTaskIdByFunc(sPhase2_Tasks[task->tTransitionId]) == 0xFF) + task->tTransitionDone = TRUE; + return FALSE; +} + +#undef tTransitionId +#undef tTransitionDone + +static void Phase1Task_TransitionAll(u8 taskId) +{ + if (gTasks[taskId].tState == 0) + { + gTasks[taskId].tState++; + CreatePhase1Task(0, 0, 3, 2, 2); // creates a sub-task for this sub-task + } + else if (IsPhase1Done()) + { + DestroyTask(taskId); + } +} + +// sub-task for phase2 +#define tData1 data[1] +#define tData2 data[2] +#define tData3 data[3] +#define tData4 data[4] +#define tData5 data[5] +#define tData6 data[6] +#define tFuncState data[7] +#define tFrames data[8] +#define tOpponentSpriteId data[13] +#define tPlayerSpriteId data[14] +#define tMugshotId data[15] + +static void Phase2Task_Blur(u8 taskId) +{ + while (sPhase2_Blur_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 Phase2_Blur_Func1(struct Task *task) +{ + SetGpuReg(REG_OFFSET_MOSAIC, 0); + SetGpuRegBits(REG_OFFSET_BG1CNT, BGCNT_MOSAIC); + SetGpuRegBits(REG_OFFSET_BG2CNT, BGCNT_MOSAIC); + SetGpuRegBits(REG_OFFSET_BG3CNT, BGCNT_MOSAIC); + task->tState++; + return TRUE; +} + +static bool8 Phase2_Blur_Func2(struct Task *task) +{ + if (task->tData1 != 0) + { + task->tData1--; + } + else + { + task->tData1 = 4; + if (++task->tData2 == 10) + BeginNormalPaletteFade(-1, -1, 0, 0x10, 0); + SetGpuReg(REG_OFFSET_MOSAIC, (task->tData2 & 15) * 17); + if (task->tData2 > 14) + task->tState++; + } + return FALSE; +} + +static bool8 Phase2_Blur_Func3(struct Task *task) +{ + if (!gPaletteFade.active) + { + u8 taskId = FindTaskIdByFunc(Phase2Task_Blur); + DestroyTask(taskId); + } + return FALSE; +} + +static void Phase2Task_Swirl(u8 taskId) +{ + while (sPhase2_Swirl_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 Phase2_Swirl_Func1(struct Task *task) +{ + sub_8149F08(); + ScanlineEffect_Clear(); + BeginNormalPaletteFade(-1, 4, 0, 0x10, 0); + sub_8149F98(gScanlineEffectRegBuffers[1], sTransitionStructPtr->field_14, 0, 2, 0, 160); + + SetVBlankCallback(VBlankCB_Phase2_Swirl); + SetHBlankCallback(HBlankCB_Phase2_Swirl); + + EnableInterrupts(INTR_FLAG_VBLANK | INTR_FLAG_HBLANK); + + task->tState++; + return FALSE; +} + +static bool8 Phase2_Swirl_Func2(struct Task *task) +{ + sTransitionStructPtr->VBlank_DMA = FALSE; + task->tData1 += 4; + task->tData2 += 8; + + sub_8149F98(gScanlineEffectRegBuffers[0], sTransitionStructPtr->field_14, task->tData1, 2, task->tData2, 160); + + if (!gPaletteFade.active) + { + u8 taskId = FindTaskIdByFunc(Phase2Task_Swirl); + DestroyTask(taskId); + } + + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +static void VBlankCB_Phase2_Swirl(void) +{ + VBlankCB_BattleTransition(); + if (sTransitionStructPtr->VBlank_DMA) + DmaCopy16(3, gScanlineEffectRegBuffers[0], gScanlineEffectRegBuffers[1], 320); +} + +static void HBlankCB_Phase2_Swirl(void) +{ + u16 var = gScanlineEffectRegBuffers[1][REG_VCOUNT]; + REG_BG1HOFS = var; + REG_BG2HOFS = var; + REG_BG3HOFS = var; +} + +static void Phase2Task_Shuffle(u8 taskId) +{ + while (sPhase2_Shuffle_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 Phase2_Shuffle_Func1(struct Task *task) +{ + sub_8149F08(); + ScanlineEffect_Clear(); + + BeginNormalPaletteFade(-1, 4, 0, 0x10, 0); + memset(gScanlineEffectRegBuffers[1], sTransitionStructPtr->field_16, 0x140); + + SetVBlankCallback(VBlankCB_Phase2_Shuffle); + SetHBlankCallback(HBlankCB_Phase2_Shuffle); + + EnableInterrupts(INTR_FLAG_VBLANK | INTR_FLAG_HBLANK); + + task->tState++; + return FALSE; +} + +static bool8 Phase2_Shuffle_Func2(struct Task *task) +{ + u8 i; + u16 r3, r4; + + sTransitionStructPtr->VBlank_DMA = FALSE; + r4 = task->tData1; + r3 = task->tData2 >> 8; + task->tData1 += 4224; + task->tData2 += 384; + + for (i = 0; i < 160; i++, r4 += 4224) + { + u16 var = r4 / 256; + gScanlineEffectRegBuffers[0][i] = sTransitionStructPtr->field_16 + Sin(var, r3); + } + + if (!gPaletteFade.active) + DestroyTask(FindTaskIdByFunc(Phase2Task_Shuffle)); + + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +static void VBlankCB_Phase2_Shuffle(void) +{ + VBlankCB_BattleTransition(); + if (sTransitionStructPtr->VBlank_DMA) + DmaCopy16(3, gScanlineEffectRegBuffers[0], gScanlineEffectRegBuffers[1], 320); +} + +static void HBlankCB_Phase2_Shuffle(void) +{ + u16 var = gScanlineEffectRegBuffers[1][REG_VCOUNT]; + REG_BG1VOFS = var; + REG_BG2VOFS = var; + REG_BG3VOFS = var; +} + +static void Phase2Task_BigPokeball(u8 taskId) +{ + while (sPhase2_BigPokeball_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static void Phase2Task_Aqua(u8 taskId) +{ + while (sPhase2_Aqua_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static void Phase2Task_Magma(u8 taskId) +{ + while (sPhase2_Magma_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static void Phase2Task_Regice(u8 taskId) +{ + while (sPhase2_Regice_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static void Phase2Task_Registeel(u8 taskId) +{ + while (sPhase2_Registeel_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static void Phase2Task_Regirock(u8 taskId) +{ + while (sPhase2_Regirock_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static void Phase2Task_Kyogre(u8 taskId) +{ + while (sPhase2_Kyogre_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static void sub_814669C(struct Task *task) +{ + s32 i; + + sub_8149F08(); + ScanlineEffect_Clear(); + + task->tData1 = 16; + task->tData2 = 0; + task->tData4 = 0; + task->tData5 = 0x4000; + sTransitionStructPtr->WININ = 63; + sTransitionStructPtr->WINOUT = 0; + sTransitionStructPtr->WIN0H = 240; + sTransitionStructPtr->WIN0V = 160; + sTransitionStructPtr->BLDCNT = 0x3F41; + sTransitionStructPtr->BLDALPHA = (task->tData1 << 8) | (task->tData2); + + for (i = 0; i < 160; i++) + { + gScanlineEffectRegBuffers[1][i] = 240; + } + + SetVBlankCallback(VBlankCB0_Phase2_BigPokeball); +} + +static bool8 Phase2_Aqua_Func1(struct Task *task) +{ + u16 *dst1, *dst2; + + task->tFrames = 60; + sub_814669C(task); + sub_8149F58(&dst1, &dst2); + CpuFill16(0, dst1, 0x800); + LZ77UnCompVram(sTeamAqua_Tileset, dst2); + LoadPalette(sEvilTeam_Palette, 0xF0, 0x20); + + task->tState++; + return FALSE; +} + +static bool8 Phase2_Magma_Func1(struct Task *task) +{ + u16 *dst1, *dst2; + + task->tFrames = 60; + sub_814669C(task); + sub_8149F58(&dst1, &dst2); + CpuFill16(0, dst1, 0x800); + LZ77UnCompVram(sTeamMagma_Tileset, dst2); + LoadPalette(sEvilTeam_Palette, 0xF0, 0x20); + + task->tState++; + return FALSE; +} + +static bool8 Phase2_Regi_Func1(struct Task *task) +{ + u16 *dst1, *dst2; + + task->tFrames = 60; + sub_814669C(task); + sub_8149F58(&dst1, &dst2); + CpuFill16(0, dst1, 0x800); + CpuCopy16(gUnknown_085BBC14, dst2, 0x2000); + + task->tState++; + return FALSE; +} + +static bool8 Phase2_BigPokeball_Func1(struct Task *task) +{ + u16 *dst1, *dst2; + + sub_814669C(task); + sub_8149F58(&dst1, &dst2); + CpuFill16(0, dst1, 0x800); + CpuCopy16(sBigPokeball_Tileset, dst2, 0x580); + LoadPalette(gFieldEffectObjectPalette10, 0xF0, 0x20); + + task->tState++; + return FALSE; +} + +static bool8 Phase2_BigPokeball_Func2(struct Task *task) +{ + s16 i, j; + u16 *dst1, *dst2; + const u16 *BigPokeballMap; + + sub_8149F58(&dst1, &dst2); + BigPokeballMap = sBigPokeball_Tilemap; + for (i = 0; i < 20; i++) + { + for (j = 0; j < 30; j++, BigPokeballMap++) + { + dst1[i * 32 + j] = *BigPokeballMap | 0xF000; + } + } + sub_8149F98(gScanlineEffectRegBuffers[0], 0, task->tData4, 132, task->tData5, 160); + + task->tState++; + return TRUE; +} + +static bool8 Phase2_Aqua_Func2(struct Task *task) +{ + u16 *dst1, *dst2; + + sub_8149F58(&dst1, &dst2); + LZ77UnCompVram(sTeamAqua_Tilemap, dst1); + sub_8149F98(gScanlineEffectRegBuffers[0], 0, task->tData4, 132, task->tData5, 160); + + task->tState++; + return FALSE; +} + +static bool8 Phase2_Magma_Func2(struct Task *task) +{ + u16 *dst1, *dst2; + + sub_8149F58(&dst1, &dst2); + LZ77UnCompVram(sTeamMagma_Tilemap, dst1); + sub_8149F98(gScanlineEffectRegBuffers[0], 0, task->tData4, 132, task->tData5, 160); + + task->tState++; + return FALSE; +} + +static bool8 Phase2_Regice_Func2(struct Task *task) +{ + u16 *dst1, *dst2; + + sub_8149F58(&dst1, &dst2); + LoadPalette(gUnknown_085BC2B4, 0xF0, 0x20); + CpuCopy16(gUnknown_085BC314, dst1, 0x500); + sub_8149F98(gScanlineEffectRegBuffers[0], 0, task->tData4, 132, task->tData5, 160); + + task->tState++; + return FALSE; +} + +static bool8 Phase2_Registeel_Func2(struct Task *task) +{ + u16 *dst1, *dst2; + + sub_8149F58(&dst1, &dst2); + LoadPalette(gUnknown_085BC2D4, 0xF0, 0x20); + CpuCopy16(gUnknown_085BCB14, dst1, 0x500); + sub_8149F98(gScanlineEffectRegBuffers[0], 0, task->tData4, 132, task->tData5, 160); + + task->tState++; + return FALSE; +} + +static bool8 Phase2_Regirock_Func2(struct Task *task) +{ + u16 *dst1, *dst2; + + sub_8149F58(&dst1, &dst2); + LoadPalette(gUnknown_085BC2F4, 0xF0, 0x20); + CpuCopy16(gUnknown_085BD314, dst1, 0x500); + sub_8149F98(gScanlineEffectRegBuffers[0], 0, task->tData4, 132, task->tData5, 160); + + task->tState++; + return FALSE; +} + +static bool8 Phase2_Kyogre_Func3(struct Task *task) +{ + u16 *dst1, *dst2; + + sub_8149F58(&dst1, &dst2); + CpuFill16(0, dst1, 0x800); + LZ77UnCompVram(gUnknown_085BDB34, dst2); + LZ77UnCompVram(gUnknown_085BE1E8, dst1); + + task->tState++; + return FALSE; +} + +static bool8 Phase2_Kyogre_Func4(struct Task *task) +{ + if (task->tData1 % 3 == 0) + { + u16 var = task->tData1 % 30; + var /= 3; + LoadPalette(gUnknown_085BEDA0 + (var * 16), 0xF0, 0x20); + } + if (++task->tData1 > 58) + { + task->tState++; + task->tData1 = 0; + } + + return FALSE; +} + +static bool8 Phase2_Kyogre_Func5(struct Task *task) +{ + if (task->tData1 % 5 == 0) + { + s16 var = task->tData1 / 5; + LoadPalette(gUnknown_085BEEE0 + (var * 16), 0xF0, 0x20); + } + if (++task->tData1 > 68) + { + task->tState++; + task->tData1 = 0; + task->tFrames = 30; + } + + return FALSE; +} + +static bool8 Phase2_WeatherDuo_Func6(struct Task *task) +{ + BeginNormalPaletteFade(0xFFFF8000, 1, 0, 0x10, 0); + task->tState++; + return FALSE; +} + +static bool8 Phase2_WeatherDuo_Func7(struct Task *task) +{ + if (!gPaletteFade.active) + { + DmaStop(0); + sub_8149F84(); + DestroyTask(FindTaskIdByFunc(task->func)); + } + return FALSE; +} + +static bool8 Phase2_BigPokeball_Func3(struct Task *task) +{ + sTransitionStructPtr->VBlank_DMA = FALSE; + if (task->tData3 == 0 || --task->tData3 == 0) + { + task->tData2++; + task->tData3 = 2; + } + sTransitionStructPtr->BLDALPHA = (task->tData1 << 8) | task->tData2; + if (task->tData2 > 15) + task->tState++; + task->tData4 += 8; + task->tData5 -= 256; + + sub_8149F98(gScanlineEffectRegBuffers[0], 0, task->tData4, 132, task->tData5 >> 8, 160); + + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +static bool8 Phase2_BigPokeball_Func4(struct Task *task) +{ + sTransitionStructPtr->VBlank_DMA = FALSE; + if (task->tData3 == 0 || --task->tData3 == 0) + { + task->tData1--; + task->tData3 = 2; + } + sTransitionStructPtr->BLDALPHA = (task->tData1 << 8) | task->tData2; + if (task->tData1 == 0) + task->tState++; + task->tData4 += 8; + task->tData5 -= 256; + + sub_8149F98(gScanlineEffectRegBuffers[0], 0, task->tData4, 132, task->tData5 >> 8, 160); + + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +static bool8 Phase2_BigPokeball_Func5(struct Task *task) +{ + sTransitionStructPtr->VBlank_DMA = FALSE; + task->tData4 += 8; + task->tData5 -= 256; + + sub_8149F98(gScanlineEffectRegBuffers[0], 0, task->tData4, 132, task->tData5 >> 8, 160); + + if (task->tData5 <= 0) + { + task->tState++; + task->tData1 = 160; + task->tData2 = 256; + task->tData3 = 0; + } + + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +static bool8 Phase2_FramesCountdown(struct Task *task) +{ + if (--task->tFrames == 0) + task->tState++; + return FALSE; +} + +static bool8 Phase2_WeatherTrio_Func1(struct Task *task) +{ + BeginNormalPaletteFade(0x0000FFFF, 1, 0, 0x10, 0); + task->tState++; + return FALSE; +} + +static bool8 Phase2_WaitPaletteFade(struct Task *task) +{ + if (!gPaletteFade.active) + task->tState++; + return FALSE; +} + +static bool8 Phase2_BigPokeball_Func6(struct Task *task) +{ + sTransitionStructPtr->VBlank_DMA = FALSE; + if (task->tData2 < 1024) + task->tData2 += 128; + if (task->tData1 != 0) + { + task->tData1 -= (task->tData2 >> 8); + if (task->tData1 < 0) + task->tData1 = 0; + } + sub_814A014(gScanlineEffectRegBuffers[0], 120, 80, task->tData1); + if (task->tData1 == 0) + { + SetVBlankCallback(NULL); + DmaStop(0); + sub_8149F84(); + DestroyTask(FindTaskIdByFunc(task->func)); + } + else + { + if (task->tData3 == 0) + { + task->tData3++; + SetVBlankCallback(VBlankCB1_Phase2_BigPokeball); + } + + sTransitionStructPtr->VBlank_DMA++; + } + + return FALSE; +} + +static void Transition_BigPokeball_Vblank(void) +{ + DmaStop(0); + VBlankCB_BattleTransition(); + if (sTransitionStructPtr->VBlank_DMA) + DmaCopy16(3, gScanlineEffectRegBuffers[0], gScanlineEffectRegBuffers[1], 320); + REG_WININ = sTransitionStructPtr->WININ; + REG_WINOUT = sTransitionStructPtr->WINOUT; + REG_WIN0V = sTransitionStructPtr->WIN0V; + REG_BLDCNT = sTransitionStructPtr->BLDCNT; + REG_BLDALPHA = sTransitionStructPtr->BLDALPHA; +} + +static void VBlankCB0_Phase2_BigPokeball(void) +{ + Transition_BigPokeball_Vblank(); + DmaSet(0, gScanlineEffectRegBuffers[1], ®_BG0HOFS, 0xA2400001); +} + +static void VBlankCB1_Phase2_BigPokeball(void) +{ + Transition_BigPokeball_Vblank(); + DmaSet(0, gScanlineEffectRegBuffers[1], ®_WIN0H, 0xA2400001); +} + +static void Phase2Task_PokeballsTrail(u8 taskId) +{ + while (sPhase2_PokeballsTrail_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 Phase2_PokeballsTrail_Func1(struct Task *task) +{ + u16 *dst1, *dst2; + + sub_8149F58(&dst1, &dst2); + CpuSet(sPokeballTrail_Tileset, dst2, 0x20); + CpuFill32(0, dst1, 0x800); + LoadPalette(gFieldEffectObjectPalette10, 0xF0, 0x20); + + task->tState++; + return FALSE; +} + +static bool8 Phase2_PokeballsTrail_Func2(struct Task *task) +{ + s16 i; + s16 rand; + s16 arr0[ARRAY_COUNT(sUnknown_085C8B88)]; + s16 arr1[ARRAY_COUNT(sUnknown_085C8B8C)]; + + memcpy(arr0, sUnknown_085C8B88, sizeof(sUnknown_085C8B88)); + memcpy(arr1, sUnknown_085C8B8C, sizeof(sUnknown_085C8B8C)); + rand = Random() & 1; + for (i = 0; i <= 4; i++, rand ^= 1) + { + gFieldEffectArguments[0] = arr0[rand]; // x + gFieldEffectArguments[1] = (i * 32) + 16; // y + gFieldEffectArguments[2] = rand; + gFieldEffectArguments[3] = arr1[i]; + FieldEffectStart(FLDEFF_POKEBALL); + } + + task->tState++; + return FALSE; +} + +static bool8 Phase2_PokeballsTrail_Func3(struct Task *task) +{ + if (!FieldEffectActiveListContains(FLDEFF_POKEBALL)) + { + sub_8149F84(); + DestroyTask(FindTaskIdByFunc(Phase2Task_PokeballsTrail)); + } + return FALSE; +} + +bool8 FldEff_Pokeball(void) +{ + u8 spriteId = CreateSpriteAtEnd(&gUnknown_085C8E68, gFieldEffectArguments[0], gFieldEffectArguments[1], 0); + gSprites[spriteId].oam.priority = 0; + gSprites[spriteId].oam.affineMode = 1; + gSprites[spriteId].data[0] = gFieldEffectArguments[2]; + gSprites[spriteId].data[1] = gFieldEffectArguments[3]; + gSprites[spriteId].data[2] = -1; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], gFieldEffectArguments[2]); + return FALSE; +} + +#define SOME_VRAM_STORE(ptr, posY, posX, toStore) \ +{ \ + u32 index = (posY) * 32 + posX; \ + ptr[index] = toStore; \ +} + +static void sub_814713C(struct Sprite *sprite) +{ + s16 arr0[ARRAY_COUNT(sUnknown_085C8B96)]; + + memcpy(arr0, sUnknown_085C8B96, sizeof(sUnknown_085C8B96)); + if (sprite->data[1] != 0) + { + sprite->data[1]--; + } + else + { + if (sprite->pos1.x >= 0 && sprite->pos1.x <= 240) + { + s16 posX = sprite->pos1.x >> 3; + s16 posY = sprite->pos1.y >> 3; + + if (posX != sprite->data[2]) + { + u32 var; + u16 *ptr; + + sprite->data[2] = posX; + var = (((REG_BG0CNT >> 8) & 0x1F) << 11); // r2 + ptr = (u16 *)(VRAM + var); + + SOME_VRAM_STORE(ptr, posY - 2, posX, 0xF001); + SOME_VRAM_STORE(ptr, posY - 1, posX, 0xF001); + SOME_VRAM_STORE(ptr, posY - 0, posX, 0xF001); + SOME_VRAM_STORE(ptr, posY + 1, posX, 0xF001); + } + } + sprite->pos1.x += arr0[sprite->data[0]]; + if (sprite->pos1.x < -15 || sprite->pos1.x > 255) + FieldEffectStop(sprite, FLDEFF_POKEBALL); + } +} + +static void Phase2Task_Clockwise_BlackFade(u8 taskId) +{ + while (sPhase2_Clockwise_BlackFade_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 Phase2_Clockwise_BlackFade_Func1(struct Task *task) +{ + u16 i; + + sub_8149F08(); + ScanlineEffect_Clear(); + + sTransitionStructPtr->WININ = 0; + sTransitionStructPtr->WINOUT = 63; + sTransitionStructPtr->WIN0H = -3855; + sTransitionStructPtr->WIN0V = 160; + + for (i = 0; i < 160; i++) + { + gScanlineEffectRegBuffers[1][i] = 0xF3F4; + } + + SetVBlankCallback(VBlankCB_Phase2_Clockwise_BlackFade); + sTransitionStructPtr->data[4] = 120; + + task->tState++; + return TRUE; +} + +static bool8 Phase2_Clockwise_BlackFade_Func2(struct Task *task) +{ + sTransitionStructPtr->VBlank_DMA = FALSE; + + sub_814A1AC(sTransitionStructPtr->data, 120, 80, sTransitionStructPtr->data[4], -1, 1, 1); + do + { + gScanlineEffectRegBuffers[0][sTransitionStructPtr->data[3]] = (sTransitionStructPtr->data[2] + 1) | 0x7800; + } while (!sub_814A228(sTransitionStructPtr->data, 1, 1)); + + sTransitionStructPtr->data[4] += 16; + if (sTransitionStructPtr->data[4] >= 240) + { + sTransitionStructPtr->data[5] = 0; + task->tState++; + } + + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +static bool8 Phase2_Clockwise_BlackFade_Func3(struct Task *task) +{ + s16 r1, r3; + vu8 var = 0; + + sTransitionStructPtr->VBlank_DMA = FALSE; + + sub_814A1AC(sTransitionStructPtr->data, 120, 80, 240, sTransitionStructPtr->data[5], 1, 1); + + while (1) + { + r1 = 120, r3 = sTransitionStructPtr->data[2] + 1; + if (sTransitionStructPtr->data[5] >= 80) + r1 = sTransitionStructPtr->data[2], r3 = 240; + gScanlineEffectRegBuffers[0][sTransitionStructPtr->data[3]] = (r3) | (r1 << 8); + if (var != 0) + break; + var = sub_814A228(sTransitionStructPtr->data, 1, 1); + } + + sTransitionStructPtr->data[5] += 8; + if (sTransitionStructPtr->data[5] >= 160) + { + sTransitionStructPtr->data[4] = 240; + task->tState++; + } + else + { + while (sTransitionStructPtr->data[3] < sTransitionStructPtr->data[5]) + { + gScanlineEffectRegBuffers[0][++sTransitionStructPtr->data[3]] = (r3) | (r1 << 8); + } + } + + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +static bool8 Phase2_Clockwise_BlackFade_Func4(struct Task *task) +{ + sTransitionStructPtr->VBlank_DMA = FALSE; + + sub_814A1AC(sTransitionStructPtr->data, 120, 80, sTransitionStructPtr->data[4], 160, 1, 1); + do + { + gScanlineEffectRegBuffers[0][sTransitionStructPtr->data[3]] = (sTransitionStructPtr->data[2] << 8) | 0xF0; + } while (!sub_814A228(sTransitionStructPtr->data, 1, 1)); + + sTransitionStructPtr->data[4] -= 16; + if (sTransitionStructPtr->data[4] <= 0) + { + sTransitionStructPtr->data[5] = 160; + task->tState++; + } + + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +static bool8 Phase2_Clockwise_BlackFade_Func5(struct Task *task) +{ + s16 r1, r2, var4; + vu8 var = 0; + + sTransitionStructPtr->VBlank_DMA = FALSE; + + sub_814A1AC(sTransitionStructPtr->data, 120, 80, 0, sTransitionStructPtr->data[5], 1, 1); + + while (1) + { + r1 = (gScanlineEffectRegBuffers[0][sTransitionStructPtr->data[3]]) & 0xFF; + r2 = sTransitionStructPtr->data[2]; + if (sTransitionStructPtr->data[5] <= 80) + r2 = 120, r1 = sTransitionStructPtr->data[2]; + var4 = (r1) | (r2 << 8); + gScanlineEffectRegBuffers[0][sTransitionStructPtr->data[3]] = var4; + if (var != 0) + break; + var = sub_814A228(sTransitionStructPtr->data, 1, 1); + } + + sTransitionStructPtr->data[5] -= 8; + if (sTransitionStructPtr->data[5] <= 0) + { + sTransitionStructPtr->data[4] = 0; + task->tState++; + } + else + { + while (sTransitionStructPtr->data[3] > sTransitionStructPtr->data[5]) + { + gScanlineEffectRegBuffers[0][--sTransitionStructPtr->data[3]] = (r1) | (r2 << 8); + } + } + + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +static bool8 Phase2_Clockwise_BlackFade_Func6(struct Task *task) +{ + sTransitionStructPtr->VBlank_DMA = FALSE; + + sub_814A1AC(sTransitionStructPtr->data, 120, 80, sTransitionStructPtr->data[4], 0, 1, 1); + do + { + s16 r2, r3; + + r2 = 120, r3 = sTransitionStructPtr->data[2]; + if (sTransitionStructPtr->data[2] >= 120) + r2 = 0, r3 = 240; + gScanlineEffectRegBuffers[0][sTransitionStructPtr->data[3]] = (r3) | (r2 << 8); + + } while (!sub_814A228(sTransitionStructPtr->data, 1, 1)); + + sTransitionStructPtr->data[4] += 16; + if (sTransitionStructPtr->data[2] > 120) + task->tState++; + + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +static bool8 Phase2_Clockwise_BlackFade_Func7(struct Task *task) +{ + DmaStop(0); + sub_8149F84(); + DestroyTask(FindTaskIdByFunc(Phase2Task_Clockwise_BlackFade)); + return FALSE; +} + +static void VBlankCB_Phase2_Clockwise_BlackFade(void) +{ + DmaStop(0); + VBlankCB_BattleTransition(); + if (sTransitionStructPtr->VBlank_DMA != 0) + DmaCopy16(3, gScanlineEffectRegBuffers[0], gScanlineEffectRegBuffers[1], 320); + REG_WININ = sTransitionStructPtr->WININ; + REG_WINOUT = sTransitionStructPtr->WINOUT; + REG_WIN0V = sTransitionStructPtr->WIN0V; + REG_WIN0H = gScanlineEffectRegBuffers[1][0]; + DmaSet(0, gScanlineEffectRegBuffers[1], ®_WIN0H, 0xA2400001); +} + +static void Phase2Task_Ripple(u8 taskId) +{ + while (sPhase2_Ripple_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 Phase2_Ripple_Func1(struct Task *task) +{ + u8 i; + + sub_8149F08(); + ScanlineEffect_Clear(); + + for (i = 0; i < 160; i++) + { + gScanlineEffectRegBuffers[1][i] = sTransitionStructPtr->field_16; + } + + SetVBlankCallback(VBlankCB_Phase2_Ripple); + SetHBlankCallback(HBlankCB_Phase2_Ripple); + + EnableInterrupts(INTR_FLAG_HBLANK); + + task->tState++; + return TRUE; +} + +static bool8 Phase2_Ripple_Func2(struct Task *task) +{ + u8 i; + s16 r3; + u16 r4, r8; + + sTransitionStructPtr->VBlank_DMA = FALSE; + + r3 = task->tData2 >> 8; + r4 = task->tData1; + r8 = 384; + task->tData1 += 0x400; + if (task->tData2 <= 0x1FFF) + task->tData2 += 0x180; + + for (i = 0; i < 160; i++, r4 += r8) + { + // todo: fix the asm + s16 var = r4 >> 8; + asm(""); + gScanlineEffectRegBuffers[0][i] = sTransitionStructPtr->field_16 + Sin(var, r3); + } + + if (++task->tData3 == 81) + { + task->tData4++; + BeginNormalPaletteFade(-1, -2, 0, 0x10, 0); + } + + if (task->tData4 != 0 && !gPaletteFade.active) + DestroyTask(FindTaskIdByFunc(Phase2Task_Ripple)); + + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +static void VBlankCB_Phase2_Ripple(void) +{ + VBlankCB_BattleTransition(); + if (sTransitionStructPtr->VBlank_DMA) + DmaCopy16(3, gScanlineEffectRegBuffers[0], gScanlineEffectRegBuffers[1], 320); +} + +static void HBlankCB_Phase2_Ripple(void) +{ + u16 var = gScanlineEffectRegBuffers[1][REG_VCOUNT]; + REG_BG1VOFS = var; + REG_BG2VOFS = var; + REG_BG3VOFS = var; +} + +static void Phase2Task_Wave(u8 taskId) +{ + while (sPhase2_Wave_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 Phase2_Wave_Func1(struct Task *task) +{ + u8 i; + + sub_8149F08(); + ScanlineEffect_Clear(); + + sTransitionStructPtr->WININ = 63; + sTransitionStructPtr->WINOUT = 0; + sTransitionStructPtr->WIN0H = 240; + sTransitionStructPtr->WIN0V = 160; + + for (i = 0; i < 160; i++) + { + gScanlineEffectRegBuffers[1][i] = 242; + } + + SetVBlankCallback(VBlankCB_Phase2_Wave); + + task->tState++; + return TRUE; +} + +static bool8 Phase2_Wave_Func2(struct Task *task) +{ + u8 i, r5; + u16* toStore; + bool8 nextFunc; + + sTransitionStructPtr->VBlank_DMA = FALSE; + toStore = gScanlineEffectRegBuffers[0]; + r5 = task->tData2; + task->tData2 += 16; + task->tData1 += 8; + + for (i = 0, nextFunc = TRUE; i < 160; i++, r5 += 4, toStore++) + { + s16 value = task->tData1 + Sin(r5, 40); + if (value < 0) + value = 0; + if (value > 240) + value = 240; + *toStore = (value << 8) | (0xF1); + if (value < 240) + nextFunc = FALSE; + } + if (nextFunc) + task->tState++; + + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +static bool8 Phase2_Wave_Func3(struct Task *task) +{ + DmaStop(0); + sub_8149F84(); + DestroyTask(FindTaskIdByFunc(Phase2Task_Wave)); + return FALSE; +} + +static void VBlankCB_Phase2_Wave(void) +{ + DmaStop(0); + VBlankCB_BattleTransition(); + if (sTransitionStructPtr->VBlank_DMA != 0) + DmaCopy16(3, gScanlineEffectRegBuffers[0], gScanlineEffectRegBuffers[1], 320); + REG_WININ = sTransitionStructPtr->WININ; + REG_WINOUT = sTransitionStructPtr->WINOUT; + REG_WIN0V = sTransitionStructPtr->WIN0V; + DmaSet(0, gScanlineEffectRegBuffers[1], ®_WIN0H, 0xA2400001); +} + +static void Phase2Task_Sydney(u8 taskId) +{ + gTasks[taskId].tMugshotId = MUGSHOT_SYDNEY; + Phase2Task_MugShotTransition(taskId); +} + +static void Phase2Task_Phoebe(u8 taskId) +{ + gTasks[taskId].tMugshotId = MUGSHOT_PHOEBE; + Phase2Task_MugShotTransition(taskId); +} + +static void Phase2Task_Glacia(u8 taskId) +{ + gTasks[taskId].tMugshotId = MUGSHOT_GLACIA; + Phase2Task_MugShotTransition(taskId); +} + +static void Phase2Task_Drake(u8 taskId) +{ + gTasks[taskId].tMugshotId = MUGSHOT_DRAKE; + Phase2Task_MugShotTransition(taskId); +} + +static void Phase2Task_Champion(u8 taskId) +{ + gTasks[taskId].tMugshotId = MUGSHOT_CHAMPION; + Phase2Task_MugShotTransition(taskId); +} + +static void Phase2Task_MugShotTransition(u8 taskId) +{ + while (sPhase2_Mugshot_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 Phase2_Mugshot_Func1(struct Task *task) +{ + u8 i; + + sub_8149F08(); + ScanlineEffect_Clear(); + Mugshots_CreateOpponentPlayerSprites(task); + + task->tData1 = 0; + task->tData2 = 1; + task->tData3 = 239; + sTransitionStructPtr->WININ = 63; + sTransitionStructPtr->WINOUT = 62; + sTransitionStructPtr->WIN0V = 160; + + for (i = 0; i < 160; i++) + { + gScanlineEffectRegBuffers[1][i] = 0xF0F1; + } + + SetVBlankCallback(VBlankCB0_Phase2_Mugshots); + + task->tState++; + return FALSE; +} + +static bool8 Phase2_Mugshot_Func2(struct Task *task) +{ + s16 i, j; + u16 *dst1, *dst2; + const u16 *MugshotsMap; + + MugshotsMap = sMugshotsTilemap; + sub_8149F58(&dst1, &dst2); + CpuSet(sUnknown_085B9AF0, dst2, 0xF0); + LoadPalette(sOpponentMugshotsPals[task->tMugshotId], 0xF0, 0x20); + LoadPalette(sPlayerMugshotsPals[gSaveBlock2Ptr->playerGender], 0xFA, 0xC); + + for (i = 0; i < 20; i++) + { + for (j = 0; j < 32; j++, MugshotsMap++) + { + dst1[i * 32 + j] = *MugshotsMap | 0xF000; + } + } + + EnableInterrupts(INTR_FLAG_HBLANK); + + SetHBlankCallback(HBlankCB_Phase2_Mugshots); + task->tState++; + return FALSE; +} + +static bool8 Phase2_Mugshot_Func3(struct Task *task) +{ + u8 i, r5; + u16* toStore; + s16 value; + s32 mergedValue; + + sTransitionStructPtr->VBlank_DMA = FALSE; + + toStore = gScanlineEffectRegBuffers[0]; + r5 = task->tData1; + task->tData1 += 0x10; + + for (i = 0; i < 80; i++, toStore++, r5 += 0x10) + { + value = task->tData2 + Sin(r5, 0x10); + if (value < 0) + value = 1; + if (value > 0xF0) + value = 0xF0; + *toStore = value; + } + for (; i < 160; i++, toStore++, r5 += 0x10) + { + value = task->tData3 - Sin(r5, 0x10); + if (value < 0) + value = 0; + if (value > 0xEF) + value = 0xEF; + *toStore = (value << 8) | (0xF0); + } + + task->tData2 += 8; + task->tData3 -= 8; + if (task->tData2 > 0xF0) + task->tData2 = 0xF0; + if (task->tData3 < 0) + task->tData3 = 0; + mergedValue = *(s32*)(&task->tData2); + if (mergedValue == 0xF0) + task->tState++; + + sTransitionStructPtr->BG0HOFS_1 -= 8; + sTransitionStructPtr->BG0HOFS_2 += 8; + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +static bool8 Phase2_Mugshot_Func4(struct Task *task) +{ + u8 i; + u16* toStore; + + sTransitionStructPtr->VBlank_DMA = FALSE; + + for (i = 0, toStore = gScanlineEffectRegBuffers[0]; i < 160; i++, toStore++) + { + *toStore = 0xF0; + } + + task->tState++; + task->tData1 = 0; + task->tData2 = 0; + task->tData3 = 0; + sTransitionStructPtr->BG0HOFS_1 -= 8; + sTransitionStructPtr->BG0HOFS_2 += 8; + + sub_8148484(task->tOpponentSpriteId, 0); + sub_8148484(task->tPlayerSpriteId, 1); + sub_814849C(task->tOpponentSpriteId); + + PlaySE(SE_BT_START); + + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +static bool8 Phase2_Mugshot_Func5(struct Task *task) +{ + sTransitionStructPtr->BG0HOFS_1 -= 8; + sTransitionStructPtr->BG0HOFS_2 += 8; + if (sub_81484B8(task->tOpponentSpriteId)) + { + task->tState++; + sub_814849C(task->tPlayerSpriteId); + } + return FALSE; +} + +static bool8 Phase2_Mugshot_Func6(struct Task *task) +{ + sTransitionStructPtr->BG0HOFS_1 -= 8; + sTransitionStructPtr->BG0HOFS_2 += 8; + if (sub_81484B8(task->tPlayerSpriteId)) + { + sTransitionStructPtr->VBlank_DMA = FALSE; + SetVBlankCallback(NULL); + DmaStop(0); + memset(gScanlineEffectRegBuffers[0], 0, 0x140); + memset(gScanlineEffectRegBuffers[1], 0, 0x140); + SetGpuReg(REG_OFFSET_WIN0H, 0xF0); + SetGpuReg(REG_OFFSET_BLDY, 0); + task->tState++; + task->tData3 = 0; + task->tData4 = 0; + sTransitionStructPtr->BLDCNT = 0xBF; + SetVBlankCallback(VBlankCB1_Phase2_Mugshots); + } + return FALSE; +} + +static bool8 Phase2_Mugshot_Func7(struct Task *task) +{ + bool32 r6; + + sTransitionStructPtr->VBlank_DMA = FALSE; + r6 = TRUE; + sTransitionStructPtr->BG0HOFS_1 -= 8; + sTransitionStructPtr->BG0HOFS_2 += 8; + + if (task->tData4 < 0x50) + task->tData4 += 2; + if (task->tData4 > 0x50) + task->tData4 = 0x50; + + if (++task->tData3 & 1) + { + s16 i; + for (i = 0, r6 = FALSE; i <= task->tData4; i++) + { + s16 index1 = 0x50 - i; + s16 index2 = 0x50 + i; + if (gScanlineEffectRegBuffers[0][index1] <= 15) + { + r6 = TRUE; + gScanlineEffectRegBuffers[0][index1]++; + } + if (gScanlineEffectRegBuffers[0][index2] <= 15) + { + r6 = TRUE; + gScanlineEffectRegBuffers[0][index2]++; + } + } + } + + if (task->tData4 == 0x50 && !r6) + task->tState++; + + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +static bool8 Phase2_Mugshot_Func8(struct Task *task) +{ + sTransitionStructPtr->VBlank_DMA = FALSE; + BlendPalettes(-1, 0x10, 0x7FFF); + sTransitionStructPtr->BLDCNT = 0xFF; + task->tData3 = 0; + + task->tState++; + return TRUE; +} + +static bool8 Phase2_Mugshot_Func9(struct Task *task) +{ + sTransitionStructPtr->VBlank_DMA = FALSE; + + task->tData3++; + memset(gScanlineEffectRegBuffers[0], task->tData3, 0x140); + if (task->tData3 > 15) + task->tState++; + + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +static bool8 Phase2_Mugshot_Func10(struct Task *task) +{ + DmaStop(0); + sub_8149F84(); + DestroyTask(FindTaskIdByFunc(task->func)); + return FALSE; +} + +static void VBlankCB0_Phase2_Mugshots(void) +{ + DmaStop(0); + VBlankCB_BattleTransition(); + if (sTransitionStructPtr->VBlank_DMA != 0) + DmaCopy16(3, gScanlineEffectRegBuffers[0], gScanlineEffectRegBuffers[1], 320); + REG_BG0VOFS = sTransitionStructPtr->BG0VOFS; + REG_WININ = sTransitionStructPtr->WININ; + REG_WINOUT = sTransitionStructPtr->WINOUT; + REG_WIN0V = sTransitionStructPtr->WIN0V; + DmaSet(0, gScanlineEffectRegBuffers[1], ®_WIN0H, 0xA2400001); +} + +static void VBlankCB1_Phase2_Mugshots(void) +{ + DmaStop(0); + VBlankCB_BattleTransition(); + if (sTransitionStructPtr->VBlank_DMA != 0) + DmaCopy16(3, gScanlineEffectRegBuffers[0], gScanlineEffectRegBuffers[1], 320); + REG_BLDCNT = sTransitionStructPtr->BLDCNT; + DmaSet(0, gScanlineEffectRegBuffers[1], ®_BLDY, 0xA2400001); +} + +static void HBlankCB_Phase2_Mugshots(void) +{ + if (REG_VCOUNT < 80) + REG_BG0HOFS = sTransitionStructPtr->BG0HOFS_1; + else + REG_BG0HOFS = sTransitionStructPtr->BG0HOFS_2; +} + +static void Mugshots_CreateOpponentPlayerSprites(struct Task *task) +{ + struct Sprite *opponentSprite, *playerSprite; + + s16 mugshotId = task->tMugshotId; + task->tOpponentSpriteId = CreateTrainerSprite(sMugshotsTrainerPicIDsTable[mugshotId], + sMugshotsOpponentCoords[mugshotId][0] - 32, + sMugshotsOpponentCoords[mugshotId][1] + 42, + 0, gDecompressionBuffer); + task->tPlayerSpriteId = CreateTrainerSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), 272, 106, 0, gDecompressionBuffer); + + opponentSprite = &gSprites[task->tOpponentSpriteId]; + playerSprite = &gSprites[task->tPlayerSpriteId]; + + opponentSprite->callback = sub_8148380; + playerSprite->callback = sub_8148380; + + opponentSprite->oam.affineMode = 3; + playerSprite->oam.affineMode = 3; + + opponentSprite->oam.matrixNum = AllocOamMatrix(); + playerSprite->oam.matrixNum = AllocOamMatrix(); + + opponentSprite->oam.shape = 1; + playerSprite->oam.shape = 1; + + opponentSprite->oam.size = 3; + playerSprite->oam.size = 3; + + CalcCenterToCornerVec(opponentSprite, 1, 3, 3); + CalcCenterToCornerVec(playerSprite, 1, 3, 3); + + SetOamMatrixRotationScaling(opponentSprite->oam.matrixNum, sMugshotsOpponentRotationScales[mugshotId][0], sMugshotsOpponentRotationScales[mugshotId][1], 0); + SetOamMatrixRotationScaling(playerSprite->oam.matrixNum, -512, 512, 0); +} + +static void sub_8148380(struct Sprite *sprite) +{ + while (sUnknown_085C8C24[sprite->data[0]](sprite)); +} + +static bool8 sub_81483A8(struct Sprite *sprite) +{ + return FALSE; +} + +static bool8 sub_81483AC(struct Sprite *sprite) +{ + s16 arr0[2]; + s16 arr1[2]; + + memcpy(arr0, sUnknown_085C8C40, sizeof(sUnknown_085C8C40)); + memcpy(arr1, sUnknown_085C8C44, sizeof(sUnknown_085C8C44)); + + sprite->data[0]++; + sprite->data[1] = arr0[sprite->data[7]]; + sprite->data[2] = arr1[sprite->data[7]]; + return TRUE; +} + +static bool8 sub_81483F8(struct Sprite *sprite) +{ + sprite->pos1.x += sprite->data[1]; + if (sprite->data[7] && sprite->pos1.x < 133) + sprite->data[0]++; + else if (!sprite->data[7] && sprite->pos1.x > 103) + sprite->data[0]++; + return FALSE; +} + +static bool8 sub_814842C(struct Sprite *sprite) +{ + sprite->data[1] += sprite->data[2]; + sprite->pos1.x += sprite->data[1]; + if (sprite->data[1] == 0) + { + sprite->data[0]++; + sprite->data[2] = -sprite->data[2]; + sprite->data[6] = 1; + } + return FALSE; +} + +static bool8 sub_8148458(struct Sprite *sprite) +{ + sprite->data[1] += sprite->data[2]; + sprite->pos1.x += sprite->data[1]; + if (sprite->pos1.x < -31 || sprite->pos1.x > 271) + sprite->data[0]++; + return FALSE; +} + +static void sub_8148484(s16 spriteId, s16 value) +{ + gSprites[spriteId].data[7] = value; +} + +static void sub_814849C(s16 spriteId) +{ + gSprites[spriteId].data[0]++; +} + +static s16 sub_81484B8(s16 spriteId) +{ + return gSprites[spriteId].data[6]; +} + +static void Phase2Task_Slice(u8 taskId) +{ + while (sPhase2_Slice_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 Phase2_Slice_Func1(struct Task *task) +{ + u16 i; + + sub_8149F08(); + ScanlineEffect_Clear(); + + task->tData2 = 256; + task->tData3 = 1; + sTransitionStructPtr->WININ = 63; + sTransitionStructPtr->WINOUT = 0; + sTransitionStructPtr->WIN0V = 160; + sTransitionStructPtr->VBlank_DMA = FALSE; + + for (i = 0; i < 160; i++) + { + gScanlineEffectRegBuffers[1][i] = sTransitionStructPtr->field_14; + gScanlineEffectRegBuffers[1][160 + i] = 0xF0; + } + + EnableInterrupts(INTR_FLAG_HBLANK); + SetGpuRegBits(REG_OFFSET_DISPSTAT, DISPSTAT_HBLANK_INTR); + + SetVBlankCallback(VBlankCB_Phase2_Slice); + SetHBlankCallback(HBlankCB_Phase2_Slice); + + task->tState++; + return TRUE; +} + +static bool8 Phase2_Slice_Func2(struct Task *task) +{ + u16 i; + + sTransitionStructPtr->VBlank_DMA = FALSE; + + task->tData1 += (task->tData2 >> 8); + if (task->tData1 > 0xF0) + task->tData1 = 0xF0; + if (task->tData2 <= 0xFFF) + task->tData2 += task->tData3; + if (task->tData3 < 128) + task->tData3 <<= 1; // multiplying by two + + for (i = 0; i < 160; i++) + { + u16 *storeLoc1 = &gScanlineEffectRegBuffers[0][i]; + u16 *storeLoc2 = &gScanlineEffectRegBuffers[0][i + 160]; + if (i & 1) + { + *storeLoc1 = sTransitionStructPtr->field_14 + task->tData1; + *storeLoc2 = 0xF0 - task->tData1; + } + else + { + *storeLoc1 = sTransitionStructPtr->field_14 - task->tData1; + *storeLoc2 = (task->tData1 << 8) | (0xF1); + } + } + + if (task->tData1 > 0xEF) + task->tState++; + + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +static bool8 Phase2_Slice_Func3(struct Task *task) +{ + DmaStop(0); + sub_8149F84(); + DestroyTask(FindTaskIdByFunc(Phase2Task_Slice)); + return FALSE; +} + +static void VBlankCB_Phase2_Slice(void) +{ + DmaStop(0); + VBlankCB_BattleTransition(); + REG_WININ = sTransitionStructPtr->WININ; + REG_WINOUT = sTransitionStructPtr->WINOUT; + REG_WIN0V = sTransitionStructPtr->WIN0V; + if (sTransitionStructPtr->VBlank_DMA) + DmaCopy16(3, gScanlineEffectRegBuffers[0], gScanlineEffectRegBuffers[1], 640); + DmaSet(0, &gScanlineEffectRegBuffers[1][160], ®_WIN0H, 0xA2400001); +} + +static void HBlankCB_Phase2_Slice(void) +{ + if (REG_VCOUNT < 160) + { + u16 var = gScanlineEffectRegBuffers[1][REG_VCOUNT]; + REG_BG1HOFS = var; + REG_BG2HOFS = var; + REG_BG3HOFS = var; + } +} + +static void Phase2Task_ShredSplit(u8 taskId) +{ + while (sPhase2_ShredSplit_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 Phase2_ShredSplit_Func1(struct Task *task) +{ + u16 i; + + sub_8149F08(); + ScanlineEffect_Clear(); + + sTransitionStructPtr->WININ = 63; + sTransitionStructPtr->WINOUT = 0; + sTransitionStructPtr->WIN0V = 160; + + for (i = 0; i < 0xA0; i++) + { + gScanlineEffectRegBuffers[1][i] = sTransitionStructPtr->field_14; + gScanlineEffectRegBuffers[1][0xA0 + i] = 0xF0; + gScanlineEffectRegBuffers[0][i] = sTransitionStructPtr->field_14; + gScanlineEffectRegBuffers[0][0xA0 + i] = 0xF0; + gScanlineEffectRegBuffers[0][0x140 + i] = 0; + gScanlineEffectRegBuffers[0][0x1E0 + i] = 0x100; + gScanlineEffectRegBuffers[0][0x280 + i] = 1; + } + + task->tData4 = 0; + task->tData5 = 0; + task->tData6 = 7; + + EnableInterrupts(INTR_FLAG_HBLANK); + + SetVBlankCallback(VBlankCB_Phase2_Slice); + SetHBlankCallback(HBlankCB_Phase2_Slice); + + task->tState++; + return TRUE; +} + +static bool8 Phase2_ShredSplit_Func2(struct Task *task) +{ + u16 i, j, k; + u8 arr1[ARRAY_COUNT(gUnknown_085C8C64)]; + s16 arr2[ARRAY_COUNT(gUnknown_085C8C66)]; + u8 var; + u16 *ptr4, *ptr3, *ptr1, *ptr2; + s16 unkVar; + + memcpy(arr1, gUnknown_085C8C64, sizeof(arr1)); + memcpy(arr2, gUnknown_085C8C66, sizeof(arr2)); + + sTransitionStructPtr->VBlank_DMA = FALSE; + var = 0; + + for (i = 0; i <= task->tData5; i++) + { + for (j = 0; j < 2; j++) + { + for (k = 0; k < 2; k++) + { + unkVar = (arr1[j]) + (arr2[k] * -(i) * 2); + if (unkVar >= 0 && (unkVar != 79 || j != 1)) + { + ptr4 = &gScanlineEffectRegBuffers[0][unkVar + 320]; + ptr3 = &gScanlineEffectRegBuffers[0][unkVar + 480]; + ptr1 = &gScanlineEffectRegBuffers[0][unkVar + 640]; + if (*ptr4 > 0xEF) + { + *ptr4 = 0xF0; + var++; + } + else + { + *ptr4 += (*ptr3 >> 8); + if (*ptr1 <= 0x7F) + *ptr1 *= 2; + if (*ptr3 <= 0xFFF) + *ptr3 += *ptr1; + } + ptr2 = &gScanlineEffectRegBuffers[0][unkVar]; + ptr3 = &gScanlineEffectRegBuffers[0][unkVar + 160]; + *ptr2 = sTransitionStructPtr->field_14 + *ptr4; + *ptr3 = 0xF0 - *ptr4; + + if (i == 0) + break; + } + } + } + + for (j = 0; j < 2; j++) + { + for (k = 0; k < 2; k++) + { + unkVar = (arr1[j] + 1) + (arr2[k] * -(i) * 2); + if (unkVar <= 160 && (unkVar != 80 || j != 1)) + { + ptr4 = &gScanlineEffectRegBuffers[0][unkVar + 320]; + ptr3 = &gScanlineEffectRegBuffers[0][unkVar + 480]; + ptr1 = &gScanlineEffectRegBuffers[0][unkVar + 640]; + if (*ptr4 > 0xEF) + { + *ptr4 = 0xF0; + var++; + } + else + { + *ptr4 += (*ptr3 >> 8); + if (*ptr1 <= 0x7F) + *ptr1 *= 2; + if (*ptr3 <= 0xFFF) + *ptr3 += *ptr1; + } + ptr2 = &gScanlineEffectRegBuffers[0][unkVar]; + ptr3 = &gScanlineEffectRegBuffers[0][unkVar + 160]; + *ptr2 = sTransitionStructPtr->field_14 - *ptr4; + *ptr3 = (*ptr4 << 8) | (0xF1); + + if (i == 0) + break; + } + } + } + } + + if (--task->tData4 < 0) + task->tData4 = 0; + if (task->tData4 <= 0 && task->tData5 + 1 <= 20) + task->tData4 = task->tData6, task->tData5++; + if (var > 0x9F) + task->tState++; + + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +// This function never increments the state counter, because the loop condition +// is always false, resulting in the game being stuck in an infinite loop. +// It's possible this transition is only partially +// done and the second part was left out. +static bool8 Phase2_ShredSplit_Func3(struct Task *task) +{ + u16 i; + bool32 done = TRUE; + u16 checkVar2 = 0xFF10; + + for (i = 0; i < 0xA0; i++) + { + if (gScanlineEffectRegBuffers[1][i] != 0xF0 && gScanlineEffectRegBuffers[1][i] != checkVar2) + done = FALSE; // a break statement should be put here + } + + if (done == TRUE) + task->tState++; + + return FALSE; +} + +static bool8 Phase2_ShredSplit_Func4(struct Task *task) +{ + DmaStop(0); + sub_8149F84(); + DestroyTask(FindTaskIdByFunc(Phase2Task_ShredSplit)); + return FALSE; +} + +static void Phase2Task_Blackhole1(u8 taskId) +{ + while (sPhase2_Blackhole1_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static void Phase2Task_Blackhole2(u8 taskId) +{ + while (sPhase2_Blackhole2_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 Phase2_Blackhole_Func1(struct Task *task) +{ + s32 i; + + sub_8149F08(); + ScanlineEffect_Clear(); + + sTransitionStructPtr->WININ = 0; + sTransitionStructPtr->WINOUT = 63; + sTransitionStructPtr->WIN0H = 240; + sTransitionStructPtr->WIN0V = 160; + + for (i = 0; i < 0xA0; i++) + { + gScanlineEffectRegBuffers[1][i] = 0; + } + + SetVBlankCallback(VBlankCB1_Phase2_BigPokeball); + + task->tState++; + task->tData1 = 1; + task->tData2 = 0x100; + task->tFuncState = 0; + + return FALSE; +} + +static bool8 Phase2_Blackhole1_Func3(struct Task *task) +{ + if (task->tFuncState == 1) + { + DmaStop(0); + SetVBlankCallback(NULL); + DestroyTask(FindTaskIdByFunc(task->func)); + } + else + { + sTransitionStructPtr->VBlank_DMA = FALSE; + if (task->tData2 < 0x400) + task->tData2 += 0x80; + if (task->tData1 < 0xA0) + task->tData1 += (task->tData2 >> 8); + if (task->tData1 > 0xA0) + task->tData1 = 0xA0; + sub_814A014(gScanlineEffectRegBuffers[0], 0x78, 0x50, task->tData1); + if (task->tData1 == 0xA0) + { + task->tFuncState = 1; + sub_8149F84(); + } + else + { + sTransitionStructPtr->VBlank_DMA++; + } + } + + return FALSE; +} + +static bool8 Phase2_Blackhole1_Func2(struct Task *task) +{ + sTransitionStructPtr->VBlank_DMA = FALSE; + if (task->tFuncState == 0) + { + task->tFuncState++; + task->tData1 = 0x30; + task->tData6 = 0; + } + task->tData1 += gUnknown_085C8C80[task->tData6]; + task->tData6 = (task->tData6 + 1) % 2; + sub_814A014(gScanlineEffectRegBuffers[0], 0x78, 0x50, task->tData1); + if (task->tData1 < 9) + { + task->tState++; + task->tFuncState = 0; + } + + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +static bool8 Phase2_Blackhole2_Func2(struct Task *task) +{ + u16 index; // should be s16 I think + s16 amplitude; + + sTransitionStructPtr->VBlank_DMA = FALSE; + if (task->tFuncState == 0) + { + task->tFuncState++; + task->tData5 = 2; + task->tData6 = 2; + } + if (task->tData1 > 0xA0) + task->tData1 = 0xA0; + + sub_814A014(gScanlineEffectRegBuffers[0], 0x78, 0x50, task->tData1); + if (task->tData1 == 0xA0) + { + DmaStop(0); + sub_8149F84(); + DestroyTask(FindTaskIdByFunc(task->func)); + } + + index = task->tData5; + if ((task->tData5 & 0xFF) <= 128) + { + amplitude = task->tData6; + task->tData5 += 8; + } + else + { + amplitude = task->tData6 - 1; + task->tData5 += 16; + } + task->tData1 += Sin(index & 0xFF, amplitude); + + if (task->tData1 <= 0) + task->tData1 = 1; + if (task->tData5 > 0xFE) + task->tData5 >>= 8, task->tData6++; + + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +static void Phase2Task_RectangularSpiral(u8 taskId) +{ + while (sPhase2_RectangularSpiral_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 Phase2_RectangularSpiral_Func1(struct Task *task) +{ + u16 *dst1, *dst2; + + sub_8149F58(&dst1, &dst2); + CpuCopy16(sShrinkingBoxTileset, dst2, 0x20); + CpuCopy16(sShrinkingBoxTileset + 0x70, dst2 + 0x20, 0x20); + CpuFill16(0xF000, dst1, 0x800); + LoadPalette(gFieldEffectObjectPalette10, 0xF0, 0x20); + + task->tData3 = 1; + task->tState++; + + sRectangularSpiralTransition[0].field_0 = 0; + sRectangularSpiralTransition[0].field_2 = -1; + sRectangularSpiralTransition[0].field_4 = 1; + sRectangularSpiralTransition[0].field_6 = 308; + sRectangularSpiralTransition[0].field_8 = 0; + + sRectangularSpiralTransition[1].field_0 = 0; + sRectangularSpiralTransition[1].field_2 = -1; + sRectangularSpiralTransition[1].field_4 = 1; + sRectangularSpiralTransition[1].field_6 = 308; + sRectangularSpiralTransition[1].field_8 = 0; + + sRectangularSpiralTransition[2].field_0 = 0; + sRectangularSpiralTransition[2].field_2 = -3; + sRectangularSpiralTransition[2].field_4 = 1; + sRectangularSpiralTransition[2].field_6 = 307; + sRectangularSpiralTransition[2].field_8 = 0; + + sRectangularSpiralTransition[3].field_0 = 0; + sRectangularSpiralTransition[3].field_2 = -3; + sRectangularSpiralTransition[3].field_4 = 1; + sRectangularSpiralTransition[3].field_6 = 307; + sRectangularSpiralTransition[3].field_8 = 0; + + return FALSE; +} + +static bool8 Phase2_RectangularSpiral_Func2(struct Task *task) +{ + u16 *dst1, *dst2; + u8 i; + u16 j; + bool32 done = TRUE; + + sub_8149F58(&dst1, &dst2); + + for (i = 0; i < 2; i++) + { + for (j = 0; j < ARRAY_COUNT(sRectangularSpiralTransition); j++) + { + s16 var = 0, var2 = 0; + s32 var3 = 0; + + if (sub_8149048(gUnknown_085C8D38[j / 2], &sRectangularSpiralTransition[j])) + { + u32 one; + done = FALSE; + var = sRectangularSpiralTransition[j].field_2; + one = 1; + if ((j & 1) == one) + var = 0x27D - var; + + var2 = var % 32; + var3 = var / 32 * 32; + + dst1[var3 + var2] = 0xF002; + } + } + } + + if (done == TRUE) + task->tState++; + return FALSE; +} + +static bool8 Phase2_RectangularSpiral_Func3(struct Task *task) +{ + DmaStop(0); + sub_8149F84(); + DestroyTask(FindTaskIdByFunc(task->func)); + return FALSE; +} + +static bool16 sub_8149048(const s16 * const *arg0, struct StructRectangularSpiral *arg1) +{ + const s16 *array = arg0[arg1->field_0]; + if (array[arg1->field_4] == -1) + return FALSE; + + // ?? + sUnusedRectangularSpiralVar = array[0]; + sUnusedRectangularSpiralVar = array[1]; + sUnusedRectangularSpiralVar = array[2]; + sUnusedRectangularSpiralVar = array[3]; + + switch (array[0]) + { + case 1: + arg1->field_2 += 0x1; + break; + case 2: + arg1->field_2 -= 0x1; + break; + case 3: + arg1->field_2 -= 0x20; + break; + case 4: + arg1->field_2 += 0x20; + break; + } + + if (arg1->field_2 > 0x27F || array[arg1->field_4] == -1) + return FALSE; + + if (arg1->field_8 == 0 && array[arg1->field_4] == -2) + { + arg1->field_8 = 1; + arg1->field_4 = 1; + arg1->field_2 = arg1->field_6; + arg1->field_0 = 4; + } + + if (arg1->field_2 == array[arg1->field_4]) + { + (arg1->field_0)++; + if (arg1->field_8 == 1) + { + if (arg1->field_0 > 7) + { + (arg1->field_4)++; + (arg1->field_0) = 4; + } + } + else + { + if (arg1->field_0 > 3) + { + (arg1->field_4)++; + (arg1->field_0) = 0; + } + } + } + + return TRUE; +} + +static void Phase2Task_Groudon(u8 taskId) +{ + while (sPhase2_Groudon_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 Phase2_Groudon_Func3(struct Task *task) +{ + u16 *dst1, *dst2; + + sub_8149F58(&dst1, &dst2); + CpuFill16(0, dst1, 0x800); + LZ77UnCompVram(gUnknown_085BE51C, dst2); + LZ77UnCompVram(gUnknown_085BEA88, dst1); + + task->tState++; + task->tData1 = 0; + return FALSE; +} + +static bool8 Phase2_Groudon_Func4(struct Task *task) +{ + if (task->tData1 % 3 == 0) + { + u16 var = (task->tData1 % 30) / 3; + LoadPalette(gUnknown_085BF0A0 + (var * 16), 0xF0, 0x20); + } + if (++task->tData1 > 58) + { + task->tState++; + task->tData1 = 0; + } + + return FALSE; +} + +static bool8 Phase2_Groudon_Func5(struct Task *task) +{ + if (task->tData1 % 5 == 0) + { + s16 var = task->tData1 / 5; + LoadPalette(gUnknown_085BF2A0 + (var * 16), 0xF0, 0x20); + } + if (++task->tData1 > 68) + { + task->tState++; + task->tData1 = 0; + task->tFrames = 30; + } + + return FALSE; +} + +static void Phase2Task_Rayquaza(u8 taskId) +{ + while (sPhase2_Rayquaza_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 Phase2_Rayquaza_Func3(struct Task *task) +{ + u16 *dst1, *dst2; + u16 i; + + sub_8149F08(); + ScanlineEffect_Clear(); + + SetGpuReg(REG_OFFSET_BG0CNT, 0x9A08); + sub_8149F58(&dst1, &dst2); + CpuFill16(0, dst1, 0x800); + CpuCopy16(gUnknown_085BF6A0, dst2, 0x2000); + + sTransitionStructPtr->field_20 = 0; + task->tState++; + LoadPalette(gUnknown_085BF4A0 + 0x50, 0xF0, 0x20); + + for (i = 0; i < 160; i++) + { + gScanlineEffectRegBuffers[0][i] = 0; + gScanlineEffectRegBuffers[1][i] = 0x100; + } + + SetVBlankCallback(VBlankCB_Phase2_Rayquaza); + return FALSE; +} + +static bool8 Phase2_Rayquaza_Func4(struct Task *task) +{ + u16 *dst1, *dst2; + + sub_8149F58(&dst1, &dst2); + CpuCopy16(gUnknown_085C6BE0, dst1, 0x1000); + task->tState++; + return FALSE; +} + +static bool8 Phase2_Rayquaza_Func5(struct Task *task) +{ + if ((task->tData1 % 4) == 0) + { + u16 value = task->tData1 / 4; + const u16 *palPtr = &gUnknown_085BF4A0[(value + 5) * 16]; + LoadPalette(palPtr, 0xF0, 0x20); + } + if (++task->tData1 > 40) + { + task->tState++; + task->tData1 = 0; + } + + return FALSE; +} + +static bool8 Phase2_Rayquaza_Func6(struct Task *task) +{ + if (++task->tData1 > 20) + { + task->tState++; + task->tData1 = 0; + BeginNormalPaletteFade(0xFFFF8000, 2, 0, 0x10, 0); + } + + return FALSE; +} + +static bool8 Phase2_Rayquaza_Func7(struct Task *task) +{ + if (!gPaletteFade.active) + { + sTransitionStructPtr->field_20 = 1; + task->tState++; + } + + return FALSE; +} + +static bool8 Phase2_Rayquaza_Func8(struct Task *task) +{ + BlendPalettes(0x00007FFF, 8, 0); + BlendPalettes(0xFFFF8000, 0, 0); + + task->tState++; + return FALSE; +} + +static bool8 Phase2_Rayquaza_Func9(struct Task *task) +{ + if ((task->tData1 % 3) == 0) + { + u16 value = task->tData1 / 3; + const u16 *palPtr = &gUnknown_085BF4A0[(value + 0) * 16]; + LoadPalette(palPtr, 0xF0, 0x20); + } + if (++task->tData1 >= 40) + { + u16 i; + + sTransitionStructPtr->WININ = 0; + sTransitionStructPtr->WINOUT = 63; + sTransitionStructPtr->WIN0H = 240; + sTransitionStructPtr->WIN0V = 160; + + for (i = 0; i < 160; i++) + { + gScanlineEffectRegBuffers[1][i] = 0; + } + + SetVBlankCallback(VBlankCB1_Phase2_BigPokeball); + task->tState++; + task->tData2 = 0x100; + task->tFuncState = 0; + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG0_ON); + } + + return FALSE; +} + +static void VBlankCB_Phase2_Rayquaza(void) +{ + void *dmaSrc; + + DmaStop(0); + VBlankCB_BattleTransition(); + + if (sTransitionStructPtr->field_20 == 0) + dmaSrc = gScanlineEffectRegBuffers[0]; + else if (sTransitionStructPtr->field_20 == 1) + dmaSrc = gScanlineEffectRegBuffers[1]; + else + dmaSrc = gScanlineEffectRegBuffers[0]; + + DmaSet(0, dmaSrc, ®_BG0VOFS, 0xA2400001); +} + +static void Phase2Task_WhiteFade(u8 taskId) +{ + while (sPhase2_WhiteFade_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 Phase2_WhiteFade_Func1(struct Task *task) +{ + u16 i; + + sub_8149F08(); + ScanlineEffect_Clear(); + + sTransitionStructPtr->BLDCNT = 0xBF; + sTransitionStructPtr->BLDY = 0; + sTransitionStructPtr->WININ = 0x1E; + sTransitionStructPtr->WINOUT = 0x3F; + sTransitionStructPtr->WIN0V = 0xA0; + + for (i = 0; i < 160; i++) + { + gScanlineEffectRegBuffers[1][i] = 0; + gScanlineEffectRegBuffers[1][i + 160] = 0xF0; + } + + EnableInterrupts(INTR_FLAG_HBLANK); + SetHBlankCallback(HBlankCB_Phase2_WhiteFade); + SetVBlankCallback(VBlankCB0_Phase2_WhiteFade); + + task->tState++; + return FALSE; +} + +static bool8 Phase2_WhiteFade_Func2(struct Task *task) +{ + s16 i, posY; + s16 arr1[ARRAY_COUNT(sUnknown_085C8DA0)]; + struct Sprite *sprite; + + memcpy(arr1, sUnknown_085C8DA0, sizeof(sUnknown_085C8DA0)); + for (i = 0, posY = 0; i < 8; i++, posY += 0x14) + { + sprite = &gSprites[CreateInvisibleSprite(sub_8149864)]; + sprite->pos1.x = 0xF0; + sprite->pos1.y = posY; + sprite->data[5] = arr1[i]; + } + sprite->data[6]++; + + task->tState++; + return FALSE; +} + +static bool8 Phase2_WhiteFade_Func3(struct Task *task) +{ + sTransitionStructPtr->VBlank_DMA = 0; + if (sTransitionStructPtr->field_20 > 7) + { + BlendPalettes(-1, 0x10, 0x7FFF); + task->tState++; + } + return FALSE; +} + +static bool8 Phase2_WhiteFade_Func4(struct Task *task) +{ + sTransitionStructPtr->VBlank_DMA = 0; + + DmaStop(0); + SetVBlankCallback(0); + SetHBlankCallback(0); + + sTransitionStructPtr->WIN0H = 0xF0; + sTransitionStructPtr->BLDY = 0; + sTransitionStructPtr->BLDCNT = 0xFF; + sTransitionStructPtr->WININ = 0x3F; + + SetVBlankCallback(VBlankCB1_Phase2_WhiteFade); + + task->tState++; + return FALSE; +} + +static bool8 Phase2_WhiteFade_Func5(struct Task *task) +{ + if (++sTransitionStructPtr->BLDY > 16) + { + sub_8149F84(); + DestroyTask(FindTaskIdByFunc(Phase2Task_WhiteFade)); + } + return FALSE; +} + +static void VBlankCB0_Phase2_WhiteFade(void) +{ + DmaStop(0); + VBlankCB_BattleTransition(); + REG_BLDCNT = sTransitionStructPtr->BLDCNT; + REG_WININ = sTransitionStructPtr->WININ; + REG_WINOUT = sTransitionStructPtr->WINOUT; + REG_WIN0V = sTransitionStructPtr->WIN0V; + if (sTransitionStructPtr->VBlank_DMA) + DmaCopy16(3, gScanlineEffectRegBuffers[0], gScanlineEffectRegBuffers[1], 640); + DmaSet(0, &gScanlineEffectRegBuffers[1][160], ®_WIN0H, 0xA2400001); +} + +static void VBlankCB1_Phase2_WhiteFade(void) +{ + VBlankCB_BattleTransition(); + REG_BLDY = sTransitionStructPtr->BLDY; + REG_BLDCNT = sTransitionStructPtr->BLDCNT; + REG_WININ = sTransitionStructPtr->WININ; + REG_WINOUT = sTransitionStructPtr->WINOUT; + REG_WIN0H = sTransitionStructPtr->WIN0H; + REG_WIN0V = sTransitionStructPtr->WIN0V; +} + +static void HBlankCB_Phase2_WhiteFade(void) +{ + REG_BLDY = gScanlineEffectRegBuffers[1][REG_VCOUNT]; +} + +static void sub_8149864(struct Sprite *sprite) +{ + if (sprite->data[5]) + { + sprite->data[5]--; + if (sprite->data[6]) + sTransitionStructPtr->VBlank_DMA = 1; + } + else + { + u16 i; + u16* ptr1 = &gScanlineEffectRegBuffers[0][sprite->pos1.y]; + u16* ptr2 = &gScanlineEffectRegBuffers[0][sprite->pos1.y + 160]; + for (i = 0; i < 20; i++) + { + ptr1[i] = sprite->data[0] >> 8; + ptr2[i] = (u8)(sprite->pos1.x); + } + if (sprite->pos1.x == 0 && sprite->data[0] == 0x1000) + sprite->data[1] = 1; + + sprite->pos1.x -= 16; + sprite->data[0] += 0x80; + + if (sprite->pos1.x < 0) + sprite->pos1.x = 0; + if (sprite->data[0] > 0x1000) + sprite->data[0] = 0x1000; + + if (sprite->data[6]) + sTransitionStructPtr->VBlank_DMA = 1; + + if (sprite->data[1]) + { + if (sprite->data[6] == 0 || (sTransitionStructPtr->field_20 > 6 && sprite->data[2]++ > 7)) + { + sTransitionStructPtr->field_20++; + DestroySprite(sprite); + } + } + } +} + +static void Phase2Task_GridSquares(u8 taskId) +{ + while (sPhase2_GridSquares_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 Phase2_GridSquares_Func1(struct Task *task) +{ + u16 *dst1, *dst2; + + sub_8149F58(&dst1, &dst2); + CpuSet(sShrinkingBoxTileset, dst2, 0x10); + CpuFill16(0xF000, dst1, 0x800); + LoadPalette(gFieldEffectObjectPalette10, 0xF0, 0x20); + + task->tState++; + return FALSE; +} + +static bool8 Phase2_GridSquares_Func2(struct Task *task) +{ + u16* dst1; + + if (task->tData1 == 0) + { + sub_8149F40(&dst1); + task->tData1 = 3; + task->tData2++; + CpuSet(sShrinkingBoxTileset + (task->tData2 * 8), dst1, 0x10); + if (task->tData2 > 0xD) + { + task->tState++; + task->tData1 = 16; + } + } + + task->tData1--; + return FALSE; +} + +static bool8 Phase2_GridSquares_Func3(struct Task *task) +{ + if (--task->tData1 == 0) + { + sub_8149F84(); + DestroyTask(FindTaskIdByFunc(Phase2Task_GridSquares)); + } + return FALSE; +} + +static void Phase2Task_Shards(u8 taskId) +{ + while (sPhase2_Shards_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 Phase2_Shards_Func1(struct Task *task) +{ + u16 i; + + sub_8149F08(); + ScanlineEffect_Clear(); + + sTransitionStructPtr->WININ = 0x3F; + sTransitionStructPtr->WINOUT = 0; + sTransitionStructPtr->WIN0V = 0xA0; + + for (i = 0; i < 160; i++) + { + gScanlineEffectRegBuffers[0][i] = 0xF0; + } + + CpuSet(gScanlineEffectRegBuffers[0], gScanlineEffectRegBuffers[1], 0xA0); + SetVBlankCallback(VBlankCB_Phase2_Shards); + + task->tState++; + return TRUE; +} + +static bool8 Phase2_Shards_Func2(struct Task *task) +{ + sub_814A1AC(sTransitionStructPtr->data, + sUnknown_085C8DD0[task->tData1][0], + sUnknown_085C8DD0[task->tData1][1], + sUnknown_085C8DD0[task->tData1][2], + sUnknown_085C8DD0[task->tData1][3], + 1, 1); + task->tData2 = sUnknown_085C8DD0[task->tData1][4]; + task->tState++; + return TRUE; +} + +static bool8 Phase2_Shards_Func3(struct Task *task) +{ + s16 i; + bool8 nextFunc; + + sTransitionStructPtr->VBlank_DMA = 0; + + for (i = 0, nextFunc = FALSE; i < 16; i++) + { + s16 r3 = gScanlineEffectRegBuffers[0][sTransitionStructPtr->data[3]] >> 8; + s16 r4 = gScanlineEffectRegBuffers[0][sTransitionStructPtr->data[3]] & 0xFF; + if (task->tData2 == 0) + { + if (r3 < sTransitionStructPtr->data[2]) + r3 = sTransitionStructPtr->data[2]; + if (r3 > r4) + r3 = r4; + } + else + { + if (r4 > sTransitionStructPtr->data[2]) + r4 = sTransitionStructPtr->data[2]; + if (r4 <= r3) + r4 = r3; + } + gScanlineEffectRegBuffers[0][sTransitionStructPtr->data[3]] = (r4) | (r3 << 8); + if (nextFunc) + { + task->tState++; + break; + } + else + nextFunc = sub_814A228(sTransitionStructPtr->data, 1, 1); + } + + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +static bool8 Phase2_Shards_Func4(struct Task *task) +{ + if (++task->tData1 < 7) + { + task->tState++; + task->tData3 = sUnknown_085C8E16[task->tData1 - 1]; + return TRUE; + } + else + { + DmaStop(0); + sub_8149F84(); + DestroyTask(FindTaskIdByFunc(Phase2Task_Shards)); + return FALSE; + } +} + +static bool8 Phase2_Shards_Func5(struct Task *task) +{ + if (--task->tData3 == 0) + { + task->tState = 1; + return TRUE; + } + else + return FALSE; +} + +static void VBlankCB_Phase2_Shards(void) +{ + DmaStop(0); + VBlankCB_BattleTransition(); + if (sTransitionStructPtr->VBlank_DMA) + DmaCopy16(3, gScanlineEffectRegBuffers[0], gScanlineEffectRegBuffers[1], 320); + REG_WININ = sTransitionStructPtr->WININ; + REG_WINOUT = sTransitionStructPtr->WINOUT; + REG_WIN0V = sTransitionStructPtr->WIN0V; + REG_WIN0H = gScanlineEffectRegBuffers[1][0]; + DmaSet(0, gScanlineEffectRegBuffers[1], ®_WIN0H, 0xA2400001); +} + +// sub-task for phase2 +#undef tData1 +#undef tData2 +#undef tData3 +#undef tData4 +#undef tData5 +#undef tData6 +#undef tFuncState +#undef tFrames +#undef tOpponentSpriteId +#undef tPlayerSpriteId +#undef tMugshotId + +// sub-task for sub-task phase +#define tData1 data[1] +#define tData2 data[2] +#define tData3 data[3] +#define tData4 data[4] +#define tData5 data[5] +#define tData6 data[6] +#define tData7 data[7] + +static void CreatePhase1Task(s16 a0, s16 a1, s16 a2, s16 a3, s16 a4) +{ + u8 taskId = CreateTask(TransitionPhase1_Task_RunFuncs, 3); + gTasks[taskId].tData1 = a0; + gTasks[taskId].tData2 = a1; + gTasks[taskId].tData3 = a2; + gTasks[taskId].tData4 = a3; + gTasks[taskId].tData5 = a4; + gTasks[taskId].tData6 = a0; +} + +static bool8 IsPhase1Done(void) +{ + if (FindTaskIdByFunc(TransitionPhase1_Task_RunFuncs) == 0xFF) + return TRUE; + else + return FALSE; +} + +void TransitionPhase1_Task_RunFuncs(u8 taskId) +{ + while (sPhase1_TransitionAll_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 Phase1_TransitionAll_Func1(struct Task *task) +{ + if (task->tData6 == 0 || --task->tData6 == 0) + { + task->tData6 = task->tData1; + task->tData7 += task->tData4; + if (task->tData7 > 16) + task->tData7 = 16; + BlendPalettes(-1, task->tData7, 0x2D6B); + } + if (task->tData7 > 15) + { + task->tState++; + task->tData6 = task->tData2; + } + return FALSE; +} + +static bool8 Phase1_TransitionAll_Func2(struct Task *task) +{ + if (task->tData6 == 0 || --task->tData6 == 0) + { + task->tData6 = task->tData2; + task->tData7 -= task->tData5; + if (task->tData7 < 0) + task->tData7 = 0; + BlendPalettes(-1, task->tData7, 0x2D6B); + } + if (task->tData7 == 0) + { + if (--task->tData3 == 0) + DestroyTask(FindTaskIdByFunc(TransitionPhase1_Task_RunFuncs)); + else + { + task->tData6 = task->tData1; + task->tState = 0; + } + } + return FALSE; +} + +#undef tData1 +#undef tData2 +#undef tData3 +#undef tData4 +#undef tData5 +#undef tData6 +#undef tData7 + +static void sub_8149F08(void) +{ + memset(sTransitionStructPtr, 0, sizeof(*sTransitionStructPtr)); + sub_8089C08(&sTransitionStructPtr->field_14, &sTransitionStructPtr->field_16); +} + +static void VBlankCB_BattleTransition(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void sub_8149F40(u16 **a0) +{ + u16 reg, *vram; + + reg = REG_BG0CNT >> 2; + reg <<= 0xE; + vram = (u16*)(VRAM + reg); + + *a0 = vram; +} + +void sub_8149F58(u16 **a0, u16 **a1) +{ + u16 reg0, reg1, *vram0, *vram1; + + reg0 = REG_BG0CNT >> 8; + reg1 = REG_BG0CNT >> 2; + + reg0 <<= 0xB; + reg1 <<= 0xE; + + vram0 = (u16*)(VRAM + reg0); + *a0 = vram0; + + vram1 = (u16*)(VRAM + reg1); + *a1 = vram1; +} + +static void sub_8149F84(void) +{ + BlendPalettes(-1, 0x10, 0); +} + +static void sub_8149F98(s16 *array, s16 sinAdd, s16 index, s16 indexIncrementer, s16 amplitude, s16 arrSize) +{ + u8 i; + for (i = 0; arrSize > 0; arrSize--, i++, index += indexIncrementer) + { + array[i] = sinAdd + Sin(0xFF & index, amplitude); + } +} + +static void sub_814A014(u16 *array, s16 a1, s16 a2, s16 a3) +{ + s16 i; + + memset(array, 0xA, 160 * sizeof(s16)); + for (i = 0; i < 64; i++) + { + s16 sinResult, cosResult; + s16 toStoreOrr, r2, r3, toStore, r7, r8; + + sinResult = Sin(i, a3); + cosResult = Cos(i, a3); + + toStoreOrr = a1 - sinResult; + toStore = a1 + sinResult; + r7 = a2 - cosResult; + r8 = a2 + cosResult; + + if (toStoreOrr < 0) + toStoreOrr = 0; + if (toStore > 0xF0) + toStore = 0xF0; + if (r7 < 0) + r7 = 0; + if (r8 > 0x9F) + r8 = 0x9F; + + toStore |= (toStoreOrr << 8); + array[r7] = toStore; + array[r8] = toStore; + + cosResult = Cos(i + 1, a3); + r3 = a2 - cosResult; + r2 = a2 + cosResult; + + if (r3 < 0) + r3 = 0; + if (r2 > 0x9F) + r2 = 0x9F; + + while (r7 > r3) + array[--r7] = toStore; + while (r7 < r3) + array[++r7] = toStore; + + while (r8 > r2) + array[--r8] = toStore; + while (r8 < r2) + array[++r8] = toStore; + } +} + +static void sub_814A1AC(s16 *data, s16 a1, s16 a2, s16 a3, s16 a4, s16 a5, s16 a6) +{ + data[0] = a1; + data[1] = a2; + data[2] = a1; + data[3] = a2; + data[4] = a3; + data[5] = a4; + data[6] = a5; + data[7] = a6; + data[8] = a3 - a1; + if (data[8] < 0) + { + data[8] = -data[8]; + data[6] = -a5; + } + data[9] = a4 - a2; + if (data[9] < 0) + { + data[9] = -data[9]; + data[7] = -a6; + } + data[10] = 0; +} + +static bool8 sub_814A228(s16 *data, bool8 a1, bool8 a2) +{ + u8 var; + if (data[8] > data[9]) + { + data[2] += data[6]; + data[10] += data[9]; + if (data[10] > data[8]) + { + data[3] += data[7]; + data[10] -= data[8]; + } + } + else + { + data[3] += data[7]; + data[10] += data[8]; + if (data[10] > data[9]) + { + data[2] += data[6]; + data[10] -= data[9]; + } + } + var = 0; + if ((data[6] > 0 && data[2] >= data[4]) || (data[6] < 0 && data[2] <= data[4])) + { + var++; + if (a1) + data[2] = data[4]; + } + if ((data[7] > 0 && data[3] >= data[5]) || (data[7] < 0 && data[3] <= data[5])) + { + var++; + if (a2) + data[3] = data[5]; + } + + if (var == 2) + return TRUE; + else + return FALSE; +} + +// sub-task for phase2 of a couple of new transitions +#define tData1 data[1] +#define tData2 data[2] +#define tData3 data[3] +#define tData4 data[4] +#define tData5 data[5] +#define tData6 data[6] +#define tData7 data[7] + +static bool8 Phase2_29_Func1(struct Task *task) +{ + u16 *dst1, *dst2; + + sub_814669C(task); + sub_8149F58(&dst1, &dst2); + CpuFill16(0, dst1, 0x800); + LZ77UnCompVram(gUnknown_085C7C00, dst2); + LoadPalette(gUnknown_085C7BE0, 0xF0, 0x20); + + task->tState++; + return FALSE; +} + +static bool8 Phase2_29_Func2(struct Task *task) +{ + u16 *dst1, *dst2; + + sub_8149F58(&dst1, &dst2); + LZ77UnCompVram(gUnknown_085C828C, dst1); + sub_8149F98(gScanlineEffectRegBuffers[0], 0, task->tData4, 0x84, task->tData5, 160); + + task->tState++; + return TRUE; +} + +static void Phase2Task_29(u8 taskId) +{ + while (sPhase2_29_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static void Phase2Task_30(u8 taskId) +{ + while (sPhase2_30_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 Phase2_30_Func1(struct Task *task) +{ + u16 *dst1, *dst2; + + sub_8149F08(); + ScanlineEffect_Clear(); + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_WIN1_ON); + task->tData2 = 0x2000; + task->tData1 = 0x7FFF; + task->tData5 = 0; + task->tData6 = 16; + task->tData7 = 2560; + sTransitionStructPtr->BLDCNT = 0x3F41; + sTransitionStructPtr->BLDALPHA = (task->tData6 << 8) | (task->tData5); + REG_BLDCNT = sTransitionStructPtr->BLDCNT; + REG_BLDALPHA = sTransitionStructPtr->BLDALPHA; + sub_8149F58(&dst1, &dst2); + CpuFill16(0, dst1, 0x800); + LZ77UnCompVram(gUnknown_085C7C00, dst2); + LoadPalette(gUnknown_085C7BE0, 0xF0, 0x20); + sTransitionStructPtr->field_16 = 0; + + task->tState++; + return FALSE; +} + +static bool8 Phase2_30_Func2(struct Task *task) +{ + u16 *dst1, *dst2; + + sub_8149F58(&dst1, &dst2); + LZ77UnCompVram(gUnknown_085C828C, dst1); + + task->tState++; + return TRUE; +} + +static bool8 Phase2_30_Func3(struct Task *task) +{ + u8 i; + + for (i = 0; i < 160; i++) + { + gScanlineEffectRegBuffers[1][i] = sTransitionStructPtr->field_16; + } + + SetVBlankCallback(VBlankCB_Phase2_30); + SetHBlankCallback(HBlankCB_Phase2_30); + EnableInterrupts(INTR_FLAG_HBLANK); + + task->tState++; + return TRUE; +} + +static bool8 Phase2_30_Func4(struct Task *task) +{ + u8 i; + u16 var6, amplitude, var8; + + sTransitionStructPtr->VBlank_DMA = FALSE; + + amplitude = task->tData2 >> 8; + var6 = task->tData1; + var8 = 384; + + task->tData1 = var6 - task->tData7; + + if (task->tData3 >= 70) + { + if (task->tData2 - 384 >= 0) + task->tData2 -= 384; + else + task->tData2 = 0; + } + + if (task->tData3 >= 0 && task->tData3 % 3 == 0) + { + if (task->tData5 < 16) + task->tData5++; + else if (task->tData6 > 0) + task->tData6--; + + sTransitionStructPtr->BLDALPHA = (task->tData6 << 8) | (task->tData5); + } + + for (i = 0; i < 160; i++, var6 += var8) + { + s16 index = var6 / 256; + asm(""); + gScanlineEffectRegBuffers[0][i] = sTransitionStructPtr->field_16 + Sin(index, amplitude); + } + + if (++task->tData3 == 101) + { + task->tData4++; + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + } + + if (task->tData4 != 0 && !gPaletteFade.active) + DestroyTask(FindTaskIdByFunc(Phase2Task_30)); + + task->tData7 -= 17; + sTransitionStructPtr->VBlank_DMA++; + return FALSE; +} + +static void VBlankCB_Phase2_30(void) +{ + VBlankCB_BattleTransition(); + REG_BLDCNT = sTransitionStructPtr->BLDCNT; + REG_BLDALPHA = sTransitionStructPtr->BLDALPHA; + + if (sTransitionStructPtr->VBlank_DMA) + DmaCopy16(3, gScanlineEffectRegBuffers[0], gScanlineEffectRegBuffers[1], 320); +} + +static void HBlankCB_Phase2_30(void) +{ + u16 var = gScanlineEffectRegBuffers[1][REG_VCOUNT]; + REG_BG0VOFS = var; +} + +static void Phase2Task_31(u8 taskId) +{ + while (sPhase2_31_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static void Phase2Task_33(u8 taskId) +{ + while (sPhase2_33_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static void Phase2Task_32(u8 taskId) +{ + while (sPhase2_32_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 Phase2_31_Func1(struct Task *task) +{ + u16 *dst1, *dst2; + + sub_8149F58(&dst1, &dst2); + LZ77UnCompVram(gUnknown_085C8598, dst2); + + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x20, 0x20); + FillBgTilemapBufferRect(0, 1, 0, 0, 1, 0x20, 0xF); + FillBgTilemapBufferRect(0, 1, 0x1D, 0, 1, 0x20, 0xF); + CopyBgTilemapBufferToVram(0); + LoadPalette(gUnknown_085C8578, 0xF0, 0x20); + + task->tData2 = 1; + task->tData3 = 0; + task->tData4 = 0; + task->tData7 = 10; + + task->tState++; + return FALSE; +} + +static bool8 Phase2_31_Func2(struct Task *task) +{ + CopyRectToBgTilemapBufferRect(0, gUnknown_085C8928, 0, 0, 4, 4, task->tData2, task->tData3, 4, 4, 0xF, 0, 0); + CopyBgTilemapBufferToVram(0); + + task->tData2 += 4; + if (++task->tData4 == 7) + { + task->tData2 = 1; + task->tData3 += 4; + task->tData4 = 0; + if (task->tData3 > 19) + task->tState++; + } + + return FALSE; +} + +static bool8 Phase2_31_Func3(struct Task *task) +{ + u8 i; + u16 *dst1, *dst2; + + sub_8149F58(&dst1, &dst2); + if (task->tData6++ >= task->tData7) + { + switch (task->tData5) + { + case 0: + for (i = 250; i < 255; i++) + { + gPlttBufferUnfaded[i] = 0; + gPlttBufferFaded[i] = 0; + } + break; + case 1: + BlendPalettes(0xFFFF7FFF, 0x10, 0); + LZ77UnCompVram(gUnknown_085C86F4, dst2); + break; + case 2: + LZ77UnCompVram(gUnknown_085C87F4, dst2); + break; + case 3: + LZ77UnCompVram(gUnknown_085C88A4, dst2); + break; + default: + FillBgTilemapBufferRect_Palette0(0, 1, 0, 0, 0x20, 0x20); + CopyBgTilemapBufferToVram(0); + task->tState++; + return FALSE; + } + + task->tData6 = 0; + task->tData5++; + } + + return FALSE; +} + +static bool8 Phase2_33_Func1(struct Task *task) +{ + u16 *dst1, *dst2; + + sub_8149F58(&dst1, &dst2); + LZ77UnCompVram(gUnknown_085C8598, dst2); + + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x20, 0x20); + FillBgTilemapBufferRect(0, 1, 0, 0, 1, 0x20, 0xF); + FillBgTilemapBufferRect(0, 1, 0x1D, 0, 1, 0x20, 0xF); + CopyBgTilemapBufferToVram(0); + LoadPalette(gUnknown_085C8578, 0xE0, 0x20); + LoadPalette(gUnknown_085C8578, 0xF0, 0x20); + BlendPalette(0xE0, 0x10, 8, 0); + + task->tData2 = 34; + task->tData3 = 0; + + task->tState++; + return FALSE; +} + +static bool8 Phase2_33_Func2(struct Task *task) +{ + u8 var = gUnknown_085C9A30[task->tData2]; + u8 varMod = var % 7; + u8 varDiv = var / 7; + CopyRectToBgTilemapBufferRect(0, &gUnknown_085C8928, 0, 0, 4, 4, 4 * varMod + 1, 4 * varDiv, 4, 4, 0xF, 0, 0); + CopyBgTilemapBufferToVram(0); + + if (--task->tData2 < 0) + task->tState++; + return FALSE; +} + +static bool8 Phase2_33_Func3(struct Task *task) +{ + BlendPalette(0xE0, 0x10, 3, 0); + BlendPalettes(0xFFFF3FFF, 0x10, 0); + + task->tData2 = 0; + task->tData3 = 0; + + task->tState++; + return FALSE; +} + +static bool8 Phase2_33_Func4(struct Task *task) +{ + if ((task->tData3 ^= 1)) + { + CopyRectToBgTilemapBufferRect( + 0, + gUnknown_085C8928, + 0, + 0, + 4, + 4, + 4 * (gUnknown_085C9A30[task->tData2] % 7) + 1, + 4 * (gUnknown_085C9A30[task->tData2] / 7), + 4, + 4, + 0xE, + 0, + 0); + } + else + { + if (task->tData2 > 0) + { + FillBgTilemapBufferRect( + 0, + 1, + 4 * (gUnknown_085C9A30[task->tData2 - 1] % 7) + 1, + 4 * (gUnknown_085C9A30[task->tData2 - 1] / 7), + 4, + 4, + 0xF); + } + + task->tData2++; + } + + if (task->tData2 > 34) + task->tState++; + + CopyBgTilemapBufferToVram(0); + return FALSE; +} + +static bool8 Phase2_31_33_Func5(struct Task *task) +{ + FillBgTilemapBufferRect_Palette0(0, 1, 0, 0, 0x20, 0x20); + CopyBgTilemapBufferToVram(0); + BlendPalettes(0xFFFFFFFF, 0x10, 0); + DestroyTask(FindTaskIdByFunc(task->func)); + return FALSE; +} + +// sub task for phase2 32 +#define tSub32_X_delta data[0] +#define tSub32_Y_delta data[1] +#define tSub32_Bool data[2] + +static void sub_814ABE4(u8 taskId) +{ + if (!(gTasks[taskId].tSub32_Bool ^= 1)) + { + SetGpuReg(REG_OFFSET_BG0VOFS, gBattle_BG0_X); + SetGpuReg(REG_OFFSET_BG0HOFS, gBattle_BG0_Y); + gBattle_BG0_X += gTasks[taskId].tSub32_X_delta; + gBattle_BG0_Y += gTasks[taskId].tSub32_Y_delta; + } +} + +static bool8 Phase2_32_Func1(struct Task *task) +{ + u8 taskId = 0; + u16 *dst1, *dst2; + + sub_8149F58(&dst1, &dst2); + LZ77UnCompVram(gUnknown_085C8598, dst2); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x20, 0x20); + CopyBgTilemapBufferToVram(0); + LoadPalette(gUnknown_085C8578, 0xF0, 0x20); + + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + SetGpuReg(REG_OFFSET_BG0VOFS, gBattle_BG0_X); + SetGpuReg(REG_OFFSET_BG0HOFS, gBattle_BG0_Y); + + task->tData2 = 0; + taskId = CreateTask(sub_814ABE4, 1); + switch (Random() % 4) + { + case 0: + gTasks[taskId].tSub32_X_delta = 1; + gTasks[taskId].tSub32_Y_delta = 1; + break; + case 1: + gTasks[taskId].tSub32_X_delta = -1; + gTasks[taskId].tSub32_Y_delta = -1; + break; + case 2: + gTasks[taskId].tSub32_X_delta = 1; + gTasks[taskId].tSub32_Y_delta = -1; + break; + default: + gTasks[taskId].tSub32_X_delta = -1; + gTasks[taskId].tSub32_Y_delta = 1; + break; + } + + task->tState++; + return FALSE; +} + +static bool8 Phase2_32_Func2(struct Task *task) +{ + u8 var = gUnknown_085C9A53[task->tData2]; + u8 varDiv = var / 8; + u8 varAnd = var & 7; + + CopyRectToBgTilemapBufferRect( + 0, + &gUnknown_085C8928, + 0, + 0, + 4, + 4, + 4 * varDiv + 1, + 4 * varAnd, + 4, + 4, + 0xF, + 0, + 0); + CopyBgTilemapBufferToVram(0); + + if (++task->tData2 > 63) + task->tState++; + return 0; +} + +static bool8 Phase2_32_Func3(struct Task *task) +{ + BlendPalettes(0xFFFF7FFF, 0x10, 0); + + task->tData2 = 0; + + task->tState++; + return FALSE; +} + +static bool8 Phase2_32_Func4(struct Task *task) +{ + u8 var = gUnknown_085C9A53[task->tData2]; + u8 varDiv = var / 8; + u8 varAnd = var & 7; + + FillBgTilemapBufferRect(0, 1, 4 * varDiv + 1, 4 * varAnd, 4, 4, 0xF); + CopyBgTilemapBufferToVram(0); + + if (++task->tData2 > 63) + { + DestroyTask(FindTaskIdByFunc(sub_814ABE4)); + task->tState++; + } + + return FALSE; +} + +#undef tSub32_X_delta +#undef tSub32_Y_delta +#undef tSub32_Bool + +static bool8 Phase2_32_Func5(struct Task *task) +{ + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + SetGpuReg(REG_OFFSET_BG0HOFS, gBattle_BG0_Y); + + FillBgTilemapBufferRect_Palette0(0, 1, 0, 0, 0x20, 0x20); + CopyBgTilemapBufferToVram(0); + BlendPalettes(0xFFFFFFFF, 0x10, 0); + + DestroyTask(FindTaskIdByFunc(task->func)); + task->tState++; // UB: changing value of a destroyed task + return FALSE; +} + +#undef tData1 +#undef tData2 +#undef tData3 +#undef tData4 +#undef tData5 +#undef tData6 +#undef tData7 diff --git a/src/battle_util.c b/src/battle_util.c index 468b2c46d1..ddd61ae19b 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -1,178 +1,31 @@ #include "global.h" #include "battle.h" -#include "abilities.h" -#include "moves.h" -#include "hold_effects.h" +#include "constants/battle_script_commands.h" +#include "constants/abilities.h" +#include "constants/moves.h" +#include "constants/hold_effects.h" +#include "constants/battle_anim.h" #include "pokemon.h" -#include "species.h" +#include "constants/species.h" #include "item.h" -#include "items.h" +#include "constants/items.h" #include "util.h" -#include "battle_move_effects.h" -#include "rng.h" +#include "constants/battle_move_effects.h" +#include "battle_scripts.h" +#include "random.h" #include "text.h" #include "string_util.h" #include "battle_message.h" +#include "constants/battle_string_ids.h" #include "battle_ai_script_commands.h" #include "battle_controllers.h" #include "event_data.h" #include "calculate_base_damage.h" #include "link.h" - -extern const u8* gBattlescriptCurrInstr; -extern const u8* gBattlescriptPtrsForSelection[BATTLE_BANKS_COUNT]; -extern const u8* gUnknown_02024230[BATTLE_BANKS_COUNT]; -extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; -extern u8 gActiveBank; -extern u8 gStringBank; -extern u16 gCurrentMove; -extern u16 gLastUsedItem; -extern u8 gNoOfAllBanks; -extern u32 gStatuses3[BATTLE_BANKS_COUNT]; -extern u8 gBankAttacker; -extern u8 gBankTarget; -extern u8 gAbsentBankFlags; -extern u16 gBattleWeather; -extern u8 gBanksByTurnOrder[BATTLE_BANKS_COUNT]; -extern u16 gSideAffecting[2]; -extern u8 gBattleCommunication[]; -extern void (*gBattleMainFunc)(void); -extern s32 gBattleMoveDamage; -extern struct BattleEnigmaBerry gEnigmaBerries[BATTLE_BANKS_COUNT]; -extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200]; -extern u32 gBattleTypeFlags; -extern u16 gLastUsedMovesByBanks[BATTLE_BANKS_COUNT]; -extern u32 gHitMarker; -extern u8 gEffectBank; -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; -extern u8 gBank1; -extern u16 gChosenMovesByBanks[BATTLE_BANKS_COUNT]; -extern u8 gBattleMoveFlags; -extern s32 gTakenDmg[BATTLE_BANKS_COUNT]; -extern u8 gTakenDmgBanks[BATTLE_BANKS_COUNT]; -extern u8 gLastUsedAbility; -extern u8 gCurrentActionFuncId; -extern u32 gBattleExecBuffer; -extern u16 gRandomMove; -extern u8 gCurrMovePos; -extern u8 gUnknown_020241E9; -extern u8 gSentPokesToOpponent[2]; +#include "berry.h" extern const struct BattleMove gBattleMoves[]; -// scripts -extern const u8 gUnknown_082DAE2A[]; -extern const u8 gUnknown_082DAE1F[]; -extern const u8 gUnknown_082DB089[]; -extern const u8 gUnknown_082DB098[]; -extern const u8 gUnknown_082DB0AF[]; -extern const u8 gUnknown_082DB0A0[]; -extern const u8 gUnknown_082DB185[]; -extern const u8 gUnknown_082DB181[]; -extern const u8 gUnknown_082DB812[]; -extern const u8 gUnknown_082DB076[]; -extern const u8 BattleScript_NoMovesLeft[]; -extern const u8 gUnknown_082DACFA[]; -extern const u8 gUnknown_082DAD0B[]; -extern const u8 gUnknown_082DACC9[]; -extern const u8 gUnknown_082DAC47[]; -extern const u8 gUnknown_082DACE0[]; -extern const u8 gUnknown_082DACD2[]; -extern const u8 BattleScript_WishComesTrue[]; -extern const u8 gUnknown_082DACC9[]; -extern const u8 gUnknown_082DAC2C[]; -extern const u8 BattleScript_IngrainTurnHeal[]; -extern const u8 BattleScript_LeechSeedTurnDrain[]; -extern const u8 BattleScript_PoisonTurnDmg[]; -extern const u8 BattleScript_BurnTurnDmg[]; -extern const u8 BattleScript_NightmareTurnDmg[]; -extern const u8 BattleScript_CurseTurnDmg[]; -extern const u8 BattleScript_WrapTurnDmg[]; -extern const u8 BattleScript_WrapEnds[]; -extern const u8 gUnknown_082DB234[]; -extern const u8 gUnknown_082DB2A6[]; -extern const u8 BattleScript_ThrashConfuses[]; -extern const u8 BattleScript_DisabledNoMore[]; -extern const u8 BattleScript_EncoredNoMore[]; -extern const u8 BattleScript_YawnMakesAsleep[]; -extern const u8 gUnknown_082DAFE4[]; -extern const u8 gUnknown_082DB8F3[]; -extern const u8 gUnknown_082DAF05[]; -extern const u8 gUnknown_082DAF20[]; -extern const u8 gUnknown_082DA7C4[]; -extern const u8 gUnknown_082DA7CD[]; -extern const u8 BattleScript_MoveUsedWokeUp[]; -extern const u8 BattleScript_MoveUsedIsAsleep[]; -extern const u8 BattleScript_MoveUsedIsFrozen[]; -extern const u8 BattleScript_MoveUsedUnfroze[]; -extern const u8 BattleScript_MoveUsedLoafingAround[]; -extern const u8 BattleScript_MoveUsedMustRecharge[]; -extern const u8 BattleScript_MoveUsedFlinched[]; -extern const u8 BattleScript_MoveUsedIsDisabled[]; -extern const u8 BattleScript_MoveUsedIsTaunted[]; -extern const u8 BattleScript_MoveUsedIsImprisoned[]; -extern const u8 BattleScript_MoveUsedIsConfused[]; -extern const u8 BattleScript_MoveUsedIsConfusedNoMore[]; -extern const u8 BattleScript_MoveUsedIsParalyzed[]; -extern const u8 BattleScript_MoveUsedIsParalyzedCantAttack[]; -extern const u8 BattleScript_MoveUsedIsInLove[]; -extern const u8 BattleScript_BideStoringEnergy[]; -extern const u8 BattleScript_BideAttack[]; -extern const u8 BattleScript_BideNoEnergyToAttack[]; -extern const u8 gUnknown_082DACE7[]; -extern const u8 BattleScript_DrizzleActivates[]; -extern const u8 BattleScript_SandstreamActivates[]; -extern const u8 BattleScript_DroughtActivates[]; -extern const u8 BattleScript_CastformChange[]; -extern const u8 BattleScript_RainDishActivates[]; -extern const u8 BattleScript_ShedSkinActivates[]; -extern const u8 BattleScript_SpeedBoostActivates[]; -extern const u8 BattleScript_SoundproofProtected[]; -extern const u8 BattleScript_MoveHPDrain[]; -extern const u8 BattleScript_MoveHPDrain_PPLoss[]; -extern const u8 BattleScript_FlashFireBoost[]; -extern const u8 BattleScript_FlashFireBoost_PPLoss[]; -extern const u8 gUnknown_082DB592[]; -extern const u8 gUnknown_082DB591[]; -extern const u8 BattleScript_ColorChangeActivates[]; -extern const u8 BattleScript_RoughSkinActivates[]; -extern const u8 BattleScript_ApplySecondaryEffect[]; -extern const u8 BattleScript_CuteCharmActivates[]; -extern const u8 gUnknown_082DB68C[]; -extern const u8 BattleScript_SynchronizeActivates[]; -extern const u8 gUnknown_082DB4B8[]; -extern const u8 gUnknown_082DB4C1[]; -extern const u8 BattleScript_TraceActivates[]; - -extern const u8 BattleScript_WhiteHerbEnd2[]; -extern const u8 BattleScript_WhiteHerbRet[]; -extern const u8 BattleScript_ItemHealHP_RemoveItem[]; -extern const u8 BattleScript_BerryPPHealEnd2[]; -extern const u8 BattleScript_ItemHealHP_End2[]; -extern const u8 BattleScript_BerryConfuseHealEnd2[]; -extern const u8 BattleScript_BerryStatRaiseEnd2[]; -extern const u8 BattleScript_BerryFocusEnergyEnd2[]; -extern const u8 BattleScript_BerryCurePrlzEnd2[]; -extern const u8 BattleScript_BerryCurePsnEnd2[]; -extern const u8 BattleScript_BerryCureBrnEnd2[]; -extern const u8 BattleScript_BerryCureFrzEnd2[]; -extern const u8 BattleScript_BerryCureSlpEnd2[]; -extern const u8 BattleScript_BerryCureConfusionEnd2[]; -extern const u8 BattleScript_BerryCureChosenStatusEnd2[]; -extern const u8 BattleScript_BerryCureParRet[]; -extern const u8 BattleScript_BerryCurePsnRet[]; -extern const u8 BattleScript_BerryCureBrnRet[]; -extern const u8 BattleScript_BerryCureFrzRet[]; -extern const u8 BattleScript_BerryCureSlpRet[]; -extern const u8 BattleScript_BerryCureConfusionRet[]; -extern const u8 BattleScript_BerryCureChosenStatusRet[]; -extern const u8 BattleScript_ItemHealHP_Ret[]; - -extern const u8 gUnknown_082DB695[]; //disobedient while asleep -extern const u8 gUnknown_082DB6A5[]; //disobedient, uses a random move -extern const u8 gUnknown_082DB6D9[]; //disobedient, went to sleep -extern const u8 gUnknown_082DB6F0[]; //disobedient, hits itself - extern u8 weather_get_current(void); // rom const data @@ -182,173 +35,169 @@ static const u16 sSoundMovesTable[] = MOVE_UPROAR, MOVE_METAL_SOUND, MOVE_GRASS_WHISTLE, MOVE_HYPER_VOICE, 0xFFFF }; -u8 GetBattleBank(u8 caseId) +u8 GetBattlerForBattleScript(u8 caseId) { u8 ret = 0; switch (caseId) { - case BS_GET_TARGET: - ret = gBankTarget; + case BS_TARGET: + ret = gBattlerTarget; break; - case BS_GET_ATTACKER: - ret = gBankAttacker; + case BS_ATTACKER: + ret = gBattlerAttacker; break; - case BS_GET_EFFECT_BANK: - ret = gEffectBank; + case BS_EFFECT_BATTLER: + ret = gEffectBattler; break; - case 7: + case BS_BANK_0: ret = 0; break; - case BS_GET_SCRIPTING_BANK: - ret = gBattleScripting.bank; + case BS_SCRIPTING: + ret = gBattleScripting.battler; break; - case 3: - ret = gBank1; + case BS_FAINTED: + ret = gBattlerFainted; break; case 5: - ret = gBank1; + ret = gBattlerFainted; break; case 4: case 6: case 8: case 9: - case BS_GET_PLAYER1: - ret = GetBankByIdentity(IDENTITY_PLAYER_MON1); + case BS_PLAYER1: + ret = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); break; - case BS_GET_OPPONENT1: - ret = GetBankByIdentity(IDENTITY_OPPONENT_MON1); + case BS_OPPONENT1: + ret = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); break; - case BS_GET_PLAYER2: - ret = GetBankByIdentity(IDENTITY_PLAYER_MON2); + case BS_PLAYER2: + ret = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); break; - case BS_GET_OPPONENT2: - ret = GetBankByIdentity(IDENTITY_OPPONENT_MON2); + case BS_OPPONENT2: + ret = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); break; } return ret; } -void PressurePPLose(u8 bankDef, u8 bankAtk, u16 move) +void PressurePPLose(u8 defender, u8 attacker, u16 move) { s32 i; - if (gBattleMons[bankDef].ability != ABILITY_PRESSURE) + if (gBattleMons[defender].ability != ABILITY_PRESSURE) return; for (i = 0; i < 4; i++) { - if (gBattleMons[bankAtk].moves[i] == move) + if (gBattleMons[attacker].moves[i] == move) break; } if (i == 4) // mons don't share any moves return; - if (gBattleMons[bankAtk].pp[i] != 0) - gBattleMons[bankAtk].pp[i]--; + if (gBattleMons[attacker].pp[i] != 0) + gBattleMons[attacker].pp[i]--; - if (!(gBattleMons[bankAtk].status2 & STATUS2_TRANSFORMED) - && !(gDisableStructs[bankAtk].unk18_b & gBitTable[i])) + if (!(gBattleMons[attacker].status2 & STATUS2_TRANSFORMED) + && !(gDisableStructs[attacker].unk18_b & gBitTable[i])) { - gActiveBank = bankAtk; - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBank].pp[i]); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = attacker; + BtlController_EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBattler].pp[i]); + MarkBattlerForControllerExec(gActiveBattler); } } -void PressurePPLoseOnUsingImprision(u8 bankAtk) +void PressurePPLoseOnUsingImprision(u8 attacker) { s32 i, j; s32 imprisionPos = 4; - u8 atkSide = GetBankSide(bankAtk); + u8 atkSide = GetBattlerSide(attacker); - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - if (atkSide != GetBankSide(i) && gBattleMons[i].ability == ABILITY_PRESSURE) + if (atkSide != GetBattlerSide(i) && gBattleMons[i].ability == ABILITY_PRESSURE) { for (j = 0; j < 4; j++) { - if (gBattleMons[bankAtk].moves[j] == MOVE_IMPRISON) + if (gBattleMons[attacker].moves[j] == MOVE_IMPRISON) break; } if (j != 4) { imprisionPos = j; - if (gBattleMons[bankAtk].pp[j] != 0) - gBattleMons[bankAtk].pp[j]--; + if (gBattleMons[attacker].pp[j] != 0) + gBattleMons[attacker].pp[j]--; } } } if (imprisionPos != 4 - && !(gBattleMons[bankAtk].status2 & STATUS2_TRANSFORMED) - && !(gDisableStructs[bankAtk].unk18_b & gBitTable[imprisionPos])) + && !(gBattleMons[attacker].status2 & STATUS2_TRANSFORMED) + && !(gDisableStructs[attacker].unk18_b & gBitTable[imprisionPos])) { - gActiveBank = bankAtk; - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + imprisionPos, 0, 1, &gBattleMons[gActiveBank].pp[imprisionPos]); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = attacker; + BtlController_EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + imprisionPos, 0, 1, &gBattleMons[gActiveBattler].pp[imprisionPos]); + MarkBattlerForControllerExec(gActiveBattler); } } -void PressurePPLoseOnUsingPerishSong(u8 bankAtk) +void PressurePPLoseOnUsingPerishSong(u8 attacker) { s32 i, j; s32 perishSongPos = 4; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - if (gBattleMons[i].ability == ABILITY_PRESSURE && i != bankAtk) + if (gBattleMons[i].ability == ABILITY_PRESSURE && i != attacker) { for (j = 0; j < 4; j++) { - if (gBattleMons[bankAtk].moves[j] == MOVE_PERISH_SONG) + if (gBattleMons[attacker].moves[j] == MOVE_PERISH_SONG) break; } if (j != 4) { perishSongPos = j; - if (gBattleMons[bankAtk].pp[j] != 0) - gBattleMons[bankAtk].pp[j]--; + if (gBattleMons[attacker].pp[j] != 0) + gBattleMons[attacker].pp[j]--; } } } if (perishSongPos != 4 - && !(gBattleMons[bankAtk].status2 & STATUS2_TRANSFORMED) - && !(gDisableStructs[bankAtk].unk18_b & gBitTable[perishSongPos])) + && !(gBattleMons[attacker].status2 & STATUS2_TRANSFORMED) + && !(gDisableStructs[attacker].unk18_b & gBitTable[perishSongPos])) { - gActiveBank = bankAtk; - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBank].pp[perishSongPos]); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = attacker; + BtlController_EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBattler].pp[perishSongPos]); + MarkBattlerForControllerExec(gActiveBattler); } } -void MarkAllBufferBanksForExecution(void) // unused +void MarkAllBattlersForControllerExec(void) // unused { s32 i; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - for (i = 0; i < gNoOfAllBanks; i++) - gBattleExecBuffer |= gBitTable[i] << 0x1C; + for (i = 0; i < gBattlersCount; i++) + gBattleControllerExecFlags |= gBitTable[i] << 0x1C; } else { - for (i = 0; i < gNoOfAllBanks; i++) - gBattleExecBuffer |= gBitTable[i]; + for (i = 0; i < gBattlersCount; i++) + gBattleControllerExecFlags |= gBitTable[i]; } } -void MarkBufferBankForExecution(u8 bank) +void MarkBattlerForControllerExec(u8 battlerId) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) - { - gBattleExecBuffer |= gBitTable[bank] << 0x1C; - } + gBattleControllerExecFlags |= gBitTable[battlerId] << 0x1C; else - { - gBattleExecBuffer |= gBitTable[bank]; - } + gBattleControllerExecFlags |= gBitTable[battlerId]; } void sub_803F850(u8 arg0) @@ -356,45 +205,45 @@ void sub_803F850(u8 arg0) s32 i; for (i = 0; i < GetLinkPlayerCount(); i++) - gBattleExecBuffer |= gBitTable[arg0] << (i << 2); + gBattleControllerExecFlags |= gBitTable[arg0] << (i << 2); - gBattleExecBuffer &= ~(0x10000000 << arg0); + gBattleControllerExecFlags &= ~(0x10000000 << arg0); } -void CancelMultiTurnMoves(u8 bank) +void CancelMultiTurnMoves(u8 battler) { - gBattleMons[bank].status2 &= ~(STATUS2_MULTIPLETURNS); - gBattleMons[bank].status2 &= ~(STATUS2_LOCK_CONFUSE); - gBattleMons[bank].status2 &= ~(STATUS2_UPROAR); - gBattleMons[bank].status2 &= ~(STATUS2_BIDE); + gBattleMons[battler].status2 &= ~(STATUS2_MULTIPLETURNS); + gBattleMons[battler].status2 &= ~(STATUS2_LOCK_CONFUSE); + gBattleMons[battler].status2 &= ~(STATUS2_UPROAR); + gBattleMons[battler].status2 &= ~(STATUS2_BIDE); - gStatuses3[bank] &= ~(STATUS3_SEMI_INVULNERABLE); + gStatuses3[battler] &= ~(STATUS3_SEMI_INVULNERABLE); - gDisableStructs[bank].rolloutCounter1 = 0; - gDisableStructs[bank].furyCutterCounter = 0; + gDisableStructs[battler].rolloutCounter1 = 0; + gDisableStructs[battler].furyCutterCounter = 0; } -bool8 WasUnableToUseMove(u8 bank) +bool8 WasUnableToUseMove(u8 battler) { - if (gProtectStructs[bank].prlzImmobility - || gProtectStructs[bank].targetNotAffected - || gProtectStructs[bank].usedImprisionedMove - || gProtectStructs[bank].loveImmobility - || gProtectStructs[bank].usedDisabledMove - || gProtectStructs[bank].usedTauntedMove - || gProtectStructs[bank].flag2Unknown - || gProtectStructs[bank].flinchImmobility - || gProtectStructs[bank].confusionSelfDmg) + if (gProtectStructs[battler].prlzImmobility + || gProtectStructs[battler].targetNotAffected + || gProtectStructs[battler].usedImprisionedMove + || gProtectStructs[battler].loveImmobility + || gProtectStructs[battler].usedDisabledMove + || gProtectStructs[battler].usedTauntedMove + || gProtectStructs[battler].flag2Unknown + || gProtectStructs[battler].flinchImmobility + || gProtectStructs[battler].confusionSelfDmg) return TRUE; else return FALSE; } -void PrepareStringBattle(u16 stringId, u8 bank) +void PrepareStringBattle(u16 stringId, u8 battler) { - gActiveBank = bank; - EmitPrintString(0, stringId); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = battler; + BtlController_EmitPrintString(0, stringId); + MarkBattlerForControllerExec(gActiveBattler); } void ResetSentPokesToOpponentValue(void) @@ -405,161 +254,161 @@ void ResetSentPokesToOpponentValue(void) gSentPokesToOpponent[0] = 0; gSentPokesToOpponent[1] = 0; - for (i = 0; i < gNoOfAllBanks; i += 2) - bits |= gBitTable[gBattlePartyID[i]]; + for (i = 0; i < gBattlersCount; i += 2) + bits |= gBitTable[gBattlerPartyIndexes[i]]; - for (i = 1; i < gNoOfAllBanks; i += 2) - gSentPokesToOpponent[(i & BIT_MON) >> 1] = bits; + for (i = 1; i < gBattlersCount; i += 2) + gSentPokesToOpponent[(i & BIT_FLANK) >> 1] = bits; } -void sub_803F9EC(u8 bank) +void sub_803F9EC(u8 battler) { s32 i = 0; u32 bits = 0; - if (GetBankSide(bank) == SIDE_OPPONENT) + if (GetBattlerSide(battler) == B_SIDE_OPPONENT) { - u8 id = ((bank & BIT_MON) >> 1); - gSentPokesToOpponent[id] = 0; + u8 flank = ((battler & BIT_FLANK) >> 1); + gSentPokesToOpponent[flank] = 0; - for (i = 0; i < gNoOfAllBanks; i += 2) + for (i = 0; i < gBattlersCount; i += 2) { - if (!(gAbsentBankFlags & gBitTable[i])) - bits |= gBitTable[gBattlePartyID[i]]; + if (!(gAbsentBattlerFlags & gBitTable[i])) + bits |= gBitTable[gBattlerPartyIndexes[i]]; } - gSentPokesToOpponent[id] = bits; + gSentPokesToOpponent[flank] = bits; } } -void sub_803FA70(u8 bank) +void sub_803FA70(u8 battler) { - if (GetBankSide(bank) == SIDE_OPPONENT) + if (GetBattlerSide(battler) == B_SIDE_OPPONENT) { - sub_803F9EC(bank); + sub_803F9EC(battler); } else { s32 i; - for (i = 1; i < gNoOfAllBanks; i++) - gSentPokesToOpponent[(i & BIT_MON) >> 1] |= gBitTable[gBattlePartyID[bank]]; + for (i = 1; i < gBattlersCount; i++) + gSentPokesToOpponent[(i & BIT_FLANK) >> 1] |= gBitTable[gBattlerPartyIndexes[battler]]; } } void BattleScriptPush(const u8* bsPtr) { - BATTLESCRIPTS_STACK->ptr[BATTLESCRIPTS_STACK->size++] = bsPtr; + gBattleResources->battleScriptsStack->ptr[gBattleResources->battleScriptsStack->size++] = bsPtr; } void BattleScriptPushCursor(void) { - BATTLESCRIPTS_STACK->ptr[BATTLESCRIPTS_STACK->size++] = gBattlescriptCurrInstr; + gBattleResources->battleScriptsStack->ptr[gBattleResources->battleScriptsStack->size++] = gBattlescriptCurrInstr; } void BattleScriptPop(void) { - gBattlescriptCurrInstr = BATTLESCRIPTS_STACK->ptr[--BATTLESCRIPTS_STACK->size]; + gBattlescriptCurrInstr = gBattleResources->battleScriptsStack->ptr[--gBattleResources->battleScriptsStack->size]; } u8 TrySetCantSelectMoveBattleScript(void) { u8 limitations = 0; - u16 move = gBattleMons[gActiveBank].moves[gBattleBufferB[gActiveBank][2]]; + u16 move = gBattleMons[gActiveBattler].moves[gBattleBufferB[gActiveBattler][2]]; u8 holdEffect; - u16* choicedMove = &gBattleStruct->choicedMove[gActiveBank]; + u16* choicedMove = &gBattleStruct->choicedMove[gActiveBattler]; - if (gDisableStructs[gActiveBank].disabledMove == move && move != 0) + if (gDisableStructs[gActiveBattler].disabledMove == move && move != 0) { - gBattleScripting.bank = gActiveBank; + gBattleScripting.battler = gActiveBattler; gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gUnknown_02024230[gActiveBank] = gUnknown_082DAE2A; - gProtectStructs[gActiveBank].flag_x10 = 1; + gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingDisabledMoveInPalace; + gProtectStructs[gActiveBattler].flag_x10 = 1; } else { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DAE1F; + gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingDisabledMove; limitations = 1; } } - if (move == gLastUsedMovesByBanks[gActiveBank] && move != MOVE_STRUGGLE && (gBattleMons[gActiveBank].status2 & STATUS2_TORMENT)) + if (move == gLastMoves[gActiveBattler] && move != MOVE_STRUGGLE && (gBattleMons[gActiveBattler].status2 & STATUS2_TORMENT)) { - CancelMultiTurnMoves(gActiveBank); + CancelMultiTurnMoves(gActiveBattler); if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gUnknown_02024230[gActiveBank] = gUnknown_082DB098; - gProtectStructs[gActiveBank].flag_x10 = 1; + gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingTormentedMoveInPalace; + gProtectStructs[gActiveBattler].flag_x10 = 1; } else { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB089; + gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingTormentedMove; limitations++; } } - if (gDisableStructs[gActiveBank].tauntTimer1 != 0 && gBattleMoves[move].power == 0) + if (gDisableStructs[gActiveBattler].tauntTimer1 != 0 && gBattleMoves[move].power == 0) { gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gUnknown_02024230[gActiveBank] = gUnknown_082DB0AF; - gProtectStructs[gActiveBank].flag_x10 = 1; + gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedMoveTauntInPalace; + gProtectStructs[gActiveBattler].flag_x10 = 1; } else { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB0A0; + gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedMoveTaunt; limitations++; } } - if (GetImprisonedMovesCount(gActiveBank, move)) + if (GetImprisonedMovesCount(gActiveBattler, move)) { gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gUnknown_02024230[gActiveBank] = gUnknown_082DB185; - gProtectStructs[gActiveBank].flag_x10 = 1; + gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingImprisionedMoveInPalace; + gProtectStructs[gActiveBattler].flag_x10 = 1; } else { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB181; + gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingImprisionedMove; limitations++; } } - if (gBattleMons[gActiveBank].item == ITEM_ENIGMA_BERRY) - holdEffect = gEnigmaBerries[gActiveBank].holdEffect; + if (gBattleMons[gActiveBattler].item == ITEM_ENIGMA_BERRY) + holdEffect = gEnigmaBerries[gActiveBattler].holdEffect; else - holdEffect = ItemId_GetHoldEffect(gBattleMons[gActiveBank].item); + holdEffect = ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item); - gStringBank = gActiveBank; + gPotentialItemEffectBattler = gActiveBattler; if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != 0 && *choicedMove != 0xFFFF && *choicedMove != move) { gCurrentMove = *choicedMove; - gLastUsedItem = gBattleMons[gActiveBank].item; + gLastUsedItem = gBattleMons[gActiveBattler].item; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gProtectStructs[gActiveBank].flag_x10 = 1; + gProtectStructs[gActiveBattler].flag_x10 = 1; } else { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB812; + gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedMoveChoiceItem; limitations++; } } - if (gBattleMons[gActiveBank].pp[gBattleBufferB[gActiveBank][2]] == 0) + if (gBattleMons[gActiveBattler].pp[gBattleBufferB[gActiveBattler][2]] == 0) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gProtectStructs[gActiveBank].flag_x10 = 1; + gProtectStructs[gActiveBattler].flag_x10 = 1; } else { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB076; + gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingMoveWithNoPP; limitations++; } } @@ -567,36 +416,36 @@ u8 TrySetCantSelectMoveBattleScript(void) return limitations; } -u8 CheckMoveLimitations(u8 bank, u8 unusableMoves, u8 check) +u8 CheckMoveLimitations(u8 battlerId, u8 unusableMoves, u8 check) { u8 holdEffect; - u16* choicedMove = &gBattleStruct->choicedMove[bank]; + u16 *choicedMove = &gBattleStruct->choicedMove[battlerId]; s32 i; - if (gBattleMons[bank].item == ITEM_ENIGMA_BERRY) - holdEffect = gEnigmaBerries[bank].holdEffect; + if (gBattleMons[battlerId].item == ITEM_ENIGMA_BERRY) + holdEffect = gEnigmaBerries[battlerId].holdEffect; else - holdEffect = ItemId_GetHoldEffect(gBattleMons[bank].item); + holdEffect = ItemId_GetHoldEffect(gBattleMons[battlerId].item); - gStringBank = bank; + gPotentialItemEffectBattler = battlerId; - for (i = 0; i < BATTLE_BANKS_COUNT; i++) + for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - if (gBattleMons[bank].moves[i] == 0 && check & MOVE_LIMITATION_ZEROMOVE) + if (gBattleMons[battlerId].moves[i] == 0 && check & MOVE_LIMITATION_ZEROMOVE) unusableMoves |= gBitTable[i]; - if (gBattleMons[bank].pp[i] == 0 && check & MOVE_LIMITATION_PP) + if (gBattleMons[battlerId].pp[i] == 0 && check & MOVE_LIMITATION_PP) unusableMoves |= gBitTable[i]; - if (gBattleMons[bank].moves[i] == gDisableStructs[bank].disabledMove && check & MOVE_LIMITATION_DISABLED) + if (gBattleMons[battlerId].moves[i] == gDisableStructs[battlerId].disabledMove && check & MOVE_LIMITATION_DISABLED) unusableMoves |= gBitTable[i]; - if (gBattleMons[bank].moves[i] == gLastUsedMovesByBanks[bank] && check & MOVE_LIMITATION_TORMENTED && gBattleMons[bank].status2 & STATUS2_TORMENT) + if (gBattleMons[battlerId].moves[i] == gLastMoves[battlerId] && check & MOVE_LIMITATION_TORMENTED && gBattleMons[battlerId].status2 & STATUS2_TORMENT) unusableMoves |= gBitTable[i]; - if (gDisableStructs[bank].tauntTimer1 && check & MOVE_LIMITATION_TAUNT && gBattleMoves[gBattleMons[bank].moves[i]].power == 0) + if (gDisableStructs[battlerId].tauntTimer1 && check & MOVE_LIMITATION_TAUNT && gBattleMoves[gBattleMons[battlerId].moves[i]].power == 0) unusableMoves |= gBitTable[i]; - if (GetImprisonedMovesCount(bank, gBattleMons[bank].moves[i]) && check & MOVE_LIMITATION_IMPRISION) + if (GetImprisonedMovesCount(battlerId, gBattleMons[battlerId].moves[i]) && check & MOVE_LIMITATION_IMPRISION) unusableMoves |= gBitTable[i]; - if (gDisableStructs[bank].encoreTimer1 && gDisableStructs[bank].encoredMove != gBattleMons[bank].moves[i]) + if (gDisableStructs[battlerId].encoreTimer1 && gDisableStructs[battlerId].encoredMove != gBattleMons[battlerId].moves[i]) unusableMoves |= gBitTable[i]; - if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != 0 && *choicedMove != 0xFFFF && *choicedMove != gBattleMons[bank].moves[i]) + if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != 0 && *choicedMove != 0xFFFF && *choicedMove != gBattleMons[battlerId].moves[i]) unusableMoves |= gBitTable[i]; } return unusableMoves; @@ -605,30 +454,30 @@ u8 CheckMoveLimitations(u8 bank, u8 unusableMoves, u8 check) bool8 AreAllMovesUnusable(void) { u8 unusable; - unusable = CheckMoveLimitations(gActiveBank, 0, 0xFF); + unusable = CheckMoveLimitations(gActiveBattler, 0, 0xFF); if (unusable == 0xF) // all moves are unusable { - gProtectStructs[gActiveBank].onlyStruggle = 1; - gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_NoMovesLeft; + gProtectStructs[gActiveBattler].onlyStruggle = 1; + gSelectionBattleScripts[gActiveBattler] = BattleScript_NoMovesLeft; } else { - gProtectStructs[gActiveBank].onlyStruggle = 0; + gProtectStructs[gActiveBattler].onlyStruggle = 0; } return (unusable == 0xF); } -u8 GetImprisonedMovesCount(u8 bank, u16 move) +u8 GetImprisonedMovesCount(u8 battlerId, u16 move) { s32 i; u8 imprisionedMoves = 0; - u8 bankSide = GetBankSide(bank); + u8 bankSide = GetBattlerSide(battlerId); - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - if (bankSide != GetBankSide(i) && gStatuses3[i] & STATUS3_IMPRISONED_OTHERS) + if (bankSide != GetBattlerSide(i) && gStatuses3[i] & STATUS3_IMPRISONED_OTHERS) { s32 j; for (j = 0; j < 4; j++) @@ -649,10 +498,10 @@ u8 UpdateTurnCounters(void) u8 effect = 0; s32 i; - for (gBankAttacker = 0; gBankAttacker < gNoOfAllBanks && gAbsentBankFlags & gBitTable[gBankAttacker]; gBankAttacker++) + for (gBattlerAttacker = 0; gBattlerAttacker < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBattlerAttacker]; gBattlerAttacker++) { } - for (gBankTarget = 0; gBankTarget < gNoOfAllBanks && gAbsentBankFlags & gBitTable[gBankTarget]; gBankTarget++) + for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBattlerTarget]; gBattlerTarget++) { } @@ -660,26 +509,26 @@ u8 UpdateTurnCounters(void) { u8 sideBank; - switch (gBattleStruct->turncountersTracker) + switch (gBattleStruct->turnCountersTracker) { case 0: - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - gBanksByTurnOrder[i] = i; + gBattleTurnOrder[i] = i; } - for (i = 0; i < gNoOfAllBanks - 1; i++) + for (i = 0; i < gBattlersCount - 1; i++) { s32 j; - for (j = i + 1; j < gNoOfAllBanks; j++) + for (j = i + 1; j < gBattlersCount; j++) { - if (GetWhoStrikesFirst(gBanksByTurnOrder[i], gBanksByTurnOrder[j], 0)) + if (GetWhoStrikesFirst(gBattleTurnOrder[i], gBattleTurnOrder[j], 0)) SwapTurnOrder(i, j); } } // It's stupid, but won't match without it { - u8* var = &gBattleStruct->turncountersTracker; + u8* var = &gBattleStruct->turnCountersTracker; (*var)++; gBattleStruct->turnSideTracker = 0; } @@ -688,18 +537,14 @@ u8 UpdateTurnCounters(void) while (gBattleStruct->turnSideTracker < 2) { sideBank = gBattleStruct->turnSideTracker; - gActiveBank = gBankAttacker = gSideTimers[sideBank].reflectBank; - if (gSideAffecting[sideBank] & SIDE_STATUS_REFLECT) + gActiveBattler = gBattlerAttacker = gSideTimers[sideBank].reflectBattlerId; + if (gSideStatuses[sideBank] & SIDE_STATUS_REFLECT) { if (--gSideTimers[sideBank].reflectTimer == 0) { - gSideAffecting[sideBank] &= ~SIDE_STATUS_REFLECT; - BattleScriptExecute(gUnknown_082DACFA); - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = MOVE_REFLECT; - gBattleTextBuff1[3] = MOVE_REFLECT >> 8; - gBattleTextBuff1[4] = EOS; + gSideStatuses[sideBank] &= ~SIDE_STATUS_REFLECT; + BattleScriptExecute(BattleScript_SideStatusWoreOff); + PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_REFLECT); effect++; } } @@ -709,7 +554,7 @@ u8 UpdateTurnCounters(void) } if (!effect) { - gBattleStruct->turncountersTracker++; + gBattleStruct->turnCountersTracker++; gBattleStruct->turnSideTracker = 0; } break; @@ -717,19 +562,15 @@ u8 UpdateTurnCounters(void) while (gBattleStruct->turnSideTracker < 2) { sideBank = gBattleStruct->turnSideTracker; - gActiveBank = gBankAttacker = gSideTimers[sideBank].lightscreenBank; - if (gSideAffecting[sideBank] & SIDE_STATUS_LIGHTSCREEN) + gActiveBattler = gBattlerAttacker = gSideTimers[sideBank].lightscreenBattlerId; + if (gSideStatuses[sideBank] & SIDE_STATUS_LIGHTSCREEN) { if (--gSideTimers[sideBank].lightscreenTimer == 0) { - gSideAffecting[sideBank] &= ~SIDE_STATUS_LIGHTSCREEN; - BattleScriptExecute(gUnknown_082DACFA); + gSideStatuses[sideBank] &= ~SIDE_STATUS_LIGHTSCREEN; + BattleScriptExecute(BattleScript_SideStatusWoreOff); gBattleCommunication[MULTISTRING_CHOOSER] = sideBank; - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = MOVE_LIGHT_SCREEN; - gBattleTextBuff1[3] = MOVE_LIGHT_SCREEN >> 8; - gBattleTextBuff1[4] = EOS; + PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_LIGHT_SCREEN); effect++; } } @@ -739,7 +580,7 @@ u8 UpdateTurnCounters(void) } if (!effect) { - gBattleStruct->turncountersTracker++; + gBattleStruct->turnCountersTracker++; gBattleStruct->turnSideTracker = 0; } break; @@ -747,18 +588,14 @@ u8 UpdateTurnCounters(void) while (gBattleStruct->turnSideTracker < 2) { sideBank = gBattleStruct->turnSideTracker; - gActiveBank = gBankAttacker = gSideTimers[sideBank].mistBank; + gActiveBattler = gBattlerAttacker = gSideTimers[sideBank].mistBattlerId; if (gSideTimers[sideBank].mistTimer != 0 && --gSideTimers[sideBank].mistTimer == 0) { - gSideAffecting[sideBank] &= ~SIDE_STATUS_MIST; - BattleScriptExecute(gUnknown_082DACFA); + gSideStatuses[sideBank] &= ~SIDE_STATUS_MIST; + BattleScriptExecute(BattleScript_SideStatusWoreOff); gBattleCommunication[MULTISTRING_CHOOSER] = sideBank; - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = MOVE_MIST; - gBattleTextBuff1[3] = MOVE_MIST >> 8; - gBattleTextBuff1[4] = EOS; + PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_MIST); effect++; } gBattleStruct->turnSideTracker++; @@ -767,7 +604,7 @@ u8 UpdateTurnCounters(void) } if (!effect) { - gBattleStruct->turncountersTracker++; + gBattleStruct->turnCountersTracker++; gBattleStruct->turnSideTracker = 0; } break; @@ -775,13 +612,13 @@ u8 UpdateTurnCounters(void) while (gBattleStruct->turnSideTracker < 2) { sideBank = gBattleStruct->turnSideTracker; - gActiveBank = gBankAttacker = gSideTimers[sideBank].safeguardBank; - if (gSideAffecting[sideBank] & SIDE_STATUS_SAFEGUARD) + gActiveBattler = gBattlerAttacker = gSideTimers[sideBank].safeguardBattlerId; + if (gSideStatuses[sideBank] & SIDE_STATUS_SAFEGUARD) { if (--gSideTimers[sideBank].safeguardTimer == 0) { - gSideAffecting[sideBank] &= ~SIDE_STATUS_SAFEGUARD; - BattleScriptExecute(gUnknown_082DAD0B); + gSideStatuses[sideBank] &= ~SIDE_STATUS_SAFEGUARD; + BattleScriptExecute(BattleScript_SafeguardEnds); effect++; } } @@ -791,19 +628,19 @@ u8 UpdateTurnCounters(void) } if (!effect) { - gBattleStruct->turncountersTracker++; + gBattleStruct->turnCountersTracker++; gBattleStruct->turnSideTracker = 0; } break; case 5: - while (gBattleStruct->turnSideTracker < gNoOfAllBanks) + while (gBattleStruct->turnSideTracker < gBattlersCount) { - gActiveBank = gBanksByTurnOrder[gBattleStruct->turnSideTracker]; - if (gWishFutureKnock.wishCounter[gActiveBank] != 0 - && --gWishFutureKnock.wishCounter[gActiveBank] == 0 - && gBattleMons[gActiveBank].hp != 0) + gActiveBattler = gBattleTurnOrder[gBattleStruct->turnSideTracker]; + if (gWishFutureKnock.wishCounter[gActiveBattler] != 0 + && --gWishFutureKnock.wishCounter[gActiveBattler] == 0 + && gBattleMons[gActiveBattler].hp != 0) { - gBankTarget = gActiveBank; + gBattlerTarget = gActiveBattler; BattleScriptExecute(BattleScript_WishComesTrue); effect++; } @@ -813,7 +650,7 @@ u8 UpdateTurnCounters(void) } if (!effect) { - gBattleStruct->turncountersTracker++; + gBattleStruct->turnCountersTracker++; } break; case 6: @@ -833,13 +670,18 @@ u8 UpdateTurnCounters(void) gBattleCommunication[MULTISTRING_CHOOSER] = 0; } else if (gBattleWeather & WEATHER_RAIN_DOWNPOUR) + { gBattleCommunication[MULTISTRING_CHOOSER] = 1; + } else + { gBattleCommunication[MULTISTRING_CHOOSER] = 0; - BattleScriptExecute(gUnknown_082DAC2C); + } + + BattleScriptExecute(BattleScript_RainContinuesOrEnds); effect++; } - gBattleStruct->turncountersTracker++; + gBattleStruct->turnCountersTracker++; break; case 7: if (gBattleWeather & WEATHER_SANDSTORM_ANY) @@ -847,17 +689,19 @@ u8 UpdateTurnCounters(void) if (!(gBattleWeather & WEATHER_SANDSTORM_PERMANENT) && --gWishFutureKnock.weatherDuration == 0) { gBattleWeather &= ~WEATHER_SANDSTORM_TEMPORARY; - gBattlescriptCurrInstr = gUnknown_082DACC9; + gBattlescriptCurrInstr = BattleScript_SandStormHailEnds; } else - gBattlescriptCurrInstr = gUnknown_082DAC47; + { + gBattlescriptCurrInstr = BattleScript_DamagingWeatherContinues; + } - gBattleScripting.animArg1 = 0xC; + gBattleScripting.animArg1 = B_ANIM_SANDSTORM_CONTINUES; gBattleCommunication[MULTISTRING_CHOOSER] = 0; BattleScriptExecute(gBattlescriptCurrInstr); effect++; } - gBattleStruct->turncountersTracker++; + gBattleStruct->turnCountersTracker++; break; case 8: if (gBattleWeather & WEATHER_SUN_ANY) @@ -865,15 +709,17 @@ u8 UpdateTurnCounters(void) if (!(gBattleWeather & WEATHER_SUN_PERMANENT) && --gWishFutureKnock.weatherDuration == 0) { gBattleWeather &= ~WEATHER_SUN_TEMPORARY; - gBattlescriptCurrInstr = gUnknown_082DACE0; + gBattlescriptCurrInstr = BattleScript_SunlightFaded; } else - gBattlescriptCurrInstr = gUnknown_082DACD2; + { + gBattlescriptCurrInstr = BattleScript_SunlightContinues; + } BattleScriptExecute(gBattlescriptCurrInstr); effect++; } - gBattleStruct->turncountersTracker++; + gBattleStruct->turnCountersTracker++; break; case 9: if (gBattleWeather & WEATHER_HAIL) @@ -881,17 +727,19 @@ u8 UpdateTurnCounters(void) if (--gWishFutureKnock.weatherDuration == 0) { gBattleWeather &= ~WEATHER_HAIL; - gBattlescriptCurrInstr = gUnknown_082DACC9; + gBattlescriptCurrInstr = BattleScript_SandStormHailEnds; } else - gBattlescriptCurrInstr = gUnknown_082DAC47; + { + gBattlescriptCurrInstr = BattleScript_DamagingWeatherContinues; + } - gBattleScripting.animArg1 = 0xD; + gBattleScripting.animArg1 = B_ANIM_HAIL_CONTINUES; gBattleCommunication[MULTISTRING_CHOOSER] = 1; BattleScriptExecute(gBattlescriptCurrInstr); effect++; } - gBattleStruct->turncountersTracker++; + gBattleStruct->turnCountersTracker++; break; case 10: effect++; @@ -908,23 +756,23 @@ u8 TurnBasedEffects(void) u8 effect = 0; gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20); - while (gBattleStruct->turnEffectsBank < gNoOfAllBanks && gBattleStruct->turnEffectsTracker <= TURNBASED_MAX_CASE) + while (gBattleStruct->turnEffectsBattlerId < gBattlersCount && gBattleStruct->turnEffectsTracker <= TURNBASED_MAX_CASE) { - gActiveBank = gBankAttacker = gBanksByTurnOrder[gBattleStruct->turnEffectsBank]; - if (gAbsentBankFlags & gBitTable[gActiveBank]) + gActiveBattler = gBattlerAttacker = gBattleTurnOrder[gBattleStruct->turnEffectsBattlerId]; + if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) { - gBattleStruct->turnEffectsBank++; + gBattleStruct->turnEffectsBattlerId++; } else { switch (gBattleStruct->turnEffectsTracker) { case 0: // ingrain - if ((gStatuses3[gActiveBank] & STATUS3_ROOTED) - && gBattleMons[gActiveBank].hp != gBattleMons[gActiveBank].maxHP - && gBattleMons[gActiveBank].hp != 0) + if ((gStatuses3[gActiveBattler] & STATUS3_ROOTED) + && gBattleMons[gActiveBattler].hp != gBattleMons[gActiveBattler].maxHP + && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 16; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; @@ -934,40 +782,40 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 1: // end turn abilities - if (AbilityBattleEffects(ABILITYEFFECT_ENDTURN, gActiveBank, 0, 0, 0)) + if (AbilityBattleEffects(ABILITYEFFECT_ENDTURN, gActiveBattler, 0, 0, 0)) effect++; gBattleStruct->turnEffectsTracker++; break; case 2: // item effects - if (ItemBattleEffects(1, gActiveBank, 0)) + if (ItemBattleEffects(1, gActiveBattler, 0)) effect++; gBattleStruct->turnEffectsTracker++; break; case 18: // item effects again - if (ItemBattleEffects(1, gActiveBank, 1)) + if (ItemBattleEffects(1, gActiveBattler, 1)) effect++; gBattleStruct->turnEffectsTracker++; break; case 3: // leech seed - if ((gStatuses3[gActiveBank] & STATUS3_LEECHSEED) - && gBattleMons[gStatuses3[gActiveBank] & STATUS3_LEECHSEED_BANK].hp != 0 - && gBattleMons[gActiveBank].hp != 0) + if ((gStatuses3[gActiveBattler] & STATUS3_LEECHSEED) + && gBattleMons[gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BANK].hp != 0 + && gBattleMons[gActiveBattler].hp != 0) { - gBankTarget = gStatuses3[gActiveBank] & STATUS3_LEECHSEED_BANK; //funny how the 'target' is actually the bank that receives HP - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 8; + gBattlerTarget = gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BANK; //funny how the 'target' is actually the battlerId that receives HP + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - gBattleScripting.animArg1 = gBankTarget; - gBattleScripting.animArg2 = gBankAttacker; + gBattleScripting.animArg1 = gBattlerTarget; + gBattleScripting.animArg2 = gBattlerAttacker; BattleScriptExecute(BattleScript_LeechSeedTurnDrain); effect++; } gBattleStruct->turnEffectsTracker++; break; case 4: // poison - if ((gBattleMons[gActiveBank].status1 & STATUS_POISON) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status1 & STATUS1_POISON) && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 8; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptExecute(BattleScript_PoisonTurnDmg); @@ -976,23 +824,23 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 5: // toxic poison - if ((gBattleMons[gActiveBank].status1 & STATUS_TOXIC_POISON) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status1 & STATUS1_TOXIC_POISON) && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 16; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if ((gBattleMons[gActiveBank].status1 & 0xF00) != 0xF00) //not 16 turns - gBattleMons[gActiveBank].status1 += 0x100; - gBattleMoveDamage *= (gBattleMons[gActiveBank].status1 & 0xF00) >> 8; + if ((gBattleMons[gActiveBattler].status1 & 0xF00) != 0xF00) // not 16 turns + gBattleMons[gActiveBattler].status1 += 0x100; + gBattleMoveDamage *= (gBattleMons[gActiveBattler].status1 & 0xF00) >> 8; BattleScriptExecute(BattleScript_PoisonTurnDmg); effect++; } gBattleStruct->turnEffectsTracker++; break; case 6: // burn - if ((gBattleMons[gActiveBank].status1 & STATUS_BURN) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status1 & STATUS1_BURN) && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 8; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptExecute(BattleScript_BurnTurnDmg); @@ -1001,13 +849,13 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 7: // spooky nightmares - if ((gBattleMons[gActiveBank].status2 & STATUS2_NIGHTMARE) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status2 & STATUS2_NIGHTMARE) && gBattleMons[gActiveBattler].hp != 0) { // R/S does not perform this sleep check, which causes the nighmare effect to // persist even after the affected Pokemon has been awakened by Shed Skin - if (gBattleMons[gActiveBank].status1 & STATUS_SLEEP) + if (gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 4; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 4; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptExecute(BattleScript_NightmareTurnDmg); @@ -1015,15 +863,15 @@ u8 TurnBasedEffects(void) } else { - gBattleMons[gActiveBank].status2 &= ~STATUS2_NIGHTMARE; + gBattleMons[gActiveBattler].status2 &= ~STATUS2_NIGHTMARE; } } gBattleStruct->turnEffectsTracker++; break; case 8: // curse - if ((gBattleMons[gActiveBank].status2 & STATUS2_CURSED) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status2 & STATUS2_CURSED) && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 4; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 4; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptExecute(BattleScript_CurseTurnDmg); @@ -1032,30 +880,30 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 9: // wrap - if ((gBattleMons[gActiveBank].status2 & STATUS2_WRAPPED) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status2 & STATUS2_WRAPPED) && gBattleMons[gActiveBattler].hp != 0) { - gBattleMons[gActiveBank].status2 -= 0x2000; - if (gBattleMons[gActiveBank].status2 & STATUS2_WRAPPED) // damaged by wrap + gBattleMons[gActiveBattler].status2 -= 0x2000; + if (gBattleMons[gActiveBattler].status2 & STATUS2_WRAPPED) // damaged by wrap { // This is the only way I could get this array access to match. - gBattleScripting.animArg1 = *(gBattleStruct->wrappedMove + gActiveBank * 2 + 0); - gBattleScripting.animArg2 = *(gBattleStruct->wrappedMove + gActiveBank * 2 + 1); - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = *(gBattleStruct->wrappedMove + gActiveBank * 2 + 0); - gBattleTextBuff1[3] = *(gBattleStruct->wrappedMove + gActiveBank * 2 + 1); + gBattleScripting.animArg1 = *(gBattleStruct->wrappedMove + gActiveBattler * 2 + 0); + gBattleScripting.animArg2 = *(gBattleStruct->wrappedMove + gActiveBattler * 2 + 1); + gBattleTextBuff1[0] = B_BUFF_PLACEHOLDER_BEGIN; + gBattleTextBuff1[1] = B_BUFF_MOVE; + gBattleTextBuff1[2] = *(gBattleStruct->wrappedMove + gActiveBattler * 2 + 0); + gBattleTextBuff1[3] = *(gBattleStruct->wrappedMove + gActiveBattler * 2 + 1); gBattleTextBuff1[4] = EOS; gBattlescriptCurrInstr = BattleScript_WrapTurnDmg; - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 16; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; } else // broke free { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = *(gBattleStruct->wrappedMove + gActiveBank * 2 + 0); - gBattleTextBuff1[3] = *(gBattleStruct->wrappedMove + gActiveBank * 2 + 1); + gBattleTextBuff1[0] = B_BUFF_PLACEHOLDER_BEGIN; + gBattleTextBuff1[1] = B_BUFF_MOVE; + gBattleTextBuff1[2] = *(gBattleStruct->wrappedMove + gActiveBattler * 2 + 0); + gBattleTextBuff1[3] = *(gBattleStruct->wrappedMove + gActiveBattler * 2 + 1); gBattleTextBuff1[4] = EOS; gBattlescriptCurrInstr = BattleScript_WrapEnds; } @@ -1065,48 +913,48 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 10: // uproar - if (gBattleMons[gActiveBank].status2 & STATUS2_UPROAR) + if (gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR) { - for (gBankAttacker = 0; gBankAttacker < gNoOfAllBanks; gBankAttacker++) + for (gBattlerAttacker = 0; gBattlerAttacker < gBattlersCount; gBattlerAttacker++) { - if ((gBattleMons[gBankAttacker].status1 & STATUS_SLEEP) - && gBattleMons[gBankAttacker].ability != ABILITY_SOUNDPROOF) + if ((gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP) + && gBattleMons[gBattlerAttacker].ability != ABILITY_SOUNDPROOF) { - gBattleMons[gBankAttacker].status1 &= ~(STATUS_SLEEP); - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[gBattlerAttacker].status1 &= ~(STATUS1_SLEEP); + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_NIGHTMARE); gBattleCommunication[MULTISTRING_CHOOSER] = 1; - BattleScriptExecute(gUnknown_082DB234); - gActiveBank = gBankAttacker; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + BattleScriptExecute(BattleScript_MonWokeUpInUproar); + gActiveBattler = gBattlerAttacker; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); break; } } - if (gBankAttacker != gNoOfAllBanks) + if (gBattlerAttacker != gBattlersCount) { effect = 2; // a pokemon was awaken break; } else { - gBankAttacker = gActiveBank; - gBattleMons[gActiveBank].status2 -= 0x10; // uproar timer goes down - if (WasUnableToUseMove(gActiveBank)) + gBattlerAttacker = gActiveBattler; + gBattleMons[gActiveBattler].status2 -= 0x10; // uproar timer goes down + if (WasUnableToUseMove(gActiveBattler)) { - CancelMultiTurnMoves(gActiveBank); + CancelMultiTurnMoves(gActiveBattler); gBattleCommunication[MULTISTRING_CHOOSER] = 1; } - else if (gBattleMons[gActiveBank].status2 & STATUS2_UPROAR) + else if (gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR) { gBattleCommunication[MULTISTRING_CHOOSER] = 0; - gBattleMons[gActiveBank].status2 |= STATUS2_MULTIPLETURNS; + gBattleMons[gActiveBattler].status2 |= STATUS2_MULTIPLETURNS; } else { gBattleCommunication[MULTISTRING_CHOOSER] = 1; - CancelMultiTurnMoves(gActiveBank); + CancelMultiTurnMoves(gActiveBattler); } - BattleScriptExecute(gUnknown_082DB2A6); + BattleScriptExecute(BattleScript_PrintUproarOverTurns); effect = 1; } } @@ -1114,20 +962,20 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 11: // thrash - if (gBattleMons[gActiveBank].status2 & STATUS2_LOCK_CONFUSE) + if (gBattleMons[gActiveBattler].status2 & STATUS2_LOCK_CONFUSE) { - gBattleMons[gActiveBank].status2 -= 0x400; - if (WasUnableToUseMove(gActiveBank)) - CancelMultiTurnMoves(gActiveBank); - else if (!(gBattleMons[gActiveBank].status2 & STATUS2_LOCK_CONFUSE) - && (gBattleMons[gActiveBank].status2 & STATUS2_MULTIPLETURNS)) + gBattleMons[gActiveBattler].status2 -= 0x400; + if (WasUnableToUseMove(gActiveBattler)) + CancelMultiTurnMoves(gActiveBattler); + else if (!(gBattleMons[gActiveBattler].status2 & STATUS2_LOCK_CONFUSE) + && (gBattleMons[gActiveBattler].status2 & STATUS2_MULTIPLETURNS)) { - gBattleMons[gActiveBank].status2 &= ~(STATUS2_MULTIPLETURNS); - if (!(gBattleMons[gActiveBank].status2 & STATUS2_CONFUSION)) + gBattleMons[gActiveBattler].status2 &= ~(STATUS2_MULTIPLETURNS); + if (!(gBattleMons[gActiveBattler].status2 & STATUS2_CONFUSION)) { - gBattleCommunication[MOVE_EFFECT_BYTE] = 0x47; + gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_CONFUSION | MOVE_EFFECT_AFFECTS_USER; SetMoveEffect(1, 0); - if (gBattleMons[gActiveBank].status2 & STATUS2_CONFUSION) + if (gBattleMons[gActiveBattler].status2 & STATUS2_CONFUSION) BattleScriptExecute(BattleScript_ThrashConfuses); effect++; } @@ -1136,22 +984,22 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 12: // disable - if (gDisableStructs[gActiveBank].disableTimer1 != 0) + if (gDisableStructs[gActiveBattler].disableTimer1 != 0) { int i; for (i = 0; i < 4; i++) { - if (gDisableStructs[gActiveBank].disabledMove == gBattleMons[gActiveBank].moves[i]) + if (gDisableStructs[gActiveBattler].disabledMove == gBattleMons[gActiveBattler].moves[i]) break; } if (i == 4) // pokemon does not have the disabled move anymore { - gDisableStructs[gActiveBank].disabledMove = 0; - gDisableStructs[gActiveBank].disableTimer1 = 0; + gDisableStructs[gActiveBattler].disabledMove = 0; + gDisableStructs[gActiveBattler].disableTimer1 = 0; } - else if (--gDisableStructs[gActiveBank].disableTimer1 == 0) // disable ends + else if (--gDisableStructs[gActiveBattler].disableTimer1 == 0) // disable ends { - gDisableStructs[gActiveBank].disabledMove = 0; + gDisableStructs[gActiveBattler].disabledMove = 0; BattleScriptExecute(BattleScript_DisabledNoMore); effect++; } @@ -1159,18 +1007,18 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 13: // encore - if (gDisableStructs[gActiveBank].encoreTimer1 != 0) + if (gDisableStructs[gActiveBattler].encoreTimer1 != 0) { - if (gBattleMons[gActiveBank].moves[gDisableStructs[gActiveBank].encoredMovePos] != gDisableStructs[gActiveBank].encoredMove) // pokemon does not have the encored move anymore + if (gBattleMons[gActiveBattler].moves[gDisableStructs[gActiveBattler].encoredMovePos] != gDisableStructs[gActiveBattler].encoredMove) // pokemon does not have the encored move anymore { - gDisableStructs[gActiveBank].encoredMove = 0; - gDisableStructs[gActiveBank].encoreTimer1 = 0; + gDisableStructs[gActiveBattler].encoredMove = 0; + gDisableStructs[gActiveBattler].encoreTimer1 = 0; } - else if (--gDisableStructs[gActiveBank].encoreTimer1 == 0 - || gBattleMons[gActiveBank].pp[gDisableStructs[gActiveBank].encoredMovePos] == 0) + else if (--gDisableStructs[gActiveBattler].encoreTimer1 == 0 + || gBattleMons[gActiveBattler].pp[gDisableStructs[gActiveBattler].encoredMovePos] == 0) { - gDisableStructs[gActiveBank].encoredMove = 0; - gDisableStructs[gActiveBank].encoreTimer1 = 0; + gDisableStructs[gActiveBattler].encoredMove = 0; + gDisableStructs[gActiveBattler].encoreTimer1 = 0; BattleScriptExecute(BattleScript_EncoredNoMore); effect++; } @@ -1178,33 +1026,33 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 14: // lock-on decrement - if (gStatuses3[gActiveBank] & STATUS3_ALWAYS_HITS) - gStatuses3[gActiveBank] -= 0x8; + if (gStatuses3[gActiveBattler] & STATUS3_ALWAYS_HITS) + gStatuses3[gActiveBattler] -= 0x8; gBattleStruct->turnEffectsTracker++; break; case 15: // charge - if (gDisableStructs[gActiveBank].chargeTimer1 && --gDisableStructs[gActiveBank].chargeTimer1 == 0) - gStatuses3[gActiveBank] &= ~STATUS3_CHARGED_UP; + if (gDisableStructs[gActiveBattler].chargeTimer1 && --gDisableStructs[gActiveBattler].chargeTimer1 == 0) + gStatuses3[gActiveBattler] &= ~STATUS3_CHARGED_UP; gBattleStruct->turnEffectsTracker++; break; case 16: // taunt - if (gDisableStructs[gActiveBank].tauntTimer1) - gDisableStructs[gActiveBank].tauntTimer1--; + if (gDisableStructs[gActiveBattler].tauntTimer1) + gDisableStructs[gActiveBattler].tauntTimer1--; gBattleStruct->turnEffectsTracker++; break; case 17: // yawn - if (gStatuses3[gActiveBank] & STATUS3_YAWN) + if (gStatuses3[gActiveBattler] & STATUS3_YAWN) { - gStatuses3[gActiveBank] -= 0x800; - if (!(gStatuses3[gActiveBank] & STATUS3_YAWN) && !(gBattleMons[gActiveBank].status1 & STATUS_ANY) - && gBattleMons[gActiveBank].ability != ABILITY_VITAL_SPIRIT - && gBattleMons[gActiveBank].ability != ABILITY_INSOMNIA && !UproarWakeUpCheck(gActiveBank)) + gStatuses3[gActiveBattler] -= 0x800; + if (!(gStatuses3[gActiveBattler] & STATUS3_YAWN) && !(gBattleMons[gActiveBattler].status1 & STATUS1_ANY) + && gBattleMons[gActiveBattler].ability != ABILITY_VITAL_SPIRIT + && gBattleMons[gActiveBattler].ability != ABILITY_INSOMNIA && !UproarWakeUpCheck(gActiveBattler)) { - CancelMultiTurnMoves(gActiveBank); - gBattleMons[gActiveBank].status1 |= (Random() & 3) + 2; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); - gEffectBank = gActiveBank; + CancelMultiTurnMoves(gActiveBattler); + gBattleMons[gActiveBattler].status1 |= (Random() & 3) + 2; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); + gEffectBattler = gActiveBattler; BattleScriptExecute(BattleScript_YawnMakesAsleep); effect++; } @@ -1213,7 +1061,7 @@ u8 TurnBasedEffects(void) break; case 19: // done gBattleStruct->turnEffectsTracker = 0; - gBattleStruct->turnEffectsBank++; + gBattleStruct->turnEffectsBattlerId++; break; } if (effect != 0) @@ -1224,96 +1072,88 @@ u8 TurnBasedEffects(void) return 0; } -bool8 sub_8041364(void) +bool8 HandleWishPerishSongOnTurnEnd(void) { gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20); - switch (gBattleStruct->field_1A0) + switch (gBattleStruct->wishPerishSongState) { case 0: - while (gBattleStruct->field_1A1 < gNoOfAllBanks) + while (gBattleStruct->wishPerishSongBattlerId < gBattlersCount) { - gActiveBank = gBattleStruct->field_1A1; - if (gAbsentBankFlags & gBitTable[gActiveBank]) + gActiveBattler = gBattleStruct->wishPerishSongBattlerId; + if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) { - gBattleStruct->field_1A1++; + gBattleStruct->wishPerishSongBattlerId++; continue; } - gBattleStruct->field_1A1++; - if (gWishFutureKnock.futureSightCounter[gActiveBank] != 0 - && --gWishFutureKnock.futureSightCounter[gActiveBank] == 0 - && gBattleMons[gActiveBank].hp != 0) + gBattleStruct->wishPerishSongBattlerId++; + if (gWishFutureKnock.futureSightCounter[gActiveBattler] != 0 + && --gWishFutureKnock.futureSightCounter[gActiveBattler] == 0 + && gBattleMons[gActiveBattler].hp != 0) { - if (gWishFutureKnock.futureSightMove[gActiveBank] == MOVE_FUTURE_SIGHT) + if (gWishFutureKnock.futureSightMove[gActiveBattler] == MOVE_FUTURE_SIGHT) gBattleCommunication[MULTISTRING_CHOOSER] = 0; else gBattleCommunication[MULTISTRING_CHOOSER] = 1; - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = gWishFutureKnock.futureSightMove[gActiveBank]; - gBattleTextBuff1[3] = gWishFutureKnock.futureSightMove[gActiveBank] >> 8; - gBattleTextBuff1[4] = EOS; - gBankTarget = gActiveBank; - gBankAttacker = gWishFutureKnock.futureSightAttacker[gActiveBank]; - gBattleMoveDamage = gWishFutureKnock.futureSightDmg[gActiveBank]; - gSpecialStatuses[gBankTarget].moveturnLostHP = 0xFFFF; - BattleScriptExecute(gUnknown_082DAFE4); + PREPARE_MOVE_BUFFER(gBattleTextBuff1, gWishFutureKnock.futureSightMove[gActiveBattler]); - if (gWishFutureKnock.futureSightCounter[gActiveBank] == 0 - && gWishFutureKnock.futureSightCounter[gActiveBank ^ 2] == 0) + gBattlerTarget = gActiveBattler; + gBattlerAttacker = gWishFutureKnock.futureSightAttacker[gActiveBattler]; + gBattleMoveDamage = gWishFutureKnock.futureSightDmg[gActiveBattler]; + gSpecialStatuses[gBattlerTarget].dmg = 0xFFFF; + BattleScriptExecute(BattleScript_MonTookFutureAttack); + + if (gWishFutureKnock.futureSightCounter[gActiveBattler] == 0 + && gWishFutureKnock.futureSightCounter[gActiveBattler ^ BIT_FLANK] == 0) { - gSideAffecting[GetBankIdentity(gBankTarget) & 1] &= ~SIDE_STATUS_FUTUREATTACK; + gSideStatuses[GET_BATTLER_SIDE(gBattlerTarget)] &= ~(SIDE_STATUS_FUTUREATTACK); } - return 1; + return TRUE; } } // Why do I have to keep doing this to match? { - u8* var = &gBattleStruct->field_1A0; - *var = 1; - gBattleStruct->field_1A1 = 0; + u8 *state = &gBattleStruct->wishPerishSongState; + *state = 1; + gBattleStruct->wishPerishSongBattlerId = 0; } // fall through case 1: - while (gBattleStruct->field_1A1 < gNoOfAllBanks) + while (gBattleStruct->wishPerishSongBattlerId < gBattlersCount) { - gActiveBank = gBankAttacker = gBanksByTurnOrder[gBattleStruct->field_1A1]; - if (gAbsentBankFlags & gBitTable[gActiveBank]) + gActiveBattler = gBattlerAttacker = gBattleTurnOrder[gBattleStruct->wishPerishSongBattlerId]; + if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) { - gBattleStruct->field_1A1++; + gBattleStruct->wishPerishSongBattlerId++; continue; } - gBattleStruct->field_1A1++; - if (gStatuses3[gActiveBank] & STATUS3_PERISH_SONG) + gBattleStruct->wishPerishSongBattlerId++; + if (gStatuses3[gActiveBattler] & STATUS3_PERISH_SONG) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 1; - gBattleTextBuff1[2] = 1; - gBattleTextBuff1[3] = 1; - gBattleTextBuff1[4] = gDisableStructs[gActiveBank].perishSong1; - gBattleTextBuff1[5] = EOS; - if (gDisableStructs[gActiveBank].perishSong1 == 0) + PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff1, 1, gDisableStructs[gActiveBattler].perishSongTimer1); + if (gDisableStructs[gActiveBattler].perishSongTimer1 == 0) { - gStatuses3[gActiveBank] &= ~STATUS3_PERISH_SONG; - gBattleMoveDamage = gBattleMons[gActiveBank].hp; - gBattlescriptCurrInstr = gUnknown_082DAF05; + gStatuses3[gActiveBattler] &= ~STATUS3_PERISH_SONG; + gBattleMoveDamage = gBattleMons[gActiveBattler].hp; + gBattlescriptCurrInstr = BattleScript_PerishSongTakesLife; } else { - gDisableStructs[gActiveBank].perishSong1--; - gBattlescriptCurrInstr = gUnknown_082DAF20; + gDisableStructs[gActiveBattler].perishSongTimer1--; + gBattlescriptCurrInstr = BattleScript_PerishSongCountGoesDown; } BattleScriptExecute(gBattlescriptCurrInstr); - return 1; + return TRUE; } } // Hm... { - u8* var = &gBattleStruct->field_1A0; - *var = 2; - gBattleStruct->field_1A1 = 0; + u8 *state = &gBattleStruct->wishPerishSongState; + *state = 2; + gBattleStruct->wishPerishSongBattlerId = 0; } // fall through case 2: @@ -1326,103 +1166,103 @@ bool8 sub_8041364(void) for (i = 0; i < 2; i++) CancelMultiTurnMoves(i); - gBattlescriptCurrInstr = gUnknown_082DB8F3; - BattleScriptExecute(gUnknown_082DB8F3); - gBattleStruct->field_1A0++; - return 1; + gBattlescriptCurrInstr = BattleScript_82DB8F3; + BattleScriptExecute(BattleScript_82DB8F3); + gBattleStruct->wishPerishSongState++; + return TRUE; } break; } gHitMarker &= ~(HITMARKER_GRUDGE | HITMARKER_x20); - return 0; + return FALSE; } -#define sub_8041728_MAX_CASE 7 +#define FAINTED_ACTIONS_MAX_CASE 7 -bool8 sub_8041728(void) +bool8 HandleFaintedMonActions(void) { if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) return FALSE; do { int i; - switch (gBattleStruct->field_4D) + switch (gBattleStruct->faintedActionsState) { case 0: - gBattleStruct->field_4E = 0; - gBattleStruct->field_4D++; - for (i = 0; i < gNoOfAllBanks; i++) + gBattleStruct->faintedActionsBattlerId = 0; + gBattleStruct->faintedActionsState++; + for (i = 0; i < gBattlersCount; i++) { - if (gAbsentBankFlags & gBitTable[i] && !sub_80423F4(i, 6, 6)) - gAbsentBankFlags &= ~(gBitTable[i]); + if (gAbsentBattlerFlags & gBitTable[i] && !sub_80423F4(i, 6, 6)) + gAbsentBattlerFlags &= ~(gBitTable[i]); } // fall through case 1: do { - gBank1 = gBankTarget = gBattleStruct->field_4E; - if (gBattleMons[gBattleStruct->field_4E].hp == 0 - && !(gBattleStruct->field_DF & gBitTable[gBattlePartyID[gBattleStruct->field_4E]]) - && !(gAbsentBankFlags & gBitTable[gBattleStruct->field_4E])) + gBattlerFainted = gBattlerTarget = gBattleStruct->faintedActionsBattlerId; + if (gBattleMons[gBattleStruct->faintedActionsBattlerId].hp == 0 + && !(gBattleStruct->field_DF & gBitTable[gBattlerPartyIndexes[gBattleStruct->faintedActionsBattlerId]]) + && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->faintedActionsBattlerId])) { - BattleScriptExecute(gUnknown_082DA7C4); - gBattleStruct->field_4D = 2; + BattleScriptExecute(BattleScript_GiveExp); + gBattleStruct->faintedActionsState = 2; return TRUE; } - } while (++gBattleStruct->field_4E != gNoOfAllBanks); - gBattleStruct->field_4D = 3; + } while (++gBattleStruct->faintedActionsBattlerId != gBattlersCount); + gBattleStruct->faintedActionsState = 3; break; case 2: - sub_803F9EC(gBank1); - if (++gBattleStruct->field_4E == gNoOfAllBanks) - gBattleStruct->field_4D = 3; + sub_803F9EC(gBattlerFainted); + if (++gBattleStruct->faintedActionsBattlerId == gBattlersCount) + gBattleStruct->faintedActionsState = 3; else - gBattleStruct->field_4D = 1; + gBattleStruct->faintedActionsState = 1; break; case 3: - gBattleStruct->field_4E = 0; - gBattleStruct->field_4D++; + gBattleStruct->faintedActionsBattlerId = 0; + gBattleStruct->faintedActionsState++; // fall through case 4: do { - gBank1 = gBankTarget = gBattleStruct->field_4E; - if (gBattleMons[gBattleStruct->field_4E].hp == 0 - && !(gAbsentBankFlags & gBitTable[gBattleStruct->field_4E])) + gBattlerFainted = gBattlerTarget = gBattleStruct->faintedActionsBattlerId; + if (gBattleMons[gBattleStruct->faintedActionsBattlerId].hp == 0 + && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->faintedActionsBattlerId])) { - BattleScriptExecute(gUnknown_082DA7CD); - gBattleStruct->field_4D = 5; + BattleScriptExecute(BattleScript_HandleFaintedMon); + gBattleStruct->faintedActionsState = 5; return TRUE; } - } while (++gBattleStruct->field_4E != gNoOfAllBanks); - gBattleStruct->field_4D = 6; + } while (++gBattleStruct->faintedActionsBattlerId != gBattlersCount); + gBattleStruct->faintedActionsState = 6; break; case 5: - if (++gBattleStruct->field_4E == gNoOfAllBanks) - gBattleStruct->field_4D = 6; + if (++gBattleStruct->faintedActionsBattlerId == gBattlersCount) + gBattleStruct->faintedActionsState = 6; else - gBattleStruct->field_4D = 4; + gBattleStruct->faintedActionsState = 4; break; case 6: if (AbilityBattleEffects(ABILITYEFFECT_INTIMIDATE1, 0, 0, 0, 0) || AbilityBattleEffects(ABILITYEFFECT_TRACE, 0, 0, 0, 0) || ItemBattleEffects(1, 0, 1) || AbilityBattleEffects(ABILITYEFFECT_FORECAST, 0, 0, 0, 0)) return TRUE; - gBattleStruct->field_4D++; + gBattleStruct->faintedActionsState++; break; - case 7: + case FAINTED_ACTIONS_MAX_CASE: break; } - } while (gBattleStruct->field_4D != sub_8041728_MAX_CASE); + } while (gBattleStruct->faintedActionsState != FAINTED_ACTIONS_MAX_CASE); return FALSE; } void TryClearRageStatuses(void) { int i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - if ((gBattleMons[i].status2 & STATUS2_RAGE) && gChosenMovesByBanks[i] != MOVE_RAGE) + if ((gBattleMons[i].status2 & STATUS2_RAGE) && gChosenMoveByBattler[i] != MOVE_RAGE) gBattleMons[i].status2 &= ~(STATUS2_RAGE); } } @@ -1432,23 +1272,23 @@ void TryClearRageStatuses(void) u8 AtkCanceller_UnableToUseMove(void) { u8 effect = 0; - s32* bideDmg = &gBattleScripting.bideDmg; + s32 *bideDmg = &gBattleScripting.bideDmg; do { switch (gBattleStruct->atkCancellerTracker) { case 0: // flags clear - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_DESTINY_BOND); - gStatuses3[gBankAttacker] &= ~(STATUS3_GRUDGE); + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_DESTINY_BOND); + gStatuses3[gBattlerAttacker] &= ~(STATUS3_GRUDGE); gBattleStruct->atkCancellerTracker++; break; case 1: // check being asleep - if (gBattleMons[gBankAttacker].status1 & STATUS_SLEEP) + if (gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP) { - if (UproarWakeUpCheck(gBankAttacker)) + if (UproarWakeUpCheck(gBattlerAttacker)) { - gBattleMons[gBankAttacker].status1 &= ~(STATUS_SLEEP); - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[gBattlerAttacker].status1 &= ~(STATUS1_SLEEP); + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = 1; gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp; @@ -1457,15 +1297,15 @@ u8 AtkCanceller_UnableToUseMove(void) else { u8 toSub; - if (gBattleMons[gBankAttacker].ability == ABILITY_EARLY_BIRD) + if (gBattleMons[gBattlerAttacker].ability == ABILITY_EARLY_BIRD) toSub = 2; else toSub = 1; - if ((gBattleMons[gBankAttacker].status1 & STATUS_SLEEP) < toSub) - gBattleMons[gBankAttacker].status1 &= ~(STATUS_SLEEP); + if ((gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP) < toSub) + gBattleMons[gBattlerAttacker].status1 &= ~(STATUS1_SLEEP); else - gBattleMons[gBankAttacker].status1 -= toSub; - if (gBattleMons[gBankAttacker].status1 & STATUS_SLEEP) + gBattleMons[gBattlerAttacker].status1 -= toSub; + if (gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP) { if (gCurrentMove != MOVE_SNORE && gCurrentMove != MOVE_SLEEP_TALK) { @@ -1476,7 +1316,7 @@ u8 AtkCanceller_UnableToUseMove(void) } else { - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = 0; gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp; @@ -1487,7 +1327,7 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 2: // check being frozen - if (gBattleMons[gBankAttacker].status1 & STATUS_FREEZE) + if (gBattleMons[gBattlerAttacker].status1 & STATUS1_FREEZE) { if (Random() % 5) { @@ -1504,7 +1344,7 @@ u8 AtkCanceller_UnableToUseMove(void) } else // unfreeze { - gBattleMons[gBankAttacker].status1 &= ~(STATUS_FREEZE); + gBattleMons[gBattlerAttacker].status1 &= ~(STATUS1_FREEZE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze; gBattleCommunication[MULTISTRING_CHOOSER] = 0; @@ -1514,23 +1354,23 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 3: // truant - if (gBattleMons[gBankAttacker].ability == ABILITY_TRUANT && gDisableStructs[gBankAttacker].truantCounter) + if (gBattleMons[gBattlerAttacker].ability == ABILITY_TRUANT && gDisableStructs[gBattlerAttacker].truantCounter) { - CancelMultiTurnMoves(gBankAttacker); + CancelMultiTurnMoves(gBattlerAttacker); gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; gBattleCommunication[MULTISTRING_CHOOSER] = 0; gBattlescriptCurrInstr = BattleScript_MoveUsedLoafingAround; - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; effect = 1; } gBattleStruct->atkCancellerTracker++; break; case 4: // recharge - if (gBattleMons[gBankAttacker].status2 & STATUS2_RECHARGE) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_RECHARGE) { - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_RECHARGE); - gDisableStructs[gBankAttacker].rechargeCounter = 0; - CancelMultiTurnMoves(gBankAttacker); + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_RECHARGE); + gDisableStructs[gBattlerAttacker].rechargeCounter = 0; + CancelMultiTurnMoves(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedMustRecharge; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1538,11 +1378,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 5: // flinch - if (gBattleMons[gBankAttacker].status2 & STATUS2_FLINCHED) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_FLINCHED) { - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_FLINCHED); - gProtectStructs[gBankAttacker].flinchImmobility = 1; - CancelMultiTurnMoves(gBankAttacker); + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_FLINCHED); + gProtectStructs[gBattlerAttacker].flinchImmobility = 1; + CancelMultiTurnMoves(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedFlinched; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1550,11 +1390,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 6: // disabled move - if (gDisableStructs[gBankAttacker].disabledMove == gCurrentMove && gDisableStructs[gBankAttacker].disabledMove != 0) + if (gDisableStructs[gBattlerAttacker].disabledMove == gCurrentMove && gDisableStructs[gBattlerAttacker].disabledMove != 0) { - gProtectStructs[gBankAttacker].usedDisabledMove = 1; - gBattleScripting.bank = gBankAttacker; - CancelMultiTurnMoves(gBankAttacker); + gProtectStructs[gBattlerAttacker].usedDisabledMove = 1; + gBattleScripting.battler = gBattlerAttacker; + CancelMultiTurnMoves(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedIsDisabled; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1562,10 +1402,10 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 7: // taunt - if (gDisableStructs[gBankAttacker].tauntTimer1 && gBattleMoves[gCurrentMove].power == 0) + if (gDisableStructs[gBattlerAttacker].tauntTimer1 && gBattleMoves[gCurrentMove].power == 0) { - gProtectStructs[gBankAttacker].usedTauntedMove = 1; - CancelMultiTurnMoves(gBankAttacker); + gProtectStructs[gBattlerAttacker].usedTauntedMove = 1; + CancelMultiTurnMoves(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedIsTaunted; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1573,10 +1413,10 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 8: // imprisoned - if (GetImprisonedMovesCount(gBankAttacker, gCurrentMove)) + if (GetImprisonedMovesCount(gBattlerAttacker, gCurrentMove)) { - gProtectStructs[gBankAttacker].usedImprisionedMove = 1; - CancelMultiTurnMoves(gBankAttacker); + gProtectStructs[gBattlerAttacker].usedImprisionedMove = 1; + CancelMultiTurnMoves(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedIsImprisoned; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1584,10 +1424,10 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 9: // confusion - if (gBattleMons[gBankAttacker].status2 & STATUS2_CONFUSION) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_CONFUSION) { - gBattleMons[gBankAttacker].status2--; - if (gBattleMons[gBankAttacker].status2 & STATUS2_CONFUSION) + gBattleMons[gBattlerAttacker].status2--; + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_CONFUSION) { if (Random() & 1) { @@ -1597,9 +1437,9 @@ u8 AtkCanceller_UnableToUseMove(void) else // confusion dmg { gBattleCommunication[MULTISTRING_CHOOSER] = 1; - gBankTarget = gBankAttacker; - gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankAttacker], MOVE_POUND, 0, 40, 0, gBankAttacker, gBankAttacker); - gProtectStructs[gBankAttacker].confusionSelfDmg = 1; + gBattlerTarget = gBattlerAttacker; + gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattlerAttacker], &gBattleMons[gBattlerAttacker], MOVE_POUND, 0, 40, 0, gBattlerAttacker, gBattlerAttacker); + gProtectStructs[gBattlerAttacker].confusionSelfDmg = 1; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; } gBattlescriptCurrInstr = BattleScript_MoveUsedIsConfused; @@ -1614,11 +1454,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 10: // paralysis - if ((gBattleMons[gBankAttacker].status1 & STATUS_PARALYSIS) && (Random() % 4) == 0) + if ((gBattleMons[gBattlerAttacker].status1 & STATUS1_PARALYSIS) && (Random() % 4) == 0) { - gProtectStructs[gBankAttacker].prlzImmobility = 1; + gProtectStructs[gBattlerAttacker].prlzImmobility = 1; // This is removed in Emerald for some reason - //CancelMultiTurnMoves(gBankAttacker); + //CancelMultiTurnMoves(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedIsParalyzed; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1626,17 +1466,17 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 11: // infatuation - if (gBattleMons[gBankAttacker].status2 & STATUS2_INFATUATION) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_INFATUATION) { - gBattleScripting.bank = CountTrailingZeroBits((gBattleMons[gBankAttacker].status2 & STATUS2_INFATUATION) >> 0x10); + gBattleScripting.battler = CountTrailingZeroBits((gBattleMons[gBattlerAttacker].status2 & STATUS2_INFATUATION) >> 0x10); if (Random() & 1) BattleScriptPushCursor(); else { BattleScriptPush(BattleScript_MoveUsedIsParalyzedCantAttack); gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; - gProtectStructs[gBankAttacker].loveImmobility = 1; - CancelMultiTurnMoves(gBankAttacker); + gProtectStructs[gBattlerAttacker].loveImmobility = 1; + CancelMultiTurnMoves(gBattlerAttacker); } gBattlescriptCurrInstr = BattleScript_MoveUsedIsInLove; effect = 1; @@ -1644,22 +1484,22 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 12: // bide - if (gBattleMons[gBankAttacker].status2 & STATUS2_BIDE) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_BIDE) { - gBattleMons[gBankAttacker].status2 -= 0x100; - if (gBattleMons[gBankAttacker].status2 & STATUS2_BIDE) + gBattleMons[gBattlerAttacker].status2 -= 0x100; + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_BIDE) gBattlescriptCurrInstr = BattleScript_BideStoringEnergy; else { // This is removed in Emerald for some reason - //gBattleMons[gBankAttacker].status2 &= ~(STATUS2_MULTIPLETURNS); - if (gTakenDmg[gBankAttacker]) + //gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_MULTIPLETURNS); + if (gTakenDmg[gBattlerAttacker]) { gCurrentMove = MOVE_BIDE; - *bideDmg = gTakenDmg[gBankAttacker] * 2; - gBankTarget = gTakenDmgBanks[gBankAttacker]; - if (gAbsentBankFlags & gBitTable[gBankTarget]) - gBankTarget = GetMoveTarget(MOVE_BIDE, 1); + *bideDmg = gTakenDmg[gBattlerAttacker] * 2; + gBattlerTarget = gTakenDmgByBattler[gBattlerAttacker]; + if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + gBattlerTarget = GetMoveTarget(MOVE_BIDE, 1); gBattlescriptCurrInstr = BattleScript_BideAttack; } else @@ -1670,11 +1510,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 13: // move thawing - if (gBattleMons[gBankAttacker].status1 & STATUS_FREEZE) + if (gBattleMons[gBattlerAttacker].status1 & STATUS1_FREEZE) { if (gBattleMoves[gCurrentMove].effect == EFFECT_THAW_HIT) { - gBattleMons[gBankAttacker].status1 &= ~(STATUS_FREEZE); + gBattleMons[gBattlerAttacker].status1 &= ~(STATUS1_FREEZE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze; gBattleCommunication[MULTISTRING_CHOOSER] = 1; @@ -1683,7 +1523,7 @@ u8 AtkCanceller_UnableToUseMove(void) } gBattleStruct->atkCancellerTracker++; break; - case 14: // last case + case ATKCANCELLER_MAX_CASE: break; } @@ -1691,14 +1531,14 @@ u8 AtkCanceller_UnableToUseMove(void) if (effect == 2) { - gActiveBank = gBankAttacker; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBattlerAttacker; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); } return effect; } -bool8 sub_80423F4(u8 bank, u8 r1, u8 r2) +bool8 sub_80423F4(u8 battler, u8 r1, u8 r2) { struct Pokemon* party; u8 r7; @@ -1708,11 +1548,11 @@ bool8 sub_80423F4(u8 bank, u8 r1, u8 r2) return FALSE; if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) { - if (GetBankSide(bank) == SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; - r6 = ((bank & 2) / 2); + r6 = ((battler & 2) / 2); for (i = r6 * 3; i < r6 * 3 + 3; i++) { if (GetMonData(&party[i], MON_DATA_HP) != 0 @@ -1726,10 +1566,10 @@ bool8 sub_80423F4(u8 bank, u8 r1, u8 r2) { if (gBattleTypeFlags & BATTLE_TYPE_x800000) { - if (GetBankSide(bank) == SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { party = gPlayerParty; - r7 = GetBankMultiplayerId(bank); + r7 = GetBattlerMultiplayerId(battler); r6 = sub_806D82C(r7); } else @@ -1742,14 +1582,14 @@ bool8 sub_80423F4(u8 bank, u8 r1, u8 r2) #endif // NONMATCHING party = gEnemyParty; - var = bank ^ 1; + var = battler ^ 1; r6 = (var != 0) ? 1 : 0; } } else { - r7 = GetBankMultiplayerId(bank); - if (GetBankSide(bank) == SIDE_PLAYER) + r7 = GetBattlerMultiplayerId(battler); + if (GetBattlerSide(battler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; @@ -1764,11 +1604,11 @@ bool8 sub_80423F4(u8 bank, u8 r1, u8 r2) } return (i == r6 * 3 + 3); } - else if ((gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) && GetBankSide(bank) == SIDE_OPPONENT) + else if ((gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) && GetBattlerSide(battler) == B_SIDE_OPPONENT) { party = gEnemyParty; - if (bank == 1) + if (battler == 1) r6 = 0; else r6 = 3; @@ -1783,29 +1623,29 @@ bool8 sub_80423F4(u8 bank, u8 r1, u8 r2) } else { - if (GetBankSide(bank) == SIDE_OPPONENT) + if (GetBattlerSide(battler) == B_SIDE_OPPONENT) { - r7 = GetBankByIdentity(1); - r6 = GetBankByIdentity(3); + r7 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + r6 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); party = gEnemyParty; } else { - r7 = GetBankByIdentity(0); - r6 = GetBankByIdentity(2); + r7 = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + r6 = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); party = gPlayerParty; } if (r1 == 6) - r1 = gBattlePartyID[r7]; + r1 = gBattlerPartyIndexes[r7]; if (r2 == 6) - r2 = gBattlePartyID[r6]; + r2 = gBattlerPartyIndexes[r6]; for (i = 0; i < 6; i++) { if (GetMonData(&party[i], MON_DATA_HP) != 0 && GetMonData(&party[i], MON_DATA_SPECIES2) != 0 && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_EGG // FIXME: Using index[array] instead of array[index] is BAD! - && i != r1 && i != r2 && i != r7[gBattleStruct->field_5C] && i != r6[gBattleStruct->field_5C]) + && i != r1 && i != r2 && i != r7[gBattleStruct->monToSwitchIntoId] && i != r6[gBattleStruct->monToSwitchIntoId]) break; } return (i == 6); @@ -1821,48 +1661,48 @@ enum CASTFORM_TO_ICE, //4 }; -u8 CastformDataTypeChange(u8 bank) +u8 CastformDataTypeChange(u8 battler) { u8 formChange = 0; - if (gBattleMons[bank].species != SPECIES_CASTFORM || gBattleMons[bank].ability != ABILITY_FORECAST || gBattleMons[bank].hp == 0) + if (gBattleMons[battler].species != SPECIES_CASTFORM || gBattleMons[battler].ability != ABILITY_FORECAST || gBattleMons[battler].hp == 0) return CASTFORM_NO_CHANGE; - if (!WEATHER_HAS_EFFECT && gBattleMons[bank].type1 != TYPE_NORMAL && gBattleMons[bank].type2 != TYPE_NORMAL) + if (!WEATHER_HAS_EFFECT && gBattleMons[battler].type1 != TYPE_NORMAL && gBattleMons[battler].type2 != TYPE_NORMAL) { - gBattleMons[bank].type1 = TYPE_NORMAL; - gBattleMons[bank].type2 = TYPE_NORMAL; + gBattleMons[battler].type1 = TYPE_NORMAL; + gBattleMons[battler].type2 = TYPE_NORMAL; return CASTFORM_TO_NORMAL; } if (!WEATHER_HAS_EFFECT) return CASTFORM_NO_CHANGE; - if (!(gBattleWeather & (WEATHER_RAIN_ANY | WEATHER_SUN_ANY | WEATHER_HAIL)) && gBattleMons[bank].type1 != TYPE_NORMAL && gBattleMons[bank].type2 != TYPE_NORMAL) + if (!(gBattleWeather & (WEATHER_RAIN_ANY | WEATHER_SUN_ANY | WEATHER_HAIL)) && gBattleMons[battler].type1 != TYPE_NORMAL && gBattleMons[battler].type2 != TYPE_NORMAL) { - gBattleMons[bank].type1 = TYPE_NORMAL; - gBattleMons[bank].type2 = TYPE_NORMAL; + gBattleMons[battler].type1 = TYPE_NORMAL; + gBattleMons[battler].type2 = TYPE_NORMAL; formChange = CASTFORM_TO_NORMAL; } - if (gBattleWeather & WEATHER_SUN_ANY && gBattleMons[bank].type1 != TYPE_FIRE && gBattleMons[bank].type2 != TYPE_FIRE) + if (gBattleWeather & WEATHER_SUN_ANY && gBattleMons[battler].type1 != TYPE_FIRE && gBattleMons[battler].type2 != TYPE_FIRE) { - gBattleMons[bank].type1 = TYPE_FIRE; - gBattleMons[bank].type2 = TYPE_FIRE; + gBattleMons[battler].type1 = TYPE_FIRE; + gBattleMons[battler].type2 = TYPE_FIRE; formChange = CASTFORM_TO_FIRE; } - if (gBattleWeather & WEATHER_RAIN_ANY && gBattleMons[bank].type1 != TYPE_WATER && gBattleMons[bank].type2 != TYPE_WATER) + if (gBattleWeather & WEATHER_RAIN_ANY && gBattleMons[battler].type1 != TYPE_WATER && gBattleMons[battler].type2 != TYPE_WATER) { - gBattleMons[bank].type1 = TYPE_WATER; - gBattleMons[bank].type2 = TYPE_WATER; + gBattleMons[battler].type1 = TYPE_WATER; + gBattleMons[battler].type2 = TYPE_WATER; formChange = CASTFORM_TO_WATER; } - if (gBattleWeather & WEATHER_HAIL && gBattleMons[bank].type1 != TYPE_ICE && gBattleMons[bank].type2 != TYPE_ICE) + if (gBattleWeather & WEATHER_HAIL && gBattleMons[battler].type1 != TYPE_ICE && gBattleMons[battler].type2 != TYPE_ICE) { - gBattleMons[bank].type1 = TYPE_ICE; - gBattleMons[bank].type2 = TYPE_ICE; + gBattleMons[battler].type1 = TYPE_ICE; + gBattleMons[battler].type2 = TYPE_ICE; formChange = CASTFORM_TO_ICE; } return formChange; } // The largest function in the game, but even it could not save itself from decompiling. -u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) +u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveArg) { u8 effect = 0; struct Pokemon *pokeAtk; @@ -1872,19 +1712,19 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) u32 pidAtk; u32 pidDef; - if (gBankAttacker >= gNoOfAllBanks) - gBankAttacker = bank; - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) - pokeAtk = &gPlayerParty[gBattlePartyID[gBankAttacker]]; + if (gBattlerAttacker >= gBattlersCount) + gBattlerAttacker = battler; + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) + pokeAtk = &gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]]; else - pokeAtk = &gEnemyParty[gBattlePartyID[gBankAttacker]]; + pokeAtk = &gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker]]; - if (gBankTarget >= gNoOfAllBanks) - gBankTarget = bank; - if (GetBankSide(gBankTarget) == SIDE_PLAYER) - pokeDef = &gPlayerParty[gBattlePartyID[gBankTarget]]; + if (gBattlerTarget >= gBattlersCount) + gBattlerTarget = battler; + if (GetBattlerSide(gBattlerTarget) == B_SIDE_PLAYER) + pokeDef = &gPlayerParty[gBattlerPartyIndexes[gBattlerTarget]]; else - pokeDef = &gEnemyParty[gBattlePartyID[gBankTarget]]; + pokeDef = &gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]]; speciesAtk = GetMonData(pokeAtk, MON_DATA_SPECIES); pidAtk = GetMonData(pokeAtk, MON_DATA_PERSONALITY); @@ -1903,23 +1743,20 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (special) gLastUsedAbility = special; else - gLastUsedAbility = gBattleMons[bank].ability; + gLastUsedAbility = gBattleMons[battler].ability; if (moveArg) move = moveArg; else move = gCurrentMove; - if (gBattleStruct->dynamicMoveType) - moveType = gBattleStruct->dynamicMoveType & 0x3F; - else - moveType = gBattleMoves[move].type; + GET_MOVE_TYPE(move, moveType); switch (caseID) { case ABILITYEFFECT_ON_SWITCHIN: // 0 - if (gBankAttacker >= gNoOfAllBanks) - gBankAttacker = bank; + if (gBattlerAttacker >= gBattlersCount) + gBattlerAttacker = battler; switch (gLastUsedAbility) { case ABILITYEFFECT_SWITCH_IN_WEATHER: @@ -1934,7 +1771,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) { gBattleWeather = (WEATHER_RAIN_TEMPORARY | WEATHER_RAIN_PERMANENT); gBattleScripting.animArg1 = B_ANIM_RAIN_CONTINUES; - gBattleScripting.bank = bank; + gBattleScripting.battler = battler; effect++; } break; @@ -1943,7 +1780,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) { gBattleWeather = (WEATHER_SANDSTORM_PERMANENT | WEATHER_SANDSTORM_TEMPORARY); gBattleScripting.animArg1 = B_ANIM_SANDSTORM_CONTINUES; - gBattleScripting.bank = bank; + gBattleScripting.battler = battler; effect++; } break; @@ -1952,7 +1789,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) { gBattleWeather = (WEATHER_SUN_PERMANENT | WEATHER_SUN_TEMPORARY); gBattleScripting.animArg1 = B_ANIM_SUN_CONTINUES; - gBattleScripting.bank = bank; + gBattleScripting.battler = battler; effect++; } break; @@ -1961,7 +1798,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (effect) { gBattleCommunication[MULTISTRING_CHOOSER] = weather_get_current(); - BattleScriptPushCursorAndCallback(gUnknown_082DACE7); + BattleScriptPushCursorAndCallback(BattleScript_OverworldWeatherStarts); } break; case ABILITY_DRIZZLE: @@ -1969,7 +1806,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) { gBattleWeather = (WEATHER_RAIN_PERMANENT | WEATHER_RAIN_TEMPORARY); BattleScriptPushCursorAndCallback(BattleScript_DrizzleActivates); - gBattleScripting.bank = bank; + gBattleScripting.battler = battler; effect++; } break; @@ -1978,7 +1815,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) { gBattleWeather = (WEATHER_SANDSTORM_PERMANENT | WEATHER_SANDSTORM_TEMPORARY); BattleScriptPushCursorAndCallback(BattleScript_SandstreamActivates); - gBattleScripting.bank = bank; + gBattleScripting.battler = battler; effect++; } break; @@ -1987,44 +1824,44 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) { gBattleWeather = (WEATHER_SUN_PERMANENT | WEATHER_SUN_TEMPORARY); BattleScriptPushCursorAndCallback(BattleScript_DroughtActivates); - gBattleScripting.bank = bank; + gBattleScripting.battler = battler; effect++; } break; case ABILITY_INTIMIDATE: - if (!(gSpecialStatuses[bank].intimidatedPoke)) + if (!(gSpecialStatuses[battler].intimidatedPoke)) { - gStatuses3[bank] |= STATUS3_INTIMIDATE_POKES; - gSpecialStatuses[bank].intimidatedPoke = 1; + gStatuses3[battler] |= STATUS3_INTIMIDATE_POKES; + gSpecialStatuses[battler].intimidatedPoke = 1; } break; case ABILITY_FORECAST: - effect = CastformDataTypeChange(bank); + effect = CastformDataTypeChange(battler); if (effect != 0) { BattleScriptPushCursorAndCallback(BattleScript_CastformChange); - gBattleScripting.bank = bank; + gBattleScripting.battler = battler; *(&gBattleStruct->formToChangeInto) = effect - 1; } break; case ABILITY_TRACE: - if (!(gSpecialStatuses[bank].traced)) + if (!(gSpecialStatuses[battler].traced)) { - gStatuses3[bank] |= STATUS3_TRACE; - gSpecialStatuses[bank].traced = 1; + gStatuses3[battler] |= STATUS3_TRACE; + gSpecialStatuses[battler].traced = 1; } break; case ABILITY_CLOUD_NINE: case ABILITY_AIR_LOCK: { - // that's a weird choice for a variable, why not use i or bank? - for (target1 = 0; target1 < gNoOfAllBanks; target1++) + // that's a weird choice for a variable, why not use i or battler? + for (target1 = 0; target1 < gBattlersCount; target1++) { effect = CastformDataTypeChange(target1); if (effect != 0) { BattleScriptPushCursorAndCallback(BattleScript_CastformChange); - gBattleScripting.bank = target1; + gBattleScripting.battler = target1; *(&gBattleStruct->formToChangeInto) = effect - 1; break; } @@ -2034,18 +1871,18 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_ENDTURN: // 1 - if (gBattleMons[bank].hp != 0) + if (gBattleMons[battler].hp != 0) { - gBankAttacker = bank; + gBattlerAttacker = battler; switch (gLastUsedAbility) { case ABILITY_RAIN_DISH: if (WEATHER_HAS_EFFECT && (gBattleWeather & WEATHER_RAIN_ANY) - && gBattleMons[bank].maxHP > gBattleMons[bank].hp) + && gBattleMons[battler].maxHP > gBattleMons[battler].hp) { gLastUsedAbility = ABILITY_RAIN_DISH; // why BattleScriptPushCursorAndCallback(BattleScript_RainDishActivates); - gBattleMoveDamage = gBattleMons[bank].maxHP / 16; + gBattleMoveDamage = gBattleMons[battler].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; @@ -2053,40 +1890,40 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_SHED_SKIN: - if ((gBattleMons[bank].status1 & STATUS_ANY) && (Random() % 3) == 0) + if ((gBattleMons[battler].status1 & STATUS1_ANY) && (Random() % 3) == 0) { - if (gBattleMons[bank].status1 & (STATUS_POISON | STATUS_TOXIC_POISON)) + if (gBattleMons[battler].status1 & (STATUS1_POISON | STATUS1_TOXIC_POISON)) StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); - if (gBattleMons[bank].status1 & STATUS_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP) StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); - if (gBattleMons[bank].status1 & STATUS_PARALYSIS) + if (gBattleMons[battler].status1 & STATUS1_PARALYSIS) StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); - if (gBattleMons[bank].status1 & STATUS_BURN) + if (gBattleMons[battler].status1 & STATUS1_BURN) StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); - if (gBattleMons[bank].status1 & STATUS_FREEZE) + if (gBattleMons[battler].status1 & STATUS1_FREEZE) StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); - gBattleMons[bank].status1 = 0; - gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); // fix nightmare glitch - gBattleScripting.bank = gActiveBank = bank; + gBattleMons[battler].status1 = 0; + gBattleMons[battler].status2 &= ~(STATUS2_NIGHTMARE); // fix nightmare glitch + gBattleScripting.battler = gActiveBattler = battler; BattleScriptPushCursorAndCallback(BattleScript_ShedSkinActivates); - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[bank].status1); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + MarkBattlerForControllerExec(gActiveBattler); effect++; } break; case ABILITY_SPEED_BOOST: - if (gBattleMons[bank].statStages[STAT_STAGE_SPEED] < 0xC && gDisableStructs[bank].isFirstTurn != 2) + if (gBattleMons[battler].statStages[STAT_SPEED] < 0xC && gDisableStructs[battler].isFirstTurn != 2) { - gBattleMons[bank].statStages[STAT_STAGE_SPEED]++; + gBattleMons[battler].statStages[STAT_SPEED]++; gBattleScripting.animArg1 = 0x11; gBattleScripting.animArg2 = 0; BattleScriptPushCursorAndCallback(BattleScript_SpeedBoostActivates); - gBattleScripting.bank = bank; + gBattleScripting.battler = battler; effect++; } break; case ABILITY_TRUANT: - gDisableStructs[gBankAttacker].truantCounter ^= 1; + gDisableStructs[gBattlerAttacker].truantCounter ^= 1; break; } } @@ -2101,7 +1938,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } if (sSoundMovesTable[i] != 0xFFFF) { - if (gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS) gHitMarker |= HITMARKER_NO_PPDEDUCT; gBattlescriptCurrInstr = BattleScript_SoundproofProtected; effect = 1; @@ -2116,7 +1953,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_VOLT_ABSORB: if (moveType == TYPE_ELECTRIC && gBattleMoves[move].power != 0) { - if (gProtectStructs[gBankAttacker].notFirstStrike) + if (gProtectStructs[gBattlerAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_MoveHPDrain; else gBattlescriptCurrInstr = BattleScript_MoveHPDrain_PPLoss; @@ -2127,7 +1964,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_WATER_ABSORB: if (moveType == TYPE_WATER && gBattleMoves[move].power != 0) { - if (gProtectStructs[gBankAttacker].notFirstStrike) + if (gProtectStructs[gBattlerAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_MoveHPDrain; else gBattlescriptCurrInstr = BattleScript_MoveHPDrain_PPLoss; @@ -2136,23 +1973,23 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_FLASH_FIRE: - if (moveType == TYPE_FIRE && !(gBattleMons[bank].status1 & STATUS_FREEZE)) + if (moveType == TYPE_FIRE && !(gBattleMons[battler].status1 & STATUS1_FREEZE)) { - if (!(gBattleResources->flags->flags[bank] & UNKNOWN_FLAG_FLASH_FIRE)) + if (!(gBattleResources->flags->flags[battler] & UNKNOWN_FLAG_FLASH_FIRE)) { gBattleCommunication[MULTISTRING_CHOOSER] = 0; - if (gProtectStructs[gBankAttacker].notFirstStrike) + if (gProtectStructs[gBattlerAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_FlashFireBoost; else gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; - gBattleResources->flags->flags[bank] |= UNKNOWN_FLAG_FLASH_FIRE; + gBattleResources->flags->flags[battler] |= UNKNOWN_FLAG_FLASH_FIRE; effect = 2; } else { gBattleCommunication[MULTISTRING_CHOOSER] = 1; - if (gProtectStructs[gBankAttacker].notFirstStrike) + if (gProtectStructs[gBattlerAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_FlashFireBoost; else gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; @@ -2164,16 +2001,16 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } if (effect == 1) { - if (gBattleMons[bank].maxHP == gBattleMons[bank].hp) + if (gBattleMons[battler].maxHP == gBattleMons[battler].hp) { - if ((gProtectStructs[gBankAttacker].notFirstStrike)) - gBattlescriptCurrInstr = gUnknown_082DB592; + if ((gProtectStructs[gBattlerAttacker].notFirstStrike)) + gBattlescriptCurrInstr = BattleScript_MonMadeMoveUseless; else - gBattlescriptCurrInstr = gUnknown_082DB591; + gBattlescriptCurrInstr = BattleScript_MonMadeMoveUseless_PPLoss; } else { - gBattleMoveDamage = gBattleMons[bank].maxHP / 4; + gBattleMoveDamage = gBattleMons[battler].maxHP / 4; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; @@ -2185,16 +2022,16 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) switch (gLastUsedAbility) { case ABILITY_COLOR_CHANGE: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && move != MOVE_STRUGGLE && gBattleMoves[move].power != 0 - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) - && gBattleMons[bank].type1 != moveType - && gBattleMons[bank].type2 != moveType - && gBattleMons[bank].hp != 0) + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) + && gBattleMons[battler].type1 != moveType + && gBattleMons[battler].type2 != moveType + && gBattleMons[battler].hp != 0) { - gBattleMons[bank].type1 = moveType; - gBattleMons[bank].type2 = moveType; + gBattleMons[battler].type1 = moveType; + gBattleMons[battler].type2 = moveType; PREPARE_TYPE_BUFFER(gBattleTextBuff1, moveType) BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_ColorChangeActivates; @@ -2202,13 +2039,13 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_ROUGH_SKIN: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT)) { - gBattleMoveDamage = gBattleMons[gBankAttacker].maxHP / 16; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptPushCursor(); @@ -2217,10 +2054,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_EFFECT_SPORE: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) && (Random() % 10) == 0) { @@ -2240,10 +2077,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_POISON_POINT: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) && (Random() % 3) == 0) { @@ -2255,10 +2092,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_STATIC: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) && (Random() % 3) == 0) { @@ -2270,11 +2107,11 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_FLAME_BODY: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && (Random() % 3) == 0) { gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_BURN; @@ -2285,20 +2122,20 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_CUTE_CHARM: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) - && gBattleMons[gBankTarget].hp != 0 + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) + && gBattleMons[gBattlerTarget].hp != 0 && (Random() % 3) == 0 - && gBattleMons[gBankAttacker].ability != ABILITY_OBLIVIOUS + && gBattleMons[gBattlerAttacker].ability != ABILITY_OBLIVIOUS && GetGenderFromSpeciesAndPersonality(speciesAtk, pidAtk) != GetGenderFromSpeciesAndPersonality(speciesDef, pidDef) - && !(gBattleMons[gBankAttacker].status2 & STATUS2_INFATUATION) + && !(gBattleMons[gBattlerAttacker].status2 & STATUS2_INFATUATION) && GetGenderFromSpeciesAndPersonality(speciesAtk, pidAtk) != MON_GENDERLESS && GetGenderFromSpeciesAndPersonality(speciesDef, pidDef) != MON_GENDERLESS) { - gBattleMons[gBankAttacker].status2 |= STATUS2_INFATUATED_WITH(gBankTarget); + gBattleMons[gBattlerAttacker].status2 |= STATUS2_INFATUATED_WITH(gBattlerTarget); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_CuteCharmActivates; effect++; @@ -2307,99 +2144,97 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_IMMUNITY: // 5 + for (battler = 0; battler < gBattlersCount; battler++) { - for (bank = 0; bank < gNoOfAllBanks; bank++) + switch (gBattleMons[battler].ability) { - switch (gBattleMons[bank].ability) + case ABILITY_IMMUNITY: + if (gBattleMons[battler].status1 & (STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_TOXIC_COUNTER)) { - case ABILITY_IMMUNITY: - if (gBattleMons[bank].status1 & (STATUS_POISON | STATUS_TOXIC_POISON | STATUS_TOXIC_COUNTER)) - { - StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); - effect = 1; - } + StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); + effect = 1; + } + break; + case ABILITY_OWN_TEMPO: + if (gBattleMons[battler].status2 & STATUS2_CONFUSION) + { + StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn); + effect = 2; + } + break; + case ABILITY_LIMBER: + if (gBattleMons[battler].status1 & STATUS1_PARALYSIS) + { + StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); + effect = 1; + } + break; + case ABILITY_INSOMNIA: + case ABILITY_VITAL_SPIRIT: + if (gBattleMons[battler].status1 & STATUS1_SLEEP) + { + gBattleMons[battler].status2 &= ~(STATUS2_NIGHTMARE); + StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); + effect = 1; + } + break; + case ABILITY_WATER_VEIL: + if (gBattleMons[battler].status1 & STATUS1_BURN) + { + StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); + effect = 1; + } + break; + case ABILITY_MAGMA_ARMOR: + if (gBattleMons[battler].status1 & STATUS1_FREEZE) + { + StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); + effect = 1; + } + break; + case ABILITY_OBLIVIOUS: + if (gBattleMons[battler].status2 & STATUS2_INFATUATION) + { + StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn); + effect = 3; + } + break; + } + if (effect) + { + switch (effect) + { + case 1: // status cleared + gBattleMons[battler].status1 = 0; break; - case ABILITY_OWN_TEMPO: - if (gBattleMons[bank].status2 & STATUS2_CONFUSION) - { - StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn); - effect = 2; - } + case 2: // get rid of confusion + gBattleMons[battler].status2 &= ~(STATUS2_CONFUSION); break; - case ABILITY_LIMBER: - if (gBattleMons[bank].status1 & STATUS_PARALYSIS) - { - StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); - effect = 1; - } - break; - case ABILITY_INSOMNIA: - case ABILITY_VITAL_SPIRIT: - if (gBattleMons[bank].status1 & STATUS_SLEEP) - { - gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); - StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); - effect = 1; - } - break; - case ABILITY_WATER_VEIL: - if (gBattleMons[bank].status1 & STATUS_BURN) - { - StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); - effect = 1; - } - break; - case ABILITY_MAGMA_ARMOR: - if (gBattleMons[bank].status1 & STATUS_FREEZE) - { - StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); - effect = 1; - } - break; - case ABILITY_OBLIVIOUS: - if (gBattleMons[bank].status2 & STATUS2_INFATUATION) - { - StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn); - effect = 3; - } + case 3: // get rid of infatuation + gBattleMons[battler].status2 &= ~(STATUS2_INFATUATION); break; } - if (effect) - { - switch (effect) - { - case 1: // status cleared - gBattleMons[bank].status1 = 0; - break; - case 2: // get rid of confusion - gBattleMons[bank].status2 &= ~(STATUS2_CONFUSION); - break; - case 3: // get rid of infatuation - gBattleMons[bank].status2 &= ~(STATUS2_INFATUATION); - break; - } - BattleScriptPushCursor(); - gBattlescriptCurrInstr = gUnknown_082DB68C; - gBattleScripting.bank = bank; - gActiveBank = bank; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); - return effect; - } + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_AbilityCuredStatus; + gBattleScripting.battler = battler; + gActiveBattler = battler; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); + return effect; } } break; case ABILITYEFFECT_FORECAST: // 6 - for (bank = 0; bank < gNoOfAllBanks; bank++) + for (battler = 0; battler < gBattlersCount; battler++) { - if (gBattleMons[bank].ability == ABILITY_FORECAST) + if (gBattleMons[battler].ability == ABILITY_FORECAST) { - effect = CastformDataTypeChange(bank); + effect = CastformDataTypeChange(battler); if (effect) { BattleScriptPushCursorAndCallback(BattleScript_CastformChange); - gBattleScripting.bank = bank; + gBattleScripting.battler = battler; *(&gBattleStruct->formToChangeInto) = effect - 1; return effect; } @@ -2415,7 +2250,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) gBattleStruct->synchronizeMoveEffect = MOVE_EFFECT_POISON; gBattleCommunication[MOVE_EFFECT_BYTE] = gBattleStruct->synchronizeMoveEffect + MOVE_EFFECT_AFFECTS_USER; - gBattleScripting.bank = gBankTarget; + gBattleScripting.battler = gBattlerTarget; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SynchronizeActivates; gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; @@ -2431,7 +2266,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) gBattleStruct->synchronizeMoveEffect = MOVE_EFFECT_POISON; gBattleCommunication[MOVE_EFFECT_BYTE] = gBattleStruct->synchronizeMoveEffect; - gBattleScripting.bank = gBankAttacker; + gBattleScripting.battler = gBattlerAttacker; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SynchronizeActivates; gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; @@ -2439,13 +2274,13 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_INTIMIDATE1: // 9 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ABILITY_INTIMIDATE && gStatuses3[i] & STATUS3_INTIMIDATE_POKES) { gLastUsedAbility = ABILITY_INTIMIDATE; gStatuses3[i] &= ~(STATUS3_INTIMIDATE_POKES); - BattleScriptPushCursorAndCallback(gUnknown_082DB4B8); + BattleScriptPushCursorAndCallback(BattleScript_82DB4B8); gBattleStruct->intimidateBank = i; effect++; break; @@ -2453,42 +2288,42 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_TRACE: // 11 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ABILITY_TRACE && (gStatuses3[i] & STATUS3_TRACE)) { u8 target2; - side = (GetBankIdentity(i) ^ BIT_SIDE) & BIT_SIDE; // side of the opposing pokemon - target1 = GetBankByIdentity(side); - target2 = GetBankByIdentity(side + BIT_MON); + side = (GetBattlerPosition(i) ^ BIT_SIDE) & BIT_SIDE; // side of the opposing pokemon + target1 = GetBattlerAtPosition(side); + target2 = GetBattlerAtPosition(side + BIT_FLANK); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { if (gBattleMons[target1].ability != 0 && gBattleMons[target1].hp != 0 && gBattleMons[target2].ability != 0 && gBattleMons[target2].hp != 0) { - gActiveBank = GetBankByIdentity(((Random() & 1) * 2) | side); - gBattleMons[i].ability = gBattleMons[gActiveBank].ability; - gLastUsedAbility = gBattleMons[gActiveBank].ability; + gActiveBattler = GetBattlerAtPosition(((Random() & 1) * 2) | side); + gBattleMons[i].ability = gBattleMons[gActiveBattler].ability; + gLastUsedAbility = gBattleMons[gActiveBattler].ability; effect++; } else if (gBattleMons[target1].ability != 0 && gBattleMons[target1].hp != 0) { - gActiveBank = target1; - gBattleMons[i].ability = gBattleMons[gActiveBank].ability; - gLastUsedAbility = gBattleMons[gActiveBank].ability; + gActiveBattler = target1; + gBattleMons[i].ability = gBattleMons[gActiveBattler].ability; + gLastUsedAbility = gBattleMons[gActiveBattler].ability; effect++; } else if (gBattleMons[target2].ability != 0 && gBattleMons[target2].hp != 0) { - gActiveBank = target2; - gBattleMons[i].ability = gBattleMons[gActiveBank].ability; - gLastUsedAbility = gBattleMons[gActiveBank].ability; + gActiveBattler = target2; + gBattleMons[i].ability = gBattleMons[gActiveBattler].ability; + gLastUsedAbility = gBattleMons[gActiveBattler].ability; effect++; } } else { - gActiveBank = target1; + gActiveBattler = target1; if (gBattleMons[target1].ability && gBattleMons[target1].hp) { gBattleMons[i].ability = gBattleMons[target1].ability; @@ -2500,9 +2335,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) { BattleScriptPushCursorAndCallback(BattleScript_TraceActivates); gStatuses3[i] &= ~(STATUS3_TRACE); - gBattleScripting.bank = i; + gBattleScripting.battler = i; - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBank, gBattlePartyID[gActiveBank]) + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattlerPartyIndexes[gActiveBattler]) PREPARE_ABILITY_BUFFER(gBattleTextBuff2, gLastUsedAbility) break; } @@ -2510,14 +2345,14 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_INTIMIDATE2: // 10 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ABILITY_INTIMIDATE && (gStatuses3[i] & STATUS3_INTIMIDATE_POKES)) { gLastUsedAbility = ABILITY_INTIMIDATE; gStatuses3[i] &= ~(STATUS3_INTIMIDATE_POKES); BattleScriptPushCursor(); - gBattlescriptCurrInstr = gUnknown_082DB4C1; + gBattlescriptCurrInstr = BattleScript_82DB4C1; gBattleStruct->intimidateBank = i; effect++; break; @@ -2525,10 +2360,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_OTHER_SIDE: // 12 - side = GetBankSide(bank); - for (i = 0; i < gNoOfAllBanks; i++) + side = GetBattlerSide(battler); + for (i = 0; i < gBattlersCount; i++) { - if (GetBankSide(i) != side && gBattleMons[i].ability == ability) + if (GetBattlerSide(i) != side && gBattleMons[i].ability == ability) { gLastUsedAbility = ability; effect = i + 1; @@ -2536,10 +2371,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_BANK_SIDE: // 13 - side = GetBankSide(bank); - for (i = 0; i < gNoOfAllBanks; i++) + side = GetBattlerSide(battler); + for (i = 0; i < gBattlersCount; i++) { - if (GetBankSide(i) == side && gBattleMons[i].ability == ability) + if (GetBattlerSide(i) == side && gBattleMons[i].ability == ability) { gLastUsedAbility = ability; effect = i + 1; @@ -2550,21 +2385,21 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) switch (gLastUsedAbility) { case 0xFD: - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gStatuses3[i] & STATUS3_MUDSPORT) effect = i + 1; } break; case 0xFE: - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gStatuses3[i] & STATUS3_WATERSPORT) effect = i + 1; } break; default: - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ability) { @@ -2576,7 +2411,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_ON_FIELD: // 19 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ability && gBattleMons[i].hp != 0) { @@ -2586,9 +2421,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_FIELD_EXCEPT_BANK: // 15 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - if (gBattleMons[i].ability == ability && i != bank) + if (gBattleMons[i].ability == ability && i != battler) { gLastUsedAbility = ability; effect = i + 1; @@ -2596,10 +2431,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_COUNT_OTHER_SIDE: // 16 - side = GetBankSide(bank); - for (i = 0; i < gNoOfAllBanks; i++) + side = GetBattlerSide(battler); + for (i = 0; i < gBattlersCount; i++) { - if (GetBankSide(i) != side && gBattleMons[i].ability == ability) + if (GetBattlerSide(i) != side && gBattleMons[i].ability == ability) { gLastUsedAbility = ability; effect++; @@ -2607,10 +2442,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_COUNT_BANK_SIDE: // 17 - side = GetBankSide(bank); - for (i = 0; i < gNoOfAllBanks; i++) + side = GetBattlerSide(battler); + for (i = 0; i < gBattlersCount; i++) { - if (GetBankSide(i) == side && gBattleMons[i].ability == ability) + if (GetBattlerSide(i) == side && gBattleMons[i].ability == ability) { gLastUsedAbility = ability; effect++; @@ -2618,9 +2453,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_COUNT_ON_FIELD: // 18 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { - if (gBattleMons[i].ability == ability && i != bank) + if (gBattleMons[i].ability == ability && i != battler) { gLastUsedAbility = ability; effect++; @@ -2630,25 +2465,25 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } if (effect && caseID < ABILITYEFFECT_CHECK_OTHER_SIDE && gLastUsedAbility != 0xFF) - RecordAbilityBattle(bank, gLastUsedAbility); + RecordAbilityBattle(battler, gLastUsedAbility); } return effect; } -void BattleScriptExecute(const u8* BS_ptr) +void BattleScriptExecute(const u8 *BS_ptr) { gBattlescriptCurrInstr = BS_ptr; - BATTLE_CALLBACKS_STACK->function[BATTLE_CALLBACKS_STACK->size++] = gBattleMainFunc; + gBattleResources->battleCallbackStack->function[gBattleResources->battleCallbackStack->size++] = gBattleMainFunc; gBattleMainFunc = RunBattleScriptCommands_PopCallbacksStack; gCurrentActionFuncId = 0; } -void BattleScriptPushCursorAndCallback(const u8* BS_ptr) +void BattleScriptPushCursorAndCallback(const u8 *BS_ptr) { BattleScriptPushCursor(); gBattlescriptCurrInstr = BS_ptr; - BATTLE_CALLBACKS_STACK->function[BATTLE_CALLBACKS_STACK->size++] = gBattleMainFunc; + gBattleResources->battleCallbackStack->function[gBattleResources->battleCallbackStack->size++] = gBattleMainFunc; gBattleMainFunc = RunBattleScriptCommands; } @@ -2662,16 +2497,7 @@ enum ITEM_STATS_CHANGE, // 5 }; -enum -{ - FLAVOR_SPICY, // 0 - FLAVOR_DRY, // 1 - FLAVOR_SWEET, // 2 - FLAVOR_BITTER, // 3 - FLAVOR_SOUR, // 4 -}; - -u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) +u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) { int i = 0; u8 effect = ITEM_NO_EFFECT; @@ -2680,11 +2506,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) u8 bankQuality, atkQuality, defQuality; u16 atkItem, defItem; - gLastUsedItem = gBattleMons[bank].item; + gLastUsedItem = gBattleMons[battlerId].item; if (gLastUsedItem == ITEM_ENIGMA_BERRY) { - bankHoldEffect = gEnigmaBerries[bank].holdEffect; - bankQuality = gEnigmaBerries[bank].holdEffectParam; + bankHoldEffect = gEnigmaBerries[battlerId].holdEffect; + bankQuality = gEnigmaBerries[battlerId].holdEffectParam; } else { @@ -2692,11 +2518,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) bankQuality = ItemId_GetHoldEffectParam(gLastUsedItem); } - atkItem = gBattleMons[gBankAttacker].item; + atkItem = gBattleMons[gBattlerAttacker].item; if (atkItem == ITEM_ENIGMA_BERRY) { - atkHoldEffect = gEnigmaBerries[gBankAttacker].holdEffect; - atkQuality = gEnigmaBerries[gBankAttacker].holdEffectParam; + atkHoldEffect = gEnigmaBerries[gBattlerAttacker].holdEffect; + atkQuality = gEnigmaBerries[gBattlerAttacker].holdEffectParam; } else { @@ -2705,11 +2531,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } // def variables are unused - defItem = gBattleMons[gBankTarget].item; + defItem = gBattleMons[gBattlerTarget].item; if (defItem == ITEM_ENIGMA_BERRY) { - defHoldEffect = gEnigmaBerries[gBankTarget].holdEffect; - defQuality = gEnigmaBerries[gBankTarget].holdEffectParam; + defHoldEffect = gEnigmaBerries[gBattlerTarget].holdEffect; + defQuality = gEnigmaBerries[gBattlerTarget].holdEffectParam; } else { @@ -2723,39 +2549,39 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) switch (bankHoldEffect) { case HOLD_EFFECT_DOUBLE_PRIZE: - if (GetBankSide(bank) == SIDE_PLAYER) + if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) gBattleStruct->moneyMultiplier = 2; break; case HOLD_EFFECT_RESTORE_STATS: - for (i = 0; i < 8; i++) + for (i = 0; i < BATTLE_STATS_NO; i++) { - if (gBattleMons[bank].statStages[i] < 6) + if (gBattleMons[battlerId].statStages[i] < 6) { - gBattleMons[bank].statStages[i] = 6; + gBattleMons[battlerId].statStages[i] = 6; effect = ITEM_STATS_CHANGE; } } if (effect) { - gBattleScripting.bank = bank; - gStringBank = bank; - gActiveBank = gBankAttacker = bank; + gBattleScripting.battler = battlerId; + gPotentialItemEffectBattler = battlerId; + gActiveBattler = gBattlerAttacker = battlerId; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; } break; case 1: - if (gBattleMons[bank].hp) + if (gBattleMons[battlerId].hp) { switch (bankHoldEffect) { case HOLD_EFFECT_RESTORE_HP: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / 2 && !moveTurn) { gBattleMoveDamage = bankQuality; - if (gBattleMons[bank].hp + bankQuality > gBattleMons[bank].maxHP) - gBattleMoveDamage = gBattleMons[bank].maxHP - gBattleMons[bank].hp; + if (gBattleMons[battlerId].hp + bankQuality > gBattleMons[battlerId].maxHP) + gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; gBattleMoveDamage *= -1; BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); effect = 4; @@ -2764,19 +2590,19 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case HOLD_EFFECT_RESTORE_PP: if (!moveTurn) { - struct Pokemon* poke; + struct Pokemon *mon; u8 ppBonuses; u16 move; - if (GetBankSide(bank) == SIDE_PLAYER) - poke = &gPlayerParty[gBattlePartyID[bank]]; + if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + mon = &gPlayerParty[gBattlerPartyIndexes[battlerId]]; else - poke = &gEnemyParty[gBattlePartyID[bank]]; + mon = &gEnemyParty[gBattlerPartyIndexes[battlerId]]; for (i = 0; i < 4; i++) { - move = GetMonData(poke, MON_DATA_MOVE1 + i); - changedPP = GetMonData(poke, MON_DATA_PP1 + i); - ppBonuses = GetMonData(poke, MON_DATA_PP_BONUSES); + move = GetMonData(mon, MON_DATA_MOVE1 + i); + changedPP = GetMonData(mon, MON_DATA_PP1 + i); + ppBonuses = GetMonData(mon, MON_DATA_PP_BONUSES); if (move && changedPP == 0) break; } @@ -2787,64 +2613,60 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) changedPP = maxPP; else changedPP = changedPP + bankQuality; - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = move; - gBattleTextBuff1[3] = move >> 8; - gBattleTextBuff1[4] = 0xFF; + + PREPARE_MOVE_BUFFER(gBattleTextBuff1, move); + BattleScriptExecute(BattleScript_BerryPPHealEnd2); - EmitSetMonData(0, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitSetMonData(0, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); + MarkBattlerForControllerExec(gActiveBattler); effect = ITEM_PP_CHANGE; } } break; case HOLD_EFFECT_RESTORE_STATS: - for (i = 0; i < 8; i++) + for (i = 0; i < BATTLE_STATS_NO; i++) { - if (gBattleMons[bank].statStages[i] < 6) + if (gBattleMons[battlerId].statStages[i] < 6) { - gBattleMons[bank].statStages[i] = 6; + gBattleMons[battlerId].statStages[i] = 6; effect = ITEM_STATS_CHANGE; } } if (effect) { - gBattleScripting.bank = bank; - gStringBank = bank; - gActiveBank = gBankAttacker = bank; + gBattleScripting.battler = battlerId; + gPotentialItemEffectBattler = battlerId; + gActiveBattler = gBattlerAttacker = battlerId; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; case HOLD_EFFECT_LEFTOVERS: - if (gBattleMons[bank].hp < gBattleMons[bank].maxHP && !moveTurn) + if (gBattleMons[battlerId].hp < gBattleMons[battlerId].maxHP && !moveTurn) { - gBattleMoveDamage = gBattleMons[bank].maxHP / 16; + gBattleMoveDamage = gBattleMons[battlerId].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if (gBattleMons[bank].hp + gBattleMoveDamage > gBattleMons[bank].maxHP) - gBattleMoveDamage = gBattleMons[bank].maxHP - gBattleMons[bank].hp; + if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) + gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; gBattleMoveDamage *= -1; BattleScriptExecute(BattleScript_ItemHealHP_End2); effect = ITEM_HP_CHANGE; - RecordItemEffectBattle(bank, bankHoldEffect); + RecordItemEffectBattle(battlerId, bankHoldEffect); } break; // nice copy/paste there gamefreak, making a function for confuse berries was too much eh? case HOLD_EFFECT_CONFUSE_SPICY: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / 2 && !moveTurn) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 8; - gBattleTextBuff1[2] = FLAVOR_SPICY; - gBattleTextBuff1[3] = EOS; - gBattleMoveDamage = gBattleMons[bank].maxHP / bankQuality; + PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_SPICY); + + gBattleMoveDamage = gBattleMons[battlerId].maxHP / bankQuality; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if (gBattleMons[bank].hp + gBattleMoveDamage > gBattleMons[bank].maxHP) - gBattleMoveDamage = gBattleMons[bank].maxHP - gBattleMons[bank].hp; + if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) + gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; gBattleMoveDamage *= -1; - if (GetFlavourRelationByPersonality(gBattleMons[bank].personality, FLAVOR_SPICY) < 0) + if (GetFlavorRelationByPersonality(gBattleMons[battlerId].personality, FLAVOR_SPICY) < 0) BattleScriptExecute(BattleScript_BerryConfuseHealEnd2); else BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); @@ -2852,19 +2674,17 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_CONFUSE_DRY: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / 2 && !moveTurn) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 8; - gBattleTextBuff1[2] = FLAVOR_DRY; - gBattleTextBuff1[3] = EOS; - gBattleMoveDamage = gBattleMons[bank].maxHP / bankQuality; + PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_DRY); + + gBattleMoveDamage = gBattleMons[battlerId].maxHP / bankQuality; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if (gBattleMons[bank].hp + gBattleMoveDamage > gBattleMons[bank].maxHP) - gBattleMoveDamage = gBattleMons[bank].maxHP - gBattleMons[bank].hp; + if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) + gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; gBattleMoveDamage *= -1; - if (GetFlavourRelationByPersonality(gBattleMons[bank].personality, FLAVOR_DRY) < 0) + if (GetFlavorRelationByPersonality(gBattleMons[battlerId].personality, FLAVOR_DRY) < 0) BattleScriptExecute(BattleScript_BerryConfuseHealEnd2); else BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); @@ -2872,19 +2692,17 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_CONFUSE_SWEET: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / 2 && !moveTurn) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 8; - gBattleTextBuff1[2] = FLAVOR_SWEET; - gBattleTextBuff1[3] = EOS; - gBattleMoveDamage = gBattleMons[bank].maxHP / bankQuality; + PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_SWEET); + + gBattleMoveDamage = gBattleMons[battlerId].maxHP / bankQuality; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if (gBattleMons[bank].hp + gBattleMoveDamage > gBattleMons[bank].maxHP) - gBattleMoveDamage = gBattleMons[bank].maxHP - gBattleMons[bank].hp; + if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) + gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; gBattleMoveDamage *= -1; - if (GetFlavourRelationByPersonality(gBattleMons[bank].personality, FLAVOR_SWEET) < 0) + if (GetFlavorRelationByPersonality(gBattleMons[battlerId].personality, FLAVOR_SWEET) < 0) BattleScriptExecute(BattleScript_BerryConfuseHealEnd2); else BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); @@ -2892,19 +2710,17 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_CONFUSE_BITTER: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / 2 && !moveTurn) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 8; - gBattleTextBuff1[2] = FLAVOR_BITTER; - gBattleTextBuff1[3] = EOS; - gBattleMoveDamage = gBattleMons[bank].maxHP / bankQuality; + PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_BITTER); + + gBattleMoveDamage = gBattleMons[battlerId].maxHP / bankQuality; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if (gBattleMons[bank].hp + gBattleMoveDamage > gBattleMons[bank].maxHP) - gBattleMoveDamage = gBattleMons[bank].maxHP - gBattleMons[bank].hp; + if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) + gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; gBattleMoveDamage *= -1; - if (GetFlavourRelationByPersonality(gBattleMons[bank].personality, FLAVOR_BITTER) < 0) + if (GetFlavorRelationByPersonality(gBattleMons[battlerId].personality, FLAVOR_BITTER) < 0) BattleScriptExecute(BattleScript_BerryConfuseHealEnd2); else BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); @@ -2912,19 +2728,17 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_CONFUSE_SOUR: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / 2 && !moveTurn) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 8; - gBattleTextBuff1[2] = FLAVOR_SOUR; - gBattleTextBuff1[3] = EOS; - gBattleMoveDamage = gBattleMons[bank].maxHP / bankQuality; + PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_SOUR); + + gBattleMoveDamage = gBattleMons[battlerId].maxHP / bankQuality; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if (gBattleMons[bank].hp + gBattleMoveDamage > gBattleMons[bank].maxHP) - gBattleMoveDamage = gBattleMons[bank].maxHP - gBattleMons[bank].hp; + if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) + gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; gBattleMoveDamage *= -1; - if (GetFlavourRelationByPersonality(gBattleMons[bank].personality, FLAVOR_SOUR) < 0) + if (GetFlavorRelationByPersonality(gBattleMons[battlerId].personality, FLAVOR_SOUR) < 0) BattleScriptExecute(BattleScript_BerryConfuseHealEnd2); else BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); @@ -2933,105 +2747,85 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) break; // copy/paste again, smh case HOLD_EFFECT_ATTACK_UP: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / bankQuality && !moveTurn && gBattleMons[bank].statStages[STAT_STAGE_ATK] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_ATK] < 0xC) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 5; - gBattleTextBuff1[2] = STAT_STAGE_ATK; - gBattleTextBuff1[3] = EOS; + PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_ATK); + PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_STATROSE); - gBattleTextBuff2[0] = 0xFD; - gBattleTextBuff2[1] = 0; - gBattleTextBuff2[2] = 0xD2; - gBattleTextBuff2[3] = 0xD2 >> 8; - gBattleTextBuff2[4] = EOS; - - gEffectBank = bank; - gBattleScripting.statChanger = 0x10 + STAT_STAGE_ATK; - gBattleScripting.animArg1 = 0xE + STAT_STAGE_ATK; + gEffectBattler = battlerId; + SET_STATCHANGER(STAT_ATK, 1, FALSE); + gBattleScripting.animArg1 = 0xE + STAT_ATK; gBattleScripting.animArg2 = 0; BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); effect = ITEM_STATS_CHANGE; } break; case HOLD_EFFECT_DEFENSE_UP: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / bankQuality && !moveTurn && gBattleMons[bank].statStages[STAT_STAGE_DEF] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_DEF] < 0xC) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 5; - gBattleTextBuff1[2] = STAT_STAGE_DEF; - gBattleTextBuff1[3] = EOS; + PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_DEF); - gEffectBank = bank; - gBattleScripting.statChanger = 0x10 + STAT_STAGE_DEF; - gBattleScripting.animArg1 = 0xE + STAT_STAGE_DEF; + gEffectBattler = battlerId; + SET_STATCHANGER(STAT_DEF, 1, FALSE); + gBattleScripting.animArg1 = 0xE + STAT_DEF; gBattleScripting.animArg2 = 0; BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); effect = ITEM_STATS_CHANGE; } break; case HOLD_EFFECT_SPEED_UP: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / bankQuality && !moveTurn && gBattleMons[bank].statStages[STAT_STAGE_SPEED] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_SPEED] < 0xC) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 5; - gBattleTextBuff1[2] = STAT_STAGE_SPEED; - gBattleTextBuff1[3] = EOS; + PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPEED); - gEffectBank = bank; - gBattleScripting.statChanger = 0x10 + STAT_STAGE_SPEED; - gBattleScripting.animArg1 = 0xE + STAT_STAGE_SPEED; + gEffectBattler = battlerId; + SET_STATCHANGER(STAT_SPEED, 1, FALSE); + gBattleScripting.animArg1 = 0xE + STAT_SPEED; gBattleScripting.animArg2 = 0; BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); effect = ITEM_STATS_CHANGE; } break; case HOLD_EFFECT_SP_ATTACK_UP: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / bankQuality && !moveTurn && gBattleMons[bank].statStages[STAT_STAGE_SPATK] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_SPATK] < 0xC) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 5; - gBattleTextBuff1[2] = STAT_STAGE_SPATK; - gBattleTextBuff1[3] = EOS; + PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPATK); - gEffectBank = bank; - gBattleScripting.statChanger = 0x10 + STAT_STAGE_SPATK; - gBattleScripting.animArg1 = 0xE + STAT_STAGE_SPATK; + gEffectBattler = battlerId; + SET_STATCHANGER(STAT_SPATK, 1, FALSE); + gBattleScripting.animArg1 = 0xE + STAT_SPATK; gBattleScripting.animArg2 = 0; BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); effect = ITEM_STATS_CHANGE; } break; case HOLD_EFFECT_SP_DEFENSE_UP: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / bankQuality && !moveTurn && gBattleMons[bank].statStages[STAT_STAGE_SPDEF] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_SPDEF] < 0xC) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 5; - gBattleTextBuff1[2] = STAT_STAGE_SPDEF; - gBattleTextBuff1[3] = EOS; + PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPDEF); - gEffectBank = bank; - gBattleScripting.statChanger = 0x10 + STAT_STAGE_SPDEF; - gBattleScripting.animArg1 = 0xE + STAT_STAGE_SPDEF; + gEffectBattler = battlerId; + SET_STATCHANGER(STAT_SPDEF, 1, FALSE); + gBattleScripting.animArg1 = 0xE + STAT_SPDEF; gBattleScripting.animArg2 = 0; BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); effect = ITEM_STATS_CHANGE; } break; case HOLD_EFFECT_CRITICAL_UP: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / bankQuality && !moveTurn && !(gBattleMons[bank].status2 & STATUS2_FOCUS_ENERGY)) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && !(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY)) { - gBattleMons[bank].status2 |= STATUS2_FOCUS_ENERGY; + gBattleMons[battlerId].status2 |= STATUS2_FOCUS_ENERGY; BattleScriptExecute(BattleScript_BerryFocusEnergyEnd2); effect = ITEM_EFFECT_OTHER; } break; case HOLD_EFFECT_RANDOM_STAT_UP: - if (!moveTurn && gBattleMons[bank].hp <= gBattleMons[bank].maxHP / bankQuality) + if (!moveTurn && gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality) { for (i = 0; i < 5; i++) { - if (gBattleMons[bank].statStages[STAT_STAGE_ATK + i] < 0xC) + if (gBattleMons[battlerId].statStages[STAT_ATK + i] < 0xC) break; } if (i != 5) @@ -3039,24 +2833,21 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) do { i = Random() % 5; - } while (gBattleMons[bank].statStages[STAT_STAGE_ATK + i] == 0xC); + } while (gBattleMons[battlerId].statStages[STAT_ATK + i] == 0xC); - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 5; - gBattleTextBuff1[2] = i + 1; - gBattleTextBuff1[3] = EOS; + PREPARE_STAT_BUFFER(gBattleTextBuff1, i + 1); - gBattleTextBuff2[0] = 0xFD; - gBattleTextBuff2[1] = 0; - gBattleTextBuff2[2] = 0xD1; - gBattleTextBuff2[3] = 0xD1 >> 8; - gBattleTextBuff2[4] = 0; - gBattleTextBuff2[5] = 0xD2; - gBattleTextBuff2[6] = 0xD2 >> 8; + gBattleTextBuff2[0] = B_BUFF_PLACEHOLDER_BEGIN; + gBattleTextBuff2[1] = B_BUFF_STRING; + gBattleTextBuff2[2] = STRINGID_STATSHARPLY; + gBattleTextBuff2[3] = STRINGID_STATSHARPLY >> 8; + gBattleTextBuff2[4] = B_BUFF_STRING; + gBattleTextBuff2[5] = STRINGID_STATROSE; + gBattleTextBuff2[6] = STRINGID_STATROSE >> 8; gBattleTextBuff2[7] = EOS; - gEffectBank = bank; - gBattleScripting.statChanger = 0x21 + i; + gEffectBattler = battlerId; + SET_STATCHANGER(i + 1, 2, FALSE); gBattleScripting.animArg1 = 0x21 + i + 6; gBattleScripting.animArg2 = 0; BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); @@ -3065,85 +2856,85 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_CURE_PAR: - if (gBattleMons[bank].status1 & STATUS_PARALYSIS) + if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) { - gBattleMons[bank].status1 &= ~(STATUS_PARALYSIS); + gBattleMons[battlerId].status1 &= ~(STATUS1_PARALYSIS); BattleScriptExecute(BattleScript_BerryCurePrlzEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_PSN: - if (gBattleMons[bank].status1 & STATUS_PSN_ANY) + if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) { - gBattleMons[bank].status1 &= ~(STATUS_PSN_ANY | STATUS_TOXIC_COUNTER); + gBattleMons[battlerId].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); BattleScriptExecute(BattleScript_BerryCurePsnEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_BRN: - if (gBattleMons[bank].status1 & STATUS_BURN) + if (gBattleMons[battlerId].status1 & STATUS1_BURN) { - gBattleMons[bank].status1 &= ~(STATUS_BURN); + gBattleMons[battlerId].status1 &= ~(STATUS1_BURN); BattleScriptExecute(BattleScript_BerryCureBrnEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_FRZ: - if (gBattleMons[bank].status1 & STATUS_FREEZE) + if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) { - gBattleMons[bank].status1 &= ~(STATUS_FREEZE); + gBattleMons[battlerId].status1 &= ~(STATUS1_FREEZE); BattleScriptExecute(BattleScript_BerryCureFrzEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_SLP: - if (gBattleMons[bank].status1 & STATUS_SLEEP) + if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) { - gBattleMons[bank].status1 &= ~(STATUS_SLEEP); - gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[battlerId].status1 &= ~(STATUS1_SLEEP); + gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptExecute(BattleScript_BerryCureSlpEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_CONFUSION: - if (gBattleMons[bank].status2 & STATUS2_CONFUSION) + if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) { - gBattleMons[bank].status2 &= ~(STATUS2_CONFUSION); + gBattleMons[battlerId].status2 &= ~(STATUS2_CONFUSION); BattleScriptExecute(BattleScript_BerryCureConfusionEnd2); effect = ITEM_EFFECT_OTHER; } break; case HOLD_EFFECT_CURE_STATUS: - if (gBattleMons[bank].status1 & STATUS_ANY || gBattleMons[bank].status2 & STATUS2_CONFUSION) + if (gBattleMons[battlerId].status1 & STATUS1_ANY || gBattleMons[battlerId].status2 & STATUS2_CONFUSION) { i = 0; - if (gBattleMons[bank].status1 & STATUS_PSN_ANY) + if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) { StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); i++; } - if (gBattleMons[bank].status1 & STATUS_SLEEP) + if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) { - gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE); StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); i++; } - if (gBattleMons[bank].status1 & STATUS_PARALYSIS) + if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) { StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); i++; } - if (gBattleMons[bank].status1 & STATUS_BURN) + if (gBattleMons[battlerId].status1 & STATUS1_BURN) { StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); i++; } - if (gBattleMons[bank].status1 & STATUS_FREEZE) + if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) { StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); i++; } - if (gBattleMons[bank].status2 & STATUS2_CONFUSION) + if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) { StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn); i++; @@ -3152,16 +2943,16 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) gBattleCommunication[MULTISTRING_CHOOSER] = 0; else gBattleCommunication[MULTISTRING_CHOOSER] = 1; - gBattleMons[bank].status1 = 0; - gBattleMons[bank].status2 &= ~(STATUS2_CONFUSION); + gBattleMons[battlerId].status1 = 0; + gBattleMons[battlerId].status2 &= ~(STATUS2_CONFUSION); BattleScriptExecute(BattleScript_BerryCureChosenStatusEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_ATTRACT: - if (gBattleMons[bank].status2 & STATUS2_INFATUATION) + if (gBattleMons[battlerId].status2 & STATUS2_INFATUATION) { - gBattleMons[bank].status2 &= ~(STATUS2_INFATUATION); + gBattleMons[battlerId].status2 &= ~(STATUS2_INFATUATION); StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn); BattleScriptExecute(BattleScript_BerryCureChosenStatusEnd2); gBattleCommunication[MULTISTRING_CHOOSER] = 0; @@ -3171,18 +2962,18 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } if (effect) { - gBattleScripting.bank = bank; - gStringBank = bank; - gActiveBank = gBankAttacker = bank; + gBattleScripting.battler = battlerId; + gPotentialItemEffectBattler = battlerId; + gActiveBattler = gBattlerAttacker = battlerId; switch (effect) { case ITEM_STATUS_CHANGE: - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[bank].status1); - MarkBufferBankForExecution(gActiveBank); + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battlerId].status1); + MarkBattlerForControllerExec(gActiveBattler); break; case ITEM_PP_CHANGE: - if (!(gBattleMons[bank].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[bank].unk18_b & gBitTable[i])) - gBattleMons[bank].pp[i] = changedPP; + if (!(gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[battlerId].unk18_b & gBitTable[i])) + gBattleMons[battlerId].pp[i] = changedPP; break; } } @@ -3191,13 +2982,13 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case 2: break; case 3: - for (bank = 0; bank < gNoOfAllBanks; bank++) + for (battlerId = 0; battlerId < gBattlersCount; battlerId++) { - gLastUsedItem = gBattleMons[bank].item; - if (gBattleMons[bank].item == ITEM_ENIGMA_BERRY) + gLastUsedItem = gBattleMons[battlerId].item; + if (gBattleMons[battlerId].item == ITEM_ENIGMA_BERRY) { - bankHoldEffect = gEnigmaBerries[bank].holdEffect; - bankQuality = gEnigmaBerries[bank].holdEffectParam; + bankHoldEffect = gEnigmaBerries[battlerId].holdEffect; + bankQuality = gEnigmaBerries[battlerId].holdEffectParam; } else { @@ -3207,64 +2998,64 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) switch (bankHoldEffect) { case HOLD_EFFECT_CURE_PAR: - if (gBattleMons[bank].status1 & STATUS_PARALYSIS) + if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) { - gBattleMons[bank].status1 &= ~(STATUS_PARALYSIS); + gBattleMons[battlerId].status1 &= ~(STATUS1_PARALYSIS); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureParRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_PSN: - if (gBattleMons[bank].status1 & STATUS_PSN_ANY) + if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) { - gBattleMons[bank].status1 &= ~(STATUS_PSN_ANY | STATUS_TOXIC_COUNTER); + gBattleMons[battlerId].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCurePsnRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_BRN: - if (gBattleMons[bank].status1 & STATUS_BURN) + if (gBattleMons[battlerId].status1 & STATUS1_BURN) { - gBattleMons[bank].status1 &= ~(STATUS_BURN); + gBattleMons[battlerId].status1 &= ~(STATUS1_BURN); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureBrnRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_FRZ: - if (gBattleMons[bank].status1 & STATUS_FREEZE) + if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) { - gBattleMons[bank].status1 &= ~(STATUS_FREEZE); + gBattleMons[battlerId].status1 &= ~(STATUS1_FREEZE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureFrzRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_SLP: - if (gBattleMons[bank].status1 & STATUS_SLEEP) + if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) { - gBattleMons[bank].status1 &= ~(STATUS_SLEEP); - gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[battlerId].status1 &= ~(STATUS1_SLEEP); + gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureSlpRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_CONFUSION: - if (gBattleMons[bank].status2 & STATUS2_CONFUSION) + if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) { - gBattleMons[bank].status2 &= ~(STATUS2_CONFUSION); + gBattleMons[battlerId].status2 &= ~(STATUS2_CONFUSION); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureConfusionRet; effect = ITEM_EFFECT_OTHER; } break; case HOLD_EFFECT_CURE_ATTRACT: - if (gBattleMons[bank].status2 & STATUS2_INFATUATION) + if (gBattleMons[battlerId].status2 & STATUS2_INFATUATION) { - gBattleMons[bank].status2 &= ~(STATUS2_INFATUATION); + gBattleMons[battlerId].status2 &= ~(STATUS2_INFATUATION); StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = 0; @@ -3273,35 +3064,35 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_CURE_STATUS: - if (gBattleMons[bank].status1 & STATUS_ANY || gBattleMons[bank].status2 & STATUS2_CONFUSION) + if (gBattleMons[battlerId].status1 & STATUS1_ANY || gBattleMons[battlerId].status2 & STATUS2_CONFUSION) { - if (gBattleMons[bank].status1 & STATUS_PSN_ANY) + if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) { StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); } - if (gBattleMons[bank].status1 & STATUS_SLEEP) + if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) { - gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE); StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); } - if (gBattleMons[bank].status1 & STATUS_PARALYSIS) + if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) { StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); } - if (gBattleMons[bank].status1 & STATUS_BURN) + if (gBattleMons[battlerId].status1 & STATUS1_BURN) { StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); } - if (gBattleMons[bank].status1 & STATUS_FREEZE) + if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) { StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); } - if (gBattleMons[bank].status2 & STATUS2_CONFUSION) + if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) { StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn); } - gBattleMons[bank].status1 = 0; - gBattleMons[bank].status2 &= ~(STATUS2_CONFUSION); + gBattleMons[battlerId].status1 = 0; + gBattleMons[battlerId].status2 &= ~(STATUS2_CONFUSION); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = 0; gBattlescriptCurrInstr = BattleScript_BerryCureChosenStatusRet; @@ -3309,18 +3100,18 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_RESTORE_STATS: - for (i = 0; i < 8; i++) + for (i = 0; i < BATTLE_STATS_NO; i++) { - if (gBattleMons[bank].statStages[i] < 6) + if (gBattleMons[battlerId].statStages[i] < 6) { - gBattleMons[bank].statStages[i] = 6; + gBattleMons[battlerId].statStages[i] = 6; effect = ITEM_STATS_CHANGE; } } if (effect) { - gBattleScripting.bank = bank; - gStringBank = bank; + gBattleScripting.battler = battlerId; + gPotentialItemEffectBattler = battlerId; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_WhiteHerbRet; return effect; // unnecessary return @@ -3329,11 +3120,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } if (effect) { - gBattleScripting.bank = bank; - gStringBank = bank; - gActiveBank = bank; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gBattleScripting.battler = battlerId; + gPotentialItemEffectBattler = battlerId; + gActiveBattler = battlerId; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); break; } } @@ -3344,33 +3135,33 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) switch (atkHoldEffect) { case HOLD_EFFECT_FLINCH: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && (Random() % 100) < atkQuality && gBattleMoves[gCurrentMove].flags & FLAG_KINGSROCK_AFFECTED - && gBattleMons[gBankTarget].hp) + && gBattleMons[gBattlerTarget].hp) { - gBattleCommunication[MOVE_EFFECT_BYTE] = 8; + gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_FLINCH; BattleScriptPushCursor(); SetMoveEffect(0, 0); BattleScriptPop(); } break; case HOLD_EFFECT_SHELL_BELL: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) - && gSpecialStatuses[gBankTarget].moveturnLostHP != 0 - && gSpecialStatuses[gBankTarget].moveturnLostHP != 0xFFFF - && gBankAttacker != gBankTarget - && gBattleMons[gBankAttacker].hp != gBattleMons[gBankAttacker].maxHP - && gBattleMons[gBankAttacker].hp != 0) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && gSpecialStatuses[gBattlerTarget].dmg != 0 + && gSpecialStatuses[gBattlerTarget].dmg != 0xFFFF + && gBattlerAttacker != gBattlerTarget + && gBattleMons[gBattlerAttacker].hp != gBattleMons[gBattlerAttacker].maxHP + && gBattleMons[gBattlerAttacker].hp != 0) { gLastUsedItem = atkItem; - gStringBank = gBankAttacker; - gBattleScripting.bank = gBankAttacker; - gBattleMoveDamage = (gSpecialStatuses[gBankTarget].moveturnLostHP / atkQuality) * -1; + gPotentialItemEffectBattler = gBattlerAttacker; + gBattleScripting.battler = gBattlerAttacker; + gBattleMoveDamage = (gSpecialStatuses[gBattlerTarget].dmg / atkQuality) * -1; if (gBattleMoveDamage == 0) gBattleMoveDamage = -1; - gSpecialStatuses[gBankTarget].moveturnLostHP = 0; + gSpecialStatuses[gBattlerTarget].dmg = 0; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_ItemHealHP_Ret; effect++; @@ -3384,16 +3175,16 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) return effect; } -void ClearFuryCutterDestinyBondGrudge(u8 bank) +void ClearFuryCutterDestinyBondGrudge(u8 battlerId) { - gDisableStructs[bank].furyCutterCounter = 0; - gBattleMons[bank].status2 &= ~(STATUS2_DESTINY_BOND); - gStatuses3[bank] &= ~(STATUS3_GRUDGE); + gDisableStructs[battlerId].furyCutterCounter = 0; + gBattleMons[battlerId].status2 &= ~(STATUS2_DESTINY_BOND); + gStatuses3[battlerId] &= ~(STATUS3_GRUDGE); } void HandleAction_RunBattleScript(void) // identical to RunBattleScriptCommands { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) gBattleScriptingCommandsTable[*gBattlescriptCurrInstr](); } @@ -3411,21 +3202,21 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) switch (moveTarget) { case MOVE_TARGET_SELECTED: - side = GetBankSide(gBankAttacker) ^ 1; + side = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE; if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) targetBank = gSideTimers[side].followmeTarget; else { - side = GetBankSide(gBankAttacker); + side = GetBattlerSide(gBattlerAttacker); do { - targetBank = Random() % gNoOfAllBanks; - } while (targetBank == gBankAttacker || side == GetBankSide(targetBank) || gAbsentBankFlags & gBitTable[targetBank]); + targetBank = Random() % gBattlersCount; + } while (targetBank == gBattlerAttacker || side == GetBattlerSide(targetBank) || gAbsentBattlerFlags & gBitTable[targetBank]); if (gBattleMoves[move].type == TYPE_ELECTRIC - && AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIDE, gBankAttacker, ABILITY_LIGHTNING_ROD, 0, 0) + && AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIDE, gBattlerAttacker, ABILITY_LIGHTNING_ROD, 0, 0) && gBattleMons[targetBank].ability != ABILITY_LIGHTNING_ROD) { - targetBank ^= 2; + targetBank ^= BIT_FLANK; RecordAbilityBattle(targetBank, gBattleMons[targetBank].ability); gSpecialStatuses[targetBank].lightningRodRedirected = 1; } @@ -3435,62 +3226,58 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) case MOVE_TARGET_BOTH: case MOVE_TARGET_FOES_AND_ALLY: case MOVE_TARGET_OPPONENTS_FIELD: - targetBank = GetBankByIdentity((GetBankIdentity(gBankAttacker) & 1) ^ 1); - if (gAbsentBankFlags & gBitTable[targetBank]) - targetBank ^= 2; + targetBank = GetBattlerAtPosition((GetBattlerPosition(gBattlerAttacker) & BIT_SIDE) ^ BIT_SIDE); + if (gAbsentBattlerFlags & gBitTable[targetBank]) + targetBank ^= BIT_FLANK; break; case MOVE_TARGET_RANDOM: - side = GetBankSide(gBankAttacker) ^ 1; + side = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE; if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) targetBank = gSideTimers[side].followmeTarget; else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && moveTarget & MOVE_TARGET_RANDOM) { - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) { if (Random() & 1) - targetBank = GetBankByIdentity(1); + targetBank = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); else - targetBank = GetBankByIdentity(3); + targetBank = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); } else { if (Random() & 1) - targetBank = GetBankByIdentity(0); + targetBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); else - targetBank = GetBankByIdentity(2); + targetBank = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); } - if (gAbsentBankFlags & gBitTable[targetBank]) - targetBank ^= 2; + if (gAbsentBattlerFlags & gBitTable[targetBank]) + targetBank ^= BIT_FLANK; } else - targetBank = GetBankByIdentity((GetBankIdentity(gBankAttacker) & 1) ^ 1); + targetBank = GetBattlerAtPosition((GetBattlerPosition(gBattlerAttacker) & BIT_SIDE) ^ BIT_SIDE); break; case MOVE_TARGET_USER: case MOVE_TARGET_x10: - targetBank = gBankAttacker; + targetBank = gBattlerAttacker; break; } - #ifndef NONMATCHING - MEME_ACCESS_U8(BattleStruct, gBattleStruct, gBankAttacker, moveTarget, targetBank); - #else - gBattleStruct->moveTarget[gBankAttacker] = targetBank; - #endif // NONMATCHING + *(gBattleStruct->moveTarget + gBattlerAttacker) = targetBank; return targetBank; } -static bool32 HasObedientBitSet(u8 bank) +static bool32 HasObedientBitSet(u8 battlerId) { - if (GetBankSide(bank) == SIDE_OPPONENT) + if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT) return TRUE; - if (GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES, NULL) != SPECIES_DEOXYS - && GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES, NULL) != SPECIES_MEW) + if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES, NULL) != SPECIES_DEOXYS + && GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES, NULL) != SPECIES_MEW) return TRUE; - return GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_OBEDIENCE, NULL); + return GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_OBEDIENCE, NULL); } -u8 IsPokeDisobedient(void) +u8 IsMonDisobedient(void) { s32 rnd; s32 calc; @@ -3498,53 +3285,53 @@ u8 IsPokeDisobedient(void) if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) return 0; - if (GetBankSide(gBankAttacker) == SIDE_OPPONENT) + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_OPPONENT) return 0; - if (HasObedientBitSet(gBankAttacker)) // only if species is Mew or Deoxys + if (HasObedientBitSet(gBattlerAttacker)) // only if species is Mew or Deoxys { - if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBankIdentity(gBankAttacker) == 2) + if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBattlerPosition(gBattlerAttacker) == 2) return 0; if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) return 0; if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) return 0; - if (!IsOtherTrainer(gBattleMons[gBankAttacker].otId, gBattleMons[gBankAttacker].otName)) + if (!IsOtherTrainer(gBattleMons[gBattlerAttacker].otId, gBattleMons[gBattlerAttacker].otName)) return 0; - if (FlagGet(BADGE08_GET)) + if (FlagGet(FLAG_BADGE08_GET)) return 0; obedienceLevel = 10; - if (FlagGet(BADGE02_GET)) + if (FlagGet(FLAG_BADGE02_GET)) obedienceLevel = 30; - if (FlagGet(BADGE04_GET)) + if (FlagGet(FLAG_BADGE04_GET)) obedienceLevel = 50; - if (FlagGet(BADGE06_GET)) + if (FlagGet(FLAG_BADGE06_GET)) obedienceLevel = 70; } - if (gBattleMons[gBankAttacker].level <= obedienceLevel) + if (gBattleMons[gBattlerAttacker].level <= obedienceLevel) return 0; rnd = (Random() & 255); - calc = (gBattleMons[gBankAttacker].level + obedienceLevel) * rnd >> 8; + calc = (gBattleMons[gBattlerAttacker].level + obedienceLevel) * rnd >> 8; if (calc < obedienceLevel) return 0; // is not obedient if (gCurrentMove == MOVE_RAGE) - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_RAGE); - if (gBattleMons[gBankAttacker].status1 & STATUS_SLEEP && (gCurrentMove == MOVE_SNORE || gCurrentMove == MOVE_SLEEP_TALK)) + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_RAGE); + if (gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP && (gCurrentMove == MOVE_SNORE || gCurrentMove == MOVE_SLEEP_TALK)) { - gBattlescriptCurrInstr = gUnknown_082DB695; + gBattlescriptCurrInstr = BattleScript_82DB695; return 1; } rnd = (Random() & 255); - calc = (gBattleMons[gBankAttacker].level + obedienceLevel) * rnd >> 8; + calc = (gBattleMons[gBattlerAttacker].level + obedienceLevel) * rnd >> 8; if (calc < obedienceLevel) { - calc = CheckMoveLimitations(gBankAttacker, gBitTable[gCurrMovePos], 0xFF); + calc = CheckMoveLimitations(gBattlerAttacker, gBitTable[gCurrMovePos], 0xFF); if (calc == 0xF) // all moves cannot be used { gBattleCommunication[MULTISTRING_CHOOSER] = Random() & 3; @@ -3555,42 +3342,42 @@ u8 IsPokeDisobedient(void) { do { - gCurrMovePos = gUnknown_020241E9 = Random() & 3; + gCurrMovePos = gChosenMovePos = Random() & 3; } while (gBitTable[gCurrMovePos] & calc); - gRandomMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; - gBattlescriptCurrInstr = gUnknown_082DB6A5; - gBankTarget = GetMoveTarget(gRandomMove, 0); + gRandomMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos]; + gBattlescriptCurrInstr = BattleScript_IgnoresAndUsesRandomMove; + gBattlerTarget = GetMoveTarget(gRandomMove, 0); gHitMarker |= HITMARKER_x200000; return 2; } } else { - obedienceLevel = gBattleMons[gBankAttacker].level - obedienceLevel; + obedienceLevel = gBattleMons[gBattlerAttacker].level - obedienceLevel; calc = (Random() & 255); - if (calc < obedienceLevel && !(gBattleMons[gBankAttacker].status1 & STATUS_ANY) && gBattleMons[gBankAttacker].ability != ABILITY_VITAL_SPIRIT && gBattleMons[gBankAttacker].ability != ABILITY_INSOMNIA) + if (calc < obedienceLevel && !(gBattleMons[gBattlerAttacker].status1 & STATUS1_ANY) && gBattleMons[gBattlerAttacker].ability != ABILITY_VITAL_SPIRIT && gBattleMons[gBattlerAttacker].ability != ABILITY_INSOMNIA) { // try putting asleep int i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].status2 & STATUS2_UPROAR) break; } - if (i == gNoOfAllBanks) + if (i == gBattlersCount) { - gBattlescriptCurrInstr = gUnknown_082DB6D9; + gBattlescriptCurrInstr = BattleScript_IgnoresAndFallsAsleep; return 1; } } calc -= obedienceLevel; if (calc < obedienceLevel) { - gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankAttacker], MOVE_POUND, 0, 40, 0, gBankAttacker, gBankAttacker); - gBankTarget = gBankAttacker; - gBattlescriptCurrInstr = gUnknown_082DB6F0; + gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattlerAttacker], &gBattleMons[gBattlerAttacker], MOVE_POUND, 0, 40, 0, gBattlerAttacker, gBattlerAttacker); + gBattlerTarget = gBattlerAttacker; + gBattlescriptCurrInstr = BattleScript_82DB6F0; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; return 2; } diff --git a/src/battle_util2.c b/src/battle_util2.c new file mode 100644 index 0000000000..c1bbabc85a --- /dev/null +++ b/src/battle_util2.c @@ -0,0 +1,210 @@ +#include "global.h" +#include "battle.h" +#include "battle_controllers.h" +#include "malloc.h" +#include "pokemon.h" +#include "event_data.h" +#include "constants/abilities.h" +#include "random.h" +#include "battle_scripts.h" + +extern u8 gUnknown_0203CF00[]; + +extern void sub_81D55D0(void); +extern void sub_81D5694(void); +extern u8 pokemon_order_func(u8); +extern void sub_81B8FB0(u8, u8); + +void AllocateBattleResources(void) +{ + gBattleResources = gBattleResources; // something dumb needed to match + + if (gBattleTypeFlags & BATTLE_TYPE_x4000000) + sub_81D55D0(); + + gBattleStruct = AllocZeroed(sizeof(*gBattleStruct)); + + gBattleResources = AllocZeroed(sizeof(*gBattleResources)); + gBattleResources->secretBase = AllocZeroed(sizeof(*gBattleResources->secretBase)); + gBattleResources->flags = AllocZeroed(sizeof(*gBattleResources->flags)); + gBattleResources->battleScriptsStack = AllocZeroed(sizeof(*gBattleResources->battleScriptsStack)); + gBattleResources->battleCallbackStack = AllocZeroed(sizeof(*gBattleResources->battleCallbackStack)); + gBattleResources->statsBeforeLvlUp = AllocZeroed(sizeof(*gBattleResources->statsBeforeLvlUp)); + gBattleResources->ai = AllocZeroed(sizeof(*gBattleResources->ai)); + gBattleResources->battleHistory = AllocZeroed(sizeof(*gBattleResources->battleHistory)); + gBattleResources->AI_ScriptsStack = AllocZeroed(sizeof(*gBattleResources->AI_ScriptsStack)); + + gLinkBattleSendBuffer = AllocZeroed(BATTLE_BUFFER_LINK_SIZE); + gLinkBattleRecvBuffer = AllocZeroed(BATTLE_BUFFER_LINK_SIZE); + + gUnknown_0202305C = AllocZeroed(0x2000); + gUnknown_02023060 = AllocZeroed(0x1000); + + if (gBattleTypeFlags & BATTLE_TYPE_SECRET_BASE) + { + u16 currSecretBaseId = VarGet(VAR_0x4054); + CreateSecretBaseEnemyParty(&gSaveBlock1Ptr->secretBases[currSecretBaseId]); + } +} + +void FreeBattleResources(void) +{ + if (gBattleTypeFlags & BATTLE_TYPE_x4000000) + sub_81D5694(); + + if (gBattleResources != NULL) + { + FREE_AND_SET_NULL(gBattleStruct); + + FREE_AND_SET_NULL(gBattleResources->secretBase); + FREE_AND_SET_NULL(gBattleResources->flags); + FREE_AND_SET_NULL(gBattleResources->battleScriptsStack); + FREE_AND_SET_NULL(gBattleResources->battleCallbackStack); + FREE_AND_SET_NULL(gBattleResources->statsBeforeLvlUp); + FREE_AND_SET_NULL(gBattleResources->ai); + FREE_AND_SET_NULL(gBattleResources->battleHistory); + FREE_AND_SET_NULL(gBattleResources->AI_ScriptsStack); + FREE_AND_SET_NULL(gBattleResources); + + FREE_AND_SET_NULL(gLinkBattleSendBuffer); + FREE_AND_SET_NULL(gLinkBattleRecvBuffer); + + FREE_AND_SET_NULL(gUnknown_0202305C); + FREE_AND_SET_NULL(gUnknown_02023060); + } +} + +void AdjustFriendshipOnBattleFaint(u8 battlerId) +{ + u8 opposingBank; + + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + u8 opposingBank2; + + opposingBank = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + opposingBank2 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + + if (gBattleMons[opposingBank2].level > gBattleMons[opposingBank].level) + opposingBank = opposingBank2; + } + else + { + opposingBank = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + } + + if (gBattleMons[opposingBank].level > gBattleMons[battlerId].level) + { + if (gBattleMons[opposingBank].level - gBattleMons[battlerId].level > 29) + AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battlerId]], 8); + else + AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battlerId]], 6); + } + else + { + AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battlerId]], 6); + } +} + +void sub_80571DC(u8 battlerId, u8 arg1) +{ + if (GetBattlerSide(battlerId) != B_SIDE_OPPONENT) + { + s32 i; + + // gBattleStruct->field_60[0][i] + + for (i = 0; i < 3; i++) + gUnknown_0203CF00[i] = *(0 * 3 + i + (u8*)(gBattleStruct->field_60)); + + sub_81B8FB0(pokemon_order_func(gBattlerPartyIndexes[battlerId]), pokemon_order_func(arg1)); + + for (i = 0; i < 3; i++) + *(0 * 3 + i + (u8*)(gBattleStruct->field_60)) = gUnknown_0203CF00[i]; + } +} + +u32 sub_805725C(u8 battlerId) +{ + u32 effect = 0; + + do + { + switch (gBattleCommunication[MULTIUSE_STATE]) + { + case 0: + if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) + { + if (UproarWakeUpCheck(battlerId)) + { + gBattleMons[battlerId].status1 &= ~(STATUS1_SLEEP); + gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE); + BattleScriptPushCursor(); + gBattleCommunication[MULTISTRING_CHOOSER] = 1; + gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp; + effect = 2; + } + else + { + u32 toSub; + + if (gBattleMons[battlerId].ability == ABILITY_EARLY_BIRD) + toSub = 2; + else + toSub = 1; + + if ((gBattleMons[battlerId].status1 & STATUS1_SLEEP) < toSub) + gBattleMons[battlerId].status1 &= ~(STATUS1_SLEEP); + else + gBattleMons[battlerId].status1 -= toSub; + + if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) + { + gBattlescriptCurrInstr = BattleScript_MoveUsedIsAsleep; + effect = 2; + } + else + { + gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE); + BattleScriptPushCursor(); + gBattleCommunication[MULTISTRING_CHOOSER] = 0; + gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp; + effect = 2; + } + } + } + gBattleCommunication[MULTIUSE_STATE]++; + break; + case 1: + if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) + { + if (Random() % 5 != 0) + { + gBattlescriptCurrInstr = BattleScript_MoveUsedIsFrozen; + } + else + { + gBattleMons[battlerId].status1 &= ~(STATUS1_FREEZE); + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze; + gBattleCommunication[MULTISTRING_CHOOSER] = 0; + } + effect = 2; + } + gBattleCommunication[MULTIUSE_STATE]++; + break; + case 2: + break; + } + + } while (gBattleCommunication[MULTIUSE_STATE] != 2 && effect == 0); + + if (effect == 2) + { + gActiveBattler = battlerId; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); + } + + return effect; +} diff --git a/src/berry.c b/src/berry.c index 98cf7d932a..74b7090c0d 100644 --- a/src/berry.c +++ b/src/berry.c @@ -2,9 +2,9 @@ #include "berry.h" #include "main.h" #include "item.h" -#include "items.h" +#include "constants/items.h" #include "text.h" -#include "rng.h" +#include "random.h" #include "event_data.h" #include "fieldmap.h" @@ -14,16 +14,10 @@ extern void CB2_ChooseBerry(void); extern const u8* GetFieldObjectScriptPointerForComparison(void); extern bool8 sub_8092E9C(u8, u8, u8); -extern u16 gScriptItemId; +extern u16 gSpecialVar_ItemId; extern const u8 BerryTreeScript[]; -#define BERRY_NAME_LENGTH 6 - -#define FIRST_BERRY ITEM_CHERI_BERRY -#define LAST_BERRY ITEM_ENIGMA_BERRY - - static const u8 sBerryDescriptionPart1_Cheri[] = _("Blooms with delicate pretty flowers."); static const u8 sBerryDescriptionPart2_Cheri[] = _("The bright red BERRY is very spicy."); static const u8 sBerryDescriptionPart1_Chesto[] = _("The BERRY’s thick skin and fruit are"); @@ -1062,28 +1056,28 @@ u8 GetStageByBerryTreeId(u8 id) u8 ItemIdToBerryType(u16 item) { - u16 berry = item - FIRST_BERRY; + u16 berry = item - FIRST_BERRY_INDEX; - if (berry > LAST_BERRY - FIRST_BERRY) + if (berry > LAST_BERRY_INDEX - FIRST_BERRY_INDEX) return 1; else - return item - FIRST_BERRY + 1; + return ITEM_TO_BERRY(item); } u16 BerryTypeToItemId(u16 berry) { u16 item = berry - 1; - if (item > LAST_BERRY - FIRST_BERRY) - return FIRST_BERRY; + if (item > LAST_BERRY_INDEX - FIRST_BERRY_INDEX) + return FIRST_BERRY_INDEX; else - return berry + FIRST_BERRY - 1; + return berry + FIRST_BERRY_INDEX - 1; } void GetBerryNameByBerryType(u8 berry, u8 *string) { - memcpy(string, GetBerryInfo(berry)->name, BERRY_NAME_LENGTH); - string[BERRY_NAME_LENGTH] = EOS; + memcpy(string, GetBerryInfo(berry)->name, BERRY_NAME_COUNT - 1); + string[BERRY_NAME_COUNT - 1] = EOS; } void GetBerryCountStringByBerryType(u8 berry, u8* dest, u32 berryCount) @@ -1169,7 +1163,7 @@ void FieldObjectInteractionGetBerryTreeData(void) id = FieldObjectGetBerryTreeId(gSelectedMapObject); berry = GetBerryTypeByBerryTreeId(id); ResetBerryTreeSparkleFlag(id); - unk = gScriptLastTalked; + unk = gSpecialVar_LastTalked; num = gSaveBlock1Ptr->location.mapNum; group = gSaveBlock1Ptr->location.mapGroup; if (sub_8092E9C(unk, num, group)) @@ -1202,7 +1196,7 @@ void Bag_ChooseBerry(void) void FieldObjectInteractionPlantBerryTree(void) { - u8 berry = ItemIdToBerryType(gScriptItemId); + u8 berry = ItemIdToBerryType(gSpecialVar_ItemId); PlantBerryTree(FieldObjectGetBerryTreeId(gSelectedMapObject), berry, 1, TRUE); FieldObjectInteractionGetBerryTreeData(); @@ -1219,7 +1213,7 @@ void FieldObjectInteractionPickBerryTree(void) void FieldObjectInteractionRemoveBerryTree(void) { RemoveBerryTree(FieldObjectGetBerryTreeId(gSelectedMapObject)); - sub_8092EF0(gScriptLastTalked, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + sub_8092EF0(gSpecialVar_LastTalked, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); } u8 PlayerHasBerries(void) diff --git a/src/berry_blender.c b/src/berry_blender.c index db50fe4c42..8487984422 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -1,18 +1,3623 @@ - -// Includes #include "global.h" +#include "constants/game_stat.h" +#include "overworld.h" +#include "berry_blender.h" +#include "bg.h" +#include "window.h" +#include "task.h" +#include "sprite.h" +#include "sound.h" +#include "constants/songs.h" +#include "m4a.h" +#include "bg.h" +#include "palette.h" +#include "decompress.h" +#include "malloc.h" +#include "gpu_regs.h" +#include "text.h" +#include "event_data.h" +#include "main.h" +#include "link.h" +#include "item_menu_icons.h" +#include "berry.h" +#include "item.h" +#include "constants/items.h" +#include "string_util.h" +#include "international_string_util.h" +#include "random.h" +#include "menu.h" +#include "pokeblock.h" +#include "trig.h" +#include "tv.h" -// Static type declarations +#define BLENDER_SCORE_BEST 0 +#define BLENDER_SCORE_GOOD 1 +#define BLENDER_SCORE_MISS 2 -// Static RAM declarations -IWRAM_DATA void *berry_blender_c_unused_03000de4; -IWRAM_DATA s16 gUnknown_03000DE8[8]; -IWRAM_DATA s16 gUnknown_03000DF8[6]; -IWRAM_DATA s16 gUnknown_03000E04; -IWRAM_DATA s16 gUnknown_03000E06; +#define BLENDER_MAX_PLAYERS 4 +#define BLENDER_SCORES_NO 3 -// Static ROM declarations +enum +{ + PLAY_AGAIN_OK, + DONT_PLAY_AGAIN, + CANT_PLAY_NO_BERRIES, + CANT_PLAY_NO_PKBLCK_SPACE +}; -// .rodata +struct BlenderBerry +{ + u16 itemId; + u8 name[BERRY_NAME_COUNT]; + u8 flavors[FLAVOR_COUNT]; + u8 smoothness; +}; -// .text +struct TimeAndRPM +{ + u32 time; + u16 max_RPM; +}; + +struct BlenderGameBlock +{ + struct TimeAndRPM timeRPM; + u16 scores[BLENDER_MAX_PLAYERS][BLENDER_SCORES_NO]; +}; + +struct TvBlenderStruct +{ + u8 name[11]; + u8 pokeblockFlavor; + u8 pokeblockColor; + u8 pokeblockSheen; +}; + +struct BerryBlenderData +{ + u8 mainState; + u8 loadGfxState; + u8 unused_02[0x42]; + u16 field_44; + u8 scoreIconIds[BLENDER_SCORES_NO]; + u16 arrowPos; + s16 field_4C; + u16 max_RPM; + u8 syncArrowSpriteIds[BLENDER_MAX_PLAYERS]; + u8 syncArrowSprite2Ids[BLENDER_MAX_PLAYERS]; + u8 unused_57[0xB]; + u8 gameEndState; + u16 field_64[BLENDER_MAX_PLAYERS]; + u16 field_6C; + u16 field_6E; + u16 playAgainState; + u8 field_72; + u16 chosenItemId[BLENDER_MAX_PLAYERS]; + u8 playersNo; + u8 unused_7D[0x10]; + u16 field_8E[BLENDER_MAX_PLAYERS]; + u16 field_96[BLENDER_MAX_PLAYERS]; + u8 yesNoAnswer; + u8 stringVar[100]; + u32 gameFrameTime; + s32 framesToWait; + u32 field_10C; + u8 unused_110[4]; + u8 field_114; + u16 field_116; + u16 field_118; + u16 field_11A; + u16 bg_X; + u16 bg_Y; + u8 field_120[3]; + u8 field_123; + u16 scores[BLENDER_MAX_PLAYERS][BLENDER_SCORES_NO]; + u8 playerPlaces[BLENDER_MAX_PLAYERS]; + struct BgAffineSrcData bgAffineSrc; + u16 field_154; + struct BlenderBerry blendedBerries[BLENDER_MAX_PLAYERS]; + struct TimeAndRPM smallBlock; + u32 field_1A0; + u8 field_1A4; + struct TvBlenderStruct tvBlender; + u8 tilemapBuffers[2][0x800]; + s16 textState; + void *tilesBuffer; + struct BlenderGameBlock gameBlock; +}; + +extern struct MusicPlayerInfo gMPlayInfo_SE2; +extern struct MusicPlayerInfo gMPlayInfo_BGM; +extern u16 gSpecialVar_ItemId; +extern u8 gInGameOpponentsNo; +extern u8 gUnknown_020322D5; +extern u8 gResultsWindowId; + +// graphics +extern const u8 gBerryBlenderArrowTiles[]; +extern const u8 gBerryBlenderStartTiles[]; +extern const u8 gBerryBlenderMarubatsuTiles[]; +extern const u8 gBerryBlenderParticlesTiles[]; +extern const u8 gBerryBlenderCountdownNumbersTiles[]; +extern const u16 gBerryBlenderMiscPalette[]; +extern const u16 gBerryBlenderArrowPalette[]; +extern const u8 sBlenderCenterGfx[]; +extern const u8 gUnknown_08D91DB8[]; +extern const u8 gUnknown_08D927EC[]; + +// text +extern const u8 gText_SavingDontTurnOff2[]; +extern const u8 gText_Space[]; +extern const u8 gText_BlenderMaxSpeedRecord[]; +extern const u8 gText_234Players[]; + +extern void sub_800A418(void); +extern void sub_809882C(u8, u16, u8); +extern void copy_textbox_border_tile_patterns_to_vram(u8, u16, u8); +extern void sub_81AABF0(void (*callback)(void)); +extern void sub_800B4C0(void); +extern void sub_8009F8C(void); +extern void sub_8153430(void); +extern bool8 sub_8153474(void); +extern void sub_80EECEC(void); + +// this file's functions +static void BerryBlender_SetBackgroundsPos(void); +static void sub_8080EA4(u8 taskId); +static void sub_8080FD0(u8 taskId); +static void sub_80810F8(u8 taskId); +static void sub_8081224(u8 taskId); +static void sub_8083F3C(u8 taskId); +static void sub_80833F8(struct Sprite *sprite); +static void sub_8082F68(struct Sprite *sprite); +static void sub_8083010(struct Sprite *sprite); +static void sub_80830C0(struct Sprite *sprite); +static void sub_8082F9C(struct Sprite *sprite); +static void Blender_SetPlayerNamesLocal(u8 opponentsNum); +static void sub_807FAC8(void); +static void sub_8082D28(void); +static bool32 Blender_PrintText(s16 *textState, const u8 *string, s32 textSpeed); +static void sub_807FFA4(void); +static void sub_8080018(void); +static void sub_80808D4(void); +static void Blender_DummiedOutFunc(s16 a0, s16 a1); +static void sub_8081898(void); +static void sub_8082CB4(struct BgAffineSrcData *bgAffineSrc); +static bool8 sub_8083380(void); +static void sub_808074C(void); +static void Blender_PrintPlayerNames(void); +static void sub_8080588(void); +static void Blender_SetBankBerryData(u8 bank, u16 itemId); +static void Blender_AddTextPrinter(u8 windowId, const u8 *string, u8 x, u8 y, s32 speed, s32 caseId); +static void sub_8080DF8(void); +static void sub_8082E84(void); +static void sub_80832BC(s16* a0, u16 a1); +static void sub_8083140(u16 a0, u16 a2); +static void sub_8083230(u16 a0); +static void sub_808330C(void); +static void sub_8082AD4(void); +static void CB2_HandleBlenderEndGame(void); +static bool8 Blender_PrintBlendingRanking(void); +static bool8 Blender_PrintBlendingResults(void); +static void CB2_HandlePlayerPlayAgainChoice(void); +static void CB2_HandlePlayerLinkPlayAgainChoice(void); +static void sub_8083170(u16 a0, u16 a1); +static void Blender_PrintMadePokeblockString(struct Pokeblock *pokeblock, u8 *dst); +static bool32 TryAddContestLinkTvShow(struct Pokeblock *pokeblock, struct TvBlenderStruct *a1); + +// ewram +EWRAM_DATA static struct BerryBlenderData *sBerryBlenderData = NULL; +EWRAM_DATA static s32 sUnknown_020322A8[5] = {0}; +EWRAM_DATA static s32 sUnknown_020322BC[5] = {0}; +EWRAM_DATA static u32 sUnknown_020322D0 = 0; + +// iwram +IWRAM_DATA static s16 sUnknown_03000DE8[8]; +IWRAM_DATA static s16 sUnknown_03000DF8[6]; +IWRAM_DATA static s16 sUnknown_03000E04; +IWRAM_DATA static s16 sUnknown_03000E06; + +// rom + +static const u16 sBlenderCenterPal[] = INCBIN_U16("graphics/berry_blender/center.gbapal"); +static const u8 sBlenderCenterMap[] = INCBIN_U8("graphics/berry_blender/center_map.bin"); +static const u16 sBlenderOuterPal[] = INCBIN_U16("graphics/berry_blender/outer.gbapal"); + +// unreferenced pals? +static const u16 sUnknownPal_0[] = INCBIN_U16("graphics/unknown/unknown_339514.gbapal"); +static const u16 sUnknownArray_1[224] = {0}; + +// unused text? +static const u8 sUnusedText_YesNo[] = _("YES\nNO"); +static const u8 sUnusedText_2[] = _("▶"); +static const u8 sUnusedText_Space[] = _(" "); +static const u8 sUnusedText_Terminating[] = _("Terminating."); +static const u8 sUnusedText_LinkPartnerNotFound[] = _("Link partner(s) not found.\nPlease try again.\p"); + +static const u8 sText_BerryBlenderStart[] = _("Starting up the BERRY BLENDER.\pPlease select a BERRY from your BAG\nto put in the BERRY BLENDER.\p"); +static const u8 sText_NewParagraph[] = _("\p"); +static const u8 sText_WasMade[] = _(" was made!"); +static const u8 sText_Mister[] = _("MISTER"); +static const u8 sText_Laddie[] = _("LADDIE"); +static const u8 sText_Lassie[] = _("LASSIE"); +static const u8 sText_Master[] = _("MASTER"); +static const u8 sText_Dude[] = _("DUDE"); +static const u8 sText_Miss[] = _("MISS"); + +static const u8* const sBlenderOpponentsNames[] = +{ + sText_Mister, + sText_Laddie, + sText_Lassie, + sText_Master, + sText_Dude, + sText_Miss +}; + +enum +{ + BLENDER_MISTER, + BLENDER_LADDIE, + BLENDER_LASSIE, + BLENDER_MASTER, + BLENDER_DUDE, + BLENDER_MISS +}; + +static const u8 sText_PressAToStart[] = _("Press the A Button to start."); +static const u8 sText_PleaseWaitAWhile[] = _("Please wait a while."); +static const u8 sText_CommunicationStandby[] = _("Communication standby…"); +static const u8 sText_WouldLikeToBlendAnotherBerry[] = _("Would you like to blend another BERRY?"); +static const u8 sText_RunOutOfBerriesForBlending[] = _("You’ve run out of BERRIES for\nblending in the BERRY BLENDER.\p"); +static const u8 sText_YourPokeblockCaseIsFull[] = _("Your {POKEBLOCK} CASE is full.\p"); +static const u8 sText_HasNoBerriesToPut[] = _(" has no BERRIES to put in\nthe BERRY BLENDER."); +static const u8 sText_ApostropheSPokeblockCaseIsFull[] = _("’s {POKEBLOCK} CASE is full.\p"); +static const u8 sText_BlendingResults[] = _("RESULTS OF BLENDING"); +static const u8 sText_BerryUsed[] = _("BERRY USED"); +static const u8 sText_SpaceBerry[] = _(" BERRY"); +static const u8 sText_Time[] = _("Time:"); +static const u8 sText_Min[] = _(" min. "); +static const u8 sText_Sec[] = _(" sec."); +static const u8 sText_MaximumSpeed[] = _("MAXIMUM SPEED"); +static const u8 sText_RPM[] = _(" RPM"); +static const u8 sText_Dot[] = _("."); +static const u8 sText_NewLine[] = _("\n"); +static const u8 sText_Space[] = _(" "); +static const u8 sText_Ranking[] = _("RANKING"); +static const u8 sText_TheLevelIs[] = _("The level is "); +static const u8 sText_TheFeelIs[] = _(", and the feel is "); +static const u8 sText_Dot2[] = _("."); + +static const struct BgTemplate sBerryBlenderBgTemplates[3] = +{ + { + .bg = 0, + .charBaseIndex = 3, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0, + }, + { + .bg = 1, + .charBaseIndex = 2, + .mapBaseIndex = 12, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0, + }, + { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 8, + .screenSize = 1, + .paletteMode = 1, + .priority = 0, + .baseTile = 0, + } +}; + +static const struct WindowTemplate sBerryBlender_WindowTemplates[] = +{ + {0, 1, 6, 7, 2, 0xE, 0x28}, + {0, 0x16, 6, 7, 2, 0xE, 0x36}, + {0, 1, 0xC, 7, 2, 0xE, 0x44}, + {0, 0x16, 0xC, 7, 2, 0xE, 0x52}, + {0, 2, 0xF, 0x1B, 4, 0xE, 0x60}, + {0, 5, 3, 0x15, 0xE, 0xE, 0x60}, + DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate sBlender_YesNoWindowTemplate = +{ + 0, 0x15, 9, 5, 4, 0xE, 0xCC +}; + +static const s8 sUnknown_083399C0[][2] = +{ + {-1, -1}, {1, -1}, {-1, 1}, {1, 1} +}; + +static const u8 sBlenderSyncArrowsPos[BLENDER_MAX_PLAYERS][2] = +{ + {72, 32}, {168, 32}, {72, 128}, {168, 128} +}; + +static const u8 sUnknown_083399D0[3][4] = +{ + {-1, 0, 1, -1}, {-1, 0, 1, 2}, {0, 1, 2, 3} +}; + +static const u16 sUnknown_083399DC[] = {0, 0xC000, 0x4000, 0x8000}; +static const u8 sUnknown_083399E4[] = {1, 1, 0}; +static const u8 sUnknown_083399E7[] = {32, 224, 96, 160, 0}; + +static const TaskFunc sUnknown_083399EC[] = +{ + sub_8080EA4, sub_8080FD0, sub_80810F8 +}; + +static const struct OamData sOamData_8216314 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AnimCmd sSpriteAnim_821631C[] = +{ + ANIMCMD_FRAME(16, 5, 1, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8216324[] = +{ + ANIMCMD_FRAME(16, 5, .vFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_821632C[] = +{ + ANIMCMD_FRAME(16, 5, .hFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8216334[] = +{ + ANIMCMD_FRAME(16, 5, 0, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_821633C[] = +{ + ANIMCMD_FRAME(48, 2, 1, 1), + ANIMCMD_FRAME(32, 5, 1, 1), + ANIMCMD_FRAME(48, 3, 1, 1), + ANIMCMD_FRAME(16, 5, 1, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8216350[] = +{ + ANIMCMD_FRAME(48, 2, .vFlip = TRUE), + ANIMCMD_FRAME(32, 5, .vFlip = TRUE), + ANIMCMD_FRAME(48, 3, .vFlip = TRUE), + ANIMCMD_FRAME(16, 5, .vFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8216364[] = +{ + ANIMCMD_FRAME(48, 2, .hFlip = TRUE), + ANIMCMD_FRAME(32, 5, .hFlip = TRUE), + ANIMCMD_FRAME(48, 3, .hFlip = TRUE), + ANIMCMD_FRAME(16, 5, .hFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8216378[] = +{ + ANIMCMD_FRAME(48, 2, 0, 0), + ANIMCMD_FRAME(32, 5, 0, 0), + ANIMCMD_FRAME(48, 3, 0, 0), + ANIMCMD_FRAME(16, 5, 0, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_821638C[] = +{ + ANIMCMD_FRAME(0, 5, 1, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8216394[] = +{ + ANIMCMD_FRAME(0, 5, .vFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_821639C[] = +{ + ANIMCMD_FRAME(0, 5, .hFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_82163A4[] = +{ + ANIMCMD_FRAME(0, 5, 0, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_82163AC[] = +{ + sSpriteAnim_821631C, + sSpriteAnim_8216324, + sSpriteAnim_821632C, + sSpriteAnim_8216334, + sSpriteAnim_821633C, + sSpriteAnim_8216350, + sSpriteAnim_8216364, + sSpriteAnim_8216378, + sSpriteAnim_821638C, + sSpriteAnim_8216394, + sSpriteAnim_821639C, + sSpriteAnim_82163A4 +}; + +static const struct SpriteSheet sSpriteSheet_BlenderArrow = +{ + gBerryBlenderArrowTiles, 0x800, 46545 +}; + +static const struct SpritePalette sSpritePal_BlenderMisc = +{ + gBerryBlenderMiscPalette, 46546 +}; + +static const struct SpritePalette sSpritePal_BlenderArrow = +{ + gBerryBlenderArrowPalette, 12312 +}; + +static const struct SpriteTemplate sBlenderSyncArrow_SpriteTemplate = +{ + .tileTag = 46545, + .paletteTag = 12312, + .oam = &sOamData_8216314, + .anims = sSpriteAnimTable_82163AC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80833F8 +}; + +static const struct OamData sOamData_821640C = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AnimCmd sSpriteAnim_8216414[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_821641C[] = +{ + ANIMCMD_FRAME(4, 20, 1, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8216424[] = +{ + ANIMCMD_FRAME(8, 4), + ANIMCMD_FRAME(12, 4), + ANIMCMD_FRAME(8, 4), + ANIMCMD_FRAME(12, 4), + ANIMCMD_FRAME(8, 4), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_821643C[] = +{ + ANIMCMD_FRAME(8, 4), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_8216444[] = +{ + sSpriteAnim_8216414, + sSpriteAnim_821641C, + sSpriteAnim_8216424, + sSpriteAnim_821643C, +}; + +static const struct SpriteSheet sUnknown_08339B38 = +{ + gBerryBlenderMarubatsuTiles, 0x200, 48888 +}; + +static const struct SpriteTemplate sUnknown_08339B40 = +{ + .tileTag = 48888, + .paletteTag = 46546, + .oam = &sOamData_821640C, + .anims = sSpriteAnimTable_8216444, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8082F68 +}; + +static const struct OamData sOamData_8216474 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AnimCmd sSpriteAnim_821647C[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(3, 5), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8216494[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_82164AC[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(2, 2), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(3, 3), + ANIMCMD_FRAME(2, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_82164D0[] = +{ + ANIMCMD_FRAME(5, 5, 1, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_82164D8[] = +{ + ANIMCMD_FRAME(6, 5, 1, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_82164E0[] = +{ + sSpriteAnim_821647C, + sSpriteAnim_8216494, + sSpriteAnim_82164AC, + sSpriteAnim_82164D0, + sSpriteAnim_82164D8, +}; + +static const struct SpriteSheet sUnknown_08339BD8 = +{ + gBerryBlenderParticlesTiles, 0xE0, 23456 +}; + +static const struct SpriteTemplate sUnknown_08339BE0 = +{ + .tileTag = 23456, + .paletteTag = 46546, + .oam = &sOamData_8216474, + .anims = sSpriteAnimTable_82164E0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct OamData sOamData_8216514 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AnimCmd sSpriteAnim_821651C[] = +{ + ANIMCMD_FRAME(32, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8216524[] = +{ + ANIMCMD_FRAME(16, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_821652C[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_8216534[] = +{ + sSpriteAnim_821651C, + sSpriteAnim_8216524, + sSpriteAnim_821652C, +}; + +static const struct SpriteSheet sUnknown_08339C24 = +{ + gBerryBlenderCountdownNumbersTiles, 0x600, 12345 +}; + +static const struct SpriteTemplate sUnknown_08339C2C = +{ + .tileTag = 12345, + .paletteTag = 46546, + .oam = &sOamData_8216514, + .anims = sSpriteAnimTable_8216534, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8083010 +}; + +static const struct OamData sOamData_8216560 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AnimCmd sSpriteAnim_8216568[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_8216570[] = +{ + sSpriteAnim_8216568, +}; + +static const struct SpriteSheet sUnknown_08339C58 = +{ + gBerryBlenderStartTiles, 0x400, 12346 +}; + +static const struct SpriteTemplate sUnknown_08339C60 = +{ + .tileTag = 12346, + .paletteTag = 46546, + .oam = &sOamData_8216560, + .anims = sSpriteAnimTable_8216570, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80830C0 +}; + +static const s16 sUnknown_08339C78[][5] = +{ + {-10, 20, 10, 2, 1}, + {250, 20, 10, -2, 1}, + {-10, 140, 10, 2, -1}, + {250, 140, 10, -2, -1}, +}; + +static const u8 sOpponentBerrySets[][3] = +{ + {4, 3, 2}, {0, 4, 3}, {1, 0, 4}, {2, 1, 0}, {3, 2, 1}, {0, 2, 3}, {1, 3, 4}, {2, 4, 0}, {3, 0, 1}, {4, 1, 2}, +}; + +static const u8 sSpecialOpponentBerrySets[] = {30, 31, 32, 33, 34}; + +static const u8 sUnknown_08339CC3[] = {1, 1, 2, 3, 4}; + +static const u8 sUnknown_08339CC8[] = {0x1C, 0x16, 0x13, 0x1A, 0x19, 0x0E, 0x0D, 0x0B, 0x07, 0x15}; + +static const u8 sUnknown_08339CD2[] = +{ + 0xfe, 0x02, 0x02, 0xce, 0xd0, 0x37, 0x44, 0x07, 0x1f, 0x0c, 0x10, + 0x00, 0xff, 0xfe, 0x91, 0x72, 0xce, 0xd0, 0x37, 0x44, 0x07, 0x1f, + 0x0c, 0x10, 0x00, 0xff, 0x06, 0x27, 0x02, 0xff, 0x00, 0x0c, 0x48, + 0x02, 0xff, 0x00, 0x01, 0x1f, 0x02, 0xff, 0x00, 0x16, 0x37, 0x02, + 0xff, 0x00, 0x0d, 0x50, 0x4b, 0x02, 0xff, 0x06, 0x06, 0x06, 0x06, + 0x05, 0x03, 0x03, 0x03, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x02 +}; + +static const struct WindowTemplate sBlenderRecordWindowTemplate = {0, 6, 4, 0x12, 0xB, 0xF, 8}; + +// code + +static void Blender_ControlHitPitch(void) +{ + m4aMPlayPitchControl(&gMPlayInfo_SE2, 0xFFFF, 2 * (sBerryBlenderData->field_4C - 128)); +} + +static void VBlankCB0_BerryBlender(void) +{ + BerryBlender_SetBackgroundsPos(); + SetBgAffine(2, sBerryBlenderData->bgAffineSrc.texX, sBerryBlenderData->bgAffineSrc.texY, + sBerryBlenderData->bgAffineSrc.scrX, sBerryBlenderData->bgAffineSrc.scrY, + sBerryBlenderData->bgAffineSrc.sx, sBerryBlenderData->bgAffineSrc.sy, + sBerryBlenderData->bgAffineSrc.alpha); + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static bool8 LoadBerryBlenderGfx(void) +{ + switch (sBerryBlenderData->loadGfxState) + { + case 0: + sBerryBlenderData->tilesBuffer = AllocZeroed(sub_8034974(sBlenderCenterGfx) + 100); + LZDecompressWram(sBlenderCenterGfx, sBerryBlenderData->tilesBuffer); + sBerryBlenderData->loadGfxState++; + break; + case 1: + CopyToBgTilemapBuffer(2, sBlenderCenterMap, 0x400, 0); + CopyBgTilemapBufferToVram(2); + LoadPalette(sBlenderCenterPal, 0, 0x100); + sBerryBlenderData->loadGfxState++; + break; + case 2: + LoadBgTiles(2, sBerryBlenderData->tilesBuffer, sub_8034974(sBlenderCenterGfx), 0); + sBerryBlenderData->loadGfxState++; + break; + case 3: + LZDecompressWram(gUnknown_08D91DB8, sBerryBlenderData->tilesBuffer); + sBerryBlenderData->loadGfxState++; + break; + case 4: + LoadBgTiles(1, sBerryBlenderData->tilesBuffer, sub_8034974(gUnknown_08D91DB8), 0); + sBerryBlenderData->loadGfxState++; + break; + case 5: + LZDecompressWram(gUnknown_08D927EC, sBerryBlenderData->tilesBuffer); + sBerryBlenderData->loadGfxState++; + break; + case 6: + CopyToBgTilemapBuffer(1, sBerryBlenderData->tilesBuffer, sub_8034974(gUnknown_08D927EC), 0); + CopyBgTilemapBufferToVram(1); + sBerryBlenderData->loadGfxState++; + break; + case 7: + LoadPalette(sBlenderOuterPal, 0x80, 0x20); + sBerryBlenderData->loadGfxState++; + break; + case 8: + LoadSpriteSheet(&sSpriteSheet_BlenderArrow); + LoadSpriteSheet(&sUnknown_08339BD8); + LoadSpriteSheet(&sUnknown_08339B38); + sBerryBlenderData->loadGfxState++; + break; + case 9: + LoadSpriteSheet(&sUnknown_08339C24); + LoadSpriteSheet(&sUnknown_08339C58); + LoadSpritePalette(&sSpritePal_BlenderArrow); + LoadSpritePalette(&sSpritePal_BlenderMisc); + Free(sBerryBlenderData->tilesBuffer); + sBerryBlenderData->loadGfxState = 0; + return TRUE; + } + + return FALSE; +} + +static void sub_807F9D0(void) +{ + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14); + CopyBgTilemapBufferToVram(0); + ShowBg(0); + ShowBg(1); + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); +} + +static void InitBerryBlenderWindows(void) +{ + if (InitWindows(sBerryBlender_WindowTemplates)) + { + s32 i; + + DeactivateAllTextPrinters(); + for (i = 0; i < 5; i++) + FillWindowPixelBuffer(i, 0); + + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14); + sub_81978B0(0xE0); + } +} + +void DoBerryBlending(void) +{ + if (sBerryBlenderData == NULL) + sBerryBlenderData = AllocZeroed(sizeof(*sBerryBlenderData)); + + sBerryBlenderData->gameEndState = 0; + sBerryBlenderData->mainState = 0; + sBerryBlenderData->gameEndState = 0; + + Blender_SetPlayerNamesLocal(gSpecialVar_0x8004); + SetMainCallback2(sub_807FAC8); +} + +static void sub_807FAC8(void) +{ + s32 i; + + switch (sBerryBlenderData->mainState) + { + case 0: + SetGpuReg(REG_OFFSET_DISPCNT, 0); + ResetSpriteData(); + FreeAllSpritePalettes(); + SetVBlankCallback(NULL); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(1, sBerryBlenderBgTemplates, ARRAY_COUNT(sBerryBlenderBgTemplates)); + SetBgTilemapBuffer(1, sBerryBlenderData->tilemapBuffers[0]); + SetBgTilemapBuffer(2, sBerryBlenderData->tilemapBuffers[1]); + sub_809882C(0, 1, 0xD0); + copy_textbox_border_tile_patterns_to_vram(0, 0x14, 0xF0); + InitBerryBlenderWindows(); + + sBerryBlenderData->mainState++; + sBerryBlenderData->field_118 = 0; + sBerryBlenderData->field_116 = 0; + sBerryBlenderData->field_11A = 0x50; + sBerryBlenderData->bg_X = 0; + sBerryBlenderData->bg_Y = 0; + sBerryBlenderData->loadGfxState = 0; + + sub_8082D28(); + break; + case 1: + if (LoadBerryBlenderGfx()) + { + for (i = 0; i < BLENDER_MAX_PLAYERS; i++) + { + sBerryBlenderData->syncArrowSpriteIds[i] = CreateSprite(&sBlenderSyncArrow_SpriteTemplate, sBlenderSyncArrowsPos[i][0], sBlenderSyncArrowsPos[i][1], 1); + StartSpriteAnim(&gSprites[sBerryBlenderData->syncArrowSpriteIds[i]], i + 8); + } + if (gReceivedRemoteLinkPlayers != 0 && gLinkVSyncDisabled) + { + sub_800E0E8(); + sub_800DFB4(0, 0); + } + SetVBlankCallback(VBlankCB0_BerryBlender); + sBerryBlenderData->mainState++; + } + break; + case 2: + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + sub_8082D28(); + sBerryBlenderData->mainState++; + break; + case 3: + sub_807F9D0(); + if (!gPaletteFade.active) + sBerryBlenderData->mainState++; + break; + case 4: + if (Blender_PrintText(&sBerryBlenderData->textState, sText_BerryBlenderStart, GetPlayerTextSpeed())) + sBerryBlenderData->mainState++; + break; + case 5: + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + sBerryBlenderData->mainState++; + break; + case 6: + if (!gPaletteFade.active) + { + FreeAllWindowBuffers(); + UnsetBgTilemapBuffer(2); + UnsetBgTilemapBuffer(1); + SetVBlankCallback(NULL); + sub_81AABF0(sub_807FFA4); + + sBerryBlenderData->mainState = 0; + } + break; + } + + AnimateSprites(); + BuildOamBuffer(); + RunTextPrinters(); + UpdatePaletteFade(); +} + +static void sub_807FD08(struct Sprite* sprite) +{ + sprite->data[1] += sprite->data[6]; + sprite->data[2] -= sprite->data[4]; + sprite->data[2] += sprite->data[7]; + sprite->data[0] += sprite->data[7]; + sprite->data[4]--; + + if (sprite->data[0] < sprite->data[2]) + { + sprite->data[3] = sprite->data[4] = sprite->data[3] - 1; + + if (++sprite->data[5] > 3) + DestroySprite(sprite); + else + PlaySE(SE_TB_KARA); + } + sprite->pos1.x = sprite->data[1]; + sprite->pos1.y = sprite->data[2]; +} + +static void sub_807FD64(struct Sprite* sprite, s16 a2, s16 a3, s16 a4, s16 a5, s16 a6) +{ + sprite->data[0] = a3; + sprite->data[1] = a2; + sprite->data[2] = a3; + sprite->data[3] = a4; + sprite->data[4] = 10; + sprite->data[5] = 0; + sprite->data[6] = a5; + sprite->data[7] = a6; + sprite->callback = sub_807FD08; +} + +static void sub_807FD90(u16 a0, u8 a1) +{ + u8 spriteId = sub_80D511C(a0 + 123, 0, 80, a1 & 1); + sub_807FD64(&gSprites[spriteId], sUnknown_08339C78[a1][0], sUnknown_08339C78[a1][1], sUnknown_08339C78[a1][2], sUnknown_08339C78[a1][3], sUnknown_08339C78[a1][4]); +} + +static void Blender_CopyBerryData(struct BlenderBerry* berry, u16 itemId) +{ + const struct Berry *berryInfo = GetBerryInfo(ITEM_TO_BERRY(itemId)); + + berry->itemId = itemId; + StringCopy(berry->name, berryInfo->name); + berry->flavors[FLAVOR_SPICY] = berryInfo->spicy; + berry->flavors[FLAVOR_DRY] = berryInfo->dry; + berry->flavors[FLAVOR_SWEET] = berryInfo->sweet; + berry->flavors[FLAVOR_BITTER] = berryInfo->bitter; + berry->flavors[FLAVOR_SOUR] = berryInfo->sour; + berry->smoothness = berryInfo->smoothness; +} + +static void Blender_SetPlayerNamesLocal(u8 opponentsNum) +{ + switch (opponentsNum) + { + case 0: + gInGameOpponentsNo = 0; + break; + case 1: + gInGameOpponentsNo = 1; + sBerryBlenderData->playersNo = 2; + StringCopy(gLinkPlayers[0].name, gSaveBlock2Ptr->playerName); + + if (!FlagGet(FLAG_0x340)) + StringCopy(gLinkPlayers[1].name, sBlenderOpponentsNames[BLENDER_MASTER]); + else + StringCopy(gLinkPlayers[1].name, sBlenderOpponentsNames[BLENDER_MISTER]); + + gLinkPlayers[0].language = GAME_LANGUAGE; + gLinkPlayers[1].language = GAME_LANGUAGE; + break; + case 2: + gInGameOpponentsNo = 2; + sBerryBlenderData->playersNo = 3; + StringCopy(gLinkPlayers[0].name, gSaveBlock2Ptr->playerName); + StringCopy(gLinkPlayers[1].name, sBlenderOpponentsNames[BLENDER_DUDE]); + StringCopy(gLinkPlayers[2].name, sBlenderOpponentsNames[BLENDER_LASSIE]); + + gLinkPlayers[0].language = GAME_LANGUAGE; + gLinkPlayers[1].language = GAME_LANGUAGE; + gLinkPlayers[2].language = GAME_LANGUAGE; + break; + case 3: + gInGameOpponentsNo = 3; + sBerryBlenderData->playersNo = 4; + StringCopy(gLinkPlayers[0].name, gSaveBlock2Ptr->playerName); + StringCopy(gLinkPlayers[1].name, sBlenderOpponentsNames[BLENDER_MISS]); + StringCopy(gLinkPlayers[2].name, sBlenderOpponentsNames[BLENDER_LADDIE]); + StringCopy(gLinkPlayers[3].name, sBlenderOpponentsNames[BLENDER_LASSIE]); + + gLinkPlayers[0].language = GAME_LANGUAGE; + gLinkPlayers[1].language = GAME_LANGUAGE; + gLinkPlayers[2].language = GAME_LANGUAGE; + gLinkPlayers[3].language = GAME_LANGUAGE; + break; + } +} + +static void sub_807FFA4(void) +{ + s32 i; + + SetGpuReg(REG_OFFSET_DISPCNT, 0); + if (sBerryBlenderData == NULL) + sBerryBlenderData = AllocZeroed(sizeof(*sBerryBlenderData)); + + sBerryBlenderData->mainState = 0; + sBerryBlenderData->field_10C = 0; + + for (i = 0; i < BLENDER_MAX_PLAYERS; i++) + sBerryBlenderData->chosenItemId[i] = ITEM_NONE; + + Blender_SetPlayerNamesLocal(gSpecialVar_0x8004); + + if (gSpecialVar_0x8004 == 0) + SetMainCallback2(sub_8080018); + else + SetMainCallback2(sub_80808D4); +} + +static void sub_8080018(void) +{ + s32 i, j; + + switch (sBerryBlenderData->mainState) + { + case 0: + sub_8080588(); + gLinkType = 0x4422; + sBerryBlenderData->field_72 = 0; + for (i = 0; i < BLENDER_MAX_PLAYERS; i++) + { + sBerryBlenderData->field_64[i] = 0; + for (j = 0; j < 3; j++) + { + sBerryBlenderData->scores[i][j] = 0; + } + } + sBerryBlenderData->playAgainState = 0; + sBerryBlenderData->max_RPM = 0; + sBerryBlenderData->loadGfxState = 0; + sBerryBlenderData->mainState++; + break; + case 1: + if (LoadBerryBlenderGfx()) + { + sBerryBlenderData->mainState++; + sub_8082D28(); + } + break; + case 2: + for (i = 0; i < BLENDER_MAX_PLAYERS; i++) + { + sBerryBlenderData->syncArrowSprite2Ids[i] = CreateSprite(&sBlenderSyncArrow_SpriteTemplate, sBlenderSyncArrowsPos[i][0], sBlenderSyncArrowsPos[i][1], 1); + StartSpriteAnim(&gSprites[sBerryBlenderData->syncArrowSprite2Ids[i]], i + 8); + } + if (gReceivedRemoteLinkPlayers != 0 && gLinkVSyncDisabled) + { + sub_800E0E8(); + sub_800DFB4(0, 0); + } + sBerryBlenderData->mainState++; + break; + case 3: + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + sBerryBlenderData->mainState++; + break; + case 4: + sub_807F9D0(); + if (!gPaletteFade.active) + { + sBerryBlenderData->mainState++; + } + break; + case 5: + Blender_PrintText(&sBerryBlenderData->textState, sText_CommunicationStandby, 0); + sBerryBlenderData->mainState = 8; + sBerryBlenderData->framesToWait = 0; + break; + case 8: + sBerryBlenderData->mainState++; + sBerryBlenderData->field_114 = 0; + Blender_CopyBerryData(&sBerryBlenderData->blendedBerries[0], gSpecialVar_ItemId); + memcpy(gBlockSendBuffer, &sBerryBlenderData->blendedBerries[0], sizeof(struct BlenderBerry)); + sub_800ADF8(); + sBerryBlenderData->framesToWait = 0; + break; + case 9: + if (sub_800A520()) + { + ResetBlockReceivedFlags(); + if (GetMultiplayerId() == 0) + sub_800A4D8(4); + sBerryBlenderData->mainState++; + } + break; + case 10: + if (++sBerryBlenderData->framesToWait > 20) + { + sub_8197DF8(4, TRUE); + if (GetBlockReceivedStatus() == sub_800A9D8()) + { + for (i = 0; i < GetLinkPlayerCount(); i++) + { + memcpy(&sBerryBlenderData->blendedBerries[i], &gBlockRecvBuffer[i][0], sizeof(struct BlenderBerry)); + sBerryBlenderData->chosenItemId[i] = sBerryBlenderData->blendedBerries[i].itemId; + } + + ResetBlockReceivedFlags(); + sBerryBlenderData->mainState++; + } + } + break; + case 11: + sBerryBlenderData->playersNo = GetLinkPlayerCount(); + + for (i = 0; i < BLENDER_MAX_PLAYERS; i++) + { + if (sBerryBlenderData->field_114 == sUnknown_083399D0[sBerryBlenderData->playersNo - 2][i]) + { + sub_807FD90(sBerryBlenderData->chosenItemId[sBerryBlenderData->field_114], i); + break; + } + } + + sBerryBlenderData->framesToWait = 0; + sBerryBlenderData->mainState++; + sBerryBlenderData->field_114++; + break; + case 12: + if (++sBerryBlenderData->framesToWait > 60) + { + if (sBerryBlenderData->field_114 >= sBerryBlenderData->playersNo) + { + sBerryBlenderData->mainState++; + sBerryBlenderData->arrowPos = sUnknown_083399DC[sUnknown_083399E4[sBerryBlenderData->playersNo - 2]] - 22528; + } + else + { + sBerryBlenderData->mainState--; + } + sBerryBlenderData->framesToWait = 0; + } + break; + case 13: + if (sub_800A520()) + { + sBerryBlenderData->mainState++; + sub_8082CB4(&sBerryBlenderData->bgAffineSrc); + PlaySE(SE_RU_HYUU); + ShowBg(2); + } + break; + case 14: + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON); + sBerryBlenderData->arrowPos += 0x200; + sBerryBlenderData->field_11A += 4; + if (sBerryBlenderData->field_11A > 0xFF) + { + SetGpuRegBits(REG_OFFSET_BG2CNT, 2); + sBerryBlenderData->mainState++; + sBerryBlenderData->field_11A = 0x100; + sBerryBlenderData->arrowPos = sUnknown_083399DC[sUnknown_083399E4[sBerryBlenderData->playersNo - 2]]; + sBerryBlenderData->framesToWait = 0; + PlaySE(SE_TRACK_DOOR); + sub_808074C(); + Blender_PrintPlayerNames(); + } + sub_8082CB4(&sBerryBlenderData->bgAffineSrc); + break; + case 15: + if (sub_8083380()) + { + sBerryBlenderData->framesToWait = 0; + sBerryBlenderData->mainState++; + } + sub_8082CB4(&sBerryBlenderData->bgAffineSrc); + break; + case 16: + CreateSprite(&sUnknown_08339C2C, 120, -16, 3); + sBerryBlenderData->mainState++; + break; + case 18: + sBerryBlenderData->mainState++; + break; + case 19: + sub_800ADF8(); + sBerryBlenderData->mainState++; + break; + case 20: + if (sub_800A520()) + { + sub_800A418(); + sBerryBlenderData->mainState++; + } + break; + case 21: + sBerryBlenderData->field_4C = 128; + sBerryBlenderData->gameFrameTime = 0; + SetMainCallback2(sub_8081898); + if (GetCurrentMapMusic() != MUS_CYCLING) + { + sBerryBlenderData->field_154 = GetCurrentMapMusic(); + } + PlayBGM(MUS_CYCLING); + break; + } + + Blender_DummiedOutFunc(sBerryBlenderData->bg_X, sBerryBlenderData->bg_Y); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + RunTextPrinters(); + UpdatePaletteFade(); +} + +static void sub_8080588(void) +{ + SetGpuReg(REG_OFFSET_DISPCNT, 0); + + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetTasks(); + + SetVBlankCallback(VBlankCB0_BerryBlender); + + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(1, sBerryBlenderBgTemplates, ARRAY_COUNT(sBerryBlenderBgTemplates)); + + SetBgTilemapBuffer(1, sBerryBlenderData->tilemapBuffers[0]); + SetBgTilemapBuffer(2, sBerryBlenderData->tilemapBuffers[1]); + + sub_809882C(0, 1, 0xD0); + copy_textbox_border_tile_patterns_to_vram(0, 0x14, 0xF0); + InitBerryBlenderWindows(); + + sBerryBlenderData->field_44 = 0; + sBerryBlenderData->field_4C = 0; + sBerryBlenderData->arrowPos = 0; + sBerryBlenderData->max_RPM = 0; + sBerryBlenderData->bg_X = 0; + sBerryBlenderData->bg_Y = 0; +} + +static u8 sub_8080624(u16 arrowPos, u8 playerId) +{ + u32 var1 = (arrowPos / 0x100) + 0x18; + u8 arrID = sBerryBlenderData->field_96[playerId]; + u32 var2 = sUnknown_083399E7[arrID]; + + if (var1 >= var2 && var1 < var2 + 0x30) + { + if (var1 >= var2 + 20 && var1 < var2 + 28) + return 2; + else + return 1; + } + + return 0; +} + +static void Blender_SetOpponentsBerryData(u16 playerBerryItemId, u8 playersNum, struct BlenderBerry* playerBerry) +{ + u16 opponentSetId = 0; + u16 opponentBerryId; + u16 var; + u16 i; + + if (playerBerryItemId == ITEM_ENIGMA_BERRY) + { + for (i = 0; i < FLAVOR_COUNT; i++) + { + if (playerBerry->flavors[opponentSetId] > playerBerry->flavors[i]) + opponentSetId = i; + } + opponentSetId += 5; + } + else + { + opponentSetId = playerBerryItemId - FIRST_BERRY_INDEX; + if (opponentSetId >= 5) + opponentSetId = (opponentSetId % 5) + 5; + } + for (i = 0; i < playersNum - 1; i++) + { + opponentBerryId = sOpponentBerrySets[opponentSetId][i]; + var = playerBerryItemId - 163; + if (!FlagGet(0x340) && gSpecialVar_0x8004 == 1) + { + opponentSetId %= 5; + opponentBerryId = sSpecialOpponentBerrySets[opponentSetId]; + if (var <= 4) + opponentBerryId -= 5; + } + Blender_SetBankBerryData(i + 1, opponentBerryId + FIRST_BERRY_INDEX); + } +} + +static void sub_808074C(void) +{ + s32 i, j; + + for (i = 0; i < BLENDER_MAX_PLAYERS; i++) + { + sBerryBlenderData->field_96[i] = 0xFF; + sBerryBlenderData->field_8E[i] = sUnknown_083399D0[sBerryBlenderData->playersNo - 2][i]; + } + for (j = 0; j < BLENDER_MAX_PLAYERS; j++) + { + for (i = 0; i < BLENDER_MAX_PLAYERS; i++) + { + if (sBerryBlenderData->field_8E[i] == j) + sBerryBlenderData->field_96[j] = i; + } + } +} + +static void Blender_PrintPlayerNames(void) +{ + s32 i, xPos; + u32 multiplayerId = 0; + u8 text[20]; + + if (gReceivedRemoteLinkPlayers) + multiplayerId = GetMultiplayerId(); + + for (i = 0; i < BLENDER_MAX_PLAYERS; i++) + { + if (sBerryBlenderData->field_8E[i] != 0xFF) + { + sBerryBlenderData->syncArrowSpriteIds[sBerryBlenderData->field_8E[i]] = sBerryBlenderData->syncArrowSprite2Ids[i]; + StartSpriteAnim(&gSprites[sBerryBlenderData->syncArrowSpriteIds[sBerryBlenderData->field_8E[i]]], i); + + text[0] = EOS; + StringCopy(text, gLinkPlayers[sBerryBlenderData->field_8E[i]].name); + xPos = GetStringCenterAlignXOffset(1, text, 0x38); + + if (multiplayerId == sBerryBlenderData->field_8E[i]) + Blender_AddTextPrinter(i, text, xPos, 1, 0, 2); + else + Blender_AddTextPrinter(i, text, xPos, 1, 0, 1); + + PutWindowTilemap(i); + CopyWindowToVram(i, 3); + } + } +} + +static void sub_80808D4(void) +{ + s32 i, j; + + switch (sBerryBlenderData->mainState) + { + case 0: + sub_800B4C0(); + sub_8080588(); + Blender_SetBankBerryData(0, gSpecialVar_ItemId); + Blender_CopyBerryData(&sBerryBlenderData->blendedBerries[0], gSpecialVar_ItemId); + Blender_SetOpponentsBerryData(gSpecialVar_ItemId, sBerryBlenderData->playersNo, &sBerryBlenderData->blendedBerries[0]); + + for (i = 0; i < BLENDER_MAX_PLAYERS; i++) + { + sBerryBlenderData->field_64[i] = 0; + for (j = 0; j < 3; j++) + { + sBerryBlenderData->scores[i][j] = 0; + } + } + + sBerryBlenderData->playAgainState = 0; + sBerryBlenderData->loadGfxState = 0; + gLinkType = 0x4422; + sBerryBlenderData->mainState++; + break; + case 1: + if (LoadBerryBlenderGfx()) + { + sBerryBlenderData->mainState++; + sub_8082D28(); + } + break; + case 2: + for (i = 0; i < BLENDER_MAX_PLAYERS; i++) + { + sBerryBlenderData->syncArrowSprite2Ids[i] = CreateSprite(&sBlenderSyncArrow_SpriteTemplate, sBlenderSyncArrowsPos[i][0], sBlenderSyncArrowsPos[i][1], 1); + StartSpriteAnim(&gSprites[sBerryBlenderData->syncArrowSprite2Ids[i]], i + 8); + } + sBerryBlenderData->mainState++; + break; + case 3: + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + sBerryBlenderData->mainState++; + sBerryBlenderData->framesToWait = 0; + break; + case 4: + if (++sBerryBlenderData->framesToWait == 2) + sub_807F9D0(); + if (!gPaletteFade.active) + sBerryBlenderData->mainState = 8; + break; + case 8: + sBerryBlenderData->mainState = 11; + sBerryBlenderData->field_114 = 0; + break; + case 11: + for (i = 0; i < BLENDER_MAX_PLAYERS; i++) + { + u32 var = sUnknown_083399D0[sBerryBlenderData->playersNo - 2][i]; + if (sBerryBlenderData->field_114 == var) + { + sub_807FD90(sBerryBlenderData->chosenItemId[sBerryBlenderData->field_114], i); + break; + } + } + sBerryBlenderData->framesToWait = 0; + sBerryBlenderData->mainState++; + sBerryBlenderData->field_114++; + break; + case 12: + if (++sBerryBlenderData->framesToWait > 60) + { + if (sBerryBlenderData->field_114 >= sBerryBlenderData->playersNo) + { + sBerryBlenderData->arrowPos = sUnknown_083399DC[sUnknown_083399E4[sBerryBlenderData->playersNo - 2]] - 22528; + sBerryBlenderData->mainState++; + } + else + { + sBerryBlenderData->mainState--; + } + sBerryBlenderData->framesToWait = 0; + } + break; + case 13: + sBerryBlenderData->mainState++; + sub_808074C(); + PlaySE(SE_RU_HYUU); + sub_8082CB4(&sBerryBlenderData->bgAffineSrc); + ShowBg(2); + break; + case 14: + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON); + sBerryBlenderData->arrowPos += 0x200; + sBerryBlenderData->field_11A += 4; + if (sBerryBlenderData->field_11A > 0xFF) + { + sBerryBlenderData->mainState++; + sBerryBlenderData->field_11A = 0x100; + sBerryBlenderData->arrowPos = sUnknown_083399DC[sUnknown_083399E4[sBerryBlenderData->playersNo - 2]]; + SetGpuRegBits(REG_OFFSET_BG2CNT, 2); + sBerryBlenderData->framesToWait = 0; + PlaySE(SE_TRACK_DOOR); + Blender_PrintPlayerNames(); + } + sub_8082CB4(&sBerryBlenderData->bgAffineSrc); + break; + case 15: + if (sub_8083380()) + { + sBerryBlenderData->mainState++; + } + sub_8082CB4(&sBerryBlenderData->bgAffineSrc); + break; + case 16: + CreateSprite(&sUnknown_08339C2C, 120, -16, 3); + sBerryBlenderData->mainState++; + break; + case 18: + sBerryBlenderData->mainState++; + break; + case 19: + sBerryBlenderData->mainState++; + break; + case 20: + sBerryBlenderData->mainState++; + break; + case 21: + sub_8080DF8(); + sBerryBlenderData->field_4C = 0x80; + sBerryBlenderData->gameFrameTime = 0; + sBerryBlenderData->field_123 = 0; + sBerryBlenderData->field_72 = 0; + SetMainCallback2(sub_8081898); + + if (gSpecialVar_0x8004 == 1) + { + if (!FlagGet(FLAG_0x340)) + sBerryBlenderData->field_120[0] = CreateTask(sub_8081224, 10); + else + sBerryBlenderData->field_120[0] = CreateTask(sUnknown_083399EC[0], 10); + } + + if (gSpecialVar_0x8004 > 1) + { + for (i = 0; i < gSpecialVar_0x8004; i++) + sBerryBlenderData->field_120[i] = CreateTask(sUnknown_083399EC[i], 10 + i); + } + + if (GetCurrentMapMusic() != MUS_CYCLING) + sBerryBlenderData->field_154 = GetCurrentMapMusic(); + + PlayBGM(MUS_CYCLING); + PlaySE(SE_MOTER); + Blender_ControlHitPitch(); + break; + } + + Blender_DummiedOutFunc(sBerryBlenderData->bg_X, sBerryBlenderData->bg_Y); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + RunTextPrinters(); + UpdatePaletteFade(); +} + +static void sub_8080DF8(void) +{ + s32 i; + for (i = 0; i < 4; i++) + { + gSendCmd[0] = 0; + gSendCmd[2] = 0; + gRecvCmds[i][0] = 0; + gRecvCmds[i][2] = 0; + } +} + +static void sub_8080E20(u8 taskId) +{ + if(++gTasks[taskId].data[0] > gTasks[taskId].data[1]) + { + gRecvCmds[gTasks[taskId].data[2]][2] = 0x2345; + DestroyTask(taskId); + } +} + +static void sub_8080E6C(u8 a0, u8 a1) +{ + u8 taskId = CreateTask(sub_8080E20, 80); + gTasks[taskId].data[1] = a1; + gTasks[taskId].data[2] = a0; +} + +static void sub_8080EA4(u8 taskId) +{ + if (sub_8080624(sBerryBlenderData->arrowPos, 1) == 2) + { + if (gTasks[taskId].data[0] == 0) + { + if (sBerryBlenderData->field_123 == 0) + { + u8 rand = Random() / 655; + if (sBerryBlenderData->field_4C < 500) + { + if (rand > 75) + gRecvCmds[1][2] = 0x4523; + else + gRecvCmds[1][2] = 0x5432; + + gRecvCmds[1][2] = 0x5432; + } + else if (sBerryBlenderData->field_4C < 1500) + { + if (rand > 80) + { + gRecvCmds[1][2] = 0x4523; + } + else + { + u8 value = rand - 21; + if (value < 60) + gRecvCmds[1][2] = 0x5432; + else if (rand < 10) + sub_8080E6C(1, 5); + } + } + else if (rand <= 90) + { + u8 value = rand - 71; + if (value < 20) + gRecvCmds[1][2] = 0x5432; + else if (rand < 30) + sub_8080E6C(1, 5); + } + else + { + gRecvCmds[1][2] = 0x4523; + } + } + else + { + gRecvCmds[1][2] = 0x4523; + } + + gTasks[taskId].data[0] = 1; + } + } + else + { + gTasks[taskId].data[0] = 0; + } +} + +static void sub_8080FD0(u8 taskId) +{ + u32 var1 = (sBerryBlenderData->arrowPos + 0x1800) & 0xFFFF; + u32 var2 = sBerryBlenderData->field_96[2] & 0xFF; + if ((var1 >> 8) > sUnknown_083399E7[var2] + 20 && (var1 >> 8) < sUnknown_083399E7[var2] + 40) + { + if (gTasks[taskId].data[0] == 0) + { + if (sBerryBlenderData->field_123 == 0) + { + u8 rand = Random() / 655; + if (sBerryBlenderData->field_4C < 500) + { + if (rand > 66) + gRecvCmds[2][2] = 0x4523; + else + gRecvCmds[2][2] = 0x5432; + } + else + { + u8 value; + if (rand > 65) + gRecvCmds[2][2] = 0x4523; + value = rand - 41; + if (value < 25) + gRecvCmds[2][2] = 0x5432; + if (rand < 10) + sub_8080E6C(2, 5); + } + + gTasks[taskId].data[0] = 1; + } + else + { + gRecvCmds[2][2] = 0x4523; + gTasks[taskId].data[0] = 1; + } + } + } + else + { + gTasks[taskId].data[0] = 0; + } +} + +static void sub_80810F8(u8 taskId) +{ + u32 var1, var2; + + var1 = (sBerryBlenderData->arrowPos + 0x1800) & 0xFFFF; + var2 = sBerryBlenderData->field_96[3] & 0xFF; + if ((var1 >> 8) > sUnknown_083399E7[var2] + 20 && (var1 >> 8) < sUnknown_083399E7[var2] + 40) + { + if (gTasks[taskId].data[0] == 0) + { + if (sBerryBlenderData->field_123 == 0) + { + u8 rand = (Random() / 655); + if (sBerryBlenderData->field_4C < 500) + { + if (rand > 88) + gRecvCmds[3][2] = 0x4523; + else + gRecvCmds[3][2] = 0x5432; + } + else + { + if (rand > 60) + { + gRecvCmds[3][2] = 0x4523; + } + else + { + s8 value = rand - 56; // makes me wonder what the original code was + u8 value2 = value; + if (value2 < 5) + gRecvCmds[3][2] = 0x5432; + } + if (rand < 5) + sub_8080E6C(3, 5); + } + gTasks[taskId].data[0] = 1; + } + else + { + gRecvCmds[3][2] = 0x4523; + gTasks[taskId].data[0] = 1; + } + } + } + else + { + gTasks[taskId].data[0] = 0; + } +} + +static void sub_8081224(u8 taskId) +{ + if (sub_8080624(sBerryBlenderData->arrowPos, 1) == 2) + { + if (gTasks[taskId].data[0] == 0) + { + gRecvCmds[1][2] = 0x4523; + gTasks[taskId].data[0] = 1; + } + } + else + { + gTasks[taskId].data[0] = 0; + } +} + +static void sub_8081288(u16 a0, u8 a1) +{ + u8 spriteId; + + spriteId = CreateSprite(&sUnknown_08339B40, + sBlenderSyncArrowsPos[a1][0] - (10 * sUnknown_083399C0[a1][0]), + sBlenderSyncArrowsPos[a1][1] - (10 * sUnknown_083399C0[a1][1]), + 1); + if (a0 == 0x4523) + { + StartSpriteAnim(&gSprites[spriteId], 2); + gSprites[spriteId].callback = sub_8082F9C; + PlaySE(SE_RU_GASHIN); + } + else if (a0 == 0x5432) + { + StartSpriteAnim(&gSprites[spriteId], 0); + PlaySE(SE_SEIKAI); + } + else if (a0 == 0x2345) + { + StartSpriteAnim(&gSprites[spriteId], 1); + PlaySE(SE_HAZURE); + } + sub_8082E84(); +} + +static void sub_8081370(u16 a0) +{ + Blender_ControlHitPitch(); + switch (a0) + { + case 0x4523: + if (sBerryBlenderData->field_4C < 1500) + sBerryBlenderData->field_4C += (0x180 / sUnknown_08339CC3[sBerryBlenderData->playersNo]); + else + { + sBerryBlenderData->field_4C += (128 / sUnknown_08339CC3[sBerryBlenderData->playersNo]); + sub_80832BC(&sBerryBlenderData->bg_X, (sBerryBlenderData->field_4C / 100) - 10); + sub_80832BC(&sBerryBlenderData->bg_Y, (sBerryBlenderData->field_4C / 100) - 10); + } + break; + case 0x5432: + if (sBerryBlenderData->field_4C < 1500) + sBerryBlenderData->field_4C += (0x100 / sUnknown_08339CC3[sBerryBlenderData->playersNo]); + break; + case 0x2345: + sBerryBlenderData->field_4C -= (0x100 / sUnknown_08339CC3[sBerryBlenderData->playersNo]); + if (sBerryBlenderData->field_4C < 0x80) + sBerryBlenderData->field_4C = 0x80; + break; + } +} + +static bool32 sub_80814B0(u16 arg0, u16 arg1, u16 arg2) +{ + if (gReceivedRemoteLinkPlayers != 0 && gLinkVSyncDisabled) + { + if ((arg0 & 0xFF00) == arg2) + return TRUE; + } + else + { + if (arg0 == arg1) + return TRUE; + } + + return FALSE; +} + +static void sub_80814F4(void) +{ + s32 i; + + if (gSpecialVar_0x8004 != 0) + { + if (gSendCmd[2] != 0) + { + gRecvCmds[0][2] = gSendCmd[2]; + gRecvCmds[0][0] = 0x4444; + gSendCmd[2] = 0; + } + for (i = 1; i < 4; i++) + { + if (gRecvCmds[i][2] != 0) + gRecvCmds[i][0] = 0x4444; + } + } + for (i = 0; i < sBerryBlenderData->playersNo; i++) + { + if (sub_80814B0(gRecvCmds[i][0], 0x4444, 0x4400)) + { + u32 var = sBerryBlenderData->field_96[i]; + if (gRecvCmds[i][2] == 0x4523) + { + sub_8081370(0x4523); + sBerryBlenderData->field_116 += (sBerryBlenderData->field_4C / 55); + if (sBerryBlenderData->field_116 >= 1000) + sBerryBlenderData->field_116 = 1000; + sub_8081288(0x4523, var); + sBerryBlenderData->scores[i][BLENDER_SCORE_BEST]++; + } + else if (gRecvCmds[i][2] == 0x5432) + { + sub_8081370(0x5432); + sBerryBlenderData->field_116 += (sBerryBlenderData->field_4C / 70); + sub_8081288(0x5432, var); + sBerryBlenderData->scores[i][BLENDER_SCORE_GOOD]++; + } + else if (gRecvCmds[i][2] == 0x2345) + { + sub_8081288(0x2345, var); + sub_8081370(0x2345); + if (sBerryBlenderData->scores[i][BLENDER_SCORE_MISS] < 999) + sBerryBlenderData->scores[i][BLENDER_SCORE_MISS]++; + } + if (gRecvCmds[i][2] == 0x2345 || gRecvCmds[2][i] == 0x4523 || gRecvCmds[2][i] == 0x5432) // could be a bug, 2 and i are reversed + { + if (sBerryBlenderData->field_4C > 1500) + m4aMPlayTempoControl(&gMPlayInfo_BGM, ((sBerryBlenderData->field_4C - 750) / 20) + 256); + else + m4aMPlayTempoControl(&gMPlayInfo_BGM, 0x100); + } + } + } + if (gSpecialVar_0x8004 != 0) + { + for (i = 0; i < sBerryBlenderData->playersNo; i++) + { + gRecvCmds[i][0] = 0; + gRecvCmds[i][2] = 0; + } + } +} + +static void sub_8081744(void) +{ + u8 var2; + bool8 A_pressed = FALSE; + u8 playerId = 0; + + if (gReceivedRemoteLinkPlayers != 0) + playerId = GetMultiplayerId(); + + var2 = sBerryBlenderData->field_96[playerId]; + + if (sBerryBlenderData->gameEndState == 0) + { + if (gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_L_EQUALS_A && gMain.newKeys & A_BUTTON) + { + if ((gMain.heldKeysRaw & (A_BUTTON | L_BUTTON)) != (A_BUTTON | L_BUTTON)) + A_pressed = TRUE; + } + else if (gMain.newKeys & A_BUTTON) + { + A_pressed = TRUE; + } + + if (A_pressed) + { + u8 var3; + StartSpriteAnim(&gSprites[sBerryBlenderData->syncArrowSpriteIds[sBerryBlenderData->field_8E[var2]]], var2 + 4); + var3 = sub_8080624(sBerryBlenderData->arrowPos, playerId); + + if (var3 == 2) + gSendCmd[2] = 0x4523; + else if (var3 == 1) + gSendCmd[2] = 0x5432; + else + gSendCmd[2] = 0x2345; + } + } + if (++sBerryBlenderData->field_72 > 5) + { + if (sBerryBlenderData->field_4C > 128) + sBerryBlenderData->field_4C--; + sBerryBlenderData->field_72 = 0; + } + if (gUnknown_020322D5 && gMain.newKeys & L_BUTTON) + sBerryBlenderData->field_123 ^= 1; +} + +static void sub_8081898(void) +{ + sub_8082D28(); + + if (sBerryBlenderData->gameFrameTime < (99 * 60 * 60) + (59 * 60)) // game time can't be longer than 99 minutes and 59 seconds, can't print 3 digits + sBerryBlenderData->gameFrameTime++; + + sub_8081744(); + SetLinkDebugValues((u16)(sBerryBlenderData->field_4C), sBerryBlenderData->field_116); + sub_80814F4(); + sub_8083140(sBerryBlenderData->field_116, 1000); + sub_8083230(sBerryBlenderData->field_4C); + sub_808330C(); + sub_8082AD4(); + if (sBerryBlenderData->gameEndState == 0 && sBerryBlenderData->field_118 >= 1000) + { + sBerryBlenderData->field_116 = 1000; + sBerryBlenderData->gameEndState = 1; + SetMainCallback2(CB2_HandleBlenderEndGame); + } + + Blender_DummiedOutFunc(sBerryBlenderData->bg_X, sBerryBlenderData->bg_Y); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + RunTextPrinters(); + UpdatePaletteFade(); +} + +static void Blender_DummiedOutFunc(s16 a0, s16 a1) +{ + +} + +static bool8 sub_8081964(struct BlenderBerry* berries, u8 index1, u8 index2) +{ + if (berries[index1].itemId != berries[index2].itemId + || (StringCompare(berries[index1].name, berries[index2].name) == 0 + && (berries[index1].flavors[FLAVOR_SPICY] == berries[index2].flavors[FLAVOR_SPICY] + && berries[index1].flavors[FLAVOR_DRY] == berries[index2].flavors[FLAVOR_DRY] + && berries[index1].flavors[FLAVOR_SWEET] == berries[index2].flavors[FLAVOR_SWEET] + && berries[index1].flavors[FLAVOR_BITTER] == berries[index2].flavors[FLAVOR_BITTER] + && berries[index1].flavors[FLAVOR_SOUR] == berries[index2].flavors[FLAVOR_SOUR] + && berries[index1].smoothness == berries[index2].smoothness))) + return TRUE; + else + return FALSE; +} + +static u32 Blender_GetPokeblockColor(struct BlenderBerry* berries, s16* a1, u8 playersNo, u8 a3) +{ + s16 vars[6]; + s32 i; + s32 r6; + u8 r2; + + for (i = 0; i < 6; i++) + vars[i] = a1[i]; + + r6 = 0; + for (i = 0; i < 5; i++) + { + if (vars[i] == 0) + r6++; + } + if (r6 == 5 || a3 > 3) + return 12; + for (i = 0; i < playersNo; i++) + { + for (r6 = 0; r6 < playersNo; r6++) + { + if (berries[i].itemId == berries[r6].itemId && i != r6 + && (berries[i].itemId != ITEM_ENIGMA_BERRY || sub_8081964(berries, i, r6))) + return 12; + } + } + r2 = 0; + for (r2 = 0, i = 0; i < 5; i++) + { + if (vars[i] > 0) + r2++; + } + if (r2 > 3) + return 13; + if (r2 == 3) + return 11; + for (i = 0; i < 5; i++) + { + if (vars[i] > 50) + return 14; + } + if (r2 == 1 && vars[0] > 0) + return 1; + if (r2 == 1 && vars[1] > 0) + return 2; + if (r2 == 1 && vars[2] > 0) + return 3; + if (r2 == 1 && vars[3] > 0) + return 4; + if (r2 == 1 && vars[4] > 0) + return 5; + if (r2 == 2) + { + s32 var = 0; + for (i = 0; i < 5; i++) + { + if (vars[i] > 0) + sUnknown_03000DF8[var++] = i; + } + if (vars[sUnknown_03000DF8[0]] >= vars[sUnknown_03000DF8[1]]) + { + if (sUnknown_03000DF8[0] == 0) + return (sUnknown_03000DF8[1] << 16) | 6; + if (sUnknown_03000DF8[0] == 1) + return (sUnknown_03000DF8[1] << 16) | 7; + if (sUnknown_03000DF8[0] == 2) + return (sUnknown_03000DF8[1] << 16) | 8; + if (sUnknown_03000DF8[0] == 3) + return (sUnknown_03000DF8[1] << 16) | 9; + if (sUnknown_03000DF8[0] == 4) + return (sUnknown_03000DF8[1] << 16) | 10; + } + else + { + if (sUnknown_03000DF8[1] == 0) + return (sUnknown_03000DF8[0] << 16) | 6; + if (sUnknown_03000DF8[1] == 1) + return (sUnknown_03000DF8[0] << 16) | 7; + if (sUnknown_03000DF8[1] == 2) + return (sUnknown_03000DF8[0] << 16) | 8; + if (sUnknown_03000DF8[1] == 3) + return (sUnknown_03000DF8[0] << 16) | 9; + if (sUnknown_03000DF8[1] == 4) + return (sUnknown_03000DF8[0] << 16) | 10; + } + } + return 0; +} + +static void sub_8081BB0(s16 value) +{ + sUnknown_03000E04 = value; +} + +static s16 sub_8081BBC(void) +{ + return sUnknown_03000E04; +} + +static void sub_8081BC8(s16 value) +{ + sUnknown_03000E06 = value; +} + +static s16 sub_8081BD4(void) +{ + return sUnknown_03000E06; +} + +static void Blender_CalculatePokeblock(struct BlenderBerry *berries, struct Pokeblock *pokeblock, u8 playersNo, u8 *flavors, u16 maxRPM) +{ + s32 i, j; + s32 multiuseVar, var2; + u8 var3; + + for (i = 0; i < 6; i++) + sUnknown_03000DE8[i] = 0; + + for (i = 0; i < playersNo; i++) + { + for (j = 0; j < 6; j++) + sUnknown_03000DE8[j] += berries[i].flavors[j]; + } + + multiuseVar = sUnknown_03000DE8[0]; + sUnknown_03000DE8[0] -= sUnknown_03000DE8[1]; + sUnknown_03000DE8[1] -= sUnknown_03000DE8[2]; + sUnknown_03000DE8[2] -= sUnknown_03000DE8[3]; + sUnknown_03000DE8[3] -= sUnknown_03000DE8[4]; + sUnknown_03000DE8[4] -= multiuseVar; + + multiuseVar = 0; + for (i = 0; i < 5; i++) + { + if (sUnknown_03000DE8[i] < 0) + { + sUnknown_03000DE8[i] = 0; + multiuseVar++; + } + } + var3 = multiuseVar; + for (i = 0; i < 5; i++) + { + if (sUnknown_03000DE8[i] > 0) + { + if (sUnknown_03000DE8[i] < multiuseVar) + sUnknown_03000DE8[i] = 0; + else + sUnknown_03000DE8[i] -= multiuseVar; + } + } + for (i = 0; i < 5; i++) + { + sUnknown_020322A8[i] = sUnknown_03000DE8[i]; + } + + multiuseVar = maxRPM / 333 + 100; + sUnknown_020322D0 = multiuseVar; + + for (i = 0; i < 5; i++) + { + s32 r4; + s32 r5 = sUnknown_03000DE8[i]; + r5 = (r5 * multiuseVar) / 10; + r4 = r5 % 10; + r5 /= 10; + if (r4 > 4) + r5++; + sUnknown_03000DE8[i] = r5; + } + for (i = 0; i < 5; i++) + { + sUnknown_020322BC[i] = sUnknown_03000DE8[i]; + } + + pokeblock->color = Blender_GetPokeblockColor(berries, &sUnknown_03000DE8[0], playersNo, var3); + sUnknown_03000DE8[5] = (sUnknown_03000DE8[5] / playersNo) - playersNo; + + if (sUnknown_03000DE8[5] < 0) + sUnknown_03000DE8[5] = 0; + + if (pokeblock->color == 12) + { + multiuseVar = Random() % 10; + for (i = 0; i < 5; i++) + { + if ((sUnknown_08339CC8[multiuseVar] >> i) & 1) + sUnknown_03000DE8[i] = 2; + else + sUnknown_03000DE8[i] = 0; + } + } + + for (i = 0; i < 6; i++) + { + if (sUnknown_03000DE8[i] > 255) + sUnknown_03000DE8[i] = 255; + } + + pokeblock->spicy = sUnknown_03000DE8[0]; + pokeblock->dry = sUnknown_03000DE8[1]; + pokeblock->sweet = sUnknown_03000DE8[2]; + pokeblock->bitter = sUnknown_03000DE8[3]; + pokeblock->sour = sUnknown_03000DE8[4]; + pokeblock->feel = sUnknown_03000DE8[5]; + + for (i = 0; i < 6; i++) + { + flavors[i] = sUnknown_03000DE8[i]; + } +} + +static void BlenderDebug_CalculatePokeblock(struct BlenderBerry* berries, struct Pokeblock* pokeblock, u8 playersNo, u8* flavors, u16 a4) +{ + Blender_CalculatePokeblock(berries, pokeblock, playersNo, flavors, a4); +} + +static void sub_8081E20(void) +{ + u32 frames = (u16)(sBerryBlenderData->gameFrameTime); + u16 max_RPM = sBerryBlenderData->max_RPM; + s16 var = 0; + + if (frames < 900) + var = 5; + else if ((u16)(frames - 900) < 600) + var = 4; + else if ((u16)(frames - 1500) < 600) + var = 3; + else if ((u16)(frames - 2100) < 900) + var = 2; + else if ((u16)(frames - 3300) < 300) + var = 1; + + sub_8081BC8(var); + + var = 0; + if (max_RPM <= 64) + { + if (max_RPM >= 50 && max_RPM < 100) + var = -1; + else if (max_RPM >= 100 && max_RPM < 150) + var = -2; + else if (max_RPM >= 150 && max_RPM < 200) + var = -3; + else if (max_RPM >= 200 && max_RPM < 250) + var = -4; + else if (max_RPM >= 250 && max_RPM < 300) + var = -5; + else if (max_RPM >= 350 && max_RPM < 400) + var = -6; + else if (max_RPM >= 400 && max_RPM < 450) + var = -7; + else if (max_RPM >= 500 && max_RPM < 550) + var = -8; + else if (max_RPM >= 550 && max_RPM < 600) + var = -9; + else if (max_RPM >= 600) + var = -10; + } + + sub_8081BB0(var); +} + +static void sub_8081F94(u16 *a0) +{ + if (gReceivedRemoteLinkPlayers != 0 && gLinkVSyncDisabled) + *a0 = 0x2F00; + else + *a0 = 0x2FFF; +} + +static void CB2_HandleBlenderEndGame(void) +{ + u8 i, j; + + if (sBerryBlenderData->gameEndState < 3) + sub_8082D28(); + + GetMultiplayerId(); // unused return value + + switch (sBerryBlenderData->gameEndState) + { + case 1: + m4aMPlayTempoControl(&gMPlayInfo_BGM, 256); + for (i = 0; i < gSpecialVar_0x8004; i++) + { + DestroyTask(sBerryBlenderData->field_120[i]); + } + sBerryBlenderData->gameEndState++; + break; + case 2: + sBerryBlenderData->field_4C -= 32; + if (sBerryBlenderData->field_4C <= 0) + { + sub_8009F8C(); + sBerryBlenderData->field_4C = 0; + + if (gReceivedRemoteLinkPlayers != 0) + sBerryBlenderData->gameEndState++; + else + sBerryBlenderData->gameEndState = 5; + + sBerryBlenderData->mainState = 0; + m4aMPlayStop(&gMPlayInfo_SE2); + } + Blender_ControlHitPitch(); + break; + case 3: + if (GetMultiplayerId() != 0) + { + sBerryBlenderData->gameEndState++; + } + else if (sub_800A520()) + { + if (gReceivedRemoteLinkPlayers != 0 && gLinkVSyncDisabled) + { + sBerryBlenderData->gameBlock.timeRPM.time = sBerryBlenderData->gameFrameTime; + sBerryBlenderData->gameBlock.timeRPM.max_RPM = sBerryBlenderData->max_RPM; + + for (i = 0; i < BLENDER_MAX_PLAYERS; i++) + { + for (j = 0; j < BLENDER_SCORES_NO; j++) + sBerryBlenderData->gameBlock.scores[i][j] = sBerryBlenderData->scores[i][j]; + } + + if (SendBlock(0, &sBerryBlenderData->gameBlock, sizeof(sBerryBlenderData->gameBlock))) + sBerryBlenderData->gameEndState++; + } + else + { + sBerryBlenderData->smallBlock.time = sBerryBlenderData->gameFrameTime; + sBerryBlenderData->smallBlock.max_RPM = sBerryBlenderData->max_RPM; + if (SendBlock(0, &sBerryBlenderData->smallBlock, sizeof(sBerryBlenderData->smallBlock) + 32)) + sBerryBlenderData->gameEndState++; + } + } + break; + case 4: + if (GetBlockReceivedStatus()) + { + ResetBlockReceivedFlags(); + sBerryBlenderData->gameEndState++; + + if (gReceivedRemoteLinkPlayers != 0 && gLinkVSyncDisabled) + { + struct BlenderGameBlock *receivedBlock = (struct BlenderGameBlock*)(&gBlockRecvBuffer); + + sBerryBlenderData->max_RPM = receivedBlock->timeRPM.max_RPM; + sBerryBlenderData->gameFrameTime = receivedBlock->timeRPM.time; + + for (i = 0; i < BLENDER_MAX_PLAYERS; i++) + { + for (j = 0; j < BLENDER_SCORES_NO; j++) + sBerryBlenderData->scores[i][j] = receivedBlock->scores[i][j]; + } + } + else + { + struct TimeAndRPM *receivedBlock = (struct TimeAndRPM*)(&gBlockRecvBuffer); + + sBerryBlenderData->max_RPM = receivedBlock->max_RPM; + sBerryBlenderData->gameFrameTime = receivedBlock->time; + } + } + break; + case 5: + if (Blender_PrintBlendingRanking()) + sBerryBlenderData->gameEndState++; + break; + case 6: + if (Blender_PrintBlendingResults()) + { + if (gInGameOpponentsNo == 0) + IncrementGameStat(GAME_STAT_POKEBLOCKS_WITH_FRIENDS); + else + IncrementGameStat(GAME_STAT_POKEBLOCKS); + + sBerryBlenderData->gameEndState++; + } + break; + case 7: + if (Blender_PrintText(&sBerryBlenderData->textState, sText_WouldLikeToBlendAnotherBerry, GetPlayerTextSpeed())) + sBerryBlenderData->gameEndState++; + break; + case 9: + sBerryBlenderData->yesNoAnswer = 0; + CreateYesNoMenu(&sBlender_YesNoWindowTemplate, 1, 0xD, 0); + sBerryBlenderData->gameEndState++; + break; + case 10: + switch (ProcessMenuInputNoWrap_()) + { + case 1: + case -1: + sBerryBlenderData->yesNoAnswer = 1; + sBerryBlenderData->gameEndState++; + for (i = 0; i field_8E[i] != 0xFF) + { + PutWindowTilemap(i); + CopyWindowToVram(i, 3); + } + } + break; + case 0: + sBerryBlenderData->yesNoAnswer = 0; + sBerryBlenderData->gameEndState++; + for (i = 0; i field_8E[i] != 0xFF) + { + PutWindowTilemap(i); + CopyWindowToVram(i, 3); + } + } + break; + } + break; + case 11: + sub_8081F94(&gSendCmd[0]); + if (sBerryBlenderData->yesNoAnswer == 0) + { + if (IsBagPocketNonEmpty(BAG_BERRIES) == FALSE) // no berries + { + sBerryBlenderData->playAgainState = CANT_PLAY_NO_BERRIES; + gSendCmd[1] = 0x9999; + } + else if (GetFirstFreePokeblockSlot() == -1) // no space for pokeblocks + { + sBerryBlenderData->playAgainState = CANT_PLAY_NO_PKBLCK_SPACE; + gSendCmd[1] = 0xAAAA; + } + else + { + sBerryBlenderData->playAgainState = PLAY_AGAIN_OK; + gSendCmd[1] = 0x7779; + } + sBerryBlenderData->gameEndState++; + } + else + { + sBerryBlenderData->playAgainState = DONT_PLAY_AGAIN; + gSendCmd[1] = 0x8888; + sBerryBlenderData->gameEndState++; + } + break; + case 12: + if (gInGameOpponentsNo) + { + SetMainCallback2(CB2_HandlePlayerPlayAgainChoice); + sBerryBlenderData->gameEndState = 0; + sBerryBlenderData->mainState = 0; + } + else + { + sBerryBlenderData->gameEndState++; + } + break; + case 8: + sBerryBlenderData->gameEndState++; + break; + case 13: + if (Blender_PrintText(&sBerryBlenderData->textState, sText_CommunicationStandby, GetPlayerTextSpeed())) + { + SetMainCallback2(CB2_HandlePlayerLinkPlayAgainChoice); + sBerryBlenderData->gameEndState = 0; + sBerryBlenderData->mainState = 0; + } + break; + } + + sub_808330C(); + sub_8083230(sBerryBlenderData->field_4C); + sub_8082AD4(); + Blender_DummiedOutFunc(sBerryBlenderData->bg_X, sBerryBlenderData->bg_Y); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + RunTextPrinters(); + UpdatePaletteFade(); +} + +static bool8 LinkPlayAgainHandleSaving(void) +{ + switch (sBerryBlenderData->field_1A0) + { + case 0: + sub_800ADF8(); + sBerryBlenderData->field_1A0 = 1; + sBerryBlenderData->framesToWait = 0; + break; + case 1: + if (sub_800A520()) + { + sBerryBlenderData->field_1A0++; + gSoftResetDisabled = TRUE; + } + break; + case 2: + sub_8153430(); + sBerryBlenderData->field_1A0++; + sBerryBlenderData->framesToWait = 0; + break; + case 3: + if (++sBerryBlenderData->framesToWait == 10) + { + sub_800ADF8(); + sBerryBlenderData->field_1A0++; + } + break; + case 4: + if (sub_800A520()) + { + if (sub_8153474()) + { + sBerryBlenderData->field_1A0 = 5; + } + else + { + sBerryBlenderData->framesToWait = 0; + sBerryBlenderData->field_1A0 = 3; + } + } + break; + case 5: + sBerryBlenderData->field_1A0++; + sBerryBlenderData->framesToWait = 0; + break; + case 6: + if (++sBerryBlenderData->framesToWait > 5) + { + gSoftResetDisabled = FALSE; + return TRUE; + } + break; + } + + return FALSE; +} + +static void CB2_HandlePlayerLinkPlayAgainChoice(void) +{ + switch (sBerryBlenderData->gameEndState) + { + case 0: + if (sBerryBlenderData->field_64[0] == 0x2222) + { + sBerryBlenderData->gameEndState = 5; + } + else if (sBerryBlenderData->field_64[0] == 0x1111) + { + if (sBerryBlenderData->field_6C == 0x9999) + sBerryBlenderData->gameEndState = 2; + else if (sBerryBlenderData->field_6C == 0xAAAA) + sBerryBlenderData->gameEndState = 1; + else + sBerryBlenderData->gameEndState = 5; + } + break; + case 1: + sBerryBlenderData->gameEndState = 3; + StringCopy(gStringVar4, gLinkPlayers[sBerryBlenderData->field_6E].name); + StringAppend(gStringVar4, sText_ApostropheSPokeblockCaseIsFull); + break; + case 2: + sBerryBlenderData->gameEndState++; + StringCopy(gStringVar4, gLinkPlayers[sBerryBlenderData->field_6E].name); + StringAppend(gStringVar4, sText_HasNoBerriesToPut); + break; + case 3: + if (Blender_PrintText(&sBerryBlenderData->textState, gStringVar4, GetPlayerTextSpeed())) + { + sBerryBlenderData->framesToWait = 0; + sBerryBlenderData->gameEndState++; + } + break; + case 4: + if (++sBerryBlenderData->framesToWait > 60) + sBerryBlenderData->gameEndState = 5; + break; + case 5: + Blender_PrintText(&sBerryBlenderData->textState, gText_SavingDontTurnOff2, 0); + sub_800ADF8(); + sBerryBlenderData->gameEndState++; + break; + case 6: + if (sub_800A520()) + { + sBerryBlenderData->framesToWait = 0; + sBerryBlenderData->gameEndState++; + sBerryBlenderData->field_1A0 = 0; + } + break; + case 7: + if (LinkPlayAgainHandleSaving()) + { + PlaySE(SE_SAVE); + sBerryBlenderData->gameEndState++; + } + break; + case 8: + sBerryBlenderData->gameEndState++; + sub_800ADF8(); + break; + case 9: + if (sub_800A520()) + { + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + sBerryBlenderData->gameEndState++; + } + break; + case 10: + if (!gPaletteFade.active) + { + if (sBerryBlenderData->field_64[0] == 0x2222) + { + FreeAllWindowBuffers(); + UnsetBgTilemapBuffer(2); + UnsetBgTilemapBuffer(1); + FREE_AND_SET_NULL(sBerryBlenderData); + SetMainCallback2(DoBerryBlending); + } + else + { + sBerryBlenderData->framesToWait = 0; + sBerryBlenderData->gameEndState++; + } + } + break; + case 11: + if (++sBerryBlenderData->framesToWait > 30) + { + sub_800AC34(); + sBerryBlenderData->gameEndState++; + } + break; + case 12: + if (gReceivedRemoteLinkPlayers == 0) + { + FREE_AND_SET_NULL(sBerryBlenderData); + SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); + } + break; + } + + sub_8082AD4(); + Blender_DummiedOutFunc(sBerryBlenderData->bg_X, sBerryBlenderData->bg_Y); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + RunTextPrinters(); + UpdatePaletteFade(); +} + +static void CB2_HandlePlayerPlayAgainChoice(void) +{ + switch (sBerryBlenderData->gameEndState) + { + case 0: + if (sBerryBlenderData->playAgainState == PLAY_AGAIN_OK || sBerryBlenderData->playAgainState == DONT_PLAY_AGAIN) + sBerryBlenderData->gameEndState = 9; + if (sBerryBlenderData->playAgainState == CANT_PLAY_NO_BERRIES) + sBerryBlenderData->gameEndState = 2; + if (sBerryBlenderData->playAgainState == CANT_PLAY_NO_PKBLCK_SPACE) + sBerryBlenderData->gameEndState = 1; + break; + case 1: + sBerryBlenderData->gameEndState = 3; + sBerryBlenderData->textState = 0; + StringCopy(gStringVar4, sText_YourPokeblockCaseIsFull); + break; + case 2: + sBerryBlenderData->gameEndState++; + sBerryBlenderData->textState = 0; + StringCopy(gStringVar4, sText_RunOutOfBerriesForBlending); + break; + case 3: + if (Blender_PrintText(&sBerryBlenderData->textState, gStringVar4, GetPlayerTextSpeed())) + sBerryBlenderData->gameEndState = 9; + break; + case 9: + BeginFastPaletteFade(3); + sBerryBlenderData->gameEndState++; + break; + case 10: + if (!gPaletteFade.active) + { + if (sBerryBlenderData->playAgainState == PLAY_AGAIN_OK) + SetMainCallback2(DoBerryBlending); + else + SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); + + FreeAllWindowBuffers(); + UnsetBgTilemapBuffer(2); + UnsetBgTilemapBuffer(1); + FREE_AND_SET_NULL(sBerryBlenderData); + } + break; + } + + sub_8082AD4(); + Blender_DummiedOutFunc(sBerryBlenderData->bg_X, sBerryBlenderData->bg_Y); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + RunTextPrinters(); + UpdatePaletteFade(); +} + +static void sub_8082AD4(void) +{ + if (gReceivedRemoteLinkPlayers) + { + if (sub_80814B0(gRecvCmds[0][0], 0x2FFF, 0x2F00)) + { + if (gRecvCmds[0][1] == 0x1111) + { + switch (gRecvCmds[0][2]) + { + case 0x8888: + sBerryBlenderData->field_6C = 0x8888; + sBerryBlenderData->field_6E = gRecvCmds[0][3]; + break; + case 0x9999: + sBerryBlenderData->field_6C = 0x9999; + sBerryBlenderData->field_6E = gRecvCmds[0][3]; + break; + case 0xAAAA: + sBerryBlenderData->field_6C = 0xAAAA; + sBerryBlenderData->field_6E = gRecvCmds[0][3]; + break; + } + + sBerryBlenderData->field_64[0] = 0x1111; + } + else if (gRecvCmds[0][1] == 0x2222) + { + sBerryBlenderData->field_64[0] = 0x2222; + } + } + if (GetMultiplayerId() == 0 && sBerryBlenderData->field_64[0] != 0x1111 && sBerryBlenderData->field_64[0] != 0x2222) + { + u8 i; + for (i = 0; i < GetLinkPlayerCount(); i++) + { + if (sub_80814B0(gRecvCmds[i][0], 0x2FFF, 0x2F00)) + { + switch (gRecvCmds[i][1]) + { + case 0x8888: + sBerryBlenderData->field_64[i] = 0x8888; + break; + case 0x7779: + sBerryBlenderData->field_64[i] = 0x7779; + break; + case 0x9999: + sBerryBlenderData->field_64[i] = 0x9999; + break; + case 0xAAAA: + sBerryBlenderData->field_64[i] = 0xAAAA; + break; + } + } + } + for (i = 0; i < GetLinkPlayerCount(); i++) + { + if (sBerryBlenderData->field_64[i] == 0) + break; + } + if (i == GetLinkPlayerCount()) + { + for (i = 0; i < GetLinkPlayerCount(); i++) + { + if (sBerryBlenderData->field_64[i] != 0x7779) + break; + } + sub_8081F94(&gSendCmd[0]); + if (i == GetLinkPlayerCount()) + { + gSendCmd[1] = 0x2222; + } + else + { + gSendCmd[1] = 0x1111; + gSendCmd[2] = sBerryBlenderData->field_64[i]; + gSendCmd[3] = i; + } + } + } + } +} + +static void sub_8082CB4(struct BgAffineSrcData *dest) +{ + struct BgAffineSrcData affineSrc; + + affineSrc.texX = 0x7800; + affineSrc.texY = 0x5000; + affineSrc.scrX = 0x78 - sBerryBlenderData->bg_X; + affineSrc.scrY = 0x50 - sBerryBlenderData->bg_Y; + affineSrc.sx = sBerryBlenderData->field_11A; + affineSrc.sy = sBerryBlenderData->field_11A; + affineSrc.alpha = sBerryBlenderData->arrowPos; + + *dest = affineSrc; +} + +u16 GetBlenderArrowPosition(void) +{ + return sBerryBlenderData->arrowPos; +} + +static void sub_8082D28(void) +{ + u8 playerId = 0; + + if (gReceivedRemoteLinkPlayers != 0) + playerId = GetMultiplayerId(); + + if (gLinkVSyncDisabled && gReceivedRemoteLinkPlayers != 0) + { + if (playerId == 0) + { + sBerryBlenderData->arrowPos += sBerryBlenderData->field_4C; + gSendCmd[5] = sBerryBlenderData->field_116; + gSendCmd[6] = sBerryBlenderData->arrowPos; + sub_8082CB4(&sBerryBlenderData->bgAffineSrc); + } + else + { + if ((gRecvCmds[0][0] & 0xFF00) == 0x4400) + { + sBerryBlenderData->field_116 = gRecvCmds[0][5]; + sBerryBlenderData->arrowPos = gRecvCmds[0][6]; + sub_8082CB4(&sBerryBlenderData->bgAffineSrc); + } + } + } + else + { + sBerryBlenderData->arrowPos += sBerryBlenderData->field_4C; + sub_8082CB4(&sBerryBlenderData->bgAffineSrc); + } +} + +static void BerryBlender_SetBackgroundsPos(void) +{ + SetGpuReg(REG_OFFSET_BG1HOFS, sBerryBlenderData->bg_X); + SetGpuReg(REG_OFFSET_BG1VOFS, sBerryBlenderData->bg_Y); + + SetGpuReg(REG_OFFSET_BG0HOFS, sBerryBlenderData->bg_X); + SetGpuReg(REG_OFFSET_BG0VOFS, sBerryBlenderData->bg_Y); +} + +static void sub_8082E3C(struct Sprite* sprite) +{ + sprite->data[2] += sprite->data[0]; + sprite->data[3] += sprite->data[1]; + sprite->pos2.x = sprite->data[2] / 8; + sprite->pos2.y = sprite->data[3] / 8; + + if (sprite->animEnded) + DestroySprite(sprite); +} + +static void sub_8082E84(void) +{ + s32 limit = (Random() % 2) + 1; + s32 i; + + for (i = 0; i < limit; i++) + { + u16 rand; + s32 x, y; + u8 spriteId; + + rand = sBerryBlenderData->arrowPos + (Random() % 20); + + x = gSineTable[(rand & 0xFF) + 64] / 4; + y = gSineTable[(rand & 0xFF)] / 4; + + spriteId = CreateSprite(&sUnknown_08339BE0, x + 120, y + 80, 1); + gSprites[spriteId].data[0] = 16 - (Random() % 32); + gSprites[spriteId].data[1] = 16 - (Random() % 32); + + gSprites[spriteId].callback = sub_8082E3C; + } +} + +static void sub_8082F68(struct Sprite* sprite) +{ + sprite->data[0]++; + sprite->pos2.y = -(sprite->data[0] / 3); + + if (sprite->animEnded) + DestroySprite(sprite); +} + +static void sub_8082F9C(struct Sprite* sprite) +{ + sprite->data[0]++; + sprite->pos2.y = -(sprite->data[0] * 2); + + if (sprite->pos2.y < -12) + sprite->pos2.y = -12; + if (sprite->animEnded) + DestroySprite(sprite); +} + +static void Blender_SetBankBerryData(u8 bank, u16 itemId) +{ + sBerryBlenderData->chosenItemId[bank] = itemId; + Blender_CopyBerryData(&sBerryBlenderData->blendedBerries[bank], itemId); +} + +static void sub_8083010(struct Sprite* sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->data[1] += 8; + if (sprite->data[1] > 88) + { + sprite->data[1] = 88; + sprite->data[0]++; + PlaySE(SE_KON); + } + break; + case 1: + sprite->data[2] += 1; + if (sprite->data[2] > 20) + { + sprite->data[0]++; + sprite->data[2] = 0; + } + break; + case 2: + sprite->data[1] += 4; + if (sprite->data[1] > 176) + { + if (++sprite->data[3] == 3) + { + DestroySprite(sprite); + CreateSprite(&sUnknown_08339C60, 120, -20, 2); + } + else + { + sprite->data[0] = 0; + sprite->data[1] = -16; + StartSpriteAnim(sprite, sprite->data[3]); + } + } + break; + } + + sprite->pos2.y = sprite->data[1]; +} + +static void sub_80830C0(struct Sprite* sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->data[1] += 8; + if (sprite->data[1] > 92) + { + sprite->data[1] = 92; + sprite->data[0]++; + PlaySE(SE_PIN); + } + break; + case 1: + sprite->data[2] += 1; + if (sprite->data[2] > 20) + sprite->data[0]++; + break; + case 2: + sprite->data[1] += 4; + if (sprite->data[1] > 176) + { + sBerryBlenderData->mainState++; + DestroySprite(sprite); + } + break; + } + + sprite->pos2.y = sprite->data[1]; +} + +static void sub_8083140(u16 a0, u16 a1) +{ + if (sBerryBlenderData->field_118 < a0) + { + sBerryBlenderData->field_118 += 2; + sub_8083170(sBerryBlenderData->field_118, a1); + } +} + +static void sub_8083170(u16 a0, u16 a1) +{ + s32 var1, var2, var3, var4; + u16 *vram; + + vram = (u16*)(VRAM + 0x6000); + var1 = (a0 * 64) / a1; + var2 = var1 / 8; + for (var4 = 0; var4 < var2; var4++) + { + vram[11 + var4] = 0x80E9; + vram[43 + var4] = 0x80F9; + } + var3 = var1 % 8; + if (var3 != 0) + { + vram[11 + var4] = var3 + 0x80E1; + vram[43 + var4] = var3 + 0x80F1; + var4++; + } + for (; var4 < 8; var4++) + { + vram[11 + var4] = 0x80E1; + vram[43 + var4] = 0x80F1; + } +} + +static u32 sub_8083210(u16 a0) +{ + return 0x57E40 * a0 / 0x10000; +} + +static void sub_8083230(u16 a0) +{ + u8 i; + u8 palAdders[5]; + + u32 var = sub_8083210(a0); + if (sBerryBlenderData->max_RPM < var) + sBerryBlenderData->max_RPM = var; + for (i = 0; i < 5; i++) + { + palAdders[i] = var % 10; + var /= 10; + } + *((u16*)(VRAM + 0x6458)) = palAdders[4] + 0x8072; + *((u16*)(VRAM + 0x645A)) = palAdders[3] + 0x8072; + *((u16*)(VRAM + 0x645C)) = palAdders[2] + 0x8072; + *((u16*)(VRAM + 0x6460)) = palAdders[1] + 0x8072; + *((u16*)(VRAM + 0x6462)) = palAdders[0] + 0x8072; +} + +static void sub_80832BC(s16* a0, u16 a1) +{ + if (*a0 == 0) + *a0 = (Random() % a1) - (a1 / 2); +} + +static void sub_80832E8(s16* a0) +{ + if (*a0 < 0) + (*a0)++; + if (*a0 > 0) + (*a0)--; +} + +static void sub_808330C(void) +{ + sub_80832E8(&sBerryBlenderData->bg_X); + sub_80832E8(&sBerryBlenderData->bg_Y); +} + +static void sub_8083334(s16* a0, u16 a1) +{ + s32 var; + + if (a1 < 10) + var = 16; + else + var = 8; + + if (*a0 == 0) + { + *a0 = (Random() % var) - (var / 2); + } + else + { + if (*a0 < 0) + (*a0)++; + if (*a0 > 0) + (*a0)--; + } +} + +static bool8 sub_8083380(void) +{ + if (sBerryBlenderData->framesToWait == 0) + { + sBerryBlenderData->bg_X = 0; + sBerryBlenderData->bg_Y = 0; + } + + sBerryBlenderData->framesToWait++; + sub_8083334(&sBerryBlenderData->bg_X, sBerryBlenderData->framesToWait); + sub_8083334(&sBerryBlenderData->bg_Y, sBerryBlenderData->framesToWait); + + if (sBerryBlenderData->framesToWait == 20) + { + sBerryBlenderData->bg_X = 0; + sBerryBlenderData->bg_Y = 0; + return TRUE; + } + + return FALSE; +} + +static void sub_80833F8(struct Sprite* sprite) +{ + sprite->pos2.x = -(sBerryBlenderData->bg_X); + sprite->pos2.y = -(sBerryBlenderData->bg_Y); +} + +static void TryUpdateBerryBlenderRecord(void) +{ + if (gSaveBlock1Ptr->berryBlenderRecords[sBerryBlenderData->playersNo - 2] < sBerryBlenderData->max_RPM) + gSaveBlock1Ptr->berryBlenderRecords[sBerryBlenderData->playersNo - 2] = sBerryBlenderData->max_RPM; +} + +static bool8 Blender_PrintBlendingResults(void) +{ + u16 i; + s32 xPos, yPos; + + struct Pokeblock pokeblock; + u8 flavors[6]; + u8 text[40]; + u16 berryIds[4]; // unused + + switch (sBerryBlenderData->mainState) + { + case 0: + sBerryBlenderData->mainState++; + sBerryBlenderData->framesToWait = 17; + break; + case 1: + sBerryBlenderData->framesToWait -= 10; + if (sBerryBlenderData->framesToWait < 0) + { + sBerryBlenderData->framesToWait = 0; + sBerryBlenderData->mainState++; + } + break; + case 2: + if (++sBerryBlenderData->framesToWait > 20) + { + for (i = 0; i < BLENDER_SCORES_NO; i++) + DestroySprite(&gSprites[sBerryBlenderData->scoreIconIds[i]]); + + sBerryBlenderData->framesToWait = 0; + sBerryBlenderData->mainState++; + } + break; + case 3: + { + u16 minutes, seconds; + u8 *txtPtr; + + xPos = GetStringCenterAlignXOffset(1, sText_BlendingResults, 0xA8); + Blender_AddTextPrinter(5, sText_BlendingResults, xPos, 1, TEXT_SPEED_FF, 0); + + if (sBerryBlenderData->playersNo == 4) + yPos = 17; + else + yPos = 21; + + for (i = 0; i < sBerryBlenderData->playersNo; yPos += 16, i++) + { + u8 place = sBerryBlenderData->playerPlaces[i]; + + ConvertIntToDecimalStringN(sBerryBlenderData->stringVar, i + 1, STR_CONV_MODE_LEFT_ALIGN, 1); + StringAppend(sBerryBlenderData->stringVar, sText_Dot); + StringAppend(sBerryBlenderData->stringVar, gText_Space); + StringAppend(sBerryBlenderData->stringVar, gLinkPlayers[place].name); + Blender_AddTextPrinter(5, sBerryBlenderData->stringVar, 8, yPos, TEXT_SPEED_FF, 3); + + StringCopy(sBerryBlenderData->stringVar, sBerryBlenderData->blendedBerries[place].name); + ConvertInternationalString(sBerryBlenderData->stringVar, gLinkPlayers[place].language); + StringAppend(sBerryBlenderData->stringVar, sText_SpaceBerry); + Blender_AddTextPrinter(5, sBerryBlenderData->stringVar, 0x54, yPos, TEXT_SPEED_FF, 3); + } + + Blender_AddTextPrinter(5, sText_MaximumSpeed, 0, 0x51, TEXT_SPEED_FF, 3); + ConvertIntToDecimalStringN(sBerryBlenderData->stringVar, sBerryBlenderData->max_RPM / 100, STR_CONV_MODE_RIGHT_ALIGN, 3); + StringAppend(sBerryBlenderData->stringVar, sText_Dot); + + ConvertIntToDecimalStringN(text, sBerryBlenderData->max_RPM % 100, STR_CONV_MODE_LEADING_ZEROS, 2); + StringAppend(sBerryBlenderData->stringVar, text); + StringAppend(sBerryBlenderData->stringVar, sText_RPM); + + xPos = GetStringRightAlignXOffset(1, sBerryBlenderData->stringVar, 0xA8); + Blender_AddTextPrinter(5, sBerryBlenderData->stringVar, xPos, 0x51, TEXT_SPEED_FF, 3); + Blender_AddTextPrinter(5, sText_Time, 0, 0x61, TEXT_SPEED_FF, 3); + + seconds = (sBerryBlenderData->gameFrameTime / 60) % 60; + minutes = (sBerryBlenderData->gameFrameTime / (60 * 60)); + + ConvertIntToDecimalStringN(sBerryBlenderData->stringVar, minutes, STR_CONV_MODE_LEADING_ZEROS, 2); + txtPtr = StringAppend(sBerryBlenderData->stringVar, sText_Min); + + ConvertIntToDecimalStringN(txtPtr, seconds, STR_CONV_MODE_LEADING_ZEROS, 2); + StringAppend(sBerryBlenderData->stringVar, sText_Sec); + + xPos = GetStringRightAlignXOffset(1, sBerryBlenderData->stringVar, 0xA8); + Blender_AddTextPrinter(5, sBerryBlenderData->stringVar, xPos, 0x61, TEXT_SPEED_FF, 3); + + sBerryBlenderData->framesToWait = 0; + sBerryBlenderData->mainState++; + + CopyWindowToVram(5, 2); + } + break; + case 4: + if (gMain.newKeys & A_BUTTON) + sBerryBlenderData->mainState++; + break; + case 5: + sub_8198070(5, 1); + + for (i = 0; i < BLENDER_MAX_PLAYERS; i++) + { + if (sBerryBlenderData->chosenItemId[i] != 0) + berryIds[i] = sBerryBlenderData->chosenItemId[i] - FIRST_BERRY_INDEX; + if (sBerryBlenderData->field_8E[i] != 0xFF) + { + PutWindowTilemap(i); + CopyWindowToVram(i, 3); + } + } + + sub_8081E20(); + + Blender_CalculatePokeblock(sBerryBlenderData->blendedBerries, &pokeblock, sBerryBlenderData->playersNo, flavors, sBerryBlenderData->max_RPM); + Blender_PrintMadePokeblockString(&pokeblock, sBerryBlenderData->stringVar); + TryAddContestLinkTvShow(&pokeblock, &sBerryBlenderData->tvBlender); + + CreateTask(sub_8083F3C, 6); + sub_80EECEC(); + + RemoveBagItem(gSpecialVar_ItemId, 1); + AddPokeblock(&pokeblock); + + sBerryBlenderData->textState = 0; + sBerryBlenderData->mainState++; + break; + case 6: + if (Blender_PrintText(&sBerryBlenderData->textState, sBerryBlenderData->stringVar, GetPlayerTextSpeed())) + { + TryUpdateBerryBlenderRecord(); + return TRUE; + } + break; + } + + return FALSE; +} + +static void Blender_PrintMadePokeblockString(struct Pokeblock *pokeblock, u8 *dst) +{ + u8 text[12]; + u8 flavorLvl, feel; + + dst[0] = EOS; + StringCopy(dst, gPokeblockNames[pokeblock->color]); + StringAppend(dst, sText_WasMade); + StringAppend(dst, sText_NewLine); + + flavorLvl = GetHighestPokeblocksFlavorLevel(pokeblock); + feel = GetPokeblocksFeel(pokeblock); + + StringAppend(dst, sText_TheLevelIs); + ConvertIntToDecimalStringN(text, flavorLvl, STR_CONV_MODE_LEFT_ALIGN, 3); + StringAppend(dst, text); + + StringAppend(dst, sText_TheFeelIs); + ConvertIntToDecimalStringN(text, feel, STR_CONV_MODE_LEFT_ALIGN, 3); + StringAppend(dst, text); + + StringAppend(dst, sText_Dot2); + StringAppend(dst, sText_NewParagraph); +} + +static void Blender_SortBasedOnPoints(u8 *places, u8 playersNum, u32 *scores) +{ + s32 i, j; + + for (i = 0; i < playersNum; i++) + { + for (j = 0; j < playersNum; j++) + { + if (scores[places[i]] > scores[places[j]]) + { + u8 temp = places[i]; + places[i] = places[j]; + places[j] = temp; + } + } + } +} + +static void Blender_SortScores(void) +{ + u8 playerId; + u8 i; + u8 places[BLENDER_MAX_PLAYERS]; + u32 points[BLENDER_MAX_PLAYERS]; + + for (i = 0; i < sBerryBlenderData->playersNo; i++) + places[i] = i; + for (i = 0; i < sBerryBlenderData->playersNo; i++) + { + points[i] = 1000000 * sBerryBlenderData->scores[i][BLENDER_SCORE_BEST]; + points[i] += 1000 * sBerryBlenderData->scores[i][BLENDER_SCORE_GOOD]; + points[i] += 1000 - sBerryBlenderData->scores[i][BLENDER_SCORE_MISS]; + } + Blender_SortBasedOnPoints(places, sBerryBlenderData->playersNo, points); + for (i = 0; i < sBerryBlenderData->playersNo; i++) + sBerryBlenderData->playerPlaces[i] = places[i]; + + if (gReceivedRemoteLinkPlayers == 0) + playerId = 0; + else + playerId = GetMultiplayerId(); + + for (i = 0; i < sBerryBlenderData->playersNo; i++) + { + if (sBerryBlenderData->playerPlaces[i] == playerId) + sBerryBlenderData->field_1A4 = i; + } +} + +static bool8 Blender_PrintBlendingRanking(void) +{ + u16 i; + s32 xPos, yPos; + + switch (sBerryBlenderData->mainState) + { + case 0: + sBerryBlenderData->mainState++; + sBerryBlenderData->framesToWait = 255; + break; + case 1: + sBerryBlenderData->framesToWait -= 10; + if (sBerryBlenderData->framesToWait < 0) + { + sBerryBlenderData->framesToWait = 0; + sBerryBlenderData->mainState++; + } + break; + case 2: + if (++sBerryBlenderData->framesToWait > 20) + { + sBerryBlenderData->framesToWait = 0; + sBerryBlenderData->mainState++; + } + break; + case 3: + SetWindowBorderStyle(5, 0, 1, 0xD); + xPos = GetStringCenterAlignXOffset(1, sText_Ranking, 0xA8); + Blender_AddTextPrinter(5, sText_Ranking, xPos, 1, TEXT_SPEED_FF, 0); + + sBerryBlenderData->scoreIconIds[BLENDER_SCORE_BEST] = CreateSprite(&sUnknown_08339B40, 128, 52, 0); + StartSpriteAnim(&gSprites[sBerryBlenderData->scoreIconIds[BLENDER_SCORE_BEST]], 3); + gSprites[sBerryBlenderData->scoreIconIds[BLENDER_SCORE_BEST]].callback = SpriteCallbackDummy; + + sBerryBlenderData->scoreIconIds[BLENDER_SCORE_GOOD] = CreateSprite(&sUnknown_08339B40, 160, 52, 0); + gSprites[sBerryBlenderData->scoreIconIds[BLENDER_SCORE_GOOD]].callback = SpriteCallbackDummy; + + sBerryBlenderData->scoreIconIds[BLENDER_SCORE_MISS] = CreateSprite(&sUnknown_08339B40, 192, 52, 0); + StartSpriteAnim(&gSprites[sBerryBlenderData->scoreIconIds[BLENDER_SCORE_MISS]], 1); + gSprites[sBerryBlenderData->scoreIconIds[BLENDER_SCORE_MISS]].callback = SpriteCallbackDummy; + + Blender_SortScores(); + + for (yPos = 0x29, i = 0; i < sBerryBlenderData->playersNo; yPos += 0x10, i++) + { + u8 place = sBerryBlenderData->playerPlaces[i]; + + ConvertIntToDecimalStringN(sBerryBlenderData->stringVar, i + 1, STR_CONV_MODE_LEFT_ALIGN, 1); + StringAppend(sBerryBlenderData->stringVar, sText_Dot); + StringAppend(sBerryBlenderData->stringVar, gText_Space); + StringAppend(sBerryBlenderData->stringVar, gLinkPlayers[place].name); + Blender_AddTextPrinter(5, sBerryBlenderData->stringVar, 0, yPos, TEXT_SPEED_FF, 3); + + ConvertIntToDecimalStringN(sBerryBlenderData->stringVar, sBerryBlenderData->scores[place][BLENDER_SCORE_BEST], STR_CONV_MODE_RIGHT_ALIGN, 3); + Blender_AddTextPrinter(5, sBerryBlenderData->stringVar, 0x4E, yPos, TEXT_SPEED_FF, 3); + + ConvertIntToDecimalStringN(sBerryBlenderData->stringVar, sBerryBlenderData->scores[place][BLENDER_SCORE_GOOD], STR_CONV_MODE_RIGHT_ALIGN, 3); + Blender_AddTextPrinter(5, sBerryBlenderData->stringVar, 0x6E, yPos, TEXT_SPEED_FF, 3); + + ConvertIntToDecimalStringN(sBerryBlenderData->stringVar, sBerryBlenderData->scores[place][BLENDER_SCORE_MISS], STR_CONV_MODE_RIGHT_ALIGN, 3); + Blender_AddTextPrinter(5, sBerryBlenderData->stringVar, 0x8E, yPos, TEXT_SPEED_FF, 3); + } + + PutWindowTilemap(5); + CopyWindowToVram(5, 3); + + sBerryBlenderData->framesToWait = 0; + sBerryBlenderData->mainState++; + break; + case 4: + if (++sBerryBlenderData->framesToWait > 20) + sBerryBlenderData->mainState++; + break; + case 5: + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sBerryBlenderData->mainState++; + } + break; + case 6: + sBerryBlenderData->mainState = 0; + return TRUE; + } + + return FALSE; +} + +void ShowBerryBlenderRecordWindow(void) +{ + s32 i; + s32 xPos, yPos; + struct WindowTemplate winTemplate; + u8 text[32]; + + winTemplate = sBlenderRecordWindowTemplate; + gResultsWindowId = AddWindow(&winTemplate); + NewMenuHelpers_DrawStdWindowFrame(gResultsWindowId, 0); + FillWindowPixelBuffer(gResultsWindowId, 0x11); + + xPos = GetStringCenterAlignXOffset(1, gText_BlenderMaxSpeedRecord, 0x90); + PrintTextOnWindow(gResultsWindowId, 1, gText_BlenderMaxSpeedRecord, xPos, 1, 0, NULL); + PrintTextOnWindow(gResultsWindowId, 1, gText_234Players, 4, 0x29, 0, NULL); + + for (i = 0, yPos = 0x29; i < BLENDER_SCORES_NO; i++) + { + u8 *txtPtr; + u32 record; + + record = gSaveBlock1Ptr->berryBlenderRecords[i]; + + txtPtr = ConvertIntToDecimalStringN(text, record / 100, STR_CONV_MODE_RIGHT_ALIGN, 3); + txtPtr = StringAppend(txtPtr, sText_Dot); + txtPtr = ConvertIntToDecimalStringN(txtPtr, record % 100, STR_CONV_MODE_LEADING_ZEROS, 2); + txtPtr = StringAppend(txtPtr, sText_RPM); + + xPos = GetStringRightAlignXOffset(1, text, 0x8C); + PrintTextOnWindow(gResultsWindowId, 1, text, xPos, yPos + (i * 16), 0, NULL); + } + + PutWindowTilemap(gResultsWindowId); + CopyWindowToVram(gResultsWindowId, 3); +} + +static void sub_8083F3C(u8 taskId) +{ + if (gTasks[taskId].data[0] == 0) + { + PlayFanfare(MUS_FANFA1); + gTasks[taskId].data[0]++; + } + if (IsFanfareTaskInactive()) + { + PlayBGM(sBerryBlenderData->field_154); + DestroyTask(taskId); + } +} + +static bool32 TryAddContestLinkTvShow(struct Pokeblock *pokeblock, struct TvBlenderStruct *tvBlender) +{ + u8 flavorLevel = GetHighestPokeblocksFlavorLevel(pokeblock); + u16 sheen = (flavorLevel * 10) / GetPokeblocksFeel(pokeblock); + + tvBlender->pokeblockSheen = sheen; + tvBlender->pokeblockColor = pokeblock->color; + tvBlender->name[0] = EOS; + + if (gReceivedRemoteLinkPlayers != 0) + { + if (sBerryBlenderData->field_1A4 == 0 && sheen > 20) + { + StringCopy(tvBlender->name, gLinkPlayers[sBerryBlenderData->playerPlaces[sBerryBlenderData->playersNo - 1]].name); + tvBlender->pokeblockFlavor = GetPokeblocksFlavor(pokeblock); + if (Put3CheersForPokeblocksOnTheAir(tvBlender->name, tvBlender->pokeblockFlavor, + tvBlender->pokeblockColor, tvBlender->pokeblockSheen, + gLinkPlayers[sBerryBlenderData->playerPlaces[sBerryBlenderData->playersNo - 1]].language)) + { + return TRUE; + } + + return FALSE; + } + else if (sBerryBlenderData->field_1A4 == sBerryBlenderData->playersNo - 1 && sheen <= 20) + { + StringCopy(tvBlender->name, gLinkPlayers[sBerryBlenderData->playerPlaces[0]].name); + tvBlender->pokeblockFlavor = GetPokeblocksFlavor(pokeblock); + if (Put3CheersForPokeblocksOnTheAir(tvBlender->name, tvBlender->pokeblockFlavor, + tvBlender->pokeblockColor, tvBlender->pokeblockSheen, + gLinkPlayers[sBerryBlenderData->playerPlaces[0]].language)) + { + return TRUE; + } + + return FALSE; + } + } + + return FALSE; +} + +static void Blender_AddTextPrinter(u8 windowId, const u8 *string, u8 x, u8 y, s32 speed, s32 caseId) +{ + u8 txtColor[3]; + u32 letterSpacing = 0; + + switch (caseId) + { + case 0: + case 3: + txtColor[0] = 1; + txtColor[1] = 2; + txtColor[2] = 3; + break; + case 1: + txtColor[0] = 0; + txtColor[1] = 2; + txtColor[2] = 3; + break; + case 2: + txtColor[0] = 0; + txtColor[1] = 4; + txtColor[2] = 5; + break; + } + + if (caseId != 3) + { + FillWindowPixelBuffer(windowId, txtColor[0] | (txtColor[0] << 4)); + } + + AddTextPrinterParameterized2(windowId, 1, x, y, letterSpacing, 1, txtColor, speed, string); +} + +static bool32 Blender_PrintText(s16 *textState, const u8 *string, s32 textSpeed) +{ + switch (*textState) + { + case 0: + sub_8197B1C(4, FALSE, 0x14, 0xF); + Blender_AddTextPrinter(4, string, 0, 1, textSpeed, 0); + PutWindowTilemap(4); + CopyWindowToVram(4, 3); + (*textState)++; + break; + case 1: + if (!IsTextPrinterActive(4)) + { + *textState = 0; + return TRUE; + } + break; + } + + return FALSE; +} diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c index eca20af9d5..f6a5895a9a 100644 --- a/src/berry_fix_program.c +++ b/src/berry_fix_program.c @@ -1,5 +1,3 @@ - -// Includes #include "global.h" #include "gpu_regs.h" #include "multiboot.h" @@ -8,8 +6,9 @@ #include "main.h" #include "sprite.h" #include "task.h" -#include "unknown_task.h" +#include "scanline_effect.h" #include "window.h" +#include "text.h" #include "menu.h" #include "m4a.h" @@ -36,9 +35,9 @@ static void berry_fix_bg_hide(void); // .rodata -static const u8 gUnknown_08617E78[] = _("Berry Program Update"); -static const u8 gUnknown_08617E8D[] = _("Ruby/Sapphire"); -static const u8 gUnknown_08617E9B[] = _("Emerald"); +static const u8 sUnknown_08617E78[] = _("Berry Program Update"); +static const u8 sUnknown_08617E8D[] = _("Ruby/Sapphire"); +static const u8 sUnknown_08617E9B[] = _("Emerald"); static const u8 Unknown_08617EA3[] = _("The Berry Program on your POKéMON\nRuby/Sapphire Game Pak will be updated.\n{COLOR RED}{SHADOW LIGHT_RED}Press the A Button."); static const u8 Unknown_08617F07[] = _("Please ensure the connection of your\nGame Boy Advance system matches this.\n{COLOR RED}{SHADOW LIGHT_RED}YES: Press the A Button.\nNO: Turn off the power and try again."); @@ -63,15 +62,15 @@ static const struct WindowTemplate gUnknown_08618110[] = { {-1} }; -static const u16 gUnknown_08618138[] = { +static const u16 sUnknown_08618138[] = { 0x7fff, 0x7fff, 0x318c, 0x675a, 0x043c, 0x3aff, 0x0664, 0x4bd2, 0x6546, 0x7b14, 0x7fff, 0x318c, 0x675a, 0x0000, 0x0000, 0x0000 }; -static const u8 gUnknown_08618158[] = {10, 11, 12}; -static const u8 gUnknown_0861815B[] = { 0, 10, 13}; +static const u8 sUnknown_08618158[] = {10, 11, 12}; +static const u8 sUnknown_0861815B[] = { 0, 10, 13}; static const u8 *const gUnknown_08618160[] = { Unknown_08617F07, @@ -82,50 +81,50 @@ static const u8 *const gUnknown_08618160[] = { Unknown_08617EA3 }; -extern const u8 gUnknown_08DD87C0[]; -extern const u8 gUnknown_08DD8EE0[]; -extern const u8 gUnknown_08DD8780[]; -extern const u8 gUnknown_08DD90E0[]; -extern const u8 gUnknown_08DD9718[]; -extern const u8 gUnknown_08DD9080[]; -extern const u8 gUnknown_08DD98B4[]; -extern const u8 gUnknown_08DD9E58[]; -extern const u8 gUnknown_08DD9874[]; -extern const u8 gUnknown_08DDA02C[]; -extern const u8 gUnknown_08DDA63C[]; -extern const u8 gUnknown_08DD9FEC[]; -extern const u8 gUnknown_08DDA840[]; -extern const u8 gUnknown_08DDAE40[]; -extern const u8 gUnknown_08DDA800[]; -extern const u8 gUnknown_08DDB020[]; -extern const u8 gUnknown_08DDB2C4[]; -extern const u8 gUnknown_08DDAFE0[]; +extern const u8 gBerryFixGameboy_Gfx[]; +extern const u8 gBerryFixGameboy_Tilemap[]; +extern const u8 gBerryFixGameboy_Pal[]; +extern const u8 gBerryFixGameboyLogo_Gfx[]; +extern const u8 gBerryFixGameboyLogo_Tilemap[]; +extern const u8 gBerryFixGameboyLogo_Pal[]; +extern const u8 gBerryFixGbaTransfer_Gfx[]; +extern const u8 gBerryFixGbaTransfer_Tilemap[]; +extern const u8 gBerryFixGbaTransfer_Pal[]; +extern const u8 gBerryFixGbaTransferHighlight_Gfx[]; +extern const u8 gBerryFixGbaTransferHighlight_Tilemap[]; +extern const u8 gBerryFixGbaTransferHighlight_Pal[]; +extern const u8 gBerryFixGbaTransferError_Gfx[]; +extern const u8 gBerryFixGbaTransferError_Tilemap[]; +extern const u8 gBerryFixGbaTransferError_Pal[]; +extern const u8 gBerryFixWindow_Gfx[]; +extern const u8 gBerryFixWindow_Tilemap[]; +extern const u8 gBerryFixWindow_Pal[]; static const u8 *const gUnknown_08618178[][3] = { { - gUnknown_08DD87C0, - gUnknown_08DD8EE0, - gUnknown_08DD8780 + gBerryFixGameboy_Gfx, + gBerryFixGameboy_Tilemap, + gBerryFixGameboy_Pal }, { - gUnknown_08DD90E0, - gUnknown_08DD9718, - gUnknown_08DD9080 + gBerryFixGameboyLogo_Gfx, + gBerryFixGameboyLogo_Tilemap, + gBerryFixGameboyLogo_Pal }, { - gUnknown_08DD98B4, - gUnknown_08DD9E58, - gUnknown_08DD9874 + gBerryFixGbaTransfer_Gfx, + gBerryFixGbaTransfer_Tilemap, + gBerryFixGbaTransfer_Pal }, { - gUnknown_08DDA02C, - gUnknown_08DDA63C, - gUnknown_08DD9FEC + gBerryFixGbaTransferHighlight_Gfx, + gBerryFixGbaTransferHighlight_Tilemap, + gBerryFixGbaTransferHighlight_Pal }, { - gUnknown_08DDA840, - gUnknown_08DDAE40, - gUnknown_08DDA800 + gBerryFixGbaTransferError_Gfx, + gBerryFixGbaTransferError_Tilemap, + gBerryFixGbaTransferError_Pal }, { - gUnknown_08DDB020, - gUnknown_08DDB2C4, - gUnknown_08DDAFE0 + gBerryFixWindow_Gfx, + gBerryFixWindow_Tilemap, + gBerryFixWindow_Pal }, }; @@ -134,7 +133,7 @@ extern const u8 gMultiBootProgram_BerryGlitchFix_End[]; // .text -void InitBerryFixProgram(void) +void CB2_InitBerryFixProgram(void) { DisableInterrupts(0xFFFF); EnableInterrupts(0x0001); @@ -142,7 +141,7 @@ void InitBerryFixProgram(void) SetVBlankCallback(NULL); ResetSpriteData(); ResetTasks(); - remove_some_task(); + ScanlineEffect_Stop(); SetGpuReg(REG_OFFSET_DISPCNT, 0x0000); berry_fix_mb_manager = AllocZeroed(0x50); berry_fix_mb_manager->state = 0; @@ -218,10 +217,9 @@ static void berry_fix_main(void) } } -#ifdef NONMATCHING static void berry_fix_gpu_set(void) { - s32 width; + s32 width, left; SetGpuReg(REG_OFFSET_BG0CNT, 0x0000); SetGpuReg(REG_OFFSET_BG1CNT, 0x0000); @@ -244,236 +242,33 @@ static void berry_fix_gpu_set(void) InitWindows(gUnknown_08618110); DeactivateAllTextPrinters(); - DmaCopy32(3, gUnknown_08618138, BG_PLTT + 0x1E0, 0x20); + DmaCopy32(3, sUnknown_08618138, BG_PLTT + 0x1E0, 0x20); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP); FillWindowPixelBuffer(2, 0); FillWindowPixelBuffer(3, 0); FillWindowPixelBuffer(0, 0xAA); -// This block is a meme among memes - width = (0x78 - GetStringWidth(0, gUnknown_08617E9B, 0)) / 2; - box_print(2, 0, width, 3, gUnknown_0861815B, -1, gUnknown_08617E9B); - width = (s32)(0x78 - GetStringWidth(0, gUnknown_08617E9B, 0)) / 2 + 0x78; - box_print(2, 0, width, 3, gUnknown_0861815B, -1, gUnknown_08617E8D); - width = (0x70 - GetStringWidth(0, gUnknown_08617E8D, 0)) / 2; - box_print(3, 0, width, 0, gUnknown_0861815B, -1, gUnknown_08617E8D); - width = (0xd0 - GetStringWidth(1, gUnknown_08617E78, 0)) / 2; - box_print(0, 1, width, 2, gUnknown_08618158, -1, gUnknown_08617E78); + width = GetStringWidth(0, sUnknown_08617E9B, 0); + left = (0x78 - width) / 2; + box_print(2, 0, left, 3, sUnknown_0861815B, TEXT_SPEED_FF, sUnknown_08617E9B); + + width = GetStringWidth(0, sUnknown_08617E8D, 0); + left = (0x78 - width) / 2 + 0x78; + box_print(2, 0, left, 3, sUnknown_0861815B, TEXT_SPEED_FF, sUnknown_08617E8D); + + width = GetStringWidth(0, sUnknown_08617E8D, 0); + left = (0x70 - width) / 2; + box_print(3, 0, left, 0, sUnknown_0861815B, TEXT_SPEED_FF, sUnknown_08617E8D); + + width = GetStringWidth(1, sUnknown_08617E78, 0); + left = (0xD0 - width) / 2; + box_print(0, 1, left, 2, sUnknown_08618158, TEXT_SPEED_FF, sUnknown_08617E78); CopyWindowToVram(2, 2); CopyWindowToVram(3, 2); CopyWindowToVram(0, 2); } -#else -__attribute__((naked)) static void berry_fix_gpu_set(void) -{ - asm(".syntax unified\n" - "\tpush {r4-r6,lr}\n" - "\tmov r6, r8\n" - "\tpush {r6}\n" - "\tsub sp, 0x10\n" - "\tmovs r0, 0x8\n" - "\tmovs r1, 0\n" - "\tbl SetGpuReg\n" - "\tmovs r0, 0xA\n" - "\tmovs r1, 0\n" - "\tbl SetGpuReg\n" - "\tmovs r0, 0x10\n" - "\tmovs r1, 0\n" - "\tbl SetGpuReg\n" - "\tmovs r0, 0x12\n" - "\tmovs r1, 0\n" - "\tbl SetGpuReg\n" - "\tmovs r0, 0x14\n" - "\tmovs r1, 0\n" - "\tbl SetGpuReg\n" - "\tmovs r0, 0x16\n" - "\tmovs r1, 0\n" - "\tbl SetGpuReg\n" - "\tmovs r0, 0x50\n" - "\tmovs r1, 0\n" - "\tbl SetGpuReg\n" - "\tmovs r1, 0\n" - "\tstr r1, [sp, 0xC]\n" - "\tldr r4, =0x040000d4\n" - "\tadd r0, sp, 0xC\n" - "\tstr r0, [r4]\n" - "\tmovs r0, 0xC0\n" - "\tlsls r0, 19\n" - "\tstr r0, [r4, 0x4]\n" - "\tldr r0, =0x85006000\n" - "\tstr r0, [r4, 0x8]\n" - "\tldr r0, [r4, 0x8]\n" - "\tstr r1, [sp, 0xC]\n" - "\tadd r0, sp, 0xC\n" - "\tstr r0, [r4]\n" - "\tmovs r0, 0xE0\n" - "\tlsls r0, 19\n" - "\tstr r0, [r4, 0x4]\n" - "\tldr r2, =0x85000100\n" - "\tstr r2, [r4, 0x8]\n" - "\tldr r0, [r4, 0x8]\n" - "\tstr r1, [sp, 0xC]\n" - "\tadd r0, sp, 0xC\n" - "\tstr r0, [r4]\n" - "\tmovs r0, 0xA0\n" - "\tlsls r0, 19\n" - "\tstr r0, [r4, 0x4]\n" - "\tstr r2, [r4, 0x8]\n" - "\tldr r0, [r4, 0x8]\n" - "\tmovs r0, 0\n" - "\tbl ResetBgsAndClearDma3BusyFlags\n" - "\tldr r1, =gUnknown_08618108\n" - "\tmovs r0, 0\n" - "\tmovs r2, 0x2\n" - "\tbl InitBgsFromTemplates\n" - "\tmovs r0, 0\n" - "\tmovs r1, 0\n" - "\tmovs r2, 0\n" - "\tbl ChangeBgX\n" - "\tmovs r0, 0\n" - "\tmovs r1, 0\n" - "\tmovs r2, 0\n" - "\tbl ChangeBgY\n" - "\tmovs r0, 0x1\n" - "\tmovs r1, 0\n" - "\tmovs r2, 0\n" - "\tbl ChangeBgX\n" - "\tmovs r0, 0x1\n" - "\tmovs r1, 0\n" - "\tmovs r2, 0\n" - "\tbl ChangeBgY\n" - "\tldr r0, =gUnknown_08618110\n" - "\tbl InitWindows\n" - "\tbl DeactivateAllTextPrinters\n" - "\tldr r0, =gUnknown_08618138\n" - "\tstr r0, [r4]\n" - "\tldr r0, =0x050001e0\n" - "\tstr r0, [r4, 0x4]\n" - "\tldr r0, =0x84000008\n" - "\tstr r0, [r4, 0x8]\n" - "\tldr r0, [r4, 0x8]\n" - "\tmovs r0, 0\n" - "\tmovs r1, 0x40\n" - "\tbl SetGpuReg\n" - "\tmovs r0, 0x2\n" - "\tmovs r1, 0\n" - "\tbl FillWindowPixelBuffer\n" - "\tmovs r0, 0x3\n" - "\tmovs r1, 0\n" - "\tbl FillWindowPixelBuffer\n" - "\tmovs r0, 0\n" - "\tmovs r1, 0xAA\n" - "\tbl FillWindowPixelBuffer\n" - "\tldr r5, =gUnknown_08617E9B\n" - "\tmovs r0, 0\n" - "\tadds r1, r5, 0\n" - "\tmovs r2, 0\n" - "\tbl GetStringWidth\n" - "\tadds r1, r0, 0\n" - "\tmovs r4, 0x78\n" - "\tsubs r0, r4, r1\n" - "\tlsrs r1, r0, 31\n" - "\tadds r0, r1\n" - "\tasrs r0, 1\n" - "\tlsls r2, r0, 24\n" - "\tlsrs r2, 24\n" - "\tldr r6, =gUnknown_0861815B\n" - "\tstr r6, [sp]\n" - "\tmovs r0, 0x1\n" - "\tnegs r0, r0\n" - "\tmov r8, r0\n" - "\tstr r0, [sp, 0x4]\n" - "\tstr r5, [sp, 0x8]\n" - "\tmovs r0, 0x2\n" - "\tmovs r1, 0\n" - "\tmovs r3, 0x3\n" - "\tbl box_print\n" - "\tldr r5, =gUnknown_08617E8D\n" - "\tmovs r0, 0\n" - "\tadds r1, r5, 0\n" - "\tmovs r2, 0\n" - "\tbl GetStringWidth\n" - "\tadds r1, r0, 0\n" - "\tsubs r4, r1\n" - "\tlsrs r0, r4, 31\n" - "\tadds r4, r0\n" - "\tasrs r4, 1\n" - "\tadds r0, r4, 0\n" - "\tadds r0, 0x78\n" - "\tlsls r2, r0, 24\n" - "\tlsrs r2, 24\n" - "\tstr r6, [sp]\n" - "\tmov r0, r8\n" - "\tstr r0, [sp, 0x4]\n" - "\tstr r5, [sp, 0x8]\n" - "\tmovs r0, 0x2\n" - "\tmovs r1, 0\n" - "\tmovs r3, 0x3\n" - "\tbl box_print\n" - "\tmovs r0, 0\n" - "\tadds r1, r5, 0\n" - "\tmovs r2, 0\n" - "\tbl GetStringWidth\n" - "\tadds r1, r0, 0\n" - "\tmovs r0, 0x70\n" - "\tsubs r0, r1\n" - "\tlsrs r1, r0, 31\n" - "\tadds r0, r1\n" - "\tasrs r0, 1\n" - "\tlsls r2, r0, 24\n" - "\tlsrs r2, 24\n" - "\tstr r6, [sp]\n" - "\tmov r0, r8\n" - "\tstr r0, [sp, 0x4]\n" - "\tstr r5, [sp, 0x8]\n" - "\tmovs r0, 0x3\n" - "\tmovs r1, 0\n" - "\tmovs r3, 0\n" - "\tbl box_print\n" - "\tldr r4, =gUnknown_08617E78\n" - "\tmovs r0, 0x1\n" - "\tadds r1, r4, 0\n" - "\tmovs r2, 0\n" - "\tbl GetStringWidth\n" - "\tadds r1, r0, 0\n" - "\tmovs r0, 0xD0\n" - "\tsubs r0, r1\n" - "\tlsrs r1, r0, 31\n" - "\tadds r0, r1\n" - "\tasrs r0, 1\n" - "\tlsls r2, r0, 24\n" - "\tlsrs r2, 24\n" - "\tldr r0, =gUnknown_08618158\n" - "\tstr r0, [sp]\n" - "\tmov r0, r8\n" - "\tstr r0, [sp, 0x4]\n" - "\tstr r4, [sp, 0x8]\n" - "\tmovs r0, 0\n" - "\tmovs r1, 0x1\n" - "\tmovs r3, 0x2\n" - "\tbl box_print\n" - "\tmovs r0, 0x2\n" - "\tmovs r1, 0x2\n" - "\tbl CopyWindowToVram\n" - "\tmovs r0, 0x3\n" - "\tmovs r1, 0x2\n" - "\tbl CopyWindowToVram\n" - "\tmovs r0, 0\n" - "\tmovs r1, 0x2\n" - "\tbl CopyWindowToVram\n" - "\tadd sp, 0x10\n" - "\tpop {r3}\n" - "\tmov r8, r3\n" - "\tpop {r4-r6}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.pool\n" - ".syntax divided"); -} -#endif - static int berry_fix_text_update(int checkval) { if (berry_fix_mb_manager->unk1 == checkval) @@ -497,7 +292,7 @@ static void berry_fix_text_print(int scene) { FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32); FillWindowPixelBuffer(1, 0xAA); - box_print(1, 1, 0, 0, gUnknown_08618158, -1, gUnknown_08618160[scene]); + box_print(1, 1, 0, 0, sUnknown_08618158, -1, gUnknown_08618160[scene]); PutWindowTilemap(1); CopyWindowToVram(1, 2); switch (scene) @@ -523,7 +318,7 @@ static void berry_fix_text_print(int scene) ShowBg(1); } -static void berry_fix_bg_hide() +static void berry_fix_bg_hide(void) { HideBg(0); HideBg(1); diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c new file mode 100644 index 0000000000..f86f350bf4 --- /dev/null +++ b/src/berry_tag_screen.c @@ -0,0 +1,653 @@ +#include "global.h" +#include "berry_tag_screen.h" +#include "berry.h" +#include "decompress.h" +#include "field_map_obj.h" +#include "item_menu.h" +#include "constants/items.h" +#include "item.h" +#include "item_use.h" +#include "main.h" +#include "menu.h" +#include "text.h" +#include "window.h" +#include "task.h" +#include "menu_helpers.h" +#include "palette.h" +#include "overworld.h" +#include "constants/songs.h" +#include "sound.h" +#include "sprite.h" +#include "string_util.h" +#include "strings.h" +#include "bg.h" +#include "malloc.h" +#include "scanline_effect.h" +#include "gpu_regs.h" +#include "graphics.h" +#include "item_menu_icons.h" +#include "decompress.h" +#include "international_string_util.h" + +// There are 4 windows used in berry tag screen. +enum +{ + WIN_BERRY_NAME, + WIN_SIZE_FIRM, + WIN_DESC, + WIN_BERRY_TAG +}; + +struct BerryTagScreenStruct +{ + u16 tilemapBuffers[3][0x400]; + u16 berryId; + u8 berrySpriteId; + u8 flavorCircleIds[FLAVOR_COUNT]; + u16 gfxState; +}; + +// EWRAM vars +static EWRAM_DATA struct BerryTagScreenStruct *sBerryTag = NULL; + +// const rom data +static const struct BgTemplate sBackgroundTemplates[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 0, + .mapBaseIndex = 28, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + } +}; + +static const u16 sFontPalette[] = INCBIN_U16("graphics/interface/berry_tag_screen.gbapal"); + +static const u8 sTextColors[2][3] = +{ + {0, 2, 3}, + {15, 14, 13} +}; + +static const struct WindowTemplate sWindowTemplates[] = +{ + {0x01, 0x0b, 0x04, 0x08, 0x02, 0x0f, 0x0045}, // WIN_BERRY_NAME + {0x01, 0x0b, 0x07, 0x12, 0x04, 0x0f, 0x0055}, // WIN_SIZE_FIRM + {0x01, 0x04, 0x0e, 0x19, 0x04, 0x0f, 0x009d}, // WIN_DESC + {0x00, 0x02, 0x00, 0x08, 0x02, 0x0f, 0x0101}, // WIN_BERRY_TAG + DUMMY_WIN_TEMPLATE +}; + +static const u8 *const sBerryFirmnessStrings[] = +{ + gBerryFirmnessString_VerySoft, + gBerryFirmnessString_Soft, + gBerryFirmnessString_Hard, + gBerryFirmnessString_VeryHard, + gBerryFirmnessString_SuperHard +}; + +// this file's functions +static void CB2_InitBerryTagScreen(void); +static void HandleInitBackgrounds(void); +static void HandleInitWindows(void); +static void AddBerryTagTextToBg0(void); +static void PrintAllBerryData(void); +static void CreateBerrySprite(void); +static void CreateFlavorCircleSprites(void); +static void SetFlavorCirclesVisiblity(void); +static void PrintBerryNumberAndName(void); +static void PrintBerrySize(void); +static void PrintBerryFirmness(void); +static void PrintBerryDescription1(void); +static void PrintBerryDescription2(void); +static bool8 InitBerryTagScreen(void); +static bool8 LoadBerryTagGfx(void); +static void Task_HandleInput(u8 taskId); +static void Task_CloseBerryTagScreen(u8 taskId); +static void Task_DisplayAnotherBerry(u8 taskId); +static void TryChangeDisplayedBerry(u8 taskId, s8 toMove); +static void HandleBagCursorPositionChange(s8 toMove); + +// code +void DoBerryTagScreen(void) +{ + sBerryTag = AllocZeroed(sizeof(*sBerryTag)); + sBerryTag->berryId = ItemIdToBerryType(gSpecialVar_ItemId); + SetMainCallback2(CB2_InitBerryTagScreen); +} + +static void CB2_BerryTagScreen(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + do_scheduled_bg_tilemap_copies_to_vram(); + UpdatePaletteFade(); +} + +static void VblankCB(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void CB2_InitBerryTagScreen(void) +{ + while (1) + { + if (sub_81221EC() == TRUE) + break; + if (InitBerryTagScreen() == TRUE) + break; + if (sub_81221AC() == TRUE) + break; + } +} + +static bool8 InitBerryTagScreen(void) +{ + switch (gMain.state) + { + case 0: + SetVBlankHBlankCallbacksToNull(); + ResetVramOamAndBgCntRegs(); + clear_scheduled_bg_copies_to_vram(); + gMain.state++; + break; + case 1: + ScanlineEffect_Stop(); + gMain.state++; + break; + case 2: + ResetPaletteFade(); + gPaletteFade.bufferTransferDisabled = 1; + gMain.state++; + break; + case 3: + ResetSpriteData(); + gMain.state++; + break; + case 4: + FreeAllSpritePalettes(); + gMain.state++; + break; + case 5: + if (!sub_81221AC()) + ResetTasks(); + gMain.state++; + break; + case 6: + HandleInitBackgrounds(); + sBerryTag->gfxState = 0; + gMain.state++; + break; + case 7: + if (LoadBerryTagGfx()) + gMain.state++; + break; + case 8: + HandleInitWindows(); + gMain.state++; + break; + case 9: + AddBerryTagTextToBg0(); + gMain.state++; + break; + case 10: + PrintAllBerryData(); + gMain.state++; + break; + case 11: + CreateBerrySprite(); + gMain.state++; + break; + case 12: + CreateFlavorCircleSprites(); + SetFlavorCirclesVisiblity(); + gMain.state++; + break; + case 13: + CreateTask(Task_HandleInput, 0); + gMain.state++; + break; + case 14: + BlendPalettes(-1, 0x10, 0); + gMain.state++; + break; + case 15: + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + gPaletteFade.bufferTransferDisabled = 0; + gMain.state++; + break; + default: // done + SetVBlankCallback(VblankCB); + SetMainCallback2(CB2_BerryTagScreen); + return TRUE; + } + + return FALSE; +} + +static void HandleInitBackgrounds(void) +{ + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, sBackgroundTemplates, ARRAY_COUNT(sBackgroundTemplates)); + SetBgTilemapBuffer(2, sBerryTag->tilemapBuffers[0]); + SetBgTilemapBuffer(3, sBerryTag->tilemapBuffers[1]); + ResetAllBgsCoordinates(); + schedule_bg_copy_tilemap_to_vram(2); + schedule_bg_copy_tilemap_to_vram(3); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + ShowBg(0); + ShowBg(1); + ShowBg(2); + ShowBg(3); +} + +static bool8 LoadBerryTagGfx(void) +{ + u16 i; + + switch (sBerryTag->gfxState) + { + case 0: + reset_temp_tile_data_buffers(); + decompress_and_copy_tile_data_to_vram(2, gUnknown_08D9BB44, 0, 0, 0); + sBerryTag->gfxState++; + break; + case 1: + if (free_temp_tile_data_buffers_if_possible() != TRUE) + { + LZDecompressWram(gUnknown_08D9BF98, sBerryTag->tilemapBuffers[0]); + sBerryTag->gfxState++; + } + break; + case 2: + LZDecompressWram(gUnknown_08D9C13C, sBerryTag->tilemapBuffers[2]); + sBerryTag->gfxState++; + break; + case 3: + if (gSaveBlock2Ptr->playerGender == MALE) + { + for (i = 0; i < ARRAY_COUNT(sBerryTag->tilemapBuffers[1]); i++) + sBerryTag->tilemapBuffers[1][i] = 0x4042; + } + else + { + for (i = 0; i < ARRAY_COUNT(sBerryTag->tilemapBuffers[1]); i++) + sBerryTag->tilemapBuffers[1][i] = 0x5042; + } + sBerryTag->gfxState++; + break; + case 4: + LoadCompressedPalette(gUnknown_08D9BEF0, 0, 0xC0); + sBerryTag->gfxState++; + break; + case 5: + LoadCompressedObjectPic(&gUnknown_0857FDEC); + sBerryTag->gfxState++; + break; + default: + LoadCompressedObjectPalette(&gUnknown_0857FDF4); + return TRUE; // done + } + + return FALSE; +} + +static void HandleInitWindows(void) +{ + u16 i; + + InitWindows(sWindowTemplates); + DeactivateAllTextPrinters(); + LoadPalette(sFontPalette, 0xF0, 0x20); + for (i = 0; i < ARRAY_COUNT(sWindowTemplates) - 1; i++) + PutWindowTilemap(i); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); +} + +static void PrintTextInBerryTagScreen(u8 windowId, const u8 *text, u8 x, u8 y, s32 speed, u8 colorStructId) +{ + AddTextPrinterParameterized2(windowId, 1, x, y, 0, 0, sTextColors[colorStructId], speed, text); +} + +static void AddBerryTagTextToBg0(void) +{ + memcpy(GetBgTilemapBuffer(0), sBerryTag->tilemapBuffers[2], sizeof(sBerryTag->tilemapBuffers[2])); + FillWindowPixelBuffer(WIN_BERRY_TAG, 0xFF); + PrintTextInBerryTagScreen(WIN_BERRY_TAG, gText_BerryTag, GetStringCenterAlignXOffset(1, gText_BerryTag, 0x40), 1, 0, 1); + PutWindowTilemap(WIN_BERRY_TAG); + schedule_bg_copy_tilemap_to_vram(0); +} + +static void PrintAllBerryData(void) +{ + PrintBerryNumberAndName(); + PrintBerrySize(); + PrintBerryFirmness(); + PrintBerryDescription1(); + PrintBerryDescription2(); +} + +static void PrintBerryNumberAndName(void) +{ + const struct Berry *berry = GetBerryInfo(sBerryTag->berryId); + ConvertIntToDecimalStringN(gStringVar1, sBerryTag->berryId, 2, 2); + StringCopy(gStringVar2, berry->name); + StringExpandPlaceholders(gStringVar4, gText_UnkF908Var1Var2); + PrintTextInBerryTagScreen(WIN_BERRY_NAME, gStringVar4, 0, 1, 0, 0); +} + +static void PrintBerrySize(void) +{ + const struct Berry *berry = GetBerryInfo(sBerryTag->berryId); + PrintTextOnWindow(WIN_SIZE_FIRM, 1, gText_SizeSlash, 0, 1, TEXT_SPEED_FF, NULL); + if (berry->size != 0) + { + u32 inches, fraction; + + inches = 1000 * berry->size / 254; + if (inches % 10 > 4) + inches += 10; + fraction = (inches % 100) / 10; + inches /= 100; + + ConvertIntToDecimalStringN(gStringVar1, inches, 0, 2); + ConvertIntToDecimalStringN(gStringVar2, fraction, 0, 2); + StringExpandPlaceholders(gStringVar4, gText_Var1DotVar2); + PrintTextOnWindow(WIN_SIZE_FIRM, 1, gStringVar4, 0x28, 1, 0, NULL); + } + else + { + PrintTextOnWindow(WIN_SIZE_FIRM, 1, gText_ThreeMarks, 0x28, 1, 0, NULL); + } +} + +static void PrintBerryFirmness(void) +{ + const struct Berry *berry = GetBerryInfo(sBerryTag->berryId); + PrintTextOnWindow(WIN_SIZE_FIRM, 1, gText_FirmSlash, 0, 0x11, TEXT_SPEED_FF, NULL); + if (berry->firmness != 0) + PrintTextOnWindow(WIN_SIZE_FIRM, 1, sBerryFirmnessStrings[berry->firmness - 1], 0x28, 0x11, 0, NULL); + else + PrintTextOnWindow(WIN_SIZE_FIRM, 1, gText_ThreeMarks, 0x28, 0x11, 0, NULL); +} + +static void PrintBerryDescription1(void) +{ + const struct Berry *berry = GetBerryInfo(sBerryTag->berryId); + PrintTextOnWindow(WIN_DESC, 1, berry->description1, 0, 1, 0, NULL); +} + +static void PrintBerryDescription2(void) +{ + const struct Berry *berry = GetBerryInfo(sBerryTag->berryId); + PrintTextOnWindow(WIN_DESC, 1, berry->description2, 0, 0x11, 0, NULL); +} + +static void CreateBerrySprite(void) +{ + sBerryTag->berrySpriteId = CreateBerryTagSprite(sBerryTag->berryId - 1, 56, 64); +} + +static void DestroyBerrySprite(void) +{ + DestroySprite(&gSprites[sBerryTag->berrySpriteId]); + FreeBerryTagSpritePalette(); +} + +static void CreateFlavorCircleSprites(void) +{ + sBerryTag->flavorCircleIds[FLAVOR_SPICY] = CreateBerryFlavorCircleSprite(64); + sBerryTag->flavorCircleIds[FLAVOR_DRY] = CreateBerryFlavorCircleSprite(104); + sBerryTag->flavorCircleIds[FLAVOR_SWEET] = CreateBerryFlavorCircleSprite(144); + sBerryTag->flavorCircleIds[FLAVOR_BITTER] = CreateBerryFlavorCircleSprite(184); + sBerryTag->flavorCircleIds[FLAVOR_SOUR] = CreateBerryFlavorCircleSprite(224); +} + +static void SetFlavorCirclesVisiblity(void) +{ + const struct Berry *berry = GetBerryInfo(sBerryTag->berryId); + + if (berry->spicy) + gSprites[sBerryTag->flavorCircleIds[FLAVOR_SPICY]].invisible = 0; + else + gSprites[sBerryTag->flavorCircleIds[FLAVOR_SPICY]].invisible = 1; + + if (berry->dry) + gSprites[sBerryTag->flavorCircleIds[FLAVOR_DRY]].invisible = 0; + else + gSprites[sBerryTag->flavorCircleIds[FLAVOR_DRY]].invisible = 1; + + if (berry->sweet) + gSprites[sBerryTag->flavorCircleIds[FLAVOR_SWEET]].invisible = 0; + else + gSprites[sBerryTag->flavorCircleIds[FLAVOR_SWEET]].invisible = 1; + + if (berry->bitter) + gSprites[sBerryTag->flavorCircleIds[FLAVOR_BITTER]].invisible = 0; + else + gSprites[sBerryTag->flavorCircleIds[FLAVOR_BITTER]].invisible = 1; + + if (berry->sour) + gSprites[sBerryTag->flavorCircleIds[FLAVOR_SOUR]].invisible = 0; + else + gSprites[sBerryTag->flavorCircleIds[FLAVOR_SOUR]].invisible = 1; +} + +static void DestroyFlavorCircleSprites(void) +{ + u16 i; + + for (i = 0; i < FLAVOR_COUNT; i++) + DestroySprite(&gSprites[sBerryTag->flavorCircleIds[i]]); +} + +static void PrepareToCloseBerryTagScreen(u8 taskId) +{ + PlaySE(SE_SELECT); + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + gTasks[taskId].func = Task_CloseBerryTagScreen; +} + +static void Task_CloseBerryTagScreen(u8 taskId) +{ + if (!gPaletteFade.active) + { + DestroyBerrySprite(); + DestroyFlavorCircleSprites(); + Free(sBerryTag); + FreeAllWindowBuffers(); + SetMainCallback2(bag_menu_mail_related); + DestroyTask(taskId); + } +} + +static void Task_HandleInput(u8 taskId) +{ + if (!gPaletteFade.active) + { + u16 arrowKeys = gMain.newAndRepeatedKeys & DPAD_ANY; + if (arrowKeys == DPAD_UP) + TryChangeDisplayedBerry(taskId, -1); + else if (arrowKeys == DPAD_DOWN) + TryChangeDisplayedBerry(taskId, 1); + else if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + PrepareToCloseBerryTagScreen(taskId); + } +} + +static void TryChangeDisplayedBerry(u8 taskId, s8 toMove) +{ + s16 *data = gTasks[taskId].data; + s16 currPocketPosition = gUnknown_0203CE58.unk12[3] + gUnknown_0203CE58.unk8[3]; + u32 newPocketPosition = currPocketPosition + toMove; + if (newPocketPosition < 46 && BagGetItemIdByPocketPosition(BAG_BERRIES, newPocketPosition) != 0) + { + if (toMove < 0) + data[1] = 2; + else + data[1] = 1; + + data[0] = 0; + PlaySE(SE_SELECT); + HandleBagCursorPositionChange(toMove); + gTasks[taskId].func = Task_DisplayAnotherBerry; + } +} + +static void HandleBagCursorPositionChange(s8 toMove) +{ + u16 *scrollPos = &gUnknown_0203CE58.unk12[3]; + u16 *cursorPos = &gUnknown_0203CE58.unk8[3]; + if (toMove > 0) + { + if (*cursorPos < 4 || BagGetItemIdByPocketPosition(BAG_BERRIES, *scrollPos + 8) == 0) + *cursorPos += toMove; + else + *scrollPos += toMove; + } + else + { + if (*cursorPos > 3 || *scrollPos == 0) + *cursorPos += toMove; + else + *scrollPos += toMove; + } + + sBerryTag->berryId = ItemIdToBerryType(BagGetItemIdByPocketPosition(BAG_BERRIES, *scrollPos + *cursorPos)); +} + +static void Task_DisplayAnotherBerry(u8 taskId) +{ + u16 i; + s16 posY; + s16 *data = gTasks[taskId].data; + data[0] += 0x10; + data[0] &= 0xFF; + + if (data[1] == 1) + { + switch (data[0]) + { + case 0x30: + FillWindowPixelBuffer(0, 0); + break; + case 0x40: + PrintBerryNumberAndName(); + break; + case 0x50: + DestroyBerrySprite(); + CreateBerrySprite(); + break; + case 0x60: + FillWindowPixelBuffer(1, 0); + break; + case 0x70: + PrintBerrySize(); + break; + case 0x80: + PrintBerryFirmness(); + break; + case 0x90: + SetFlavorCirclesVisiblity(); + break; + case 0xA0: + FillWindowPixelBuffer(2, 0); + break; + case 0xB0: + PrintBerryDescription1(); + break; + case 0xC0: + PrintBerryDescription2(); + break; + } + } + else + { + switch (data[0]) + { + case 0x30: + FillWindowPixelBuffer(2, 0); + break; + case 0x40: + PrintBerryDescription2(); + break; + case 0x50: + PrintBerryDescription1(); + break; + case 0x60: + SetFlavorCirclesVisiblity(); + break; + case 0x70: + FillWindowPixelBuffer(1, 0); + break; + case 0x80: + PrintBerryFirmness(); + break; + case 0x90: + PrintBerrySize(); + break; + case 0xA0: + DestroyBerrySprite(); + CreateBerrySprite(); + break; + case 0xB0: + FillWindowPixelBuffer(0, 0); + break; + case 0xC0: + PrintBerryNumberAndName(); + break; + } + } + + if (data[1] == 1) + posY = -data[0]; + else + posY = data[0]; + + gSprites[sBerryTag->berrySpriteId].pos2.y = posY; + for (i = 0; i < FLAVOR_COUNT; i++) + gSprites[sBerryTag->flavorCircleIds[i]].pos2.y = posY; + + ChangeBgY(1, 0x1000, data[1]); + ChangeBgY(2, 0x1000, data[1]); + + if (data[0] == 0) + gTasks[taskId].func = Task_HandleInput; +} diff --git a/src/bg.c b/src/bg.c index 74e3ea830c..b699a0b1ff 100644 --- a/src/bg.c +++ b/src/bg.c @@ -1007,7 +1007,7 @@ void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, void *src, u8 destX, u8 dest } // Skipping for now, it probably uses structs passed by value /* -void CopyRectToBgTilemapBufferRect(u8 bg, void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2) +void CopyRectToBgTilemapBufferRect(u8 bg, const void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2) { u16 attribute; u16 mode; @@ -1049,7 +1049,7 @@ void CopyRectToBgTilemapBufferRect(u8 bg, void* src, u8 srcX, u8 srcY, u8 srcWid } }*/ __attribute__((naked)) -void CopyRectToBgTilemapBufferRect(u8 bg, void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2) +void CopyRectToBgTilemapBufferRect(u8 bg, const void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2) { asm("push {r4-r7,lr}\n\ mov r7, r10\n\ diff --git a/src/bike.c b/src/bike.c new file mode 100644 index 0000000000..64af7c711c --- /dev/null +++ b/src/bike.c @@ -0,0 +1,1078 @@ +#include "global.h" +#include "bike.h" +#include "field_map_obj.h" +#include "field_player_avatar.h" +#include "fieldmap.h" +#include "constants/flags.h" +#include "global.fieldmap.h" +#include "metatile_behavior.h" +#include "overworld.h" +#include "constants/songs.h" +#include "sound.h" + +extern bool8 gBikeCyclingChallenge; +extern u8 gBikeCollisions; +extern bool8 gUnknown_02037348; + +extern u8 sub_8093514(u8 direction); +extern u8 sub_808B980(u8 direction); +extern u8 sub_808B9BC(u8 direction); +extern u8 sub_808B9A4(u8 direction); +extern u8 sub_808C1B4(u8 direction); +extern u8 npc_use_some_d2s(u8 direction); +extern void Overworld_ClearSavedMusic(void); +extern void Overworld_PlaySpecialMapMusic(void); + +// this file's functions +static void MovePlayerOnMachBike(u8, u16, u16); +static u8 GetMachBikeTransition(u8 *); +static void MachBikeTransition_FaceDirection(u8); +static void MachBikeTransition_TurnDirection(u8); +static void MachBikeTransition_TrySpeedUp(u8); +static void MachBikeTransition_TrySlowDown(u8); +static void MovePlayerOnAcroBike(u8, u16, u16); +static u8 CheckMovementInputAcroBike(u8 *, u16, u16); +static u8 AcroBikeHandleInputNormal(u8 *, u16, u16); +static u8 AcroBikeHandleInputTurning(u8 *, u16, u16); +static u8 AcroBikeHandleInputWheelieStanding(u8 *, u16, u16); +static u8 AcroBikeHandleInputBunnyHop(u8 *, u16, u16); +static u8 AcroBikeHandleInputWheelieMoving(u8 *, u16, u16); +static u8 AcroBikeHandleInputSidewaysJump(u8 *, u16, u16); +static u8 AcroBikeHandleInputTurnJump(u8 *, u16, u16); +static void AcroBikeTransition_FaceDirection(u8); +static void AcroBikeTransition_TurnDirection(u8); +static void AcroBikeTransition_Moving(u8); +static void AcroBikeTransition_NormalToWheelie(u8); +static void AcroBikeTransition_WheelieToNormal(u8); +static void AcroBikeTransition_WheelieIdle(u8); +static void AcroBikeTransition_WheelieHoppingStanding(u8); +static void AcroBikeTransition_WheelieHoppingMoving(u8); +static void AcroBikeTransition_SideJump(u8); +static void AcroBikeTransition_TurnJump(u8); +static void AcroBikeTransition_WheelieMoving(u8); +static void AcroBikeTransition_WheelieRisingMoving(u8); +static void AcroBikeTransition_WheelieLoweringMoving(u8); +static void AcroBike_TryHistoryUpdate(u16, u16); +static u8 AcroBike_GetJumpDirection(void); +static void Bike_UpdateDirTimerHistory(u8); +static void Bike_UpdateABStartSelectHistory(u8); +static u8 Bike_DPadToDirection(u16); +static u8 get_some_collision(u8); +static u8 Bike_CheckCollisionTryAdvanceCollisionCount(struct MapObject *, s16, s16, u8, u8); +static bool8 IsRunningDisallowedByMetatile(u8); +static void Bike_TryAdvanceCyclingRoadCollisions(); +static u8 CanBikeFaceDirOnMetatile(u8, u8); +static bool8 WillPlayerCollideWithCollision(u8, u8); +static void Bike_SetBikeStill(void); + +// const rom data + +/* + A bike transition is a type of callback for the bike that actually + modifies the bicycle's direction or momentum or otherwise movement. + Alternatively, a bike may also have input handlers which process the + bike transition to call: the acro bike has input handlers while the mach + bike does not. This is because the Acro needs to know the button inputs + for its complex tricks and actions. +*/ + +static void (*const sMachBikeTransitions[])(u8) = +{ + MachBikeTransition_FaceDirection, // Face vs Turn: Face has no anim while Turn does. Turn checks for collision because if you turn right as opposed to face right, if there is a wall there, turn will make a bonk sound effect while face will not. + MachBikeTransition_TurnDirection, + MachBikeTransition_TrySpeedUp, + MachBikeTransition_TrySlowDown, +}; + +// bikeFrameCounter is input which is represented by sMachBikeSpeeds in order: 0 is normal speed (1 speed), 1 is fast speed (2 speed), 2 is fastest speed (4 speed) +static void (*const sMachBikeSpeedCallbacks[])(u8) = +{ + PlayerGoSpeed1, // normal speed (1 speed) + PlayerGoSpeed2, // fast speed (2 speed) + PlayerGoSpeed4, // fastest speed (4 speed) +}; + +static void (*const sAcroBikeTransitions[])(u8) = +{ + AcroBikeTransition_FaceDirection, + AcroBikeTransition_TurnDirection, + AcroBikeTransition_Moving, + AcroBikeTransition_NormalToWheelie, + AcroBikeTransition_WheelieToNormal, + AcroBikeTransition_WheelieIdle, + AcroBikeTransition_WheelieHoppingStanding, + AcroBikeTransition_WheelieHoppingMoving, + AcroBikeTransition_SideJump, + AcroBikeTransition_TurnJump, + AcroBikeTransition_WheelieMoving, + AcroBikeTransition_WheelieRisingMoving, + AcroBikeTransition_WheelieLoweringMoving, +}; + +static u8 (*const sAcroBikeInputHandlers[])(u8 *, u16, u16) = +{ + AcroBikeHandleInputNormal, + AcroBikeHandleInputTurning, + AcroBikeHandleInputWheelieStanding, + AcroBikeHandleInputBunnyHop, + AcroBikeHandleInputWheelieMoving, + AcroBikeHandleInputSidewaysJump, + AcroBikeHandleInputTurnJump, +}; + +// used with bikeFrameCounter from mach bike +static const u16 sMachBikeSpeeds[] = {SPEED_NORMAL, SPEED_FAST, SPEED_FASTEST}; + +// this is a list of timers to compare against later, terminated with 0. the only timer being compared against is 4 frames in this list. +static const u8 sAcroBikeJumpTimerList[] = {4, 0}; + +// this is a list of history inputs to do in order to do the check to retrieve a jump direction for acro bike. it seems to be an extensible list, so its possible that Game Freak may have intended for the Acro Bike to have more complex tricks at some point. The final list only has the acro jump. +static const struct BikeHistoryInputInfo sAcroBikeTricksList[] = +{ + // the 0xF is a mask performed with each byte of the array in order to perform the check on only the last entry of the history list, otherwise the check wouldn't work as there can be 0xF0 as opposed to 0x0F. + {DIR_SOUTH, B_BUTTON, 0xF, 0xF, sAcroBikeJumpTimerList, sAcroBikeJumpTimerList, DIR_SOUTH}, + {DIR_NORTH, B_BUTTON, 0xF, 0xF, sAcroBikeJumpTimerList, sAcroBikeJumpTimerList, DIR_NORTH}, + {DIR_WEST, B_BUTTON, 0xF, 0xF, sAcroBikeJumpTimerList, sAcroBikeJumpTimerList, DIR_WEST}, + {DIR_EAST, B_BUTTON, 0xF, 0xF, sAcroBikeJumpTimerList, sAcroBikeJumpTimerList, DIR_EAST}, +}; + +// code +void MovePlayerOnBike(u8 direction, u16 newKeys, u16 heldKeys) +{ + if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_MACH_BIKE) + MovePlayerOnMachBike(direction, newKeys, heldKeys); + else + MovePlayerOnAcroBike(direction, newKeys, heldKeys); +} + +static void MovePlayerOnMachBike(u8 direction, u16 newKeys, u16 heldKeys) +{ + sMachBikeTransitions[GetMachBikeTransition(&direction)](direction); +} + +// dirTraveling is a variable that is 0 when the player is standing still. +static u8 GetMachBikeTransition(u8 *dirTraveling) +{ + // if the dir updated before this function, get the relevent new direction to check later. + u8 direction = player_get_direction_upper_nybble(); + + // is the player standing still? + if (*dirTraveling == 0) + { + *dirTraveling = direction; // update the direction, since below we either faced a direction or we started moving. + if (gPlayerAvatar.bikeSpeed == SPEED_STANDING) + { + gPlayerAvatar.runningState = NOT_MOVING; + return MACH_TRANS_FACE_DIRECTION; + } + gPlayerAvatar.runningState = MOVING; + return MACH_TRANS_START_MOVING; + } + + // we need to check if the last traveled direction changed from the new direction as well as ensuring that we dont update the state while the player is moving: see the else check. + if (*dirTraveling != direction && gPlayerAvatar.runningState != MOVING) + { + if (gPlayerAvatar.bikeSpeed != SPEED_STANDING) + { + *dirTraveling = direction; // implement the new direction + gPlayerAvatar.runningState = MOVING; + return MACH_TRANS_START_MOVING; + } + // if you didnt start moving but your dir was different, do a turn direction instead. + gPlayerAvatar.runningState = TURN_DIRECTION; + return MACH_TRANS_TURN_DIRECTION; + } + else // the player is either going in the current direction and hasnt changed or their state is currently moving. + { + gPlayerAvatar.runningState = MOVING; + return MACH_TRANS_KEEP_MOVING; + } +} + +// the difference between face direction and turn direction is that one changes direction while the other does the animation of turning as well as changing direction. +static void MachBikeTransition_FaceDirection(u8 direction) +{ + PlayerFaceDirection(direction); + Bike_SetBikeStill(); +} + +static void MachBikeTransition_TurnDirection(u8 direction) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E)) + { + PlayerTurnInPlace(direction); + Bike_SetBikeStill(); + } + else + { + MachBikeTransition_FaceDirection(playerMapObj->mapobj_unk_18); + } +} + +static void MachBikeTransition_TrySpeedUp(u8 direction) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + u8 collision; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == FALSE) + { + // we cannot go forward, so either slow down or, if we are stopped, idle face direction. + if (gPlayerAvatar.bikeSpeed) + MachBikeTransition_TrySlowDown(playerMapObj->placeholder18); + else + MachBikeTransition_FaceDirection(playerMapObj->placeholder18); + } + else + { + collision = get_some_collision(direction); + if (collision > 0 && collision < 12) + { + // we hit a solid object, but check to see if its a ledge and then jump. + if (collision == COLLISION_LEDGE_JUMP) + { + PlayerJumpLedge(direction); + } + else + { + // we hit a solid object that is not a ledge, so perform the collision. + Bike_SetBikeStill(); + if (collision == 4 && IsPlayerCollidingWithFarawayIslandMew(direction)) + PlayerOnBikeCollideWithFarawayIslandMew(direction); + else if (collision < 5 || collision > 8) + PlayerOnBikeCollide(direction); + } + } + else + { + // we did not hit anything that can slow us down, so perform the advancement callback depending on the bikeFrameCounter and try to increase the mach bike's speed. + sMachBikeSpeedCallbacks[gPlayerAvatar.bikeFrameCounter](direction); + gPlayerAvatar.bikeSpeed = gPlayerAvatar.bikeFrameCounter + (gPlayerAvatar.bikeFrameCounter >> 1); // same as dividing by 2, but compiler is insistent on >> 1 + if (gPlayerAvatar.bikeFrameCounter < 2) // do not go faster than the last element in the mach bike array + gPlayerAvatar.bikeFrameCounter++; + } + } +} + +static void MachBikeTransition_TrySlowDown(u8 direction) +{ + u8 collision; + + if (gPlayerAvatar.bikeSpeed != SPEED_STANDING) + gPlayerAvatar.bikeFrameCounter = --gPlayerAvatar.bikeSpeed; + + collision = get_some_collision(direction); + + if (collision > 0 && collision < 12) + { + if (collision == COLLISION_LEDGE_JUMP) + { + PlayerJumpLedge(direction); + } + else + { + Bike_SetBikeStill(); + if (collision == 4 && IsPlayerCollidingWithFarawayIslandMew(direction)) + PlayerOnBikeCollideWithFarawayIslandMew(direction); + else if (collision < 5 || collision > 8) + PlayerOnBikeCollide(direction); + } + } + else + { + sMachBikeSpeedCallbacks[gPlayerAvatar.bikeFrameCounter](direction); + } +} + +// the acro bike requires the input handler to be executed before the transition can. +static void MovePlayerOnAcroBike(u8 newDirection, u16 newKeys, u16 heldKeys) +{ + sAcroBikeTransitions[CheckMovementInputAcroBike(&newDirection, newKeys, heldKeys)](newDirection); +} + +static u8 CheckMovementInputAcroBike(u8 *newDirection, u16 newKeys, u16 heldKeys) +{ + return sAcroBikeInputHandlers[gPlayerAvatar.acroBikeState](newDirection, newKeys, heldKeys); +} + +static u8 AcroBikeHandleInputNormal(u8 *newDirection, u16 newKeys, u16 heldKeys) +{ + u8 direction = player_get_direction_upper_nybble(); + + gPlayerAvatar.bikeFrameCounter = 0; + if (*newDirection == DIR_NONE) + { + if (newKeys & B_BUTTON) + { + //We're standing still with the B button held. + //Do a wheelie. + *newDirection = direction; + gPlayerAvatar.runningState = NOT_MOVING; + gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; + return ACRO_TRANS_NORMAL_TO_WHEELIE; + } + else + { + *newDirection = direction; + gPlayerAvatar.runningState = NOT_MOVING; + return ACRO_TRANS_FACE_DIRECTION; + } + } + if (*newDirection == direction && (heldKeys & B_BUTTON) && gPlayerAvatar.bikeSpeed == SPEED_STANDING) + { + gPlayerAvatar.bikeSpeed++; + gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_MOVING; + return ACRO_TRANS_WHEELIE_RISING_MOVING; + } + if (*newDirection != direction && gPlayerAvatar.runningState != MOVING) + { + gPlayerAvatar.acroBikeState = ACRO_STATE_TURNING; + gPlayerAvatar.newDirBackup = *newDirection; + gPlayerAvatar.runningState = NOT_MOVING; + return CheckMovementInputAcroBike(newDirection, newKeys, heldKeys); + } + gPlayerAvatar.runningState = MOVING; + return ACRO_TRANS_MOVING; +} + +static u8 AcroBikeHandleInputTurning(u8 *newDirection, u16 newKeys, u16 heldKeys) +{ + u8 direction; + + *newDirection = gPlayerAvatar.newDirBackup; + gPlayerAvatar.bikeFrameCounter++; + + // Wait 6 frames before actually changing direction + if (gPlayerAvatar.bikeFrameCounter > 6) // ... because it takes 6 frames to advance 1 tile. + { + gPlayerAvatar.runningState = TURN_DIRECTION; + gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; + Bike_SetBikeStill(); + return ACRO_TRANS_TURN_DIRECTION; + } + direction = player_get_direction_upper_nybble(); + if (*newDirection == AcroBike_GetJumpDirection()) + { + Bike_SetBikeStill(); // Bike_SetBikeStill sets speed to standing, but the next line immediately overrides it. could have just reset acroBikeState to 0 here instead of wasting a jump. + gPlayerAvatar.bikeSpeed = SPEED_NORMAL; + if (*newDirection == GetOppositeDirection(direction)) + { + // do a turn jump. + // no need to update runningState, didnt move. + gPlayerAvatar.acroBikeState = ACRO_STATE_TURN_JUMP; + return ACRO_TRANS_TURN_JUMP; + } + else + { + // do a sideways jump. + gPlayerAvatar.runningState = MOVING; // we need to move, set state to moving. + gPlayerAvatar.acroBikeState = ACRO_STATE_SIDE_JUMP; + return ACRO_TRANS_SIDE_JUMP; + } + } + *newDirection = direction; + return ACRO_TRANS_FACE_DIRECTION; +} + +static u8 AcroBikeHandleInputWheelieStanding(u8 *newDirection, u16 newKeys, u16 heldKeys) +{ + u8 direction; + struct MapObject *playerMapObj; + + direction = player_get_direction_upper_nybble(); + playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + gPlayerAvatar.runningState = NOT_MOVING; + + if (heldKeys & B_BUTTON) + gPlayerAvatar.bikeFrameCounter++; + else + { + // B button was released. + gPlayerAvatar.bikeFrameCounter = 0; + if (!MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) + { + // Go back to normal on flat ground + *newDirection = direction; + gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; + Bike_SetBikeStill(); + return ACRO_TRANS_WHEELIE_TO_NORMAL; + } + } + if (gPlayerAvatar.bikeFrameCounter >= 40) + { + *newDirection = direction; + gPlayerAvatar.acroBikeState = ACRO_STATE_BUNNY_HOP; + Bike_SetBikeStill(); + return ACRO_TRANS_WHEELIE_HOPPING_STANDING; + } + if (*newDirection == direction) + { + gPlayerAvatar.runningState = MOVING; + gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_MOVING; + Bike_SetBikeStill(); + return ACRO_TRANS_WHEELIE_MOVING; + } + if (*newDirection == 0) + { + *newDirection = direction; + return ACRO_TRANS_WHEELIE_IDLE; + } + gPlayerAvatar.runningState = TURN_DIRECTION; + return ACRO_TRANS_WHEELIE_IDLE; +} + +static u8 AcroBikeHandleInputBunnyHop(u8 *newDirection, u16 newKeys, u16 heldKeys) +{ + u8 direction; + struct MapObject *playerMapObj; + + direction = player_get_direction_upper_nybble(); + playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + if (!(heldKeys & B_BUTTON)) + { + // B button was released + Bike_SetBikeStill(); + if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) + { + // even though B was released, dont undo the wheelie on the bumpy slope. + gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; + return CheckMovementInputAcroBike(newDirection, newKeys, heldKeys); + } + else + { + // .. otherwise, go back to normal on flat ground + *newDirection = direction; + gPlayerAvatar.runningState = NOT_MOVING; + gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; + return ACRO_TRANS_WHEELIE_TO_NORMAL; + } + } + + // B Button is still held + + if (*newDirection == DIR_NONE) + { + // we did not move, so keep hopping in place without moving. + *newDirection = direction; + gPlayerAvatar.runningState = NOT_MOVING; + return ACRO_TRANS_WHEELIE_HOPPING_STANDING; + } + if (*newDirection != direction && gPlayerAvatar.runningState != MOVING) + { + // we changed direction, so turn but do not move hop. + gPlayerAvatar.runningState = TURN_DIRECTION; + return ACRO_TRANS_WHEELIE_HOPPING_STANDING; + } + // otherwise, we started moving while hopping + gPlayerAvatar.runningState = MOVING; + return ACRO_TRANS_WHEELIE_HOPPING_MOVING; +} + +static u8 AcroBikeHandleInputWheelieMoving(u8 *newDirection, u16 newKeys, u16 heldKeys) +{ + u8 direction; + struct MapObject *playerMapObj; + + direction = player_get_direction_lower_nybble(); + playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + if (!(heldKeys & B_BUTTON)) + { + // we were moving on a wheelie, but we let go while moving. reset bike still status + Bike_SetBikeStill(); + if (!MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) + { + // we let go of B and arent on a bumpy slope, set state to normal because now we need to handle this + gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; + if (*newDirection == DIR_NONE) + { + // we stopped moving but are turning, still try to lower the wheelie in place. + *newDirection = direction; + gPlayerAvatar.runningState = NOT_MOVING; + return ACRO_TRANS_WHEELIE_TO_NORMAL; + } + if (*newDirection != direction && gPlayerAvatar.runningState != MOVING) + { + // we did not turn while lowering wheelie, so do so without turning. + gPlayerAvatar.runningState = NOT_MOVING; + return ACRO_TRANS_WHEELIE_TO_NORMAL; + } + // if we are moving while lowering wheelie, put the acro into a lowering state while moving. + gPlayerAvatar.runningState = MOVING; + return ACRO_TRANS_WHEELIE_LOWERING_MOVING; + } + // please do not undo the wheelie on a bumpy slope + gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; + return CheckMovementInputAcroBike(newDirection, newKeys, heldKeys); + } + // we are still holding B. + if (*newDirection == DIR_NONE) + { + // idle the wheelie in place because we're holding B without moving. + *newDirection = direction; + gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; + gPlayerAvatar.runningState = NOT_MOVING; + Bike_SetBikeStill(); + return ACRO_TRANS_WHEELIE_IDLE; + } + if (direction != *newDirection && gPlayerAvatar.runningState != MOVING) + { + gPlayerAvatar.runningState = NOT_MOVING; + return ACRO_TRANS_WHEELIE_IDLE; + } + gPlayerAvatar.runningState = MOVING; + return ACRO_TRANS_WHEELIE_MOVING; +} + +static u8 AcroBikeHandleInputSidewaysJump(u8 *ptr, u16 newKeys, u16 heldKeys) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + playerMapObj->mapobj_bit_9 = 0; + FieldObjectSetDirection(playerMapObj, playerMapObj->mapobj_unk_18); + gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; + return CheckMovementInputAcroBike(ptr, newKeys, heldKeys); +} + +static u8 AcroBikeHandleInputTurnJump(u8 *ptr, u16 newKeys, u16 heldKeys) +{ + gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; + return CheckMovementInputAcroBike(ptr, newKeys, heldKeys); +} + +static void AcroBikeTransition_FaceDirection(u8 direction) +{ + PlayerFaceDirection(direction); +} + +static void AcroBikeTransition_TurnDirection(u8 direction) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + direction = playerMapObj->placeholder18; + PlayerFaceDirection(direction); +} + +static void AcroBikeTransition_Moving(u8 direction) +{ + u8 collision; + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + { + AcroBikeTransition_FaceDirection(playerMapObj->placeholder18); + return; + } + collision = get_some_collision(direction); + if (collision > 0 && collision < 12) + { + if (collision == COLLISION_LEDGE_JUMP) + PlayerJumpLedge(direction); + else if (collision == 4 && IsPlayerCollidingWithFarawayIslandMew(direction)) + PlayerOnBikeCollideWithFarawayIslandMew(direction); + else if (collision < 5 || collision > 8) + PlayerOnBikeCollide(direction); + } + else + { + PlayerGoSpeed3(direction); + } +} + +static void AcroBikeTransition_NormalToWheelie(u8 direction) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + direction = playerMapObj->placeholder18; + PlayerStartWheelie(direction); +} + +static void AcroBikeTransition_WheelieToNormal(u8 direction) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + direction = playerMapObj->placeholder18; + PlayerEndWheelie(direction); +} + +static void AcroBikeTransition_WheelieIdle(u8 direction) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + direction = playerMapObj->placeholder18; + PlayerIdleWheelie(direction); +} + +static void AcroBikeTransition_WheelieHoppingStanding(u8 direction) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + direction = playerMapObj->placeholder18; + PlayerStandingHoppingWheelie(direction); +} + +static void AcroBikeTransition_WheelieHoppingMoving(u8 direction) +{ + u8 collision; + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + { + AcroBikeTransition_WheelieHoppingStanding(playerMapObj->placeholder18); + return; + } + collision = get_some_collision(direction); + // TODO: Try to get rid of this goto + if (collision == 0 || collision == 9) + { + goto derp; + } + else if (collision == 6) + { + PlayerLedgeHoppingWheelie(direction); + } + else if (collision < 5 || collision > 8) + { + if (collision <= 11) + { + AcroBikeTransition_WheelieHoppingStanding(direction); + } + else + { + derp: + PlayerMovingHoppingWheelie(direction); + } + } +} + +static void AcroBikeTransition_SideJump(u8 direction) +{ + u8 collision; + struct MapObject *playerMapObj; + + collision = get_some_collision(direction); + if (collision != 0) + { + if (collision == 7) + return; + if (collision < 10) + { + AcroBikeTransition_TurnDirection(direction); + return; + } + if (WillPlayerCollideWithCollision(collision, direction) == FALSE) + { + AcroBikeTransition_TurnDirection(direction); + return; + } + } + playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + PlaySE(SE_JITE_PYOKO); + playerMapObj->mapobj_bit_9 = 1; + PlayerSetAnimId(sub_8093514(direction), 2); +} + +static void AcroBikeTransition_TurnJump(u8 direction) +{ + PlayerAcroTurnJump(direction); +} + +static void AcroBikeTransition_WheelieMoving(u8 direction) +{ + u8 collision; + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + { + PlayerIdleWheelie(playerMapObj->placeholder18); + return; + } + collision = get_some_collision(direction); + if (collision > 0 && collision < 12) + { + if (collision == 6) + { + PlayerLedgeHoppingWheelie(direction); + } + else if (collision == 9) + { + PlayerIdleWheelie(direction); + } + else if (collision <= 4) + { + if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) + PlayerIdleWheelie(direction); + else + sub_808B980(direction); //hit wall? + } + return; + } + sub_808B9BC(direction); + gPlayerAvatar.runningState = MOVING; +} + +static void AcroBikeTransition_WheelieRisingMoving(u8 direction) +{ + u8 collision; + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + { + PlayerStartWheelie(playerMapObj->placeholder18); + return; + } + collision = get_some_collision(direction); + if (collision > 0 && collision < 12) + { + if (collision == 6) + { + PlayerLedgeHoppingWheelie(direction); + } + else if (collision == 9) + { + PlayerIdleWheelie(direction); + } + else if (collision <= 4) + { + if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) + PlayerIdleWheelie(direction); + else + sub_808B980(direction); //hit wall? + } + return; + } + sub_808B9A4(direction); + gPlayerAvatar.runningState = MOVING; +} + +static void AcroBikeTransition_WheelieLoweringMoving(u8 direction) +{ + u8 collision; + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + { + PlayerEndWheelie(playerMapObj->placeholder18); + return; + } + collision = get_some_collision(direction); + if (collision > 0 && collision < 12) + { + if (collision == 6) + PlayerJumpLedge(direction); + else if (collision < 5 || collision > 8) + PlayerEndWheelie(direction); + return; + } + npc_use_some_d2s(direction); +} + +void Bike_TryAcroBikeHistoryUpdate(u16 newKeys, u16 heldKeys) +{ + if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE) + AcroBike_TryHistoryUpdate(newKeys, heldKeys); +} + +static void AcroBike_TryHistoryUpdate(u16 newKeys, u16 heldKeys) // newKeys is unused +{ + u8 direction = Bike_DPadToDirection(heldKeys); + + if (direction == (gPlayerAvatar.directionHistory & 0xF)) + { + // increment the timer for direction history since last input. + if (gPlayerAvatar.dirTimerHistory[0] < 0xFF) + gPlayerAvatar.dirTimerHistory[0]++; + } + else + { + Bike_UpdateDirTimerHistory(direction); + gPlayerAvatar.bikeSpeed = SPEED_STANDING; + } + + direction = heldKeys & (A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON); // directions is reused for some reason. + if (direction == (gPlayerAvatar.abStartSelectHistory & 0xF)) + { + if (gPlayerAvatar.abStartSelectTimerHistory[0] < 0xFF) + gPlayerAvatar.abStartSelectTimerHistory[0]++; + } + else + { + Bike_UpdateABStartSelectHistory(direction); + gPlayerAvatar.bikeSpeed = SPEED_STANDING; + } +} + +static bool8 HasPlayerInputTakenLongerThanList(const u8 *dirTimerList, const u8 *abStartSelectTimerList) +{ + u8 i; + + for (i = 0; dirTimerList[i] != 0; i++) + { + if (gPlayerAvatar.dirTimerHistory[i] > dirTimerList[i]) + return FALSE; + } + for (i = 0; abStartSelectTimerList[i] != 0; i++) + { + if (gPlayerAvatar.abStartSelectTimerHistory[i] > abStartSelectTimerList[i]) + return FALSE; + } + return TRUE; +} + +static u8 AcroBike_GetJumpDirection(void) +{ + u32 i; + + for (i = 0; i < ARRAY_COUNT(sAcroBikeTricksList); i++) + { + const struct BikeHistoryInputInfo *historyInputInfo = &sAcroBikeTricksList[i]; + u32 dirHistory = gPlayerAvatar.directionHistory; + u32 abStartSelectHistory = gPlayerAvatar.abStartSelectHistory; + + dirHistory &= historyInputInfo->dirHistoryMask; + abStartSelectHistory &= historyInputInfo->abStartSelectHistoryMask; + if (dirHistory == historyInputInfo->dirHistoryMatch && abStartSelectHistory == historyInputInfo->abStartSelectHistoryMatch && HasPlayerInputTakenLongerThanList(historyInputInfo->dirTimerHistoryList, historyInputInfo->abStartSelectHistoryList)) + return historyInputInfo->direction; + } + return 0; +} + +static void Bike_UpdateDirTimerHistory(u8 dir) +{ + u8 i; + + gPlayerAvatar.directionHistory = (gPlayerAvatar.directionHistory << 4) | (dir & 0xF); + + for (i = 7; i != 0; i--) + gPlayerAvatar.dirTimerHistory[i] = gPlayerAvatar.dirTimerHistory[i - 1]; + gPlayerAvatar.dirTimerHistory[0] = 1; +} + +static void Bike_UpdateABStartSelectHistory(u8 input) +{ + u8 i; + + gPlayerAvatar.abStartSelectHistory = (gPlayerAvatar.abStartSelectHistory << 4) | (input & 0xF); + + for (i = 7; i != 0; i--) + gPlayerAvatar.abStartSelectTimerHistory[i] = gPlayerAvatar.abStartSelectTimerHistory[i - 1]; + gPlayerAvatar.abStartSelectTimerHistory[0] = 1; +} + +static u8 Bike_DPadToDirection(u16 heldKeys) +{ + if (heldKeys & DPAD_UP) + return DIR_NORTH; + if (heldKeys & DPAD_DOWN) + return DIR_SOUTH; + if (heldKeys & DPAD_LEFT) + return DIR_WEST; + if (heldKeys & DPAD_RIGHT) + return DIR_EAST; + return DIR_NONE; +} + +static u8 get_some_collision(u8 direction) +{ + s16 x; + s16 y; + u8 metatitleBehavior; + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + x = playerMapObj->coords2.x; + y = playerMapObj->coords2.y; + MoveCoords(direction, &x, &y); + metatitleBehavior = MapGridGetMetatileBehaviorAt(x, y); + return Bike_CheckCollisionTryAdvanceCollisionCount(playerMapObj, x, y, direction, metatitleBehavior); +} + +static u8 Bike_CheckCollisionTryAdvanceCollisionCount(struct MapObject *mapObject, s16 x, s16 y, u8 direction, u8 metatitleBehavior) +{ + u8 collision = CheckForFieldObjectCollision(mapObject, x, y, direction, metatitleBehavior); + + if (collision > 4) + return collision; + + if (collision == 0 && IsRunningDisallowedByMetatile(metatitleBehavior)) + collision = 2; + + if (collision) + Bike_TryAdvanceCyclingRoadCollisions(); + + return collision; +} + +bool8 RS_IsRunningDisallowed(u8 tile) +{ + if (IsRunningDisallowedByMetatile(tile) != FALSE || gMapHeader.mapType == MAP_TYPE_INDOOR) + return TRUE; + else + return FALSE; +} + +static bool8 IsRunningDisallowedByMetatile(u8 tile) +{ + if (MetatileBehavior_IsRunningDisallowed(tile)) + return TRUE; + if (MetatileBehavior_IsFortreeBridge(tile) && (PlayerGetZCoord() & 1) == 0) + return TRUE; + return FALSE; +} + +static void Bike_TryAdvanceCyclingRoadCollisions(void) +{ + if (gBikeCyclingChallenge != FALSE && gBikeCollisions < 100) + gBikeCollisions++; +} + +static bool8 CanBikeFaceDirOnMetatile(u8 direction, u8 tile) +{ + if (direction == DIR_EAST || direction == DIR_WEST) + { + // Bike cannot face east or west on a vertical rail + if (MetatileBehavior_IsIsolatedVerticalRail(tile) + || MetatileBehavior_IsVerticalRail(tile)) + return FALSE; + } + else + { + // Bike cannot face north or south on a horizontal rail + if (MetatileBehavior_IsIsolatedHorizontalRail(tile) + || MetatileBehavior_IsHorizontalRail(tile)) + return FALSE; + } + return TRUE; +} + +static bool8 WillPlayerCollideWithCollision(u8 newTileCollision, u8 direction) +{ + if (direction == DIR_NORTH || direction == DIR_SOUTH) + { + if (newTileCollision == 10 || newTileCollision == 12) + return FALSE; + } + else if (newTileCollision == 11 || newTileCollision == 13) + { + return FALSE; + } + + return TRUE; +} + +bool8 IsBikingDisallowedByPlayer(void) +{ + s16 x, y; + u8 tileBehavior; + + if (!(gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_4))) + { + PlayerGetDestCoords(&x, &y); + tileBehavior = MapGridGetMetatileBehaviorAt(x, y); + if (!IsRunningDisallowedByMetatile(tileBehavior)) + return FALSE; + } + return TRUE; +} + +bool8 player_should_look_direction_be_enforced_upon_movement(void) +{ + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE) != FALSE && MetatileBehavior_IsBumpySlope(gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1E) != FALSE) + return FALSE; + else + return TRUE; +} + +void GetOnOffBike(u8 transitionFlags) +{ + gUnknown_02037348 = FALSE; + + if (gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE)) + { + SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); + Overworld_ClearSavedMusic(); + Overworld_PlaySpecialMapMusic(); + } + else + { + SetPlayerAvatarTransitionFlags(transitionFlags); + Overworld_SetSavedMusic(MUS_CYCLING); + Overworld_ChangeMusicTo(MUS_CYCLING); + } +} + +void BikeClearState(int newDirHistory, int newAbStartHistory) +{ + u8 i; + + gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; + gPlayerAvatar.newDirBackup = DIR_NONE; + gPlayerAvatar.bikeFrameCounter = 0; + gPlayerAvatar.bikeSpeed = SPEED_STANDING; + gPlayerAvatar.directionHistory = newDirHistory; + gPlayerAvatar.abStartSelectHistory = newAbStartHistory; + + for (i = 0; i < 8; i++) + gPlayerAvatar.dirTimerHistory[i] = 0; + + for (i = 0; i < 8; i++) + gPlayerAvatar.abStartSelectTimerHistory[i] = 0; +} + +void Bike_UpdateBikeCounterSpeed(u8 counter) +{ + gPlayerAvatar.bikeFrameCounter = counter; + gPlayerAvatar.bikeSpeed = gPlayerAvatar.bikeFrameCounter + (gPlayerAvatar.bikeFrameCounter >> 1); // lazy way of multiplying by 1.5. +} + +static void Bike_SetBikeStill(void) +{ + gPlayerAvatar.bikeFrameCounter = 0; + gPlayerAvatar.bikeSpeed = SPEED_STANDING; +} + +s16 GetPlayerSpeed(void) +{ + // because the player pressed a direction, it won't ever return a speed of 0 since this function returns the player's current speed. + s16 machSpeeds[3]; + + memcpy(machSpeeds, sMachBikeSpeeds, sizeof(machSpeeds)); + + if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_MACH_BIKE) + return machSpeeds[gPlayerAvatar.bikeFrameCounter]; + else if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE) + return SPEED_FASTER; + else if (gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_DASH)) + return SPEED_FAST; + else + return SPEED_NORMAL; +} + +void Bike_HandleBumpySlopeJump(void) +{ + s16 x, y; + u8 tileBehavior; + + if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE) + { + PlayerGetDestCoords(&x, &y); + tileBehavior = MapGridGetMetatileBehaviorAt(x, y); + if (MetatileBehavior_IsBumpySlope(tileBehavior)) + { + gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; + sub_808C1B4(player_get_direction_upper_nybble()); + } + } +} + +bool32 IsRunningDisallowed(u8 metatile) +{ + if (!(gMapHeader.flags & 4) || IsRunningDisallowedByMetatile(metatile) == TRUE) + return TRUE; + else + return FALSE; +} diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c old mode 100755 new mode 100644 index 9a6f0371cd..d6924de9fa --- a/src/braille_puzzles.c +++ b/src/braille_puzzles.c @@ -1,19 +1,19 @@ #include "global.h" #include "event_data.h" -#include "songs.h" +#include "constants/songs.h" #include "sound.h" #include "script.h" -#include "species.h" +#include "constants/species.h" #include "task.h" #include "field_effect.h" -#include "flags.h" +#include "constants/flags.h" extern void MapGridSetMetatileIdAt(s32 x, s32 y, u16 metatileId); // fieldmap extern void DrawWholeMapView(); // field_camera extern void SetCameraPanningCallback(void ( *callback)()); // field_camera extern void InstallCameraPanAheadCallback(void); extern void SetCameraPanning(s16 x, s16 y); -extern u8 brm_get_pokemon_selection(void); +extern u8 GetCursorSelectionMonId(void); extern void FieldEffectActiveListRemove(u8 id); // field_effect extern u8 oei_task_add(void); @@ -33,7 +33,7 @@ void sub_8179944(void); bool8 ShouldDoBrailleDigEffect(void) { - if (!FlagGet(SYS_BRAILLE_DIG) + if (!FlagGet(FLAG_SYS_BRAILLE_DIG) && (gSaveBlock1Ptr->location.mapGroup == 0x18 && gSaveBlock1Ptr->location.mapNum == 0x47)) { @@ -58,7 +58,7 @@ void DoBrailleDigEffect(void) MapGridSetMetatileIdAt(18, 9, 3636); DrawWholeMapView(); PlaySE(SE_BAN); - FlagSet(SYS_BRAILLE_DIG); + FlagSet(FLAG_SYS_BRAILLE_DIG); ScriptContext2_Disable(); } @@ -81,7 +81,7 @@ bool8 CheckRelicanthWailord(void) void ShouldDoBrailleStrengthEffectOld(void) { /* - if (!FlagGet(SYS_BRAILLE_STRENGTH) && (gSaveBlock1.location.mapGroup == MAP_GROUP_DESERT_RUINS && gSaveBlock1.location.mapNum == MAP_ID_DESERT_RUINS)) + if (!FlagGet(FLAG_SYS_BRAILLE_STRENGTH) && (gSaveBlock1.location.mapGroup == MAP_GROUP_DESERT_RUINS && gSaveBlock1.location.mapNum == MAP_ID_DESERT_RUINS)) { if (gSaveBlock1.pos.x == 10 && gSaveBlock1.pos.y == 23) return TRUE; @@ -105,13 +105,13 @@ void DoBrailleStrengthEffect(void) MapGridSetMetatileIdAt(16, 27, 3636); DrawWholeMapView(); PlaySE(SE_BAN); - FlagSet(SYS_BRAILLE_STRENGTH); + FlagSet(FLAG_SYS_BRAILLE_STRENGTH); ScriptContext2_Disable(); } bool8 ShouldDoBrailleFlyEffect(void) { - if (!FlagGet(SYS_BRAILLE_FLY) && (gSaveBlock1.location.mapGroup == MAP_GROUP_ANCIENT_TOMB && gSaveBlock1.location.mapNum == MAP_ID_ANCIENT_TOMB)) + if (!FlagGet(FLAG_SYS_BRAILLE_FLY) && (gSaveBlock1.location.mapGroup == MAP_GROUP_ANCIENT_TOMB && gSaveBlock1.location.mapNum == MAP_ID_ANCIENT_TOMB)) { if (gSaveBlock1.pos.x == 8 && gSaveBlock1.pos.y == 25) return TRUE; @@ -151,7 +151,7 @@ void UseFlyAncientTomb_Finish(void) MapGridSetMetatileIdAt(16, 27, 3636); DrawWholeMapView(); PlaySE(SE_BAN); - FlagSet(SYS_BRAILLE_FLY); + FlagSet(FLAG_SYS_BRAILLE_FLY); ScriptContext2_Disable(); } */ @@ -205,7 +205,7 @@ void SealedChamberShakingEffect(u8 taskId) // moved later in the function because it was rewritten. bool8 ShouldDoBrailleStrengthEffect(void) { - if (!FlagGet(SYS_BRAILLE_STRENGTH) && (gSaveBlock1Ptr->location.mapGroup == 0x18 && gSaveBlock1Ptr->location.mapNum == 0x06)) + if (!FlagGet(FLAG_SYS_BRAILLE_STRENGTH) && (gSaveBlock1Ptr->location.mapGroup == 0x18 && gSaveBlock1Ptr->location.mapNum == 0x06)) { if (gSaveBlock1Ptr->pos.x == 6 && gSaveBlock1Ptr->pos.y == 23) { gBraillePuzzleCallbackFlag = STRENGTH_PUZZLE; return TRUE; } @@ -220,7 +220,7 @@ bool8 ShouldDoBrailleStrengthEffect(void) void sub_8179834(void) { - gFieldEffectArguments[0] = brm_get_pokemon_selection(); + gFieldEffectArguments[0] = GetCursorSelectionMonId(); FieldEffectStart(FLDEFF_USE_FLY_ANCIENT_TOMB); } @@ -240,13 +240,13 @@ void sub_8179860(void) MapGridSetMetatileIdAt(16, 27, 3636); DrawWholeMapView(); PlaySE(SE_BAN); - FlagSet(SYS_BRAILLE_STRENGTH); + FlagSet(FLAG_SYS_BRAILLE_STRENGTH); ScriptContext2_Disable(); } bool8 ShouldDoBrailleFlyEffect(void) { - if (!FlagGet(SYS_BRAILLE_FLY) && (gSaveBlock1Ptr->location.mapGroup == 0x18 && gSaveBlock1Ptr->location.mapNum == 0x44)) + if (!FlagGet(FLAG_SYS_BRAILLE_FLY) && (gSaveBlock1Ptr->location.mapGroup == 0x18 && gSaveBlock1Ptr->location.mapNum == 0x44)) { if (gSaveBlock1Ptr->pos.x == 8 && gSaveBlock1Ptr->pos.y == 25) { gBraillePuzzleCallbackFlag = FLY_PUZZLE; return TRUE; } @@ -256,7 +256,7 @@ bool8 ShouldDoBrailleFlyEffect(void) void sub_8179918(void) { - gFieldEffectArguments[0] = brm_get_pokemon_selection(); + gFieldEffectArguments[0] = GetCursorSelectionMonId(); FieldEffectStart(FLDEFF_USE_FLY_ANCIENT_TOMB); } @@ -276,7 +276,7 @@ void sub_8179944(void) MapGridSetMetatileIdAt(16, 27, 3636); DrawWholeMapView(); PlaySE(SE_BAN); - FlagSet(SYS_BRAILLE_FLY); + FlagSet(FLAG_SYS_BRAILLE_FLY); ScriptContext2_Disable(); } @@ -284,7 +284,7 @@ void sub_8179944(void) void DoBrailleWait(void) { /* - if (!FlagGet(SYS_BRAILLE_WAIT)) + if (!FlagGet(FLAG_SYS_BRAILLE_WAIT)) CreateTask(Task_BrailleWait, 0x50); } @@ -387,7 +387,7 @@ bool8 ShouldDoBrailleRegicePuzzle(void) if (gSaveBlock1Ptr->location.mapGroup == 0x18 && gSaveBlock1Ptr->location.mapNum == 0x43) { // _08179A1A - if (FlagGet(SYS_BRAILLE_WAIT) != FALSE) + if (FlagGet(FLAG_SYS_BRAILLE_WAIT) != FALSE) return FALSE; if (FlagGet(2) == FALSE) return FALSE; diff --git a/src/calculate_base_damage.c b/src/calculate_base_damage.c index 8996059f98..98468caa23 100644 --- a/src/calculate_base_damage.c +++ b/src/calculate_base_damage.c @@ -1,23 +1,15 @@ #include "global.h" -#include "abilities.h" +#include "constants/abilities.h" #include "battle.h" -#include "hold_effects.h" +#include "battle_setup.h" +#include "constants/hold_effects.h" #include "event_data.h" #include "item.h" -#include "items.h" +#include "constants/items.h" #include "pokemon.h" -#include "species.h" -#include "moves.h" -#include "battle_move_effects.h" - -extern u32 gBattleTypeFlags; -extern struct BattlePokemon gBattleMons[4]; -extern u16 gCurrentMove; -extern u8 gCritMultiplier; -extern u16 gBattleWeather; -extern struct BattleEnigmaBerry gEnigmaBerries[]; -extern u16 gBattleMovePower; -extern u16 gTrainerBattleOpponent_A; +#include "constants/species.h" +#include "constants/moves.h" +#include "constants/battle_move_effects.h" bool8 ShouldGetStatBadgeBoost(u16 flagId, u8 bank); @@ -84,13 +76,13 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if (attacker->ability == ABILITY_HUGE_POWER || attacker->ability == ABILITY_PURE_POWER) attack *= 2; - if (ShouldGetStatBadgeBoost(BADGE01_GET, bankAtk)) + if (ShouldGetStatBadgeBoost(FLAG_BADGE01_GET, bankAtk)) attack = (110 * attack) / 100; - if (ShouldGetStatBadgeBoost(BADGE05_GET, bankDef)) + if (ShouldGetStatBadgeBoost(FLAG_BADGE05_GET, bankDef)) defense = (110 * defense) / 100; - if (ShouldGetStatBadgeBoost(BADGE07_GET, bankAtk)) + if (ShouldGetStatBadgeBoost(FLAG_BADGE07_GET, bankAtk)) spAttack = (110 * spAttack) / 100; - if (ShouldGetStatBadgeBoost(BADGE07_GET, bankDef)) + if (ShouldGetStatBadgeBoost(FLAG_BADGE07_GET, bankDef)) spDefense = (110 * spDefense) / 100; for (i = 0; i < 17; i++) @@ -149,35 +141,35 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if (gBattleMoves[gCurrentMove].effect == EFFECT_EXPLOSION) defense /= 2; - if (type < TYPE_MYSTERY) // is physical + if (IS_MOVE_PHYSICAL(type)) { if (gCritMultiplier == 2) { - if (attacker->statStages[STAT_STAGE_ATK] > 6) - APPLY_STAT_MOD(damage, attacker, attack, STAT_STAGE_ATK) + if (attacker->statStages[STAT_ATK] > 6) + APPLY_STAT_MOD(damage, attacker, attack, STAT_ATK) else damage = attack; } else - APPLY_STAT_MOD(damage, attacker, attack, STAT_STAGE_ATK) + APPLY_STAT_MOD(damage, attacker, attack, STAT_ATK) damage = damage * gBattleMovePower; damage *= (2 * attacker->level / 5 + 2); if (gCritMultiplier == 2) { - if (defender->statStages[STAT_STAGE_DEF] < 6) - APPLY_STAT_MOD(damageHelper, defender, defense, STAT_STAGE_DEF) + if (defender->statStages[STAT_DEF] < 6) + APPLY_STAT_MOD(damageHelper, defender, defense, STAT_DEF) else damageHelper = defense; } else - APPLY_STAT_MOD(damageHelper, defender, defense, STAT_STAGE_DEF) + APPLY_STAT_MOD(damageHelper, defender, defense, STAT_DEF) damage = damage / damageHelper; damage /= 50; - if ((attacker->status1 & STATUS_BURN) && attacker->ability != ABILITY_GUTS) + if ((attacker->status1 & STATUS1_BURN) && attacker->ability != ABILITY_GUTS) damage /= 2; if ((sideStatus & SIDE_STATUS_REFLECT) && gCritMultiplier == 1) @@ -199,30 +191,30 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if (type == TYPE_MYSTERY) damage = 0; // is ??? type. does 0 damage. - if (type > TYPE_MYSTERY) // is special? + if (IS_MOVE_SPECIAL(type)) { if (gCritMultiplier == 2) { - if (attacker->statStages[STAT_STAGE_SPATK] > 6) - APPLY_STAT_MOD(damage, attacker, spAttack, STAT_STAGE_SPATK) + if (attacker->statStages[STAT_SPATK] > 6) + APPLY_STAT_MOD(damage, attacker, spAttack, STAT_SPATK) else damage = spAttack; } else - APPLY_STAT_MOD(damage, attacker, spAttack, STAT_STAGE_SPATK) + APPLY_STAT_MOD(damage, attacker, spAttack, STAT_SPATK) damage = damage * gBattleMovePower; damage *= (2 * attacker->level / 5 + 2); if (gCritMultiplier == 2) { - if (defender->statStages[STAT_STAGE_SPDEF] < 6) - APPLY_STAT_MOD(damageHelper, defender, spDefense, STAT_STAGE_SPDEF) + if (defender->statStages[STAT_SPDEF] < 6) + APPLY_STAT_MOD(damageHelper, defender, spDefense, STAT_SPDEF) else damageHelper = spDefense; } else - APPLY_STAT_MOD(damageHelper, defender, spDefense, STAT_STAGE_SPDEF) + APPLY_STAT_MOD(damageHelper, defender, spDefense, STAT_SPDEF) damage = (damage / damageHelper); damage /= 50; diff --git a/src/clear_save_data_screen.c b/src/clear_save_data_screen.c old mode 100755 new mode 100644 index 3192e0e116..6d6a1545b6 --- a/src/clear_save_data_screen.c +++ b/src/clear_save_data_screen.c @@ -1,7 +1,7 @@ #include "global.h" #include "task.h" -#include "menu.h" #include "text.h" +#include "menu.h" #include "sound.h" #include "main.h" #include "save.h" @@ -9,7 +9,7 @@ #include "gpu_regs.h" #include "bg.h" #include "text_window.h" -#include "songs.h" +#include "constants/songs.h" extern u8 gText_ClearAllSaveData[]; extern u8 gText_ClearingData[]; @@ -88,7 +88,7 @@ static void Task_DoClearSaveDataScreenYesNo(u8 taskId) static void Task_ClearSaveDataScreenYesNoChoice(u8 taskId) { - switch(sub_8198C58()) + switch(ProcessMenuInputNoWrap_()) { case 0: FillWindowPixelBuffer(0, 17); diff --git a/src/clock.c b/src/clock.c new file mode 100644 index 0000000000..7cea301661 --- /dev/null +++ b/src/clock.c @@ -0,0 +1,93 @@ +#include "global.h" +#include "rom6.h" +#include "event_data.h" +#include "rtc.h" +#include "lottery_corner.h" +#include "dewford_trend.h" +#include "tv.h" +#include "field_screen.h" +#include "berry.h" +#include "main.h" +#include "overworld.h" +#include "wallclock.h" + +// static types + +// static declarations + +static void UpdatePerDay(struct Time *localTime); +static void UpdatePerMinute(struct Time *localTime); + +// rodata + +// text + +static void InitTimeBasedEvents(void) +{ + FlagSet(FLAG_SYS_CLOCK_SET); + RtcCalcLocalTime(); + gSaveBlock2Ptr->lastBerryTreeUpdate = gLocalTime; + VarSet(VAR_DAYS, gLocalTime.days); +} + +void DoTimeBasedEvents(void) +{ + if (FlagGet(FLAG_SYS_CLOCK_SET) && !sub_813B9C0()) + { + RtcCalcLocalTime(); + UpdatePerDay(&gLocalTime); + UpdatePerMinute(&gLocalTime); + } +} + +static void UpdatePerDay(struct Time *localTime) +{ + u16 *days = GetVarPointer(VAR_DAYS); + u16 daysSince; + + if (*days != localTime->days && *days <= localTime->days) + { + daysSince = localTime->days - *days; + ClearUpperFlags(); + UpdateDewfordTrendPerDay(daysSince); + UpdateTVShowsPerDay(daysSince); + UpdateWeatherPerDay(daysSince); + UpdatePartyPokerusTime(daysSince); + UpdateMirageRnd(daysSince); + UpdateBirchState(daysSince); + UpdateFrontierManiac(daysSince); + UpdateFrontierGambler(daysSince); + SetShoalItemFlag(daysSince); + SetRandomLotteryNumber(daysSince); + *days = localTime->days; + } +} + +static void UpdatePerMinute(struct Time *localTime) +{ + struct Time difference; + int minutes; + + CalcTimeDifference(&difference, &gSaveBlock2Ptr->lastBerryTreeUpdate, localTime); + minutes = 24 * 60 * difference.days + 60 * difference.hours + difference.minutes; + if (minutes != 0) + { + if (minutes >= 0) + { + BerryTreeTimeUpdate(minutes); + gSaveBlock2Ptr->lastBerryTreeUpdate = *localTime; + } + } +} + +static void ReturnFromStartWallClock(void) +{ + InitTimeBasedEvents(); + SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); +} + +void StartWallClock(void) +{ + SetMainCallback2(Cb2_StartWallClock); + gMain.savedCallback = ReturnFromStartWallClock; +} diff --git a/src/coins.c b/src/coins.c index e1694b29ca..12e0bd4ef1 100644 --- a/src/coins.c +++ b/src/coins.c @@ -2,7 +2,7 @@ #include "coins.h" #include "text.h" #include "window.h" -#include "text_window.h" +#include "strings.h" #include "string_util.h" #include "menu.h" #include "international_string_util.h" @@ -11,10 +11,6 @@ EWRAM_DATA u8 sCoinsWindowId = 0; -extern void sub_819746C(u8 windowId, bool8 copyToVram); - -extern const u8 gText_Coins[]; - void PrintCoinsString(u32 coinAmount) { u32 xAlign; @@ -53,7 +49,6 @@ void SetCoins(u16 coinAmount) gSaveBlock1Ptr->coins = coinAmount ^ gSaveBlock2Ptr->encryptionKey; } -/* Can't match it lol bool8 GiveCoins(u16 toAdd) { u16 newAmount; @@ -67,10 +62,22 @@ bool8 GiveCoins(u16 toAdd) } else { - newAmount = ownedCoins + toAdd; - if (newAmount > MAX_COINS) - newAmount = MAX_COINS; + ownedCoins += toAdd; + if (ownedCoins > MAX_COINS) + ownedCoins = MAX_COINS; + newAmount = ownedCoins; } SetCoins(newAmount); return TRUE; -}*/ +} + +bool8 TakeCoins(u16 toSub) +{ + u16 ownedCoins = GetCoins(); + if (ownedCoins >= toSub) + { + SetCoins(ownedCoins - toSub); + return TRUE; + } + return FALSE; +} diff --git a/src/coord_event_weather.c b/src/coord_event_weather.c new file mode 100644 index 0000000000..60b87fa30f --- /dev/null +++ b/src/coord_event_weather.c @@ -0,0 +1,119 @@ +#include "global.h" +#include "constants/weather.h" +#include "coord_event_weather.h" +#include "field_weather.h" + +struct CoordEventWeather +{ + u8 coordEventWeather; + void (*func)(void); +}; + +static void CoordEventWeather_Clouds(void); +static void CoordEventWeather_Sunny(void); +static void CoordEventWeather_LightRain(void); +static void CoordEventWeather_Snow(void); +static void CoordEventWeather_Thunderstorm(void); +static void CoordEventWeather_Fog(void); +static void CoordEventWeather_DiagonalFog(void); +static void CoordEventWeather_Ash(void); +static void CoordEventWeather_Sandstorm(void); +static void CoordEventWeather_Dark(void); +static void CoordEventWeather_Drought(void); +static void CoordEventWeather_Route119Cycle(void); +static void CoordEventWeather_Route123Cycle(void); + +static const struct CoordEventWeather sCoordEventWeatherFuncs[] = +{ + { COORD_EVENT_WEATHER_CLOUDS, CoordEventWeather_Clouds }, + { COORD_EVENT_WEATHER_SUNNY, CoordEventWeather_Sunny }, + { COORD_EVENT_WEATHER_RAIN_LIGHT, CoordEventWeather_LightRain }, + { COORD_EVENT_WEATHER_SNOW, CoordEventWeather_Snow }, + { COORD_EVENT_WEATHER_RAIN_MED, CoordEventWeather_Thunderstorm }, + { COORD_EVENT_WEATHER_FOG_1, CoordEventWeather_Fog }, + { COORD_EVENT_WEATHER_FOG_2, CoordEventWeather_DiagonalFog }, + { COORD_EVENT_WEATHER_ASH, CoordEventWeather_Ash }, + { COORD_EVENT_WEATHER_SANDSTORM, CoordEventWeather_Sandstorm }, + { COORD_EVENT_WEATHER_SHADE, CoordEventWeather_Dark }, + { COORD_EVENT_WEATHER_DROUGHT, CoordEventWeather_Drought }, + { COORD_EVENT_WEATHER_ROUTE119_CYCLE, CoordEventWeather_Route119Cycle }, + { COORD_EVENT_WEATHER_ROUTE123_CYCLE, CoordEventWeather_Route123Cycle }, +}; + +static void CoordEventWeather_Clouds(void) +{ + SetWeather(WEATHER_CLOUDS); +} + +static void CoordEventWeather_Sunny(void) +{ + SetWeather(WEATHER_SUNNY); +} + +static void CoordEventWeather_LightRain(void) +{ + SetWeather(WEATHER_RAIN_LIGHT); +} + +static void CoordEventWeather_Snow(void) +{ + SetWeather(WEATHER_SNOW); +} + +static void CoordEventWeather_Thunderstorm(void) +{ + SetWeather(WEATHER_RAIN_MED); +} + +static void CoordEventWeather_Fog(void) +{ + SetWeather(WEATHER_FOG_1); +} + +static void CoordEventWeather_DiagonalFog(void) +{ + SetWeather(WEATHER_FOG_2); +} + +static void CoordEventWeather_Ash(void) +{ + SetWeather(WEATHER_ASH); +} + +static void CoordEventWeather_Sandstorm(void) +{ + SetWeather(WEATHER_SANDSTORM); +} + +static void CoordEventWeather_Dark(void) +{ + SetWeather(WEATHER_SHADE); +} + +static void CoordEventWeather_Drought(void) +{ + SetWeather(WEATHER_DROUGHT); +} + +static void CoordEventWeather_Route119Cycle(void) +{ + SetWeather(WEATHER_ROUTE119_CYCLE); +} + +static void CoordEventWeather_Route123Cycle(void) +{ + SetWeather(WEATHER_ROUTE123_CYCLE); +} + +void DoCoordEventWeather(u8 coordEventWeather) +{ + u8 i; + for (i = 0; i < ARRAY_COUNT(sCoordEventWeatherFuncs); i++) + { + if (sCoordEventWeatherFuncs[i].coordEventWeather == coordEventWeather) + { + sCoordEventWeatherFuncs[i].func(); + return; + } + } +} diff --git a/src/daycare.c b/src/daycare.c new file mode 100644 index 0000000000..89c0a48d81 --- /dev/null +++ b/src/daycare.c @@ -0,0 +1,1319 @@ +#include "global.h" +#include "pokemon.h" +#include "daycare.h" +#include "string_util.h" +#include "constants/species.h" +#include "constants/items.h" +#include "mail.h" +#include "pokemon_storage_system.h" +#include "event_data.h" +#include "random.h" +#include "main.h" +#include "constants/moves.h" +#include "egg_hatch.h" +#include "text.h" +#include "menu.h" +#include "international_string_util.h" +#include "script.h" +#include "task.h" +#include "window.h" +#include "list_menu.h" + +#define EGG_MOVES_ARRAY_COUNT 10 +#define EGG_LVL_UP_MOVES_ARRAY_COUNT 50 + +extern u16 gMoveToLearn; + +// text +extern const u8 gText_MaleSymbol4[]; +extern const u8 gText_FemaleSymbol4[]; +extern const u8 gText_GenderlessSymbol[]; +extern const u8 gText_NewLine2[]; +extern const u8 gText_Exit4[]; +extern const u8 gText_Lv[]; +extern const u8 gExpandedPlaceholder_Empty[]; +extern const u8 gText_Exit[]; +extern const u8 gDaycareText_GetAlongVeryWell[]; +extern const u8 gDaycareText_GetAlong[]; +extern const u8 gDaycareText_DontLikeOther[]; +extern const u8 gDaycareText_PlayOther[]; + +extern u8 GetCursorSelectionMonId(void); +extern u16 ItemIdToBattleMoveId(u16); +extern s32 ListMenuHandleInputGetItemId(u8); +extern void sub_81AE6C8(u8, u16*, u16*); +extern void sub_819746C(u8, bool8); +extern void NewMenuHelpers_DrawStdWindowFrame(u8, bool8); +extern void sub_81B9328(void); +extern void sub_81AF078(u32, bool8, struct ListMenu *); +extern void c2_exit_to_overworld_2_switch(void); + +// this file's functions +static void ClearDaycareMonMisc(struct DaycareMiscMon *misc); +static void SetInitialEggData(struct Pokemon *mon, u16 species, struct DayCare *daycare); +static u8 GetDaycareCompatibilityScore(struct DayCare *daycare); +static void DaycarePrintMonInfo(u8 windowId, s32 daycareSlotId, u8 y); + +// RAM buffers used to assist with BuildEggMoveset() +EWRAM_DATA static u16 sHatchedEggLevelUpMoves[EGG_LVL_UP_MOVES_ARRAY_COUNT] = {0}; +EWRAM_DATA static u16 sHatchedEggFatherMoves[4] = {0}; +EWRAM_DATA static u16 sHatchedEggFinalMoves[4] = {0}; +EWRAM_DATA static u16 sHatchedEggEggMoves[EGG_MOVES_ARRAY_COUNT] = {0}; +EWRAM_DATA static u16 sHatchedEggMotherMoves[4] = {0}; + +#include "data/pokemon/egg_moves.h" + +static const struct WindowTemplate sDaycareLevelMenuWindowTemplate = {0, 0xF, 1, 0xE, 6, 0xF, 8}; + +static const struct ListMenuItem sLevelMenuItems[] = +{ + {gExpandedPlaceholder_Empty, 0}, + {gExpandedPlaceholder_Empty, 1}, + {gText_Exit, 5} +}; + +static const struct ListMenuTemplate sDaycareListMenuLevelTemplate = +{ + .items = sLevelMenuItems, + .moveCursorFunc = sub_81AF078, + .unk_08 = DaycarePrintMonInfo, + .totalItems = 3, + .maxShowed = 3, + .unk_10 = 0, + .unk_11 = 0, + .unk_12 = 8, + .cursor_Y = 0, + .upText_Y = 1, + .cursorColor = 2, + .fillColor = 1, + .cursorShadowColor = 3, + .unk_16_0 = TRUE, + .spaceBetweenItems = 0, + .unk_16_7 = FALSE, + .unk_17_0 = 1, + .cursorKind = 0 +}; + +static const u8 *const sCompatibilityMessages[] = +{ + gDaycareText_GetAlongVeryWell, + gDaycareText_GetAlong, + gDaycareText_DontLikeOther, + gDaycareText_PlayOther +}; + +static const u8 sJapaneseEggNickname[] = _("タマゴ"); // "tamago" ("egg" in Japanese) + +u8 *GetMonNick(struct Pokemon *mon, u8 *dest) +{ + u8 nickname[POKEMON_NAME_LENGTH * 2]; + + GetMonData(mon, MON_DATA_NICKNAME, nickname); + return StringCopy10(dest, nickname); +} + +u8 *GetBoxMonNick(struct BoxPokemon *mon, u8 *dest) +{ + u8 nickname[POKEMON_NAME_LENGTH * 2]; + + GetBoxMonData(mon, MON_DATA_NICKNAME, nickname); + return StringCopy10(dest, nickname); +} + +u8 CountPokemonInDaycare(struct DayCare *daycare) +{ + u8 i, count; + count = 0; + + for (i = 0; i < DAYCARE_MON_COUNT; i++) + { + if (GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SPECIES) != 0) + count++; + } + + return count; +} + +void InitDaycareMailRecordMixing(struct DayCare *daycare, struct RecordMixingDayCareMail *daycareMail) +{ + u8 i; + u8 numDaycareMons = 0; + + for (i = 0; i < DAYCARE_MON_COUNT; i++) + { + if (GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SPECIES) != SPECIES_NONE) + { + numDaycareMons++; + if (GetBoxMonData(&daycare->mons[i].mon, MON_DATA_HELD_ITEM) == ITEM_NONE) + { + daycareMail->holdsItem[i] = FALSE; + } + else + { + daycareMail->holdsItem[i] = TRUE; + } + } + else + { + daycareMail->holdsItem[i] = TRUE; + } + } + + daycareMail->numDaycareMons = numDaycareMons; +} + +static s8 Daycare_FindEmptySpot(struct DayCare *daycare) +{ + u8 i; + + for (i = 0; i < DAYCARE_MON_COUNT; i++) + { + if (GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SPECIES) == 0) + return i; + } + + return -1; +} + +static void StorePokemonInDaycare(struct Pokemon *mon, struct DaycareMon *daycareMon) +{ + if (MonHasMail(mon)) + { + u8 mailId; + + StringCopy(daycareMon->misc.OT_name, gSaveBlock2Ptr->playerName); + GetMonNick(mon, daycareMon->misc.monName); + StripExtCtrlCodes(daycareMon->misc.monName); + daycareMon->misc.gameLanguage = LANGUAGE_ENGLISH; + daycareMon->misc.monLanguage = GetMonData(mon, MON_DATA_LANGUAGE); + mailId = GetMonData(mon, MON_DATA_MAIL); + daycareMon->misc.mail = gSaveBlock1Ptr->mail[mailId]; + TakeMailFromMon(mon); + } + + daycareMon->mon = mon->box; + BoxMonRestorePP(&daycareMon->mon); + daycareMon->steps = 0; + ZeroMonData(mon); + CompactPartySlots(); + CalculatePlayerPartyCount(); +} + +static void StorePokemonInEmptyDaycareSlot(struct Pokemon *mon, struct DayCare *daycare) +{ + s8 slotId = Daycare_FindEmptySpot(daycare); + StorePokemonInDaycare(mon, &daycare->mons[slotId]); +} + +void StoreSelectedPokemonInDaycare(void) +{ + u8 monId = GetCursorSelectionMonId(); + StorePokemonInEmptyDaycareSlot(&gPlayerParty[monId], &gSaveBlock1Ptr->daycare); +} + +// Shifts the second daycare pokemon slot into the first slot. +static void ShiftDaycareSlots(struct DayCare *daycare) +{ + // This condition is only satisfied when the player takes out the first pokemon from the daycare. + if (GetBoxMonData(&daycare->mons[1].mon, MON_DATA_SPECIES) != 0 + && GetBoxMonData(&daycare->mons[0].mon, MON_DATA_SPECIES) == 0) + { + daycare->mons[0].mon = daycare->mons[1].mon; + ZeroBoxMonData(&daycare->mons[1].mon); + + daycare->mons[0].misc = daycare->mons[1].misc; + daycare->mons[0].steps = daycare->mons[1].steps; + daycare->mons[1].steps = 0; + ClearDaycareMonMisc(&daycare->mons[1].misc); + } +} + +static void ApplyDaycareExperience(struct Pokemon *mon) +{ + s32 i; + bool8 firstMove; + u16 learnedMove; + + for (i = 0; i < MAX_MON_LEVEL; i++) + { + // Add the mon's gained daycare experience level by level until it can't level up anymore. + if (TryIncrementMonLevel(mon)) + { + // Teach the mon new moves it learned while in the daycare. + firstMove = TRUE; + while ((learnedMove = MonTryLearningNewMove(mon, firstMove)) != 0) + { + firstMove = FALSE; + if (learnedMove == 0xFFFF) + { + // Mon already knows 4 moves. + DeleteFirstMoveAndGiveMoveToMon(mon, gMoveToLearn); + } + } + } + else + { + break; + } + } + + // Re-calculate the mons stats at its new level. + CalculateMonStats(mon); +} + +static u16 TakeSelectedPokemonFromDaycare(struct DaycareMon *daycareMon) +{ + u16 species; + u32 experience; + struct Pokemon pokemon; + + GetBoxMonNick(&daycareMon->mon, gStringVar1); + species = GetBoxMonData(&daycareMon->mon, MON_DATA_SPECIES); + BoxMonToMon(&daycareMon->mon, &pokemon); + + if (GetMonData(&pokemon, MON_DATA_LEVEL) != MAX_MON_LEVEL) + { + experience = GetMonData(&pokemon, MON_DATA_EXP) + daycareMon->steps; + SetMonData(&pokemon, MON_DATA_EXP, &experience); + ApplyDaycareExperience(&pokemon); + } + + gPlayerParty[PARTY_SIZE - 1] = pokemon; + if (daycareMon->misc.mail.itemId) + { + GiveMailToMon2(&gPlayerParty[PARTY_SIZE - 1], &daycareMon->misc.mail); + ClearDaycareMonMisc(&daycareMon->misc); + } + + ZeroBoxMonData(&daycareMon->mon); + daycareMon->steps = 0; + CompactPartySlots(); + CalculatePlayerPartyCount(); + return species; +} + +static u16 TakeSelectedPokemonMonFromDaycareShiftSlots(struct DayCare *daycare, u8 slotId) +{ + u16 species = TakeSelectedPokemonFromDaycare(&daycare->mons[slotId]); + ShiftDaycareSlots(daycare); + return species; +} + +u16 TakePokemonFromDaycare(void) +{ + return TakeSelectedPokemonMonFromDaycareShiftSlots(&gSaveBlock1Ptr->daycare, gSpecialVar_0x8004); +} + +static u8 GetLevelAfterDaycareSteps(struct BoxPokemon *mon, u32 steps) +{ + struct BoxPokemon tempMon = *mon; + + u32 experience = GetBoxMonData(mon, MON_DATA_EXP) + steps; + SetBoxMonData(&tempMon, MON_DATA_EXP, &experience); + return GetLevelFromBoxMonExp(&tempMon); +} + +static u8 GetNumLevelsGainedFromSteps(struct DaycareMon *daycareMon) +{ + u8 levelBefore; + u8 levelAfter; + + levelBefore = GetLevelFromBoxMonExp(&daycareMon->mon); + levelAfter = GetLevelAfterDaycareSteps(&daycareMon->mon, daycareMon->steps); + return levelAfter - levelBefore; +} + +static u8 GetNumLevelsGainedForDaycareMon(struct DaycareMon *daycareMon) +{ + u8 numLevelsGained = GetNumLevelsGainedFromSteps(daycareMon); + ConvertIntToDecimalStringN(gStringVar2, numLevelsGained, STR_CONV_MODE_LEFT_ALIGN, 2); + GetBoxMonNick(&daycareMon->mon, gStringVar1); + return numLevelsGained; +} + +static u32 GetDaycareCostForSelectedMon(struct DaycareMon *daycareMon) +{ + u32 cost; + + u8 numLevelsGained = GetNumLevelsGainedFromSteps(daycareMon); + GetBoxMonNick(&daycareMon->mon, gStringVar1); + cost = 100 + 100 * numLevelsGained; + ConvertIntToDecimalStringN(gStringVar2, cost, STR_CONV_MODE_LEFT_ALIGN, 5); + return cost; +} + +static u16 GetDaycareCostForMon(struct DayCare *daycare, u8 slotId) +{ + return GetDaycareCostForSelectedMon(&daycare->mons[slotId]); +} + +void GetDaycareCost(void) +{ + gSpecialVar_0x8005 = GetDaycareCostForMon(&gSaveBlock1Ptr->daycare, gSpecialVar_0x8004); +} + +static void Debug_AddDaycareSteps(u16 numSteps) +{ + gSaveBlock1Ptr->daycare.mons[0].steps += numSteps; + gSaveBlock1Ptr->daycare.mons[1].steps += numSteps; +} + +u8 GetNumLevelsGainedFromDaycare(void) +{ + if (GetBoxMonData(&gSaveBlock1Ptr->daycare.mons[gSpecialVar_0x8004], MON_DATA_SPECIES) != 0) + return GetNumLevelsGainedForDaycareMon(&gSaveBlock1Ptr->daycare.mons[gSpecialVar_0x8004]); + + return 0; +} + +static void ClearDaycareMonMisc(struct DaycareMiscMon *misc) +{ + s32 i; + + for (i = 0; i < OT_NAME_LENGTH + 1; i++) + misc->OT_name[i] = 0; + for (i = 0; i < POKEMON_NAME_LENGTH + 1; i++) + misc->monName[i] = 0; + + ClearMailStruct(&misc->mail); +} + +static void ClearDaycareMon(struct DaycareMon *daycareMon) +{ + ZeroBoxMonData(&daycareMon->mon); + daycareMon->steps = 0; + ClearDaycareMonMisc(&daycareMon->misc); +} + +static void ClearAllDaycareData(struct DayCare *daycare) +{ + u8 i; + + for (i = 0; i < DAYCARE_MON_COUNT; i++) + ClearDaycareMon(&daycare->mons[i]); + + daycare->offspringPersonality = 0; + daycare->stepCounter = 0; +} + +// Determines what the species of an Egg would be based on the given species. +// It determines this by working backwards through the evolution chain of the +// given species. +static u16 GetEggSpecies(u16 species) +{ + int i, j, k; + bool8 found; + + // Working backwards up to 5 times seems arbitrary, since the maximum number + // of times would only be 3 for 3-stage evolutions. + for (i = 0; i < EVOS_PER_MON; i++) + { + found = FALSE; + for (j = 1; j < NUM_SPECIES; j++) + { + for (k = 0; k < EVOS_PER_MON; k++) + { + if (gEvolutionTable[j][k].targetSpecies == species) + { + species = j; + found = TRUE; + break; + } + } + + if (found) + break; + } + + if (j == NUM_SPECIES) + break; + } + + return species; +} + +static s32 GetSlotToInheritNature(struct DayCare *daycare) +{ + u32 species[DAYCARE_MON_COUNT]; + s32 i; + s32 dittoCount; + s32 slot = -1; + + // search for female gender + for (i = 0; i < DAYCARE_MON_COUNT; i++) + { + if (GetBoxMonGender(&daycare->mons[i].mon) == MON_FEMALE) + slot = i; + } + + // search for ditto + for (dittoCount = 0, i = 0; i < DAYCARE_MON_COUNT; i++) + { + species[i] = GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SPECIES); + if (species[i] == SPECIES_DITTO) + dittoCount++, slot = i; + } + + // coin flip on ...two Dittos + if (dittoCount == 2) + { + if (Random() >= USHRT_MAX / 2) + slot = 0; + else + slot = 1; + } + + // nature inheritance only if holds everstone + if (GetBoxMonData(&daycare->mons[slot].mon, MON_DATA_HELD_ITEM) != ITEM_EVERSTONE + || Random() >= USHRT_MAX / 2) + { + return -1; + } + + return slot; +} + +static void _TriggerPendingDaycareEgg(struct DayCare *daycare) +{ + s32 natureSlot; + s32 natureTries = 0; + + SeedRng2(gMain.vblankCounter2); + natureSlot = GetSlotToInheritNature(daycare); + + if (natureSlot < 0) + { + daycare->offspringPersonality = (Random2() << 0x10) | ((Random() % 0xfffe) + 1); + } + else + { + u8 wantedNature = GetNatureFromPersonality(GetBoxMonData(&daycare->mons[natureSlot].mon, MON_DATA_PERSONALITY, NULL)); + u32 personality; + + do + { + personality = (Random2() << 0x10) | (Random()); + if (wantedNature == GetNatureFromPersonality(personality) && personality != 0) + break; // we found a personality with the same nature + + natureTries++; + } while (natureTries <= 2400); + + daycare->offspringPersonality = personality; + } + + FlagSet(FLAG_PENDING_DAYCARE_EGG); +} + +static void _TriggerPendingDaycareMaleEgg(struct DayCare *daycare) +{ + daycare->offspringPersonality = (Random()) | (0x8000); + FlagSet(FLAG_PENDING_DAYCARE_EGG); +} + +void TriggerPendingDaycareEgg(void) +{ + _TriggerPendingDaycareEgg(&gSaveBlock1Ptr->daycare); +} + +static void TriggerPendingDaycareMaleEgg(void) +{ + _TriggerPendingDaycareMaleEgg(&gSaveBlock1Ptr->daycare); +} + +// Removes the selected index from the given IV list and shifts the remaining +// elements to the left. +static void RemoveIVIndexFromList(u8 *ivs, u8 selectedIv) +{ + s32 i, j; + u8 temp[NUM_STATS]; + + ivs[selectedIv] = 0xff; + for (i = 0; i < NUM_STATS; i++) + { + temp[i] = ivs[i]; + } + + j = 0; + for (i = 0; i < NUM_STATS; i++) + { + if (temp[i] != 0xff) + ivs[j++] = temp[i]; + } +} + +static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare) +{ + u8 i; + u8 selectedIvs[3]; + u8 availableIVs[NUM_STATS]; + u8 whichParent[ARRAY_COUNT(selectedIvs)]; + u8 iv; + + // Initialize a list of IV indices. + for (i = 0; i < NUM_STATS; i++) + { + availableIVs[i] = i; + } + + // Select the 3 IVs that will be inherited. + for (i = 0; i < ARRAY_COUNT(selectedIvs); i++) + { + // Randomly pick an IV from the available list. + selectedIvs[i] = availableIVs[Random() % (NUM_STATS - i)]; + + // Remove the selected IV index from the available IV indices. + RemoveIVIndexFromList(availableIVs, i); + } + + // Determine which parent each of the selected IVs should inherit from. + for (i = 0; i < ARRAY_COUNT(selectedIvs); i++) + { + whichParent[i] = Random() % 2; + } + + // Set each of inherited IVs on the egg mon. + for (i = 0; i < ARRAY_COUNT(selectedIvs); i++) + { + switch (selectedIvs[i]) + { + case 0: + iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_HP_IV); + SetMonData(egg, MON_DATA_HP_IV, &iv); + break; + case 1: + iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_ATK_IV); + SetMonData(egg, MON_DATA_ATK_IV, &iv); + break; + case 2: + iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_DEF_IV); + SetMonData(egg, MON_DATA_DEF_IV, &iv); + break; + case 3: + iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_SPEED_IV); + SetMonData(egg, MON_DATA_SPEED_IV, &iv); + break; + case 4: + iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_SPATK_IV); + SetMonData(egg, MON_DATA_SPATK_IV, &iv); + break; + case 5: + iv = GetBoxMonData(&daycare->mons[whichParent[i]].mon, MON_DATA_SPDEF_IV); + SetMonData(egg, MON_DATA_SPDEF_IV, &iv); + break; + } + } +} + +// Counts the number of egg moves a pokemon learns and stores the moves in +// the given array. +static u8 GetEggMoves(struct Pokemon *pokemon, u16 *eggMoves) +{ + u16 eggMoveIdx; + u16 numEggMoves; + u16 species; + u16 i; + + numEggMoves = 0; + eggMoveIdx = 0; + species = GetMonData(pokemon, MON_DATA_SPECIES); + for (i = 0; i < ARRAY_COUNT(gEggMoves) - 1; i++) + { + if (gEggMoves[i] == species + EGG_MOVES_SPECIES_OFFSET) + { + eggMoveIdx = i + 1; + break; + } + } + + for (i = 0; i < EGG_MOVES_ARRAY_COUNT; i++) + { + if (gEggMoves[eggMoveIdx + i] > EGG_MOVES_SPECIES_OFFSET) + { + // TODO: the curly braces around this if statement are required for a matching build. + break; + } + + eggMoves[i] = gEggMoves[eggMoveIdx + i]; + numEggMoves++; + } + + return numEggMoves; +} + +static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, struct BoxPokemon *mother) +{ + u16 numSharedParentMoves; + u32 numLevelUpMoves; + u16 numEggMoves; + u16 i, j; + + numSharedParentMoves = 0; + for (i = 0; i < 4; i++) + { + sHatchedEggMotherMoves[i] = 0; + sHatchedEggFatherMoves[i] = 0; + sHatchedEggFinalMoves[i] = 0; + } + for (i = 0; i < EGG_MOVES_ARRAY_COUNT; i++) + sHatchedEggEggMoves[i] = 0; + for (i = 0; i < EGG_LVL_UP_MOVES_ARRAY_COUNT; i++) + sHatchedEggLevelUpMoves[i] = 0; + + numLevelUpMoves = GetLevelUpMovesBySpecies(GetMonData(egg, MON_DATA_SPECIES), sHatchedEggLevelUpMoves); + for (i = 0; i < 4; i++) + { + sHatchedEggFatherMoves[i] = GetBoxMonData(father, MON_DATA_MOVE1 + i); + sHatchedEggMotherMoves[i] = GetBoxMonData(mother, MON_DATA_MOVE1 + i); + } + + numEggMoves = GetEggMoves(egg, sHatchedEggEggMoves); + + for (i = 0; i < 4; i++) + { + if (sHatchedEggFatherMoves[i] != MOVE_NONE) + { + for (j = 0; j < numEggMoves; j++) + { + if (sHatchedEggFatherMoves[i] == sHatchedEggEggMoves[j]) + { + if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == 0xffff) + DeleteFirstMoveAndGiveMoveToMon(egg, sHatchedEggFatherMoves[i]); + break; + } + } + } + else + { + break; + } + } + for (i = 0; i < 4; i++) + { + if (sHatchedEggFatherMoves[i] != MOVE_NONE) + { + for (j = 0; j < NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES; j++) + { + if (sHatchedEggFatherMoves[i] == ItemIdToBattleMoveId(ITEM_TM01_FOCUS_PUNCH + j) && CanMonLearnTMHM(egg, j)) + { + if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == 0xffff) + DeleteFirstMoveAndGiveMoveToMon(egg, sHatchedEggFatherMoves[i]); + } + } + } + } + for (i = 0; i < 4; i++) + { + if (sHatchedEggFatherMoves[i] == MOVE_NONE) + break; + for (j = 0; j < 4; j++) + { + if (sHatchedEggFatherMoves[i] == sHatchedEggMotherMoves[j] && sHatchedEggFatherMoves[i] != MOVE_NONE) + sHatchedEggFinalMoves[numSharedParentMoves++] = sHatchedEggFatherMoves[i]; + } + } + + for (i = 0; i < 4; i++) + { + if (sHatchedEggFinalMoves[i] == MOVE_NONE) + break; + for (j = 0; j < numLevelUpMoves; j++) + { + if (sHatchedEggLevelUpMoves[j] != MOVE_NONE && sHatchedEggFinalMoves[i] == sHatchedEggLevelUpMoves[j]) + { + if (GiveMoveToMon(egg, sHatchedEggFinalMoves[i]) == 0xffff) + DeleteFirstMoveAndGiveMoveToMon(egg, sHatchedEggFinalMoves[i]); + break; + } + } + } +} + +static void RemoveEggFromDayCare(struct DayCare *daycare) +{ + daycare->offspringPersonality = 0; + daycare->stepCounter = 0; +} + +void RejectEggFromDayCare(void) +{ + RemoveEggFromDayCare(&gSaveBlock1Ptr->daycare); +} + +static void AlterEggSpeciesWithIncenseItem(u16 *species, struct DayCare *daycare) +{ + u16 motherItem, fatherItem; + if (*species == SPECIES_WYNAUT || *species == SPECIES_AZURILL) + { + motherItem = GetBoxMonData(&daycare->mons[0].mon, MON_DATA_HELD_ITEM); + fatherItem = GetBoxMonData(&daycare->mons[1].mon, MON_DATA_HELD_ITEM); + if (*species == SPECIES_WYNAUT && motherItem != ITEM_LAX_INCENSE && fatherItem != ITEM_LAX_INCENSE) + { + *species = SPECIES_WOBBUFFET; + } + + if (*species == SPECIES_AZURILL && motherItem != ITEM_SEA_INCENSE && fatherItem != ITEM_SEA_INCENSE) + { + *species = SPECIES_MARILL; + } + } +} + +static void GiveVoltTackleIfLightBall(struct Pokemon *mon, struct DayCare *daycare) +{ + u32 motherItem = GetBoxMonData(&daycare->mons[0].mon, MON_DATA_HELD_ITEM); + u32 fatherItem = GetBoxMonData(&daycare->mons[1].mon, MON_DATA_HELD_ITEM); + + if (motherItem == ITEM_LIGHT_BALL || fatherItem == ITEM_LIGHT_BALL) + { + if (GiveMoveToMon(mon, MOVE_VOLT_TACKLE) == 0xFFFF) + DeleteFirstMoveAndGiveMoveToMon(mon, MOVE_VOLT_TACKLE); + } +} + +static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parentSlots) +{ + u16 i; + u16 species[2]; + u16 eggSpecies; + + // Determine which of the daycare mons is the mother and father of the egg. + // The 0th index of the parentSlots array is considered the mother slot, and the + // 1st index is the father slot. + for (i = 0; i < 2; i++) + { + species[i] = GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SPECIES); + if (species[i] == SPECIES_DITTO) + { + parentSlots[0] = i ^ 1; + parentSlots[1] = i; + } + else if (GetBoxMonGender(&daycare->mons[i].mon) == MON_FEMALE) + { + parentSlots[0] = i; + parentSlots[1] = i ^ 1; + } + } + + eggSpecies = GetEggSpecies(species[parentSlots[0]]); + if (eggSpecies == SPECIES_NIDORAN_F && daycare->offspringPersonality & 0x8000) + { + eggSpecies = SPECIES_NIDORAN_M; + } + if (eggSpecies == SPECIES_ILLUMISE && daycare->offspringPersonality & 0x8000) + { + eggSpecies = SPECIES_VOLBEAT; + } + + // Make Ditto the "mother" slot if the other daycare mon is male. + if (species[parentSlots[1]] == SPECIES_DITTO && GetBoxMonGender(&daycare->mons[parentSlots[0]].mon) != MON_FEMALE) + { + u8 temp = parentSlots[1]; + parentSlots[1] = parentSlots[0]; + parentSlots[0] = temp; + } + + return eggSpecies; +} + +static void _GiveEggFromDaycare(struct DayCare *daycare) // give_egg +{ + struct Pokemon egg; + u16 species; + u8 parentSlots[2]; // 0th index is "mother" daycare slot, 1st is "father" + bool8 isEgg; + + species = DetermineEggSpeciesAndParentSlots(daycare, parentSlots); + AlterEggSpeciesWithIncenseItem(&species, daycare); + SetInitialEggData(&egg, species, daycare); + InheritIVs(&egg, daycare); + BuildEggMoveset(&egg, &daycare->mons[parentSlots[1]].mon, &daycare->mons[parentSlots[0]].mon); + + if (species == SPECIES_PICHU) + GiveVoltTackleIfLightBall(&egg, daycare); + + isEgg = TRUE; + SetMonData(&egg, MON_DATA_IS_EGG, &isEgg); + gPlayerParty[PARTY_SIZE - 1] = egg; + CompactPartySlots(); + CalculatePlayerPartyCount(); + RemoveEggFromDayCare(daycare); +} + +void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation) +{ + u8 metLevel; + u16 ball; + u8 language; + u8 metLocation; + u8 isEgg; + + CreateMon(mon, species, EGG_HATCH_LEVEL, 0x20, FALSE, 0, FALSE, 0); + metLevel = 0; + ball = ITEM_POKE_BALL; + language = LANGUAGE_JAPANESE; + SetMonData(mon, MON_DATA_POKEBALL, &ball); + SetMonData(mon, MON_DATA_NICKNAME, sJapaneseEggNickname); + SetMonData(mon, MON_DATA_FRIENDSHIP, &gBaseStats[species].eggCycles); + SetMonData(mon, MON_DATA_MET_LEVEL, &metLevel); + SetMonData(mon, MON_DATA_LANGUAGE, &language); + if (setHotSpringsLocation) + { + metLocation = 253; // hot springs; see PokemonSummaryScreen_PrintEggTrainerMemo + SetMonData(mon, MON_DATA_MET_LOCATION, &metLocation); + } + + isEgg = TRUE; + SetMonData(mon, MON_DATA_IS_EGG, &isEgg); +} + +static void SetInitialEggData(struct Pokemon *mon, u16 species, struct DayCare *daycare) +{ + u32 personality; + u16 ball; + u8 metLevel; + u8 language; + + personality = daycare->offspringPersonality; + CreateMon(mon, species, EGG_HATCH_LEVEL, 0x20, TRUE, personality, FALSE, 0); + metLevel = 0; + ball = ITEM_POKE_BALL; + language = LANGUAGE_JAPANESE; + SetMonData(mon, MON_DATA_POKEBALL, &ball); + SetMonData(mon, MON_DATA_NICKNAME, sJapaneseEggNickname); + SetMonData(mon, MON_DATA_FRIENDSHIP, &gBaseStats[species].eggCycles); + SetMonData(mon, MON_DATA_MET_LEVEL, &metLevel); + SetMonData(mon, MON_DATA_LANGUAGE, &language); +} + +void GiveEggFromDaycare(void) +{ + _GiveEggFromDaycare(&gSaveBlock1Ptr->daycare); +} + +static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare) +{ + u32 i, validEggs = 0; + + for (i = 0; i < DAYCARE_MON_COUNT; i++) + { + if (GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SANITY_BIT2)) + daycare->mons[i].steps++, validEggs++; + } + + // try to trigger poke sex + if (daycare->offspringPersonality == 0 && validEggs == 2 && (daycare->mons[1].steps & 0xFF) == 0xFF) + { + u8 loveScore = GetDaycareCompatibilityScore(daycare); + if (loveScore > (Random() * 100u) / USHRT_MAX) + TriggerPendingDaycareEgg(); + } + + if (++daycare->stepCounter == 255) // hatch an egg + { + u32 steps; + u8 toSub = GetEggStepsToSubtract(); + + for (i = 0; i < gPlayerPartyCount; i++) + { + if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG)) + continue; + if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_BIT1)) + continue; + + steps = GetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP); + if (steps != 0) // subtract needed steps + { + if (steps >= toSub) + steps -= toSub; + else + steps -= 1; + + SetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP, &steps); + } + else // hatch the egg + { + gSpecialVar_0x8004 = i; + return TRUE; + } + } + } + + return FALSE; // no hatching +} + +bool8 DoEggActions_CheckHatch(void) +{ + return _DoEggActions_CheckHatch(&gSaveBlock1Ptr->daycare); +} + +static bool8 IsEggPending(struct DayCare *daycare) +{ + return (daycare->offspringPersonality != 0); +} + +// gStringVar1 = first mon's nickname +// gStringVar2 = second mon's nickname +// gStringVar3 = first mon trainer's name +static void _GetDaycareMonNicknames(struct DayCare *daycare) +{ + u8 text[12]; + if (GetBoxMonData(&daycare->mons[0].mon, MON_DATA_SPECIES) != 0) + { + GetBoxMonNick(&daycare->mons[0].mon, gStringVar1); + GetBoxMonData(&daycare->mons[0].mon, MON_DATA_OT_NAME, text); + StringCopy(gStringVar3, text); + } + + if (GetBoxMonData(&daycare->mons[1].mon, MON_DATA_SPECIES) != 0) + { + GetBoxMonNick(&daycare->mons[1].mon, gStringVar2); + } +} + +u16 GetSelectedMonNickAndSpecies(void) +{ + GetBoxMonNick(&gPlayerParty[GetCursorSelectionMonId()].box, gStringVar1); + return GetBoxMonData(&gPlayerParty[GetCursorSelectionMonId()].box, MON_DATA_SPECIES); +} + +void GetDaycareMonNicknames(void) +{ + _GetDaycareMonNicknames(&gSaveBlock1Ptr->daycare); +} + +u8 GetDaycareState(void) +{ + // The daycare can be in 4 possible states: + // 0: default state--no deposited mons, no egg + // 1: there is an egg waiting for the player to pick it up + // 2: there is a single pokemon in the daycare + // 3: there are two pokemon in the daycare, no egg + + u8 numMons; + if (IsEggPending(&gSaveBlock1Ptr->daycare)) + { + // There is an Egg waiting for the player. + return 1; + } + + numMons = CountPokemonInDaycare(&gSaveBlock1Ptr->daycare); + if (numMons != 0) + { + return numMons + 1; + } + + return 0; +} + +static u8 GetDaycarePokemonCount(void) +{ + u8 ret = CountPokemonInDaycare(&gSaveBlock1Ptr->daycare); + if (ret) + return ret; + + return 0; +} + +static bool8 EggGroupsOverlap(u16 *eggGroups1, u16 *eggGroups2) +{ + // Determine if the two given egg group lists contain any of the + // same egg groups. + s32 i, j; + + for (i = 0; i < 2; i++) + { + for (j = 0; j < 2; j++) + { + if (eggGroups1[i] == eggGroups2[j]) + return TRUE; + } + } + + return FALSE; +} + +static u8 GetDaycareCompatibilityScore(struct DayCare *daycare) +{ + u32 i; + u16 eggGroups[2][2]; + u16 species[2]; + u32 trainerIds[2]; + u32 genders[2]; + + for (i = 0; i < 2; i++) + { + u32 personality; + + species[i] = GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SPECIES); + trainerIds[i] = GetBoxMonData(&daycare->mons[i].mon, MON_DATA_OT_ID); + personality = GetBoxMonData(&daycare->mons[i].mon, MON_DATA_PERSONALITY); + genders[i] = GetGenderFromSpeciesAndPersonality(species[i], personality); + eggGroups[i][0] = gBaseStats[species[i]].eggGroup1; + eggGroups[i][1] = gBaseStats[species[i]].eggGroup2; + } + + // check unbreedable egg group + if (eggGroups[0][0] == EGG_GROUP_UNDISCOVERED || eggGroups[1][0] == EGG_GROUP_UNDISCOVERED) + return 0; + // two Ditto can't breed + if (eggGroups[0][0] == EGG_GROUP_DITTO && eggGroups[1][0] == EGG_GROUP_DITTO) + return 0; + + // now that we checked, one ditto can breed with any other mon + if (eggGroups[0][0] == EGG_GROUP_DITTO || eggGroups[1][0] == EGG_GROUP_DITTO) + { + if (trainerIds[0] == trainerIds[1]) // same trainer + return 20; + + return 50; // different trainers, more chance of poke sex + } + else + { + if (genders[0] == genders[1]) // no homo + return 0; + if (genders[0] == MON_GENDERLESS || genders[1] == MON_GENDERLESS) + return 0; + if (!EggGroupsOverlap(eggGroups[0], eggGroups[1])) // not compatible with each other + return 0; + + if (species[0] == species[1]) // same species + { + if (trainerIds[0] == trainerIds[1]) // same species and trainer + return 50; + + return 70; // different trainers, same species + } + else + { + if (trainerIds[0] != trainerIds[1]) // different trainers, different species + return 50; + + return 20; // different species, same trainer + } + } +} + +static u8 GetDaycareCompatibilityScoreFromSave(void) +{ + return GetDaycareCompatibilityScore(&gSaveBlock1Ptr->daycare); +} + +void SetDaycareCompatibilityString(void) +{ + u8 whichString; + u8 relationshipScore; + + relationshipScore = GetDaycareCompatibilityScoreFromSave(); + whichString = 0; + if (relationshipScore == 0) + whichString = 3; + if (relationshipScore == 20) + whichString = 2; + if (relationshipScore == 50) + whichString = 1; + if (relationshipScore == 70) + whichString = 0; + + StringCopy(gStringVar4, sCompatibilityMessages[whichString]); +} + +bool8 NameHasGenderSymbol(const u8 *name, u8 genderRatio) +{ + u8 i; + u8 symbolsCount[2]; // male, female + symbolsCount[0] = symbolsCount[1] = 0; + + for (i = 0; name[i] != EOS; i++) + { + if (name[i] == CHAR_MALE) + symbolsCount[0]++; + if (name[i] == CHAR_FEMALE) + symbolsCount[1]++; + } + + if (genderRatio == MON_MALE && symbolsCount[0] != 0 && symbolsCount[1] == 0) + return TRUE; + if (genderRatio == MON_FEMALE && symbolsCount[1] != 0 && symbolsCount[0] == 0) + return TRUE; + + return FALSE; +} + +static u8 *AppendGenderSymbol(u8 *name, u8 gender) +{ + if (gender == MON_MALE) + { + if (!NameHasGenderSymbol(name, MON_MALE)) + return StringAppend(name, gText_MaleSymbol4); + } + else if (gender == MON_FEMALE) + { + if (!NameHasGenderSymbol(name, MON_FEMALE)) + return StringAppend(name, gText_FemaleSymbol4); + } + + return StringAppend(name, gText_GenderlessSymbol); +} + +static u8 *AppendMonGenderSymbol(u8 *name, struct BoxPokemon *boxMon) +{ + return AppendGenderSymbol(name, GetBoxMonGender(boxMon)); +} + +static void GetDaycareLevelMenuText(struct DayCare *daycare, u8 *dest) +{ + u8 monNames[2][20]; + u8 i; + + *dest = EOS; + for (i = 0; i < 2; i++) + { + GetBoxMonNick(&daycare->mons[i].mon, monNames[i]); + AppendMonGenderSymbol(monNames[i], &daycare->mons[i].mon); + } + + StringCopy(dest, monNames[0]); + StringAppend(dest, gText_NewLine2); + StringAppend(dest, monNames[1]); + StringAppend(dest, gText_NewLine2); + StringAppend(dest, gText_Exit4); +} + +static void GetDaycareLevelMenuLevelText(struct DayCare *daycare, u8 *dest) +{ + u8 i; + u8 level; + u8 text[20]; + + *dest = EOS; + for (i = 0; i < 2; i++) + { + StringAppend(dest, gText_Lv); + level = GetLevelAfterDaycareSteps(&daycare->mons[i].mon, daycare->mons[i].steps); + ConvertIntToDecimalStringN(text, level, STR_CONV_MODE_LEFT_ALIGN, 3); + StringAppend(dest, text); + StringAppend(dest, gText_NewLine2); + } +} + +static void DaycareAddTextPrinter(u8 windowId, const u8 *text, u32 x, u32 y) +{ + struct TextSubPrinter printer; + + printer.current_text_offset = text; + printer.windowId = windowId; + printer.fontId = 1; + printer.x = x; + printer.y = y; + printer.currentX = x; + printer.currentY = y; + printer.fontColor_l = 0; + gTextFlags.flag_1 = 0; + printer.letterSpacing = 0; + printer.lineSpacing = 1; + printer.fgColor = 2; + printer.bgColor = 1; + printer.shadowColor = 3; + + AddTextPrinter(&printer, 0xFF, NULL); +} + +static void DaycarePrintMonNick(struct DayCare *daycare, u8 windowId, u32 daycareSlotId, u32 y) +{ + u8 nick[POKEMON_NAME_LENGTH * 2]; + + GetBoxMonNick(&daycare->mons[daycareSlotId].mon, nick); + AppendMonGenderSymbol(nick, &daycare->mons[daycareSlotId].mon); + DaycareAddTextPrinter(windowId, nick, 8, y); +} + +static void DaycarePrintMonLvl(struct DayCare *daycare, u8 windowId, u32 daycareSlotId, u32 y) +{ + u8 level; + u32 x; + u8 lvlText[12]; + u8 intText[8]; + + StringCopy(lvlText, gText_Lv); + level = GetLevelAfterDaycareSteps(&daycare->mons[daycareSlotId].mon, daycare->mons[daycareSlotId].steps); + ConvertIntToDecimalStringN(intText, level, STR_CONV_MODE_LEFT_ALIGN, 3); + StringAppend(lvlText, intText); + x = GetStringRightAlignXOffset(1, lvlText, 112); + DaycareAddTextPrinter(windowId, lvlText, x, y); +} + +static void DaycarePrintMonInfo(u8 windowId, s32 daycareSlotId, u8 y) +{ + if (daycareSlotId < (unsigned) DAYCARE_MON_COUNT) + { + DaycarePrintMonNick(&gSaveBlock1Ptr->daycare, windowId, daycareSlotId, y); + DaycarePrintMonLvl(&gSaveBlock1Ptr->daycare, windowId, daycareSlotId, y); + } +} + +#define tMenuListTaskId data[0] +#define tWindowId data[1] + +static void Task_HandleDaycareLevelMenuInput(u8 taskId) +{ + u32 var = ListMenuHandleInputGetItemId(gTasks[taskId].tMenuListTaskId); + + if (gMain.newKeys & A_BUTTON) + { + switch (var) + { + case 0: + case 1: + gSpecialVar_Result = var; + break; + case 5: + gSpecialVar_Result = 2; + break; + } + sub_81AE6C8(gTasks[taskId].tMenuListTaskId, NULL, NULL); + sub_819746C(gTasks[taskId].tWindowId, TRUE); + RemoveWindow(gTasks[taskId].tWindowId); + DestroyTask(taskId); + EnableBothScriptContexts(); + } + else if (gMain.newKeys & B_BUTTON) + { + gSpecialVar_Result = 2; + sub_81AE6C8(gTasks[taskId].tMenuListTaskId, NULL, NULL); + sub_819746C(gTasks[taskId].tWindowId, TRUE); + RemoveWindow(gTasks[taskId].tWindowId); + DestroyTask(taskId); + EnableBothScriptContexts(); + } +} + +void ShowDaycareLevelMenu(void) +{ + struct ListMenuTemplate menuTemplate; + u8 windowId; + u8 listMenuTaskId; + u8 daycareMenuTaskId; + + windowId = AddWindow(&sDaycareLevelMenuWindowTemplate); + NewMenuHelpers_DrawStdWindowFrame(windowId, FALSE); + + menuTemplate = sDaycareListMenuLevelTemplate; + menuTemplate.unk_10 = windowId; + listMenuTaskId = ListMenuInit(&menuTemplate, 0, 0); + + CopyWindowToVram(windowId, 3); + + daycareMenuTaskId = CreateTask(Task_HandleDaycareLevelMenuInput, 3); + gTasks[daycareMenuTaskId].tMenuListTaskId = listMenuTaskId; + gTasks[daycareMenuTaskId].tWindowId = windowId; +} + +#undef tMenuListTaskId +#undef tWindowId + +void ChooseSendDaycareMon(void) +{ + sub_81B9328(); + gMain.savedCallback = c2_exit_to_overworld_2_switch; +} diff --git a/src/decompress.c b/src/decompress.c index 9210799ec5..8e8827194a 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -1,6 +1,6 @@ #include "global.h" #include "decompress.h" -#include "species.h" +#include "constants/species.h" #include "text.h" #include "malloc.h" #include "pokemon.h" @@ -459,10 +459,9 @@ _08034964:\n\ .syntax divided"); } -u32 sub_8034974(void* ptr) +u32 sub_8034974(const u8 *ptr) { - u8* ptr_ = (u8*)(ptr); - return (ptr_[3] << 16) | (ptr_[2] << 8) | (ptr_[1]); + return (ptr[3] << 16) | (ptr[2] << 8) | (ptr[1]); } bool8 LoadCompressedObjectPicUsingHeap(const struct CompressedSpriteSheet* src) diff --git a/src/decoration.c b/src/decoration.c index 0179d36a16..db19ff4c6f 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1,15 +1,15 @@ - -// Includes #include "global.h" +#include "constants/decorations.h" #include "decompress.h" #include "malloc.h" +#include "text.h" #include "string_util.h" #include "international_string_util.h" #include "script.h" #include "task.h" #include "main.h" #include "palette.h" -#include "songs.h" +#include "constants/songs.h" #include "overworld.h" #include "fieldmap.h" #include "metatile_behavior.h" @@ -20,12 +20,12 @@ #include "field_map_obj.h" #include "list_menu.h" #include "menu_helpers.h" -#include "new_menu_helpers.h" +#include "menu.h" #include "menu_indicators.h" #include "sound.h" #include "event_scripts.h" #include "event_data.h" -#include "region_map.h" +#include "constants/region_map_sections.h" #include "player_pc.h" #include "strings.h" #include "tv.h" @@ -33,7 +33,7 @@ #include "tilesets.h" #include "item_icon.h" #include "trader.h" -#include "map_object_constants.h" +#include "constants/map_objects.h" #include "decoration_inventory.h" #include "decoration.h" #include "graphics.h" @@ -68,27 +68,27 @@ struct DecorRearrangementDataBuffer { // Static RAM declarations EWRAM_DATA u8 *gCurDecorInventoryItems = NULL; -EWRAM_DATA u8 sSecretBasePCMenuCursorPos = 0; -EWRAM_DATA u8 sCurDecorCatCount = 0; -EWRAM_DATA u8 sSecretBaseItemsIndicesBuffer[16] = {}; -EWRAM_DATA u8 sPlayerRoomItemsIndicesBuffer[12] = {}; -EWRAM_DATA u16 sSecretBasePCSelectDecorLineNo = 0; -EWRAM_DATA u16 sSecretBasePCSelectDecorPageNo = 0; +EWRAM_DATA static u8 sSecretBasePCMenuCursorPos = 0; +EWRAM_DATA static u8 sCurDecorCatCount = 0; +EWRAM_DATA static u8 sSecretBaseItemsIndicesBuffer[16] = {}; +EWRAM_DATA static u8 sPlayerRoomItemsIndicesBuffer[12] = {}; +EWRAM_DATA static u16 sSecretBasePCSelectDecorLineNo = 0; +EWRAM_DATA static u16 sSecretBasePCSelectDecorPageNo = 0; EWRAM_DATA u8 gCurDecorationIndex = 0; -EWRAM_DATA u8 sCurDecorationCategory = DECORCAT_DESK; -EWRAM_DATA u32 filler_0203a174[2] = {}; +EWRAM_DATA static u8 sCurDecorationCategory = DECORCAT_DESK; +EWRAM_DATA static u32 filler_0203a174[2] = {}; EWRAM_DATA struct DecorPCPointers gUnknown_0203A17C = {}; -EWRAM_DATA u8 sDecorMenuWindowIndices[4] = {}; +EWRAM_DATA static u8 sDecorMenuWindowIndices[4] = {}; EWRAM_DATA struct DecorPCBuffer *sDecorPCBuffer = NULL; EWRAM_DATA struct PlaceDecorationGraphicsDataBuffer sPlaceDecorationGraphicsDataBuffer = {}; -EWRAM_DATA u16 sCurDecorMapX = 0; -EWRAM_DATA u16 sCurDecorMapY = 0; -EWRAM_DATA u8 sDecor_CameraSpriteObjectIdx1 = 0; -EWRAM_DATA u8 sDecor_CameraSpriteObjectIdx2 = 0; -EWRAM_DATA u8 sDecorationLastDirectionMoved = 0; -EWRAM_DATA struct OamData sDecorSelectorOam = {}; -EWRAM_DATA struct DecorRearrangementDataBuffer sDecorRearrangementDataBuffer[16] = {}; -EWRAM_DATA u8 sCurDecorSelectedInRearrangement = 0; +EWRAM_DATA static u16 sCurDecorMapX = 0; +EWRAM_DATA static u16 sCurDecorMapY = 0; +EWRAM_DATA static u8 sDecor_CameraSpriteObjectIdx1 = 0; +EWRAM_DATA static u8 sDecor_CameraSpriteObjectIdx2 = 0; +EWRAM_DATA static u8 sDecorationLastDirectionMoved = 0; +EWRAM_DATA static struct OamData sDecorSelectorOam = {}; +EWRAM_DATA static struct DecorRearrangementDataBuffer sDecorRearrangementDataBuffer[16] = {}; +EWRAM_DATA static u8 sCurDecorSelectedInRearrangement = 0; // Static ROM declarations @@ -500,7 +500,7 @@ void sub_8126B80(u8 taskId) void sub_8126C08(void) { FillWindowPixelBuffer(0, 0x11); - AddTextPrinterParametrized(0, 1, sSecretBasePCMenuItemDescriptions[sSecretBasePCMenuCursorPos], 0, 0, 2, 1, 3); + AddTextPrinterParameterized(0, 1, sSecretBasePCMenuItemDescriptions[sSecretBasePCMenuCursorPos], 0, 0, 2, 1, 3); } void SecretBasePC_Decorate(u8 taskId) @@ -529,7 +529,7 @@ void SecretBasePC_PutAway(u8 taskId) { sub_8126A58(0); sub_8197434(0, 0); - fade_screen(1, 0); + FadeScreen(1, 0); gTasks[taskId].data[2] = 0; gTasks[taskId].func = sub_8129ABC; } @@ -727,7 +727,7 @@ void sub_81271CC(u8 taskId) { sub_8126A58(1); sub_8126A88(); - sub_81973C4(0, 0); + NewMenuHelpers_DrawDialogueFrame(0, 0); sub_8126C08(); gTasks[taskId].func = sub_8126B80; } @@ -792,17 +792,17 @@ void sub_8127330(u8 taskId) for (i = 0; i < sDecorPCBuffer->unk_520 - 1; i ++) { sub_8127454(sDecorPCBuffer->names[i], gCurDecorInventoryItems[i]); - sDecorPCBuffer->items[i].unk_00 = sDecorPCBuffer->names[i]; - sDecorPCBuffer->items[i].unk_04 = i; + sDecorPCBuffer->items[i].name = sDecorPCBuffer->names[i]; + sDecorPCBuffer->items[i].id = i; } StringCopy(sDecorPCBuffer->names[i], gText_Cancel); - sDecorPCBuffer->items[i].unk_00 = sDecorPCBuffer->names[i]; - sDecorPCBuffer->items[i].unk_04 = -2; - gUnknown_03006310 = gUnknown_085A6BD0; - gUnknown_03006310.unk_10 = sDecorMenuWindowIndices[1]; - gUnknown_03006310.unk_0c = sDecorPCBuffer->unk_520; - gUnknown_03006310.unk_00 = sDecorPCBuffer->items; - gUnknown_03006310.unk_0e = sDecorPCBuffer->unk_521; + sDecorPCBuffer->items[i].name = sDecorPCBuffer->names[i]; + sDecorPCBuffer->items[i].id = -2; + gMultiuseListMenuTemplate = gUnknown_085A6BD0; + gMultiuseListMenuTemplate.unk_10 = sDecorMenuWindowIndices[1]; + gMultiuseListMenuTemplate.totalItems = sDecorPCBuffer->unk_520; + gMultiuseListMenuTemplate.items = sDecorPCBuffer->items; + gMultiuseListMenuTemplate.maxShowed = sDecorPCBuffer->unk_521; } void sub_8127454(u8 *dest, u16 decorId) @@ -871,7 +871,7 @@ void sub_812759C(u8 taskId) sub_81272C8(); sub_81272F8(); sub_8127330(taskId); - data[13] = ListMenuInit(&gUnknown_03006310, sSecretBasePCSelectDecorPageNo, sSecretBasePCSelectDecorLineNo); + data[13] = ListMenuInit(&gMultiuseListMenuTemplate, sSecretBasePCSelectDecorPageNo, sSecretBasePCSelectDecorLineNo); sub_8127500(); } @@ -889,8 +889,8 @@ void sub_812764C(u8 taskId) data = gTasks[taskId].data; if (!gPaletteFade.active) { - input = ListMenuHandleInput(data[13]); - get_coro_args_x18_x1A(data[13], &sSecretBasePCSelectDecorPageNo, &sSecretBasePCSelectDecorLineNo); + input = ListMenuHandleInputGetItemId(data[13]); + sub_81AE860(data[13], &sSecretBasePCSelectDecorPageNo, &sSecretBasePCSelectDecorLineNo); switch (input) { case -1: @@ -1247,7 +1247,7 @@ void sub_8127F68(u8 taskId) { if (sub_8127F38() == TRUE) { - fade_screen(1, 0); + FadeScreen(1, 0); gTasks[taskId].data[2] = 0; gTasks[taskId].func = sub_8128060; } @@ -1303,7 +1303,7 @@ void sub_8128060(u8 taskId) void ConfigureCameraObjectForPlacingDecoration(struct PlaceDecorationGraphicsDataBuffer *data, u8 decor) { - sDecor_CameraSpriteObjectIdx1 = gSprites[gUnknown_03005DD0.unk4].data0; + sDecor_CameraSpriteObjectIdx1 = gSprites[gUnknown_03005DD0.unk4].data[0]; gUnknown_03005DD0.unk4 = gpu_pal_decompress_alloc_tag_and_upload(data, decor); gSprites[gUnknown_03005DD0.unk4].oam.priority = 1; gSprites[gUnknown_03005DD0.unk4].callback = sub_81292D0; @@ -1384,8 +1384,8 @@ void sub_812826C(u8 taskId) void sub_81283BC(u8 taskId) { gTasks[taskId].data[10] = 0; - gSprites[sDecor_CameraSpriteObjectIdx1].data7 = 1; - gSprites[sDecor_CameraSpriteObjectIdx2].data7 = 1; + gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 1; + gSprites[sDecor_CameraSpriteObjectIdx2].data[7] = 1; sub_8128DE0(); sub_8128950(taskId); } @@ -1393,8 +1393,8 @@ void sub_81283BC(u8 taskId) void sub_8128414(u8 taskId) { gTasks[taskId].data[10] = 0; - gSprites[sDecor_CameraSpriteObjectIdx1].data7 = 1; - gSprites[sDecor_CameraSpriteObjectIdx2].data7 = 1; + gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 1; + gSprites[sDecor_CameraSpriteObjectIdx2].data[7] = 1; sub_8128DE0(); StringExpandPlaceholders(gStringVar4, gText_CancelDecorating); DisplayItemMessageOnField(taskId, gStringVar4, sub_8128B80); @@ -1600,10 +1600,10 @@ void sub_81289F0(u8 taskId) { sCurDecorMapX = gTasks[taskId].data[0] - 7; sCurDecorMapY = gTasks[taskId].data[1] - 7; - ScriptContext1_SetupScript(gUnknown_08275D1F); + ScriptContext1_SetupScript(EventScript_275D1F); } gSprites[sDecor_CameraSpriteObjectIdx1].pos1.y += 2; - if (gMapHeader.regionMapSectionId == REGION_MAP_SECRET_BASE) + if (gMapHeader.regionMapSectionId == MAPSEC_SECRET_BASE) { TV_PutSecretBaseVisitOnTheAir(); } @@ -1661,7 +1661,7 @@ void sub_8128BA0(u8 taskId) void sub_8128BBC(u8 taskId) { - fade_screen(1, 0); + FadeScreen(1, 0); gTasks[taskId].data[2] = 0; gTasks[taskId].func = c1_overworld_prev_quest; } @@ -1700,7 +1700,7 @@ void sub_8128C64(u8 taskId) data[2] ++; break; case 1: - ScriptContext1_SetupScript(gUnknown_08275D0C); + ScriptContext1_SetupScript(EventScript_275D0C); data[2] ++; break; case 2: @@ -1770,8 +1770,8 @@ bool8 sub_8128DB4(void) void sub_8128DE0(void) { sDecorationLastDirectionMoved = 0; - gSprites[sDecor_CameraSpriteObjectIdx1].data2 = 0; - gSprites[sDecor_CameraSpriteObjectIdx1].data3 = 0; + gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = 0; + gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = 0; } void sub_8128E18(u8 taskId) @@ -1779,7 +1779,7 @@ void sub_8128E18(u8 taskId) s16 *data; data = gTasks[taskId].data; - if (!gSprites[sDecor_CameraSpriteObjectIdx1].data4) + if (!gSprites[sDecor_CameraSpriteObjectIdx1].data[4]) { if (data[10] == 1) { @@ -1793,29 +1793,29 @@ void sub_8128E18(u8 taskId) if ((gMain.heldKeys & 0x0F0) == DPAD_UP) { sDecorationLastDirectionMoved = DIR_SOUTH; - gSprites[sDecor_CameraSpriteObjectIdx1].data2 = 0; - gSprites[sDecor_CameraSpriteObjectIdx1].data3 = -2; + gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = 0; + gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = -2; data[1]--; } if ((gMain.heldKeys & 0x0F0) == DPAD_DOWN) { sDecorationLastDirectionMoved = DIR_NORTH; - gSprites[sDecor_CameraSpriteObjectIdx1].data2 = 0; - gSprites[sDecor_CameraSpriteObjectIdx1].data3 = 2; + gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = 0; + gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = 2; data[1]++; } if ((gMain.heldKeys & 0x0F0) == DPAD_LEFT) { sDecorationLastDirectionMoved = DIR_WEST; - gSprites[sDecor_CameraSpriteObjectIdx1].data2 = -2; - gSprites[sDecor_CameraSpriteObjectIdx1].data3 = 0; + gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = -2; + gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = 0; data[0]--; } if ((gMain.heldKeys & 0x0F0) == DPAD_RIGHT) { sDecorationLastDirectionMoved = DIR_EAST; - gSprites[sDecor_CameraSpriteObjectIdx1].data2 = 2; - gSprites[sDecor_CameraSpriteObjectIdx1].data3 = 0; + gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = 2; + gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = 0; data[0]++; } if (!sub_8128DB4() || !sub_8128D10(taskId)) @@ -1825,8 +1825,8 @@ void sub_8128E18(u8 taskId) } if (sDecorationLastDirectionMoved) { - gSprites[sDecor_CameraSpriteObjectIdx1].data4++; - gSprites[sDecor_CameraSpriteObjectIdx1].data4 &= 7; + gSprites[sDecor_CameraSpriteObjectIdx1].data[4]++; + gSprites[sDecor_CameraSpriteObjectIdx1].data[4] &= 7; } if (!data[10]) { @@ -1844,7 +1844,7 @@ void sub_8128E18(u8 taskId) void sub_8128FD8(u8 taskId) { sub_8197434(0, 1); - gSprites[sDecor_CameraSpriteObjectIdx1].data7 = 0; + gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 0; gTasks[taskId].data[10] = 0; gTasks[taskId].func = sub_8128E18; } @@ -1955,20 +1955,20 @@ void SetDecorSelectionBoxOamAttributes(u8 decorShape) void sub_81292D0(struct Sprite *sprite) { - sprite->data2 = 0; - sprite->data3 = 0; - sprite->data4 = 0; - sprite->data5 = 0; - sprite->data6 = 0; - sprite->data7 = 0; + sprite->data[2] = 0; + sprite->data[3] = 0; + sprite->data[4] = 0; + sprite->data[5] = 0; + sprite->data[6] = 0; + sprite->data[7] = 0; sprite->callback = sub_81292E8; } void sub_81292E8(struct Sprite *sprite) { - if (sprite->data7 == 0) + if (sprite->data[7] == 0) { - if (sprite->data6 < 15) + if (sprite->data[6] < 15) { sprite->invisible = FALSE; } @@ -1976,8 +1976,8 @@ void sub_81292E8(struct Sprite *sprite) { sprite->invisible = TRUE; } - sprite->data6 ++; - sprite->data6 &= 0x1F; + sprite->data[6] ++; + sprite->data[6] &= 0x1F; } else { @@ -2013,9 +2013,9 @@ u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 decor) { return MAX_SPRITES; } - LZDecompressWram(GetDecorationIconPicOrPalette(decor, 0), gUnknown_0203CEBC); - CopyItemIconPicTo4x4Buffer(gUnknown_0203CEBC, gUnknown_0203CEC0); - sheet.data = gUnknown_0203CEC0; + LZDecompressWram(GetDecorationIconPicOrPalette(decor, 0), gItemIconDecompressionBuffer); + CopyItemIconPicTo4x4Buffer(gItemIconDecompressionBuffer, gItemIcon4x4Buffer); + sheet.data = gItemIcon4x4Buffer; sheet.size = 0x200; sheet.tag = tilesTag; LoadSpriteSheet(&sheet); @@ -2023,7 +2023,7 @@ u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 decor) palette.tag = paletteTag; LoadCompressedObjectPalette(&palette); template = malloc(sizeof(struct SpriteTemplate)); - *template = gUnknown_08614FF4; + *template = gItemIconSpriteTemplate; template->tileTag = tilesTag; template->paletteTag = paletteTag; spriteId = CreateSprite(template, 0, 0, 0); @@ -2133,10 +2133,10 @@ void sub_8129708(void) u16 i; gSpecialVar_0x8005 = 0; - gScriptResult = 0; + gSpecialVar_Result = 0; if (gSpecialVar_0x8004 == sCurDecorSelectedInRearrangement) { - gScriptResult = 1; + gSpecialVar_Result = 1; } else if (gDecorations[gUnknown_0203A17C.items[sDecorRearrangementDataBuffer[gSpecialVar_0x8004].idx]].permission == DECORPERM_SOLID_MAT) { @@ -2206,7 +2206,7 @@ void sub_81298EC(u8 taskId) case 1: if (!gPaletteFade.active) { DrawWholeMapView(); - ScriptContext1_SetupScript(gUnknown_08275D2E); + ScriptContext1_SetupScript(EventScript_275D2E); sub_8197434(0, 1); gTasks[taskId].data[2] = 2; } @@ -2222,7 +2222,7 @@ void sub_81298EC(u8 taskId) { StringExpandPlaceholders(gStringVar4, gText_DecorationReturnedToPC); DisplayItemMessageOnField(taskId, gStringVar4, sub_8129D64); - if (gMapHeader.regionMapSectionId == REGION_MAP_SECRET_BASE) + if (gMapHeader.regionMapSectionId == MAPSEC_SECRET_BASE) { TV_PutSecretBaseVisitOnTheAir(); } @@ -2249,7 +2249,7 @@ bool8 sub_81299AC(u8 taskId) void SetUpPuttingAwayDecorationPlayerAvatar(void) { player_get_direction_lower_nybble(); - sDecor_CameraSpriteObjectIdx1 = gSprites[gUnknown_03005DD0.unk4].data0; + sDecor_CameraSpriteObjectIdx1 = gSprites[gUnknown_03005DD0.unk4].data[0]; sub_812A39C(); gUnknown_03005DD0.unk4 = CreateSprite(&gUnknown_085A7404, 0x78, 0x50, 0); if (gSaveBlock2Ptr->playerGender == MALE) @@ -2300,7 +2300,7 @@ void sub_8129ABC(u8 taskId) void sub_8129B34(u8 taskId) { sub_8197434(0, 1); - gSprites[sDecor_CameraSpriteObjectIdx1].data7 = 0; + gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 0; gSprites[sDecor_CameraSpriteObjectIdx1].invisible = FALSE; gSprites[sDecor_CameraSpriteObjectIdx1].callback = sub_812A36C; gSprites[sDecor_CameraSpriteObjectIdx2].pos1.x = 0x88; @@ -2635,7 +2635,7 @@ void sub_812A1A0(u8 taskId) void sub_812A1C0(u8 taskId) { - fade_screen(1, 0); + FadeScreen(1, 0); gTasks[taskId].data[2] = 0; gTasks[taskId].func = sub_81298EC; } @@ -2654,7 +2654,7 @@ void sub_812A210(u8 taskId) void sub_812A22C(u8 taskId) { - fade_screen(1, 0); + FadeScreen(1, 0); gTasks[taskId].data[2] = 0; gTasks[taskId].func = sub_812A25C; } @@ -2691,7 +2691,7 @@ void sub_812A2C4(u8 taskId) data[2] ++; break; case 1: - ScriptContext1_SetupScript(gUnknown_08275D0C); + ScriptContext1_SetupScript(EventScript_275D0C); data[2] ++; break; case 2: @@ -2712,7 +2712,7 @@ void sub_812A334(void) u8 taskId; pal_fill_black(); - sub_81973C4(0, 1); + NewMenuHelpers_DrawDialogueFrame(0, 1); sub_8126ABC(); taskId = CreateTask(sub_812A2C4, 8); gTasks[taskId].data[2] = 0; @@ -2720,9 +2720,9 @@ void sub_812A334(void) void sub_812A36C(struct Sprite *sprite) { - sprite->data0 ++; - sprite->data0 &= 0x1F; - if (sprite->data0 > 15) + sprite->data[0] ++; + sprite->data[0] &= 0x1F; + if (sprite->data[0] > 15) { sprite->invisible = TRUE; } diff --git a/src/decoration_inventory.c b/src/decoration_inventory.c index 03ab6c00c8..308320206c 100644 --- a/src/decoration_inventory.c +++ b/src/decoration_inventory.c @@ -1,6 +1,7 @@ // Includes #include "global.h" +#include "constants/decorations.h" #include "decoration.h" #include "decoration_inventory.h" diff --git a/src/diploma.c b/src/diploma.c old mode 100755 new mode 100644 index d4a269757f..289e0e043e --- a/src/diploma.c +++ b/src/diploma.c @@ -3,7 +3,7 @@ #include "palette.h" #include "main.h" #include "gpu_regs.h" -#include "unknown_task.h" +#include "scanline_effect.h" #include "task.h" #include "malloc.h" #include "decompress.h" @@ -17,7 +17,7 @@ extern int decompress_and_copy_tile_data_to_vram(u8 bg_id, void *src, int size, extern bool8 free_temp_tile_data_buffers_if_possible(void); extern void sub_80861E8(void); // rom4 extern bool16 sub_80C0944(void); -extern void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, struct TextColor *color, s8 speed, u8 *str); +extern void AddTextPrinterParameterized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 *color, s8 speed, u8 *str); extern u16 gUnknown_0860F074[]; @@ -72,7 +72,7 @@ void CB2_ShowDiploma(void) DmaFill16(3, 0, VRAM, VRAM_SIZE); DmaFill32(3, 0, OAM, OAM_SIZE); DmaFill16(3, 0, PLTT, PLTT_SIZE); - remove_some_task(); + ScanlineEffect_Stop(); ResetTasks(); ResetSpriteData(); ResetPaletteFade(); @@ -208,12 +208,7 @@ static void InitDiplomaWindow(void) static void PrintDiplomaText(u8 *text, u8 var1, u8 var2) { - struct TextColor color = - { - .fgColor = 0, - .bgColor = 2, - .shadowColor = 3, - }; + u8 color[3] = {0, 2, 3}; - AddTextPrinterParametrized2(0, 1, var1, var2, 0, 0, &color, -1, text); + AddTextPrinterParameterized2(0, 1, var1, var2, 0, 0, color, -1, text); } diff --git a/src/dma3_manager.c b/src/dma3_manager.c index bb015c5cfe..28df9d9327 100644 --- a/src/dma3_manager.c +++ b/src/dma3_manager.c @@ -1,13 +1,24 @@ #include "global.h" #include "dma3.h" -IWRAM_DATA struct { - /* 0x00 */ const u8 *src; - /* 0x04 */ u8 *dest; - /* 0x08 */ u16 size; - /* 0x0A */ u16 mode; - /* 0x0C */ u32 value; -} gDma3Requests[128]; +// Maximum amount of data we will transfer in one operation +#define MAX_DMA_BLOCK_SIZE 0x1000 + +#define MAX_DMA_REQUESTS 128 + +#define DMA_REQUEST_COPY32 1 +#define DMA_REQUEST_FILL32 2 +#define DMA_REQUEST_COPY16 3 +#define DMA_REQUEST_FILL16 4 + +IWRAM_DATA struct +{ + const u8 *src; + u8 *dest; + u16 size; + u16 mode; + u32 value; +} gDma3Requests[MAX_DMA_REQUESTS]; static bool8 gDma3ManagerLocked; static u8 gDma3RequestCursor; @@ -19,88 +30,103 @@ void ClearDma3Requests(void) gDma3ManagerLocked = TRUE; gDma3RequestCursor = 0; - for(i = 0; i < (u8)ARRAY_COUNT(gDma3Requests); i++) + for (i = 0; i < MAX_DMA_REQUESTS; i++) { gDma3Requests[i].size = 0; - gDma3Requests[i].src = 0; - gDma3Requests[i].dest = 0; + gDma3Requests[i].src = NULL; + gDma3Requests[i].dest = NULL; } gDma3ManagerLocked = FALSE; } -#ifdef NONMATCHING +#define Dma3CopyLarge_(src, dest, size, bit) \ +{ \ + const void *_src = src; \ + void *_dest = dest; \ + u32 _size = size; \ + while (1) \ + { \ + if (_size <= MAX_DMA_BLOCK_SIZE) \ + { \ + DmaCopy##bit(3, _src, _dest, _size); \ + break; \ + } \ + DmaCopy##bit(3, _src, _dest, MAX_DMA_BLOCK_SIZE); \ + _src += MAX_DMA_BLOCK_SIZE; \ + _dest += MAX_DMA_BLOCK_SIZE; \ + _size -= MAX_DMA_BLOCK_SIZE; \ + } \ +} + +#define Dma3CopyLarge16_(src, dest, size) Dma3CopyLarge_(src, dest, size, 16) +#define Dma3CopyLarge32_(src, dest, size) Dma3CopyLarge_(src, dest, size, 32) + +#define Dma3FillLarge_(value, dest, size, bit) \ +{ \ + void *_dest = dest; \ + u32 _size = size; \ + while (1) \ + { \ + if (_size <= MAX_DMA_BLOCK_SIZE) \ + { \ + DmaFill##bit(3, value, _dest, _size); \ + break; \ + } \ + DmaFill##bit(3, value, _dest, MAX_DMA_BLOCK_SIZE); \ + _dest += MAX_DMA_BLOCK_SIZE; \ + _size -= MAX_DMA_BLOCK_SIZE; \ + } \ +} + +#define Dma3FillLarge16_(value, dest, size) Dma3FillLarge_(value, dest, size, 16) +#define Dma3FillLarge32_(value, dest, size) Dma3FillLarge_(value, dest, size, 32) + + void ProcessDma3Requests(void) { - // NOTE: the fillerA member of the DMA struct is actually u32 value; - u16 total_size; + u16 bytesTransferred; if (gDma3ManagerLocked) return; - total_size = 0; + bytesTransferred = 0; // as long as there are DMA requests to process (unless size or vblank is an issue), do not exit - while (gDma3Requests[gDma3RequestCursor].size) + while (gDma3Requests[gDma3RequestCursor].size != 0) { - total_size += gDma3Requests[gDma3RequestCursor].size; + bytesTransferred += gDma3Requests[gDma3RequestCursor].size; - if (total_size > 0xA000) - return; // don't do too much at once - - if (REG_VCOUNT > 224) - return;// we're about to leave vblank, stop + if (bytesTransferred > 40 * 1024) + return; // don't transfer more than 40 KiB + if (*(u8 *)REG_ADDR_VCOUNT > 224) + return; // we're about to leave vblank, stop switch (gDma3Requests[gDma3RequestCursor].mode) { - case 1: // regular 32-bit copy - // _08000C8C - if(gDma3Requests[gDma3RequestCursor].size <= 0x1000) - { - DmaCopy32(3, gDma3Requests[gDma3RequestCursor].src, gDma3Requests[gDma3RequestCursor].dest, gDma3Requests[gDma3RequestCursor].size); - break; - } - while (gDma3Requests[gDma3RequestCursor].size > 0x1000) - { - DmaCopy32(3, gDma3Requests[gDma3RequestCursor].src, gDma3Requests[gDma3RequestCursor].dest, 0x1000); - gDma3Requests[gDma3RequestCursor].src += 0x1000; - gDma3Requests[gDma3RequestCursor].dest += 0x1000; - gDma3Requests[gDma3RequestCursor].size -= 0x1000; - } - DmaCopy32(3, gDma3Requests[gDma3RequestCursor].src, gDma3Requests[gDma3RequestCursor].dest, gDma3Requests[gDma3RequestCursor].size); + case DMA_REQUEST_COPY32: // regular 32-bit copy + Dma3CopyLarge32_(gDma3Requests[gDma3RequestCursor].src, + gDma3Requests[gDma3RequestCursor].dest, + gDma3Requests[gDma3RequestCursor].size); break; - case 2: // repeat a single 32-bit value across RAM - // _08000CD0 - while (gDma3Requests[gDma3RequestCursor].size > 0x1000) - { - DmaFill32(3, gDma3Requests[gDma3RequestCursor].value, gDma3Requests[gDma3RequestCursor].dest, 0x1000); - gDma3Requests[gDma3RequestCursor].dest += 0x1000; - gDma3Requests[gDma3RequestCursor].size -= 0x1000; - } - DmaFill32(3, gDma3Requests[gDma3RequestCursor].value, gDma3Requests[gDma3RequestCursor].dest, gDma3Requests[gDma3RequestCursor].size); + case DMA_REQUEST_FILL32: // repeat a single 32-bit value across RAM + Dma3FillLarge32_(gDma3Requests[gDma3RequestCursor].value, + gDma3Requests[gDma3RequestCursor].dest, + gDma3Requests[gDma3RequestCursor].size); break; - case 3: // regular 16-bit copy - // _08000D3C - while (gDma3Requests[gDma3RequestCursor].size > 0x1000) - { - DmaCopy16(3, gDma3Requests[gDma3RequestCursor].src, gDma3Requests[gDma3RequestCursor].dest, 0x1000); - gDma3Requests[gDma3RequestCursor].src += 0x1000; - gDma3Requests[gDma3RequestCursor].dest += 0x1000; - gDma3Requests[gDma3RequestCursor].size -= 0x1000; - } - DmaCopy16(3, gDma3Requests[gDma3RequestCursor].src, gDma3Requests[gDma3RequestCursor].dest, gDma3Requests[gDma3RequestCursor].size); + case DMA_REQUEST_COPY16: // regular 16-bit copy + Dma3CopyLarge16_(gDma3Requests[gDma3RequestCursor].src, + gDma3Requests[gDma3RequestCursor].dest, + gDma3Requests[gDma3RequestCursor].size); break; - case 4: // repeat a single 16-bit value across RAM - // _08000D88 - while (gDma3Requests[gDma3RequestCursor].size > 0x1000) - { - DmaFill16(3, gDma3Requests[gDma3RequestCursor].value, gDma3Requests[gDma3RequestCursor].dest, 0x1000); - gDma3Requests[gDma3RequestCursor].dest += 0x1000; - gDma3Requests[gDma3RequestCursor].size -= 0x1000; - } - DmaFill16(3, gDma3Requests[gDma3RequestCursor].value, gDma3Requests[gDma3RequestCursor].dest, gDma3Requests[gDma3RequestCursor].size); + case DMA_REQUEST_FILL16: // repeat a single 16-bit value across RAM + Dma3FillLarge16_(gDma3Requests[gDma3RequestCursor].value, + gDma3Requests[gDma3RequestCursor].dest, + gDma3Requests[gDma3RequestCursor].size); break; } + + // Free the request gDma3Requests[gDma3RequestCursor].src = NULL; gDma3Requests[gDma3RequestCursor].dest = NULL; gDma3Requests[gDma3RequestCursor].size = 0; @@ -108,375 +134,54 @@ void ProcessDma3Requests(void) gDma3Requests[gDma3RequestCursor].value = 0; gDma3RequestCursor++; - if (gDma3RequestCursor >= 128) // loop back to the first DMA request + if (gDma3RequestCursor >= MAX_DMA_REQUESTS) // loop back to the first DMA request gDma3RequestCursor = 0; } } -#else -__attribute__((naked)) -void ProcessDma3Requests(void) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0xC\n\ - ldr r0, =gDma3ManagerLocked\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - beq _08000C06\n\ - b _08000E46\n\ -_08000C06:\n\ - movs r0, 0\n\ - str r0, [sp, 0x8]\n\ - ldr r1, =gDma3Requests\n\ - ldr r2, =gDma3RequestCursor\n\ - ldrb r0, [r2]\n\ - lsls r0, 4\n\ - adds r0, r1\n\ - ldrh r0, [r0, 0x8]\n\ - mov r12, r2\n\ - cmp r0, 0\n\ - bne _08000C1E\n\ - b _08000E46\n\ -_08000C1E:\n\ - mov r8, r1\n\ - adds r1, 0x4\n\ - mov r10, r1\n\ - movs r6, 0x80\n\ - lsls r6, 5\n\ - ldr r7, =0x040000D4 @REG_DMA3\n\ - movs r2, 0\n\ - mov r9, r2\n\ -_08000C2E:\n\ - mov r3, r12 @ gDma3RequestCursor\n\ - ldrb r0, [r3]\n\ - lsls r5, r0, 4\n\ - mov r0, r8 @ gDma3Requests\n\ - adds r1, r5, r0 @ gDma3Requests[gDma3RequestCursor]\n\ - ldrh r0, [r1, 0x8] @ gDma3Requests[gDma3RequestCursor].size\n\ - ldr r2, [sp, 0x8]\n\ - adds r0, r2, r0\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - str r0, [sp, 0x8]\n\ - movs r0, 0xA0\n\ - lsls r0, 8\n\ - ldr r3, [sp, 0x8]\n\ - cmp r3, r0\n\ - bls _08000C50\n\ - b _08000E46\n\ -_08000C50:\n\ - ldr r0, =0x04000006 @REG_VCOUNT\n\ - ldrb r0, [r0]\n\ - cmp r0, 0xE0\n\ - bls _08000C5A\n\ - b _08000E46\n\ -_08000C5A:\n\ - ldrh r0, [r1, 0xA]\n\ - cmp r0, 0x2\n\ - beq _08000CD0\n\ - cmp r0, 0x2\n\ - bgt _08000C80\n\ - cmp r0, 0x1\n\ - beq _08000C8C\n\ - b _08000DF0\n\ - .pool\n\ -_08000C80:\n\ - cmp r0, 0x3\n\ - beq _08000D3C\n\ - cmp r0, 0x4\n\ - bne _08000C8A\n\ - b _08000D88\n\ -_08000C8A:\n\ - b _08000DF0\n\ -_08000C8C:\n\ - ldr r3, [r1]\n\ - mov r2, r10\n\ - adds r0, r5, r2\n\ - ldr r2, [r0]\n\ - ldrh r1, [r1, 0x8]\n\ - cmp r1, r6\n\ - bhi _08000CA6\n\ - str r3, [r7]\n\ - str r2, [r7, 0x4]\n\ - lsrs r0, r1, 2\n\ - movs r1, 0x84\n\ - lsls r1, 24\n\ - b _08000DAA\n\ -_08000CA6:\n\ - ldr r4, =0x040000D4 @REG_DMA3\n\ - str r3, [r4]\n\ - str r2, [r4, 0x4]\n\ - ldr r0, =0x84000400\n\ - str r0, [r4, 0x8]\n\ - ldr r0, [r4, 0x8]\n\ - adds r3, r6\n\ - adds r2, r6\n\ - subs r1, r6\n\ - cmp r1, r6\n\ - bhi _08000CA6\n\ - str r3, [r4]\n\ - str r2, [r4, 0x4]\n\ - lsrs r0, r1, 2\n\ - movs r1, 0x84\n\ - lsls r1, 24\n\ - b _08000D76\n\ - .pool\n\ -_08000CD0:\n\ - mov r3, r10\n\ - adds r0, r5, r3\n\ - ldr r4, [r0]\n\ - ldrh r1, [r1, 0x8]\n\ - cmp r1, r6\n\ - bhi _08000CF4\n\ - mov r0, r8\n\ - adds r0, 0xC\n\ - adds r0, r5, r0\n\ - ldr r0, [r0]\n\ - str r0, [sp]\n\ - mov r5, sp\n\ - str r5, [r7]\n\ - str r4, [r7, 0x4]\n\ - lsrs r0, r1, 2\n\ - movs r1, 0x85\n\ - lsls r1, 24\n\ - b _08000DAA\n\ -_08000CF4:\n\ - mov r2, r12\n\ - ldrb r0, [r2]\n\ - lsls r0, 4\n\ - mov r5, r8\n\ - adds r5, 0xC\n\ - adds r0, r5\n\ - ldr r0, [r0]\n\ - str r0, [sp]\n\ - ldr r3, =0x040000D4 @REG_DMA3\n\ - mov r0, sp\n\ - str r0, [r3]\n\ - str r4, [r3, 0x4]\n\ - ldr r0, =0x85000400\n\ - str r0, [r3, 0x8]\n\ - ldr r0, [r3, 0x8]\n\ - adds r4, r6\n\ - subs r1, r6\n\ - cmp r1, r6\n\ - bhi _08000CF4\n\ - ldrb r0, [r2]\n\ - lsls r0, 4\n\ - adds r0, r5\n\ - ldr r0, [r0]\n\ - str r0, [sp]\n\ - mov r2, sp\n\ - str r2, [r3]\n\ - str r4, [r3, 0x4]\n\ - lsrs r0, r1, 2\n\ - movs r1, 0x85\n\ - lsls r1, 24\n\ - b _08000DEA\n\ - .pool\n\ -_08000D3C:\n\ - ldr r3, [r1]\n\ - mov r2, r10\n\ - adds r0, r5, r2\n\ - ldr r2, [r0]\n\ - ldrh r1, [r1, 0x8]\n\ - cmp r1, r6\n\ - bhi _08000D56\n\ - str r3, [r7]\n\ - str r2, [r7, 0x4]\n\ - lsrs r0, r1, 1\n\ - movs r1, 0x80\n\ - lsls r1, 24\n\ - b _08000DAA\n\ -_08000D56:\n\ - ldr r4, =0x040000D4 @REG_DMA3\n\ - str r3, [r4]\n\ - str r2, [r4, 0x4]\n\ - ldr r0, =0x80000800\n\ - str r0, [r4, 0x8]\n\ - ldr r0, [r4, 0x8]\n\ - adds r3, r6\n\ - adds r2, r6\n\ - subs r1, r6\n\ - cmp r1, r6\n\ - bhi _08000D56\n\ - str r3, [r4]\n\ - str r2, [r4, 0x4]\n\ - lsrs r0, r1, 1\n\ - movs r1, 0x80\n\ - lsls r1, 24\n\ -_08000D76:\n\ - orrs r0, r1\n\ - str r0, [r4, 0x8]\n\ - ldr r0, [r4, 0x8]\n\ - b _08000DF0\n\ - .pool\n\ -_08000D88:\n\ - mov r3, r10\n\ - adds r0, r5, r3\n\ - ldr r2, [r0]\n\ - ldrh r4, [r1, 0x8]\n\ - add r1, sp, 0x4\n\ - cmp r4, r6\n\ - bhi _08000DB2\n\ - mov r0, r8\n\ - adds r0, 0xC\n\ - adds r0, r5, r0\n\ - ldr r0, [r0]\n\ - strh r0, [r1]\n\ - str r1, [r7]\n\ - str r2, [r7, 0x4]\n\ - lsrs r0, r4, 1\n\ - movs r1, 0x81\n\ - lsls r1, 24\n\ -_08000DAA:\n\ - orrs r0, r1\n\ - str r0, [r7, 0x8]\n\ - ldr r0, [r7, 0x8]\n\ - b _08000DF0\n\ -_08000DB2:\n\ - mov r5, r12\n\ - ldrb r0, [r5]\n\ - lsls r0, 4\n\ - ldr r3, =gDma3Requests + 0x0C\n\ - adds r0, r3\n\ - ldr r0, [r0]\n\ - strh r0, [r1]\n\ - ldr r3, =0x040000D4 @REG_DMA3\n\ - str r1, [r3]\n\ - str r2, [r3, 0x4]\n\ - ldr r0, =0x81000800\n\ - str r0, [r3, 0x8]\n\ - ldr r0, [r3, 0x8]\n\ - adds r2, r6\n\ - subs r4, r6\n\ - cmp r4, r6\n\ - bhi _08000DB2\n\ - ldrb r0, [r5]\n\ - lsls r0, 4\n\ - ldr r5, =gDma3Requests + 0x0C\n\ - adds r0, r5\n\ - ldr r0, [r0]\n\ - strh r0, [r1]\n\ - str r1, [r3]\n\ - str r2, [r3, 0x4]\n\ - lsrs r0, r4, 1\n\ - movs r1, 0x81\n\ - lsls r1, 24\n\ -_08000DEA:\n\ - orrs r0, r1\n\ - str r0, [r3, 0x8]\n\ - ldr r0, [r3, 0x8]\n\ -_08000DF0:\n\ - ldr r1, =gDma3Requests\n\ - mov r3, r12\n\ - ldrb r0, [r3]\n\ - lsls r0, 4\n\ - adds r0, r1\n\ - mov r2, r9\n\ - str r2, [r0]\n\ - ldrb r0, [r3]\n\ - lsls r0, 4\n\ - add r0, r10\n\ - str r2, [r0]\n\ - ldrb r0, [r3]\n\ - lsls r0, 4\n\ - adds r0, r1\n\ - movs r4, 0\n\ - strh r2, [r0, 0x8]\n\ - ldrb r0, [r3]\n\ - lsls r0, 4\n\ - adds r0, r1\n\ - mov r5, r9\n\ - strh r5, [r0, 0xA]\n\ - ldrb r0, [r3]\n\ - lsls r0, 4\n\ - adds r1, 0xC\n\ - adds r0, r1\n\ - mov r1, r9\n\ - str r1, [r0]\n\ - ldrb r0, [r3]\n\ - adds r0, 0x1\n\ - strb r0, [r3]\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - bge _08000E34\n\ - strb r4, [r3]\n\ -_08000E34:\n\ - mov r2, r12\n\ - ldrb r0, [r2]\n\ - lsls r0, 4\n\ - ldr r3, =gDma3Requests\n\ - adds r0, r3\n\ - ldrh r0, [r0, 0x8]\n\ - cmp r0, 0\n\ - beq _08000E46\n\ - b _08000C2E\n\ -_08000E46:\n\ - add sp, 0xC\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - .syntax divided"); -} -#endif -int RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode) +s16 RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode) { int cursor; - int var = 0; - - gDma3ManagerLocked = 1; + int i = 0; + gDma3ManagerLocked = TRUE; cursor = gDma3RequestCursor; - while(1) + + while (i < MAX_DMA_REQUESTS) { - if(!gDma3Requests[cursor].size) // an empty copy was found and the current cursor will be returned. + if (gDma3Requests[cursor].size == 0) // an empty request was found. { gDma3Requests[cursor].src = src; gDma3Requests[cursor].dest = dest; gDma3Requests[cursor].size = size; - if(mode == 1) - gDma3Requests[cursor].mode = mode; + if (mode == 1) + gDma3Requests[cursor].mode = DMA_REQUEST_COPY32; else - gDma3Requests[cursor].mode = 3; + gDma3Requests[cursor].mode = DMA_REQUEST_COPY16; gDma3ManagerLocked = FALSE; - return (s16)cursor; + return cursor; } - if(++cursor >= 0x80) // loop back to start. - { + if (++cursor >= MAX_DMA_REQUESTS) // loop back to start. cursor = 0; - } - if(++var >= 0x80) // max checks were made. all resulted in failure. - { - break; - } + i++; } gDma3ManagerLocked = FALSE; - return -1; + return -1; // no free DMA request was found } -int RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode) +s16 RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode) { int cursor; - int var = 0; + int i = 0; cursor = gDma3RequestCursor; - gDma3ManagerLocked = 1; + gDma3ManagerLocked = TRUE; - while(1) + while (i < MAX_DMA_REQUESTS) { - if(!gDma3Requests[cursor].size) + if (gDma3Requests[cursor].size == 0) // an empty request was found. { gDma3Requests[cursor].dest = dest; gDma3Requests[cursor].size = size; @@ -484,41 +189,39 @@ int RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode) gDma3Requests[cursor].value = value; if(mode == 1) - gDma3Requests[cursor].mode = 2; + gDma3Requests[cursor].mode = DMA_REQUEST_FILL32; else - gDma3Requests[cursor].mode = 4; + gDma3Requests[cursor].mode = DMA_REQUEST_FILL16; gDma3ManagerLocked = FALSE; - return (s16)cursor; + return cursor; } - if(++cursor >= 0x80) // loop back to start. - { + if (++cursor >= MAX_DMA_REQUESTS) // loop back to start. cursor = 0; - } - if(++var >= 0x80) // max checks were made. all resulted in failure. - { - break; - } + i++; } gDma3ManagerLocked = FALSE; - return -1; + return -1; // no free DMA request was found } -int CheckForSpaceForDma3Request(s16 index) +s16 CheckForSpaceForDma3Request(s16 index) { - int current = 0; + int i = 0; - if (index == -1) + if (index == -1) // check if all requests are free { - for (; current < 0x80; current ++) - if (gDma3Requests[current].size) + while (i < MAX_DMA_REQUESTS) + { + if (gDma3Requests[i].size != 0) return -1; - + i++; + } + return 0; + } + else // check the specified request + { + if (gDma3Requests[index].size != 0) + return -1; return 0; } - - if (gDma3Requests[index].size) - return -1; - - return 0; } diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 589e8901d2..5a2fe5ca25 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -1,7 +1,8 @@ #include "global.h" #include "pokemon.h" +#include "egg_hatch.h" #include "pokedex.h" -#include "items.h" +#include "constants/items.h" #include "script.h" #include "decompress.h" #include "task.h" @@ -9,20 +10,21 @@ #include "main.h" #include "event_data.h" #include "sound.h" -#include "songs.h" +#include "constants/songs.h" #include "text.h" #include "text_window.h" #include "string_util.h" #include "menu.h" #include "trig.h" -#include "rng.h" +#include "random.h" #include "malloc.h" #include "dma3.h" #include "gpu_regs.h" #include "bg.h" #include "m4a.h" #include "window.h" -#include "abilities.h" +#include "constants/abilities.h" +#include "daycare.h" #include "battle.h" // to get rid of later struct EggHatchData @@ -39,43 +41,40 @@ struct EggHatchData u8 unused_9; u8 unused_A; u16 species; - struct TextColor textColor; + u8 textColor[3]; }; extern struct SpriteTemplate gUnknown_0202499C; extern void (*gFieldCallback)(void); extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern const u8 gUnknown_08C00000[]; -extern const u8 gUnknown_08C00524[]; -extern const u8 gUnknown_08C004E0[]; -extern const u16 gUnknown_08DD7300[]; // palette, gameboy advance -extern const u32 gUnknown_08DD7360[]; // tileset gameboy advance +extern const u8 gBattleTextboxTiles[]; +extern const u8 gBattleTextboxTilemap[]; +extern const u8 gBattleTextboxPalette[]; +extern const u16 gTradeGba2_Pal[]; // palette, gameboy advance +extern const u32 gTradeGba_Gfx[]; // tileset gameboy advance extern const u32 gUnknown_08331F60[]; // tilemap gameboy circle extern const u8 gText_HatchedFromEgg[]; extern const u8 gText_NickHatchPrompt[]; -extern u8* GetMonNick(struct Pokemon* mon, u8* dst); -extern u8* GetBoxMonNick(struct BoxPokemon* boxMon, u8* dst); extern u8 sav1_map_get_name(void); -extern s8 sub_8198C58(void); +extern s8 ProcessMenuInputNoWrap_(void); extern void TVShowConvertInternationalString(u8* str1, u8* str2, u8); extern void sub_806A068(u16, u8); -extern void fade_screen(u8, u8); +extern void FadeScreen(u8, u8); extern void overworld_free_bg_tilemaps(void); extern void sub_80AF168(void); extern void AllocateMonSpritesGfx(void); extern void FreeMonSpritesGfx(void); -extern void remove_some_task(void); +extern void ScanlineEffect_Stop(void); extern void reset_temp_tile_data_buffers(void); extern void c2_exit_to_overworld_2_switch(void); extern void play_some_sound(void); extern void copy_decompressed_tile_data_to_vram_autofree(u8 bg_id, const void* src, u16 size, u16 offset, u8 mode); extern void CreateYesNoMenu(const struct WindowTemplate*, u16, u8, u8); extern void DoNamingScreen(u8, const u8*, u16, u8, u32, MainCallback); -extern void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, struct TextColor* colors, s8 speed, u8 *str); extern u16 sub_80D22D0(void); -extern u8 sub_80C7050(u8); +extern u8 CountPartyAliveNonEggMonsExcept(u8); static void Task_EggHatch(u8 taskID); static void CB2_EggHatch_0(void); @@ -92,7 +91,7 @@ static void CreateRandomEggShardSprite(void); static void CreateEggShardSprite(u8 x, u8 y, s16 data1, s16 data2, s16 data3, u8 spriteAnimIndex); // IWRAM bss -static IWRAM_DATA struct EggHatchData* sEggHatchData; +static IWRAM_DATA struct EggHatchData *sEggHatchData; // rom data static const u16 sEggPalette[] = INCBIN_U16("graphics/pokemon/palettes/egg_palette.gbapal"); @@ -327,7 +326,7 @@ static void CreatedHatchedMon(struct Pokemon *egg, struct Pokemon *temp) pokerus = GetMonData(egg, MON_DATA_POKERUS); obedience = GetMonData(egg, MON_DATA_OBEDIENCE); - CreateMon(temp, species, 5, 32, TRUE, personality, 0, 0); + CreateMon(temp, species, EGG_HATCH_LEVEL, 32, TRUE, personality, 0, 0); for (i = 0; i < 4; i++) { @@ -393,19 +392,19 @@ void ScriptHatchMon(void) AddHatchedMonToParty(gSpecialVar_0x8004); } -static bool8 sub_807158C(struct DaycareData* daycare, u8 daycareId) +static bool8 sub_807158C(struct DayCare *daycare, u8 daycareId) { u8 nick[0x20]; - struct DaycareMon* daycareMon = &daycare->mons[daycareId]; + struct DaycareMon *daycareMon = &daycare->mons[daycareId]; GetBoxMonNick(&daycareMon->mon, nick); - if (daycareMon->mail.itemId != 0 - && (StringCompareWithoutExtCtrlCodes(nick, daycareMon->monName) != 0 - || StringCompareWithoutExtCtrlCodes(gSaveBlock2Ptr->playerName, daycareMon->OT_name) != 0)) + if (daycareMon->misc.mail.itemId != 0 + && (StringCompareWithoutExtCtrlCodes(nick, daycareMon->misc.monName) != 0 + || StringCompareWithoutExtCtrlCodes(gSaveBlock2Ptr->playerName, daycareMon->misc.OT_name) != 0)) { StringCopy(gStringVar1, nick); - TVShowConvertInternationalString(gStringVar2, daycareMon->OT_name, daycareMon->language_maybe); - TVShowConvertInternationalString(gStringVar3, daycareMon->monName, daycareMon->unknown); + TVShowConvertInternationalString(gStringVar2, daycareMon->misc.OT_name, daycareMon->misc.gameLanguage); + TVShowConvertInternationalString(gStringVar3, daycareMon->misc.monName, daycareMon->misc.monLanguage); return TRUE; } return FALSE; @@ -466,7 +465,7 @@ void EggHatch(void) { ScriptContext2_Enable(); CreateTask(Task_EggHatch, 10); - fade_screen(1, 0); + FadeScreen(1, 0); } static void Task_EggHatch(u8 taskID) @@ -513,7 +512,7 @@ static void CB2_EggHatch_0(void) FreeAllSpritePalettes(); ResetSpriteData(); ResetTasks(); - remove_some_task(); + ScanlineEffect_Stop(); m4aSoundVSyncOn(); gMain.state++; break; @@ -523,9 +522,9 @@ static void CB2_EggHatch_0(void) gMain.state++; break; case 2: - copy_decompressed_tile_data_to_vram_autofree(0, gUnknown_08C00000, 0, 0, 0); - CopyToBgTilemapBuffer(0, gUnknown_08C00524, 0, 0); - LoadCompressedPalette(gUnknown_08C004E0, 0, 0x20); + copy_decompressed_tile_data_to_vram_autofree(0, gBattleTextboxTiles, 0, 0, 0); + CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0); + LoadCompressedPalette(gBattleTextboxPalette, 0, 0x20); gMain.state++; break; case 3: @@ -549,8 +548,8 @@ static void CB2_EggHatch_0(void) break; case 7: SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); - LoadPalette(gUnknown_08DD7300, 0x10, 0xA0); - LoadBgTiles(1, gUnknown_08DD7360, 0x1420, 0); + LoadPalette(gTradeGba2_Pal, 0x10, 0xA0); + LoadBgTiles(1, gTradeGba_Gfx, 0x1420, 0); CopyToBgTilemapBuffer(1, gUnknown_08331F60, 0x1000, 0); CopyBgTilemapBufferToVram(1); gMain.state++; @@ -670,7 +669,7 @@ static void CB2_EggHatch_1(void) } break; case 10: - switch (sub_8198C58()) + switch (ProcessMenuInputNoWrap_()) { case 0: GetMonNick(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar3); @@ -710,16 +709,16 @@ static void CB2_EggHatch_1(void) static void SpriteCB_Egg_0(struct Sprite* sprite) { - if (++sprite->data0 > 20) + if (++sprite->data[0] > 20) { sprite->callback = SpriteCB_Egg_1; - sprite->data0 = 0; + sprite->data[0] = 0; } else { - sprite->data1 = (sprite->data1 + 20) & 0xFF; - sprite->pos2.x = Sin(sprite->data1, 1); - if (sprite->data0 == 15) + sprite->data[1] = (sprite->data[1] + 20) & 0xFF; + sprite->pos2.x = Sin(sprite->data[1], 1); + if (sprite->data[0] == 15) { PlaySE(SE_BOWA); StartSpriteAnim(sprite, 1); @@ -730,19 +729,19 @@ static void SpriteCB_Egg_0(struct Sprite* sprite) static void SpriteCB_Egg_1(struct Sprite* sprite) { - if (++sprite->data2 > 30) + if (++sprite->data[2] > 30) { - if (++sprite->data0 > 20) + if (++sprite->data[0] > 20) { sprite->callback = SpriteCB_Egg_2; - sprite->data0 = 0; - sprite->data2 = 0; + sprite->data[0] = 0; + sprite->data[2] = 0; } else { - sprite->data1 = (sprite->data1 + 20) & 0xFF; - sprite->pos2.x = Sin(sprite->data1, 2); - if (sprite->data0 == 15) + sprite->data[1] = (sprite->data[1] + 20) & 0xFF; + sprite->pos2.x = Sin(sprite->data[1], 2); + if (sprite->data[0] == 15) { PlaySE(SE_BOWA); StartSpriteAnim(sprite, 2); @@ -753,30 +752,30 @@ static void SpriteCB_Egg_1(struct Sprite* sprite) static void SpriteCB_Egg_2(struct Sprite* sprite) { - if (++sprite->data2 > 30) + if (++sprite->data[2] > 30) { - if (++sprite->data0 > 38) + if (++sprite->data[0] > 38) { u16 species; sprite->callback = SpriteCB_Egg_3; - sprite->data0 = 0; + sprite->data[0] = 0; species = GetMonData(&gPlayerParty[sEggHatchData->eggPartyID], MON_DATA_SPECIES); gSprites[sEggHatchData->pokeSpriteID].pos2.x = 0; gSprites[sEggHatchData->pokeSpriteID].pos2.y = 0; } else { - sprite->data1 = (sprite->data1 + 20) & 0xFF; - sprite->pos2.x = Sin(sprite->data1, 2); - if (sprite->data0 == 15) + sprite->data[1] = (sprite->data[1] + 20) & 0xFF; + sprite->pos2.x = Sin(sprite->data[1], 2); + if (sprite->data[0] == 15) { PlaySE(SE_BOWA); StartSpriteAnim(sprite, 2); CreateRandomEggShardSprite(); CreateRandomEggShardSprite(); } - if (sprite->data0 == 30) + if (sprite->data[0] == 30) PlaySE(SE_BOWA); } } @@ -784,60 +783,60 @@ static void SpriteCB_Egg_2(struct Sprite* sprite) static void SpriteCB_Egg_3(struct Sprite* sprite) { - if (++sprite->data0 > 50) + if (++sprite->data[0] > 50) { sprite->callback = SpriteCB_Egg_4; - sprite->data0 = 0; + sprite->data[0] = 0; } } static void SpriteCB_Egg_4(struct Sprite* sprite) { s16 i; - if (sprite->data0 == 0) + if (sprite->data[0] == 0) BeginNormalPaletteFade(-1, -1, 0, 0x10, 0xFFFF); - if (sprite->data0 < 4u) + if (sprite->data[0] < 4u) { for (i = 0; i <= 3; i++) CreateRandomEggShardSprite(); } - sprite->data0++; + sprite->data[0]++; if (!gPaletteFade.active) { PlaySE(SE_TAMAGO); sprite->invisible = 1; sprite->callback = SpriteCB_Egg_5; - sprite->data0 = 0; + sprite->data[0] = 0; } } static void SpriteCB_Egg_5(struct Sprite* sprite) { - if (sprite->data0 == 0) + if (sprite->data[0] == 0) { gSprites[sEggHatchData->pokeSpriteID].invisible = 0; StartSpriteAffineAnim(&gSprites[sEggHatchData->pokeSpriteID], 1); } - if (sprite->data0 == 8) + if (sprite->data[0] == 8) BeginNormalPaletteFade(-1, -1, 0x10, 0, 0xFFFF); - if (sprite->data0 <= 9) + if (sprite->data[0] <= 9) gSprites[sEggHatchData->pokeSpriteID].pos1.y -= 1; - if (sprite->data0 > 40) + if (sprite->data[0] > 40) sprite->callback = SpriteCallbackDummy; - sprite->data0++; + sprite->data[0]++; } static void SpriteCB_EggShard(struct Sprite* sprite) { - sprite->data4 += sprite->data1; - sprite->data5 += sprite->data2; + sprite->data[4] += sprite->data[1]; + sprite->data[5] += sprite->data[2]; - sprite->pos2.x = sprite->data4 / 256; - sprite->pos2.y = sprite->data5 / 256; + sprite->pos2.x = sprite->data[4] / 256; + sprite->pos2.y = sprite->data[5] / 256; - sprite->data2 += sprite->data3; + sprite->data[2] += sprite->data[3]; - if (sprite->pos1.y + sprite->pos2.y > sprite->pos1.y + 20 && sprite->data2 > 0) + if (sprite->pos1.y + sprite->pos2.y > sprite->pos1.y + 20 && sprite->data[2] > 0) DestroySprite(sprite); } @@ -855,19 +854,19 @@ static void CreateRandomEggShardSprite(void) static void CreateEggShardSprite(u8 x, u8 y, s16 data1, s16 data2, s16 data3, u8 spriteAnimIndex) { u8 spriteID = CreateSprite(&sSpriteTemplate_EggShard, x, y, 4); - gSprites[spriteID].data1 = data1; - gSprites[spriteID].data2 = data2; - gSprites[spriteID].data3 = data3; + gSprites[spriteID].data[1] = data1; + gSprites[spriteID].data[2] = data2; + gSprites[spriteID].data[3] = data3; StartSpriteAnim(&gSprites[spriteID], spriteAnimIndex); } static void EggHatchPrintMessage(u8 windowId, u8* string, u8 x, u8 y, u8 speed) { FillWindowPixelBuffer(windowId, 0xFF); - sEggHatchData->textColor.fgColor = 0; - sEggHatchData->textColor.bgColor = 5; - sEggHatchData->textColor.shadowColor = 6; - AddTextPrinterParametrized2(windowId, 1, x, y, 0, 0, &sEggHatchData->textColor, speed, string); + sEggHatchData->textColor[0] = 0; + sEggHatchData->textColor[1] = 5; + sEggHatchData->textColor[2] = 6; + AddTextPrinterParameterized2(windowId, 1, x, y, 0, 0, sEggHatchData->textColor, speed, string); } u8 GetEggStepsToSubtract(void) @@ -888,6 +887,6 @@ u8 GetEggStepsToSubtract(void) u16 sub_80722E0(void) { u16 value = sub_80D22D0(); - value += sub_80C7050(6); + value += CountPartyAliveNonEggMonsExcept(6); return value; } diff --git a/src/event_data.c b/src/event_data.c index 19a310db51..9f1432f17a 100644 --- a/src/event_data.c +++ b/src/event_data.c @@ -17,11 +17,11 @@ EWRAM_DATA u16 gSpecialVar_0x8008 = 0; EWRAM_DATA u16 gSpecialVar_0x8009 = 0; EWRAM_DATA u16 gSpecialVar_0x800A = 0; EWRAM_DATA u16 gSpecialVar_0x800B = 0; -EWRAM_DATA u16 gScriptResult = 0; -EWRAM_DATA u16 gScriptLastTalked = 0; -EWRAM_DATA u16 gScriptFacing = 0; -EWRAM_DATA u16 gSpecialVar_0x8012 = 0; -EWRAM_DATA u16 gSpecialVar_0x8013 = 0; +EWRAM_DATA u16 gSpecialVar_Result = 0; +EWRAM_DATA u16 gSpecialVar_LastTalked = 0; +EWRAM_DATA u16 gSpecialVar_Facing = 0; +EWRAM_DATA u16 gSpecialVar_MonBoxId = 0; +EWRAM_DATA u16 gSpecialVar_MonBoxPos = 0; EWRAM_DATA u16 gSpecialVar_0x8014 = 0; EWRAM_DATA static u8 gUnknown_020375FC[16] = {0}; @@ -40,11 +40,11 @@ void ClearTempFieldEventData(void) { memset(gSaveBlock1Ptr->flags, 0, TEMP_FLAGS_SIZE); memset(gSaveBlock1Ptr->vars, 0, TEMP_VARS_SIZE); - FlagClear(SYS_ENC_UP_ITEM); - FlagClear(SYS_ENC_DOWN_ITEM); - FlagClear(SYS_USE_STRENGTH); - FlagClear(SYS_CTRL_OBJ_DELETE); - FlagClear(SYS_UNKNOWN_880); + FlagClear(FLAG_SYS_ENC_UP_ITEM); + FlagClear(FLAG_SYS_ENC_DOWN_ITEM); + FlagClear(FLAG_SYS_USE_STRENGTH); + FlagClear(FLAG_SYS_CTRL_OBJ_DELETE); + FlagClear(FLAG_0x880); } // probably had different flag splits at one point. @@ -58,7 +58,7 @@ void DisableNationalPokedex(void) u16 *nationalDexVar = GetVarPointer(VAR_NATIONAL_DEX); gSaveBlock2Ptr->pokedex.nationalMagic = 0; *nationalDexVar = 0; - FlagClear(SYS_NATIONAL_DEX); + FlagClear(FLAG_SYS_NATIONAL_DEX); } void EnableNationalPokedex(void) @@ -66,7 +66,7 @@ void EnableNationalPokedex(void) u16 *nationalDexVar = GetVarPointer(VAR_NATIONAL_DEX); gSaveBlock2Ptr->pokedex.nationalMagic = 0xDA; *nationalDexVar = 0x302; - FlagSet(SYS_NATIONAL_DEX); + FlagSet(FLAG_SYS_NATIONAL_DEX); gSaveBlock2Ptr->pokedex.unknown1 = 1; gSaveBlock2Ptr->pokedex.order = 0; sub_80BB358(); @@ -74,7 +74,7 @@ void EnableNationalPokedex(void) bool32 IsNationalPokedexEnabled(void) { - if (gSaveBlock2Ptr->pokedex.nationalMagic == 0xDA && VarGet(VAR_NATIONAL_DEX) == 0x302 && FlagGet(SYS_NATIONAL_DEX)) + if (gSaveBlock2Ptr->pokedex.nationalMagic == 0xDA && VarGet(VAR_NATIONAL_DEX) == 0x302 && FlagGet(FLAG_SYS_NATIONAL_DEX)) return TRUE; else return FALSE; @@ -82,32 +82,32 @@ bool32 IsNationalPokedexEnabled(void) void DisableMysteryEvent(void) { - FlagClear(SYS_MYSTERY_EVENT_ENABLE); + FlagClear(FLAG_SYS_MYSTERY_EVENT_ENABLE); } void EnableMysteryEvent(void) { - FlagSet(SYS_MYSTERY_EVENT_ENABLE); + FlagSet(FLAG_SYS_MYSTERY_EVENT_ENABLE); } bool32 IsMysteryEventEnabled(void) { - return FlagGet(SYS_MYSTERY_EVENT_ENABLE); + return FlagGet(FLAG_SYS_MYSTERY_EVENT_ENABLE); } void DisableMysteryGift(void) { - FlagClear(SYS_MYSTERY_GIFT_ENABLE); + FlagClear(FLAG_SYS_MYSTERY_GIFT_ENABLE); } void EnableMysteryGift(void) { - FlagSet(SYS_MYSTERY_GIFT_ENABLE); + FlagSet(FLAG_SYS_MYSTERY_GIFT_ENABLE); } bool32 IsMysteryGiftEnabled(void) { - return FlagGet(SYS_MYSTERY_GIFT_ENABLE); + return FlagGet(FLAG_SYS_MYSTERY_GIFT_ENABLE); } void sub_809D4D8(void) @@ -145,18 +145,18 @@ void sub_809D570(void) void DisableResetRTC(void) { VarSet(VAR_RESET_RTC_ENABLE, 0); - FlagClear(SYS_RESET_RTC_ENABLE); + FlagClear(FLAG_SYS_RESET_RTC_ENABLE); } void EnableResetRTC(void) { VarSet(VAR_RESET_RTC_ENABLE, 0x920); - FlagSet(SYS_RESET_RTC_ENABLE); + FlagSet(FLAG_SYS_RESET_RTC_ENABLE); } bool32 CanResetRTC(void) { - if (FlagGet(SYS_RESET_RTC_ENABLE) && VarGet(VAR_RESET_RTC_ENABLE) == 0x920) + if (FlagGet(FLAG_SYS_RESET_RTC_ENABLE) && VarGet(VAR_RESET_RTC_ENABLE) == 0x920) return TRUE; else return FALSE; diff --git a/src/evolution_graphics.c b/src/evolution_graphics.c index eca5d4bdc7..8d02eef91f 100644 --- a/src/evolution_graphics.c +++ b/src/evolution_graphics.c @@ -2,11 +2,11 @@ #include "evolution_graphics.h" #include "sprite.h" #include "trig.h" -#include "rng.h" +#include "random.h" #include "decompress.h" #include "task.h" #include "sound.h" -#include "songs.h" +#include "constants/songs.h" #include "palette.h" // this file's functions @@ -112,18 +112,18 @@ static void SpriteCB_PreEvoSparkleSet1(struct Sprite* sprite) { u8 matrixNum; - sprite->pos1.y = 88 - (sprite->data7 * sprite->data7) / 80; - sprite->pos2.y = Sin((u8)(sprite->data6), sprite->data5) / 4; - sprite->pos2.x = Cos((u8)(sprite->data6), sprite->data5); - sprite->data6 += 4; - if (sprite->data7 & 1) - sprite->data5--; - sprite->data7++; + sprite->pos1.y = 88 - (sprite->data[7] * sprite->data[7]) / 80; + sprite->pos2.y = Sin((u8)(sprite->data[6]), sprite->data[5]) / 4; + sprite->pos2.x = Cos((u8)(sprite->data[6]), sprite->data[5]); + sprite->data[6] += 4; + if (sprite->data[7] & 1) + sprite->data[5]--; + sprite->data[7]++; if (sprite->pos2.y > 0) sprite->subpriority = 1; else sprite->subpriority = 20; - matrixNum = sprite->data5 / 4 + 20; + matrixNum = sprite->data[5] / 4 + 20; if (matrixNum > 31) matrixNum = 31; sprite->oam.matrixNum = matrixNum; @@ -137,9 +137,9 @@ static void CreatePreEvoSparkleSet1(u8 arg0) u8 spriteID = CreateSprite(&sEvoSparkleSpriteTemplate, 120, 88, 0); if (spriteID != MAX_SPRITES) { - gSprites[spriteID].data5 = 48; - gSprites[spriteID].data6 = arg0; - gSprites[spriteID].data7 = 0; + gSprites[spriteID].data[5] = 48; + gSprites[spriteID].data[6] = arg0; + gSprites[spriteID].data[7] = 0; gSprites[spriteID].oam.affineMode = 1; gSprites[spriteID].oam.matrixNum = 31; gSprites[spriteID].callback = SpriteCB_PreEvoSparkleSet1; @@ -150,11 +150,11 @@ static void SpriteCB_PreEvoSparkleSet2(struct Sprite* sprite) { if (sprite->pos1.y < 88) { - sprite->pos1.y = 8 + (sprite->data7 * sprite->data7) / 5; - sprite->pos2.y = Sin((u8)(sprite->data6), sprite->data5) / 4; - sprite->pos2.x = Cos((u8)(sprite->data6), sprite->data5); - sprite->data5 = 8 + Sin((u8)(sprite->data7 * 4), 40); - sprite->data7++; + sprite->pos1.y = 8 + (sprite->data[7] * sprite->data[7]) / 5; + sprite->pos2.y = Sin((u8)(sprite->data[6]), sprite->data[5]) / 4; + sprite->pos2.x = Cos((u8)(sprite->data[6]), sprite->data[5]); + sprite->data[5] = 8 + Sin((u8)(sprite->data[7] * 4), 40); + sprite->data[7]++; } else DestroySprite(sprite); @@ -165,9 +165,9 @@ static void CreatePreEvoSparkleSet2(u8 arg0) u8 spriteID = CreateSprite(&sEvoSparkleSpriteTemplate, 120, 8, 0); if (spriteID != MAX_SPRITES) { - gSprites[spriteID].data5 = 8; - gSprites[spriteID].data6 = arg0; - gSprites[spriteID].data7 = 0; + gSprites[spriteID].data[5] = 8; + gSprites[spriteID].data[6] = arg0; + gSprites[spriteID].data[7] = 0; gSprites[spriteID].oam.affineMode = 1; gSprites[spriteID].oam.matrixNum = 25; gSprites[spriteID].subpriority = 1; @@ -177,12 +177,12 @@ static void CreatePreEvoSparkleSet2(u8 arg0) static void SpriteCB_PostEvoSparkleSet1(struct Sprite* sprite) { - if (sprite->data5 > 8) + if (sprite->data[5] > 8) { - sprite->pos2.y = Sin((u8)(sprite->data6), sprite->data5); - sprite->pos2.x = Cos((u8)(sprite->data6), sprite->data5); - sprite->data5 -= sprite->data3; - sprite->data6 += 4; + sprite->pos2.y = Sin((u8)(sprite->data[6]), sprite->data[5]); + sprite->pos2.x = Cos((u8)(sprite->data[6]), sprite->data[5]); + sprite->data[5] -= sprite->data[3]; + sprite->data[6] += 4; } else DestroySprite(sprite); @@ -193,10 +193,10 @@ static void CreatePostEvoSparkleSet1(u8 arg0, u8 arg1) u8 spriteID = CreateSprite(&sEvoSparkleSpriteTemplate, 120, 56, 0); if (spriteID != MAX_SPRITES) { - gSprites[spriteID].data3 = arg1; - gSprites[spriteID].data5 = 120; - gSprites[spriteID].data6 = arg0; - gSprites[spriteID].data7 = 0; + gSprites[spriteID].data[3] = arg1; + gSprites[spriteID].data[5] = 120; + gSprites[spriteID].data[6] = arg0; + gSprites[spriteID].data[7] = 0; gSprites[spriteID].oam.affineMode = 1; gSprites[spriteID].oam.matrixNum = 31; gSprites[spriteID].subpriority = 1; @@ -206,29 +206,29 @@ static void CreatePostEvoSparkleSet1(u8 arg0, u8 arg1) static void SpriteCB_PostEvoSparkleSet2(struct Sprite* sprite) { - if (!(sprite->data7 & 3)) + if (!(sprite->data[7] & 3)) sprite->pos1.y++; - if (sprite->data6 < 128) + if (sprite->data[6] < 128) { u8 matrixNum; - sprite->pos2.y = -Sin((u8)(sprite->data6), sprite->data5); - sprite->pos1.x = 120 + (sprite->data3 * sprite->data7) / 3; - sprite->data6++; - matrixNum = 31 - (sprite->data6 * 12 / 128); - if (sprite->data6 > 64) + sprite->pos2.y = -Sin((u8)(sprite->data[6]), sprite->data[5]); + sprite->pos1.x = 120 + (sprite->data[3] * sprite->data[7]) / 3; + sprite->data[6]++; + matrixNum = 31 - (sprite->data[6] * 12 / 128); + if (sprite->data[6] > 64) sprite->subpriority = 1; else { sprite->invisible = 0; sprite->subpriority = 20; - if (sprite->data6 > 112 && sprite->data6 & 1) + if (sprite->data[6] > 112 && sprite->data[6] & 1) sprite->invisible = 1; } if (matrixNum < 20) matrixNum = 20; sprite->oam.matrixNum = matrixNum; - sprite->data7++; + sprite->data[7]++; } else DestroySprite(sprite); @@ -239,9 +239,9 @@ static void CreatePostEvoSparkleSet2(u8 arg0) u8 spriteID = CreateSprite(&sEvoSparkleSpriteTemplate, 120, 56, 0); if (spriteID != MAX_SPRITES) { - gSprites[spriteID].data3 = 3 - (Random() % 7); - gSprites[spriteID].data5 = 48 + (Random() & 0x3F); - gSprites[spriteID].data7 = 0; + gSprites[spriteID].data[3] = 3 - (Random() % 7); + gSprites[spriteID].data[5] = 48 + (Random() & 0x3F); + gSprites[spriteID].data[7] = 0; gSprites[spriteID].oam.affineMode = 1; gSprites[spriteID].oam.matrixNum = 31; gSprites[spriteID].subpriority = 20; diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 68731a14a7..f38f9f19cb 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -11,16 +11,17 @@ #include "pokemon.h" #include "string_util.h" #include "battle.h" -#include "unknown_task.h" +#include "scanline_effect.h" #include "decompress.h" #include "m4a.h" #include "menu.h" #include "pokedex.h" -#include "species.h" +#include "constants/species.h" #include "sound.h" -#include "songs.h" +#include "constants/songs.h" #include "overworld.h" #include "battle_message.h" +#include "constants/battle_string_ids.h" #include "gpu_regs.h" #include "bg.h" #include "link.h" @@ -47,27 +48,18 @@ extern u16 gBattle_BG2_X; extern u16 gBattle_BG2_Y; extern u16 gBattle_BG3_X; extern u16 gBattle_BG3_Y; -extern u8 gBattleTerrain; extern struct SpriteTemplate gUnknown_0202499C; extern bool8 gAffineAnimsDisabled; extern u16 gMoveToLearn; +extern const u8 gSpeciesNames[][11]; -extern u8 gBattleCommunication[]; #define sEvoCursorPos gBattleCommunication[1] // when learning a new move #define sEvoGraphicsTaskID gBattleCommunication[2] extern const struct WindowTemplate gUnknown_0833900C; extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern const u8 gUnknown_085B58C9[][4]; -extern const u16 gUnknown_085B5884[]; -extern const u8 gUnknown_085B58D9[]; -extern const u16 gUnknown_085B51E4[]; -extern const u32 gUnknown_085B4134[]; -extern const u32 gUnknown_085B482C[]; -extern const u32 gUnknown_085B4D10[]; // strings -extern const u8 gText_ShedinjaJapaneseName2[]; extern const u8 gText_PkmnIsEvolving[]; extern const u8 gText_CongratsPkmnEvolved[]; extern const u8 gText_BattleYesNoChoice[]; @@ -84,7 +76,7 @@ extern void sub_806A068(u16, u8); extern void sub_807F19C(void); extern void sub_807B140(void); extern void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies); -extern void sub_8085784(void); +extern void Overworld_PlaySpecialMapMusic(void); extern void sub_81BFA38(struct Pokemon *party, u8 monId, u8 partyCount, void *CB2_ptr, u16 move); extern u8 sub_81C1B94(void); extern void sub_807F1A8(u8 arg0, const u8 *arg1, u8 arg2); @@ -106,6 +98,80 @@ static void InitMovingBackgroundTask(bool8 isLink); static void sub_813FEE8(u8 taskId); static void sub_8140174(void); +// const data +static const u16 sUnknown_085B4114[] = INCBIN_U16("graphics/evolution_scene/unknown_5B4114.gbapal"); +static const u32 sUnknown_085B4134[] = INCBIN_U32("graphics/evolution_scene/bg.4bpp.lz"); +static const u32 sUnknown_085B482C[] = INCBIN_U32("graphics/evolution_scene/bg.bin.lz"); +static const u32 sUnknown_085B4D10[] = INCBIN_U32("graphics/evolution_scene/bg2.bin.lz"); +static const u16 sUnknown_085B51E4[] = INCBIN_U16("graphics/evolution_scene/gray_transition_intro.gbapal"); +static const u16 sUnknown_085B53E4[] = INCBIN_U16("graphics/evolution_scene/gray_transition_lighten.gbapal"); +static const u16 sUnknown_085B5544[] = INCBIN_U16("graphics/evolution_scene/gray_transition_darken.gbapal"); +static const u16 sUnknown_085B56E4[] = INCBIN_U16("graphics/evolution_scene/gray_transition_outro.gbapal"); +static const u16 sUnknown_085B5884[] = INCBIN_U16("graphics/evolution_scene/transition.gbapal"); + +static const u8 Text_ShedinjaJapaneseName[] = _("ヌケニン"); + +static const u8 sUnknown_085B58C9[][4] = +{ + { 0x00, 0x0C, 0x01, 0x06 }, + { 0x0D, 0x24, 0x05, 0x02 }, + { 0x0D, 0x18, 0x01, 0x02 }, + { 0x25, 0x31, 0x01, 0x06 }, +}; + +static const u8 sUnknown_085B58D9[][16] = { + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x0B, 0x00, 0x00 }, + { 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x00, 0x00 }, + { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x00, 0x00 }, + { 0x00, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0C, 0x00, 0x00 }, + { 0x00, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0C, 0x0B, 0x00, 0x00 }, + { 0x00, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0C, 0x0B, 0x0A, 0x00, 0x00 }, + { 0x00, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x00, 0x00 }, + { 0x00, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x00, 0x00 }, + { 0x00, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x00, 0x00 }, + { 0x00, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x00, 0x00 }, + { 0x00, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05, 0x00, 0x00 }, + { 0x00, 0x0A, 0x0B, 0x0C, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x00, 0x00 }, + { 0x00, 0x0B, 0x0C, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x00, 0x00 }, + { 0x00, 0x0C, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x00, 0x00 }, + { 0x00, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00 }, + { 0x00, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x02, 0x00, 0x00 }, + { 0x00, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x02, 0x03, 0x00, 0x00 }, + { 0x00, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x02, 0x03, 0x04, 0x00, 0x00 }, + { 0x00, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x02, 0x03, 0x04, 0x05, 0x00, 0x00 }, + { 0x00, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x00, 0x00 }, + { 0x00, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x00, 0x00 }, + { 0x00, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x00, 0x00 }, + { 0x00, 0x05, 0x04, 0x03, 0x02, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x00 }, + { 0x00, 0x04, 0x03, 0x02, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x00, 0x00 }, + { 0x00, 0x03, 0x02, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x00, 0x00 }, + { 0x00, 0x02, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x00, 0x00 }, + { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x00, 0x00 }, + { 0x00, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00 }, + { 0x00, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } +}; + static void CB2_BeginEvolutionScene(void) { UpdatePaletteFade(); @@ -201,7 +267,7 @@ void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, sub_80356D0(); LoadBattleTextboxAndBackground(); ResetSpriteData(); - remove_some_task(); + ScanlineEffect_Stop(); ResetTasks(); FreeAllSpritePalettes(); @@ -507,16 +573,16 @@ static void CB2_TradeEvolutionSceneUpdate(void) static void CreateShedinja(u16 preEvoSpecies, struct Pokemon* mon) { u32 data = 0; - if (gEvolutionTable[preEvoSpecies].evolutions[0].method == EVO_LEVEL_NINJASK && gPlayerPartyCount < 6) + if (gEvolutionTable[preEvoSpecies][0].method == EVO_LEVEL_NINJASK && gPlayerPartyCount < 6) { s32 i; - struct Pokemon* Shedinja = &gPlayerParty[gPlayerPartyCount]; - const struct EvolutionData* evoTable; - const struct EvolutionData* evos; + struct Pokemon* shedinja = &gPlayerParty[gPlayerPartyCount]; + const struct Evolution *evos; + const struct Evolution *evos2; CopyMon(&gPlayerParty[gPlayerPartyCount], mon, sizeof(struct Pokemon)); - SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_SPECIES, (&gEvolutionTable[preEvoSpecies].evolutions[1].targetSpecies)); - SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_NICKNAME, (gSpeciesNames[gEvolutionTable[preEvoSpecies].evolutions[1].targetSpecies])); + SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_SPECIES, (&gEvolutionTable[preEvoSpecies][1].targetSpecies)); + SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_NICKNAME, (gSpeciesNames[gEvolutionTable[preEvoSpecies][1].targetSpecies])); SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_HELD_ITEM, (&data)); SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_MARKINGS, (&data)); SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_10, (&data)); @@ -534,15 +600,16 @@ static void CreateShedinja(u16 preEvoSpecies, struct Pokemon* mon) CalculatePlayerPartyCount(); // can't match it otherwise, ehh - evoTable = gEvolutionTable; - evos = evoTable + preEvoSpecies; - GetSetPokedexFlag(SpeciesToNationalPokedexNum(evos->evolutions[1].targetSpecies), FLAG_SET_SEEN); - GetSetPokedexFlag(SpeciesToNationalPokedexNum(evos->evolutions[1].targetSpecies), FLAG_SET_CAUGHT); + evos2 = gEvolutionTable[0]; + evos = evos2 + EVOS_PER_MON * preEvoSpecies; - if (GetMonData(Shedinja, MON_DATA_SPECIES) == SPECIES_SHEDINJA - && GetMonData(Shedinja, MON_DATA_LANGUAGE) == LANGUAGE_JAPANESE + GetSetPokedexFlag(SpeciesToNationalPokedexNum(evos[1].targetSpecies), FLAG_SET_SEEN); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(evos[1].targetSpecies), FLAG_SET_CAUGHT); + + if (GetMonData(shedinja, MON_DATA_SPECIES) == SPECIES_SHEDINJA + && GetMonData(shedinja, MON_DATA_LANGUAGE) == LANGUAGE_JAPANESE && GetMonData(mon, MON_DATA_SPECIES) == SPECIES_NINJASK) - SetMonData(Shedinja, MON_DATA_NICKNAME, gText_ShedinjaJapaneseName2); + SetMonData(shedinja, MON_DATA_NICKNAME, Text_ShedinjaJapaneseName); } } @@ -592,14 +659,14 @@ static void Task_EvolutionScene(u8 taskID) case 3: if (EvoScene_IsMonAnimFinished(sEvoStructPtr->preEvoSpriteID)) // wait for animation, play tu du SE { - PlaySE(BGM_ME_SHINKA); + PlaySE(MUS_ME_SHINKA); gTasks[taskID].tState++; } break; case 4: // play evolution music and fade screen black if (!IsSEPlaying()) { - PlayNewMapMusic(BGM_SHINKA); + PlayNewMapMusic(MUS_SHINKA); gTasks[taskID].tState++; BeginNormalPaletteFade(0x1C, 4, 0, 0x10, 0); } @@ -675,7 +742,7 @@ static void Task_EvolutionScene(u8 taskID) { StringExpandPlaceholders(gStringVar4, gText_CongratsPkmnEvolved); BattleHandleAddTextPrinter(gStringVar4, 0); - PlayBGM(BGM_FANFA5); + PlayBGM(MUS_FANFA5); gTasks[taskID].tState++; SetMonData(mon, MON_DATA_SPECIES, (void*)(&gTasks[taskID].tPostEvoSpecies)); CalculateMonStats(mon); @@ -696,7 +763,7 @@ static void Task_EvolutionScene(u8 taskID) if (!(gTasks[taskID].tBits & TASK_BIT_LEARN_MOVE)) { StopMapMusic(); - sub_8085784(); + Overworld_PlaySpecialMapMusic(); } gTasks[taskID].tBits |= TASK_BIT_LEARN_MOVE; @@ -725,7 +792,7 @@ static void Task_EvolutionScene(u8 taskID) if (!(gTasks[taskID].tBits & TASK_BIT_LEARN_MOVE)) { StopMapMusic(); - sub_8085784(); + Overworld_PlaySpecialMapMusic(); } if (!gTasks[taskID].tEvoWasStopped) CreateShedinja(gTasks[taskID].tPreEvoSpecies, mon); @@ -770,8 +837,8 @@ static void Task_EvolutionScene(u8 taskID) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { BufferMoveToLearnIntoBattleTextBuff2(); - PlayFanfare(BGM_FANFA1); - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[3]); + PlayFanfare(MUS_FANFA1); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNLEARNEDMOVE - BATTLESTRINGS_ID_ADDER]); BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); gTasks[taskID].tLearnsFirstMove = 0x40; // re-used as a counter gTasks[taskID].tState++; @@ -788,7 +855,7 @@ static void Task_EvolutionScene(u8 taskID) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { BufferMoveToLearnIntoBattleTextBuff2(); - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[4]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE1 - BATTLESTRINGS_ID_ADDER]); BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); gTasks[taskID].tLearnMoveState++; } @@ -796,7 +863,7 @@ static void Task_EvolutionScene(u8 taskID) case 1: if (!IsTextPrinterActive(0) && !IsSEPlaying()) { - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[5]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE2 - BATTLESTRINGS_ID_ADDER]); BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); gTasks[taskID].tLearnMoveState++; } @@ -804,7 +871,7 @@ static void Task_EvolutionScene(u8 taskID) case 2: if (!IsTextPrinterActive(0) && !IsSEPlaying()) { - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[6]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE3 - BATTLESTRINGS_ID_ADDER]); BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); gTasks[taskID].tData7 = 5; gTasks[taskID].tData8 = 10; @@ -881,7 +948,7 @@ static void Task_EvolutionScene(u8 taskID) u16 move = GetMonData(mon, var + MON_DATA_MOVE1); if (IsHMMove2(move)) { - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[307]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_HMMOVESCANTBEFORGOTTEN - BATTLESTRINGS_ID_ADDER]); BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); gTasks[taskID].tLearnMoveState = 12; } @@ -897,14 +964,14 @@ static void Task_EvolutionScene(u8 taskID) } break; case 7: - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[207]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_123POOF - BATTLESTRINGS_ID_ADDER]); BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); gTasks[taskID].tLearnMoveState++; break; case 8: if (!IsTextPrinterActive(0) && !IsSEPlaying()) { - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[7]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNFORGOTMOVE - BATTLESTRINGS_ID_ADDER]); BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); gTasks[taskID].tLearnMoveState++; } @@ -912,20 +979,20 @@ static void Task_EvolutionScene(u8 taskID) case 9: if (!IsTextPrinterActive(0) && !IsSEPlaying()) { - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[208]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_ANDELLIPSIS - BATTLESTRINGS_ID_ADDER]); BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); gTasks[taskID].tState = 20; } break; case 10: - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[8]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_STOPLEARNINGMOVE - BATTLESTRINGS_ID_ADDER]); BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); gTasks[taskID].tData7 = 11; gTasks[taskID].tData8 = 0; gTasks[taskID].tLearnMoveState = 3; break; case 11: - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[9]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_DIDNOTLEARNMOVE - BATTLESTRINGS_ID_ADDER]); BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); gTasks[taskID].tState = 15; break; @@ -960,15 +1027,15 @@ static void Task_TradeEvolutionScene(u8 taskID) case 2: if (IsCryFinished()) { - m4aSongNumStop(BGM_SHINKA); - PlaySE(BGM_ME_SHINKA); + m4aSongNumStop(MUS_SHINKA); + PlaySE(MUS_ME_SHINKA); gTasks[taskID].tState++; } break; case 3: if (!IsSEPlaying()) { - PlayBGM(BGM_SHINKA); + PlayBGM(MUS_SHINKA); gTasks[taskID].tState++; BeginNormalPaletteFade(0x1C, 4, 0, 0x10, 0); } @@ -1038,7 +1105,7 @@ static void Task_TradeEvolutionScene(u8 taskID) { StringExpandPlaceholders(gStringVar4, gText_CongratsPkmnEvolved); sub_807F1A8(0, gStringVar4, 1); - PlayFanfare(BGM_FANFA5); + PlayFanfare(MUS_FANFA5); gTasks[taskID].tState++; SetMonData(mon, MON_DATA_SPECIES, (&gTasks[taskID].tPostEvoSpecies)); CalculateMonStats(mon); @@ -1071,7 +1138,7 @@ static void Task_TradeEvolutionScene(u8 taskID) } else { - PlayBGM(BGM_SHINKA); + PlayBGM(MUS_SHINKA); sub_807F1A8(0, gText_CommunicationStandby5, 1); gTasks[taskID].tState++; } @@ -1115,8 +1182,8 @@ static void Task_TradeEvolutionScene(u8 taskID) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { BufferMoveToLearnIntoBattleTextBuff2(); - PlayFanfare(BGM_FANFA1); - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[3]); + PlayFanfare(MUS_FANFA1); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNLEARNEDMOVE - BATTLESTRINGS_ID_ADDER]); sub_807F1A8(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnsFirstMove = 0x40; // re-used as a counter gTasks[taskID].tState++; @@ -1133,7 +1200,7 @@ static void Task_TradeEvolutionScene(u8 taskID) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { BufferMoveToLearnIntoBattleTextBuff2(); - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[4]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE1 - BATTLESTRINGS_ID_ADDER]); sub_807F1A8(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState++; } @@ -1141,7 +1208,7 @@ static void Task_TradeEvolutionScene(u8 taskID) case 1: if (!IsTextPrinterActive(0) && !IsSEPlaying()) { - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[5]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE2 - BATTLESTRINGS_ID_ADDER]); sub_807F1A8(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState++; } @@ -1149,7 +1216,7 @@ static void Task_TradeEvolutionScene(u8 taskID) case 2: if (!IsTextPrinterActive(0) && !IsSEPlaying()) { - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[6]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE3 - BATTLESTRINGS_ID_ADDER]); sub_807F1A8(0, gDisplayedStringBattle, 1); gTasks[taskID].tData7 = 5; gTasks[taskID].tData8 = 9; @@ -1166,11 +1233,11 @@ static void Task_TradeEvolutionScene(u8 taskID) } break; case 4: - switch (sub_8198C58()) + switch (ProcessMenuInputNoWrap_()) { case 0: sEvoCursorPos = 0; - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[292]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_EMPTYSTRING3 - BATTLESTRINGS_ID_ADDER]); sub_807F1A8(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState = gTasks[taskID].tData7; if (gTasks[taskID].tLearnMoveState == 5) @@ -1179,7 +1246,7 @@ static void Task_TradeEvolutionScene(u8 taskID) case 1: case -1: sEvoCursorPos = 1; - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[292]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_EMPTYSTRING3 - BATTLESTRINGS_ID_ADDER]); sub_807F1A8(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState = gTasks[taskID].tData8; break; @@ -1215,7 +1282,7 @@ static void Task_TradeEvolutionScene(u8 taskID) u16 move = GetMonData(mon, var + MON_DATA_MOVE1); if (IsHMMove2(move)) { - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[307]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_HMMOVESCANTBEFORGOTTEN - BATTLESTRINGS_ID_ADDER]); sub_807F1A8(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState = 11; } @@ -1225,7 +1292,7 @@ static void Task_TradeEvolutionScene(u8 taskID) RemoveMonPPBonus(mon, var); SetMonMoveSlot(mon, gMoveToLearn, var); - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[207]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_123POOF - BATTLESTRINGS_ID_ADDER]); sub_807F1A8(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState++; } @@ -1235,7 +1302,7 @@ static void Task_TradeEvolutionScene(u8 taskID) case 7: if (!IsTextPrinterActive(0) && !IsSEPlaying()) { - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[7]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNFORGOTMOVE - BATTLESTRINGS_ID_ADDER]); sub_807F1A8(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState++; } @@ -1243,20 +1310,20 @@ static void Task_TradeEvolutionScene(u8 taskID) case 8: if (!IsTextPrinterActive(0) && !IsSEPlaying()) { - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[208]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_ANDELLIPSIS - BATTLESTRINGS_ID_ADDER]); sub_807F1A8(0, gDisplayedStringBattle, 1); gTasks[taskID].tState = 18; } break; case 9: - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[8]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_STOPLEARNINGMOVE - BATTLESTRINGS_ID_ADDER]); sub_807F1A8(0, gDisplayedStringBattle, 1); gTasks[taskID].tData7 = 10; gTasks[taskID].tData8 = 0; gTasks[taskID].tLearnMoveState = 3; break; case 10: - BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[9]); + BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_DIDNOTLEARNMOVE - BATTLESTRINGS_ID_ADDER]); sub_807F1A8(0, gDisplayedStringBattle, 1); gTasks[taskID].tState = 13; break; @@ -1299,7 +1366,7 @@ static void VBlankCB_EvolutionScene(void) LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); - sub_80BA0A8(); + ScanlineEffect_InitHBlankDmaTransfer(); } static void VBlankCB_TradeEvolutionScene(void) @@ -1316,7 +1383,7 @@ static void VBlankCB_TradeEvolutionScene(void) LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); - sub_80BA0A8(); + ScanlineEffect_InitHBlankDmaTransfer(); } static void sub_813FDEC(u8 taskId) @@ -1328,17 +1395,17 @@ static void sub_813FDEC(u8 taskId) if (data[5]++ < 20) return; - if (data[0]++ > gUnknown_085B58C9[data[2]][3]) + if (data[0]++ > sUnknown_085B58C9[data[2]][3]) { - if (gUnknown_085B58C9[data[2]][1] == data[1]) + if (sUnknown_085B58C9[data[2]][1] == data[1]) { data[3]++; - if (data[3] == gUnknown_085B58C9[data[2]][2]) + if (data[3] == sUnknown_085B58C9[data[2]][2]) { data[3] = 0; data[2]++; } - data[1] = gUnknown_085B58C9[data[2]][0]; + data[1] = sUnknown_085B58C9[data[2]][0]; } else { @@ -1409,7 +1476,7 @@ static void InitMovingBgValues(u16 *movingBgs) { for (j = 0; j < 16; j++) { - movingBgs[i * 16 + j] = gUnknown_085B5884[gUnknown_085B58D9[i * 16 + j]]; + movingBgs[i * 16 + j] = sUnknown_085B5884[sUnknown_085B58D9[i][j]]; } } } @@ -1426,11 +1493,11 @@ static void InitMovingBackgroundTask(bool8 isLink) else innerBgId = 1, outerBgId = 3; - LoadPalette(gUnknown_085B51E4, 0xA0, 0x20); + LoadPalette(sUnknown_085B51E4, 0xA0, 0x20); - copy_decompressed_tile_data_to_vram_autofree(1, gUnknown_085B4134, FALSE, 0, 0); - CopyToBgTilemapBuffer(1, gUnknown_085B482C, 0, 0); - CopyToBgTilemapBuffer(outerBgId, gUnknown_085B4D10, 0, 0); + copy_decompressed_tile_data_to_vram_autofree(1, sUnknown_085B4134, FALSE, 0, 0); + CopyToBgTilemapBuffer(1, sUnknown_085B482C, 0, 0); + CopyToBgTilemapBuffer(outerBgId, sUnknown_085B4D10, 0, 0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(outerBgId); diff --git a/src/field_door.c b/src/field_door.c new file mode 100644 index 0000000000..f73c6bb55f --- /dev/null +++ b/src/field_door.c @@ -0,0 +1,898 @@ +#include "global.h" +#include "field_door.h" +#include "field_camera.h" +#include "fieldmap.h" +#include "metatile_behavior.h" +#include "event_data.h" +#include "constants/songs.h" +#include "constants/flags.h" +#include "constants/maps.h" +#include "task.h" + +bool8 sub_808A964(void); + +const u8 DoorAnimTiles_04[][0x100] = +{ + INCBIN_U8("graphics/door_anims/04/0.4bpp"), + INCBIN_U8("graphics/door_anims/04/1.4bpp"), + INCBIN_U8("graphics/door_anims/04/2.4bpp"), +}; + +// TODO: Make these blank palette includes? +asm(".space 32"); + +const u8 DoorAnimTiles_05[][0x100] = +{ + INCBIN_U8("graphics/door_anims/05/0.4bpp"), + INCBIN_U8("graphics/door_anims/05/1.4bpp"), + INCBIN_U8("graphics/door_anims/05/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_08[][0x100] = +{ + INCBIN_U8("graphics/door_anims/08/0.4bpp"), + INCBIN_U8("graphics/door_anims/08/1.4bpp"), + INCBIN_U8("graphics/door_anims/08/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_15[][0x100] = +{ + INCBIN_U8("graphics/door_anims/15/0.4bpp"), + INCBIN_U8("graphics/door_anims/15/1.4bpp"), + INCBIN_U8("graphics/door_anims/15/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_16[][0x100] = +{ + INCBIN_U8("graphics/door_anims/16/0.4bpp"), + INCBIN_U8("graphics/door_anims/16/1.4bpp"), + INCBIN_U8("graphics/door_anims/16/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_00[][0x100] = +{ + INCBIN_U8("graphics/door_anims/00/0.4bpp"), + INCBIN_U8("graphics/door_anims/00/1.4bpp"), + INCBIN_U8("graphics/door_anims/00/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_01[][0x100] = +{ + INCBIN_U8("graphics/door_anims/01/0.4bpp"), + INCBIN_U8("graphics/door_anims/01/1.4bpp"), + INCBIN_U8("graphics/door_anims/01/2.4bpp"), +}; + +const u8 DoorAnimTiles_02[][0x100] = +{ + INCBIN_U8("graphics/door_anims/02/0.4bpp"), + INCBIN_U8("graphics/door_anims/02/1.4bpp"), + INCBIN_U8("graphics/door_anims/02/2.4bpp"), +}; + +const u8 DoorAnimTiles_03[][0x100] = +{ + INCBIN_U8("graphics/door_anims/03/0.4bpp"), + INCBIN_U8("graphics/door_anims/03/1.4bpp"), + INCBIN_U8("graphics/door_anims/03/2.4bpp"), +}; + +const u8 DoorAnimTiles_06[][0x100] = +{ + INCBIN_U8("graphics/door_anims/06/0.4bpp"), + INCBIN_U8("graphics/door_anims/06/1.4bpp"), + INCBIN_U8("graphics/door_anims/06/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_07[][0x100] = +{ + INCBIN_U8("graphics/door_anims/07/0.4bpp"), + INCBIN_U8("graphics/door_anims/07/1.4bpp"), + INCBIN_U8("graphics/door_anims/07/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_09[][0x100] = +{ + INCBIN_U8("graphics/door_anims/09/0.4bpp"), + INCBIN_U8("graphics/door_anims/09/1.4bpp"), + INCBIN_U8("graphics/door_anims/09/2.4bpp"), +}; + +asm(".space 0x5900"); + +const u8 DoorAnimTiles_UnusedTops[][0x40] = +{ + INCBIN_U8("graphics/door_anims/unused_848EDEC/0_top.4bpp"), + INCBIN_U8("graphics/door_anims/unused_848EDEC/1_top.4bpp"), + INCBIN_U8("graphics/door_anims/unused_848EDEC/2_top.4bpp"), +}; + +asm(".space 0x140"); + +const u8 DoorAnimTiles_UnusedBottoms[][0x40] = +{ + INCBIN_U8("graphics/door_anims/unused_848EDEC/0_bottom.4bpp"), + INCBIN_U8("graphics/door_anims/unused_848EDEC/1_bottom.4bpp"), + INCBIN_U8("graphics/door_anims/unused_848EDEC/2_bottom.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_10[][0x100] = +{ + INCBIN_U8("graphics/door_anims/10/0.4bpp"), + INCBIN_U8("graphics/door_anims/10/1.4bpp"), + INCBIN_U8("graphics/door_anims/10/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_11[][0x100] = +{ + INCBIN_U8("graphics/door_anims/11/0.4bpp"), + INCBIN_U8("graphics/door_anims/11/1.4bpp"), + INCBIN_U8("graphics/door_anims/11/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_12[][0x100] = +{ + INCBIN_U8("graphics/door_anims/12/0.4bpp"), + INCBIN_U8("graphics/door_anims/12/1.4bpp"), + INCBIN_U8("graphics/door_anims/12/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_13[][0x100] = +{ + INCBIN_U8("graphics/door_anims/13/0.4bpp"), + INCBIN_U8("graphics/door_anims/13/1.4bpp"), + INCBIN_U8("graphics/door_anims/13/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_14[][0x100] = +{ + INCBIN_U8("graphics/door_anims/14/0.4bpp"), + INCBIN_U8("graphics/door_anims/14/1.4bpp"), + INCBIN_U8("graphics/door_anims/14/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_17[][0x100] = +{ + INCBIN_U8("graphics/door_anims/17/0.4bpp"), + INCBIN_U8("graphics/door_anims/17/1.4bpp"), + INCBIN_U8("graphics/door_anims/17/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_18[][0x100] = +{ + INCBIN_U8("graphics/door_anims/18/0.4bpp"), + INCBIN_U8("graphics/door_anims/18/1.4bpp"), + INCBIN_U8("graphics/door_anims/18/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_19[][0x100] = +{ + INCBIN_U8("graphics/door_anims/19/0.4bpp"), + INCBIN_U8("graphics/door_anims/19/1.4bpp"), + INCBIN_U8("graphics/door_anims/19/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_20[][0x100] = +{ + INCBIN_U8("graphics/door_anims/20/0.4bpp"), + INCBIN_U8("graphics/door_anims/20/1.4bpp"), + INCBIN_U8("graphics/door_anims/20/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_21[][0x100] = +{ + INCBIN_U8("graphics/door_anims/21/0.4bpp"), + INCBIN_U8("graphics/door_anims/21/1.4bpp"), + INCBIN_U8("graphics/door_anims/21/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_22[][0x100] = +{ + INCBIN_U8("graphics/door_anims/22/0.4bpp"), + INCBIN_U8("graphics/door_anims/22/1.4bpp"), + INCBIN_U8("graphics/door_anims/22/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_23[][0x100] = +{ + INCBIN_U8("graphics/door_anims/23/0.4bpp"), + INCBIN_U8("graphics/door_anims/23/1.4bpp"), + INCBIN_U8("graphics/door_anims/23/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_24[][0x100] = +{ + INCBIN_U8("graphics/door_anims/24/0.4bpp"), + INCBIN_U8("graphics/door_anims/24/1.4bpp"), + INCBIN_U8("graphics/door_anims/24/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_25[][0x100] = +{ + INCBIN_U8("graphics/door_anims/25/0.4bpp"), + INCBIN_U8("graphics/door_anims/25/1.4bpp"), + INCBIN_U8("graphics/door_anims/25/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_26[][0x100] = +{ + INCBIN_U8("graphics/door_anims/26/0.4bpp"), + INCBIN_U8("graphics/door_anims/26/1.4bpp"), + INCBIN_U8("graphics/door_anims/26/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_27[][0x100] = +{ + INCBIN_U8("graphics/door_anims/27/0.4bpp"), + INCBIN_U8("graphics/door_anims/27/1.4bpp"), + INCBIN_U8("graphics/door_anims/27/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_28[][0x100] = +{ + INCBIN_U8("graphics/door_anims/28/0.4bpp"), + INCBIN_U8("graphics/door_anims/28/1.4bpp"), + INCBIN_U8("graphics/door_anims/28/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_29[][0x100] = +{ + INCBIN_U8("graphics/door_anims/29/0.4bpp"), + INCBIN_U8("graphics/door_anims/29/1.4bpp"), + INCBIN_U8("graphics/door_anims/29/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_30[][0x100] = +{ + INCBIN_U8("graphics/door_anims/30/0.4bpp"), + INCBIN_U8("graphics/door_anims/30/1.4bpp"), + INCBIN_U8("graphics/door_anims/30/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_31[][0x100] = +{ + INCBIN_U8("graphics/door_anims/31/0.4bpp"), + INCBIN_U8("graphics/door_anims/31/1.4bpp"), + INCBIN_U8("graphics/door_anims/31/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_32[][0x100] = +{ + INCBIN_U8("graphics/door_anims/32/0.4bpp"), + INCBIN_U8("graphics/door_anims/32/1.4bpp"), + INCBIN_U8("graphics/door_anims/32/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_33[][0x100] = +{ + INCBIN_U8("graphics/door_anims/33/0.4bpp"), + INCBIN_U8("graphics/door_anims/33/1.4bpp"), + INCBIN_U8("graphics/door_anims/33/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_34[][0x100] = +{ + INCBIN_U8("graphics/door_anims/34/0.4bpp"), + INCBIN_U8("graphics/door_anims/34/1.4bpp"), + INCBIN_U8("graphics/door_anims/34/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_35[][0x100] = +{ + INCBIN_U8("graphics/door_anims/35/0.4bpp"), + INCBIN_U8("graphics/door_anims/35/1.4bpp"), + INCBIN_U8("graphics/door_anims/35/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_36[][0x100] = +{ + INCBIN_U8("graphics/door_anims/36/0.4bpp"), + INCBIN_U8("graphics/door_anims/36/1.4bpp"), + INCBIN_U8("graphics/door_anims/36/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_37[][0x100] = +{ + INCBIN_U8("graphics/door_anims/37/0.4bpp"), + INCBIN_U8("graphics/door_anims/37/1.4bpp"), + INCBIN_U8("graphics/door_anims/37/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_38[][0x100] = +{ + INCBIN_U8("graphics/door_anims/38/0.4bpp"), + INCBIN_U8("graphics/door_anims/38/1.4bpp"), + INCBIN_U8("graphics/door_anims/38/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_39[][0x100] = +{ + INCBIN_U8("graphics/door_anims/39/0.4bpp"), + INCBIN_U8("graphics/door_anims/39/1.4bpp"), + INCBIN_U8("graphics/door_anims/39/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_40[][0x100] = +{ + INCBIN_U8("graphics/door_anims/40/0.4bpp"), + INCBIN_U8("graphics/door_anims/40/1.4bpp"), + INCBIN_U8("graphics/door_anims/40/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_41[][0x100] = +{ + INCBIN_U8("graphics/door_anims/41/0.4bpp"), + INCBIN_U8("graphics/door_anims/41/1.4bpp"), + INCBIN_U8("graphics/door_anims/41/2.4bpp"), +}; + +const u8 DoorAnimTiles_42[][0x100] = +{ + INCBIN_U8("graphics/door_anims/42/0.4bpp"), + INCBIN_U8("graphics/door_anims/42/1.4bpp"), + INCBIN_U8("graphics/door_anims/42/2.4bpp"), + INCBIN_U8("graphics/door_anims/42/3.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_43[][0x100] = +{ + INCBIN_U8("graphics/door_anims/43/0.4bpp"), + INCBIN_U8("graphics/door_anims/43/1.4bpp"), + INCBIN_U8("graphics/door_anims/43/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_44[][0x100] = +{ + INCBIN_U8("graphics/door_anims/44/0_left.4bpp"), + INCBIN_U8("graphics/door_anims/44/0_right.4bpp"), + INCBIN_U8("graphics/door_anims/44/1_left.4bpp"), + INCBIN_U8("graphics/door_anims/44/1_right.4bpp"), + INCBIN_U8("graphics/door_anims/44/2_left.4bpp"), + INCBIN_U8("graphics/door_anims/44/2_right.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_45[][0x100] = +{ + INCBIN_U8("graphics/door_anims/45/0.4bpp"), + INCBIN_U8("graphics/door_anims/45/1.4bpp"), + INCBIN_U8("graphics/door_anims/45/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_46[][0x100] = +{ + INCBIN_U8("graphics/door_anims/46/0.4bpp"), + INCBIN_U8("graphics/door_anims/46/1.4bpp"), + INCBIN_U8("graphics/door_anims/46/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_47[][0x100] = +{ + INCBIN_U8("graphics/door_anims/47/0.4bpp"), + INCBIN_U8("graphics/door_anims/47/1.4bpp"), + INCBIN_U8("graphics/door_anims/47/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_48[][0x100] = +{ + INCBIN_U8("graphics/door_anims/48/0.4bpp"), + INCBIN_U8("graphics/door_anims/48/1.4bpp"), + INCBIN_U8("graphics/door_anims/48/2.4bpp"), + INCBIN_U8("graphics/door_anims/48/3.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_49[][0x100] = +{ + INCBIN_U8("graphics/door_anims/49/0.4bpp"), + INCBIN_U8("graphics/door_anims/49/1.4bpp"), + INCBIN_U8("graphics/door_anims/49/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_50[][0x100] = +{ + INCBIN_U8("graphics/door_anims/50/0.4bpp"), + INCBIN_U8("graphics/door_anims/50/1.4bpp"), + INCBIN_U8("graphics/door_anims/50/2.4bpp"), +}; + +asm(".space 32"); + +static const struct DoorAnimFrame gDoorOpenAnimFrames[] = +{ + {4, -1}, + {4, 0}, + {4, 0x100}, + {4, 0x200}, + {0, 0}, +}; + +static const struct DoorAnimFrame gDoorCloseAnimFrames[] = +{ + {4, 0x200}, + {4, 0x100}, + {4, 0}, + {4, -1}, + {0, 0}, +}; + +static const struct DoorAnimFrame gBigDoorOpenAnimFrames[] = +{ + {4, -1}, + {4, 0}, + {4, 0x200}, + {4, 0x400}, + {0, 0}, +}; + +static const struct DoorAnimFrame gBigDoorCloseAnimFrames[] = +{ + {4, 0x400}, + {4, 0x200}, + {4, 0}, + {4, -1}, + {0, 0}, +}; + +const u8 DoorAnimPalettes_8496FDC[] = {1, 1, 1, 1, 1, 1, 1, 1}; // door 00 +const u8 DoorAnimPalettes_8496FE4[] = {1, 1, 1, 1, 1, 1, 1, 1}; // door 01 +const u8 DoorAnimPalettes_8496FEC[] = {5, 5, 5, 5, 5, 5, 5, 5}; // door 02 +const u8 DoorAnimPalettes_8496FF4[] = {0, 0, 1, 1, 1, 1, 1, 1}; // door 03 +const u8 DoorAnimPalettes_8496FFC[] = {10, 10, 6, 6, 6, 6, 6, 6}; // door 04 +const u8 DoorAnimPalettes_8497004[] = {8, 8, 8, 8, 8, 8, 8, 8}; // door 05 +const u8 DoorAnimPalettes_849700C[] = {11, 11, 11, 11, 11, 11, 11, 11}; // door 06 +const u8 DoorAnimPalettes_8497014[] = {10, 10, 10, 10, 10, 10, 10, 10}; // door 07 +const u8 DoorAnimPalettes_849701C[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 08 +const u8 DoorAnimPalettes_8497024[] = {8, 8, 8, 8, 8, 8, 8, 8}; // door 09 +const u8 DoorAnimPalettes_849702C[] = {10, 10, 9, 9, 9, 9, 9, 9}; // door 10 +const u8 DoorAnimPalettes_8497034[] = {9, 9, 1, 1, 1, 1, 1, 1}; // door 11 +const u8 DoorAnimPalettes_849703C[] = {8, 8, 8, 8, 8, 8, 8, 8}; // door 12 +const u8 DoorAnimPalettes_8497044[] = {9, 9, 9, 9, 9, 9, 9, 9}; // door 13 +const u8 DoorAnimPalettes_849704C[] = {6, 6, 6, 6, 6, 6, 6, 6}; // door 14 +const u8 DoorAnimPalettes_8497054[] = {6, 6, 6, 6, 6, 6, 6, 6}; // door 15 +const u8 DoorAnimPalettes_849705C[] = {0, 0, 5, 5, 5, 5, 5, 5}; // door 16 +const u8 DoorAnimPalettes_8497064[] = {6, 6, 1, 1, 1, 1, 1, 1}; // door 17 +const u8 DoorAnimPalettes_849706C[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 18 +const u8 DoorAnimPalettes_8497074[] = {6, 6, 5, 5, 5, 5, 5, 5}; // door 19 +const u8 DoorAnimPalettes_849707C[] = {5, 5, 5, 5, 5, 5, 5, 5}; // door 20 +const u8 DoorAnimPalettes_8497084[] = {1, 1, 1, 1, 1, 1, 1, 1}; // door 21 +const u8 DoorAnimPalettes_849708C[] = {6, 6, 6, 6, 6, 6, 6, 6}; // door 22 +const u8 DoorAnimPalettes_8497094[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 23 +const u8 DoorAnimPalettes_849709C[] = {5, 5, 5, 5, 5, 5, 5, 5}; // door 24 +const u8 DoorAnimPalettes_84970A4[] = {9, 9, 9, 9, 9, 9, 9, 9}; // door 25 +const u8 DoorAnimPalettes_84970AC[] = {8, 8, 8, 8, 8, 8, 8, 8}; // door 26 +const u8 DoorAnimPalettes_84970B4[] = {6, 6, 6, 6, 6, 6, 6, 6}; // door 27 +const u8 DoorAnimPalettes_84970BC[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 28 +const u8 DoorAnimPalettes_84970C4[] = {11, 11, 7, 7, 7, 7, 7, 7}; // door 29 +const u8 DoorAnimPalettes_84970CC[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 30 +const u8 DoorAnimPalettes_84970D4[] = {6, 6, 7, 7, 7, 7, 7, 7}; // door 31 +const u8 DoorAnimPalettes_84970DC[] = {9, 9, 9, 9, 9, 9, 9, 9}; // door 32 +const u8 DoorAnimPalettes_84970E4[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 33 +const u8 DoorAnimPalettes_84970EC[] = {9, 9, 9, 9, 9, 9, 9, 9}; // door 34 +const u8 DoorAnimPalettes_84970F4[] = {1, 1, 1, 1, 1, 1, 1, 1}; // door 35 +const u8 DoorAnimPalettes_84970FC[] = {9, 9, 9, 9, 9, 9, 9, 9}; // door 36 +const u8 DoorAnimPalettes_8497104[] = {0, 0, 0, 0, 0, 0, 0, 0}; // door 37 +const u8 DoorAnimPalettes_849710C[] = {5, 5, 5, 5, 5, 5, 5, 5}; // door 38 +const u8 DoorAnimPalettes_8497114[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 39 +const u8 DoorAnimPalettes_849711C[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 40 +const u8 DoorAnimPalettes_8497124[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 41 +const u8 DoorAnimPalettes_849712C[] = {1, 1, 1, 1, 1, 1, 1, 1}; // doors 42, 43, and 44 +const u8 DoorAnimPalettes_8497134[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 45 +const u8 DoorAnimPalettes_849713C[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 46 +const u8 DoorAnimPalettes_8497144[] = {1, 1, 1, 1, 1, 1, 1, 1}; // unused +const u8 DoorAnimPalettes_849714C[] = {1, 1, 1, 1, 1, 1, 1, 1}; // doors 47 and 48 +const u8 DoorAnimPalettes_8497154[] = {9, 9, 7, 7, 7, 7, 7, 7}; // door 49 +const u8 DoorAnimPalettes_849715C[] = {9, 9, 9, 9, 9, 9, 9, 9}; // door 50 +const u8 DoorAnimPalettes_8497164[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 51 +const u8 DoorAnimPalettes_849716C[] = {9, 9, 7, 7, 7, 7, 7, 7}; // door 52 + +static const struct DoorGraphics gDoorAnimGraphicsTable[] = +{ + {0x021, 0, 1, DoorAnimTiles_00, DoorAnimPalettes_8496FDC}, // door 00 + {0x061, 1, 1, DoorAnimTiles_01, DoorAnimPalettes_8496FE4}, // door 01 + {0x1CD, 1, 1, DoorAnimTiles_02, DoorAnimPalettes_8496FEC}, // door 02 + {0x041, 1, 1, DoorAnimTiles_03, DoorAnimPalettes_8496FF4}, // door 03 + {0x248, 0, 1, DoorAnimTiles_04, DoorAnimPalettes_8496FFC}, // door 04 + {0x249, 0, 1, DoorAnimTiles_05, DoorAnimPalettes_8497004}, // door 05 + {0x22F, 0, 1, DoorAnimTiles_06, DoorAnimPalettes_849700C}, // door 06 + {0x21F, 0, 1, DoorAnimTiles_07, DoorAnimPalettes_8497014}, // door 07 + {0x2A5, 0, 1, DoorAnimTiles_08, DoorAnimPalettes_849701C}, // door 08 + {0x287, 0, 1, DoorAnimTiles_09, DoorAnimPalettes_849702C}, // door 09 + {0x2AC, 0, 1, DoorAnimTiles_10, DoorAnimPalettes_849706C}, // door 10 + {0x3A1, 0, 1, DoorAnimTiles_11, DoorAnimPalettes_8497074}, // door 11 + {0x2DC, 0, 1, DoorAnimTiles_12, DoorAnimPalettes_8497064}, // door 12 + {0x225, 0, 1, DoorAnimTiles_13, DoorAnimPalettes_849705C}, // door 13 + {0x1DB, 1, 1, DoorAnimTiles_14, DoorAnimPalettes_8497084}, // door 14 + {0x246, 0, 1, DoorAnimTiles_15, DoorAnimPalettes_8497024}, // door 15 + {0x28E, 0, 1, DoorAnimTiles_16, DoorAnimPalettes_849707C}, // door 16 + {0x2A1, 0, 1, DoorAnimTiles_17, DoorAnimPalettes_8497034}, // door 17 + {0x21C, 0, 1, DoorAnimTiles_18, DoorAnimPalettes_849704C}, // door 18 + {0x21E, 0, 1, DoorAnimTiles_19, DoorAnimPalettes_8497054}, // door 19 + {0x21D, 1, 1, DoorAnimTiles_20, DoorAnimPalettes_849703C}, // door 20 + {0x21A, 0, 1, DoorAnimTiles_21, DoorAnimPalettes_8497044}, // door 21 + {0x224, 0, 1, DoorAnimTiles_22, DoorAnimPalettes_849708C}, // door 22 + {0x289, 0, 1, DoorAnimTiles_23, DoorAnimPalettes_8497094}, // door 23 + {0x30C, 1, 1, DoorAnimTiles_24, DoorAnimPalettes_849709C}, // door 24 + {0x32D, 1, 1, DoorAnimTiles_25, DoorAnimPalettes_84970A4}, // door 25 + {0x2ED, 1, 1, DoorAnimTiles_26, DoorAnimPalettes_84970AC}, // door 26 + {0x264, 1, 1, DoorAnimTiles_27, DoorAnimPalettes_84970B4}, // door 27 + {0x22B, 0, 1, DoorAnimTiles_28, DoorAnimPalettes_84970BC}, // door 28 + {0x2F7, 0, 1, DoorAnimTiles_29, DoorAnimPalettes_84970C4}, // door 29 + {0x297, 0, 1, DoorAnimTiles_30, DoorAnimPalettes_84970CC}, // door 30 + {0x285, 1, 1, DoorAnimTiles_31, DoorAnimPalettes_84970D4}, // door 31 + {0x25D, 1, 1, DoorAnimTiles_32, DoorAnimPalettes_84970DC}, // door 32 + {0x20E, 1, 1, DoorAnimTiles_33, DoorAnimPalettes_84970E4}, // door 33 + {0x3B0, 1, 1, DoorAnimTiles_34, DoorAnimPalettes_84970EC}, // door 34 + {0x28A, 1, 1, DoorAnimTiles_35, DoorAnimPalettes_84970F4}, // door 35 + {0x263, 1, 1, DoorAnimTiles_36, DoorAnimPalettes_84970FC}, // door 36 + {0x329, 1, 1, DoorAnimTiles_37, DoorAnimPalettes_8497104}, // door 37 + {0x291, 0, 1, DoorAnimTiles_38, DoorAnimPalettes_849710C}, // door 38 + {0x21B, 2, 1, DoorAnimTiles_39, DoorAnimPalettes_8497114}, // door 39 + {0x209, 1, 1, DoorAnimTiles_40, DoorAnimPalettes_849711C}, // door 40 + {0x219, 0, 1, DoorAnimTiles_41, DoorAnimPalettes_8497124}, // door 41 + {0x393, 1, 1, DoorAnimTiles_42, DoorAnimPalettes_849712C}, // door 42 + {0x3D4, 1, 1, DoorAnimTiles_42, DoorAnimPalettes_849712C}, // door 43 + {0x36C, 1, 1, DoorAnimTiles_42, DoorAnimPalettes_849712C}, // door 44 + {0x25E, 1, 1, DoorAnimTiles_43, DoorAnimPalettes_8497134}, // door 45 + {0x2AD, 1, 2, DoorAnimTiles_44, DoorAnimPalettes_849713C}, // door 46 + {0x3FC, 0, 1, DoorAnimTiles_45, DoorAnimPalettes_849714C}, // door 47 + {0x396, 1, 1, DoorAnimTiles_46, DoorAnimPalettes_849714C}, // door 48 + {0x20A, 1, 1, DoorAnimTiles_47, DoorAnimPalettes_8497154}, // door 49 + {0x26B, 1, 1, DoorAnimTiles_48, DoorAnimPalettes_849715C}, // door 50 + {0x32C, 1, 1, DoorAnimTiles_49, DoorAnimPalettes_8497164}, // door 51 + {0x383, 1, 1, DoorAnimTiles_50, DoorAnimPalettes_849716C}, // door 52 + {0, 0, 0, NULL, NULL}, +}; + +static void CopyDoorTilesToVram(const struct DoorGraphics *gfx, const struct DoorAnimFrame *frame) +{ + if (gfx->size == 2) + CpuFastSet(gfx->tiles + frame->offset, (void *)(VRAM + 0x7E00), 0x80); + else + CpuFastSet(gfx->tiles + frame->offset, (void *)(VRAM + 0x7F00), 0x40); +} + +static void door_build_blockdef(u16 *a, u16 b, const u8 *c) +{ + int i; + u16 unk; + + for (i = 0; i < 4; i++) + { + unk = *(c++) << 12; + a[i] = unk | (b + i); + } + for (; i < 8; i++) + { + unk = *(c++) << 12; + a[i] = unk; + } +} + +static void DrawCurrentDoorAnimFrame(const struct DoorGraphics *gfx, u32 x, u32 y, const u8 *pal) +{ + u16 arr[24]; + + if (gfx->size == 2) + { + door_build_blockdef(&arr[8], 0x3F0, pal); + DrawDoorMetatileAt(x, y - 1, &arr[8]); + door_build_blockdef(&arr[8], 0x3F4, pal + 4); + DrawDoorMetatileAt(x, y, &arr[8]); + door_build_blockdef(&arr[8], 0x3F8, pal); + DrawDoorMetatileAt(x + 1, y - 1, &arr[8]); + door_build_blockdef(&arr[8], 0x3FC, pal + 4); + DrawDoorMetatileAt(x + 1, y, &arr[8]); + } + else + { + door_build_blockdef(&arr[0], 0x3F8, pal); + DrawDoorMetatileAt(x, y - 1, &arr[0]); + door_build_blockdef(&arr[0], 0x3FC, pal + 4); + DrawDoorMetatileAt(x, y, &arr[0]); + } +} + +static void DrawClosedDoorTiles(const struct DoorGraphics *gfx, u32 x, u32 y) +{ + CurrentMapDrawMetatileAt(x, y - 1); + CurrentMapDrawMetatileAt(x, y); + + if (gfx->size == 2) + { + CurrentMapDrawMetatileAt(x + 1, y - 1); + CurrentMapDrawMetatileAt(x + 1, y); + } +} + +static void DrawDoor(const struct DoorGraphics *gfx, const struct DoorAnimFrame *frame, u32 x, u32 y) +{ + if (frame->offset == 0xFFFF) + { + DrawClosedDoorTiles(gfx, x, y); + if (sub_808A964()) + DrawClosedDoorTiles(gfx, gSpecialVar_0x8004 + 7, gSpecialVar_0x8005 + 7); + } + else + { + CopyDoorTilesToVram(gfx, frame); + DrawCurrentDoorAnimFrame(gfx, x, y, gfx->palette); + if (sub_808A964()) + DrawCurrentDoorAnimFrame(gfx, gSpecialVar_0x8004 + 7, gSpecialVar_0x8005 + 7, gfx->palette); + } +} + +enum +{ + TD_FRAMELIST = 0, + TD_GFX = 2, + TD_FRAME = 4, + TD_COUNTER, + TD_X, + TD_Y +}; + +static bool32 sub_808A5F0(struct DoorGraphics *gfx, struct DoorAnimFrame *frames, s16 *taskData) +{ + if (taskData[TD_COUNTER] == 0) + DrawDoor(gfx, &frames[taskData[TD_FRAME]], taskData[TD_X], taskData[TD_Y]); + if (taskData[TD_COUNTER] == frames[taskData[TD_FRAME]].time) + { + taskData[TD_COUNTER] = 0; + taskData[TD_FRAME]++; + if (frames[taskData[TD_FRAME]].time == 0) + return FALSE; + else + return TRUE; + } + taskData[TD_COUNTER]++; + return TRUE; +} + +static void Task_AnimateDoor(u8 taskId) +{ + u16 *taskData = gTasks[taskId].data; + struct DoorAnimFrame *frames = (struct DoorAnimFrame *)(taskData[TD_FRAMELIST] << 16 | taskData[TD_FRAMELIST + 1]); + struct DoorGraphics *gfx = (struct DoorGraphics *)(taskData[TD_GFX] << 16 | taskData[TD_GFX + 1]); + + if (sub_808A5F0(gfx, frames, taskData) == FALSE) + DestroyTask(taskId); +} + +static const struct DoorAnimFrame *GetLastDoorFrame(const struct DoorAnimFrame *frame, const void *unused) +{ + while (frame->time != 0) + frame++; + return frame - 1; +} + +static const struct DoorGraphics *GetDoorGraphics(const struct DoorGraphics *gfx, u16 metatileNum) +{ + while (gfx->tiles != NULL) + { + if (gfx->metatileNum == metatileNum) + return gfx; + gfx++; + } + return NULL; +} + +static s8 StartDoorAnimationTask(const struct DoorGraphics *gfx, const struct DoorAnimFrame *frames, u32 x, u32 y) +{ + if (FuncIsActiveTask(Task_AnimateDoor) == TRUE) + return -1; + else + { + u8 taskId = CreateTask(Task_AnimateDoor, 0x50); + s16 *taskData = gTasks[taskId].data; + + taskData[TD_X] = x; + taskData[TD_Y] = y; + + taskData[TD_FRAMELIST + 1] = (u32)frames; + taskData[TD_FRAMELIST] = (u32)frames >> 16; + + taskData[TD_GFX + 1] = (u32)gfx; + taskData[TD_GFX] = (u32)gfx >> 16; + + return taskId; + } +} + +static void DrawClosedDoor(const struct DoorGraphics *gfx, u32 x, u32 y) +{ + DrawClosedDoorTiles(gfx, x, y); +} + +static void DrawOpenedDoor(const struct DoorGraphics *gfx, u32 x, u32 y) +{ + gfx = GetDoorGraphics(gfx, MapGridGetMetatileIdAt(x, y)); + if (gfx != NULL) + DrawDoor(gfx, GetLastDoorFrame(gDoorOpenAnimFrames, gDoorOpenAnimFrames), x, y); +} + +static s8 StartDoorOpenAnimation(const struct DoorGraphics *gfx, u32 x, u32 y) +{ + gfx = GetDoorGraphics(gfx, MapGridGetMetatileIdAt(x, y)); + if (gfx == NULL) + { + return -1; + } + else + { + if (gfx->size == 2) + return StartDoorAnimationTask(gfx, gBigDoorOpenAnimFrames, x, y); + else + return StartDoorAnimationTask(gfx, gDoorOpenAnimFrames, x, y); + } +} + +static s8 StartDoorCloseAnimation(const struct DoorGraphics *gfx, u32 x, u32 y) +{ + gfx = GetDoorGraphics(gfx, MapGridGetMetatileIdAt(x, y)); + if (gfx == NULL) + return -1; + else + return StartDoorAnimationTask(gfx, gDoorCloseAnimFrames, x, y); +} + +static s8 cur_mapdata_get_door_x2_at(const struct DoorGraphics *gfx, u32 x, u32 y) +{ + gfx = GetDoorGraphics(gfx, MapGridGetMetatileIdAt(x, y)); + if (gfx == NULL) + return -1; + else + return gfx->sound; +} + +void unref_sub_808A83C(u32 x, u32 y) +{ + StartDoorOpenAnimation(gDoorAnimGraphicsTable, x, y); +} + +void FieldSetDoorOpened(u32 x, u32 y) +{ + if (MetatileBehavior_IsDoor(MapGridGetMetatileBehaviorAt(x, y))) + DrawOpenedDoor(gDoorAnimGraphicsTable, x, y); +} + +void FieldSetDoorClosed(u32 x, u32 y) +{ + if (MetatileBehavior_IsDoor(MapGridGetMetatileBehaviorAt(x, y))) + DrawClosedDoor(gDoorAnimGraphicsTable, x, y); +} + +s8 FieldAnimateDoorClose(u32 x, u32 y) +{ + if (!MetatileBehavior_IsDoor(MapGridGetMetatileBehaviorAt(x, y))) + return -1; + else + return StartDoorCloseAnimation(gDoorAnimGraphicsTable, x, y); +} + +s8 FieldAnimateDoorOpen(u32 x, u32 y) +{ + if (!MetatileBehavior_IsDoor(MapGridGetMetatileBehaviorAt(x, y))) + return -1; + else + return StartDoorOpenAnimation(gDoorAnimGraphicsTable, x, y); +} + +bool8 FieldIsDoorAnimationRunning(void) +{ + return FuncIsActiveTask(Task_AnimateDoor); +} + +u32 GetDoorSoundEffect(u32 x, u32 y) +{ + int sound = cur_mapdata_get_door_x2_at(gDoorAnimGraphicsTable, x, y); + + if (sound == 0) + return SE_DOOR; + else if (sound == 1) + return SE_JIDO_DOA; + else if (sound == 2) + return SE_TU_SAA; + else + return SE_DOOR; +} + +bool8 sub_808A964(void) +{ + if (FlagGet(FLAG_SPECIAL_FLAG_0x4002)) + { + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2)) + { + return TRUE; + } + } + return FALSE; +} diff --git a/src/field_map_obj.c b/src/field_map_obj.c old mode 100755 new mode 100644 index 9932563f26..906eff4b75 --- a/src/field_map_obj.c +++ b/src/field_map_obj.c @@ -4,7 +4,7 @@ #include "malloc.h" #include "sprite.h" #include "overworld.h" -#include "rng.h" +#include "random.h" #include "event_scripts.h" #include "berry.h" #include "palette.h" @@ -14,7 +14,7 @@ #include "rom_818CFC8.h" #include "rom_81BE66C.h" #include "field_ground_effect.h" -#include "map_obj_8097404.h" +#include "field_map_obj_helpers.h" #include "mauville_old_man.h" #include "metatile_behavior.h" #include "field_effect.h" @@ -30,7 +30,7 @@ bool8 FieldObjectCB2_##name(struct MapObject *, struct Sprite *);\ void FieldObjectCB_##name(struct Sprite *sprite)\ {\ - FieldObjectStep(&gMapObjects[sprite->data0], sprite, FieldObjectCB2_##name);\ + FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, FieldObjectCB2_##name);\ }\ bool8 FieldObjectCB2_##name(struct MapObject *mapObject, struct Sprite *sprite)\ {\ @@ -42,11 +42,11 @@ extern bool8 (*const (table)[])(struct MapObject *, struct Sprite *);\ bool8 FieldObjectCB2_##name(struct MapObject *, struct Sprite *);\ void FieldObjectCB_##name(struct Sprite *sprite)\ {\ - FieldObjectStep(&gMapObjects[sprite->data0], sprite, FieldObjectCB2_##name);\ + FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, FieldObjectCB2_##name);\ }\ bool8 FieldObjectCB2_##name(struct MapObject *mapObject, struct Sprite *sprite)\ {\ - return (table)[sprite->data1](mapObject, sprite);\ + return (table)[sprite->data[1]](mapObject, sprite);\ } #define field_object_path(idx, table, sub, path, catch, coord)\ @@ -655,7 +655,7 @@ static u8 SpawnFieldObjectInternal(struct MapObjectTemplate *mapObjectTemplate, sprite->pos1.y += 16 + sprite->centerToCornerVecY; sprite->oam.paletteNum = paletteSlot; sprite->coordOffsetEnabled = TRUE; - sprite->data0 = mapObjectId; + sprite->data[0] = mapObjectId; mapObject->spriteId = spriteId; mapObject->mapobj_bit_12 = graphicsInfo->inanimate; if (!mapObject->mapobj_bit_12) @@ -813,8 +813,8 @@ u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction) sprite->oam.paletteNum -= 16; } sprite->coordOffsetEnabled = TRUE; - sprite->data0 = a1; - sprite->data1 = z; + sprite->data[0] = a1; + sprite->data[1] = z; if (graphicsInfo->paletteSlot == 10) { npc_load_two_palettes__and_record(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); @@ -1003,7 +1003,7 @@ static void sub_808E1B8(u8 mapObjectId, s16 x, s16 y) } sprite->oam.paletteNum = paletteSlot; sprite->coordOffsetEnabled = TRUE; - sprite->data0 = mapObjectId; + sprite->data[0] = mapObjectId; mapObject->spriteId = spriteId; if (!mapObject->mapobj_bit_12 && mapObject->animPattern != 0x0b) { @@ -1174,11 +1174,11 @@ void npc_by_local_id_and_map_set_field_1_bit_x20(u8 localId, u8 mapNum, u8 mapGr } } -void FieldObjectGetLocalIdAndMap(struct MapObject *mapObject, u8 *localId, u8 *mapNum, u8 *mapGroup) +void FieldObjectGetLocalIdAndMap(struct MapObject *mapObject, void *localId, void *mapNum, void *mapGroup) { - *localId = mapObject->localId; - *mapNum = mapObject->mapNum; - *mapGroup = mapObject->mapGroup; + *(u8*)(localId) = mapObject->localId; + *(u8*)(mapNum) = mapObject->mapNum; + *(u8*)(mapGroup) = mapObject->mapGroup; } void sub_808E75C(s16 x, s16 y) @@ -1463,7 +1463,7 @@ u8 AddCameraObject(u8 linkedSpriteId) spriteId = CreateSprite(&gUnknown_084975D4, 0, 0, 4); gSprites[spriteId].invisible = TRUE; - gSprites[spriteId].data0 = linkedSpriteId; + gSprites[spriteId].data[0] = linkedSpriteId; return spriteId; } @@ -1472,15 +1472,15 @@ void ObjectCB_CameraObject(struct Sprite *sprite) void (*callbacks[ARRAY_COUNT(gUnknown_084975EC)])(struct Sprite *); memcpy(callbacks, gUnknown_084975EC, sizeof gUnknown_084975EC); - callbacks[sprite->data1](sprite); + callbacks[sprite->data[1]](sprite); } /*static*/ void CameraObject_0(struct Sprite *sprite) { - sprite->pos1.x = gSprites[sprite->data0].pos1.x; - sprite->pos1.y = gSprites[sprite->data0].pos1.y; + sprite->pos1.x = gSprites[sprite->data[0]].pos1.x; + sprite->pos1.y = gSprites[sprite->data[0]].pos1.y; sprite->invisible = TRUE; - sprite->data1 = 1; + sprite->data[1] = 1; CameraObject_1(sprite); } @@ -1489,20 +1489,20 @@ void ObjectCB_CameraObject(struct Sprite *sprite) s16 x; s16 y; - y = gSprites[sprite->data0].pos1.y; - x = gSprites[sprite->data0].pos1.x; - sprite->data2 = x - sprite->pos1.x; - sprite->data3 = y - sprite->pos1.y; + y = gSprites[sprite->data[0]].pos1.y; + x = gSprites[sprite->data[0]].pos1.x; + sprite->data[2] = x - sprite->pos1.x; + sprite->data[3] = y - sprite->pos1.y; sprite->pos1.x = x; sprite->pos1.y = y; } /*static*/ void CameraObject_2(struct Sprite *sprite) { - sprite->pos1.x = gSprites[sprite->data0].pos1.x; - sprite->pos1.y = gSprites[sprite->data0].pos1.y; - sprite->data2 = 0; - sprite->data3 = 0; + sprite->pos1.x = gSprites[sprite->data[0]].pos1.x; + sprite->pos1.y = gSprites[sprite->data[0]].pos1.y; + sprite->data[2] = 0; + sprite->data[3] = 0; } static struct Sprite *FindCameraObject(void) @@ -1526,7 +1526,7 @@ void CameraObjectReset1(void) cameraObject = FindCameraObject(); if (cameraObject != NULL) { - cameraObject->data1 = 0; + cameraObject->data[1] = 0; cameraObject->callback(cameraObject); } } @@ -1538,7 +1538,7 @@ void CameraObjectSetFollowedObjectId(u8 objectId) cameraObject = FindCameraObject(); if (cameraObject != NULL) { - cameraObject->data0 = objectId; + cameraObject->data[0] = objectId; CameraObjectReset1(); } } @@ -1552,12 +1552,12 @@ u8 CameraObjectGetFollowedObjectId(void) { return MAX_SPRITES; } - return cameraObject->data0; + return cameraObject->data[0]; } void CameraObjectReset2(void) { - FindCameraObject()->data1 = 2; + FindCameraObject()->data[1] = 2; } u8 CopySprite(struct Sprite *sprite, s16 x, s16 y, u8 subpriority) @@ -1765,10 +1765,10 @@ void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat) switch (decorCat) { case DECORCAT_DOLL: - sub_808F228(&gMapObjects[mapObjectId], gUnknown_082766A2); + sub_808F228(&gMapObjects[mapObjectId], EventScript_2766A2); break; case DECORCAT_CUSHION: - sub_808F228(&gMapObjects[mapObjectId], gUnknown_082766A6); + sub_808F228(&gMapObjects[mapObjectId], EventScript_2766A6); break; } } @@ -1818,14 +1818,14 @@ field_object_step(GoRandomDirections, gUnknown_0850D6F4) bool8 sub_808F44C(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } bool8 sub_808F460(struct MapObject *mapObject, struct Sprite *sprite) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -1836,7 +1836,7 @@ bool8 sub_808F48C(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); - sprite->data1 = 3; + sprite->data[1] = 3; return TRUE; } @@ -1844,7 +1844,7 @@ bool8 sub_808F4C8(struct MapObject *mapObject, struct Sprite *sprite) { if (RunFieldObjectStepTimer(sprite)) { - sprite->data1 = 4; + sprite->data[1] = 4; return TRUE; } return FALSE; @@ -1858,10 +1858,10 @@ bool8 sub_808F4E8(struct MapObject *mapObject, struct Sprite *sprite) memcpy(directions, gUnknown_0850D710, sizeof directions); chosenDirection = directions[Random() & 0x03]; FieldObjectSetDirection(mapObject, chosenDirection); - sprite->data1 = 5; + sprite->data[1] = 5; if (npc_block_way__next_tile(mapObject, chosenDirection)) { - sprite->data1 = 1; + sprite->data[1] = 1; } return TRUE; } @@ -1870,7 +1870,7 @@ bool8 sub_808F534(struct MapObject *mapObject, struct Sprite *sprite) { FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->placeholder18)); mapObject->mapobj_bit_1 = TRUE; - sprite->data1 = 6; + sprite->data[1] = 6; return TRUE; } @@ -1879,7 +1879,7 @@ bool8 sub_808F564(struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { mapObject->mapobj_bit_1 = FALSE; - sprite->data1 = 1; + sprite->data[1] = 1; } return FALSE; } @@ -2140,14 +2140,14 @@ field_object_step(LookRandomDirections, gUnknown_0850D740) bool8 sub_808F988(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } bool8 sub_808F99C(struct MapObject *mapObject, struct Sprite *sprite) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -2157,7 +2157,7 @@ bool8 sub_808F9C8(struct MapObject *mapObject, struct Sprite *sprite) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); mapObject->mapobj_bit_1 = FALSE; - sprite->data1 = 3; + sprite->data[1] = 3; } return FALSE; } @@ -2166,7 +2166,7 @@ bool8 sub_808FA0C(struct MapObject *mapObject, struct Sprite *sprite) { if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { - sprite->data1 = 4; + sprite->data[1] = 4; return TRUE; } return FALSE; @@ -2184,7 +2184,7 @@ bool8 sub_808FA3C(struct MapObject *mapObject, struct Sprite *sprite) direction = directions[Random() & 0x03]; } FieldObjectSetDirection(mapObject, direction); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } @@ -2193,14 +2193,14 @@ field_object_step(RandomlyGoNorthOrSouth, gUnknown_0850D754) bool8 sub_808FAC8(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } bool8 sub_808FADC(struct MapObject *mapObject, struct Sprite *sprite) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -2211,7 +2211,7 @@ bool8 sub_808FB08(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); - sprite->data1 = 3; + sprite->data[1] = 3; return TRUE; } @@ -2219,7 +2219,7 @@ bool8 sub_808FB44(struct MapObject *mapObject, struct Sprite *sprite) { if (RunFieldObjectStepTimer(sprite)) { - sprite->data1 = 4; + sprite->data[1] = 4; return TRUE; } return FALSE; @@ -2233,10 +2233,10 @@ bool8 sub_808FB64(struct MapObject *mapObject, struct Sprite *sprite) memcpy(directions, gUnknown_0850D770, sizeof directions); direction = directions[Random() & 0x01]; FieldObjectSetDirection(mapObject, direction); - sprite->data1 = 5; + sprite->data[1] = 5; if (npc_block_way__next_tile(mapObject, direction)) { - sprite->data1 = 1; + sprite->data[1] = 1; } return TRUE; } @@ -2245,7 +2245,7 @@ bool8 sub_808FBB0(struct MapObject *mapObject, struct Sprite *sprite) { FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->placeholder18)); mapObject->mapobj_bit_1 = TRUE; - sprite->data1 = 6; + sprite->data[1] = 6; return TRUE; } @@ -2254,7 +2254,7 @@ bool8 sub_808FBE0(struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { mapObject->mapobj_bit_1 = FALSE; - sprite->data1 = 1; + sprite->data[1] = 1; } return FALSE; } @@ -2264,14 +2264,14 @@ field_object_step(RandomlyGoEastOrWest, gUnknown_0850D774) bool8 sub_808FC4C(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } bool8 sub_808FC60(struct MapObject *mapObject, struct Sprite *sprite) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -2282,7 +2282,7 @@ bool8 sub_808FC8C(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); - sprite->data1 = 3; + sprite->data[1] = 3; return TRUE; } @@ -2290,7 +2290,7 @@ bool8 sub_808FCC8(struct MapObject *mapObject, struct Sprite *sprite) { if (RunFieldObjectStepTimer(sprite)) { - sprite->data1 = 4; + sprite->data[1] = 4; return TRUE; } return FALSE; @@ -2304,10 +2304,10 @@ bool8 sub_808FCE8(struct MapObject *mapObject, struct Sprite *sprite) memcpy(directions, gUnknown_0850D790, sizeof directions); direction = directions[Random() & 0x01]; FieldObjectSetDirection(mapObject, direction); - sprite->data1 = 5; + sprite->data[1] = 5; if (npc_block_way__next_tile(mapObject, direction)) { - sprite->data1 = 1; + sprite->data[1] = 1; } return TRUE; } @@ -2316,7 +2316,7 @@ bool8 sub_808FD34(struct MapObject *mapObject, struct Sprite *sprite) { FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->placeholder18)); mapObject->mapobj_bit_1 = TRUE; - sprite->data1 = 6; + sprite->data[1] = 6; return TRUE; } @@ -2325,7 +2325,7 @@ bool8 sub_808FD64(struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { mapObject->mapobj_bit_1 = FALSE; - sprite->data1 = 1; + sprite->data[1] = 1; } return FALSE; } @@ -2336,7 +2336,7 @@ bool8 sub_808FDD0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } @@ -2344,7 +2344,7 @@ bool8 sub_808FDFC(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } return FALSE; @@ -2362,17 +2362,17 @@ void FieldObjectCB_BerryTree(struct Sprite *sprite) { struct MapObject *mapObject; - mapObject = &gMapObjects[sprite->data0]; - if (!(sprite->data7 & 0x0001)) + mapObject = &gMapObjects[sprite->data[0]]; + if (!(sprite->data[7] & 0x0001)) { get_berry_tree_graphics(mapObject, sprite); - sprite->data7 |= 0x0001; + sprite->data[7] |= 0x0001; } FieldObjectStep(mapObject, sprite, FieldObjectCB2_BerryTree); } static bool8 FieldObjectCB2_BerryTree(struct MapObject *mapObject, struct Sprite *sprite) { - return gUnknown_0850D7A0[sprite->data1](mapObject, sprite); + return gUnknown_0850D7A0[sprite->data[1]](mapObject, sprite); } bool8 do_berry_tree_growth_sparkle_1 (struct MapObject *mapObject, struct Sprite *sprite) @@ -2385,7 +2385,7 @@ bool8 do_berry_tree_growth_sparkle_1 (struct MapObject *mapObject, struct Sprite berryStage = GetStageByBerryTreeId(mapObject->trainerRange_berryTreeId); if (berryStage == 0) { - if (!(sprite->data7 & 0x0004) && sprite->animNum == 4) + if (!(sprite->data[7] & 0x0004) && sprite->animNum == 4) { gFieldEffectArguments[0] = mapObject->coords2.x; gFieldEffectArguments[1] = mapObject->coords2.y; @@ -2401,12 +2401,12 @@ bool8 do_berry_tree_growth_sparkle_1 (struct MapObject *mapObject, struct Sprite berryStage --; if (sprite->animNum != berryStage) { - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } get_berry_tree_graphics(mapObject, sprite); FieldObjectSetRegularAnim(mapObject, sprite, 0x39); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } @@ -2414,7 +2414,7 @@ bool8 sub_808FF48 (struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - sprite->data1 = 0; + sprite->data[1] = 0; return TRUE; } return FALSE; @@ -2423,9 +2423,9 @@ bool8 sub_808FF48 (struct MapObject *mapObject, struct Sprite *sprite) bool8 do_berry_tree_growth_sparkle_2 (struct MapObject *mapObject, struct Sprite *sprite) { mapObject->mapobj_bit_1 = TRUE; - sprite->data1 = 3; - sprite->data2 = 0; - sprite->data7 |= 0x0002; + sprite->data[1] = 3; + sprite->data[2] = 0; + sprite->data[7] |= 0x0002; gFieldEffectArguments[0] = mapObject->coords2.x; gFieldEffectArguments[1] = mapObject->coords2.y; gFieldEffectArguments[2] = sprite->subpriority - 1; @@ -2436,14 +2436,14 @@ bool8 do_berry_tree_growth_sparkle_2 (struct MapObject *mapObject, struct Sprite bool8 sub_808FFB4 (struct MapObject *mapObject, struct Sprite *sprite) { - sprite->data2 ++; - mapObject->mapobj_bit_13 = (sprite->data2 & 0x02) >> 1; + sprite->data[2] ++; + mapObject->mapobj_bit_13 = (sprite->data[2] & 0x02) >> 1; sprite->animPaused = TRUE; - if (sprite->data2 > 64) + if (sprite->data[2] > 64) { get_berry_tree_graphics(mapObject, sprite); - sprite->data1 = 4; - sprite->data2 = 0; + sprite->data[1] = 4; + sprite->data[2] = 0; return TRUE; } return FALSE; @@ -2451,13 +2451,13 @@ bool8 sub_808FFB4 (struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8090004 (struct MapObject *mapObject, struct Sprite *sprite) { - sprite->data2 ++; - mapObject->mapobj_bit_13 = (sprite->data2 & 0x02) >> 1; + sprite->data[2] ++; + mapObject->mapobj_bit_13 = (sprite->data[2] & 0x02) >> 1; sprite->animPaused = TRUE; - if (sprite->data2 > 64) + if (sprite->data[2] > 64) { - sprite->data1 = 0; - sprite->data7 &= ~0x0002; + sprite->data[1] = 0; + sprite->data[7] &= ~0x0002; return TRUE; } return FALSE; @@ -2468,14 +2468,14 @@ field_object_step(RandomlyLookNorthOrSouth, gUnknown_0850D7B4) bool8 sub_8090094 (struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } bool8 sub_80900A8 (struct MapObject *mapObject, struct Sprite *sprite) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -2485,7 +2485,7 @@ bool8 sub_80900D4 (struct MapObject *mapObject, struct Sprite *sprite) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); mapObject->mapobj_bit_1 = FALSE; - sprite->data1 = 3; + sprite->data[1] = 3; } return FALSE; } @@ -2494,7 +2494,7 @@ bool8 sub_8090118 (struct MapObject *mapObject, struct Sprite *sprite) { if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { - sprite->data1 = 4; + sprite->data[1] = 4; return TRUE; } return FALSE; @@ -2512,7 +2512,7 @@ bool8 sub_8090148 (struct MapObject *mapObject, struct Sprite *sprite) direction = directions[Random() & 0x01]; } FieldObjectSetDirection(mapObject, direction); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } @@ -2521,14 +2521,14 @@ field_object_step(RandomlyLookEastOrWest, gUnknown_0850D7C8) bool8 sub_80901D4 (struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } bool8 sub_80901E8 (struct MapObject *mapObject, struct Sprite *sprite) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -2538,7 +2538,7 @@ bool8 sub_8090214 (struct MapObject *mapObject, struct Sprite *sprite) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); mapObject->mapobj_bit_1 = FALSE; - sprite->data1 = 3; + sprite->data[1] = 3; } return FALSE; } @@ -2547,7 +2547,7 @@ bool8 sub_8090258 (struct MapObject *mapObject, struct Sprite *sprite) { if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { - sprite->data1 = 4; + sprite->data[1] = 4; return TRUE; } return FALSE; @@ -2565,7 +2565,7 @@ bool8 sub_8090288 (struct MapObject *mapObject, struct Sprite *sprite) direction = directions[Random() & 0x01]; } FieldObjectSetDirection(mapObject, direction); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } @@ -2574,14 +2574,14 @@ field_object_step(RandomlyLookNorthOrWest, gUnknown_0850D7DC) bool8 sub_8090314 (struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } bool8 sub_8090328 (struct MapObject *mapObject, struct Sprite *sprite) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -2591,7 +2591,7 @@ bool8 sub_8090354 (struct MapObject *mapObject, struct Sprite *sprite) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); mapObject->mapobj_bit_1 = FALSE; - sprite->data1 = 3; + sprite->data[1] = 3; } return FALSE; } @@ -2600,7 +2600,7 @@ bool8 sub_8090398 (struct MapObject *mapObject, struct Sprite *sprite) { if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { - sprite->data1 = 4; + sprite->data[1] = 4; return TRUE; } return FALSE; @@ -2618,7 +2618,7 @@ bool8 sub_80903C8 (struct MapObject *mapObject, struct Sprite *sprite) direction = directions[Random() & 0x01]; } FieldObjectSetDirection(mapObject, direction); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } @@ -2627,14 +2627,14 @@ field_object_step(RandomlyLookNorthOrEast, gUnknown_0850D7F4) bool8 sub_8090454 (struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } bool8 sub_8090468 (struct MapObject *mapObject, struct Sprite *sprite) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -2644,7 +2644,7 @@ bool8 sub_8090494 (struct MapObject *mapObject, struct Sprite *sprite) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); mapObject->mapobj_bit_1 = FALSE; - sprite->data1 = 3; + sprite->data[1] = 3; } return FALSE; } @@ -2653,7 +2653,7 @@ bool8 sub_80904D8 (struct MapObject *mapObject, struct Sprite *sprite) { if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { - sprite->data1 = 4; + sprite->data[1] = 4; return TRUE; } return FALSE; @@ -2671,7 +2671,7 @@ bool8 sub_8090508 (struct MapObject *mapObject, struct Sprite *sprite) direction = directions[Random() & 0x01]; } FieldObjectSetDirection(mapObject, direction); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } @@ -2680,14 +2680,14 @@ field_object_step(RandomlyLookSouthOrWest, gUnknown_0850D80C) bool8 sub_8090594 (struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } bool8 sub_80905A8 (struct MapObject *mapObject, struct Sprite *sprite) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -2697,7 +2697,7 @@ bool8 sub_80905D4 (struct MapObject *mapObject, struct Sprite *sprite) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); mapObject->mapobj_bit_1 = FALSE; - sprite->data1 = 3; + sprite->data[1] = 3; } return FALSE; } @@ -2706,7 +2706,7 @@ bool8 sub_8090618 (struct MapObject *mapObject, struct Sprite *sprite) { if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { - sprite->data1 = 4; + sprite->data[1] = 4; return TRUE; } return FALSE; @@ -2724,7 +2724,7 @@ bool8 sub_8090648 (struct MapObject *mapObject, struct Sprite *sprite) direction = directions[Random() & 0x01]; } FieldObjectSetDirection(mapObject, direction); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } @@ -2733,14 +2733,14 @@ field_object_step(RandomlyLookSouthOrEast, gUnknown_0850D824) bool8 sub_80906D4 (struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } bool8 sub_80906E8 (struct MapObject *mapObject, struct Sprite *sprite) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -2750,7 +2750,7 @@ bool8 sub_8090714 (struct MapObject *mapObject, struct Sprite *sprite) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); mapObject->mapobj_bit_1 = FALSE; - sprite->data1 = 3; + sprite->data[1] = 3; } return FALSE; } @@ -2759,7 +2759,7 @@ bool8 sub_8090758 (struct MapObject *mapObject, struct Sprite *sprite) { if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { - sprite->data1 = 4; + sprite->data[1] = 4; return TRUE; } return FALSE; @@ -2777,7 +2777,7 @@ bool8 sub_8090788 (struct MapObject *mapObject, struct Sprite *sprite) direction = directions[Random() & 0x01]; } FieldObjectSetDirection(mapObject, direction); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } @@ -2786,14 +2786,14 @@ field_object_step(RandomlyLookNorthOrSouthOrWest, gUnknown_0850D83C) bool8 sub_8090814 (struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } bool8 sub_8090828 (struct MapObject *mapObject, struct Sprite *sprite) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -2803,7 +2803,7 @@ bool8 sub_8090854 (struct MapObject *mapObject, struct Sprite *sprite) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); mapObject->mapobj_bit_1 = FALSE; - sprite->data1 = 3; + sprite->data[1] = 3; } return FALSE; } @@ -2812,7 +2812,7 @@ bool8 sub_8090898 (struct MapObject *mapObject, struct Sprite *sprite) { if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { - sprite->data1 = 4; + sprite->data[1] = 4; return TRUE; } return FALSE; @@ -2830,7 +2830,7 @@ bool8 sub_80908C8 (struct MapObject *mapObject, struct Sprite *sprite) direction = directions[Random() & 0x03]; } FieldObjectSetDirection(mapObject, direction); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } @@ -2839,14 +2839,14 @@ field_object_step(RandomlyLookNorthOrSouthOrEast, gUnknown_0850D854) bool8 sub_8090954 (struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } bool8 sub_8090968 (struct MapObject *mapObject, struct Sprite *sprite) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -2856,7 +2856,7 @@ bool8 sub_8090994 (struct MapObject *mapObject, struct Sprite *sprite) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); mapObject->mapobj_bit_1 = FALSE; - sprite->data1 = 3; + sprite->data[1] = 3; } return FALSE; } @@ -2865,7 +2865,7 @@ bool8 sub_80909D8 (struct MapObject *mapObject, struct Sprite *sprite) { if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { - sprite->data1 = 4; + sprite->data[1] = 4; return TRUE; } return FALSE; @@ -2883,7 +2883,7 @@ bool8 sub_8090A08 (struct MapObject *mapObject, struct Sprite *sprite) direction = directions[Random() & 0x03]; } FieldObjectSetDirection(mapObject, direction); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } @@ -2892,14 +2892,14 @@ field_object_step(RandomlyLookNorthOrEastOrWest, gUnknown_0850D86C) bool8 sub_8090A94 (struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } bool8 sub_8090AA8 (struct MapObject *mapObject, struct Sprite *sprite) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -2909,7 +2909,7 @@ bool8 sub_8090AD4 (struct MapObject *mapObject, struct Sprite *sprite) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); mapObject->mapobj_bit_1 = FALSE; - sprite->data1 = 3; + sprite->data[1] = 3; } return FALSE; } @@ -2918,7 +2918,7 @@ bool8 sub_8090B18 (struct MapObject *mapObject, struct Sprite *sprite) { if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { - sprite->data1 = 4; + sprite->data[1] = 4; return TRUE; } return FALSE; @@ -2936,7 +2936,7 @@ bool8 sub_8090B48 (struct MapObject *mapObject, struct Sprite *sprite) direction = directions[Random() & 0x03]; } FieldObjectSetDirection(mapObject, direction); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } @@ -2945,14 +2945,14 @@ field_object_step(RandomlyLookSouthOrEastOrWest, gUnknown_0850D884) bool8 sub_8090BD4 (struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } bool8 sub_8090BE8 (struct MapObject *mapObject, struct Sprite *sprite) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -2962,7 +2962,7 @@ bool8 sub_8090C14 (struct MapObject *mapObject, struct Sprite *sprite) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); mapObject->mapobj_bit_1 = FALSE; - sprite->data1 = 3; + sprite->data[1] = 3; } return FALSE; } @@ -2971,7 +2971,7 @@ bool8 sub_8090C58 (struct MapObject *mapObject, struct Sprite *sprite) { if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { - sprite->data1 = 4; + sprite->data[1] = 4; return TRUE; } return FALSE; @@ -2989,7 +2989,7 @@ bool8 sub_8090C88 (struct MapObject *mapObject, struct Sprite *sprite) direction = directions[Random() & 0x03]; } FieldObjectSetDirection(mapObject, direction); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } @@ -2999,7 +2999,7 @@ bool8 sub_8090D14 (struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } @@ -3008,7 +3008,7 @@ bool8 sub_8090D40 (struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { SetFieldObjectStepTimer(sprite, 48); - sprite->data1 = 2; + sprite->data[1] = 2; } return FALSE; } @@ -3017,7 +3017,7 @@ bool8 sub_8090D64 (struct MapObject *mapObject, struct Sprite *sprite) { if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { - sprite->data1 = 3; + sprite->data[1] = 3; } return FALSE; } @@ -3034,7 +3034,7 @@ bool8 sub_8090D90 (struct MapObject *mapObject, struct Sprite *sprite) direction = directions[mapObject->mapobj_unk_18]; } FieldObjectSetDirection(mapObject, direction); - sprite->data1 = 0; + sprite->data[1] = 0; return TRUE; } @@ -3044,7 +3044,7 @@ bool8 sub_8090E18 (struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } @@ -3053,7 +3053,7 @@ bool8 sub_8090E44 (struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { SetFieldObjectStepTimer(sprite, 48); - sprite->data1 = 2; + sprite->data[1] = 2; } return FALSE; } @@ -3062,7 +3062,7 @@ bool8 sub_8090E68 (struct MapObject *mapObject, struct Sprite *sprite) { if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { - sprite->data1 = 3; + sprite->data[1] = 3; } return FALSE; } @@ -3079,7 +3079,7 @@ bool8 sub_8090E94 (struct MapObject *mapObject, struct Sprite *sprite) direction = directions[mapObject->mapobj_unk_18]; } FieldObjectSetDirection(mapObject, direction); - sprite->data1 = 0; + sprite->data[1] = 0; return TRUE; } @@ -3088,7 +3088,7 @@ field_object_step(AlternatelyGoInOppositeDirections, gUnknown_0850D8CC) bool8 sub_8090F1C (struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } @@ -3102,7 +3102,7 @@ bool8 sub_8090F30 (struct MapObject *mapObject, struct Sprite *sprite) direction = GetOppositeDirection(direction); } FieldObjectSetDirection(mapObject, direction); - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -3131,7 +3131,7 @@ bool8 sub_8090F68 (struct MapObject *mapObject, struct Sprite *sprite) } FieldObjectSetRegularAnim(mapObject, sprite, animId); mapObject->mapobj_bit_1 = TRUE; - sprite->data1 = 3; + sprite->data[1] = 3; return TRUE; } @@ -3140,7 +3140,7 @@ bool8 sub_8091020 (struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { mapObject->mapobj_bit_1 = FALSE; - sprite->data1 = 1; + sprite->data[1] = 1; } return FALSE; } @@ -3148,7 +3148,7 @@ bool8 sub_8091020 (struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8091048(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } @@ -3177,7 +3177,7 @@ bool8 MoveFieldObjectInNextDirectionInSequence(struct MapObject *mapObject, stru } FieldObjectSetRegularAnim(mapObject, sprite, animId); mapObject->mapobj_bit_1 = TRUE; - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -3186,7 +3186,7 @@ bool8 sub_8091110(struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { mapObject->mapobj_bit_1 = FALSE; - sprite->data1 = 1; + sprite->data[1] = 1; } return FALSE; } @@ -3225,13 +3225,13 @@ bool8 mss_npc_reset_oampriv3_1_unk2_unk3(struct MapObject *mapObject, struct Spr { mapObject->mapobj_unk_21 = player_get_direction_lower_nybble(); } - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } bool8 sub_8091EC0(struct MapObject *mapObject, struct Sprite *sprite) { - if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.running1 == 2) + if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.tileTransitionState == 2) { return FALSE; } @@ -3243,7 +3243,7 @@ bool8 sub_8091F20(struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { mapObject->mapobj_bit_1 = FALSE; - sprite->data1 = 1; + sprite->data[1] = 1; } return FALSE; } @@ -3257,7 +3257,7 @@ bool8 sub_8091F4C(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, playerDirection))); mapObject->mapobj_bit_1 = TRUE; - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -3278,7 +3278,7 @@ bool8 sub_8091F94(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); mapObject->mapobj_bit_1 = TRUE; - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } } @@ -3293,7 +3293,7 @@ bool8 sub_8091F94(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); } mapObject->mapobj_bit_1 = TRUE; - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -3312,7 +3312,7 @@ bool8 sub_80920A4(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); } mapObject->mapobj_bit_1 = TRUE; - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -3331,7 +3331,7 @@ bool8 sub_809215C(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); } mapObject->mapobj_bit_1 = TRUE; - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -3350,7 +3350,7 @@ bool8 sub_8092214(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); } mapObject->mapobj_bit_1 = TRUE; - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -3362,7 +3362,7 @@ bool8 cph_IM_DIFFERENT(struct MapObject *mapObject, struct Sprite *sprite, u8 pl direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); FieldObjectSetRegularAnim(mapObject, sprite, sub_80934BC(direction)); mapObject->mapobj_bit_1 = TRUE; - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -3381,7 +3381,7 @@ bool8 sub_8092314(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); } mapObject->mapobj_bit_1 = TRUE; - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -3402,7 +3402,7 @@ bool8 oac_hopping(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); } mapObject->mapobj_bit_1 = TRUE; - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } @@ -3410,7 +3410,7 @@ field_object_step(CopyPlayer2, gUnknown_0850DA90) bool8 mss_08062EA4(struct MapObject *mapObject, struct Sprite *sprite) { - if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.running1 == 2) + if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.tileTransitionState == 2) { return FALSE; } @@ -3423,15 +3423,15 @@ void FieldObjectCB_TreeDisguise(struct Sprite *sprite) { struct MapObject *mapObject; - mapObject = &gMapObjects[sprite->data0]; - if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && !sprite->data7)) + mapObject = &gMapObjects[sprite->data[0]]; + if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && !sprite->data[7])) { - FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_TREE_DISGUISE); mapObject->mapobj_unk_21 = 1; - sprite->data7 ++; + sprite->data[7] ++; } - FieldObjectStep(&gMapObjects[sprite->data0], sprite, sub_80925AC); + FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, sub_80925AC); } bool8 sub_80925AC(struct MapObject *mapObject, struct Sprite *sprite) @@ -3444,15 +3444,15 @@ void FieldObjectCB_MountainDisguise(struct Sprite *sprite) { struct MapObject *mapObject; - mapObject = &gMapObjects[sprite->data0]; - if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && !sprite->data7)) + mapObject = &gMapObjects[sprite->data[0]]; + if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && !sprite->data[7])) { - FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE); mapObject->mapobj_unk_21 = 1; - sprite->data7 ++; + sprite->data[7] ++; } - FieldObjectStep(&gMapObjects[sprite->data0], sprite, sub_80925AC); + FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, sub_80925AC); } extern bool8 (*const gUnknown_0850DA9C[])(struct MapObject *, struct Sprite *); @@ -3460,19 +3460,19 @@ bool8 sub_809268C(struct MapObject *, struct Sprite *); void FieldObjectCB_Hidden1(struct Sprite *sprite) { - if (!sprite->data7) + if (!sprite->data[7]) { - gMapObjects[sprite->data0].mapobj_bit_26 = TRUE; + gMapObjects[sprite->data[0]].mapobj_bit_26 = TRUE; sprite->subspriteMode = 2; sprite->oam.priority = 3; - sprite->data7 ++; + sprite->data[7] ++; } - FieldObjectStep(&gMapObjects[sprite->data0], sprite, sub_809268C); + FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, sub_809268C); } bool8 sub_809268C(struct MapObject *mapObject, struct Sprite *sprite) { - return gUnknown_0850DA9C[sprite->data1](mapObject, sprite); + return gUnknown_0850DA9C[sprite->data[1]](mapObject, sprite); } bool8 sub_80926AC (struct MapObject *mapObject, struct Sprite *sprite) @@ -3484,7 +3484,7 @@ bool8 sub_80926B8 (struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - sprite->data1 = 0; + sprite->data[1] = 0; } return FALSE; } @@ -3495,7 +3495,7 @@ bool8 sub_8092718(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay16AnimId(mapObject->mapobj_unk_18)); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } @@ -3505,7 +3505,7 @@ bool8 sub_8092788(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay32AnimId(mapObject->mapobj_unk_18)); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } @@ -3515,7 +3515,7 @@ bool8 sub_80927F8(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay8AnimId(mapObject->mapobj_unk_18)); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } @@ -3525,7 +3525,7 @@ bool8 sub_8092868(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay4AnimId(mapObject->mapobj_unk_18)); - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } @@ -3536,14 +3536,14 @@ bool8 sub_80928D8(struct MapObject *mapObject, struct Sprite *sprite) npc_reset(mapObject, sprite); FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); mapObject->mapobj_bit_13 = TRUE; - sprite->data1 = 1; + sprite->data[1] = 1; return TRUE; } bool8 sub_809290C(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - sprite->data1 = 2; + sprite->data[1] = 2; return TRUE; } return FALSE; @@ -3561,7 +3561,7 @@ void npc_reset(struct MapObject *mapObject, struct Sprite *sprite) mapObject->mapobj_bit_6 = FALSE; mapObject->mapobj_bit_7 = FALSE; mapObject->mapobj_unk_1C = 0xFF; - sprite->data1 = 0; + sprite->data[1] = 0; } #define dirn2anim(name, table)\ @@ -3680,7 +3680,7 @@ void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 animPattern) mapObject->mapobj_unk_21 = 0; mapObject->animId = 0; gSprites[mapObject->spriteId].callback = gUnknown_08505438[animPattern]; - gSprites[mapObject->spriteId].data1 = 0; + gSprites[mapObject->spriteId].data[1] = 0; } dirn2anim(npc_running_behaviour_by_direction, gUnknown_0850DB53) @@ -3811,7 +3811,7 @@ bool8 sub_8092E9C(u8 localId, u8 mapNum, u8 mapGroup) { u8 mapObjectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId) && gSprites[gMapObjects[mapObjectId].spriteId].data7 & 0x02) + if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId) && gSprites[gMapObjects[mapObjectId].spriteId].data[7] & 0x02) { return TRUE; } @@ -3824,7 +3824,7 @@ void sub_8092EF0(u8 localId, u8 mapNum, u8 mapGroup) if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) { - gSprites[gMapObjects[mapObjectId].spriteId].data7 |= 0x04; + gSprites[gMapObjects[mapObjectId].spriteId].data[7] |= 0x04; } } @@ -3975,7 +3975,7 @@ bool8 FieldObjectSetSpecialAnim(struct MapObject *mapObject, u8 specialAnimId) mapObject->mapobj_unk_1C = specialAnimId; mapObject->mapobj_bit_6 = TRUE; mapObject->mapobj_bit_7 = FALSE; - gSprites[mapObject->spriteId].data2 = 0; + gSprites[mapObject->spriteId].data[2] = 0; return FALSE; } @@ -3998,8 +3998,8 @@ void FieldObjectClearAnim(struct MapObject *mapObject) mapObject->mapobj_unk_1C = 0xFF; mapObject->mapobj_bit_6 = FALSE; mapObject->mapobj_bit_7 = FALSE; - gSprites[mapObject->spriteId].data1 = 0; - gSprites[mapObject->spriteId].data2 = 0; + gSprites[mapObject->spriteId].data[1] = 0; + gSprites[mapObject->spriteId].data[2] = 0; } u8 FieldObjectCheckIfSpecialAnimFinishedOrInactive(struct MapObject *mapObject) @@ -4137,7 +4137,7 @@ static u32 state_to_direction(u8 a0, u32 a1, u32 a2) static void FieldObjectExecSpecialAnim(struct MapObject *mapObject, struct Sprite *sprite) { - if (gUnknown_0850DC50[mapObject->mapobj_unk_1C][sprite->data2](mapObject, sprite)) + if (gUnknown_0850DC50[mapObject->mapobj_unk_1C][sprite->data[2]](mapObject, sprite)) { mapObject->mapobj_bit_7 = TRUE; } @@ -4145,10 +4145,10 @@ static void FieldObjectExecSpecialAnim(struct MapObject *mapObject, struct Sprit bool8 FieldObjectExecRegularAnim(struct MapObject *mapObject, struct Sprite *sprite) { - if (gUnknown_0850DC50[mapObject->mapobj_unk_1C][sprite->data2](mapObject, sprite)) + if (gUnknown_0850DC50[mapObject->mapobj_unk_1C][sprite->data[2]](mapObject, sprite)) { mapObject->mapobj_unk_1C = 0xFF; - sprite->data2 = 0; + sprite->data[2] = 0; return TRUE; } return FALSE; @@ -4157,7 +4157,7 @@ bool8 FieldObjectExecRegularAnim(struct MapObject *mapObject, struct Sprite *spr void FieldObjectSetRegularAnim(struct MapObject *mapObject, struct Sprite *sprite, u8 animId) { mapObject->mapobj_unk_1C = animId; - sprite->data2 = 0; + sprite->data[2] = 0; } // file boundary? @@ -4168,7 +4168,7 @@ void an_look_any(struct MapObject *mapObject, struct Sprite *sprite, u8 directio npc_coords_shift_still(mapObject); obj_npc_animation_step(mapObject, sprite, get_go_image_anim_num(mapObject->mapobj_unk_18)); sprite->animPaused = TRUE; - sprite->data2 = 1; + sprite->data[2] = 1; } bool8 sub_8093950(struct MapObject *mapObject, struct Sprite *sprite) @@ -4212,7 +4212,7 @@ void npc_apply_direction(struct MapObject *mapObject, struct Sprite *sprite, u8 sprite->animPaused = TRUE; } mapObject->mapobj_bit_2 = TRUE; - sprite->data2 = 1; + sprite->data[2] = 1; } void do_go_anim(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed) @@ -4255,7 +4255,7 @@ void sub_8093AF0(struct MapObject *mapObject, struct Sprite *sprite, u8 directio sub_80976DC(sprite, direction); sprite->animPaused = FALSE; mapObject->mapobj_bit_2 = TRUE; - sprite->data2 = 1; + sprite->data[2] = 1; } void sub_8093B60(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) @@ -4287,7 +4287,7 @@ bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\ {\ if (fn2(mapObject, sprite))\ {\ - sprite->data2 = 2;\ + sprite->data[2] = 2;\ return TRUE;\ }\ return FALSE;\ @@ -4323,7 +4323,7 @@ void sub_8093FC4(struct MapObject *mapObject, struct Sprite *sprite, u8 directio sub_8092F88(direction, &x, &y, displacements[speed], displacements[speed]); npc_coords_shift(mapObject, mapObject->coords2.x + x, mapObject->coords2.y + y); sub_809783C(sprite, direction, speed, a5); - sprite->data2 = 1; + sprite->data[2] = 1; sprite->animPaused = 0; mapObject->mapobj_bit_2 = 1; mapObject->mapobj_bit_4 = 1; @@ -4345,11 +4345,11 @@ u8 sub_80940C4(struct MapObject *mapObject, struct Sprite *sprite, u8 callback(s memcpy(displacements, gUnknown_0850DFC2, sizeof gUnknown_0850DFC2); result = callback(sprite); - if (result == 1 && displacements[sprite->data4] != 0) + if (result == 1 && displacements[sprite->data[4]] != 0) { x = 0; y = 0; - sub_8092F88(mapObject->placeholder18, &x, &y, displacements[sprite->data4], displacements[sprite->data4]); + sub_8092F88(mapObject->placeholder18, &x, &y, displacements[sprite->data[4]], displacements[sprite->data[4]]); npc_coords_shift(mapObject, mapObject->coords2.x + x, mapObject->coords2.y + y); mapObject->mapobj_bit_2 = TRUE; mapObject->mapobj_bit_4 = TRUE; @@ -4418,7 +4418,7 @@ bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\ if (fn2(mapObject, sprite))\ {\ mapObject->mapobj_bit_22 = FALSE;\ - sprite->data2 = 2;\ + sprite->data[2] = 2;\ return TRUE;\ }\ return FALSE;\ @@ -4431,15 +4431,15 @@ maybe_shadow_1_macro(sub_8094338, maybe_shadow_1, sub_80941B0, DIR_EAST, 2, 0) void sub_8094390(struct Sprite *sprite, u16 duration) { - sprite->data2 = 1; - sprite->data3 = duration; + sprite->data[2] = 1; + sprite->data[3] = duration; } bool8 sub_8094398(struct MapObject *mapObject, struct Sprite *sprite) { - if (-- sprite->data3 == 0) + if (-- sprite->data[3] == 0) { - sprite->data2 = 2; + sprite->data[2] = 2; return TRUE; } return FALSE; @@ -4468,15 +4468,15 @@ void sub_8094554(struct MapObject *mapObject, struct Sprite *sprite, u8 directio FieldObjectSetDirection(mapObject, direction); npc_apply_anim_looping(mapObject, sprite, animNum); sprite->animPaused = FALSE; - sprite->data2 = 1; - sprite->data3 = duration; + sprite->data[2] = 1; + sprite->data[3] = duration; } bool8 sub_809459C(struct MapObject *mapObject, struct Sprite *sprite) { - if (-- sprite->data3 == 0) + if (-- sprite->data[3] == 0) { - sprite->data2 = 2; + sprite->data[2] = 2; sprite->animPaused = TRUE; return TRUE; } @@ -4485,7 +4485,7 @@ bool8 sub_809459C(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_80945C4(struct MapObject *mapObject, struct Sprite *sprite) { - if (sprite->data3 & 1) + if (sprite->data[3] & 1) { sprite->animDelayCounter ++; } @@ -4539,7 +4539,7 @@ void npc_set_direction_and_anim__an_proceed(struct MapObject *mapObject, struct { obj_anim_image_set_and_seek(sprite, animNum, 0); FieldObjectSetDirection(mapObject, direction); - sprite->data2 = 1; + sprite->data[2] = 1; } bool8 sub_8094DAC(struct MapObject *mapObject, struct Sprite *sprite) @@ -4552,7 +4552,7 @@ bool8 sub_8094DC4(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_80979BC(sprite)) { - sprite->data2 = 2; + sprite->data[2] = 2; return TRUE; } return FALSE; @@ -4575,7 +4575,7 @@ bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\ {\ if (sub_80941C8(mapObject, sprite))\ {\ - sprite->data2 = 2;\ + sprite->data[2] = 2;\ mapObject->mapobj_bit_5 = FALSE;\ return TRUE;\ }\ @@ -4595,7 +4595,7 @@ bool8 sub_8094F38(struct MapObject *mapObject, struct Sprite *sprite) { an_look_any(mapObject, sprite, sub_8092AF8(mapObject->coords2.x, mapObject->coords2.y, gMapObjects[mapObjectId].coords2.x, gMapObjects[mapObjectId].coords2.y)); } - sprite->data2 = 1; + sprite->data[2] = 1; return TRUE; } @@ -4607,21 +4607,21 @@ bool8 sub_8094F94(struct MapObject *mapObject, struct Sprite *sprite) { an_look_any(mapObject, sprite, GetOppositeDirection(sub_8092AF8(mapObject->coords2.x, mapObject->coords2.y, gMapObjects[mapObjectId].coords2.x, gMapObjects[mapObjectId].coords2.y))); } - sprite->data2 = 1; + sprite->data[2] = 1; return TRUE; } bool8 sub_8094FF8(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->mapobj_bit_9 = TRUE; - sprite->data2 = 1; + sprite->data[2] = 1; return TRUE; } bool8 sub_8095008(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->mapobj_bit_9 = FALSE; - sprite->data2 = 1; + sprite->data[2] = 1; return TRUE; } @@ -4653,66 +4653,66 @@ bool8 sub_8095450(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8095460(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->mapobj_bit_25 = FALSE; - sprite->data2 = 1; + sprite->data[2] = 1; return TRUE; } bool8 sub_8095470(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->mapobj_bit_25 = TRUE; - sprite->data2 = 1; + sprite->data[2] = 1; return TRUE; } bool8 sub_8095480(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->mapobj_bit_12 = TRUE; - sprite->data2 = 1; + sprite->data[2] = 1; return TRUE; } bool8 sub_8095490(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->mapobj_bit_12 = GetFieldObjectGraphicsInfo(mapObject->graphicsId)->inanimate; - sprite->data2 = 1; + sprite->data[2] = 1; return TRUE; } bool8 sub_80954BC(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->mapobj_bit_13 = TRUE; - sprite->data2 = 1; + sprite->data[2] = 1; return TRUE; } bool8 sub_80954CC(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->mapobj_bit_13 = FALSE; - sprite->data2 = 1; + sprite->data[2] = 1; return TRUE; } bool8 do_exclamation_mark_bubble_1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1); - sprite->data2 = 1; + sprite->data[2] = 1; return TRUE; } bool8 do_exclamation_mark_bubble_2(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_2); - sprite->data2 = 1; + sprite->data[2] = 1; return TRUE; } bool8 do_heart_bubble(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_HEART_ICON); - sprite->data2 = 1; + sprite->data[2] = 1; return TRUE; } @@ -4725,11 +4725,11 @@ bool8 sub_8095548(struct MapObject *mapObject, struct Sprite *sprite) } if (mapObject->animPattern != 0x39 && mapObject->animPattern != 0x3A) { - sprite->data2 = 2; + sprite->data[2] = 2; return TRUE; } sub_8155D78(mapObject); - sprite->data2 = 1; + sprite->data[2] = 1; return sub_809558C(mapObject, sprite); } @@ -4737,7 +4737,7 @@ bool8 sub_809558C(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8155DA0(mapObject)) { - sprite->data2 = 2; + sprite->data[2] = 2; return TRUE; } return FALSE; @@ -4746,7 +4746,7 @@ bool8 sub_809558C(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_80955AC(struct MapObject *mapObject, struct Sprite *sprite) { obj_anim_image_set_and_seek(sprite, 1, 0); - sprite->data2 = 1; + sprite->data[2] = 1; return FALSE; } @@ -4755,7 +4755,7 @@ bool8 sub_80955C8(struct MapObject *mapObject, struct Sprite *sprite) if (sub_80979BC(sprite)) { SetFieldObjectStepTimer(sprite, 32); - sprite->data2 = 2; + sprite->data[2] = 2; } return FALSE; } @@ -4766,7 +4766,7 @@ bool8 sub_80955EC(struct MapObject *mapObject, struct Sprite *sprite) if (RunFieldObjectStepTimer(sprite)) { mapObject->mapobj_bit_13 = TRUE; - sprite->data2 = 3; + sprite->data[2] = 3; } return FALSE; } @@ -4774,7 +4774,7 @@ bool8 sub_80955EC(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8095628(struct MapObject *mapObject, struct Sprite *sprite) { obj_anim_image_set_and_seek(sprite, 1, 0); - sprite->data2 = 1; + sprite->data[2] = 1; return FALSE; } @@ -4783,7 +4783,7 @@ bool8 sub_8095644(struct MapObject *mapObject, struct Sprite *sprite) if (sub_80979BC(sprite)) { SetFieldObjectStepTimer(sprite, 32); - sprite->data2 = 2; + sprite->data[2] = 2; } return FALSE; } @@ -4794,7 +4794,7 @@ bool8 sub_8095668(struct MapObject *mapObject, struct Sprite *sprite) if (RunFieldObjectStepTimer(sprite)) { mapObject->mapobj_bit_13 = TRUE; - sprite->data2 = 3; + sprite->data[2] = 3; } return FALSE; } @@ -4802,14 +4802,14 @@ bool8 sub_8095668(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_80956A4(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->mapobj_bit_26 = TRUE; - sprite->data2 = 1; + sprite->data[2] = 1; return TRUE; } bool8 sub_80956B4(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->mapobj_bit_26 = FALSE; - sprite->data2 = 1; + sprite->data[2] = 1; return TRUE; } @@ -4856,7 +4856,7 @@ bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\ if (fn2(mapObject, sprite))\ {\ sprite->affineAnimPaused = TRUE;\ - sprite->data2 = 2;\ + sprite->data[2] = 2;\ return TRUE;\ }\ return FALSE;\ @@ -4873,7 +4873,7 @@ static void sub_80958C0(struct MapObject *mapObject, struct Sprite *sprite, u8 d npc_coords_shift_still(mapObject); obj_npc_animation_step(mapObject, sprite, sub_80929FC(direction)); sprite->animPaused = TRUE; - sprite->data2 = 1; + sprite->data[2] = 1; } bool8 sub_8095900(struct MapObject *mapObject, struct Sprite *sprite) @@ -4941,7 +4941,7 @@ bool8 sub_8095B0C(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8095B44(struct MapObject *mapObject, struct Sprite *sprite) { sub_8095AF0(mapObject, sprite); - sprite->data2 = 1; + sprite->data[2] = 1; return sub_8095B64(mapObject, sprite); } @@ -4949,7 +4949,7 @@ bool8 sub_8095B64(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8095B0C(mapObject, sprite)) { - sprite->data2 = 2; + sprite->data[2] = 2; return TRUE; } return FALSE; @@ -5017,7 +5017,7 @@ an_walk_any_2_macro(sub_8096428, sub_8096330, npc_obj_ministep_stop_on_arrival, bool8 sub_8096468(struct MapObject *mapObject, struct Sprite *sprite) { sub_8097FA4(mapObject); - sprite->data2 = 1; + sprite->data[2] = 1; return TRUE; } @@ -5025,7 +5025,7 @@ bool8 sub_809647C(struct MapObject *mapObject, struct Sprite *sprite) { sub_8098044(mapObject->mapobj_unk_1B); sprite->pos2.y = 0; - sprite->data2 = 1; + sprite->data[2] = 1; return TRUE; } @@ -5034,7 +5034,7 @@ bool8 sub_8096494(struct MapObject *mapObject, struct Sprite *sprite) if (sprite->pos2.y == 0) { sub_8098044(mapObject->mapobj_unk_1B); - sprite->data2 = 1; + sprite->data[2] = 1; return TRUE; } return FALSE; diff --git a/src/field_map_obj_helpers.c b/src/field_map_obj_helpers.c new file mode 100755 index 0000000000..de26cb0344 --- /dev/null +++ b/src/field_map_obj_helpers.c @@ -0,0 +1,844 @@ +#include "global.h" +#include "field_ground_effect.h" +#include "field_map_obj.h" +#include "field_effect.h" +#include "field_map_obj_helpers.h" +#include "malloc.h" +#include "task.h" +#include "util.h" + +typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 dir); + +extern const struct Coords16 gUnknown_0850DB7C[4]; +extern s16 gUnknown_0850E768[]; +extern SpriteStepFunc *const gUnknown_0850E754[]; +extern const s8 gUnknown_0850E772[]; +extern const s8 gUnknown_0850E7BA[]; +extern const s8 *const gUnknown_0850E834[]; +extern s16 gUnknown_0850E840[]; +extern u8 gUnknown_0850E846[]; +extern s16 gUnknown_0850E84A[]; +extern u8 gUnknown_0850E850[]; + +void sub_8097D68(struct Sprite *sprite); +void sub_8097FE4(u8); + +bool8 FreezeMapObject(struct MapObject *mapObject) +{ + if (mapObject->mapobj_bit_6 || mapObject->mapobj_bit_8) + { + return TRUE; + } + else + { + mapObject->mapobj_bit_8 = 1; + mapObject->mapobj_bit_23 = gSprites[mapObject->spriteId].animPaused; + mapObject->mapobj_bit_24 = gSprites[mapObject->spriteId].affineAnimPaused; + gSprites[mapObject->spriteId].animPaused = 1; + gSprites[mapObject->spriteId].affineAnimPaused = 1; + return FALSE; + } +} + +void FreezeMapObjects(void) +{ + u8 i; + for (i = 0; i < MAP_OBJECTS_COUNT; i++) + if (gMapObjects[i].active && i != gPlayerAvatar.mapObjectId) + FreezeMapObject(&gMapObjects[i]); +} + +void FreezeMapObjectsExceptOne(u8 a1) +{ + u8 i; + for (i = 0; i < MAP_OBJECTS_COUNT; i++) + if (i != a1 && gMapObjects[i].active && i != gPlayerAvatar.mapObjectId) + FreezeMapObject(&gMapObjects[i]); +} + +void npc_sync_anim_pause_bits(struct MapObject *mapObject) +{ + if (mapObject->active && mapObject->mapobj_bit_8) + { + mapObject->mapobj_bit_8 = 0; + gSprites[mapObject->spriteId].animPaused = mapObject->mapobj_bit_23; + gSprites[mapObject->spriteId].affineAnimPaused = mapObject->mapobj_bit_24; + } +} + +void UnfreezeMapObjects(void) +{ + u8 i; + for (i = 0; i < MAP_OBJECTS_COUNT; i++) + if (gMapObjects[i].active) + npc_sync_anim_pause_bits(&gMapObjects[i]); +} + +void little_step(struct Sprite *sprite, u8 dir) +{ + sprite->pos1.x += gUnknown_0850DB7C[dir].x; + sprite->pos1.y += gUnknown_0850DB7C[dir].y; +} + +void double_little_steps(struct Sprite *sprite, u8 dir) +{ + sprite->pos1.x += 2 * (u16) gUnknown_0850DB7C[dir].x; + sprite->pos1.y += 2 * (u16) gUnknown_0850DB7C[dir].y; +} + +void triple_little_steps(struct Sprite *sprite, u8 dir) +{ + sprite->pos1.x += 2 * (u16) gUnknown_0850DB7C[dir].x + (u16) gUnknown_0850DB7C[dir].x; + sprite->pos1.y += 2 * (u16) gUnknown_0850DB7C[dir].y + (u16) gUnknown_0850DB7C[dir].y; +} + +void quad_little_steps(struct Sprite *sprite, u8 dir) +{ + sprite->pos1.x += 4 * (u16) gUnknown_0850DB7C[dir].x; + sprite->pos1.y += 4 * (u16) gUnknown_0850DB7C[dir].y; +} + +void oct_little_steps(struct Sprite *sprite, u8 dir) +{ + sprite->pos1.x += 8 * (u16) gUnknown_0850DB7C[dir].x; + sprite->pos1.y += 8 * (u16) gUnknown_0850DB7C[dir].y; +} + +void oamt_npc_ministep_reset(struct Sprite *sprite, u8 a2, u8 a3) +{ + sprite->data[3] = a2; + sprite->data[4] = a3; + sprite->data[5] = 0; +} + +bool8 obj_npc_ministep(struct Sprite *sprite) +{ + if (sprite->data[5] >= gUnknown_0850E768[sprite->data[4]]) + return FALSE; + + gUnknown_0850E754[sprite->data[4]][sprite->data[5]](sprite, sprite->data[3]); + + sprite->data[5]++; + + if (sprite->data[5] < gUnknown_0850E768[sprite->data[4]]) + return FALSE; + + return TRUE; +} + +void sub_80976DC(struct Sprite *sprite, u8 a2) +{ + sprite->data[3] = a2; + sprite->data[4] = 0; + sprite->data[5] = 0; +} + +bool8 sub_80976EC(struct Sprite *sprite) +{ + if (!(sprite->data[4] & 1)) + { + little_step(sprite, sprite->data[3]); + sprite->data[5]++; + } + + sprite->data[4]++; + + if (sprite->data[5] > 15) + return TRUE; + else + return FALSE; +} + +// new helper added here in the middle. Perhaps Game Freak kept these organized in alphebetical order or some other heirarchy? + +s16 sub_8097728(s16 a1) +{ + return gUnknown_0850E7BA[a1]; +} + +s16 sub_809773C(s16 a1) +{ + return gUnknown_0850E772[a1]; +} + +void sub_8097750(struct Sprite *sprite) +{ + sprite->data[6] = 0; + sprite->data[7] = 0; +} + +bool8 sub_8097758(struct Sprite *sprite) +{ + bool8 result = FALSE; + + switch(sprite->data[7]) + { + case 0: + sprite->pos2.x += sub_809773C(sprite->data[6]); + sprite->pos2.y += sub_8097728(sprite->data[6]); + break; + case 1: + sprite->pos2.x -= sub_809773C(0x47 - sprite->data[6]); + sprite->pos2.y += sub_8097728(0x47 - sprite->data[6]); + break; + case 2: + sprite->pos2.x -= sub_809773C(sprite->data[6]); + sprite->pos2.y += sub_8097728(sprite->data[6]); + break; + case 3: + sprite->pos2.x += sub_809773C(0x47 - sprite->data[6]); + sprite->pos2.y += sub_8097728(0x47 - sprite->data[6]); + break; + } + if(++sprite->data[6] == 0x48) + { + sprite->data[6] = 0; + sprite->data[7]++; + } + if(sprite->data[7] == 0x4) + { + sprite->pos2.y = 0; + sprite->pos2.x = 0; + result = TRUE; + } + return result; +} + +s16 sub_8097820(s16 a1, u8 a2) +{ + return gUnknown_0850E834[a2][a1]; +} + +void sub_809783C(struct Sprite *sprite, u8 a2, u8 a3, u8 a4) +{ + sprite->data[3] = a2; + sprite->data[4] = a3; + sprite->data[5] = a4; + sprite->data[6] = 0; +} + +u8 sub_809785C(struct Sprite *sprite) +{ + s16 v5[3]; + u8 v6[3]; + u8 v2; + + memcpy(v5, gUnknown_0850E840, 6); // TODO: get rid of memcpy + memcpy(v6, gUnknown_0850E846, 3); + v2 = 0; + + if (sprite->data[4]) + little_step(sprite, sprite->data[3]); + + sprite->pos2.y = sub_8097820(sprite->data[6] >> v6[sprite->data[4]], sprite->data[5]); + + sprite->data[6]++; + + if (sprite->data[6] == (v5[sprite->data[4]] >> 1)) + v2 = 1; + + if (sprite->data[6] >= v5[sprite->data[4]]) + { + sprite->pos2.y = 0; + v2 = -1; + } + + return v2; +} + +u8 sub_80978E4(struct Sprite *sprite) +{ + s16 v5[3]; + u8 v6[3]; + u8 v2; + + memcpy(v5, gUnknown_0850E84A, 6); + memcpy(v6, gUnknown_0850E850, 3); + v2 = 0; + + if (sprite->data[4] && !(sprite->data[6] & 1)) + little_step(sprite, sprite->data[3]); + + sprite->pos2.y = sub_8097820(sprite->data[6] >> v6[sprite->data[4]], sprite->data[5]); + + sprite->data[6]++; + + if (sprite->data[6] == (v5[sprite->data[4]] >> 1)) + v2 = 1; + + if (sprite->data[6] >= v5[sprite->data[4]]) + { + sprite->pos2.y = 0; + v2 = -1; + } + + return v2; +} + +void SetFieldObjectStepTimer(struct Sprite *sprite, u16 timer) +{ + sprite->data[3] = timer; +} + + +bool8 RunFieldObjectStepTimer(struct Sprite *sprite) +{ + sprite->data[3]--; + + if (sprite->data[3] == 0) + return TRUE; + else + return FALSE; +} + +void obj_anim_image_set_and_seek(struct Sprite *sprite, u8 a2, u8 a3) +{ + sprite->animNum = a2; + sprite->animPaused = 0 ; + SeekSpriteAnim(sprite, a3); +} + +bool8 sub_80979BC(struct Sprite *sprite) +{ + if (sprite->animEnded) + return TRUE; + else + return FALSE; +} + +void sub_80979D4(struct Sprite *sprite, bool8 invisible) +{ + u16 x, y; + s16 x2, y2; + + sprite->invisible = invisible; + + if (sprite->coordOffsetEnabled) + { + x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX; + y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY; + } + else + { + x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX; + y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY; + } + + x2 = x - (sprite->centerToCornerVecX >> 1); + y2 = y - (sprite->centerToCornerVecY >> 1); + + if ((s16)x > 255 || x2 < -16) + sprite->invisible = 1; + if ((s16)y > 175 || y2 < -16) + sprite->invisible = 1; +} + +void sub_8097AC8(struct Sprite *sprite) +{ + sub_8097D68(sprite); + SetObjectSubpriorityByZCoord(sprite->data[1], sprite, 1); + sub_80979D4(sprite, sprite->data[2]); +} + +void sub_8097AF0(void) +{ + int i; + + for(i = 0; i < MAX_SPRITES; i++) + { + struct Sprite *sprite = &gSprites[i]; + if(sprite->inUse && sprite->callback == sub_8097AC8) + DestroySprite(sprite); + } +} + +int sub_8097B2C(u8 var) // this should return a u8, because all that call this shifts to u8, but it wont match because it doesnt shift u8 at the end. +{ + int i; + + for(i = 0; i < MAX_SPRITES; i++) + { + struct Sprite *sprite = &gSprites[i]; + if(sprite->inUse && sprite->callback == sub_8097AC8 && (u8)sprite->data[0] == var) + return i; + } + return MAX_SPRITES; +} + +void sub_8097B78(u8 var1, u8 var2) +{ + u8 spriteId = sub_8097B2C(var1); + + if(spriteId != MAX_SPRITES) + StartSpriteAnim(&gSprites[spriteId], FieldObjectDirectionToImageAnimId(var2)); +} + +void sub_8097BB4(u8 var1, u8 var2) +{ + int spriteId = sub_8097B2C(var1); + + if(spriteId != MAX_SPRITES) + { + struct Sprite *sprite = &gSprites[spriteId]; + const struct MapObjectGraphicsInfo *gfxInfo = GetFieldObjectGraphicsInfo(var2); + u16 tileNum = sprite->oam.tileNum; + + sprite->oam = *gfxInfo->oam; + sprite->oam.tileNum = tileNum; + sprite->oam.paletteNum = gfxInfo->paletteSlot; + sprite->images = gfxInfo->images; + + if(gfxInfo->subspriteTables == NULL) + { + sprite->subspriteTables = NULL; + sprite->subspriteTableNum = 0; + sprite->subspriteMode = 0; + } + else + { + SetSubspriteTables(sprite, gfxInfo->subspriteTables); + sprite->subspriteMode = 2; + } + StartSpriteAnim(sprite, 0); + } +} + +void sub_8097C44(u8 var, bool32 var2) +{ + u8 spriteId = sub_8097B2C(var); + + if(spriteId == MAX_SPRITES) + return; + + if(var2) + gSprites[spriteId].data[2] = 1; + else + gSprites[spriteId].data[2] = 0; +} + +bool32 sub_8097C8C(u8 var) +{ + u8 spriteId = sub_8097B2C(var); + + if(spriteId == MAX_SPRITES) + return FALSE; + + return (gSprites[spriteId].data[2] == TRUE); +} + +void sub_8097CC4(u8 var1, u8 var2) +{ + u8 spriteId = sub_8097B2C(var1); + + if(spriteId != MAX_SPRITES) + { + gSprites[spriteId].data[3] = var2; + gSprites[spriteId].data[4] = 0; + } +} + +void sub_8097CF4(struct Sprite *sprite) +{ + switch(sprite->data[4]) + { + case 0: + sprite->pos2.y = 0; + sprite->data[4]++; + case 1: + sprite->pos2.y -= 8; + if(sprite->pos2.y == -160) + { + sprite->pos2.y = 0; + sprite->data[2] = 1; + sprite->data[3] = 0; + sprite->data[4] = 0; + } + } +} + +void sub_8097D30(struct Sprite *sprite) +{ + switch(sprite->data[4]) + { + case 0: + sprite->pos2.y = -160; + sprite->data[4]++; + case 1: + sprite->pos2.y += 8; + if(sprite->pos2.y == 0) + { + sprite->data[3] = 0; + sprite->data[4] = 0; + } + } +} + +void sub_8097D68(struct Sprite *sprite) +{ + switch(sprite->data[3]) + { + case 1: + sub_8097D30(sprite); + break; + case 2: + sub_8097CF4(sprite); + break; + case 0: + break; + default: + sprite->data[3] = 0; + break; + } +} + +bool32 sub_8097D9C(u8 var) +{ + u8 spriteId = sub_8097B2C(var); + + if(spriteId == MAX_SPRITES) + return FALSE; + + if(gSprites[spriteId].data[3] != FALSE) + return TRUE; + + return FALSE; +} + +u32 oe_exec_and_other_stuff(u8 fieldEffectId, struct MapObject *mapObject) +{ + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + return FieldEffectStart(fieldEffectId); +} + +void DoShadowFieldEffect(struct MapObject *mapObject) +{ + if (!mapObject->mapobj_bit_22) + { + mapObject->mapobj_bit_22 = 1; + oe_exec_and_other_stuff(FLDEFF_SHADOW, mapObject); + } +} + +void DoRippleFieldEffect(struct MapObject *mapObject, struct Sprite *sprite) +{ + const struct MapObjectGraphicsInfo *gfxInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + gFieldEffectArguments[0] = sprite->pos1.x; + gFieldEffectArguments[1] = sprite->pos1.y + (gfxInfo->height >> 1) - 2; + gFieldEffectArguments[2] = 151; + gFieldEffectArguments[3] = 3; + FieldEffectStart(FLDEFF_RIPPLE); +} + +#ifdef NONMATCHING +bool32 sub_8097E50(struct MapObject *mapObject, struct Sprite *sprite) +{ + bool32 ableToStore = FALSE; + if (gUnknown_020375B8 == NULL) + { + gUnknown_020375B8 = AllocZeroed(0x14); + gUnknown_020375B8[0] = mapObject->localId; + gUnknown_020375B8[16] = 1; + ableToStore = TRUE; + } + else + { + u8 i; + u8 firstFreeSlot; + bool32 found; + for (firstFreeSlot = 16, found = FALSE, i = 0; i < 16; i++) + { + if (firstFreeSlot == 16 && gUnknown_020375B8[i] == 0) + firstFreeSlot = i; + + if (gUnknown_020375B8[i] == mapObject->localId) + { + found = TRUE; + break; + } + } + + if (!found && firstFreeSlot != 16) + { + gUnknown_020375B8[firstFreeSlot] = mapObject->localId; + gUnknown_020375B8[16]++; + ableToStore = TRUE; // the nonmatching problem is that ableToStore == TRUE isnt being merged with the above ableToStore = TRUE assignment. + } + } + + if (ableToStore == TRUE) + { + mapObject->mapobj_bit_12 = TRUE; + mapObject->mapobj_bit_9 = TRUE; + } + + sprite->data[2] = 1; + return TRUE; +} +#else +__attribute__((naked)) +bool32 sub_8097E50(struct MapObject *mapObject, struct Sprite *sprite) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r8\n\ + push {r7}\n\ + adds r4, r0, 0\n\ + mov r8, r1\n\ + movs r0, 0\n\ + mov r12, r0\n\ + ldr r0, =gUnknown_020375B8\n\ + ldr r1, [r0]\n\ + adds r6, r0, 0\n\ + cmp r1, 0\n\ + bne _08097E80\n\ + movs r0, 0x14\n\ + bl AllocZeroed\n\ + str r0, [r6]\n\ + ldrb r1, [r4, 0x8]\n\ + strb r1, [r0]\n\ + ldr r1, [r6]\n\ + movs r0, 0x1\n\ + strb r0, [r1, 0x10]\n\ + b _08097ECC\n\ + .pool\n\ +_08097E80:\n\ + movs r2, 0x10\n\ + movs r5, 0\n\ + movs r1, 0\n\ + adds r3, r6, 0\n\ + b _08097E90\n\ +_08097E8A:\n\ + adds r0, r1, 0x1\n\ + lsls r0, 24\n\ + lsrs r1, r0, 24\n\ +_08097E90:\n\ + cmp r1, 0xF\n\ + bhi _08097EB2\n\ + cmp r2, 0x10\n\ + bne _08097EA4\n\ + ldr r0, [r3]\n\ + adds r0, r1\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + bne _08097EA4\n\ + adds r2, r1, 0\n\ +_08097EA4:\n\ + ldr r0, [r3]\n\ + adds r0, r1\n\ + ldrb r0, [r0]\n\ + ldrb r7, [r4, 0x8]\n\ + cmp r0, r7\n\ + bne _08097E8A\n\ + movs r5, 0x1\n\ +_08097EB2:\n\ + cmp r5, 0\n\ + bne _08097ECE\n\ + cmp r2, 0x10\n\ + beq _08097ECE\n\ + ldr r0, [r6]\n\ + adds r0, r2\n\ + ldrb r1, [r4, 0x8]\n\ + strb r1, [r0]\n\ + ldr r1, [r6]\n\ + ldrb r0, [r1, 0x10]\n\ + adds r0, 0x1\n\ + strb r0, [r1, 0x10]\n\ + movs r0, 0x1\n\ +_08097ECC:\n\ + mov r12, r0\n\ +_08097ECE:\n\ + mov r1, r12\n\ + cmp r1, 0x1\n\ + bne _08097EE0\n\ + ldrb r0, [r4, 0x1]\n\ + movs r1, 0x10\n\ + orrs r0, r1\n\ + movs r1, 0x2\n\ + orrs r0, r1\n\ + strb r0, [r4, 0x1]\n\ +_08097EE0:\n\ + movs r0, 0x1\n\ + mov r7, r8\n\ + strh r0, [r7, 0x32]\n\ + pop {r3}\n\ + mov r8, r3\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1\n\ + .syntax divided"); +} +#endif + +// this function is very similar to the above one and I don't want to decompile this one until the above is matching. +__attribute__((naked)) +bool32 sub_8097EF0(struct MapObject *mapObject, struct Sprite *sprite) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r8\n\ + push {r7}\n\ + adds r6, r0, 0\n\ + mov r8, r1\n\ + movs r0, 0x1\n\ + strh r0, [r1, 0x32]\n\ + ldr r5, =gUnknown_020375B8\n\ + ldr r0, [r5]\n\ + cmp r0, 0\n\ + beq _08097F68\n\ + movs r7, 0\n\ + adds r0, r6, 0\n\ + bl sub_8097F78\n\ + lsls r0, 24\n\ + lsrs r1, r0, 24\n\ + cmp r1, 0x10\n\ + beq _08097F28\n\ + ldr r0, [r5]\n\ + adds r0, r1\n\ + movs r1, 0\n\ + strb r1, [r0]\n\ + ldr r1, [r5]\n\ + ldrb r0, [r1, 0x10]\n\ + subs r0, 0x1\n\ + strb r0, [r1, 0x10]\n\ + movs r7, 0x1\n\ +_08097F28:\n\ + ldr r0, [r5]\n\ + ldrb r4, [r0, 0x10]\n\ + cmp r4, 0\n\ + bne _08097F36\n\ + bl Free\n\ + str r4, [r5]\n\ +_08097F36:\n\ + cmp r7, 0x1\n\ + bne _08097F68\n\ + ldrb r0, [r6, 0x5]\n\ + bl GetFieldObjectGraphicsInfo\n\ + ldrb r1, [r0, 0xC]\n\ + lsls r1, 25\n\ + lsrs r1, 31\n\ + lsls r1, 4\n\ + ldrb r2, [r6, 0x1]\n\ + movs r0, 0x11\n\ + negs r0, r0\n\ + ands r0, r2\n\ + orrs r0, r1\n\ + movs r1, 0x3\n\ + negs r1, r1\n\ + ands r0, r1\n\ + strb r0, [r6, 0x1]\n\ + mov r2, r8\n\ + adds r2, 0x2C\n\ + ldrb r1, [r2]\n\ + movs r0, 0x41\n\ + negs r0, r0\n\ + ands r0, r1\n\ + strb r0, [r2]\n\ +_08097F68:\n\ + movs r0, 0x1\n\ + pop {r3}\n\ + mov r8, r3\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1\n\ + .pool\n\ + .syntax divided"); +} + +u8 sub_8097F78(struct MapObject *mapObject) +{ + u8 i; + + for(i = 0; i < MAP_OBJECTS_COUNT; i++) + { + if(gUnknown_020375B8[i] == mapObject->localId) + return i; + } + return MAP_OBJECTS_COUNT; +} + +void sub_8097FA4(struct MapObject *mapObject) +{ + u8 taskId = CreateTask(sub_8097FE4, 0xFF); + struct Task *task = &gTasks[taskId]; + + StoreWordInTwoHalfwords(&task->data[0], (u32)mapObject); + mapObject->mapobj_unk_1B = taskId; + task->data[3] = 0xFFFF; +} + +void sub_8097FE4(u8 taskId) +{ + struct MapObject *mapObject; + struct Sprite *sprite; + struct Task *task = &gTasks[taskId]; + + LoadWordFromTwoHalfwords(&task->data[0], (u32 *)&mapObject); // load the map object pointer. + sprite = &gSprites[mapObject->spriteId]; + + if(!(task->data[2] & 0x3)) + sprite->pos2.y += task->data[3]; + + if(!(task->data[2] & 0xF)) + task->data[3] = -task->data[3]; + + task->data[2]++; +} + +void sub_8098044(u8 taskId) +{ + u32 word; + struct Task *task = &gTasks[taskId]; + + LoadWordFromTwoHalfwords(&task->data[0], &word); // huh??? why does it load a word that never gets used??? + DestroyTask(taskId); +} + +void sub_8098074(u8 var1, u8 var2) +{ + u8 i; + + for(i = 0; i < MAP_OBJECTS_COUNT; i++) + { + if(i != var1 && i != var2 && + gMapObjects[i].active && i != gPlayerAvatar.mapObjectId) + FreezeMapObject(&gMapObjects[i]); + } +} + +bool32 sub_80980C0(struct MapObject *mapObject, struct Sprite *sprite) +{ + sprite->pos2.y = 0; + sprite->data[2]++; + return FALSE; +} + +bool32 sub_80980D0(struct MapObject *mapObject, struct Sprite *sprite) +{ + sprite->pos2.y -= 8; + + if(sprite->pos2.y == -160) + sprite->data[2]++; + return FALSE; +} + +bool32 sub_80980F4(struct MapObject *mapObject, struct Sprite *sprite) +{ + sprite->pos2.y = -160; + sprite->data[2]++; + return FALSE; +} + +bool32 sub_8098108(struct MapObject *mapObject, struct Sprite *sprite) +{ + sprite->pos2.y += 8; + + if(!sprite->pos2.y) + sprite->data[2]++; + return FALSE; +} + +// though this function returns TRUE without doing anything, this header is required due to being in an array of functions which needs it. +bool32 sub_8098124(struct MapObject *mapObject, struct Sprite *sprite) +{ + return TRUE; +} diff --git a/src/field_message_box.c b/src/field_message_box.c new file mode 100755 index 0000000000..8ca291e334 --- /dev/null +++ b/src/field_message_box.c @@ -0,0 +1,155 @@ +#include "global.h" +#include "menu.h" +#include "string.h" +#include "string_util.h" +#include "task.h" +#include "text.h" +#include "battle_frontier_1.h" + +EWRAM_DATA u8 gUnknown_020375BC = 0; + +void textbox_fdecode_auto_and_task_add(u8*, int); +void textbox_auto_and_task_add(void); + +void sub_8098128(void) +{ + gUnknown_020375BC = 0; + gTextFlags.flag_0 = 0; + gTextFlags.flag_1 = 0; + gTextFlags.flag_2 = 0; + gTextFlags.flag_3 = 0; +} + +void sub_8098154(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + sub_81973A4(); + task->data[0]++; + break; + case 1: + NewMenuHelpers_DrawDialogueFrame(0, 1); + task->data[0]++; + break; + case 2: + if (sub_8197224() != 1) + { + gUnknown_020375BC = 0; + DestroyTask(taskId); + } + } +} + +void task_add_textbox(void) +{ + CreateTask(sub_8098154, 0x50); +} + +void task_del_textbox(void) +{ + u8 taskId = FindTaskIdByFunc(sub_8098154); + if (taskId != 0xFF) + DestroyTask(taskId); +} + +bool8 ShowFieldMessage(u8 *str) +{ + if (gUnknown_020375BC != 0) + return FALSE; + textbox_fdecode_auto_and_task_add(str, 1); + gUnknown_020375BC = 2; + return TRUE; +} + +void sub_8098214(u8 taskId) +{ + if (sub_8196094() == 0) + { + gUnknown_020375BC = 0; + DestroyTask(taskId); + } +} + +bool8 sub_8098238(u8 *str) +{ + if (gUnknown_020375BC != 0) + return FALSE; + StringExpandPlaceholders(gStringVar4, str); + CreateTask(sub_8098214, 0); + sub_8196080(str); + gUnknown_020375BC = 2; + return TRUE; +} + +bool8 ShowFieldAutoScrollMessage(u8 *str) +{ + if (gUnknown_020375BC != 0) + return FALSE; + gUnknown_020375BC = 3; + textbox_fdecode_auto_and_task_add(str, 0); + return TRUE; +} + +bool8 sub_80982A0(u8 *str) +{ + gUnknown_020375BC = 3; + textbox_fdecode_auto_and_task_add(str, 1); + return TRUE; +} + +bool8 sub_80982B8(void) +{ + if (gUnknown_020375BC != 0) + return FALSE; + gUnknown_020375BC = 2; + textbox_auto_and_task_add(); + return TRUE; +} + +void textbox_fdecode_auto_and_task_add(u8* str, int a) +{ + StringExpandPlaceholders(gStringVar4, str); + AddTextPrinterForMessage(a); + task_add_textbox(); +} + +void textbox_auto_and_task_add(void) +{ + AddTextPrinterForMessage(1); + task_add_textbox(); +} + +void HideFieldMessageBox(void) +{ + task_del_textbox(); + sub_8197434(0, 1); + gUnknown_020375BC = 0; +} + +u8 textbox_any_visible(void) +{ + return gUnknown_020375BC; +} + +bool8 IsFieldMessageBoxHidden(void) +{ + if (gUnknown_020375BC == 0) + return TRUE; + return FALSE; +} + +void sub_8098358(void) +{ + task_del_textbox(); + NewMenuHelpers_DrawStdWindowFrame(0, 1); + gUnknown_020375BC = 0; +} + +void sub_8098374(void) +{ + task_del_textbox(); + gUnknown_020375BC = 0; +} diff --git a/src/field_poison.c b/src/field_poison.c new file mode 100644 index 0000000000..98819c450b --- /dev/null +++ b/src/field_poison.c @@ -0,0 +1,148 @@ +#include "global.h" +#include "string_util.h" +#include "party_menu.h" +#include "constants/species.h" +#include "task.h" +#include "field_message_box.h" +#include "strings.h" +#include "rom_818CFC8.h" +#include "battle_frontier_2.h" +#include "pokenav.h" +#include "event_data.h" +#include "script.h" +#include "battle.h" +#include "fldeff_80F9BCC.h" +#include "field_poison.h" + +static bool32 sub_80F9568(struct Pokemon *pokemon) +{ + u16 species = GetMonData(pokemon, MON_DATA_SPECIES2); + if (species == SPECIES_NONE || species == SPECIES_EGG) + { + return FALSE; + } + return TRUE; +} + +static bool32 sub_80F958C(void) +{ + int i; + struct Pokemon *pokemon; + + for (pokemon = gPlayerParty, i = 0; i < PARTY_SIZE; i++, pokemon++) + { + if (sub_80F9568(pokemon) && GetMonData(pokemon, MON_DATA_HP) != 0) + { + return FALSE; + } + } + return TRUE; +} + +static void sub_80F95C0(u8 partyIdx) +{ + struct Pokemon *pokemon = gPlayerParty + partyIdx; + unsigned int status = STATUS1_NONE; + AdjustFriendship(pokemon, 0x07); + SetMonData(pokemon, MON_DATA_STATUS, &status); + GetMonData(pokemon, MON_DATA_NICKNAME, gStringVar1); + StringGetEnd10(gStringVar1); +} + +static bool32 sub_80F960C(u8 partyIdx) +{ + struct Pokemon *pokemon = gPlayerParty + partyIdx; + if (sub_80F9568(pokemon) && GetMonData(pokemon, MON_DATA_HP) == 0 && pokemon_ailments_get_primary(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN) + { + return TRUE; + } + return FALSE; +} + +static void sub_80F9654(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + switch (data[0]) + { + case 0: + for (; data[1] < PARTY_SIZE; data[1]++) + { + if (sub_80F960C(data[1])) + { + sub_80F95C0(data[1]); + ShowFieldMessage(gText_PkmnFainted3); + data[0]++; + return; + } + } + data[0] = 2; + break; + case 1: + if (IsFieldMessageBoxHidden()) + { + data[0]--; + } + break; + case 2: + if (sub_80F958C()) + { + if (InBattlePyramid() | InBattlePike() || sub_81D5C18()) + { + gSpecialVar_Result = 2; + } + else + { + gSpecialVar_Result = 1; + } + } + else + { + gSpecialVar_Result = 0; + } + EnableBothScriptContexts(); + DestroyTask(taskId); + break; + } +} + +void sub_80F972C(void) +{ + CreateTask(sub_80F9654, 80); + ScriptContext1_Stop(); +} + +unsigned int overworld_poison(void) +{ + int i; + unsigned int hp; + struct Pokemon *pokemon = gPlayerParty; + unsigned int numPoisoned = 0; + unsigned int numFainted = 0; + for (i = 0; i < PARTY_SIZE; i++) + { + if (GetMonData(pokemon, MON_DATA_SANITY_BIT2) && pokemon_ailments_get_primary(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN) + { + hp = GetMonData(pokemon, MON_DATA_HP); + if (hp == 0 || --hp == 0) + { + numFainted++; + } + SetMonData(pokemon, MON_DATA_HP, &hp); + numPoisoned++; + } + pokemon++; + } + if (numFainted != 0 || numPoisoned != 0) + { + overworld_poison_effect(); + } + if (numFainted != 0) + { + return FLDPSN_FNT; + } + if (numPoisoned != 0) + { + return FLDPSN_PSN; + } + return FLDPSN_NONE; +} diff --git a/src/field_region_map.c b/src/field_region_map.c new file mode 100644 index 0000000000..b7d677c903 --- /dev/null +++ b/src/field_region_map.c @@ -0,0 +1,193 @@ + +// Includes +#include "global.h" +#include "main.h" +#include "malloc.h" +#include "gpu_regs.h" +#include "bg.h" +#include "text.h" +#include "window.h" +#include "text_window.h" +#include "palette.h" +#include "menu.h" +#include "strings.h" +#include "international_string_util.h" +#include "region_map.h" + +// Static type declarations + +// Static RAM declarations + +static EWRAM_DATA struct { + MainCallback callback; + u32 filler_004; + struct RegionMap regionMap; + u16 state; +} *sFieldRegionMapHandler = NULL; + +// Static ROM declarations + +static void MCB2_InitRegionMapRegisters(void); +static void VBCB_FieldUpdateRegionMap(void); +static void MCB2_FieldUpdateRegionMap(void); +static void FieldUpdateRegionMap(void); +static void PrintRegionMapSecName(void); + +// .rodata + +static const struct BgTemplate gUnknown_085E5068[] = { + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, { + .bg = 2, + .charBaseIndex = 2, + .mapBaseIndex = 28, + .screenSize = 2, + .paletteMode = 1, + .priority = 2, + .baseTile = 0 + } +}; + +static const struct WindowTemplate gUnknown_085E5070[] = { + { 0, 17, 17, 12, 2, 15, 0x0001 }, + { 0, 22, 1, 7, 2, 15, 0x0019 }, + DUMMY_WIN_TEMPLATE +}; + +// .text + +void sub_817018C(MainCallback callback) +{ + SetVBlankCallback(NULL); + sFieldRegionMapHandler = malloc(sizeof(*sFieldRegionMapHandler)); + sFieldRegionMapHandler->state = 0; + sFieldRegionMapHandler->callback = callback; + SetMainCallback2(MCB2_InitRegionMapRegisters); +} + +static void MCB2_InitRegionMapRegisters(void) +{ + SetGpuReg(REG_OFFSET_DISPCNT, 0); + SetGpuReg(REG_OFFSET_BG0HOFS, 0); + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + SetGpuReg(REG_OFFSET_BG1HOFS, 0); + SetGpuReg(REG_OFFSET_BG1VOFS, 0); + SetGpuReg(REG_OFFSET_BG2HOFS, 0); + SetGpuReg(REG_OFFSET_BG2VOFS, 0); + SetGpuReg(REG_OFFSET_BG3HOFS, 0); + SetGpuReg(REG_OFFSET_BG3VOFS, 0); + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(1, gUnknown_085E5068, 2); + InitWindows(gUnknown_085E5070); + DeactivateAllTextPrinters(); + sub_809882C(0, 0x27, 0xd0); + clear_scheduled_bg_copies_to_vram(); + SetMainCallback2(MCB2_FieldUpdateRegionMap); + SetVBlankCallback(VBCB_FieldUpdateRegionMap); +} + +static void VBCB_FieldUpdateRegionMap(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void MCB2_FieldUpdateRegionMap(void) +{ + FieldUpdateRegionMap(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); + do_scheduled_bg_tilemap_copies_to_vram(); +} + +static void FieldUpdateRegionMap(void) +{ + u8 offset; + + switch (sFieldRegionMapHandler->state) + { + case 0: + InitRegionMap(&sFieldRegionMapHandler->regionMap, 0); + CreateRegionMapPlayerIcon(0, 0); + CreateRegionMapCursor(1, 1); + sFieldRegionMapHandler->state++; + break; + case 1: + SetWindowBorderStyle(1, 0, 0x27, 0xd); + offset = GetStringCenterAlignXOffset(1, gText_Hoenn, 0x38); + PrintTextOnWindow(1, 1, gText_Hoenn, offset, 1, 0, NULL); + schedule_bg_copy_tilemap_to_vram(0); + SetWindowBorderStyle(0, 0, 0x27, 0xd); + PrintRegionMapSecName(); + BeginNormalPaletteFade(-1, 0, 16, 0, 0); + sFieldRegionMapHandler->state++; + break; + case 2: + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); + ShowBg(0); + ShowBg(2); + sFieldRegionMapHandler->state++; + break; + case 3: + if (!gPaletteFade.active) + { + sFieldRegionMapHandler->state++; + } + break; + case 4: + switch (sub_81230AC()) + { + case INPUT_EVENT_MOVE_END: + PrintRegionMapSecName(); + break; + case INPUT_EVENT_A_BUTTON: + case INPUT_EVENT_B_BUTTON: + sFieldRegionMapHandler->state++; + break; + } + break; + case 5: + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + sFieldRegionMapHandler->state++; + break; + case 6: + if (!gPaletteFade.active) + { + FreeRegionMapIconResources(); + SetMainCallback2(sFieldRegionMapHandler->callback); + if (sFieldRegionMapHandler != NULL) + { + free(sFieldRegionMapHandler); + sFieldRegionMapHandler = NULL; + } + FreeAllWindowBuffers(); + } + break; + } +} + +static void PrintRegionMapSecName(void) +{ + if (sFieldRegionMapHandler->regionMap.iconDrawType != MAPSECTYPE_NONE) + { + FillWindowPixelBuffer(0, 0x11); + PrintTextOnWindow(0, 1, sFieldRegionMapHandler->regionMap.mapSecName, 0, 1, 0, NULL); + schedule_bg_copy_tilemap_to_vram(0); + } + else + { + FillWindowPixelBuffer(0, 0x11); + CopyWindowToVram(0, 3); + } +} diff --git a/src/field_special_scene.c b/src/field_special_scene.c old mode 100755 new mode 100644 index 54c1d81449..a704beaaba --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -2,11 +2,11 @@ #include "task.h" #include "sprite.h" #include "field_map_obj.h" -#include "songs.h" +#include "constants/songs.h" #include "sound.h" #include "palette.h" #include "script.h" -#include "vars.h" +#include "constants/vars.h" #include "event_data.h" #include "main.h" @@ -211,7 +211,7 @@ void Task_HandleTruckSequence(u8 taskId) data[1]++; if (data[1] == 90) { - PlaySE(SE_TRACK_HAIK); + PlaySE(SE_TRACK_HAIKI); data[1] = 0; data[0] = 5; } @@ -354,7 +354,7 @@ void sub_80FB768(void) void sub_80FB7A4(void) { - FlagSet(SYS_CRUISE_MODE); + FlagSet(FLAG_SYS_CRUISE_MODE); FlagSet(0x4001); FlagSet(0x4000); saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c new file mode 100644 index 0000000000..5b3492db03 --- /dev/null +++ b/src/fldeff_teleport.c @@ -0,0 +1,46 @@ +#include "global.h" +#include "fldeff_teleport.h" +#include "field_effect.h" +#include "field_player_avatar.h" +#include "party_menu.h" +#include "overworld.h" +#include "rom6.h" +#include "task.h" + +extern bool8 (*gUnknown_03005DB0)(void); +extern void (*gUnknown_0203CEEC)(void); + +bool8 SetUpFieldMove_Teleport(void) +{ + if (Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType) == TRUE) + { + gUnknown_03005DB0 = FieldCallback_Teleport; + gUnknown_0203CEEC = hm_teleport_run_dp02scr; + return TRUE; + } + return FALSE; +} + +void hm_teleport_run_dp02scr(void) +{ + Overworld_ResetStateAfterTeleport(); + FieldEffectStart(FLDEFF_USE_TELEPORT); + gFieldEffectArguments[0] = (u32)GetCursorSelectionMonId(); +} + +bool8 FldEff_UseTeleport(void) +{ + u8 taskId = oei_task_add(); + gTasks[taskId].data[8] = (u32)sub_817C94C >> 16; + gTasks[taskId].data[9] = (u32)sub_817C94C; + SetPlayerAvatarTransitionFlags(1); + return FALSE; +} + +void sub_817C94C(void) +{ + FieldEffectActiveListRemove(FLDEFF_USE_TELEPORT); + sub_80B7FC8(); +} + + diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index d9fd40b84e..6dda6ad9cb 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -1,4 +1,1557 @@ #include "global.h" #include "hall_of_fame.h" +#include "task.h" +#include "palette.h" +#include "sprite.h" +#include "pokemon.h" +#include "text.h" +#include "malloc.h" +#include "gpu_regs.h" +#include "main.h" +#include "sound.h" +#include "constants/songs.h" +#include "decompress.h" +#include "save.h" +#include "window.h" +#include "bg.h" +#include "constants/species.h" +#include "constants/game_stat.h" +#include "blend_palette.h" +#include "string_util.h" +#include "m4a.h" +#include "international_string_util.h" +#include "scanline_effect.h" +#include "trig.h" +#include "random.h" +#include "event_data.h" +#include "overworld.h" +#include "menu.h" +struct HallofFameMon +{ + u32 tid; + u32 personality; + u16 species:9; + u16 lvl:7; + u8 nick[10]; +}; +struct HallofFameTeam +{ + struct HallofFameMon mon[6]; +}; + +struct HofGfx +{ + u16 state; + u8 field_2[16]; + u8 tilemap1[0x1000]; + u8 tilemap2[0x1000]; +}; + +static EWRAM_DATA struct HallofFameTeam *sHofMonPtr = NULL; +static EWRAM_DATA struct HofGfx *sHofGfxPtr = NULL; + +extern bool8 gHasHallOfFameRecords; +extern u32 gUnknown_0203BCD4; +extern struct MusicPlayerInfo gMPlayInfo_BGM; +extern MainCallback gGameContinueCallback; +extern u32 gDamagedSaveSectors; +extern u8 gReservedSpritePaletteCount; +extern const u8 gSpeciesNames[][11]; + +#define HALL_OF_FAME_MAX_TEAMS 50 + +// strings +extern const u8 gText_SavingDontTurnOffPower[]; +extern const u8 gText_LeagueChamp[]; +extern const u8 gText_HOFNumber[]; +extern const u8 gText_PickNextCancel[]; +extern const u8 gText_PickCancel[]; +extern const u8 gText_UnkCtrlF800Exit[]; +extern const u8 gText_HOFCorrupted[]; +extern const u8 gText_WelcomeToHOF[]; +extern const u8 gText_Number[]; +extern const u8 gText_Level[]; +extern const u8 gText_IDNumber[]; +extern const u8 gText_Name[]; +extern const u8 gText_MainMenuTime[]; + +// graphics +extern const u8 gContestConfetti_Gfx[]; +extern const u8 gContestConfetti_Pal[]; + +extern void NewMenuHelpers_DrawDialogueFrame(u8, u8); +extern void sub_8175620(void); +extern u8 TrySavingData(u8); +extern u8 sub_818D3E4(u16 species, u32 trainerId, u32 personality, u8 flags, s16 x, s16 y, u8, u16); +extern void sub_8197434(u8, u8); +extern u16 sub_818D97C(u8 playerGender, u8); +extern u16 sub_818D8AC(u16, u8, s16, s16, u8, u16); +extern const void* stdpal_get(u8); +extern void sub_80987D4(u8, u8, u16, u8); +extern u16 sub_818D820(u16); +extern u16 sub_818D8F0(u16); +extern u16 sub_818D7D8(u16 species, u32 trainerId, u32 personality, u8 arg3, s16 sp0, s16 sp1, u8 sp2, u16 sp3); +extern void sub_8198204(u8 *dst, const u8 *src, u8, u8, u8); +extern bool8 sub_80F9C30(void); +extern void sub_8198314(void); +extern void ReturnFromHallOfFamePC(void); +extern void sub_8198180(const u8 *src, u8, u8); +extern void sub_80F9BF4(u16, u16, u8); +extern void sub_81980F0(u8, u8, u8, u8, u16); +extern void sub_80F9BCC(u16, u16, u8); +extern bool8 sub_80F9C1C(void); +extern u16 SpeciesToPokedexNum(u16 species); +extern void dp13_810BB8C(void); +extern void sub_81971D0(void); +extern void sub_8197200(void); +extern void sub_8152254(void); +extern void sub_81525D0(u8); +extern void sub_8152438(u8, void*); +extern void sub_8152474(u8, u8, u8); +extern void sub_81522D4(void); +extern bool32 sub_81521C0(u8); +extern u8 sub_81524C4(const struct OamData *arg0, s16 arg1, s16 arg2, s16 arg3, s16 arg4, u8 arg5, s16 arg6); + +// this file's functions +static void ClearVramOamPltt_LoadHofPal(void); +static void sub_8174F70(void); +static void sub_8174FAC(void); +static bool8 sub_81751FC(void); +static void SetCallback2AfterHallOfFameDisplay(void); +static bool8 sub_8175024(void); +static void Task_Hof_InitMonData(u8 taskId); +static void Task_Hof_InitTeamSaveData(u8 taskId); +static void Task_Hof_SetMonDisplayTask(u8 taskId); +static void Task_Hof_TrySaveData(u8 taskId); +static void Task_Hof_WaitForFrames(u8 taskId); +static void Task_Hof_DisplayMon(u8 taskId); +static void Task_Hof_PrintMonInfoAfterAnimating(u8 taskId); +static void Task_Hof_TryDisplayAnotherMon(u8 taskId); +static void Task_Hof_PaletteFadeAndPrintWelcomeText(u8 taskId); +static void sub_8173DC0(u8 taskId); +static void sub_8173EA4(u8 taskId); +static void sub_8173EE4(u8 taskId); +static void Task_Hof_WaitAndPrintPlayerInfo(u8 taskId); +static void Task_Hof_ExitOnKeyPressed(u8 taskId); +static void Task_Hof_HandlePaletteOnExit(u8 taskId); +static void Task_Hof_HandleExit(u8 taskId); +static void Task_HofPC_CopySaveData(u8 taskId); +static void Task_HofPC_PrintDataIsCorrupted(u8 taskId); +static void Task_HofPC_DrawSpritesPrintText(u8 taskId); +static void Task_HofPC_PrintMonInfo(u8 taskId); +static void Task_HofPC_HandleInput(u8 taskId); +static void Task_HofPC_HandlePaletteOnExit(u8 taskId); +static void Task_HofPC_HandleExit(u8 taskId); +static void Task_HofPC_ExitOnButtonPress(u8 taskId); +static void SpriteCB_GetOnScreenAndAnimate(struct Sprite *sprite); +static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u8 unused2); +static void HallOfFame_PrintWelcomeText(u8 unusedPossiblyWindowId, u8 unused2); +static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2); +static void sub_8175364(u8 taskId); +static void sub_81751A4(struct Sprite* sprite); + +// const rom data +static const struct BgTemplate sHof_BgTemplates[] = +{ + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 0, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + }, +}; + +static const struct WindowTemplate sHof_WindowTemplate = {0, 2, 2, 0xE, 6, 0xE, 1}; + +static const u8 sUnknown_085E5388[] = {0, 1, 2, 0}; + +static const u8 sUnknown_085E538C[] = {0, 2, 3, 0, 4, 5, 0, 0}; + +static const struct CompressedSpriteSheet sHallOfFame_ConfettiSpriteSheet = +{ + gContestConfetti_Gfx, 0x220, 1001 +}; + +static const u8 sUnused0[8] = {}; + +static const struct CompressedSpritePalette sHallOfFame_ConfettiSpritePalette = +{ + gContestConfetti_Pal, 1001 +}; + +static const u8 sUnused1[8] = {}; + +static const s16 sHallOfFame_MonFullTeamPositions[6][4] = +{ + {120, 210, 120, 40}, + {326, 220, 56, 40}, + {-86, 220, 184, 40}, + {120, -62, 120, 88}, + {-70, -92, 200, 88}, + {310, -92, 40, 88} +}; + +static const s16 sHallOfFame_MonHalfTeamPositions[3][4] = +{ + {120, 234, 120, 64}, + {326, 244, 56, 64}, + {-86, 244, 184, 64} +}; + +static const struct OamData sOamData_85E53FC = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AnimCmd sSpriteAnim_85E5404[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_85E540C[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_85E5414[] = +{ + ANIMCMD_FRAME(2, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_85E541C[] = +{ + ANIMCMD_FRAME(3, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_85E5424[] = +{ + ANIMCMD_FRAME(4, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_85E542C[] = +{ + ANIMCMD_FRAME(5, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_85E5434[] = +{ + ANIMCMD_FRAME(6, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_85E543C[] = +{ + ANIMCMD_FRAME(7, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_85E5444[] = +{ + ANIMCMD_FRAME(8, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_85E544C[] = +{ + ANIMCMD_FRAME(9, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_85E5454[] = +{ + ANIMCMD_FRAME(10, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_85E545C[] = +{ + ANIMCMD_FRAME(11, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_85E5464[] = +{ + ANIMCMD_FRAME(12, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_85E546C[] = +{ + ANIMCMD_FRAME(13, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_85E5474[] = +{ + ANIMCMD_FRAME(14, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_85E547C[] = +{ + ANIMCMD_FRAME(15, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_85E5484[] = +{ + ANIMCMD_FRAME(16, 30), + ANIMCMD_END +}; + +static const union AnimCmd * const sSpriteAnimTable_85E548C[] = +{ + sSpriteAnim_85E5404, sSpriteAnim_85E540C, sSpriteAnim_85E5414, sSpriteAnim_85E541C, + sSpriteAnim_85E5424, sSpriteAnim_85E542C, sSpriteAnim_85E5434, sSpriteAnim_85E543C, + sSpriteAnim_85E5444, sSpriteAnim_85E544C, sSpriteAnim_85E5454, sSpriteAnim_85E545C, + sSpriteAnim_85E5464, sSpriteAnim_85E546C, sSpriteAnim_85E5474, sSpriteAnim_85E547C, + sSpriteAnim_85E5484 +}; + +static const struct SpriteTemplate sSpriteTemplate_85E54D0 = +{ + .tileTag = 1001, + .paletteTag = 1001, + .oam = &sOamData_85E53FC, + .anims = sSpriteAnimTable_85E548C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81751A4 +}; + +static const u16 sHallOfFame_Pal[] = INCBIN_U16("graphics/misc/japanese_hof.gbapal"); + +static const u8 sHallOfFame_Gfx[] = INCBIN_U8("graphics/misc/japanese_hof.4bpp.lz"); + +static const struct HallofFameMon sDummyFameMon = +{ + 0x3EA03EA, 0, 0, 0, {0} +}; + +static const u8 sUnused2[6] = {2, 1, 3, 6, 4, 5}; + +// code +static void VBlankCB_HallOfFame(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void CB2_HallOfFame(void) +{ + RunTasks(); + RunTextPrinters(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static bool8 InitHallOfFameScreen(void) +{ + switch (gMain.state) + { + case 0: + SetVBlankCallback(NULL); + ClearVramOamPltt_LoadHofPal(); + sHofGfxPtr = AllocZeroed(sizeof(*sHofGfxPtr)); + gMain.state = 1; + break; + case 1: + sub_8174F70(); + gMain.state++; + break; + case 2: + SetGpuReg(REG_OFFSET_BLDCNT, 0x3F42); + SetGpuReg(REG_OFFSET_BLDALPHA, 0x710); + SetGpuReg(REG_OFFSET_BLDY, 0); + sub_8174FAC(); + sHofGfxPtr->state = 0; + gMain.state++; + break; + case 3: + if (!sub_8175024()) + { + SetVBlankCallback(VBlankCB_HallOfFame); + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + gMain.state++; + } + break; + case 4: + UpdatePaletteFade(); + if (!gPaletteFade.active) + { + SetMainCallback2(CB2_HallOfFame); + PlayBGM(MUS_DENDOU); + return FALSE; + } + break; + } + return TRUE; +} + +#define tDontSaveData data[0] +#define tDisplayedMonId data[1] +#define tMonNumber data[2] +#define tFrameCount data[3] +#define tPlayerSpriteID data[4] +#define tMonSpriteId(i) data[i + 5] + +void CB2_DoHallOfFameScreen(void) +{ + if (!InitHallOfFameScreen()) + { + u8 taskId = CreateTask(Task_Hof_InitMonData, 0); + gTasks[taskId].tDontSaveData = FALSE; + sHofMonPtr = AllocZeroed(sizeof(*sHofMonPtr)); + } +} + +void CB2_DoHallOfFameScreenDontSaveData(void) +{ + if (!InitHallOfFameScreen()) + { + u8 taskId = CreateTask(Task_Hof_InitMonData, 0); + gTasks[taskId].tDontSaveData = TRUE; + sHofMonPtr = AllocZeroed(sizeof(*sHofMonPtr)); + } +} + +static void Task_Hof_InitMonData(u8 taskId) +{ + u16 i, j; + + gTasks[taskId].tMonNumber = 0; // valid pokes + + for (i = 0; i < 6; i++) + { + u8 nick[POKEMON_NAME_LENGTH + 2]; + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES)) + { + sHofMonPtr->mon[i].species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); + sHofMonPtr->mon[i].tid = GetMonData(&gPlayerParty[i], MON_DATA_OT_ID); + sHofMonPtr->mon[i].personality = GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY); + sHofMonPtr->mon[i].lvl = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL); + GetMonData(&gPlayerParty[i], MON_DATA_NICKNAME, nick); + for (j = 0; j < POKEMON_NAME_LENGTH; j++) + { + sHofMonPtr->mon[i].nick[j] = nick[j]; + } + gTasks[taskId].tMonNumber++; + } + else + { + sHofMonPtr->mon[i].species = 0; + sHofMonPtr->mon[i].tid = 0; + sHofMonPtr->mon[i].personality = 0; + sHofMonPtr->mon[i].lvl = 0; + sHofMonPtr->mon[i].nick[0] = EOS; + } + } + + gUnknown_0203BCD4 = 0; + gTasks[taskId].tDisplayedMonId = 0; + gTasks[taskId].tPlayerSpriteID = 0xFF; + + for (i = 0; i < 6; i++) + { + gTasks[taskId].tMonSpriteId(i) = 0xFF; + } + + if (gTasks[taskId].tDontSaveData) + gTasks[taskId].func = Task_Hof_SetMonDisplayTask; + else + gTasks[taskId].func = Task_Hof_InitTeamSaveData; +} + +static void Task_Hof_InitTeamSaveData(u8 taskId) +{ + u16 i; + struct HallofFameTeam* lastSavedTeam = (struct HallofFameTeam*)(gDecompressionBuffer); + + if (!gHasHallOfFameRecords) + { + memset(gDecompressionBuffer, 0, 0x2000); + } + else + { + if (sub_81534D0(3) != TRUE) + memset(gDecompressionBuffer, 0, 0x2000); + } + + for (i = 0; i < HALL_OF_FAME_MAX_TEAMS; i++, lastSavedTeam++) + { + if (lastSavedTeam->mon[0].species == 0) + break; + } + if (i >= HALL_OF_FAME_MAX_TEAMS) + { + struct HallofFameTeam *afterTeam = (struct HallofFameTeam*)(gDecompressionBuffer); + struct HallofFameTeam *beforeTeam = (struct HallofFameTeam*)(gDecompressionBuffer); + afterTeam++; + for (i = 0; i < HALL_OF_FAME_MAX_TEAMS - 1; i++, beforeTeam++, afterTeam++) + { + *beforeTeam = *afterTeam; + } + lastSavedTeam--; + } + *lastSavedTeam = *sHofMonPtr; + + NewMenuHelpers_DrawDialogueFrame(0, 0); + AddTextPrinterParameterized(0, 1, gText_SavingDontTurnOffPower, 0, NULL, 2, 1, 3); + CopyWindowToVram(0, 3); + gTasks[taskId].func = Task_Hof_TrySaveData; +} + +static void Task_Hof_TrySaveData(u8 taskId) +{ + gGameContinueCallback = CB2_DoHallOfFameScreenDontSaveData; + if (TrySavingData(3) == 0xFF && gDamagedSaveSectors != 0) + { + UnsetBgTilemapBuffer(1); + UnsetBgTilemapBuffer(3); + FreeAllWindowBuffers(); + + if (sHofGfxPtr != NULL) + FREE_AND_SET_NULL(sHofGfxPtr); + if (sHofMonPtr != NULL) + FREE_AND_SET_NULL(sHofMonPtr); + + DestroyTask(taskId); + } + else + { + PlaySE(SE_SAVE); + gTasks[taskId].func = Task_Hof_WaitForFrames; + gTasks[taskId].tFrameCount = 32; + } +} + +static void Task_Hof_WaitForFrames(u8 taskId) +{ + if (gTasks[taskId].tFrameCount) + gTasks[taskId].tFrameCount--; + else + gTasks[taskId].func = Task_Hof_SetMonDisplayTask; +} + +static void Task_Hof_SetMonDisplayTask(u8 taskId) +{ + gTasks[taskId].func = Task_Hof_DisplayMon; +} + +#define tDestinationX data[1] +#define tDestinationY data[2] +#define tSpecies data[7] + +static void Task_Hof_DisplayMon(u8 taskId) +{ + u8 spriteId; + s16 xPos, yPos, field4, field6; + + u16 currMonId = gTasks[taskId].tDisplayedMonId; + struct HallofFameMon* currMon = &sHofMonPtr->mon[currMonId]; + + if (gTasks[taskId].tMonNumber > 3) + { + xPos = sHallOfFame_MonFullTeamPositions[currMonId][0]; + yPos = sHallOfFame_MonFullTeamPositions[currMonId][1]; + field4 = sHallOfFame_MonFullTeamPositions[currMonId][2]; + field6 = sHallOfFame_MonFullTeamPositions[currMonId][3]; + } + else + { + xPos = sHallOfFame_MonHalfTeamPositions[currMonId][0]; + yPos = sHallOfFame_MonHalfTeamPositions[currMonId][1]; + field4 = sHallOfFame_MonHalfTeamPositions[currMonId][2]; + field6 = sHallOfFame_MonHalfTeamPositions[currMonId][3]; + } + + if (currMon->species == SPECIES_EGG) + field6 += 10; + + spriteId = sub_818D3E4(currMon->species, currMon->tid, currMon->personality, 1, xPos, yPos, currMonId, 0xFFFF); + gSprites[spriteId].tDestinationX = field4; + gSprites[spriteId].tDestinationY = field6; + gSprites[spriteId].data[0] = 0; + gSprites[spriteId].tSpecies = currMon->species; + gSprites[spriteId].callback = SpriteCB_GetOnScreenAndAnimate; + gTasks[taskId].tMonSpriteId(currMonId) = spriteId; + sub_8197434(0, 1); + gTasks[taskId].func = Task_Hof_PrintMonInfoAfterAnimating; +} + +static void Task_Hof_PrintMonInfoAfterAnimating(u8 taskId) +{ + u16 currMonId = gTasks[taskId].tDisplayedMonId; + struct HallofFameMon* currMon = &sHofMonPtr->mon[currMonId]; + struct Sprite *monSprite = &gSprites[gTasks[taskId].tMonSpriteId(currMonId)]; + + if (monSprite->callback == SpriteCallbackDummy) + { + monSprite->oam.affineMode = 0; + HallOfFame_PrintMonInfo(currMon, 0, 14); + gTasks[taskId].tFrameCount = 120; + gTasks[taskId].func = Task_Hof_TryDisplayAnotherMon; + } +} + +static void Task_Hof_TryDisplayAnotherMon(u8 taskId) +{ + u16 currPokeID = gTasks[taskId].tDisplayedMonId; + struct HallofFameMon* currMon = &sHofMonPtr->mon[currPokeID]; + + if (gTasks[taskId].tFrameCount != 0) + { + gTasks[taskId].tFrameCount--; + } + else + { + gUnknown_0203BCD4 |= (0x10000 << gSprites[gTasks[taskId].tMonSpriteId(currPokeID)].oam.paletteNum); + if (gTasks[taskId].tDisplayedMonId <= 4 && currMon[1].species != SPECIES_NONE) // there is another pokemon to display + { + gTasks[taskId].tDisplayedMonId++; + BeginNormalPaletteFade(gUnknown_0203BCD4, 0, 12, 12, 0x63B0); + gSprites[gTasks[taskId].tMonSpriteId(currPokeID)].oam.priority = 1; + gTasks[taskId].func = Task_Hof_DisplayMon; + } + else + { + gTasks[taskId].func = Task_Hof_PaletteFadeAndPrintWelcomeText; + } + } +} + +static void Task_Hof_PaletteFadeAndPrintWelcomeText(u8 taskId) +{ + u16 i; + + BeginNormalPaletteFade(0xFFFF0000, 0, 0, 0, 0); + for (i = 0; i < 6; i++) + { + if (gTasks[taskId].tMonSpriteId(i) != 0xFF) + gSprites[gTasks[taskId].tMonSpriteId(i)].oam.priority = 0; + } + + HallOfFame_PrintWelcomeText(0, 15); + PlaySE(SE_DENDOU); + gTasks[taskId].tFrameCount = 400; + gTasks[taskId].func = sub_8173DC0; +} + +static void sub_8173DC0(u8 taskId) +{ + if (gTasks[taskId].tFrameCount != 0) + { + gTasks[taskId].tFrameCount--; + if ((gTasks[taskId].tFrameCount & 3) == 0 && gTasks[taskId].tFrameCount > 110) + sub_81751FC(); + } + else + { + u16 i; + for (i = 0; i < 6; i++) + { + if (gTasks[taskId].tMonSpriteId(i) != 0xFF) + gSprites[gTasks[taskId].tMonSpriteId(i)].oam.priority = 1; + } + BeginNormalPaletteFade(gUnknown_0203BCD4, 0, 12, 12, 0x63B0); + FillWindowPixelBuffer(0, 0); + CopyWindowToVram(0, 3); + gTasks[taskId].tFrameCount = 7; + gTasks[taskId].func = sub_8173EA4; + } +} + +static void sub_8173EA4(u8 taskId) +{ + if (gTasks[taskId].tFrameCount >= 16) + { + gTasks[taskId].func = sub_8173EE4; + } + else + { + gTasks[taskId].tFrameCount++; + SetGpuReg(REG_OFFSET_BLDALPHA, gTasks[taskId].tFrameCount * 256); + } +} + +static void sub_8173EE4(u8 taskId) +{ + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + ShowBg(0); + ShowBg(1); + ShowBg(3); + gTasks[taskId].tPlayerSpriteID = sub_818D8AC(sub_818D97C(gSaveBlock2Ptr->playerGender, 1), 1, 120, 72, 6, 0xFFFF); + AddWindow(&sHof_WindowTemplate); + sub_80987D4(1, gSaveBlock2Ptr->optionsWindowFrameType, 0x21D, 0xD0); + LoadPalette(stdpal_get(1), 0xE0, 0x20); + gTasks[taskId].tFrameCount = 120; + gTasks[taskId].func = Task_Hof_WaitAndPrintPlayerInfo; +} + +static void Task_Hof_WaitAndPrintPlayerInfo(u8 taskId) +{ + if (gTasks[taskId].tFrameCount != 0) + { + gTasks[taskId].tFrameCount--; + } + else if (gSprites[gTasks[taskId].tPlayerSpriteID].pos1.x != 192) + { + gSprites[gTasks[taskId].tPlayerSpriteID].pos1.x++; + } + else + { + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x20, 0x20); + HallOfFame_PrintPlayerInfo(1, 2); + NewMenuHelpers_DrawDialogueFrame(0, 0); + AddTextPrinterParameterized(0, 1, gText_LeagueChamp, 0, NULL, 2, 1, 3); + CopyWindowToVram(0, 3); + gTasks[taskId].func = Task_Hof_ExitOnKeyPressed; + } +} + +static void Task_Hof_ExitOnKeyPressed(u8 taskId) +{ + if (gMain.newKeys & A_BUTTON) + { + FadeOutBGM(4); + gTasks[taskId].func = Task_Hof_HandlePaletteOnExit; + } +} + +static void Task_Hof_HandlePaletteOnExit(u8 taskId) +{ + CpuCopy16(gPlttBufferFaded, gPlttBufferUnfaded, 0x400); + BeginNormalPaletteFade(-1, 8, 0, 0x10, 0); + gTasks[taskId].func = Task_Hof_HandleExit; +} + +static void Task_Hof_HandleExit(u8 taskId) +{ + if (!gPaletteFade.active) + { + s32 i; + + for (i = 0; i < 6; i++) + { + u8 spriteId = gTasks[taskId].tMonSpriteId(i); + if (spriteId != 0xFF) + { + FreeOamMatrix(gSprites[spriteId].oam.matrixNum); + sub_818D820(spriteId); + } + } + + sub_818D8F0(gTasks[taskId].tPlayerSpriteID); + HideBg(0); + HideBg(1); + HideBg(3); + FreeAllWindowBuffers(); + UnsetBgTilemapBuffer(1); + UnsetBgTilemapBuffer(3); + ResetBgsAndClearDma3BusyFlags(0); + DestroyTask(taskId); + + if (sHofGfxPtr != NULL) + FREE_AND_SET_NULL(sHofGfxPtr); + if (sHofMonPtr != NULL) + FREE_AND_SET_NULL(sHofMonPtr); + + SetCallback2AfterHallOfFameDisplay(); + } +} + +static void SetCallback2AfterHallOfFameDisplay(void) +{ + SetMainCallback2(sub_8175620); +} + +#undef tDontSaveData +#undef tDisplayedPoke +#undef tMonNumber +#undef tFrameCount +#undef tPlayerSpriteID +#undef tMonSpriteId + +#define tCurrTeamNo data[0] +#define tCurrPageNo data[1] +#define tCurrMonId data[2] +#define tMonNo data[4] +#define tMonSpriteId(i) data[i + 5] + +void CB2_DoHallOfFamePC(void) +{ + switch (gMain.state) + { + case 0: + default: + SetVBlankCallback(NULL); + ClearVramOamPltt_LoadHofPal(); + sHofGfxPtr = AllocZeroed(sizeof(*sHofGfxPtr)); + gMain.state = 1; + break; + case 1: + sub_8174F70(); + gMain.state++; + break; + case 2: + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + sub_8174FAC(); + gMain.state++; + break; + case 3: + if (!sub_8175024()) + { + struct HallofFameTeam *fameTeam = (struct HallofFameTeam*)(gDecompressionBuffer); + fameTeam->mon[0] = sDummyFameMon; + sub_80F9BCC(0, 0, 0); + SetVBlankCallback(VBlankCB_HallOfFame); + gMain.state++; + } + break; + case 4: + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); + if (!sub_80F9C1C()) + gMain.state++; + break; + case 5: + { + u8 taskId, i; + + SetGpuReg(REG_OFFSET_BLDCNT, 0x3F42); + SetGpuReg(REG_OFFSET_BLDALPHA, 0x710); + SetGpuReg(REG_OFFSET_BLDY, 0); + taskId = CreateTask(Task_HofPC_CopySaveData, 0); + + for (i = 0; i < 6; i++) + { + gTasks[taskId].tMonSpriteId(i) = 0xFF; + } + + sHofMonPtr = AllocZeroed(0x2000); + SetMainCallback2(CB2_HallOfFame); + } + break; + } +} + +static void Task_HofPC_CopySaveData(u8 taskId) +{ + sub_81980F0(0, 0x1E, 0, 0xC, 0x226); + if (sub_81534D0(3) != 1) + { + gTasks[taskId].func = Task_HofPC_PrintDataIsCorrupted; + } + else + { + u16 i; + struct HallofFameTeam* savedTeams; + + CpuCopy16(gDecompressionBuffer, sHofMonPtr, 0x2000); + savedTeams = sHofMonPtr; + for (i = 0; i < HALL_OF_FAME_MAX_TEAMS; i++, savedTeams++) + { + if (savedTeams->mon[0].species == SPECIES_NONE) + break; + } + + if (i < HALL_OF_FAME_MAX_TEAMS) + gTasks[taskId].tCurrTeamNo = i - 1; + else + gTasks[taskId].tCurrTeamNo = HALL_OF_FAME_MAX_TEAMS - 1; + + gTasks[taskId].tCurrPageNo = GetGameStat(GAME_STAT_ENTERED_HOF); + + gTasks[taskId].func = Task_HofPC_DrawSpritesPrintText; + } +} + +static void Task_HofPC_DrawSpritesPrintText(u8 taskId) +{ + struct HallofFameTeam* savedTeams = sHofMonPtr; + struct HallofFameMon* currMon; + u16 i; + + for (i = 0; i < gTasks[taskId].tCurrTeamNo; i++) + savedTeams++; + + currMon = &savedTeams->mon[0]; + gUnknown_0203BCD4 = 0; + gTasks[taskId].tCurrMonId = 0; + gTasks[taskId].tMonNo = 0; + + for (i = 0; i < 6; i++, currMon++) + { + if (currMon->species != 0) + gTasks[taskId].tMonNo++; + } + + currMon = &savedTeams->mon[0]; + + for (i = 0; i < 6; i++, currMon++) + { + if (currMon->species != 0) + { + u16 spriteId; + s16 posX, posY; + + if (gTasks[taskId].tMonNo > 3) + { + posX = sHallOfFame_MonFullTeamPositions[i][2]; + posY = sHallOfFame_MonFullTeamPositions[i][3]; + } + else + { + posX = sHallOfFame_MonHalfTeamPositions[i][2]; + posY = sHallOfFame_MonHalfTeamPositions[i][3]; + } + + if (currMon->species == SPECIES_EGG) + posY += 10; + + spriteId = sub_818D7D8(currMon->species, currMon->tid, currMon->personality, 1, posX, posY, i, 0xFFFF); + gSprites[spriteId].oam.priority = 1; + gTasks[taskId].tMonSpriteId(i) = spriteId; + } + else + { + gTasks[taskId].tMonSpriteId(i) = 0xFF; + } + } + + BlendPalettes(0xFFFF0000, 0xC, 0x63B0); + + ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].tCurrPageNo, STR_CONV_MODE_RIGHT_ALIGN, 3); + StringExpandPlaceholders(gStringVar4, gText_HOFNumber); + + if (gTasks[taskId].tCurrTeamNo <= 0) + sub_8198204(gStringVar4, gText_PickCancel, 0, 0, 1); + else + sub_8198204(gStringVar4, gText_PickNextCancel, 0, 0, 1); + + gTasks[taskId].func = Task_HofPC_PrintMonInfo; +} + +static void Task_HofPC_PrintMonInfo(u8 taskId) +{ + struct HallofFameTeam* savedTeams = sHofMonPtr; + struct HallofFameMon* currMon; + u16 i; + u16 currMonID; + + for (i = 0; i < gTasks[taskId].tCurrTeamNo; i++) + savedTeams++; + + for (i = 0; i < 6; i++) + { + u16 spriteId = gTasks[taskId].tMonSpriteId(i); + if (spriteId != 0xFF) + gSprites[spriteId].oam.priority = 1; + } + + currMonID = gTasks[taskId].tMonSpriteId(gTasks[taskId].tCurrMonId); + gSprites[currMonID].oam.priority = 0; + gUnknown_0203BCD4 = (0x10000 << gSprites[currMonID].oam.paletteNum) ^ 0xFFFF0000; + BlendPalettesUnfaded(gUnknown_0203BCD4, 0xC, 0x63B0); + + currMon = &savedTeams->mon[gTasks[taskId].tCurrMonId]; + if (currMon->species != SPECIES_EGG) + { + StopCryAndClearCrySongs(); + PlayCry1(currMon->species, 0); + } + HallOfFame_PrintMonInfo(currMon, 0, 14); + + gTasks[taskId].func = Task_HofPC_HandleInput; +} + +static void Task_HofPC_HandleInput(u8 taskId) +{ + u16 i; + + if (gMain.newKeys & A_BUTTON) + { + if (gTasks[taskId].tCurrTeamNo != 0) // prepare another team to view + { + gTasks[taskId].tCurrTeamNo--; + for (i = 0; i < 6; i++) + { + u8 spriteId = gTasks[taskId].tMonSpriteId(i); + if (spriteId != 0xFF) + { + sub_818D820(spriteId); + gTasks[taskId].tMonSpriteId(i) = 0xFF; + } + } + if (gTasks[taskId].tCurrPageNo != 0) + gTasks[taskId].tCurrPageNo--; + gTasks[taskId].func = Task_HofPC_DrawSpritesPrintText; + } + else // no more teams to view, turn off hall of fame PC + { + if (IsCryPlayingOrClearCrySongs()) + { + StopCryAndClearCrySongs(); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); + } + gTasks[taskId].func = Task_HofPC_HandlePaletteOnExit; + } + } + else if (gMain.newKeys & B_BUTTON) // turn off hall of fame PC + { + if (IsCryPlayingOrClearCrySongs()) + { + StopCryAndClearCrySongs(); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); + } + gTasks[taskId].func = Task_HofPC_HandlePaletteOnExit; + } + else if (gMain.newKeys & DPAD_UP && gTasks[taskId].tCurrMonId != 0) // change mon -1 + { + gTasks[taskId].tCurrMonId--; + gTasks[taskId].func = Task_HofPC_PrintMonInfo; + } + else if (gMain.newKeys & DPAD_DOWN && gTasks[taskId].tCurrMonId < gTasks[taskId].tMonNo - 1) // change mon +1 + { + gTasks[taskId].tCurrMonId++; + gTasks[taskId].func = Task_HofPC_PrintMonInfo; + } +} + +static void Task_HofPC_HandlePaletteOnExit(u8 taskId) +{ + struct HallofFameTeam* fameTeam; + + CpuCopy16(gPlttBufferFaded, gPlttBufferUnfaded, 0x400); + fameTeam = (struct HallofFameTeam*)(gDecompressionBuffer); + fameTeam->mon[0] = sDummyFameMon; + sub_80F9BF4(0, 0, 0); + gTasks[taskId].func = Task_HofPC_HandleExit; +} + +static void Task_HofPC_HandleExit(u8 taskId) +{ + if (!sub_80F9C30()) + { + u8 i; + + for (i = 0; i < 6; i++) + { + u16 spriteId = gTasks[taskId].tMonSpriteId(i); + if (spriteId != 0xFF) + { + sub_818D820(spriteId); + gTasks[taskId].tMonSpriteId(i) = 0xFF; + } + } + + HideBg(0); + HideBg(1); + HideBg(3); + sub_8198314(); + FreeAllWindowBuffers(); + UnsetBgTilemapBuffer(1); + UnsetBgTilemapBuffer(3); + ResetBgsAndClearDma3BusyFlags(0); + DestroyTask(taskId); + + if (sHofGfxPtr != NULL) + FREE_AND_SET_NULL(sHofGfxPtr); + if (sHofMonPtr != NULL) + FREE_AND_SET_NULL(sHofMonPtr); + + ReturnFromHallOfFamePC(); + } +} + +static void Task_HofPC_PrintDataIsCorrupted(u8 taskId) +{ + sub_8198180(gText_UnkCtrlF800Exit, 8, 1); + NewMenuHelpers_DrawDialogueFrame(0, 0); + AddTextPrinterParameterized(0, 1, gText_HOFCorrupted, 0, NULL, 2, 1, 3); + CopyWindowToVram(0, 3); + gTasks[taskId].func = Task_HofPC_ExitOnButtonPress; +} + +static void Task_HofPC_ExitOnButtonPress(u8 taskId) +{ + if (gMain.newKeys & A_BUTTON) + gTasks[taskId].func = Task_HofPC_HandlePaletteOnExit; +} + +#undef tCurrTeamNo +#undef tCurrPageNo +#undef tCurrMonId +#undef tMonNo +#undef tMonSpriteId + +static void HallOfFame_PrintWelcomeText(u8 unusedPossiblyWindowId, u8 unused2) +{ + FillWindowPixelBuffer(0, 0); + PutWindowTilemap(0); + box_print(0, 1, GetStringCenterAlignXOffset(1, gText_WelcomeToHOF, 0xD0), 1, sUnknown_085E5388, 0, gText_WelcomeToHOF); + CopyWindowToVram(0, 3); +} + +static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u8 unused2) +{ + u8 text[30]; + u8 *stringPtr; + s32 dexNumber; + s32 width; + + FillWindowPixelBuffer(0, 0); + PutWindowTilemap(0); + + // dex number + if (currMon->species != SPECIES_EGG) + { + stringPtr = StringCopy(text, gText_Number); + dexNumber = SpeciesToPokedexNum(currMon->species); + if (dexNumber != 0xFFFF) + { + stringPtr[0] = (dexNumber / 100) + CHAR_0; + stringPtr++; + dexNumber %= 100; + stringPtr[0] = (dexNumber / 10) + CHAR_0; + stringPtr++; + stringPtr[0] = (dexNumber % 10) + CHAR_0; + stringPtr++; + } + else + { + *(stringPtr)++ = CHAR_QUESTION_MARK; + *(stringPtr)++ = CHAR_QUESTION_MARK; + *(stringPtr)++ = CHAR_QUESTION_MARK; + } + stringPtr[0] = EOS; + box_print(0, 1, 0x10, 1, sUnknown_085E5388, -1, text); + } + + // nick, species names, gender and level + memcpy(text, currMon->nick, POKEMON_NAME_LENGTH); + text[POKEMON_NAME_LENGTH] = EOS; + if (currMon->species == SPECIES_EGG) + { + width = GetStringCenterAlignXOffset(1, text, 0xD0); + box_print(0, 1, width, 1, sUnknown_085E5388, -1, text); + CopyWindowToVram(0, 3); + } + else + { + width = GetStringRightAlignXOffset(1, text, 0x80); + box_print(0, 1, width, 1, sUnknown_085E5388, -1, text); + + text[0] = CHAR_SLASH; + stringPtr = StringCopy(text + 1, gSpeciesNames[currMon->species]); + + if (currMon->species != SPECIES_NIDORAN_M && currMon->species != SPECIES_NIDORAN_F) + { + switch (GetGenderFromSpeciesAndPersonality(currMon->species, currMon->personality)) + { + case MON_MALE: + stringPtr[0] = CHAR_MALE; + stringPtr++; + break; + case MON_FEMALE: + stringPtr[0] = CHAR_FEMALE; + stringPtr++; + break; + } + } + + stringPtr[0] = EOS; + box_print(0, 1, 0x80, 1, sUnknown_085E5388, -1, text); + + stringPtr = StringCopy(text, gText_Level); + ConvertIntToDecimalStringN(stringPtr, currMon->lvl, STR_CONV_MODE_LEFT_ALIGN, 3); + box_print(0, 1, 0x24, 0x11, sUnknown_085E5388, -1, text); + + stringPtr = StringCopy(text, gText_IDNumber); + ConvertIntToDecimalStringN(stringPtr, (u16)(currMon->tid), STR_CONV_MODE_LEADING_ZEROS, 5); + box_print(0, 1, 0x68, 0x11, sUnknown_085E5388, -1, text); + + CopyWindowToVram(0, 3); + } +} + +static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2) +{ + u8 text[20]; + u32 width; + u16 trainerId; + + FillWindowPixelBuffer(1, 0x11); + PutWindowTilemap(1); + SetWindowBorderStyle(1, FALSE, 0x21D, 0xD); + box_print(1, 1, 0, 1, sUnknown_085E538C, -1, gText_Name); + + width = GetStringRightAlignXOffset(1, gSaveBlock2Ptr->playerName, 0x70); + box_print(1, 1, width, 1, sUnknown_085E538C, -1, gSaveBlock2Ptr->playerName); + + trainerId = (gSaveBlock2Ptr->playerTrainerId[0]) | (gSaveBlock2Ptr->playerTrainerId[1] << 8); + box_print(1, 1, 0, 0x11, sUnknown_085E538C, 0, gText_IDNumber); + text[0] = (trainerId % 100000) / 10000 + CHAR_0; + text[1] = (trainerId % 10000) / 1000 + CHAR_0; + text[2] = (trainerId % 1000) / 100 + CHAR_0; + text[3] = (trainerId % 100) / 10 + CHAR_0; + text[4] = (trainerId % 10) / 1 + CHAR_0; + text[5] = EOS; + width = GetStringRightAlignXOffset(1, text, 0x70); + box_print(1, 1, width, 0x11, sUnknown_085E538C, -1, text); + + box_print(1, 1, 0, 0x21, sUnknown_085E538C, -1, gText_MainMenuTime); + text[0] = (gSaveBlock2Ptr->playTimeHours / 100) + CHAR_0; + text[1] = (gSaveBlock2Ptr->playTimeHours % 100) / 10 + CHAR_0; + text[2] = (gSaveBlock2Ptr->playTimeHours % 10) + CHAR_0; + + if (text[0] == CHAR_0) + text[0] = CHAR_SPACE; + if (text[0] == CHAR_SPACE && text[1] == CHAR_0) + text[8] = CHAR_SPACE; + + text[3] = CHAR_COLON; + text[4] = (gSaveBlock2Ptr->playTimeMinutes % 100) / 10 + CHAR_0; + text[5] = (gSaveBlock2Ptr->playTimeMinutes % 10) + CHAR_0; + text[6] = EOS; + + width = GetStringRightAlignXOffset(1, text, 0x70); + box_print(1, 1, width, 0x21, sUnknown_085E538C, -1, text); + + CopyWindowToVram(1, 3); +} + +static void ClearVramOamPltt_LoadHofPal(void) +{ + u32 vramOffset, oamOffset, plttOffset; + u32 vramSize, oamSize, plttSize; + + vramOffset = (VRAM); + vramSize = VRAM_SIZE; + while (TRUE) + { + DmaFill16(3, 0, vramOffset, 0x1000); + vramOffset += 0x1000; + vramSize -= 0x1000; + if (vramSize <= 0x1000) + { + DmaFill16(3, 0, vramOffset, vramSize); + break; + } + } + + oamOffset = OAM; + oamSize = OAM_SIZE; + DmaFill32(3, 0, oamOffset, oamSize); + + plttOffset = PLTT; + plttSize = PLTT_SIZE; + DmaFill16(3, 0, plttOffset, plttSize); + + ResetPaletteFade(); + LoadPalette(sHallOfFame_Pal, 0, 0x20); +} + +static void sub_8174F70(void) +{ + ScanlineEffect_Stop(); + ResetTasks(); + ResetSpriteData(); + reset_temp_tile_data_buffers(); + dp13_810BB8C(); + FreeAllSpritePalettes(); + gReservedSpritePaletteCount = 8; + LoadCompressedObjectPic(&sHallOfFame_ConfettiSpriteSheet); + LoadCompressedObjectPalette(&sHallOfFame_ConfettiSpritePalette); +} + +static void sub_8174FAC(void) +{ + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, sHof_BgTemplates, ARRAY_COUNT(sHof_BgTemplates)); + SetBgTilemapBuffer(1, sHofGfxPtr->tilemap1); + SetBgTilemapBuffer(3, sHofGfxPtr->tilemap2); + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); +} + +static bool8 sub_8175024(void) +{ + switch (sHofGfxPtr->state) + { + case 0: + decompress_and_copy_tile_data_to_vram(1, sHallOfFame_Gfx, 0, 0, 0); + break; + case 1: + if (free_temp_tile_data_buffers_if_possible()) + return TRUE; + break; + case 2: + FillBgTilemapBufferRect_Palette0(1, 1, 0, 0, 0x20, 2); + FillBgTilemapBufferRect_Palette0(1, 0, 0, 3, 0x20, 0xB); + FillBgTilemapBufferRect_Palette0(1, 1, 0, 0xE, 0x20, 6); + FillBgTilemapBufferRect_Palette0(3, 2, 0, 0, 0x20, 0x20); + + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(3); + break; + case 3: + sub_81971D0(); + sub_8197200(); + break; + case 4: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); + ShowBg(0); + ShowBg(1); + ShowBg(3); + sHofGfxPtr->state = 0; + return FALSE; + } + + sHofGfxPtr->state++; + return TRUE; +} + +static void SpriteCB_GetOnScreenAndAnimate(struct Sprite *sprite) +{ + if (sprite->pos1.x != sprite->tDestinationX + || sprite->pos1.y != sprite->tDestinationY) + { + if (sprite->pos1.x < sprite->tDestinationX) + sprite->pos1.x += 15; + if (sprite->pos1.x > sprite->tDestinationX) + sprite->pos1.x -= 15; + + if (sprite->pos1.y < sprite->tDestinationY) + sprite->pos1.y += 10; + if (sprite->pos1.y > sprite->tDestinationY) + sprite->pos1.y -= 10; + } + else + { + s16 species = sprite->tSpecies; + + if (species == SPECIES_EGG) + DoMonFrontSpriteAnimation(sprite, species, TRUE, 3); + else + DoMonFrontSpriteAnimation(sprite, species, FALSE, 3); + } +} + +#undef tDestinationX +#undef tDestinationY +#undef tSpecies + +static void sub_81751A4(struct Sprite* sprite) +{ + if (sprite->pos2.y > 120) + { + DestroySprite(sprite); + } + else + { + u16 rand; + u8 tableID; + + sprite->pos2.y++; + sprite->pos2.y += sprite->data[1]; + + tableID = sprite->data[0]; + rand = (Random() % 4) + 8; + sprite->pos2.x = rand * gSineTable[tableID] / 256; + + sprite->data[0] += 4; + } +} + +static bool8 sub_81751FC(void) +{ + u8 spriteID; + struct Sprite* sprite; + + s16 posX = Random() % 240; + s16 posY = -(Random() % 8); + + spriteID = CreateSprite(&sSpriteTemplate_85E54D0, posX, posY, 0); + sprite = &gSprites[spriteID]; + + StartSpriteAnim(sprite, Random() % 17); + + if (Random() & 3) + sprite->data[1] = 0; + else + sprite->data[1] = 1; + + return FALSE; +} + +void sub_8175280(void) +{ + u8 taskId; + + gSpecialVar_0x8004 = 180; + taskId = CreateTask(sub_8175364, 0); + if (taskId != 0xFF) + { + gTasks[taskId].data[1] = gSpecialVar_0x8004; + gSpecialVar_0x8005 = taskId; + } +} + +static void sub_81752C0(void) +{ + u8 taskId; + + if ((taskId = FindTaskIdByFunc(sub_8175364)) != 0xFF) + DestroyTask(taskId); + + sub_8152254(); + FreeSpriteTilesByTag(0x3E9); + FreeSpritePaletteByTag(0x3E9); +} + +struct UnknownStruct912B4 +{ + s16 field_0; + s16 field_2; + s16 field_4; + s16 field_6; + s16 field_8; + s16 field_A; + s16 field_C; + s16 field_E; + s16 field_10; + s16 field_12; + s16 field_14; + s16 field_16; + s16 field_18; + s16 field_1A; + s16 field_1C; + s16 field_1E; + s16 field_20; + s16 field_22; + s16 field_24; + s16 field_26; + s16 field_28; +}; + +static void sub_81752F4(struct UnknownStruct912B4 *unkStruct) +{ + if (unkStruct->field_E > 110) + { + gTasks[unkStruct->field_28].data[15]--; + sub_81525D0(unkStruct->field_16); + } + else + { + u8 var; + s32 rand; + + unkStruct->field_E++; + unkStruct->field_E += unkStruct->field_1C; + + var = unkStruct->field_1A; + rand = Random(); + rand &= 3; + rand += 8; + unkStruct->field_C = (rand) * ((gSineTable[var])) / 256; + + unkStruct->field_1A += 4; + } +} + +static void sub_8175364(u8 taskId) +{ + u32 var = 0; + u16 *data = gTasks[taskId].data; + + switch (data[0]) + { + case 0: + if (!sub_81521C0(0x40)) + { + DestroyTask(taskId); + gSpecialVar_0x8004 = var; + gSpecialVar_0x8005 = 0xFFFF; + } + LoadCompressedObjectPic(&sHallOfFame_ConfettiSpriteSheet); + LoadCompressedObjectPalette(&sHallOfFame_ConfettiSpritePalette); + data[0]++; + break; + case 1: + if (data[1] != 0 && data[1] % 3 == 0) + { + var = sub_81524C4(&sOamData_85E53FC, 0x3E9, 0x3E9, Random() % 240, -(Random() % 8), Random() % 0x11, var); + if (var != 0xFF) + { + sub_8152438(var, sub_81752F4); + if ((Random() & 3) == 0) + sub_8152474(var, 1, 1); + sub_8152474(var, 7, taskId); + data[15]++; + } + } + sub_81522D4(); + if (data[1] != 0) + data[1]--; + else if (data[15] == 0) + data[0] = 0xFF; + break; + case 0xFF: + sub_81752C0(); + gSpecialVar_0x8004 = var; + gSpecialVar_0x8005 = 0xFFFF; + break; + } +} diff --git a/src/heal_location.c b/src/heal_location.c new file mode 100644 index 0000000000..aa90fe1ae7 --- /dev/null +++ b/src/heal_location.c @@ -0,0 +1,83 @@ + +// Includes +#include "global.h" +#include "constants/maps.h" +#include "heal_location.h" + +#define HEAL_LOCATION(map, x, y) {MAP_GROUP(map), MAP_NUM(map), x, y} + +// Static type declarations + +// Static RAM declarations + +// Static ROM declarations + +// .rodata + +static const struct HealLocation sHealLocations[] = { + HEAL_LOCATION(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F, 4, 2), + HEAL_LOCATION(LITTLEROOT_TOWN_MAYS_HOUSE_2F, 4, 2), + HEAL_LOCATION(PETALBURG_CITY, 20, 17), + HEAL_LOCATION(SLATEPORT_CITY, 19, 20), + HEAL_LOCATION(MAUVILLE_CITY, 22, 6), + HEAL_LOCATION(RUSTBORO_CITY, 16, 39), + HEAL_LOCATION(FORTREE_CITY, 5, 7), + HEAL_LOCATION(LILYCOVE_CITY, 24, 15), + HEAL_LOCATION(MOSSDEEP_CITY, 28, 17), + HEAL_LOCATION(SOOTOPOLIS_CITY, 43, 32), + HEAL_LOCATION(EVER_GRANDE_CITY, 27, 49), + HEAL_LOCATION(LITTLEROOT_TOWN, 5, 9), + HEAL_LOCATION(LITTLEROOT_TOWN, 14, 9), + HEAL_LOCATION(OLDALE_TOWN, 6, 17), + HEAL_LOCATION(DEWFORD_TOWN, 2, 11), + HEAL_LOCATION(LAVARIDGE_TOWN, 9, 7), + HEAL_LOCATION(FALLARBOR_TOWN, 14, 8), + HEAL_LOCATION(VERDANTURF_TOWN, 16, 4), + HEAL_LOCATION(PACIFIDLOG_TOWN, 8, 16), + HEAL_LOCATION(EVER_GRANDE_CITY, 18, 6), + HEAL_LOCATION(SOUTHERN_ISLAND_EXTERIOR, 15, 20), + HEAL_LOCATION(BATTLE_FRONTIER_OUTSIDE_EAST, 3, 52) +}; + +#define NUM_HEAL_LOCATIONS (ARRAY_COUNT(sHealLocations)) + +// .text + +static u32 GetHealLocationIndexFromMapGroupAndNum(u16 mapGroup, u16 mapNum) +{ + u32 i; + + for (i = 0; i < NUM_HEAL_LOCATIONS; i++) + { + if (sHealLocations[i].group == mapGroup && sHealLocations[i].map == mapNum) + { + return i + 1; + } + } + return 0; +} + +const struct HealLocation *GetHealLocationPointerFromMapGroupAndNum(u16 mapGroup, u16 mapNum) +{ + u32 loc; + + loc = GetHealLocationIndexFromMapGroupAndNum(mapGroup, mapNum); + if (loc == 0) + { + return NULL; + } + return &sHealLocations[loc - 1]; +} + +const struct HealLocation *GetHealLocationPointer(u32 loc) +{ + if (loc == 0) + { + return NULL; + } + if (loc > NUM_HEAL_LOCATIONS) + { + return NULL; + } + return &sHealLocations[loc - 1]; +} diff --git a/src/hof_pc.c b/src/hof_pc.c new file mode 100644 index 0000000000..e772f04e84 --- /dev/null +++ b/src/hof_pc.c @@ -0,0 +1,46 @@ +#include "global.h" +#include "hall_of_fame.h" +#include "main.h" +#include "palette.h" +#include "overworld.h" +#include "script.h" +#include "script_menu.h" +#include "task.h" + +extern void (*gFieldCallback)(void); +extern void (*gUnknown_0300485C)(void); + +extern void Overworld_PlaySpecialMapMusic(void); +extern bool16 ScrSpecial_CreatePCMenu(void); +extern void ScriptMenu_DisplayPCStartupPrompt(void); + +static void ReshowPCMenuAfterHallOfFamePC(void); +static void Task_WaitForPaletteFade(u8); + +void AccessHallOfFamePC(void) +{ + SetMainCallback2(CB2_DoHallOfFamePC); + ScriptContext2_Enable(); +} + +void ReturnFromHallOfFamePC(void) +{ + SetMainCallback2(c2_exit_to_overworld_2_switch); + gFieldCallback = ReshowPCMenuAfterHallOfFamePC; +} + +static void ReshowPCMenuAfterHallOfFamePC(void) +{ + ScriptContext2_Enable(); + Overworld_PlaySpecialMapMusic(); + ScrSpecial_CreatePCMenu(); + ScriptMenu_DisplayPCStartupPrompt(); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + CreateTask(Task_WaitForPaletteFade, 10); +} + +static void Task_WaitForPaletteFade(u8 taskId) +{ + if (!gPaletteFade.active) + DestroyTask(taskId); +} diff --git a/src/international_string_util.c b/src/international_string_util.c index 81985d614b..89b4a7a69c 100644 --- a/src/international_string_util.c +++ b/src/international_string_util.c @@ -1,6 +1,6 @@ #include "global.h" -#include "international_string_util.h" #include "text.h" +#include "international_string_util.h" extern s32 convert_pixel_width_to_tile_width(s32 a0); // script menu diff --git a/src/item.c b/src/item.c index 845c0109c0..ef815fb811 100644 --- a/src/item.c +++ b/src/item.c @@ -1,17 +1,17 @@ #include "global.h" #include "item.h" -#include "items.h" +#include "berry.h" +#include "constants/items.h" #include "string_util.h" #include "text.h" #include "event_data.h" -extern void ApplyNewEncyprtionKeyToHword(u16* hword, u32 newKey); +extern void ApplyNewEncryptionKeyToHword(u16* hword, u32 newKey); extern bool8 InBattlePyramid(void); extern const u8 gText_PokeBalls[]; extern const u8 gText_Berries[]; extern const u8 gText_Berry[]; -extern const u8 gUnknown_085897E4[][28]; // not sure what this one is bool8 CheckPyramidBagHasItem(u16 itemId, u16 count); bool8 CheckPyramidBagHasSpace(u16 itemId, u16 count); @@ -36,39 +36,39 @@ void SetBagItemId(u16* slot, u16 newItemId) *slot = newItemId; } -void ApplyNewEncyprtionKeyToBagItems(u32 newKey) +void ApplyNewEncryptionKeyToBagItems(u32 newKey) { u32 pocket, item; for (pocket = 0; pocket < 5; pocket++) { for (item = 0; item < gBagPockets[pocket].capacity; item++) - ApplyNewEncyprtionKeyToHword(&(gBagPockets[pocket].itemSlots[item].quantity), newKey); + ApplyNewEncryptionKeyToHword(&(gBagPockets[pocket].itemSlots[item].quantity), newKey); } } -void ApplyNewEncyprtionKeyToBagItems_(u32 newKey) // really GF? +void ApplyNewEncryptionKeyToBagItems_(u32 newKey) // really GF? { - ApplyNewEncyprtionKeyToBagItems(newKey); + ApplyNewEncryptionKeyToBagItems(newKey); } // TODO: move those max values to defines void SetBagItemsPointers(void) { - gBagPockets[ITEMS_POCKET].itemSlots = gSaveBlock1Ptr->bagPocket_Items; - gBagPockets[ITEMS_POCKET].capacity = 30; + gBagPockets[BAG_ITEMS - 1].itemSlots = gSaveBlock1Ptr->bagPocket_Items; + gBagPockets[BAG_ITEMS - 1].capacity = 30; - gBagPockets[KEYITEMS_POCKET].itemSlots = gSaveBlock1Ptr->bagPocket_KeyItems; - gBagPockets[KEYITEMS_POCKET].capacity = 30; + gBagPockets[BAG_KEYITEMS - 1].itemSlots = gSaveBlock1Ptr->bagPocket_KeyItems; + gBagPockets[BAG_KEYITEMS - 1].capacity = 30; - gBagPockets[BALLS_POCKET].itemSlots = gSaveBlock1Ptr->bagPocket_PokeBalls; - gBagPockets[BALLS_POCKET].capacity = 16; + gBagPockets[BAG_POKEBALLS - 1].itemSlots = gSaveBlock1Ptr->bagPocket_PokeBalls; + gBagPockets[BAG_POKEBALLS - 1].capacity = 16; - gBagPockets[TMHM_POCKET].itemSlots = gSaveBlock1Ptr->bagPocket_TMHM; - gBagPockets[TMHM_POCKET].capacity = 64; + gBagPockets[BAG_TMsHMs - 1].itemSlots = gSaveBlock1Ptr->bagPocket_TMHM; + gBagPockets[BAG_TMsHMs - 1].capacity = 64; - gBagPockets[BERRIES_POCKET].itemSlots = gSaveBlock1Ptr->bagPocket_Berries; - gBagPockets[BERRIES_POCKET].capacity = 46; + gBagPockets[BAG_BERRIES - 1].itemSlots = gSaveBlock1Ptr->bagPocket_Berries; + gBagPockets[BAG_BERRIES - 1].capacity = 46; } void CopyItemName(u16 itemId, u8 *string) @@ -87,8 +87,8 @@ void CopyItemNameHandlePlural(u16 itemId, u8 *string, u32 quantity) } else { - if (itemId >= 0x85 && itemId <= 0xAF) - GetBerryCountString(string, gUnknown_085897E4[itemId], quantity); + if (itemId >= ITEM_CHERI_BERRY && itemId <= ITEM_ENIGMA_BERRY) + GetBerryCountString(string, gBerries[itemId - ITEM_CHERI_BERRY].name, quantity); else StringCopy(string, ItemId_GetItem(itemId)->name); } @@ -156,11 +156,11 @@ bool8 HasAtLeastOneBerry(void) { if (CheckBagHasItem(i, 1) == TRUE) { - gScriptResult = 1; + gSpecialVar_Result = 1; return TRUE; } } - gScriptResult = 0; + gSpecialVar_Result = 0; return FALSE; } @@ -177,7 +177,7 @@ bool8 CheckBagHasSpace(u16 itemId, u16 count) if (InBattlePyramid() || FlagGet(0x4004) == TRUE) return CheckPyramidBagHasSpace(itemId, count); pocket = ItemId_GetPocket(itemId) - 1; - if (pocket != BERRIES_POCKET) + if (pocket != BAG_BERRIES) slotCapacity = 99; else slotCapacity = 999; @@ -190,7 +190,7 @@ bool8 CheckBagHasSpace(u16 itemId, u16 count) quantity = GetBagItemQuantity(&gBagPockets[pocket].itemSlots[i].quantity); if (quantity + count <= slotCapacity) return TRUE; - if (pocket == TMHM_POCKET || pocket == BERRIES_POCKET) + if (pocket == BAG_TMsHMs || pocket == BAG_BERRIES) return FALSE; count -= slotCapacity - quantity; if (count == 0) @@ -207,7 +207,7 @@ bool8 CheckBagHasSpace(u16 itemId, u16 count) { if (count <= slotCapacity) return TRUE; - if (pocket == TMHM_POCKET || pocket == BERRIES_POCKET) + if (pocket == BAG_TMsHMs || pocket == BAG_BERRIES) return FALSE; count -= slotCapacity; } diff --git a/src/item_icon.c b/src/item_icon.c new file mode 100644 index 0000000000..4aaad9c315 --- /dev/null +++ b/src/item_icon.c @@ -0,0 +1,169 @@ +#include "global.h" +#include "item_icon.h" +#include "malloc.h" +#include "sprite.h" +#include "decompress.h" +#include "constants/items.h" + +// EWRAM vars +EWRAM_DATA void *gItemIconDecompressionBuffer = NULL; +EWRAM_DATA void *gItemIcon4x4Buffer = NULL; + +// const rom data +extern const void *const gItemIconTable[][2]; // todo: move to C file + +static const struct OamData sOamData_ItemIcon = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 1, + .paletteNum = 2, + .affineParam = 0 +}; + +static const union AnimCmd sSpriteAnim_ItemIcon[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_ItemIcon[] = +{ + sSpriteAnim_ItemIcon +}; + +const struct SpriteTemplate gItemIconSpriteTemplate = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &sOamData_ItemIcon, + .anims = sSpriteAnimTable_ItemIcon, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +// code +bool8 AllocItemIconTemporaryBuffers(void) +{ + gItemIconDecompressionBuffer = gItemIconDecompressionBuffer; // needed to match + gItemIconDecompressionBuffer = Alloc(0x120); + if (gItemIconDecompressionBuffer == NULL) + return FALSE; + + gItemIcon4x4Buffer = gItemIcon4x4Buffer; // needed to match + gItemIcon4x4Buffer = AllocZeroed(0x200); + if (gItemIcon4x4Buffer == NULL) + { + Free(gItemIconDecompressionBuffer); + return FALSE; + } + + return TRUE; +} + +void FreeItemIconTemporaryBuffers(void) +{ + Free(gItemIconDecompressionBuffer); + Free(gItemIcon4x4Buffer); +} + +void CopyItemIconPicTo4x4Buffer(const void *src, void *dest) +{ + u8 i; + + for (i = 0; i < 3; i++) + CpuCopy16(src + i * 96, dest + i * 128, 0x60); +} + +u8 AddItemIconSprite(u16 tilesTag, u16 paletteTag, u16 itemId) +{ + if (!AllocItemIconTemporaryBuffers()) + { + return MAX_SPRITES; + } + else + { + u8 spriteId; + struct SpriteSheet spriteSheet; + struct CompressedSpritePalette spritePalette; + struct SpriteTemplate *spriteTemplate; + + LZDecompressWram(GetItemIconPicOrPalette(itemId, 0), gItemIconDecompressionBuffer); + CopyItemIconPicTo4x4Buffer(gItemIconDecompressionBuffer, gItemIcon4x4Buffer); + spriteSheet.data = gItemIcon4x4Buffer; + spriteSheet.size = 0x200; + spriteSheet.tag = tilesTag; + LoadSpriteSheet(&spriteSheet); + + spritePalette.data = GetItemIconPicOrPalette(itemId, 1); + spritePalette.tag = paletteTag; + LoadCompressedObjectPalette(&spritePalette); + + spriteTemplate = Alloc(sizeof(*spriteTemplate)); + CpuCopy16(&gItemIconSpriteTemplate, spriteTemplate, sizeof(*spriteTemplate)); + spriteTemplate->tileTag = tilesTag; + spriteTemplate->paletteTag = paletteTag; + spriteId = CreateSprite(spriteTemplate, 0, 0, 0); + + FreeItemIconTemporaryBuffers(); + Free(spriteTemplate); + + return spriteId; + } +} + +u8 AddCustomItemIconSprite(struct SpriteTemplate *customSpriteTemplate, u16 tilesTag, u16 paletteTag, u16 itemId) +{ + if (!AllocItemIconTemporaryBuffers()) + { + return MAX_SPRITES; + } + else + { + u8 spriteId; + struct SpriteSheet spriteSheet; + struct CompressedSpritePalette spritePalette; + struct SpriteTemplate *spriteTemplate; + + LZDecompressWram(GetItemIconPicOrPalette(itemId, 0), gItemIconDecompressionBuffer); + CopyItemIconPicTo4x4Buffer(gItemIconDecompressionBuffer, gItemIcon4x4Buffer); + spriteSheet.data = gItemIcon4x4Buffer; + spriteSheet.size = 0x200; + spriteSheet.tag = tilesTag; + LoadSpriteSheet(&spriteSheet); + + spritePalette.data = GetItemIconPicOrPalette(itemId, 1); + spritePalette.tag = paletteTag; + LoadCompressedObjectPalette(&spritePalette); + + spriteTemplate = Alloc(sizeof(*spriteTemplate)); + CpuCopy16(customSpriteTemplate, spriteTemplate, sizeof(*spriteTemplate)); + spriteTemplate->tileTag = tilesTag; + spriteTemplate->paletteTag = paletteTag; + spriteId = CreateSprite(spriteTemplate, 0, 0, 0); + + FreeItemIconTemporaryBuffers(); + Free(spriteTemplate); + + return spriteId; + } +} + +const void *GetItemIconPicOrPalette(u16 itemId, u8 which) +{ + if (itemId == 0xFFFF) + itemId = ITEM_FIELD_ARROW; + else if (itemId > ITEM_LAST_ID) + itemId = 0; + + return gItemIconTable[itemId][which]; +} diff --git a/src/item_use.c b/src/item_use.c new file mode 100755 index 0000000000..1fdd925aca --- /dev/null +++ b/src/item_use.c @@ -0,0 +1,1122 @@ +#include "global.h" +#include "item_use.h" +#include "battle.h" +#include "berry.h" +#include "bike.h" +#include "coins.h" +#include "constants/flags.h" +#include "constants/items.h" +#include "constants/songs.h" +#include "constants/vars.h" +#include "data2.h" +#include "event_data.h" +#include "fieldmap.h" +#include "field_map_obj.h" +#include "field_player_avatar.h" +#include "field_screen.h" +#include "field_weather.h" +#include "item.h" +#include "field_map_obj_helpers.h" +#include "mail.h" +#include "metatile_behavior.h" +#include "overworld.h" +#include "palette.h" +#include "pokemon.h" +#include "rom_818CFC8.h" +#include "script.h" +#include "sound.h" +#include "string_util.h" +#include "task.h" +#include "text.h" + +extern void(**gUnknown_0203CE54)(void); +extern void(**gUnknown_0203CF2C)(void); +extern void(*gUnknown_0203A0F4)(u8 taskId); +extern void(*gUnknown_085920D8[])(void); +extern void (*gUnknown_03006328)(u8, u16, TaskFunc); +extern void unknown_ItemMenu_Confirm(u8 taskId); +extern void sub_81C5B14(u8 taskId); +extern u8 gText_DadsAdvice[]; +extern u8 gText_CantDismountBike[]; +extern void sub_8197434(u8 a, u8 b); +extern void sub_80984F4(void); +extern void ItemUseOutOfBattle_TMHM(u8 a); +extern void ItemUseOutOfBattle_EvolutionStone(u8 b); +extern void bag_menu_mail_related(void); +extern void OpenPokeblockCase(u8 a, void(*b)(void)); +extern void overworld_free_bg_tilemaps(void); +extern bool32 sav1_map_is_biking_allowed(void); +extern bool8 IsPlayerFacingSurfableFishableWater(void); +extern bool8 sub_81221AC(void); +extern u8 gText_ItemFinderNothing[]; +extern u8 gText_ItemFinderNearby[]; +extern u8 gText_ItemFinderOnTop[]; +extern u8 gText_CoinCase[]; +extern u8 gText_PowderQty[]; +extern u8 gUnknown_085920E4[]; +extern u8 Route102_EventScript_274482[]; +extern u8 Route102_EventScript_2744C0[]; +extern u8 BattleFrontier_OutsideEast_EventScript_242CFC[]; +extern u8 gText_BootedUpHM[]; +extern u8 gText_BootedUpTM[]; +extern u8 gText_TMHMContainedVar1[]; +extern u8 gText_PlayerUsedVar2[]; +extern u8 gText_RepelEffectsLingered[]; +extern u8 gText_UsedVar2WildLured[]; +extern u8 gText_UsedVar2WildRepelled[]; +extern u8 gText_BoxFull[]; +extern u8 gText_WontHaveEffect[]; +extern int sub_80247BC(void); +extern struct MapHeader* mapconnection_get_mapheader(struct MapConnection *connection); +extern void SetUpItemUseCallback(u8 taskId); +extern void ItemUseCB_Medicine(u8, u16, TaskFunc); +extern void sub_81B67C8(u8, u16, TaskFunc); +extern void sub_81B79E8(u8, u16, TaskFunc); +extern void dp05_ether(u8, u16, TaskFunc); +extern void dp05_pp_up(u8, u16, TaskFunc); +extern void dp05_rare_candy(u8, u16, TaskFunc); +extern void sub_81B6DC4(u8, u16, TaskFunc); +extern void sub_81B7C74(u8, u16, TaskFunc); +extern u16 ItemIdToBattleMoveId(u16); +extern void bag_menu_yes_no(u8, u8, void(**)(u8 taskId)); +extern void (*gUnknown_085920E8[])(u8 taskId); +extern void sub_81C5924(void); +extern void sub_81C59BC(void); +extern void sub_81AB9A8(u8); +extern void sub_81ABA88(u8); +extern void sub_80B7CC8(void); +extern void flagmods_08054D70(void); +extern u8* sub_806CF78(u16); +extern bool8 ExecuteTableBasedItemEffect_(struct Pokemon*, u16, u8, u8); +extern void sub_81B89F0(void); +extern u8 GetItemEffectType(u16); +extern struct MapConnection *sub_8088A8C(s16, s16); + +void MapPostLoadHook_UseItem(void); +void sub_80AF6D4(void); +void Task_CallItemUseOnFieldCallback(u8 taskId); +void bag_menu_inits_lists_menu(u8 taskId); +void ItemUseOnFieldCB_Bike(u8 taskId); +void ItemUseOnFieldCB_Rod(u8 taskId); +void ItemUseOnFieldCB_Itemfinder(u8 taskId); +void sub_80FD504(u8 taskId); +void sub_80FD5CC(u8 taskId); +void sub_80FDA94(u8 taskId); +void sub_80FDADC(u8 taskId); +void sub_80FD7C8(u8 taskId); +void sub_80FDC00(u8 taskId); +void sub_80FDD74(u8 taskId); +void sub_80FDE08(u8 taskId); +void sub_80FDE7C(u8 taskId); +void sub_80FDF90(u8 taskId); +void task08_0809AD8C(u8 taskId); +void sub_80FE024(u8 taskId); +void sub_80FE124(u8 taskId); +void sub_80FE164(u8 taskId); + +void DisplayItemMessage(u8 taskId, u8 a, u8* str, void(*callback)(u8 taskId)); +void DisplayItemMessageInBattlePyramid(u8 taskId, u8* str, void(*callback)(u8 taskId)); +void DisplayItemMessageOnField(u8 taskId, u8* str, void(*callback)(u8 taskId)); +void sub_81C6714(u8 taskId); +void CleanUpAfterFailingToUseRegisteredKeyItemOnField(u8 taskId); +void StartFishing(u8 a); +bool8 ItemfinderCheckForHiddenItems(struct MapEvents *, u8); +u8 sub_80FD9B0(s16 a, s16 b); +void sub_80FDA24(u8 a); +void sub_80FD8E0(u8 taskId, s16 x, s16 y); +void sub_80FDBEC(void); +bool8 sub_80FDE2C(void); +void ItemUseOutOfBattle_CannotUse(u8 taskId); + +void SetUpItemUseCallback(u8 taskId) +{ + u8 type; + if (gSpecialVar_ItemId == ITEM_ENIGMA_BERRY) + type = gTasks[taskId].data[4] - 1; + else + type = ItemId_GetType(gSpecialVar_ItemId) - 1; + if (!InBattlePyramid()) + { + *gUnknown_0203CE54 = gUnknown_085920D8[type]; + unknown_ItemMenu_Confirm(taskId); + } + else + { + *gUnknown_0203CF2C = gUnknown_085920D8[type]; + sub_81C5B14(taskId); + } +} + +void SetUpItemUseOnFieldCallback(u8 taskId) +{ + if (gTasks[taskId].data[3] != 1) + { + gFieldCallback = MapPostLoadHook_UseItem; + SetUpItemUseCallback(taskId); + } + else + gUnknown_0203A0F4(taskId); +} + +void MapPostLoadHook_UseItem(void) +{ + pal_fill_black(); + CreateTask(Task_CallItemUseOnFieldCallback, 8); +} + +void Task_CallItemUseOnFieldCallback(u8 taskId) +{ + if (sub_80ABDFC() == 1) + gUnknown_0203A0F4(taskId); +} + +void DisplayCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField, const u8 *str) +{ + StringExpandPlaceholders(gStringVar4, str); + if (!isUsingRegisteredKeyItemOnField) + { + if (!InBattlePyramid()) + DisplayItemMessage(taskId, 1, gStringVar4, bag_menu_inits_lists_menu); + else + DisplayItemMessageInBattlePyramid(taskId, gText_DadsAdvice, sub_81C6714); + } + else + DisplayItemMessageOnField(taskId, gStringVar4, CleanUpAfterFailingToUseRegisteredKeyItemOnField); +} + +void DisplayDadsAdviceCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField) +{ + DisplayCannotUseItemMessage(taskId, isUsingRegisteredKeyItemOnField, gText_DadsAdvice); +} + +void DisplayCannotDismountBikeMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField) +{ + DisplayCannotUseItemMessage(taskId, isUsingRegisteredKeyItemOnField, gText_CantDismountBike); +} + +void CleanUpAfterFailingToUseRegisteredKeyItemOnField(u8 taskId) +{ + sub_8197434(0, 1); + DestroyTask(taskId); + sub_80984F4(); + ScriptContext2_Disable(); +} + +u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId) +{ + if (ItemId_GetFieldFunc(itemId) == ItemUseOutOfBattle_TMHM) + return 1; + else if (ItemId_GetFieldFunc(itemId) == ItemUseOutOfBattle_EvolutionStone) + return 2; + else + return 0; +} + +void sub_80FD254() +{ + struct MailStruct mail; + mail.itemId = gSpecialVar_ItemId; + ReadMail(&mail, bag_menu_mail_related, 0); +} + +void ItemUseOutOfBattle_Mail(u8 taskId) +{ + *gUnknown_0203CE54 = sub_80FD254; + unknown_ItemMenu_Confirm(taskId); +} + +void ItemUseOutOfBattle_Bike(u8 taskId) +{ + s16* data = gTasks[taskId].data; + s16 coordsY; + s16 coordsX; + u8 behavior; + PlayerGetDestCoords(&coordsX, &coordsY); + behavior = MapGridGetMetatileBehaviorAt(coordsX, coordsY); + if (FlagGet(FLAG_SYS_CYCLING_ROAD) == TRUE || MetatileBehavior_IsVerticalRail(behavior) == TRUE || MetatileBehavior_IsHorizontalRail(behavior) == TRUE || MetatileBehavior_IsIsolatedVerticalRail(behavior) == TRUE || MetatileBehavior_IsIsolatedHorizontalRail(behavior) == TRUE) + DisplayCannotDismountBikeMessage(taskId, data[3]); + else + { + if (sav1_map_is_biking_allowed() == TRUE && IsBikingDisallowedByPlayer() == 0) + { + gUnknown_0203A0F4 = ItemUseOnFieldCB_Bike; + SetUpItemUseOnFieldCallback(taskId); + } + else + DisplayDadsAdviceCannotUseItemMessage(taskId, data[3]); + } +} + +void ItemUseOnFieldCB_Bike(u8 taskId) +{ + if (!ItemId_GetSecondaryId(gSpecialVar_ItemId)) + GetOnOffBike(2); + else + GetOnOffBike(4); + sub_80984F4(); + ScriptContext2_Disable(); + DestroyTask(taskId); +} + +bool32 CanFish() +{ + s16 x, y; + u16 tileBehavior; + + GetXYCoordsOneStepInFrontOfPlayer(&x, &y); + tileBehavior = MapGridGetMetatileBehaviorAt(x, y); + + if (MetatileBehavior_IsWaterfall(tileBehavior)) + return FALSE; + + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_4)) + return FALSE; + + if (!TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) + { + if (IsPlayerFacingSurfableFishableWater()) + return TRUE; + } + else + { + if (MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior) && !MapGridIsImpassableAt(x, y)) + return TRUE; + if (MetatileBehavior_8089510(tileBehavior) == TRUE) + return TRUE; + } + + return FALSE; +} + +void ItemUseOutOfBattle_Rod(u8 taskId) +{ + if (CanFish() == TRUE) + { + gUnknown_0203A0F4 = ItemUseOnFieldCB_Rod; + SetUpItemUseOnFieldCallback(taskId); + } + else + DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]); +} + +void ItemUseOnFieldCB_Rod(u8 taskId) +{ + StartFishing(ItemId_GetSecondaryId(gSpecialVar_ItemId)); + DestroyTask(taskId); +} + +void ItemUseOutOfBattle_Itemfinder(u8 var) +{ + IncrementGameStat(0x27); + gUnknown_0203A0F4 = ItemUseOnFieldCB_Itemfinder; + SetUpItemUseOnFieldCallback(var); +} + +void ItemUseOnFieldCB_Itemfinder(u8 taskId) +{ + if (ItemfinderCheckForHiddenItems(gMapHeader.events, taskId) == TRUE) + gTasks[taskId].func = sub_80FD504; + else + DisplayItemMessageOnField(taskId, gText_ItemFinderNothing, sub_80FD5CC); +} + +void sub_80FD504(u8 taskId) +{ + u8 playerDir; + u8 playerDirToItem; + u8 i; + s16* data = gTasks[taskId].data; + if (!data[3]) + { + if (data[4] == 4) + { + playerDirToItem = sub_80FD9B0(data[0], data[1]); + if (playerDirToItem) + { + sub_80FDA24(gUnknown_085920E4[playerDirToItem - 1]); + gTasks[taskId].func = sub_80FDA94; + } + else + { + playerDir = player_get_direction_lower_nybble(); + for (i = 0; i < 4; i++) + { + if (playerDir == gUnknown_085920E4[i]) + data[5] = (i + 1) & 3; + } + gTasks[taskId].func = sub_80FDADC; + data[3] = 0; + data[2] = 0; + } + return; + } + PlaySE(SE_DAUGI); + data[4]++; + } + data[3] = (data[3] + 1) & 0x1F; +} + +void sub_80FD5CC(u8 taskId) +{ + sub_8197434(0, 1); + sub_80984F4(); + ScriptContext2_Disable(); + DestroyTask(taskId); +} + +bool8 ItemfinderCheckForHiddenItems(struct MapEvents *events, u8 taskId) +{ + int distanceX, distanceY; + s16 x, y, i, newDistanceX, newDistanceY; + PlayerGetDestCoords(&x, &y); + gTasks[taskId].data[2] = FALSE; + for (i = 0; i < events->bgEventCount; i++) + { + if (events->bgEvents[i].kind == 7 && !FlagGet(events->bgEvents[i].bgUnion.hiddenItem.hiddenItemId + 0x1F4)) + { + distanceX = (u16)events->bgEvents[i].x + 7; + newDistanceX = distanceX - x; + distanceY = (u16)events->bgEvents[i].y + 7; + newDistanceY = distanceY - y; + + if ((u16)(newDistanceX + 7) < 15 && (newDistanceY >= -5) && (newDistanceY < 6)) + sub_80FD8E0(taskId, newDistanceX, newDistanceY); + } + } + + sub_80FD7C8(taskId); + if (gTasks[taskId].data[2] == TRUE) + return TRUE; + else + return FALSE; +} + +bool8 sub_80FD6D4(struct MapEvents *events, s16 x, s16 y) +{ + u8 bgEventCount = events->bgEventCount; + struct BgEvent *bgEvent = events->bgEvents; + int i; + + for (i = 0; i < bgEventCount; i++) + { + if (bgEvent[i].kind == 7 && x == (u16)bgEvent[i].x && y == (u16)bgEvent[i].y) // hidden item and coordinates matches x and y passed? + { + if (!FlagGet(bgEvent[i].bgUnion.hiddenItem.hiddenItemId + 0x1F4)) + return TRUE; + else + return FALSE; + } + } + return FALSE; +} + +bool8 sub_80FD730(struct MapConnection *connection, int x, int y) +{ + struct MapHeader *mapHeader; + u16 localX, localY; + u32 localOffset; + s32 localLength; + + mapHeader = mapconnection_get_mapheader(connection); + + switch (connection->direction) + { + // same weird temp variable behavior seen in sub_80FD6D4 + case 2: + localOffset = connection->offset + 7; + localX = x - localOffset; + localLength = mapHeader->mapData->height - 7; + localY = localLength + y; // additions are reversed for some reason + break; + case 1: + localOffset = connection->offset + 7; + localX = x - localOffset; + localLength = gMapHeader.mapData->height + 7; + localY = y - localLength; + break; + case 3: + localLength = mapHeader->mapData->width - 7; + localX = localLength + x; // additions are reversed for some reason + localOffset = connection->offset + 7; + localY = y - localOffset; + break; + case 4: + localLength = gMapHeader.mapData->width + 7; + localX = x - localLength; + localOffset = connection->offset + 7; + localY = y - localOffset; + break; + default: + return FALSE; + } + return sub_80FD6D4(mapHeader->events, localX, localY); +} + +void sub_80FD7C8(u8 taskId) +{ + s16 x, y; + s16 curX, curY; + s16 width = gMapHeader.mapData->width + 7; + s16 height = gMapHeader.mapData->height + 7; + + s16 var1 = 7; + s16 var2 = 7; + + PlayerGetDestCoords(&x, &y); + + for (curX = x - 7; curX <= x + 7; curX++) + { + for (curY = y - 5; curY <= y + 5; curY++) + { + if (var1 > curX + || curX >= width + || var2 > curY + || curY >= height) + { + struct MapConnection *conn = sub_8088A8C(curX, curY); + if (conn && sub_80FD730(conn, curX, curY) == TRUE) + sub_80FD8E0(taskId, curX - x, curY - y); + } + } + } +} + +void sub_80FD8E0(u8 taskId, s16 x, s16 y) +{ + s16 *data = gTasks[taskId].data; + s16 var1, var2, var3, var4; + + if (data[2] == FALSE) + { + data[0] = x; + data[1] = y; + data[2] = TRUE; + } + else + { + // data[0] and data[1] contain the player's coordinates. + // x and y contain the item's coordinates. + if (data[0] < 0) + var1 = data[0] * -1; // item is to the left + else + var1 = data[0]; // item is to the right + + if (data[1] < 0) + var2 = data[1] * -1; // item is to the north + else + var2 = data[1]; // item is to the south + + if (x < 0) + var3 = x * -1; + else + var3 = x; + + if (y < 0) + var4 = y * -1; + else + var4 = y; + + if (var1 + var2 > var3 + var4) + { + data[0] = x; + data[1] = y; + } + else + { + if (var1 + var2 == var3 + var4 && (var2 > var4 || (var2 == var4 && data[1] < y))) + { + data[0] = x; + data[1] = y; + } + } + } +} + +u8 sub_80FD9B0(s16 itemX, s16 itemY) +{ + s16 abX, abY; + + if (itemX == 0 && itemY == 0) + return DIR_NONE; // player is standing on the item. + + // get absolute X distance. + if (itemX < 0) + abX = itemX * -1; + else + abX = itemX; + + // get absolute Y distance. + if (itemY < 0) + abY = itemY * -1; + else + abY = itemY; + + if (abX > abY) + { + if (itemX < 0) + return DIR_EAST; + else + return DIR_NORTH; + } + else + { + if (abX < abY) + { + if (itemY < 0) + return DIR_SOUTH; + else + return DIR_WEST; + } + if (abX == abY) + { + if (itemY < 0) + return DIR_SOUTH; + else + return DIR_WEST; + } + return DIR_NONE; // should never get here. return something so it doesnt crash. + } +} + +void sub_80FDA24(u8 direction) +{ + FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]); + FieldObjectClearAnim(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]); + npc_sync_anim_pause_bits(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]); + PlayerTurnInPlace(direction); +} + +void sub_80FDA94(u8 taskId) +{ + if (FieldObjectCheckIfSpecialAnimFinishedOrInactive(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE) + DisplayItemMessageOnField(taskId, gText_ItemFinderNearby, sub_80FD5CC); +} + +void sub_80FDADC(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (FieldObjectCheckIfSpecialAnimFinishedOrInactive(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE + || data[2] == FALSE) + { + sub_80FDA24(gUnknown_085920E4[data[5]]); + data[2] = 1; + data[5] = (data[5] + 1) & 3; + data[3]++; + + if (data[3] == 4) + DisplayItemMessageOnField(taskId, gText_ItemFinderOnTop, sub_80FD5CC); + } +} + +void ItemUseOutOfBattle_PokeblockCase(u8 taskId) +{ + if (sub_81221AC() == TRUE) + { + DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]); + } + else if (gTasks[taskId].data[3] != TRUE) + { + *gUnknown_0203CE54 = sub_80FDBEC; + unknown_ItemMenu_Confirm(taskId); + } + else + { + gFieldCallback = sub_80AF6D4; + FadeScreen(1, 0); + gTasks[taskId].func = sub_80FDC00; + } +} + +void sub_80FDBEC(void) +{ + OpenPokeblockCase(0, bag_menu_mail_related); +} + +void sub_80FDC00(u8 taskId) +{ + if (!gPaletteFade.active) + { + overworld_free_bg_tilemaps(); + OpenPokeblockCase(0, c2_exit_to_overworld_2_switch); + DestroyTask(taskId); + } +} + +void ItemUseOutOfBattle_CoinCase(u8 taskId) +{ + ConvertIntToDecimalStringN(gStringVar1, GetCoins(), 0, 4); + StringExpandPlaceholders(gStringVar4, gText_CoinCase); + + if (!gTasks[taskId].data[3]) + { + DisplayItemMessage(taskId, 1, gStringVar4, bag_menu_inits_lists_menu); + } + else + { + DisplayItemMessageOnField(taskId, gStringVar4, CleanUpAfterFailingToUseRegisteredKeyItemOnField); + } +} + +void ItemUseOutOfBattle_PowderJar(u8 taskId) +{ + ConvertIntToDecimalStringN(gStringVar1, sub_80247BC(), 0, 5); + StringExpandPlaceholders(gStringVar4, gText_PowderQty); + + if (!gTasks[taskId].data[3]) + { + DisplayItemMessage(taskId, 1, gStringVar4, bag_menu_inits_lists_menu); + } + else + { + DisplayItemMessageOnField(taskId, gStringVar4, CleanUpAfterFailingToUseRegisteredKeyItemOnField); + } +} + +void sub_80FDD10(u8 taskId) +{ + if (IsPlayerFacingPlantedBerryTree() == TRUE) + { + gUnknown_0203A0F4 = sub_80FDD74; + gFieldCallback = MapPostLoadHook_UseItem; + *gUnknown_0203CE54 = c2_exit_to_overworld_2_switch; + unknown_ItemMenu_Confirm(taskId); + } + else + { + ItemId_GetFieldFunc(gSpecialVar_ItemId)(taskId); + } +} + +void sub_80FDD74(u8 taskId) +{ + RemoveBagItem(gSpecialVar_ItemId, 1); + ScriptContext2_Enable(); + ScriptContext1_SetupScript(Route102_EventScript_274482); + DestroyTask(taskId); +} + +void ItemUseOutOfBattle_WailmerPail(u8 taskId) +{ + if (sub_80FDE2C() == TRUE) + { + gUnknown_0203A0F4 = sub_80FDE7C; + SetUpItemUseOnFieldCallback(taskId); + } + else if (TryToWaterBerryTree() == TRUE) + { + gUnknown_0203A0F4 = sub_80FDE08; + SetUpItemUseOnFieldCallback(taskId); + } + else + { + DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]); + } +} + +void sub_80FDE08(u8 taskId) +{ + ScriptContext2_Enable(); + ScriptContext1_SetupScript(Route102_EventScript_2744C0); + DestroyTask(taskId); +} + +bool8 sub_80FDE2C(void) +{ + u16 x, y; + u8 z; + u8 objId; + GetXYCoordsOneStepInFrontOfPlayer(&x, &y); + z = PlayerGetZCoord(); + objId = GetFieldObjectIdByXYZ(x, y, z); + if (objId == 16 || gMapObjects[objId].graphicsId != 0xE4) + return FALSE; + else + return TRUE; +} + +void sub_80FDE7C(u8 taskId) +{ + ScriptContext2_Enable(); + ScriptContext1_SetupScript(BattleFrontier_OutsideEast_EventScript_242CFC); + DestroyTask(taskId); +} + +void ItemUseOutOfBattle_Medicine(u8 taskId) +{ + gUnknown_03006328 = ItemUseCB_Medicine; + SetUpItemUseCallback(taskId); +} + +void ItemUseOutOfBattle_ReduceEV(u8 taskId) +{ + gUnknown_03006328 = sub_81B67C8; + SetUpItemUseCallback(taskId); +} + +void ItemUseOutOfBattle_SacredAsh(u8 taskId) +{ + gUnknown_03006328 = sub_81B79E8; + SetUpItemUseCallback(taskId); +} + +void ItemUseOutOfBattle_PPRecovery(u8 taskId) +{ + gUnknown_03006328 = dp05_ether; + SetUpItemUseCallback(taskId); +} + +void ItemUseOutOfBattle_PPUp(u8 taskId) +{ + gUnknown_03006328 = dp05_pp_up; + SetUpItemUseCallback(taskId); +} + +void ItemUseOutOfBattle_RareCandy(u8 taskId) +{ + gUnknown_03006328 = dp05_rare_candy; + SetUpItemUseCallback(taskId); +} + +void ItemUseOutOfBattle_TMHM(u8 taskId) +{ + if (gSpecialVar_ItemId >= ITEM_HM01_CUT) + DisplayItemMessage(taskId, 1, gText_BootedUpHM, sub_80FDF90); // HM + else + DisplayItemMessage(taskId, 1, gText_BootedUpTM, sub_80FDF90); // TM +} + +void sub_80FDF90(u8 taskId) +{ + PlaySE(SE_PC_LOGIN); + gTasks[taskId].func = task08_0809AD8C; +} + +void task08_0809AD8C(u8 taskId) +{ + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + StringCopy(gStringVar1, gMoveNames[ItemIdToBattleMoveId(gSpecialVar_ItemId)]); + StringExpandPlaceholders(gStringVar4, gText_TMHMContainedVar1); + DisplayItemMessage(taskId, 1, gStringVar4, sub_80FE024); + } +} + +void sub_80FE024(u8 taskId) +{ + bag_menu_yes_no(taskId, 6, gUnknown_085920E8); +} + +void sub_80FE03C(u8 taskId) +{ + gUnknown_03006328 = sub_81B6DC4; + SetUpItemUseCallback(taskId); +} + +void sub_80FE058(void) +{ + RemoveBagItem(gSpecialVar_ItemId, 1); + CopyItemName(gSpecialVar_ItemId, gStringVar2); + StringExpandPlaceholders(gStringVar4, gText_PlayerUsedVar2); + if (!InBattlePyramid()) + { + sub_81AB9A8(ItemId_GetPocket(gSpecialVar_ItemId)); + sub_81ABA88(ItemId_GetPocket(gSpecialVar_ItemId)); + } + else + { + sub_81C5924(); + sub_81C59BC(); + } +} + +void ItemUseOutOfBattle_Repel(u8 taskId) +{ + if (VarGet(VAR_REPEL_STEP_COUNT) == 0) + gTasks[taskId].func = sub_80FE124; + else if (!InBattlePyramid()) + DisplayItemMessage(taskId, 1, gText_RepelEffectsLingered, bag_menu_inits_lists_menu); + else + DisplayItemMessageInBattlePyramid(taskId, gText_RepelEffectsLingered, sub_81C6714); +} + +void sub_80FE124(u8 taskId) +{ + s16* data = gTasks[taskId].data; + + if (++data[8] > 7) + { + data[8] = 0; + PlaySE(SE_TU_SAA); + gTasks[taskId].func = sub_80FE164; + } +} + +void sub_80FE164(u8 taskId) +{ + if (!IsSEPlaying()) + { + VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_ItemId)); + sub_80FE058(); + if (!InBattlePyramid()) + DisplayItemMessage(taskId, 1, gStringVar4, bag_menu_inits_lists_menu); + else + DisplayItemMessageInBattlePyramid(taskId, gStringVar4, sub_81C6714); + } +} + +void sub_80FE1D0(u8 taskId) +{ + if(++gTasks[taskId].data[8] > 7) + { + PlaySE(SE_BIDORO); + if (!InBattlePyramid()) + DisplayItemMessage(taskId, 1, gStringVar4, bag_menu_inits_lists_menu); + else + DisplayItemMessageInBattlePyramid(taskId, gStringVar4, sub_81C6714); + } +} + +void ItemUseOutOfBattle_BlackWhiteFlute(u8 taskId) +{ + CopyItemName(gSpecialVar_ItemId, gStringVar2); + if (gSpecialVar_ItemId == ITEM_WHITE_FLUTE) + { + FlagSet(FLAG_SYS_ENC_UP_ITEM); + FlagClear(FLAG_SYS_ENC_DOWN_ITEM); + StringExpandPlaceholders(gStringVar4, gText_UsedVar2WildLured); + } + else + { + FlagSet(FLAG_SYS_ENC_DOWN_ITEM); + FlagClear(FLAG_SYS_ENC_UP_ITEM); + StringExpandPlaceholders(gStringVar4, gText_UsedVar2WildRepelled); + } + gTasks[taskId].data[8] = 0; + gTasks[taskId].func = sub_80FE1D0; +} + +void task08_080A1C44(u8 taskId) +{ + player_avatar_init_params_reset(); + sub_80B7CC8(); + DestroyTask(taskId); +} + +void re_escape_rope(u8 taskId) +{ + flagmods_08054D70(); + sub_80FE058(); + gTasks[taskId].data[0] = 0; + DisplayItemMessageOnField(taskId, gStringVar4, task08_080A1C44); +} + +bool8 sub_80FE314(void) +{ + if (gMapHeader.flags & 2) + return TRUE; + else + return FALSE; +} + +void ItemUseOutOfBattle_EscapeRope(u8 taskId) +{ + if (sub_80FE314() == TRUE) + { + gUnknown_0203A0F4 = re_escape_rope; + SetUpItemUseOnFieldCallback(taskId); + } + else + { + DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]); + } +} + +void ItemUseOutOfBattle_EvolutionStone(u8 taskId) +{ + gUnknown_03006328 = sub_81B7C74; + SetUpItemUseCallback(taskId); +} + +void ItemUseInBattle_PokeBall(u8 taskId) +{ + if (IsPlayerPartyAndPokemonStorageFull() == FALSE) // have room for mon? + { + RemoveBagItem(gSpecialVar_ItemId, 1); + if (!InBattlePyramid()) + unknown_ItemMenu_Confirm(taskId); + else + sub_81C5B14(taskId); + } + else if (!InBattlePyramid()) + { + DisplayItemMessage(taskId, 1, gText_BoxFull, bag_menu_inits_lists_menu); + } + else + DisplayItemMessageInBattlePyramid(taskId, gText_BoxFull, sub_81C6714); +} + +void sub_80FE408(u8 taskId) +{ + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + if (!InBattlePyramid()) + unknown_ItemMenu_Confirm(taskId); + else + sub_81C5B14(taskId); + } +} + +void sub_80FE440(u8 taskId) +{ + if(++gTasks[taskId].data[8] > 7) + { + PlaySE(SE_KAIFUKU); + RemoveBagItem(gSpecialVar_ItemId, 1); + if (!InBattlePyramid()) + DisplayItemMessage(taskId, 1, sub_806CF78(gSpecialVar_ItemId), sub_80FE408); + else + DisplayItemMessageInBattlePyramid(taskId, sub_806CF78(gSpecialVar_ItemId), sub_80FE408); + } +} + +void ItemUseInBattle_StatIncrease(u8 taskId) +{ + u16 partyId = gBattlerPartyIndexes[gBattlerInMenuId]; + + if (ExecuteTableBasedItemEffect_(&gPlayerParty[partyId], gSpecialVar_ItemId, partyId, 0) != FALSE) + { + if (!InBattlePyramid()) + DisplayItemMessage(taskId, 1, gText_WontHaveEffect, bag_menu_inits_lists_menu); + else + DisplayItemMessageInBattlePyramid(taskId, gText_WontHaveEffect, sub_81C6714); + } + else + { + gTasks[taskId].func = sub_80FE440; + gTasks[taskId].data[8] = 0; + } +} + +void sub_80FE54C(u8 taskId) +{ + if (!InBattlePyramid()) + { + *gUnknown_0203CE54 = sub_81B89F0; + unknown_ItemMenu_Confirm(taskId); + } + else + { + *gUnknown_0203CF2C = sub_81B89F0; + sub_81C5B14(taskId); + } +} + +void ItemUseInBattle_Medicine(u8 taskId) +{ + gUnknown_03006328 = ItemUseCB_Medicine; + sub_80FE54C(taskId); +} + +void sub_80FE5AC(u8 taskId) +{ + gUnknown_03006328 = sub_81B79E8; + sub_80FE54C(taskId); +} + +void ItemUseInBattle_PPRecovery(u8 taskId) +{ + gUnknown_03006328 = dp05_ether; + sub_80FE54C(taskId); +} + +void ItemUseInBattle_Escape(u8 taskId) +{ + + if((gBattleTypeFlags & BATTLE_TYPE_TRAINER) == FALSE) + { + sub_80FE058(); + if (!InBattlePyramid()) + DisplayItemMessage(taskId, 1, gStringVar4, unknown_ItemMenu_Confirm); + else + DisplayItemMessageInBattlePyramid(taskId, gStringVar4, sub_81C5B14); + } + else + { + DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]); + } +} + +void ItemUseOutOfBattle_EnigmaBerry(u8 taskId) +{ + switch (GetItemEffectType(gSpecialVar_ItemId) - 1) + { + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + gTasks[taskId].data[4] = 1; + ItemUseOutOfBattle_Medicine(taskId); + break; + case 9: + gTasks[taskId].data[4] = 1; + ItemUseOutOfBattle_SacredAsh(taskId); + break; + case 0: + gTasks[taskId].data[4] = 1; + ItemUseOutOfBattle_RareCandy(taskId); + break; + case 18: + case 19: + gTasks[taskId].data[4] = 1; + ItemUseOutOfBattle_PPUp(taskId); + break; + case 20: + gTasks[taskId].data[4] = 1; + ItemUseOutOfBattle_PPRecovery(taskId); + break; + default: + gTasks[taskId].data[4] = 4; + ItemUseOutOfBattle_CannotUse(taskId); + } +} + +void ItemUseInBattle_EnigmaBerry(u8 taskId) +{ + switch (GetItemEffectType(gSpecialVar_ItemId)) + { + case 0: + ItemUseInBattle_StatIncrease(taskId); + break; + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 11: + ItemUseInBattle_Medicine(taskId); + break; + case 21: + ItemUseInBattle_PPRecovery(taskId); + break; + default: + ItemUseOutOfBattle_CannotUse(taskId); + } +} + +void ItemUseOutOfBattle_CannotUse(u8 taskId) +{ + DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]); +} diff --git a/src/landmark.c b/src/landmark.c new file mode 100644 index 0000000000..4eade159af --- /dev/null +++ b/src/landmark.c @@ -0,0 +1,441 @@ +#include "global.h" +#include "event_data.h" +#include "constants/region_map_sections.h" + +struct Landmark +{ + const u8 *name; + u16 flag; +}; + +struct LandmarkList +{ + u8 mapSection; + u8 id; + const struct Landmark *const *landmarks; +}; + +static const u8 LandmarkName_FlowerShop[] = _("FLOWER SHOP"); +static const u8 LandmarkName_PetalburgWoods[] = _("PETALBURG WOODS"); +static const u8 LandmarkName_MrBrineysCottage[] = _("MR. BRINEY’S COTTAGE"); +static const u8 LandmarkName_AbandonedShip[] = _("ABANDONED SHIP"); +static const u8 LandmarkName_SeashoreHouse[] = _("SEASHORE HOUSE"); +static const u8 LandmarkName_SlateportBeach[] = _("SLATEPORT BEACH"); +static const u8 LandmarkName_CyclingRoad[] = _("CYCLING ROAD"); +static const u8 LandmarkName_NewMauville[] = _("NEW MAUVILLE"); +static const u8 LandmarkName_TrickHouse[] = _("TRICK HOUSE"); +static const u8 LandmarkName_OldLadysRestShop[] = _("OLD LADY’S REST STOP"); +static const u8 LandmarkName_Desert[] = _("DESERT"); +static const u8 LandmarkName_WinstrateFamily[] = _("THE WINSTRATE FAMILY"); +static const u8 LandmarkName_CableCar[] = _("CABLE CAR"); +static const u8 LandmarkName_GlassWorkshop[] = _("GLASS WORKSHOP"); +static const u8 LandmarkName_WeatherInstitute[] = _("WEATHER INSTITUTE"); +static const u8 LandmarkName_MeteorFalls[] = _("METEOR FALLS"); +static const u8 LandmarkName_TunnelersRestHouse[] = _("TUNNELER’S RESTHOUSE"); +static const u8 LandmarkName_RusturfTunnel[] = _("RUSTURF TUNNEL"); +static const u8 LandmarkName_PokemonDayCare[] = _("POKéMON DAY CARE"); +static const u8 LandmarkName_SafariZoneEntrance[] = _("SAFARI ZONE ENTRANCE"); +static const u8 LandmarkName_MtPyre[] = _("MT. PYRE"); +static const u8 LandmarkName_ShoalCave[] = _("SHOAL CAVE"); +static const u8 LandmarkName_SeafloorCavern[] = _("SEAFLOOR CAVERN"); +static const u8 LandmarkName_GraniteCave[] = _("GRANITE CAVE"); +static const u8 LandmarkName_OceanCurrent[] = _("OCEAN CURRENT"); +static const u8 LandmarkName_LanettesHouse[] = _("LANETTE’S HOUSE"); +static const u8 LandmarkName_FieryPath[] = _("FIERY PATH"); +static const u8 LandmarkName_JaggedPass[] = _("JAGGED PASS"); +static const u8 LandmarkName_SkyPillar[] = _("SKY PILLAR"); +static const u8 LandmarkName_BerryMastersHouse[] = _("BERRY MASTER’S HOUSE"); +static const u8 LandmarkName_IslandCave[] = _("ISLAND CAVE"); +static const u8 LandmarkName_DesertRuins[] = _("DESERT RUINS"); +static const u8 LandmarkName_ScorchedSlab[] = _("SCORCHED SLAB"); +static const u8 LandmarkName_AncientTomb[] = _("ANCIENT TOMB"); +static const u8 LandmarkName_SealedChamber[] = _("SEALED CHAMBER"); +static const u8 LandmarkName_FossilManiacsHouse[] = _("FOSSIL MANIAC’S HOUSE"); +static const u8 LandmarkName_HuntersHouse[] = _("HUNTER’S HOUSE"); +static const u8 LandmarkName_MagmaHideout[] = _("MAGMA HIDEOUT"); +static const u8 LandmarkName_MirageTower[] = _("MIRAGE TOWER"); +static const u8 LandmarkName_AlteringCave[] = _("ALTERING CAVE"); +static const u8 LandmarkName_DesertUnderpass[] = _("DESERT UNDERPASS"); +static const u8 LandmarkName_TrainerHill[] = _("TRAINER HILL"); + +static const struct Landmark Landmark_FlowerShop = {LandmarkName_FlowerShop, FLAG_LANDMARK_FLOWER_SHOP}; +static const struct Landmark Landmark_PetalburgWoods = {LandmarkName_PetalburgWoods, -1}; +static const struct Landmark Landmark_MrBrineysCottage = {LandmarkName_MrBrineysCottage, FLAG_LANDMARK_MR_BRINEY_HOUSE}; +static const struct Landmark Landmark_AbandonedShip = {LandmarkName_AbandonedShip, FLAG_LANDMARK_ABANDONED_SHIP}; +static const struct Landmark Landmark_SeashoreHouse = {LandmarkName_SeashoreHouse, FLAG_LANDMARK_SEASHORE_HOUSE}; +static const struct Landmark Landmark_SlateportBeach = {LandmarkName_SlateportBeach, -1}; +static const struct Landmark Landmark_CyclingRoad = {LandmarkName_CyclingRoad, -1}; +static const struct Landmark Landmark_NewMauville = {LandmarkName_NewMauville, FLAG_LANDMARK_NEW_MAUVILLE}; +static const struct Landmark Landmark_TrickHouse = {LandmarkName_TrickHouse, FLAG_LANDMARK_TRICK_HOUSE}; +static const struct Landmark Landmark_OldLadysRestShop = {LandmarkName_OldLadysRestShop, FLAG_LANDMARK_OLD_LADY_REST_SHOP}; +static const struct Landmark Landmark_Desert = {LandmarkName_Desert, -1}; +static const struct Landmark Landmark_WinstrateFamily = {LandmarkName_WinstrateFamily, FLAG_LANDMARK_WINSTRATE_FAMILY}; +static const struct Landmark Landmark_CableCar = {LandmarkName_CableCar, -1}; +static const struct Landmark Landmark_GlassWorkshop = {LandmarkName_GlassWorkshop, FLAG_LANDMARK_GLASS_WORKSHOP}; +static const struct Landmark Landmark_WeatherInstitute = {LandmarkName_WeatherInstitute, -1}; +static const struct Landmark Landmark_MeteorFalls = {LandmarkName_MeteorFalls, -1}; +static const struct Landmark Landmark_TunnelersRestHouse = {LandmarkName_TunnelersRestHouse, FLAG_LANDMARK_TUNNELERS_REST_HOUSE}; +static const struct Landmark Landmark_RusturfTunnel = {LandmarkName_RusturfTunnel, -1}; +static const struct Landmark Landmark_PokemonDayCare = {LandmarkName_PokemonDayCare, FLAG_LANDMARK_POKEMON_DAYCARE}; +static const struct Landmark Landmark_SafariZoneEntrance = {LandmarkName_SafariZoneEntrance, -1}; +static const struct Landmark Landmark_MtPyre = {LandmarkName_MtPyre, -1}; +static const struct Landmark Landmark_ShoalCave = {LandmarkName_ShoalCave, -1}; +static const struct Landmark Landmark_SeafloorCavern = {LandmarkName_SeafloorCavern, FLAG_LANDMARK_SEAFLOOR_CAVERN}; +static const struct Landmark Landmark_GraniteCave = {LandmarkName_GraniteCave, -1}; +static const struct Landmark Landmark_OceanCurrent = {LandmarkName_OceanCurrent, -1}; +static const struct Landmark Landmark_LanettesHouse = {LandmarkName_LanettesHouse, FLAG_LANDMARK_LANETTES_HOUSE}; +static const struct Landmark Landmark_FieryPath = {LandmarkName_FieryPath, FLAG_LANDMARK_FIERY_PATH}; +static const struct Landmark Landmark_JaggedPass = {LandmarkName_JaggedPass, -1}; +static const struct Landmark Landmark_BerryMastersHouse = {LandmarkName_BerryMastersHouse, FLAG_LANDMARK_BERRY_MASTERS_HOUSE}; +static const struct Landmark Landmark_IslandCave = {LandmarkName_IslandCave, FLAG_LANDMARK_ISLAND_CAVE}; +static const struct Landmark Landmark_DesertRuins = {LandmarkName_DesertRuins, FLAG_LANDMARK_DESERT_RUINS}; +static const struct Landmark Landmark_ScorchedSlab = {LandmarkName_ScorchedSlab, FLAG_LANDMARK_SCORCHED_SLAB}; +static const struct Landmark Landmark_AncientTomb = {LandmarkName_AncientTomb, FLAG_LANDMARK_ANCIENT_TOMB}; +static const struct Landmark Landmark_SealedChamber = {LandmarkName_SealedChamber, FLAG_LANDMARK_SEALED_CHAMBER}; +static const struct Landmark Landmark_FossilManiacsHouse = {LandmarkName_FossilManiacsHouse, FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE}; +static const struct Landmark Landmark_HuntersHouse = {LandmarkName_HuntersHouse, FLAG_LANDMARK_HUNTERS_HOUSE}; +static const struct Landmark Landmark_SkyPillar = {LandmarkName_SkyPillar, FLAG_LANDMARK_SKY_PILLAR}; +static const struct Landmark Landmark_MirageTower = {LandmarkName_MirageTower, FLAG_LANDMARK_MIRAGE_TOWER}; +static const struct Landmark Landmark_AlteringCave = {LandmarkName_AlteringCave, FLAG_LANDMARK_ALTERING_CAVE}; +static const struct Landmark Landmark_DesertUnderpass = {LandmarkName_DesertUnderpass, FLAG_LANDMARK_DESERT_UNDERPASS}; +static const struct Landmark Landmark_TrainerHill = {LandmarkName_TrainerHill, FLAG_LANDMARK_TRAINER_HILL}; + +static const struct Landmark *const Landmarks_Route103_2[] = +{ + &Landmark_AlteringCave, + NULL, +}; + +static const struct Landmark *const Landmarks_Route104_0[] = +{ + &Landmark_FlowerShop, + NULL, +}; + +static const struct Landmark *const Landmarks_Route104_1[] = +{ + &Landmark_PetalburgWoods, + &Landmark_MrBrineysCottage, + NULL, +}; + +static const struct Landmark *const Landmarks_Route105_0[] = +{ + &Landmark_IslandCave, + NULL, +}; + +static const struct Landmark *const Landmarks_Route106_1[] = +{ + &Landmark_GraniteCave, + NULL, +}; + +static const struct Landmark *const Landmarks_Route108_0[] = +{ + &Landmark_AbandonedShip, + NULL, +}; + +static const struct Landmark *const Landmarks_Route109_0[] = +{ + &Landmark_SeashoreHouse, + &Landmark_SlateportBeach, + NULL, +}; + +static const struct Landmark *const Landmarks_Route110_0[] = +{ + &Landmark_CyclingRoad, + &Landmark_NewMauville, + NULL, +}; + +static const struct Landmark *const Landmarks_Route110_1[] = +{ + &Landmark_CyclingRoad, + NULL, +}; + +static const struct Landmark *const Landmarks_Route110_2[] = +{ + &Landmark_CyclingRoad, + &Landmark_TrickHouse, + NULL, +}; + +static const struct Landmark *const Landmarks_Route111_0[] = +{ + &Landmark_OldLadysRestShop, + NULL, +}; + +static const struct Landmark *const Landmarks_Route111_1[] = +{ + &Landmark_Desert, + NULL, +}; + +static const struct Landmark *const Landmarks_Route111_2[] = +{ + &Landmark_MirageTower, + &Landmark_Desert, + NULL, +}; + +static const struct Landmark *const Landmarks_Route111_3[] = +{ + &Landmark_DesertRuins, + &Landmark_Desert, + NULL, +}; + +static const struct Landmark *const Landmarks_Route111_4[] = +{ + &Landmark_TrainerHill, + &Landmark_WinstrateFamily, + &Landmark_Desert, + NULL, +}; + +static const struct Landmark *const Landmarks_Route112_0[] = +{ + &Landmark_FieryPath, + &Landmark_JaggedPass, + NULL, +}; + +static const struct Landmark *const Landmarks_Route112_1[] = +{ + &Landmark_CableCar, + &Landmark_FieryPath, + NULL, +}; + +static const struct Landmark *const Landmarks_Route113_1[] = +{ + &Landmark_GlassWorkshop, + NULL, +}; + +static const struct Landmark *const Landmarks_Route114_1[] = +{ + &Landmark_DesertUnderpass, + &Landmark_FossilManiacsHouse, + NULL, +}; + +static const struct Landmark *const Landmarks_Route114_2[] = +{ + &Landmark_LanettesHouse, + NULL, +}; + +static const struct Landmark *const Landmarks_MeteorFalls[] = +{ + &Landmark_MeteorFalls, + NULL, +}; + +static const struct Landmark *const Landmarks_Route116_1[] = +{ + &Landmark_TunnelersRestHouse, + &Landmark_RusturfTunnel, + NULL, +}; + +static const struct Landmark *const Landmarks_Route116_2[] = +{ + &Landmark_RusturfTunnel, + NULL, +}; + +static const struct Landmark *const Landmarks_Route117_2[] = +{ + &Landmark_PokemonDayCare, + NULL, +}; + +static const struct Landmark *const Landmarks_Route119_1[] = +{ + &Landmark_WeatherInstitute, + NULL, +}; + +static const struct Landmark *const Landmarks_Route120_0[] = +{ + &Landmark_ScorchedSlab, + NULL, +}; + +static const struct Landmark *const Landmarks_Route120_2[] = +{ + &Landmark_AncientTomb, + NULL, +}; + +static const struct Landmark *const Landmarks_Route121_2[] = +{ + &Landmark_SafariZoneEntrance, + NULL, +}; + +static const struct Landmark *const Landmarks_Route122_0[] = +{ + &Landmark_MtPyre, + NULL, +}; + +static const struct Landmark *const Landmarks_Route123_0[] = +{ + &Landmark_BerryMastersHouse, + NULL, +}; + +static const struct Landmark *const Landmarks_Route124_7[] = +{ + &Landmark_HuntersHouse, + NULL, +}; + +static const struct Landmark *const Landmarks_Route125_2[] = +{ + &Landmark_ShoalCave, + NULL, +}; + +static const struct Landmark *const Landmarks_Route128_1[] = +{ + &Landmark_SeafloorCavern, + NULL, +}; + +static const struct Landmark *const Landmarks_Route131_1[] = +{ + &Landmark_SkyPillar, + NULL, +}; + +static const struct Landmark *const Landmarks_OceanCurrent[] = +{ + &Landmark_OceanCurrent, + NULL, +}; + +static const struct Landmark *const Landmarks_Route134_2[] = +{ + &Landmark_SealedChamber, + &Landmark_OceanCurrent, + NULL, +}; + +static const struct Landmark *const Landmarks_MtChimney_2[] = +{ + &Landmark_CableCar, + &Landmark_JaggedPass, + NULL, +}; + +static const struct LandmarkList gLandmarkLists[] = +{ + {MAPSEC_ROUTE_103, 2, Landmarks_Route103_2}, + {MAPSEC_ROUTE_104, 0, Landmarks_Route104_0}, + {MAPSEC_ROUTE_104, 1, Landmarks_Route104_1}, + {MAPSEC_ROUTE_105, 0, Landmarks_Route105_0}, + {MAPSEC_ROUTE_106, 1, Landmarks_Route106_1}, + {MAPSEC_ROUTE_108, 0, Landmarks_Route108_0}, + {MAPSEC_ROUTE_109, 0, Landmarks_Route109_0}, + {MAPSEC_ROUTE_110, 0, Landmarks_Route110_0}, + {MAPSEC_ROUTE_110, 1, Landmarks_Route110_1}, + {MAPSEC_ROUTE_110, 2, Landmarks_Route110_2}, + {MAPSEC_ROUTE_111, 0, Landmarks_Route111_0}, + {MAPSEC_ROUTE_111, 1, Landmarks_Route111_1}, + {MAPSEC_ROUTE_111, 2, Landmarks_Route111_2}, + {MAPSEC_ROUTE_111, 3, Landmarks_Route111_3}, + {MAPSEC_ROUTE_111, 4, Landmarks_Route111_4}, + {MAPSEC_ROUTE_112, 0, Landmarks_Route112_0}, + {MAPSEC_ROUTE_112, 1, Landmarks_Route112_1}, + {MAPSEC_ROUTE_113, 1, Landmarks_Route113_1}, + {MAPSEC_ROUTE_114, 1, Landmarks_Route114_1}, + {MAPSEC_ROUTE_114, 2, Landmarks_Route114_2}, + {MAPSEC_ROUTE_114, 3, Landmarks_MeteorFalls}, + {MAPSEC_ROUTE_115, 0, Landmarks_MeteorFalls}, + {MAPSEC_ROUTE_115, 1, Landmarks_MeteorFalls}, + {MAPSEC_ROUTE_116, 1, Landmarks_Route116_1}, + {MAPSEC_ROUTE_116, 2, Landmarks_Route116_2}, + {MAPSEC_ROUTE_117, 2, Landmarks_Route117_2}, + {MAPSEC_ROUTE_119, 1, Landmarks_Route119_1}, + {MAPSEC_ROUTE_120, 0, Landmarks_Route120_0}, + {MAPSEC_ROUTE_120, 2, Landmarks_Route120_2}, + {MAPSEC_ROUTE_121, 2, Landmarks_Route121_2}, + {MAPSEC_ROUTE_122, 0, Landmarks_Route122_0}, + {MAPSEC_ROUTE_123, 0, Landmarks_Route123_0}, + {MAPSEC_ROUTE_122, 1, Landmarks_Route122_0}, + {MAPSEC_ROUTE_124, 7, Landmarks_Route124_7}, + {MAPSEC_ROUTE_125, 2, Landmarks_Route125_2}, + {MAPSEC_ROUTE_128, 1, Landmarks_Route128_1}, + {MAPSEC_ROUTE_131, 1, Landmarks_Route131_1}, + {MAPSEC_ROUTE_132, 0, Landmarks_OceanCurrent}, + {MAPSEC_ROUTE_132, 1, Landmarks_OceanCurrent}, + {MAPSEC_ROUTE_133, 0, Landmarks_OceanCurrent}, + {MAPSEC_ROUTE_133, 1, Landmarks_OceanCurrent}, + {MAPSEC_ROUTE_133, 2, Landmarks_OceanCurrent}, + {MAPSEC_ROUTE_134, 0, Landmarks_OceanCurrent}, + {MAPSEC_ROUTE_134, 1, Landmarks_OceanCurrent}, + {MAPSEC_ROUTE_134, 2, Landmarks_Route134_2}, + {MAPSEC_MT_CHIMNEY, 2, Landmarks_MtChimney_2}, + {MAPSEC_NONE, 0, NULL}, +}; + +static const struct Landmark *const *GetLandmarks(u8 mapSection, u8 id); + +const u8 *GetLandmarkName(u8 mapSection, u8 id, u8 count) +{ + const struct Landmark *const *landmarks = GetLandmarks(mapSection, id); + + if (!landmarks) + return NULL; + + while (1) + { + const struct Landmark *landmark = *landmarks; + + if (landmark->flag == 0xFFFF || FlagGet(landmark->flag) == TRUE) + { + if (count == 0) + break; + else + count--; + } + + landmarks++; + if (!*landmarks) + return NULL; + } + + return (*landmarks)->name; +} + +static const struct Landmark *const *GetLandmarks(u8 mapSection, u8 id) +{ + u16 i = 0; + + for (; gLandmarkLists[i].mapSection != MAPSEC_NONE; i++) + { + if (gLandmarkLists[i].mapSection > mapSection) + return NULL; + if (gLandmarkLists[i].mapSection == mapSection) + break; + } + + if (gLandmarkLists[i].mapSection == MAPSEC_NONE) + return NULL; + + for (; gLandmarkLists[i].mapSection == mapSection; i++) + { + if (gLandmarkLists[i].id == id) + return gLandmarkLists[i].landmarks; + } + + return NULL; +} diff --git a/src/libc.c b/src/libc.c deleted file mode 100644 index 1f457957ba..0000000000 --- a/src/libc.c +++ /dev/null @@ -1,173 +0,0 @@ -#include "global.h" -#include - -#define LBLOCKSIZE (sizeof(long)) - -// Nonzero if (long)X contains a NULL byte. -#define CONTAINSNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080) - -// Nonzero if X is not aligned on a "long" boundary. -#define UNALIGNED(X) ((long)X & (LBLOCKSIZE - 1)) - -void *memcpy(void *dst0, const void *src0, size_t len0) -{ - char *dst = dst0; - const char *src = src0; - long *aligned_dst; - const long *aligned_src; - unsigned int len = len0; - - // If the size is small, or either src or dst is unaligned, - // then go to the byte copy loop. This should be rare. - if(len >= 16 && !(UNALIGNED(src) | UNALIGNED(dst))) - { - aligned_dst = (long *)dst; - aligned_src = (long *)src; - - // Copy 4X long words at a time if possible. - while(len >= 16) - { - *aligned_dst++ = *aligned_src++; - *aligned_dst++ = *aligned_src++; - *aligned_dst++ = *aligned_src++; - *aligned_dst++ = *aligned_src++; - len -= 16; - } - - // Copy one long word at a time if possible - while(len >= 4) - { - *aligned_dst++ = *aligned_src++; - len -= 4; - } - - dst = (char *)aligned_dst; - src = (char *)aligned_src; - } - - // Pick up any remaining bytes with a byte copier. - while(len--) - *dst++ = *src++; - - return dst0; -} - -void *memset(void *m, int c, size_t n) -{ - char *s = (char *)m; - int count, i; - unsigned long buffer; - unsigned long *aligned_addr; - unsigned char *unaligned_addr; - - // If the size is small or m is unaligned, - // then go to the byte copy loop. This should be rare. - if(n >= LBLOCKSIZE && !UNALIGNED(m)) - { - // We know that n is large and m is word-aligned. - aligned_addr = (unsigned long *)m; - - // Store C into each char sized location in buffer so that - // we can set large blocks quickly. - c &= 0xFF; - if(LBLOCKSIZE == 4) - { - buffer = (c << 8) | c; - buffer |= (buffer << 16); - } - else - { - buffer = 0; - for(i = 0; i < LBLOCKSIZE; i++) - buffer = (buffer << 8) | c; - } - - while(n >= LBLOCKSIZE * 4) - { - *aligned_addr++ = buffer; - *aligned_addr++ = buffer; - *aligned_addr++ = buffer; - *aligned_addr++ = buffer; - n -= LBLOCKSIZE * 4; - } - while(n >= LBLOCKSIZE) - { - *aligned_addr++ = buffer; - n -= LBLOCKSIZE; - } - - s = (char *)aligned_addr; - } - - // Pick up the remainder with a bytewise loop. - while(n--) - *s++ = (char)c; - - return m; -} - -int strcmp(const char *s1, const char *s2) -{ - unsigned long *a1; - unsigned long *a2; - - // If s1 or s2 are unaligned, then skip this and compare bytes. - if(!(UNALIGNED(s1) | UNALIGNED(s2))) - { - // Compare them a word at a time. - a1 = (unsigned long *)s1; - a2 = (unsigned long *)s2; - while(*a1 == *a2) - { - // If *a1 == *a2, and we find a null in *a1, - // then the strings must be equal, so return zero. - if(CONTAINSNULL(*a1)) - return 0; - - a1++; - a2++; - } - - s1 = (char *)a1; - s2 = (char *)a2; - } - - // Check the remaining few bytes. - while(*s1 != '\0' && *s1 == *s2) - { - s1++; - s2++; - } - - return (*(unsigned char *) s1) - (*(unsigned char *) s2); -} - -char* strcpy(char *dst0, const char *src0) -{ - char *dst = dst0; - const char *src = src0; - unsigned long *a1; - const unsigned long *a2; - - // If SRC or DEST is unaligned, then copy bytes. - if(!(UNALIGNED(src) | UNALIGNED(dst))) - { - // SRC and DEST are both "long int" aligned, try to do "long int" - // sized copies. - a1 = (unsigned long *)dst; - a2 = (unsigned long *)src; - while(!CONTAINSNULL(*a2)) - { - *a1++ = *a2++; - } - - dst = (char *)a1; - src = (char *)a2; - } - - // Copy the remaining few bytes. - while(*dst++ = *src++); - - return dst0; -} - diff --git a/src/libisagbprn.c b/src/libisagbprn.c new file mode 100644 index 0000000000..e0e979e95e --- /dev/null +++ b/src/libisagbprn.c @@ -0,0 +1,177 @@ +#include +#include +#include "gba/gba.h" +#include "config.h" + +#define AGB_PRINT_FLUSH_ADDR 0x9FE209D +#define AGB_PRINT_STRUCT_ADDR 0x9FE20F8 +#define AGB_PRINT_PROTECT_ADDR 0x9FE2FFE +#define WSCNT_DATA (WAITCNT_PHI_OUT_16MHZ | WAITCNT_WS0_S_2 | WAITCNT_WS0_N_4) + +// originally for auto no$gba support, the string "no$gba" should be at this address, +// the user needs to read this string out as the memory viewer won't show it. +#define NOCASHGBAIDADDR 0x4FFFA00 +#define NOCASHGBAPRINTADDR1 0x4FFFA10 // automatically adds a newline after the string has finished +#define NOCASHGBAPRINTADDR2 0x4FFFA14 // does not automatically add the newline. by default, NOCASHGBAPRINTADDR2 is used. this is used to keep strings consistent between no$gba and VBA-RR, but a user can choose to forgo this. + +struct AGBPrintStruct +{ + u16 m_nRequest; + u16 m_nBank; + u16 m_nGet; + u16 m_nPut; +}; + +typedef void (*LPFN_PRINT_FLUSH)(void); + +#ifndef NDEBUG + +void AGBPrintFlush1Block(void); + +void AGBPrintInit(void) +{ + volatile struct AGBPrintStruct *pPrint = (struct AGBPrintStruct *)AGB_PRINT_STRUCT_ADDR; + u16 *pWSCNT = (u16 *)REG_ADDR_WAITCNT; + u16 *pProtect = (u16 *)AGB_PRINT_PROTECT_ADDR; + u16 nOldWSCNT = *pWSCNT; + *pWSCNT = WSCNT_DATA; + *pProtect = 0x20; + pPrint->m_nRequest = pPrint->m_nGet = pPrint->m_nPut = 0; + pPrint->m_nBank = 0xFD; + *pProtect = 0; + *pWSCNT = nOldWSCNT; +} + +static void AGBPutcInternal(const char cChr) +{ + volatile struct AGBPrintStruct *pPrint = (struct AGBPrintStruct *)AGB_PRINT_STRUCT_ADDR; + u16 *pPrintBuf = (u16 *)(0x8000000 + (pPrint->m_nBank << 16)); + u16 *pProtect = (u16 *)AGB_PRINT_PROTECT_ADDR; + u16 nData = pPrintBuf[pPrint->m_nPut / 2]; + *pProtect = 0x20; + nData = (pPrint->m_nPut & 1) ? (nData & 0xFF) | (cChr << 8) : (nData & 0xFF00) | cChr; + pPrintBuf[pPrint->m_nPut / 2] = nData; + pPrint->m_nPut++; + *pProtect = 0; +} + +void AGBPutc(const char cChr) +{ + u16 *pWSCNT = (u16 *)REG_ADDR_WAITCNT; + u16 nOldWSCNT = *pWSCNT; + volatile struct AGBPrintStruct *pPrint; + *pWSCNT = WSCNT_DATA; + AGBPutcInternal(cChr); + *pWSCNT = nOldWSCNT; + pPrint = (struct AGBPrintStruct *)AGB_PRINT_STRUCT_ADDR; + if (pPrint->m_nPut == ((pPrint->m_nGet - 1) & 0xFFFF)) + AGBPrintFlush1Block(); +} + +void AGBPrint(const char *pBuf) +{ + volatile struct AGBPrintStruct *pPrint = (struct AGBPrintStruct *)AGB_PRINT_STRUCT_ADDR; + u16 *pWSCNT = (u16 *)REG_ADDR_WAITCNT; + u16 nOldWSCNT = *pWSCNT; + *pWSCNT = WSCNT_DATA; + while (*pBuf) + { + AGBPutc(*pBuf); + pBuf++; + } + *pWSCNT = nOldWSCNT; +} + +void AGBPrintf(const char *pBuf, ...) +{ + char bufPrint[0x100]; + va_list vArgv; + va_start(vArgv, pBuf); + vsprintf(bufPrint, pBuf, vArgv); + va_end(vArgv); + AGBPrint(bufPrint); +} + +static void AGBPrintTransferDataInternal(u32 bAllData) +{ + LPFN_PRINT_FLUSH lpfnFuncFlush; + u16 *pIME; + u16 nIME; + u16 *pWSCNT; + u16 nOldWSCNT; + u16 *pProtect; + volatile struct AGBPrintStruct *pPrint; + + pProtect = (u16 *)AGB_PRINT_PROTECT_ADDR; + pPrint = (struct AGBPrintStruct *)AGB_PRINT_STRUCT_ADDR; + lpfnFuncFlush = (LPFN_PRINT_FLUSH)AGB_PRINT_FLUSH_ADDR; + pIME = (u16 *)REG_ADDR_IME; + nIME = *pIME; + pWSCNT = (u16 *)REG_ADDR_WAITCNT; + nOldWSCNT = *pWSCNT; + *pIME = nIME & ~1; + *pWSCNT = WSCNT_DATA; + + if (bAllData) + { + while (pPrint->m_nPut != pPrint->m_nGet) + { + *pProtect = 0x20; + lpfnFuncFlush(); + *pProtect = 0; + } + } + else if (pPrint->m_nPut != pPrint->m_nGet) + { + *pProtect = 0x20; + lpfnFuncFlush(); + *pProtect = 0; + } + + *pWSCNT = nOldWSCNT; + *pIME = nIME; +} + +void AGBPrintFlush1Block(void) +{ + AGBPrintTransferDataInternal(FALSE); +} + +void AGBPrintFlush(void) +{ + AGBPrintTransferDataInternal(TRUE); +} + +void AGBAssert(const char *pFile, int nLine, const char *pExpression, int nStopProgram) +{ + if (nStopProgram) + { + AGBPrintf("ASSERTION FAILED FILE=[%s] LINE=[%d] EXP=[%s] \n", pFile, nLine, pExpression); + AGBPrintFlush(); + asm(".hword 0xEFFF"); + } + else + { + AGBPrintf("WARING FILE=[%s] LINE=[%d] EXP=[%s] \n", pFile, nLine, pExpression); + } +} + +// no$gba print functions, uncomment to use +/* +void NoCashGBAPrint(const char *pBuf) +{ + *(volatile u32*)NOCASHGBAPRINTADDR2 = (u32)pBuf; +} + +void NoCashGBAPrintf(const char *pBuf, ...) +{ + char bufPrint[0x100]; + va_list vArgv; + va_start(vArgv, pBuf); + vsprintf(bufPrint, pBuf, vArgv); + va_end(vArgv); + NoCashGBAPrint(bufPrint); +} +*/ + +#endif diff --git a/src/lilycove_lady.c b/src/lilycove_lady.c index 64e28ecc91..cbfb8484cb 100644 --- a/src/lilycove_lady.c +++ b/src/lilycove_lady.c @@ -8,10 +8,10 @@ #include "rom6.h" #include "event_data.h" #include "script.h" -#include "rng.h" +#include "random.h" #include "string_util.h" #include "item.h" -#include "items.h" +#include "constants/items.h" #include "item_menu.h" #include "text.h" #include "easy_chat.h" @@ -29,10 +29,10 @@ static u8 sub_818E258(const u8 *); extern const u8 gText_Lady2[]; -static const u16 gUnknown_0860B074[] = { +static const u16 sUnknown_0860B074[] = { 0x62, 0xcb, 0xdc, 0xcc, 0xd1 }; -static const u16 gUnknown_0860B07E[] = { +static const u16 sUnknown_0860B07E[] = { 0x1a, 0x14, 0x0a }; @@ -119,11 +119,11 @@ static const u16 *const gUnknown_0860B1A4[] = { Unknown_0860B192 }; -static const u16 gUnknown_0860B1E4[] = { +static const u16 sUnknown_0860B1E4[] = { 0x0210, 0x0400, 0x0212, 0x1a26, 0x0208, 0x045d, 0x040a, 0x0411, 0x0464, 0x020e, 0x1a25, 0x181b, 0x1a24, 0x0420, 0x0410, 0x0400 }; -static const u16 gUnknown_0860B204[] = { +static const u16 sUnknown_0860B204[] = { 0x007b, 0x007f, 0x0081, 0x0023, 0x0023, 0x0023, 0x00a5, 0x00a7, 0x00a6, 0x000b, 0x012f, 0x006b, 0x006d, 0x0044, 0x0044, 0x000c }; @@ -176,7 +176,7 @@ static const u16 *const gUnknown_0860B2EC[] = { Unknown_0860B2D6 }; -static const u16 gUnknown_0860B304[] = { +static const u16 sUnknown_0860B304[] = { 0x0b, 0x6e, 0x40, 0x6f, 0x44, 0x47 }; @@ -218,7 +218,7 @@ static const u8 *const gUnknown_0860B338[] = { gUnknown_085EADE7 }; -static const u16 gUnknown_0860B34C[] = { +static const u16 sUnknown_0860B34C[] = { 0x0120, 0x013b, 0x011e, 0x013d, 0x0019 }; @@ -226,7 +226,7 @@ static EWRAM_DATA struct LilycoveLadyFavour *gUnknown_0203CD64 = NULL; static EWRAM_DATA struct LilycoveLadyQuiz *gUnknown_0203CD68 = NULL; static EWRAM_DATA struct LilycoveLadyContest *gUnknown_0203CD6C = NULL; -extern EWRAM_DATA u16 gScriptItemId; +extern EWRAM_DATA u16 gSpecialVar_ItemId; u8 GetLilycoveLadyId(void) { @@ -237,16 +237,16 @@ void sub_818D9C0(void) { LilycoveLady *lilycoveLady; - VarSet(VAR_0x4010, gUnknown_0860B07E[GetLilycoveLadyId()]); + VarSet(VAR_0x4010, sUnknown_0860B07E[GetLilycoveLadyId()]); if (GetLilycoveLadyId() == LILYCOVE_LADY_CONTEST) { lilycoveLady = &gSaveBlock1Ptr->lilycoveLady; - VarSet(VAR_0x4011, gUnknown_0860B074[lilycoveLady->contest.category]); - gScriptResult = TRUE; + VarSet(VAR_0x4011, sUnknown_0860B074[lilycoveLady->contest.category]); + gSpecialVar_Result = TRUE; } else { - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; } } @@ -308,7 +308,7 @@ void SetLilycoveLadyRandomly(void) void sub_818DAEC(void) { - gScriptResult = GetLilycoveLadyId(); + gSpecialVar_Result = GetLilycoveLadyId(); } static u8 sub_818DB04(const u16 *data) @@ -459,7 +459,7 @@ static bool8 sub_818DD84(u16 itemId) bool8 sub_818DE44(void) { - return sub_818DD84(gScriptItemId); + return sub_818DD84(gSpecialVar_ItemId); } bool8 sub_818DE5C(void) @@ -481,7 +481,7 @@ u16 sub_818DEA0(void) u16 itemId; gUnknown_0203CD64 = &gSaveBlock1Ptr->lilycoveLady.favour; - itemId = gUnknown_0860B304[gUnknown_0203CD64->unk_00c]; + itemId = sUnknown_0860B304[gUnknown_0203CD64->unk_00c]; sub_818DE88(itemId); gUnknown_0203CD64->phase = 2; return itemId; @@ -508,8 +508,8 @@ static void sub_818DF00(void) { gUnknown_0203CD68->unk_002[i] = gUnknown_0860B1A4[v0][i]; } - gUnknown_0203CD68->unk_014 = gUnknown_0860B1E4[v0]; - gUnknown_0203CD68->itemId = gUnknown_0860B204[v0]; + gUnknown_0203CD68->unk_014 = sUnknown_0860B1E4[v0]; + gUnknown_0203CD68->itemId = sUnknown_0860B204[v0]; gUnknown_0203CD68->unk_02b = v0; gUnknown_0203CD68->playerName[0] = EOS; } @@ -581,13 +581,13 @@ u8 sub_818E06C(void) { i = 0; } - } while (sub_811F8D8(gUnknown_0860B1E4[i]) == 0); + } while (sub_811F8D8(sUnknown_0860B1E4[i]) == 0); for (j = 0; j < 9; j ++) { quiz->unk_002[j] = gUnknown_0860B1A4[i][j]; } - quiz->unk_014 = gUnknown_0860B1E4[i]; - quiz->itemId = gUnknown_0860B204[i]; + quiz->unk_014 = sUnknown_0860B1E4[i]; + quiz->itemId = sUnknown_0860B204[i]; quiz->unk_02b = i; quiz->playerName[0] = EOS; } @@ -845,7 +845,7 @@ void sub_818E47C(void) void sub_818E490(void) { - RemoveBagItem(gScriptItemId, 1); + RemoveBagItem(gSpecialVar_ItemId, 1); } void sub_818E4A4(void) @@ -853,7 +853,7 @@ void sub_818E4A4(void) u8 i; gUnknown_0203CD68 = &gSaveBlock1Ptr->lilycoveLady.quiz; - gUnknown_0203CD68->itemId = gScriptItemId; + gUnknown_0203CD68->itemId = gSpecialVar_ItemId; for (i = 0; i < 4; i ++) { gUnknown_0203CD68->playerTrainerId[i] = gSaveBlock2Ptr->playerTrainerId[i]; @@ -943,7 +943,7 @@ static void sub_818E6B0(u8 sheen) } } -bool8 sub_818E704(struct Pokeblock *pokeblock) +bool8 GivePokeblockToContestLady(struct Pokeblock *pokeblock) { u8 sheen; bool8 response; @@ -1079,7 +1079,7 @@ void sub_818E914(void) void sub_818E92C(void) { - sub_81357FC(3, c2_exit_to_overworld_2_switch); + OpenPokeblockCase(3, c2_exit_to_overworld_2_switch); } void sub_818E940(void) @@ -1091,7 +1091,7 @@ void sub_818E940(void) void sub_818E960(void) { gUnknown_0203CD6C = &gSaveBlock1Ptr->lilycoveLady.contest; - gSpecialVar_0x8005 = gUnknown_0860B34C[gUnknown_0203CD6C->category]; + gSpecialVar_0x8005 = sUnknown_0860B34C[gUnknown_0203CD6C->category]; } u8 sub_818E990(void) diff --git a/src/load_save.c b/src/load_save.c index 68d978e3db..a516c08c21 100644 --- a/src/load_save.c +++ b/src/load_save.c @@ -3,19 +3,34 @@ #include "load_save.h" #include "main.h" #include "pokemon.h" -#include "rng.h" -#include "malloc.h" +#include "random.h" extern void* gUnknown_0203CF5C; extern bool16 IdentifyFlash(void); extern void SetBagItemsPointers(void); extern void SetDecorationInventoriesPointers(void); +extern void ApplyNewEncryptionKeyToGameStats(u32 key); +extern void ApplyNewEncryptionKeyToBagItems(u32 newKey); +extern void ApplyNewEncryptionKeyToBagItems_(u32 key); +extern void ApplyNewEncryptionKeyToBerryPowder(u32 key); +extern void sub_8084FAC(int unused); -void ApplyNewEncyprtionKeyToAllEncryptedData(u32 encryptionKey); +// this is probably wrong or misleading due to it being used in ResetHeap... +extern void InitHeap(void *pointer, u32 size); #define SAVEBLOCK_MOVE_RANGE 128 +struct LoadedSaveData +{ + /*0x0000*/ struct ItemSlot items[30]; + /*0x0078*/ struct ItemSlot keyItems[30]; + /*0x00F0*/ struct ItemSlot pokeBalls[16]; + /*0x0130*/ struct ItemSlot TMsHMs[64]; + /*0x0230*/ struct ItemSlot berries[46]; + /*0x02E8*/ struct MailStruct mail[MAIL_COUNT]; +}; + EWRAM_DATA struct SaveBlock2 gSaveblock2 = {0}; EWRAM_DATA u8 gSaveblock2_DMA[SAVEBLOCK_MOVE_RANGE] = {0}; @@ -25,6 +40,11 @@ EWRAM_DATA u8 gSaveblock1_DMA[SAVEBLOCK_MOVE_RANGE] = {0}; EWRAM_DATA struct PokemonStorage gPokemonStorage = {0}; EWRAM_DATA u8 gSaveblock3_DMA[SAVEBLOCK_MOVE_RANGE] = {0}; +EWRAM_DATA struct LoadedSaveData gLoadedSaveData = {0}; +EWRAM_DATA u32 gLastEncryptionKey = {0}; + +void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey); + void CheckForFlashMemory(void) { if (!IdentifyFlash()) @@ -60,18 +80,15 @@ void SetSaveBlocksPointers(u16 offset) SetDecorationInventoriesPointers(); } -struct SaveBlocksInOne -{ - struct SaveBlock2 sav2; - struct SaveBlock1 sav1; - struct PokemonStorage sav3; -}; -/* +extern u8 gHeap[]; + void MoveSaveBlocks_ResetHeap(void) { void *vblankCB, *hblankCB; u32 encryptionKey; - struct SaveBlocksInOne* copiedSavs; + struct SaveBlock2 *saveBlock2Copy; + struct SaveBlock1 *saveBlock1Copy; + struct PokemonStorage *pokemonStorageCopy; // save interrupt functions and turn them off vblankCB = gMain.vblankCallback; @@ -80,24 +97,30 @@ void MoveSaveBlocks_ResetHeap(void) gMain.hblankCallback = NULL; gUnknown_0203CF5C = NULL; - copiedSavs = (void*)(gHeap); + saveBlock2Copy = (struct SaveBlock2 *)(gHeap); + saveBlock1Copy = (struct SaveBlock1 *)(gHeap + sizeof(struct SaveBlock2)); + pokemonStorageCopy = (struct PokemonStorage *)(gHeap + sizeof(struct SaveBlock2) + sizeof(struct SaveBlock1)); - // copy saveblocks' content - copiedSavs->sav2 = *gSaveBlock2Ptr; - copiedSavs->sav1 = *gSaveBlock1Ptr; - copiedSavs->sav3 = *gPokemonStoragePtr; + // backup the saves. + *saveBlock2Copy = *gSaveBlock2Ptr; + *saveBlock1Copy = *gSaveBlock1Ptr; + *pokemonStorageCopy = *gPokemonStoragePtr; // change saveblocks' pointers // argument is a sum of the individual trainerId bytes - SetSaveBlocksPointers(copiedSavs->sav2.playerTrainerId[0] + copiedSavs->sav2.playerTrainerId[1] + copiedSavs->sav2.playerTrainerId[2] + copiedSavs->sav2.playerTrainerId[3]); + SetSaveBlocksPointers( + saveBlock2Copy->playerTrainerId[0] + + saveBlock2Copy->playerTrainerId[1] + + saveBlock2Copy->playerTrainerId[2] + + saveBlock2Copy->playerTrainerId[3]); // restore saveblock data since the pointers changed - *gSaveBlock2Ptr = copiedSavs->sav2; - *gSaveBlock1Ptr = copiedSavs->sav1; - *gPokemonStoragePtr = copiedSavs->sav3; + *gSaveBlock2Ptr = *saveBlock2Copy; + *gSaveBlock1Ptr = *saveBlock1Copy; + *gPokemonStoragePtr = *pokemonStorageCopy; // heap was destroyed in the copying process, so reset it - InitHeap(gHeap, sizeof(gHeap)); + InitHeap(gHeap, HEAP_SIZE); // restore interrupt functions gMain.hblankCallback = hblankCB; @@ -105,6 +128,168 @@ void MoveSaveBlocks_ResetHeap(void) // create a new encryption key encryptionKey = (Random() << 0x10) + (Random()); - ApplyNewEncyprtionKeyToAllEncryptedData(encryptionKey); + ApplyNewEncryptionKeyToAllEncryptedData(encryptionKey); gSaveBlock2Ptr->encryptionKey = encryptionKey; -}*/ +} + + +u8 sav2_x1_query_bit1(void) +{ + return gSaveBlock2Ptr->specialSaveWarp & 1; +} + +void sav2_x9_clear_bit1(void) +{ + gSaveBlock2Ptr->specialSaveWarp &= ~1; +} + +void sub_8076D48(void) +{ + gSaveBlock2Ptr->specialSaveWarp |= 1; +} + +void sub_8076D5C(void) +{ + sub_8084FAC(0); + gSaveBlock2Ptr->specialSaveWarp |= 1; +} + +void sav2_gender2_inplace_and_xFE(void) +{ + gSaveBlock2Ptr->specialSaveWarp &= ~1; +} + +void copy_player_party_to_sav1(void) // SavePlayerParty +{ + int i; + + gSaveBlock1Ptr->playerPartyCount = gPlayerPartyCount; + + for (i = 0; i < 6; i++) + gSaveBlock1Ptr->playerParty[i] = gPlayerParty[i]; +} + +void copy_player_party_from_sav1(void) // LoadPlayerParty +{ + int i; + + gPlayerPartyCount = gSaveBlock1Ptr->playerPartyCount; + + for (i = 0; i < 6; i++) + gPlayerParty[i] = gSaveBlock1Ptr->playerParty[i]; +} + +void save_serialize_npcs(void) // SaveMapObjects +{ + int i; + + for (i = 0; i < 16; i++) + gSaveBlock1Ptr->mapObjects[i] = gMapObjects[i]; +} + +void save_deserialize_npcs(void) // LoadMapObjects +{ + int i; + + for (i = 0; i < 16; i++) + gMapObjects[i] = gSaveBlock1Ptr->mapObjects[i]; +} + +void SaveSerializedGame(void) +{ + copy_player_party_to_sav1(); + save_serialize_npcs(); +} + +void LoadSerializedGame(void) +{ + copy_player_party_from_sav1(); + save_deserialize_npcs(); +} + +void copy_bags_and_unk_data_from_save_blocks(void) +{ + int i; + + // load player items. + for (i = 0; i < 30; i++) + gLoadedSaveData.items[i] = gSaveBlock1Ptr->bagPocket_Items[i]; + + // load player key items. + for (i = 0; i < 30; i++) + gLoadedSaveData.keyItems[i] = gSaveBlock1Ptr->bagPocket_KeyItems[i]; + + // load player pokeballs. + for (i = 0; i < 16; i++) + gLoadedSaveData.pokeBalls[i] = gSaveBlock1Ptr->bagPocket_PokeBalls[i]; + + // load player TMs and HMs. + for (i = 0; i < 64; i++) + gLoadedSaveData.TMsHMs[i] = gSaveBlock1Ptr->bagPocket_TMHM[i]; + + // load player berries. + for (i = 0; i < 46; i++) + gLoadedSaveData.berries[i] = gSaveBlock1Ptr->bagPocket_Berries[i]; + + // load mail. + for (i = 0; i < 16; i++) + gLoadedSaveData.mail[i] = gSaveBlock1Ptr->mail[i]; + + gLastEncryptionKey = gSaveBlock2Ptr->encryptionKey; +} + +void copy_bags_and_unk_data_to_save_blocks(void) +{ + int i; + u32 encryptionKeyBackup; + + // save player items. + for (i = 0; i < 30; i++) + gSaveBlock1Ptr->bagPocket_Items[i] = gLoadedSaveData.items[i]; + + // save player key items. + for (i = 0; i < 30; i++) + gSaveBlock1Ptr->bagPocket_KeyItems[i] = gLoadedSaveData.keyItems[i]; + + // save player pokeballs. + for (i = 0; i < 16; i++) + gSaveBlock1Ptr->bagPocket_PokeBalls[i] = gLoadedSaveData.pokeBalls[i]; + + // save player TMs and HMs. + for (i = 0; i < 64; i++) + gSaveBlock1Ptr->bagPocket_TMHM[i] = gLoadedSaveData.TMsHMs[i]; + + // save player berries. + for (i = 0; i < 46; i++) + gSaveBlock1Ptr->bagPocket_Berries[i] = gLoadedSaveData.berries[i]; + + // save mail. + for (i = 0; i < 16; i++) + gSaveBlock1Ptr->mail[i] = gLoadedSaveData.mail[i]; + + encryptionKeyBackup = gSaveBlock2Ptr->encryptionKey; + gSaveBlock2Ptr->encryptionKey = gLastEncryptionKey; + ApplyNewEncryptionKeyToBagItems(encryptionKeyBackup); + gSaveBlock2Ptr->encryptionKey = encryptionKeyBackup; // updated twice? +} + +void ApplyNewEncryptionKeyToHword(u16 *hWord, u32 newKey) +{ + *hWord ^= gSaveBlock2Ptr->encryptionKey; + *hWord ^= newKey; +} + +void ApplyNewEncryptionKeyToWord(u32 *word, u32 newKey) +{ + *word ^= gSaveBlock2Ptr->encryptionKey; + *word ^= newKey; +} + +void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey) +{ + ApplyNewEncryptionKeyToGameStats(encryptionKey); + ApplyNewEncryptionKeyToBagItems_(encryptionKey); + ApplyNewEncryptionKeyToBerryPowder(encryptionKey); + ApplyNewEncryptionKeyToWord(&gSaveBlock1Ptr->money, encryptionKey); + ApplyNewEncryptionKeyToHword(&gSaveBlock1Ptr->coins, encryptionKey); +} diff --git a/src/lottery_corner.c b/src/lottery_corner.c index 3939f7d7fe..2ded9c9436 100644 --- a/src/lottery_corner.c +++ b/src/lottery_corner.c @@ -2,9 +2,9 @@ #include "lottery_corner.h" #include "event_data.h" #include "pokemon.h" -#include "items.h" -#include "rng.h" -#include "species.h" +#include "constants/items.h" +#include "random.h" +#include "constants/species.h" #include "string_util.h" #include "text.h" @@ -42,7 +42,7 @@ void SetRandomLotteryNumber(u16 i) void RetrieveLotteryNumber(void) { u16 lottoNumber = GetLotteryNumber(); - gScriptResult = lottoNumber; + gSpecialVar_Result = lottoNumber; } void PickLotteryCornerTicket(void) @@ -66,7 +66,7 @@ void PickLotteryCornerTicket(void) if (!GetMonData(pkmn, MON_DATA_IS_EGG)) { u32 otId = GetMonData(pkmn, MON_DATA_OT_ID); - u8 numMatchingDigits = GetMatchingDigits(gScriptResult, otId); + u8 numMatchingDigits = GetMatchingDigits(gSpecialVar_Result, otId); if (numMatchingDigits > gSpecialVar_0x8004 && numMatchingDigits > 1) { @@ -90,7 +90,7 @@ void PickLotteryCornerTicket(void) !GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_IS_EGG)) { u32 otId = GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_OT_ID); - u8 numMatchingDigits = GetMatchingDigits(gScriptResult, otId); + u8 numMatchingDigits = GetMatchingDigits(gSpecialVar_Result, otId); if (numMatchingDigits > gSpecialVar_0x8004 && numMatchingDigits > 1) { diff --git a/src/m4a_2.c b/src/m4a_2.c index 2d3c658488..0625f05d19 100644 --- a/src/m4a_2.c +++ b/src/m4a_2.c @@ -11,10 +11,10 @@ void *gMPlayJumpTable[36]; struct CgbChannel gCgbChans[4]; struct MusicPlayerTrack gPokemonCryTracks[MAX_POKEMON_CRIES * 2]; struct PokemonCrySong gPokemonCrySong; -struct MusicPlayerInfo gMPlay_BGM; -struct MusicPlayerInfo gMPlay_SE1; -struct MusicPlayerInfo gMPlay_SE2; -struct MusicPlayerInfo gMPlay_SE3; +struct MusicPlayerInfo gMPlayInfo_BGM; +struct MusicPlayerInfo gMPlayInfo_SE1; +struct MusicPlayerInfo gMPlayInfo_SE2; +struct MusicPlayerInfo gMPlayInfo_SE3; u8 gMPlayMemAccArea[0x10]; u32 MidiKeyToFreq(struct WaveData *wav, u8 key, u8 fineAdjust) diff --git a/src/m4a_4.c b/src/m4a_4.c index 99195ec006..e645fbef5f 100644 --- a/src/m4a_4.c +++ b/src/m4a_4.c @@ -45,7 +45,7 @@ void m4aMPlayVolumeControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16 mplayInfo->ident = ID_NUMBER; } -void m4aMPlayPitchControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16 pitch) +void m4aMPlayPitchControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s16 pitch) { s32 i; u32 bit; @@ -66,7 +66,7 @@ void m4aMPlayPitchControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16 { if (track->flags & MPT_FLG_EXIST) { - track->keyShiftX = (s16)pitch >> 8; + track->keyShiftX = pitch >> 8; track->pitX = pitch; track->flags |= MPT_FLG_PITCHG; } diff --git a/src/mail.c b/src/mail.c index 1060d73bdf..ac263ac67a 100644 --- a/src/mail.c +++ b/src/mail.c @@ -1,14 +1,14 @@ - -// Includes #include "global.h" +#include "mail.h" +#include "constants/items.h" #include "main.h" #include "overworld.h" #include "task.h" -#include "unknown_task.h" +#include "scanline_effect.h" #include "palette.h" +#include "text.h" #include "menu.h" #include "menu_helpers.h" -#include "text.h" #include "text_window.h" #include "string_util.h" #include "international_string_util.h" @@ -16,11 +16,46 @@ #include "gpu_regs.h" #include "bg.h" #include "pokemon_icon.h" -#include "species.h" +#include "constants/species.h" #include "malloc.h" #include "easy_chat.h" -#include "mail_data.h" -#include "mail.h" + +extern const u16 gMailPalette_Orange[]; +extern const u16 gMailPalette_Harbor[]; +extern const u16 gMailPalette_Glitter[]; +extern const u16 gMailPalette_Mech[]; +extern const u16 gMailPalette_Wood[]; +extern const u16 gMailPalette_Wave[]; +extern const u16 gMailPalette_Bead[]; +extern const u16 gMailPalette_Shadow[]; +extern const u16 gMailPalette_Tropic[]; +extern const u16 gMailPalette_Dream[]; +extern const u16 gMailPalette_Fab[]; +extern const u16 gMailPalette_Retro[]; +extern const u8 gMailTiles_Orange[]; +extern const u8 gMailTilemap_Orange[]; +extern const u8 gMailTiles_Harbor[]; +extern const u8 gMailTilemap_Harbor[]; +extern const u8 gMailTiles_Glitter[]; +extern const u8 gMailTilemap_Glitter[]; +extern const u8 gMailTiles_Mech[]; +extern const u8 gMailTilemap_Mech[]; +extern const u8 gMailTiles_Wood[]; +extern const u8 gMailTilemap_Wood[]; +extern const u8 gMailTiles_Wave[]; +extern const u8 gMailTilemap_Wave[]; +extern const u8 gMailTiles_Bead[]; +extern const u8 gMailTilemap_Bead[]; +extern const u8 gMailTiles_Shadow[]; +extern const u8 gMailTilemap_Shadow[]; +extern const u8 gMailTiles_Tropic[]; +extern const u8 gMailTilemap_Tropic[]; +extern const u8 gMailTiles_Dream[]; +extern const u8 gMailTilemap_Dream[]; +extern const u8 gMailTiles_Fab[]; +extern const u8 gMailTilemap_Fab[]; +extern const u8 gMailTiles_Retro[]; +extern const u8 gMailTilemap_Retro[]; // Static type declarations @@ -52,9 +87,7 @@ struct MailGraphics u16 color12; }; -// Static RAM declarations - -static EWRAM_DATA struct +struct MailRead { /*0x0000*/ u8 strbuf[8][64]; /*0x0200*/ u8 playerName[12]; @@ -73,22 +106,26 @@ static EWRAM_DATA struct /*0x0228*/ const struct MailLayout *layout; /*0x022c*/ u8 bg1TilemapBuffer[0x1000]; /*0x122c*/ u8 bg2TilemapBuffer[0x1000]; -} *gUnknown_0203A134 = NULL; +}; + +// Static RAM declarations + +static EWRAM_DATA struct MailRead *sMailRead = NULL; // Static ROM declarations -void sub_81219F0(void); -void sub_8121A1C(void); -void sub_8121B1C(void); -void sub_8121C50(void); -void sub_8121C64(void); -void sub_8121C98(void); -void sub_8121CC0(void); -void sub_8121D00(void); +static void CB2_InitMailRead(void); +static void sub_8121A1C(void); +static void sub_8121B1C(void); +static void VBlankCB_MailRead(void); +static void CB2_MailRead(void); +static void CB2_WaitForPaletteExitOnKeyPress(void); +static void CB2_ExitOnKeyPress(void); +static void CB2_ExitMailReadFreeVars(void); // .rodata -const struct BgTemplate gUnknown_0859F290[] = { +static const struct BgTemplate sUnknown_0859F290[] = { { .bg = 0, .charBaseIndex = 2, @@ -107,7 +144,7 @@ const struct BgTemplate gUnknown_0859F290[] = { } }; -const struct WindowTemplate gUnknown_0859F29C[] = { +static const struct WindowTemplate sUnknown_0859F29C[] = { { .priority = 0, .tilemapLeft = 2, @@ -120,89 +157,52 @@ const struct WindowTemplate gUnknown_0859F29C[] = { DUMMY_WIN_TEMPLATE }; -const u8 gUnknown_0859F2AC[] = { +static const u8 sUnknown_0859F2AC[] = { 0, 10, 11 }; -const u16 gUnknown_0859F2B0[][2] = { +static const u16 sUnknown_0859F2B0[][2] = { { 0x6ACD, 0x51A5 }, { 0x45FC, 0x38D4 } }; -extern const u16 gUnknown_08DBE818[]; -extern const u16 gUnknown_08DBE838[]; -extern const u16 gUnknown_08DBE858[]; -extern const u16 gUnknown_08DBE878[]; -extern const u16 gUnknown_08DBE898[]; -extern const u16 gUnknown_08DBE8B8[]; -extern const u16 gUnknown_08DBE8D8[]; -extern const u16 gUnknown_08DBE8F8[]; -extern const u16 gUnknown_08DBE918[]; -extern const u16 gUnknown_08DBE938[]; -extern const u16 gUnknown_08DBE958[]; -extern const u16 gUnknown_08DBE978[]; -extern const u8 gUnknown_08DBE998[]; -extern const u8 gUnknown_08DBFBA4[]; -extern const u8 gUnknown_08DBEB38[]; -extern const u8 gUnknown_08DBFC7C[]; -extern const u8 gUnknown_08DBEC74[]; -extern const u8 gUnknown_08DBFD5C[]; -extern const u8 gUnknown_08DBEE84[]; -extern const u8 gUnknown_08DBFE68[]; -extern const u8 gUnknown_08DBEF5C[]; -extern const u8 gUnknown_08DBFF44[]; -extern const u8 gUnknown_08DBF154[]; -extern const u8 gUnknown_08DC0034[]; -extern const u8 gUnknown_08DBF2D4[]; -extern const u8 gUnknown_08DC0114[]; -extern const u8 gUnknown_08DBF37C[]; -extern const u8 gUnknown_08DC01F4[]; -extern const u8 gUnknown_08DBF50C[]; -extern const u8 gUnknown_08DC0300[]; -extern const u8 gUnknown_08DBF64C[]; -extern const u8 gUnknown_08DC03F0[]; -extern const u8 gUnknown_08DBF7B4[]; -extern const u8 gUnknown_08DC04E8[]; -extern const u8 gUnknown_08DBF904[]; -extern const u8 gUnknown_08DC0600[]; - -const struct MailGraphics gUnknown_0859F2B8[] = { +static const struct MailGraphics sUnknown_0859F2B8[] = { { - gUnknown_08DBE818, gUnknown_08DBE998, gUnknown_08DBFBA4, 0x02c0, 0x0000, 0x294a, 0x6739 + gMailPalette_Orange, gMailTiles_Orange, gMailTilemap_Orange, 0x02c0, 0x0000, 0x294a, 0x6739 }, { - gUnknown_08DBE838, gUnknown_08DBEB38, gUnknown_08DBFC7C, 0x02e0, 0x0000, 0x7fff, 0x4631 + gMailPalette_Harbor, gMailTiles_Harbor, gMailTilemap_Harbor, 0x02e0, 0x0000, 0x7fff, 0x4631 }, { - gUnknown_08DBE858, gUnknown_08DBEC74, gUnknown_08DBFD5C, 0x0400, 0x0000, 0x294a, 0x6739 + gMailPalette_Glitter, gMailTiles_Glitter, gMailTilemap_Glitter, 0x0400, 0x0000, 0x294a, 0x6739 }, { - gUnknown_08DBE878, gUnknown_08DBEE84, gUnknown_08DBFE68, 0x01e0, 0x0000, 0x7fff, 0x4631 + gMailPalette_Mech, gMailTiles_Mech, gMailTilemap_Mech, 0x01e0, 0x0000, 0x7fff, 0x4631 }, { - gUnknown_08DBE898, gUnknown_08DBEF5C, gUnknown_08DBFF44, 0x02e0, 0x0000, 0x7fff, 0x4631 + gMailPalette_Wood, gMailTiles_Wood, gMailTilemap_Wood, 0x02e0, 0x0000, 0x7fff, 0x4631 }, { - gUnknown_08DBE8B8, gUnknown_08DBF154, gUnknown_08DC0034, 0x0300, 0x0000, 0x294a, 0x6739 + gMailPalette_Wave, gMailTiles_Wave, gMailTilemap_Wave, 0x0300, 0x0000, 0x294a, 0x6739 }, { - gUnknown_08DBE8D8, gUnknown_08DBF2D4, gUnknown_08DC0114, 0x0140, 0x0000, 0x7fff, 0x4631 + gMailPalette_Bead, gMailTiles_Bead, gMailTilemap_Bead, 0x0140, 0x0000, 0x7fff, 0x4631 }, { - gUnknown_08DBE8F8, gUnknown_08DBF37C, gUnknown_08DC01F4, 0x0300, 0x0000, 0x7fff, 0x4631 + gMailPalette_Shadow, gMailTiles_Shadow, gMailTilemap_Shadow, 0x0300, 0x0000, 0x7fff, 0x4631 }, { - gUnknown_08DBE918, gUnknown_08DBF50C, gUnknown_08DC0300, 0x0220, 0x0000, 0x294a, 0x6739 + gMailPalette_Tropic, gMailTiles_Tropic, gMailTilemap_Tropic, 0x0220, 0x0000, 0x294a, 0x6739 }, { - gUnknown_08DBE938, gUnknown_08DBF64C, gUnknown_08DC03F0, 0x0340, 0x0000, 0x294a, 0x6739 + gMailPalette_Dream, gMailTiles_Dream, gMailTilemap_Dream, 0x0340, 0x0000, 0x294a, 0x6739 }, { - gUnknown_08DBE958, gUnknown_08DBF7B4, gUnknown_08DC04E8, 0x02a0, 0x0000, 0x294a, 0x6739 + gMailPalette_Fab, gMailTiles_Fab, gMailTilemap_Fab, 0x02a0, 0x0000, 0x294a, 0x6739 }, { - gUnknown_08DBE978, gUnknown_08DBF904, gUnknown_08DC0600, 0x0520, 0x0000, 0x294a, 0x6739 + gMailPalette_Retro, gMailTiles_Retro, gMailTilemap_Retro, 0x0520, 0x0000, 0x294a, 0x6739 } }; -const struct UnkMailStruct Unknown_0859F3A8[] = { +static const struct UnkMailStruct Unknown_0859F3A8[] = { { .numEasyChatWords = 3, .lineHeight = 16 }, { .numEasyChatWords = 3, .lineHeight = 16 }, { .numEasyChatWords = 3, .lineHeight = 16 } }; -const struct MailLayout gUnknown_0859F3B4[] = { +static const struct MailLayout sUnknown_0859F3B4[] = { { 0x03, 0x00, 0x00, 0x02, 0x04, Unknown_0859F3A8 }, { 0x03, 0x00, 0x00, 0x02, 0x04, Unknown_0859F3A8 }, { 0x03, 0x00, 0x00, 0x02, 0x04, Unknown_0859F3A8 }, @@ -217,7 +217,7 @@ const struct MailLayout gUnknown_0859F3B4[] = { { 0x03, 0x00, 0x00, 0x02, 0x00, Unknown_0859F3A8 } }; -const struct UnkMailStruct Unknown_0859F444[] = { +static const struct UnkMailStruct Unknown_0859F444[] = { { .numEasyChatWords = 2, .lineHeight = 16 }, { .numEasyChatWords = 2, .lineHeight = 16 }, { .numEasyChatWords = 2, .lineHeight = 16 }, @@ -225,7 +225,7 @@ const struct UnkMailStruct Unknown_0859F444[] = { { .numEasyChatWords = 1, .lineHeight = 16 } }; -const struct MailLayout gUnknown_0859F458[] = { +static const struct MailLayout sUnknown_0859F458[] = { { 0x05, 0x07, 0x58, 0x0b, 0x1e, Unknown_0859F444 }, { 0x05, 0x0a, 0x60, 0x09, 0x1e, Unknown_0859F444 }, { 0x05, 0x0c, 0x68, 0x05, 0x1e, Unknown_0859F444 }, @@ -240,86 +240,64 @@ const struct MailLayout gUnknown_0859F458[] = { { 0x05, 0x09, 0x60, 0x05, 0x1e, Unknown_0859F444 } }; -// What the heck are these meant to be? Call them u16 for now. - -const u16 Unknown_0859F4E8[] = { - 0x00, 0x4000, 0x00, 0x00 -}; - -const u16 Unknown_0859F4F0[] = { - 0x00, 0x00, -1, 0x00 -}; - -const u16 Unknown_0859F4F8[] = { - 0x04, 0x00, -1, 0x00 -}; - -const u16 Unknown_0859F500[] = { - 0x00, 0x40, -1, 0x00 -}; - -const u16 *const gUnknown_0859F508[] = { - Unknown_0859F4F0, - Unknown_0859F4F8, - Unknown_0859F500 -}; - // .text -void sub_8121478(struct MailStruct *mail, MainCallback callback, bool8 flag) { +void ReadMail(struct MailStruct *mail, void (*callback)(void), bool8 flag) +{ u16 buffer[2]; u16 species; - gUnknown_0203A134 = calloc(1, sizeof(*gUnknown_0203A134)); - gUnknown_0203A134->language = LANGUAGE_ENGLISH; - gUnknown_0203A134->playerIsSender = TRUE; - gUnknown_0203A134->parserSingle = CopyEasyChatWord; - gUnknown_0203A134->parserMultiple = ConvertEasyChatWordsToString; - if (mail->itemId >= ITEM_ORANGE_MAIL && mail->itemId <= ITEM_RETRO_MAIL) { - gUnknown_0203A134->mailType = mail->itemId - ITEM_ORANGE_MAIL; + sMailRead = calloc(1, sizeof(*sMailRead)); + sMailRead->language = LANGUAGE_ENGLISH; + sMailRead->playerIsSender = TRUE; + sMailRead->parserSingle = CopyEasyChatWord; + sMailRead->parserMultiple = ConvertEasyChatWordsToString; + if (IS_ITEM_MAIL(mail->itemId)) + { + sMailRead->mailType = mail->itemId - ITEM_ORANGE_MAIL; } else { - gUnknown_0203A134->mailType = 0; + sMailRead->mailType = 0; flag = FALSE; } - switch (gUnknown_0203A134->playerIsSender) + switch (sMailRead->playerIsSender) { case FALSE: default: - gUnknown_0203A134->layout = &gUnknown_0859F3B4[gUnknown_0203A134->mailType]; + sMailRead->layout = &sUnknown_0859F3B4[sMailRead->mailType]; break; case TRUE: - gUnknown_0203A134->layout = &gUnknown_0859F458[gUnknown_0203A134->mailType]; + sMailRead->layout = &sUnknown_0859F458[sMailRead->mailType]; break; } - species = sub_80D45E8(mail->species, buffer); + species = MailSpeciesToSpecies(mail->species, buffer); if (species >= SPECIES_BULBASAUR && species < NUM_SPECIES) { - switch (gUnknown_0203A134->mailType) + switch (sMailRead->mailType) { default: - gUnknown_0203A134->animsActive = 0; + sMailRead->animsActive = 0; break; case ITEM_BEAD_MAIL - ITEM_ORANGE_MAIL: - gUnknown_0203A134->animsActive = 1; + sMailRead->animsActive = 1; break; case ITEM_DREAM_MAIL - ITEM_ORANGE_MAIL: - gUnknown_0203A134->animsActive = 2; + sMailRead->animsActive = 2; break; } } else { - gUnknown_0203A134->animsActive = 0; + sMailRead->animsActive = 0; } - gUnknown_0203A134->mail = mail; - gUnknown_0203A134->callback = callback; - gUnknown_0203A134->flag = flag; - SetMainCallback2(sub_81219F0); + sMailRead->mail = mail; + sMailRead->callback = callback; + sMailRead->flag = flag; + SetMainCallback2(CB2_InitMailRead); } -bool8 sub_81215EC(void) +static bool8 MailReadBuildGraphics(void) { u16 icon; @@ -327,7 +305,7 @@ bool8 sub_81215EC(void) { case 0: SetVBlankCallback(NULL); - remove_some_task(); + ScanlineEffect_Stop(); SetGpuReg(REG_OFFSET_DISPCNT, 0x0000); break; case 1: @@ -353,21 +331,21 @@ bool8 sub_81215EC(void) SetGpuReg(REG_OFFSET_BG2HOFS, 0x0000); SetGpuReg(REG_OFFSET_BG3HOFS, 0x0000); SetGpuReg(REG_OFFSET_BG3VOFS, 0x0000); - SetGpuReg(REG_OFFSET_BLDCNT, 0x0000); + SetGpuReg(REG_OFFSET_BLDCNT, 0x0000); SetGpuReg(REG_OFFSET_BLDALPHA, 0x0000); break; case 6: ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_0859F290, 3); - SetBgTilemapBuffer(1, gUnknown_0203A134->bg1TilemapBuffer); - SetBgTilemapBuffer(2, gUnknown_0203A134->bg2TilemapBuffer); + InitBgsFromTemplates(0, sUnknown_0859F290, 3); + SetBgTilemapBuffer(1, sMailRead->bg1TilemapBuffer); + SetBgTilemapBuffer(2, sMailRead->bg2TilemapBuffer); break; case 7: - InitWindows(gUnknown_0859F29C); + InitWindows(sUnknown_0859F29C); DeactivateAllTextPrinters(); break; case 8: - decompress_and_copy_tile_data_to_vram(1, gUnknown_0859F2B8[gUnknown_0203A134->mailType].tiles, 0, 0, 0); + decompress_and_copy_tile_data_to_vram(1, sUnknown_0859F2B8[sMailRead->mailType].tiles, 0, 0, 0); break; case 9: if (free_temp_tile_data_buffers_if_possible()) @@ -378,7 +356,7 @@ bool8 sub_81215EC(void) case 10: FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); FillBgTilemapBufferRect_Palette0(2, 1, 0, 0, 30, 20); - CopyToBgTilemapBuffer(1, gUnknown_0859F2B8[gUnknown_0203A134->mailType].tileMap, 0, 0); + CopyToBgTilemapBuffer(1, sUnknown_0859F2B8[sMailRead->mailType].tileMap, 0, 0); break; case 11: CopyBgTilemapBufferToVram(0); @@ -386,25 +364,25 @@ bool8 sub_81215EC(void) CopyBgTilemapBufferToVram(2); break; case 12: - LoadPalette(sub_8098C64(), 240, 32); - gPlttBufferUnfaded[250] = gUnknown_0859F2B8[gUnknown_0203A134->mailType].color10; - gPlttBufferFaded[250] = gUnknown_0859F2B8[gUnknown_0203A134->mailType].color10; - gPlttBufferUnfaded[251] = gUnknown_0859F2B8[gUnknown_0203A134->mailType].color12; - gPlttBufferFaded[251] = gUnknown_0859F2B8[gUnknown_0203A134->mailType].color12; - LoadPalette(gUnknown_0859F2B8[gUnknown_0203A134->mailType].palette, 0, 32); - gPlttBufferUnfaded[10] = gUnknown_0859F2B0[gSaveBlock2Ptr->playerGender][0]; - gPlttBufferFaded[10] = gUnknown_0859F2B0[gSaveBlock2Ptr->playerGender][0]; - gPlttBufferUnfaded[11] = gUnknown_0859F2B0[gSaveBlock2Ptr->playerGender][1]; - gPlttBufferFaded[11] = gUnknown_0859F2B0[gSaveBlock2Ptr->playerGender][1]; + LoadPalette(GetOverworldTextboxPalettePtr(), 240, 32); + gPlttBufferUnfaded[250] = sUnknown_0859F2B8[sMailRead->mailType].color10; + gPlttBufferFaded[250] = sUnknown_0859F2B8[sMailRead->mailType].color10; + gPlttBufferUnfaded[251] = sUnknown_0859F2B8[sMailRead->mailType].color12; + gPlttBufferFaded[251] = sUnknown_0859F2B8[sMailRead->mailType].color12; + LoadPalette(sUnknown_0859F2B8[sMailRead->mailType].palette, 0, 32); + gPlttBufferUnfaded[10] = sUnknown_0859F2B0[gSaveBlock2Ptr->playerGender][0]; + gPlttBufferFaded[10] = sUnknown_0859F2B0[gSaveBlock2Ptr->playerGender][0]; + gPlttBufferUnfaded[11] = sUnknown_0859F2B0[gSaveBlock2Ptr->playerGender][1]; + gPlttBufferFaded[11] = sUnknown_0859F2B0[gSaveBlock2Ptr->playerGender][1]; break; case 13: - if (gUnknown_0203A134->flag) + if (sMailRead->flag) { sub_8121A1C(); } break; case 14: - if (gUnknown_0203A134->flag) + if (sMailRead->flag) { sub_8121B1C(); RunTextPrinters(); @@ -417,20 +395,20 @@ bool8 sub_81215EC(void) } break; case 16: - SetVBlankCallback(sub_8121C50); + SetVBlankCallback(VBlankCB_MailRead); gPaletteFade.bufferTransferDisabled = TRUE; break; case 17: - icon = sub_80D2E84(gUnknown_0203A134->mail->species); - switch (gUnknown_0203A134->animsActive) + icon = sub_80D2E84(sMailRead->mail->species); + switch (sMailRead->animsActive) { case 1: sub_80D2F68(icon); - gUnknown_0203A134->monIconSprite = sub_80D2D78(icon, SpriteCallbackDummy, 0x60, 0x80, 0, 0); + sMailRead->monIconSprite = sub_80D2D78(icon, SpriteCallbackDummy, 0x60, 0x80, 0, 0); break; case 2: sub_80D2F68(icon); - gUnknown_0203A134->monIconSprite = sub_80D2D78(icon, SpriteCallbackDummy, 0x28, 0x80, 0, 0); + sMailRead->monIconSprite = sub_80D2D78(icon, SpriteCallbackDummy, 0x28, 0x80, 0, 0); break; } break; @@ -441,53 +419,53 @@ bool8 sub_81215EC(void) ShowBg(2); BeginNormalPaletteFade(-1, 0, 16, 0, 0); gPaletteFade.bufferTransferDisabled = FALSE; - gUnknown_0203A134->callback2 = sub_8121C98; + sMailRead->callback2 = CB2_WaitForPaletteExitOnKeyPress; return TRUE; default: return FALSE; } - gMain.state ++; + gMain.state++; return FALSE; } -void sub_81219F0(void) +static void CB2_InitMailRead(void) { do { - if (sub_81215EC() == TRUE) + if (MailReadBuildGraphics() == TRUE) { - SetMainCallback2(sub_8121C64); + SetMainCallback2(CB2_MailRead); break; } } while (sub_81221AC() != TRUE); } -void sub_8121A1C(void) +static void sub_8121A1C(void) { u16 i; u8 total; u8 *ptr; total = 0; - for (i = 0; i < gUnknown_0203A134->layout->numSubStructs; i ++) + for (i = 0; i < sMailRead->layout->numSubStructs; i ++) { - ConvertEasyChatWordsToString(gUnknown_0203A134->strbuf[i], &gUnknown_0203A134->mail->words[total], gUnknown_0203A134->layout->var8[i].numEasyChatWords, 1); - total += gUnknown_0203A134->layout->var8[i].numEasyChatWords; + ConvertEasyChatWordsToString(sMailRead->strbuf[i], &sMailRead->mail->words[total], sMailRead->layout->var8[i].numEasyChatWords, 1); + total += sMailRead->layout->var8[i].numEasyChatWords; } - ptr = StringCopy(gUnknown_0203A134->playerName, gUnknown_0203A134->mail->playerName); - if (!gUnknown_0203A134->playerIsSender) + ptr = StringCopy(sMailRead->playerName, sMailRead->mail->playerName); + if (!sMailRead->playerIsSender) { StringCopy(ptr, gText_FromSpace); - gUnknown_0203A134->signatureWidth = gUnknown_0203A134->layout->signatureWidth - (StringLength(gUnknown_0203A134->playerName) * 8 - 0x60); + sMailRead->signatureWidth = sMailRead->layout->signatureWidth - (StringLength(sMailRead->playerName) * 8 - 0x60); } else { - sub_81DB52C(gUnknown_0203A134->playerName); - gUnknown_0203A134->signatureWidth = gUnknown_0203A134->layout->signatureWidth; + sub_81DB52C(sMailRead->playerName); + sMailRead->signatureWidth = sMailRead->layout->signatureWidth; } } -void sub_8121B1C(void) +static void sub_8121B1C(void) { u16 i; u8 strbuf[0x20]; @@ -501,77 +479,76 @@ void sub_8121B1C(void) PutWindowTilemap(1); FillWindowPixelBuffer(0, 0); FillWindowPixelBuffer(1, 0); - for (i = 0; i < gUnknown_0203A134->layout->numSubStructs; i ++) + for (i = 0; i < sMailRead->layout->numSubStructs; i ++) { - if (gUnknown_0203A134->strbuf[i][0] == EOS || gUnknown_0203A134->strbuf[i][0] == CHAR_SPACE) + if (sMailRead->strbuf[i][0] == EOS || sMailRead->strbuf[i][0] == CHAR_SPACE) { continue; } - box_print(0, 1, gUnknown_0203A134->layout->var8[i].xOffset + gUnknown_0203A134->layout->wordsYPos, y + gUnknown_0203A134->layout->wordsXPos, gUnknown_0859F2AC, 0, gUnknown_0203A134->strbuf[i]); - y += gUnknown_0203A134->layout->var8[i].lineHeight; + box_print(0, 1, sMailRead->layout->var8[i].xOffset + sMailRead->layout->wordsYPos, y + sMailRead->layout->wordsXPos, sUnknown_0859F2AC, 0, sMailRead->strbuf[i]); + y += sMailRead->layout->var8[i].lineHeight; } bufptr = StringCopy(strbuf, gText_FromSpace); - StringCopy(bufptr, gUnknown_0203A134->playerName); - box_x = GetStringCenterAlignXOffset(1, strbuf, gUnknown_0203A134->signatureWidth) + 0x68; - box_y = gUnknown_0203A134->layout->signatureYPos + 0x58; - box_print(0, 1, box_x, box_y, gUnknown_0859F2AC, 0, strbuf); + StringCopy(bufptr, sMailRead->playerName); + box_x = GetStringCenterAlignXOffset(1, strbuf, sMailRead->signatureWidth) + 0x68; + box_y = sMailRead->layout->signatureYPos + 0x58; + box_print(0, 1, box_x, box_y, sUnknown_0859F2AC, 0, strbuf); CopyWindowToVram(0, 3); CopyWindowToVram(1, 3); } -void sub_8121C50(void) +static void VBlankCB_MailRead(void) { LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -void sub_8121C64(void) +static void CB2_MailRead(void) { - if (gUnknown_0203A134->animsActive != 0) + if (sMailRead->animsActive != 0) { AnimateSprites(); BuildOamBuffer(); } - gUnknown_0203A134->callback2(); + sMailRead->callback2(); } -void sub_8121C98(void) +static void CB2_WaitForPaletteExitOnKeyPress(void) { if (!UpdatePaletteFade()) { - gUnknown_0203A134->callback2 = sub_8121CC0; + sMailRead->callback2 = CB2_ExitOnKeyPress; } } -void sub_8121CC0(void) +static void CB2_ExitOnKeyPress(void) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { BeginNormalPaletteFade(-1, 0, 0, 16, 0); - gUnknown_0203A134->callback2 = sub_8121D00; + sMailRead->callback2 = CB2_ExitMailReadFreeVars; } } -void sub_8121D00(void) +static void CB2_ExitMailReadFreeVars(void) { if (!UpdatePaletteFade()) { - SetMainCallback2(gUnknown_0203A134->callback); - switch (gUnknown_0203A134->animsActive) + SetMainCallback2(sMailRead->callback); + switch (sMailRead->animsActive) { case 1: case 2: - sub_80D2FF0(sub_80D2E84(gUnknown_0203A134->mail->species)); - sub_80D2EF8(&gSprites[gUnknown_0203A134->monIconSprite]); + sub_80D2FF0(sub_80D2E84(sMailRead->mail->species)); + sub_80D2EF8(&gSprites[sMailRead->monIconSprite]); } - memset(gUnknown_0203A134, 0, sizeof(*gUnknown_0203A134)); + memset(sMailRead, 0, sizeof(*sMailRead)); ResetPaletteFade(); UnsetBgTilemapBuffer(0); UnsetBgTilemapBuffer(1); ResetBgsAndClearDma3BusyFlags(0); FreeAllWindowBuffers(); - free(gUnknown_0203A134); - gUnknown_0203A134 = NULL; + FREE_AND_SET_NULL(sMailRead); } } diff --git a/src/mail_data.c b/src/mail_data.c new file mode 100644 index 0000000000..ebb49febf2 --- /dev/null +++ b/src/mail_data.c @@ -0,0 +1,203 @@ +#include "global.h" +#include "mail.h" +#include "constants/items.h" +#include "pokemon.h" +#include "pokemon_icon.h" +#include "constants/species.h" +#include "text.h" +#include "international_string_util.h" + +void ClearMailData(void) +{ + u8 i; + + for (i = 0; i < MAIL_COUNT; i++) + ClearMailStruct(&gSaveBlock1Ptr->mail[i]); +} + +void ClearMailStruct(struct MailStruct *mail) +{ + s32 i; + + for (i = 0; i < MAIL_WORDS_COUNT; i++) + mail->words[i] = 0xFFFF; + + for (i = 0; i < PLAYER_NAME_LENGTH; i++) + mail->playerName[i] = EOS; + + for (i = 0; i < 4; i++) + mail->trainerId[i] = 0; + + mail->species = SPECIES_BULBASAUR; + mail->itemId = ITEM_NONE; +} + +bool8 MonHasMail(struct Pokemon *mon) +{ + u16 heldItem = GetMonData(mon, MON_DATA_HELD_ITEM); + if (ItemIsMail(heldItem) && GetMonData(mon, MON_DATA_MAIL) != 0xFF) + return TRUE; + else + return FALSE; +} + +u8 GiveMailToMon(struct Pokemon *mon, u16 itemId) +{ + u8 heldItem[2]; + u8 id, i; + u16 species; + u32 personality; + + heldItem[0] = itemId; + heldItem[1] = itemId >> 8; + + for (id = 0; id < PARTY_SIZE; id++) + { + if (gSaveBlock1Ptr->mail[id].itemId == 0) + { + for (i = 0; i < MAIL_WORDS_COUNT; i++) + gSaveBlock1Ptr->mail[id].words[i] = 0xFFFF; + + for (i = 0; i < PLAYER_NAME_LENGTH - 1; i++) + gSaveBlock1Ptr->mail[id].playerName[i] = gSaveBlock2Ptr->playerName[i]; + gSaveBlock1Ptr->mail[id].playerName[i] = EOS; + PadNameString(gSaveBlock1Ptr->mail[id].playerName, CHAR_SPACE); + + for (i = 0; i < 4; i++) + gSaveBlock1Ptr->mail[id].trainerId[i] = gSaveBlock2Ptr->playerTrainerId[i]; + + species = GetBoxMonData(&mon->box, MON_DATA_SPECIES); + personality = GetBoxMonData(&mon->box, MON_DATA_PERSONALITY); + gSaveBlock1Ptr->mail[id].species = SpeciesToMailSpecies(species, personality); + gSaveBlock1Ptr->mail[id].itemId = itemId; + SetMonData(mon, MON_DATA_MAIL, &id); + SetMonData(mon, MON_DATA_HELD_ITEM, heldItem); + return id; + } + } + + return 0xFF; +} + +u16 SpeciesToMailSpecies(u16 species, u32 personality) +{ + if (species == SPECIES_UNOWN) + { + u32 species = GetUnownLetterByPersonality(personality) + 30000; + return species; + } + + return species; +} + +u16 MailSpeciesToSpecies(u16 mailSpecies, u16 *buffer) +{ + u16 result; + + if (mailSpecies >= 30000 && mailSpecies < (30000 + UNOWN_FORM_COUNT)) + { + result = SPECIES_UNOWN; + *buffer = mailSpecies - 30000; + } + else + { + result = mailSpecies; + } + + return result; +} + +u8 GiveMailToMon2(struct Pokemon *mon, struct MailStruct *mail) +{ + u8 heldItem[2]; + u16 itemId = mail->itemId; + u8 mailId = GiveMailToMon(mon, itemId); + + if (mailId == 0xFF) + return 0xFF; + + gSaveBlock1Ptr->mail[mailId] = *mail; + + SetMonData(mon, MON_DATA_MAIL, &mailId); + + heldItem[0] = itemId; + heldItem[1] = itemId >> 8; + + SetMonData(mon, MON_DATA_HELD_ITEM, heldItem); + + return mailId; +} + +static bool32 DummyMailFunc(void) +{ + return FALSE; +} + +void TakeMailFromMon(struct Pokemon *mon) +{ + u8 heldItem[2]; + u8 mailId; + + if (MonHasMail(mon)) + { + mailId = GetMonData(mon, MON_DATA_MAIL); + gSaveBlock1Ptr->mail[mailId].itemId = ITEM_NONE; + mailId = 0xFF; + heldItem[0] = ITEM_NONE; + heldItem[1] = ITEM_NONE << 8; + SetMonData(mon, MON_DATA_MAIL, &mailId); + SetMonData(mon, MON_DATA_HELD_ITEM, heldItem); + } +} + +void ClearMailItemId(u8 mailId) +{ + gSaveBlock1Ptr->mail[mailId].itemId = ITEM_NONE; +} + +u8 TakeMailFromMon2(struct Pokemon *mon) +{ + u8 i; + u8 newHeldItem[2]; + u8 newMailId; + + newHeldItem[0] = ITEM_NONE; + newHeldItem[1] = ITEM_NONE << 8; + newMailId = 0xFF; + + for (i = PARTY_SIZE; i < MAIL_COUNT; i++) + { + if (gSaveBlock1Ptr->mail[i].itemId == ITEM_NONE) + { + memcpy(&gSaveBlock1Ptr->mail[i], &gSaveBlock1Ptr->mail[GetMonData(mon, MON_DATA_MAIL)], sizeof(struct MailStruct)); + gSaveBlock1Ptr->mail[GetMonData(mon, MON_DATA_MAIL)].itemId = ITEM_NONE; + SetMonData(mon, MON_DATA_MAIL, &newMailId); + SetMonData(mon, MON_DATA_HELD_ITEM, newHeldItem); + return i; + } + } + + return 0xFF; +} + +bool8 ItemIsMail(u16 itemId) +{ + switch (itemId) + { + case ITEM_ORANGE_MAIL: + case ITEM_HARBOR_MAIL: + case ITEM_GLITTER_MAIL: + case ITEM_MECH_MAIL: + case ITEM_WOOD_MAIL: + case ITEM_WAVE_MAIL: + case ITEM_BEAD_MAIL: + case ITEM_SHADOW_MAIL: + case ITEM_TROPIC_MAIL: + case ITEM_DREAM_MAIL: + case ITEM_FAB_MAIL: + case ITEM_RETRO_MAIL: + return TRUE; + default: + return FALSE; + } +} diff --git a/src/main.c b/src/main.c index 665a4dd84c..d4601293b1 100644 --- a/src/main.c +++ b/src/main.c @@ -2,7 +2,7 @@ #include "main.h" #include "m4a.h" #include "rtc.h" -#include "rng.h" +#include "random.h" #include "dma3.h" #include "gba/flash_internal.h" #include "battle.h" @@ -29,7 +29,7 @@ extern void MapMusicMain(void); extern void EnableInterrupts(u16); extern void sub_8033648(void); extern u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void)); -extern void remove_some_task(void); +extern void ScanlineEffect_Stop(void); extern struct SoundInfo gSoundInfo; extern u32 gFlashMemoryPresent; @@ -122,7 +122,7 @@ void AgbMain() ClearDma3Requests(); ResetBgs(); SetDefaultFontsPointer(); - InitHeap(gHeap, 0x1C000); + InitHeap(gHeap, HEAP_SIZE); gSoftResetDisabled = FALSE; @@ -332,7 +332,6 @@ void SetSerialCallback(IntrCallback callback) } extern void CopyBufferedValuesToGpuRegs(void); -extern void ProcessDma3Requests(void); static void VBlankIntr(void) { @@ -426,7 +425,7 @@ void DoSoftReset(void) { REG_IME = 0; m4aSoundVSyncOff(); - remove_some_task(); + ScanlineEffect_Stop(); DmaStop(1); DmaStop(2); DmaStop(3); diff --git a/src/menu.c b/src/menu.c new file mode 100644 index 0000000000..d06f950d30 --- /dev/null +++ b/src/menu.c @@ -0,0 +1,2414 @@ +#include "global.h" +#include "bg.h" +#include "window.h" +#include "palette.h" +#include "menu.h" +#include "constants/songs.h" +#include "main.h" +#include "sound.h" +#include "menu_helpers.h" +#include "malloc.h" +#include "task.h" +#include "dma3.h" +#include "string_util.h" +#include "pokemon_icon.h" +#include "constants/flags.h" +#include "event_data.h" +#include "pokedex.h" +#include "region_map.h" +#include "text_window.h" +#include "strings.h" +#include "graphics.h" + +#define DLG_WINDOW_PALETTE_NUM 15 +#define DLG_WINDOW_BASE_TILE_NUM 0x200 +#define STD_WINDOW_PALETTE_NUM 14 +#define STD_WINDOW_BASE_TILE_NUM 0x214 + +struct SomeUnkStruct_60F0D4 +{ + u8 unk1; + u8 unk2; + u16 unk3; +}; + +struct Menu +{ + u8 left; + u8 top; + s8 cursorPos; + s8 minCursorPos; + s8 maxCursorPos; + u8 windowId; + u8 fontId; + u8 optionWidth; + u8 optionHeight; + u8 horizontalCount; + u8 verticalCount; + bool8 APressMuted; +}; + +static EWRAM_DATA u8 gUnknown_0203CD8C = 0; +static EWRAM_DATA u8 gUnknown_0203CD8D = 0; +static EWRAM_DATA struct Menu gUnknown_0203CD90 = {0}; +static EWRAM_DATA u16 gUnknown_0203CD9C = 0; +static EWRAM_DATA u8 gUnknown_0203CD9E = 0; +static EWRAM_DATA u8 gUnknown_0203CD9F = 0; +static EWRAM_DATA u8 gUnknown_0203CDA0 = 0; +static EWRAM_DATA u16 sFiller = 0; // needed to align +static EWRAM_DATA bool8 gUnknown_0203CDA4[4] = {FALSE}; +static EWRAM_DATA u16 gUnknown_0203CDA8 = 0; +static EWRAM_DATA void *gUnknown_0203CDAC[0x20] = {NULL}; + +const u16 gUnknown_0860F074[] = INCBIN_U16("graphics/interface/860F074.gbapal"); +static const u8 gUnknown_0860F094[] = { 8, 4, 1 }; + +static const struct WindowTemplate gUnknown_0860F098[] = +{ + { 0x00, 0x02, 0x0F, 0x1B, 0x04, 0x0F, 0x194 }, + DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate gUnknown_0860F0A8 = +{ + 0x00, 0x15, 0x09, 0x05, 0x04, 0x0F, 0x125 +}; + +const u16 gUnknown_0860F0B0[] = INCBIN_U16("graphics/interface/860F0B0.gbapal"); +const u8 gUnknown_0860F0D0[] = { 15, 1, 2 }; +const struct SomeUnkStruct_60F0D4 gUnknown_0860F0D4[] = +{ + { 12, 12, 0x00 }, + { 32, 12, 0x20 }, + { 32, 12, 0x64 }, + { 32, 12, 0x60 }, + { 32, 12, 0x80 }, + { 32, 12, 0x48 }, + { 32, 12, 0x44 }, + { 32, 12, 0x6C }, + { 32, 12, 0x68 }, + { 32, 12, 0x88 }, + { 32, 12, 0xA4 }, + { 32, 12, 0x24 }, + { 32, 12, 0x28 }, + { 32, 12, 0x2C }, + { 32, 12, 0x40 }, + { 32, 12, 0x84 }, + { 32, 12, 0x4C }, + { 32, 12, 0xA0 }, + { 32, 12, 0x8C }, + { 42, 12, 0xA8 }, + { 42, 12, 0xC0 }, + { 42, 12, 0xC8 }, + { 42, 12, 0xE0 }, + { 42, 12, 0xE8 }, + { 8, 8, 0xAE }, + { 8, 8, 0xAF }, +}; + +// Forward declarations +extern void sub_81973A4(void); +extern void DrawStandardFrame(u8, u8, u8, u8, u8, u8); +extern void DrawDialogueFrame(u8, u8, u8, u8, u8, u8); +extern void sub_81977BC(u8, u8, u8, u8, u8, u8); +extern void sub_8197804(u8, u8, u8, u8, u8, u8); +extern void sub_8197BB4(u8, u8, u8, u8, u8, u8); +extern void sub_8197E30(u8, u8, u8, u8, u8, u8); +extern void DrawWindowBorder(u8, u8, u8, u8, u8, u8); +extern void sub_81980A8(u8, u8, u8, u8, u8, u8); +extern u8 MoveMenuCursor(s8); +extern u8 sub_8199134(s8, s8); +extern void sub_8199F74(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 letterSpacing, u8 lineSpacing); +extern void sub_8198C78(void); +extern void task_free_buf_after_copying_tile_data_to_vram(u8 taskId); + +void sub_81971D0(void) +{ + InitWindows(gUnknown_0860F098); + gUnknown_0203CD8C = 0xFF; + gUnknown_0203CD8D = 0xFF; +} + +void sub_81971F4(void) +{ + FreeAllWindowBuffers(); +} + +void sub_8197200(void) +{ + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + DeactivateAllTextPrinters(); + sub_81973A4(); +} + +u16 sub_8197224(void) +{ + RunTextPrinters(); + return IsTextPrinterActive(0); +} + +u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 fgColor, u8 bgColor, u8 shadowColor) +{ + struct TextSubPrinter printer; + + printer.current_text_offset = str; + printer.windowId = windowId; + printer.fontId = fontId; + printer.x = 0; + printer.y = 1; + printer.currentX = 0; + printer.currentY = 1; + printer.letterSpacing = 0; + printer.lineSpacing = 0; + printer.fontColor_l = 0; + printer.fgColor = fgColor; + printer.bgColor = bgColor; + printer.shadowColor = shadowColor; + + gTextFlags.flag_1 = 0; + return AddTextPrinter(&printer, speed, callback); +} + +void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress) +{ + void (*callback)(struct TextSubPrinter *, u16) = NULL; + gTextFlags.flag_0 = allowSkippingDelayWithButtonPress; + AddTextPrinterParameterized(0, 1, gStringVar4, GetPlayerTextSpeed(), callback, 2, 1, 3); +} + +void AddTextPrinterForMessage_2(bool8 allowSkippingDelayWithButtonPress) +{ + gTextFlags.flag_0 = allowSkippingDelayWithButtonPress; + AddTextPrinterParameterized(0, 1, gStringVar4, GetPlayerTextSpeed(), NULL, 2, 1, 3); +} + +void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonPress, u8 speed) +{ + gTextFlags.flag_0 = allowSkippingDelayWithButtonPress; + AddTextPrinterParameterized(0, 1, gStringVar4, speed, NULL, 2, 1, 3); +} + +void sub_81973A4(void) +{ + copy_textbox_border_tile_patterns_to_vram(0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM * 0x10); + sub_809882C(0, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM * 0x10); +} + +void NewMenuHelpers_DrawDialogueFrame(u8 windowId, bool8 copyToVram) +{ + CallWindowFunction(windowId, DrawDialogueFrame); + FillWindowPixelBuffer(windowId, 0x11); + PutWindowTilemap(windowId); + if (copyToVram == TRUE) + CopyWindowToVram(windowId, 3); +} + +void NewMenuHelpers_DrawStdWindowFrame(u8 windowId, bool8 copyToVram) +{ + CallWindowFunction(windowId, DrawStandardFrame); + FillWindowPixelBuffer(windowId, 0x11); + PutWindowTilemap(windowId); + if (copyToVram == TRUE) + CopyWindowToVram(windowId, 3); +} + +void sub_8197434(u8 windowId, bool8 copyToVram) +{ + CallWindowFunction(windowId, sub_8197804); + FillWindowPixelBuffer(windowId, 0x11); + ClearWindowTilemap(windowId); + if (copyToVram == TRUE) + CopyWindowToVram(windowId, 3); +} + +void sub_819746C(u8 windowId, bool8 copyToVram) +{ + CallWindowFunction(windowId, sub_81977BC); + FillWindowPixelBuffer(windowId, 0x11); + ClearWindowTilemap(windowId); + if (copyToVram == TRUE) + CopyWindowToVram(windowId, 3); +} + +void DrawStandardFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) +{ + int i; + + FillBgTilemapBufferRect(bg, + STD_WINDOW_BASE_TILE_NUM + 0, + tilemapLeft - 1, + tilemapTop - 1, + 1, + 1, + STD_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + STD_WINDOW_BASE_TILE_NUM + 1, + tilemapLeft, + tilemapTop - 1, + width, + 1, + STD_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + STD_WINDOW_BASE_TILE_NUM + 2, + tilemapLeft + width, + tilemapTop - 1, + 1, + 1, + STD_WINDOW_PALETTE_NUM); + + for (i = tilemapTop; i < tilemapTop + height; i++) + { + FillBgTilemapBufferRect(bg, + STD_WINDOW_BASE_TILE_NUM + 3, + tilemapLeft - 1, + i, + 1, + 1, + STD_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + STD_WINDOW_BASE_TILE_NUM + 5, + tilemapLeft + width, + i, + 1, + 1, + STD_WINDOW_PALETTE_NUM); + } + + FillBgTilemapBufferRect(bg, + STD_WINDOW_BASE_TILE_NUM + 6, + tilemapLeft - 1, + tilemapTop + height, + 1, + 1, + STD_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + STD_WINDOW_BASE_TILE_NUM + 7, + tilemapLeft, + tilemapTop + height, + width, + 1, + STD_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + STD_WINDOW_BASE_TILE_NUM + 8, + tilemapLeft + width, + tilemapTop + height, + 1, + 1, + STD_WINDOW_PALETTE_NUM); +} + +void DrawDialogueFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) +{ + FillBgTilemapBufferRect(bg, + DLG_WINDOW_BASE_TILE_NUM + 1, + tilemapLeft - 2, + tilemapTop - 1, + 1, + 1, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + DLG_WINDOW_BASE_TILE_NUM + 3, + tilemapLeft - 1, + tilemapTop - 1, + 1, + 1, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + DLG_WINDOW_BASE_TILE_NUM + 4, + tilemapLeft, + tilemapTop - 1, + width - 1, + 1, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + DLG_WINDOW_BASE_TILE_NUM + 5, + tilemapLeft + width - 1, + tilemapTop - 1, + 1, + 1, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + DLG_WINDOW_BASE_TILE_NUM + 6, + tilemapLeft + width, + tilemapTop - 1, + 1, + 1, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + DLG_WINDOW_BASE_TILE_NUM + 7, + tilemapLeft - 2, + tilemapTop, + 1, + 5, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + DLG_WINDOW_BASE_TILE_NUM + 9, + tilemapLeft - 1, + tilemapTop, + width + 1, + 5, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + DLG_WINDOW_BASE_TILE_NUM + 10, + tilemapLeft + width, + tilemapTop, + 1, + 5, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 1), + tilemapLeft - 2, + tilemapTop + height, + 1, + 1, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 3), + tilemapLeft - 1, + tilemapTop + height, + 1, + 1, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 4), + tilemapLeft, + tilemapTop + height, + width - 1, + 1, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 5), + tilemapLeft + width - 1, + tilemapTop + height, + 1, + 1, + DLG_WINDOW_PALETTE_NUM); + FillBgTilemapBufferRect(bg, + BG_TILE_V_FLIP(DLG_WINDOW_BASE_TILE_NUM + 6), + tilemapLeft + width, + tilemapTop + height, + 1, + 1, + DLG_WINDOW_PALETTE_NUM); +} + +void sub_81977BC(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) +{ + FillBgTilemapBufferRect(bg, 0, tilemapLeft - 1, tilemapTop - 1, width + 2, height + 2, STD_WINDOW_PALETTE_NUM); +} + +void sub_8197804(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) +{ + FillBgTilemapBufferRect(bg, 0, tilemapLeft - 3, tilemapTop - 1, width + 6, height + 2, STD_WINDOW_PALETTE_NUM); +} + +void SetStandardWindowBorderStyle(u8 windowId, bool8 copyToVram) +{ + SetWindowBorderStyle(windowId, copyToVram, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM); +} + +void sub_819786C(u8 windowId, bool8 copyToVram) +{ + copy_textbox_border_tile_patterns_to_vram(windowId, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM * 0x10); + sub_8197B1C(windowId, copyToVram, DLG_WINDOW_BASE_TILE_NUM, 0xF); +} + +void sub_819789C(void) +{ + LoadPalette(gUnknown_0860F074, STD_WINDOW_PALETTE_NUM * 0x10, 0x14); +} + +void sub_81978B0(u16 offset) +{ + LoadPalette(gUnknown_0860F074, offset, 0x14); +} + +const u16 *sub_81978C8(void) +{ + return gUnknown_0860F074; +} + +u16 sub_81978D0(u8 colorNum) +{ + if (colorNum > 15) + colorNum = 0; + return gUnknown_0860F074[colorNum]; +} + +void DisplayItemMessageOnField(u8 taskId, const u8 *string, TaskFunc callback) +{ + sub_81973A4(); + DisplayMessageAndContinueTask(taskId, 0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM, 1, GetPlayerTextSpeed(), string, callback); + CopyWindowToVram(0, 3); +} + +void sub_8197930(void) +{ + CreateYesNoMenu(&gUnknown_0860F0A8, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM, 0); +} + +void sub_8197948(u8 initialCursorPos) +{ + CreateYesNoMenu(&gUnknown_0860F0A8, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM, initialCursorPos); +} + +u32 sub_8197964(void) +{ + if (gTextFlags.flag_3) + return 1; + return gSaveBlock2Ptr->optionsTextSpeed; +} + +u8 GetPlayerTextSpeed(void) +{ + u32 speed; + if (gSaveBlock2Ptr->optionsTextSpeed > 2) + gSaveBlock2Ptr->optionsTextSpeed = 1; + speed = sub_8197964(); + return gUnknown_0860F094[speed]; +} + +u8 sub_81979C4(u8 a1) +{ + if (gUnknown_0203CD8C == 0xFF) + gUnknown_0203CD8C = sub_8198AA4(0, 0x16, 1, 7, (a1 * 2) + 2, 0xF, 0x139); + return gUnknown_0203CD8C; +} + +u8 GetStartMenuWindowId(void) +{ + return gUnknown_0203CD8C; +} + +void remove_start_menu_window_maybe(void) +{ + if (gUnknown_0203CD8C != 0xFF) + { + RemoveWindow(gUnknown_0203CD8C); + gUnknown_0203CD8C = 0xFF; + } +} + +u16 sub_8197A30(void) +{ + return DLG_WINDOW_BASE_TILE_NUM; +} + +u16 sub_8197A38(void) +{ + return STD_WINDOW_BASE_TILE_NUM; +} + +u8 AddMapNamePopUpWindow(void) +{ + if (gUnknown_0203CD8D == 0xFF) + gUnknown_0203CD8D = sub_8198AA4(0, 1, 1, 10, 3, 14, 0x107); + return gUnknown_0203CD8D; +} + +u8 GetMapNamePopUpWindowId(void) +{ + return gUnknown_0203CD8D; +} + +void RemoveMapNamePopUpWindow(void) +{ + if (gUnknown_0203CD8D != 0xFF) + { + RemoveWindow(gUnknown_0203CD8D); + gUnknown_0203CD8D = 0xFF; + } +} + +void AddTextPrinterWithCallbackForMessage(bool8 a1, void (*callback)(struct TextSubPrinter *, u16)) +{ + gTextFlags.flag_0 = a1; + AddTextPrinterParameterized(0, 1, gStringVar4, GetPlayerTextSpeed(), callback, 2, 1, 3); +} + +void sub_8197AE8(bool8 copyToVram) +{ + FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0x11); + if (copyToVram == TRUE) + CopyBgTilemapBufferToVram(0); +} + +void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a3, u8 a4) +{ + gUnknown_0203CD9C = a3; + gUnknown_0203CD9E = a4; + CallWindowFunction(windowId, sub_8197BB4); + FillWindowPixelBuffer(windowId, 0x11); + PutWindowTilemap(windowId); + if (copyToVram == TRUE) + CopyWindowToVram(windowId, 3); +} + +void sub_8197B64(u8 windowId, bool8 copyToVram, u16 a3) +{ + gUnknown_0203CD9C = a3; + gUnknown_0203CD9E = GetWindowAttribute(windowId, WINDOW_PALETTE_NUM); + CallWindowFunction(windowId, sub_8197BB4); + FillWindowPixelBuffer(windowId, 0x11); + PutWindowTilemap(windowId); + if (copyToVram == TRUE) + CopyWindowToVram(windowId, 3); +} + +void sub_8197BB4(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) +{ + FillBgTilemapBufferRect(bg, + gUnknown_0203CD9C + 1, + tilemapLeft - 2, + tilemapTop - 1, + 1, + 1, + gUnknown_0203CD9E); + FillBgTilemapBufferRect(bg, + gUnknown_0203CD9C + 3, + tilemapLeft - 1, + tilemapTop - 1, + 1, + 1, + gUnknown_0203CD9E); + FillBgTilemapBufferRect(bg, + gUnknown_0203CD9C + 4, + tilemapLeft, + tilemapTop - 1, + width - 1, + 1, + gUnknown_0203CD9E); + FillBgTilemapBufferRect(bg, + gUnknown_0203CD9C + 5, + tilemapLeft + width - 1, + tilemapTop - 1, + 1, + 1, + gUnknown_0203CD9E); + FillBgTilemapBufferRect(bg, + gUnknown_0203CD9C + 6, + tilemapLeft + width, + tilemapTop - 1, + 1, + 1, + gUnknown_0203CD9E); + FillBgTilemapBufferRect(bg, + gUnknown_0203CD9C + 7, + tilemapLeft - 2, + tilemapTop, + 1, + 5, + gUnknown_0203CD9E); + FillBgTilemapBufferRect(bg, + gUnknown_0203CD9C + 9, + tilemapLeft - 1, + tilemapTop, + width + 1, + 5, + gUnknown_0203CD9E); + FillBgTilemapBufferRect(bg, + gUnknown_0203CD9C + 10, + tilemapLeft + width, + tilemapTop, + 1, + 5, + gUnknown_0203CD9E); + FillBgTilemapBufferRect(bg, + BG_TILE_V_FLIP(gUnknown_0203CD9C + 1), + tilemapLeft - 2, + tilemapTop + height, + 1, + 1, + gUnknown_0203CD9E); + FillBgTilemapBufferRect(bg, + BG_TILE_V_FLIP(gUnknown_0203CD9C + 3), + tilemapLeft - 1, + tilemapTop + height, + 1, + 1, + gUnknown_0203CD9E); + FillBgTilemapBufferRect(bg, + BG_TILE_V_FLIP(gUnknown_0203CD9C + 4), + tilemapLeft, + tilemapTop + height, + width - 1, + 1, + gUnknown_0203CD9E); + FillBgTilemapBufferRect(bg, + BG_TILE_V_FLIP(gUnknown_0203CD9C + 5), + tilemapLeft + width - 1, + tilemapTop + height, + 1, + 1, + gUnknown_0203CD9E); + FillBgTilemapBufferRect(bg, + BG_TILE_V_FLIP(gUnknown_0203CD9C + 6), + tilemapLeft + width, + tilemapTop + height, + 1, + 1, + gUnknown_0203CD9E); +} + +void sub_8197DF8(u8 windowId, bool8 copyToVram) +{ + CallWindowFunction(windowId, sub_8197E30); + FillWindowPixelBuffer(windowId, 0); + ClearWindowTilemap(windowId); + if (copyToVram == TRUE) + CopyWindowToVram(windowId, 3); +} + +void sub_8197E30(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) +{ + FillBgTilemapBufferRect(bg, 0, tilemapLeft - 3, tilemapTop - 1, width + 6, height + 2, 0); +} + +void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 baseTileNum, u8 paletteNum) +{ + gUnknown_0203CD9C = baseTileNum; + gUnknown_0203CD9E = paletteNum; + CallWindowFunction(windowId, DrawWindowBorder); + FillWindowPixelBuffer(windowId, 0x11); + PutWindowTilemap(windowId); + if (copyToVram == TRUE) + CopyWindowToVram(windowId, 3); +} + +void sub_8197EC8(u8 windowId, bool8 copyToVram, u16 baseTileNum) +{ + gUnknown_0203CD9C = baseTileNum; + gUnknown_0203CD9E = GetWindowAttribute(windowId, WINDOW_PALETTE_NUM); + CallWindowFunction(windowId, DrawWindowBorder); + FillWindowPixelBuffer(windowId, 0x11); + PutWindowTilemap(windowId); + if (copyToVram == TRUE) + CopyWindowToVram(windowId, 3); +} + +void DrawWindowBorder(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) +{ + FillBgTilemapBufferRect(bg, + gUnknown_0203CD9C + 0, + tilemapLeft - 1, + tilemapTop - 1, + 1, + 1, + gUnknown_0203CD9E); + FillBgTilemapBufferRect(bg, + gUnknown_0203CD9C + 1, + tilemapLeft, + tilemapTop - 1, + width, + 1, + gUnknown_0203CD9E); + FillBgTilemapBufferRect(bg, + gUnknown_0203CD9C + 2, + tilemapLeft + width, + tilemapTop - 1, + 1, + 1, + gUnknown_0203CD9E); + FillBgTilemapBufferRect(bg, + gUnknown_0203CD9C + 3, + tilemapLeft - 1, + tilemapTop, + 1, + height, + gUnknown_0203CD9E); + FillBgTilemapBufferRect(bg, + gUnknown_0203CD9C + 5, + tilemapLeft + width, + tilemapTop, + 1, + height, + gUnknown_0203CD9E); + FillBgTilemapBufferRect(bg, + gUnknown_0203CD9C + 6, + tilemapLeft - 1, + tilemapTop + height, + 1, + 1, + gUnknown_0203CD9E); + FillBgTilemapBufferRect(bg, + gUnknown_0203CD9C + 7, + tilemapLeft, + tilemapTop + height, + width, + 1, + gUnknown_0203CD9E); + FillBgTilemapBufferRect(bg, + gUnknown_0203CD9C + 8, + tilemapLeft + width, + tilemapTop + height, + 1, + 1, + gUnknown_0203CD9E); +} + +void sub_8198070(u8 windowId, bool8 copyToVram) +{ + CallWindowFunction(windowId, sub_81980A8); + FillWindowPixelBuffer(windowId, 0); + ClearWindowTilemap(windowId); + if (copyToVram == TRUE) + CopyWindowToVram(windowId, 3); +} + +void sub_81980A8(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) +{ + FillBgTilemapBufferRect(bg, 0, tilemapLeft - 1, tilemapTop - 1, width + 2, height + 2, 0); +} + +u8 sub_81980F0(u8 bg, u8 xPos, u8 yPos, u8 palette, u16 baseTile) +{ + struct WindowTemplate window; + memset(&window, 0, sizeof(window)); + + if (bg > 3) + window.priority = 0; + else + window.priority = bg; + + window.tilemapTop = yPos; + window.height = 2; + window.tilemapLeft = 0x1E - xPos; + window.width = xPos; + window.paletteNum = palette; + window.baseBlock = baseTile; + + gUnknown_0203CDA0 = AddWindow(&window); + + if (palette > 15) + palette = 15 * 16; + else + palette *= 16; + + LoadPalette(gUnknown_0860F0B0, palette, sizeof(gUnknown_0860F0B0)); + return gUnknown_0203CDA0; +} + +void sub_8198180(const u8 *string, u8 a2, bool8 copyToVram) +{ + u16 width = 0; + + if (gUnknown_0203CDA0 != 0xFF) + { + PutWindowTilemap(gUnknown_0203CDA0); + FillWindowPixelBuffer(gUnknown_0203CDA0, 0xFF); + width = GetStringWidth(0, string, 0); + box_print(gUnknown_0203CDA0, + 0, + 0xEC - (GetWindowAttribute(gUnknown_0203CDA0, WINDOW_TILEMAP_LEFT) * 8) - a2 - width, + 1, + gUnknown_0860F0D0, + 0, + string); + if (copyToVram) + CopyWindowToVram(gUnknown_0203CDA0, 3); + } +} + +void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyToVram) +{ + u8 color[3]; + u16 width = 0; + + if (gUnknown_0203CDA0 != 0xFF) + { + if (a3 != 0) + { + color[0] = 0; + color[1] = 1; + color[2] = 2; + } + else + { + color[0] = 15; + color[1] = 1; + color[2] = 2; + } + PutWindowTilemap(gUnknown_0203CDA0); + FillWindowPixelBuffer(gUnknown_0203CDA0, 0xFF); + if (string2 != NULL) + { + width = GetStringWidth(0, string2, 0); + box_print(gUnknown_0203CDA0, + 0, + 0xEC - (GetWindowAttribute(gUnknown_0203CDA0, WINDOW_TILEMAP_LEFT) * 8) - a4 - width, + 1, + color, + 0, + string2); + } + AddTextPrinterParameterized2(gUnknown_0203CDA0, 1, 4, 1, 0, 0, color, 0, string); + if (copyToVram) + CopyWindowToVram(gUnknown_0203CDA0, 3); + } +} + +void sub_81982D8(void) +{ + if (gUnknown_0203CDA0 != 0xFF) + CopyWindowToVram(gUnknown_0203CDA0, 3); +} + +void sub_81982F0(void) +{ + if (gUnknown_0203CDA0 != 0xFF) + { + FillWindowPixelBuffer(gUnknown_0203CDA0, 0xFF); + CopyWindowToVram(gUnknown_0203CDA0, 3); + } +} + +void sub_8198314(void) +{ + if (gUnknown_0203CDA0 != 0xFF) + { + FillWindowPixelBuffer(gUnknown_0203CDA0, 0); + ClearWindowTilemap(gUnknown_0203CDA0); + CopyWindowToVram(gUnknown_0203CDA0, 3); + RemoveWindow(gUnknown_0203CDA0); + gUnknown_0203CDA0 = 0xFF; + } +} + +u8 sub_8198348(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numChoices, u8 initialCursorPos, u8 a7) +{ + s32 pos; + + gUnknown_0203CD90.left = left; + gUnknown_0203CD90.top = top; + gUnknown_0203CD90.minCursorPos = 0; + gUnknown_0203CD90.maxCursorPos = numChoices - 1; + gUnknown_0203CD90.windowId = windowId; + gUnknown_0203CD90.fontId = fontId; + gUnknown_0203CD90.optionHeight = cursorHeight; + gUnknown_0203CD90.APressMuted = a7; + + pos = initialCursorPos; + + if (pos < 0 || pos > gUnknown_0203CD90.maxCursorPos) + gUnknown_0203CD90.cursorPos = 0; + else + gUnknown_0203CD90.cursorPos = pos; + + MoveMenuCursor(0); + return gUnknown_0203CD90.cursorPos; +} + +u8 sub_81983AC(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numChoices, u8 initialCursorPos) +{ + return sub_8198348(windowId, fontId, left, top, cursorHeight, numChoices, initialCursorPos, 0); +} + +u8 sub_81983EC(u8 windowId, u8 fontId, u8 left, u8 top, u8 numChoices, u8 initialCursorPos) +{ + u8 cursorHeight = GetMenuCursorDimensionByFont(fontId, 1); + return sub_81983AC(windowId, fontId, left, top, cursorHeight, numChoices, initialCursorPos); +} + +void RedrawMenuCursor(u8 oldPos, u8 newPos) +{ + u8 width, height; + + width = GetMenuCursorDimensionByFont(gUnknown_0203CD90.fontId, 0); + height = GetMenuCursorDimensionByFont(gUnknown_0203CD90.fontId, 1); + FillWindowPixelRect(gUnknown_0203CD90.windowId, 0x11, gUnknown_0203CD90.left, gUnknown_0203CD90.optionHeight * oldPos + gUnknown_0203CD90.top, width, height); + PrintTextOnWindow(gUnknown_0203CD90.windowId, gUnknown_0203CD90.fontId, gText_SelectorArrow3, gUnknown_0203CD90.left, gUnknown_0203CD90.optionHeight * newPos + gUnknown_0203CD90.top, 0, 0); +} + +u8 MoveMenuCursor(s8 cursorDelta) +{ + u8 oldPos = gUnknown_0203CD90.cursorPos; + int newPos = gUnknown_0203CD90.cursorPos + cursorDelta; + + if (newPos < gUnknown_0203CD90.minCursorPos) + gUnknown_0203CD90.cursorPos = gUnknown_0203CD90.maxCursorPos; + else if (newPos > gUnknown_0203CD90.maxCursorPos) + gUnknown_0203CD90.cursorPos = gUnknown_0203CD90.minCursorPos; + else + gUnknown_0203CD90.cursorPos += cursorDelta; + + RedrawMenuCursor(oldPos, gUnknown_0203CD90.cursorPos); + return gUnknown_0203CD90.cursorPos; +} + +u8 MoveMenuCursorNoWrapAround(s8 cursorDelta) +{ + u8 oldPos = gUnknown_0203CD90.cursorPos; + int newPos = gUnknown_0203CD90.cursorPos + cursorDelta; + + if (newPos < gUnknown_0203CD90.minCursorPos) + gUnknown_0203CD90.cursorPos = gUnknown_0203CD90.minCursorPos; + else if (newPos > gUnknown_0203CD90.maxCursorPos) + gUnknown_0203CD90.cursorPos = gUnknown_0203CD90.maxCursorPos; + else + gUnknown_0203CD90.cursorPos += cursorDelta; + + RedrawMenuCursor(oldPos, gUnknown_0203CD90.cursorPos); + return gUnknown_0203CD90.cursorPos; +} + +u8 GetMenuCursorPos(void) +{ + return gUnknown_0203CD90.cursorPos; +} + +s8 ProcessMenuInput(void) +{ + if (gMain.newKeys & A_BUTTON) + { + if (!gUnknown_0203CD90.APressMuted) + PlaySE(SE_SELECT); + return gUnknown_0203CD90.cursorPos; + } + else if (gMain.newKeys & B_BUTTON) + { + return MENU_B_PRESSED; + } + else if (gMain.newKeys & DPAD_UP) + { + PlaySE(SE_SELECT); + MoveMenuCursor(-1); + return MENU_NOTHING_CHOSEN; + } + else if (gMain.newKeys & DPAD_DOWN) + { + PlaySE(SE_SELECT); + MoveMenuCursor(1); + return MENU_NOTHING_CHOSEN; + } + + return MENU_NOTHING_CHOSEN; +} + +s8 ProcessMenuInputNoWrapAround(void) +{ + u8 oldPos = gUnknown_0203CD90.cursorPos; + + if (gMain.newKeys & A_BUTTON) + { + if (!gUnknown_0203CD90.APressMuted) + PlaySE(SE_SELECT); + return gUnknown_0203CD90.cursorPos; + } + else if (gMain.newKeys & B_BUTTON) + { + return MENU_B_PRESSED; + } + else if (gMain.newKeys & DPAD_UP) + { + if (oldPos != MoveMenuCursorNoWrapAround(-1)) + PlaySE(SE_SELECT); + return MENU_NOTHING_CHOSEN; + } + else if (gMain.newKeys & DPAD_DOWN) + { + if (oldPos != MoveMenuCursorNoWrapAround(1)) + PlaySE(SE_SELECT); + return MENU_NOTHING_CHOSEN; + } + + return MENU_NOTHING_CHOSEN; +} + +s8 ProcessMenuInput_other(void) +{ + if (gMain.newKeys & A_BUTTON) + { + if (!gUnknown_0203CD90.APressMuted) + PlaySE(SE_SELECT); + return gUnknown_0203CD90.cursorPos; + } + else if (gMain.newKeys & B_BUTTON) + { + return MENU_B_PRESSED; + } + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_UP) + { + PlaySE(SE_SELECT); + MoveMenuCursor(-1); + return MENU_NOTHING_CHOSEN; + } + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_DOWN) + { + PlaySE(SE_SELECT); + MoveMenuCursor(1); + return MENU_NOTHING_CHOSEN; + } + + return MENU_NOTHING_CHOSEN; +} + +s8 ProcessMenuInputNoWrapAround_other(void) +{ + u8 oldPos = gUnknown_0203CD90.cursorPos; + + if (gMain.newKeys & A_BUTTON) + { + if (!gUnknown_0203CD90.APressMuted) + PlaySE(SE_SELECT); + return gUnknown_0203CD90.cursorPos; + } + else if (gMain.newKeys & B_BUTTON) + { + return MENU_B_PRESSED; + } + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_UP) + { + if (oldPos != MoveMenuCursorNoWrapAround(-1)) + PlaySE(SE_SELECT); + return MENU_NOTHING_CHOSEN; + } + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_DOWN) + { + if (oldPos != MoveMenuCursorNoWrapAround(1)) + PlaySE(SE_SELECT); + return MENU_NOTHING_CHOSEN; + } + + return MENU_NOTHING_CHOSEN; +} + +void PrintTextArray(u8 windowId, u8 fontId, u8 left, u8 top, u8 lineHeight, u8 itemCount, const struct MenuAction *strs) +{ + u8 i; + for (i = 0; i < itemCount; i++) + { + PrintTextOnWindow(windowId, fontId, strs[i].text, left, (lineHeight * i) + top, 0xFF, NULL); + } + CopyWindowToVram(windowId, 2); +} + +void sub_81987BC(u8 windowId, u8 fontId, u8 left, u8 top, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, u8 a6, u8 a7) +{ + u8 i; + for (i = 0; i < itemCount; i++) + { + sub_8199F74(windowId, fontId, strs[i].text, left, (lineHeight * i) + top, 0xFF, NULL, a6, a7); + } + CopyWindowToVram(windowId, 2); +} + +void sub_8198854(u8 windowId, u8 fontId, u8 lineHeight, u8 itemCount, const struct MenuAction *strs) +{ + PrintTextArray(windowId, fontId, GetFontAttribute(fontId, 0), 1, lineHeight, itemCount, strs); +} + +void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8) +{ + u8 i; + struct TextSubPrinter printer; + + printer.windowId = windowId; + printer.fontId = fontId; + printer.fgColor = GetFontAttribute(fontId, 5); + printer.bgColor = GetFontAttribute(fontId, 6); + printer.shadowColor = GetFontAttribute(fontId, 7); + printer.fontColor_l = GetFontAttribute(fontId, 4); + printer.letterSpacing = letterSpacing; + printer.lineSpacing = GetFontAttribute(fontId, 3); + printer.x = left; + printer.currentX = left; + + for (i = 0; i < itemCount; i++) + { + printer.current_text_offset = strs[a8[i]].text; + printer.y = (lineHeight * i) + top; + printer.currentY = printer.y; + AddTextPrinter(&printer, 0xFF, NULL); + } + + CopyWindowToVram(windowId, 2); +} + +void sub_81989B8(u8 windowId, u8 fontId, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a5) +{ + AddItemMenuActionTextPrinters(windowId, fontId, GetFontAttribute(fontId, 0), 1, GetFontAttribute(fontId, 2), lineHeight, itemCount, strs, a5); +} + +void SetWindowTemplateFields(struct WindowTemplate *template, u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock) +{ + template->priority = bg; + template->tilemapLeft = left; + template->tilemapTop = top; + template->width = width; + template->height = height; + template->paletteNum = paletteNum; + template->baseBlock = baseBlock; +} + +struct WindowTemplate sub_8198A50(u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock) +{ + struct WindowTemplate template; + SetWindowTemplateFields(&template, bg, left, top, width, height, paletteNum, baseBlock); + return template; +} + +u16 sub_8198AA4(u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock) +{ + struct WindowTemplate template; + SetWindowTemplateFields(&template, bg, left, top, width, height, paletteNum, baseBlock); + return AddWindow(&template); +} + +void sub_8198AF8(const struct WindowTemplate *window, u8 fontId, u8 left, u8 top, u16 baseTileNum, u8 paletteNum, u8 initialCursorPos) +{ + struct TextSubPrinter printer; + + gUnknown_0203CD9F = AddWindow(window); + SetWindowBorderStyle(gUnknown_0203CD9F, TRUE, baseTileNum, paletteNum); + + printer.current_text_offset = gText_YesNo; + printer.windowId = gUnknown_0203CD9F; + printer.fontId = fontId; + printer.x = GetFontAttribute(fontId, 0) + left; + printer.y = top; + printer.currentX = printer.x; + printer.currentY = printer.y; + printer.fgColor = GetFontAttribute(fontId, 5); + printer.bgColor = GetFontAttribute(fontId, 6); + printer.shadowColor = GetFontAttribute(fontId, 7); + printer.fontColor_l = GetFontAttribute(fontId, 4); + printer.letterSpacing = GetFontAttribute(fontId, 2); + printer.lineSpacing = GetFontAttribute(fontId, 3); + + AddTextPrinter(&printer, 0xFF, NULL); + + sub_81983AC(gUnknown_0203CD9F, fontId, left, top, GetFontAttribute(fontId, 1), 2, initialCursorPos); +} + +void sub_8198C34(const struct WindowTemplate *window, u8 fontId, u16 baseTileNum, u8 paletteNum) +{ + sub_8198AF8(window, fontId, 0, 1, baseTileNum, paletteNum, 0); +} + +s8 ProcessMenuInputNoWrap_(void) +{ + s8 result = ProcessMenuInputNoWrapAround(); + if (result != MENU_NOTHING_CHOSEN) + sub_8198C78(); + return result; +} + +void sub_8198C78(void) +{ + sub_8198070(gUnknown_0203CD9F, TRUE); + RemoveWindow(gUnknown_0203CD9F); +} + +void sub_8198C94(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 a5, u8 a6, u8 a7, const struct MenuAction *strs) +{ + u8 i; + u8 j; + for (i = 0; i < a7; i++) + { + for (j = 0; j < a6; j++) + { + PrintTextOnWindow(windowId, fontId, strs[(i * a6) + j].text, (a4 * j) + left, (a5 * i) + top, 0xFF, NULL); + } + } + CopyWindowToVram(windowId, 2); +} + +void sub_8198D54(u8 windowId, u8 fontId, u8 a2, u8 a3, u8 a4, u8 a5, const struct MenuAction *strs) +{ + sub_8198C94(windowId, fontId, GetFontAttribute(fontId, 0), 0, a2, a3, a4, a5, strs); +} + +void sub_8198DBC(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 itemCount, u8 itemCount2, const struct MenuAction *strs, const u8 *a8) +{ + u8 i; + u8 j; + struct TextSubPrinter printer; + + printer.windowId = windowId; + printer.fontId = fontId; + printer.fgColor = GetFontAttribute(fontId, 5); + printer.bgColor = GetFontAttribute(fontId, 6); + printer.shadowColor = GetFontAttribute(fontId, 7); + printer.fontColor_l = GetFontAttribute(fontId, 4); + printer.letterSpacing = GetFontAttribute(fontId, 2); + printer.lineSpacing = GetFontAttribute(fontId, 3); + + for (i = 0; i < itemCount2; i++) + { + for (j = 0; j < itemCount; j++) + { + printer.current_text_offset = strs[a8[(itemCount * i) + j]].text; + printer.x = (a4 * j) + left; + printer.y = (GetFontAttribute(fontId, 1) * i) + top; + printer.currentX = printer.x; + printer.currentY = printer.y; + AddTextPrinter(&printer, 0xFF, NULL); + } + } + + CopyWindowToVram(windowId, 2); +} + +void sub_8198EF8(u8 windowId, u8 fontId, u8 a2, u8 a3, u8 a4, u8 a5, const struct MenuAction *strs, const u8 *a8) +{ + sub_8198DBC(windowId, fontId, GetFontAttribute(fontId, 0), 0, a2, a4, a5, strs, a8); +} + +u8 sub_8198F58(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 cursorHeight, u8 a6, u8 a7, u8 numChoices, u8 a9) +{ + s32 pos; + + gUnknown_0203CD90.left = left; + gUnknown_0203CD90.top = top; + gUnknown_0203CD90.minCursorPos = 0; + gUnknown_0203CD90.maxCursorPos = numChoices - 1; + gUnknown_0203CD90.windowId = windowId; + gUnknown_0203CD90.fontId = fontId; + gUnknown_0203CD90.optionWidth = a4; + gUnknown_0203CD90.optionHeight = cursorHeight; + gUnknown_0203CD90.horizontalCount = a6; + gUnknown_0203CD90.verticalCount = a7; + + pos = a9; + + if (pos < 0 || pos > gUnknown_0203CD90.maxCursorPos) + gUnknown_0203CD90.cursorPos = 0; + else + gUnknown_0203CD90.cursorPos = pos; + + sub_8199134(0, 0); + return gUnknown_0203CD90.cursorPos; +} + +u8 sub_8198FD4(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 a5, u8 a6, u8 a7) +{ + u8 cursorHeight = GetMenuCursorDimensionByFont(fontId, 1); + u8 numChoices = a5 * a6; + return sub_8198F58(windowId, fontId, left, top, a4, cursorHeight, a5, a6, numChoices, a7); +} + +void sub_8199060(u8 oldCursorPos, u8 newCursorPos) +{ + u8 cursorWidth = GetMenuCursorDimensionByFont(gUnknown_0203CD90.fontId, 0); + u8 cursorHeight = GetMenuCursorDimensionByFont(gUnknown_0203CD90.fontId, 1); + u8 xPos = (oldCursorPos % gUnknown_0203CD90.horizontalCount) * gUnknown_0203CD90.optionWidth + gUnknown_0203CD90.left; + u8 yPos = (oldCursorPos / gUnknown_0203CD90.horizontalCount) * gUnknown_0203CD90.optionHeight + gUnknown_0203CD90.top; + FillWindowPixelRect(gUnknown_0203CD90.windowId, + 0x11, + xPos, + yPos, + cursorWidth, + cursorHeight); + xPos = (newCursorPos % gUnknown_0203CD90.horizontalCount) * gUnknown_0203CD90.optionWidth + gUnknown_0203CD90.left; + yPos = (newCursorPos / gUnknown_0203CD90.horizontalCount) * gUnknown_0203CD90.optionHeight + gUnknown_0203CD90.top; + PrintTextOnWindow(gUnknown_0203CD90.windowId, + gUnknown_0203CD90.fontId, + gText_SelectorArrow3, + xPos, + yPos, + 0, + 0); +} + +u8 sub_8199134(s8 deltaX, s8 deltaY) +{ + u8 oldPos = gUnknown_0203CD90.cursorPos; + + if (deltaX != 0) + { + if ((gUnknown_0203CD90.cursorPos % gUnknown_0203CD90.horizontalCount) + deltaX < 0) + { + gUnknown_0203CD90.cursorPos += gUnknown_0203CD90.horizontalCount - 1; + } + else if ((gUnknown_0203CD90.cursorPos % gUnknown_0203CD90.horizontalCount) + deltaX >= gUnknown_0203CD90.horizontalCount) + { + gUnknown_0203CD90.cursorPos = (gUnknown_0203CD90.cursorPos / gUnknown_0203CD90.horizontalCount) * gUnknown_0203CD90.horizontalCount; + } + else + { + gUnknown_0203CD90.cursorPos += deltaX; + } + } + + if (deltaY != 0) + { + if ((gUnknown_0203CD90.cursorPos / gUnknown_0203CD90.horizontalCount) + deltaY < 0) + { + gUnknown_0203CD90.cursorPos += gUnknown_0203CD90.horizontalCount * (gUnknown_0203CD90.verticalCount - 1); + } + else if ((gUnknown_0203CD90.cursorPos / gUnknown_0203CD90.horizontalCount) + deltaY >= gUnknown_0203CD90.verticalCount) + { + gUnknown_0203CD90.cursorPos -= gUnknown_0203CD90.horizontalCount * (gUnknown_0203CD90.verticalCount - 1); + } + else + { + gUnknown_0203CD90.cursorPos += (gUnknown_0203CD90.horizontalCount * deltaY); + } + } + + if (gUnknown_0203CD90.cursorPos > gUnknown_0203CD90.maxCursorPos) + { + gUnknown_0203CD90.cursorPos = oldPos; + return gUnknown_0203CD90.cursorPos; + } + else + { + sub_8199060(oldPos, gUnknown_0203CD90.cursorPos); + return gUnknown_0203CD90.cursorPos; + } +} + +u8 sub_81991F8(s8 deltaX, s8 deltaY) +{ + u8 oldPos = gUnknown_0203CD90.cursorPos; + + if (deltaX != 0) + { + if (((gUnknown_0203CD90.cursorPos % gUnknown_0203CD90.horizontalCount) + deltaX >= 0) && + ((gUnknown_0203CD90.cursorPos % gUnknown_0203CD90.horizontalCount) + deltaX < gUnknown_0203CD90.horizontalCount)) + { + gUnknown_0203CD90.cursorPos += deltaX; + } + } + + if (deltaY != 0) + { + if (((gUnknown_0203CD90.cursorPos / gUnknown_0203CD90.horizontalCount) + deltaY >= 0) && + ((gUnknown_0203CD90.cursorPos / gUnknown_0203CD90.horizontalCount) + deltaY < gUnknown_0203CD90.verticalCount)) + { + gUnknown_0203CD90.cursorPos += (gUnknown_0203CD90.horizontalCount * deltaY); + } + } + + if (gUnknown_0203CD90.cursorPos > gUnknown_0203CD90.maxCursorPos) + { + gUnknown_0203CD90.cursorPos = oldPos; + return gUnknown_0203CD90.cursorPos; + } + else + { + sub_8199060(oldPos, gUnknown_0203CD90.cursorPos); + return gUnknown_0203CD90.cursorPos; + } +} + +s8 sub_8199284(void) +{ + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + return gUnknown_0203CD90.cursorPos; + } + else if (gMain.newKeys & B_BUTTON) + { + return MENU_B_PRESSED; + } + else if (gMain.newKeys & DPAD_UP) + { + PlaySE(SE_SELECT); + sub_8199134(0, -1); + return MENU_NOTHING_CHOSEN; + } + else if (gMain.newKeys & DPAD_DOWN) + { + PlaySE(SE_SELECT); + sub_8199134(0, 1); + return MENU_NOTHING_CHOSEN; + } + else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) + { + PlaySE(SE_SELECT); + sub_8199134(-1, 0); + return MENU_NOTHING_CHOSEN; + } + else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2) + { + PlaySE(SE_SELECT); + sub_8199134(1, 0); + return MENU_NOTHING_CHOSEN; + } + + return MENU_NOTHING_CHOSEN; +} + +s8 sub_8199334(void) +{ + u8 oldPos = gUnknown_0203CD90.cursorPos; + + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + return gUnknown_0203CD90.cursorPos; + } + else if (gMain.newKeys & B_BUTTON) + { + return MENU_B_PRESSED; + } + else if (gMain.newKeys & DPAD_UP) + { + if (oldPos != sub_81991F8(0, -1)) + PlaySE(SE_SELECT); + return MENU_NOTHING_CHOSEN; + } + else if (gMain.newKeys & DPAD_DOWN) + { + if (oldPos != sub_81991F8(0, 1)) + PlaySE(SE_SELECT); + return MENU_NOTHING_CHOSEN; + } + else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) + { + if (oldPos != sub_81991F8(-1, 0)) + PlaySE(SE_SELECT); + return MENU_NOTHING_CHOSEN; + } + else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2) + { + if (oldPos != sub_81991F8(1, 0)) + PlaySE(SE_SELECT); + return MENU_NOTHING_CHOSEN; + } + + return MENU_NOTHING_CHOSEN; +} + +s8 sub_81993D8(void) +{ + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + return gUnknown_0203CD90.cursorPos; + } + else if (gMain.newKeys & B_BUTTON) + { + return MENU_B_PRESSED; + } + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_UP) + { + PlaySE(SE_SELECT); + sub_8199134(0, -1); + return MENU_NOTHING_CHOSEN; + } + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_DOWN) + { + PlaySE(SE_SELECT); + sub_8199134(0, 1); + return MENU_NOTHING_CHOSEN; + } + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_LEFT || sub_812210C() == 1) + { + PlaySE(SE_SELECT); + sub_8199134(-1, 0); + return MENU_NOTHING_CHOSEN; + } + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_RIGHT || sub_812210C() == 2) + { + PlaySE(SE_SELECT); + sub_8199134(1, 0); + return MENU_NOTHING_CHOSEN; + } + + return MENU_NOTHING_CHOSEN; +} + +s8 sub_8199484(void) +{ + u8 oldPos = gUnknown_0203CD90.cursorPos; + + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + return gUnknown_0203CD90.cursorPos; + } + else if (gMain.newKeys & B_BUTTON) + { + return MENU_B_PRESSED; + } + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_UP) + { + if (oldPos != sub_81991F8(0, -1)) + PlaySE(SE_SELECT); + return MENU_NOTHING_CHOSEN; + } + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_DOWN) + { + if (oldPos != sub_81991F8(0, 1)) + PlaySE(SE_SELECT); + return MENU_NOTHING_CHOSEN; + } + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_LEFT || sub_812210C() == 1) + { + if (oldPos != sub_81991F8(-1, 0)) + PlaySE(SE_SELECT); + return MENU_NOTHING_CHOSEN; + } + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_RIGHT || sub_812210C() == 2) + { + if (oldPos != sub_81991F8(1, 0)) + PlaySE(SE_SELECT); + return MENU_NOTHING_CHOSEN; + } + + return MENU_NOTHING_CHOSEN; +} + +u8 InitMenuInUpperLeftCorner(u8 windowId, u8 itemCount, u8 initialCursorPos, bool8 APressMuted) +{ + s32 pos; + + gUnknown_0203CD90.left = 0; + gUnknown_0203CD90.top = 1; + gUnknown_0203CD90.minCursorPos = 0; + gUnknown_0203CD90.maxCursorPos = itemCount - 1; + gUnknown_0203CD90.windowId = windowId; + gUnknown_0203CD90.fontId = 1; + gUnknown_0203CD90.optionHeight = 16; + gUnknown_0203CD90.APressMuted = APressMuted; + + pos = initialCursorPos; + + if (pos < 0 || pos > gUnknown_0203CD90.maxCursorPos) + gUnknown_0203CD90.cursorPos = 0; + else + gUnknown_0203CD90.cursorPos = pos; + + return MoveMenuCursor(0); +} + +u8 InitMenuInUpperLeftCornerPlaySoundWhenAPressed(u8 windowId, u8 itemCount, u8 initialCursorPos) +{ + return InitMenuInUpperLeftCorner(windowId, itemCount, initialCursorPos, FALSE); +} + +void PrintMenuTable(u8 windowId, u8 itemCount, const struct MenuAction *strs) +{ + u32 i; + + for (i = 0; i < itemCount; i++) + { + PrintTextOnWindow(windowId, 1, strs[i].text, 8, (i * 16) + 1, 0xFF, NULL); + } + + CopyWindowToVram(windowId, 2); +} + +void sub_81995E4(u8 windowId, u8 itemCount, const struct MenuAction *strs, const u8 *a8) +{ + u8 i; + struct TextSubPrinter printer; + + printer.windowId = windowId; + printer.fontId = 1; + printer.fgColor = GetFontAttribute(1, 5); + printer.bgColor = GetFontAttribute(1, 6); + printer.shadowColor = GetFontAttribute(1, 7); + printer.fontColor_l = GetFontAttribute(1, 4); + printer.letterSpacing = 0; + printer.lineSpacing = 0; + printer.x = 8; + printer.currentX = 8; + + for (i = 0; i < itemCount; i++) + { + printer.current_text_offset = strs[a8[i]].text; + printer.y = (i * 16) + 1; + printer.currentY = (i * 16) + 1; + AddTextPrinter(&printer, 0xFF, NULL); + } + + CopyWindowToVram(windowId, 2); +} + +void CreateYesNoMenu(const struct WindowTemplate *window, u16 baseTileNum, u8 paletteNum, u8 initialCursorPos) +{ + struct TextSubPrinter printer; + + gUnknown_0203CD9F = AddWindow(window); + SetWindowBorderStyle(gUnknown_0203CD9F, TRUE, baseTileNum, paletteNum); + + printer.current_text_offset = gText_YesNo; + printer.windowId = gUnknown_0203CD9F; + printer.fontId = 1; + printer.x = 8; + printer.y = 1; + printer.currentX = printer.x; + printer.currentY = printer.y; + printer.fgColor = GetFontAttribute(1, 5); + printer.bgColor = GetFontAttribute(1, 6); + printer.shadowColor = GetFontAttribute(1, 7); + printer.fontColor_l = GetFontAttribute(1, 4); + printer.letterSpacing = 0; + printer.lineSpacing = 0; + + AddTextPrinter(&printer, 0xFF, NULL); + InitMenuInUpperLeftCornerPlaySoundWhenAPressed(gUnknown_0203CD9F, 2, initialCursorPos); +} + +void sub_81997AC(u8 windowId, u8 a4, u8 a6, u8 a7, const struct MenuAction *strs) +{ + u32 i; + u32 j; + for (i = 0; i < a7; i++) + { + for (j = 0; j < a6; j++) + { + PrintTextOnWindow(windowId, 1, strs[(i * a6) + j].text, (a4 * j) + 8, (i * 16) + 1, 0xFF, NULL); + } + } + CopyWindowToVram(windowId, 2); +} + +void sub_819983C(u8 windowId, u8 a4, u8 itemCount, u8 itemCount2, const struct MenuAction *strs, const u8 *a8) +{ + u8 i; + u8 j; + struct TextSubPrinter printer; + + printer.windowId = windowId; + printer.fontId = 1; + printer.fgColor = GetFontAttribute(1, 5); + printer.bgColor = GetFontAttribute(1, 6); + printer.shadowColor = GetFontAttribute(1, 7); + printer.fontColor_l = GetFontAttribute(1, 4); + printer.letterSpacing = 0; + printer.lineSpacing = 0; + + for (i = 0; i < itemCount2; i++) + { + for (j = 0; j < itemCount; j++) + { + printer.current_text_offset = strs[a8[(itemCount * i) + j]].text; + printer.x = (a4 * j) + 8; + printer.y = (16 * i) + 1; + printer.currentX = printer.x; + printer.currentY = printer.y; + AddTextPrinter(&printer, 0xFF, NULL); + } + } + + CopyWindowToVram(windowId, 2); +} + +u8 sub_8199944(u8 windowId, u8 optionWidth, u8 horizontalCount, u8 verticalCount, u8 initialCursorPos) +{ + s32 pos; + + gUnknown_0203CD90.left = 0; + gUnknown_0203CD90.top = 1; + gUnknown_0203CD90.minCursorPos = 0; + gUnknown_0203CD90.maxCursorPos = (horizontalCount * verticalCount) - 1; + gUnknown_0203CD90.windowId = windowId; + gUnknown_0203CD90.fontId = 1; + gUnknown_0203CD90.optionWidth = optionWidth; + gUnknown_0203CD90.optionHeight = 16; + gUnknown_0203CD90.horizontalCount = horizontalCount; + gUnknown_0203CD90.verticalCount = verticalCount; + + pos = initialCursorPos; + + if (pos < 0 || pos > gUnknown_0203CD90.maxCursorPos) + gUnknown_0203CD90.cursorPos = 0; + else + gUnknown_0203CD90.cursorPos = pos; + + sub_8199134(0, 0); + return gUnknown_0203CD90.cursorPos; +} + +void clear_scheduled_bg_copies_to_vram(void) +{ + memset(gUnknown_0203CDA4, 0, sizeof(gUnknown_0203CDA4)); +} + +void schedule_bg_copy_tilemap_to_vram(u8 bgId) +{ + gUnknown_0203CDA4[bgId] = TRUE; +} + +void do_scheduled_bg_tilemap_copies_to_vram(void) +{ + if (gUnknown_0203CDA4[0] == TRUE) + { + CopyBgTilemapBufferToVram(0); + gUnknown_0203CDA4[0] = FALSE; + } + if (gUnknown_0203CDA4[1] == TRUE) + { + CopyBgTilemapBufferToVram(1); + gUnknown_0203CDA4[1] = FALSE; + } + if (gUnknown_0203CDA4[2] == TRUE) + { + CopyBgTilemapBufferToVram(2); + gUnknown_0203CDA4[2] = FALSE; + } + if (gUnknown_0203CDA4[3] == TRUE) + { + CopyBgTilemapBufferToVram(3); + gUnknown_0203CDA4[3] = FALSE; + } +} + +void reset_temp_tile_data_buffers(void) +{ + int i; + for (i = 0; i < (s32)ARRAY_COUNT(gUnknown_0203CDAC); i++) + { + gUnknown_0203CDAC[i] = NULL; + } + gUnknown_0203CDA8 = 0; +} + +bool8 free_temp_tile_data_buffers_if_possible(void) +{ + int i; + + if (!IsDma3ManagerBusyWithBgCopy()) + { + if (gUnknown_0203CDA8) + { + for (i = 0; i < gUnknown_0203CDA8; i++) + { + FREE_AND_SET_NULL(gUnknown_0203CDAC[i]); + } + gUnknown_0203CDA8 = 0; + } + return FALSE; + } + else + { + return TRUE; + } +} + +void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size, u16 offset, u8 mode) +{ + int sizeOut; + if (gUnknown_0203CDA8 < ARRAY_COUNT(gUnknown_0203CDAC)) + { + void *ptr = malloc_and_decompress(src, &sizeOut); + if (!size) + size = sizeOut; + if (ptr) + { + copy_decompressed_tile_data_to_vram(bgId, ptr, size, offset, mode); + gUnknown_0203CDAC[gUnknown_0203CDA8++] = ptr; + } + return ptr; + } + return NULL; +} + +void copy_decompressed_tile_data_to_vram_autofree(u8 bgId, const void *src, int size, u16 offset, u8 mode) +{ + int sizeOut; + void *ptr = malloc_and_decompress(src, &sizeOut); + if (!size) + size = sizeOut; + if (ptr) + { + u8 taskId = CreateTask(task_free_buf_after_copying_tile_data_to_vram, 0); + gTasks[taskId].data[0] = copy_decompressed_tile_data_to_vram(bgId, ptr, size, offset, mode); + SetWordTaskArg(taskId, 1, (u32)ptr); + } +} + +void task_free_buf_after_copying_tile_data_to_vram(u8 taskId) +{ + if (!CheckForSpaceForDma3Request(gTasks[taskId].data[0])) + { + Free((void *)GetWordTaskArg(taskId, 1)); + DestroyTask(taskId); + } +} + +void *malloc_and_decompress(const void *src, int *size) +{ + void *ptr; + u8 *sizeAsBytes = (u8 *)size; + u8 *srcAsBytes = (u8 *)src; + + sizeAsBytes[0] = srcAsBytes[1]; + sizeAsBytes[1] = srcAsBytes[2]; + sizeAsBytes[2] = srcAsBytes[3]; + sizeAsBytes[3] = 0; + + ptr = Alloc(*size); + if (ptr) + LZ77UnCompWram(src, ptr); + return ptr; +} + +u16 copy_decompressed_tile_data_to_vram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode) +{ + switch (mode) + { + case 0: + return LoadBgTiles(bgId, src, size, offset); + case 1: + return LoadBgTilemap(bgId, src, size, offset); + default: + return -1; + } +} + +void sub_8199C30(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette) +{ + u8 i; + u8 j; + u16 *ptr = GetBgTilemapBuffer(bgId); + + for (i = top; i < top + height; i++) + { + for (j = left; j < left + width; j++) + { + ptr[(i * 32) + j] = (ptr[(i * 32) + j] & 0xFFF) | (palette << 12); + } + } +} + +void sub_8199CBC(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height) +{ + u8 i; + u8 j; + const u16 *src = GetBgTilemapBuffer(bgId); + + for (i = 0; i < height; i++) + { + for (j = 0; j < width; j++) + { + dest[(i * width) + j] = src[(i + top) * 32 + j + left]; + } + } +} + +void sub_8199D3C(void *ptr, int delta, int width, int height, bool32 is8BPP) +{ + int i; + int area = width * height; + if (is8BPP == TRUE) + { + u8 *as8BPP = ptr; + for (i = 0; i < area; i++) + { + as8BPP[i] += delta; + } + } + else + { + u16 *as4BPP = ptr; + for (i = 0; i < area; i++) + { + as4BPP[i] = (as4BPP[i] & 0xFC00) | ((as4BPP[i] + delta) & 0x3FF); + } + } +} + +void sub_8199D98(void) +{ + ChangeBgX(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgY(3, 0, 0); +} + +void sub_8199DF0(u32 bg, u8 a1, int a2, int a3) +{ + int temp = (!GetBgAttribute(bg, 4)) ? 0x20 : 0x40; + void *addr = (void *)((GetBgAttribute(bg, 1) * 0x4000) + (GetBgAttribute(bg, 10) + a2) * temp); + RequestDma3Fill(a1 << 24 | a1 << 16 | a1 << 8 | a1, addr + VRAM, a3 * temp, 1); +} + +void box_print(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str) +{ + struct TextSubPrinter printer; + + printer.current_text_offset = str; + printer.windowId = windowId; + printer.fontId = fontId; + printer.x = left; + printer.y = top; + printer.currentX = printer.x; + printer.currentY = printer.y; + printer.letterSpacing = GetFontAttribute(fontId, 2); + printer.lineSpacing = GetFontAttribute(fontId, 3); + printer.fontColor_l = 0; + printer.fgColor = color[1]; + printer.bgColor = color[0]; + printer.shadowColor = color[2]; + + AddTextPrinter(&printer, speed, NULL); +} + +void AddTextPrinterParameterized2(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineSpacing, const u8 *color, s8 speed, const u8 *str) +{ + struct TextSubPrinter printer; + + printer.current_text_offset = str; + printer.windowId = windowId; + printer.fontId = fontId; + printer.x = left; + printer.y = top; + printer.currentX = printer.x; + printer.currentY = printer.y; + printer.letterSpacing = letterSpacing; + printer.lineSpacing = lineSpacing; + printer.fontColor_l = 0; + printer.fgColor = color[1]; + printer.bgColor = color[0]; + printer.shadowColor = color[2]; + + AddTextPrinter(&printer, speed, NULL); +} + +void sub_8199F74(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 letterSpacing, u8 lineSpacing) +{ + struct TextSubPrinter printer; + + printer.current_text_offset = str; + printer.windowId = windowId; + printer.fontId = fontId; + printer.x = left; + printer.y = top; + printer.currentX = left; + printer.currentY = top; + printer.letterSpacing = letterSpacing; + printer.lineSpacing = lineSpacing; + printer.fontColor_l = 0; + + printer.fgColor = GetFontAttribute(fontId, 5); + printer.bgColor = GetFontAttribute(fontId, 6); + printer.shadowColor = GetFontAttribute(fontId, 7); + + AddTextPrinter(&printer, speed, callback); +} + +void sub_819A024(u8 windowId, const u8 *src, u16 a2, u16 a3) +{ + int count = 0; + while (gSaveBlock2Ptr->playerName[count] != EOS) + count++; + + StringExpandPlaceholders(gStringVar4, src); + + PrintTextOnWindow(windowId, 1, gStringVar4, a2, a3, 0xFF, 0); +} + +//Screw this function, it's long and unreferenced and ugh + +struct UnkStruct_819A080 { + u8 *unk00; + u16 unk04; + u16 unk06; +}; + +#ifdef NONMATCHING +void sub_819A080(struct UnkStruct_819A080 *a0, struct UnkStruct_819A080 *a1, u16 a2, u16 a3, u16 a4, u16 a5, u16 a6, u16 a7) +{ + // r3 = a3 + // r4 = a5 + // r1 = a6 + // r5 = a7 + // sp+00 = a0 + // sp+04 = a1 + // sp+08 = a2 + // sp+0c = a4 + int sp10 = a1->unk04 - a4 < a6 ? a1->unk04 - a4 + a2 : a6 + a2; + int sp14 = a0->unk06 - a5 < a7 ? a3 + a0->unk06 - a5 : a3 + a7; + int sp18 = (a0->unk04 + (a0->unk04 & 0x7)) / 8; + int sp1c = (a1->unk04 + (a1->unk04 & 0x7)) / 8; + int r12; // sp+20 + int r8; // sp+24 + int r5; + int r6; + u16 r2; + + for (r12 = a3, r8 = a5; r12 < sp14; r12++, r8++) + { + for (r5 = a2, r6 = a4; a5 < sp10; a5++, a6++) + { + u8 *r3 = a0->unk00 + ((r5 >> 1) & 0x3) + ((r5 >> 3) << 5) + (((r12 >> 3) * sp18) << 5) + ((r12 & 0x7) << 2); + u8 *r4 = a1->unk00 + ((r6 >> 1) & 0x3) + ((r6 >> 3) << 5) + (((r8 >> 3) * sp1c) << 5) + ((r8 & 0x7) << 2); + if (((uintptr_t)r4) & 0x1) + { + u16 *r4_2 = (u16 *)(r4 - 1); + if (r6 & 0x1) + { + r2 = *r4_2 & 0x0fff; + if (r5 & 0x1) + *r4_2 = r2 | ((*r3 & 0xf0) << 8); + else + *r4_2 = r2 | ((*r3 & 0x0f) << 12); + } + else + { + r2 = *r4_2 * 0xf0ff; + if (r5 & 0x1) + *r4_2 = r2 | ((*r3 & 0xf0) << 4); + else + *r4_2 = r2 | ((*r3 & 0x0f) << 8); + } + } + else + { + u16 *r4_2 = (u16 *)r4; + if (r6 & 1) + { + r2 = *r4_2 & 0xff0f; + if (r5 & 1) + *r4_2 = r2 | ((*r3 & 0xf0) << 0); + else + *r4_2 = r2 | ((*r3 & 0x0f) << 4); + } + else + { + r2 = *r4_2 & 0xfff0; + if (r5 & 1) + *r4_2 = r2 | ((*r3 & 0xf0) >> 4); + else + *r4_2 = r2 | ((*r3 & 0x0f) >> 0); + } + } + } + } +} +#else +__attribute__((naked)) +void sub_819A080(struct UnkStruct_819A080 *a0, struct UnkStruct_819A080 *a1, u16 a2, u16 a3, u16 a4, u16 a5, u16 a6, u16 a7) +{ + asm("push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, #0x28\n\ + str r0, [sp]\n\ + str r1, [sp, #0x4]\n\ + ldr r0, [sp, #0x48]\n\ + ldr r4, [sp, #0x4C]\n\ + ldr r1, [sp, #0x50]\n\ + ldr r5, [sp, #0x54]\n\ + lsl r2, #16\n\ + lsr r2, #16\n\ + str r2, [sp, #0x8]\n\ + lsl r3, #16\n\ + lsr r3, #16\n\ + lsl r0, #16\n\ + lsr r0, #16\n\ + str r0, [sp, #0xC]\n\ + lsl r4, #16\n\ + lsr r4, #16\n\ + lsl r1, #16\n\ + lsr r1, #16\n\ + lsl r5, #16\n\ + lsr r5, #16\n\ + ldr r2, [sp, #0x4]\n\ + ldrh r0, [r2, #0x4]\n\ + ldr r2, [sp, #0xC]\n\ + sub r0, r2\n\ + ldr r2, [sp, #0x8]\n\ + add r2, r1, r2\n\ + str r2, [sp, #0x10]\n\ + cmp r0, r1\n\ + bge _0819A0CC\n\ + ldr r1, [sp, #0x8]\n\ + add r0, r1\n\ + str r0, [sp, #0x10]\n\ +_0819A0CC:\n\ + ldr r2, [sp, #0x4]\n\ + ldrh r1, [r2, #0x6]\n\ + sub r0, r1, r4\n\ + cmp r0, r5\n\ + bge _0819A0DE\n\ + add r0, r3, r1\n\ + sub r0, r4\n\ + str r0, [sp, #0x14]\n\ + b _0819A0E2\n\ +_0819A0DE:\n\ + add r5, r3, r5\n\ + str r5, [sp, #0x14]\n\ +_0819A0E2:\n\ + ldr r0, [sp]\n\ + ldrh r1, [r0, #0x4]\n\ + mov r2, #0x7\n\ + add r0, r1, #0\n\ + and r0, r2\n\ + add r1, r0\n\ + asr r1, #3\n\ + str r1, [sp, #0x18]\n\ + ldr r0, [sp, #0x4]\n\ + ldrh r1, [r0, #0x4]\n\ + add r0, r1, #0\n\ + and r0, r2\n\ + add r1, r0\n\ + asr r1, #3\n\ + str r1, [sp, #0x1C]\n\ + mov r12, r3\n\ + mov r8, r4\n\ + ldr r1, [sp, #0x14]\n\ + cmp r12, r1\n\ + blt _0819A10C\n\ + b _0819A24A\n\ +_0819A10C:\n\ + ldr r5, [sp, #0x8]\n\ + ldr r6, [sp, #0xC]\n\ + mov r2, r12\n\ + add r2, #0x1\n\ + str r2, [sp, #0x20]\n\ + mov r0, r8\n\ + add r0, #0x1\n\ + str r0, [sp, #0x24]\n\ + ldr r1, [sp, #0x10]\n\ + cmp r5, r1\n\ + blt _0819A124\n\ + b _0819A23A\n\ +_0819A124:\n\ + mov r7, #0x1\n\ + mov r2, #0xF0\n\ + mov r10, r2\n\ + mov r0, #0xF\n\ + mov r9, r0\n\ +_0819A12E:\n\ + asr r0, r5, #1\n\ + mov r1, #0x3\n\ + and r0, r1\n\ + ldr r2, [sp]\n\ + ldr r1, [r2]\n\ + add r1, r0\n\ + asr r0, r5, #3\n\ + lsl r0, #5\n\ + add r1, r0\n\ + mov r2, r12\n\ + asr r0, r2, #3\n\ + ldr r2, [sp, #0x18]\n\ + mul r0, r2\n\ + lsl r0, #5\n\ + add r1, r0\n\ + mov r2, r12\n\ + lsl r0, r2, #29\n\ + lsr r0, #27\n\ + add r3, r1, r0\n\ + asr r0, r6, #1\n\ + mov r1, #0x3\n\ + and r0, r1\n\ + ldr r2, [sp, #0x4]\n\ + ldr r1, [r2]\n\ + add r1, r0\n\ + asr r0, r6, #3\n\ + lsl r0, #5\n\ + add r1, r0\n\ + mov r2, r8\n\ + asr r0, r2, #3\n\ + ldr r2, [sp, #0x1C]\n\ + mul r0, r2\n\ + lsl r0, #5\n\ + add r1, r0\n\ + mov r2, r8\n\ + lsl r0, r2, #29\n\ + lsr r0, #27\n\ + add r4, r1, r0\n\ + add r0, r4, #0\n\ + and r0, r7\n\ + cmp r0, #0\n\ + beq _0819A1DA\n\ + sub r4, #0x1\n\ + add r0, r6, #0\n\ + and r0, r7\n\ + cmp r0, #0\n\ + beq _0819A1B2\n\ + ldrh r0, [r4]\n\ + ldr r2, =0x00000fff\n\ + and r2, r0\n\ + add r0, r5, #0\n\ + and r0, r7\n\ + cmp r0, #0\n\ + beq _0819A1A8\n\ + ldrb r1, [r3]\n\ + mov r0, r10\n\ + and r0, r1\n\ + lsl r0, #8\n\ + b _0819A22A\n\ + .pool\n\ +_0819A1A8:\n\ + ldrb r1, [r3]\n\ + mov r0, r9\n\ + and r0, r1\n\ + lsl r0, #12\n\ + b _0819A22A\n\ +_0819A1B2:\n\ + ldrh r0, [r4]\n\ + ldr r2, =0x0000f0ff\n\ + and r2, r0\n\ + add r0, r5, #0\n\ + and r0, r7\n\ + cmp r0, #0\n\ + beq _0819A1D0\n\ + ldrb r1, [r3]\n\ + mov r0, r10\n\ + and r0, r1\n\ + lsl r0, #4\n\ + b _0819A22A\n\ + .pool\n\ +_0819A1D0:\n\ + ldrb r1, [r3]\n\ + mov r0, r9\n\ + and r0, r1\n\ + lsl r0, #8\n\ + b _0819A22A\n\ +_0819A1DA:\n\ + add r0, r6, #0\n\ + and r0, r7\n\ + cmp r0, #0\n\ + beq _0819A206\n\ + ldrh r0, [r4]\n\ + ldr r2, =0x0000ff0f\n\ + and r2, r0\n\ + add r0, r5, #0\n\ + and r0, r7\n\ + cmp r0, #0\n\ + beq _0819A1FC\n\ + ldrb r1, [r3]\n\ + mov r0, r10\n\ + b _0819A228\n\ + .pool\n\ +_0819A1FC:\n\ + ldrb r1, [r3]\n\ + mov r0, r9\n\ + and r0, r1\n\ + lsl r0, #4\n\ + b _0819A22A\n\ +_0819A206:\n\ + ldrh r0, [r4]\n\ + ldr r2, =0x0000fff0\n\ + and r2, r0\n\ + add r0, r5, #0\n\ + and r0, r7\n\ + cmp r0, #0\n\ + beq _0819A224\n\ + ldrb r1, [r3]\n\ + mov r0, r10\n\ + and r0, r1\n\ + lsr r0, #4\n\ + b _0819A22A\n\ + .pool\n\ +_0819A224:\n\ + ldrb r1, [r3]\n\ + mov r0, r9\n\ +_0819A228:\n\ + and r0, r1\n\ +_0819A22A:\n\ + orr r2, r0\n\ + strh r2, [r4]\n\ + add r5, #0x1\n\ + add r6, #0x1\n\ + ldr r0, [sp, #0x10]\n\ + cmp r5, r0\n\ + bge _0819A23A\n\ + b _0819A12E\n\ +_0819A23A:\n\ + ldr r1, [sp, #0x20]\n\ + mov r12, r1\n\ + ldr r2, [sp, #0x24]\n\ + mov r8, r2\n\ + ldr r0, [sp, #0x14]\n\ + cmp r12, r0\n\ + bge _0819A24A\n\ + b _0819A10C\n\ +_0819A24A:\n\ + add sp, #0x28\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n"); +} +#endif + +void sub_819A25C(u8 palOffset, u16 speciesId) +{ + LoadPalette(GetValidMonIconPalettePtr(speciesId), palOffset, 0x20); +} + +void sub_819A27C(u8 windowId, u16 speciesId, u32 personality, u16 x, u16 y) +{ + BlitBitmapToWindow(windowId, GetMonIconPtr(speciesId, personality, 1), x, y, 32, 32); +} + +void sub_819A2BC(u8 palOffset, u8 palId) +{ + const u16 *palette; + + switch (palId) + { + case 0: + default: + palette = gFireRedMenuElements1_Pal; + break; + case 1: + palette = gFireRedMenuElements2_Pal; + break; + case 2: + palette = gFireRedMenuElements3_Pal; + break; + } + + LoadPalette(palette, palOffset, 0x20); +} + +void blit_move_info_icon(u8 windowId, u8 iconId, u16 x, u16 y) +{ + BlitBitmapRectToWindow(windowId, gFireRedMenuElements_Gfx + gUnknown_0860F0D4[iconId].unk3 * 32, 0, 0, 128, 128, x, y, gUnknown_0860F0D4[iconId].unk1, gUnknown_0860F0D4[iconId].unk2); +} + +void sub_819A344(u8 a0, u8 *a1, u8 a2) +{ + s32 curFlag; + s32 flagCount; + u8 *endOfString; + u8 *string = a1; + + *(string++) = EXT_CTRL_CODE_BEGIN; + *(string++) = EXT_CTRL_CODE_COLOR; + *(string++) = a2; + *(string++) = EXT_CTRL_CODE_BEGIN; + *(string++) = EXT_CTRL_CODE_SHADOW; + *(string++) = a2 + 1; + + switch (a0) + { + case 0: + StringCopy(string, gSaveBlock2Ptr->playerName); + break; + case 1: + if (IsNationalPokedexEnabled()) + string = ConvertIntToDecimalStringN(string, pokedex_count(1), 0, 3); + else + string = ConvertIntToDecimalStringN(string, sub_80C0844(1), 0, 3); + *string = EOS; + break; + case 2: + string = ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->playTimeHours, 0, 3); + *(string++) = CHAR_COLON; + ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->playTimeMinutes, 2, 2); + break; + case 3: + sub_81245DC(string, gMapHeader.regionMapSectionId); + break; + case 4: + for (curFlag = FLAG_BADGE01_GET, flagCount = 0, endOfString = string + 1; curFlag <= FLAG_BADGE08_GET; curFlag++) + { + if (FlagGet(curFlag)) + flagCount++; + } + *string = flagCount + CHAR_0; + *endOfString = EOS; + break; + } +} diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c new file mode 100644 index 0000000000..31b366ae91 --- /dev/null +++ b/src/mystery_event_menu.c @@ -0,0 +1,302 @@ +#include "global.h" +#include "mystery_event_menu.h" +#include "link.h" +#include "main.h" +#include "menu.h" +#include "mystery_event_script.h" +#include "palette.h" +#include "save.h" +#include "constants/songs.h" +#include "sound.h" +#include "sprite.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "text.h" +#include "bg.h" +#include "window.h" +#include "gpu_regs.h" +#include "text_window.h" +#include "decompress.h" + +// this file's functions +static void CB2_MysteryEventMenu(void); +static void PrintMysteryMenuText(u8 windowId, const u8 *text, u8 x, u8 y, s32 speed); + +// EWRAM vars +static EWRAM_DATA u8 sUnknown_0203BCF8 = 0; // set but unused + +// const rom data +static const struct BgTemplate sBgTemplates[] = +{ + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + } +}; + +static const struct WindowTemplate sWindowTemplates[] = +{ + {0, 4, 15, 22, 4, 14, 20}, + {0, 7, 6, 16, 4, 14, 0x6C}, + DUMMY_WIN_TEMPLATE +}; + +// code +static void VBlankCB(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static bool8 CheckLanguageMatch(void) +{ + return (gLinkPlayers[0].language == gLinkPlayers[1].language); +} + +void CB2_InitMysteryEventMenu(void) +{ + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetTasks(); + SetVBlankCallback(VBlankCB); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, sBgTemplates, ARRAY_COUNT(sBgTemplates)); + if (InitWindows(sWindowTemplates)) + { + s32 i; + + DeactivateAllTextPrinters(); + for (i = 0; i < 2; i++) + FillWindowPixelBuffer(i, 0); + + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14); + sub_809882C(0, 1u, 0xD0u); + sub_81978B0(0xE0); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + CreateTask(Task_DestroySelf, 0); + StopMapMusic(); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + RunTextPrinters(); + UpdatePaletteFade(); + FillPalette(0, 0, 2); + SetMainCallback2(CB2_MysteryEventMenu); + } +} + +static bool8 GetEventLoadMessage(u8 *dest, u32 status) +{ + bool8 retVal = TRUE; + + if (status == 0) + { + StringCopy(dest, gText_EventSafelyLoaded); + retVal = FALSE; + } + + if (status == 2) + retVal = FALSE; + + if (status == 1) + StringCopy(dest, gText_LoadErrorEndingSession); + + return retVal; +} + +static void CB2_MysteryEventMenu(void) +{ + switch (gMain.state) + { + case 0: + SetWindowBorderStyle(0, 1, 1, 0xD); + PutWindowTilemap(0); + CopyWindowToVram(0, 3); + ShowBg(0); + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + gMain.state++; + break; + case 1: + if (!gPaletteFade.active) + { + PrintMysteryMenuText(0, gText_LinkStandby2, 1, 2, 1); + gMain.state++; + } + break; + case 2: + if (!IsTextPrinterActive(0)) + { + gMain.state++; + gLinkType = 21761; + OpenLink(); + } + break; + case 3: + if ((gLinkStatus & 0x20) && (gLinkStatus & 0x1C) > 4) + { + PlaySE(SE_PIN); + PrintMysteryMenuText(0, gText_PressAToLoadEvent, 1, 2, 1); + gMain.state++; + } + if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + CloseLink(); + gMain.state = 15; + } + break; + case 4: + if (!IsTextPrinterActive(0)) + gMain.state++; + break; + case 5: + if (GetLinkPlayerCount_2() == 2) + { + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sub_800A620(); + SetWindowBorderStyle(1, 1, 1, 0xD); + PrintMysteryMenuText(1, gText_LoadingEvent, 1, 2, 0); + PutWindowTilemap(1); + CopyWindowToVram(1, 3); + gMain.state++; + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + CloseLink(); + gMain.state = 15; + } + } + else + { + GetEventLoadMessage(gStringVar4, 1); + PrintMysteryMenuText(0, gStringVar4, 1, 2, 1); + gMain.state = 13; + } + break; + case 6: + if (IsLinkConnectionEstablished()) + { + if (gReceivedRemoteLinkPlayers != 0) + { + if (sub_800A0C8(2, 2) == 3) + { + sub_800AC34(); + GetEventLoadMessage(gStringVar4, 1); + PrintMysteryMenuText(0, gStringVar4, 1, 2, 1); + gMain.state = 13; + } + else if (CheckLanguageMatch()) + { + PrintMysteryMenuText(0, gText_DontRemoveCableTurnOff, 1, 2, 1); + gMain.state++; + } + else + { + CloseLink(); + GetEventLoadMessage(gStringVar4, 1); + PrintMysteryMenuText(0, gStringVar4, 1, 2, 1); + gMain.state = 13; + } + } + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + CloseLink(); + gMain.state = 15; + } + break; + case 7: + if (!IsTextPrinterActive(0)) + gMain.state++; + break; + case 8: + if (GetBlockReceivedStatus()) + { + ResetBlockReceivedFlags(); + gMain.state++; + } + break; + case 9: + gMain.state++; + break; + case 10: + sub_800AC34(); + gMain.state++; + break; + case 11: + if (gReceivedRemoteLinkPlayers == 0) + { + u16 unkVal = RunMysteryEventScript(gDecompressionBuffer); + CpuFill32(0, gDecompressionBuffer, 0x7D4); + if (!GetEventLoadMessage(gStringVar4, unkVal)) + TrySavingData(NORMAL_SAVE); + gMain.state++; + } + break; + case 12: + PrintMysteryMenuText(0, gStringVar4, 1, 2, 1); + gMain.state++; + break; + case 13: + if (!IsTextPrinterActive(0)) + { + gMain.state++; + sUnknown_0203BCF8 = 0; + } + break; + case 14: + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + gMain.state++; + } + break; + case 15: + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + gMain.state++; + break; + case 16: + if (!gPaletteFade.active) + DoSoftReset(); + break; + } + + if (gLinkStatus & 0x40 && !IsLinkMaster()) + { + CloseLink(); + GetEventLoadMessage(gStringVar4, 1); + PrintMysteryMenuText(0, gStringVar4, 1, 2, 1); + gMain.state = 13; + } + + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + RunTextPrinters(); + UpdatePaletteFade(); +} + +static void PrintMysteryMenuText(u8 windowId, const u8 *text, u8 x, u8 y, s32 speed) +{ + u8 textColor[3]; + u8 letterSpacing = 0; + u8 lineSpacing = 1; + textColor[0] = 1; + textColor[1] = 2; + textColor[2] = 3; + + FillWindowPixelBuffer(windowId, (textColor[0]) | (textColor[0] << 4)); + AddTextPrinterParameterized2(windowId, 1, x, y, letterSpacing, lineSpacing, textColor, speed, text); +} diff --git a/src/mystery_event_msg.c b/src/mystery_event_msg.c new file mode 100644 index 0000000000..74261179b3 --- /dev/null +++ b/src/mystery_event_msg.c @@ -0,0 +1,13 @@ +#include "global.h" + +const u8 gText_MysteryGiftBerry[] = _("Obtained a {STR_VAR_2} BERRY!\nDad has it at PETALBURG GYM."); +const u8 gText_MysteryGiftBerryTransform[] = _("The {STR_VAR_1} BERRY transformed into\none {STR_VAR_2} BERRY."); +const u8 gText_MysteryGiftBerryObtained[] = _("The {STR_VAR_1} BERRY has already been\nobtained."); +const u8 gText_MysteryGiftSpecialRibbon[] = _("A special RIBBON was awarded to\nyour party POKéMON."); +const u8 gText_MysteryGiftNationalDex[] = _("The POKéDEX has been upgraded\nwith the NATIONAL MODE."); +const u8 gText_MysteryGiftRareWord[] = _("A rare word has been added."); +const u8 gText_MysteryGiftSentOver[] = _("{STR_VAR_1} was sent over!"); +const u8 gText_MysteryGiftFullParty[] = _("Your party is full.\n{STR_VAR_1} could not be sent over."); +const u8 gText_MysteryGiftNewTrainer[] = _("A new TRAINER has arrived in\nHOENN."); +const u8 gText_MysteryGiftNewAdversaryInBattleTower[] = _("A new adversary has arrived in the\nBATTLE TOWER."); +const u8 gText_MysteryGiftCantBeUsed[] = _("This data can’t be used in\nthis version."); diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c new file mode 100644 index 0000000000..8822cd05af --- /dev/null +++ b/src/mystery_event_script.c @@ -0,0 +1,396 @@ +#include "global.h" +#include "berry.h" +#include "battle_tower.h" +#include "easy_chat.h" +#include "event_data.h" +#include "mail.h" +#include "mystery_event_script.h" +#include "pokedex.h" +#include "pokemon.h" +#include "pokemon_size_record.h" +#include "script.h" +#include "constants/species.h" +#include "strings.h" +#include "string_util.h" +#include "text.h" +#include "util.h" +#include "mystery_event_msg.h" +#include "pokemon_storage_system.h" + +extern void sub_811EFC0(u8); +extern void ValidateEReaderTrainer(void); + +extern ScrCmdFunc gMysteryEventScriptCmdTable[]; +extern ScrCmdFunc gMysteryEventScriptCmdTableEnd[]; + +#define LANGUAGE_MASK 0x1 +#define VERSION_MASK 0x200 + +EWRAM_DATA static struct ScriptContext sMysteryEventScriptContext = {0}; + +static bool32 CheckCompatibility(u16 a1, u32 a2, u16 a3, u32 a4) +{ + if (!(a1 & LANGUAGE_MASK)) + return FALSE; + + if (!(a2 & LANGUAGE_MASK)) + return FALSE; + + if (!(a3 & 0x4)) + return FALSE; + + if (!(a4 & VERSION_MASK)) + return FALSE; + + return TRUE; +} + +static void SetIncompatible(void) +{ + StringExpandPlaceholders(gStringVar4, gText_MysteryGiftCantBeUsed); + SetMysteryEventScriptStatus(3); +} + +static void InitMysteryEventScript(struct ScriptContext *ctx, u8 *script) +{ + InitScriptContext(ctx, gMysteryEventScriptCmdTable, gMysteryEventScriptCmdTableEnd); + SetupBytecodeScript(ctx, script); + ctx->data[0] = (u32)script; + ctx->data[1] = 0; + ctx->data[2] = 0; + ctx->data[3] = 0; +} + +static bool32 RunMysteryEventScriptCommand(struct ScriptContext *ctx) +{ + if (RunScriptCommand(ctx) && ctx->data[3]) + return TRUE; + else + return FALSE; +} + +void sub_8153870(u8 *script) +{ + InitMysteryEventScript(&sMysteryEventScriptContext, script); +} + +bool32 sub_8153884(u32 *a0) +{ + bool32 ret = RunMysteryEventScriptCommand(&sMysteryEventScriptContext); + *a0 = sMysteryEventScriptContext.data[2]; + + return ret; +} + +u32 RunMysteryEventScript(u8 *script) +{ + struct ScriptContext *ctx = &sMysteryEventScriptContext; + InitMysteryEventScript(ctx, script); + while (RunMysteryEventScriptCommand(ctx)); + + return ctx->data[2]; +} + +void SetMysteryEventScriptStatus(u32 val) +{ + sMysteryEventScriptContext.data[2] = val; +} + +static int CalcRecordMixingGiftChecksum(void) +{ + unsigned int i; + int sum = 0; + u8 *data = (u8*)(&gSaveBlock1Ptr->recordMixingGift.data); + + for (i = 0; i < sizeof(gSaveBlock1Ptr->recordMixingGift.data); i++) + sum += data[i]; + + return sum; +} + +static bool32 IsRecordMixingGiftValid(void) +{ + struct RecordMixingGiftData *data = &gSaveBlock1Ptr->recordMixingGift.data; + int checksum = CalcRecordMixingGiftChecksum(); + + if (data->unk0 == 0 + || data->quantity == 0 + || data->itemId == 0 + || checksum == 0 + || checksum != gSaveBlock1Ptr->recordMixingGift.checksum) + return FALSE; + else + return TRUE; +} + +static void ClearRecordMixingGift(void) +{ + CpuFill16(0, &gSaveBlock1Ptr->recordMixingGift, sizeof(gSaveBlock1Ptr->recordMixingGift)); +} + +static void SetRecordMixingGift(u8 unk, u8 quantity, u16 itemId) +{ + if (!unk || !quantity || !itemId) + { + ClearRecordMixingGift(); + } + else + { + gSaveBlock1Ptr->recordMixingGift.data.unk0 = unk; + gSaveBlock1Ptr->recordMixingGift.data.quantity = quantity; + gSaveBlock1Ptr->recordMixingGift.data.itemId = itemId; + gSaveBlock1Ptr->recordMixingGift.checksum = CalcRecordMixingGiftChecksum(); + } +} + +u16 GetRecordMixingGift(void) +{ + struct RecordMixingGiftData *data = &gSaveBlock1Ptr->recordMixingGift.data; + + if (!IsRecordMixingGiftValid()) + { + ClearRecordMixingGift(); + return 0; + } + else + { + u16 itemId = data->itemId; + data->quantity--; + if (data->quantity == 0) + ClearRecordMixingGift(); + else + gSaveBlock1Ptr->recordMixingGift.checksum = CalcRecordMixingGiftChecksum(); + + return itemId; + } +} + +bool8 MEScrCmd_end(struct ScriptContext *ctx) +{ + StopScript(ctx); + return TRUE; +} + +bool8 MEScrCmd_checkcompat(struct ScriptContext *ctx) +{ + u16 v1; + u32 v2; + u16 v3; + u32 v4; + + ctx->data[1] = ScriptReadWord(ctx); + v1 = ScriptReadHalfword(ctx); + v2 = ScriptReadWord(ctx); + v3 = ScriptReadHalfword(ctx); + v4 = ScriptReadWord(ctx); + + if (CheckCompatibility(v1, v2, v3, v4) == TRUE) + ctx->data[3] = 1; + else + SetIncompatible(); + + return TRUE; +} + +bool8 MEScrCmd_nop(struct ScriptContext *ctx) +{ + return FALSE; +} + +bool8 MEScrCmd_setstatus(struct ScriptContext *ctx) +{ + u8 value = ScriptReadByte(ctx); + ctx->data[2] = value; + return FALSE; +} + +bool8 MEScrCmd_setmsg(struct ScriptContext *ctx) +{ + u8 value = ScriptReadByte(ctx); + u8 *str = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]); + if (value == 0xFF || value == ctx->data[2]) + StringExpandPlaceholders(gStringVar4, str); + return FALSE; +} + +bool8 MEScrCmd_runscript(struct ScriptContext *ctx) +{ + u8 *script = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]); + ScriptContext2_RunNewScript(script); + return FALSE; +} + +bool8 MEScrCmd_setenigmaberry(struct ScriptContext *ctx) +{ + u8 *str; + const u8 *message; + bool32 haveBerry = IsEnigmaBerryValid(); + u8 *berry = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]); + StringCopyN(gStringVar1, gSaveBlock1Ptr->enigmaBerry.berry.name, BERRY_NAME_COUNT); + SetEnigmaBerry(berry); + StringCopyN(gStringVar2, gSaveBlock1Ptr->enigmaBerry.berry.name, BERRY_NAME_COUNT); + + if (!haveBerry) + { + str = gStringVar4; + message = gText_MysteryGiftBerry; + } + else if (StringCompare(gStringVar1, gStringVar2)) + { + str = gStringVar4; + message = gText_MysteryGiftBerryTransform; + } + else + { + str = gStringVar4; + message = gText_MysteryGiftBerryObtained; + } + + StringExpandPlaceholders(str, message); + + ctx->data[2] = 2; + + if (IsEnigmaBerryValid() == TRUE) + VarSet(VAR_ENIGMA_BERRY_AVAILABLE, 1); + else + ctx->data[2] = 1; + + return FALSE; +} + +bool8 MEScrCmd_giveribbon(struct ScriptContext *ctx) +{ + u8 index = ScriptReadByte(ctx); + u8 ribbonId = ScriptReadByte(ctx); + GiveGiftRibbonToParty(index, ribbonId); + StringExpandPlaceholders(gStringVar4, gText_MysteryGiftSpecialRibbon); + ctx->data[2] = 2; + return FALSE; +} + +bool8 MEScrCmd_initramscript(struct ScriptContext *ctx) +{ + u8 mapGroup = ScriptReadByte(ctx); + u8 mapNum = ScriptReadByte(ctx); + u8 objectId = ScriptReadByte(ctx); + u8 *script = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]); + u8 *scriptEnd = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]); + InitRamScript(script, scriptEnd - script, mapGroup, mapNum, objectId); + return FALSE; +} + +bool8 MEScrCmd_givenationaldex(struct ScriptContext *ctx) +{ + EnableNationalPokedex(); + StringExpandPlaceholders(gStringVar4, gText_MysteryGiftNationalDex); + ctx->data[2] = 2; + return FALSE; +} + +bool8 MEScrCmd_addrareword(struct ScriptContext *ctx) +{ + sub_811EFC0(ScriptReadByte(ctx)); + StringExpandPlaceholders(gStringVar4, gText_MysteryGiftRareWord); + ctx->data[2] = 2; + return FALSE; +} + +bool8 MEScrCmd_setrecordmixinggift(struct ScriptContext *ctx) +{ + u8 unk = ScriptReadByte(ctx); + u8 quantity = ScriptReadByte(ctx); + u16 itemId = ScriptReadHalfword(ctx); + SetRecordMixingGift(unk, quantity, itemId); + return FALSE; +} + +bool8 MEScrCmd_givepokemon(struct ScriptContext *ctx) +{ + struct MailStruct mail; + struct Pokemon pokemon; + u16 species; + u16 heldItem; + u32 data = ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]; + void *pokemonPtr = (void *)data; + void *mailPtr = (void *)(data + sizeof(struct Pokemon)); + + pokemon = *(struct Pokemon *)pokemonPtr; + species = GetMonData(&pokemon, MON_DATA_SPECIES2); + + if (species == SPECIES_EGG) + StringCopyN(gStringVar1, gText_EggNickname, POKEMON_NAME_LENGTH + 1); + else + StringCopyN(gStringVar1, gText_Pokemon, POKEMON_NAME_LENGTH + 1); + + if (gPlayerPartyCount == PARTY_SIZE) + { + StringExpandPlaceholders(gStringVar4, gText_MysteryGiftFullParty); + ctx->data[2] = 3; + } + else + { + memcpy(&gPlayerParty[5], pokemonPtr, sizeof(struct Pokemon)); + memcpy(&mail, mailPtr, sizeof(struct MailStruct)); + + if (species != SPECIES_EGG) + { + u16 pokedexNum = SpeciesToNationalPokedexNum(species); + GetSetPokedexFlag(pokedexNum, FLAG_SET_SEEN); + GetSetPokedexFlag(pokedexNum, FLAG_SET_CAUGHT); + } + + heldItem = GetMonData(&gPlayerParty[5], MON_DATA_HELD_ITEM); + if (ItemIsMail(heldItem)) + GiveMailToMon2(&gPlayerParty[5], &mail); + CompactPartySlots(); + CalculatePlayerPartyCount(); + StringExpandPlaceholders(gStringVar4, gText_MysteryGiftSentOver); + ctx->data[2] = 2; + } + + return FALSE; +} + +bool8 MEScrCmd_addtrainer(struct ScriptContext *ctx) +{ + u32 data = ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]; + memcpy((void*)(gSaveBlock2Ptr) + 0xBEC, (void *)data, 0xBC); + ValidateEReaderTrainer(); + StringExpandPlaceholders(gStringVar4, gText_MysteryGiftNewTrainer); + ctx->data[2] = 2; + return FALSE; +} + +bool8 MEScrCmd_enableresetrtc(struct ScriptContext *ctx) +{ + EnableResetRTC(); + StringExpandPlaceholders(gStringVar4, gText_InGameClockUsable); + ctx->data[2] = 2; + return FALSE; +} + +bool8 MEScrCmd_checksum(struct ScriptContext *ctx) +{ + int checksum = ScriptReadWord(ctx); + u8 *data = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]); + u8 *dataEnd = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]); + if (checksum != CalcByteArraySum(data, dataEnd - data)) + { + ctx->data[3] = 0; + ctx->data[2] = 1; + } + return TRUE; +} + +bool8 MEScrCmd_crc(struct ScriptContext *ctx) +{ + int crc = ScriptReadWord(ctx); + u8 *data = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]); + u8 *dataEnd = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]); + if (crc != CalcCRC16(data, dataEnd - data)) + { + ctx->data[3] = 0; + ctx->data[2] = 1; + } + return TRUE; +} diff --git a/src/naming_screen.c b/src/naming_screen.c new file mode 100644 index 0000000000..47d8b8ad1d --- /dev/null +++ b/src/naming_screen.c @@ -0,0 +1,2175 @@ +#include "global.h" +#include "naming_screen.h" +#include "malloc.h" +#include "palette.h" +#include "task.h" +#include "sprite.h" +#include "string_util.h" +#include "window.h" +#include "bg.h" +#include "gpu_regs.h" +#include "pokemon.h" +#include "field_specials.h" +#include "field_player_avatar.h" +#include "field_map_obj.h" +#include "event_data.h" +#include "constants/vars.h" +#include "constants/songs.h" +#include "pokemon_storage_system.h" +#include "sound.h" +#include "trig.h" +#include "field_effect.h" +#include "pokemon_icon.h" +#include "data2.h" +#include "strings.h" +#include "menu.h" +#include "text_window.h" +#include "overworld.h" +#include "constants/map_objects.h" + +EWRAM_DATA static struct NamingScreenData *gNamingScreenData = NULL; +extern u16 gKeyRepeatStartDelay; + +// extern graphics +extern const u16 gNamingScreenMenu_Pal[]; +extern const u8 gNamingScreenMenu_Gfx[]; +extern const u8 gUnknown_08DD4544[]; +extern const u8 gUnknown_08DD4620[]; +extern const u8 gUnknown_08DD46E0[]; +extern const u8 gUnknown_08DD47A0[]; +extern const u8 gNamingScreenRWindow_Gfx[]; +extern const u8 gNamingScreenKeyboardButton_Gfx[]; +extern const u8 gNamingScreenROptions_Gfx[]; +extern const u8 gNamingScreenCursor_Gfx[]; +extern const u8 gNamingScreenRightPointingTriangleTiles[]; +extern const u8 gNamingScreenUnderscoreTiles[]; + +// extern text +extern const u8 gExpandedPlaceholder_Empty[]; +extern const u8 gText_PkmnTransferredSomeonesPC[]; +extern const u8 gText_PkmnTransferredLanettesPC[]; +extern const u8 gText_PkmnBoxSomeonesPCFull[]; +extern const u8 gText_PkmnBoxLanettesPCFull[]; +extern const u8 gText_MoveOkBack[]; +extern const u8 gText_YourName[]; +extern const u8 gText_BoxName[]; +extern const u8 gText_PkmnsNickname[]; +extern const u8 gText_TellHimTheWords[]; +extern const u8 gUnknown_0862B88D[]; +extern const u8 gUnknown_0862B8AE[]; +extern const u8 gUnknown_0862B8CF[]; +extern const u8 gUnknown_0862B8F0[]; +extern const u8 gUnknown_0862B911[]; +extern const u8 gUnknown_0862B932[]; +extern const u8 gUnknown_0862B953[]; +extern const u8 gUnknown_0862B974[]; +extern const u8 gUnknown_0862B995[]; +extern const u8 gUnknown_0862B9AE[]; +extern const u8 gUnknown_0862B9C7[]; +extern const u8 gUnknown_0862B9E0[]; + + +// start of .rodata +static const u8 gSpriteImage_858BBF8[] = INCBIN_U8("graphics/naming_screen/pc_icon/0.4bpp"); +static const u8 gSpriteImage_858BCB8[] = INCBIN_U8("graphics/naming_screen/pc_icon/1.4bpp"); +static const u16 gUnknown_0858BD78[] = INCBIN_U16("graphics/naming_screen/0.gbapal"); +static const u16 gUnknown_0858BD98[] = INCBIN_U16("graphics/naming_screen/1.gbapal"); + +static const u8 *const gUnknown_0858BDB8[] = +{ + gText_PkmnTransferredSomeonesPC, + gText_PkmnTransferredLanettesPC, + gText_PkmnBoxSomeonesPCFull, + gText_PkmnBoxLanettesPCFull +}; + +static const u8 gUnknown_0858BDC8[] = _("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!"); + +static const struct BgTemplate gUnknown_0858BE00[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .priority = 0 + }, + { + .bg = 1, + .charBaseIndex = 2, + .mapBaseIndex = 29, + .priority = 1 + }, + { + .bg = 2, + .charBaseIndex = 2, + .mapBaseIndex = 28, + .priority = 2 + }, + { + .bg = 3, + .charBaseIndex = 3, + .mapBaseIndex = 31, + .priority = 3 + } +}; + +static const struct WindowTemplate gUnknown_0858BE10[] = { + { 0x01, 0x03, 0x0A, 0x13, 0x08, 0x0A, 0x030 }, + { 0x02, 0x03, 0x0A, 0x13, 0x08, 0x0A, 0x0C8 }, + { 0x03, 0x08, 0x06, 0x11, 0x02, 0x0A, 0x030 }, + { 0x03, 0x08, 0x04, 0x11, 0x02, 0x0A, 0x052 }, + { 0x00, 0x00, 0x00, 0x1E, 0x02, 0x0B, 0x074 }, + DUMMY_WIN_TEMPLATE +}; + +static const u8 gUnknown_0858BE40[] = __("abcdef .ghijkl ,mnopqrs tuvwxyz ABCDEF .GHIJKL ,MNOPQRS TUVWXYZ 01234 56789 !?♂♀/- …“”‘’ "); + +static const u8 gUnknown_0858BEA0[] = { 8, 8, 6 }; +static const u8 gUnknown_0858BEA3[] = { 0, 12, 24, 56, 68, 80, 92, 123, 0, 12, 24, 56, 68, 80, 92, 123, 0, 22, 44, 66, 88, 110, 0, 0 }; + +// forward declarations +static const struct NamingScreenTemplate *const sNamingScreenTemplates[]; +static const struct SubspriteTable gUnknown_0858C050[]; +static const struct SubspriteTable gUnknown_0858C058[]; +static const struct SubspriteTable gUnknown_0858C070[]; +static const struct SubspriteTable gUnknown_0858C078[]; +static const struct SpriteTemplate gUnknown_0858C0C0; +static const struct SpriteTemplate gUnknown_0858C0D8; +static const struct SpriteTemplate gUnknown_0858C0F0; +static const struct SpriteTemplate gUnknown_0858C108; +static const struct SpriteTemplate gUnknown_0858C120; +static const struct SpriteTemplate gUnknown_0858C138; +static const struct SpriteTemplate sSpriteTemplate_InputArrow; +static const struct SpriteTemplate sSpriteTemplate_Underscore; +static const struct SpriteTemplate gUnknown_0858C180; +static const u8* const gUnknown_0858C198[][4]; +static const struct SpriteSheet gUnknown_0858C1C8[]; +static const struct SpritePalette gUnknown_0858C230[]; + +static void C2_NamingScreen(void); +static void NamingScreen_Init(void); +static void NamingScreen_InitBGs(void); +static void sub_80E3194(void); +static void sub_80E31B0(u8 taskId); +static bool8 MainState_BeginFadeIn(void); +static bool8 MainState_WaitFadeIn(void); +static bool8 MainState_HandleInput(void); +static bool8 MainState_MoveToOKButton(void); +static bool8 MainState_6(void); +static bool8 MainState_BeginFadeInOut(void); +static bool8 MainState_WaitFadeOutAndExit(void); +static void DisplaySentToPCMessage(void); +static bool8 sub_80E3604(void); +static bool8 MainState_StartPageSwap(void); +static bool8 MainState_WaitPageSwap(void); +static void StartPageSwapAnim(void); +static void Task_HandlePageSwapAnim(u8); +static bool8 IsPageSwapAnimNotInProgress(void); +static void sub_80E3948(u8, u8, u8); +static void Task_80E39BC(u8); +static u16 sub_80E3A74(u8); +static void sub_80E3AE8(u8); +static void sub_80E3B10(struct Task *, u8, u8); +static void sub_80E3CC8(void); +static void CursorInit(void); +static void SetCursorPos(s16, s16); +static void GetCursorPos(s16 *x, s16 *y); +static void MoveCursorToOKButton(void); +static void sub_80E3E3C(u8); +static void sub_80E3E94(u8); +static u8 IsCursorAnimFinished(void); +static u8 GetCurrentPageColumnCount(void); +static void CreatePageSwitcherSprites(void); +static void sub_80E4050(void); +static void sub_80E41B8(u8, struct Sprite *, struct Sprite *); +static void CreateBackOkSprites(void); +static void CreateUnderscoreSprites(void); +static void CreateInputTargetIcon(void); +static u8 HandleKeyboardEvent(void); +static u8 sub_80E45E0(void); +static u8 GetInputEvent(void); +static void SetInputState(u8); +static void sub_80E4964(void); +static u8 GetTextCaretPosition(void); +static void DeleteTextCharacter(void); +static bool8 sub_80E4B54(void); +static void AddTextCharacter(u8); +static void sub_80E4BE4(void); +static void choose_name_or_words_screen_load_bg_tile_patterns(void); +static void sub_80E4CB8(void); +static void choose_name_or_words_screen_apply_bg_pals(void); +static void sub_80E4CF8(u8, const void *); +static void nullsub_10(u8, u8); +static void sub_80E4D10(void); +static void sub_80E4DE4(u8, u8); +static void sub_80E4E5C(void); +static void sub_80E4EF0(void); +static void sub_80E4F58(void); +static void NamingScreen_TurnOffScreen(void); +static void NamingScreen_InitDisplayMode(void); +static void VBlankCB_NamingScreen(void); +static void sub_80E501C(void); +static bool8 sub_80E503C(u8); + +void DoNamingScreen(u8 templateNum, u8 *destBuffer, u16 monSpecies, u16 monGender, u32 monPersonality, MainCallback returnCallback) +{ + gNamingScreenData = Alloc(sizeof(struct NamingScreenData)); + if (!gNamingScreenData) + { + SetMainCallback2(returnCallback); + } + else + { + gNamingScreenData->templateNum = templateNum; + gNamingScreenData->monSpecies = monSpecies; + gNamingScreenData->monGender = monGender; + gNamingScreenData->monPersonality = monPersonality; + gNamingScreenData->destBuffer = destBuffer; + gNamingScreenData->returnCallback = returnCallback; + + if (templateNum == 0) + StartTimer1(); + + SetMainCallback2(C2_NamingScreen); + } +} + +static void C2_NamingScreen(void) +{ + switch (gMain.state) + { + case 0: + NamingScreen_TurnOffScreen(); + NamingScreen_Init(); + gMain.state++; + break; + case 1: + NamingScreen_InitBGs(); + gMain.state++; + break; + case 2: + ResetPaletteFade(); + gMain.state++; + break; + case 3: + ResetSpriteData(); + FreeAllSpritePalettes(); + gMain.state++; + break; + case 4: + ResetTasks(); + gMain.state++; + break; + case 5: + choose_name_or_words_screen_apply_bg_pals(); + gMain.state++; + break; + case 6: + choose_name_or_words_screen_load_bg_tile_patterns(); + gMain.state++; + break; + case 7: + sub_80E3CC8(); + UpdatePaletteFade(); + sub_80E501C(); + gMain.state++; + break; + default: + sub_80E4CB8(); + sub_80E3194(); + break; + } +} + +static void NamingScreen_Init(void) +{ + gNamingScreenData->state = 0; + gNamingScreenData->bg1vOffset = 0; + gNamingScreenData->bg2vOffset = 0; + gNamingScreenData->bg1Priority = BGCNT_PRIORITY(1); + gNamingScreenData->bg2Priority = BGCNT_PRIORITY(2); + gNamingScreenData->bgToReveal = 0; + gNamingScreenData->bgToHide = 1; + gNamingScreenData->template = sNamingScreenTemplates[gNamingScreenData->templateNum]; + gNamingScreenData->currentPage = gNamingScreenData->template->initialPage; + gNamingScreenData->inputCharBaseXPos = (240 - gNamingScreenData->template->maxChars * 8) / 2 + 6; + if (gNamingScreenData->templateNum == 4) + gNamingScreenData->inputCharBaseXPos += 11; + gNamingScreenData->keyRepeatStartDelayCopy = gKeyRepeatStartDelay; + memset(gNamingScreenData->textBuffer, 0xFF, sizeof(gNamingScreenData->textBuffer)); + if (gNamingScreenData->template->copyExistingString != 0) + StringCopy(gNamingScreenData->textBuffer, gNamingScreenData->destBuffer); + gKeyRepeatStartDelay = 16; +} + +static void sub_80E2FA4(void) +{ + u8 i; + for (i = 0; i < MAX_SPRITES; i++) + { + if (gSprites[i].inUse) + gSprites[i].invisible = FALSE; + } + sub_80E3E3C(0); +} + +static void NamingScreen_InitBGs(void) +{ + u8 i; + + DmaClearLarge16(3, (void *)VRAM, VRAM_SIZE, 0x1000); + DmaClear32(3, (void *)OAM, OAM_SIZE); + DmaClear16(3, (void *)PLTT, PLTT_SIZE); + + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_0858BE00, 4); + + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); + + sub_81971D0(); + sub_8197200(); + + for (i = 0; i < 5; i++) + gNamingScreenData->windows[i] = AddWindow(&gUnknown_0858BE10[i]); + + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0xC, 0x8)); + + SetBgTilemapBuffer(1, gNamingScreenData->tilemapBuffer1); + SetBgTilemapBuffer(2, gNamingScreenData->tilemapBuffer2); + SetBgTilemapBuffer(3, gNamingScreenData->tilemapBuffer3); + + FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 0x20, 0x20); + FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, 0x20, 0x20); + FillBgTilemapBufferRect_Palette0(3, 0, 0, 0, 0x20, 0x20); +} + +static void sub_80E3194(void) +{ + CreateTask(sub_80E31B0, 2); + SetMainCallback2(sub_80E4F58); +} + +static void sub_80E31B0(u8 taskId) +{ + switch (gNamingScreenData->state) + { + case 0: + MainState_BeginFadeIn(); + sub_80E2FA4(); + NamingScreen_InitDisplayMode(); + break; + case 1: + MainState_WaitFadeIn(); + break; + case 2: + MainState_HandleInput(); + break; + case 3: + MainState_MoveToOKButton(); + MainState_HandleInput(); + break; + case 4: + MainState_StartPageSwap(); + break; + case 5: + MainState_WaitPageSwap(); + break; + case 6: + MainState_6(); + break; + case 7: + sub_80E3604(); + break; + case 8: + MainState_BeginFadeInOut(); + break; + case 9: + MainState_WaitFadeOutAndExit(); + break; + } +} + +static const u8 gUnknown_0858BEBB[] = { 0, 2, 1 }; +static const u8 gUnknown_0858BEBE[] = { 1, 0, 2 }; +static const u8 gUnknown_0858BEC1[] = { 2, 1, 0 }; + +static u8 sub_80E3244(u8 a1) +{ + return gUnknown_0858BEBB[a1]; +} + +static u8 sub_80E3254(void) +{ + return gUnknown_0858BEBE[gNamingScreenData->currentPage]; +} + +static u8 sub_80E3274(void) +{ + return gUnknown_0858BEC1[gNamingScreenData->currentPage]; +} + +static bool8 MainState_BeginFadeIn(void) +{ + sub_80E4CF8(3, gUnknown_08DD4544); + gNamingScreenData->currentPage = 1; + sub_80E4CF8(2, gUnknown_08DD46E0); + sub_80E4CF8(1, gUnknown_08DD4620); + sub_80E4DE4(gNamingScreenData->windows[1], 0); + sub_80E4DE4(gNamingScreenData->windows[0], 1); + nullsub_10(2, 0); + nullsub_10(1, 1); + sub_80E4D10(); + sub_80E4964(); + sub_80E4EF0(); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + CopyBgTilemapBufferToVram(3); + BlendPalettes(-1, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + gNamingScreenData->state++; + return FALSE; +} + +static bool8 MainState_WaitFadeIn(void) +{ + if (!gPaletteFade.active) + { + SetInputState(INPUT_STATE_ENABLED); + sub_80E3E94(1); + gNamingScreenData->state++; + } + return FALSE; +} + +static bool8 MainState_HandleInput(void) +{ + return HandleKeyboardEvent(); +} + +static bool8 MainState_MoveToOKButton(void) +{ + if (IsCursorAnimFinished()) + { + SetInputState(INPUT_STATE_ENABLED); + MoveCursorToOKButton(); + gNamingScreenData->state = MAIN_STATE_HANDLE_INPUT; + } + return FALSE; +} + +static bool8 MainState_6(void) +{ + sub_80E4BE4(); + SetInputState(INPUT_STATE_DISABLED); + sub_80E3E94(0); + sub_80E3948(3, 0, 1); + if (gNamingScreenData->templateNum == NAMING_SCREEN_CAUGHT_MON && + CalculatePlayerPartyCount() >= 6) + { + DisplaySentToPCMessage(); + gNamingScreenData->state = MAIN_STATE_UPDATE_SENT_TO_PC_MESSAGE; + return FALSE; + } + else + { + gNamingScreenData->state = MAIN_STATE_BEGIN_FADE_OUT; + return TRUE; //Exit the naming screen + } +} + +static bool8 MainState_BeginFadeInOut(void) +{ + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + gNamingScreenData->state++; + return FALSE; +} + +static bool8 MainState_WaitFadeOutAndExit(void) +{ + if (!gPaletteFade.active) + { + if (gNamingScreenData->templateNum == NAMING_SCREEN_PLAYER) + SeedRngAndSetTrainerId(); + SetMainCallback2(gNamingScreenData->returnCallback); + DestroyTask(FindTaskIdByFunc(sub_80E31B0)); + FreeAllWindowBuffers(); + FREE_AND_SET_NULL(gNamingScreenData); + } + return FALSE; +} + +static void DisplaySentToPCMessage(void) +{ + u8 stringToDisplay = 0; + + if (!sub_813B260()) + { + StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_STORAGE_UNKNOWN))); + StringCopy(gStringVar2, gNamingScreenData->destBuffer); + } + else + { + StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_STORAGE_UNKNOWN))); + StringCopy(gStringVar2, gNamingScreenData->destBuffer); + StringCopy(gStringVar3, GetBoxNamePtr(get_unknown_box_id())); + stringToDisplay = 2; + } + + if (FlagGet(FLAG_SYS_PC_LANETTE)) + stringToDisplay++; + + StringExpandPlaceholders(gStringVar4, gUnknown_0858BDB8[stringToDisplay]); + NewMenuHelpers_DrawDialogueFrame(0, 0); + gTextFlags.flag_0 = TRUE; + AddTextPrinterParameterized(0, 1, gStringVar4, GetPlayerTextSpeed(), 0, 2, 1, 3); + CopyWindowToVram(0, 3); +} + +static bool8 sub_80E3604(void) +{ + RunTextPrinters(); + + if (!IsTextPrinterActive(0) && (gMain.newKeys & A_BUTTON)) + gNamingScreenData->state = MAIN_STATE_BEGIN_FADE_OUT; + + return FALSE; +} + +static bool8 MainState_StartPageSwap(void) +{ + SetInputState(INPUT_STATE_DISABLED); + sub_80E4050(); + StartPageSwapAnim(); + sub_80E3E3C(1); + sub_80E3948(0, 0, 1); + PlaySE(SE_WIN_OPEN); + gNamingScreenData->state = MAIN_STATE_WAIT_PAGE_SWAP; + return FALSE; +} + +static bool8 MainState_WaitPageSwap(void) +{ + s16 cursorX; + s16 cursorY; + bool32 var3; + + if (IsPageSwapAnimNotInProgress()) + { + + GetCursorPos(&cursorX, &cursorY); + var3 = (cursorX == GetCurrentPageColumnCount()); + + gNamingScreenData->state = MAIN_STATE_HANDLE_INPUT; + gNamingScreenData->currentPage++; + gNamingScreenData->currentPage %= 3; + + if (var3) + { + cursorX = GetCurrentPageColumnCount(); + } + else + { + if (cursorX >= GetCurrentPageColumnCount()) + cursorX = GetCurrentPageColumnCount() - 1; + } + + SetCursorPos(cursorX, cursorY); + sub_80E4E5C(); + SetInputState(INPUT_STATE_ENABLED); + sub_80E3E3C(0); + } + return FALSE; +} + +//-------------------------------------------------- +// Page Swap +//-------------------------------------------------- + +#define tState data[0] +#define tFrameCount data[1] + +static bool8 PageSwapAnimState_Init(struct Task *); +static bool8 PageSwapAnimState_1(struct Task *); +static bool8 PageSwapAnimState_2(struct Task *); +static bool8 PageSwapAnimState_Done(struct Task *); + +static bool8 (*const sPageSwapAnimStateFuncs[])(struct Task *) = +{ + PageSwapAnimState_Init, + PageSwapAnimState_1, + PageSwapAnimState_2, + PageSwapAnimState_Done, +}; + +static void StartPageSwapAnim(void) +{ + u8 taskId; + + taskId = CreateTask(Task_HandlePageSwapAnim, 0); + Task_HandlePageSwapAnim(taskId); +} + +static void Task_HandlePageSwapAnim(u8 taskId) +{ + while (sPageSwapAnimStateFuncs[gTasks[taskId].tState](&gTasks[taskId]) != 0); +} + +static bool8 IsPageSwapAnimNotInProgress(void) +{ + if (FindTaskIdByFunc(Task_HandlePageSwapAnim) == 0xFF) + return TRUE; + else + return FALSE; +} + +static bool8 PageSwapAnimState_Init(struct Task *task) +{ + gNamingScreenData->bg1vOffset = 0; + gNamingScreenData->bg2vOffset = 0; + task->tState++; + return 0; +} + +static bool8 PageSwapAnimState_1(struct Task *task) +{ + u16 *const arr[] = + { + &gNamingScreenData->bg2vOffset, + &gNamingScreenData->bg1vOffset + }; + + task->tFrameCount += 4; + *arr[gNamingScreenData->bgToReveal] = Sin(task->tFrameCount, 40); + *arr[gNamingScreenData->bgToHide] = Sin((task->tFrameCount + 128) & 0xFF, 40); + if (task->tFrameCount >= 64) + { + u8 temp = gNamingScreenData->bg1Priority; //Why u8 and not u16? + + gNamingScreenData->bg1Priority = gNamingScreenData->bg2Priority; + gNamingScreenData->bg2Priority = temp; + task->tState++; + } + return 0; +} + +static bool8 PageSwapAnimState_2(struct Task *task) +{ + u16 *const arr[] = + { + &gNamingScreenData->bg2vOffset, + &gNamingScreenData->bg1vOffset + }; + + task->tFrameCount += 4; + *arr[gNamingScreenData->bgToReveal] = Sin(task->tFrameCount, 40); + *arr[gNamingScreenData->bgToHide] = Sin((task->tFrameCount + 128) & 0xFF, 40); + if (task->tFrameCount >= 128) + { + u8 temp = gNamingScreenData->bgToReveal; + + gNamingScreenData->bgToReveal = gNamingScreenData->bgToHide; + gNamingScreenData->bgToHide = temp; + task->tState++; + } + return 0; +} + +static bool8 PageSwapAnimState_Done(struct Task *task) +{ + DestroyTask(FindTaskIdByFunc(Task_HandlePageSwapAnim)); + return 0; +} + +#undef tState +#undef tFrameCount + +//-------------------------------------------------- +// +//-------------------------------------------------- + +static void sub_80E3920(void) +{ + u8 taskId; + + taskId = CreateTask(Task_80E39BC, 3); + gTasks[taskId].data[0] = 3; +} + +static void sub_80E3948(u8 a, u8 b, u8 c) +{ + struct Task *task = &gTasks[FindTaskIdByFunc(Task_80E39BC)]; + + if (a == task->data[0] && c == 0) + { + task->data[1] = b; + task->data[2] = 1; + return; + } + if (a == 3 && task->data[1] == 0 && c == 0) + return; + if (task->data[0] != 3) + sub_80E3AE8(task->data[0]); + sub_80E3B10(task, a, b); +} + +static void Task_80E39BC(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + if (task->data[0] == 3 || task->data[2] == 0) + return; + MultiplyInvertedPaletteRGBComponents(sub_80E3A74(task->data[0]), task->data[3], task->data[3], task->data[3]); + if (task->data[5] != 0) + { + task->data[5]--; + if (task->data[5] != 0) + return; + } + task->data[5] = 2; + if (task->data[4] >= 0) + { + if (task->data[3] < 14) + { + task->data[3] += task->data[4]; + task->data[6] += task->data[4]; + } + else + { + task->data[3] = 16; + task->data[6]++; + } + } + else + { + task->data[3] += task->data[4]; + task->data[6] += task->data[4]; + } + + if (task->data[3] == 16 && task->data[6] == 22) + { + task->data[4] = -4; + } + else if (task->data[3] == 0) + { + task->data[2] = task->data[1]; + task->data[4] = 2; + task->data[6] = 0; + } +} + +static u16 sub_80E3A74(u8 a) +{ + const u16 arr[] = + { + IndexOfSpritePaletteTag(4) * 16 + 0x10E, + IndexOfSpritePaletteTag(6) * 16 + 0x10E, + IndexOfSpritePaletteTag(7) * 16 + 0x10E, + IndexOfSpritePaletteTag(7) * 16 + 0x101, + }; + + return arr[a]; +} + +static void sub_80E3AE8(u8 a) +{ + u16 index = sub_80E3A74(a); + + gPlttBufferFaded[index] = gPlttBufferUnfaded[index]; +} + +static void sub_80E3B10(struct Task *task, u8 b, u8 c) +{ + task->data[0] = b; + task->data[1] = c; + task->data[2] = 1; + task->data[3] = 4; + task->data[4] = 2; + task->data[5] = 0; + task->data[6] = 4; +} + +static void sub_80E3B30(struct Sprite *sprite) +{ + if (sprite->animEnded) + StartSpriteAnim(sprite, 0); + sprite->invisible = (sprite->data[4] & 0xFF); + if (sprite->data[0] == GetCurrentPageColumnCount()) + sprite->invisible = TRUE; + if (sprite->invisible || (sprite->data[4] & 0xFF00) == 0 + || sprite->data[0] != sprite->data[2] || sprite->data[1] != sprite->data[3]) + { + sprite->data[5] = 0; + sprite->data[6] = 2; + sprite->data[7] = 2; + } + sprite->data[7]--; + if (sprite->data[7] == 0) + { + sprite->data[5] += sprite->data[6]; + if (sprite->data[5] == 16 || sprite->data[5] == 0) + sprite->data[6] = -sprite->data[6]; + sprite->data[7] = 2; + } + if ((sprite->data[4] & 0xFF00) != 0) + { + s8 gb = sprite->data[5]; + s8 r = sprite->data[5] >> 1; + u16 index = IndexOfSpritePaletteTag(5) * 16 + 0x0101; + + MultiplyInvertedPaletteRGBComponents(index, r, gb, gb); + } +} + +static void sub_80E3C20(struct Sprite *sprite) +{ + const s16 arr[] = {0, -4, -2, -1}; + + if (sprite->data[0] == 0 || --sprite->data[0] == 0) + { + sprite->data[0] = 8; + sprite->data[1] = (sprite->data[1] + 1) & 3; + } + sprite->pos2.x = arr[sprite->data[1]]; +} + +static void sub_80E3C6C(struct Sprite *sprite) +{ + const s16 arr[] = {2, 3, 2, 1}; + u8 var; + + var = GetTextCaretPosition(); + if (var != (u8)sprite->data[0]) + { + sprite->pos2.y = 0; + sprite->data[1] = 0; + sprite->data[2] = 0; + } + else + { + sprite->pos2.y = arr[sprite->data[1]]; + sprite->data[2]++; + if (sprite->data[2] > 8) + { + sprite->data[1] = (sprite->data[1] + 1) & 3; + sprite->data[2] = 0; + } + } +} + +//-------------------------------------------------- +// Cursor +//-------------------------------------------------- + +static void sub_80E3CC8(void) +{ + CursorInit(); + CreatePageSwitcherSprites(); + CreateBackOkSprites(); + CreateUnderscoreSprites(); + CreateInputTargetIcon(); +} + +static void CursorInit(void) +{ + gNamingScreenData->cursorSpriteId = CreateSprite(&gUnknown_0858C138, 38, 88, 1); + sub_80E3E3C(1); + gSprites[gNamingScreenData->cursorSpriteId].oam.priority = 1; + gSprites[gNamingScreenData->cursorSpriteId].oam.objMode = 1; + gSprites[gNamingScreenData->cursorSpriteId].data[6] = 1; + gSprites[gNamingScreenData->cursorSpriteId].data[6] = 2; + SetCursorPos(0, 0); +} + +static void SetCursorPos(s16 x, s16 y) +{ + struct Sprite *cursorSprite = &gSprites[gNamingScreenData->cursorSpriteId]; + + if (x < gUnknown_0858BEA0[sub_80E3274()]) + cursorSprite->pos1.x = gUnknown_0858BEA3[x + sub_80E3274() * 8] + 38; + else + cursorSprite->pos1.x = 0; + + cursorSprite->pos1.y = y * 16 + 88; + cursorSprite->data[2] = cursorSprite->data[0]; + cursorSprite->data[3] = cursorSprite->data[1]; + cursorSprite->data[0] = x; + cursorSprite->data[1] = y; +} + +static void GetCursorPos(s16 *x, s16 *y) +{ + struct Sprite *cursorSprite = &gSprites[gNamingScreenData->cursorSpriteId]; + + *x = cursorSprite->data[0]; + *y = cursorSprite->data[1]; +} + +static void MoveCursorToOKButton(void) +{ + SetCursorPos(GetCurrentPageColumnCount(), 2); +} + +static void sub_80E3E3C(u8 a) +{ + gSprites[gNamingScreenData->cursorSpriteId].data[4] &= -256; + gSprites[gNamingScreenData->cursorSpriteId].data[4] |= a; + StartSpriteAnim(&gSprites[gNamingScreenData->cursorSpriteId], 0); +} + +static void sub_80E3E94(u8 a) +{ + gSprites[gNamingScreenData->cursorSpriteId].data[4] &= 0xFF; + gSprites[gNamingScreenData->cursorSpriteId].data[4] |= a << 8; +} + +static void sub_80E3ED8(void) +{ + StartSpriteAnim(&gSprites[gNamingScreenData->cursorSpriteId], 1); +} + +static bool8 IsCursorAnimFinished(void) +{ + return gSprites[gNamingScreenData->cursorSpriteId].animEnded; +} + +enum +{ + KEY_ROLE_CHAR, + KEY_ROLE_PAGE, + KEY_ROLE_BACKSPACE, + KEY_ROLE_OK, +}; + +static const u8 sKeyRoles[] = {KEY_ROLE_PAGE, KEY_ROLE_BACKSPACE, KEY_ROLE_OK}; + +static u8 GetKeyRoleAtCursorPos(void) +{ + s16 cursorX; + s16 cursorY; + + GetCursorPos(&cursorX, &cursorY); + if (cursorX < GetCurrentPageColumnCount()) + return KEY_ROLE_CHAR; + else + return sKeyRoles[cursorY]; +} + +static u8 GetCurrentPageColumnCount(void) +{ + return gUnknown_0858BEA0[sub_80E3274()]; +} + +static void CreatePageSwitcherSprites(void) +{ + u8 spriteId1; + u8 spriteId2; + u8 spriteId3; + + spriteId1 = CreateSprite(&gUnknown_0858C0C0, 0xCC, 0x58, 0); + gNamingScreenData->selectBtnFrameSpriteId = spriteId1; + SetSubspriteTables(&gSprites[spriteId1], gUnknown_0858C050); + gSprites[spriteId1].invisible = TRUE; + + spriteId2 = CreateSprite(&gUnknown_0858C0F0, 0xCC, 0x54, 1); + gSprites[spriteId1].data[6] = spriteId2; + SetSubspriteTables(&gSprites[spriteId2], gUnknown_0858C058); + gSprites[spriteId2].invisible = TRUE; + + spriteId3 = CreateSprite(&gUnknown_0858C0D8, 0xCC, 0x53, 2); + gSprites[spriteId3].oam.priority = 1; + gSprites[spriteId1].data[7] = spriteId3; + gSprites[spriteId3].invisible = TRUE; +} + +static void sub_80E4050(void) +{ + struct Sprite *sprite = &gSprites[gNamingScreenData->selectBtnFrameSpriteId]; + + sprite->data[0] = 2; + sprite->data[1] = gNamingScreenData->currentPage; +} + +static u8 sub_80E40AC(struct Sprite *); +static u8 sub_80E4100(struct Sprite *); +static u8 sub_80E4104(struct Sprite *); +static u8 sub_80E4178(struct Sprite *); + +static u8 (*const gUnknown_0858BEE8[])(struct Sprite *) = +{ + sub_80E40AC, + sub_80E4100, + sub_80E4104, + sub_80E4178, +}; + +static void sub_80E4084(struct Sprite *sprite) +{ + while (gUnknown_0858BEE8[sprite->data[0]](sprite) != 0); +} + +static u8 sub_80E40AC(struct Sprite *sprite) +{ + struct Sprite *sprite1 = &gSprites[sprite->data[6]]; + struct Sprite *sprite2 = &gSprites[sprite->data[7]]; + + sub_80E41B8(sub_80E3244(gNamingScreenData->currentPage), sprite1, sprite2); + sprite->data[0]++; + return 0; +} + +static u8 sub_80E4100(struct Sprite *sprite) +{ + return 0; +} + +static u8 sub_80E4104(struct Sprite *sprite) +{ + struct Sprite *r4 = &gSprites[sprite->data[6]]; + struct Sprite *r5 = &gSprites[sprite->data[7]]; + + r4->pos2.y++; + if (r4->pos2.y > 7) + { + sprite->data[0]++; + r4->pos2.y = -4; + r4->invisible = TRUE; + sub_80E41B8(sub_80E3244(((u8)sprite->data[1] + 1) % 3), r4, r5); + } + return 0; +} + +static u8 sub_80E4178(struct Sprite *sprite) +{ + struct Sprite *r2 = &gSprites[sprite->data[6]]; + + r2->invisible = FALSE; + r2->pos2.y++; + if (r2->pos2.y >= 0) + { + r2->pos2.y = 0; + sprite->data[0] = 1; + } + return 0; +} + +static const u16 gUnknown_0858BEF8[] = {1, 3, 2}; +static const u16 gUnknown_0858BEFE[] = {4, 6, 5}; + +static void sub_80E41B8(u8 a, struct Sprite *b, struct Sprite *c) +{ + c->oam.paletteNum = IndexOfSpritePaletteTag(gUnknown_0858BEF8[a]); + b->sheetTileStart = GetSpriteTileStartByTag(gUnknown_0858BEFE[a]); + b->subspriteTableNum = a; +} + +// + +static void CreateBackOkSprites(void) +{ + u8 spriteId; + + spriteId = CreateSprite(&gUnknown_0858C108, 0xCC, 0x74, 0); + SetSubspriteTables(&gSprites[spriteId], gUnknown_0858C070); + gSprites[spriteId].invisible = TRUE; + + spriteId = CreateSprite(&gUnknown_0858C120, 0xCC, 0x8C, 0); + SetSubspriteTables(&gSprites[spriteId], gUnknown_0858C070); + gSprites[spriteId].invisible = TRUE; +} + +static void CreateUnderscoreSprites(void) +{ + u8 spriteId; + s16 xPos; + u8 i; + + xPos = gNamingScreenData->inputCharBaseXPos - 5; + spriteId = CreateSprite(&sSpriteTemplate_InputArrow, xPos, 0x38, 0); + gSprites[spriteId].oam.priority = 3; + gSprites[spriteId].invisible = TRUE; + xPos = gNamingScreenData->inputCharBaseXPos; + for (i = 0; i < gNamingScreenData->template->maxChars; i++, xPos += 8) + { + spriteId = CreateSprite(&sSpriteTemplate_Underscore, xPos + 3, 0x3C, 0); + gSprites[spriteId].oam.priority = 3; + gSprites[spriteId].data[0] = i; + gSprites[spriteId].invisible = TRUE; + } +} + +//-------------------------------------------------- +// Icon creation (the thing you're naming or giving input to) +//-------------------------------------------------- + +static void TaskDummy2(void); +static void NamingScreen_CreatePlayerIcon(void); +static void NamingScreen_CreatePCIcon(void); +static void NamingScreen_CreateMonIcon(void); +static void NamingScreen_CreateWandaDadIcon(void); + +static void (*const sIconFunctions[])(void) = +{ + TaskDummy2, + NamingScreen_CreatePlayerIcon, + NamingScreen_CreatePCIcon, + NamingScreen_CreateMonIcon, + NamingScreen_CreateWandaDadIcon, +}; + +static void CreateInputTargetIcon(void) +{ + sIconFunctions[gNamingScreenData->template->iconFunction](); +} + +static void TaskDummy2(void) +{ + +} + +static void NamingScreen_CreatePlayerIcon(void) +{ + u8 rivalGfxId; + u8 spriteId; + + rivalGfxId = GetRivalAvatarGraphicsIdByStateIdAndGender(0, gNamingScreenData->monSpecies); + spriteId = AddPseudoFieldObject(rivalGfxId, SpriteCallbackDummy, 0x38, 0x25, 0); + gSprites[spriteId].oam.priority = 3; + StartSpriteAnim(&gSprites[spriteId], 4); +} + +static void NamingScreen_CreatePCIcon(void) +{ + u8 spriteId; + + spriteId = CreateSprite(&gUnknown_0858C180, 0x38, 0x29, 0); + SetSubspriteTables(&gSprites[spriteId], gUnknown_0858C078); + gSprites[spriteId].oam.priority = 3; +} + +static void NamingScreen_CreateMonIcon(void) +{ + u8 spriteId; + + sub_80D2F04(); + spriteId = CreateMonIcon(gNamingScreenData->monSpecies, SpriteCallbackDummy, 0x38, 0x28, 0, gNamingScreenData->monPersonality, 1); + gSprites[spriteId].oam.priority = 3; +} + +static void NamingScreen_CreateWandaDadIcon(void) +{ + u8 spriteId; + + spriteId = AddPseudoFieldObject(MAP_OBJ_GFX_MAN_1, SpriteCallbackDummy, 0x38, 0x25, 0); + gSprites[spriteId].oam.priority = 3; + StartSpriteAnim(&gSprites[spriteId], 4); +} + +//-------------------------------------------------- +// Keyboard handling +//-------------------------------------------------- + +static bool8 KeyboardKeyHandler_Character(u8); +static bool8 KeyboardKeyHandler_Page(u8); +static bool8 KeyboardKeyHandler_Backspace(u8); +static bool8 KeyboardKeyHandler_OK(u8); + +static bool8 (*const sKeyboardKeyHandlers[])(u8) = +{ + KeyboardKeyHandler_Character, + KeyboardKeyHandler_Page, + KeyboardKeyHandler_Backspace, + KeyboardKeyHandler_OK, +}; + +static bool8 HandleKeyboardEvent(void) +{ + u8 event = GetInputEvent(); + u8 keyRole = GetKeyRoleAtCursorPos(); + + if (event == KBEVENT_PRESSED_SELECT) + { + return sub_80E45E0(); + } + else if (event == KBEVENT_PRESSED_B) + { + DeleteTextCharacter(); + return FALSE; + } + else if (event == KBEVENT_PRESSED_START) + { + MoveCursorToOKButton(); + return FALSE; + } + else + { + return sKeyboardKeyHandlers[keyRole](event); + } +} + +static bool8 KeyboardKeyHandler_Character(u8 event) +{ + sub_80E3948(3, 0, 0); + if (event == KBEVENT_PRESSED_A) + { + bool8 var = sub_80E4B54(); + + sub_80E3ED8(); + if (var) + { + SetInputState(INPUT_STATE_2); + gNamingScreenData->state = MAIN_STATE_MOVE_TO_OK_BUTTON; + } + } + return FALSE; +} + +static bool8 KeyboardKeyHandler_Page(u8 event) +{ + sub_80E3948(0, 1, 0); + if (event == KBEVENT_PRESSED_A) + return sub_80E45E0(); + else + return FALSE; +} + +static bool8 KeyboardKeyHandler_Backspace(u8 event) +{ + sub_80E3948(1, 1, 0); + if (event == KBEVENT_PRESSED_A) + DeleteTextCharacter(); + return FALSE; +} + +static bool8 KeyboardKeyHandler_OK(u8 event) +{ + sub_80E3948(2, 1, 0); + if (event == KBEVENT_PRESSED_A) + { + PlaySE(SE_SELECT); + gNamingScreenData->state = MAIN_STATE_6; + return TRUE; + } + else + return FALSE; +} + +static bool8 sub_80E45E0(void) +{ + gNamingScreenData->state = MAIN_STATE_START_PAGE_SWAP; + return TRUE; +} + +//-------------------------------------------------- +// Input handling +//-------------------------------------------------- + +enum +{ + FNKEY_CASE, + FNKEY_BACK, + FNKEY_OK, +}; + +#define tState data[0] +#define tKeyboardEvent data[1] +#define tKbFunctionKey data[2] + + +static void InputState_Disabled(struct Task *); +static void InputState_Enabled(struct Task *); +static void InputState_2(struct Task *); + +static void (*const sInputStateFuncs[])(struct Task *) = +{ + InputState_Disabled, + InputState_Enabled, + InputState_2, +}; + +static void Task_HandleInput(u8); +static void HandleDpadMovement(struct Task *); + +static void InputInit(void) +{ + CreateTask(Task_HandleInput, 1); +} + +static u8 GetInputEvent(void) +{ + u8 taskId = FindTaskIdByFunc(Task_HandleInput); + + return gTasks[taskId].tKeyboardEvent; +} + +static void SetInputState(u8 state) +{ + u8 taskId = FindTaskIdByFunc(Task_HandleInput); + + gTasks[taskId].tState = state; +} + +static void Task_HandleInput(u8 taskId) +{ + sInputStateFuncs[gTasks[taskId].tState](&gTasks[taskId]); +} + +static void InputState_Disabled(struct Task *task) +{ + task->tKeyboardEvent = 0; +} + +static void InputState_Enabled(struct Task *task) +{ + task->tKeyboardEvent = 0; + + if (gMain.newKeys & A_BUTTON) + task->tKeyboardEvent = KBEVENT_PRESSED_A; + else if (gMain.newKeys & B_BUTTON) + task->tKeyboardEvent = KBEVENT_PRESSED_B; + else if (gMain.newKeys & SELECT_BUTTON) + task->tKeyboardEvent = KBEVENT_PRESSED_SELECT; + else if (gMain.newKeys & START_BUTTON) + task->tKeyboardEvent = KBEVENT_PRESSED_START; + else + HandleDpadMovement(task); +} + +static void InputState_2(struct Task *task) +{ + task->tKeyboardEvent = 0; +} + +static void HandleDpadMovement(struct Task *task) +{ + const s16 sDpadDeltaX[] = + { + 0, //none + 0, //up + 0, //down + -1, //left + 1 //right + }; + + const s16 sDpadDeltaY[] = + { + 0, //none + -1, //up + 1, //down + 0, //left + 0 //right + }; + + const s16 s4RowTo3RowTableY[] = {0, 1, 1, 2}; + const s16 gUnknown_0858BF50[] = {0, 0, 3}; + + s16 cursorX; + s16 cursorY; + u16 dpadDir; + s16 prevCursorX; + + GetCursorPos(&cursorX, &cursorY); + dpadDir = 0; + if (gMain.newAndRepeatedKeys & DPAD_UP) + dpadDir = 1; + if (gMain.newAndRepeatedKeys & DPAD_DOWN) + dpadDir = 2; + if (gMain.newAndRepeatedKeys & DPAD_LEFT) + dpadDir = 3; + if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + dpadDir = 4; + + //Get new cursor position + prevCursorX = cursorX; + cursorX += sDpadDeltaX[dpadDir]; + cursorY += sDpadDeltaY[dpadDir]; + + //Wrap cursor position in the X direction + if (cursorX < 0) + cursorX = GetCurrentPageColumnCount(); + if (cursorX > GetCurrentPageColumnCount()) + cursorX = 0; + + //Handle cursor movement in X direction + if (sDpadDeltaX[dpadDir] != 0) + { + if (cursorX == GetCurrentPageColumnCount()) + { + //We are now on the last column + task->tKbFunctionKey = cursorY; + cursorY = s4RowTo3RowTableY[cursorY]; + } + else if (prevCursorX == GetCurrentPageColumnCount()) + { + if (cursorY == 1) + cursorY = task->tKbFunctionKey; + else + cursorY = gUnknown_0858BF50[cursorY]; + } + } + + if (cursorX == GetCurrentPageColumnCount()) + { + //There are only 3 keys on the last column, unlike the others, + //so wrap Y accordingly + if (cursorY < 0) + cursorY = 2; + if (cursorY > 2) + cursorY = 0; + if (cursorY == 0) + task->tKbFunctionKey = FNKEY_BACK; + else if (cursorY == 2) + task->tKbFunctionKey = FNKEY_OK; + } + else + { + if (cursorY < 0) + cursorY = 3; + if (cursorY > 3) + cursorY = 0; + } + SetCursorPos(cursorX, cursorY); +} + +#undef tState +#undef tKeyboardEvent +#undef tKbFunctionKey + +static void sub_80E4894(void) +{ + FillWindowPixelBuffer(gNamingScreenData->windows[3], 0x11); + PrintTextOnWindow(gNamingScreenData->windows[3], 1, gNamingScreenData->template->title, 8, 1, 0, 0); + PutWindowTilemap(gNamingScreenData->windows[3]); +} + +static void sub_80E48E8(void) +{ + u8 buffer[0x20]; + + StringCopy(buffer, gSpeciesNames[gNamingScreenData->monSpecies]); + StringAppendN(buffer, gNamingScreenData->template->title, 15); + FillWindowPixelBuffer(gNamingScreenData->windows[3], 0x11); + PrintTextOnWindow(gNamingScreenData->windows[3], 1, buffer, 8, 1, 0, 0); + PutWindowTilemap(gNamingScreenData->windows[3]); +} + +static void (*const gUnknown_0858BF58[])(void) = +{ + sub_80E4894, + sub_80E4894, + sub_80E48E8, + sub_80E48E8, + sub_80E4894, +}; + +static void sub_80E4964(void) +{ + gUnknown_0858BF58[gNamingScreenData->templateNum](); +} + +static void TaskDummy3(void); +static void sub_80E49BC(void); + +static void (*const gUnknown_0858BF6C[])(void) = +{ + TaskDummy3, + sub_80E49BC, +}; + +static void sub_80E498C(void) +{ + gUnknown_0858BF6C[gNamingScreenData->template->addGenderIcon](); +} + +static void TaskDummy3(void) +{ + +} + +static const u8 sGenderColors[2][3] = +{ + {0, 9, 8}, + {0, 5, 4} +}; + +static void sub_80E49BC(void) +{ + u8 genderSymbol[2]; + bool8 isFemale = FALSE; + + StringCopy(genderSymbol, gText_MaleSymbol); + + if (gNamingScreenData->monGender != MON_GENDERLESS) + { + if (gNamingScreenData->monGender == MON_FEMALE) + { + StringCopy(genderSymbol, gText_FemaleSymbol); + isFemale = TRUE; + } + box_print(gNamingScreenData->windows[2], 1, 0x68, 1, sGenderColors[isFemale], -1, genderSymbol); + } +} + +static u8 GetCharAtKeyboardPos(s16 a, s16 b) +{ + return gUnknown_0858BE40[a + b * 8 + sub_80E3274() * 32]; +} + + +static u8 GetTextCaretPosition(void) +{ + u8 i; + + for (i = 0; i < gNamingScreenData->template->maxChars; i++) + { + if (gNamingScreenData->textBuffer[i] == EOS) + return i; + } + return gNamingScreenData->template->maxChars - 1; +} + +static u8 GetPreviousTextCaretPosition(void) +{ + s8 i; + + for (i = gNamingScreenData->template->maxChars - 1; i > 0; i--) + { + if (gNamingScreenData->textBuffer[i] != EOS) + return i; + } + return 0; +} + +static void DeleteTextCharacter(void) +{ + u8 index; + u8 var2; + + index = GetPreviousTextCaretPosition(); + gNamingScreenData->textBuffer[index] = 0; + sub_80E4D10(); + CopyBgTilemapBufferToVram(3); + gNamingScreenData->textBuffer[index] = EOS; + var2 = GetKeyRoleAtCursorPos(); + if (var2 == 0 || var2 == 2) + sub_80E3948(1, 0, 1); + PlaySE(SE_BOWA); +} + +static bool8 sub_80E4B54(void) +{ + s16 x; + s16 y; + + GetCursorPos(&x, &y); + AddTextCharacter(GetCharAtKeyboardPos(x, y)); + sub_80E4D10(); + CopyBgTilemapBufferToVram(3); + PlaySE(SE_SELECT); + + if (GetPreviousTextCaretPosition() != gNamingScreenData->template->maxChars - 1) + return FALSE; + else + return TRUE; +} + +static void AddTextCharacter(u8 ch) +{ + u8 index = GetTextCaretPosition(); + + gNamingScreenData->textBuffer[index] = ch; +} + +static void sub_80E4BE4(void) +{ + u8 i; + + for (i = 0; i < gNamingScreenData->template->maxChars; i++) + { + if (gNamingScreenData->textBuffer[i] != CHAR_SPACE && gNamingScreenData->textBuffer[i] != EOS) + { + StringCopyN(gNamingScreenData->destBuffer, gNamingScreenData->textBuffer, gNamingScreenData->template->maxChars + 1); + break; + } + } +} + +static void choose_name_or_words_screen_load_bg_tile_patterns(void) +{ + LZ77UnCompWram(gNamingScreenMenu_Gfx, gNamingScreenData->tileBuffer); + LoadBgTiles(1, gNamingScreenData->tileBuffer, 0x600, 0); + LoadBgTiles(2, gNamingScreenData->tileBuffer, 0x600, 0); + LoadBgTiles(3, gNamingScreenData->tileBuffer, 0x600, 0); + LoadSpriteSheets(gUnknown_0858C1C8); + LoadSpritePalettes(gUnknown_0858C230); +} + +static void sub_80E4CB8(void) +{ + InputInit(); + sub_80E3920(); +} + +static void choose_name_or_words_screen_apply_bg_pals(void) +{ + LoadPalette(gNamingScreenMenu_Pal, 0, 0xC0); + LoadPalette(gUnknown_0858BD78, 0xA0, sizeof(gUnknown_0858BD78)); + LoadPalette(stdpal_get(2), 0xB0, 0x20); +} + +static void sub_80E4CF8(u8 bg, const void *src) +{ + CopyToBgTilemapBuffer(bg, src, 0, 0); +} + +static void nullsub_10(u8 a1, u8 a2) +{ + +} + +static void sub_80E4D10(void) +{ + u8 i; + u8 temp[2]; + u16 unk2; + u8 maxChars = gNamingScreenData->template->maxChars; + u16 unk = gNamingScreenData->inputCharBaseXPos - 0x40; + + FillWindowPixelBuffer(gNamingScreenData->windows[2], 0x11); + + for (i = 0; i < maxChars; i++) + { + temp[0] = gNamingScreenData->textBuffer[i]; + temp[1] = gExpandedPlaceholder_Empty[0]; + unk2 = (sub_80E503C(temp[0]) == 1) ? 2 : 0; + + PrintTextOnWindow(gNamingScreenData->windows[2], 1, temp, i * 8 + unk + unk2, 1, 0xFF, NULL); + } + + sub_80E498C(); + CopyWindowToVram(gNamingScreenData->windows[2], 2); + PutWindowTilemap(gNamingScreenData->windows[2]); +} + +struct TextColorThing // needed because of alignment... it's so stupid +{ + u8 colors[3][4]; +}; + +static const struct TextColorThing sUnkColorStruct = +{ + { + {13, 1, 2}, + {14, 1, 2}, + {15, 1, 2} + } +}; + +static const u8 sFillValues[3] = +{ + 0xEE, 0xDD, 0xFF +}; + +static const u8 *const sUnkColors[3] = +{ + sUnkColorStruct.colors[1], + sUnkColorStruct.colors[0], + sUnkColorStruct.colors[2] +}; + +static void sub_80E4DE4(u8 window, u8 a1) +{ + u8 i; + + FillWindowPixelBuffer(window, sFillValues[a1]); + + for (i = 0; i < 4; i++) + { + box_print(window, 1, 0, i * 16 + 1, sUnkColors[a1], 0, gUnknown_0858C198[a1][i]); + } + + PutWindowTilemap(window); +} + +static const u8 *const gUnknown_0858BF98[] = +{ + gUnknown_08DD4620, + gUnknown_08DD46E0, + gUnknown_08DD47A0 +}; + +static void sub_80E4E5C(void) +{ + u8 unk1; + u8 unk2; + u8 unk3; + u8 bg1Priority = GetGpuReg(REG_OFFSET_BG1CNT) & 3; + u8 bg2Priority = GetGpuReg(REG_OFFSET_BG2CNT) & 3; + + if (bg1Priority > bg2Priority) + { + unk1 = 1; + unk2 = 1; + unk3 = gNamingScreenData->windows[0]; + } + else + { + unk1 = 2; + unk2 = 2; + unk3 = gNamingScreenData->windows[1]; + } + + sub_80E4CF8(unk1, gUnknown_0858BF98[gNamingScreenData->currentPage]); + sub_80E4DE4(unk3, sub_80E3254()); + nullsub_10(unk1, sub_80E3254()); + CopyBgTilemapBufferToVram(unk2); +} + +static void sub_80E4EF0(void) +{ + const u8 color[3] = { 15, 1, 2 }; + + FillWindowPixelBuffer(gNamingScreenData->windows[4], 0xFF); + box_print(gNamingScreenData->windows[4], 0, 2, 1, color, 0, gText_MoveOkBack); + PutWindowTilemap(gNamingScreenData->windows[4]); + CopyWindowToVram(gNamingScreenData->windows[4], 3); +} + +static void sub_80E4F58(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void NamingScreen_TurnOffScreen(void) +{ + SetVBlankCallback(NULL); + SetHBlankCallback(NULL); +} + +static void NamingScreen_InitDisplayMode(void) +{ + SetVBlankCallback(VBlankCB_NamingScreen); +} + +static void VBlankCB_NamingScreen(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + SetGpuReg(REG_OFFSET_BG1VOFS, gNamingScreenData->bg1vOffset); + SetGpuReg(REG_OFFSET_BG2VOFS, gNamingScreenData->bg2vOffset); + SetGpuReg(REG_OFFSET_BG1CNT, GetGpuReg(REG_OFFSET_BG1CNT) & 0xFFFC); + SetGpuRegBits(REG_OFFSET_BG1CNT, gNamingScreenData->bg1Priority); + SetGpuReg(REG_OFFSET_BG2CNT, GetGpuReg(REG_OFFSET_BG2CNT) & 0xFFFC); + SetGpuRegBits(REG_OFFSET_BG2CNT, gNamingScreenData->bg2Priority); +} + +static void sub_80E501C(void) +{ + ShowBg(0); + ShowBg(1); + ShowBg(2); + ShowBg(3); +} + +static bool8 sub_80E503C(u8 character) +{ + u8 i; + + for (i = 0; gUnknown_0858BDC8[i] != EOS; i++) + { + if (character == gUnknown_0858BDC8[i]) + return FALSE; + } + return FALSE; +} + +static void sub_80E5074(void) +{ + DoNamingScreen(0, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, sub_8086194); +} + +static void sub_80E509C(void) +{ + DoNamingScreen(1, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, sub_8086194); +} + +static void sub_80E50C4(void) +{ + DoNamingScreen(2, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, sub_8086194); +} + +static void sub_80E50EC(void) +{ + DoNamingScreen(3, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, sub_8086194); +} + +//-------------------------------------------------- +// Forward-declared variables +//-------------------------------------------------- + +static const struct NamingScreenTemplate playerNamingScreenTemplate = +{ + .copyExistingString = 0, + .maxChars = 7, + .iconFunction = 1, + .addGenderIcon = 0, + .initialPage = 1, + .unused = 35, + .title = gText_YourName, +}; + +static const struct NamingScreenTemplate pcBoxNamingTemplate = +{ + .copyExistingString = 0, + .maxChars = 8, + .iconFunction = 2, + .addGenderIcon = 0, + .initialPage = 1, + .unused = 19, + .title = gText_BoxName, +}; + +static const struct NamingScreenTemplate monNamingScreenTemplate = +{ + .copyExistingString = 0, + .maxChars = 10, + .iconFunction = 3, + .addGenderIcon = 1, + .initialPage = 1, + .unused = 35, + .title = gText_PkmnsNickname, +}; + +static const struct NamingScreenTemplate wandaWordsScreenTemplate = +{ + .copyExistingString = 1, + .maxChars = 15, + .iconFunction = 4, + .addGenderIcon = 0, + .initialPage = 1, + .unused = 11, + .title = gText_TellHimTheWords, +}; + +static const struct NamingScreenTemplate *const sNamingScreenTemplates[] = +{ + &playerNamingScreenTemplate, + &pcBoxNamingTemplate, + &monNamingScreenTemplate, + &monNamingScreenTemplate, + &wandaWordsScreenTemplate, +}; + +const struct OamData gOamData_858BFEC = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +const struct OamData gOamData_858BFF4 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +const struct OamData gOamData_858BFFC = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct Subsprite gUnknown_0858C004[] = +{ + {-20, -16, 1, 1, 0, 1}, + { 12, -16, 0, 0, 4, 1}, + {-20, -8, 1, 1, 5, 1}, + { 12, -8, 0, 0, 9, 1}, + {-20, 0, 1, 1, 10, 1}, + { 12, 0, 0, 0, 14, 1}, + {-20, 8, 1, 1, 15, 1}, + { 12, 8, 0, 0, 19, 1} +}; + +static const struct Subsprite gUnknown_0858C024[] = +{ + {-12, -4, 1, 0, 0, 1}, + { 4, -4, 0, 0, 2, 1} +}; + +static const struct Subsprite gUnknown_0858C02C[] = +{ + {-20, -12, 1, 1, 0, 1}, + { 12, -12, 0, 0, 4, 1}, + {-20, -4, 1, 1, 5, 1}, + { 12, -4, 0, 0, 9, 1}, + {-20, 4, 1, 1, 10, 1}, + { 12, 4, 0, 0, 14, 1} +}; + +static const struct Subsprite gUnknown_0858C044[] = +{ + {-8, -12, 1, 0, 0, 3}, + {-8, -4, 1, 0, 2, 3}, + {-8, 4, 1, 0, 4, 3} +}; + +static const struct SubspriteTable gUnknown_0858C050[] = +{ + {ARRAY_COUNT(gUnknown_0858C004), gUnknown_0858C004} +}; + +static const struct SubspriteTable gUnknown_0858C058[] = +{ + {ARRAY_COUNT(gUnknown_0858C024), gUnknown_0858C024}, + {ARRAY_COUNT(gUnknown_0858C024), gUnknown_0858C024}, + {ARRAY_COUNT(gUnknown_0858C024), gUnknown_0858C024} +}; + +static const struct SubspriteTable gUnknown_0858C070[] = +{ + {ARRAY_COUNT(gUnknown_0858C02C), gUnknown_0858C02C} +}; + +static const struct SubspriteTable gUnknown_0858C078[] = +{ + {ARRAY_COUNT(gUnknown_0858C044), gUnknown_0858C044} +}; + +static const struct SpriteFrameImage gUnknown_0858C080[] = +{ + {gSpriteImage_858BBF8, sizeof(gSpriteImage_858BBF8)}, + {gSpriteImage_858BCB8, sizeof(gSpriteImage_858BCB8)}, +}; + +static const union AnimCmd gSpriteAnim_858C090[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gSpriteAnim_858C098[] = +{ + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(8, 8), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_858C0A4[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const gSpriteAnimTable_858C0B0[] = +{ + gSpriteAnim_858C090 +}; + +static const union AnimCmd *const gSpriteAnimTable_858C0B4[] = +{ + gSpriteAnim_858C090, + gSpriteAnim_858C098 +}; + +static const union AnimCmd *const gSpriteAnimTable_858C0BC[] = +{ + gSpriteAnim_858C0A4 +}; + +static const struct SpriteTemplate gUnknown_0858C0C0 = +{ + .tileTag = 0x0002, + .paletteTag = 0x0004, + .oam = &gOamData_858BFEC, + .anims = gSpriteAnimTable_858C0B0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80E4084 +}; + +static const struct SpriteTemplate gUnknown_0858C0D8 = +{ + .tileTag = 0x0003, + .paletteTag = 0x0001, + .oam = &gOamData_858BFFC, + .anims = gSpriteAnimTable_858C0B0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_0858C0F0 = +{ + .tileTag = 0x0004, + .paletteTag = 0x0004, + .oam = &gOamData_858BFEC, + .anims = gSpriteAnimTable_858C0B0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_0858C108 = +{ + .tileTag = 0x0000, + .paletteTag = 0x0006, + .oam = &gOamData_858BFEC, + .anims = gSpriteAnimTable_858C0B0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_0858C120 = +{ + .tileTag = 0x0001, + .paletteTag = 0x0007, + .oam = &gOamData_858BFEC, + .anims = gSpriteAnimTable_858C0B0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_0858C138 = +{ + .tileTag = 0x0007, + .paletteTag = 0x0005, + .oam = &gOamData_858BFF4, + .anims = gSpriteAnimTable_858C0B4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80E3B30 +}; + +static const struct SpriteTemplate sSpriteTemplate_InputArrow = +{ + .tileTag = 0x000A, + .paletteTag = 0x0003, + .oam = &gOamData_858BFEC, + .anims = gSpriteAnimTable_858C0B0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80E3C20 +}; + +static const struct SpriteTemplate sSpriteTemplate_Underscore = +{ + .tileTag = 0x000B, + .paletteTag = 0x0003, + .oam = &gOamData_858BFEC, + .anims = gSpriteAnimTable_858C0B0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80E3C6C +}; + +static const struct SpriteTemplate gUnknown_0858C180 = +{ + .tileTag = 0xFFFF, + .paletteTag = 0x0000, + .oam = &gOamData_858BFEC, + .anims = gSpriteAnimTable_858C0BC, + .images = gUnknown_0858C080, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const u8* const gUnknown_0858C198[][4] = +{ + { + gUnknown_0862B88D, + gUnknown_0862B8AE, + gUnknown_0862B8CF, + gUnknown_0862B8F0 + }, + { + gUnknown_0862B911, + gUnknown_0862B932, + gUnknown_0862B953, + gUnknown_0862B974 + }, + { + gUnknown_0862B995, + gUnknown_0862B9AE, + gUnknown_0862B9C7, + gUnknown_0862B9E0 + }, +}; + +static const struct SpriteSheet gUnknown_0858C1C8[] = +{ + {gNamingScreenRWindow_Gfx + 0x280, 0x1E0, 0x0000}, + {gNamingScreenRWindow_Gfx + 0x460, 0x1E0, 0x0001}, + {gNamingScreenRWindow_Gfx, 0x280, 0x0002}, + {gNamingScreenKeyboardButton_Gfx + 0x20, 0x100, 0x0003}, + {gNamingScreenROptions_Gfx, 0x060, 0x0004}, + {gNamingScreenROptions_Gfx + 0xA0, 0x060, 0x0005}, + {gNamingScreenROptions_Gfx + 0x140, 0x060, 0x0006}, + {gNamingScreenCursor_Gfx, 0x080, 0x0007}, + {gNamingScreenCursor_Gfx + 0xA0, 0x080, 0x0008}, + {gNamingScreenCursor_Gfx + 0x140, 0x080, 0x0009}, + {gNamingScreenRightPointingTriangleTiles, 0x020, 0x000A}, + {gNamingScreenUnderscoreTiles, 0x020, 0x000B}, + {NULL} +}; + +static const struct SpritePalette gUnknown_0858C230[] = +{ + {gNamingScreenMenu_Pal, 0x0000}, + {gNamingScreenMenu_Pal + 0x10, 0x0001}, + {gNamingScreenMenu_Pal + 0x20, 0x0002}, + {gNamingScreenMenu_Pal + 0x30, 0x0003}, + {gNamingScreenMenu_Pal + 0x40, 0x0004}, + {gNamingScreenMenu_Pal + 0x50, 0x0005}, + {gNamingScreenMenu_Pal + 0x40, 0x0006}, + {gNamingScreenMenu_Pal + 0x40, 0x0007}, + {NULL} +}; diff --git a/src/new_game.c b/src/new_game.c index d0666dd712..89771e92be 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -1,6 +1,6 @@ #include "global.h" #include "new_game.h" -#include "rng.h" +#include "random.h" #include "pokemon.h" #include "roamer.h" #include "pokemon_size_record.h" @@ -33,7 +33,6 @@ extern void Overworld_SetWarpDestination(s8 mapBank, s8 mapNo, s8 warpNo, s8 xPo extern void warp_in(void); extern void sub_80BB358(void); extern void ResetBagScrollPositions(void); -extern void sub_813624C(void); // clears something pokeblock related extern void ResetPokedex(void); extern void sub_8084400(void); extern void ClearMailData(void); @@ -59,7 +58,7 @@ extern void ResetContestLinkResults(void); extern void ResetPokeJumpResults(void); extern void SetBerryPowder(u32* powder, u32 newValue); -extern u8 gUnknown_082715DE[]; +extern u8 EventScript_2715DE[]; void WriteUnalignedWord(u32 var, u8 *dataPtr) { @@ -148,7 +147,7 @@ void sub_808447C(void) ZeroPlayerPartyMons(); ZeroEnemyPartyMons(); ResetBagScrollPositions(); - sub_813624C(); + ResetPokeblockScrollPositions(); } void NewGameInitData(void) @@ -198,7 +197,7 @@ void NewGameInitData(void) ResetFanClub(); ResetLotteryCorner(); WarpToTruck(); - ScriptContext2_RunNewScript(gUnknown_082715DE); + ScriptContext2_RunNewScript(EventScript_2715DE); ResetMiniGamesResults(); copy_strings_to_sav1(); SetLilycoveLady(); diff --git a/src/option_menu.c b/src/option_menu.c new file mode 100644 index 0000000000..cbbe14b777 --- /dev/null +++ b/src/option_menu.c @@ -0,0 +1,662 @@ +#include "global.h" +#include "option_menu.h" +#include "main.h" +#include "menu.h" +#include "scanline_effect.h" +#include "palette.h" +#include "sprite.h" +#include "task.h" +#include "bg.h" +#include "gpu_regs.h" +#include "window.h" +#include "text.h" +#include "text_window.h" +#include "international_string_util.h" +#include "strings.h" + +extern void SetPokemonCryStereo(u32 val); + +// Task data +enum +{ + TD_MENUSELECTION, + TD_TEXTSPEED, + TD_BATTLESCENE, + TD_BATTLESTYLE, + TD_SOUND, + TD_BUTTONMODE, + TD_FRAMETYPE, +}; + +// Menu items +enum +{ + MENUITEM_TEXTSPEED, + MENUITEM_BATTLESCENE, + MENUITEM_BATTLESTYLE, + MENUITEM_SOUND, + MENUITEM_BUTTONMODE, + MENUITEM_FRAMETYPE, + MENUITEM_CANCEL, + MENUITEM_COUNT, +}; + +// Window Ids +enum +{ + WIN_TEXT_OPTION, + WIN_OPTIONS +}; + +// this file's functions +static void Task_OptionMenuFadeIn(u8 taskId); +static void Task_OptionMenuProcessInput(u8 taskId); +static void Task_OptionMenuSave(u8 taskId); +static void Task_OptionMenuFadeOut(u8 taskId); +static void HighlightOptionMenuItem(u8 selection); +static u8 TextSpeed_ProcessInput(u8 selection); +static void TextSpeed_DrawChoices(u8 selection); +static u8 BattleScene_ProcessInput(u8 selection); +static void BattleScene_DrawChoices(u8 selection); +static u8 BattleStyle_ProcessInput(u8 selection); +static void BattleStyle_DrawChoices(u8 selection); +static u8 Sound_ProcessInput(u8 selection); +static void Sound_DrawChoices(u8 selection); +static u8 FrameType_ProcessInput(u8 selection); +static void FrameType_DrawChoices(u8 selection); +static u8 ButtonMode_ProcessInput(u8 selection); +static void ButtonMode_DrawChoices(u8 selection); +static void DrawTextOption(void); +static void DrawOptionMenuTexts(void); +static void sub_80BB154(void); + +// EWRAM vars +EWRAM_DATA static bool8 sArrowPressed = FALSE; + +// const rom data +static const u16 sUnknown_0855C604[] = INCBIN_U16("graphics/misc/option_menu_text.gbapal"); +// note: this is only used in the Japanese release +static const u8 sEqualSignGfx[] = INCBIN_U8("graphics/misc/option_menu_equals_sign.4bpp"); + +static const u8 *const sOptionMenuItemsNames[MENUITEM_COUNT] = +{ + gText_TextSpeed, + gText_BattleScene, + gText_BattleStyle, + gText_Sound, + gText_ButtonMode, + gText_Frame, + gText_OptionMenuCancel, +}; + +static const struct WindowTemplate sOptionMenuWinTemplates[] = +{ + {1, 2, 1, 0x1A, 2, 1, 2}, + {0, 2, 5, 0x1A, 0xE, 1, 0x36}, + DUMMY_WIN_TEMPLATE +}; + +static const struct BgTemplate sOptionMenuBgTemplates[] = +{ + { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 0, + .charBaseIndex = 1, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + } +}; + +static const u16 sUnknown_0855C6A0[] = {0x7E51}; + +// code +static void MainCB2(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void VBlankCB(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void CB2_InitOptionMenu(void) +{ + switch (gMain.state) + { + default: + case 0: + SetVBlankCallback(NULL); + gMain.state++; + break; + case 1: + { + u8 *addr; + u32 size; + + addr = (u8 *)VRAM; + size = 0x18000; + while (1) + { + DmaFill16(3, 0, addr, 0x1000); + addr += 0x1000; + size -= 0x1000; + if (size <= 0x1000) + { + DmaFill16(3, 0, addr, size); + break; + } + } + DmaClear32(3, OAM, OAM_SIZE); + DmaClear16(3, PLTT, PLTT_SIZE); + SetGpuReg(REG_OFFSET_DISPCNT, 0); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, sOptionMenuBgTemplates, ARRAY_COUNT(sOptionMenuBgTemplates)); + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); + InitWindows(sOptionMenuWinTemplates); + DeactivateAllTextPrinters(); + SetGpuReg(REG_OFFSET_WIN0H, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0); + SetGpuReg(REG_OFFSET_WININ, 1); + SetGpuReg(REG_OFFSET_WINOUT, 35); + SetGpuReg(REG_OFFSET_BLDCNT, 193); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 4); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + ShowBg(0); + ShowBg(1); + gMain.state++; + } + break; + case 2: + ResetPaletteFade(); + ScanlineEffect_Stop(); + ResetTasks(); + ResetSpriteData(); + gMain.state++; + break; + case 3: + LoadBgTiles(1, GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->tiles, 0x120, 0x1A2); + gMain.state++; + break; + case 4: + LoadPalette(sUnknown_0855C6A0, 0, sizeof(sUnknown_0855C6A0)); + LoadPalette(GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->pal, 0x70, 0x20); + gMain.state++; + break; + case 5: + LoadPalette(sUnknown_0855C604, 0x10, sizeof(sUnknown_0855C604)); + gMain.state++; + break; + case 6: + PutWindowTilemap(0); + DrawTextOption(); + gMain.state++; + break; + case 7: + gMain.state++; + break; + case 8: + PutWindowTilemap(1); + DrawOptionMenuTexts(); + gMain.state++; + case 9: + sub_80BB154(); + gMain.state++; + break; + case 10: + { + u8 taskId = CreateTask(Task_OptionMenuFadeIn, 0); + + gTasks[taskId].data[TD_MENUSELECTION] = 0; + gTasks[taskId].data[TD_TEXTSPEED] = gSaveBlock2Ptr->optionsTextSpeed; + gTasks[taskId].data[TD_BATTLESCENE] = gSaveBlock2Ptr->optionsBattleSceneOff; + gTasks[taskId].data[TD_BATTLESTYLE] = gSaveBlock2Ptr->optionsBattleStyle; + gTasks[taskId].data[TD_SOUND] = gSaveBlock2Ptr->optionsSound; + gTasks[taskId].data[TD_BUTTONMODE] = gSaveBlock2Ptr->optionsButtonMode; + gTasks[taskId].data[TD_FRAMETYPE] = gSaveBlock2Ptr->optionsWindowFrameType; + + TextSpeed_DrawChoices(gTasks[taskId].data[TD_TEXTSPEED]); + BattleScene_DrawChoices(gTasks[taskId].data[TD_BATTLESCENE]); + BattleStyle_DrawChoices(gTasks[taskId].data[TD_BATTLESTYLE]); + Sound_DrawChoices(gTasks[taskId].data[TD_SOUND]); + ButtonMode_DrawChoices(gTasks[taskId].data[TD_BUTTONMODE]); + FrameType_DrawChoices(gTasks[taskId].data[TD_FRAMETYPE]); + HighlightOptionMenuItem(gTasks[taskId].data[TD_MENUSELECTION]); + + CopyWindowToVram(WIN_OPTIONS, 3); + gMain.state++; + break; + } + case 11: + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + SetVBlankCallback(VBlankCB); + SetMainCallback2(MainCB2); + return; + } +} + +static void Task_OptionMenuFadeIn(u8 taskId) +{ + if (!gPaletteFade.active) + gTasks[taskId].func = Task_OptionMenuProcessInput; +} + +static void Task_OptionMenuProcessInput(u8 taskId) +{ + if (gMain.newKeys & A_BUTTON) + { + if (gTasks[taskId].data[TD_MENUSELECTION] == MENUITEM_CANCEL) + gTasks[taskId].func = Task_OptionMenuSave; + } + else if (gMain.newKeys & B_BUTTON) + { + gTasks[taskId].func = Task_OptionMenuSave; + } + else if (gMain.newKeys & DPAD_UP) + { + if (gTasks[taskId].data[TD_MENUSELECTION] > 0) + gTasks[taskId].data[TD_MENUSELECTION]--; + else + gTasks[taskId].data[TD_MENUSELECTION] = 6; + HighlightOptionMenuItem(gTasks[taskId].data[TD_MENUSELECTION]); + } + else if (gMain.newKeys & DPAD_DOWN) + { + if (gTasks[taskId].data[TD_MENUSELECTION] <= 5) + gTasks[taskId].data[TD_MENUSELECTION]++; + else + gTasks[taskId].data[TD_MENUSELECTION] = 0; + HighlightOptionMenuItem(gTasks[taskId].data[TD_MENUSELECTION]); + } + else + { + u8 previousOption; + + switch (gTasks[taskId].data[TD_MENUSELECTION]) + { + case MENUITEM_TEXTSPEED: + previousOption = gTasks[taskId].data[TD_TEXTSPEED]; + gTasks[taskId].data[TD_TEXTSPEED] = TextSpeed_ProcessInput(gTasks[taskId].data[TD_TEXTSPEED]); + + if (previousOption != gTasks[taskId].data[TD_TEXTSPEED]) + TextSpeed_DrawChoices(gTasks[taskId].data[TD_TEXTSPEED]); + break; + case MENUITEM_BATTLESCENE: + previousOption = gTasks[taskId].data[TD_BATTLESCENE]; + gTasks[taskId].data[TD_BATTLESCENE] = BattleScene_ProcessInput(gTasks[taskId].data[TD_BATTLESCENE]); + + if (previousOption != gTasks[taskId].data[TD_BATTLESCENE]) + BattleScene_DrawChoices(gTasks[taskId].data[TD_BATTLESCENE]); + break; + case MENUITEM_BATTLESTYLE: + previousOption = gTasks[taskId].data[TD_BATTLESTYLE]; + gTasks[taskId].data[TD_BATTLESTYLE] = BattleStyle_ProcessInput(gTasks[taskId].data[TD_BATTLESTYLE]); + + if (previousOption != gTasks[taskId].data[TD_BATTLESTYLE]) + BattleStyle_DrawChoices(gTasks[taskId].data[TD_BATTLESTYLE]); + break; + case MENUITEM_SOUND: + previousOption = gTasks[taskId].data[TD_SOUND]; + gTasks[taskId].data[TD_SOUND] = Sound_ProcessInput(gTasks[taskId].data[TD_SOUND]); + + if (previousOption != gTasks[taskId].data[TD_SOUND]) + Sound_DrawChoices(gTasks[taskId].data[TD_SOUND]); + break; + case MENUITEM_BUTTONMODE: + previousOption = gTasks[taskId].data[TD_BUTTONMODE]; + gTasks[taskId].data[TD_BUTTONMODE] = ButtonMode_ProcessInput(gTasks[taskId].data[TD_BUTTONMODE]); + + if (previousOption != gTasks[taskId].data[TD_BUTTONMODE]) + ButtonMode_DrawChoices(gTasks[taskId].data[TD_BUTTONMODE]); + break; + case MENUITEM_FRAMETYPE: + previousOption = gTasks[taskId].data[TD_FRAMETYPE]; + gTasks[taskId].data[TD_FRAMETYPE] = FrameType_ProcessInput(gTasks[taskId].data[TD_FRAMETYPE]); + + if (previousOption != gTasks[taskId].data[TD_FRAMETYPE]) + FrameType_DrawChoices(gTasks[taskId].data[TD_FRAMETYPE]); + break; + default: + return; + } + + if (sArrowPressed) + { + sArrowPressed = FALSE; + CopyWindowToVram(WIN_OPTIONS, 2); + } + } +} + +static void Task_OptionMenuSave(u8 taskId) +{ + gSaveBlock2Ptr->optionsTextSpeed = gTasks[taskId].data[TD_TEXTSPEED]; + gSaveBlock2Ptr->optionsBattleSceneOff = gTasks[taskId].data[TD_BATTLESCENE]; + gSaveBlock2Ptr->optionsBattleStyle = gTasks[taskId].data[TD_BATTLESTYLE]; + gSaveBlock2Ptr->optionsSound = gTasks[taskId].data[TD_SOUND]; + gSaveBlock2Ptr->optionsButtonMode = gTasks[taskId].data[TD_BUTTONMODE]; + gSaveBlock2Ptr->optionsWindowFrameType = gTasks[taskId].data[TD_FRAMETYPE]; + + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + gTasks[taskId].func = Task_OptionMenuFadeOut; +} + +static void Task_OptionMenuFadeOut(u8 taskId) +{ + if (!gPaletteFade.active) + { + DestroyTask(taskId); + FreeAllWindowBuffers(); + SetMainCallback2(gMain.savedCallback); + } +} + +static void HighlightOptionMenuItem(u8 index) +{ + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(16, 224)); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(index * 16 + 40, index * 16 + 56)); +} + +static void DrawOptionMenuChoice(const u8 *text, u8 x, u8 y, u8 style) +{ + u8 dst[16]; + u16 i; + + for (i = 0; *text != EOS && i <= 14; i++) + dst[i] = *(text++); + + if (style != 0) + { + dst[2] = 4; + dst[5] = 5; + } + + dst[i] = EOS; + PrintTextOnWindow(WIN_OPTIONS, 1, dst, x, y + 1, TEXT_SPEED_FF, NULL); +} + +static u8 TextSpeed_ProcessInput(u8 selection) +{ + if (gMain.newKeys & DPAD_RIGHT) + { + if (selection <= 1) + selection++; + else + selection = 0; + + sArrowPressed = TRUE; + } + if (gMain.newKeys & DPAD_LEFT) + { + if (selection != 0) + selection--; + else + selection = 2; + + sArrowPressed = TRUE; + } + return selection; +} + +static void TextSpeed_DrawChoices(u8 selection) +{ + u8 styles[3]; + s32 widthSlow, widthMid, widthFast, xMid; + + styles[0] = 0; + styles[1] = 0; + styles[2] = 0; + styles[selection] = 1; + + DrawOptionMenuChoice(gText_TextSpeedSlow, 104, 0, styles[0]); + + widthSlow = GetStringWidth(1, gText_TextSpeedSlow, 0); + widthMid = GetStringWidth(1, gText_TextSpeedMid, 0); + widthFast = GetStringWidth(1, gText_TextSpeedFast, 0); + + widthMid -= 94; + xMid = (widthSlow - widthMid - widthFast) / 2 + 104; + DrawOptionMenuChoice(gText_TextSpeedMid, xMid, 0, styles[1]); + + DrawOptionMenuChoice(gText_TextSpeedFast, GetStringRightAlignXOffset(1, gText_TextSpeedFast, 198), 0, styles[2]); +} + +static u8 BattleScene_ProcessInput(u8 selection) +{ + if (gMain.newKeys & (DPAD_LEFT | DPAD_RIGHT)) + { + selection ^= 1; + sArrowPressed = TRUE; + } + + return selection; +} + +static void BattleScene_DrawChoices(u8 selection) +{ + u8 styles[2]; + + styles[0] = 0; + styles[1] = 0; + styles[selection] = 1; + + DrawOptionMenuChoice(gText_BattleSceneOn, 104, 16, styles[0]); + DrawOptionMenuChoice(gText_BattleSceneOff, GetStringRightAlignXOffset(1, gText_BattleSceneOff, 198), 16, styles[1]); +} + +static u8 BattleStyle_ProcessInput(u8 selection) +{ + if (gMain.newKeys & (DPAD_LEFT | DPAD_RIGHT)) + { + selection ^= 1; + sArrowPressed = TRUE; + } + + return selection; +} + +static void BattleStyle_DrawChoices(u8 selection) +{ + u8 styles[2]; + + styles[0] = 0; + styles[1] = 0; + styles[selection] = 1; + + DrawOptionMenuChoice(gText_BattleStyleShift, 104, 32, styles[0]); + DrawOptionMenuChoice(gText_BattleStyleSet, GetStringRightAlignXOffset(1, gText_BattleStyleSet, 198), 32, styles[1]); +} + +static u8 Sound_ProcessInput(u8 selection) +{ + if (gMain.newKeys & (DPAD_LEFT | DPAD_RIGHT)) + { + selection ^= 1; + SetPokemonCryStereo(selection); + sArrowPressed = TRUE; + } + + return selection; +} + +static void Sound_DrawChoices(u8 selection) +{ + u8 styles[2]; + + styles[0] = 0; + styles[1] = 0; + styles[selection] = 1; + + DrawOptionMenuChoice(gText_SoundMono, 104, 48, styles[0]); + DrawOptionMenuChoice(gText_SoundStereo, GetStringRightAlignXOffset(1, gText_SoundStereo, 198), 48, styles[1]); +} + +static u8 FrameType_ProcessInput(u8 selection) +{ + if (gMain.newKeys & DPAD_RIGHT) + { + if (selection < WINDOW_FRAMES_COUNT - 1) + selection++; + else + selection = 0; + + LoadBgTiles(1, GetWindowFrameTilesPal(selection)->tiles, 0x120, 0x1A2); + LoadPalette(GetWindowFrameTilesPal(selection)->pal, 0x70, 0x20); + sArrowPressed = TRUE; + } + if (gMain.newKeys & DPAD_LEFT) + { + if (selection != 0) + selection--; + else + selection = WINDOW_FRAMES_COUNT - 1; + + LoadBgTiles(1, GetWindowFrameTilesPal(selection)->tiles, 0x120, 0x1A2); + LoadPalette(GetWindowFrameTilesPal(selection)->pal, 0x70, 0x20); + sArrowPressed = TRUE; + } + return selection; +} + +static void FrameType_DrawChoices(u8 selection) +{ + u8 text[16]; + u8 n = selection + 1; + u16 i; + + for (i = 0; gText_FrameTypeNumber[i] != EOS && i <= 5; i++) + text[i] = gText_FrameTypeNumber[i]; + + // Convert a number to decimal string + if (n / 10 != 0) + { + text[i] = n / 10 + CHAR_0; + i++; + text[i] = n % 10 + CHAR_0; + i++; + } + else + { + text[i] = n % 10 + CHAR_0; + i++; + text[i] = 0x77; + i++; + } + + text[i] = EOS; + + DrawOptionMenuChoice(gText_FrameType, 104, 80, 0); + DrawOptionMenuChoice(text, 128, 80, 1); +} + +static u8 ButtonMode_ProcessInput(u8 selection) +{ + if (gMain.newKeys & DPAD_RIGHT) + { + if (selection <= 1) + selection++; + else + selection = 0; + + sArrowPressed = TRUE; + } + if (gMain.newKeys & DPAD_LEFT) + { + if (selection != 0) + selection--; + else + selection = 2; + + sArrowPressed = TRUE; + } + return selection; +} + +static void ButtonMode_DrawChoices(u8 selection) +{ + s32 widthNormal, widthLR, widthLA, xLR; + u8 styles[3]; + + styles[0] = 0; + styles[1] = 0; + styles[2] = 0; + styles[selection] = 1; + + DrawOptionMenuChoice(gText_ButtonTypeNormal, 104, 64, styles[0]); + + widthNormal = GetStringWidth(1, gText_ButtonTypeNormal, 0); + widthLR = GetStringWidth(1, gText_ButtonTypeLR, 0); + widthLA = GetStringWidth(1, gText_ButtonTypeLEqualsA, 0); + + widthLR -= 94; + xLR = (widthNormal - widthLR - widthLA) / 2 + 104; + DrawOptionMenuChoice(gText_ButtonTypeLR, xLR, 64, styles[1]); + + DrawOptionMenuChoice(gText_ButtonTypeLEqualsA, GetStringRightAlignXOffset(1, gText_ButtonTypeLEqualsA, 198), 64, styles[2]); +} + +static void DrawTextOption(void) +{ + FillWindowPixelBuffer(WIN_TEXT_OPTION, 0x11); + PrintTextOnWindow(WIN_TEXT_OPTION, 1, gText_Option, 8, 1, TEXT_SPEED_FF, NULL); + CopyWindowToVram(WIN_TEXT_OPTION, 3); +} + +static void DrawOptionMenuTexts(void) +{ + u8 i; + + FillWindowPixelBuffer(WIN_OPTIONS, 0x11); + for (i = 0; i < MENUITEM_COUNT; i++) + { + PrintTextOnWindow(WIN_OPTIONS, 1, sOptionMenuItemsNames[i], 8, (i * 16) + 1, TEXT_SPEED_FF, NULL); + } + CopyWindowToVram(WIN_OPTIONS, 3); +} + +static void sub_80BB154(void) +{ + // bg, tileNum, x, y, width, height, pal + FillBgTilemapBufferRect(1, 0x1A2, 1, 0, 1, 1, 7); + FillBgTilemapBufferRect(1, 0x1A3, 2, 0, 0x1B, 1, 7); + FillBgTilemapBufferRect(1, 0x1A4, 28, 0, 1, 1, 7); + FillBgTilemapBufferRect(1, 0x1A5, 1, 1, 1, 2, 7); + FillBgTilemapBufferRect(1, 0x1A7, 28, 1, 1, 2, 7); + FillBgTilemapBufferRect(1, 0x1A8, 1, 3, 1, 1, 7); + FillBgTilemapBufferRect(1, 0x1A9, 2, 3, 0x1B, 1, 7); + FillBgTilemapBufferRect(1, 0x1AA, 28, 3, 1, 1, 7); + FillBgTilemapBufferRect(1, 0x1A2, 1, 4, 1, 1, 7); + FillBgTilemapBufferRect(1, 0x1A3, 2, 4, 0x1A, 1, 7); + FillBgTilemapBufferRect(1, 0x1A4, 28, 4, 1, 1, 7); + FillBgTilemapBufferRect(1, 0x1A5, 1, 5, 1, 0x12, 7); + FillBgTilemapBufferRect(1, 0x1A7, 28, 5, 1, 0x12, 7); + FillBgTilemapBufferRect(1, 0x1A8, 1, 19, 1, 1, 7); + FillBgTilemapBufferRect(1, 0x1A9, 2, 19, 0x1A, 1, 7); + FillBgTilemapBufferRect(1, 0x1AA, 28, 19, 1, 1, 7); + + CopyBgTilemapBufferToVram(1); +} diff --git a/src/rom4.c b/src/overworld.c similarity index 100% rename from src/rom4.c rename to src/overworld.c diff --git a/src/palette.c b/src/palette.c index d4bb593da8..fd4ad32add 100644 --- a/src/palette.c +++ b/src/palette.c @@ -4,6 +4,7 @@ #include "decompress.h" #include "gpu_regs.h" #include "task.h" +#include "constants/rgb.h" enum { @@ -65,7 +66,8 @@ static const struct PaletteStructTemplate gDummyPaletteStructTemplate = { .uid = 0xFFFF, .pst_field_B_5 = 1 }; -static const u8 gUnknown_0852489C[] = { + +static const u8 sRoundedDownGrayscaleMap[] = { 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 11, 11, 11, 11, 11, @@ -620,7 +622,7 @@ static u8 UpdateFastPaletteFade(void) gPlttBufferFaded[i] = r | (g << 5) | (b << 10); } break; - case FAST_FADE_OUT_TO_WHTIE: + case FAST_FADE_OUT_TO_WHITE: for (i = paletteOffsetStart; i < paletteOffsetEnd; i++) { struct PlttData *data = (struct PlttData *)&gPlttBufferFaded[i]; @@ -701,7 +703,7 @@ static u8 UpdateFastPaletteFade(void) case FAST_FADE_IN_FROM_BLACK: CpuCopy32(gPlttBufferUnfaded, gPlttBufferFaded, PLTT_SIZE); break; - case FAST_FADE_OUT_TO_WHTIE: + case FAST_FADE_OUT_TO_WHITE: CpuFill32(0xFFFFFFFF, gPlttBufferFaded, PLTT_SIZE); break; case FAST_FADE_OUT_TO_BLACK: @@ -838,292 +840,94 @@ void BlendPalettesUnfaded(u32 selectedPalettes, u8 coeff, u16 color) void TintPalette_GrayScale(u16 *palette, u16 count) { - s32 r; - s32 g; - s32 b; - s32 gray; + s32 r, g, b, i; + u32 gray; - int i; for (i = 0; i < count; i++) { - r = *palette & 0x1F; - g = (*palette >> 5) & 0x1F; + r = (*palette >> 0) & 0x1F; + g = (*palette >> 5) & 0x1F; b = (*palette >> 10) & 0x1F; - - r *= 0x4C; - r += g * 0x97; - r += b * 0x1D; - - gray = r >> 8; - - *palette++ = gray << 10 | gray << 5 | gray; + + gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8; + + *palette++ = (gray << 10) | (gray << 5) | (gray << 0); } - return; } void TintPalette_GrayScale2(u16 *palette, u16 count) { - s32 r; - s32 g; - s32 b; - s32 gray; - - int i; - for (i = 0; i < count; i++) - { - r = *palette & 0x1F; - g = (*palette >> 5) & 0x1F; - b = (*palette >> 10) & 0x1F; - - r *= 0x4C; - r += g * 0x97; - r += b * 0x1D; - - gray = r >> 8; - - if ((u32)gray > 0x1F) - gray = 0x1F; - - gray = gUnknown_0852489C[gray]; - - *palette++ = gray << 10 | gray << 5 | gray; - } - return; -} - -#ifdef NONMATCHING -void TintPalette_SepiaTone(u16 *palette, u16 count) -{ - s32 r; - s32 g; - s32 b; + s32 r, g, b, i; u32 gray; - u32 sepia; - s8 r2; - s8 g2; - s8 b2; - - int i; + for (i = 0; i < count; i++) { - r = *palette & 0x1F; - g = (*palette >> 5) & 0x1F; + r = (*palette >> 0) & 0x1F; + g = (*palette >> 5) & 0x1F; b = (*palette >> 10) & 0x1F; - - r *= 0x4C; - r += g * 0x97; - r += b * 0x1D; - - gray = (s32)(r >> 8); - - sepia = (gray * 0x133); - - r2 = (u16)sepia >> 8; - - g2 = gray; - - b2 = (gray * 15); - - if (r2 > 0x1F) - r2 = 0x1F; - - *palette++ = b2 << 10 | g2 << 5 | r2; + + gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8; + + if (gray > 0x1F) + gray = 0x1F; + + gray = sRoundedDownGrayscaleMap[gray]; + + *palette++ = (gray << 10) | (gray << 5) | (gray << 0); } - return; } -#else -__attribute__((naked)) + void TintPalette_SepiaTone(u16 *palette, u16 count) { - asm("push {r4-r7,lr}\n\ - add r5, r0, #0\n\ - lsl r1, #16\n\ - lsr r1, #16\n\ - cmp r1, #0\n\ - beq _080A2BA2\n\ - mov r7, #0x1F\n\ - add r6, r1, #0\n\ -_080A2B50:\n\ - ldrh r0, [r5]\n\ - mov r1, #0x1F\n\ - and r1, r0\n\ - lsl r0, #16\n\ - lsr r2, r0, #21\n\ - and r2, r7\n\ - lsr r3, r0, #26\n\ - and r3, r7\n\ - mov r0, #0x4C\n\ - mul r1, r0\n\ - mov r0, #0x97\n\ - mul r0, r2\n\ - add r1, r0\n\ - lsl r0, r3, #3\n\ - sub r0, r3\n\ - lsl r0, #2\n\ - add r0, r3\n\ - add r1, r0\n\ - asr r1, #8\n\ - ldr r0, =0x00000133\n\ - mul r0, r1\n\ - lsl r0, #16\n\ - lsr r2, r0, #24\n\ - lsl r0, r1, #24\n\ - lsr r4, r0, #24\n\ - lsl r0, r1, #4\n\ - sub r0, r1\n\ - lsl r0, #20\n\ - lsr r3, r0, #24\n\ - cmp r2, #0x1F\n\ - ble _080A2B90\n\ - mov r2, #0x1F\n\ -_080A2B90:\n\ - lsl r0, r3, #10\n\ - lsl r1, r4, #5\n\ - orr r0, r1\n\ - orr r0, r2\n\ - strh r0, [r5]\n\ - add r5, #0x2\n\ - sub r6, #0x1\n\ - cmp r6, #0\n\ - bne _080A2B50\n\ -_080A2BA2:\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool"); -} -#endif // NONMATCHING - -#ifdef NONMATCHING -void sub_80A2BAC(u16 *palette, u16 count, u16 a3, u16 a4, u16 a5) -{ - s32 r; - s32 g; - s32 b; - s32 gray; - u8 r2; - u8 g2; - u8 b2; - - int i; + s32 r, g, b, i; + u32 gray; + for (i = 0; i < count; i++) { - r = *palette & 0x1F; - g = (*palette >> 5) & 0x1F; + r = (*palette >> 0) & 0x1F; + g = (*palette >> 5) & 0x1F; b = (*palette >> 10) & 0x1F; - - r *= 0x4C; - r += g * 0x97; - r += b * 0x1D; - - gray = r >> 8; - - r2 = (u16)(gray * a3) >> 8; - - g2 = (u16)(gray * a4) >> 8; - - b2 = (u16)(gray * a5) >> 8; - - if (r2 > 0x1F) - r2 = 0x1F; - - if (g2 > 0x1F) - g2 = 0x1F; - - if (b2 > 0x1F) - b2 = 0x1F; - - *palette++ = b2 << 10 | g2 << 5 | r2; + + gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8; + + r = (u16)((Q_8_8(1.2) * gray)) >> 8; + g = (u16)((Q_8_8(1.0) * gray)) >> 8; + b = (u16)((Q_8_8(0.94) * gray)) >> 8; + + if (r > 31) + r = 31; + + *palette++ = (b << 10) | (g << 5) | (r << 0); } - return; } -#else -__attribute__((naked)) -void sub_80A2BAC(u16 *palette, u16 count, u16 a3, u16 a4, u16 a5) + +void TintPalette_CustomTone(u16 *palette, u16 count, u16 rTone, u16 gTone, u16 bTone) { - asm("push {r4-r7,lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6,r7}\n\ - add r5, r0, #0\n\ - ldr r0, [sp, #0x1C]\n\ - lsl r1, #16\n\ - lsr r1, #16\n\ - lsl r2, #16\n\ - lsr r2, #16\n\ - mov r9, r2\n\ - lsl r3, #16\n\ - lsr r3, #16\n\ - mov r8, r3\n\ - lsl r0, #16\n\ - lsr r0, #16\n\ - mov r12, r0\n\ - cmp r1, #0\n\ - beq _080A2C38\n\ - mov r7, #0x1F\n\ - add r6, r1, #0\n\ -_080A2BD6:\n\ - ldrh r0, [r5]\n\ - mov r1, #0x1F\n\ - and r1, r0\n\ - lsl r0, #16\n\ - lsr r2, r0, #21\n\ - and r2, r7\n\ - lsr r3, r0, #26\n\ - and r3, r7\n\ - mov r0, #0x4C\n\ - mul r1, r0\n\ - mov r0, #0x97\n\ - mul r0, r2\n\ - add r1, r0\n\ - lsl r0, r3, #3\n\ - sub r0, r3\n\ - lsl r0, #2\n\ - add r0, r3\n\ - add r1, r0\n\ - asr r1, #8\n\ - mov r0, r9\n\ - mul r0, r1\n\ - lsl r0, #16\n\ - lsr r4, r0, #24\n\ - mov r0, r8\n\ - mul r0, r1\n\ - lsl r0, #16\n\ - lsr r2, r0, #24\n\ - mov r0, r12\n\ - mul r0, r1\n\ - lsl r0, #16\n\ - lsr r3, r0, #24\n\ - cmp r4, #0x1F\n\ - ble _080A2C1A\n\ - mov r4, #0x1F\n\ -_080A2C1A:\n\ - cmp r2, #0x1F\n\ - ble _080A2C20\n\ - mov r2, #0x1F\n\ -_080A2C20:\n\ - cmp r3, #0x1F\n\ - ble _080A2C26\n\ - mov r3, #0x1F\n\ -_080A2C26:\n\ - lsl r0, r3, #10\n\ - lsl r1, r2, #5\n\ - orr r0, r1\n\ - orr r0, r4\n\ - strh r0, [r5]\n\ - add r5, #0x2\n\ - sub r6, #0x1\n\ - cmp r6, #0\n\ - bne _080A2BD6\n\ -_080A2C38:\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0"); + s32 r, g, b, i; + u32 gray; + + for (i = 0; i < count; i++) + { + r = (*palette >> 0) & 0x1F; + g = (*palette >> 5) & 0x1F; + b = (*palette >> 10) & 0x1F; + + gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8; + + r = (u16)((rTone * gray)) >> 8; + g = (u16)((gTone * gray)) >> 8; + b = (u16)((bTone * gray)) >> 8; + + if (r > 31) + r = 31; + if (g > 31) + g = 31; + if (b > 31) + b = 31; + + *palette++ = (b << 10) | (g << 5) | (r << 0); + } } -#endif void sub_80A2C44(u32 a1, s8 a2, u8 a3, u8 a4, u16 a5, u8 a6, u8 a7) { @@ -1153,7 +957,7 @@ void sub_80A2C44(u32 a1, s8 a2, u8 a3, u8 a4, u16 a5, u8 a6, u8 a7) gTasks[taskId].func(taskId); } -u32 sub_80A2CF8(u8 var) +bool32 sub_80A2CF8(u8 var) { int i; @@ -1181,7 +985,7 @@ void sub_80A2D54(u8 taskId) { u32 wordVar; s16 *data; - u16 temp; + s16 temp; data = gTasks[taskId].data; wordVar = GetWordTaskArg(taskId, 5); @@ -1191,7 +995,7 @@ void sub_80A2D54(u8 taskId) data[4] = 0; BlendPalettes(wordVar, data[0], data[7]); temp = data[1]; - if (data[0] == (s16)temp) + if (data[0] == temp) { DestroyTask(taskId); } @@ -1200,12 +1004,12 @@ void sub_80A2D54(u8 taskId) data[0] += data[2]; if (data[2] >= 0) { - if (data[0] < (s16)temp) + if (data[0] < temp) { return; } } - else if (data[0] > (s16)temp) + else if (data[0] > temp) { return; } diff --git a/src/pokeball.c b/src/pokeball.c new file mode 100644 index 0000000000..795a33827a --- /dev/null +++ b/src/pokeball.c @@ -0,0 +1,1276 @@ +#include "global.h" +#include "pokemon.h" +#include "sprite.h" +#include "pokeball.h" +#include "battle.h" +#include "battle_anim.h" +#include "task.h" +#include "sound.h" +#include "constants/songs.h" +#include "trig.h" +#include "main.h" +#include "m4a.h" +#include "decompress.h" +#include "constants/species.h" +#include "util.h" +#include "graphics.h" + +extern struct MusicPlayerInfo gMPlayInfo_BGM; + +// this file's functions +static void Task_DoPokeballSendOutAnim(u8 taskId); +static void SpriteCB_TestBallThrow(struct Sprite *sprite); +static void SpriteCB_PlayerMonSendOut_1(struct Sprite *sprite); +static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite); +static void SpriteCB_OpponentMonSendOut(struct Sprite *sprite); +static void sub_80756D4(struct Sprite *sprite); +static void sub_80756E0(struct Sprite *sprite); +static void sub_807574C(struct Sprite *sprite); +static void sub_80757E4(struct Sprite *sprite); +static void sub_8075838(struct Sprite *sprite); +static void sub_8075930(struct Sprite *sprite); +static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite); +static void SpriteCB_ReleaseMon2FromBall(struct Sprite *sprite); +static void sub_8075970(struct Sprite *sprite); +static void HandleBallAnimEnd(struct Sprite *sprite); +static void sub_8075FB4(struct Sprite *sprite); +static void sub_80760F8(struct Sprite *sprite); +static void sub_8076524(struct Sprite *sprite); +static void sub_80765E0(struct Sprite *sprite); +static void sub_80767D4(struct Sprite *sprite); +static void sub_807687C(struct Sprite *sprite); +static void sub_80768F0(struct Sprite *sprite); +static void sub_80769A8(struct Sprite *sprite); +static void sub_80769CC(struct Sprite *sprite); +static void SpriteCB_HitAnimHealthoxEffect(struct Sprite *sprite); +static u16 GetBankPokeballItemId(u8 bank); + +// rom const data + +#define GFX_TAG_POKEBALL 55000 +#define GFX_TAG_GREATBALL 55001 +#define GFX_TAG_SAFARIBALL 55002 +#define GFX_TAG_ULTRABALL 55003 +#define GFX_TAG_MASTERBALL 55004 +#define GFX_TAG_NETBALL 55005 +#define GFX_TAG_DIVEBALL 55006 +#define GFX_TAG_NESTBALL 55007 +#define GFX_TAG_REPEATBALL 55008 +#define GFX_TAG_TIMERBALL 55009 +#define GFX_TAG_LUXURYBALL 55010 +#define GFX_TAG_PREMIERBALL 55011 + +const struct CompressedSpriteSheet gBallSpriteSheets[POKEBALL_COUNT] = +{ + {gInterfaceGfx_PokeBall, 384, GFX_TAG_POKEBALL}, + {gInterfaceGfx_GreatBall, 384, GFX_TAG_GREATBALL}, + {gInterfaceGfx_SafariBall, 384, GFX_TAG_SAFARIBALL}, + {gInterfaceGfx_UltraBall, 384, GFX_TAG_ULTRABALL}, + {gInterfaceGfx_MasterBall, 384, GFX_TAG_MASTERBALL}, + {gInterfaceGfx_NetBall, 384, GFX_TAG_NETBALL}, + {gInterfaceGfx_DiveBall, 384, GFX_TAG_DIVEBALL}, + {gInterfaceGfx_NestBall, 384, GFX_TAG_NESTBALL}, + {gInterfaceGfx_RepeatBall, 384, GFX_TAG_REPEATBALL}, + {gInterfaceGfx_TimerBall, 384, GFX_TAG_TIMERBALL}, + {gInterfaceGfx_LuxuryBall, 384, GFX_TAG_LUXURYBALL}, + {gInterfaceGfx_PremierBall, 384, GFX_TAG_PREMIERBALL}, +}; + +const struct CompressedSpritePalette gBallSpritePalettes[POKEBALL_COUNT] = +{ + {gInterfacePal_PokeBall, GFX_TAG_POKEBALL}, + {gInterfacePal_GreatBall, GFX_TAG_GREATBALL}, + {gInterfacePal_SafariBall, GFX_TAG_SAFARIBALL}, + {gInterfacePal_UltraBall, GFX_TAG_ULTRABALL}, + {gInterfacePal_MasterBall, GFX_TAG_MASTERBALL}, + {gInterfacePal_NetBall, GFX_TAG_NETBALL}, + {gInterfacePal_DiveBall, GFX_TAG_DIVEBALL}, + {gInterfacePal_NestBall, GFX_TAG_NESTBALL}, + {gInterfacePal_RepeatBall, GFX_TAG_REPEATBALL}, + {gInterfacePal_TimerBall, GFX_TAG_TIMERBALL}, + {gInterfacePal_LuxuryBall, GFX_TAG_LUXURYBALL}, + {gInterfacePal_PremierBall, GFX_TAG_PREMIERBALL}, +}; + +static const struct OamData sBallOamData = +{ + .y = 0, + .affineMode = 3, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AnimCmd sBallAnimSeq3[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sBallAnimSeq5[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sBallAnimSeq4[] = +{ + ANIMCMD_FRAME(8, 5), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sBallAnimSeq6[] = +{ + ANIMCMD_FRAME(12, 1), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sBallAnimSeq0[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sBallAnimSeq1[] = +{ + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sBallAnimSeq2[] = +{ + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd *const sBallAnimSequences[] = +{ + sBallAnimSeq0, + sBallAnimSeq1, + sBallAnimSeq2, + + // unused? + sBallAnimSeq3, + sBallAnimSeq4, + sBallAnimSeq5, + sBallAnimSeq6, +}; + +static const union AffineAnimCmd sBallAffineAnimSeq0[] = +{ + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_JUMP(0), +}; + +static const union AffineAnimCmd sBallAffineAnimSeq1[] = +{ + AFFINEANIMCMD_FRAME(0, 0, -3, 1), + AFFINEANIMCMD_JUMP(0), +}; + +static const union AffineAnimCmd sBallAffineAnimSeq2[] = +{ + AFFINEANIMCMD_FRAME(0, 0, 3, 1), + AFFINEANIMCMD_JUMP(0), +}; + +static const union AffineAnimCmd sBallAffineAnimSeq3[] = +{ + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd sBallAffineAnimSeq4[] = +{ + AFFINEANIMCMD_FRAME(0, 0, 25, 1), + AFFINEANIMCMD_JUMP(0), +}; + +static const union AffineAnimCmd *const sBallAffineAnimSequences[] = +{ + sBallAffineAnimSeq0, + sBallAffineAnimSeq1, + sBallAffineAnimSeq2, + sBallAffineAnimSeq3, + sBallAffineAnimSeq4, +}; + +const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = +{ + { + .tileTag = GFX_TAG_POKEBALL, + .paletteTag = GFX_TAG_POKEBALL, + .oam = &sBallOamData, + .anims = sBallAnimSequences, + .images = NULL, + .affineAnims = sBallAffineAnimSequences, + .callback = SpriteCB_TestBallThrow, + }, + { + .tileTag = GFX_TAG_GREATBALL, + .paletteTag = GFX_TAG_GREATBALL, + .oam = &sBallOamData, + .anims = sBallAnimSequences, + .images = NULL, + .affineAnims = sBallAffineAnimSequences, + .callback = SpriteCB_TestBallThrow, + }, + { + .tileTag = GFX_TAG_SAFARIBALL, + .paletteTag = GFX_TAG_SAFARIBALL, + .oam = &sBallOamData, + .anims = sBallAnimSequences, + .images = NULL, + .affineAnims = sBallAffineAnimSequences, + .callback = SpriteCB_TestBallThrow, + }, + { + .tileTag = GFX_TAG_ULTRABALL, + .paletteTag = GFX_TAG_ULTRABALL, + .oam = &sBallOamData, + .anims = sBallAnimSequences, + .images = NULL, + .affineAnims = sBallAffineAnimSequences, + .callback = SpriteCB_TestBallThrow, + }, + { + .tileTag = GFX_TAG_MASTERBALL, + .paletteTag = GFX_TAG_MASTERBALL, + .oam = &sBallOamData, + .anims = sBallAnimSequences, + .images = NULL, + .affineAnims = sBallAffineAnimSequences, + .callback = SpriteCB_TestBallThrow, + }, + { + .tileTag = GFX_TAG_NETBALL, + .paletteTag = GFX_TAG_NETBALL, + .oam = &sBallOamData, + .anims = sBallAnimSequences, + .images = NULL, + .affineAnims = sBallAffineAnimSequences, + .callback = SpriteCB_TestBallThrow, + }, + { + .tileTag = GFX_TAG_DIVEBALL, + .paletteTag = GFX_TAG_DIVEBALL, + .oam = &sBallOamData, + .anims = sBallAnimSequences, + .images = NULL, + .affineAnims = sBallAffineAnimSequences, + .callback = SpriteCB_TestBallThrow, + }, + { + .tileTag = GFX_TAG_NESTBALL, + .paletteTag = GFX_TAG_NESTBALL, + .oam = &sBallOamData, + .anims = sBallAnimSequences, + .images = NULL, + .affineAnims = sBallAffineAnimSequences, + .callback = SpriteCB_TestBallThrow, + }, + { + .tileTag = GFX_TAG_REPEATBALL, + .paletteTag = GFX_TAG_REPEATBALL, + .oam = &sBallOamData, + .anims = sBallAnimSequences, + .images = NULL, + .affineAnims = sBallAffineAnimSequences, + .callback = SpriteCB_TestBallThrow, + }, + { + .tileTag = GFX_TAG_TIMERBALL, + .paletteTag = GFX_TAG_TIMERBALL, + .oam = &sBallOamData, + .anims = sBallAnimSequences, + .images = NULL, + .affineAnims = sBallAffineAnimSequences, + .callback = SpriteCB_TestBallThrow, + }, + { + .tileTag = GFX_TAG_LUXURYBALL, + .paletteTag = GFX_TAG_LUXURYBALL, + .oam = &sBallOamData, + .anims = sBallAnimSequences, + .images = NULL, + .affineAnims = sBallAffineAnimSequences, + .callback = SpriteCB_TestBallThrow, + }, + { + .tileTag = GFX_TAG_PREMIERBALL, + .paletteTag = GFX_TAG_PREMIERBALL, + .oam = &sBallOamData, + .anims = sBallAnimSequences, + .images = NULL, + .affineAnims = sBallAffineAnimSequences, + .callback = SpriteCB_TestBallThrow, + }, +}; + +#define tFrames data[0] +#define tPan data[1] +#define tThrowId data[2] +#define tBank data[3] +#define tOpponentBank data[4] + +u8 DoPokeballSendOutAnimation(s16 pan, u8 kindOfThrow) +{ + u8 taskId; + + gDoingBattleAnim = TRUE; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive = 1; + + taskId = CreateTask(Task_DoPokeballSendOutAnim, 5); + gTasks[taskId].tPan = pan; + gTasks[taskId].tThrowId = kindOfThrow; + gTasks[taskId].tBank = gActiveBattler; + + return 0; +} + +#define sBank data[6] + +static void Task_DoPokeballSendOutAnim(u8 taskId) +{ + u16 throwCaseId; + u8 bank; + u16 itemId, ballId; + u8 ballSpriteId; + bool8 notSendOut = FALSE; + + if (gTasks[taskId].tFrames == 0) + { + gTasks[taskId].tFrames++; + return; + } + + throwCaseId = gTasks[taskId].tThrowId; + bank = gTasks[taskId].tBank; + + if (GetBattlerSide(bank) != B_SIDE_PLAYER) + itemId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_POKEBALL); + else + itemId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_POKEBALL); + + ballId = ItemIdToBallId(itemId); + LoadBallGfx(ballId); + ballSpriteId = CreateSprite(&gBallSpriteTemplates[ballId], 32, 80, 29); + gSprites[ballSpriteId].data[0] = 0x80; + gSprites[ballSpriteId].data[1] = 0; + gSprites[ballSpriteId].data[7] = throwCaseId; + + switch (throwCaseId) + { + case POKEBALL_PLAYER_SENDOUT: + gBattlerTarget = bank; + gSprites[ballSpriteId].pos1.x = 24; + gSprites[ballSpriteId].pos1.y = 68; + gSprites[ballSpriteId].callback = SpriteCB_PlayerMonSendOut_1; + break; + case POKEBALL_OPPONENT_SENDOUT: + gSprites[ballSpriteId].pos1.x = GetBattlerSpriteCoord(bank, BANK_X_POS); + gSprites[ballSpriteId].pos1.y = GetBattlerSpriteCoord(bank, BANK_Y_POS) + 24; + gBattlerTarget = bank; + gSprites[ballSpriteId].data[0] = 0; + gSprites[ballSpriteId].callback = SpriteCB_OpponentMonSendOut; + break; + default: + gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + notSendOut = TRUE; + break; + } + + gSprites[ballSpriteId].sBank = gBattlerTarget; + if (!notSendOut) + { + DestroyTask(taskId); + return; + } + + // this will perform an unused ball throw animation + gSprites[ballSpriteId].data[0] = 0x22; + gSprites[ballSpriteId].data[2] = GetBattlerSpriteCoord(gBattlerTarget, BANK_X_POS); + gSprites[ballSpriteId].data[4] = GetBattlerSpriteCoord(gBattlerTarget, BANK_Y_POS) - 16; + gSprites[ballSpriteId].data[5] = -40; + sub_80A68D4(&gSprites[ballSpriteId]); + gSprites[ballSpriteId].oam.affineParam = taskId; + gTasks[taskId].tOpponentBank = gBattlerTarget; + gTasks[taskId].func = TaskDummy; + PlaySE(SE_NAGERU); +} + +static void SpriteCB_TestBallThrow(struct Sprite *sprite) +{ + if (AnimateBallThrow(sprite)) + { + u16 ballId; + u8 taskId = sprite->oam.affineParam; + u8 opponentBank = gTasks[taskId].tOpponentBank; + u8 noOfShakes = gTasks[taskId].tThrowId; + + StartSpriteAnim(sprite, 1); + sprite->affineAnimPaused = 1; + sprite->pos1.x += sprite->pos2.x; + sprite->pos1.y += sprite->pos2.y; + sprite->pos2.x = 0; + sprite->pos2.y = 0; + sprite->data[5] = 0; + ballId = ItemIdToBallId(GetBankPokeballItemId(opponentBank)); + LaunchBallStarsTask(sprite->pos1.x, sprite->pos1.y - 5, 1, 0x1C, ballId); + sprite->data[0] = LaunchBallFadeMonTask(FALSE, opponentBank, 14, ballId); + sprite->sBank = opponentBank; + sprite->data[7] = noOfShakes; + DestroyTask(taskId); + sprite->callback = sub_80756D4; + } +} + +#undef tFrames +#undef tPan +#undef tThrowId +#undef tBank +#undef tOpponentBank + +static void sub_80756D4(struct Sprite *sprite) +{ + sprite->callback = sub_80756E0; +} + +static void sub_80756E0(struct Sprite *sprite) +{ + if (++sprite->data[5] == 10) + { + sprite->data[5] = 0; + sprite->callback = sub_807574C; + StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[sprite->sBank]], 2); + AnimateSprite(&gSprites[gBattlerSpriteIds[sprite->sBank]]); + gSprites[gBattlerSpriteIds[sprite->sBank]].data[1] = 0; + } +} + +static void sub_807574C(struct Sprite *sprite) +{ + sprite->data[5]++; + if (sprite->data[5] == 11) + PlaySE(SE_SUIKOMU); + if (gSprites[gBattlerSpriteIds[sprite->sBank]].affineAnimEnded) + { + StartSpriteAnim(sprite, 2); + gSprites[gBattlerSpriteIds[sprite->sBank]].invisible = TRUE; + sprite->data[5] = 0; + sprite->callback = sub_80757E4; + } + else + { + gSprites[gBattlerSpriteIds[sprite->sBank]].data[1] += 0x60; + gSprites[gBattlerSpriteIds[sprite->sBank]].pos2.y = -gSprites[gBattlerSpriteIds[sprite->sBank]].data[1] >> 8; + } +} + +static void sub_80757E4(struct Sprite *sprite) +{ + if (sprite->animEnded) + { + sprite->data[5]++; + if (sprite->data[5] == 1) + { + sprite->data[3] = 0; + sprite->data[4] = 32; + sprite->data[5] = 0; + sprite->pos1.y += Cos(0, 32); + sprite->pos2.y = -Cos(0, sprite->data[4]); + sprite->callback = sub_8075838; + } + } +} + +static void sub_8075838(struct Sprite *sprite) +{ + bool8 r5 = FALSE; + + switch (sprite->data[3] & 0xFF) + { + case 0: + sprite->pos2.y = -Cos(sprite->data[5], sprite->data[4]); + sprite->data[5] += 4 + (sprite->data[3] >> 8); + if (sprite->data[5] >= 64) + { + sprite->data[4] -= 10; + sprite->data[3] += 0x101; + if (sprite->data[3] >> 8 == 4) + r5 = TRUE; + switch (sprite->data[3] >> 8) + { + case 1: + PlaySE(SE_KON); + break; + case 2: + PlaySE(SE_KON2); + break; + case 3: + PlaySE(SE_KON3); + break; + default: + PlaySE(SE_KON4); + break; + } + } + break; + case 1: + sprite->pos2.y = -Cos(sprite->data[5], sprite->data[4]); + sprite->data[5] -= 4 + (sprite->data[3] >> 8); + if (sprite->data[5] <= 0) + { + sprite->data[5] = 0; + sprite->data[3] &= 0xFF00; + } + break; + } + if (r5) + { + sprite->data[3] = 0; + sprite->pos1.y += Cos(64, 32); + sprite->pos2.y = 0; + if (sprite->data[7] == 0) + { + sprite->callback = SpriteCB_ReleaseMonFromBall; + } + else + { + sprite->callback = sub_8075930; + sprite->data[4] = 1; + sprite->data[5] = 0; + } + } +} + +static void sub_8075930(struct Sprite *sprite) +{ + sprite->data[3]++; + if (sprite->data[3] == 31) + { + sprite->data[3] = 0; + sprite->affineAnimPaused = TRUE; + StartSpriteAffineAnim(sprite, 1); + sprite->callback = sub_8075970; + PlaySE(SE_BOWA); + } +} + +static void sub_8075970(struct Sprite *sprite) +{ + switch (sprite->data[3] & 0xFF) + { + case 0: + case 2: + sprite->pos2.x += sprite->data[4]; + sprite->data[5] += sprite->data[4]; + sprite->affineAnimPaused = FALSE; + if (sprite->data[5] > 3 || sprite->data[5] < -3) + { + sprite->data[3]++; + sprite->data[5] = 0; + } + break; + case 1: + sprite->data[5]++; + if (sprite->data[5] == 1) + { + sprite->data[5] = 0; + sprite->data[4] = -sprite->data[4]; + sprite->data[3]++; + sprite->affineAnimPaused = FALSE; + if (sprite->data[4] < 0) + ChangeSpriteAffineAnim(sprite, 2); + else + ChangeSpriteAffineAnim(sprite, 1); + } + else + { + sprite->affineAnimPaused = TRUE; + } + break; + case 3: + sprite->data[3] += 0x100; + if (sprite->data[3] >> 8 == sprite->data[7]) + { + sprite->callback = SpriteCB_ReleaseMonFromBall; + } + else + { + if (sprite->data[7] == 4 && sprite->data[3] >> 8 == 3) + { + sprite->callback = sub_8075FB4; + sprite->affineAnimPaused = TRUE; + } + else + { + sprite->data[3]++; + sprite->affineAnimPaused = TRUE; + } + } + break; + case 4: + default: + sprite->data[5]++; + if (sprite->data[5] == 31) + { + sprite->data[5] = 0; + sprite->data[3] &= 0xFF00; + StartSpriteAffineAnim(sprite, 3); + if (sprite->data[4] < 0) + StartSpriteAffineAnim(sprite, 2); + else + StartSpriteAffineAnim(sprite, 1); + PlaySE(SE_BOWA); + } + break; + } +} + +#define tCryTaskSpecies data[0] +#define tCryTaskPan data[1] +#define tCryTaskWantedCry data[2] +#define tCryTaskBank data[3] +#define tCryTaskMonSpriteId data[4] +#define tCryTaskMonPtr1 data[5] +#define tCryTaskMonPtr2 data[6] +#define tCryTaskFrames data[10] +#define tCryTaskState data[15] + +static void Task_PlayCryWhenReleasedFromBall(u8 taskId) +{ + u8 wantedCry = gTasks[taskId].tCryTaskWantedCry; + s8 pan = gTasks[taskId].tCryTaskPan; + u16 species = gTasks[taskId].tCryTaskSpecies; + u8 bank = gTasks[taskId].tCryTaskBank; + u8 monSpriteId = gTasks[taskId].tCryTaskMonSpriteId; + struct Pokemon *mon = (void*)(u32)((gTasks[taskId].tCryTaskMonPtr1 << 0x10) | (u16)(gTasks[taskId].tCryTaskMonPtr2)); + + switch (gTasks[taskId].tCryTaskState) + { + case 0: + default: + if (gSprites[monSpriteId].affineAnimEnded) + gTasks[taskId].tCryTaskState = wantedCry + 1; + break; + case 1: + if (ShouldPlayNormalPokeCry(mon) == TRUE) + PlayCry3(species, pan, 0); + else + PlayCry3(species, pan, 11); + gBattleSpritesDataPtr->healthBoxesData[bank].field_1_x40 = 0; + DestroyTask(taskId); + break; + case 2: + StopCryAndClearCrySongs(); + gTasks[taskId].tCryTaskFrames = 3; + gTasks[taskId].tCryTaskState = 20; + break; + case 20: + if (gTasks[taskId].tCryTaskFrames == 0) + { + if (ShouldPlayNormalPokeCry(mon) == TRUE) + PlayCry4(species, pan, 1); + else + PlayCry4(species, pan, 12); + + gBattleSpritesDataPtr->healthBoxesData[bank].field_1_x40 = 0; + DestroyTask(taskId); + } + else + { + gTasks[taskId].tCryTaskFrames--; + } + break; + case 3: + gTasks[taskId].tCryTaskFrames = 6; + gTasks[taskId].tCryTaskState = 30; + break; + case 30: + if (gTasks[taskId].tCryTaskFrames != 0) + { + gTasks[taskId].tCryTaskFrames--; + break; + } + gTasks[taskId].tCryTaskState++; + // fall through + case 31: + if (!IsCryPlayingOrClearCrySongs()) + { + StopCryAndClearCrySongs(); + gTasks[taskId].tCryTaskFrames = 3; + gTasks[taskId].tCryTaskState++; + } + break; + case 32: + if (gTasks[taskId].tCryTaskFrames != 0) + { + gTasks[taskId].tCryTaskFrames--; + break; + } + if (ShouldPlayNormalPokeCry(mon) == TRUE) + PlayCry4(species, pan, 0); + else + PlayCry4(species, pan, 11); + + gBattleSpritesDataPtr->healthBoxesData[bank].field_1_x40 = 0; + DestroyTask(taskId); + break; + } +} + +static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite) +{ + u8 bank = sprite->sBank; + u32 ballId; + + StartSpriteAnim(sprite, 1); + ballId = ItemIdToBallId(GetBankPokeballItemId(bank)); + LaunchBallStarsTask(sprite->pos1.x, sprite->pos1.y - 5, 1, 0x1C, ballId); + sprite->data[0] = LaunchBallFadeMonTask(1, sprite->sBank, 14, ballId); + sprite->callback = HandleBallAnimEnd; + + if (gMain.inBattle) + { + struct Pokemon *mon; + u16 species; + s8 pan; + u16 wantedCryCase; + u8 taskId; + + if (GetBattlerSide(bank) != B_SIDE_PLAYER) + { + mon = &gEnemyParty[gBattlerPartyIndexes[bank]]; + pan = 25; + } + else + { + mon = &gPlayerParty[gBattlerPartyIndexes[bank]]; + pan = -25; + } + + species = GetMonData(mon, MON_DATA_SPECIES); + if ((bank == GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) || bank == GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) + && IsDoubleBattle() && gBattleSpritesDataPtr->animationData->field_9_x1) + { + if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK) + { + if (IsBGMPlaying()) + m4aMPlayStop(&gMPlayInfo_BGM); + } + else + { + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 128); + } + } + + if (!IsDoubleBattle() || !gBattleSpritesDataPtr->animationData->field_9_x1) + wantedCryCase = 0; + else if (bank == GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) || bank == GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) + wantedCryCase = 1; + else + wantedCryCase = 2; + + gBattleSpritesDataPtr->healthBoxesData[bank].field_1_x40 = 1; + + taskId = CreateTask(Task_PlayCryWhenReleasedFromBall, 3); + gTasks[taskId].tCryTaskSpecies = species; + gTasks[taskId].tCryTaskPan = pan; + gTasks[taskId].tCryTaskWantedCry = wantedCryCase; + gTasks[taskId].tCryTaskBank = bank; + gTasks[taskId].tCryTaskMonSpriteId = gBattlerSpriteIds[sprite->sBank]; + gTasks[taskId].tCryTaskMonPtr1 = (u32)(mon) >> 0x10; + gTasks[taskId].tCryTaskMonPtr2 = (u32)(mon); + gTasks[taskId].tCryTaskState = 0; + } + + StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[sprite->sBank]], 1); + + if (GetBattlerSide(sprite->sBank) == B_SIDE_OPPONENT) + gSprites[gBattlerSpriteIds[sprite->sBank]].callback = sub_8039B58; + else + gSprites[gBattlerSpriteIds[sprite->sBank]].callback = sub_8039E44; + + AnimateSprite(&gSprites[gBattlerSpriteIds[sprite->sBank]]); + gSprites[gBattlerSpriteIds[sprite->sBank]].data[1] = 0x1000; +} + +#undef tCryTaskSpecies +#undef tCryTaskPan +#undef tCryTaskWantedCry +#undef tCryTaskBank +#undef tCryTaskMonSpriteId +#undef tCryTaskMonPtr1 +#undef tCryTaskMonPtr2 +#undef tCryTaskFrames +#undef tCryTaskState + +static void sub_8075FB4(struct Sprite *sprite) +{ + sprite->animPaused = TRUE; + sprite->callback = sub_80760F8; + sprite->data[3] = 0; + sprite->data[4] = 0; + sprite->data[5] = 0; +} + +static void HandleBallAnimEnd(struct Sprite *sprite) +{ + bool8 affineAnimEnded = FALSE; + u8 bank = sprite->sBank; + + gSprites[gBattlerSpriteIds[bank]].invisible = FALSE; + if (sprite->animEnded) + sprite->invisible = TRUE; + if (gSprites[gBattlerSpriteIds[bank]].affineAnimEnded) + { + StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[bank]], 0); + affineAnimEnded = TRUE; + } + else + { + gSprites[gBattlerSpriteIds[bank]].data[1] -= 288; + gSprites[gBattlerSpriteIds[bank]].pos2.y = gSprites[gBattlerSpriteIds[bank]].data[1] >> 8; + } + if (sprite->animEnded && affineAnimEnded) + { + s32 i, doneBanks; + + gSprites[gBattlerSpriteIds[bank]].pos2.y = 0; + gDoingBattleAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[bank].ballAnimActive = 0; + FreeSpriteOamMatrix(sprite); + DestroySprite(sprite); + + for (doneBanks = 0, i = 0; i < MAX_BATTLERS_COUNT; i++) + { + if (gBattleSpritesDataPtr->healthBoxesData[i].ballAnimActive == 0) + doneBanks++; + } + if (doneBanks == MAX_BATTLERS_COUNT) + { + for (i = 0; i < POKEBALL_COUNT; i++) + FreeBallGfx(i); + } + } +} + +static void sub_80760F8(struct Sprite *sprite) +{ + u8 bank = sprite->sBank; + + sprite->data[4]++; + if (sprite->data[4] == 40) + { + return; + } + else if (sprite->data[4] == 95) + { + gDoingBattleAnim = FALSE; + m4aMPlayAllStop(); + PlaySE(MUS_FANFA5); + } + else if (sprite->data[4] == 315) + { + FreeOamMatrix(gSprites[gBattlerSpriteIds[sprite->sBank]].oam.matrixNum); + DestroySprite(&gSprites[gBattlerSpriteIds[sprite->sBank]]); + DestroySpriteAndFreeResources(sprite); + if (gMain.inBattle) + gBattleSpritesDataPtr->healthBoxesData[bank].ballAnimActive = 0; + } +} + +static void SpriteCB_PlayerMonSendOut_1(struct Sprite *sprite) +{ + sprite->data[0] = 25; + sprite->data[2] = GetBattlerSpriteCoord(sprite->sBank, 2); + sprite->data[4] = GetBattlerSpriteCoord(sprite->sBank, 3) + 24; + sprite->data[5] = -30; + sprite->oam.affineParam = sprite->sBank; + sub_80A68D4(sprite); + sprite->callback = SpriteCB_PlayerMonSendOut_2; +} + +#define HIBYTE(x) (((x) >> 8) & 0xFF) + +static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite) +{ + u32 r6; + u32 r7; + + if (HIBYTE(sprite->data[7]) >= 35 && HIBYTE(sprite->data[7]) < 80) + { + s16 r4; + + if ((sprite->oam.affineParam & 0xFF00) == 0) + { + r6 = sprite->data[1] & 1; + r7 = sprite->data[2] & 1; + sprite->data[1] = ((sprite->data[1] / 3) & ~1) | r6; + sprite->data[2] = ((sprite->data[2] / 3) & ~1) | r7; + StartSpriteAffineAnim(sprite, 4); + } + r4 = sprite->data[0]; + sub_80A6F3C(sprite); + sprite->data[7] += sprite->sBank / 3; + sprite->pos2.y += Sin(HIBYTE(sprite->data[7]), sprite->data[5]); + sprite->oam.affineParam += 0x100; + if ((sprite->oam.affineParam >> 8) % 3 != 0) + sprite->data[0] = r4; + else + sprite->data[0] = r4 - 1; + if (HIBYTE(sprite->data[7]) >= 80) + { + r6 = sprite->data[1] & 1; + r7 = sprite->data[2] & 1; + sprite->data[1] = ((sprite->data[1] * 3) & ~1) | r6; + sprite->data[2] = ((sprite->data[2] * 3) & ~1) | r7; + } + } + else + { + if (AnimateBallThrow(sprite)) + { + sprite->pos1.x += sprite->pos2.x; + sprite->pos1.y += sprite->pos2.y; + sprite->pos2.y = 0; + sprite->pos2.x = 0; + sprite->sBank = sprite->oam.affineParam & 0xFF; + sprite->data[0] = 0; + + if (IsDoubleBattle() && gBattleSpritesDataPtr->animationData->field_9_x1 + && sprite->sBank == GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT)) + sprite->callback = SpriteCB_ReleaseMon2FromBall; + else + sprite->callback = SpriteCB_ReleaseMonFromBall; + + StartSpriteAffineAnim(sprite, 0); + } + } +} + +static void SpriteCB_ReleaseMon2FromBall(struct Sprite *sprite) +{ + if (sprite->data[0]++ > 24) + { + sprite->data[0] = 0; + sprite->callback = SpriteCB_ReleaseMonFromBall; + } +} + +static void SpriteCB_OpponentMonSendOut(struct Sprite *sprite) +{ + sprite->data[0]++; + if (sprite->data[0] > 15) + { + sprite->data[0] = 0; + if (IsDoubleBattle() && gBattleSpritesDataPtr->animationData->field_9_x1 + && sprite->sBank == GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT)) + sprite->callback = SpriteCB_ReleaseMon2FromBall; + else + sprite->callback = SpriteCB_ReleaseMonFromBall; + } +} + +#undef sBank + +static u8 LaunchBallStarsTaskForPokeball(u8 x, u8 y, u8 kindOfStars, u8 d) +{ + return LaunchBallStarsTask(x, y, kindOfStars, d, BALL_POKE); +} + +static u8 LaunchBallFadeMonTaskForPokeball(bool8 unFadeLater, u8 bank, u32 arg2) +{ + return LaunchBallFadeMonTask(unFadeLater, bank, arg2, BALL_POKE); +} + +void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 bank, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h, u16 species) +{ + u8 spriteId; + + LoadCompressedObjectPicUsingHeap(&gBallSpriteSheets[0]); + LoadCompressedObjectPaletteUsingHeap(&gBallSpritePalettes[0]); + spriteId = CreateSprite(&gBallSpriteTemplates[0], x, y, subpriortiy); + + gSprites[spriteId].data[0] = monSpriteId; + gSprites[spriteId].data[5] = gSprites[monSpriteId].pos1.x; + gSprites[spriteId].data[6] = gSprites[monSpriteId].pos1.y; + + gSprites[monSpriteId].pos1.x = x; + gSprites[monSpriteId].pos1.y = y; + gSprites[monSpriteId].data[7] = species; + + gSprites[spriteId].data[1] = g; + gSprites[spriteId].data[2] = bank; + gSprites[spriteId].data[3] = h; + gSprites[spriteId].data[4] = h >> 0x10; + gSprites[spriteId].oam.priority = oamPriority; + gSprites[spriteId].callback = sub_8076524; + + gSprites[monSpriteId].invisible = TRUE; +} + +static void sub_8076524(struct Sprite *sprite) +{ + if (sprite->data[1] == 0) + { + u8 r5; + u8 r7 = sprite->data[0]; + u8 bank = sprite->data[2]; + u32 r4 = (u16)sprite->data[3] | ((u16)sprite->data[4] << 16); + + if (sprite->subpriority != 0) + r5 = sprite->subpriority - 1; + else + r5 = 0; + + StartSpriteAnim(sprite, 1); + LaunchBallStarsTaskForPokeball(sprite->pos1.x, sprite->pos1.y - 5, sprite->oam.priority, r5); + sprite->data[1] = LaunchBallFadeMonTaskForPokeball(1, bank, r4); + sprite->callback = sub_80765E0; + gSprites[r7].invisible = FALSE; + StartSpriteAffineAnim(&gSprites[r7], 1); + AnimateSprite(&gSprites[r7]); + gSprites[r7].data[1] = 0x1000; + sprite->data[7] = 0; + } + else + { + sprite->data[1]--; + } +} + +static void sub_80765E0(struct Sprite *sprite) +{ + bool8 r12 = FALSE; + bool8 r6 = FALSE; + u8 monSpriteId = sprite->data[0]; + u16 var1; + u16 var2; + + if (sprite->animEnded) + sprite->invisible = TRUE; + if (gSprites[monSpriteId].affineAnimEnded) + { + StartSpriteAffineAnim(&gSprites[monSpriteId], 0); + r12 = TRUE; + } + var1 = (sprite->data[5] - sprite->pos1.x) * sprite->data[7] / 128 + sprite->pos1.x; + var2 = (sprite->data[6] - sprite->pos1.y) * sprite->data[7] / 128 + sprite->pos1.y; + gSprites[monSpriteId].pos1.x = var1; + gSprites[monSpriteId].pos1.y = var2; + if (sprite->data[7] < 128) + { + s16 sine = -(gSineTable[(u8)sprite->data[7]] / 8); + + sprite->data[7] += 4; + gSprites[monSpriteId].pos2.x = sine; + gSprites[monSpriteId].pos2.y = sine; + } + else + { + gSprites[monSpriteId].pos1.x = sprite->data[5]; + gSprites[monSpriteId].pos1.y = sprite->data[6]; + gSprites[monSpriteId].pos2.x = 0; + gSprites[monSpriteId].pos2.y = 0; + r6 = TRUE; + } + if (sprite->animEnded && r12 && r6) + { + if (gSprites[monSpriteId].data[7] == SPECIES_EGG) + DoMonFrontSpriteAnimation(&gSprites[monSpriteId], gSprites[monSpriteId].data[7], TRUE, 0); + else + DoMonFrontSpriteAnimation(&gSprites[monSpriteId], gSprites[monSpriteId].data[7], FALSE, 0); + + DestroySpriteAndFreeResources(sprite); + } +} + +u8 sub_807671C(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h) +{ + u8 spriteId; + + LoadCompressedObjectPicUsingHeap(&gBallSpriteSheets[0]); + LoadCompressedObjectPaletteUsingHeap(&gBallSpritePalettes[0]); + spriteId = CreateSprite(&gBallSpriteTemplates[0], x, y, subPriority); + gSprites[spriteId].data[0] = a; + gSprites[spriteId].data[1] = g; + gSprites[spriteId].data[2] = b; + gSprites[spriteId].data[3] = h; + gSprites[spriteId].data[4] = h >> 16; + gSprites[spriteId].oam.priority = oamPriority; + gSprites[spriteId].callback = sub_80767D4; + return spriteId; +} + +static void sub_80767D4(struct Sprite *sprite) +{ + if (sprite->data[1] == 0) + { + u8 r6; + u8 r7 = sprite->data[0]; + u8 r8 = sprite->data[2]; + u32 r5 = (u16)sprite->data[3] | ((u16)sprite->data[4] << 16); + + if (sprite->subpriority != 0) + r6 = sprite->subpriority - 1; + else + r6 = 0; + + StartSpriteAnim(sprite, 1); + LaunchBallStarsTaskForPokeball(sprite->pos1.x, sprite->pos1.y - 5, sprite->oam.priority, r6); + sprite->data[1] = LaunchBallFadeMonTaskForPokeball(1, r8, r5); + sprite->callback = sub_807687C; + StartSpriteAffineAnim(&gSprites[r7], 2); + AnimateSprite(&gSprites[r7]); + gSprites[r7].data[1] = 0; + } + else + { + sprite->data[1]--; + } +} + +static void sub_807687C(struct Sprite *sprite) +{ + u8 r1; + + sprite->data[5]++; + if (sprite->data[5] == 11) + PlaySE(SE_SUIKOMU); + r1 = sprite->data[0]; + if (gSprites[r1].affineAnimEnded) + { + StartSpriteAnim(sprite, 2); + gSprites[r1].invisible = TRUE; + sprite->data[5] = 0; + sprite->callback = sub_80768F0; + } + else + { + gSprites[r1].data[1] += 96; + gSprites[r1].pos2.y = -gSprites[r1].data[1] >> 8; + } +} + +static void sub_80768F0(struct Sprite *sprite) +{ + if (sprite->animEnded) + sprite->callback = SpriteCallbackDummy; +} + +static void DestroySpriteAndFreeResources_(struct Sprite *sprite) +{ + DestroySpriteAndFreeResources(sprite); +} + +void sub_8076918(u8 bank) +{ + struct Sprite *healthboxSprite = &gSprites[gHealthboxSpriteIds[bank]]; + + healthboxSprite->data[0] = 5; + healthboxSprite->data[1] = 0; + healthboxSprite->pos2.x = 0x73; + healthboxSprite->pos2.y = 0; + healthboxSprite->callback = sub_80769CC; + if (GetBattlerSide(bank) != B_SIDE_PLAYER) + { + healthboxSprite->data[0] = -healthboxSprite->data[0]; + healthboxSprite->data[1] = -healthboxSprite->data[1]; + healthboxSprite->pos2.x = -healthboxSprite->pos2.x; + healthboxSprite->pos2.y = -healthboxSprite->pos2.y; + } + gSprites[healthboxSprite->data[5]].callback(&gSprites[healthboxSprite->data[5]]); + if (GetBattlerPosition(bank) == B_POSITION_PLAYER_RIGHT) + healthboxSprite->callback = sub_80769A8; +} + +static void sub_80769A8(struct Sprite *sprite) +{ + sprite->data[1]++; + if (sprite->data[1] == 20) + { + sprite->data[1] = 0; + sprite->callback = sub_80769CC; + } +} + +static void sub_80769CC(struct Sprite *sprite) +{ + sprite->pos2.x -= sprite->data[0]; + sprite->pos2.y -= sprite->data[1]; + if (sprite->pos2.x == 0 && sprite->pos2.y == 0) + sprite->callback = SpriteCallbackDummy; +} + +void DoHitAnimHealthboxEffect(u8 bank) +{ + u8 spriteId; + + spriteId = CreateInvisibleSpriteWithCallback(SpriteCB_HitAnimHealthoxEffect); + gSprites[spriteId].data[0] = 1; + gSprites[spriteId].data[1] = gHealthboxSpriteIds[bank]; + gSprites[spriteId].callback = SpriteCB_HitAnimHealthoxEffect; +} + +static void SpriteCB_HitAnimHealthoxEffect(struct Sprite *sprite) +{ + u8 r1 = sprite->data[1]; + + gSprites[r1].pos2.y = sprite->data[0]; + sprite->data[0] = -sprite->data[0]; + sprite->data[2]++; + if (sprite->data[2] == 21) + { + gSprites[r1].pos2.x = 0; + gSprites[r1].pos2.y = 0; + DestroySprite(sprite); + } +} + +void LoadBallGfx(u8 ballId) +{ + u16 var; + + if (GetSpriteTileStartByTag(gBallSpriteSheets[ballId].tag) == 0xFFFF) + { + LoadCompressedObjectPicUsingHeap(&gBallSpriteSheets[ballId]); + LoadCompressedObjectPaletteUsingHeap(&gBallSpritePalettes[ballId]); + } + switch (ballId) + { + case BALL_DIVE: + case BALL_LUXURY: + case BALL_PREMIER: + break; + default: + var = GetSpriteTileStartByTag(gBallSpriteSheets[ballId].tag); + LZDecompressVram(gOpenPokeballGfx, (void *)(VRAM + 0x10100 + var * 32)); + break; + } +} + +void FreeBallGfx(u8 ballId) +{ + FreeSpriteTilesByTag(gBallSpriteSheets[ballId].tag); + FreeSpritePaletteByTag(gBallSpritePalettes[ballId].tag); +} + +static u16 GetBankPokeballItemId(u8 bank) +{ + if (GetBattlerSide(bank) == B_SIDE_PLAYER) + return GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_POKEBALL); + else + return GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_POKEBALL); +} diff --git a/src/pokeblock.c b/src/pokeblock.c new file mode 100644 index 0000000000..b9d1d94c64 --- /dev/null +++ b/src/pokeblock.c @@ -0,0 +1,1336 @@ +#include "global.h" +#include "pokeblock.h" +#include "bg.h" +#include "strings.h" +#include "text.h" +#include "menu.h" +#include "task.h" +#include "menu_helpers.h" +#include "pokemon.h" +#include "graphics.h" +#include "malloc.h" +#include "main.h" +#include "battle.h" +#include "battle_controllers.h" +#include "palette.h" +#include "scanline_effect.h" +#include "list_menu.h" +#include "gpu_regs.h" +#include "decompress.h" +#include "international_string_util.h" +#include "item.h" +#include "constants/items.h" +#include "string_util.h" +#include "constants/songs.h" +#include "sound.h" +#include "berry.h" +#include "menu_indicators.h" +#include "event_data.h" +#include "battle_message.h" +#include "safari_zone.h" +#include "lilycove_lady.h" + +#define POKEBLOCK_MAX_FEEL 99 +#define FIELD_E75_COUNT 7 + +struct PokeblockMenuStruct +{ + u8 tilemap[0x800]; + void (*callbackOnUse)(void); + const u8 *pokeblockOptionsIds; + u8 optionsNo; + u8 caseId; + u8 itemsNo; + u8 maxShowed; + struct ListMenuItem items[POKEBLOCKS_COUNT + 1]; + u8 menuItemsStrings[POKEBLOCKS_COUNT + 1][0x20]; // + 1 because of STOW CASE item + u8 pokeblockCaseSpriteId; + u8 field_E75[FIELD_E75_COUNT]; + u8 unkTaskId; + bool8 isSwapping; + s16 gfxState; + u8 unused[8]; +}; + +struct PokeblockSavedData +{ + void (*callback)(void); + u16 lastItemPos; + u16 lastItemPage; +}; + +enum +{ + PKBL_USE_ON_FIELD, + PKBL_TOSS, + PKBL_CANCEL, + PKBL_USE_IN_BATTLE, + PKBL_USE_ON_FEEDER, + PKBL_GIVE_TO_LADY +}; + +extern u16 gSpecialVar_ItemId; +extern void (*gFieldCallback)(void); + +extern const u16 gUnknown_0860F074[]; + +extern void c2_exit_to_overworld_2_switch(void); +extern bool8 sub_81221EC(void); +extern void sub_809882C(u8, u16, u8); +extern void copy_textbox_border_tile_patterns_to_vram(u8, u16, u8); +extern void sub_80AF168(void); + +// this file's functions +static void CB2_InitPokeblockMenu(void); +static bool8 InitPokeblockMenu(void); +static bool8 LoadPokeblockMenuGfx(void); +static void HandleInitBackgrounds(void); +static void HandleInitWindows(void); +static void SetMenuItemsCountAndMaxShowed(void); +static void sub_81362E0(void); +static void sub_8136344(void); +static void HandlePokeblockListMenuItems(void); +static void sub_81363BC(void); +static void MovePokeblockMenuCursor(u32 pkblId, bool8 arg1, struct ListMenu *arg2); +static void PutPokeblockInfoText(void); +static void HandlePokeblockMenuCursor(u16 cursorPos, u16 arg1); +static void PutPokeblockListMenuString(u8 *dst, u16 pkblId); +static void Task_HandlePokeblockMenuInput(u8 taskId); +static void PokeblockAction_UseOnField(u8 taskId); +static void PokeblockAction_Toss(u8 taskId); +static void PokeblockAction_Cancel(u8 taskId); +static void PokeblockAction_UseInBattle(u8 taskId); +static void PokeblockAction_UseOnPokeblockFeeder(u8 taskId); +static void PokeblockAction_GiveToContestLady(u8 taskId); +static void TossPokeblockChoice_Yes(u8 taskId); +static void TossPokeblockChoice_No(u8 taskId); +static void Task_FreeDataAndExitPokeblockCase(u8 taskId); +static void Task_HandlePokeblockOptionsInput(u8 taskId); +static void PutPokeblockOptionsWindow(u8 taskId); +static void Task_HandlePokeblocksSwapInput(u8 taskId); +static void sub_8136470(struct Sprite *sprite); +static void sub_8135FCC(s32 pkblId); +static void HandlePokeblocksSwap(u8 taskId, bool8 noSwap); +static void UsePokeblockOnField(void); +static void ReturnToPokeblockCaseOnField(void); +static void CreateTossPokeblockYesNoMenu(u8 taskId); +static void HandleErasePokeblock(u8 taskId); + +// ram variables +EWRAM_DATA static struct PokeblockSavedData sSavedPokeblockData = {0}; +EWRAM_DATA static struct PokeblockMenuStruct *sPokeblockMenu = NULL; + +// const rom data +const s8 gPokeblockFlavorCompatibilityTable[] = +{ + // Cool, Beauty, Cute, Smart, Tough + 0, 0, 0, 0, 0, // Hardy + 1, 0, 0, 0, -1, // Lonely + 1, 0, -1, 0, 0, // Brave + 1, -1, 0, 0, 0, // Adamant + 1, 0, 0, -1, 0, // Naughty + -1, 0, 0, 0, 1, // Bold + 0, 0, 0, 0, 0, // Docile + 0, 0, -1, 0, 1, // Relaxed + 0, -1, 0, 0, 1, // Impish + 0, 0, 0, -1, 1, // Lax + -1, 0, 1, 0, 0, // Timid + 0, 0, 1, 0, -1, // Hasty + 0, 0, 0, 0, 0, // Serious + 0, -1, 1, 0, 0, // Jolly + 0, 0, 1, -1, 0, // Naive + -1, 1, 0, 0, 0, // Modest + 0, 1, 0, 0, -1, // Mild + 0, 1, -1, 0, 0, // Quiet + 0, 0, 0, 0, 0, // Bashful + 0, 1, 0, -1, 0, // Rash + -1, 0, 0, 1, 0, // Calm + 0, 0, 0, 1, -1, // Gentle + 0, 0, -1, 1, 0, // Sassy + 0, -1, 0, 1, 0, // Careful + 0, 0, 0, 0, 0 // Quirky +}; + +static const struct BgTemplate sBgTemplatesForPokeblockMenu[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 3, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + } +}; + +const u8 *const gPokeblockNames[] = +{ + NULL, + gText_RedPokeblock, + gText_BluePokeblock, + gText_PinkPokeblock, + gText_GreenPokeblock, + gText_YellowPokeblock, + gText_PurplePokeblock, + gText_IndigoPokeblock, + gText_BrownPokeblock, + gText_LiteBluePokeblock, + gText_OlivePokeblock, + gText_GrayPokeblock, + gText_BlackPokeblock, + gText_WhitePokeblock, + gText_GoldPokeblock +}; + +static const struct MenuAction sPokeblockMenuActions[] = +{ + {gMenuText_Use, PokeblockAction_UseOnField}, + {gMenuText_Toss, PokeblockAction_Toss}, + {gText_Cancel2, PokeblockAction_Cancel}, + {gMenuText_Use, PokeblockAction_UseInBattle}, + {gMenuText_Use, PokeblockAction_UseOnPokeblockFeeder}, + {gMenuText_Give2, PokeblockAction_GiveToContestLady}, +}; + +static const u8 sActionsOnField[] = {PKBL_USE_ON_FIELD, PKBL_TOSS, PKBL_CANCEL}; +static const u8 sActionsInBattle[] = {PKBL_USE_IN_BATTLE, PKBL_CANCEL}; +static const u8 sActionsOnPokeblockFeeder[] = {PKBL_USE_ON_FEEDER, PKBL_CANCEL}; +static const u8 sActionsWhenGivingToLady[] = {PKBL_GIVE_TO_LADY, PKBL_CANCEL}; + +static const struct YesNoFuncTable sTossYesNoFuncTable = {TossPokeblockChoice_Yes, TossPokeblockChoice_No}; + +static const u8 sContestStatsMonData[] = {MON_DATA_COOL, MON_DATA_BEAUTY, MON_DATA_CUTE, MON_DATA_SMART, MON_DATA_TOUGH}; + +static const struct OamData sOamData_PokeblockCase = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AnimCmd sSpriteAnim_PokeblockCase[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_PokeblockCase[] = +{ + sSpriteAnim_PokeblockCase +}; + +static const union AffineAnimCmd sSpriteAffineAnim_85B26C8[] = +{ + AFFINEANIMCMD_FRAME(0, 0, -2, 2), + AFFINEANIMCMD_FRAME(0, 0, 2, 4), + AFFINEANIMCMD_FRAME(0, 0, -2, 4), + AFFINEANIMCMD_FRAME(0, 0, 2, 2), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const sSpriteAffineAnimTable_85B26F0[] = +{ + sSpriteAffineAnim_85B26C8 +}; + +const struct CompressedSpriteSheet gPokeblockCase_SpriteSheet = +{ + gMenuPokeblockDevice_Gfx, 0x800, GFX_TAG_POKEBLOCK_CASE +}; + +const struct CompressedSpritePalette gPokeblockCase_SpritePal = +{ + gMenuPokeblockDevice_Pal, GFX_TAG_POKEBLOCK_CASE +}; + +static const struct SpriteTemplate sSpriteTemplate_PokeblockCase = +{ + GFX_TAG_POKEBLOCK_CASE, + GFX_TAG_POKEBLOCK_CASE, + &sOamData_PokeblockCase, + sSpriteAnimTable_PokeblockCase, + NULL, + gDummySpriteAffineAnimTable, + SpriteCallbackDummy +}; + +static const u8 sTextColorInPokeblockMenu[3] = {0, 2, 3}; + +static const struct Pokeblock sFavoritePokeblocksTable[] = +{ + { PBLOCK_CLR_RED, 20, 0, 0, 0, 0, 20}, + { PBLOCK_CLR_BLUE, 0, 20, 0, 0, 0, 20}, + { PBLOCK_CLR_PINK, 0, 0, 20, 0, 0, 20}, + { PBLOCK_CLR_GREEN, 0, 0, 0, 20, 0, 20}, + { PBLOCK_CLR_YELLOW, 0, 0, 0, 0, 20, 20} +}; + +static const struct WindowTemplate sWindowTemplatesForPokeblockMenu[] = +{ + {0, 2, 1, 9, 2, 0xF, 0x1E}, + {0, 0xF, 1, 0xE, 0x12, 0xF, 0x30}, + {0, 2, 0xD, 5, 2, 0xF, 0x12C}, + {0, 2, 0xF, 5, 2, 0xF, 0x136}, + {0, 2, 0x11, 5, 2, 0xF, 0x140}, + {0, 8, 0xD, 5, 2, 0xF, 0x14A}, + {0, 8, 0xF, 5, 2, 0xF, 0x154}, + {0, 0xB, 0x11, 2, 2, 0xF, 0x15E}, + {1, 7, 5, 6, 6, 0xF, 0x162}, + {1, 7, 7, 6, 4, 0xF, 0x186}, + {1, 2, 0xF, 0x1B, 4, 0xF, 0x19E}, + DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate sTossPkblockWindowTemplate = {1, 0x15, 9, 5, 4, 0xF, 0x20A}; + +static const struct ListMenuTemplate sPokeblockListMenuTemplate = +{ + .items = NULL, + .moveCursorFunc = MovePokeblockMenuCursor, + .unk_08 = NULL, + .totalItems = 0, + .maxShowed = 0, + .unk_10 = 1, + .unk_11 = 0, + .unk_12 = 1, + .cursor_Y = 0, + .upText_Y = 1, + .cursorColor = 2, + .fillColor = 0, + .cursorShadowColor = 3, + .unk_16_0 = FALSE, + .spaceBetweenItems = 32, + .unk_16_7 = FALSE, + .unk_17_0 = 1, + .cursorKind = 1 +}; + +// code +void OpenPokeblockCase(u8 caseId, void (*callback)(void)) +{ + sPokeblockMenu = Alloc(sizeof(*sPokeblockMenu)); + sPokeblockMenu->caseId = caseId; + sPokeblockMenu->callbackOnUse = NULL; + sPokeblockMenu->unkTaskId = 0xFF; + sPokeblockMenu->isSwapping = FALSE; + sSavedPokeblockData.callback = callback; + + switch (sPokeblockMenu->caseId) + { + case PBLOCK_CASE_BATTLE: + sPokeblockMenu->pokeblockOptionsIds = sActionsInBattle; + sPokeblockMenu->optionsNo = ARRAY_COUNT(sActionsInBattle); + break; + case PBLOCK_CASE_FEEDER: + sPokeblockMenu->pokeblockOptionsIds = sActionsOnPokeblockFeeder; + sPokeblockMenu->optionsNo = ARRAY_COUNT(sActionsOnPokeblockFeeder); + break; + case PBLOCK_CASE_GIVE: + sPokeblockMenu->pokeblockOptionsIds = sActionsWhenGivingToLady; + sPokeblockMenu->optionsNo = ARRAY_COUNT(sActionsWhenGivingToLady); + break; + default: + sPokeblockMenu->pokeblockOptionsIds = sActionsOnField; + sPokeblockMenu->optionsNo = ARRAY_COUNT(sActionsOnField); + break; + } + + SetMainCallback2(CB2_InitPokeblockMenu); +} + +void OpenPokeblockCaseInBattle(void) +{ + OpenPokeblockCase(PBLOCK_CASE_BATTLE, SetCB2ToReshowScreenAfterMenu2); +} + +void OpenPokeblockCaseOnFeeder(void) +{ + OpenPokeblockCase(PBLOCK_CASE_FEEDER, c2_exit_to_overworld_2_switch); +} + +static void CB2_PokeblockMenu(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + do_scheduled_bg_tilemap_copies_to_vram(); + UpdatePaletteFade(); +} + +static void VBlankCB_PokeblockMenu(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void CB2_InitPokeblockMenu(void) +{ + while (1) + { + if (sub_81221EC() == TRUE) + break; + if (InitPokeblockMenu() == TRUE) + break; + if (sub_81221AC() == TRUE) + break; + } +} + +static bool8 InitPokeblockMenu(void) +{ + u8 taskId; + + switch (gMain.state) + { + case 0: + SetVBlankHBlankCallbacksToNull(); + clear_scheduled_bg_copies_to_vram(); + gMain.state++; + break; + case 1: + ScanlineEffect_Stop(); + gMain.state++; + break; + case 2: + FreeAllSpritePalettes(); + gMain.state++; + break; + case 3: + ResetPaletteFade(); + gPaletteFade.bufferTransferDisabled = 1; + gMain.state++; + break; + case 4: + ResetSpriteData(); + gMain.state++; + break; + case 5: + if (sPokeblockMenu->caseId != PBLOCK_CASE_BATTLE) + ResetTasks(); + gMain.state++; + break; + case 6: + HandleInitBackgrounds(); + sPokeblockMenu->gfxState = 0; + gMain.state++; + break; + case 7: + if (!LoadPokeblockMenuGfx()) + return FALSE; + gMain.state++; + break; + case 8: + SetMenuItemsCountAndMaxShowed(); + sub_81362E0(); + sub_8136344(); + gMain.state++; + break; + case 9: + sPokeblockMenu->pokeblockCaseSpriteId = CreatePokeblockCaseSprite(56, 64, 0); + gMain.state++; + break; + case 10: + sub_8122344(&sPokeblockMenu->field_E75, FIELD_E75_COUNT); + gMain.state++; + break; + case 11: + HandlePokeblockMenuCursor(sSavedPokeblockData.lastItemPos, 0x1005); + gMain.state++; + break; + case 12: + HandleInitWindows(); + gMain.state++; + break; + case 13: + HandlePokeblockListMenuItems(); + gMain.state++; + break; + case 14: + sub_81363BC(); + gMain.state++; + break; + case 15: + taskId = CreateTask(Task_HandlePokeblockMenuInput, 0); + gTasks[taskId].data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sSavedPokeblockData.lastItemPage, sSavedPokeblockData.lastItemPos); + gMain.state++; + break; + case 16: + PutPokeblockInfoText(); + gMain.state++; + break; + case 17: + BlendPalettes(-1, 0x10, 0); + gMain.state++; + break; + case 18: + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + gPaletteFade.bufferTransferDisabled = 0; + gMain.state++; + break; + default: + SetVBlankCallback(VBlankCB_PokeblockMenu); + SetMainCallback2(CB2_PokeblockMenu); + return TRUE; + } + + return FALSE; +} + +static void HandleInitBackgrounds(void) +{ + ResetVramOamAndBgCntRegs(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, sBgTemplatesForPokeblockMenu, ARRAY_COUNT(sBgTemplatesForPokeblockMenu)); + SetBgTilemapBuffer(2, sPokeblockMenu->tilemap); + ResetAllBgsCoordinates(); + schedule_bg_copy_tilemap_to_vram(2); + + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + + ShowBg(0); + ShowBg(1); + ShowBg(2); + + SetGpuReg(REG_OFFSET_BLDCNT, 0); +} + +static bool8 LoadPokeblockMenuGfx(void) +{ + switch (sPokeblockMenu->gfxState) + { + case 0: + reset_temp_tile_data_buffers(); + decompress_and_copy_tile_data_to_vram(2, gMenuPokeblock_Gfx, 0, 0, 0); + sPokeblockMenu->gfxState++; + break; + case 1: + if (free_temp_tile_data_buffers_if_possible() != TRUE) + { + LZDecompressWram(gMenuPokeblock_Tilemap, sPokeblockMenu->tilemap); + sPokeblockMenu->gfxState++; + } + break; + case 2: + LoadCompressedPalette(gMenuPokeblock_Pal, 0, 0xC0); + sPokeblockMenu->gfxState++; + break; + case 3: + LoadCompressedObjectPic(&gPokeblockCase_SpriteSheet); + sPokeblockMenu->gfxState++; + break; + case 4: + LoadCompressedObjectPalette(&gPokeblockCase_SpritePal); + sPokeblockMenu->gfxState++; + break; + case 5: + LoadListMenuArrowsGfx(); + sPokeblockMenu->gfxState = 0; + return TRUE; + } + + return FALSE; +} + +static void HandleInitWindows(void) +{ + u8 i; + + InitWindows(sWindowTemplatesForPokeblockMenu); + DeactivateAllTextPrinters(); + sub_809882C(0, 1, 0xE0); + copy_textbox_border_tile_patterns_to_vram(0, 0xA, 0xD0); + LoadPalette(gUnknown_0860F074, 0xF0, 0x20); + + for (i = 0; i < ARRAY_COUNT(sWindowTemplatesForPokeblockMenu) - 1; i++) + { + FillWindowPixelBuffer(i, 0); + } + + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); +} + +static void PrintOnPokeblockWindow(u8 windowId, const u8 *string, s32 x) +{ + AddTextPrinterParameterized2(windowId, 1, x, 1, 0, 0, sTextColorInPokeblockMenu, 0, string); +} + +static void PutPokeblockInfoText(void) +{ + u8 i; + + const u8 *itemName = ItemId_GetItem(ITEM_POKEBLOCK_CASE)->name; + PrintOnPokeblockWindow(0, itemName, GetStringCenterAlignXOffset(1, itemName, 0x48)); + + PrintOnPokeblockWindow(2, gText_Spicy, 0); + PrintOnPokeblockWindow(3, gText_Dry, 0); + PrintOnPokeblockWindow(4, gText_Sweet, 0); + PrintOnPokeblockWindow(5, gText_Bitter, 0); + PrintOnPokeblockWindow(6, gText_Sour, 0); + + for (i = 0; i < 8; i++) + { + PutWindowTilemap(i); + } +} + +static void HandlePokeblockListMenuItems(void) +{ + u16 i; + + for (i = 0; i < sPokeblockMenu->itemsNo - 1; i++) + { + PutPokeblockListMenuString(sPokeblockMenu->menuItemsStrings[i], i); + sPokeblockMenu->items[i].name = sPokeblockMenu->menuItemsStrings[i]; + sPokeblockMenu->items[i].id = i; + } + + StringCopy(sPokeblockMenu->menuItemsStrings[i], gText_StowCase); + sPokeblockMenu->items[i].name = sPokeblockMenu->menuItemsStrings[i]; + sPokeblockMenu->items[i].id = LIST_B_PRESSED; + + gMultiuseListMenuTemplate = sPokeblockListMenuTemplate; + gMultiuseListMenuTemplate.unk_17_0 = 7; + gMultiuseListMenuTemplate.totalItems = sPokeblockMenu->itemsNo; + gMultiuseListMenuTemplate.items = sPokeblockMenu->items; + gMultiuseListMenuTemplate.maxShowed = sPokeblockMenu->maxShowed; +} + +static void PutPokeblockListMenuString(u8 *dst, u16 pkblId) +{ + struct Pokeblock *pkblock = &gSaveBlock1Ptr->pokeblocks[pkblId]; + u8 *txtPtr = StringCopy(dst, gPokeblockNames[pkblock->color]); + + *(txtPtr++) = EXT_CTRL_CODE_BEGIN; + *(txtPtr++) = 0x12; + *(txtPtr++) = 0x57; + + ConvertIntToDecimalStringN(gStringVar1, GetHighestPokeblocksFlavorLevel(pkblock), STR_CONV_MODE_LEFT_ALIGN, 3); + StringExpandPlaceholders(txtPtr, gText_LvVar1); +} + +static void MovePokeblockMenuCursor(u32 pkblId, bool8 arg1, struct ListMenu *arg2) +{ + if (arg1 != TRUE) + { + PlaySE(SE_SELECT); + gSprites[sPokeblockMenu->pokeblockCaseSpriteId].callback = sub_8136470; + } + + if (!sPokeblockMenu->isSwapping) + sub_8135FCC(pkblId); +} + +static void sub_8135FCC(s32 pkblId) +{ + u8 i; + struct Pokeblock *pokeblock; + u16 rectTilemapSrc[2]; + + FillWindowPixelBuffer(7, 0); + + if (pkblId != LIST_B_PRESSED) + { + pokeblock = &gSaveBlock1Ptr->pokeblocks[pkblId]; + rectTilemapSrc[0] = 0x17; + rectTilemapSrc[1] = 0x18; + for (i = 0; i < FLAVOR_COUNT; i++) + { + if (GetPokeblockData(pokeblock, PBLOCK_SPICY + i) > 0) + { + rectTilemapSrc[0] = (i << 0xC) + 0x17; + rectTilemapSrc[1] = (i << 0xC) + 0x18; + } + else + { + rectTilemapSrc[0] = 0xF; + rectTilemapSrc[1] = 0xF; + } + CopyToBgTilemapBufferRect(2, rectTilemapSrc, (i / 3 * 6) + 1, (i % 3 * 2) + 13, 1, 2); + } + ConvertIntToDecimalStringN(gStringVar1, GetPokeblocksFeel(pokeblock), STR_CONV_MODE_RIGHT_ALIGN, 2); + PrintOnPokeblockWindow(7, gStringVar1, 4); + } + else + { + rectTilemapSrc[0] = 0xF; + rectTilemapSrc[1] = 0xF; + + for (i = 0; i < FLAVOR_COUNT; i++) + { + CopyToBgTilemapBufferRect(2, rectTilemapSrc, (i / 3 * 6) + 1, (i % 3 * 2) + 13, 1, 2); + } + CopyWindowToVram(7, 2); + } + + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(2); +} + +static void HandlePokeblockMenuCursor(u16 cursorPos, u16 arg1) +{ + FillBgTilemapBufferRect_Palette0(2, arg1, 0xF, (cursorPos * 2) + 1, 0xE, 2); + schedule_bg_copy_tilemap_to_vram(2); +} + +static void CompactPokeblockSlots(void) +{ + u16 i, j; + + for (i = 0; i < POKEBLOCKS_COUNT - 1; i++) + { + for (j = i + 1; j < POKEBLOCKS_COUNT; j++) + { + if (gSaveBlock1Ptr->pokeblocks[i].color == 0) + { + struct Pokeblock temp = gSaveBlock1Ptr->pokeblocks[i]; + gSaveBlock1Ptr->pokeblocks[i] = gSaveBlock1Ptr->pokeblocks[j]; + gSaveBlock1Ptr->pokeblocks[j] = temp; + } + } + } +} + +static void SwapSortPokeblocksInternalData(u32 id1, u32 id2) +{ + s16 i, count; + struct Pokeblock *pokeblocks = gSaveBlock1Ptr->pokeblocks; + struct Pokeblock *copyPokeblock1; + + if (id1 == id2) + return; + + copyPokeblock1 = Alloc(sizeof(struct Pokeblock)); + *copyPokeblock1 = pokeblocks[id1]; + + if (id2 > id1) + { + id2--; + for (count = id2, i = id1; i < count; i++) + pokeblocks[i] = pokeblocks[i + 1]; + } + else + { + for (count = id2, i = id1; i > count; i--) + pokeblocks[i] = pokeblocks[i - 1]; + } + + pokeblocks[id2] = *copyPokeblock1; + Free(copyPokeblock1); +} + +void ResetPokeblockScrollPositions(void) +{ + sSavedPokeblockData.lastItemPos = 0; + sSavedPokeblockData.lastItemPage = 0; +} + +static void SetMenuItemsCountAndMaxShowed(void) +{ + u16 i; + + CompactPokeblockSlots(); + + for (sPokeblockMenu->itemsNo = 0, i = 0; i < POKEBLOCKS_COUNT; i++) + { + if (gSaveBlock1Ptr->pokeblocks[i].color != 0) + sPokeblockMenu->itemsNo++; + } + + sPokeblockMenu->itemsNo++; // STOW CASE menu item + + if (sPokeblockMenu->itemsNo > 9) + sPokeblockMenu->maxShowed = 9; + else + sPokeblockMenu->maxShowed = sPokeblockMenu->itemsNo; +} + +static void sub_81362E0(void) +{ + if (sSavedPokeblockData.lastItemPage != 0) + { + if (sSavedPokeblockData.lastItemPage + sPokeblockMenu->maxShowed > sPokeblockMenu->itemsNo) + sSavedPokeblockData.lastItemPage = sPokeblockMenu->itemsNo - sPokeblockMenu->maxShowed; + } + + if (sSavedPokeblockData.lastItemPage + sSavedPokeblockData.lastItemPos >= sPokeblockMenu->itemsNo) + { + if (sPokeblockMenu->itemsNo == 0) + sSavedPokeblockData.lastItemPos = 0; + else + sSavedPokeblockData.lastItemPos = sPokeblockMenu->itemsNo - 1; + } +} + +static void sub_8136344(void) +{ + if (sSavedPokeblockData.lastItemPos > 4) + { + u8 i; + + for (i = 0; + (i < sSavedPokeblockData.lastItemPos - 4) && (sSavedPokeblockData.lastItemPage + sPokeblockMenu->maxShowed != sPokeblockMenu->itemsNo); + sSavedPokeblockData.lastItemPos--, sSavedPokeblockData.lastItemPage++, i++); + } +} + +static void sub_81363BC(void) +{ + if (sPokeblockMenu->unkTaskId == 0xFF) + { + sPokeblockMenu->unkTaskId = AddScrollIndicatorArrowPairParametrized(2, 0xB0, 8, 0x98, sPokeblockMenu->itemsNo - sPokeblockMenu->maxShowed, + 0x456, 0x456, &sSavedPokeblockData.lastItemPage); + } +} + +static void sub_8136418(void) +{ + if (sPokeblockMenu->unkTaskId != 0xFF) + { + RemoveScrollIndicatorArrowPair(sPokeblockMenu->unkTaskId); + sPokeblockMenu->unkTaskId = 0xFF; + } +} + +u8 CreatePokeblockCaseSprite(s16 x, s16 y, u8 subpriority) +{ + return CreateSprite(&sSpriteTemplate_PokeblockCase, x, y, subpriority); +} + +static void sub_8136470(struct Sprite *sprite) +{ + if (sprite->data[0] > 1) + sprite->data[0] = 0; + + switch (sprite->data[0]) + { + case 0: + sprite->oam.affineMode = 1; + sprite->affineAnims = sSpriteAffineAnimTable_85B26F0; + InitSpriteAffineAnim(sprite); + sprite->data[0] = 1; + sprite->data[1] = 0; + break; + case 1: + if (++sprite->data[1] > 11) + { + sprite->oam.affineMode = 0; + sprite->data[0] = 0; + sprite->data[1] = 0; + FreeOamMatrix(sprite->oam.matrixNum); + sprite->callback = SpriteCallbackDummy; + } + break; + } +} + +static void FadePaletteAndSetTaskToClosePokeblockCase(u8 taskId) +{ + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + gTasks[taskId].func = Task_FreeDataAndExitPokeblockCase; +} + +static void Task_FreeDataAndExitPokeblockCase(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (!gPaletteFade.active) + { + if (sPokeblockMenu->caseId == PBLOCK_CASE_FEEDER || sPokeblockMenu->caseId == PBLOCK_CASE_GIVE) + gFieldCallback = sub_80AF168; + + sub_81AE6C8(data[0], &sSavedPokeblockData.lastItemPage, &sSavedPokeblockData.lastItemPos); + sub_8136418(); + ResetSpriteData(); + FreeAllSpritePalettes(); + + if (sPokeblockMenu->callbackOnUse != NULL) + SetMainCallback2(sPokeblockMenu->callbackOnUse); + else + SetMainCallback2(sSavedPokeblockData.callback); + + FreeAllWindowBuffers(); + Free(sPokeblockMenu); + DestroyTask(taskId); + } +} + +static void Task_HandlePokeblockMenuInput(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (!gPaletteFade.active && sub_81221EC() != TRUE) + { + if (gMain.newKeys & SELECT_BUTTON) + { + sub_81AE860(data[0], &sSavedPokeblockData.lastItemPage, &sSavedPokeblockData.lastItemPos); + if (sSavedPokeblockData.lastItemPage + sSavedPokeblockData.lastItemPos != sPokeblockMenu->itemsNo - 1) + { + PlaySE(SE_SELECT); + HandlePokeblockMenuCursor(sSavedPokeblockData.lastItemPos, 0x2005); + data[2] = sSavedPokeblockData.lastItemPage + sSavedPokeblockData.lastItemPos; + sPokeblockMenu->isSwapping = TRUE; + gTasks[taskId].func = Task_HandlePokeblocksSwapInput; + } + } + else + { + u16 oldPosition = sSavedPokeblockData.lastItemPos; + s32 itemId = ListMenuHandleInputGetItemId(data[0]); + + sub_81AE860(data[0], &sSavedPokeblockData.lastItemPage, &sSavedPokeblockData.lastItemPos); + if (oldPosition != sSavedPokeblockData.lastItemPos) + { + HandlePokeblockMenuCursor(oldPosition, 5); + HandlePokeblockMenuCursor(sSavedPokeblockData.lastItemPos, 0x1005); + } + + switch (itemId) + { + case LIST_NOTHING_CHOSEN: + break; + case LIST_B_PRESSED: + PlaySE(SE_SELECT); + gSpecialVar_Result = 0xFFFF; + gSpecialVar_ItemId = 0; + FadePaletteAndSetTaskToClosePokeblockCase(taskId); + break; + default: + PlaySE(SE_SELECT); + gSpecialVar_ItemId = itemId; + PutPokeblockOptionsWindow(taskId); + break; + } + } + } +} + +static void Task_HandlePokeblocksSwapInput(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (sub_81221EC() == TRUE) + return; + + if (gMain.newKeys & SELECT_BUTTON) + { + PlaySE(SE_SELECT); + sub_81AE860(data[0], &sSavedPokeblockData.lastItemPage, &sSavedPokeblockData.lastItemPos); + HandlePokeblocksSwap(taskId, FALSE); + } + else + { + u16 i = sSavedPokeblockData.lastItemPage; + u16 var = sSavedPokeblockData.lastItemPos; + s32 itemId = ListMenuHandleInputGetItemId(data[0]); + + sub_81AE860(data[0], &sSavedPokeblockData.lastItemPage, &sSavedPokeblockData.lastItemPos); + if (i != sSavedPokeblockData.lastItemPage || var != sSavedPokeblockData.lastItemPos) + { + for (i = 0; i < 9; i++) + { + var = i + sSavedPokeblockData.lastItemPage; + if (var == data[2]) + HandlePokeblockMenuCursor(i, 0x2005); + else + HandlePokeblockMenuCursor(i, 5); + } + } + + sub_81223FC(sPokeblockMenu->field_E75, FIELD_E75_COUNT, 0); + sub_8122448(sPokeblockMenu->field_E75, FIELD_E75_COUNT, 0x80, (sSavedPokeblockData.lastItemPos * 16) + 8); + + switch (itemId) + { + case LIST_NOTHING_CHOSEN: + break; + case LIST_B_PRESSED: // same id as STOW CASE field + PlaySE(SE_SELECT); + if (gMain.newKeys & A_BUTTON) + HandlePokeblocksSwap(taskId, FALSE); + else + HandlePokeblocksSwap(taskId, TRUE); + break; + default: + PlaySE(SE_SELECT); + HandlePokeblocksSwap(taskId, FALSE); + break; + } + } +} + +static void HandlePokeblocksSwap(u8 taskId, bool8 noSwap) +{ + u8 i; + s16 *data = gTasks[taskId].data; + u16 swappedFromId = sSavedPokeblockData.lastItemPage + sSavedPokeblockData.lastItemPos; + + sPokeblockMenu->isSwapping = FALSE; + sub_81AE6C8(data[0], &sSavedPokeblockData.lastItemPage, &sSavedPokeblockData.lastItemPos); + + if (!noSwap && data[2] != swappedFromId && data[2] != swappedFromId - 1) + { + SwapSortPokeblocksInternalData(data[2], swappedFromId); + HandlePokeblockListMenuItems(); + } + + if (data[2] < swappedFromId) + sSavedPokeblockData.lastItemPos--; + + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sSavedPokeblockData.lastItemPage, sSavedPokeblockData.lastItemPos); + schedule_bg_copy_tilemap_to_vram(0); + sub_81223FC(sPokeblockMenu->field_E75, FIELD_E75_COUNT, 1); + + for (i = 0; i < 9; i++) + HandlePokeblockMenuCursor(i, 5); + + HandlePokeblockMenuCursor(sSavedPokeblockData.lastItemPos, 0x1005); + gTasks[taskId].func = Task_HandlePokeblockMenuInput; +} + +static void PutPokeblockOptionsWindow(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (sPokeblockMenu->optionsNo == 3) + data[1] = 8; + else + data[1] = 9; + + sub_8136418(); + SetWindowBorderStyle(data[1], 0, 1, 0xE); + sub_81995E4(data[1], sPokeblockMenu->optionsNo, sPokeblockMenuActions, sPokeblockMenu->pokeblockOptionsIds); + InitMenuInUpperLeftCornerPlaySoundWhenAPressed(data[1], sPokeblockMenu->optionsNo, 0); + PutWindowTilemap(data[1]); + schedule_bg_copy_tilemap_to_vram(1); + + gTasks[taskId].func = Task_HandlePokeblockOptionsInput; +} + +static void Task_HandlePokeblockOptionsInput(u8 taskId) +{ + s8 itemId; + + if (sub_81221EC() == TRUE) + return; + + itemId = ProcessMenuInputNoWrapAround(); + if (itemId == MENU_NOTHING_CHOSEN) + { + return; + } + else if (itemId == MENU_B_PRESSED) + { + PlaySE(SE_SELECT); + PokeblockAction_Cancel(taskId); + } + else + { + PlaySE(SE_SELECT); + sPokeblockMenuActions[sPokeblockMenu->pokeblockOptionsIds[itemId]].func.void_u8(taskId); + } +} + +static void PokeblockAction_UseOnField(u8 taskId) +{ + sPokeblockMenu->callbackOnUse = UsePokeblockOnField; + FadePaletteAndSetTaskToClosePokeblockCase(taskId); +} + +static void UsePokeblockOnField(void) +{ + ChooseMonToGivePokeblock(&gSaveBlock1Ptr->pokeblocks[gSpecialVar_ItemId], ReturnToPokeblockCaseOnField); +} + +static void ReturnToPokeblockCaseOnField(void) +{ + OpenPokeblockCase(PBLOCK_CASE_FIELD, sSavedPokeblockData.callback); +} + +static void PokeblockAction_Toss(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + sub_8198070(data[1], FALSE); + StringCopy(gStringVar1, gPokeblockNames[gSaveBlock1Ptr->pokeblocks[gSpecialVar_ItemId].color]); + StringExpandPlaceholders(gStringVar4, gText_ThrowAwayVar1); + DisplayMessageAndContinueTask(taskId, 10, 10, 13, 1, GetPlayerTextSpeed(), gStringVar4, CreateTossPokeblockYesNoMenu); +} + +static void CreateTossPokeblockYesNoMenu(u8 taskId) +{ + CreateYesNoMenuWithCallbacks(taskId, &sTossPkblockWindowTemplate, 1, 0, 2, 1, 0xE, &sTossYesNoFuncTable); +} + +static void TossPokeblockChoice_Yes(u8 taskId) +{ + StringExpandPlaceholders(gStringVar4, gText_Var1ThrownAway); + DisplayMessageAndContinueTask(taskId, 10, 10, 13, 1, GetPlayerTextSpeed(), gStringVar4, HandleErasePokeblock); +} + +static void HandleErasePokeblock(u8 taskId) +{ + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + s16 *data; + u16 *lastPage, *lastPos; + + TryClearPokeblock(gSpecialVar_ItemId); + PlaySE(SE_SELECT); + + lastPage = &sSavedPokeblockData.lastItemPage; + lastPos = &sSavedPokeblockData.lastItemPos; + data = gTasks[taskId].data; + + sub_81AE6C8(data[0], lastPage, lastPos); + HandlePokeblockMenuCursor(*lastPos, 5); + SetMenuItemsCountAndMaxShowed(); + sub_81362E0(); + HandlePokeblockListMenuItems(); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, *lastPage, *lastPos); + HandlePokeblockMenuCursor(*lastPos, 0x1005); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + TossPokeblockChoice_No(taskId); + } +} + +static void TossPokeblockChoice_No(u8 taskId) +{ + sub_8197DF8(10, FALSE); + schedule_bg_copy_tilemap_to_vram(1); + sub_81363BC(); + gTasks[taskId].func = Task_HandlePokeblockMenuInput; +} + +static void PokeblockAction_UseInBattle(u8 taskId) +{ + u8 nature = GetNature(&gEnemyParty[0]); + s16 gain = PokeblockGetGain(nature, &gSaveBlock1Ptr->pokeblocks[gSpecialVar_ItemId]); + StringCopy(gBattleTextBuff1, gPokeblockNames[gSaveBlock1Ptr->pokeblocks[gSpecialVar_ItemId].color]); + TryClearPokeblock(gSpecialVar_ItemId); + + gSpecialVar_ItemId = gSaveBlock1Ptr->pokeblocks[gSpecialVar_ItemId].color << 8; + if (gain == 0) + gSpecialVar_ItemId += 1; + else if (gain > 0) + gSpecialVar_ItemId += 2; + else + gSpecialVar_ItemId += 3; + + FadePaletteAndSetTaskToClosePokeblockCase(taskId); +} + +static void PokeblockAction_UseOnPokeblockFeeder(u8 taskId) +{ + SafariZoneActivatePokeblockFeeder(gSpecialVar_ItemId); + StringCopy(gStringVar1, gPokeblockNames[gSaveBlock1Ptr->pokeblocks[gSpecialVar_ItemId].color]); + gSpecialVar_Result = gSpecialVar_ItemId; + TryClearPokeblock(gSpecialVar_ItemId); + gSpecialVar_ItemId = 0; + FadePaletteAndSetTaskToClosePokeblockCase(taskId); +} + +static void PokeblockAction_GiveToContestLady(u8 taskId) +{ + gSpecialVar_0x8004 = GivePokeblockToContestLady(&gSaveBlock1Ptr->pokeblocks[gSpecialVar_ItemId]); + gSpecialVar_Result = gSpecialVar_ItemId; + TryClearPokeblock(gSpecialVar_ItemId); + gSpecialVar_ItemId = 0; + FadePaletteAndSetTaskToClosePokeblockCase(taskId); +} + +static void PokeblockAction_Cancel(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + sub_8198070(data[1], FALSE); + schedule_bg_copy_tilemap_to_vram(1); + sub_81363BC(); + gTasks[taskId].func = Task_HandlePokeblockMenuInput; +} + +static void ClearPokeblock(u8 pkblId) +{ + gSaveBlock1Ptr->pokeblocks[pkblId].color = 0; + gSaveBlock1Ptr->pokeblocks[pkblId].spicy = 0; + gSaveBlock1Ptr->pokeblocks[pkblId].dry = 0; + gSaveBlock1Ptr->pokeblocks[pkblId].sweet = 0; + gSaveBlock1Ptr->pokeblocks[pkblId].bitter = 0; + gSaveBlock1Ptr->pokeblocks[pkblId].sour = 0; + gSaveBlock1Ptr->pokeblocks[pkblId].feel = 0; +} + +void ClearPokeblocks(void) +{ + u8 i; + + for (i = 0; i < POKEBLOCKS_COUNT; i++) + ClearPokeblock(i); +} + +u8 GetHighestPokeblocksFlavorLevel(const struct Pokeblock *pokeblock) +{ + u8 i; + u8 maxFlavor = GetPokeblockData(pokeblock, PBLOCK_SPICY); + + for (i = PBLOCK_SPICY; i < FLAVOR_COUNT; i++) + { + u8 currFlavor = GetPokeblockData(pokeblock, PBLOCK_SPICY + i); + if (maxFlavor < currFlavor) + maxFlavor = currFlavor; + } + + return maxFlavor; +} + +u8 GetPokeblocksFeel(const struct Pokeblock *pokeblock) +{ + u8 feel = GetPokeblockData(pokeblock, PBLOCK_FEEL); + if (feel > POKEBLOCK_MAX_FEEL) + feel = POKEBLOCK_MAX_FEEL; + + return feel; +} + +s8 GetFirstFreePokeblockSlot(void) +{ + u8 i; + + for (i = 0; i < POKEBLOCKS_COUNT; i++) + { + if (gSaveBlock1Ptr->pokeblocks[i].color == 0) + return i; + } + + return -1; +} + +bool32 AddPokeblock(const struct Pokeblock *pokeblock) +{ + s8 slot = GetFirstFreePokeblockSlot(); + + if (slot == -1) + { + return FALSE; + } + else + { + gSaveBlock1Ptr->pokeblocks[slot] = *pokeblock; + return TRUE; + } +} + +bool32 TryClearPokeblock(u8 pkblId) +{ + if (gSaveBlock1Ptr->pokeblocks[pkblId].color == 0) + { + return FALSE; + } + else + { + ClearPokeblock(pkblId); + return TRUE; + } +} + +s16 GetPokeblockData(const struct Pokeblock *pokeblock, u8 field) +{ + if (field == PBLOCK_COLOR) + return pokeblock->color; + if (field == PBLOCK_SPICY) + return pokeblock->spicy; + if (field == PBLOCK_DRY) + return pokeblock->dry; + if (field == PBLOCK_SWEET) + return pokeblock->sweet; + if (field == PBLOCK_BITTER) + return pokeblock->bitter; + if (field == PBLOCK_SOUR) + return pokeblock->sour; + if (field == PBLOCK_FEEL) + return pokeblock->feel; + + return 0; +} + +s16 PokeblockGetGain(u8 nature, const struct Pokeblock *pokeblock) +{ + u8 flavor; + s16 curGain, totalGain = 0; + + for (flavor = 0; flavor < FLAVOR_COUNT; flavor++) + { + curGain = GetPokeblockData(pokeblock, flavor + PBLOCK_SPICY); + if (curGain > 0) + totalGain += curGain * gPokeblockFlavorCompatibilityTable[5 * nature + flavor]; + } + + return totalGain; +} + +void PokeblockCopyName(const struct Pokeblock *pokeblock, u8 *dest) +{ + u8 color = GetPokeblockData(pokeblock, PBLOCK_COLOR); + StringCopy(dest, gPokeblockNames[color]); +} + +bool8 CopyMonFavoritePokeblockName(u8 nature, u8 *dest) +{ + u8 i; + + for (i = 0; i < FLAVOR_COUNT; i++) + { + if (PokeblockGetGain(nature, &sFavoritePokeblocksTable[i]) > 0) + { + StringCopy(dest, gPokeblockNames[i + 1]); + return TRUE; + } + } + + return FALSE; +} + +u8 GetPokeblocksFlavor(const struct Pokeblock *pokeblock) +{ + s16 bestFlavor = 0; + s16 i; + + for (i = 0; i < FLAVOR_COUNT; i++) + { + if (GetPokeblockData(pokeblock, bestFlavor + 1) < GetPokeblockData(pokeblock, i + 1)) + bestFlavor = i; + } + + return bestFlavor; +} diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c new file mode 100644 index 0000000000..2039808cb5 --- /dev/null +++ b/src/pokeblock_feed.c @@ -0,0 +1,1107 @@ +#include "global.h" +#include "pokeblock.h" +#include "sprite.h" +#include "task.h" +#include "palette.h" +#include "menu.h" +#include "malloc.h" +#include "pokemon.h" +#include "blend_palette.h" +#include "main.h" +#include "menu_helpers.h" +#include "bg.h" +#include "gpu_regs.h" +#include "data2.h" +#include "decompress.h" +#include "event_data.h" +#include "strings.h" +#include "string_util.h" +#include "party_menu.h" +#include "m4a.h" +#include "sound.h" +#include "trig.h" +#include "graphics.h" +#include "battle.h" // to get rid of once gMonSpritesGfxPtr is put elsewhere + +struct PokeblockFeedStruct +{ + struct Sprite *monSpritePtr; + struct Sprite savedMonSprite; + u8 tilemapBuffer[0x808]; + s16 field_850[0x200]; + s16 field_C50[0x200]; + u8 field_1050; + u8 animId; + u8 field_1052; + bool8 noMonFlip; + u16 species; + u16 field_1056; + u16 field_1058; + u8 nature; + u8 monSpriteId_; + u8 field_105C; + u8 monSpriteId; + u8 pokeblockCaseSpriteId; + u8 pokeblockSpriteId; + s16 field_1060[15]; + s16 loadGfxState; + u8 unused; +}; + +extern u16 gSpecialVar_ItemId; +extern struct MusicPlayerInfo gMPlayInfo_BGM; +extern struct SpriteTemplate gUnknown_0202499C; + +extern const u8 gBattleTerrainPalette_Frontier[]; +extern const u8 gBattleTerrainTiles_Building[]; +extern const u8 gUnknown_08D9BA44[]; +extern const struct CompressedSpriteSheet gMonFrontPicTable[]; +extern const u16 gUnknown_0860F074[]; + +extern bool8 sub_81221EC(void); +extern void sub_806A068(u16, u8); +extern void sub_809882C(u8, u16, u8); + +// this file's functions +static void HandleInitBackgrounds(void); +static void HandleInitWindows(void); +static void LaunchPokeblockFeedTask(void); +static void SetPokeblockSpritePal(u8 pokeblockCaseId); +static void sub_817A5CC(void); +static void sub_8148108(u8 spriteId, bool8 a1); +static void DoPokeblockCaseThrowEffect(u8 spriteId, bool8 arg1); +static void PrepareMonToMoveToPokeblock(u8 spriteId); +static void Task_HandleMonAtePokeblock(u8 taskId); +static void Task_PaletteFadeToReturn(u8 taskId); +static void sub_817A634(void); +static void sub_817A468(struct Sprite *sprite); +static void sub_817AB68(void); +static void sub_817AA54(void); +static bool8 sub_817A91C(void); +static bool8 FreeMonSpriteOamMatrix(void); +static bool8 sub_817A9E4(void); +static bool8 LoadMonAndSceneGfx(struct Pokemon *mon); +static u8 CreatePokeblockSprite(void); +static u8 CreatePokeblockCaseSpriteForFeeding(void); +static u8 CreateMonSprite(struct Pokemon *mon); +static void SpriteCB_ThrownPokeblock(struct Sprite* sprite); + +// ram variables +EWRAM_DATA static struct PokeblockFeedStruct *sPokeblockFeed = NULL; +EWRAM_DATA static struct CompressedSpritePalette sPokeblockSpritePal = {0}; + +// const rom data +static const u8 sNatureToMonPokeblockAnim[][2] = +{ + { 0, 0 }, // HARDY + { 3, 0 }, // LONELY + { 4, 1 }, // BRAVE + { 5, 0 }, // ADAMANT + { 10, 0 }, // NAUGHTY + { 13, 0 }, // BOLD + { 15, 0 }, // DOCILE + { 16, 2 }, // RELAXED + { 18, 0 }, // IMPISH + { 19, 0 }, // LAX + { 20, 0 }, // TIMID + { 25, 0 }, // HASTY + { 27, 3 }, // SERIOUS + { 28, 0 }, // JOLLY + { 29, 0 }, // NAIVE + { 33, 4 }, // MODEST + { 36, 0 }, // MILD + { 37, 0 }, // QUIET + { 39, 0 }, // BASHFUL + { 42, 0 }, // RASH + { 45, 0 }, // CALM + { 46, 5 }, // GENTLE + { 47, 6 }, // SASSY + { 48, 0 }, // CAREFUL + { 53, 0 }, // QUIRKY +}; + +static const s16 sMonPokeblockAnims[][10] = +{ + // HARDY + { 0, 4, 0, 8, 24, 0, 0, 0, 12, 0}, + { 0, 4, 0, 16, 24, 0, 0, 0, 12, 0}, + { 0, 4, 0, 32, 32, 0, 0, 0, 16, 1}, + + // LONELY + { 0, 3, 6, 0, 48, 0, 0, 0, 24, 1}, + + // BRAVE + { 64, 16, -24, 0, 32, 0, 0, 0, 0, 1}, + + // ADAMANT + { 0, 4, 8, 0, 16, 0, -8, 0, 0, 0}, + { 0, 0, 0, 0, 16, 0, 0, 0, 0, 0}, + { 0, 4, 8, 0, 16, 0, -8, 0, 0, 0}, + { 0, 0, 0, 0, 16, 0, 0, 0, 0, 0}, + { 0, 4, -16, 0, 4, 0, 16, 0, 0, 1}, + + // NAUGHTY + { 0, 3, 6, 0, 12, 0, 0, 0, 6, 0}, + { 0, 3, -6, 0, 12, 0, 0, 0, 6, 0}, + { 0, 16, 16, 0, 45, 1, 0, 0, 0, 1}, + + // BOLD + { 0, 16, 0, 24, 32, 0, 0, 0, 16, 0}, + { 0, 16, 0, 23, 32, 0, 0, 0, 16, 1}, + + // DOCILE + { 0, 0, 0, 0, 80, 0, 0, 0, 0, 1}, + + // RELAXED + { 0, 2, 8, 0, 32, 0, 0, 0, 0, 0}, + { 0, 2, -8, 0, 32, 0, 0, 0, 0, 1}, + + // IMPISH + { 0, 32, 2, 1, 48, 1, 0, 0, 24, 1}, + + // LAX + { 0, 2, 16, 16, 128, 0, 0, 0, 0, 1}, + + // TIMID + { 0, 2, -8, 0, 48, 0, -24, 0, 0, 0}, + { 0, 0, 0, 0, 8, 0, 0, 0, 0, 0}, + { 64, 32, 2, 0, 36, 0, 0, 0, 0, 0}, + { 0, 0, 0, 0, 8, 0, 0, 0, 0, 0}, + { 0, 2, 8, 0, 48, 0, 24, 0, 0, 1}, + + // HASTY + { 64, 24, 16, 0, 32, 0, 0, 0, 0, 0}, + { 0, 28, 2, 1, 32, 1, 0, 0, 16, 1}, + + // SERIOUS + { 0, 0, 0, 0, 32, 0, 0, 0, 0, 1}, + + // JOLLY + { 64, 16, -16, 2, 48, 0, 0, 0, 32, 1}, + + // NAIVE + { 0, 12, -8, 4, 24, 0, 8, 0, 12, 0}, + { 0, 12, 8, 8, 24, 0, -16, 0, 12, 0}, + { 0, 12, -8, 16, 24, 0, 16, 0, 12, 0}, + { 0, 12, 8, 28, 24, 0, -8, 0, 12, 1}, + + // MODEST + { 0, 0, 0, 0, 8, 0, 0, 0, 0, 0}, + { 64, 16, -4, 0, 32, 0, 0, 0, 0, 0}, + { 0, 0, 0, 0, 8, 0, 0, 0, 0, 1}, + + // MILD + { 128, 4, 0, 8, 64, 0, 0, 0, 0, 1}, + + // QUIET + { 0, 2, 16, 0, 48, 0, 0, 0, 0, 0}, + { 128, 2, 16, 0, 48, 0, 0, 0, 0, 1}, + + // BASHFUL + { 0, 2, -4, 0, 48, 0, -48, 0, 0, 0}, + { 0, 0, 0, 0, 80, 0, 0, 0, 0, 0}, + { 0, 2, 8, 0, 24, 0, 48, 0, 0, 1}, + + // RASH + { 64, 4, 64, 58, 52, 0, -88, 0, 0, 0}, + { 0, 0, 0, 0, 80, 0, 0, 0, 0, 0}, + { 0, 24, 80, 0, 32, 0, 88, 0, 0, 1}, + + // CALM + { 0, 2, 16, 4, 64, 0, 0, 0, 0, 1}, + + // GENTLE + { 0, 0, 0, 0, 32, 0, 0, 0, 0, 1}, + + // SASSY + { 0, 0, 0, 0, 42, 0, 0, 0, 0, 1}, + + // CAREFUL + { 0, 4, 0, 8, 24, 0, 0, 0, 12, 0}, + { 0, 0, 0, 0, 12, 0, 0, 0, 0, 0}, + { 0, 4, 0, 12, 24, 0, 0, 0, 12, 0}, + { 0, 0, 0, 0, 12, 0, 0, 0, 0, 0}, + { 0, 4, 0, 4, 24, 0, 0, 0, 12, 1}, + + // QUIRKY + { 0, 4, 16, 12, 64, 0, 0, 0, 0, 0}, + { 0, -4, 16, 12, 64, 0, 0, 0, 0, 1}, +}; + +static const union AffineAnimCmd sSpriteAffineAnim_8411E90[] = +{ + AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sSpriteAffineAnim_8411EA0[] = +{ + AFFINEANIMCMD_FRAME(0, 0, 12, 1), + AFFINEANIMCMD_FRAME(0, 0, 0, 30), + AFFINEANIMCMD_FRAME(0, 0, -12, 1), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sSpriteAffineAnim_8411EC0[] = +{ + AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 12, 1), + AFFINEANIMCMD_FRAME(0, 0, 0, 28), + AFFINEANIMCMD_FRAME(0, 0, -4, 3), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sSpriteAffineAnim_8411EE8[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 16), + AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 32), + AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 16), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sSpriteAffineAnim_8411F08[] = +{ + AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 16), + AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 32), + AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 16), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sSpriteAffineAnim_8411F30[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 8), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 16), + AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 8), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sSpriteAffineAnim_8411F50[] = +{ + AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 8), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 16), + AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 8), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sSpriteAffineAnim_8411F78[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 8), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 32), + AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 8), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sSpriteAffineAnim_8411F98[] = +{ + AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 8), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 32), + AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 8), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sSpriteAffineAnim_8411FC0[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 4), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 24), + AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 4), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sSpriteAffineAnim_8411FE0[] = +{ + AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 4), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 24), + AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 4), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sSpriteAffineAnim_8412008[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 24), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 16), + AFFINEANIMCMD_FRAME(0x0, 0x0, -12, 2), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sSpriteAffineAnim_8412028[] = +{ + AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 24), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 16), + AFFINEANIMCMD_FRAME(0x0, 0x0, -12, 2), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const sSpriteAffineAnimTable_85F04FC[] = +{ + sSpriteAffineAnim_8411E90, + sSpriteAffineAnim_8411EA0, + sSpriteAffineAnim_8411EE8, + sSpriteAffineAnim_8411F30, + sSpriteAffineAnim_8411F78, + sSpriteAffineAnim_8411FC0, + sSpriteAffineAnim_8412008, + sSpriteAffineAnim_8411E90, + sSpriteAffineAnim_8411E90, + sSpriteAffineAnim_8411E90, + sSpriteAffineAnim_8411E90, + sSpriteAffineAnim_8411EC0, + sSpriteAffineAnim_8411F08, + sSpriteAffineAnim_8411F50, + sSpriteAffineAnim_8411F98, + sSpriteAffineAnim_8411FE0, + sSpriteAffineAnim_8412028, + sSpriteAffineAnim_8411E90, + sSpriteAffineAnim_8411E90, + sSpriteAffineAnim_8411E90, + sSpriteAffineAnim_8411E90, +}; + +static const struct BgTemplate sBackgroundTemplates[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 2, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + } +}; + +static const struct WindowTemplate sWindowTemplates[] = +{ + {0, 1, 0xF, 0x1C, 4, 0xF, 0xA}, + DUMMY_WIN_TEMPLATE +}; + +static const u8* const sPokeblocksPals[] = +{ + gPokeblockRed_Pal, + gPokeblockBlue_Pal, + gPokeblockPink_Pal, + gPokeblockGreen_Pal, + gPokeblockYellow_Pal, + gPokeblockPurple_Pal, + gPokeblockIndigo_Pal, + gPokeblockBrown_Pal, + gPokeblockLiteBlue_Pal, + gPokeblockOlive_Pal, + gPokeblockGray_Pal, + gPokeblockBlack_Pal, + gPokeblockWhite_Pal, + gPokeblockGold_Pal +}; + +static const union AffineAnimCmd sSpriteAffineAnim_84120DC[] = +{ + AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const sSpriteAffineAnimTable_MonNoFlip[] = +{ + sSpriteAffineAnim_84120DC +}; + +static const union AffineAnimCmd sSpriteAffineAnim_84120F0[] = +{ + AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, -8, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, -8, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, -8, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, -8, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), + AFFINEANIMCMD_FRAME(0x0, 0x0, 16, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 16, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 16, 1), + AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sSpriteAffineAnim_8412148[] = +{ + AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, 8, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 8, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 8, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 8, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), + AFFINEANIMCMD_FRAME(0x0, 0x0, -16, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, -16, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, -16, 1), + AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const sSpriteAffineAnimTable_85F0664[] = +{ + sSpriteAffineAnim_84120DC +}; + +static const union AffineAnimCmd *const sSpriteAffineAnimTable_85F0668[] = +{ + sSpriteAffineAnim_84120F0 +}; + +static const union AffineAnimCmd *const sSpriteAffineAnimTable_85F066C[] = +{ + sSpriteAffineAnim_8412148 +}; + +static const struct OamData sThrownPokeblockOamData = +{ + .y = 0, + .affineMode = 3, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AnimCmd sThrownPokeblockSpriteAnim[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const sThrownPokeblockAnimTable[] = +{ + sThrownPokeblockSpriteAnim, +}; + +static const union AffineAnimCmd sSpriteAffineAnim_84121C0[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(-8, -8, 0, 1), + AFFINEANIMCMD_JUMP(1) +}; + +static const union AffineAnimCmd *const sThrownPokeblockAffineAnimTable[] = +{ + sSpriteAffineAnim_84121C0 +}; + +static const struct CompressedSpriteSheet sPokeblock_SpriteSheet = +{ + gPokeblock_Gfx, 0x20, GFX_TAG_POKEBLOCK +}; + +static const struct SpriteTemplate sThrownPokeblockSpriteTemplate = +{ + .tileTag = GFX_TAG_POKEBLOCK, + .paletteTag = GFX_TAG_POKEBLOCK, + .oam = &sThrownPokeblockOamData, + .anims = sThrownPokeblockAnimTable, + .images = NULL, + .affineAnims = sThrownPokeblockAffineAnimTable, + .callback = SpriteCB_ThrownPokeblock +}; + +// code +static void CB2_PokeblockFeed(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + do_scheduled_bg_tilemap_copies_to_vram(); + UpdatePaletteFade(); +} + +static void VBlankCB_PokeblockFeed(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static bool8 TransitionToPokeblockFeedScene(void) +{ + switch (gMain.state) + { + case 0: + sPokeblockFeed = AllocZeroed(sizeof(*sPokeblockFeed)); + SetVBlankHBlankCallbacksToNull(); + clear_scheduled_bg_copies_to_vram(); + gMain.state++; + break; + case 1: + ResetPaletteFade(); + gPaletteFade.bufferTransferDisabled = 1; + gMain.state++; + break; + case 2: + ResetSpriteData(); + gMain.state++; + break; + case 3: + FreeAllSpritePalettes(); + gMain.state++; + break; + case 4: + AllocateMonSpritesGfx(); + gMain.state++; + break; + case 5: + HandleInitBackgrounds(); + gMain.state++; + break; + case 6: + HandleInitWindows(); + gMain.state++; + break; + case 7: + if (LoadMonAndSceneGfx(&gPlayerParty[gPokeblockMonId])) + { + gMain.state++; + } + break; + case 8: + sPokeblockFeed->pokeblockCaseSpriteId = CreatePokeblockCaseSpriteForFeeding(); + gMain.state++; + break; + case 9: + sPokeblockFeed->monSpriteId = CreateMonSprite(&gPlayerParty[gPokeblockMonId]); + gMain.state++; + break; + case 10: + SetWindowBorderStyle(0, 1, 1, 14); + gMain.state++; + break; + case 11: + LaunchPokeblockFeedTask(); + gMain.state++; + break; + case 12: + BlendPalettes(-1, 0x10, 0); + gMain.state++; + break; + case 13: + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + gPaletteFade.bufferTransferDisabled = 0; + gMain.state++; + break; + default: + SetVBlankCallback(VBlankCB_PokeblockFeed); + SetMainCallback2(CB2_PokeblockFeed); + return TRUE; + } + return FALSE; +} + +void CB2_PreparePokeblockFeedScene(void) +{ + while (1) + { + if (sub_81221EC() == TRUE) + break; + if (TransitionToPokeblockFeedScene() == TRUE) + break; + if (sub_81221AC() == TRUE) + break; + } +} + +static void HandleInitBackgrounds(void) +{ + ResetVramOamAndBgCntRegs(); + + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, sBackgroundTemplates, ARRAY_COUNT(sBackgroundTemplates)); + SetBgTilemapBuffer(1, sPokeblockFeed->tilemapBuffer); + ResetAllBgsCoordinates(); + schedule_bg_copy_tilemap_to_vram(1); + + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + + ShowBg(0); + ShowBg(1); + + SetGpuReg(REG_OFFSET_BLDCNT, 0); +} + +static bool8 LoadMonAndSceneGfx(struct Pokemon *mon) +{ + u16 species; + u32 personality, trainerId; + const struct CompressedSpritePalette *palette; + + switch (sPokeblockFeed->loadGfxState) + { + case 0: + species = GetMonData(mon, MON_DATA_SPECIES2); + personality = GetMonData(mon, MON_DATA_PERSONALITY); + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[1], species, personality); + sPokeblockFeed->loadGfxState++; + break; + case 1: + species = GetMonData(mon, MON_DATA_SPECIES2); + personality = GetMonData(mon, MON_DATA_PERSONALITY); + trainerId = GetMonData(mon, MON_DATA_OT_ID); + palette = GetMonSpritePalStructFromOtIdPersonality(species, trainerId, personality); + + LoadCompressedObjectPalette(palette); + sub_806A068(palette->tag, 1); + sPokeblockFeed->loadGfxState++; + break; + case 2: + LoadCompressedObjectPic(&gPokeblockCase_SpriteSheet); + sPokeblockFeed->loadGfxState++; + break; + case 3: + LoadCompressedObjectPalette(&gPokeblockCase_SpritePal); + sPokeblockFeed->loadGfxState++; + break; + case 4: + LoadCompressedObjectPic(&sPokeblock_SpriteSheet); + sPokeblockFeed->loadGfxState++; + break; + case 5: + SetPokeblockSpritePal(gSpecialVar_ItemId); + LoadCompressedObjectPalette(&sPokeblockSpritePal); + sPokeblockFeed->loadGfxState++; + break; + case 6: + reset_temp_tile_data_buffers(); + decompress_and_copy_tile_data_to_vram(1, gBattleTerrainTiles_Building, 0, 0, 0); + sPokeblockFeed->loadGfxState++; + break; + case 7: + if (free_temp_tile_data_buffers_if_possible() != TRUE) + { + LZDecompressWram(gUnknown_08D9BA44, sPokeblockFeed->tilemapBuffer); + sPokeblockFeed->loadGfxState++; + } + break; + case 8: + LoadCompressedPalette(gBattleTerrainPalette_Frontier, 0x20, 0x60); + sPokeblockFeed->loadGfxState = 0; + return TRUE; + } + + return FALSE; +} + +static void HandleInitWindows(void) +{ + InitWindows(sWindowTemplates); + DeactivateAllTextPrinters(); + sub_809882C(0, 1, 0xE0); + LoadPalette(gUnknown_0860F074, 0xF0, 0x20); + FillWindowPixelBuffer(0, 0); + PutWindowTilemap(0); + schedule_bg_copy_tilemap_to_vram(0); +} + +static void SetPokeblockSpritePal(u8 pokeblockCaseId) +{ + u8 colorId = GetPokeblockData(&gSaveBlock1Ptr->pokeblocks[pokeblockCaseId], PBLOCK_COLOR); + sPokeblockSpritePal.data = sPokeblocksPals[colorId - 1]; + sPokeblockSpritePal.tag = GFX_TAG_POKEBLOCK; +} + +// defines for task data fields + +#define tFrames data[0] +#define tData1 data[1] + +static void Task_HandlePokeblockFeed(u8 taskId) +{ + if (!gPaletteFade.active) + { + switch (gTasks[taskId].tFrames) + { + case 0: + sPokeblockFeed->field_1050 = 0; + sPokeblockFeed->field_1058 = 0; + sub_817A5CC(); + break; + case 255: + DoPokeblockCaseThrowEffect(sPokeblockFeed->pokeblockCaseSpriteId, gTasks[taskId].tData1); + break; + case 269: + sPokeblockFeed->pokeblockSpriteId = CreatePokeblockSprite(); + break; + case 281: + PrepareMonToMoveToPokeblock(sPokeblockFeed->monSpriteId); + break; + case 297: + gTasks[taskId].func = Task_HandleMonAtePokeblock; + return; + } + + if (sPokeblockFeed->field_1058 < sPokeblockFeed->field_1056) + sub_817A634(); + else if (sPokeblockFeed->field_1058 == sPokeblockFeed->field_1056) + gTasks[taskId].tFrames = 254; + + sPokeblockFeed->field_1058++; + gTasks[taskId].tFrames++; + } +} + +static void LaunchPokeblockFeedTask(void) +{ + u8 taskId = CreateTask(Task_HandlePokeblockFeed, 0); + gTasks[taskId].tFrames = 0; + gTasks[taskId].tData1 = 1; +} + +static void Task_WaitForAtePokeblockText(u8 taskId) +{ + if (RunTextPrintersRetIsActive(0) != TRUE) + gTasks[taskId].func = Task_PaletteFadeToReturn; +} + +static void Task_HandleMonAtePokeblock(u8 taskId) +{ + struct Pokemon *mon = &gPlayerParty[gPokeblockMonId]; + struct Pokeblock *pokeblock = &gSaveBlock1Ptr->pokeblocks[gSpecialVar_ItemId]; + + gPokeblockGain = PokeblockGetGain(GetNature(mon), pokeblock); + GetMonNickname(mon, gStringVar1); + PokeblockCopyName(pokeblock, gStringVar2); + + if (gPokeblockGain == 0) + StringExpandPlaceholders(gStringVar4, gText_Var1AteTheVar2); + else if (gPokeblockGain > 0) + StringExpandPlaceholders(gStringVar4, gText_Var1HappilyAteVar2); + else + StringExpandPlaceholders(gStringVar4, gText_Var1DisdainfullyAteVar2); + + gTextFlags.flag_0 = 1; + AddTextPrinterParameterized(0, 1, gStringVar4, GetPlayerTextSpeed(), NULL, 2, 1, 3); + gTasks[taskId].func = Task_WaitForAtePokeblockText; +} + +static void Task_ReturnAfterPaletteFade(u8 taskId) +{ + if (!gPaletteFade.active) + { + ResetSpriteData(); + FreeAllSpritePalettes(); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, -1, 0x100); + SetMainCallback2(gMain.savedCallback); + DestroyTask(taskId); + FreeAllWindowBuffers(); + Free(sPokeblockFeed); + FreeMonSpritesGfx(); + } +} + +static void Task_PaletteFadeToReturn(u8 taskId) +{ + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + gTasks[taskId].func = Task_ReturnAfterPaletteFade; +} + +#undef tFrames +#undef tData1 + +// defines for mon sprite data fields + +#define tDelta data[0] +#define tDeltaMod data[1] +#define tSpecies data[2] + +static u8 CreateMonSprite(struct Pokemon* mon) +{ + u16 species = GetMonData(mon, MON_DATA_SPECIES2); + u8 spriteId = CreateSprite(&gUnknown_0202499C, 48, 80, 2); + + sPokeblockFeed->species = species; + sPokeblockFeed->monSpriteId_ = spriteId; + sPokeblockFeed->nature = GetNature(mon); + gSprites[spriteId].tSpecies = species; + gSprites[spriteId].callback = SpriteCallbackDummy; + + sPokeblockFeed->noMonFlip = TRUE; + if (!IsPokeSpriteNotFlipped(species)) + { + gSprites[spriteId].affineAnims = sSpriteAffineAnimTable_MonNoFlip; + gSprites[spriteId].oam.affineMode = 3; + CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode); + sPokeblockFeed->noMonFlip = FALSE; + } + + return spriteId; +} + +static void PrepareMonToMoveToPokeblock(u8 spriteId) +{ + gSprites[spriteId].pos1.x = 48; + gSprites[spriteId].pos1.y = 80; + gSprites[spriteId].tDelta = -8; + gSprites[spriteId].tDeltaMod = 1; + gSprites[spriteId].callback = sub_817A468; +} + +static void sub_817A468(struct Sprite* sprite) +{ + sprite->pos1.x += 4; + sprite->pos1.y += sprite->tDelta; + sprite->tDelta += sprite->tDeltaMod; + + if (sprite->tDelta == 0) + PlayCry1(sprite->tSpecies, 0); + if (sprite->tDelta == 9) + sprite->callback = SpriteCallbackDummy; +} + +#undef tDelta +#undef tDeltaMod +#undef tSpecies + +static u8 CreatePokeblockCaseSpriteForFeeding(void) +{ + u8 spriteId = CreatePokeblockCaseSprite(188, 100, 2); + gSprites[spriteId].oam.affineMode = 1; + gSprites[spriteId].affineAnims = sSpriteAffineAnimTable_85F0664; + gSprites[spriteId].callback = SpriteCallbackDummy; + InitSpriteAffineAnim(&gSprites[spriteId]); + return spriteId; +} + +static void DoPokeblockCaseThrowEffect(u8 spriteId, bool8 a1) +{ + FreeOamMatrix(gSprites[spriteId].oam.matrixNum); + gSprites[spriteId].oam.affineMode = 3; + + if (!a1) + gSprites[spriteId].affineAnims = sSpriteAffineAnimTable_85F0668; + else + gSprites[spriteId].affineAnims = sSpriteAffineAnimTable_85F066C; + + InitSpriteAffineAnim(&gSprites[spriteId]); +} + +// defines for the pokeblock sprite data fields +#define tDelta data[0] +#define tDeltaMod data[1] + +static u8 CreatePokeblockSprite(void) +{ + u8 spriteId = CreateSprite(&sThrownPokeblockSpriteTemplate, 174, 84, 1); + gSprites[spriteId].tDelta = -12; + gSprites[spriteId].tDeltaMod = 1; + return spriteId; +} + +static void SpriteCB_ThrownPokeblock(struct Sprite* sprite) +{ + sprite->pos1.x -= 4; + sprite->pos1.y += sprite->tDelta; + sprite->tDelta += sprite->tDeltaMod; + if (sprite->tDelta == 10) + DestroySprite(sprite); +} + +#undef tDelta +#undef tDeltaMod + +static void sub_817A5CC(void) +{ + u8 animId, i; + struct PokeblockFeedStruct *pokeblockFeed; + + pokeblockFeed = sPokeblockFeed; + pokeblockFeed->field_1056 = 1; + animId = sNatureToMonPokeblockAnim[pokeblockFeed->nature][0]; + for (i = 0; i < 8; i++, animId++) + { + pokeblockFeed->field_1056 += sMonPokeblockAnims[animId][4]; + if (sMonPokeblockAnims[animId][9] == 1) + break; + } +} + +static void sub_817A634(void) +{ + struct PokeblockFeedStruct *pokeblockFeed = sPokeblockFeed; + + switch (pokeblockFeed->field_1050) + { + case 0: + pokeblockFeed->animId = sNatureToMonPokeblockAnim[pokeblockFeed->nature][0]; + pokeblockFeed->monSpritePtr = &gSprites[pokeblockFeed->monSpriteId_]; + pokeblockFeed->savedMonSprite = *pokeblockFeed->monSpritePtr; + pokeblockFeed->field_1050 = 10; + break; + case 1 ... 9: + break; + case 10: + sub_817A91C(); + if (sNatureToMonPokeblockAnim[pokeblockFeed->nature][1] != 0) + { + pokeblockFeed->monSpritePtr->oam.affineMode = 3; + pokeblockFeed->monSpritePtr->oam.matrixNum = 0; + pokeblockFeed->monSpritePtr->affineAnims = sSpriteAffineAnimTable_85F04FC; + InitSpriteAffineAnim(pokeblockFeed->monSpritePtr); + } + pokeblockFeed->field_1050 = 50; + case 50: + if (sNatureToMonPokeblockAnim[pokeblockFeed->nature][1] != 0) + { + if (!pokeblockFeed->noMonFlip) // double negation, so mon's sprite is flipped + StartSpriteAffineAnim(pokeblockFeed->monSpritePtr, sNatureToMonPokeblockAnim[pokeblockFeed->nature][1] + 10); + else + StartSpriteAffineAnim(pokeblockFeed->monSpritePtr, sNatureToMonPokeblockAnim[pokeblockFeed->nature][1]); + } + pokeblockFeed->field_1050 = 60; + break; + case 60: + if (sub_817A9E4() == TRUE) + { + if (pokeblockFeed->field_1060[9] == 0) + { + pokeblockFeed->animId++; + sub_817A91C(); + pokeblockFeed->field_1050 = 60; + } + else + { + FreeOamMatrix(pokeblockFeed->monSpritePtr->oam.matrixNum); + pokeblockFeed->field_1050 = 70; + } + } + break; + case 70: + FreeMonSpriteOamMatrix(); + pokeblockFeed->animId = 0; + pokeblockFeed->field_1050 = 0; + break; + case 71 ... 90: + break; + } +} + +static bool8 sub_817A91C(void) +{ + struct PokeblockFeedStruct *pokeblockFeed = sPokeblockFeed; + u8 i; + + for (i = 0; i < 10; i++) + pokeblockFeed->field_1060[i] = sMonPokeblockAnims[pokeblockFeed->animId][i]; + + if (pokeblockFeed->field_1060[4] == 0) + { + return TRUE; + } + else + { + pokeblockFeed->field_1060[10] = Sin(pokeblockFeed->field_1060[0], pokeblockFeed->field_1060[2]); + pokeblockFeed->field_1060[11] = Cos(pokeblockFeed->field_1060[0], pokeblockFeed->field_1060[3]); + pokeblockFeed->field_1060[12] = pokeblockFeed->field_1060[4]; + pokeblockFeed->field_1060[13] = pokeblockFeed->monSpritePtr->pos2.x; + pokeblockFeed->field_1060[14] = pokeblockFeed->monSpritePtr->pos2.y; + sub_817AB68(); + pokeblockFeed->field_1060[4] = pokeblockFeed->field_1060[12]; + sub_817AA54(); + pokeblockFeed->field_1060[4] = pokeblockFeed->field_1060[12]; + return FALSE; + } +} + +static bool8 sub_817A9E4(void) +{ + u16 var = sPokeblockFeed->field_1060[12] - sPokeblockFeed->field_1060[4]; + + sPokeblockFeed->monSpritePtr->pos2.x = sPokeblockFeed->field_850[var]; + sPokeblockFeed->monSpritePtr->pos2.y = sPokeblockFeed->field_C50[var]; + + if (--sPokeblockFeed->field_1060[4] == 0) + return TRUE; + else + return FALSE; +} + +static bool8 FreeMonSpriteOamMatrix(void) +{ + FreeSpriteOamMatrix(sPokeblockFeed->monSpritePtr); + return FALSE; +} + +static void sub_817AA54(void) +{ + struct PokeblockFeedStruct *pokeblockFeed = sPokeblockFeed; + u16 i; + u16 r8 = pokeblockFeed->field_1060[8]; + u16 r7 = pokeblockFeed->field_1060[12] - r8; + s16 var3 = pokeblockFeed->field_1060[13] + pokeblockFeed->field_1060[6]; + s16 r9 = pokeblockFeed->field_1060[14] + pokeblockFeed->field_1060[7]; + + for (i = 0; i < r7 - 1; i++) + { + s16 r1 = pokeblockFeed->field_850[r8 + i] - (var3); + s16 r4 = pokeblockFeed->field_C50[r8 + i] - r9; + + pokeblockFeed->field_850[r8 + i] -= r1 * (i + 1) / r7; + pokeblockFeed->field_C50[r8 + i] -= r4 * (i + 1) / r7; + } + + pokeblockFeed->field_850[(r8 + r7) - 1] = var3; + pokeblockFeed->field_C50[(r8 + r7) - 1] = r9; +} + +static void sub_817AB68(void) +{ + struct PokeblockFeedStruct *pokeblockFeed = sPokeblockFeed; + bool8 var_24 = FALSE; + s16 r8 = pokeblockFeed->field_1060[13] - pokeblockFeed->field_1060[10]; + s16 r7 = pokeblockFeed->field_1060[14] - pokeblockFeed->field_1060[11]; + + while (1) + { + u16 r5; + u16 r4; + u16 var; + + var = abs(pokeblockFeed->field_1060[5]); + r5 = var + pokeblockFeed->field_1060[3]; + pokeblockFeed->field_1060[3] = r5; + + if (pokeblockFeed->field_1060[2] < 0) + var_24 = TRUE; + + r4 = pokeblockFeed->field_1060[12] - pokeblockFeed->field_1060[4]; + + if (pokeblockFeed->field_1060[4] == 0) + break; + + if (!var_24) + { + pokeblockFeed->field_850[r4] = Sin(pokeblockFeed->field_1060[0], pokeblockFeed->field_1060[2] + r5 / 0x100) + r8; + pokeblockFeed->field_C50[r4] = Cos(pokeblockFeed->field_1060[0], pokeblockFeed->field_1060[3] + r5 / 0x100) + r7; + } + else + { + pokeblockFeed->field_850[r4] = Sin(pokeblockFeed->field_1060[0], pokeblockFeed->field_1060[2] - r5 / 0x100) + r8; + pokeblockFeed->field_C50[r4] = Cos(pokeblockFeed->field_1060[0], pokeblockFeed->field_1060[3] - r5 / 0x100) + r7; + } + + pokeblockFeed->field_1060[0] += pokeblockFeed->field_1060[1]; + pokeblockFeed->field_1060[0] &= 0xFF; + pokeblockFeed->field_1060[4]--; + } +} diff --git a/src/pokedex.c b/src/pokedex.c new file mode 100644 index 0000000000..a745948654 --- /dev/null +++ b/src/pokedex.c @@ -0,0 +1,542 @@ +#include "global.h" +#include "gba/m4a_internal.h" +#include "pokedex.h" +#include "sprite.h" +#include "graphics.h" +#include "decompress.h" +#include "bg.h" +#include "window.h" + +// this file's functions +void sub_80BE604(struct Sprite *sprite); +void sub_80BE658(struct Sprite *sprite); +void sub_80BE758(struct Sprite *sprite); +void sub_80BE780(struct Sprite *sprite); +void sub_80BE44C(struct Sprite *sprite); +void sub_80BE834(struct Sprite *sprite); + +// const rom data +#include "data/pokedex_orders.h" + +static const struct OamData sOamData_855CFE4 = +{ + .y = 160, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_855CFEC = +{ + .y = 160, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_855CFF4 = +{ + .y = 160, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_855CFFC = +{ + .y = 160, + .affineMode = 0, + .objMode = 2, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_855D004 = +{ + .y = 160, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_855D00C = +{ + .y = 160, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 2, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sSpriteAnim_855D014[] = +{ + ANIMCMD_FRAME(3, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D01C[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D024[] = +{ + ANIMCMD_FRAME(16, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D02C[] = +{ + ANIMCMD_FRAME(48, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D034[] = +{ + ANIMCMD_FRAME(40, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D03C[] = +{ + ANIMCMD_FRAME(32, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D044[] = +{ + ANIMCMD_FRAME(56, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D04C[] = +{ + ANIMCMD_FRAME(64, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D054[] = +{ + ANIMCMD_FRAME(96, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D05C[] = +{ + ANIMCMD_FRAME(160, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D064[] = +{ + ANIMCMD_FRAME(168, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D06C[] = +{ + ANIMCMD_FRAME(128, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D074[] = +{ + ANIMCMD_FRAME(130, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D07C[] = +{ + ANIMCMD_FRAME(132, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D084[] = +{ + ANIMCMD_FRAME(134, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D08C[] = +{ + ANIMCMD_FRAME(136, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D094[] = +{ + ANIMCMD_FRAME(138, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D09C[] = +{ + ANIMCMD_FRAME(140, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0A4[] = +{ + ANIMCMD_FRAME(142, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0AC[] = +{ + ANIMCMD_FRAME(144, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0B4[] = +{ + ANIMCMD_FRAME(146, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0BC[] = +{ + ANIMCMD_FRAME(176, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0C4[] = +{ + ANIMCMD_FRAME(178, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0CC[] = +{ + ANIMCMD_FRAME(180, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0D4[] = +{ + ANIMCMD_FRAME(182, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0DC[] = +{ + ANIMCMD_FRAME(184, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0E4[] = +{ + ANIMCMD_FRAME(186, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0EC[] = +{ + ANIMCMD_FRAME(188, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0F4[] = +{ + ANIMCMD_FRAME(190, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0FC[] = +{ + ANIMCMD_FRAME(192, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D104[] = +{ + ANIMCMD_FRAME(194, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D10C[] = +{ + ANIMCMD_FRAME(4, 30), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_855D114[] = +{ + sSpriteAnim_855D014 +}; + +static const union AnimCmd *const sSpriteAnimTable_855D118[] = +{ + sSpriteAnim_855D01C +}; + +static const union AnimCmd *const sSpriteAnimTable_855D11C[] = +{ + sSpriteAnim_855D024 +}; + +static const union AnimCmd *const sSpriteAnimTable_855D120[] = +{ + sSpriteAnim_855D02C, + sSpriteAnim_855D034, + sSpriteAnim_855D03C, + sSpriteAnim_855D044 +}; + +static const union AnimCmd *const sSpriteAnimTable_855D130[] = +{ + sSpriteAnim_855D04C, + sSpriteAnim_855D054 +}; + +static const union AnimCmd *const sSpriteAnimTable_855D138[] = +{ + sSpriteAnim_855D05C, + sSpriteAnim_855D064 +}; + +static const union AnimCmd *const sSpriteAnimTable_855D140[] = +{ + sSpriteAnim_855D06C, + sSpriteAnim_855D074, + sSpriteAnim_855D07C, + sSpriteAnim_855D084, + sSpriteAnim_855D08C, + sSpriteAnim_855D094, + sSpriteAnim_855D09C, + sSpriteAnim_855D0A4, + sSpriteAnim_855D0AC, + sSpriteAnim_855D0B4 +}; + +static const union AnimCmd *const sSpriteAnimTable_855D168[] = +{ + sSpriteAnim_855D0BC, + sSpriteAnim_855D0C4, + sSpriteAnim_855D0CC, + sSpriteAnim_855D0D4, + sSpriteAnim_855D0DC, + sSpriteAnim_855D0E4, + sSpriteAnim_855D0EC, + sSpriteAnim_855D0F4, + sSpriteAnim_855D0FC, + sSpriteAnim_855D104 +}; + +static const union AnimCmd *const sSpriteAnimTable_855D190[] = +{ + sSpriteAnim_855D10C +}; + +const struct SpriteTemplate gUnknown_0855D194 = +{ + .tileTag = 4096, + .paletteTag = 4096, + .oam = &sOamData_855CFE4, + .anims = sSpriteAnimTable_855D114, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80BE604, +}; + +const struct SpriteTemplate gUnknown_0855D1AC = +{ + .tileTag = 4096, + .paletteTag = 4096, + .oam = &sOamData_855CFEC, + .anims = sSpriteAnimTable_855D118, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80BE658, +}; + +const struct SpriteTemplate gUnknown_0855D1C4 = +{ + .tileTag = 4096, + .paletteTag = 4096, + .oam = &sOamData_855CFF4, + .anims = sSpriteAnimTable_855D120, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80BE758, +}; + +const struct SpriteTemplate gUnknown_0855D1DC = +{ + .tileTag = 4096, + .paletteTag = 4096, + .oam = &sOamData_855CFFC, + .anims = sSpriteAnimTable_855D11C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80BE780, +}; + +const struct SpriteTemplate gUnknown_0855D1F4 = +{ + .tileTag = 4096, + .paletteTag = 4096, + .oam = &sOamData_855D004, + .anims = sSpriteAnimTable_855D130, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80BE44C, +}; + +const struct SpriteTemplate gUnknown_0855D20C = +{ + .tileTag = 4096, + .paletteTag = 4096, + .oam = &sOamData_855CFF4, + .anims = sSpriteAnimTable_855D138, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80BE44C, +}; + +const struct SpriteTemplate gUnknown_0855D224 = +{ + .tileTag = 4096, + .paletteTag = 4096, + .oam = &sOamData_855D00C, + .anims = sSpriteAnimTable_855D140, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80BE44C, +}; + +const struct SpriteTemplate gUnknown_0855D23C = +{ + .tileTag = 4096, + .paletteTag = 4096, + .oam = &sOamData_855D00C, + .anims = sSpriteAnimTable_855D168, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80BE44C, +}; + +const struct SpriteTemplate gUnknown_0855D254 = +{ + .tileTag = 4096, + .paletteTag = 4096, + .oam = &sOamData_855D00C, + .anims = sSpriteAnimTable_855D190, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80BE834, +}; + +const struct CompressedSpriteSheet gSpriteSheets_0855D26C[] = +{ + {gPokedexMenu2_Gfx, 0x2000, 4096}, + {0} +}; + +const struct CompressedSpritePalette gSpritePalettes_0855D26C[] = +{ + {gPokedexText_Pal, 4096}, + {0} +}; + +const u8 gUnknown_0855D28C[] = {0x4, 0x8, 0x10, 0x20, 0x20}; +const u8 gUnknown_0855D291[] = {0x8, 0x4, 0x2, 0x1, 0x1}; + +const struct BgTemplate gBgTemplates_0855D298[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 12, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 13, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 2, + .mapBaseIndex = 14, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 0, + .mapBaseIndex = 15, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + } +}; + +const struct WindowTemplate sWindowTemplates_0855D2A8[] = +{ + {2, 0, 0, 0x20, 0x20, 0, 1}, + DUMMY_WIN_TEMPLATE +}; + diff --git a/src/pokemon_1.c b/src/pokemon_1.c index f56ade9677..cafd86c070 100644 --- a/src/pokemon_1.c +++ b/src/pokemon_1.c @@ -1,8 +1,12 @@ #include "global.h" #include "pokemon.h" -#include "rng.h" +#include "random.h" #include "main.h" -#include "items.h" +#include "constants/species.h" +#include "constants/abilities.h" +#include "constants/items.h" +#include "constants/trainers.h" +#include "constants/moves.h" #include "string_util.h" #include "text.h" @@ -14,6 +18,68 @@ extern u8 sav1_map_get_name(void); +// EWRAM vars +EWRAM_DATA u8 sLearningMoveTableID = 0; +EWRAM_DATA u8 gPlayerPartyCount = 0; +EWRAM_DATA u8 gEnemyPartyCount = 0; +EWRAM_DATA struct Pokemon gPlayerParty[PARTY_SIZE] = {0}; +EWRAM_DATA struct Pokemon gEnemyParty[PARTY_SIZE] = {0}; + +// const rom data +const u16 gSpeciesToHoennPokedexNum[] = {203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 156, 157, 112, 113, 227, 228, 229, 230, 231, 232, 233, 234, 153, 154, 138, 139, 63, 64, 88, 89, 90, 235, 236, 237, 238, 239, 240, 241, 242, 158, 159, 243, 244, 245, 246, 247, 248, 249, 39, 40, 41, 73, 74, 75, 250, 251, 252, 66, 67, 57, 58, 59, 253, 254, 255, 256, 82, 83, 257, 92, 93, 258, 259, 106, 107, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 84, 85, 270, 271, 272, 273, 274, 275, 276, 108, 109, 169, 170, 277, 278, 279, 184, 185, 50, 51, 143, 144, 280, 281, 282, 283, 284, 167, 285, 52, 53, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 65, 181, 182, 155, 324, 137, 325, 326, 162, 163, 327, 328, 329, 91, 55, 56, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 161, 164, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 168, 357, 358, 359, 103, 104, 360, 361, 180, 362, 363, 364, 365, 115, 366, 367, 186, 165, 166, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 42, 43, 44, 25, 26, 34, 35, 114, 27, 28, 32, 33, 99, 100, 61, 62, 145, 131, 132, 60, 105, 68, 127, 128, 183, 129, 130, 140, 141, 97, 98, 116, 117, 118, 48, 49, 78, 79, 101, 102, 173, 174, 175, 119, 120, 171, 172, 125, 126, 54, 110, 111, 80, 81, 69, 76, 77, 121, 122, 160, 148, 149, 94, 36, 37, 38, 95, 96, 150, 45, 46, 47, 176, 177, 178, 152, 146, 147, 124, 123, 179, 70, 71, 72, 142, 86, 87, 133, 134, 135, 136, 29, 30, 31, 187, 188, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 196, 197, 201, 202, 151}; +const u16 gSpeciesToNationalPokedexNum[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 290, 291, 292, 276, 277, 285, 286, 327, 278, 279, 283, 284, 320, 321, 300, 301, 352, 343, 344, 299, 324, 302, 339, 340, 370, 341, 342, 349, 350, 318, 319, 328, 329, 330, 296, 297, 309, 310, 322, 323, 363, 364, 365, 331, 332, 361, 362, 337, 338, 298, 325, 326, 311, 312, 303, 307, 308, 333, 334, 360, 355, 356, 315, 287, 288, 289, 316, 317, 357, 293, 294, 295, 366, 367, 368, 359, 353, 354, 336, 335, 369, 304, 305, 306, 351, 313, 314, 345, 346, 347, 348, 280, 281, 282, 371, 372, 373, 374, 375, 376, 377, 378, 379, 382, 383, 384, 380, 381, 385, 386, 358}; +const u16 gHoennToNationalOrder[] = {252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 63, 64, 65, 290, 291, 292, 293, 294, 295, 296, 297, 118, 119, 129, 130, 298, 183, 184, 74, 75, 76, 299, 300, 301, 41, 42, 169, 72, 73, 302, 303, 304, 305, 306, 66, 67, 68, 307, 308, 309, 310, 311, 312, 81, 82, 100, 101, 313, 314, 43, 44, 45, 182, 84, 85, 315, 316, 317, 318, 319, 320, 321, 322, 323, 218, 219, 324, 88, 89, 109, 110, 325, 326, 27, 28, 327, 227, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 174, 39, 40, 349, 350, 351, 120, 121, 352, 353, 354, 355, 356, 357, 358, 359, 37, 38, 172, 25, 26, 54, 55, 360, 202, 177, 178, 203, 231, 232, 127, 214, 111, 112, 361, 362, 363, 364, 365, 366, 367, 368, 369, 222, 170, 171, 370, 116, 117, 230, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 29, 30, 31, 32, 33, 34, 35, 36, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 62, 69, 70, 71, 77, 78, 79, 80, 83, 86, 87, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 102, 103, 104, 105, 106, 107, 108, 113, 114, 115, 122, 123, 124, 125, 126, 128, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 173, 175, 176, 179, 180, 181, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 215, 216, 217, 220, 221, 223, 224, 225, 226, 228, 229, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411}; + +const struct SpindaSpot gSpindaSpotGraphics[] = +{ + {16, 7, INCBIN_U16("graphics/spinda_spots/spot_0.bin")}, + {40, 8, INCBIN_U16("graphics/spinda_spots/spot_1.bin")}, + {22, 25, INCBIN_U16("graphics/spinda_spots/spot_2.bin")}, + {34, 26, INCBIN_U16("graphics/spinda_spots/spot_3.bin")} +}; + +#include "data/pokemon/item_effects.h" + +const s8 gNatureStatTable[][5] = +{ + // Atk Def Spd Sp.Atk Sp.Def + { 0, 0, 0, 0, 0}, // Hardy + { +1, -1, 0, 0, 0}, // Lonely + { +1, 0, -1, 0, 0}, // Brave + { +1, 0, 0, -1, 0}, // Adamant + { +1, 0, 0, 0, -1}, // Naughty + { -1, +1, 0, 0, 0}, // Bold + { 0, 0, 0, 0, 0}, // Docile + { 0, +1, -1, 0, 0}, // Relaxed + { 0, +1, 0, -1, 0}, // Impish + { 0, +1, 0, 0, -1}, // Lax + { -1, 0, +1, 0, 0}, // Timid + { 0, -1, +1, 0, 0}, // Hasty + { 0, 0, 0, 0, 0}, // Serious + { 0, 0, +1, -1, 0}, // Jolly + { 0, 0, +1, 0, -1}, // Naive + { -1, 0, 0, +1, 0}, // Modest + { 0, -1, 0, +1, 0}, // Mild + { 0, 0, -1, +1, 0}, // Quiet + { 0, 0, 0, 0, 0}, // Bashful + { 0, 0, 0, +1, -1}, // Rash + { -1, 0, 0, 0, +1}, // Calm + { 0, -1, 0, 0, +1}, // Gentle + { 0, 0, -1, 0, +1}, // Sassy + { 0, 0, 0, -1, +1}, // Careful + { 0, 0, 0, 0, 0}, // Quirky +}; + +#include "data/pokemon/tmhm_learnsets.h" +#include "data/pokemon/trainer_class_lookups.h" +#include "data/pokemon/cry_ids.h" +#include "data/pokemon/experience_tables.h" +#include "data/pokemon/base_stats.h" +#include "data/pokemon/level_up_learnsets.h" +#include "data/pokemon/evolution.h" +#include "data/pokemon/level_up_learnset_pointers.h" + +// code void ZeroBoxMonData(struct BoxPokemon *boxMon) { u8 *raw = (u8 *)boxMon; @@ -43,14 +109,14 @@ void ZeroMonData(struct Pokemon *mon) void ZeroPlayerPartyMons(void) { s32 i; - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) ZeroMonData(&gPlayerParty[i]); } void ZeroEnemyPartyMons(void) { s32 i; - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) ZeroMonData(&gEnemyParty[i]); } diff --git a/src/pokemon_2.c b/src/pokemon_2.c index bb0e265b5a..3f37381c3d 100644 --- a/src/pokemon_2.c +++ b/src/pokemon_2.c @@ -2,9 +2,9 @@ #include "pokemon.h" #include "battle.h" #include "event_data.h" -#include "rng.h" +#include "random.h" #include "sprite.h" -#include "species.h" +#include "constants/species.h" #include "text.h" #include "string_util.h" @@ -14,10 +14,10 @@ struct Unknown_020249B4 struct SpriteTemplate* templates; }; -extern u8 gAbsentBankFlags; -extern u8 gActiveBank; -extern u8 gBankAttacker; -extern u8 gBankTarget; +extern u8 gAbsentBattlerFlags; +extern u8 gActiveBattler; +extern u8 gBattlerAttacker; +extern u8 gBattlerTarget; extern u8 gLastUsedAbility; extern u16 gTrainerBattleOpponent_A; extern u32 gBattleTypeFlags; @@ -34,9 +34,9 @@ extern const union AnimCmd* const * const gUnknown_0830536C[]; extern const u8 gText_BadEgg[]; extern const u8 gText_EggNickname[]; -extern u8 GetBankSide(u8 bank); -extern u8 GetBankByIdentity(u8 bank); -extern u8 GetBankIdentity(u8 bank); +extern u8 GetBattlerSide(u8 bank); +extern u8 GetBattlerAtPosition(u8 bank); +extern u8 GetBattlerPosition(u8 bank); u8 CountAliveMonsInBattle(u8 caseId) { @@ -48,21 +48,21 @@ u8 CountAliveMonsInBattle(u8 caseId) case BATTLE_ALIVE_EXCEPT_ACTIVE: for (i = 0; i < 4; i++) { - if (i != gActiveBank && !(gAbsentBankFlags & gBitTable[i])) + if (i != gActiveBattler && !(gAbsentBattlerFlags & gBitTable[i])) retVal++; } break; case BATTLE_ALIVE_ATK_SIDE: for (i = 0; i < 4; i++) { - if (GetBankSide(i) == GetBankSide(gBankAttacker) && !(gAbsentBankFlags & gBitTable[i])) + if (GetBattlerSide(i) == GetBattlerSide(gBattlerAttacker) && !(gAbsentBattlerFlags & gBitTable[i])) retVal++; } break; case BATTLE_ALIVE_DEF_SIDE: for (i = 0; i < 4; i++) { - if (GetBankSide(i) == GetBankSide(gBankTarget) && !(gAbsentBankFlags & gBitTable[i])) + if (GetBattlerSide(i) == GetBattlerSide(gBattlerTarget) && !(gAbsentBattlerFlags & gBitTable[i])) retVal++; } break; @@ -75,7 +75,7 @@ bool8 ShouldGetStatBadgeBoost(u16 badgeFlag, u8 bank) { if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_x2000000 | BATTLE_TYPE_FRONTIER)) return FALSE; - if (GetBankSide(bank) != SIDE_PLAYER) + if (GetBattlerSide(bank) != B_SIDE_PLAYER) return FALSE; if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gTrainerBattleOpponent_A == SECRET_BASE_OPPONENT) return FALSE; @@ -86,11 +86,11 @@ bool8 ShouldGetStatBadgeBoost(u16 badgeFlag, u8 bank) u8 GetDefaultMoveTarget(u8 bank) { - u8 status = GetBankIdentity(bank) & 1; + u8 status = GetBattlerPosition(bank) & 1; status ^= 1; if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) - return GetBankByIdentity(status); + return GetBattlerAtPosition(status); if (CountAliveMonsInBattle(BATTLE_ALIVE_EXCEPT_ACTIVE) > 1) { u8 val; @@ -99,14 +99,14 @@ u8 GetDefaultMoveTarget(u8 bank) val = status ^ 2; else val = status; - return GetBankByIdentity(val); + return GetBattlerAtPosition(val); } else { - if ((gAbsentBankFlags & gBitTable[status])) - return GetBankByIdentity(status ^ 2); + if ((gAbsentBattlerFlags & gBitTable[status])) + return GetBattlerAtPosition(status ^ 2); else - return GetBankByIdentity(status); + return GetBattlerAtPosition(status); } } @@ -332,7 +332,7 @@ u32 GetMonData(struct Pokemon *mon, s32 field, u8* data) ret = mon->defense; break; case MON_DATA_SPEED: - ret = GetDeoxysStat(mon, STAT_SPD); + ret = GetDeoxysStat(mon, STAT_SPEED); if (!ret) ret = mon->speed; break; @@ -1087,10 +1087,10 @@ u8 SendMonToPC(struct Pokemon* mon) { MonRestorePP(mon); CopyMon(checkingMon, &mon->box, sizeof(mon->box)); - gSpecialVar_0x8012 = boxNo; - gSpecialVar_0x8013 = boxPos; + gSpecialVar_MonBoxId = boxNo; + gSpecialVar_MonBoxPos = boxPos; if (get_unknown_box_id() != boxNo) - FlagClear(SYS_STORAGE_UNKNOWN_FLAG); + FlagClear(FLAG_SYS_STORAGE_UNKNOWN_FLAG); VarSet(VAR_STORAGE_UNKNOWN, boxNo); return MON_GIVEN_TO_PC; } @@ -1155,7 +1155,7 @@ u8 GetMonsStateToDoubles_2(void) s32 aliveCount = 0; s32 i; - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { u32 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL); if (species != SPECIES_EGG && species != SPECIES_NONE @@ -1197,45 +1197,45 @@ void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord) for (i = 0; i < PARTY_SIZE; i++) { - if (gBattleResources->secretBase->partySpecies[i]) + if (gBattleResources->secretBase->party.species[i]) { CreateMon(&gEnemyParty[i], - gBattleResources->secretBase->partySpecies[i], - gBattleResources->secretBase->partyLevels[i], + gBattleResources->secretBase->party.species[i], + gBattleResources->secretBase->party.levels[i], 15, 1, - gBattleResources->secretBase->partyPersonality[i], + gBattleResources->secretBase->party.personality[i], 2, 0); - SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gBattleResources->secretBase->partyHeldItems[i]); + SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gBattleResources->secretBase->party.heldItems[i]); for (j = 0; j < 6; j++) - SetMonData(&gEnemyParty[i], MON_DATA_HP_EV + j, &gBattleResources->secretBase->partyEVs[i]); + SetMonData(&gEnemyParty[i], MON_DATA_HP_EV + j, &gBattleResources->secretBase->party.EVs[i]); for (j = 0; j < 4; j++) { - SetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j, &gBattleResources->secretBase->partyMoves[i * 4 + j]); - SetMonData(&gEnemyParty[i], MON_DATA_PP1 + j, &gBattleMoves[gBattleResources->secretBase->partyMoves[i * 4 + j]].pp); + SetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j, &gBattleResources->secretBase->party.moves[i * 4 + j]); + SetMonData(&gEnemyParty[i], MON_DATA_PP1 + j, &gBattleMoves[gBattleResources->secretBase->party.moves[i * 4 + j]].pp); } } } } -extern const u8 gUnknown_0831F578[]; -extern const u8 gTrainerClassToNameIndex[]; +extern const u8 gFacilityClassToPicIndex[]; +extern const u8 gFacilityClassToTrainerClass[]; extern const u8 gSecretBaseTrainerClasses[][5]; u8 GetSecretBaseTrainerPicIndex(void) { u8 trainerClass = gSecretBaseTrainerClasses[gBattleResources->secretBase->gender][gBattleResources->secretBase->trainerId[0] % 5]; - return gUnknown_0831F578[trainerClass]; + return gFacilityClassToPicIndex[trainerClass]; } u8 GetSecretBaseTrainerNameIndex(void) { u8 trainerClass = gSecretBaseTrainerClasses[gBattleResources->secretBase->gender][gBattleResources->secretBase->trainerId[0] % 5]; - return gTrainerClassToNameIndex[trainerClass]; + return gFacilityClassToTrainerClass[trainerClass]; } bool8 IsPlayerPartyAndPokemonStorageFull(void) @@ -1353,7 +1353,7 @@ void CopyPlayerPartyMonToBattleData(u8 bank, u8 partyIndex) StringCopy10(gBattleMons[bank].nickname, nickname); GetMonData(&gPlayerParty[partyIndex], MON_DATA_OT_NAME, gBattleMons[bank].otName); - hpSwitchout = &gBattleStruct->hpOnSwitchout[GetBankSide(bank)]; + hpSwitchout = &gBattleStruct->hpOnSwitchout[GetBattlerSide(bank)]; *hpSwitchout = gBattleMons[bank].hp; for (i = 0; i < 8; i++) diff --git a/src/pokemon_3.c b/src/pokemon_3.c index 27da8b18ec..0dd1131def 100644 --- a/src/pokemon_3.c +++ b/src/pokemon_3.c @@ -1,39 +1,39 @@ #include "global.h" #include "pokemon.h" #include "main.h" -#include "items.h" +#include "constants/items.h" #include "string_util.h" #include "battle_message.h" #include "rtc.h" #include "item.h" #include "battle.h" -#include "species.h" +#include "constants/species.h" #include "link.h" -#include "hold_effects.h" -#include "rng.h" -#include "trainer_classes.h" -#include "trainer_ids.h" -#include "songs.h" +#include "constants/hold_effects.h" +#include "random.h" +#include "constants/trainers.h" +#include "constants/songs.h" #include "sound.h" #include "m4a.h" #include "task.h" #include "sprite.h" #include "text.h" -#include "abilities.h" +#include "constants/abilities.h" #include "pokemon_animation.h" #include "pokedex.h" +#include "pokeblock.h" extern struct BattlePokemon gBattleMons[4]; extern struct BattleEnigmaBerry gEnigmaBerries[4]; -extern u8 gActiveBank; -extern u8 gBankInMenu; -extern u8 gBankTarget; -extern u8 gBankAttacker; -extern u8 gStringBank; +extern u8 gActiveBattler; +extern u8 gBattlerInMenuId; +extern u8 gBattlerTarget; +extern u8 gBattlerAttacker; +extern u8 gPotentialItemEffectBattler; extern u16 gTrainerBattleOpponent_A; extern u32 gBattleTypeFlags; extern u8 gBattleMonForms[4]; -extern u16 gBattlePartyID[4]; +extern u16 gBattlerPartyIndexes[4]; extern u8 gLastUsedAbility; extern u16 gPartnerTrainerId; extern u32 gHitMarker; @@ -59,7 +59,6 @@ extern const u8 gText_PkmnsXPreventsSwitching[]; extern const struct CompressedSpritePalette gMonPaletteTable[]; extern const struct CompressedSpritePalette gMonShinyPaletteTable[]; extern const u16 gHMMoves[]; -extern const s8 gPokeblockFlavorCompatibilityTable[]; extern const u8 gMonAnimationDelayTable[]; extern const u8 gMonFrontAnimIdsTable[]; @@ -75,8 +74,6 @@ extern u8 GetFrontierOpponentClass(u16 trainerId); extern u8 pokemon_order_func(u8 bankPartyId); extern void GetFrontierTrainerName(u8* dest, u16 trainerId); extern void sub_81C488C(u8); -extern void sub_817F578(struct Sprite*, u8 frontAnimId); -extern u8 GetSpeciesBackAnimId(u16 species); static void sub_806E6CC(u8 taskId); @@ -116,7 +113,7 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit) if (itemId == ITEM_ENIGMA_BERRY) { - temp = gEnigmaBerries[gActiveBank].itemEffect; + temp = gEnigmaBerries[gActiveBattler].itemEffect; } itemEffect = temp; @@ -213,7 +210,7 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit) void sub_806CF24(s32 stat) { - gBankTarget = gBankInMenu; + gBattlerTarget = gBattlerInMenuId; StringCopy(gBattleTextBuff1, gStatNamesTable[gUnknown_08329EC8[stat]]); StringCopy(gBattleTextBuff2, gText_StatRose); BattleStringExpandPlaceholdersToDisplayedString(gText_PkmnsStatChanged2); @@ -227,7 +224,7 @@ u8 *sub_806CF78(u16 itemId) if (itemId == ITEM_ENIGMA_BERRY) { if (gMain.inBattle) - itemEffect = gEnigmaBerries[gBankInMenu].itemEffect; + itemEffect = gEnigmaBerries[gBattlerInMenuId].itemEffect; else itemEffect = gSaveBlock1Ptr->enigmaBerry.itemEffect; } @@ -236,7 +233,7 @@ u8 *sub_806CF78(u16 itemId) itemEffect = gItemEffectTable[itemId - 13]; } - gStringBank = gBankInMenu; + gPotentialItemEffectBattler = gBattlerInMenuId; for (i = 0; i < 3; i++) { @@ -250,7 +247,7 @@ u8 *sub_806CF78(u16 itemId) } else { - gBankAttacker = gBankInMenu; + gBattlerAttacker = gBattlerInMenuId; BattleStringExpandPlaceholdersToDisplayedString(gText_PkmnGettingPumped); } } @@ -258,7 +255,7 @@ u8 *sub_806CF78(u16 itemId) if (itemEffect[3] & 0x80) { - gBankAttacker = gBankInMenu; + gBattlerAttacker = gBattlerInMenuId; BattleStringExpandPlaceholdersToDisplayedString(gText_PkmnShroudedInMist); } @@ -304,56 +301,56 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem) for (i = 0; i < 5; i++) { - switch (gEvolutionTable[species].evolutions[i].method) + switch (gEvolutionTable[species][i].method) { case EVO_FRIENDSHIP: if (friendship >= 220) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_FRIENDSHIP_DAY: RtcCalcLocalTime(); if (gLocalTime.hours >= 12 && gLocalTime.hours < 24 && friendship >= 220) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_FRIENDSHIP_NIGHT: RtcCalcLocalTime(); if (gLocalTime.hours >= 0 && gLocalTime.hours < 12 && friendship >= 220) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_LEVEL: - if (gEvolutionTable[species].evolutions[i].param <= level) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + if (gEvolutionTable[species][i].param <= level) + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_LEVEL_ATK_GT_DEF: - if (gEvolutionTable[species].evolutions[i].param <= level) + if (gEvolutionTable[species][i].param <= level) if (GetMonData(mon, MON_DATA_ATK, 0) > GetMonData(mon, MON_DATA_DEF, 0)) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_LEVEL_ATK_EQ_DEF: - if (gEvolutionTable[species].evolutions[i].param <= level) + if (gEvolutionTable[species][i].param <= level) if (GetMonData(mon, MON_DATA_ATK, 0) == GetMonData(mon, MON_DATA_DEF, 0)) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_LEVEL_ATK_LT_DEF: - if (gEvolutionTable[species].evolutions[i].param <= level) + if (gEvolutionTable[species][i].param <= level) if (GetMonData(mon, MON_DATA_ATK, 0) < GetMonData(mon, MON_DATA_DEF, 0)) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_LEVEL_SILCOON: - if (gEvolutionTable[species].evolutions[i].param <= level && (upperPersonality % 10) <= 4) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + if (gEvolutionTable[species][i].param <= level && (upperPersonality % 10) <= 4) + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_LEVEL_CASCOON: - if (gEvolutionTable[species].evolutions[i].param <= level && (upperPersonality % 10) > 4) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + if (gEvolutionTable[species][i].param <= level && (upperPersonality % 10) > 4) + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_LEVEL_NINJASK: - if (gEvolutionTable[species].evolutions[i].param <= level) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + if (gEvolutionTable[species][i].param <= level) + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_BEAUTY: - if (gEvolutionTable[species].evolutions[i].param <= beauty) - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + if (gEvolutionTable[species][i].param <= beauty) + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; } } @@ -361,17 +358,17 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem) case 1: for (i = 0; i < 5; i++) { - switch (gEvolutionTable[species].evolutions[i].method) + switch (gEvolutionTable[species][i].method) { case EVO_TRADE: - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; case EVO_TRADE_ITEM: - if (gEvolutionTable[species].evolutions[i].param == heldItem) + if (gEvolutionTable[species][i].param == heldItem) { heldItem = 0; SetMonData(mon, MON_DATA_HELD_ITEM, (u8 *)&heldItem); - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + targetSpecies = gEvolutionTable[species][i].targetSpecies; } break; } @@ -381,10 +378,10 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem) case 3: for (i = 0; i < 5; i++) { - if (gEvolutionTable[species].evolutions[i].method == EVO_ITEM - && gEvolutionTable[species].evolutions[i].param == evolutionItem) + if (gEvolutionTable[species][i].method == EVO_ITEM + && gEvolutionTable[species][i].param == evolutionItem) { - targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + targetSpecies = gEvolutionTable[species][i].targetSpecies; break; } } @@ -618,7 +615,7 @@ bool16 sub_806D82C(u8 id) return retVal; } -s32 GetBankMultiplayerId(u16 a1) +s32 GetBattlerMultiplayerId(u16 a1) { s32 id; for (id = 0; id < MAX_LINK_PLAYERS; id++) @@ -692,9 +689,9 @@ void AdjustFriendship(struct Pokemon *mon, u8 event) if ((event != 5 || !(Random() & 1)) && (event != 3 || ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) - && (gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_ELITE_FOUR - || gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_LEADER - || gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_CHAMPION)))) + && (gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_ELITE_FOUR + || gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_LEADER + || gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_CHAMPION)))) { s8 mod = gUnknown_08329ECE[event][friendshipLevel]; if (mod > 0 && holdEffect == HOLD_EFFECT_HAPPINESS_UP) @@ -1146,55 +1143,57 @@ void ClearBattleMonForms(void) u16 GetBattleBGM(void) { if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) - return 0x1E0; + return MUS_BATTLE34; if (gBattleTypeFlags & BATTLE_TYPE_REGI) - return 0x1DF; + return MUS_BATTLE36; if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) - return 0x1DC; + return MUS_BATTLE20; if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { u8 trainerClass; + if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) trainerClass = GetFrontierOpponentClass(gTrainerBattleOpponent_A); else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) - trainerClass = CLASS_EXPERT; + trainerClass = TRAINER_CLASS_EXPERT; else trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass; + switch (trainerClass) { - case CLASS_AQUA_LEADER: - case CLASS_MAGMA_LEADER: - return 0x1E3; - case CLASS_TEAM_AQUA: - case CLASS_TEAM_MAGMA: - case CLASS_AQUA_ADMIN: - case CLASS_MAGMA_ADMIN: - return 0x1DB; - case CLASS_LEADER: - return 0x1DD; - case CLASS_CHAMPION: - return 0x1DE; - case CLASS_PKMN_TRAINER_RIVAL: + case TRAINER_CLASS_AQUA_LEADER: + case TRAINER_CLASS_MAGMA_LEADER: + return MUS_BATTLE30; + case TRAINER_CLASS_TEAM_AQUA: + case TRAINER_CLASS_TEAM_MAGMA: + case TRAINER_CLASS_AQUA_ADMIN: + case TRAINER_CLASS_MAGMA_ADMIN: + return MUS_BATTLE31; + case TRAINER_CLASS_LEADER: + return MUS_BATTLE32; + case TRAINER_CLASS_CHAMPION: + return MUS_BATTLE33; + case TRAINER_CLASS_PKMN_TRAINER_3: if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) - return 0x1E1; + return MUS_BATTLE35; if (!StringCompare(gTrainers[gTrainerBattleOpponent_A].trainerName, gText_BattleWallyName)) - return 0x1DC; - return 0x1E1; - case CLASS_ELITE_FOUR: - return 0x1E2; - case CLASS_SALON_MAIDEN: - case CLASS_DOME_ACE: - case CLASS_PALACE_MAVEN: - case CLASS_ARENA_TYCOON: - case CLASS_FACTORY_HEAD: - case CLASS_PIKE_QUEEN: - case CLASS_PYRAMID_KING: - return 0x1D7; + return MUS_BATTLE20; + return MUS_BATTLE35; + case TRAINER_CLASS_ELITE_FOUR: + return MUS_BATTLE38; + case TRAINER_CLASS_SALON_MAIDEN: + case TRAINER_CLASS_DOME_ACE: + case TRAINER_CLASS_PALACE_MAVEN: + case TRAINER_CLASS_ARENA_TYCOON: + case TRAINER_CLASS_FACTORY_HEAD: + case TRAINER_CLASS_PIKE_QUEEN: + case TRAINER_CLASS_PYRAMID_KING: + return MUS_VS_FRONT; default: - return 0x1DC; + return MUS_BATTLE20; } } - return 0x1DA; + return MUS_BATTLE27; } void PlayBattleBGM(void) @@ -1234,12 +1233,12 @@ static void sub_806E6CC(u8 taskId) DestroyTask(taskId); } -const u8 *pokemon_get_pal(struct Pokemon *mon) +const u8 *GetMonFrontSpritePal(struct Pokemon *mon) { u16 species = GetMonData(mon, MON_DATA_SPECIES2, 0); u32 otId = GetMonData(mon, MON_DATA_OT_ID, 0); u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, 0); - return species_and_otid_get_pal(species, otId, personality); + return GetFrontSpritePalFromSpeciesAndPersonality(species, otId, personality); } // Extracts the upper 16 bits of a 32-bit number @@ -1248,7 +1247,7 @@ const u8 *pokemon_get_pal(struct Pokemon *mon) // Extracts the lower 16 bits of a 32-bit number #define LOHALF(n) ((n) & 0xFFFF) -const u8 *species_and_otid_get_pal(u16 species, u32 otId, u32 personality) +const u8 *GetFrontSpritePalFromSpeciesAndPersonality(u16 species, u32 otId, u32 personality) { u32 shinyValue; @@ -1297,21 +1296,21 @@ bool8 IsPokeSpriteNotFlipped(u16 species) return gBaseStats[species].noFlip; } -s8 GetMonFlavourRelation(struct Pokemon *mon, u8 a2) +s8 GetMonFlavorRelation(struct Pokemon *mon, u8 flavor) { u8 nature = GetNature(mon); - return gPokeblockFlavorCompatibilityTable[nature * 5 + a2]; + return gPokeblockFlavorCompatibilityTable[nature * 5 + flavor]; } -s8 GetFlavourRelationByPersonality(u32 personality, u8 a2) +s8 GetFlavorRelationByPersonality(u32 personality, u8 flavor) { u8 nature = GetNatureFromPersonality(personality); - return gPokeblockFlavorCompatibilityTable[nature * 5 + a2]; + return gPokeblockFlavorCompatibilityTable[nature * 5 + flavor]; } bool8 IsTradedMon(struct Pokemon *mon) { - u8 otName[8]; + u8 otName[OT_NAME_LENGTH + 1]; u32 otId; GetMonData(mon, MON_DATA_OT_NAME, otName); otId = GetMonData(mon, MON_DATA_OT_ID, 0); @@ -1367,12 +1366,12 @@ void sub_806E994(void) gBattleTextBuff1[2] = gBattleStruct->field_49; gBattleTextBuff1[4] = B_BUFF_EOS; - if (!GetBankSide(gBattleStruct->field_49)) - gBattleTextBuff1[3] = pokemon_order_func(gBattlePartyID[gBattleStruct->field_49]); + if (!GetBattlerSide(gBattleStruct->field_49)) + gBattleTextBuff1[3] = pokemon_order_func(gBattlerPartyIndexes[gBattleStruct->field_49]); else - gBattleTextBuff1[3] = gBattlePartyID[gBattleStruct->field_49]; + gBattleTextBuff1[3] = gBattlerPartyIndexes[gBattleStruct->field_49]; - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff2, gBankInMenu, pokemon_order_func(gBattlePartyID[gBankInMenu])) + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff2, gBattlerInMenuId, pokemon_order_func(gBattlerPartyIndexes[gBattlerInMenuId])) BattleStringExpandPlaceholders(gText_PkmnsXPreventsSwitching, gStringVar4); } @@ -1396,7 +1395,7 @@ static s32 GetWildMonTableIdInAlteringCave(u16 species) void SetWildMonHeldItem(void) { - if (!(gBattleTypeFlags & (BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_TRAINER | BATTLE_TYPE_PYRAMID | BATTLE_TYPE_x100000))) + if (!(gBattleTypeFlags & (BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_TRAINER | BATTLE_TYPE_PYRAMID | BATTLE_TYPE_PIKE))) { u16 rnd = Random() % 100; u16 species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, 0); @@ -1462,12 +1461,14 @@ bool8 IsShinyOtIdPersonality(u32 otId, u32 personality) return retVal; } -const u8* GetTrainerPartnerName(void) +const u8 *GetTrainerPartnerName(void) { if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) { if (gPartnerTrainerId == STEVEN_PARTNER_ID) - return gTrainers[TRAINER_ID_STEVEN].trainerName; + { + return gTrainers[TRAINER_STEVEN].trainerName; + } else { GetFrontierTrainerName(gStringVar1, gPartnerTrainerId); @@ -1477,7 +1478,7 @@ const u8* GetTrainerPartnerName(void) else { u8 id = GetMultiplayerId(); - return gLinkPlayers[GetBankMultiplayerId(gLinkPlayers[id].lp_field_18 ^ 2)].name; + return gLinkPlayers[GetBattlerMultiplayerId(gLinkPlayers[id].lp_field_18 ^ 2)].name; } } @@ -1505,7 +1506,7 @@ static void Task_PokemonSummaryAnimateAfterDelay(u8 taskId) { if (--gTasks[taskId].data[3] == 0) { - sub_817F578(READ_PTR_FROM_TASK(taskId, 0), gTasks[taskId].data[2]); + StartMonSummaryAnimation(READ_PTR_FROM_TASK(taskId, 0), gTasks[taskId].data[2]); sub_81C488C(0xFF); DestroyTask(taskId); } @@ -1520,7 +1521,6 @@ void BattleAnimateFrontSprite(struct Sprite* sprite, u16 species, bool8 noCry, u } extern void SpriteCallbackDummy_2(struct Sprite*); -extern void sub_817F60C(struct Sprite*); void DoMonFrontSpriteAnimation(struct Sprite* sprite, u16 species, bool8 noCry, u8 arg3) { @@ -1577,11 +1577,11 @@ void PokemonSummaryDoMonAnimation(struct Sprite* sprite, u16 species, bool8 oneF gTasks[taskId].data[2] = gMonFrontAnimIdsTable[species - 1]; gTasks[taskId].data[3] = gMonAnimationDelayTable[species - 1]; sub_81C488C(taskId); - sub_817F60C(sprite); + SetSpriteCB_MonAnimDummy(sprite); } else { - sub_817F578(sprite, gMonFrontAnimIdsTable[species - 1]); + StartMonSummaryAnimation(sprite, gMonFrontAnimIdsTable[species - 1]); } } @@ -1600,7 +1600,7 @@ void BattleAnimateBackSprite(struct Sprite* sprite, u16 species) } else { - LaunchAnimationTaskForBackSprite(sprite, GetSpeciesBackAnimId(species)); + LaunchAnimationTaskForBackSprite(sprite, GetSpeciesBackAnimSet(species)); sprite->callback = SpriteCallbackDummy_2; } } @@ -1652,11 +1652,11 @@ u8 sub_806EF84(u8 arg0, u8 arg1) return i; } -extern const u8 gUnknown_0831F578[]; +extern const u8 gFacilityClassToPicIndex[]; u16 sub_806EFF0(u16 arg0) { - return gUnknown_0831F578[arg0]; + return gFacilityClassToPicIndex[arg0]; } u16 PlayerGenderToFrontTrainerPicId(u8 playerGender) @@ -1682,14 +1682,14 @@ void HandleSetPokedexFlag(u16 nationalNum, u8 caseId, u32 personality) } } -const u8* GetTrainerClassNameFromId(u16 trainerId) +const u8 *GetTrainerClassNameFromId(u16 trainerId) { if (trainerId > NO_OF_TRAINERS) trainerId = 0; return gTrainerClassNames[gTrainers[trainerId].trainerClass]; } -const u8* GetTrainerNameFromId(u16 trainerId) +const u8 *GetTrainerNameFromId(u16 trainerId) { if (trainerId > NO_OF_TRAINERS) trainerId = 0; diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c new file mode 100644 index 0000000000..02755fe400 --- /dev/null +++ b/src/pokemon_animation.c @@ -0,0 +1,5658 @@ +#include "global.h" +#include "pokemon.h" +#include "sprite.h" +#include "pokemon_animation.h" +#include "trig.h" +#include "task.h" +#include "blend_palette.h" +#include "constants/rgb.h" + +struct UnkAnimStruct +{ + u16 field_0; + s16 field_2; + s16 field_4; + s16 field_6; + s16 field_8; +}; + +extern u16 gBattlerPartyIndexes[]; + +// this file's functions +static void pokemonanimfunc_00(struct Sprite *sprite); +static void pokemonanimfunc_01(struct Sprite *sprite); +static void pokemonanimfunc_02(struct Sprite *sprite); +static void pokemonanimfunc_03(struct Sprite *sprite); +static void pokemonanimfunc_04(struct Sprite *sprite); +static void pokemonanimfunc_05(struct Sprite *sprite); +static void pokemonanimfunc_06(struct Sprite *sprite); +static void pokemonanimfunc_07(struct Sprite *sprite); +static void pokemonanimfunc_08(struct Sprite *sprite); +static void pokemonanimfunc_09(struct Sprite *sprite); +static void pokemonanimfunc_0A(struct Sprite *sprite); +static void pokemonanimfunc_0B(struct Sprite *sprite); +static void pokemonanimfunc_0C(struct Sprite *sprite); +static void pokemonanimfunc_0D(struct Sprite *sprite); +static void pokemonanimfunc_0E(struct Sprite *sprite); +static void pokemonanimfunc_0F(struct Sprite *sprite); +static void pokemonanimfunc_10(struct Sprite *sprite); +static void pokemonanimfunc_11(struct Sprite *sprite); +static void pokemonanimfunc_12(struct Sprite *sprite); +static void pokemonanimfunc_13(struct Sprite *sprite); +static void pokemonanimfunc_14(struct Sprite *sprite); +static void pokemonanimfunc_15(struct Sprite *sprite); +static void pokemonanimfunc_16(struct Sprite *sprite); +static void pokemonanimfunc_17(struct Sprite *sprite); +static void pokemonanimfunc_18(struct Sprite *sprite); +static void pokemonanimfunc_19(struct Sprite *sprite); +static void pokemonanimfunc_1A(struct Sprite *sprite); +static void pokemonanimfunc_1B(struct Sprite *sprite); +static void pokemonanimfunc_1C(struct Sprite *sprite); +static void pokemonanimfunc_1D(struct Sprite *sprite); +static void pokemonanimfunc_1E(struct Sprite *sprite); +static void pokemonanimfunc_1F(struct Sprite *sprite); +static void pokemonanimfunc_20(struct Sprite *sprite); +static void pokemonanimfunc_21(struct Sprite *sprite); +static void pokemonanimfunc_22(struct Sprite *sprite); +static void pokemonanimfunc_23(struct Sprite *sprite); +static void pokemonanimfunc_24(struct Sprite *sprite); +static void pokemonanimfunc_25(struct Sprite *sprite); +static void pokemonanimfunc_26(struct Sprite *sprite); +static void pokemonanimfunc_27(struct Sprite *sprite); +static void pokemonanimfunc_28(struct Sprite *sprite); +static void pokemonanimfunc_29(struct Sprite *sprite); +static void pokemonanimfunc_2A(struct Sprite *sprite); +static void pokemonanimfunc_2B(struct Sprite *sprite); +static void pokemonanimfunc_2C(struct Sprite *sprite); +static void pokemonanimfunc_2D(struct Sprite *sprite); +static void pokemonanimfunc_2E(struct Sprite *sprite); +static void pokemonanimfunc_2F(struct Sprite *sprite); +static void pokemonanimfunc_30(struct Sprite *sprite); +static void pokemonanimfunc_31(struct Sprite *sprite); +static void pokemonanimfunc_32(struct Sprite *sprite); +static void pokemonanimfunc_33(struct Sprite *sprite); +static void pokemonanimfunc_34(struct Sprite *sprite); +static void pokemonanimfunc_35(struct Sprite *sprite); +static void pokemonanimfunc_36(struct Sprite *sprite); +static void pokemonanimfunc_37(struct Sprite *sprite); +static void pokemonanimfunc_38(struct Sprite *sprite); +static void pokemonanimfunc_39(struct Sprite *sprite); +static void pokemonanimfunc_3A(struct Sprite *sprite); +static void pokemonanimfunc_3B(struct Sprite *sprite); +static void pokemonanimfunc_3C(struct Sprite *sprite); +static void pokemonanimfunc_3D(struct Sprite *sprite); +static void pokemonanimfunc_3E(struct Sprite *sprite); +static void pokemonanimfunc_3F(struct Sprite *sprite); +static void pokemonanimfunc_40(struct Sprite *sprite); +static void pokemonanimfunc_41(struct Sprite *sprite); +static void pokemonanimfunc_42(struct Sprite *sprite); +static void pokemonanimfunc_43(struct Sprite *sprite); +static void pokemonanimfunc_44(struct Sprite *sprite); +static void pokemonanimfunc_45(struct Sprite *sprite); +static void pokemonanimfunc_46(struct Sprite *sprite); +static void pokemonanimfunc_47(struct Sprite *sprite); +static void pokemonanimfunc_48(struct Sprite *sprite); +static void pokemonanimfunc_49(struct Sprite *sprite); +static void pokemonanimfunc_4A(struct Sprite *sprite); +static void pokemonanimfunc_4B(struct Sprite *sprite); +static void pokemonanimfunc_4C(struct Sprite *sprite); +static void pokemonanimfunc_4D(struct Sprite *sprite); +static void pokemonanimfunc_4E(struct Sprite *sprite); +static void pokemonanimfunc_4F(struct Sprite *sprite); +static void pokemonanimfunc_50(struct Sprite *sprite); +static void pokemonanimfunc_51(struct Sprite *sprite); +static void pokemonanimfunc_52(struct Sprite *sprite); +static void pokemonanimfunc_53(struct Sprite *sprite); +static void pokemonanimfunc_54(struct Sprite *sprite); +static void pokemonanimfunc_55(struct Sprite *sprite); +static void pokemonanimfunc_56(struct Sprite *sprite); +static void pokemonanimfunc_57(struct Sprite *sprite); +static void pokemonanimfunc_58(struct Sprite *sprite); +static void pokemonanimfunc_59(struct Sprite *sprite); +static void pokemonanimfunc_5A(struct Sprite *sprite); +static void pokemonanimfunc_5B(struct Sprite *sprite); +static void pokemonanimfunc_5C(struct Sprite *sprite); +static void pokemonanimfunc_5D(struct Sprite *sprite); +static void pokemonanimfunc_5E(struct Sprite *sprite); +static void pokemonanimfunc_5F(struct Sprite *sprite); +static void pokemonanimfunc_60(struct Sprite *sprite); +static void pokemonanimfunc_61(struct Sprite *sprite); +static void pokemonanimfunc_62(struct Sprite *sprite); +static void pokemonanimfunc_63(struct Sprite *sprite); +static void pokemonanimfunc_64(struct Sprite *sprite); +static void pokemonanimfunc_65(struct Sprite *sprite); +static void pokemonanimfunc_66(struct Sprite *sprite); +static void pokemonanimfunc_67(struct Sprite *sprite); +static void pokemonanimfunc_68(struct Sprite *sprite); +static void pokemonanimfunc_69(struct Sprite *sprite); +static void pokemonanimfunc_6A(struct Sprite *sprite); +static void pokemonanimfunc_6B(struct Sprite *sprite); +static void pokemonanimfunc_6C(struct Sprite *sprite); +static void pokemonanimfunc_6D(struct Sprite *sprite); +static void pokemonanimfunc_6E(struct Sprite *sprite); +static void pokemonanimfunc_6F(struct Sprite *sprite); +static void pokemonanimfunc_70(struct Sprite *sprite); +static void pokemonanimfunc_71(struct Sprite *sprite); +static void pokemonanimfunc_72(struct Sprite *sprite); +static void pokemonanimfunc_73(struct Sprite *sprite); +static void pokemonanimfunc_74(struct Sprite *sprite); +static void pokemonanimfunc_75(struct Sprite *sprite); +static void pokemonanimfunc_76(struct Sprite *sprite); +static void pokemonanimfunc_77(struct Sprite *sprite); +static void pokemonanimfunc_78(struct Sprite *sprite); +static void pokemonanimfunc_79(struct Sprite *sprite); +static void pokemonanimfunc_7A(struct Sprite *sprite); +static void pokemonanimfunc_7B(struct Sprite *sprite); +static void pokemonanimfunc_7C(struct Sprite *sprite); +static void pokemonanimfunc_7D(struct Sprite *sprite); +static void pokemonanimfunc_7E(struct Sprite *sprite); +static void pokemonanimfunc_7F(struct Sprite *sprite); +static void pokemonanimfunc_80(struct Sprite *sprite); +static void pokemonanimfunc_81(struct Sprite *sprite); +static void pokemonanimfunc_82(struct Sprite *sprite); +static void pokemonanimfunc_83(struct Sprite *sprite); +static void pokemonanimfunc_84(struct Sprite *sprite); +static void pokemonanimfunc_85(struct Sprite *sprite); +static void pokemonanimfunc_86(struct Sprite *sprite); +static void pokemonanimfunc_87(struct Sprite *sprite); +static void pokemonanimfunc_88(struct Sprite *sprite); +static void pokemonanimfunc_89(struct Sprite *sprite); +static void pokemonanimfunc_8A(struct Sprite *sprite); +static void pokemonanimfunc_8B(struct Sprite *sprite); +static void pokemonanimfunc_8C(struct Sprite *sprite); +static void pokemonanimfunc_8D(struct Sprite *sprite); +static void pokemonanimfunc_8E(struct Sprite *sprite); +static void pokemonanimfunc_8F(struct Sprite *sprite); +static void pokemonanimfunc_90(struct Sprite *sprite); +static void pokemonanimfunc_91(struct Sprite *sprite); +static void pokemonanimfunc_92(struct Sprite *sprite); +static void pokemonanimfunc_93(struct Sprite *sprite); +static void pokemonanimfunc_94(struct Sprite *sprite); +static void pokemonanimfunc_95(struct Sprite *sprite); +static void pokemonanimfunc_96(struct Sprite *sprite); + +static void SpriteCB_SetDummyOnAnimEnd(struct Sprite *sprite); + +#define STRUCT_COUNT 4 + +// IWRAM bss +static IWRAM_DATA struct UnkAnimStruct sUnknown_03001240[STRUCT_COUNT]; +static IWRAM_DATA u8 sUnknown_03001270; +static IWRAM_DATA bool32 sUnknown_03001274; + +// const rom data +static const u8 sSpeciesToBackAnimSet[] = +{ + 0x00, // SPECIES_NONE + 0x13, // SPECIES_BULBASAUR + 0x02, // SPECIES_IVYSAUR + 0x08, // SPECIES_VENUSAUR + 0x12, // SPECIES_CHARMANDER + 0x15, // SPECIES_CHARMELEON + 0x17, // SPECIES_CHARIZARD + 0x12, // SPECIES_SQUIRTLE + 0x12, // SPECIES_WARTORTLE + 0x19, // SPECIES_BLASTOISE + 0x02, // SPECIES_CATERPIE + 0x13, // SPECIES_METAPOD + 0x11, // SPECIES_BUTTERFREE + 0x02, // SPECIES_WEEDLE + 0x13, // SPECIES_KAKUNA + 0x01, // SPECIES_BEEDRILL + 0x0f, // SPECIES_PIDGEY + 0x15, // SPECIES_PIDGEOTTO + 0x0f, // SPECIES_PIDGEOT + 0x0a, // SPECIES_RATTATA + 0x0a, // SPECIES_RATICATE + 0x0f, // SPECIES_SPEAROW + 0x15, // SPECIES_FEAROW + 0x0f, // SPECIES_EKANS + 0x09, // SPECIES_ARBOK + 0x16, // SPECIES_PIKACHU + 0x16, // SPECIES_RAICHU + 0x12, // SPECIES_SANDSHREW + 0x10, // SPECIES_SANDSLASH + 0x12, // SPECIES_NIDORAN_F + 0x15, // SPECIES_NIDORINA + 0x09, // SPECIES_NIDOQUEEN + 0x12, // SPECIES_NIDORAN_M + 0x15, // SPECIES_NIDORINO + 0x09, // SPECIES_NIDOKING + 0x13, // SPECIES_CLEFAIRY + 0x13, // SPECIES_CLEFABLE + 0x10, // SPECIES_VULPIX + 0x01, // SPECIES_NINETALES + 0x13, // SPECIES_JIGGLYPUFF + 0x06, // SPECIES_WIGGLYTUFF + 0x11, // SPECIES_ZUBAT + 0x09, // SPECIES_GOLBAT + 0x02, // SPECIES_ODDISH + 0x02, // SPECIES_GLOOM + 0x14, // SPECIES_VILEPLUME + 0x02, // SPECIES_PARAS + 0x08, // SPECIES_PARASECT + 0x0a, // SPECIES_VENONAT + 0x11, // SPECIES_VENOMOTH + 0x09, // SPECIES_DIGLETT + 0x09, // SPECIES_DUGTRIO + 0x10, // SPECIES_MEOWTH + 0x0f, // SPECIES_PERSIAN + 0x02, // SPECIES_PSYDUCK + 0x14, // SPECIES_GOLDUCK + 0x10, // SPECIES_MANKEY + 0x10, // SPECIES_PRIMEAPE + 0x15, // SPECIES_GROWLITHE + 0x15, // SPECIES_ARCANINE + 0x12, // SPECIES_POLIWAG + 0x09, // SPECIES_POLIWHIRL + 0x0e, // SPECIES_POLIWRATH + 0x14, // SPECIES_ABRA + 0x14, // SPECIES_KADABRA + 0x0d, // SPECIES_ALAKAZAM + 0x15, // SPECIES_MACHOP + 0x09, // SPECIES_MACHOKE + 0x09, // SPECIES_MACHAMP + 0x0b, // SPECIES_BELLSPROUT + 0x0b, // SPECIES_WEEPINBELL + 0x0b, // SPECIES_VICTREEBEL + 0x02, // SPECIES_TENTACOOL + 0x02, // SPECIES_TENTACRUEL + 0x0e, // SPECIES_GEODUDE + 0x08, // SPECIES_GRAVELER + 0x08, // SPECIES_GOLEM + 0x17, // SPECIES_PONYTA + 0x15, // SPECIES_RAPIDASH + 0x02, // SPECIES_SLOWPOKE + 0x13, // SPECIES_SLOWBRO + 0x0f, // SPECIES_MAGNEMITE + 0x0f, // SPECIES_MAGNETON + 0x02, // SPECIES_FARFETCHD + 0x0f, // SPECIES_DODUO + 0x15, // SPECIES_DODRIO + 0x13, // SPECIES_SEEL + 0x02, // SPECIES_DEWGONG + 0x0b, // SPECIES_GRIMER + 0x0c, // SPECIES_MUK + 0x13, // SPECIES_SHELLDER + 0x0f, // SPECIES_CLOYSTER + 0x01, // SPECIES_GASTLY + 0x01, // SPECIES_HAUNTER + 0x14, // SPECIES_GENGAR + 0x09, // SPECIES_ONIX + 0x13, // SPECIES_DROWZEE + 0x14, // SPECIES_HYPNO + 0x0a, // SPECIES_KRABBY + 0x09, // SPECIES_KINGLER + 0x15, // SPECIES_VOLTORB + 0x15, // SPECIES_ELECTRODE + 0x02, // SPECIES_EXEGGCUTE + 0x10, // SPECIES_EXEGGUTOR + 0x15, // SPECIES_CUBONE + 0x10, // SPECIES_MAROWAK + 0x02, // SPECIES_HITMONLEE + 0x0f, // SPECIES_HITMONCHAN + 0x02, // SPECIES_LICKITUNG + 0x06, // SPECIES_KOFFING + 0x06, // SPECIES_WEEZING + 0x0e, // SPECIES_RHYHORN + 0x0e, // SPECIES_RHYDON + 0x12, // SPECIES_CHANSEY + 0x0b, // SPECIES_TANGELA + 0x12, // SPECIES_KANGASKHAN + 0x13, // SPECIES_HORSEA + 0x11, // SPECIES_SEADRA + 0x11, // SPECIES_GOLDEEN + 0x11, // SPECIES_SEAKING + 0x13, // SPECIES_STARYU + 0x19, // SPECIES_STARMIE + 0x14, // SPECIES_MR_MIME + 0x0f, // SPECIES_SCYTHER + 0x13, // SPECIES_JYNX + 0x16, // SPECIES_ELECTABUZZ + 0x17, // SPECIES_MAGMAR + 0x0e, // SPECIES_PINSIR + 0x0e, // SPECIES_TAUROS + 0x10, // SPECIES_MAGIKARP + 0x09, // SPECIES_GYARADOS + 0x19, // SPECIES_LAPRAS + 0x05, // SPECIES_DITTO + 0x12, // SPECIES_EEVEE + 0x19, // SPECIES_VAPOREON + 0x16, // SPECIES_JOLTEON + 0x17, // SPECIES_FLAREON + 0x01, // SPECIES_PORYGON + 0x13, // SPECIES_OMANYTE + 0x13, // SPECIES_OMASTAR + 0x13, // SPECIES_KABUTO + 0x15, // SPECIES_KABUTOPS + 0x15, // SPECIES_AERODACTYL + 0x13, // SPECIES_SNORLAX + 0x19, // SPECIES_ARTICUNO + 0x16, // SPECIES_ZAPDOS + 0x17, // SPECIES_MOLTRES + 0x02, // SPECIES_DRATINI + 0x0f, // SPECIES_DRAGONAIR + 0x09, // SPECIES_DRAGONITE + 0x0d, // SPECIES_MEWTWO + 0x12, // SPECIES_MEW + 0x12, // SPECIES_CHIKORITA + 0x02, // SPECIES_BAYLEEF + 0x09, // SPECIES_MEGANIUM + 0x12, // SPECIES_CYNDAQUIL + 0x15, // SPECIES_QUILAVA + 0x17, // SPECIES_TYPHLOSION + 0x15, // SPECIES_TOTODILE + 0x15, // SPECIES_CROCONAW + 0x09, // SPECIES_FERALIGATR + 0x12, // SPECIES_SENTRET + 0x10, // SPECIES_FURRET + 0x11, // SPECIES_HOOTHOOT + 0x0f, // SPECIES_NOCTOWL + 0x0a, // SPECIES_LEDYBA + 0x11, // SPECIES_LEDIAN + 0x0a, // SPECIES_SPINARAK + 0x02, // SPECIES_ARIADOS + 0x0f, // SPECIES_CROBAT + 0x0b, // SPECIES_CHINCHOU + 0x16, // SPECIES_LANTURN + 0x12, // SPECIES_PICHU + 0x13, // SPECIES_CLEFFA + 0x13, // SPECIES_IGGLYBUFF + 0x13, // SPECIES_TOGEPI + 0x11, // SPECIES_TOGETIC + 0x12, // SPECIES_NATU + 0x14, // SPECIES_XATU + 0x12, // SPECIES_MAREEP + 0x13, // SPECIES_FLAAFFY + 0x16, // SPECIES_AMPHAROS + 0x11, // SPECIES_BELLOSSOM + 0x12, // SPECIES_MARILL + 0x13, // SPECIES_AZUMARILL + 0x02, // SPECIES_SUDOWOODO + 0x10, // SPECIES_POLITOED + 0x11, // SPECIES_HOPPIP + 0x11, // SPECIES_SKIPLOOM + 0x11, // SPECIES_JUMPLUFF + 0x10, // SPECIES_AIPOM + 0x13, // SPECIES_SUNKERN + 0x02, // SPECIES_SUNFLORA + 0x11, // SPECIES_YANMA + 0x0b, // SPECIES_WOOPER + 0x02, // SPECIES_QUAGSIRE + 0x14, // SPECIES_ESPEON + 0x14, // SPECIES_UMBREON + 0x12, // SPECIES_MURKROW + 0x13, // SPECIES_SLOWKING + 0x01, // SPECIES_MISDREAVUS + 0x14, // SPECIES_UNOWN + 0x0b, // SPECIES_WOBBUFFET + 0x14, // SPECIES_GIRAFARIG + 0x08, // SPECIES_PINECO + 0x09, // SPECIES_FORRETRESS + 0x0f, // SPECIES_DUNSPARCE + 0x05, // SPECIES_GLIGAR + 0x09, // SPECIES_STEELIX + 0x15, // SPECIES_SNUBBULL + 0x09, // SPECIES_GRANBULL + 0x0d, // SPECIES_QWILFISH + 0x15, // SPECIES_SCIZOR + 0x13, // SPECIES_SHUCKLE + 0x15, // SPECIES_HERACROSS + 0x0f, // SPECIES_SNEASEL + 0x13, // SPECIES_TEDDIURSA + 0x09, // SPECIES_URSARING + 0x17, // SPECIES_SLUGMA + 0x17, // SPECIES_MAGCARGO + 0x0a, // SPECIES_SWINUB + 0x08, // SPECIES_PILOSWINE + 0x02, // SPECIES_CORSOLA + 0x02, // SPECIES_REMORAID + 0x05, // SPECIES_OCTILLERY + 0x0f, // SPECIES_DELIBIRD + 0x02, // SPECIES_MANTINE + 0x15, // SPECIES_SKARMORY + 0x09, // SPECIES_HOUNDOUR + 0x09, // SPECIES_HOUNDOOM + 0x19, // SPECIES_KINGDRA + 0x15, // SPECIES_PHANPY + 0x0e, // SPECIES_DONPHAN + 0x01, // SPECIES_PORYGON2 + 0x13, // SPECIES_STANTLER + 0x02, // SPECIES_SMEARGLE + 0x0f, // SPECIES_TYROGUE + 0x07, // SPECIES_HITMONTOP + 0x02, // SPECIES_SMOOCHUM + 0x08, // SPECIES_ELEKID + 0x17, // SPECIES_MAGBY + 0x02, // SPECIES_MILTANK + 0x13, // SPECIES_BLISSEY + 0x16, // SPECIES_RAIKOU + 0x17, // SPECIES_ENTEI + 0x19, // SPECIES_SUICUNE + 0x0e, // SPECIES_LARVITAR + 0x09, // SPECIES_PUPITAR + 0x0e, // SPECIES_TYRANITAR + 0x19, // SPECIES_LUGIA + 0x17, // SPECIES_HO_OH + 0x18, // SPECIES_CELEBI + 0x00, // SPECIES_OLD_UNOWN_B + 0x00, // SPECIES_OLD_UNOWN_C + 0x00, // SPECIES_OLD_UNOWN_D + 0x00, // SPECIES_OLD_UNOWN_E + 0x00, // SPECIES_OLD_UNOWN_F + 0x00, // SPECIES_OLD_UNOWN_G + 0x00, // SPECIES_OLD_UNOWN_H + 0x00, // SPECIES_OLD_UNOWN_I + 0x00, // SPECIES_OLD_UNOWN_J + 0x00, // SPECIES_OLD_UNOWN_K + 0x00, // SPECIES_OLD_UNOWN_L + 0x00, // SPECIES_OLD_UNOWN_M + 0x00, // SPECIES_OLD_UNOWN_N + 0x00, // SPECIES_OLD_UNOWN_O + 0x00, // SPECIES_OLD_UNOWN_P + 0x00, // SPECIES_OLD_UNOWN_Q + 0x00, // SPECIES_OLD_UNOWN_R + 0x00, // SPECIES_OLD_UNOWN_S + 0x00, // SPECIES_OLD_UNOWN_T + 0x00, // SPECIES_OLD_UNOWN_U + 0x00, // SPECIES_OLD_UNOWN_V + 0x00, // SPECIES_OLD_UNOWN_W + 0x00, // SPECIES_OLD_UNOWN_X + 0x00, // SPECIES_OLD_UNOWN_Y + 0x00, // SPECIES_OLD_UNOWN_Z + 0x10, // SPECIES_TREECKO + 0x15, // SPECIES_GROVYLE + 0x09, // SPECIES_SCEPTILE + 0x12, // SPECIES_TORCHIC + 0x10, // SPECIES_COMBUSKEN + 0x17, // SPECIES_BLAZIKEN + 0x02, // SPECIES_MUDKIP + 0x12, // SPECIES_MARSHTOMP + 0x19, // SPECIES_SWAMPERT + 0x12, // SPECIES_POOCHYENA + 0x08, // SPECIES_MIGHTYENA + 0x0f, // SPECIES_ZIGZAGOON + 0x15, // SPECIES_LINOONE + 0x0b, // SPECIES_WURMPLE + 0x08, // SPECIES_SILCOON + 0x11, // SPECIES_BEAUTIFLY + 0x08, // SPECIES_CASCOON + 0x0f, // SPECIES_DUSTOX + 0x02, // SPECIES_LOTAD + 0x10, // SPECIES_LOMBRE + 0x10, // SPECIES_LUDICOLO + 0x13, // SPECIES_SEEDOT + 0x09, // SPECIES_NUZLEAF + 0x14, // SPECIES_SHIFTRY + 0x0a, // SPECIES_NINCADA + 0x01, // SPECIES_NINJASK + 0x14, // SPECIES_SHEDINJA + 0x12, // SPECIES_TAILLOW + 0x15, // SPECIES_SWELLOW + 0x13, // SPECIES_SHROOMISH + 0x15, // SPECIES_BRELOOM + 0x07, // SPECIES_SPINDA + 0x11, // SPECIES_WINGULL + 0x11, // SPECIES_PELIPPER + 0x03, // SPECIES_SURSKIT + 0x11, // SPECIES_MASQUERAIN + 0x19, // SPECIES_WAILMER + 0x19, // SPECIES_WAILORD + 0x13, // SPECIES_SKITTY + 0x12, // SPECIES_DELCATTY + 0x01, // SPECIES_KECLEON + 0x13, // SPECIES_BALTOY + 0x14, // SPECIES_CLAYDOL + 0x0e, // SPECIES_NOSEPASS + 0x17, // SPECIES_TORKOAL + 0x01, // SPECIES_SABLEYE + 0x0b, // SPECIES_BARBOACH + 0x09, // SPECIES_WHISCASH + 0x04, // SPECIES_LUVDISC + 0x0f, // SPECIES_CORPHISH + 0x15, // SPECIES_CRAWDAUNT + 0x03, // SPECIES_FEEBAS + 0x19, // SPECIES_MILOTIC + 0x04, // SPECIES_CARVANHA + 0x15, // SPECIES_SHARPEDO + 0x13, // SPECIES_TRAPINCH + 0x01, // SPECIES_VIBRAVA + 0x0f, // SPECIES_FLYGON + 0x0e, // SPECIES_MAKUHITA + 0x0e, // SPECIES_HARIYAMA + 0x15, // SPECIES_ELECTRIKE + 0x09, // SPECIES_MANECTRIC + 0x0e, // SPECIES_NUMEL + 0x17, // SPECIES_CAMERUPT + 0x13, // SPECIES_SPHEAL + 0x09, // SPECIES_SEALEO + 0x09, // SPECIES_WALREIN + 0x0a, // SPECIES_CACNEA + 0x08, // SPECIES_CACTURNE + 0x0f, // SPECIES_SNORUNT + 0x0f, // SPECIES_GLALIE + 0x13, // SPECIES_LUNATONE + 0x13, // SPECIES_SOLROCK + 0x10, // SPECIES_AZURILL + 0x10, // SPECIES_SPOINK + 0x14, // SPECIES_GRUMPIG + 0x12, // SPECIES_PLUSLE + 0x12, // SPECIES_MINUN + 0x09, // SPECIES_MAWILE + 0x14, // SPECIES_MEDITITE + 0x14, // SPECIES_MEDICHAM + 0x11, // SPECIES_SWABLU + 0x11, // SPECIES_ALTARIA + 0x12, // SPECIES_WYNAUT + 0x01, // SPECIES_DUSKULL + 0x01, // SPECIES_DUSCLOPS + 0x18, // SPECIES_ROSELIA + 0x02, // SPECIES_SLAKOTH + 0x10, // SPECIES_VIGOROTH + 0x08, // SPECIES_SLAKING + 0x0b, // SPECIES_GULPIN + 0x0b, // SPECIES_SWALOT + 0x0e, // SPECIES_TROPIUS + 0x13, // SPECIES_WHISMUR + 0x09, // SPECIES_LOUDRED + 0x0d, // SPECIES_EXPLOUD + 0x13, // SPECIES_CLAMPERL + 0x11, // SPECIES_HUNTAIL + 0x11, // SPECIES_GOREBYSS + 0x14, // SPECIES_ABSOL + 0x01, // SPECIES_SHUPPET + 0x01, // SPECIES_BANETTE + 0x0b, // SPECIES_SEVIPER + 0x15, // SPECIES_ZANGOOSE + 0x02, // SPECIES_RELICANTH + 0x15, // SPECIES_ARON + 0x09, // SPECIES_LAIRON + 0x0e, // SPECIES_AGGRON + 0x11, // SPECIES_CASTFORM + 0x11, // SPECIES_VOLBEAT + 0x11, // SPECIES_ILLUMISE + 0x0c, // SPECIES_LILEEP + 0x0b, // SPECIES_CRADILY + 0x0f, // SPECIES_ANORITH + 0x09, // SPECIES_ARMALDO + 0x14, // SPECIES_RALTS + 0x14, // SPECIES_KIRLIA + 0x14, // SPECIES_GARDEVOIR + 0x09, // SPECIES_BAGON + 0x09, // SPECIES_SHELGON + 0x08, // SPECIES_SALAMENCE + 0x0f, // SPECIES_BELDUM + 0x15, // SPECIES_METANG + 0x09, // SPECIES_METAGROSS + 0x09, // SPECIES_REGIROCK + 0x09, // SPECIES_REGICE + 0x09, // SPECIES_REGISTEEL + 0x19, // SPECIES_KYOGRE + 0x17, // SPECIES_GROUDON + 0x0d, // SPECIES_RAYQUAZA + 0x01, // SPECIES_LATIAS + 0x01, // SPECIES_LATIOS + 0x11, // SPECIES_JIRACHI + 0x14, // SPECIES_DEOXYS + 0x11, // SPECIES_CHIMECHO +}; + +static const u8 sUnknown_0860AA64[][2] = +{ + {0, 5}, + {1, 1}, + {0, 15}, + {1, 4}, + {0, 2}, + {1, 2}, + {0, 2}, + {1, 2}, + {0, 2}, + {1, 2}, + {0, 2}, + {1, 2}, + {0, 2}, + {0, 0xFF} +}; + +static const u8 sUnknown_0860AA80[][2] = +{ + {6, 30}, + {0xFE, 15}, + {6, 30}, + {0xFF, 0} +}; + +static void (* const sMonAnimFunctions[])(struct Sprite *sprite) = +{ + pokemonanimfunc_00, + pokemonanimfunc_01, + pokemonanimfunc_02, + pokemonanimfunc_03, + pokemonanimfunc_04, + pokemonanimfunc_05, + pokemonanimfunc_06, + pokemonanimfunc_07, + pokemonanimfunc_08, + pokemonanimfunc_09, + pokemonanimfunc_0A, + pokemonanimfunc_0B, + pokemonanimfunc_0C, + pokemonanimfunc_0D, + pokemonanimfunc_0E, + pokemonanimfunc_0F, + pokemonanimfunc_10, + pokemonanimfunc_11, + pokemonanimfunc_12, + pokemonanimfunc_13, + pokemonanimfunc_14, + pokemonanimfunc_15, + pokemonanimfunc_16, + pokemonanimfunc_17, + pokemonanimfunc_18, + pokemonanimfunc_19, + pokemonanimfunc_1A, + pokemonanimfunc_1B, + pokemonanimfunc_1C, + pokemonanimfunc_1D, + pokemonanimfunc_1E, + pokemonanimfunc_1F, + pokemonanimfunc_20, + pokemonanimfunc_21, + pokemonanimfunc_22, + pokemonanimfunc_23, + pokemonanimfunc_24, + pokemonanimfunc_25, + pokemonanimfunc_26, + pokemonanimfunc_27, + pokemonanimfunc_28, + pokemonanimfunc_29, + pokemonanimfunc_2A, + pokemonanimfunc_2B, + pokemonanimfunc_2C, + pokemonanimfunc_2D, + pokemonanimfunc_2E, + pokemonanimfunc_2F, + pokemonanimfunc_30, + pokemonanimfunc_31, + pokemonanimfunc_32, + pokemonanimfunc_33, + pokemonanimfunc_34, + pokemonanimfunc_35, + pokemonanimfunc_36, + pokemonanimfunc_37, + pokemonanimfunc_38, + pokemonanimfunc_39, + pokemonanimfunc_3A, + pokemonanimfunc_3B, + pokemonanimfunc_3C, + pokemonanimfunc_3D, + pokemonanimfunc_3E, + pokemonanimfunc_3F, + pokemonanimfunc_40, + pokemonanimfunc_41, + pokemonanimfunc_42, + pokemonanimfunc_43, + pokemonanimfunc_44, + pokemonanimfunc_45, + pokemonanimfunc_46, + pokemonanimfunc_47, + pokemonanimfunc_48, + pokemonanimfunc_49, + pokemonanimfunc_4A, + pokemonanimfunc_4B, + pokemonanimfunc_4C, + pokemonanimfunc_4D, + pokemonanimfunc_4E, + pokemonanimfunc_4F, + pokemonanimfunc_50, + pokemonanimfunc_51, + pokemonanimfunc_52, + pokemonanimfunc_53, + pokemonanimfunc_54, + pokemonanimfunc_55, + pokemonanimfunc_56, + pokemonanimfunc_57, + pokemonanimfunc_58, + pokemonanimfunc_59, + pokemonanimfunc_5A, + pokemonanimfunc_5B, + pokemonanimfunc_5C, + pokemonanimfunc_5D, + pokemonanimfunc_5E, + pokemonanimfunc_5F, + pokemonanimfunc_60, + pokemonanimfunc_61, + pokemonanimfunc_62, + pokemonanimfunc_63, + pokemonanimfunc_64, + pokemonanimfunc_65, + pokemonanimfunc_66, + pokemonanimfunc_67, + pokemonanimfunc_68, + pokemonanimfunc_69, + pokemonanimfunc_6A, + pokemonanimfunc_6B, + pokemonanimfunc_6C, + pokemonanimfunc_6D, + pokemonanimfunc_6E, + pokemonanimfunc_6F, + pokemonanimfunc_70, + pokemonanimfunc_71, + pokemonanimfunc_72, + pokemonanimfunc_73, + pokemonanimfunc_74, + pokemonanimfunc_75, + pokemonanimfunc_76, + pokemonanimfunc_77, + pokemonanimfunc_78, + pokemonanimfunc_79, + pokemonanimfunc_7A, + pokemonanimfunc_7B, + pokemonanimfunc_7C, + pokemonanimfunc_7D, + pokemonanimfunc_7E, + pokemonanimfunc_7F, + pokemonanimfunc_80, + pokemonanimfunc_81, + pokemonanimfunc_82, + pokemonanimfunc_83, + pokemonanimfunc_84, + pokemonanimfunc_85, + pokemonanimfunc_86, + pokemonanimfunc_87, + pokemonanimfunc_88, + pokemonanimfunc_89, + pokemonanimfunc_8A, + pokemonanimfunc_8B, + pokemonanimfunc_8C, + pokemonanimfunc_8D, + pokemonanimfunc_8E, + pokemonanimfunc_8F, + pokemonanimfunc_90, + pokemonanimfunc_91, + pokemonanimfunc_92, + pokemonanimfunc_93, + pokemonanimfunc_94, + pokemonanimfunc_95, + pokemonanimfunc_96 +}; + +// counting from Id 1, because 0 in sSpeciesToBackAnimSet is used for mons with no back animation +static const u8 sBackAnimationIds[] = +{ + 0x60, 0x5f, 0x02, // 1 + 0x5e, 0x03, 0x46, // 2 + 0x6d, 0x3e, 0x6e, // 3 + 0x6f, 0x70, 0x3f, // 4 + 0x71, 0x13, 0x72, // 5 + 0x6c, 0x6b, 0x3a, // 6 + 0x64, 0x14, 0x4f, // 7 + 0x5d, 0x0f, 0x4c, // 8 + 0x61, 0x57, 0x58, // 9 + 0x67, 0x66, 0x59, // 0xA + 0x74, 0x73, 0x5a, // 0xB + 0x75, 0x76, 0x5b, // 0xC + 0x77, 0x78, 0x65, // 0xD + 0x63, 0x5c, 0x62, // 0xE + 0x6a, 0x69, 0x68, // 0xF + 0x7b, 0x7a, 0x79, // 0x10 + 0x7e, 0x7d, 0x7c, // 0x11 + 0x81, 0x80, 0x7f, // 0x12 + 0x84, 0x82, 0x83, // 0x13 + 0x85, 0x86, 0x87, // 0x14 + 0x88, 0x89, 0x8a, // 0x15 + 0x8b, 0x8c, 0x8d, // 0x16 + 0x8e, 0x8f, 0x90, // 0x17 + 0x91, 0x92, 0x93, // 0x18 + 0x94, 0x95, 0x96, // 0x19 +}; + +static const u8 sBackAnimNatureModTable[] = +{ + 0x00, // NATURE_HARDY + 0x02, // NATURE_LONELY + 0x00, // NATURE_BRAVE + 0x00, // NATURE_ADAMANT + 0x00, // NATURE_NAUGHTY + 0x01, // NATURE_BOLD + 0x01, // NATURE_DOCILE + 0x01, // NATURE_RELAXED + 0x00, // NATURE_IMPISH + 0x01, // NATURE_LAX + 0x02, // NATURE_TIMID + 0x00, // NATURE_HASTY + 0x01, // NATURE_SERIOUS + 0x00, // NATURE_JOLLY + 0x00, // NATURE_NAIVE + 0x02, // NATURE_MODEST + 0x02, // NATURE_MILD + 0x02, // NATURE_QUIET + 0x02, // NATURE_BASHFUL + 0x01, // NATURE_RASH + 0x01, // NATURE_CALM + 0x02, // NATURE_GENTLE + 0x01, // NATURE_SASSY + 0x02, // NATURE_CAREFUL + 0x01, // NATURE_QUIRKY +}; + +static const union AffineAnimCmd sSpriteAffineAnim_860AD48[] = +{ + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMDTYPE_END +}; + +static const union AffineAnimCmd sSpriteAffineAnim_860AD58[] = +{ + AFFINEANIMCMD_FRAME(-256, 256, 0, 0), + AFFINEANIMCMDTYPE_END +}; + +static const union AffineAnimCmd *const sSpriteAffineAnimTable_860AD68[] = +{ + sSpriteAffineAnim_860AD48, + sSpriteAffineAnim_860AD58 +}; + +// code +static void MonAnimDummySpriteCallback(struct Sprite *sprite) +{ +} + +static void sub_817F3F0(struct Sprite *sprite, u16 index, s16 amplitudeX, s16 amplitudeY) +{ + s16 xAdder, yAdder; + + amplitudeX *= -1; + amplitudeY *= -1; + + xAdder = Cos(index, amplitudeX) - Sin(index, amplitudeY); + yAdder = Cos(index, amplitudeY) + Sin(index, amplitudeX); + + amplitudeX *= -1; + amplitudeY *= -1; + + sprite->pos2.x = xAdder + amplitudeX; + sprite->pos2.y = yAdder + amplitudeY; +} + +u8 GetSpeciesBackAnimSet(u16 species) +{ + if (sSpeciesToBackAnimSet[species] != 0) + return sSpeciesToBackAnimSet[species] - 1; + else + return 0; +} + +#define tState data[0] +#define tPtrLO data[1] +#define tPtrHI data[2] +#define tAnimId data[3] +#define tSaved0 data[4] +#define tSaved2 data[5] + +static void Task_HandleMonAnimation(u8 taskId) +{ + u32 i; + struct Sprite *sprite = (struct Sprite*)(u32)((gTasks[taskId].tPtrLO << 0x10) | (gTasks[taskId].tPtrHI)); + + if (gTasks[taskId].tState == 0) + { + gTasks[taskId].tSaved0 = sprite->data[0]; + gTasks[taskId].tSaved2 = sprite->data[2]; + sprite->data[1] = 1; + sprite->data[0] = 0; + + for (i = 2; i < ARRAY_COUNT(sprite->data); i++) + sprite->data[i] = 0; + + sprite->callback = sMonAnimFunctions[gTasks[taskId].tAnimId]; + sUnknown_03001274 = FALSE; + + gTasks[taskId].tState++; + } + if (sprite->callback == SpriteCallbackDummy) + { + sprite->data[0] = gTasks[taskId].tSaved0; + sprite->data[2] = gTasks[taskId].tSaved2; + sprite->data[1] = 0; + + DestroyTask(taskId); + } +} + +void LaunchAnimationTaskForFrontSprite(struct Sprite *sprite, u8 frontAnimId) +{ + u8 taskId = CreateTask(Task_HandleMonAnimation, 128); + gTasks[taskId].tPtrLO = (u32)(sprite) >> 0x10; + gTasks[taskId].tPtrHI = (u32)(sprite); + gTasks[taskId].tAnimId = frontAnimId; +} + +void StartMonSummaryAnimation(struct Sprite *sprite, u8 frontAnimId) +{ + sUnknown_03001274 = TRUE; + sprite->callback = sMonAnimFunctions[frontAnimId]; +} + +void LaunchAnimationTaskForBackSprite(struct Sprite *sprite, u8 backAnimSet) +{ + u8 nature, taskId, animId, bank; + + taskId = CreateTask(Task_HandleMonAnimation, 128); + gTasks[taskId].tPtrLO = (u32)(sprite) >> 0x10; + gTasks[taskId].tPtrHI = (u32)(sprite); + + bank = sprite->data[0]; + nature = GetNature(&gPlayerParty[gBattlerPartyIndexes[bank]]); + + animId = 3 * backAnimSet + sBackAnimNatureModTable[nature]; + gTasks[taskId].tAnimId = sBackAnimationIds[animId]; +} + +#undef tState +#undef tPtrLO +#undef tPtrHI +#undef tAnimId +#undef tSaved0 +#undef tSaved2 + +void SetSpriteCB_MonAnimDummy(struct Sprite *sprite) +{ + sprite->callback = MonAnimDummySpriteCallback; +} + +static void SetAffineData(struct Sprite *sprite, s16 xScale, s16 yScale, u16 rotation) +{ + u8 matrixNum; + struct ObjAffineSrcData affineSrcData; + struct OamMatrix dest; + + affineSrcData.xScale = xScale; + affineSrcData.yScale = yScale; + affineSrcData.rotation = rotation; + + matrixNum = sprite->oam.matrixNum; + + ObjAffineSet(&affineSrcData, &dest, 1, 2); + gOamMatrices[matrixNum].a = dest.a; + gOamMatrices[matrixNum].b = dest.b; + gOamMatrices[matrixNum].c = dest.c; + gOamMatrices[matrixNum].d = dest.d; +} + +static void HandleStartAffineAnim(struct Sprite *sprite) +{ + sprite->oam.affineMode = 3; + sprite->affineAnims = sSpriteAffineAnimTable_860AD68; + + if (sUnknown_03001274 == TRUE) + InitSpriteAffineAnim(sprite); + + if (!sprite->data[1]) + StartSpriteAffineAnim(sprite, 1); + else + StartSpriteAffineAnim(sprite, 0); + + CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode); + sprite->affineAnimPaused = 1; +} + +static void HandleSetAffineData(struct Sprite *sprite, s16 xScale, s16 yScale, u16 rotation) +{ + if (!sprite->data[1]) + { + xScale *= -1; + rotation *= -1; + } + + SetAffineData(sprite, xScale, yScale, rotation); +} + +static void sub_817F70C(struct Sprite *sprite) +{ + if (!sprite->data[1]) + sprite->pos2.x *= -1; +} + +static bool32 sub_817F724(u8 id) +{ + if (id >= STRUCT_COUNT) + { + return FALSE; + } + else + { + sUnknown_03001240[id].field_6 = 0; + sUnknown_03001240[id].field_0 = 0; + sUnknown_03001240[id].field_4 = 1; + sUnknown_03001240[id].field_2 = 0; + sUnknown_03001240[id].field_8 = 0; + return TRUE; + } +} + +static u8 sub_817F758(void) +{ + sUnknown_03001270 = (sUnknown_03001270 + 1) % STRUCT_COUNT; + sub_817F724(sUnknown_03001270); + return sUnknown_03001270; +} + +static void sub_817F77C(struct Sprite *sprite) +{ + sprite->oam.affineMode = 1; + CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode); + + if (sUnknown_03001274 == TRUE) + { + if (!sprite->data[1]) + sprite->hFlip = 1; + else + sprite->hFlip = 0; + + FreeOamMatrix(sprite->oam.matrixNum); + sprite->oam.matrixNum |= (sprite->hFlip << 3); + sprite->oam.affineMode = 0; + } +} + +static void pokemonanimfunc_01(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + HandleStartAffineAnim(sprite); + + if (sprite->data[2] > 40) + { + HandleSetAffineData(sprite, 256, 256, 0); + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + s16 var = (sprite->data[2] * 512 / 40) % 256; + + sprite->data[4] = Sin(var, 32) + 256; + sprite->data[5] = Cos(var, 32) + 256; + HandleSetAffineData(sprite, sprite->data[4], sprite->data[5], 0); + } + + sprite->data[2]++; +} + +static void pokemonanimfunc_02(struct Sprite *sprite) +{ + if (sprite->data[2] > 40) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->pos2.x = 0; + } + else + { + s8 sign; + if (!(sprite->data[2] & 1)) + sign = 1; + else + sign = -1; + + sprite->pos2.x = Sin((sprite->data[2] * 128 / 40) % 256, 6) * sign; + } + + sprite->data[2]++; +} + +static void sub_817F8FC(struct Sprite *sprite) +{ + sub_817F70C(sprite); + + if (sprite->data[2] > sprite->data[0]) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->pos2.x = 0; + } + else + { + sprite->pos2.x = Sin((sprite->data[2] * 384 / sprite->data[0]) % 256, 6); + } + + sprite->data[2]++; + sub_817F70C(sprite); +} + +static void pokemonanimfunc_03(struct Sprite *sprite) +{ + sprite->data[0] = 40; + sub_817F8FC(sprite); + sprite->callback = sub_817F8FC; +} + +static void sub_817F978(struct Sprite *sprite) +{ + sub_817F70C(sprite); + + if (sprite->data[2] > sprite->data[0]) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->pos2.y = 0; + } + else + { + sprite->pos2.y = -(Sin((sprite->data[2] * 384 / sprite->data[0]) % 256, 6)); + } + + sprite->data[2]++; + sub_817F70C(sprite); +} + +static void pokemonanimfunc_04(struct Sprite *sprite) +{ + sprite->data[0] = 40; + sub_817F978(sprite); + sprite->callback = sub_817F978; +} + +#ifdef NONMATCHING +static void sub_817F9F4(struct Sprite *sprite) +{ + s32 counter = sprite->data[2]; + + if (counter > 384) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->pos2.x = 0; + sprite->pos2.y = 0; + } + else + { + s32 divCounter = counter / 128; + + switch (divCounter) + { + case 0: + case 1: + sprite->pos2.y = -(Sin(counter % 128, sprite->data[0] * 2)); + break; + case 2: + case 3: + sprite->pos2.y = -(Sin(counter - 256, sprite->data[0] * 3)); + break; + } + } + + sprite->data[2] += 12; +} + +#else +__attribute__((naked)) +static void sub_817F9F4(struct Sprite *sprite) +{ + asm(".syntax unified\n\ + push {r4,lr}\n\ + adds r4, r0, 0\n\ + movs r0, 0x32\n\ + ldrsh r1, [r4, r0]\n\ + movs r0, 0xC0\n\ + lsls r0, 1\n\ + cmp r1, r0\n\ + ble _0817FA14\n\ + ldr r0, =SpriteCB_SetDummyOnAnimEnd\n\ + str r0, [r4, 0x1C]\n\ + movs r0, 0\n\ + strh r0, [r4, 0x24]\n\ + b _0817FA5E\n\ + .pool\n\ +_0817FA14:\n\ + adds r0, r1, 0\n\ + cmp r1, 0\n\ + bge _0817FA1C\n\ + adds r0, 0x7F\n\ +_0817FA1C:\n\ + asrs r2, r0, 7\n\ + lsls r0, r2, 16\n\ + asrs r0, 16\n\ + cmp r0, 0\n\ + blt _0817FA60\n\ + cmp r0, 0x1\n\ + ble _0817FA48\n\ + cmp r0, 0x3\n\ + bgt _0817FA60\n\ + ldr r2, =0xffffff00\n\ + adds r1, r2\n\ + lsls r0, r1, 16\n\ + asrs r0, 16\n\ + movs r1, 0x2E\n\ + ldrsh r2, [r4, r1]\n\ + lsls r1, r2, 1\n\ + adds r1, r2\n\ + lsls r1, 16\n\ + b _0817FA56\n\ + .pool\n\ +_0817FA48:\n\ + lsls r0, r2, 7\n\ + subs r0, r1, r0\n\ + lsls r0, 16\n\ + asrs r0, 16\n\ + movs r2, 0x2E\n\ + ldrsh r1, [r4, r2]\n\ + lsls r1, 17\n\ +_0817FA56:\n\ + asrs r1, 16\n\ + bl Sin\n\ + negs r0, r0\n\ +_0817FA5E:\n\ + strh r0, [r4, 0x26]\n\ +_0817FA60:\n\ + ldrh r0, [r4, 0x32]\n\ + adds r0, 0xC\n\ + strh r0, [r4, 0x32]\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ + .syntax divided"); +} + +#endif // NONMATCHING + +static void pokemonanimfunc_1E(struct Sprite *sprite) +{ + sprite->data[0] = 4; + sub_817F9F4(sprite); + sprite->callback = sub_817F9F4; +} + +static void pokemonanimfunc_06(struct Sprite *sprite) +{ + s32 counter = sprite->data[2]; + + if (counter > 768) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->pos2.x = 0; + sprite->pos2.y = 0; + } + else + { + s16 divCounter = counter / 128; + + switch (divCounter) + { + case 0: + case 1: + sprite->pos2.x = 0; + break; + case 2: + counter = 0; + break; + case 3: + sprite->pos2.x = -(counter % 128 * 8) / 128; + break; + case 4: + sprite->pos2.x = (counter % 128) / 8 - 8; + break; + case 5: + sprite->pos2.x = -(counter % 128 * 8) / 128 + 8; + break; + } + + sprite->pos2.y = -(Sin(counter % 128, 8)); + } + + sprite->data[2] += 12; +} + +static void pokemonanimfunc_09(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + HandleStartAffineAnim(sprite); + + if (sprite->data[2] > 40) + { + HandleSetAffineData(sprite, 256, 256, 0); + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + s16 index = (sprite->data[2] * 256 / 40) % 256; + + if (sprite->data[2] % 2 == 0) + { + sprite->data[4] = Sin(index, 32) + 256; + sprite->data[5] = Sin(index, 32) + 256; + } + else + { + sprite->data[4] = Sin(index, 8) + 256; + sprite->data[5] = Sin(index, 8) + 256; + } + + HandleSetAffineData(sprite, sprite->data[4], sprite->data[5], 0); + } + + sprite->data[2]++; +} + +static const s8 sUnknown_0860AD70[][3] = +{ + {-1, -1, 6}, + {2, 0, 6}, + {-2, 2, 6}, + {2, 0, 6}, + {-2, -2, 6}, + {2, 0, 6}, + {-2, 2, 6}, + {2, 0, 6}, + {-1, -1, 6}, + {0, 0, 0}, +}; + +static void sub_817FC20(struct Sprite *sprite) +{ + sub_817F70C(sprite); + + if (sprite->data[2] == 0) + sprite->data[3] = 0; + + if (sUnknown_0860AD70[sprite->data[3]][2] == sprite->data[2]) + { + if (sUnknown_0860AD70[sprite->data[3]][2] == 0) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + sprite->data[3]++; + sprite->data[2] = 0; + } + } + + if (sUnknown_0860AD70[sprite->data[3]][2] == 0) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + sprite->pos2.x += sUnknown_0860AD70[sprite->data[3]][0]; + sprite->pos2.y += sUnknown_0860AD70[sprite->data[3]][1]; + sprite->data[2]++; + sub_817F70C(sprite); + } +} + +static void pokemonanimfunc_0A(struct Sprite *sprite) +{ + sub_817FC20(sprite); + sprite->callback = sub_817FC20; +} + +static void sub_817FCDC(struct Sprite *sprite) +{ + s32 counter = sprite->data[2]; + + if (counter > 2304) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->pos2.x = 0; + } + else + { + sprite->pos2.x = Sin(counter % 256, sprite->data[7]); + } + + sprite->data[2] += sprite->data[0]; +} + +static void pokemonanimfunc_0F(struct Sprite *sprite) +{ + sprite->data[0] = 60; + sprite->data[7] = 3; + sub_817FCDC(sprite); + sprite->callback = sub_817FCDC; +} + +static void sub_817FD44(struct Sprite *sprite) +{ + s32 counter = sprite->data[2]; + + if (counter > 2304) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->pos2.y = 0; + } + else + { + sprite->pos2.y = Sin(counter % 256, 3); + } + + sprite->data[2] += sprite->data[0]; +} + +static void pokemonanimfunc_10(struct Sprite *sprite) +{ + sprite->data[0] = 60; + sub_817FD44(sprite); + sprite->callback = sub_817FD44; +} + +static void pokemonanimfunc_11(struct Sprite *sprite) +{ + if (sprite->data[2] > 512) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->pos2.x = 0; + sprite->pos2.y = 0; + } + else + { + s8 sign; + s32 index, amplitude; + + if (!(sprite->data[2] & 1)) + sign = 1; + else + sign = -1; + + amplitude = Sin(sprite->data[2] / 4, 8); + index = sprite->data[2] % 256; + + sprite->pos2.y = Sin(index, amplitude) * sign; + sprite->pos2.x = Cos(index, amplitude) * sign; + } + + sprite->data[2] += 9; +} + +static void sub_817FE30(struct Sprite *sprite) +{ + s16 id = sprite->data[0]; + + if (sUnknown_03001240[id].field_0 != 0) + { + sUnknown_03001240[id].field_0--; + } + else + { + if (sprite->data[2] == 0 && sUnknown_03001240[id].field_8 == 0) + { + HandleStartAffineAnim(sprite); + sUnknown_03001240[id].field_8++; + } + + if (sprite->data[2] > sUnknown_03001240[id].field_6) + { + HandleSetAffineData(sprite, 256, 256, 0); + + if (sUnknown_03001240[id].field_4 > 1) + { + sUnknown_03001240[id].field_4--; + sUnknown_03001240[id].field_0 = 10; + sprite->data[2] = 0; + } + else + { + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + } + else + { + sprite->data[6] = Sin(sprite->data[2] % 256, 4096); + HandleSetAffineData(sprite, 256, 256, sprite->data[6]); + } + + sprite->data[2] += 16; + } +} + +static void pokemonanimfunc_12(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + + sUnknown_03001240[id].field_6 = 512; + sUnknown_03001240[id].field_0 = 0; + sub_817FE30(sprite); + sprite->callback = sub_817FE30; +} + +static void sub_817FF3C(struct Sprite *sprite) +{ + u8 id = sprite->data[0]; + + if (sprite->data[2] == 0) + HandleStartAffineAnim(sprite); + + if (sprite->data[2] > sUnknown_03001240[id].field_0) + { + HandleSetAffineData(sprite, 256, 256, 0); + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + sprite->data[6] = (65536 / sUnknown_03001240[id].field_8) * sprite->data[2]; + HandleSetAffineData(sprite, 256, 256, sprite->data[6]); + } + + sprite->data[2]++; +} + +static void pokemonanimfunc_1F(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + + sUnknown_03001240[id].field_0 = 60; + sUnknown_03001240[id].field_8 = 20; + sub_817FF3C(sprite); + sprite->callback = sub_817FF3C; +} + +static void sub_817FFF0(struct Sprite *sprite) +{ + u8 id = sprite->data[0]; + + sub_817F70C(sprite); + + if (sprite->data[2] > sUnknown_03001240[id].field_6) + { + sprite->pos2.x = 0; + sprite->pos2.y = 0; + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + s16 index = (sprite->data[2] + 192) % 256; + + sprite->pos2.x = -(Cos(index, sUnknown_03001240[id].field_8 * 2)); + sprite->pos2.y = Sin(index, sUnknown_03001240[id].field_8) + sUnknown_03001240[id].field_8; + } + + sprite->data[2] += sUnknown_03001240[id].field_2; + sub_817F70C(sprite); +} + +static void pokemonanimfunc_14(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + + sUnknown_03001240[id].field_6 = 512; + sUnknown_03001240[id].field_8 = 6; + sUnknown_03001240[id].field_2 = 24; + sub_817FFF0(sprite); + sprite->callback = sub_817FFF0; +} + +static void pokemonanimfunc_15(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + + if (sprite->data[2] > 128) + { + BlendPalette(sprite->data[7], 0x10, 0, RGB_BLACK); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + sprite->data[6] = Sin(sprite->data[2], 16); + BlendPalette(sprite->data[7], 0x10, sprite->data[6], RGB_BLACK); + } + + sprite->data[2]++; +} + +static void pokemonanimfunc_16(struct Sprite *sprite) +{ + s16 index1 = 0, index2 = 0; + + if (sprite->data[2] == 0) + HandleStartAffineAnim(sprite); + + if (sprite->data[2] > 40) + { + HandleSetAffineData(sprite, 256, 256, 0); + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + index2 = (sprite->data[2] * 128) / 40; + + if (sprite->data[2] >= 10 && sprite->data[2] <= 29) + { + sprite->data[7] += 51; + index1 = 0xFF & sprite->data[7]; + } + + if (sprite->data[1] == 0) + sprite->data[4] = (Sin(index2, 40) - 256) + Sin(index1, 16); + else + sprite->data[4] = (256 - Sin(index2, 40)) - Sin(index1, 16); + + sprite->data[5] = Sin(index2, 16) + 256; + SetAffineData(sprite, sprite->data[4], sprite->data[5], 0); + } + + sprite->data[2]++; +} + +static void pokemonanimfunc_17(struct Sprite *sprite) +{ + s16 posY = 0, index1 = 0, index2 = 0; + + if (sprite->data[2] == 0) + HandleStartAffineAnim(sprite); + + if (sprite->data[2] > 40) + { + HandleSetAffineData(sprite, 256, 256, 0); + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->pos2.y = posY; + } + else + { + index2 = (sprite->data[2] * 128) / 40; + + if (sprite->data[2] >= 10 && sprite->data[2] <= 29) + { + sprite->data[7] += 51; + index1 = 0xFF & sprite->data[7]; + } + + if (sprite->data[1] == 0) + sprite->data[4] = -(Sin(index2, 16)) - 256; + else + sprite->data[4] = Sin(index2, 16) + 256; + + sprite->data[5] = (256 - Sin(index2, 40)) - Sin(index1, 8); + + if (sprite->data[5] != 256) + posY = (256 - sprite->data[5]) / 8; + + sprite->pos2.y = -(posY); + SetAffineData(sprite, sprite->data[4], sprite->data[5], 0); + } + + sprite->data[2]++; +} + +static void sub_818031C(struct Sprite *sprite) +{ + u8 index = sprite->data[2]; + u8 var7 = sprite->data[6]; + u8 var5 = sUnknown_0860AA80[sprite->data[5]][0]; + u8 var6 = sUnknown_0860AA80[sprite->data[5]][1]; + u8 amplitude = 0; + + if (var5 != 0xFE) + amplitude = (var6 - var7) * var5 / var6; + else + amplitude = 0; + + if (var5 == 0xFF) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->pos2.y = 0; + } + else + { + sprite->pos2.y = Sin(index, amplitude); + + if (var7 == var6) + { + sprite->data[5]++; + sprite->data[6] = 0; + } + else + { + sprite->data[2] += sprite->data[0]; + sprite->data[6]++; + } + } +} + +static void pokemonanimfunc_19(struct Sprite *sprite) +{ + sprite->data[0] = 48; + sub_818031C(sprite); + sprite->callback = sub_818031C; +} + +static void pokemonanimfunc_1A(struct Sprite *sprite) +{ + u8 counter = 0; + + sub_817F70C(sprite); + counter = sprite->data[2]; + + if (sprite->data[2] == 0) + HandleStartAffineAnim(sprite); + + if (sprite->data[2] > 35) + { + HandleSetAffineData(sprite, 256, 256, 0); + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->pos2.x = 0; + } + else + { + s16 index = ((counter - 10) * 128) / 20; + + if (counter < 10) + HandleSetAffineData(sprite, 256, 256, counter / 2 * 512); + else if (counter >= 10 && counter <= 29) + sprite->pos2.x = -(Sin(index, 5)); + else + HandleSetAffineData(sprite, 256, 256, (35 - counter) / 2 * 1024); + } + + sprite->data[2]++; + sub_817F70C(sprite); +} + +static void pokemonanimfunc_1B(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + HandleStartAffineAnim(sprite); + + if (sprite->data[2] > 100) + { + HandleSetAffineData(sprite, 256, 256, 0); + sprite->pos2.y = 0; + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + s16 index = (sprite->data[2] * 256) / 100; + sprite->pos2.y = Sin(index, 10); + HandleSetAffineData(sprite, 256, 256, Sin(index, 3276)); + } + + sprite->data[2]++; +} + +static void sub_81804F8(struct Sprite *sprite) +{ + s32 var = 0; + s16 index = 0; + + if (sprite->data[2] == 0) + HandleStartAffineAnim(sprite); + + if (sprite->data[2] > 100) + { + HandleSetAffineData(sprite, 256, 256, 0); + sprite->pos2.y = 0; + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + index = (sprite->data[2] * 256) / 100; + var = (sprite->data[2] * 512) / 100; + var &= 0xFF; + sprite->pos2.y = Sin(index, sprite->data[0]); + HandleSetAffineData(sprite, 256, 256, Sin(var, 3276)); + } + + sprite->data[2]++; +} + +static void pokemonanimfunc_1C(struct Sprite *sprite) +{ + sprite->data[0] = 10; + sub_81804F8(sprite); + sprite->callback = sub_81804F8; +} + +static void sub_81805B0(struct Sprite *sprite) +{ + s32 var = 0; + s16 index = 0; + + if (sprite->data[2] == 0) + HandleStartAffineAnim(sprite); + + if (sprite->data[2] > 100) + { + HandleSetAffineData(sprite, 256, 256, 0); + sprite->pos2.y = 0; + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + index = (sprite->data[2] * 256) / 100; + var = (sprite->data[2] * 512) / 100; + var &= 0xFF; + sprite->pos2.y = -(Sin(index / 2, sprite->data[0] * 2)); + HandleSetAffineData(sprite, 256, 256, Sin(var, 3276)); + } + + sprite->data[2]++; +} + +static void pokemonanimfunc_18(struct Sprite *sprite) +{ + sprite->data[0] = 5; + sub_81805B0(sprite); + sprite->callback = sub_81805B0; +} + +static void pokemonanimfunc_1D(struct Sprite *sprite) +{ + s32 var; + s16 index = 0; + + sub_817F70C(sprite); + var = 0; + + if (sprite->data[2] == 0) + HandleStartAffineAnim(sprite); + + if (sprite->data[2] > 100) + { + HandleSetAffineData(sprite, 256, 256, 0); + sprite->pos2.x = 0; + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + s16 toDiv = 100; + + index = (sprite->data[2] * 256) / toDiv; + var = (sprite->data[2] * 512) / toDiv; + var &= 0xFF; + sprite->pos2.x = Sin(index, 8); + HandleSetAffineData(sprite, 256, 256, Sin(var, 3276)); + } + + sprite->data[2]++; + sub_817F70C(sprite); +} + +static void sub_8180714(struct Sprite *sprite) +{ + s16 posY = 0; + + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[3] = 0; + } + + sub_817F70C(sprite); + + if (sprite->data[2] > sprite->data[0] * 3) + { + HandleSetAffineData(sprite, 256, 256, 0); + sprite->pos2.y = 0; + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + s16 yScale = Sin(sprite->data[4], 32) + 256; + + if (sprite->data[2] > sprite->data[0] && sprite->data[2] < sprite->data[0] * 2) + sprite->data[3] += (128 / sprite->data[0]); + if (yScale > 256) + posY = (256 - yScale) / 8; + + sprite->pos2.y = -(Sin(sprite->data[3], 10)) - posY; + HandleSetAffineData(sprite, 256 - Sin(sprite->data[4], 32), yScale, 0); + sprite->data[2]++; + sprite->data[4] = (sprite->data[4] + 128 / sprite->data[0]) & 0xFF; + } + + sub_817F70C(sprite); +} + +static void pokemonanimfunc_00(struct Sprite *sprite) +{ + sprite->data[0] = 16; + sub_8180714(sprite); + sprite->callback = sub_8180714; +} + +static void sub_8180828(struct Sprite *sprite) +{ + s16 posY = 0; + + if (sprite->data[2] > (128 / sprite->data[6]) * sprite->data[7]) + { + HandleSetAffineData(sprite, 256, 256, 0); + sprite->pos2.y = 0; + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + s16 yScale = Sin(sprite->data[4], 32) + 256; + + if (yScale > 256) + posY = (256 - yScale) / 8; + + sprite->pos2.y = -(posY); + HandleSetAffineData(sprite, Sin(sprite->data[4], 48) + 256, yScale, 0); + sprite->data[2]++; + sprite->data[4] = (sprite->data[4] + sprite->data[6]) & 0xFF; + } +} + +static void pokemonanimfunc_13(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[7] = 3; + sprite->data[6] = 8; + } + + sub_8180828(sprite); +} + +static const s8 sUnknown_0860AD8E[][8][3] = +{ + { + {0, 8, 8}, + {8, -8, 12}, + {-8, 8, 12}, + {8, -8, 12}, + {-8, 8, 12}, + {8, -8, 12}, + {-8, 0, 12}, + {0, 0, 0} + }, + { + {0, 8, 16}, + {8, -8, 24}, + {-8, 8, 24}, + {8, -8, 24}, + {-8, 8, 24}, + {8, -8, 24}, + {-8, 0, 24}, + {0, 0, 0} + }, +}; + +static void sub_8180900(struct Sprite *sprite) +{ + s16 var; + u8 structId; + s8 r9; + s16 r10; + s16 r7; + u32 arrId; + + sub_817F70C(sprite); + structId = sprite->data[0]; + var = sUnknown_03001240[structId].field_6; + r9 = sUnknown_0860AD8E[sUnknown_03001240[structId].field_8][sprite->data[4]][0]; + r10 = sUnknown_0860AD8E[sUnknown_03001240[structId].field_8][sprite->data[4]][1] - r9; + arrId = sUnknown_03001240[structId].field_8; + r7 = sprite->data[3]; + + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[2]++; + } + + if (sUnknown_0860AD8E[arrId][sprite->data[4]][2] == 0) + { + HandleSetAffineData(sprite, 256, 256, 0); + sprite->pos2.x = 0; + sprite->pos2.y = 0; + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + u16 rotation; + + sprite->pos2.y = -(Sin(r7 * 128 / sUnknown_0860AD8E[arrId][sprite->data[4]][2], 10)); + sprite->pos2.x = (r10 * r7 / sUnknown_0860AD8E[arrId][sprite->data[4]][2]) + r9; + + rotation = -(var * sprite->pos2.x) / 8; + HandleSetAffineData(sprite, 256, 256, rotation); + + if (r7 == sUnknown_0860AD8E[arrId][sprite->data[4]][2]) + { + sprite->data[4]++; + sprite->data[3] = 0; + } + else + { + sprite->data[3]++; + } + } + + sub_817F70C(sprite); +} + +static void pokemonanimfunc_05(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + sUnknown_03001240[id].field_6 = 4096; + sUnknown_03001240[id].field_8 = sprite->data[6]; + sub_8180900(sprite); + sprite->callback = sub_8180900; +} + +static void pokemonanimfunc_20(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + + if (sprite->data[2] > 128) + { + BlendPalette(sprite->data[7], 0x10, 0, RGB(31, 22, 0)); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + sprite->data[6] = Sin(sprite->data[2], 12); + BlendPalette(sprite->data[7], 0x10, sprite->data[6], RGB(31, 22, 0)); + } + + sprite->data[2] += 2; +} + +static void pokemonanimfunc_21(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + + if (sprite->data[2] > 128) + { + BlendPalette(sprite->data[7], 0x10, 0, RGB_RED); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + sprite->data[6] = Sin(sprite->data[2], 12); + BlendPalette(sprite->data[7], 0x10, sprite->data[6], RGB_RED); + } + + sprite->data[2] += 2; +} + +static void pokemonanimfunc_22(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + + if (sprite->data[2] > 128) + { + BlendPalette(sprite->data[7], 0x10, 0, RGB_BLUE); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + sprite->data[6] = Sin(sprite->data[2], 12); + BlendPalette(sprite->data[7], 0x10, sprite->data[6], RGB_BLUE); + } + + sprite->data[2] += 2; +} + +static void pokemonanimfunc_23(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + + if (sprite->data[2] > 128) + { + BlendPalette(sprite->data[7], 0x10, 0, RGB_YELLOW); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + sprite->data[6] = Sin(sprite->data[2], 12); + BlendPalette(sprite->data[7], 0x10, sprite->data[6], RGB_YELLOW); + } + + sprite->data[2] += 2; +} + +static void pokemonanimfunc_24(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + + if (sprite->data[2] > 128) + { + BlendPalette(sprite->data[7], 0x10, 0, RGB(24, 0, 24)); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + sprite->data[6] = Sin(sprite->data[2], 12); + BlendPalette(sprite->data[7], 0x10, sprite->data[6], RGB(24, 0, 24)); + } + + sprite->data[2] += 2; +} + +static void sub_8180CB4(struct Sprite *sprite); +static void sub_8180CE8(struct Sprite *sprite); +static void sub_8180D44(struct Sprite *sprite); +static void sub_8180DC0(struct Sprite *sprite); +static void sub_8180E28(struct Sprite *sprite); + +static void pokemonanimfunc_25(struct Sprite *sprite) +{ + HandleStartAffineAnim(sprite); + sprite->callback = sub_8180CB4; +} + +static void sub_8180CB4(struct Sprite *sprite) +{ + sub_817F70C(sprite); + if (++sprite->pos2.x > 7) + { + sprite->pos2.x = 8; + sprite->data[7] = 2; + sprite->callback = sub_8180CE8; + } + sub_817F70C(sprite); +} + +static void sub_8180CE8(struct Sprite *sprite) +{ + sub_817F70C(sprite); + + sprite->pos2.x -= sprite->data[7]; + sprite->data[7]++; + if (sprite->pos2.x <= 0) + { + s16 subResult; + u8 var = sprite->data[7]; + sprite->data[6] = 0; + subResult = sprite->pos2.x; + + do + { + subResult -= var; + sprite->data[6]++; + var++; + } + while (subResult > -8); + + sprite->data[5] = 1; + sprite->callback = sub_8180D44; + } + + sub_817F70C(sprite); +} + +static void sub_8180D44(struct Sprite *sprite) +{ + u8 rotation; + + sub_817F70C(sprite); + sprite->pos2.x -= sprite->data[7]; + sprite->data[7]++; + rotation = (sprite->data[5] * 6) / sprite->data[6]; + + if (++sprite->data[5] > sprite->data[6]) + sprite->data[5] = sprite->data[6]; + + HandleSetAffineData(sprite, 256, 256, rotation * 256); + + if (sprite->pos2.x < -8) + { + sprite->pos2.x = -8; + sprite->data[4] = 2; + sprite->data[3] = 0; + sprite->data[2] = rotation; + sprite->callback = sub_8180DC0; + } + + sub_817F70C(sprite); +} + +static void sub_8180DC0(struct Sprite *sprite) +{ + sub_817F70C(sprite); + + if (sprite->data[3] > 11) + { + sprite->data[2] -= 2; + if (sprite->data[2] < 0) + sprite->data[2] = 0; + + HandleSetAffineData(sprite, 256, 256, sprite->data[2] << 8); + if (sprite->data[2] == 0) + sprite->callback = sub_8180E28; + } + else + { + sprite->pos2.x += sprite->data[4]; + sprite->data[4] *= -1; + sprite->data[3]++; + } + + sub_817F70C(sprite); +} + +static void sub_8180E28(struct Sprite *sprite) +{ + sub_817F70C(sprite); + + sprite->pos2.x += 2; + if (sprite->pos2.x > 0) + { + sprite->pos2.x = 0; + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + + sub_817F70C(sprite); +} + +static void sub_8180E78(struct Sprite *sprite); +static void sub_8180ED0(struct Sprite *sprite); +static void sub_8180F2C(struct Sprite *sprite); + +static void pokemonanimfunc_26(struct Sprite *sprite) +{ + HandleStartAffineAnim(sprite); + sprite->data[3] = 0; + sprite->callback = sub_8180E78; +} + +static void sub_8180E78(struct Sprite *sprite) +{ + sub_817F70C(sprite); + sprite->pos2.x++; + sprite->pos2.y--; + + if (sprite->pos2.x % 2 == 0 && sprite->data[3] <= 0) + sprite->data[3] = 10; + if (sprite->pos2.x > 7) + { + sprite->pos2.x = 8; + sprite->pos2.y = -8; + sprite->data[4] = 0; + sprite->callback = sub_8180ED0; + } + + sub_817F70C(sprite); +} + +static void sub_8180ED0(struct Sprite *sprite) +{ + sub_817F70C(sprite); + sprite->pos2.x = Cos(sprite->data[4], 16) - 8; + sprite->pos2.y = Sin(sprite->data[4], 16) - 8; + + if (sprite->data[4] > 63) + { + sprite->data[2] = 160; + sprite->data[3] = 10; + sprite->callback = sub_8180F2C; + } + sprite->data[4] += 8; + if (sprite->data[4] > 64) + sprite->data[4] = 64; + + sub_817F70C(sprite); +} + +static void sub_8180F2C(struct Sprite *sprite) +{ + sub_817F70C(sprite); + + if (sprite->data[3] > 0) + { + sprite->data[3]--; + } + else + { + u32 rotation; + + sprite->pos2.x = Cos(sprite->data[2], 5) - 4; + sprite->pos2.y = -(Sin(sprite->data[2], 5)) + 4; + sprite->data[2] -= 4; + rotation = sprite->data[2] - 32; + HandleSetAffineData(sprite, 256, 256, rotation * 512); + + if (sprite->data[2] <= 32) + { + sprite->pos2.x = 0; + sprite->pos2.y = 0; + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + } + + sub_817F70C(sprite); +} + +static void pokemonanimfunc_27(struct Sprite *sprite) +{ + if (sprite->data[3] > 0) + { + sprite->data[3]--; + } + else + { + sprite->data[4] = (sprite->data[4] == 0) ? 1 : 0; + sprite->invisible = sprite->data[4]; + if (++sprite->data[2] > 19) + { + sprite->invisible = 0; + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + sprite->data[3] = 2; + } +} + +static void sub_8181024(struct Sprite *sprite); +static void sub_8181068(struct Sprite *sprite); +static void sub_81810C4(struct Sprite *sprite); + +static void pokemonanimfunc_28(struct Sprite *sprite) +{ + HandleStartAffineAnim(sprite); + sprite->callback = sub_8181024; +} + +static void sub_8181024(struct Sprite *sprite) +{ + sub_817F70C(sprite); + sprite->pos2.x--; + sprite->pos2.y++; + + if (sprite->pos2.x <= -16) + { + sprite->pos2.x = -16; + sprite->pos2.y = 16; + sprite->callback = sub_8181068; + sprite->data[2] = 160; + } + + sub_817F70C(sprite); +} + +static void sub_8181068(struct Sprite *sprite) +{ + u32 rotation; + + sub_817F70C(sprite); + sprite->data[2] -= 4; + sprite->pos2.x = Cos(sprite->data[2], 22); + sprite->pos2.y = -(Sin(sprite->data[2], 22)); + rotation = sprite->data[2] - 32; + HandleSetAffineData(sprite, 256, 256, rotation * 512); + + if (sprite->data[2] <= 32) + sprite->callback = sub_81810C4; + + sub_817F70C(sprite); +} + +static void sub_81810C4(struct Sprite *sprite) +{ + sub_817F70C(sprite); + sprite->pos2.x--; + sprite->pos2.y++; + + if (sprite->pos2.x <= 0) + { + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + + sub_817F70C(sprite); +} + +static void sub_8181110(struct Sprite *sprite); +static void sub_8181144(struct Sprite *sprite); +static void sub_81811A4(struct Sprite *sprite); + +static void pokemonanimfunc_29(struct Sprite *sprite) +{ + HandleStartAffineAnim(sprite); + sprite->callback = sub_8181110; +} + +static void sub_8181110(struct Sprite *sprite) +{ + sub_817F70C(sprite); + sprite->pos2.x++; + sprite->pos2.y--; + + if (sprite->pos2.x > 15) + { + sprite->data[2] = 0; + sprite->callback = sub_8181144; + } + + sub_817F70C(sprite); +} + +static void sub_8181144(struct Sprite *sprite) +{ + sub_817F70C(sprite); + sprite->data[2] += 16; + + if (sprite->pos2.x <= -16) + { + sprite->pos2.x = -16; + sprite->pos2.y = 16; + sprite->data[2] = 0; + sprite->callback = sub_81811A4; + } + else + { + sprite->pos2.x -= 2; + sprite->pos2.y += 2; + } + + HandleSetAffineData(sprite, 256, 256, sprite->data[2] << 8); + sub_817F70C(sprite); +} + +static void sub_81811A4(struct Sprite *sprite) +{ + sub_817F70C(sprite); + sprite->pos2.x++; + sprite->pos2.y--;; + + if (sprite->pos2.x >= 0) + { + sprite->pos2.x = 0; + sprite->pos2.y = 0; + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + + sub_817F70C(sprite); +} + +static void sub_8181214(struct Sprite *sprite); + +static void pokemonanimfunc_2A(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + sUnknown_03001240[id].field_2 = 2; + sub_8181214(sprite); + sprite->callback = sub_8181214; +} + +static void sub_8181214(struct Sprite *sprite) +{ + if (sUnknown_03001240[sprite->data[0]].field_0 != 0) + { + sUnknown_03001240[sprite->data[0]].field_0--; + } + else + { + sub_817F70C(sprite); + if (sprite->data[2] == 0) + { + sprite->data[2]++; + HandleStartAffineAnim(sprite); + sprite->data[7] = sUnknown_03001240[sprite->data[0]].field_2; + sprite->data[3] = -1; + sprite->data[4] = -1; + sprite->data[5] = 0; + sprite->data[6] = 0; + } + + sprite->pos2.x += (sprite->data[7] * 2 * sprite->data[3]); + sprite->pos2.y += (sprite->data[7] * sprite->data[4]); + sprite->data[6] += 8; + if (sprite->pos2.x <= -16 || sprite->pos2.x >= 16) + { + sprite->pos2.x = sprite->data[3] * 16; + sprite->data[3] *= -1; + sprite->data[5]++; + } + else if (sprite->pos2.y <= -16 || sprite->pos2.y >= 16) + { + sprite->pos2.y = sprite->data[4] * 16; + sprite->data[4] *= -1; + sprite->data[5]++; + } + + if (sprite->data[5] > 5 && sprite->pos2.x <= 0) + { + sprite->pos2.x = 0; + sprite->pos2.y = 0; + if (sUnknown_03001240[sprite->data[0]].field_4 > 1) + { + sUnknown_03001240[sprite->data[0]].field_4--; + sprite->data[5] = 0; + sprite->data[6] = 0; + sUnknown_03001240[sprite->data[0]].field_0 = 10; + } + else + { + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + } + + HandleSetAffineData(sprite, 256, 256, sprite->data[6] << 8); + sub_817F70C(sprite); + } +} + +static void sub_8181370(struct Sprite *sprite); + +static void pokemonanimfunc_2B(struct Sprite *sprite) +{ + HandleStartAffineAnim(sprite); + sprite->data[6] = 0; + sprite->data[7] = 0; + sprite->callback = sub_8181370; +} + +static void sub_8181370(struct Sprite *sprite) +{ + sub_817F70C(sprite); + sprite->data[6] += 4; + sprite->pos2.x = -(Sin(sprite->data[6], 16)); + sprite->pos2.y = -(Sin((sprite->data[6] * 2) & 0xFF, 8)); + if (sprite->data[6] > 192 && sprite->data[7] == 1) + { + HandleSetAffineData(sprite, 256, 256, 0); + sprite->data[7]++; + } + else if (sprite->data[6] > 64 && sprite->data[7] == 0) + { + HandleSetAffineData(sprite, -256, 256, 0); + sprite->data[7]++; + } + + if (sprite->data[6] > 255) + { + sprite->pos2.x = 0; + sprite->pos2.y = 0; + HandleSetAffineData(sprite, 256, 256, 0); + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + sub_817F70C(sprite); +} + +static void pokemonanimfunc_2C(struct Sprite *sprite) +{ + if (++sprite->data[2] == 1) + { + sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[6] = 0; + sprite->data[5] = 0; + sprite->data[4] = 0; + } + + if (sUnknown_0860AA64[sprite->data[6]][1] == 0xFF) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + if (sprite->data[4] == 1) + { + if (sUnknown_0860AA64[sprite->data[6]][0] != 0) + BlendPalette(sprite->data[7], 0x10, 0x10, RGB_YELLOW); + else + BlendPalette(sprite->data[7], 0x10, 0, RGB_YELLOW); + + sprite->data[4] = 0; + } + + if (sUnknown_0860AA64[sprite->data[6]][1] == sprite->data[5]) + { + sprite->data[4] = 1; + sprite->data[5] = 0; + sprite->data[6]++; + } + else + { + sprite->data[5]++; + } + } +} + +static void sub_81814D4(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + HandleStartAffineAnim(sprite); + + sub_817F70C(sprite); + if (sprite->data[2] > sUnknown_03001240[sprite->data[0]].field_8) + { + HandleSetAffineData(sprite, 256, 256, 0); + sprite->pos2.x = 0; + if (sUnknown_03001240[sprite->data[0]].field_4 > 1) + { + sUnknown_03001240[sprite->data[0]].field_4--; + sprite->data[2] = 0; + } + else + { + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + } + else + { + s16 index = (sprite->data[2] * 256) / sUnknown_03001240[sprite->data[0]].field_8; + sprite->pos2.x = -(Sin(index, 10)); + HandleSetAffineData(sprite, 256, 256, Sin(index, 3276)); + } + + sprite->data[2]++; + sub_817F70C(sprite); +} + +static void pokemonanimfunc_2D(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + sUnknown_03001240[id].field_8 = 50; + sub_81814D4(sprite); + sprite->callback = sub_81814D4; +} + +static void sub_81815D4(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + HandleStartAffineAnim(sprite); + + sub_817F70C(sprite); + if (sprite->data[2] > sUnknown_03001240[sprite->data[0]].field_8) + { + HandleSetAffineData(sprite, 256, 256, 0); + sprite->pos2.x = 0; + if (sUnknown_03001240[sprite->data[0]].field_4 > 1) + { + sUnknown_03001240[sprite->data[0]].field_4--; + sprite->data[2] = 0; + } + else + { + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + } + else + { + s16 index = (sprite->data[2] * 256) / sUnknown_03001240[sprite->data[0]].field_8; + sprite->pos2.x = -(Sin(index, 10)); + HandleSetAffineData(sprite, 256, 256, -(Sin(index, 3276))); + } + + sprite->data[2]++; + sub_817F70C(sprite); +} + +static void pokemonanimfunc_2E(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + sUnknown_03001240[id].field_8 = 50; + sub_81815D4(sprite); + sprite->callback = sub_81815D4; +} + +static void sub_8181708(struct Sprite *sprite); +static void sub_8181770(struct Sprite *sprite); +static void sub_8181794(struct Sprite *sprite); + +static void pokemonanimfunc_2F(struct Sprite *sprite) +{ + HandleStartAffineAnim(sprite); + sprite->data[6] = -(14 * sprite->centerToCornerVecX / 10); + sprite->data[7] = 128; + sprite->callback = sub_8181708; +} + +static void sub_8181708(struct Sprite *sprite) +{ + sub_817F70C(sprite); + sprite->data[7]--; + sprite->pos2.x = Cos(sprite->data[7], sprite->data[6]) + sprite->data[6]; + + sprite->pos2.y = -(Sin(sprite->data[7], sprite->data[6] += 0)); // dummy += 0 is needed to match + + HandleSetAffineData(sprite, 256, 256, (sprite->data[7] - 128) << 8); + if (sprite->data[7] <= 120) + { + sprite->data[7] = 120; + sprite->data[3] = 0; + sprite->callback = sub_8181770; + } + + sub_817F70C(sprite); +} + +static void sub_8181770(struct Sprite *sprite) +{ + if (sprite->data[3] == 20) + { + sprite->callback = sub_8181794; + sprite->data[3] = 0; + } + + sprite->data[3]++; +} + +static void sub_8181794(struct Sprite *sprite) +{ + sub_817F70C(sprite); + sprite->data[7] += 2; + sprite->pos2.x = Cos(sprite->data[7], sprite->data[6]) + sprite->data[6]; + + sprite->pos2.y = -(Sin(sprite->data[7], sprite->data[6] += 0)); // dummy += 0 is needed to match + + HandleSetAffineData(sprite, 256, 256, (sprite->data[7] - 128) << 8); + if (sprite->data[7] >= 128) + { + sprite->pos2.x = 0; + sprite->pos2.y = 0; + HandleSetAffineData(sprite, 256, 256, 0); + sprite->data[2] = 0; + sub_817F77C(sprite); + sprite->callback = pokemonanimfunc_10; + } + + sub_817F70C(sprite); +} + +static void sub_8181810(struct Sprite *sprite) +{ + if (sUnknown_03001240[sprite->data[0]].field_0 != 0) + { + sUnknown_03001240[sprite->data[0]].field_0--; + } + else + { + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[4] = 0; + sprite->data[5] = 0; + sprite->data[2] = 1; + } + + if (sprite->data[5] == 0) + { + sprite->data[7] = Sin(sprite->data[4], 256); + sprite->pos2.y = Sin(sprite->data[4], 16); + sprite->data[6] = Sin(sprite->data[4], 32); + HandleSetAffineData(sprite, 256 - sprite->data[6], 256 + sprite->data[7], 0); + if (sprite->data[4] == 128) + { + sprite->data[4] = 0; + sprite->data[5] = 1; + } + } + else if (sprite->data[5] == 1) + { + sprite->data[7] = Sin(sprite->data[4], 32); + sprite->pos2.y = -(Sin(sprite->data[4], 8)); + sprite->data[6] = Sin(sprite->data[4], 128); + HandleSetAffineData(sprite, 256 + sprite->data[6], 256 - sprite->data[7], 0); + if (sprite->data[4] == 128) + { + if (sUnknown_03001240[sprite->data[0]].field_4 > 1) + { + sUnknown_03001240[sprite->data[0]].field_4--; + sUnknown_03001240[sprite->data[0]].field_0 = 10; + sprite->data[4] = 0; + sprite->data[5] = 0; + } + else + { + HandleSetAffineData(sprite, 256, 256, 0); + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + } + } + + sprite->data[4] += sUnknown_03001240[sprite->data[0]].field_6; + } +} + +static void pokemonanimfunc_30(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + sUnknown_03001240[id].field_6 = 4; + sub_8181810(sprite); + sprite->callback = sub_8181810; +} + +static void pokemonanimfunc_31(struct Sprite *sprite) +{ + s32 counter = sprite->data[2]; + sub_817F70C(sprite); + if (counter > 512) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->pos2.x = 0; + sprite->pos2.y = 0; + } + else + { + switch (sprite->data[2] / 128) + { + case 0: + sprite->pos2.x = -(counter % 128 * 8) / 128; + break; + case 1: + sprite->pos2.x = (counter % 128 / 16) - 8; + break; + case 2: + sprite->pos2.x = (counter % 128 / 16); + break; + case 3: + sprite->pos2.x = -(counter % 128 * 8) / 128 + 8; + break; + } + + sprite->pos2.y = -(Sin(counter % 128, 8)); + } + + sprite->data[2] += 12; + sub_817F70C(sprite); +} + +static void sub_8181ABC(struct Sprite *sprite); +static void sub_8181B4C(struct Sprite *sprite); +static void sub_8181C2C(struct Sprite *sprite); + +static void pokemonanimfunc_32(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + sUnknown_03001240[id].field_8 = -1; + HandleStartAffineAnim(sprite); + sprite->data[3] = 0; + sub_8181ABC(sprite); + sprite->callback = sub_8181ABC; +} + +static void sub_8181ABC(struct Sprite *sprite) +{ + if (sUnknown_03001240[sprite->data[0]].field_0 != 0) + { + sUnknown_03001240[sprite->data[0]].field_0--; + } + else + { + s32 counter; + + sub_817F70C(sprite); + counter = sprite->data[2]; + if (sprite->data[2] > 128) + { + sprite->data[2] = 0; + sprite->callback = sub_8181B4C; + } + else + { + s32 var = 8 * sUnknown_03001240[sprite->data[0]].field_8; + sprite->pos2.x = var * (counter % 128) / 128; + sprite->pos2.y = -(Sin(counter % 128, 8)); + sprite->data[2] += 12; + } + + sub_817F70C(sprite); + } +} + +static void sub_8181B4C(struct Sprite *sprite) +{ + sub_817F70C(sprite); + if (sprite->data[2] > 48) + { + HandleSetAffineData(sprite, 256, 256, 0); + sprite->pos2.y = 0; + sprite->data[2] = 0; + sprite->callback = sub_8181C2C; + } + else + { + s16 yDelta; + s16 yScale = Sin(sprite->data[4], 64) + 256; + if (sprite->data[2] >= 16 && sprite->data[2] <= 31) + { + sprite->data[3] += 8; + sprite->pos2.x -= sUnknown_03001240[sprite->data[0]].field_8; + } + + yDelta = 0; + if (yScale > 256) + yDelta = (256 - yScale) / 8; + + sprite->pos2.y = -(Sin(sprite->data[3], 20)) - yDelta; + HandleSetAffineData(sprite, 256 - Sin(sprite->data[4], 32), yScale, 0); + sprite->data[2]++; + sprite->data[4] += 8; + sprite->data[4] &= 0xFF; + } + + sub_817F70C(sprite); +} + +static void sub_8181C2C(struct Sprite *sprite) +{ + s32 counter; + + sub_817F70C(sprite); + counter = sprite->data[2]; + if (counter > 128) + { + if (sUnknown_03001240[sprite->data[0]].field_4 > 1) + { + sUnknown_03001240[sprite->data[0]].field_4--; + sUnknown_03001240[sprite->data[0]].field_0 = 10; + sprite->data[3] = 0; + sprite->data[2] = 0; + sprite->data[4] = 0; + sprite->callback = sub_8181ABC; + } + else + { + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + + sprite->pos2.x = 0; + sprite->pos2.y = 0; + } + else + { + register s32 var asm("r4") = sUnknown_03001240[sprite->data[0]].field_8; + + sprite->pos2.x = (var << 3) * (counter % 128) / 128 - (sUnknown_03001240[sprite->data[0]].field_8 * 8); + sprite->pos2.y = -(Sin(counter % 128, 8)); + } + + sprite->data[2] += 12; + sub_817F70C(sprite); +} + +static void sub_8181CE8(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[2]++; + } + + sub_817F70C(sprite); + if (sprite->data[7] > 254) + { + sprite->pos2.x = 0; + sprite->pos2.y = 0; + HandleSetAffineData(sprite, 256, 256, 0); + if (sUnknown_03001240[sprite->data[0]].field_4 > 1) + { + sUnknown_03001240[sprite->data[0]].field_4--; + sprite->data[2] = 0; + sprite->data[7] = 0; + } + else + { + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + + sub_817F70C(sprite); + } + else + { + u16 rotation; + + sprite->pos2.x = -(Sin(sprite->data[7], 16)); + rotation = Sin(sprite->data[7], 32); + HandleSetAffineData(sprite, 256, 256, rotation << 8); + sprite->data[7] += sUnknown_03001240[sprite->data[0]].field_6; + sub_817F70C(sprite); + } +} + +static void pokemonanimfunc_33(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + sUnknown_03001240[id].field_6 = 4; + sub_8181CE8(sprite); + sprite->callback = sub_8181CE8; +} + +static void pokemonanimfunc_34(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[2]++; + } + + sub_817F70C(sprite); + if (sprite->data[7] > 254) + { + sprite->pos2.x = 0; + sprite->pos2.y = 0; + HandleSetAffineData(sprite, 256, 256, 0); + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sub_817F70C(sprite); + } + else + { + u16 rotation; + + sprite->pos2.x = -(Sin(sprite->data[7], 16)); + sprite->pos2.y = -(Sin(sprite->data[7] % 128, 16)); + rotation = Sin(sprite->data[7], 32); + HandleSetAffineData(sprite, 256, 256, rotation << 8); + sprite->data[7] += 8; + sub_817F70C(sprite); + } +} + +static void pokemonanimfunc_35(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + sprite->data[7] = 0; + + if (sprite->data[2] == sprite->data[7]) + { + sprite->data[7] = 0; + sprite->data[2]++; + sprite->invisible = 0; + } + else + { + sprite->data[7]++; + sprite->invisible = 1; + } + + if (sprite->data[2] > 10) + { + sprite->invisible = 0; + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } +} + +static void sub_8181F14(struct Sprite *sprite); +static void sub_8181F50(struct Sprite *sprite); +static void sub_8181FC0(struct Sprite *sprite); + +static void pokemonanimfunc_36(struct Sprite *sprite) +{ + HandleStartAffineAnim(sprite); + sprite->data[7] = 0; + sprite->callback = sub_8181F14; +} + +static void sub_8181F14(struct Sprite *sprite) +{ + if (sprite->data[7] > 31) + { + sprite->data[7] = 32; + sprite->data[2] = 0; + sprite->callback = sub_8181F50; + } + else + { + sprite->data[7] += 4; + } + + HandleSetAffineData(sprite, 256, 256, sprite->data[7] << 8); +} + +static void sub_8181F50(struct Sprite *sprite) +{ + sub_817F70C(sprite); + if (sprite->data[2] > 512) + { + sprite->callback = sub_8181FC0; + sprite->data[6] = 0; + } + else + { + sprite->pos2.x = -(sprite->data[2] * 16) / 512; + sprite->pos2.y = -(Sin(sprite->data[2] % 128, 4)); + sprite->data[2] += 12; + } + + sub_817F70C(sprite); +} + +static void sub_8181FC0(struct Sprite *sprite) +{ + sub_817F70C(sprite); + sprite->data[7] -= 2; + if (sprite->data[7] < 0) + { + sprite->data[7] = 0; + sprite->pos2.x = 0; + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + sprite->pos2.x = -(Sin(sprite->data[7] * 2, 16)); + } + + HandleSetAffineData(sprite, 256, 256, sprite->data[7] << 8); + sub_817F70C(sprite); +} + +static void pokemonanimfunc_37(struct Sprite *sprite) +{ + u16 rotation; + + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[2]++; + sprite->data[7] = 0; + } + + sub_817F70C(sprite); + if (sprite->data[7] > 255) + { + sprite->pos2.x = 0; + sprite->pos2.y = 0; + sprite->data[7] = 0; + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + sprite->data[7] += 16; + sprite->pos2.x = -(Sin(sprite->data[7] % 128, 8)); + sprite->pos2.y = -(Sin(sprite->data[7] % 128, 8)); + } + + rotation = Sin(sprite->data[7] % 128, 16); + HandleSetAffineData(sprite, 256, 256, rotation << 8); + sub_817F70C(sprite); +} + +static void sub_81820FC(struct Sprite *sprite); +static void sub_818216C(struct Sprite *sprite); +static void sub_81821CC(struct Sprite *sprite); +static void sub_8182248(struct Sprite *sprite); + +static void pokemonanimfunc_38(struct Sprite *sprite) +{ + HandleStartAffineAnim(sprite); + sprite->data[7] = 0; + sprite->data[4] = 0; + sprite->callback = sub_81820FC; +} + +static void sub_81820FC(struct Sprite *sprite) +{ + sub_817F70C(sprite); + if (sprite->data[7] > 24) + { + if (++sprite->data[4] > 4) + { + sprite->data[4] = 0; + sprite->callback = sub_818216C; + } + } + else + { + sprite->data[7] += 2; + sprite->pos2.x = Sin(sprite->data[7], 8); + sprite->pos2.y = -(Sin(sprite->data[7], 8)); + } + + HandleSetAffineData(sprite, 256, 256, -(sprite->data[7]) << 8); + sub_817F70C(sprite); +} + +static void sub_818216C(struct Sprite *sprite) +{ + sub_817F70C(sprite); + if (sprite->data[7] > 32) + { + sprite->data[6] = 1; + sprite->callback = sub_81821CC; + } + else + { + sprite->data[7] += 2; + sprite->pos2.x = Sin(sprite->data[7], 8); + sprite->pos2.y = -(Sin(sprite->data[7], 8)); + } + + HandleSetAffineData(sprite, 256, 256, -(sprite->data[7]) << 8); + sub_817F70C(sprite); +} + +static void sub_81821CC(struct Sprite *sprite) +{ + sub_817F70C(sprite); + sprite->data[7] += (sprite->data[6] * 4); + if (sprite->data[5] > 9) + { + sprite->data[7] = 32; + sprite->callback = sub_8182248; + } + + sprite->pos2.x = Sin(sprite->data[7], 8); + sprite->pos2.y = -(Sin(sprite->data[7], 8)); + if (sprite->data[7] <= 28 || sprite->data[7] >= 36) + { + sprite->data[6] *= -1; + sprite->data[5]++; + } + + HandleSetAffineData(sprite, 256, 256, -(sprite->data[7]) << 8); + sub_817F70C(sprite); +} + +static void sub_8182248(struct Sprite *sprite) +{ + sub_817F70C(sprite); + if (sprite->data[7] <= 0) + { + sprite->data[7] = 0; + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + sprite->data[7] -= 2; + sprite->pos2.x = Sin(sprite->data[7], 8); + sprite->pos2.y = -(Sin(sprite->data[7], 8)); + } + + HandleSetAffineData(sprite, 256, 256, -(sprite->data[7]) << 8); + sub_817F70C(sprite); +} + +static void pokemonanimfunc_39(struct Sprite *sprite) +{ + sub_817F70C(sprite); + if (sprite->data[2] > 40) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->pos2.x = 0; + } + else + { + s8 sign; + if (!(sprite->data[2] & 1)) + sign = 1; + else + sign = -1; + + if ((sprite->data[2] % 4) / 2 == 0) + { + sprite->pos2.x = Sin((sprite->data[2] * 128 / 40) % 256, 16) * sign; + sprite->pos2.y = -(sprite->pos2.x); + } + else + { + sprite->pos2.x = -(Sin((sprite->data[2] * 128 / 40) % 256, 16)) * sign; + sprite->pos2.y = sprite->pos2.x; + } + } + + sprite->data[2]++; + sub_817F70C(sprite); +} + +static void pokemonanimfunc_3A(struct Sprite *sprite) +{ + sub_817F70C(sprite); + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[5] = 0; + sprite->data[6] = 0; + sprite->data[7] = 0; + sprite->data[2]++; + } + + if (sprite->data[6] > 0) + { + sprite->data[6]--; + if (sprite->data[5] != 3) + { + s16 scale = (8 * sprite->data[6]) / 20; + scale = Sin(sprite->data[7] - scale, 64); + HandleSetAffineData(sprite, 256 - scale, 256 - scale, 0); + } + } + else + { + s16 var; + + if (sprite->data[5] == 3) + { + if (sprite->data[7] > 63) + { + sprite->data[7] = 64; + HandleSetAffineData(sprite, 256, 256, 0); + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + var = Cos(sprite->data[7], 64); + } + else + { + var = Sin(sprite->data[7], 64); + if (sprite->data[7] > 63) + { + sprite->data[5] = 3; + sprite->data[6] = 10; + sprite->data[7] = 0; + } + else + { + if (var > 48 && sprite->data[5] == 1) + { + sprite->data[5] = 2; + sprite->data[6] = 20; + } + else if (var > 16 && sprite->data[5] == 0) + { + sprite->data[5] = 1; + sprite->data[6] = 20; + } + } + } + + sprite->data[7] += 2; + HandleSetAffineData(sprite, 256 - var, 256 - var, 0); + } + + sub_817F70C(sprite); +} + +static void pokemonanimfunc_3B(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[2]++; + sprite->data[7] = 0; + } + + if (sprite->data[7] > 512) + { + sprite->pos2.y = 0; + HandleSetAffineData(sprite, 256, 256, 0); + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + s16 yScale; + + sprite->pos2.y = Sin(sprite->data[7] % 256, 8); + sprite->data[7] += 8; + yScale = Sin(sprite->data[7] % 128, 96); + HandleSetAffineData(sprite, 256, yScale + 256, 0); + } +} + +static void pokemonanimfunc_3C(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[2]++; + sprite->data[7] = 0; + } + + if (sprite->data[7] > 256) + { + sprite->pos2.y = 0; + HandleSetAffineData(sprite, 256, 256, 0); + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + s16 yScale; + + sprite->pos2.y = Sin(sprite->data[7], 16); + sprite->data[7] += 4; + yScale = Sin((sprite->data[7] % 64) * 2, 128); + HandleSetAffineData(sprite, 256, yScale + 256, 0); + } +} + +static void sub_81825F8(struct Sprite *sprite); +static void sub_8182648(struct Sprite *sprite); +static void sub_81826F8(struct Sprite *sprite); + +static void pokemonanimfunc_3D(struct Sprite *sprite) +{ + HandleStartAffineAnim(sprite); + sprite->callback = sub_81825F8; + sprite->data[7] = 0; +} + +static void sub_81825F8(struct Sprite *sprite) +{ + s16 yScale; + + sprite->data[7] += 8; + if (sprite->data[7] > 63) + { + sprite->data[7] = 0; + sprite->data[6] = 0; + sprite->callback = sub_8182648; + yScale = Sin(64, 128); // 128 * 1 = 128 + } + else + { + yScale = Sin(sprite->data[7], 128); + } + + HandleSetAffineData(sprite, 256, 256 + yScale, 0); +} + +static void sub_8182648(struct Sprite *sprite) +{ + s16 yScale; + + sprite->data[7] += 4; + if (sprite->data[7] > 95) + { + yScale = Cos(0, 128); // 128 * (-1) = -128 + sprite->data[7] = 0; + sprite->data[6]++; + } + else + { + s16 sign, index; + + sprite->pos2.y = -(sprite->data[6] * 4) - Sin(sprite->data[7], 8); + if (sprite->data[7] > 63) + { + sign = -1; + index = sprite->data[7] - 64; + } + else + { + sign = 1; + index = 0; + } + + yScale = Cos((index * 2) + sprite->data[7], 128) * sign; + } + + HandleSetAffineData(sprite, 256, 256 + yScale, 0); + if (sprite->data[6] == 3) + { + sprite->data[7] = 0; + sprite->callback = sub_81826F8; + } +} + +static void sub_81826F8(struct Sprite *sprite) +{ + s16 yScale; + + sprite->data[7] += 8; + yScale = Cos(sprite->data[7], 128); + sprite->pos2.y = -(Cos(sprite->data[7], 12)); + if (sprite->data[7] > 63) + { + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->pos2.y = 0; + HandleSetAffineData(sprite, 256, 256, 0); + } + + HandleSetAffineData(sprite, 256, 256 + yScale, 0); +} + +static void sub_8182764(struct Sprite *sprite) +{ + if (sprite->data[7] > sprite->data[5]) + { + sprite->pos2.x = 0; + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + HandleSetAffineData(sprite, 256, 256, 0); + } + else + { + s16 xScale; + + sprite->pos2.x = Sin(sprite->data[7] % 256, sprite->data[4]); + sprite->data[7] += sprite->data[6]; + xScale = Sin(sprite->data[7] % 128, 96); + HandleSetAffineData(sprite, 256 + xScale, 256, 0); + } +} + +static void pokemonanimfunc_3E(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[2]++; + sprite->data[7] = 0; + sprite->data[6] = 8; + sprite->data[5] = 512; + sprite->data[4] = 8; + } + + sub_8182764(sprite); +} + +static void sub_8182830(struct Sprite *sprite) +{ + if (sprite->data[7] > sprite->data[5]) + { + sprite->pos2.x = 0; + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + HandleSetAffineData(sprite, 256, 256, 0); + } + else + { + s16 xScale; + + sprite->pos2.x = Sin(sprite->data[7] % 256, sprite->data[4]); + sprite->data[7] += sprite->data[6]; + xScale = Sin((sprite->data[7] % 64) * 2, 128); + HandleSetAffineData(sprite, 256 + xScale, 256, 0); + } +} + +static void pokemonanimfunc_3F(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[2]++; + sprite->data[7] = 0; + sprite->data[6] = 4; + sprite->data[5] = 256; + sprite->data[4] = 16; + } + + sub_8182830(sprite); +} + +static void pokemonanimfunc_40(struct Sprite *sprite) +{ + sub_817F70C(sprite); + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[2]++; + sprite->data[7] = 0; + } + + if (sprite->data[7] > 512) + { + sprite->pos2.x = 0; + sub_817F77C(sprite); + HandleSetAffineData(sprite, 256, 256, 0); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + s16 scale; + + sprite->pos2.x = Sin(sprite->data[7] % 256, 8); + sprite->data[7] += 8; + scale = Sin(sprite->data[7] % 128, 96); + HandleSetAffineData(sprite, 256 + scale, 256 + scale, 0); + } + + sub_817F70C(sprite); +} + +static void pokemonanimfunc_41(struct Sprite *sprite) +{ + sub_817F70C(sprite); + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[2]++; + sprite->data[7] = 0; + } + + if (sprite->data[7] > 512) + { + sprite->pos2.x = 0; + sub_817F77C(sprite); + HandleSetAffineData(sprite, 256, 256, 0); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + s16 scale; + + sprite->pos2.x = -(Sin((sprite->data[7] % 256) / 2, 16)); + sprite->data[7] += 8; + scale = -(Sin((sprite->data[7] % 256) / 2, 64)); + HandleSetAffineData(sprite, 256 + scale, 256 + scale, 0); + } + + sub_817F70C(sprite); +} + +static void pokemonanimfunc_42(struct Sprite *sprite) +{ + sub_817F70C(sprite); + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[2]++; + sprite->data[7] = 0; + } + + if (sprite->data[7] > 512) + { + sprite->pos2.x = 0; + sub_817F77C(sprite); + HandleSetAffineData(sprite, 256, 256, 0); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + s16 scale; + + sprite->pos2.x = -(Sin(sprite->data[7] % 256 , 8)); + sprite->data[7] += 8; + scale = Sin((sprite->data[7] % 256) / 2, 96); + HandleSetAffineData(sprite, 256 + scale, 256 + scale, 0); + } + + sub_817F70C(sprite); +} + +static void pokemonanimfunc_43(struct Sprite *sprite) +{ + sub_817F70C(sprite); + if (sprite->data[2] > 2048) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->data[6] = 0; + } + else + { + s16 caseVar = (sprite->data[2] / 512) % 4; + switch (caseVar) + { + case 0: + sprite->pos2.x = -(sprite->data[2] % 512 * 16) / 512; + break; + case 1: + sprite->pos2.x = (sprite->data[2] % 512 / 32) - 16; + break; + case 2: + sprite->pos2.x = (sprite->data[2] % 512) / 32; + break; + case 3: + sprite->pos2.x = -(sprite->data[2] % 512 * 16) / 512 + 16; + break; + } + + sprite->pos2.y = -(Sin(sprite->data[2] % 128, 4)); + sprite->data[2] += 24; + } + + sub_817F70C(sprite); +} + +static void pokemonanimfunc_44(struct Sprite *sprite) +{ + sub_817F70C(sprite); + if (sprite->data[2] == 0) + { + sprite->data[6] = 0; + sprite->data[7] = 64; + sprite->data[2]++; + } + + sprite->data[7] += 8; + if (sprite->data[6] == 4) + { + if (sprite->data[7] > 63) + { + sprite->data[7] = 0; + sprite->data[6]++; + } + } + else + { + if (sprite->data[7] > 127) + { + sprite->data[7] = 0; + sprite->data[6]++; + } + } + + switch (sprite->data[6]) + { + case 1: + sprite->pos2.x = -(Cos(sprite->data[7], 8)); + sprite->pos2.y = Sin(sprite->data[7], 8) - 8; + break; + case 2: + sprite->pos2.x = Sin(sprite->data[7] + 128, 8) + 8; + sprite->pos2.y = -(Cos(sprite->data[7], 8)); + break; + case 3: + sprite->pos2.x = Cos(sprite->data[7], 8); + sprite->pos2.y = Sin(sprite->data[7] + 128, 8) + 8; + break; + case 0: + case 4: + sprite->pos2.x = Sin(sprite->data[7], 8) - 8; + sprite->pos2.y = Cos(sprite->data[7], 8); + break; + default: + sprite->pos2.x = 0; + sprite->pos2.y = 0; + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + break; + } + + sub_817F70C(sprite); +} + +static void pokemonanimfunc_45(struct Sprite *sprite) +{ + sprite->data[0] = 32; + sub_8180714(sprite); + sprite->callback = sub_8180714; +} + +static void pokemonanimfunc_46(struct Sprite *sprite) +{ + sprite->data[0] = 80; + sub_817F8FC(sprite); + sprite->callback = sub_817F8FC; +} + +static void pokemonanimfunc_47(struct Sprite *sprite) +{ + sprite->data[0] = 80; + sub_817F978(sprite); + sprite->callback = sub_817F978; +} + +static void pokemonanimfunc_48(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + + sUnknown_03001240[id].field_6 = 2048; + sUnknown_03001240[id].field_8 = sprite->data[6]; + sub_8180900(sprite); + sprite->callback = sub_8180900; +} + +static void pokemonanimfunc_49(struct Sprite *sprite) +{ + sprite->data[6] = 1; + pokemonanimfunc_05(sprite); +} + +static void pokemonanimfunc_4A(struct Sprite *sprite) +{ + sprite->data[6] = 1; + pokemonanimfunc_48(sprite); +} + +static void pokemonanimfunc_4B(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + sprite->data[0] = 0; + + if (sprite->data[0] <= 0) + { + sub_817FC20(sprite); + sprite->data[0] = 1; + } + else + { + sprite->data[0]--; + } +} + +static void pokemonanimfunc_4C(struct Sprite *sprite) +{ + sprite->data[0] = 30; + sprite->data[7] = 3; + sub_817FCDC(sprite); + sprite->callback = sub_817FCDC; +} + +static void pokemonanimfunc_4D(struct Sprite *sprite) +{ + sprite->data[0] = 30; + sub_817FD44(sprite); + sprite->callback = sub_817FD44; +} + +static void pokemonanimfunc_4E(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + + sUnknown_03001240[id].field_6 = 1024; + sUnknown_03001240[id].field_0 = 0; + sUnknown_03001240[id].field_4 = 2; + sub_817FE30(sprite); + sprite->callback = sub_817FE30; +} + +static void pokemonanimfunc_4F(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + + sUnknown_03001240[id].field_6 = 512; + sUnknown_03001240[id].field_8 = 3; + sUnknown_03001240[id].field_2 = 12; + sub_817FFF0(sprite); + sprite->callback = sub_817FFF0; +} + +static void pokemonanimfunc_50(struct Sprite *sprite) +{ + sprite->data[0] = 24; + sub_818031C(sprite); + sprite->callback = sub_818031C; +} + +static void pokemonanimfunc_51(struct Sprite *sprite) +{ + sprite->data[0] = 5; + sub_81804F8(sprite); + sprite->callback = sub_81804F8; +} + +static void pokemonanimfunc_52(struct Sprite *sprite) +{ + sprite->data[0] = 3; + sub_817F9F4(sprite); + sprite->callback = sub_817F9F4; +} + +static void pokemonanimfunc_53(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + + sUnknown_03001240[id].field_0 = 60; + sUnknown_03001240[id].field_8 = 30; + sub_817FF3C(sprite); + sprite->callback = sub_817FF3C; +} + +static void pokemonanimfunc_54(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + + sUnknown_03001240[id].field_2 = 1; + sUnknown_03001240[id].field_4 = 2; + sub_8181214(sprite); + sprite->callback = sub_8181214; +} + +static void pokemonanimfunc_55(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + + sUnknown_03001240[id].field_6 = 4; + sUnknown_03001240[id].field_4 = 2; + sub_8181810(sprite); + sprite->callback = sub_8181810; +} + +static void pokemonanimfunc_56(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + + sUnknown_03001240[id].field_8 = 1; + sUnknown_03001240[id].field_4 = 2; + HandleStartAffineAnim(sprite); + sprite->data[3] = 0; + sub_8181ABC(sprite); + sprite->callback = sub_8181ABC; +} + +static void pokemonanimfunc_07(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + + sUnknown_03001240[id].field_6 = 2; + sub_8181CE8(sprite); + sprite->callback = sub_8181CE8; +} + +static void pokemonanimfunc_08(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + + sUnknown_03001240[id].field_6 = 4; + sUnknown_03001240[id].field_4 = 2; + sub_8181CE8(sprite); + sprite->callback = sub_8181CE8; +} + +static void pokemonanimfunc_0B(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + + sUnknown_03001240[id].field_8 = 100; + sub_81814D4(sprite); + sprite->callback = sub_81814D4; +} + +static void pokemonanimfunc_0C(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + + sUnknown_03001240[id].field_8 = 50; + sUnknown_03001240[id].field_4 = 2; + sub_81814D4(sprite); + sprite->callback = sub_81814D4; +} + +static void pokemonanimfunc_0D(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + + sUnknown_03001240[id].field_8 = 100; + sub_81815D4(sprite); + sprite->callback = sub_81815D4; +} + +static void pokemonanimfunc_0E(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + + sUnknown_03001240[id].field_8 = 50; + sUnknown_03001240[id].field_4 = 2; + sub_81815D4(sprite); + sprite->callback = sub_81815D4; +} + +static void sub_8183140(struct Sprite *sprite) +{ + s32 counter = sprite->data[2]; + if (counter > 2304) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->pos2.y = 0; + } + else + { + sprite->pos2.y = Sin((counter + 192) % 256, sprite->data[7]) + sprite->data[7]; + } + + sprite->data[2] += sprite->data[0]; +} + +static void pokemonanimfunc_57(struct Sprite *sprite) +{ + sprite->data[0] = 60; + sprite->data[7] = 3; + sub_8183140(sprite); + sprite->callback = sub_8183140; +} + +static void pokemonanimfunc_58(struct Sprite *sprite) +{ + sprite->data[0] = 30; + sprite->data[7] = 3; + sub_8183140(sprite); + sprite->callback = sub_8183140; +} + +static void pokemonanimfunc_59(struct Sprite *sprite) +{ + sub_817F70C(sprite); + if (sprite->data[2] > 2048) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->data[6] = 0; + } + else + { + s16 divCase = (sprite->data[2] / 512) % 4; + switch (divCase) + { + case 0: + sprite->pos2.x = (sprite->data[2] % 512) / 32; + break; + case 2: + sprite->pos2.x = -(sprite->data[2] % 512 * 16) / 512; + break; + case 1: + sprite->pos2.x = -(sprite->data[2] % 512 * 16) / 512 + 16; + break; + case 3: + sprite->pos2.x = (sprite->data[2] % 512) / 32 - 16; + break; + } + + sprite->pos2.y = Sin(sprite->data[2] % 128, 4); + sprite->data[2] += 24; + } + + sub_817F70C(sprite); +} + +static void sub_81832C8(struct Sprite *sprite) +{ + s16 index1 = 0, index2 = 0; + + if (sprite->data[5] > sprite->data[6]) + { + sprite->pos2.y = 0; + sprite->data[5] = 0; + HandleSetAffineData(sprite, 256, 256, 0); + if (sprite->data[4] <= 1) + { + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + sprite->data[4]--; + sprite->data[7] = 0; + } + } + else + { + u8 amplitude, cmpVal1, cmpVal2; + s16 xScale, yScale; + + index2 = (sprite->data[5] * 128) / sprite->data[6]; + cmpVal1 = sprite->data[6] / 4; + cmpVal2 = cmpVal1 * 3; + if (sprite->data[5] >= cmpVal1 && sprite->data[5] < cmpVal2) + { + sprite->data[7] += 51; + index1 = sprite->data[7] & 0xFF; + } + + if (sprite->data[1] == 0) + xScale = -256 - Sin(index2, 16); + else + xScale = 256 + Sin(index2, 16); + + amplitude = sprite->data[3]; + yScale = 256 - Sin(index2, amplitude) - Sin(index1, amplitude / 5); + SetAffineData(sprite, xScale, yScale, 0); + sprite->data[5]++; + } +} + +static void pokemonanimfunc_5A(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[2] = 1; + HandleStartAffineAnim(sprite); + sprite->data[4] = 1; + sprite->data[6] = 40; + sprite->data[3] = 40; + sprite->data[5] = 0; + sprite->data[7] = 0; + } + + sub_81832C8(sprite); +} + +static void sub_8183418(struct Sprite *sprite) +{ + s16 index1 = 0, index2; + + if (sprite->data[5] > sprite->data[6]) + { + sprite->data[5] = 0; + HandleSetAffineData(sprite, 256, 256, 0); + if (sprite->data[4] <= 1) + { + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + sprite->data[4]--; + sprite->data[7] = 0; + } + } + else + { + u8 amplitude, cmpVal1, cmpVal2; + s16 xScale; + + index2 = (sprite->data[5] * 128) / sprite->data[6]; + cmpVal1 = sprite->data[6] / 4; + cmpVal2 = cmpVal1 * 3; + if (sprite->data[5] >= cmpVal1 && sprite->data[5] < cmpVal2) + { + sprite->data[7] += 51; + index1 = sprite->data[7] & 0xFF; + } + + amplitude = sprite->data[3]; + + if (sprite->data[1] == 0) + xScale = -256 + Sin(index2, amplitude) + Sin(index1, amplitude / 5 * 2); + else + xScale = 256 - Sin(index2, amplitude) - Sin(index1, amplitude / 5 * 2); + + SetAffineData(sprite, xScale, 256, 0); + sprite->data[5]++; + } +} + +static void pokemonanimfunc_5B(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[2] = 1; + HandleStartAffineAnim(sprite); + sprite->data[4] = 1; + sprite->data[6] = 40; + sprite->data[3] = 40; + sprite->data[5] = 0; + sprite->data[7] = 0; + } + + sub_8183418(sprite); +} + +static void sub_8183574(struct Sprite *sprite) +{ + u8 var6, var7; + u8 var8 = sprite->data[2]; + u8 var9 = sprite->data[6]; + u8 var5 = sUnknown_0860AA80[sprite->data[5]][0]; + u8 var2 = var5; + if (var5 != 0xFF) + var5 = sprite->data[7]; + else + var5 = 0xFF; // needed to match + + var6 = sUnknown_0860AA80[sprite->data[5]][1]; + var7 = 0; + if (var2 != 0xFE) + var7 = (var6 - var9) * var5 / var6; + + if (var5 == 0xFF) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->pos2.y = 0; + } + else + { + sprite->pos2.y = Sin((var8 + 192) % 256, var7) + var7; + if (var9 == var6) + { + sprite->data[5]++; + sprite->data[6] = 0; + } + else + { + sprite->data[2] += sprite->data[0]; + sprite->data[6]++; + } + } +} + +static void pokemonanimfunc_5C(struct Sprite *sprite) +{ + sprite->data[0] = 40; + sprite->data[7] = 6; + sub_8183574(sprite); + sprite->callback = sub_8183574; +} + +static void pokemonanimfunc_5D(struct Sprite *sprite) +{ + sprite->data[0] = 70; + sprite->data[7] = 6; + sub_817FCDC(sprite); + sprite->callback = sub_817FCDC; +} + +static void pokemonanimfunc_5E(struct Sprite *sprite) +{ + sprite->data[0] = 20; + sub_817F8FC(sprite); + sprite->callback = sub_817F8FC; +} + +static void pokemonanimfunc_5F(struct Sprite *sprite) +{ + if (sprite->data[2] > 40) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->pos2.x = 0; + } + else + { + s8 sign; + if (!(sprite->data[2] & 1)) + sign = 1; + else + sign = -1; + + sprite->pos2.x = Sin((sprite->data[2] * 128 / 40) % 256, 9) * sign; + } + + sprite->data[2]++; +} + +static void pokemonanimfunc_60(struct Sprite *sprite) +{ + if (sprite->data[2] > 40) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->pos2.x = 0; + } + else + { + s8 sign; + if (!(sprite->data[2] & 1)) + sign = 1; + else + sign = -1; + + sprite->pos2.x = Sin((sprite->data[2] * 128 / 40) % 256, 12) * sign; + } + + sprite->data[2]++; +} + +static void pokemonanimfunc_61(struct Sprite *sprite) +{ + sprite->data[0] = 70; + sprite->data[7] = 6; + sub_8183140(sprite); + sprite->callback = sub_8183140; +} + +static void pokemonanimfunc_62(struct Sprite *sprite) +{ + sprite->data[0] = 24; + sprite->data[7] = 6; + sub_8183574(sprite); + sprite->callback = sub_8183574; +} + +static void pokemonanimfunc_63(struct Sprite *sprite) +{ + sprite->data[0] = 56; + sprite->data[7] = 9; + sub_8183574(sprite); + sprite->callback = sub_8183574; +} + +static void pokemonanimfunc_64(struct Sprite *sprite) +{ + u8 id = sprite->data[0] = sub_817F758(); + + sUnknown_03001240[id].field_6 = 1024; + sUnknown_03001240[id].field_8 = 6; + sUnknown_03001240[id].field_2 = 24; + sub_817FFF0(sprite); + sprite->callback = sub_817FFF0; +} + +static void sub_81837DC(struct Sprite *sprite) +{ + s16 index1 = 0, index2 = 0; + if (sprite->data[5] > sprite->data[6]) + { + sprite->pos2.y = 0; + sprite->data[5] = 0; + HandleSetAffineData(sprite, 256, 256, 0); + if (sprite->data[4] <= 1) + { + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + sprite->data[4]--; + sprite->data[7] = 0; + } + } + else + { + u8 amplitude, cmpVal1, cmpVal2; + s16 xScale, yScale; + + index2 = (sprite->data[5] * 128) / sprite->data[6]; + cmpVal1 = sprite->data[6] / 4; + cmpVal2 = cmpVal1 * 3; + if (sprite->data[5] >= cmpVal1 && sprite->data[5] < cmpVal2) + { + sprite->data[7] += 51; + index1 = sprite->data[7] & 0xFF; + } + + amplitude = sprite->data[3]; + + if (sprite->data[1] == 0) + xScale = Sin(index2, amplitude) + (Sin(index1, amplitude / 5 * 2) - 256); + else + xScale = 256 - Sin(index1, amplitude / 5 * 2) - Sin(index2, amplitude); + + yScale = 256 - Sin(index1, amplitude / 5) - Sin(index2, amplitude); + SetAffineData(sprite, xScale, yScale, 0); + sprite->data[5]++; + } +} + +static void pokemonanimfunc_65(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[2] = 1; + HandleStartAffineAnim(sprite); + sprite->data[4] = 1; + sprite->data[6] = 40; + sprite->data[3] = 40; + sprite->data[5] = 0; + sprite->data[7] = 0; + } + + sub_81837DC(sprite); +} + +static void pokemonanimfunc_66(struct Sprite *sprite) +{ + sub_817F70C(sprite); + if (sprite->data[2] > 2048) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->data[6] = 0; + } + else + { + s16 divCase = (sprite->data[2] / 512) % 4; + switch (divCase) + { + case 0: + sprite->pos2.x = (sprite->data[2] % 512) / 32; + break; + case 2: + sprite->pos2.x = -(sprite->data[2] % 512 * 16) / 512; + break; + case 1: + sprite->pos2.x = -(sprite->data[2] % 512 * 16) / 512 + 16; + break; + case 3: + sprite->pos2.x = (sprite->data[2] % 512) / 32 - 16; + break; + } + + sprite->pos2.y = Sin(sprite->data[2] % 128, 4); + sprite->data[2] += 48; + } + + sub_817F70C(sprite); +} + +static void pokemonanimfunc_67(struct Sprite *sprite) +{ + sub_817F70C(sprite); + if (sprite->data[2] > 2048) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->data[6] = 0; + } + else + { + s16 divCase = (sprite->data[2] / 512) % 4; + switch (divCase) + { + case 0: + sprite->pos2.x = (sprite->data[2] % 512) / 32; + break; + case 2: + sprite->pos2.x = -(sprite->data[2] % 512 * 16) / 512; + break; + case 1: + sprite->pos2.x = -(sprite->data[2] % 512 * 16) / 512 + 16; + break; + case 3: + sprite->pos2.x = (sprite->data[2] % 512) / 32 - 16; + break; + } + + sprite->pos2.y = Sin(sprite->data[2] % 96, 4); + sprite->data[2] += 64; + } + + sub_817F70C(sprite); +} + +static const s8 sUnknown_0860ADBE[][3] = +{ +// x y timer + {1, 1, 12}, + {-2, 0, 12}, + {1, -1, 12}, + {0, 0, 0} +}; + +static void sub_8183B4C(struct Sprite *sprite) +{ + sub_817F70C(sprite); + if (sprite->data[2] == 0) + sprite->data[3] = 0; + + if (sUnknown_0860ADBE[sprite->data[3]][2] / sprite->data[5] == sprite->data[2]) + { + sprite->data[3]++; + sprite->data[2] = 0; + } + + if (sUnknown_0860ADBE[sprite->data[3]][2] / sprite->data[5] == 0) + { + if (--sprite->data[6] == 0) + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + else + sprite->data[2] = 0; + } + else + { + s32 amplitude = sprite->data[5]; + sprite->pos2.x += (sUnknown_0860ADBE[sprite->data[3]][0] * amplitude); + sprite->pos2.y += (sUnknown_0860ADBE[sprite->data[3]][1] * sprite->data[5]); // what's the point of the var if you're not reusing it? + sprite->data[2]++; + sub_817F70C(sprite); + } +} + +static void pokemonanimfunc_68(struct Sprite *sprite) +{ + sprite->data[5] = 1; + sprite->data[6] = 1; + sub_8183B4C(sprite); + sprite->callback = sub_8183B4C; +} + +static void pokemonanimfunc_69(struct Sprite *sprite) +{ + sprite->data[5] = 2; + sprite->data[6] = 1; + sub_8183B4C(sprite); + sprite->callback = sub_8183B4C; +} + +static void pokemonanimfunc_6A(struct Sprite *sprite) +{ + sprite->data[5] = 2; + sprite->data[6] = 2; + sub_8183B4C(sprite); + sprite->callback = sub_8183B4C; +} + +static void sub_8183C6C(struct Sprite *sprite) +{ + if (sprite->data[7] > 255) + { + if (sprite->data[5] <= 1) + { + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + HandleSetAffineData(sprite, 256, 256, 0); + } + else + { + sprite->data[5]--; + sprite->data[7] = 0; + } + } + else + { + s16 scale; + + sprite->data[7] += sprite->data[6]; + if (sprite->data[7] > 256) + sprite->data[7] = 256; + + scale = Sin(sprite->data[7] / 2, 64); + HandleSetAffineData(sprite, 256 - scale, 256 - scale, 0); + } +} + +static void pokemonanimfunc_6B(struct Sprite *sprite) +{ + sub_817F70C(sprite); + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[2]++; + sprite->data[7] = 0; + sprite->data[6] = 4; + sprite->data[5] = 1; + } + + sub_8183C6C(sprite); + sub_817F70C(sprite); +} + +static void pokemonanimfunc_6C(struct Sprite *sprite) +{ + sub_817F70C(sprite); + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[2]++; + sprite->data[7] = 0; + sprite->data[6] = 8; + sprite->data[5] = 2; + } + + sub_8183C6C(sprite); + sub_817F70C(sprite); +} + +static void pokemonanimfunc_6D(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[2]++; + sprite->data[7] = 0; + sprite->data[6] = 8; + sprite->data[5] = 512; + sprite->data[4] = 16; + } + + sub_8182764(sprite); +} + +static void pokemonanimfunc_6E(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[2]++; + sprite->data[7] = 0; + sprite->data[6] = 4; + sprite->data[5] = 256; + sprite->data[4] = 16; + } + + sub_8182764(sprite); +} + +static void pokemonanimfunc_6F(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[2]++; + sprite->data[7] = 0; + sprite->data[6] = 8; + sprite->data[5] = 512; + sprite->data[4] = 16; + } + + sub_8182830(sprite); +} + +static void pokemonanimfunc_70(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[2]++; + sprite->data[7] = 0; + sprite->data[6] = 8; + sprite->data[5] = 512; + sprite->data[4] = 8; + } + + sub_8182830(sprite); +} + +static void pokemonanimfunc_71(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[7] = 5; + sprite->data[6] = 8; + } + + sub_8180828(sprite); +} + +static void pokemonanimfunc_72(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[7] = 3; + sprite->data[6] = 4; + } + + sub_8180828(sprite); +} + +static void pokemonanimfunc_73(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[2] = 1; + HandleStartAffineAnim(sprite); + sprite->data[4] = 1; + sprite->data[6] = 30; + sprite->data[3] = 60; + sprite->data[7] = 0; + } + + sub_81832C8(sprite); +} + +static void pokemonanimfunc_74(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[2] = 1; + HandleStartAffineAnim(sprite); + sprite->data[4] = 2; + sprite->data[6] = 20; + sprite->data[3] = 70; + sprite->data[7] = 0; + } + + sub_81832C8(sprite); +} + +static void pokemonanimfunc_75(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[2] = 1; + HandleStartAffineAnim(sprite); + sprite->data[4] = 2; + sprite->data[6] = 20; + sprite->data[3] = 70; + sprite->data[5] = 0; + sprite->data[7] = 0; + } + + sub_8183418(sprite); +} + +static void pokemonanimfunc_76(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[2] = 1; + HandleStartAffineAnim(sprite); + sprite->data[4] = 1; + sprite->data[6] = 30; + sprite->data[3] = 60; + sprite->data[5] = 0; + sprite->data[7] = 0; + } + + sub_8183418(sprite); +} + +static void pokemonanimfunc_77(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[2] = 1; + HandleStartAffineAnim(sprite); + sprite->data[4] = 2; + sprite->data[6] = 20; + sprite->data[3] = 70; + sprite->data[5] = 0; + sprite->data[7] = 0; + } + + sub_81837DC(sprite); +} + +static void pokemonanimfunc_78(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[2] = 1; + HandleStartAffineAnim(sprite); + sprite->data[4] = 1; + sprite->data[6] = 30; + sprite->data[3] = 60; + sprite->data[5] = 0; + sprite->data[7] = 0; + } + + sub_81837DC(sprite); +} + +static void sub_8183FA8(struct Sprite *sprite) +{ + if (sprite->data[7] > 255) + { + if (sprite->data[6] <= 1) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + sprite->pos2.x = 0; + sprite->pos2.y = 0; + } + else + { + sprite->data[7] %= 256; + sprite->data[6]--; + } + } + else + { + sprite->pos2.x = -(Sin(sprite->data[7], sprite->data[5])); + sprite->pos2.y = Sin((sprite->data[7] + 192) % 256, sprite->data[4]); + if (sprite->pos2.y > 0) + sprite->pos2.y *= -1; + + sprite->pos2.y += sprite->data[4]; + sprite->data[7] += sprite->data[3]; + } +} + +static void pokemonanimfunc_79(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[2] = 1; + sprite->data[6] = 1; + sprite->data[7] = 0; + sprite->data[5] = 12; + sprite->data[4] = 12; + sprite->data[3] = 4; + } + + sub_8183FA8(sprite); +} + +static void pokemonanimfunc_7A(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[2] = 1; + sprite->data[6] = 1; + sprite->data[7] = 0; + sprite->data[5] = 12; + sprite->data[4] = 12; + sprite->data[3] = 6; + } + + sub_8183FA8(sprite); +} + +static void pokemonanimfunc_7B(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[2] = 1; + sprite->data[6] = 2; + sprite->data[7] = 0; + sprite->data[5] = 12; + sprite->data[4] = 12; + sprite->data[3] = 8; + } + + sub_8183FA8(sprite); +} + +static void sub_81840C4(struct Sprite *sprite) +{ + if (sprite->data[7] > 256) + { + if (sprite->data[6] <= sprite->data[4]) + { + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + sprite->data[4]++; + sprite->data[7] = 0; + } + + sprite->pos2.x = 0; + sprite->pos2.y = 0; + } + else + { + s16 posX; + + if (sprite->data[7] > 159) + { + if (sprite->data[7] > 256) + sprite->data[7] = 256; + + sprite->pos2.y = -(Sin(sprite->data[7] % 256, 8)); + } + else if (sprite->data[7] > 95) + { + sprite->pos2.y = Sin(96, 6) - Sin((sprite->data[7] - 96) * 2, 4); + } + else + { + sprite->pos2.y = Sin(sprite->data[7], 6); + } + + posX = -(Sin(sprite->data[7] / 2, sprite->data[5])); + if (sprite->data[4] % 2 == 0) + posX *= -1; + + sprite->pos2.x = posX; + sprite->data[7] += sprite->data[3]; + } +} + +static void pokemonanimfunc_7C(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[2] = 1; + sprite->data[6] = 2; + sprite->data[7] = 0; + sprite->data[5] = 16; + sprite->data[4] = 1; + sprite->data[3] = 4; + } + + sub_81840C4(sprite); +} + +static void pokemonanimfunc_7D(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[2] = 1; + sprite->data[6] = 2; + sprite->data[7] = 0; + sprite->data[5] = 16; + sprite->data[4] = 1; + sprite->data[3] = 6; + } + + sub_81840C4(sprite); +} + +static void pokemonanimfunc_7E(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[2] = 1; + sprite->data[6] = 3; + sprite->data[7] = 0; + sprite->data[5] = 16; + sprite->data[4] = 1; + sprite->data[3] = 8; + } + + sub_81840C4(sprite); +} + +static void pokemonanimfunc_7F(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[2] = 1; + sprite->data[6] = 1; + sprite->data[7] = 0; + sprite->data[5] = 4; + sprite->data[4] = 6; + sprite->data[3] = 4; + } + + sub_8183FA8(sprite); +} + +static void pokemonanimfunc_80(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[2] = 1; + sprite->data[6] = 1; + sprite->data[7] = 0; + sprite->data[5] = 4; + sprite->data[4] = 6; + sprite->data[3] = 6; + } + + sub_8183FA8(sprite); +} + +static void pokemonanimfunc_81(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[2] = 1; + sprite->data[6] = 2; + sprite->data[7] = 0; + sprite->data[5] = 4; + sprite->data[4] = 6; + sprite->data[3] = 8; + } + + sub_8183FA8(sprite); +} + +static void sub_8184290(struct Sprite *sprite) +{ + u16 index = Sin((sprite->data[2] * 128) / sprite->data[7], sprite->data[5]); + sprite->data[6] = -(index << 8); + sub_817F3F0(sprite, index, sprite->data[4], 0); + HandleSetAffineData(sprite, 256, 256, sprite->data[6]); +} + +static void pokemonanimfunc_82(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[7] = 60; + sprite->data[5] = 8; + sprite->data[4] = -32; + sprite->data[3] = 1; + sprite->data[0] = 0; + } + + if (sprite->data[2] > sprite->data[7]) + { + HandleSetAffineData(sprite, 256, 256, 0); + sprite->pos2.x = 0; + sprite->pos2.y = 0; + sprite->data[0]++; + if (sprite->data[3] <= sprite->data[0]) + { + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + return; + } + else + { + sprite->data[2] = 0; + } + } + else + { + sub_8184290(sprite); + } + + sprite->data[2]++; +} + +static void pokemonanimfunc_83(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[7] = 90; + sprite->data[5] = 8; + sprite->data[4] = -32; + sprite->data[3] = 1; + sprite->data[0] = 0; + } + + if (sprite->data[2] > sprite->data[7]) + { + HandleSetAffineData(sprite, 256, 256, 0); + sprite->pos2.x = 0; + sprite->pos2.y = 0; + sprite->data[0]++; + if (sprite->data[3] <= sprite->data[0]) + { + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + return; + } + else + { + sprite->data[2] = 0; + } + } + else + { + sub_8184290(sprite); + } + + sprite->data[2]++; +} + +static void pokemonanimfunc_84(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->data[7] = 30; + sprite->data[5] = 8; + sprite->data[4] = -32; + sprite->data[3] = 2; + sprite->data[0] = 0; + } + + if (sprite->data[2] > sprite->data[7]) + { + HandleSetAffineData(sprite, 256, 256, 0); + sprite->pos2.x = 0; + sprite->pos2.y = 0; + sprite->data[0]++; + if (sprite->data[3] <= sprite->data[0]) + { + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + return; + } + else + { + sprite->data[2] = 0; + } + } + else + { + sub_8184290(sprite); + } + + sprite->data[2]++; +} + +static void sub_8184468(struct Sprite *sprite) +{ + if (sprite->data[2] > sprite->data[7]) + { + sprite->pos2.y = 0; + HandleSetAffineData(sprite, 256, 256, 0); + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + u8 posY_unsigned; + s8 posY_signed; + s32 posY; + s16 index = (u16)(sprite->data[2] % sprite->data[6] * 256) / sprite->data[6] % 256; + if (sprite->data[2] % 2 == 0) + { + sprite->data[4] = Sin(index, 32) + 256; + sprite->data[5] = Sin(index, 32) + 256; + posY_unsigned = Sin(index, 32); + posY_signed = posY_unsigned; + } + else + { + sprite->data[4] = Sin(index, 8) + 256; + sprite->data[5] = Sin(index, 8) + 256; + posY_unsigned = Sin(index, 8); + posY_signed = posY_unsigned; + } + + posY = posY_signed; + if (posY < 0) + posY += 7; + sprite->pos2.y = (u32)(posY) >> 3; + HandleSetAffineData(sprite, sprite->data[4], sprite->data[5], 0); + } + + sprite->data[2]++; +} + +static void pokemonanimfunc_85(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->pos2.y += 2; + sprite->data[6] = 40; + sprite->data[7] = 80; + } + + sub_8184468(sprite); +} + +static void pokemonanimfunc_86(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->pos2.y += 2; + sprite->data[6] = 40; + sprite->data[7] = 40; + } + + sub_8184468(sprite); +} + +static void pokemonanimfunc_87(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + HandleStartAffineAnim(sprite); + sprite->pos2.y += 2; + sprite->data[6] = 80; + sprite->data[7] = 80; + } + + sub_8184468(sprite); +} + +static void sub_8184610(struct Sprite *sprite); +static void sub_8184640(struct Sprite *sprite); +static void sub_8184678(struct Sprite *sprite); +static void sub_81846B8(struct Sprite *sprite); + +static void sub_81845D4(struct Sprite *sprite) +{ + sub_817F70C(sprite); + sprite->pos2.x -= sprite->data[2]; + if (sprite->pos2.x <= -sprite->data[6]) + { + sprite->pos2.x = -sprite->data[6]; + sprite->data[7] = 2; + sprite->callback = sub_8184610; + } + + sub_817F70C(sprite); +} + +static void sub_8184610(struct Sprite *sprite) +{ + sub_817F70C(sprite); + sprite->pos2.x += sprite->data[7]; + sprite->data[7]++; + if (sprite->pos2.x >= 0) + sprite->callback = sub_8184640; + + sub_817F70C(sprite); +} + +static void sub_8184640(struct Sprite *sprite) +{ + sub_817F70C(sprite); + sprite->pos2.x += sprite->data[7]; + sprite->data[7]++; + if (sprite->pos2.x > sprite->data[6]) + { + sprite->pos2.x = sprite->data[6]; + sprite->callback = sub_8184678; + } + + sub_817F70C(sprite); +} + +static void sub_8184678(struct Sprite *sprite) +{ + sub_817F70C(sprite); + if (sprite->data[3] >= sprite->data[5]) + { + sprite->callback = sub_81846B8; + } + else + { + sprite->pos2.x += sprite->data[4]; + sprite->data[4] *= -1; + sprite->data[3]++; + } + + sub_817F70C(sprite); +} + +static void sub_81846B8(struct Sprite *sprite) +{ + sub_817F70C(sprite); + sprite->pos2.x -= 2; + if (sprite->pos2.x <= 0) + { + sprite->pos2.x = 0; + sub_817F77C(sprite); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + + sub_817F70C(sprite); +} + +static void pokemonanimfunc_88(struct Sprite *sprite) +{ + HandleStartAffineAnim(sprite); + sprite->data[7] = 4; + sprite->data[6] = 12; + sprite->data[5] = 16; + sprite->data[4] = 4; + sprite->data[3] = 0; + sprite->data[2] = 2; + sprite->callback = sub_81845D4; +} + +static void pokemonanimfunc_89(struct Sprite *sprite) +{ + HandleStartAffineAnim(sprite); + sprite->data[7] = 2; + sprite->data[6] = 8; + sprite->data[5] = 12; + sprite->data[4] = 2; + sprite->data[3] = 0; + sprite->data[2] = 1; + sprite->callback = sub_81845D4; +} + +static void pokemonanimfunc_8A(struct Sprite *sprite) +{ + HandleStartAffineAnim(sprite); + sprite->data[7] = 0; + sprite->data[6] = 6; + sprite->data[5] = 6; + sprite->data[4] = 2; + sprite->data[3] = 0; + sprite->data[2] = 1; + sprite->callback = sub_81845D4; +} + +static void sub_8184770(struct Sprite *sprite) +{ + sprite->pos2.x = sprite->data[1]; + if (sprite->data[0] > 1) + { + sprite->data[1] *= -1; + sprite->data[0] = 0; + } + else + { + sprite->data[0]++; + } +} + +struct YellowBlendStruct +{ + u8 field_0; + u8 field_1; +}; + +static const struct YellowBlendStruct sUnknown_0860ADCC[] = +{ + {0, 1}, + {1, 2}, + {0, 15}, + {1, 1}, + {0, 15}, + {1, 1}, + {0, 15}, + {1, 1}, + {0, 1}, + {1, 1}, + {0, 1}, + {1, 1}, + {0, 1}, + {1, 1}, + {0, 1}, + {1, 1}, + {0, 1}, + {1, 1}, + {0, 1}, + {0, 0xFF} +}; + +static const struct YellowBlendStruct sUnknown_0860AE1C[] = +{ + {0, 5}, + {1, 1}, + {0, 15}, + {1, 4}, + {0, 2}, + {1, 2}, + {0, 2}, + {1, 2}, + {0, 2}, + {1, 2}, + {0, 2}, + {1, 2}, + {0, 2}, + {0, 0xFF} +}; + +static const struct YellowBlendStruct sUnknown_0860AE54[] = +{ + {0, 1}, + {1, 1}, + {0, 20}, + {1, 1}, + {0, 20}, + {1, 1}, + {0, 20}, + {1, 1}, + {0, 1}, + {0, 0xFF} +}; + +static const struct YellowBlendStruct *const sUnknown_0860AE7C[] = +{ + sUnknown_0860ADCC, + sUnknown_0860AE1C, + sUnknown_0860AE54 +}; + +static void BackAnimBlendYellow(struct Sprite *sprite) +{ + const struct YellowBlendStruct *array = sUnknown_0860AE7C[sprite->data[3]]; + sub_8184770(sprite); + if (array[sprite->data[6]].field_1 == 0xFF) + { + sprite->pos2.x = 0; + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + if (sprite->data[4] == 1) + { + if (array[sprite->data[6]].field_0 != 0) + BlendPalette(sprite->data[7], 0x10, 0x10, RGB_YELLOW); + else + BlendPalette(sprite->data[7], 0x10, 0, RGB_YELLOW); + + sprite->data[4] = 0; + } + + if (array[sprite->data[6]].field_1 == sprite->data[5]) + { + sprite->data[4] = 1; + sprite->data[5] = 0; + sprite->data[6]++; + } + else + { + sprite->data[5]++; + } + } +} + +static void pokemonanimfunc_8B(struct Sprite *sprite) +{ + if (++sprite->data[2] == 1) + { + sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[6] = 0; + sprite->data[5] = 0; + sprite->data[4] = 0; + sprite->data[3] = 0; + } + + BackAnimBlendYellow(sprite); +} + +static void pokemonanimfunc_8C(struct Sprite *sprite) +{ + if (++sprite->data[2] == 1) + { + sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[6] = 0; + sprite->data[5] = 0; + sprite->data[4] = 0; + sprite->data[3] = 1; + } + + BackAnimBlendYellow(sprite); +} + +static void pokemonanimfunc_8D(struct Sprite *sprite) +{ + if (++sprite->data[2] == 1) + { + sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[6] = 0; + sprite->data[5] = 0; + sprite->data[4] = 0; + sprite->data[3] = 2; + } + + BackAnimBlendYellow(sprite); +} + +static void BackAnimBlend(struct Sprite *sprite) +{ + static const u16 sColors[] = + { + RGB_RED, RGB_GREEN, RGB_BLUE, RGB_BLACK + }; + + if (sprite->data[2] > 127) + { + BlendPalette(sprite->data[7], 0x10, 0, RGB_RED); + sprite->callback = SpriteCB_SetDummyOnAnimEnd; + } + else + { + sprite->data[6] = Sin(sprite->data[2], 12); + BlendPalette(sprite->data[7], 0x10, sprite->data[6], sColors[sprite->data[1]]); + } +} + +static void sub_8184934(struct Sprite *sprite) +{ + if (sprite->data[3] < sprite->data[4]) + { + sub_817F70C(sprite); + if (sprite->data[5] > sprite->data[0]) + { + if (++sprite->data[3] < sprite->data[4]) + sprite->data[5] = 0; + + sprite->pos2.x = 0; + } + else + { + s8 sign = 1 - (sprite->data[3] % 2 * 2); + sprite->pos2.x = sign * Sin((sprite->data[5] * 384 / sprite->data[0]) % 256, 6); + sprite->data[5]++; + } + + sub_817F70C(sprite); + } +} + +static void pokemonanimfunc_8E(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[0] = 10; + sprite->data[5] = 0; + sprite->data[4] = 2; + sprite->data[3] = 0; + sprite->data[1] = 0; + } + + if (sprite->data[2] % 2 == 0) + BackAnimBlend(sprite); + + if (sprite->data[2] >= (128 - sprite->data[0] * sprite->data[4]) / 2) + sub_8184934(sprite); + + sprite->data[2]++; +} + +static void pokemonanimfunc_8F(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[0] = 20; + sprite->data[5] = 0; + sprite->data[4] = 1; + sprite->data[3] = 0; + sprite->data[1] = 0; + } + + if (sprite->data[2] % 2 == 0) + BackAnimBlend(sprite); + + if (sprite->data[2] >= (128 - sprite->data[0] * sprite->data[4]) / 2) + sub_8184934(sprite); + + sprite->data[2]++; +} + +static void pokemonanimfunc_90(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[0] = 80; + sprite->data[5] = 0; + sprite->data[4] = 1; + sprite->data[3] = 0; + sprite->data[1] = 0; + } + + if (sprite->data[2] % 2 == 0) + BackAnimBlend(sprite); + + if (sprite->data[2] >= (128 - sprite->data[0] * sprite->data[4]) / 2) + sub_8184934(sprite); + + sprite->data[2]++; +} + +static void pokemonanimfunc_91(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[0] = 10; + sprite->data[5] = 0; + sprite->data[4] = 2; + sprite->data[3] = 0; + sprite->data[1] = 1; + } + + if (sprite->data[2] % 2 == 0) + BackAnimBlend(sprite); + + if (sprite->data[2] >= (128 - sprite->data[0] * sprite->data[4]) / 2) + sub_8184934(sprite); + + sprite->data[2]++; +} + +static void pokemonanimfunc_92(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[0] = 20; + sprite->data[5] = 0; + sprite->data[4] = 1; + sprite->data[3] = 0; + sprite->data[1] = 1; + } + + if (sprite->data[2] % 2 == 0) + BackAnimBlend(sprite); + + if (sprite->data[2] >= (128 - sprite->data[0] * sprite->data[4]) / 2) + sub_8184934(sprite); + + sprite->data[2]++; +} + +static void pokemonanimfunc_93(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[0] = 80; + sprite->data[5] = 0; + sprite->data[4] = 1; + sprite->data[3] = 0; + sprite->data[1] = 1; + } + + if (sprite->data[2] % 2 == 0) + BackAnimBlend(sprite); + + if (sprite->data[2] >= (128 - sprite->data[0] * sprite->data[4]) / 2) + sub_8184934(sprite); + + sprite->data[2]++; +} + +static void pokemonanimfunc_94(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[0] = 10; + sprite->data[5] = 0; + sprite->data[4] = 2; + sprite->data[3] = 0; + sprite->data[1] = 2; + } + + if (sprite->data[2] % 2 == 0) + BackAnimBlend(sprite); + + if (sprite->data[2] >= (128 - sprite->data[0] * sprite->data[4]) / 2) + sub_8184934(sprite); + + sprite->data[2]++; +} + +static void pokemonanimfunc_95(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[0] = 20; + sprite->data[5] = 0; + sprite->data[4] = 1; + sprite->data[3] = 0; + sprite->data[1] = 2; + } + + if (sprite->data[2] % 2 == 0) + BackAnimBlend(sprite); + + if (sprite->data[2] >= (128 - sprite->data[0] * sprite->data[4]) / 2) + sub_8184934(sprite); + + sprite->data[2]++; +} + +static void pokemonanimfunc_96(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->data[7] = (sprite->oam.paletteNum * 16) + 256; + sprite->data[0] = 80; + sprite->data[5] = 0; + sprite->data[4] = 1; + sprite->data[3] = 0; + sprite->data[1] = 2; + } + + if (sprite->data[2] % 2 == 0) + BackAnimBlend(sprite); + + if (sprite->data[2] >= (128 - sprite->data[0] * sprite->data[4]) / 2) + sub_8184934(sprite); + + sprite->data[2]++; +} + +static void SpriteCB_SetDummyOnAnimEnd(struct Sprite *sprite) +{ + if (sprite->animEnded) + sprite->callback = SpriteCallbackDummy; +} diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c new file mode 100644 index 0000000000..4d1cc51c5f --- /dev/null +++ b/src/pokemon_icon.c @@ -0,0 +1,1014 @@ +#include "global.h" +#include "sprite.h" +#include "graphics.h" + +#define POKE_ICON_BASE_PAL_TAG 56000 + +const u8 * const gMonIconTable[] = +{ + gMonIcon_Bulbasaur, + gMonIcon_Bulbasaur, + gMonIcon_Ivysaur, + gMonIcon_Venusaur, + gMonIcon_Charmander, + gMonIcon_Charmeleon, + gMonIcon_Charizard, + gMonIcon_Squirtle, + gMonIcon_Wartortle, + gMonIcon_Blastoise, + gMonIcon_Caterpie, + gMonIcon_Metapod, + gMonIcon_Butterfree, + gMonIcon_Weedle, + gMonIcon_Kakuna, + gMonIcon_Beedrill, + gMonIcon_Pidgey, + gMonIcon_Pidgeotto, + gMonIcon_Pidgeot, + gMonIcon_Rattata, + gMonIcon_Raticate, + gMonIcon_Spearow, + gMonIcon_Fearow, + gMonIcon_Ekans, + gMonIcon_Arbok, + gMonIcon_Pikachu, + gMonIcon_Raichu, + gMonIcon_Sandshrew, + gMonIcon_Sandslash, + gMonIcon_NidoranF, + gMonIcon_Nidorina, + gMonIcon_Nidoqueen, + gMonIcon_NidoranM, + gMonIcon_Nidorino, + gMonIcon_Nidoking, + gMonIcon_Clefairy, + gMonIcon_Clefable, + gMonIcon_Vulpix, + gMonIcon_Ninetales, + gMonIcon_Jigglypuff, + gMonIcon_Wigglytuff, + gMonIcon_Zubat, + gMonIcon_Golbat, + gMonIcon_Oddish, + gMonIcon_Gloom, + gMonIcon_Vileplume, + gMonIcon_Paras, + gMonIcon_Parasect, + gMonIcon_Venonat, + gMonIcon_Venomoth, + gMonIcon_Diglett, + gMonIcon_Dugtrio, + gMonIcon_Meowth, + gMonIcon_Persian, + gMonIcon_Psyduck, + gMonIcon_Golduck, + gMonIcon_Mankey, + gMonIcon_Primeape, + gMonIcon_Growlithe, + gMonIcon_Arcanine, + gMonIcon_Poliwag, + gMonIcon_Poliwhirl, + gMonIcon_Poliwrath, + gMonIcon_Abra, + gMonIcon_Kadabra, + gMonIcon_Alakazam, + gMonIcon_Machop, + gMonIcon_Machoke, + gMonIcon_Machamp, + gMonIcon_Bellsprout, + gMonIcon_Weepinbell, + gMonIcon_Victreebel, + gMonIcon_Tentacool, + gMonIcon_Tentacruel, + gMonIcon_Geodude, + gMonIcon_Graveler, + gMonIcon_Golem, + gMonIcon_Ponyta, + gMonIcon_Rapidash, + gMonIcon_Slowpoke, + gMonIcon_Slowbro, + gMonIcon_Magnemite, + gMonIcon_Magneton, + gMonIcon_Farfetchd, + gMonIcon_Doduo, + gMonIcon_Dodrio, + gMonIcon_Seel, + gMonIcon_Dewgong, + gMonIcon_Grimer, + gMonIcon_Muk, + gMonIcon_Shellder, + gMonIcon_Cloyster, + gMonIcon_Gastly, + gMonIcon_Haunter, + gMonIcon_Gengar, + gMonIcon_Onix, + gMonIcon_Drowzee, + gMonIcon_Hypno, + gMonIcon_Krabby, + gMonIcon_Kingler, + gMonIcon_Voltorb, + gMonIcon_Electrode, + gMonIcon_Exeggcute, + gMonIcon_Exeggutor, + gMonIcon_Cubone, + gMonIcon_Marowak, + gMonIcon_Hitmonlee, + gMonIcon_Hitmonchan, + gMonIcon_Lickitung, + gMonIcon_Koffing, + gMonIcon_Weezing, + gMonIcon_Rhyhorn, + gMonIcon_Rhydon, + gMonIcon_Chansey, + gMonIcon_Tangela, + gMonIcon_Kangaskhan, + gMonIcon_Horsea, + gMonIcon_Seadra, + gMonIcon_Goldeen, + gMonIcon_Seaking, + gMonIcon_Staryu, + gMonIcon_Starmie, + gMonIcon_Mrmime, + gMonIcon_Scyther, + gMonIcon_Jynx, + gMonIcon_Electabuzz, + gMonIcon_Magmar, + gMonIcon_Pinsir, + gMonIcon_Tauros, + gMonIcon_Magikarp, + gMonIcon_Gyarados, + gMonIcon_Lapras, + gMonIcon_Ditto, + gMonIcon_Eevee, + gMonIcon_Vaporeon, + gMonIcon_Jolteon, + gMonIcon_Flareon, + gMonIcon_Porygon, + gMonIcon_Omanyte, + gMonIcon_Omastar, + gMonIcon_Kabuto, + gMonIcon_Kabutops, + gMonIcon_Aerodactyl, + gMonIcon_Snorlax, + gMonIcon_Articuno, + gMonIcon_Zapdos, + gMonIcon_Moltres, + gMonIcon_Dratini, + gMonIcon_Dragonair, + gMonIcon_Dragonite, + gMonIcon_Mewtwo, + gMonIcon_Mew, + gMonIcon_Chikorita, + gMonIcon_Bayleef, + gMonIcon_Meganium, + gMonIcon_Cyndaquil, + gMonIcon_Quilava, + gMonIcon_Typhlosion, + gMonIcon_Totodile, + gMonIcon_Croconaw, + gMonIcon_Feraligatr, + gMonIcon_Sentret, + gMonIcon_Furret, + gMonIcon_Hoothoot, + gMonIcon_Noctowl, + gMonIcon_Ledyba, + gMonIcon_Ledian, + gMonIcon_Spinarak, + gMonIcon_Ariados, + gMonIcon_Crobat, + gMonIcon_Chinchou, + gMonIcon_Lanturn, + gMonIcon_Pichu, + gMonIcon_Cleffa, + gMonIcon_Igglybuff, + gMonIcon_Togepi, + gMonIcon_Togetic, + gMonIcon_Natu, + gMonIcon_Xatu, + gMonIcon_Mareep, + gMonIcon_Flaaffy, + gMonIcon_Ampharos, + gMonIcon_Bellossom, + gMonIcon_Marill, + gMonIcon_Azumarill, + gMonIcon_Sudowoodo, + gMonIcon_Politoed, + gMonIcon_Hoppip, + gMonIcon_Skiploom, + gMonIcon_Jumpluff, + gMonIcon_Aipom, + gMonIcon_Sunkern, + gMonIcon_Sunflora, + gMonIcon_Yanma, + gMonIcon_Wooper, + gMonIcon_Quagsire, + gMonIcon_Espeon, + gMonIcon_Umbreon, + gMonIcon_Murkrow, + gMonIcon_Slowking, + gMonIcon_Misdreavus, + gMonIcon_UnownA, + gMonIcon_Wobbuffet, + gMonIcon_Girafarig, + gMonIcon_Pineco, + gMonIcon_Forretress, + gMonIcon_Dunsparce, + gMonIcon_Gligar, + gMonIcon_Steelix, + gMonIcon_Snubbull, + gMonIcon_Granbull, + gMonIcon_Qwilfish, + gMonIcon_Scizor, + gMonIcon_Shuckle, + gMonIcon_Heracross, + gMonIcon_Sneasel, + gMonIcon_Teddiursa, + gMonIcon_Ursaring, + gMonIcon_Slugma, + gMonIcon_Magcargo, + gMonIcon_Swinub, + gMonIcon_Piloswine, + gMonIcon_Corsola, + gMonIcon_Remoraid, + gMonIcon_Octillery, + gMonIcon_Delibird, + gMonIcon_Mantine, + gMonIcon_Skarmory, + gMonIcon_Houndour, + gMonIcon_Houndoom, + gMonIcon_Kingdra, + gMonIcon_Phanpy, + gMonIcon_Donphan, + gMonIcon_Porygon2, + gMonIcon_Stantler, + gMonIcon_Smeargle, + gMonIcon_Tyrogue, + gMonIcon_Hitmontop, + gMonIcon_Smoochum, + gMonIcon_Elekid, + gMonIcon_Magby, + gMonIcon_Miltank, + gMonIcon_Blissey, + gMonIcon_Raikou, + gMonIcon_Entei, + gMonIcon_Suicune, + gMonIcon_Larvitar, + gMonIcon_Pupitar, + gMonIcon_Tyranitar, + gMonIcon_Lugia, + gMonIcon_HoOh, + gMonIcon_Celebi, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_Treecko, + gMonIcon_Grovyle, + gMonIcon_Sceptile, + gMonIcon_Torchic, + gMonIcon_Combusken, + gMonIcon_Blaziken, + gMonIcon_Mudkip, + gMonIcon_Marshtomp, + gMonIcon_Swampert, + gMonIcon_Poochyena, + gMonIcon_Mightyena, + gMonIcon_Zigzagoon, + gMonIcon_Linoone, + gMonIcon_Wurmple, + gMonIcon_Silcoon, + gMonIcon_Beautifly, + gMonIcon_Cascoon, + gMonIcon_Dustox, + gMonIcon_Lotad, + gMonIcon_Lombre, + gMonIcon_Ludicolo, + gMonIcon_Seedot, + gMonIcon_Nuzleaf, + gMonIcon_Shiftry, + gMonIcon_Nincada, + gMonIcon_Ninjask, + gMonIcon_Shedinja, + gMonIcon_Taillow, + gMonIcon_Swellow, + gMonIcon_Shroomish, + gMonIcon_Breloom, + gMonIcon_Spinda, + gMonIcon_Wingull, + gMonIcon_Pelipper, + gMonIcon_Surskit, + gMonIcon_Masquerain, + gMonIcon_Wailmer, + gMonIcon_Wailord, + gMonIcon_Skitty, + gMonIcon_Delcatty, + gMonIcon_Kecleon, + gMonIcon_Baltoy, + gMonIcon_Claydol, + gMonIcon_Nosepass, + gMonIcon_Torkoal, + gMonIcon_Sableye, + gMonIcon_Barboach, + gMonIcon_Whiscash, + gMonIcon_Luvdisc, + gMonIcon_Corphish, + gMonIcon_Crawdaunt, + gMonIcon_Feebas, + gMonIcon_Milotic, + gMonIcon_Carvanha, + gMonIcon_Sharpedo, + gMonIcon_Trapinch, + gMonIcon_Vibrava, + gMonIcon_Flygon, + gMonIcon_Makuhita, + gMonIcon_Hariyama, + gMonIcon_Electrike, + gMonIcon_Manectric, + gMonIcon_Numel, + gMonIcon_Camerupt, + gMonIcon_Spheal, + gMonIcon_Sealeo, + gMonIcon_Walrein, + gMonIcon_Cacnea, + gMonIcon_Cacturne, + gMonIcon_Snorunt, + gMonIcon_Glalie, + gMonIcon_Lunatone, + gMonIcon_Solrock, + gMonIcon_Azurill, + gMonIcon_Spoink, + gMonIcon_Grumpig, + gMonIcon_Plusle, + gMonIcon_Minun, + gMonIcon_Mawile, + gMonIcon_Meditite, + gMonIcon_Medicham, + gMonIcon_Swablu, + gMonIcon_Altaria, + gMonIcon_Wynaut, + gMonIcon_Duskull, + gMonIcon_Dusclops, + gMonIcon_Roselia, + gMonIcon_Slakoth, + gMonIcon_Vigoroth, + gMonIcon_Slaking, + gMonIcon_Gulpin, + gMonIcon_Swalot, + gMonIcon_Tropius, + gMonIcon_Whismur, + gMonIcon_Loudred, + gMonIcon_Exploud, + gMonIcon_Clamperl, + gMonIcon_Huntail, + gMonIcon_Gorebyss, + gMonIcon_Absol, + gMonIcon_Shuppet, + gMonIcon_Banette, + gMonIcon_Seviper, + gMonIcon_Zangoose, + gMonIcon_Relicanth, + gMonIcon_Aron, + gMonIcon_Lairon, + gMonIcon_Aggron, + gMonIcon_Castform, + gMonIcon_Volbeat, + gMonIcon_Illumise, + gMonIcon_Lileep, + gMonIcon_Cradily, + gMonIcon_Anorith, + gMonIcon_Armaldo, + gMonIcon_Ralts, + gMonIcon_Kirlia, + gMonIcon_Gardevoir, + gMonIcon_Bagon, + gMonIcon_Shelgon, + gMonIcon_Salamence, + gMonIcon_Beldum, + gMonIcon_Metang, + gMonIcon_Metagross, + gMonIcon_Regirock, + gMonIcon_Regice, + gMonIcon_Registeel, + gMonIcon_Kyogre, + gMonIcon_Groudon, + gMonIcon_Rayquaza, + gMonIcon_Latias, + gMonIcon_Latios, + gMonIcon_Jirachi, + gMonIcon_Deoxys, + gMonIcon_Chimecho, + gMonIcon_Egg, + gMonIcon_UnownB, + gMonIcon_UnownC, + gMonIcon_UnownD, + gMonIcon_UnownE, + gMonIcon_UnownF, + gMonIcon_UnownG, + gMonIcon_UnownH, + gMonIcon_UnownI, + gMonIcon_UnownJ, + gMonIcon_UnownK, + gMonIcon_UnownL, + gMonIcon_UnownM, + gMonIcon_UnownN, + gMonIcon_UnownO, + gMonIcon_UnownP, + gMonIcon_UnownQ, + gMonIcon_UnownR, + gMonIcon_UnownS, + gMonIcon_UnownT, + gMonIcon_UnownU, + gMonIcon_UnownV, + gMonIcon_UnownW, + gMonIcon_UnownX, + gMonIcon_UnownY, + gMonIcon_UnownZ, + gMonIcon_UnownExclamationMark, + gMonIcon_UnownQuestionMark, +}; + +const u8 gMonIconPaletteIndices[] = +{ + 0, // ?????????? + 1, // Bulbasaur + 1, // Ivysaur + 1, // Venusaur + 0, // Charmander + 0, // Charmeleon + 0, // Charizard + 0, // Squirtle + 2, // Wartortle + 2, // Blastoise + 1, // Caterpie + 1, // Metapod + 0, // Butterfree + 1, // Weedle + 2, // Kakuna + 2, // Beedrill + 0, // Pidgey + 0, // Pidgeotto + 0, // Pidgeot + 2, // Rattata + 1, // Raticate + 0, // Spearow + 0, // Fearow + 2, // Ekans + 2, // Arbok + 2, // Pikachu + 0, // Raichu + 2, // Sandshrew + 2, // Sandslash + 2, // Nidoran♀ + 2, // Nidorina + 2, // Nidoqueen + 2, // Nidoran♂ + 2, // Nidorino + 2, // Nidoking + 0, // Clefairy + 0, // Clefable + 2, // Vulpix + 1, // Ninetales + 0, // Jigglypuff + 0, // Wigglytuff + 2, // Zubat + 2, // Golbat + 1, // Oddish + 0, // Gloom + 0, // Vileplume + 0, // Paras + 0, // Parasect + 0, // Venonat + 2, // Venomoth + 2, // Diglett + 2, // Dugtrio + 1, // Meowth + 1, // Persian + 1, // Psyduck + 2, // Golduck + 1, // Mankey + 2, // Primeape + 0, // Growlithe + 0, // Arcanine + 0, // Poliwag + 0, // Poliwhirl + 0, // Poliwrath + 2, // Abra + 2, // Kadabra + 2, // Alakazam + 0, // Machop + 2, // Machoke + 0, // Machamp + 1, // Bellsprout + 1, // Weepinbell + 1, // Victreebel + 2, // Tentacool + 2, // Tentacruel + 1, // Geodude + 1, // Graveler + 1, // Golem + 0, // Ponyta + 0, // Rapidash + 0, // Slowpoke + 0, // Slowbro + 0, // Magnemite + 0, // Magneton + 1, // Farfetch'd + 2, // Doduo + 2, // Dodrio + 2, // Seel + 2, // Dewgong + 2, // Grimer + 2, // Muk + 2, // Shellder + 2, // Cloyster + 2, // Gastly + 2, // Haunter + 2, // Gengar + 2, // Onix + 2, // Drowzee + 1, // Hypno + 2, // Krabby + 2, // Kingler + 0, // Voltorb + 0, // Electrode + 0, // Exeggcute + 1, // Exeggutor + 1, // Cubone + 1, // Marowak + 2, // Hitmonlee + 2, // Hitmonchan + 1, // Lickitung + 2, // Koffing + 2, // Weezing + 1, // Rhyhorn + 1, // Rhydon + 0, // Chansey + 0, // Tangela + 1, // Kangaskhan + 0, // Horsea + 0, // Seadra + 0, // Goldeen + 0, // Seaking + 2, // Staryu + 2, // Starmie + 0, // Mr. mime + 1, // Scyther + 2, // Jynx + 1, // Electabuzz + 0, // Magmar + 2, // Pinsir + 2, // Tauros + 0, // Magikarp + 0, // Gyarados + 2, // Lapras + 2, // Ditto + 2, // Eevee + 0, // Vaporeon + 0, // Jolteon + 0, // Flareon + 0, // Porygon + 0, // Omanyte + 0, // Omastar + 2, // Kabuto + 2, // Kabutops + 0, // Aerodactyl + 1, // Snorlax + 0, // Articuno + 0, // Zapdos + 0, // Moltres + 0, // Dratini + 0, // Dragonair + 2, // Dragonite + 2, // Mewtwo + 0, // Mew + 1, // Chikorita + 1, // Bayleef + 1, // Meganium + 1, // Cyndaquil + 1, // Quilava + 1, // Typhlosion + 2, // Totodile + 2, // Croconaw + 2, // Feraligatr + 2, // Sentret + 2, // Furret + 2, // Hoothoot + 2, // Noctowl + 0, // Ledyba + 0, // Ledian + 1, // Spinarak + 0, // Ariados + 2, // Crobat + 2, // Chinchou + 0, // Lanturn + 0, // Pichu + 0, // Cleffa + 1, // Igglybuff + 2, // Togepi + 2, // Togetic + 0, // Natu + 0, // Xatu + 2, // Mareep + 0, // Flaaffy + 0, // Ampharos + 1, // Bellossom + 2, // Marill + 2, // Azumarill + 1, // Sudowoodo + 1, // Politoed + 1, // Hoppip + 1, // Skiploom + 2, // Jumpluff + 2, // Aipom + 1, // Sunkern + 1, // Sunflora + 1, // Yanma + 0, // Wooper + 0, // Quagsire + 2, // Espeon + 2, // Umbreon + 2, // Murkrow + 0, // Slowking + 0, // Misdreavus + 0, // Unown A + 0, // Wobbuffet + 1, // Girafarig + 0, // Pineco + 2, // Forretress + 2, // Dunsparce + 2, // Gligar + 0, // Steelix + 0, // Snubbull + 2, // Granbull + 0, // Qwilfish + 0, // Scizor + 1, // Shuckle + 2, // Heracross + 0, // Sneasel + 0, // Teddiursa + 2, // Ursaring + 0, // Slugma + 0, // Magcargo + 2, // Swinub + 2, // Piloswine + 0, // Corsola + 0, // Remoraid + 0, // Octillery + 0, // Delibird + 2, // Mantine + 0, // Skarmory + 0, // Houndour + 0, // Houndoom + 0, // Kingdra + 0, // Phanpy + 0, // Donphan + 0, // Porygon2 + 2, // Stantler + 1, // Smeargle + 2, // Tyrogue + 2, // Hitmontop + 1, // Smoochum + 1, // Elekid + 1, // Magby + 1, // Miltank + 1, // Blissey + 0, // Raikou + 2, // Entei + 0, // Suicune + 1, // Larvitar + 0, // Pupitar + 1, // Tyranitar + 0, // Lugia + 1, // Ho-Oh + 1, // Celebi + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 1, // Treecko + 0, // Grovyle + 1, // Sceptile + 0, // Torchic + 0, // Combusken + 0, // Blaziken + 0, // Mudkip + 0, // Marshtomp + 0, // Swampert + 2, // Poochyena + 2, // Mightyena + 2, // Zigzagoon + 2, // Linoone + 0, // Wurmple + 2, // Silcoon + 0, // Beautifly + 2, // Cascoon + 1, // Dustox + 1, // Lotad + 1, // Lombre + 1, // Ludicolo + 1, // Seedot + 1, // Nuzleaf + 0, // Shiftry + 1, // Nincada + 1, // Ninjask + 1, // Shedinja + 2, // Taillow + 2, // Swellow + 1, // Shroomish + 1, // Breloom + 1, // Spinda + 0, // Wingull + 0, // Pelipper + 2, // Surskit + 0, // Masquerain + 2, // Wailmer + 0, // Wailord + 0, // Skitty + 2, // Delcatty + 1, // Kecleon + 1, // Baltoy + 0, // Claydol + 0, // Nosepass + 1, // Torkoal + 2, // Sableye + 0, // Barboach + 0, // Whiscash + 0, // Luvdisc + 0, // Corphish + 0, // Crawdaunt + 2, // Feebas + 0, // Milotic + 0, // Carvanha + 0, // Sharpedo + 1, // Trapinch + 1, // Vibrava + 1, // Flygon + 2, // Makuhita + 1, // Hariyama + 1, // Electrike + 0, // Manectric + 1, // Numel + 0, // Camerupt + 2, // Spheal + 2, // Sealeo + 0, // Walrein + 1, // Cacnea + 1, // Cacturne + 2, // Snorunt + 0, // Glalie + 1, // Lunatone + 0, // Solrock + 2, // Azurill + 0, // Spoink + 2, // Grumpig + 0, // Plusle + 0, // Minun + 2, // Mawile + 0, // Meditite + 0, // Medicham + 0, // Swablu + 0, // Altaria + 0, // Wynaut + 0, // Duskull + 0, // Dusclops + 0, // Roselia + 2, // Slakoth + 2, // Vigoroth + 1, // Slaking + 1, // Gulpin + 2, // Swalot + 1, // Tropius + 0, // Whismur + 2, // Loudred + 2, // Exploud + 0, // Clamperl + 0, // Huntail + 0, // Gorebyss + 0, // Absol + 0, // Shuppet + 0, // Banette + 2, // Seviper + 0, // Zangoose + 1, // Relicanth + 2, // Aron + 2, // Lairon + 2, // Aggron + 0, // Castform + 0, // Volbeat + 2, // Illumise + 2, // Lileep + 0, // Cradily + 0, // Anorith + 0, // Armaldo + 1, // Ralts + 1, // Kirlia + 1, // Gardevoir + 2, // Bagon + 2, // Shelgon + 0, // Salamence + 0, // Beldum + 0, // Metang + 0, // Metagross + 2, // Regirock + 2, // Regice + 2, // Registeel + 2, // Kyogre + 0, // Groudon + 1, // Rayquaza + 0, // Latias + 2, // Latios + 0, // Jirachi + 0, // Deoxys + 0, // Chimecho + 1, // Egg + 0, // Unown B + 0, // Unown C + 0, // Unown D + 0, // Unown E + 0, // Unown F + 0, // Unown G + 0, // Unown H + 0, // Unown I + 0, // Unown J + 0, // Unown K + 0, // Unown L + 0, // Unown M + 0, // Unown N + 0, // Unown O + 0, // Unown P + 0, // Unown Q + 0, // Unown R + 0, // Unown S + 0, // Unown T + 0, // Unown U + 0, // Unown V + 0, // Unown W + 0, // Unown X + 0, // Unown Y + 0, // Unown Z + 0, // Unown Exclamation Mark + 0, // Unown Question Mark +}; + +const struct SpritePalette gMonIconPaletteTable[] = +{ + { gMonIconPalettes[0], POKE_ICON_BASE_PAL_TAG + 0 }, + { gMonIconPalettes[1], POKE_ICON_BASE_PAL_TAG + 1 }, + { gMonIconPalettes[2], POKE_ICON_BASE_PAL_TAG + 2 }, + +// There are only 3 actual palettes. The following are unused +// and don't point to valid data. + { gMonIconPalettes[3], POKE_ICON_BASE_PAL_TAG + 3 }, + { gMonIconPalettes[4], POKE_ICON_BASE_PAL_TAG + 4 }, + { gMonIconPalettes[5], POKE_ICON_BASE_PAL_TAG + 5 }, +}; + +const struct OamData sMonIconOamData = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0 +}; + +// fastest to slowest + +static const union AnimCmd sAnim_0[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sAnim_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sAnim_2[] = +{ + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sAnim_3[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sAnim_4[] = +{ + ANIMCMD_FRAME(0, 29), + ANIMCMD_FRAME(0, 29), // frame 0 is repeated + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const sMonIconAnims[] = +{ + sAnim_0, + sAnim_1, + sAnim_2, + sAnim_3, + sAnim_4, +}; + +static const union AffineAnimCmd sAffineAnim_0[] = +{ + AFFINEANIMCMD_FRAME(0, 0, 0, 10), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd sAffineAnim_1[] = +{ + AFFINEANIMCMD_FRAME(-2, -2, 0, 122), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const sMonIconAffineAnims[] = +{ + sAffineAnim_0, + sAffineAnim_1, +}; + +const u16 sSpriteImageSizes[3][4] = +{ + // square + { + 0x20, // 1×1 + 0x80, // 2×2 + 0x200, // 4×4 + 0x800, // 8×8 + }, + + // horizontal rectangle + { + 0x40, // 2×1 + 0x80, // 4×1 + 0x100, // 4×2 + 0x400, // 8×4 + }, + + // vertical rectangle + { + 0x40, // 1×2 + 0x80, // 1×4 + 0x100, // 2×4 + 0x400, // 4×8 + }, +}; diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c index 1758fba32e..fe3b3e8dd8 100644 --- a/src/pokemon_size_record.c +++ b/src/pokemon_size_record.c @@ -1,7 +1,7 @@ #include "global.h" #include "pokemon_size_record.h" #include "event_data.h" -#include "species.h" +#include "constants/species.h" #include "string_util.h" #include "text.h" #include "pokemon.h" @@ -109,13 +109,13 @@ static void FormatMonSizeRecord(u8 *string, u32 size) static u8 CompareMonSize(u16 species, u16 *sizeRecord) { - if (gScriptResult == 0xFF) + if (gSpecialVar_Result == 0xFF) { return 0; } else { - struct Pokemon *pkmn = &gPlayerParty[gScriptResult]; + struct Pokemon *pkmn = &gPlayerParty[gSpecialVar_Result]; if (GetMonData(pkmn, MON_DATA_IS_EGG) == TRUE || GetMonData(pkmn, MON_DATA_SPECIES) != species) { @@ -173,7 +173,7 @@ void CompareSeedotSize(void) { u16 *sizeRecord = GetVarPointer(VAR_SEEDOT_SIZE_RECORD); - gScriptResult = CompareMonSize(SPECIES_SEEDOT, sizeRecord); + gSpecialVar_Result = CompareMonSize(SPECIES_SEEDOT, sizeRecord); } void InitLotadSizeRecord(void) @@ -192,7 +192,7 @@ void CompareLotadSize(void) { u16 *sizeRecord = GetVarPointer(VAR_LOTAD_SIZE_RECORD); - gScriptResult = CompareMonSize(SPECIES_LOTAD, sizeRecord); + gSpecialVar_Result = CompareMonSize(SPECIES_LOTAD, sizeRecord); } void GiveGiftRibbonToParty(u8 index, u8 ribbonId) @@ -217,6 +217,6 @@ void GiveGiftRibbonToParty(u8 index, u8 ribbonId) } } if (gotRibbon) - FlagSet(SYS_RIBBON_GET); + FlagSet(FLAG_SYS_RIBBON_GET); } } diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 3e409244c4..7f8c24ab72 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -1,15 +1,189 @@ - -// Includes #include "global.h" - -// Static type declarations - -// Static RAM declarations +#include "pokemon_storage_system.h" +#include "pokemon.h" +#include "constants/species.h" +#include "event_data.h" +#include "string_util.h" +#include "text.h" +#include "strings.h" +#include "window.h" IWRAM_DATA u8 gUnknown_03000F78[0x188]; -// Static ROM declarations +struct OptionAndDescription +{ + const u8 *optionTxt; + const u8 *descriptionTxt; +}; -// .rodata +// const rom data +const struct OptionAndDescription gUnknown_085716C0[] = +{ + {gText_WithdrawPokemon, gText_WithdrawMonDescription}, + {gText_DepositPokemon, gText_DepositMonDescription}, + {gText_MovePokemon, gText_MoveMonDescription}, + {gText_MoveItems, gText_MoveItemsDescription}, + {gText_SeeYa, gText_SeeYaDescription} +}; -// .text +const struct WindowTemplate gUnknown_085716E8 = {0, 1, 1, 0x11, 0xA, 0xF, 1}; + +static const union AnimCmd sSpriteAnim_85716F0[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_85716F8[] = +{ + ANIMCMD_FRAME(4, 5), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8571700[] = +{ + ANIMCMD_FRAME(6, 5), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8571708[] = +{ + ANIMCMD_FRAME(10, 5), + ANIMCMD_END +}; + +const union AnimCmd *const sSpriteAnimTable_8571710[] = +{ + sSpriteAnim_85716F0, + sSpriteAnim_85716F8, + sSpriteAnim_8571700, + sSpriteAnim_8571708 +}; + +static const union AffineAnimCmd sSpriteAffineAnim_8571720[] = +{ + AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const sSpriteAffineAnimTable_8571730[] = +{ + sSpriteAffineAnim_8571720 +}; + +const u8 gUnknown_08571734[] = {4, 0xF, 0xE}; +const u8 gUnknown_08571737[] = _("/30"); + +// code +u8 CountMonsInBox(u8 boxId) +{ + u16 i, count; + + for (i = 0, count = 0; i < IN_BOX_COUNT; i++) + { + if (GetBoxMonDataFromAnyBox(boxId, i, MON_DATA_SPECIES) != SPECIES_NONE) + count++; + } + + return count; +} + +s16 GetFirstFreeBoxSpot(u8 boxId) +{ + u16 i; + + for (i = 0; i < IN_BOX_COUNT; i++) + { + if (GetBoxMonDataFromAnyBox(boxId, i, MON_DATA_SPECIES) == SPECIES_NONE) + return i; + } + + return -1; // all spots are taken +} + +u8 CountPartyNonEggMons(void) +{ + u16 i, count; + + for (i = 0, count = 0; i < PARTY_SIZE; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) != SPECIES_NONE + && !GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG)) + { + count++; + } + } + + return count; +} + +u8 CountPartyAliveNonEggMonsExcept(u8 slotToIgnore) +{ + u16 i, count; + + for (i = 0, count = 0; i < PARTY_SIZE; i++) + { + if (i != slotToIgnore + && GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) != SPECIES_NONE + && !GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) + && GetMonData(&gPlayerParty[i], MON_DATA_HP) != 0) + { + count++; + } + } + + return count; +} + +u16 CountPartyAliveNonEggMons_IgnoreVar0x8004Slot(void) +{ + return CountPartyAliveNonEggMonsExcept(gSpecialVar_0x8004); +} + +u8 CountPartyMons(void) +{ + u16 i, count; + + for (i = 0, count = 0; i < PARTY_SIZE; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) != SPECIES_NONE) + { + count++; + } + } + + return count; +} + +static u8 *StringCopyAndFillWithSpaces(u8 *dst, const u8 *src, u16 n) +{ + u8 *str; + + for (str = StringCopy(dst, src); str < dst + n; str++) + *str = CHAR_SPACE; + + *str = EOS; + return str; +} + +/* can't match +static void sub_80C7128(u16 *dst, u16 dstToAdd, u16 dstToMul, const u16 *src, u16 srcToAdd, u16 srcToMul, u32 size, u16 count, u16 srcBy) +{ + u16 i; + + size <<= 0x11; + dst += (dstToMul * 32) + dstToAdd; + src += (srcToMul * srcBy) + srcToAdd; + + i = 0; + if (i < count) + { + size >>= 1; + for (i = 0; i < count; i++) + { + CpuSet(src, dst, size >> 0x10); + dst += 0x20; + src += srcBy; + } + } +}*/ diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c old mode 100755 new mode 100644 index 838e91d90f..8c9e7a8a02 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -3,22 +3,24 @@ #include "bg.h" #include "decompress.h" #include "item.h" -#include "items.h" +#include "constants/items.h" #include "link.h" #include "m4a.h" #include "main.h" #include "malloc.h" -#include "moves.h" +#include "constants/moves.h" #include "palette.h" #include "pokemon.h" -#include "songs.h" +#include "constants/songs.h" #include "sound.h" -#include "species.h" +#include "constants/species.h" #include "sprite.h" +#include "unk_text_util.h" #include "string_util.h" #include "task.h" #include "text.h" #include "window.h" +#include "event_data.h" struct ContestMove { @@ -35,25 +37,22 @@ struct ContestEffect u8 jam; }; - - extern struct UnkSummaryStruct* gUnknown_0203CF1C; extern struct BgTemplate gUnknown_0861CBB4; extern u8 gUnknown_0203CF20; -extern struct MusicPlayerInfo gMPlay_BGM; +extern struct MusicPlayerInfo gMPlayInfo_BGM; extern s8 gUnknown_0861CC1C[]; extern u8 gUnknown_08329D22[]; extern u8 gUnknown_0203CF21; -extern u16 gSpecialVar_0x8005; extern struct UnkStruct_61CC04 gUnknown_0861CC04; extern struct UnkStruct_61CC04 gUnknown_0861CC10; extern struct UnkStruct_61CC04 gUnknown_0861CBEC; extern struct UnkStruct_61CC04 gUnknown_0861CBF8; -extern u16 gUnknown_08DC3CD4[]; +extern u16 gSummaryScreenWindow_Tilemap[]; extern struct ContestMove gContestMoves[]; extern struct ContestEffect gContestEffects[]; extern struct WindowTemplate gUnknown_0861CC24; -extern struct TextColor gUnknown_0861CD2C[]; +extern u8 gUnknown_0861CD2C[][3]; extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; extern u8 gText_MaleSymbol[]; extern u8 gText_FemaleSymbol[]; @@ -72,9 +71,9 @@ extern void do_scheduled_bg_tilemap_copies_to_vram(void); extern u8 sub_81221EC(); extern u8 sub_81221AC(); extern void SetVBlankHBlankCallbacksToNull(); -extern void sub_8121DA0(); +extern void ResetVramOamAndBgCntRegs(); extern void clear_scheduled_bg_copies_to_vram(); -extern void remove_some_task(); +extern void ScanlineEffect_Stop(); extern void ResetBgsAndClearDma3BusyFlags(u32 leftoverFireRedLeafGreenVariable); extern void ShowBg(u8 a); extern void SetGpuReg(u8 regOffset, u16 value); @@ -92,12 +91,11 @@ extern struct CompressedSpriteSheet gUnknown_0861D074; extern struct CompressedSpriteSheet gUnknown_0861D0F8; extern struct CompressedSpritePalette gUnknown_0861D100; extern struct CompressedSpritePalette gUnknown_0861D07C; -extern u8 gUnknown_08D97B84; +extern u8 gMoveTypes_Pal; extern u8 gUnknown_08D97D0C; extern void reset_temp_tile_data_buffers(); extern void decompress_and_copy_tile_data_to_vram(u8 a, void* tiledata, u8 b, u8 c, u8 d); extern u8 free_temp_tile_data_buffers_if_possible(); -extern void sub_8069004(struct BoxPokemon* a, void* b); extern void sub_81C1E20(u8 taskId); extern u8 *GetMonNickname(struct Pokemon *mon, u8 *dest); extern u16 SpeciesToPokedexNum(u16 species); @@ -162,14 +160,12 @@ extern struct BattleMove gBattleMoves[]; extern u32 ChangeBgX(u8 bg, u32 value, u8 op); extern void sub_8199C30(u8 a, u8 b, u8 c, u8 d, u8 e, u8 f); -extern void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, struct TextColor* colors, s8 speed, u8 *str); +extern void AddTextPrinterParameterized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const u8* colors, s8 speed, u8 *str); extern s32 GetStringCenterAlignXOffset(u8 fontId, u8 *str, s32 totalWidth); extern s32 GetStringRightAlignXOffset(u8 fontId, u8 *str, s32 totalWidth); extern bool8 sub_81A6BF4(); extern bool8 sub_81B9E94(); -extern void sub_81AFBF0(); -extern u8 sub_81AFC0C(u8 a, u8 *b); -extern void sub_81AFC28(u8 *a, u8 *b); +extern void UnkTextUtil_Reset(); extern void sub_8124610(u8 *a, u8 b); extern int GetPlayerIDAsU32(); extern u8 GetCurrentPpToMaxPpState(u8 a, u8 b); @@ -195,7 +191,7 @@ void sub_81C4A88(); void sub_81C4280(); void sub_81C0510(u8 taskId); void sub_81C171C(u8 taskId); -void sub_8121E10(); +void ResetAllBgsCoordinates(); u8 sub_81B205C(struct Pokemon* a); void sub_81C1DA4(u16 a, s16 b); void sub_81C1EFC(u16 a, s16 b, u16 c); @@ -452,12 +448,12 @@ bool8 sub_81BFB10(void) { case 0: SetVBlankHBlankCallbacksToNull(); - sub_8121DA0(); + ResetVramOamAndBgCntRegs(); clear_scheduled_bg_copies_to_vram(); gMain.state++; break; case 1: - remove_some_task(); + ScanlineEffect_Stop(); gMain.state++; break; case 2: @@ -580,7 +576,7 @@ void sub_81BFE24() SetBgTilemapBuffer(1, &gUnknown_0203CF1C->unkTilemap2); SetBgTilemapBuffer(2, &gUnknown_0203CF1C->unkTilemap1); SetBgTilemapBuffer(3, &gUnknown_0203CF1C->unkTilemap0); - sub_8121E10(); + ResetAllBgsCoordinates(); schedule_bg_copy_tilemap_to_vram(1); schedule_bg_copy_tilemap_to_vram(2); schedule_bg_copy_tilemap_to_vram(3); @@ -650,7 +646,7 @@ u8 sub_81BFEB0() gUnknown_0203CF1C->unk40F0++; break; case 12: - LoadCompressedPalette(&gUnknown_08D97B84, 0x1D0, 0x60); + LoadCompressedPalette(&gMoveTypes_Pal, 0x1D0, 0x60); gUnknown_0203CF1C->unk40F0 = 0; return 1; } @@ -667,7 +663,7 @@ void sub_81C0098(struct Pokemon *mon) else { struct BoxPokemon *boxMon = gUnknown_0203CF1C->unk0->boxMon; - sub_8069004(&boxMon[gUnknown_0203CF1C->unk40BE], mon); + BoxMonToMon(&boxMon[gUnknown_0203CF1C->unk40BE], mon); } } @@ -795,7 +791,7 @@ void sub_81C0484(u8 taskId) ResetSpriteData(); FreeAllSpritePalettes(); StopCryAndClearCrySongs(); - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); if (gMonSpritesGfxPtr == 0) sub_806F47C(0); sub_81C0434(); @@ -939,7 +935,7 @@ void sub_81C0704(u8 taskId) gUnknown_0203CF1C->unk40D3 = sub_81C45F4(&gUnknown_0203CF1C->currentMon, &data[1]); if (gUnknown_0203CF1C->unk40D3 == 0xFF) return; - gSprites[gUnknown_0203CF1C->unk40D3].data2 = 1; + gSprites[gUnknown_0203CF1C->unk40D3].data[2] = 1; sub_81C0E24(); data[1] = 0; break; @@ -954,7 +950,7 @@ void sub_81C0704(u8 taskId) sub_81C2524(); break; case 12: - gSprites[gUnknown_0203CF1C->unk40D3].data2 = 0; + gSprites[gUnknown_0203CF1C->unk40D3].data[2] = 0; break; default: if (sub_81221EC() == 0 && FuncIsActiveTask(sub_81C20F0) == 0) @@ -1810,7 +1806,7 @@ void sub_81C171C(u8 taskId) void sub_81C174C(u8 taskId) { s16* data = gTasks[taskId].data; - + if (sub_81221EC() != 1) { if (gPaletteFade.active != 1) @@ -1857,7 +1853,7 @@ void sub_81C174C(u8 taskId) gUnknown_0203CF21 = 4; gSpecialVar_0x8005 = 4; sub_81C044C(taskId); - } + } } } } @@ -1907,7 +1903,7 @@ void sub_81C1940(u8 taskId) { if (gUnknown_0203CF1C->unk40C0 != 2) { - + ClearWindowTilemap(19); if (!gSprites[gUnknown_0203CF1C->unk40D5].invisible) ClearWindowTilemap(13); @@ -2224,7 +2220,7 @@ void sub_81C1E20(u8 taskId) { if (gUnknown_0203CF1C->unk40C0 == 2) PutWindowTilemap(14); - + } else { @@ -2277,7 +2273,7 @@ void sub_81C1F80(u8 taskId) PutWindowTilemap(15); sub_81C240C(data[2]); } - else + else { if (!gSprites[gUnknown_0203CF1C->unk40D5].invisible) { @@ -2345,18 +2341,18 @@ void sub_81C2194(u16 *a, u16 b, u8 c) { for (i = 0; i < 20; i++) { - a[(i + var) << 1] = gUnknown_08DC3CD4[i] + b; - a[((i + var) << 1) + 0x40] = gUnknown_08DC3CD4[i] + b; - a[((i + var) << 1) + 0x80] = gUnknown_08DC3CD4[i + 20] + b; + a[(i + var) << 1] = gSummaryScreenWindow_Tilemap[i] + b; + a[((i + var) << 1) + 0x40] = gSummaryScreenWindow_Tilemap[i] + b; + a[((i + var) << 1) + 0x80] = gSummaryScreenWindow_Tilemap[i + 20] + b; } } else { for (i = 0; i < 20; i++) { - a[(i + var)] = gUnknown_08DC3CD4[i + 20] + b; - a[((i + var)) + 0x40] = gUnknown_08DC3CD4[i + 40] + b; - a[((i + var)) + 0x80] = gUnknown_08DC3CD4[i + 40] + b; + a[(i + var)] = gSummaryScreenWindow_Tilemap[i + 20] + b; + a[((i + var)) + 0x40] = gSummaryScreenWindow_Tilemap[i + 40] + b; + a[((i + var)) + 0x80] = gSummaryScreenWindow_Tilemap[i + 40] + b; } } } @@ -2374,7 +2370,7 @@ void sub_81C2194(u16 *a, u16 b, u8 c) cmp r2, 0\n\ bne _081C21E4\n\ movs r3, 0\n\ - ldr r5, =gUnknown_08DC3CD4\n\ + ldr r5, =gSummaryScreenWindow_Tilemap\n\ _081C21A8:\n\ adds r2, r7, r3\n\ lsls r2, 1\n\ @@ -2404,7 +2400,7 @@ _081C21A8:\n\ .pool\n\ _081C21E4:\n\ movs r3, 0\n\ - ldr r5, =gUnknown_08DC3CD4\n\ + ldr r5, =gSummaryScreenWindow_Tilemap\n\ _081C21E8:\n\ adds r1, r7, r3\n\ lsls r1, 1\n\ @@ -2559,7 +2555,7 @@ void sub_81C2554() void sub_81C25A4(u8 a, u8 *b, u8 c, u8 d, u8 e, u8 f) { - AddTextPrinterParametrized2(a, 1, c, d, 0, e, &gUnknown_0861CD2C[f], 0, b); + AddTextPrinterParameterized2(a, 1, c, d, 0, e, gUnknown_0861CD2C[f], 0, b); } void sub_81C25E8() @@ -2994,12 +2990,12 @@ void sub_81C307C() { struct PokeSummary *sum = &gUnknown_0203CF1C->summary; u8 *text; - sub_81AFBF0(); - sub_81AFC0C(0, gUnknown_0861CE74); - sub_81AFC0C(1, gUnknown_0861CE7B); + UnkTextUtil_Reset(); + UnkTextUtil_SetPtrI(0, gUnknown_0861CE74); + UnkTextUtil_SetPtrI(1, gUnknown_0861CE7B); sub_81C31C0(); if (sub_81A6BF4() == TRUE || sub_81B9E94() == TRUE || sub_81C3304() == TRUE) - sub_81AFC28(gStringVar4, gText_XNature); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gText_XNature); else { u8 *alloced1 = Alloc(32); @@ -3008,7 +3004,7 @@ void sub_81C307C() if (sum->metLocation <= 0xD4) { sub_8124610(alloced2, sum->metLocation); - sub_81AFC0C(4, alloced2); + UnkTextUtil_SetPtrI(4, alloced2); } if (sub_81C3220() == 1) { @@ -3023,7 +3019,7 @@ void sub_81C307C() text = (sum->metLocation > 0xD4) ? gText_XNatureObtainedInTrade : gText_XNatureProbablyMetAt; else text = gText_XNatureObtainedInTrade; - sub_81AFC28(gStringVar4, text); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, text); Free(alloced1); Free(alloced2); } @@ -3037,8 +3033,8 @@ void sub_81C3194() void sub_81C31C0() { struct UnkSummaryStruct *sumStruct = gUnknown_0203CF1C; - sub_81AFC0C(2, gNatureNamePointers[sumStruct->summary.nature]); - sub_81AFC0C(5, gText_EmptyString5); + UnkTextUtil_SetPtrI(2, gNatureNamePointers[sumStruct->summary.nature]); + UnkTextUtil_SetPtrI(5, gText_EmptyString5); } void sub_81C31F0(u8 *a) @@ -3047,7 +3043,7 @@ void sub_81C31F0(u8 *a) if (level == 0) level = 5; ConvertIntToDecimalStringN(a, level, 0, 3); - sub_81AFC0C(3, a); + UnkTextUtil_SetPtrI(3, a); } u8 sub_81C3220() @@ -3302,12 +3298,12 @@ void sub_81C3710() ConvertIntToDecimalStringN(alloced2, gUnknown_0203CF1C->summary.maxHP, 1, 3); ConvertIntToDecimalStringN(alloced3, gUnknown_0203CF1C->summary.atk, 1, 7); ConvertIntToDecimalStringN(alloced4, gUnknown_0203CF1C->summary.def, 1, 7); - sub_81AFBF0(); - sub_81AFC0C(0, alloced1); - sub_81AFC0C(1, alloced2); - sub_81AFC0C(2, alloced3); - sub_81AFC0C(3, alloced4); - sub_81AFC28(gStringVar4, gUnknown_0861CE82); + UnkTextUtil_Reset(); + UnkTextUtil_SetPtrI(0, alloced1); + UnkTextUtil_SetPtrI(1, alloced2); + UnkTextUtil_SetPtrI(2, alloced3); + UnkTextUtil_SetPtrI(3, alloced4); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_0861CE82); Free(alloced1); Free(alloced2); Free(alloced3); @@ -3324,11 +3320,11 @@ void sub_81C3808() ConvertIntToDecimalStringN(gStringVar1, gUnknown_0203CF1C->summary.spatk, 1, 3); ConvertIntToDecimalStringN(gStringVar2, gUnknown_0203CF1C->summary.spdef, 1, 3); ConvertIntToDecimalStringN(gStringVar3, gUnknown_0203CF1C->summary.speed, 1, 3); - sub_81AFBF0(); - sub_81AFC0C(0, gStringVar1); - sub_81AFC0C(1, gStringVar2); - sub_81AFC0C(2, gStringVar3); - sub_81AFC28(gStringVar4, gUnknown_0861CE8E); + UnkTextUtil_Reset(); + UnkTextUtil_SetPtrI(0, gStringVar1); + UnkTextUtil_SetPtrI(1, gStringVar2); + UnkTextUtil_SetPtrI(2, gStringVar3); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_0861CE8E); } void sub_81C3890() @@ -3437,10 +3433,10 @@ void sub_81C3B08(u8 a) sub_81C25A4(r8, gMoveNames[move], 0, (a<<4) + 1, 0, 1); ConvertIntToDecimalStringN(gStringVar1, r10->summary.pp[a], 1, 2); ConvertIntToDecimalStringN(gStringVar2, r6, 1, 2); - sub_81AFBF0(); - sub_81AFC0C(0, gStringVar1); - sub_81AFC0C(1, gStringVar2); - sub_81AFC28(gStringVar4, gUnknown_0861CE97); + UnkTextUtil_Reset(); + UnkTextUtil_SetPtrI(0, gStringVar1); + UnkTextUtil_SetPtrI(1, gStringVar2); + UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_0861CE97); text = gStringVar4; r5 = GetCurrentPpToMaxPpState(r10->summary.pp[a], r6) + 9; offset = GetStringRightAlignXOffset(1, text, 0x2C); @@ -3532,17 +3528,17 @@ void sub_81C3B08(u8 a) movs r2, 0x1\n\ movs r3, 0x2\n\ bl ConvertIntToDecimalStringN\n\ - bl sub_81AFBF0\n\ + bl UnkTextUtil_Reset\n\ movs r0, 0\n\ mov r1, r8\n\ - bl sub_81AFC0C\n\ + bl UnkTextUtil_SetPtrI\n\ movs r0, 0x1\n\ adds r1, r4, 0\n\ - bl sub_81AFC0C\n\ + bl UnkTextUtil_SetPtrI\n\ ldr r4, =gStringVar4\n\ ldr r1, =gUnknown_0861CE97\n\ adds r0, r4, 0\n\ - bl sub_81AFC28\n\ + bl UnkTextUtil_StringExpandPlaceholders\n\ adds r7, r4, 0\n\ ldrb r0, [r5]\n\ adds r1, r6, 0\n\ @@ -3645,7 +3641,7 @@ void sub_81C3D54(u8 taskId) { s16 *data = gTasks[taskId].data; s16 dataa = data[0] - 1; - + switch (dataa) { case 0: @@ -3676,4 +3672,4 @@ void sub_81C3D54(u8 taskId) return; } data[0]++; -} \ No newline at end of file +} diff --git a/src/random.c b/src/random.c new file mode 100644 index 0000000000..f2f0ede58b --- /dev/null +++ b/src/random.c @@ -0,0 +1,32 @@ +#include "global.h" +#include "random.h" + +// The number 1103515245 comes from the example implementation of rand and srand +// in the ISO C standard. + +EWRAM_DATA static u8 sUnknown = 0; +EWRAM_DATA static u32 sRandCount = 0; + +u16 Random(void) +{ + gRngValue = 1103515245 * gRngValue + 24691; + sRandCount++; + return gRngValue >> 16; +} + +void SeedRng(u16 seed) +{ + gRngValue = seed; + sUnknown = 0; +} + +void SeedRng2(u16 seed) +{ + gRng2Value = seed; +} + +u16 Random2(void) +{ + gRng2Value = 1103515245 * gRng2Value + 24691; + return gRng2Value >> 16; +} diff --git a/src/rayquaza_scene.c b/src/rayquaza_scene.c new file mode 100644 index 0000000000..25b9ccd533 --- /dev/null +++ b/src/rayquaza_scene.c @@ -0,0 +1,2932 @@ +#include "global.h" +#include "rayquaza_scene.h" +#include "sprite.h" +#include "task.h" +#include "graphics.h" +#include "bg.h" +#include "main.h" +#include "malloc.h" +#include "palette.h" +#include "scanline_effect.h" +#include "menu.h" +#include "menu_helpers.h" +#include "gpu_regs.h" +#include "decompress.h" +#include "sound.h" +#include "constants/songs.h" +#include "constants/species.h" +#include "constants/rgb.h" +#include "random.h" + +struct RaySceneStruct +{ + MainCallback callback; + u8 tilemapBuffers[4][0x800]; + u16 field_2004; // set but unused + u8 animId; + bool8 onlyOneAnim; + s16 field_2008; + s16 field_200A; + u8 unusedFields[12]; // completely unused +}; + +// EWRAM vars +static EWRAM_DATA struct RaySceneStruct *sRayScene = NULL; + +// this file's functions +static void Task_DuoFightAnim(u8 taskId); +static void Task_RayTakesFlightAnim(u8 taskId); +static void Task_RayDescendsAnim(u8 taskId); +static void Task_RayChargesAnim(u8 taskId); +static void Task_RayChasesAwayAnim(u8 taskId); +static void Task_HandleRayDescends(u8 taskId); +static void Task_RayDescendsEnd(u8 taskId); +static void Task_HandleRayCharges(u8 taskId); +static void sub_81D8AD8(u8 taskId); +static void sub_81D8B2C(u8 taskId); +static void Task_RayChargesEnd(u8 taskId); +static void Task_HandleRayChasesAway(u8 taskId); +static void sub_81D8FB0(u8 taskId); +static void sub_81D7228(u8 taskId); +static void Task_HandleDuoFight(u8 taskId); +static void sub_81D752C(u8 taskId); +static void Task_DuoFightEnd(u8 taskId); +static void Task_HandleRayTakesFlight(u8 taskId); +static void sub_81D81A4(u8 taskId); +static void Task_RayTakesFlightEnd(u8 taskId); +static void sub_81D94D4(u8 taskId); +static void sub_81D93D8(u8 taskId); +static void Task_RayChasesAwayEnd(u8 taskId); +static void sub_81D90A8(u8 taskId); +static void sub_81D98B4(u8 taskId); +static void Task_EndAfterFadeScreen(u8 taskId); +static void CB2_InitRayquazaScene(void); +static void CB2_RayquazaScene(void); +static void sub_81D750C(void); +static void sub_81D7438(void); +static void sub_81D7480(void); +static void sub_81D74C8(void); +static void sub_81D8BB4(void); +static void sub_81D6A20(struct Sprite *sprite); +static void sub_81D6D20(struct Sprite *sprite); +static void sub_81D7860(struct Sprite *sprite); +static void sub_81D7D14(struct Sprite *sprite); +static void sub_81D7700(struct Sprite *sprite); +static void sub_81D7A60(struct Sprite *sprite); +static void sub_81D874C(struct Sprite *sprite); +static void sub_81D9338(struct Sprite *sprite); +static void sub_81D9420(struct Sprite *sprite); +static void sub_81D8260(struct Sprite *sprite); +static void sub_81D961C(struct Sprite *sprite); +static void sub_81D97E0(struct Sprite *sprite); +static void sub_81D9528(struct Sprite *sprite); +static u8 sub_81D7664(void); +static u8 sub_81D78BC(void); +static u8 sub_81D86CC(void); +static void DuoFightEnd(u8 taskId, s8 palDelay); +static void sub_81D9868(struct Sprite *sprite, u8 animNum, s16 x, s16 y); + +// const rom data +static const TaskFunc sTasksForAnimations[] = +{ + Task_DuoFightAnim, // RAY_ANIM_DUO_FIGHT_PRE + Task_DuoFightAnim, // RAY_ANIM_DUO_FIGHT + Task_RayTakesFlightAnim, // RAY_ANIM_TAKES_FLIGHT + Task_RayDescendsAnim, // RAY_ANIM_DESCENDS + Task_RayChargesAnim, // RAY_ANIM_CHARGES + Task_RayChasesAwayAnim, // RAY_ANIM_CHACES_AWAY + Task_EndAfterFadeScreen // RAY_ANIM_END +}; + +static const struct OamData sOamData_862A6BC = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_862A6C4 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_862A6CC = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_862A6D4 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_862A6DC = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_862A6E4 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 2, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_862A6EC = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_862A6F4 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sSpriteAnim_862A6FC[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(64, 30), + ANIMCMD_FRAME(128, 30), + ANIMCMD_FRAME(64, 30), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sSpriteAnim_862A710[] = +{ + ANIMCMD_FRAME(192, 30), + ANIMCMD_FRAME(256, 30), + ANIMCMD_FRAME(320, 30), + ANIMCMD_FRAME(256, 30), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const sSpriteAnimTable_862A724[] = +{ + sSpriteAnim_862A6FC, + sSpriteAnim_862A710 +}; + +static const struct SpriteTemplate sUnknown_0862A72C = +{ + .tileTag = 30505, + .paletteTag = 30505, + .oam = &sOamData_862A6BC, + .anims = sSpriteAnimTable_862A724, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const union AnimCmd sSpriteAnim_862A744[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_862A74C[] = +{ + sSpriteAnim_862A744 +}; + +static const struct SpriteTemplate sUnknown_0862A750 = +{ + .tileTag = 30506, + .paletteTag = 30505, + .oam = &sOamData_862A6C4, + .anims = sSpriteAnimTable_862A74C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const union AnimCmd sSpriteAnim_862A768[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_862A770[] = +{ + sSpriteAnim_862A768 +}; + +static const struct SpriteTemplate sUnknown_0862A774 = +{ + .tileTag = 30507, + .paletteTag = 30505, + .oam = &sOamData_862A6CC, + .anims = sSpriteAnimTable_862A770, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const union AnimCmd sSpriteAnim_862A78C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A794[] = +{ + ANIMCMD_FRAME(8, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A79C[] = +{ + ANIMCMD_FRAME(16, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A7A4[] = +{ + ANIMCMD_FRAME(24, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A7AC[] = +{ + ANIMCMD_FRAME(32, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A7B4[] = +{ + ANIMCMD_FRAME(40, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A7BC[] = +{ + ANIMCMD_FRAME(48, 36), + ANIMCMD_FRAME(64, 36), + ANIMCMD_FRAME(80, 36), + ANIMCMD_FRAME(64, 36), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sSpriteAnim_862A7D0[] = +{ + ANIMCMD_FRAME(56, 36), + ANIMCMD_FRAME(72, 36), + ANIMCMD_FRAME(88, 36), + ANIMCMD_FRAME(72, 36), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sSpriteAnim_862A7E4[] = +{ + ANIMCMD_FRAME(96, 36), + ANIMCMD_FRAME(104, 36), + ANIMCMD_FRAME(112, 36), + ANIMCMD_FRAME(104, 36), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const sSpriteAnimTable_862A7F8[] = +{ + sSpriteAnim_862A78C, + sSpriteAnim_862A794, + sSpriteAnim_862A79C, + sSpriteAnim_862A7A4, + sSpriteAnim_862A7AC, + sSpriteAnim_862A7B4, + sSpriteAnim_862A7BC, + sSpriteAnim_862A7D0, + sSpriteAnim_862A7E4 +}; + +static const struct SpriteTemplate sUnknown_0862A81C = +{ + .tileTag = 30508, + .paletteTag = 30508, + .oam = &sOamData_862A6D4, + .anims = sSpriteAnimTable_862A7F8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const union AnimCmd sSpriteAnim_862A834[] = +{ + ANIMCMD_FRAME(0, 36), + ANIMCMD_FRAME(2, 36), + ANIMCMD_FRAME(4, 36), + ANIMCMD_FRAME(2, 36), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const sSpriteAnimTable_862A848[] = +{ + sSpriteAnim_862A834 +}; + +static const struct SpriteTemplate sUnknown_0862A84C = +{ + .tileTag = 30509, + .paletteTag = 30508, + .oam = &sOamData_862A6DC, + .anims = sSpriteAnimTable_862A848, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct SpriteTemplate sUnknown_0862A864 = +{ + .tileTag = 30510, + .paletteTag = 30508, + .oam = &sOamData_862A6C4, + .anims = sSpriteAnimTable_862A74C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct ScanlineEffectParams sUnknown_0862A87C = +{ + .dmaDest = (vu16 *)REG_ADDR_BG1HOFS, + .dmaControl = 0xA2600001, + .initState = 1 +}; + +static const struct BgTemplate sUnknown_0862A888[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, +}; + +static const union AnimCmd sSpriteAnim_862A894[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(64, 20), + ANIMCMD_FRAME(128, 20), + ANIMCMD_FRAME(64, 20), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sSpriteAnim_862A8A8[] = +{ + ANIMCMD_FRAME(192, 20), + ANIMCMD_FRAME(256, 20), + ANIMCMD_FRAME(320, 20), + ANIMCMD_FRAME(256, 20), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const sSpriteAnimTable_862A8BC[] = +{ + sSpriteAnim_862A894, + sSpriteAnim_862A8A8 +}; + +static const struct CompressedSpriteSheet sUnknown_0862A8C4 = +{ + gRaySceneGroudon_Gfx, 0x3000, 30505 +}; + +static const struct CompressedSpritePalette sUnknown_0862A8CC = +{ + gRaySceneGroudon_Pal, 30505 +}; + +static const struct SpriteTemplate sUnknown_0862A8D4 = +{ + .tileTag = 30505, + .paletteTag = 30505, + .oam = &sOamData_862A6BC, + .anims = sSpriteAnimTable_862A8BC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const union AnimCmd sSpriteAnim_862A8EC[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_862A8F4[] = +{ + sSpriteAnim_862A8EC +}; + +static const struct CompressedSpriteSheet sUnknown_0862A8F8 = +{ + gRaySceneGroudon2_Gfx, 0x200, 30506 +}; + +static const struct SpriteTemplate sUnknown_0862A900 = +{ + .tileTag = 30506, + .paletteTag = 30505, + .oam = &sOamData_862A6C4, + .anims = sSpriteAnimTable_862A8F4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const union AnimCmd sSpriteAnim_862A918[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_862A920[] = +{ + sSpriteAnim_862A918 +}; + +static const struct CompressedSpriteSheet sUnknown_0862A924 = +{ + gRaySceneGroudon3_Gfx, 0x400, 30507 +}; + +static const struct SpriteTemplate sUnknown_0862A92C = +{ + .tileTag = 30507, + .paletteTag = 30505, + .oam = &sOamData_862A6CC, + .anims = sSpriteAnimTable_862A920, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const union AnimCmd sSpriteAnim_862A944[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A94C[] = +{ + ANIMCMD_FRAME(8, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A954[] = +{ + ANIMCMD_FRAME(16, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A95C[] = +{ + ANIMCMD_FRAME(24, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A964[] = +{ + ANIMCMD_FRAME(32, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A96C[] = +{ + ANIMCMD_FRAME(40, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A974[] = +{ + ANIMCMD_FRAME(48, 24), + ANIMCMD_FRAME(64, 24), + ANIMCMD_FRAME(80, 24), + ANIMCMD_FRAME(64, 24), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sSpriteAnim_862A988[] = +{ + ANIMCMD_FRAME(56, 24), + ANIMCMD_FRAME(72, 24), + ANIMCMD_FRAME(88, 24), + ANIMCMD_FRAME(72, 24), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sSpriteAnim_862A99C[] = +{ + ANIMCMD_FRAME(96, 24), + ANIMCMD_FRAME(104, 24), + ANIMCMD_FRAME(112, 24), + ANIMCMD_FRAME(104, 24), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const sSpriteAnimTable_862A9B0[] = +{ + sSpriteAnim_862A944, + sSpriteAnim_862A94C, + sSpriteAnim_862A954, + sSpriteAnim_862A95C, + sSpriteAnim_862A964, + sSpriteAnim_862A96C, + sSpriteAnim_862A974, + sSpriteAnim_862A988, + sSpriteAnim_862A99C +}; + +static const struct CompressedSpriteSheet sUnknown_0862A9D4 = +{ + gRaySceneKyogre_Gfx, 0xF00, 30508 +}; + +static const struct CompressedSpritePalette sUnknown_0862A9DC = +{ + gRaySceneKyogre_Pal, 30508 +}; + +static const struct SpriteTemplate sUnknown_0862A9E4 = +{ + .tileTag = 30508, + .paletteTag = 30508, + .oam = &sOamData_862A6D4, + .anims = sSpriteAnimTable_862A9B0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const union AnimCmd sSpriteAnim_862A9FC[] = +{ + ANIMCMD_FRAME(0, 24), + ANIMCMD_FRAME(2, 24), + ANIMCMD_FRAME(4, 24), + ANIMCMD_FRAME(2, 24), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const sSpriteAnimTable_862AA10[] = +{ + sSpriteAnim_862A9FC +}; + +static const struct CompressedSpriteSheet sUnknown_0862AA14 = +{ + gRaySceneKyogre2_Gfx, 0xC0, 30509 +}; + +static const struct SpriteTemplate sUnknown_0862AA1C = +{ + .tileTag = 30509, + .paletteTag = 30508, + .oam = &sOamData_862A6DC, + .anims = sSpriteAnimTable_862AA10, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct CompressedSpriteSheet sUnknown_0862AA34 = +{ + gRaySceneKyogre3_Gfx, 0x200, 30510 +}; + +static const struct SpriteTemplate sUnknown_0862AA3C = +{ + .tileTag = 30510, + .paletteTag = 30508, + .oam = &sOamData_862A6C4, + .anims = sSpriteAnimTable_862A8F4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct BgTemplate sUnknown_0862AA54[] = +{ + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 1, + .mapBaseIndex = 29, + .screenSize = 1, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + } +}; + +static const union AnimCmd sSpriteAnim_862AA60[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_862AA68[] = +{ + sSpriteAnim_862AA60 +}; + +static const union AffineAnimCmd sSpriteAffineAnim_862AA6C[] = +{ + AFFINEANIMCMD_FRAME(-64, -64, 0, 1), + AFFINEANIMCMD_FRAME(32, 32, 0, 14), + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_JUMP(0) +}; + +static const union AffineAnimCmd *const sSpriteAffineAnimTable_862AA8C[] = +{ + sSpriteAffineAnim_862AA6C +}; + +static const struct CompressedSpriteSheet sUnknown_0862AA90 = +{ + gRaySceneSmoke_Gfx, 0x100, 30555 +}; + +static const struct CompressedSpritePalette sUnknown_0862AA98 = +{ + gRaySceneSmoke_Pal, 30555 +}; + +static const struct SpriteTemplate sUnknown_0862AAA0 = +{ + .tileTag = 30555, + .paletteTag = 30555, + .oam = &sOamData_862A6D4, + .anims = sSpriteAnimTable_862AA68, + .images = NULL, + .affineAnims = sSpriteAffineAnimTable_862AA8C, + .callback = sub_81D8260, +}; + +static const s8 sUnknown_0862AAB8[][2] = +{ + {-1, 5}, + {-3, -4}, + {5, -3}, + {-7, 2}, + {-9, -1}, + {1, -5}, + {3, 4}, + {-5, 3}, + {7, -2}, + {9, 1} +}; + +static const struct BgTemplate sUnknown_0862AACC[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 2, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 1, + .mapBaseIndex = 28, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + } +}; + +static const union AnimCmd sSpriteAnim_862AADC[] = +{ + ANIMCMD_FRAME(0, 32), + ANIMCMD_FRAME(64, 32), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const sSpriteAnimTable_862AAE8[] = +{ + sSpriteAnim_862AADC +}; + +static const union AnimCmd sSpriteAnim_862AAEC[] = +{ + ANIMCMD_FRAME(0, 32), + ANIMCMD_FRAME(8, 32), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const sSpriteAnimTable_862AAF8[] = +{ + sSpriteAnim_862AAEC +}; + +static const struct CompressedSpriteSheet sUnknown_0862AAFC = +{ + gRaySceneRayquazaFly1_Gfx, 0x1000, 30556 +}; + +static const struct CompressedSpriteSheet sUnknown_0862AB04 = +{ + gRaySceneRayquazaTail_Gfx, 0x200, 30557 +}; + +static const struct CompressedSpritePalette sUnknown_0862AB0C = +{ + gRaySceneRayquaza_Pal, 30556 +}; + +static const struct SpriteTemplate sUnknown_0862AB14 = +{ + .tileTag = 30556, + .paletteTag = 30556, + .oam = &sOamData_862A6BC, + .anims = sSpriteAnimTable_862AAE8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct SpriteTemplate sUnknown_0862AB2C = +{ + .tileTag = 30557, + .paletteTag = 30556, + .oam = &sOamData_862A6E4, + .anims = sSpriteAnimTable_862AAF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct BgTemplate sUnknown_0862AB44[] = +{ + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 2, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 3, + .mapBaseIndex = 28, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + } +}; + +static const union AnimCmd sSpriteAnim_862AB54[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862AB5C[] = +{ + ANIMCMD_FRAME(0, 48), + ANIMCMD_FRAME(64, 32), + ANIMCMD_FRAME(0, 48), + ANIMCMD_FRAME(128, 32), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const sSpriteAnimTable_862AB70[] = +{ + sSpriteAnim_862AB54, + sSpriteAnim_862AB5C +}; + +static const union AnimCmd sSpriteAnim_862AB78[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_862AB80[] = +{ + sSpriteAnim_862AB78, +}; + +static const union AnimCmd sSpriteAnim_862AB84[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862AB8C[] = +{ + ANIMCMD_FRAME(16, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862AB94[] = +{ + ANIMCMD_FRAME(32, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_862AB9C[] = +{ + sSpriteAnim_862AB84, + sSpriteAnim_862AB8C, + sSpriteAnim_862AB94 +}; + +static const union AnimCmd sSpriteAnim_862ABA8[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862ABB0[] = +{ + ANIMCMD_FRAME(64, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862ABB8[] = +{ + ANIMCMD_FRAME(128, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862ABC0[] = +{ + ANIMCMD_FRAME(192, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_862ABC8[] = +{ + sSpriteAnim_862ABA8, + sSpriteAnim_862ABB0, + sSpriteAnim_862ABB8, + sSpriteAnim_862ABC0 +}; + +static const union AnimCmd sSpriteAnim_862ABD8[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862ABE0[] = +{ + ANIMCMD_FRAME(16, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862ABE8[] = +{ + ANIMCMD_FRAME(32, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862ABF0[] = +{ + ANIMCMD_FRAME(48, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_862ABF8[] = +{ + sSpriteAnim_862ABD8, + sSpriteAnim_862ABE0, + sSpriteAnim_862ABE8, + sSpriteAnim_862ABF0 +}; + +static const union AnimCmd sSpriteAnim_862AC08[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(8, 8), + ANIMCMD_FRAME(12, 8), + ANIMCMD_FRAME(16, 8), + ANIMCMD_FRAME(20, 8), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const sSpriteAnimTable_862AC24[] = +{ + sSpriteAnim_862AC08 +}; + +static const struct CompressedSpriteSheet sUnknown_0862AC28 = +{ + gRaySceneGroudonLeft_Gfx, 0x1800, 30565 +}; + +static const struct CompressedSpriteSheet sUnknown_0862AC30 = +{ + gRaySceneGroudonTail_Gfx, 0x80, 30566 +}; + +static const struct CompressedSpriteSheet sUnknown_0862AC38 = +{ + gRaySceneKyogreRight_Gfx, 0x600, 30568 +}; + +static const struct CompressedSpriteSheet sUnknown_0862AC40 = +{ + gRaySceneRayquazaHover_Gfx, 0x2000, 30569 +}; + +static const struct CompressedSpriteSheet sUnknown_0862AC48 = +{ + gRaySceneRayquazaFlyIn_Gfx, 0x800, 30570 +}; + +static const struct CompressedSpriteSheet sUnknown_0862AC50 = +{ + gRaySceneSplash_Gfx, 0x300, 30571 +}; + +static const struct CompressedSpritePalette sUnknown_0862AC58 = +{ + gRaySceneGroudonLeft_Pal, 30565 +}; + +static const struct CompressedSpritePalette sUnknown_0862AC60 = +{ + gRaySceneKyogreRight_Pal, 30568 +}; + +static const struct CompressedSpritePalette sUnknown_0862AC68 = +{ + gRaySceneRayquazaHover_Pal, 30569 +}; + +static const struct CompressedSpritePalette sUnknown_0862AC70 = +{ + gRaySceneSplash_Pal, 30571 +}; + +static const struct SpriteTemplate sUnknown_0862AC78 = +{ + .tileTag = 30565, + .paletteTag = 30565, + .oam = &sOamData_862A6BC, + .anims = sSpriteAnimTable_862AB70, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct SpriteTemplate sUnknown_0862AC90 = +{ + .tileTag = 30566, + .paletteTag = 30565, + .oam = &sOamData_862A6EC, + .anims = sSpriteAnimTable_862AB80, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct SpriteTemplate sUnknown_0862ACA8 = +{ + .tileTag = 30568, + .paletteTag = 30568, + .oam = &sOamData_862A6C4, + .anims = sSpriteAnimTable_862AB9C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct SpriteTemplate sUnknown_0862ACC0 = +{ + .tileTag = 30569, + .paletteTag = 30569, + .oam = &sOamData_862A6BC, + .anims = sSpriteAnimTable_862ABC8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81D961C, +}; + +static const struct SpriteTemplate sUnknown_0862ACD8 = +{ + .tileTag = 30570, + .paletteTag = 30569, + .oam = &sOamData_862A6C4, + .anims = sSpriteAnimTable_862ABF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct SpriteTemplate sUnknown_0862ACF0 = +{ + .tileTag = 30571, + .paletteTag = 30571, + .oam = &sOamData_862A6F4, + .anims = sSpriteAnimTable_862AC24, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct BgTemplate sUnknown_0862AD08[] = +{ + { + .bg = 0, + .charBaseIndex = 1, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + } +}; + +// code +void DoRayquazaScene(u8 animId, bool8 onlyOneAnim, void (*callback)(void)) +{ + sRayScene = AllocZeroed(sizeof(*sRayScene)); + sRayScene->animId = animId; + sRayScene->callback = callback; + sRayScene->onlyOneAnim = onlyOneAnim; + SetMainCallback2(CB2_InitRayquazaScene); +} + +static void CB2_InitRayquazaScene(void) +{ + SetVBlankHBlankCallbacksToNull(); + clear_scheduled_bg_copies_to_vram(); + ScanlineEffect_Stop(); + FreeAllSpritePalettes(); + ResetPaletteFade(); + ResetSpriteData(); + ResetTasks(); + FillPalette(0, 0xF0, 0x20); + CreateTask(sTasksForAnimations[sRayScene->animId], 0); + SetMainCallback2(CB2_RayquazaScene); +} + +static void CB2_RayquazaScene(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + do_scheduled_bg_tilemap_copies_to_vram(); + UpdatePaletteFade(); +} + +static void VBlankCB_RayquazaScene(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void Task_EndAfterFadeScreen(u8 taskId) +{ + if (!gPaletteFade.active) + { + ResetSpriteData(); + FreeAllSpritePalettes(); + SetMainCallback2(sRayScene->callback); + Free(sRayScene); + DestroyTask(taskId); + } +} + +static void Task_SetNextAnim(u8 taskId) +{ + if (!gPaletteFade.active) + { + if (sRayScene->onlyOneAnim == TRUE) + { + gTasks[taskId].func = Task_EndAfterFadeScreen; + } + else + { + sRayScene->animId++; + sRayScene->field_2004 = 0; + gTasks[taskId].func = sTasksForAnimations[sRayScene->animId]; + } + } +} + +static void sub_81D68C8(void) +{ + SetGpuReg(REG_OFFSET_WININ, 0x3F); + SetGpuReg(REG_OFFSET_WINOUT, 0); + SetGpuReg(REG_OFFSET_WIN0H, 0xF0); + SetGpuReg(REG_OFFSET_WIN0V, 0x1888); + gPlttBufferUnfaded[0] = 0; + gPlttBufferFaded[0] = 0; +} + +static void sub_81D6904(void) +{ + SetGpuReg(REG_OFFSET_WININ, 0x3F); + SetGpuReg(REG_OFFSET_WINOUT, 0x3F); +} + +static void Task_HandleDuoFightPre(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + sub_81D750C(); + if (!gPaletteFade.active) + { + s16 counter = data[0]; + if (counter == 64) + { + sub_81D7438(); + } + else if (counter == 144) + { + sub_81D7480(); + } + else + { + switch (counter) + { + case 328: + DuoFightEnd(taskId, 0); + return; + case 148: + sub_81D74C8(); + break; + } + } + + data[0]++; + } +} + +static u8 sub_81D6984(void) +{ + u8 spriteId; + s16 *data; + + spriteId = CreateSprite(&sUnknown_0862A72C, 88, 72, 3); + gSprites[spriteId].callback = sub_81D6A20; + data = gSprites[spriteId].data; + data[0] = CreateSprite(&sUnknown_0862A72C, 56, 104, 3); + data[1] = CreateSprite(&sUnknown_0862A750, 75, 101, 0); + data[2] = CreateSprite(&sUnknown_0862A774, 109, 114, 1); + StartSpriteAnim(&gSprites[data[0]], 1); + return spriteId; +} + +static void sub_81D6A20(struct Sprite *sprite) +{ + s16 *data = sprite->data; + data[5]++; + data[5] &= 0x1F; + if (data[5] == 0 && sprite->pos1.x != 72) + { + sprite->pos1.x--; + gSprites[sprite->data[0]].pos1.x--; + gSprites[data[1]].pos1.x--; + gSprites[data[2]].pos1.x--; + } + + switch (sprite->animCmdIndex) + { + case 0: + gSprites[data[1]].pos2.x = 0; + gSprites[data[1]].pos2.y = 0; + gSprites[data[2]].pos2.x = 0; + gSprites[data[2]].pos2.y = 0; + break; + case 1: + case 3: + gSprites[data[1]].pos2.x = -1; + gSprites[data[1]].pos2.y = 0; + gSprites[data[2]].pos2.x = -1; + gSprites[data[2]].pos2.y = 0; + break; + case 2: + gSprites[data[1]].pos2.x = -1; + gSprites[data[1]].pos2.y = 1; + gSprites[data[2]].pos2.x = -2; + gSprites[data[2]].pos2.y = 1; + break; + } +} + +static u8 sub_81D6B7C(void) +{ + u8 spriteId; + s16 *data; + + spriteId = CreateSprite(&sUnknown_0862A81C, 136, 96, 1); + gSprites[spriteId].callback = sub_81D6D20; + data = gSprites[spriteId].data; + + data[0] = CreateSprite(&sUnknown_0862A81C, 168, 96, 1) << 8; + data[0] |= CreateSprite(&sUnknown_0862A81C, 136, 112, 1); + data[1] = CreateSprite(&sUnknown_0862A81C, 168, 112, 1) << 8; + data[1] |= CreateSprite(&sUnknown_0862A81C, 136, 128, 1); + data[2] = CreateSprite(&sUnknown_0862A81C, 168, 128, 1) << 8; + data[2] |= CreateSprite(&sUnknown_0862A81C, 104, 128, 2); + data[3] = CreateSprite(&sUnknown_0862A81C, 136, 128, 2) << 8; + data[3] |= CreateSprite(&sUnknown_0862A81C, 184, 128, 0); + data[4] = CreateSprite(&sUnknown_0862A84C, 208, 132, 0) << 8; + data[4] |= CreateSprite(&sUnknown_0862A864, 200, 120, 1); + + StartSpriteAnim(&gSprites[data[0] >> 8], 1); + StartSpriteAnim(&gSprites[data[0] & 0xFF], 2); + StartSpriteAnim(&gSprites[data[1] >> 8], 3); + StartSpriteAnim(&gSprites[data[1] & 0xFF], 4); + StartSpriteAnim(&gSprites[data[2] >> 8], 5); + StartSpriteAnim(&gSprites[data[2] & 0xFF], 6); + StartSpriteAnim(&gSprites[data[3] >> 8], 7); + StartSpriteAnim(&gSprites[data[3] & 0xFF], 8); + + return spriteId; +} + +static void sub_81D6D20(struct Sprite *sprite) +{ + s16 *data = sprite->data; + data[5]++; + data[5] &= 0x1F; + if (data[5] == 0 && sprite->pos1.x != 152) + { + sprite->pos1.x++; + gSprites[sprite->data[0] >> 8].pos1.x++; + gSprites[sprite->data[0] & 0xFF].pos1.x++; + gSprites[data[1] >> 8].pos1.x++; + gSprites[data[1] & 0xFF].pos1.x++; + gSprites[data[2] >> 8].pos1.x++; + gSprites[data[2] & 0xFF].pos1.x++; + gSprites[data[3] >> 8].pos1.x++; + gSprites[data[3] & 0xFF].pos1.x++; + gSprites[data[4] >> 8].pos1.x++; + gSprites[data[4] & 0xFF].pos1.x++; + } + + switch (gSprites[data[2] & 0xFF].animCmdIndex) + { + case 0: + sprite->pos2.y = 0; + gSprites[data[0] >> 8].pos2.y = 0; + gSprites[data[0] & 0xFF].pos2.y = 0; + gSprites[data[1] >> 8].pos2.y = 0; + gSprites[data[1] & 0xFF].pos2.y = 0; + gSprites[data[2] >> 8].pos2.y = 0; + gSprites[data[2] & 0xFF].pos2.y = 0; + gSprites[data[3] >> 8].pos2.y = 0; + gSprites[data[3] & 0xFF].pos2.y = 0; + gSprites[data[4] >> 8].pos2.y = 0; + gSprites[data[4] & 0xFF].pos2.y = 0; + break; + case 1: + case 3: + sprite->pos2.y = 1; + gSprites[data[0] >> 8].pos2.y = 1; + gSprites[data[0] & 0xFF].pos2.y = 1; + gSprites[data[1] >> 8].pos2.y = 1; + gSprites[data[1] & 0xFF].pos2.y = 1; + gSprites[data[2] >> 8].pos2.y = 1; + gSprites[data[2] & 0xFF].pos2.y = 1; + gSprites[data[3] >> 8].pos2.y = 1; + gSprites[data[3] & 0xFF].pos2.y = 1; + gSprites[data[4] >> 8].pos2.y = 1; + gSprites[data[4] & 0xFF].pos2.y = 1; + break; + case 2: + sprite->pos2.y = 2; + gSprites[data[0] >> 8].pos2.y = 2; + gSprites[data[0] & 0xFF].pos2.y = 2; + gSprites[data[1] >> 8].pos2.y = 2; + gSprites[data[1] & 0xFF].pos2.y = 2; + gSprites[data[2] >> 8].pos2.y = 2; + gSprites[data[4] & 0xFF].pos2.y = 2; + break; + } +} + +static void VBlankCB_DuoFight(void) +{ + VBlankCB_RayquazaScene(); + ScanlineEffect_InitHBlankDmaTransfer(); +} + +static void sub_81D6FE0(void) +{ + ResetVramOamAndBgCntRegs(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, sUnknown_0862A888, ARRAY_COUNT(sUnknown_0862A888)); + SetBgTilemapBuffer(0, sRayScene->tilemapBuffers[0]); + SetBgTilemapBuffer(1, sRayScene->tilemapBuffers[1]); + SetBgTilemapBuffer(2, sRayScene->tilemapBuffers[2]); + ResetAllBgsCoordinates(); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + schedule_bg_copy_tilemap_to_vram(2); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + ShowBg(0); + ShowBg(1); + ShowBg(2); + SetGpuReg(REG_OFFSET_BLDCNT, 0); +} + +static void sub_81D706C(void) +{ + reset_temp_tile_data_buffers(); + decompress_and_copy_tile_data_to_vram(0, gRaySceneClouds_Gfx, 0, 0, 0); + while (free_temp_tile_data_buffers_if_possible()); + + LZDecompressWram(gRaySceneClouds2_Tilemap, sRayScene->tilemapBuffers[0]); + LZDecompressWram(gRaySceneClouds1_Tilemap, sRayScene->tilemapBuffers[1]); + LZDecompressWram(gRaySceneClouds3_Tilemap, sRayScene->tilemapBuffers[2]); + LoadCompressedPalette(gRaySceneClouds_Pal, 0, 0x40); + LoadCompressedObjectPic(&sUnknown_0862A8C4); + LoadCompressedObjectPic(&sUnknown_0862A8F8); + LoadCompressedObjectPic(&sUnknown_0862A924); + LoadCompressedObjectPic(&sUnknown_0862A9D4); + LoadCompressedObjectPic(&sUnknown_0862AA14); + LoadCompressedObjectPic(&sUnknown_0862AA34); + LoadCompressedObjectPalette(&sUnknown_0862A8CC); + LoadCompressedObjectPalette(&sUnknown_0862A9DC); +} + +static void Task_DuoFightAnim(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + ScanlineEffect_Clear(); + sub_81D6FE0(); + sub_81D706C(); + CpuFastFill16(0, gScanlineEffectRegBuffers, sizeof(gScanlineEffectRegBuffers)); + ScanlineEffect_SetParams(sUnknown_0862A87C); + data[0] = 0; + data[1] = CreateTask(sub_81D7228, 0); + if (sRayScene->animId == RAY_ANIM_DUO_FIGHT_PRE) + { + data[2] = sub_81D6984(); + data[3] = sub_81D6B7C(); + gTasks[taskId].func = Task_HandleDuoFightPre; + } + else + { + data[2] = sub_81D7664(); + data[3] = sub_81D78BC(); + gTasks[taskId].func = Task_HandleDuoFight; + StopMapMusic(); + } + + BlendPalettes(-1, 0x10, 0); + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + SetVBlankCallback(VBlankCB_DuoFight); + PlaySE(SE_T_OOAME); +} + +static void sub_81D7228(u8 taskId) +{ + s16 i; + u16 *data = gTasks[taskId].data; + + for (i = 24; i < 92; i++) + { + if (i <= 47) + { + gScanlineEffectRegBuffers[0][i] = data[0] >> 8; + gScanlineEffectRegBuffers[1][i] = data[0] >> 8; + } + else if (i <= 63) + { + gScanlineEffectRegBuffers[0][i] = data[1] >> 8; + gScanlineEffectRegBuffers[1][i] = data[1] >> 8; + } + else if (i <= 75) + { + gScanlineEffectRegBuffers[0][i] = data[2] >> 8; + gScanlineEffectRegBuffers[1][i] = data[2] >> 8; + } + else if (i <= 83) + { + gScanlineEffectRegBuffers[0][i] = data[3] >> 8; + gScanlineEffectRegBuffers[1][i] = data[3] >> 8; + } + else if (i <= 87) + { + gScanlineEffectRegBuffers[0][i] = data[4] >> 8; + gScanlineEffectRegBuffers[1][i] = data[4] >> 8; + } + else + { + gScanlineEffectRegBuffers[0][i] = data[5] >> 8; + gScanlineEffectRegBuffers[1][i] = data[5] >> 8; + } + } + + if (sRayScene->animId == RAY_ANIM_DUO_FIGHT_PRE) + { + data[0] += 448; + data[1] += 384; + data[2] += 320; + data[3] += 256; + data[4] += 192; + data[5] += 128; + } + else + { + data[0] += 768; + data[1] += 640; + data[2] += 512; + data[3] += 384; + data[4] += 256; + data[5] += 128; + } +} + +static void Task_HandleDuoFight(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + sub_81D750C(); + if (!gPaletteFade.active) + { + s16 counter = data[0]; + if (counter == 32 || counter == 112) + { + sub_81D7438(); + } + else if (counter == 216) + { + sub_81D7480(); + } + else if (counter == 220) + { + sub_81D74C8(); + } + else + { + switch (counter) + { + case 412: + DuoFightEnd(taskId, 2); + return; + case 380: + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2 | BLDCNT_TGT2_BG1 | BLDCNT_EFFECT_BLEND); + gTasks[data[1]].func = sub_81D752C; + gTasks[data[1]].data[0] = 0; + gTasks[data[1]].data[2] = data[2]; + gTasks[data[1]].data[3] = data[3]; + ScanlineEffect_Stop(); + break; + } + } + + data[0]++; + } +} + +static void sub_81D7438(void) +{ + PlaySE(SE_T_KAMI); + sub_80A2C44(0x7FFF, 0, 0x10, 0, -1, 0, 0); + sub_80A2C44(0xFFFF0000, 0, 0x10, 0, 0, 0, 1); +} + +static void sub_81D7480(void) +{ + PlaySE(SE_T_KAMI); + sub_80A2C44(0x7FFF, 0, 0x10, 0x10, -1, 0, 0); + sub_80A2C44(0xFFFF0000, 0, 0x10, 0x10, 0, 0, 1); +} + +static void sub_81D74C8(void) +{ + sub_80A2C44(0x7FFF, 4, 0x10, 0, -1, 0, 0); + sub_80A2C44(0xFFFF0000, 4, 0x10, 0, 0, 0, 1); +} + +static void sub_81D750C(void) +{ + ChangeBgX(2, 0x400, 1); + ChangeBgY(2, 0x800, 2); +} + +static void sub_81D752C(u8 taskId) +{ + u16 bgY; + s16 *data = gTasks[taskId].data; + sub_81D7860(&gSprites[data[2]]); + sub_81D7D14(&gSprites[data[3]]); + + bgY = GetBgY(1); + if (GetBgY(1) == 0 || bgY > 0x8000) + ChangeBgY(1, 0x400, 2); + + if (data[0] != 16) + { + data[0]++; + SetGpuReg(REG_OFFSET_BLDALPHA, (data[0] << 8) | (16 - data[0])); + } +} + +static void DuoFightEnd(u8 taskId, s8 palDelay) +{ + PlaySE(SE_T_OOAME_E); + BeginNormalPaletteFade(-1, palDelay, 0, 0x10, 0); + gTasks[taskId].func = Task_DuoFightEnd; +} + +static void Task_DuoFightEnd(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + sub_81D750C(); + if (!gPaletteFade.active) + { + DestroyTask(data[1]); + ChangeBgY(1, 0, 0); + SetVBlankCallback(NULL); + ScanlineEffect_Stop(); + ResetSpriteData(); + FreeAllSpritePalettes(); + data[0] = 0; + gTasks[taskId].func = Task_SetNextAnim; + } +} + +static u8 sub_81D7664(void) +{ + u8 spriteId; + s16 *data; + + spriteId = CreateSprite(&sUnknown_0862A8D4, 98, 72, 3); + gSprites[spriteId].callback = sub_81D7700; + data = gSprites[spriteId].data; + data[0] = CreateSprite(&sUnknown_0862A8D4, 66, 104, 3); + data[1] = CreateSprite(&sUnknown_0862A900, 85, 101, 0); + data[2] = CreateSprite(&sUnknown_0862A92C, 119, 114, 1); + StartSpriteAnim(&gSprites[data[0]], 1); + return spriteId; +} + +static void sub_81D7700(struct Sprite *sprite) +{ + s16 *data = sprite->data; + data[5]++; + data[5] &= 0xF; + if (!(data[5] & 7) && sprite->pos1.x != 72) + { + sprite->pos1.x--; + gSprites[sprite->data[0]].pos1.x--; + gSprites[data[1]].pos1.x--; + gSprites[data[2]].pos1.x--; + } + + switch (sprite->animCmdIndex) + { + case 0: + gSprites[data[1]].pos2.x = 0; + gSprites[data[1]].pos2.y = 0; + gSprites[data[2]].pos2.x = 0; + gSprites[data[2]].pos2.y = 0; + break; + case 1: + case 3: + gSprites[data[1]].pos2.x = -1; + gSprites[data[1]].pos2.y = 0; + gSprites[data[2]].pos2.x = -1; + gSprites[data[2]].pos2.y = 0; + break; + case 2: + gSprites[data[1]].pos2.x = -1; + gSprites[data[1]].pos2.y = 1; + gSprites[data[2]].pos2.x = -2; + gSprites[data[2]].pos2.y = 1; + break; + } +} + +static void sub_81D7860(struct Sprite *sprite) +{ + s16 *data = sprite->data; + if (sprite->pos1.y <= 160) + { + sprite->pos1.y += 8; + gSprites[sprite->data[0]].pos1.y += 8; + gSprites[data[1]].pos1.y += 8; + gSprites[data[2]].pos1.y += 8; + } +} + +static u8 sub_81D78BC(void) +{ + u8 spriteId; + s16 *data; + + spriteId = CreateSprite(&sUnknown_0862A9E4, 126, 96, 1); + gSprites[spriteId].callback = sub_81D7A60; + data = gSprites[spriteId].data; + + data[0] = CreateSprite(&sUnknown_0862A9E4, 158, 96, 1) << 8; + data[0] |= CreateSprite(&sUnknown_0862A9E4, 126, 112, 1); + data[1] = CreateSprite(&sUnknown_0862A9E4, 158, 112, 1) << 8; + data[1] |= CreateSprite(&sUnknown_0862A9E4, 126, 128, 1); + data[2] = CreateSprite(&sUnknown_0862A9E4, 158, 128, 1) << 8; + data[2] |= CreateSprite(&sUnknown_0862A9E4, 94, 128, 2); + data[3] = CreateSprite(&sUnknown_0862A9E4, 126, 128, 2) << 8; + data[3] |= CreateSprite(&sUnknown_0862A9E4, 174, 128, 0); + data[4] = CreateSprite(&sUnknown_0862AA1C, 198, 132, 0) << 8; + data[4] |= CreateSprite(&sUnknown_0862AA3C, 190, 120, 1); + + StartSpriteAnim(&gSprites[data[0] >> 8], 1); + StartSpriteAnim(&gSprites[data[0] & 0xFF], 2); + StartSpriteAnim(&gSprites[data[1] >> 8], 3); + StartSpriteAnim(&gSprites[data[1] & 0xFF], 4); + StartSpriteAnim(&gSprites[data[2] >> 8], 5); + StartSpriteAnim(&gSprites[data[2] & 0xFF], 6); + StartSpriteAnim(&gSprites[data[3] >> 8], 7); + StartSpriteAnim(&gSprites[data[3] & 0xFF], 8); + + return spriteId; +} + +static void sub_81D7A60(struct Sprite *sprite) +{ + s16 *data = sprite->data; + data[5]++; + data[5] &= 0xF; + if (!(data[5] & 7) && sprite->pos1.x != 152) + { + sprite->pos1.x++; + gSprites[sprite->data[0] >> 8].pos1.x++; + gSprites[sprite->data[0] & 0xFF].pos1.x++; + gSprites[data[1] >> 8].pos1.x++; + gSprites[data[1] & 0xFF].pos1.x++; + gSprites[data[2] >> 8].pos1.x++; + gSprites[data[2] & 0xFF].pos1.x++; + gSprites[data[3] >> 8].pos1.x++; + gSprites[data[3] & 0xFF].pos1.x++; + gSprites[data[4] >> 8].pos1.x++; + gSprites[data[4] & 0xFF].pos1.x++; + } + + switch (gSprites[data[2] & 0xFF].animCmdIndex) + { + case 0: + sprite->pos2.y = 0; + gSprites[data[0] >> 8].pos2.y = 0; + gSprites[data[0] & 0xFF].pos2.y = 0; + gSprites[data[1] >> 8].pos2.y = 0; + gSprites[data[1] & 0xFF].pos2.y = 0; + gSprites[data[2] >> 8].pos2.y = 0; + gSprites[data[2] & 0xFF].pos2.y = 0; + gSprites[data[3] >> 8].pos2.y = 0; + gSprites[data[3] & 0xFF].pos2.y = 0; + gSprites[data[4] >> 8].pos2.y = 0; + gSprites[data[4] & 0xFF].pos2.y = 0; + break; + case 1: + case 3: + sprite->pos2.y = 1; + gSprites[data[0] >> 8].pos2.y = 1; + gSprites[data[0] & 0xFF].pos2.y = 1; + gSprites[data[1] >> 8].pos2.y = 1; + gSprites[data[1] & 0xFF].pos2.y = 1; + gSprites[data[2] >> 8].pos2.y = 1; + gSprites[data[2] & 0xFF].pos2.y = 1; + gSprites[data[3] >> 8].pos2.y = 1; + gSprites[data[3] & 0xFF].pos2.y = 1; + gSprites[data[4] >> 8].pos2.y = 1; + gSprites[data[4] & 0xFF].pos2.y = 1; + break; + case 2: + sprite->pos2.y = 2; + gSprites[data[0] >> 8].pos2.y = 2; + gSprites[data[0] & 0xFF].pos2.y = 2; + gSprites[data[1] >> 8].pos2.y = 2; + gSprites[data[1] & 0xFF].pos2.y = 2; + gSprites[data[2] >> 8].pos2.y = 2; + gSprites[data[4] & 0xFF].pos2.y = 2; + break; + } +} + +static void sub_81D7D14(struct Sprite *sprite) +{ + s16 *data = sprite->data; + if (sprite->pos1.y <= 160) + { + sprite->pos1.y += 8; + gSprites[sprite->data[0] >> 8].pos1.y += 8; + gSprites[sprite->data[0] & 0xFF].pos1.y += 8; + gSprites[data[1] >> 8].pos1.y += 8; + gSprites[data[1] & 0xFF].pos1.y += 8; + gSprites[data[2] >> 8].pos1.y += 8; + gSprites[data[2] & 0xFF].pos1.y += 8; + gSprites[data[3] >> 8].pos1.y += 8; + gSprites[data[3] & 0xFF].pos1.y += 8; + gSprites[data[4] >> 8].pos1.y += 8; + gSprites[data[4] & 0xFF].pos1.y += 8; + } +} + +static void sub_81D7E10(void) +{ + ResetVramOamAndBgCntRegs(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(1, sUnknown_0862AA54, ARRAY_COUNT(sUnknown_0862AA54)); + SetBgTilemapBuffer(0, sRayScene->tilemapBuffers[0]); + SetBgTilemapBuffer(1, sRayScene->tilemapBuffers[1]); + SetBgTilemapBuffer(2, sRayScene->tilemapBuffers[2]); + ResetAllBgsCoordinates(); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + schedule_bg_copy_tilemap_to_vram(2); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + ShowBg(0); + ShowBg(1); + ShowBg(2); + SetGpuReg(REG_OFFSET_BLDCNT, 0); +} + +static void sub_81D7E9C(void) +{ + reset_temp_tile_data_buffers(); + decompress_and_copy_tile_data_to_vram(0, gRaySceneClouds_Gfx, 0, 0, 0); + decompress_and_copy_tile_data_to_vram(1, gRaySceneOvercast_Gfx, 0, 0, 0); + decompress_and_copy_tile_data_to_vram(2, gRaySceneRayquaza_Gfx, 0, 0, 0); + while (free_temp_tile_data_buffers_if_possible()); + + LZDecompressWram(gRaySceneClouds2_Tilemap, sRayScene->tilemapBuffers[0]); + LZDecompressWram(gRaySceneOvercast_Tilemap, sRayScene->tilemapBuffers[1]); + LZDecompressWram(gRaySceneRayquaza_Tilemap, sRayScene->tilemapBuffers[2]); + LoadCompressedPalette(gRaySceneRayquaza_Pal, 0, 0x40); + LoadCompressedObjectPic(&sUnknown_0862AA90); + LoadCompressedObjectPalette(&sUnknown_0862AA98); +} + +static void Task_RayTakesFlightAnim(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + PlayNewMapMusic(MUS_REKKUU_KOURIN); + sub_81D7E10(); + sub_81D7E9C(); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_OBJ | BLDCNT_TGT2_BG1 | BLDCNT_EFFECT_BLEND); + SetGpuReg(REG_OFFSET_BLDALPHA, 0x808); + BlendPalettes(-1, 0x10, 0); + SetVBlankCallback(VBlankCB_RayquazaScene); + CreateTask(sub_81D81A4, 0); + data[0] = 0; + data[1] = 0; + gTasks[taskId].func = Task_HandleRayTakesFlight; +} + +static void Task_HandleRayTakesFlight(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + switch (data[0]) + { + case 0: + if (data[1] == 8) + { + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + data[2] = 0; + data[3] = 30; + data[4] = 0; + data[5] = 7; + data[1] = 0; + data[0]++; + } + else + { + data[1]++; + } + break; + case 1: + data[2] += data[3]; + data[4] += data[5]; + if (data[3] > 3) + data[3] -= 3; + if (data[5] != 0) + data[5]--; + if (data[2] > 255) + { + data[2] = 256; + data[3] = 0; + data[6] = 12; + data[7] = -1; + data[1] = 0; + data[0]++; + } + SetBgAffine(2, 0x7800, 0x1800, 0x78, data[4] + 32, data[2], data[2], 0); + break; + case 2: + data[1]++; + SetBgAffine(2, 0x7800, 0x1800, 0x78, data[4] + 32 + (data[6] >> 2), data[2], data[2], 0); + data[6] += data[7]; + if (data[6] == 12 || data[6] == -12) + { + data[7] *= -1; + if (data[1] > 295) + { + data[0]++; + BeginNormalPaletteFade(-1, 6, 0, 0x10, 0); + } + } + break; + case 3: + data[2] += 16; + SetBgAffine(2, 0x7800, 0x1800, 0x78, data[4] + 32, data[2], data[2], 0); + Task_RayTakesFlightEnd(taskId); + break; + } +} + +static void Task_RayTakesFlightEnd(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetVBlankCallback(NULL); + ResetSpriteData(); + FreeAllSpritePalettes(); + gTasks[taskId].func = Task_SetNextAnim; + } +} + +static void sub_81D81A4(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if ((data[1] & 3) == 0) + { + u8 spriteId = CreateSprite(&sUnknown_0862AAA0, + (sUnknown_0862AAB8[data[0]][0] * 4) + 120, + (sUnknown_0862AAB8[data[0]][1] * 4) + 80, + 0); + gSprites[spriteId].data[0] = (s8)(data[0]); + gSprites[spriteId].oam.objMode = 1; + gSprites[spriteId].oam.affineMode = 3; + gSprites[spriteId].oam.priority = 2; + InitSpriteAffineAnim(&gSprites[spriteId]); + if (data[0] == 9) + { + DestroyTask(taskId); + return; + } + else + { + data[0]++; + } + } + + data[1]++; +} + +static void sub_81D8260(struct Sprite *sprite) +{ + if (sprite->data[1] == 0) + { + sprite->pos2.x = 0; + sprite->pos2.y = 0; + } + else + { + sprite->pos2.x += sUnknown_0862AAB8[sprite->data[0]][0]; + sprite->pos2.y += sUnknown_0862AAB8[sprite->data[0]][1]; + } + + sprite->data[1]++; + sprite->data[1] &= 0xF; +} + +static void sub_81D82B0(void) +{ + ResetVramOamAndBgCntRegs(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, sUnknown_0862AACC, ARRAY_COUNT(sUnknown_0862AACC)); + SetBgTilemapBuffer(0, sRayScene->tilemapBuffers[0]); + SetBgTilemapBuffer(1, sRayScene->tilemapBuffers[1]); + SetBgTilemapBuffer(2, sRayScene->tilemapBuffers[2]); + SetBgTilemapBuffer(3, sRayScene->tilemapBuffers[3]); + ResetAllBgsCoordinates(); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + schedule_bg_copy_tilemap_to_vram(2); + schedule_bg_copy_tilemap_to_vram(3); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + ShowBg(0); + ShowBg(1); + ShowBg(2); + ShowBg(3); + SetGpuReg(REG_OFFSET_BLDCNT, 0); +} + +static void sub_81D8358(void) +{ + reset_temp_tile_data_buffers(); + decompress_and_copy_tile_data_to_vram(0, gRaySceneRayquazaLight_Gfx, 0, 0, 0); + decompress_and_copy_tile_data_to_vram(1, gRaySceneOvercast2_Gfx, 0, 0, 0); + while (free_temp_tile_data_buffers_if_possible()); + + LZDecompressWram(gRaySceneRayquazaLight_Tilemap, sRayScene->tilemapBuffers[0]); + LZDecompressWram(gRaySceneOvercast2_Tilemap, sRayScene->tilemapBuffers[3]); + CpuFastFill16(0, sRayScene->tilemapBuffers[2], 0x800); + CpuFastCopy(sRayScene->tilemapBuffers[3], sRayScene->tilemapBuffers[1], 0x800); + CpuFastFill16(0, &sRayScene->tilemapBuffers[1][0x100], 0x340); + + LoadCompressedPalette(gRaySceneOvercast2_Pal, 0, 0x40); + gPlttBufferUnfaded[0] = RGB_WHITE; + gPlttBufferFaded[0] = RGB_WHITE; + LoadCompressedObjectPic(&sUnknown_0862AAFC); + LoadCompressedObjectPic(&sUnknown_0862AB04); + LoadCompressedObjectPalette(&sUnknown_0862AB0C); +} + +static void sub_81D844C(void) +{ + u16 VCOUNT = GetGpuReg(REG_OFFSET_VCOUNT); + if (VCOUNT >= 24 && VCOUNT <= 135 && VCOUNT - 24 <= sRayScene->field_2008) + REG_BLDALPHA = 0xD08; + else + REG_BLDALPHA = 0x1000; + + if (VCOUNT == 0) + { + if (sRayScene->field_2008 <= 0x1FFF) + { + if (sRayScene->field_2008 <= 39) + sRayScene->field_2008 += 4; + else if (sRayScene->field_2008 <= 79) + sRayScene->field_2008 += 2; + else + sRayScene->field_2008 += 1; + } + + sRayScene->field_200A++; + } +} + +static void Task_RayDescendsAnim(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + sub_81D82B0(); + sub_81D8358(); + SetGpuRegBits(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_EFFECT_BLEND); + SetGpuReg(REG_OFFSET_BLDALPHA, 0x1000); + BlendPalettes(-1, 0x10, 0); + SetVBlankCallback(VBlankCB_RayquazaScene); + sRayScene->field_2008 = 0; + sRayScene->field_200A = 0; + data[0] = 0; + data[1] = 0; + data[2] = 0; + data[3] = 0; + data[4] = 0x1000; + gTasks[taskId].func = Task_HandleRayDescends; +} + +static void Task_HandleRayDescends(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + switch (data[0]) + { + case 0: + if (data[1] == 8) + { + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + data[1] = 0; + data[0]++; + } + else + { + data[1]++; + } + break; + case 1: + if (!gPaletteFade.active) + { + if (data[1] == 10) + { + data[1] = 0; + data[0]++; + SetHBlankCallback(sub_81D844C); + EnableInterrupts(INTR_FLAG_HBLANK | INTR_FLAG_VBLANK); + } + else + { + data[1]++; + } + } + break; + case 2: + if (data[1] == 80) + { + data[1] = 0; + data[0]++; + sub_81D86CC(); + } + else + { + data[1]++; + } + break; + case 3: + if (++data[1] == 368) + { + data[1] = 0; + data[0]++; + } + break; + case 4: + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + gTasks[taskId].func = Task_RayDescendsEnd; + break; + } +} + +static void Task_RayDescendsEnd(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetVBlankCallback(NULL); + SetHBlankCallback(NULL); + ResetSpriteData(); + FreeAllSpritePalettes(); + gTasks[taskId].func = Task_SetNextAnim; + } +} + +static u8 sub_81D86CC(void) +{ + u8 spriteId = CreateSprite(&sUnknown_0862AB14, 160, 0, 0); + s16 *data = gSprites[spriteId].data; + data[0] = CreateSprite(&sUnknown_0862AB2C, 184, -48, 0); + gSprites[spriteId].callback = sub_81D874C; + gSprites[spriteId].oam.priority = 3; + gSprites[data[0]].oam.priority = 3; + return spriteId; +} + +static void sub_81D874C(struct Sprite *sprite) +{ + s16 *data = sprite->data; + s16 counter = data[2]; + if (counter == 0) + { + data[3] = 12; + data[4] = 8; + } + else if (counter == 256) + { + data[3] = 9; + data[4] = 7; + } + else if (counter == 268) + { + data[3] = 8; + data[4] = 6; + } + else if (counter == 280) + { + data[3] = 7; + data[4] = 5; + } + else if (counter == 292) + { + data[3] = 6; + data[4] = 4; + } + else if (counter == 304) + { + data[3] = 5; + data[4] = 3; + } + else if (counter == 320) + { + data[3] = 4; + data[4] = 2; + } + + if (data[2] % data[3] == 0) + { + sprite->pos2.x--; + gSprites[data[0]].pos2.x--; + } + if (data[2] % data[4] == 0) + { + sprite->pos2.y++; + gSprites[data[0]].pos2.y++; + } + + data[2]++; +} + +static void sub_81D8828(void) +{ + ResetVramOamAndBgCntRegs(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, sUnknown_0862AB44, ARRAY_COUNT(sUnknown_0862AB44)); + SetBgTilemapBuffer(0, sRayScene->tilemapBuffers[0]); + SetBgTilemapBuffer(1, sRayScene->tilemapBuffers[1]); + SetBgTilemapBuffer(2, sRayScene->tilemapBuffers[2]); + SetBgTilemapBuffer(3, sRayScene->tilemapBuffers[3]); + ResetAllBgsCoordinates(); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + schedule_bg_copy_tilemap_to_vram(2); + schedule_bg_copy_tilemap_to_vram(3); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP | DISPCNT_WIN0_ON); + ShowBg(0); + ShowBg(1); + ShowBg(2); + ShowBg(3); + SetGpuReg(REG_OFFSET_BLDCNT, 0); +} + +static void sub_81D88D0(void) +{ + reset_temp_tile_data_buffers(); + decompress_and_copy_tile_data_to_vram(1, gRaySceneRayquazaChase_Gfx, 0, 0, 0); + decompress_and_copy_tile_data_to_vram(2, gRaySceneChaseStreaks_Gfx, 0, 0, 0); + decompress_and_copy_tile_data_to_vram(3, gRaySceneChaseBg_Gfx, 0, 0, 0); + while (free_temp_tile_data_buffers_if_possible()); + + LZDecompressWram(gRayChaseRayquazaChase2_Tilemap, sRayScene->tilemapBuffers[0]); + LZDecompressWram(gRayChaseRayquazaChase_Tilemap, sRayScene->tilemapBuffers[1]); + LZDecompressWram(gRaySceneChaseStreaks_Tilemap, sRayScene->tilemapBuffers[2]); + LZDecompressWram(gRaySceneChaseBg_Tilemap, sRayScene->tilemapBuffers[3]); + LoadCompressedPalette(gRaySceneChase_Pal, 0, 0x80); +} + +static void Task_RayChargesAnim(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + sub_81D8828(); + sub_81D88D0(); + sub_81D68C8(); + BlendPalettes(-1, 0x10, 0); + SetVBlankCallback(VBlankCB_RayquazaScene); + data[0] = 0; + data[1] = 0; + data[2] = CreateTask(sub_81D8AD8, 0); + gTasks[taskId].func = Task_HandleRayCharges; +} + +static void Task_HandleRayCharges(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + sub_81D8BB4(); + if ((data[3] & 7) == 0 && data[0] <= 1 && data[1] <= 89) + PlaySE(SE_OP_BASYU); + + data[3]++; + switch (data[0]) + { + case 0: + if (data[1] == 8) + { + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + data[1] = 0; + data[0]++; + } + else + { + data[1]++; + } + break; + case 1: + if (data[1] == 127) + { + data[1] = 0; + data[0]++; + gTasks[data[2]].func = sub_81D8B2C; + } + else + { + data[1]++; + } + break; + case 2: + if (data[1] == 12) + { + data[1] = 0; + data[0]++; + } + else + { + data[1]++; + } + break; + case 3: + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + gTasks[taskId].func = Task_RayChargesEnd; + break; + } +} + +static void sub_81D8AD8(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if ((data[15] & 3) == 0) + { + ChangeBgX(1, (Random() % 8 - 4) << 8, 0); + ChangeBgY(1, (Random() % 8 - 4) << 8, 0); + } + + data[15]++; +} + +static void sub_81D8B2C(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (data[0] == 0) + { + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + data[0]++; + data[1] = 10; + data[2] = -1; + } + else if (data[0] == 1) + { + ChangeBgX(1, data[1] << 8, 2); + ChangeBgY(1, data[1] << 8, 1); + data[1] += data[2]; + if (data[1] == -10) + data[2] *= -1; + } +} + +static void sub_81D8BB4(void) +{ + ChangeBgX(2, 0x400, 2); + ChangeBgY(2, 0x400, 1); + ChangeBgX(0, 0x800, 2); + ChangeBgY(0, 0x800, 1); +} + +static void Task_RayChargesEnd(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + sub_81D8BB4(); + if (!gPaletteFade.active) + { + SetVBlankCallback(NULL); + sub_81D6904(); + DestroyTask(data[2]); + gTasks[taskId].func = Task_SetNextAnim; + } +} + +static void sub_81D8C38(void) +{ + ResetVramOamAndBgCntRegs(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(1, sUnknown_0862AD08, ARRAY_COUNT(sUnknown_0862AD08)); + SetBgTilemapBuffer(0, sRayScene->tilemapBuffers[0]); + SetBgTilemapBuffer(1, sRayScene->tilemapBuffers[1]); + SetBgTilemapBuffer(2, sRayScene->tilemapBuffers[2]); + ResetAllBgsCoordinates(); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + schedule_bg_copy_tilemap_to_vram(2); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP | DISPCNT_WIN0_ON); + ShowBg(0); + ShowBg(1); + ShowBg(2); + SetGpuReg(REG_OFFSET_BLDCNT, 0); +} + +static void sub_81D8CC4(void) +{ + reset_temp_tile_data_buffers(); + decompress_and_copy_tile_data_to_vram(2, gRaySceneHushRing_Gfx, 0, 0, 0); + decompress_and_copy_tile_data_to_vram(0, gRaySceneHushBg_Gfx, 0, 0, 0); + while (free_temp_tile_data_buffers_if_possible()); + + LZDecompressWram(gRaySceneHushRing_Tilemap, sRayScene->tilemapBuffers[1]); + LZDecompressWram(gRaySceneHushBg_Tilemap, sRayScene->tilemapBuffers[0]); + LZDecompressWram(gRaySceneHushRing_Map, sRayScene->tilemapBuffers[2]); + LoadCompressedPalette(gRaySceneHushBg_Pal, 0, 0x60); + LoadCompressedObjectPic(&sUnknown_0862AC28); + LoadCompressedObjectPic(&sUnknown_0862AC30); + LoadCompressedObjectPic(&sUnknown_0862AC38); + LoadCompressedObjectPic(&sUnknown_0862AC40); + LoadCompressedObjectPic(&sUnknown_0862AC48); + LoadCompressedObjectPic(&sUnknown_0862AC50); + LoadCompressedObjectPalette(&sUnknown_0862AC58); + LoadCompressedObjectPalette(&sUnknown_0862AC60); + LoadCompressedObjectPalette(&sUnknown_0862AC68); + LoadCompressedObjectPalette(&sUnknown_0862AC70); +} + +static void Task_RayChasesAwayAnim(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + sub_81D8C38(); + sub_81D8CC4(); + sub_81D68C8(); + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_EFFECT_BLEND); + SetGpuReg(REG_OFFSET_BLDALPHA, 0xE09); + BlendPalettes(-1, 0x10, 0); + SetVBlankCallback(VBlankCB_RayquazaScene); + data[0] = 0; + data[1] = 0; + gTasks[taskId].func = Task_HandleRayChasesAway; + data[2] = CreateTask(sub_81D8FB0, 0); + gTasks[data[2]].data[0] = 0; + gTasks[data[2]].data[1] = 0; + gTasks[data[2]].data[2] = 0; + gTasks[data[2]].data[3] = 1; + gTasks[data[2]].data[4] = 1; +} + +static void Task_HandleRayChasesAway(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + switch (data[0]) + { + case 0: + if (data[1] == 8) + { + sub_81D90A8(taskId); + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + data[1] = 0; + data[0]++; + } + else + { + data[1]++; + } + break; + case 1: + if (gSprites[data[5]].callback == sub_81D97E0) + { + if (data[1] == 64) + { + sub_81D94D4(taskId); + sub_81D93D8(taskId); + data[1] = 0; + data[0]++; + } + else + { + data[1]++; + } + } + break; + case 2: + if (data[1] == 448) + { + data[1] = 0; + data[0]++; + } + else + { + data[1]++; + if (data[1] % 144 == 0) + { + sub_80A2C44(0xFFFE, 0, 0x10, 0, -1, 0, 0); + sub_80A2C44(0xFFFF0000, 0, 0x10, 0, 0, 0, 1); + } + } + break; + case 3: + BeginNormalPaletteFade(-1, 4, 0, 0x10, 0); + gTasks[taskId].func = Task_RayChasesAwayEnd; + break; + } +} + +static void sub_81D8FB0(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if ((data[0] & 0xF) == 0) + { + SetGpuReg(REG_OFFSET_BLDALPHA, ((data[1] + 14) << 8 & 0x1F00) | ((data[2] + 9) & 0xF)); + data[1] -= data[3]; + data[2] += data[4]; + if (data[1] == -3 || data[1] == 0) + data[3] *= -1; + if (data[2] == 3 || data[2] == 0) + data[4] *= -1; + } + + data[0]++; +} + +static void Task_RayChasesAwayEnd(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (!gPaletteFade.active) + { + StopMapMusic(); + if (data[1] == 0) + { + SetVBlankCallback(NULL); + sub_81D6904(); + ResetSpriteData(); + FreeAllSpritePalettes(); + DestroyTask(data[2]); + } + + if (data[1] == 32) + { + data[1] = 0; + gTasks[taskId].func = Task_SetNextAnim; + } + else + { + data[1]++; + } + } +} + +static void sub_81D90A8(u8 taskId) +{ + s16 *taskData, *spriteData; + + taskData = gTasks[taskId].data; + + taskData[3] = CreateSprite(&sUnknown_0862AC78, 64, 120, 0); + spriteData = gSprites[taskData[3]].data; + spriteData[0] = CreateSprite(&sUnknown_0862AC90, 16, 130, 0); + gSprites[taskData[3]].oam.priority = 1; + gSprites[spriteData[0]].oam.priority = 1; + + taskData[4] = CreateSprite(&sUnknown_0862ACA8, 160, 128, 1); + spriteData = gSprites[taskData[4]].data; + spriteData[0] = CreateSprite(&sUnknown_0862ACA8, 192, 128, 1); + spriteData[1] = CreateSprite(&sUnknown_0862ACA8, 224, 128, 1); + gSprites[taskData[4]].oam.priority = 1; + gSprites[spriteData[0]].oam.priority = 1; + gSprites[spriteData[1]].oam.priority = 1; + StartSpriteAnim(&gSprites[spriteData[0]], 1); + StartSpriteAnim(&gSprites[spriteData[1]], 2); + + taskData[5] = CreateSprite(&sUnknown_0862ACC0, 120, -65, 0); + spriteData = gSprites[taskData[5]].data; + spriteData[0] = CreateSprite(&sUnknown_0862ACD8, 120, -113, 0); + gSprites[taskData[5]].oam.priority = 1; + gSprites[spriteData[0]].oam.priority = 1; +} + +static void sub_81D9274(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + + gSprites[taskData[3]].callback = sub_81D9338; + gSprites[taskData[3]].data[4] = 0; + gSprites[taskData[3]].data[5] = 0; + gSprites[taskData[3]].data[6] = 4; + gSprites[taskData[3]].data[7] = 0; + + gSprites[taskData[4]].callback = sub_81D9338; + gSprites[taskData[4]].data[4] = 0; + gSprites[taskData[4]].data[5] = 0; + gSprites[taskData[4]].data[6] = 4; + gSprites[taskData[4]].data[7] = 1; +} + +static void sub_81D9338(struct Sprite *sprite) +{ + if ((sprite->data[4] & 7) == 0) + { + if (sprite->data[7] == 0) + { + sprite->pos1.x -= sprite->data[6]; + gSprites[sprite->data[0]].pos1.x -= sprite->data[6]; + } + else + { + sprite->pos1.x += sprite->data[6]; + gSprites[sprite->data[0]].pos1.x += sprite->data[6]; + gSprites[sprite->data[1]].pos1.x += sprite->data[6]; + } + + sprite->data[5]++; + sprite->data[6] -= sprite->data[5]; + if (sprite->data[5] == 3) + { + sprite->data[4] = 0; + sprite->data[5] = 0; + sprite->data[6] = 0; + sprite->callback = SpriteCallbackDummy; + return; + } + } + + sprite->data[4]++; +} + +static void sub_81D93D8(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + gSprites[taskData[3]].callback = sub_81D9420; + StartSpriteAnim(&gSprites[taskData[3]], 1); +} + +static void sub_81D9420(struct Sprite *sprite) +{ + switch (sprite->animCmdIndex) + { + case 0: + case 2: + if (sprite->animDelayCounter % 12 == 0) + { + sprite->pos1.x -= 2; + gSprites[sprite->data[0]].pos1.x -=2; + } + gSprites[sprite->data[0]].pos2.y = 0; + break; + case 1: + case 3: + gSprites[sprite->data[0]].pos2.y = -2; + if ((sprite->animDelayCounter & 15) == 0) + { + sprite->pos1.y++; + gSprites[sprite->data[0]].pos1.y++; + } + break; + } +} + +static void sub_81D94D4(u8 taskId) +{ + s16 *taskData, *spriteData; + + taskData = gTasks[taskId].data; + spriteData = gSprites[taskData[4]].data; + + gSprites[taskData[4]].callback = sub_81D9528; + gSprites[spriteData[0]].callback = sub_81D9528; + gSprites[spriteData[1]].callback = sub_81D9528; +} + +static void sub_81D9528(struct Sprite *sprite) +{ + if ((sprite->data[4] & 3) == 0) + { + if (sprite->pos2.x == 1) + sprite->pos2.x = -1; + else + sprite->pos2.x = 1; + } + if (sprite->data[5] == 128) + { + sprite->data[7] = CreateSprite(&sUnknown_0862ACF0, 152, 132, 0); + gSprites[sprite->data[7]].oam.priority = 1; + sprite->data[7] = CreateSprite(&sUnknown_0862ACF0, 224, 132, 0); + gSprites[sprite->data[7]].oam.priority = 1; + gSprites[sprite->data[7]].hFlip = 1; + sprite->data[5]++; + } + if (sprite->data[5] > 127) + { + if (sprite->pos2.y != 32) + { + sprite->data[6]++; + sprite->pos2.y = sprite->data[6] >> 4; + } + } + else + { + sprite->data[5]++; + } + + if (sprite->data[4] % 64 == 0) + PlaySE(SE_W250); + + sprite->data[4]++; +} + +static void sub_81D961C(struct Sprite *sprite) +{ + s16 counter = sprite->data[7]; + if (counter <= 64) + { + sprite->pos2.y += 2; + gSprites[sprite->data[0]].pos2.y += 2; + if (sprite->data[7] == 64) + { + sub_81D9868(sprite, 1, 0, -48); + sprite->data[4] = 5; + sprite->data[5] = -1; + gSprites[sprite->data[0]].data[4] = 3; + gSprites[sprite->data[0]].data[5] = 5; + } + } + else if (counter <= 111) + { + sub_81D97E0(sprite); + if (sprite->data[4] == 0) + PlaySE(SE_BT_START); + if (sprite->data[4] == -3) + sub_81D9868(sprite, 2, 48, 16); + } + else if (counter == 112) + { + gSprites[sprite->data[0]].data[4] = 7; + gSprites[sprite->data[0]].data[5] = 3; + sub_81D97E0(sprite); + } + else if (counter <= 327) + { + sub_81D97E0(sprite); + } + else if (counter == 328) + { + sub_81D97E0(sprite); + sub_81D9868(sprite, 3, 48, 16); + sprite->pos2.x = 1; + gSprites[sprite->data[0]].pos2.x = 1; + PlayCry1(SPECIES_RAYQUAZA, 0); + CreateTask(sub_81D98B4, 0); + } + else + { + switch (counter) + { + case 376: + sprite->pos2.x = 0; + gSprites[sprite->data[0]].pos2.x = 0; + sub_81D97E0(sprite); + sub_81D9868(sprite, 2, 48, 16); + sprite->callback = sub_81D97E0; + return; + case 352: + sub_81D9274(FindTaskIdByFunc(Task_HandleRayChasesAway)); + break; + } + } + + if (sprite->data[7] > 328 && (sprite->data[7] & 1) == 0) + { + sprite->pos2.x *= -1; + gSprites[sprite->data[0]].pos2.x = sprite->pos2.x; + } + + sprite->data[7]++; +} + +static void sub_81D97E0(struct Sprite *sprite) +{ + struct Sprite *sprite2 = &gSprites[sprite->data[0]]; + if (!(sprite->data[6] & sprite2->data[4])) + { + sprite->pos2.y += sprite->data[4]; + gSprites[sprite->data[0]].pos2.y += sprite->data[4]; + sprite->data[4] += sprite->data[5]; + if (sprite->data[4] >= sprite2->data[5] || sprite->data[4] <= -sprite2->data[5]) + { + if (sprite->data[4] > sprite2->data[5]) + sprite->data[4] = sprite2->data[5]; + else if (sprite->data[4] < -sprite2->data[5]) + sprite->data[4] = -sprite2->data[5]; + + sprite->data[5] *= -1; + } + } + + sprite->data[6]++; +} + +static void sub_81D9868(struct Sprite *sprite, u8 animNum, s16 x, s16 y) +{ + struct Sprite *sprite2 = &gSprites[sprite->data[0]]; + + sprite2->pos1.x = sprite->pos1.x + x; + sprite2->pos1.y = sprite->pos1.y + y; + + sprite2->pos2.x = sprite->pos2.x; + sprite2->pos2.y = sprite->pos2.y; + + StartSpriteAnim(sprite, animNum); + StartSpriteAnim(sprite2, animNum); +} + +static void sub_81D98B4(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + switch (data[0]) + { + case 0: + SetBgAffine(2, 0x4000, 0x4000, 0x78, 0x40, 0x100, 0x100, 0); + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON); + data[4] = 16; + data[0]++; + break; + case 1: + if (data[5] == 8) + PlaySE(SE_JIDO_DOA); + if (data[2] == 2) + { + data[0]++; + } + else + { + data[1] += data[4]; + data[5]++; + if (data[3] % 3 == 0 && data[4] != 4) + data[4] -= 2; + + data[3]++; + SetBgAffine(2, 0x4000, 0x4000, 0x78, 0x40, 0x100 - data[1], 0x100 - data[1], 0); + if (data[1] > 255) + { + data[1] = 0; + data[3] = 0; + data[5] = 0; + data[4] = 16; + data[2]++; + } + } + break; + case 2: + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON); + DestroyTask(taskId); + break; + } +} diff --git a/src/record_mixing.c b/src/record_mixing.c index afaa091eba..ff4d64f086 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -2,12 +2,12 @@ // Includes #include "global.h" #include "malloc.h" -#include "rng.h" -#include "items.h" +#include "random.h" +#include "constants/items.h" #include "text.h" #include "item.h" #include "task.h" -#include "species.h" +#include "constants/species.h" #include "save.h" #include "load_save.h" #include "pokemon.h" @@ -15,13 +15,13 @@ #include "link.h" #include "tv.h" #include "battle_tower.h" -#include "new_menu_helpers.h" #include "window.h" #include "mystery_event_script.h" #include "secret_base.h" #include "mauville_old_man.h" #include "sound.h" -#include "songs.h" +#include "constants/songs.h" +#include "menu.h" #include "overworld.h" #include "field_screen.h" #include "fldeff_80F9BCC.h" @@ -153,7 +153,7 @@ void sub_80E6CA0(struct PlayerRecords *dest) sub_81659DC(gUnknown_0300114C, &dest->battleTowerRecord); if (GetMultiplayerId() == 0) { - dest->battleTowerRecord.ruby_sapphire.unk_11c8 = sub_81539D4(); + dest->battleTowerRecord.ruby_sapphire.unk_11c8 = GetRecordMixingGift(); } } @@ -173,7 +173,7 @@ void sub_80E6D54(struct PlayerRecords *dest) TaskDummy4(&dest->battleTowerRecord); if (GetMultiplayerId() == 0) { - dest->battleTowerRecord.ruby_sapphire.unk_11c8 = sub_81539D4(); + dest->battleTowerRecord.ruby_sapphire.unk_11c8 = GetRecordMixingGift(); } } @@ -206,7 +206,7 @@ void sub_80E6E24(void) sub_80E8AC0(&gUnknown_0203A018->battleTowerRecord); if (GetMultiplayerId() == 0) { - gUnknown_0203A018->unk_1210 = sub_81539D4(); + gUnknown_0203A018->unk_1210 = GetRecordMixingGift(); } sub_80E8110(gUnknown_0203A018->unk_1254, gUnknown_03001154); sub_80E8260(gUnknown_0203A018->unk_12dc); @@ -248,7 +248,7 @@ void sub_80E6F60(u32 which) void sub_80E70F4(const u8 *src) { - sub_81973C4(0, 0); + NewMenuHelpers_DrawDialogueFrame(0, 0); PrintTextOnWindow(0, 1, src, 0, 1, 0, NULL); CopyWindowToVram(0, 3); } @@ -285,7 +285,7 @@ static void sub_80E715C(u8 taskId) if (!gTasks[data[10]].isActive) { data[0] = 2; - FlagSet(SYS_MIX_RECORD); + FlagSet(FLAG_SYS_MIX_RECORD); sub_80FB074(); DestroyTask(data[15]); } @@ -354,8 +354,8 @@ static void sub_80E7324(u8 taskId) } break; case 101: - r4 = sub_800ABAC(); - if (sub_800ABBC() == TRUE) + r4 = GetLinkPlayerCount_2(); + if (IsLinkMaster() == TRUE) { if (r4 == sub_800AA48()) { @@ -371,14 +371,14 @@ static void sub_80E7324(u8 taskId) } break; case 201: - if (sub_800AA48() == sub_800ABAC() && ++ task->data[12] > (sub_800ABAC() * 30)) + if (sub_800AA48() == GetLinkPlayerCount_2() && ++ task->data[12] > (GetLinkPlayerCount_2() * 30)) { sub_800A620(); task->data[0] = 1; } break; case 301: - if (sub_800AA48() == sub_800ABAC()) + if (sub_800AA48() == GetLinkPlayerCount_2()) { task->data[0] = 1; } @@ -398,7 +398,7 @@ static void sub_80E7324(u8 taskId) } break; case 2: - task->data[6] = sub_800ABAC(); + task->data[6] = GetLinkPlayerCount_2(); task->data[0] = 0; task->data[5] = sub_80E7810(); task->func = sub_80E756C; @@ -1427,7 +1427,7 @@ __attribute__((naked)) static void sub_80E7B60(struct UnkStruct_80E7B60 *src, si static void sub_80E7F68(u16 *item, u8 which) { - if (which != 0 && *item != ITEM_NONE && GetPocketByItemId(*item) == KEYITEMS_POCKET + 1) + if (which != 0 && *item != ITEM_NONE && GetPocketByItemId(*item) == BAG_KEYITEMS) { if (!CheckBagHasItem(*item, 1) && !CheckPCHasItem(*item, 1) && AddBagItem(*item, 1)) { @@ -1435,7 +1435,7 @@ static void sub_80E7F68(u16 *item, u8 which) StringCopy(gStringVar1, gLinkPlayers[0].name); if (*item == ITEM_EON_TICKET) { - FlagSet(SYS_HAS_EON_TICKET); + FlagSet(FLAG_SYS_HAS_EON_TICKET); } } else diff --git a/src/recorded_battle.c b/src/recorded_battle.c new file mode 100644 index 0000000000..e60457257b --- /dev/null +++ b/src/recorded_battle.c @@ -0,0 +1,1668 @@ +#include "global.h" +#include "battle.h" +#include "recorded_battle.h" +#include "main.h" +#include "pokemon.h" +#include "random.h" +#include "event_data.h" +#include "link.h" +#include "string_util.h" +#include "palette.h" +#include "save.h" +#include "malloc.h" +#include "util.h" +#include "task.h" +#include "text.h" +#include "battle_setup.h" + +#define BATTLER_RECORD_SIZE 664 +#define ILLEGAL_BATTLE_TYPES ((BATTLE_TYPE_LINK | BATTLE_TYPE_SAFARI | BATTLE_TYPE_FIRST_BATTLE \ + | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_ROAMER | BATTLE_TYPE_EREADER_TRAINER \ + | BATTLE_TYPE_KYOGRE_GROUDON | BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_REGI \ + | BATTLE_TYPE_RECORDED | BATTLE_TYPE_x4000000 | BATTLE_TYPE_SECRET_BASE \ + | BATTLE_TYPE_GROUDON | BATTLE_TYPE_KYOGRE | BATTLE_TYPE_RAYQUAZA)) + +extern u8 gUnknown_03001278; +extern u8 gUnknown_03001279; + +struct PlayerInfo +{ + u32 trainerId; + u8 name[PLAYER_NAME_LENGTH]; + u8 gender; + u16 battlerId; + u16 language; +}; + +struct MovePp +{ + u16 moves[4]; + u8 pp[4]; +}; + +struct RecordedBattleSave +{ + struct Pokemon playerParty[PARTY_SIZE]; + struct Pokemon opponentParty[PARTY_SIZE]; + u8 playersName[MAX_BATTLERS_COUNT][PLAYER_NAME_LENGTH]; + u8 playersGender[MAX_BATTLERS_COUNT]; + u32 playersTrainerId[MAX_BATTLERS_COUNT]; + u8 playersLanguage[MAX_BATTLERS_COUNT]; + u32 rngSeed; + u32 battleFlags; + u8 playersBattlers[MAX_BATTLERS_COUNT]; + u16 opponentA; + u16 opponentB; + u16 partnerId; + u16 field_4FA; + u8 field_4FC; + u8 field_4FD; + u8 field_4FE; + u8 battleStyle : 1; + u8 textSpeed : 3; + u32 AI_scripts; + u8 field_504[8]; + u8 field_50C; + u8 field_50D; + u16 field_50E[6]; + u8 field_51A; + u8 field_51B; + u8 battleRecord[MAX_BATTLERS_COUNT][BATTLER_RECORD_SIZE]; + u32 checksum; +}; + +EWRAM_DATA u32 gRecordedBattleRngSeed = 0; +EWRAM_DATA u32 gBattlePalaceMoveSelectionRngValue = 0; +EWRAM_DATA static u8 sBattleRecords[MAX_BATTLERS_COUNT][BATTLER_RECORD_SIZE] = {0}; +EWRAM_DATA static u16 sRecordedBytesNo[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA static u16 sUnknown_0203C79C[4] = {0}; +EWRAM_DATA static u16 sUnknown_0203C7A4[4] = {0}; +EWRAM_DATA static u8 sUnknown_0203C7AC = 0; +EWRAM_DATA static u8 sUnknown_0203C7AD = 0; +EWRAM_DATA static u8 sUnknown_0203C7AE = 0; +EWRAM_DATA static u8 sUnknown_0203C7AF = 0; +EWRAM_DATA static MainCallback sCallback2_AfterRecordedBattle = NULL; +EWRAM_DATA u8 gUnknown_0203C7B4 = 0; +EWRAM_DATA static u8 sUnknown_0203C7B5 = 0; +EWRAM_DATA static u8 sRecordedBattle_BattleStyle = 0; +EWRAM_DATA static u8 sRecordedBattle_TextSpeed = 0; +EWRAM_DATA static u32 sRecordedBattle_BattleFlags = 0; +EWRAM_DATA static u32 sRecordedBattle_AI_Scripts = 0; +EWRAM_DATA static struct Pokemon sSavedPlayerParty[PARTY_SIZE] = {0}; +EWRAM_DATA static struct Pokemon sSavedOpponentParty[PARTY_SIZE] = {0}; +EWRAM_DATA static u16 sRecordedBattle_PlayerMonMoves[2][4] = {0}; +EWRAM_DATA static struct PlayerInfo sRecordedBattle_Players[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA static u8 sUnknown_0203CCD0 = 0; +EWRAM_DATA static u8 sUnknown_0203CCD1[8] = {0}; +EWRAM_DATA static u8 sUnknown_0203CCD9 = 0; +EWRAM_DATA static u8 sUnknown_0203CCDA = 0; +EWRAM_DATA static u16 sUnknown_0203CCDC[6] = {0}; +EWRAM_DATA static u8 sUnknown_0203CCE8 = 0; + +extern u32 sub_81A513C(void); +extern void PlayMapChosenOrBattleBGM(bool8); + +// this file's functions +static u8 sub_8185278(u8 *arg0, u8 *arg1, u8 *arg2); +static bool32 AllocTryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst); +static void RecordedBattle_RestoreSavedParties(void); +static void CB2_RecordedBattle(void); + +void sub_8184DA4(u8 arg0) +{ + s32 i, j; + + sUnknown_0203C7AC = arg0; + sUnknown_0203CCD0 = 0; + + for (i = 0; i < MAX_BATTLERS_COUNT; i++) + { + sRecordedBytesNo[i] = 0; + sUnknown_0203C79C[i] = 0; + sUnknown_0203C7A4[i] = 0; + + if (arg0 == 1) + { + for (j = 0; j < BATTLER_RECORD_SIZE; j++) + { + sBattleRecords[i][j] |= 0xFF; + } + sRecordedBattle_BattleFlags = gBattleTypeFlags; + sRecordedBattle_AI_Scripts = gBattleResources->ai->aiFlags; + } + } +} + +void sub_8184E58(void) +{ + s32 i, j; + + if (sUnknown_0203C7AC == 1) + { + gRecordedBattleRngSeed = gRngValue; + sUnknown_0203C7AE = VarGet(VAR_FRONTIER_FACILITY); + sUnknown_0203C7AF = sub_81A513C(); + } + else if (sUnknown_0203C7AC == 2) + { + gRngValue = gRecordedBattleRngSeed; + } + + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + { + u8 linkPlayersCount; + u8 text[30]; + + gUnknown_0203C7B4 = GetMultiplayerId(); + linkPlayersCount = GetLinkPlayerCount(); + + for (i = 0; i < MAX_BATTLERS_COUNT; i++) + { + sRecordedBattle_Players[i].trainerId = gLinkPlayers[i].trainerId; + sRecordedBattle_Players[i].gender = gLinkPlayers[i].gender; + sRecordedBattle_Players[i].battlerId = gLinkPlayers[i].lp_field_18; + sRecordedBattle_Players[i].language = gLinkPlayers[i].language; + + if (i < linkPlayersCount) + { + StringCopy(text, gLinkPlayers[i].name); + StripExtCtrlCodes(text); + StringCopy(sRecordedBattle_Players[i].name, text); + } + else + { + for (j = 0; j < PLAYER_NAME_LENGTH; j++) + sRecordedBattle_Players[i].name[j] = gLinkPlayers[i].name[j]; + } + } + } + else + { + sRecordedBattle_Players[0].trainerId = (gSaveBlock2Ptr->playerTrainerId[0]) + | (gSaveBlock2Ptr->playerTrainerId[1] << 8) + | (gSaveBlock2Ptr->playerTrainerId[2] << 16) + | (gSaveBlock2Ptr->playerTrainerId[3] << 24); + + sRecordedBattle_Players[0].gender = gSaveBlock2Ptr->playerGender; + sRecordedBattle_Players[0].battlerId = 0; + sRecordedBattle_Players[0].language = gGameLanguage; + + for (i = 0; i < PLAYER_NAME_LENGTH; i++) + sRecordedBattle_Players[0].name[i] = gSaveBlock2Ptr->playerName[i]; + } +} + +void RecordedBattle_SetBattlerAction(u8 battlerId, u8 action) +{ + if (sRecordedBytesNo[battlerId] < BATTLER_RECORD_SIZE && sUnknown_0203C7AC != 2) + { + sBattleRecords[battlerId][sRecordedBytesNo[battlerId]++] = action; + } +} + +void RecordedBattle_ClearBattlerAction(u8 battlerId, u8 bytesToClear) +{ + s32 i; + + for (i = 0; i < bytesToClear; i++) + { + sRecordedBytesNo[battlerId]--; + sBattleRecords[battlerId][sRecordedBytesNo[battlerId]] |= 0xFF; + if (sRecordedBytesNo[battlerId] == 0) + break; + } +} + +u8 RecordedBattle_GetBattlerAction(u8 battlerId) +{ + // trying to read past array or invalid action byte, battle is over + if (sRecordedBytesNo[battlerId] >= BATTLER_RECORD_SIZE || sBattleRecords[battlerId][sRecordedBytesNo[battlerId]] == 0xFF) + { + gSpecialVar_Result = gBattleOutcome = B_OUTCOME_PLAYER_TELEPORTED; // hah + ResetPaletteFadeControl(); + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + SetMainCallback2(CB2_QuitRecordedBattle); + return -1; + } + else + { + return sBattleRecords[battlerId][sRecordedBytesNo[battlerId]++]; + } +} + +u8 sub_81850D0(void) +{ + return sUnknown_0203C7AC; +} + +u8 sub_81850DC(u8 *arg0) +{ + u8 i, j; + u8 ret = 0; + + for (i = 0; i < MAX_BATTLERS_COUNT; i++) + { + if (sRecordedBytesNo[i] != sUnknown_0203C79C[i]) + { + arg0[ret++] = i; + arg0[ret++] = sRecordedBytesNo[i] - sUnknown_0203C79C[i]; + + for (j = 0; j < sRecordedBytesNo[i] - sUnknown_0203C79C[i]; j++) + { + arg0[ret++] = sBattleRecords[i][sUnknown_0203C79C[i] + j]; + } + + sUnknown_0203C79C[i] = sRecordedBytesNo[i]; + } + } + + return ret; +} + +void sub_81851A8(u8 *arg0) +{ + s32 i; + u8 var1 = 2; + u8 var2; + + if (!(gBattleTypeFlags & BATTLE_TYPE_LINK)) + return; + + for (i = 0; i < GetLinkPlayerCount(); i++) + { + if ((gLinkPlayers[i].version & 0xFF) != VERSION_EMERALD) + return; + } + + if (!(gBattleTypeFlags & BATTLE_TYPE_WILD)) + { + for (var2 = *arg0; var2 != 0;) + { + u8 unkVar = sub_8185278(arg0, &var1, &var2); + u8 unkVar2 = sub_8185278(arg0, &var1, &var2); + + for (i = 0; i < unkVar2; i++) + { + sBattleRecords[unkVar][sUnknown_0203C7A4[unkVar]++] = sub_8185278(arg0, &var1, &var2); + } + } + } +} + +static u8 sub_8185278(u8 *arg0, u8 *arg1, u8 *arg2) +{ + (*arg2)--; + return arg0[(*arg1)++]; +} + +bool32 CanCopyRecordedBattleSaveData(void) +{ + struct RecordedBattleSave *dst = AllocZeroed(sizeof(struct RecordedBattleSave)); + bool32 ret = AllocTryCopyRecordedBattleSaveData(dst); + Free(dst); + return ret; +} + +static bool32 IsRecordedBattleSaveValid(struct RecordedBattleSave *save) +{ + if (save->battleFlags == 0) + return FALSE; + if (save->battleFlags & ILLEGAL_BATTLE_TYPES) + return FALSE; + if (CalcByteArraySum((void*)(save), sizeof(*save) - 4) != save->checksum) + return FALSE; + + return TRUE; +} + +static bool32 sub_81852F0(struct RecordedBattleSave *battleSave, struct RecordedBattleSave *saveSection) +{ + memset(saveSection, 0, sizeof(struct SaveSection)); + memcpy(saveSection, battleSave, sizeof(*battleSave)); + + saveSection->checksum = CalcByteArraySum((void*)(saveSection), sizeof(*saveSection) - 4); + + if (sub_8153634(31, (void*)(saveSection)) != 1) + return FALSE; + + return TRUE; +} + +#ifdef NONMATCHING +u32 MoveRecordedBattleToSaveData(void) +{ + s32 i, j; + u8 var = 0; + struct RecordedBattleSave *battleSave = AllocZeroed(sizeof(struct RecordedBattleSave)); + struct SaveSection *savSection = AllocZeroed(sizeof(struct SaveSection)); + + for (i = 0; i < PARTY_SIZE; i++) + { + battleSave->playerParty[i] = sSavedPlayerParty[i]; + battleSave->opponentParty[i] = sSavedOpponentParty[i]; + } + + for (i = 0; i < MAX_BATTLERS_COUNT; i++) + { + for (j = 0; j < PLAYER_NAME_LENGTH; j++) + { + battleSave->playersName[i][j] = sRecordedBattle_Players[i].name[j]; + } + battleSave->playersGender[i] = sRecordedBattle_Players[i].gender; + battleSave->playersLanguage[i] = sRecordedBattle_Players[i].language; + battleSave->playersBattlers[i] = sRecordedBattle_Players[i].battlerId; + battleSave->playersTrainerId[i] = sRecordedBattle_Players[i].trainerId; + } + + battleSave->rngSeed = gRecordedBattleRngSeed; + + if (sRecordedBattle_BattleFlags & BATTLE_TYPE_LINK) + { + battleSave->battleFlags = (sRecordedBattle_BattleFlags & ~(BATTLE_TYPE_LINK | BATTLE_TYPE_20)); + battleSave->battleFlags |= BATTLE_TYPE_x2000000; + + if (sRecordedBattle_BattleFlags & BATTLE_TYPE_WILD) + { + battleSave->battleFlags |= BATTLE_TYPE_x80000000; + } + else if (sRecordedBattle_BattleFlags & BATTLE_TYPE_MULTI) + { + switch (sRecordedBattle_Players[0].battlerId) + { + case 0: + case 2: + if (!(sRecordedBattle_Players[gUnknown_0203C7B4].battlerId & 1)) + battleSave->battleFlags |= BATTLE_TYPE_x80000000; + break; + case 1: + case 3: + if ((sRecordedBattle_Players[gUnknown_0203C7B4].battlerId & 1)) + battleSave->battleFlags |= BATTLE_TYPE_x80000000; + break; + } + } + } + else + { + battleSave->battleFlags = sRecordedBattle_BattleFlags; + } + + battleSave->opponentA = gTrainerBattleOpponent_A; + battleSave->opponentB = gTrainerBattleOpponent_B; + battleSave->partnerId = gPartnerTrainerId; + battleSave->field_4FA = gUnknown_0203C7B4; + battleSave->field_4FC = gSaveBlock2Ptr->field_CA9_b; + battleSave->field_4FD = sUnknown_0203C7AE; + battleSave->field_4FE = sUnknown_0203C7AF; + battleSave->battleStyle = gSaveBlock2Ptr->optionsBattleStyle; + battleSave->textSpeed = gSaveBlock2Ptr->optionsTextSpeed; + battleSave->AI_scripts = sRecordedBattle_AI_Scripts; + + /* Can't match it without proper knowledge of the Saveblock 2. + if (gTrainerBattleOpponent_A >= 300 && gTrainerBattleOpponent_A <= 399) + { + for (i = 0; i < 8; i++) + { + battleSave->field_504[i] = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_A - 300].field_4[i]; + } + battleSave->field_50C = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_A - 300].field_1; + + if (sUnknown_0203CCE8 == 1) + { + for (i = 0; i < 6; i++) + { + battleSave->field_50E[i] = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_A - 300].field_28[i]; + } + } + else + { + for (i = 0; i < 6; i++) + { + battleSave->field_50E[i] = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_A - 300].field_1C[i]; + } + } + battleSave->field_51A = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_A - 300].field_E4; + } + else if (gTrainerBattleOpponent_B >= 300 && gTrainerBattleOpponent_B <= 399) + { + for (i = 0; i < 8; i++) + { + battleSave->field_504[i] = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_B - 300].field_4[i]; + } + battleSave->field_50C = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_B - 300].field_1; + + if (sUnknown_0203CCE8 == 1) + { + for (i = 0; i < 6; i++) + { + battleSave->field_50E[i] = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_B - 300].field_28[i]; + } + } + else + { + for (i = 0; i < 6; i++) + { + battleSave->field_50E[i] = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_B - 300].field_1C[i]; + } + } + battleSave->field_51A = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_B - 300].field_E4; + } + else if (gPartnerTrainerId >= 300 && gPartnerTrainerId <= 399) + { + for (i = 0; i < 8; i++) + { + battleSave->field_504[i] = gSaveBlock2Ptr->field_738[gPartnerTrainerId - 300].field_4[i]; + } + battleSave->field_50C = gSaveBlock2Ptr->field_738[gPartnerTrainerId - 300].field_1; + + if (sUnknown_0203CCE8 == 1) + { + for (i = 0; i < 6; i++) + { + battleSave->field_50E[i] = gSaveBlock2Ptr->field_738[gPartnerTrainerId - 300].field_28[i]; + } + } + else + { + for (i = 0; i < 6; i++) + { + battleSave->field_50E[i] = gSaveBlock2Ptr->field_738[gPartnerTrainerId - 300].field_1C[i]; + } + } + battleSave->field_51A = gSaveBlock2Ptr->field_738[gPartnerTrainerId - 300].field_E4; + } + + */ +} + +#else +__attribute__((naked)) +u32 MoveRecordedBattleToSaveData(void) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0xC\n\ + movs r0, 0\n\ + str r0, [sp, 0x4]\n\ + movs r0, 0xF8\n\ + lsls r0, 4\n\ + bl AllocZeroed\n\ + adds r7, r0, 0\n\ + movs r0, 0x80\n\ + lsls r0, 5\n\ + bl AllocZeroed\n\ + str r0, [sp]\n\ + movs r6, 0\n\ +_0818535E:\n\ + movs r0, 0x64\n\ + adds r4, r6, 0\n\ + muls r4, r0\n\ + adds r5, r7, r4\n\ + ldr r1, =sSavedPlayerParty\n\ + adds r1, r4, r1\n\ + adds r0, r5, 0\n\ + movs r2, 0x64\n\ + bl memcpy\n\ + movs r1, 0x96\n\ + lsls r1, 2\n\ + adds r5, r1\n\ + ldr r0, =sSavedOpponentParty\n\ + adds r4, r0\n\ + adds r0, r5, 0\n\ + adds r1, r4, 0\n\ + movs r2, 0x64\n\ + bl memcpy\n\ + adds r6, 0x1\n\ + cmp r6, 0x5\n\ + ble _0818535E\n\ + movs r6, 0\n\ + ldr r2, =gSaveBlock2Ptr\n\ + mov r9, r2\n\ + movs r3, 0x9A\n\ + lsls r3, 3\n\ + adds r3, r7, r3\n\ + str r3, [sp, 0x8]\n\ + ldr r5, =sRecordedBattle_Players\n\ + mov r8, r6\n\ + mov r12, r6\n\ + movs r4, 0x96\n\ + lsls r4, 3\n\ + adds r4, r7\n\ + mov r10, r4\n\ + ldr r0, =0x000004e4\n\ + adds r4, r7, r0\n\ +_081853AC:\n\ + lsls r1, r6, 3\n\ + ldr r0, =sRecordedBattle_Players\n\ + adds r0, 0x4\n\ + mov r3, r8\n\ + adds r2, r3, r0\n\ + add r1, r10\n\ + movs r3, 0x7\n\ +_081853BA:\n\ + ldrb r0, [r2]\n\ + strb r0, [r1]\n\ + adds r2, 0x1\n\ + adds r1, 0x1\n\ + subs r3, 0x1\n\ + cmp r3, 0\n\ + bge _081853BA\n\ + ldr r0, [sp, 0x8]\n\ + adds r1, r0, r6\n\ + ldrb r0, [r5, 0xC]\n\ + strb r0, [r1]\n\ + ldrh r0, [r5, 0x10]\n\ + strb r0, [r4]\n\ + ldrh r0, [r5, 0xE]\n\ + strb r0, [r4, 0xC]\n\ + ldr r1, =0x000004d4\n\ + adds r0, r7, r1\n\ + add r0, r12\n\ + ldr r1, [r5]\n\ + str r1, [r0]\n\ + adds r5, 0x14\n\ + movs r2, 0x14\n\ + add r8, r2\n\ + movs r3, 0x4\n\ + add r12, r3\n\ + adds r4, 0x1\n\ + adds r6, 0x1\n\ + cmp r6, 0x3\n\ + ble _081853AC\n\ + movs r4, 0x9D\n\ + lsls r4, 3\n\ + adds r1, r7, r4\n\ + ldr r5, =gRecordedBattleRngSeed\n\ + ldr r0, [r5]\n\ + str r0, [r1]\n\ + ldr r0, =sRecordedBattle_BattleFlags\n\ + ldr r2, [r0]\n\ + movs r0, 0x2\n\ + ands r0, r2\n\ + cmp r0, 0\n\ + beq _081854DC\n\ + ldr r1, =0x000004ec\n\ + adds r3, r7, r1\n\ + movs r1, 0x23\n\ + negs r1, r1\n\ + ands r1, r2\n\ + movs r0, 0x80\n\ + lsls r0, 18\n\ + orrs r1, r0\n\ + str r1, [r3]\n\ + movs r0, 0x4\n\ + ands r0, r2\n\ + cmp r0, 0\n\ + beq _08185454\n\ + movs r0, 0x80\n\ + lsls r0, 24\n\ + orrs r1, r0\n\ + str r1, [r3]\n\ + b _081854E2\n\ + .pool\n\ +_08185454:\n\ + movs r0, 0x40\n\ + ands r2, r0\n\ + cmp r2, 0\n\ + beq _081854E2\n\ + ldr r2, =sRecordedBattle_Players\n\ + ldrh r0, [r2, 0xE]\n\ + cmp r0, 0x1\n\ + beq _081854A8\n\ + cmp r0, 0x1\n\ + bgt _08185474\n\ + cmp r0, 0\n\ + beq _0818547E\n\ + b _081854E2\n\ + .pool\n\ +_08185474:\n\ + cmp r0, 0x2\n\ + beq _0818547E\n\ + cmp r0, 0x3\n\ + beq _081854A8\n\ + b _081854E2\n\ +_0818547E:\n\ + ldr r3, =gUnknown_0203C7B4\n\ + ldrb r1, [r3]\n\ + lsls r0, r1, 2\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + ldr r4, =sRecordedBattle_Players\n\ + adds r0, r4\n\ + ldrh r1, [r0, 0xE]\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _081854E2\n\ + ldr r5, =0x000004ec\n\ + adds r0, r7, r5\n\ + b _081854C4\n\ + .pool\n\ +_081854A8:\n\ + ldr r0, =gUnknown_0203C7B4\n\ + ldrb r1, [r0]\n\ + lsls r0, r1, 2\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + ldr r1, =sRecordedBattle_Players\n\ + adds r0, r1\n\ + ldrh r1, [r0, 0xE]\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _081854E2\n\ + ldr r2, =0x000004ec\n\ + adds r0, r7, r2\n\ +_081854C4:\n\ + ldr r1, [r0]\n\ + movs r2, 0x80\n\ + lsls r2, 24\n\ + orrs r1, r2\n\ + str r1, [r0]\n\ + b _081854E2\n\ + .pool\n\ +_081854DC:\n\ + ldr r3, =0x000004ec\n\ + adds r0, r7, r3\n\ + str r2, [r0]\n\ +_081854E2:\n\ + ldr r4, =gTrainerBattleOpponent_A\n\ + ldrh r1, [r4]\n\ + ldr r5, =0x000004f4\n\ + adds r0, r7, r5\n\ + strh r1, [r0]\n\ + ldr r0, =gTrainerBattleOpponent_B\n\ + ldrh r1, [r0]\n\ + ldr r2, =0x000004f6\n\ + adds r0, r7, r2\n\ + strh r1, [r0]\n\ + ldr r3, =gPartnerTrainerId\n\ + ldrh r1, [r3]\n\ + movs r4, 0x9F\n\ + lsls r4, 3\n\ + adds r0, r7, r4\n\ + strh r1, [r0]\n\ + ldr r5, =gUnknown_0203C7B4\n\ + ldrb r1, [r5]\n\ + adds r2, 0x4\n\ + adds r0, r7, r2\n\ + strh r1, [r0]\n\ + mov r3, r9\n\ + ldr r0, [r3]\n\ + ldr r4, =0x00000ca9\n\ + adds r0, r4\n\ + ldrb r0, [r0]\n\ + lsls r0, 30\n\ + lsrs r0, 30\n\ + ldr r5, =0x000004fc\n\ + adds r1, r7, r5\n\ + strb r0, [r1]\n\ + ldr r0, =sUnknown_0203C7AE\n\ + ldrb r1, [r0]\n\ + adds r2, 0x3\n\ + adds r0, r7, r2\n\ + strb r1, [r0]\n\ + ldr r3, =sUnknown_0203C7AF\n\ + ldrb r1, [r3]\n\ + ldr r4, =0x000004fe\n\ + adds r0, r7, r4\n\ + strb r1, [r0]\n\ + mov r5, r9\n\ + ldr r0, [r5]\n\ + ldrb r1, [r0, 0x15]\n\ + lsls r1, 29\n\ + ldr r0, =0x000004ff\n\ + adds r3, r7, r0\n\ + lsrs r1, 31\n\ + ldrb r2, [r3]\n\ + movs r0, 0x2\n\ + negs r0, r0\n\ + ands r0, r2\n\ + orrs r0, r1\n\ + strb r0, [r3]\n\ + ldr r1, [r5]\n\ + ldrb r1, [r1, 0x14]\n\ + lsls r1, 29\n\ + lsrs r1, 28\n\ + movs r2, 0xF\n\ + negs r2, r2\n\ + ands r0, r2\n\ + orrs r0, r1\n\ + strb r0, [r3]\n\ + movs r2, 0xA0\n\ + lsls r2, 3\n\ + adds r1, r7, r2\n\ + ldr r3, =sRecordedBattle_AI_Scripts\n\ + ldr r0, [r3]\n\ + str r0, [r1]\n\ + ldr r4, =0xfffffed4\n\ + adds r1, r4, 0\n\ + ldr r5, =gTrainerBattleOpponent_A\n\ + ldrh r5, [r5]\n\ + adds r0, r1, r5\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r0, 0x63\n\ + bls _08185580\n\ + b _081856C4\n\ +_08185580:\n\ + movs r6, 0\n\ + ldr r0, =0x00000504\n\ + adds r3, r7, r0\n\ + mov r10, r9\n\ + ldr r1, =gTrainerBattleOpponent_A\n\ + mov r12, r1\n\ + adds r2, r4, 0\n\ + mov r8, r2\n\ + ldr r4, =0x0000073c\n\ +_08185592:\n\ + adds r2, r3, r6\n\ + mov r5, r10\n\ + ldr r1, [r5]\n\ + mov r5, r12\n\ + ldrh r0, [r5]\n\ + add r0, r8\n\ + movs r5, 0xEC\n\ + muls r0, r5\n\ + adds r0, r6, r0\n\ + adds r1, r4\n\ + adds r1, r0\n\ + ldrb r0, [r1]\n\ + strb r0, [r2]\n\ + adds r6, 0x1\n\ + cmp r6, 0x7\n\ + ble _08185592\n\ + mov r0, r9\n\ + ldr r2, [r0]\n\ + ldr r1, =gTrainerBattleOpponent_A\n\ + ldrh r0, [r1]\n\ + ldr r3, =0xfffffed4\n\ + adds r0, r3\n\ + movs r1, 0xEC\n\ + muls r0, r1\n\ + adds r2, r0\n\ + ldr r4, =0x00000739\n\ + adds r2, r4\n\ + ldrb r1, [r2]\n\ + ldr r5, =0x0000050c\n\ + adds r0, r7, r5\n\ + strb r1, [r0]\n\ + ldr r1, =sUnknown_0203CCE8\n\ + ldrb r0, [r1]\n\ + cmp r0, 0x1\n\ + bne _08185664\n\ + movs r6, 0\n\ + ldr r2, =0x0000050e\n\ + adds r4, r7, r2\n\ + mov r10, r9\n\ + ldr r5, =gTrainerBattleOpponent_A\n\ + mov r8, r5\n\ + adds r5, r3, 0\n\ +_081855E6:\n\ + lsls r3, r6, 1\n\ + mov r0, r10\n\ + ldr r2, [r0]\n\ + mov r1, r8\n\ + ldrh r0, [r1]\n\ + adds r0, r5\n\ + movs r1, 0xEC\n\ + muls r0, r1\n\ + adds r3, r0\n\ + movs r0, 0xEC\n\ + lsls r0, 3\n\ + adds r2, r0\n\ + adds r2, r3\n\ + ldrh r0, [r2]\n\ + strh r0, [r4]\n\ + adds r4, 0x2\n\ + adds r6, 0x1\n\ + cmp r6, 0x5\n\ + ble _081855E6\n\ + b _08185696\n\ + .pool\n\ +_08185664:\n\ + movs r6, 0\n\ + ldr r1, =0x0000050e\n\ + adds r4, r7, r1\n\ + mov r10, r9\n\ + ldr r2, =gTrainerBattleOpponent_A\n\ + mov r8, r2\n\ + adds r5, r3, 0\n\ +_08185672:\n\ + lsls r3, r6, 1\n\ + mov r0, r10\n\ + ldr r2, [r0]\n\ + mov r1, r8\n\ + ldrh r0, [r1]\n\ + adds r0, r5\n\ + movs r1, 0xEC\n\ + muls r0, r1\n\ + adds r3, r0\n\ + ldr r0, =0x00000754\n\ + adds r2, r0\n\ + adds r2, r3\n\ + ldrh r0, [r2]\n\ + strh r0, [r4]\n\ + adds r4, 0x2\n\ + adds r6, 0x1\n\ + cmp r6, 0x5\n\ + ble _08185672\n\ +_08185696:\n\ + mov r1, r9\n\ + ldr r2, [r1]\n\ + ldr r3, =gTrainerBattleOpponent_A\n\ + ldrh r0, [r3]\n\ + ldr r4, =0xfffffed4\n\ + adds r0, r4\n\ + movs r1, 0xEC\n\ + muls r0, r1\n\ + adds r2, r0\n\ + ldr r5, =0x0000081c\n\ + adds r2, r5\n\ + ldrb r1, [r2]\n\ + b _08185856\n\ + .pool\n\ +_081856C4:\n\ + ldr r3, =gTrainerBattleOpponent_B\n\ + ldrh r3, [r3]\n\ + adds r0, r1, r3\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r0, 0x63\n\ + bls _081856D4\n\ + b _081857E4\n\ +_081856D4:\n\ + movs r6, 0\n\ + ldr r4, =0x00000504\n\ + adds r3, r7, r4\n\ + mov r10, r9\n\ + ldr r5, =gTrainerBattleOpponent_B\n\ + mov r12, r5\n\ + ldr r0, =0xfffffed4\n\ + mov r8, r0\n\ + ldr r4, =0x0000073c\n\ +_081856E6:\n\ + adds r2, r3, r6\n\ + mov r5, r10\n\ + ldr r1, [r5]\n\ + mov r5, r12\n\ + ldrh r0, [r5]\n\ + add r0, r8\n\ + movs r5, 0xEC\n\ + muls r0, r5\n\ + adds r0, r6, r0\n\ + adds r1, r4\n\ + adds r1, r0\n\ + ldrb r0, [r1]\n\ + strb r0, [r2]\n\ + adds r6, 0x1\n\ + cmp r6, 0x7\n\ + ble _081856E6\n\ + mov r0, r9\n\ + ldr r2, [r0]\n\ + ldr r1, =gTrainerBattleOpponent_B\n\ + ldrh r0, [r1]\n\ + ldr r3, =0xfffffed4\n\ + adds r0, r3\n\ + movs r1, 0xEC\n\ + muls r0, r1\n\ + adds r2, r0\n\ + ldr r4, =0x00000739\n\ + adds r2, r4\n\ + ldrb r1, [r2]\n\ + ldr r5, =0x0000050c\n\ + adds r0, r7, r5\n\ + strb r1, [r0]\n\ + ldr r1, =sUnknown_0203CCE8\n\ + ldrb r0, [r1]\n\ + cmp r0, 0x1\n\ + bne _08185784\n\ + movs r6, 0\n\ + ldr r2, =0x0000050e\n\ + adds r4, r7, r2\n\ + mov r10, r9\n\ + ldr r5, =gTrainerBattleOpponent_B\n\ + mov r8, r5\n\ + adds r5, r3, 0\n\ +_0818573A:\n\ + lsls r3, r6, 1\n\ + mov r0, r10\n\ + ldr r2, [r0]\n\ + mov r1, r8\n\ + ldrh r0, [r1]\n\ + adds r0, r5\n\ + movs r1, 0xEC\n\ + muls r0, r1\n\ + adds r3, r0\n\ + movs r0, 0xEC\n\ + lsls r0, 3\n\ + adds r2, r0\n\ + adds r2, r3\n\ + ldrh r0, [r2]\n\ + strh r0, [r4]\n\ + adds r4, 0x2\n\ + adds r6, 0x1\n\ + cmp r6, 0x5\n\ + ble _0818573A\n\ + b _081857B6\n\ + .pool\n\ +_08185784:\n\ + movs r6, 0\n\ + ldr r1, =0x0000050e\n\ + adds r4, r7, r1\n\ + mov r10, r9\n\ + ldr r2, =gTrainerBattleOpponent_B\n\ + mov r8, r2\n\ + adds r5, r3, 0\n\ +_08185792:\n\ + lsls r3, r6, 1\n\ + mov r0, r10\n\ + ldr r2, [r0]\n\ + mov r1, r8\n\ + ldrh r0, [r1]\n\ + adds r0, r5\n\ + movs r1, 0xEC\n\ + muls r0, r1\n\ + adds r3, r0\n\ + ldr r0, =0x00000754\n\ + adds r2, r0\n\ + adds r2, r3\n\ + ldrh r0, [r2]\n\ + strh r0, [r4]\n\ + adds r4, 0x2\n\ + adds r6, 0x1\n\ + cmp r6, 0x5\n\ + ble _08185792\n\ +_081857B6:\n\ + mov r1, r9\n\ + ldr r2, [r1]\n\ + ldr r3, =gTrainerBattleOpponent_B\n\ + ldrh r0, [r3]\n\ + ldr r4, =0xfffffed4\n\ + adds r0, r4\n\ + movs r1, 0xEC\n\ + muls r0, r1\n\ + adds r2, r0\n\ + ldr r5, =0x0000081c\n\ + adds r2, r5\n\ + ldrb r1, [r2]\n\ + b _08185856\n\ + .pool\n\ +_081857E4:\n\ + ldr r3, =gPartnerTrainerId\n\ + ldrh r3, [r3]\n\ + adds r0, r1, r3\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r0, 0x63\n\ + bhi _0818585C\n\ + movs r6, 0\n\ + ldr r4, =0x00000504\n\ + adds r3, r7, r4\n\ + mov r10, r9\n\ + ldr r5, =gPartnerTrainerId\n\ + mov r12, r5\n\ + ldr r0, =0xfffffed4\n\ + mov r8, r0\n\ + ldr r4, =0x0000073c\n\ +_08185804:\n\ + adds r2, r3, r6\n\ + mov r5, r10\n\ + ldr r1, [r5]\n\ + mov r5, r12\n\ + ldrh r0, [r5]\n\ + add r0, r8\n\ + movs r5, 0xEC\n\ + muls r0, r5\n\ + adds r0, r6, r0\n\ + adds r1, r4\n\ + adds r1, r0\n\ + ldrb r0, [r1]\n\ + strb r0, [r2]\n\ + adds r6, 0x1\n\ + cmp r6, 0x7\n\ + ble _08185804\n\ + mov r0, r9\n\ + ldr r1, [r0]\n\ + ldr r2, =gPartnerTrainerId\n\ + ldrh r0, [r2]\n\ + ldr r3, =0xfffffed4\n\ + adds r0, r3\n\ + movs r2, 0xEC\n\ + muls r0, r2\n\ + adds r1, r0\n\ + ldr r4, =0x00000739\n\ + adds r1, r4\n\ + ldrb r1, [r1]\n\ + ldr r5, =0x0000050c\n\ + adds r0, r7, r5\n\ + strb r1, [r0]\n\ + mov r0, r9\n\ + ldr r1, [r0]\n\ + ldr r4, =gPartnerTrainerId\n\ + ldrh r0, [r4]\n\ + adds r0, r3\n\ + muls r0, r2\n\ + adds r1, r0\n\ + ldr r5, =0x0000081c\n\ + adds r1, r5\n\ + ldrb r1, [r1]\n\ +_08185856:\n\ + ldr r2, =0x0000051a\n\ + adds r0, r7, r2\n\ + strb r1, [r0]\n\ +_0818585C:\n\ + ldr r3, =gTrainerBattleOpponent_A\n\ + ldrh r0, [r3]\n\ + ldr r1, =0x0000018f\n\ + cmp r0, r1\n\ + bls _08185900\n\ + mov r4, r9\n\ + ldr r2, [r4]\n\ + adds r1, r0, 0\n\ + ldr r3, =0xfffffe70\n\ + adds r1, r3\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r2, r0\n\ + adds r2, 0xDC\n\ + ldrb r0, [r2]\n\ + lsls r0, 27\n\ + lsrs r0, 27\n\ + ldr r5, =0x0000050d\n\ + adds r1, r7, r5\n\ + strb r0, [r1]\n\ + movs r6, 0\n\ + ldr r0, =0x0000050e\n\ + adds r4, r7, r0\n\ + mov r10, r9\n\ + ldr r1, =gTrainerBattleOpponent_A\n\ + mov r8, r1\n\ + adds r5, r3, 0\n\ +_08185894:\n\ + lsls r3, r6, 1\n\ + mov r0, r10\n\ + ldr r2, [r0]\n\ + mov r0, r8\n\ + ldrh r1, [r0]\n\ + adds r1, r5\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r3, r0\n\ + movs r1, 0x82\n\ + lsls r1, 1\n\ + adds r2, r1\n\ + adds r2, r3\n\ + ldrh r0, [r2]\n\ + strh r0, [r4]\n\ + adds r4, 0x2\n\ + adds r6, 0x1\n\ + cmp r6, 0x5\n\ + ble _08185894\n\ + mov r3, r9\n\ + ldr r2, [r3]\n\ + ldr r4, =gTrainerBattleOpponent_A\n\ + ldrh r1, [r4]\n\ + ldr r5, =0xfffffe70\n\ + adds r1, r5\n\ + b _081859AC\n\ + .pool\n\ +_08185900:\n\ + ldr r3, =gTrainerBattleOpponent_B\n\ + ldrh r0, [r3]\n\ + cmp r0, r1\n\ + bls _0818597C\n\ + mov r4, r9\n\ + ldr r2, [r4]\n\ + adds r1, r0, 0\n\ + ldr r3, =0xfffffe70\n\ + adds r1, r3\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r2, r0\n\ + adds r2, 0xDC\n\ + ldrb r0, [r2]\n\ + lsls r0, 27\n\ + lsrs r0, 27\n\ + ldr r5, =0x0000050d\n\ + adds r1, r7, r5\n\ + strb r0, [r1]\n\ + movs r6, 0\n\ + ldr r0, =0x0000050e\n\ + adds r4, r7, r0\n\ + mov r10, r9\n\ + ldr r1, =gTrainerBattleOpponent_B\n\ + mov r8, r1\n\ + adds r5, r3, 0\n\ +_08185936:\n\ + lsls r3, r6, 1\n\ + mov r0, r10\n\ + ldr r2, [r0]\n\ + mov r0, r8\n\ + ldrh r1, [r0]\n\ + adds r1, r5\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r3, r0\n\ + movs r1, 0x82\n\ + lsls r1, 1\n\ + adds r2, r1\n\ + adds r2, r3\n\ + ldrh r0, [r2]\n\ + strh r0, [r4]\n\ + adds r4, 0x2\n\ + adds r6, 0x1\n\ + cmp r6, 0x5\n\ + ble _08185936\n\ + mov r3, r9\n\ + ldr r2, [r3]\n\ + ldr r4, =gTrainerBattleOpponent_B\n\ + ldrh r1, [r4]\n\ + ldr r5, =0xfffffe70\n\ + adds r1, r5\n\ + b _081859AC\n\ + .pool\n\ +_0818597C:\n\ + ldr r3, =gPartnerTrainerId\n\ + ldrh r0, [r3]\n\ + cmp r0, r1\n\ + bls _081859C0\n\ + mov r4, r9\n\ + ldr r2, [r4]\n\ + adds r1, r0, 0\n\ + ldr r3, =0xfffffe70\n\ + adds r1, r3\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r2, r0\n\ + adds r2, 0xDC\n\ + ldrb r0, [r2]\n\ + lsls r0, 27\n\ + lsrs r0, 27\n\ + ldr r5, =0x0000050d\n\ + adds r1, r7, r5\n\ + strb r0, [r1]\n\ + ldr r2, [r4]\n\ + ldr r0, =gPartnerTrainerId\n\ + ldrh r1, [r0]\n\ + adds r1, r3\n\ +_081859AC:\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r2, r0\n\ + ldr r1, =0x0000011b\n\ + adds r0, r2, r1\n\ + ldrb r1, [r0]\n\ + ldr r2, =0x0000051b\n\ + adds r0, r7, r2\n\ + strb r1, [r0]\n\ +_081859C0:\n\ + movs r6, 0\n\ + ldr r3, =0x00000297\n\ + mov r10, r3\n\ + ldr r4, =sBattleRecords\n\ + mov r9, r4\n\ + movs r5, 0xA6\n\ + lsls r5, 2\n\ + mov r8, r5\n\ + ldr r0, =0x0000051c\n\ + adds r5, r7, r0\n\ +_081859D4:\n\ + adds r4, r6, 0x1\n\ + mov r0, r8\n\ + muls r0, r6\n\ + mov r1, r9\n\ + adds r2, r0, r1\n\ + adds r1, r0, r5\n\ + mov r3, r10\n\ + adds r3, 0x1\n\ +_081859E4:\n\ + ldrb r0, [r2]\n\ + strb r0, [r1]\n\ + adds r2, 0x1\n\ + adds r1, 0x1\n\ + subs r3, 0x1\n\ + cmp r3, 0\n\ + bne _081859E4\n\ + adds r6, r4, 0\n\ + cmp r6, 0x3\n\ + ble _081859D4\n\ +_081859F8:\n\ + adds r0, r7, 0\n\ + ldr r1, [sp]\n\ + bl sub_81852F0\n\ + adds r4, r0, 0\n\ + cmp r4, 0x1\n\ + beq _08185A14\n\ + ldr r0, [sp, 0x4]\n\ + adds r0, 0x1\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + str r0, [sp, 0x4]\n\ + cmp r0, 0x2\n\ + bls _081859F8\n\ +_08185A14:\n\ + adds r0, r7, 0\n\ + bl Free\n\ + ldr r0, [sp]\n\ + bl Free\n\ + adds r0, r4, 0\n\ + add sp, 0xC\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1\n\ + .pool\n\ + .syntax divided"); +} +#endif // NONMATCHING + +static bool32 TryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst, struct SaveSection *saveBuffer) +{ + if (TryCopySpecialSaveSection(SECTION_ID_RECORDED_BATTLE, (void*)(saveBuffer)) != 1) + return FALSE; + + memcpy(dst, saveBuffer, sizeof(struct RecordedBattleSave)); + + if (!IsRecordedBattleSaveValid(dst)) + return FALSE; + + return TRUE; +} + +static bool32 AllocTryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst) +{ + struct SaveSection *savBuffer = AllocZeroed(sizeof(struct SaveSection)); + bool32 ret = TryCopyRecordedBattleSaveData(dst, savBuffer); + Free(savBuffer); + + return ret; +} + +static void CB2_RecordedBattleEnd(void) +{ + gSaveBlock2Ptr->frontierChosenLvl = sUnknown_0203C7AD; + gBattleOutcome = 0; + gBattleTypeFlags = 0; + gTrainerBattleOpponent_A = 0; + gTrainerBattleOpponent_B = 0; + gPartnerTrainerId = 0; + + RecordedBattle_RestoreSavedParties(); + SetMainCallback2(sCallback2_AfterRecordedBattle); +} + +#define tFramesToWait data[0] + +static void Task_StartAfterCountdown(u8 taskId) +{ + if (--gTasks[taskId].tFramesToWait == 0) + { + gMain.savedCallback = CB2_RecordedBattleEnd; + SetMainCallback2(CB2_InitBattle); + DestroyTask(taskId); + } +} + +static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src) +{ + bool8 var; + s32 i, j; + + ZeroPlayerPartyMons(); + ZeroEnemyPartyMons(); + + for (i = 0; i < PARTY_SIZE; i++) + { + gPlayerParty[i] = src->playerParty[i]; + gEnemyParty[i] = src->opponentParty[i]; + } + + for (i = 0; i < MAX_BATTLERS_COUNT; i++) + { + for (var = FALSE, j = 0; j < PLAYER_NAME_LENGTH; j++) + { + gLinkPlayers[i].name[j] = src->playersName[i][j]; + if (src->playersName[i][j] == EOS) + var = TRUE; + } + gLinkPlayers[i].gender = src->playersGender[i]; + gLinkPlayers[i].language = src->playersLanguage[i]; + gLinkPlayers[i].lp_field_18 = src->playersBattlers[i]; + gLinkPlayers[i].trainerId = src->playersTrainerId[i]; + + if (var) + ConvertInternationalString(gLinkPlayers[i].name, gLinkPlayers[i].language); + } + + gRecordedBattleRngSeed = src->rngSeed; + gBattleTypeFlags = src->battleFlags | BATTLE_TYPE_RECORDED; + gTrainerBattleOpponent_A = src->opponentA; + gTrainerBattleOpponent_B = src->opponentB; + gPartnerTrainerId = src->partnerId; + gUnknown_0203C7B4 = src->field_4FA; + sUnknown_0203C7AD = gSaveBlock2Ptr->frontierChosenLvl; + sUnknown_0203C7AE = src->field_4FD; + sUnknown_0203C7AF = src->field_4FE; + sRecordedBattle_BattleStyle = src->battleStyle; + sRecordedBattle_TextSpeed = src->textSpeed; + sRecordedBattle_AI_Scripts = src->AI_scripts; + + for (i = 0; i < 8; i++) + { + sUnknown_0203CCD1[i] = src->field_504[i]; + } + + sUnknown_0203CCD9 = src->field_50C; + sUnknown_0203CCDA = src->field_50D; + gUnknown_03001278 = src->field_51A; + gUnknown_03001279 = src->field_51B; + + for (i = 0; i < 6; i++) + { + sUnknown_0203CCDC[i] = src->field_50E[i]; + } + + gSaveBlock2Ptr->frontierChosenLvl = src->field_4FC; + + for (i = 0; i < MAX_BATTLERS_COUNT; i++) + { + for (j = 0; j < BATTLER_RECORD_SIZE; j++) + { + sBattleRecords[i][j] = src->battleRecord[i][j]; + } + } +} + +void PlayRecordedBattle(void (*CB2_After)(void)) +{ + struct RecordedBattleSave *battleSave = AllocZeroed(sizeof(struct RecordedBattleSave)); + if (AllocTryCopyRecordedBattleSaveData(battleSave) == TRUE) + { + u8 taskId; + + RecordedBattle_SaveParties(); + SetRecordedBattleVarsFromSave(battleSave); + + taskId = CreateTask(Task_StartAfterCountdown, 1); + gTasks[taskId].tFramesToWait = 128; + + sCallback2_AfterRecordedBattle = CB2_After; + PlayMapChosenOrBattleBGM(FALSE); + SetMainCallback2(CB2_RecordedBattle); + } + Free(battleSave); +} + +#undef tFramesToWait + +static void CB2_RecordedBattle(void) +{ + AnimateSprites(); + BuildOamBuffer(); + RunTasks(); +} + +u8 sub_8185EA0(void) +{ + return sUnknown_0203C7AE; +} + +u8 sub_8185EAC(void) +{ + return sUnknown_0203C7AF; +} + +void RecordedBattle_SaveParties(void) +{ + s32 i; + + for (i = 0; i < PARTY_SIZE; i++) + { + sSavedPlayerParty[i] = gPlayerParty[i]; + sSavedOpponentParty[i] = gEnemyParty[i]; + } +} + +static void RecordedBattle_RestoreSavedParties(void) +{ + s32 i; + + for (i = 0; i < PARTY_SIZE; i++) + { + gPlayerParty[i] = sSavedPlayerParty[i]; + gEnemyParty[i] = sSavedOpponentParty[i]; + } +} + +u8 GetActiveBattlerLinkPlayerGender(void) +{ + s32 i; + + for (i = 0; i < MAX_LINK_PLAYERS; i++) + { + if (gLinkPlayers[i].lp_field_18 == gActiveBattler) + break; + } + + if (i != MAX_LINK_PLAYERS) + return gLinkPlayers[i].gender; + + return 0; +} + +void sub_8185F84(void) +{ + sUnknown_0203C7B5 = 0; +} + +void sub_8185F90(u16 arg0) +{ + sUnknown_0203C7B5 |= (arg0 & 0x8000) >> 0xF; +} + +u8 sub_8185FAC(void) +{ + return sUnknown_0203C7B5; +} + +u8 GetBattleStyleInRecordedBattle(void) +{ + return sRecordedBattle_BattleStyle; +} + +u8 GetTextSpeedInRecordedBattle(void) +{ + return sRecordedBattle_TextSpeed; +} + +void RecordedBattle_CopyBattlerMoves(void) +{ + s32 i; + + if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT) + return; + if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) + return; + if (sUnknown_0203C7AC == 2) + return; + + for (i = 0; i < 4; i++) + { + sRecordedBattle_PlayerMonMoves[gActiveBattler / 2][i] = gBattleMons[gActiveBattler].moves[i]; + } +} + +#define ACTION_MOVE_CHANGE 6 + +void sub_818603C(u8 arg0) +{ + s32 battlerId, j, k; + + if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) + return; + + for (battlerId = 0; battlerId < gBattlersCount; battlerId++) + { + if (GetBattlerSide(battlerId) != B_SIDE_OPPONENT) // player's side only + { + if (arg0 == 1) + { + for (j = 0; j < 4; j++) + { + if (gBattleMons[battlerId].moves[j] != sRecordedBattle_PlayerMonMoves[battlerId / 2][j]) + break; + } + if (j != 4) // player's mon's move has been changed + { + RecordedBattle_SetBattlerAction(battlerId, ACTION_MOVE_CHANGE); + for (j = 0; j < 4; j++) + { + for (k = 0; k < 4; k++) + { + if (gBattleMons[battlerId].moves[j] == sRecordedBattle_PlayerMonMoves[battlerId / 2][k]) + { + RecordedBattle_SetBattlerAction(battlerId, k); + break; + } + } + } + } + } + else + { + if (sBattleRecords[battlerId][sRecordedBytesNo[battlerId]] == ACTION_MOVE_CHANGE) + { + u8 ppBonuses[4]; + u8 array1[4]; + u8 array2[4]; + struct MovePp movePp; + u8 array3[8]; + u8 var; + + RecordedBattle_GetBattlerAction(battlerId); + for (j = 0; j < 4; j++) + { + ppBonuses[j] = ((gBattleMons[battlerId].ppBonuses & ((3 << (j << 1)))) >> (j << 1)); + } + for (j = 0; j < 4; j++) + { + array1[j] = RecordedBattle_GetBattlerAction(battlerId); + movePp.moves[j] = gBattleMons[battlerId].moves[array1[j]]; + movePp.pp[j] = gBattleMons[battlerId].pp[array1[j]]; + array3[j] = ppBonuses[array1[j]]; + array2[j] = (gDisableStructs[battlerId].unk18_b & gBitTable[j]) >> j; + } + for (j = 0; j < 4; j++) + { + gBattleMons[battlerId].moves[j] = movePp.moves[j]; + gBattleMons[battlerId].pp[j] = movePp.pp[j]; + } + gBattleMons[battlerId].ppBonuses = 0; + gDisableStructs[battlerId].unk18_b = 0; + for (j = 0; j < 4; j++) + { + gBattleMons[battlerId].ppBonuses |= (array3[j]) << (j << 1); + gDisableStructs[battlerId].unk18_b |= (array2[j]) << (j); + } + + if (!(gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED)) + { + for (j = 0; j < 4; j++) + { + ppBonuses[j] = ((GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PP_BONUSES, NULL) & ((3 << (j << 1)))) >> (j << 1)); + } + for (j = 0; j < 4; j++) + { + movePp.moves[j] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_MOVE1 + array1[j], NULL); + movePp.pp[j] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PP1 + array1[j], NULL); + array3[j] = ppBonuses[array1[j]]; + } + for (j = 0; j < 4; j++) + { + SetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_MOVE1 + j, &movePp.moves[j]); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PP1 + j, &movePp.pp[j]); + } + var = 0; + for (j = 0; j < 4; j++) + { + var |= (array3[j]) << (j << 1); + } + SetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PP_BONUSES, &var); + } + + gChosenMoveByBattler[battlerId] = gBattleMons[battlerId].moves[*(gBattleStruct->chosenMovePositions + battlerId)]; + } + } + } + } +} + +u32 GetAiScriptsInRecordedBattle(void) +{ + return sRecordedBattle_AI_Scripts; +} + +void sub_8186444(void) +{ + sUnknown_0203CCD0 = 1; +} + +bool8 sub_8186450(void) +{ + return (sUnknown_0203CCD0 == 0); +} + +void sub_8186468(u8 *dst) +{ + s32 i; + + for (i = 0; i < 8; i++) + dst[i] = sUnknown_0203CCD1[i]; + + dst[7] = EOS; + ConvertInternationalString(dst, gUnknown_03001278); +} + +u8 sub_818649C(void) +{ + return sUnknown_0203CCD9; +} + +u8 sub_81864A8(void) +{ + return sUnknown_0203CCDA; +} + +u8 sub_81864B4(void) +{ + return gUnknown_03001278; +} + +u8 sub_81864C0(void) +{ + return gUnknown_03001279; +} + +void sub_81864CC(void) +{ + sUnknown_0203CCE8 = gBattleOutcome; +} + +u16 *sub_81864E0(void) +{ + return sUnknown_0203CCDC; +} diff --git a/src/region_map.c b/src/region_map.c new file mode 100644 index 0000000000..086c0ba680 --- /dev/null +++ b/src/region_map.c @@ -0,0 +1,1948 @@ +#include "global.h" +#include "main.h" +#include "text.h" +#include "menu.h" +#include "malloc.h" +#include "gpu_regs.h" +#include "palette.h" +#include "party_menu.h" +#include "trig.h" +#include "constants/maps.h" +#include "overworld.h" +#include "constants/flags.h" +#include "event_data.h" +#include "rom6.h" +#include "secret_base.h" +#include "string_util.h" +#include "international_string_util.h" +#include "strings.h" +#include "text_window.h" +#include "constants/songs.h" +#include "m4a.h" +#include "field_effect.h" +#include "region_map.h" +#include "constants/region_map_sections.h" + +#define MAP_WIDTH 28 +#define MAP_HEIGHT 15 +#define MAPCURSOR_X_MIN 1 +#define MAPCURSOR_Y_MIN 2 +#define MAPCURSOR_X_MAX (MAPCURSOR_X_MIN + MAP_WIDTH - 1) +#define MAPCURSOR_Y_MAX (MAPCURSOR_Y_MIN + MAP_HEIGHT - 1) + +// Static type declarations + +struct RegionMapLocation +{ + u8 x; + u8 y; + u8 width; + u8 height; + const u8 *name; +}; + +// Static RAM declarations + +static EWRAM_DATA struct RegionMap *gRegionMap = NULL; +static EWRAM_DATA struct { + /*0x000*/ void (*unk_000)(void); + /*0x004*/ u16 unk_004; + /*0x006*/ u16 mapSecId; + /*0x008*/ struct RegionMap regionMap; + /*0x88c*/ u8 unk_88c[0x1c0]; + /*0xa4c*/ u8 unk_a4c[0x26]; + /*0xa72*/ bool8 unk_a72; +} *gUnknown_0203A148 = NULL; // a74 + +static bool32 gUnknown_03001180; +static bool32 gUnknown_03001184; + +// Static ROM declarations + +static u8 ProcessRegionMapInput_Full(void); +static u8 MoveRegionMapCursor_Full(void); +static u8 ProcessRegionMapInput_Zoomed(void); +static u8 MoveRegionMapCursor_Zoomed(void); +static void CalcZoomScrollParams(s16 scrollX, s16 scrollY, s16 c, s16 d, u16 e, u16 f, u8 rotation); +static u16 GetRegionMapSectionIdAt_Internal(u16 x, u16 y); +static void RegionMap_SetBG2XAndBG2Y(s16 x, s16 y); +static void RegionMap_InitializeStateBasedOnPlayerLocation(void); +static void RegionMap_InitializeStateBasedOnSSTidalLocation(void); +static u8 get_flagnr_blue_points(u16 mapSecId); +static u16 CorrectSpecialMapSecId_Internal(u16 mapSecId); +static u16 RegionMap_GetTerraCaveMapSecId(void); +static void RegionMap_GetMarineCaveCoords(u16 *x, u16 *y); +static bool32 RegionMap_IsPlayerInCave(u8 mapSecId); +static void RegionMap_GetPositionOfCursorWithinMapSection(void); +static bool8 RegionMap_IsMapSecIdInNextRow(u16 y); +static void SpriteCallback_CursorFull(struct Sprite *sprite); +static void FreeRegionMapCursorSprite(void); +static void HideRegionMapPlayerIcon(void); +static void UnhideRegionMapPlayerIcon(void); +static void RegionMapPlayerIconSpriteCallback_Zoomed(struct Sprite *sprite); +static void RegionMapPlayerIconSpriteCallback_Full(struct Sprite *sprite); +static void RegionMapPlayerIconSpriteCallback(struct Sprite *sprite); +static void sub_81248C0(void); +static void sub_81248D4(void); +static void sub_81248F4(void callback(void)); +static void sub_8124904(void); +static void sub_8124A70(void); +static void sub_8124AD4(void); +static void sub_8124BE4(void); +static void sub_8124CBC(struct Sprite *sprite); +static void sub_8124D14(void); +static void sub_8124D64(void); +static void sub_8124E0C(void); + +// .rodata + +static const u16 sRegionMapCursorPal[] = INCBIN_U16("graphics/pokenav/cursor.gbapal"); +static const u8 sRegionMapCursorSmallGfxLZ[] = INCBIN_U8("graphics/pokenav/cursor_small.4bpp.lz"); +static const u8 sRegionMapCursorLargeGfxLZ[] = INCBIN_U8("graphics/pokenav/cursor_large.4bpp.lz"); +static const u16 sRegionMapBkgnd_Pal[] = INCBIN_U16("graphics/pokenav/region_map.gbapal"); +static const u8 sRegionMapBkgnd_GfxLZ[] = INCBIN_U8("graphics/pokenav/region_map.8bpp.lz"); +static const u8 sRegionMapBkgnd_TilemapLZ[] = INCBIN_U8("graphics/pokenav/region_map_map.bin.lz"); +static const u16 sRegionMapPlayerIcon_BrendanPal[] = INCBIN_U16("graphics/pokenav/brendan_icon.gbapal"); +static const u8 sRegionMapPlayerIcon_BrendanGfx[] = INCBIN_U8("graphics/pokenav/brendan_icon.4bpp"); +static const u16 sRegionMapPlayerIcon_MayPal[] = INCBIN_U16("graphics/pokenav/may_icon.gbapal"); +static const u8 sRegionMapPlayerIcon_MayGfx[] = INCBIN_U8("graphics/pokenav/may_icon.4bpp"); + +static const u8 sRegionMap_MapSectionLayout[] = INCBIN_U8("graphics/pokenav/region_map_section_layout.bin"); + +#include "data/region_map/region_map_entries.h" + +static const u16 sRegionMap_SpecialPlaceLocations[][2] = { + {MAPSEC_UNDERWATER_TERRA_CAVE, MAPSEC_ROUTE_105}, + {MAPSEC_UNDERWATER_124, MAPSEC_ROUTE_124}, + {MAPSEC_UNDERWATER_UNK1, MAPSEC_ROUTE_129}, + {MAPSEC_UNDERWATER_125, MAPSEC_ROUTE_126}, + {MAPSEC_UNDERWATER_126, MAPSEC_ROUTE_127}, + {MAPSEC_UNDERWATER_127, MAPSEC_ROUTE_128}, + {MAPSEC_UNDERWATER_129, MAPSEC_ROUTE_129}, + {MAPSEC_UNDERWATER_SOOTOPOLIS, MAPSEC_SOOTOPOLIS_CITY}, + {MAPSEC_UNDERWATER_128, MAPSEC_ROUTE_128}, + {MAPSEC_AQUA_HIDEOUT, MAPSEC_LILYCOVE_CITY}, + {MAPSEC_AQUA_HIDEOUT_OLD, MAPSEC_LILYCOVE_CITY}, + {MAPSEC_MAGMA_HIDEOUT, MAPSEC_ROUTE_112}, + {MAPSEC_UNDERWATER_SEALED_CHAMBER, MAPSEC_ROUTE_134}, + {MAPSEC_PETALBURG_WOODS, MAPSEC_ROUTE_104}, + {MAPSEC_JAGGED_PASS, MAPSEC_ROUTE_112}, + {MAPSEC_MT_PYRE, MAPSEC_ROUTE_122}, + {MAPSEC_SKY_PILLAR, MAPSEC_ROUTE_131}, + {MAPSEC_MIRAGE_TOWER, MAPSEC_ROUTE_111}, + {MAPSEC_TRAINER_HILL, MAPSEC_ROUTE_111}, + {MAPSEC_DESERT_UNDERPASS, MAPSEC_ROUTE_114}, + {MAPSEC_ALTERING_CAVE_2, MAPSEC_ROUTE_103}, + {MAPSEC_ARTISAN_CAVE, MAPSEC_ROUTE_103}, + {MAPSEC_ABANDONED_SHIP, MAPSEC_ROUTE_108}, + {MAPSEC_NONE, MAPSEC_NONE} +}; + +static const u16 sRegionMap_MarineCaveMapSecIds[] = { + MAPSEC_MARINE_CAVE, + MAPSEC_UNDERWATER_MARINE_CAVE, + MAPSEC_UNDERWATER_MARINE_CAVE +}; + +static const u16 sTerraCaveMapSectionIds[] = { + MAPSEC_ROUTE_114, + MAPSEC_ROUTE_114, + MAPSEC_ROUTE_115, + MAPSEC_ROUTE_115, + MAPSEC_ROUTE_116, + MAPSEC_ROUTE_116, + MAPSEC_ROUTE_118, + MAPSEC_ROUTE_118, + MAPSEC_ROUTE_105, + MAPSEC_ROUTE_105, + MAPSEC_ROUTE_125, + MAPSEC_ROUTE_125, + MAPSEC_ROUTE_127, + MAPSEC_ROUTE_127, + MAPSEC_ROUTE_129, + MAPSEC_ROUTE_129 +}; + +static const struct UCoords16 sTerraCaveLocationCoords[] = { + {0x00, 0x0a}, + {0x00, 0x0c}, + {0x18, 0x03}, + {0x19, 0x04}, + {0x19, 0x06}, + {0x19, 0x07}, + {0x18, 0x0a}, + {0x18, 0x0a} +}; + +static const u8 sRegionMap_MapSecAquaHideoutOld[] = { + MAPSEC_AQUA_HIDEOUT_OLD +}; + +static const struct OamData sRegionMapCursorOam = { + .size = 1, .priority = 1 +}; + +static const union AnimCmd sRegionMapCursorAnim1[] = { + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(4, 20), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd sRegionMapCursorAnim2[] = { + ANIMCMD_FRAME( 0, 10), + ANIMCMD_FRAME(16, 10), + ANIMCMD_FRAME(32, 10), + ANIMCMD_FRAME(16, 10), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const sRegionMapCursorAnimTable[] = { + sRegionMapCursorAnim1, + sRegionMapCursorAnim2 +}; + +static const struct SpritePalette sRegionMapCursorSpritePalette = { sRegionMapCursorPal, 0 }; + +static const struct SpriteTemplate sRegionMapCursorSpriteTemplate = { + 0, + 0, + &sRegionMapCursorOam, + sRegionMapCursorAnimTable, + NULL, + gDummySpriteAffineAnimTable, + SpriteCallback_CursorFull +}; + +static const struct OamData sRegionMapPlayerIconOam = { + .size = 1, .priority = 2 +}; + +static const union AnimCmd sRegionMapPlayerIconAnim1[] = { + ANIMCMD_FRAME(0, 5), + ANIMCMD_END +}; + +static const union AnimCmd *const sRegionMapPlayerIconAnimTable[] = { + sRegionMapPlayerIconAnim1 +}; + +static const u8 sRegionMapEventSectionIds[] = { + MAPSEC_BIRTH_ISLAND_2, + MAPSEC_FARAWAY_ISLAND, + MAPSEC_NAVEL_ROCK2 +}; + +static const u16 sRegionMapFramePal[] = INCBIN_U16("graphics/pokenav/map_frame.gbapal"); + +static const u8 sRegionMapFrameGfxLZ[] = INCBIN_U8("graphics/pokenav/map_frame.4bpp.lz"); + +static const u8 sRegionMapFrameTilemapLZ[] = INCBIN_U8("graphics/pokenav/map_frame.bin.lz"); + +static const u16 Unknown_085A1D48[] = INCBIN_U16("graphics/pokenav/fly_target_icons.gbapal"); + +static const u8 sUnknown_085A1D68[] = INCBIN_U8("graphics/pokenav/fly_target_icons.4bpp.lz"); + +static const u8 sUnknown_085A1E3C[][3] = { + {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), 1}, + {MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), 14}, + {MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), 15}, + {MAP_GROUP(LAVARIDGE_TOWN), MAP_NUM(LAVARIDGE_TOWN), 16}, + {MAP_GROUP(FALLARBOR_TOWN), MAP_NUM(FALLARBOR_TOWN), 17}, + {MAP_GROUP(VERDANTURF_TOWN), MAP_NUM(VERDANTURF_TOWN), 18}, + {MAP_GROUP(PACIFIDLOG_TOWN), MAP_NUM(PACIFIDLOG_TOWN), 19}, + {MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), 3}, + {MAP_GROUP(SLATEPORT_CITY), MAP_NUM(SLATEPORT_CITY), 4}, + {MAP_GROUP(MAUVILLE_CITY), MAP_NUM(MAUVILLE_CITY), 5}, + {MAP_GROUP(RUSTBORO_CITY), MAP_NUM(RUSTBORO_CITY), 6}, + {MAP_GROUP(FORTREE_CITY), MAP_NUM(FORTREE_CITY), 7}, + {MAP_GROUP(LILYCOVE_CITY), MAP_NUM(LILYCOVE_CITY), 8}, + {MAP_GROUP(MOSSDEEP_CITY), MAP_NUM(MOSSDEEP_CITY), 9}, + {MAP_GROUP(SOOTOPOLIS_CITY), MAP_NUM(SOOTOPOLIS_CITY), 10}, + {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), 11}, + {MAP_GROUP(ROUTE101), MAP_NUM(ROUTE101), 0}, + {MAP_GROUP(ROUTE102), MAP_NUM(ROUTE102), 0}, + {MAP_GROUP(ROUTE103), MAP_NUM(ROUTE103), 0}, + {MAP_GROUP(ROUTE104), MAP_NUM(ROUTE104), 0}, + {MAP_GROUP(ROUTE105), MAP_NUM(ROUTE105), 0}, + {MAP_GROUP(ROUTE106), MAP_NUM(ROUTE106), 0}, + {MAP_GROUP(ROUTE107), MAP_NUM(ROUTE107), 0}, + {MAP_GROUP(ROUTE108), MAP_NUM(ROUTE108), 0}, + {MAP_GROUP(ROUTE109), MAP_NUM(ROUTE109), 0}, + {MAP_GROUP(ROUTE110), MAP_NUM(ROUTE110), 0}, + {MAP_GROUP(ROUTE111), MAP_NUM(ROUTE111), 0}, + {MAP_GROUP(ROUTE112), MAP_NUM(ROUTE112), 0}, + {MAP_GROUP(ROUTE113), MAP_NUM(ROUTE113), 0}, + {MAP_GROUP(ROUTE114), MAP_NUM(ROUTE114), 0}, + {MAP_GROUP(ROUTE115), MAP_NUM(ROUTE115), 0}, + {MAP_GROUP(ROUTE116), MAP_NUM(ROUTE116), 0}, + {MAP_GROUP(ROUTE117), MAP_NUM(ROUTE117), 0}, + {MAP_GROUP(ROUTE118), MAP_NUM(ROUTE118), 0}, + {MAP_GROUP(ROUTE119), MAP_NUM(ROUTE119), 0}, + {MAP_GROUP(ROUTE120), MAP_NUM(ROUTE120), 0}, + {MAP_GROUP(ROUTE121), MAP_NUM(ROUTE121), 0}, + {MAP_GROUP(ROUTE122), MAP_NUM(ROUTE122), 0}, + {MAP_GROUP(ROUTE123), MAP_NUM(ROUTE123), 0}, + {MAP_GROUP(ROUTE124), MAP_NUM(ROUTE124), 0}, + {MAP_GROUP(ROUTE125), MAP_NUM(ROUTE125), 0}, + {MAP_GROUP(ROUTE126), MAP_NUM(ROUTE126), 0}, + {MAP_GROUP(ROUTE127), MAP_NUM(ROUTE127), 0}, + {MAP_GROUP(ROUTE128), MAP_NUM(ROUTE128), 0}, + {MAP_GROUP(ROUTE129), MAP_NUM(ROUTE129), 0}, + {MAP_GROUP(ROUTE130), MAP_NUM(ROUTE130), 0}, + {MAP_GROUP(ROUTE131), MAP_NUM(ROUTE131), 0}, + {MAP_GROUP(ROUTE132), MAP_NUM(ROUTE132), 0}, + {MAP_GROUP(ROUTE133), MAP_NUM(ROUTE133), 0}, + {MAP_GROUP(ROUTE134), MAP_NUM(ROUTE134), 0} +}; + +static const u8 *const gUnknown_085A1ED4[] = { + gText_PokemonLeague, + gText_PokemonCenter +}; + +static const struct { + const u8 *const *name; + u16 mapSecId; + u16 flag; +} gUnknown_085A1EDC[] = { + gUnknown_085A1ED4, + MAPSEC_EVER_GRANDE_CITY, + FLAG_LANDMARK_POKEMON_LEAGUE +}; + +static const struct BgTemplate gUnknown_085A1EE4[] = { + { .bg = 0, .charBaseIndex = 0, .mapBaseIndex = 31, .screenSize = 0, .paletteMode = 0, .priority = 0 }, + { .bg = 1, .charBaseIndex = 3, .mapBaseIndex = 30, .screenSize = 0, .paletteMode = 0, .priority = 1 }, + { .bg = 2, .charBaseIndex = 2, .mapBaseIndex = 28, .screenSize = 2, .paletteMode = 1, .priority = 2 } +}; + +static const struct WindowTemplate gUnknown_085A1EF0[] = { + { 0, 17, 17, 12, 2, 15, 0x01 }, + { 0, 17, 15, 12, 4, 15, 0x19 }, + { 0, 1, 18, 14, 2, 15, 0x49 }, + DUMMY_WIN_TEMPLATE +}; + +static const struct SpritePalette gUnknown_085A1F10 = { + Unknown_085A1D48, 2 +}; + +static const u16 sUnknown_085A1F18[][2] = { + {FLAG_LANDMARK_BATTLE_FRONTIER, MAPSEC_BATTLE_FRONTIER}, + {-1, MAPSEC_NONE} +}; + +static const struct OamData gOamData_085A1F20 = { + .priority = 2 +}; + +static const union AnimCmd gUnknown_085A1F28[] = { + ANIMCMD_FRAME( 0, 5), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_085A1F30[] = { + ANIMCMD_FRAME( 1, 5), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_085A1F38[] = { + ANIMCMD_FRAME( 3, 5), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_085A1F40[] = { + ANIMCMD_FRAME( 5, 5), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_085A1F48[] = { + ANIMCMD_FRAME( 6, 5), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_085A1F50[] = { + ANIMCMD_FRAME( 8, 5), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_085A1F58[] = { + ANIMCMD_FRAME(10, 5), + ANIMCMD_END +}; + +static const union AnimCmd *const gUnknown_085A1F60[] = { + gUnknown_085A1F28, + gUnknown_085A1F30, + gUnknown_085A1F38, + gUnknown_085A1F40, + gUnknown_085A1F48, + gUnknown_085A1F50, + gUnknown_085A1F58 +}; + +static const struct SpriteTemplate gUnknown_085A1F7C = { + 2, + 2, + &gOamData_085A1F20, + gUnknown_085A1F60, + NULL, + gDummySpriteAffineAnimTable, + SpriteCallbackDummy +}; + +// .text + +void InitRegionMap(struct RegionMap *regionMap, bool8 zoomed) +{ + sub_8122CF8(regionMap, NULL, zoomed); + while (sub_8122DB0()); +} + +void sub_8122CF8(struct RegionMap *regionMap, struct BgTemplate *template, bool8 zoomed) +{ + gRegionMap = regionMap; + gRegionMap->initStep = 0; + gRegionMap->zoomed = zoomed; + gRegionMap->inputCallback = zoomed == TRUE ? ProcessRegionMapInput_Zoomed : ProcessRegionMapInput_Full; + if (template != NULL) + { + gRegionMap->bgNum = template->bg; + gRegionMap->charBaseIdx = template->charBaseIndex; + gRegionMap->mapBaseIdx = template->mapBaseIndex; + gRegionMap->bgManaged = TRUE; + } + else + { + gRegionMap->bgNum = 2; + gRegionMap->charBaseIdx = 2; + gRegionMap->mapBaseIdx = 28; + gRegionMap->bgManaged = FALSE; + } +} + +void sub_8122D88(struct RegionMap *regionMap) +{ + gRegionMap = regionMap; + RegionMap_InitializeStateBasedOnPlayerLocation(); + gRegionMap->playerIconSpritePosX = gRegionMap->cursorPosX; + gRegionMap->playerIconSpritePosY = gRegionMap->cursorPosY; +} + +bool8 sub_8122DB0(void) +{ + switch (gRegionMap->initStep) + { + case 0: + if (gRegionMap->bgManaged) + { + decompress_and_copy_tile_data_to_vram(gRegionMap->bgNum, sRegionMapBkgnd_GfxLZ, 0, 0, 0); + } + else + { + LZ77UnCompVram(sRegionMapBkgnd_GfxLZ, (u16 *)BG_CHAR_ADDR(2)); + } + break; + case 1: + if (gRegionMap->bgManaged) + { + if (!free_temp_tile_data_buffers_if_possible()) + { + decompress_and_copy_tile_data_to_vram(gRegionMap->bgNum, sRegionMapBkgnd_TilemapLZ, 0, 0, 1); + } + } + else + { + LZ77UnCompVram(sRegionMapBkgnd_TilemapLZ, (u16 *)BG_SCREEN_ADDR(28)); + } + break; + case 2: + if (!free_temp_tile_data_buffers_if_possible()) + { + LoadPalette(sRegionMapBkgnd_Pal, 0x70, 0x60); + } + break; + case 3: + LZ77UnCompWram(sRegionMapCursorSmallGfxLZ, gRegionMap->cursorSmallImage); + break; + case 4: + LZ77UnCompWram(sRegionMapCursorLargeGfxLZ, gRegionMap->cursorLargeImage); + break; + case 5: + RegionMap_InitializeStateBasedOnPlayerLocation(); + gRegionMap->playerIconSpritePosX = gRegionMap->cursorPosX; + gRegionMap->playerIconSpritePosY = gRegionMap->cursorPosY; + gRegionMap->mapSecId = CorrectSpecialMapSecId_Internal(gRegionMap->mapSecId); + gRegionMap->iconDrawType = get_flagnr_blue_points(gRegionMap->mapSecId); + GetMapName(gRegionMap->mapSecName, gRegionMap->mapSecId, 16); + break; + case 6: + if (gRegionMap->zoomed == FALSE) + { + CalcZoomScrollParams(0, 0, 0, 0, 0x100, 0x100, 0); + } + else + { + gRegionMap->scrollX = gRegionMap->cursorPosX * 8 - 0x34; + gRegionMap->scrollY = gRegionMap->cursorPosY * 8 - 0x44; + gRegionMap->zoomedCursorPosX = gRegionMap->cursorPosX; + gRegionMap->zoomedCursorPosY = gRegionMap->cursorPosY; + CalcZoomScrollParams(gRegionMap->scrollX, gRegionMap->scrollY, 0x38, 0x48, 0x80, 0x80, 0); + } + break; + case 7: + RegionMap_GetPositionOfCursorWithinMapSection(); + UpdateRegionMapVideoRegs(); + gRegionMap->cursorSprite = NULL; + gRegionMap->playerIconSprite = NULL; + gRegionMap->cursorMovementFrameCounter = 0; + gRegionMap->blinkPlayerIcon = FALSE; + if (gRegionMap->bgManaged) + { + SetBgAttribute(gRegionMap->bgNum, BG_CTRL_ATTR_MAPBASEINDEX, 2); + SetBgAttribute(gRegionMap->bgNum, BG_CTRL_ATTR_VISIBLE, gRegionMap->charBaseIdx); + SetBgAttribute(gRegionMap->bgNum, BG_CTRL_ATTR_CHARBASEINDEX, gRegionMap->mapBaseIdx); + SetBgAttribute(gRegionMap->bgNum, BG_CTRL_ATTR_PRIORITY, 1); + SetBgAttribute(gRegionMap->bgNum, BG_CTRL_ATTR_SCREENSIZE, 1); + } + gRegionMap->initStep++; + return FALSE; + default: + return FALSE; + } + gRegionMap->initStep++; + return TRUE; +} + +void sub_8123030(u16 a0, u32 a1) +{ + BlendPalettes(0x380, a1, a0); + CpuCopy16(gPlttBufferFaded + 0x70, gPlttBufferUnfaded + 0x70, 0x60); +} + +void FreeRegionMapIconResources(void) +{ + if (gRegionMap->cursorSprite != NULL) + { + DestroySprite(gRegionMap->cursorSprite); + FreeSpriteTilesByTag(gRegionMap->cursorTileTag); + FreeSpritePaletteByTag(gRegionMap->cursorPaletteTag); + } + if (gRegionMap->playerIconSprite != NULL) + { + DestroySprite(gRegionMap->playerIconSprite); + FreeSpriteTilesByTag(gRegionMap->playerIconTileTag); + FreeSpritePaletteByTag(gRegionMap->playerIconPaletteTag); + } +} + +u8 sub_81230AC(void) +{ + return gRegionMap->inputCallback(); +} + +static u8 ProcessRegionMapInput_Full(void) +{ + u8 input; + + input = INPUT_EVENT_NONE; + gRegionMap->cursorDeltaX = 0; + gRegionMap->cursorDeltaY = 0; + if (gMain.heldKeys & DPAD_UP && gRegionMap->cursorPosY > MAPCURSOR_Y_MIN) + { + gRegionMap->cursorDeltaY = -1; + input = INPUT_EVENT_MOVE_START; + } + if (gMain.heldKeys & DPAD_DOWN && gRegionMap->cursorPosY < MAPCURSOR_Y_MAX) + { + gRegionMap->cursorDeltaY = +1; + input = INPUT_EVENT_MOVE_START; + } + if (gMain.heldKeys & DPAD_LEFT && gRegionMap->cursorPosX > MAPCURSOR_X_MIN) + { + gRegionMap->cursorDeltaX = -1; + input = INPUT_EVENT_MOVE_START; + } + if (gMain.heldKeys & DPAD_RIGHT && gRegionMap->cursorPosX < MAPCURSOR_X_MAX) + { + gRegionMap->cursorDeltaX = +1; + input = INPUT_EVENT_MOVE_START; + } + if (gMain.newKeys & A_BUTTON) + { + input = INPUT_EVENT_A_BUTTON; + } + else if (gMain.newKeys & B_BUTTON) + { + input = INPUT_EVENT_B_BUTTON; + } + if (input == INPUT_EVENT_MOVE_START) + { + gRegionMap->cursorMovementFrameCounter = 4; + gRegionMap->inputCallback = MoveRegionMapCursor_Full; + } + return input; +} + +static u8 MoveRegionMapCursor_Full(void) +{ + u16 mapSecId; + + if (gRegionMap->cursorMovementFrameCounter != 0) + { + return INPUT_EVENT_MOVE_CONT; + } + if (gRegionMap->cursorDeltaX > 0) + { + gRegionMap->cursorPosX++; + } + if (gRegionMap->cursorDeltaX < 0) + { + gRegionMap->cursorPosX--; + } + if (gRegionMap->cursorDeltaY > 0) + { + gRegionMap->cursorPosY++; + } + if (gRegionMap->cursorDeltaY < 0) + { + gRegionMap->cursorPosY--; + } + mapSecId = GetRegionMapSectionIdAt_Internal(gRegionMap->cursorPosX, gRegionMap->cursorPosY); + gRegionMap->iconDrawType = get_flagnr_blue_points(mapSecId); + if (mapSecId != gRegionMap->mapSecId) + { + gRegionMap->mapSecId = mapSecId; + GetMapName(gRegionMap->mapSecName, gRegionMap->mapSecId, 16); + } + RegionMap_GetPositionOfCursorWithinMapSection(); + gRegionMap->inputCallback = ProcessRegionMapInput_Full; + return INPUT_EVENT_MOVE_END; +} + +static u8 ProcessRegionMapInput_Zoomed(void) +{ + u8 input; + + input = INPUT_EVENT_NONE; + gRegionMap->zoomedCursorDeltaX = 0; + gRegionMap->zoomedCursorDeltaY = 0; + if (gMain.heldKeys & DPAD_UP && gRegionMap->scrollY > -0x34) + { + gRegionMap->zoomedCursorDeltaY = -1; + input = INPUT_EVENT_MOVE_START; + } + if (gMain.heldKeys & DPAD_DOWN && gRegionMap->scrollY < 0x3c) + { + gRegionMap->zoomedCursorDeltaY = +1; + input = INPUT_EVENT_MOVE_START; + } + if (gMain.heldKeys & DPAD_LEFT && gRegionMap->scrollX > -0x2c) + { + gRegionMap->zoomedCursorDeltaX = -1; + input = INPUT_EVENT_MOVE_START; + } + if (gMain.heldKeys & DPAD_RIGHT && gRegionMap->scrollX < 0xac) + { + gRegionMap->zoomedCursorDeltaX = +1; + input = INPUT_EVENT_MOVE_START; + } + if (gMain.newKeys & A_BUTTON) + { + input = INPUT_EVENT_A_BUTTON; + } + if (gMain.newKeys & B_BUTTON) + { + input = INPUT_EVENT_B_BUTTON; + } + if (input == INPUT_EVENT_MOVE_START) + { + gRegionMap->inputCallback = MoveRegionMapCursor_Zoomed; + gRegionMap->zoomedCursorMovementFrameCounter = 0; + } + return input; +} + +static u8 MoveRegionMapCursor_Zoomed(void) +{ + u16 x; + u16 y; + u16 mapSecId; + + gRegionMap->scrollY += gRegionMap->zoomedCursorDeltaY; + gRegionMap->scrollX += gRegionMap->zoomedCursorDeltaX; + RegionMap_SetBG2XAndBG2Y(gRegionMap->scrollX, gRegionMap->scrollY); + gRegionMap->zoomedCursorMovementFrameCounter++; + if (gRegionMap->zoomedCursorMovementFrameCounter == 8) + { + x = (gRegionMap->scrollX + 0x2c) / 8 + 1; + y = (gRegionMap->scrollY + 0x34) / 8 + 2; + if (x != gRegionMap->zoomedCursorPosX || y != gRegionMap->zoomedCursorPosY) + { + gRegionMap->zoomedCursorPosX = x; + gRegionMap->zoomedCursorPosY = y; + mapSecId = GetRegionMapSectionIdAt_Internal(x, y); + gRegionMap->iconDrawType = get_flagnr_blue_points(mapSecId); + if (mapSecId != gRegionMap->mapSecId) + { + gRegionMap->mapSecId = mapSecId; + GetMapName(gRegionMap->mapSecName, gRegionMap->mapSecId, 16); + } + RegionMap_GetPositionOfCursorWithinMapSection(); + } + gRegionMap->zoomedCursorMovementFrameCounter = 0; + gRegionMap->inputCallback = ProcessRegionMapInput_Zoomed; + return INPUT_EVENT_MOVE_END; + } + return INPUT_EVENT_MOVE_CONT; +} + +void sub_8123418(void) +{ + if (gRegionMap->zoomed == FALSE) + { + gRegionMap->scrollY = 0; + gRegionMap->scrollX = 0; + gRegionMap->unk_040 = 0; + gRegionMap->unk_03c = 0; + gRegionMap->unk_060 = gRegionMap->cursorPosX * 8 - 0x34; + gRegionMap->unk_062 = gRegionMap->cursorPosY * 8 - 0x44; + gRegionMap->unk_044 = (gRegionMap->unk_060 << 8) / 16; + gRegionMap->unk_048 = (gRegionMap->unk_062 << 8) / 16; + gRegionMap->zoomedCursorPosX = gRegionMap->cursorPosX; + gRegionMap->zoomedCursorPosY = gRegionMap->cursorPosY; + gRegionMap->unk_04c = 0x10000; + gRegionMap->unk_050 = -0x800; + } + else + { + gRegionMap->unk_03c = gRegionMap->scrollX * 0x100; + gRegionMap->unk_040 = gRegionMap->scrollY * 0x100; + gRegionMap->unk_060 = 0; + gRegionMap->unk_062 = 0; + gRegionMap->unk_044 = -(gRegionMap->unk_03c / 16); + gRegionMap->unk_048 = -(gRegionMap->unk_040 / 16); + gRegionMap->cursorPosX = gRegionMap->zoomedCursorPosX; + gRegionMap->cursorPosY = gRegionMap->zoomedCursorPosY; + gRegionMap->unk_04c = 0x8000; + gRegionMap->unk_050 = 0x800; + } + gRegionMap->unk_06e = 0; + FreeRegionMapCursorSprite(); + HideRegionMapPlayerIcon(); +} + +bool8 sub_8123514(void) +{ + bool8 retVal; + + if (gRegionMap->unk_06e >= 16) + { + return 0; + } + gRegionMap->unk_06e++; + if (gRegionMap->unk_06e == 16) + { + gRegionMap->unk_044 = 0; + gRegionMap->unk_048 = 0; + gRegionMap->scrollX = gRegionMap->unk_060; + gRegionMap->scrollY = gRegionMap->unk_062; + gRegionMap->unk_04c = (gRegionMap->zoomed == FALSE) ? (128 << 8) : (256 << 8); + gRegionMap->zoomed = !gRegionMap->zoomed; + gRegionMap->inputCallback = (gRegionMap->zoomed == FALSE) ? ProcessRegionMapInput_Full : ProcessRegionMapInput_Zoomed; + CreateRegionMapCursor(gRegionMap->cursorTileTag, gRegionMap->cursorPaletteTag); + UnhideRegionMapPlayerIcon(); + retVal = FALSE; + } + else + { + gRegionMap->unk_03c += gRegionMap->unk_044; + gRegionMap->unk_040 += gRegionMap->unk_048; + gRegionMap->scrollX = gRegionMap->unk_03c >> 8; + gRegionMap->scrollY = gRegionMap->unk_040 >> 8; + gRegionMap->unk_04c += gRegionMap->unk_050; + if ((gRegionMap->unk_044 < 0 && gRegionMap->scrollX < gRegionMap->unk_060) || (gRegionMap->unk_044 > 0 && gRegionMap->scrollX > gRegionMap->unk_060)) + { + gRegionMap->scrollX = gRegionMap->unk_060; + gRegionMap->unk_044 = 0; + } + if ((gRegionMap->unk_048 < 0 && gRegionMap->scrollY < gRegionMap->unk_062) || (gRegionMap->unk_048 > 0 && gRegionMap->scrollY > gRegionMap->unk_062)) + { + gRegionMap->scrollY = gRegionMap->unk_062; + gRegionMap->unk_048 = 0; + } + if (gRegionMap->zoomed == FALSE) + { + if (gRegionMap->unk_04c < (128 << 8)) + { + gRegionMap->unk_04c = (128 << 8); + gRegionMap->unk_050 = 0; + } + } + else + { + if (gRegionMap->unk_04c > (256 << 8)) + { + gRegionMap->unk_04c = (256 << 8); + gRegionMap->unk_050 = 0; + } + } + retVal = TRUE; + } + CalcZoomScrollParams(gRegionMap->scrollX, gRegionMap->scrollY, 0x38, 0x48, gRegionMap->unk_04c >> 8, gRegionMap->unk_04c >> 8, 0); + return retVal; +} + +static void CalcZoomScrollParams(s16 scrollX, s16 scrollY, s16 c, s16 d, u16 e, u16 f, u8 rotation) +{ + s32 var1; + s32 var2; + s32 var3; + s32 var4; + + gRegionMap->bg2pa = e * gSineTable[rotation + 64] >> 8; + gRegionMap->bg2pc = e * -gSineTable[rotation] >> 8; + gRegionMap->bg2pb = f * gSineTable[rotation] >> 8; + gRegionMap->bg2pd = f * gSineTable[rotation + 64] >> 8; + + var1 = (scrollX << 8) + (c << 8); + var2 = d * gRegionMap->bg2pb + gRegionMap->bg2pa * c; + gRegionMap->bg2x = var1 - var2; + + var3 = (scrollY << 8) + (d << 8); + var4 = gRegionMap->bg2pd * d + gRegionMap->bg2pc * c; + gRegionMap->bg2y = var3 - var4; + + gRegionMap->needUpdateVideoRegs = TRUE; +} + +static void RegionMap_SetBG2XAndBG2Y(s16 x, s16 y) +{ + gRegionMap->bg2x = (x << 8) + 0x1c00; + gRegionMap->bg2y = (y << 8) + 0x2400; + gRegionMap->needUpdateVideoRegs = TRUE; +} + +void UpdateRegionMapVideoRegs(void) +{ + if (gRegionMap->needUpdateVideoRegs) + { + SetGpuReg(REG_OFFSET_BG2PA, gRegionMap->bg2pa); + SetGpuReg(REG_OFFSET_BG2PB, gRegionMap->bg2pb); + SetGpuReg(REG_OFFSET_BG2PC, gRegionMap->bg2pc); + SetGpuReg(REG_OFFSET_BG2PD, gRegionMap->bg2pd); + SetGpuReg(REG_OFFSET_BG2X_L, gRegionMap->bg2x); + SetGpuReg(REG_OFFSET_BG2X_H, gRegionMap->bg2x >> 16); + SetGpuReg(REG_OFFSET_BG2Y_L, gRegionMap->bg2y); + SetGpuReg(REG_OFFSET_BG2Y_H, gRegionMap->bg2y >> 16); + gRegionMap->needUpdateVideoRegs = FALSE; + } +} + +void PokedexAreaScreen_UpdateRegionMapVariablesAndVideoRegs(s16 x, s16 y) +{ + CalcZoomScrollParams(x, y, 0x38, 0x48, 0x100, 0x100, 0); + UpdateRegionMapVideoRegs(); + if (gRegionMap->playerIconSprite != NULL) + { + gRegionMap->playerIconSprite->pos2.x = -x; + gRegionMap->playerIconSprite->pos2.y = -y; + } +} + +static u16 GetRegionMapSectionIdAt_Internal(u16 x, u16 y) +{ + if (y < MAPCURSOR_Y_MIN || y > MAPCURSOR_Y_MAX || x < MAPCURSOR_X_MIN || x > MAPCURSOR_X_MAX) + { + return MAPSEC_NONE; + } + y -= MAPCURSOR_Y_MIN; + x -= MAPCURSOR_X_MIN; + return sRegionMap_MapSectionLayout[x + y * MAP_WIDTH]; +} + +static void RegionMap_InitializeStateBasedOnPlayerLocation(void) +{ + const struct MapHeader *mapHeader; + u16 mapWidth; + u16 mapHeight; + u16 x; + u16 y; + u16 dimensionScale; + u16 xOnMap; + struct WarpData *storedWarp; + + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SS_TIDAL_CORRIDOR) + && (gSaveBlock1Ptr->location.mapNum == MAP_NUM(SS_TIDAL_CORRIDOR) + || gSaveBlock1Ptr->location.mapNum == MAP_NUM(SS_TIDAL_LOWER_DECK) + || gSaveBlock1Ptr->location.mapNum == MAP_NUM(SS_TIDAL_ROOMS))) + { + RegionMap_InitializeStateBasedOnSSTidalLocation(); + return; + } + + switch (get_map_light_level_by_bank_and_number(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum)) + { + default: + case 1: + case 2: + case 3: + case 5: + case 6: + gRegionMap->mapSecId = gMapHeader.regionMapSectionId; + gRegionMap->playerIsInCave = FALSE; + mapWidth = gMapHeader.mapData->width; + mapHeight = gMapHeader.mapData->height; + x = gSaveBlock1Ptr->pos.x; + y = gSaveBlock1Ptr->pos.y; + if (gRegionMap->mapSecId == MAPSEC_UNDERWATER_128 || gRegionMap->mapSecId == MAPSEC_UNDERWATER_MARINE_CAVE) + { + gRegionMap->playerIsInCave = TRUE; + } + break; + case 4: + case 7: + if (gMapHeader.flags & 0x02) + { + mapHeader = get_mapheader_by_bank_and_number(gSaveBlock1Ptr->warp4.mapGroup, gSaveBlock1Ptr->warp4.mapNum); + gRegionMap->mapSecId = mapHeader->regionMapSectionId; + gRegionMap->playerIsInCave = TRUE; + mapWidth = mapHeader->mapData->width; + mapHeight = mapHeader->mapData->height; + x = gSaveBlock1Ptr->warp4.x; + y = gSaveBlock1Ptr->warp4.y; + } + else + { + gRegionMap->mapSecId = gMapHeader.regionMapSectionId; + gRegionMap->playerIsInCave = TRUE; + mapWidth = 1; + mapHeight = 1; + x = 1; + y = 1; + } + break; + case 9: + mapHeader = get_mapheader_by_bank_and_number((u16)gSaveBlock1Ptr->warp2.mapGroup, (u16)gSaveBlock1Ptr->warp2.mapNum); + gRegionMap->mapSecId = mapHeader->regionMapSectionId; + gRegionMap->playerIsInCave = TRUE; + mapWidth = mapHeader->mapData->width; + mapHeight = mapHeader->mapData->height; + x = gSaveBlock1Ptr->warp2.x; + y = gSaveBlock1Ptr->warp2.y; + break; + case 8: + + gRegionMap->mapSecId = gMapHeader.regionMapSectionId; + if (gRegionMap->mapSecId != MAPSEC_DYNAMIC) + { + storedWarp = &gSaveBlock1Ptr->warp4; + mapHeader = get_mapheader_by_bank_and_number(storedWarp->mapGroup, storedWarp->mapNum); + } + else + { + storedWarp = &gSaveBlock1Ptr->warp2; + mapHeader = get_mapheader_by_bank_and_number(storedWarp->mapGroup, storedWarp->mapNum); + gRegionMap->mapSecId = mapHeader->regionMapSectionId; + } + if (RegionMap_IsPlayerInCave(gRegionMap->mapSecId)) + { + gRegionMap->playerIsInCave = TRUE; + } + else + { + gRegionMap->playerIsInCave = FALSE; + } + mapWidth = mapHeader->mapData->width; + mapHeight = mapHeader->mapData->height; + x = storedWarp->x; + y = storedWarp->y; + break; + } + + xOnMap = x; + + dimensionScale = mapWidth / gRegionMapEntries[gRegionMap->mapSecId].width; + if (dimensionScale == 0) + { + dimensionScale = 1; + } + x /= dimensionScale; + if (x >= gRegionMapEntries[gRegionMap->mapSecId].width) + { + x = gRegionMapEntries[gRegionMap->mapSecId].width - 1; + } + + dimensionScale = mapHeight / gRegionMapEntries[gRegionMap->mapSecId].height; + if (dimensionScale == 0) + { + dimensionScale = 1; + } + y /= dimensionScale; + if (y >= gRegionMapEntries[gRegionMap->mapSecId].height) + { + y = gRegionMapEntries[gRegionMap->mapSecId].height - 1; + } + + switch (gRegionMap->mapSecId) + { + case MAPSEC_ROUTE_114: + if (y != 0) + { + x = 0; + } + break; + case MAPSEC_ROUTE_126: + case MAPSEC_UNDERWATER_125: + x = 0; + if (gSaveBlock1Ptr->pos.x > 32) + { + x = 1; + } + if (gSaveBlock1Ptr->pos.x > 0x33) + { + x++; + } + y = 0; + if (gSaveBlock1Ptr->pos.y > 0x25) + { + y = 1; + } + if (gSaveBlock1Ptr->pos.y > 0x38) + { + y++; + } + break; + case MAPSEC_ROUTE_121: + x = 0; + if (xOnMap > 14) + { + x = 1; + } + if (xOnMap > 0x1C) + { + x++; + } + if (xOnMap > 0x36) + { + x++; + } + break; + case MAPSEC_UNDERWATER_MARINE_CAVE: + RegionMap_GetMarineCaveCoords(&gRegionMap->cursorPosX, &gRegionMap->cursorPosY); + return; + } + gRegionMap->cursorPosX = gRegionMapEntries[gRegionMap->mapSecId].x + x + MAPCURSOR_X_MIN; + gRegionMap->cursorPosY = gRegionMapEntries[gRegionMap->mapSecId].y + y + MAPCURSOR_Y_MIN; +} + +static void RegionMap_InitializeStateBasedOnSSTidalLocation(void) +{ + u16 y; + u16 x; + u8 mapGroup; + u8 mapNum; + u16 dimensionScale; + s16 xOnMap; + s16 yOnMap; + const struct MapHeader *mapHeader; + + y = 0; + x = 0; + switch (GetSSTidalLocation(&mapGroup, &mapNum, &xOnMap, &yOnMap)) + { + case 1: + gRegionMap->mapSecId = MAPSEC_SLATEPORT_CITY; + break; + case 2: + gRegionMap->mapSecId = MAPSEC_LILYCOVE_CITY; + break; + case 3: + gRegionMap->mapSecId = MAPSEC_ROUTE_124; + break; + case 4: + gRegionMap->mapSecId = MAPSEC_ROUTE_131; + break; + default: + case 0: + mapHeader = get_mapheader_by_bank_and_number(mapGroup, mapNum); + + gRegionMap->mapSecId = mapHeader->regionMapSectionId; + dimensionScale = mapHeader->mapData->width / gRegionMapEntries[gRegionMap->mapSecId].width; + if (dimensionScale == 0) + dimensionScale = 1; + x = xOnMap / dimensionScale; + if (x >= gRegionMapEntries[gRegionMap->mapSecId].width) + x = gRegionMapEntries[gRegionMap->mapSecId].width - 1; + + dimensionScale = mapHeader->mapData->height / gRegionMapEntries[gRegionMap->mapSecId].height; + if (dimensionScale == 0) + dimensionScale = 1; + y = yOnMap / dimensionScale; + if (y >= gRegionMapEntries[gRegionMap->mapSecId].height) + y = gRegionMapEntries[gRegionMap->mapSecId].height - 1; + break; + } + gRegionMap->playerIsInCave = FALSE; + gRegionMap->cursorPosX = gRegionMapEntries[gRegionMap->mapSecId].x + x + MAPCURSOR_X_MIN; + gRegionMap->cursorPosY = gRegionMapEntries[gRegionMap->mapSecId].y + y + MAPCURSOR_Y_MIN; +} + +static u8 get_flagnr_blue_points(u16 mapSecId) +{ + switch (mapSecId) + { + case MAPSEC_NONE: + return MAPSECTYPE_NONE; + case MAPSEC_LITTLEROOT_TOWN: + return FlagGet(FLAG_VISITED_LITTLEROOT_TOWN) ? MAPSECTYPE_CITY_CANFLY : MAPSECTYPE_CITY_CANTFLY; + case MAPSEC_OLDALE_TOWN: + return FlagGet(FLAG_VISITED_OLDALE_TOWN) ? MAPSECTYPE_CITY_CANFLY : MAPSECTYPE_CITY_CANTFLY; + case MAPSEC_DEWFORD_TOWN: + return FlagGet(FLAG_VISITED_DEWFORD_TOWN) ? MAPSECTYPE_CITY_CANFLY : MAPSECTYPE_CITY_CANTFLY; + case MAPSEC_LAVARIDGE_TOWN: + return FlagGet(FLAG_VISITED_LAVARIDGE_TOWN) ? MAPSECTYPE_CITY_CANFLY : MAPSECTYPE_CITY_CANTFLY; + case MAPSEC_FALLARBOR_TOWN: + return FlagGet(FLAG_VISITED_FALLARBOR_TOWN) ? MAPSECTYPE_CITY_CANFLY : MAPSECTYPE_CITY_CANTFLY; + case MAPSEC_VERDANTURF_TOWN: + return FlagGet(FLAG_VISITED_VERDANTURF_TOWN) ? MAPSECTYPE_CITY_CANFLY : MAPSECTYPE_CITY_CANTFLY; + case MAPSEC_PACIFIDLOG_TOWN: + return FlagGet(FLAG_VISITED_PACIFIDLOG_TOWN) ? MAPSECTYPE_CITY_CANFLY : MAPSECTYPE_CITY_CANTFLY; + case MAPSEC_PETALBURG_CITY: + return FlagGet(FLAG_VISITED_PETALBURG_CITY) ? MAPSECTYPE_CITY_CANFLY : MAPSECTYPE_CITY_CANTFLY; + case MAPSEC_SLATEPORT_CITY: + return FlagGet(FLAG_VISITED_SLATEPORT_CITY) ? MAPSECTYPE_CITY_CANFLY : MAPSECTYPE_CITY_CANTFLY; + case MAPSEC_MAUVILLE_CITY: + return FlagGet(FLAG_VISITED_MAUVILLE_CITY) ? MAPSECTYPE_CITY_CANFLY : MAPSECTYPE_CITY_CANTFLY; + case MAPSEC_RUSTBORO_CITY: + return FlagGet(FLAG_VISITED_RUSTBORO_CITY) ? MAPSECTYPE_CITY_CANFLY : MAPSECTYPE_CITY_CANTFLY; + case MAPSEC_FORTREE_CITY: + return FlagGet(FLAG_VISITED_FORTREE_CITY) ? MAPSECTYPE_CITY_CANFLY : MAPSECTYPE_CITY_CANTFLY; + case MAPSEC_LILYCOVE_CITY: + return FlagGet(FLAG_VISITED_LILYCOVE_CITY) ? MAPSECTYPE_CITY_CANFLY : MAPSECTYPE_CITY_CANTFLY; + case MAPSEC_MOSSDEEP_CITY: + return FlagGet(FLAG_VISITED_MOSSDEEP_CITY) ? MAPSECTYPE_CITY_CANFLY : MAPSECTYPE_CITY_CANTFLY; + case MAPSEC_SOOTOPOLIS_CITY: + return FlagGet(FLAG_VISITED_SOOTOPOLIS_CITY) ? MAPSECTYPE_CITY_CANFLY : MAPSECTYPE_CITY_CANTFLY; + case MAPSEC_EVER_GRANDE_CITY: + return FlagGet(FLAG_VISITED_EVER_GRANDE_CITY) ? MAPSECTYPE_CITY_CANFLY : MAPSECTYPE_CITY_CANTFLY; + case MAPSEC_BATTLE_FRONTIER: + return FlagGet(FLAG_LANDMARK_BATTLE_FRONTIER) ? MAPSECTYPE_BATTLE_FRONTIER : MAPSECTYPE_NONE; + case MAPSEC_SOUTHERN_ISLAND: + return FlagGet(FLAG_LANDMARK_SOUTHERN_ISLAND) ? MAPSECTYPE_PLAIN : MAPSECTYPE_NONE; + default: + return MAPSECTYPE_PLAIN; + } +} + +u16 GetRegionMapSectionIdAt(u16 x, u16 y) +{ + return GetRegionMapSectionIdAt_Internal(x, y); +} + +static u16 CorrectSpecialMapSecId_Internal(u16 mapSecId) +{ + u32 i; + + for (i = 0; i < 3; i++) + { + if (sRegionMap_MarineCaveMapSecIds[i] == mapSecId) + { + return RegionMap_GetTerraCaveMapSecId(); + } + } + for (i = 0; sRegionMap_SpecialPlaceLocations[i][0] != MAPSEC_NONE; i++) + { + if (sRegionMap_SpecialPlaceLocations[i][0] == mapSecId) + { + return sRegionMap_SpecialPlaceLocations[i][1]; + } + } + return mapSecId; +} + +static u16 RegionMap_GetTerraCaveMapSecId(void) +{ + s16 idx; + + idx = VarGet(VAR_0x4037) - 1; + if (idx < 0 || idx > 15) + { + idx = 0; + } + return sTerraCaveMapSectionIds[idx]; +} + +static void RegionMap_GetMarineCaveCoords(u16 *x, u16 *y) +{ + u16 idx; + + idx = VarGet(VAR_0x4037); + if (idx < 9 || idx > 16) + { + idx = 9; + } + idx -= 9; + *x = sTerraCaveLocationCoords[idx].x + MAPCURSOR_X_MIN; + *y = sTerraCaveLocationCoords[idx].y + MAPCURSOR_Y_MIN; +} + +static bool32 RegionMap_IsPlayerInCave(u8 mapSecId) +{ + u32 i; + + for (i = 0; i < 1; i++) + { + if (sRegionMap_MapSecAquaHideoutOld[i] == mapSecId) + { + return TRUE; + } + } + return FALSE; +} + +u16 CorrectSpecialMapSecId(u16 mapSecId) +{ + return CorrectSpecialMapSecId_Internal(mapSecId); +} + +static void RegionMap_GetPositionOfCursorWithinMapSection(void) +{ + u16 x; + u16 y; + u16 posWithinMapSec; + + if (gRegionMap->mapSecId == MAPSEC_NONE) + { + gRegionMap->posWithinMapSec = 0; + return; + } + if (!gRegionMap->zoomed) + { + x = gRegionMap->cursorPosX; + y = gRegionMap->cursorPosY; + } + else + { + x = gRegionMap->zoomedCursorPosX; + y = gRegionMap->zoomedCursorPosY; + } + posWithinMapSec = 0; + while (1) + { + if (x <= MAPCURSOR_X_MIN) + { + if (RegionMap_IsMapSecIdInNextRow(y)) + { + y--; + x = MAPCURSOR_X_MAX + 1; + } + else + { + break; + } + } + else + { + x--; + if (GetRegionMapSectionIdAt_Internal(x, y) == gRegionMap->mapSecId) + { + posWithinMapSec++; + } + } + } + gRegionMap->posWithinMapSec = posWithinMapSec; +} + +static bool8 RegionMap_IsMapSecIdInNextRow(u16 y) +{ + u16 x; + + if (y-- == 0) + { + return FALSE; + } + for (x = MAPCURSOR_X_MIN; x <= MAPCURSOR_X_MAX; x++) + { + if (GetRegionMapSectionIdAt_Internal(x, y) == gRegionMap->mapSecId) + { + return TRUE; + } + } + return FALSE; +} + +static void SpriteCallback_CursorFull(struct Sprite *sprite) +{ + if (gRegionMap->cursorMovementFrameCounter != 0) + { + sprite->pos1.x += 2 * gRegionMap->cursorDeltaX; + sprite->pos1.y += 2 * gRegionMap->cursorDeltaY; + gRegionMap->cursorMovementFrameCounter--; + } +} + +static void SpriteCallback_CursorZoomed(struct Sprite *sprite) +{ + +} + +void CreateRegionMapCursor(u16 tileTag, u16 paletteTag) +{ + u8 spriteId; + struct SpriteTemplate template; + struct SpritePalette palette; + struct SpriteSheet sheet; + + palette = sRegionMapCursorSpritePalette; + template = sRegionMapCursorSpriteTemplate; + sheet.tag = tileTag; + template.tileTag = tileTag; + gRegionMap->cursorTileTag = tileTag; + palette.tag = paletteTag; + template.paletteTag = paletteTag; + gRegionMap->cursorPaletteTag = paletteTag; + if (!gRegionMap->zoomed) + { + sheet.data = gRegionMap->cursorSmallImage; + sheet.size = sizeof(gRegionMap->cursorSmallImage); + template.callback = SpriteCallback_CursorFull; + } + else + { + sheet.data = gRegionMap->cursorLargeImage; + sheet.size = sizeof(gRegionMap->cursorLargeImage); + template.callback = SpriteCallback_CursorZoomed; + } + LoadSpriteSheet(&sheet); + LoadSpritePalette(&palette); + spriteId = CreateSprite(&template, 0x38, 0x48, 0); + if (spriteId != MAX_SPRITES) + { + gRegionMap->cursorSprite = &gSprites[spriteId]; + if (gRegionMap->zoomed == TRUE) + { + gRegionMap->cursorSprite->oam.size = 2; + gRegionMap->cursorSprite->pos1.x -= 8; + gRegionMap->cursorSprite->pos1.y -= 8; + StartSpriteAnim(gRegionMap->cursorSprite, 1); + } + else + { + gRegionMap->cursorSprite->oam.size = 1; + gRegionMap->cursorSprite->pos1.x = 8 * gRegionMap->cursorPosX + 4; + gRegionMap->cursorSprite->pos1.y = 8 * gRegionMap->cursorPosY + 4; + } + gRegionMap->cursorSprite->data[1] = 2; + gRegionMap->cursorSprite->data[2] = (IndexOfSpritePaletteTag(paletteTag) << 4) + 0x101; + gRegionMap->cursorSprite->data[3] = TRUE; + } +} + +static void FreeRegionMapCursorSprite(void) +{ + if (gRegionMap->cursorSprite != NULL) + { + DestroySprite(gRegionMap->cursorSprite); + FreeSpriteTilesByTag(gRegionMap->cursorTileTag); + FreeSpritePaletteByTag(gRegionMap->cursorPaletteTag); + } +} + +void sub_8124268(void) +{ + gRegionMap->cursorSprite->data[3] = TRUE; +} + +void sub_8124278(void) +{ + gRegionMap->cursorSprite->data[3] = FALSE; +} + +void CreateRegionMapPlayerIcon(u16 tileTag, u16 paletteTag) +{ + u8 spriteId; + struct SpriteSheet sheet = {sRegionMapPlayerIcon_BrendanGfx, 0x80, tileTag}; + struct SpritePalette palette = {sRegionMapPlayerIcon_BrendanPal, paletteTag}; + struct SpriteTemplate template = {tileTag, paletteTag, &sRegionMapPlayerIconOam, sRegionMapPlayerIconAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; + + if (sub_8124668(gMapHeader.regionMapSectionId)) + { + gRegionMap->playerIconSprite = NULL; + return; + } + if (gSaveBlock2Ptr->playerGender == FEMALE) + { + sheet.data = sRegionMapPlayerIcon_MayGfx; + palette.data = sRegionMapPlayerIcon_MayPal; + } + LoadSpriteSheet(&sheet); + LoadSpritePalette(&palette); + spriteId = CreateSprite(&template, 0, 0, 1); + gRegionMap->playerIconSprite = &gSprites[spriteId]; + if (!gRegionMap->zoomed) + { + gRegionMap->playerIconSprite->pos1.x = gRegionMap->playerIconSpritePosX * 8 + 4; + gRegionMap->playerIconSprite->pos1.y = gRegionMap->playerIconSpritePosY * 8 + 4; + gRegionMap->playerIconSprite->callback = RegionMapPlayerIconSpriteCallback_Full; + } + else + { + gRegionMap->playerIconSprite->pos1.x = gRegionMap->playerIconSpritePosX * 16 - 0x30; + gRegionMap->playerIconSprite->pos1.y = gRegionMap->playerIconSpritePosY * 16 - 0x42; + gRegionMap->playerIconSprite->callback = RegionMapPlayerIconSpriteCallback_Zoomed; + } +} + +static void HideRegionMapPlayerIcon(void) +{ + if (gRegionMap->playerIconSprite != NULL) + { + gRegionMap->playerIconSprite->invisible = TRUE; + gRegionMap->playerIconSprite->callback = SpriteCallbackDummy; + } +} + +static void UnhideRegionMapPlayerIcon(void) +{ + if (gRegionMap->playerIconSprite != NULL) + { + if (gRegionMap->zoomed == TRUE) + { + gRegionMap->playerIconSprite->pos1.x = gRegionMap->playerIconSpritePosX * 16 - 0x30; + gRegionMap->playerIconSprite->pos1.y = gRegionMap->playerIconSpritePosY * 16 - 0x42; + gRegionMap->playerIconSprite->callback = RegionMapPlayerIconSpriteCallback_Zoomed; + gRegionMap->playerIconSprite->invisible = FALSE; + } + else + { + gRegionMap->playerIconSprite->pos1.x = gRegionMap->playerIconSpritePosX * 8 + 4; + gRegionMap->playerIconSprite->pos1.y = gRegionMap->playerIconSpritePosY * 8 + 4; + gRegionMap->playerIconSprite->pos2.x = 0; + gRegionMap->playerIconSprite->pos2.y = 0; + gRegionMap->playerIconSprite->callback = RegionMapPlayerIconSpriteCallback_Full; + gRegionMap->playerIconSprite->invisible = FALSE; + } + } +} + +static void RegionMapPlayerIconSpriteCallback_Zoomed(struct Sprite *sprite) +{ + sprite->pos2.x = -2 * gRegionMap->scrollX; + sprite->pos2.y = -2 * gRegionMap->scrollY; + sprite->data[0] = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY; + sprite->data[1] = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX; + if (sprite->data[0] < -8 || sprite->data[0] > 0xa8 || sprite->data[1] < -8 || sprite->data[1] > 0xf8) + { + sprite->data[2] = FALSE; + } + else + { + sprite->data[2] = TRUE; + } + if (sprite->data[2] == TRUE) + { + RegionMapPlayerIconSpriteCallback(sprite); + } + else + { + sprite->invisible = TRUE; + } +} + +static void RegionMapPlayerIconSpriteCallback_Full(struct Sprite *sprite) +{ + RegionMapPlayerIconSpriteCallback(sprite); +} + +static void RegionMapPlayerIconSpriteCallback(struct Sprite *sprite) +{ + if (gRegionMap->blinkPlayerIcon) + { + if (++sprite->data[7] > 16) + { + sprite->data[7] = 0; + sprite->invisible = sprite->invisible ? FALSE : TRUE; + } + } + else + { + sprite->invisible = FALSE; + } +} + +void sub_812454C(void) +{ + if (gRegionMap->playerIsInCave) + { + gRegionMap->blinkPlayerIcon = TRUE; + } +} + +u8 *GetMapName(u8 *dest, u16 regionMapId, u16 padLength) +{ + u8 *str; + u16 i; + + if (regionMapId == MAPSEC_SECRET_BASE) + { + str = GetSecretBaseMapName(dest); + } + else if (regionMapId < MAPSEC_NONE) + { + str = StringCopy(dest, gRegionMapEntries[regionMapId].name); + } + else + { + if (padLength == 0) + { + padLength = 18; + } + return StringFill(dest, CHAR_SPACE, padLength); + } + if (padLength != 0) + { + for (i = str - dest; i < padLength; i++) + { + *str++ = CHAR_SPACE; + } + *str = EOS; + } + return str; +} + +u8 *sub_81245DC(u8 *dest, u16 mapSecId) +{ + switch (mapSecId) + { + case MAPSEC_DYNAMIC: + return StringCopy(dest, gText_Ferry); + case MAPSEC_SECRET_BASE: + return StringCopy(dest, gText_SecretBase); + default: + return GetMapName(dest, mapSecId, 0); + } +} + +u8 *sub_8124610(u8 *dest, u16 mapSecId) +{ + if (mapSecId == MAPSEC_AQUA_HIDEOUT_OLD) + { + return StringCopy(dest, gText_Hideout); + } + else + { + return sub_81245DC(dest, mapSecId); + } +} + +void sub_8124630(u16 mapSecId, u16 *x, u16 *y, u16 *width, u16 *height) +{ + *x = gRegionMapEntries[mapSecId].x; + *y = gRegionMapEntries[mapSecId].y; + *width = gRegionMapEntries[mapSecId].width; + *height = gRegionMapEntries[mapSecId].height; +} + +bool8 sub_8124658(void) +{ + return gRegionMap->zoomed; +} + +bool32 sub_8124668(u8 mapSecId) +{ + u32 i; + + for (i = 0; i < 3; i++) + { + if (mapSecId == sRegionMapEventSectionIds[i]) + { + return TRUE; + } + } + return FALSE; +} + +void MCB2_FlyMap(void) +{ + switch (gMain.state) + { + case 0: + SetVBlankCallback(NULL); + SetGpuReg(REG_OFFSET_DISPCNT, 0); + SetGpuReg(REG_OFFSET_BG0HOFS, 0); + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + SetGpuReg(REG_OFFSET_BG1HOFS, 0); + SetGpuReg(REG_OFFSET_BG1VOFS, 0); + SetGpuReg(REG_OFFSET_BG2VOFS, 0); + SetGpuReg(REG_OFFSET_BG2HOFS, 0); + SetGpuReg(REG_OFFSET_BG3HOFS, 0); + SetGpuReg(REG_OFFSET_BG3VOFS, 0); + gUnknown_0203A148 = malloc(sizeof(*gUnknown_0203A148)); + if (gUnknown_0203A148 == NULL) + { + SetMainCallback2(sub_8086194); + } + else + { + ResetPaletteFade(); + ResetSpriteData(); + FreeSpriteTileRanges(); + FreeAllSpritePalettes(); + gMain.state++; + } + break; + case 1: + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(1, gUnknown_085A1EE4, 3); + gMain.state++; + break; + case 2: + InitWindows(gUnknown_085A1EF0); + DeactivateAllTextPrinters(); + gMain.state++; + break; + case 3: + sub_809882C(0, 0x65, 0xd0); + clear_scheduled_bg_copies_to_vram(); + gMain.state++; + break; + case 4: + InitRegionMap(&gUnknown_0203A148->regionMap, FALSE); + CreateRegionMapCursor(0, 0); + CreateRegionMapPlayerIcon(1, 1); + gUnknown_0203A148->mapSecId = gUnknown_0203A148->regionMap.mapSecId; + StringFill(gUnknown_0203A148->unk_a4c, CHAR_SPACE, 16); + gUnknown_03001180 = TRUE; + sub_8124904(); + gMain.state++; + break; + case 5: + LZ77UnCompVram(sRegionMapFrameGfxLZ, (u16 *)BG_CHAR_ADDR(3)); + gMain.state++; + break; + case 6: + LZ77UnCompVram(sRegionMapFrameTilemapLZ, (u16 *)BG_SCREEN_ADDR(30)); + gMain.state++; + break; + case 7: + LoadPalette(sRegionMapFramePal, 0x10, 0x20); + PutWindowTilemap(2); + FillWindowPixelBuffer(2, 0x00); + PrintTextOnWindow(2, 1, gText_FlyToWhere, 0, 1, 0, NULL); + schedule_bg_copy_tilemap_to_vram(0); + gMain.state++; + break; + case 8: + sub_8124A70(); + gMain.state++; + break; + case 9: + BlendPalettes(-1, 16, 0); + SetVBlankCallback(sub_81248C0); + gMain.state++; + break; + case 10: + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); + ShowBg(0); + ShowBg(1); + ShowBg(2); + sub_81248F4(sub_8124D14); + SetMainCallback2(sub_81248D4); + gMain.state++; + break; + } +} + +static void sub_81248C0(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void sub_81248D4(void) +{ + gUnknown_0203A148->unk_000(); + AnimateSprites(); + BuildOamBuffer(); + do_scheduled_bg_tilemap_copies_to_vram(); +} + +static void sub_81248F4(void callback(void)) +{ + gUnknown_0203A148->unk_000 = callback; + gUnknown_0203A148->unk_004 = 0; +} + +static void sub_8124904(void) +{ + u16 i; + bool32 flag; + const u8 *name; + + if (gUnknown_0203A148->regionMap.iconDrawType > MAPSECTYPE_NONE && gUnknown_0203A148->regionMap.iconDrawType <= MAPSECTYPE_BATTLE_FRONTIER) + { + flag = FALSE; + for (i = 0; i < 1; i++) + { + if (gUnknown_0203A148->regionMap.mapSecId == gUnknown_085A1EDC[i].mapSecId) + { + if (FlagGet(gUnknown_085A1EDC[i].flag)) + { + StringLength(gUnknown_085A1EDC[i].name[gUnknown_0203A148->regionMap.posWithinMapSec]); + flag = TRUE; + sub_8198070(0, FALSE); + SetWindowBorderStyle(1, FALSE, 0x65, 0x0d); + PrintTextOnWindow(1, 1, gUnknown_0203A148->regionMap.mapSecName, 0, 1, 0, NULL); + name = gUnknown_085A1EDC[i].name[gUnknown_0203A148->regionMap.posWithinMapSec]; + PrintTextOnWindow(1, 1, name, GetStringRightAlignXOffset(1, name, 0x60), 0x11, 0, NULL); + schedule_bg_copy_tilemap_to_vram(0); + gUnknown_03001180 = TRUE; + } + break; + } + } + if (!flag) + { + if (gUnknown_03001180 == TRUE) + { + sub_8198070(1, FALSE); + SetWindowBorderStyle(0, FALSE, 0x65, 0x0d); + } + else + { + FillWindowPixelBuffer(0, 0x11); + } + PrintTextOnWindow(0, 1, gUnknown_0203A148->regionMap.mapSecName, 0, 1, 0, NULL); + schedule_bg_copy_tilemap_to_vram(0); + gUnknown_03001180 = FALSE; + } + } + else + { + if (gUnknown_03001180 == TRUE) + { + sub_8198070(1, FALSE); + SetWindowBorderStyle(0, FALSE, 0x65, 0x0d); + } + FillWindowPixelBuffer(0, 0x11); + CopyWindowToVram(0, 2); + schedule_bg_copy_tilemap_to_vram(0); + gUnknown_03001180 = FALSE; + } +} + + +static void sub_8124A70(void) +{ + struct SpriteSheet sheet; + + LZ77UnCompWram(sUnknown_085A1D68, gUnknown_0203A148->unk_88c); + sheet.data = gUnknown_0203A148->unk_88c; + sheet.size = 0x1c0; + sheet.tag = 2; + LoadSpriteSheet(&sheet); + LoadSpritePalette(&gUnknown_085A1F10); + sub_8124AD4(); + sub_8124BE4(); +} + +static void sub_8124AD4(void) +{ + u16 canFlyFlag; + u16 i; + u16 x; + u16 y; + u16 width; + u16 height; + u16 shape; + u8 spriteId; + + canFlyFlag = FLAG_VISITED_LITTLEROOT_TOWN; + for (i = 0; i < 16; i++) + { + sub_8124630(i, &x, &y, &width, &height); + x = (x + MAPCURSOR_X_MIN) * 8 + 4; + y = (y + MAPCURSOR_Y_MIN) * 8 + 4; + if (width == 2) + { + shape = ST_OAM_H_RECTANGLE; + } + else if (height == 2) + { + shape = ST_OAM_V_RECTANGLE; + } + else + { + shape = ST_OAM_SQUARE; + } + spriteId = CreateSprite(&gUnknown_085A1F7C, x, y, 10); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].oam.shape = shape; + if (FlagGet(canFlyFlag)) + { + gSprites[spriteId].callback = sub_8124CBC; + } + else + { + shape += 3; + } + StartSpriteAnim(&gSprites[spriteId], shape); + gSprites[spriteId].data[0] = i; + } + canFlyFlag++; + } +} + +static void sub_8124BE4(void) +{ + u16 i; + u16 x; + u16 y; + u16 width; + u16 height; + u16 mapSecId; + u8 spriteId; + + for (i = 0; sUnknown_085A1F18[i][1] != MAPSEC_NONE; i++) + { + if (FlagGet(sUnknown_085A1F18[i][0])) + { + mapSecId = sUnknown_085A1F18[i][1]; + sub_8124630(mapSecId, &x, &y, &width, &height); + x = (x + MAPCURSOR_X_MIN) * 8; + y = (y + MAPCURSOR_Y_MIN) * 8; + spriteId = CreateSprite(&gUnknown_085A1F7C, x, y, 10); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].oam.size = 1; + gSprites[spriteId].callback = sub_8124CBC; + StartSpriteAnim(&gSprites[spriteId], 6); + gSprites[spriteId].data[0] = mapSecId; + } + } + } +} + +static void sub_8124CBC(struct Sprite *sprite) +{ + if (gUnknown_0203A148->regionMap.mapSecId == sprite->data[0]) + { + if (++sprite->data[1] > 16) + { + sprite->data[1] = 0; + sprite->invisible = sprite->invisible ? FALSE : TRUE; + } + } + else + { + sprite->data[1] = 16; + sprite->invisible = FALSE; + } +} + +static void sub_8124D14(void) +{ + switch (gUnknown_0203A148->unk_004) + { + case 0: + BeginNormalPaletteFade(-1, 0, 16, 0, 0); + gUnknown_0203A148->unk_004++; + break; + case 1: + if (!UpdatePaletteFade()) + { + sub_81248F4(sub_8124D64); + } + break; + } +} + +static void sub_8124D64(void) +{ + if (gUnknown_0203A148->unk_004 == 0) + { + switch (sub_81230AC()) + { + case INPUT_EVENT_NONE: + case INPUT_EVENT_MOVE_START: + case INPUT_EVENT_MOVE_CONT: + break; + case INPUT_EVENT_MOVE_END: + sub_8124904(); + break; + case INPUT_EVENT_A_BUTTON: + if (gUnknown_0203A148->regionMap.iconDrawType == MAPSECTYPE_CITY_CANFLY || gUnknown_0203A148->regionMap.iconDrawType == MAPSECTYPE_BATTLE_FRONTIER) + { + m4aSongNumStart(SE_SELECT); + gUnknown_0203A148->unk_a72 = TRUE; + sub_81248F4(sub_8124E0C); + } + break; + case INPUT_EVENT_B_BUTTON: + m4aSongNumStart(SE_SELECT); + gUnknown_0203A148->unk_a72 = FALSE; + sub_81248F4(sub_8124E0C); + break; + } + } +} + +static void sub_8124E0C(void) +{ + switch (gUnknown_0203A148->unk_004) + { + case 0: + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + gUnknown_0203A148->unk_004++; + break; + case 1: + if (!UpdatePaletteFade()) + { + FreeRegionMapIconResources(); + if (gUnknown_0203A148->unk_a72) + { + switch (gUnknown_0203A148->regionMap.mapSecId) + { + case MAPSEC_SOUTHERN_ISLAND: + sub_8084CCC(0x15); + break; + case MAPSEC_BATTLE_FRONTIER: + sub_8084CCC(0x16); + break; + case MAPSEC_LITTLEROOT_TOWN: + sub_8084CCC(gSaveBlock2Ptr->playerGender == MALE ? 0x0C : 0x0D); + break; + case MAPSEC_EVER_GRANDE_CITY: + sub_8084CCC(FlagGet(FLAG_LANDMARK_POKEMON_LEAGUE) && gUnknown_0203A148->regionMap.posWithinMapSec == 0 ? 0x14 : 0x0B); + break; + default: + if (sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][2] != 0) + { + sub_8084CCC(sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][2]); + } + else + { + warp1_set_2(sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][0], sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][1], -1); + } + break; + } + sub_80B69DC(); + } + else + { + SetMainCallback2(sub_81B58A8); + } + if (gUnknown_0203A148 != NULL) + { + free(gUnknown_0203A148); + gUnknown_0203A148 = NULL; + } + FreeAllWindowBuffers(); + } + break; + } +} diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c new file mode 100644 index 0000000000..9bd462b60a --- /dev/null +++ b/src/reset_rtc_screen.c @@ -0,0 +1,639 @@ +#include "global.h" +#include "reset_rtc_screen.h" +#include "event_data.h" +#include "main.h" +#include "menu.h" +#include "palette.h" +#include "rtc.h" +#include "save.h" +#include "sprite.h" +#include "constants/songs.h" +#include "sound.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "text.h" +#include "scanline_effect.h" +#include "bg.h" +#include "window.h" +#include "gpu_regs.h" + +struct ResetRtcStruct +{ + /*0x0*/ u8 dataIndex; + /*0x2*/ u16 minVal; + /*0x4*/ u16 maxVal; + /*0x6*/ u8 left; + /*0x7*/ u8 right; + /*0x8*/ u8 unk8; +}; + +// this file's functions +static void CB2_ResetRtcScreen(void); +static void VBlankCB(void); +static void Task_ResetRtcScreen(u8 taskId); +static void sub_809F048(void); + +// const rom data +static const struct BgTemplate sBackgroundTemplates[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + } +}; + +static const struct WindowTemplate sUnknown_08510408[] = +{ + {0x00, 0x01, 0x01, 0x13, 0x09, 0x0f, 0x0155}, + {0x00, 0x02, 0x0f, 0x1b, 0x04, 0x0f, 0x00e9}, + DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate sUnknown_08510420 = {0x00, 0x04, 0x09, 0x15, 0x02, 0x0f, 0x00bf}; + +static const struct ResetRtcStruct sUnknown_08510428[5] = +{ + { + .dataIndex = 3, + .minVal = 1, + .maxVal = 9999, + .left = 0, + .right = 2, + .unk8 = 0, + }, + { + .dataIndex = 4, + .minVal = 0, + .maxVal = 23, + .left = 1, + .right = 3, + .unk8 = 0, + }, + { + .dataIndex = 5, + .minVal = 0, + .maxVal = 59, + .left = 2, + .right = 4, + .unk8 = 0, + }, + { + .dataIndex = 6, + .minVal = 0, + .maxVal = 59, + .left = 3, + .right = 5, + .unk8 = 0, + }, + { + .dataIndex = 7, + .minVal = 0, + .maxVal = 0, + .left = 4, + .right = 0, + .unk8 = 6, + }, +}; + +static const struct OamData sOamData_08510464 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const u8 sResetRtcScreen_DownArrowGfx[] = INCBIN_U8("graphics/misc/reset_rtc_screen_downarrow.4bpp"); +static const u8 sResetRtcScreen_RightArrowGfx[] = INCBIN_U8("graphics/misc/reset_rtc_screen_rightarrow.4bpp"); +static const u16 sResetRtcScreen_ArrowPal[] = INCBIN_U16("graphics/misc/reset_rtc_screen_arrow.gbapal"); + +static const struct SpriteFrameImage sSpriteImageTable_85104B4[] = +{ + obj_frame_tiles(sResetRtcScreen_DownArrowGfx), + obj_frame_tiles(sResetRtcScreen_RightArrowGfx) +}; + +static const struct SpritePalette sSpritePalette_Arrow = +{ + sResetRtcScreen_ArrowPal, 0x1000 +}; + +static const union AnimCmd sSpriteAnim_85104CC[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sSpriteAnim_85104D4[] = +{ + ANIMCMD_FRAME(0, 158, .vFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sSpriteAnim_85104DC[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const sSpriteAnimTable_85104E4[] = +{ + sSpriteAnim_85104CC, + sSpriteAnim_85104D4, + sSpriteAnim_85104DC, +}; + +static const struct SpriteTemplate sSpriteTemplate_85104F0 = +{ + .tileTag = 0xFFFF, + .paletteTag = 0x1000, + .oam = &sOamData_08510464, + .anims = sSpriteAnimTable_85104E4, + .images = sSpriteImageTable_85104B4, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +// code +static void SpriteCB_ResetRtcCursor0(struct Sprite *sprite) +{ + int state = gTasks[sprite->data[0]].data[2]; + if (state != sprite->data[1]) + { + sprite->data[1] = state; + switch (state) + { + case 1: + sprite->invisible = FALSE; + sprite->animNum = 1; + sprite->animDelayCounter = 0; + sprite->pos1.x = 53; + sprite->pos1.y = 68; + break; + case 2: + sprite->invisible = FALSE; + sprite->animNum = 1; + sprite->animDelayCounter = 0; + sprite->pos1.x = 86; + sprite->pos1.y = 68; + break; + case 3: + sprite->invisible = FALSE; + sprite->animNum = 1; + sprite->animDelayCounter = 0; + sprite->pos1.x = 101; + sprite->pos1.y = 68; + break; + case 4: + sprite->invisible = FALSE; + sprite->animNum = 1; + sprite->animDelayCounter = 0; + sprite->pos1.x = 116; + sprite->pos1.y = 68; + break; + case 5: + sprite->invisible = FALSE; + sprite->animNum = 2; + sprite->animDelayCounter = 0; + sprite->pos1.x = 153; + sprite->pos1.y = 80; + break; + case 6: + DestroySprite(sprite); + break; + } + } +} + +static void SpriteCB_ResetRtcCursor1(struct Sprite *sprite) +{ + int state = gTasks[sprite->data[0]].data[2]; + if (state != sprite->data[1]) + { + sprite->data[1] = state; + switch (state) + { + case 1: + sprite->invisible = FALSE; + sprite->animNum = 0; + sprite->animDelayCounter = 0; + sprite->pos1.x = 53; + sprite->pos1.y = 92; + break; + case 2: + sprite->invisible = FALSE; + sprite->animNum = 0; + sprite->animDelayCounter = 0; + sprite->pos1.x = 86; + sprite->pos1.y = 92; + break; + case 3: + sprite->invisible = FALSE; + sprite->animNum = 0; + sprite->animDelayCounter = 0; + sprite->pos1.x = 101; + sprite->pos1.y = 92; + break; + case 4: + sprite->invisible = FALSE; + sprite->animNum = 0; + sprite->animDelayCounter = 0; + sprite->pos1.x = 116; + sprite->pos1.y = 92; + break; + case 5: + sprite->invisible = TRUE; + break; + case 6: + DestroySprite(sprite); + break; + } + } +} + +static void CreateCursor(u8 taskId) +{ + u32 spriteId; + + LoadSpritePalette(&sSpritePalette_Arrow); + + spriteId = CreateSpriteAtEnd(&sSpriteTemplate_85104F0, 53, 68, 0); + gSprites[spriteId].callback = SpriteCB_ResetRtcCursor0; + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].data[1] = -1; + + spriteId = CreateSpriteAtEnd(&sSpriteTemplate_85104F0, 53, 68, 0); + gSprites[spriteId].callback = SpriteCB_ResetRtcCursor1; + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].data[1] = -1; +} + +static void FreeCursorPalette(void) +{ + FreeSpritePaletteByTag(sSpritePalette_Arrow.tag); +} + +static void HideChooseTimeWindow(u8 windowId) +{ + sub_8198070(windowId, FALSE); + RemoveWindow(windowId); + schedule_bg_copy_tilemap_to_vram(0); +} + +static void PrintTime(u8 windowId, u8 x, u8 y, u16 days, u8 hours, u8 minutes, u8 seconds) +{ + u8 *dest = gStringVar4; + + ConvertIntToDecimalStringN(gStringVar1, days, 1, 4); + dest = StringCopy(dest, gStringVar1); + dest = StringCopy(dest, gText_Day); + + ConvertIntToDecimalStringN(gStringVar1, hours, 1, 3); + dest = StringCopy(dest, gStringVar1); + dest = StringCopy(dest, gText_Colon3); + + ConvertIntToDecimalStringN(gStringVar1, minutes, 2, 2); + dest = StringCopy(dest, gStringVar1); + dest = StringCopy(dest, gText_Colon3); + + ConvertIntToDecimalStringN(gStringVar1, seconds, 2, 2); + dest = StringCopy(dest, gStringVar1); + + PrintTextOnWindow(windowId, 1, gStringVar4, x, y, TEXT_SPEED_FF, NULL); +} + +static void ShowChooseTimeWindow(u8 windowId, u16 days, u8 hours, u8 minutes, u8 seconds) +{ + SetWindowBorderStyle(windowId, FALSE, 0x214, 0xE); + PrintTime(windowId, 0, 1, days, hours, minutes, seconds); + PrintTextOnWindow(windowId, 1, gText_Confirm2, 126, 1, 0, NULL); + schedule_bg_copy_tilemap_to_vram(0); +} + +static bool32 MoveTimeUpDown(s16 *val, int minVal, int maxVal, u16 keys) +{ + if (keys & DPAD_DOWN) + { + *val -= 1; + if (*val < minVal) + *val = maxVal; + } + else if (keys & DPAD_UP) + { + *val += 1; + if (*val > maxVal) + *val = minVal; + } + else if (keys & DPAD_LEFT) + { + *val -= 10; + if (*val < minVal) + *val = maxVal; + } + else if (keys & DPAD_RIGHT) + { + *val += 10; + if (*val > maxVal) + *val = minVal; + } + else + { + return FALSE; + } + + return TRUE; +} + +static void Task_ResetRtc_3(u8 taskId) +{ + gTasks[taskId].data[0] = 1; +} + +static void Task_ResetRtc_2(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + HideChooseTimeWindow(data[8]); + FreeCursorPalette(); + gTasks[taskId].func = Task_ResetRtc_3; +} + +static void Task_ResetRtc_1(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u8 selection = data[2]; + const struct ResetRtcStruct *selectionInfo = &sUnknown_08510428[selection - 1]; + + if (gMain.newKeys & B_BUTTON) + { + gTasks[taskId].func = Task_ResetRtc_2; + data[1] = 0; + data[2] = 6; + PlaySE(SE_SELECT); + return; + } + + if (gMain.newKeys & DPAD_RIGHT) + { + if (selectionInfo->right) + { + data[2] = selectionInfo->right; + PlaySE(SE_SELECT); + return; + } + } + + if (gMain.newKeys & DPAD_LEFT) + { + if (selectionInfo->left) + { + data[2] = selectionInfo->left; + PlaySE(SE_SELECT); + return; + } + } + + if (selection == 5) + { + if (gMain.newKeys & A_BUTTON) + { + gLocalTime.days = data[3]; + gLocalTime.hours = data[4]; + gLocalTime.minutes = data[5]; + gLocalTime.seconds = data[6]; + PlaySE(SE_SELECT); + gTasks[taskId].func = Task_ResetRtc_2; + data[1] = 1; + data[2] = 6; + } + } + else if (MoveTimeUpDown(&data[selectionInfo->dataIndex], selectionInfo->minVal, selectionInfo->maxVal, gMain.newAndRepeatedKeys & (DPAD_UP | DPAD_DOWN))) + { + PlaySE(SE_SELECT); + PrintTime(data[8], 0, 1, data[3], data[4], data[5], data[6]); + CopyWindowToVram(data[8], 2); + } +} + +static void Task_ResetRtc_0(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + data[0] = 0; + data[3] = gLocalTime.days; + data[4] = gLocalTime.hours; + data[5] = gLocalTime.minutes; + data[6] = gLocalTime.seconds; + data[8] = AddWindow(&sUnknown_08510420); + ShowChooseTimeWindow(data[8], data[3], data[4], data[5], data[6]); + CreateCursor(taskId); + data[2] = 2; + gTasks[taskId].func = Task_ResetRtc_1; +} + +void CB2_InitResetRtcScreen(void) +{ + SetGpuReg(REG_OFFSET_DISPCNT, 0); + SetVBlankCallback(NULL); + DmaClear16(3, PLTT, PLTT_SIZE); + DmaFillLarge16(3, 0, (u8 *)VRAM, 0x18000, 0x1000); + ResetOamRange(0, 128); + LoadOam(); + ScanlineEffect_Stop(); + ScanlineEffect_Clear(); + ResetSpriteData(); + ResetTasks(); + ResetPaletteFade(); + sub_809F048(); + SetVBlankCallback(VBlankCB); + SetMainCallback2(CB2_ResetRtcScreen); + CreateTask(Task_ResetRtcScreen, 80); +} + +static void sub_809F048(void) +{ + clear_scheduled_bg_copies_to_vram(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, sBackgroundTemplates, ARRAY_COUNT(sBackgroundTemplates)); + schedule_bg_copy_tilemap_to_vram(0); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + ShowBg(0); + InitWindows(sUnknown_08510408); + DeactivateAllTextPrinters(); + sub_81973A4(); +} + +static void CB2_ResetRtcScreen(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + do_scheduled_bg_tilemap_copies_to_vram(); + UpdatePaletteFade(); +} + +static void VBlankCB(void) +{ + ProcessSpriteCopyRequests(); + LoadOam(); + TransferPlttBuffer(); +} + +static void ShowMessage(const u8 *str) +{ + sub_8197B1C(1, FALSE, 0x200, 0xF); + PrintTextOnWindow(1, 1, str, 0, 1, 0, NULL); + schedule_bg_copy_tilemap_to_vram(0); +} + +static void Task_ShowResetRtcPrompt(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + switch (data[0]) + { + case 0: + SetWindowBorderStyle(0, FALSE, 0x214, 0xE); + PrintTextOnWindow(0, 1, gText_PresentTime, 0, 1, TEXT_SPEED_FF, 0); + PrintTime( + 0, + 0, + 17, + gLocalTime.days, + gLocalTime.hours, + gLocalTime.minutes, + gLocalTime.seconds); + PrintTextOnWindow(0, 1, gText_PreviousTime, 0, 33, TEXT_SPEED_FF, 0); + PrintTime( + 0, + 0, + 49, + gSaveBlock2Ptr->lastBerryTreeUpdate.days, + gSaveBlock2Ptr->lastBerryTreeUpdate.hours, + gSaveBlock2Ptr->lastBerryTreeUpdate.minutes, + gSaveBlock2Ptr->lastBerryTreeUpdate.seconds); + ShowMessage(gText_ResetRTCConfirmCancel); + CopyWindowToVram(0, 2); + schedule_bg_copy_tilemap_to_vram(0); + data[0]++; + case 1: + if (gMain.newKeys & B_BUTTON) + { + DestroyTask(taskId); + DoSoftReset(); + } + else if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + DestroyTask(taskId); + } + break; + } +} + +static void Task_ResetRtcScreen(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + switch (data[0]) + { + case 0: + BeginNormalPaletteFade(-1, 1, 0x10, 0, 0xFFFF); + data[0] = 1; + break; + case 1: + if (!gPaletteFade.active) + { + if (gSaveFileStatus == 0 || gSaveFileStatus == 2) + { + ShowMessage(gText_NoSaveFileCantSetTime); + data[0] = 5; + } + else + { + RtcCalcLocalTime(); + data[1] = CreateTask(Task_ShowResetRtcPrompt, 80); + data[0] = 2; + } + } + break; + case 2: + if (gTasks[data[1]].isActive != TRUE) + { + sub_8198070(0, FALSE); + ShowMessage(gText_PleaseResetTime); + gLocalTime = gSaveBlock2Ptr->lastBerryTreeUpdate; + data[1] = CreateTask(Task_ResetRtc_0, 80); + data[0] = 3; + } + break; + case 3: + if (gTasks[data[1]].data[0]) + { + if (!gTasks[data[1]].data[1]) + { + DestroyTask(data[1]); + data[0] = 2; + } + else + { + DestroyTask(data[1]); + RtcReset(); + RtcCalcLocalTimeOffset( + gLocalTime.days, + gLocalTime.hours, + gLocalTime.minutes, + gLocalTime.seconds); + gSaveBlock2Ptr->lastBerryTreeUpdate = gLocalTime; + VarSet(VAR_DAYS, gLocalTime.days); + DisableResetRTC(); + ShowMessage(gText_ClockHasBeenReset); + data[0] = 4; + } + } + break; + case 4: + if (TrySavingData(0) == 1) + { + ShowMessage(gText_SaveCompleted); + PlaySE(SE_PINPON); + } + else + { + ShowMessage(gText_SaveFailed); + PlaySE(SE_BOO); + } + data[0] = 5; + case 5: + if (gMain.newKeys & A_BUTTON) + { + BeginNormalPaletteFade(-1, 1, 0, 0x10, 0xFFFF); + data[0] = 6; + } + else + { + break; + } + case 6: + if (!gPaletteFade.active) + { + DestroyTask(taskId); + FreeAllWindowBuffers(); + DoSoftReset(); + } + } +} diff --git a/src/reset_save_heap.c b/src/reset_save_heap.c index d4dbc5f42b..9950f6691f 100644 --- a/src/reset_save_heap.c +++ b/src/reset_save_heap.c @@ -15,7 +15,7 @@ void sub_81700F8(void) imeBackup = REG_IME; REG_IME = 0; RegisterRamReset(0x00000001); - ClearGpuRegBits(REG_OFFSET_DISPCNT, 0x80); + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_FORCED_BLANK); REG_IME = imeBackup; gMain.inBattle = FALSE; SetSaveBlocksPointers(sub_815355C()); @@ -23,10 +23,8 @@ void sub_81700F8(void) ResetSaveCounters(); sub_81534D0(0); if (gSaveFileStatus == 0 || gSaveFileStatus == 2) - { Sav2_ClearSetDefault(); - } SetPokemonCryStereo(gSaveBlock2Ptr->optionsSound); - InitHeap(gHeap, 0x1c000); + InitHeap(gHeap, HEAP_SIZE); SetMainCallback2(sub_8086230); } diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index 002f4f0694..b12917c618 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -3,15 +3,16 @@ #include "battle.h" #include "palette.h" #include "main.h" -#include "unknown_task.h" +#include "scanline_effect.h" #include "text.h" #include "gpu_regs.h" #include "bg.h" #include "battle_controllers.h" #include "link.h" #include "sprite.h" -#include "species.h" +#include "constants/species.h" #include "battle_interface.h" +#include "battle_anim.h" extern u16 gBattle_BG0_X; extern u16 gBattle_BG0_Y; @@ -21,33 +22,17 @@ extern u16 gBattle_BG2_X; extern u16 gBattle_BG2_Y; extern u16 gBattle_BG3_X; extern u16 gBattle_BG3_Y; -extern u8 gReservedSpritePaletteCount; -extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT]; -extern u8 gBankInMenu; -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; -extern u8 gNoOfAllBanks; -extern u32 gBattleTypeFlags; -extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT]; -extern u8 gBattleMonForms[BATTLE_BANKS_COUNT]; -extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT]; extern struct SpriteTemplate gUnknown_0202499C; extern const union AnimCmd * const * const gMonAnimationsSpriteAnimsPtrTable[]; -extern void dp12_8087EA4(void); -extern void trs_config(void); -extern bool8 IsDoubleBattle(void); -extern u8 sub_80A614C(u8 bank); -extern u8 sub_80A6138(u8 bank); -extern u8 sub_80A82E4(u8 bank); extern void sub_806A068(u16 species, u8 bankIdentity); extern void sub_806A12C(u16 backPicId, u8 bankIdentity); -extern u8 sub_80A5C6C(u8 bank, u8 caseId); // this file's functions static void CB2_ReshowBattleScreenAfterMenu(void); -static bool8 LoadBankSpriteGfx(u8 bank); -static void CreateBankSprite(u8 bank); +static bool8 LoadBattlerSpriteGfx(u8 bank); +static void CreateBattlerSprite(u8 bank); static void CreateHealthboxSprite(u8 bank); static void sub_80A95F4(void); @@ -72,8 +57,8 @@ static void CB2_ReshowBattleScreenAfterMenu(void) switch (gBattleScripting.reshowMainState) { case 0: - dp12_8087EA4(); - trs_config(); + ScanlineEffect_Clear(); + sub_8035658(); SetBgAttribute(1, BG_CTRL_ATTR_VISIBLE, 0); SetBgAttribute(2, BG_CTRL_ATTR_VISIBLE, 0); ShowBg(0); @@ -104,7 +89,7 @@ static void CB2_ReshowBattleScreenAfterMenu(void) gReservedSpritePaletteCount = 4; break; case 5: - sub_805E350(); + ClearSpritesHealthboxAnimData(); break; case 6: if (BattleLoadAllHealthBoxesGfx(gBattleScripting.reshowHelperState)) @@ -118,32 +103,32 @@ static void CB2_ReshowBattleScreenAfterMenu(void) } break; case 7: - if (!LoadBankSpriteGfx(0)) + if (!LoadBattlerSpriteGfx(0)) gBattleScripting.reshowMainState--; break; case 8: - if (!LoadBankSpriteGfx(1)) + if (!LoadBattlerSpriteGfx(1)) gBattleScripting.reshowMainState--; break; case 9: - if (!LoadBankSpriteGfx(2)) + if (!LoadBattlerSpriteGfx(2)) gBattleScripting.reshowMainState--; break; case 10: - if (!LoadBankSpriteGfx(3)) + if (!LoadBattlerSpriteGfx(3)) gBattleScripting.reshowMainState--; break; case 11: - CreateBankSprite(0); + CreateBattlerSprite(0); break; case 12: - CreateBankSprite(1); + CreateBattlerSprite(1); break; case 13: - CreateBankSprite(2); + CreateBattlerSprite(2); break; case 14: - CreateBankSprite(3); + CreateBattlerSprite(3); break; case 15: CreateHealthboxSprite(0); @@ -164,18 +149,18 @@ static void CB2_ReshowBattleScreenAfterMenu(void) LoadAndCreateEnemyShadowSprites(); - opponentBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1); - species = GetMonData(&gEnemyParty[gBattlePartyID[opponentBank]], MON_DATA_SPECIES); - SetBankEnemyShadowSpriteCallback(opponentBank, species); + opponentBank = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[opponentBank]], MON_DATA_SPECIES); + SetBattlerShadowSpriteCallback(opponentBank, species); if (IsDoubleBattle()) { - opponentBank = GetBankByIdentity(IDENTITY_OPPONENT_MON2); - species = GetMonData(&gEnemyParty[gBattlePartyID[opponentBank]], MON_DATA_SPECIES); - SetBankEnemyShadowSpriteCallback(opponentBank, species); + opponentBank = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[opponentBank]], MON_DATA_SPECIES); + SetBattlerShadowSpriteCallback(opponentBank, species); } - ActionSelectionCreateCursorAt(gActionSelectionCursor[gBankInMenu], 0); + ActionSelectionCreateCursorAt(gActionSelectionCursor[gBattlerInMenuId], 0); if (gLinkVSyncDisabled != 0 && gReceivedRemoteLinkPlayers != 0) { @@ -208,25 +193,25 @@ static void sub_80A95F4(void) regBgcnt2->charBaseBlock = 0; } -static bool8 LoadBankSpriteGfx(u8 bank) +static bool8 LoadBattlerSpriteGfx(u8 battler) { - if (bank < gNoOfAllBanks) + if (battler < gBattlersCount) { - if (GetBankSide(bank) != SIDE_PLAYER) + if (GetBattlerSide(battler) != B_SIDE_PLAYER) { - if (!gBattleSpritesDataPtr->bankData[bank].behindSubstitute) - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlePartyID[bank]], bank); + if (!gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) + BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battler]], battler); else - BattleLoadSubstituteSpriteGfx(bank, FALSE); + BattleLoadSubstituteOrMonSpriteGfx(battler, FALSE); } - else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && bank == 0) - DecompressTrainerBackPic(gSaveBlock2Ptr->playerGender, bank); - else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && bank == 0) - DecompressTrainerBackPic(BACK_PIC_WALLY, bank); - else if (!gBattleSpritesDataPtr->bankData[bank].behindSubstitute) - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlePartyID[bank]], bank); + else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == 0) + DecompressTrainerBackPic(gSaveBlock2Ptr->playerGender, battler); + else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && battler == 0) + DecompressTrainerBackPic(BACK_PIC_WALLY, battler); + else if (!gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) + BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); else - BattleLoadSubstituteSpriteGfx(bank, FALSE); + BattleLoadSubstituteOrMonSpriteGfx(battler, FALSE); gBattleScripting.reshowHelperState = 0; } @@ -243,111 +228,111 @@ struct MonCoords }; extern const struct MonCoords gTrainerBackPicCoords[]; -static void CreateBankSprite(u8 bank) +static void CreateBattlerSprite(u8 battler) { - if (bank < gNoOfAllBanks) + if (battler < gBattlersCount) { u8 posY; - if (gBattleSpritesDataPtr->bankData[bank].behindSubstitute) - posY = sub_80A614C(bank); + if (gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) + posY = GetSubstituteSpriteDefault_Y(battler); else - posY = sub_80A6138(bank); + posY = GetBattlerSpriteDefault_Y(battler); - if (GetBankSide(bank) != SIDE_PLAYER) + if (GetBattlerSide(battler) != B_SIDE_PLAYER) { - if (GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_HP) == 0) + if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) == 0) return; - sub_806A068(GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES), GetBankIdentity(bank)); - gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, sub_80A5C6C(bank, 2), posY, sub_80A82E4(bank)); - gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; - gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; - gSprites[gBankSpriteIds[bank]].data0 = bank; - gSprites[gBankSpriteIds[bank]].data2 = GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES); + sub_806A068(GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES), GetBattlerPosition(battler)); + gBattlerSpriteIds[battler] = CreateSprite(&gUnknown_0202499C, GetBattlerSpriteCoord(battler, 2), posY, sub_80A82E4(battler)); + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; + gSprites[gBattlerSpriteIds[battler]].data[2] = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); - StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); - if (gBattleSpritesDataPtr->bankData[bank].transformSpecies == SPECIES_CASTFORM) - gSprites[gBankSpriteIds[bank]].anims = gMonAnimationsSpriteAnimsPtrTable[SPECIES_CASTFORM]; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_CASTFORM) + gSprites[gBattlerSpriteIds[battler]].anims = gMonAnimationsSpriteAnimsPtrTable[SPECIES_CASTFORM]; } - else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && bank == 0) + else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == 0) { - sub_806A12C(gSaveBlock2Ptr->playerGender, GetBankIdentity(IDENTITY_PLAYER_MON1)); - gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, 0x50, + sub_806A12C(gSaveBlock2Ptr->playerGender, GetBattlerPosition(B_POSITION_PLAYER_LEFT)); + gBattlerSpriteIds[battler] = CreateSprite(&gUnknown_0202499C, 0x50, (8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].coords) * 4 + 80, sub_80A82E4(0)); - gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; - gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; - gSprites[gBankSpriteIds[bank]].data0 = bank; + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; } - else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && bank == 0) + else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && battler == 0) { - sub_806A12C(BACK_PIC_WALLY, GetBankIdentity(0)); - gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, 0x50, + sub_806A12C(BACK_PIC_WALLY, GetBattlerPosition(0)); + gBattlerSpriteIds[battler] = CreateSprite(&gUnknown_0202499C, 0x50, (8 - gTrainerBackPicCoords[BACK_PIC_WALLY].coords) * 4 + 80, sub_80A82E4(0)); - gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; - gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; - gSprites[gBankSpriteIds[bank]].data0 = bank; + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; } else { - if (GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_HP) == 0) + if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) == 0) return; - sub_806A068(GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES), GetBankIdentity(bank)); - gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, sub_80A5C6C(bank, 2), posY, sub_80A82E4(bank)); - gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; - gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; - gSprites[gBankSpriteIds[bank]].data0 = bank; - gSprites[gBankSpriteIds[bank]].data2 = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES); + sub_806A068(GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES), GetBattlerPosition(battler)); + gBattlerSpriteIds[battler] = CreateSprite(&gUnknown_0202499C, GetBattlerSpriteCoord(battler, 2), posY, sub_80A82E4(battler)); + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; + gSprites[gBattlerSpriteIds[battler]].data[2] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); - StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); - if (gBattleSpritesDataPtr->bankData[bank].transformSpecies == SPECIES_CASTFORM) - gSprites[gBankSpriteIds[bank]].anims = gMonAnimationsSpriteAnimsPtrTable[SPECIES_CASTFORM]; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_CASTFORM) + gSprites[gBattlerSpriteIds[battler]].anims = gMonAnimationsSpriteAnimsPtrTable[SPECIES_CASTFORM]; } - gSprites[gBankSpriteIds[bank]].invisible = gBattleSpritesDataPtr->bankData[bank].invisible; + gSprites[gBattlerSpriteIds[battler]].invisible = gBattleSpritesDataPtr->battlerData[battler].invisible; } } -static void CreateHealthboxSprite(u8 bank) +static void CreateHealthboxSprite(u8 battler) { - if (bank < gNoOfAllBanks) + if (battler < gBattlersCount) { u8 healthboxSpriteId; - if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && bank == 0) + if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == 0) healthboxSpriteId = CreateSafariPlayerHealthboxSprites(); - else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && bank == 0) + else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && battler == 0) return; else - healthboxSpriteId = CreateBankHealthboxSprites(bank); + healthboxSpriteId = CreateBattlerHealthboxSprites(battler); - gHealthBoxesIds[bank] = healthboxSpriteId; - SetBankHealthboxSpritePos(bank); + gHealthboxSpriteIds[battler] = healthboxSpriteId; + InitBattlerHealthboxCoords(battler); SetHealthboxSpriteVisible(healthboxSpriteId); - if (GetBankSide(bank) != SIDE_PLAYER) - UpdateHealthboxAttribute(gHealthBoxesIds[bank], &gEnemyParty[gBattlePartyID[bank]], HEALTHBOX_ALL); + if (GetBattlerSide(battler) != B_SIDE_PLAYER) + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gEnemyParty[gBattlerPartyIndexes[battler]], HEALTHBOX_ALL); else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) - UpdateHealthboxAttribute(gHealthBoxesIds[bank], &gPlayerParty[gBattlePartyID[bank]], HEALTHBOX_SAFARI_ALL_TEXT); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gPlayerParty[gBattlerPartyIndexes[battler]], HEALTHBOX_SAFARI_ALL_TEXT); else - UpdateHealthboxAttribute(gHealthBoxesIds[bank], &gPlayerParty[gBattlePartyID[bank]], HEALTHBOX_ALL); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gPlayerParty[gBattlerPartyIndexes[battler]], HEALTHBOX_ALL); - if (GetBankIdentity(bank) == IDENTITY_OPPONENT_MON2 || GetBankIdentity(bank) == IDENTITY_PLAYER_MON2) - DummyBattleInterfaceFunc(gHealthBoxesIds[bank], TRUE); + if (GetBattlerPosition(battler) == B_POSITION_OPPONENT_RIGHT || GetBattlerPosition(battler) == B_POSITION_PLAYER_RIGHT) + DummyBattleInterfaceFunc(gHealthboxSpriteIds[battler], TRUE); else - DummyBattleInterfaceFunc(gHealthBoxesIds[bank], FALSE); + DummyBattleInterfaceFunc(gHealthboxSpriteIds[battler], FALSE); - if (GetBankSide(bank) != SIDE_PLAYER) + if (GetBattlerSide(battler) != B_SIDE_PLAYER) { - if (GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_HP) == 0) + if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) == 0) SetHealthboxSpriteInvisible(healthboxSpriteId); } else if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) { - if (GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_HP) == 0) + if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) == 0) SetHealthboxSpriteInvisible(healthboxSpriteId); } } diff --git a/src/rng.c b/src/rng.c deleted file mode 100644 index ddd1490188..0000000000 --- a/src/rng.c +++ /dev/null @@ -1,32 +0,0 @@ -#include "global.h" -#include "rng.h" - -// The number 1103515245 comes from the example implementation of rand and srand -// in the ISO C standard. - -EWRAM_DATA static u8 sUnknown = 0; -EWRAM_DATA static u32 sRandCount = 0; - -u16 Random(void) -{ - gRngValue = 1103515245 * gRngValue + 24691; - sRandCount++; - return gRngValue >> 16; -} - -void SeedRng(u16 seed) -{ - gRngValue = seed; - sUnknown = 0; -} - -void SeedRng2(u16 seed) -{ - gRng2Value = seed; -} - -u16 Random2(void) -{ - gRng2Value = 1103515245 * gRng2Value + 24691; - return gRng2Value >> 16; -} diff --git a/src/roamer.c b/src/roamer.c index cbe1b6312d..fbd25bfad4 100644 --- a/src/roamer.c +++ b/src/roamer.c @@ -1,8 +1,8 @@ #include "global.h" #include "roamer.h" #include "pokemon.h" -#include "rng.h" -#include "species.h" +#include "random.h" +#include "constants/species.h" #include "event_data.h" enum diff --git a/src/rom_8034C54.c b/src/rom_8034C54.c new file mode 100644 index 0000000000..4d4492524b --- /dev/null +++ b/src/rom_8034C54.c @@ -0,0 +1,5 @@ +#include "global.h" + +IWRAM_DATA u32 gUnknown_03000DD4; +IWRAM_DATA u32 gUnknown_03000DD8; +IWRAM_DATA u32 gUnknown_03000DDC; diff --git a/src/safari_zone.c b/src/safari_zone.c index 77c6bbd613..dd3cf37339 100644 --- a/src/safari_zone.c +++ b/src/safari_zone.c @@ -1,10 +1,11 @@ #include "global.h" #include "safari_zone.h" #include "event_data.h" -#include "game_stat.h" +#include "constants/game_stat.h" #include "main.h" #include "battle.h" #include "string_util.h" +#include "pokeblock.h" struct PokeblockFeeder { @@ -20,11 +21,10 @@ struct PokeblockFeeder extern u8 gBattleOutcome; extern void* gFieldCallback; -extern u8 gUnknown_082A4B8A[]; -extern u8 gUnknown_082A4B6F[]; -extern u8 gUnknown_082A4B4C[]; -extern u8 gUnknown_082A4B9B[]; -extern const u8* const gPokeblockNames[]; +extern u8 EventScript_2A4B8A[]; +extern u8 EventScript_2A4B6F[]; +extern u8 EventScript_2A4B4C[]; +extern u8 EventScript_2A4B9B[]; extern void sub_80EE44C(u8, u8); extern void IncrementGameStat(u8 index); @@ -50,17 +50,17 @@ static void DecrementFeederStepCounters(void); bool32 GetSafariZoneFlag(void) { - return FlagGet(SYS_SAFARI_MODE); + return FlagGet(FLAG_SYS_SAFARI_MODE); } void SetSafariZoneFlag(void) { - FlagSet(SYS_SAFARI_MODE); + FlagSet(FLAG_SYS_SAFARI_MODE); } void ResetSafariZoneFlag(void) { - FlagClear(SYS_SAFARI_MODE); + FlagClear(FLAG_SYS_SAFARI_MODE); } void EnterSafariMode(void) @@ -94,7 +94,7 @@ bool8 SafariZoneTakeStep(void) sSafariZoneStepCounter--; if (sSafariZoneStepCounter == 0) { - ScriptContext1_SetupScript(gUnknown_082A4B8A); + ScriptContext1_SetupScript(EventScript_2A4B8A); return TRUE; } return FALSE; @@ -102,28 +102,28 @@ bool8 SafariZoneTakeStep(void) void SafariZoneRetirePrompt(void) { - ScriptContext1_SetupScript(gUnknown_082A4B6F); + ScriptContext1_SetupScript(EventScript_2A4B6F); } -void sub_80FC190(void) +void CB2_EndSafariBattle(void) { sSafariZoneFleedMons += gBattleResults.field_1F; - if (gBattleOutcome == BATTLE_CAUGHT) + if (gBattleOutcome == B_OUTCOME_CAUGHT) sSafariZoneCaughtMons++; if (gNumSafariBalls != 0) { SetMainCallback2(c2_exit_to_overworld_2_switch); } - else if (gBattleOutcome == BATTLE_SAFARI_OUT_OF_BALLS) + else if (gBattleOutcome == B_OUTCOME_NO_SAFARI_BALLS) { - ScriptContext2_RunNewScript(gUnknown_082A4B4C); + ScriptContext2_RunNewScript(EventScript_2A4B4C); warp_in(); gFieldCallback = sub_80AF6F0; SetMainCallback2(c2_load_new_map); } - else if (gBattleOutcome == BATTLE_CAUGHT) + else if (gBattleOutcome == B_OUTCOME_CAUGHT) { - ScriptContext1_SetupScript(gUnknown_082A4B9B); + ScriptContext1_SetupScript(EventScript_2A4B9B); ScriptContext1_Stop(); SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); } @@ -152,13 +152,13 @@ void GetPokeblockFeederInFront(void) && sPokeblockFeeders[i].x == x && sPokeblockFeeders[i].y == y) { - gScriptResult = i; + gSpecialVar_Result = i; StringCopy(gStringVar1, gPokeblockNames[sPokeblockFeeders[i].pokeblock.color]); return; } } - gScriptResult = -1; + gSpecialVar_Result = -1; } void GetPokeblockFeederWithinRange(void) @@ -181,13 +181,13 @@ void GetPokeblockFeederWithinRange(void) y *= -1; if ((x + y) <= 5) { - gScriptResult = i; + gSpecialVar_Result = i; return; } } } - gScriptResult = -1; + gSpecialVar_Result = -1; } // unused @@ -195,20 +195,20 @@ struct Pokeblock *SafariZoneGetPokeblockInFront(void) { GetPokeblockFeederInFront(); - if (gScriptResult == 0xFFFF) + if (gSpecialVar_Result == 0xFFFF) return NULL; else - return &sPokeblockFeeders[gScriptResult].pokeblock; + return &sPokeblockFeeders[gSpecialVar_Result].pokeblock; } struct Pokeblock *SafariZoneGetActivePokeblock(void) { GetPokeblockFeederWithinRange(); - if (gScriptResult == 0xFFFF) + if (gSpecialVar_Result == 0xFFFF) return NULL; else - return &sPokeblockFeeders[gScriptResult].pokeblock; + return &sPokeblockFeeders[gSpecialVar_Result].pokeblock; } void SafariZoneActivatePokeblockFeeder(u8 pkblId) @@ -255,13 +255,13 @@ bool8 GetInFrontFeederPokeblockAndSteps(void) { GetPokeblockFeederInFront(); - if (gScriptResult == 0xFFFF) + if (gSpecialVar_Result == 0xFFFF) { return FALSE; } ConvertIntToDecimalStringN(gStringVar2, - sPokeblockFeeders[gScriptResult].stepCounter, + sPokeblockFeeders[gSpecialVar_Result].stepCounter, STR_CONV_MODE_LEADING_ZEROS, 3); return TRUE; diff --git a/src/save.c b/src/save.c index 2c1b26ca9f..8d77e801a8 100644 --- a/src/save.c +++ b/src/save.c @@ -1,16 +1,71 @@ #include "global.h" #include "gba/flash_internal.h" #include "save.h" -#include "game_stat.h" +#include "constants/game_stat.h" #include "task.h" +// for the chunk declarations +extern struct SaveBlock2 gSaveblock2; +extern struct SaveBlock1 gSaveblock1; +extern struct PokemonStorage gPokemonStorage; + extern struct SaveSectionLocation gRamSaveSectionLocations[0xE]; extern u8 gDecompressionBuffer[]; extern u32 gFlashMemoryPresent; extern u16 gUnknown_03006294; extern bool8 gSoftResetDisabled; -extern const struct SaveSectionOffsets gSaveSectionOffsets[0xE]; +// Divide save blocks into individual chunks to be written to flash sectors + +// Each 4 KiB flash sector contains 3968 bytes of actual data followed by a 128 byte footer +#define SECTOR_DATA_SIZE 3968 +#define SECTOR_FOOTER_SIZE 128 + +/* + * Sector Layout: + * + * Sectors 0 - 13: Save Slot 1 + * Sectors 14 - 27: Save Slot 2 + * Sectors 28 - 29: Hall of Fame + * Sector 30: e-Reader/Mystery Gift Stuff (note: e-Reader is deprecated in Emerald US) + * Sector 31: Recorded Battle + * + * There are two save slots for saving the player's game data. We alternate between + * them each time the game is saved, so that if the current save slot is corrupt, + * we can load the previous one. We also rotate the sectors in each save slot + * so that the same data is not always being written to the same sector. This + * might be done to reduce wear on the flash memory, but I'm not sure, since all + * 14 sectors get written anyway. + */ + +// (u8 *)structure was removed from the first statement of the macro in Emerald. +// This is because malloc is used to allocate addresses so storing the raw +// addresses should not be done in the offsets information. +#define SAVEBLOCK_CHUNK(structure, chunkNum) \ +{ \ + chunkNum * SECTOR_DATA_SIZE, \ + min(sizeof(structure) - chunkNum * SECTOR_DATA_SIZE, SECTOR_DATA_SIZE) \ +} \ + +const struct SaveSectionOffsets gSaveSectionOffsets[] = +{ + SAVEBLOCK_CHUNK(gSaveblock2, 0), + + SAVEBLOCK_CHUNK(gSaveblock1, 0), + SAVEBLOCK_CHUNK(gSaveblock1, 1), + SAVEBLOCK_CHUNK(gSaveblock1, 2), + SAVEBLOCK_CHUNK(gSaveblock1, 3), + + SAVEBLOCK_CHUNK(gPokemonStorage, 0), + SAVEBLOCK_CHUNK(gPokemonStorage, 1), + SAVEBLOCK_CHUNK(gPokemonStorage, 2), + SAVEBLOCK_CHUNK(gPokemonStorage, 3), + SAVEBLOCK_CHUNK(gPokemonStorage, 4), + SAVEBLOCK_CHUNK(gPokemonStorage, 5), + SAVEBLOCK_CHUNK(gPokemonStorage, 6), + SAVEBLOCK_CHUNK(gPokemonStorage, 7), + SAVEBLOCK_CHUNK(gPokemonStorage, 8), +}; extern void DoSaveFailedScreen(u8); // save_failed_screen extern void LoadSerializedGame(void); // load_save @@ -797,7 +852,7 @@ u16 sub_815355C(void) return 0; } -u32 sub_81535DC(u8 sector, u8* dst) +u32 TryCopySpecialSaveSection(u8 sector, u8* dst) { s32 i; s32 size; @@ -826,6 +881,7 @@ u32 sub_8153634(u8 sector, u8* src) if (sector != 30 && sector != 31) return 0xFF; + savDataBuffer = &gSaveDataBuffer; *(u32*)(savDataBuffer) = 0xB39D; diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c old mode 100755 new mode 100644 index 3f49b89e6b..b207d7e747 --- a/src/save_failed_screen.c +++ b/src/save_failed_screen.c @@ -9,12 +9,11 @@ #include "menu.h" #include "save.h" #include "gba/flash_internal.h" +#include "text_window.h" #define MSG_WIN_TOP 12 #define CLOCK_WIN_TOP (MSG_WIN_TOP - 4) -extern void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, struct TextColor *color, s8 speed, u8 *str); - extern void (*gGameContinueCallback)(void); extern u32 gDamagedSaveSectors; @@ -23,9 +22,7 @@ extern const u8 gBirchHelpGfx[]; extern const u8 gBirchBagTilemap[]; extern const u8 gBirchGrassTilemap[]; extern const u16 gBirchBagGrassPal[]; -extern const u16 gUnknown_0850FEFC[]; extern const u16 gUnknown_0860F074[]; -extern const u32 gUnknown_0850E87C[]; extern struct SaveSection gSaveDataBuffer; extern u8 gText_SaveFailedCheckingBackup[]; @@ -156,8 +153,8 @@ static const u8 sClockFrames[8][3] = { 5, 1, 0 }, }; -static const u8 gSaveFailedClockPal[] = INCBIN_U8("graphics/misc/clock_small.gbapal"); -static const u8 gSaveFailedClockGfx[] = INCBIN_U8("graphics/misc/clock_small.4bpp.lz"); +static const u8 sSaveFailedClockPal[] = INCBIN_U8("graphics/misc/clock_small.gbapal"); +static const u8 sSaveFailedClockGfx[] = INCBIN_U8("graphics/misc/clock_small.4bpp.lz"); static void CB2_SaveFailedScreen(void); static void CB2_WipeSave(void); @@ -171,12 +168,12 @@ static bool8 WipeSectors(u32); // although this is a general text printer, it's only used in this file. static void SaveFailedScreenTextPrint(u8 *text, u8 var1, u8 var2) { - struct TextColor color; + u8 color[3]; - color.fgColor = 0; - color.bgColor = 15; - color.shadowColor = 3; - AddTextPrinterParametrized2(gSaveFailedWindowIds[TEXT_WIN_ID], 1, var1 * 8, var2 * 8 + 1, 0, 0, &color, 0, text); + color[0] = 0; + color[1] = 15; + color[2] = 3; + AddTextPrinterParameterized2(gSaveFailedWindowIds[TEXT_WIN_ID], 1, var1 * 8, var2 * 8 + 1, 0, 0, color, 0, text); } void DoSaveFailedScreen(u8 saveType) @@ -223,12 +220,12 @@ static void CB2_SaveFailedScreen(void) LZ77UnCompVram(gBirchHelpGfx, (void *)VRAM); LZ77UnCompVram(gBirchBagTilemap, (void *)(VRAM + 0x7000)); LZ77UnCompVram(gBirchGrassTilemap, (void *)(VRAM + 0x7800)); - LZ77UnCompVram(gSaveFailedClockGfx, (void *)(VRAM + 0x10020)); + LZ77UnCompVram(sSaveFailedClockGfx, (void *)(VRAM + 0x10020)); ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, gUnknown_085EFD88, 3); SetBgTilemapBuffer(0, (void *)&gDecompressionBuffer[0x2000]); CpuFill32(0, &gDecompressionBuffer[0x2000], 0x800); - LoadBgTiles(0, gUnknown_0850E87C, 0x120, 0x214); + LoadBgTiles(0, gTextWindowFrame1_Gfx, 0x120, 0x214); InitWindows(gUnknown_085EFD94); // AddWindowWithoutTileMap returns a u16/integer, but the info is clobbered into a u8 here resulting in lost info. Bug? gSaveFailedWindowIds[TEXT_WIN_ID] = AddWindowWithoutTileMap(gUnknown_085EFD9C); @@ -240,8 +237,8 @@ static void CB2_SaveFailedScreen(void) ResetTasks(); ResetPaletteFade(); LoadPalette(gBirchBagGrassPal, 0, 0x40); - LoadPalette(gSaveFailedClockPal, 0x100, 0x20); - LoadPalette(gUnknown_0850FEFC, 0xE0, 0x20); + LoadPalette(sSaveFailedClockPal, 0x100, 0x20); + LoadPalette(gTextWindowFrame1_Pal, 0xE0, 0x20); LoadPalette(gUnknown_0860F074, 0xF0, 0x20); SetWindowBorderStyle(gSaveFailedWindowIds[TEXT_WIN_ID], FALSE, 0x214, 0xE); SetWindowBorderStyle(gSaveFailedWindowIds[CLOCK_WIN_ID], FALSE, 0x214, 0xE); diff --git a/src/save_location.c b/src/save_location.c old mode 100755 new mode 100644 index 61a5fd30d9..262aaf40cf --- a/src/save_location.c +++ b/src/save_location.c @@ -1,9 +1,6 @@ #include "global.h" #include "save_location.h" -#include "map_constants.h" - -// used to make the list defines a little less ugly. -#define MAP(name) ((MAP_GROUP_##name << 8) + (MAP_ID_##name)) +#include "constants/maps.h" // specialSaveWarp flags #define POKECENTER_SAVEWARP (1 << 1) @@ -29,44 +26,44 @@ static bool32 IsCurMapInLocationList(const u16 *list) // TODO: Not require a packed u16 array for these lists static const u16 sSaveLocationPokeCenterList[] = { - MAP(OLDALE_TOWN_POKEMON_CENTER_1F), - MAP(OLDALE_TOWN_POKEMON_CENTER_2F), - MAP(DEWFORD_TOWN_POKEMON_CENTER_1F), - MAP(DEWFORD_TOWN_POKEMON_CENTER_2F), - MAP(LAVARIDGE_TOWN_POKEMON_CENTER_1F), - MAP(LAVARIDGE_TOWN_POKEMON_CENTER_2F), - MAP(FALLARBOR_TOWN_POKEMON_CENTER_1F), - MAP(FALLARBOR_TOWN_POKEMON_CENTER_2F), - MAP(VERDANTURF_TOWN_POKEMON_CENTER_1F), - MAP(VERDANTURF_TOWN_POKEMON_CENTER_2F), - MAP(PACIFIDLOG_TOWN_POKEMON_CENTER_1F), - MAP(PACIFIDLOG_TOWN_POKEMON_CENTER_2F), - MAP(PETALBURG_CITY_POKEMON_CENTER_1F), - MAP(PETALBURG_CITY_POKEMON_CENTER_2F), - MAP(SLATEPORT_CITY_POKEMON_CENTER_1F), - MAP(SLATEPORT_CITY_POKEMON_CENTER_2F), - MAP(MAUVILLE_CITY_POKEMON_CENTER_1F), - MAP(MAUVILLE_CITY_POKEMON_CENTER_2F), - MAP(RUSTBORO_CITY_POKEMON_CENTER_1F), - MAP(RUSTBORO_CITY_POKEMON_CENTER_2F), - MAP(FORTREE_CITY_POKEMON_CENTER_1F), - MAP(FORTREE_CITY_POKEMON_CENTER_2F), - MAP(LILYCOVE_CITY_POKEMON_CENTER_1F), - MAP(LILYCOVE_CITY_POKEMON_CENTER_2F), - MAP(MOSSDEEP_CITY_POKEMON_CENTER_1F), - MAP(MOSSDEEP_CITY_POKEMON_CENTER_2F), - MAP(SOOTOPOLIS_CITY_POKEMON_CENTER_1F), - MAP(SOOTOPOLIS_CITY_POKEMON_CENTER_2F), - MAP(EVER_GRANDE_CITY_POKEMON_CENTER_1F), - MAP(EVER_GRANDE_CITY_POKEMON_CENTER_2F), - MAP(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), - MAP(EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), - MAP(BATTLE_FRONTIER_POKEMON_CENTER_1F), - MAP(BATTLE_FRONTIER_POKEMON_CENTER_2F), - MAP(SINGLE_BATTLE_COLOSSEUM), - MAP(TRADE_CENTER), - MAP(RECORD_CORNER), - MAP(DOUBLE_BATTLE_COLOSSEUM), + MAP_OLDALE_TOWN_POKEMON_CENTER_1F, + MAP_OLDALE_TOWN_POKEMON_CENTER_2F, + MAP_DEWFORD_TOWN_POKEMON_CENTER_1F, + MAP_DEWFORD_TOWN_POKEMON_CENTER_2F, + MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F, + MAP_LAVARIDGE_TOWN_POKEMON_CENTER_2F, + MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F, + MAP_FALLARBOR_TOWN_POKEMON_CENTER_2F, + MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F, + MAP_VERDANTURF_TOWN_POKEMON_CENTER_2F, + MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F, + MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_2F, + MAP_PETALBURG_CITY_POKEMON_CENTER_1F, + MAP_PETALBURG_CITY_POKEMON_CENTER_2F, + MAP_SLATEPORT_CITY_POKEMON_CENTER_1F, + MAP_SLATEPORT_CITY_POKEMON_CENTER_2F, + MAP_MAUVILLE_CITY_POKEMON_CENTER_1F, + MAP_MAUVILLE_CITY_POKEMON_CENTER_2F, + MAP_RUSTBORO_CITY_POKEMON_CENTER_1F, + MAP_RUSTBORO_CITY_POKEMON_CENTER_2F, + MAP_FORTREE_CITY_POKEMON_CENTER_1F, + MAP_FORTREE_CITY_POKEMON_CENTER_2F, + MAP_LILYCOVE_CITY_POKEMON_CENTER_1F, + MAP_LILYCOVE_CITY_POKEMON_CENTER_2F, + MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F, + MAP_MOSSDEEP_CITY_POKEMON_CENTER_2F, + MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F, + MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F, + MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F, + MAP_EVER_GRANDE_CITY_POKEMON_CENTER_2F, + MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F, + MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F, + MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F, + MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F, + MAP_SINGLE_BATTLE_COLOSSEUM, + MAP_TRADE_CENTER, + MAP_RECORD_CORNER, + MAP_DOUBLE_BATTLE_COLOSSEUM, 0xFFFF, }; @@ -77,7 +74,7 @@ static bool32 IsCurMapPokeCenter(void) static const u16 sSaveLocationReloadLocList[] = // there's only 1 location, and it's presumed its for the save reload feature for battle tower { - MAP(BATTLE_TOWER_LOBBY), + MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 0xFFFF, }; diff --git a/src/scanline_effect.c b/src/scanline_effect.c new file mode 100644 index 0000000000..148e053fc2 --- /dev/null +++ b/src/scanline_effect.c @@ -0,0 +1,262 @@ +#include "global.h" +#include "data2.h" +#include "task.h" +#include "trig.h" +#include "scanline_effect.h" + +static void CopyValue16Bit(void); +static void CopyValue32Bit(void); + +extern u16 gBattle_BG0_Y; +extern u16 gBattle_BG0_X; +extern u16 gBattle_BG1_X; +extern u16 gBattle_BG1_Y; +extern u16 gBattle_BG2_X; +extern u16 gBattle_BG2_Y; +extern u16 gBattle_BG3_X; +extern u16 gBattle_BG3_Y; + +// EWRAM vars + +// Per-scanline register values. +// This is double buffered so that it can be safely written to at any time +// without overwriting the buffer that the DMA is currently reading +EWRAM_DATA u16 gScanlineEffectRegBuffers[2][0x3C0] = {0}; + +EWRAM_DATA struct ScanlineEffect gScanlineEffect = {0}; +EWRAM_DATA static bool8 sShouldStopWaveTask = FALSE; + +void ScanlineEffect_Stop(void) +{ + gScanlineEffect.state = 0; + DmaStop(0); + if (gScanlineEffect.waveTaskId != 0xFF) + { + DestroyTask(gScanlineEffect.waveTaskId); + gScanlineEffect.waveTaskId = 0xFF; + } +} + +void ScanlineEffect_Clear(void) +{ + CpuFill16(0, gScanlineEffectRegBuffers, sizeof(gScanlineEffectRegBuffers)); + gScanlineEffect.dmaSrcBuffers[0] = NULL; + gScanlineEffect.dmaSrcBuffers[1] = NULL; + gScanlineEffect.dmaDest = NULL; + gScanlineEffect.dmaControl = 0; + gScanlineEffect.srcBuffer = 0; + gScanlineEffect.state = 0; + gScanlineEffect.unused16 = 0; + gScanlineEffect.unused17 = 0; + gScanlineEffect.waveTaskId = 0xFF; +} + +void ScanlineEffect_SetParams(struct ScanlineEffectParams params) +{ + if (params.dmaControl == SCANLINE_EFFECT_DMACNT_16BIT) // 16-bit + { + // Set the DMA src to the value for the second scanline because the + // first DMA transfer occurs in HBlank *after* the first scanline is drawn + gScanlineEffect.dmaSrcBuffers[0] = (u16 *)gScanlineEffectRegBuffers[0] + 1; + gScanlineEffect.dmaSrcBuffers[1] = (u16 *)gScanlineEffectRegBuffers[1] + 1; + gScanlineEffect.setFirstScanlineReg = CopyValue16Bit; + } + else // assume 32-bit + { + // Set the DMA src to the value for the second scanline because the + // first DMA transfer occurs in HBlank *after* the first scanline is drawn + gScanlineEffect.dmaSrcBuffers[0] = (u32 *)gScanlineEffectRegBuffers[0] + 1; + gScanlineEffect.dmaSrcBuffers[1] = (u32 *)gScanlineEffectRegBuffers[1] + 1; + gScanlineEffect.setFirstScanlineReg = CopyValue32Bit; + } + + gScanlineEffect.dmaControl = params.dmaControl; + gScanlineEffect.dmaDest = params.dmaDest; + gScanlineEffect.state = params.initState; + gScanlineEffect.unused16 = params.unused9; + gScanlineEffect.unused17 = params.unused9; +} + +void ScanlineEffect_InitHBlankDmaTransfer(void) +{ + if (gScanlineEffect.state == 0) + { + return; + } + else if (gScanlineEffect.state == 3) + { + gScanlineEffect.state = 0; + DmaStop(0); + sShouldStopWaveTask = TRUE; + } + else + { + DmaStop(0); + // Set DMA to copy to dest register on each HBlank for the next frame. + // The HBlank DMA transfers do not occurr during VBlank, so the transfer + // will begin on the HBlank after the first scanline + DmaSet(0, gScanlineEffect.dmaSrcBuffers[gScanlineEffect.srcBuffer], gScanlineEffect.dmaDest, gScanlineEffect.dmaControl); + // Manually set the reg for the first scanline + gScanlineEffect.setFirstScanlineReg(); + // Swap current buffer + gScanlineEffect.srcBuffer ^= 1; + } +} + +// These two functions are used to copy the register for the first scanline, +// depending whether it is a 16-bit register or a 32-bit register. + +static void CopyValue16Bit(void) +{ + u16 *dest = (u16 *)gScanlineEffect.dmaDest; + u16 *src = (u16 *)&gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer]; + + *dest = *src; +} + +static void CopyValue32Bit(void) +{ + u32 *dest = (u32 *)gScanlineEffect.dmaDest; + u32 *src = (u32 *)&gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer]; + + *dest = *src; +} + +#define tStartLine data[0] +#define tEndLine data[1] +#define tWaveLength data[2] +#define tSrcBufferOffset data[3] +#define tFramesUntilMove data[4] +#define tDelayInterval data[5] +#define tRegOffset data[6] +#define tApplyBattleBgOffsets data[7] + +static void TaskFunc_UpdateWavePerFrame(u8 taskId) +{ + int value = 0; + int i; + int offset; + + if (sShouldStopWaveTask) + { + DestroyTask(taskId); + gScanlineEffect.waveTaskId = 0xFF; + } + else + { + if (gTasks[taskId].tApplyBattleBgOffsets) + { + switch (gTasks[taskId].tRegOffset) + { + case SCANLINE_EFFECT_REG_BG0HOFS: + value = gBattle_BG0_X; + break; + case SCANLINE_EFFECT_REG_BG0VOFS: + value = gBattle_BG0_Y; + break; + case SCANLINE_EFFECT_REG_BG1HOFS: + value = gBattle_BG1_X; + break; + case SCANLINE_EFFECT_REG_BG1VOFS: + value = gBattle_BG1_Y; + break; + case SCANLINE_EFFECT_REG_BG2HOFS: + value = gBattle_BG2_X; + break; + case SCANLINE_EFFECT_REG_BG2VOFS: + value = gBattle_BG2_Y; + break; + case SCANLINE_EFFECT_REG_BG3HOFS: + value = gBattle_BG3_X; + break; + case SCANLINE_EFFECT_REG_BG3VOFS: + value = gBattle_BG3_Y; + break; + } + } + if (gTasks[taskId].tFramesUntilMove != 0) + { + gTasks[taskId].tFramesUntilMove--; + offset = gTasks[taskId].tSrcBufferOffset + 320; + for (i = gTasks[taskId].tStartLine; i < gTasks[taskId].tEndLine; i++) + { + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = gScanlineEffectRegBuffers[0][offset] + value; + offset++; + } + } + else + { + gTasks[taskId].tFramesUntilMove = gTasks[taskId].tDelayInterval; + offset = gTasks[taskId].tSrcBufferOffset + 320; + for (i = gTasks[taskId].tStartLine; i < gTasks[taskId].tEndLine; i++) + { + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = gScanlineEffectRegBuffers[0][offset] + value; + offset++; + } + + // increment src buffer offset + gTasks[taskId].tSrcBufferOffset++; + if (gTasks[taskId].tSrcBufferOffset == gTasks[taskId].tWaveLength) + gTasks[taskId].tSrcBufferOffset = 0; + } + } +} + +static void GenerateWave(u16 *buffer, u8 frequency, u8 amplitude, u8 unused) +{ + u16 i = 0; + u8 theta = 0; + + while (i < 256) + { + buffer[i] = (gSineTable[theta] * amplitude) / 256; + theta += frequency; + i++; + } +} + +// Initializes a background "wave" effect that affects scanlines startLine (inclusive) to endLine (exclusive). +// 'frequency' and 'amplitude' control the frequency and amplitude of the wave. +// 'delayInterval' controls how fast the wave travels up the screen. The wave will shift upwards one scanline every 'delayInterval'+1 frames. +// 'regOffset' is the offset of the video register to modify. +u8 ScanlineEffect_InitWave(u8 startLine, u8 endLine, u8 frequency, u8 amplitude, u8 delayInterval, u8 regOffset, bool8 applyBattleBgOffsets) +{ + int i; + int offset; + struct ScanlineEffectParams params; + u8 taskId; + + ScanlineEffect_Clear(); + + params.dmaDest = (void *)(REG_ADDR_BG0HOFS + regOffset); + params.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT; + params.initState = 1; + params.unused9 = 0; + ScanlineEffect_SetParams(params); + + taskId = CreateTask(TaskFunc_UpdateWavePerFrame, 0); + + gTasks[taskId].tStartLine = startLine; + gTasks[taskId].tEndLine = endLine; + gTasks[taskId].tWaveLength = 256 / frequency; + gTasks[taskId].tSrcBufferOffset = 0; + gTasks[taskId].tFramesUntilMove = delayInterval; + gTasks[taskId].tDelayInterval = delayInterval; + gTasks[taskId].tRegOffset = regOffset; + gTasks[taskId].tApplyBattleBgOffsets = applyBattleBgOffsets; + + gScanlineEffect.waveTaskId = taskId; + sShouldStopWaveTask = FALSE; + + GenerateWave(&gScanlineEffectRegBuffers[0][320], frequency, amplitude, endLine - startLine); + + offset = 320; + for (i = startLine; i < endLine; i++) + { + gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[0][offset]; + gScanlineEffectRegBuffers[1][i] = gScanlineEffectRegBuffers[0][offset]; + offset++; + } + + return taskId; +} diff --git a/src/scrcmd.c b/src/scrcmd.c index af314609c8..d2e9c13c94 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -29,12 +29,11 @@ #include "menu.h" #include "money.h" #include "mystery_event_script.h" -#include "new_menu_helpers.h" #include "palette.h" #include "party_menu.h" #include "pokemon_3.h" #include "pokemon_storage_system.h" -#include "rng.h" +#include "random.h" #include "overworld.h" #include "rtc.h" #include "script.h" @@ -64,14 +63,7 @@ static EWRAM_DATA u16 sMovingNpcMapBank = 0; static EWRAM_DATA u16 sMovingNpcMapId = 0; static EWRAM_DATA u16 sFieldEffectScriptId = 0; -extern u16 gSpecialVar_0x8000; -extern u16 gSpecialVar_0x8001; -extern u16 gSpecialVar_0x8002; -extern u16 gSpecialVar_0x8004; - -extern u16 gScriptResult; - -extern u16 gScriptContestCategory; +extern u16 gSpecialVar_ContestCategory; IWRAM_DATA u8 gUnknown_03000F30; @@ -491,25 +483,25 @@ bool8 ScrCmd_random(struct ScriptContext *ctx) { u16 max = VarGet(ScriptReadHalfword(ctx)); - gScriptResult = Random() % max; + gSpecialVar_Result = Random() % max; return FALSE; } -bool8 ScrCmd_additem(struct ScriptContext *ctx) +bool8 ScrCmd_giveitem(struct ScriptContext *ctx) { u16 itemId = VarGet(ScriptReadHalfword(ctx)); u32 quantity = VarGet(ScriptReadHalfword(ctx)); - gScriptResult = AddBagItem(itemId, (u8)quantity); + gSpecialVar_Result = AddBagItem(itemId, (u8)quantity); return FALSE; } -bool8 ScrCmd_removeitem(struct ScriptContext *ctx) +bool8 ScrCmd_takeitem(struct ScriptContext *ctx) { u16 itemId = VarGet(ScriptReadHalfword(ctx)); u32 quantity = VarGet(ScriptReadHalfword(ctx)); - gScriptResult = RemoveBagItem(itemId, (u8)quantity); + gSpecialVar_Result = RemoveBagItem(itemId, (u8)quantity); return FALSE; } @@ -518,7 +510,7 @@ bool8 ScrCmd_checkitemspace(struct ScriptContext *ctx) u16 itemId = VarGet(ScriptReadHalfword(ctx)); u32 quantity = VarGet(ScriptReadHalfword(ctx)); - gScriptResult = CheckBagHasSpace(itemId, (u8)quantity); + gSpecialVar_Result = CheckBagHasSpace(itemId, (u8)quantity); return FALSE; } @@ -527,7 +519,7 @@ bool8 ScrCmd_checkitem(struct ScriptContext *ctx) u16 itemId = VarGet(ScriptReadHalfword(ctx)); u32 quantity = VarGet(ScriptReadHalfword(ctx)); - gScriptResult = CheckBagHasItem(itemId, (u8)quantity); + gSpecialVar_Result = CheckBagHasItem(itemId, (u8)quantity); return FALSE; } @@ -535,16 +527,16 @@ bool8 ScrCmd_checkitemtype(struct ScriptContext *ctx) { u16 itemId = VarGet(ScriptReadHalfword(ctx)); - gScriptResult = GetPocketByItemId(itemId); + gSpecialVar_Result = GetPocketByItemId(itemId); return FALSE; } -bool8 ScrCmd_addpcitem(struct ScriptContext *ctx) +bool8 ScrCmd_givepcitem(struct ScriptContext *ctx) { u16 itemId = VarGet(ScriptReadHalfword(ctx)); u16 quantity = VarGet(ScriptReadHalfword(ctx)); - gScriptResult = AddPCItem(itemId, quantity); + gSpecialVar_Result = AddPCItem(itemId, quantity); return FALSE; } @@ -553,23 +545,31 @@ bool8 ScrCmd_checkpcitem(struct ScriptContext *ctx) u16 itemId = VarGet(ScriptReadHalfword(ctx)); u16 quantity = VarGet(ScriptReadHalfword(ctx)); - gScriptResult = CheckPCHasItem(itemId, quantity); + gSpecialVar_Result = CheckPCHasItem(itemId, quantity); return FALSE; } -bool8 ScrCmd_adddecor(struct ScriptContext *ctx) +bool8 ScrCmd_givedecoration(struct ScriptContext *ctx) { u32 decorId = VarGet(ScriptReadHalfword(ctx)); - gScriptResult = DecorationAdd(decorId); + gSpecialVar_Result = DecorationAdd(decorId); return FALSE; } -bool8 ScrCmd_removedecor(struct ScriptContext *ctx) +bool8 ScrCmd_takedecoration(struct ScriptContext *ctx) { u32 decorId = VarGet(ScriptReadHalfword(ctx)); - gScriptResult = DecorationRemove(decorId); + gSpecialVar_Result = DecorationRemove(decorId); + return FALSE; +} + +bool8 ScrCmd_checkdecorspace(struct ScriptContext *ctx) +{ + u32 decorId = VarGet(ScriptReadHalfword(ctx)); + + gSpecialVar_Result = DecorationCheckSpace(decorId); return FALSE; } @@ -577,15 +577,7 @@ bool8 ScrCmd_checkdecor(struct ScriptContext *ctx) { u32 decorId = VarGet(ScriptReadHalfword(ctx)); - gScriptResult = DecorationCheckSpace(decorId); - return FALSE; -} - -bool8 ScrCmd_hasdecor(struct ScriptContext *ctx) -{ - u32 decorId = VarGet(ScriptReadHalfword(ctx)); - - gScriptResult = CheckHasDecoration(decorId); + gSpecialVar_Result = CheckHasDecoration(decorId); return FALSE; } @@ -613,14 +605,14 @@ bool8 ScrCmd_incrementgamestat(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_animdarklevel(struct ScriptContext *ctx) +bool8 ScrCmd_animateflash(struct ScriptContext *ctx) { sub_80B009C(ScriptReadByte(ctx)); ScriptContext1_Stop(); return TRUE; } -bool8 ScrCmd_setdarklevel(struct ScriptContext *ctx) +bool8 ScrCmd_setflashradius(struct ScriptContext *ctx) { u16 flashLevel = VarGet(ScriptReadHalfword(ctx)); @@ -638,17 +630,17 @@ static bool8 IsPaletteNotActive(void) bool8 ScrCmd_fadescreen(struct ScriptContext *ctx) { - fade_screen(ScriptReadByte(ctx), 0); + FadeScreen(ScriptReadByte(ctx), 0); SetupNativeScript(ctx, IsPaletteNotActive); return TRUE; } -bool8 ScrCmd_fadescreendelay(struct ScriptContext *ctx) +bool8 ScrCmd_fadescreenspeed(struct ScriptContext *ctx) { u8 mode = ScriptReadByte(ctx); - u8 delay = ScriptReadByte(ctx); + u8 speed = ScriptReadByte(ctx); - fade_screen(mode, delay); + FadeScreen(mode, speed); SetupNativeScript(ctx, IsPaletteNotActive); return TRUE; } @@ -656,18 +648,18 @@ bool8 ScrCmd_fadescreendelay(struct ScriptContext *ctx) bool8 ScrCmd_fadescreenswapbuffers(struct ScriptContext *ctx) { u8 mode = ScriptReadByte(ctx); - + switch (mode) { case 1: default: CpuCopy32(gPlttBufferUnfaded, gPaletteDecompressionBuffer, PLTT_DECOMP_BUFFER_SIZE); - fade_screen(mode, 0); + FadeScreen(mode, 0); break; case 0: case 2: CpuCopy32(gPaletteDecompressionBuffer, gPlttBufferUnfaded, PLTT_DECOMP_BUFFER_SIZE); - fade_screen(mode, 0); + FadeScreen(mode, 0); break; } @@ -726,7 +718,7 @@ bool8 ScrCmd_setweather(struct ScriptContext *ctx) bool8 ScrCmd_resetweather(struct ScriptContext *ctx) { - sub_80AEDBC(); + SetSav1WeatherFromCurrMapHeader(); return FALSE; } @@ -736,7 +728,7 @@ bool8 ScrCmd_doweather(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_tileeffect(struct ScriptContext *ctx) +bool8 ScrCmd_setstepcallback(struct ScriptContext *ctx) { ActivatePerStepCallback(ScriptReadByte(ctx)); return FALSE; @@ -907,9 +899,9 @@ bool8 ScrCmd_getplayerxy(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_countpokemon(struct ScriptContext *ctx) +bool8 ScrCmd_getpartysize(struct ScriptContext *ctx) { - gScriptResult = CalculatePlayerPartyCount(); + gSpecialVar_Result = CalculatePlayerPartyCount(); return FALSE; } @@ -1121,7 +1113,7 @@ bool8 ScrCmd_moveobjectoffscreen(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_showobject(struct ScriptContext *ctx) +bool8 ScrCmd_showobject_at(struct ScriptContext *ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); u8 mapGroup = ScriptReadByte(ctx); @@ -1131,7 +1123,7 @@ bool8 ScrCmd_showobject(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_hideobject(struct ScriptContext *ctx) +bool8 ScrCmd_hideobject_at(struct ScriptContext *ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); u8 mapGroup = ScriptReadByte(ctx); @@ -1313,7 +1305,7 @@ bool8 ScrCmd_cmdDB(struct ScriptContext *ctx) if (msg == NULL) msg = (const u8 *)ctx->data[0]; sub_81973A4(); - sub_81973C4(0, 1); + NewMenuHelpers_DrawDialogueFrame(0, 1); PrintTextOnWindow(0, 1, msg, 0, 1, 0, 0); return FALSE; } @@ -1339,7 +1331,7 @@ static bool8 WaitForAorBPress(void) return FALSE; } -bool8 ScrCmd_waitbutton(struct ScriptContext *ctx) +bool8 ScrCmd_waitbuttonpress(struct ScriptContext *ctx) { SetupNativeScript(ctx, WaitForAorBPress); return TRUE; @@ -1445,7 +1437,7 @@ bool8 ScrCmd_drawboxtext(struct ScriptContext *ctx) u8 top = ScriptReadByte(ctx); u8 multichoiceId = ScriptReadByte(ctx); u8 ignoreBPress = ScriptReadByte(ctx); - + /*if (Multichoice(left, top, multichoiceId, ignoreBPress) == TRUE) { ScriptContext1_Stop(); @@ -1454,7 +1446,7 @@ bool8 ScrCmd_drawboxtext(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_drawpokepic(struct ScriptContext *ctx) +bool8 ScrCmd_showmonpic(struct ScriptContext *ctx) { u16 species = VarGet(ScriptReadHalfword(ctx)); u8 x = ScriptReadByte(ctx); @@ -1464,7 +1456,7 @@ bool8 ScrCmd_drawpokepic(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_erasepokepic(struct ScriptContext *ctx) +bool8 ScrCmd_hidemonpic(struct ScriptContext *ctx) { bool8 (*func)(void) = ScriptMenu_GetPicboxWaitFunc(); @@ -1474,7 +1466,7 @@ bool8 ScrCmd_erasepokepic(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_drawcontestwinner(struct ScriptContext *ctx) +bool8 ScrCmd_showcontestwinner(struct ScriptContext *ctx) { u8 v1 = ScriptReadByte(ctx); @@ -1501,36 +1493,36 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx) u8 y; StringExpandPlaceholders(gStringVar4, ptr + 6); - + width = GetStringWidth(6, gStringVar4, -1) / 8; - + if (width > 0x1C) width = 0x1C; - + for (i = 0, height = 4; gStringVar4[i] != 0xFF;) { if (gStringVar4[i++] == 0xFE) height += 3; } - + if (height > 0x12) height = 0x12; - + x = width + 2; temp1 = (0x1E - x) / 2; x = temp1 + 1; temp1 = ((x - temp1 - 1) * 8 + 3); - + y = height + 2; temp2 = (0x14 - y) / 2; y = temp2 + 2; temp2 = ((y - temp2 - 1) * 8); - + sub_8198A50(&template1, 0, x, y, width, height, 0xF, 0x1); template2 = template1; gUnknown_03000F30 = AddWindow(&template2); sub_809882C(gUnknown_03000F30, 0x214, 0xE0); - sub_81973FC(gUnknown_03000F30, 0); + NewMenuHelpers_DrawStdWindowFrame(gUnknown_03000F30, 0); PutWindowTilemap(gUnknown_03000F30); FillWindowPixelBuffer(gUnknown_03000F30, 0x11); PrintTextOnWindow(gUnknown_03000F30, 6, gStringVar4, temp1, temp2, 0xFF, 0x0); @@ -1651,7 +1643,7 @@ _0809AEC6:\n\ bl sub_809882C\n\ ldrb r0, [r5]\n\ mov r1, #0\n\ - bl sub_81973FC\n\ + bl NewMenuHelpers_DrawStdWindowFrame\n\ ldrb r0, [r5]\n\ bl PutWindowTilemap\n\ ldrb r0, [r5]\n\ @@ -1694,7 +1686,7 @@ bool8 ScrCmd_vmessage(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_getspeciesname(struct ScriptContext *ctx) +bool8 ScrCmd_bufferspeciesname(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 species = VarGet(ScriptReadHalfword(ctx)); @@ -1703,7 +1695,7 @@ bool8 ScrCmd_getspeciesname(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_getfirstpartypokename(struct ScriptContext *ctx) +bool8 ScrCmd_bufferleadmonspeciesname(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); @@ -1714,7 +1706,7 @@ bool8 ScrCmd_getfirstpartypokename(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_getpartypokename(struct ScriptContext *ctx) +bool8 ScrCmd_bufferpartymonnick(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 partyIndex = VarGet(ScriptReadHalfword(ctx)); @@ -1724,7 +1716,7 @@ bool8 ScrCmd_getpartypokename(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_getitemname(struct ScriptContext *ctx) +bool8 ScrCmd_bufferitemname(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 itemId = VarGet(ScriptReadHalfword(ctx)); @@ -1733,7 +1725,7 @@ bool8 ScrCmd_getitemname(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_getitemnameplural(struct ScriptContext *ctx) +bool8 ScrCmd_bufferitemnameplural(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 itemId = VarGet(ScriptReadHalfword(ctx)); @@ -1743,7 +1735,7 @@ bool8 ScrCmd_getitemnameplural(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_getdecorname(struct ScriptContext *ctx) +bool8 ScrCmd_bufferdecorationname(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 decorId = VarGet(ScriptReadHalfword(ctx)); @@ -1752,7 +1744,7 @@ bool8 ScrCmd_getdecorname(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_getmovename(struct ScriptContext *ctx) +bool8 ScrCmd_buffermovename(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 moveId = VarGet(ScriptReadHalfword(ctx)); @@ -1761,7 +1753,7 @@ bool8 ScrCmd_getmovename(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_getnumberstring(struct ScriptContext *ctx) +bool8 ScrCmd_buffernumberstring(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 v1 = VarGet(ScriptReadHalfword(ctx)); @@ -1771,7 +1763,7 @@ bool8 ScrCmd_getnumberstring(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_getstdstring(struct ScriptContext *ctx) +bool8 ScrCmd_bufferstdstring(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 index = VarGet(ScriptReadHalfword(ctx)); @@ -1780,7 +1772,7 @@ bool8 ScrCmd_getstdstring(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_getcontesttype(struct ScriptContext *ctx) +bool8 ScrCmd_buffercontesttype(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 index = VarGet(ScriptReadHalfword(ctx)); @@ -1789,7 +1781,7 @@ bool8 ScrCmd_getcontesttype(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_getstring(struct ScriptContext *ctx) +bool8 ScrCmd_bufferstring(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); const u8 *text = (u8 *)ScriptReadWord(ctx); @@ -1806,7 +1798,7 @@ bool8 ScrCmd_vloadword(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_vgetstring(struct ScriptContext *ctx) +bool8 ScrCmd_vbufferstring(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u32 addr = ScriptReadWord(ctx); @@ -1817,7 +1809,7 @@ bool8 ScrCmd_vgetstring(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_getboxname(struct ScriptContext *ctx) +bool8 ScrCmd_bufferboxname(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 boxId = VarGet(ScriptReadHalfword(ctx)); @@ -1826,7 +1818,7 @@ bool8 ScrCmd_getboxname(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_givepoke(struct ScriptContext *ctx) +bool8 ScrCmd_givemon(struct ScriptContext *ctx) { u16 species = VarGet(ScriptReadHalfword(ctx)); u8 level = ScriptReadByte(ctx); @@ -1835,7 +1827,7 @@ bool8 ScrCmd_givepoke(struct ScriptContext *ctx) u32 unkParam2 = ScriptReadWord(ctx); u8 unkParam3 = ScriptReadByte(ctx); - gScriptResult = ScriptGiveMon(species, level, item, unkParam1, unkParam2, unkParam3); + gSpecialVar_Result = ScriptGiveMon(species, level, item, unkParam1, unkParam2, unkParam3); return FALSE; } @@ -1843,11 +1835,11 @@ bool8 ScrCmd_giveegg(struct ScriptContext *ctx) { u16 species = VarGet(ScriptReadHalfword(ctx)); - gScriptResult = ScriptGiveEgg(species); + gSpecialVar_Result = ScriptGiveEgg(species); return FALSE; } -bool8 ScrCmd_setpokemove(struct ScriptContext *ctx) +bool8 ScrCmd_setmonmove(struct ScriptContext *ctx) { u8 partyIndex = ScriptReadByte(ctx); u8 slot = ScriptReadByte(ctx); @@ -1857,12 +1849,12 @@ bool8 ScrCmd_setpokemove(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_checkpokemove(struct ScriptContext *ctx) +bool8 ScrCmd_checkpartymove(struct ScriptContext *ctx) { u8 i; u16 moveId = ScriptReadHalfword(ctx); - gScriptResult = 6; + gSpecialVar_Result = 6; for (i = 0; i < 6; i++) { u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES, NULL); @@ -1871,7 +1863,7 @@ bool8 ScrCmd_checkpokemove(struct ScriptContext *ctx) // UB: GetMonData() arguments don't match function definition if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) && pokemon_has_move(&gPlayerParty[i], moveId) == TRUE) { - gScriptResult = i; + gSpecialVar_Result = i; gSpecialVar_0x8004 = species; break; } @@ -1905,7 +1897,7 @@ bool8 ScrCmd_checkmoney(struct ScriptContext *ctx) u8 ignore = ScriptReadByte(ctx); if (!ignore) - gScriptResult = IsEnoughMoney(&gSaveBlock1Ptr->money, amount); + gSpecialVar_Result = IsEnoughMoney(&gSaveBlock1Ptr->money, amount); return FALSE; } @@ -1924,7 +1916,7 @@ bool8 ScrCmd_hidemoneybox(struct ScriptContext *ctx) { /*u8 x = ScriptReadByte(ctx); u8 y = ScriptReadByte(ctx);*/ - + HideMoneyBox(); return FALSE; } @@ -1973,19 +1965,19 @@ bool8 ScrCmd_trainerbattle(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_battlebegin(struct ScriptContext *ctx) +bool8 ScrCmd_dotrainerbattle(struct ScriptContext *ctx) { BattleSetup_StartTrainerBattle(); return TRUE; } -bool8 ScrCmd_ontrainerbattleend(struct ScriptContext *ctx) +bool8 ScrCmd_gotopostbattlescript(struct ScriptContext *ctx) { ctx->scriptPtr = BattleSetup_GetScriptAddrAfterBattle(); return FALSE; } -bool8 ScrCmd_ontrainerbattleendgoto(struct ScriptContext *ctx) +bool8 ScrCmd_gotobeatenscript(struct ScriptContext *ctx) { ctx->scriptPtr = BattleSetup_GetTrainerPostBattleScript(); return FALSE; @@ -1995,7 +1987,7 @@ bool8 ScrCmd_checktrainerflag(struct ScriptContext *ctx) { u16 index = VarGet(ScriptReadHalfword(ctx)); - ctx->comparisonResult = HasTrainerAlreadyBeenFought(index); + ctx->comparisonResult = HasTrainerBeenFought(index); return FALSE; } @@ -2003,7 +1995,7 @@ bool8 ScrCmd_settrainerflag(struct ScriptContext *ctx) { u16 index = VarGet(ScriptReadHalfword(ctx)); - trainer_flag_set(index); + SetTrainerFlag(index); return FALSE; } @@ -2011,7 +2003,7 @@ bool8 ScrCmd_cleartrainerflag(struct ScriptContext *ctx) { u16 index = VarGet(ScriptReadHalfword(ctx)); - trainer_flag_clear(index); + ClearTrainerFlag(index); return FALSE; } @@ -2041,7 +2033,7 @@ bool8 ScrCmd_pokemart(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_pokemartdecor(struct ScriptContext *ctx) +bool8 ScrCmd_pokemartdecoration(struct ScriptContext *ctx) { const void *ptr = (void *)ScriptReadWord(ctx); @@ -2050,7 +2042,7 @@ bool8 ScrCmd_pokemartdecor(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_pokemartbp(struct ScriptContext *ctx) +bool8 ScrCmd_pokemartdecoration2(struct ScriptContext *ctx) { const void *ptr = (void *)ScriptReadWord(ctx); @@ -2068,7 +2060,7 @@ bool8 ScrCmd_playslotmachine(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_plantberrytree(struct ScriptContext *ctx) +bool8 ScrCmd_setberrytree(struct ScriptContext *ctx) { u8 treeId = ScriptReadByte(ctx); u8 berry = ScriptReadByte(ctx); @@ -2085,11 +2077,11 @@ bool8 ScrCmd_getpricereduction(struct ScriptContext *ctx) { u16 value = VarGet(ScriptReadHalfword(ctx)); - gScriptResult = GetPriceReduction(value); + gSpecialVar_Result = GetPriceReduction(value); return FALSE; } -bool8 ScrCmd_choosecontestpkmn(struct ScriptContext *ctx) +bool8 ScrCmd_choosecontestmon(struct ScriptContext *ctx) { sub_81B9404(); ScriptContext1_Stop(); @@ -2113,7 +2105,7 @@ bool8 ScrCmd_showcontestresults(struct ScriptContext *ctx) bool8 ScrCmd_contestlinktransfer(struct ScriptContext *ctx) { - sub_80F84C4(gScriptContestCategory); + sub_80F84C4(gSpecialVar_ContestCategory); ScriptContext1_Stop(); return TRUE; } @@ -2127,7 +2119,7 @@ bool8 ScrCmd_dofieldeffect(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setfieldeffect(struct ScriptContext *ctx) +bool8 ScrCmd_setfieldeffectarg(struct ScriptContext *ctx) { u8 argNum = ScriptReadByte(ctx); @@ -2150,7 +2142,7 @@ bool8 ScrCmd_waitfieldeffect(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_sethealplace(struct ScriptContext *ctx) +bool8 ScrCmd_setrespawn(struct ScriptContext *ctx) { u16 healLocationId = VarGet(ScriptReadHalfword(ctx)); @@ -2160,11 +2152,11 @@ bool8 ScrCmd_sethealplace(struct ScriptContext *ctx) bool8 ScrCmd_checkplayergender(struct ScriptContext *ctx) { - gScriptResult = gSaveBlock2Ptr->playerGender; + gSpecialVar_Result = gSaveBlock2Ptr->playerGender; return FALSE; } -bool8 ScrCmd_playpokecry(struct ScriptContext *ctx) +bool8 ScrCmd_playmoncry(struct ScriptContext *ctx) { u16 species = VarGet(ScriptReadHalfword(ctx)); u16 mode = VarGet(ScriptReadHalfword(ctx)); @@ -2173,13 +2165,13 @@ bool8 ScrCmd_playpokecry(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_waitpokecry(struct ScriptContext *ctx) +bool8 ScrCmd_waitmoncry(struct ScriptContext *ctx) { SetupNativeScript(ctx, IsCryFinished); return TRUE; } -bool8 ScrCmd_setmaptile(struct ScriptContext *ctx) +bool8 ScrCmd_setmetatile(struct ScriptContext *ctx) { u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); @@ -2285,9 +2277,9 @@ bool8 ScrCmd_givecoins(struct ScriptContext *ctx) u16 coins = VarGet(ScriptReadHalfword(ctx)); if (GiveCoins(coins) == TRUE) - gScriptResult = 0; + gSpecialVar_Result = 0; else - gScriptResult = 1; + gSpecialVar_Result = 1; return FALSE; } @@ -2296,9 +2288,9 @@ bool8 ScrCmd_takecoins(struct ScriptContext *ctx) u16 coins = VarGet(ScriptReadHalfword(ctx)); if (TakeCoins(coins) == TRUE) - gScriptResult = 0; + gSpecialVar_Result = 0; else - gScriptResult = 1; + gSpecialVar_Result = 1; return FALSE; } @@ -2332,7 +2324,7 @@ bool8 ScrCmd_mossdeepgym4(struct ScriptContext *ctx) bool8 ScrCmd_cmdD8(struct ScriptContext *ctx) { - gSelectedMapObject = sub_80B47BC(); + gSelectedMapObject = GetCurrentApproachingTrainerMapObjectId(); return FALSE; } @@ -2353,8 +2345,8 @@ bool8 ScrCmd_cmdD9(struct ScriptContext *ctx) } } -// This command will force the Pokémon to be obedient, you don't get to choose which value to set its obedience to -bool8 ScrCmd_setpokeobedient(struct ScriptContext *ctx) +// This command will force the Pokémon to be obedient, you don't get to make it disobedient +bool8 ScrCmd_setmonobedient(struct ScriptContext *ctx) { bool8 obedient = TRUE; u16 partyIndex = VarGet(ScriptReadHalfword(ctx)); @@ -2363,18 +2355,18 @@ bool8 ScrCmd_setpokeobedient(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_checkpokeobedience(struct ScriptContext *ctx) +bool8 ScrCmd_checkmonobedience(struct ScriptContext *ctx) { u16 partyIndex = VarGet(ScriptReadHalfword(ctx)); - gScriptResult = GetMonData(&gPlayerParty[partyIndex], MON_DATA_OBEDIENCE, NULL); + gSpecialVar_Result = GetMonData(&gPlayerParty[partyIndex], MON_DATA_OBEDIENCE, NULL); return FALSE; } bool8 ScrCmd_cmdCF(struct ScriptContext *ctx) { const u8* v1 = sub_8099244(); - + if (v1) { ((u8*)gUnknown_020375C0) = ctx->scriptPtr; @@ -2398,7 +2390,7 @@ bool8 ScrCmd_warpD1(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_setpokemetlocation(struct ScriptContext *ctx) +bool8 ScrCmd_setmonmetlocation(struct ScriptContext *ctx) { u16 partyIndex = VarGet(ScriptReadHalfword(ctx)); u8 location = ScriptReadByte(ctx); @@ -2414,7 +2406,7 @@ void sub_809BDB4(void) RemoveWindow(gUnknown_03000F30); } -bool8 ScrCmd_gettrainerclass(struct ScriptContext *ctx) +bool8 ScrCmd_buffertrainerclassname(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 trainerClassId = VarGet(ScriptReadHalfword(ctx)); @@ -2423,7 +2415,7 @@ bool8 ScrCmd_gettrainerclass(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_gettrainername(struct ScriptContext *ctx) +bool8 ScrCmd_buffertrainername(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 trainerClassId = VarGet(ScriptReadHalfword(ctx)); diff --git a/src/secret_base.c b/src/secret_base.c index 6ba4312b29..e3c06a75df 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -1,6 +1,7 @@ // Includes #include "global.h" +#include "constants/decorations.h" #include "malloc.h" #include "task.h" #include "palette.h" @@ -8,10 +9,10 @@ #include "window.h" #include "menu.h" #include "menu_helpers.h" -#include "new_menu_helpers.h" #include "menu_indicators.h" -#include "map_constants.h" -#include "songs.h" +#include "constants/maps.h" +#include "constants/songs.h" +#include "constants/species.h" #include "sound.h" #include "overworld.h" #include "fieldmap.h" @@ -31,6 +32,7 @@ #include "international_string_util.h" #include "event_data.h" #include "battle.h" +#include "battle_setup.h" #include "rom6.h" #include "decoration.h" #include "link.h" @@ -89,30 +91,30 @@ const struct { }; const u8 gUnknown_0858CFE8[] = { - MAP_ID_SECRET_BASE_RED_CAVE1, 0x00, 0x01, 0x03, - MAP_ID_SECRET_BASE_RED_CAVE2, 0x00, 0x05, 0x09, - MAP_ID_SECRET_BASE_RED_CAVE3, 0x00, 0x01, 0x03, - MAP_ID_SECRET_BASE_RED_CAVE4, 0x00, 0x07, 0x0d, - MAP_ID_SECRET_BASE_BROWN_CAVE1, 0x00, 0x02, 0x03, - MAP_ID_SECRET_BASE_BROWN_CAVE2, 0x00, 0x09, 0x02, - MAP_ID_SECRET_BASE_BROWN_CAVE3, 0x00, 0x0d, 0x04, - MAP_ID_SECRET_BASE_BROWN_CAVE4, 0x00, 0x01, 0x02, - MAP_ID_SECRET_BASE_BLUE_CAVE1, 0x00, 0x01, 0x03, - MAP_ID_SECRET_BASE_BLUE_CAVE2, 0x00, 0x01, 0x02, - MAP_ID_SECRET_BASE_BLUE_CAVE3, 0x00, 0x03, 0x0f, - MAP_ID_SECRET_BASE_BLUE_CAVE4, 0x00, 0x03, 0x0e, - MAP_ID_SECRET_BASE_YELLOW_CAVE1, 0x00, 0x09, 0x03, - MAP_ID_SECRET_BASE_YELLOW_CAVE2, 0x00, 0x08, 0x07, - MAP_ID_SECRET_BASE_YELLOW_CAVE3, 0x00, 0x03, 0x06, - MAP_ID_SECRET_BASE_YELLOW_CAVE4, 0x00, 0x05, 0x09, - MAP_ID_SECRET_BASE_TREE1, 0x00, 0x02, 0x03, - MAP_ID_SECRET_BASE_TREE2, 0x00, 0x05, 0x06, - MAP_ID_SECRET_BASE_TREE3, 0x00, 0x0f, 0x03, - MAP_ID_SECRET_BASE_TREE4, 0x00, 0x04, 0x0a, - MAP_ID_SECRET_BASE_SHRUB1, 0x00, 0x03, 0x03, - MAP_ID_SECRET_BASE_SHRUB2, 0x00, 0x01, 0x02, - MAP_ID_SECRET_BASE_SHRUB3, 0x00, 0x07, 0x08, - MAP_ID_SECRET_BASE_SHRUB4, 0x00, 0x09, 0x06 + MAP_NUM(SECRET_BASE_RED_CAVE1), 0x00, 0x01, 0x03, + MAP_NUM(SECRET_BASE_RED_CAVE2), 0x00, 0x05, 0x09, + MAP_NUM(SECRET_BASE_RED_CAVE3), 0x00, 0x01, 0x03, + MAP_NUM(SECRET_BASE_RED_CAVE4), 0x00, 0x07, 0x0d, + MAP_NUM(SECRET_BASE_BROWN_CAVE1), 0x00, 0x02, 0x03, + MAP_NUM(SECRET_BASE_BROWN_CAVE2), 0x00, 0x09, 0x02, + MAP_NUM(SECRET_BASE_BROWN_CAVE3), 0x00, 0x0d, 0x04, + MAP_NUM(SECRET_BASE_BROWN_CAVE4), 0x00, 0x01, 0x02, + MAP_NUM(SECRET_BASE_BLUE_CAVE1), 0x00, 0x01, 0x03, + MAP_NUM(SECRET_BASE_BLUE_CAVE2), 0x00, 0x01, 0x02, + MAP_NUM(SECRET_BASE_BLUE_CAVE3), 0x00, 0x03, 0x0f, + MAP_NUM(SECRET_BASE_BLUE_CAVE4), 0x00, 0x03, 0x0e, + MAP_NUM(SECRET_BASE_YELLOW_CAVE1), 0x00, 0x09, 0x03, + MAP_NUM(SECRET_BASE_YELLOW_CAVE2), 0x00, 0x08, 0x07, + MAP_NUM(SECRET_BASE_YELLOW_CAVE3), 0x00, 0x03, 0x06, + MAP_NUM(SECRET_BASE_YELLOW_CAVE4), 0x00, 0x05, 0x09, + MAP_NUM(SECRET_BASE_TREE1), 0x00, 0x02, 0x03, + MAP_NUM(SECRET_BASE_TREE2), 0x00, 0x05, 0x06, + MAP_NUM(SECRET_BASE_TREE3), 0x00, 0x0f, 0x03, + MAP_NUM(SECRET_BASE_TREE4), 0x00, 0x04, 0x0a, + MAP_NUM(SECRET_BASE_SHRUB1), 0x00, 0x03, 0x03, + MAP_NUM(SECRET_BASE_SHRUB2), 0x00, 0x01, 0x02, + MAP_NUM(SECRET_BASE_SHRUB3), 0x00, 0x07, 0x08, + MAP_NUM(SECRET_BASE_SHRUB4), 0x00, 0x09, 0x06 }; const struct MenuAction gUnknown_0858D048[] = { @@ -175,14 +177,14 @@ void sub_80E8B6C(void) { u16 i; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; for (i = 0; i < 20; i ++) { if (sCurSecretBaseId != gSaveBlock1Ptr->secretBases[i].secretBaseId) { continue; } - gScriptResult = TRUE; + gSpecialVar_Result = TRUE; VarSet(VAR_0x4054, i); break; } @@ -192,11 +194,11 @@ void sub_80E8BC8(void) { if (gSaveBlock1Ptr->secretBases[0].secretBaseId != 0) { - gScriptResult = TRUE; + gSpecialVar_Result = TRUE; } else { - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; } } @@ -360,7 +362,7 @@ void sub_80E8F9C(void) s8 idx; idx = sCurSecretBaseId / 10 * 4; - warp1_set_2(MAP_GROUP_SECRET_BASE_RED_CAVE1, gUnknown_0858CFE8[idx], gUnknown_0858CFE8[idx + 1]); + warp1_set_2(MAP_GROUP(SECRET_BASE_RED_CAVE1), gUnknown_0858CFE8[idx], gUnknown_0858CFE8[idx + 1]); } void sub_80E8FD0(u8 taskId) @@ -393,7 +395,7 @@ void sub_80E8FD0(u8 taskId) void sub_80E9068(void) { CreateTask(sub_80E8FD0, 0); - fade_screen(1, 0); + FadeScreen(1, 0); saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); } @@ -450,12 +452,12 @@ void sub_80E916C(u8 taskId) void sub_80E91F8(void) { CreateTask(sub_80E916C, 0); - fade_screen(1, 0); + FadeScreen(1, 0); } bool8 CurrentMapIsSecretBase(void) { - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP_SECRET_BASE_RED_CAVE1 && (u8)gSaveBlock1Ptr->location.mapNum <= MAP_ID_SECRET_BASE_SHRUB4) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SECRET_BASE_RED_CAVE1) && (u8)gSaveBlock1Ptr->location.mapNum <= MAP_NUM(SECRET_BASE_SHRUB4)) { return TRUE; } @@ -544,22 +546,22 @@ void sub_80E933C(void) metatile = MapGridGetMetatileBehaviorAt(gSpecialVar_0x8006 + 7, gSpecialVar_0x8007 + 7); if (MetatileBehavior_IsMB_B5(metatile) == TRUE || MetatileBehavior_IsMB_C3(metatile) == TRUE) { - gScriptResult = gMapHeader.events->mapObjects[objIdx].graphicsId + VAR_0x3F20; - VarSet(gScriptResult, gDecorations[roomDecor[decorIdx]].tiles[0]); - gScriptResult = gMapHeader.events->mapObjects[objIdx].localId; + gSpecialVar_Result = gMapHeader.events->mapObjects[objIdx].graphicsId + VAR_0x3F20; + VarSet(gSpecialVar_Result, gDecorations[roomDecor[decorIdx]].tiles[0]); + gSpecialVar_Result = gMapHeader.events->mapObjects[objIdx].localId; FlagClear(gSpecialVar_0x8004 + 0xAE); - show_sprite(gScriptResult, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - sub_808EBA8(gScriptResult, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); - sub_808F254(gScriptResult, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + show_sprite(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + sub_808EBA8(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); + sub_808F254(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); if (CurrentMapIsSecretBase() == TRUE && VarGet(VAR_0x4054) != 0) { if (category == DECORCAT_DOLL) { - sub_808F28C(gScriptResult, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, DECORCAT_DOLL); + sub_808F28C(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, DECORCAT_DOLL); } else if (category == DECORCAT_CUSHION) { - sub_808F28C(gScriptResult, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, DECORCAT_CUSHION); + sub_808F28C(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, DECORCAT_CUSHION); } } gSpecialVar_0x8004 ++; @@ -608,14 +610,14 @@ void sub_80E9668(struct Coords16 *coords, struct MapEvents *events) { sub_80E9608(coords, events); sub_80E8B6C(); - ScriptContext1_SetupScript(gUnknown_08275BB7); + ScriptContext1_SetupScript(EventScript_275BB7); } bool8 sub_80E9680(void) { sub_80E8B58(); sub_80E8B6C(); - if (gScriptResult == TRUE) + if (gSpecialVar_Result == TRUE) { return FALSE; } @@ -650,18 +652,18 @@ void sub_80E96A4(u8 taskId) void sub_80E9728(void) { CreateTask(sub_80E96A4, 0); - fade_screen(1, 0); + FadeScreen(1, 0); } void sub_80E9744(void) { if (gSaveBlock1Ptr->secretBases[0].secretBaseId != sCurSecretBaseId) { - gScriptResult = TRUE; + gSpecialVar_Result = TRUE; } else { - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; } } @@ -710,237 +712,45 @@ u8 sub_80E98AC(struct Pokemon *pokemon) return evTotal / 6; } -#ifdef NONMATCHING -// This function is a meme void sub_80E9914(void) { - u32 zero; - u32 *personality; u16 partyIdx; u16 moveIdx; u16 sbPartyIdx; - u16 *species; - u16 *items; - u16 *moves; - u8 *levels; - u8 *evs; + struct SecretBaseParty *party; sbPartyIdx = 0; - personality = gSaveBlock1Ptr->secretBases[0].partyPersonality; + party = &gSaveBlock1Ptr->secretBases[0].party; if (gSaveBlock1Ptr->secretBases[0].secretBaseId != 0) { - partyIdx = 0; - moves = gSaveBlock1Ptr->secretBases[0].partyMoves; - species = gSaveBlock1Ptr->secretBases[0].partySpecies; - items = gSaveBlock1Ptr->secretBases[0].partyHeldItems; - levels = gSaveBlock1Ptr->secretBases[0].partyLevels; - evs = gSaveBlock1Ptr->secretBases[0].partyEVs; - zero = 0; - for (partyIdx = 0; partyIdx < PARTY_SIZE; partyIdx ++) + for (partyIdx = 0; partyIdx < PARTY_SIZE; partyIdx++) { - for (moveIdx = 0; moveIdx < 4; moveIdx ++) + for (moveIdx = 0; moveIdx < 4; moveIdx++) { - moves[partyIdx * 4 + moveIdx] = zero; + party->moves[partyIdx * 4 + moveIdx] = 0; } - species[partyIdx] = zero; - items[partyIdx] = zero; - levels[partyIdx] = zero; - personality[partyIdx] = zero; - evs[partyIdx] = zero; - if (GetMonData(&gPlayerParty[partyIdx], MON_DATA_SPECIES) != SPECIES_NONE && !GetMonData(&gPlayerParty[partyIdx], MON_DATA_IS_EGG)) + party->species[partyIdx] = 0; + party->heldItems[partyIdx] = 0; + party->levels[partyIdx] = 0; + party->personality[partyIdx] = 0; + party->EVs[partyIdx] = 0; + if (GetMonData(&gPlayerParty[partyIdx], MON_DATA_SPECIES) != SPECIES_NONE + && !GetMonData(&gPlayerParty[partyIdx], MON_DATA_IS_EGG)) { - for (moveIdx = 0; moveIdx < 4; moveIdx ++) + for (moveIdx = 0; moveIdx < 4; moveIdx++) { - moves[sbPartyIdx * 4 + moveIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_MOVE1 + moveIdx); + party->moves[sbPartyIdx * 4 + moveIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_MOVE1 + moveIdx); } - species[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_SPECIES); - items[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_HELD_ITEM); - levels[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_LEVEL); - personality[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_PERSONALITY); - evs[sbPartyIdx] = sub_80E98AC(&gPlayerParty[partyIdx]); - sbPartyIdx ++; + party->species[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_SPECIES); + party->heldItems[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_HELD_ITEM); + party->levels[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_LEVEL); + party->personality[sbPartyIdx] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_PERSONALITY); + party->EVs[sbPartyIdx] = sub_80E98AC(&gPlayerParty[partyIdx]); + sbPartyIdx++; } } } } -#else -__attribute__((naked)) void sub_80E9914(void) -{ - asm_unified("\tpush {r4-r7,lr}\n" - "\tmov r7, r10\n" - "\tmov r6, r9\n" - "\tmov r5, r8\n" - "\tpush {r5-r7}\n" - "\tsub sp, 0x24\n" - "\tmovs r0, 0\n" - "\tmov r10, r0\n" - "\tldr r0, =gSaveBlock1Ptr\n" - "\tldr r1, [r0]\n" - "\tldr r2, =0x00001ad0\n" - "\tadds r2, r1, r2\n" - "\tstr r2, [sp]\n" - "\tldr r3, =0x00001a9c\n" - "\tadds r0, r1, r3\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0\n" - "\tbne _080E993A\n" - "\tb _080E9A60\n" - "_080E993A:\n" - "\tmovs r6, 0\n" - "\tldr r7, =0x00001ae8\n" - "\tadds r7, r1, r7\n" - "\tstr r7, [sp, 0x14]\n" - "\tldr r0, =0x00001b18\n" - "\tadds r0, r1, r0\n" - "\tstr r0, [sp, 0xC]\n" - "\tldr r2, =0x00001b24\n" - "\tadds r2, r1, r2\n" - "\tstr r2, [sp, 0x10]\n" - "\tadds r3, 0x94\n" - "\tadds r3, r1, r3\n" - "\tstr r3, [sp, 0x18]\n" - "\tldr r7, =0x00001b36\n" - "\tadds r7, r1, r7\n" - "\tstr r7, [sp, 0x1C]\n" - "\tmov r9, r6\n" - "_080E995C:\n" - "\tmovs r4, 0\n" - "\tlsls r5, r6, 2\n" - "\tlsls r3, r6, 1\n" - "\tldr r0, =gPlayerParty\n" - "\tmov r8, r0\n" - "\tadds r1, r6, 0x1\n" - "\tstr r1, [sp, 0x4]\n" - "\tadds r2, r5, 0\n" - "\tldr r1, [sp, 0x14]\n" - "_080E996E:\n" - "\tadds r0, r2, r4\n" - "\tlsls r0, 1\n" - "\tadds r0, r1, r0\n" - "\tmov r7, r9\n" - "\tstrh r7, [r0]\n" - "\tadds r0, r4, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r4, r0, 16\n" - "\tcmp r4, 0x3\n" - "\tbls _080E996E\n" - "\tldr r1, [sp, 0xC]\n" - "\tadds r0, r1, r3\n" - "\tmov r2, r9\n" - "\tstrh r2, [r0]\n" - "\tldr r7, [sp, 0x10]\n" - "\tadds r0, r7, r3\n" - "\tstrh r2, [r0]\n" - "\tldr r1, [sp, 0x18]\n" - "\tadds r0, r1, r6\n" - "\tmov r2, r9\n" - "\tstrb r2, [r0]\n" - "\tldr r3, [sp]\n" - "\tadds r0, r3, r5\n" - "\tmov r7, r9\n" - "\tstr r7, [r0]\n" - "\tldr r1, [sp, 0x1C]\n" - "\tadds r0, r1, r6\n" - "\tstrb r7, [r0]\n" - "\tmovs r2, 0x64\n" - "\tadds r5, r6, 0\n" - "\tmuls r5, r2\n" - "\tmov r3, r8\n" - "\tadds r4, r5, r3\n" - "\tadds r0, r4, 0\n" - "\tmovs r1, 0xB\n" - "\tbl GetMonData\n" - "\tcmp r0, 0\n" - "\tbeq _080E9A54\n" - "\tadds r0, r4, 0\n" - "\tmovs r1, 0x2D\n" - "\tbl GetMonData\n" - "\tcmp r0, 0\n" - "\tbne _080E9A54\n" - "\tmovs r4, 0\n" - "\tmov r7, r10\n" - "\tlsls r7, 2\n" - "\tmov r8, r7\n" - "\tmov r0, r10\n" - "\tlsls r7, r0, 1\n" - "\tadds r0, 0x1\n" - "\tstr r0, [sp, 0x8]\n" - "\tldr r2, =gPlayerParty\n" - "_080E99DA:\n" - "\tadds r1, r4, 0\n" - "\tadds r1, 0xD\n" - "\tadds r0, r5, r2\n" - "\tstr r2, [sp, 0x20]\n" - "\tbl GetMonData\n" - "\tmov r3, r8\n" - "\tadds r1, r3, r4\n" - "\tlsls r1, 1\n" - "\tldr r3, [sp, 0x14]\n" - "\tadds r1, r3, r1\n" - "\tstrh r0, [r1]\n" - "\tadds r0, r4, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r4, r0, 16\n" - "\tldr r2, [sp, 0x20]\n" - "\tcmp r4, 0x3\n" - "\tbls _080E99DA\n" - "\tmovs r0, 0x64\n" - "\tadds r4, r6, 0\n" - "\tmuls r4, r0\n" - "\tldr r0, =gPlayerParty\n" - "\tadds r4, r0\n" - "\tadds r0, r4, 0\n" - "\tmovs r1, 0xB\n" - "\tbl GetMonData\n" - "\tldr r2, [sp, 0xC]\n" - "\tadds r1, r2, r7\n" - "\tstrh r0, [r1]\n" - "\tadds r0, r4, 0\n" - "\tmovs r1, 0xC\n" - "\tbl GetMonData\n" - "\tldr r3, [sp, 0x10]\n" - "\tadds r1, r3, r7\n" - "\tstrh r0, [r1]\n" - "\tadds r0, r4, 0\n" - "\tmovs r1, 0x38\n" - "\tbl GetMonData\n" - "\tldr r1, [sp, 0x18]\n" - "\tadd r1, r10\n" - "\tstrb r0, [r1]\n" - "\tadds r0, r4, 0\n" - "\tmovs r1, 0\n" - "\tbl GetMonData\n" - "\tldr r1, [sp]\n" - "\tadd r1, r8\n" - "\tstr r0, [r1]\n" - "\tadds r0, r4, 0\n" - "\tbl sub_80E98AC\n" - "\tldr r1, [sp, 0x1C]\n" - "\tadd r1, r10\n" - "\tstrb r0, [r1]\n" - "\tldr r7, [sp, 0x8]\n" - "\tlsls r0, r7, 16\n" - "\tlsrs r0, 16\n" - "\tmov r10, r0\n" - "_080E9A54:\n" - "\tldr r1, [sp, 0x4]\n" - "\tlsls r0, r1, 16\n" - "\tlsrs r6, r0, 16\n" - "\tcmp r6, 0x5\n" - "\tbhi _080E9A60\n" - "\tb _080E995C\n" - "_080E9A60:\n" - "\tadd sp, 0x24\n" - "\tpop {r3-r5}\n" - "\tmov r8, r3\n" - "\tmov r9, r4\n" - "\tmov r10, r5\n" - "\tpop {r4-r7}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.pool"); -} -#endif void sub_80E9A90(void) { @@ -1016,15 +826,15 @@ void sub_80E9BDC(void) { if (sub_80E9878(VarGet(VAR_0x4054)) == TRUE) { - gScriptResult = 1; + gSpecialVar_Result = 1; } else if (sub_80E9BA8() > 9) { - gScriptResult = 2; + gSpecialVar_Result = 2; } else { - gScriptResult = 0; + gSpecialVar_Result = 0; } } @@ -1081,13 +891,13 @@ void game_continue(u8 taskId) if (sub_80E9878(i)) { sub_80E9780(gUnknown_0203A020->names[count], i); - gUnknown_0203A020->items[count].unk_00 = gUnknown_0203A020->names[count]; - gUnknown_0203A020->items[count].unk_04 = i; + gUnknown_0203A020->items[count].name = gUnknown_0203A020->names[count]; + gUnknown_0203A020->items[count].id = i; count ++; } } - gUnknown_0203A020->items[count].unk_00 = gText_Cancel; - gUnknown_0203A020->items[count].unk_04 = -2; + gUnknown_0203A020->items[count].name = gText_Cancel; + gUnknown_0203A020->items[count].id = -2; data[0] = count + 1; if (data[0] < 8) { @@ -1097,11 +907,11 @@ void game_continue(u8 taskId) { data[3] = 8; } - gUnknown_03006310 = gUnknown_0858D07C; - gUnknown_03006310.unk_10 = data[6]; - gUnknown_03006310.unk_0c = data[0]; - gUnknown_03006310.unk_00 = gUnknown_0203A020->items; - gUnknown_03006310.unk_0e = data[3]; + gMultiuseListMenuTemplate = gUnknown_0858D07C; + gMultiuseListMenuTemplate.unk_10 = data[6]; + gMultiuseListMenuTemplate.totalItems = data[0]; + gMultiuseListMenuTemplate.items = gUnknown_0203A020->items; + gMultiuseListMenuTemplate.maxShowed = data[3]; } void sub_80E9DEC(u32 a0, bool8 flag, struct ListMenu *menu) @@ -1118,7 +928,7 @@ void sub_80E9E00(u8 taskId) data = gTasks[taskId].data; SetStandardWindowBorderStyle(data[6], 0); - data[5] = ListMenuInit(&gUnknown_03006310, data[2], data[1]); + data[5] = ListMenuInit(&gMultiuseListMenuTemplate, data[2], data[1]); sub_80E9E44(taskId); schedule_bg_copy_tilemap_to_vram(0); } @@ -1137,8 +947,8 @@ void sub_80E9E90(u8 taskId) s32 input; data = gTasks[taskId].data; - input = ListMenuHandleInput(data[5]); - get_coro_args_x18_x1A(data[5], &data[2], &data[1]); + input = ListMenuHandleInputGetItemId(data[5]); + sub_81AE860(data[5], &data[2], &data[1]); switch (input) { case -1: @@ -1282,48 +1092,48 @@ u8 sub_80EA20C(u8 secretBaseRecordId) return (gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerId[0] % 5) + (gSaveBlock1Ptr->secretBases[secretBaseRecordId].gender * 5); } -const u8 *sub_80EA250(void) +const u8 *GetSecretBaseTrainerLoseText(void) { u8 param; param = sub_80EA20C(VarGet(VAR_0x4054)); if (param == 0) { - return gUnknown_08274966; + return SecretBase_RedCave1_Text_274966; } if (param == 1) { - return gUnknown_08274D13; + return SecretBase_RedCave1_Text_274D13; } if (param == 2) { - return gUnknown_08274FFE; + return SecretBase_RedCave1_Text_274FFE; } if (param == 3) { - return gUnknown_08275367; + return SecretBase_RedCave1_Text_275367; } if (param == 4) { - return gUnknown_082756C7; + return SecretBase_RedCave1_Text_2756C7; } if (param == 5) { - return gUnknown_08274B24; + return SecretBase_RedCave1_Text_274B24; } if (param == 6) { - return gUnknown_08274E75; + return SecretBase_RedCave1_Text_274E75; } if (param == 7) { - return gUnknown_082751E1; + return SecretBase_RedCave1_Text_2751E1; } if (param == 8) { - return gUnknown_082754F6; + return SecretBase_RedCave1_Text_2754F6; } - return gUnknown_082758CC; + return SecretBase_RedCave1_Text_2758CC; } void sub_80EA2E4(void) @@ -1335,7 +1145,7 @@ void sub_80EA2E4(void) void sub_80EA30C(void) { - gSaveBlock1Ptr->secretBases[VarGet(VAR_0x4054)].sbr_field_1_5 = gScriptResult; + gSaveBlock1Ptr->secretBases[VarGet(VAR_0x4054)].sbr_field_1_5 = gSpecialVar_Result; } void sub_80EA354(void) @@ -1353,10 +1163,9 @@ void sub_80EA354(void) FlagSet(0x922); } gSpecialVar_0x8004 = sub_80EA20C(secretBaseRecordId); - gScriptResult = gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_5; + gSpecialVar_Result = gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_5; } - void sub_80EA3E4(u8 taskId) { s16 x; @@ -1866,7 +1675,7 @@ void sub_80EAF80(void *records, size_t recordSize, u8 linkIdx) { struct SecretBaseRecordMixer mixers[3]; u16 i; - + if (FlagGet(0x60)) { switch (GetLinkPlayerCount()) diff --git a/src/sound.c b/src/sound.c index a95511ece2..ba3f659cc2 100644 --- a/src/sound.c +++ b/src/sound.c @@ -5,7 +5,7 @@ #include "m4a.h" #include "main.h" #include "pokemon.h" -#include "songs.h" +#include "constants/songs.h" #include "task.h" struct Fanfare @@ -29,10 +29,10 @@ IWRAM_DATA static u16 sFanfareCounter; bool8 gDisableMusic; extern u32 gBattleTypeFlags; -extern struct MusicPlayerInfo gMPlay_BGM; -extern struct MusicPlayerInfo gMPlay_SE1; -extern struct MusicPlayerInfo gMPlay_SE2; -extern struct MusicPlayerInfo gMPlay_SE3; +extern struct MusicPlayerInfo gMPlayInfo_BGM; +extern struct MusicPlayerInfo gMPlayInfo_SE1; +extern struct MusicPlayerInfo gMPlayInfo_SE2; +extern struct MusicPlayerInfo gMPlayInfo_SE3; extern struct ToneData gCryTable[]; extern struct ToneData gCryTable2[]; extern const struct Fanfare sFanfares[]; @@ -171,7 +171,7 @@ bool8 IsNotWaitingForBGMStop(void) void PlayFanfareByFanfareNum(u8 fanfareNum) { u16 songNum; - m4aMPlayStop(&gMPlay_BGM); + m4aMPlayStop(&gMPlayInfo_BGM); songNum = sFanfares[fanfareNum].songNum; sFanfareCounter = sFanfares[fanfareNum].duration; m4aSongNumStart(songNum); @@ -187,9 +187,9 @@ bool8 WaitFanfare(bool8 stop) else { if (!stop) - m4aMPlayContinue(&gMPlay_BGM); + m4aMPlayContinue(&gMPlayInfo_BGM); else - m4aSongNumStart(SE_STOP); + m4aSongNumStart(MUS_DUMMY); return TRUE; } @@ -232,7 +232,7 @@ static void Task_Fanfare(u8 taskId) } else { - m4aMPlayContinue(&gMPlay_BGM); + m4aMPlayContinue(&gMPlayInfo_BGM); DestroyTask(taskId); } } @@ -250,46 +250,46 @@ void FadeInNewBGM(u16 songNum, u8 speed) if (songNum == 0xFFFF) songNum = 0; m4aSongNumStart(songNum); - m4aMPlayImmInit(&gMPlay_BGM); - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0); + m4aMPlayImmInit(&gMPlayInfo_BGM); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0); m4aSongNumStop(songNum); - m4aMPlayFadeIn(&gMPlay_BGM, speed); + m4aMPlayFadeIn(&gMPlayInfo_BGM, speed); } void FadeOutBGMTemporarily(u8 speed) { - m4aMPlayFadeOutTemporarily(&gMPlay_BGM, speed); + m4aMPlayFadeOutTemporarily(&gMPlayInfo_BGM, speed); } bool8 IsBGMPausedOrStopped(void) { - if (gMPlay_BGM.status & MUSICPLAYER_STATUS_PAUSE) + if (gMPlayInfo_BGM.status & MUSICPLAYER_STATUS_PAUSE) return TRUE; - if (!(gMPlay_BGM.status & MUSICPLAYER_STATUS_TRACK)) + if (!(gMPlayInfo_BGM.status & MUSICPLAYER_STATUS_TRACK)) return TRUE; return FALSE; } void FadeInBGM(u8 speed) { - m4aMPlayFadeIn(&gMPlay_BGM, speed); + m4aMPlayFadeIn(&gMPlayInfo_BGM, speed); } void FadeOutBGM(u8 speed) { - m4aMPlayFadeOut(&gMPlay_BGM, speed); + m4aMPlayFadeOut(&gMPlayInfo_BGM, speed); } bool8 IsBGMStopped(void) { - if (!(gMPlay_BGM.status & MUSICPLAYER_STATUS_TRACK)) + if (!(gMPlayInfo_BGM.status & MUSICPLAYER_STATUS_TRACK)) return TRUE; return FALSE; } void PlayCry1(u16 species, s8 pan) { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 85); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 85); PlayCryInternal(species, pan, CRY_VOLUME, 10, 0); gPokemonCryBGMDuckingCounter = 2; RestoreBGMVolumeAfterPokemonCry(); @@ -308,7 +308,7 @@ void PlayCry3(u16 species, s8 pan, u8 mode) } else { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 85); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 85); PlayCryInternal(species, pan, CRY_VOLUME, 10, mode); gPokemonCryBGMDuckingCounter = 2; RestoreBGMVolumeAfterPokemonCry(); @@ -324,7 +324,7 @@ void PlayCry4(u16 species, s8 pan, u8 mode) else { if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 85); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 85); PlayCryInternal(species, pan, CRY_VOLUME, 10, mode); } } @@ -337,7 +337,7 @@ void PlayCry6(u16 species, s8 pan, u8 mode) // not present in R/S } else { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 85); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 85); PlayCryInternal(species, pan, CRY_VOLUME, 10, mode); gPokemonCryBGMDuckingCounter = 2; } @@ -345,7 +345,7 @@ void PlayCry6(u16 species, s8 pan, u8 mode) // not present in R/S void PlayCry5(u16 species, u8 mode) { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 85); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 85); PlayCryInternal(species, 0, CRY_VOLUME, 10, mode); gPokemonCryBGMDuckingCounter = 2; RestoreBGMVolumeAfterPokemonCry(); @@ -529,7 +529,7 @@ static void Task_DuckBGMForPokemonCry(u8 taskId) if (!IsPokemonCryPlaying(gMPlay_PokemonCry)) { - m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 256); DestroyTask(taskId); } } @@ -557,55 +557,55 @@ void PlaySE(u16 songNum) void PlaySE12WithPanning(u16 songNum, s8 pan) { m4aSongNumStart(songNum); - m4aMPlayImmInit(&gMPlay_SE1); - m4aMPlayImmInit(&gMPlay_SE2); - m4aMPlayPanpotControl(&gMPlay_SE1, 0xFFFF, pan); - m4aMPlayPanpotControl(&gMPlay_SE2, 0xFFFF, pan); + m4aMPlayImmInit(&gMPlayInfo_SE1); + m4aMPlayImmInit(&gMPlayInfo_SE2); + m4aMPlayPanpotControl(&gMPlayInfo_SE1, 0xFFFF, pan); + m4aMPlayPanpotControl(&gMPlayInfo_SE2, 0xFFFF, pan); } void PlaySE1WithPanning(u16 songNum, s8 pan) { m4aSongNumStart(songNum); - m4aMPlayImmInit(&gMPlay_SE1); - m4aMPlayPanpotControl(&gMPlay_SE1, 0xFFFF, pan); + m4aMPlayImmInit(&gMPlayInfo_SE1); + m4aMPlayPanpotControl(&gMPlayInfo_SE1, 0xFFFF, pan); } void PlaySE2WithPanning(u16 songNum, s8 pan) { m4aSongNumStart(songNum); - m4aMPlayImmInit(&gMPlay_SE2); - m4aMPlayPanpotControl(&gMPlay_SE2, 0xFFFF, pan); + m4aMPlayImmInit(&gMPlayInfo_SE2); + m4aMPlayPanpotControl(&gMPlayInfo_SE2, 0xFFFF, pan); } void SE12PanpotControl(s8 pan) { - m4aMPlayPanpotControl(&gMPlay_SE1, 0xFFFF, pan); - m4aMPlayPanpotControl(&gMPlay_SE2, 0xFFFF, pan); + m4aMPlayPanpotControl(&gMPlayInfo_SE1, 0xFFFF, pan); + m4aMPlayPanpotControl(&gMPlayInfo_SE2, 0xFFFF, pan); } bool8 IsSEPlaying(void) { - if ((gMPlay_SE1.status & MUSICPLAYER_STATUS_PAUSE) && (gMPlay_SE2.status & MUSICPLAYER_STATUS_PAUSE)) + if ((gMPlayInfo_SE1.status & MUSICPLAYER_STATUS_PAUSE) && (gMPlayInfo_SE2.status & MUSICPLAYER_STATUS_PAUSE)) return FALSE; - if (!(gMPlay_SE1.status & MUSICPLAYER_STATUS_TRACK) && !(gMPlay_SE2.status & MUSICPLAYER_STATUS_TRACK)) + if (!(gMPlayInfo_SE1.status & MUSICPLAYER_STATUS_TRACK) && !(gMPlayInfo_SE2.status & MUSICPLAYER_STATUS_TRACK)) return FALSE; return TRUE; } bool8 IsBGMPlaying(void) { - if (gMPlay_BGM.status & MUSICPLAYER_STATUS_PAUSE) + if (gMPlayInfo_BGM.status & MUSICPLAYER_STATUS_PAUSE) return FALSE; - if (!(gMPlay_BGM.status & MUSICPLAYER_STATUS_TRACK)) + if (!(gMPlayInfo_BGM.status & MUSICPLAYER_STATUS_TRACK)) return FALSE; return TRUE; } bool8 IsSpecialSEPlaying(void) { - if (gMPlay_SE3.status & MUSICPLAYER_STATUS_PAUSE) + if (gMPlayInfo_SE3.status & MUSICPLAYER_STATUS_PAUSE) return FALSE; - if (!(gMPlay_SE3.status & MUSICPLAYER_STATUS_TRACK)) + if (!(gMPlayInfo_SE3.status & MUSICPLAYER_STATUS_TRACK)) return FALSE; return TRUE; } diff --git a/src/sprite.c b/src/sprite.c index daa019019c..8a4729b27c 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -168,14 +168,7 @@ static const struct Sprite sDummySprite = .animPaused = 0, .affineAnimPaused = 0, .animLoopCounter = 0, - .data0 = 0, - .data1 = 0, - .data2 = 0, - .data3 = 0, - .data4 = 0, - .data5 = 0, - .data6 = 0, - .data7 = 0, + .data = {0, 0, 0, 0, 0, 0, 0}, .inUse = 0, .coordOffsetEnabled = 0, .invisible = 0, @@ -247,12 +240,26 @@ static const AffineAnimCmdFunc sAffineAnimCmdFuncs[] = AffineAnimCmd_frame, }; -static const s32 gUnknown_082EC6F4[24] = +static const s32 sUnknown_082EC6F4[3][4][2] = { - 8, 8, 0x10, 0x10, 0x20, 0x20, - 0x40, 0x40, 0x10, 8, 0x20, 8, - 0x20, 0x10, 0x40, 0x20, 8, 0x10, - 8, 0x20, 0x10, 0x20, 0x20, 0x40, + { + {8, 8}, + {0x10, 0x10}, + {0x20, 0x20}, + {0x40, 0x40}, + }, + { + {0x10, 8}, + {0x20, 8}, + {0x20, 0x10}, + {0x40, 0x20}, + }, + { + {8, 0x10}, + {8, 0x20}, + {0x10, 0x20}, + {0x20, 0x40}, + }, }; static const struct OamDimensions sOamDimensions[3][4] = @@ -1075,7 +1082,7 @@ void BeginAffineAnim(struct Sprite *sprite) ApplyAffineAnimFrame(matrixNum, &frameCmd); sAffineAnimStates[matrixNum].delayCounter = frameCmd.duration; if (sprite->flags_f) - obj_update_pos2(sprite, sprite->data6, sprite->data7); + obj_update_pos2(sprite, sprite->data[6], sprite->data[7]); } } @@ -1101,7 +1108,7 @@ void ContinueAffineAnim(struct Sprite *sprite) sAffineAnimCmdFuncs[funcIndex](matrixNum, sprite); } if (sprite->flags_f) - obj_update_pos2(sprite, sprite->data6, sprite->data7); + obj_update_pos2(sprite, sprite->data[6], sprite->data[7]); } } @@ -1197,8 +1204,8 @@ u8 GetSpriteMatrixNum(struct Sprite *sprite) void sub_8007E18(struct Sprite* sprite, s16 a2, s16 a3) { - sprite->data6 = a2; - sprite->data7 = a3; + sprite->data[6] = a2; + sprite->data[7] = a3; sprite->flags_f = 1; } @@ -1214,106 +1221,26 @@ s32 sub_8007E28(s32 a0, s32 a1, s32 a2) return a2 - ((u32)(a2 * a1) / (u32)(a0) + var1); } -#ifdef NONMATCHING -void obj_update_pos2(struct Sprite* sprite, s32 a1, s32 a2) +void obj_update_pos2(struct Sprite *sprite, s32 a1, s32 a2) { s32 var0, var1, var2; - u8 matrixNum = sprite->oam.matrixNum; + + u32 matrixNum = sprite->oam.matrixNum; if (a1 != 0x800) { - var0 = gUnknown_082EC6F4[sprite->oam.size * 8 + sprite->oam.shape * 32]; + var0 = sUnknown_082EC6F4[sprite->oam.shape][sprite->oam.size][0]; var1 = var0 << 8; var2 = (var0 << 16) / gOamMatrices[matrixNum].a; sprite->pos2.x = sub_8007E28(var1, var2, a1); } if (a2 != 0x800) { - var0 = gUnknown_082EC6F4[4 + (sprite->oam.size * 8 + sprite->oam.shape * 32)]; + var0 = sUnknown_082EC6F4[sprite->oam.shape][sprite->oam.size][1]; var1 = var0 << 8; var2 = (var0 << 16) / gOamMatrices[matrixNum].d; sprite->pos2.y = sub_8007E28(var1, var2, a2); } } -#else -__attribute__((naked)) -void obj_update_pos2(struct Sprite* sprite, s32 a1, s32 a2) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6,r7}\n\ - adds r5, r0, 0\n\ - adds r6, r1, 0\n\ - mov r8, r2\n\ - ldrb r1, [r5, 0x3]\n\ - lsls r0, r1, 26\n\ - lsrs r7, r0, 27\n\ - movs r0, 0x80\n\ - lsls r0, 4\n\ - mov r9, r0\n\ - cmp r6, r9\n\ - beq _08007EA2\n\ - ldr r2, =gUnknown_082EC6F4\n\ - lsrs r1, 6\n\ - lsls r1, 3\n\ - ldrb r0, [r5, 0x1]\n\ - lsrs r0, 6\n\ - lsls r0, 5\n\ - adds r1, r0\n\ - adds r1, r2\n\ - ldr r0, [r1]\n\ - lsls r4, r0, 8\n\ - lsls r0, 16\n\ - ldr r2, =gOamMatrices\n\ - lsls r1, r7, 3\n\ - adds r1, r2\n\ - movs r2, 0\n\ - ldrsh r1, [r1, r2]\n\ - bl __divsi3\n\ - adds r1, r0, 0\n\ - adds r0, r4, 0\n\ - adds r2, r6, 0\n\ - bl sub_8007E28\n\ - strh r0, [r5, 0x24]\n\ -_08007EA2:\n\ - cmp r8, r9\n\ - beq _08007EDA\n\ - ldr r2, =gUnknown_082EC6F4\n\ - ldrb r1, [r5, 0x3]\n\ - lsrs r1, 6\n\ - lsls r1, 3\n\ - ldrb r0, [r5, 0x1]\n\ - lsrs r0, 6\n\ - lsls r0, 5\n\ - adds r1, r0\n\ - adds r2, 0x4\n\ - adds r1, r2\n\ - ldr r0, [r1]\n\ - lsls r4, r0, 8\n\ - lsls r0, 16\n\ - ldr r2, =gOamMatrices\n\ - lsls r1, r7, 3\n\ - adds r1, r2\n\ - movs r2, 0x6\n\ - ldrsh r1, [r1, r2]\n\ - bl __divsi3\n\ - adds r1, r0, 0\n\ - adds r0, r4, 0\n\ - mov r2, r8\n\ - bl sub_8007E28\n\ - strh r0, [r5, 0x26]\n\ -_08007EDA:\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - .syntax divided"); -} -#endif // NONMATCHING void SetSpriteOamFlipBits(struct Sprite *sprite, u8 hFlip, u8 vFlip) { diff --git a/src/start_menu.c b/src/start_menu.c index 37331a922a..d076d307d8 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -6,6 +6,8 @@ #include "window.h" #include "string_util.h" #include "text.h" +#include "strings.h" +#include "bg.h" // Menu actions enum @@ -25,6 +27,15 @@ enum MENU_ACTION_PYRAMID_BAG }; +extern bool32 is_c1_link_related_active(void); +extern bool32 InUnionRoom(void); +extern bool8 InBattlePike(void); +extern bool8 InBattlePyramid(void); +extern bool8 InMultiBattleRoom(void); +extern void NewMenuHelpers_DrawStdWindowFrame(u8 windowId, u8 a1); +extern void sub_8198070(u8 windowId, u8 a1); + +// this file's functions static void BuildStartMenuActions_LinkMode(void); static void BuildStartMenuActions_UnionRoom(void); static void BuildStartMenuActions_SafariZone(void); @@ -32,21 +43,94 @@ static void BuildStartMenuActions_BattlePike(void); static void BuildStartMenuActions_BattlePyramid(void); static void BuildStartMenuActions_MultiBattleRoom(void); static void BuildStartMenuActions_Normal(void); -u8 StartMenu_PlayerName(void); - -extern bool32 is_c1_link_related_active(void); -extern bool32 InUnionRoom(void); -extern bool8 InBattlePike(void); -extern bool8 InBattlePyramid(void); -extern bool8 InMultiBattleRoom(void); -extern void sub_81973FC(u8 windowId, u8 a1); -extern void sub_8198070(u8 windowId, u8 a1); +bool8 StartMenu_Pokedex(void); +bool8 StartMenu_Pokemon(void); +bool8 StartMenu_Bag(void); +bool8 StartMenu_PokeNav(void); +bool8 StartMenu_PlayerName(void); +bool8 StartMenu_Save(void); +bool8 StartMenu_Option(void); +bool8 StartMenu_Exit(void); +bool8 StartMenu_SafariZoneRetire(void); +bool8 StartMenu_LinkModePlayerName(void); +bool8 StartMenu_BattlePyramidRetire(void); +bool8 StartMenu_BattlePyramidBag(void); +// EWRAM vars EWRAM_DATA u8 sSafariBallsWindowId = 0; EWRAM_DATA u8 sBattlePyramidFloorWindowId = 0; EWRAM_DATA u8 sStartMenuCursorPos = 0; EWRAM_DATA u8 sNumStartMenuActions = 0; EWRAM_DATA u8 sCurrentStartMenuActions[9] = {0}; +EWRAM_DATA u8 gUnknown_02037619[2] = {0}; +EWRAM_DATA bool8 (*gUnknown_0203761C)(void) = NULL; +EWRAM_DATA u8 gUnknown_02037620 = 0; +EWRAM_DATA u8 gUnknown_02037621 = 0; +EWRAM_DATA u8 gUnknown_02037622 = 0; + +// const rom data +static const struct WindowTemplate gSafariBallsWindowTemplate = {0, 1, 1, 9, 4, 0xF, 8}; + +static const u8* const sPyramindFloorNames[] = +{ + gText_Floor1, + gText_Floor2, + gText_Floor3, + gText_Floor4, + gText_Floor5, + gText_Floor6, + gText_Floor7, + gText_Peak +}; + +static const struct WindowTemplate gPyramidFloorWindowTemplate_2 = {0, 1, 1, 0xA, 4, 0xF, 8}; +static const struct WindowTemplate gPyramidFloorWindowTemplate_1 = {0, 1, 1, 0xC, 4, 0xF, 8}; + +const struct MenuAction sStartMenuItems[] = +{ + {gText_MenuPokedex, {.u8_void = StartMenu_Pokedex}}, + {gText_MenuPokemon, {.u8_void = StartMenu_Pokemon}}, + {gText_MenuBag, {.u8_void = StartMenu_Bag}}, + {gText_MenuPokenav, {.u8_void = StartMenu_PokeNav}}, + {gText_MenuPlayer, {.u8_void = StartMenu_PlayerName}}, + {gText_MenuSave, {.u8_void = StartMenu_Save}}, + {gText_MenuOption, {.u8_void = StartMenu_Option}}, + {gText_MenuExit, {.u8_void = StartMenu_Exit}}, + {gText_MenuRetire, {.u8_void = StartMenu_SafariZoneRetire}}, + {gText_MenuPlayer, {.u8_void = StartMenu_LinkModePlayerName}}, + {gText_MenuRest, {.u8_void = StartMenu_Save}}, + {gText_MenuRetire, {.u8_void = StartMenu_BattlePyramidRetire}}, + {gText_MenuBag, {.u8_void = StartMenu_BattlePyramidBag}} +}; + +const struct BgTemplate gUnknown_085105A8[] = +{ + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + } +}; + +const struct WindowTemplate gUnknown_085105AC[] = +{ + {0, 2, 0xF, 0x1A, 4, 0xF, 0x194}, + DUMMY_WIN_TEMPLATE +}; + +const struct WindowTemplate gUnknown_085105BC = {0, 1, 1, 0xE, 0xA, 0xF, 8}; + +// code +void SetDexPokemonPokenavFlags(void) // unused +{ + FlagSet(FLAG_SYS_POKEDEX_GET); + FlagSet(FLAG_SYS_POKEMON_GET); + FlagSet(FLAG_SYS_POKENAV_GET); +} void BuildStartMenuActions(void) { @@ -74,12 +158,12 @@ void AddStartMenuAction(u8 action) static void BuildStartMenuActions_Normal(void) { - if (FlagGet(SYS_POKEDEX_GET) == TRUE) + if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE) AddStartMenuAction(MENU_ACTION_POKEDEX); - if (FlagGet(SYS_POKEMON_GET) == TRUE) + if (FlagGet(FLAG_SYS_POKEMON_GET) == TRUE) AddStartMenuAction(MENU_ACTION_POKEMON); AddStartMenuAction(MENU_ACTION_BAG); - if (FlagGet(SYS_POKENAV_GET) == TRUE) + if (FlagGet(FLAG_SYS_POKENAV_GET) == TRUE) AddStartMenuAction(MENU_ACTION_POKENAV); AddStartMenuAction(MENU_ACTION_PLAYER); AddStartMenuAction(MENU_ACTION_SAVE); @@ -102,7 +186,7 @@ static void BuildStartMenuActions_LinkMode(void) { AddStartMenuAction(MENU_ACTION_POKEMON); AddStartMenuAction(MENU_ACTION_BAG); - if (FlagGet(SYS_POKENAV_GET) == TRUE) + if (FlagGet(FLAG_SYS_POKENAV_GET) == TRUE) AddStartMenuAction(MENU_ACTION_POKENAV); AddStartMenuAction(MENU_ACTION_PLAYER_LINK); AddStartMenuAction(MENU_ACTION_OPTION); @@ -113,7 +197,7 @@ static void BuildStartMenuActions_UnionRoom(void) { AddStartMenuAction(MENU_ACTION_POKEMON); AddStartMenuAction(MENU_ACTION_BAG); - if (FlagGet(SYS_POKENAV_GET) == TRUE) + if (FlagGet(FLAG_SYS_POKENAV_GET) == TRUE) AddStartMenuAction(MENU_ACTION_POKENAV); AddStartMenuAction(MENU_ACTION_PLAYER); AddStartMenuAction(MENU_ACTION_OPTION); @@ -148,25 +232,17 @@ static void BuildStartMenuActions_MultiBattleRoom(void) AddStartMenuAction(MENU_ACTION_EXIT); } -extern const struct WindowTemplate gSafariBallsWindowTemplate; -extern const struct WindowTemplate gPyramidFloorWindowTemplate_1; -extern const struct WindowTemplate gPyramidFloorWindowTemplate_2; -extern const u8 gText_SafariBallStock[]; - void DisplaySafariBallsWindow(void) { sSafariBallsWindowId = AddWindow(&gSafariBallsWindowTemplate); PutWindowTilemap(sSafariBallsWindowId); - sub_81973FC(sSafariBallsWindowId, 0); + NewMenuHelpers_DrawStdWindowFrame(sSafariBallsWindowId, 0); ConvertIntToDecimalStringN(gStringVar1, gNumSafariBalls, STR_CONV_MODE_RIGHT_ALIGN, 2); StringExpandPlaceholders(gStringVar4, gText_SafariBallStock); PrintTextOnWindow(sSafariBallsWindowId, 1, gStringVar4, 0, 1, 0xFF, NULL); CopyWindowToVram(sSafariBallsWindowId, 2); } -extern const u8* const gUnknown_08510510[]; -extern const u8 gText_BattlePyramidFloor[]; - void DisplayPyramidFloorWindow(void) { // TODO: fix location @@ -175,8 +251,8 @@ void DisplayPyramidFloorWindow(void) else sBattlePyramidFloorWindowId = AddWindow(&gPyramidFloorWindowTemplate_2); PutWindowTilemap(sBattlePyramidFloorWindowId); - sub_81973FC(sBattlePyramidFloorWindowId, 0); - StringCopy(gStringVar1, gUnknown_08510510[gSaveBlock2Ptr->field_CAA[4]]); + NewMenuHelpers_DrawStdWindowFrame(sBattlePyramidFloorWindowId, 0); + StringCopy(gStringVar1, sPyramindFloorNames[gSaveBlock2Ptr->field_CAA[4]]); StringExpandPlaceholders(gStringVar4, gText_BattlePyramidFloor); PrintTextOnWindow(sBattlePyramidFloorWindowId, 1, gStringVar4, 0, 1, 0xFF, NULL); CopyWindowToVram(sBattlePyramidFloorWindowId, 2); @@ -197,8 +273,6 @@ void RemoveExtraStartMenuWindows(void) } } -extern const struct MenuAction sStartMenuItems[]; - /* // Prints n menu items starting at *index static bool32 PrintStartMenuItemsMultistep(s16 *index, u32 n) diff --git a/src/starter_choose.c b/src/starter_choose.c new file mode 100644 index 0000000000..83a7b81121 --- /dev/null +++ b/src/starter_choose.c @@ -0,0 +1,391 @@ +#include "global.h" +#include "starter_choose.h" +#include "palette.h" +#include "sprite.h" +#include "pokemon.h" +#include "task.h" +#include "bg.h" +#include "gpu_regs.h" +#include "main.h" +#include "window.h" +#include "text.h" +#include "decompress.h" +#include "menu.h" +#include "sound.h" +#include "constants/songs.h" +#include "event_data.h" +#include "pokedex.h" +#include "data2.h" +#include "international_string_util.h" +#include "trig.h" + +#define STARTER_MON_COUNT 3 + +// Position of the sprite of the selected starter Pokemon +#define STARTER_PKMN_POS_X 120 +#define STARTER_PKMN_POS_Y 64 + +// graphics +extern const u32 gBirchHelpGfx[]; +extern const u32 gBirchBagTilemap[]; +extern const u32 gBirchGrassTilemap[]; +extern const u16 gBirchBagGrassPal[]; + +// text +extern const u8 gText_BirchInTrouble[]; +extern const u8 gText_ConfirmStarterChoice[]; + +extern const u16 sStarterMon[STARTER_MON_COUNT]; +extern const struct BgTemplate gUnknown_085B1E00[3]; +extern const struct WindowTemplate gUnknown_085B1DCC[]; +extern const struct WindowTemplate gUnknown_085B1DDC; +extern const struct CompressedSpriteSheet gUnknown_085B1ED8[]; +extern const struct CompressedSpriteSheet gUnknown_085B1EE8[]; +extern const struct SpritePalette gUnknown_085B1EF8[]; +extern const struct SpriteTemplate sSpriteTemplate_PokeBall; +extern const struct SpriteTemplate sSpriteTemplate_Hand; +extern const struct SpriteTemplate gUnknown_085B1F40; +extern const union AffineAnimCmd *const gUnknown_085B1ED0; +extern const u8 sPokeballCoords[STARTER_MON_COUNT][2]; +extern const struct WindowTemplate gUnknown_085B1DE4; +extern const u8 gStarterChoose_LabelCoords[][2]; +extern const u8 gUnknown_085B1E0C[]; +extern const u8 gUnknown_085B1E28[][2]; + +extern void sub_809882C(u8, u16, u8); +extern void ScanlineEffect_Stop(void); +extern void clear_scheduled_bg_copies_to_vram(void); +extern void dp13_810BB8C(void); +extern void do_scheduled_bg_tilemap_copies_to_vram(void); +extern u16 sub_818D820(u16); +extern const u16 *GetOverworldTextboxPalettePtr(void); +extern u8 sub_818D3E4(u16 species, u32 trainerId, u32 personality, u8 flags, s16 x, s16 y, u8, u16); + +// this file's functions +static void MainCallback2_StarterChoose(void); +static void sub_8134604(void); +static void Task_StarterChoose1(u8 taskId); +static void Task_StarterChoose2(u8 taskId); +static void Task_StarterChoose3(u8 taskId); +static void Task_StarterChoose4(u8 taskId); +static void Task_StarterChoose5(u8 taskId); +static void Task_StarterChoose6(u8 taskId); +static void Task_MoveStarterChooseCursor(u8 taskId); +static void sub_8134668(u8 taskId); +static void CreateStarterPokemonLabel(u8 selection); +static u8 CreatePokemonFrontSprite(u16 species, u8 x, u8 y); +void StarterPokemonSpriteCallback(struct Sprite *sprite); + +static IWRAM_DATA u16 sStarterChooseWindowId; + +u16 GetStarterPokemon(u16 chosenStarterId) +{ + if (chosenStarterId > STARTER_MON_COUNT) + chosenStarterId = 0; + return sStarterMon[chosenStarterId]; +} + +static void VblankCB_StarterChoose(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +#define tStarterSelection data[0] +#define tPkmnSpriteId data[1] +#define tCircleSpriteId data[2] + +void CB2_ChooseStarter(void) +{ + u16 savedIme; + u8 taskId; + u8 spriteId; + + SetVBlankCallback(NULL); + + SetGpuReg(REG_OFFSET_DISPCNT, 0); + SetGpuReg(REG_OFFSET_BG3CNT, 0); + SetGpuReg(REG_OFFSET_BG2CNT, 0); + SetGpuReg(REG_OFFSET_BG1CNT, 0); + SetGpuReg(REG_OFFSET_BG0CNT, 0); + + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); + + DmaFill16(3, 0, VRAM, VRAM_SIZE); + DmaFill32(3, 0, OAM, OAM_SIZE); + DmaFill16(3, 0, PLTT, PLTT_SIZE); + + LZ77UnCompVram(&gBirchHelpGfx, (void *)VRAM); + LZ77UnCompVram(&gBirchBagTilemap, (void *)(VRAM + 0x3000)); + LZ77UnCompVram(&gBirchGrassTilemap, (void *)(VRAM + 0x3800)); + + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_085B1E00, ARRAY_COUNT(gUnknown_085B1E00)); + InitWindows(gUnknown_085B1DCC); + + DeactivateAllTextPrinters(); + sub_809882C(0, 0x2A8, 0xD0); + clear_scheduled_bg_copies_to_vram(); + ScanlineEffect_Stop(); + ResetTasks(); + ResetSpriteData(); + ResetPaletteFade(); + FreeAllSpritePalettes(); + dp13_810BB8C(); + + LoadPalette(GetOverworldTextboxPalettePtr(), 0xE0, 0x20); + LoadPalette(gBirchBagGrassPal, 0, 0x40); + LoadCompressedObjectPic(&gUnknown_085B1ED8[0]); + LoadCompressedObjectPic(&gUnknown_085B1EE8[0]); + LoadSpritePalettes(gUnknown_085B1EF8); + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + + EnableInterrupts(DISPSTAT_VBLANK); + SetVBlankCallback(VblankCB_StarterChoose); + SetMainCallback2(MainCallback2_StarterChoose); + + SetGpuReg(REG_OFFSET_WININ, 0x3F); + SetGpuReg(REG_OFFSET_WINOUT, 0x1F); + SetGpuReg(REG_OFFSET_WIN0H, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0); + SetGpuReg(REG_OFFSET_BLDCNT, 0xFE); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 7); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + + ShowBg(0); + ShowBg(2); + ShowBg(3); + + taskId = CreateTask(Task_StarterChoose1, 0); + gTasks[taskId].tStarterSelection = 1; + + // Create hand sprite + spriteId = CreateSprite(&sSpriteTemplate_Hand, 120, 56, 2); + gSprites[spriteId].data[0] = taskId; + + // Create three Pokeball sprites + spriteId = CreateSprite(&sSpriteTemplate_PokeBall, sPokeballCoords[0][0], sPokeballCoords[0][1], 2); + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].data[1] = 0; + + spriteId = CreateSprite(&sSpriteTemplate_PokeBall, sPokeballCoords[1][0], sPokeballCoords[1][1], 2); + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].data[1] = 1; + + spriteId = CreateSprite(&sSpriteTemplate_PokeBall, sPokeballCoords[2][0], sPokeballCoords[2][1], 2); + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].data[1] = 2; + + sStarterChooseWindowId = 0xFF; +} + +static void MainCallback2_StarterChoose(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + do_scheduled_bg_tilemap_copies_to_vram(); + UpdatePaletteFade(); +} + +static void Task_StarterChoose1(u8 taskId) +{ + CreateStarterPokemonLabel(gTasks[taskId].tStarterSelection); + SetWindowBorderStyle(0, FALSE, 0x2A8, 0xD); + PrintTextOnWindow(0, 1, gText_BirchInTrouble, 0, 1, 0, NULL); + PutWindowTilemap(0); + schedule_bg_copy_tilemap_to_vram(0); + gTasks[taskId].func = Task_StarterChoose2; +} + +static void Task_StarterChoose2(u8 taskId) +{ + u8 selection = gTasks[taskId].tStarterSelection; + + if (gMain.newKeys & A_BUTTON) + { + u8 spriteId; + + sub_8134604(); + + // Create white circle background + spriteId = CreateSprite(&gUnknown_085B1F40, sPokeballCoords[selection][0], sPokeballCoords[selection][1], 1); + gTasks[taskId].tCircleSpriteId = spriteId; + + // Create Pokemon sprite + spriteId = CreatePokemonFrontSprite(GetStarterPokemon(gTasks[taskId].tStarterSelection), sPokeballCoords[selection][0], sPokeballCoords[selection][1]); + gSprites[spriteId].affineAnims = &gUnknown_085B1ED0; + gSprites[spriteId].callback = StarterPokemonSpriteCallback; + + gTasks[taskId].tPkmnSpriteId = spriteId; + gTasks[taskId].func = Task_StarterChoose3; + } + else if ((gMain.newKeys & DPAD_LEFT) && selection > 0) + { + gTasks[taskId].tStarterSelection--; + gTasks[taskId].func = Task_MoveStarterChooseCursor; + } + else if ((gMain.newKeys & DPAD_RIGHT) && selection < (STARTER_MON_COUNT - 1)) + { + gTasks[taskId].tStarterSelection++; + gTasks[taskId].func = Task_MoveStarterChooseCursor; + } +} + +static void Task_StarterChoose3(u8 taskId) +{ + if (gSprites[gTasks[taskId].tCircleSpriteId].affineAnimEnded && + gSprites[gTasks[taskId].tCircleSpriteId].pos1.x == STARTER_PKMN_POS_X && + gSprites[gTasks[taskId].tCircleSpriteId].pos1.y == STARTER_PKMN_POS_Y) + { + gTasks[taskId].func = Task_StarterChoose4; + } +} + +static void Task_StarterChoose4(u8 taskId) +{ + PlayCry1(GetStarterPokemon(gTasks[taskId].tStarterSelection), 0); + FillWindowPixelBuffer(0, 0x11); + PrintTextOnWindow(0, 1, gText_ConfirmStarterChoice, 0, 1, 0, NULL); + schedule_bg_copy_tilemap_to_vram(0); + CreateYesNoMenu(&gUnknown_085B1DDC, 0x2A8, 0xD, 0); + gTasks[taskId].func = Task_StarterChoose5; +} + +static void Task_StarterChoose5(u8 taskId) +{ + u8 spriteId; + + switch (ProcessMenuInputNoWrap_()) + { + case 0: // YES + // Return the starter choice and exit. + gSpecialVar_Result = gTasks[taskId].tStarterSelection; + dp13_810BB8C(); + SetMainCallback2(gMain.savedCallback); + break; + case 1: // NO + case -1: // B button + PlaySE(SE_SELECT); + spriteId = gTasks[taskId].tPkmnSpriteId; + FreeOamMatrix(gSprites[spriteId].oam.matrixNum); + sub_818D820(spriteId); + + spriteId = gTasks[taskId].tCircleSpriteId; + FreeOamMatrix(gSprites[spriteId].oam.matrixNum); + DestroySprite(&gSprites[spriteId]); + gTasks[taskId].func = Task_StarterChoose6; + break; + } +} + +static void Task_StarterChoose6(u8 taskId) +{ + gTasks[taskId].func = Task_StarterChoose1; +} + +static void CreateStarterPokemonLabel(u8 selection) +{ + u8 text[32]; + struct WindowTemplate winTemplate; + const u8 *speciesName; + s32 width; + u8 labelLeft, labelRight, labelTop, labelBottom; + + u16 species = GetStarterPokemon(selection); + CopyMonCategoryText(SpeciesToNationalPokedexNum(species), text); + speciesName = gSpeciesNames[species]; + + winTemplate = gUnknown_085B1DE4; + winTemplate.tilemapLeft = gStarterChoose_LabelCoords[selection][0]; + winTemplate.tilemapTop = gStarterChoose_LabelCoords[selection][1]; + + sStarterChooseWindowId = AddWindow(&winTemplate); + FillWindowPixelBuffer(sStarterChooseWindowId, 0); + + width = GetStringCenterAlignXOffset(7, text, 0x68); + box_print(sStarterChooseWindowId, 7, width, 1, gUnknown_085B1E0C, 0, text); + + width = GetStringCenterAlignXOffset(1, speciesName, 0x68); + box_print(sStarterChooseWindowId, 1, width, 0x11, gUnknown_085B1E0C, 0, speciesName); + + PutWindowTilemap(sStarterChooseWindowId); + schedule_bg_copy_tilemap_to_vram(0); + + labelLeft = gStarterChoose_LabelCoords[selection][0] * 8 - 4; + labelRight = (gStarterChoose_LabelCoords[selection][0] + 13) * 8 + 4; + labelTop = gStarterChoose_LabelCoords[selection][1] * 8; + labelBottom = (gStarterChoose_LabelCoords[selection][1] + 4) * 8; + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(labelLeft, labelRight)); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(labelTop, labelBottom)); +} + +static void sub_8134604(void) +{ + FillWindowPixelBuffer(sStarterChooseWindowId, 0); + ClearWindowTilemap(sStarterChooseWindowId); + RemoveWindow(sStarterChooseWindowId); + sStarterChooseWindowId = 0xFF; + SetGpuReg(REG_OFFSET_WIN0H, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0); + schedule_bg_copy_tilemap_to_vram(0); +} + +static void Task_MoveStarterChooseCursor(u8 taskId) +{ + sub_8134604(); + gTasks[taskId].func = sub_8134668; +} + +static void sub_8134668(u8 taskId) +{ + CreateStarterPokemonLabel(gTasks[taskId].tStarterSelection); + gTasks[taskId].func = Task_StarterChoose2; +} + +static u8 CreatePokemonFrontSprite(u16 species, u8 x, u8 y) +{ + u8 spriteId; + + spriteId = sub_818D3E4(species, 8, 0, 1, x, y, 0xE, 0xFFFF); + gSprites[spriteId].oam.priority = 0; + return spriteId; +} + +void sub_81346DC(struct Sprite *sprite) +{ + sprite->pos1.x = gUnknown_085B1E28[gTasks[sprite->data[0]].tStarterSelection][0]; + sprite->pos1.y = gUnknown_085B1E28[gTasks[sprite->data[0]].tStarterSelection][1]; + sprite->pos2.y = Sin(sprite->data[1], 8); + sprite->data[1] = (u8)(sprite->data[1]) + 4; +} + +void sub_813473C(struct Sprite *sprite) +{ + if (gTasks[sprite->data[0]].tStarterSelection == sprite->data[1]) + StartSpriteAnimIfDifferent(sprite, 1); + else + StartSpriteAnimIfDifferent(sprite, 0); +} + +void StarterPokemonSpriteCallback(struct Sprite *sprite) +{ + //Move sprite to upper center of screen + if (sprite->pos1.x > STARTER_PKMN_POS_X) + sprite->pos1.x -= 4; + if (sprite->pos1.x < STARTER_PKMN_POS_X) + sprite->pos1.x += 4; + if (sprite->pos1.y > STARTER_PKMN_POS_Y) + sprite->pos1.y -= 2; + if (sprite->pos1.y < STARTER_PKMN_POS_Y) + sprite->pos1.y += 2; +} diff --git a/src/text.c b/src/text.c index 8108a68675..6a83d5d15f 100644 --- a/src/text.c +++ b/src/text.c @@ -1,6 +1,9 @@ #include "global.h" +#include "battle.h" #include "main.h" +#include "m4a.h" #include "palette.h" +#include "sound.h" #include "string_util.h" #include "window.h" #include "text.h" @@ -13,7 +16,8 @@ extern void CopyWindowToVram(u8 windowId, u8 mode); extern u16 Font6Func(struct TextPrinter *textPrinter); extern u32 GetGlyphWidthFont6(u16 glyphId, bool32 isJapanese); extern void PlaySE(u16 songNum); -extern u8* sub_81AFC74(u8 a1); +extern u8* UnkTextUtil_GetPtrI(u8 a1); +extern int sub_8197964(); EWRAM_DATA struct TextPrinter gTempTextPrinter = {0}; EWRAM_DATA struct TextPrinter gTextPrinters[NUM_TEXT_PRINTERS] = {0}; @@ -24,6 +28,7 @@ static u16 gLastTextFgColor; static u16 gLastTextShadowColor; extern struct Main gMain; +extern struct MusicPlayerInfo gMPlayInfo_BGM; const struct FontInfo *gFonts; u8 gUnknown_03002F84; @@ -35,22 +40,22 @@ u8 gGlyphDimensions[0x2]; TextFlags gTextFlags; const u8 gFontHalfRowOffsets[] = { - 0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x03, 0x06, 0x07, 0x08, 0x06, 0x00, 0x01, 0x02, 0x00, + 0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x03, 0x06, 0x07, 0x08, 0x06, 0x00, 0x01, 0x02, 0x00, 0x09, 0x0A, 0x0B, 0x09, 0x0C, 0x0D, 0x0E, 0x0C, 0x0F, 0x10, 0x11, 0x0F, 0x09, 0x0A, 0x0B, 0x09, 0x12, 0x13, 0x14, 0x12, 0x15, 0x16, 0x17, 0x15, 0x18, 0x19, 0x1A, 0x18, 0x12, 0x13, 0x14, 0x12, - 0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x03, 0x06, 0x07, 0x08, 0x06, 0x00, 0x01, 0x02, 0x00, + 0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x03, 0x06, 0x07, 0x08, 0x06, 0x00, 0x01, 0x02, 0x00, 0x1B, 0x1C, 0x1D, 0x1B, 0x1E, 0x1F, 0x20, 0x1E, 0x21, 0x22, 0x23, 0x21, 0x1B, 0x1C, 0x1D, 0x1B, 0x24, 0x25, 0x26, 0x24, 0x27, 0x28, 0x29, 0x27, 0x2A, 0x2B, 0x2C, 0x2A, 0x24, 0x25, 0x26, 0x24, - 0x2D, 0x2E, 0x2F, 0x2D, 0x30, 0x31, 0x32, 0x30, 0x33, 0x34, 0x35, 0x33, 0x2D, 0x2E, 0x2F, 0x2D, + 0x2D, 0x2E, 0x2F, 0x2D, 0x30, 0x31, 0x32, 0x30, 0x33, 0x34, 0x35, 0x33, 0x2D, 0x2E, 0x2F, 0x2D, 0x1B, 0x1C, 0x1D, 0x1B, 0x1E, 0x1F, 0x20, 0x1E, 0x21, 0x22, 0x23, 0x21, 0x1B, 0x1C, 0x1D, 0x1B, 0x36, 0x37, 0x38, 0x36, 0x39, 0x3A, 0x3B, 0x39, 0x3C, 0x3D, 0x3E, 0x3C, 0x36, 0x37, 0x38, 0x36, - 0x3F, 0x40, 0x41, 0x3F, 0x42, 0x43, 0x44, 0x42, 0x45, 0x46, 0x47, 0x45, 0x3F, 0x40, 0x41, 0x3F, + 0x3F, 0x40, 0x41, 0x3F, 0x42, 0x43, 0x44, 0x42, 0x45, 0x46, 0x47, 0x45, 0x3F, 0x40, 0x41, 0x3F, 0x48, 0x49, 0x4A, 0x48, 0x4B, 0x4C, 0x4D, 0x4B, 0x4E, 0x4F, 0x50, 0x4E, 0x48, 0x49, 0x4A, 0x48, 0x36, 0x37, 0x38, 0x36, 0x39, 0x3A, 0x3B, 0x39, 0x3C, 0x3D, 0x3E, 0x3C, 0x36, 0x37, 0x38, 0x36, - 0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x03, 0x06, 0x07, 0x08, 0x06, 0x00, 0x01, 0x02, 0x00, + 0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x03, 0x06, 0x07, 0x08, 0x06, 0x00, 0x01, 0x02, 0x00, 0x09, 0x0A, 0x0B, 0x09, 0x0C, 0x0D, 0x0E, 0x0C, 0x0F, 0x10, 0x11, 0x0F, 0x09, 0x0A, 0x0B, 0x09, 0x12, 0x13, 0x14, 0x12, 0x15, 0x16, 0x17, 0x15, 0x18, 0x19, 0x1A, 0x18, 0x12, 0x13, 0x14, 0x12, - 0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x03, 0x06, 0x07, 0x08, 0x06, 0x00, 0x01, 0x02, 0x00 + 0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x03, 0x06, 0x07, 0x08, 0x06, 0x00, 0x01, 0x02, 0x00 }; const u8 gDownArrowTiles[] = INCBIN_U8("data/graphics/fonts/down_arrow.4bpp"); @@ -159,7 +164,7 @@ u16 PrintTextOnWindow(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 spee subPrinter.letterSpacing = gFonts[fontId].letterSpacing; subPrinter.lineSpacing = gFonts[fontId].lineSpacing; subPrinter.fontColor_l = gFonts[fontId].fontColor_l; - subPrinter.fontColor_h = gFonts[fontId].fontColor_h; + subPrinter.fgColor = gFonts[fontId].fgColor; subPrinter.bgColor = gFonts[fontId].bgColor; subPrinter.shadowColor = gFonts[fontId].shadowColor; return AddTextPrinter(&subPrinter, speed, callback); @@ -189,8 +194,8 @@ bool16 AddTextPrinter(struct TextSubPrinter *textSubPrinter, u8 speed, void (*ca gTempTextPrinter.minLetterSpacing = 0; gTempTextPrinter.japanese = 0; - GenerateFontHalfRowLookupTable(textSubPrinter->fontColor_h, textSubPrinter->bgColor, textSubPrinter->shadowColor); - if (speed != 0xFF && speed != 0x0) + GenerateFontHalfRowLookupTable(textSubPrinter->fgColor, textSubPrinter->bgColor, textSubPrinter->shadowColor); + if (speed != TEXT_SPEED_FF && speed != 0x0) { --gTempTextPrinter.text_speed; gTextPrinters[textSubPrinter->windowId] = gTempTextPrinter; @@ -204,7 +209,7 @@ bool16 AddTextPrinter(struct TextSubPrinter *textSubPrinter, u8 speed, void (*ca break; } - if (speed != 0xFF) + if (speed != TEXT_SPEED_FF) CopyWindowToVram(gTempTextPrinter.subPrinter.windowId, 2); gTextPrinters[textSubPrinter->windowId].sub_union.sub.active = 0; } @@ -378,460 +383,460 @@ __attribute__((naked)) void GenerateFontHalfRowLookupTable(u8 fgColor, u8 bgColor, u8 shadowColor) { asm("push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, #0x24\n\ - lsl r0, #24\n\ - lsr r0, #24\n\ - lsl r1, #24\n\ - lsr r1, #24\n\ - lsl r2, #24\n\ - lsr r2, #24\n\ - ldr r3, =gFontHalfRowLookupTable\n\ - ldr r4, =gLastTextBgColor\n\ - strh r1, [r4]\n\ - ldr r4, =gLastTextFgColor\n\ - strh r0, [r4]\n\ - ldr r4, =gLastTextShadowColor\n\ - strh r2, [r4]\n\ - lsl r5, r1, #12\n\ - lsl r6, r0, #12\n\ - lsl r4, r2, #12\n\ - mov r8, r4\n\ - lsl r7, r1, #8\n\ - str r7, [sp]\n\ - lsl r4, r1, #4\n\ - mov r9, r4\n\ - orr r7, r4\n\ - str r7, [sp, #0x4]\n\ - orr r7, r1\n\ - add r4, r5, #0\n\ - orr r4, r7\n\ - strh r4, [r3]\n\ - add r3, #0x2\n\ - add r4, r6, #0\n\ - orr r4, r7\n\ - strh r4, [r3]\n\ - add r3, #0x2\n\ - mov r4, r8\n\ - orr r7, r4\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - lsl r7, r0, #8\n\ - mov r10, r7\n\ - mov r4, r10\n\ - mov r7, r9\n\ - orr r4, r7\n\ - str r4, [sp, #0x8]\n\ - add r7, r4, #0\n\ - orr r7, r1\n\ - add r4, r5, #0\n\ - orr r4, r7\n\ - strh r4, [r3]\n\ - add r3, #0x2\n\ - add r4, r6, #0\n\ - orr r4, r7\n\ - strh r4, [r3]\n\ - add r3, #0x2\n\ - mov r4, r8\n\ - orr r7, r4\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - lsl r7, r2, #8\n\ - mov r12, r7\n\ - mov r4, r12\n\ - mov r7, r9\n\ - orr r4, r7\n\ - str r4, [sp, #0xC]\n\ - add r7, r4, #0\n\ - orr r7, r1\n\ - add r4, r5, #0\n\ - orr r4, r7\n\ - strh r4, [r3]\n\ - add r3, #0x2\n\ - add r4, r6, #0\n\ - orr r4, r7\n\ - strh r4, [r3]\n\ - add r3, #0x2\n\ - mov r4, r8\n\ - orr r7, r4\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - lsl r7, r0, #4\n\ - mov r9, r7\n\ - ldr r4, [sp]\n\ - orr r4, r7\n\ - str r4, [sp, #0x10]\n\ - add r7, r4, #0\n\ - orr r7, r1\n\ - add r4, r5, #0\n\ - orr r4, r7\n\ - strh r4, [r3]\n\ - add r3, #0x2\n\ - add r4, r6, #0\n\ - orr r4, r7\n\ - strh r4, [r3]\n\ - add r3, #0x2\n\ - mov r4, r8\n\ - orr r7, r4\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - mov r7, r10\n\ - add r4, r7, #0\n\ - mov r7, r9\n\ - orr r4, r7\n\ - str r4, [sp, #0x14]\n\ - add r7, r4, #0\n\ - orr r7, r1\n\ - add r4, r5, #0\n\ - orr r4, r7\n\ - strh r4, [r3]\n\ - add r3, #0x2\n\ - add r4, r6, #0\n\ - orr r4, r7\n\ - strh r4, [r3]\n\ - add r3, #0x2\n\ - mov r4, r8\n\ - orr r7, r4\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - mov r7, r12\n\ - add r4, r7, #0\n\ - mov r7, r9\n\ - orr r4, r7\n\ - str r4, [sp, #0x18]\n\ - add r7, r4, #0\n\ - orr r7, r1\n\ - add r4, r5, #0\n\ - orr r4, r7\n\ - strh r4, [r3]\n\ - add r3, #0x2\n\ - add r4, r6, #0\n\ - orr r4, r7\n\ - strh r4, [r3]\n\ - add r3, #0x2\n\ - mov r4, r8\n\ - orr r7, r4\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - lsl r7, r2, #4\n\ - mov r9, r7\n\ - mov r4, r9\n\ - ldr r7, [sp]\n\ - orr r7, r4\n\ - str r7, [sp, #0x1C]\n\ - orr r7, r1\n\ - add r4, r5, #0\n\ - orr r4, r7\n\ - strh r4, [r3]\n\ - add r3, #0x2\n\ - add r4, r6, #0\n\ - orr r4, r7\n\ - strh r4, [r3]\n\ - add r3, #0x2\n\ - mov r4, r8\n\ - orr r7, r4\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - mov r7, r9\n\ - mov r4, r10\n\ - orr r4, r7\n\ - str r4, [sp, #0x20]\n\ - add r7, r4, #0\n\ - orr r7, r1\n\ - add r4, r5, #0\n\ - orr r4, r7\n\ - strh r4, [r3]\n\ - add r3, #0x2\n\ - add r4, r6, #0\n\ - orr r4, r7\n\ - strh r4, [r3]\n\ - add r3, #0x2\n\ - mov r4, r8\n\ - orr r7, r4\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - mov r4, r12\n\ - mov r7, r9\n\ - orr r4, r7\n\ - add r7, r4, #0\n\ - orr r7, r1\n\ - add r1, r5, #0\n\ - orr r1, r7\n\ - strh r1, [r3]\n\ - add r3, #0x2\n\ - add r1, r6, #0\n\ - orr r1, r7\n\ - strh r1, [r3]\n\ - add r3, #0x2\n\ - mov r1, r8\n\ - orr r7, r1\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - ldr r7, [sp, #0x4]\n\ - orr r7, r0\n\ - add r1, r5, #0\n\ - orr r1, r7\n\ - strh r1, [r3]\n\ - add r3, #0x2\n\ - add r1, r6, #0\n\ - orr r1, r7\n\ - strh r1, [r3]\n\ - add r3, #0x2\n\ - mov r1, r8\n\ - orr r7, r1\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - ldr r7, [sp, #0x8]\n\ - orr r7, r0\n\ - add r1, r5, #0\n\ - orr r1, r7\n\ - strh r1, [r3]\n\ - add r3, #0x2\n\ - add r1, r6, #0\n\ - orr r1, r7\n\ - strh r1, [r3]\n\ - add r3, #0x2\n\ - mov r1, r8\n\ - orr r7, r1\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - ldr r7, [sp, #0xC]\n\ - orr r7, r0\n\ - add r1, r5, #0\n\ - orr r1, r7\n\ - strh r1, [r3]\n\ - add r3, #0x2\n\ - add r1, r6, #0\n\ - orr r1, r7\n\ - strh r1, [r3]\n\ - add r3, #0x2\n\ - mov r1, r8\n\ - orr r7, r1\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - ldr r7, [sp, #0x10]\n\ - orr r7, r0\n\ - add r1, r5, #0\n\ - orr r1, r7\n\ - strh r1, [r3]\n\ - add r3, #0x2\n\ - add r1, r6, #0\n\ - orr r1, r7\n\ - strh r1, [r3]\n\ - add r3, #0x2\n\ - mov r1, r8\n\ - orr r7, r1\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - ldr r7, [sp, #0x14]\n\ - orr r7, r0\n\ - add r1, r5, #0\n\ - orr r1, r7\n\ - strh r1, [r3]\n\ - add r3, #0x2\n\ - add r1, r6, #0\n\ - orr r1, r7\n\ - strh r1, [r3]\n\ - add r3, #0x2\n\ - mov r1, r8\n\ - orr r7, r1\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - ldr r7, [sp, #0x18]\n\ - orr r7, r0\n\ - add r1, r5, #0\n\ - orr r1, r7\n\ - strh r1, [r3]\n\ - add r3, #0x2\n\ - add r1, r6, #0\n\ - orr r1, r7\n\ - strh r1, [r3]\n\ - add r3, #0x2\n\ - mov r1, r8\n\ - orr r7, r1\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - ldr r7, [sp, #0x1C]\n\ - orr r7, r0\n\ - add r1, r5, #0\n\ - orr r1, r7\n\ - strh r1, [r3]\n\ - add r3, #0x2\n\ - add r1, r6, #0\n\ - orr r1, r7\n\ - strh r1, [r3]\n\ - add r3, #0x2\n\ - mov r1, r8\n\ - orr r7, r1\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - ldr r7, [sp, #0x20]\n\ - orr r7, r0\n\ - add r1, r5, #0\n\ - orr r1, r7\n\ - strh r1, [r3]\n\ - add r3, #0x2\n\ - add r1, r6, #0\n\ - orr r1, r7\n\ - strh r1, [r3]\n\ - add r3, #0x2\n\ - mov r1, r8\n\ - orr r7, r1\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - add r7, r4, #0\n\ - orr r7, r0\n\ - add r0, r5, #0\n\ - orr r0, r7\n\ - strh r0, [r3]\n\ - add r3, #0x2\n\ - add r0, r6, #0\n\ - orr r0, r7\n\ - strh r0, [r3]\n\ - add r3, #0x2\n\ - orr r7, r1\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - add r7, r2, #0\n\ - ldr r0, [sp, #0x4]\n\ - orr r7, r0\n\ - add r0, r5, #0\n\ - orr r0, r7\n\ - strh r0, [r3]\n\ - add r3, #0x2\n\ - add r0, r6, #0\n\ - orr r0, r7\n\ - strh r0, [r3]\n\ - add r3, #0x2\n\ - orr r7, r1\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - add r7, r2, #0\n\ - ldr r1, [sp, #0x8]\n\ - orr r7, r1\n\ - add r0, r5, #0\n\ - orr r0, r7\n\ - strh r0, [r3]\n\ - add r3, #0x2\n\ - add r0, r6, #0\n\ - orr r0, r7\n\ - strh r0, [r3]\n\ - add r3, #0x2\n\ - mov r0, r8\n\ - orr r7, r0\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - add r7, r2, #0\n\ - ldr r1, [sp, #0xC]\n\ - orr r7, r1\n\ - add r0, r5, #0\n\ - orr r0, r7\n\ - strh r0, [r3]\n\ - add r3, #0x2\n\ - add r0, r6, #0\n\ - orr r0, r7\n\ - strh r0, [r3]\n\ - add r3, #0x2\n\ - mov r0, r8\n\ - orr r7, r0\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - add r7, r2, #0\n\ - ldr r1, [sp, #0x10]\n\ - orr r7, r1\n\ - add r0, r5, #0\n\ - orr r0, r7\n\ - strh r0, [r3]\n\ - add r3, #0x2\n\ - add r0, r6, #0\n\ - orr r0, r7\n\ - strh r0, [r3]\n\ - add r3, #0x2\n\ - mov r0, r8\n\ - orr r7, r0\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - add r7, r2, #0\n\ - ldr r1, [sp, #0x14]\n\ - orr r7, r1\n\ - add r0, r5, #0\n\ - orr r0, r7\n\ - strh r0, [r3]\n\ - add r3, #0x2\n\ - add r0, r6, #0\n\ - orr r0, r7\n\ - strh r0, [r3]\n\ - add r3, #0x2\n\ - mov r0, r8\n\ - orr r7, r0\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - add r7, r2, #0\n\ - ldr r1, [sp, #0x18]\n\ - orr r7, r1\n\ - add r0, r5, #0\n\ - orr r0, r7\n\ - strh r0, [r3]\n\ - add r3, #0x2\n\ - add r0, r6, #0\n\ - orr r0, r7\n\ - strh r0, [r3]\n\ - add r3, #0x2\n\ - mov r0, r8\n\ - orr r7, r0\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - add r7, r2, #0\n\ - ldr r1, [sp, #0x1C]\n\ - orr r7, r1\n\ - add r0, r5, #0\n\ - orr r0, r7\n\ - strh r0, [r3]\n\ - add r3, #0x2\n\ - add r0, r6, #0\n\ - orr r0, r7\n\ - strh r0, [r3]\n\ - add r3, #0x2\n\ - mov r0, r8\n\ - orr r7, r0\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - add r7, r2, #0\n\ - ldr r1, [sp, #0x20]\n\ - orr r7, r1\n\ - add r0, r5, #0\n\ - orr r0, r7\n\ - strh r0, [r3]\n\ - add r3, #0x2\n\ - add r0, r6, #0\n\ - orr r0, r7\n\ - strh r0, [r3]\n\ - add r3, #0x2\n\ - mov r0, r8\n\ - orr r7, r0\n\ - strh r7, [r3]\n\ - add r3, #0x2\n\ - add r7, r2, #0\n\ - orr r7, r4\n\ - orr r5, r7\n\ - strh r5, [r3]\n\ - add r3, #0x2\n\ - orr r6, r7\n\ - strh r6, [r3]\n\ - orr r0, r7\n\ - strh r0, [r3, #0x2]\n\ - add sp, #0x24\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool"); + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, #0x24\n\ + lsl r0, #24\n\ + lsr r0, #24\n\ + lsl r1, #24\n\ + lsr r1, #24\n\ + lsl r2, #24\n\ + lsr r2, #24\n\ + ldr r3, =gFontHalfRowLookupTable\n\ + ldr r4, =gLastTextBgColor\n\ + strh r1, [r4]\n\ + ldr r4, =gLastTextFgColor\n\ + strh r0, [r4]\n\ + ldr r4, =gLastTextShadowColor\n\ + strh r2, [r4]\n\ + lsl r5, r1, #12\n\ + lsl r6, r0, #12\n\ + lsl r4, r2, #12\n\ + mov r8, r4\n\ + lsl r7, r1, #8\n\ + str r7, [sp]\n\ + lsl r4, r1, #4\n\ + mov r9, r4\n\ + orr r7, r4\n\ + str r7, [sp, #0x4]\n\ + orr r7, r1\n\ + add r4, r5, #0\n\ + orr r4, r7\n\ + strh r4, [r3]\n\ + add r3, #0x2\n\ + add r4, r6, #0\n\ + orr r4, r7\n\ + strh r4, [r3]\n\ + add r3, #0x2\n\ + mov r4, r8\n\ + orr r7, r4\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + lsl r7, r0, #8\n\ + mov r10, r7\n\ + mov r4, r10\n\ + mov r7, r9\n\ + orr r4, r7\n\ + str r4, [sp, #0x8]\n\ + add r7, r4, #0\n\ + orr r7, r1\n\ + add r4, r5, #0\n\ + orr r4, r7\n\ + strh r4, [r3]\n\ + add r3, #0x2\n\ + add r4, r6, #0\n\ + orr r4, r7\n\ + strh r4, [r3]\n\ + add r3, #0x2\n\ + mov r4, r8\n\ + orr r7, r4\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + lsl r7, r2, #8\n\ + mov r12, r7\n\ + mov r4, r12\n\ + mov r7, r9\n\ + orr r4, r7\n\ + str r4, [sp, #0xC]\n\ + add r7, r4, #0\n\ + orr r7, r1\n\ + add r4, r5, #0\n\ + orr r4, r7\n\ + strh r4, [r3]\n\ + add r3, #0x2\n\ + add r4, r6, #0\n\ + orr r4, r7\n\ + strh r4, [r3]\n\ + add r3, #0x2\n\ + mov r4, r8\n\ + orr r7, r4\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + lsl r7, r0, #4\n\ + mov r9, r7\n\ + ldr r4, [sp]\n\ + orr r4, r7\n\ + str r4, [sp, #0x10]\n\ + add r7, r4, #0\n\ + orr r7, r1\n\ + add r4, r5, #0\n\ + orr r4, r7\n\ + strh r4, [r3]\n\ + add r3, #0x2\n\ + add r4, r6, #0\n\ + orr r4, r7\n\ + strh r4, [r3]\n\ + add r3, #0x2\n\ + mov r4, r8\n\ + orr r7, r4\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + mov r7, r10\n\ + add r4, r7, #0\n\ + mov r7, r9\n\ + orr r4, r7\n\ + str r4, [sp, #0x14]\n\ + add r7, r4, #0\n\ + orr r7, r1\n\ + add r4, r5, #0\n\ + orr r4, r7\n\ + strh r4, [r3]\n\ + add r3, #0x2\n\ + add r4, r6, #0\n\ + orr r4, r7\n\ + strh r4, [r3]\n\ + add r3, #0x2\n\ + mov r4, r8\n\ + orr r7, r4\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + mov r7, r12\n\ + add r4, r7, #0\n\ + mov r7, r9\n\ + orr r4, r7\n\ + str r4, [sp, #0x18]\n\ + add r7, r4, #0\n\ + orr r7, r1\n\ + add r4, r5, #0\n\ + orr r4, r7\n\ + strh r4, [r3]\n\ + add r3, #0x2\n\ + add r4, r6, #0\n\ + orr r4, r7\n\ + strh r4, [r3]\n\ + add r3, #0x2\n\ + mov r4, r8\n\ + orr r7, r4\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + lsl r7, r2, #4\n\ + mov r9, r7\n\ + mov r4, r9\n\ + ldr r7, [sp]\n\ + orr r7, r4\n\ + str r7, [sp, #0x1C]\n\ + orr r7, r1\n\ + add r4, r5, #0\n\ + orr r4, r7\n\ + strh r4, [r3]\n\ + add r3, #0x2\n\ + add r4, r6, #0\n\ + orr r4, r7\n\ + strh r4, [r3]\n\ + add r3, #0x2\n\ + mov r4, r8\n\ + orr r7, r4\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + mov r7, r9\n\ + mov r4, r10\n\ + orr r4, r7\n\ + str r4, [sp, #0x20]\n\ + add r7, r4, #0\n\ + orr r7, r1\n\ + add r4, r5, #0\n\ + orr r4, r7\n\ + strh r4, [r3]\n\ + add r3, #0x2\n\ + add r4, r6, #0\n\ + orr r4, r7\n\ + strh r4, [r3]\n\ + add r3, #0x2\n\ + mov r4, r8\n\ + orr r7, r4\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + mov r4, r12\n\ + mov r7, r9\n\ + orr r4, r7\n\ + add r7, r4, #0\n\ + orr r7, r1\n\ + add r1, r5, #0\n\ + orr r1, r7\n\ + strh r1, [r3]\n\ + add r3, #0x2\n\ + add r1, r6, #0\n\ + orr r1, r7\n\ + strh r1, [r3]\n\ + add r3, #0x2\n\ + mov r1, r8\n\ + orr r7, r1\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + ldr r7, [sp, #0x4]\n\ + orr r7, r0\n\ + add r1, r5, #0\n\ + orr r1, r7\n\ + strh r1, [r3]\n\ + add r3, #0x2\n\ + add r1, r6, #0\n\ + orr r1, r7\n\ + strh r1, [r3]\n\ + add r3, #0x2\n\ + mov r1, r8\n\ + orr r7, r1\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + ldr r7, [sp, #0x8]\n\ + orr r7, r0\n\ + add r1, r5, #0\n\ + orr r1, r7\n\ + strh r1, [r3]\n\ + add r3, #0x2\n\ + add r1, r6, #0\n\ + orr r1, r7\n\ + strh r1, [r3]\n\ + add r3, #0x2\n\ + mov r1, r8\n\ + orr r7, r1\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + ldr r7, [sp, #0xC]\n\ + orr r7, r0\n\ + add r1, r5, #0\n\ + orr r1, r7\n\ + strh r1, [r3]\n\ + add r3, #0x2\n\ + add r1, r6, #0\n\ + orr r1, r7\n\ + strh r1, [r3]\n\ + add r3, #0x2\n\ + mov r1, r8\n\ + orr r7, r1\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + ldr r7, [sp, #0x10]\n\ + orr r7, r0\n\ + add r1, r5, #0\n\ + orr r1, r7\n\ + strh r1, [r3]\n\ + add r3, #0x2\n\ + add r1, r6, #0\n\ + orr r1, r7\n\ + strh r1, [r3]\n\ + add r3, #0x2\n\ + mov r1, r8\n\ + orr r7, r1\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + ldr r7, [sp, #0x14]\n\ + orr r7, r0\n\ + add r1, r5, #0\n\ + orr r1, r7\n\ + strh r1, [r3]\n\ + add r3, #0x2\n\ + add r1, r6, #0\n\ + orr r1, r7\n\ + strh r1, [r3]\n\ + add r3, #0x2\n\ + mov r1, r8\n\ + orr r7, r1\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + ldr r7, [sp, #0x18]\n\ + orr r7, r0\n\ + add r1, r5, #0\n\ + orr r1, r7\n\ + strh r1, [r3]\n\ + add r3, #0x2\n\ + add r1, r6, #0\n\ + orr r1, r7\n\ + strh r1, [r3]\n\ + add r3, #0x2\n\ + mov r1, r8\n\ + orr r7, r1\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + ldr r7, [sp, #0x1C]\n\ + orr r7, r0\n\ + add r1, r5, #0\n\ + orr r1, r7\n\ + strh r1, [r3]\n\ + add r3, #0x2\n\ + add r1, r6, #0\n\ + orr r1, r7\n\ + strh r1, [r3]\n\ + add r3, #0x2\n\ + mov r1, r8\n\ + orr r7, r1\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + ldr r7, [sp, #0x20]\n\ + orr r7, r0\n\ + add r1, r5, #0\n\ + orr r1, r7\n\ + strh r1, [r3]\n\ + add r3, #0x2\n\ + add r1, r6, #0\n\ + orr r1, r7\n\ + strh r1, [r3]\n\ + add r3, #0x2\n\ + mov r1, r8\n\ + orr r7, r1\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + add r7, r4, #0\n\ + orr r7, r0\n\ + add r0, r5, #0\n\ + orr r0, r7\n\ + strh r0, [r3]\n\ + add r3, #0x2\n\ + add r0, r6, #0\n\ + orr r0, r7\n\ + strh r0, [r3]\n\ + add r3, #0x2\n\ + orr r7, r1\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + add r7, r2, #0\n\ + ldr r0, [sp, #0x4]\n\ + orr r7, r0\n\ + add r0, r5, #0\n\ + orr r0, r7\n\ + strh r0, [r3]\n\ + add r3, #0x2\n\ + add r0, r6, #0\n\ + orr r0, r7\n\ + strh r0, [r3]\n\ + add r3, #0x2\n\ + orr r7, r1\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + add r7, r2, #0\n\ + ldr r1, [sp, #0x8]\n\ + orr r7, r1\n\ + add r0, r5, #0\n\ + orr r0, r7\n\ + strh r0, [r3]\n\ + add r3, #0x2\n\ + add r0, r6, #0\n\ + orr r0, r7\n\ + strh r0, [r3]\n\ + add r3, #0x2\n\ + mov r0, r8\n\ + orr r7, r0\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + add r7, r2, #0\n\ + ldr r1, [sp, #0xC]\n\ + orr r7, r1\n\ + add r0, r5, #0\n\ + orr r0, r7\n\ + strh r0, [r3]\n\ + add r3, #0x2\n\ + add r0, r6, #0\n\ + orr r0, r7\n\ + strh r0, [r3]\n\ + add r3, #0x2\n\ + mov r0, r8\n\ + orr r7, r0\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + add r7, r2, #0\n\ + ldr r1, [sp, #0x10]\n\ + orr r7, r1\n\ + add r0, r5, #0\n\ + orr r0, r7\n\ + strh r0, [r3]\n\ + add r3, #0x2\n\ + add r0, r6, #0\n\ + orr r0, r7\n\ + strh r0, [r3]\n\ + add r3, #0x2\n\ + mov r0, r8\n\ + orr r7, r0\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + add r7, r2, #0\n\ + ldr r1, [sp, #0x14]\n\ + orr r7, r1\n\ + add r0, r5, #0\n\ + orr r0, r7\n\ + strh r0, [r3]\n\ + add r3, #0x2\n\ + add r0, r6, #0\n\ + orr r0, r7\n\ + strh r0, [r3]\n\ + add r3, #0x2\n\ + mov r0, r8\n\ + orr r7, r0\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + add r7, r2, #0\n\ + ldr r1, [sp, #0x18]\n\ + orr r7, r1\n\ + add r0, r5, #0\n\ + orr r0, r7\n\ + strh r0, [r3]\n\ + add r3, #0x2\n\ + add r0, r6, #0\n\ + orr r0, r7\n\ + strh r0, [r3]\n\ + add r3, #0x2\n\ + mov r0, r8\n\ + orr r7, r0\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + add r7, r2, #0\n\ + ldr r1, [sp, #0x1C]\n\ + orr r7, r1\n\ + add r0, r5, #0\n\ + orr r0, r7\n\ + strh r0, [r3]\n\ + add r3, #0x2\n\ + add r0, r6, #0\n\ + orr r0, r7\n\ + strh r0, [r3]\n\ + add r3, #0x2\n\ + mov r0, r8\n\ + orr r7, r0\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + add r7, r2, #0\n\ + ldr r1, [sp, #0x20]\n\ + orr r7, r1\n\ + add r0, r5, #0\n\ + orr r0, r7\n\ + strh r0, [r3]\n\ + add r3, #0x2\n\ + add r0, r6, #0\n\ + orr r0, r7\n\ + strh r0, [r3]\n\ + add r3, #0x2\n\ + mov r0, r8\n\ + orr r7, r0\n\ + strh r7, [r3]\n\ + add r3, #0x2\n\ + add r7, r2, #0\n\ + orr r7, r4\n\ + orr r5, r7\n\ + strh r5, [r3]\n\ + add r3, #0x2\n\ + orr r6, r7\n\ + strh r6, [r3]\n\ + orr r0, r7\n\ + strh r0, [r3, #0x2]\n\ + add sp, #0x24\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool"); } #endif @@ -874,165 +879,165 @@ __attribute__((naked)) void DecompressGlyphTile(const u16 *src, u16 *dest) { asm("push {r4-r7,lr}\n\ - mov r7, r8\n\ - push {r7}\n\ - ldrh r7, [r0]\n\ - ldr r5, =gFontHalfRowLookupTable\n\ - ldr r4, =gFontHalfRowOffsets\n\ - mov r2, #0xFF\n\ - mov r8, r2\n\ - add r2, r7, #0\n\ - mov r3, r8\n\ - and r2, r3\n\ - add r2, r4\n\ - ldrb r2, [r2]\n\ - lsl r2, #1\n\ - add r2, r5\n\ - ldrh r3, [r2]\n\ - lsl r3, #16\n\ - lsr r2, r7, #8\n\ - add r2, r4\n\ - ldrb r2, [r2]\n\ - lsl r2, #1\n\ - add r2, r5\n\ - ldrh r2, [r2]\n\ - orr r3, r2\n\ - add r6, r1, #0\n\ - stmia r6!, {r3}\n\ - ldrh r7, [r0, #0x2]\n\ - add r0, #0x4\n\ - add r2, r7, #0\n\ - mov r3, r8\n\ - and r2, r3\n\ - add r2, r4\n\ - ldrb r2, [r2]\n\ - lsl r2, #1\n\ - add r2, r5\n\ - ldrh r3, [r2]\n\ - lsl r3, #16\n\ - lsr r2, r7, #8\n\ - add r2, r4\n\ - ldrb r2, [r2]\n\ - lsl r2, #1\n\ - add r2, r5\n\ - ldrh r2, [r2]\n\ - orr r3, r2\n\ - str r3, [r1, #0x4]\n\ - add r6, #0x4\n\ - ldrh r7, [r0]\n\ - add r0, #0x2\n\ - add r1, r7, #0\n\ - mov r2, r8\n\ - and r1, r2\n\ - add r1, r4\n\ - ldrb r1, [r1]\n\ - lsl r1, #1\n\ - add r1, r5\n\ - ldrh r2, [r1]\n\ - lsl r2, #16\n\ - lsr r1, r7, #8\n\ - add r1, r4\n\ - ldrb r1, [r1]\n\ - lsl r1, #1\n\ - add r1, r5\n\ - ldrh r1, [r1]\n\ - orr r2, r1\n\ - stmia r6!, {r2}\n\ - ldrh r7, [r0]\n\ - add r0, #0x2\n\ - add r1, r7, #0\n\ - mov r3, r8\n\ - and r1, r3\n\ - add r1, r4\n\ - ldrb r1, [r1]\n\ - lsl r1, #1\n\ - add r1, r5\n\ - ldrh r2, [r1]\n\ - lsl r2, #16\n\ - lsr r1, r7, #8\n\ - add r1, r4\n\ - ldrb r1, [r1]\n\ - lsl r1, #1\n\ - add r1, r5\n\ - ldrh r1, [r1]\n\ - orr r2, r1\n\ - stmia r6!, {r2}\n\ - ldrh r7, [r0]\n\ - add r0, #0x2\n\ - add r1, r7, #0\n\ - and r1, r3\n\ - add r1, r4\n\ - ldrb r1, [r1]\n\ - lsl r1, #1\n\ - add r1, r5\n\ - ldrh r2, [r1]\n\ - lsl r2, #16\n\ - lsr r1, r7, #8\n\ - add r1, r4\n\ - ldrb r1, [r1]\n\ - lsl r1, #1\n\ - add r1, r5\n\ - ldrh r1, [r1]\n\ - orr r2, r1\n\ - stmia r6!, {r2}\n\ - ldrh r7, [r0]\n\ - add r0, #0x2\n\ - add r1, r7, #0\n\ - and r1, r3\n\ - add r1, r4\n\ - ldrb r1, [r1]\n\ - lsl r1, #1\n\ - add r1, r5\n\ - ldrh r2, [r1]\n\ - lsl r2, #16\n\ - lsr r1, r7, #8\n\ - add r1, r4\n\ - ldrb r1, [r1]\n\ - lsl r1, #1\n\ - add r1, r5\n\ - ldrh r1, [r1]\n\ - orr r2, r1\n\ - stmia r6!, {r2}\n\ - ldrh r7, [r0]\n\ - add r1, r7, #0\n\ - and r1, r3\n\ - add r1, r4\n\ - ldrb r1, [r1]\n\ - lsl r1, #1\n\ - add r1, r5\n\ - ldrh r2, [r1]\n\ - lsl r2, #16\n\ - lsr r1, r7, #8\n\ - add r1, r4\n\ - ldrb r1, [r1]\n\ - lsl r1, #1\n\ - add r1, r5\n\ - ldrh r1, [r1]\n\ - orr r2, r1\n\ - stmia r6!, {r2}\n\ - ldrh r7, [r0, #0x2]\n\ - add r0, r7, #0\n\ - and r0, r3\n\ - add r0, r4\n\ - ldrb r0, [r0]\n\ - lsl r0, #1\n\ - add r0, r5\n\ - ldrh r1, [r0]\n\ - lsl r1, #16\n\ - lsr r0, r7, #8\n\ - add r0, r4\n\ - ldrb r0, [r0]\n\ - lsl r0, #1\n\ - add r0, r5\n\ - ldrh r0, [r0]\n\ - orr r1, r0\n\ - str r1, [r6]\n\ - pop {r3}\n\ - mov r8, r3\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool"); + mov r7, r8\n\ + push {r7}\n\ + ldrh r7, [r0]\n\ + ldr r5, =gFontHalfRowLookupTable\n\ + ldr r4, =gFontHalfRowOffsets\n\ + mov r2, #0xFF\n\ + mov r8, r2\n\ + add r2, r7, #0\n\ + mov r3, r8\n\ + and r2, r3\n\ + add r2, r4\n\ + ldrb r2, [r2]\n\ + lsl r2, #1\n\ + add r2, r5\n\ + ldrh r3, [r2]\n\ + lsl r3, #16\n\ + lsr r2, r7, #8\n\ + add r2, r4\n\ + ldrb r2, [r2]\n\ + lsl r2, #1\n\ + add r2, r5\n\ + ldrh r2, [r2]\n\ + orr r3, r2\n\ + add r6, r1, #0\n\ + stmia r6!, {r3}\n\ + ldrh r7, [r0, #0x2]\n\ + add r0, #0x4\n\ + add r2, r7, #0\n\ + mov r3, r8\n\ + and r2, r3\n\ + add r2, r4\n\ + ldrb r2, [r2]\n\ + lsl r2, #1\n\ + add r2, r5\n\ + ldrh r3, [r2]\n\ + lsl r3, #16\n\ + lsr r2, r7, #8\n\ + add r2, r4\n\ + ldrb r2, [r2]\n\ + lsl r2, #1\n\ + add r2, r5\n\ + ldrh r2, [r2]\n\ + orr r3, r2\n\ + str r3, [r1, #0x4]\n\ + add r6, #0x4\n\ + ldrh r7, [r0]\n\ + add r0, #0x2\n\ + add r1, r7, #0\n\ + mov r2, r8\n\ + and r1, r2\n\ + add r1, r4\n\ + ldrb r1, [r1]\n\ + lsl r1, #1\n\ + add r1, r5\n\ + ldrh r2, [r1]\n\ + lsl r2, #16\n\ + lsr r1, r7, #8\n\ + add r1, r4\n\ + ldrb r1, [r1]\n\ + lsl r1, #1\n\ + add r1, r5\n\ + ldrh r1, [r1]\n\ + orr r2, r1\n\ + stmia r6!, {r2}\n\ + ldrh r7, [r0]\n\ + add r0, #0x2\n\ + add r1, r7, #0\n\ + mov r3, r8\n\ + and r1, r3\n\ + add r1, r4\n\ + ldrb r1, [r1]\n\ + lsl r1, #1\n\ + add r1, r5\n\ + ldrh r2, [r1]\n\ + lsl r2, #16\n\ + lsr r1, r7, #8\n\ + add r1, r4\n\ + ldrb r1, [r1]\n\ + lsl r1, #1\n\ + add r1, r5\n\ + ldrh r1, [r1]\n\ + orr r2, r1\n\ + stmia r6!, {r2}\n\ + ldrh r7, [r0]\n\ + add r0, #0x2\n\ + add r1, r7, #0\n\ + and r1, r3\n\ + add r1, r4\n\ + ldrb r1, [r1]\n\ + lsl r1, #1\n\ + add r1, r5\n\ + ldrh r2, [r1]\n\ + lsl r2, #16\n\ + lsr r1, r7, #8\n\ + add r1, r4\n\ + ldrb r1, [r1]\n\ + lsl r1, #1\n\ + add r1, r5\n\ + ldrh r1, [r1]\n\ + orr r2, r1\n\ + stmia r6!, {r2}\n\ + ldrh r7, [r0]\n\ + add r0, #0x2\n\ + add r1, r7, #0\n\ + and r1, r3\n\ + add r1, r4\n\ + ldrb r1, [r1]\n\ + lsl r1, #1\n\ + add r1, r5\n\ + ldrh r2, [r1]\n\ + lsl r2, #16\n\ + lsr r1, r7, #8\n\ + add r1, r4\n\ + ldrb r1, [r1]\n\ + lsl r1, #1\n\ + add r1, r5\n\ + ldrh r1, [r1]\n\ + orr r2, r1\n\ + stmia r6!, {r2}\n\ + ldrh r7, [r0]\n\ + add r1, r7, #0\n\ + and r1, r3\n\ + add r1, r4\n\ + ldrb r1, [r1]\n\ + lsl r1, #1\n\ + add r1, r5\n\ + ldrh r2, [r1]\n\ + lsl r2, #16\n\ + lsr r1, r7, #8\n\ + add r1, r4\n\ + ldrb r1, [r1]\n\ + lsl r1, #1\n\ + add r1, r5\n\ + ldrh r1, [r1]\n\ + orr r2, r1\n\ + stmia r6!, {r2}\n\ + ldrh r7, [r0, #0x2]\n\ + add r0, r7, #0\n\ + and r0, r3\n\ + add r0, r4\n\ + ldrb r0, [r0]\n\ + lsl r0, #1\n\ + add r0, r5\n\ + ldrh r1, [r0]\n\ + lsl r1, #16\n\ + lsr r0, r7, #8\n\ + add r0, r4\n\ + ldrb r0, [r0]\n\ + lsl r0, #1\n\ + add r0, r5\n\ + ldrh r0, [r0]\n\ + orr r1, r0\n\ + str r1, [r6]\n\ + pop {r3}\n\ + mov r8, r3\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool"); } #endif @@ -1055,703 +1060,703 @@ __attribute__((naked)) void CopyGlyphToWindow(struct TextPrinter *x) { asm("push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, #0x8C\n\ - add r3, r0, #0\n\ - ldrb r1, [r3, #0x4]\n\ - lsl r0, r1, #1\n\ - add r0, r1\n\ - lsl r0, #2\n\ - ldr r1, =gWindows\n\ - add r1, r0, r1\n\ - add r2, r1, #0\n\ - ldrb r7, [r1, #0x3]\n\ - lsl r0, r7, #3\n\ - ldrb r6, [r3, #0x8]\n\ - sub r4, r0, r6\n\ - ldr r5, =gUnknown_03002F90\n\ - add r0, r5, #0\n\ - add r0, #0x80\n\ - ldrb r0, [r0]\n\ - cmp r4, r0\n\ - ble _08004DD2\n\ - add r4, r0, #0\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, #0x8C\n\ + add r3, r0, #0\n\ + ldrb r1, [r3, #0x4]\n\ + lsl r0, r1, #1\n\ + add r0, r1\n\ + lsl r0, #2\n\ + ldr r1, =gWindows\n\ + add r1, r0, r1\n\ + add r2, r1, #0\n\ + ldrb r7, [r1, #0x3]\n\ + lsl r0, r7, #3\n\ + ldrb r6, [r3, #0x8]\n\ + sub r4, r0, r6\n\ + ldr r5, =gUnknown_03002F90\n\ + add r0, r5, #0\n\ + add r0, #0x80\n\ + ldrb r0, [r0]\n\ + cmp r4, r0\n\ + ble _08004DD2\n\ + add r4, r0, #0\n\ _08004DD2:\n\ - ldrb r0, [r1, #0x4]\n\ - lsl r0, #3\n\ - ldrb r3, [r3, #0x9]\n\ - sub r0, r3\n\ - add r1, r5, #0\n\ - add r1, #0x81\n\ - ldrb r1, [r1]\n\ - cmp r0, r1\n\ - ble _08004DE6\n\ - add r0, r1, #0\n\ + ldrb r0, [r1, #0x4]\n\ + lsl r0, #3\n\ + ldrb r3, [r3, #0x9]\n\ + sub r0, r3\n\ + add r1, r5, #0\n\ + add r1, #0x81\n\ + ldrb r1, [r1]\n\ + cmp r0, r1\n\ + ble _08004DE6\n\ + add r0, r1, #0\n\ _08004DE6:\n\ - str r6, [sp]\n\ - mov r8, r3\n\ - add r3, r5, #0\n\ - ldr r2, [r2, #0x8]\n\ - mov r9, r2\n\ - lsl r1, r7, #5\n\ - str r1, [sp, #0x4]\n\ - cmp r4, #0x8\n\ - ble _08004DFA\n\ - b _08004F94\n\ + str r6, [sp]\n\ + mov r8, r3\n\ + add r3, r5, #0\n\ + ldr r2, [r2, #0x8]\n\ + mov r9, r2\n\ + lsl r1, r7, #5\n\ + str r1, [sp, #0x4]\n\ + cmp r4, #0x8\n\ + ble _08004DFA\n\ + b _08004F94\n\ _08004DFA:\n\ - cmp r0, #0x8\n\ - bgt _08004E84\n\ - mov r1, r8\n\ - str r3, [sp, #0x8]\n\ - add r2, r6, #0\n\ - add r2, r4\n\ - mov r8, r2\n\ - add r0, r1, r0\n\ - str r0, [sp, #0xC]\n\ - str r6, [sp, #0x10]\n\ - cmp r1, r0\n\ - bcc _08004E14\n\ - b _080052AA\n\ + cmp r0, #0x8\n\ + bgt _08004E84\n\ + mov r1, r8\n\ + str r3, [sp, #0x8]\n\ + add r2, r6, #0\n\ + add r2, r4\n\ + mov r8, r2\n\ + add r0, r1, r0\n\ + str r0, [sp, #0xC]\n\ + str r6, [sp, #0x10]\n\ + cmp r1, r0\n\ + bcc _08004E14\n\ + b _080052AA\n\ _08004E14:\n\ - ldr r3, [sp, #0x8]\n\ - ldm r3!, {r5}\n\ - str r3, [sp, #0x8]\n\ - ldr r4, [sp, #0x10]\n\ - add r0, r1, #0x1\n\ - mov r10, r0\n\ - cmp r4, r8\n\ - bcs _08004E72\n\ - mov r2, #0x7\n\ - mov r12, r2\n\ - lsr r0, r1, #3\n\ - ldr r2, [sp, #0x4]\n\ - add r3, r0, #0\n\ - mul r3, r2\n\ - add r7, r3, #0\n\ - mov r3, r12\n\ - and r1, r3\n\ - lsl r6, r1, #2\n\ + ldr r3, [sp, #0x8]\n\ + ldm r3!, {r5}\n\ + str r3, [sp, #0x8]\n\ + ldr r4, [sp, #0x10]\n\ + add r0, r1, #0x1\n\ + mov r10, r0\n\ + cmp r4, r8\n\ + bcs _08004E72\n\ + mov r2, #0x7\n\ + mov r12, r2\n\ + lsr r0, r1, #3\n\ + ldr r2, [sp, #0x4]\n\ + add r3, r0, #0\n\ + mul r3, r2\n\ + add r7, r3, #0\n\ + mov r3, r12\n\ + and r1, r3\n\ + lsl r6, r1, #2\n\ _08004E38:\n\ - add r3, r5, #0\n\ - mov r0, #0xF\n\ - and r3, r0\n\ - cmp r3, #0\n\ - beq _08004E6A\n\ - lsr r2, r4, #3\n\ - lsl r2, #5\n\ - add r2, r9\n\ - add r0, r4, #0\n\ - mov r1, r12\n\ - and r0, r1\n\ - lsr r0, #1\n\ - add r2, r0\n\ - add r2, r7\n\ - add r2, r6\n\ - mov r1, #0x1\n\ - and r1, r4\n\ - lsl r1, #2\n\ - lsl r3, r1\n\ - mov r0, #0xF0\n\ - asr r0, r1\n\ - ldrb r1, [r2]\n\ - and r0, r1\n\ - orr r3, r0\n\ - strb r3, [r2]\n\ + add r3, r5, #0\n\ + mov r0, #0xF\n\ + and r3, r0\n\ + cmp r3, #0\n\ + beq _08004E6A\n\ + lsr r2, r4, #3\n\ + lsl r2, #5\n\ + add r2, r9\n\ + add r0, r4, #0\n\ + mov r1, r12\n\ + and r0, r1\n\ + lsr r0, #1\n\ + add r2, r0\n\ + add r2, r7\n\ + add r2, r6\n\ + mov r1, #0x1\n\ + and r1, r4\n\ + lsl r1, #2\n\ + lsl r3, r1\n\ + mov r0, #0xF0\n\ + asr r0, r1\n\ + ldrb r1, [r2]\n\ + and r0, r1\n\ + orr r3, r0\n\ + strb r3, [r2]\n\ _08004E6A:\n\ - lsr r5, #4\n\ - add r4, #0x1\n\ - cmp r4, r8\n\ - bcc _08004E38\n\ + lsr r5, #4\n\ + add r4, #0x1\n\ + cmp r4, r8\n\ + bcc _08004E38\n\ _08004E72:\n\ - mov r1, r10\n\ - ldr r2, [sp, #0xC]\n\ - cmp r1, r2\n\ - bcc _08004E14\n\ - b _080052AA\n\ - .pool\n\ + mov r1, r10\n\ + ldr r2, [sp, #0xC]\n\ + cmp r1, r2\n\ + bcc _08004E14\n\ + b _080052AA\n\ + .pool\n\ _08004E84:\n\ - mov r1, r8\n\ - str r3, [sp, #0x14]\n\ - ldr r3, [sp]\n\ - add r3, r4\n\ - mov r12, r3\n\ - add r2, r1, #0\n\ - add r2, #0x8\n\ - str r2, [sp, #0x18]\n\ - ldr r3, [sp]\n\ - str r3, [sp, #0x1C]\n\ - mov r2, r12\n\ - str r2, [sp, #0x74]\n\ - ldr r3, [sp, #0x18]\n\ - str r3, [sp, #0x88]\n\ - sub r0, #0x8\n\ - str r0, [sp, #0x80]\n\ - cmp r1, r3\n\ - bcs _08004F0E\n\ + mov r1, r8\n\ + str r3, [sp, #0x14]\n\ + ldr r3, [sp]\n\ + add r3, r4\n\ + mov r12, r3\n\ + add r2, r1, #0\n\ + add r2, #0x8\n\ + str r2, [sp, #0x18]\n\ + ldr r3, [sp]\n\ + str r3, [sp, #0x1C]\n\ + mov r2, r12\n\ + str r2, [sp, #0x74]\n\ + ldr r3, [sp, #0x18]\n\ + str r3, [sp, #0x88]\n\ + sub r0, #0x8\n\ + str r0, [sp, #0x80]\n\ + cmp r1, r3\n\ + bcs _08004F0E\n\ _08004EA8:\n\ - ldr r0, [sp, #0x14]\n\ - ldm r0!, {r5}\n\ - str r0, [sp, #0x14]\n\ - ldr r4, [sp, #0x1C]\n\ - add r2, r1, #0x1\n\ - mov r8, r2\n\ - cmp r4, r12\n\ - bcs _08004F06\n\ - mov r3, #0x7\n\ - mov r10, r3\n\ - lsr r0, r1, #3\n\ - ldr r3, [sp, #0x4]\n\ - add r2, r0, #0\n\ - mul r2, r3\n\ - add r7, r2, #0\n\ - mov r0, r10\n\ - and r1, r0\n\ - lsl r6, r1, #2\n\ + ldr r0, [sp, #0x14]\n\ + ldm r0!, {r5}\n\ + str r0, [sp, #0x14]\n\ + ldr r4, [sp, #0x1C]\n\ + add r2, r1, #0x1\n\ + mov r8, r2\n\ + cmp r4, r12\n\ + bcs _08004F06\n\ + mov r3, #0x7\n\ + mov r10, r3\n\ + lsr r0, r1, #3\n\ + ldr r3, [sp, #0x4]\n\ + add r2, r0, #0\n\ + mul r2, r3\n\ + add r7, r2, #0\n\ + mov r0, r10\n\ + and r1, r0\n\ + lsl r6, r1, #2\n\ _08004ECC:\n\ - add r3, r5, #0\n\ - mov r1, #0xF\n\ - and r3, r1\n\ - cmp r3, #0\n\ - beq _08004EFE\n\ - lsr r2, r4, #3\n\ - lsl r2, #5\n\ - add r2, r9\n\ - add r0, r4, #0\n\ - mov r1, r10\n\ - and r0, r1\n\ - lsr r0, #1\n\ - add r2, r0\n\ - add r2, r7\n\ - add r2, r6\n\ - mov r1, #0x1\n\ - and r1, r4\n\ - lsl r1, #2\n\ - lsl r3, r1\n\ - mov r0, #0xF0\n\ - asr r0, r1\n\ - ldrb r1, [r2]\n\ - and r0, r1\n\ - orr r3, r0\n\ - strb r3, [r2]\n\ + add r3, r5, #0\n\ + mov r1, #0xF\n\ + and r3, r1\n\ + cmp r3, #0\n\ + beq _08004EFE\n\ + lsr r2, r4, #3\n\ + lsl r2, #5\n\ + add r2, r9\n\ + add r0, r4, #0\n\ + mov r1, r10\n\ + and r0, r1\n\ + lsr r0, #1\n\ + add r2, r0\n\ + add r2, r7\n\ + add r2, r6\n\ + mov r1, #0x1\n\ + and r1, r4\n\ + lsl r1, #2\n\ + lsl r3, r1\n\ + mov r0, #0xF0\n\ + asr r0, r1\n\ + ldrb r1, [r2]\n\ + and r0, r1\n\ + orr r3, r0\n\ + strb r3, [r2]\n\ _08004EFE:\n\ - lsr r5, #4\n\ - add r4, #0x1\n\ - cmp r4, r12\n\ - bcc _08004ECC\n\ + lsr r5, #4\n\ + add r4, #0x1\n\ + cmp r4, r12\n\ + bcc _08004ECC\n\ _08004F06:\n\ - mov r1, r8\n\ - ldr r2, [sp, #0x18]\n\ - cmp r1, r2\n\ - bcc _08004EA8\n\ + mov r1, r8\n\ + ldr r2, [sp, #0x18]\n\ + cmp r1, r2\n\ + bcc _08004EA8\n\ _08004F0E:\n\ - ldr r1, [sp, #0x88]\n\ - ldr r3, =gUnknown_03002FD0\n\ - str r3, [sp, #0x20]\n\ - ldr r0, [sp, #0x74]\n\ - mov r8, r0\n\ - ldr r2, [sp, #0x80]\n\ - add r2, r1, r2\n\ - str r2, [sp, #0x24]\n\ - ldr r3, [sp]\n\ - str r3, [sp, #0x28]\n\ - cmp r1, r2\n\ - bcc _08004F28\n\ - b _080052AA\n\ + ldr r1, [sp, #0x88]\n\ + ldr r3, =gUnknown_03002FD0\n\ + str r3, [sp, #0x20]\n\ + ldr r0, [sp, #0x74]\n\ + mov r8, r0\n\ + ldr r2, [sp, #0x80]\n\ + add r2, r1, r2\n\ + str r2, [sp, #0x24]\n\ + ldr r3, [sp]\n\ + str r3, [sp, #0x28]\n\ + cmp r1, r2\n\ + bcc _08004F28\n\ + b _080052AA\n\ _08004F28:\n\ - ldr r0, [sp, #0x20]\n\ - ldm r0!, {r5}\n\ - str r0, [sp, #0x20]\n\ - ldr r4, [sp, #0x28]\n\ - add r2, r1, #0x1\n\ - mov r10, r2\n\ - cmp r4, r8\n\ - bcs _08004F86\n\ - mov r3, #0x7\n\ - mov r12, r3\n\ - lsr r0, r1, #3\n\ - ldr r3, [sp, #0x4]\n\ - add r2, r0, #0\n\ - mul r2, r3\n\ - add r7, r2, #0\n\ - mov r0, r12\n\ - and r1, r0\n\ - lsl r6, r1, #2\n\ + ldr r0, [sp, #0x20]\n\ + ldm r0!, {r5}\n\ + str r0, [sp, #0x20]\n\ + ldr r4, [sp, #0x28]\n\ + add r2, r1, #0x1\n\ + mov r10, r2\n\ + cmp r4, r8\n\ + bcs _08004F86\n\ + mov r3, #0x7\n\ + mov r12, r3\n\ + lsr r0, r1, #3\n\ + ldr r3, [sp, #0x4]\n\ + add r2, r0, #0\n\ + mul r2, r3\n\ + add r7, r2, #0\n\ + mov r0, r12\n\ + and r1, r0\n\ + lsl r6, r1, #2\n\ _08004F4C:\n\ - add r3, r5, #0\n\ - mov r1, #0xF\n\ - and r3, r1\n\ - cmp r3, #0\n\ - beq _08004F7E\n\ - lsr r2, r4, #3\n\ - lsl r2, #5\n\ - add r2, r9\n\ - add r0, r4, #0\n\ - mov r1, r12\n\ - and r0, r1\n\ - lsr r0, #1\n\ - add r2, r0\n\ - add r2, r7\n\ - add r2, r6\n\ - mov r1, #0x1\n\ - and r1, r4\n\ - lsl r1, #2\n\ - lsl r3, r1\n\ - mov r0, #0xF0\n\ - asr r0, r1\n\ - ldrb r1, [r2]\n\ - and r0, r1\n\ - orr r3, r0\n\ - strb r3, [r2]\n\ + add r3, r5, #0\n\ + mov r1, #0xF\n\ + and r3, r1\n\ + cmp r3, #0\n\ + beq _08004F7E\n\ + lsr r2, r4, #3\n\ + lsl r2, #5\n\ + add r2, r9\n\ + add r0, r4, #0\n\ + mov r1, r12\n\ + and r0, r1\n\ + lsr r0, #1\n\ + add r2, r0\n\ + add r2, r7\n\ + add r2, r6\n\ + mov r1, #0x1\n\ + and r1, r4\n\ + lsl r1, #2\n\ + lsl r3, r1\n\ + mov r0, #0xF0\n\ + asr r0, r1\n\ + ldrb r1, [r2]\n\ + and r0, r1\n\ + orr r3, r0\n\ + strb r3, [r2]\n\ _08004F7E:\n\ - lsr r5, #4\n\ - add r4, #0x1\n\ - cmp r4, r8\n\ - bcc _08004F4C\n\ + lsr r5, #4\n\ + add r4, #0x1\n\ + cmp r4, r8\n\ + bcc _08004F4C\n\ _08004F86:\n\ - mov r1, r10\n\ - ldr r2, [sp, #0x24]\n\ - cmp r1, r2\n\ - bcc _08004F28\n\ - b _080052AA\n\ - .pool\n\ + mov r1, r10\n\ + ldr r2, [sp, #0x24]\n\ + cmp r1, r2\n\ + bcc _08004F28\n\ + b _080052AA\n\ + .pool\n\ _08004F94:\n\ - cmp r0, #0x8\n\ - ble _08004F9A\n\ - b _080050A4\n\ + cmp r0, #0x8\n\ + ble _08004F9A\n\ + b _080050A4\n\ _08004F9A:\n\ - mov r1, r8\n\ - str r3, [sp, #0x2C]\n\ - ldr r3, [sp]\n\ - add r3, #0x8\n\ - mov r12, r3\n\ - add r0, r8\n\ - str r0, [sp, #0x30]\n\ - ldr r0, [sp]\n\ - str r0, [sp, #0x34]\n\ - ldr r2, [sp, #0x30]\n\ - str r2, [sp, #0x78]\n\ - str r3, [sp, #0x84]\n\ - sub r4, #0x8\n\ - str r4, [sp, #0x7C]\n\ - cmp r8, r2\n\ - bcs _0800501C\n\ + mov r1, r8\n\ + str r3, [sp, #0x2C]\n\ + ldr r3, [sp]\n\ + add r3, #0x8\n\ + mov r12, r3\n\ + add r0, r8\n\ + str r0, [sp, #0x30]\n\ + ldr r0, [sp]\n\ + str r0, [sp, #0x34]\n\ + ldr r2, [sp, #0x30]\n\ + str r2, [sp, #0x78]\n\ + str r3, [sp, #0x84]\n\ + sub r4, #0x8\n\ + str r4, [sp, #0x7C]\n\ + cmp r8, r2\n\ + bcs _0800501C\n\ _08004FBA:\n\ - ldr r0, [sp, #0x2C]\n\ - ldm r0!, {r5}\n\ - str r0, [sp, #0x2C]\n\ - ldr r4, [sp, #0x34]\n\ - add r2, r1, #0x1\n\ - mov r10, r2\n\ - cmp r4, r12\n\ - bcs _08005014\n\ - lsr r0, r1, #3\n\ - ldr r2, [sp, #0x4]\n\ - add r3, r0, #0\n\ - mul r3, r2\n\ - add r7, r3, #0\n\ - mov r3, #0x7\n\ - and r1, r3\n\ - lsl r6, r1, #2\n\ + ldr r0, [sp, #0x2C]\n\ + ldm r0!, {r5}\n\ + str r0, [sp, #0x2C]\n\ + ldr r4, [sp, #0x34]\n\ + add r2, r1, #0x1\n\ + mov r10, r2\n\ + cmp r4, r12\n\ + bcs _08005014\n\ + lsr r0, r1, #3\n\ + ldr r2, [sp, #0x4]\n\ + add r3, r0, #0\n\ + mul r3, r2\n\ + add r7, r3, #0\n\ + mov r3, #0x7\n\ + and r1, r3\n\ + lsl r6, r1, #2\n\ _08004FDA:\n\ - add r3, r5, #0\n\ - mov r0, #0xF\n\ - and r3, r0\n\ - cmp r3, #0\n\ - beq _0800500C\n\ - lsr r2, r4, #3\n\ - lsl r2, #5\n\ - add r2, r9\n\ - add r0, r4, #0\n\ - mov r1, #0x7\n\ - and r0, r1\n\ - lsr r0, #1\n\ - add r2, r0\n\ - add r2, r7\n\ - add r2, r6\n\ - mov r1, #0x1\n\ - and r1, r4\n\ - lsl r1, #2\n\ - lsl r3, r1\n\ - mov r0, #0xF0\n\ - asr r0, r1\n\ - ldrb r1, [r2]\n\ - and r0, r1\n\ - orr r3, r0\n\ - strb r3, [r2]\n\ + add r3, r5, #0\n\ + mov r0, #0xF\n\ + and r3, r0\n\ + cmp r3, #0\n\ + beq _0800500C\n\ + lsr r2, r4, #3\n\ + lsl r2, #5\n\ + add r2, r9\n\ + add r0, r4, #0\n\ + mov r1, #0x7\n\ + and r0, r1\n\ + lsr r0, #1\n\ + add r2, r0\n\ + add r2, r7\n\ + add r2, r6\n\ + mov r1, #0x1\n\ + and r1, r4\n\ + lsl r1, #2\n\ + lsl r3, r1\n\ + mov r0, #0xF0\n\ + asr r0, r1\n\ + ldrb r1, [r2]\n\ + and r0, r1\n\ + orr r3, r0\n\ + strb r3, [r2]\n\ _0800500C:\n\ - lsr r5, #4\n\ - add r4, #0x1\n\ - cmp r4, r12\n\ - bcc _08004FDA\n\ + lsr r5, #4\n\ + add r4, #0x1\n\ + cmp r4, r12\n\ + bcc _08004FDA\n\ _08005014:\n\ - mov r1, r10\n\ - ldr r2, [sp, #0x30]\n\ - cmp r1, r2\n\ - bcc _08004FBA\n\ + mov r1, r10\n\ + ldr r2, [sp, #0x30]\n\ + cmp r1, r2\n\ + bcc _08004FBA\n\ _0800501C:\n\ - mov r1, r8\n\ - ldr r3, =gUnknown_03002FB0\n\ - str r3, [sp, #0x38]\n\ - ldr r0, [sp, #0x84]\n\ - ldr r2, [sp, #0x7C]\n\ - add r0, r2\n\ - mov r8, r0\n\ - ldr r3, [sp, #0x78]\n\ - str r3, [sp, #0x3C]\n\ - ldr r0, [sp, #0x84]\n\ - str r0, [sp, #0x40]\n\ - cmp r1, r3\n\ - bcc _08005038\n\ - b _080052AA\n\ + mov r1, r8\n\ + ldr r3, =gUnknown_03002FB0\n\ + str r3, [sp, #0x38]\n\ + ldr r0, [sp, #0x84]\n\ + ldr r2, [sp, #0x7C]\n\ + add r0, r2\n\ + mov r8, r0\n\ + ldr r3, [sp, #0x78]\n\ + str r3, [sp, #0x3C]\n\ + ldr r0, [sp, #0x84]\n\ + str r0, [sp, #0x40]\n\ + cmp r1, r3\n\ + bcc _08005038\n\ + b _080052AA\n\ _08005038:\n\ - ldr r2, [sp, #0x38]\n\ - ldm r2!, {r5}\n\ - str r2, [sp, #0x38]\n\ - ldr r4, [sp, #0x40]\n\ - add r3, r1, #0x1\n\ - mov r10, r3\n\ - cmp r4, r8\n\ - bcs _08005096\n\ - mov r0, #0x7\n\ - mov r12, r0\n\ - lsr r0, r1, #3\n\ - ldr r3, [sp, #0x4]\n\ - add r2, r0, #0\n\ - mul r2, r3\n\ - add r7, r2, #0\n\ - mov r0, r12\n\ - and r1, r0\n\ - lsl r6, r1, #2\n\ + ldr r2, [sp, #0x38]\n\ + ldm r2!, {r5}\n\ + str r2, [sp, #0x38]\n\ + ldr r4, [sp, #0x40]\n\ + add r3, r1, #0x1\n\ + mov r10, r3\n\ + cmp r4, r8\n\ + bcs _08005096\n\ + mov r0, #0x7\n\ + mov r12, r0\n\ + lsr r0, r1, #3\n\ + ldr r3, [sp, #0x4]\n\ + add r2, r0, #0\n\ + mul r2, r3\n\ + add r7, r2, #0\n\ + mov r0, r12\n\ + and r1, r0\n\ + lsl r6, r1, #2\n\ _0800505C:\n\ - add r3, r5, #0\n\ - mov r1, #0xF\n\ - and r3, r1\n\ - cmp r3, #0\n\ - beq _0800508E\n\ - lsr r2, r4, #3\n\ - lsl r2, #5\n\ - add r2, r9\n\ - add r0, r4, #0\n\ - mov r1, r12\n\ - and r0, r1\n\ - lsr r0, #1\n\ - add r2, r0\n\ - add r2, r7\n\ - add r2, r6\n\ - mov r1, #0x1\n\ - and r1, r4\n\ - lsl r1, #2\n\ - lsl r3, r1\n\ - mov r0, #0xF0\n\ - asr r0, r1\n\ - ldrb r1, [r2]\n\ - and r0, r1\n\ - orr r3, r0\n\ - strb r3, [r2]\n\ + add r3, r5, #0\n\ + mov r1, #0xF\n\ + and r3, r1\n\ + cmp r3, #0\n\ + beq _0800508E\n\ + lsr r2, r4, #3\n\ + lsl r2, #5\n\ + add r2, r9\n\ + add r0, r4, #0\n\ + mov r1, r12\n\ + and r0, r1\n\ + lsr r0, #1\n\ + add r2, r0\n\ + add r2, r7\n\ + add r2, r6\n\ + mov r1, #0x1\n\ + and r1, r4\n\ + lsl r1, #2\n\ + lsl r3, r1\n\ + mov r0, #0xF0\n\ + asr r0, r1\n\ + ldrb r1, [r2]\n\ + and r0, r1\n\ + orr r3, r0\n\ + strb r3, [r2]\n\ _0800508E:\n\ - lsr r5, #4\n\ - add r4, #0x1\n\ - cmp r4, r8\n\ - bcc _0800505C\n\ + lsr r5, #4\n\ + add r4, #0x1\n\ + cmp r4, r8\n\ + bcc _0800505C\n\ _08005096:\n\ - mov r1, r10\n\ - ldr r2, [sp, #0x3C]\n\ - cmp r1, r2\n\ - bcc _08005038\n\ - b _080052AA\n\ - .pool\n\ + mov r1, r10\n\ + ldr r2, [sp, #0x3C]\n\ + cmp r1, r2\n\ + bcc _08005038\n\ + b _080052AA\n\ + .pool\n\ _080050A4:\n\ - mov r1, r8\n\ - str r5, [sp, #0x44]\n\ - ldr r3, [sp]\n\ - add r3, #0x8\n\ - mov r12, r3\n\ - mov r2, r8\n\ - add r2, #0x8\n\ - str r2, [sp, #0x48]\n\ - ldr r3, [sp]\n\ - str r3, [sp, #0x4C]\n\ - str r2, [sp, #0x88]\n\ - sub r0, #0x8\n\ - str r0, [sp, #0x80]\n\ - mov r0, r12\n\ - str r0, [sp, #0x84]\n\ - sub r4, #0x8\n\ - str r4, [sp, #0x7C]\n\ - cmp r8, r2\n\ - bcs _0800512C\n\ + mov r1, r8\n\ + str r5, [sp, #0x44]\n\ + ldr r3, [sp]\n\ + add r3, #0x8\n\ + mov r12, r3\n\ + mov r2, r8\n\ + add r2, #0x8\n\ + str r2, [sp, #0x48]\n\ + ldr r3, [sp]\n\ + str r3, [sp, #0x4C]\n\ + str r2, [sp, #0x88]\n\ + sub r0, #0x8\n\ + str r0, [sp, #0x80]\n\ + mov r0, r12\n\ + str r0, [sp, #0x84]\n\ + sub r4, #0x8\n\ + str r4, [sp, #0x7C]\n\ + cmp r8, r2\n\ + bcs _0800512C\n\ _080050CA:\n\ - ldr r2, [sp, #0x44]\n\ - ldm r2!, {r5}\n\ - str r2, [sp, #0x44]\n\ - ldr r4, [sp, #0x4C]\n\ - add r3, r1, #0x1\n\ - mov r10, r3\n\ - cmp r4, r12\n\ - bcs _08005124\n\ - lsr r0, r1, #3\n\ - ldr r3, [sp, #0x4]\n\ - add r2, r0, #0\n\ - mul r2, r3\n\ - add r7, r2, #0\n\ - mov r0, #0x7\n\ - and r1, r0\n\ - lsl r6, r1, #2\n\ + ldr r2, [sp, #0x44]\n\ + ldm r2!, {r5}\n\ + str r2, [sp, #0x44]\n\ + ldr r4, [sp, #0x4C]\n\ + add r3, r1, #0x1\n\ + mov r10, r3\n\ + cmp r4, r12\n\ + bcs _08005124\n\ + lsr r0, r1, #3\n\ + ldr r3, [sp, #0x4]\n\ + add r2, r0, #0\n\ + mul r2, r3\n\ + add r7, r2, #0\n\ + mov r0, #0x7\n\ + and r1, r0\n\ + lsl r6, r1, #2\n\ _080050EA:\n\ - add r3, r5, #0\n\ - mov r1, #0xF\n\ - and r3, r1\n\ - cmp r3, #0\n\ - beq _0800511C\n\ - lsr r2, r4, #3\n\ - lsl r2, #5\n\ - add r2, r9\n\ - add r0, r4, #0\n\ - mov r1, #0x7\n\ - and r0, r1\n\ - lsr r0, #1\n\ - add r2, r0\n\ - add r2, r7\n\ - add r2, r6\n\ - mov r1, #0x1\n\ - and r1, r4\n\ - lsl r1, #2\n\ - lsl r3, r1\n\ - mov r0, #0xF0\n\ - asr r0, r1\n\ - ldrb r1, [r2]\n\ - and r0, r1\n\ - orr r3, r0\n\ - strb r3, [r2]\n\ + add r3, r5, #0\n\ + mov r1, #0xF\n\ + and r3, r1\n\ + cmp r3, #0\n\ + beq _0800511C\n\ + lsr r2, r4, #3\n\ + lsl r2, #5\n\ + add r2, r9\n\ + add r0, r4, #0\n\ + mov r1, #0x7\n\ + and r0, r1\n\ + lsr r0, #1\n\ + add r2, r0\n\ + add r2, r7\n\ + add r2, r6\n\ + mov r1, #0x1\n\ + and r1, r4\n\ + lsl r1, #2\n\ + lsl r3, r1\n\ + mov r0, #0xF0\n\ + asr r0, r1\n\ + ldrb r1, [r2]\n\ + and r0, r1\n\ + orr r3, r0\n\ + strb r3, [r2]\n\ _0800511C:\n\ - lsr r5, #4\n\ - add r4, #0x1\n\ - cmp r4, r12\n\ - bcc _080050EA\n\ + lsr r5, #4\n\ + add r4, #0x1\n\ + cmp r4, r12\n\ + bcc _080050EA\n\ _08005124:\n\ - mov r1, r10\n\ - ldr r2, [sp, #0x48]\n\ - cmp r1, r2\n\ - bcc _080050CA\n\ + mov r1, r10\n\ + ldr r2, [sp, #0x48]\n\ + cmp r1, r2\n\ + bcc _080050CA\n\ _0800512C:\n\ - mov r1, r8\n\ - ldr r3, =gUnknown_03002FB0\n\ - str r3, [sp, #0x50]\n\ - ldr r0, [sp, #0x84]\n\ - ldr r2, [sp, #0x7C]\n\ - add r0, r2\n\ - mov r8, r0\n\ - ldr r3, [sp, #0x88]\n\ - str r3, [sp, #0x54]\n\ - ldr r0, [sp, #0x84]\n\ - str r0, [sp, #0x58]\n\ - cmp r1, r3\n\ - bcs _080051AC\n\ + mov r1, r8\n\ + ldr r3, =gUnknown_03002FB0\n\ + str r3, [sp, #0x50]\n\ + ldr r0, [sp, #0x84]\n\ + ldr r2, [sp, #0x7C]\n\ + add r0, r2\n\ + mov r8, r0\n\ + ldr r3, [sp, #0x88]\n\ + str r3, [sp, #0x54]\n\ + ldr r0, [sp, #0x84]\n\ + str r0, [sp, #0x58]\n\ + cmp r1, r3\n\ + bcs _080051AC\n\ _08005146:\n\ - ldr r2, [sp, #0x50]\n\ - ldm r2!, {r5}\n\ - str r2, [sp, #0x50]\n\ - ldr r4, [sp, #0x58]\n\ - add r3, r1, #0x1\n\ - mov r10, r3\n\ - cmp r4, r8\n\ - bcs _080051A4\n\ - mov r0, #0x7\n\ - mov r12, r0\n\ - lsr r0, r1, #3\n\ - ldr r3, [sp, #0x4]\n\ - add r2, r0, #0\n\ - mul r2, r3\n\ - add r7, r2, #0\n\ - mov r0, r12\n\ - and r1, r0\n\ - lsl r6, r1, #2\n\ + ldr r2, [sp, #0x50]\n\ + ldm r2!, {r5}\n\ + str r2, [sp, #0x50]\n\ + ldr r4, [sp, #0x58]\n\ + add r3, r1, #0x1\n\ + mov r10, r3\n\ + cmp r4, r8\n\ + bcs _080051A4\n\ + mov r0, #0x7\n\ + mov r12, r0\n\ + lsr r0, r1, #3\n\ + ldr r3, [sp, #0x4]\n\ + add r2, r0, #0\n\ + mul r2, r3\n\ + add r7, r2, #0\n\ + mov r0, r12\n\ + and r1, r0\n\ + lsl r6, r1, #2\n\ _0800516A:\n\ - add r3, r5, #0\n\ - mov r1, #0xF\n\ - and r3, r1\n\ - cmp r3, #0\n\ - beq _0800519C\n\ - lsr r2, r4, #3\n\ - lsl r2, #5\n\ - add r2, r9\n\ - add r0, r4, #0\n\ - mov r1, r12\n\ - and r0, r1\n\ - lsr r0, #1\n\ - add r2, r0\n\ - add r2, r7\n\ - add r2, r6\n\ - mov r1, #0x1\n\ - and r1, r4\n\ - lsl r1, #2\n\ - lsl r3, r1\n\ - mov r0, #0xF0\n\ - asr r0, r1\n\ - ldrb r1, [r2]\n\ - and r0, r1\n\ - orr r3, r0\n\ - strb r3, [r2]\n\ + add r3, r5, #0\n\ + mov r1, #0xF\n\ + and r3, r1\n\ + cmp r3, #0\n\ + beq _0800519C\n\ + lsr r2, r4, #3\n\ + lsl r2, #5\n\ + add r2, r9\n\ + add r0, r4, #0\n\ + mov r1, r12\n\ + and r0, r1\n\ + lsr r0, #1\n\ + add r2, r0\n\ + add r2, r7\n\ + add r2, r6\n\ + mov r1, #0x1\n\ + and r1, r4\n\ + lsl r1, #2\n\ + lsl r3, r1\n\ + mov r0, #0xF0\n\ + asr r0, r1\n\ + ldrb r1, [r2]\n\ + and r0, r1\n\ + orr r3, r0\n\ + strb r3, [r2]\n\ _0800519C:\n\ - lsr r5, #4\n\ - add r4, #0x1\n\ - cmp r4, r8\n\ - bcc _0800516A\n\ + lsr r5, #4\n\ + add r4, #0x1\n\ + cmp r4, r8\n\ + bcc _0800516A\n\ _080051A4:\n\ - mov r1, r10\n\ - ldr r2, [sp, #0x54]\n\ - cmp r1, r2\n\ - bcc _08005146\n\ + mov r1, r10\n\ + ldr r2, [sp, #0x54]\n\ + cmp r1, r2\n\ + bcc _08005146\n\ _080051AC:\n\ - ldr r1, [sp, #0x88]\n\ - ldr r3, =gUnknown_03002FD0\n\ - str r3, [sp, #0x5C]\n\ - ldr r0, [sp, #0x84]\n\ - mov r8, r0\n\ - ldr r2, [sp, #0x80]\n\ - add r2, r1, r2\n\ - str r2, [sp, #0x60]\n\ - ldr r3, [sp]\n\ - str r3, [sp, #0x64]\n\ - cmp r1, r2\n\ - bcs _0800522A\n\ + ldr r1, [sp, #0x88]\n\ + ldr r3, =gUnknown_03002FD0\n\ + str r3, [sp, #0x5C]\n\ + ldr r0, [sp, #0x84]\n\ + mov r8, r0\n\ + ldr r2, [sp, #0x80]\n\ + add r2, r1, r2\n\ + str r2, [sp, #0x60]\n\ + ldr r3, [sp]\n\ + str r3, [sp, #0x64]\n\ + cmp r1, r2\n\ + bcs _0800522A\n\ _080051C4:\n\ - ldr r0, [sp, #0x5C]\n\ - ldm r0!, {r5}\n\ - str r0, [sp, #0x5C]\n\ - ldr r4, [sp, #0x64]\n\ - add r2, r1, #0x1\n\ - mov r10, r2\n\ - cmp r4, r8\n\ - bcs _08005222\n\ - mov r3, #0x7\n\ - mov r12, r3\n\ - lsr r0, r1, #3\n\ - ldr r3, [sp, #0x4]\n\ - add r2, r0, #0\n\ - mul r2, r3\n\ - add r7, r2, #0\n\ - mov r0, r12\n\ - and r1, r0\n\ - lsl r6, r1, #2\n\ + ldr r0, [sp, #0x5C]\n\ + ldm r0!, {r5}\n\ + str r0, [sp, #0x5C]\n\ + ldr r4, [sp, #0x64]\n\ + add r2, r1, #0x1\n\ + mov r10, r2\n\ + cmp r4, r8\n\ + bcs _08005222\n\ + mov r3, #0x7\n\ + mov r12, r3\n\ + lsr r0, r1, #3\n\ + ldr r3, [sp, #0x4]\n\ + add r2, r0, #0\n\ + mul r2, r3\n\ + add r7, r2, #0\n\ + mov r0, r12\n\ + and r1, r0\n\ + lsl r6, r1, #2\n\ _080051E8:\n\ - add r3, r5, #0\n\ - mov r1, #0xF\n\ - and r3, r1\n\ - cmp r3, #0\n\ - beq _0800521A\n\ - lsr r2, r4, #3\n\ - lsl r2, #5\n\ - add r2, r9\n\ - add r0, r4, #0\n\ - mov r1, r12\n\ - and r0, r1\n\ - lsr r0, #1\n\ - add r2, r0\n\ - add r2, r7\n\ - add r2, r6\n\ - mov r1, #0x1\n\ - and r1, r4\n\ - lsl r1, #2\n\ - lsl r3, r1\n\ - mov r0, #0xF0\n\ - asr r0, r1\n\ - ldrb r1, [r2]\n\ - and r0, r1\n\ - orr r3, r0\n\ - strb r3, [r2]\n\ + add r3, r5, #0\n\ + mov r1, #0xF\n\ + and r3, r1\n\ + cmp r3, #0\n\ + beq _0800521A\n\ + lsr r2, r4, #3\n\ + lsl r2, #5\n\ + add r2, r9\n\ + add r0, r4, #0\n\ + mov r1, r12\n\ + and r0, r1\n\ + lsr r0, #1\n\ + add r2, r0\n\ + add r2, r7\n\ + add r2, r6\n\ + mov r1, #0x1\n\ + and r1, r4\n\ + lsl r1, #2\n\ + lsl r3, r1\n\ + mov r0, #0xF0\n\ + asr r0, r1\n\ + ldrb r1, [r2]\n\ + and r0, r1\n\ + orr r3, r0\n\ + strb r3, [r2]\n\ _0800521A:\n\ - lsr r5, #4\n\ - add r4, #0x1\n\ - cmp r4, r8\n\ - bcc _080051E8\n\ + lsr r5, #4\n\ + add r4, #0x1\n\ + cmp r4, r8\n\ + bcc _080051E8\n\ _08005222:\n\ - mov r1, r10\n\ - ldr r2, [sp, #0x60]\n\ - cmp r1, r2\n\ - bcc _080051C4\n\ + mov r1, r10\n\ + ldr r2, [sp, #0x60]\n\ + cmp r1, r2\n\ + bcc _080051C4\n\ _0800522A:\n\ - ldr r4, [sp, #0x84]\n\ - ldr r1, [sp, #0x88]\n\ - ldr r3, =gUnknown_03002FF0\n\ - str r3, [sp, #0x68]\n\ - ldr r0, [sp, #0x7C]\n\ - add r0, r4\n\ - mov r8, r0\n\ - ldr r2, [sp, #0x80]\n\ - add r2, r1, r2\n\ - str r2, [sp, #0x6C]\n\ - str r4, [sp, #0x70]\n\ - cmp r1, r2\n\ - bcs _080052AA\n\ + ldr r4, [sp, #0x84]\n\ + ldr r1, [sp, #0x88]\n\ + ldr r3, =gUnknown_03002FF0\n\ + str r3, [sp, #0x68]\n\ + ldr r0, [sp, #0x7C]\n\ + add r0, r4\n\ + mov r8, r0\n\ + ldr r2, [sp, #0x80]\n\ + add r2, r1, r2\n\ + str r2, [sp, #0x6C]\n\ + str r4, [sp, #0x70]\n\ + cmp r1, r2\n\ + bcs _080052AA\n\ _08005244:\n\ - ldr r3, [sp, #0x68]\n\ - ldm r3!, {r5}\n\ - str r3, [sp, #0x68]\n\ - ldr r4, [sp, #0x70]\n\ - add r0, r1, #0x1\n\ - mov r10, r0\n\ - cmp r4, r8\n\ - bcs _080052A2\n\ - mov r2, #0x7\n\ - mov r12, r2\n\ - lsr r0, r1, #3\n\ - ldr r2, [sp, #0x4]\n\ - add r3, r0, #0\n\ - mul r3, r2\n\ - add r7, r3, #0\n\ - mov r3, r12\n\ - and r1, r3\n\ - lsl r6, r1, #2\n\ + ldr r3, [sp, #0x68]\n\ + ldm r3!, {r5}\n\ + str r3, [sp, #0x68]\n\ + ldr r4, [sp, #0x70]\n\ + add r0, r1, #0x1\n\ + mov r10, r0\n\ + cmp r4, r8\n\ + bcs _080052A2\n\ + mov r2, #0x7\n\ + mov r12, r2\n\ + lsr r0, r1, #3\n\ + ldr r2, [sp, #0x4]\n\ + add r3, r0, #0\n\ + mul r3, r2\n\ + add r7, r3, #0\n\ + mov r3, r12\n\ + and r1, r3\n\ + lsl r6, r1, #2\n\ _08005268:\n\ - add r3, r5, #0\n\ - mov r0, #0xF\n\ - and r3, r0\n\ - cmp r3, #0\n\ - beq _0800529A\n\ - lsr r2, r4, #3\n\ - lsl r2, #5\n\ - add r2, r9\n\ - add r0, r4, #0\n\ - mov r1, r12\n\ - and r0, r1\n\ - lsr r0, #1\n\ - add r2, r0\n\ - add r2, r7\n\ - add r2, r6\n\ - mov r1, #0x1\n\ - and r1, r4\n\ - lsl r1, #2\n\ - lsl r3, r1\n\ - mov r0, #0xF0\n\ - asr r0, r1\n\ - ldrb r1, [r2]\n\ - and r0, r1\n\ - orr r3, r0\n\ - strb r3, [r2]\n\ + add r3, r5, #0\n\ + mov r0, #0xF\n\ + and r3, r0\n\ + cmp r3, #0\n\ + beq _0800529A\n\ + lsr r2, r4, #3\n\ + lsl r2, #5\n\ + add r2, r9\n\ + add r0, r4, #0\n\ + mov r1, r12\n\ + and r0, r1\n\ + lsr r0, #1\n\ + add r2, r0\n\ + add r2, r7\n\ + add r2, r6\n\ + mov r1, #0x1\n\ + and r1, r4\n\ + lsl r1, #2\n\ + lsl r3, r1\n\ + mov r0, #0xF0\n\ + asr r0, r1\n\ + ldrb r1, [r2]\n\ + and r0, r1\n\ + orr r3, r0\n\ + strb r3, [r2]\n\ _0800529A:\n\ - lsr r5, #4\n\ - add r4, #0x1\n\ - cmp r4, r8\n\ - bcc _08005268\n\ + lsr r5, #4\n\ + add r4, #0x1\n\ + cmp r4, r8\n\ + bcc _08005268\n\ _080052A2:\n\ - mov r1, r10\n\ - ldr r2, [sp, #0x6C]\n\ - cmp r1, r2\n\ - bcc _08005244\n\ + mov r1, r10\n\ + ldr r2, [sp, #0x6C]\n\ + cmp r1, r2\n\ + bcc _08005244\n\ _080052AA:\n\ - add sp, #0x8C\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool"); + add sp, #0x8C\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool"); } void ClearTextSpan(struct TextPrinter *textPrinter, u32 width) @@ -2046,733 +2051,1028 @@ void DrawDownArrow(u8 windowId, u16 x, u16 y, u8 bgColor, bool8 drawArrow, u8 *c } } } +#ifdef NONMATCHING +u16 RenderText(struct TextPrinter *textPrinter) +{ + struct TextPrinterSubStruct *r4 = &textPrinter->sub_union.sub; + u16 currChar; + s32 width; + switch (textPrinter->state) // _080057C4 + { + case 0: // _080057F0 + if ((gMain.heldKeys & (A_BUTTON | B_BUTTON)) && r4->font_type_upper) + textPrinter->delayCounter = 0; + + if (textPrinter->delayCounter && textPrinter->text_speed) //_0800580A + { + textPrinter->delayCounter--; + if (gTextFlags.flag_0 && (gMain.newKeys & (A_BUTTON | B_BUTTON))) + { + r4->font_type_upper = 1; + textPrinter->delayCounter = 0; + } + return 3; + } + + if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED) && gTextFlags.flag_2) + textPrinter->delayCounter = 3; + else + textPrinter->delayCounter = textPrinter->text_speed; + + currChar = *textPrinter->subPrinter.current_text_offset; + textPrinter->subPrinter.current_text_offset++; + + switch (currChar) //_0800588A + { + case 0xF8+6: //_080058B8 + textPrinter->subPrinter.currentX = textPrinter->subPrinter.x; + textPrinter->subPrinter.currentY += (gFonts[textPrinter->subPrinter.fontId].maxLetterHeight + textPrinter->subPrinter.lineSpacing); + return 2; + case 0xF8+5: //_080058DC + textPrinter->subPrinter.current_text_offset++; + return 2; + case 0xF8+4: //_080058E0 + currChar = *textPrinter->subPrinter.current_text_offset; + textPrinter->subPrinter.current_text_offset++; + switch (currChar) // _080058F0 + { + case 1: // _08005960 + textPrinter->subPrinter.fontColor_h = *textPrinter->subPrinter.current_text_offset; + textPrinter->subPrinter.current_text_offset++; + GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fontColor_h, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor); + return 2; + case 2: // _08005982 + textPrinter->subPrinter.bgColor = *textPrinter->subPrinter.current_text_offset; + textPrinter->subPrinter.current_text_offset++; + GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fontColor_h, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor); + return 2; + case 3: // _080059A6 + textPrinter->subPrinter.shadowColor = *textPrinter->subPrinter.current_text_offset; + textPrinter->subPrinter.current_text_offset++; + GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fontColor_h, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor); + return 2; + case 4: // _080059C0 + textPrinter->subPrinter.fontColor_h = *textPrinter->subPrinter.current_text_offset; + textPrinter->subPrinter.current_text_offset++; + textPrinter->subPrinter.bgColor = *textPrinter->subPrinter.current_text_offset; + textPrinter->subPrinter.current_text_offset++; + textPrinter->subPrinter.shadowColor = *textPrinter->subPrinter.current_text_offset; + textPrinter->subPrinter.current_text_offset++; + GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fontColor_h, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor); + return 2; + case 5: // _08005A0E + textPrinter->subPrinter.current_text_offset++; + return 2; + case 6: //_08005A12 + r4->font_type = *textPrinter->subPrinter.current_text_offset; + textPrinter->subPrinter.current_text_offset++; + return 2; + case 7: // _08005A0A + return 2; + case 8: // _08005A2A + textPrinter->delayCounter = *textPrinter->subPrinter.current_text_offset; + textPrinter->subPrinter.current_text_offset++; + textPrinter->state = 6; + return 2; + case 9: // _08005A3A + textPrinter->state = 1; + if (gTextFlags.flag_2) + r4->frames_visible_counter = 0; + return 3; + case 10: // _08005A58 + textPrinter->state = 5; + return 3; + case 11: // _08005A5C + currChar = *textPrinter->subPrinter.current_text_offset; + textPrinter->subPrinter.current_text_offset++; + currChar |= *textPrinter->subPrinter.current_text_offset << 8; + textPrinter->subPrinter.current_text_offset++; + PlayBGM(currChar); + return 2; + case 16: // _08005A76 + currChar = *textPrinter->subPrinter.current_text_offset; + textPrinter->subPrinter.current_text_offset++; + currChar |= (*textPrinter->subPrinter.current_text_offset << 8); + textPrinter->subPrinter.current_text_offset++; + PlaySE(currChar); + return 2; + case 13: // _08005A90 + textPrinter->subPrinter.currentX = textPrinter->subPrinter.x + *textPrinter->subPrinter.current_text_offset; + textPrinter->subPrinter.current_text_offset++; + return 2; + case 14: // _08005A98 + textPrinter->subPrinter.currentY = textPrinter->subPrinter.y + *textPrinter->subPrinter.current_text_offset; + textPrinter->subPrinter.current_text_offset++; + return 2; + case 15: // _08005AA4 + FillWindowPixelBuffer(textPrinter->subPrinter.windowId, textPrinter->subPrinter.bgColor | textPrinter->subPrinter.bgColor << 4); + textPrinter->subPrinter.currentX = textPrinter->subPrinter.x; + textPrinter->subPrinter.currentY = textPrinter->subPrinter.y; + return 2; + case 23: // _08005ABE + m4aMPlayStop(&gMPlayInfo_BGM); + return 2; + case 24: // _08005ACC + m4aMPlayContinue(&gMPlayInfo_BGM); + return 2; + case 17: // _08005AD8 + width = *textPrinter->subPrinter.current_text_offset; + textPrinter->subPrinter.current_text_offset++; + if (width > 0) + { + ClearTextSpan(textPrinter, width); + textPrinter->subPrinter.currentX += width; + return 0; + } + return 2; + case 18: // _08005AF2 + textPrinter->subPrinter.currentX = *textPrinter->subPrinter.current_text_offset + textPrinter->subPrinter.x; + textPrinter->subPrinter.current_text_offset++; + return 2; + case 19: // _08005B02 + { + s32 widthHelper = *textPrinter->subPrinter.current_text_offset; + widthHelper += textPrinter->subPrinter.x; + textPrinter->subPrinter.current_text_offset++; + width = widthHelper - textPrinter->subPrinter.currentX; + if (width > 0) + { + ClearTextSpan(textPrinter, width); + textPrinter->subPrinter.currentX += width; + return 0; + } + } + return 2; + case 20: // _08005B26 + textPrinter->minLetterSpacing = *textPrinter->subPrinter.current_text_offset++; + return 2; + case 21: // _08005B36 + textPrinter->japanese = 1; + return 2; + case 22: // _08005B3E + textPrinter->japanese = 0; + return 2; + case 12: // _08005B5A + currChar = *textPrinter->subPrinter.current_text_offset | 0x100; + textPrinter->subPrinter.current_text_offset++; + break; + } + break; + + case 0xF8+3: // _08005B48 + textPrinter->state = 2; + TextPrinterInitDownArrowCounters(textPrinter); + return 3; + case 0xF8+2: // _08005B4C + textPrinter->state = 3; + TextPrinterInitDownArrowCounters(textPrinter); + return 3; + case 0xF8+1: // _08005B5A + currChar = *textPrinter->subPrinter.current_text_offset | 0x100; + textPrinter->subPrinter.current_text_offset++; + break; + case 0xF8+0: // _08005B6C + currChar = *textPrinter->subPrinter.current_text_offset; + textPrinter->subPrinter.current_text_offset++; + gUnknown_03002F90[0x80] = DrawKeypadIcon(textPrinter->subPrinter.windowId, currChar, textPrinter->subPrinter.currentX, textPrinter->subPrinter.currentY); + textPrinter->subPrinter.currentX += gUnknown_03002F90[0x80] + textPrinter->subPrinter.letterSpacing; + return 0; + case 0xF8+7: // _08005D6C + return 1; + } + + switch (r4->font_type) // _08005B90 + { + case 0: // _08005BCC + DecompressGlyphFont0(currChar, textPrinter->japanese); + break; + case 1: // _08005BDA + DecompressGlyphFont1(currChar, textPrinter->japanese); + break; + case 2: + case 3: + case 4: + case 5: // _08005BE8 + DecompressGlyphFont2(currChar, textPrinter->japanese); + break; + case 7: // _08005BF6 + DecompressGlyphFont7(currChar, textPrinter->japanese); + break; + case 8: // _08005C04 + DecompressGlyphFont8(currChar, textPrinter->japanese); + break; + case 6: // _08005C10 + break; + } + + CopyGlyphToWindow(textPrinter); // _08005C10 + + if (textPrinter->minLetterSpacing) + { + textPrinter->subPrinter.currentX += gUnknown_03002F90[0x80]; + width = textPrinter->minLetterSpacing - gUnknown_03002F90[0x80]; + if (width > 0) + { + ClearTextSpan(textPrinter, width); + textPrinter->subPrinter.currentX += width; + } + } + else // _08005C48 + { + if (textPrinter->japanese) + textPrinter->subPrinter.currentX += (gUnknown_03002F90[0x80] + textPrinter->subPrinter.letterSpacing); + else + textPrinter->subPrinter.currentX += gUnknown_03002F90[0x80]; + } + + return 0; + case 1: // _08005C78 + if (TextPrinterWait(textPrinter)) + textPrinter->state = 0; + return 3; + case 2: // _08005C8C + if (TextPrinterWaitWithDownArrow(textPrinter)) + { + FillWindowPixelBuffer(textPrinter->subPrinter.windowId, (textPrinter->subPrinter.bgColor << 4) | textPrinter->subPrinter.bgColor); + textPrinter->subPrinter.currentX = textPrinter->subPrinter.x; + textPrinter->subPrinter.currentY = textPrinter->subPrinter.y; + textPrinter->state = 0; + } + return 3; + case 3: // _08005CB8 + if (TextPrinterWaitWithDownArrow(textPrinter)) + { + TextPrinterClearDownArrow(textPrinter); + textPrinter->scrollDistance = gFonts[textPrinter->subPrinter.fontId].maxLetterHeight + textPrinter->subPrinter.lineSpacing; + textPrinter->subPrinter.currentX = textPrinter->subPrinter.x; + textPrinter->state = 4; + } + return 3; + case 4: // _08005CF0 + if (textPrinter->scrollDistance) + { + int scrollSpeed = sub_8197964(); + int speed = gWindowVerticalScrollSpeeds[scrollSpeed]; + if (textPrinter->scrollDistance < speed) + { + ScrollWindow(textPrinter->subPrinter.windowId, 0, textPrinter->scrollDistance, textPrinter->subPrinter.bgColor << 4 | textPrinter->subPrinter.bgColor); + textPrinter->scrollDistance = 0; + } + else + { + ScrollWindow(textPrinter->subPrinter.windowId, 0, speed, textPrinter->subPrinter.bgColor << 4 | textPrinter->subPrinter.bgColor); + textPrinter->scrollDistance -= speed; + } + CopyWindowToVram(textPrinter->subPrinter.windowId, 2); + } + else + { + textPrinter->state = 0; + } + return 3; + case 5: // _08005D48 + if (!IsSEPlaying()) + textPrinter->state = 0; + return 3; + case 6: // _08005D5A + if (textPrinter->delayCounter != 0) + textPrinter->delayCounter--; + else + textPrinter->state = 0; + return 3; + } + + return 1; +} +#else __attribute__((naked)) -u16 RenderText(struct TextPrinter *textPrinter) // 80057B4 +u16 RenderText(struct TextPrinter *textPrinter) { asm("push {r4-r6,lr}\n\ - add r6, r0, #0\n\ - add r4, r6, #0\n\ - add r4, #0x14\n\ - ldrb r0, [r6, #0x1C]\n\ - cmp r0, #0x6\n\ - bls _080057C4\n\ - b _08005D6C\n\ + add r6, r0, #0\n\ + add r4, r6, #0\n\ + add r4, #0x14\n\ + ldrb r0, [r6, #0x1C]\n\ + cmp r0, #0x6\n\ + bls _080057C4\n\ + b _08005D6C\n\ _080057C4:\n\ - lsl r0, #2\n\ - ldr r1, =_080057D4\n\ - add r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .pool\n\ - .align 2, 0\n\ + lsl r0, #2\n\ + ldr r1, =_080057D4\n\ + add r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ + .pool\n\ + .align 2, 0\n\ _080057D4:\n\ - .4byte _080057F0\n\ - .4byte _08005C78\n\ - .4byte _08005C8C\n\ - .4byte _08005CB8\n\ - .4byte _08005CF0\n\ - .4byte _08005D48\n\ - .4byte _08005D5A\n\ + .4byte _080057F0\n\ + .4byte _08005C78\n\ + .4byte _08005C8C\n\ + .4byte _08005CB8\n\ + .4byte _08005CF0\n\ + .4byte _08005D48\n\ + .4byte _08005D5A\n\ _080057F0:\n\ - ldr r2, =gMain\n\ - ldrh r1, [r2, #0x2C]\n\ - mov r0, #0x3\n\ - and r0, r1\n\ - cmp r0, #0\n\ - beq _0800580A\n\ - ldrb r1, [r4]\n\ - mov r0, #0x10\n\ - and r0, r1\n\ - cmp r0, #0\n\ - beq _0800580A\n\ - mov r0, #0\n\ - strb r0, [r6, #0x1E]\n\ + ldr r2, =gMain\n\ + ldrh r1, [r2, #0x2C]\n\ + mov r0, #0x3\n\ + and r0, r1\n\ + cmp r0, #0\n\ + beq _0800580A\n\ + ldrb r1, [r4]\n\ + mov r0, #0x10\n\ + and r0, r1\n\ + cmp r0, #0\n\ + beq _0800580A\n\ + mov r0, #0\n\ + strb r0, [r6, #0x1E]\n\ _0800580A:\n\ - ldrb r1, [r6, #0x1E]\n\ - cmp r1, #0\n\ - beq _0800584C\n\ - ldrb r0, [r6, #0x1D]\n\ - cmp r0, #0\n\ - beq _0800584C\n\ - sub r0, r1, #0x1\n\ - strb r0, [r6, #0x1E]\n\ - ldr r0, =gTextFlags\n\ - ldrb r1, [r0]\n\ - mov r0, #0x1\n\ - and r0, r1\n\ - cmp r0, #0\n\ - bne _08005828\n\ - b _08005B56\n\ + ldrb r1, [r6, #0x1E]\n\ + cmp r1, #0\n\ + beq _0800584C\n\ + ldrb r0, [r6, #0x1D]\n\ + cmp r0, #0\n\ + beq _0800584C\n\ + sub r0, r1, #0x1\n\ + strb r0, [r6, #0x1E]\n\ + ldr r0, =gTextFlags\n\ + ldrb r1, [r0]\n\ + mov r0, #0x1\n\ + and r0, r1\n\ + cmp r0, #0\n\ + bne _08005828\n\ + b _08005B56\n\ _08005828:\n\ - ldrh r1, [r2, #0x2E]\n\ - mov r0, #0x3\n\ - and r0, r1\n\ - cmp r0, #0\n\ - bne _08005834\n\ - b _08005B56\n\ + ldrh r1, [r2, #0x2E]\n\ + mov r0, #0x3\n\ + and r0, r1\n\ + cmp r0, #0\n\ + bne _08005834\n\ + b _08005B56\n\ _08005834:\n\ - ldrb r0, [r4]\n\ - mov r1, #0x10\n\ - orr r0, r1\n\ - strb r0, [r4]\n\ - mov r0, #0\n\ - strb r0, [r6, #0x1E]\n\ - b _08005B56\n\ - .pool\n\ + ldrb r0, [r4]\n\ + mov r1, #0x10\n\ + orr r0, r1\n\ + strb r0, [r4]\n\ + mov r0, #0\n\ + strb r0, [r6, #0x1E]\n\ + b _08005B56\n\ + .pool\n\ _0800584C:\n\ - ldr r0, =gBattleTypeFlags\n\ - ldr r0, [r0]\n\ - mov r1, #0x80\n\ - lsl r1, #17\n\ - and r0, r1\n\ - cmp r0, #0\n\ - bne _08005874\n\ - ldr r0, =gTextFlags\n\ - ldrb r1, [r0]\n\ - mov r0, #0x4\n\ - and r0, r1\n\ - cmp r0, #0\n\ - beq _08005874\n\ - mov r0, #0x3\n\ - b _08005876\n\ - .pool\n\ + ldr r0, =gBattleTypeFlags\n\ + ldr r0, [r0]\n\ + mov r1, #0x80\n\ + lsl r1, #17\n\ + and r0, r1\n\ + cmp r0, #0\n\ + bne _08005874\n\ + ldr r0, =gTextFlags\n\ + ldrb r1, [r0]\n\ + mov r0, #0x4\n\ + and r0, r1\n\ + cmp r0, #0\n\ + beq _08005874\n\ + mov r0, #0x3\n\ + b _08005876\n\ + .pool\n\ _08005874:\n\ - ldrb r0, [r6, #0x1D]\n\ + ldrb r0, [r6, #0x1D]\n\ _08005876:\n\ - strb r0, [r6, #0x1E]\n\ - ldr r0, [r6]\n\ - ldrb r3, [r0]\n\ - add r0, #0x1\n\ - str r0, [r6]\n\ - add r0, r3, #0\n\ - sub r0, #0xF8\n\ - cmp r0, #0x7\n\ - bls _0800588A\n\ - b _08005B90\n\ + strb r0, [r6, #0x1E]\n\ + ldr r0, [r6]\n\ + ldrb r3, [r0]\n\ + add r0, #0x1\n\ + str r0, [r6]\n\ + add r0, r3, #0\n\ + sub r0, #0xF8\n\ + cmp r0, #0x7\n\ + bls _0800588A\n\ + b _08005B90\n\ _0800588A:\n\ - lsl r0, #2\n\ - ldr r1, =_08005898\n\ - add r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .pool\n\ - .align 2, 0\n\ + lsl r0, #2\n\ + ldr r1, =_08005898\n\ + add r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ + .pool\n\ + .align 2, 0\n\ _08005898:\n\ - .4byte _08005B6C\n\ - .4byte _08005B5A\n\ - .4byte _08005B4C\n\ - .4byte _08005B48\n\ - .4byte _080058E0\n\ - .4byte _080058DC\n\ - .4byte _080058B8\n\ - .4byte _08005D6C\n\ + .4byte _08005B6C\n\ + .4byte _08005B5A\n\ + .4byte _08005B4C\n\ + .4byte _08005B48\n\ + .4byte _080058E0\n\ + .4byte _080058DC\n\ + .4byte _080058B8\n\ + .4byte _08005D6C\n\ _080058B8:\n\ - ldrb r0, [r6, #0x6]\n\ - strb r0, [r6, #0x8]\n\ - ldrb r1, [r6, #0x5]\n\ - ldr r0, =gFonts\n\ - ldr r2, [r0]\n\ - lsl r0, r1, #1\n\ - add r0, r1\n\ - lsl r0, #2\n\ - add r0, r2\n\ - ldrb r1, [r6, #0xB]\n\ - ldrb r0, [r0, #0x5]\n\ - add r1, r0\n\ - ldrb r0, [r6, #0x9]\n\ - add r0, r1\n\ - b _08005ABA\n\ - .pool\n\ + ldrb r0, [r6, #0x6]\n\ + strb r0, [r6, #0x8]\n\ + ldrb r1, [r6, #0x5]\n\ + ldr r0, =gFonts\n\ + ldr r2, [r0]\n\ + lsl r0, r1, #1\n\ + add r0, r1\n\ + lsl r0, #2\n\ + add r0, r2\n\ + ldrb r1, [r6, #0xB]\n\ + ldrb r0, [r0, #0x5]\n\ + add r1, r0\n\ + ldrb r0, [r6, #0x9]\n\ + add r0, r1\n\ + b _08005ABA\n\ + .pool\n\ _080058DC:\n\ - ldr r0, [r6]\n\ - b _08005B30\n\ + ldr r0, [r6]\n\ + b _08005B30\n\ _080058E0:\n\ - ldr r0, [r6]\n\ - ldrb r3, [r0]\n\ - add r0, #0x1\n\ - str r0, [r6]\n\ - sub r0, r3, #0x1\n\ - cmp r0, #0x17\n\ - bls _080058F0\n\ - b _08005B90\n\ + ldr r0, [r6]\n\ + ldrb r3, [r0]\n\ + add r0, #0x1\n\ + str r0, [r6]\n\ + sub r0, r3, #0x1\n\ + cmp r0, #0x17\n\ + bls _080058F0\n\ + b _08005B90\n\ _080058F0:\n\ - lsl r0, #2\n\ - ldr r1, =_08005900\n\ - add r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .pool\n\ - .align 2, 0\n\ + lsl r0, #2\n\ + ldr r1, =_08005900\n\ + add r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ + .pool\n\ + .align 2, 0\n\ _08005900:\n\ - .4byte _08005960\n\ - .4byte _08005982\n\ - .4byte _080059A6\n\ - .4byte _080059C0\n\ - .4byte _08005A0E\n\ - .4byte _08005A12\n\ - .4byte _08005A0A\n\ - .4byte _08005A2A\n\ - .4byte _08005A3A\n\ - .4byte _08005A58\n\ - .4byte _08005A5C\n\ - .4byte _08005B5A\n\ - .4byte _08005A90\n\ - .4byte _08005A98\n\ - .4byte _08005AA4\n\ - .4byte _08005A76\n\ - .4byte _08005AD8\n\ - .4byte _08005AF2\n\ - .4byte _08005B02\n\ - .4byte _08005B26\n\ - .4byte _08005B36\n\ - .4byte _08005B3E\n\ - .4byte _08005ABE\n\ - .4byte _08005ACC\n\ + .4byte _08005960 @0\n\ + .4byte _08005982 @1\n\ + .4byte _080059A6 @2\n\ + .4byte _080059C0 @3\n\ + .4byte _08005A0E @4\n\ + .4byte _08005A12 @5\n\ + .4byte _08005A0A @6\n\ + .4byte _08005A2A @7\n\ + .4byte _08005A3A @8\n\ + .4byte _08005A58 @9\n\ + .4byte _08005A5C @10\n\ + .4byte _08005B5A @11\n\ + .4byte _08005A90 @12\n\ + .4byte _08005A98 @13\n\ + .4byte _08005AA4 @14\n\ + .4byte _08005A76 @15\n\ + .4byte _08005AD8 @16\n\ + .4byte _08005AF2 @17\n\ + .4byte _08005B02 @18\n\ + .4byte _08005B26 @19\n\ + .4byte _08005B36 @20\n\ + .4byte _08005B3E @21\n\ + .4byte _08005ABE @22\n\ + .4byte _08005ACC @23\n\ _08005960:\n\ - ldr r2, [r6]\n\ - ldrb r1, [r2]\n\ - lsl r1, #4\n\ - ldrb r3, [r6, #0xC]\n\ - mov r0, #0xF\n\ - and r0, r3\n\ - orr r0, r1\n\ - strb r0, [r6, #0xC]\n\ - add r2, #0x1\n\ - str r2, [r6]\n\ - lsl r0, #24\n\ - lsr r0, #28\n\ - ldrb r2, [r6, #0xD]\n\ - lsl r1, r2, #28\n\ - lsr r1, #28\n\ - lsr r2, #4\n\ - b _08005A06\n\ + ldr r2, [r6]\n\ + ldrb r1, [r2]\n\ + lsl r1, #4\n\ + ldrb r3, [r6, #0xC]\n\ + mov r0, #0xF\n\ + and r0, r3\n\ + orr r0, r1\n\ + strb r0, [r6, #0xC]\n\ + add r2, #0x1\n\ + str r2, [r6]\n\ + lsl r0, #24\n\ + lsr r0, #28\n\ + ldrb r2, [r6, #0xD]\n\ + lsl r1, r2, #28\n\ + lsr r1, #28\n\ + lsr r2, #4\n\ + b _08005A06\n\ _08005982:\n\ - ldr r1, [r6]\n\ - ldrb r2, [r1]\n\ - mov r0, #0xF\n\ - and r0, r2\n\ - ldrb r3, [r6, #0xD]\n\ - mov r2, #0x10\n\ - neg r2, r2\n\ - and r2, r3\n\ - orr r2, r0\n\ - strb r2, [r6, #0xD]\n\ - add r1, #0x1\n\ - str r1, [r6]\n\ - ldrb r0, [r6, #0xC]\n\ - lsr r0, #4\n\ - lsl r1, r2, #28\n\ - lsr r1, #28\n\ - lsr r2, #4\n\ - b _08005A06\n\ + ldr r1, [r6]\n\ + ldrb r2, [r1]\n\ + mov r0, #0xF\n\ + and r0, r2\n\ + ldrb r3, [r6, #0xD]\n\ + mov r2, #0x10\n\ + neg r2, r2\n\ + and r2, r3\n\ + orr r2, r0\n\ + strb r2, [r6, #0xD]\n\ + add r1, #0x1\n\ + str r1, [r6]\n\ + ldrb r0, [r6, #0xC]\n\ + lsr r0, #4\n\ + lsl r1, r2, #28\n\ + lsr r1, #28\n\ + lsr r2, #4\n\ + b _08005A06\n\ _080059A6:\n\ - ldr r1, [r6]\n\ - ldrb r0, [r1]\n\ - lsl r0, #4\n\ - ldrb r3, [r6, #0xD]\n\ - mov r2, #0xF\n\ - and r2, r3\n\ - orr r2, r0\n\ - strb r2, [r6, #0xD]\n\ - add r1, #0x1\n\ - str r1, [r6]\n\ - ldrb r0, [r6, #0xC]\n\ - lsr r0, #4\n\ - b _080059FE\n\ + ldr r1, [r6]\n\ + ldrb r0, [r1]\n\ + lsl r0, #4\n\ + ldrb r3, [r6, #0xD]\n\ + mov r2, #0xF\n\ + and r2, r3\n\ + orr r2, r0\n\ + strb r2, [r6, #0xD]\n\ + add r1, #0x1\n\ + str r1, [r6]\n\ + ldrb r0, [r6, #0xC]\n\ + lsr r0, #4\n\ + b _080059FE\n\ _080059C0:\n\ - ldr r3, [r6]\n\ - ldrb r1, [r3]\n\ - lsl r1, #4\n\ - ldrb r4, [r6, #0xC]\n\ - mov r2, #0xF\n\ - add r0, r2, #0\n\ - and r0, r4\n\ - orr r0, r1\n\ - strb r0, [r6, #0xC]\n\ - add r5, r3, #0x1\n\ - str r5, [r6]\n\ - ldrb r3, [r3, #0x1]\n\ - add r1, r2, #0\n\ - and r1, r3\n\ - ldrb r4, [r6, #0xD]\n\ - mov r3, #0x10\n\ - neg r3, r3\n\ - and r3, r4\n\ - orr r3, r1\n\ - strb r3, [r6, #0xD]\n\ - add r4, r5, #0x1\n\ - str r4, [r6]\n\ - ldrb r1, [r5, #0x1]\n\ - lsl r1, #4\n\ - and r2, r3\n\ - orr r2, r1\n\ - strb r2, [r6, #0xD]\n\ - add r4, #0x1\n\ - str r4, [r6]\n\ - lsl r0, #24\n\ - lsr r0, #28\n\ + ldr r3, [r6]\n\ + ldrb r1, [r3]\n\ + lsl r1, #4\n\ + ldrb r4, [r6, #0xC]\n\ + mov r2, #0xF\n\ + add r0, r2, #0\n\ + and r0, r4\n\ + orr r0, r1\n\ + strb r0, [r6, #0xC]\n\ + add r5, r3, #0x1\n\ + str r5, [r6]\n\ + ldrb r3, [r3, #0x1]\n\ + add r1, r2, #0\n\ + and r1, r3\n\ + ldrb r4, [r6, #0xD]\n\ + mov r3, #0x10\n\ + neg r3, r3\n\ + and r3, r4\n\ + orr r3, r1\n\ + strb r3, [r6, #0xD]\n\ + add r4, r5, #0x1\n\ + str r4, [r6]\n\ + ldrb r1, [r5, #0x1]\n\ + lsl r1, #4\n\ + and r2, r3\n\ + orr r2, r1\n\ + strb r2, [r6, #0xD]\n\ + add r4, #0x1\n\ + str r4, [r6]\n\ + lsl r0, #24\n\ + lsr r0, #28\n\ _080059FE:\n\ - lsl r1, r2, #28\n\ - lsr r1, #28\n\ - lsl r2, #24\n\ - lsr r2, #28\n\ + lsl r1, r2, #28\n\ + lsr r1, #28\n\ + lsl r2, #24\n\ + lsr r2, #28\n\ _08005A06:\n\ - bl GenerateFontHalfRowLookupTable\n\ + bl GenerateFontHalfRowLookupTable\n\ _08005A0A:\n\ - mov r0, #0x2\n\ - b _08005D6E\n\ + mov r0, #0x2\n\ + b _08005D6E\n\ _08005A0E:\n\ - ldr r0, [r6]\n\ - b _08005B30\n\ + ldr r0, [r6]\n\ + b _08005B30\n\ _08005A12:\n\ - ldr r0, [r6]\n\ - ldrb r0, [r0]\n\ - mov r1, #0xF\n\ - and r1, r0\n\ - ldrb r2, [r4]\n\ - mov r0, #0x10\n\ - neg r0, r0\n\ - and r0, r2\n\ - orr r0, r1\n\ - strb r0, [r4]\n\ - ldr r0, [r6]\n\ - b _08005B30\n\ + ldr r0, [r6]\n\ + ldrb r0, [r0]\n\ + mov r1, #0xF\n\ + and r1, r0\n\ + ldrb r2, [r4]\n\ + mov r0, #0x10\n\ + neg r0, r0\n\ + and r0, r2\n\ + orr r0, r1\n\ + strb r0, [r4]\n\ + ldr r0, [r6]\n\ + b _08005B30\n\ _08005A2A:\n\ - ldr r0, [r6]\n\ - ldrb r1, [r0]\n\ - strb r1, [r6, #0x1E]\n\ - add r0, #0x1\n\ - str r0, [r6]\n\ - mov r0, #0x6\n\ - strb r0, [r6, #0x1C]\n\ - b _08005A0A\n\ + ldr r0, [r6]\n\ + ldrb r1, [r0]\n\ + strb r1, [r6, #0x1E]\n\ + add r0, #0x1\n\ + str r0, [r6]\n\ + mov r0, #0x6\n\ + strb r0, [r6, #0x1C]\n\ + b _08005A0A\n\ _08005A3A:\n\ - mov r0, #0x1\n\ - strb r0, [r6, #0x1C]\n\ - ldr r0, =gTextFlags\n\ - ldrb r1, [r0]\n\ - mov r0, #0x4\n\ - and r0, r1\n\ - cmp r0, #0\n\ - bne _08005A4C\n\ - b _08005B56\n\ + mov r0, #0x1\n\ + strb r0, [r6, #0x1C]\n\ + ldr r0, =gTextFlags\n\ + ldrb r1, [r0]\n\ + mov r0, #0x4\n\ + and r0, r1\n\ + cmp r0, #0\n\ + bne _08005A4C\n\ + b _08005B56\n\ _08005A4C:\n\ - mov r0, #0\n\ - strb r0, [r4, #0x2]\n\ - b _08005B56\n\ - .pool\n\ + mov r0, #0\n\ + strb r0, [r4, #0x2]\n\ + b _08005B56\n\ + .pool\n\ _08005A58:\n\ - mov r0, #0x5\n\ - b _08005D56\n\ + mov r0, #0x5\n\ + b _08005D56\n\ _08005A5C:\n\ - ldr r0, [r6]\n\ - ldrb r3, [r0]\n\ - add r1, r0, #0x1\n\ - str r1, [r6]\n\ - ldrb r0, [r0, #0x1]\n\ - lsl r0, #8\n\ - orr r3, r0\n\ - add r1, #0x1\n\ - str r1, [r6]\n\ - add r0, r3, #0\n\ - bl PlayBGM\n\ - b _08005A0A\n\ + ldr r0, [r6]\n\ + ldrb r3, [r0]\n\ + add r1, r0, #0x1\n\ + str r1, [r6]\n\ + ldrb r0, [r0, #0x1]\n\ + lsl r0, #8\n\ + orr r3, r0\n\ + add r1, #0x1\n\ + str r1, [r6]\n\ + add r0, r3, #0\n\ + bl PlayBGM\n\ + b _08005A0A\n\ _08005A76:\n\ - ldr r0, [r6]\n\ - ldrb r3, [r0]\n\ - add r1, r0, #0x1\n\ - str r1, [r6]\n\ - ldrb r0, [r0, #0x1]\n\ - lsl r0, #8\n\ - orr r3, r0\n\ - add r1, #0x1\n\ - str r1, [r6]\n\ - add r0, r3, #0\n\ - bl PlaySE\n\ - b _08005A0A\n\ + ldr r0, [r6]\n\ + ldrb r3, [r0]\n\ + add r1, r0, #0x1\n\ + str r1, [r6]\n\ + ldrb r0, [r0, #0x1]\n\ + lsl r0, #8\n\ + orr r3, r0\n\ + add r1, #0x1\n\ + str r1, [r6]\n\ + add r0, r3, #0\n\ + bl PlaySE\n\ + b _08005A0A\n\ _08005A90:\n\ - ldr r1, [r6]\n\ - ldrb r0, [r1]\n\ - ldrb r3, [r6, #0x6]\n\ - b _08005AF8\n\ + ldr r1, [r6]\n\ + ldrb r0, [r1]\n\ + ldrb r3, [r6, #0x6]\n\ + b _08005AF8\n\ _08005A98:\n\ - ldr r1, [r6]\n\ - ldrb r0, [r1]\n\ - ldrb r2, [r6, #0x7]\n\ - add r0, r2\n\ - strb r0, [r6, #0x9]\n\ - b _08005AFC\n\ + ldr r1, [r6]\n\ + ldrb r0, [r1]\n\ + ldrb r2, [r6, #0x7]\n\ + add r0, r2\n\ + strb r0, [r6, #0x9]\n\ + b _08005AFC\n\ _08005AA4:\n\ - ldrb r0, [r6, #0x4]\n\ - ldrb r2, [r6, #0xD]\n\ - lsl r2, #28\n\ - lsr r1, r2, #4\n\ - orr r1, r2\n\ - lsr r1, #24\n\ - bl FillWindowPixelBuffer\n\ - ldrb r0, [r6, #0x6]\n\ - strb r0, [r6, #0x8]\n\ - ldrb r0, [r6, #0x7]\n\ + ldrb r0, [r6, #0x4]\n\ + ldrb r2, [r6, #0xD]\n\ + lsl r2, #28\n\ + lsr r1, r2, #4\n\ + orr r1, r2\n\ + lsr r1, #24\n\ + bl FillWindowPixelBuffer\n\ + ldrb r0, [r6, #0x6]\n\ + strb r0, [r6, #0x8]\n\ + ldrb r0, [r6, #0x7]\n\ _08005ABA:\n\ - strb r0, [r6, #0x9]\n\ - b _08005A0A\n\ + strb r0, [r6, #0x9]\n\ + b _08005A0A\n\ _08005ABE:\n\ - ldr r0, =gMPlay_BGM\n\ - bl m4aMPlayStop\n\ - b _08005A0A\n\ - .pool\n\ + ldr r0, =gMPlayInfo_BGM\n\ + bl m4aMPlayStop\n\ + b _08005A0A\n\ + .pool\n\ _08005ACC:\n\ - ldr r0, =gMPlay_BGM\n\ - bl m4aMPlayContinue\n\ - b _08005A0A\n\ - .pool\n\ + ldr r0, =gMPlayInfo_BGM\n\ + bl m4aMPlayContinue\n\ + b _08005A0A\n\ + .pool\n\ _08005AD8:\n\ - ldr r0, [r6]\n\ - ldrb r4, [r0]\n\ - add r0, #0x1\n\ - str r0, [r6]\n\ - cmp r4, #0\n\ - ble _08005A0A\n\ - add r0, r6, #0\n\ - add r1, r4, #0\n\ - bl ClearTextSpan\n\ - ldrb r0, [r6, #0x8]\n\ - add r0, r4\n\ - b _08005C6E\n\ + ldr r0, [r6]\n\ + ldrb r4, [r0]\n\ + add r0, #0x1\n\ + str r0, [r6]\n\ + cmp r4, #0\n\ + ble _08005A0A\n\ + add r0, r6, #0\n\ + add r1, r4, #0\n\ + bl ClearTextSpan\n\ + ldrb r0, [r6, #0x8]\n\ + add r0, r4\n\ + b _08005C6E\n\ _08005AF2:\n\ - ldr r1, [r6]\n\ - ldrb r0, [r6, #0x6]\n\ - ldrb r3, [r1]\n\ + ldr r1, [r6]\n\ + ldrb r0, [r6, #0x6]\n\ + ldrb r3, [r1]\n\ _08005AF8:\n\ - add r0, r3\n\ - strb r0, [r6, #0x8]\n\ + add r0, r3\n\ + strb r0, [r6, #0x8]\n\ _08005AFC:\n\ - add r1, #0x1\n\ - str r1, [r6]\n\ - b _08005A0A\n\ + add r1, #0x1\n\ + str r1, [r6]\n\ + b _08005A0A\n\ _08005B02:\n\ - ldr r0, [r6]\n\ - ldrb r2, [r0]\n\ - ldrb r1, [r6, #0x6]\n\ - add r2, r1\n\ - add r0, #0x1\n\ - str r0, [r6]\n\ - ldrb r0, [r6, #0x8]\n\ - sub r4, r2, r0\n\ - cmp r4, #0\n\ - bgt _08005B18\n\ - b _08005A0A\n\ + ldr r0, [r6]\n\ + ldrb r2, [r0]\n\ + ldrb r1, [r6, #0x6]\n\ + add r2, r1\n\ + add r0, #0x1\n\ + str r0, [r6]\n\ + ldrb r0, [r6, #0x8]\n\ + sub r4, r2, r0\n\ + cmp r4, #0\n\ + bgt _08005B18\n\ + b _08005A0A\n\ _08005B18:\n\ - add r0, r6, #0\n\ - add r1, r4, #0\n\ - bl ClearTextSpan\n\ - ldrb r0, [r6, #0x8]\n\ - add r0, r4\n\ - b _08005C6E\n\ + add r0, r6, #0\n\ + add r1, r4, #0\n\ + bl ClearTextSpan\n\ + ldrb r0, [r6, #0x8]\n\ + add r0, r4\n\ + b _08005C6E\n\ _08005B26:\n\ - ldr r0, [r6]\n\ - ldrb r2, [r0]\n\ - add r1, r6, #0\n\ - add r1, #0x20\n\ - strb r2, [r1]\n\ + ldr r0, [r6]\n\ + ldrb r2, [r0]\n\ + add r1, r6, #0\n\ + add r1, #0x20\n\ + strb r2, [r1]\n\ _08005B30:\n\ - add r0, #0x1\n\ - str r0, [r6]\n\ - b _08005A0A\n\ + add r0, #0x1\n\ + str r0, [r6]\n\ + b _08005A0A\n\ _08005B36:\n\ - add r1, r6, #0\n\ - add r1, #0x21\n\ - mov r0, #0x1\n\ - b _08005B44\n\ + add r1, r6, #0\n\ + add r1, #0x21\n\ + mov r0, #0x1\n\ + b _08005B44\n\ _08005B3E:\n\ - add r1, r6, #0\n\ - add r1, #0x21\n\ - mov r0, #0\n\ + add r1, r6, #0\n\ + add r1, #0x21\n\ + mov r0, #0\n\ _08005B44:\n\ - strb r0, [r1]\n\ - b _08005A0A\n\ + strb r0, [r1]\n\ + b _08005A0A\n\ _08005B48:\n\ - mov r0, #0x2\n\ - b _08005B4E\n\ + mov r0, #0x2\n\ + b _08005B4E\n\ _08005B4C:\n\ - mov r0, #0x3\n\ + mov r0, #0x3\n\ _08005B4E:\n\ - strb r0, [r6, #0x1C]\n\ - add r0, r6, #0\n\ - bl TextPrinterInitDownArrowCounters\n\ + strb r0, [r6, #0x1C]\n\ + add r0, r6, #0\n\ + bl TextPrinterInitDownArrowCounters\n\ _08005B56:\n\ - mov r0, #0x3\n\ - b _08005D6E\n\ + mov r0, #0x3\n\ + b _08005D6E\n\ _08005B5A:\n\ - ldr r0, [r6]\n\ - ldrb r3, [r0]\n\ - mov r2, #0x80\n\ - lsl r2, #1\n\ - add r1, r2, #0\n\ - orr r3, r1\n\ - add r0, #0x1\n\ - str r0, [r6]\n\ - b _08005B90\n\ + ldr r0, [r6]\n\ + ldrb r3, [r0]\n\ + mov r2, #0x80\n\ + lsl r2, #1\n\ + add r1, r2, #0\n\ + orr r3, r1\n\ + add r0, #0x1\n\ + str r0, [r6]\n\ + b _08005B90\n\ _08005B6C:\n\ - ldr r0, [r6]\n\ - ldrb r3, [r0]\n\ - add r0, #0x1\n\ - str r0, [r6]\n\ - ldrb r0, [r6, #0x4]\n\ - add r1, r3, #0\n\ - ldrb r2, [r6, #0x8]\n\ - ldrb r3, [r6, #0x9]\n\ - bl DrawKeypadIcon\n\ - ldr r1, =gUnknown_03002F90\n\ - add r1, #0x80\n\ - strb r0, [r1]\n\ - ldrb r3, [r6, #0xA]\n\ - add r0, r3\n\ - b _08005C6A\n\ - .pool\n\ + ldr r0, [r6]\n\ + ldrb r3, [r0]\n\ + add r0, #0x1\n\ + str r0, [r6]\n\ + ldrb r0, [r6, #0x4]\n\ + add r1, r3, #0\n\ + ldrb r2, [r6, #0x8]\n\ + ldrb r3, [r6, #0x9]\n\ + bl DrawKeypadIcon\n\ + ldr r1, =gUnknown_03002F90\n\ + add r1, #0x80\n\ + strb r0, [r1]\n\ + ldrb r3, [r6, #0xA]\n\ + add r0, r3\n\ + b _08005C6A\n\ + .pool\n\ _08005B90:\n\ - ldr r0, [r4]\n\ - lsl r0, #28\n\ - lsr r0, #28\n\ - cmp r0, #0x8\n\ - bhi _08005C10\n\ - lsl r0, #2\n\ - ldr r1, =_08005BA8\n\ - add r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .pool\n\ - .align 2, 0\n\ + ldr r0, [r4]\n\ + lsl r0, #28\n\ + lsr r0, #28\n\ + cmp r0, #0x8\n\ + bhi _08005C10\n\ + lsl r0, #2\n\ + ldr r1, =_08005BA8\n\ + add r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ + .pool\n\ + .align 2, 0\n\ _08005BA8:\n\ - .4byte _08005BCC\n\ - .4byte _08005BDA\n\ - .4byte _08005BE8\n\ - .4byte _08005BE8\n\ - .4byte _08005BE8\n\ - .4byte _08005BE8\n\ - .4byte _08005C10\n\ - .4byte _08005BF6\n\ - .4byte _08005C04\n\ + .4byte _08005BCC\n\ + .4byte _08005BDA\n\ + .4byte _08005BE8\n\ + .4byte _08005BE8\n\ + .4byte _08005BE8\n\ + .4byte _08005BE8\n\ + .4byte _08005C10\n\ + .4byte _08005BF6\n\ + .4byte _08005C04\n\ _08005BCC:\n\ - add r0, r6, #0\n\ - add r0, #0x21\n\ - ldrb r1, [r0]\n\ - add r0, r3, #0\n\ - bl DecompressGlyphFont0\n\ - b _08005C10\n\ + add r0, r6, #0\n\ + add r0, #0x21\n\ + ldrb r1, [r0]\n\ + add r0, r3, #0\n\ + bl DecompressGlyphFont0\n\ + b _08005C10\n\ _08005BDA:\n\ - add r0, r6, #0\n\ - add r0, #0x21\n\ - ldrb r1, [r0]\n\ - add r0, r3, #0\n\ - bl DecompressGlyphFont1\n\ - b _08005C10\n\ + add r0, r6, #0\n\ + add r0, #0x21\n\ + ldrb r1, [r0]\n\ + add r0, r3, #0\n\ + bl DecompressGlyphFont1\n\ + b _08005C10\n\ _08005BE8:\n\ - add r0, r6, #0\n\ - add r0, #0x21\n\ - ldrb r1, [r0]\n\ - add r0, r3, #0\n\ - bl DecompressGlyphFont2\n\ - b _08005C10\n\ + add r0, r6, #0\n\ + add r0, #0x21\n\ + ldrb r1, [r0]\n\ + add r0, r3, #0\n\ + bl DecompressGlyphFont2\n\ + b _08005C10\n\ _08005BF6:\n\ - add r0, r6, #0\n\ - add r0, #0x21\n\ - ldrb r1, [r0]\n\ - add r0, r3, #0\n\ - bl DecompressGlyphFont7\n\ - b _08005C10\n\ + add r0, r6, #0\n\ + add r0, #0x21\n\ + ldrb r1, [r0]\n\ + add r0, r3, #0\n\ + bl DecompressGlyphFont7\n\ + b _08005C10\n\ _08005C04:\n\ - add r0, r6, #0\n\ - add r0, #0x21\n\ - ldrb r1, [r0]\n\ - add r0, r3, #0\n\ - bl DecompressGlyphFont8\n\ + add r0, r6, #0\n\ + add r0, #0x21\n\ + ldrb r1, [r0]\n\ + add r0, r3, #0\n\ + bl DecompressGlyphFont8\n\ _08005C10:\n\ - add r0, r6, #0\n\ - bl CopyGlyphToWindow\n\ - add r2, r6, #0\n\ - add r2, #0x20\n\ - ldrb r0, [r2]\n\ - cmp r0, #0\n\ - beq _08005C48\n\ - ldr r1, =gUnknown_03002F90\n\ - add r1, #0x80\n\ - ldrb r0, [r1]\n\ - ldrb r3, [r6, #0x8]\n\ - add r0, r3\n\ - strb r0, [r6, #0x8]\n\ - ldrb r2, [r2]\n\ - ldrb r0, [r1]\n\ - sub r4, r2, r0\n\ - cmp r4, #0\n\ - ble _08005C70\n\ - add r0, r6, #0\n\ - add r1, r4, #0\n\ - bl ClearTextSpan\n\ - ldrb r0, [r6, #0x8]\n\ - add r0, r4\n\ - b _08005C6E\n\ - .pool\n\ + add r0, r6, #0\n\ + bl CopyGlyphToWindow\n\ + add r2, r6, #0\n\ + add r2, #0x20\n\ + ldrb r0, [r2]\n\ + cmp r0, #0\n\ + beq _08005C48\n\ + ldr r1, =gUnknown_03002F90\n\ + add r1, #0x80\n\ + ldrb r0, [r1]\n\ + ldrb r3, [r6, #0x8]\n\ + add r0, r3\n\ + strb r0, [r6, #0x8]\n\ + ldrb r2, [r2]\n\ + ldrb r0, [r1]\n\ + sub r4, r2, r0\n\ + cmp r4, #0\n\ + ble _08005C70\n\ + add r0, r6, #0\n\ + add r1, r4, #0\n\ + bl ClearTextSpan\n\ + ldrb r0, [r6, #0x8]\n\ + add r0, r4\n\ + b _08005C6E\n\ + .pool\n\ _08005C48:\n\ - add r0, r6, #0\n\ - add r0, #0x21\n\ - ldrb r0, [r0]\n\ - cmp r0, #0\n\ - beq _08005C64\n\ - ldr r0, =gUnknown_03002F90\n\ - add r0, #0x80\n\ - ldrb r1, [r6, #0xA]\n\ - ldrb r0, [r0]\n\ - add r1, r0\n\ - ldrb r0, [r6, #0x8]\n\ - b _08005C6C\n\ - .pool\n\ + add r0, r6, #0\n\ + add r0, #0x21\n\ + ldrb r0, [r0]\n\ + cmp r0, #0\n\ + beq _08005C64\n\ + ldr r0, =gUnknown_03002F90\n\ + add r0, #0x80\n\ + ldrb r1, [r6, #0xA]\n\ + ldrb r0, [r0]\n\ + add r1, r0\n\ + ldrb r0, [r6, #0x8]\n\ + b _08005C6C\n\ + .pool\n\ _08005C64:\n\ - ldr r0, =gUnknown_03002F90\n\ - add r0, #0x80\n\ - ldrb r0, [r0]\n\ + ldr r0, =gUnknown_03002F90\n\ + add r0, #0x80\n\ + ldrb r0, [r0]\n\ _08005C6A:\n\ - ldrb r1, [r6, #0x8]\n\ + ldrb r1, [r6, #0x8]\n\ _08005C6C:\n\ - add r0, r1\n\ + add r0, r1\n\ _08005C6E:\n\ - strb r0, [r6, #0x8]\n\ + strb r0, [r6, #0x8]\n\ _08005C70:\n\ - mov r0, #0\n\ - b _08005D6E\n\ - .pool\n\ + mov r0, #0\n\ + b _08005D6E\n\ + .pool\n\ _08005C78:\n\ - add r0, r6, #0\n\ - bl TextPrinterWait\n\ - lsl r0, #16\n\ - cmp r0, #0\n\ - bne _08005C86\n\ - b _08005B56\n\ + add r0, r6, #0\n\ + bl TextPrinterWait\n\ + lsl r0, #16\n\ + cmp r0, #0\n\ + bne _08005C86\n\ + b _08005B56\n\ _08005C86:\n\ - mov r0, #0\n\ - strb r0, [r6, #0x1C]\n\ - b _08005B56\n\ + mov r0, #0\n\ + strb r0, [r6, #0x1C]\n\ + b _08005B56\n\ _08005C8C:\n\ - add r0, r6, #0\n\ - bl TextPrinterWaitWithDownArrow\n\ - lsl r0, #16\n\ - cmp r0, #0\n\ - bne _08005C9A\n\ - b _08005B56\n\ + add r0, r6, #0\n\ + bl TextPrinterWaitWithDownArrow\n\ + lsl r0, #16\n\ + cmp r0, #0\n\ + bne _08005C9A\n\ + b _08005B56\n\ _08005C9A:\n\ - ldrb r0, [r6, #0x4]\n\ - ldrb r2, [r6, #0xD]\n\ - lsl r2, #28\n\ - lsr r1, r2, #4\n\ - orr r1, r2\n\ - lsr r1, #24\n\ - bl FillWindowPixelBuffer\n\ - ldrb r0, [r6, #0x6]\n\ - mov r1, #0\n\ - strb r0, [r6, #0x8]\n\ - ldrb r0, [r6, #0x7]\n\ - strb r0, [r6, #0x9]\n\ - strb r1, [r6, #0x1C]\n\ - b _08005B56\n\ + ldrb r0, [r6, #0x4]\n\ + ldrb r2, [r6, #0xD]\n\ + lsl r2, #28\n\ + lsr r1, r2, #4\n\ + orr r1, r2\n\ + lsr r1, #24\n\ + bl FillWindowPixelBuffer\n\ + ldrb r0, [r6, #0x6]\n\ + mov r1, #0\n\ + strb r0, [r6, #0x8]\n\ + ldrb r0, [r6, #0x7]\n\ + strb r0, [r6, #0x9]\n\ + strb r1, [r6, #0x1C]\n\ + b _08005B56\n\ _08005CB8:\n\ - add r0, r6, #0\n\ - bl TextPrinterWaitWithDownArrow\n\ - lsl r0, #16\n\ - cmp r0, #0\n\ - bne _08005CC6\n\ - b _08005B56\n\ + add r0, r6, #0\n\ + bl TextPrinterWaitWithDownArrow\n\ + lsl r0, #16\n\ + cmp r0, #0\n\ + bne _08005CC6\n\ + b _08005B56\n\ _08005CC6:\n\ - add r0, r6, #0\n\ - bl TextPrinterClearDownArrow\n\ - ldrb r1, [r6, #0x5]\n\ - ldr r0, =gFonts\n\ - ldr r2, [r0]\n\ - lsl r0, r1, #1\n\ - add r0, r1\n\ - lsl r0, #2\n\ - add r0, r2\n\ - ldrb r1, [r6, #0xB]\n\ - ldrb r0, [r0, #0x5]\n\ - add r1, r0\n\ - strb r1, [r6, #0x1F]\n\ - ldrb r0, [r6, #0x6]\n\ - strb r0, [r6, #0x8]\n\ - mov r0, #0x4\n\ - strb r0, [r6, #0x1C]\n\ - b _08005B56\n\ - .pool\n\ + add r0, r6, #0\n\ + bl TextPrinterClearDownArrow\n\ + ldrb r1, [r6, #0x5]\n\ + ldr r0, =gFonts\n\ + ldr r2, [r0]\n\ + lsl r0, r1, #1\n\ + add r0, r1\n\ + lsl r0, #2\n\ + add r0, r2\n\ + ldrb r1, [r6, #0xB]\n\ + ldrb r0, [r0, #0x5]\n\ + add r1, r0\n\ + strb r1, [r6, #0x1F]\n\ + ldrb r0, [r6, #0x6]\n\ + strb r0, [r6, #0x8]\n\ + mov r0, #0x4\n\ + strb r0, [r6, #0x1C]\n\ + b _08005B56\n\ + .pool\n\ _08005CF0:\n\ - ldrb r0, [r6, #0x1F]\n\ - cmp r0, #0\n\ - beq _08005D44\n\ - bl sub_8197964\n\ - ldr r1, =gWindowVerticalScrollSpeeds\n\ - add r0, r1\n\ - ldrb r4, [r0]\n\ - ldrb r2, [r6, #0x1F]\n\ - cmp r2, r4\n\ - bge _08005D20\n\ - ldrb r0, [r6, #0x4]\n\ - ldrb r1, [r6, #0xD]\n\ - lsl r1, #28\n\ - lsr r3, r1, #4\n\ - orr r3, r1\n\ - lsr r3, #24\n\ - mov r1, #0\n\ - bl ScrollWindow\n\ - mov r0, #0\n\ - b _08005D38\n\ - .pool\n\ + ldrb r0, [r6, #0x1F]\n\ + cmp r0, #0\n\ + beq _08005D44\n\ + bl sub_8197964\n\ + ldr r1, =gWindowVerticalScrollSpeeds\n\ + add r0, r1\n\ + ldrb r4, [r0]\n\ + ldrb r2, [r6, #0x1F]\n\ + cmp r2, r4\n\ + bge _08005D20\n\ + ldrb r0, [r6, #0x4]\n\ + ldrb r1, [r6, #0xD]\n\ + lsl r1, #28\n\ + lsr r3, r1, #4\n\ + orr r3, r1\n\ + lsr r3, #24\n\ + mov r1, #0\n\ + bl ScrollWindow\n\ + mov r0, #0\n\ + b _08005D38\n\ + .pool\n\ _08005D20:\n\ - ldrb r0, [r6, #0x4]\n\ - ldrb r1, [r6, #0xD]\n\ - lsl r1, #28\n\ - lsr r3, r1, #4\n\ - orr r3, r1\n\ - lsr r3, #24\n\ - mov r1, #0\n\ - add r2, r4, #0\n\ - bl ScrollWindow\n\ - ldrb r0, [r6, #0x1F]\n\ - sub r0, r4\n\ + ldrb r0, [r6, #0x4]\n\ + ldrb r1, [r6, #0xD]\n\ + lsl r1, #28\n\ + lsr r3, r1, #4\n\ + orr r3, r1\n\ + lsr r3, #24\n\ + mov r1, #0\n\ + add r2, r4, #0\n\ + bl ScrollWindow\n\ + ldrb r0, [r6, #0x1F]\n\ + sub r0, r4\n\ _08005D38:\n\ - strb r0, [r6, #0x1F]\n\ - ldrb r0, [r6, #0x4]\n\ - mov r1, #0x2\n\ - bl CopyWindowToVram\n\ - b _08005B56\n\ + strb r0, [r6, #0x1F]\n\ + ldrb r0, [r6, #0x4]\n\ + mov r1, #0x2\n\ + bl CopyWindowToVram\n\ + b _08005B56\n\ _08005D44:\n\ - strb r0, [r6, #0x1C]\n\ - b _08005B56\n\ + strb r0, [r6, #0x1C]\n\ + b _08005B56\n\ _08005D48:\n\ - bl IsSEPlaying\n\ - lsl r0, #24\n\ - lsr r0, #24\n\ - cmp r0, #0\n\ - beq _08005D56\n\ - b _08005B56\n\ + bl IsSEPlaying\n\ + lsl r0, #24\n\ + lsr r0, #24\n\ + cmp r0, #0\n\ + beq _08005D56\n\ + b _08005B56\n\ _08005D56:\n\ - strb r0, [r6, #0x1C]\n\ - b _08005B56\n\ + strb r0, [r6, #0x1C]\n\ + b _08005B56\n\ _08005D5A:\n\ - ldrb r0, [r6, #0x1E]\n\ - add r1, r0, #0\n\ - cmp r1, #0\n\ - beq _08005D68\n\ - sub r0, #0x1\n\ - strb r0, [r6, #0x1E]\n\ - b _08005B56\n\ + ldrb r0, [r6, #0x1E]\n\ + add r1, r0, #0\n\ + cmp r1, #0\n\ + beq _08005D68\n\ + sub r0, #0x1\n\ + strb r0, [r6, #0x1E]\n\ + b _08005B56\n\ _08005D68:\n\ - strb r1, [r6, #0x1C]\n\ - b _08005B56\n\ + strb r1, [r6, #0x1C]\n\ + b _08005B56\n\ _08005D6C:\n\ - mov r0, #0x1\n\ + mov r0, #0x1\n\ _08005D6E:\n\ - pop {r4-r6}\n\ - pop {r1}\n\ - bx r1"); + pop {r4-r6}\n\ + pop {r1}\n\ + bx r1\n"); } +#endif u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing) { @@ -2932,7 +3232,7 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing) } case 0xF7: if (bufferPointer == NULL) - bufferPointer = sub_81AFC74(*++str); + bufferPointer = UnkTextUtil_GetPtrI(*++str); while (*bufferPointer != 0xFF) { glyphWidth = func(*bufferPointer++, isJapanese); @@ -3218,7 +3518,7 @@ u8 GetFontAttribute(u8 fontId, u8 attributeId) result = gFontInfos[fontId].fontColor_l; break; case 5: - result = gFontInfos[fontId].fontColor_h; + result = gFontInfos[fontId].fgColor; break; case 6: result = gFontInfos[fontId].bgColor; diff --git a/src/text_window.c b/src/text_window.c index 55aedf688c..33cd7cffe8 100644 --- a/src/text_window.c +++ b/src/text_window.c @@ -3,27 +3,98 @@ #include "text_window.h" #include "window.h" #include "palette.h" +#include "bg.h" +#include "graphics.h" -extern u8 LoadBgTiles(u8 bg, const void *src, u16 size, u16 destOffset); -extern void FillBgTilemapBufferRect(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height, u8 palette); +// const rom data +const u32 gTextWindowFrame1_Gfx[] = INCBIN_U32("graphics/text_window/1.4bpp"); +static const u32 sTextWindowFrame2_Gfx[] = INCBIN_U32("graphics/text_window/2.4bpp"); +static const u32 sTextWindowFrame3_Gfx[] = INCBIN_U32("graphics/text_window/3.4bpp"); +static const u32 sTextWindowFrame4_Gfx[] = INCBIN_U32("graphics/text_window/4.4bpp"); +static const u32 sTextWindowFrame5_Gfx[] = INCBIN_U32("graphics/text_window/5.4bpp"); +static const u32 sTextWindowFrame6_Gfx[] = INCBIN_U32("graphics/text_window/6.4bpp"); +static const u32 sTextWindowFrame7_Gfx[] = INCBIN_U32("graphics/text_window/7.4bpp"); +static const u32 sTextWindowFrame8_Gfx[] = INCBIN_U32("graphics/text_window/8.4bpp"); +static const u32 sTextWindowFrame9_Gfx[] = INCBIN_U32("graphics/text_window/9.4bpp"); +static const u32 sTextWindowFrame10_Gfx[] = INCBIN_U32("graphics/text_window/10.4bpp"); +static const u32 sTextWindowFrame11_Gfx[] = INCBIN_U32("graphics/text_window/11.4bpp"); +static const u32 sTextWindowFrame12_Gfx[] = INCBIN_U32("graphics/text_window/12.4bpp"); +static const u32 sTextWindowFrame13_Gfx[] = INCBIN_U32("graphics/text_window/13.4bpp"); +static const u32 sTextWindowFrame14_Gfx[] = INCBIN_U32("graphics/text_window/14.4bpp"); +static const u32 sTextWindowFrame15_Gfx[] = INCBIN_U32("graphics/text_window/15.4bpp"); +static const u32 sTextWindowFrame16_Gfx[] = INCBIN_U32("graphics/text_window/16.4bpp"); +static const u32 sTextWindowFrame17_Gfx[] = INCBIN_U32("graphics/text_window/17.4bpp"); +static const u32 sTextWindowFrame18_Gfx[] = INCBIN_U32("graphics/text_window/18.4bpp"); +static const u32 sTextWindowFrame19_Gfx[] = INCBIN_U32("graphics/text_window/19.4bpp"); +static const u32 sTextWindowFrame20_Gfx[] = INCBIN_U32("graphics/text_window/20.4bpp"); -extern const struct TilesPal gUnknown_0851021C[]; -extern const u32 gUnknown_08DDD748[]; -extern const u16 gUnknown_0851017C[]; -extern const u16 gUnknown_08DDD728[]; +const u16 gTextWindowFrame1_Pal[] = INCBIN_U16("graphics/text_window/1.gbapal"); +static const u16 sTextWindowFrame2_Pal[] = INCBIN_U16("graphics/text_window/2.gbapal"); +static const u16 sTextWindowFrame3_Pal[] = INCBIN_U16("graphics/text_window/3.gbapal"); +static const u16 sTextWindowFrame4_Pal[] = INCBIN_U16("graphics/text_window/4.gbapal"); +static const u16 sTextWindowFrame5_Pal[] = INCBIN_U16("graphics/text_window/5.gbapal"); +static const u16 sTextWindowFrame6_Pal[] = INCBIN_U16("graphics/text_window/6.gbapal"); +static const u16 sTextWindowFrame7_Pal[] = INCBIN_U16("graphics/text_window/7.gbapal"); +static const u16 sTextWindowFrame8_Pal[] = INCBIN_U16("graphics/text_window/8.gbapal"); +static const u16 sTextWindowFrame9_Pal[] = INCBIN_U16("graphics/text_window/9.gbapal"); +static const u16 sTextWindowFrame10_Pal[] = INCBIN_U16("graphics/text_window/10.gbapal"); +static const u16 sTextWindowFrame11_Pal[] = INCBIN_U16("graphics/text_window/11.gbapal"); +static const u16 sTextWindowFrame12_Pal[] = INCBIN_U16("graphics/text_window/12.gbapal"); +static const u16 sTextWindowFrame13_Pal[] = INCBIN_U16("graphics/text_window/13.gbapal"); +static const u16 sTextWindowFrame14_Pal[] = INCBIN_U16("graphics/text_window/14.gbapal"); +static const u16 sTextWindowFrame15_Pal[] = INCBIN_U16("graphics/text_window/15.gbapal"); +static const u16 sTextWindowFrame16_Pal[] = INCBIN_U16("graphics/text_window/16.gbapal"); +static const u16 sTextWindowFrame17_Pal[] = INCBIN_U16("graphics/text_window/17.gbapal"); +static const u16 sTextWindowFrame18_Pal[] = INCBIN_U16("graphics/text_window/18.gbapal"); +static const u16 sTextWindowFrame19_Pal[] = INCBIN_U16("graphics/text_window/19.gbapal"); +static const u16 sTextWindowFrame20_Pal[] = INCBIN_U16("graphics/text_window/20.gbapal"); -const struct TilesPal* sub_8098758(u8 id) +static const u16 sUnknown_0851017C[][16] = { - if (id > 19) - return &gUnknown_0851021C[0]; + INCBIN_U16("graphics/text_window/message_box.gbapal"), + INCBIN_U16("graphics/text_window/text_pal1.gbapal"), + INCBIN_U16("graphics/text_window/text_pal2.gbapal"), + INCBIN_U16("graphics/text_window/text_pal3.gbapal"), + INCBIN_U16("graphics/text_window/text_pal4.gbapal") +}; + +static const struct TilesPal sWindowFrames[WINDOW_FRAMES_COUNT] = +{ + {gTextWindowFrame1_Gfx, gTextWindowFrame1_Pal}, + {sTextWindowFrame2_Gfx, sTextWindowFrame2_Pal}, + {sTextWindowFrame3_Gfx, sTextWindowFrame3_Pal}, + {sTextWindowFrame4_Gfx, sTextWindowFrame4_Pal}, + {sTextWindowFrame5_Gfx, sTextWindowFrame5_Pal}, + {sTextWindowFrame6_Gfx, sTextWindowFrame6_Pal}, + {sTextWindowFrame7_Gfx, sTextWindowFrame7_Pal}, + {sTextWindowFrame8_Gfx, sTextWindowFrame8_Pal}, + {sTextWindowFrame9_Gfx, sTextWindowFrame9_Pal}, + {sTextWindowFrame10_Gfx, sTextWindowFrame10_Pal}, + {sTextWindowFrame11_Gfx, sTextWindowFrame11_Pal}, + {sTextWindowFrame12_Gfx, sTextWindowFrame12_Pal}, + {sTextWindowFrame13_Gfx, sTextWindowFrame13_Pal}, + {sTextWindowFrame14_Gfx, sTextWindowFrame14_Pal}, + {sTextWindowFrame15_Gfx, sTextWindowFrame15_Pal}, + {sTextWindowFrame16_Gfx, sTextWindowFrame16_Pal}, + {sTextWindowFrame17_Gfx, sTextWindowFrame17_Pal}, + {sTextWindowFrame18_Gfx, sTextWindowFrame18_Pal}, + {sTextWindowFrame19_Gfx, sTextWindowFrame19_Pal}, + {sTextWindowFrame20_Gfx, sTextWindowFrame20_Pal} +}; + +// code +const struct TilesPal *GetWindowFrameTilesPal(u8 id) +{ + if (id >= WINDOW_FRAMES_COUNT) + return &sWindowFrames[0]; else - return &gUnknown_0851021C[id]; + return &sWindowFrames[id]; } void copy_textbox_border_tile_patterns_to_vram(u8 windowId, u16 destOffset, u8 palOffset) { - LoadBgTiles(GetWindowAttribute(windowId, WINDOW_PRIORITY), gUnknown_08DDD748, 0x1C0, destOffset); - LoadPalette(sub_8098C64(), palOffset, 0x20); + LoadBgTiles(GetWindowAttribute(windowId, WINDOW_PRIORITY), gMessageBox_Gfx, 0x1C0, destOffset); + LoadPalette(GetOverworldTextboxPalettePtr(), palOffset, 0x20); } void box_border_load_tiles_and_pal(u8 windowId, u16 destOffset, u8 palOffset) @@ -33,8 +104,8 @@ void box_border_load_tiles_and_pal(u8 windowId, u16 destOffset, u8 palOffset) void sub_80987D4(u8 windowId, u8 frameId, u16 destOffset, u8 palOffset) { - LoadBgTiles(GetWindowAttribute(windowId, WINDOW_PRIORITY), gUnknown_0851021C[frameId].tiles, 0x120, destOffset); - LoadPalette(gUnknown_0851021C[frameId].pal, palOffset, 0x20); + LoadBgTiles(GetWindowAttribute(windowId, WINDOW_PRIORITY), sWindowFrames[frameId].tiles, 0x120, destOffset); + LoadPalette(sWindowFrames[frameId].pal, palOffset, 0x20); } void sub_809882C(u8 windowId, u16 destOffset, u8 palOffset) @@ -89,7 +160,7 @@ void rbox_fill_rectangle(u8 windowId) FillBgTilemapBufferRect(bgLayer, 0, tilemapLeft - 1, tilemapTop - 1, width + 2, height + 2, 0x11); } -const u16* stdpal_get(u8 id) +const u16 *stdpal_get(u8 id) { switch (id) { @@ -110,16 +181,17 @@ const u16* stdpal_get(u8 id) id = 0x40; break; } - return &gUnknown_0851017C[id]; + + return (const u16 *)(sUnknown_0851017C) + id; } -const u16* sub_8098C64(void) +const u16 *GetOverworldTextboxPalettePtr(void) { - return gUnknown_08DDD728; + return gMessageBox_Pal; } void sub_8098C6C(u8 bg, u16 destOffset, u8 palOffset) { - LoadBgTiles(bg, gUnknown_0851021C[gSaveBlock2Ptr->optionsWindowFrameType].tiles, 0x120, destOffset); - LoadPalette(sub_8098758(gSaveBlock2Ptr->optionsWindowFrameType)->pal, palOffset, 0x20); + LoadBgTiles(bg, sWindowFrames[gSaveBlock2Ptr->optionsWindowFrameType].tiles, 0x120, destOffset); + LoadPalette(GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->pal, palOffset, 0x20); } diff --git a/src/tileset_anims.c b/src/tileset_anims.c index 4ad787e1c8..f89cfdd2bd 100644 --- a/src/tileset_anims.c +++ b/src/tileset_anims.c @@ -5,6 +5,7 @@ #include "blend_palette.h" #include "battle_transition.h" #include "task.h" +#include "battle_transition.h" // Static type declarations @@ -1392,7 +1393,7 @@ static void sub_80A1818(u16 a1) { CpuCopy16(gTilesetAnims_BattleDomePals0[a1 & 0x3], gPlttBufferUnfaded + 0x80, 32); BlendPalette(0x80, 0x10, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF); - if ((u8)FindTaskIdByFunc(sub_8149DFC) != 0xFF ) + if ((u8)FindTaskIdByFunc(TransitionPhase1_Task_RunFuncs) != 0xFF ) { sSecondaryTilesetCB = sub_80A1670; sSecondaryTilesetCBBufferSize = 0x20; @@ -1402,7 +1403,7 @@ static void sub_80A1818(u16 a1) static void sub_80A1884(u16 a1) { CpuCopy16(gTilesetAnims_BattleDomePals0[a1 & 0x3], gPlttBufferUnfaded + 0x80, 32); - if ((u8)FindTaskIdByFunc(sub_8149DFC) == 0xFF ) + if ((u8)FindTaskIdByFunc(TransitionPhase1_Task_RunFuncs) == 0xFF ) { BlendPalette(0x80, 0x10, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF); if (!--sSecondaryTilesetCBBufferSize) diff --git a/src/time_events.c b/src/time_events.c new file mode 100644 index 0000000000..1f169a5c6c --- /dev/null +++ b/src/time_events.c @@ -0,0 +1,118 @@ +#include "global.h" +#include "time_events.h" +#include "event_data.h" +#include "field_weather.h" +#include "pokemon.h" +#include "random.h" +#include "overworld.h" +#include "rtc.h" +#include "script.h" +#include "task.h" + +static u32 GetMirageRnd(void) +{ + u32 hi = VarGet(VAR_MIRAGE_RND_H); + u32 lo = VarGet(VAR_MIRAGE_RND_L); + return (hi << 16) | lo; +} + +static void SetMirageRnd(u32 rnd) +{ + VarSet(VAR_MIRAGE_RND_H, rnd >> 16); + VarSet(VAR_MIRAGE_RND_L, rnd); +} + +// unused +void InitMirageRnd(void) +{ + SetMirageRnd((Random() << 16) | Random()); +} + +void UpdateMirageRnd(u16 days) +{ + s32 rnd = GetMirageRnd(); + while (days) + { + rnd = 1103515245 * rnd + 12345; + days--; + } + SetMirageRnd(rnd); +} + +bool8 IsMirageIslandPresent(void) +{ + u16 rnd = GetMirageRnd() >> 16; + int i; + + for (i = 0; i < PARTY_SIZE; i++) + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) && (GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY) & 0xFFFF) == rnd) + return TRUE; + + return FALSE; +} + +void UpdateShoalTideFlag(void) +{ + static const u8 tide[] = + { + 1, // 00 + 1, // 01 + 1, // 02 + 0, // 03 + 0, // 04 + 0, // 05 + 0, // 06 + 0, // 07 + 0, // 08 + 1, // 09 + 1, // 10 + 1, // 11 + 1, // 12 + 1, // 13 + 1, // 14 + 0, // 15 + 0, // 16 + 0, // 17 + 0, // 18 + 0, // 19 + 0, // 20 + 1, // 21 + 1, // 22 + 1, // 23 + }; + + if (is_light_level_1_2_3_5_or_6(get_map_light_from_warp0())) + { + RtcCalcLocalTime(); + if (tide[gLocalTime.hours]) + FlagSet(FLAG_SYS_SHOAL_TIDE); + else + FlagClear(FLAG_SYS_SHOAL_TIDE); + } +} + +static void Task_WaitWeather(u8 taskId) +{ + if (IsWeatherChangeComplete()) + { + EnableBothScriptContexts(); + DestroyTask(taskId); + } +} + +void WaitWeather(void) +{ + CreateTask(Task_WaitWeather, 80); +} + +void InitBirchState(void) +{ + *GetVarPointer(VAR_BIRCH_STATE) = 0; +} + +void UpdateBirchState(u16 days) +{ + u16 *state = GetVarPointer(VAR_BIRCH_STATE); + *state += days; + *state %= 7; +} diff --git a/src/title_screen.c b/src/title_screen.c new file mode 100644 index 0000000000..4e25c8152c --- /dev/null +++ b/src/title_screen.c @@ -0,0 +1,783 @@ +#include "global.h" +#include "title_screen.h" +#include "sprite.h" +#include "gba/m4a_internal.h" +#include "clear_save_data_menu.h" +#include "decompress.h" +#include "event_data.h" +#include "intro.h" +#include "m4a.h" +#include "main.h" +#include "main_menu.h" +#include "palette.h" +#include "reset_rtc_screen.h" +#include "berry_fix_program.h" +#include "sound.h" +#include "sprite.h" +#include "task.h" +#include "scanline_effect.h" +#include "gpu_regs.h" +#include "trig.h" +#include "constants/rgb.h" + +#define VERSION_BANNER_SHAPE 1 +#define VERSION_BANNER_RIGHT_TILEOFFSET 64 +#define VERSION_BANNER_BYTES 0x1000 +#define VERSION_BANNER_LEFT_X 98 +#define VERSION_BANNER_RIGHT_X 162 +#define VERSION_BANNER_Y 2 +#define VERSION_BANNER_Y_GOAL 66 +#define START_BANNER_X 128 + +#define CLEAR_SAVE_BUTTON_COMBO (B_BUTTON | SELECT_BUTTON | DPAD_UP) +#define RESET_RTC_BUTTON_COMBO (B_BUTTON | SELECT_BUTTON | DPAD_LEFT) +#define BERRY_UPDATE_BUTTON_COMBO (B_BUTTON | SELECT_BUTTON) +#define A_B_START_SELECT (A_BUTTON | B_BUTTON | START_BUTTON | SELECT_BUTTON) + +extern struct MusicPlayerInfo gMPlayInfo_BGM; +extern u16 gBattle_BG1_X; +extern u16 gBattle_BG1_Y; + +extern const u8 gTitleScreenEmeraldVersionGfx[]; +extern const u8 gTitleScreenPressStartGfx[]; +extern const u8 gTitleScreenPokemonLogoGfx[]; +extern const u8 gUnknown_08DE0644[]; +extern const u8 gUnknown_08DDE458[]; +extern const u16 gTitleScreenBgPalettes[]; +extern const u16 gTitleScreenPressStartPal[]; +extern const u16 gTitleScreenEmeraldVersionPal[]; + +// this file's functions +static void MainCB2(void); +static void Task_TitleScreenPhase1(u8); +static void Task_TitleScreenPhase2(u8); +static void Task_TitleScreenPhase3(u8); +static void CB2_GoToMainMenu(void); +static void CB2_GoToClearSaveDataScreen(void); +static void CB2_GoToResetRtcScreen(void); +static void CB2_GoToBerryFixScreen(void); +static void CB2_GoToCopyrightScreen(void); +static void UpdateLegendaryMarkingColor(u8); + +static void SpriteCB_VersionBannerLeft(struct Sprite *sprite); +static void SpriteCB_VersionBannerRight(struct Sprite *sprite); +static void SpriteCB_PressStartCopyrightBanner(struct Sprite *sprite); +static void SpriteCB_PokemonLogoShine(struct Sprite *sprite); + +// const rom data +static const u16 sUnusedUnknownPal[] = INCBIN_U16("graphics/title_screen/unk_853EF78.gbapal"); + +static const u8 sTitleScreenRayquazaGfx[] = INCBIN_U8("graphics/title_screen/rayquaza.4bpp.lz"); +static const u8 sTitleScreenRayquazaTilemap[] = INCBIN_U8("graphics/title_screen/rayquaza.bin.lz"); +static const u8 sTitleScreenLogoShineGfx[] = INCBIN_U8("graphics/title_screen/logo_shine.4bpp.lz"); +static const u8 sTitleScreenCloudsGfx[] = INCBIN_U8("graphics/title_screen/clouds.4bpp.lz"); + +const u16 gUnknown_0853FF70[] = +{ + 0x0010, 0x0110, 0x0210, 0x0310, 0x0410, 0x0510, 0x0610, 0x0710, + 0x0810, 0x0910, 0x0a10, 0x0b10, 0x0c10, 0x0d10, 0x0e10, 0x0f10, + 0x100f, 0x100e, 0x100d, 0x100c, 0x100b, 0x100a, 0x1009, 0x1008, + 0x1007, 0x1006, 0x1005, 0x1004, 0x1003, 0x1002, 0x1001, 0x1000, + 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, + 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, + 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, + 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, +}; + +static const struct OamData sVersionBannerLeftOamData = +{ + .y = 160, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 1, + .shape = VERSION_BANNER_SHAPE, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct OamData sVersionBannerRightOamData = +{ + .y = 160, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 1, + .shape = VERSION_BANNER_SHAPE, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AnimCmd sVersionBannerLeftAnimSequence[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +static const union AnimCmd sVersionBannerRightAnimSequence[] = +{ + ANIMCMD_FRAME(VERSION_BANNER_RIGHT_TILEOFFSET, 30), + ANIMCMD_END, +}; + +static const union AnimCmd *const sVersionBannerLeftAnimTable[] = +{ + sVersionBannerLeftAnimSequence, +}; + +static const union AnimCmd *const sVersionBannerRightAnimTable[] = +{ + sVersionBannerRightAnimSequence, +}; + +static const struct SpriteTemplate sVersionBannerLeftSpriteTemplate = +{ + .tileTag = 1000, + .paletteTag = 1000, + .oam = &sVersionBannerLeftOamData, + .anims = sVersionBannerLeftAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_VersionBannerLeft, +}; + +static const struct SpriteTemplate sVersionBannerRightSpriteTemplate = +{ + .tileTag = 1000, + .paletteTag = 1000, + .oam = &sVersionBannerRightOamData, + .anims = sVersionBannerRightAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_VersionBannerRight, +}; + +static const struct CompressedSpriteSheet sSpriteSheet_EmeraldVersion[] = +{ + {gTitleScreenEmeraldVersionGfx, VERSION_BANNER_BYTES, 1000}, + {NULL}, +}; + +static const struct OamData sOamData_CopyrightBanner = +{ + .y = 160, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AnimCmd sCopyrightBannerAnim0[] = +{ + ANIMCMD_FRAME(1, 4), + ANIMCMD_END, +}; +static const union AnimCmd sCopyrightBannerAnim1[] = +{ + ANIMCMD_FRAME(5, 4), + ANIMCMD_END, +}; +static const union AnimCmd sCopyrightBannerAnim2[] = +{ + ANIMCMD_FRAME(9, 4), + ANIMCMD_END, +}; +static const union AnimCmd sCopyrightBannerAnim3[] = +{ + ANIMCMD_FRAME(13, 4), + ANIMCMD_END, +}; +static const union AnimCmd sCopyrightBannerAnim4[] = +{ + ANIMCMD_FRAME(17, 4), + ANIMCMD_END, +}; +static const union AnimCmd sCopyrightBannerAnim5[] = +{ + ANIMCMD_FRAME(21, 4), + ANIMCMD_END, +}; +static const union AnimCmd sCopyrightBannerAnim6[] = +{ + ANIMCMD_FRAME(25, 4), + ANIMCMD_END, +}; +static const union AnimCmd sCopyrightBannerAnim7[] = +{ + ANIMCMD_FRAME(29, 4), + ANIMCMD_END, +}; +static const union AnimCmd sCopyrightBannerAnim8[] = +{ + ANIMCMD_FRAME(33, 4), + ANIMCMD_END, +}; +static const union AnimCmd sCopyrightBannerAnim9[] = +{ + ANIMCMD_FRAME(37, 4), + ANIMCMD_END, +}; + +static const union AnimCmd *const sStartCopyrightBannerAnimTable[] = +{ + sCopyrightBannerAnim0, + sCopyrightBannerAnim1, + sCopyrightBannerAnim2, + sCopyrightBannerAnim3, + sCopyrightBannerAnim4, + sCopyrightBannerAnim5, + sCopyrightBannerAnim6, + sCopyrightBannerAnim7, + sCopyrightBannerAnim8, + sCopyrightBannerAnim9, +}; + +static const struct SpriteTemplate sStartCopyrightBannerSpriteTemplate = +{ + .tileTag = 1001, + .paletteTag = 1001, + .oam = &sOamData_CopyrightBanner, + .anims = sStartCopyrightBannerAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_PressStartCopyrightBanner, +}; + +static const struct CompressedSpriteSheet sSpriteSheet_PressStart[] = +{ + {gTitleScreenPressStartGfx, 0x520, 1001}, + {NULL}, +}; + +static const struct SpritePalette sSpritePalette_PressStart[] = +{ + {gTitleScreenPressStartPal, 1001}, + {NULL}, +}; + +static const struct OamData sPokemonLogoShineOamData = +{ + .y = 160, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AnimCmd sPokemonLogoShineAnimSequence[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +static const union AnimCmd *const sPokemonLogoShineAnimTable[] = +{ + sPokemonLogoShineAnimSequence, +}; + +static const struct SpriteTemplate sPokemonLogoShineSpriteTemplate = +{ + .tileTag = 1002, + .paletteTag = 1001, + .oam = &sPokemonLogoShineOamData, + .anims = sPokemonLogoShineAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_PokemonLogoShine, +}; + +static const struct CompressedSpriteSheet sPokemonLogoShineSpriteSheet[] = +{ + {sTitleScreenLogoShineGfx, 0x800, 1002}, + {NULL}, +}; + +// code +static void SpriteCB_VersionBannerLeft(struct Sprite *sprite) +{ + if (gTasks[sprite->data[1]].data[1] != 0) + { + sprite->oam.objMode = 0; + sprite->pos1.y = VERSION_BANNER_Y_GOAL; + } + else + { + if (sprite->pos1.y != VERSION_BANNER_Y_GOAL) + sprite->pos1.y++; + if (sprite->data[0] != 0) + sprite->data[0]--; + SetGpuReg(REG_OFFSET_BLDALPHA, gUnknown_0853FF70[sprite->data[0]]); + } +} + +static void SpriteCB_VersionBannerRight(struct Sprite *sprite) +{ + if (gTasks[sprite->data[1]].data[1] != 0) + { + sprite->oam.objMode = 0; + sprite->pos1.y = VERSION_BANNER_Y_GOAL; + } + else + { + if (sprite->pos1.y != VERSION_BANNER_Y_GOAL) + sprite->pos1.y++; + } +} + +static void SpriteCB_PressStartCopyrightBanner(struct Sprite *sprite) +{ + if (sprite->data[0] == 1) + { + sprite->data[1]++; + // Alternate between hidden and shown every 16th frame + if (sprite->data[1] & 0x10) + sprite->invisible = FALSE; + else + sprite->invisible = TRUE; + } + else + { + sprite->invisible = FALSE; + } +} + +static void CreatePressStartBanner(s16 x, s16 y) +{ + u8 i; + u8 spriteId; + + x -= 64; + for (i = 0; i < 5; i++, x += 32) + { + spriteId = CreateSprite(&sStartCopyrightBannerSpriteTemplate, x, y, 0); + StartSpriteAnim(&gSprites[spriteId], i); + gSprites[spriteId].data[0] = 1; + } +} + +static void CreateCopyrightBanner(s16 x, s16 y) +{ + u8 i; + u8 spriteId; + + x -= 64; + for (i = 0; i < 5; i++, x += 32) + { + spriteId = CreateSprite(&sStartCopyrightBannerSpriteTemplate, x, y, 0); + StartSpriteAnim(&gSprites[spriteId], i + 5); + } +} + +static void SpriteCB_PokemonLogoShine(struct Sprite *sprite) +{ + if (sprite->pos1.x < 272) + { + if (sprite->data[0]) // Flash background + { + u16 backgroundColor; + + if (sprite->pos1.x < DISPLAY_WIDTH / 2) + { + // Brighten background color + if (sprite->data[1] < 31) + sprite->data[1]++; + if (sprite->data[1] < 31) + sprite->data[1]++; + } + else + { + // Darken background color + if (sprite->data[1] != 0) + sprite->data[1]--; + if (sprite->data[1] != 0) + sprite->data[1]--; + } + + backgroundColor = _RGB(sprite->data[1], sprite->data[1], sprite->data[1]); + if (sprite->pos1.x == DISPLAY_WIDTH / 2 + 12 + || sprite->pos1.x == DISPLAY_WIDTH / 2 + 16 + || sprite->pos1.x == DISPLAY_WIDTH / 2 + 20 + || sprite->pos1.x == DISPLAY_WIDTH / 2 + 24) + gPlttBufferFaded[0] = RGB(24, 31, 12); + else + gPlttBufferFaded[0] = backgroundColor; + } + sprite->pos1.x += 4; + } + else + { + gPlttBufferFaded[0] = RGB_BLACK; + DestroySprite(sprite); + } +} + +static void SpriteCB_PokemonLogoShine2(struct Sprite *sprite) +{ + if (sprite->pos1.x < 272) + sprite->pos1.x += 8; + else + DestroySprite(sprite); +} + +static void StartPokemonLogoShine(u8 flashBg) +{ + u8 spriteId; + + switch (flashBg) + { + case 0: + case 2: + spriteId = CreateSprite(&sPokemonLogoShineSpriteTemplate, 0, 68, 0); + gSprites[spriteId].oam.objMode = 2; + gSprites[spriteId].data[0] = flashBg; + break; + case 1: + spriteId = CreateSprite(&sPokemonLogoShineSpriteTemplate, 0, 68, 0); + gSprites[spriteId].oam.objMode = 2; + gSprites[spriteId].data[0] = flashBg; + gSprites[spriteId].invisible = TRUE; + + spriteId = CreateSprite(&sPokemonLogoShineSpriteTemplate, 0, 68, 0); + gSprites[spriteId].callback = SpriteCB_PokemonLogoShine2; + gSprites[spriteId].oam.objMode = 2; + + spriteId = CreateSprite(&sPokemonLogoShineSpriteTemplate, -80, 68, 0); + gSprites[spriteId].callback = SpriteCB_PokemonLogoShine2; + gSprites[spriteId].oam.objMode = 2; + break; + } +} + +static void VBlankCB(void) +{ + ScanlineEffect_InitHBlankDmaTransfer(); + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); +} + +#define tCounter data[0] +#define tSkipToNext data[1] + +void CB2_InitTitleScreen(void) +{ + switch (gMain.state) + { + default: + case 0: + SetVBlankCallback(NULL); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + *((u16 *)PLTT) = RGB_WHITE; + SetGpuReg(REG_OFFSET_DISPCNT, 0); + SetGpuReg(REG_OFFSET_BG2CNT, 0); + SetGpuReg(REG_OFFSET_BG1CNT, 0); + SetGpuReg(REG_OFFSET_BG0CNT, 0); + SetGpuReg(REG_OFFSET_BG2HOFS, 0); + SetGpuReg(REG_OFFSET_BG2VOFS, 0); + SetGpuReg(REG_OFFSET_BG1HOFS, 0); + SetGpuReg(REG_OFFSET_BG1VOFS, 0); + SetGpuReg(REG_OFFSET_BG0HOFS, 0); + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + DmaFill16(3, 0, (void *)VRAM, VRAM_SIZE); + DmaFill32(3, 0, (void *)OAM, OAM_SIZE); + DmaFill16(3, 0, (void *)(PLTT + 2), PLTT_SIZE - 2); + ResetPaletteFade(); + gMain.state = 1; + break; + case 1: + LZ77UnCompVram(gTitleScreenPokemonLogoGfx, (void *)VRAM); + LZ77UnCompVram(gUnknown_08DE0644, (void *)(VRAM + 0x4800)); + LoadPalette(gTitleScreenBgPalettes, 0, 0x1E0); + LZ77UnCompVram(sTitleScreenRayquazaGfx, (void *)(VRAM + 0x8000)); + LZ77UnCompVram(sTitleScreenRayquazaTilemap, (void *)(VRAM + 0xD000)); + LZ77UnCompVram(sTitleScreenCloudsGfx, (void *)(VRAM + 0xC000)); + LZ77UnCompVram(gUnknown_08DDE458, (void *)(VRAM + 0xD800)); + ScanlineEffect_Stop(); + ResetTasks(); + ResetSpriteData(); + FreeAllSpritePalettes(); + gReservedSpritePaletteCount = 9; + LoadCompressedObjectPic(&sSpriteSheet_EmeraldVersion[0]); + LoadCompressedObjectPic(&sSpriteSheet_PressStart[0]); + LoadCompressedObjectPic(&sPokemonLogoShineSpriteSheet[0]); + LoadPalette(gTitleScreenEmeraldVersionPal, 0x100, 0x20); + LoadSpritePalette(&sSpritePalette_PressStart[0]); + gMain.state = 2; + break; + case 2: + { + u8 taskId = CreateTask(Task_TitleScreenPhase1, 0); + + gTasks[taskId].tCounter = 256; + gTasks[taskId].tSkipToNext = FALSE; + gTasks[taskId].data[2] = -16; + gTasks[taskId].data[3] = -32; + gMain.state = 3; + break; + } + case 3: + BeginNormalPaletteFade(-1, 1, 0x10, 0, 0xFFFF); + SetVBlankCallback(VBlankCB); + gMain.state = 4; + break; + case 4: + sub_816F2A8(0x78, 0x50, 0x100, 0); + SetGpuReg(REG_OFFSET_BG2X_L, -29 * 256); + SetGpuReg(REG_OFFSET_BG2X_H, -1); + SetGpuReg(REG_OFFSET_BG2Y_L, -32 * 256); + SetGpuReg(REG_OFFSET_BG2Y_H, -1); + SetGpuReg(REG_OFFSET_WIN0H, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0); + SetGpuReg(REG_OFFSET_WIN1H, 0); + SetGpuReg(REG_OFFSET_WIN1V, 0); + SetGpuReg(REG_OFFSET_WININ, 0x1F1F); + SetGpuReg(REG_OFFSET_WINOUT, 0x3F1F); + SetGpuReg(REG_OFFSET_BLDCNT, 0x84); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0xC); + SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(3) | BGCNT_CHARBASE(2) | BGCNT_SCREENBASE(26) | BGCNT_16COLOR | BGCNT_TXT256x256); + SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(2) | BGCNT_CHARBASE(3) | BGCNT_SCREENBASE(27) | BGCNT_16COLOR | BGCNT_TXT256x256); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(1) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(9) | BGCNT_256COLOR | BGCNT_AFF256x256); + EnableInterrupts(INTR_FLAG_VBLANK); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 + | DISPCNT_OBJ_1D_MAP + | DISPCNT_BG2_ON + | DISPCNT_OBJ_ON + | DISPCNT_WIN0_ON + | DISPCNT_OBJWIN_ON); + m4aSongNumStart(0x19D); + gMain.state = 5; + break; + case 5: + if (!UpdatePaletteFade()) + { + StartPokemonLogoShine(0); + ScanlineEffect_InitWave(0, DISPLAY_HEIGHT, 4, 4, 0, SCANLINE_EFFECT_REG_BG1HOFS, TRUE); + SetMainCallback2(MainCB2); + } + break; + } +} + +static void MainCB2(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +// Shine the Pokemon logo two more times, and fade in the version banner +static void Task_TitleScreenPhase1(u8 taskId) +{ + // Skip to next phase when A, B, Start, or Select is pressed + if ((gMain.newKeys & A_B_START_SELECT) || gTasks[taskId].data[1] != 0) + { + gTasks[taskId].tSkipToNext = TRUE; + gTasks[taskId].tCounter = 0; + } + + if (gTasks[taskId].tCounter != 0) + { + u16 frameNum = gTasks[taskId].tCounter; + if (frameNum == 176) + StartPokemonLogoShine(1); + else if (frameNum == 64) + StartPokemonLogoShine(2); + + gTasks[taskId].tCounter--; + } + else + { + u8 spriteId; + + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG2_ON | DISPCNT_OBJ_ON); + SetGpuReg(REG_OFFSET_WININ, 0); + SetGpuReg(REG_OFFSET_WINOUT, 0); + SetGpuReg(REG_OFFSET_BLDCNT, 0x3F50); + SetGpuReg(REG_OFFSET_BLDALPHA, 0x10); + SetGpuReg(REG_OFFSET_BLDY, 0); + + // Create left side of version banner + spriteId = CreateSprite(&sVersionBannerLeftSpriteTemplate, VERSION_BANNER_LEFT_X, VERSION_BANNER_Y, 0); + gSprites[spriteId].data[0] = 64; + gSprites[spriteId].data[1] = taskId; + + // Create right side of version banner + spriteId = CreateSprite(&sVersionBannerRightSpriteTemplate, VERSION_BANNER_RIGHT_X, VERSION_BANNER_Y, 0); + gSprites[spriteId].data[1] = taskId; + + gTasks[taskId].tCounter = 144; + gTasks[taskId].func = Task_TitleScreenPhase2; + } +} + +// Create "Press Start" and copyright banners, and slide Pokemon logo up +static void Task_TitleScreenPhase2(u8 taskId) +{ + u32 yPos; + + // Skip to next phase when A, B, Start, or Select is pressed + if ((gMain.newKeys & A_B_START_SELECT) || gTasks[taskId].tSkipToNext) + { + gTasks[taskId].tSkipToNext = TRUE; + gTasks[taskId].tCounter = 0; + } + + if (gTasks[taskId].tCounter != 0) + { + gTasks[taskId].tCounter--; + } + else + { + gTasks[taskId].tSkipToNext = TRUE; + SetGpuReg(REG_OFFSET_BLDCNT, 0x2142); + SetGpuReg(REG_OFFSET_BLDALPHA, 0xF06); + SetGpuReg(REG_OFFSET_BLDY, 0); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 + | DISPCNT_OBJ_1D_MAP + | DISPCNT_BG0_ON + | DISPCNT_BG1_ON + | DISPCNT_BG2_ON + | DISPCNT_OBJ_ON); + CreatePressStartBanner(START_BANNER_X, 108); + CreateCopyrightBanner(START_BANNER_X, 148); + gTasks[taskId].data[4] = 0; + gTasks[taskId].func = Task_TitleScreenPhase3; + } + + if (!(gTasks[taskId].tCounter & 3) && gTasks[taskId].data[2] != 0) + gTasks[taskId].data[2]++; + if (!(gTasks[taskId].tCounter & 1) && gTasks[taskId].data[3] != 0) + gTasks[taskId].data[3]++; + + // Slide Pokemon logo up + yPos = gTasks[taskId].data[3] * 256; + SetGpuReg(REG_OFFSET_BG2Y_L, yPos); + SetGpuReg(REG_OFFSET_BG2Y_H, yPos / 0x10000); + + gTasks[taskId].data[5] = 15; + gTasks[taskId].data[6] = 6; +} + +// Show Rayquaza silhouette and process main title screen input +static void Task_TitleScreenPhase3(u8 taskId) +{ + if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & START_BUTTON)) + { + FadeOutBGM(4); + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0xFFFF); + SetMainCallback2(CB2_GoToMainMenu); + } + else if ((gMain.heldKeys & CLEAR_SAVE_BUTTON_COMBO) == CLEAR_SAVE_BUTTON_COMBO) + { + SetMainCallback2(CB2_GoToClearSaveDataScreen); + } + else if ((gMain.heldKeys & RESET_RTC_BUTTON_COMBO) == RESET_RTC_BUTTON_COMBO + && CanResetRTC() == TRUE) + { + FadeOutBGM(4); + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + SetMainCallback2(CB2_GoToResetRtcScreen); + } + else if ((gMain.heldKeys & BERRY_UPDATE_BUTTON_COMBO) == BERRY_UPDATE_BUTTON_COMBO) + { + FadeOutBGM(4); + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + SetMainCallback2(CB2_GoToBerryFixScreen); + } + else + { + SetGpuReg(REG_OFFSET_BG2Y_L, 0); + SetGpuReg(REG_OFFSET_BG2Y_H, 0); + gTasks[taskId].tCounter++; + if (gTasks[taskId].tCounter & 1) + { + gTasks[taskId].data[4]++; + gBattle_BG1_Y = gTasks[taskId].data[4] / 2; + gBattle_BG1_X = 0; + } + UpdateLegendaryMarkingColor(gTasks[taskId].tCounter); + if ((gMPlayInfo_BGM.status & 0xFFFF) == 0) + { + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0xFFFF); + SetMainCallback2(CB2_GoToCopyrightScreen); + } + } +} + +static void CB2_GoToMainMenu(void) +{ + if (!UpdatePaletteFade()) + SetMainCallback2(CB2_InitMainMenu); +} + +static void CB2_GoToCopyrightScreen(void) +{ + if (!UpdatePaletteFade()) + SetMainCallback2(CB2_InitCopyrightScreenAfterTitleScreen); +} + +static void CB2_GoToClearSaveDataScreen(void) +{ + if (!UpdatePaletteFade()) + SetMainCallback2(CB2_InitClearSaveDataScreen); +} + +static void CB2_GoToResetRtcScreen(void) +{ + if (!UpdatePaletteFade()) + SetMainCallback2(CB2_InitResetRtcScreen); +} + +static void CB2_GoToBerryFixScreen(void) +{ + if (!UpdatePaletteFade()) + { + m4aMPlayAllStop(); + SetMainCallback2(CB2_InitBerryFixProgram); + } +} + +static void UpdateLegendaryMarkingColor(u8 frameNum) +{ + if ((frameNum % 4) == 0) // Change color every 4th frame + { + s32 intensity = Cos(frameNum, 128) + 128; + s32 r = 31 - ((intensity * 32 - intensity) / 256); + s32 g = 31 - (intensity * 22 / 256); + s32 b = 12; + + u16 color = RGB(r, g, b); + LoadPalette(&color, 0xEF, sizeof(color)); + } +} diff --git a/src/trainer_see.c b/src/trainer_see.c new file mode 100644 index 0000000000..7706da703d --- /dev/null +++ b/src/trainer_see.c @@ -0,0 +1,781 @@ +#include "global.h" +#include "trainer_see.h" +#include "battle_setup.h" +#include "pokemon.h" +#include "sprite.h" +#include "field_effect.h" +#include "field_map_obj.h" +#include "field_player_avatar.h" +#include "field_map_obj_helpers.h" +#include "pokenav.h" +#include "task.h" +#include "util.h" +#include "script.h" +#include "event_data.h" +#include "script_movement.h" + +extern bool8 InBattlePyramid(void); +extern bool32 InTrainerHill(void); +extern bool8 GetBattlePyramidTrainerFlag(u8 mapObjectId); +extern bool8 GetTrainerHillTrainerFlag(u8 mapObjectId); +extern void sub_809BE48(u16 npcId); + +// this file's functions +static u8 CheckTrainer(u8 mapObjectId); +static u8 GetTrainerApproachDistance(struct MapObject *trainerObj); +static u8 CheckPathBetweenTrainerAndPlayer(struct MapObject *trainerObj, u8 approachDistance, u8 direction); +static void TrainerApproachPlayer(struct MapObject *trainerObj, u8 range); +static void Task_RunTrainerSeeFuncList(u8 taskId); +static void Task_DestroyTrainerApproachTask(u8 taskId); +static void SetIconSpriteData(struct Sprite *sprite, u16 fldEffId, u8 spriteAnimNum); + +static u8 GetTrainerApproachDistanceSouth(struct MapObject *trainerObj, s16 range, s16 x, s16 y); +static u8 GetTrainerApproachDistanceNorth(struct MapObject *trainerObj, s16 range, s16 x, s16 y); +static u8 GetTrainerApproachDistanceWest(struct MapObject *trainerObj, s16 range, s16 x, s16 y); +static u8 GetTrainerApproachDistanceEast(struct MapObject *trainerObj, s16 range, s16 x, s16 y); + +static bool8 sub_80B4178(u8 taskId, struct Task *task, struct MapObject *trainerObj); +static bool8 sub_80B417C(u8 taskId, struct Task *task, struct MapObject *trainerObj); +static bool8 sub_80B41C0(u8 taskId, struct Task *task, struct MapObject *trainerObj); +static bool8 sub_80B4200(u8 taskId, struct Task *task, struct MapObject *trainerObj); +static bool8 sub_80B425C(u8 taskId, struct Task *task, struct MapObject *trainerObj); +static bool8 sub_80B4318(u8 taskId, struct Task *task, struct MapObject *trainerObj); +static bool8 sub_80B435C(u8 taskId, struct Task *task, struct MapObject *trainerObj); +static bool8 sub_80B4390(u8 taskId, struct Task *task, struct MapObject *trainerObj); +static bool8 sub_80B43AC(u8 taskId, struct Task *task, struct MapObject *trainerObj); +static bool8 sub_80B43E0(u8 taskId, struct Task *task, struct MapObject *trainerObj); +static bool8 sub_80B4438(u8 taskId, struct Task *task, struct MapObject *trainerObj); +static bool8 sub_80B44AC(u8 taskId, struct Task *task, struct MapObject *trainerObj); + +static void SpriteCB_TrainerIcons(struct Sprite *sprite); + +// IWRAM common +u16 gUnknown_03006080; +u8 gUnknown_03006084[4]; +struct ApproachingTrainer gApproachingTrainers[2]; +u8 gNoOfApproachingTrainers; +u8 gUnknown_030060AC; + +// EWRAM +EWRAM_DATA u8 gApproachingTrainerId = 0; + +// const rom data +static const u8 sEmotion_ExclamationMarkGfx[] = INCBIN_U8("graphics/misc/emotion_exclamation.4bpp"); +static const u8 sEmotion_QuestionMarkGfx[] = INCBIN_U8("graphics/misc/emotion_question.4bpp"); +static const u8 sEmotion_HeartGfx[] = INCBIN_U8("graphics/misc/emotion_heart.4bpp"); + +static u8 (*const sDirectionalApproachDistanceFuncs[])(struct MapObject *trainerObj, s16 range, s16 x, s16 y) = +{ + GetTrainerApproachDistanceSouth, + GetTrainerApproachDistanceNorth, + GetTrainerApproachDistanceWest, + GetTrainerApproachDistanceEast, +}; + +static bool8 (*const sTrainerSeeFuncList[])(u8 taskId, struct Task *task, struct MapObject *trainerObj) = +{ + sub_80B4178, + sub_80B417C, + sub_80B41C0, + sub_80B4200, + sub_80B425C, + sub_80B4318, + sub_80B435C, + sub_80B4390, + sub_80B43AC, + sub_80B43E0, + sub_80B4438, + sub_80B44AC +}; + +static bool8 (*const sTrainerSeeFuncList2[])(u8 taskId, struct Task *task, struct MapObject *trainerObj) = +{ + sub_80B43AC, + sub_80B43E0, + sub_80B4438, + sub_80B44AC, +}; + +static const struct OamData sOamData_Icons = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; + +static const struct SpriteFrameImage sSpriteImageTable_ExclamationQuestionMark[] = +{ + {sEmotion_ExclamationMarkGfx, 0x80}, + {sEmotion_QuestionMarkGfx, 0x80} +}; + +static const struct SpriteFrameImage sSpriteImageTable_HeartIcon[] = +{ + {sEmotion_HeartGfx, 0x80} +}; + +static const union AnimCmd sSpriteAnim_Icons1[] = +{ + ANIMCMD_FRAME(0, 60), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_Icons2[] = +{ + ANIMCMD_FRAME(1, 60), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_Icons[] = +{ + sSpriteAnim_Icons1, + sSpriteAnim_Icons2 +}; + +static const struct SpriteTemplate sSpriteTemplate_ExclamationQuestionMark = +{ + .tileTag = 0xffff, + .paletteTag = 0xffff, + .oam = &sOamData_Icons, + .anims = sSpriteAnimTable_Icons, + .images = sSpriteImageTable_ExclamationQuestionMark, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_TrainerIcons +}; + +static const struct SpriteTemplate sSpriteTemplate_HeartIcon = +{ + .tileTag = 0xffff, + .paletteTag = 0x1004, + .oam = &sOamData_Icons, + .anims = sSpriteAnimTable_Icons, + .images = sSpriteImageTable_HeartIcon, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_TrainerIcons +}; + +// code +bool8 CheckForTrainersWantingBattle(void) +{ + u8 i; + + gNoOfApproachingTrainers = 0; + gApproachingTrainerId = 0; + + for (i = 0; i < MAP_OBJECTS_COUNT; i++) + { + u8 retVal; + + if (!gMapObjects[i].active) + continue; + if (gMapObjects[i].trainerType != 1 && gMapObjects[i].trainerType != 3) + continue; + + retVal = CheckTrainer(i); + if (retVal == 2) + break; // two trainers have been found + + if (retVal == 0) // no trainers + continue; + + if (gNoOfApproachingTrainers > 1) + break; + if (GetMonsStateToDoubles_2() != 0) // one trainer found and cant have a double battle + break; + } + + if (gNoOfApproachingTrainers == 1) + { + ResetTrainerOpponentIds(); + ConfigureAndSetUpOneTrainerBattle(gApproachingTrainers[gNoOfApproachingTrainers - 1].mapObjectId, + gApproachingTrainers[gNoOfApproachingTrainers - 1].trainerScriptPtr); + gUnknown_030060AC = 1; + return TRUE; + } + else if (gNoOfApproachingTrainers == 2) + { + ResetTrainerOpponentIds(); + for (i = 0; i < gNoOfApproachingTrainers; i++, gApproachingTrainerId++) + { + ConfigureTwoTrainersBattle(gApproachingTrainers[i].mapObjectId, + gApproachingTrainers[i].trainerScriptPtr); + } + SetUpTwoTrainersBattle(); + gApproachingTrainerId = 0; + gUnknown_030060AC = 1; + return TRUE; + } + else + { + gUnknown_030060AC = 0; + return FALSE; + } +} + +static u8 CheckTrainer(u8 mapObjectId) +{ + const u8 *scriptPtr; + u8 ret = 1; + u8 approachDistance; + + if (InTrainerHill() == TRUE) + scriptPtr = sub_81D62AC(); + else + scriptPtr = GetFieldObjectScriptPointerByFieldObjectId(mapObjectId); + + if (InBattlePyramid()) + { + if (GetBattlePyramidTrainerFlag(mapObjectId)) + return 0; + } + else if (InTrainerHill() == TRUE) + { + if (GetTrainerHillTrainerFlag(mapObjectId)) + return 0; + } + else + { + if (GetTrainerFlagFromScriptPointer(scriptPtr)) + return 0; + } + + approachDistance = GetTrainerApproachDistance(&gMapObjects[mapObjectId]); + + if (approachDistance != 0) + { + if (scriptPtr[1] == TRAINER_BATTLE_DOUBLE + || scriptPtr[1] == TRAINER_BATTLE_REMATCH_DOUBLE + || scriptPtr[1] == TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE) + { + if (GetMonsStateToDoubles_2() != 0) + return 0; + + ret = 2; + } + + gApproachingTrainers[gNoOfApproachingTrainers].mapObjectId = mapObjectId; + gApproachingTrainers[gNoOfApproachingTrainers].trainerScriptPtr = scriptPtr; + gApproachingTrainers[gNoOfApproachingTrainers].radius = approachDistance; + TrainerApproachPlayer(&gMapObjects[mapObjectId], approachDistance - 1); + gNoOfApproachingTrainers++; + + return ret; + } + + return 0; +} + +static u8 GetTrainerApproachDistance(struct MapObject *trainerObj) +{ + s16 x, y; + u8 i; + u8 approachDistance; + + PlayerGetDestCoords(&x, &y); + if (trainerObj->trainerType == 1) // can only see in one direction + { + approachDistance = sDirectionalApproachDistanceFuncs[trainerObj->mapobj_unk_18 - 1](trainerObj, trainerObj->trainerRange_berryTreeId, x, y); + return CheckPathBetweenTrainerAndPlayer(trainerObj, approachDistance, trainerObj->mapobj_unk_18); + } + else // can see in all directions + { + for (i = 0; i < 4; i++) + { + approachDistance = sDirectionalApproachDistanceFuncs[i](trainerObj, trainerObj->trainerRange_berryTreeId, x, y); + if (CheckPathBetweenTrainerAndPlayer(trainerObj, approachDistance, i + 1)) // directions are 1-4 instead of 0-3. south north west east + return approachDistance; + } + } + + return 0; +} + +// Returns how far south the player is from trainer. 0 if out of trainer's sight. +static u8 GetTrainerApproachDistanceSouth(struct MapObject *trainerObj, s16 range, s16 x, s16 y) +{ + if (trainerObj->coords2.x == x + && y > trainerObj->coords2.y + && y <= trainerObj->coords2.y + range) + return (y - trainerObj->coords2.y); + else + return 0; +} + +// Returns how far north the player is from trainer. 0 if out of trainer's sight. +static u8 GetTrainerApproachDistanceNorth(struct MapObject *trainerObj, s16 range, s16 x, s16 y) +{ + if (trainerObj->coords2.x == x + && y < trainerObj->coords2.y + && y >= trainerObj->coords2.y - range) + return (trainerObj->coords2.y - y); + else + return 0; +} + +// Returns how far west the player is from trainer. 0 if out of trainer's sight. +static u8 GetTrainerApproachDistanceWest(struct MapObject *trainerObj, s16 range, s16 x, s16 y) +{ + if (trainerObj->coords2.y == y + && x < trainerObj->coords2.x + && x >= trainerObj->coords2.x - range) + return (trainerObj->coords2.x - x); + else + return 0; +} + +// Returns how far east the player is from trainer. 0 if out of trainer's sight. +static u8 GetTrainerApproachDistanceEast(struct MapObject *trainerObj, s16 range, s16 x, s16 y) +{ + if (trainerObj->coords2.y == y + && x > trainerObj->coords2.x + && x <= trainerObj->coords2.x + range) + return (x - trainerObj->coords2.x); + else + return 0; +} + +#define COLLISION_MASK (~1) + +static u8 CheckPathBetweenTrainerAndPlayer(struct MapObject *trainerObj, u8 approachDistance, u8 direction) +{ + s16 x, y; + u8 unk19_temp; + u8 unk19b_temp; + u8 i; + u8 collision; + + if (approachDistance == 0) + return 0; + + x = trainerObj->coords2.x; + y = trainerObj->coords2.y; + + MoveCoords(direction, &x, &y); + for (i = 0; i < approachDistance - 1; i++, MoveCoords(direction, &x, &y)) + { + collision = sub_8092C8C(trainerObj, x, y, direction); + if (collision != 0 && (collision & COLLISION_MASK)) + return 0; + } + + // preserve mapobj_unk_19 before clearing. + unk19_temp = trainerObj->range.as_nybbles.x; + unk19b_temp = trainerObj->range.as_nybbles.y; + trainerObj->range.as_nybbles.x = 0; + trainerObj->range.as_nybbles.y = 0; + + collision = npc_block_way(trainerObj, x, y, direction); + + trainerObj->range.as_nybbles.x = unk19_temp; + trainerObj->range.as_nybbles.y = unk19b_temp; + if (collision == 4) + return approachDistance; + + return 0; +} + +#define tFuncId data[0] +#define tTrainerRange data[3] +#define tOutOfAshSpriteId data[4] +#define tTrainerMapObjectId data[7] + +static void TrainerApproachPlayer(struct MapObject *trainerObj, u8 range) +{ + struct Task *task; + + gApproachingTrainers[gNoOfApproachingTrainers].taskId = CreateTask(Task_RunTrainerSeeFuncList, 0x50); + task = &gTasks[gApproachingTrainers[gNoOfApproachingTrainers].taskId]; + task->tTrainerRange = range; + task->tTrainerMapObjectId = gApproachingTrainers[gNoOfApproachingTrainers].mapObjectId; +} + +static void sub_80B40C8(TaskFunc followupFunc) +{ + u8 taskId; + TaskFunc taskFunc; + + if (gApproachingTrainerId == 0) + taskId = gApproachingTrainers[0].taskId; + else + taskId = gApproachingTrainers[1].taskId; + + taskFunc = Task_RunTrainerSeeFuncList; + SetTaskFuncWithFollowupFunc(taskId, taskFunc, followupFunc); + gTasks[taskId].tFuncId = 1; + taskFunc(taskId); +} + +static void Task_RunTrainerSeeFuncList(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + struct MapObject *trainerObj = &gMapObjects[task->tTrainerMapObjectId]; + + if (!trainerObj->active) + { + SwitchTaskToFollowupFunc(taskId); + } + else + { + while (sTrainerSeeFuncList[task->tFuncId](taskId, task, trainerObj)); + } +} + +static bool8 sub_80B4178(u8 taskId, struct Task *task, struct MapObject *trainerObj) +{ + return FALSE; +} + +static bool8 sub_80B417C(u8 taskId, struct Task *task, struct MapObject *trainerObj) +{ + u8 direction; + + FieldObjectGetLocalIdAndMap(trainerObj, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1); + direction = GetFaceDirectionAnimId(trainerObj->mapobj_unk_18); + FieldObjectSetSpecialAnim(trainerObj, direction); + task->tFuncId++; + return TRUE; +} + +static bool8 sub_80B41C0(u8 taskId, struct Task *task, struct MapObject *trainerObj) +{ + if (FieldEffectActiveListContains(FLDEFF_EXCLAMATION_MARK_ICON_1)) + { + return FALSE; + } + else + { + task->tFuncId++; + if (trainerObj->animPattern == 57 || trainerObj->animPattern == 58) + task->tFuncId = 6; + if (trainerObj->animPattern == 63) + task->tFuncId = 8; + return TRUE; + } +} + +static bool8 sub_80B4200(u8 taskId, struct Task *task, struct MapObject *trainerObj) +{ + if (!(FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj)) || FieldObjectClearAnimIfSpecialAnimFinished(trainerObj)) + { + if (task->tTrainerRange) + { + FieldObjectSetSpecialAnim(trainerObj, GetGoSpeed0AnimId(trainerObj->mapobj_unk_18)); + task->tTrainerRange--; + } + else + { + FieldObjectSetSpecialAnim(trainerObj, 0x3E); + task->tFuncId++; + } + } + return FALSE; +} + +static bool8 sub_80B425C(u8 taskId, struct Task *task, struct MapObject *trainerObj) +{ + struct MapObject *playerObj; + + if (FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj) && !FieldObjectClearAnimIfSpecialAnimFinished(trainerObj)) + return FALSE; + + npc_set_running_behaviour_etc(trainerObj, npc_running_behaviour_by_direction(trainerObj->mapobj_unk_18)); + sub_808F23C(trainerObj, npc_running_behaviour_by_direction(trainerObj->mapobj_unk_18)); + sub_808F208(trainerObj); + + playerObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + if (FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(playerObj) && !FieldObjectClearAnimIfSpecialAnimFinished(playerObj)) + return FALSE; + + sub_808BCE8(); + FieldObjectSetSpecialAnim(&gMapObjects[gPlayerAvatar.mapObjectId], GetFaceDirectionAnimId(GetOppositeDirection(trainerObj->mapobj_unk_18))); + task->tFuncId++; + return FALSE; +} + +static bool8 sub_80B4318(u8 taskId, struct Task *task, struct MapObject *trainerObj) +{ + struct MapObject *playerObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(playerObj) + || FieldObjectClearAnimIfSpecialAnimFinished(playerObj)) + SwitchTaskToFollowupFunc(taskId); + return FALSE; +} + +static bool8 sub_80B435C(u8 taskId, struct Task *task, struct MapObject *trainerObj) +{ + if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj) + || FieldObjectClearAnimIfSpecialAnimFinished(trainerObj)) + { + FieldObjectSetSpecialAnim(trainerObj, 0x59); + task->tFuncId++; + } + return FALSE; +} + +static bool8 sub_80B4390(u8 taskId, struct Task *task, struct MapObject *trainerObj) +{ + if (FieldObjectClearAnimIfSpecialAnimFinished(trainerObj)) + task->tFuncId = 3; + + return FALSE; +} + +static bool8 sub_80B43AC(u8 taskId, struct Task *task, struct MapObject *trainerObj) +{ + if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj) + || FieldObjectClearAnimIfSpecialAnimFinished(trainerObj)) + { + FieldObjectSetSpecialAnim(trainerObj, 0x3E); + task->tFuncId++; + } + return FALSE; +} + +static bool8 sub_80B43E0(u8 taskId, struct Task *task, struct MapObject *trainerObj) +{ + if (FieldObjectCheckIfSpecialAnimFinishedOrInactive(trainerObj)) + { + gFieldEffectArguments[0] = trainerObj->coords2.x; + gFieldEffectArguments[1] = trainerObj->coords2.y; + gFieldEffectArguments[2] = gSprites[trainerObj->spriteId].subpriority - 1; + gFieldEffectArguments[3] = 2; + task->tOutOfAshSpriteId = FieldEffectStart(FLDEFF_POP_OUT_OF_ASH); + task->tFuncId++; + } + return FALSE; +} + +static bool8 sub_80B4438(u8 taskId, struct Task *task, struct MapObject *trainerObj) +{ + struct Sprite *sprite; + + if (gSprites[task->tOutOfAshSpriteId].animCmdIndex == 2) + { + trainerObj->mapobj_bit_26 = 0; + trainerObj->mapobj_bit_2 = 1; + + sprite = &gSprites[trainerObj->spriteId]; + sprite->oam.priority = 2; + FieldObjectClearAnimIfSpecialAnimFinished(trainerObj); + FieldObjectSetSpecialAnim(trainerObj, sub_80934BC(trainerObj->mapobj_unk_18)); + task->tFuncId++; + } + + return FALSE; +} + +static bool8 sub_80B44AC(u8 taskId, struct Task *task, struct MapObject *trainerObj) +{ + if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) + task->tFuncId = 3; + + return FALSE; +} + +#undef tFuncId +#undef tTrainerRange +#undef tOutOfAshSpriteId +#undef tTrainerMapObjectId + +static void sub_80B44C8(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + struct MapObject *mapObj; + + // another mapObj loaded into by loadword? + LoadWordFromTwoHalfwords(&task->data[1], (u32 *)&mapObj); + if (!task->data[7]) + { + FieldObjectClearAnim(mapObj); + task->data[7]++; + } + sTrainerSeeFuncList2[task->data[0]](taskId, task, mapObj); + if (task->data[0] == 3 && !FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) + { + npc_set_running_behaviour_etc(mapObj, npc_running_behaviour_by_direction(mapObj->mapobj_unk_18)); + sub_808F23C(mapObj, npc_running_behaviour_by_direction(mapObj->mapobj_unk_18)); + DestroyTask(taskId); + } + else + { + mapObj->mapobj_bit_7 = 0; + } +} + +void sub_80B4578(struct MapObject *var) +{ + StoreWordInTwoHalfwords(&gTasks[CreateTask(sub_80B44C8, 0)].data[1], (u32)var); +} + +void EndTrainerApproach(void) +{ + sub_80B40C8(Task_DestroyTrainerApproachTask); +} + +static void Task_DestroyTrainerApproachTask(u8 taskId) +{ + DestroyTask(taskId); + EnableBothScriptContexts(); +} + +void sub_80B45D0(void) +{ + if (gNoOfApproachingTrainers == 2) + { + if (gApproachingTrainerId == 0) + { + gApproachingTrainerId++; + gSpecialVar_Result = 1; + UnfreezeMapObjects(); + FreezeMapObjectsExceptOne(gApproachingTrainers[1].mapObjectId); + } + else + { + gApproachingTrainerId = 0; + gSpecialVar_Result = 0; + } + } + else + { + gSpecialVar_Result = 0; + } +} + +#define sLocalId data[0] +#define sMapNum data[1] +#define sMapGroup data[2] +#define sData3 data[3] +#define sData4 data[4] +#define sFldEffId data[7] + +u8 FldEff_ExclamationMarkIcon1(void) +{ + u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_ExclamationQuestionMark, 0, 0, 0x53); + + if (spriteId != MAX_SPRITES) + SetIconSpriteData(&gSprites[spriteId], FLDEFF_EXCLAMATION_MARK_ICON_1, 0); + + return 0; +} + +u8 FldEff_ExclamationMarkIcon2(void) +{ + u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_ExclamationQuestionMark, 0, 0, 0x52); + + if (spriteId != MAX_SPRITES) + SetIconSpriteData(&gSprites[spriteId], FLDEFF_EXCLAMATION_MARK_ICON_2, 1); + + return 0; +} + +u8 FldEff_HeartIcon(void) +{ + u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_HeartIcon, 0, 0, 0x52); + + if (spriteId != MAX_SPRITES) + { + struct Sprite *sprite = &gSprites[spriteId]; + + SetIconSpriteData(sprite, FLDEFF_HEART_ICON, 0); + sprite->oam.paletteNum = 2; + } + + return 0; +} + +static void SetIconSpriteData(struct Sprite *sprite, u16 fldEffId, u8 spriteAnimNum) +{ + sprite->oam.priority = 1; + sprite->coordOffsetEnabled = 1; + + sprite->sLocalId = gFieldEffectArguments[0]; + sprite->sMapNum = gFieldEffectArguments[1]; + sprite->sMapGroup = gFieldEffectArguments[2]; + sprite->sData3 = -5; + sprite->sFldEffId = fldEffId; + + StartSpriteAnim(sprite, spriteAnimNum); +} + +static void SpriteCB_TrainerIcons(struct Sprite *sprite) +{ + u8 mapObjId; + + if (TryGetFieldObjectIdByLocalIdAndMap(sprite->sLocalId, sprite->sMapNum, sprite->sMapGroup, &mapObjId) + || sprite->animEnded) + { + FieldEffectStop(sprite, sprite->sFldEffId); + } + else + { + struct Sprite *mapObjSprite = &gSprites[gMapObjects[mapObjId].spriteId]; + sprite->sData4 += sprite->sData3; + sprite->pos1.x = mapObjSprite->pos1.x; + sprite->pos1.y = mapObjSprite->pos1.y - 16; + sprite->pos2.x = mapObjSprite->pos2.x; + sprite->pos2.y = mapObjSprite->pos2.y + sprite->sData4; + if (sprite->sData4) + sprite->sData3++; + else + sprite->sData3 = 0; + } +} + +#undef sLocalId +#undef sMapNum +#undef sMapGroup +#undef sData3 +#undef sData4 +#undef sFldEffId + +u8 GetCurrentApproachingTrainerMapObjectId(void) +{ + if (gApproachingTrainerId == 0) + return gApproachingTrainers[0].mapObjectId; + else + return gApproachingTrainers[1].mapObjectId; +} + +u8 GetChosenApproachingTrainerMapObjectId(u8 arrayId) +{ + if (arrayId >= ARRAY_COUNT(gApproachingTrainers)) + return 0; + else if (arrayId == 0) + return gApproachingTrainers[0].mapObjectId; + else + return gApproachingTrainers[1].mapObjectId; +} + +void sub_80B4808(void) +{ + struct MapObject *trainerObj; + + if (gUnknown_030060AC == 1) + { + trainerObj = &gMapObjects[gApproachingTrainers[gUnknown_03006080].mapObjectId]; + gUnknown_03006084[0] = GetFaceDirectionAnimId(GetOppositeDirection(trainerObj->mapobj_unk_18)); + gUnknown_03006084[1] = 0xFE; + ScriptMovement_StartObjectMovementScript(0xFF, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gUnknown_03006084); + } + else + { + trainerObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + gUnknown_03006084[0] = GetFaceDirectionAnimId(trainerObj->mapobj_unk_18); + gUnknown_03006084[1] = 0xFE; + ScriptMovement_StartObjectMovementScript(0xFF, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gUnknown_03006084); + } + + sub_809BE48(0xFF); +} diff --git a/src/tv.c b/src/tv.c index 3c822b394f..ddcff9f1d0 100644 --- a/src/tv.c +++ b/src/tv.c @@ -1,10 +1,8 @@ - -// Includes #include "global.h" #include "rtc.h" #include "overworld.h" -#include "map_constants.h" -#include "rng.h" +#include "constants/maps.h" +#include "random.h" #include "event_data.h" #include "fieldmap.h" #include "field_camera.h" @@ -14,12 +12,12 @@ #include "pokemon_storage_system.h" #include "field_message_box.h" #include "easy_chat.h" -#include "species.h" -#include "moves.h" +#include "constants/species.h" +#include "constants/moves.h" #include "battle.h" #include "battle_tower.h" #include "contest.h" -#include "items.h" +#include "constants/items.h" #include "item.h" #include "link.h" #include "main.h" @@ -34,10 +32,14 @@ #include "naming_screen.h" #include "malloc.h" #include "region_map.h" +#include "constants/region_map_sections.h" #include "decoration.h" #include "secret_base.h" #include "tv.h" +extern const u8 gSpeciesNames[][11]; +extern const u8 gMoveNames[][13]; + // Static type declarations #define rbernoulli(num, den) TV_BernoulliTrial(0xFFFF * (num) / (den)) @@ -214,23 +216,23 @@ const struct { // TODO: Figure out what these are, and define constants in include/flags.h const u16 sGoldSymbolFlags[] = { - SYS_TOWER_GOLD, - SYS_DOME_GOLD, - SYS_PALACE_GOLD, - SYS_ARENA_GOLD, - SYS_FACTORY_GOLD, - SYS_PIKE_GOLD, - SYS_PYRAMID_GOLD + FLAG_SYS_TOWER_GOLD, + FLAG_SYS_DOME_GOLD, + FLAG_SYS_PALACE_GOLD, + FLAG_SYS_ARENA_GOLD, + FLAG_SYS_FACTORY_GOLD, + FLAG_SYS_PIKE_GOLD, + FLAG_SYS_PYRAMID_GOLD }; const u16 sSilverSymbolFlags[] = { - SYS_TOWER_SILVER, - SYS_DOME_SILVER, - SYS_PALACE_SILVER, - SYS_ARENA_SILVER, - SYS_FACTORY_SILVER, - SYS_PIKE_SILVER, - SYS_PYRAMID_SILVER + FLAG_SYS_TOWER_SILVER, + FLAG_SYS_DOME_SILVER, + FLAG_SYS_PALACE_SILVER, + FLAG_SYS_ARENA_SILVER, + FLAG_SYS_FACTORY_SILVER, + FLAG_SYS_PIKE_SILVER, + FLAG_SYS_PYRAMID_SILVER }; // TODO: Figure out what these are, and define constants in include/vars.h @@ -823,7 +825,7 @@ u8 FindAnyTVShowOnTheAir(void) void UpdateTVScreensOnMap(int width, int height) { - FlagSet(SYS_TV_WATCH); + FlagSet(FLAG_SYS_TV_WATCH); switch (CheckForBigMovieOrEmergencyNewsOnTV()) { case 1: @@ -832,13 +834,13 @@ void UpdateTVScreensOnMap(int width, int height) case 2: break; default: - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F && gSaveBlock1Ptr->location.mapNum == MAP_ID_LILYCOVE_CITY_COVE_LILY_MOTEL_1F) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(LILYCOVE_CITY_COVE_LILY_MOTEL_1F) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(LILYCOVE_CITY_COVE_LILY_MOTEL_1F)) { SetTVMetatilesOnMap(width, height, 0x3); } - else if (FlagGet(SYS_TV_START) && (FindAnyTVShowOnTheAir() != 0xff || FindAnyTVNewsOnTheAir() != 0xff || IsTVShowInSearchOfTrainersAiring())) + else if (FlagGet(FLAG_SYS_TV_START) && (FindAnyTVShowOnTheAir() != 0xff || FindAnyTVNewsOnTheAir() != 0xff || IsTVShowInSearchOfTrainersAiring())) { - FlagClear(SYS_TV_WATCH); + FlagClear(FLAG_SYS_TV_WATCH); SetTVMetatilesOnMap(width, height, 0x3); } break; @@ -1206,7 +1208,7 @@ void PutPokemonTodayFailedOnTheAir(void) { ct = 0xFF; } - if (ct > 2 && (gBattleOutcome == BATTLE_POKE_FLED || gBattleOutcome == BATTLE_WON)) + if (ct > 2 && (gBattleOutcome == B_OUTCOME_MON_FLED || gBattleOutcome == B_OUTCOME_WON)) { sCurTVShowSlot = FindEmptyTVSlotBeyondFirstFiveShowsOfArray(gSaveBlock1Ptr->tvShows); if (sCurTVShowSlot != -1 && HasMixableShowAlreadyBeenSpawnedWithPlayerID(TVSHOW_POKEMON_TODAY_FAILED, FALSE) != TRUE) @@ -1263,7 +1265,7 @@ void InterviewAfter_ContestLiveUpdates(void) show2->contestLiveUpdates.kind = TVSHOW_CONTEST_LIVE_UPDATES; show2->contestLiveUpdates.active = TRUE; StringCopy(show2->contestLiveUpdates.playerName, gSaveBlock2Ptr->playerName); - show2->contestLiveUpdates.category = gScriptContestCategory; + show2->contestLiveUpdates.category = gSpecialVar_ContestCategory; show2->contestLiveUpdates.species = GetMonData(&gPlayerParty[gUnknown_02039F24], MON_DATA_SPECIES, NULL); show2->contestLiveUpdates.winningSpecies = show->contestLiveUpdates.winningSpecies; show2->contestLiveUpdates.appealFlags2 = show->contestLiveUpdates.appealFlags2; @@ -1288,7 +1290,7 @@ void PutBattleUpdateOnTheAir(u8 a0, u16 a1, u16 a2, u16 a3) if (sCurTVShowSlot != -1) { FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_BATTLE_UPDATE); - if (gScriptResult != 1) + if (gSpecialVar_Result != 1) { show = &gSaveBlock1Ptr->tvShows[sCurTVShowSlot]; show->battleUpdate.kind = TVSHOW_BATTLE_UPDATE; @@ -1337,7 +1339,7 @@ bool8 Put3CheersForPokeblocksOnTheAir(const u8 *partnersName, u8 flavor, u8 unus return FALSE; } FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_3_CHEERS_FOR_POKEBLOCKS); - if (gScriptResult == 1) + if (gSpecialVar_Result == 1) { return FALSE; } @@ -1527,8 +1529,8 @@ void BravoTrainerPokemonProfile_BeforeInterview2(u8 a0) if (sCurTVShowSlot != -1) { show->bravoTrainer.contestResult = a0; - show->bravoTrainer.contestCategory = gScriptContestCategory; - show->bravoTrainer.contestRank = gUnknown_02039F2E; + show->bravoTrainer.contestCategory = gSpecialVar_ContestCategory; + show->bravoTrainer.contestRank = gSpecialVar_ContestRank; show->bravoTrainer.species = GetMonData(&gPlayerParty[gUnknown_02039F24], MON_DATA_SPECIES, NULL); GetMonData(&gPlayerParty[gUnknown_02039F24], MON_DATA_NICKNAME, show->bravoTrainer.pokemonNickname); StripExtCtrlCodes(show->bravoTrainer.pokemonNickname); @@ -1575,7 +1577,9 @@ void SaveRecordedItemPurchasesForTVShow(void) TVShow *show; u8 i; - if (!(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP_TRAINER_HILL_LOBBY && gSaveBlock1Ptr->location.mapNum == MAP_ID_TRAINER_HILL_LOBBY) && !(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP_BATTLE_FRONTIER_MART && gSaveBlock1Ptr->location.mapNum == MAP_ID_BATTLE_FRONTIER_MART) && !rbernoulli(1, 3)) + if (!(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(TRAINER_HILL_ENTRANCE) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_HILL_ENTRANCE)) + && !(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_MART) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_MART)) + && !rbernoulli(1, 3)) { sCurTVShowSlot = FindEmptyTVSlotBeyondFirstFiveShowsOfArray(gSaveBlock1Ptr->tvShows); if (sCurTVShowSlot != -1 && HasMixableShowAlreadyBeenSpawnedWithPlayerID(TVSHOW_SMART_SHOPPER, FALSE) != TRUE) @@ -1606,7 +1610,7 @@ void PutNameRaterShowOnTheAir(void) TVShow *show; InterviewBefore_NameRater(); - if (gScriptResult != 1) + if (gSpecialVar_Result != 1) { GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar1); if (StringLength(gSaveBlock2Ptr->playerName) > 1 && StringLength(gStringVar1) > 1) @@ -1653,7 +1657,7 @@ void PutLilycoveContestLadyShowOnTheAir(void) TVShow *show; sub_80EFA88(); - if (gScriptResult != TRUE) + if (gSpecialVar_Result != TRUE) { show = &gSaveBlock1Ptr->tvShows[sCurTVShowSlot]; sub_818E848(&show->contestLiveUpdates2.language); @@ -1731,7 +1735,7 @@ void sub_80ED718(void) u16 outbreakIdx; TVShow *show; - if (FlagGet(SYS_GAME_CLEAR)) + if (FlagGet(FLAG_SYS_GAME_CLEAR)) { for (i = 0; i < 24; i ++) { @@ -1788,7 +1792,7 @@ void EndMassOutbreak(void) gSaveBlock1Ptr->outbreakDaysLeft = 0; } -void sub_80ED888(u16 days) +void UpdateTVShowsPerDay(u16 days) { sub_80ED8B4(days); @@ -1883,7 +1887,7 @@ void PutFishingAdviceShowOnTheAir(void) } } -void sub_80EDA3C(u16 species) +void SetPokemonAnglerSpecies(u16 species) { sPokemonAnglerSpecies = species; } @@ -1943,7 +1947,7 @@ void sub_80EDB44(void) show = &gSaveBlock1Ptr->tvShows[sCurTVShowSlot]; show->rivalTrainer.kind = TVSHOW_TODAYS_RIVAL_TRAINER; show->rivalTrainer.active = FALSE; - for (i = BADGE01_GET, nBadges = 0; i < BADGE01_GET + 8; i ++) + for (i = FLAG_BADGE01_GET, nBadges = 0; i < FLAG_BADGE01_GET + 8; i ++) { if (FlagGet(i)) { @@ -2398,23 +2402,23 @@ void sub_80EE184(void) show->breakingNews.poke1Species = gBattleResults.playerMon1Species; switch (gBattleOutcome) { - case BATTLE_LOST: - case BATTLE_DREW: + case B_OUTCOME_LOST: + case B_OUTCOME_DREW: show->breakingNews.kind = TVSHOW_OFF_AIR; return; - case BATTLE_CAUGHT: + case B_OUTCOME_CAUGHT: show->breakingNews.outcome = 0; break; - case BATTLE_WON: + case B_OUTCOME_WON: show->breakingNews.outcome = 1; break; - case BATTLE_RAN: - case BATTLE_PLAYER_TELEPORTED: - case BATTLE_SAFARI_OUT_OF_BALLS: + case B_OUTCOME_RAN: + case B_OUTCOME_PLAYER_TELEPORTED: + case B_OUTCOME_NO_SAFARI_BALLS: show->breakingNews.outcome = 2; break; - case BATTLE_POKE_FLED: - case BATTLE_OPPONENT_TELEPORTED: + case B_OUTCOME_MON_FLED: + case B_OUTCOME_MON_TELEPORTED: show->breakingNews.outcome = 3; break; } @@ -2613,7 +2617,7 @@ bool8 sub_80EE7C0(void) return TRUE; } FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_FAN_CLUB_SPECIAL); - if (gScriptResult == TRUE) + if (gSpecialVar_Result == TRUE) { return TRUE; } @@ -2814,7 +2818,7 @@ void sub_80EED88(void) { u8 newsKind; - if (FlagGet(SYS_GAME_CLEAR)) + if (FlagGet(FLAG_SYS_GAME_CLEAR)) { sCurTVShowSlot = sub_80EEE30(gSaveBlock1Ptr->pokeNews); if (sCurTVShowSlot != -1 && rbernoulli(1, 100) != TRUE) @@ -2905,7 +2909,7 @@ void DoPokeNews(void) i = FindAnyTVNewsOnTheAir(); if (i == 0xFF) { - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; } else { @@ -2928,7 +2932,7 @@ void DoPokeNews(void) gSaveBlock1Ptr->pokeNews[i].state = 0; ShowFieldMessage(sPokeNewsTextGroup_Upcoming[gSaveBlock1Ptr->pokeNews[i].kind]); } - gScriptResult = TRUE; + gSpecialVar_Result = TRUE; } } @@ -2959,13 +2963,13 @@ bool8 IsPriceDiscounted(u8 newsKind) switch (newsKind) { case POKENEWS_SLATEPORT: - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP_SLATEPORT_CITY && gSaveBlock1Ptr->location.mapNum == MAP_ID_SLATEPORT_CITY && gScriptLastTalked == 25) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SLATEPORT_CITY) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(SLATEPORT_CITY) && gSpecialVar_LastTalked == 25) { return TRUE; } return FALSE; case POKENEWS_LILYCOVE: - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP && gSaveBlock1Ptr->location.mapNum == MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP)) { return TRUE; } @@ -3005,7 +3009,7 @@ void sub_80EF120(u16 days) } else { - if (gSaveBlock1Ptr->pokeNews[i].state == 0 && FlagGet(SYS_GAME_CLEAR) == TRUE) + if (gSaveBlock1Ptr->pokeNews[i].state == 0 && FlagGet(FLAG_SYS_GAME_CLEAR) == TRUE) { gSaveBlock1Ptr->pokeNews[i].state = 1; } @@ -3189,7 +3193,7 @@ void FindActiveBroadcastByShowType_SetScriptResult(u8 kind) { if (gSaveBlock1Ptr->tvShows[i].common.active == TRUE) { - gScriptResult = TRUE; + gSpecialVar_Result = TRUE; } else { @@ -3205,7 +3209,7 @@ void FindActiveBroadcastByShowType_SetScriptResult(u8 kind) void InterviewBefore(void) { - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; switch (gSpecialVar_0x8005) { case TVSHOW_FAN_CLUB_LETTER: @@ -3244,7 +3248,7 @@ void InterviewBefore(void) void InterviewBefore_FanClubLetter(void) { FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_FAN_CLUB_LETTER); - if (!gScriptResult) + if (!gSpecialVar_Result) { StringCopy(gStringVar1, gSpeciesNames[GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_SPECIES, NULL)]); InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].fanclubLetter.words, 6); @@ -3254,7 +3258,7 @@ void InterviewBefore_FanClubLetter(void) void InterviewBefore_RecentHappenings(void) { FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_RECENT_HAPPENINGS); - if (!gScriptResult) + if (!gSpecialVar_Result) { InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].recentHappenings.words, 6); } @@ -3263,7 +3267,7 @@ void InterviewBefore_RecentHappenings(void) void InterviewBefore_PkmnFanClubOpinions(void) { FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_PKMN_FAN_CLUB_OPINIONS); - if (!gScriptResult) + if (!gSpecialVar_Result) { StringCopy(gStringVar1, gSpeciesNames[GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_SPECIES, NULL)]); GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_NICKNAME, gStringVar2); @@ -3274,7 +3278,7 @@ void InterviewBefore_PkmnFanClubOpinions(void) void InterviewBefore_Dummy(void) { - gScriptResult = TRUE; + gSpecialVar_Result = TRUE; } void InterviewBefore_NameRater(void) @@ -3285,7 +3289,7 @@ void InterviewBefore_NameRater(void) void InterviewBefore_BravoTrainerPkmnProfile(void) { FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE); - if (!gScriptResult) + if (!gSpecialVar_Result) { InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].bravoTrainer.words, 2); } @@ -3304,7 +3308,7 @@ void InterviewBefore_3CheersForPokeblocks(void) void InterviewBefore_BravoTrainerBTProfile(void) { FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE); - if (!gScriptResult) + if (!gSpecialVar_Result) { InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].bravoTrainerTower.words, 1); } @@ -3313,7 +3317,7 @@ void InterviewBefore_BravoTrainerBTProfile(void) void InterviewBefore_FanClubSpecial(void) { FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_FAN_CLUB_SPECIAL); - if (!gScriptResult) + if (!gSpecialVar_Result) { InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].fanClubSpecial.words, 1); } @@ -3429,11 +3433,11 @@ void sub_80EFA88(void) gSpecialVar_0x8006 = sCurTVShowSlot; if (sCurTVShowSlot == -1) { - gScriptResult = TRUE; + gSpecialVar_Result = TRUE; } else { - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; } } @@ -3636,7 +3640,7 @@ void ChangeBoxPokemonNickname(void) { struct BoxPokemon *boxMon; - boxMon = GetBoxedMonPtr(gSpecialVar_0x8012, gSpecialVar_0x8013); + boxMon = GetBoxedMonPtr(gSpecialVar_MonBoxId, gSpecialVar_MonBoxPos); GetBoxMonData(boxMon, MON_DATA_NICKNAME, gStringVar3); GetBoxMonData(boxMon, MON_DATA_NICKNAME, gStringVar2); DoNamingScreen(3, gStringVar2, GetBoxMonData(boxMon, MON_DATA_SPECIES, NULL), GetBoxMonGender(boxMon), GetBoxMonData(boxMon, MON_DATA_PERSONALITY, NULL), ChangeBoxPokemonNickname_CB); @@ -3644,7 +3648,7 @@ void ChangeBoxPokemonNickname(void) void ChangeBoxPokemonNickname_CB(void) { - SetBoxMonNickFromAnyBox(gSpecialVar_0x8012, gSpecialVar_0x8013, gStringVar2); + SetBoxMonNickFromAnyBox(gSpecialVar_MonBoxId, gSpecialVar_MonBoxPos, gStringVar2); c2_exit_to_overworld_1_continue_scripts_restart_music(); } @@ -3658,11 +3662,11 @@ void TV_CheckMonOTIDEqualsPlayerID(void) { if (GetPlayerIDAsU32() == GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_OT_ID, NULL)) { - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; } else { - gScriptResult = TRUE; + gSpecialVar_Result = TRUE; } } @@ -3694,29 +3698,29 @@ u32 GetPlayerIDAsU32(void) u8 CheckForBigMovieOrEmergencyNewsOnTV(void) { - if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F) + if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F)) { return 0; } if (gSaveBlock2Ptr->playerGender == MALE) { - if (gSaveBlock1Ptr->location.mapNum != MAP_ID_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F) + if (gSaveBlock1Ptr->location.mapNum != MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F)) { return 0; } } else { - if (gSaveBlock1Ptr->location.mapNum != MAP_ID_LITTLEROOT_TOWN_MAYS_HOUSE_1F) + if (gSaveBlock1Ptr->location.mapNum != MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_1F)) { return 0; } } - if (FlagGet(SYS_TV_LATI) == TRUE) + if (FlagGet(FLAG_SYS_TV_LATI) == TRUE) { return 1; } - if (FlagGet(SYS_TV_HOME) == TRUE) + if (FlagGet(FLAG_SYS_TV_HOME) == TRUE) { return 2; } @@ -3725,11 +3729,11 @@ u8 CheckForBigMovieOrEmergencyNewsOnTV(void) void GetMomOrDadStringForTVMessage(void) { - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F)) { if (gSaveBlock2Ptr->playerGender == MALE) { - if (gSaveBlock1Ptr->location.mapNum == MAP_ID_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F) + if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F)) { StringCopy(gStringVar1, gText_Mom); VarSet(VAR_0x4003, 1); @@ -3737,7 +3741,7 @@ void GetMomOrDadStringForTVMessage(void) } else { - if (gSaveBlock1Ptr->location.mapNum == MAP_ID_LITTLEROOT_TOWN_MAYS_HOUSE_1F) + if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_1F)) { StringCopy(gStringVar1, gText_Mom); VarSet(VAR_0x4003, 1); @@ -4561,7 +4565,7 @@ void sub_80F0B64(void) { u16 i; - if (FlagGet(SYS_GAME_CLEAR) != TRUE) + if (FlagGet(FLAG_SYS_GAME_CLEAR) != TRUE) { for (i = 0; i < 24; i ++) { @@ -4736,7 +4740,7 @@ void sub_80F0F24(void) { u8 i; - if (FlagGet(SYS_GAME_CLEAR) != TRUE) + if (FlagGet(FLAG_SYS_GAME_CLEAR) != TRUE) { for (i = 0; i < 16; i ++) { @@ -5108,7 +5112,7 @@ void DoTVShowBravoTrainerPokemonProfile(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -5180,7 +5184,7 @@ void DoTVShowBravoTrainerBattleTower(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch(state) { @@ -5277,7 +5281,7 @@ void DoTVShowTodaysSmartShopper(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch(state) { @@ -5400,7 +5404,7 @@ void DoTVShowTheNameRaterShow(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -5498,7 +5502,7 @@ void DoTVShowPokemonTodaySuccessfulCapture(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -5576,7 +5580,7 @@ void DoTVShowPokemonTodayFailedCapture(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -5630,7 +5634,7 @@ void DoTVShowPokemonFanClubLetter(void) u16 rval; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -5683,7 +5687,7 @@ void DoTVShowRecentHappenings(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -5718,7 +5722,7 @@ void DoTVShowPokemonFanClubOpinions(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -5768,7 +5772,7 @@ void DoTVShowPokemonContestLiveUpdates(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -6115,7 +6119,7 @@ void DoTVShowPokemonBattleUpdate(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -6187,7 +6191,7 @@ void DoTVShow3CheersForPokeblocks(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -6288,7 +6292,7 @@ void DoTVShowInSearchOfTrainers(void) { u8 state; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -6344,7 +6348,7 @@ void DoTVShowInSearchOfTrainers(void) CopyEasyChatWord(gStringVar1, gSaveBlock1Ptr->gabbyAndTyData.quote[0]); StringCopy(gStringVar2, gSpeciesNames[gSaveBlock1Ptr->gabbyAndTyData.mon1]); StringCopy(gStringVar3, gSpeciesNames[gSaveBlock1Ptr->gabbyAndTyData.mon2]); - gScriptResult = TRUE; + gSpecialVar_Result = TRUE; sTVShowState = 0; TakeTVShowInSearchOfTrainersOffTheAir(); break; @@ -6358,7 +6362,7 @@ void DoTVShowPokemonAngler(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; if (show->pokemonAngler.nBites < show->pokemonAngler.nFails) { sTVShowState = 0; @@ -6392,7 +6396,7 @@ void DoTVShowTheWorldOfMasters(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -6422,7 +6426,7 @@ void DoTVShowTodaysRivalTrainer(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -6432,10 +6436,10 @@ void DoTVShowTodaysRivalTrainer(void) default: sTVShowState = 7; break; - case REGION_MAP_SECRET_BASE: + case MAPSEC_SECRET_BASE: sTVShowState = 8; break; - case REGION_MAP_NONE: + case MAPSEC_DYNAMIC: switch (show->rivalTrainer.mapDataId) { case 0x115 ... 0x117: @@ -6499,7 +6503,7 @@ void DoTVShowTodaysRivalTrainer(void) break; case 1: TV_PrintIntToStringVar(0, show->rivalTrainer.badgeCount); - if (FlagGet(CODE_FLAGS + 0x48)) + if (FlagGet(FLAG_LANDMARK_BATTLE_FRONTIER)) { if (show->rivalTrainer.nSilverSymbols || show->rivalTrainer.nGoldSymbols) { @@ -6516,7 +6520,7 @@ void DoTVShowTodaysRivalTrainer(void) } break; case 2: - if (FlagGet(CODE_FLAGS + 0x48)) + if (FlagGet(FLAG_LANDMARK_BATTLE_FRONTIER)) { if (show->rivalTrainer.nSilverSymbols || show->rivalTrainer.nGoldSymbols) { @@ -6571,7 +6575,7 @@ void DoTVShowDewfordTrendWatcherNetwork(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -6627,13 +6631,13 @@ void DoTVShowHoennTreasureInvestigators(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { case 0: StringCopy(gStringVar1, ItemId_GetItem(show->treasureInvestigators.item)->name); - if (show->treasureInvestigators.location == REGION_MAP_NONE) + if (show->treasureInvestigators.location == MAPSEC_DYNAMIC) { switch (show->treasureInvestigators.mapDataId) { @@ -6671,7 +6675,7 @@ void DoTVShowFindThatGamer(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -6745,7 +6749,7 @@ void DoTVShowBreakingNewsTV(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -6848,7 +6852,7 @@ void DoTVShowSecretBaseVisit(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -6944,7 +6948,7 @@ void DoTVShowPokemonLotteryWinnerFlashReport(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; TVShowConvertInternationalString(gStringVar1, show->lottoWinner.playerName, show->lottoWinner.language); if (show->lottoWinner.whichPrize == 0) @@ -6974,7 +6978,7 @@ void DoTVShowThePokemonBattleSeminar(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -7038,7 +7042,7 @@ void DoTVShowTrainerFanClubSpecial(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -7104,7 +7108,7 @@ void DoTVShowTrainerFanClub(void) u32 playerId; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -7191,7 +7195,7 @@ void DoTVShowSpotTheCuties(void) u32 playerId; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -7296,7 +7300,7 @@ void DoTVShowPokemonNewsBattleFrontier(void) u32 playerId; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -7445,7 +7449,7 @@ void DoTVShowWhatsNo1InHoennToday(void) u32 playerId; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -7561,7 +7565,7 @@ void DoTVShowSecretBaseSecrets(void) u16 i; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -7797,7 +7801,7 @@ void DoTVShowSafariFanClub(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -7884,7 +7888,7 @@ void DoTVShowPokemonContestLiveUpdates2(void) u8 state; show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; - gScriptResult = FALSE; + gSpecialVar_Result = FALSE; state = sTVShowState; switch (state) { @@ -7916,7 +7920,7 @@ void DoTVShowPokemonContestLiveUpdates2(void) void TVShowDone(void) { - gScriptResult = TRUE; + gSpecialVar_Result = TRUE; sTVShowState = 0; gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004].common.active = FALSE; } diff --git a/src/unk_81BAD84.c b/src/unk_81BAD84.c new file mode 100644 index 0000000000..c0d891c12a --- /dev/null +++ b/src/unk_81BAD84.c @@ -0,0 +1,47 @@ +#include "global.h" +#include "graphics.h" + +const struct { + const u8 *gfx; + const u8 *tileMap; + const u16 *pltt; +} gUnknown_08617128[] = { + { + gBerryFixGameboy_Gfx, + gBerryFixGameboy_Tilemap, + gBerryFixGameboy_Pal + }, { + gBerryFixGameboyLogo_Gfx, + gBerryFixGameboyLogo_Tilemap, + gBerryFixGameboyLogo_Pal + }, { + gBerryFixGbaTransfer_Gfx, + gBerryFixGbaTransfer_Tilemap, + gBerryFixGbaTransfer_Pal + }, { + gBerryFixGbaTransferHighlight_Gfx, + gBerryFixGbaTransferHighlight_Tilemap, + gBerryFixGbaTransferHighlight_Pal + }, { + gBerryFixGbaTransferError_Gfx, + gBerryFixGbaTransferError_Tilemap, + gBerryFixGbaTransferError_Pal + }, { + gBerryFixWindow_Gfx, + gBerryFixWindow_Tilemap, + gBerryFixWindow_Pal + } +}; + +void sub_81BAD84(u32 idx) +{ + REG_DISPCNT = 0x0000; + REG_BG0HOFS = 0x0000; + REG_BG0VOFS = 0x0000; + REG_BLDCNT = 0x0000; + LZ77UnCompVram(gUnknown_08617128[idx].gfx, (void *)BG_CHAR_ADDR(0)); + LZ77UnCompVram(gUnknown_08617128[idx].tileMap, (void *)BG_SCREEN_ADDR(31)); + CpuCopy16(gUnknown_08617128[idx].pltt, (void *)PLTT, 0x200); + REG_BG0CNT = 0x1f00; + REG_DISPCNT = DISPCNT_BG0_ON; +} diff --git a/src/unk_text_util.c b/src/unk_text_util.c new file mode 100644 index 0000000000..2773522b2a --- /dev/null +++ b/src/unk_text_util.c @@ -0,0 +1,56 @@ +#include "global.h" +#include "text.h" +#include "unk_text_util.h" +#include "string_util.h" + +static EWRAM_DATA const u8 *sStringPointers[8] = {}; + +void UnkTextUtil_Reset(void) +{ + const u8 **ptr; + u8 *fillval; + const u8 **ptr2; + + ptr = sStringPointers; + fillval = NULL; + ptr2 = ptr + (ARRAY_COUNT(sStringPointers) - 1); + do + { + *ptr2-- = fillval; + } while ((int)ptr2 >= (int)ptr); +} + +void UnkTextUtil_SetPtrI(u8 idx, const u8 *ptr) +{ + if (idx < ARRAY_COUNT(sStringPointers)) + { + sStringPointers[idx] = ptr; + } +} + +u8 *UnkTextUtil_StringExpandPlaceholders(u8 *dest, const u8 *src) +{ + while (*src != EOS) + { + if (*src != CHAR_SPECIAL_F7) + { + *dest++ = *src++; + } + else + { + src++; + if (sStringPointers[*src] != NULL) + { + dest = StringCopy(dest, sStringPointers[*src]); + } + src++; + } + } + *dest = EOS; + return dest; +} + +const u8 *UnkTextUtil_GetPtrI(u8 idx) +{ + return sStringPointers[idx]; +} diff --git a/src/unk_text_util_2.c b/src/unk_text_util_2.c index d88af611fe..ca82461285 100644 --- a/src/unk_text_util_2.c +++ b/src/unk_text_util_2.c @@ -4,8 +4,8 @@ #include "text.h" #include "sound.h" -static const u8 gUnknown_08616124[] = {1, 2, 4}; -static const u16 gFont6BrailleGlyphs[] = INCBIN_U16("data/graphics/fonts/font6.fwjpnfont"); +static const u8 sUnknown_08616124[] = {1, 2, 4}; +static const u16 sFont6BrailleGlyphs[] = INCBIN_U16("data/graphics/fonts/font6.fwjpnfont"); static void DecompressGlyphFont6(u16); @@ -13,7 +13,7 @@ u16 Font6Func(struct TextPrinter *textPrinter) { u16 char_; struct TextPrinterSubStruct *sub; - + sub = &textPrinter->sub_union.sub; switch (textPrinter->state) { @@ -57,24 +57,24 @@ u16 Font6Func(struct TextPrinter *textPrinter) switch (char_) { case 1: - textPrinter->subPrinter.fontColor_h = *textPrinter->subPrinter.current_text_offset ++; - GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fontColor_h, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor); + textPrinter->subPrinter.fgColor = *textPrinter->subPrinter.current_text_offset ++; + GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fgColor, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor); return 2; case 2: textPrinter->subPrinter.bgColor = *textPrinter->subPrinter.current_text_offset ++; - GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fontColor_h, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor); + GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fgColor, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor); return 2; case 3: textPrinter->subPrinter.shadowColor = *textPrinter->subPrinter.current_text_offset ++; - GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fontColor_h, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor); + GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fgColor, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor); return 2; case 4: - textPrinter->subPrinter.fontColor_h = *textPrinter->subPrinter.current_text_offset; + textPrinter->subPrinter.fgColor = *textPrinter->subPrinter.current_text_offset; textPrinter->subPrinter.bgColor = *++ textPrinter->subPrinter.current_text_offset; textPrinter->subPrinter.shadowColor = *++ textPrinter->subPrinter.current_text_offset; textPrinter->subPrinter.current_text_offset ++; - GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fontColor_h, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor); + GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fgColor, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor); return 2; case 5: textPrinter->subPrinter.current_text_offset ++; @@ -163,15 +163,15 @@ u16 Font6Func(struct TextPrinter *textPrinter) case 4: if (textPrinter->scrollDistance) { - if (textPrinter->scrollDistance < gUnknown_08616124[gSaveBlock2Ptr->optionsTextSpeed]) + if (textPrinter->scrollDistance < sUnknown_08616124[gSaveBlock2Ptr->optionsTextSpeed]) { ScrollWindow(textPrinter->subPrinter.windowId, 0, textPrinter->scrollDistance, textPrinter->subPrinter.bgColor | (textPrinter->subPrinter.bgColor << 4)); textPrinter->scrollDistance = 0; } else { - ScrollWindow(textPrinter->subPrinter.windowId, 0, gUnknown_08616124[gSaveBlock2Ptr->optionsTextSpeed], textPrinter->subPrinter.bgColor | (textPrinter->subPrinter.bgColor << 4)); - textPrinter->scrollDistance -= gUnknown_08616124[gSaveBlock2Ptr->optionsTextSpeed]; + ScrollWindow(textPrinter->subPrinter.windowId, 0, sUnknown_08616124[gSaveBlock2Ptr->optionsTextSpeed], textPrinter->subPrinter.bgColor | (textPrinter->subPrinter.bgColor << 4)); + textPrinter->scrollDistance -= sUnknown_08616124[gSaveBlock2Ptr->optionsTextSpeed]; } CopyWindowToVram(textPrinter->subPrinter.windowId, 2); } @@ -204,7 +204,7 @@ static void DecompressGlyphFont6(u16 glyph) { const u16 *glyphs; - glyphs = gFont6BrailleGlyphs + 0x100 * (glyph / 8) + 0x10 * (glyph % 8); + glyphs = sFont6BrailleGlyphs + 0x100 * (glyph / 8) + 0x10 * (glyph % 8); DecompressGlyphTile(glyphs, (u16 *)gUnknown_03002F90); DecompressGlyphTile(glyphs + 0x8, (u16 *)(gUnknown_03002F90 + 0x20)); DecompressGlyphTile(glyphs + 0x80, (u16 *)(gUnknown_03002F90 + 0x40)); diff --git a/src/unk_transition.c b/src/unk_transition.c new file mode 100644 index 0000000000..feaddc8ced --- /dev/null +++ b/src/unk_transition.c @@ -0,0 +1,633 @@ +#include "global.h" +#include "sprite.h" +#include "decompress.h" +#include "unk_transition.h" +#include "battle_transition.h" +#include "task.h" +#include "palette.h" +#include "trig.h" +#include "bg.h" +#include "gpu_regs.h" + +typedef bool8 (*TransitionStateFunc)(struct Task *task); + +// this file's functions +static void sub_81DA848(struct Sprite *sprite); +static void sub_81DA9BC(struct Sprite *sprite); +static bool8 sub_81DAACC(struct Task *task); +static bool8 sub_81DAC14(struct Task *task); +static bool8 sub_81DABBC(struct Task *task); +static bool8 sub_81DAB4C(struct Task *task); +static bool8 sub_81DAC80(struct Task *task); +static bool8 sub_81DACEC(struct Task *task); +static bool8 sub_81DAD58(struct Task *task); +static bool8 sub_81DADC4(struct Task *task); +static bool8 sub_81DAE44(struct Task *task); +static bool8 sub_81DAEB0(struct Task *task); +static bool8 sub_81DAF34(struct Task *task); +static bool8 sub_81DAFA0(struct Task *task); +static bool8 sub_81DB02C(struct Task *task); +static bool8 sub_81DB098(struct Task *task); +static bool8 sub_81DB124(struct Task *task); +static bool8 sub_81DB190(struct Task *task); +static bool8 sub_81DB224(struct Task *task); +static bool8 sub_81DB290(struct Task *task); +static bool8 sub_81DB328(struct Task *task); + +// const rom data +// TODO: move those from .s file to .c +extern const u8 gUnknown_0862AD54[]; +extern const u8 gUnknown_0862AF30[]; +extern const u8 gUnknown_0862B0DC[]; +extern const u16 gUnknown_0862B53C[]; + +static const struct OamData sOamData_862B71C = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct CompressedSpriteSheet sUnknown_0862B724 = +{ + gUnknown_0862B0DC, 0x1800, 11920 +}; + +static const struct SpritePalette sUnknown_0862B72C = +{ + gUnknown_0862B53C, 11920 +}; + +static const union AnimCmd sSpriteAnim_862B734[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862B73C[] = +{ + ANIMCMD_FRAME(64, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862B744[] = +{ + ANIMCMD_FRAME(128, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_862B74C[] = +{ + sSpriteAnim_862B734, + sSpriteAnim_862B73C, + sSpriteAnim_862B744 +}; + +static const struct SpriteTemplate sUnknown_0862B758 = +{ + .tileTag = 11920, + .paletteTag = 11920, + .oam = &sOamData_862B71C, + .anims = sSpriteAnimTable_862B74C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const TransitionStateFunc sPhase2_34_Funcs[] = +{ + sub_81DAACC, + sub_81DAC14, + sub_81DABBC, + sub_81DAB4C, + sub_81DAC80 +}; + +static const TransitionStateFunc sPhase2_35_Funcs[] = +{ + sub_81DAACC, + sub_81DACEC, + sub_81DABBC, + sub_81DAB4C, + sub_81DAD58 +}; + +static const TransitionStateFunc sPhase2_36_Funcs[] = +{ + sub_81DAACC, + sub_81DADC4, + sub_81DABBC, + sub_81DAB4C, + sub_81DAE44 +}; + +static const TransitionStateFunc sPhase2_37_Funcs[] = +{ + sub_81DAACC, + sub_81DAEB0, + sub_81DABBC, + sub_81DAB4C, + sub_81DAF34 +}; + +static const TransitionStateFunc sPhase2_38_Funcs[] = +{ + sub_81DAACC, + sub_81DAFA0, + sub_81DABBC, + sub_81DAB4C, + sub_81DB02C +}; + +static const TransitionStateFunc sPhase2_39_Funcs[] = +{ + sub_81DAACC, + sub_81DB098, + sub_81DABBC, + sub_81DAB4C, + sub_81DB124 +}; + +static const TransitionStateFunc sPhase2_40_Funcs[] = +{ + sub_81DAACC, + sub_81DB190, + sub_81DABBC, + sub_81DAB4C, + sub_81DB224 +}; + +static const TransitionStateFunc sPhase2_41_Funcs[] = +{ + sub_81DAACC, + sub_81DB290, + sub_81DABBC, + sub_81DAB4C, + sub_81DB328 +}; + +// code +static void sub_81DA700(void) +{ + u16 *dst1, *dst2; + + sub_8149F58(&dst1, &dst2); + LZ77UnCompVram(gUnknown_0862AD54, dst2); + LZ77UnCompVram(gUnknown_0862AF30, dst1); + LoadPalette(gUnknown_0862B53C, 0xF0, 0x20); + LoadCompressedObjectPic(&sUnknown_0862B724); + LoadSpritePalette(&sUnknown_0862B72C); +} + +static u8 sub_81DA74C(s16 x, s16 y, u8 arg2, u8 arg3, s8 arg4, s8 arg5, u8 spriteAnimNum) +{ + u8 spriteId = CreateSprite(&sUnknown_0862B758, x, y, 0); + + switch (spriteAnimNum) + { + case 0: + gSprites[spriteId].data[0] = 120; + gSprites[spriteId].data[1] = 45; + break; + case 1: + gSprites[spriteId].data[0] = 89; + gSprites[spriteId].data[1] = 97; + break; + case 2: + gSprites[spriteId].data[0] = 151; + gSprites[spriteId].data[1] = 97; + break; + } + + gSprites[spriteId].data[2] = arg4; + gSprites[spriteId].data[3] = arg5; + gSprites[spriteId].data[6] = arg2; + gSprites[spriteId].data[7] = arg3; + gSprites[spriteId].data[4] = 0; + gSprites[spriteId].data[5] = 0; + + StartSpriteAnim(&gSprites[spriteId], spriteAnimNum); + gSprites[spriteId].callback = sub_81DA848; + + return spriteId; +} + +static void sub_81DA848(struct Sprite *sprite) +{ + s16 *data = sprite->data; + + if (sprite->pos1.x == data[0] && sprite->pos1.y == data[1]) + { + sprite->callback = SpriteCallbackDummy; + } + else + { + if (data[4] == data[6]) + { + sprite->pos1.x += data[2]; + data[4] = 0; + } + else + { + data[4]++; + } + + if (data[5] == data[7]) + { + sprite->pos1.y += data[3]; + data[5] = 0; + } + else + { + data[5]++; + } + } +} + +static u8 sub_81DA8BC(s16 x, s16 y, s16 arg2, s16 arg3, s16 arg4, s16 arg5, s16 arg6, u8 spriteAnimNum) +{ + u8 spriteId = CreateSprite(&sUnknown_0862B758, x, y, 0); + + switch (spriteAnimNum) + { + case 0: + gSprites[spriteId].data[0] = 120; + gSprites[spriteId].data[1] = 45; + break; + case 1: + gSprites[spriteId].data[0] = 89; + gSprites[spriteId].data[1] = 97; + break; + case 2: + gSprites[spriteId].data[0] = 151; + gSprites[spriteId].data[1] = 97; + break; + } + + gSprites[spriteId].data[2] = arg2; + gSprites[spriteId].data[3] = arg3; + gSprites[spriteId].data[4] = arg4; + gSprites[spriteId].data[5] = arg5; + gSprites[spriteId].data[6] = arg6; + + StartSpriteAnim(&gSprites[spriteId], spriteAnimNum); + gSprites[spriteId].callback = sub_81DA9BC; + + return spriteId; +} + +static void sub_81DA9BC(struct Sprite *sprite) +{ + sprite->pos2.x = (Sin2(sprite->data[2]) * sprite->data[4]) >> 12; // div by 4096 + sprite->pos2.y = (Cos2(sprite->data[2]) * sprite->data[4]) >> 12; // div by 4096 + + sprite->data[2] = (sprite->data[2] + sprite->data[3]) % 360; + + if (sprite->data[4] != sprite->data[5]) + sprite->data[4] += sprite->data[6]; + else + sprite->callback = SpriteCallbackDummy; +} + +#define tState data[0] + +static void sub_81DAA20(struct Task *task) +{ + FreeSpriteTilesByTag(11920); + FreeSpritePaletteByTag(11920); + + DestroySprite(&gSprites[task->data[4]]); + DestroySprite(&gSprites[task->data[5]]); + DestroySprite(&gSprites[task->data[6]]); +} + +static bool8 sub_81DAA74(struct Task *task) +{ + if (gSprites[task->data[4]].callback == SpriteCallbackDummy + && gSprites[task->data[5]].callback == SpriteCallbackDummy + && gSprites[task->data[6]].callback == SpriteCallbackDummy) + return TRUE; + else + return FALSE; +} + +static bool8 sub_81DAACC(struct Task *task) +{ + if (task->data[1] == 0) + { + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN1_ON); + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG0_ON); + + task->data[1]++; + return FALSE; + } + else + { + sub_81DA700(); + SetGpuReg(REG_OFFSET_BLDCNT, 0x3F41); + SetGpuReg(REG_OFFSET_BLDALPHA, 0x1000); + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgY(0, 0x500, 2); + + task->data[1] = 0; + task->tState++; + return TRUE; + } +} + +static bool8 sub_81DAB4C(struct Task *task) +{ + if (task->data[2] == 0) + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG0_ON); + + if (task->data[2] == 16) + { + if (task->data[3] == 31) + { + BeginNormalPaletteFade(-1, -1, 0, 0x10, 0); + task->tState++; + } + else + { + task->data[3]++; + } + } + else + { + u16 var; + + task->data[2]++; + var = task->data[2]; + SetGpuReg(REG_OFFSET_BLDALPHA, (var) | ((16 - var) << 8)); + } + + return FALSE; +} + +static bool8 sub_81DABBC(struct Task *task) +{ + if (sub_81DAA74(task) == TRUE) + task->tState++; + + return FALSE; +} + +void Phase2Task_34(u8 taskId) +{ + while (sPhase2_34_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 sub_81DAC14(struct Task *task) +{ + task->data[4] = sub_81DA74C(120, -51, 0, 0, 0, 2, 0); + task->data[5] = sub_81DA74C(-7, 193, 0, 0, 2, -2, 1); + task->data[6] = sub_81DA74C(247, 193, 0, 0, -2, -2, 2); + + task->tState++; + return FALSE; +} + +static bool8 sub_81DAC80(struct Task *task) +{ + if (!gPaletteFade.active) + { + sub_81DAA20(task); + DestroyTask(FindTaskIdByFunc(Phase2Task_34)); + } + + return FALSE; +} + +void Phase2Task_35(u8 taskId) +{ + while (sPhase2_35_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 sub_81DACEC(struct Task *task) +{ + task->data[4] = sub_81DA74C(120, 197, 0, 0, 0, -4, 0); + task->data[5] = sub_81DA74C(241, 59, 0, 1, -4, 2, 1); + task->data[6] = sub_81DA74C(-1, 59, 0, 1, 4, 2, 2); + + task->tState++; + return FALSE; +} + +static bool8 sub_81DAD58(struct Task *task) +{ + if (!gPaletteFade.active) + { + sub_81DAA20(task); + DestroyTask(FindTaskIdByFunc(Phase2Task_35)); + } + + return FALSE; +} + +void Phase2Task_36(u8 taskId) +{ + while (sPhase2_36_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 sub_81DADC4(struct Task *task) +{ + task->data[4] = sub_81DA8BC(120, 45, 12, 4, 128, 0, -4, 0); + task->data[5] = sub_81DA8BC(89, 97, 252, 4, 128, 0, -4, 1); + task->data[6] = sub_81DA8BC(151, 97, 132, 4, 128, 0, -4, 2); + + task->tState++; + return FALSE; +} + +static bool8 sub_81DAE44(struct Task *task) +{ + if (!gPaletteFade.active) + { + sub_81DAA20(task); + DestroyTask(FindTaskIdByFunc(Phase2Task_36)); + } + + return FALSE; +} + +void Phase2Task_37(u8 taskId) +{ + while (sPhase2_37_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 sub_81DAEB0(struct Task *task) +{ + task->data[4] = sub_81DA8BC(120, 80, 284, 8, 131, 35, -3, 0); + task->data[5] = sub_81DA8BC(120, 80, 44, 8, 131, 35, -3, 1); + task->data[6] = sub_81DA8BC(121, 80, 164, 8, 131, 35, -3, 2); + + task->tState++; + return FALSE; +} + +static bool8 sub_81DAF34(struct Task *task) +{ + if (!gPaletteFade.active) + { + sub_81DAA20(task); + DestroyTask(FindTaskIdByFunc(Phase2Task_37)); + } + + return FALSE; +} + +void Phase2Task_38(u8 taskId) +{ + while (sPhase2_38_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 sub_81DAFA0(struct Task *task) +{ + if (task->data[1] == 0) + { + task->data[4] = sub_81DA74C(120, -51, 0, 0, 0, 4, 0); + } + else if (task->data[1] == 16) + { + task->data[5] = sub_81DA74C(-7, 193, 0, 0, 4, -4, 1); + } + else if (task->data[1] == 32) + { + task->data[6] = sub_81DA74C(247, 193, 0, 0, -4, -4, 2); + task->tState++; + } + + task->data[1]++; + return FALSE; +} + +static bool8 sub_81DB02C(struct Task *task) +{ + if (!gPaletteFade.active) + { + sub_81DAA20(task); + DestroyTask(FindTaskIdByFunc(Phase2Task_38)); + } + + return FALSE; +} + +void Phase2Task_39(u8 taskId) +{ + while (sPhase2_39_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 sub_81DB098(struct Task *task) +{ + if (task->data[1] == 0) + { + task->data[4] = sub_81DA74C(120, 197, 0, 0, 0, -8, 0); + } + else if (task->data[1] == 16) + { + task->data[5] = sub_81DA74C(241, 78, 0, 0, -8, 1, 1); + } + else if (task->data[1] == 32) + { + task->data[6] = sub_81DA74C(-1, 78, 0, 0, 8, 1, 2); + task->tState++; + } + + task->data[1]++; + return FALSE; +} + +static bool8 sub_81DB124(struct Task *task) +{ + if (!gPaletteFade.active) + { + sub_81DAA20(task); + DestroyTask(FindTaskIdByFunc(Phase2Task_39)); + } + + return FALSE; +} + +void Phase2Task_40(u8 taskId) +{ + while (sPhase2_40_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 sub_81DB190(struct Task *task) +{ + if (task->data[1] == 0) + { + task->data[4] = sub_81DA8BC(120, 45, 12, 4, 128, 0, -4, 0); + } + else if (task->data[1] == 16) + { + task->data[5] = sub_81DA8BC(89, 97, 252, 4, 128, 0, -4, 1); + } + else if (task->data[1] == 32) + { + task->data[6] = sub_81DA8BC(151, 97, 132, 4, 128, 0, -4, 2); + task->tState++; + } + + task->data[1]++; + return FALSE; +} + +static bool8 sub_81DB224(struct Task *task) +{ + if (!gPaletteFade.active) + { + sub_81DAA20(task); + DestroyTask(FindTaskIdByFunc(Phase2Task_40)); + } + + return FALSE; +} + +void Phase2Task_41(u8 taskId) +{ + while (sPhase2_41_Funcs[gTasks[taskId].tState](&gTasks[taskId])); +} + +static bool8 sub_81DB290(struct Task *task) +{ + if (task->data[1] == 0) + { + task->data[4] = sub_81DA8BC(120, 80, 284, 8, 131, 35, -3, 0); + } + else if (task->data[1] == 16) + { + task->data[5] = sub_81DA8BC(120, 80, 44, 8, 131, 35, -3, 1); + } + else if (task->data[1] == 32) + { + task->data[6] = sub_81DA8BC(121, 80, 164, 8, 131, 35, -3, 2); + task->tState++; + } + + task->data[1]++; + return FALSE; +} + +static bool8 sub_81DB328(struct Task *task) +{ + if (!gPaletteFade.active) + { + sub_81DAA20(task); + DestroyTask(FindTaskIdByFunc(Phase2Task_41)); + } + + return FALSE; +} diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c new file mode 100644 index 0000000000..c8898d08f4 --- /dev/null +++ b/src/use_pokeblock.c @@ -0,0 +1,230 @@ +#include "global.h" +#include "main.h" +#include "pokeblock.h" +#include "malloc.h" +#include "palette.h" +#include "pokenav.h" +#include "scanline_effect.h" +#include "text.h" +#include "bg.h" +#include "window.h" +#include "text_window.h" + +struct UsePokeblockSubStruct +{ + void (*field_0)(void); + void (*callback)(void); + struct Pokeblock *pokeblock; + struct Pokemon *pokemon; + u8 stringBuffer[0x40]; + u8 field_50; + u8 field_51; + u8 field_52; + u8 field_53; + u8 field_54; + u8 field_55; + u8 field_56; + u8 field_57[5]; + u8 field_5c[5]; + u8 field_61[5]; + s16 field_66[5]; +}; + +struct UsePokeblockStruct +{ + u8 field_0[0x7C58]; + u8 field_7C58[0x378]; + struct UsePokeblockSubStruct info; +}; + +extern u16 gKeyRepeatStartDelay; + +// this file's functions +void sub_816636C(void (*func)(void)); +void sub_8166380(void); +void sub_816631C(void); +void sub_81662C0(void); +void sub_8166564(void); +void sub_8166304(void); +void sub_81668F8(void); +void sub_8167420(void); +void sub_8167760(void); +u8 sub_81672E4(u8 arg0); +bool8 sub_8168328(void); +bool8 sub_8167930(void); +void sub_8167608(u8 arg0); +void sub_8167BA0(u16 arg0, u8 copyToVramMode); + +extern const struct BgTemplate gUnknown_085DFCCC[4]; +extern const struct WindowTemplate gUnknown_085DFCDC[]; + +// ram variables +EWRAM_DATA struct UsePokeblockSubStruct *gUnknown_0203BC90 = NULL; +EWRAM_DATA void (*gUnknown_0203BC94)(void) = NULL; +EWRAM_DATA struct Pokeblock *gUnknown_0203BC98 = NULL; +EWRAM_DATA u8 gPokeblockMonId = 0; +EWRAM_DATA s16 gPokeblockGain = 0; +EWRAM_DATA void *gUnknown_0203BCA0 = NULL; +EWRAM_DATA void *gUnknown_0203BCA4 = NULL; +EWRAM_DATA void *gUnknown_0203BCA8 = NULL; +EWRAM_DATA struct UsePokeblockStruct *gUnknown_0203BCAC = NULL; + +// const rom data +// todo: make it static once the file is decompiled + +// code +void ChooseMonToGivePokeblock(struct Pokeblock *pokeblock, void (*callback)(void)) +{ + gUnknown_0203BCAC = AllocZeroed(0x806C); + gUnknown_0203BC90 = &gUnknown_0203BCAC->info; + gUnknown_0203BC90->pokeblock = pokeblock; + gUnknown_0203BC90->callback = callback; + sub_816636C(sub_8166380); + SetMainCallback2(sub_816631C); +} + +void CB2_ReturnAndChooseMonToGivePokeblock(void) +{ + gUnknown_0203BCAC = AllocZeroed(0x806C); + gUnknown_0203BC90 = &gUnknown_0203BCAC->info; + gUnknown_0203BC90->pokeblock = gUnknown_0203BC98; + gUnknown_0203BC90->callback = gUnknown_0203BC94; + gPokeblockMonId = sub_81672E4(gPokeblockMonId); + gUnknown_0203BC90->field_56 = gPokeblockMonId < 4 ? 0 : 1; + sub_816636C(sub_8166380); + SetMainCallback2(sub_81662C0); +} + +void sub_81662C0(void) +{ + gUnknown_0203BC90->field_0(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); + if (gUnknown_0203BC90->field_0 == sub_8166564) + { + gUnknown_0203BC90->field_50 = 0; + SetMainCallback2(sub_8166304); + } +} + +void sub_8166304(void) +{ + sub_81668F8(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void sub_816631C(void) +{ + gUnknown_0203BC90->field_0(); + AnimateSprites(); + BuildOamBuffer(); + RunTextPrinters(); + UpdatePaletteFade(); +} + +void sub_8166340(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + sub_81D2108(gUnknown_0203BCAC->field_7C58); + ScanlineEffect_InitHBlankDmaTransfer(); +} + +void sub_816636C(void (*func)(void)) +{ + gUnknown_0203BC90->field_0 = func; + gUnknown_0203BC90->field_50 = 0; +} + +void sub_8166380(void) +{ + switch (gUnknown_0203BC90->field_50) + { + case 0: + gUnknown_0203BCAC->field_0[0x7B10] = 0xFF; + sub_81D1ED4(gUnknown_0203BCAC->field_7C58); + gUnknown_0203BC90->field_50++; + break; + case 1: + ResetSpriteData(); + FreeAllSpritePalettes(); + gUnknown_0203BC90->field_50++; + break; + case 2: + SetVBlankCallback(NULL); + CpuFill32(0, (void*)(VRAM), VRAM_SIZE); + gUnknown_0203BC90->field_50++; + break; + case 3: + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_085DFCCC, ARRAY_COUNT(gUnknown_085DFCCC)); + InitWindows(gUnknown_085DFCDC); + DeactivateAllTextPrinters(); + sub_809882C(0, 0x97, 0xE0); + gUnknown_0203BC90->field_50++; + break; + case 4: + gUnknown_0203BC90->field_50++; + break; + case 5: + if (!sub_8168328()) + { + gUnknown_0203BC90->field_50++; + } + break; + case 6: + gKeyRepeatStartDelay = 20; + sub_8167420(); + gUnknown_0203BC90->field_50++; + break; + case 7: + if (!sub_8167930()) + { + gUnknown_0203BC90->field_50++; + } + break; + case 8: + sub_8167608(0); + sub_8167760(); + gUnknown_0203BC90->field_50++; + break; + case 9: + if (!sub_81D312C(&gUnknown_0203BCAC->field_0[0x7B0E])) + { + gUnknown_0203BC90->field_50++; + } + break; + case 10: + gUnknown_0203BC90->field_50++; + break; + case 11: + sub_81D2754(gUnknown_0203BCAC->field_7C58, &gUnknown_0203BCAC->field_0[0x7C6C]); + sub_81D20AC(gUnknown_0203BCAC->field_7C58); + gUnknown_0203BC90->field_50++; + break; + case 12: + if (!sub_81D20BC(gUnknown_0203BCAC->field_7C58)) + { + sub_81D1F84(gUnknown_0203BCAC->field_7C58, &gUnknown_0203BCAC->field_7C58[0x14], &gUnknown_0203BCAC->field_7C58[0x14]); + gUnknown_0203BC90->field_50++; + } + break; + case 13: + sub_81D2230(gUnknown_0203BCAC->field_7C58); + gUnknown_0203BC90->field_50++; + break; + case 14: + PutWindowTilemap(0); + PutWindowTilemap(1); + sub_8167BA0(0, 1); + gUnknown_0203BC90->field_50++; + break; + case 15: + sub_816636C(sub_8166564); + break; + } +} diff --git a/src/walda_phrase.c b/src/walda_phrase.c index 7e06d1319a..59fd3fedb8 100644 --- a/src/walda_phrase.c +++ b/src/walda_phrase.c @@ -98,17 +98,17 @@ u16 TryGetWallpaperWithWaldaPhrase(void) u16 backgroundClr, foregroundClr; u8 patternId, iconId; u16 trainerId = ReadUnalignedWord(gSaveBlock2Ptr->playerTrainerId); - gScriptResult = TryCalculateWallpaper(&backgroundClr, &foregroundClr, &iconId, &patternId, trainerId, GetWaldaPhrasePtr()); + gSpecialVar_Result = TryCalculateWallpaper(&backgroundClr, &foregroundClr, &iconId, &patternId, trainerId, GetWaldaPhrasePtr()); - if (gScriptResult) + if (gSpecialVar_Result) { SetWaldaWallpaperPatternId(patternId); SetWaldaWallpaperIconId(iconId); SetWaldaWallpaperColors(backgroundClr, foregroundClr); } - SetWaldaWallpaperLockedOrUnlocked(gScriptResult); - return (bool8)(gScriptResult); + SetWaldaWallpaperLockedOrUnlocked(gSpecialVar_Result); + return (bool8)(gSpecialVar_Result); } static u8 GetLetterTableId(u8 letter) diff --git a/src/wallclock.c b/src/wallclock.c new file mode 100644 index 0000000000..f15bbbc274 --- /dev/null +++ b/src/wallclock.c @@ -0,0 +1,1057 @@ +#include "global.h" +#include "main.h" +#include "palette.h" +#include "gpu_regs.h" +#include "bg.h" +#include "rtc.h" +#include "clock.h" +#include "wallclock.h" +#include "event_data.h" +#include "graphics.h" +#include "text.h" +#include "window.h" +#include "text_window.h" +#include "menu.h" +#include "scanline_effect.h" +#include "task.h" +#include "strings.h" +#include "sound.h" +#include "constants/songs.h" +#include "trig.h" +#include "decompress.h" + +// static types + +#define tMinuteHandAngle data[0] +#define tHourHandAngle data[1] +#define tHours data[2] +#define tMinutes data[3] +#define tMvmtDir data[4] +#define tPeriod data[5] +#define tMvmtSpeed data[6] + +#define TAG_GFX_WALL_CLOCK_HAND 0x1000 +#define TAG_PAL_WALL_CLOCK_HAND 0x1000 + +// static declarations + +static void WallClockMainCallback(void); +static void Task_SetClock1(u8 taskId); +static void Task_SetClock2(u8 taskId); +static void Task_SetClock3(u8 taskId); +static void Task_SetClock4(u8 taskId); +static void Task_SetClock5(u8 taskId); +static void Task_SetClock6(u8 taskId); +static void Task_ViewClock1(u8 taskId); +static void Task_ViewClock2(u8 taskId); +static void Task_ViewClock3(u8 taskId); +static void Task_ViewClock4(u8 taskId); +static u16 CalcNewMinHandAngle(u16 a0, u8 command, u8 a2); +static bool32 AdvanceClock(u8 taskId, u8 command); +static void UpdateClockPeriod(u8 taskId, u8 command); +static void InitClockWithRtc(u8 taskId); +static void SpriteCB_MinuteHand(struct Sprite *sprite); +static void SpriteCB_HourHand(struct Sprite *sprite); +static void SpriteCB_AMIndicator(struct Sprite *sprite); +static void SpriteCB_PMIndicator(struct Sprite *sprite); + +// rodata + +static const u8 sUnknown_085B1F58[] = INCBIN_U8("graphics/wallclock/graphics_85b1f58.4bpp.lz"); +static const u16 sUnknown_085B21D4[] = INCBIN_U16("graphics/wallclock/palette_85b21d4.gbapal"); +static const struct WindowTemplate gUnknown_085B21DC[] = { + { 0x00, 0x03, 0x11, 0x18, 0x02, 0x0e, 0x200 }, + { 0x02, 0x18, 0x10, 0x06, 0x02, 0x0c, 0x230 }, + DUMMY_WIN_TEMPLATE +}; +static const struct WindowTemplate gUnknown_085B21F4 = { + 0x00, 0x18, 0x09, 0x05, 0x04, 0x0e, 0x23c +}; +static const struct BgTemplate gUnknown_085B21FC[] = { + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .priority = 0 + }, + { + .bg = 2, + .charBaseIndex = 1, + .mapBaseIndex = 8, + .priority = 1 + }, + { + .bg = 3, + .charBaseIndex = 0, + .mapBaseIndex = 7, + .priority = 2 + } +}; +static const struct CompressedSpriteSheet gUnknown_085B2208 = { + sUnknown_085B1F58, 0x2000, TAG_GFX_WALL_CLOCK_HAND +}; +static const u32 filler_85B2210[2] = {}; +static const struct SpritePalette gUnknown_085B2218[] = { + { gWallclockMale_Pal, TAG_PAL_WALL_CLOCK_HAND }, + { gWallclockFemale_Pal, 0x1001 }, + {} +}; +static const struct OamData Unknown_085B2230 = { + .y = 0xa0, + .size = 3, + .priority = 1 +}; +static const union AnimCmd Unknown_085B2238[] = { + ANIMCMD_FRAME(0, 30), + ANIMCMD_END +}; +static const union AnimCmd Unknown_085B2240[] = { + ANIMCMD_FRAME(64, 30), + ANIMCMD_END +}; +static const union AnimCmd *const gUnknown_085B2248[] = { + Unknown_085B2238 +}; +static const union AnimCmd *const gUnknown_085B224C[] = { + Unknown_085B2240 +}; +static const struct SpriteTemplate gUnknown_085B2250 = { + TAG_GFX_WALL_CLOCK_HAND, + TAG_PAL_WALL_CLOCK_HAND, + &Unknown_085B2230, + gUnknown_085B2248, + NULL, + gDummySpriteAffineAnimTable, + SpriteCB_MinuteHand +}; +static const struct SpriteTemplate gUnknown_085B2268 = { + TAG_GFX_WALL_CLOCK_HAND, + TAG_PAL_WALL_CLOCK_HAND, + &Unknown_085B2230, + gUnknown_085B224C, + NULL, + gDummySpriteAffineAnimTable, + SpriteCB_HourHand +}; +static const struct OamData Unknown_085B2280 = { + .y = 0xa0, + .size = 1, + .priority = 3 +}; +static const union AnimCmd Unknown_085B2288[] = { + ANIMCMD_FRAME(0x84, 30), + ANIMCMD_END +}; +static const union AnimCmd Unknown_085B2290[] = { + ANIMCMD_FRAME(0x80, 30), + ANIMCMD_END +}; +static const union AnimCmd *const gUnknown_085B2298[] = { + Unknown_085B2288 +}; +static const union AnimCmd *const gUnknown_085B229C[] = { + Unknown_085B2290 +}; +static const struct SpriteTemplate gUnknown_085B22A0 = { + TAG_GFX_WALL_CLOCK_HAND, + TAG_PAL_WALL_CLOCK_HAND, + &Unknown_085B2280, + gUnknown_085B2298, + NULL, + gDummySpriteAffineAnimTable, + SpriteCB_AMIndicator +}; +static const struct SpriteTemplate gUnknown_085B22B8 = { + TAG_GFX_WALL_CLOCK_HAND, + TAG_PAL_WALL_CLOCK_HAND, + &Unknown_085B2280, + gUnknown_085B229C, + NULL, + gDummySpriteAffineAnimTable, + SpriteCB_PMIndicator +}; +static const s8 sClockHandCoords[][2] = { + { 0x00, -0x18}, + { 0x01, -0x19}, + { 0x01, -0x19}, + { 0x02, -0x19}, + { 0x02, -0x19}, + { 0x02, -0x19}, + { 0x03, -0x18}, + { 0x03, -0x19}, + { 0x04, -0x19}, + { 0x04, -0x19}, + { 0x04, -0x19}, + { 0x05, -0x19}, + { 0x05, -0x19}, + { 0x06, -0x18}, + { 0x06, -0x18}, + { 0x06, -0x18}, + { 0x07, -0x18}, + { 0x07, -0x18}, + { 0x07, -0x18}, + { 0x08, -0x18}, + { 0x08, -0x18}, + { 0x09, -0x18}, + { 0x09, -0x18}, + { 0x0a, -0x17}, + { 0x0a, -0x17}, + { 0x0b, -0x16}, + { 0x0b, -0x16}, + { 0x0b, -0x16}, + { 0x0c, -0x16}, + { 0x0c, -0x15}, + { 0x0d, -0x15}, + { 0x0d, -0x15}, + { 0x0d, -0x15}, + { 0x0e, -0x15}, + { 0x0e, -0x15}, + { 0x0e, -0x14}, + { 0x0e, -0x14}, + { 0x0f, -0x14}, + { 0x0f, -0x13}, + { 0x10, -0x13}, + { 0x10, -0x13}, + { 0x10, -0x13}, + { 0x10, -0x12}, + { 0x10, -0x12}, + { 0x11, -0x12}, + { 0x11, -0x11}, + { 0x11, -0x11}, + { 0x12, -0x11}, + { 0x12, -0x11}, + { 0x12, -0x10}, + { 0x12, -0x10}, + { 0x13, -0x10}, + { 0x13, -0x0f}, + { 0x13, -0x0f}, + { 0x14, -0x0f}, + { 0x14, -0x0e}, + { 0x14, -0x0e}, + { 0x14, -0x0d}, + { 0x14, -0x0d}, + { 0x15, -0x0d}, + { 0x15, -0x0d}, + { 0x15, -0x0c}, + { 0x16, -0x0c}, + { 0x16, -0x0c}, + { 0x16, -0x0b}, + { 0x16, -0x0b}, + { 0x16, -0x0a}, + { 0x17, -0x0a}, + { 0x17, -0x09}, + { 0x17, -0x09}, + { 0x17, -0x09}, + { 0x17, -0x09}, + { 0x17, -0x08}, + { 0x17, -0x08}, + { 0x17, -0x07}, + { 0x17, -0x07}, + { 0x17, -0x06}, + { 0x18, -0x06}, + { 0x18, -0x06}, + { 0x19, -0x05}, + { 0x19, -0x05}, + { 0x18, -0x04}, + { 0x19, -0x04}, + { 0x18, -0x03}, + { 0x19, -0x03}, + { 0x19, -0x03}, + { 0x19, -0x02}, + { 0x19, -0x02}, + { 0x18, -0x01}, + { 0x19, -0x01}, + { 0x18, 0x00}, + { 0x18, 0x00}, + { 0x18, 0x00}, + { 0x18, 0x01}, + { 0x18, 0x01}, + { 0x19, 0x02}, + { 0x18, 0x02}, + { 0x19, 0x02}, + { 0x18, 0x03}, + { 0x18, 0x03}, + { 0x19, 0x04}, + { 0x18, 0x04}, + { 0x18, 0x05}, + { 0x18, 0x05}, + { 0x18, 0x05}, + { 0x18, 0x06}, + { 0x17, 0x06}, + { 0x17, 0x06}, + { 0x17, 0x07}, + { 0x17, 0x08}, + { 0x17, 0x08}, + { 0x17, 0x08}, + { 0x17, 0x09}, + { 0x17, 0x09}, + { 0x17, 0x0a}, + { 0x16, 0x0a}, + { 0x16, 0x0a}, + { 0x16, 0x0b}, + { 0x16, 0x0b}, + { 0x16, 0x0b}, + { 0x16, 0x0c}, + { 0x15, 0x0c}, + { 0x15, 0x0c}, + { 0x15, 0x0d}, + { 0x14, 0x0d}, + { 0x14, 0x0d}, + { 0x13, 0x0d}, + { 0x13, 0x0d}, + { 0x13, 0x0e}, + { 0x13, 0x0e}, + { 0x13, 0x0f}, + { 0x13, 0x0f}, + { 0x12, 0x0f}, + { 0x12, 0x10}, + { 0x11, 0x10}, + { 0x11, 0x10}, + { 0x11, 0x11}, + { 0x11, 0x11}, + { 0x10, 0x11}, + { 0x10, 0x12}, + { 0x10, 0x12}, + { 0x0f, 0x12}, + { 0x0e, 0x12}, + { 0x0f, 0x13}, + { 0x0e, 0x13}, + { 0x0e, 0x13}, + { 0x0d, 0x13}, + { 0x0d, 0x14}, + { 0x0d, 0x14}, + { 0x0d, 0x14}, + { 0x0c, 0x14}, + { 0x0c, 0x14}, + { 0x0c, 0x15}, + { 0x0b, 0x15}, + { 0x0b, 0x15}, + { 0x0b, 0x15}, + { 0x0a, 0x15}, + { 0x0a, 0x16}, + { 0x0a, 0x16}, + { 0x09, 0x16}, + { 0x09, 0x16}, + { 0x08, 0x16}, + { 0x07, 0x16}, + { 0x07, 0x17}, + { 0x07, 0x17}, + { 0x06, 0x17}, + { 0x06, 0x17}, + { 0x05, 0x17}, + { 0x05, 0x17}, + { 0x05, 0x18}, + { 0x04, 0x18}, + { 0x04, 0x18}, + { 0x04, 0x18}, + { 0x03, 0x18}, + { 0x02, 0x18}, + { 0x02, 0x18}, + { 0x01, 0x18}, + { 0x01, 0x18}, + { 0x00, 0x18}, + { 0x00, 0x18}, + {-0x01, 0x17}, + { 0x00, 0x18}, + { 0x00, 0x18}, + {-0x01, 0x18}, + {-0x01, 0x18}, + {-0x02, 0x18}, + {-0x02, 0x18}, + {-0x03, 0x18}, + {-0x03, 0x18}, + {-0x04, 0x18}, + {-0x04, 0x18}, + {-0x05, 0x18}, + {-0x05, 0x17}, + {-0x05, 0x17}, + {-0x06, 0x17}, + {-0x06, 0x17}, + {-0x07, 0x17}, + {-0x07, 0x17}, + {-0x07, 0x17}, + {-0x08, 0x17}, + {-0x08, 0x16}, + {-0x09, 0x16}, + {-0x09, 0x16}, + {-0x0a, 0x16}, + {-0x0a, 0x16}, + {-0x0a, 0x15}, + {-0x0b, 0x15}, + {-0x0b, 0x15}, + {-0x0b, 0x15}, + {-0x0b, 0x14}, + {-0x0c, 0x14}, + {-0x0c, 0x14}, + {-0x0d, 0x14}, + {-0x0d, 0x14}, + {-0x0d, 0x13}, + {-0x0e, 0x13}, + {-0x0e, 0x13}, + {-0x0e, 0x13}, + {-0x0e, 0x12}, + {-0x0f, 0x12}, + {-0x0f, 0x12}, + {-0x0f, 0x11}, + {-0x10, 0x11}, + {-0x10, 0x11}, + {-0x11, 0x11}, + {-0x11, 0x10}, + {-0x11, 0x10}, + {-0x12, 0x10}, + {-0x11, 0x0f}, + {-0x12, 0x0f}, + {-0x12, 0x0f}, + {-0x13, 0x0f}, + {-0x13, 0x0e}, + {-0x13, 0x0e}, + {-0x13, 0x0d}, + {-0x13, 0x0d}, + {-0x14, 0x0d}, + {-0x14, 0x0c}, + {-0x14, 0x0c}, + {-0x15, 0x0c}, + {-0x15, 0x0c}, + {-0x15, 0x0b}, + {-0x15, 0x0b}, + {-0x15, 0x0a}, + {-0x15, 0x0a}, + {-0x15, 0x09}, + {-0x16, 0x09}, + {-0x16, 0x09}, + {-0x16, 0x08}, + {-0x16, 0x08}, + {-0x16, 0x07}, + {-0x17, 0x07}, + {-0x17, 0x07}, + {-0x17, 0x06}, + {-0x17, 0x06}, + {-0x17, 0x05}, + {-0x18, 0x05}, + {-0x17, 0x04}, + {-0x17, 0x04}, + {-0x18, 0x04}, + {-0x18, 0x04}, + {-0x18, 0x03}, + {-0x18, 0x03}, + {-0x18, 0x02}, + {-0x18, 0x02}, + {-0x18, 0x01}, + {-0x18, 0x01}, + {-0x18, 0x01}, + {-0x18, 0x00}, + {-0x19, 0x00}, + {-0x18, -0x01}, + {-0x19, -0x01}, + {-0x18, -0x01}, + {-0x18, -0x02}, + {-0x18, -0x02}, + {-0x18, -0x03}, + {-0x18, -0x03}, + {-0x18, -0x04}, + {-0x18, -0x04}, + {-0x18, -0x04}, + {-0x18, -0x05}, + {-0x18, -0x05}, + {-0x18, -0x06}, + {-0x18, -0x06}, + {-0x17, -0x06}, + {-0x17, -0x07}, + {-0x17, -0x07}, + {-0x17, -0x08}, + {-0x17, -0x08}, + {-0x17, -0x09}, + {-0x17, -0x09}, + {-0x16, -0x09}, + {-0x16, -0x09}, + {-0x16, -0x0a}, + {-0x16, -0x0a}, + {-0x15, -0x0a}, + {-0x15, -0x0b}, + {-0x16, -0x0b}, + {-0x16, -0x0c}, + {-0x15, -0x0c}, + {-0x15, -0x0d}, + {-0x15, -0x0d}, + {-0x14, -0x0d}, + {-0x15, -0x0e}, + {-0x14, -0x0e}, + {-0x14, -0x0e}, + {-0x13, -0x0e}, + {-0x13, -0x0f}, + {-0x13, -0x0f}, + {-0x12, -0x10}, + {-0x12, -0x10}, + {-0x12, -0x10}, + {-0x12, -0x11}, + {-0x12, -0x11}, + {-0x11, -0x11}, + {-0x11, -0x12}, + {-0x11, -0x12}, + {-0x10, -0x12}, + {-0x10, -0x12}, + {-0x10, -0x13}, + {-0x10, -0x13}, + {-0x0f, -0x13}, + {-0x0f, -0x13}, + {-0x0f, -0x14}, + {-0x0e, -0x14}, + {-0x0e, -0x14}, + {-0x0e, -0x15}, + {-0x0d, -0x15}, + {-0x0d, -0x15}, + {-0x0d, -0x15}, + {-0x0c, -0x15}, + {-0x0c, -0x16}, + {-0x0b, -0x16}, + {-0x0b, -0x16}, + {-0x0b, -0x16}, + {-0x0a, -0x16}, + {-0x0a, -0x16}, + {-0x09, -0x16}, + {-0x09, -0x17}, + {-0x09, -0x17}, + {-0x08, -0x17}, + {-0x08, -0x17}, + {-0x07, -0x17}, + {-0x07, -0x17}, + {-0x07, -0x18}, + {-0x06, -0x18}, + {-0x06, -0x18}, + {-0x05, -0x18}, + {-0x05, -0x18}, + {-0x04, -0x18}, + {-0x04, -0x18}, + {-0x04, -0x18}, + {-0x04, -0x19}, + {-0x03, -0x19}, + {-0x02, -0x19}, + {-0x02, -0x18}, + {-0x02, -0x18}, + {-0x01, -0x19}, + {-0x01, -0x19}, + { 0x00, -0x19} +}; + +// text + +static void WallClockVblankCallback(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void LoadWallClockGraphics(void) +{ + SetVBlankCallback(NULL); + SetGpuReg(REG_OFFSET_DISPCNT, 0x0000); + SetGpuReg(REG_OFFSET_BG3CNT, 0x0000); + SetGpuReg(REG_OFFSET_BG2CNT, 0x0000); + SetGpuReg(REG_OFFSET_BG1CNT, 0x0000); + SetGpuReg(REG_OFFSET_BG0CNT, 0x0000); + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); + DmaFillLarge16(3, 0, (void *)VRAM, VRAM_SIZE, 0x1000); + DmaClear32(3, (void *)OAM, OAM_SIZE); + DmaClear16(3, (void *)PLTT, PLTT_SIZE); + LZ77UnCompVram(gWallclock_Gfx, (void *)VRAM); + if (gSpecialVar_0x8004 == 0) + { + LoadPalette(gWallclockMale_Pal, 0x00, 0x20); + } + else + { + LoadPalette(gWallclockFemale_Pal, 0x00, 0x20); + } + LoadPalette(GetOverworldTextboxPalettePtr(), 0xe0, 0x20); + LoadPalette(sUnknown_085B21D4, 0xc0, 0x08); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_085B21FC, 3); + InitWindows(gUnknown_085B21DC); + DeactivateAllTextPrinters(); + sub_809882C(0, 0x250, 0xd0); + clear_scheduled_bg_copies_to_vram(); + ScanlineEffect_Stop(); + ResetTasks(); + ResetSpriteData(); + ResetPaletteFade(); + FreeAllSpritePalettes(); + LoadCompressedObjectPic(&gUnknown_085B2208); + LoadSpritePalettes(gUnknown_085B2218); +} + +static void WallClockInit(void) +{ + BeginNormalPaletteFade(-1, 0, 16, 0, 0); + EnableInterrupts(INTR_FLAG_VBLANK); + SetVBlankCallback(WallClockVblankCallback); + SetMainCallback2(WallClockMainCallback); + SetGpuReg(REG_OFFSET_BLDCNT, 0x0000); + SetGpuReg(REG_OFFSET_BLDALPHA, 0x0000); + SetGpuReg(REG_OFFSET_BLDY, 0x0000); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); + ShowBg(0); + ShowBg(2); + ShowBg(3); +} + +void Cb2_StartWallClock(void) +{ + u8 taskId; + u8 spriteId; + + LoadWallClockGraphics(); + LZ77UnCompVram(gUnknown_08DCC648, (u16 *)BG_SCREEN_ADDR(7)); + + taskId = CreateTask(Task_SetClock1, 0); + gTasks[taskId].tHours = 10; + gTasks[taskId].tMinutes = 0; + gTasks[taskId].tMvmtDir = 0; + gTasks[taskId].tPeriod = 0; + gTasks[taskId].tMvmtSpeed = 0; + gTasks[taskId].tMinuteHandAngle = 0; + gTasks[taskId].tHourHandAngle = 300; + + spriteId = CreateSprite(&gUnknown_085B2250, 0x78, 0x50, 1); + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + gSprites[spriteId].oam.matrixNum = 0; + + spriteId = CreateSprite(&gUnknown_085B2268, 0x78, 0x50, 0); + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + gSprites[spriteId].oam.matrixNum = 1; + + spriteId = CreateSprite(&gUnknown_085B22A0, 0x78, 0x50, 2); + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].data[1] = 45; + + spriteId = CreateSprite(&gUnknown_085B22B8, 0x78, 0x50, 2); + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].data[1] = 90; + + WallClockInit(); + + PrintTextOnWindow(1, 1, gText_Confirm3, 0, 1, 0, NULL); + PutWindowTilemap(1); + schedule_bg_copy_tilemap_to_vram(2); +} + +void Cb2_ViewWallClock(void) +{ + u8 taskId; + u8 spriteId; + u8 angle1; + u8 angle2; + + LoadWallClockGraphics(); + LZ77UnCompVram(gUnknown_08DCC908, (u16 *)BG_SCREEN_ADDR(7)); + + taskId = CreateTask(Task_ViewClock1, 0); + InitClockWithRtc(taskId); + if (gTasks[taskId].tPeriod == 0) + { + angle1 = 45; + angle2 = 90; + } + else + { + angle1 = 90; + angle2 = 135; + } + + spriteId = CreateSprite(&gUnknown_085B2250, 0x78, 0x50, 1); + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + gSprites[spriteId].oam.matrixNum = 0; + + spriteId = CreateSprite(&gUnknown_085B2268, 0x78, 0x50, 0); + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + gSprites[spriteId].oam.matrixNum = 1; + + spriteId = CreateSprite(&gUnknown_085B22A0, 0x78, 0x50, 2); + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].data[1] = angle1; + + spriteId = CreateSprite(&gUnknown_085B22B8, 0x78, 0x50, 2); + gSprites[spriteId].data[0] = taskId; + gSprites[spriteId].data[1] = angle2; + + WallClockInit(); + + PrintTextOnWindow(1, 1, gText_Cancel4, 0, 1, 0, NULL); + PutWindowTilemap(1); + schedule_bg_copy_tilemap_to_vram(2); +} + +static void WallClockMainCallback(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + do_scheduled_bg_tilemap_copies_to_vram(); + UpdatePaletteFade(); +} + +static void Task_SetClock1(u8 taskId) +{ + if (!gPaletteFade.active) + { + gTasks[taskId].func = Task_SetClock2; + } +} + +static void Task_SetClock2(u8 taskId) +{ + if (gTasks[taskId].tMinuteHandAngle % 6) + { + gTasks[taskId].tMinuteHandAngle = CalcNewMinHandAngle(gTasks[taskId].tMinuteHandAngle, gTasks[taskId].tMvmtDir, gTasks[taskId].tMvmtSpeed); + } + else + { + gTasks[taskId].tMinuteHandAngle = gTasks[taskId].tMinutes * 6; + gTasks[taskId].tHourHandAngle = (gTasks[taskId].tHours % 12) * 30 + (gTasks[taskId].tMinutes / 10) * 5; + if (gMain.newKeys & A_BUTTON) + { + gTasks[taskId].func = Task_SetClock3; + } + else + { + gTasks[taskId].tMvmtDir = 0; + if (gMain.heldKeys & DPAD_LEFT) + { + gTasks[taskId].tMvmtDir = 1; + } + if (gMain.heldKeys & DPAD_RIGHT) + { + gTasks[taskId].tMvmtDir = 2; + } + if (gTasks[taskId].tMvmtDir != 0) + { + if (gTasks[taskId].tMvmtSpeed < 0xFF) + { + gTasks[taskId].tMvmtSpeed++; + } + gTasks[taskId].tMinuteHandAngle = CalcNewMinHandAngle(gTasks[taskId].tMinuteHandAngle, gTasks[taskId].tMvmtDir, gTasks[taskId].tMvmtSpeed); + AdvanceClock(taskId, gTasks[taskId].tMvmtDir); + } + else + { + gTasks[taskId].tMvmtSpeed = 0; + } + } + } +} + +static void Task_SetClock3(u8 taskId) +{ + SetWindowBorderStyle(0, FALSE, 0x250, 0x0d); + PrintTextOnWindow(0, 1, gText_IsThisTheCorrectTime, 0, 1, 0, NULL); + PutWindowTilemap(0); + schedule_bg_copy_tilemap_to_vram(0); + CreateYesNoMenu(&gUnknown_085B21F4, 0x250, 0x0d, 1); + gTasks[taskId].func = Task_SetClock4; +} + +static void Task_SetClock4(u8 taskId) +{ + switch (ProcessMenuInputNoWrap_()) + { + case 0: + PlaySE(SE_SELECT); + gTasks[taskId].func = Task_SetClock5; + break; + case 1: + case -1: + PlaySE(SE_SELECT); + sub_8198070(0, FALSE); + ClearWindowTilemap(0); + gTasks[taskId].func = Task_SetClock2; + break; + } +} + +static void Task_SetClock5(u8 taskId) +{ + RtcInitLocalTimeOffset(gTasks[taskId].tHours, gTasks[taskId].tMinutes); + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + gTasks[taskId].func = Task_SetClock6; +} + +static void Task_SetClock6(u8 taskId) +{ + if (!gPaletteFade.active) + { + FreeAllWindowBuffers(); + SetMainCallback2(gMain.savedCallback); + } +} + +static void Task_ViewClock1(u8 taskId) +{ + if (!gPaletteFade.active) + { + gTasks[taskId].func = Task_ViewClock2; + } +} + +static void Task_ViewClock2(u8 taskId) +{ + InitClockWithRtc(taskId); + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + gTasks[taskId].func = Task_ViewClock3; + } +} + +static void Task_ViewClock3(u8 taskId) +{ + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + gTasks[taskId].func = Task_ViewClock4; +} + +static void Task_ViewClock4(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetMainCallback2(gMain.savedCallback); + } +} + +static u8 CalcMinHandDelta(u16 a0) +{ + if (a0 > 60) + { + return 6; + } + if (a0 > 30) + { + return 3; + } + if (a0 > 10) + { + return 2; + } + return 1; +} + +static u16 CalcNewMinHandAngle(u16 a0, u8 command, u8 a2) +{ + u8 r1 = CalcMinHandDelta(a2); + switch (command) + { + case 1: + if (a0) a0 -= r1; + else a0 = 360 - r1; + break; + case 2: + if (a0 < 360 - r1) a0 += r1; + else a0 = 0; + break; + } + return a0; +} + +static bool32 AdvanceClock(u8 taskId, u8 command) +{ + switch (command) + { + case 1: + if (gTasks[taskId].tMinutes > 0) + { + gTasks[taskId].tMinutes--; + } + else + { + gTasks[taskId].tMinutes = 59; + if (gTasks[taskId].tHours > 0) + { + gTasks[taskId].tHours--; + } + else + { + gTasks[taskId].tHours = 23; + } + UpdateClockPeriod(taskId, command); + } + break; + case 2: + if (gTasks[taskId].tMinutes < 59) + { + gTasks[taskId].tMinutes++; + } + else + { + gTasks[taskId].tMinutes = 0; + if (gTasks[taskId].tHours < 23) + { + gTasks[taskId].tHours++; + } + else + { + gTasks[taskId].tHours = 0; + } + UpdateClockPeriod(taskId, command); + } + break; + } + return FALSE; +} + +static void UpdateClockPeriod(u8 taskId, u8 command) +{ + u8 hours = gTasks[taskId].tHours; + switch (command) + { + case 1: + switch (hours) + { + case 11: + gTasks[taskId].tPeriod = FALSE; + break; + case 23: + gTasks[taskId].tPeriod = TRUE; + break; + } + break; + case 2: + switch (hours) + { + case 0: + gTasks[taskId].tPeriod = FALSE; + break; + case 12: + gTasks[taskId].tPeriod = TRUE; + break; + } + break; + } +} + +static void InitClockWithRtc(u8 taskId) +{ + RtcCalcLocalTime(); + gTasks[taskId].tHours = gLocalTime.hours; + gTasks[taskId].tMinutes = gLocalTime.minutes; + gTasks[taskId].tMinuteHandAngle = gTasks[taskId].tMinutes * 6; + gTasks[taskId].tHourHandAngle = (gTasks[taskId].tHours % 12) * 30 + (gTasks[taskId].tMinutes / 10) * 5; + if (gLocalTime.hours < 12) + { + gTasks[taskId].tPeriod = FALSE; + } + else + { + gTasks[taskId].tPeriod = TRUE; + } +} + +static void SpriteCB_MinuteHand(struct Sprite *sprite) +{ + u16 angle = gTasks[sprite->data[0]].tMinuteHandAngle; + s16 sin = Sin2(angle) / 16; + s16 cos = Cos2(angle) / 16; + u16 xhat; + u16 yhat; + + SetOamMatrix(0, cos, sin, -sin, cos); + xhat = sClockHandCoords[angle][0]; + yhat = sClockHandCoords[angle][1]; + + if (xhat > 0x80) + { + xhat |= 0xff00; + } + if (yhat > 0x80) + { + yhat |= 0xff00; + } + sprite->pos2.x = xhat; + sprite->pos2.y = yhat; +} + +static void SpriteCB_HourHand(struct Sprite *sprite) +{ + u16 angle = gTasks[sprite->data[0]].tHourHandAngle; + s16 sin = Sin2(angle) / 16; + s16 cos = Cos2(angle) / 16; + u16 xhat; + u16 yhat; + + SetOamMatrix(1, cos, sin, -sin, cos); + xhat = sClockHandCoords[angle][0]; + yhat = sClockHandCoords[angle][1]; + if (xhat > 0x80) + { + xhat |= 0xff00; + } + if (yhat > 0x80) + { + yhat |= 0xff00; + } + sprite->pos2.x = xhat; + sprite->pos2.y = yhat; +} + +static void SpriteCB_AMIndicator(struct Sprite *sprite) +{ + if (gTasks[sprite->data[0]].tPeriod) + { + if (sprite->data[1] >= 60 && sprite->data[1] < 90) + { + sprite->data[1] += 5; + } + if (sprite->data[1] < 60) + { + sprite->data[1]++; + } + } + else + { + if (sprite->data[1] >= 46 && sprite->data[1] < 76) + { + sprite->data[1] -= 5; + } + if (sprite->data[1] > 75) + { + sprite->data[1]--; + } + } + sprite->pos2.x = Cos2(sprite->data[1]) * 30 / 0x1000; + sprite->pos2.y = Sin2(sprite->data[1]) * 30 / 0x1000; +} + +static void SpriteCB_PMIndicator(struct Sprite *sprite) +{ + if (gTasks[sprite->data[0]].tPeriod) + { + if (sprite->data[1] >= 105 && sprite->data[1] < 135) + { + sprite->data[1] += 5; + } + if (sprite->data[1] < 105) + { + sprite->data[1]++; + } + } + else + { + if (sprite->data[1] >= 91 && sprite->data[1] < 121) + { + sprite->data[1] -= 5; + } + if (sprite->data[1] > 120) + { + sprite->data[1]--; + } + } + sprite->pos2.x = Cos2(sprite->data[1]) * 30 / 0x1000; + sprite->pos2.y = Sin2(sprite->data[1]) * 30 / 0x1000; +} diff --git a/src/wild_encounter.c b/src/wild_encounter.c new file mode 100644 index 0000000000..279b6e672b --- /dev/null +++ b/src/wild_encounter.c @@ -0,0 +1,5485 @@ +#include "global.h" +#include "wild_encounter.h" +#include "pokemon.h" +#include "constants/species.h" +#include "metatile_behavior.h" +#include "fieldmap.h" +#include "random.h" +#include "constants/maps.h" +#include "field_player_avatar.h" +#include "constants/abilities.h" +#include "event_data.h" +#include "safari_zone.h" +#include "overworld.h" +#include "pokeblock.h" +#include "battle_setup.h" +#include "roamer.h" +#include "constants/game_stat.h" +#include "tv.h" +#include "link.h" +#include "script.h" +#include "constants/items.h" +#include "constants/maps.h" + +extern const u8 EventScript_RepelWoreOff[]; + +#define NUM_FEEBAS_SPOTS 6 + +extern u8 GetBattlePikeWildMonHeaderId(void); +extern bool32 TryGenerateBattlePikeWildMon(bool8 checkKeenEyeIntimidate); +extern void GenerateBattlePyramidWildMon(void); +extern bool8 InBattlePike(void); +extern bool8 InBattlePyramid(void); + +// this file's functions +static u16 FeebasRandom(void); +static void FeebasSeedRng(u16 seed); +static bool8 IsWildLevelAllowedByRepel(u8 level); +static void ApplyFluteEncounterRateMod(u32 *encRate); +static void ApplyCleanseTagEncounterRateMod(u32 *encRate); +static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildMon, u8 type, u8 ability, u8 *monIndex); +static bool8 IsAbilityAllowingEncounter(u8 level); + +// EWRAM vars +EWRAM_DATA static u8 sWildEncountersDisabled = 0; +EWRAM_DATA static u32 sFeebasRngValue = 0; + +// const rom data +const struct WildPokemon gRoute101_LandMons[] = +{ + {2, 2, SPECIES_WURMPLE}, + {2, 2, SPECIES_POOCHYENA}, + {2, 2, SPECIES_WURMPLE}, + {3, 3, SPECIES_WURMPLE}, + {3, 3, SPECIES_POOCHYENA}, + {3, 3, SPECIES_POOCHYENA}, + {3, 3, SPECIES_WURMPLE}, + {3, 3, SPECIES_POOCHYENA}, + {2, 2, SPECIES_ZIGZAGOON}, + {2, 2, SPECIES_ZIGZAGOON}, + {3, 3, SPECIES_ZIGZAGOON}, + {3, 3, SPECIES_ZIGZAGOON}, +}; + +const struct WildPokemonInfo gRoute101_LandMonsInfo = {20, gRoute101_LandMons}; + +const struct WildPokemon gRoute102_LandMons[] = +{ + {3, 3, SPECIES_POOCHYENA}, + {3, 3, SPECIES_WURMPLE}, + {4, 4, SPECIES_POOCHYENA}, + {4, 4, SPECIES_WURMPLE}, + {3, 3, SPECIES_LOTAD}, + {4, 4, SPECIES_LOTAD}, + {3, 3, SPECIES_ZIGZAGOON}, + {3, 3, SPECIES_ZIGZAGOON}, + {4, 4, SPECIES_ZIGZAGOON}, + {4, 4, SPECIES_RALTS}, + {4, 4, SPECIES_ZIGZAGOON}, + {3, 3, SPECIES_SEEDOT}, +}; + +const struct WildPokemonInfo gRoute102_LandMonsInfo = {20, gRoute102_LandMons}; + +const struct WildPokemon gRoute102_WaterMons[] = +{ + {20, 30, SPECIES_MARILL}, + {10, 20, SPECIES_MARILL}, + {30, 35, SPECIES_MARILL}, + {5, 10, SPECIES_MARILL}, + {20, 30, SPECIES_GOLDEEN}, +}; + +const struct WildPokemonInfo gRoute102_WaterMonsInfo = {4, gRoute102_WaterMons}; + +const struct WildPokemon gRoute102_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_CORPHISH}, + {25, 30, SPECIES_CORPHISH}, + {30, 35, SPECIES_CORPHISH}, + {20, 25, SPECIES_CORPHISH}, + {35, 40, SPECIES_CORPHISH}, + {40, 45, SPECIES_CORPHISH}, +}; + +const struct WildPokemonInfo gRoute102_FishingMonsInfo = {30, gRoute102_FishingMons}; + +const struct WildPokemon gRoute103_LandMons[] = +{ + {2, 2, SPECIES_POOCHYENA}, + {3, 3, SPECIES_POOCHYENA}, + {3, 3, SPECIES_POOCHYENA}, + {4, 4, SPECIES_POOCHYENA}, + {2, 2, SPECIES_WINGULL}, + {3, 3, SPECIES_ZIGZAGOON}, + {3, 3, SPECIES_ZIGZAGOON}, + {4, 4, SPECIES_ZIGZAGOON}, + {3, 3, SPECIES_WINGULL}, + {3, 3, SPECIES_WINGULL}, + {2, 2, SPECIES_WINGULL}, + {4, 4, SPECIES_WINGULL}, +}; + +const struct WildPokemonInfo gRoute103_LandMonsInfo = {20, gRoute103_LandMons}; + +const struct WildPokemon gRoute103_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute103_WaterMonsInfo = {4, gRoute103_WaterMons}; + +const struct WildPokemon gRoute103_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute103_FishingMonsInfo = {30, gRoute103_FishingMons}; + +const struct WildPokemon gRoute104_LandMons[] = +{ + {4, 4, SPECIES_POOCHYENA}, + {4, 4, SPECIES_WURMPLE}, + {5, 5, SPECIES_POOCHYENA}, + {5, 5, SPECIES_MARILL}, + {4, 4, SPECIES_MARILL}, + {5, 5, SPECIES_POOCHYENA}, + {4, 4, SPECIES_TAILLOW}, + {5, 5, SPECIES_TAILLOW}, + {4, 4, SPECIES_WINGULL}, + {4, 4, SPECIES_WINGULL}, + {3, 3, SPECIES_WINGULL}, + {5, 5, SPECIES_WINGULL}, +}; + +const struct WildPokemonInfo gRoute104_LandMonsInfo = {20, gRoute104_LandMons}; + +const struct WildPokemon gRoute104_WaterMons[] = +{ + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute104_WaterMonsInfo = {4, gRoute104_WaterMons}; + +const struct WildPokemon gRoute104_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_MAGIKARP}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_MAGIKARP}, + {25, 30, SPECIES_MAGIKARP}, + {30, 35, SPECIES_MAGIKARP}, + {20, 25, SPECIES_MAGIKARP}, + {35, 40, SPECIES_MAGIKARP}, + {40, 45, SPECIES_MAGIKARP}, +}; + +const struct WildPokemonInfo gRoute104_FishingMonsInfo = {30, gRoute104_FishingMons}; + +const struct WildPokemon gRoute105_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute105_WaterMonsInfo = {4, gRoute105_WaterMons}; + +const struct WildPokemon gRoute105_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute105_FishingMonsInfo = {30, gRoute105_FishingMons}; + +const struct WildPokemon gRoute110_LandMons[] = +{ + {12, 12, SPECIES_POOCHYENA}, + {12, 12, SPECIES_ELECTRIKE}, + {12, 12, SPECIES_GULPIN}, + {13, 13, SPECIES_ELECTRIKE}, + {13, 13, SPECIES_MINUN}, + {13, 13, SPECIES_ODDISH}, + {13, 13, SPECIES_MINUN}, + {13, 13, SPECIES_GULPIN}, + {12, 12, SPECIES_WINGULL}, + {12, 12, SPECIES_WINGULL}, + {12, 12, SPECIES_PLUSLE}, + {13, 13, SPECIES_PLUSLE}, +}; + +const struct WildPokemonInfo gRoute110_LandMonsInfo = {20, gRoute110_LandMons}; + +const struct WildPokemon gRoute110_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute110_WaterMonsInfo = {4, gRoute110_WaterMons}; + +const struct WildPokemon gRoute110_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute110_FishingMonsInfo = {30, gRoute110_FishingMons}; + +const struct WildPokemon gRoute111_LandMons[] = +{ + {20, 20, SPECIES_SANDSHREW}, + {20, 20, SPECIES_TRAPINCH}, + {21, 21, SPECIES_SANDSHREW}, + {21, 21, SPECIES_TRAPINCH}, + {19, 19, SPECIES_BALTOY}, + {21, 21, SPECIES_BALTOY}, + {19, 19, SPECIES_SANDSHREW}, + {19, 19, SPECIES_TRAPINCH}, + {20, 20, SPECIES_BALTOY}, + {20, 20, SPECIES_CACNEA}, + {22, 22, SPECIES_CACNEA}, + {22, 22, SPECIES_CACNEA}, +}; + +const struct WildPokemonInfo gRoute111_LandMonsInfo = {10, gRoute111_LandMons}; + +const struct WildPokemon gRoute111_WaterMons[] = +{ + {20, 30, SPECIES_MARILL}, + {10, 20, SPECIES_MARILL}, + {30, 35, SPECIES_MARILL}, + {5, 10, SPECIES_MARILL}, + {20, 30, SPECIES_GOLDEEN}, +}; + +const struct WildPokemonInfo gRoute111_WaterMonsInfo = {4, gRoute111_WaterMons}; + +const struct WildPokemon gRoute111_RockSmashMons[] = +{ + {10, 15, SPECIES_GEODUDE}, + {5, 10, SPECIES_GEODUDE}, + {15, 20, SPECIES_GEODUDE}, + {15, 20, SPECIES_GEODUDE}, + {15, 20, SPECIES_GEODUDE}, +}; + +const struct WildPokemonInfo gRoute111_RockSmashMonsInfo = {20, gRoute111_RockSmashMons}; + +const struct WildPokemon gRoute111_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_BARBOACH}, + {25, 30, SPECIES_BARBOACH}, + {30, 35, SPECIES_BARBOACH}, + {20, 25, SPECIES_BARBOACH}, + {35, 40, SPECIES_BARBOACH}, + {40, 45, SPECIES_BARBOACH}, +}; + +const struct WildPokemonInfo gRoute111_FishingMonsInfo = {30, gRoute111_FishingMons}; + +const struct WildPokemon gRoute112_LandMons[] = +{ + {15, 15, SPECIES_NUMEL}, + {15, 15, SPECIES_NUMEL}, + {15, 15, SPECIES_MARILL}, + {14, 14, SPECIES_NUMEL}, + {14, 14, SPECIES_NUMEL}, + {14, 14, SPECIES_MARILL}, + {16, 16, SPECIES_NUMEL}, + {16, 16, SPECIES_MARILL}, + {16, 16, SPECIES_NUMEL}, + {16, 16, SPECIES_NUMEL}, + {16, 16, SPECIES_NUMEL}, + {16, 16, SPECIES_NUMEL}, +}; + +const struct WildPokemonInfo gRoute112_LandMonsInfo = {20, gRoute112_LandMons}; + +const struct WildPokemon gRoute113_LandMons[] = +{ + {15, 15, SPECIES_SPINDA}, + {15, 15, SPECIES_SPINDA}, + {15, 15, SPECIES_SLUGMA}, + {14, 14, SPECIES_SPINDA}, + {14, 14, SPECIES_SPINDA}, + {14, 14, SPECIES_SLUGMA}, + {16, 16, SPECIES_SPINDA}, + {16, 16, SPECIES_SLUGMA}, + {16, 16, SPECIES_SPINDA}, + {16, 16, SPECIES_SKARMORY}, + {16, 16, SPECIES_SPINDA}, + {16, 16, SPECIES_SKARMORY}, +}; + +const struct WildPokemonInfo gRoute113_LandMonsInfo = {20, gRoute113_LandMons}; + +const struct WildPokemon gRoute114_LandMons[] = +{ + {16, 16, SPECIES_SWABLU}, + {16, 16, SPECIES_LOTAD}, + {17, 17, SPECIES_SWABLU}, + {15, 15, SPECIES_SWABLU}, + {15, 15, SPECIES_LOTAD}, + {16, 16, SPECIES_LOMBRE}, + {16, 16, SPECIES_LOMBRE}, + {18, 18, SPECIES_LOMBRE}, + {17, 17, SPECIES_SEVIPER}, + {15, 15, SPECIES_SEVIPER}, + {17, 17, SPECIES_SEVIPER}, + {15, 15, SPECIES_NUZLEAF}, +}; + +const struct WildPokemonInfo gRoute114_LandMonsInfo = {20, gRoute114_LandMons}; + +const struct WildPokemon gRoute114_WaterMons[] = +{ + {20, 30, SPECIES_MARILL}, + {10, 20, SPECIES_MARILL}, + {30, 35, SPECIES_MARILL}, + {5, 10, SPECIES_MARILL}, + {20, 30, SPECIES_GOLDEEN}, +}; + +const struct WildPokemonInfo gRoute114_WaterMonsInfo = {4, gRoute114_WaterMons}; + +const struct WildPokemon gRoute114_RockSmashMons[] = +{ + {10, 15, SPECIES_GEODUDE}, + {5, 10, SPECIES_GEODUDE}, + {15, 20, SPECIES_GEODUDE}, + {15, 20, SPECIES_GEODUDE}, + {15, 20, SPECIES_GEODUDE}, +}; + +const struct WildPokemonInfo gRoute114_RockSmashMonsInfo = {20, gRoute114_RockSmashMons}; + +const struct WildPokemon gRoute114_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_BARBOACH}, + {25, 30, SPECIES_BARBOACH}, + {30, 35, SPECIES_BARBOACH}, + {20, 25, SPECIES_BARBOACH}, + {35, 40, SPECIES_BARBOACH}, + {40, 45, SPECIES_BARBOACH}, +}; + +const struct WildPokemonInfo gRoute114_FishingMonsInfo = {30, gRoute114_FishingMons}; + +const struct WildPokemon gRoute116_LandMons[] = +{ + {6, 6, SPECIES_POOCHYENA}, + {6, 6, SPECIES_WHISMUR}, + {6, 6, SPECIES_NINCADA}, + {7, 7, SPECIES_ABRA}, + {7, 7, SPECIES_NINCADA}, + {6, 6, SPECIES_TAILLOW}, + {7, 7, SPECIES_TAILLOW}, + {8, 8, SPECIES_TAILLOW}, + {7, 7, SPECIES_POOCHYENA}, + {8, 8, SPECIES_POOCHYENA}, + {7, 7, SPECIES_SKITTY}, + {8, 8, SPECIES_SKITTY}, +}; + +const struct WildPokemonInfo gRoute116_LandMonsInfo = {20, gRoute116_LandMons}; + +const struct WildPokemon gRoute117_LandMons[] = +{ + {13, 13, SPECIES_POOCHYENA}, + {13, 13, SPECIES_ODDISH}, + {14, 14, SPECIES_POOCHYENA}, + {14, 14, SPECIES_ODDISH}, + {13, 13, SPECIES_MARILL}, + {13, 13, SPECIES_ODDISH}, + {13, 13, SPECIES_ILLUMISE}, + {13, 13, SPECIES_ILLUMISE}, + {14, 14, SPECIES_ILLUMISE}, + {14, 14, SPECIES_ILLUMISE}, + {13, 13, SPECIES_VOLBEAT}, + {13, 13, SPECIES_SEEDOT}, +}; + +const struct WildPokemonInfo gRoute117_LandMonsInfo = {20, gRoute117_LandMons}; + +const struct WildPokemon gRoute117_WaterMons[] = +{ + {20, 30, SPECIES_MARILL}, + {10, 20, SPECIES_MARILL}, + {30, 35, SPECIES_MARILL}, + {5, 10, SPECIES_MARILL}, + {20, 30, SPECIES_GOLDEEN}, +}; + +const struct WildPokemonInfo gRoute117_WaterMonsInfo = {4, gRoute117_WaterMons}; + +const struct WildPokemon gRoute117_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_CORPHISH}, + {25, 30, SPECIES_CORPHISH}, + {30, 35, SPECIES_CORPHISH}, + {20, 25, SPECIES_CORPHISH}, + {35, 40, SPECIES_CORPHISH}, + {40, 45, SPECIES_CORPHISH}, +}; + +const struct WildPokemonInfo gRoute117_FishingMonsInfo = {30, gRoute117_FishingMons}; + +const struct WildPokemon gRoute118_LandMons[] = +{ + {24, 24, SPECIES_ZIGZAGOON}, + {24, 24, SPECIES_ELECTRIKE}, + {26, 26, SPECIES_ZIGZAGOON}, + {26, 26, SPECIES_ELECTRIKE}, + {26, 26, SPECIES_LINOONE}, + {26, 26, SPECIES_MANECTRIC}, + {25, 25, SPECIES_WINGULL}, + {25, 25, SPECIES_WINGULL}, + {26, 26, SPECIES_WINGULL}, + {26, 26, SPECIES_WINGULL}, + {27, 27, SPECIES_WINGULL}, + {25, 25, SPECIES_KECLEON}, +}; + +const struct WildPokemonInfo gRoute118_LandMonsInfo = {20, gRoute118_LandMons}; + +const struct WildPokemon gRoute118_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute118_WaterMonsInfo = {4, gRoute118_WaterMons}; + +const struct WildPokemon gRoute118_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_CARVANHA}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_CARVANHA}, + {20, 25, SPECIES_CARVANHA}, + {35, 40, SPECIES_CARVANHA}, + {40, 45, SPECIES_CARVANHA}, +}; + +const struct WildPokemonInfo gRoute118_FishingMonsInfo = {30, gRoute118_FishingMons}; + +const struct WildPokemon gRoute124_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute124_WaterMonsInfo = {4, gRoute124_WaterMons}; + +const struct WildPokemon gRoute124_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute124_FishingMonsInfo = {30, gRoute124_FishingMons}; + +const struct WildPokemon gPetalburgWoods_LandMons[] = +{ + {5, 5, SPECIES_POOCHYENA}, + {5, 5, SPECIES_WURMPLE}, + {5, 5, SPECIES_SHROOMISH}, + {6, 6, SPECIES_POOCHYENA}, + {5, 5, SPECIES_SILCOON}, + {5, 5, SPECIES_CASCOON}, + {6, 6, SPECIES_WURMPLE}, + {6, 6, SPECIES_SHROOMISH}, + {5, 5, SPECIES_TAILLOW}, + {5, 5, SPECIES_SLAKOTH}, + {6, 6, SPECIES_TAILLOW}, + {6, 6, SPECIES_SLAKOTH}, +}; + +const struct WildPokemonInfo gPetalburgWoods_LandMonsInfo = {20, gPetalburgWoods_LandMons}; + +const struct WildPokemon gRusturfTunnel_LandMons[] = +{ + {6, 6, SPECIES_WHISMUR}, + {7, 7, SPECIES_WHISMUR}, + {6, 6, SPECIES_WHISMUR}, + {6, 6, SPECIES_WHISMUR}, + {7, 7, SPECIES_WHISMUR}, + {7, 7, SPECIES_WHISMUR}, + {5, 5, SPECIES_WHISMUR}, + {8, 8, SPECIES_WHISMUR}, + {5, 5, SPECIES_WHISMUR}, + {8, 8, SPECIES_WHISMUR}, + {5, 5, SPECIES_WHISMUR}, + {8, 8, SPECIES_WHISMUR}, +}; + +const struct WildPokemonInfo gRusturfTunnel_LandMonsInfo = {10, gRusturfTunnel_LandMons}; + +const struct WildPokemon gGraniteCave_1F_LandMons[] = +{ + {7, 7, SPECIES_ZUBAT}, + {8, 8, SPECIES_MAKUHITA}, + {7, 7, SPECIES_MAKUHITA}, + {8, 8, SPECIES_ZUBAT}, + {9, 9, SPECIES_MAKUHITA}, + {8, 8, SPECIES_ABRA}, + {10, 10, SPECIES_MAKUHITA}, + {6, 6, SPECIES_MAKUHITA}, + {7, 7, SPECIES_GEODUDE}, + {8, 8, SPECIES_GEODUDE}, + {6, 6, SPECIES_GEODUDE}, + {9, 9, SPECIES_GEODUDE}, +}; + +const struct WildPokemonInfo gGraniteCave_1F_LandMonsInfo = {10, gGraniteCave_1F_LandMons}; + +const struct WildPokemon gGraniteCave_B1F_LandMons[] = +{ + {9, 9, SPECIES_ZUBAT}, + {10, 10, SPECIES_ARON}, + {9, 9, SPECIES_ARON}, + {11, 11, SPECIES_ARON}, + {10, 10, SPECIES_ZUBAT}, + {9, 9, SPECIES_ABRA}, + {10, 10, SPECIES_MAKUHITA}, + {11, 11, SPECIES_MAKUHITA}, + {10, 10, SPECIES_SABLEYE}, + {10, 10, SPECIES_SABLEYE}, + {9, 9, SPECIES_SABLEYE}, + {11, 11, SPECIES_SABLEYE}, +}; + +const struct WildPokemonInfo gGraniteCave_B1F_LandMonsInfo = {10, gGraniteCave_B1F_LandMons}; + +const struct WildPokemon gMtPyre_1F_LandMons[] = +{ + {27, 27, SPECIES_SHUPPET}, + {28, 28, SPECIES_SHUPPET}, + {26, 26, SPECIES_SHUPPET}, + {25, 25, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, + {23, 23, SPECIES_SHUPPET}, + {22, 22, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, +}; + +const struct WildPokemonInfo gMtPyre_1F_LandMonsInfo = {10, gMtPyre_1F_LandMons}; + +const struct WildPokemon gVictoryRoad_1F_LandMons[] = +{ + {40, 40, SPECIES_GOLBAT}, + {40, 40, SPECIES_HARIYAMA}, + {40, 40, SPECIES_LAIRON}, + {40, 40, SPECIES_LOUDRED}, + {36, 36, SPECIES_ZUBAT}, + {36, 36, SPECIES_MAKUHITA}, + {38, 38, SPECIES_GOLBAT}, + {38, 38, SPECIES_HARIYAMA}, + {36, 36, SPECIES_ARON}, + {36, 36, SPECIES_WHISMUR}, + {36, 36, SPECIES_ARON}, + {36, 36, SPECIES_WHISMUR}, +}; + +const struct WildPokemonInfo gVictoryRoad_1F_LandMonsInfo = {10, gVictoryRoad_1F_LandMons}; + +const struct WildPokemon gSafariZone_South_LandMons[] = +{ + {25, 25, SPECIES_ODDISH}, + {27, 27, SPECIES_ODDISH}, + {25, 25, SPECIES_GIRAFARIG}, + {27, 27, SPECIES_GIRAFARIG}, + {25, 25, SPECIES_NATU}, + {25, 25, SPECIES_DODUO}, + {25, 25, SPECIES_GLOOM}, + {27, 27, SPECIES_WOBBUFFET}, + {25, 25, SPECIES_PIKACHU}, + {27, 27, SPECIES_WOBBUFFET}, + {27, 27, SPECIES_PIKACHU}, + {29, 29, SPECIES_WOBBUFFET}, +}; + +const struct WildPokemonInfo gSafariZone_South_LandMonsInfo = {25, gSafariZone_South_LandMons}; + +const struct WildPokemon gUnderwater2_WaterMons[] = +{ + {20, 30, SPECIES_CLAMPERL}, + {20, 30, SPECIES_CHINCHOU}, + {30, 35, SPECIES_CLAMPERL}, + {30, 35, SPECIES_RELICANTH}, + {30, 35, SPECIES_RELICANTH}, +}; + +const struct WildPokemonInfo gUnderwater2_WaterMonsInfo = {4, gUnderwater2_WaterMons}; + +const struct WildPokemon gAbandonedShip_Rooms_B1F_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_TENTACOOL}, + {30, 35, SPECIES_TENTACRUEL}, +}; + +const struct WildPokemonInfo gAbandonedShip_Rooms_B1F_WaterMonsInfo = {4, gAbandonedShip_Rooms_B1F_WaterMons}; + +const struct WildPokemon gAbandonedShip_Rooms_B1F_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_TENTACOOL}, + {25, 30, SPECIES_TENTACOOL}, + {30, 35, SPECIES_TENTACOOL}, + {30, 35, SPECIES_TENTACRUEL}, + {25, 30, SPECIES_TENTACRUEL}, + {20, 25, SPECIES_TENTACRUEL}, +}; + +const struct WildPokemonInfo gAbandonedShip_Rooms_B1F_FishingMonsInfo = {20, gAbandonedShip_Rooms_B1F_FishingMons}; + +const struct WildPokemon gGraniteCave_B2F_LandMons[] = +{ + {10, 10, SPECIES_ZUBAT}, + {11, 11, SPECIES_ARON}, + {10, 10, SPECIES_ARON}, + {11, 11, SPECIES_ZUBAT}, + {12, 12, SPECIES_ARON}, + {10, 10, SPECIES_ABRA}, + {10, 10, SPECIES_SABLEYE}, + {11, 11, SPECIES_SABLEYE}, + {12, 12, SPECIES_SABLEYE}, + {10, 10, SPECIES_SABLEYE}, + {12, 12, SPECIES_SABLEYE}, + {10, 10, SPECIES_SABLEYE}, +}; + +const struct WildPokemonInfo gGraniteCave_B2F_LandMonsInfo = {10, gGraniteCave_B2F_LandMons}; + +const struct WildPokemon gGraniteCave_B2F_RockSmashMons[] = +{ + {10, 15, SPECIES_GEODUDE}, + {10, 20, SPECIES_NOSEPASS}, + {5, 10, SPECIES_GEODUDE}, + {15, 20, SPECIES_GEODUDE}, + {15, 20, SPECIES_GEODUDE}, +}; + +const struct WildPokemonInfo gGraniteCave_B2F_RockSmashMonsInfo = {20, gGraniteCave_B2F_RockSmashMons}; + +const struct WildPokemon gFieryPath_LandMons[] = +{ + {15, 15, SPECIES_NUMEL}, + {15, 15, SPECIES_KOFFING}, + {16, 16, SPECIES_NUMEL}, + {15, 15, SPECIES_MACHOP}, + {15, 15, SPECIES_TORKOAL}, + {15, 15, SPECIES_SLUGMA}, + {16, 16, SPECIES_KOFFING}, + {16, 16, SPECIES_MACHOP}, + {14, 14, SPECIES_TORKOAL}, + {16, 16, SPECIES_TORKOAL}, + {14, 14, SPECIES_GRIMER}, + {14, 14, SPECIES_GRIMER}, +}; + +const struct WildPokemonInfo gFieryPath_LandMonsInfo = {10, gFieryPath_LandMons}; + +const struct WildPokemon gMeteorFalls_B1F_2R_LandMons[] = +{ + {33, 33, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {30, 30, SPECIES_BAGON}, + {35, 35, SPECIES_SOLROCK}, + {35, 35, SPECIES_BAGON}, + {37, 37, SPECIES_SOLROCK}, + {25, 25, SPECIES_BAGON}, + {39, 39, SPECIES_SOLROCK}, + {38, 38, SPECIES_GOLBAT}, + {40, 40, SPECIES_GOLBAT}, + {38, 38, SPECIES_GOLBAT}, + {40, 40, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gMeteorFalls_B1F_2R_LandMonsInfo = {10, gMeteorFalls_B1F_2R_LandMons}; + +const struct WildPokemon gMeteorFalls_B1F_2R_WaterMons[] = +{ + {30, 35, SPECIES_GOLBAT}, + {30, 35, SPECIES_GOLBAT}, + {25, 35, SPECIES_SOLROCK}, + {15, 25, SPECIES_SOLROCK}, + {5, 15, SPECIES_SOLROCK}, +}; + +const struct WildPokemonInfo gMeteorFalls_B1F_2R_WaterMonsInfo = {4, gMeteorFalls_B1F_2R_WaterMons}; + +const struct WildPokemon gMeteorFalls_B1F_2R_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_BARBOACH}, + {25, 30, SPECIES_BARBOACH}, + {30, 35, SPECIES_BARBOACH}, + {30, 35, SPECIES_WHISCASH}, + {35, 40, SPECIES_WHISCASH}, + {40, 45, SPECIES_WHISCASH}, +}; + +const struct WildPokemonInfo gMeteorFalls_B1F_2R_FishingMonsInfo = {30, gMeteorFalls_B1F_2R_FishingMons}; + +const struct WildPokemon gJaggedPass_LandMons[] = +{ + {21, 21, SPECIES_NUMEL}, + {21, 21, SPECIES_NUMEL}, + {21, 21, SPECIES_MACHOP}, + {20, 20, SPECIES_NUMEL}, + {20, 20, SPECIES_SPOINK}, + {20, 20, SPECIES_MACHOP}, + {21, 21, SPECIES_SPOINK}, + {22, 22, SPECIES_MACHOP}, + {22, 22, SPECIES_NUMEL}, + {22, 22, SPECIES_SPOINK}, + {22, 22, SPECIES_NUMEL}, + {22, 22, SPECIES_SPOINK}, +}; + +const struct WildPokemonInfo gJaggedPass_LandMonsInfo = {20, gJaggedPass_LandMons}; + +const struct WildPokemon gRoute106_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute106_WaterMonsInfo = {4, gRoute106_WaterMons}; + +const struct WildPokemon gRoute106_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute106_FishingMonsInfo = {30, gRoute106_FishingMons}; + +const struct WildPokemon gRoute107_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute107_WaterMonsInfo = {4, gRoute107_WaterMons}; + +const struct WildPokemon gRoute107_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute107_FishingMonsInfo = {30, gRoute107_FishingMons}; + +const struct WildPokemon gRoute108_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute108_WaterMonsInfo = {4, gRoute108_WaterMons}; + +const struct WildPokemon gRoute108_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute108_FishingMonsInfo = {30, gRoute108_FishingMons}; + +const struct WildPokemon gRoute109_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute109_WaterMonsInfo = {4, gRoute109_WaterMons}; + +const struct WildPokemon gRoute109_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute109_FishingMonsInfo = {30, gRoute109_FishingMons}; + +const struct WildPokemon gRoute115_LandMons[] = +{ + {23, 23, SPECIES_SWABLU}, + {23, 23, SPECIES_TAILLOW}, + {25, 25, SPECIES_SWABLU}, + {24, 24, SPECIES_TAILLOW}, + {25, 25, SPECIES_TAILLOW}, + {25, 25, SPECIES_SWELLOW}, + {24, 24, SPECIES_JIGGLYPUFF}, + {25, 25, SPECIES_JIGGLYPUFF}, + {24, 24, SPECIES_WINGULL}, + {24, 24, SPECIES_WINGULL}, + {26, 26, SPECIES_WINGULL}, + {25, 25, SPECIES_WINGULL}, +}; + +const struct WildPokemonInfo gRoute115_LandMonsInfo = {20, gRoute115_LandMons}; + +const struct WildPokemon gRoute115_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute115_WaterMonsInfo = {4, gRoute115_WaterMons}; + +const struct WildPokemon gRoute115_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute115_FishingMonsInfo = {30, gRoute115_FishingMons}; + +const struct WildPokemon gNewMauville_Inside_LandMons[] = +{ + {24, 24, SPECIES_VOLTORB}, + {24, 24, SPECIES_MAGNEMITE}, + {25, 25, SPECIES_VOLTORB}, + {25, 25, SPECIES_MAGNEMITE}, + {23, 23, SPECIES_VOLTORB}, + {23, 23, SPECIES_MAGNEMITE}, + {26, 26, SPECIES_VOLTORB}, + {26, 26, SPECIES_MAGNEMITE}, + {22, 22, SPECIES_VOLTORB}, + {22, 22, SPECIES_MAGNEMITE}, + {26, 26, SPECIES_ELECTRODE}, + {26, 26, SPECIES_MAGNETON}, +}; + +const struct WildPokemonInfo gNewMauville_Inside_LandMonsInfo = {10, gNewMauville_Inside_LandMons}; + +const struct WildPokemon gRoute119_LandMons[] = +{ + {25, 25, SPECIES_ZIGZAGOON}, + {25, 25, SPECIES_LINOONE}, + {27, 27, SPECIES_ZIGZAGOON}, + {25, 25, SPECIES_ODDISH}, + {27, 27, SPECIES_LINOONE}, + {26, 26, SPECIES_ODDISH}, + {27, 27, SPECIES_ODDISH}, + {24, 24, SPECIES_ODDISH}, + {25, 25, SPECIES_TROPIUS}, + {26, 26, SPECIES_TROPIUS}, + {27, 27, SPECIES_TROPIUS}, + {25, 25, SPECIES_KECLEON}, +}; + +const struct WildPokemonInfo gRoute119_LandMonsInfo = {15, gRoute119_LandMons}; + +const struct WildPokemon gRoute119_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute119_WaterMonsInfo = {4, gRoute119_WaterMons}; + +const struct WildPokemon gRoute119_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_CARVANHA}, + {25, 30, SPECIES_CARVANHA}, + {30, 35, SPECIES_CARVANHA}, + {20, 25, SPECIES_CARVANHA}, + {35, 40, SPECIES_CARVANHA}, + {40, 45, SPECIES_CARVANHA}, +}; + +const struct WildPokemonInfo gRoute119_FishingMonsInfo = {30, gRoute119_FishingMons}; + +const struct WildPokemon gRoute120_LandMons[] = +{ + {25, 25, SPECIES_POOCHYENA}, + {25, 25, SPECIES_MIGHTYENA}, + {27, 27, SPECIES_MIGHTYENA}, + {25, 25, SPECIES_ODDISH}, + {25, 25, SPECIES_MARILL}, + {26, 26, SPECIES_ODDISH}, + {27, 27, SPECIES_ODDISH}, + {27, 27, SPECIES_MARILL}, + {25, 25, SPECIES_ABSOL}, + {27, 27, SPECIES_ABSOL}, + {25, 25, SPECIES_KECLEON}, + {25, 25, SPECIES_SEEDOT}, +}; + +const struct WildPokemonInfo gRoute120_LandMonsInfo = {20, gRoute120_LandMons}; + +const struct WildPokemon gRoute120_WaterMons[] = +{ + {20, 30, SPECIES_MARILL}, + {10, 20, SPECIES_MARILL}, + {30, 35, SPECIES_MARILL}, + {5, 10, SPECIES_MARILL}, + {20, 30, SPECIES_GOLDEEN}, +}; + +const struct WildPokemonInfo gRoute120_WaterMonsInfo = {4, gRoute120_WaterMons}; + +const struct WildPokemon gRoute120_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_BARBOACH}, + {25, 30, SPECIES_BARBOACH}, + {30, 35, SPECIES_BARBOACH}, + {20, 25, SPECIES_BARBOACH}, + {35, 40, SPECIES_BARBOACH}, + {40, 45, SPECIES_BARBOACH}, +}; + +const struct WildPokemonInfo gRoute120_FishingMonsInfo = {30, gRoute120_FishingMons}; + +const struct WildPokemon gRoute121_LandMons[] = +{ + {26, 26, SPECIES_POOCHYENA}, + {26, 26, SPECIES_SHUPPET}, + {26, 26, SPECIES_MIGHTYENA}, + {28, 28, SPECIES_SHUPPET}, + {28, 28, SPECIES_MIGHTYENA}, + {26, 26, SPECIES_ODDISH}, + {28, 28, SPECIES_ODDISH}, + {28, 28, SPECIES_GLOOM}, + {26, 26, SPECIES_WINGULL}, + {27, 27, SPECIES_WINGULL}, + {28, 28, SPECIES_WINGULL}, + {25, 25, SPECIES_KECLEON}, +}; + +const struct WildPokemonInfo gRoute121_LandMonsInfo = {20, gRoute121_LandMons}; + +const struct WildPokemon gRoute121_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute121_WaterMonsInfo = {4, gRoute121_WaterMons}; + +const struct WildPokemon gRoute121_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute121_FishingMonsInfo = {30, gRoute121_FishingMons}; + +const struct WildPokemon gRoute122_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute122_WaterMonsInfo = {4, gRoute122_WaterMons}; + +const struct WildPokemon gRoute122_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute122_FishingMonsInfo = {30, gRoute122_FishingMons}; + +const struct WildPokemon gRoute123_LandMons[] = +{ + {26, 26, SPECIES_POOCHYENA}, + {26, 26, SPECIES_SHUPPET}, + {26, 26, SPECIES_MIGHTYENA}, + {28, 28, SPECIES_SHUPPET}, + {28, 28, SPECIES_MIGHTYENA}, + {26, 26, SPECIES_ODDISH}, + {28, 28, SPECIES_ODDISH}, + {28, 28, SPECIES_GLOOM}, + {26, 26, SPECIES_WINGULL}, + {27, 27, SPECIES_WINGULL}, + {28, 28, SPECIES_WINGULL}, + {25, 25, SPECIES_KECLEON}, +}; + +const struct WildPokemonInfo gRoute123_LandMonsInfo = {20, gRoute123_LandMons}; + +const struct WildPokemon gRoute123_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute123_WaterMonsInfo = {4, gRoute123_WaterMons}; + +const struct WildPokemon gRoute123_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute123_FishingMonsInfo = {30, gRoute123_FishingMons}; + +const struct WildPokemon gMtPyre_2F_LandMons[] = +{ + {27, 27, SPECIES_SHUPPET}, + {28, 28, SPECIES_SHUPPET}, + {26, 26, SPECIES_SHUPPET}, + {25, 25, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, + {23, 23, SPECIES_SHUPPET}, + {22, 22, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, +}; + +const struct WildPokemonInfo gMtPyre_2F_LandMonsInfo = {10, gMtPyre_2F_LandMons}; + +const struct WildPokemon gMtPyre_3F_LandMons[] = +{ + {27, 27, SPECIES_SHUPPET}, + {28, 28, SPECIES_SHUPPET}, + {26, 26, SPECIES_SHUPPET}, + {25, 25, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, + {23, 23, SPECIES_SHUPPET}, + {22, 22, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, +}; + +const struct WildPokemonInfo gMtPyre_3F_LandMonsInfo = {10, gMtPyre_3F_LandMons}; + +const struct WildPokemon gMtPyre_4F_LandMons[] = +{ + {27, 27, SPECIES_SHUPPET}, + {28, 28, SPECIES_SHUPPET}, + {26, 26, SPECIES_SHUPPET}, + {25, 25, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, + {23, 23, SPECIES_SHUPPET}, + {22, 22, SPECIES_SHUPPET}, + {27, 27, SPECIES_DUSKULL}, + {27, 27, SPECIES_DUSKULL}, + {25, 25, SPECIES_DUSKULL}, + {29, 29, SPECIES_DUSKULL}, +}; + +const struct WildPokemonInfo gMtPyre_4F_LandMonsInfo = {10, gMtPyre_4F_LandMons}; + +const struct WildPokemon gMtPyre_5F_LandMons[] = +{ + {27, 27, SPECIES_SHUPPET}, + {28, 28, SPECIES_SHUPPET}, + {26, 26, SPECIES_SHUPPET}, + {25, 25, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, + {23, 23, SPECIES_SHUPPET}, + {22, 22, SPECIES_SHUPPET}, + {27, 27, SPECIES_DUSKULL}, + {27, 27, SPECIES_DUSKULL}, + {25, 25, SPECIES_DUSKULL}, + {29, 29, SPECIES_DUSKULL}, +}; + +const struct WildPokemonInfo gMtPyre_5F_LandMonsInfo = {10, gMtPyre_5F_LandMons}; + +const struct WildPokemon gMtPyre_6F_LandMons[] = +{ + {27, 27, SPECIES_SHUPPET}, + {28, 28, SPECIES_SHUPPET}, + {26, 26, SPECIES_SHUPPET}, + {25, 25, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, + {23, 23, SPECIES_SHUPPET}, + {22, 22, SPECIES_SHUPPET}, + {27, 27, SPECIES_DUSKULL}, + {27, 27, SPECIES_DUSKULL}, + {25, 25, SPECIES_DUSKULL}, + {29, 29, SPECIES_DUSKULL}, +}; + +const struct WildPokemonInfo gMtPyre_6F_LandMonsInfo = {10, gMtPyre_6F_LandMons}; + +const struct WildPokemon gMtPyre_Exterior_LandMons[] = +{ + {27, 27, SPECIES_SHUPPET}, + {27, 27, SPECIES_SHUPPET}, + {28, 28, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {29, 29, SPECIES_VULPIX}, + {27, 27, SPECIES_VULPIX}, + {29, 29, SPECIES_VULPIX}, + {25, 25, SPECIES_VULPIX}, + {27, 27, SPECIES_WINGULL}, + {27, 27, SPECIES_WINGULL}, + {26, 26, SPECIES_WINGULL}, + {28, 28, SPECIES_WINGULL}, +}; + +const struct WildPokemonInfo gMtPyre_Exterior_LandMonsInfo = {10, gMtPyre_Exterior_LandMons}; + +const struct WildPokemon gMtPyre_Summit_LandMons[] = +{ + {28, 28, SPECIES_SHUPPET}, + {29, 29, SPECIES_SHUPPET}, + {27, 27, SPECIES_SHUPPET}, + {26, 26, SPECIES_SHUPPET}, + {30, 30, SPECIES_SHUPPET}, + {25, 25, SPECIES_SHUPPET}, + {24, 24, SPECIES_SHUPPET}, + {28, 28, SPECIES_DUSKULL}, + {26, 26, SPECIES_DUSKULL}, + {30, 30, SPECIES_DUSKULL}, + {28, 28, SPECIES_CHIMECHO}, + {28, 28, SPECIES_CHIMECHO}, +}; + +const struct WildPokemonInfo gMtPyre_Summit_LandMonsInfo = {10, gMtPyre_Summit_LandMons}; + +const struct WildPokemon gGraniteCave_StevensRoom_LandMons[] = +{ + {7, 7, SPECIES_ZUBAT}, + {8, 8, SPECIES_MAKUHITA}, + {7, 7, SPECIES_MAKUHITA}, + {8, 8, SPECIES_ZUBAT}, + {9, 9, SPECIES_MAKUHITA}, + {8, 8, SPECIES_ABRA}, + {10, 10, SPECIES_MAKUHITA}, + {6, 6, SPECIES_MAKUHITA}, + {7, 7, SPECIES_ARON}, + {8, 8, SPECIES_ARON}, + {7, 7, SPECIES_ARON}, + {8, 8, SPECIES_ARON}, +}; + +const struct WildPokemonInfo gGraniteCave_StevensRoom_LandMonsInfo = {10, gGraniteCave_StevensRoom_LandMons}; + +const struct WildPokemon gRoute125_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute125_WaterMonsInfo = {4, gRoute125_WaterMons}; + +const struct WildPokemon gRoute125_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute125_FishingMonsInfo = {30, gRoute125_FishingMons}; + +const struct WildPokemon gRoute126_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute126_WaterMonsInfo = {4, gRoute126_WaterMons}; + +const struct WildPokemon gRoute126_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute126_FishingMonsInfo = {30, gRoute126_FishingMons}; + +const struct WildPokemon gRoute127_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute127_WaterMonsInfo = {4, gRoute127_WaterMons}; + +const struct WildPokemon gRoute127_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute127_FishingMonsInfo = {30, gRoute127_FishingMons}; + +const struct WildPokemon gRoute128_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute128_WaterMonsInfo = {4, gRoute128_WaterMons}; + +const struct WildPokemon gRoute128_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_LUVDISC}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_LUVDISC}, + {30, 35, SPECIES_WAILMER}, + {30, 35, SPECIES_CORSOLA}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute128_FishingMonsInfo = {30, gRoute128_FishingMons}; + +const struct WildPokemon gRoute129_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_WAILORD}, +}; + +const struct WildPokemonInfo gRoute129_WaterMonsInfo = {4, gRoute129_WaterMons}; + +const struct WildPokemon gRoute129_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute129_FishingMonsInfo = {30, gRoute129_FishingMons}; + +const struct WildPokemon gRoute130_LandMons[] = +{ + {30, 30, SPECIES_WYNAUT}, + {35, 35, SPECIES_WYNAUT}, + {25, 25, SPECIES_WYNAUT}, + {40, 40, SPECIES_WYNAUT}, + {20, 20, SPECIES_WYNAUT}, + {45, 45, SPECIES_WYNAUT}, + {15, 15, SPECIES_WYNAUT}, + {50, 50, SPECIES_WYNAUT}, + {10, 10, SPECIES_WYNAUT}, + {5, 5, SPECIES_WYNAUT}, + {10, 10, SPECIES_WYNAUT}, + {5, 5, SPECIES_WYNAUT}, +}; + +const struct WildPokemonInfo gRoute130_LandMonsInfo = {20, gRoute130_LandMons}; + +const struct WildPokemon gRoute130_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute130_WaterMonsInfo = {4, gRoute130_WaterMons}; + +const struct WildPokemon gRoute130_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute130_FishingMonsInfo = {30, gRoute130_FishingMons}; + +const struct WildPokemon gRoute131_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute131_WaterMonsInfo = {4, gRoute131_WaterMons}; + +const struct WildPokemon gRoute131_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute131_FishingMonsInfo = {30, gRoute131_FishingMons}; + +const struct WildPokemon gRoute132_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute132_WaterMonsInfo = {4, gRoute132_WaterMons}; + +const struct WildPokemon gRoute132_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_HORSEA}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute132_FishingMonsInfo = {30, gRoute132_FishingMons}; + +const struct WildPokemon gRoute133_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute133_WaterMonsInfo = {4, gRoute133_WaterMons}; + +const struct WildPokemon gRoute133_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_HORSEA}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute133_FishingMonsInfo = {30, gRoute133_FishingMons}; + +const struct WildPokemon gRoute134_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gRoute134_WaterMonsInfo = {4, gRoute134_WaterMons}; + +const struct WildPokemon gRoute134_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_HORSEA}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gRoute134_FishingMonsInfo = {30, gRoute134_FishingMons}; + +const struct WildPokemon gAbandonedShip_HiddenFloorCorridors_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_TENTACOOL}, + {30, 35, SPECIES_TENTACRUEL}, +}; + +const struct WildPokemonInfo gAbandonedShip_HiddenFloorCorridors_WaterMonsInfo = {4, gAbandonedShip_HiddenFloorCorridors_WaterMons}; + +const struct WildPokemon gAbandonedShip_HiddenFloorCorridors_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_TENTACOOL}, + {25, 30, SPECIES_TENTACOOL}, + {30, 35, SPECIES_TENTACOOL}, + {30, 35, SPECIES_TENTACRUEL}, + {25, 30, SPECIES_TENTACRUEL}, + {20, 25, SPECIES_TENTACRUEL}, +}; + +const struct WildPokemonInfo gAbandonedShip_HiddenFloorCorridors_FishingMonsInfo = {20, gAbandonedShip_HiddenFloorCorridors_FishingMons}; + +const struct WildPokemon gSeafloorCavern_Room1_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {33, 33, SPECIES_ZUBAT}, + {28, 28, SPECIES_ZUBAT}, + {29, 29, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {35, 35, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room1_LandMonsInfo = {4, gSeafloorCavern_Room1_LandMons}; + +const struct WildPokemon gSeafloorCavern_Room2_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {33, 33, SPECIES_ZUBAT}, + {28, 28, SPECIES_ZUBAT}, + {29, 29, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {35, 35, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room2_LandMonsInfo = {4, gSeafloorCavern_Room2_LandMons}; + +const struct WildPokemon gSeafloorCavern_Room3_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {33, 33, SPECIES_ZUBAT}, + {28, 28, SPECIES_ZUBAT}, + {29, 29, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {35, 35, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room3_LandMonsInfo = {4, gSeafloorCavern_Room3_LandMons}; + +const struct WildPokemon gSeafloorCavern_Room4_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {33, 33, SPECIES_ZUBAT}, + {28, 28, SPECIES_ZUBAT}, + {29, 29, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {35, 35, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room4_LandMonsInfo = {4, gSeafloorCavern_Room4_LandMons}; + +const struct WildPokemon gSeafloorCavern_Room5_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {33, 33, SPECIES_ZUBAT}, + {28, 28, SPECIES_ZUBAT}, + {29, 29, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {35, 35, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room5_LandMonsInfo = {4, gSeafloorCavern_Room5_LandMons}; + +const struct WildPokemon gSeafloorCavern_Room6_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {33, 33, SPECIES_ZUBAT}, + {28, 28, SPECIES_ZUBAT}, + {29, 29, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {35, 35, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room6_LandMonsInfo = {4, gSeafloorCavern_Room6_LandMons}; + +const struct WildPokemon gSeafloorCavern_Room6_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_ZUBAT}, + {30, 35, SPECIES_ZUBAT}, + {30, 35, SPECIES_GOLBAT}, + {30, 35, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room6_WaterMonsInfo = {4, gSeafloorCavern_Room6_WaterMons}; + +const struct WildPokemon gSeafloorCavern_Room6_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room6_FishingMonsInfo = {10, gSeafloorCavern_Room6_FishingMons}; + +const struct WildPokemon gSeafloorCavern_Room7_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {33, 33, SPECIES_ZUBAT}, + {28, 28, SPECIES_ZUBAT}, + {29, 29, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {35, 35, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room7_LandMonsInfo = {4, gSeafloorCavern_Room7_LandMons}; + +const struct WildPokemon gSeafloorCavern_Room7_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_ZUBAT}, + {30, 35, SPECIES_ZUBAT}, + {30, 35, SPECIES_GOLBAT}, + {30, 35, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room7_WaterMonsInfo = {4, gSeafloorCavern_Room7_WaterMons}; + +const struct WildPokemon gSeafloorCavern_Room7_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room7_FishingMonsInfo = {10, gSeafloorCavern_Room7_FishingMons}; + +const struct WildPokemon gSeafloorCavern_Room8_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {33, 33, SPECIES_ZUBAT}, + {28, 28, SPECIES_ZUBAT}, + {29, 29, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {35, 35, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Room8_LandMonsInfo = {4, gSeafloorCavern_Room8_LandMons}; + +const struct WildPokemon gSeafloorCavern_Entrance_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_ZUBAT}, + {30, 35, SPECIES_ZUBAT}, + {30, 35, SPECIES_GOLBAT}, + {30, 35, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Entrance_WaterMonsInfo = {4, gSeafloorCavern_Entrance_WaterMons}; + +const struct WildPokemon gSeafloorCavern_Entrance_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gSeafloorCavern_Entrance_FishingMonsInfo = {10, gSeafloorCavern_Entrance_FishingMons}; + +const struct WildPokemon gCaveOfOrigin_Entrance_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {33, 33, SPECIES_ZUBAT}, + {28, 28, SPECIES_ZUBAT}, + {29, 29, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {35, 35, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gCaveOfOrigin_Entrance_LandMonsInfo = {4, gCaveOfOrigin_Entrance_LandMons}; + +const struct WildPokemon gCaveOfOrigin_1F_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {30, 30, SPECIES_SABLEYE}, + {32, 32, SPECIES_SABLEYE}, + {34, 34, SPECIES_SABLEYE}, + {33, 33, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gCaveOfOrigin_1F_LandMonsInfo = {4, gCaveOfOrigin_1F_LandMons}; + +const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap1_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {30, 30, SPECIES_SABLEYE}, + {32, 32, SPECIES_SABLEYE}, + {34, 34, SPECIES_SABLEYE}, + {33, 33, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap1_LandMons}; + +const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap2_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {30, 30, SPECIES_SABLEYE}, + {32, 32, SPECIES_SABLEYE}, + {34, 34, SPECIES_SABLEYE}, + {33, 33, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap2_LandMons}; + +const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap3_LandMons[] = +{ + {30, 30, SPECIES_ZUBAT}, + {31, 31, SPECIES_ZUBAT}, + {32, 32, SPECIES_ZUBAT}, + {30, 30, SPECIES_SABLEYE}, + {32, 32, SPECIES_SABLEYE}, + {34, 34, SPECIES_SABLEYE}, + {33, 33, SPECIES_ZUBAT}, + {34, 34, SPECIES_ZUBAT}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {36, 36, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap3_LandMons}; + +const struct WildPokemon gNewMauville_Entrance_LandMons[] = +{ + {24, 24, SPECIES_VOLTORB}, + {24, 24, SPECIES_MAGNEMITE}, + {25, 25, SPECIES_VOLTORB}, + {25, 25, SPECIES_MAGNEMITE}, + {23, 23, SPECIES_VOLTORB}, + {23, 23, SPECIES_MAGNEMITE}, + {26, 26, SPECIES_VOLTORB}, + {26, 26, SPECIES_MAGNEMITE}, + {22, 22, SPECIES_VOLTORB}, + {22, 22, SPECIES_MAGNEMITE}, + {22, 22, SPECIES_VOLTORB}, + {22, 22, SPECIES_MAGNEMITE}, +}; + +const struct WildPokemonInfo gNewMauville_Entrance_LandMonsInfo = {10, gNewMauville_Entrance_LandMons}; + +const struct WildPokemon gSafariZone_Southwest_LandMons[] = +{ + {25, 25, SPECIES_ODDISH}, + {27, 27, SPECIES_ODDISH}, + {25, 25, SPECIES_GIRAFARIG}, + {27, 27, SPECIES_GIRAFARIG}, + {25, 25, SPECIES_NATU}, + {27, 27, SPECIES_DODUO}, + {25, 25, SPECIES_GLOOM}, + {27, 27, SPECIES_WOBBUFFET}, + {25, 25, SPECIES_PIKACHU}, + {27, 27, SPECIES_WOBBUFFET}, + {27, 27, SPECIES_PIKACHU}, + {29, 29, SPECIES_WOBBUFFET}, +}; + +const struct WildPokemonInfo gSafariZone_Southwest_LandMonsInfo = {25, gSafariZone_Southwest_LandMons}; + +const struct WildPokemon gSafariZone_Southwest_WaterMons[] = +{ + {20, 30, SPECIES_PSYDUCK}, + {20, 30, SPECIES_PSYDUCK}, + {30, 35, SPECIES_PSYDUCK}, + {30, 35, SPECIES_PSYDUCK}, + {30, 35, SPECIES_PSYDUCK}, +}; + +const struct WildPokemonInfo gSafariZone_Southwest_WaterMonsInfo = {9, gSafariZone_Southwest_WaterMons}; + +const struct WildPokemon gSafariZone_Southwest_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 25, SPECIES_GOLDEEN}, + {10, 30, SPECIES_GOLDEEN}, + {25, 30, SPECIES_GOLDEEN}, + {30, 35, SPECIES_GOLDEEN}, + {30, 35, SPECIES_SEAKING}, + {35, 40, SPECIES_SEAKING}, + {25, 30, SPECIES_SEAKING}, +}; + +const struct WildPokemonInfo gSafariZone_Southwest_FishingMonsInfo = {35, gSafariZone_Southwest_FishingMons}; + +const struct WildPokemon gSafariZone_North_LandMons[] = +{ + {27, 27, SPECIES_PHANPY}, + {27, 27, SPECIES_ODDISH}, + {29, 29, SPECIES_PHANPY}, + {29, 29, SPECIES_ODDISH}, + {27, 27, SPECIES_NATU}, + {29, 29, SPECIES_GLOOM}, + {31, 31, SPECIES_GLOOM}, + {29, 29, SPECIES_NATU}, + {29, 29, SPECIES_XATU}, + {27, 27, SPECIES_HERACROSS}, + {31, 31, SPECIES_XATU}, + {29, 29, SPECIES_HERACROSS}, +}; + +const struct WildPokemonInfo gSafariZone_North_LandMonsInfo = {25, gSafariZone_North_LandMons}; + +const struct WildPokemon gSafariZone_North_RockSmashMons[] = +{ + {10, 15, SPECIES_GEODUDE}, + {5, 10, SPECIES_GEODUDE}, + {15, 20, SPECIES_GEODUDE}, + {20, 25, SPECIES_GEODUDE}, + {25, 30, SPECIES_GEODUDE}, +}; + +const struct WildPokemonInfo gSafariZone_North_RockSmashMonsInfo = {25, gSafariZone_North_RockSmashMons}; + +const struct WildPokemon gSafariZone_Northwest_LandMons[] = +{ + {27, 27, SPECIES_RHYHORN}, + {27, 27, SPECIES_ODDISH}, + {29, 29, SPECIES_RHYHORN}, + {29, 29, SPECIES_ODDISH}, + {27, 27, SPECIES_DODUO}, + {29, 29, SPECIES_GLOOM}, + {31, 31, SPECIES_GLOOM}, + {29, 29, SPECIES_DODUO}, + {29, 29, SPECIES_DODRIO}, + {27, 27, SPECIES_PINSIR}, + {31, 31, SPECIES_DODRIO}, + {29, 29, SPECIES_PINSIR}, +}; + +const struct WildPokemonInfo gSafariZone_Northwest_LandMonsInfo = {25, gSafariZone_Northwest_LandMons}; + +const struct WildPokemon gSafariZone_Northwest_WaterMons[] = +{ + {20, 30, SPECIES_PSYDUCK}, + {20, 30, SPECIES_PSYDUCK}, + {30, 35, SPECIES_PSYDUCK}, + {30, 35, SPECIES_GOLDUCK}, + {25, 40, SPECIES_GOLDUCK}, +}; + +const struct WildPokemonInfo gSafariZone_Northwest_WaterMonsInfo = {9, gSafariZone_Northwest_WaterMons}; + +const struct WildPokemon gSafariZone_Northwest_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 25, SPECIES_GOLDEEN}, + {10, 30, SPECIES_GOLDEEN}, + {25, 30, SPECIES_GOLDEEN}, + {30, 35, SPECIES_GOLDEEN}, + {30, 35, SPECIES_SEAKING}, + {35, 40, SPECIES_SEAKING}, + {25, 30, SPECIES_SEAKING}, +}; + +const struct WildPokemonInfo gSafariZone_Northwest_FishingMonsInfo = {35, gSafariZone_Northwest_FishingMons}; + +const struct WildPokemon gVictoryRoad_B1F_LandMons[] = +{ + {40, 40, SPECIES_GOLBAT}, + {40, 40, SPECIES_HARIYAMA}, + {40, 40, SPECIES_LAIRON}, + {40, 40, SPECIES_LAIRON}, + {38, 38, SPECIES_GOLBAT}, + {38, 38, SPECIES_HARIYAMA}, + {42, 42, SPECIES_GOLBAT}, + {42, 42, SPECIES_HARIYAMA}, + {42, 42, SPECIES_LAIRON}, + {38, 38, SPECIES_MAWILE}, + {42, 42, SPECIES_LAIRON}, + {38, 38, SPECIES_MAWILE}, +}; + +const struct WildPokemonInfo gVictoryRoad_B1F_LandMonsInfo = {10, gVictoryRoad_B1F_LandMons}; + +const struct WildPokemon gVictoryRoad_B1F_RockSmashMons[] = +{ + {30, 40, SPECIES_GRAVELER}, + {30, 40, SPECIES_GEODUDE}, + {35, 40, SPECIES_GRAVELER}, + {35, 40, SPECIES_GRAVELER}, + {35, 40, SPECIES_GRAVELER}, +}; + +const struct WildPokemonInfo gVictoryRoad_B1F_RockSmashMonsInfo = {20, gVictoryRoad_B1F_RockSmashMons}; + +const struct WildPokemon gVictoryRoad_B2F_LandMons[] = +{ + {40, 40, SPECIES_GOLBAT}, + {40, 40, SPECIES_SABLEYE}, + {40, 40, SPECIES_LAIRON}, + {40, 40, SPECIES_LAIRON}, + {42, 42, SPECIES_GOLBAT}, + {42, 42, SPECIES_SABLEYE}, + {44, 44, SPECIES_GOLBAT}, + {44, 44, SPECIES_SABLEYE}, + {42, 42, SPECIES_LAIRON}, + {42, 42, SPECIES_MAWILE}, + {44, 44, SPECIES_LAIRON}, + {44, 44, SPECIES_MAWILE}, +}; + +const struct WildPokemonInfo gVictoryRoad_B2F_LandMonsInfo = {10, gVictoryRoad_B2F_LandMons}; + +const struct WildPokemon gVictoryRoad_B2F_WaterMons[] = +{ + {30, 35, SPECIES_GOLBAT}, + {25, 30, SPECIES_GOLBAT}, + {35, 40, SPECIES_GOLBAT}, + {35, 40, SPECIES_GOLBAT}, + {35, 40, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gVictoryRoad_B2F_WaterMonsInfo = {4, gVictoryRoad_B2F_WaterMons}; + +const struct WildPokemon gVictoryRoad_B2F_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_BARBOACH}, + {25, 30, SPECIES_BARBOACH}, + {30, 35, SPECIES_BARBOACH}, + {30, 35, SPECIES_WHISCASH}, + {35, 40, SPECIES_WHISCASH}, + {40, 45, SPECIES_WHISCASH}, +}; + +const struct WildPokemonInfo gVictoryRoad_B2F_FishingMonsInfo = {30, gVictoryRoad_B2F_FishingMons}; + +const struct WildPokemon gMeteorFalls_1F_1R_LandMons[] = +{ + {16, 16, SPECIES_ZUBAT}, + {17, 17, SPECIES_ZUBAT}, + {18, 18, SPECIES_ZUBAT}, + {15, 15, SPECIES_ZUBAT}, + {14, 14, SPECIES_ZUBAT}, + {16, 16, SPECIES_SOLROCK}, + {18, 18, SPECIES_SOLROCK}, + {14, 14, SPECIES_SOLROCK}, + {19, 19, SPECIES_ZUBAT}, + {20, 20, SPECIES_ZUBAT}, + {19, 19, SPECIES_ZUBAT}, + {20, 20, SPECIES_ZUBAT}, +}; + +const struct WildPokemonInfo gMeteorFalls_1F_1R_LandMonsInfo = {10, gMeteorFalls_1F_1R_LandMons}; + +const struct WildPokemon gMeteorFalls_1F_1R_WaterMons[] = +{ + {5, 35, SPECIES_ZUBAT}, + {30, 35, SPECIES_ZUBAT}, + {25, 35, SPECIES_SOLROCK}, + {15, 25, SPECIES_SOLROCK}, + {5, 15, SPECIES_SOLROCK}, +}; + +const struct WildPokemonInfo gMeteorFalls_1F_1R_WaterMonsInfo = {4, gMeteorFalls_1F_1R_WaterMons}; + +const struct WildPokemon gMeteorFalls_1F_1R_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_BARBOACH}, + {25, 30, SPECIES_BARBOACH}, + {30, 35, SPECIES_BARBOACH}, + {20, 25, SPECIES_BARBOACH}, + {35, 40, SPECIES_BARBOACH}, + {40, 45, SPECIES_BARBOACH}, +}; + +const struct WildPokemonInfo gMeteorFalls_1F_1R_FishingMonsInfo = {30, gMeteorFalls_1F_1R_FishingMons}; + +const struct WildPokemon gMeteorFalls_1F_2R_LandMons[] = +{ + {33, 33, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {35, 35, SPECIES_SOLROCK}, + {33, 33, SPECIES_SOLROCK}, + {37, 37, SPECIES_SOLROCK}, + {35, 35, SPECIES_GOLBAT}, + {39, 39, SPECIES_SOLROCK}, + {38, 38, SPECIES_GOLBAT}, + {40, 40, SPECIES_GOLBAT}, + {38, 38, SPECIES_GOLBAT}, + {40, 40, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gMeteorFalls_1F_2R_LandMonsInfo = {10, gMeteorFalls_1F_2R_LandMons}; + +const struct WildPokemon gMeteorFalls_1F_2R_WaterMons[] = +{ + {30, 35, SPECIES_GOLBAT}, + {30, 35, SPECIES_GOLBAT}, + {25, 35, SPECIES_SOLROCK}, + {15, 25, SPECIES_SOLROCK}, + {5, 15, SPECIES_SOLROCK}, +}; + +const struct WildPokemonInfo gMeteorFalls_1F_2R_WaterMonsInfo = {4, gMeteorFalls_1F_2R_WaterMons}; + +const struct WildPokemon gMeteorFalls_1F_2R_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_BARBOACH}, + {25, 30, SPECIES_BARBOACH}, + {30, 35, SPECIES_BARBOACH}, + {30, 35, SPECIES_WHISCASH}, + {35, 40, SPECIES_WHISCASH}, + {40, 45, SPECIES_WHISCASH}, +}; + +const struct WildPokemonInfo gMeteorFalls_1F_2R_FishingMonsInfo = {30, gMeteorFalls_1F_2R_FishingMons}; + +const struct WildPokemon gMeteorFalls_B1F_1R_LandMons[] = +{ + {33, 33, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {35, 35, SPECIES_SOLROCK}, + {33, 33, SPECIES_SOLROCK}, + {37, 37, SPECIES_SOLROCK}, + {35, 35, SPECIES_GOLBAT}, + {39, 39, SPECIES_SOLROCK}, + {38, 38, SPECIES_GOLBAT}, + {40, 40, SPECIES_GOLBAT}, + {38, 38, SPECIES_GOLBAT}, + {40, 40, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gMeteorFalls_B1F_1R_LandMonsInfo = {10, gMeteorFalls_B1F_1R_LandMons}; + +const struct WildPokemon gMeteorFalls_B1F_1R_WaterMons[] = +{ + {30, 35, SPECIES_GOLBAT}, + {30, 35, SPECIES_GOLBAT}, + {25, 35, SPECIES_SOLROCK}, + {15, 25, SPECIES_SOLROCK}, + {5, 15, SPECIES_SOLROCK}, +}; + +const struct WildPokemonInfo gMeteorFalls_B1F_1R_WaterMonsInfo = {4, gMeteorFalls_B1F_1R_WaterMons}; + +const struct WildPokemon gMeteorFalls_B1F_1R_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_BARBOACH}, + {25, 30, SPECIES_BARBOACH}, + {30, 35, SPECIES_BARBOACH}, + {30, 35, SPECIES_WHISCASH}, + {35, 40, SPECIES_WHISCASH}, + {40, 45, SPECIES_WHISCASH}, +}; + +const struct WildPokemonInfo gMeteorFalls_B1F_1R_FishingMonsInfo = {30, gMeteorFalls_B1F_1R_FishingMons}; + +const struct WildPokemon gShoalCave_LowTideStairsRoom_LandMons[] = +{ + {26, 26, SPECIES_ZUBAT}, + {26, 26, SPECIES_SPHEAL}, + {28, 28, SPECIES_ZUBAT}, + {28, 28, SPECIES_SPHEAL}, + {30, 30, SPECIES_ZUBAT}, + {30, 30, SPECIES_SPHEAL}, + {32, 32, SPECIES_ZUBAT}, + {32, 32, SPECIES_SPHEAL}, + {32, 32, SPECIES_GOLBAT}, + {32, 32, SPECIES_SPHEAL}, + {32, 32, SPECIES_GOLBAT}, + {32, 32, SPECIES_SPHEAL}, +}; + +const struct WildPokemonInfo gShoalCave_LowTideStairsRoom_LandMonsInfo = {10, gShoalCave_LowTideStairsRoom_LandMons}; + +const struct WildPokemon gShoalCave_LowTideLowerRoom_LandMons[] = +{ + {26, 26, SPECIES_ZUBAT}, + {26, 26, SPECIES_SPHEAL}, + {28, 28, SPECIES_ZUBAT}, + {28, 28, SPECIES_SPHEAL}, + {30, 30, SPECIES_ZUBAT}, + {30, 30, SPECIES_SPHEAL}, + {32, 32, SPECIES_ZUBAT}, + {32, 32, SPECIES_SPHEAL}, + {32, 32, SPECIES_GOLBAT}, + {32, 32, SPECIES_SPHEAL}, + {32, 32, SPECIES_GOLBAT}, + {32, 32, SPECIES_SPHEAL}, +}; + +const struct WildPokemonInfo gShoalCave_LowTideLowerRoom_LandMonsInfo = {10, gShoalCave_LowTideLowerRoom_LandMons}; + +const struct WildPokemon gShoalCave_LowTideInnerRoom_LandMons[] = +{ + {26, 26, SPECIES_ZUBAT}, + {26, 26, SPECIES_SPHEAL}, + {28, 28, SPECIES_ZUBAT}, + {28, 28, SPECIES_SPHEAL}, + {30, 30, SPECIES_ZUBAT}, + {30, 30, SPECIES_SPHEAL}, + {32, 32, SPECIES_ZUBAT}, + {32, 32, SPECIES_SPHEAL}, + {32, 32, SPECIES_GOLBAT}, + {32, 32, SPECIES_SPHEAL}, + {32, 32, SPECIES_GOLBAT}, + {32, 32, SPECIES_SPHEAL}, +}; + +const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_LandMonsInfo = {10, gShoalCave_LowTideInnerRoom_LandMons}; + +const struct WildPokemon gShoalCave_LowTideInnerRoom_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_ZUBAT}, + {25, 30, SPECIES_SPHEAL}, + {25, 30, SPECIES_SPHEAL}, + {25, 35, SPECIES_SPHEAL}, +}; + +const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_WaterMonsInfo = {4, gShoalCave_LowTideInnerRoom_WaterMons}; + +const struct WildPokemon gShoalCave_LowTideInnerRoom_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_FishingMonsInfo = {10, gShoalCave_LowTideInnerRoom_FishingMons}; + +const struct WildPokemon gShoalCave_LowTideEntranceRoom_LandMons[] = +{ + {26, 26, SPECIES_ZUBAT}, + {26, 26, SPECIES_SPHEAL}, + {28, 28, SPECIES_ZUBAT}, + {28, 28, SPECIES_SPHEAL}, + {30, 30, SPECIES_ZUBAT}, + {30, 30, SPECIES_SPHEAL}, + {32, 32, SPECIES_ZUBAT}, + {32, 32, SPECIES_SPHEAL}, + {32, 32, SPECIES_GOLBAT}, + {32, 32, SPECIES_SPHEAL}, + {32, 32, SPECIES_GOLBAT}, + {32, 32, SPECIES_SPHEAL}, +}; + +const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_LandMonsInfo = {10, gShoalCave_LowTideEntranceRoom_LandMons}; + +const struct WildPokemon gShoalCave_LowTideEntranceRoom_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {5, 35, SPECIES_ZUBAT}, + {25, 30, SPECIES_SPHEAL}, + {25, 30, SPECIES_SPHEAL}, + {25, 35, SPECIES_SPHEAL}, +}; + +const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_WaterMonsInfo = {4, gShoalCave_LowTideEntranceRoom_WaterMons}; + +const struct WildPokemon gShoalCave_LowTideEntranceRoom_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_FishingMonsInfo = {10, gShoalCave_LowTideEntranceRoom_FishingMons}; + +const struct WildPokemon gLilycoveCity_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gLilycoveCity_WaterMonsInfo = {4, gLilycoveCity_WaterMons}; + +const struct WildPokemon gLilycoveCity_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_STARYU}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gLilycoveCity_FishingMonsInfo = {10, gLilycoveCity_FishingMons}; + +const struct WildPokemon gDewfordTown_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gDewfordTown_WaterMonsInfo = {4, gDewfordTown_WaterMons}; + +const struct WildPokemon gDewfordTown_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gDewfordTown_FishingMonsInfo = {10, gDewfordTown_FishingMons}; + +const struct WildPokemon gSlateportCity_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gSlateportCity_WaterMonsInfo = {4, gSlateportCity_WaterMons}; + +const struct WildPokemon gSlateportCity_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_WAILMER}, + {20, 25, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gSlateportCity_FishingMonsInfo = {10, gSlateportCity_FishingMons}; + +const struct WildPokemon gMossdeepCity_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gMossdeepCity_WaterMonsInfo = {4, gMossdeepCity_WaterMons}; + +const struct WildPokemon gMossdeepCity_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gMossdeepCity_FishingMonsInfo = {10, gMossdeepCity_FishingMons}; + +const struct WildPokemon gPacifidlogTown_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gPacifidlogTown_WaterMonsInfo = {4, gPacifidlogTown_WaterMons}; + +const struct WildPokemon gPacifidlogTown_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_SHARPEDO}, + {30, 35, SPECIES_WAILMER}, + {25, 30, SPECIES_WAILMER}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gPacifidlogTown_FishingMonsInfo = {10, gPacifidlogTown_FishingMons}; + +const struct WildPokemon gEverGrandeCity_WaterMons[] = +{ + {5, 35, SPECIES_TENTACOOL}, + {10, 30, SPECIES_WINGULL}, + {15, 25, SPECIES_WINGULL}, + {25, 30, SPECIES_PELIPPER}, + {25, 30, SPECIES_PELIPPER}, +}; + +const struct WildPokemonInfo gEverGrandeCity_WaterMonsInfo = {4, gEverGrandeCity_WaterMons}; + +const struct WildPokemon gEverGrandeCity_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_LUVDISC}, + {10, 30, SPECIES_WAILMER}, + {30, 35, SPECIES_LUVDISC}, + {30, 35, SPECIES_WAILMER}, + {30, 35, SPECIES_CORSOLA}, + {35, 40, SPECIES_WAILMER}, + {40, 45, SPECIES_WAILMER}, +}; + +const struct WildPokemonInfo gEverGrandeCity_FishingMonsInfo = {10, gEverGrandeCity_FishingMons}; + +const struct WildPokemon gPetalburgCity_WaterMons[] = +{ + {20, 30, SPECIES_MARILL}, + {10, 20, SPECIES_MARILL}, + {30, 35, SPECIES_MARILL}, + {5, 10, SPECIES_MARILL}, + {5, 10, SPECIES_MARILL}, +}; + +const struct WildPokemonInfo gPetalburgCity_WaterMonsInfo = {1, gPetalburgCity_WaterMons}; + +const struct WildPokemon gPetalburgCity_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_GOLDEEN}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_GOLDEEN}, + {10, 30, SPECIES_CORPHISH}, + {25, 30, SPECIES_CORPHISH}, + {30, 35, SPECIES_CORPHISH}, + {20, 25, SPECIES_CORPHISH}, + {35, 40, SPECIES_CORPHISH}, + {40, 45, SPECIES_CORPHISH}, +}; + +const struct WildPokemonInfo gPetalburgCity_FishingMonsInfo = {10, gPetalburgCity_FishingMons}; + +const struct WildPokemon gUnderwater1_WaterMons[] = +{ + {20, 30, SPECIES_CLAMPERL}, + {20, 30, SPECIES_CHINCHOU}, + {30, 35, SPECIES_CLAMPERL}, + {30, 35, SPECIES_RELICANTH}, + {30, 35, SPECIES_RELICANTH}, +}; + +const struct WildPokemonInfo gUnderwater1_WaterMonsInfo = {4, gUnderwater1_WaterMons}; + +const struct WildPokemon gShoalCave_LowTideIceRoom_LandMons[] = +{ + {26, 26, SPECIES_ZUBAT}, + {26, 26, SPECIES_SPHEAL}, + {28, 28, SPECIES_ZUBAT}, + {28, 28, SPECIES_SPHEAL}, + {30, 30, SPECIES_ZUBAT}, + {30, 30, SPECIES_SPHEAL}, + {26, 26, SPECIES_SNORUNT}, + {32, 32, SPECIES_SPHEAL}, + {30, 30, SPECIES_GOLBAT}, + {28, 28, SPECIES_SNORUNT}, + {32, 32, SPECIES_GOLBAT}, + {30, 30, SPECIES_SNORUNT}, +}; + +const struct WildPokemonInfo gShoalCave_LowTideIceRoom_LandMonsInfo = {10, gShoalCave_LowTideIceRoom_LandMons}; + +const struct WildPokemon gSkyPillar_1F_LandMons[] = +{ + {33, 33, SPECIES_SABLEYE}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {34, 34, SPECIES_SABLEYE}, + {36, 36, SPECIES_CLAYDOL}, + {37, 37, SPECIES_BANETTE}, + {38, 38, SPECIES_BANETTE}, + {36, 36, SPECIES_CLAYDOL}, + {37, 37, SPECIES_CLAYDOL}, + {38, 38, SPECIES_CLAYDOL}, + {37, 37, SPECIES_CLAYDOL}, + {38, 38, SPECIES_CLAYDOL}, +}; + +const struct WildPokemonInfo gSkyPillar_1F_LandMonsInfo = {10, gSkyPillar_1F_LandMons}; + +const struct WildPokemon gSootopolisCity_WaterMons[] = +{ + {5, 35, SPECIES_MAGIKARP}, + {10, 30, SPECIES_MAGIKARP}, + {15, 25, SPECIES_MAGIKARP}, + {25, 30, SPECIES_MAGIKARP}, + {25, 30, SPECIES_MAGIKARP}, +}; + +const struct WildPokemonInfo gSootopolisCity_WaterMonsInfo = {1, gSootopolisCity_WaterMons}; + +const struct WildPokemon gSootopolisCity_FishingMons[] = +{ + {5, 10, SPECIES_MAGIKARP}, + {5, 10, SPECIES_TENTACOOL}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_MAGIKARP}, + {10, 30, SPECIES_MAGIKARP}, + {30, 35, SPECIES_MAGIKARP}, + {30, 35, SPECIES_MAGIKARP}, + {35, 40, SPECIES_GYARADOS}, + {35, 45, SPECIES_GYARADOS}, + {5, 45, SPECIES_GYARADOS}, +}; + +const struct WildPokemonInfo gSootopolisCity_FishingMonsInfo = {10, gSootopolisCity_FishingMons}; + +const struct WildPokemon gSkyPillar_3F_LandMons[] = +{ + {33, 33, SPECIES_SABLEYE}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {34, 34, SPECIES_SABLEYE}, + {36, 36, SPECIES_CLAYDOL}, + {37, 37, SPECIES_BANETTE}, + {38, 38, SPECIES_BANETTE}, + {36, 36, SPECIES_CLAYDOL}, + {37, 37, SPECIES_CLAYDOL}, + {38, 38, SPECIES_CLAYDOL}, + {37, 37, SPECIES_CLAYDOL}, + {38, 38, SPECIES_CLAYDOL}, +}; + +const struct WildPokemonInfo gSkyPillar_3F_LandMonsInfo = {10, gSkyPillar_3F_LandMons}; + +const struct WildPokemon gSkyPillar_5F_LandMons[] = +{ + {33, 33, SPECIES_SABLEYE}, + {34, 34, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {34, 34, SPECIES_SABLEYE}, + {36, 36, SPECIES_CLAYDOL}, + {37, 37, SPECIES_BANETTE}, + {38, 38, SPECIES_BANETTE}, + {36, 36, SPECIES_CLAYDOL}, + {37, 37, SPECIES_CLAYDOL}, + {38, 38, SPECIES_ALTARIA}, + {39, 39, SPECIES_ALTARIA}, + {39, 39, SPECIES_ALTARIA}, +}; + +const struct WildPokemonInfo gSkyPillar_5F_LandMonsInfo = {10, gSkyPillar_5F_LandMons}; + +const struct WildPokemon gSafariZone_Southeast_LandMons[] = +{ + {33, 33, SPECIES_SUNKERN}, + {34, 34, SPECIES_MAREEP}, + {35, 35, SPECIES_SUNKERN}, + {36, 36, SPECIES_MAREEP}, + {34, 34, SPECIES_AIPOM}, + {33, 33, SPECIES_SPINARAK}, + {35, 35, SPECIES_HOOTHOOT}, + {34, 34, SPECIES_SNUBBULL}, + {36, 36, SPECIES_STANTLER}, + {37, 37, SPECIES_GLIGAR}, + {39, 39, SPECIES_STANTLER}, + {40, 40, SPECIES_GLIGAR}, +}; + +const struct WildPokemonInfo gSafariZone_Southeast_LandMonsInfo = {25, gSafariZone_Southeast_LandMons}; + +const struct WildPokemon gSafariZone_Southeast_WaterMons[] = +{ + {25, 30, SPECIES_WOOPER}, + {25, 30, SPECIES_MARILL}, + {25, 30, SPECIES_MARILL}, + {30, 35, SPECIES_MARILL}, + {35, 40, SPECIES_QUAGSIRE}, +}; + +const struct WildPokemonInfo gSafariZone_Southeast_WaterMonsInfo = {9, gSafariZone_Southeast_WaterMons}; + +const struct WildPokemon gSafariZone_Southeast_FishingMons[] = +{ + {25, 30, SPECIES_MAGIKARP}, + {25, 30, SPECIES_GOLDEEN}, + {25, 30, SPECIES_MAGIKARP}, + {25, 30, SPECIES_GOLDEEN}, + {30, 35, SPECIES_REMORAID}, + {25, 30, SPECIES_GOLDEEN}, + {25, 30, SPECIES_REMORAID}, + {30, 35, SPECIES_REMORAID}, + {30, 35, SPECIES_REMORAID}, + {35, 40, SPECIES_OCTILLERY}, +}; + +const struct WildPokemonInfo gSafariZone_Southeast_FishingMonsInfo = {35, gSafariZone_Southeast_FishingMons}; + +const struct WildPokemon gSafariZone_Northeast_LandMons[] = +{ + {33, 33, SPECIES_AIPOM}, + {34, 34, SPECIES_TEDDIURSA}, + {35, 35, SPECIES_AIPOM}, + {36, 36, SPECIES_TEDDIURSA}, + {34, 34, SPECIES_SUNKERN}, + {33, 33, SPECIES_LEDYBA}, + {35, 35, SPECIES_HOOTHOOT}, + {34, 34, SPECIES_PINECO}, + {36, 36, SPECIES_HOUNDOUR}, + {37, 37, SPECIES_MILTANK}, + {39, 39, SPECIES_HOUNDOUR}, + {40, 40, SPECIES_MILTANK}, +}; + +const struct WildPokemonInfo gSafariZone_Northeast_LandMonsInfo = {25, gSafariZone_Northeast_LandMons}; + +const struct WildPokemon gSafariZone_Northeast_RockSmashMons[] = +{ + {25, 30, SPECIES_SHUCKLE}, + {20, 25, SPECIES_SHUCKLE}, + {30, 35, SPECIES_SHUCKLE}, + {30, 35, SPECIES_SHUCKLE}, + {35, 40, SPECIES_SHUCKLE}, +}; + +const struct WildPokemonInfo gSafariZone_Northeast_RockSmashMonsInfo = {25, gSafariZone_Northeast_RockSmashMons}; + +const struct WildPokemon gMagmaHideout_1F_LandMons[] = +{ + {27, 27, SPECIES_GEODUDE}, + {28, 28, SPECIES_TORKOAL}, + {28, 28, SPECIES_GEODUDE}, + {30, 30, SPECIES_TORKOAL}, + {29, 29, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GRAVELER}, + {30, 30, SPECIES_GRAVELER}, + {31, 31, SPECIES_GRAVELER}, + {32, 32, SPECIES_GRAVELER}, + {33, 33, SPECIES_GRAVELER}, +}; + +const struct WildPokemonInfo gMagmaHideout_1F_LandMonsInfo = {10, gMagmaHideout_1F_LandMons}; + +const struct WildPokemon gMagmaHideout_2F_1R_LandMons[] = +{ + {27, 27, SPECIES_GEODUDE}, + {28, 28, SPECIES_TORKOAL}, + {28, 28, SPECIES_GEODUDE}, + {30, 30, SPECIES_TORKOAL}, + {29, 29, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GRAVELER}, + {30, 30, SPECIES_GRAVELER}, + {31, 31, SPECIES_GRAVELER}, + {32, 32, SPECIES_GRAVELER}, + {33, 33, SPECIES_GRAVELER}, +}; + +const struct WildPokemonInfo gMagmaHideout_2F_1R_LandMonsInfo = {10, gMagmaHideout_2F_1R_LandMons}; + +const struct WildPokemon gMagmaHideout_2F_2R_LandMons[] = +{ + {27, 27, SPECIES_GEODUDE}, + {28, 28, SPECIES_TORKOAL}, + {28, 28, SPECIES_GEODUDE}, + {30, 30, SPECIES_TORKOAL}, + {29, 29, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GRAVELER}, + {30, 30, SPECIES_GRAVELER}, + {31, 31, SPECIES_GRAVELER}, + {32, 32, SPECIES_GRAVELER}, + {33, 33, SPECIES_GRAVELER}, +}; + +const struct WildPokemonInfo gMagmaHideout_2F_2R_LandMonsInfo = {10, gMagmaHideout_2F_2R_LandMons}; + +const struct WildPokemon gMagmaHideout_3F_1R_LandMons[] = +{ + {27, 27, SPECIES_GEODUDE}, + {28, 28, SPECIES_TORKOAL}, + {28, 28, SPECIES_GEODUDE}, + {30, 30, SPECIES_TORKOAL}, + {29, 29, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GRAVELER}, + {30, 30, SPECIES_GRAVELER}, + {31, 31, SPECIES_GRAVELER}, + {32, 32, SPECIES_GRAVELER}, + {33, 33, SPECIES_GRAVELER}, +}; + +const struct WildPokemonInfo gMagmaHideout_3F_1R_LandMonsInfo = {10, gMagmaHideout_3F_1R_LandMons}; + +const struct WildPokemon gMagmaHideout_3F_2R_LandMons[] = +{ + {27, 27, SPECIES_GEODUDE}, + {28, 28, SPECIES_TORKOAL}, + {28, 28, SPECIES_GEODUDE}, + {30, 30, SPECIES_TORKOAL}, + {29, 29, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GRAVELER}, + {30, 30, SPECIES_GRAVELER}, + {31, 31, SPECIES_GRAVELER}, + {32, 32, SPECIES_GRAVELER}, + {33, 33, SPECIES_GRAVELER}, +}; + +const struct WildPokemonInfo gMagmaHideout_3F_2R_LandMonsInfo = {10, gMagmaHideout_3F_2R_LandMons}; + +const struct WildPokemon gMagmaHideout_4F_LandMons[] = +{ + {27, 27, SPECIES_GEODUDE}, + {28, 28, SPECIES_TORKOAL}, + {28, 28, SPECIES_GEODUDE}, + {30, 30, SPECIES_TORKOAL}, + {29, 29, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GRAVELER}, + {30, 30, SPECIES_GRAVELER}, + {31, 31, SPECIES_GRAVELER}, + {32, 32, SPECIES_GRAVELER}, + {33, 33, SPECIES_GRAVELER}, +}; + +const struct WildPokemonInfo gMagmaHideout_4F_LandMonsInfo = {10, gMagmaHideout_4F_LandMons}; + +const struct WildPokemon gMagmaHideout_3F_3R_LandMons[] = +{ + {27, 27, SPECIES_GEODUDE}, + {28, 28, SPECIES_TORKOAL}, + {28, 28, SPECIES_GEODUDE}, + {30, 30, SPECIES_TORKOAL}, + {29, 29, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GRAVELER}, + {30, 30, SPECIES_GRAVELER}, + {31, 31, SPECIES_GRAVELER}, + {32, 32, SPECIES_GRAVELER}, + {33, 33, SPECIES_GRAVELER}, +}; + +const struct WildPokemonInfo gMagmaHideout_3F_3R_LandMonsInfo = {10, gMagmaHideout_3F_3R_LandMons}; + +const struct WildPokemon gMagmaHideout_2F_3R_LandMons[] = +{ + {27, 27, SPECIES_GEODUDE}, + {28, 28, SPECIES_TORKOAL}, + {28, 28, SPECIES_GEODUDE}, + {30, 30, SPECIES_TORKOAL}, + {29, 29, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GEODUDE}, + {30, 30, SPECIES_GRAVELER}, + {30, 30, SPECIES_GRAVELER}, + {31, 31, SPECIES_GRAVELER}, + {32, 32, SPECIES_GRAVELER}, + {33, 33, SPECIES_GRAVELER}, +}; + +const struct WildPokemonInfo gMagmaHideout_2F_3R_LandMonsInfo = {10, gMagmaHideout_2F_3R_LandMons}; + +const struct WildPokemon gMirageTower_1F_LandMons[] = +{ + {21, 21, SPECIES_SANDSHREW}, + {21, 21, SPECIES_TRAPINCH}, + {20, 20, SPECIES_SANDSHREW}, + {20, 20, SPECIES_TRAPINCH}, + {20, 20, SPECIES_SANDSHREW}, + {20, 20, SPECIES_TRAPINCH}, + {22, 22, SPECIES_SANDSHREW}, + {22, 22, SPECIES_TRAPINCH}, + {23, 23, SPECIES_SANDSHREW}, + {23, 23, SPECIES_TRAPINCH}, + {24, 24, SPECIES_SANDSHREW}, + {24, 24, SPECIES_TRAPINCH}, +}; + +const struct WildPokemonInfo gMirageTower_1F_LandMonsInfo = {10, gMirageTower_1F_LandMons}; + +const struct WildPokemon gMirageTower_2F_LandMons[] = +{ + {21, 21, SPECIES_SANDSHREW}, + {21, 21, SPECIES_TRAPINCH}, + {20, 20, SPECIES_SANDSHREW}, + {20, 20, SPECIES_TRAPINCH}, + {20, 20, SPECIES_SANDSHREW}, + {20, 20, SPECIES_TRAPINCH}, + {22, 22, SPECIES_SANDSHREW}, + {22, 22, SPECIES_TRAPINCH}, + {23, 23, SPECIES_SANDSHREW}, + {23, 23, SPECIES_TRAPINCH}, + {24, 24, SPECIES_SANDSHREW}, + {24, 24, SPECIES_TRAPINCH}, +}; + +const struct WildPokemonInfo gMirageTower_2F_LandMonsInfo = {10, gMirageTower_2F_LandMons}; + +const struct WildPokemon gMirageTower_3F_LandMons[] = +{ + {21, 21, SPECIES_SANDSHREW}, + {21, 21, SPECIES_TRAPINCH}, + {20, 20, SPECIES_SANDSHREW}, + {20, 20, SPECIES_TRAPINCH}, + {20, 20, SPECIES_SANDSHREW}, + {20, 20, SPECIES_TRAPINCH}, + {22, 22, SPECIES_SANDSHREW}, + {22, 22, SPECIES_TRAPINCH}, + {23, 23, SPECIES_SANDSHREW}, + {23, 23, SPECIES_TRAPINCH}, + {24, 24, SPECIES_SANDSHREW}, + {24, 24, SPECIES_TRAPINCH}, +}; + +const struct WildPokemonInfo gMirageTower_3F_LandMonsInfo = {10, gMirageTower_3F_LandMons}; + +const struct WildPokemon gMirageTower_4F_LandMons[] = +{ + {21, 21, SPECIES_SANDSHREW}, + {21, 21, SPECIES_TRAPINCH}, + {20, 20, SPECIES_SANDSHREW}, + {20, 20, SPECIES_TRAPINCH}, + {20, 20, SPECIES_SANDSHREW}, + {20, 20, SPECIES_TRAPINCH}, + {22, 22, SPECIES_SANDSHREW}, + {22, 22, SPECIES_TRAPINCH}, + {23, 23, SPECIES_SANDSHREW}, + {23, 23, SPECIES_TRAPINCH}, + {24, 24, SPECIES_SANDSHREW}, + {24, 24, SPECIES_TRAPINCH}, +}; + +const struct WildPokemonInfo gMirageTower_4F_LandMonsInfo = {10, gMirageTower_4F_LandMons}; + +const struct WildPokemon gDesertUnderpass_LandMons[] = +{ + {38, 38, SPECIES_DITTO}, + {35, 35, SPECIES_WHISMUR}, + {40, 40, SPECIES_DITTO}, + {40, 40, SPECIES_LOUDRED}, + {41, 41, SPECIES_DITTO}, + {36, 36, SPECIES_WHISMUR}, + {38, 38, SPECIES_LOUDRED}, + {42, 42, SPECIES_DITTO}, + {38, 38, SPECIES_WHISMUR}, + {43, 43, SPECIES_DITTO}, + {44, 44, SPECIES_LOUDRED}, + {45, 45, SPECIES_DITTO}, +}; + +const struct WildPokemonInfo gDesertUnderpass_LandMonsInfo = {10, gDesertUnderpass_LandMons}; + +const struct WildPokemon gArtisanCave_B1F_LandMons[] = +{ + {40, 40, SPECIES_SMEARGLE}, + {41, 41, SPECIES_SMEARGLE}, + {42, 42, SPECIES_SMEARGLE}, + {43, 43, SPECIES_SMEARGLE}, + {44, 44, SPECIES_SMEARGLE}, + {45, 45, SPECIES_SMEARGLE}, + {46, 46, SPECIES_SMEARGLE}, + {47, 47, SPECIES_SMEARGLE}, + {48, 48, SPECIES_SMEARGLE}, + {49, 49, SPECIES_SMEARGLE}, + {50, 50, SPECIES_SMEARGLE}, + {50, 50, SPECIES_SMEARGLE}, +}; + +const struct WildPokemonInfo gArtisanCave_B1F_LandMonsInfo = {10, gArtisanCave_B1F_LandMons}; + +const struct WildPokemon gArtisanCave_1F_LandMons[] = +{ + {40, 40, SPECIES_SMEARGLE}, + {41, 41, SPECIES_SMEARGLE}, + {42, 42, SPECIES_SMEARGLE}, + {43, 43, SPECIES_SMEARGLE}, + {44, 44, SPECIES_SMEARGLE}, + {45, 45, SPECIES_SMEARGLE}, + {46, 46, SPECIES_SMEARGLE}, + {47, 47, SPECIES_SMEARGLE}, + {48, 48, SPECIES_SMEARGLE}, + {49, 49, SPECIES_SMEARGLE}, + {50, 50, SPECIES_SMEARGLE}, + {50, 50, SPECIES_SMEARGLE}, +}; + +const struct WildPokemonInfo gArtisanCave_1F_LandMonsInfo = {10, gArtisanCave_1F_LandMons}; + +const struct WildPokemon gAlteringCave1_LandMons[] = +{ + {10, 10, SPECIES_ZUBAT}, + {12, 12, SPECIES_ZUBAT}, + {8, 8, SPECIES_ZUBAT}, + {14, 14, SPECIES_ZUBAT}, + {10, 10, SPECIES_ZUBAT}, + {12, 12, SPECIES_ZUBAT}, + {16, 16, SPECIES_ZUBAT}, + {6, 6, SPECIES_ZUBAT}, + {8, 8, SPECIES_ZUBAT}, + {14, 14, SPECIES_ZUBAT}, + {8, 8, SPECIES_ZUBAT}, + {14, 14, SPECIES_ZUBAT}, +}; + +const struct WildPokemonInfo gAlteringCave1_LandMonsInfo = {7, gAlteringCave1_LandMons}; + +const struct WildPokemon gAlteringCave2_LandMons[] = +{ + {7, 7, SPECIES_MAREEP}, + {9, 9, SPECIES_MAREEP}, + {5, 5, SPECIES_MAREEP}, + {11, 11, SPECIES_MAREEP}, + {7, 7, SPECIES_MAREEP}, + {9, 9, SPECIES_MAREEP}, + {13, 13, SPECIES_MAREEP}, + {3, 3, SPECIES_MAREEP}, + {5, 5, SPECIES_MAREEP}, + {11, 11, SPECIES_MAREEP}, + {5, 5, SPECIES_MAREEP}, + {11, 11, SPECIES_MAREEP}, +}; + +const struct WildPokemonInfo gAlteringCave2_LandMonsInfo = {7, gAlteringCave2_LandMons}; + +const struct WildPokemon gAlteringCave3_LandMons[] = +{ + {23, 23, SPECIES_PINECO}, + {25, 25, SPECIES_PINECO}, + {22, 22, SPECIES_PINECO}, + {27, 27, SPECIES_PINECO}, + {23, 23, SPECIES_PINECO}, + {25, 25, SPECIES_PINECO}, + {29, 29, SPECIES_PINECO}, + {19, 19, SPECIES_PINECO}, + {21, 21, SPECIES_PINECO}, + {27, 27, SPECIES_PINECO}, + {21, 21, SPECIES_PINECO}, + {27, 27, SPECIES_PINECO}, +}; + +const struct WildPokemonInfo gAlteringCave3_LandMonsInfo = {7, gAlteringCave3_LandMons}; + +const struct WildPokemon gAlteringCave4_LandMons[] = +{ + {16, 16, SPECIES_HOUNDOUR}, + {18, 18, SPECIES_HOUNDOUR}, + {14, 14, SPECIES_HOUNDOUR}, + {20, 20, SPECIES_HOUNDOUR}, + {16, 16, SPECIES_HOUNDOUR}, + {18, 18, SPECIES_HOUNDOUR}, + {22, 22, SPECIES_HOUNDOUR}, + {12, 12, SPECIES_HOUNDOUR}, + {14, 14, SPECIES_HOUNDOUR}, + {20, 20, SPECIES_HOUNDOUR}, + {14, 14, SPECIES_HOUNDOUR}, + {20, 20, SPECIES_HOUNDOUR}, +}; + +const struct WildPokemonInfo gAlteringCave4_LandMonsInfo = {7, gAlteringCave4_LandMons}; + +const struct WildPokemon gAlteringCave5_LandMons[] = +{ + {10, 10, SPECIES_TEDDIURSA}, + {12, 12, SPECIES_TEDDIURSA}, + {8, 8, SPECIES_TEDDIURSA}, + {14, 14, SPECIES_TEDDIURSA}, + {10, 10, SPECIES_TEDDIURSA}, + {12, 12, SPECIES_TEDDIURSA}, + {16, 16, SPECIES_TEDDIURSA}, + {6, 6, SPECIES_TEDDIURSA}, + {8, 8, SPECIES_TEDDIURSA}, + {14, 14, SPECIES_TEDDIURSA}, + {8, 8, SPECIES_TEDDIURSA}, + {14, 14, SPECIES_TEDDIURSA}, +}; + +const struct WildPokemonInfo gAlteringCave5_LandMonsInfo = {7, gAlteringCave5_LandMons}; + +const struct WildPokemon gAlteringCave6_LandMons[] = +{ + {22, 22, SPECIES_AIPOM}, + {24, 24, SPECIES_AIPOM}, + {20, 20, SPECIES_AIPOM}, + {26, 26, SPECIES_AIPOM}, + {22, 22, SPECIES_AIPOM}, + {24, 24, SPECIES_AIPOM}, + {28, 28, SPECIES_AIPOM}, + {18, 18, SPECIES_AIPOM}, + {20, 20, SPECIES_AIPOM}, + {26, 26, SPECIES_AIPOM}, + {20, 20, SPECIES_AIPOM}, + {26, 26, SPECIES_AIPOM}, +}; + +const struct WildPokemonInfo gAlteringCave6_LandMonsInfo = {7, gAlteringCave6_LandMons}; + +const struct WildPokemon gAlteringCave7_LandMons[] = +{ + {22, 22, SPECIES_SHUCKLE}, + {24, 24, SPECIES_SHUCKLE}, + {20, 20, SPECIES_SHUCKLE}, + {26, 26, SPECIES_SHUCKLE}, + {22, 22, SPECIES_SHUCKLE}, + {24, 24, SPECIES_SHUCKLE}, + {28, 28, SPECIES_SHUCKLE}, + {18, 18, SPECIES_SHUCKLE}, + {20, 20, SPECIES_SHUCKLE}, + {26, 26, SPECIES_SHUCKLE}, + {20, 20, SPECIES_SHUCKLE}, + {26, 26, SPECIES_SHUCKLE}, +}; + +const struct WildPokemonInfo gAlteringCave7_LandMonsInfo = {7, gAlteringCave7_LandMons}; + +const struct WildPokemon gAlteringCave8_LandMons[] = +{ + {22, 22, SPECIES_STANTLER}, + {24, 24, SPECIES_STANTLER}, + {20, 20, SPECIES_STANTLER}, + {26, 26, SPECIES_STANTLER}, + {22, 22, SPECIES_STANTLER}, + {24, 24, SPECIES_STANTLER}, + {28, 28, SPECIES_STANTLER}, + {18, 18, SPECIES_STANTLER}, + {20, 20, SPECIES_STANTLER}, + {26, 26, SPECIES_STANTLER}, + {20, 20, SPECIES_STANTLER}, + {26, 26, SPECIES_STANTLER}, +}; + +const struct WildPokemonInfo gAlteringCave8_LandMonsInfo = {7, gAlteringCave8_LandMons}; + +const struct WildPokemon gAlteringCave9_LandMons[] = +{ + {22, 22, SPECIES_SMEARGLE}, + {24, 24, SPECIES_SMEARGLE}, + {20, 20, SPECIES_SMEARGLE}, + {26, 26, SPECIES_SMEARGLE}, + {22, 22, SPECIES_SMEARGLE}, + {24, 24, SPECIES_SMEARGLE}, + {28, 28, SPECIES_SMEARGLE}, + {18, 18, SPECIES_SMEARGLE}, + {20, 20, SPECIES_SMEARGLE}, + {26, 26, SPECIES_SMEARGLE}, + {20, 20, SPECIES_SMEARGLE}, + {26, 26, SPECIES_SMEARGLE}, +}; + +const struct WildPokemonInfo gAlteringCave9_LandMonsInfo = {7, gAlteringCave9_LandMons}; + +const struct WildPokemon gMeteorFalls_StevensCave_LandMons[] = +{ + {33, 33, SPECIES_GOLBAT}, + {35, 35, SPECIES_GOLBAT}, + {33, 33, SPECIES_GOLBAT}, + {35, 35, SPECIES_SOLROCK}, + {33, 33, SPECIES_SOLROCK}, + {37, 37, SPECIES_SOLROCK}, + {35, 35, SPECIES_GOLBAT}, + {39, 39, SPECIES_SOLROCK}, + {38, 38, SPECIES_GOLBAT}, + {40, 40, SPECIES_GOLBAT}, + {38, 38, SPECIES_GOLBAT}, + {40, 40, SPECIES_GOLBAT}, +}; + +const struct WildPokemonInfo gMeteorFalls_StevensCave_LandMonsInfo = {10, gMeteorFalls_StevensCave_LandMons}; + +const struct WildPokemonHeader gWildMonHeaders[] = +{ + { + .mapGroup = MAP_GROUP(ROUTE101), + .mapNum = MAP_NUM(ROUTE101), + .landMonsInfo = &gRoute101_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ROUTE102), + .mapNum = MAP_NUM(ROUTE102), + .landMonsInfo = &gRoute102_LandMonsInfo, + .waterMonsInfo = &gRoute102_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute102_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE103), + .mapNum = MAP_NUM(ROUTE103), + .landMonsInfo = &gRoute103_LandMonsInfo, + .waterMonsInfo = &gRoute103_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute103_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE104), + .mapNum = MAP_NUM(ROUTE104), + .landMonsInfo = &gRoute104_LandMonsInfo, + .waterMonsInfo = &gRoute104_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute104_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE105), + .mapNum = MAP_NUM(ROUTE105), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute105_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute105_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE110), + .mapNum = MAP_NUM(ROUTE110), + .landMonsInfo = &gRoute110_LandMonsInfo, + .waterMonsInfo = &gRoute110_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute110_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE111), + .mapNum = MAP_NUM(ROUTE111), + .landMonsInfo = &gRoute111_LandMonsInfo, + .waterMonsInfo = &gRoute111_WaterMonsInfo, + .rockSmashMonsInfo = &gRoute111_RockSmashMonsInfo, + .fishingMonsInfo = &gRoute111_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE112), + .mapNum = MAP_NUM(ROUTE112), + .landMonsInfo = &gRoute112_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ROUTE113), + .mapNum = MAP_NUM(ROUTE113), + .landMonsInfo = &gRoute113_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ROUTE114), + .mapNum = MAP_NUM(ROUTE114), + .landMonsInfo = &gRoute114_LandMonsInfo, + .waterMonsInfo = &gRoute114_WaterMonsInfo, + .rockSmashMonsInfo = &gRoute114_RockSmashMonsInfo, + .fishingMonsInfo = &gRoute114_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE116), + .mapNum = MAP_NUM(ROUTE116), + .landMonsInfo = &gRoute116_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ROUTE117), + .mapNum = MAP_NUM(ROUTE117), + .landMonsInfo = &gRoute117_LandMonsInfo, + .waterMonsInfo = &gRoute117_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute117_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE118), + .mapNum = MAP_NUM(ROUTE118), + .landMonsInfo = &gRoute118_LandMonsInfo, + .waterMonsInfo = &gRoute118_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute118_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE124), + .mapNum = MAP_NUM(ROUTE124), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute124_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute124_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(PETALBURG_WOODS), + .mapNum = MAP_NUM(PETALBURG_WOODS), + .landMonsInfo = &gPetalburgWoods_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(RUSTURF_TUNNEL), + .mapNum = MAP_NUM(RUSTURF_TUNNEL), + .landMonsInfo = &gRusturfTunnel_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(GRANITE_CAVE_1F), + .mapNum = MAP_NUM(GRANITE_CAVE_1F), + .landMonsInfo = &gGraniteCave_1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(GRANITE_CAVE_B1F), + .mapNum = MAP_NUM(GRANITE_CAVE_B1F), + .landMonsInfo = &gGraniteCave_B1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MT_PYRE_1F), + .mapNum = MAP_NUM(MT_PYRE_1F), + .landMonsInfo = &gMtPyre_1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(VICTORY_ROAD_1F), + .mapNum = MAP_NUM(VICTORY_ROAD_1F), + .landMonsInfo = &gVictoryRoad_1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTHEAST), + .mapNum = MAP_NUM(SAFARI_ZONE_SOUTHEAST), + .landMonsInfo = &gSafariZone_South_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(UNDERWATER2), + .mapNum = MAP_NUM(UNDERWATER2), + .landMonsInfo = NULL, + .waterMonsInfo = &gUnderwater2_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ABANDONED_SHIP_ROOMS_B1F), + .mapNum = MAP_NUM(ABANDONED_SHIP_ROOMS_B1F), + .landMonsInfo = NULL, + .waterMonsInfo = &gAbandonedShip_Rooms_B1F_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gAbandonedShip_Rooms_B1F_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(GRANITE_CAVE_B2F), + .mapNum = MAP_NUM(GRANITE_CAVE_B2F), + .landMonsInfo = &gGraniteCave_B2F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = &gGraniteCave_B2F_RockSmashMonsInfo, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(FIERY_PATH), + .mapNum = MAP_NUM(FIERY_PATH), + .landMonsInfo = &gFieryPath_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(METEOR_FALLS_B1F_2R), + .mapNum = MAP_NUM(METEOR_FALLS_B1F_2R), + .landMonsInfo = &gMeteorFalls_B1F_2R_LandMonsInfo, + .waterMonsInfo = &gMeteorFalls_B1F_2R_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gMeteorFalls_B1F_2R_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(JAGGED_PASS), + .mapNum = MAP_NUM(JAGGED_PASS), + .landMonsInfo = &gJaggedPass_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ROUTE106), + .mapNum = MAP_NUM(ROUTE106), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute106_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute106_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE107), + .mapNum = MAP_NUM(ROUTE107), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute107_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute107_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE108), + .mapNum = MAP_NUM(ROUTE108), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute108_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute108_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE109), + .mapNum = MAP_NUM(ROUTE109), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute109_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute109_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE115), + .mapNum = MAP_NUM(ROUTE115), + .landMonsInfo = &gRoute115_LandMonsInfo, + .waterMonsInfo = &gRoute115_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute115_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(NEW_MAUVILLE_INSIDE), + .mapNum = MAP_NUM(NEW_MAUVILLE_INSIDE), + .landMonsInfo = &gNewMauville_Inside_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ROUTE119), + .mapNum = MAP_NUM(ROUTE119), + .landMonsInfo = &gRoute119_LandMonsInfo, + .waterMonsInfo = &gRoute119_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute119_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE120), + .mapNum = MAP_NUM(ROUTE120), + .landMonsInfo = &gRoute120_LandMonsInfo, + .waterMonsInfo = &gRoute120_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute120_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE121), + .mapNum = MAP_NUM(ROUTE121), + .landMonsInfo = &gRoute121_LandMonsInfo, + .waterMonsInfo = &gRoute121_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute121_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE122), + .mapNum = MAP_NUM(ROUTE122), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute122_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute122_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE123), + .mapNum = MAP_NUM(ROUTE123), + .landMonsInfo = &gRoute123_LandMonsInfo, + .waterMonsInfo = &gRoute123_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute123_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(MT_PYRE_2F), + .mapNum = MAP_NUM(MT_PYRE_2F), + .landMonsInfo = &gMtPyre_2F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MT_PYRE_3F), + .mapNum = MAP_NUM(MT_PYRE_3F), + .landMonsInfo = &gMtPyre_3F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MT_PYRE_4F), + .mapNum = MAP_NUM(MT_PYRE_4F), + .landMonsInfo = &gMtPyre_4F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MT_PYRE_5F), + .mapNum = MAP_NUM(MT_PYRE_5F), + .landMonsInfo = &gMtPyre_5F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MT_PYRE_6F), + .mapNum = MAP_NUM(MT_PYRE_6F), + .landMonsInfo = &gMtPyre_6F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MT_PYRE_EXTERIOR), + .mapNum = MAP_NUM(MT_PYRE_EXTERIOR), + .landMonsInfo = &gMtPyre_Exterior_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MT_PYRE_SUMMIT), + .mapNum = MAP_NUM(MT_PYRE_SUMMIT), + .landMonsInfo = &gMtPyre_Summit_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(GRANITE_CAVE_STEVENS_ROOM), + .mapNum = MAP_NUM(GRANITE_CAVE_STEVENS_ROOM), + .landMonsInfo = &gGraniteCave_StevensRoom_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ROUTE125), + .mapNum = MAP_NUM(ROUTE125), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute125_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute125_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE126), + .mapNum = MAP_NUM(ROUTE126), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute126_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute126_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE127), + .mapNum = MAP_NUM(ROUTE127), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute127_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute127_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE128), + .mapNum = MAP_NUM(ROUTE128), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute128_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute128_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE129), + .mapNum = MAP_NUM(ROUTE129), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute129_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute129_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE130), + .mapNum = MAP_NUM(ROUTE130), + .landMonsInfo = &gRoute130_LandMonsInfo, + .waterMonsInfo = &gRoute130_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute130_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE131), + .mapNum = MAP_NUM(ROUTE131), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute131_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute131_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE132), + .mapNum = MAP_NUM(ROUTE132), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute132_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute132_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE133), + .mapNum = MAP_NUM(ROUTE133), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute133_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute133_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ROUTE134), + .mapNum = MAP_NUM(ROUTE134), + .landMonsInfo = NULL, + .waterMonsInfo = &gRoute134_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gRoute134_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS), + .mapNum = MAP_NUM(ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS), + .landMonsInfo = NULL, + .waterMonsInfo = &gAbandonedShip_HiddenFloorCorridors_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gAbandonedShip_HiddenFloorCorridors_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM1), + .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM1), + .landMonsInfo = &gSeafloorCavern_Room1_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM2), + .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM2), + .landMonsInfo = &gSeafloorCavern_Room2_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM3), + .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM3), + .landMonsInfo = &gSeafloorCavern_Room3_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM4), + .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM4), + .landMonsInfo = &gSeafloorCavern_Room4_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM5), + .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM5), + .landMonsInfo = &gSeafloorCavern_Room5_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM6), + .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM6), + .landMonsInfo = &gSeafloorCavern_Room6_LandMonsInfo, + .waterMonsInfo = &gSeafloorCavern_Room6_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gSeafloorCavern_Room6_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM7), + .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM7), + .landMonsInfo = &gSeafloorCavern_Room7_LandMonsInfo, + .waterMonsInfo = &gSeafloorCavern_Room7_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gSeafloorCavern_Room7_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM8), + .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM8), + .landMonsInfo = &gSeafloorCavern_Room8_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ENTRANCE), + .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ENTRANCE), + .landMonsInfo = NULL, + .waterMonsInfo = &gSeafloorCavern_Entrance_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gSeafloorCavern_Entrance_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_ENTRANCE), + .mapNum = MAP_NUM(CAVE_OF_ORIGIN_ENTRANCE), + .landMonsInfo = &gCaveOfOrigin_Entrance_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_1F), + .mapNum = MAP_NUM(CAVE_OF_ORIGIN_1F), + .landMonsInfo = &gCaveOfOrigin_1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RS_B1F), + .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RS_B1F), + .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RS_B2F), + .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RS_B2F), + .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RS_B3F), + .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RS_B3F), + .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(NEW_MAUVILLE_ENTRANCE), + .mapNum = MAP_NUM(NEW_MAUVILLE_ENTRANCE), + .landMonsInfo = &gNewMauville_Entrance_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTHWEST), + .mapNum = MAP_NUM(SAFARI_ZONE_SOUTHWEST), + .landMonsInfo = &gSafariZone_Southwest_LandMonsInfo, + .waterMonsInfo = &gSafariZone_Southwest_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gSafariZone_Southwest_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTHEAST), + .mapNum = MAP_NUM(SAFARI_ZONE_NORTHEAST), + .landMonsInfo = &gSafariZone_North_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = &gSafariZone_North_RockSmashMonsInfo, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTHWEST), + .mapNum = MAP_NUM(SAFARI_ZONE_NORTHWEST), + .landMonsInfo = &gSafariZone_Northwest_LandMonsInfo, + .waterMonsInfo = &gSafariZone_Northwest_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gSafariZone_Northwest_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(VICTORY_ROAD_B1F), + .mapNum = MAP_NUM(VICTORY_ROAD_B1F), + .landMonsInfo = &gVictoryRoad_B1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = &gVictoryRoad_B1F_RockSmashMonsInfo, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(VICTORY_ROAD_B2F), + .mapNum = MAP_NUM(VICTORY_ROAD_B2F), + .landMonsInfo = &gVictoryRoad_B2F_LandMonsInfo, + .waterMonsInfo = &gVictoryRoad_B2F_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gVictoryRoad_B2F_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(METEOR_FALLS_1F_1R), + .mapNum = MAP_NUM(METEOR_FALLS_1F_1R), + .landMonsInfo = &gMeteorFalls_1F_1R_LandMonsInfo, + .waterMonsInfo = &gMeteorFalls_1F_1R_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gMeteorFalls_1F_1R_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(METEOR_FALLS_1F_2R), + .mapNum = MAP_NUM(METEOR_FALLS_1F_2R), + .landMonsInfo = &gMeteorFalls_1F_2R_LandMonsInfo, + .waterMonsInfo = &gMeteorFalls_1F_2R_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gMeteorFalls_1F_2R_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(METEOR_FALLS_B1F_1R), + .mapNum = MAP_NUM(METEOR_FALLS_B1F_1R), + .landMonsInfo = &gMeteorFalls_B1F_1R_LandMonsInfo, + .waterMonsInfo = &gMeteorFalls_B1F_1R_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gMeteorFalls_B1F_1R_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM), + .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM), + .landMonsInfo = &gShoalCave_LowTideStairsRoom_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_LOWER_ROOM), + .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_LOWER_ROOM), + .landMonsInfo = &gShoalCave_LowTideLowerRoom_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_INNER_ROOM), + .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_INNER_ROOM), + .landMonsInfo = &gShoalCave_LowTideInnerRoom_LandMonsInfo, + .waterMonsInfo = &gShoalCave_LowTideInnerRoom_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gShoalCave_LowTideInnerRoom_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM), + .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM), + .landMonsInfo = &gShoalCave_LowTideEntranceRoom_LandMonsInfo, + .waterMonsInfo = &gShoalCave_LowTideEntranceRoom_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gShoalCave_LowTideEntranceRoom_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(LILYCOVE_CITY), + .mapNum = MAP_NUM(LILYCOVE_CITY), + .landMonsInfo = NULL, + .waterMonsInfo = &gLilycoveCity_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gLilycoveCity_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(DEWFORD_TOWN), + .mapNum = MAP_NUM(DEWFORD_TOWN), + .landMonsInfo = NULL, + .waterMonsInfo = &gDewfordTown_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gDewfordTown_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(SLATEPORT_CITY), + .mapNum = MAP_NUM(SLATEPORT_CITY), + .landMonsInfo = NULL, + .waterMonsInfo = &gSlateportCity_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gSlateportCity_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(MOSSDEEP_CITY), + .mapNum = MAP_NUM(MOSSDEEP_CITY), + .landMonsInfo = NULL, + .waterMonsInfo = &gMossdeepCity_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gMossdeepCity_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(PACIFIDLOG_TOWN), + .mapNum = MAP_NUM(PACIFIDLOG_TOWN), + .landMonsInfo = NULL, + .waterMonsInfo = &gPacifidlogTown_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gPacifidlogTown_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(EVER_GRANDE_CITY), + .mapNum = MAP_NUM(EVER_GRANDE_CITY), + .landMonsInfo = NULL, + .waterMonsInfo = &gEverGrandeCity_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gEverGrandeCity_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(PETALBURG_CITY), + .mapNum = MAP_NUM(PETALBURG_CITY), + .landMonsInfo = NULL, + .waterMonsInfo = &gPetalburgCity_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gPetalburgCity_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(UNDERWATER1), + .mapNum = MAP_NUM(UNDERWATER1), + .landMonsInfo = NULL, + .waterMonsInfo = &gUnderwater1_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_ICE_ROOM), + .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_ICE_ROOM), + .landMonsInfo = &gShoalCave_LowTideIceRoom_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SKY_PILLAR_1F), + .mapNum = MAP_NUM(SKY_PILLAR_1F), + .landMonsInfo = &gSkyPillar_1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SOOTOPOLIS_CITY), + .mapNum = MAP_NUM(SOOTOPOLIS_CITY), + .landMonsInfo = NULL, + .waterMonsInfo = &gSootopolisCity_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gSootopolisCity_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(SKY_PILLAR_3F), + .mapNum = MAP_NUM(SKY_PILLAR_3F), + .landMonsInfo = &gSkyPillar_3F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SKY_PILLAR_5F), + .mapNum = MAP_NUM(SKY_PILLAR_5F), + .landMonsInfo = &gSkyPillar_5F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(SAFARI_ZONE_EM_2), + .mapNum = MAP_NUM(SAFARI_ZONE_EM_2), + .landMonsInfo = &gSafariZone_Southeast_LandMonsInfo, + .waterMonsInfo = &gSafariZone_Southeast_WaterMonsInfo, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = &gSafariZone_Southeast_FishingMonsInfo, + }, + { + .mapGroup = MAP_GROUP(SAFARI_ZONE_EM_1), + .mapNum = MAP_NUM(SAFARI_ZONE_EM_1), + .landMonsInfo = &gSafariZone_Northeast_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = &gSafariZone_Northeast_RockSmashMonsInfo, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_1F), + .mapNum = MAP_NUM(MAGMA_HIDEOUT_1F), + .landMonsInfo = &gMagmaHideout_1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_1R), + .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_1R), + .landMonsInfo = &gMagmaHideout_2F_1R_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_2R), + .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_2R), + .landMonsInfo = &gMagmaHideout_2F_2R_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_1R), + .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_1R), + .landMonsInfo = &gMagmaHideout_3F_1R_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_2R), + .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_2R), + .landMonsInfo = &gMagmaHideout_3F_2R_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_4F), + .mapNum = MAP_NUM(MAGMA_HIDEOUT_4F), + .landMonsInfo = &gMagmaHideout_4F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_3R), + .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_3R), + .landMonsInfo = &gMagmaHideout_3F_3R_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_3R), + .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_3R), + .landMonsInfo = &gMagmaHideout_2F_3R_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MIRAGE_TOWER_1F), + .mapNum = MAP_NUM(MIRAGE_TOWER_1F), + .landMonsInfo = &gMirageTower_1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MIRAGE_TOWER_2F), + .mapNum = MAP_NUM(MIRAGE_TOWER_2F), + .landMonsInfo = &gMirageTower_2F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MIRAGE_TOWER_3F), + .mapNum = MAP_NUM(MIRAGE_TOWER_3F), + .landMonsInfo = &gMirageTower_3F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(MIRAGE_TOWER_4F), + .mapNum = MAP_NUM(MIRAGE_TOWER_4F), + .landMonsInfo = &gMirageTower_4F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(DESERT_UNDERPASS), + .mapNum = MAP_NUM(DESERT_UNDERPASS), + .landMonsInfo = &gDesertUnderpass_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ARTISAN_CAVE_B1F), + .mapNum = MAP_NUM(ARTISAN_CAVE_B1F), + .landMonsInfo = &gArtisanCave_B1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ARTISAN_CAVE_1F), + .mapNum = MAP_NUM(ARTISAN_CAVE_1F), + .landMonsInfo = &gArtisanCave_1F_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ALTERING_CAVE), + .mapNum = MAP_NUM(ALTERING_CAVE), + .landMonsInfo = &gAlteringCave1_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ALTERING_CAVE), + .mapNum = MAP_NUM(ALTERING_CAVE), + .landMonsInfo = &gAlteringCave2_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ALTERING_CAVE), + .mapNum = MAP_NUM(ALTERING_CAVE), + .landMonsInfo = &gAlteringCave3_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ALTERING_CAVE), + .mapNum = MAP_NUM(ALTERING_CAVE), + .landMonsInfo = &gAlteringCave4_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ALTERING_CAVE), + .mapNum = MAP_NUM(ALTERING_CAVE), + .landMonsInfo = &gAlteringCave5_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ALTERING_CAVE), + .mapNum = MAP_NUM(ALTERING_CAVE), + .landMonsInfo = &gAlteringCave6_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ALTERING_CAVE), + .mapNum = MAP_NUM(ALTERING_CAVE), + .landMonsInfo = &gAlteringCave7_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ALTERING_CAVE), + .mapNum = MAP_NUM(ALTERING_CAVE), + .landMonsInfo = &gAlteringCave8_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(ALTERING_CAVE), + .mapNum = MAP_NUM(ALTERING_CAVE), + .landMonsInfo = &gAlteringCave9_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(METEOR_FALLS_STEVENS_CAVE), + .mapNum = MAP_NUM(METEOR_FALLS_STEVENS_CAVE), + .landMonsInfo = &gMeteorFalls_StevensCave_LandMonsInfo, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = MAP_GROUP(UNDEFINED), + .mapNum = MAP_NUM(UNDEFINED), + .landMonsInfo = NULL, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, +}; + +const struct WildPokemon gBattlePyramidPlaceholders_1[] = +{ + {5, 5, SPECIES_BULBASAUR}, + {5, 5, SPECIES_BULBASAUR}, + {5, 5, SPECIES_BULBASAUR}, + {5, 5, SPECIES_BULBASAUR}, + {5, 5, SPECIES_IVYSAUR}, + {5, 5, SPECIES_IVYSAUR}, + {5, 5, SPECIES_VENUSAUR}, + {5, 5, SPECIES_VENUSAUR}, + {5, 5, SPECIES_VENUSAUR}, + {5, 5, SPECIES_CHARMANDER}, + {5, 5, SPECIES_VENUSAUR}, + {5, 5, SPECIES_CHARMANDER}, +}; + +const struct WildPokemonInfo gBattlePyramidPlaceholders_1Info = {4, gBattlePyramidPlaceholders_1}; + +const struct WildPokemon gBattlePyramidPlaceholders_2[] = +{ + {5, 5, SPECIES_IVYSAUR}, + {5, 5, SPECIES_IVYSAUR}, + {5, 5, SPECIES_IVYSAUR}, + {5, 5, SPECIES_IVYSAUR}, + {5, 5, SPECIES_VENUSAUR}, + {5, 5, SPECIES_VENUSAUR}, + {5, 5, SPECIES_CHARMANDER}, + {5, 5, SPECIES_CHARMANDER}, + {5, 5, SPECIES_CHARMANDER}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMANDER}, +}; + +const struct WildPokemonInfo gBattlePyramidPlaceholders_2Info = {4, gBattlePyramidPlaceholders_2}; + +const struct WildPokemon gBattlePyramidPlaceholders_3[] = +{ + {5, 5, SPECIES_VENUSAUR}, + {5, 5, SPECIES_VENUSAUR}, + {5, 5, SPECIES_VENUSAUR}, + {5, 5, SPECIES_VENUSAUR}, + {5, 5, SPECIES_CHARMANDER}, + {5, 5, SPECIES_CHARMANDER}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARIZARD}, +}; + +const struct WildPokemonInfo gBattlePyramidPlaceholders_3Info = {4, gBattlePyramidPlaceholders_3}; + +const struct WildPokemon gBattlePyramidPlaceholders_4[] = +{ + {5, 5, SPECIES_CHARMANDER}, + {5, 5, SPECIES_CHARMANDER}, + {5, 5, SPECIES_CHARMANDER}, + {5, 5, SPECIES_CHARMANDER}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_SQUIRTLE}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_SQUIRTLE}, +}; + +const struct WildPokemonInfo gBattlePyramidPlaceholders_4Info = {4, gBattlePyramidPlaceholders_4}; + +const struct WildPokemon gBattlePyramidPlaceholders_5[] = +{ + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_SQUIRTLE}, + {5, 5, SPECIES_SQUIRTLE}, + {5, 5, SPECIES_SQUIRTLE}, + {5, 5, SPECIES_WARTORTLE}, + {5, 5, SPECIES_SQUIRTLE}, + {5, 5, SPECIES_WARTORTLE}, +}; + +const struct WildPokemonInfo gBattlePyramidPlaceholders_5Info = {4, gBattlePyramidPlaceholders_5}; + +const struct WildPokemon gBattlePyramidPlaceholders_6[] = +{ + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_SQUIRTLE}, + {5, 5, SPECIES_SQUIRTLE}, + {5, 5, SPECIES_WARTORTLE}, + {5, 5, SPECIES_WARTORTLE}, + {5, 5, SPECIES_WARTORTLE}, + {5, 5, SPECIES_WARTORTLE}, + {5, 5, SPECIES_WARTORTLE}, + {5, 5, SPECIES_WARTORTLE}, +}; + +const struct WildPokemonInfo gBattlePyramidPlaceholders_6Info = {4, gBattlePyramidPlaceholders_6}; + +const struct WildPokemon gBattlePyramidPlaceholders_7[] = +{ + {5, 5, SPECIES_WARTORTLE}, + {5, 5, SPECIES_WARTORTLE}, + {5, 5, SPECIES_SQUIRTLE}, + {5, 5, SPECIES_SQUIRTLE}, + {5, 5, SPECIES_SQUIRTLE}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_CHARIZARD}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMELEON}, + {5, 5, SPECIES_CHARMELEON}, +}; + +const struct WildPokemonInfo gBattlePyramidPlaceholders_7Info = {8, gBattlePyramidPlaceholders_7}; + +const struct WildPokemonHeader gBattlePyramidWildMonHeaders[] = +{ + { + .mapGroup = 0, + .mapNum = 1, + .landMonsInfo = &gBattlePyramidPlaceholders_1Info, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 0, + .mapNum = 2, + .landMonsInfo = &gBattlePyramidPlaceholders_2Info, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 0, + .mapNum = 3, + .landMonsInfo = &gBattlePyramidPlaceholders_3Info, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 0, + .mapNum = 4, + .landMonsInfo = &gBattlePyramidPlaceholders_4Info, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 0, + .mapNum = 5, + .landMonsInfo = &gBattlePyramidPlaceholders_5Info, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 0, + .mapNum = 6, + .landMonsInfo = &gBattlePyramidPlaceholders_6Info, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 0, + .mapNum = 7, + .landMonsInfo = &gBattlePyramidPlaceholders_7Info, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 255, + .mapNum = 255, + .landMonsInfo = NULL, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, +}; + +const struct WildPokemon gBattlePikeMons_1[] = +{ + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, + {5, 5, SPECIES_DUSCLOPS}, + {5, 5, SPECIES_DUSCLOPS}, + {5, 5, SPECIES_DUSCLOPS}, + {5, 5, SPECIES_DUSCLOPS}, + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, + {5, 5, SPECIES_DUSCLOPS}, + {5, 5, SPECIES_DUSCLOPS}, + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, +}; + +const struct WildPokemonInfo gBattlePikeMonsInfo_1 = {10, gBattlePikeMons_1}; + +const struct WildPokemon gBattlePikeMons_2[] = +{ + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, + {5, 5, SPECIES_ELECTRODE}, + {5, 5, SPECIES_ELECTRODE}, + {5, 5, SPECIES_ELECTRODE}, + {5, 5, SPECIES_ELECTRODE}, + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, + {5, 5, SPECIES_ELECTRODE}, + {5, 5, SPECIES_ELECTRODE}, + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, +}; + +const struct WildPokemonInfo gBattlePikeMonsInfo_2 = {10, gBattlePikeMons_2}; + +const struct WildPokemon gBattlePikeMons_3[] = +{ + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, + {5, 5, SPECIES_BRELOOM}, + {5, 5, SPECIES_BRELOOM}, + {5, 5, SPECIES_BRELOOM}, + {5, 5, SPECIES_BRELOOM}, + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, + {5, 5, SPECIES_BRELOOM}, + {5, 5, SPECIES_BRELOOM}, + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, +}; + +const struct WildPokemonInfo gBattlePikeMonsInfo_3 = {10, gBattlePikeMons_3}; + +const struct WildPokemon gBattlePikeMons_4[] = +{ + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, + {5, 5, SPECIES_WOBBUFFET}, + {5, 5, SPECIES_WOBBUFFET}, + {5, 5, SPECIES_WOBBUFFET}, + {5, 5, SPECIES_WOBBUFFET}, + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, + {5, 5, SPECIES_WOBBUFFET}, + {5, 5, SPECIES_WOBBUFFET}, + {5, 5, SPECIES_SEVIPER}, + {5, 5, SPECIES_MILOTIC}, +}; + +const struct WildPokemonInfo gBattlePikeMonsInfo_4 = {10, gBattlePikeMons_4}; + +const struct WildPokemonHeader gBattlePikeWildMonHeaders[] = +{ + { + .mapGroup = 0, + .mapNum = 1, + .landMonsInfo = &gBattlePikeMonsInfo_1, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 0, + .mapNum = 2, + .landMonsInfo = &gBattlePikeMonsInfo_2, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 0, + .mapNum = 3, + .landMonsInfo = &gBattlePikeMonsInfo_3, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 0, + .mapNum = 4, + .landMonsInfo = &gBattlePikeMonsInfo_4, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, + { + .mapGroup = 255, + .mapNum = 255, + .landMonsInfo = NULL, + .waterMonsInfo = NULL, + .rockSmashMonsInfo = NULL, + .fishingMonsInfo = NULL, + }, +}; + +const struct WildPokemon gWildFeebasRoute119Data = {20, 25, SPECIES_FEEBAS}; + +const u16 gRoute119WaterTileData[] = +{ + 0, 0x2D, 0, + 0x2E, 0x5B, 0x83, + 0x5C, 0x8B, 0x12A, +}; + +// code +void DisableWildEncounters(bool8 disabled) +{ + sWildEncountersDisabled = disabled; +} + +static u16 GetRoute119WaterTileNum(s16 x, s16 y, u8 section) +{ + u16 xCur; + u16 yCur; + u16 yMin = gRoute119WaterTileData[section * 3 + 0]; + u16 yMax = gRoute119WaterTileData[section * 3 + 1]; + u16 tileNum = gRoute119WaterTileData[section * 3 + 2]; + + for (yCur = yMin; yCur <= yMax; yCur++) + { + for (xCur = 0; xCur < gMapHeader.mapData->width; xCur++) + { + u8 tileBehaviorId = MapGridGetMetatileBehaviorAt(xCur + 7, yCur + 7); + if (MetatileBehavior_IsSurfableAndNotWaterfall(tileBehaviorId) == TRUE) + { + tileNum++; + if (x == xCur && y == yCur) + return tileNum; + } + } + } + return tileNum + 1; +} + +static bool8 CheckFeebas(void) +{ + u8 i; + u16 feebasSpots[NUM_FEEBAS_SPOTS]; + s16 x; + s16 y; + u8 route119Section = 0; + u16 waterTileNum; + + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE119) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE119)) + { + GetXYCoordsOneStepInFrontOfPlayer(&x, &y); + x -= 7; + y -= 7; + +#ifdef NONMATCHING + if (y >= gRoute119WaterTileData[3 * 1 + 0] && y <= gRoute119WaterTileData[3 * 1 + 1]) + route119Section = 1; + if (y >= gRoute119WaterTileData[3 * 2 + 0] && y <= gRoute119WaterTileData[3 * 2 + 1]) + route119Section = 2; +#else + { + register const u16 *arr asm("r0"); + if (y >= (arr = gRoute119WaterTileData)[3 * 1 + 0] && y <= arr[3 * 1 + 1]) + route119Section = 1; + if (y >= arr[3 * 2 + 0] && y <= arr[3 * 2 + 1]) + route119Section = 2; + } +#endif + + if (Random() % 100 > 49) // 50% chance of encountering Feebas + return FALSE; + + FeebasSeedRng(gSaveBlock1Ptr->easyChatPairs[0].unk2); + for (i = 0; i != NUM_FEEBAS_SPOTS;) + { + feebasSpots[i] = FeebasRandom() % 447; + if (feebasSpots[i] == 0) + feebasSpots[i] = 447; + if (feebasSpots[i] < 1 || feebasSpots[i] >= 4) + i++; + } + waterTileNum = GetRoute119WaterTileNum(x, y, route119Section); + for (i = 0; i < NUM_FEEBAS_SPOTS; i++) + { + if (waterTileNum == feebasSpots[i]) + return TRUE; + } + } + return FALSE; +} + +// The number 1103515245 comes from the example implementation of rand and srand +// in the ISO C standard. + +static u16 FeebasRandom(void) +{ + sFeebasRngValue = (1103515245 * sFeebasRngValue) + 12345; + return sFeebasRngValue >> 16; +} + +static void FeebasSeedRng(u16 seed) +{ + sFeebasRngValue = seed; +} + +static u8 ChooseWildMonIndex_Land(void) +{ + u8 rand = Random() % 100; + + if (rand < 20) // 20% chance + return 0; + else if (rand >= 20 && rand < 40) // 20% chance + return 1; + else if (rand >= 40 && rand < 50) // 10% chance + return 2; + else if (rand >= 50 && rand < 60) // 10% chance + return 3; + else if (rand >= 60 && rand < 70) // 10% chance + return 4; + else if (rand >= 70 && rand < 80) // 10% chance + return 5; + else if (rand >= 80 && rand < 85) // 5% chance + return 6; + else if (rand >= 85 && rand < 90) // 5% chance + return 7; + else if (rand >= 90 && rand < 94) // 4% chance + return 8; + else if (rand >= 94 && rand < 98) // 4% chance + return 9; + else if (rand == 98) // 1% chance + return 10; + else // 1% chance + return 11; +} + +static u8 ChooseWildMonIndex_WaterRock(void) +{ + u8 rand = Random() % 100; + + if (rand < 60) // 60% chance + return 0; + else if (rand >= 60 && rand < 90) // 30% chance + return 1; + else if (rand >= 90 && rand < 95) // 5% chance + return 2; + else if (rand >= 95 && rand < 99) // 4% chance + return 3; + else // 1% chance + return 4; +} + +enum +{ + OLD_ROD, + GOOD_ROD, + SUPER_ROD +}; + +static u8 ChooseWildMonIndex_Fishing(u8 rod) +{ + u8 wildMonIndex = 0; + u8 rand = Random() % 100; + + switch (rod) + { + case OLD_ROD: + if (rand < 70) // 70% chance + wildMonIndex = 0; + else // 30% chance + wildMonIndex = 1; + break; + case GOOD_ROD: + if (rand < 60) // 60% chance + wildMonIndex = 2; + if (rand >= 60 && rand < 80) // 20% chance + wildMonIndex = 3; + if (rand >= 80 && rand < 100) // 20% chance + wildMonIndex = 4; + break; + case SUPER_ROD: + if (rand < 40) // 40% chance + wildMonIndex = 5; + if (rand >= 40 && rand < 80) // 40% chance + wildMonIndex = 6; + if (rand >= 80 && rand < 95) // 15% chance + wildMonIndex = 7; + if (rand >= 95 && rand < 99) // 4% chance + wildMonIndex = 8; + if (rand == 99) // 1% chance + wildMonIndex = 9; + break; + } + return wildMonIndex; +} + +static u8 ChooseWildMonLevel(const struct WildPokemon *wildPokemon) +{ + u8 min; + u8 max; + u8 range; + u8 rand; + + // Make sure minimum level is less than maximum level + if (wildPokemon->maxLevel >= wildPokemon->minLevel) + { + min = wildPokemon->minLevel; + max = wildPokemon->maxLevel; + } + else + { + min = wildPokemon->maxLevel; + max = wildPokemon->minLevel; + } + range = max - min + 1; + rand = Random() % range; + + // check ability for max level mon + if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3)) + { + u8 ability = GetMonAbility(&gPlayerParty[0]); + if (ability == ABILITY_HUSTLE || ability == ABILITY_VITAL_SPIRIT || ability == ABILITY_PRESSURE) + { + if (Random() % 2 == 0) + return max; + + if (rand != 0) + rand--; + } + } + + return min + rand; +} + +static u16 GetCurrentMapWildMonHeaderId(void) +{ + u16 i; + + for (i = 0; ; i++) + { + const struct WildPokemonHeader *wildHeader = &gWildMonHeaders[i]; + if (wildHeader->mapGroup == 0xFF) + break; + + if (gWildMonHeaders[i].mapGroup == gSaveBlock1Ptr->location.mapGroup && + gWildMonHeaders[i].mapNum == gSaveBlock1Ptr->location.mapNum) + { + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ALTERING_CAVE) && + gSaveBlock1Ptr->location.mapNum == MAP_NUM(ALTERING_CAVE)) + { + u16 alteringCaveId = VarGet(VAR_ALTERING_CAVE_WILD_SET); + if (alteringCaveId > 8) + alteringCaveId = 0; + + i += alteringCaveId; + } + + return i; + } + } + + return -1; +} + +static u8 PickWildMonNature(void) +{ + u8 i; + u8 j; + struct Pokeblock *safariPokeblock; + u8 natures[25]; + + if (GetSafariZoneFlag() == TRUE && Random() % 100 < 80) + { + safariPokeblock = SafariZoneGetActivePokeblock(); + if (safariPokeblock != NULL) + { + for (i = 0; i < 25; i++) + natures[i] = i; + for (i = 0; i < 24; i++) + { + for (j = i + 1; j < 25; j++) + { + if (Random() & 1) + { + u8 temp = natures[i]; + + natures[i] = natures[j]; + natures[j] = temp; + } + } + } + for (i = 0; i < 25; i++) + { + if (PokeblockGetGain(natures[i], safariPokeblock) > 0) + return natures[i]; + } + } + } + // check synchronize for a pokemon with the same ability + if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3) + && GetMonAbility(&gPlayerParty[0]) == ABILITY_SYNCHRONIZE + && Random() % 2 == 0) + { + return GetMonData(&gPlayerParty[0], MON_DATA_PERSONALITY) % 25; + } + + // random nature + return Random() % 25; +} + +static void CreateWildMon(u16 species, u8 level) +{ + bool32 checkCuteCharm; + + ZeroEnemyPartyMons(); + checkCuteCharm = TRUE; + + switch (gBaseStats[species].genderRatio) + { + case MON_MALE: + case MON_FEMALE: + case MON_GENDERLESS: + checkCuteCharm = FALSE; + break; + } + + if (checkCuteCharm + && !GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3) + && GetMonAbility(&gPlayerParty[0]) == ABILITY_CUTE_CHARM + && Random() % 3 != 0) + { + u16 leadingMonSpecies = GetMonData(&gPlayerParty[0], MON_DATA_SPECIES); + u32 leadingMonPersonality = GetMonData(&gPlayerParty[0], MON_DATA_PERSONALITY); + u8 gender = GetGenderFromSpeciesAndPersonality(leadingMonSpecies, leadingMonPersonality); + + // misses mon is genderless check, although no genderless mon can have cute charm as ability + if (gender == MON_FEMALE) + gender = MON_MALE; + else + gender = MON_FEMALE; + + CreateMonWithGenderNatureLetter(&gEnemyParty[0], species, level, 32, gender, PickWildMonNature(), 0); + return; + } + + CreateMonWithNature(&gEnemyParty[0], species, level, 32, PickWildMonNature()); +} + +enum +{ + WILD_AREA_LAND, + WILD_AREA_WATER, + WILD_AREA_ROCKS, + WILD_AREA_FISHING, +}; + +#define WILD_CHECK_REPEL 0x1 +#define WILD_CHECK_KEEN_EYE 0x2 + +static bool8 TryGenerateWildMon(const struct WildPokemonInfo *wildMonInfo, u8 area, u8 flags) +{ + u8 wildMonIndex = 0; + u8 level; + + switch (area) + { + case WILD_AREA_LAND: + if (TryGetAbilityInfluencedWildMonIndex(wildMonInfo->wildPokemon, TYPE_STEEL, ABILITY_MAGNET_PULL, &wildMonIndex)) + break; + if (TryGetAbilityInfluencedWildMonIndex(wildMonInfo->wildPokemon, TYPE_ELECTRIC, ABILITY_STATIC, &wildMonIndex)) + break; + + wildMonIndex = ChooseWildMonIndex_Land(); + break; + case WILD_AREA_WATER: + if (TryGetAbilityInfluencedWildMonIndex(wildMonInfo->wildPokemon, TYPE_ELECTRIC, ABILITY_STATIC, &wildMonIndex)) + break; + + wildMonIndex = ChooseWildMonIndex_WaterRock(); + break; + case WILD_AREA_ROCKS: + wildMonIndex = ChooseWildMonIndex_WaterRock(); + break; + } + + level = ChooseWildMonLevel(&wildMonInfo->wildPokemon[wildMonIndex]); + if (flags & WILD_CHECK_REPEL && !IsWildLevelAllowedByRepel(level)) + return FALSE; + if (gMapHeader.mapDataId != 0x166 && flags & WILD_CHECK_KEEN_EYE && !IsAbilityAllowingEncounter(level)) + return FALSE; + + CreateWildMon(wildMonInfo->wildPokemon[wildMonIndex].species, level); + return TRUE; +} + +static u16 GenerateFishingWildMon(const struct WildPokemonInfo *wildMonInfo, u8 rod) +{ + u8 wildMonIndex = ChooseWildMonIndex_Fishing(rod); + u8 level = ChooseWildMonLevel(&wildMonInfo->wildPokemon[wildMonIndex]); + + CreateWildMon(wildMonInfo->wildPokemon[wildMonIndex].species, level); + return wildMonInfo->wildPokemon[wildMonIndex].species; +} + +static bool8 SetUpMassOutbreakEncounter(u8 flags) +{ + u16 i; + + if (flags & WILD_CHECK_REPEL && !IsWildLevelAllowedByRepel(gSaveBlock1Ptr->outbreakPokemonLevel)) + return FALSE; + + CreateWildMon(gSaveBlock1Ptr->outbreakPokemonSpecies, gSaveBlock1Ptr->outbreakPokemonLevel); + for (i = 0; i < 4; i++) + SetMonMoveSlot(&gEnemyParty[0], gSaveBlock1Ptr->outbreakPokemonMoves[i], i); + + return TRUE; +} + +static bool8 DoMassOutbreakEncounterTest(void) +{ + if (gSaveBlock1Ptr->outbreakPokemonSpecies != 0 + && gSaveBlock1Ptr->location.mapNum == gSaveBlock1Ptr->outbreakLocationMapNum + && gSaveBlock1Ptr->location.mapGroup == gSaveBlock1Ptr->outbreakLocationMapGroup) + { + if (Random() % 100 < gSaveBlock1Ptr->outbreakPokemonProbability) + return TRUE; + } + return FALSE; +} + +static bool8 DoWildEncounterRateDiceRoll(u16 encounterRate) +{ + if (Random() % 2880 < encounterRate) + return TRUE; + else + return FALSE; +} + +static bool8 DoWildEncounterRateTest(u32 encounterRate, bool8 ignoreAbility) +{ + encounterRate *= 16; + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE)) + encounterRate = encounterRate * 80 / 100; + ApplyFluteEncounterRateMod(&encounterRate); + ApplyCleanseTagEncounterRateMod(&encounterRate); + if (!ignoreAbility && !GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3)) + { + u32 ability = GetMonAbility(&gPlayerParty[0]); + + if (ability == ABILITY_STENCH && gMapHeader.mapDataId == 0x169) + encounterRate = encounterRate * 3 / 4; + else if (ability == ABILITY_STENCH) + encounterRate /= 2; + else if (ability == ABILITY_ILLUMINATE) + encounterRate *= 2; + else if (ability == ABILITY_WHITE_SMOKE) + encounterRate /= 2; + else if (ability == ABILITY_ARENA_TRAP) + encounterRate *= 2; + else if (ability == ABILITY_SAND_VEIL && gSaveBlock1Ptr->weather == 8) + encounterRate /= 2; + } + if (encounterRate > 2880) + encounterRate = 2880; + return DoWildEncounterRateDiceRoll(encounterRate); +} + +static bool8 DoGlobalWildEncounterDiceRoll(void) +{ + if (Random() % 100 >= 60) + return FALSE; + else + return TRUE; +} + +static bool8 AreLegendariesInSootopolisPreventingEncounters(void) +{ + if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(SOOTOPOLIS_CITY) + || gSaveBlock1Ptr->location.mapNum != MAP_NUM(SOOTOPOLIS_CITY)) + { + return FALSE; + } + + return FlagGet(FLAG_LEGENDARIES_IN_SOOTOPOLIS); +} + +bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavior) +{ + u16 headerId; + struct Roamer *roamer; + + if (sWildEncountersDisabled == TRUE) + return FALSE; + + headerId = GetCurrentMapWildMonHeaderId(); + if (headerId == 0xFFFF) // invalid + { + if (gMapHeader.mapDataId == 0x166) + { + headerId = GetBattlePikeWildMonHeaderId(); + if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll()) + return FALSE; + else if (DoWildEncounterRateTest(gBattlePikeWildMonHeaders[headerId].landMonsInfo->encounterRate, FALSE) != TRUE) + return FALSE; + else if (TryGenerateWildMon(gBattlePikeWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, WILD_CHECK_KEEN_EYE) != TRUE) + return FALSE; + else if (!TryGenerateBattlePikeWildMon(TRUE)) + return FALSE; + + BattleSetup_StartBattlePikeWildBattle(); + return TRUE; + } + if (gMapHeader.mapDataId == 0x169) + { + headerId = gSaveBlock2Ptr->battlePyramidWildHeaderId; + if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll()) + return FALSE; + else if (DoWildEncounterRateTest(gBattlePyramidWildMonHeaders[headerId].landMonsInfo->encounterRate, FALSE) != TRUE) + return FALSE; + else if (TryGenerateWildMon(gBattlePyramidWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, WILD_CHECK_KEEN_EYE) != TRUE) + return FALSE; + + GenerateBattlePyramidWildMon(); + BattleSetup_StartWildBattle(); + return TRUE; + } + } + else + { + if (MetatileBehavior_IsLandWildEncounter(currMetaTileBehavior) == TRUE) + { + if (gWildMonHeaders[headerId].landMonsInfo == NULL) + return FALSE; + else if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll()) + return FALSE; + else if (DoWildEncounterRateTest(gWildMonHeaders[headerId].landMonsInfo->encounterRate, FALSE) != TRUE) + return FALSE; + + if (TryStartRoamerEncounter() == TRUE) + { + roamer = &gSaveBlock1Ptr->roamer; + if (!IsWildLevelAllowedByRepel(roamer->level)) + return FALSE; + + BattleSetup_StartRoamerBattle(); + return TRUE; + } + else + { + if (DoMassOutbreakEncounterTest() == TRUE && SetUpMassOutbreakEncounter(WILD_CHECK_REPEL | WILD_CHECK_KEEN_EYE) == TRUE) + { + BattleSetup_StartWildBattle(); + return TRUE; + } + + // try a regular wild land encounter + if (TryGenerateWildMon(gWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, WILD_CHECK_REPEL | WILD_CHECK_KEEN_EYE) == TRUE) + { + BattleSetup_StartWildBattle(); + return TRUE; + } + + return FALSE; + } + } + else if (MetatileBehavior_IsWaterWildEncounter(currMetaTileBehavior) == TRUE + || (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING) && MetatileBehavior_IsBridge(currMetaTileBehavior) == TRUE)) + { + if (AreLegendariesInSootopolisPreventingEncounters() == TRUE) + return FALSE; + else if (gWildMonHeaders[headerId].waterMonsInfo == NULL) + return FALSE; + else if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll()) + return FALSE; + else if (DoWildEncounterRateTest(gWildMonHeaders[headerId].waterMonsInfo->encounterRate, FALSE) != TRUE) + return FALSE; + + if (TryStartRoamerEncounter() == TRUE) + { + roamer = &gSaveBlock1Ptr->roamer; + if (!IsWildLevelAllowedByRepel(roamer->level)) + return FALSE; + + BattleSetup_StartRoamerBattle(); + return TRUE; + } + else // try a regular surfing encounter + { + if (TryGenerateWildMon(gWildMonHeaders[headerId].waterMonsInfo, WILD_AREA_WATER, WILD_CHECK_REPEL | WILD_CHECK_KEEN_EYE) == TRUE) + { + BattleSetup_StartWildBattle(); + return TRUE; + } + + return FALSE; + } + } + } + + return FALSE; +} + +void RockSmashWildEncounter(void) +{ + u16 headerId = GetCurrentMapWildMonHeaderId(); + + if (headerId != 0xFFFF) + { + const struct WildPokemonInfo *wildPokemonInfo = gWildMonHeaders[headerId].rockSmashMonsInfo; + + if (wildPokemonInfo == NULL) + { + gSpecialVar_Result = FALSE; + } + else if (DoWildEncounterRateTest(wildPokemonInfo->encounterRate, 1) == TRUE + && TryGenerateWildMon(wildPokemonInfo, 2, WILD_CHECK_REPEL | WILD_CHECK_KEEN_EYE) == TRUE) + { + BattleSetup_StartWildBattle(); + gSpecialVar_Result = TRUE; + } + else + { + gSpecialVar_Result = FALSE; + } + } + else + { + gSpecialVar_Result = FALSE; + } +} + +bool8 SweetScentWildEncounter(void) +{ + s16 x, y; + u16 headerId; + + PlayerGetDestCoords(&x, &y); + headerId = GetCurrentMapWildMonHeaderId(); + if (headerId == 0xFFFF) // invalid + { + if (gMapHeader.mapDataId == 0x166) + { + headerId = GetBattlePikeWildMonHeaderId(); + if (TryGenerateWildMon(gBattlePikeWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, 0) != TRUE) + return FALSE; + + TryGenerateBattlePikeWildMon(FALSE); + BattleSetup_StartBattlePikeWildBattle(); + return TRUE; + } + if (gMapHeader.mapDataId == 0x169) + { + headerId = gSaveBlock2Ptr->battlePyramidWildHeaderId; + if (TryGenerateWildMon(gBattlePyramidWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, 0) != TRUE) + return FALSE; + + GenerateBattlePyramidWildMon(); + BattleSetup_StartWildBattle(); + return TRUE; + } + } + else + { + if (MetatileBehavior_IsLandWildEncounter(MapGridGetMetatileBehaviorAt(x, y)) == TRUE) + { + if (gWildMonHeaders[headerId].landMonsInfo == NULL) + return FALSE; + + if (TryStartRoamerEncounter() == TRUE) + { + BattleSetup_StartRoamerBattle(); + return TRUE; + } + + if (DoMassOutbreakEncounterTest() == TRUE) + SetUpMassOutbreakEncounter(0); + else + TryGenerateWildMon(gWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, 0); + + BattleSetup_StartWildBattle(); + return TRUE; + } + else if (MetatileBehavior_IsWaterWildEncounter(MapGridGetMetatileBehaviorAt(x, y)) == TRUE) + { + if (AreLegendariesInSootopolisPreventingEncounters() == TRUE) + return FALSE; + if (gWildMonHeaders[headerId].waterMonsInfo == NULL) + return FALSE; + + if (TryStartRoamerEncounter() == TRUE) + { + BattleSetup_StartRoamerBattle(); + return TRUE; + } + + TryGenerateWildMon(gWildMonHeaders[headerId].waterMonsInfo, WILD_AREA_WATER, 0); + BattleSetup_StartWildBattle(); + return TRUE; + } + } + + return FALSE; +} + +bool8 DoesCurrentMapHaveFishingMons(void) +{ + u16 headerId = GetCurrentMapWildMonHeaderId(); + + if (headerId != 0xFFFF && gWildMonHeaders[headerId].fishingMonsInfo != NULL) + return TRUE; + else + return FALSE; +} + +void FishingWildEncounter(u8 rod) +{ + u16 species; + + if (CheckFeebas() == TRUE) + { + u8 level = ChooseWildMonLevel(&gWildFeebasRoute119Data); + + species = gWildFeebasRoute119Data.species; + CreateWildMon(species, level); + } + else + { + species = GenerateFishingWildMon(gWildMonHeaders[GetCurrentMapWildMonHeaderId()].fishingMonsInfo, rod); + } + IncrementGameStat(GAME_STAT_FISHING_CAPTURES); + SetPokemonAnglerSpecies(species); + BattleSetup_StartWildBattle(); +} + +u16 GetLocalWildMon(bool8 *isWaterMon) +{ + u16 headerId; + const struct WildPokemonInfo *landMonsInfo; + const struct WildPokemonInfo *waterMonsInfo; + + *isWaterMon = FALSE; + headerId = GetCurrentMapWildMonHeaderId(); + if (headerId == 0xFFFF) + return SPECIES_NONE; + landMonsInfo = gWildMonHeaders[headerId].landMonsInfo; + waterMonsInfo = gWildMonHeaders[headerId].waterMonsInfo; + // Neither + if (landMonsInfo == NULL && waterMonsInfo == NULL) + return SPECIES_NONE; + // Land Pokemon + else if (landMonsInfo != NULL && waterMonsInfo == NULL) + return landMonsInfo->wildPokemon[ChooseWildMonIndex_Land()].species; + // Water Pokemon + else if (landMonsInfo == NULL && waterMonsInfo != NULL) + { + *isWaterMon = TRUE; + return waterMonsInfo->wildPokemon[ChooseWildMonIndex_WaterRock()].species; + } + // Either land or water Pokemon + if ((Random() % 100) < 80) + { + return landMonsInfo->wildPokemon[ChooseWildMonIndex_Land()].species; + } + else + { + *isWaterMon = TRUE; + return waterMonsInfo->wildPokemon[ChooseWildMonIndex_WaterRock()].species; + } +} + +u16 GetLocalWaterMon(void) +{ + u16 headerId = GetCurrentMapWildMonHeaderId(); + + if (headerId != 0xFFFF) + { + const struct WildPokemonInfo *waterMonsInfo = gWildMonHeaders[headerId].waterMonsInfo; + + if (waterMonsInfo) + return waterMonsInfo->wildPokemon[ChooseWildMonIndex_WaterRock()].species; + } + return SPECIES_NONE; +} + +bool8 UpdateRepelCounter(void) +{ + u16 steps; + + if (InBattlePike() || InBattlePyramid()) + return FALSE; + if (InUnionRoom() == TRUE) + return FALSE; + + steps = VarGet(VAR_REPEL_STEP_COUNT); + + if (steps != 0) + { + steps--; + VarSet(VAR_REPEL_STEP_COUNT, steps); + if (steps == 0) + { + ScriptContext1_SetupScript(EventScript_RepelWoreOff); + return TRUE; + } + } + return FALSE; +} + +static bool8 IsWildLevelAllowedByRepel(u8 wildLevel) +{ + u8 i; + + if (!VarGet(VAR_REPEL_STEP_COUNT)) + return TRUE; + + for (i = 0; i < PARTY_SIZE; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_HP) && !GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG)) + { + u8 ourLevel = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL); + + if (wildLevel < ourLevel) + return FALSE; + else + return TRUE; + } + } + + return FALSE; +} + +static bool8 IsAbilityAllowingEncounter(u8 level) +{ + u8 ability; + + if (GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3)) + return TRUE; + + ability = GetMonAbility(&gPlayerParty[0]); + if (ability == ABILITY_KEEN_EYE || ability == ABILITY_INTIMIDATE) + { + u8 playerMonLevel = GetMonData(&gPlayerParty[0], MON_DATA_LEVEL); + if (playerMonLevel > 5 && level <= playerMonLevel - 5 && !(Random() % 2)) + return FALSE; + } + + return TRUE; +} + +static bool8 TryGetRandomWildMonIndexByType(const struct WildPokemon *wildMon, u8 type, u8 numMon, u8 *monIndex) +{ + u8 validIndexes[numMon]; // variable length array, an interesting feature + u8 i, validMonCount; + + for (i = 0; i < numMon; i++) + validIndexes[i] = 0; + + for (validMonCount = 0, i = 0; i < numMon; i++) + { + if (gBaseStats[wildMon[i].species].type1 == type || gBaseStats[wildMon[i].species].type2 == type) + validIndexes[validMonCount++] = i; + } + + if (validMonCount == 0 || validMonCount == numMon) + return FALSE; + + *monIndex = validIndexes[Random() % validMonCount]; + return TRUE; +} + +static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildMon, u8 type, u8 ability, u8 *monIndex) +{ + if (GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3)) + return FALSE; + else if (GetMonAbility(&gPlayerParty[0]) != ability) + return FALSE; + else if (Random() % 2 != 0) + return FALSE; + + return TryGetRandomWildMonIndexByType(wildMon, type, LAND_WILD_COUNT, monIndex); +} + +static void ApplyFluteEncounterRateMod(u32 *encRate) +{ + if (FlagGet(FLAG_SYS_ENC_UP_ITEM) == TRUE) + *encRate += *encRate / 2; + else if (FlagGet(FLAG_SYS_ENC_DOWN_ITEM) == TRUE) + *encRate = *encRate / 2; +} + +static void ApplyCleanseTagEncounterRateMod(u32 *encRate) +{ + if (GetMonData(&gPlayerParty[0], MON_DATA_HELD_ITEM) == ITEM_CLEANSE_TAG) + *encRate = *encRate * 2 / 3; +} diff --git a/src/window.c b/src/window.c index f4cb48ec04..9a892d079d 100644 --- a/src/window.c +++ b/src/window.c @@ -403,7 +403,7 @@ void PutWindowRectTilemap(u8 windowId, u8 x, u8 y, u8 width, u8 height) } } -void BlitBitmapToWindow(u8 windowId, u8 *pixels, u16 x, u16 y, u16 width, u16 height) +void BlitBitmapToWindow(u8 windowId, const u8 *pixels, u16 x, u16 y, u16 width, u16 height) { BlitBitmapRectToWindow(windowId, pixels, 0, 0, width, height, x, y, width, height); } @@ -465,696 +465,74 @@ void FillWindowPixelBuffer(u8 windowId, u8 fillValue) CpuFastFill8(fillValue, gWindows[windowId].tileData, 0x20 * fillSize); } -// functionally equivalent, its fucking hard to match -#ifdef NONMATCHING +#define MOVE_TILES_DOWN(a) \ +{ \ + destOffset = i + (a); \ + srcOffset = i + (((width * (distanceLoop & ~7)) | (distanceLoop & 7)) * 4); \ + if (srcOffset < size) \ + *(u32*)(tileData + destOffset) = *(u32*)(tileData + srcOffset); \ + else \ + *(u32*)(tileData + destOffset) = fillValue32; \ + distanceLoop++; \ +} + +#define MOVE_TILES_UP(a) \ +{ \ + destOffset = i + (a); \ + srcOffset = i + (((width * (distanceLoop & ~7)) | (distanceLoop & 7)) * 4); \ + if (srcOffset < size) \ + *(u32*)(tileData - destOffset) = *(u32*)(tileData - srcOffset); \ + else \ + *(u32*)(tileData - destOffset) = fillValue32; \ + distanceLoop++; \ +} + void ScrollWindow(u8 windowId, u8 direction, u8 distance, u8 fillValue) { - s32 i, id1, id2, size; - u32 distanceLoop, toFill, width; - u8 *tileData; - struct WindowTemplate window; + struct WindowTemplate window = gWindows[windowId].window; + u8 *tileData = gWindows[windowId].tileData; + u32 fillValue32 = (fillValue << 24) | (fillValue << 16) | (fillValue << 8) | fillValue; + s32 size = window.height * window.width * 32; + u32 width = window.width; + s32 i; + s32 srcOffset, destOffset; + u32 distanceLoop; - tileData = gWindows[windowId].tileData; - toFill = (fillValue << 0x18) | (fillValue << 0x10) | (fillValue << 8) | fillValue; - window = gWindows[windowId].window; - size = 0x20 * (window.height * window.width); - width = window.width; - if (direction != 1) + switch (direction) { - s32 signedDirection = direction; - if (signedDirection <= 1) - { - if (signedDirection == 0) - { - for (i = 0; i < size; i += 0x20) - { - distanceLoop = distance; - id1 = i + 0; - id2 = i + (((width * ((distanceLoop) & ~(7))) | ((distanceLoop) & 7)) * 4); - if (id2 < size) - *(u32*)(tileData + id1) = *(u32*)(tileData + id2); - else - *(u32*)(tileData + id1) = toFill; - - distanceLoop++; - id1 = i + 4; - id2 = i + (((width * ((distanceLoop) & ~(7))) | ((distanceLoop) & 7)) * 4); - if (id2 < size) - *(u32*)(tileData + id1) = *(u32*)(tileData + id2); - else - *(u32*)(tileData + id1) = toFill; - - distanceLoop++; - id1 = i + 8; - id2 = i + (((width * ((distanceLoop) & ~(7))) | ((distanceLoop) & 7)) * 4); - if (id2 < size) - *(u32*)(tileData + id1) = *(u32*)(tileData + id2); - else - *(u32*)(tileData + id1) = toFill; - - distanceLoop++; - id1 = i + 12; - id2 = i + (((width * ((distanceLoop) & ~(7))) | ((distanceLoop) & 7)) * 4); - if (id2 < size) - *(u32*)(tileData + id1) = *(u32*)(tileData + id2); - else - *(u32*)(tileData + id1) = toFill; - - distanceLoop++; - id1 = i + 16; - id2 = i + (((width * ((distanceLoop) & ~(7))) | ((distanceLoop) & 7)) * 4); - if (id2 < size) - *(u32*)(tileData + id1) = *(u32*)(tileData + id2); - else - *(u32*)(tileData + id1) = toFill; - - distanceLoop++; - id1 = i + 20; - id2 = i + (((width * ((distanceLoop) & ~(7))) | ((distanceLoop) & 7)) * 4); - if (id2 < size) - *(u32*)(tileData + id1) = *(u32*)(tileData + id2); - else - *(u32*)(tileData + id1) = toFill; - - distanceLoop++; - id1 = i + 24; - id2 = i + (((width * ((distanceLoop) & ~(7))) | ((distanceLoop) & 7)) * 4); - if (id2 < size) - *(u32*)(tileData + id1) = *(u32*)(tileData + id2); - else - *(u32*)(tileData + id1) = toFill; - - distanceLoop++; - id1 = i + 28; - id2 = i + (((width * ((distanceLoop) & ~(7))) | ((distanceLoop) & 7)) * 4); - if (id2 < size) - *(u32*)(tileData + id1) = *(u32*)(tileData + id2); - else - *(u32*)(tileData + id1) = toFill; - } - } - } - } - else - { - tileData += size - 4; - for (i = 0; i < size; i += 0x20) + case 0: + for (i = 0; i < size; i += 32) { distanceLoop = distance; - id1 = i + 0; - id2 = i + (((width * ((distanceLoop) & ~(7))) | ((distanceLoop) & 7)) * 4); - if (id2 < size) - *(u32*)(tileData - id1) = *(u32*)(tileData - id2); - else - *(u32*)(tileData - id1) = toFill; - - distanceLoop++; - id1 = i + 4; - id2 = i + (((width * ((distanceLoop) & ~(7))) | ((distanceLoop) & 7)) * 4); - if (id2 < size) - *(u32*)(tileData - id1) = *(u32*)(tileData - id2); - else - *(u32*)(tileData - id1) = toFill; - - distanceLoop++; - id1 = i + 8; - id2 = i + (((width * ((distanceLoop) & ~(7))) | ((distanceLoop) & 7)) * 4); - if (id2 < size) - *(u32*)(tileData - id1) = *(u32*)(tileData - id2); - else - *(u32*)(tileData - id1) = toFill; - - distanceLoop++; - id1 = i + 12; - id2 = i + (((width * ((distanceLoop) & ~(7))) | ((distanceLoop) & 7)) * 4); - if (id2 < size) - *(u32*)(tileData - id1) = *(u32*)(tileData - id2); - else - *(u32*)(tileData - id1) = toFill; - - distanceLoop++; - id1 = i + 16; - id2 = i + (((width * ((distanceLoop) & ~(7))) | ((distanceLoop) & 7)) * 4); - if (id2 < size) - *(u32*)(tileData - id1) = *(u32*)(tileData - id2); - else - *(u32*)(tileData - id1) = toFill; - - distanceLoop++; - id1 = i + 20; - id2 = i + (((width * ((distanceLoop) & ~(7))) | ((distanceLoop) & 7)) * 4); - if (id2 < size) - *(u32*)(tileData - id1) = *(u32*)(tileData - id2); - else - *(u32*)(tileData - id1) = toFill; - - distanceLoop++; - id1 = i + 24; - id2 = i + (((width * ((distanceLoop) & ~(7))) | ((distanceLoop) & 7)) * 4); - if (id2 < size) - *(u32*)(tileData - id1) = *(u32*)(tileData - id2); - else - *(u32*)(tileData - id1) = toFill; - - distanceLoop++; - id1 = i + 28; - id2 = i + (((width * ((distanceLoop) & ~(7))) | ((distanceLoop) & 7)) * 4); - if (id2 < size) - *(u32*)(tileData - id1) = *(u32*)(tileData - id2); - else - *(u32*)(tileData - id1) = toFill; + MOVE_TILES_DOWN(0) + MOVE_TILES_DOWN(4) + MOVE_TILES_DOWN(8) + MOVE_TILES_DOWN(12) + MOVE_TILES_DOWN(16) + MOVE_TILES_DOWN(20) + MOVE_TILES_DOWN(24) + MOVE_TILES_DOWN(28) } + break; + case 1: + tileData += size - 4; + for (i = 0; i < size; i += 32) + { + distanceLoop = distance; + MOVE_TILES_UP(0) + MOVE_TILES_UP(4) + MOVE_TILES_UP(8) + MOVE_TILES_UP(12) + MOVE_TILES_UP(16) + MOVE_TILES_UP(20) + MOVE_TILES_UP(24) + MOVE_TILES_UP(28) + } + break; + case 2: + break; } } -#else -__attribute__((naked)) -void ScrollWindow(u8 windowId, u8 direction, u8 distance, u8 fillValue) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x8\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - mov r8, r1\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - str r2, [sp]\n\ - lsls r3, 24\n\ - lsrs r3, 24\n\ - ldr r2, =gWindows\n\ - lsls r1, r0, 1\n\ - adds r1, r0\n\ - lsls r1, 2\n\ - adds r4, r1, r2\n\ - adds r2, 0x8\n\ - adds r1, r2\n\ - ldr r5, [r1]\n\ - lsls r7, r3, 24\n\ - lsls r0, r3, 16\n\ - orrs r7, r0\n\ - lsls r0, r3, 8\n\ - orrs r7, r0\n\ - orrs r7, r3\n\ - ldr r1, [r4]\n\ - ldr r2, [r4, 0x4]\n\ - ldrb r3, [r4, 0x4]\n\ - lsrs r0, r1, 24\n\ - muls r0, r3\n\ - lsls r6, r0, 5\n\ - lsrs r1, 24\n\ - mov r12, r1\n\ - mov r0, r8\n\ - cmp r0, 0x1\n\ - bne _08003CE8\n\ - b _08003E9E\n\ -_08003CE8:\n\ - cmp r0, 0x1\n\ - ble _08003CEE\n\ - b _08004046\n\ -_08003CEE:\n\ - cmp r0, 0\n\ - beq _08003CF4\n\ - b _08004046\n\ -_08003CF4:\n\ - movs r4, 0\n\ - cmp r4, r6\n\ - blt _08003CFC\n\ - b _08004046\n\ -_08003CFC:\n\ - movs r1, 0x8\n\ - negs r1, r1\n\ - mov r9, r1\n\ - movs r2, 0x7\n\ - mov r8, r2\n\ - mov r10, r5\n\ -_08003D08:\n\ - ldr r3, [sp]\n\ - adds r0, r3, 0\n\ - mov r1, r9\n\ - ands r0, r1\n\ - mov r1, r12\n\ - muls r1, r0\n\ - adds r0, r3, 0\n\ - mov r2, r8\n\ - ands r0, r2\n\ - orrs r1, r0\n\ - lsls r1, 2\n\ - adds r1, r4, r1\n\ - cmp r1, r6\n\ - bge _08003D34\n\ - adds r0, r5, r1\n\ - ldr r0, [r0]\n\ - mov r1, r10\n\ - str r0, [r1]\n\ - b _08003D38\n\ - .pool\n\ -_08003D34:\n\ - mov r2, r10\n\ - str r7, [r2]\n\ -_08003D38:\n\ - adds r3, 0x1\n\ - adds r2, r4, 0x4\n\ - adds r0, r3, 0\n\ - mov r1, r9\n\ - ands r0, r1\n\ - mov r1, r12\n\ - muls r1, r0\n\ - str r1, [sp, 0x4]\n\ - adds r0, r3, 0\n\ - mov r1, r8\n\ - ands r0, r1\n\ - ldr r1, [sp, 0x4]\n\ - orrs r1, r0\n\ - lsls r1, 2\n\ - adds r1, r4, r1\n\ - cmp r1, r6\n\ - bge _08003D64\n\ - adds r0, r5, r2\n\ - adds r1, r5, r1\n\ - ldr r1, [r1]\n\ - str r1, [r0]\n\ - b _08003D68\n\ -_08003D64:\n\ - adds r0, r5, r2\n\ - str r7, [r0]\n\ -_08003D68:\n\ - adds r3, 0x1\n\ - adds r2, r4, 0\n\ - adds r2, 0x8\n\ - adds r0, r3, 0\n\ - mov r1, r9\n\ - ands r0, r1\n\ - mov r1, r12\n\ - muls r1, r0\n\ - str r1, [sp, 0x4]\n\ - adds r0, r3, 0\n\ - mov r1, r8\n\ - ands r0, r1\n\ - ldr r1, [sp, 0x4]\n\ - orrs r1, r0\n\ - lsls r1, 2\n\ - adds r1, r4, r1\n\ - cmp r1, r6\n\ - bge _08003D96\n\ - adds r0, r5, r2\n\ - adds r1, r5, r1\n\ - ldr r1, [r1]\n\ - str r1, [r0]\n\ - b _08003D9A\n\ -_08003D96:\n\ - adds r0, r5, r2\n\ - str r7, [r0]\n\ -_08003D9A:\n\ - adds r3, 0x1\n\ - adds r2, r4, 0\n\ - adds r2, 0xC\n\ - adds r0, r3, 0\n\ - mov r1, r9\n\ - ands r0, r1\n\ - mov r1, r12\n\ - muls r1, r0\n\ - str r1, [sp, 0x4]\n\ - adds r0, r3, 0\n\ - mov r1, r8\n\ - ands r0, r1\n\ - ldr r1, [sp, 0x4]\n\ - orrs r1, r0\n\ - lsls r1, 2\n\ - adds r1, r4, r1\n\ - cmp r1, r6\n\ - bge _08003DC8\n\ - adds r0, r5, r2\n\ - adds r1, r5, r1\n\ - ldr r1, [r1]\n\ - str r1, [r0]\n\ - b _08003DCC\n\ -_08003DC8:\n\ - adds r0, r5, r2\n\ - str r7, [r0]\n\ -_08003DCC:\n\ - adds r3, 0x1\n\ - adds r2, r4, 0\n\ - adds r2, 0x10\n\ - adds r0, r3, 0\n\ - mov r1, r9\n\ - ands r0, r1\n\ - mov r1, r12\n\ - muls r1, r0\n\ - str r1, [sp, 0x4]\n\ - adds r0, r3, 0\n\ - mov r1, r8\n\ - ands r0, r1\n\ - ldr r1, [sp, 0x4]\n\ - orrs r1, r0\n\ - lsls r1, 2\n\ - adds r1, r4, r1\n\ - cmp r1, r6\n\ - bge _08003DFA\n\ - adds r0, r5, r2\n\ - adds r1, r5, r1\n\ - ldr r1, [r1]\n\ - str r1, [r0]\n\ - b _08003DFE\n\ -_08003DFA:\n\ - adds r0, r5, r2\n\ - str r7, [r0]\n\ -_08003DFE:\n\ - adds r3, 0x1\n\ - adds r2, r4, 0\n\ - adds r2, 0x14\n\ - adds r0, r3, 0\n\ - mov r1, r9\n\ - ands r0, r1\n\ - mov r1, r12\n\ - muls r1, r0\n\ - str r1, [sp, 0x4]\n\ - adds r0, r3, 0\n\ - mov r1, r8\n\ - ands r0, r1\n\ - ldr r1, [sp, 0x4]\n\ - orrs r1, r0\n\ - lsls r1, 2\n\ - adds r1, r4, r1\n\ - cmp r1, r6\n\ - bge _08003E2C\n\ - adds r0, r5, r2\n\ - adds r1, r5, r1\n\ - ldr r1, [r1]\n\ - str r1, [r0]\n\ - b _08003E30\n\ -_08003E2C:\n\ - adds r0, r5, r2\n\ - str r7, [r0]\n\ -_08003E30:\n\ - adds r3, 0x1\n\ - adds r2, r4, 0\n\ - adds r2, 0x18\n\ - adds r0, r3, 0\n\ - mov r1, r9\n\ - ands r0, r1\n\ - mov r1, r12\n\ - muls r1, r0\n\ - str r1, [sp, 0x4]\n\ - adds r0, r3, 0\n\ - mov r1, r8\n\ - ands r0, r1\n\ - ldr r1, [sp, 0x4]\n\ - orrs r1, r0\n\ - lsls r1, 2\n\ - adds r1, r4, r1\n\ - cmp r1, r6\n\ - bge _08003E5E\n\ - adds r0, r5, r2\n\ - adds r1, r5, r1\n\ - ldr r1, [r1]\n\ - str r1, [r0]\n\ - b _08003E62\n\ -_08003E5E:\n\ - adds r0, r5, r2\n\ - str r7, [r0]\n\ -_08003E62:\n\ - adds r3, 0x1\n\ - adds r2, r4, 0\n\ - adds r2, 0x1C\n\ - adds r0, r3, 0\n\ - mov r1, r9\n\ - ands r0, r1\n\ - mov r1, r12\n\ - muls r1, r0\n\ - adds r0, r1, 0\n\ - mov r1, r8\n\ - ands r3, r1\n\ - orrs r0, r3\n\ - lsls r0, 2\n\ - adds r1, r4, r0\n\ - cmp r1, r6\n\ - bge _08003E8C\n\ - adds r0, r5, r2\n\ - adds r1, r5, r1\n\ - ldr r1, [r1]\n\ - str r1, [r0]\n\ - b _08003E90\n\ -_08003E8C:\n\ - adds r0, r5, r2\n\ - str r7, [r0]\n\ -_08003E90:\n\ - movs r2, 0x20\n\ - add r10, r2\n\ - adds r4, 0x20\n\ - cmp r4, r6\n\ - bge _08003E9C\n\ - b _08003D08\n\ -_08003E9C:\n\ - b _08004046\n\ -_08003E9E:\n\ - subs r0, r6, 0x4\n\ - adds r5, r0\n\ - movs r4, 0\n\ - cmp r4, r6\n\ - blt _08003EAA\n\ - b _08004046\n\ -_08003EAA:\n\ - movs r0, 0x8\n\ - negs r0, r0\n\ - mov r9, r0\n\ - movs r1, 0x7\n\ - mov r8, r1\n\ - mov r10, r5\n\ -_08003EB6:\n\ - ldr r3, [sp]\n\ - adds r0, r3, 0\n\ - mov r2, r9\n\ - ands r0, r2\n\ - mov r1, r12\n\ - muls r1, r0\n\ - adds r0, r3, 0\n\ - mov r2, r8\n\ - ands r0, r2\n\ - orrs r1, r0\n\ - lsls r1, 2\n\ - adds r1, r4, r1\n\ - cmp r1, r6\n\ - bge _08003EDC\n\ - subs r0, r5, r1\n\ - ldr r0, [r0]\n\ - mov r1, r10\n\ - str r0, [r1]\n\ - b _08003EE0\n\ -_08003EDC:\n\ - mov r2, r10\n\ - str r7, [r2]\n\ -_08003EE0:\n\ - adds r3, 0x1\n\ - adds r2, r4, 0x4\n\ - adds r0, r3, 0\n\ - mov r1, r9\n\ - ands r0, r1\n\ - mov r1, r12\n\ - muls r1, r0\n\ - str r1, [sp, 0x4]\n\ - adds r0, r3, 0\n\ - mov r1, r8\n\ - ands r0, r1\n\ - ldr r1, [sp, 0x4]\n\ - orrs r1, r0\n\ - lsls r1, 2\n\ - adds r1, r4, r1\n\ - cmp r1, r6\n\ - bge _08003F0C\n\ - subs r0, r5, r2\n\ - subs r1, r5, r1\n\ - ldr r1, [r1]\n\ - str r1, [r0]\n\ - b _08003F10\n\ -_08003F0C:\n\ - subs r0, r5, r2\n\ - str r7, [r0]\n\ -_08003F10:\n\ - adds r3, 0x1\n\ - adds r2, r4, 0\n\ - adds r2, 0x8\n\ - adds r0, r3, 0\n\ - mov r1, r9\n\ - ands r0, r1\n\ - mov r1, r12\n\ - muls r1, r0\n\ - str r1, [sp, 0x4]\n\ - adds r0, r3, 0\n\ - mov r1, r8\n\ - ands r0, r1\n\ - ldr r1, [sp, 0x4]\n\ - orrs r1, r0\n\ - lsls r1, 2\n\ - adds r1, r4, r1\n\ - cmp r1, r6\n\ - bge _08003F3E\n\ - subs r0, r5, r2\n\ - subs r1, r5, r1\n\ - ldr r1, [r1]\n\ - str r1, [r0]\n\ - b _08003F42\n\ -_08003F3E:\n\ - subs r0, r5, r2\n\ - str r7, [r0]\n\ -_08003F42:\n\ - adds r3, 0x1\n\ - adds r2, r4, 0\n\ - adds r2, 0xC\n\ - adds r0, r3, 0\n\ - mov r1, r9\n\ - ands r0, r1\n\ - mov r1, r12\n\ - muls r1, r0\n\ - str r1, [sp, 0x4]\n\ - adds r0, r3, 0\n\ - mov r1, r8\n\ - ands r0, r1\n\ - ldr r1, [sp, 0x4]\n\ - orrs r1, r0\n\ - lsls r1, 2\n\ - adds r1, r4, r1\n\ - cmp r1, r6\n\ - bge _08003F70\n\ - subs r0, r5, r2\n\ - subs r1, r5, r1\n\ - ldr r1, [r1]\n\ - str r1, [r0]\n\ - b _08003F74\n\ -_08003F70:\n\ - subs r0, r5, r2\n\ - str r7, [r0]\n\ -_08003F74:\n\ - adds r3, 0x1\n\ - adds r2, r4, 0\n\ - adds r2, 0x10\n\ - adds r0, r3, 0\n\ - mov r1, r9\n\ - ands r0, r1\n\ - mov r1, r12\n\ - muls r1, r0\n\ - str r1, [sp, 0x4]\n\ - adds r0, r3, 0\n\ - mov r1, r8\n\ - ands r0, r1\n\ - ldr r1, [sp, 0x4]\n\ - orrs r1, r0\n\ - lsls r1, 2\n\ - adds r1, r4, r1\n\ - cmp r1, r6\n\ - bge _08003FA2\n\ - subs r0, r5, r2\n\ - subs r1, r5, r1\n\ - ldr r1, [r1]\n\ - str r1, [r0]\n\ - b _08003FA6\n\ -_08003FA2:\n\ - subs r0, r5, r2\n\ - str r7, [r0]\n\ -_08003FA6:\n\ - adds r3, 0x1\n\ - adds r2, r4, 0\n\ - adds r2, 0x14\n\ - adds r0, r3, 0\n\ - mov r1, r9\n\ - ands r0, r1\n\ - mov r1, r12\n\ - muls r1, r0\n\ - str r1, [sp, 0x4]\n\ - adds r0, r3, 0\n\ - mov r1, r8\n\ - ands r0, r1\n\ - ldr r1, [sp, 0x4]\n\ - orrs r1, r0\n\ - lsls r1, 2\n\ - adds r1, r4, r1\n\ - cmp r1, r6\n\ - bge _08003FD4\n\ - subs r0, r5, r2\n\ - subs r1, r5, r1\n\ - ldr r1, [r1]\n\ - str r1, [r0]\n\ - b _08003FD8\n\ -_08003FD4:\n\ - subs r0, r5, r2\n\ - str r7, [r0]\n\ -_08003FD8:\n\ - adds r3, 0x1\n\ - adds r2, r4, 0\n\ - adds r2, 0x18\n\ - adds r0, r3, 0\n\ - mov r1, r9\n\ - ands r0, r1\n\ - mov r1, r12\n\ - muls r1, r0\n\ - str r1, [sp, 0x4]\n\ - adds r0, r3, 0\n\ - mov r1, r8\n\ - ands r0, r1\n\ - ldr r1, [sp, 0x4]\n\ - orrs r1, r0\n\ - lsls r1, 2\n\ - adds r1, r4, r1\n\ - cmp r1, r6\n\ - bge _08004006\n\ - subs r0, r5, r2\n\ - subs r1, r5, r1\n\ - ldr r1, [r1]\n\ - str r1, [r0]\n\ - b _0800400A\n\ -_08004006:\n\ - subs r0, r5, r2\n\ - str r7, [r0]\n\ -_0800400A:\n\ - adds r3, 0x1\n\ - adds r2, r4, 0\n\ - adds r2, 0x1C\n\ - adds r0, r3, 0\n\ - mov r1, r9\n\ - ands r0, r1\n\ - mov r1, r12\n\ - muls r1, r0\n\ - adds r0, r1, 0\n\ - mov r1, r8\n\ - ands r3, r1\n\ - orrs r0, r3\n\ - lsls r0, 2\n\ - adds r1, r4, r0\n\ - cmp r1, r6\n\ - bge _08004034\n\ - subs r0, r5, r2\n\ - subs r1, r5, r1\n\ - ldr r1, [r1]\n\ - str r1, [r0]\n\ - b _08004038\n\ -_08004034:\n\ - subs r0, r5, r2\n\ - str r7, [r0]\n\ -_08004038:\n\ - movs r2, 0x20\n\ - negs r2, r2\n\ - add r10, r2\n\ - adds r4, 0x20\n\ - cmp r4, r6\n\ - bge _08004046\n\ - b _08003EB6\n\ -_08004046:\n\ - add sp, 0x8\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .syntax divided"); -} -#endif // NONMATCHING void CallWindowFunction(u8 windowId, void ( *func)(u8, u8, u8, u8, u8, u8)) { diff --git a/sym_bss.txt b/sym_bss.txt index db7495182e..f930a5b98c 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -2,40 +2,39 @@ .include "src/malloc.o" .include "src/dma3_manager.o" .include "src/gpu_regs.o" - .include "src/bg.o" + .include "src/bg.o" .include "src/text.o" .include "src/sprite.o" - .include "src/link.o" - .include "src/rtc.o" - .include "src/main_menu.o" - .include "src/battle_1.o" - .include "src/egg_hatch.o" - .include "src/berry_blender.o" - .include "src/play_time.o" - .include "src/rom4.o" - .include "src/field_camera.o" - .include "src/script.o" - .include "src/scrcmd.o" - .include "src/tileset_anims.o" - .include "src/palette.o" - .include "src/sound.o" - .include "src/field_screen.o" - .include "src/field_effect.o" - .include "src/pokemon_storage_system.o" - .include "src/fldeff_cut.o" - .include "src/script_menu.o" - .include "src/record_mixing.o" - .include "src/tv.o" + .include "src/link.o" + .include "src/rtc.o" + .include "src/main_menu.o" + .include "src/rom_8034C54.o" + .include "src/egg_hatch.o" + .include "src/berry_blender.o" + .include "src/play_time.o" + .include "src/overworld.o" + .include "src/field_camera.o" + .include "src/script.o" + .include "src/scrcmd.o" + .include "src/tileset_anims.o" + .include "src/palette.o" + .include "src/sound.o" + .include "src/field_screen.o" + .include "src/field_effect.o" + .include "src/pokemon_storage_system.o" + .include "src/fldeff_cut.o" + .include "src/script_menu.o" + .include "src/record_mixing.o" + .include "src/tv.o" - .space 1 @ TODO: define this u32 in mauville_old_man + .space 1 @ TODO: define this u32 in mauville_old_man gUnknown_03001178: @ 3001178 .space 0x4 gUnknown_0300117C: @ 300117C .space 0x4 -gUnknown_03001180: @ 3001180 - .space 0x8 + .include "src/region_map.o" gUnknown_03001188: @ 3001188 .space 0x68 @@ -55,8 +54,9 @@ gUnknown_030011F6: @ 30011F6 gUnknown_030011F7: @ 30011F7 .space 0x1 -gUnknown_030011F8: @ 30011F8 - .space 0x4 + .include "src/starter_choose.o" + + .align 0x2 gUnknown_030011FC: @ 30011FC .space 0x2 @@ -73,27 +73,9 @@ gUnknown_03001202: @ 3001202 gUnknown_03001204: @ 3001204 .space 0x4 -gUnknown_03001208: @ 3001208 - .space 0x2 - -sTestingTransitionId: @ 300120A - .space 0x1 - -sTestingTransitionState: @ 300120B - .space 0x5 - -gUnknown_03001210: @ 3001210 - .space 0x30 - -gUnknown_03001240: @ 3001240 - .space 0x30 - -gUnknown_03001270: @ 3001270 - .space 0x4 - -gUnknown_03001274: @ 3001274 - .space 0x4 - + .include "src/battle_transition.o" + .include "src/pokemon_animation.o" + gUnknown_03001278: @ 3001278 .space 0x1 @@ -138,7 +120,7 @@ gUnknown_03001298: @ 3001298 gUnknown_030012A8: @ 30012A8 .space 0x10 - .include "src/berry_fix_program.o" + .include "src/berry_fix_program.o" gUnknown_030012BC: @ 30012BC .space 0x4 @@ -192,9 +174,22 @@ gUnknown_030012FC: @ 30012FC .space 0x4 gUnknown_03001300: @ 3001300 - .space 0x770 + .space 0x40 + +gMPlayTrack_BGM: @ 3001340 + .space 0x320 + +gMPlayTrack_SE1: @ 3001660 + .space 0xF0 + +gMPlayTrack_SE2: @ 3001750 + .space 0x2D0 + +gMPlayTrack_SE3: @ 3001A20 + .space 0x50 .include "src/agb_flash.o" .include "src/siirtc.o" .include "tools/agbcc/lib/libgcc.a:dp-bit.o" .include "tools/agbcc/lib/libgcc.a:fp-bit.o" + .include "tools/agbcc/lib/libc.a:syscalls.o" diff --git a/sym_common.txt b/sym_common.txt index 1a199dbb35..3d3edcd55d 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -75,7 +75,7 @@ gUnknown_0300307C: @ 300307C gUnknown_03003084: @ 3003084 .space 0xC -gUnknown_03003090: @ 3003090 +gRecvCmds: @ 3003090 .space 0x2 gUnknown_03003092: @ 3003092 @@ -84,7 +84,7 @@ gUnknown_03003092: @ 3003092 gUnknown_03003094: @ 3003094 .space 0x4C -gUnknown_030030E0: @ 30030E0 +gLinkStatus: @ 30030E0 .space 0x4 gUnknown_030030E4: @ 30030E4 @@ -111,7 +111,7 @@ gLinkVSyncDisabled: @ 30030FC gUnknown_03003100: @ 3003100 .space 0x10 -gUnknown_03003110: @ 3003110 +gSendCmd: @ 3003110 .space 0x10 gUnknown_03003120: @ 3003120 @@ -202,33 +202,7 @@ gUnknown_03005CDE: @ 3005CDE .space 0x1A .include "rtc.o" - -gPreBattleCallback1: @ 3005D00 - .space 0x4 - -gBattleMainFunc: @ 3005D04 - .space 0xC - -gBattleResults: @ 3005D10 - .space 0x44 - -gLeveledUpInBattle: @ 3005D54 - .space 0xC - -gBattleBankFunc: @ 3005D60 - .space 0x10 - -gHealthBoxesIds: @ 3005D70 - .space 0x4 - -gMultiUsePlayerCursor: @ 3005D74 - .space 0x4 - -gNumberOfMovesToChoose: @ 3005D78 - .space 0x4 - -gUnknown_03005D7C: @ 3005D7C - .space 0x4 + .include "battle_main.o" gRngValue: @ 3005D80 .space 0x4 @@ -248,7 +222,7 @@ gSaveBlock2Ptr: @ 3005D90 gPokemonStoragePtr: @ 3005D94 .space 0x4 -gUnknown_03005D98: @ 3005D98 +gInGameOpponentsNo: @ 3005D98 .space 0x4 gUnknown_03005D9C: @ 3005D9C @@ -295,21 +269,7 @@ gUnknown_03005DF4: @ 3005DF4 .include "sound.o" .include "task.o" - -gUnknown_03006080: @ 3006080 - .space 0x4 - -gUnknown_03006084: @ 3006084 - .space 0xC - -gUnknown_03006090: @ 3006090 - .space 0x18 - -gUnknown_030060A8: @ 30060A8 - .space 0x4 - -gUnknown_030060AC: @ 30060AC - .space 0x4 + .include "trainer_see.o" gUnknown_030060B0: @ 30060B0 .space 0x4 @@ -419,7 +379,7 @@ gUnknown_030062F4: @ 30062F4 gUnknown_03006300: @ 3006300 .space 0x10 -gUnknown_03006310: @ 3006310 +gMultiuseListMenuTemplate: @ 3006310 .space 0x18 gUnknown_03006328: @ 3006328 diff --git a/sym_ewram.txt b/sym_ewram.txt index 27db667e87..eb013f4ba7 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -34,13 +34,13 @@ gUnknown_020223C0: @ 20223C0 gBlockRecvBuffer: @ 20223C4 .space 0x500 -gUnknown_020228C4: @ 20228C4 gBlockSendBuffer +gBlockSendBuffer: @ 20228C4 gBlockSendBuffer .space 0x100 gUnknown_020229C4: @ 20229C4 .space 0x2 -gUnknown_020229C6: @ 20229C6 +gLinkType: @ 20229C6 .space 0x2 gUnknown_020229C8: @ 20229C8 @@ -239,303 +239,9 @@ gBattle_WIN1V: @ 2022E2A .space 0x2 .include "src/battle_message.o" + .include "src/battle_main.o" -gUnknown_02022F88: @ 2022F88 - .space 0x64 - -gBattleTypeFlags: @ 2022FEC - .space 0x4 - -gBattleTerrain: @ 2022FF0 - .space 0x4 - -gUnknown_02022FF4: @ 2022FF4 - .space 0x4 - -gUnknown_02022FF8: @ 2022FF8 - .space 0x60 - -gUnknown_02023058: @ 2023058 - .space 0x4 - -gUnknown_0202305C: @ 202305C - .space 0x4 - -gUnknown_02023060: @ 2023060 - .space 0x4 - -gBattleBufferA: @ 2023064 - .space 0x800 - -gBattleBufferB: @ 2023864 - .space 0x800 - -gActiveBank: @ 2024064 - .space 0x4 - -gBattleExecBuffer: @ 2024068 - .space 0x4 - -gNoOfAllBanks: @ 202406C - .space 0x2 - -gBattlePartyID: @ 202406E - .space 0x8 - -gBanksByIdentity: @ 2024076 - .space 0x4 - -gActionsByTurnOrder: @ 202407A - .space 0x4 - -gBanksByTurnOrder: @ 202407E - .space 0x4 - -gCurrentTurnActionNumber: @ 2024082 - .space 0x1 - -gCurrentActionFuncId: @ 2024083 - .space 0x1 - -gBattleMons: @ 2024084 - .space 0x160 - -gBankSpriteIds: @ 20241E4 - .space 0x4 - -gCurrMovePos: @ 20241E8 - .space 0x1 - -gUnknown_020241E9: @ 20241E9 - .space 0x1 - -gCurrentMove: @ 20241EA - .space 0x2 - -gLastUsedMove: @ 20241EC - .space 0x2 - -gRandomMove: @ 20241EE - .space 0x2 - -gBattleMoveDamage: @ 20241F0 - .space 0x4 - -gHpDealt: @ 20241F4 - .space 0x4 - -gTakenDmg: @ 20241F8 - .space 0x10 - -gLastUsedItem: @ 2024208 - .space 0x2 - -gLastUsedAbility: @ 202420A - .space 0x1 - -gBankAttacker: @ 202420B - .space 0x1 - -gBankTarget: @ 202420C - .space 0x1 - -gBank1: @ 202420D - .space 0x1 - -gEffectBank: @ 202420E - .space 0x1 - -gStringBank: @ 202420F - .space 0x1 - -gAbsentBankFlags: @ 2024210 - .space 0x1 - -gCritMultiplier: @ 2024211 - .space 0x1 - -gMultiHitCounter: @ 2024212 - .space 0x2 - -gBattlescriptCurrInstr: @ 2024214 - .space 0x8 - -gActionForBanks: @ 202421C - .space 0x4 - -gBattlescriptPtrsForSelection: @ 2024220 - .space 0x10 - -gUnknown_02024230: @ 2024230 - .space 0x10 - -gUnknownMovesUsedByBanks: @ 2024240 - .space 0x8 - -gLastUsedMovesByBanks: @ 2024248 - .space 0x8 - -gUnknown_02024250: @ 2024250 - .space 0x8 - -gUnknown_02024258: @ 2024258 - .space 0x8 - -gUnknown_02024260: @ 2024260 - .space 0x8 - -gLockedMoves: @ 2024268 - .space 0x8 - -gUnknown_02024270: @ 2024270 - .space 0x4 - -gChosenMovesByBanks: @ 2024274 - .space 0x8 - -gBattleMoveFlags: @ 202427C - .space 0x4 - -gHitMarker: @ 2024280 - .space 0x4 - -gUnknown_02024284: @ 2024284 - .space 0x4 - -gTakenDmgBanks: @ 2024288 - .space 0x4 - -gUnknown_0202428C: @ 202428C - .space 0x2 - -gSideAffecting: @ 202428E - .space 0x6 - -gSideTimers: @ 2024294 - .space 0x18 - -gStatuses3: @ 20242AC - .space 0x10 - -gDisableStructs: @ 20242BC - .space 0x70 - -gPauseCounterBattle: @ 202432C - .space 0x2 - -gPaydayMoney: @ 202432E - .space 0x2 - -gRandomTurnNumber: @ 2024330 - .space 0x2 - -gBattleCommunication: @ 2024332 - .space 0x1 - -gUnknown_02024333: @ 2024333 - .space 0x7 - -gBattleOutcome: @ 202433A - .space 0x2 - -gProtectStructs: @ 202433C - .space 0x40 - -gSpecialStatuses: @ 202437C - .space 0x50 - -gBattleWeather: @ 20243CC - .space 0x4 - -gWishFutureKnock: @ 20243D0 - .space 0x2C - -gUnknown_020243FC: @ 20243FC - .space 0x2 - -gSentPokesToOpponent: @ 20243FE - .space 0x2 - -gDynamicBasePower: @ 2024400 - .space 0x2 - -gExpShareExp: @ 2024402 - .space 0x2 - -gEnigmaBerries: @ 2024404 - .space 0x70 - -gBattleScripting: @ 2024474 - .space 0x28 - -gBattleStruct: @ 202449C - .space 0x4 - -gLinkBattleSendBuffer: @ 20244A0 - .space 0x4 - -gLinkBattleRecvBuffer: @ 20244A4 - .space 0x4 - -gBattleResources: @ 20244A8 - .space 0x4 - -gActionSelectionCursor: @ 20244AC - .space 0x4 - -gMoveSelectionCursor: @ 20244B0 - .space 0x4 - -gUnknown_020244B4: @ 20244B4 - .space 0x4 - -gBankInMenu: @ 20244B8 - .space 0x1 - -gDoingBattleAnim: @ 20244B9 - .space 0x3 - -gTransformedPersonalities: @ 20244BC - .space 0x10 - -gPlayerDpadHoldFrames: @ 20244CC - .space 0x4 - -gBattleSpritesDataPtr: @ 20244D0 - .space 0x4 - -gMonSpritesGfxPtr: @ 20244D4 - .space 0x4 - -gUnknown_020244D8: @ 20244D8 - .space 0x4 - -gUnknown_020244DC: @ 20244DC - .space 0x4 - -gBattleMovePower: @ 20244E0 - .space 0x2 - -gMoveToLearn: @ 20244E2 - .space 0x2 - -gBattleMonForms: @ 20244E4 - .space 0x4 - -sLearningMoveTableID: @ 20244E8 - .space 0x1 - -gPlayerPartyCount: @ 20244E9 - .space 0x1 - -gEnemyPartyCount: @ 20244EA - .space 0x2 - -gPlayerParty: @ 20244EC - .space 600 - -gEnemyParty: @ 2024744 - .space 600 + .include "src/pokemon_1.o" gUnknown_0202499C: @ 202499C .space 0x18 @@ -543,32 +249,10 @@ gUnknown_0202499C: @ 202499C gUnknown_020249B4: @ 20249B4 .space 0x8 - .include "src/rng.o" - - .align 2 -gUnknown_020249C4: @ 20249C4 - .space 0x64 - -gUnknown_02024A28: @ 2024A28 - .space 0x8 - -gUnknown_02024A30: @ 2024A30 - .space 0x8 - -gUnknown_02024A38: @ 2024A38 - .space 0x14 - -gUnknown_02024A4C: @ 2024A4C - .space 0x8 - + .include "src/random.o" + .include "src/daycare.o" .include "src/load_save.o" -gUnknown_02031C58: @ 2031C58 - .space 0x528 - -gUnknown_02032180: @ 2032180 - .space 0x4 - gUnknown_02032184: @ 2032184 .space 0x4 @@ -586,18 +270,8 @@ gUnknown_0203229C: @ 203229C gUnknown_020322A0: @ 20322A0 .space 0x4 - -gUnknown_020322A4: @ 20322A4 - .space 0x4 - -gUnknown_020322A8: @ 20322A8 - .space 0x14 - -gUnknown_020322BC: @ 20322BC - .space 0x14 - -gUnknown_020322D0: @ 20322D0 - .space 0x4 + + .include "src/berry_blender.o" gDifferentSaveFile: @ 20322D4 .space 0x1 @@ -674,9 +348,9 @@ gUnknown_020375B6: @ 20375B6 gUnknown_020375B8: @ 20375B8 .space 0x4 -gUnknown_020375BC: @ 20375BC - .space 0x4 + .include "src/field_message_box.o" + .align 2 gUnknown_020375C0: @ 20375C0 .space 0x4 @@ -691,25 +365,6 @@ gUnknown_020375D6: @ 20375D6 .include "src/event_data.o" .include "src/start_menu.o" - -gUnknown_02037619: @ 2037619 - .space 0x1 - -gUnknown_0203761A: @ 203761A - .space 0x2 - -gUnknown_0203761C: @ 203761C - .space 0x4 - -gUnknown_02037620: @ 2037620 - .space 0x1 - -gUnknown_02037621: @ 2037621 - .space 0x1 - -gUnknown_02037622: @ 2037622 - .space 0x2 - .include "src/tileset_anims.o" .include "src/palette.o" .include "src/sound.o" @@ -738,98 +393,17 @@ gUnknown_02038BC4: @ 2038BC4 gUnknown_02038BC6: @ 2038BC6 .space 0x2 -gUnknown_02038BC8: @ 2038BC8 - .space 0x2 - -gTrainerBattleOpponent_A: @ 2038BCA - .space 0x2 - -gTrainerBattleOpponent_B: @ 2038BCC - .space 0x2 - -gPartnerTrainerId: @ 2038BCE - .space 0x2 - -gUnknown_02038BD0: @ 2038BD0 - .space 0x4 - -gUnknown_02038BD4: @ 2038BD4 - .space 0x4 - -gUnknown_02038BD8: @ 2038BD8 - .space 0x4 - -gUnknown_02038BDC: @ 2038BDC - .space 0x4 - -gUnknown_02038BE0: @ 2038BE0 - .space 0x4 - -gUnknown_02038BE4: @ 2038BE4 - .space 0x4 - -gUnknown_02038BE8: @ 2038BE8 - .space 0x4 - -gUnknown_02038BEC: @ 2038BEC - .space 0x4 - -gUnknown_02038BF0: @ 2038BF0 - .space 0x4 - -gUnknown_02038BF4: @ 2038BF4 - .space 0x4 - -gUnknown_02038BF8: @ 2038BF8 - .space 0x1 - -gUnknown_02038BF9: @ 2038BF9 - .space 0x3 - -gUnknown_02038BFC: @ 2038BFC - .space 0x4 - -gUnknown_02038C00: @ 2038C00 - .space 0x4 - -gUnknown_02038C04: @ 2038C04 - .space 0x4 + .include "src/battle_setup.o" + .include "src/trainer_see.o" + .include "src/wild_encounter.o" gFieldEffectArguments: @ 2038C08 .space 0x20 -gUnknown_02038C28: @ 2038C28 - .space 0x2 - -gUnknown_02038C2A: @ 2038C2A - .space 0x2 - -gUnknown_02038C2C: @ 2038C2C - .space 0x13C - -gUnknown_02038D68: @ 2038D68 - .space 0x140 - -gUnknown_02038EA8: @ 2038EA8 - .space 0x280 - -gUnknown_02039128: @ 2039128 - .space 0x280 - -gUnknown_020393A8: @ 20393A8 - .space 0x140 - -gUnknown_020394E8: @ 20394E8 - .space 0x640 - -gUnknown_02039B28: @ 2039B28 - .space 0x1C - -gUnknown_02039B44: @ 2039B44 - .space 0x4 - -gUnknown_02039B48: @ 2039B48 - .space 0x4 + .include "src/scanline_effect.o" + .include "src/option_menu.o" + + .align 2 gUnknown_02039B4C: @ 2039B4C .space 0x4 @@ -978,10 +552,10 @@ gUnknown_02039F2A: @ 2039F2A gUnknown_02039F2B: @ 2039F2B .space 0x1 -gScriptContestCategory: @ 2039F2C +gSpecialVar_ContestCategory: @ 2039F2C .space 0x2 -gUnknown_02039F2E: @ 2039F2E +gSpecialVar_ContestRank: @ 2039F2E .space 0x2 gUnknown_02039F30: @ 2039F30 @@ -1029,9 +603,7 @@ gUnknown_02039F8C: @ 2039F8C gUnknown_02039F90: @ 2039F90 .space 0x4 -gUnknown_02039F94: @ 2039F94 - .space 0x4 - + .include "src/naming_screen.o" .include "src/money.o" .include "src/record_mixing.o" .include "src/secret_base.o" @@ -1095,12 +667,7 @@ gUnknown_0203A138: @ 203A138 gUnknown_0203A140: @ 203A140 .space 0x4 -gUnknown_0203A144: @ 203A144 - .space 0x4 - -gUnknown_0203A148: @ 203A148 - .space 0x4 - + .include "src/region_map.o" .include "src/decoration.o" .align 2 @@ -1195,20 +762,13 @@ gUnknown_0203AB34: @ 203AB34 .align 2 gUnknown_0203AB40: @ 203AB40 .space 0x8 + + .include "src/pokeblock.o" -gUnknown_0203AB48: @ 203AB48 - .space 0x6 - -gUnknown_0203AB4E: @ 203AB4E - .space 0x2 - -gUnknown_0203AB50: @ 203AB50 - .space 0x4 - -gUnknown_0203AB54: @ 203AB54 +gBikeCyclingChallenge: @ 203AB54 .space 0x1 -gUnknown_0203AB55: @ 203AB55 +gBikeCollisions: @ 203AB55 .space 0x3 gUnknown_0203AB58: @ 203AB58 @@ -1253,7 +813,7 @@ gUnknown_0203AB6F: @ 203AB6F gUnknown_0203AB70: @ 203AB70 .space 0x4 -gUnknown_0203AB74: @ 203AB74 +gResultsWindowId: @ 203AB74 .space 0x4 gUnknown_0203AB78: @ 203AB78 @@ -1280,12 +840,9 @@ gUnknown_0203AB98: @ 203AB98 .space 0x4 .include "src/coins.o" - - .align 2 -sTransitionStructPtr: @ 203ABA0 - .space 0x4 + .include "src/battle_transition.o" -gAbilitiesPerBank: @ 203ABA4 +gBattlerAbilities: @ 203ABA4 .space 0x4 gStringInfo: @ 203ABA8 @@ -1319,8 +876,7 @@ gUnknown_0203ABB8: @ 203ABB8 .space 0x4 /*unused var?*/ -gUnknown_0203BBC0: @ 203BBC0 - .space 0x74 + .include "src/mystery_event_script.o" gUnknown_0203BC34: @ 203BC34 .space 0x4 @@ -1337,32 +893,7 @@ gUnknown_0203BC88: @ 203BC88 gUnknown_0203BC8C: @ 203BC8C .space 0x4 -gUnknown_0203BC90: @ 203BC90 - .space 0x4 - -gUnknown_0203BC94: @ 203BC94 - .space 0x4 - -gUnknown_0203BC98: @ 203BC98 - .space 0x4 - -gUnknown_0203BC9C: @ 203BC9C - .space 0x2 - -gUnknown_0203BC9E: @ 203BC9E - .space 0x2 - -gUnknown_0203BCA0: @ 203BCA0 - .space 0x4 - -gUnknown_0203BCA4: @ 203BCA4 - .space 0x4 - -gUnknown_0203BCA8: @ 203BCA8 - .space 0x4 - -gUnknown_0203BCAC: @ 203BCAC - .space 0x4 + .include "src/use_pokeblock.o" gUnknown_0203BCB0: @ 203BCB0 .space 0x4 @@ -1388,17 +919,12 @@ gUnknown_0203BCC8: @ 203BCC8 gUnknown_0203BCCC: @ 203BCCC .space 0x4 -gUnknown_0203BCD0: @ 203BCD0 - .space 0x4 + .include "src/field_region_map.o" gUnknown_0203BCD4: @ 203BCD4 .space 0x4 -gUnknown_0203BCD8: @ 203BCD8 - .space 0x4 - -gUnknown_0203BCDC: @ 203BCDC - .space 0x4 + .include "src/hall_of_fame.o" gUnknown_0203BCE0: @ 203BCE0 .space 0x2 @@ -1406,7 +932,7 @@ gUnknown_0203BCE0: @ 203BCE0 gUnknown_0203BCE2: @ 203BCE2 .space 0x2 -gUnknown_0203BCE4: @ 203BCE4 +gHasHallOfFameRecords: @ 203BCE4 .space 0x1 gUnknown_0203BCE5: @ 203BCE5 @@ -1417,23 +943,14 @@ gUnknown_0203BCE8: @ 203BCE8 .include "src/lottery_corner.o" .include "src/diploma.o" - -gUnknown_0203BCF4: @ 203BCF4 - .space 0x4 - -gUnknown_0203BCF8: @ 203BCF8 - .space 0x4 - + .include "src/berry_tag_screen.o" + .include "src/mystery_event_menu.o" .include "src/save_failed_screen.o" gBraillePuzzleCallbackFlag: @ 203BD14 .space 0x4 -gUnknown_0203BD18: @ 203BD18 - .space 0x4 - -gUnknown_0203BD1C: @ 203BD1C - .space 0x8 + .include "src/pokeblock_feed.o" gUnknown_0203BD24: @ 203BD24 .space 0x2 @@ -1444,90 +961,7 @@ gUnknown_0203BD26: @ 203BD26 gUnknown_0203BD28: @ 203BD28 .space 0x4 -gRecordedBattleRngSeed: @ 203BD2C - .space 0x4 - -gBattlePalaceMoveSelectionRngValue: @ 203BD30 - .space 0x4 - -gUnknown_0203BD34: @ 203BD34 - .space 0xA60 - -gUnknown_0203C794: @ 203C794 - .space 0x8 - -gUnknown_0203C79C: @ 203C79C - .space 0x8 - -gUnknown_0203C7A4: @ 203C7A4 - .space 0x8 - -gUnknown_0203C7AC: @ 203C7AC - .space 0x1 - -gUnknown_0203C7AD: @ 203C7AD - .space 0x1 - -gUnknown_0203C7AE: @ 203C7AE - .space 0x1 - -gUnknown_0203C7AF: @ 203C7AF - .space 0x1 - -gUnknown_0203C7B0: @ 203C7B0 - .space 0x4 - -gUnknown_0203C7B4: @ 203C7B4 - .space 0x1 - -gUnknown_0203C7B5: @ 203C7B5 - .space 0x1 - -gUnknown_0203C7B6: @ 203C7B6 - .space 0x1 - -gUnknown_0203C7B7: @ 203C7B7 - .space 0x1 - -gUnknown_0203C7B8: @ 203C7B8 - .space 0x4 - -gUnknown_0203C7BC: @ 203C7BC - .space 0x4 - -gUnknown_0203C7C0: @ 203C7C0 - .space 0x258 - -gUnknown_0203CA18: @ 203CA18 - .space 0x258 - -gUnknown_0203CC70: @ 203CC70 - .space 0x10 - -gUnknown_0203CC80: @ 203CC80 - .space 0x4 - -gUnknown_0203CC84: @ 203CC84 - .space 0x4C - -gUnknown_0203CCD0: @ 203CCD0 - .space 0x1 - -gUnknown_0203CCD1: @ 203CCD1 - .space 0x8 - -gUnknown_0203CCD9: @ 203CCD9 - .space 0x1 - -gUnknown_0203CCDA: @ 203CCDA - .space 0x2 - -gUnknown_0203CCDC: @ 203CCDC - .space 0xC - -gUnknown_0203CCE8: @ 203CCE8 - .space 0x4 - + .include "src/recorded_battle.o" .include "src/battle_dome_cards.o" .include "src/lilycove_lady.o" @@ -1549,36 +983,9 @@ gUnknown_0203CD80: @ 203CD80 gUnknown_0203CD88: @ 203CD88 .space 0x4 -gUnknown_0203CD8C: @ 203CD8C - .space 0x1 - -gUnknown_0203CD8D: @ 203CD8D - .space 0x3 - -gUnknown_0203CD90: @ 203CD90 - .space 0xC - -gUnknown_0203CD9C: @ 203CD9C - .space 0x2 - -gUnknown_0203CD9E: @ 203CD9E - .space 0x1 - -gUnknown_0203CD9F: @ 203CD9F - .space 0x1 - -gUnknown_0203CDA0: @ 203CDA0 - .space 0x4 - -gUnknown_0203CDA4: @ 203CDA4 - .space 0x4 - -gUnknown_0203CDA8: @ 203CDA8 - .space 0x4 - -gUnknown_0203CDAC: @ 203CDAC - .space 0x80 + .include "src/menu.o" + .align 2 gUnknown_0203CE2C: @ 203CE2C .space 0x4 @@ -1636,7 +1043,7 @@ gUnknown_0203CE74: @ 203CE74 gUnknown_0203CE78: @ 203CE78 .space 0x4 -gScriptItemId: @ 203CE7C +gSpecialVar_ItemId: @ 203CE7C .space 0x4 gUnknown_0203CE80: @ 203CE80 @@ -1648,14 +1055,8 @@ gUnknown_0203CE84: @ 203CE84 gUnknown_0203CE8C: @ 203CE8C .space 0x10 -gUnknown_0203CE9C: @ 203CE9C - .space 0x20 - -gUnknown_0203CEBC: @ 203CEBC - .space 0x4 - -gUnknown_0203CEC0: @ 203CEC0 - .space 0x4 + .include "src/unk_text_util.o" + .include "src/item_icon.o" gUnknown_0203CEC4: @ 203CEC4 .space 0x4 @@ -1768,4 +1169,4 @@ gUnknown_0203CF58: @ 203CF58 gUnknown_0203CF5C: @ 203CF5C .space 0x4 -gUnknown_0203CF60: @ 203CF60 + .include "src/rayquaza_scene.o" diff --git a/tools/aif2pcm/.gitignore b/tools/aif2pcm/.gitignore new file mode 100644 index 0000000000..31531797e7 --- /dev/null +++ b/tools/aif2pcm/.gitignore @@ -0,0 +1,2 @@ +aif2pcm + diff --git a/tools/aif2pcm/LICENSE b/tools/aif2pcm/LICENSE new file mode 100644 index 0000000000..966b92bd69 --- /dev/null +++ b/tools/aif2pcm/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2016 huderlem +Copyright (c) 2005, 2006 by Marco Trillo + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/tools/aif2pcm/Makefile b/tools/aif2pcm/Makefile new file mode 100644 index 0000000000..967930c598 --- /dev/null +++ b/tools/aif2pcm/Makefile @@ -0,0 +1,15 @@ +CC = gcc + +CFLAGS = -Wall -Wextra -Wno-switch -Werror -std=c11 -O2 -s + +LIBS = -lm + +SRCS = main.c extended.c + +.PHONY: clean + +aif2pcm: $(SRCS) + $(CC) $(CFLAGS) $(SRCS) -o $@ $(LDFLAGS) $(LIBS) + +clean: + $(RM) aif2pcm aif2pcm.exe diff --git a/tools/aif2pcm/extended.c b/tools/aif2pcm/extended.c new file mode 100644 index 0000000000..94449164bd --- /dev/null +++ b/tools/aif2pcm/extended.c @@ -0,0 +1,172 @@ +/* $Id: extended.c,v 1.8 2006/12/23 11:17:49 toad32767 Exp $ */ +/*- + * Copyright (c) 2005, 2006 by Marco Trillo + * + * Permission is hereby granted, free of charge, to any + * person obtaining a copy of this software and associated + * documentation files (the "Software"), to deal in the + * Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the + * Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice + * shall be included in all copies or substantial portions of + * the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY + * KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR + * PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS + * OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#include +#include +#include + +/* + * Infinite & NAN values + * for non-IEEE systems + */ +#ifndef HUGE_VAL +#ifdef HUGE +#define INFINITE_VALUE HUGE +#define NAN_VALUE HUGE +#endif +#else +#define INFINITE_VALUE HUGE_VAL +#define NAN_VALUE HUGE_VAL +#endif + +/* + * IEEE 754 Extended Precision + * + * Implementation here is the 80-bit extended precision + * format of Motorola 68881, Motorola 68882 and Motorola + * 68040 FPUs, as well as Intel 80x87 FPUs. + * + * See: + * http://www.freescale.com/files/32bit/doc/fact_sheet/BR509.pdf + */ +/* + * Exponent range: [-16383,16383] + * Precision for mantissa: 64 bits with no hidden bit + * Bias: 16383 + */ + +/* + * Write IEEE Extended Precision Numbers + */ +void +ieee754_write_extended(double in, uint8_t* out) +{ + int sgn, exp, shift; + double fraction, t; + unsigned int lexp, hexp; + unsigned long low, high; + + if (in == 0.0) { + memset(out, 0, 10); + return; + } + if (in < 0.0) { + in = fabs(in); + sgn = 1; + } else + sgn = 0; + + fraction = frexp(in, &exp); + + if (exp == 0 || exp > 16384) { + if (exp > 16384) /* infinite value */ + low = high = 0; + else { + low = 0x80000000; + high = 0; + } + exp = 32767; + goto done; + } + fraction = ldexp(fraction, 32); + t = floor(fraction); + low = (unsigned long) t; + fraction -= t; + t = floor(ldexp(fraction, 32)); + high = (unsigned long) t; + + /* Convert exponents < -16382 to -16382 (then they will be + * stored as -16383) */ + if (exp < -16382) { + shift = 0 - exp - 16382; + high >>= shift; + high |= (low << (32 - shift)); + low >>= shift; + exp = -16382; + } + exp += 16383 - 1; /* bias */ + +done: + lexp = ((unsigned int) exp) >> 8; + hexp = ((unsigned int) exp) & 0xFF; + + /* big endian */ + out[0] = ((uint8_t) sgn) << 7; + out[0] |= (uint8_t) lexp; + out[1] = (uint8_t) hexp; + out[2] = (uint8_t) (low >> 24); + out[3] = (uint8_t) ((low >> 16) & 0xFF); + out[4] = (uint8_t) ((low >> 8) & 0xFF); + out[5] = (uint8_t) (low & 0xFF); + out[6] = (uint8_t) (high >> 24); + out[7] = (uint8_t) ((high >> 16) & 0xFF); + out[8] = (uint8_t) ((high >> 8) & 0xFF); + out[9] = (uint8_t) (high & 0xFF); + + return; +} + + +/* + * Read IEEE Extended Precision Numbers + */ +double +ieee754_read_extended(uint8_t* in) +{ + int sgn, exp; + unsigned long low, high; + double out; + + /* Extract the components from the big endian buffer */ + sgn = (int) (in[0] >> 7); + exp = ((int) (in[0] & 0x7F) << 8) | ((int) in[1]); + low = (((unsigned long) in[2]) << 24) + | (((unsigned long) in[3]) << 16) + | (((unsigned long) in[4]) << 8) | (unsigned long) in[5]; + high = (((unsigned long) in[6]) << 24) + | (((unsigned long) in[7]) << 16) + | (((unsigned long) in[8]) << 8) | (unsigned long) in[9]; + + if (exp == 0 && low == 0 && high == 0) + return (sgn ? -0.0 : 0.0); + + switch (exp) { + case 32767: + if (low == 0 && high == 0) + return (sgn ? -INFINITE_VALUE : INFINITE_VALUE); + else + return (sgn ? -NAN_VALUE : NAN_VALUE); + default: + exp -= 16383; /* unbias exponent */ + + } + + out = ldexp((double) low, -31 + exp); + out += ldexp((double) high, -63 + exp); + + return (sgn ? -out : out); +} diff --git a/tools/aif2pcm/main.c b/tools/aif2pcm/main.c new file mode 100644 index 0000000000..fbb024a1d4 --- /dev/null +++ b/tools/aif2pcm/main.c @@ -0,0 +1,830 @@ +// Copyright(c) 2016 huderlem +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include +#include +#include +#include +#include +#include + +/* extended.c */ +void ieee754_write_extended (double, uint8_t*); +double ieee754_read_extended (uint8_t*); + +#ifdef _MSC_VER + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + fprintf(stderr, format, __VA_ARGS__); \ + exit(1); \ +} while (0) + +#else + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + fprintf(stderr, format, ##__VA_ARGS__); \ + exit(1); \ +} while (0) + +#endif // _MSC_VER + +typedef struct { + unsigned long num_samples; + uint8_t *samples; + uint8_t midi_note; + bool has_loop; + unsigned long loop_offset; + double sample_rate; + unsigned long real_num_samples; +} AifData; + +struct Bytes { + unsigned long length; + uint8_t *data; +}; + +struct Bytes *read_bytearray(const char *filename) +{ + struct Bytes *bytes = malloc(sizeof(struct Bytes)); + FILE *f = fopen(filename, "rb"); + if (!f) + { + FATAL_ERROR("Failed to open '%s' for reading!\n", filename); + } + fseek(f, 0, SEEK_END); + bytes->length = ftell(f); + fseek(f, 0, SEEK_SET); + bytes->data = malloc(bytes->length); + unsigned long read = fread(bytes->data, bytes->length, 1, f); + fclose(f); + if (read <= 0) + { + FATAL_ERROR("Failed to read data from '%s'!\n", filename); + } + return bytes; +} + +void write_bytearray(const char *filename, struct Bytes *bytes) +{ + FILE *f = fopen(filename, "wb"); + if (!f) + { + FATAL_ERROR("Failed to open '%s' for writing!\n", filename); + } + fwrite(bytes->data, bytes->length, 1, f); + fclose(f); +} + +void free_bytearray(struct Bytes *bytes) +{ + free(bytes->data); + free(bytes); +} + +char *get_file_extension(char *filename) +{ + char *index = strrchr(filename, '.'); + if (!index || index == filename) + { + return NULL; + } + return index + 1; +} + +char *new_file_extension(char *filename, char *ext) +{ + char *index = strrchr(filename, '.'); + if (!index || index == filename) + { + index = filename + strlen(filename); + } + int length = index - filename; + char *new_filename = malloc(length + 1 + strlen(ext) + 1); + if (new_filename) + { + strcpy(new_filename, filename); + new_filename[length] = '.'; + strcpy(new_filename + length + 1, ext); + } + return new_filename; +} + +void read_aif(struct Bytes *aif, AifData *aif_data) +{ + aif_data->has_loop = false; + aif_data->num_samples = 0; + + unsigned long pos = 0; + char chunk_name[5]; chunk_name[4] = '\0'; + char chunk_type[5]; chunk_type[4] = '\0'; + + // Check for FORM Chunk + memcpy(chunk_name, &aif->data[pos], 4); + pos += 4; + if (strcmp(chunk_name, "FORM") != 0) + { + FATAL_ERROR("Input .aif file has invalid header Chunk '%s'!\n", chunk_name); + } + + // Read size of whole file. + unsigned long whole_chunk_size = aif->data[pos++] << 24; + whole_chunk_size |= (aif->data[pos++] << 16); + whole_chunk_size |= (aif->data[pos++] << 8); + whole_chunk_size |= (uint8_t)aif->data[pos++]; + + unsigned long expected_whole_chunk_size = aif->length - 8; + if (whole_chunk_size != expected_whole_chunk_size) + { + FATAL_ERROR("FORM Chunk ckSize '%lu' doesn't match actual size '%lu'!\n", whole_chunk_size, expected_whole_chunk_size); + } + + // Check for AIFF Form Type + memcpy(chunk_type, &aif->data[pos], 4); + pos += 4; + if (strcmp(chunk_type, "AIFF") != 0) + { + FATAL_ERROR("FORM Type is '%s', but it must be AIFF!", chunk_type); + } + + unsigned long num_sample_frames = 0; + + // Read all the Chunks to populate the AifData struct. + while ((pos + 8) < aif->length) + { + // Read Chunk id + memcpy(chunk_name, &aif->data[pos], 4); + pos += 4; + + unsigned long chunk_size = (aif->data[pos++] << 24); + chunk_size |= (aif->data[pos++] << 16); + chunk_size |= (aif->data[pos++] << 8); + chunk_size |= aif->data[pos++]; + + if ((pos + chunk_size) > aif->length) + { + FATAL_ERROR("%s chunk at 0x%lx reached end of file before finishing\n", chunk_name, pos); + } + + if (strcmp(chunk_name, "COMM") == 0) + { + short num_channels = (aif->data[pos++] << 8); + num_channels |= (uint8_t)aif->data[pos++]; + if (num_channels != 1) + { + FATAL_ERROR("numChannels (%d) in the COMM Chunk must be 1!\n", num_channels); + } + + num_sample_frames = (aif->data[pos++] << 24); + num_sample_frames |= (aif->data[pos++] << 16); + num_sample_frames |= (aif->data[pos++] << 8); + num_sample_frames |= (uint8_t)aif->data[pos++]; + + short sample_size = (aif->data[pos++] << 8); + sample_size |= (uint8_t)aif->data[pos++]; + if (sample_size != 8) + { + FATAL_ERROR("sampleSize (%d) in the COMM Chunk must be 8!\n", sample_size); + } + + double sample_rate = ieee754_read_extended((uint8_t*)(aif->data + pos)); + pos += 10; + + aif_data->sample_rate = sample_rate; + + if (aif_data->num_samples == 0) + { + aif_data->num_samples = num_sample_frames; + } + } + else if (strcmp(chunk_name, "MARK") == 0) + { + unsigned short num_markers = (aif->data[pos++] << 8); + num_markers |= (uint8_t)aif->data[pos++]; + + // Read each marker and look for the "START" marker. + for (int i = 0; i < num_markers; i++) + { + unsigned short marker_id = (aif->data[pos++] << 8); + marker_id |= (uint8_t)aif->data[pos++]; + + unsigned long marker_position = (aif->data[pos++] << 24); + marker_position |= (aif->data[pos++] << 16); + marker_position |= (aif->data[pos++] << 8); + marker_position |= (uint8_t)aif->data[pos++]; + + // Marker id is a pascal-style string. + uint8_t marker_name_size = aif->data[pos++]; + char *marker_name = (char *)malloc((marker_name_size + 1) * sizeof(char)); + memcpy(marker_name, &aif->data[pos], marker_name_size); + marker_name[marker_name_size] = '\0'; + pos += marker_name_size; + + if (strcmp(marker_name, "START") == 0) + { + aif_data->loop_offset = marker_position; + aif_data->has_loop = true; + } + else if (strcmp(marker_name, "END") == 0) + { + if (!aif_data->has_loop) { + aif_data->loop_offset = marker_position; + aif_data->has_loop = true; + } + aif_data->num_samples = marker_position; + } + + free(marker_name); + } + } + else if (strcmp(chunk_name, "INST") == 0) + { + uint8_t midi_note = (uint8_t)aif->data[pos++]; + + aif_data->midi_note = midi_note; + + // Skip over data we don't need. + pos += 19; + } + else if (strcmp(chunk_name, "SSND") == 0) + { + // SKip offset and blockSize + pos += 8; + + unsigned long num_samples = chunk_size - 8; + uint8_t *sample_data = (uint8_t *)malloc(num_samples * sizeof(uint8_t)); + memcpy(sample_data, &aif->data[pos], num_samples); + + aif_data->samples = sample_data; + aif_data->real_num_samples = num_samples; + pos += chunk_size - 8; + } + else + { + // Skip over unsupported chunks. + pos += chunk_size; + } + } +} + +// This is a table of deltas between sample values in compressed PCM data. +const int gDeltaEncodingTable[] = { + 0, 1, 4, 9, 16, 25, 36, 49, + -64, -49, -36, -25, -16, -9, -4, -1, +}; + +struct Bytes *delta_decompress(struct Bytes *delta, unsigned int expected_length) +{ + struct Bytes *pcm = malloc(sizeof(struct Bytes)); + pcm->length = expected_length; + pcm->data = malloc(pcm->length + 0x40); + + uint8_t hi, lo; + unsigned int i = 0; + unsigned int j = 0; + int k; + int8_t base; + while (i < delta->length) + { + base = (int8_t)delta->data[i++]; + pcm->data[j++] = (uint8_t)base; + if (i >= delta->length) + { + break; + } + if (j >= pcm->length) + { + break; + } + lo = delta->data[i] & 0xf; + base += gDeltaEncodingTable[lo]; + pcm->data[j++] = base; + i++; + if (i >= delta->length) + { + break; + } + if (j >= pcm->length) + { + break; + } + for (k = 0; k < 31; k++) + { + hi = (delta->data[i] >> 4) & 0xf; + base += gDeltaEncodingTable[hi]; + pcm->data[j++] = base; + if (j >= pcm->length) + { + break; + } + lo = delta->data[i] & 0xf; + base += gDeltaEncodingTable[lo]; + pcm->data[j++] = base; + i++; + if (i >= delta->length) + { + break; + } + if (j >= pcm->length) + { + break; + } + } + if (j >= pcm->length) + { + break; + } + } + + pcm->length = j; + return pcm; +} + +int get_delta_index(uint8_t sample, uint8_t prev_sample) +{ + int best_error = INT_MAX; + int best_index = -1; + + for (int i = 0; i < 16; i++) + { + uint8_t new_sample = prev_sample + gDeltaEncodingTable[i]; + int error = sample > new_sample ? sample - new_sample : new_sample - sample; + + if (error < best_error) + { + best_error = error; + best_index = i; + } + } + + return best_index; +} + +struct Bytes *delta_compress(struct Bytes *pcm) +{ + struct Bytes *delta = malloc(sizeof(struct Bytes)); + // estimate the length so we can malloc + int num_blocks = pcm->length / 64; + delta->length = num_blocks * 33; + + int extra = pcm->length % 64; + if (extra) + { + delta->length += 1; + extra -= 1; + } + if (extra) + { + delta->length += 1; + extra -= 1; + } + if (extra) + { + delta->length += (extra + 1) / 2; + } + + delta->data = malloc(delta->length + 33); + + unsigned int i = 0; + unsigned int j = 0; + int k; + uint8_t base; + int delta_index; + + while (i < pcm->length) + { + base = pcm->data[i++]; + delta->data[j++] = base; + + if (i >= pcm->length) + { + break; + } + delta_index = get_delta_index(pcm->data[i++], base); + base += gDeltaEncodingTable[delta_index]; + delta->data[j++] = delta_index; + + for (k = 0; k < 31; k++) + { + if (i >= pcm->length) + { + break; + } + delta_index = get_delta_index(pcm->data[i++], base); + base += gDeltaEncodingTable[delta_index]; + delta->data[j] = (delta_index << 4); + + if (i >= pcm->length) + { + break; + } + delta_index = get_delta_index(pcm->data[i++], base); + base += gDeltaEncodingTable[delta_index]; + delta->data[j++] |= delta_index; + } + } + + delta->length = j; + + return delta; +} + +#define STORE_U32_LE(dest, value) \ +do { \ + *(dest) = (value) & 0xff; \ + *((dest) + 1) = ((value) >> 8) & 0xff; \ + *((dest) + 2) = ((value) >> 16) & 0xff; \ + *((dest) + 3) = ((value) >> 24) & 0xff; \ +} while (0) + +#define LOAD_U32_LE(var, src) \ +do { \ + (var) = *(src); \ + (var) |= (*((src) + 1) << 8); \ + (var) |= (*((src) + 2) << 16); \ + (var) |= (*((src) + 3) << 24); \ +} while (0) + +// Reads an .aif file and produces a .pcm file containing an array of 8-bit samples. +void aif2pcm(const char *aif_filename, const char *pcm_filename, bool compress) +{ + struct Bytes *aif = read_bytearray(aif_filename); + AifData aif_data = {0}; + read_aif(aif, &aif_data); + + int header_size = 0x10; + struct Bytes *pcm; + struct Bytes output = {0}; + + if (compress) + { + struct Bytes *input = malloc(sizeof(struct Bytes)); + input->data = aif_data.samples; + input->length = aif_data.real_num_samples; + pcm = delta_compress(input); + free(input); + } + else + { + pcm = malloc(sizeof(struct Bytes)); + pcm->data = aif_data.samples; + pcm->length = aif_data.real_num_samples; + } + output.length = header_size + pcm->length; + output.data = malloc(output.length); + + uint32_t pitch_adjust = (uint32_t)(aif_data.sample_rate * 1024); + uint32_t loop_offset = (uint32_t)(aif_data.loop_offset); + uint32_t adjusted_num_samples = (uint32_t)(aif_data.num_samples - 1); + uint32_t flags = 0; + if (aif_data.has_loop) flags |= 0x40000000; + if (compress) flags |= 1; + STORE_U32_LE(output.data + 0, flags); + STORE_U32_LE(output.data + 4, pitch_adjust); + STORE_U32_LE(output.data + 8, loop_offset); + STORE_U32_LE(output.data + 12, adjusted_num_samples); + memcpy(&output.data[header_size], pcm->data, pcm->length); + write_bytearray(pcm_filename, &output); + + free(aif->data); + free(aif); + free(pcm); + free(output.data); + free(aif_data.samples); +} + +// Reads a .pcm file containing an array of 8-bit samples and produces an .aif file. +// See http://www-mmsp.ece.mcgill.ca/documents/audioformats/aiff/Docs/AIFF-1.3.pdf for .aif file specification. +void pcm2aif(const char *pcm_filename, const char *aif_filename, uint32_t base_note) +{ + struct Bytes *pcm = read_bytearray(pcm_filename); + + AifData *aif_data = malloc(sizeof(AifData)); + + uint32_t flags; + LOAD_U32_LE(flags, pcm->data + 0); + aif_data->has_loop = flags & 0x40000000; + bool compressed = flags & 1; + + uint32_t pitch_adjust; + LOAD_U32_LE(pitch_adjust, pcm->data + 4); + aif_data->sample_rate = pitch_adjust / 1024.0; + + LOAD_U32_LE(aif_data->loop_offset, pcm->data + 8); + LOAD_U32_LE(aif_data->num_samples, pcm->data + 12); + aif_data->num_samples += 1; + + if (compressed) + { + struct Bytes *delta = pcm; + uint8_t *pcm_data = pcm->data; + delta->length -= 0x10; + delta->data += 0x10; + pcm = delta_decompress(delta, aif_data->num_samples); + free(pcm_data); + free(delta); + } + else + { + pcm->length -= 0x10; + pcm->data += 0x10; + } + + aif_data->samples = malloc(pcm->length); + memcpy(aif_data->samples, pcm->data, pcm->length); + + struct Bytes *aif = malloc(sizeof(struct Bytes)); + aif->length = 54 + 60 + pcm->length; + aif->data = malloc(aif->length); + + long pos = 0; + + // First, write the FORM header chunk. + // FORM Chunk ckID + aif->data[pos++] = 'F'; + aif->data[pos++] = 'O'; + aif->data[pos++] = 'R'; + aif->data[pos++] = 'M'; + + // FORM Chunk ckSize + unsigned long form_size = pos; + unsigned long data_size = aif->length - 8; + aif->data[pos++] = ((data_size >> 24) & 0xFF); + aif->data[pos++] = ((data_size >> 16) & 0xFF); + aif->data[pos++] = ((data_size >> 8) & 0xFF); + aif->data[pos++] = (data_size & 0xFF); + + // FORM Chunk formType + aif->data[pos++] = 'A'; + aif->data[pos++] = 'I'; + aif->data[pos++] = 'F'; + aif->data[pos++] = 'F'; + + // Next, write the Common Chunk + // Common Chunk ckID + aif->data[pos++] = 'C'; + aif->data[pos++] = 'O'; + aif->data[pos++] = 'M'; + aif->data[pos++] = 'M'; + + // Common Chunk ckSize + aif->data[pos++] = 0; + aif->data[pos++] = 0; + aif->data[pos++] = 0; + aif->data[pos++] = 18; + + // Common Chunk numChannels + aif->data[pos++] = 0; + aif->data[pos++] = 1; // 1 channel + + // Common Chunk numSampleFrames + aif->data[pos++] = ((aif_data->num_samples >> 24) & 0xFF); + aif->data[pos++] = ((aif_data->num_samples >> 16) & 0xFF); + aif->data[pos++] = ((aif_data->num_samples >> 8) & 0xFF); + aif->data[pos++] = (aif_data->num_samples & 0xFF); + + // Common Chunk sampleSize + aif->data[pos++] = 0; + aif->data[pos++] = 8; // 8 bits per sample + + // Common Chunk sampleRate + //double sample_rate = pitch_adjust / 1024.0; + uint8_t sample_rate_buffer[10]; + ieee754_write_extended(aif_data->sample_rate, sample_rate_buffer); + for (int i = 0; i < 10; i++) + { + aif->data[pos++] = sample_rate_buffer[i]; + } + + if (aif_data->has_loop) + { + + // Marker Chunk ckID + aif->data[pos++] = 'M'; + aif->data[pos++] = 'A'; + aif->data[pos++] = 'R'; + aif->data[pos++] = 'K'; + + // Marker Chunk ckSize + aif->data[pos++] = 0; + aif->data[pos++] = 0; + aif->data[pos++] = 0; + aif->data[pos++] = 12 + (aif_data->has_loop ? 12 : 0); + + // Marker Chunk numMarkers + aif->data[pos++] = 0; + aif->data[pos++] = (aif_data->has_loop ? 2 : 1); + + // Marker loop start + aif->data[pos++] = 0; + aif->data[pos++] = 1; // id = 1 + + long loop_start = aif_data->loop_offset; + aif->data[pos++] = ((loop_start >> 24) & 0xFF); + aif->data[pos++] = ((loop_start >> 16) & 0xFF); + aif->data[pos++] = ((loop_start >> 8) & 0xFF); + aif->data[pos++] = (loop_start & 0xFF); // position + + aif->data[pos++] = 5; // pascal-style string length + aif->data[pos++] = 'S'; + aif->data[pos++] = 'T'; + aif->data[pos++] = 'A'; + aif->data[pos++] = 'R'; + aif->data[pos++] = 'T'; // markerName + + // Marker loop end + aif->data[pos++] = 0; + aif->data[pos++] = (aif_data->has_loop ? 2 : 1); // id = 2 + + long loop_end = aif_data->num_samples; + aif->data[pos++] = ((loop_end >> 24) & 0xFF); + aif->data[pos++] = ((loop_end >> 16) & 0xFF); + aif->data[pos++] = ((loop_end >> 8) & 0xFF); + aif->data[pos++] = (loop_end & 0xFF); // position + + aif->data[pos++] = 3; // pascal-style string length + aif->data[pos++] = 'E'; + aif->data[pos++] = 'N'; + aif->data[pos++] = 'D'; + } + + // Instrument Chunk ckID + aif->data[pos++] = 'I'; + aif->data[pos++] = 'N'; + aif->data[pos++] = 'S'; + aif->data[pos++] = 'T'; + + // Instrument Chunk ckSize + aif->data[pos++] = 0; + aif->data[pos++] = 0; + aif->data[pos++] = 0; + aif->data[pos++] = 20; + + aif->data[pos++] = base_note; // baseNote + aif->data[pos++] = 0; // detune + aif->data[pos++] = 0; // lowNote + aif->data[pos++] = 127; // highNote + aif->data[pos++] = 1; // lowVelocity + aif->data[pos++] = 127; // highVelocity + aif->data[pos++] = 0; // gain (hi) + aif->data[pos++] = 0; // gain (lo) + + // Instrument Chunk sustainLoop + aif->data[pos++] = 0; + aif->data[pos++] = 1; // playMode = ForwardLooping + + aif->data[pos++] = 0; + aif->data[pos++] = 1; // beginLoop marker id + + aif->data[pos++] = 0; + aif->data[pos++] = 2; // endLoop marker id + + // Instrument Chunk releaseLoop + aif->data[pos++] = 0; + aif->data[pos++] = 1; // playMode = ForwardLooping + + aif->data[pos++] = 0; + aif->data[pos++] = 1; // beginLoop marker id + + aif->data[pos++] = 0; + aif->data[pos++] = 2; // endLoop marker id + + // Finally, write the Sound Data Chunk + // Sound Data Chunk ckID + aif->data[pos++] = 'S'; + aif->data[pos++] = 'S'; + aif->data[pos++] = 'N'; + aif->data[pos++] = 'D'; + + // Sound Data Chunk ckSize + unsigned long sound_data_size = pcm->length + 8; + aif->data[pos++] = ((sound_data_size >> 24) & 0xFF); + aif->data[pos++] = ((sound_data_size >> 16) & 0xFF); + aif->data[pos++] = ((sound_data_size >> 8) & 0xFF); + aif->data[pos++] = (sound_data_size & 0xFF); + + // Sound Data Chunk offset + aif->data[pos++] = 0; + aif->data[pos++] = 0; + aif->data[pos++] = 0; + aif->data[pos++] = 0; + + // Sound Data Chunk blockSize + aif->data[pos++] = 0; + aif->data[pos++] = 0; + aif->data[pos++] = 0; + aif->data[pos++] = 0; + + // Sound Data Chunk soundData + for (unsigned int i = 0; i < aif_data->loop_offset; i++) + { + aif->data[pos++] = aif_data->samples[i]; + } + + int j = 0; + for (unsigned int i = aif_data->loop_offset; i < pcm->length; i++) + { + int pcm_index = aif_data->loop_offset + (j++ % (pcm->length - aif_data->loop_offset)); + aif->data[pos++] = aif_data->samples[pcm_index]; + } + + aif->length = pos; + + // Go back and rewrite ckSize + data_size = aif->length - 8; + aif->data[form_size + 0] = ((data_size >> 24) & 0xFF); + aif->data[form_size + 1] = ((data_size >> 16) & 0xFF); + aif->data[form_size + 2] = ((data_size >> 8) & 0xFF); + aif->data[form_size + 3] = (data_size & 0xFF); + + write_bytearray(aif_filename, aif); + + free(aif->data); + free(aif); +} + +void usage(void) +{ + fprintf(stderr, "Usage: aif2pcm bin_file [aif_file]\n"); + fprintf(stderr, " aif2pcm aif_file [bin_file] [--compress]\n"); +} + +int main(int argc, char **argv) +{ + if (argc < 2) + { + usage(); + exit(1); + } + + char *input_file = argv[1]; + char *extension = get_file_extension(input_file); + char *output_file; + bool compressed = false; + + if (argc > 3) + { + for (int i = 3; i < argc; i++) + { + if (strcmp(argv[i], "--compress") == 0) + { + compressed = true; + } + } + } + + if (strcmp(extension, "aif") == 0 || strcmp(extension, "aiff") == 0) + { + if (argc >= 3) + { + output_file = argv[2]; + aif2pcm(input_file, output_file, compressed); + } + else + { + output_file = new_file_extension(input_file, "bin"); + aif2pcm(input_file, output_file, compressed); + free(output_file); + } + } + else if (strcmp(extension, "bin") == 0) + { + if (argc >= 3) + { + output_file = argv[2]; + pcm2aif(input_file, output_file, 60); + } + else + { + output_file = new_file_extension(input_file, "aif"); + pcm2aif(input_file, output_file, 60); + free(output_file); + } + } + else + { + FATAL_ERROR("Input file must be .aif or .bin: '%s'\n", input_file); + } + + return 0; +} diff --git a/tools/bin2c/.gitignore b/tools/bin2c/.gitignore new file mode 100644 index 0000000000..366f3d3e9c --- /dev/null +++ b/tools/bin2c/.gitignore @@ -0,0 +1 @@ +bin2c diff --git a/tools/bin2c/LICENSE b/tools/bin2c/LICENSE new file mode 100644 index 0000000000..534d15349e --- /dev/null +++ b/tools/bin2c/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2016 YamaArashi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/tools/bin2c/Makefile b/tools/bin2c/Makefile new file mode 100644 index 0000000000..4cc23a25a3 --- /dev/null +++ b/tools/bin2c/Makefile @@ -0,0 +1,13 @@ +CC = gcc + +CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -s + +.PHONY: clean + +SRCS = bin2c.c + +bin2c: $(SRCS) + $(CC) $(CFLAGS) $(SRCS) -o $@ $(LDFLAGS) + +clean: + $(RM) bin2c bin2c.exe diff --git a/tools/bin2c/bin2c.c b/tools/bin2c/bin2c.c new file mode 100644 index 0000000000..b4bd437f05 --- /dev/null +++ b/tools/bin2c/bin2c.c @@ -0,0 +1,201 @@ +// Copyright(c) 2015-2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include +#include +#include +#include + +#ifdef _MSC_VER + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + fprintf(stderr, format, __VA_ARGS__); \ + exit(1); \ +} while (0) + +#else + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + fprintf(stderr, format, ##__VA_ARGS__); \ + exit(1); \ +} while (0) + +#endif // _MSC_VER + +unsigned char *ReadWholeFile(char *path, int *size) +{ + FILE *fp = fopen(path, "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for reading.\n", path); + + fseek(fp, 0, SEEK_END); + + *size = ftell(fp); + + unsigned char *buffer = malloc(*size); + + if (buffer == NULL) + FATAL_ERROR("Failed to allocate memory for reading \"%s\".\n", path); + + rewind(fp); + + if (fread(buffer, *size, 1, fp) != 1) + FATAL_ERROR("Failed to read \"%s\".\n", path); + + fclose(fp); + + return buffer; +} + +int ExtractData(unsigned char *buffer, int offset, int size) +{ + switch (size) + { + case 1: + return buffer[offset]; + case 2: + return (buffer[offset + 1] << 8) + | buffer[offset]; + case 4: + return (buffer[offset + 3] << 24) + | (buffer[offset + 2] << 16) + | (buffer[offset + 1] << 8) + | buffer[offset]; + default: + FATAL_ERROR("Invalid size passed to ExtractData.\n"); + } +} + +int main(int argc, char **argv) +{ + if (argc < 3) + FATAL_ERROR("Usage: bin2c INPUT_FILE VAR_NAME [OPTIONS...]\n"); + + int fileSize; + unsigned char *buffer = ReadWholeFile(argv[1], &fileSize); + char *var_name = argv[2]; + int col = 1; + int pad = 0; + int size = 1; + bool isSigned = false; + bool isStatic = false; + bool isDecimal = false; + + for (int i = 3; i < argc; i++) + { + if (!strcmp(argv[i], "-col")) + { + i++; + + if (i >= argc) + FATAL_ERROR("Missing argument after '-col'.\n"); + + col = atoi(argv[i]); + } + else if (!strcmp(argv[i], "-pad")) + { + i++; + + if (i >= argc) + FATAL_ERROR("Missing argument after '-pad'.\n"); + + pad = atoi(argv[i]); + } + else if (!strcmp(argv[i], "-size")) + { + i++; + + if (i >= argc) + FATAL_ERROR("Missing argument after '-size'.\n"); + + size = atoi(argv[i]); + + if (size != 1 && size != 2 && size != 4) + FATAL_ERROR("Size must be 1, 2, or 4.\n"); + } + else if (!strcmp(argv[i], "-signed")) + { + isSigned = true; + isDecimal = true; + } + else if (!strcmp(argv[i], "-static")) + { + isStatic = true; + } + else if (!strcmp(argv[i], "-decimal")) + { + isDecimal = true; + } + else + { + FATAL_ERROR("Unrecognized option '%s'.\n", argv[i]); + } + } + + if ((fileSize & (size - 1)) != 0) + FATAL_ERROR("Size %d doesn't evenly divide file size %d.\n", size, fileSize); + + printf("// Generated file. Do not edit.\n\n"); + + if (isStatic) + printf("static "); + + printf("const "); + + if (isSigned) + printf("s%d ", 8 * size); + else + printf("u%d ", 8 * size); + + printf("%s[] =\n{", var_name); + + int count = fileSize / size; + int offset = 0; + + for (int i = 0; i < count; i++) + { + if (i % col == 0) + printf("\n "); + + int data = ExtractData(buffer, offset, size); + offset += size; + + if (isDecimal) + { + if (isSigned) + printf("%*d, ", pad, data); + else + printf("%*uu, ", pad, data); + } + else + { + printf("%#*xu, ", pad, data); + } + } + + printf("\n};\n"); + + return 0; +} diff --git a/tools/gbagfx/.gitignore b/tools/gbagfx/.gitignore new file mode 100644 index 0000000000..dbbb3f04cb --- /dev/null +++ b/tools/gbagfx/.gitignore @@ -0,0 +1 @@ +gbagfx diff --git a/tools/gbagfx/LICENSE b/tools/gbagfx/LICENSE new file mode 100644 index 0000000000..b66bf81c0f --- /dev/null +++ b/tools/gbagfx/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2015 YamaArashi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/tools/gbagfx/Makefile b/tools/gbagfx/Makefile new file mode 100644 index 0000000000..d791dabb55 --- /dev/null +++ b/tools/gbagfx/Makefile @@ -0,0 +1,15 @@ +CC = gcc + +CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -s -DPNG_SKIP_SETJMP_CHECK + +LIBS = -lpng -lz + +SRCS = main.c convert_png.c gfx.c jasc_pal.c lz.c rl.c util.c font.c + +.PHONY: clean + +gbagfx: $(SRCS) convert_png.h gfx.h global.h jasc_pal.h lz.h rl.h util.h font.h + $(CC) $(CFLAGS) $(SRCS) -o $@ $(LDFLAGS) $(LIBS) + +clean: + $(RM) gbagfx gbagfx.exe diff --git a/tools/gbagfx/convert_png.c b/tools/gbagfx/convert_png.c new file mode 100644 index 0000000000..cdfa39a7ad --- /dev/null +++ b/tools/gbagfx/convert_png.c @@ -0,0 +1,254 @@ +// Copyright (c) 2015 YamaArashi + +#include +#include +#include +#include "global.h" +#include "convert_png.h" +#include "gfx.h" + +static FILE *PngReadOpen(char *path, png_structp *pngStruct, png_infop *pngInfo) +{ + FILE *fp = fopen(path, "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for reading.\n", path); + + unsigned char sig[8]; + + if (fread(sig, 8, 1, fp) != 1) + FATAL_ERROR("Failed to read PNG signature from \"%s\".\n", path); + + if (png_sig_cmp(sig, 0, 8)) + FATAL_ERROR("\"%s\" does not have a valid PNG signature.\n", path); + + png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + + if (!png_ptr) + FATAL_ERROR("Failed to create PNG read struct.\n"); + + png_infop info_ptr = png_create_info_struct(png_ptr); + + if (!info_ptr) + FATAL_ERROR("Failed to create PNG info struct.\n"); + + if (setjmp(png_jmpbuf(png_ptr))) + FATAL_ERROR("Failed to init I/O for reading \"%s\".\n", path); + + png_init_io(png_ptr, fp); + png_set_sig_bytes(png_ptr, 8); + png_read_info(png_ptr, info_ptr); + + *pngStruct = png_ptr; + *pngInfo = info_ptr; + + return fp; +} + +static unsigned char *ConvertBitDepth(unsigned char *src, int srcBitDepth, int destBitDepth, int numPixels) +{ + // Round the number of bits up to the next 8 and divide by 8 to get the number of bytes. + int srcSize = ((numPixels * srcBitDepth + 7) & ~7) / 8; + int destSize = ((numPixels * destBitDepth + 7) & ~7) / 8; + unsigned char *output = calloc(destSize, 1); + unsigned char *dest = output; + int i; + int j; + int destBit = 8 - destBitDepth; + + for (i = 0; i < srcSize; i++) + { + unsigned char srcByte = src[i]; + + for (j = 8 - srcBitDepth; j >= 0; j -= srcBitDepth) + { + unsigned char pixel = (srcByte >> j) % (1 << srcBitDepth); + + if (pixel >= (1 << destBitDepth)) + FATAL_ERROR("Image exceeds the maximum color value for a %ibpp image.\n", destBitDepth); + *dest |= pixel << destBit; + destBit -= destBitDepth; + if (destBit < 0) + { + dest++; + destBit = 8 - destBitDepth; + } + } + } + + return output; +} + +void ReadPng(char *path, struct Image *image) +{ + png_structp png_ptr; + png_infop info_ptr; + + FILE *fp = PngReadOpen(path, &png_ptr, &info_ptr); + + int bit_depth = png_get_bit_depth(png_ptr, info_ptr); + + int color_type = png_get_color_type(png_ptr, info_ptr); + + if (color_type != PNG_COLOR_TYPE_GRAY && color_type != PNG_COLOR_TYPE_PALETTE) + FATAL_ERROR("\"%s\" has an unsupported color type.\n", path); + + // Check if the image has a palette so that we can tell if the colors need to be inverted later. + // Don't read the palette because it's not needed for now. + image->hasPalette = (color_type == PNG_COLOR_TYPE_PALETTE); + + image->width = png_get_image_width(png_ptr, info_ptr); + image->height = png_get_image_height(png_ptr, info_ptr); + + int rowbytes = png_get_rowbytes(png_ptr, info_ptr); + + image->pixels = malloc(image->height * rowbytes); + + if (image->pixels == NULL) + FATAL_ERROR("Failed to allocate pixel buffer.\n"); + + png_bytepp row_pointers = malloc(image->height * sizeof(png_bytep)); + + if (row_pointers == NULL) + FATAL_ERROR("Failed to allocate row pointers.\n"); + + for (int i = 0; i < image->height; i++) + row_pointers[i] = (png_bytep)(image->pixels + (i * rowbytes)); + + if (setjmp(png_jmpbuf(png_ptr))) + FATAL_ERROR("Error reading from \"%s\".\n", path); + + png_read_image(png_ptr, row_pointers); + + png_destroy_read_struct(&png_ptr, &info_ptr, NULL); + + free(row_pointers); + fclose(fp); + + if (bit_depth != image->bitDepth) + { + unsigned char *src = image->pixels; + + if (bit_depth != 1 && bit_depth != 2 && bit_depth != 4 && bit_depth != 8) + FATAL_ERROR("Bit depth of image must be 1, 2, 4, or 8.\n"); + image->pixels = ConvertBitDepth(image->pixels, bit_depth, image->bitDepth, image->width * image->height); + free(src); + image->bitDepth = bit_depth; + } +} + +void ReadPngPalette(char *path, struct Palette *palette) +{ + png_structp png_ptr; + png_infop info_ptr; + png_colorp colors; + int numColors; + + FILE *fp = PngReadOpen(path, &png_ptr, &info_ptr); + + if (png_get_color_type(png_ptr, info_ptr) != PNG_COLOR_TYPE_PALETTE) + FATAL_ERROR("The image \"%s\" does not contain a palette.\n", path); + + if (png_get_PLTE(png_ptr, info_ptr, &colors, &numColors) != PNG_INFO_PLTE) + FATAL_ERROR("Failed to retrieve palette from \"%s\".\n", path); + + if (numColors > 256) + FATAL_ERROR("Images with more than 256 colors are not supported.\n"); + + palette->numColors = numColors; + for (int i = 0; i < numColors; i++) { + palette->colors[i].red = colors[i].red; + palette->colors[i].green = colors[i].green; + palette->colors[i].blue = colors[i].blue; + } + + png_destroy_read_struct(&png_ptr, &info_ptr, NULL); + + fclose(fp); +} + +void SetPngPalette(png_structp png_ptr, png_infop info_ptr, struct Palette *palette) +{ + png_colorp colors = malloc(palette->numColors * sizeof(png_color)); + + if (colors == NULL) + FATAL_ERROR("Failed to allocate PNG palette.\n"); + + for (int i = 0; i < palette->numColors; i++) { + colors[i].red = palette->colors[i].red; + colors[i].green = palette->colors[i].green; + colors[i].blue = palette->colors[i].blue; + } + + png_set_PLTE(png_ptr, info_ptr, colors, palette->numColors); + + free(colors); +} + +void WritePng(char *path, struct Image *image) +{ + FILE *fp = fopen(path, "wb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for writing.\n", path); + + png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + + if (!png_ptr) + FATAL_ERROR("Failed to create PNG write struct.\n"); + + png_infop info_ptr = png_create_info_struct(png_ptr); + + if (!info_ptr) + FATAL_ERROR("Failed to create PNG info struct.\n"); + + if (setjmp(png_jmpbuf(png_ptr))) + FATAL_ERROR("Failed to init I/O for writing \"%s\".\n", path); + + png_init_io(png_ptr, fp); + + if (setjmp(png_jmpbuf(png_ptr))) + FATAL_ERROR("Error writing header for \"%s\".\n", path); + + int color_type = image->hasPalette ? PNG_COLOR_TYPE_PALETTE : PNG_COLOR_TYPE_GRAY; + + png_set_IHDR(png_ptr, info_ptr, image->width, image->height, + image->bitDepth, color_type, PNG_INTERLACE_NONE, + PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE); + + if (image->hasPalette) { + SetPngPalette(png_ptr, info_ptr, &image->palette); + + if (image->hasTransparency) { + png_byte trans = 0; + png_set_tRNS(png_ptr, info_ptr, &trans, 1, 0); + } + } + + png_write_info(png_ptr, info_ptr); + + png_bytepp row_pointers = malloc(image->height * sizeof(png_bytep)); + + if (row_pointers == NULL) + FATAL_ERROR("Failed to allocate row pointers.\n"); + + int rowbytes = png_get_rowbytes(png_ptr, info_ptr); + + for (int i = 0; i < image->height; i++) + row_pointers[i] = (png_bytep)(image->pixels + (i * rowbytes)); + + if (setjmp(png_jmpbuf(png_ptr))) + FATAL_ERROR("Error writing \"%s\".\n", path); + + png_write_image(png_ptr, row_pointers); + + if (setjmp(png_jmpbuf(png_ptr))) + FATAL_ERROR("Error ending write of \"%s\".\n", path); + + png_write_end(png_ptr, NULL); + + fclose(fp); + + png_destroy_write_struct(&png_ptr, &info_ptr); + free(row_pointers); +} diff --git a/tools/gbagfx/convert_png.h b/tools/gbagfx/convert_png.h new file mode 100644 index 0000000000..caf081b733 --- /dev/null +++ b/tools/gbagfx/convert_png.h @@ -0,0 +1,12 @@ +// Copyright (c) 2015 YamaArashi + +#ifndef CONVERT_PNG_H +#define CONVERT_PNG_H + +#include "gfx.h" + +void ReadPng(char *path, struct Image *image); +void WritePng(char *path, struct Image *image); +void ReadPngPalette(char *path, struct Palette *palette); + +#endif // CONVERT_PNG_H diff --git a/tools/gbagfx/font.c b/tools/gbagfx/font.c new file mode 100644 index 0000000000..0dd6fbc3ee --- /dev/null +++ b/tools/gbagfx/font.c @@ -0,0 +1,326 @@ +// Copyright (c) 2015 YamaArashi + +#include +#include +#include +#include +#include "global.h" +#include "font.h" +#include "gfx.h" +#include "util.h" + +unsigned char gFontPalette[][3] = { + {0x90, 0xC8, 0xFF}, // bg (saturated blue that contrasts well with the shadow color) + {0x38, 0x38, 0x38}, // fg (dark grey) + {0xD8, 0xD8, 0xD8}, // shadow (light grey) + {0xFF, 0xFF, 0xFF} // box (white) +}; + +static void ConvertFromLatinFont(unsigned char *src, unsigned char *dest, unsigned int numRows) +{ + unsigned int srcPixelsOffset = 0; + + for (unsigned int row = 0; row < numRows; row++) { + for (unsigned int column = 0; column < 16; column++) { + for (unsigned int glyphTile = 0; glyphTile < 4; glyphTile++) { + unsigned int pixelsX = (column * 16) + ((glyphTile & 1) * 8); + + for (unsigned int i = 0; i < 8; i++) { + unsigned int pixelsY = (row * 16) + ((glyphTile >> 1) * 8) + i; + unsigned int destPixelsOffset = (pixelsY * 64) + (pixelsX / 4); + + dest[destPixelsOffset] = src[srcPixelsOffset + 1]; + dest[destPixelsOffset + 1] = src[srcPixelsOffset]; + + srcPixelsOffset += 2; + } + } + } + } +} + +static void ConvertToLatinFont(unsigned char *src, unsigned char *dest, unsigned int numRows) +{ + unsigned int destPixelsOffset = 0; + + for (unsigned int row = 0; row < numRows; row++) { + for (unsigned int column = 0; column < 16; column++) { + for (unsigned int glyphTile = 0; glyphTile < 4; glyphTile++) { + unsigned int pixelsX = (column * 16) + ((glyphTile & 1) * 8); + + for (unsigned int i = 0; i < 8; i++) { + unsigned int pixelsY = (row * 16) + ((glyphTile >> 1) * 8) + i; + unsigned int srcPixelsOffset = (pixelsY * 64) + (pixelsX / 4); + + dest[destPixelsOffset] = src[srcPixelsOffset + 1]; + dest[destPixelsOffset + 1] = src[srcPixelsOffset]; + + destPixelsOffset += 2; + } + } + } + } +} + +static void ConvertFromHalfwidthJapaneseFont(unsigned char *src, unsigned char *dest, unsigned int numRows) +{ + for (unsigned int row = 0; row < numRows; row++) { + for (unsigned int column = 0; column < 16; column++) { + unsigned int glyphIndex = (row * 16) + column; + + for (unsigned int glyphTile = 0; glyphTile < 2; glyphTile++) { + unsigned int pixelsX = column * 8; + unsigned int srcPixelsOffset = 512 * (glyphIndex >> 4) + 16 * (glyphIndex & 0xF) + 256 * glyphTile; + + for (unsigned int i = 0; i < 8; i++) { + unsigned int pixelsY = (row * 16) + (glyphTile * 8) + i; + unsigned int destPixelsOffset = (pixelsY * 32) + (pixelsX / 4); + + dest[destPixelsOffset] = src[srcPixelsOffset + 1]; + dest[destPixelsOffset + 1] = src[srcPixelsOffset]; + + srcPixelsOffset += 2; + } + } + } + } +} + +static void ConvertToHalfwidthJapaneseFont(unsigned char *src, unsigned char *dest, unsigned int numRows) +{ + for (unsigned int row = 0; row < numRows; row++) { + for (unsigned int column = 0; column < 16; column++) { + unsigned int glyphIndex = (row * 16) + column; + + for (unsigned int glyphTile = 0; glyphTile < 2; glyphTile++) { + unsigned int pixelsX = column * 8; + unsigned int destPixelsOffset = 512 * (glyphIndex >> 4) + 16 * (glyphIndex & 0xF) + 256 * glyphTile; + + for (unsigned int i = 0; i < 8; i++) { + unsigned int pixelsY = (row * 16) + (glyphTile * 8) + i; + unsigned int srcPixelsOffset = (pixelsY * 32) + (pixelsX / 4); + + dest[destPixelsOffset] = src[srcPixelsOffset + 1]; + dest[destPixelsOffset + 1] = src[srcPixelsOffset]; + + destPixelsOffset += 2; + } + } + } + } +} + +static void ConvertFromFullwidthJapaneseFont(unsigned char *src, unsigned char *dest, unsigned int numRows) +{ + for (unsigned int row = 0; row < numRows; row++) { + for (unsigned int column = 0; column < 16; column++) { + unsigned int glyphIndex = (row * 16) + column; + + for (unsigned int glyphTile = 0; glyphTile < 4; glyphTile++) { + unsigned int pixelsX = (column * 16) + ((glyphTile & 1) * 8); + unsigned int srcPixelsOffset = 512 * (glyphIndex >> 3) + 32 * (glyphIndex & 7) + 256 * (glyphTile >> 1) + 16 * (glyphTile & 1); + + for (unsigned int i = 0; i < 8; i++) { + unsigned int pixelsY = (row * 16) + ((glyphTile >> 1) * 8) + i; + unsigned int destPixelsOffset = (pixelsY * 64) + (pixelsX / 4); + + dest[destPixelsOffset] = src[srcPixelsOffset + 1]; + dest[destPixelsOffset + 1] = src[srcPixelsOffset]; + + srcPixelsOffset += 2; + } + } + } + } +} + +static void ConvertToFullwidthJapaneseFont(unsigned char *src, unsigned char *dest, unsigned int numRows) +{ + for (unsigned int row = 0; row < numRows; row++) { + for (unsigned int column = 0; column < 16; column++) { + unsigned int glyphIndex = (row * 16) + column; + + for (unsigned int glyphTile = 0; glyphTile < 4; glyphTile++) { + unsigned int pixelsX = (column * 16) + ((glyphTile & 1) * 8); + unsigned int destPixelsOffset = 512 * (glyphIndex >> 3) + 32 * (glyphIndex & 7) + 256 * (glyphTile >> 1) + 16 * (glyphTile & 1); + + for (unsigned int i = 0; i < 8; i++) { + unsigned int pixelsY = (row * 16) + ((glyphTile >> 1) * 8) + i; + unsigned int srcPixelsOffset = (pixelsY * 64) + (pixelsX / 4); + + dest[destPixelsOffset] = src[srcPixelsOffset + 1]; + dest[destPixelsOffset + 1] = src[srcPixelsOffset]; + + destPixelsOffset += 2; + } + } + } + } +} + +static void SetFontPalette(struct Image *image) +{ + image->hasPalette = true; + + image->palette.numColors = 4; + + for (int i = 0; i < image->palette.numColors; i++) { + image->palette.colors[i].red = gFontPalette[i][0]; + image->palette.colors[i].green = gFontPalette[i][1]; + image->palette.colors[i].blue = gFontPalette[i][2]; + } + + image->hasTransparency = false; +} + +void ReadLatinFont(char *path, struct Image *image) +{ + int fileSize; + unsigned char *buffer = ReadWholeFile(path, &fileSize); + + int numGlyphs = fileSize / 64; + + if (numGlyphs % 16 != 0) + FATAL_ERROR("The number of glyphs (%d) is not a multiple of 16.\n", numGlyphs); + + int numRows = numGlyphs / 16; + + image->width = 256; + image->height = numRows * 16; + image->bitDepth = 2; + image->pixels = malloc(fileSize); + + if (image->pixels == NULL) + FATAL_ERROR("Failed to allocate memory for font.\n"); + + ConvertFromLatinFont(buffer, image->pixels, numRows); + + free(buffer); + + SetFontPalette(image); +} + +void WriteLatinFont(char *path, struct Image *image) +{ + if (image->width != 256) + FATAL_ERROR("The width of the font image (%d) is not 256.\n", image->width); + + if (image->height % 16 != 0) + FATAL_ERROR("The height of the font image (%d) is not a multiple of 16.\n", image->height); + + int numRows = image->height / 16; + int bufferSize = numRows * 16 * 64; + unsigned char *buffer = malloc(bufferSize); + + if (buffer == NULL) + FATAL_ERROR("Failed to allocate memory for font.\n"); + + ConvertToLatinFont(image->pixels, buffer, numRows); + + WriteWholeFile(path, buffer, bufferSize); + + free(buffer); +} + +void ReadHalfwidthJapaneseFont(char *path, struct Image *image) +{ + int fileSize; + unsigned char *buffer = ReadWholeFile(path, &fileSize); + + int glyphSize = 32; + + if (fileSize % glyphSize != 0) + FATAL_ERROR("The file size (%d) is not a multiple of %d.\n", fileSize, glyphSize); + + int numGlyphs = fileSize / glyphSize; + + if (numGlyphs % 16 != 0) + FATAL_ERROR("The number of glyphs (%d) is not a multiple of 16.\n", numGlyphs); + + int numRows = numGlyphs / 16; + + image->width = 128; + image->height = numRows * 16; + image->bitDepth = 2; + image->pixels = malloc(fileSize); + + if (image->pixels == NULL) + FATAL_ERROR("Failed to allocate memory for font.\n"); + + ConvertFromHalfwidthJapaneseFont(buffer, image->pixels, numRows); + + free(buffer); + + SetFontPalette(image); +} + +void WriteHalfwidthJapaneseFont(char *path, struct Image *image) +{ + if (image->width != 128) + FATAL_ERROR("The width of the font image (%d) is not 128.\n", image->width); + + if (image->height % 16 != 0) + FATAL_ERROR("The height of the font image (%d) is not a multiple of 16.\n", image->height); + + int numRows = image->height / 16; + int bufferSize = numRows * 16 * 32; + unsigned char *buffer = malloc(bufferSize); + + if (buffer == NULL) + FATAL_ERROR("Failed to allocate memory for font.\n"); + + ConvertToHalfwidthJapaneseFont(image->pixels, buffer, numRows); + + WriteWholeFile(path, buffer, bufferSize); + + free(buffer); +} + +void ReadFullwidthJapaneseFont(char *path, struct Image *image) +{ + int fileSize; + unsigned char *buffer = ReadWholeFile(path, &fileSize); + + int numGlyphs = fileSize / 64; + + if (numGlyphs % 16 != 0) + FATAL_ERROR("The number of glyphs (%d) is not a multiple of 16.\n", numGlyphs); + + int numRows = numGlyphs / 16; + + image->width = 256; + image->height = numRows * 16; + image->bitDepth = 2; + image->pixels = malloc(fileSize); + + if (image->pixels == NULL) + FATAL_ERROR("Failed to allocate memory for font.\n"); + + ConvertFromFullwidthJapaneseFont(buffer, image->pixels, numRows); + + free(buffer); + + SetFontPalette(image); +} + +void WriteFullwidthJapaneseFont(char *path, struct Image *image) +{ + if (image->width != 256) + FATAL_ERROR("The width of the font image (%d) is not 256.\n", image->width); + + if (image->height % 16 != 0) + FATAL_ERROR("The height of the font image (%d) is not a multiple of 16.\n", image->height); + + int numRows = image->height / 16; + int bufferSize = numRows * 16 * 64; + unsigned char *buffer = malloc(bufferSize); + + if (buffer == NULL) + FATAL_ERROR("Failed to allocate memory for font.\n"); + + ConvertToFullwidthJapaneseFont(image->pixels, buffer, numRows); + + WriteWholeFile(path, buffer, bufferSize); + + free(buffer); +} diff --git a/tools/gbagfx/font.h b/tools/gbagfx/font.h new file mode 100644 index 0000000000..45086d02ac --- /dev/null +++ b/tools/gbagfx/font.h @@ -0,0 +1,16 @@ +// Copyright (c) 2015 YamaArashi + +#ifndef FONT_H +#define FONT_H + +#include +#include "gfx.h" + +void ReadLatinFont(char *path, struct Image *image); +void WriteLatinFont(char *path, struct Image *image); +void ReadHalfwidthJapaneseFont(char *path, struct Image *image); +void WriteHalfwidthJapaneseFont(char *path, struct Image *image); +void ReadFullwidthJapaneseFont(char *path, struct Image *image); +void WriteFullwidthJapaneseFont(char *path, struct Image *image); + +#endif // FONT_H diff --git a/tools/gbagfx/gfx.c b/tools/gbagfx/gfx.c new file mode 100644 index 0000000000..c0f7f492c3 --- /dev/null +++ b/tools/gbagfx/gfx.c @@ -0,0 +1,329 @@ +// Copyright (c) 2015 YamaArashi + +#include +#include +#include +#include +#include "global.h" +#include "gfx.h" +#include "util.h" + +#define GET_GBA_PAL_RED(x) (((x) >> 0) & 0x1F) +#define GET_GBA_PAL_GREEN(x) (((x) >> 5) & 0x1F) +#define GET_GBA_PAL_BLUE(x) (((x) >> 10) & 0x1F) + +#define SET_GBA_PAL(r, g, b) (((b) << 10) | ((g) << 5) | (r)) + +#define UPCONVERT_BIT_DEPTH(x) (((x) * 255) / 31) + +#define DOWNCONVERT_BIT_DEPTH(x) ((x) / 8) + +static void ConvertFromTiles1Bpp(unsigned char *src, unsigned char *dest, int numTiles, int tilesWidth, bool invertColors) +{ + int tilesX = 0; + int tilesY = 0; + int pitch = tilesWidth; + + for (int i = 0; i < numTiles; i++) { + for (int j = 0; j < 8; j++) { + int destY = tilesY * 8 + j; + int destX = tilesX; + unsigned char srcPixelOctet = *src++; + unsigned char *destPixelOctet = &dest[destY * pitch + destX]; + + for (int k = 0; k < 8; k++) { + *destPixelOctet <<= 1; + *destPixelOctet |= (srcPixelOctet & 1) ^ invertColors; + srcPixelOctet >>= 1; + } + } + + tilesX++; + + if (tilesX == tilesWidth) { + tilesX = 0; + tilesY++; + } + } +} + +static void ConvertFromTiles4Bpp(unsigned char *src, unsigned char *dest, int numTiles, int tilesWidth, bool invertColors) +{ + int tilesX = 0; + int tilesY = 0; + int pitch = tilesWidth * 4; + + for (int i = 0; i < numTiles; i++) { + for (int j = 0; j < 8; j++) { + int destY = tilesY * 8 + j; + + for (int k = 0; k < 4; k++) { + int destX = tilesX * 4 + k; + unsigned char srcPixelPair = *src++; + unsigned char leftPixel = srcPixelPair & 0xF; + unsigned char rightPixel = srcPixelPair >> 4; + + if (invertColors) { + leftPixel = 15 - leftPixel; + rightPixel = 15 - rightPixel; + } + + dest[destY * pitch + destX] = (leftPixel << 4) | rightPixel; + } + } + + tilesX++; + + if (tilesX == tilesWidth) { + tilesX = 0; + tilesY++; + } + } +} + +static void ConvertFromTiles8Bpp(unsigned char *src, unsigned char *dest, int numTiles, int tilesWidth, bool invertColors) +{ + int tilesX = 0; + int tilesY = 0; + int pitch = tilesWidth * 8; + + for (int i = 0; i < numTiles; i++) { + for (int j = 0; j < 8; j++) { + int destY = tilesY * 8 + j; + + for (int k = 0; k < 8; k++) { + int destX = tilesX * 8 + k; + unsigned char srcPixel = *src++; + + if (invertColors) + srcPixel = 255 - srcPixel; + + dest[destY * pitch + destX] = srcPixel; + } + } + + tilesX++; + + if (tilesX == tilesWidth) { + tilesX = 0; + tilesY++; + } + } +} + +static void ConvertToTiles1Bpp(unsigned char *src, unsigned char *dest, int numTiles, int tilesWidth, bool invertColors) +{ + int tilesX = 0; + int tilesY = 0; + int pitch = tilesWidth; + + for (int i = 0; i < numTiles; i++) { + for (int j = 0; j < 8; j++) { + int srcY = tilesY * 8 + j; + int srcX = tilesX; + unsigned char srcPixelOctet = src[srcY * pitch + srcX]; + unsigned char *destPixelOctet = dest++; + + for (int k = 0; k < 8; k++) { + *destPixelOctet <<= 1; + *destPixelOctet |= (srcPixelOctet & 1) ^ invertColors; + srcPixelOctet >>= 1; + } + } + + tilesX++; + + if (tilesX == tilesWidth) { + tilesX = 0; + tilesY++; + } + } +} + +static void ConvertToTiles4Bpp(unsigned char *src, unsigned char *dest, int numTiles, int tilesWidth, bool invertColors) +{ + int tilesX = 0; + int tilesY = 0; + int pitch = tilesWidth * 4; + + for (int i = 0; i < numTiles; i++) { + for (int j = 0; j < 8; j++) { + int srcY = tilesY * 8 + j; + + for (int k = 0; k < 4; k++) { + int srcX = tilesX * 4 + k; + unsigned char srcPixelPair = src[srcY * pitch + srcX]; + unsigned char leftPixel = srcPixelPair >> 4; + unsigned char rightPixel = srcPixelPair & 0xF; + + if (invertColors) { + leftPixel = 15 - leftPixel; + rightPixel = 15 - rightPixel; + } + + *dest++ = (rightPixel << 4) | leftPixel; + } + } + + tilesX++; + + if (tilesX == tilesWidth) { + tilesX = 0; + tilesY++; + } + } +} + +static void ConvertToTiles8Bpp(unsigned char *src, unsigned char *dest, int numTiles, int tilesWidth, bool invertColors) +{ + int tilesX = 0; + int tilesY = 0; + int pitch = tilesWidth * 8; + + for (int i = 0; i < numTiles; i++) { + for (int j = 0; j < 8; j++) { + int srcY = tilesY * 8 + j; + + for (int k = 0; k < 8; k++) { + int srcX = tilesX * 8 + k; + unsigned char srcPixel = src[srcY * pitch + srcX]; + + if (invertColors) + srcPixel = 255 - srcPixel; + + *dest++ = srcPixel; + } + } + + tilesX++; + + if (tilesX == tilesWidth) { + tilesX = 0; + tilesY++; + } + } +} + +void ReadImage(char *path, int tilesWidth, int bitDepth, struct Image *image, bool invertColors) +{ + int tileSize = bitDepth * 8; + + int fileSize; + unsigned char *buffer = ReadWholeFile(path, &fileSize); + + int numTiles = fileSize / tileSize; + + int tilesHeight = (numTiles + tilesWidth - 1) / tilesWidth; + + image->width = tilesWidth * 8; + image->height = tilesHeight * 8; + image->bitDepth = bitDepth; + image->pixels = calloc(tilesWidth * tilesHeight, tileSize); + + if (image->pixels == NULL) + FATAL_ERROR("Failed to allocate memory for pixels.\n"); + + switch (bitDepth) { + case 1: + ConvertFromTiles1Bpp(buffer, image->pixels, numTiles, tilesWidth, invertColors); + break; + case 4: + ConvertFromTiles4Bpp(buffer, image->pixels, numTiles, tilesWidth, invertColors); + break; + case 8: + ConvertFromTiles8Bpp(buffer, image->pixels, numTiles, tilesWidth, invertColors); + break; + } + + free(buffer); +} + +void WriteImage(char *path, int numTiles, int bitDepth, struct Image *image, bool invertColors) +{ + int tileSize = bitDepth * 8; + + if (image->width % 8 != 0) + FATAL_ERROR("The width in pixels (%d) isn't a multiple of 8.\n", image->width); + + if (image->height % 8 != 0) + FATAL_ERROR("The height in pixels (%d) isn't a multiple of 8.\n", image->height); + + int tilesWidth = image->width / 8; + int tilesHeight = image->height / 8; + + int maxNumTiles = tilesWidth * tilesHeight; + + if (numTiles == 0) + numTiles = maxNumTiles; + else if (numTiles > maxNumTiles) + FATAL_ERROR("The specified number of tiles (%d) is greater than the maximum possible value (%d).\n", numTiles, maxNumTiles); + + int bufferSize = numTiles * tileSize; + unsigned char *buffer = malloc(bufferSize); + + if (buffer == NULL) + FATAL_ERROR("Failed to allocate memory for pixels.\n"); + + switch (bitDepth) { + case 1: + ConvertToTiles1Bpp(image->pixels, buffer, numTiles, tilesWidth, invertColors); + break; + case 4: + ConvertToTiles4Bpp(image->pixels, buffer, numTiles, tilesWidth, invertColors); + break; + case 8: + ConvertToTiles8Bpp(image->pixels, buffer, numTiles, tilesWidth, invertColors); + break; + } + + WriteWholeFile(path, buffer, bufferSize); + + free(buffer); +} + +void FreeImage(struct Image *image) +{ + free(image->pixels); + image->pixels = NULL; +} + +void ReadGbaPalette(char *path, struct Palette *palette) +{ + int fileSize; + unsigned char *data = ReadWholeFile(path, &fileSize); + + if (fileSize % 2 != 0) + FATAL_ERROR("The file size (%d) is not a multiple of 2.\n", fileSize); + + palette->numColors = fileSize / 2; + + for (int i = 0; i < palette->numColors; i++) { + uint16_t paletteEntry = (data[i * 2 + 1] << 8) | data[i * 2]; + palette->colors[i].red = UPCONVERT_BIT_DEPTH(GET_GBA_PAL_RED(paletteEntry)); + palette->colors[i].green = UPCONVERT_BIT_DEPTH(GET_GBA_PAL_GREEN(paletteEntry)); + palette->colors[i].blue = UPCONVERT_BIT_DEPTH(GET_GBA_PAL_BLUE(paletteEntry)); + } + + free(data); +} + +void WriteGbaPalette(char *path, struct Palette *palette) +{ + FILE *fp = fopen(path, "wb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for writing.\n", path); + + for (int i = 0; i < palette->numColors; i++) { + unsigned char red = DOWNCONVERT_BIT_DEPTH(palette->colors[i].red); + unsigned char green = DOWNCONVERT_BIT_DEPTH(palette->colors[i].green); + unsigned char blue = DOWNCONVERT_BIT_DEPTH(palette->colors[i].blue); + + uint16_t paletteEntry = SET_GBA_PAL(red, green, blue); + + fputc(paletteEntry & 0xFF, fp); + fputc(paletteEntry >> 8, fp); + } + + fclose(fp); +} diff --git a/tools/gbagfx/gfx.h b/tools/gbagfx/gfx.h new file mode 100644 index 0000000000..ecd436652e --- /dev/null +++ b/tools/gbagfx/gfx.h @@ -0,0 +1,36 @@ +// Copyright (c) 2015 YamaArashi + +#ifndef GFX_H +#define GFX_H + +#include +#include + +struct Color { + unsigned char red; + unsigned char green; + unsigned char blue; +}; + +struct Palette { + struct Color colors[256]; + int numColors; +}; + +struct Image { + int width; + int height; + int bitDepth; + unsigned char *pixels; + bool hasPalette; + struct Palette palette; + bool hasTransparency; +}; + +void ReadImage(char *path, int tilesWidth, int bitDepth, struct Image *image, bool invertColors); +void WriteImage(char *path, int numTiles, int bitDepth, struct Image *image, bool invertColors); +void FreeImage(struct Image *image); +void ReadGbaPalette(char *path, struct Palette *palette); +void WriteGbaPalette(char *path, struct Palette *palette); + +#endif // GFX_H diff --git a/tools/gbagfx/global.h b/tools/gbagfx/global.h new file mode 100644 index 0000000000..65dd351d21 --- /dev/null +++ b/tools/gbagfx/global.h @@ -0,0 +1,31 @@ +// Copyright (c) 2015 YamaArashi + +#ifndef GLOBAL_H +#define GLOBAL_H + +#include +#include + +#ifdef _MSC_VER + +#define FATAL_ERROR(format, ...) \ +do { \ + fprintf(stderr, format, __VA_ARGS__); \ + exit(1); \ +} while (0) + +#define UNUSED + +#else + +#define FATAL_ERROR(format, ...) \ +do { \ + fprintf(stderr, format, ##__VA_ARGS__); \ + exit(1); \ +} while (0) + +#define UNUSED __attribute__((__unused__)) + +#endif // _MSC_VER + +#endif // GLOBAL_H diff --git a/tools/gbagfx/jasc_pal.c b/tools/gbagfx/jasc_pal.c new file mode 100644 index 0000000000..e5ba9c3c2f --- /dev/null +++ b/tools/gbagfx/jasc_pal.c @@ -0,0 +1,172 @@ +// Copyright (c) 2015 YamaArashi + +#include +#include +#include "global.h" +#include "gfx.h" +#include "util.h" + +// Read/write Paint Shop Pro palette files. + +// Format of a Paint Shop Pro palette file, line by line: +// "JASC-PAL\r\n" (signature) +// "0100\r\n" (version; seems to always be "0100") +// "\r\n" (number of colors in decimal) +// +// times: +// " \r\n" (color entry) +// +// Each color component is a decimal number from 0 to 255. +// Examples: +// Black - "0 0 0\r\n" +// Blue - "0 0 255\r\n" +// Brown - "150 75 0\r\n" + +#define MAX_LINE_LENGTH 11 + +void ReadJascPaletteLine(FILE *fp, char *line) +{ + int c; + int length = 0; + + for (;;) + { + c = fgetc(fp); + + if (c == '\r') + { + c = fgetc(fp); + + if (c != '\n') + FATAL_ERROR("CR line endings aren't supported.\n"); + + line[length] = 0; + + return; + } + + if (c == '\n') + FATAL_ERROR("LF line endings aren't supported.\n"); + + if (c == EOF) + FATAL_ERROR("Unexpected EOF. No CRLF at end of file.\n"); + + if (c == 0) + FATAL_ERROR("NUL character in file.\n"); + + if (length == MAX_LINE_LENGTH) + { + line[length] = 0; + FATAL_ERROR("The line \"%s\" is too long.\n", line); + } + + line[length++] = c; + } +} + +void ReadJascPalette(char *path, struct Palette *palette) +{ + char line[MAX_LINE_LENGTH + 1]; + + FILE *fp = fopen(path, "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open JASC-PAL file \"%s\" for reading.\n", path); + + ReadJascPaletteLine(fp, line); + + if (strcmp(line, "JASC-PAL") != 0) + FATAL_ERROR("Invalid JASC-PAL signature.\n"); + + ReadJascPaletteLine(fp, line); + + if (strcmp(line, "0100") != 0) + FATAL_ERROR("Unsuported JASC-PAL version.\n"); + + ReadJascPaletteLine(fp, line); + + if (!ParseNumber(line, NULL, 10, &palette->numColors)) + FATAL_ERROR("Failed to parse number of colors.\n"); + + if (palette->numColors < 1 || palette->numColors > 256) + FATAL_ERROR("%d is an invalid number of colors. The number of colors must be in the range [1, 256].\n", palette->numColors); + + for (int i = 0; i < palette->numColors; i++) + { + ReadJascPaletteLine(fp, line); + + char *s = line; + char *end; + + int red; + int green; + int blue; + + if (!ParseNumber(s, &end, 10, &red)) + FATAL_ERROR("Failed to parse red color component.\n"); + + s = end; + + if (*s != ' ') + FATAL_ERROR("Expected a space after red color component.\n"); + + s++; + + if (*s < '0' || *s > '9') + FATAL_ERROR("Expected only a space between red and green color components.\n"); + + if (!ParseNumber(s, &end, 10, &green)) + FATAL_ERROR("Failed to parse green color component.\n"); + + s = end; + + if (*s != ' ') + FATAL_ERROR("Expected a space after green color component.\n"); + + s++; + + if (*s < '0' || *s > '9') + FATAL_ERROR("Expected only a space between green and blue color components.\n"); + + if (!ParseNumber(s, &end, 10, &blue)) + FATAL_ERROR("Failed to parse blue color component.\n"); + + if (*end != 0) + FATAL_ERROR("Garbage after blue color component.\n"); + + if (red < 0 || red > 255) + FATAL_ERROR("Red color component (%d) is outside the range [0, 255].\n", red); + + if (green < 0 || green > 255) + FATAL_ERROR("Green color component (%d) is outside the range [0, 255].\n", green); + + if (blue < 0 || blue > 255) + FATAL_ERROR("Blue color component (%d) is outside the range [0, 255].\n", blue); + + palette->colors[i].red = red; + palette->colors[i].green = green; + palette->colors[i].blue = blue; + } + + if (fgetc(fp) != EOF) + FATAL_ERROR("Garbage after color data.\n"); + + fclose(fp); +} + +void WriteJascPalette(char *path, struct Palette *palette) +{ + FILE *fp = fopen(path, "wb"); + + fputs("JASC-PAL\r\n", fp); + fputs("0100\r\n", fp); + fprintf(fp, "%d\r\n", palette->numColors); + + for (int i = 0; i < palette->numColors; i++) + { + struct Color *color = &palette->colors[i]; + fprintf(fp, "%d %d %d\r\n", color->red, color->green, color->blue); + } + + fclose(fp); +} diff --git a/tools/gbagfx/jasc_pal.h b/tools/gbagfx/jasc_pal.h new file mode 100644 index 0000000000..b60b31fc8d --- /dev/null +++ b/tools/gbagfx/jasc_pal.h @@ -0,0 +1,9 @@ +// Copyright (c) 2015 YamaArashi + +#ifndef JASC_PAL_H +#define JASC_PAL_H + +void ReadJascPalette(char *path, struct Palette *palette); +void WriteJascPalette(char *path, struct Palette *palette); + +#endif // JASC_PAL_H diff --git a/tools/gbagfx/lz.c b/tools/gbagfx/lz.c new file mode 100644 index 0000000000..c2ba3e327b --- /dev/null +++ b/tools/gbagfx/lz.c @@ -0,0 +1,155 @@ +// Copyright (c) 2015 YamaArashi + +#include +#include +#include "global.h" +#include "lz.h" + +unsigned char *LZDecompress(unsigned char *src, int srcSize, int *uncompressedSize) +{ + if (srcSize < 4) + goto fail; + + int destSize = (src[3] << 16) | (src[2] << 8) | src[1]; + + unsigned char *dest = malloc(destSize); + + if (dest == NULL) + goto fail; + + int srcPos = 4; + int destPos = 0; + + for (;;) { + if (srcPos >= srcSize) + goto fail; + + unsigned char flags = src[srcPos++]; + + for (int i = 0; i < 8; i++) { + if (flags & 0x80) { + if (srcPos + 1 >= srcSize) + goto fail; + + int blockSize = (src[srcPos] >> 4) + 3; + int blockDistance = (((src[srcPos] & 0xF) << 8) | src[srcPos + 1]) + 1; + + srcPos += 2; + + int blockPos = destPos - blockDistance; + + // Some Ruby/Sapphire tilesets overflow. + if (destPos + blockSize > destSize) { + blockSize = destSize - destPos; + fprintf(stderr, "Destination buffer overflow.\n"); + } + + if (blockPos < 0) + goto fail; + + for (int j = 0; j < blockSize; j++) + dest[destPos++] = dest[blockPos + j]; + } else { + if (srcPos >= srcSize || destPos >= destSize) + goto fail; + + dest[destPos++] = src[srcPos++]; + } + + if (destPos == destSize) { + *uncompressedSize = destSize; + return dest; + } + + flags <<= 1; + } + } + +fail: + FATAL_ERROR("Fatal error while decompressing LZ file.\n"); +} + +unsigned char *LZCompress(unsigned char *src, int srcSize, int *compressedSize) +{ + const int minDistance = 2; // for compatibility with LZ77UnCompVram() + + if (srcSize <= 0) + goto fail; + + int worstCaseDestSize = 4 + srcSize + ((srcSize + 7) / 8); + + // Round up to the next multiple of four. + worstCaseDestSize = (worstCaseDestSize + 3) & ~3; + + unsigned char *dest = malloc(worstCaseDestSize); + + if (dest == NULL) + goto fail; + + // header + dest[0] = 0x10; // LZ compression type + dest[1] = (unsigned char)srcSize; + dest[2] = (unsigned char)(srcSize >> 8); + dest[3] = (unsigned char)(srcSize >> 16); + + int srcPos = 0; + int destPos = 4; + + for (;;) { + unsigned char *flags = &dest[destPos++]; + *flags = 0; + + for (int i = 0; i < 8; i++) { + int bestBlockDistance = 0; + int bestBlockSize = 0; + int blockDistance = minDistance; + + while (blockDistance <= srcPos && blockDistance <= 0x1000) { + int blockStart = srcPos - blockDistance; + int blockSize = 0; + + while (blockSize < 18 + && srcPos + blockSize < srcSize + && src[blockStart + blockSize] == src[srcPos + blockSize]) + blockSize++; + + if (blockSize > bestBlockSize) { + bestBlockDistance = blockDistance; + bestBlockSize = blockSize; + + if (blockSize == 18) + break; + } + + blockDistance++; + } + + if (bestBlockSize >= 3) { + *flags |= (0x80 >> i); + srcPos += bestBlockSize; + bestBlockSize -= 3; + bestBlockDistance--; + dest[destPos++] = (bestBlockSize << 4) | ((unsigned int)bestBlockDistance >> 8); + dest[destPos++] = (unsigned char)bestBlockDistance; + } else { + dest[destPos++] = src[srcPos++]; + } + + if (srcPos == srcSize) { + // Pad to multiple of 4 bytes. + int remainder = destPos % 4; + + if (remainder != 0) { + for (int i = 0; i < 4 - remainder; i++) + dest[destPos++] = 0; + } + + *compressedSize = destPos; + return dest; + } + } + } + +fail: + FATAL_ERROR("Fatal error while compressing LZ file.\n"); +} diff --git a/tools/gbagfx/lz.h b/tools/gbagfx/lz.h new file mode 100644 index 0000000000..164d62279a --- /dev/null +++ b/tools/gbagfx/lz.h @@ -0,0 +1,9 @@ +// Copyright (c) 2015 YamaArashi + +#ifndef LZ_H +#define LZ_H + +unsigned char *LZDecompress(unsigned char *src, int srcSize, int *uncompressedSize); +unsigned char *LZCompress(unsigned char *src, int srcSize, int *compressedSize); + +#endif // LZ_H diff --git a/tools/gbagfx/main.c b/tools/gbagfx/main.c new file mode 100644 index 0000000000..97db60e843 --- /dev/null +++ b/tools/gbagfx/main.c @@ -0,0 +1,402 @@ +// Copyright (c) 2015 YamaArashi + +#include +#include +#include +#include "global.h" +#include "util.h" +#include "gfx.h" +#include "convert_png.h" +#include "jasc_pal.h" +#include "lz.h" +#include "rl.h" +#include "font.h" + +struct CommandHandler +{ + const char *inputFileExtension; + const char *outputFileExtension; + void(*function)(char *inputPath, char *outputPath, int argc, char **argv); +}; + +void ConvertGbaToPng(char *inputPath, char *outputPath, int width, int bitDepth, char *paletteFilePath, bool hasTransparency) +{ + struct Image image; + + if (paletteFilePath != NULL) + { + ReadGbaPalette(paletteFilePath, &image.palette); + image.hasPalette = true; + } + else + { + image.hasPalette = false; + } + + ReadImage(inputPath, width, bitDepth, &image, !image.hasPalette); + + image.hasTransparency = hasTransparency; + + WritePng(outputPath, &image); + + FreeImage(&image); +} + +void ConvertPngToGba(char *inputPath, char *outputPath, int numTiles, int bitDepth) +{ + struct Image image; + + image.bitDepth = bitDepth; + + ReadPng(inputPath, &image); + + WriteImage(outputPath, numTiles, bitDepth, &image, !image.hasPalette); + + FreeImage(&image); +} + +void HandleGbaToPngCommand(char *inputPath, char *outputPath, int argc, char **argv) +{ + char *inputFileExtension = GetFileExtension(inputPath); + int bitDepth = inputFileExtension[0] - '0'; + char *paletteFilePath = NULL; + bool hasTransparency = false; + int width = 1; + + for (int i = 3; i < argc; i++) + { + char *option = argv[i]; + + if (strcmp(option, "-palette") == 0) + { + if (i + 1 >= argc) + FATAL_ERROR("No palette file path following \"-palette\".\n"); + + i++; + + paletteFilePath = argv[i]; + } + else if (strcmp(option, "-object") == 0) + { + hasTransparency = true; + } + else if (strcmp(option, "-width") == 0) + { + if (i + 1 >= argc) + FATAL_ERROR("No width following \"-width\".\n"); + + i++; + + if (!ParseNumber(argv[i], NULL, 10, &width)) + FATAL_ERROR("Failed to parse width.\n"); + + if (width < 1) + FATAL_ERROR("Width must be positive.\n"); + } + else + { + FATAL_ERROR("Unrecognized option \"%s\".\n", option); + } + } + + ConvertGbaToPng(inputPath, outputPath, width, bitDepth, paletteFilePath, hasTransparency); +} + +void HandlePngToGbaCommand(char *inputPath, char *outputPath, int argc, char **argv) +{ + char *outputFileExtension = GetFileExtension(outputPath); + int bitDepth = outputFileExtension[0] - '0'; + int numTiles = 0; + + for (int i = 3; i < argc; i++) + { + char *option = argv[i]; + + if (strcmp(option, "-num_tiles") == 0) + { + if (i + 1 >= argc) + FATAL_ERROR("No number of tiles following \"-num_tiles\".\n"); + + i++; + + if (!ParseNumber(argv[i], NULL, 10, &numTiles)) + FATAL_ERROR("Failed to parse number of tiles.\n"); + + if (numTiles < 1) + FATAL_ERROR("Number of tiles must be positive.\n"); + } + else + { + FATAL_ERROR("Unrecognized option \"%s\".\n", option); + } + } + + ConvertPngToGba(inputPath, outputPath, numTiles, bitDepth); +} + +void HandlePngToGbaPaletteCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) +{ + struct Palette palette; + + ReadPngPalette(inputPath, &palette); + WriteGbaPalette(outputPath, &palette); +} + +void HandleGbaToJascPaletteCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) +{ + struct Palette palette; + + ReadGbaPalette(inputPath, &palette); + WriteJascPalette(outputPath, &palette); +} + +void HandleJascToGbaPaletteCommand(char *inputPath, char *outputPath, int argc, char **argv) +{ + int numColors = 0; + + for (int i = 3; i < argc; i++) + { + char *option = argv[i]; + + if (strcmp(option, "-num_colors") == 0) + { + if (i + 1 >= argc) + FATAL_ERROR("No number of colors following \"-num_colors\".\n"); + + i++; + + if (!ParseNumber(argv[i], NULL, 10, &numColors)) + FATAL_ERROR("Failed to parse number of colors.\n"); + + if (numColors < 1) + FATAL_ERROR("Number of colors must be positive.\n"); + } + else + { + FATAL_ERROR("Unrecognized option \"%s\".\n", option); + } + } + + struct Palette palette; + + ReadJascPalette(inputPath, &palette); + + if (numColors != 0) + palette.numColors = numColors; + + WriteGbaPalette(outputPath, &palette); +} + +void HandleLatinFontToPngCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) +{ + struct Image image; + + ReadLatinFont(inputPath, &image); + WritePng(outputPath, &image); + + FreeImage(&image); +} + +void HandlePngToLatinFontCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) +{ + struct Image image; + + image.bitDepth = 2; + + ReadPng(inputPath, &image); + WriteLatinFont(outputPath, &image); + + FreeImage(&image); +} + +void HandleHalfwidthJapaneseFontToPngCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) +{ + struct Image image; + + ReadHalfwidthJapaneseFont(inputPath, &image); + WritePng(outputPath, &image); + + FreeImage(&image); +} + +void HandlePngToHalfwidthJapaneseFontCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) +{ + struct Image image; + + image.bitDepth = 2; + + ReadPng(inputPath, &image); + WriteHalfwidthJapaneseFont(outputPath, &image); + + FreeImage(&image); +} + +void HandleFullwidthJapaneseFontToPngCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) +{ + struct Image image; + + ReadFullwidthJapaneseFont(inputPath, &image); + WritePng(outputPath, &image); + + FreeImage(&image); +} + +void HandlePngToFullwidthJapaneseFontCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) +{ + struct Image image; + + image.bitDepth = 2; + + ReadPng(inputPath, &image); + WriteFullwidthJapaneseFont(outputPath, &image); + + FreeImage(&image); +} + +void HandleLZCompressCommand(char *inputPath, char *outputPath, int argc, char **argv) +{ + int overflowSize = 0; + + for (int i = 3; i < argc; i++) + { + char *option = argv[i]; + + if (strcmp(option, "-overflow") == 0) + { + if (i + 1 >= argc) + FATAL_ERROR("No size following \"-overflow\".\n"); + + i++; + + if (!ParseNumber(argv[i], NULL, 10, &overflowSize)) + FATAL_ERROR("Failed to parse overflow size.\n"); + + if (overflowSize < 1) + FATAL_ERROR("Overflow size must be positive.\n"); + } + else + { + FATAL_ERROR("Unrecognized option \"%s\".\n", option); + } + } + + // The overflow option allows a quirk in some of Ruby/Sapphire's tilesets + // to be reproduced. It works by appending a number of zeros to the data + // before compressing it and then amending the LZ header's size field to + // reflect the expected size. This will cause an overflow when decompressing + // the data. + + int fileSize; + unsigned char *buffer = ReadWholeFileZeroPadded(inputPath, &fileSize, overflowSize); + + int compressedSize; + unsigned char *compressedData = LZCompress(buffer, fileSize + overflowSize, &compressedSize); + + compressedData[1] = (unsigned char)fileSize; + compressedData[2] = (unsigned char)(fileSize >> 8); + compressedData[3] = (unsigned char)(fileSize >> 16); + + free(buffer); + + WriteWholeFile(outputPath, compressedData, compressedSize); + + free(compressedData); +} + +void HandleLZDecompressCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) +{ + int fileSize; + unsigned char *buffer = ReadWholeFile(inputPath, &fileSize); + + int uncompressedSize; + unsigned char *uncompressedData = LZDecompress(buffer, fileSize, &uncompressedSize); + + free(buffer); + + WriteWholeFile(outputPath, uncompressedData, uncompressedSize); + + free(uncompressedData); +} + +void HandleRLCompressCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) +{ + int fileSize; + unsigned char *buffer = ReadWholeFile(inputPath, &fileSize); + + int compressedSize; + unsigned char *compressedData = RLCompress(buffer, fileSize, &compressedSize); + + free(buffer); + + WriteWholeFile(outputPath, compressedData, compressedSize); + + free(compressedData); +} + +void HandleRLDecompressCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) +{ + int fileSize; + unsigned char *buffer = ReadWholeFile(inputPath, &fileSize); + + int uncompressedSize; + unsigned char *uncompressedData = RLDecompress(buffer, fileSize, &uncompressedSize); + + free(buffer); + + WriteWholeFile(outputPath, uncompressedData, uncompressedSize); + + free(uncompressedData); +} + +int main(int argc, char **argv) +{ + if (argc < 3) + FATAL_ERROR("Usage: gbagfx INPUT_PATH OUTPUT_PATH [options...]\n"); + + struct CommandHandler handlers[] = + { + { "1bpp", "png", HandleGbaToPngCommand }, + { "4bpp", "png", HandleGbaToPngCommand }, + { "8bpp", "png", HandleGbaToPngCommand }, + { "png", "1bpp", HandlePngToGbaCommand }, + { "png", "4bpp", HandlePngToGbaCommand }, + { "png", "8bpp", HandlePngToGbaCommand }, + { "png", "gbapal", HandlePngToGbaPaletteCommand }, + { "gbapal", "pal", HandleGbaToJascPaletteCommand }, + { "pal", "gbapal", HandleJascToGbaPaletteCommand }, + { "latfont", "png", HandleLatinFontToPngCommand }, + { "png", "latfont", HandlePngToLatinFontCommand }, + { "hwjpnfont", "png", HandleHalfwidthJapaneseFontToPngCommand }, + { "png", "hwjpnfont", HandlePngToHalfwidthJapaneseFontCommand }, + { "fwjpnfont", "png", HandleFullwidthJapaneseFontToPngCommand }, + { "png", "fwjpnfont", HandlePngToFullwidthJapaneseFontCommand }, + { NULL, "lz", HandleLZCompressCommand }, + { "lz", NULL, HandleLZDecompressCommand }, + { NULL, "rl", HandleRLCompressCommand }, + { "rl", NULL, HandleRLDecompressCommand }, + { NULL, NULL, NULL } + }; + + char *inputPath = argv[1]; + char *outputPath = argv[2]; + char *inputFileExtension = GetFileExtension(inputPath); + char *outputFileExtension = GetFileExtension(outputPath); + + if (inputFileExtension == NULL) + FATAL_ERROR("Input file \"%s\" has no extension.\n", inputPath); + + if (outputFileExtension == NULL) + FATAL_ERROR("Output file \"%s\" has no extension.\n", outputPath); + + for (int i = 0; handlers[i].function != NULL; i++) + { + if ((handlers[i].inputFileExtension == NULL || strcmp(handlers[i].inputFileExtension, inputFileExtension) == 0) + && (handlers[i].outputFileExtension == NULL || strcmp(handlers[i].outputFileExtension, outputFileExtension) == 0)) + { + handlers[i].function(inputPath, outputPath, argc, argv); + return 0; + } + } + + FATAL_ERROR("Don't know how to convert \"%s\" to \"%s\".\n", inputPath, outputPath); +} diff --git a/tools/gbagfx/rl.c b/tools/gbagfx/rl.c new file mode 100644 index 0000000000..968c9347eb --- /dev/null +++ b/tools/gbagfx/rl.c @@ -0,0 +1,149 @@ +// Copyright (c) 2016 YamaArashi + +#include +#include +#include "global.h" +#include "rl.h" + +unsigned char *RLDecompress(unsigned char *src, int srcSize, int *uncompressedSize) +{ + if (srcSize < 4) + goto fail; + + int destSize = (src[3] << 16) | (src[2] << 8) | src[1]; + + unsigned char *dest = malloc(destSize); + + if (dest == NULL) + goto fail; + + int srcPos = 4; + int destPos = 0; + + for (;;) + { + if (srcPos >= srcSize) + goto fail; + + unsigned char flags = src[srcPos++]; + bool compressed = ((flags & 0x80) != 0); + + if (compressed) + { + int length = (flags & 0x7F) + 3; + unsigned char data = src[srcPos++]; + + if (destPos + length > destSize) + goto fail; + + for (int i = 0; i < length; i++) + dest[destPos++] = data; + } + else + { + int length = (flags & 0x7F) + 1; + + if (destPos + length > destSize) + goto fail; + + for (int i = 0; i < length; i++) + dest[destPos++] = src[srcPos++]; + } + + if (destPos == destSize) + { + *uncompressedSize = destSize; + return dest; + } + } + +fail: + FATAL_ERROR("Fatal error while decompressing RL file.\n"); +} + +unsigned char *RLCompress(unsigned char *src, int srcSize, int *compressedSize) +{ + if (srcSize <= 0) + goto fail; + + int worstCaseDestSize = 4 + srcSize * 2; + + // Round up to the next multiple of four. + worstCaseDestSize = (worstCaseDestSize + 3) & ~3; + + unsigned char *dest = malloc(worstCaseDestSize); + + if (dest == NULL) + goto fail; + + // header + dest[0] = 0x30; // RL compression type + dest[1] = (unsigned char)srcSize; + dest[2] = (unsigned char)(srcSize >> 8); + dest[3] = (unsigned char)(srcSize >> 16); + + int srcPos = 0; + int destPos = 4; + + for (;;) + { + bool compress = false; + int uncompressedStart = srcPos; + int uncompressedLength = 0; + + while (srcPos < srcSize && uncompressedLength < (0x7F + 1)) + { + compress = (srcPos + 2 < srcSize && src[srcPos] == src[srcPos + 1] && src[srcPos] == src[srcPos + 2]); + + if (compress) + break; + + srcPos++; + uncompressedLength++; + } + + if (uncompressedLength > 0) + { + dest[destPos++] = uncompressedLength - 1; + + for (int i = 0; i < uncompressedLength; i++) + dest[destPos++] = src[uncompressedStart + i]; + } + + if (compress) + { + unsigned char data = src[srcPos]; + int compressedLength = 0; + + while (compressedLength < (0x7F + 3) + && srcPos + compressedLength < srcSize + && src[srcPos + compressedLength] == data) + { + compressedLength++; + } + + dest[destPos++] = 0x80 | (compressedLength - 3); + dest[destPos++] = data; + + srcPos += compressedLength; + } + + if (srcPos == srcSize) + { + // Pad to multiple of 4 bytes. + int remainder = destPos % 4; + + if (remainder != 0) + { + for (int i = 0; i < 4 - remainder; i++) + dest[destPos++] = 0; + } + + *compressedSize = destPos; + return dest; + } + } + +fail: + FATAL_ERROR("Fatal error while compressing RL file.\n"); +} diff --git a/tools/gbagfx/rl.h b/tools/gbagfx/rl.h new file mode 100644 index 0000000000..02ad8d6d3b --- /dev/null +++ b/tools/gbagfx/rl.h @@ -0,0 +1,9 @@ +// Copyright (c) 2016 YamaArashi + +#ifndef RL_H +#define RL_H + +unsigned char *RLDecompress(unsigned char *src, int srcSize, int *uncompressedSize); +unsigned char *RLCompress(unsigned char *src, int srcSize, int *compressedSize); + +#endif // RL_H diff --git a/tools/gbagfx/util.c b/tools/gbagfx/util.c new file mode 100644 index 0000000000..87abeb31c4 --- /dev/null +++ b/tools/gbagfx/util.c @@ -0,0 +1,124 @@ +// Copyright (c) 2015 YamaArashi + +#include +#include +#include +#include +#include +#include +#include "global.h" +#include "util.h" + +bool ParseNumber(char *s, char **end, int radix, int *intValue) +{ + char *localEnd; + + if (end == NULL) + end = &localEnd; + + errno = 0; + + const long longValue = strtol(s, end, radix); + + if (*end == s) + return false; // not a number + + if ((longValue == LONG_MIN || longValue == LONG_MAX) && errno == ERANGE) + return false; + + if (longValue > INT_MAX) + return false; + + if (longValue < INT_MIN) + return false; + + *intValue = (int)longValue; + + return true; +} + +char *GetFileExtension(char *path) +{ + char *extension = path; + + while (*extension != 0) + extension++; + + while (extension > path && *extension != '.') + extension--; + + if (extension == path) + return NULL; + + extension++; + + if (*extension == 0) + return NULL; + + return extension; +} + +unsigned char *ReadWholeFile(char *path, int *size) +{ + FILE *fp = fopen(path, "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for reading.\n", path); + + fseek(fp, 0, SEEK_END); + + *size = ftell(fp); + + unsigned char *buffer = malloc(*size); + + if (buffer == NULL) + FATAL_ERROR("Failed to allocate memory for reading \"%s\".\n", path); + + rewind(fp); + + if (fread(buffer, *size, 1, fp) != 1) + FATAL_ERROR("Failed to read \"%s\".\n", path); + + fclose(fp); + + return buffer; +} + +unsigned char *ReadWholeFileZeroPadded(char *path, int *size, int padAmount) +{ + FILE *fp = fopen(path, "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for reading.\n", path); + + fseek(fp, 0, SEEK_END); + + *size = ftell(fp); + + unsigned char *buffer = calloc(*size + padAmount, 1); + + if (buffer == NULL) + FATAL_ERROR("Failed to allocate memory for reading \"%s\".\n", path); + + rewind(fp); + + if (fread(buffer, *size, 1, fp) != 1) + FATAL_ERROR("Failed to read \"%s\".\n", path); + + fclose(fp); + + return buffer; +} + +void WriteWholeFile(char *path, void *buffer, int bufferSize) +{ + FILE *fp = fopen(path, "wb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for writing.\n", path); + + if (fwrite(buffer, bufferSize, 1, fp) != 1) + FATAL_ERROR("Failed to write to \"%s\".\n", path); + + fclose(fp); +} diff --git a/tools/gbagfx/util.h b/tools/gbagfx/util.h new file mode 100644 index 0000000000..6d7a9c21eb --- /dev/null +++ b/tools/gbagfx/util.h @@ -0,0 +1,14 @@ +// Copyright (c) 2015 YamaArashi + +#ifndef UTIL_H +#define UTIL_H + +#include + +bool ParseNumber(char *s, char **end, int radix, int *intValue); +char *GetFileExtension(char *path); +unsigned char *ReadWholeFile(char *path, int *size); +unsigned char *ReadWholeFileZeroPadded(char *path, int *size, int padAmount); +void WriteWholeFile(char *path, void *buffer, int bufferSize); + +#endif // UTIL_H diff --git a/tools/mid2agb/.gitignore b/tools/mid2agb/.gitignore new file mode 100644 index 0000000000..0e7264c86e --- /dev/null +++ b/tools/mid2agb/.gitignore @@ -0,0 +1 @@ +mid2agb diff --git a/tools/mid2agb/LICENSE b/tools/mid2agb/LICENSE new file mode 100644 index 0000000000..534d15349e --- /dev/null +++ b/tools/mid2agb/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2016 YamaArashi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/tools/mid2agb/Makefile b/tools/mid2agb/Makefile new file mode 100644 index 0000000000..f27f2cad40 --- /dev/null +++ b/tools/mid2agb/Makefile @@ -0,0 +1,15 @@ +CXX := g++ + +CXXFLAGS := -std=c++11 -O2 -s -Wall -Wno-switch -Werror + +SRCS := agb.cpp error.cpp main.cpp midi.cpp tables.cpp + +HEADERS := agb.h error.h main.h midi.h tables.h + +.PHONY: clean + +mid2agb: $(SRCS) $(HEADERS) + $(CXX) $(CXXFLAGS) $(SRCS) -o $@ $(LDFLAGS) + +clean: + $(RM) mid2agb mid2agb.exe diff --git a/tools/mid2agb/agb.cpp b/tools/mid2agb/agb.cpp new file mode 100644 index 0000000000..9ff1efa861 --- /dev/null +++ b/tools/mid2agb/agb.cpp @@ -0,0 +1,462 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include +#include +#include +#include +#include "agb.h" +#include "main.h" +#include "midi.h" +#include "tables.h" + +int g_agbTrack; + +static std::string s_lastOpName; +static int s_blockNum; +static bool s_keepLastOpName; +static int s_lastNote; +static int s_lastVelocity; +static bool s_noteChanged; +static bool s_velocityChanged; +static bool s_inPattern; +static int s_extendedCommand; + +void PrintAgbHeader() +{ + std::fprintf(g_outputFile, "\t.include \"MPlayDef.s\"\n\n"); + std::fprintf(g_outputFile, "\t.equ\t%s_grp, voicegroup%03u\n", g_asmLabel.c_str(), g_voiceGroup); + std::fprintf(g_outputFile, "\t.equ\t%s_pri, %u\n", g_asmLabel.c_str(), g_priority); + + if (g_reverb >= 0) + std::fprintf(g_outputFile, "\t.equ\t%s_rev, reverb_set+%u\n", g_asmLabel.c_str(), g_reverb); + else + std::fprintf(g_outputFile, "\t.equ\t%s_rev, 0\n", g_asmLabel.c_str()); + + std::fprintf(g_outputFile, "\t.equ\t%s_mvl, %u\n", g_asmLabel.c_str(), g_masterVolume); + std::fprintf(g_outputFile, "\t.equ\t%s_key, %u\n", g_asmLabel.c_str(), 0); + std::fprintf(g_outputFile, "\t.equ\t%s_tbs, %u\n", g_asmLabel.c_str(), g_clocksPerBeat); + std::fprintf(g_outputFile, "\t.equ\t%s_exg, %u\n", g_asmLabel.c_str(), g_exactGateTime); + std::fprintf(g_outputFile, "\t.equ\t%s_cmp, %u\n", g_asmLabel.c_str(), g_compressionEnabled); + + std::fprintf(g_outputFile, "\n\t.section .rodata\n"); + std::fprintf(g_outputFile, "\t.global\t%s\n", g_asmLabel.c_str()); + + std::fprintf(g_outputFile, "\t.align\t2\n"); +} + +void ResetTrackVars() +{ + s_lastVelocity = -1; + s_lastNote = -1; + s_velocityChanged = false; + s_noteChanged = false; + s_keepLastOpName = false; + s_lastOpName = ""; + s_inPattern = false; +} + +void PrintWait(int wait) +{ + if (wait > 0) + { + std::fprintf(g_outputFile, "\t.byte\tW%02d\n", wait); + s_velocityChanged = true; + s_noteChanged = true; + s_keepLastOpName = true; + } +} + +void PrintOp(int wait, std::string name, const char *format, ...) +{ + std::va_list args; + va_start(args, format); + std::fprintf(g_outputFile, "\t.byte\t\t"); + + if (format != nullptr) + { + if (!g_compressionEnabled || s_lastOpName != name) + { + std::fprintf(g_outputFile, "%s, ", name.c_str()); + s_lastOpName = name; + } + else + { + std::fprintf(g_outputFile, " "); + } + std::vfprintf(g_outputFile, format, args); + } + else + { + std::fputs(name.c_str(), g_outputFile); + s_lastOpName = name; + } + + std::fprintf(g_outputFile, "\n"); + + va_end(args); + + PrintWait(wait); +} + +void PrintByte(const char *format, ...) +{ + std::va_list args; + va_start(args, format); + std::fprintf(g_outputFile, "\t.byte\t"); + std::vfprintf(g_outputFile, format, args); + std::fprintf(g_outputFile, "\n"); + s_velocityChanged = true; + s_noteChanged = true; + s_keepLastOpName = true; + va_end(args); +} + +void PrintWord(const char *format, ...) +{ + std::va_list args; + va_start(args, format); + std::fprintf(g_outputFile, "\t .word\t"); + std::vfprintf(g_outputFile, format, args); + std::fprintf(g_outputFile, "\n"); + va_end(args); +} + +void PrintNote(const Event& event) +{ + int note = event.note; + int velocity = g_noteVelocityLUT[event.param1]; + int duration = -1; + + if (event.param2 != -1) + duration = g_noteDurationLUT[event.param2]; + + int gateTimeParam = 0; + + if (g_exactGateTime && duration != -1) + gateTimeParam = event.param2 - duration; + + char gtpBuf[16]; + + if (gateTimeParam > 0) + std::snprintf(gtpBuf, sizeof(gtpBuf), ", gtp%u", gateTimeParam); + else + gtpBuf[0] = 0; + + char opName[16]; + + if (duration == -1) + std::strcpy(opName, "TIE "); + else + std::snprintf(opName, sizeof(opName), "N%02u ", duration); + + bool noteChanged = true; + bool velocityChanged = true; + + if (g_compressionEnabled) + { + noteChanged = (note != s_lastNote); + velocityChanged = (velocity != s_lastVelocity); + } + + if (s_keepLastOpName) + s_keepLastOpName = false; + else + s_lastOpName = ""; + + if (noteChanged || velocityChanged || (gateTimeParam > 0)) + { + s_lastNote = note; + + char noteBuf[16]; + + if (note >= 24) + std::snprintf(noteBuf, sizeof(noteBuf), g_noteTable[note % 12], note / 12 - 2); + else + std::snprintf(noteBuf, sizeof(noteBuf), g_minusNoteTable[note % 12], note / -12 + 2); + + char velocityBuf[16]; + + if (velocityChanged || (gateTimeParam > 0)) + { + s_lastVelocity = velocity; + std::snprintf(velocityBuf, sizeof(velocityBuf), ", v%03u", velocity); + } + else + { + velocityBuf[0] = 0; + } + + PrintOp(event.time, opName, "%s%s%s", noteBuf, velocityBuf, gtpBuf); + } + else + { + PrintOp(event.time, opName, 0); + } + + s_noteChanged = noteChanged; + s_velocityChanged = velocityChanged; +} + +void PrintEndOfTieOp(const Event& event) +{ + int note = event.note; + bool noteChanged = (note != s_lastNote); + + if (!noteChanged || !s_noteChanged) + s_lastOpName = ""; + + if (!noteChanged && g_compressionEnabled) + { + PrintOp(event.time, "EOT ", nullptr); + } + else + { + s_lastNote = note; + if (note >= 24) + PrintOp(event.time, "EOT ", g_noteTable[note % 12], note / 12 - 2); + else + PrintOp(event.time, "EOT ", g_minusNoteTable[note % 12], note / -12 + 2); + } + + s_noteChanged = noteChanged; +} + +void PrintSeqLoopLabel(const Event& event) +{ + s_blockNum = event.param1 + 1; + std::fprintf(g_outputFile, "%s_%u_B%u:\n", g_asmLabel.c_str(), g_agbTrack, s_blockNum); + PrintWait(event.time); + ResetTrackVars(); +} + +void PrintExtendedOp(const Event& event) +{ + // TODO: support for other extended commands + + switch (s_extendedCommand) + { + case 0x08: + PrintOp(event.time, "XCMD ", "xIECV , %u", event.param2); + break; + case 0x09: + PrintOp(event.time, "XCMD ", "xIECL , %u", event.param2); + break; + default: + PrintWait(event.time); + break; + } +} + +void PrintControllerOp(const Event& event) +{ + switch (event.param1) + { + case 0x01: + PrintOp(event.time, "MOD ", "%u", event.param2); + break; + case 0x07: + PrintOp(event.time, "VOL ", "%u*%s_mvl/mxv", event.param2, g_asmLabel.c_str()); + break; + case 0x0A: + PrintOp(event.time, "PAN ", "c_v%+d", event.param2 - 64); + break; + case 0x0C: + case 0x10: + // TODO: memacc + break; + case 0x0D: + // TODO: memacc var + break; + case 0x0E: + // TODO: memacc var + break; + case 0x0F: + // TODO: memacc var + break; + case 0x11: + std::fprintf(g_outputFile, "%s_%u_L%u:\n", g_asmLabel.c_str(), g_agbTrack, event.param2); + PrintWait(event.time); + ResetTrackVars(); + break; + case 0x14: + PrintOp(event.time, "BENDR ", "%u", event.param2); + break; + case 0x15: + PrintOp(event.time, "LFOS ", "%u", event.param2); + break; + case 0x16: + PrintOp(event.time, "MODT ", "%u", event.param2); + break; + case 0x18: + PrintOp(event.time, "TUNE ", "c_v%+d", event.param2 - 64); + break; + case 0x1A: + PrintOp(event.time, "LFODL ", "%u", event.param2); + break; + case 0x1D: + case 0x1F: + PrintExtendedOp(event); + break; + case 0x1E: + s_extendedCommand = event.param2; + // TODO: loop op + break; + case 0x21: + case 0x27: + PrintByte("PRIO , %u", event.param2); + PrintWait(event.time); + break; + default: + PrintWait(event.time); + break; + } +} + +void PrintAgbTrack(std::vector& events) +{ + std::fprintf(g_outputFile, "\n@**************** Track %u (Midi-Chn.%u) ****************@\n\n", g_agbTrack, g_midiChan + 1); + std::fprintf(g_outputFile, "%s_%u:\n", g_asmLabel.c_str(), g_agbTrack); + PrintWait(g_initialWait); + PrintByte("KEYSH , %s_key%+d", g_asmLabel.c_str(), 0); + + int wholeNoteCount = 0; + int loopEndBlockNum = 0; + + ResetTrackVars(); + + bool foundVolBeforeNote = false; + + for (const Event& event : events) + { + if (event.type == EventType::Note) + break; + + if (event.type == EventType::Controller && event.param1 == 0x07) + { + foundVolBeforeNote = true; + break; + } + } + + if (!foundVolBeforeNote) + PrintByte("\tVOL , 127*%s_mvl/mxv", g_asmLabel.c_str()); + + for (unsigned i = 0; events[i].type != EventType::EndOfTrack; i++) + { + const Event& event = events[i]; + + if (IsPatternBoundary(event.type)) + { + if (s_inPattern) + PrintByte("PEND"); + s_inPattern = false; + } + + if (event.type == EventType::WholeNoteMark || event.type == EventType::Pattern) + std::fprintf(g_outputFile, "@ %03d ----------------------------------------\n", wholeNoteCount++); + + switch (event.type) + { + case EventType::Note: + PrintNote(event); + break; + case EventType::EndOfTie: + PrintEndOfTieOp(event); + break; + case EventType::Label: + PrintSeqLoopLabel(event); + break; + case EventType::LoopEnd: + PrintByte("GOTO"); + PrintWord("%s_%u_B%u", g_asmLabel.c_str(), g_agbTrack, loopEndBlockNum); + PrintSeqLoopLabel(event); + break; + case EventType::LoopEndBegin: + PrintByte("GOTO"); + PrintWord("%s_%u_B%u", g_asmLabel.c_str(), g_agbTrack, loopEndBlockNum); + PrintSeqLoopLabel(event); + loopEndBlockNum = s_blockNum; + break; + case EventType::LoopBegin: + PrintSeqLoopLabel(event); + loopEndBlockNum = s_blockNum; + break; + case EventType::WholeNoteMark: + if (event.param2 & 0x80000000) + { + std::fprintf(g_outputFile, "%s_%u_%03lu:\n", g_asmLabel.c_str(), g_agbTrack, (unsigned long)(event.param2 & 0x7FFFFFFF)); + ResetTrackVars(); + s_inPattern = true; + } + PrintWait(event.time); + break; + case EventType::Pattern: + PrintByte("PATT"); + PrintWord("%s_%u_%03lu", g_asmLabel.c_str(), g_agbTrack, event.param2); + + while (!IsPatternBoundary(events[i + 1].type)) + i++; + + ResetTrackVars(); + break; + case EventType::Tempo: + PrintByte("TEMPO , %u*%s_tbs/2", 60000000 / event.param2, g_asmLabel.c_str()); + PrintWait(event.time); + break; + case EventType::InstrumentChange: + PrintOp(event.time, "VOICE ", "%u", event.param1); + break; + case EventType::PitchBend: + PrintOp(event.time, "BEND ", "c_v%+d", event.param2 - 64); + break; + case EventType::Controller: + PrintControllerOp(event); + break; + default: + PrintWait(event.time); + break; + } + } + + PrintByte("FINE"); +} + +void PrintAgbFooter() +{ + int trackCount = g_agbTrack - 1; + + std::fprintf(g_outputFile, "\n@******************************************************@\n"); + std::fprintf(g_outputFile, "\t.align\t2\n"); + std::fprintf(g_outputFile, "\n%s:\n", g_asmLabel.c_str()); + std::fprintf(g_outputFile, "\t.byte\t%u\t@ NumTrks\n", trackCount); + std::fprintf(g_outputFile, "\t.byte\t%u\t@ NumBlks\n", 0); + std::fprintf(g_outputFile, "\t.byte\t%s_pri\t@ Priority\n", g_asmLabel.c_str()); + std::fprintf(g_outputFile, "\t.byte\t%s_rev\t@ Reverb.\n", g_asmLabel.c_str()); + std::fprintf(g_outputFile, "\n"); + std::fprintf(g_outputFile, "\t.word\t%s_grp\n", g_asmLabel.c_str()); + std::fprintf(g_outputFile, "\n"); + + // track pointers + for (int i = 1; i <= trackCount; i++) + std::fprintf(g_outputFile, "\t.word\t%s_%u\n", g_asmLabel.c_str(), i); + + std::fprintf(g_outputFile, "\n\t.end\n"); +} diff --git a/tools/mid2agb/agb.h b/tools/mid2agb/agb.h new file mode 100644 index 0000000000..7eab3c1433 --- /dev/null +++ b/tools/mid2agb/agb.h @@ -0,0 +1,33 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef AGB_H +#define AGB_H + +#include +#include "midi.h" + +void PrintAgbHeader(); +void PrintAgbTrack(std::vector& events); +void PrintAgbFooter(); + +extern int g_agbTrack; + +#endif // AGB_H diff --git a/tools/mid2agb/error.cpp b/tools/mid2agb/error.cpp new file mode 100644 index 0000000000..13e38ffa81 --- /dev/null +++ b/tools/mid2agb/error.cpp @@ -0,0 +1,36 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include +#include +#include + +// Reports an error diagnostic and terminates the program. +[[noreturn]] void RaiseError(const char* format, ...) +{ + const int bufferSize = 1024; + char buffer[bufferSize]; + std::va_list args; + va_start(args, format); + std::vsnprintf(buffer, bufferSize, format, args); + std::fprintf(stderr, "error: %s\n", buffer); + va_end(args); + std::exit(1); +} diff --git a/tools/mid2agb/error.h b/tools/mid2agb/error.h new file mode 100644 index 0000000000..da4f011427 --- /dev/null +++ b/tools/mid2agb/error.h @@ -0,0 +1,26 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef ERROR_H +#define ERROR_H + +[[noreturn]] void RaiseError(const char* format, ...); + +#endif // ERROR_H diff --git a/tools/mid2agb/main.cpp b/tools/mid2agb/main.cpp new file mode 100644 index 0000000000..9b883fba5b --- /dev/null +++ b/tools/mid2agb/main.cpp @@ -0,0 +1,230 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include +#include +#include +#include +#include +#include +#include +#include "main.h" +#include "error.h" +#include "midi.h" +#include "agb.h" + +FILE* g_inputFile = nullptr; +FILE* g_outputFile = nullptr; + +std::string g_asmLabel; +int g_masterVolume = 127; +int g_voiceGroup = 0; +int g_priority = 0; +int g_reverb = -1; +int g_clocksPerBeat = 1; +bool g_exactGateTime = false; +bool g_compressionEnabled = true; + +[[noreturn]] static void PrintUsage() +{ + std::printf( + "Usage: MID2AGB name [options]\n" + "\n" + " input_file filename(.mid) of MIDI file\n" + " output_file filename(.s) for AGB file (default:input_file)\n" + "\n" + "options -V??? master volume (default:127)\n" + " -G??? voice group number (default:0)\n" + " -P??? priority (default:0)\n" + " -R??? reverb (default:off)\n" + " -X 48 clocks/beat (default:24 clocks/beat)\n" + " -E exact gate-time\n" + " -N no compression\n" + ); + std::exit(1); +} + +static std::string StripExtension(std::string s) +{ + std::size_t pos = s.find_last_of('.'); + + if (pos > 0 && pos != std::string::npos) + { + s = s.substr(0, pos); + } + + return s; +} + +static std::string GetExtension(std::string s) +{ + std::size_t pos = s.find_last_of('.'); + + if (pos > 0 && pos != std::string::npos) + { + return s.substr(pos + 1); + } + + return ""; +} + +struct Option +{ + char letter = 0; + const char *arg = NULL; +}; + +static Option ParseOption(int& index, const int argc, char** argv) +{ + static std::set optionsWithArg = { 'L', 'V', 'G', 'P', 'R' }; + static std::set optionsWithoutArg = { 'X', 'E', 'N' }; + + assert(index >= 0 && index < argc); + + const char *opt = argv[index]; + + assert(opt[0] == '-'); + assert(std::strlen(opt) == 2); + + char letter = std::toupper(opt[1]); + + bool isOption = false; + bool hasArg = false; + + if (optionsWithArg.count(letter) != 0) + { + isOption = true; + hasArg = true; + } + else if (optionsWithoutArg.count(letter) != 0) + { + isOption = true; + } + + if (!isOption) + PrintUsage(); + + Option retVal; + + retVal.letter = letter; + + if (hasArg) + { + index++; + + if (index >= argc) + RaiseError("missing argument for \"-%c\"", letter); + + retVal.arg = argv[index]; + } + + return retVal; +} + +int main(int argc, char** argv) +{ + std::string inputFilename; + std::string outputFilename; + + for (int i = 1; i < argc; i++) + { + if (argv[i][0] == '-' && std::strlen(argv[i]) == 2) + { + Option option = ParseOption(i, argc, argv); + + switch (option.letter) + { + case 'E': + g_exactGateTime = true; + break; + case 'G': + g_voiceGroup = std::stoi(option.arg); + break; + case 'L': + g_asmLabel = option.arg; + break; + case 'N': + g_compressionEnabled = false; + break; + case 'P': + g_priority = std::stoi(option.arg); + break; + case 'R': + g_reverb = std::stoi(option.arg); + break; + case 'V': + g_masterVolume = std::stoi(option.arg); + break; + case 'X': + g_clocksPerBeat = 2; + break; + } + } + else + { + switch (i) + { + case 1: + inputFilename = argv[i]; + break; + case 2: + outputFilename = argv[i]; + break; + default: + PrintUsage(); + } + } + } + + if (inputFilename.empty()) + PrintUsage(); + + if (GetExtension(inputFilename) != "mid") + RaiseError("input filename extension is not \"mid\""); + + if (outputFilename.empty()) + outputFilename = StripExtension(inputFilename) + ".s"; + + if (GetExtension(outputFilename) != "s") + RaiseError("output filename extension is not \"s\""); + + if (g_asmLabel.empty()) + g_asmLabel = StripExtension(outputFilename); + + g_inputFile = std::fopen(inputFilename.c_str(), "rb"); + + if (g_inputFile == nullptr) + RaiseError("failed to open \"%s\" for reading", inputFilename.c_str()); + + g_outputFile = std::fopen(outputFilename.c_str(), "w"); + + if (g_outputFile == nullptr) + RaiseError("failed to open \"%s\" for writing", outputFilename.c_str()); + + ReadMidiFileHeader(); + PrintAgbHeader(); + ReadMidiTracks(); + PrintAgbFooter(); + + std::fclose(g_inputFile); + std::fclose(g_outputFile); + + return 0; +} diff --git a/tools/mid2agb/main.h b/tools/mid2agb/main.h new file mode 100644 index 0000000000..6e71e73fd4 --- /dev/null +++ b/tools/mid2agb/main.h @@ -0,0 +1,39 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef MAIN_H +#define MAIN_H + +#include +#include + +extern FILE* g_inputFile; +extern FILE* g_outputFile; + +extern std::string g_asmLabel; +extern int g_masterVolume; +extern int g_voiceGroup; +extern int g_priority; +extern int g_reverb; +extern int g_clocksPerBeat; +extern bool g_exactGateTime; +extern bool g_compressionEnabled; + +#endif // MAIN_H diff --git a/tools/mid2agb/midi.cpp b/tools/mid2agb/midi.cpp new file mode 100644 index 0000000000..ba5dd654ae --- /dev/null +++ b/tools/mid2agb/midi.cpp @@ -0,0 +1,942 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include +#include +#include +#include +#include +#include +#include "midi.h" +#include "main.h" +#include "error.h" +#include "agb.h" +#include "tables.h" + +enum class MidiEventCategory +{ + Control, + SysEx, + Meta, + Invalid, +}; + +MidiFormat g_midiFormat; +std::int_fast32_t g_midiTrackCount; +std::int16_t g_midiTimeDiv; + +int g_midiChan; +std::int32_t g_initialWait; + +static long s_trackDataStart; +static std::vector s_seqEvents; +static std::vector s_trackEvents; +static std::int32_t s_absoluteTime; +static int s_blockCount = 0; +static int s_minNote; +static int s_maxNote; + +void Seek(long offset) +{ + if (std::fseek(g_inputFile, offset, SEEK_SET) != 0) + RaiseError("failed to seek to %l", offset); +} + +void Skip(long offset) +{ + if (std::fseek(g_inputFile, offset, SEEK_CUR) != 0) + RaiseError("failed to skip %l bytes", offset); +} + +std::string ReadSignature() +{ + char signature[4]; + + if (std::fread(signature, 4, 1, g_inputFile) != 1) + RaiseError("failed to read signature"); + + return std::string(signature, 4); +} + +std::uint32_t ReadInt8() +{ + int c = std::fgetc(g_inputFile); + + if (c < 0) + RaiseError("unexpected EOF"); + + return c; +} + +std::uint32_t ReadInt16() +{ + std::uint32_t val = 0; + val |= ReadInt8() << 8; + val |= ReadInt8(); + return val; +} + +std::uint32_t ReadInt24() +{ + std::uint32_t val = 0; + val |= ReadInt8() << 16; + val |= ReadInt8() << 8; + val |= ReadInt8(); + return val; +} + +std::uint32_t ReadInt32() +{ + std::uint32_t val = 0; + val |= ReadInt8() << 24; + val |= ReadInt8() << 16; + val |= ReadInt8() << 8; + val |= ReadInt8(); + return val; +} + +std::uint32_t ReadVLQ() +{ + std::uint32_t val = 0; + std::uint32_t c; + + do + { + c = ReadInt8(); + val <<= 7; + val |= (c & 0x7F); + } while (c & 0x80); + + return val; +} + +void ReadMidiFileHeader() +{ + Seek(0); + + if (ReadSignature() != "MThd") + RaiseError("MIDI file header signature didn't match \"MThd\""); + + std::uint32_t headerLength = ReadInt32(); + + if (headerLength != 6) + RaiseError("MIDI file header length isn't 6"); + + std::uint16_t midiFormat = ReadInt16(); + + if (midiFormat >= 2) + RaiseError("unsupported MIDI format (%u)", midiFormat); + + g_midiFormat = (MidiFormat)midiFormat; + g_midiTrackCount = ReadInt16(); + g_midiTimeDiv = ReadInt16(); + + if (g_midiTimeDiv < 0) + RaiseError("unsupported MIDI time division (%d)", g_midiTimeDiv); +} + +long ReadMidiTrackHeader(long offset) +{ + Seek(offset); + + if (ReadSignature() != "MTrk") + RaiseError("MIDI track header signature didn't match \"MTrk\""); + + long size = ReadInt32(); + + s_trackDataStart = std::ftell(g_inputFile); + + return size + 8; +} + +void StartTrack() +{ + Seek(s_trackDataStart); + s_absoluteTime = 0; +} + +void SkipEventData() +{ + Skip(ReadVLQ()); +} + +void DetermineEventCategory(MidiEventCategory& category, int& typeChan, int& size) +{ + typeChan = ReadInt8(); + + if (typeChan == 0xFF) + { + category = MidiEventCategory::Meta; + size = 0; + } + else if (typeChan >= 0xF0) + { + category = MidiEventCategory::SysEx; + size = 0; + } + else if (typeChan >= 0x80) + { + category = MidiEventCategory::Control; + + switch (typeChan >> 4) + { + case 0xC: + case 0xD: + size = 1; + break; + default: + size = 2; + break; + } + } + else + { + category = MidiEventCategory::Invalid; + } +} + +void MakeBlockEvent(Event& event, EventType type) +{ + event.type = type; + event.param1 = s_blockCount++; + event.param2 = 0; +} + +std::string ReadEventText() +{ + char buffer[2]; + std::uint32_t length = ReadVLQ(); + + if (length <= 2) + { + if (fread(buffer, length, 1, g_inputFile) != 1) + RaiseError("failed to read event text"); + } + else + { + Skip(length); + length = 0; + } + + return std::string(buffer, length); +} + +bool ReadSeqEvent(Event& event) +{ + s_absoluteTime += ReadVLQ(); + event.time = s_absoluteTime; + + MidiEventCategory category; + int typeChan; + int size; + + DetermineEventCategory(category, typeChan, size); + + if (category == MidiEventCategory::Control) + { + Skip(size); + return false; + } + + if (category == MidiEventCategory::SysEx) + { + SkipEventData(); + return false; + } + + if (category == MidiEventCategory::Invalid) + RaiseError("invalid event"); + + // meta event + int metaEventType = ReadInt8(); + + if (metaEventType >= 1 && metaEventType <= 7) + { + // text event + std::string text = ReadEventText(); + + if (text == "[") + MakeBlockEvent(event, EventType::LoopBegin); + else if (text == "][") + MakeBlockEvent(event, EventType::LoopEndBegin); + else if (text == "]") + MakeBlockEvent(event, EventType::LoopEnd); + else if (text == ":") + MakeBlockEvent(event, EventType::Label); + else + return false; + } + else + { + switch (metaEventType) + { + case 0x2F: // end of track + SkipEventData(); + event.type = EventType::EndOfTrack; + event.param1 = 0; + event.param2 = 0; + break; + case 0x51: // tempo + if (ReadVLQ() != 3) + RaiseError("invalid tempo size"); + + event.type = EventType::Tempo; + event.param1 = 0; + event.param2 = ReadInt24(); + break; + case 0x58: // time signature + { + if (ReadVLQ() != 4) + RaiseError("invalid time signature size"); + + int numerator = ReadInt8(); + int denominatorExponent = ReadInt8(); + + if (denominatorExponent >= 16) + RaiseError("invalid time signature denominator"); + + Skip(2); // ignore other values + + int clockTicks = 96 * numerator * g_clocksPerBeat; + int denominator = 1 << denominatorExponent; + int timeSig = clockTicks / denominator; + + if (timeSig <= 0 || timeSig >= 0x10000) + RaiseError("invalid time signature"); + + event.type = EventType::TimeSignature; + event.param1 = 0; + event.param2 = timeSig; + break; + } + default: + SkipEventData(); + return false; + } + } + + return true; +} + +void ReadSeqEvents() +{ + StartTrack(); + + for (;;) + { + Event event = {}; + + if (ReadSeqEvent(event)) + { + s_seqEvents.push_back(event); + + if (event.type == EventType::EndOfTrack) + return; + } + } +} + +bool CheckNoteEnd(Event& event) +{ + event.param2 += ReadVLQ(); + + MidiEventCategory category; + int typeChan; + int size; + + DetermineEventCategory(category, typeChan, size); + + if (category == MidiEventCategory::Control) + { + int chan = typeChan & 0xF; + + if (chan != g_midiChan) + { + Skip(size); + return false; + } + + switch (typeChan & 0xF0) + { + case 0x80: // note off + { + int note = ReadInt8(); + ReadInt8(); // ignore velocity + if (note == event.note) + return true; + break; + } + case 0x90: // note on + { + int note = ReadInt8(); + int velocity = ReadInt8(); + if (velocity == 0 && note == event.note) + return true; + break; + } + default: + Skip(size); + break; + } + + return false; + } + + if (category == MidiEventCategory::SysEx) + { + SkipEventData(); + return false; + } + + if (category == MidiEventCategory::Meta) + { + int metaEventType = ReadInt8(); + SkipEventData(); + + if (metaEventType == 0x2F) + RaiseError("note doesn't end"); + + return false; + } + + RaiseError("invalid event"); +} + +void FindNoteEnd(Event& event) +{ + long startPos = ftell(g_inputFile); + + event.param2 = 0; + + while (!CheckNoteEnd(event)) + ; + + Seek(startPos); +} + +bool ReadTrackEvent(Event& event) +{ + s_absoluteTime += ReadVLQ(); + event.time = s_absoluteTime; + + MidiEventCategory category; + int typeChan; + int size; + + DetermineEventCategory(category, typeChan, size); + + if (category == MidiEventCategory::Control) + { + int chan = typeChan & 0xF; + + if (chan != g_midiChan) + { + Skip(size); + return false; + } + + switch (typeChan & 0xF0) + { + case 0x90: // note on + { + int note = ReadInt8(); + int velocity = ReadInt8(); + + if (velocity != 0) + { + event.type = EventType::Note; + event.note = note; + event.param1 = velocity; + FindNoteEnd(event); + if (event.param2 > 0) + { + if (note < s_minNote) + s_minNote = note; + if (note > s_maxNote) + s_maxNote = note; + } + } + break; + } + case 0xB0: // controller event + event.type = EventType::Controller; + event.param1 = ReadInt8(); // controller index + event.param2 = ReadInt8(); // value + break; + case 0xC0: // instrument change + event.type = EventType::InstrumentChange; + event.param1 = ReadInt8(); // instrument + event.param2 = 0; + break; + case 0xE0: // pitch bend + event.type = EventType::PitchBend; + event.param1 = ReadInt8(); + event.param2 = ReadInt8(); + break; + default: + Skip(size); + return false; + } + + return true; + } + + if (category == MidiEventCategory::SysEx) + { + SkipEventData(); + return false; + } + + if (category == MidiEventCategory::Meta) + { + int metaEventType = ReadInt8(); + SkipEventData(); + + if (metaEventType == 0x2F) + { + event.type = EventType::EndOfTrack; + event.param1 = 0; + event.param2 = 0; + return true; + } + + return false; + } + + RaiseError("invalid event"); +} + +void ReadTrackEvents() +{ + StartTrack(); + + s_trackEvents.clear(); + + s_minNote = 0xFF; + s_maxNote = 0; + + for (;;) + { + Event event = {}; + + if (ReadTrackEvent(event)) + { + s_trackEvents.push_back(event); + + if (event.type == EventType::EndOfTrack) + return; + } + } +} + +bool EventCompare(const Event& event1, const Event& event2) +{ + if (event1.time < event2.time) + return true; + + if (event1.time > event2.time) + return false; + + unsigned event1Type = (unsigned)event1.type; + unsigned event2Type = (unsigned)event2.type; + + if (event1.type == EventType::Note) + event1Type += event1.note; + + if (event2.type == EventType::Note) + event2Type += event2.note; + + if (event1Type < event2Type) + return true; + + if (event1Type > event2Type) + return false; + + if (event1.type == EventType::EndOfTie) + { + if (event1.note < event2.note) + return true; + + if (event1.note > event2.note) + return false; + } + + return false; +} + +std::unique_ptr> MergeEvents() +{ + std::unique_ptr> events(new std::vector()); + + unsigned trackEventPos = 0; + unsigned seqEventPos = 0; + + while (s_trackEvents[trackEventPos].type != EventType::EndOfTrack + && s_seqEvents[seqEventPos].type != EventType::EndOfTrack) + { + if (EventCompare(s_trackEvents[trackEventPos], s_seqEvents[seqEventPos])) + events->push_back(s_trackEvents[trackEventPos++]); + else + events->push_back(s_seqEvents[seqEventPos++]); + } + + while (s_trackEvents[trackEventPos].type != EventType::EndOfTrack) + events->push_back(s_trackEvents[trackEventPos++]); + + while (s_seqEvents[seqEventPos].type != EventType::EndOfTrack) + events->push_back(s_seqEvents[seqEventPos++]); + + // Push the EndOfTrack event with the larger time. + if (EventCompare(s_trackEvents[trackEventPos], s_seqEvents[seqEventPos])) + events->push_back(s_seqEvents[seqEventPos]); + else + events->push_back(s_trackEvents[trackEventPos]); + + return events; +} + +void ConvertTimes(std::vector& events) +{ + for (Event& event : events) + { + event.time = (24 * g_clocksPerBeat * event.time) / g_midiTimeDiv; + + if (event.type == EventType::Note) + { + event.param1 = g_noteVelocityLUT[event.param1]; + + std::uint32_t duration = (24 * g_clocksPerBeat * event.param2) / g_midiTimeDiv; + + if (duration == 0) + duration = 1; + + if (!g_exactGateTime && duration < 96) + duration = g_noteDurationLUT[duration]; + + event.param2 = duration; + } + } +} + +std::unique_ptr> InsertTimingEvents(std::vector& inEvents) +{ + std::unique_ptr> outEvents(new std::vector()); + + Event timingEvent = {}; + timingEvent.time = 0; + timingEvent.type = EventType::TimeSignature; + timingEvent.param2 = 96 * g_clocksPerBeat; + + for (const Event& event : inEvents) + { + while (EventCompare(timingEvent, event)) + { + outEvents->push_back(timingEvent); + timingEvent.time += timingEvent.param2; + } + + if (event.type == EventType::TimeSignature) + { + if (g_agbTrack == 1 && event.param2 != timingEvent.param2) + { + Event originalTimingEvent = event; + originalTimingEvent.type = EventType::OriginalTimeSignature; + outEvents->push_back(originalTimingEvent); + } + timingEvent.param2 = event.param2; + timingEvent.time = event.time + timingEvent.param2; + } + + outEvents->push_back(event); + } + + return outEvents; +} + +std::unique_ptr> SplitTime(std::vector& inEvents) +{ + std::unique_ptr> outEvents(new std::vector()); + + std::int32_t time = 0; + + for (const Event& event : inEvents) + { + std::int32_t diff = event.time - time; + + if (diff > 96) + { + int wholeNoteCount = (diff - 1) / 96; + diff -= 96 * wholeNoteCount; + + for (int i = 0; i < wholeNoteCount; i++) + { + time += 96; + Event timeSplitEvent = {}; + timeSplitEvent.time = time; + timeSplitEvent.type = EventType::TimeSplit; + outEvents->push_back(timeSplitEvent); + } + } + + std::int32_t lutValue = g_noteDurationLUT[diff]; + + if (lutValue != diff) + { + Event timeSplitEvent = {}; + timeSplitEvent.time = time + lutValue; + timeSplitEvent.type = EventType::TimeSplit; + outEvents->push_back(timeSplitEvent); + } + + time = event.time; + + outEvents->push_back(event); + } + + return outEvents; +} + +std::unique_ptr> CreateTies(std::vector& inEvents) +{ + std::unique_ptr> outEvents(new std::vector()); + + for (const Event& event : inEvents) + { + if (event.type == EventType::Note && event.param2 > 96) + { + Event tieEvent = event; + tieEvent.param2 = -1; + outEvents->push_back(tieEvent); + + Event eotEvent = {}; + eotEvent.time = event.time + event.param2; + eotEvent.type = EventType::EndOfTie; + eotEvent.note = event.note; + outEvents->push_back(eotEvent); + } + else + { + outEvents->push_back(event); + } + } + + return outEvents; +} + +void CalculateWaits(std::vector& events) +{ + g_initialWait = events[0].time; + int wholeNoteCount = 0; + + for (unsigned i = 0; i < events.size() && events[i].type != EventType::EndOfTrack; i++) + { + events[i].time = events[i + 1].time - events[i].time; + + if (events[i].type == EventType::TimeSignature) + { + events[i].type = EventType::WholeNoteMark; + events[i].param2 = wholeNoteCount++; + } + } +} + +int CalculateCompressionScore(std::vector& events, int index) +{ + int score = 0; + std::uint8_t lastParam1 = events[index].param1; + std::uint8_t lastVelocity = 0x80u; + EventType lastType = events[index].type; + std::int32_t lastDuration = 0x80000000; + std::uint8_t lastNote = 0x80u; + + if (events[index].time > 0) + score++; + + for (int i = index + 1; !IsPatternBoundary(events[i].type); i++) + { + if (events[i].type == EventType::Note) + { + int val = 0; + + if (events[i].note != lastNote) + { + val++; + lastNote = events[i].note; + } + + if (events[i].param1 != lastVelocity) + { + val++; + lastVelocity = events[i].param1; + } + + std::int32_t duration = events[i].param2; + + if (g_noteDurationLUT[duration] != lastDuration) + { + val++; + lastDuration = g_noteDurationLUT[duration]; + } + + if (duration != lastDuration) + val++; + + if (val == 0) + val = 1; + + score += val; + } + else + { + lastDuration = 0x80000000; + + if (events[i].type == lastType) + { + if ((lastType != EventType::Controller && (int)lastType != 0x25 && lastType != EventType::EndOfTie) || events[i].param1 == lastParam1) + { + score++; + } + else + { + score += 2; + } + } + else + { + score += 2; + } + } + + lastParam1 = events[i].param1; + lastType = events[i].type; + + if (events[i].time) + ++score; + } + + return score; +} + +bool IsCompressionMatch(std::vector& events, int index1, int index2) +{ + index1++; + index2++; + + do + { + if (events[index1] != events[index2]) + return false; + + index1++; + index2++; + } while (!IsPatternBoundary(events[index1].type)); + + return IsPatternBoundary(events[index2].type); +} + +void CompressWholeNote(std::vector& events, int index) +{ + for (int j = index + 1; events[j].type != EventType::EndOfTrack; j++) + { + while (events[j].type != EventType::WholeNoteMark) + { + j++; + + if (events[j].type == EventType::EndOfTrack) + return; + } + + if (IsCompressionMatch(events, index, j)) + { + events[j].type = EventType::Pattern; + events[j].param2 = events[index].param2 & 0x7FFFFFFF; + events[index].param2 |= 0x80000000; + } + } +} + +void Compress(std::vector& events) +{ + for (int i = 0; events[i].type != EventType::EndOfTrack; i++) + { + while (events[i].type != EventType::WholeNoteMark) + { + i++; + + if (events[i].type == EventType::EndOfTrack) + return; + } + + if (CalculateCompressionScore(events, i) >= 6) + { + CompressWholeNote(events, i); + } + } +} + +void ReadMidiTracks() +{ + long trackHeaderStart = 14; + + ReadMidiTrackHeader(trackHeaderStart); + ReadSeqEvents(); + + g_agbTrack = 1; + + for (int midiTrack = 0; midiTrack < g_midiTrackCount; midiTrack++) + { + trackHeaderStart += ReadMidiTrackHeader(trackHeaderStart); + + for (g_midiChan = 0; g_midiChan < 16; g_midiChan++) + { + ReadTrackEvents(); + + if (s_minNote != 0xFF) + { +#ifdef DEBUG + printf("Track%d = Midi-Ch.%d\n", g_agbTrack, g_midiChan + 1); +#endif + + std::unique_ptr> events(MergeEvents()); + + // We don't need TEMPO in anything but track 1. + if (g_agbTrack == 1) + { + auto it = std::remove_if(s_seqEvents.begin(), s_seqEvents.end(), [](const Event& event) { return event.type == EventType::Tempo; }); + s_seqEvents.erase(it, s_seqEvents.end()); + } + + ConvertTimes(*events); + events = InsertTimingEvents(*events); + events = CreateTies(*events); + std::stable_sort(events->begin(), events->end(), EventCompare); + events = SplitTime(*events); + CalculateWaits(*events); + + if (g_compressionEnabled) + Compress(*events); + + PrintAgbTrack(*events); + + g_agbTrack++; + } + } + } +} diff --git a/tools/mid2agb/midi.h b/tools/mid2agb/midi.h new file mode 100644 index 0000000000..434c8e8e81 --- /dev/null +++ b/tools/mid2agb/midi.h @@ -0,0 +1,87 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef MIDI_H +#define MIDI_H + +#include + +enum class MidiFormat +{ + SingleTrack, + MultiTrack +}; + +enum class EventType +{ + EndOfTie = 0x01, + Label = 0x11, + LoopEnd = 0x12, + LoopEndBegin = 0x13, + LoopBegin = 0x14, + OriginalTimeSignature = 0x15, + WholeNoteMark = 0x16, + Pattern = 0x17, + TimeSignature = 0x18, + Tempo = 0x19, + InstrumentChange = 0x21, + Controller = 0x22, + PitchBend = 0x23, + KeyShift = 0x31, + Note = 0x40, + TimeSplit = 0xFE, + EndOfTrack = 0xFF, +}; + +struct Event +{ + std::int32_t time; + EventType type; + std::uint8_t note; + std::uint8_t param1; + std::int32_t param2; + + bool operator==(const Event& other) + { + return (time == other.time + && type == other.type + && note == other.note + && param1 == other.param1 + && param2 == other.param2); + } + + bool operator!=(const Event& other) + { + return !(*this == other); + } +}; + +void ReadMidiFileHeader(); +void ReadMidiTracks(); + +extern int g_midiChan; +extern std::int32_t g_initialWait; + +inline bool IsPatternBoundary(EventType type) +{ + return type == EventType::EndOfTrack || (int)type <= 0x17; +} + +#endif // MIDI_H diff --git a/tools/mid2agb/tables.cpp b/tools/mid2agb/tables.cpp new file mode 100644 index 0000000000..f254664a42 --- /dev/null +++ b/tools/mid2agb/tables.cpp @@ -0,0 +1,286 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include "tables.h" + +const int g_noteDurationLUT[] = +{ + 0, // 0 + 1, // 1 + 2, // 2 + 3, // 3 + 4, // 4 + 5, // 5 + 6, // 6 + 7, // 7 + 8, // 8 + 9, // 9 + 10, // 10 + 11, // 11 + 12, // 12 + 13, // 13 + 14, // 14 + 15, // 15 + 16, // 16 + 17, // 17 + 18, // 18 + 19, // 19 + 20, // 20 + 21, // 21 + 22, // 22 + 23, // 23 + 24, // 24 + 24, // 25 + 24, // 26 + 24, // 27 + 28, // 28 + 28, // 29 + 30, // 30 + 30, // 31 + 32, // 32 + 32, // 33 + 32, // 34 + 32, // 35 + 36, // 36 + 36, // 37 + 36, // 38 + 36, // 39 + 40, // 40 + 40, // 41 + 42, // 42 + 42, // 43 + 44, // 44 + 44, // 45 + 44, // 46 + 44, // 47 + 48, // 48 + 48, // 49 + 48, // 50 + 48, // 51 + 52, // 52 + 52, // 53 + 54, // 54 + 54, // 55 + 56, // 56 + 56, // 57 + 56, // 58 + 56, // 59 + 60, // 60 + 60, // 61 + 60, // 62 + 60, // 63 + 64, // 64 + 64, // 65 + 66, // 66 + 66, // 67 + 68, // 68 + 68, // 69 + 68, // 70 + 68, // 71 + 72, // 72 + 72, // 73 + 72, // 74 + 72, // 75 + 76, // 76 + 76, // 77 + 78, // 78 + 78, // 79 + 80, // 80 + 80, // 81 + 80, // 82 + 80, // 83 + 84, // 84 + 84, // 85 + 84, // 86 + 84, // 87 + 88, // 88 + 88, // 89 + 90, // 90 + 90, // 91 + 92, // 92 + 92, // 93 + 92, // 94 + 92, // 95 + 96, // 96 +}; + +const int g_noteVelocityLUT[] = +{ + 0, // 0 + 4, // 1 + 4, // 2 + 4, // 3 + 4, // 4 + 8, // 5 + 8, // 6 + 8, // 7 + 8, // 8 + 12, // 9 + 12, // 10 + 12, // 11 + 12, // 12 + 16, // 13 + 16, // 14 + 16, // 15 + 16, // 16 + 20, // 17 + 20, // 18 + 20, // 19 + 20, // 20 + 24, // 21 + 24, // 22 + 24, // 23 + 24, // 24 + 28, // 25 + 28, // 26 + 28, // 27 + 28, // 28 + 32, // 29 + 32, // 30 + 32, // 31 + 32, // 32 + 36, // 33 + 36, // 34 + 36, // 35 + 36, // 36 + 40, // 37 + 40, // 38 + 40, // 39 + 40, // 40 + 44, // 41 + 44, // 42 + 44, // 43 + 44, // 44 + 48, // 45 + 48, // 46 + 48, // 47 + 48, // 48 + 52, // 49 + 52, // 50 + 52, // 51 + 52, // 52 + 56, // 53 + 56, // 54 + 56, // 55 + 56, // 56 + 60, // 57 + 60, // 58 + 60, // 59 + 60, // 60 + 64, // 61 + 64, // 62 + 64, // 63 + 64, // 64 + 68, // 65 + 68, // 66 + 68, // 67 + 68, // 68 + 72, // 69 + 72, // 70 + 72, // 71 + 72, // 72 + 76, // 73 + 76, // 74 + 76, // 75 + 76, // 76 + 80, // 77 + 80, // 78 + 80, // 79 + 80, // 80 + 84, // 81 + 84, // 82 + 84, // 83 + 84, // 84 + 88, // 85 + 88, // 86 + 88, // 87 + 88, // 88 + 92, // 89 + 92, // 90 + 92, // 91 + 92, // 92 + 96, // 93 + 96, // 94 + 96, // 95 + 96, // 96 + 100, // 97 + 100, // 98 + 100, // 99 + 100, // 100 + 104, // 101 + 104, // 102 + 104, // 103 + 104, // 104 + 108, // 105 + 108, // 106 + 108, // 107 + 108, // 108 + 112, // 109 + 112, // 110 + 112, // 111 + 112, // 112 + 116, // 113 + 116, // 114 + 116, // 115 + 116, // 116 + 120, // 117 + 120, // 118 + 120, // 119 + 120, // 120 + 124, // 121 + 124, // 122 + 124, // 123 + 124, // 124 + 127, // 125 + 127, // 126 + 127, // 127 +}; + +const char* g_noteTable[] = +{ + "Cn%01u ", + "Cs%01u ", + "Dn%01u ", + "Ds%01u ", + "En%01u ", + "Fn%01u ", + "Fs%01u ", + "Gn%01u ", + "Gs%01u ", + "An%01u ", + "As%01u ", + "Bn%01u ", +}; + +const char* g_minusNoteTable[] = +{ + "CnM%01u", + "CsM%01u", + "DnM%01u", + "DsM%01u", + "EnM%01u", + "FnM%01u", + "FsM%01u", + "GnM%01u", + "GsM%01u", + "AnM%01u", + "AsM%01u", + "BnM%01u", +}; diff --git a/tools/mid2agb/tables.h b/tools/mid2agb/tables.h new file mode 100644 index 0000000000..da3c9072da --- /dev/null +++ b/tools/mid2agb/tables.h @@ -0,0 +1,29 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef TABLES_H +#define TABLES_H + +extern const int g_noteDurationLUT[]; +extern const int g_noteVelocityLUT[]; +extern const char* g_noteTable[]; +extern const char* g_minusNoteTable[]; + +#endif // TABLES_H diff --git a/tools/preproc/.gitignore b/tools/preproc/.gitignore new file mode 100644 index 0000000000..eb34708794 --- /dev/null +++ b/tools/preproc/.gitignore @@ -0,0 +1 @@ +preproc diff --git a/tools/preproc/LICENSE b/tools/preproc/LICENSE new file mode 100644 index 0000000000..534d15349e --- /dev/null +++ b/tools/preproc/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2016 YamaArashi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/tools/preproc/Makefile b/tools/preproc/Makefile new file mode 100644 index 0000000000..ec4a5f365e --- /dev/null +++ b/tools/preproc/Makefile @@ -0,0 +1,17 @@ +CXX := g++ + +CXXFLAGS := -std=c++11 -O2 -s -Wall -Wno-switch -Werror + +SRCS := asm_file.cpp c_file.cpp charmap.cpp preproc.cpp string_parser.cpp \ + utf8.cpp + +HEADERS := asm_file.h c_file.h char_util.h charmap.h preproc.h string_parser.h \ + utf8.h + +.PHONY: clean + +preproc: $(SRCS) $(HEADERS) + $(CXX) $(CXXFLAGS) $(SRCS) -o $@ $(LDFLAGS) + +clean: + $(RM) preproc preproc.exe diff --git a/tools/preproc/asm_file.cpp b/tools/preproc/asm_file.cpp new file mode 100644 index 0000000000..bb296b78b9 --- /dev/null +++ b/tools/preproc/asm_file.cpp @@ -0,0 +1,529 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include +#include +#include "preproc.h" +#include "asm_file.h" +#include "char_util.h" +#include "utf8.h" +#include "string_parser.h" + +AsmFile::AsmFile(std::string filename) : m_filename(filename) +{ + FILE *fp = std::fopen(filename.c_str(), "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for reading.\n", filename.c_str()); + + std::fseek(fp, 0, SEEK_END); + + m_size = std::ftell(fp); + + if (m_size < 0) + FATAL_ERROR("File size of \"%s\" is less than zero.\n", filename.c_str()); + + m_buffer = new char[m_size + 1]; + + std::rewind(fp); + + if (std::fread(m_buffer, m_size, 1, fp) != 1) + FATAL_ERROR("Failed to read \"%s\".\n", filename.c_str()); + + m_buffer[m_size] = 0; + + std::fclose(fp); + + m_pos = 0; + m_lineNum = 1; + m_lineStart = 0; + + RemoveComments(); +} + +AsmFile::AsmFile(AsmFile&& other) : m_filename(std::move(other.m_filename)) +{ + m_buffer = other.m_buffer; + m_pos = other.m_pos; + m_size = other.m_size; + m_lineNum = other.m_lineNum; + m_lineStart = other.m_lineStart; + + other.m_buffer = nullptr; +} + +AsmFile::~AsmFile() +{ + delete[] m_buffer; +} + +// Removes comments to simplify further processing. +// It stops upon encountering a null character, +// which may or may not be the end of file marker. +// If it's not, the error will be caught later. +void AsmFile::RemoveComments() +{ + long pos = 0; + char stringChar = 0; + + for (;;) + { + if (m_buffer[pos] == 0) + return; + + if (stringChar != 0) + { + if (m_buffer[pos] == '\\' && m_buffer[pos + 1] == stringChar) + { + pos += 2; + } + else + { + if (m_buffer[pos] == stringChar) + stringChar = 0; + pos++; + } + } + else if (m_buffer[pos] == '@' && (pos == 0 || m_buffer[pos - 1] != '\\')) + { + while (m_buffer[pos] != '\n' && m_buffer[pos] != 0) + m_buffer[pos++] = ' '; + } + else if (m_buffer[pos] == '/' && m_buffer[pos + 1] == '*') + { + m_buffer[pos++] = ' '; + m_buffer[pos++] = ' '; + + for (;;) + { + if (m_buffer[pos] == 0) + return; + + if (m_buffer[pos] == '*' && m_buffer[pos + 1] == '/') + { + m_buffer[pos++] = ' '; + m_buffer[pos++] = ' '; + break; + } + else + { + if (m_buffer[pos] != '\n') + m_buffer[pos] = ' '; + pos++; + } + } + } + else + { + if (m_buffer[pos] == '"' || m_buffer[pos] == '\'') + stringChar = m_buffer[pos]; + pos++; + } + } +} + +// Checks if we're at a particular directive and if so, consumes it. +// Returns whether the directive was found. +bool AsmFile::CheckForDirective(std::string name) +{ + long i; + long length = static_cast(name.length()); + + for (i = 0; i < length && m_pos + i < m_size; i++) + if (name[i] != m_buffer[m_pos + i]) + return false; + + if (i < length) + return false; + + m_pos += length; + + return true; +} + +// Checks if we're at a known directive and if so, consumes it. +// Returns which directive was found. +Directive AsmFile::GetDirective() +{ + SkipWhitespace(); + + if (CheckForDirective(".include")) + return Directive::Include; + else if (CheckForDirective(".string")) + return Directive::String; + else if (CheckForDirective(".braille")) + return Directive::Braille; + else + return Directive::Unknown; +} + +// Checks if we're at label that ends with '::'. +// Returns the name if so and an empty string if not. +std::string AsmFile::GetGlobalLabel() +{ + long start = m_pos; + long pos = m_pos; + + if (IsIdentifierStartingChar(m_buffer[pos])) + { + pos++; + + while (IsIdentifierChar(m_buffer[pos])) + pos++; + } + + if (m_buffer[pos] == ':' && m_buffer[pos + 1] == ':') + { + m_pos = pos + 2; + ExpectEmptyRestOfLine(); + return std::string(&m_buffer[start], pos - start); + } + + return std::string(); +} + +// Skips tabs and spaces. +void AsmFile::SkipWhitespace() +{ + while (m_buffer[m_pos] == '\t' || m_buffer[m_pos] == ' ') + m_pos++; +} + +// Reads include path. +std::string AsmFile::ReadPath() +{ + SkipWhitespace(); + + if (m_buffer[m_pos] != '"') + RaiseError("expected file path"); + + m_pos++; + + int length = 0; + long startPos = m_pos; + + while (m_buffer[m_pos] != '"') + { + unsigned char c = m_buffer[m_pos++]; + + if (c == 0) + { + if (m_pos >= m_size) + RaiseError("unexpected EOF in include string"); + else + RaiseError("unexpected null character in include string"); + } + + if (!IsAsciiPrintable(c)) + RaiseError("unexpected character '\\x%02X' in include string", c); + + // Don't bother allowing any escape sequences. + if (c == '\\') + { + c = m_buffer[m_pos]; + RaiseError("unexpected escape '\\%c' in include string", c); + } + + length++; + + if (length > kMaxPath) + RaiseError("path is too long"); + } + + m_pos++; // Go past the right quote. + + ExpectEmptyRestOfLine(); + + return std::string(&m_buffer[startPos], length); +} + +// Reads a charmap string. +int AsmFile::ReadString(unsigned char* s) +{ + SkipWhitespace(); + + int length; + StringParser stringParser(m_buffer, m_size); + + try + { + m_pos += stringParser.ParseString(m_pos, s, length); + } + catch (std::runtime_error e) + { + RaiseError(e.what()); + } + + SkipWhitespace(); + + if (ConsumeComma()) + { + SkipWhitespace(); + int padLength = ReadPadLength(); + + while (length < padLength) + { + s[length++] = 0; + } + } + + ExpectEmptyRestOfLine(); + + return length; +} + +int AsmFile::ReadBraille(unsigned char* s) +{ + static std::map encoding = + { + { 'A', 0x01 }, + { 'B', 0x05 }, + { 'C', 0x03 }, + { 'D', 0x0B }, + { 'E', 0x09 }, + { 'F', 0x07 }, + { 'G', 0x0F }, + { 'H', 0x0D }, + { 'I', 0x06 }, + { 'J', 0x0E }, + { 'K', 0x11 }, + { 'L', 0x15 }, + { 'M', 0x13 }, + { 'N', 0x1B }, + { 'O', 0x19 }, + { 'P', 0x17 }, + { 'Q', 0x1F }, + { 'R', 0x1D }, + { 'S', 0x16 }, + { 'T', 0x1E }, + { 'U', 0x31 }, + { 'V', 0x35 }, + { 'W', 0x2E }, + { 'X', 0x33 }, + { 'Y', 0x3B }, + { 'Z', 0x39 }, + { ' ', 0x00 }, + { ',', 0x04 }, + { '.', 0x2C }, + { '$', 0xFF }, + }; + + SkipWhitespace(); + + int length = 0; + + if (m_buffer[m_pos] != '"') + RaiseError("expected braille string literal"); + + m_pos++; + + while (m_buffer[m_pos] != '"') + { + if (length == kMaxStringLength) + RaiseError("mapped string longer than %d bytes", kMaxStringLength); + + if (m_buffer[m_pos] == '\\' && m_buffer[m_pos + 1] == 'n') + { + s[length++] = 0xFE; + m_pos += 2; + } + else + { + char c = m_buffer[m_pos]; + + if (encoding.count(c) == 0) + { + if (IsAsciiPrintable(c)) + RaiseError("character '%c' not valid in braille string", m_buffer[m_pos]); + else + RaiseError("character '\\x%02X' not valid in braille string", m_buffer[m_pos]); + } + + s[length++] = encoding[c]; + m_pos++; + } + } + + m_pos++; // Go past the right quote. + + ExpectEmptyRestOfLine(); + + return length; +} + +// If we're at a comma, consumes it. +// Returns whether a comma was found. +bool AsmFile::ConsumeComma() +{ + if (m_buffer[m_pos] == ',') + { + m_pos++; + return true; + } + + return false; +} + +// Converts digit character to numerical value. +static int ConvertDigit(char c, int radix) +{ + int digit; + + if (c >= '0' && c <= '9') + digit = c - '0'; + else if (c >= 'A' && c <= 'F') + digit = 10 + c - 'A'; + else if (c >= 'a' && c <= 'f') + digit = 10 + c - 'a'; + else + return -1; + + return (digit < radix) ? digit : -1; +} + +// Reads an integer. If the integer is greater than maxValue, it returns -1. +int AsmFile::ReadPadLength() +{ + if (!IsAsciiDigit(m_buffer[m_pos])) + RaiseError("expected integer"); + + int radix = 10; + + if (m_buffer[m_pos] == '0' && m_buffer[m_pos + 1] == 'x') + { + radix = 16; + m_pos += 2; + } + + unsigned n = 0; + int digit; + + while ((digit = ConvertDigit(m_buffer[m_pos], radix)) != -1) + { + n = n * radix + digit; + + if (n > kMaxStringLength) + RaiseError("pad length greater than maximum length (%d)", kMaxStringLength); + + m_pos++; + } + + return n; +} + +// Outputs the current line and moves to the next one. +void AsmFile::OutputLine() +{ + while (m_buffer[m_pos] != '\n' && m_buffer[m_pos] != 0) + m_pos++; + + if (m_buffer[m_pos] == 0) + { + if (m_pos >= m_size) + { + RaiseWarning("file doesn't end with newline"); + puts(&m_buffer[m_lineStart]); + } + else + { + RaiseError("unexpected null character"); + } + } + else + { + m_buffer[m_pos] = 0; + puts(&m_buffer[m_lineStart]); + m_buffer[m_pos] = '\n'; + m_pos++; + m_lineStart = m_pos; + m_lineNum++; + } +} + +// Asserts that the rest of the line is empty and moves to the next one. +void AsmFile::ExpectEmptyRestOfLine() +{ + SkipWhitespace(); + + if (m_buffer[m_pos] == 0) + { + if (m_pos >= m_size) + RaiseWarning("file doesn't end with newline"); + else + RaiseError("unexpected null character"); + } + else if (m_buffer[m_pos] == '\n') + { + m_pos++; + m_lineStart = m_pos; + m_lineNum++; + } + else if (m_buffer[m_pos] == '\r') + { + RaiseError("only Unix-style LF newlines are supported"); + } + else + { + RaiseError("junk at end of line"); + } +} + +// Checks if we're at the end of the file. +bool AsmFile::IsAtEnd() +{ + return (m_pos >= m_size); +} + +// Output the current location to set gas's logical file and line numbers. +void AsmFile::OutputLocation() +{ + std::printf("# %ld \"%s\"\n", m_lineNum, m_filename.c_str()); +} + +// Reports a diagnostic message. +void AsmFile::ReportDiagnostic(const char* type, const char* format, std::va_list args) +{ + const int bufferSize = 1024; + char buffer[bufferSize]; + std::vsnprintf(buffer, bufferSize, format, args); + std::fprintf(stderr, "%s:%ld: %s: %s\n", m_filename.c_str(), m_lineNum, type, buffer); +} + +#define DO_REPORT(type) \ +do \ +{ \ + std::va_list args; \ + va_start(args, format); \ + ReportDiagnostic(type, format, args); \ + va_end(args); \ +} while (0) + +// Reports an error diagnostic and terminates the program. +void AsmFile::RaiseError(const char* format, ...) +{ + DO_REPORT("error"); + std::exit(1); +} + +// Reports a warning diagnostic. +void AsmFile::RaiseWarning(const char* format, ...) +{ + DO_REPORT("warning"); +} diff --git a/tools/preproc/asm_file.h b/tools/preproc/asm_file.h new file mode 100644 index 0000000000..d73b36e90b --- /dev/null +++ b/tools/preproc/asm_file.h @@ -0,0 +1,72 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef ASM_FILE_H +#define ASM_FILE_H + +#include +#include +#include +#include "preproc.h" + +enum class Directive +{ + Include, + String, + Braille, + Unknown +}; + +class AsmFile +{ +public: + AsmFile(std::string filename); + AsmFile(AsmFile&& other); + AsmFile(const AsmFile&) = delete; + ~AsmFile(); + Directive GetDirective(); + std::string GetGlobalLabel(); + std::string ReadPath(); + int ReadString(unsigned char* s); + int ReadBraille(unsigned char* s); + bool IsAtEnd(); + void OutputLine(); + void OutputLocation(); + +private: + char* m_buffer; + long m_pos; + long m_size; + long m_lineNum; + long m_lineStart; + std::string m_filename; + + bool ConsumeComma(); + int ReadPadLength(); + void RemoveComments(); + bool CheckForDirective(std::string name); + void SkipWhitespace(); + void ExpectEmptyRestOfLine(); + void ReportDiagnostic(const char* type, const char* format, std::va_list args); + void RaiseError(const char* format, ...); + void RaiseWarning(const char* format, ...); +}; + +#endif // ASM_FILE_H diff --git a/tools/preproc/c_file.cpp b/tools/preproc/c_file.cpp new file mode 100644 index 0000000000..24b3453e80 --- /dev/null +++ b/tools/preproc/c_file.cpp @@ -0,0 +1,421 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include +#include +#include +#include +#include "preproc.h" +#include "c_file.h" +#include "char_util.h" +#include "utf8.h" +#include "string_parser.h" + +CFile::CFile(std::string filename) : m_filename(filename) +{ + FILE *fp = std::fopen(filename.c_str(), "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for reading.\n", filename.c_str()); + + std::fseek(fp, 0, SEEK_END); + + m_size = std::ftell(fp); + + if (m_size < 0) + FATAL_ERROR("File size of \"%s\" is less than zero.\n", filename.c_str()); + + m_buffer = new char[m_size + 1]; + + std::rewind(fp); + + if (std::fread(m_buffer, m_size, 1, fp) != 1) + FATAL_ERROR("Failed to read \"%s\".\n", filename.c_str()); + + m_buffer[m_size] = 0; + + std::fclose(fp); + + m_pos = 0; + m_lineNum = 1; +} + +CFile::CFile(CFile&& other) : m_filename(std::move(other.m_filename)) +{ + m_buffer = other.m_buffer; + m_pos = other.m_pos; + m_size = other.m_size; + m_lineNum = other.m_lineNum; + + other.m_buffer = nullptr; +} + +CFile::~CFile() +{ + delete[] m_buffer; +} + +void CFile::Preproc() +{ + char stringChar = 0; + + while (m_pos < m_size) + { + if (stringChar) + { + if (m_buffer[m_pos] == stringChar) + { + std::putchar(stringChar); + m_pos++; + stringChar = 0; + } + else if (m_buffer[m_pos] == '\\' && m_buffer[m_pos + 1] == stringChar) + { + std::putchar('\\'); + std::putchar(stringChar); + m_pos += 2; + } + else + { + if (m_buffer[m_pos] == '\n') + m_lineNum++; + std::putchar(m_buffer[m_pos]); + m_pos++; + } + } + else + { + TryConvertString(); + TryConvertIncbin(); + + if (m_pos >= m_size) + break; + + char c = m_buffer[m_pos++]; + + std::putchar(c); + + if (c == '\n') + m_lineNum++; + else if (c == '"') + stringChar = '"'; + else if (c == '\'') + stringChar = '\''; + } + } +} + +bool CFile::ConsumeHorizontalWhitespace() +{ + if (m_buffer[m_pos] == '\t' || m_buffer[m_pos] == ' ') + { + m_pos++; + return true; + } + + return false; +} + +bool CFile::ConsumeNewline() +{ + if (m_buffer[m_pos] == '\r' && m_buffer[m_pos + 1] == '\n') + { + m_pos += 2; + m_lineNum++; + std::putchar('\n'); + return true; + } + + if (m_buffer[m_pos] == '\n') + { + m_pos++; + m_lineNum++; + std::putchar('\n'); + return true; + } + + return false; +} + +void CFile::SkipWhitespace() +{ + while (ConsumeHorizontalWhitespace() || ConsumeNewline()) + ; +} + +void CFile::TryConvertString() +{ + long oldPos = m_pos; + long oldLineNum = m_lineNum; + bool noTerminator = false; + + if (m_buffer[m_pos] != '_' || (m_pos > 0 && IsIdentifierChar(m_buffer[m_pos - 1]))) + return; + + m_pos++; + + if (m_buffer[m_pos] == '_') + { + noTerminator = true; + m_pos++; + } + + SkipWhitespace(); + + if (m_buffer[m_pos] != '(') + { + m_pos = oldPos; + m_lineNum = oldLineNum; + return; + } + + m_pos++; + + SkipWhitespace(); + + std::printf("{ "); + + while (1) + { + SkipWhitespace(); + + if (m_buffer[m_pos] == '"') + { + unsigned char s[kMaxStringLength]; + int length; + StringParser stringParser(m_buffer, m_size); + + try + { + m_pos += stringParser.ParseString(m_pos, s, length); + } + catch (std::runtime_error e) + { + RaiseError(e.what()); + } + + for (int i = 0; i < length; i++) + printf("0x%02X, ", s[i]); + } + else if (m_buffer[m_pos] == ')') + { + m_pos++; + break; + } + else + { + if (m_pos >= m_size) + RaiseError("unexpected EOF"); + if (IsAsciiPrintable(m_buffer[m_pos])) + RaiseError("unexpected character '%c'", m_buffer[m_pos]); + else + RaiseError("unexpected character '\\x%02X'", m_buffer[m_pos]); + } + } + + if (noTerminator) + std::printf(" }"); + else + std::printf("0xFF }"); +} + +bool CFile::CheckIdentifier(const std::string& ident) +{ + unsigned int i; + + for (i = 0; i < ident.length() && m_pos + i < (unsigned)m_size; i++) + if (ident[i] != m_buffer[m_pos + i]) + return false; + + return (i == ident.length()); +} + +std::unique_ptr CFile::ReadWholeFile(const std::string& path, int& size) +{ + FILE* fp = std::fopen(path.c_str(), "rb"); + + if (fp == nullptr) + RaiseError("Failed to open \"%s\" for reading.\n", path.c_str()); + + std::fseek(fp, 0, SEEK_END); + + size = std::ftell(fp); + + std::unique_ptr buffer = std::unique_ptr(new unsigned char[size]); + + std::rewind(fp); + + if (std::fread(buffer.get(), size, 1, fp) != 1) + RaiseError("Failed to read \"%s\".\n", path.c_str()); + + std::fclose(fp); + + return buffer; +} + +int ExtractData(const std::unique_ptr& buffer, int offset, int size) +{ + switch (size) + { + case 1: + return buffer[offset]; + case 2: + return (buffer[offset + 1] << 8) + | buffer[offset]; + case 4: + return (buffer[offset + 3] << 24) + | (buffer[offset + 2] << 16) + | (buffer[offset + 1] << 8) + | buffer[offset]; + default: + FATAL_ERROR("Invalid size passed to ExtractData.\n"); + } +} + +void CFile::TryConvertIncbin() +{ + std::string idents[6] = { "INCBIN_S8", "INCBIN_U8", "INCBIN_S16", "INCBIN_U16", "INCBIN_S32", "INCBIN_U32" }; + int incbinType = -1; + + for (int i = 0; i < 6; i++) + { + if (CheckIdentifier(idents[i])) + { + incbinType = i; + break; + } + } + + if (incbinType == -1) + return; + + int size = 1 << (incbinType / 2); + bool isSigned = ((incbinType % 2) == 0); + + long oldPos = m_pos; + long oldLineNum = m_lineNum; + + m_pos += idents[incbinType].length(); + + SkipWhitespace(); + + if (m_buffer[m_pos] != '(') + { + m_pos = oldPos; + m_lineNum = oldLineNum; + return; + } + + m_pos++; + + SkipWhitespace(); + + if (m_buffer[m_pos] != '"') + RaiseError("expected double quote"); + + m_pos++; + + int startPos = m_pos; + + while (m_buffer[m_pos] != '"') + { + if (m_buffer[m_pos] == 0) + { + if (m_pos >= m_size) + RaiseError("unexpected EOF in path string"); + else + RaiseError("unexpected null character in path string"); + } + + if (m_buffer[m_pos] == '\r' || m_buffer[m_pos] == '\n') + RaiseError("unexpected end of line character in path string"); + + if (m_buffer[m_pos] == '\\') + RaiseError("unexpected escape in path string"); + + m_pos++; + } + + std::string path(&m_buffer[startPos], m_pos - startPos); + + m_pos++; + + SkipWhitespace(); + + if (m_buffer[m_pos] != ')') + RaiseError("expected ')'"); + + m_pos++; + + std::printf("{"); + + int fileSize; + std::unique_ptr buffer = ReadWholeFile(path, fileSize); + + if ((fileSize % size) != 0) + RaiseError("Size %d doesn't evenly divide file size %d.\n", size, fileSize); + + int count = fileSize / size; + int offset = 0; + + for (int i = 0; i < count; i++) + { + int data = ExtractData(buffer, offset, size); + offset += size; + + if (isSigned) + std::printf("%d,", data); + else + std::printf("%uu,", data); + } + + std::printf("}"); +} + +// Reports a diagnostic message. +void CFile::ReportDiagnostic(const char* type, const char* format, std::va_list args) +{ + const int bufferSize = 1024; + char buffer[bufferSize]; + std::vsnprintf(buffer, bufferSize, format, args); + std::fprintf(stderr, "%s:%ld: %s: %s\n", m_filename.c_str(), m_lineNum, type, buffer); +} + +#define DO_REPORT(type) \ +do \ +{ \ + std::va_list args; \ + va_start(args, format); \ + ReportDiagnostic(type, format, args); \ + va_end(args); \ +} while (0) + +// Reports an error diagnostic and terminates the program. +void CFile::RaiseError(const char* format, ...) +{ + DO_REPORT("error"); + std::exit(1); +} + +// Reports a warning diagnostic. +void CFile::RaiseWarning(const char* format, ...) +{ + DO_REPORT("warning"); +} diff --git a/tools/preproc/c_file.h b/tools/preproc/c_file.h new file mode 100644 index 0000000000..7369aba852 --- /dev/null +++ b/tools/preproc/c_file.h @@ -0,0 +1,58 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef C_FILE_H +#define C_FILE_H + +#include +#include +#include +#include +#include "preproc.h" + +class CFile +{ +public: + CFile(std::string filename); + CFile(CFile&& other); + CFile(const CFile&) = delete; + ~CFile(); + void Preproc(); + +private: + char* m_buffer; + long m_pos; + long m_size; + long m_lineNum; + std::string m_filename; + + bool ConsumeHorizontalWhitespace(); + bool ConsumeNewline(); + void SkipWhitespace(); + void TryConvertString(); + std::unique_ptr ReadWholeFile(const std::string& path, int& size); + bool CheckIdentifier(const std::string& ident); + void TryConvertIncbin(); + void ReportDiagnostic(const char* type, const char* format, std::va_list args); + void RaiseError(const char* format, ...); + void RaiseWarning(const char* format, ...); +}; + +#endif // C_FILE_H diff --git a/tools/preproc/char_util.h b/tools/preproc/char_util.h new file mode 100644 index 0000000000..02a6e1ceb2 --- /dev/null +++ b/tools/preproc/char_util.h @@ -0,0 +1,71 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef CHAR_UTIL_H +#define CHAR_UTIL_H + +#include +#include + +inline bool IsAscii(unsigned char c) +{ + return (c < 128); +} + +inline bool IsAsciiAlpha(unsigned char c) +{ + return ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')); +} + +inline bool IsAsciiDigit(unsigned char c) +{ + return (c >= '0' && c <= '9'); +} + +inline bool IsAsciiHexDigit(unsigned char c) +{ + return ((c >= '0' && c <= '9') + || (c >= 'a' && c <= 'f') + || (c >= 'A' && c <= 'F')); +} + +inline bool IsAsciiAlphanum(unsigned char c) +{ + return (IsAsciiAlpha(c) || IsAsciiDigit(c)); +} + +inline bool IsAsciiPrintable(unsigned char c) +{ + return (c >= ' ' && c <= '~'); +} + +// Returns whether the character can start a C identifier or the identifier of a "{FOO}" constant in strings. +inline bool IsIdentifierStartingChar(unsigned char c) +{ + return IsAsciiAlpha(c) || c == '_'; +} + +// Returns whether the character can be used in a C identifier or the identifier of a "{FOO}" constant in strings. +inline bool IsIdentifierChar(unsigned char c) +{ + return IsAsciiAlphanum(c) || c == '_'; +} + +#endif // CHAR_UTIL_H diff --git a/tools/preproc/charmap.cpp b/tools/preproc/charmap.cpp new file mode 100644 index 0000000000..a7bedfe26f --- /dev/null +++ b/tools/preproc/charmap.cpp @@ -0,0 +1,408 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include +#include +#include +#include "preproc.h" +#include "charmap.h" +#include "char_util.h" +#include "utf8.h" + +enum LhsType +{ + Char, + Escape, + Constant, + None +}; + +struct Lhs +{ + LhsType type; + std::string name; + std::int32_t code; +}; + +class CharmapReader +{ +public: + CharmapReader(std::string filename); + CharmapReader(const CharmapReader&) = delete; + ~CharmapReader(); + Lhs ReadLhs(); + void ExpectEqualsSign(); + std::string ReadSequence(); + void ExpectEmptyRestOfLine(); + void RaiseError(const char* format, ...); + +private: + char* m_buffer; + long m_pos; + long m_size; + long m_lineNum; + std::string m_filename; + + void RemoveComments(); + std::string ReadConstant(); + void SkipWhitespace(); +}; + +CharmapReader::CharmapReader(std::string filename) : m_filename(filename) +{ + FILE *fp = std::fopen(filename.c_str(), "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for reading.\n", filename.c_str()); + + std::fseek(fp, 0, SEEK_END); + + m_size = std::ftell(fp); + + if (m_size < 0) + FATAL_ERROR("File size of \"%s\" is less than zero.\n", filename.c_str()); + + m_buffer = new char[m_size + 1]; + + std::rewind(fp); + + if (std::fread(m_buffer, m_size, 1, fp) != 1) + FATAL_ERROR("Failed to read \"%s\".\n", filename.c_str()); + + m_buffer[m_size] = 0; + + std::fclose(fp); + + m_pos = 0; + m_lineNum = 1; + + RemoveComments(); +} + +CharmapReader::~CharmapReader() +{ + delete[] m_buffer; +} + +Lhs CharmapReader::ReadLhs() +{ + Lhs lhs; + + for (;;) + { + SkipWhitespace(); + + if (m_buffer[m_pos] == '\n') + { + m_pos++; + m_lineNum++; + } + else + { + break; + } + } + + if (m_buffer[m_pos] == '\'') + { + m_pos++; + + bool isEscape = (m_buffer[m_pos] == '\\'); + + if (isEscape) + { + m_pos++; + } + + unsigned char c = m_buffer[m_pos]; + + if (c == 0) + { + if (m_pos >= m_size) + RaiseError("unexpected EOF in UTF-8 character literal"); + else + RaiseError("unexpected null character in UTF-8 character literal"); + } + + if (IsAscii(c) && !IsAsciiPrintable(c)) + RaiseError("unexpected character U+%X in UTF-8 character literal", c); + + UnicodeChar unicodeChar = DecodeUtf8(&m_buffer[m_pos]); + std::int32_t code = unicodeChar.code; + + if (code == -1) + RaiseError("invalid encoding in UTF-8 character literal"); + + m_pos += unicodeChar.encodingLength; + + if (m_buffer[m_pos] != '\'') + RaiseError("unterminated character literal"); + + m_pos++; + + lhs.code = code; + + if (isEscape) + { + if (code >= 128) + RaiseError("escapes using non-ASCII characters are invalid"); + + switch (code) + { + case '\'': + lhs.type = LhsType::Char; + break; + case '\\': + lhs.type = LhsType::Char; + case '"': + RaiseError("cannot escape double quote"); + break; + default: + lhs.type = LhsType::Escape; + } + } + else + { + if (code == '\'') + RaiseError("empty character literal"); + + lhs.type = LhsType::Char; + } + } + else if (IsIdentifierStartingChar(m_buffer[m_pos])) + { + lhs.type = LhsType::Constant; + lhs.name = ReadConstant(); + } + else if (m_buffer[m_pos] == '\r') + { + RaiseError("only Unix-style LF newlines are supported"); + } + else if (m_buffer[m_pos] == 0) + { + if (m_pos < m_size) + RaiseError("unexpected null character"); + lhs.type = LhsType::None; + } + else + { + RaiseError("junk at start of line"); + } + + return lhs; +} + +void CharmapReader::ExpectEqualsSign() +{ + SkipWhitespace(); + + if (m_buffer[m_pos] != '=') + RaiseError("expected equals sign"); + + m_pos++; +} + +static unsigned int ConvertHexDigit(char c) +{ + unsigned int digit = 0; + + if (c >= '0' && c <= '9') + digit = c - '0'; + else if (c >= 'A' && c <= 'F') + digit = 10 + c - 'A'; + else if (c >= 'a' && c <= 'f') + digit = 10 + c - 'a'; + + return digit; +} + +std::string CharmapReader::ReadSequence() +{ + SkipWhitespace(); + + long startPos = m_pos; + + unsigned int length = 0; + + while (IsAsciiHexDigit(m_buffer[m_pos]) && IsAsciiHexDigit(m_buffer[m_pos + 1])) + { + m_pos += 2; + length++; + + if (length > kMaxCharmapSequenceLength) + RaiseError("byte sequence too long (max is %lu bytes)", kMaxCharmapSequenceLength); + + SkipWhitespace(); + } + + if (IsAsciiHexDigit(m_buffer[m_pos])) + RaiseError("each byte must have 2 hex digits"); + + if (length == 0) + RaiseError("expected byte sequence"); + + std::string sequence; + sequence.reserve(length); + + m_pos = startPos; + + for (unsigned int i = 0; i < length; i++) + { + unsigned int digit1 = ConvertHexDigit(m_buffer[m_pos]); + unsigned int digit2 = ConvertHexDigit(m_buffer[m_pos + 1]); + unsigned char byte = digit1 * 16 + digit2; + sequence += byte; + + m_pos += 2; + SkipWhitespace(); + } + + return sequence; +} + +void CharmapReader::ExpectEmptyRestOfLine() +{ + SkipWhitespace(); + + if (m_buffer[m_pos] == 0) + { + if (m_pos < m_size) + RaiseError("unexpected null character"); + } + else if (m_buffer[m_pos] == '\n') + { + m_pos++; + m_lineNum++; + } + else if (m_buffer[m_pos] == '\r') + { + RaiseError("only Unix-style LF newlines are supported"); + } + else + { + RaiseError("junk at end of line"); + } +} + +void CharmapReader::RaiseError(const char* format, ...) +{ + const int bufferSize = 1024; + char buffer[bufferSize]; + + std::va_list args; + va_start(args, format); + std::vsnprintf(buffer, bufferSize, format, args); + va_end(args); + + std::fprintf(stderr, "%s:%ld: error: %s\n", m_filename.c_str(), m_lineNum, buffer); + + std::exit(1); +} + +void CharmapReader::RemoveComments() +{ + long pos = 0; + bool inString = false; + + for (;;) + { + if (m_buffer[pos] == 0) + return; + + if (inString) + { + if (m_buffer[pos] == '\\' && m_buffer[pos + 1] == '\'') + { + pos += 2; + } + else + { + if (m_buffer[pos] == '\'') + inString = false; + pos++; + } + } + else if (m_buffer[pos] == '@') + { + while (m_buffer[pos] != '\n' && m_buffer[pos] != 0) + m_buffer[pos++] = ' '; + } + else + { + if (m_buffer[pos] == '\'') + inString = true; + pos++; + } + } +} + +std::string CharmapReader::ReadConstant() +{ + long startPos = m_pos; + + while (IsIdentifierChar(m_buffer[m_pos])) + m_pos++; + + return std::string(&m_buffer[startPos], m_pos - startPos); +} + +void CharmapReader::SkipWhitespace() +{ + while (m_buffer[m_pos] == '\t' || m_buffer[m_pos] == ' ') + m_pos++; +} + +Charmap::Charmap(std::string filename) +{ + CharmapReader reader(filename); + + for (;;) + { + Lhs lhs = reader.ReadLhs(); + + if (lhs.type == LhsType::None) + return; + + reader.ExpectEqualsSign(); + + std::string sequence = reader.ReadSequence(); + + switch (lhs.type) + { + case LhsType::Char: + if (m_chars.find(lhs.code) != m_chars.end()) + reader.RaiseError("redefining char"); + m_chars[lhs.code] = sequence; + break; + case LhsType::Escape: + if (m_escapes[lhs.code].length() != 0) + reader.RaiseError("redefining escape"); + m_escapes[lhs.code] = sequence; + break; + case LhsType::Constant: + if (m_constants.find(lhs.name) != m_constants.end()) + reader.RaiseError("redefining constant"); + m_constants[lhs.name] = sequence; + break; + } + + reader.ExpectEmptyRestOfLine(); + } +} diff --git a/tools/preproc/charmap.h b/tools/preproc/charmap.h new file mode 100644 index 0000000000..0d752ac99f --- /dev/null +++ b/tools/preproc/charmap.h @@ -0,0 +1,64 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef CHARMAP_H +#define CHARMAP_H + +#include +#include +#include +#include + +class Charmap +{ +public: + Charmap(std::string filename); + + std::string Char(std::int32_t code) + { + auto it = m_chars.find(code); + + if (it == m_chars.end()) + return std::string(); + + return it->second; + } + + std::string Escape(unsigned char code) + { + return m_escapes[code]; + } + + std::string Constant(std::string identifier) + { + auto it = m_constants.find(identifier); + + if (it == m_constants.end()) + return std::string(); + + return it->second; + } +private: + std::map m_chars; + std::string m_escapes[128]; + std::map m_constants; +}; + +#endif // CHARMAP_H diff --git a/tools/preproc/preproc.cpp b/tools/preproc/preproc.cpp new file mode 100644 index 0000000000..c9c6042df1 --- /dev/null +++ b/tools/preproc/preproc.cpp @@ -0,0 +1,156 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include +#include +#include "preproc.h" +#include "asm_file.h" +#include "c_file.h" +#include "charmap.h" + +Charmap* g_charmap; + +void PrintAsmBytes(unsigned char *s, int length) +{ + if (length > 0) + { + std::printf("\t.byte "); + for (int i = 0; i < length; i++) + { + std::printf("0x%02X", s[i]); + + if (i < length - 1) + std::printf(", "); + } + std::putchar('\n'); + } +} + +void PreprocAsmFile(std::string filename) +{ + std::stack stack; + + stack.push(AsmFile(filename)); + + for (;;) + { + while (stack.top().IsAtEnd()) + { + stack.pop(); + + if (stack.empty()) + return; + else + stack.top().OutputLocation(); + } + + Directive directive = stack.top().GetDirective(); + + switch (directive) + { + case Directive::Include: + stack.push(AsmFile(stack.top().ReadPath())); + stack.top().OutputLocation(); + break; + case Directive::String: + { + unsigned char s[kMaxStringLength]; + int length = stack.top().ReadString(s); + PrintAsmBytes(s, length); + break; + } + case Directive::Braille: + { + unsigned char s[kMaxStringLength]; + int length = stack.top().ReadBraille(s); + PrintAsmBytes(s, length); + break; + } + case Directive::Unknown: + { + std::string globalLabel = stack.top().GetGlobalLabel(); + + if (globalLabel.length() != 0) + { + const char *s = globalLabel.c_str(); + std::printf("%s: ; .global %s\n", s, s); + } + else + { + stack.top().OutputLine(); + } + + break; + } + } + } +} + +void PreprocCFile(std::string filename) +{ + CFile cFile(filename); + cFile.Preproc(); +} + +char* GetFileExtension(char* filename) +{ + char* extension = filename; + + while (*extension != 0) + extension++; + + while (extension > filename && *extension != '.') + extension--; + + if (extension == filename) + return nullptr; + + extension++; + + if (*extension == 0) + return nullptr; + + return extension; +} + +int main(int argc, char **argv) +{ + if (argc != 3) + { + std::fprintf(stderr, "Usage: %s SRC_FILE CHARMAP_FILE", argv[0]); + return 1; + } + + g_charmap = new Charmap(argv[2]); + + char* extension = GetFileExtension(argv[1]); + + if (!extension) + FATAL_ERROR("\"%s\" has no file extension.\n", argv[1]); + + if ((extension[0] == 's') && extension[1] == 0) + PreprocAsmFile(argv[1]); + else if ((extension[0] == 'c' || extension[0] == 'i') && extension[1] == 0) + PreprocCFile(argv[1]); + else + FATAL_ERROR("\"%s\" has an unknown file extension of \"%s\".\n", argv[1], extension); + + return 0; +} diff --git a/tools/preproc/preproc.h b/tools/preproc/preproc.h new file mode 100644 index 0000000000..515f64e079 --- /dev/null +++ b/tools/preproc/preproc.h @@ -0,0 +1,54 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef PREPROC_H +#define PREPROC_H + +#include +#include +#include "charmap.h" + +#ifdef _MSC_VER + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + std::fprintf(stderr, format, __VA_ARGS__); \ + std::exit(1); \ +} while (0) + +#else + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + std::fprintf(stderr, format, ##__VA_ARGS__); \ + std::exit(1); \ +} while (0) + +#endif // _MSC_VER + +const int kMaxPath = 256; +const int kMaxStringLength = 1024; +const unsigned long kMaxCharmapSequenceLength = 16; + +extern Charmap* g_charmap; + +#endif // PREPROC_H diff --git a/tools/preproc/string_parser.cpp b/tools/preproc/string_parser.cpp new file mode 100644 index 0000000000..dd5196a444 --- /dev/null +++ b/tools/preproc/string_parser.cpp @@ -0,0 +1,355 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include +#include +#include +#include "preproc.h" +#include "string_parser.h" +#include "char_util.h" +#include "utf8.h" + +// Reads a charmap char or escape sequence. +std::string StringParser::ReadCharOrEscape() +{ + std::string sequence; + + bool isEscape = (m_buffer[m_pos] == '\\'); + + if (isEscape) + { + m_pos++; + + if (m_buffer[m_pos] == '"') + { + sequence = g_charmap->Char('"'); + + if (sequence.length() == 0) + RaiseError("no mapping exists for double quote"); + + return sequence; + } + else if (m_buffer[m_pos] == '\\') + { + sequence = g_charmap->Char('\\'); + + if (sequence.length() == 0) + RaiseError("no mapping exists for backslash"); + + return sequence; + } + } + + unsigned char c = m_buffer[m_pos]; + + if (c == 0) + { + if (m_pos >= m_size) + RaiseError("unexpected EOF in UTF-8 string"); + else + RaiseError("unexpected null character in UTF-8 string"); + } + + if (IsAscii(c) && !IsAsciiPrintable(c)) + RaiseError("unexpected character U+%X in UTF-8 string", c); + + UnicodeChar unicodeChar = DecodeUtf8(&m_buffer[m_pos]); + m_pos += unicodeChar.encodingLength; + std::int32_t code = unicodeChar.code; + + if (code == -1) + RaiseError("invalid encoding in UTF-8 string"); + + if (isEscape && code >= 128) + RaiseError("escapes using non-ASCII characters are invalid"); + + sequence = isEscape ? g_charmap->Escape(code) : g_charmap->Char(code); + + if (sequence.length() == 0) + { + if (isEscape) + RaiseError("unknown escape '\\%c'", code); + else + RaiseError("unknown character U+%X", code); + } + + return sequence; +} + +// Reads a charmap constant, i.e. "{FOO}". +std::string StringParser::ReadBracketedConstants() +{ + std::string totalSequence; + + m_pos++; // Assume we're on the left curly bracket. + + while (m_buffer[m_pos] != '}') + { + SkipWhitespace(); + + if (IsIdentifierStartingChar(m_buffer[m_pos])) + { + long startPos = m_pos; + + m_pos++; + + while (IsIdentifierChar(m_buffer[m_pos])) + m_pos++; + + std::string sequence = g_charmap->Constant(std::string(&m_buffer[startPos], m_pos - startPos)); + + if (sequence.length() == 0) + { + m_buffer[m_pos] = 0; + RaiseError("unknown constant '%s'", &m_buffer[startPos]); + } + + totalSequence += sequence; + } + else if (IsAsciiDigit(m_buffer[m_pos])) + { + Integer integer = ReadInteger(); + + switch (integer.size) + { + case 1: + totalSequence += (unsigned char)integer.value; + break; + case 2: + totalSequence += (unsigned char)integer.value; + totalSequence += (unsigned char)(integer.value >> 8); + break; + case 4: + totalSequence += (unsigned char)integer.value; + totalSequence += (unsigned char)(integer.value >> 8); + totalSequence += (unsigned char)(integer.value >> 16); + totalSequence += (unsigned char)(integer.value >> 24); + break; + } + } + else if (m_buffer[m_pos] == 0) + { + if (m_pos >= m_size) + RaiseError("unexpected EOF after left curly bracket"); + else + RaiseError("unexpected null character within curly brackets"); + } + else + { + if (IsAsciiPrintable(m_buffer[m_pos])) + RaiseError("unexpected character '%c' within curly brackets", m_buffer[m_pos]); + else + RaiseError("unexpected character '\\x%02X' within curly brackets", m_buffer[m_pos]); + } + } + + m_pos++; // Go past the right curly bracket. + + return totalSequence; +} + +// Reads a charmap string. +int StringParser::ParseString(long srcPos, unsigned char* dest, int& destLength) +{ + m_pos = srcPos; + + if (m_buffer[m_pos] != '"') + RaiseError("expected UTF-8 string literal"); + + long start = m_pos; + + m_pos++; + + destLength = 0; + + while (m_buffer[m_pos] != '"') + { + std::string sequence = (m_buffer[m_pos] == '{') ? ReadBracketedConstants() : ReadCharOrEscape(); + + for (const char& c : sequence) + { + if (destLength == kMaxStringLength) + RaiseError("mapped string longer than %d bytes", kMaxStringLength); + + dest[destLength++] = c; + } + } + + m_pos++; // Go past the right quote. + + return m_pos - start; +} + +void StringParser::RaiseError(const char* format, ...) +{ + const int bufferSize = 1024; + char buffer[bufferSize]; + + std::va_list args; + va_start(args, format); + std::vsnprintf(buffer, bufferSize, format, args); + va_end(args); + + throw std::runtime_error(buffer); +} + +// Converts digit character to numerical value. +static int ConvertDigit(char c, int radix) +{ + int digit; + + if (c >= '0' && c <= '9') + digit = c - '0'; + else if (c >= 'A' && c <= 'F') + digit = 10 + c - 'A'; + else if (c >= 'a' && c <= 'f') + digit = 10 + c - 'a'; + else + return -1; + + return (digit < radix) ? digit : -1; +} + +void StringParser::SkipRestOfInteger(int radix) +{ + while (ConvertDigit(m_buffer[m_pos], radix) != -1) + m_pos++; +} + +StringParser::Integer StringParser::ReadDecimal() +{ + const int radix = 10; + std::uint64_t n = 0; + int digit; + std::uint64_t max = UINT32_MAX; + long startPos = m_pos; + + while ((digit = ConvertDigit(m_buffer[m_pos], radix)) != -1) + { + n = n * radix + digit; + + if (n >= max) + { + SkipRestOfInteger(radix); + + std::string intLiteral(m_buffer + startPos, m_pos - startPos); + RaiseError("integer literal \"%s\" is too large", intLiteral.c_str()); + } + + m_pos++; + } + + int size; + + if (m_buffer[m_pos] == 'H') + { + if (n >= 0x10000) + { + RaiseError("%lu is too large to be a halfword", (unsigned long)n); + } + + size = 2; + m_pos++; + } + else if (m_buffer[m_pos] == 'W') + { + size = 4; + m_pos++; + } + else + { + if (n >= 0x10000) + size = 4; + else if (n >= 0x100) + size = 2; + else + size = 1; + } + + return{ static_cast(n), size }; +} + +StringParser::Integer StringParser::ReadHex() +{ + const int radix = 16; + std::uint64_t n = 0; + int digit; + std::uint64_t max = UINT32_MAX; + long startPos = m_pos; + + while ((digit = ConvertDigit(m_buffer[m_pos], radix)) != -1) + { + n = n * radix + digit; + + if (n >= max) + { + SkipRestOfInteger(radix); + + std::string intLiteral(m_buffer + startPos, m_pos - startPos); + RaiseError("integer literal \"%s\" is too large", intLiteral.c_str()); + } + + m_pos++; + } + + int length = m_pos - startPos; + int size = 0; + + switch (length) + { + case 2: + size = 1; + break; + case 4: + size = 2; + break; + case 8: + size = 4; + break; + default: + { + std::string intLiteral(m_buffer + startPos, m_pos - startPos); + RaiseError("hex integer literal \"0x%s\" doesn't have length of 2, 4, or 8 digits", intLiteral.c_str()); + } + } + + return{ static_cast(n), size }; +} + +StringParser::Integer StringParser::ReadInteger() +{ + if (!IsAsciiDigit(m_buffer[m_pos])) + RaiseError("expected integer"); + + if (m_buffer[m_pos] == '0' && m_buffer[m_pos + 1] == 'x') + { + m_pos += 2; + return ReadHex(); + } + + return ReadDecimal(); +} + +// Skips tabs and spaces. +void StringParser::SkipWhitespace() +{ + while (m_buffer[m_pos] == '\t' || m_buffer[m_pos] == ' ') + m_pos++; +} diff --git a/tools/preproc/string_parser.h b/tools/preproc/string_parser.h new file mode 100644 index 0000000000..abd2bfe9a2 --- /dev/null +++ b/tools/preproc/string_parser.h @@ -0,0 +1,55 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef STRING_PARSER_H +#define STRING_PARSER_H + +#include +#include +#include "preproc.h" + +class StringParser +{ +public: + StringParser(char* buffer, long size) : m_buffer(buffer), m_size(size), m_pos(0) {} + int ParseString(long srcPos, unsigned char* dest, int &destLength); + +private: + struct Integer + { + std::uint32_t value; + int size; + }; + + char* m_buffer; + long m_size; + long m_pos; + + Integer ReadInteger(); + Integer ReadDecimal(); + Integer ReadHex(); + std::string ReadCharOrEscape(); + std::string ReadBracketedConstants(); + void SkipWhitespace(); + void SkipRestOfInteger(int radix); + void RaiseError(const char* format, ...); +}; + +#endif // STRING_PARSER_H diff --git a/tools/preproc/utf8.cpp b/tools/preproc/utf8.cpp new file mode 100644 index 0000000000..7facfd44ee --- /dev/null +++ b/tools/preproc/utf8.cpp @@ -0,0 +1,92 @@ +// Copyright (c) 2008-2009 Bjoern Hoehrmann +// See http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ for details. +// +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include +#include "utf8.h" + +static const unsigned char s_byteTypeTable[] = +{ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 00..1f + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 20..3f + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 40..5f + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 60..7f + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, // 80..9f + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, // a0..bf + 8,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, // c0..df + 0xa,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x4,0x3,0x3, // e0..ef + 0xb,0x6,0x6,0x6,0x5,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8, // f0..ff +}; + +const unsigned char s0 = 0 * 12; +const unsigned char s1 = 1 * 12; +const unsigned char s2 = 2 * 12; +const unsigned char s3 = 3 * 12; +const unsigned char s4 = 4 * 12; +const unsigned char s5 = 5 * 12; +const unsigned char s6 = 6 * 12; +const unsigned char s7 = 7 * 12; +const unsigned char s8 = 8 * 12; + +static const unsigned char s_transitionTable[] = +{ + s0,s1,s2,s3,s5,s8,s7,s1,s1,s1,s4,s6, // s0 + s1,s1,s1,s1,s1,s1,s1,s1,s1,s1,s1,s1, // s1 + s1,s0,s1,s1,s1,s1,s1,s0,s1,s0,s1,s1, // s2 + s1,s2,s1,s1,s1,s1,s1,s2,s1,s2,s1,s1, // s3 + s1,s1,s1,s1,s1,s1,s1,s2,s1,s1,s1,s1, // s4 + s1,s2,s1,s1,s1,s1,s1,s1,s1,s2,s1,s1, // s5 + s1,s1,s1,s1,s1,s1,s1,s3,s1,s3,s1,s1, // s6 + s1,s3,s1,s1,s1,s1,s1,s3,s1,s3,s1,s1, // s7 + s1,s3,s1,s1,s1,s1,s1,s1,s1,s1,s1,s1, // s8 +}; + +// Decodes UTF-8 encoded Unicode code point at "s". +UnicodeChar DecodeUtf8(const char* s) +{ + UnicodeChar unicodeChar; + int state = s0; + auto start = s; + + do + { + unsigned char byte = *s++; + int type = s_byteTypeTable[byte]; + + if (state == s0) + unicodeChar.code = (0xFF >> type) & byte; + else + unicodeChar.code = (unicodeChar.code << 6) | (byte & 0x3F); + + state = s_transitionTable[state + type]; + + if (state == s1) + { + unicodeChar.code = -1; + return unicodeChar; + } + } while (state != s0); + + unicodeChar.encodingLength = s - start; + + return unicodeChar; +} diff --git a/tools/preproc/utf8.h b/tools/preproc/utf8.h new file mode 100644 index 0000000000..259de67c57 --- /dev/null +++ b/tools/preproc/utf8.h @@ -0,0 +1,34 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef UTF8_H +#define UTF8_H + +#include + +struct UnicodeChar +{ + std::int32_t code; + int encodingLength; +}; + +UnicodeChar DecodeUtf8(const char* s); + +#endif // UTF8_H diff --git a/tools/ramscrgen/.gitignore b/tools/ramscrgen/.gitignore new file mode 100644 index 0000000000..4d0ae82c30 --- /dev/null +++ b/tools/ramscrgen/.gitignore @@ -0,0 +1 @@ +ramscrgen diff --git a/tools/ramscrgen/LICENSE b/tools/ramscrgen/LICENSE new file mode 100644 index 0000000000..534d15349e --- /dev/null +++ b/tools/ramscrgen/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2016 YamaArashi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/tools/ramscrgen/Makefile b/tools/ramscrgen/Makefile new file mode 100644 index 0000000000..cc6d458ba1 --- /dev/null +++ b/tools/ramscrgen/Makefile @@ -0,0 +1,15 @@ +CXX := g++ + +CXXFLAGS := -std=c++11 -O2 -s -Wall -Wno-switch -Werror + +SRCS := main.cpp sym_file.cpp elf.cpp + +HEADERS := ramscrgen.h sym_file.h elf.h char_util.h + +.PHONY: clean + +ramscrgen: $(SRCS) $(HEADERS) + $(CXX) $(CXXFLAGS) $(SRCS) -o $@ $(LDFLAGS) + +clean: + $(RM) ramscrgen ramscrgen.exe diff --git a/tools/ramscrgen/char_util.h b/tools/ramscrgen/char_util.h new file mode 100644 index 0000000000..ab20dbc535 --- /dev/null +++ b/tools/ramscrgen/char_util.h @@ -0,0 +1,71 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef CHAR_UTIL_H +#define CHAR_UTIL_H + +#include +#include + +inline bool IsAscii(unsigned char c) +{ + return (c < 128); +} + +inline bool IsAsciiAlpha(unsigned char c) +{ + return ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')); +} + +inline bool IsAsciiDigit(unsigned char c) +{ + return (c >= '0' && c <= '9'); +} + +inline bool IsAsciiHexDigit(unsigned char c) +{ + return ((c >= '0' && c <= '9') + || (c >= 'a' && c <= 'f') + || (c >= 'A' && c <= 'F')); +} + +inline bool IsAsciiAlphanum(unsigned char c) +{ + return (IsAsciiAlpha(c) || IsAsciiDigit(c)); +} + +inline bool IsAsciiPrintable(unsigned char c) +{ + return (c >= ' ' && c <= '~'); +} + +// Returns whether the character can start the identifier of a "{FOO}" constant in strings. +inline bool IsIdentifierStartingChar(unsigned char c) +{ + return IsAsciiAlpha(c) || c == '_'; +} + +// Returns whether the character can be used in the identifier of a "{FOO}" constant in strings. +inline bool IsIdentifierChar(unsigned char c) +{ + return IsAsciiAlphanum(c) || c == '_'; +} + +#endif // CHAR_UTIL_H diff --git a/tools/ramscrgen/elf.cpp b/tools/ramscrgen/elf.cpp new file mode 100644 index 0000000000..7599fe0bbb --- /dev/null +++ b/tools/ramscrgen/elf.cpp @@ -0,0 +1,195 @@ +#include +#include +#include +#include +#include +#include +#include "ramscrgen.h" +#include "elf.h" + +#define SHN_COMMON 0xFFF2 + +static std::string s_elfPath; + +static FILE *s_file; + +static std::uint32_t s_sectionHeaderOffset; +static int s_sectionHeaderEntrySize; +static int s_sectionCount; +static int s_shstrtabIndex; + +static std::uint32_t s_symtabOffset; +static std::uint32_t s_strtabOffset; + +static std::uint32_t s_symbolCount; + +struct Symbol +{ + std::uint32_t nameOffset; + std::uint32_t size; +}; + +static void Seek(long offset) +{ + if (std::fseek(s_file, offset, SEEK_SET) != 0) + FATAL_ERROR("error: failed to seek to %ld in \"%s\"", offset, s_elfPath.c_str()); +} + +static void Skip(long offset) +{ + if (std::fseek(s_file, offset, SEEK_CUR) != 0) + FATAL_ERROR("error: failed to skip %ld bytes in \"%s\"", offset, s_elfPath.c_str()); +} + +static std::uint32_t ReadInt8() +{ + int c = std::fgetc(s_file); + + if (c < 0) + FATAL_ERROR("error: unexpected EOF when reading ELF file \"%s\"\n", s_elfPath.c_str()); + + return c; +} + +static std::uint32_t ReadInt16() +{ + std::uint32_t val = 0; + val |= ReadInt8(); + val |= ReadInt8() << 8; + return val; +} + +static std::uint32_t ReadInt32() +{ + std::uint32_t val = 0; + val |= ReadInt8(); + val |= ReadInt8() << 8; + val |= ReadInt8() << 16; + val |= ReadInt8() << 24; + return val; +} + +static std::string ReadString() +{ + std::string s; + char c; + + while ((c = ReadInt8()) != 0) + s += c; + + return s; +} + +static void VerifyElfIdent() +{ + char expectedMagic[4] = { 0x7F, 'E', 'L', 'F' }; + char magic[4]; + + if (std::fread(magic, 4, 1, s_file) != 1) + FATAL_ERROR("error: failed to read ELF magic from \"%s\"\n", s_elfPath.c_str()); + + if (std::memcmp(magic, expectedMagic, 4) != 0) + FATAL_ERROR("error: ELF magic did not match in \"%s\"\n", s_elfPath.c_str()); + + if (std::fgetc(s_file) != 1) + FATAL_ERROR("error: \"%s\" not 32-bit ELF\n", s_elfPath.c_str()); + + if (std::fgetc(s_file) != 1) + FATAL_ERROR("error: \"%s\" not little-endian ELF\n", s_elfPath.c_str()); +} + +static void ReadElfHeader() +{ + Seek(0x20); + s_sectionHeaderOffset = ReadInt32(); + Seek(0x2E); + s_sectionHeaderEntrySize = ReadInt16(); + s_sectionCount = ReadInt16(); + s_shstrtabIndex = ReadInt16(); +} + +static std::string GetSectionName(std::uint32_t shstrtabOffset, int index) +{ + Seek(s_sectionHeaderOffset + s_sectionHeaderEntrySize * index); + std::uint32_t nameOffset = ReadInt32(); + Seek(shstrtabOffset + nameOffset); + return ReadString(); +} + +static void FindTableOffsets() +{ + s_symtabOffset = 0; + s_strtabOffset = 0; + + Seek(s_sectionHeaderOffset + s_sectionHeaderEntrySize * s_shstrtabIndex + 0x10); + std::uint32_t shstrtabOffset = ReadInt32(); + + for (int i = 0; i < s_sectionCount; i++) + { + std::string name = GetSectionName(shstrtabOffset, i); + + if (name == ".symtab") + { + if (s_symtabOffset) + FATAL_ERROR("error: mutiple .symtab sections found in \"%s\"\n", s_elfPath.c_str()); + Seek(s_sectionHeaderOffset + s_sectionHeaderEntrySize * i + 0x10); + s_symtabOffset = ReadInt32(); + std::uint32_t size = ReadInt32(); + s_symbolCount = size / 16; + } + else if (name == ".strtab") + { + if (s_strtabOffset) + FATAL_ERROR("error: mutiple .strtab sections found in \"%s\"\n", s_elfPath.c_str()); + Seek(s_sectionHeaderOffset + s_sectionHeaderEntrySize * i + 0x10); + s_strtabOffset = ReadInt32(); + } + } + + if (!s_symtabOffset) + FATAL_ERROR("error: couldn't find .symtab section in \"%s\"\n", s_elfPath.c_str()); + + if (!s_strtabOffset) + FATAL_ERROR("error: couldn't find .strtab section in \"%s\"\n", s_elfPath.c_str()); +} + +std::map GetCommonSymbols(std::string path) +{ + s_elfPath = path; + + std::map commonSymbols; + + s_file = std::fopen(s_elfPath.c_str(), "rb"); + + if (s_file == NULL) + FATAL_ERROR("error: failed to open \"%s\" for reading\n", path.c_str()); + + VerifyElfIdent(); + ReadElfHeader(); + FindTableOffsets(); + + std::vector commonSymbolVec; + + Seek(s_symtabOffset); + + for (std::uint32_t i = 0; i < s_symbolCount; i++) + { + Symbol sym; + sym.nameOffset = ReadInt32(); + Skip(4); + sym.size = ReadInt32(); + Skip(2); + std::uint16_t sectionIndex = ReadInt16(); + if (sectionIndex == SHN_COMMON) + commonSymbolVec.push_back(sym); + } + + for (const Symbol& sym : commonSymbolVec) + { + Seek(s_strtabOffset + sym.nameOffset); + std::string name = ReadString(); + commonSymbols[name] = sym.size; + } + + return commonSymbols; +} diff --git a/tools/ramscrgen/elf.h b/tools/ramscrgen/elf.h new file mode 100644 index 0000000000..0bfdd696f6 --- /dev/null +++ b/tools/ramscrgen/elf.h @@ -0,0 +1,30 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef ELF_H +#define ELF_H + +#include +#include +#include + +std::map GetCommonSymbols(std::string path); + +#endif // ELF_H diff --git a/tools/ramscrgen/main.cpp b/tools/ramscrgen/main.cpp new file mode 100644 index 0000000000..6c4f4bbd70 --- /dev/null +++ b/tools/ramscrgen/main.cpp @@ -0,0 +1,173 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include +#include +#include +#include "ramscrgen.h" +#include "sym_file.h" +#include "elf.h" + +void HandleCommonInclude(std::string filename, std::string sourcePath, std::string symOrderPath, std::string lang) +{ + auto commonSymbols = GetCommonSymbols(sourcePath + "/" + filename); + + std::size_t dotIndex = filename.find_last_of('.'); + + if (dotIndex == std::string::npos) + FATAL_ERROR("error: \"%s\" doesn't have a file extension\n", filename.c_str()); + + std::string symOrderFilename = filename.substr(0, dotIndex + 1) + "txt"; + + SymFile symFile(symOrderPath + "/" + symOrderFilename); + + while (!symFile.IsAtEnd()) + { + symFile.HandleLangConditional(lang); + + std::string label = symFile.GetLabel(false); + + if (label.length() == 0) + { + unsigned long length; + if (symFile.ReadInteger(length)) + { + if (length & 3) + symFile.RaiseWarning("gap length %d is not multiple of 4", length); + printf(". += 0x%lX;\n", length); + } + } + else + { + if (commonSymbols.count(label) == 0) + symFile.RaiseError("no common symbol named \"%s\"", label.c_str()); + unsigned long size = commonSymbols[label]; + int alignment = 4; + if (size > 4) + alignment = 8; + if (size > 8) + alignment = 16; + printf(". = ALIGN(%d);\n", alignment); + printf("%s = .;\n", label.c_str()); + printf(". += 0x%lX;\n", size); + } + + symFile.ExpectEmptyRestOfLine(); + } +} + +void ConvertSymFile(std::string filename, std::string sectionName, std::string lang, bool common, std::string sourcePath, std::string commonSymPath) +{ + SymFile symFile(filename); + + while (!symFile.IsAtEnd()) + { + symFile.HandleLangConditional(lang); + + Directive directive = symFile.GetDirective(); + + switch (directive) + { + case Directive::Include: + { + std::string incFilename = symFile.ReadPath(); + symFile.ExpectEmptyRestOfLine(); + printf(". = ALIGN(4);\n"); + if (common) + HandleCommonInclude(incFilename, sourcePath, commonSymPath, lang); + else + printf("%s(%s);\n", incFilename.c_str(), sectionName.c_str()); + break; + } + case Directive::Space: + { + unsigned long length; + if (!symFile.ReadInteger(length)) + symFile.RaiseError("expected integer after .space directive"); + symFile.ExpectEmptyRestOfLine(); + printf(". += 0x%lX;\n", length); + break; + } + case Directive::Align: + { + unsigned long amount; + if (!symFile.ReadInteger(amount)) + symFile.RaiseError("expected integer after .align directive"); + if (amount > 4) + symFile.RaiseError("max alignment amount is 4"); + amount = 1UL << amount; + symFile.ExpectEmptyRestOfLine(); + printf(". = ALIGN(%lu);\n", amount); + break; + } + case Directive::Unknown: + { + std::string label = symFile.GetLabel(); + + if (label.length() != 0) + { + printf("%s = .;\n", label.c_str()); + } + + symFile.ExpectEmptyRestOfLine(); + + break; + } + } + } +} + +int main(int argc, char **argv) +{ + if (argc < 4) + { + fprintf(stderr, "Usage: %s SECTION_NAME SYM_FILE LANG [-c SRC_PATH,COMMON_SYM_PATH]", argv[0]); + return 1; + } + + bool common = false; + std::string sectionName = std::string(argv[1]); + std::string symFileName = std::string(argv[2]); + std::string lang = std::string(argv[3]); + std::string sourcePath; + std::string commonSymPath; + + if (argc > 4) + { + if (std::strcmp(argv[4], "-c") != 0) + FATAL_ERROR("error: unrecognized argument \"%s\"\n", argv[4]); + + if (argc < 6) + FATAL_ERROR("error: missing SRC_PATH,COMMON_SYM_PATH after \"-c\"\n"); + + common = true; + std::string paths = std::string(argv[5]); + std::size_t commaPos = paths.find(','); + + if (commaPos == std::string::npos) + FATAL_ERROR("error: missing comma in argument after \"-c\"\n"); + + sourcePath = paths.substr(0, commaPos); + commonSymPath = paths.substr(commaPos + 1); + } + + ConvertSymFile(symFileName, sectionName, lang, common, sourcePath, commonSymPath); + return 0; +} diff --git a/tools/ramscrgen/ramscrgen.h b/tools/ramscrgen/ramscrgen.h new file mode 100644 index 0000000000..1aed1c05a4 --- /dev/null +++ b/tools/ramscrgen/ramscrgen.h @@ -0,0 +1,49 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef RAMSCRGEN_H +#define RAMSCRGEN_H + +#include +#include + +#ifdef _MSC_VER + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + std::fprintf(stderr, format, __VA_ARGS__); \ + std::exit(1); \ +} while (0) + +#else + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + std::fprintf(stderr, format, ##__VA_ARGS__); \ + std::exit(1); \ +} while (0) + +#endif // _MSC_VER + +const int kMaxPath = 256; + +#endif // RAMSCRGEN_H diff --git a/tools/ramscrgen/sym_file.cpp b/tools/ramscrgen/sym_file.cpp new file mode 100644 index 0000000000..5379bd93f8 --- /dev/null +++ b/tools/ramscrgen/sym_file.cpp @@ -0,0 +1,492 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include +#include +#include +#include "ramscrgen.h" +#include "sym_file.h" +#include "char_util.h" + +SymFile::SymFile(std::string filename) : m_filename(filename) +{ + FILE *fp = std::fopen(filename.c_str(), "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for reading.\n", filename.c_str()); + + std::fseek(fp, 0, SEEK_END); + + m_size = std::ftell(fp); + + if (m_size < 0) + FATAL_ERROR("File size of \"%s\" is less than zero.\n", filename.c_str()); + + m_buffer = new char[m_size + 1]; + + std::rewind(fp); + + if (std::fread(m_buffer, m_size, 1, fp) != 1) + FATAL_ERROR("Failed to read \"%s\".\n", filename.c_str()); + + m_buffer[m_size] = 0; + + std::fclose(fp); + + m_pos = 0; + m_lineNum = 1; + m_lineStart = 0; + m_inLangConditional = false; + + RemoveComments(); +} + +SymFile::SymFile(SymFile&& other) : m_filename(std::move(other.m_filename)) +{ + m_buffer = other.m_buffer; + m_pos = other.m_pos; + m_size = other.m_size; + m_lineNum = other.m_lineNum; + m_lineStart = other.m_lineStart; + + other.m_buffer = nullptr; +} + +SymFile::~SymFile() +{ + delete[] m_buffer; +} + +// Removes comments to simplify further processing. +// It stops upon encountering a null character, +// which may or may not be the end of file marker. +// If it's not, the error will be caught later. +void SymFile::RemoveComments() +{ + long pos = 0; + char stringChar = 0; + + for (;;) + { + if (m_buffer[pos] == 0) + return; + + if (stringChar != 0) + { + if (m_buffer[pos] == '\\' && m_buffer[pos + 1] == stringChar) + { + pos += 2; + } + else + { + if (m_buffer[pos] == stringChar) + stringChar = 0; + pos++; + } + } + else if (m_buffer[pos] == '@' && (pos == 0 || m_buffer[pos - 1] != '\\')) + { + while (m_buffer[pos] != '\n' && m_buffer[pos] != 0) + m_buffer[pos++] = ' '; + } + else if (m_buffer[pos] == '/' && m_buffer[pos + 1] == '*') + { + m_buffer[pos++] = ' '; + m_buffer[pos++] = ' '; + + char commentStringChar = 0; + + for (;;) + { + if (m_buffer[pos] == 0) + return; + + if (commentStringChar != 0) + { + if (m_buffer[pos] == '\\' && m_buffer[pos + 1] == commentStringChar) + { + m_buffer[pos++] = ' '; + m_buffer[pos++] = ' '; + } + else + { + if (m_buffer[pos] == commentStringChar) + commentStringChar = 0; + if (m_buffer[pos] != '\n') + m_buffer[pos] = ' '; + pos++; + } + } + else + { + if (m_buffer[pos] == '*' && m_buffer[pos + 1] == '/') + { + m_buffer[pos++] = ' '; + m_buffer[pos++] = ' '; + break; + } + else + { + if (m_buffer[pos] == '"' || m_buffer[pos] == '\'') + commentStringChar = m_buffer[pos]; + if (m_buffer[pos] != '\n') + m_buffer[pos] = ' '; + pos++; + } + } + } + } + else + { + if (m_buffer[pos] == '"' || m_buffer[pos] == '\'') + stringChar = m_buffer[pos]; + pos++; + } + } +} + +// Checks if we're at a particular directive and if so, consumes it. +// Returns whether the directive was found. +bool SymFile::CheckForDirective(std::string name) +{ + long i; + long length = static_cast(name.length()); + + for (i = 0; i < length && m_pos + i < m_size; i++) + if (name[i] != m_buffer[m_pos + i]) + return false; + + if (i < length) + return false; + + m_pos += length; + + return true; +} + +// Checks if we're at a known directive and if so, consumes it. +// Returns which directive was found. +Directive SymFile::GetDirective() +{ + SkipWhitespace(); + + if (CheckForDirective(".include")) + return Directive::Include; + else if (CheckForDirective(".space")) + return Directive::Space; + else if (CheckForDirective(".align")) + return Directive::Align; + else + return Directive::Unknown; +} + +// Checks if we're at label. +// Returns the name if so and an empty string if not. +std::string SymFile::GetLabel(bool requireColon) +{ + long start = m_pos; + long pos = m_pos; + + if (IsIdentifierStartingChar(m_buffer[pos])) + { + pos++; + + while (IsIdentifierChar(m_buffer[pos])) + pos++; + } + + if (requireColon) + { + if (m_buffer[pos] == ':') + { + if (pos != start) + m_pos = pos + 1; + } + else + { + pos = start; + } + } + else + { + m_pos = pos; + } + + return std::string(&m_buffer[start], pos - start); +} + +// Skips tabs and spaces. +void SymFile::SkipWhitespace() +{ + while (m_buffer[m_pos] == '\t' || m_buffer[m_pos] == ' ') + m_pos++; +} + +// Reads include path. +std::string SymFile::ReadPath() +{ + SkipWhitespace(); + + if (m_buffer[m_pos] != '"') + RaiseError("expected file path"); + + m_pos++; + + int length = 0; + long startPos = m_pos; + + while (m_buffer[m_pos] != '"') + { + unsigned char c = m_buffer[m_pos++]; + + if (c == 0) + { + if (m_pos >= m_size) + RaiseError("unexpected EOF in include string"); + else + RaiseError("unexpected null character in include string"); + } + + if (!IsAsciiPrintable(c)) + RaiseError("unexpected character '\\x%02X' in include string", c); + + // Don't bother allowing any escape sequences. + if (c == '\\') + { + c = m_buffer[m_pos]; + RaiseError("unexpected escape '\\%c' in include string", c); + } + + length++; + + if (length > kMaxPath) + RaiseError("path is too long"); + } + + m_pos++; // Go past the right quote. + + return std::string(&m_buffer[startPos], length); +} + +// If we're at a comma, consumes it. +// Returns whether a comma was found. +bool SymFile::ConsumeComma() +{ + if (m_buffer[m_pos] == ',') + { + m_pos++; + return true; + } + + return false; +} + +// Converts digit character to numerical value. +static int ConvertDigit(char c, int radix) +{ + int digit; + + if (c >= '0' && c <= '9') + digit = c - '0'; + else if (c >= 'A' && c <= 'F') + digit = 10 + c - 'A'; + else if (c >= 'a' && c <= 'f') + digit = 10 + c - 'a'; + else + return -1; + + return (digit < radix) ? digit : -1; +} + +// Reads an integer. +bool SymFile::ReadInteger(unsigned long& n) +{ + SkipWhitespace(); + + if (!IsAsciiDigit(m_buffer[m_pos])) + return false; + + int startPos = m_pos; + int radix = 10; + + if (m_buffer[m_pos] == '0' && m_buffer[m_pos + 1] == 'x') + { + radix = 16; + m_pos += 2; + } + + unsigned long cutoff = ULONG_MAX / radix; + unsigned long cutoffRemainder = ULONG_MAX % radix; + int digit; + + n = 0; + + while ((digit = ConvertDigit(m_buffer[m_pos], radix)) != -1) + { + if (n < cutoff || (n == cutoff && (unsigned long)digit <= cutoffRemainder)) + { + n = n * radix + digit; + } + else + { + m_pos++; + + while (ConvertDigit(m_buffer[m_pos], radix) != -1) + m_pos++; + + RaiseError("integer is too large (%s)", std::string(&m_buffer[startPos], m_pos - startPos).c_str()); + } + + m_pos++; + } + + return true; +} + +// Asserts that the rest of the line is empty and moves to the next one. +void SymFile::ExpectEmptyRestOfLine() +{ + SkipWhitespace(); + + if (m_buffer[m_pos] == 0) + { + if (m_pos >= m_size) + RaiseWarning("file doesn't end with newline"); + else + RaiseError("unexpected null character"); + } + else if (m_buffer[m_pos] == '\n') + { + m_pos++; + m_lineStart = m_pos; + m_lineNum++; + } + else if (m_buffer[m_pos] == '\r') + { + RaiseError("only Unix-style LF newlines are supported"); + } + else + { + RaiseError("junk at end of line"); + } +} + + +void SymFile::SkipLine() +{ + while (m_buffer[m_pos] != 0 && m_buffer[m_pos] != '\n') + m_pos++; + + if (m_buffer[m_pos] == '\n') + m_pos++; +} + +// Checks if we're at the end of the file. +bool SymFile::IsAtEnd() +{ + return (m_pos >= m_size); +} + +void SymFile::HandleLangConditional(std::string lang) +{ + if (m_buffer[m_pos] != '#') + return; + + m_pos++; + + if (CheckForDirective("begin")) + { + if (m_inLangConditional) + RaiseError("already inside language conditional"); + + SkipWhitespace(); + + std::string label = GetLabel(false); + + if (label.length() == 0) + RaiseError("no language name after #begin"); + + ExpectEmptyRestOfLine(); + + if (lang == label) + { + m_inLangConditional = true; + } + else + { + while (!IsAtEnd() && m_buffer[m_pos] != '#') + SkipLine(); + + if (m_buffer[m_pos] != '#') + RaiseError("unterminated language conditional"); + + m_pos++; + + if (!CheckForDirective("end")) + RaiseError("expected #end"); + + ExpectEmptyRestOfLine(); + } + } + else if (CheckForDirective("end")) + { + if (!m_inLangConditional) + RaiseError("not inside language conditional"); + + m_inLangConditional = false; + + ExpectEmptyRestOfLine(); + } + else + { + RaiseError("unknown # directive"); + } +} + +// Reports a diagnostic message. +void SymFile::ReportDiagnostic(const char* type, const char* format, std::va_list args) +{ + const int bufferSize = 1024; + char buffer[bufferSize]; + std::vsnprintf(buffer, bufferSize, format, args); + std::fprintf(stderr, "%s:%ld: %s: %s\n", m_filename.c_str(), m_lineNum, type, buffer); +} + +#define DO_REPORT(type) \ +do \ +{ \ + std::va_list args; \ + va_start(args, format); \ + ReportDiagnostic(type, format, args); \ + va_end(args); \ +} while (0) + +// Reports an error diagnostic and terminates the program. +void SymFile::RaiseError(const char* format, ...) +{ + DO_REPORT("error"); + std::exit(1); +} + +// Reports a warning diagnostic. +void SymFile::RaiseWarning(const char* format, ...) +{ + DO_REPORT("warning"); +} diff --git a/tools/ramscrgen/sym_file.h b/tools/ramscrgen/sym_file.h new file mode 100644 index 0000000000..bb0c8038d9 --- /dev/null +++ b/tools/ramscrgen/sym_file.h @@ -0,0 +1,71 @@ +// Copyright(c) 2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef SYM_FILE_H +#define SYM_FILE_H + +#include +#include +#include +#include "ramscrgen.h" + +enum class Directive +{ + Include, + Space, + Align, + Unknown +}; + +class SymFile +{ +public: + SymFile(std::string filename); + SymFile(SymFile&& other); + SymFile(const SymFile&) = delete; + ~SymFile(); + Directive GetDirective(); + std::string GetLabel(bool requireColon = true); + std::string ReadPath(); + bool ReadInteger(unsigned long& value); + void ExpectEmptyRestOfLine(); + void SkipLine(); + bool IsAtEnd(); + void HandleLangConditional(std::string lang); + void RaiseError(const char* format, ...); + void RaiseWarning(const char* format, ...); + +private: + char* m_buffer; + long m_pos; + long m_size; + long m_lineNum; + long m_lineStart; + std::string m_filename; + bool m_inLangConditional; + + bool ConsumeComma(); + void RemoveComments(); + bool CheckForDirective(std::string name); + void SkipWhitespace(); + void ReportDiagnostic(const char* type, const char* format, std::va_list args); +}; + +#endif // SYM_FILE_H diff --git a/tools/rsfont/.gitignore b/tools/rsfont/.gitignore new file mode 100644 index 0000000000..3140ececc1 --- /dev/null +++ b/tools/rsfont/.gitignore @@ -0,0 +1 @@ +rsfont diff --git a/tools/rsfont/LICENSE b/tools/rsfont/LICENSE new file mode 100644 index 0000000000..b497950c1e --- /dev/null +++ b/tools/rsfont/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2015-2016 YamaArashi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/tools/rsfont/Makefile b/tools/rsfont/Makefile new file mode 100644 index 0000000000..a78beca505 --- /dev/null +++ b/tools/rsfont/Makefile @@ -0,0 +1,15 @@ +CC = gcc + +CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -s -DPNG_SKIP_SETJMP_CHECK + +LIBS = -lpng -lz + +SRCS = main.c convert_png.c util.c font.c + +.PHONY: clean + +rsfont: $(SRCS) convert_png.h gfx.h global.h util.h font.h + $(CC) $(CFLAGS) $(SRCS) -o $@ $(LDFLAGS) $(LIBS) + +clean: + $(RM) rsfont rsfont.exe diff --git a/tools/rsfont/convert_png.c b/tools/rsfont/convert_png.c new file mode 100644 index 0000000000..f6a30804a9 --- /dev/null +++ b/tools/rsfont/convert_png.c @@ -0,0 +1,169 @@ +// Copyright (c) 2015 YamaArashi + +#include +#include +#include +#include "global.h" +#include "convert_png.h" +#include "gfx.h" + +void ReadPng(char *path, struct Image *image) +{ + FILE *fp = fopen(path, "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for reading.\n", path); + + unsigned char sig[8]; + + if (fread(sig, 8, 1, fp) != 1) + FATAL_ERROR("Failed to read PNG signature from \"%s\".\n", path); + + if (png_sig_cmp(sig, 0, 8)) + FATAL_ERROR("\"%s\" does not have a valid PNG signature.\n", path); + + png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + + if (!png_ptr) + FATAL_ERROR("Failed to create PNG read struct.\n"); + + png_infop info_ptr = png_create_info_struct(png_ptr); + + if (!info_ptr) + FATAL_ERROR("Failed to create PNG info struct.\n"); + + if (setjmp(png_jmpbuf(png_ptr))) + FATAL_ERROR("Failed to init I/O for reading \"%s\".\n", path); + + png_init_io(png_ptr, fp); + png_set_sig_bytes(png_ptr, 8); + png_read_info(png_ptr, info_ptr); + + int bit_depth = png_get_bit_depth(png_ptr, info_ptr); + + if (bit_depth != image->bitDepth) + FATAL_ERROR("\"%s\" has a bit depth of %d, but the expected bit depth is %d.\n", path, bit_depth, image->bitDepth); + + int color_type = png_get_color_type(png_ptr, info_ptr); + + if (color_type != PNG_COLOR_TYPE_GRAY && color_type != PNG_COLOR_TYPE_PALETTE) + FATAL_ERROR("\"%s\" has an unsupported color type.\n", path); + + // Check if the image has a palette so that we can tell if the colors need to be inverted later. + // Don't read the palette because it's not needed for now. + image->hasPalette = (color_type == PNG_COLOR_TYPE_PALETTE); + + image->width = png_get_image_width(png_ptr, info_ptr); + image->height = png_get_image_height(png_ptr, info_ptr); + + int rowbytes = png_get_rowbytes(png_ptr, info_ptr); + + image->pixels = malloc(image->height * rowbytes); + + if (image->pixels == NULL) + FATAL_ERROR("Failed to allocate pixel buffer.\n"); + + png_bytepp row_pointers = malloc(image->height * sizeof(png_bytep)); + + if (row_pointers == NULL) + FATAL_ERROR("Failed to allocate row pointers.\n"); + + for (int i = 0; i < image->height; i++) + row_pointers[i] = (png_bytep)(image->pixels + (i * rowbytes)); + + if (setjmp(png_jmpbuf(png_ptr))) + FATAL_ERROR("Error reading from \"%s\".\n", path); + + png_read_image(png_ptr, row_pointers); + + png_destroy_read_struct(&png_ptr, &info_ptr, NULL); + + free(row_pointers); + fclose(fp); +} + +void SetPngPalette(png_structp png_ptr, png_infop info_ptr, struct Palette *palette) +{ + png_colorp colors = malloc(palette->numColors * sizeof(png_color)); + + if (colors == NULL) + FATAL_ERROR("Failed to allocate PNG palette.\n"); + + for (int i = 0; i < palette->numColors; i++) { + colors[i].red = palette->colors[i].red; + colors[i].green = palette->colors[i].green; + colors[i].blue = palette->colors[i].blue; + } + + png_set_PLTE(png_ptr, info_ptr, colors, palette->numColors); + + free(colors); +} + +void WritePng(char *path, struct Image *image) +{ + FILE *fp = fopen(path, "wb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for writing.\n", path); + + png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + + if (!png_ptr) + FATAL_ERROR("Failed to create PNG write struct.\n"); + + png_infop info_ptr = png_create_info_struct(png_ptr); + + if (!info_ptr) + FATAL_ERROR("Failed to create PNG info struct.\n"); + + if (setjmp(png_jmpbuf(png_ptr))) + FATAL_ERROR("Failed to init I/O for writing \"%s\".\n", path); + + png_init_io(png_ptr, fp); + + if (setjmp(png_jmpbuf(png_ptr))) + FATAL_ERROR("Error writing header for \"%s\".\n", path); + + int color_type = image->hasPalette ? PNG_COLOR_TYPE_PALETTE : PNG_COLOR_TYPE_GRAY; + + png_set_IHDR(png_ptr, info_ptr, image->width, image->height, + image->bitDepth, color_type, PNG_INTERLACE_NONE, + PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE); + + if (image->hasPalette) { + SetPngPalette(png_ptr, info_ptr, &image->palette); + + if (image->hasTransparency) { + png_byte trans = 0; + png_set_tRNS(png_ptr, info_ptr, &trans, 1, 0); + } + } + + png_write_info(png_ptr, info_ptr); + + png_bytepp row_pointers = malloc(image->height * sizeof(png_bytep)); + + if (row_pointers == NULL) + FATAL_ERROR("Failed to allocate row pointers.\n"); + + int rowbytes = png_get_rowbytes(png_ptr, info_ptr); + + for (int i = 0; i < image->height; i++) + row_pointers[i] = (png_bytep)(image->pixels + (i * rowbytes)); + + if (setjmp(png_jmpbuf(png_ptr))) + FATAL_ERROR("Error writing \"%s\".\n", path); + + png_write_image(png_ptr, row_pointers); + + if (setjmp(png_jmpbuf(png_ptr))) + FATAL_ERROR("Error ending write of \"%s\".\n", path); + + png_write_end(png_ptr, NULL); + + fclose(fp); + + png_destroy_write_struct(&png_ptr, &info_ptr); + free(row_pointers); +} diff --git a/tools/rsfont/convert_png.h b/tools/rsfont/convert_png.h new file mode 100644 index 0000000000..55d3d69426 --- /dev/null +++ b/tools/rsfont/convert_png.h @@ -0,0 +1,11 @@ +// Copyright (c) 2015 YamaArashi + +#ifndef CONVERT_PNG_H +#define CONVERT_PNG_H + +#include "gfx.h" + +void ReadPng(char *path, struct Image *image); +void WritePng(char *path, struct Image *image); + +#endif // CONVERT_PNG_H diff --git a/tools/rsfont/font.c b/tools/rsfont/font.c new file mode 100644 index 0000000000..ed48b31e6f --- /dev/null +++ b/tools/rsfont/font.c @@ -0,0 +1,455 @@ +// Copyright(c) 2015-2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include +#include +#include +#include +#include "global.h" +#include "font.h" +#include "gfx.h" +#include "util.h" + +unsigned char gFontPalette[][3] = +{ + {0xFF, 0xFF, 0xFF}, // bg (white) + {0x38, 0x38, 0x38}, // fg (dark grey) + {0xD8, 0xD8, 0xD8}, // shadow (light grey) +}; + +void ConvertFromTiles1Bpp(unsigned char *src, unsigned char *dest, int numGlyphs, int layout) +{ + for (int glyph = 0; glyph < numGlyphs; glyph++) + { + if (layout == 0) + { + for (int i = 0; i < 8; i++) + { + uint8_t srcRow = src[(glyph * 8) + i]; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 8) + i; + dest[(y * 128) + x] = (srcRow >> (7 - j)) & 1; + } + } + } + else + { + // layout type 1 + + int tile1Offset = glyph * 16; + int tile2Offset = tile1Offset + 8; + + for (int i = 0; i < 8; i++) + { + uint8_t srcRow = src[tile1Offset + i]; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 16) + i; + dest[(y * 128) + x] = (srcRow >> (7 - j)) & 1; + } + } + + for (int i = 0; i < 8; i++) + { + uint8_t srcRow = src[tile2Offset + i]; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 16) + 8 + i; + dest[(y * 128) + x] = (srcRow >> (7 - j)) & 1; + } + } + } + } +} + +void ConvertToTiles1Bpp(unsigned char *src, unsigned char *dest, int numGlyphs, int layout) +{ + for (int glyph = 0; glyph < numGlyphs; glyph++) + { + if (layout == 0) + { + for (int i = 0; i < 8; i++) + { + uint8_t destRow = 0; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 8) + i; + unsigned char color = src[(y * 128) + x]; + + if (color > 1) + FATAL_ERROR("More than 2 colors in 1 BPP font.\n"); + + destRow <<= 1; + destRow |= color; + } + + dest[(glyph * 8) + i] = destRow; + } + } + else + { + // layout type 1 + + int tile1Offset = glyph * 16; + int tile2Offset = tile1Offset + 8; + + for (int i = 0; i < 8; i++) + { + uint8_t destRow = 0; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 16) + i; + unsigned char color = src[(y * 128) + x]; + + if (color > 1) + FATAL_ERROR("More than 2 colors in 1 BPP font.\n"); + + destRow <<= 1; + destRow |= color; + } + + dest[tile1Offset + i] = destRow; + } + + for (int i = 0; i < 8; i++) + { + uint8_t destRow = 0; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 16) + 8 + i; + unsigned char color = src[(y * 128) + x]; + + if (color > 1) + FATAL_ERROR("More than 2 colors in 1 BPP font.\n"); + + destRow <<= 1; + destRow |= color; + } + + dest[tile2Offset + i] = destRow; + } + } + } +} + +void ConvertFromTiles4Bpp(unsigned char *src, unsigned char *dest, int numGlyphs, int layout) +{ + static unsigned char table[16] = + { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, + }; + + for (int glyph = 0; glyph < numGlyphs; glyph++) + { + if (layout == 0) + { + int offset = glyph * 32; + + for (int i = 0; i < 8; i++) + { + uint32_t srcRow = (src[offset + 3] << 24) + | (src[offset + 2] << 16) + | (src[offset + 1] << 8) + | src[offset]; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 8) + i; + dest[(y * 128) + x] = table[srcRow & 0xF]; + srcRow >>= 4; + } + + offset += 4; + } + } + else + { + int tile1Offset; + int tile2Offset; + + if (layout == 1) + { + tile1Offset = glyph * 64; + tile2Offset = tile1Offset + 32; + } + else + { + tile1Offset = ((glyph / 16) * 1024) + ((glyph % 16) * 32); + tile2Offset = tile1Offset + 512; + } + + for (int i = 0; i < 8; i++) + { + uint32_t srcRow = (src[tile1Offset + 3] << 24) + | (src[tile1Offset + 2] << 16) + | (src[tile1Offset + 1] << 8) + | src[tile1Offset]; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 16) + i; + dest[(y * 128) + x] = table[srcRow & 0xF]; + srcRow >>= 4; + } + + tile1Offset += 4; + } + + for (int i = 0; i < 8; i++) + { + uint32_t srcRow = (src[tile2Offset + 3] << 24) + | (src[tile2Offset + 2] << 16) + | (src[tile2Offset + 1] << 8) + | src[tile2Offset]; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 16) + 8 + i; + dest[(y * 128) + x] = table[srcRow & 0xF]; + srcRow >>= 4; + } + + tile2Offset += 4; + } + } + } +} + +void ConvertToTiles4Bpp(unsigned char *src, unsigned char *dest, int numGlyphs, int layout) +{ + static unsigned char table[3] = + { + 0, 15, 14, + }; + + for (int glyph = 0; glyph < numGlyphs; glyph++) + { + if (layout == 0) + { + int offset = glyph * 32; + + for (int i = 0; i < 8; i++) + { + uint32_t destRow = 0; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 8) + i; + unsigned char color = src[(y * 128) + x]; + + if (color > 2) + FATAL_ERROR("More than 3 colors in 4 BPP font.\n"); + + destRow >>= 4; + destRow |= (table[color] << 28); + } + + dest[offset] = destRow & 0xFF; + dest[offset + 1] = (destRow >> 8) & 0xFF; + dest[offset + 2] = (destRow >> 16) & 0xFF; + dest[offset + 3] = (destRow >> 24) & 0xFF; + + offset += 4; + } + } + else + { + int tile1Offset; + int tile2Offset; + + if (layout == 1) + { + tile1Offset = glyph * 64; + tile2Offset = tile1Offset + 32; + } + else + { + tile1Offset = ((glyph / 16) * 1024) + ((glyph % 16) * 32); + tile2Offset = tile1Offset + 512; + } + + for (int i = 0; i < 8; i++) + { + uint32_t destRow = 0; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 16) + i; + unsigned char color = src[(y * 128) + x]; + + if (color > 2) + FATAL_ERROR("More than 3 colors in 4 BPP font.\n"); + + destRow >>= 4; + destRow |= (table[color] << 28); + } + + dest[tile1Offset] = destRow & 0xFF; + dest[tile1Offset + 1] = (destRow >> 8) & 0xFF; + dest[tile1Offset + 2] = (destRow >> 16) & 0xFF; + dest[tile1Offset + 3] = (destRow >> 24) & 0xFF; + + tile1Offset += 4; + } + + for (int i = 0; i < 8; i++) + { + uint32_t destRow = 0; + + for (int j = 0; j < 8; j++) + { + int x = ((glyph % 16) * 8) + j; + int y = ((glyph / 16) * 16) + 8 + i; + unsigned char color = src[(y * 128) + x]; + + if (color > 2) + FATAL_ERROR("More than 3 colors in 4 BPP font.\n"); + + destRow >>= 4; + destRow |= (table[color] << 28); + } + + dest[tile2Offset] = destRow & 0xFF; + dest[tile2Offset + 1] = (destRow >> 8) & 0xFF; + dest[tile2Offset + 2] = (destRow >> 16) & 0xFF; + dest[tile2Offset + 3] = (destRow >> 24) & 0xFF; + + tile2Offset += 4; + } + } + } +} + +static void SetFontPalette(struct Image *image) +{ + image->hasPalette = true; + + image->palette.numColors = 3; + + for (int i = 0; i < image->palette.numColors; i++) + { + image->palette.colors[i].red = gFontPalette[i][0]; + image->palette.colors[i].green = gFontPalette[i][1]; + image->palette.colors[i].blue = gFontPalette[i][2]; + } + + image->hasTransparency = false; +} + +int CalcFileSize(int numGlyphs, int bpp, int layout) +{ + if (layout == 2) + { + // assume 4 BPP + int numFullRows = numGlyphs / 16; + int remainder = numGlyphs % 16; + int fullRowsSize = numFullRows * 1024; + int remainderSize = 0; + + if (remainder != 0) + remainderSize = 1024 - (16 - remainder) * 32; + + return fullRowsSize + remainderSize; + } + else + { + int tilesPerGlyph = layout > 0 ? 2 : 1; + int bytesPerTile = 8 * bpp; + return numGlyphs * tilesPerGlyph * bytesPerTile; + } +} + +void ReadFont(char *path, struct Image *image, int numGlyphs, int bpp, int layout) +{ + int fileSize; + unsigned char *buffer = ReadWholeFile(path, &fileSize); + + int expectedFileSize = CalcFileSize(numGlyphs, bpp, layout); + + if (fileSize != expectedFileSize) + FATAL_ERROR("The file size is %d but should be %d.\n", fileSize, expectedFileSize); + + int numRows = (numGlyphs + 15) / 16; + int rowHeight = layout > 0 ? 16 : 8; + + image->width = 128; + image->height = numRows * rowHeight; + image->bitDepth = 8; + image->pixels = calloc(image->width * image->height, 1); + + if (image->pixels == NULL) + FATAL_ERROR("Failed to allocate memory for font.\n"); + + if (bpp == 1) + ConvertFromTiles1Bpp(buffer, image->pixels, numGlyphs, layout); + else + ConvertFromTiles4Bpp(buffer, image->pixels, numGlyphs, layout); + + free(buffer); + + SetFontPalette(image); +} + +void WriteFont(char *path, struct Image *image, int numGlyphs, int bpp, int layout) +{ + if (image->width != 128) + FATAL_ERROR("The width of the font image (%d) is not 128.\n", image->width); + + int numRows = (numGlyphs + 15) / 16; + int rowHeight = layout > 0 ? 16 : 8; + int expectedHeight = numRows * rowHeight; + + if (image->height < expectedHeight) + FATAL_ERROR("The height of the font image (%d) is less than %d.\n", image->height, expectedHeight); + + int fileSize = CalcFileSize(numGlyphs, bpp, layout); + + unsigned char *buffer = calloc(fileSize, 1); + + if (buffer == NULL) + FATAL_ERROR("Failed to allocate memory for font.\n"); + + if (bpp == 1) + ConvertToTiles1Bpp(image->pixels, buffer, numGlyphs, layout); + else + ConvertToTiles4Bpp(image->pixels, buffer, numGlyphs, layout); + + WriteWholeFile(path, buffer, fileSize); + + free(buffer); +} diff --git a/tools/rsfont/font.h b/tools/rsfont/font.h new file mode 100644 index 0000000000..1cd48757f1 --- /dev/null +++ b/tools/rsfont/font.h @@ -0,0 +1,30 @@ +// Copyright(c) 2015-2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef FONT_H +#define FONT_H + +#include +#include "gfx.h" + +void ReadFont(char *path, struct Image *image, int numGlyphs, int bpp, int layout); +void WriteFont(char *path, struct Image *image, int numGlyphs, int bpp, int layout); + +#endif // FONT_H diff --git a/tools/rsfont/gfx.h b/tools/rsfont/gfx.h new file mode 100644 index 0000000000..04a3d80c7e --- /dev/null +++ b/tools/rsfont/gfx.h @@ -0,0 +1,50 @@ +// Copyright(c) 2015-2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef GFX_H +#define GFX_H + +#include +#include + +struct Color +{ + unsigned char red; + unsigned char green; + unsigned char blue; +}; + +struct Palette +{ + struct Color colors[256]; + int numColors; +}; + +struct Image { + int width; + int height; + int bitDepth; + unsigned char *pixels; + bool hasPalette; + struct Palette palette; + bool hasTransparency; +}; + +#endif // GFX_H diff --git a/tools/rsfont/global.h b/tools/rsfont/global.h new file mode 100644 index 0000000000..65dd351d21 --- /dev/null +++ b/tools/rsfont/global.h @@ -0,0 +1,31 @@ +// Copyright (c) 2015 YamaArashi + +#ifndef GLOBAL_H +#define GLOBAL_H + +#include +#include + +#ifdef _MSC_VER + +#define FATAL_ERROR(format, ...) \ +do { \ + fprintf(stderr, format, __VA_ARGS__); \ + exit(1); \ +} while (0) + +#define UNUSED + +#else + +#define FATAL_ERROR(format, ...) \ +do { \ + fprintf(stderr, format, ##__VA_ARGS__); \ + exit(1); \ +} while (0) + +#define UNUSED __attribute__((__unused__)) + +#endif // _MSC_VER + +#endif // GLOBAL_H diff --git a/tools/rsfont/main.c b/tools/rsfont/main.c new file mode 100644 index 0000000000..2f5d9d971b --- /dev/null +++ b/tools/rsfont/main.c @@ -0,0 +1,93 @@ +// Copyright(c) 2015-2016 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include +#include +#include +#include "global.h" +#include "util.h" +#include "gfx.h" +#include "convert_png.h" +#include "font.h" + +int ExtensionToBpp(const char *extension) +{ + if (!strcmp(extension, "1bpp")) + return 1; + else if (!strcmp(extension, "4bpp")) + return 4; + return 0; +} + +int main(int argc, char **argv) +{ + if (argc < 5) + FATAL_ERROR("Usage: rsfont INPUT_FILE OUTPUT_FILE NUM_GLYPHS LAYOUT_TYPE\n"); + + char *inputPath = argv[1]; + char *outputPath = argv[2]; + char *inputFileExtension = GetFileExtension(inputPath); + char *outputFileExtension = GetFileExtension(outputPath); + + if (inputFileExtension == NULL) + FATAL_ERROR("Input file \"%s\" has no extension.\n", inputPath); + + if (outputFileExtension == NULL) + FATAL_ERROR("Output file \"%s\" has no extension.\n", outputPath); + + int numGlyphs; + int bpp; + int layout; + + if (!ParseNumber(argv[3], NULL, 10, &numGlyphs)) + FATAL_ERROR("Failed to parse number of glyphs.\n"); + + if (!ParseNumber(argv[4], NULL, 10, &layout)) + FATAL_ERROR("Failed to parse layout type.\n"); + + if (layout < 0 || layout > 2) + FATAL_ERROR("Layout type %d is invalid. Layout type must be 0, 1, or 2.\n", layout); + + bool toPng; + + if (!strcmp(inputFileExtension, "png") && (bpp = ExtensionToBpp(outputFileExtension)) != 0) + toPng = false; + else if ((bpp = ExtensionToBpp(inputFileExtension)) != 0 && !strcmp(outputFileExtension, "png")) + toPng = true; + else + FATAL_ERROR("Don't know how to convert \"%s\" to \"%s\".\n", inputPath, outputPath); + + if (bpp == 1 && layout == 2) + FATAL_ERROR("Layout type 2 is not supported with 1 BPP fonts.\n"); + + struct Image image; + + if (toPng) + { + ReadFont(inputPath, &image, numGlyphs, bpp, layout); + WritePng(outputPath, &image); + } + else + { + image.bitDepth = 8; + ReadPng(inputPath, &image); + WriteFont(outputPath, &image, numGlyphs, bpp, layout); + } +} diff --git a/tools/rsfont/util.c b/tools/rsfont/util.c new file mode 100644 index 0000000000..87abeb31c4 --- /dev/null +++ b/tools/rsfont/util.c @@ -0,0 +1,124 @@ +// Copyright (c) 2015 YamaArashi + +#include +#include +#include +#include +#include +#include +#include "global.h" +#include "util.h" + +bool ParseNumber(char *s, char **end, int radix, int *intValue) +{ + char *localEnd; + + if (end == NULL) + end = &localEnd; + + errno = 0; + + const long longValue = strtol(s, end, radix); + + if (*end == s) + return false; // not a number + + if ((longValue == LONG_MIN || longValue == LONG_MAX) && errno == ERANGE) + return false; + + if (longValue > INT_MAX) + return false; + + if (longValue < INT_MIN) + return false; + + *intValue = (int)longValue; + + return true; +} + +char *GetFileExtension(char *path) +{ + char *extension = path; + + while (*extension != 0) + extension++; + + while (extension > path && *extension != '.') + extension--; + + if (extension == path) + return NULL; + + extension++; + + if (*extension == 0) + return NULL; + + return extension; +} + +unsigned char *ReadWholeFile(char *path, int *size) +{ + FILE *fp = fopen(path, "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for reading.\n", path); + + fseek(fp, 0, SEEK_END); + + *size = ftell(fp); + + unsigned char *buffer = malloc(*size); + + if (buffer == NULL) + FATAL_ERROR("Failed to allocate memory for reading \"%s\".\n", path); + + rewind(fp); + + if (fread(buffer, *size, 1, fp) != 1) + FATAL_ERROR("Failed to read \"%s\".\n", path); + + fclose(fp); + + return buffer; +} + +unsigned char *ReadWholeFileZeroPadded(char *path, int *size, int padAmount) +{ + FILE *fp = fopen(path, "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for reading.\n", path); + + fseek(fp, 0, SEEK_END); + + *size = ftell(fp); + + unsigned char *buffer = calloc(*size + padAmount, 1); + + if (buffer == NULL) + FATAL_ERROR("Failed to allocate memory for reading \"%s\".\n", path); + + rewind(fp); + + if (fread(buffer, *size, 1, fp) != 1) + FATAL_ERROR("Failed to read \"%s\".\n", path); + + fclose(fp); + + return buffer; +} + +void WriteWholeFile(char *path, void *buffer, int bufferSize) +{ + FILE *fp = fopen(path, "wb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for writing.\n", path); + + if (fwrite(buffer, bufferSize, 1, fp) != 1) + FATAL_ERROR("Failed to write to \"%s\".\n", path); + + fclose(fp); +} diff --git a/tools/rsfont/util.h b/tools/rsfont/util.h new file mode 100644 index 0000000000..6d7a9c21eb --- /dev/null +++ b/tools/rsfont/util.h @@ -0,0 +1,14 @@ +// Copyright (c) 2015 YamaArashi + +#ifndef UTIL_H +#define UTIL_H + +#include + +bool ParseNumber(char *s, char **end, int radix, int *intValue); +char *GetFileExtension(char *path); +unsigned char *ReadWholeFile(char *path, int *size); +unsigned char *ReadWholeFileZeroPadded(char *path, int *size, int padAmount); +void WriteWholeFile(char *path, void *buffer, int bufferSize); + +#endif // UTIL_H diff --git a/tools/scaninc/.gitignore b/tools/scaninc/.gitignore new file mode 100644 index 0000000000..94bfbf989a --- /dev/null +++ b/tools/scaninc/.gitignore @@ -0,0 +1 @@ +scaninc diff --git a/tools/scaninc/LICENSE b/tools/scaninc/LICENSE new file mode 100644 index 0000000000..b66bf81c0f --- /dev/null +++ b/tools/scaninc/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2015 YamaArashi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/tools/scaninc/Makefile b/tools/scaninc/Makefile new file mode 100644 index 0000000000..3e1c031a88 --- /dev/null +++ b/tools/scaninc/Makefile @@ -0,0 +1,15 @@ +CXX = g++ + +CXXFLAGS = -Wall -Werror -std=c++11 -O2 -s + +SRCS = scaninc.cpp c_file.cpp asm_file.cpp + +HEADERS := scaninc.h asm_file.h c_file.h + +.PHONY: clean + +scaninc: $(SRCS) $(HEADERS) + $(CXX) $(CXXFLAGS) $(SRCS) -o $@ $(LDFLAGS) + +clean: + $(RM) scaninc scaninc.exe diff --git a/tools/scaninc/asm_file.cpp b/tools/scaninc/asm_file.cpp new file mode 100644 index 0000000000..6322749e20 --- /dev/null +++ b/tools/scaninc/asm_file.cpp @@ -0,0 +1,191 @@ +// Copyright(c) 2015-2017 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include +#include +#include "scaninc.h" +#include "asm_file.h" + +AsmFile::AsmFile(std::string path) +{ + m_path = path; + + FILE *fp = std::fopen(path.c_str(), "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for reading.\n", path.c_str()); + + std::fseek(fp, 0, SEEK_END); + + m_size = std::ftell(fp); + + m_buffer = new char[m_size]; + + std::rewind(fp); + + if (std::fread(m_buffer, m_size, 1, fp) != 1) + FATAL_ERROR("Failed to read \"%s\".\n", path.c_str()); + + std::fclose(fp); + + m_pos = 0; + m_lineNum = 1; +} + +AsmFile::~AsmFile() +{ + delete[] m_buffer; +} + +IncDirectiveType AsmFile::ReadUntilIncDirective(std::string &path) +{ + // At the beginning of each loop iteration, the current file position + // should be at the start of a line or at the end of the file. + for (;;) + { + SkipTabsAndSpaces(); + + IncDirectiveType incDirectiveType = IncDirectiveType::None; + + if (PeekChar() == '.') + { + m_pos++; + + if (MatchIncDirective("incbin", path)) + incDirectiveType = IncDirectiveType::Incbin; + else if (MatchIncDirective("include", path)) + incDirectiveType = IncDirectiveType::Include; + } + + for (;;) + { + int c = GetChar(); + + if (c == -1) + return incDirectiveType; + + if (c == ';') + { + SkipEndOfLineComment(); + break; + } + else if (c == '/' && PeekChar() == '*') + { + m_pos++; + SkipMultiLineComment(); + } + else if (c == '"') + { + SkipString(); + } + else if (c == '\n') + { + break; + } + } + + if (incDirectiveType != IncDirectiveType::None) + return incDirectiveType; + } +} + +std::string AsmFile::ReadPath() +{ + int length = 0; + int startPos = m_pos; + + for (;;) + { + int c = GetChar(); + + if (c == '"') + break; + + if (c == -1) + FATAL_INPUT_ERROR("unexpected EOF in include string\n"); + + if (c == 0) + FATAL_INPUT_ERROR("unexpected NUL character in include string\n"); + + if (c == '\n') + FATAL_INPUT_ERROR("unexpected end of line character in include string\n"); + + // Don't bother allowing any escape sequences. + if (c == '\\') + FATAL_INPUT_ERROR("unexpected escape in include string\n"); + + length++; + + if (length > SCANINC_MAX_PATH) + FATAL_INPUT_ERROR("path is too long"); + } + + return std::string(m_buffer + startPos, length); +} + +void AsmFile::SkipEndOfLineComment() +{ + int c; + + do + { + c = GetChar(); + } while (c != -1 && c != '\n'); +} + +void AsmFile::SkipMultiLineComment() +{ + for (;;) + { + int c = GetChar(); + + if (c == '*') + { + if (PeekChar() == '/') + { + m_pos++; + return; + } + } + else if (c == -1) + { + return; + } + } +} + +void AsmFile::SkipString() +{ + for (;;) + { + int c = GetChar(); + + if (c == '"') + break; + + if (c == -1) + FATAL_INPUT_ERROR("unexpected EOF in string\n"); + + if (c == '\\') + { + c = GetChar(); + } + } +} diff --git a/tools/scaninc/asm_file.h b/tools/scaninc/asm_file.h new file mode 100644 index 0000000000..ad99b757ee --- /dev/null +++ b/tools/scaninc/asm_file.h @@ -0,0 +1,119 @@ +// Copyright(c) 2015-2017 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef ASM_FILE_H +#define ASM_FILE_H + +#include +#include "scaninc.h" + +enum class IncDirectiveType +{ + None, + Include, + Incbin +}; + +class AsmFile +{ +public: + AsmFile(std::string path); + ~AsmFile(); + IncDirectiveType ReadUntilIncDirective(std::string& path); + +private: + char *m_buffer; + int m_pos; + int m_size; + int m_lineNum; + std::string m_path; + + int GetChar() + { + if (m_pos >= m_size) + return -1; + + int c = m_buffer[m_pos++]; + + if (c == '\r') + { + if (m_pos < m_size && m_buffer[m_pos++] == '\n') + { + m_lineNum++; + return '\n'; + } + else + { + FATAL_INPUT_ERROR("CR line endings are not supported\n"); + } + } + + if (c == '\n') + m_lineNum++; + + return c; + } + + // No newline translation because it's not needed for any use of this function. + int PeekChar() + { + if (m_pos >= m_size) + return -1; + + return m_buffer[m_pos]; + } + + void SkipTabsAndSpaces() + { + while (m_pos < m_size && (m_buffer[m_pos] == '\t' || m_buffer[m_pos] == ' ')) + m_pos++; + } + + bool MatchIncDirective(std::string directiveName, std::string& path) + { + int length = directiveName.length(); + int i; + + for (i = 0; i < length && m_pos + i < m_size; i++) + if (directiveName[i] != m_buffer[m_pos + i]) + return false; + + if (i < length) + return false; + + m_pos += length; + + SkipTabsAndSpaces(); + + if (GetChar() != '"') + FATAL_INPUT_ERROR("no path after \".%s\" directive\n", directiveName.c_str()); + + path = ReadPath(); + + return true; + } + + std::string ReadPath(); + void SkipEndOfLineComment(); + void SkipMultiLineComment(); + void SkipString(); +}; + +#endif // ASM_FILE_H diff --git a/tools/scaninc/c_file.cpp b/tools/scaninc/c_file.cpp new file mode 100644 index 0000000000..f7acc833fa --- /dev/null +++ b/tools/scaninc/c_file.cpp @@ -0,0 +1,298 @@ +// Copyright(c) 2017 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include "c_file.h" + +CFile::CFile(std::string path) +{ + m_path = path; + + FILE *fp = std::fopen(path.c_str(), "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for reading.\n", path.c_str()); + + std::fseek(fp, 0, SEEK_END); + + m_size = std::ftell(fp); + + m_buffer = new char[m_size + 1]; + m_buffer[m_size] = 0; + + std::rewind(fp); + + if (std::fread(m_buffer, m_size, 1, fp) != 1) + FATAL_ERROR("Failed to read \"%s\".\n", path.c_str()); + + std::fclose(fp); + + m_pos = 0; + m_lineNum = 1; +} + +CFile::~CFile() +{ + delete[] m_buffer; +} + +void CFile::FindIncbins() +{ + char stringChar = 0; + + while (m_pos < m_size) + { + if (stringChar) + { + if (m_buffer[m_pos] == stringChar) + { + m_pos++; + stringChar = 0; + } + else if (m_buffer[m_pos] == '\\' && m_buffer[m_pos + 1] == stringChar) + { + m_pos += 2; + } + else + { + if (m_buffer[m_pos] == '\n') + m_lineNum++; + m_pos++; + } + } + else + { + SkipWhitespace(); + CheckInclude(); + CheckIncbin(); + + if (m_pos >= m_size) + break; + + char c = m_buffer[m_pos++]; + + if (c == '\n') + m_lineNum++; + else if (c == '"') + stringChar = '"'; + else if (c == '\'') + stringChar = '\''; + else if (c == 0) + FATAL_INPUT_ERROR("unexpected null character"); + } + } +} + +bool CFile::ConsumeHorizontalWhitespace() +{ + if (m_buffer[m_pos] == '\t' || m_buffer[m_pos] == ' ') + { + m_pos++; + return true; + } + + return false; +} + +bool CFile::ConsumeNewline() +{ + if (m_buffer[m_pos] == '\n') + { + m_pos++; + m_lineNum++; + return true; + } + + if (m_buffer[m_pos] == '\r' && m_buffer[m_pos + 1] == '\n') + { + m_pos += 2; + m_lineNum++; + return true; + } + + return false; +} + +bool CFile::ConsumeComment() +{ + if (m_buffer[m_pos] == '/' && m_buffer[m_pos + 1] == '*') + { + m_pos += 2; + while (m_buffer[m_pos] != '*' && m_buffer[m_pos + 1] != '/') + { + if (m_buffer[m_pos] == 0) + return false; + if (!ConsumeNewline()) + m_pos++; + } + m_pos += 2; + return true; + } + else if (m_buffer[m_pos] == '/' && m_buffer[m_pos + 1] == '/') + { + m_pos += 2; + while (!ConsumeNewline()) + { + if (m_buffer[m_pos] == 0) + return false; + m_pos++; + } + return true; + } + + return false; +} + +void CFile::SkipWhitespace() +{ + while (ConsumeHorizontalWhitespace() || ConsumeNewline() || ConsumeComment()) + ; +} + +bool CFile::CheckIdentifier(const std::string& ident) +{ + unsigned int i; + + for (i = 0; i < ident.length() && m_pos + i < (unsigned)m_size; i++) + if (ident[i] != m_buffer[m_pos + i]) + return false; + + return (i == ident.length()); +} + +void CFile::CheckInclude() +{ + if (m_buffer[m_pos] != '#') + return; + + std::string ident = "#include"; + + if (!CheckIdentifier(ident)) + { + return; + } + + m_pos += ident.length(); + + ConsumeHorizontalWhitespace(); + + std::string path = ReadPath(); + + if (!path.empty()) { + m_includes.emplace(path); + } +} + +void CFile::CheckIncbin() +{ + // Optimization: assume most lines are not incbins + if (!(m_buffer[m_pos+0] == 'I' + && m_buffer[m_pos+1] == 'N' + && m_buffer[m_pos+2] == 'C' + && m_buffer[m_pos+3] == 'B' + && m_buffer[m_pos+4] == 'I' + && m_buffer[m_pos+5] == 'N' + && m_buffer[m_pos+6] == '_')) + { + return; + } + + std::string idents[6] = { "INCBIN_S8", "INCBIN_U8", "INCBIN_S16", "INCBIN_U16", "INCBIN_S32", "INCBIN_U32" }; + int incbinType = -1; + + for (int i = 0; i < 6; i++) + { + if (CheckIdentifier(idents[i])) + { + incbinType = i; + break; + } + } + + if (incbinType == -1) + return; + + long oldPos = m_pos; + long oldLineNum = m_lineNum; + + m_pos += idents[incbinType].length(); + + SkipWhitespace(); + + if (m_buffer[m_pos] != '(') + { + m_pos = oldPos; + m_lineNum = oldLineNum; + return; + } + + m_pos++; + + SkipWhitespace(); + + std::string path = ReadPath(); + + SkipWhitespace(); + + if (m_buffer[m_pos] != ')') + FATAL_INPUT_ERROR("expected ')'"); + + m_pos++; + + m_incbins.emplace(path); +} + +std::string CFile::ReadPath() +{ + if (m_buffer[m_pos] != '"') + { + if (m_buffer[m_pos] == '<') + { + return std::string(); + } + FATAL_INPUT_ERROR("expected '\"' or '<'"); + } + + m_pos++; + + int startPos = m_pos; + + while (m_buffer[m_pos] != '"') + { + if (m_buffer[m_pos] == 0) + { + if (m_pos >= m_size) + FATAL_INPUT_ERROR("unexpected EOF in path string"); + else + FATAL_INPUT_ERROR("unexpected null character in path string"); + } + + if (m_buffer[m_pos] == '\r' || m_buffer[m_pos] == '\n') + FATAL_INPUT_ERROR("unexpected end of line character in path string"); + + if (m_buffer[m_pos] == '\\') + FATAL_INPUT_ERROR("unexpected escape in path string"); + + m_pos++; + } + + m_pos++; + + return std::string(m_buffer + startPos, m_pos - 1 - startPos); +} diff --git a/tools/scaninc/c_file.h b/tools/scaninc/c_file.h new file mode 100644 index 0000000000..618901b855 --- /dev/null +++ b/tools/scaninc/c_file.h @@ -0,0 +1,57 @@ +// Copyright(c) 2017 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef C_FILE_H +#define C_FILE_H + +#include +#include +#include +#include "scaninc.h" + +class CFile +{ +public: + CFile(std::string path); + ~CFile(); + void FindIncbins(); + const std::set& GetIncbins() { return m_incbins; } + const std::set& GetIncludes() { return m_includes; } + +private: + char *m_buffer; + int m_pos; + int m_size; + int m_lineNum; + std::string m_path; + std::set m_incbins; + std::set m_includes; + + bool ConsumeHorizontalWhitespace(); + bool ConsumeNewline(); + bool ConsumeComment(); + void SkipWhitespace(); + bool CheckIdentifier(const std::string& ident); + void CheckInclude(); + void CheckIncbin(); + std::string ReadPath(); +}; + +#endif // C_FILE_H diff --git a/tools/scaninc/scaninc.cpp b/tools/scaninc/scaninc.cpp new file mode 100644 index 0000000000..3dc221479c --- /dev/null +++ b/tools/scaninc/scaninc.cpp @@ -0,0 +1,165 @@ +// Copyright(c) 2015-2017 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include +#include +#include +#include +#include +#include +#include "scaninc.h" +#include "asm_file.h" +#include "c_file.h" + +bool CanOpenFile(std::string path) +{ + FILE *fp = std::fopen(path.c_str(), "rb"); + + if (fp == NULL) + return false; + + std::fclose(fp); + return true; +} + +const char *const USAGE = "Usage: scaninc [-I INCLUDE_PATH] FILE_PATH\n"; + +int main(int argc, char **argv) +{ + std::queue filesToProcess; + std::set dependencies; + + std::list includeDirs; + + argc--; + argv++; + + while (argc > 1) + { + std::string arg(argv[0]); + if (arg.substr(0, 2) == "-I") + { + std::string includeDir = arg.substr(2); + if (includeDir.empty()) + { + argc--; + argv++; + includeDir = std::string(argv[0]); + } + if (includeDir.back() != '/') + { + includeDir += '/'; + } + includeDirs.push_back(includeDir); + } + else + { + FATAL_ERROR(USAGE); + } + argc--; + argv++; + } + + if (argc != 1) { + FATAL_ERROR(USAGE); + } + + std::string initialPath(argv[0]); + + std::size_t pos = initialPath.find_last_of('.'); + + if (pos == std::string::npos) + FATAL_ERROR("no file extension in path \"%s\"\n", initialPath.c_str()); + + std::string extension = initialPath.substr(pos + 1); + + std::string srcDir(""); + std::size_t slash = initialPath.rfind('/'); + if (slash != std::string::npos) + { + srcDir = initialPath.substr(0, slash + 1); + } + includeDirs.push_back(srcDir); + + if (extension == "c" || extension == "h") + { + filesToProcess.push(initialPath); + + while (!filesToProcess.empty()) + { + CFile file(filesToProcess.front()); + filesToProcess.pop(); + + file.FindIncbins(); + for (auto incbin : file.GetIncbins()) + { + dependencies.insert(incbin); + } + for (auto include : file.GetIncludes()) + { + for (auto includeDir : includeDirs) + { + std::string path(includeDir + include); + if (CanOpenFile(path)) + { + bool inserted = dependencies.insert(path).second; + if (inserted) + { + filesToProcess.push(path); + } + break; + } + } + } + } + } + else if (extension == "s" || extension == "inc") + { + filesToProcess.push(initialPath); + + while (!filesToProcess.empty()) + { + AsmFile file(filesToProcess.front()); + + filesToProcess.pop(); + + IncDirectiveType incDirectiveType; + std::string path; + + while ((incDirectiveType = file.ReadUntilIncDirective(path)) != IncDirectiveType::None) + { + bool inserted = dependencies.insert(path).second; + if (inserted + && incDirectiveType == IncDirectiveType::Include + && CanOpenFile(path)) + filesToProcess.push(path); + } + } + } + else + { + FATAL_ERROR("unknown extension \"%s\"\n", extension.c_str()); + } + + for (const std::string &path : dependencies) + { + std::printf("%s\n", path.c_str()); + } +} diff --git a/tools/scaninc/scaninc.h b/tools/scaninc/scaninc.h new file mode 100644 index 0000000000..30cc9611c1 --- /dev/null +++ b/tools/scaninc/scaninc.h @@ -0,0 +1,59 @@ +// Copyright(c) 2015-2017 YamaArashi +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef SCANINC_H +#define SCANINC_H + +#include +#include + +#ifdef _MSC_VER + +#define FATAL_INPUT_ERROR(format, ...) \ +do { \ + fprintf(stderr, "%s:%d " format, m_path.c_str(), m_lineNum, __VA_ARGS__); \ + exit(1); \ +} while (0) + +#define FATAL_ERROR(format, ...) \ +do { \ + fprintf(stderr, format, __VA_ARGS__); \ + exit(1); \ +} while (0) + +#else + +#define FATAL_INPUT_ERROR(format, ...) \ +do { \ + fprintf(stderr, "%s:%d " format, m_path.c_str(), m_lineNum, ##__VA_ARGS__); \ + exit(1); \ +} while (0) + +#define FATAL_ERROR(format, ...) \ +do { \ + fprintf(stderr, format, ##__VA_ARGS__); \ + exit(1); \ +} while (0) + +#endif // _MSC_VER + +#define SCANINC_MAX_PATH 255 + +#endif // SCANINC_H